diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 5ada5ca43..7a4e5ba70 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:22.04 +FROM --platform=linux/amd64 ubuntu:22.04 ARG DEBIAN_FRONTEND=noninteractive diff --git a/benchmarks/coreutils/gensym_posix/base32.ll b/benchmarks/coreutils/gensym_posix/base32.ll new file mode 100644 index 000000000..beee8568f --- /dev/null +++ b/benchmarks/coreutils/gensym_posix/base32.ll @@ -0,0 +1,33996 @@ +; ModuleID = '__uClibc_main.os' +source_filename = "libc/misc/internals/__uClibc_main.c" +target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" +target triple = "x86_64-unknown-linux-gnu" + +module asm ".section .gnu.warning.siggetmask" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.__fpending" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.gets" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.tmpnam" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.mktemp" +module asm "\09.previous" + +%struct.__uclibc_locale_struct.201 = type { i16*, i16*, i16*, [384 x i16], [384 x i16], [384 x i16], [14 x i8], [6 x i16], [6 x i8], i8, i8, [10 x i8], i8*, i8*, i8*, i8*, i8*, i16*, i8*, i8*, i16*, i8*, i8*, i16*, i32, i32, i32, i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__collate_t.200 } +%struct.__collate_t.200 = type { i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16*, i16*, i16*, i16*, i16*, i16*, i16*, i16*, i16*, i16 } +%struct.__STDIO_FILE_STRUCT.568 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.568*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__mbstate_t.512 = type { i32, i32 } +%struct.quoting_options = type { i32, i32, [8 x i32], i8*, i8* } +%struct.infomap = type { i8*, i8* } +%struct.option = type { i8*, i32, i32*, i32 } +%struct.slotvec = type { i64, i8* } +%struct.exe_file_t = type { i32, i32, i64, %struct.exe_disk_file_t* } +%struct.exe_disk_file_t = type { i32, i8*, %struct.stat64* } +%struct.stat64 = type { i64, i64, i64, i32, i32, i32, i32, i64, i64, i64, i64, %struct.timespec, %struct.timespec, %struct.timespec, [3 x i64] } +%struct.timespec = type { i64, i64 } +%struct.exe_file_system_t = type { i32, %struct.exe_disk_file_t*, %struct.exe_disk_file_t*, i32, %struct.exe_disk_file_t*, i32, i32*, i32*, i32*, i32*, i32*, i32*, i32* } +%struct.__locale_mmap_t.203 = type { [420 x i8], [504 x i8], [1760 x i16], [4528 x i8], [3604 x i8], [1680 x i8], [196 x i16], [51 x i8], [28 x i8], [1646 x i8], [28353 x i8], [1804 x i8], [23 x %struct.__codeset_8_bit_t.202], [20 x i8], [10 x i16], [20 x i16], [45 x i8], [3 x i16], [15 x i16], [3894 x i8], [22 x i16], [407 x i16], [8250 x i8], [50 x i16], [3429 x i16], [372 x i8], [4 x i16], [200 x i16], [91141 x i16], [6 x i8], [24 x i64], [2826 x i8], [835 x i8], [18 x i8], [69 x i8], [255 x i8] } +%struct.__codeset_8_bit_t.202 = type { [16 x i8], [16 x i8], [16 x i8], [38 x i8] } +%struct.utmp.323 = type { i16, i32, [32 x i8], [4 x i8], [32 x i8], [256 x i8], %struct.exit_status, i64, %struct.timespec, [4 x i32], [20 x i8] } +%struct.exit_status = type { i16, i16 } +%struct._getopt_data = type { i32, i32, i32, i8*, i32, i8*, i32, i32, i32, i32 } +%struct.exit_function = type { i64, %union.anon.772 } +%union.anon.772 = type { %struct.anon.0.771 } +%struct.anon.0.771 = type { void (i8*)*, i8*, i8* } +%struct.dirent64 = type { i64, i64, i16, i8, [256 x i8] } +%struct.__STDIO_FILE_STRUCT.590 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.590*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.592 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.592*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.608 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.608*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.621 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.621*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.636 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.636*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.Elf64_auxv_t = type { i64, %union.anon.193 } +%union.anon.193 = type { i64 } +%struct.stat.192 = type { i64, i64, i64, i32, i32, i32, i32, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, [3 x i64] } +%struct.__STDIO_FILE_STRUCT.513 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.513*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.exe_sym_env_t = type { [32 x %struct.exe_file_t], i32, i32, i32 } +%struct.__va_list_tag.0 = type { i32, i32, i8*, i8* } +%struct.termios = type { i32, i32, i32, i32, i8, [32 x i8], i32, i32 } +%struct.winsize = type { i16, i16, i16, i16 } +%struct.flock = type { i16, i16, i64, i64, i32 } +%struct.statfs = type { i64, i64, i64, i64, i64, i64, i64, %struct.__fsid_t, i64, i64, i64, [4 x i64] } +%struct.__fsid_t = type { [2 x i32] } +%struct.fd_set = type { [16 x i64] } +%struct.coldata_header_t = type { i16, i16, i16, i16, i16, i16, i16, i16 } +%struct.coldata_base_t = type { i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16 } +%struct._IO_FILE = type { i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct._IO_marker*, %struct._IO_FILE*, i32, i32, i64, i16, i8, [1 x i8], i8*, i64, %struct._IO_codecvt*, %struct._IO_wide_data*, %struct._IO_FILE*, i8*, i64, i32, [20 x i8] } +%struct._IO_marker = type opaque +%struct._IO_codecvt = type opaque +%struct._IO_wide_data = type opaque +%struct.base32_decode_context = type { i32, [8 x i8] } +%struct.__mbstate_t = type { i32, %union.anon } +%union.anon = type { i32 } +%struct.sigaction.800 = type { %union.anon.799, %struct.fd_set, i32, void ()* } +%union.anon.799 = type { void (i32)* } +%struct.tms = type { i64, i64, i64, i64 } +%struct.utmpx = type opaque +%struct.utmp = type { i16, i32, [32 x i8], [4 x i8], [32 x i8], [256 x i8], %struct.exit_status, i32, %struct.__mbstate_t.512, [4 x i32], [20 x i8] } +%struct.rusage = type { %struct.timespec, %struct.timespec, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193 } +%struct.siginfo_t = type { i32, i32, i32, i32, %union.anon.0 } +%union.anon.0 = type { %struct.anon.3, [80 x i8] } +%struct.anon.3 = type { i32, i32, i32, i64, i64 } +%struct.kernel_sigaction = type { void (i32)*, i64, void ()*, %struct.fd_set } +%struct.__jmp_buf_tag = type { [8 x i64], i32, %struct.fd_set } +%struct.__STDIO_FILE_STRUCT.519 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.519*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.612 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.612*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__kernel_termios = type { i32, i32, i32, i32, i8, [19 x i8] } +%struct.ppfs_t.722 = type { i8*, %struct.printf_info.720, i32, i32, i32, [4 x i8], [9 x i32], [1 x %struct.__va_list_tag.0], [9 x %union.anon.193] } +%struct.printf_info.720 = type { i32, i32, i32, i32, i32 } +%struct.anon.779 = type { void (i32, i8*)*, i8* } + +@__libc_stack_end = global i8* null, align 8 +@.str = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@__uclibc_progname = hidden global i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i32 0, i32 0), align 8 +@program_invocation_short_name = global i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i32 0, i32 0), align 8 +@program_invocation_name = global i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i32 0, i32 0), align 8 +@__environ = global i8** null, align 8 +@__pagesize = global i64 0, align 8 +@__uClibc_init.been_there_done_that = internal global i32 0, align 4 +@__app_fini = hidden global void ()* null, align 8 +@__rtld_fini = hidden global void ()* null, align 8 +@.str.1 = private unnamed_addr constant [10 x i8] c"/dev/null\00", align 1 +@llvm.used = appending global [5 x i8*] [i8* getelementptr inbounds ([57 x i8], [57 x i8]* @__evoke_link_warning_siggetmask, i32 0, i32 0), i8* getelementptr inbounds ([167 x i8], [167 x i8]* @__evoke_link_warning___fpending, i32 0, i32 0), i8* getelementptr inbounds ([57 x i8], [57 x i8]* @__evoke_link_warning_gets, i32 0, i32 0), i8* getelementptr inbounds ([55 x i8], [55 x i8]* @__evoke_link_warning_tmpnam, i32 0, i32 0), i8* getelementptr inbounds ([55 x i8], [55 x i8]* @__evoke_link_warning_mktemp, i32 0, i32 0)], section "llvm.metadata" +@__evoke_link_warning_siggetmask = internal constant [57 x i8] c"warning: `siggetmask' is obsolete; `sigprocmask' is best\00", section ".gnu.warning.siggetmask\0A#APP\0A\09#", align 16 +@__evoke_link_warning___fpending = internal constant [167 x i8] c"This version of __fpending returns bytes remaining in buffer for both narrow and wide streams. glibc's version returns wide chars in buffer for the wide stream case.\00", section ".gnu.warning.__fpending\0A#APP\0A\09#", align 16 +@__evoke_link_warning_gets = internal constant [57 x i8] c"the 'gets' function is dangerous and should not be used.\00", section ".gnu.warning.gets\0A#APP\0A\09#", align 16 +@__evoke_link_warning_tmpnam = internal constant [55 x i8] c"the use of `tmpnam' is dangerous, better use `mkstemp'\00", section ".gnu.warning.tmpnam\0A#APP\0A\09#", align 16 +@tmpnam_buffer = internal global [20 x i8] zeroinitializer, align 16 +@__evoke_link_warning_mktemp = internal constant [55 x i8] c"the use of `mktemp' is dangerous, better use `mkstemp'\00", section ".gnu.warning.mktemp\0A#APP\0A\09#", align 16 +@.str.4 = private unnamed_addr constant [77 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/fd.c\00", align 1 +@.str.27 = private unnamed_addr constant [37 x i8] c"ERROR: concretizing symbolic pointer\00", align 1 +@.str.28 = private unnamed_addr constant [9 x i8] c"user.err\00", align 1 +@.str.25 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@getcwd.n_calls = internal global i32 0, align 4 +@.str.5 = private unnamed_addr constant [46 x i8] c"Undefined call to open(): O_TRUNC | O_RDONLY\0A\00", align 1 +@.str.1.6 = private unnamed_addr constant [47 x i8] c"Undefined call to open(): O_EXCL w/o O_RDONLY\0A\00", align 1 +@.str.2 = private unnamed_addr constant [44 x i8] c"symbolic file descriptor, ignoring (ENOENT)\00", align 1 +@close.n_calls = internal global i32 0, align 4 +@read.n_calls = internal global i32 0, align 4 +@.str.3 = private unnamed_addr constant [12 x i8] c"f->off >= 0\00", align 1 +@__PRETTY_FUNCTION__.read = private unnamed_addr constant [34 x i8] c"ssize_t read(int, void *, size_t)\00", align 1 +@write.n_calls = internal global i32 0, align 4 +@.str.5.7 = private unnamed_addr constant [7 x i8] c"r >= 0\00", align 1 +@__PRETTY_FUNCTION__.write = private unnamed_addr constant [41 x i8] c"ssize_t write(int, const void *, size_t)\00", align 1 +@.str.6 = private unnamed_addr constant [2 x i8] c"0\00", align 1 +@.str.7 = private unnamed_addr constant [24 x i8] c"write() ignores bytes.\0A\00", align 1 +@.str.8 = private unnamed_addr constant [18 x i8] c"new_off == f->off\00", align 1 +@__PRETTY_FUNCTION__.__fd_lseek = private unnamed_addr constant [38 x i8] c"off64_t __fd_lseek(int, off64_t, int)\00", align 1 +@.str.9 = private unnamed_addr constant [33 x i8] c"symbolic file, ignoring (ENOENT)\00", align 1 +@chmod.n_calls = internal global i32 0, align 4 +@fchmod.n_calls = internal global i32 0, align 4 +@.str.26 = private unnamed_addr constant [32 x i8] c"symbolic file, ignoring (EPERM)\00", align 1 +@__fd_ftruncate.n_calls = internal global i32 0, align 4 +@.str.10 = private unnamed_addr constant [30 x i8] c"symbolic file, ignoring (EIO)\00", align 1 +@.str.11 = private unnamed_addr constant [33 x i8] c"symbolic file, ignoring (EINVAL)\00", align 1 +@.str.12 = private unnamed_addr constant [18 x i8] c"s != (off64_t) -1\00", align 1 +@__PRETTY_FUNCTION__.__fd_getdents = private unnamed_addr constant [65 x i8] c"int __fd_getdents(unsigned int, struct dirent64 *, unsigned int)\00", align 1 +@.str.13 = private unnamed_addr constant [22 x i8] c"f->off != (off64_t)-1\00", align 1 +@.str.14 = private unnamed_addr constant [41 x i8] c"(TCGETS) symbolic file, incomplete model\00", align 1 +@.str.15 = private unnamed_addr constant [42 x i8] c"(TCSETS) symbolic file, silently ignoring\00", align 1 +@.str.16 = private unnamed_addr constant [43 x i8] c"(TCSETSW) symbolic file, silently ignoring\00", align 1 +@.str.17 = private unnamed_addr constant [43 x i8] c"(TCSETSF) symbolic file, silently ignoring\00", align 1 +@.str.18 = private unnamed_addr constant [45 x i8] c"(TIOCGWINSZ) symbolic file, incomplete model\00", align 1 +@.str.19 = private unnamed_addr constant [46 x i8] c"(TIOCSWINSZ) symbolic file, ignoring (EINVAL)\00", align 1 +@.str.20 = private unnamed_addr constant [43 x i8] c"(FIONREAD) symbolic file, incomplete model\00", align 1 +@.str.21 = private unnamed_addr constant [44 x i8] c"(MTIOCGET) symbolic file, ignoring (EINVAL)\00", align 1 +@.str.22 = private unnamed_addr constant [32 x i8] c"symbolic file, ignoring (EBADF)\00", align 1 +@.str.23 = private unnamed_addr constant [17 x i8] c"ignoring (EPERM)\00", align 1 +@.str.24 = private unnamed_addr constant [18 x i8] c"ignoring (ENOENT)\00", align 1 +@__const.klee_init_env.sym_arg_name = private unnamed_addr constant [6 x i8] c"arg\00\00\00", align 1 +@.str.29 = private unnamed_addr constant [7 x i8] c"--help\00", align 1 +@.str.1.30 = private unnamed_addr constant [964 x i8] c"klee_init_env\0A\0Ausage: (klee_init_env) [options] [program arguments]\0A -sym-arg - Replace by a symbolic argument with length N\0A -sym-args - Replace by at least MIN arguments and at most\0A MAX arguments, each with maximum length N\0A -sym-files - Make NUM symbolic files ('A', 'B', 'C', etc.),\0A each with size N\0A -sym-stdin - Make stdin symbolic with size N.\0A -sym-stdout - Make stdout symbolic.\0A -save-all-writes - Allow write operations to execute as expected\0A even if they exceed the file size. If set to 0, all\0A writes exceeding the initial file size are discarded.\0A Note: file offset is always incremented.\0A -max-fail - Allow up to N injected failures\0A -fd-fail - Shortcut for '-max-fail 1'\0A\0A\00", align 1 +@.str.2.31 = private unnamed_addr constant [10 x i8] c"--sym-arg\00", align 1 +@.str.3.32 = private unnamed_addr constant [9 x i8] c"-sym-arg\00", align 1 +@.str.4.33 = private unnamed_addr constant [48 x i8] c"--sym-arg expects an integer argument \00", align 1 +@.str.5.34 = private unnamed_addr constant [45 x i8] c"No more than 100 symbolic arguments allowed.\00", align 1 +@.str.6.35 = private unnamed_addr constant [11 x i8] c"--sym-args\00", align 1 +@.str.7.36 = private unnamed_addr constant [10 x i8] c"-sym-args\00", align 1 +@.str.8.37 = private unnamed_addr constant [77 x i8] c"--sym-args expects three integer arguments \00", align 1 +@.str.9.38 = private unnamed_addr constant [28 x i8] c"Invalid range to --sym-args\00", align 1 +@.str.10.39 = private unnamed_addr constant [7 x i8] c"n_args\00", align 1 +@.str.11.40 = private unnamed_addr constant [12 x i8] c"--sym-files\00", align 1 +@.str.12.41 = private unnamed_addr constant [11 x i8] c"-sym-files\00", align 1 +@.str.13.42 = private unnamed_addr constant [72 x i8] c"--sym-files expects two integer arguments \00", align 1 +@.str.14.43 = private unnamed_addr constant [39 x i8] c"Multiple --sym-files are not allowed.\0A\00", align 1 +@.str.15.44 = private unnamed_addr constant [65 x i8] c"The first argument to --sym-files (number of files) cannot be 0\0A\00", align 1 +@.str.16.45 = private unnamed_addr constant [60 x i8] c"The second argument to --sym-files (file size) cannot be 0\0A\00", align 1 +@.str.17.46 = private unnamed_addr constant [12 x i8] c"--sym-stdin\00", align 1 +@.str.18.47 = private unnamed_addr constant [11 x i8] c"-sym-stdin\00", align 1 +@.str.19.48 = private unnamed_addr constant [57 x i8] c"--sym-stdin expects one integer argument \00", align 1 +@.str.20.49 = private unnamed_addr constant [13 x i8] c"--sym-stdout\00", align 1 +@.str.21.50 = private unnamed_addr constant [12 x i8] c"-sym-stdout\00", align 1 +@.str.22.51 = private unnamed_addr constant [18 x i8] c"--save-all-writes\00", align 1 +@.str.23.52 = private unnamed_addr constant [17 x i8] c"-save-all-writes\00", align 1 +@.str.24.53 = private unnamed_addr constant [10 x i8] c"--fd-fail\00", align 1 +@.str.25.54 = private unnamed_addr constant [9 x i8] c"-fd-fail\00", align 1 +@.str.26.55 = private unnamed_addr constant [12 x i8] c"--bout-file\00", align 1 +@.str.27.56 = private unnamed_addr constant [11 x i8] c"-bout-file\00", align 1 +@.str.28.57 = private unnamed_addr constant [11 x i8] c"--max-fail\00", align 1 +@.str.29.58 = private unnamed_addr constant [10 x i8] c"-max-fail\00", align 1 +@.str.30 = private unnamed_addr constant [54 x i8] c"--max-fail expects an integer argument \00", align 1 +@.str.31 = private unnamed_addr constant [31 x i8] c"out of memory in klee_init_env\00", align 1 +@.str.35 = private unnamed_addr constant [37 x i8] c"too many arguments for klee_init_env\00", align 1 +@.str.32 = private unnamed_addr constant [88 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/klee_init_env.c\00", align 1 +@.str.33 = private unnamed_addr constant [9 x i8] c"user.err\00", align 1 +@.str.34 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.68 = private unnamed_addr constant [5 x i8] c"file\00", align 1 +@.str.1.69 = private unnamed_addr constant [5 x i8] c"/tmp\00", align 1 +@.str.2.70 = private unnamed_addr constant [16 x i8] c"%.*s/%.*sXXXXXX\00", align 1 +@.str.3.73 = private unnamed_addr constant [7 x i8] c"XXXXXX\00", align 1 +@letters = internal constant [63 x i8] c"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\00", align 16 +@brain_damaged_fillrand.value = internal global i64 0, align 8 +@.str.4.74 = private unnamed_addr constant [13 x i8] c"/dev/urandom\00", align 1 +@.str.5.75 = private unnamed_addr constant [12 x i8] c"/dev/random\00", align 1 +@__global_locale_data = global %struct.__uclibc_locale_struct.201 zeroinitializer, align 8 +@__global_locale = global %struct.__uclibc_locale_struct.201* @__global_locale_data, align 8 +@__curlocale_var = global %struct.__uclibc_locale_struct.201* @__global_locale_data, align 8 +@utf8 = internal constant [6 x i8] c"UTF-8\00", align 1 +@ascii = internal constant [6 x i8] c"ASCII\00", align 1 +@__code2flag = internal constant [16 x i16] [i16 0, i16 -15352, i16 -14840, i16 -14584, i16 -15096, i16 -14328, i16 -16380, i16 -16384, i16 24576, i16 24577, i16 8192, i16 8193, i16 8194, i16 8195, i16 2, i16 0], align 16 +@.str.76 = private unnamed_addr constant [14 x i8] c"#\80\80\80\80\80\80\80\80\80\80\80\80\00", align 1 +@stdin = global %struct.__STDIO_FILE_STRUCT.568* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i32 0, i32 0), align 8 +@_stdio_streams = internal global [3 x %struct.__STDIO_FILE_STRUCT.568] [%struct.__STDIO_FILE_STRUCT.568 { i16 544, [2 x i8] zeroinitializer, i32 0, i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 88) to %struct.__STDIO_FILE_STRUCT.568*), [2 x i32] zeroinitializer, %struct.__mbstate_t.512 zeroinitializer, i8* null }, %struct.__STDIO_FILE_STRUCT.568 { i16 528, [2 x i8] zeroinitializer, i32 1, i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 176) to %struct.__STDIO_FILE_STRUCT.568*), [2 x i32] zeroinitializer, %struct.__mbstate_t.512 zeroinitializer, i8* null }, %struct.__STDIO_FILE_STRUCT.568 { i16 528, [2 x i8] zeroinitializer, i32 2, i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, %struct.__STDIO_FILE_STRUCT.568* null, [2 x i32] zeroinitializer, %struct.__mbstate_t.512 zeroinitializer, i8* null }], align 16 +@stdout = global %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 88) to %struct.__STDIO_FILE_STRUCT.568*), align 8 +@stderr = global %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 176) to %struct.__STDIO_FILE_STRUCT.568*), align 8 +@__stdin = global %struct.__STDIO_FILE_STRUCT.568* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i32 0, i32 0), align 8 +@__stdout = global %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 88) to %struct.__STDIO_FILE_STRUCT.568*), align 8 +@_stdio_openlist = global %struct.__STDIO_FILE_STRUCT.568* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i32 0, i32 0), align 8 +@been_there_done_that = internal global i32 0, align 4 +@__exit_cleanup = hidden global void (i32)* null, align 8 +@Version = dso_local global i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.44, i32 0, i32 0), align 8 +@.str.44 = private unnamed_addr constant [5 x i8] c"8.32\00", align 1 +@exit_failure = dso_local global i32 1, align 4 +@program_name = dso_local global i8* null, align 8 +@quoting_style_args = dso_local constant [11 x i8*] [i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.69, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1.70, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2.71, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.3.72, i32 0, i32 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.4.73, i32 0, i32 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.5.74, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.6.75, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.7.76, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.8.77, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.9.78, i32 0, i32 0), i8* null], align 16 +@.str.69 = private unnamed_addr constant [8 x i8] c"literal\00", align 1 +@.str.1.70 = private unnamed_addr constant [6 x i8] c"shell\00", align 1 +@.str.2.71 = private unnamed_addr constant [13 x i8] c"shell-always\00", align 1 +@.str.3.72 = private unnamed_addr constant [13 x i8] c"shell-escape\00", align 1 +@.str.4.73 = private unnamed_addr constant [20 x i8] c"shell-escape-always\00", align 1 +@.str.5.74 = private unnamed_addr constant [2 x i8] c"c\00", align 1 +@.str.6.75 = private unnamed_addr constant [8 x i8] c"c-maybe\00", align 1 +@.str.7.76 = private unnamed_addr constant [7 x i8] c"escape\00", align 1 +@.str.8.77 = private unnamed_addr constant [7 x i8] c"locale\00", align 1 +@.str.9.78 = private unnamed_addr constant [8 x i8] c"clocale\00", align 1 +@quoting_style_vals = dso_local constant [10 x i32] [i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9], align 16 +@quote_quoting_options = dso_local global %struct.quoting_options { i32 8, i32 0, [8 x i32] zeroinitializer, i8* null, i8* null }, align 8 +@version_etc_copyright = dso_local constant [47 x i8] c"Copyright %s %d Free Software Foundation, Inc.\00", align 16 +@.str.95 = private unnamed_addr constant [39 x i8] c"Try '%s --help' for more information.\0A\00", align 1 +@.str.1.96 = private unnamed_addr constant [30 x i8] c"Usage: %s [OPTION]... [FILE]\0A\00", align 1 +@.str.2.97 = private unnamed_addr constant [70 x i8] c"Base%d encode or decode FILE, or standard input, to standard output.\0A\00", align 1 +@.str.3.98 = private unnamed_addr constant [243 x i8] c" -d, --decode decode data\0A -i, --ignore-garbage when decoding, ignore non-alphabet characters\0A -w, --wrap=COLS wrap encoded lines after COLS character (default 76).\0A Use 0 to disable line wrapping\0A\0A\00", align 1 +@.str.4.99 = private unnamed_addr constant [45 x i8] c" --help display this help and exit\0A\00", align 1 +@.str.5.100 = private unnamed_addr constant [54 x i8] c" --version output version information and exit\0A\00", align 1 +@.str.6.101 = private unnamed_addr constant [268 x i8] c"\0AThe data are encoded as described for the %s alphabet in RFC 4648.\0AWhen decoding, the input may contain newlines in addition to the bytes of\0Athe formal %s alphabet. Use --ignore-garbage to attempt to recover\0Afrom any other non-alphabet bytes in the encoded stream.\0A\00", align 1 +@.str.7.102 = private unnamed_addr constant [7 x i8] c"base32\00", align 1 +@__const.emit_ancillary_info.infomap = private unnamed_addr constant [7 x %struct.infomap] [%struct.infomap { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.20.112, i32 0, i32 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.21.113, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.22.114, i32 0, i32 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.23.115, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.24.116, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.25.117, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.26.118, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.25.117, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.27.119, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.25.117, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.28.120, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.25.117, i32 0, i32 0) }, %struct.infomap zeroinitializer], align 16 +@.str.29.103 = private unnamed_addr constant [23 x i8] c"\0A%s online help: <%s>\0A\00", align 1 +@.str.11.104 = private unnamed_addr constant [14 x i8] c"GNU coreutils\00", align 1 +@.str.30.105 = private unnamed_addr constant [40 x i8] c"https://www.gnu.org/software/coreutils/\00", align 1 +@.str.31.106 = private unnamed_addr constant [4 x i8] c"en_\00", align 1 +@.str.32.107 = private unnamed_addr constant [71 x i8] c"Report any translation bugs to \0A\00", align 1 +@.str.33.108 = private unnamed_addr constant [27 x i8] c"Full documentation <%s%s>\0A\00", align 1 +@.str.35.109 = private unnamed_addr constant [12 x i8] c" invocation\00", align 1 +@.str.8.110 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@.str.34.111 = private unnamed_addr constant [51 x i8] c"or available locally via: info '(coreutils) %s%s'\0A\00", align 1 +@.str.20.112 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@.str.21.113 = private unnamed_addr constant [16 x i8] c"test invocation\00", align 1 +@.str.22.114 = private unnamed_addr constant [10 x i8] c"coreutils\00", align 1 +@.str.23.115 = private unnamed_addr constant [22 x i8] c"Multi-call invocation\00", align 1 +@.str.24.116 = private unnamed_addr constant [10 x i8] c"sha224sum\00", align 1 +@.str.25.117 = private unnamed_addr constant [15 x i8] c"sha2 utilities\00", align 1 +@.str.26.118 = private unnamed_addr constant [10 x i8] c"sha256sum\00", align 1 +@.str.27.119 = private unnamed_addr constant [10 x i8] c"sha384sum\00", align 1 +@.str.28.120 = private unnamed_addr constant [10 x i8] c"sha512sum\00", align 1 +@.str.19.121 = private unnamed_addr constant [75 x i8] c"\0AMandatory arguments to long options are mandatory for short options too.\0A\00", align 1 +@.str.18.122 = private unnamed_addr constant [56 x i8] c"\0AWith no FILE, or when FILE is -, read standard input.\0A\00", align 1 +@.str.9.125 = private unnamed_addr constant [5 x i8] c"diw:\00", align 1 +@long_options = internal constant [6 x %struct.option] [%struct.option { i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.36, i32 0, i32 0), i32 0, i32* null, i32 100 }, %struct.option { i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.37, i32 0, i32 0), i32 1, i32* null, i32 119 }, %struct.option { i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.38, i32 0, i32 0), i32 0, i32* null, i32 105 }, %struct.option { i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.39, i32 0, i32 0), i32 0, i32* null, i32 -130 }, %struct.option { i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.40, i32 0, i32 0), i32 0, i32* null, i32 -131 }, %struct.option zeroinitializer], align 16 +@.str.10.126 = private unnamed_addr constant [18 x i8] c"invalid wrap size\00", align 1 +@.str.12.127 = private unnamed_addr constant [16 x i8] c"Simon Josefsson\00", align 1 +@.str.13.128 = private unnamed_addr constant [17 x i8] c"extra operand %s\00", align 1 +@.str.14.129 = private unnamed_addr constant [2 x i8] c"-\00", align 1 +@.str.15.130 = private unnamed_addr constant [3 x i8] c"rb\00", align 1 +@.str.16.131 = private unnamed_addr constant [3 x i8] c"%s\00", align 1 +@.str.17.132 = private unnamed_addr constant [23 x i8] c"closing standard input\00", align 1 +@.str.42 = private unnamed_addr constant [12 x i8] c"write error\00", align 1 +@.str.41 = private unnamed_addr constant [11 x i8] c"read error\00", align 1 +@base32_encode.b32str = internal constant [32 x i8] c"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567", align 16 +@.str.131 = private unnamed_addr constant [3 x i8] c"%s\00", align 1 +@.str.1.132 = private unnamed_addr constant [17 x i8] c"memory exhausted\00", align 1 +@.str.43 = private unnamed_addr constant [14 x i8] c"invalid input\00", align 1 +@b32 = internal constant [256 x i8] c"\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\1A\1B\1C\1D\1E\1F\FF\FF\FF\FF\FF\FF\FF\FF\FF\00\01\02\03\04\05\06\07\08\09\0A\0B\0C\0D\0E\0F\10\11\12\13\14\15\16\17\18\19\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF", align 16 +@slotvec = internal global %struct.slotvec* @slotvec0, align 8 +@nslots = internal global i32 1, align 4 +@slotvec0 = internal global %struct.slotvec { i64 256, i8* getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i32 0, i32 0) }, align 8 +@slot0 = internal global [256 x i8] zeroinitializer, align 16 +@.str.10.79 = private unnamed_addr constant [2 x i8] c"\22\00", align 1 +@.str.11.80 = private unnamed_addr constant [2 x i8] c"`\00", align 1 +@.str.12.81 = private unnamed_addr constant [2 x i8] c"'\00", align 1 +@.str.158 = private unnamed_addr constant [2 x i8] c"C\00", align 1 +@.str.1.159 = private unnamed_addr constant [6 x i8] c"POSIX\00", align 1 +@.str.13.82 = private unnamed_addr constant [6 x i8] c"UTF-8\00", align 1 +@.str.14.83 = private unnamed_addr constant [4 x i8] c"\E2\80\98\00", align 1 +@.str.15.84 = private unnamed_addr constant [4 x i8] c"\E2\80\99\00", align 1 +@.str.16.85 = private unnamed_addr constant [8 x i8] c"GB18030\00", align 1 +@.str.17.86 = private unnamed_addr constant [4 x i8] c"\A1\07e\00", align 1 +@.str.18.87 = private unnamed_addr constant [3 x i8] c"\A1\AF\00", align 1 +@.str.162 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@.str.1.163 = private unnamed_addr constant [6 x i8] c"ASCII\00", align 1 +@default_quoting_options = internal global %struct.quoting_options zeroinitializer, align 8 +@.str.94 = private unnamed_addr constant [12 x i8] c"%s (%s) %s\0A\00", align 1 +@.str.1.95 = private unnamed_addr constant [7 x i8] c"%s %s\0A\00", align 1 +@.str.2.96 = private unnamed_addr constant [4 x i8] c"(C)\00", align 1 +@.str.3.97 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.4.98 = private unnamed_addr constant [171 x i8] c"License GPLv3+: GNU GPL version 3 or later <%s>.\0AThis is free software: you are free to change and redistribute it.\0AThere is NO WARRANTY, to the extent permitted by law.\0A\00", align 1 +@.str.5.99 = private unnamed_addr constant [34 x i8] c"https://gnu.org/licenses/gpl.html\00", align 1 +@.str.6.100 = private unnamed_addr constant [16 x i8] c"Written by %s.\0A\00", align 1 +@.str.7.101 = private unnamed_addr constant [23 x i8] c"Written by %s and %s.\0A\00", align 1 +@.str.8.102 = private unnamed_addr constant [28 x i8] c"Written by %s, %s, and %s.\0A\00", align 1 +@.str.9.103 = private unnamed_addr constant [32 x i8] c"Written by %s, %s, %s,\0Aand %s.\0A\00", align 1 +@.str.10.104 = private unnamed_addr constant [36 x i8] c"Written by %s, %s, %s,\0A%s, and %s.\0A\00", align 1 +@.str.11.105 = private unnamed_addr constant [40 x i8] c"Written by %s, %s, %s,\0A%s, %s, and %s.\0A\00", align 1 +@.str.12.106 = private unnamed_addr constant [44 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, and %s.\0A\00", align 1 +@.str.13.107 = private unnamed_addr constant [48 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, %s,\0Aand %s.\0A\00", align 1 +@.str.14.108 = private unnamed_addr constant [52 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, %s,\0A%s, and %s.\0A\00", align 1 +@.str.15.109 = private unnamed_addr constant [60 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, %s,\0A%s, %s, and others.\0A\00", align 1 +@.str.135 = private unnamed_addr constant [7 x i8] c"%s: %s\00", align 1 +@.str.140 = private unnamed_addr constant [38 x i8] c"0 <= strtol_base && strtol_base <= 36\00", align 1 +@.str.1.141 = private unnamed_addr constant [17 x i8] c"../lib/xstrtol.c\00", align 1 +@__PRETTY_FUNCTION__.xstrtoumax = private unnamed_addr constant [79 x i8] c"strtol_error xstrtoumax(const char *, char **, int, uintmax_t *, const char *)\00", align 1 +@.str.36 = private unnamed_addr constant [7 x i8] c"decode\00", align 1 +@.str.37 = private unnamed_addr constant [5 x i8] c"wrap\00", align 1 +@.str.38 = private unnamed_addr constant [15 x i8] c"ignore-garbage\00", align 1 +@.str.39 = private unnamed_addr constant [5 x i8] c"help\00", align 1 +@.str.40 = private unnamed_addr constant [8 x i8] c"version\00", align 1 +@ignore_EPIPE = internal global i8 0, align 1 +@.str.55 = private unnamed_addr constant [12 x i8] c"write error\00", align 1 +@file_name = internal global i8* null, align 8 +@.str.1.56 = private unnamed_addr constant [7 x i8] c"%s: %s\00", align 1 +@.str.2.57 = private unnamed_addr constant [3 x i8] c"%s\00", align 1 +@.str.66 = private unnamed_addr constant [56 x i8] c"A NULL argv[0] was passed through an exec system call.\0A\00", align 1 +@.str.1.67 = private unnamed_addr constant [8 x i8] c"/.libs/\00", align 1 +@.str.2.68 = private unnamed_addr constant [4 x i8] c"lt-\00", align 1 +@.str.16.112 = private unnamed_addr constant [20 x i8] c"Report bugs to: %s\0A\00", align 1 +@.str.17.113 = private unnamed_addr constant [22 x i8] c"bug-coreutils@gnu.org\00", align 1 +@.str.18.114 = private unnamed_addr constant [20 x i8] c"%s home page: <%s>\0A\00", align 1 +@.str.19.115 = private unnamed_addr constant [14 x i8] c"GNU coreutils\00", align 1 +@.str.20.116 = private unnamed_addr constant [40 x i8] c"https://www.gnu.org/software/coreutils/\00", align 1 +@.str.21.117 = private unnamed_addr constant [39 x i8] c"General help using GNU software: <%s>\0A\00", align 1 +@.str.22.118 = private unnamed_addr constant [29 x i8] c"https://www.gnu.org/gethelp/\00", align 1 +@__exe_env = dso_local global { <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] } { <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }> <{ %struct.exe_file_t { i32 0, i32 5, i64 0, %struct.exe_disk_file_t* null }, %struct.exe_file_t { i32 1, i32 9, i64 0, %struct.exe_disk_file_t* null }, %struct.exe_file_t { i32 2, i32 9, i64 0, %struct.exe_disk_file_t* null }, [29 x %struct.exe_file_t] zeroinitializer }>, i32 18, i32 0, i32 0, [4 x i8] undef }, align 8 +@__exe_fs = dso_local global %struct.exe_file_system_t zeroinitializer, align 8 +@__const.klee_init_fds.name = private unnamed_addr constant [7 x i8] c"?-data\00", align 1 +@.str.139 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@.str.1.140 = private unnamed_addr constant [82 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/fd_init.c\00", align 1 +@.str.2.141 = private unnamed_addr constant [31 x i8] c"out of memory in klee_init_env\00", align 1 +@.str.3.142 = private unnamed_addr constant [9 x i8] c"user.err\00", align 1 +@.str.4.144 = private unnamed_addr constant [6 x i8] c"stdin\00", align 1 +@.str.5.145 = private unnamed_addr constant [10 x i8] c"read_fail\00", align 1 +@.str.6.146 = private unnamed_addr constant [11 x i8] c"write_fail\00", align 1 +@.str.7.147 = private unnamed_addr constant [11 x i8] c"close_fail\00", align 1 +@.str.8.148 = private unnamed_addr constant [15 x i8] c"ftruncate_fail\00", align 1 +@.str.9.149 = private unnamed_addr constant [12 x i8] c"getcwd_fail\00", align 1 +@.str.10.150 = private unnamed_addr constant [7 x i8] c"stdout\00", align 1 +@.str.11.151 = private unnamed_addr constant [14 x i8] c"model_version\00", align 1 +@.str.13.152 = private unnamed_addr constant [6 x i8] c"-stat\00", align 1 +@.str.14.153 = private unnamed_addr constant [5 x i8] c"size\00", align 1 +@__PRETTY_FUNCTION__.__create_new_dfile = private unnamed_addr constant [88 x i8] c"void __create_new_dfile(exe_disk_file_t *, unsigned int, const char *, struct stat64 *)\00", align 1 +@.str.12.154 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.155 = private unnamed_addr constant [18 x i8] c"silently ignoring\00", align 1 +@.str.1.160 = private unnamed_addr constant [24 x i8] c"ignoring (EAFNOSUPPORT)\00", align 1 +@.str.11.162 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.2.165 = private unnamed_addr constant [15 x i8] c"ignoring (EIO)\00", align 1 +@.str.3.166 = private unnamed_addr constant [18 x i8] c"ignoring (ENFILE)\00", align 1 +@.str.4.167 = private unnamed_addr constant [17 x i8] c"ignoring (EPERM)\00", align 1 +@.str.5.168 = private unnamed_addr constant [13 x i8] c"returning 0\0A\00", align 1 +@.str.6.169 = private unnamed_addr constant [40 x i8] c"setting all times to 0 and returning 0\0A\00", align 1 +@.str.7.170 = private unnamed_addr constant [17 x i8] c"ignoring (EBADF)\00", align 1 +@.str.8.173 = private unnamed_addr constant [21 x i8] c"ignoring (-1 result)\00", align 1 +@.str.9.174 = private unnamed_addr constant [18 x i8] c"ignoring (ECHILD)\00", align 1 +@.str.10.175 = private unnamed_addr constant [32 x i8] c"silently ignoring (returning 0)\00", align 1 +@__locale_mmap = global %struct.__locale_mmap_t.203* @locale_mmap, align 8 +@locale_mmap = internal constant %struct.__locale_mmap_t.203 { [420 x i8] c"\EE\EE\EE\EE\06afffffff$$$$$$$$$$\06\00\00\00\00D&fffdDDbfff`b\22\22FBFfddfFf$\22fbbB\22DDDD\22\22\22\22\06&fff`\00\00`fffff&ff`ffff\11a\06\00\00\00\11\11\11\11\11\01`\06\EE&fffd\E4\EEnffffb\E2Nfaff\11\11\11\22\22\22\22bDDDdDDD$FDDdDDdD&\22\22b\22\22b\22\22\22\22\12bbf&Fb$dd$dF$$$F\22BB\22fffdbaffff$fba$dFBfdbddBf$df\22b$$FFFdFDdD&&&b&\22b\22Ff\06dFDd@&f&b&\22b D\04DD@DDd\22\02\22\22 \22\22bFAFdFDdd&\22B\22FDDD&\22\22\22\06\00\06\00\00\00f\00\00`\00`\10\11\11\11\11\01\00\00\11afff\06\00\00ff\00ff`f`DddDADDDD@DDDD\22\22!\22\22\22\22\22\22\02\06ffffff\06\00\00\00`f&fffFff\22Fff`b$\04dfff``\00\00 $&f\00`f\06fF@f``\00`f&b\22fFdDffFf\11\11\11a\11\01\00`\11\11\11\16\11f\00\00", [504 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00{}\00\00\00{\00\7F\7F\00\00\00\00\00\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\00\00\F0\FE\00\FE\00\00\00\00\00\00\F0\00\F0\F0\F0\F0\F0\00\00\00\00\00\00\00\00\FF\FF\E7\00\F1\00\00\F0\00\F0\00\00\00\00\F0\00\00\FF\FF\F1\00\00\00\F0\00\F0\00\E7\FF\FF\F0\E0\E0\E0\E0\E0\E0\E0\E0\00\00\F0\00\F0\00\00\00\00\00\F0\00\F0\00\00\A0\00\00\00\00\00\00\00\A0\E0\E0\E0\E0\E0\E0\E0\00\00\F0\F0\F0\F0\F0\F0\00\F0\F0\F0\F0\F0\00\F0\F0\00\FF\FF\00\FF\FF\FB\00\F0\00\F0\FB\F0\00\00\B0\FF\FF\FF\FF\FF\FF\00\FE\F0\FE\F0\FC\F0\FF\FF\FC\E0\E0\E0\E0\E0\E0\E0\B0\00\00\00\00\00\00\FE\00\FE\00\00\00\00\00\00\00\00\00\00\00\FC\00\00\00\FC\00\00\00\FF\FF\BF\00\E0\E0\E0\E0\E0\E0\E0\BF\00\FF\FF\F0\00\00\FE\00\FE\00\F0\00\FE\00\FE\F0\00\00\F9\F0\FC\00\00\00\FC\F9\F0\00\FF\FF\BF\F0\00\F0\00\F0\00\F0\F0\00\00\F0\F0\F0\F0\00\F0\F0\00\F0\00\00\00\00\F0\00\00@\F0\F0\F0\00\00\F0\00\90\F0\F0\F0\00\00\F0\E0\E0\E0\00\E0\E0\E0\E0\00\E0\E0\E0\E0\E0\E0\00\00\F0\F0\F0\F0\00\F0\00\00\F0\F0\F0\F0\FE\F0\FE\00\B0\B0\B0\B0\B0\B0\B0\B0\B0\B0\B0\B0\00\B0\B0\00\00\00\00\00\00\DA\00\DB\DB\DB\00\C0\00\C1\C1\00\E0\E0\E0\E0\E0\E0\E0\E0\E0\00\E0\E0\E0\E0\E0\E0\E0\E0\E0\DA\DB\DB\DB\E0\E0\E1\E0\E0\E0\E0\E0\E0\E0\E0\E0\C0\C1\C1\00\E0\E0\E0\E0\E0t\E0\00\E0\E0\E0\E0\E0L\E0\00\00\00\00\10\00\00\00\00 \10\02\00\02\00\00\00\00\00\00\02\00\02\01\01\00\10\00\00\00\00\00\00\00\00\01\01\10\00\10\00\00\00\00\00\10\00\10\00\00\00\00\00\10\10\00\10\10\00\00\00\00\00\10\00\00", [1760 x i16] [i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 0, i16 1415, i16 1417, i16 41, i16 40, i16 187, i16 171, i16 8212, i16 46, i16 1373, i16 44, i16 45, i16 1418, i16 8230, i16 1372, i16 1371, i16 1374, i16 1329, i16 1377, i16 1330, i16 1378, i16 1331, i16 1379, i16 1332, i16 1380, i16 1333, i16 1381, i16 1334, i16 1382, i16 1335, i16 1383, i16 1336, i16 1384, i16 1337, i16 1385, i16 1338, i16 1386, i16 1339, i16 1387, i16 1340, i16 1388, i16 1341, i16 1389, i16 1342, i16 1390, i16 1343, i16 1391, i16 1344, i16 1392, i16 1345, i16 1393, i16 1346, i16 1394, i16 1347, i16 1395, i16 1348, i16 1396, i16 1349, i16 1397, i16 1350, i16 1398, i16 1351, i16 1399, i16 1352, i16 1400, i16 1353, i16 1401, i16 1354, i16 1402, i16 1355, i16 1403, i16 1356, i16 1404, i16 1357, i16 1405, i16 1358, i16 1406, i16 1359, i16 1407, i16 1360, i16 1408, i16 1361, i16 1409, i16 1362, i16 1410, i16 1363, i16 1411, i16 1364, i16 1412, i16 1365, i16 1413, i16 1366, i16 1414, i16 1370, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1026, i16 1027, i16 8218, i16 1107, i16 8222, i16 8230, i16 8224, i16 8225, i16 8364, i16 8240, i16 1033, i16 8249, i16 1034, i16 1036, i16 1035, i16 1039, i16 1106, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 0, i16 8482, i16 1113, i16 8250, i16 1114, i16 1116, i16 1115, i16 1119, i16 160, i16 1038, i16 1118, i16 1032, i16 164, i16 1168, i16 166, i16 167, i16 1025, i16 169, i16 1028, i16 171, i16 172, i16 173, i16 174, i16 1031, i16 176, i16 177, i16 1030, i16 1110, i16 1169, i16 181, i16 182, i16 183, i16 1105, i16 8470, i16 1108, i16 187, i16 1112, i16 1029, i16 1109, i16 1111, i16 1040, i16 1041, i16 1042, i16 1043, i16 1044, i16 1045, i16 1046, i16 1047, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 1058, i16 1059, i16 1060, i16 1061, i16 1062, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1070, i16 1071, i16 1072, i16 1073, i16 1074, i16 1075, i16 1076, i16 1077, i16 1078, i16 1079, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1088, i16 1089, i16 1090, i16 1091, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1099, i16 1100, i16 1101, i16 1102, i16 1103, i16 8364, i16 0, i16 8218, i16 402, i16 8222, i16 8230, i16 8224, i16 8225, i16 710, i16 8240, i16 0, i16 8249, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 732, i16 8482, i16 0, i16 8250, i16 0, i16 0, i16 0, i16 0, i16 160, i16 161, i16 162, i16 163, i16 8362, i16 165, i16 166, i16 167, i16 168, i16 169, i16 215, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 247, i16 187, i16 188, i16 189, i16 190, i16 191, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 0, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 0, i16 0, i16 8206, i16 8207, i16 0, i16 128, i16 129, i16 8218, i16 402, i16 8222, i16 8230, i16 8224, i16 8225, i16 710, i16 8240, i16 352, i16 8249, i16 338, i16 141, i16 142, i16 143, i16 144, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 732, i16 8482, i16 353, i16 8250, i16 339, i16 157, i16 158, i16 376, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 4304, i16 4305, i16 4306, i16 4307, i16 4308, i16 4309, i16 4310, i16 4337, i16 4311, i16 4312, i16 4313, i16 4314, i16 4315, i16 4316, i16 4338, i16 4317, i16 4318, i16 4319, i16 4320, i16 4321, i16 4322, i16 4339, i16 4323, i16 4324, i16 4325, i16 4326, i16 4327, i16 4328, i16 4329, i16 4330, i16 4331, i16 4332, i16 4333, i16 4334, i16 4340, i16 4335, i16 4336, i16 4341, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 160, i16 260, i16 274, i16 290, i16 298, i16 296, i16 310, i16 167, i16 315, i16 272, i16 352, i16 358, i16 381, i16 173, i16 362, i16 330, i16 176, i16 261, i16 275, i16 291, i16 299, i16 297, i16 311, i16 183, i16 316, i16 273, i16 353, i16 359, i16 382, i16 8213, i16 363, i16 331, i16 256, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 302, i16 268, i16 201, i16 280, i16 203, i16 278, i16 205, i16 206, i16 207, i16 208, i16 325, i16 332, i16 211, i16 212, i16 213, i16 214, i16 360, i16 216, i16 370, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 257, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 303, i16 269, i16 233, i16 281, i16 235, i16 279, i16 237, i16 238, i16 239, i16 240, i16 326, i16 333, i16 243, i16 244, i16 245, i16 246, i16 361, i16 248, i16 371, i16 250, i16 251, i16 252, i16 253, i16 254, i16 312, i16 160, i16 8221, i16 162, i16 163, i16 164, i16 8222, i16 166, i16 167, i16 216, i16 169, i16 342, i16 171, i16 172, i16 173, i16 174, i16 198, i16 176, i16 177, i16 178, i16 179, i16 8220, i16 181, i16 182, i16 183, i16 248, i16 185, i16 343, i16 187, i16 188, i16 189, i16 190, i16 230, i16 260, i16 302, i16 256, i16 262, i16 196, i16 197, i16 280, i16 274, i16 268, i16 201, i16 377, i16 278, i16 290, i16 310, i16 298, i16 315, i16 352, i16 323, i16 325, i16 211, i16 332, i16 213, i16 214, i16 215, i16 370, i16 321, i16 346, i16 362, i16 220, i16 379, i16 381, i16 223, i16 261, i16 303, i16 257, i16 263, i16 228, i16 229, i16 281, i16 275, i16 269, i16 233, i16 378, i16 279, i16 291, i16 311, i16 299, i16 316, i16 353, i16 324, i16 326, i16 243, i16 333, i16 245, i16 246, i16 247, i16 371, i16 322, i16 347, i16 363, i16 252, i16 380, i16 382, i16 8217, i16 160, i16 7682, i16 7683, i16 163, i16 266, i16 267, i16 7690, i16 167, i16 7808, i16 169, i16 7810, i16 7691, i16 7922, i16 173, i16 174, i16 376, i16 7710, i16 7711, i16 288, i16 289, i16 7744, i16 7745, i16 182, i16 7766, i16 7809, i16 7767, i16 7811, i16 7776, i16 7923, i16 7812, i16 7813, i16 7777, i16 372, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 7786, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 374, i16 223, i16 373, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 7787, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 375, i16 255, i16 160, i16 161, i16 162, i16 163, i16 8364, i16 165, i16 352, i16 167, i16 353, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 381, i16 181, i16 182, i16 183, i16 382, i16 185, i16 186, i16 187, i16 338, i16 339, i16 376, i16 191, i16 160, i16 260, i16 261, i16 321, i16 8364, i16 171, i16 352, i16 167, i16 353, i16 169, i16 536, i16 8222, i16 377, i16 173, i16 378, i16 379, i16 176, i16 177, i16 268, i16 322, i16 381, i16 8221, i16 182, i16 183, i16 382, i16 269, i16 537, i16 187, i16 338, i16 339, i16 376, i16 380, i16 192, i16 193, i16 194, i16 258, i16 196, i16 262, i16 198, i16 199, i16 272, i16 323, i16 210, i16 211, i16 212, i16 336, i16 214, i16 346, i16 368, i16 217, i16 218, i16 219, i16 220, i16 280, i16 538, i16 223, i16 224, i16 225, i16 226, i16 259, i16 228, i16 263, i16 230, i16 231, i16 273, i16 324, i16 242, i16 243, i16 244, i16 337, i16 246, i16 347, i16 369, i16 249, i16 250, i16 251, i16 252, i16 281, i16 539, i16 255, i16 160, i16 260, i16 728, i16 321, i16 164, i16 317, i16 346, i16 167, i16 168, i16 352, i16 350, i16 356, i16 377, i16 173, i16 381, i16 379, i16 176, i16 261, i16 731, i16 322, i16 180, i16 318, i16 347, i16 711, i16 184, i16 353, i16 351, i16 357, i16 378, i16 733, i16 382, i16 380, i16 340, i16 193, i16 194, i16 258, i16 196, i16 313, i16 262, i16 199, i16 268, i16 201, i16 280, i16 203, i16 282, i16 205, i16 206, i16 270, i16 272, i16 323, i16 327, i16 211, i16 212, i16 336, i16 214, i16 215, i16 344, i16 366, i16 218, i16 368, i16 220, i16 221, i16 354, i16 223, i16 341, i16 225, i16 226, i16 259, i16 228, i16 314, i16 263, i16 231, i16 269, i16 233, i16 281, i16 235, i16 283, i16 237, i16 238, i16 271, i16 273, i16 324, i16 328, i16 243, i16 244, i16 337, i16 246, i16 247, i16 345, i16 367, i16 250, i16 369, i16 252, i16 253, i16 355, i16 729, i16 160, i16 294, i16 728, i16 163, i16 164, i16 0, i16 292, i16 167, i16 168, i16 304, i16 350, i16 286, i16 308, i16 173, i16 0, i16 379, i16 176, i16 295, i16 178, i16 179, i16 180, i16 181, i16 293, i16 183, i16 184, i16 305, i16 351, i16 287, i16 309, i16 189, i16 0, i16 380, i16 192, i16 193, i16 194, i16 0, i16 196, i16 266, i16 264, i16 199, i16 0, i16 209, i16 210, i16 211, i16 212, i16 288, i16 214, i16 215, i16 284, i16 217, i16 218, i16 219, i16 220, i16 364, i16 348, i16 223, i16 224, i16 225, i16 226, i16 0, i16 228, i16 267, i16 265, i16 231, i16 0, i16 241, i16 242, i16 243, i16 244, i16 289, i16 246, i16 247, i16 285, i16 249, i16 250, i16 251, i16 252, i16 365, i16 349, i16 729, i16 160, i16 260, i16 312, i16 342, i16 164, i16 296, i16 315, i16 167, i16 168, i16 352, i16 274, i16 290, i16 358, i16 173, i16 381, i16 175, i16 176, i16 261, i16 731, i16 343, i16 180, i16 297, i16 316, i16 711, i16 184, i16 353, i16 275, i16 291, i16 359, i16 330, i16 382, i16 331, i16 268, i16 201, i16 280, i16 203, i16 278, i16 205, i16 206, i16 298, i16 272, i16 325, i16 332, i16 310, i16 212, i16 213, i16 214, i16 215, i16 216, i16 370, i16 218, i16 219, i16 220, i16 360, i16 362, i16 223, i16 269, i16 233, i16 281, i16 235, i16 279, i16 237, i16 238, i16 299, i16 273, i16 326, i16 333, i16 311, i16 244, i16 245, i16 246, i16 247, i16 248, i16 371, i16 250, i16 251, i16 252, i16 361, i16 363, i16 729, i16 160, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 173, i16 1038, i16 1039, i16 8470, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 167, i16 1118, i16 1119, i16 160, i16 0, i16 0, i16 0, i16 164, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1548, i16 173, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1563, i16 0, i16 0, i16 0, i16 1567, i16 0, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1611, i16 1612, i16 1613, i16 1614, i16 1615, i16 1616, i16 1617, i16 1618, i16 0, i16 0, i16 0, i16 0, i16 0, i16 160, i16 8216, i16 8217, i16 163, i16 0, i16 0, i16 166, i16 167, i16 168, i16 169, i16 0, i16 171, i16 172, i16 173, i16 0, i16 8213, i16 176, i16 177, i16 178, i16 179, i16 900, i16 901, i16 902, i16 183, i16 904, i16 905, i16 906, i16 187, i16 908, i16 189, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 918, i16 919, i16 920, i16 921, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 929, i16 0, i16 931, i16 932, i16 933, i16 934, i16 935, i16 936, i16 937, i16 938, i16 939, i16 940, i16 941, i16 942, i16 943, i16 944, i16 945, i16 946, i16 947, i16 948, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 964, i16 965, i16 966, i16 967, i16 968, i16 969, i16 970, i16 971, i16 972, i16 973, i16 974, i16 0, i16 160, i16 0, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 184, i16 185, i16 247, i16 187, i16 188, i16 189, i16 190, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8215, i16 286, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 304, i16 350, i16 223, i16 287, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 305, i16 351, i16 255, i16 9472, i16 9474, i16 9484, i16 9488, i16 9492, i16 9496, i16 9500, i16 9508, i16 9516, i16 9524, i16 9532, i16 9600, i16 9604, i16 9608, i16 9612, i16 9616, i16 9617, i16 9618, i16 9619, i16 8992, i16 9632, i16 8729, i16 8730, i16 8776, i16 8804, i16 8805, i16 160, i16 8993, i16 176, i16 178, i16 183, i16 247, i16 9552, i16 9553, i16 9554, i16 1105, i16 9555, i16 9556, i16 9557, i16 9558, i16 9559, i16 9560, i16 9561, i16 9562, i16 9563, i16 9564, i16 9565, i16 9566, i16 9567, i16 9568, i16 9569, i16 1025, i16 9570, i16 9571, i16 9572, i16 9573, i16 9574, i16 9575, i16 9576, i16 9577, i16 9578, i16 9579, i16 9580, i16 169, i16 1102, i16 1072, i16 1073, i16 1094, i16 1076, i16 1077, i16 1092, i16 1075, i16 1093, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1103, i16 1088, i16 1089, i16 1090, i16 1091, i16 1078, i16 1074, i16 1100, i16 1099, i16 1079, i16 1096, i16 1101, i16 1097, i16 1095, i16 1098, i16 1070, i16 1040, i16 1041, i16 1062, i16 1044, i16 1045, i16 1060, i16 1043, i16 1061, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1071, i16 1056, i16 1057, i16 1058, i16 1059, i16 1046, i16 1042, i16 1068, i16 1067, i16 1047, i16 1064, i16 1069, i16 1065, i16 1063, i16 1066, i16 1179, i16 1171, i16 8218, i16 1170, i16 8222, i16 8230, i16 8224, i16 8225, i16 0, i16 8240, i16 1203, i16 8249, i16 1202, i16 1207, i16 1206, i16 0, i16 1178, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 0, i16 8482, i16 0, i16 8250, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1263, i16 1262, i16 1105, i16 164, i16 1251, i16 166, i16 167, i16 0, i16 0, i16 0, i16 171, i16 172, i16 173, i16 174, i16 0, i16 176, i16 177, i16 178, i16 1025, i16 0, i16 1250, i16 182, i16 183, i16 0, i16 8470, i16 0, i16 187, i16 0, i16 0, i16 0, i16 169, i16 9552, i16 9553, i16 9554, i16 1105, i16 1108, i16 9556, i16 1110, i16 1111, i16 9559, i16 9560, i16 9561, i16 9562, i16 9563, i16 1169, i16 9565, i16 9566, i16 9567, i16 9568, i16 9569, i16 1025, i16 1028, i16 9571, i16 1030, i16 1031, i16 9574, i16 9575, i16 9576, i16 9577, i16 9578, i16 1168, i16 9580, i16 169, i16 0, i16 3585, i16 3586, i16 3587, i16 3588, i16 3589, i16 3590, i16 3591, i16 3592, i16 3593, i16 3594, i16 3595, i16 3596, i16 3597, i16 3598, i16 3599, i16 3600, i16 3601, i16 3602, i16 3603, i16 3604, i16 3605, i16 3606, i16 3607, i16 3608, i16 3609, i16 3610, i16 3611, i16 3612, i16 3613, i16 3614, i16 3615, i16 3616, i16 3617, i16 3618, i16 3619, i16 3620, i16 3621, i16 3622, i16 3623, i16 3624, i16 3625, i16 3626, i16 3627, i16 3628, i16 3629, i16 3630, i16 3631, i16 3632, i16 3633, i16 3634, i16 3635, i16 3636, i16 3637, i16 3638, i16 3639, i16 3640, i16 3641, i16 3642, i16 0, i16 0, i16 0, i16 0, i16 3647, i16 3648, i16 3649, i16 3650, i16 3651, i16 3652, i16 3653, i16 3654, i16 3655, i16 3656, i16 3657, i16 3658, i16 3659, i16 3660, i16 3661, i16 3662, i16 3663, i16 3664, i16 3665, i16 3666, i16 3667, i16 3668, i16 3669, i16 3670, i16 3671, i16 3672, i16 3673, i16 3674, i16 3675, i16 0, i16 0, i16 0, i16 0], [4528 x i8] c"\00\00\01\00\00\00\00\00\02\03\04\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\06\07\08\09\0A\0B\00\00\00\00\00\00\00\00\0C\0D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\0F\00\00\00\00\10\11\12\13\14\15\00\00\00\16\00\00\00\00\00\00\00\17\18\19\00\00\00\00\00\00\1A\00\00\00\00\00\00\1B\1C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\1D\1E\00\1F\00 \00\00\00\00\00\00\00\00\00!\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\22#\00\00\00\00\00\00\00\00\00\00\00\00\00$%\13&'(\17\18\19\00\00\00\00\00\00)\00\00\00\00\00\00\00\1C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00*+,-\00\00.\14\00\00\00\00\00/01\00!\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00234\00\17\18\19\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03,-\11\12\13\14\00\00\00\00\00\00\00\00\02\0356789:;<=>?\00@A\00\00\00\00\00\00\00\00\00B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03CDEFGHIJKLMNOP\00\00\00\00\00\00\00\00\00Q\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03RS\11T\13UV\00W\00\00\00\00X\00\00\00\00\00\00\00\00YZ\00\00[\\]\00^\00\00\00\00\00\00_\00\00\00\00\00\00\00\00\02\03`a\11\12\13\14\00\00\00\00\00bcd\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00e\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03fghijklm\00\00nocp\00\00\00\00\00\00\00\00\00q\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00r\00\00\00\00\00\00\00\00e\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03stuvwxyz\00{|}~\7F\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\81\00\00\00\00\00\00\00\00\00\00\02\03\82\83\84\85\86\87\88\89\8A\8B\00\8C\8D\8E\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\8F\00\00\00\00\00\00\00\00\00\00\02\03\90t\91\92\93\94;\95\96\97\98\99\9A\9B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\9C\00\00\00\00\00\00\00\00\00\00\02\03\9D\00\00\00\00\00\9E-\11\12\13\9F\00\00\00\00\00\00\00\00\00\00\00\A0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03\A1\00\00\00\00\00\A2\A3\A4\A5\13\A6\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03\A7\A8\00\00\00\00\00\00\00\00\00\00\00\00\A9\11\AA\13\AB\00\00\00\00\AC\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03\AD\AE\00\1F\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\13&\00(\AF\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03,-\11\B0\13\B1\00\B2\00\B3\00\B4\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B5\B6\00\00\00\B7\B8\B9\BA\BB\BC\BD\00\00\00\00\00\00\00\00\00\00\00\BE\00\00\BF\00\C0\00\00\00\00\00\00\00\00\00\00\00\C1\00\00\00\00\00\00\00\00\00\00\00\00\00\C2\C3\C4\C5\00\C6\C7\00\C8\C9\CA\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\CB\CC\00\00\00\00\B8\B9\BA\BB\BC\BD\00\00\00\CD\00\CE\00\00\CF\00\D0\B9\BA\BB\BC\D1\00\00\00\D2\00\00\00\00\00\00\C2\C3\C4\C5\00\D3\D4\00\C8\C9\CA\00\00\00\00\00\D5-\11\D6\13\D7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A5\A4\00\00\AB\AC\A9\00\80\81\82\83\84\85\86\87\88\89\8A\8B\8C\8D\8E\8F\90\91\92\93\94\95\96\97\98\99\9A\9B\9C\9D\9E\9F\A0\00\00\00\00\00\00\00\00\00\00\A7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A6\00\00\00\00\00\B2\B4\B6\B8\BA\BC\BE\C0\C2\C4\C6\C8\CA\CC\CE\D0\D2\D4\D6\D8\DA\DC\DE\E0\E2\E4\E6\E8\EA\EC\EE\F0\F2\F4\F6\F8\FA\FC\00\00\00\FE\B0\AF\AA\B1\00\00\B3\B5\B7\B9\BB\BD\BF\C1\C3\C5\C7\C9\CB\CD\CF\D1\D3\D5\D7\D9\DB\DD\DF\E1\E3\E5\E7\E9\EB\ED\EF\F1\F3\F5\F7\F9\FB\FD\A2\00\A3\AD\00\00\00\00\00\00\00\00\00\A8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\AE\00\00\00\00\00\00\00\00\00\A0\00\00\00\A4\00\A6\A7\00\A9\00\AB\AC\AD\AE\00\B0\B1\00\00\00\B5\B6\B7\00\00\00\BB\00\00\00\00\00\A8\80\81\AA\BD\B2\AF\A3\8A\8C\8E\8D\00\A1\8F\C0\C1\C2\C3\C4\C5\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\E0\E1\E2\E3\E4\E5\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\FD\FE\FF\00\B8\90\83\BA\BE\B3\BF\BC\9A\9C\9E\9D\00\A2\9F\A5\B4\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\96\97\00\00\00\91\92\82\00\93\94\84\00\86\87\95\00\00\00\85\00\00\00\00\00\00\00\00\00\89\00\00\00\00\00\00\00\00\8B\9B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\88\00\00\00\00\00\00\00\00\00\B9\00\00\00\00\00\00\00\00\00\00\00\99\00\00\00\00\00\00\00\00\00\00\00\00\00\A0\A1\A2\A3\00\A5\A6\A7\A8\A9\00\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\00\BB\BC\BD\BE\BF\00\00\00\00\00\00\00\AA\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\BA\00\00\00\00\00\00\00\00\00\00\83\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\88\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\98\00\00\00\C0\C1\C2\C3\C4\C5\C6\C7\C8\C9\00\CB\CC\CD\CE\CF\D0\D1\D2\D3\00\00\00\00\00\00\00\00\00\00\00\00\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\00\00\00\00\00\D4\D5\D6\D7\D8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\FD\FE\00\00\00\00\00\00\00\00\00\00\A4\00\80\00\00\00\80\81\00\00\00\00\00\00\00\00\00\00\00\8D\8E\8F\90\00\00\00\00\00\00\00\00\00\00\00\00\9D\9E\00\A0\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\BF\00\00\00\00\00\00\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\00\00\8C\9C\00\00\00\00\00\00\00\00\00\00\00\00\8A\9A\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\9F\00\00\00\00\00\00\00\C0\C1\C2\C3\C4\C5\C6\C8\C9\CA\CB\CC\CD\CF\D0\D1\D2\D3\D4\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\E0\E1\E3\E4\C7\CE\D5\E2\E5\00\00\00\00\00\00\00\00\00\00\A0\00\00\00\00\00\00\A7\00\00\00\00\00\AD\00\00\B0\00\00\00\00\00\00\B7\00\00\00\00\00\00\00\00\00\C1\C2\C3\C4\C5\C6\00\00\C9\00\CB\00\CD\CE\CF\D0\00\00\D3\D4\D5\D6\00\D8\00\DA\DB\DC\DD\DE\DF\00\E1\E2\E3\E4\E5\E6\00\00\E9\00\EB\00\ED\EE\EF\F0\00\00\F3\F4\F5\F6\00\F8\00\FA\FB\FC\FD\FE\00\C0\E0\00\00\A1\B1\00\00\00\00\00\00\C8\E8\00\00\A9\B9\A2\B2\00\00\CC\EC\CA\EA\00\00\00\00\00\00\00\00\A3\B3\00\00\00\00\A5\B5\A4\B4\00\00\C7\E7\00\00\00\00\00\00\A6\B6\FF\00\00\A8\B8\00\00\00\00\00\00\00\00\D1\F1\00\00\00\AF\BF\D2\F2\00\00\AA\BA\00\00\00\00\AB\BB\D7\F7\AE\BE\00\00\00\00\00\00\D9\F9\00\00\00\00\00\00\00\00\00\AC\BC\00\00\00\00\00\00\BD\00\00\00\00\00\00\00\00\00\00\A0\00\A2\A3\A4\00\A6\A7\00\A9\00\AB\AC\AD\AE\00\B0\B1\B2\B3\00\B5\B6\B7\00\B9\00\BB\BC\BD\BE\00\00\00\00\00\C4\C5\AF\00\00\C9\00\00\00\00\00\00\00\00\00\D3\00\D5\D6\D7\A8\00\00\00\DC\00\00\DF\00\00\00\00\E4\E5\BF\00\00\E9\00\00\00\00\00\00\00\00\00\F3\00\F5\F6\F7\B8\00\00\00\FC\00\00\00\C2\E2\00\00\C0\E0\C3\E3\00\00\00\00\C8\E8\00\00\00\00\C7\E7\00\00\CB\EB\C6\E6\00\00\00\00\00\00\00\00\CC\EC\00\00\00\00\00\00\CE\EE\00\00\C1\E1\00\00\00\00\00\00\CD\ED\00\00\00\CF\EF\00\00\00\00\D9\F9\D1\F1\D2\F2\00\00\00\00\00\D4\F4\00\00\00\00\00\00\00\00\AA\BA\00\00\DA\FA\00\00\00\00\D0\F0\00\00\00\00\00\00\00\00\DB\FB\00\00\00\00\00\00\D8\F8\00\00\00\00\00\CA\EA\DD\FD\DE\FE\00\00\00\00\00\00\00\00\00\00\FF\00\00\B4\A1\A5\00\A0\00\00\A3\00\00\00\A7\00\A9\00\00\00\AD\AE\00\00\00\00\00\00\00\B6\00\00\00\00\00\00\00\00\00\00\D1\D2\D3\D4\D5\D6\00\D8\D9\DA\DB\DC\DD\00\DF\00\F1\F2\F3\F4\F5\F6\00\F8\F9\FA\FB\FC\FD\00\FF\00\00\00\00\00\00\00\00\00\00\A4\A5\00\00\00\00\B2\B3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\D0\F0\DE\FE\AF\00\00\00\00\00\00\00\00\00\A1\A2\00\00\00\00\00\00\A6\AB\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B0\B1\B4\B5\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B7\B9\00\00\00\00\00\00\00\00\BB\BF\00\00\00\00\00\00\00\00\D7\F7\00\00\00\00\A8\B8\AA\BA\BD\BE\00\00\00\00\00\00\00\00\00\00\00\00\AC\BC\00\00\00\00\00\00\00\00\00\00\00\00\A0\A1\A2\A3\00\A5\00\A7\00\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B3\00\B5\B6\B7\00\B9\BA\BB\00\00\00\BF\00\00\BC\BD\00\00\00\00\00\00\00\00\00\00\00\00\A6\A8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\BE\00\00\00\00\B4\B8\00\00\00\00\00\00\00\00\00\00\00\00\00\A4\00\00\00\A0\00\00\00\00\00\00\A7\00\A9\00\A5\00\AD\00\00\B0\B1\00\00\00\00\B6\B7\00\00\00\BB\00\00\00\00\C0\C1\C2\00\C4\00\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\00\00\D2\D3\D4\00\D6\00\00\D9\DA\DB\DC\00\00\DF\E0\E1\E2\00\E4\00\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\00\00\F2\F3\F4\00\F6\00\00\F9\FA\FB\FC\00\00\FF\00\00\C3\E3\A1\A2\C5\E5\00\00\00\00\B2\B9\00\00\D0\F0\00\00\00\00\00\00\DD\FD\00\00\00\00\00\00\00\A3\B3\D1\F1\00\00\00\00\00\00\00\00\00\00\00\D5\F5\BC\BD\00\00\00\00\00\00\D7\F7\00\00\00\00\D8\F8\00\00\00\00\00\00\BE\AC\AE\AF\BF\B4\B8\00\00\00\00\00\00\00\00\00\AA\BA\DE\FE\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B5\AB\00\A0\00\00\00\A4\00\00\A7\A8\00\00\00\00\AD\00\00\B0\00\00\00\B4\00\00\00\B8\00\00\00\00\00\00\00\00\C1\C2\00\C4\00\00\C7\00\C9\00\CB\00\CD\CE\00\00\00\00\D3\D4\00\D6\D7\00\00\DA\00\DC\DD\00\DF\00\E1\E2\00\E4\00\00\E7\00\E9\00\EB\00\ED\EE\00\00\00\00\F3\F4\00\F6\F7\00\00\FA\00\FC\FD\00\00\00\00\C3\E3\A1\B1\C6\E6\00\00\00\00\C8\E8\CF\EF\D0\F0\00\00\00\00\00\00\CA\EA\CC\EC\00\00\00\00\00\00\00\00\00\00\00\00\00\C5\E5\00\00\A5\B5\00\00\A3\B3\D1\F1\00\00\D2\F2\00\00\00\00\00\00\00\D5\F5\00\00\C0\E0\00\00\D8\F8\A6\B6\00\00\AA\BA\A9\B9\DE\FE\AB\BB\00\00\00\00\00\00\00\00\D9\F9\DB\FB\00\00\00\00\00\00\00\AC\BC\AF\BF\AE\BE\00\00\00\00\00\00\00\00\B7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A2\FF\00\B2\00\BD\00\00\A0\00\00\A3\A4\00\00\A7\A8\00\00\00\00\AD\00\00\B0\00\B2\B3\B4\B5\00\B7\B8\00\00\00\00\BD\00\00\C0\C1\C2\00\C4\00\00\C7\C8\C9\CA\CB\CC\CD\CE\CF\00\D1\D2\D3\D4\00\D6\D7\00\D9\DA\DB\DC\00\00\DF\E0\E1\E2\00\E4\00\00\E7\E8\E9\EA\EB\EC\ED\EE\EF\00\F1\F2\F3\F4\00\F6\F7\00\F9\FA\FB\FC\00\00\00\00\00\00\00\00\00\00\00\C6\E6\C5\E5\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\D8\F8\AB\BB\D5\F5\00\00\A6\B6\A1\B1\00\00\00\00\00\00\00\00\A9\B9\00\00\AC\BC\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\DE\FE\AA\BA\00\00\00\00\00\00\00\00\00\00\00\00\DD\FD\00\00\00\00\00\00\00\00\00\00\00\00\00\AF\BF\00\00\00\00\00\00\00\00\00\00\00\A2\FF\00\00\00\00\00\00\A0\00\00\00\A4\00\00\A7\A8\00\00\00\00\AD\00\AF\00\C1\C2\C3\C4\C5\C6\00\00\C9\00\CB\00\CD\CE\00\00\00\00\00\D4\D5\D6\D7\D8\00\DA\DB\DC\00\00\DF\00\E1\E2\E3\E4\E5\E6\00\00\E9\00\EB\00\ED\EE\00\00\00\00\00\F4\F5\F6\F7\F8\00\FA\FB\FC\00\00\00\D0\F0\AA\BA\00\00\CC\EC\CA\EA\00\00\00\00\00\00\00\00\AB\BB\00\00\00\00\A5\B5\CF\EF\00\00\C7\E7\00\00\00\00\00\00\D3\F3\A2\00\00\A6\B6\00\00\00\00\00\00\00\00\D1\F1\00\00\00\BD\BF\D2\F2\00\00\00\00\00\00\00\00\A3\B3\00\00\00\00\00\00\00\00\A9\B9\00\00\00\00\AC\BC\DD\FD\DE\FE\00\00\00\00\00\00\D9\F9\00\00\00\00\00\00\00\00\00\AE\BE\00\00\00\00\00\00\00\00\00\00\FF\00\B2\00\00\00\00\A0\00\00\00\00\00\00\FD\00\00\00\00\00\AD\00\00\00\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\00\AE\AF\00\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\00\FE\FF\00\00\00\00\00\00\F0\00\00\00\00\00\00\00\00\00\A0\00\00\00\A4\00\00\00\00\00\00\00\00\AD\00\00\00\00\00\00\00\00\00\00\00\00\00\00\AC\00\00\00\00\00\00\00\00\00\00\00\00\00\00\BB\00\00\00\BF\00\C1\C2\C3\C4\C5\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\00\00\00\00\00\F0\F1\F2\00\00\00\00\00\00\00\00\00\00\00\00\00\A0\00\00\A3\00\00\A6\A7\A8\A9\00\AB\AC\AD\00\00\B0\B1\B2\B3\00\00\00\B7\00\00\00\BB\00\BD\00\00\00\00\00\00\B4\B5\B6\00\B8\B9\BA\00\BC\00\BE\BF\D0\D1\00\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\FD\FE\00\00\00\00\00\00\AF\00\00\A1\A2\00\00\00\00\00\00\A0\00\A2\A3\A4\A5\A6\A7\A8\A9\00\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\00\BB\BC\BD\BE\00\00\00\00\00\00\00\00\DF\00\00\00\00\00\00\00\00\00\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\00\00\DF\00\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\00\00\FF\00\00\00\00\00\00\00\00\00\00\00\00\00\00\D0\F0\DD\FD\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\DE\FE\9A\00\00\00\00\00\00\00\00\BF\00\00\00\00\00\00\9C\00\9D\00\00\00\00\9E\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\9F\00\00\00\00\00\00\00\00\00\B3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E1\E2\F7\E7\E4\E5\F6\FA\E9\EA\EB\EC\ED\EE\EF\F0\F2\F3\F4\F5\E6\E8\E3\FE\FB\FD\FF\F9\F8\FC\E0\F1\C1\C2\D7\C7\C4\C5\D6\DA\C9\CA\CB\CC\CD\CE\CF\D0\D2\D3\D4\D5\C6\C8\C3\DE\DB\DD\DF\D9\D8\DC\C0\D1\00\A3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\95\96\00\00\00\00\00\00\00\00\00\00\00\00\00\97\00\00\00\00\00\00\00\00\00\00\00\98\99\00\00\00\00\00\00\00\00\00\00\93\9B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\00\81\00\00\00\00\00\00\00\00\00\82\00\00\00\83\00\00\00\84\00\00\00\85\00\00\00\86\00\00\00\00\00\00\00\87\00\00\00\00\00\00\00\88\00\00\00\00\00\00\00\89\00\00\00\00\00\00\00\8A\00\00\00\A0\A1\A2\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\00\00\00\8B\00\00\00\8C\00\00\00\8D\00\00\00\8E\00\00\00\8F\90\91\92\00\00\00\00\00\00\00\00\00\00\00\00\94\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A4\00\A6\A7\00\BF\00\AB\AC\AD\AE\00\B0\B1\B2\00\00\00\B6\B7\00\00\00\BB\00\00\00\00\00\00\83\81\00\00\00\00\00\00\90\80\00\00\00\00\00\00\8C\8A\00\00\8E\8D\00\00\00\00\00\00\00\00\00\00\B5\A5\00\00\00\00\00\00\00\00\00\00\A2\A1\00\B3\00\00\B4\00\B6\B7\00\00\00\00\00\00\00\00\00\A3\00\00\A4\00\A6\A7\00\00\00\00\00\00\00\00\BD\AD\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A0\A1\A2\00\A5\00\00\A8\A9\AA\AB\AC\00\AE\AF\B0\B1\B2\00\B5\00\00\B8\B9\BA\BB\BC\00\BE\00\00\00\00\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\00\00\00\00\DF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\00\00\00\00", [3604 x i8] c":!\1F2#\1E\02,\00'\04%&\05\07)\0F\12\09\0C\06\19\1A\0B+\00\00\00\00\00 \1D9*7407.$777\00\00\00\0158\03/3\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\17\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\16\19\19\19\19\13\00\00\00\00\00\00\00\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\14\00\00\00\00\00\00\00\007777777777777777777777777\19\10\08\19\1B-(\00\00\00\0E\22\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0061\00\00\11\0A\15\1C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\18\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\19\19\0D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E4\E4\E4\CD\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\D0\00\00\07\00\1A5UU>Uj\DE\00UovUUUUUUUUUUUZ\E4\DA\DEU\\\08UUUUI5UUUUUUUUUUS\E4\E4UUU\00\00\00\00\00\00\00UU\12?#UU(%;\C4-\002\03U\C7\00\B6PGUU(&=\E3\CC\1F\00 U\00\00\1DL(UU(U:\D2.\04\009U\00\00\1DUS\17UUGOS\11\D5\E4\00\00\1C\005UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU5UUUUXUAVXUk\00\00\00\00/\22\0B54\16\BC\CBJ\DEU<\00\00\00\00S\00\14\09U\BBSJDUUUUUUUUUUUUU7\00\00\00\14UUUUUSUUUUUUUS'S'UUUUS'UUUS'S'SSUUSUUTBLLUUUFJ\17(UUUUUUUUUUUUUUUUUUUUUULm\00UUn\00UUk\00UL*\00UUUUUU`\E4\E4\E4\E2\D3U7\00\00US'SUUUUSUU>\B9vp\D4\00\00\00\00UUUUUUUUUUI\00UUUR\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00UUUS\D0\00UUU>\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00UUUUG1\C5\C0UpY\C0\00\00\00\00\00\00\00\00UUUUR\00UUUUU)UUUUURUUUUUUU>\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00UUUUUUUUUULUUUUUUUUL\103UE&UUUUUUUUUUUUUUUUUU8UUUUUUUU>UUUUUUUUUU7UUUUUUUUUUUUUUUUUI\E4\E4\E4\E4\E4\E4\E0\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUH\00\00\00\00\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUHUUU\BBUUhUUUhUUUUUUUUUUUUUUUUUUUUR\00\00\00\00\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUUUR\00\00\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUUUUUUUS\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU^S\00xUUgUUUUUUUUUi\1F\00UUUUUUUY\00\00UUUUUUUU\17UUUUUU\00\00\00\00\00UNUU]UUU]UUXUUUXUUU\BBUUU\BBUUh9UUUUUU\86\AA\83\A7\86\AA\86\AA\83\A7{\96\86\AA\86\83\86\AA\86\AA\86\AA\82\AE\C9\AF}\AC\7F\AF\19\AD\92\92\00\00\00\00\97\AA\AA\AA\A86y\86\86\86\85\B4\B9\E4\CD\E4\E4\CD\D4\00UUU>g\00\92\92\92\92+\92\8F\00\00\00ezq~bUqraUURU\BDp\E4p\E4_\DF\00\00\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\91d\92\92\92\92\92\92\92\92\92\92\92\8C\92\92\92\92\92\92\92\9A\9Fs\92\92\92\92\92\A5\99\A0\A4\8E\93\9C\A1\8D[\8B\9F\9D\92\92\98\92\AA\AA\AA\AA\A7\86\86\86\86\83\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\AA\AA\AA\AA\AA\AA\86\86\86\86\86\86\92\92\92\92\94\CA\92\92\92\92\92\92\9A\9E\92\92\92\92\90\8C\B5\C1\E4\E4\E4\B9\E4\E4\E4\DC\C3\E0\B9\E4\E4\E4\E4\E4\D4\E4\E4\E4\B9\E0\00\00\E4\E4\E4\D0\E4\E4\B6K#UU($=\D1-\05\0A9U,\00\18@'0\13@T:\C5.\04\00\02U\C2\00\B6L(UU(Q:\D7.\0C\009U\00\00\1DL(UU(Q:\D7.\0C\019U\00\00\B6UUUUUU=\E4\DE\BEUoU,\00\B6K#UU(!;\D6-\04\0AlUp\C2\B9\E4Up\B1\AA\AA\B0\95\86\86\88\E1UUUUUUUUUUS\17\17\17\15\E0\E0\00\B8\BF\E4\E4\E4Up\E4\E4U5UUU>\B9\E4\E4H\E4\B9\E4\E4\E4\D7\E4\D6\00\00\00\00\00\00\CE\C8Zw\DDfcC\D9k\1B\E4\AA\AA\86\86H\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E0U7UUUUUUUUUUU\00UUUUU\BA\00\00\00\00\00\00\00\00\00\00\E4\E3\BBUUI\E4\E4\E4\C2\00\00\00\00\00\00UUUUY\E4t\00\00\00\00\00\00\00\00\00\E4\E4\00\00\D0\00\E4\E4\E5\B9\C6\E4\E0\D0LUUUUUUUUUUUUUUUUM\E4\E4\D2\B9\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\E4\C0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E4\E4\E4\D4\E4\E4\E4\E4\D0\00\B9\E4\E4\E4\E4\D1\E4\E4\E4\E4\E4\E4\E4\E4\E4\D0\E4\E4\E4\E4\E4\E0\E4\E4\E4\E4\E0\00\00\00\E4\C2\00\00\E4\E4\E4\E4\E4\E4\E4\D8UUW\AA\AA\AA\86\86\86\8A\E4\E0\E4\E4\E4\E4\E0\1E\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\00\00\00\00\E4\E4\E4\E4\E4\E4\E4\E4\DB\E4\00\00\E4\E4\0D\0F\0E\A2\9B\AA\A3\A6|\86\86\84\80\92\92\92\81\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E0\1B\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\E4\E4\E4\E0\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E0\00\00\00\00\00\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\00\00\00\E4\D0\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E6\E4\E4\E4vpw_5UUUUUUUUUS\B7vUUUUUUUUUUh\E9\E8\E4\E4\E4\EA\E4\E4\E4\E4\C4\06\D0\1Eu\E2\E4\E0\00\00\E4\E4\C0\00\00\00\E4\E4\E4\C2\00\00\EC\EB\EC\EC\E7\E4\B2\B3\B1\AA\AA\B0\95\86\86\89\EC\EC\EC\EC\E4\CF\DB\CF\AA\AA\AB\A9\86\86\87\86\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\11\00\00\00`\00\00\00f\00\00\00\90\00\00\06\00\00\00\10\11\00\00\10\16\00\00\11\10\00\00\11\11\00\00`\06\00\00f\00\00\00fd\00\01\00\06\00\01\10\01\00\06\00`\00\06\10\11\00\10\01\00\00\10\11\11\00\11\01\00\00\11\10\11\00\11\11\11\00\16\10\11\00!\01\11\00`\00`\00`ff\00f\06\00\00f\10\11\00fff\01\00\00\00\01\00\00\11\01\01\00\11\01\01\10\00\01\10\11\11\01\11\00\11\01\11\10\01\01\11\10\11\01\11\11\00\01\11\11\11\01`\00\00\01f\00\00\04$$$\06\00\00\00\06`f\00\06ff\00\10\01\01\10\10\01\01\11\10\01ff\10\11\01\01\10\11\01\11\10\11\10\10\10\11\11\11\10fff\11\00\00\00\11\00\00\10\11\00\00\11\11\00\00f\11\00\06f\11\00\11\00\11\00\16f\11\01\00\00\11\01\00\10\11\01\00\11\11\01\00`\11\01\10\11\11\06\10\11\11\10\01\11\11\10\10\11\11\10\11\01\11\10\11\11\11\11\00\00\11\11\01\00\11\11\01\01\11\11\01\10\11\11\01\11\11\11\01`\11\11\06\00\11\11\10\00\11\11\10\10\11\11\10\11\11\11\11\00\11\11\11\01\11\11\11\10\11\11\11\11\11\11\11\16\11\11\11D\11\11\11a\11\11\11f\11\11\16f\11\114B\11\11a\06\11\11a\11\11\11a\16\11\11af\11\11ff\11\12\11\11\11\12!\11\11\16\11\11\11!\00\00\11!\12\22\11D\11\16\11a\06\00\11a\11\11\11af\11\11aff\11f\00\00\11f\00\11\11f\06\00\11ff\06\11ff\11\11fff\12!\11\11\12\22\11\11\12$$$\16\00\00\00\16\00ff\16\11\11\11\16\11\11f\19\11\11\11 \22\22\22!!\11\11!!!!!\22\22\22\22\11\00\11\22\11\11!\22\11!\11\22\11!\12\22\12$\06\22!\01\11\22\22\22\00\22\22\22\02\22\22\22\12\22\22\22\22\22\22\22b\22bff\22bf\E6\22fff#4BB$\00\00\00$\11$!$\11DB$$\00\00$$$\00$$$\11$$$$$$$D$ff\06&\22\22\22@@@@@DDDA#$DA$$DABBBADDDB\11$DBB\22$BBB\02BBBBBD\12DBDBBD\04\04DD@DDDB$DDBB\22DD\22\22DDD\00DDD\04DDD$DDDDDDDdDD`fDDd\06DDdbDDdfDdffFDDDUUUUUfff`\06\00\00`f\06f`f\10\11`f\16\11`ff\00`fffa\00\00\00a\11\11\11a\11ffa\16\11\11af\06\00affff\00\00\00f\00fff\06\00\00f\06\00\06f\06\00`f\06\00ff\06fff\11\01\00f\11\11\11f!\01\11f$$$f`\16\00f`f\00f`fffaf\16faffff\00\00ff\00`ff\00fff\01\00ff\06\00ff\06\06ff\06`ff\06fff\11\11ff\16\11ff\16aff&fff``ffadfff\00fff\01fff\06fff\11fff\16fff`ffffffv\07if\16\11ifff\99\99ff\99\99\99i\CCfff\DE\CC\CC\EE\EE\EE\EE\EE", [1680 x i8] c"\04\06\07\00\00\00\00\00\00\00\00\00\00\00\00\05\01\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\00\00\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\0D\00\00\00\00\00\00QQRR\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\1B\1B\19\0F\1F\1F\1D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\03SSSUUUT\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\1B\1B\19\0F\1F\1F\1D\00\00\00\00\00\00\04\00\1B\1B\1A\1A\1F\1F\1E ((((((1\10,*(((((2\11.3%)/0$\064,-((\12((((((((((((((((((('\08(((((((((((#GIFHGIGIFH\16\17GIMNGIGIGIEJ\09OCKDL\09P((((5(&\00\00\00\07\1367\0B\0089\0C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\01:\0E\1B\18\1C\0F\1F\22!;(((<\00>>\1B\1B\1B\1B\1F\1F\1F\1F==((((#\0A((((((\10+(((('#((\00\00\00\00\14@@@?\00\15BBBA\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00WWWWVYYYYX\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\001\00\00\00\00\00\00\00Y\00\00\00\00\00\00\00^^\00\00\00\00\00\03\00\00\00\00\00\00\000\00\00\00\00\00\00\1C\1D\1E\1C\00\00\00#$\00%%\00\00\00E\00\00\00\00\00\00\00N\00\00\00\00\00\00\05\06\05\06\05\06\00\00+\00\00,\00\00\00\00/\00\00\00\00\00\00\00Z[\00\00\00\00\00\01\01\01\01\01\01\01\00\02\02\02\02\02\02\02\00\05\06\05\06\05\06\05\00\0B\05\06\05\06\0C\05\00\1C\1D\1E\05\06 !\00&\00'\00\00\00\00\00CCCCCCC\00DDDDDDD\00F\00F\00F\00F\00G\00G\00G\00G\01\01\00\01\01\01\01\01\01\01\01\00\00\00\00\00\01\01\01\01\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\015666\02\02\02\00\00\00\00\00\02\02\02\02\02\02\02\00\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\04\02\02\02\02899\00\02\027\02\02\02\02\02\05\06\00\00\00\00\00\00\05\06\00\00\05\06\00\1B\05\06\00\00\13\15\16\17\05\06\05\06\00\00\00\00\05\06\05\06\05\06\00\00\05\06\05\06\05\06\05\06\05\06\05\06\05\06\18\05\06\00\05\06\05\06\05\06\06\05\06\05\06\05\06\00\06\05\06\05\06\05\06\05\06\05\06\05\06\1F\05\06\06\0D\0D\05\06\00\0E\0F\06\18\00\00\05\06\18\05\06\19\19\05\06\05\06\1A\07\08\05\06\05\06\05\06\09\05\06\05\06\05\06\0A\10\05\06\0D\11\12\13\14\1D\1E\1C\1D\1E\05\06\05\22\00\05\06\05\06\05\06%\00\00(\00\00\00\00)*\00\00\00\00\00*-\00\00-\00\00\00\00-\00..\00\00\00\00222\003\0044:;\00\00\00<=\00>?\1F\00@A\00\00????????BBBBBBBBCCCCCCC\00CCCCCCCCDDDDDDD\00DDDDDDDDFF\00\00\00\00\00\00FF\00\00\00T\00\00FF\00N\00\00\00\00FFFFFF\00\00FFFFFFFFGGGGGG\00\00GGGGGGGGGGOOP\00Q\00GGSS\00\00\00\00GGUUV\00\00\00HHIIIIJJKKLLMM\00\00RRRRP\00\00\00WWXXP\00\00\00\\\\\\\\\\\\\\\\]]]]]]]]^^^^^^^^__\00\00\00\00\00\00________``````\00\00````````aaaaaa\00\00aaaaaaaa", [196 x i16] [i16 0, i16 0, i16 0, i16 32, i16 -32, i16 0, i16 743, i16 0, i16 121, i16 0, i16 0, i16 1, i16 -1, i16 0, i16 0, i16 -199, i16 -232, i16 0, i16 0, i16 -121, i16 -300, i16 0, i16 0, i16 210, i16 0, i16 206, i16 0, i16 205, i16 0, i16 79, i16 0, i16 202, i16 0, i16 203, i16 0, i16 207, i16 97, i16 0, i16 0, i16 211, i16 0, i16 209, i16 0, i16 213, i16 130, i16 0, i16 0, i16 214, i16 0, i16 218, i16 0, i16 217, i16 0, i16 219, i16 56, i16 0, i16 0, i16 2, i16 -1, i16 1, i16 -2, i16 0, i16 -79, i16 0, i16 0, i16 -97, i16 0, i16 -56, i16 0, i16 -130, i16 -210, i16 0, i16 -206, i16 0, i16 -205, i16 0, i16 -202, i16 0, i16 -203, i16 0, i16 -207, i16 0, i16 -209, i16 0, i16 -211, i16 0, i16 -213, i16 0, i16 -214, i16 0, i16 -218, i16 0, i16 -217, i16 0, i16 -219, i16 0, i16 84, i16 0, i16 0, i16 38, i16 0, i16 37, i16 0, i16 64, i16 0, i16 63, i16 -38, i16 0, i16 -37, i16 0, i16 -31, i16 0, i16 -64, i16 0, i16 -63, i16 0, i16 -62, i16 0, i16 -57, i16 0, i16 -47, i16 0, i16 -54, i16 0, i16 -86, i16 0, i16 -80, i16 0, i16 0, i16 -60, i16 -96, i16 0, i16 0, i16 80, i16 0, i16 48, i16 -48, i16 0, i16 -59, i16 0, i16 8, i16 0, i16 0, i16 -8, i16 74, i16 0, i16 86, i16 0, i16 100, i16 0, i16 128, i16 0, i16 112, i16 0, i16 126, i16 0, i16 9, i16 0, i16 0, i16 -74, i16 0, i16 -9, i16 -7205, i16 0, i16 0, i16 -86, i16 0, i16 -100, i16 7, i16 0, i16 0, i16 -112, i16 0, i16 -7, i16 0, i16 -128, i16 0, i16 -126, i16 0, i16 -7517, i16 0, i16 -8383, i16 0, i16 -8262, i16 0, i16 16, i16 -16, i16 0, i16 0, i16 26, i16 -26, i16 0, i16 0, i16 40, i16 -40, i16 0], [51 x i8] c"\000\001\002\003\004\005\006\007\008\009\00\DB\B0\00\DB\B1\00\DB\B2\00\DB\B3\00\DB\B4\00\DB\B5\00\DB\B6\00\DB\B7\00\DB\B8\00\DB\B9\00", [28 x i8] c"\00.\00,\00\03\00\03\02\00\A0\00\C2\A0\00 \00\D9\AB\00\D9\AC\00'\00\02\03\00", [1646 x i8] c"\00\7F\00-\00ZAR \00R\00,\00.\00\03\00\02\00\01\00-R\00ETB \00$\00-$\00AED \00\CF.\C5.\00-\CF.\C5.\00\D8\AF.\D8\A5.\00-\D8\AF.\D8\A5.\00BHD \00\CF.\C8.\00-\CF.\C8.\00\D8\AF.\D8\A8.\00-\D8\AF.\D8\A8.\00DZD \00\CF.\CC.\00-\CF.\CC.\00\D8\AF.\D8\AC.\00-\D8\AF.\D8\AC.\00EGP \00\CC.\E5.\00-\CC.\E5.\00\D8\AC.\D9\85.\00-\D8\AC.\D9\85.\00INR \00\E2\82\A8\00\03\02\00-\E2\82\A8\00IQD \00\CF.\D9.\00-\CF.\D9.\00\D8\AF.\D8\B9.\00-\D8\AF.\D8\B9.\00JOD \00\CF.\C3.\00-\CF.\C3.\00\D8\AF.\D8\A3.\00-\D8\AF.\D8\A3.\00KWD \00\CF.\E3.\00-\CF.\E3.\00\D8\AF.\D9\83.\00-\D8\AF.\D9\83.\00LBP \00\E4.\E4.\00-\E4.\E4.\00\D9\84.\D9\84.\00-\D9\84.\D9\84.\00LYD \00\CF.\E4.\00-\CF.\E4.\00\D8\AF.\D9\84.\00-\D8\AF.\D9\84.\00MAD \00\CF.\E5.\00-\CF.\E5.\00\D8\AF.\D9\85.\00-\D8\AF.\D9\85.\00OMR \00\D1.\D9.\00-\D1.\D9.\00\D8\B1.\D8\B9.\00-\D8\B1.\D8\B9.\00QAR \00\D1.\E2.\00-\D1.\E2.\00\D8\B1.\D9\82.\00-\D8\B1.\D9\82.\00SAR \00\D1\EA\C7\E4\00+\D1\EA\C7\E4\00\D8\B1\D9\8A\D8\A7\D9\84\00+\D8\B1\D9\8A\D8\A7\D9\84\00SDP \00\CC.\D3.\00-\CC.\D3.\00\D8\AC.\D8\B3.\00-\D8\AC.\D8\B3.\00SYP \00\E4.\D3.\00-\E4.\D3.\00\D9\84.\D8\B3.\00-\D9\84.\D8\B3.\00TND \00\CF.\CA.\00-\CF.\CA.\00\D8\AF.\D8\AA.\00-\D8\AF.\D8\AA.\00YER \00\D1.\EA.\00-\D1.\EA.\00\D8\B1.\D9\8A.\00-\D8\B1.\D9\8A.\00AZM \00man.\00 \00+man.\00BYR \00\F0\F3\E1\00+\F0\F3\E1\00\D1\80\D1\83\D0\B1\00+\D1\80\D1\83\D0\B1\00BGL \00\EB\E2\00\A0\00+\EB\E2\00\D0\BB\D0\B2\00\C2\A0\00+\D0\BB\D0\B2\00\E0\A7\B3\00-\E0\A7\B3\00\E0\A6\9F\E0\A6\BE\E0\A6\95\E0\A6\BE\00\02\03\00-\E0\A6\9F\E0\A6\BE\E0\A6\95\E0\A6\BE\00EUR \00EUR\00+EUR\00\E2\82\AC\00+\E2\82\AC\00BAK \00KM\00-KM\00-EUR\00-\E2\82\AC\00\A4\00-\A4\00CZK \00K\E8\00+K\E8\00K\C4\8D\00+K\C4\8D\00GBP \00\A3\00-\A3\00\C2\A3\00-\C2\A3\00DKK \00kr\00\04\00-kr\00CHF \00Fr.\00-Fr.\00+\A4\00AUD \00BWP \00Pu\00-Pu\00CAD \00\C2\A4\00-\C2\A4\00HKD \00HK$\00-HK$\00NZD \00PHP \00Php\00-Php\00SGD \00USD \00ZWD \00Z$\00-Z$\00-EUR \00ARS \00BOB \00$b\00-$b\00CLP \00COP \00CRC \00C\00-C\00DOP \00ECS \00GTQ \00Q\00-Q\00HNL \00L.\00-L.\00MXP \00NIO \00$C\00-$C\00PAB \00B/\00-B/\00PEN \00S/\00-S/\00PYG \00Gs.\00-Gs.\00SVC \00\A2\00-\A2\00\C2\A2\00-\C2\A2\00UYU \00N$\00-N$\00VEB \00Bs.\00-Bs.\00EEK \00IRR \00\D8\B1\DB\8C\D8\A7\D9\84\00\D9\AB\00\D9\AC\00+\D8\B1\DB\8C\D8\A7\D9\84\00+$\00ILS \00\F9\E7\00-\F9\E7\00\D7\A9\D7\97\00-\D7\A9\D7\97\00\E0\A4\B0\E0\A5\82\00-\E0\A4\B0\E0\A5\82\00HRK \00Kn\00-Kn\00HUF \00Ft\00+Ft\00AMD \00\B8\00-\B8\00\D4\B4\00-\D4\B4\00IDR \00Rp\00-Rp\00ISK \00+kr\00JPY \00\EF\BF\A5\00-\EF\BF\A5\00GEL \00\CB\00-\CB\00\E1\83\9A\00-\E1\83\9A\00KRW \00\EF\BF\A6\00-\EF\BF\A6\00LTL \00Lt\00+Lt\00LVL \00Ls\00-Ls\00MKD \00\D4\D5\DD\00+\D4\D5\DD\00\D0\B4\D0\B5\D0\BD\00+\D0\B4\D0\B5\D0\BD\00\E0\A4\B0\E0\A5\81\00-\E0\A4\B0\E0\A5\81\00MYR \00RM\00-RM\00MTL \00Lm\00-Lm\00NOK \00PLN \00Z\B3\00-Z\B3\00Z\C5\82\00-Z\C5\82\00BRL \00R$\00+R$\00ROL \00Lei\00-Lei\00RUR \00\D2\D5\C2\00+\D2\D5\C2\00\E0\E3\D1\00+\E0\E3\D1\00UAH \00\C7\D2\00+\C7\D2\00\D0\B3\D1\80\00+\D0\B3\D1\80\00 ru\00- ru\00SKK \00Sk\00+Sk\00SIT \00SIT\00+SIT\00ALL \00Lek\00-Lek\00YUN \00din\00-din\00\D4\D8\DD\00-\D4\D8\DD\00\D0\B4\D0\B8\D0\BD\00-\D0\B4\D0\B8\D0\BD\00SEK \00THB \00\DF\00-\DF\00\E0\B8\BF\00-\E0\B8\BF\00ERB \00PhP\00-PhP\00TRL \00TL\00+TL\00PKR \00Rs\00-Rs\00UZS \00so'm\00-so'm\00VND \00\E2\82\AB\00+\E2\82\AB\00CNY \00TWD \00NT$\00-NT$\00", [28353 x i8] c"\00Sun\00Mon\00Tue\00Wed\00Thu\00Fri\00Sat\00Sunday\00Monday\00Tuesday\00Wednesday\00Thursday\00Friday\00Saturday\00Jan\00Feb\00Mar\00Apr\00May\00Jun\00Jul\00Aug\00Sep\00Oct\00Nov\00Dec\00January\00February\00March\00April\00June\00July\00August\00September\00October\00November\00December\00AM\00PM\00%a %b %e %H:%M:%S %Y\00%m/%d/%y\00%H:%M:%S\00%I:%M:%S %p\00So\00Ma\00Di\00Wo\00Do\00Vr\00Sa\00Sondag\00Maandag\00Dinsdag\00Woensdag\00Donderdag\00Vrydag\00Saterdag\00Mei\00Okt\00Des\00Januarie\00Februarie\00Maart\00Junie\00Julie\00Augustus\00Oktober\00Desember\00VM\00NM\00%a %d %b %Y %T %Z\00%d/%m/%y\00%T\00\E1\8A\A5\E1\88\91\E1\8B\B5\00\E1\88\B0\E1\8A\9E\00\E1\88\9B\E1\8A\AD\E1\88\B0\E1\8A\9E\00\E1\88\A8\E1\89\A1\E1\8B\95\00\E1\88\90\E1\88\99\E1\88\B5\00\E1\8B\93\E1\88\AD\E1\89\A5\00\E1\89\85\E1\8B\B3\E1\88\9C\00\E1\8C\83\E1\8A\95\E1\8B\A9\00\E1\8D\8C\E1\89\A5\E1\88\A9\00\E1\88\9B\E1\88\AD\E1\89\BD\00\E1\8A\A4\E1\8D\95\E1\88\A8\00\E1\88\9C\E1\8B\AD\00\E1\8C\81\E1\8A\95\00\E1\8C\81\E1\88\8B\E1\8B\AD\00\E1\8A\A6\E1\8C\88\E1\88\B5\00\E1\88\B4\E1\8D\95\E1\89\B4\00\E1\8A\A6\E1\8A\AD\E1\89\B0\00\E1\8A\96\E1\89\AC\E1\88\9D\00\E1\8B\B2\E1\88\B4\E1\88\9D\00\E1\8C\83\E1\8A\95\E1\8B\A9\E1\8B\88\E1\88\AA\00\E1\8D\8C\E1\89\A5\E1\88\A9\E1\8B\88\E1\88\AA\00\E1\8A\A4\E1\8D\95\E1\88\A8\E1\88\8D\00\E1\8A\A6\E1\8C\88\E1\88\B5\E1\89\B5\00\E1\88\B4\E1\8D\95\E1\89\B4\E1\88\9D\E1\89\A0\E1\88\AD\00\E1\8A\A6\E1\8A\AD\E1\89\B0\E1\8B\8D\E1\89\A0\E1\88\AD\00\E1\8A\96\E1\89\AC\E1\88\9D\E1\89\A0\E1\88\AD\00\E1\8B\B2\E1\88\B4\E1\88\9D\E1\89\A0\E1\88\AD\00\E1\8C\A0\E1\8B\8B\E1\89\B5\00\E1\8A\A8\E1\88\B3\E1\8B\93\E1\89\B5\00%A\E1\8D\A3 %b %e \E1\89\80\E1\8A\95 %l:%M:%S %Z %Y\00%d/%m/%Y\00%r\00\CD\00\E6\00\CB\00\D1\00\CE\00\CC\00\D3\00\C7\E4\C3\CD\CF\00\C7\E4\C7\CB\E6\EA\E6\00\C7\E4\CB\E4\C7\CB\C7\C1\00\C7\E4\C3\D1\C8\D9\C7\C1\00\C7\E4\CE\E5\EA\D3\00\C7\E4\CC\E5\D9\C9\00\C7\E4\D3\C8\CA \00\EA\E6\C7\00\E1\C8\D1\00\E5\C7\D1\00\C3\C8\D1\00\E5\C7\EA\00\EA\E8\E6\00\EA\E8\E4\00\C3\DA\D3\00\D3\C8\CA\00\C3\E3\CA\00\E6\E8\E1\00\CF\EA\D3\00\EA\E6\C7\EA\D1\00\E1\C8\D1\C7\EA\D1\00\E5\C7\D1\D3\00\C3\C8\D1\EA\E4\00\E5\C7\EA\E8\00\EA\E8\E6\EA\E8\00\EA\E8\E4\EA\E8\00\C3\DA\D3\D7\D3\00\D3\C8\CA\E5\C8\D1\00\C3\E3\CA\E8\C8\D1\00\E6\E8\E1\E5\C8\D1\00\CF\EA\D3\E5\C8\D1\00\D5\00\E5\00%d %b, %Y %Z %I:%M:%S %p\00%d %b, %Y\00%Z %I:%M:%S \00%Z %I:%M:%S %p\00\D8\AD\00\D9\86\00\D8\AB\00\D8\B1\00\D8\AE\00\D8\AC\00\D8\B3\00\D8\A7\D9\84\D8\A3\D8\AD\D8\AF\00\D8\A7\D9\84\D8\A7\D8\AB\D9\86\D9\8A\D9\86\00\D8\A7\D9\84\D8\AB\D9\84\D8\A7\D8\AB\D8\A7\D8\A1\00\D8\A7\D9\84\D8\A3\D8\B1\D8\A8\D8\B9\D8\A7\D8\A1\00\D8\A7\D9\84\D8\AE\D9\85\D9\8A\D8\B3\00\D8\A7\D9\84\D8\AC\D9\85\D8\B9\D8\A9\00\D8\A7\D9\84\D8\B3\D8\A8\D8\AA \00\D9\8A\D9\86\D8\A7\00\D9\81\D8\A8\D8\B1\00\D9\85\D8\A7\D8\B1\00\D8\A3\D8\A8\D8\B1\00\D9\85\D8\A7\D9\8A\00\D9\8A\D9\88\D9\86\00\D9\8A\D9\88\D9\84\00\D8\A3\D8\BA\D8\B3\00\D8\B3\D8\A8\D8\AA\00\D8\A3\D9\83\D8\AA\00\D9\86\D9\88\D9\81\00\D8\AF\D9\8A\D8\B3\00\D9\8A\D9\86\D8\A7\D9\8A\D8\B1\00\D9\81\D8\A8\D8\B1\D8\A7\D9\8A\D8\B1\00\D9\85\D8\A7\D8\B1\D8\B3\00\D8\A3\D8\A8\D8\B1\D9\8A\D9\84\00\D9\85\D8\A7\D9\8A\D9\88\00\D9\8A\D9\88\D9\86\D9\8A\D9\88\00\D9\8A\D9\88\D9\84\D9\8A\D9\88\00\D8\A3\D8\BA\D8\B3\D8\B7\D8\B3\00\D8\B3\D8\A8\D8\AA\D9\85\D8\A8\D8\B1\00\D8\A3\D9\83\D8\AA\D9\88\D8\A8\D8\B1\00\D9\86\D9\88\D9\81\D9\85\D8\A8\D8\B1\00\D8\AF\D9\8A\D8\B3\D9\85\D8\A8\D8\B1\00\D8\B5\00\D9\85\00\C7\E4\D3\C8\CA\00\D8\A7\D9\84\D8\B3\D8\A8\D8\AA\00%A %d %B %Y %I:%M:%S %p %Z\00%A %d %B %Y\00%I:%M:%S %Z\00%I:%M:%S %p %Z\00\E3\C7\E6\E8\E6 \C7\E4\CB\C7\E6\EA\00\D4\C8\C7\D7\00\C2\D0\C7\D1\00\E6\EA\D3\C7\E6\00\E6\E8\C7\D1\00\CD\D2\EA\D1\C7\E6\00\CA\E5\E8\D2\00\C2\C8\00\C3\EA\E4\E8\E4\00\CA\D4\D1\EA\E6 \C7\E4\C3\E8\E4\00\CA\D4\D1\EA\E6 \C7\E4\CB\C7\E6\EA\00\E3\C7\E6\E8\E6 \C7\E4\C3\E8\E4\00\D9\83\D8\A7\D9\86\D9\88\D9\86 \D8\A7\D9\84\D8\AB\D8\A7\D9\86\D9\8A\00\D8\B4\D8\A8\D8\A7\D8\B7\00\D8\A2\D8\B0\D8\A7\D8\B1\00\D9\86\D9\8A\D8\B3\D8\A7\D9\86\00\D9\86\D9\88\D8\A7\D8\B1\00\D8\AD\D8\B2\D9\8A\D8\B1\D8\A7\D9\86\00\D8\AA\D9\85\D9\88\D8\B2\00\D8\A2\D8\A8\00\D8\A3\D9\8A\D9\84\D9\88\D9\84\00\D8\AA\D8\B4\D8\B1\D9\8A\D9\86 \D8\A7\D9\84\D8\A3\D9\88\D9\84\00\D8\AA\D8\B4\D8\B1\D9\8A\D9\86 \D8\A7\D9\84\D8\AB\D8\A7\D9\86\D9\8A\00\D9\83\D8\A7\D9\86\D9\88\D9\86 \D8\A7\D9\84\D8\A3\D9\88\D9\84\00\C7\E4\C5\CB\E6\EA\E6\00\C7\E4\CC\E5\D9\E0\C9\00\E6\EA\D3\E0\C7\E6\00\C3\EA\C7\D1\00\CA\E0\E5\E0\E8\D2\00%A %.1d %B %Y %.1H:%M:%S\00%A %.1d %B %Y\00%.1H:%M:%S\00\D8\A7\D9\84\D8\A5\D8\AB\D9\86\D9\8A\D9\86\00\D8\A7\D9\84\D8\AC\D9\85\D8\B9\D9\80\D8\A9\00\D9\86\D9\8A\D8\B3\D9\80\D8\A7\D9\86\00\D8\A3\D9\8A\D8\A7\D8\B1\00\D8\AA\D9\80\D9\85\D9\80\D9\88\D8\B2\00\E6\E8\C7\D1\C7\E6\00\CD\D2\EA\D1\00\D9\86\D9\88\D8\A7\D8\B1\D8\A7\D9\86\00\D8\AD\D8\B2\D9\8A\D8\B1\00baz\00bir\00iki\00\FC\E7\FC\00d\F6r\00be\FE\00alt\00bazar g\FCn\FC\00birinci g\FCn\00ikinci g\FCn\00\FC\E7\FCnc\FC g\FCn\00d\F6rd\FCnc\FC g\FCn\00be\FEinci g\FCn\00alt\FDnc\FD g\FCn\00Yan\00Fev\00\DDyn\00\DDyl\00Avq\00Sen\00Noy\00Dek\00yanvar\00fevral\00mart\00aprel\00may\00iyun\00iyul\00avqust\00sentyabr\00oktyabr\00noyabr\00dekabr\00%A, %d %B %Y %T\00%d.%m.%Y\00\C3\BC\C3\A7\C3\BC\00d\C3\B6r\00be\C5\9F\00bazar g\C3\BCn\C3\BC\00birinci g\C3\BCn\00ikinci g\C3\BCn\00\C3\BC\C3\A7\C3\BCnc\C3\BC g\C3\BCn\00d\C3\B6rd\C3\BCnc\C3\BC g\C3\BCn\00be\C5\9Finci g\C3\BCn\00alt\C4\B1nc\C4\B1 g\C3\BCn\00\C4\B0yn\00\C4\B0yl\00\CD\FF\E4\00\CF\E0\ED\00\C0\A2\F2\00\D1\F0\E4\00\D7\F6\E2\00\CF\FF\F2\00\D1\F3\E1\00\CD\FF\E4\E7\E5\EB\FF\00\CF\E0\ED\FF\E4\E7\E5\EB\E0\EA\00\C0\A2\F2\EE\F0\E0\EA\00\D1\E5\F0\E0\E4\E0\00\D7\E0\F6\E2\E5\F0\00\CF\FF\F2\ED\B3\F6\E0\00\D1\F3\E1\EE\F2\E0\00\D1\F2\E4\00\CB\FE\F2\00\D1\E0\EA\00\CA\F0\F1\00\D2\F0\E0\00\D7\FD\F0\00\CB\B3\EF\00\C6\ED\E2\00\C2\F0\F1\00\CA\F1\F2\00\CB\B3\F1\00\D1\ED\E6\00\D1\F2\F3\E4\E7\E5\ED\FC\00\CB\FE\F2\FB\00\D1\E0\EA\E0\E2\B3\EA\00\CA\F0\E0\F1\E0\E2\B3\EA\00\D2\F0\E0\E2\E5\ED\FC\00\D7\FD\F0\E2\E5\ED\FC\00\CB\B3\EF\E5\ED\FC\00\C6\ED\B3\E2\E5\ED\FC\00\C2\E5\F0\E0\F1\E5\ED\FC\00\CA\E0\F1\F2\F0\FB\F7\ED\B3\EA\00\CB\B3\F1\F2\E0\EF\E0\E4\00\D1\ED\E5\E6\E0\ED\FC\00%a %d %b %Y %T\00\D0\9D\D1\8F\D0\B4\00\D0\9F\D0\B0\D0\BD\00\D0\90\D1\9E\D1\82\00\D0\A1\D1\80\D0\B4\00\D0\A7\D1\86\D0\B2\00\D0\9F\D1\8F\D1\82\00\D0\A1\D1\83\D0\B1\00\D0\9D\D1\8F\D0\B4\D0\B7\D0\B5\D0\BB\D1\8F\00\D0\9F\D0\B0\D0\BD\D1\8F\D0\B4\D0\B7\D0\B5\D0\BB\D0\B0\D0\BA\00\D0\90\D1\9E\D1\82\D0\BE\D1\80\D0\B0\D0\BA\00\D0\A1\D0\B5\D1\80\D0\B0\D0\B4\D0\B0\00\D0\A7\D0\B0\D1\86\D0\B2\D0\B5\D1\80\00\D0\9F\D1\8F\D1\82\D0\BD\D1\96\D1\86\D0\B0\00\D0\A1\D1\83\D0\B1\D0\BE\D1\82\D0\B0\00\D0\A1\D1\82\D0\B4\00\D0\9B\D1\8E\D1\82\00\D0\A1\D0\B0\D0\BA\00\D0\9A\D1\80\D1\81\00\D0\A2\D1\80\D0\B0\00\D0\A7\D1\8D\D1\80\00\D0\9B\D1\96\D0\BF\00\D0\96\D0\BD\D0\B2\00\D0\92\D1\80\D1\81\00\D0\9A\D1\81\D1\82\00\D0\9B\D1\96\D1\81\00\D0\A1\D0\BD\D0\B6\00\D0\A1\D1\82\D1\83\D0\B4\D0\B7\D0\B5\D0\BD\D1\8C\00\D0\9B\D1\8E\D1\82\D1\8B\00\D0\A1\D0\B0\D0\BA\D0\B0\D0\B2\D1\96\D0\BA\00\D0\9A\D1\80\D0\B0\D1\81\D0\B0\D0\B2\D1\96\D0\BA\00\D0\A2\D1\80\D0\B0\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\A7\D1\8D\D1\80\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\9B\D1\96\D0\BF\D0\B5\D0\BD\D1\8C\00\D0\96\D0\BD\D1\96\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\92\D0\B5\D1\80\D0\B0\D1\81\D0\B5\D0\BD\D1\8C\00\D0\9A\D0\B0\D1\81\D1\82\D1\80\D1\8B\D1\87\D0\BD\D1\96\D0\BA\00\D0\9B\D1\96\D1\81\D1\82\D0\B0\D0\BF\D0\B0\D0\B4\00\D0\A1\D0\BD\D0\B5\D0\B6\D0\B0\D0\BD\D1\8C\00\ED\E4\00\EF\ED\00\E2\F2\00\F1\F0\00\F7\F2\00\EF\F2\00\F1\E1\00\ED\E5\E4\E5\EB\FF\00\EF\EE\ED\E5\E4\E5\EB\ED\E8\EA\00\E2\F2\EE\F0\ED\E8\EA\00\F1\F0\FF\E4\E0\00\F7\E5\F2\E2\FA\F0\F2\FA\EA\00\EF\E5\F2\FA\EA\00\F1\FA\E1\EE\F2\E0\00\FF\ED\F3\00\F4\E5\E2\00\EC\E0\F0\00\E0\EF\F0\00\EC\E0\E9\00\FE\ED\E8\00\FE\EB\E8\00\E0\E2\E3\00\F1\E5\EF\00\EE\EA\F2\00\ED\EE\E5\00\E4\E5\EA\00\FF\ED\F3\E0\F0\E8\00\F4\E5\E2\F0\F3\E0\F0\E8\00\EC\E0\F0\F2\00\E0\EF\F0\E8\EB\00\E0\E2\E3\F3\F1\F2\00\F1\E5\EF\F2\E5\EC\E2\F0\E8\00\EE\EA\F2\EE\EC\E2\F0\E8\00\ED\EE\E5\EC\E2\F0\E8\00\E4\E5\EA\E5\EC\E2\F0\E8\00%x (%a) %X %Z\00%e.%m.%Y\00%k,%M,%S\00%l,%M,%S\00\D0\BD\D0\B4\00\D0\BF\D0\BD\00\D0\B2\D1\82\00\D1\81\D1\80\00\D1\87\D1\82\00\D0\BF\D1\82\00\D1\81\D0\B1\00\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D1\8F\00\D0\BF\D0\BE\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D0\BD\D0\B8\D0\BA\00\D0\B2\D1\82\D0\BE\D1\80\D0\BD\D0\B8\D0\BA\00\D1\81\D1\80\D1\8F\D0\B4\D0\B0\00\D1\87\D0\B5\D1\82\D0\B2\D1\8A\D1\80\D1\82\D1\8A\D0\BA\00\D0\BF\D0\B5\D1\82\D1\8A\D0\BA\00\D1\81\D1\8A\D0\B1\D0\BE\D1\82\D0\B0\00\D1\8F\D0\BD\D1\83\00\D1\84\D0\B5\D0\B2\00\D0\BC\D0\B0\D1\80\00\D0\B0\D0\BF\D1\80\00\D0\BC\D0\B0\D0\B9\00\D1\8E\D0\BD\D0\B8\00\D1\8E\D0\BB\D0\B8\00\D0\B0\D0\B2\D0\B3\00\D1\81\D0\B5\D0\BF\00\D0\BE\D0\BA\D1\82\00\D0\BD\D0\BE\D0\B5\00\D0\B4\D0\B5\D0\BA\00\D1\8F\D0\BD\D1\83\D0\B0\D1\80\D0\B8\00\D1\84\D0\B5\D0\B2\D1\80\D1\83\D0\B0\D1\80\D0\B8\00\D0\BC\D0\B0\D1\80\D1\82\00\D0\B0\D0\BF\D1\80\D0\B8\D0\BB\00\D0\B0\D0\B2\D0\B3\D1\83\D1\81\D1\82\00\D1\81\D0\B5\D0\BF\D1\82\D0\B5\D0\BC\D0\B2\D1\80\D0\B8\00\D0\BE\D0\BA\D1\82\D0\BE\D0\BC\D0\B2\D1\80\D0\B8\00\D0\BD\D0\BE\D0\B5\D0\BC\D0\B2\D1\80\D0\B8\00\D0\B4\D0\B5\D0\BA\D0\B5\D0\BC\D0\B2\D1\80\D0\B8\00\E0\A6\B0\E0\A6\AC\E0\A6\BF\00\E0\A6\B8\E0\A7\8B\E0\A6\AE\00\E0\A6\AE\E0\A6\99\E0\A6\97\E0\A6\B2\00\E0\A6\AC\E0\A7\81\E0\A6\A7\00\E0\A6\AC\E0\A7\83\E0\A6\B9\E0\A6\B8\E0\A7\8D\E0\A6\AA\E0\A6\A4\E0\A6\BF\00\E0\A6\B6\E0\A7\81\E0\A6\95\E0\A7\8D\E0\A6\B0\00\E0\A6\B6\E0\A6\A8\E0\A6\BF\00\E0\A6\B0\E0\A6\AC\E0\A6\BF\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B8\E0\A7\8B\E0\A6\AE\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\AE\E0\A6\99\E0\A6\97\E0\A6\B2\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\AC\E0\A7\81\E0\A6\A7\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\AC\E0\A7\83\E0\A6\B9\E0\A6\B8\E0\A7\8D\E0\A6\AA\E0\A6\A4\E0\A6\BF\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B6\E0\A7\81\E0\A6\95\E0\A7\8D\E0\A6\B0\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B6\E0\A6\A8\E0\A6\BF\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\9C\E0\A6\BE\E0\A6\A8\00\E0\A6\AB\E0\A7\87\E0\A6\AC\00\E0\A6\AE\E0\A6\BE\E0\A6\B0\00\E0\A6\8F\E0\A6\AA\E0\A7\8D\E0\A6\B0\00\E0\A6\AE\E0\A7\87\00\E0\A6\9C\E0\A7\81\E0\A6\A8\00\E0\A6\9C\E0\A7\81\E0\A6\B2\00\E0\A6\86\E0\A6\97\00\E0\A6\B8\E0\A7\87\E0\A6\AA\00\E0\A6\85\E0\A6\95\E0\A7\8D\E0\A6\9F\E0\A7\8B\E0\A6\AC\E0\A6\B0\00\E0\A6\A8\E0\A6\AD\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\B0\00\E0\A6\A1\E0\A6\BF\E0\A6\B8\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\B0\00\E0\A6\9C\E0\A6\BE\E0\A6\A8\E0\A7\81\E0\A7\9F\E0\A6\BE\E0\A6\B0\E0\A7\80\00\E0\A6\AB\E0\A7\87\E0\A6\AC\E0\A7\8D\E0\A6\B0\E0\A7\81\E0\A7\9F\E0\A6\BE\E0\A6\B0\E0\A7\80\00\E0\A6\AE\E0\A6\BE\E0\A6\B0\E0\A7\8D\E0\A6\9A\00\E0\A6\8F\E0\A6\AA\E0\A7\8D\E0\A6\B0\E0\A6\BF\E0\A6\B2\00\E0\A6\9C\E0\A7\81\E0\A6\B2\E0\A6\BE\E0\A6\87\00\E0\A6\86\E0\A6\97\E0\A6\B8\E0\A7\8D\E0\A6\9F\00\E0\A6\B8\E0\A7\87\E0\A6\AA\E0\A7\8D\E0\A6\9F\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\85\E0\A6\95\E0\A7\8D\E0\A6\9F\E0\A7\8B\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\A8\E0\A6\AD\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\A1\E0\A6\BF\E0\A6\B8\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B8\E0\A6\95\E0\A6\BE\E0\A6\B2\00\E0\A6\AC\E0\A6\BF\E0\A6\95\E0\A6\BE\E0\A6\B2\00%A %d %b %Y %I:%M:%S %p %Z\00%A %d %b %Y\00\E0\A6\B8\E0\A7\87\E0\A6\AA\E0\A7\8D\E0\A6\9F\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\B0\00\E0\A6\AA\E0\A7\82\E0\A6\B0\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B9\E0\A7\8D\E0\A6\A3\00\E0\A6\85\E0\A6\AA\E0\A6\B0\E0\A6\BE\E0\A6\B9\E0\A7\8D\E0\A6\A3\00sul\00lun\00meu\00mer\00yao\00gwe\00sad\00meurzh\00merc'her\00yaou\00gwener\00sadorn\00Gen \00C'hw\00Meu \00Ebr \00Mae \00Eve \00Gou \00Eos \00Gwe \00Her \00Du \00Ker \00Genver\00C'hwevrer\00Meurzh\00Ebrel\00Mae\00Mezheven\00Gouere\00Eost\00Gwengolo\00Here\00Du\00Kerzu\00 \00D'ar %A %d a viz %B %Y\00%Ie%M:%S %p\00Ned\00Pon\00Uto\00Sri\00\C8et\00Pet\00Sub\00Nedjelja\00Ponedjeljak\00Utorak\00Srijeda\00\C8etvrtak\00Petak\00Subota\00Maj\00Januar\00Februar\00Mart\00Juni\00Juli\00Septembar\00Oktobar\00Novembar\00Decembar\00\C4\8Cet\00\C4\8Cetvrtak\00dg\00dl\00dt\00dc\00dj\00dv\00ds\00diumenge\00dilluns\00dimarts\00dimecres\00dijous\00divendres\00dissabte\00gen\00feb\00mar\00abr\00mai\00jun\00jul\00ago\00set\00oct\00nov\00des\00gener\00febrer\00mar\E7\00abril\00maig\00juny\00juliol\00agost\00setembre\00octubre\00novembre\00desembre\00mar\C3\A7\00Ne\00Po\00\DAt\00St\00\C8t\00P\E1\00Ned\ECle\00Pond\ECl\ED\00\DAter\FD\00St\F8eda\00\C8tvrtek\00P\E1tek\00Sobota\00led\00\FAno\00b\F8e\00dub\00kv\EC\00\E8en\00\E8ec\00srp\00z\E1\F8\00\F8\EDj\00lis\00pro\00leden\00\FAnor\00b\F8ezen\00duben\00kv\ECten\00\E8erven\00\E8ervenec\00srpen\00z\E1\F8\ED\00\F8\EDjen\00listopad\00prosinec\00%a\A0%e.\A0%B\A0%Y,\A0%H:%M:%S\A0%Z\00%I:%M:%S\00\C3\9At\00\C4\8Ct\00P\C3\A1\00Ned\C4\9Ble\00Pond\C4\9Bl\C3\AD\00\C3\9Ater\C3\BD\00St\C5\99eda\00\C4\8Ctvrtek\00P\C3\A1tek\00\C3\BAno\00b\C5\99e\00kv\C4\9B\00\C4\8Den\00\C4\8Dec\00z\C3\A1\C5\99\00\C5\99\C3\ADj\00\C3\BAnor\00b\C5\99ezen\00kv\C4\9Bten\00\C4\8Derven\00\C4\8Dervenec\00z\C3\A1\C5\99\C3\AD\00\C5\99\C3\ADjen\00%a\C2\A0%e.\C2\A0%B\C2\A0%Y,\C2\A0%H:%M:%S\C2\A0%Z\00Sul\00Llu\00Maw\00Mer\00Iau\00Gwe\00Sad\00Llun\00Mawrth\00Mercher\00Gwener\00Sadwrn\00Ion\00Chw\00Ebr\00Mai\00Meh\00Gor\00Aws\00Med\00Hyd\00Tach\00Rha\00Ionawr\00Chwefror\00Ebrill\00Mehefin\00Gorffennaf\00Awst\00Medi\00Hydref\00Tachwedd\00Rhagfyr\00Dydd %A %d a viz %B %Y %T %Z\00%d.%m.%y\00s\F8n\00man\00tir\00ons\00tor\00fre\00l\F8r\00s\F8ndag\00mandag\00tirsdag\00onsdag\00torsdag\00fredag\00l\F8rdag\00jan\00apr\00maj\00aug\00sep\00okt\00dec\00januar\00februar\00marts\00april\00juni\00juli\00august\00september\00oktober\00november\00december\00%d-%m-%Y\00s\C3\B8n\00l\C3\B8r\00s\C3\B8ndag\00l\C3\B8rdag\00Son\00Die\00Mit\00Don\00Fre\00Sam\00Sonntag\00Montag\00Dienstag\00Mittwoch\00Donnerstag\00Freitag\00Samstag\00J\E4n\00M\E4r\00Dez\00J\E4nner\00Feber\00M\E4rz\00Dezember\00%Y-%m-%d\00J\C3\A4n\00M\C3\A4r\00J\C3\A4nner\00M\C3\A4rz\00\CA\F5\F1\00\C4\E5\F5\00\D4\F1\E9\00\D4\E5\F4\00\D0\E5\EC\00\D0\E1\F1\00\D3\E1\E2\00\CA\F5\F1\E9\E1\EA\DE\00\C4\E5\F5\F4\DD\F1\E1\00\D4\F1\DF\F4\E7\00\D4\E5\F4\DC\F1\F4\E7\00\D0\DD\EC\F0\F4\E7\00\D0\E1\F1\E1\F3\EA\E5\F5\DE\00\D3\DC\E2\E2\E1\F4\EF\00\C9\E1\ED\00\D6\E5\E2\00\CC\DC\F1\00\C1\F0\F1\00\CC\DC\E9\00\C9\EF\FD\ED\00\C9\EF\FD\EB\00\C1\FD\E3\00\D3\E5\F0\00\CF\EA\F4\00\CD\EF\DD\00\C4\E5\EA\00\C9\E1\ED\EF\F5\DC\F1\E9\EF\F2\00\D6\E5\E2\F1\EF\F5\DC\F1\E9\EF\F2\00\CC\DC\F1\F4\E9\EF\F2\00\C1\F0\F1\DF\EB\E9\EF\F2\00\CC\DC\E9\EF\F2\00\C9\EF\FD\ED\E9\EF\F2\00\C9\EF\FD\EB\E9\EF\F2\00\C1\FD\E3\EF\F5\F3\F4\EF\F2\00\D3\E5\F0\F4\DD\EC\E2\F1\E9\EF\F2\00\CF\EA\F4\FE\E2\F1\E9\EF\F2\00\CD\EF\DD\EC\E2\F1\E9\EF\F2\00\C4\E5\EA\DD\EC\E2\F1\E9\EF\F2\00\CE\9A\CF\85\CF\81\00\CE\94\CE\B5\CF\85\00\CE\A4\CF\81\CE\B9\00\CE\A4\CE\B5\CF\84\00\CE\A0\CE\B5\CE\BC\00\CE\A0\CE\B1\CF\81\00\CE\A3\CE\B1\CE\B2\00\CE\9A\CF\85\CF\81\CE\B9\CE\B1\CE\BA\CE\AE\00\CE\94\CE\B5\CF\85\CF\84\CE\AD\CF\81\CE\B1\00\CE\A4\CF\81\CE\AF\CF\84\CE\B7\00\CE\A4\CE\B5\CF\84\CE\AC\CF\81\CF\84\CE\B7\00\CE\A0\CE\AD\CE\BC\CF\80\CF\84\CE\B7\00\CE\A0\CE\B1\CF\81\CE\B1\CF\83\CE\BA\CE\B5\CF\85\CE\AE\00\CE\A3\CE\AC\CE\B2\CE\B2\CE\B1\CF\84\CE\BF\00\CE\99\CE\B1\CE\BD\00\CE\A6\CE\B5\CE\B2\00\CE\9C\CE\AC\CF\81\00\CE\91\CF\80\CF\81\00\CE\9C\CE\AC\CE\B9\00\CE\99\CE\BF\CF\8D\CE\BD\00\CE\99\CE\BF\CF\8D\CE\BB\00\CE\91\CF\8D\CE\B3\00\CE\A3\CE\B5\CF\80\00\CE\9F\CE\BA\CF\84\00\CE\9D\CE\BF\CE\AD\00\CE\94\CE\B5\CE\BA\00\CE\99\CE\B1\CE\BD\CE\BF\CF\85\CE\AC\CF\81\CE\B9\CE\BF\CF\82\00\CE\A6\CE\B5\CE\B2\CF\81\CE\BF\CF\85\CE\AC\CF\81\CE\B9\CE\BF\CF\82\00\CE\9C\CE\AC\CF\81\CF\84\CE\B9\CE\BF\CF\82\00\CE\91\CF\80\CF\81\CE\AF\CE\BB\CE\B9\CE\BF\CF\82\00\CE\9C\CE\AC\CE\B9\CE\BF\CF\82\00\CE\99\CE\BF\CF\8D\CE\BD\CE\B9\CE\BF\CF\82\00\CE\99\CE\BF\CF\8D\CE\BB\CE\B9\CE\BF\CF\82\00\CE\91\CF\8D\CE\B3\CE\BF\CF\85\CF\83\CF\84\CE\BF\CF\82\00\CE\A3\CE\B5\CF\80\CF\84\CE\AD\CE\BC\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00\CE\9F\CE\BA\CF\84\CF\8E\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00\CE\9D\CE\BF\CE\AD\CE\BC\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00\CE\94\CE\B5\CE\BA\CE\AD\CE\BC\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00%a %d %b %Y %r %Z\00%Y-%m-%dT%T %Z\00%A, %B %d, %Y %p%I:%M:%S %Z\00%A, %B %d, %Y\00%I:%M:%S %Z\00%p%I:%M:%S %Z\00%A, %d %B, %Y %I:%M:%S %p %Z\00%A, %d %B, %Y\00%A %d,%B,%Y %I:%M:%S %p %Z\00%A %d,%B,%Y\00%m/%d/%Y\00dim\00\C4\B5a\C5\AD\00ven\00sab\00diman\C4\89o\00lundo\00mardo\00merkredo\00\C4\B5a\C5\ADdo\00vendredo\00sabato\00A\C5\ADg\00Januaro\00Februaro\00Marto\00Aprilo\00Majo\00Junio\00Julio\00A\C5\ADgusto\00Septembro\00Oktobro\00Novembro\00Decembro\00%a %d %b %Y %T %z\00dom\00mi\E9\00jue\00vie\00s\E1b\00domingo\00lunes\00martes\00mi\E9rcoles\00jueves\00viernes\00s\E1bado\00ene\00dic\00enero\00febrero\00marzo\00mayo\00junio\00julio\00agosto\00septiembre\00noviembre\00diciembre\00mi\C3\A9\00s\C3\A1b\00mi\C3\A9rcoles\00s\C3\A1bado\00P\00E\00T\00K\00N\00R\00L\00p\FChap\E4ev\00esmasp\E4ev\00teisip\E4ev\00kolmap\E4ev\00neljap\E4ev\00reede\00laup\E4ev\00jaan \00veebr\00m\E4rts\00apr \00mai \00juuni\00juuli\00aug \00sept \00okt \00nov \00dets \00jaanuar\00veebruar\00aprill\00oktoober\00detsember\00p\C3\BChap\C3\A4ev\00esmasp\C3\A4ev\00teisip\C3\A4ev\00kolmap\C3\A4ev\00neljap\C3\A4ev\00laup\C3\A4ev\00m\C3\A4rts\00ig.\00al.\00ar.\00az.\00og.\00or.\00lr.\00igandea\00astelehena\00asteartea\00asteazkena\00osteguna\00ostirala\00larunbata\00urt\00ots\00api\00eka\00uzt\00abu\00ira\00urr\00aza\00abe\00urtarrila\00otsaila\00martxoa\00apirila\00maiatza\00ekaina\00uztaila\00abuztua\00iraila\00urria\00azaroa\00abendua\00%y-%m-%d %T %Z\00%a, %Y.eko %bren %da\00\DB\8C.\00\D8\AF.\00\D8\B3.\00\DA\86.\00\D9\BE.\00\D8\AC.\00\D8\B4.\00\DB\8C\DA\A9\E2\80\8C\D8\B4\D9\86\D8\A8\D9\87\00\D8\AF\D9\88\D8\B4\D9\86\D8\A8\D9\87\00\D8\B3\D9\87\E2\80\8C\D8\B4\D9\86\D8\A8\D9\87\00\DA\86\D9\87\D8\A7\D8\B1\D8\B4\D9\86\D8\A8\D9\87\00\D9\BE\D9\86\D8\AC\E2\80\8C\D8\B4\D9\86\D8\A8\D9\87\00\D8\AC\D9\85\D8\B9\D9\87\00\D8\B4\D9\86\D8\A8\D9\87\00\DA\98\D8\A7\D9\86\00\D9\81\D9\88\D8\B1\00\D8\A2\D9\88\D8\B1\00\D9\85\D9\80\D9\87\00\DA\98\D9\88\D9\86\00\DA\98\D9\88\DB\8C\00\D8\A7\D9\88\D8\AA\00\D8\B3\D9\BE\D8\AA\00\D8\A7\D9\83\D8\AA\00\D9\86\D9\88\D8\A7\00\D8\AF\D8\B3\D8\A7\00\DA\98\D8\A7\D9\86\D9\88\DB\8C\D9\87\00\D9\81\D9\88\D8\B1\DB\8C\D9\87\00\D8\A2\D9\88\D8\B1\DB\8C\D9\84\00\D9\85\D9\87\00\DA\98\D9\88\D8\A6\D9\86\00\DA\98\D9\88\D8\A6\DB\8C\D9\87\00\D8\B3\D9\BE\D8\AA\D8\A7\D9\85\D8\A8\D8\B1\00\D8\A7\D9\83\D8\AA\D8\A8\D8\B1\00\D9\86\D9\88\D8\A7\D9\85\D8\A8\D8\B1\00\D8\AF\D8\B3\D8\A7\D9\85\D8\A8\D8\B1\00\D8\B5\D8\A8\D8\AD\00\D8\B9\D8\B5\D8\B1\00\E2\80\AB%A %e %B %Y\D8\8C %I:%M:%S %p\E2\80\AC\00%Y/%m/%d\00\E2\80\AB%I:%M:%S %p\E2\80\AC\00su\00ma\00ti\00ke\00to\00pe\00la\00sunnuntai\00maanantai\00tiistai\00keskiviikko\00torstai\00perjantai\00lauantai\00tammi\A0\00helmi\A0\00maalis\00huhti\A0\00touko\A0\00kes\E4\A0\A0\00hein\E4\A0\00elo\A0\A0\A0\00syys\A0\A0\00loka\A0\A0\00marras\00joulu\A0\00tammikuu\00helmikuu\00maaliskuu\00huhtikuu\00toukokuu\00kes\E4kuu\00hein\E4kuu\00elokuu\00syyskuu\00lokakuu\00marraskuu\00joulukuu\00%a %e %B %Y %T\00tammi\C2\A0\00helmi\C2\A0\00huhti\C2\A0\00touko\C2\A0\00kes\C3\A4\C2\A0\C2\A0\00hein\C3\A4\C2\A0\00elo\C2\A0\C2\A0\C2\A0\00syys\C2\A0\C2\A0\00loka\C2\A0\C2\A0\00joulu\C2\A0\00kes\C3\A4kuu\00hein\C3\A4kuu\00sun\00m\E1n\00t\FDs\00mik\00h\F3s\00fr\ED\00ley\00sunnudagur\00m\E1nadagur\00t\FDsdagur\00mikudagur\00h\F3sdagur\00fr\EDggjadagur\00leygardagur\00mars\00apr\EDl\00desember\00%d/%m-%Y\00m\C3\A1n\00t\C3\BDs\00h\C3\B3s\00fr\C3\AD\00m\C3\A1nadagur\00t\C3\BDsdagur\00h\C3\B3sdagur\00fr\C3\ADggjadagur\00apr\C3\ADl\00jeu\00sam\00dimanche\00lundi\00mardi\00mercredi\00jeudi\00vendredi\00samedi\00f\E9v\00avr\00jui\00ao\FB\00d\E9c\00janvier\00f\E9vrier\00avril\00juin\00juillet\00ao\FBt\00septembre\00octobre\00d\E9cembre\00f\C3\A9v\00ao\C3\BB\00d\C3\A9c\00f\C3\A9vrier\00ao\C3\BBt\00d\C3\A9cembre\00%d. %m. %y\00Domh\00Luan\00M\E1irt\00C\E9ad\00D\E9ar\00Aoine\00Sath\00D\E9 Domhnaigh\00D\E9 Luain\00D\E9 M\E1irt\00D\E9 C\E9adaoin\00D\E9ardaoin\00D\E9 hAoine\00D\E9 Sathairn\00Ean\00Feabh\00M\E1rta\00Aib\00Beal\00Meith\00I\FAil\00L\FAn\00MF\F3mh\00DF\F3mh\00Samh\00Noll\00Ean\E1ir\00Feabhra\00Aibre\E1n\00M\ED na Bealtaine\00L\FAnasa\00Me\E1n F\F3mhair\00Deireadh F\F3mhair\00M\ED na Samhna\00M\ED na Nollag\00M\C3\A1irt\00C\C3\A9ad\00D\C3\A9ar\00D\C3\A9 Domhnaigh\00D\C3\A9 Luain\00D\C3\A9 M\C3\A1irt\00D\C3\A9 C\C3\A9adaoin\00D\C3\A9ardaoin\00D\C3\A9 hAoine\00D\C3\A9 Sathairn\00M\C3\A1rta\00I\C3\BAil\00L\C3\BAn\00MF\C3\B3mh\00DF\C3\B3mh\00Ean\C3\A1ir\00Aibre\C3\A1n\00M\C3\AD na Bealtaine\00L\C3\BAnasa\00Me\C3\A1n F\C3\B3mhair\00Deireadh F\C3\B3mhair\00M\C3\AD na Samhna\00M\C3\AD na Nollag\00Dido\00Dilu\00Dim\00Dic\00Diar\00Diha\00Disa\00Did\F2mhnaich\00Diluain\00Dim\E0irt\00Diciadain\00Diardaoin\00Dihaoine\00Disathairne\00Fao\00Gea\00M\E0r\00Gib\00Mh\E0\00OgM\00luc\00L\F9n\00Dam\00D\F9b\00Am Faoilteach\00An Gearran\00Am M\E0rt\00An Giblean\00A' Mh\E0igh\00An t-Mh\ECos\00An t-luchar\00An L\F9nasdal\00An t-Sultain\00An Damhair\00An t-Samhain\00An D\F9bhlachd\00Did\C3\B2mhnaich\00Dim\C3\A0irt\00M\C3\A0r\00Mh\C3\A0\00L\C3\B9n\00D\C3\B9b\00Am M\C3\A0rt\00A' Mh\C3\A0igh\00An t-Mh\C3\ACos\00An L\C3\B9nasdal\00An D\C3\B9bhlachd\00Dom\00Lun\00M\E9r\00Xov\00Ven\00S\E1b\00Domingo\00Luns\00Martes\00M\E9rcores\00Xoves\00Venres\00S\E1bado\00Xan\00Abr\00Xu\F1\00Xul\00Ago\00Set\00Out\00Xaneiro\00Febreiro\00Marzo\00Abril\00Maio\00Xu\F1o\00Xullo\00Agosto\00Setembro\00Outubro\00M\C3\A9r\00S\C3\A1b\00M\C3\A9rcores\00S\C3\A1bado\00Xu\C3\B1\00Xu\C3\B1o\00Jed\00Jel\00Jem\00Jerc\00Jerd\00Jeh\00Jes\00Jedoonee\00Jelhein\00Jemayrt\00Jercean\00Jerdein\00Jeheiney\00Jesarn\00J-guer\00T-arree\00Mayrnt\00Avrril\00Boaldyn\00M-souree\00J-souree\00Luanistyn\00M-fouyir\00J-fouyir\00M.Houney\00M.Nollick\00Jerrey-geuree\00Toshiaght-arree\00Averil\00Mean-souree\00Jerrey-souree\00Mean-fouyir\00Jerrey-fouyir\00Mee Houney\00Mee ny Nollick\00\E0'\00\E1'\00\E2'\00\E3'\00\E4'\00\E5'\00\F9'\00\F8\E0\F9\E5\EF\00\F9\F0\E9\00\F9\EC\E9\F9\E9\00\F8\E1\E9\F2\E9\00\E7\EE\E9\F9\E9\00\F9\E9\F9\E9\00\F9\E1\FA\00\E9\F0\E5\00\F4\E1\F8\00\EE\F8\F5\00\E0\F4\F8\00\EE\E0\E9\00\E9\E5\F0\00\E9\E5\EC\00\E0\E5\E2\00\F1\F4\E8\00\E0\E5\F7\00\F0\E5\E1\00\E3\F6\EE\00\E9\F0\E5\E0\F8\00\F4\E1\F8\E5\E0\F8\00\E0\F4\F8\E9\EC\00\E9\E5\F0\E9\00\E9\E5\EC\E9\00\E0\E5\E2\E5\F1\E8\00\F1\F4\E8\EE\E1\F8\00\E0\E5\F7\E8\E5\E1\F8\00\F0\E5\E1\EE\E1\F8\00\E3\F6\EE\E1\F8\00%Z %H:%M:%S %Y %b %d %a\00%I:%M:%S %P\00\D7\90'\00\D7\91'\00\D7\92'\00\D7\93'\00\D7\94'\00\D7\95'\00\D7\A9'\00\D7\A8\D7\90\D7\A9\D7\95\D7\9F\00\D7\A9\D7\A0\D7\99\00\D7\A9\D7\9C\D7\99\D7\A9\D7\99\00\D7\A8\D7\91\D7\99\D7\A2\D7\99\00\D7\97\D7\9E\D7\99\D7\A9\D7\99\00\D7\A9\D7\99\D7\A9\D7\99\00\D7\A9\D7\91\D7\AA\00\D7\99\D7\A0\D7\95\00\D7\A4\D7\91\D7\A8\00\D7\9E\D7\A8\D7\A5\00\D7\90\D7\A4\D7\A8\00\D7\9E\D7\90\D7\99\00\D7\99\D7\95\D7\A0\00\D7\99\D7\95\D7\9C\00\D7\90\D7\95\D7\92\00\D7\A1\D7\A4\D7\98\00\D7\90\D7\95\D7\A7\00\D7\A0\D7\95\D7\91\00\D7\93\D7\A6\D7\9E\00\D7\99\D7\A0\D7\95\D7\90\D7\A8\00\D7\A4\D7\91\D7\A8\D7\95\D7\90\D7\A8\00\D7\90\D7\A4\D7\A8\D7\99\D7\9C\00\D7\99\D7\95\D7\A0\D7\99\00\D7\99\D7\95\D7\9C\D7\99\00\D7\90\D7\95\D7\92\D7\95\D7\A1\D7\98\00\D7\A1\D7\A4\D7\98\D7\9E\D7\91\D7\A8\00\D7\90\D7\95\D7\A7\D7\98\D7\95\D7\91\D7\A8\00\D7\A0\D7\95\D7\91\D7\9E\D7\91\D7\A8\00\D7\93\D7\A6\D7\9E\D7\91\D7\A8\00\E0\A4\B0\E0\A4\B5\E0\A4\BF \00\E0\A4\B8\E0\A5\8B\E0\A4\AE \00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B2 \00\E0\A4\AC\E0\A5\81\E0\A4\A7 \00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81 \00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0 \00\E0\A4\B6\E0\A4\A8\E0\A4\BF \00\E0\A4\B0\E0\A4\B5\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\B8\E0\A5\8B\E0\A4\AE\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B2\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\AC\E0\A5\81\E0\A4\A7\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\B6\E0\A4\A8\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\9C\E0\A4\A8\E0\A4\B5\E0\A4\B0\E0\A5\80\00\E0\A4\AB\E0\A4\BC\E0\A4\B0\E0\A4\B5\E0\A4\B0\E0\A5\80\00\E0\A4\AE\E0\A4\BE\E0\A4\B0\E0\A5\8D\E0\A4\9A\00\E0\A4\85\E0\A4\AA\E0\A5\8D\E0\A4\B0\E0\A5\87\E0\A4\B2\00\E0\A4\AE\E0\A4\88\00\E0\A4\9C\E0\A5\82\E0\A4\A8\00\E0\A4\9C\E0\A5\81\E0\A4\B2\E0\A4\BE\E0\A4\88\00\E0\A4\85\E0\A4\97\E0\A4\B8\E0\A5\8D\E0\A4\A4\00\E0\A4\B8\E0\A4\BF\E0\A4\A4\E0\A4\AE\E0\A5\8D\E0\A4\AC\E0\A4\B0\00\E0\A4\85\E0\A4\95\E0\A5\8D\E0\A4\9F\E0\A5\82\E0\A4\AC\E0\A4\B0\00\E0\A4\A8\E0\A4\B5\E0\A4\AE\E0\A5\8D\E0\A4\AC\E0\A4\B0\00\E0\A4\A6\E0\A4\BF\E0\A4\B8\E0\A4\AE\E0\A5\8D\E0\A4\AC\E0\A4\B0\00\E0\A4\AA\E0\A5\82\E0\A4\B0\E0\A5\8D\E0\A4\B5\E0\A4\BE\E0\A4\B9\E0\A5\8D\E0\A4\A8\00\E0\A4\85\E0\A4\AA\E0\A4\B0\E0\A4\BE\E0\A4\B9\E0\A5\8D\E0\A4\A8\00Sij\00Vel\00O\BEu\00Tra\00Svi\00Lip\00Srp\00Kol\00Ruj\00Lis\00Stu\00Pro\00Sije\E8anj\00Velja\E8a\00O\BEujak\00Travanj\00Svibanj\00Lipanj\00Srpanj\00Kolovoz\00Rujan\00Listopad\00Studeni\00Prosinac\00O\C5\BEu\00Sije\C4\8Danj\00Velja\C4\8Da\00O\C5\BEujak\00v\00h\00k\00sze\00cs\00p\00szo\00vas\E1rnap\00h\E9tf\F5\00kedd\00szerda\00cs\FCt\F6rt\F6k\00p\E9ntek\00szombat\00m\E1r\00\E1pr\00m\E1j\00j\FAn\00j\FAl\00janu\E1r\00febru\E1r\00m\E1rcius\00\E1prilis\00m\E1jus\00j\FAnius\00j\FAlius\00augusztus\00szeptember\00okt\F3ber\00%Y. %b. %e., %A, %H.%M.%S %Z\00%H.%M.%S\00vas\C3\A1rnap\00h\C3\A9tf\C5\91\00cs\C3\BCt\C3\B6rt\C3\B6k\00p\C3\A9ntek\00m\C3\A1r\00\C3\A1pr\00m\C3\A1j\00j\C3\BAn\00j\C3\BAl\00janu\C3\A1r\00febru\C3\A1r\00m\C3\A1rcius\00\C3\A1prilis\00m\C3\A1jus\00j\C3\BAnius\00j\C3\BAlius\00okt\C3\B3ber\00\CE\F1\CF\00\BA\F1\CF\00\BA\F1\F9\00\E2\F1\F9\00\D0\DD\B7\00\E0\F5\F1\00\DE\B5\C3\00\CE\C7\F1\B3\CF\C7\00\BA\F1\CF\E1\F5\DF\B3\B5\C3\C7\00\BA\F1\BB\F9\DF\B3\B5\C3\C7\00\E2\E1\F1\BB\F9\DF\B3\B5\C3\C7\00\D0\C7\DD\B7\DF\B3\B5\C3\C7\00\E0\F5\F1\B5\B3\C3\00\DE\B3\B5\B3\C3\00\D0\DD\ED\00\F6\EF\F1\00\D8\B3\F1\00\B2\E5\F1\00\D8\B3\DB\00\D0\DD\EB\00\D0\C9\EB\00\FA\B7\EB\00\EA\BB\E5\00\D0\E1\CF\00\DC\D9\B5\00\B8\BB\CF\00\D0\E1\F5\DD\ED\B3\F1\C7\00\F6\BB\EF\F1\ED\B3\F1\C7\00\D8\B3\F1\EF\C7\00\B2\E5\F1\C7\C9\C7\00\D8\B3\DB\C7\EB\C7\00\D0\E1\F5\DD\C7\EB\C7\00\D0\E1\F5\C9\C7\EB\C7\00\FA\B7\E1\EB\EF\E1\EB\C7\00\EA\BB\E5\EF\BB\D9\B5\BB\F1\C7\00\D0\E1\CF\EF\BB\D9\B5\BB\F1\C7\00\DC\E1\DB\BB\D9\B5\BB\F1\C7\00\B8\BB\CF\EF\BB\D9\B5\BB\F1\C7\00\D4\BF\D6\80\D5\AF\00\D4\B5\D6\80\D5\AF\00\D4\B5\D6\80\D6\84\00\D5\89\D6\80\D6\84\00\D5\80\D5\B6\D5\A3\00\D5\88\D6\82\D6\80\00\D5\87\D5\A2\D5\A9\00\D4\BF\D5\AB\D6\80\D5\A1\D5\AF\D5\AB\00\D4\B5\D6\80\D5\AF\D5\B8\D6\82\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D4\B5\D6\80\D5\A5\D6\84\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D5\89\D5\B8\D6\80\D5\A5\D6\84\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D5\80\D5\AB\D5\B6\D5\A3\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D5\88\D6\82\D6\80\D5\A2\D5\A1\D5\A9\00\D5\87\D5\A1\D5\A2\D5\A1\D5\A9\00\D5\80\D5\B6\D5\BE\00\D5\93\D5\BF\D6\80\00\D5\84\D5\A1\D6\80\00\D4\B1\D5\BA\D6\80\00\D5\84\D5\A1\D5\B5\00\D5\80\D5\B6\D5\BD\00\D5\80\D5\AC\D5\BD\00\D5\95\D5\A3\D5\BD\00\D5\8D\D5\A5\D5\BA\00\D5\80\D5\B8\D5\AF\00\D5\86\D5\B4\D5\A2\00\D4\B4\D5\A5\D5\AF\00\D5\80\D5\B8\D6\82\D5\B6\D5\BE\D5\A1\D6\80\D5\AB\00\D5\93\D5\A5\D5\BF\D6\80\D5\BE\D5\A1\D6\80\D5\AB\00\D5\84\D5\A1\D6\80\D5\BF\D5\AB\00\D4\B1\D5\BA\D6\80\D5\AB\D5\AC\D5\AB\00\D5\84\D5\A1\D5\B5\D5\AB\D5\BD\D5\AB\00\D5\80\D5\B8\D6\82\D5\B6\D5\AB\D5\BD\D5\AB\00\D5\80\D5\B8\D6\82\D5\AC\D5\AB\D5\BD\D5\AB\00\D5\95\D5\A3\D5\B8\D5\BD\D5\BF\D5\B8\D5\BD\D5\AB\00\D5\8D\D5\A5\D5\BA\D5\BF\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00\D5\80\D5\B8\D5\AF\D5\BF\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00\D5\86\D5\B8\D5\B5\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00\D4\B4\D5\A5\D5\AF\D5\BF\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00Min\00Sel\00Rab\00Kam\00Jum\00Sab\00Minggu\00Senin\00Selasa\00Rabu\00Kamis\00Jumat\00Sabtu\00Peb\00Agu\00Januari\00Pebruari\00Maret\00Agustus\00M\E1n\00\DEri\00Mi\F0\00Fim\00F\F6s\00Lau\00Sunnudagur\00M\E1nudagur\00\DEri\F0judagur\00Mi\F0vikudagur\00Fimmtudagur\00F\F6studagur\00Laugardagur\00Ma\ED\00J\FAn\00J\FAl\00\C1g\FA\00N\F3v\00Jan\FAar\00Febr\FAar\00Mars\00Apr\EDl\00J\FAn\ED\00J\FAl\ED\00\C1g\FAst\00Okt\F3ber\00N\F3vember\00fh\00eh\00%a %e.%b %Y, %T %Z\00%a %e.%b %Y\00M\C3\A1n\00\C3\9Eri\00Mi\C3\B0\00F\C3\B6s\00M\C3\A1nudagur\00\C3\9Eri\C3\B0judagur\00Mi\C3\B0vikudagur\00F\C3\B6studagur\00Ma\C3\AD\00J\C3\BAn\00J\C3\BAl\00\C3\81g\C3\BA\00N\C3\B3v\00Jan\C3\BAar\00Febr\C3\BAar\00Apr\C3\ADl\00J\C3\BAn\C3\AD\00J\C3\BAl\C3\AD\00\C3\81g\C3\BAst\00Okt\C3\B3ber\00N\C3\B3vember\00gio\00domenica\00luned\EC\00marted\EC\00mercoled\EC\00gioved\EC\00venerd\EC\00mag\00giu\00lug\00ott\00gennaio\00febbraio\00aprile\00maggio\00giugno\00luglio\00settembre\00ottobre\00dicembre\00luned\C3\AC\00marted\C3\AC\00mercoled\C3\AC\00gioved\C3\AC\00venerd\C3\AC\00\E6\97\A5\00\E6\9C\88\00\E7\81\AB\00\E6\B0\B4\00\E6\9C\A8\00\E9\87\91\00\E5\9C\9F\00\E6\97\A5\E6\9B\9C\E6\97\A5\00\E6\9C\88\E6\9B\9C\E6\97\A5\00\E7\81\AB\E6\9B\9C\E6\97\A5\00\E6\B0\B4\E6\9B\9C\E6\97\A5\00\E6\9C\A8\E6\9B\9C\E6\97\A5\00\E9\87\91\E6\9B\9C\E6\97\A5\00\E5\9C\9F\E6\9B\9C\E6\97\A5\00 1\E6\9C\88\00 2\E6\9C\88\00 3\E6\9C\88\00 4\E6\9C\88\00 5\E6\9C\88\00 6\E6\9C\88\00 7\E6\9C\88\00 8\E6\9C\88\00 9\E6\9C\88\0010\E6\9C\88\0011\E6\9C\88\0012\E6\9C\88\001\E6\9C\88\002\E6\9C\88\003\E6\9C\88\004\E6\9C\88\005\E6\9C\88\006\E6\9C\88\007\E6\9C\88\008\E6\9C\88\009\E6\9C\88\00\E5\8D\88\E5\89\8D\00\E5\8D\88\E5\BE\8C\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %H\E6\99\82%M\E5\88\86%S\E7\A7\92\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5\00%H\E6\99\82%M\E5\88\86%S\E7\A7\92\00%p%I\E6\99\82%M\E5\88\86%S\E7\A7\92\00+:2:1990/01/01:+*:\E5\B9\B3\E6\88\90:%EC%Ey\E5\B9\B4\00+:1:1989/01/08:1989/12/31:\E5\B9\B3\E6\88\90:%EC\E5\85\83\E5\B9\B4\00+:2:1927/01/01:1989/01/07:\E6\98\AD\E5\92\8C:%EC%Ey\E5\B9\B4\00+:1:1926/12/25:1926/12/31:\E6\98\AD\E5\92\8C:%EC\E5\85\83\E5\B9\B4\00+:2:1913/01/01:1926/12/24:\E5\A4\A7\E6\AD\A3:%EC%Ey\E5\B9\B4\00+:2:1912/07/30:1912/12/31:\E5\A4\A7\E6\AD\A3:%EC\E5\85\83\E5\B9\B4\00+:6:1873/01/01:1912/07/29:\E6\98\8E\E6\B2\BB:%EC%Ey\E5\B9\B4\00+:1:0001/01/01:1872/12/31:\E8\A5\BF\E6\9A\A6:%EC%Ey\E5\B9\B4\00+:1:-0001/12/31:-*:\E7\B4\80\E5\85\83\E5\89\8D:%EC%Ey\E5\B9\B4\00\00%EY%m\E6\9C\88%d\E6\97\A5\00\E3\80\87\00\E4\B8\80\00\E4\BA\8C\00\E4\B8\89\00\E5\9B\9B\00\E4\BA\94\00\E5\85\AD\00\E4\B8\83\00\E5\85\AB\00\E4\B9\9D\00\E5\8D\81\00\E5\8D\81\E4\B8\80\00\E5\8D\81\E4\BA\8C\00\E5\8D\81\E4\B8\89\00\E5\8D\81\E5\9B\9B\00\E5\8D\81\E4\BA\94\00\E5\8D\81\E5\85\AD\00\E5\8D\81\E4\B8\83\00\E5\8D\81\E5\85\AB\00\E5\8D\81\E4\B9\9D\00\E4\BA\8C\E5\8D\81\00\E4\BA\8C\E5\8D\81\E4\B8\80\00\E4\BA\8C\E5\8D\81\E4\BA\8C\00\E4\BA\8C\E5\8D\81\E4\B8\89\00\E4\BA\8C\E5\8D\81\E5\9B\9B\00\E4\BA\8C\E5\8D\81\E4\BA\94\00\E4\BA\8C\E5\8D\81\E5\85\AD\00\E4\BA\8C\E5\8D\81\E4\B8\83\00\E4\BA\8C\E5\8D\81\E5\85\AB\00\E4\BA\8C\E5\8D\81\E4\B9\9D\00\E4\B8\89\E5\8D\81\00\E4\B8\89\E5\8D\81\E4\B8\80\00\E4\B8\89\E5\8D\81\E4\BA\8C\00\E4\B8\89\E5\8D\81\E4\B8\89\00\E4\B8\89\E5\8D\81\E5\9B\9B\00\E4\B8\89\E5\8D\81\E4\BA\94\00\E4\B8\89\E5\8D\81\E5\85\AD\00\E4\B8\89\E5\8D\81\E4\B8\83\00\E4\B8\89\E5\8D\81\E5\85\AB\00\E4\B8\89\E5\8D\81\E4\B9\9D\00\E5\9B\9B\E5\8D\81\00\E5\9B\9B\E5\8D\81\E4\B8\80\00\E5\9B\9B\E5\8D\81\E4\BA\8C\00\E5\9B\9B\E5\8D\81\E4\B8\89\00\E5\9B\9B\E5\8D\81\E5\9B\9B\00\E5\9B\9B\E5\8D\81\E4\BA\94\00\E5\9B\9B\E5\8D\81\E5\85\AD\00\E5\9B\9B\E5\8D\81\E4\B8\83\00\E5\9B\9B\E5\8D\81\E5\85\AB\00\E5\9B\9B\E5\8D\81\E4\B9\9D\00\E4\BA\94\E5\8D\81\00\E4\BA\94\E5\8D\81\E4\B8\80\00\E4\BA\94\E5\8D\81\E4\BA\8C\00\E4\BA\94\E5\8D\81\E4\B8\89\00\E4\BA\94\E5\8D\81\E5\9B\9B\00\E4\BA\94\E5\8D\81\E4\BA\94\00\E4\BA\94\E5\8D\81\E5\85\AD\00\E4\BA\94\E5\8D\81\E4\B8\83\00\E4\BA\94\E5\8D\81\E5\85\AB\00\E4\BA\94\E5\8D\81\E4\B9\9D\00\E5\85\AD\E5\8D\81\00\E5\85\AD\E5\8D\81\E4\B8\80\00\E5\85\AD\E5\8D\81\E4\BA\8C\00\E5\85\AD\E5\8D\81\E4\B8\89\00\E5\85\AD\E5\8D\81\E5\9B\9B\00\E5\85\AD\E5\8D\81\E4\BA\94\00\E5\85\AD\E5\8D\81\E5\85\AD\00\E5\85\AD\E5\8D\81\E4\B8\83\00\E5\85\AD\E5\8D\81\E5\85\AB\00\E5\85\AD\E5\8D\81\E4\B9\9D\00\E4\B8\83\E5\8D\81\00\E4\B8\83\E5\8D\81\E4\B8\80\00\E4\B8\83\E5\8D\81\E4\BA\8C\00\E4\B8\83\E5\8D\81\E4\B8\89\00\E4\B8\83\E5\8D\81\E5\9B\9B\00\E4\B8\83\E5\8D\81\E4\BA\94\00\E4\B8\83\E5\8D\81\E5\85\AD\00\E4\B8\83\E5\8D\81\E4\B8\83\00\E4\B8\83\E5\8D\81\E5\85\AB\00\E4\B8\83\E5\8D\81\E4\B9\9D\00\E5\85\AB\E5\8D\81\00\E5\85\AB\E5\8D\81\E4\B8\80\00\E5\85\AB\E5\8D\81\E4\BA\8C\00\E5\85\AB\E5\8D\81\E4\B8\89\00\E5\85\AB\E5\8D\81\E5\9B\9B\00\E5\85\AB\E5\8D\81\E4\BA\94\00\E5\85\AB\E5\8D\81\E5\85\AD\00\E5\85\AB\E5\8D\81\E4\B8\83\00\E5\85\AB\E5\8D\81\E5\85\AB\00\E5\85\AB\E5\8D\81\E4\B9\9D\00\E4\B9\9D\E5\8D\81\00\E4\B9\9D\E5\8D\81\E4\B8\80\00\E4\B9\9D\E5\8D\81\E4\BA\8C\00\E4\B9\9D\E5\8D\81\E4\B8\89\00\E4\B9\9D\E5\8D\81\E5\9B\9B\00\E4\B9\9D\E5\8D\81\E4\BA\94\00\E4\B9\9D\E5\8D\81\E5\85\AD\00\E4\B9\9D\E5\8D\81\E4\B8\83\00\E4\B9\9D\E5\8D\81\E5\85\AB\00\E4\B9\9D\E5\8D\81\E4\B9\9D\00%EY%m\E6\9C\88%d\E6\97\A5 %H\E6\99\82%M\E5\88\86%S\E7\A7\92\00\CA\C5\C9\00\CF\D2\DB\00\D3\C0\CC\00\CF\C8\E1\00\E1\D6\C8\00\D0\C0\D2\00\DB\C0\C1\00\CA\C5\C9\D2\C0\00\CF\D2\DB\C0\C1\C0\C8\C9\00\D3\C0\CC\DB\C0\C1\C0\C8\C9\00\CF\C8\E1\DB\C0\C1\C0\C8\C9\00\E1\D6\C8\DB\C0\C1\C0\C8\C9\00\D0\C0\D2\C0\D3\CA\C4\C5\C9\00\DB\C0\C1\C0\C8\C9\00\C9\C0\CD\00\C8\C4\C1\00\CC\C0\D2\00\C0\D0\D2\00\CC\C0\C9\00\C9\C5\CD\00\C9\C5\CB\00\C0\C2\C5\00\D3\C4\D8\00\CF\D8\D4\00\CD\CF\C4\00\C3\C4\CA\00\C9\C0\CD\C5\C0\D2\C9\00\C8\C4\C1\C4\D2\C5\C0\CB\C9\00\CC\C0\D2\D4\C9\00\C0\D0\D2\C9\CB\C9\00\CC\C0\C9\D3\C9\00\C9\C5\CD\C9\D3\C9\00\C9\C5\CB\C9\D3\C9\00\C0\C2\C5\C9\D3\D4\CF\00\D3\C4\D8\D4\C4\CC\C1\C4\D2\C9\00\CF\D8\D4\CF\CC\C1\C4\D2\C9\00\CD\CF\C4\CC\C1\C4\D2\C9\00\C3\C4\CA\C4\CC\C1\C4\D2\C9\00%Y \DF\CB\C9\D3 %d %B, %T %Z\00\E1\83\99\E1\83\95\E1\83\98\00\E1\83\9D\E1\83\A0\E1\83\A8\00\E1\83\A1\E1\83\90\E1\83\9B\00\E1\83\9D\E1\83\97\E1\83\AE\00\E1\83\AE\E1\83\A3\E1\83\97\00\E1\83\9E\E1\83\90\E1\83\A0\00\E1\83\A8\E1\83\90\E1\83\91\00\E1\83\99\E1\83\95\E1\83\98\E1\83\A0\E1\83\90\00\E1\83\9D\E1\83\A0\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\A1\E1\83\90\E1\83\9B\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\9D\E1\83\97\E1\83\AE\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\AE\E1\83\A3\E1\83\97\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\9E\E1\83\90\E1\83\A0\E1\83\90\E1\83\A1\E1\83\99\E1\83\94\E1\83\95\E1\83\98\00\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\98\E1\83\90\E1\83\9C\00\E1\83\97\E1\83\94\E1\83\91\00\E1\83\9B\E1\83\90\E1\83\A0\00\E1\83\90\E1\83\9E\E1\83\A0\00\E1\83\9B\E1\83\90\E1\83\98\00\E1\83\98\E1\83\95\E1\83\9C\00\E1\83\98\E1\83\95\E1\83\9A\00\E1\83\90\E1\83\92\E1\83\95\00\E1\83\A1\E1\83\94\E1\83\A5\00\E1\83\9D\E1\83\A5\E1\83\A2\00\E1\83\9C\E1\83\9D\E1\83\94\00\E1\83\93\E1\83\94\E1\83\99\00\E1\83\98\E1\83\90\E1\83\9C\E1\83\95\E1\83\90\E1\83\A0\E1\83\98\00\E1\83\97\E1\83\94\E1\83\91\E1\83\94\E1\83\A0\E1\83\95\E1\83\90\E1\83\9A\E1\83\98\00\E1\83\9B\E1\83\90\E1\83\A0\E1\83\A2\E1\83\98\00\E1\83\90\E1\83\9E\E1\83\A0\E1\83\98\E1\83\9A\E1\83\98\00\E1\83\9B\E1\83\90\E1\83\98\E1\83\A1\E1\83\98\00\E1\83\98\E1\83\95\E1\83\9C\E1\83\98\E1\83\A1\E1\83\98\00\E1\83\98\E1\83\95\E1\83\9A\E1\83\98\E1\83\A1\E1\83\98\00\E1\83\90\E1\83\92\E1\83\95\E1\83\98\E1\83\A1\E1\83\A2\E1\83\9D\00\E1\83\A1\E1\83\94\E1\83\A5\E1\83\A2\E1\83\94\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00\E1\83\9D\E1\83\A5\E1\83\A2\E1\83\9D\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00\E1\83\9C\E1\83\9D\E1\83\94\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00\E1\83\93\E1\83\94\E1\83\99\E1\83\94\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00%Y \E1\83\AC\E1\83\9A\E1\83\98\E1\83\A1 %d %B, %T %Z\00ata\00pin\00sis\00tal\00arf\00sabaat\00ataasinngorneq\00marlunngorneq\00pingasunngorneq\00sisamanngorneq\00tallimanngorneq\00arfininngorneq\00januari\00februari\00martsi\00aprili\00maji\00augustusi\00septemberi\00oktoberi\00novemberi\00decemberi\00%d %b %Y\00\EC\9D\BC\00\EC\9B\94\00\ED\99\94\00\EC\88\98\00\EB\AA\A9\00\EA\B8\88\00\ED\86\A0\00\EC\9D\BC\EC\9A\94\EC\9D\BC\00\EC\9B\94\EC\9A\94\EC\9D\BC\00\ED\99\94\EC\9A\94\EC\9D\BC\00\EC\88\98\EC\9A\94\EC\9D\BC\00\EB\AA\A9\EC\9A\94\EC\9D\BC\00\EA\B8\88\EC\9A\94\EC\9D\BC\00\ED\86\A0\EC\9A\94\EC\9D\BC\00 1\EC\9B\94\00 2\EC\9B\94\00 3\EC\9B\94\00 4\EC\9B\94\00 5\EC\9B\94\00 6\EC\9B\94\00 7\EC\9B\94\00 8\EC\9B\94\00 9\EC\9B\94\0010\EC\9B\94\0011\EC\9B\94\0012\EC\9B\94\00\EC\9D\BC\EC\9B\94\00\EC\9D\B4\EC\9B\94\00\EC\82\BC\EC\9B\94\00\EC\82\AC\EC\9B\94\00\EC\98\A4\EC\9B\94\00\EC\9C\A0\EC\9B\94\00\EC\B9\A0\EC\9B\94\00\ED\8C\94\EC\9B\94\00\EA\B5\AC\EC\9B\94\00\EC\8B\9C\EC\9B\94\00\EC\8B\AD\EC\9D\BC\EC\9B\94\00\EC\8B\AD\EC\9D\B4\EC\9B\94\00\EC\98\A4\EC\A0\84\00\EC\98\A4\ED\9B\84\00%x (%a) %r\00%Y\EB\85\84 %m\EC\9B\94 %d\EC\9D\BC\00%H\EC\8B\9C %M\EB\B6\84 %S\EC\B4\88\00%p %I\EC\8B\9C %M\EB\B6\84 %S\EC\B4\88\00Mth\00Mhr\00Yow\00De Sul\00De Lun\00De Merth\00De Merher\00De Yow\00De Gwener\00De Sadorn\00Gen\00Whe>\00Me\00Evn\00Est\00Gwn\00Hed\00Kev\00Mys Genver\00Mys Whevrel\00Mys Merth\00Mys Ebrel\00Mys Me\00Mys Evan\00Mys Gortheren\00Mye Est\00Mys Gwyngala\00Mys Hedra\00Mys Du\00Mys Kevardhu\00Sk\00Pr\00An\00Tr\00Kt\00Pn\00\D0t\00Sekmadienis\00Pirmadienis\00Antradienis\00Tre\E8iadienis\00Ketvirtadienis\00Penktadienis\00\D0e\F0tadienis\00Sau\00Vas\00Kov\00Bal\00Geg\00Bir\00Lie\00Rgp\00Rgs\00Spa\00Lap\00Grd\00sausio\00vasario\00kovo\00baland\FEio\00gegu\FE\EBs\00bir\FEelio\00liepos\00rugpj\FB\E8io\00rugs\EBjo\00spalio\00lapkri\E8io\00gruod\FEio\00%Y m. %B %d d. %T\00%Y.%m.%d\00\C5\A0t\00Tre\C4\8Diadienis\00\C5\A0e\C5\A1tadienis\00baland\C5\BEio\00gegu\C5\BE\C4\97s\00bir\C5\BEelio\00rugpj\C5\AB\C4\8Dio\00rugs\C4\97jo\00lapkri\C4\8Dio\00gruod\C5\BEio\00Sv\00P\A0\00O\A0\00T\A0\00C\A0\00Pk\00S\A0\00sv\E7tdiena\00pirmdiena\00otrdiena\00tre\F0diena\00ceturtdiena\00piektdiena\00sestdiena\00j\FBn\00j\FBl\00janv\E2ris\00febru\E2ris\00apr\EElis\00maijs\00j\FBnijs\00j\FBlijs\00augusts\00septembris\00oktobris\00novembris\00decembris\00%A, %Y. gada %e. %B, plkst. %H un %M\00%Y.%m.%d.\00P\C2\A0\00O\C2\A0\00T\C2\A0\00C\C2\A0\00S\C2\A0\00sv\C4\93tdiena\00tre\C5\A1diena\00j\C5\ABn\00j\C5\ABl\00janv\C4\81ris\00febru\C4\81ris\00apr\C4\ABlis\00j\C5\ABnijs\00j\C5\ABlijs\00Ta\00T\FB\00We\00T\E2i\00Pa\00H\E2\00R\E2tapu\00Mane\00T\FBrei\00Wenerei\00T\E2ite\00Paraire\00H\E2tarei\00Kohi\00Hui\00Pou\00Pae\00Hara\00Pipi\00H\F4ngoi\00Mahu\00Whi-nu\00Whi-ra\00Haki\00Kohi-t\E2tea\00Hui-tanguru\00Pout\FB-te-rangi\00Paenga-wh\E2wh\E2\00Haratua\00Pipiri\00H\F4ngoingoi\00Here-turi-k\F4k\E2\00Mahuru\00Whiringa-\E2-nuku\00Whiringa-\E2-rangi\00Hakihea\00Te %A, te %d o %B, %Y %T %Z\00T\C5\AB\00T\C4\81i\00H\C4\81\00R\C4\81tapu\00T\C5\ABrei\00T\C4\81ite\00H\C4\81tarei\00H\C5\8Dngoi\00Kohi-t\C4\81tea\00Pout\C5\AB-te-rangi\00Paenga-wh\C4\81wh\C4\81\00H\C5\8Dngoingoi\00Here-turi-k\C5\8Dk\C4\81\00Whiringa-\C4\81-nuku\00Whiringa-\C4\81-rangi\00\DD\D5\D4\00\DF\DE\DD\00\D2\E2\DE\00\E1\E0\D5\00\E7\D5\E2\00\DF\D5\E2\00\E1\D0\D1\00\DD\D5\D4\D5\DB\D0\00\DF\DE\DD\D5\D4\D5\DB\DD\D8\DA\00\D2\E2\DE\E0\DD\D8\DA\00\E1\E0\D5\D4\D0\00\E7\D5\E2\D2\E0\E2\DE\DA\00\DF\D5\E2\DE\DA\00\E1\D0\D1\DE\E2\D0\00\F8\D0\DD\00\E4\D5\D2\00\DC\D0\E0\00\D0\DF\E0\00\DC\D0\F8\00\F8\E3\DD\00\F8\E3\DB\00\D0\D2\D3\00\E1\D5\DF\00\DE\DA\E2\00\DD\DE\D5\00\D4\D5\DA\00\F8\D0\DD\E3\D0\E0\D8\00\E4\D5\D2\E0\E3\D0\E0\D8\00\DC\D0\E0\E2\00\D0\DF\E0\D8\DB\00\F8\E3\DD\D8\00\F8\E3\DB\D8\00\D0\D2\D3\E3\E1\E2\00\E1\D5\DF\E2\D5\DC\D2\E0\D8\00\DE\DA\E2\DE\DC\D2\E0\D8\00\DD\DE\D5\DC\D2\E0\D8\00\D4\D5\DA\D5\DC\D2\E0\D8\00%a, %d %b %Y %T %Z\00\D0\BD\D0\B5\D0\B4\00\D0\BF\D0\BE\D0\BD\00\D0\B2\D1\82\D0\BE\00\D1\81\D1\80\D0\B5\00\D1\87\D0\B5\D1\82\00\D0\BF\D0\B5\D1\82\00\D1\81\D0\B0\D0\B1\00\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D0\B0\00\D1\81\D1\80\D0\B5\D0\B4\D0\B0\00\D1\87\D0\B5\D1\82\D0\B2\D1\80\D1\82\D0\BE\D0\BA\00\D0\BF\D0\B5\D1\82\D0\BE\D0\BA\00\D1\81\D0\B0\D0\B1\D0\BE\D1\82\D0\B0\00\D1\98\D0\B0\D0\BD\00\D0\BC\D0\B0\D1\98\00\D1\98\D1\83\D0\BD\00\D1\98\D1\83\D0\BB\00\D1\98\D0\B0\D0\BD\D1\83\D0\B0\D1\80\D0\B8\00\D1\98\D1\83\D0\BD\D0\B8\00\D1\98\D1\83\D0\BB\D0\B8\00\E0\A4\B0\E0\A4\B5\E0\A4\BF\00\E0\A4\B8\E0\A5\8B\E0\A4\AE\00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B3\00\E0\A4\AC\E0\A5\81\E0\A4\A7\00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81\00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0\00\E0\A4\B6\E0\A4\A8\E0\A4\BF\00\E0\A4\B0\E0\A4\B5\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\B8\E0\A5\8B\E0\A4\AE\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B3\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\B6\E0\A4\A8\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\9C\E0\A4\BE\E0\A4\A8\E0\A5\87\E0\A4\B5\E0\A4\BE\E0\A4\B0\E0\A5\80\00\E0\A4\AB\E0\A5\87\E0\A4\AC\E0\A5\83\E0\A4\B5\E0\A4\BE\E0\A4\B0\E0\A5\80\00\E0\A4\8F\E0\A4\AA\E0\A5\8D\E0\A4\B0\E0\A4\BF\E0\A4\B2\00\E0\A4\AE\E0\A5\87\00\E0\A4\9C\E0\A5\81\E0\A4\B2\E0\A5\88\00\E0\A4\93\E0\A4\97\E0\A4\B8\E0\A5\8D\E0\A4\9F\00\E0\A4\B8\E0\A5\87\E0\A4\AA\E0\A5\8D\E0\A4\9F\E0\A5\87\E0\A4\82\E0\A4\AC\E0\A4\B0\00\E0\A4\93\E0\A4\95\E0\A5\8D\E0\A4\9F\E0\A5\8B\E0\A4\AC\E0\A4\B0\00\E0\A4\A8\E0\A5\8B\E0\A4\B5\E0\A5\8D\E0\A4\B9\E0\A5\87\E0\A4\82\E0\A4\AC\E0\A4\B0\00\E0\A4\A1\E0\A4\BF\E0\A4\B8\E0\A5\87\E0\A4\82\E0\A4\AC\E0\A4\B0\00\E0\A4\AE.\E0\A4\AA\E0\A5\82.\00\E0\A4\AE.\E0\A4\A8\E0\A4\82.\00Ahd\00Isn\00Kha\00Ahad\00Isnin\00Khamis\00Jumaat\00Mac\00Ogos\00Dis\00Februari\00Julai\00Disember\00\A1ad\00Tne\00Tli\00Erb\00\A1am\00\D5im\00Sib\00il-\A1add\00it-Tnejn\00it-Tlieta\00l-Erbg\B1a\00il-\A1amis\00il-\D5img\B1a\00is-Sibt\00Fra\00Mej\00\D5un\00Lul\00Awi\00Ott\00Di\E5\00Jannar\00Frar\00Marzu\00Mejju\00\D5unju\00Lulju\00Awissu\00Settembru\00Ottubru\00Novembru\00Di\E5embru \00%A, %d ta %b, %Y %I:%M:%S %p %Z\00%A, %d ta %b, %Y\00\C4\A6ad\00\C4\A6am\00\C4\A0im\00il-\C4\A6add\00l-Erbg\C4\A7a\00il-\C4\A6amis\00il-\C4\A0img\C4\A7a\00\C4\A0un\00Di\C4\8B\00\C4\A0unju\00Di\C4\8Bembru \00zo\00di\00wo\00do\00vr\00za\00zondag\00maandag\00dinsdag\00woensdag\00donderdag\00vrijdag\00zaterdag\00mrt\00mei\00maart\00augustus\00%d-%m-%y\00su \00m\E5 \00ty \00on \00to \00fr \00lau \00sundag \00m\E5ndag \00tysdag \00onsdag \00torsdag \00fredag \00laurdag \00%d. %b %Y kl %H.%M %Z\00%d. %b %Y\00kl %H.%M %Z\00m\C3\A5 \00m\C3\A5ndag \00%a %d-%m-%Y %T %Z\00mec\00j\F3u\00dimenge\00diluns\00dimars\00dij\F3us\00disabte\00ag\F3\00geni\E8r\00febri\E8r\00abrial\00junh\00julhet\00ag\F3st\00decembre\00j\C3\B3u\00dij\C3\B3us\00ag\C3\B3\00geni\C3\A8r\00febri\C3\A8r\00ag\C3\B3st\00nie\00pon\00wto\00\B6ro\00czw\00pi\B1\00sob\00niedziela\00poniedzia\B3ek\00wtorek\00\B6roda\00czwartek\00pi\B1tek\00sobota\00sty\00lut\00kwi\00cze\00lip\00sie\00wrz\00pa\BC\00gru\00stycze\F1\00luty\00marzec\00kwiecie\F1\00czerwiec\00lipiec\00sierpie\F1\00wrzesie\F1\00pa\BCdziernik\00grudzie\F1\00\C5\9Bro\00pi\C4\85\00poniedzia\C5\82ek\00\C5\9Broda\00pi\C4\85tek\00pa\C5\BA\00stycze\C5\84\00kwiecie\C5\84\00sierpie\C5\84\00wrzesie\C5\84\00pa\C5\BAdziernik\00grudzie\C5\84\00Seg\00Ter\00Qua\00Qui\00Sex\00segunda\00ter\E7a\00quarta\00quinta\00sexta\00janeiro\00fevereiro\00mar\E7o\00maio\00junho\00julho\00setembro\00outubro\00novembro\00dezembro\00ter\C3\A7a\00mar\C3\A7o\00Segunda\00Ter\E7a\00Quarta\00Quinta\00Sexta\00Janeiro\00Fevereiro\00Mar\E7o\00Junho\00Julho\00Dezembro\00Ter\C3\A7a\00Mar\C3\A7o\00Lu\00Mi\00Jo\00Vi\00S\EE\00Duminic\C3\00Luni\00Mar\FEi\00Miercuri\00Joi\00Vineri\00S\EEmb\C3t\C3\00ian\00iun\00iul\00Ianuarie\00Martie\00Aprilie\00Iunie\00Iulie\00Septembrie\00Octombrie\00Noiembrie\00Decembrie\00S\C3\AE\00Duminic\C4\82\00Mar\C5\A3i\00S\C3\AEmb\C4\82t\C4\82\00\F7\D3\CB\00\F0\CE\C4\00\F7\D4\D2\00\F3\D2\C4\00\FE\D4\D7\00\F0\D4\CE\00\F3\C2\D4\00\F7\CF\D3\CB\D2\C5\D3\C5\CE\D8\C5\00\F0\CF\CE\C5\C4\C5\CC\D8\CE\C9\CB\00\F7\D4\CF\D2\CE\C9\CB\00\F3\D2\C5\C4\C1\00\FE\C5\D4\D7\C5\D2\C7\00\F0\D1\D4\CE\C9\C3\C1\00\F3\D5\C2\C2\CF\D4\C1\00\F1\CE\D7\00\E6\C5\D7\00\ED\C1\D2\00\E1\D0\D2\00\ED\C1\CA\00\E9\C0\CE\00\E9\C0\CC\00\E1\D7\C7\00\F3\C5\CE\00\EF\CB\D4\00\EE\CF\D1\00\E4\C5\CB\00\F1\CE\D7\C1\D2\D1\00\E6\C5\D7\D2\C1\CC\D1\00\ED\C1\D2\D4\C1\00\E1\D0\D2\C5\CC\D1\00\ED\C1\D1\00\E9\C0\CE\D1\00\E9\C0\CC\D1\00\E1\D7\C7\D5\D3\D4\C1\00\F3\C5\CE\D4\D1\C2\D2\D1\00\EF\CB\D4\D1\C2\D2\D1\00\EE\CF\D1\C2\D2\D1\00\E4\C5\CB\C1\C2\D2\D1\00\B2\E1\DA\00\BF\DD\D4\00\B2\E2\E0\00\C1\E0\D4\00\C7\E2\D2\00\BF\E2\DD\00\C1\D1\E2\00\B2\DE\E1\DA\E0\D5\E1\D5\DD\EC\D5\00\BF\DE\DD\D5\D4\D5\DB\EC\DD\D8\DA\00\B2\E2\DE\E0\DD\D8\DA\00\C1\E0\D5\D4\D0\00\C7\D5\E2\D2\D5\E0\D3\00\BF\EF\E2\DD\D8\E6\D0\00\C1\E3\D1\D1\DE\E2\D0\00\CF\DD\D2\00\C4\D5\D2\00\BC\D0\E0\00\B0\DF\E0\00\BC\D0\D9\00\B8\EE\DD\00\B8\EE\DB\00\B0\D2\D3\00\C1\D5\DD\00\BE\DA\E2\00\BD\DE\EF\00\B4\D5\DA\00\CF\DD\D2\D0\E0\EF\00\C4\D5\D2\E0\D0\DB\EF\00\BC\D0\E0\E2\D0\00\B0\DF\E0\D5\DB\EF\00\BC\D0\EF\00\B8\EE\DD\EF\00\B8\EE\DB\EF\00\B0\D2\D3\E3\E1\E2\D0\00\C1\D5\DD\E2\EF\D1\E0\EF\00\BE\DA\E2\EF\D1\E0\EF\00\BD\DE\EF\D1\E0\EF\00\B4\D5\DA\D0\D1\E0\EF\00\D0\92\D1\81\D0\BA\00\D0\9F\D0\BD\D0\B4\00\D0\92\D1\82\D1\80\00\D0\A7\D1\82\D0\B2\00\D0\9F\D1\82\D0\BD\00\D0\A1\D0\B1\D1\82\00\D0\92\D0\BE\D1\81\D0\BA\D1\80\D0\B5\D1\81\D0\B5\D0\BD\D1\8C\D0\B5\00\D0\9F\D0\BE\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D1\8C\D0\BD\D0\B8\D0\BA\00\D0\92\D1\82\D0\BE\D1\80\D0\BD\D0\B8\D0\BA\00\D0\A1\D1\80\D0\B5\D0\B4\D0\B0\00\D0\A7\D0\B5\D1\82\D0\B2\D0\B5\D1\80\D0\B3\00\D0\9F\D1\8F\D1\82\D0\BD\D0\B8\D1\86\D0\B0\00\D0\A1\D1\83\D0\B1\D0\B1\D0\BE\D1\82\D0\B0\00\D0\AF\D0\BD\D0\B2\00\D0\A4\D0\B5\D0\B2\00\D0\9C\D0\B0\D1\80\00\D0\90\D0\BF\D1\80\00\D0\9C\D0\B0\D0\B9\00\D0\98\D1\8E\D0\BD\00\D0\98\D1\8E\D0\BB\00\D0\90\D0\B2\D0\B3\00\D0\A1\D0\B5\D0\BD\00\D0\9E\D0\BA\D1\82\00\D0\9D\D0\BE\D1\8F\00\D0\94\D0\B5\D0\BA\00\D0\AF\D0\BD\D0\B2\D0\B0\D1\80\D1\8F\00\D0\A4\D0\B5\D0\B2\D1\80\D0\B0\D0\BB\D1\8F\00\D0\9C\D0\B0\D1\80\D1\82\D0\B0\00\D0\90\D0\BF\D1\80\D0\B5\D0\BB\D1\8F\00\D0\9C\D0\B0\D1\8F\00\D0\98\D1\8E\D0\BD\D1\8F\00\D0\98\D1\8E\D0\BB\D1\8F\00\D0\90\D0\B2\D0\B3\D1\83\D1\81\D1\82\D0\B0\00\D0\A1\D0\B5\D0\BD\D1\82\D1\8F\D0\B1\D1\80\D1\8F\00\D0\9E\D0\BA\D1\82\D1\8F\D0\B1\D1\80\D1\8F\00\D0\9D\D0\BE\D1\8F\D0\B1\D1\80\D1\8F\00\D0\94\D0\B5\D0\BA\D0\B0\D0\B1\D1\80\D1\8F\00\F7\D4\CF\00\F3\D5\C2\00\F1\CE\D7\C1\D2\D8\00\E6\C5\D7\D2\C1\CC\D8\00\ED\C1\D2\D4\00\E1\D0\D2\C5\CC\D8\00\E9\C0\CE\D8\00\E9\C0\CC\D8\00\E1\D7\C7\D5\D3\D4\00\F3\C5\CE\D4\D1\C2\D2\D8\00\EF\CB\D4\D1\C2\D2\D8\00\EE\CF\D1\C2\D2\D8\00\E4\C5\CB\C1\C2\D2\D8\00\D0\92\D1\82\D0\BE\00\D0\AF\D0\BD\D0\B2\D0\B0\D1\80\D1\8C\00\D0\A4\D0\B5\D0\B2\D1\80\D0\B0\D0\BB\D1\8C\00\D0\9C\D0\B0\D1\80\D1\82\00\D0\90\D0\BF\D1\80\D0\B5\D0\BB\D1\8C\00\D0\98\D1\8E\D0\BD\D1\8C\00\D0\98\D1\8E\D0\BB\D1\8C\00\D0\90\D0\B2\D0\B3\D1\83\D1\81\D1\82\00\D0\A1\D0\B5\D0\BD\D1\82\D1\8F\D0\B1\D1\80\D1\8C\00\D0\9E\D0\BA\D1\82\D1\8F\D0\B1\D1\80\D1\8C\00\D0\9D\D0\BE\D1\8F\D0\B1\D1\80\D1\8C\00\D0\94\D0\B5\D0\BA\D0\B0\D0\B1\D1\80\D1\8C\00sotn\00vuos\00ma\C5\8B\00gask\00duor\00bear\00l\C3\A1v\00sotnabeaivi\00vuoss\C3\A1rga\00ma\C5\8B\C5\8Bebarga\00gaskavahkku\00duorasdat\00bearjadat\00l\C3\A1vvardat\00o\C4\91\C4\91j\00guov\00njuk\00cuo\C5\8B\00mies\00geas\00suoi\00borg\00\C4\8Dak\C4\8D\00golg\00sk\C3\A1b\00juov\00o\C4\91\C4\91ajagem\C3\A1nu\00guovvam\C3\A1nu\00njuk\C4\8Dam\C3\A1nu\00cuo\C5\8Bom\C3\A1nu\00miessem\C3\A1nu\00geassem\C3\A1nu\00suoidnem\C3\A1nu\00borgem\C3\A1nu\00\C4\8Dak\C4\8Dam\C3\A1nu\00golggotm\C3\A1nu\00sk\C3\A1bmam\C3\A1nu\00juovlam\C3\A1nu\00%a, %b %e. b. %Y %T %Z\00Ut\00\A9t\00Pi\00Nede\B5a\00Pondelok\00Utorok\00Streda\00\A9tvrtok\00Piatok\00marec\00Nede\C4\BEa\00\C5\A0tvrtok\00ned\00sre\00\E8et\00pet\00nedelja\00ponedeljek\00torek\00sreda\00\E8etrtek\00petek\00avg\00junij\00julij\00avgust\00\C4\8Det\00\C4\8Detrtek\00Die \00H\EBn \00Mar \00M\EBr \00Enj \00Pre \00Sht \00e diel \00e h\EBn\EB \00e mart\EB \00e m\EBrkur\EB \00e enjte \00e premte \00e shtun\EB \00Shk\00Pri\00Qer\00Kor\00Gsh\00Sht\00Tet\00N\EBn\00Dhj\00janar\00shkurt\00prill\00qershor\00korrik\00gusht\00shtator\00tetor\00n\EBntor\00dhjetor\00PD\00MD\00%Y-%b-%d %I.%M.%S.%p %Z\00%Y-%b-%d\00%I.%M.%S. %Z\00%I.%M.%S.%p %Z\00H\C3\ABn \00M\C3\ABr \00e h\C3\ABn\C3\AB \00e mart\C3\AB \00e m\C3\ABrkur\C3\AB \00e shtun\C3\AB \00N\C3\ABn\00n\C3\ABntor\00uto\00sub\00ponedeljak\00utorak\00\E8etvrtak\00petak\00subota\00septembar\00oktobar\00novembar\00decembar\00%d-%m-%Y.\00\C4\8Detvrtak\00\E3\E2\DE\00\E1\E3\D1\00\DD\D5\D4\D5\F9a\00\DF\DE\DD\D5\D4\D5\F9\D0\DA\00\E3\E2\DE\E0\D0\DA\00\E7\D5\E2\D2\E0\E2\D0\DA\00\DF\D5\E2\D0\DA\00\E1\E3\D1\DE\E2\D0\00\E4\D5\D1\00\DD\DE\D2\00\D4\D5\E6\00\F8\D0\DD\E3\D0\E0\00\E4\D5\D1\E0\E3\D0\E0\00\E1\D5\DF\E2\D5\DC\D1\D0\E0\00\DE\DA\E2\DE\D1\D0\E0\00\DD\DE\D2\D5\DC\D1\D0\E0\00\D4\D5\E6\D5\DC\D1\D0\E0\00+%a %d %b %Y %T %Z\00\D1\83\D1\82\D0\BE\00\D1\81\D1\83\D0\B1\00\D0\BD\D0\B5\D0\B4\D0\B5\D1\99a\00\D0\BF\D0\BE\D0\BD\D0\B5\D0\B4\D0\B5\D1\99\D0\B0\D0\BA\00\D1\83\D1\82\D0\BE\D1\80\D0\B0\D0\BA\00\D1\87\D0\B5\D1\82\D0\B2\D1\80\D1\82\D0\B0\D0\BA\00\D0\BF\D0\B5\D1\82\D0\B0\D0\BA\00\D1\81\D1\83\D0\B1\D0\BE\D1\82\D0\B0\00\D1\84\D0\B5\D0\B1\00\D0\BD\D0\BE\D0\B2\00\D0\B4\D0\B5\D1\86\00\D1\98\D0\B0\D0\BD\D1\83\D0\B0\D1\80\00\D1\84\D0\B5\D0\B1\D1\80\D1\83\D0\B0\D1\80\00\D1\81\D0\B5\D0\BF\D1\82\D0\B5\D0\BC\D0\B1\D0\B0\D1\80\00\D0\BE\D0\BA\D1\82\D0\BE\D0\B1\D0\B0\D1\80\00\D0\BD\D0\BE\D0\B2\D0\B5\D0\BC\D0\B1\D0\B0\D1\80\00\D0\B4\D0\B5\D1\86\D0\B5\D0\BC\D0\B1\D0\B0\D1\80\00s\F6n\00m\E5n\00tis\00l\F6r\00s\F6ndag\00m\E5ndag\00tisdag\00l\F6rdag\00augusti\00%a %e %b %Y %H.%M.%S\00s\C3\B6n\00m\C3\A5n\00l\C3\B6r\00s\C3\B6ndag\00m\C3\A5ndag\00l\C3\B6rdag\00\E0\AE\9E\00\E0\AE\A4\00\E0\AE\9A\00\E0\AE\AA\00\E0\AE\B5\00\E0\AE\9E\E0\AE\BE\E0\AE\AF\E0\AE\BF\E0\AE\B1\E0\AF\81\00\E0\AE\A4\E0\AE\BF\E0\AE\99\E0\AF\8D\E0\AE\95\E0\AE\B3\E0\AF\8D\00\E0\AE\9A\E0\AF\86\E0\AE\B5\E0\AF\8D\E0\AE\B5\E0\AE\BE\E0\AE\AF\E0\AF\8D\00\E0\AE\AA\E0\AF\81\E0\AE\A4\E0\AE\A9\E0\AF\8D\00\E0\AE\B5\E0\AE\BF\E0\AE\AF\E0\AE\BE\E0\AE\B4\E0\AE\A9\E0\AF\8D\00\E0\AE\B5\E0\AF\86\E0\AE\B3\E0\AF\8D\E0\AE\B3\E0\AE\BF\00\E0\AE\9A\E0\AE\A9\E0\AE\BF\00\E0\AE\9C\E0\AE\A9\E0\AE\B5\E0\AE\B0\E0\AE\BF\00\E0\AE\AA\E0\AF\86\E0\AE\AA\E0\AF\8D\E0\AE\B0\E0\AE\B5\E0\AE\B0\E0\AE\BF\00\E0\AE\AE\E0\AE\BE\E0\AE\B0\E0\AF\8D\E0\AE\9A\E0\AF\8D\00\E0\AE\8F\E0\AE\AA\E0\AF\8D\E0\AE\B0\E0\AE\B2\E0\AF\8D\00\E0\AE\AE\E0\AF\87\00\E0\AE\9C\E0\AF\82\E0\AE\A9\E0\AF\8D\00\E0\AE\9C\E0\AF\82\E0\AE\B2\E0\AF\88\00\E0\AE\86\E0\AE\95\E0\AE\B8\E0\AF\8D\E0\AE\9F\E0\AF\8D\00\E0\AE\9A\E0\AF\86\E0\AE\AA\E0\AF\8D\E0\AE\9F\E0\AE\AE\E0\AF\8D\E0\AE\AA\E0\AE\B0\E0\AF\8D\00\E0\AE\85\E0\AE\95\E0\AF\8D\E0\AE\9F\E0\AF\8B\E0\AE\AA\E0\AE\B0\E0\AF\8D\00\E0\AE\A8\E0\AE\B5\E0\AE\AE\E0\AF\8D\E0\AE\AA\E0\AE\B0\E0\AF\8D\00\E0\AE\9F\E0\AE\BF\E0\AE\9A\E0\AE\AE\E0\AF\8D\E0\AE\AA\E0\AE\B0\E0\AF\8Dr\00\E0\AE\95\E0\AE\BE\E0\AE\B2\E0\AF\88\00\E0\AE\AE\E0\AE\BE\E0\AE\B2\E0\AF\88\00\E0\B0\86\E0\B0\A6\E0\B0\BF\00\E0\B0\B8\E0\B1\8B\E0\B0\AE\00\E0\B0\AE\E0\B0\82\E0\B0\97\E0\B0\B3\00\E0\B0\AC\E0\B1\81\E0\B0\A7\00\E0\B0\97\E0\B1\81\E0\B0\B0\E0\B1\81\00\E0\B0\B6\E0\B1\81\E0\B0\95\E0\B1\8D\E0\B0\B0\00\E0\B0\B6\E0\B0\A8\E0\B0\BF\00\E0\B0\86\E0\B0\A6\E0\B0\BF\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\B8\E0\B1\8B\E0\B0\AE\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\AE\E0\B0\82\E0\B0\97\E0\B0\B3\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\AC\E0\B1\81\E0\B0\A7\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\97\E0\B1\81\E0\B0\B0\E0\B1\81\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\B6\E0\B1\81\E0\B0\95\E0\B1\8D\E0\B0\B0\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\B6\E0\B0\A8\E0\B0\BF\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\9C\E0\B0\A8\E0\B0\B5\E0\B0\B0\E0\B0\BF\00\E0\B0\AB\E0\B0\BF\E0\B0\AC\E0\B1\8D\E0\B0\B0\E0\B0\B5\E0\B0\B0\E0\B0\BF\00\E0\B0\AE\E0\B0\BE\E0\B0\B0\E0\B1\8D\E0\B0\9A\E0\B0\BF\00\E0\B0\8F\E0\B0\AA\E0\B1\8D\E0\B0\B0\E0\B0\BF\E0\B0\B2\E0\B1\8D\00\E0\B0\AE\E0\B1\87\00\E0\B0\9C\E0\B1\82\E0\B0\A8\E0\B1\8D\00\E0\B0\9C\E0\B1\82\E0\B0\B2\E0\B1\88\00\E0\B0\86\E0\B0\97\E0\B0\B8\E0\B1\8D\E0\B0\9F\E0\B1\81\00\E0\B0\B8\E0\B1\86\E0\B0\AA\E0\B1\8D\E0\B0\9F\E0\B1\86\E0\B0\82\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\85\E0\B0\95\E0\B1\8D\E0\B0\9F\E0\B1\8B\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\A8\E0\B0\B5\E0\B0\82\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\A1\E0\B0\BF\E0\B0\B8\E0\B1\86\E0\B0\82\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\AA\E0\B1\82\E0\B0\B0\E0\B1\8D\E0\B0\B5\E0\B0\BE\E0\B0\B9\E0\B1\8D\E0\B0\A8\00\E0\B0\85\E0\B0\AA\E0\B0\B0\E0\B0\BE\E0\B0\B9\E0\B1\8D\E0\B0\A8\00\CD\D2.\00\A8.\00\CD.\00\BE.\00\BE\C4.\00\C8.\00\CA.\00\CD\D2\B7\D4\B5\C2\EC\00\A8\D1\B9\B7\C3\EC\00\CD\D1\A7\A4\D2\C3\00\BE\D8\B8\00\BE\C4\CB\D1\CA\BA\B4\D5\00\C8\D8\A1\C3\EC\00\E0\CA\D2\C3\EC\00\C1.\A4.\00\A1.\BE.\00\C1\D5.\A4.\00\E0\C1.\C2.\00\BE.\A4.\00\C1\D4.\C2.\00\A1.\A4.\00\CA.\A4.\00\A1.\C2.\00\B5.\A4.\00\BE.\C2.\00\B8.\A4.\00\C1\A1\C3\D2\A4\C1\00\A1\D8\C1\C0\D2\BE\D1\B9\B8\EC\00\C1\D5\B9\D2\A4\C1\00\E0\C1\C9\D2\C2\B9\00\BE\C4\C9\C0\D2\A4\C1\00\C1\D4\B6\D8\B9\D2\C2\B9\00\A1\C3\A1\AE\D2\A4\C1\00\CA\D4\A7\CB\D2\A4\C1\00\A1\D1\B9\C2\D2\C2\B9\00\B5\D8\C5\D2\A4\C1\00\BE\C4\C8\A8\D4\A1\D2\C2\B9\00\B8\D1\B9\C7\D2\A4\C1\00%a %e %b %Ey, %H:%M:%S\00%d/%m/%Ey\00+:1:-543/01/01:+*:\BE.\C8.:%EC %Ey\00\00%e %b %Ey\00\C7\D1\B9%A\B7\D5\E8 %e %B %EC %Ey, %H.%M.%S \B9.\00%H.%M.%S \B9.\00\E0\B8\AD\E0\B8\B2.\00\E0\B8\88.\00\E0\B8\AD.\00\E0\B8\9E.\00\E0\B8\9E\E0\B8\A4.\00\E0\B8\A8.\00\E0\B8\AA.\00\E0\B8\AD\E0\B8\B2\E0\B8\97\E0\B8\B4\E0\B8\95\E0\B8\A2\E0\B9\8C\00\E0\B8\88\E0\B8\B1\E0\B8\99\E0\B8\97\E0\B8\A3\E0\B9\8C\00\E0\B8\AD\E0\B8\B1\E0\B8\87\E0\B8\84\E0\B8\B2\E0\B8\A3\00\E0\B8\9E\E0\B8\B8\E0\B8\98\00\E0\B8\9E\E0\B8\A4\E0\B8\AB\E0\B8\B1\E0\B8\AA\E0\B8\9A\E0\B8\94\E0\B8\B5\00\E0\B8\A8\E0\B8\B8\E0\B8\81\E0\B8\A3\E0\B9\8C\00\E0\B9\80\E0\B8\AA\E0\B8\B2\E0\B8\A3\E0\B9\8C\00\E0\B8\A1.\E0\B8\84.\00\E0\B8\81.\E0\B8\9E.\00\E0\B8\A1\E0\B8\B5.\E0\B8\84.\00\E0\B9\80\E0\B8\A1.\E0\B8\A2.\00\E0\B8\9E.\E0\B8\84.\00\E0\B8\A1\E0\B8\B4.\E0\B8\A2.\00\E0\B8\81.\E0\B8\84.\00\E0\B8\AA.\E0\B8\84.\00\E0\B8\81.\E0\B8\A2.\00\E0\B8\95.\E0\B8\84.\00\E0\B8\9E.\E0\B8\A2.\00\E0\B8\98.\E0\B8\84.\00\E0\B8\A1\E0\B8\81\E0\B8\A3\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\81\E0\B8\B8\E0\B8\A1\E0\B8\A0\E0\B8\B2\E0\B8\9E\E0\B8\B1\E0\B8\99\E0\B8\98\E0\B9\8C\00\E0\B8\A1\E0\B8\B5\E0\B8\99\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B9\80\E0\B8\A1\E0\B8\A9\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\9E\E0\B8\A4\E0\B8\A9\E0\B8\A0\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\A1\E0\B8\B4\E0\B8\96\E0\B8\B8\E0\B8\99\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\81\E0\B8\A3\E0\B8\81\E0\B8\8E\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\AA\E0\B8\B4\E0\B8\87\E0\B8\AB\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\81\E0\B8\B1\E0\B8\99\E0\B8\A2\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\95\E0\B8\B8\E0\B8\A5\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\9E\E0\B8\A4\E0\B8\A8\E0\B8\88\E0\B8\B4\E0\B8\81\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\98\E0\B8\B1\E0\B8\99\E0\B8\A7\E0\B8\B2\E0\B8\84\E0\B8\A1\00+:1:-543/01/01:+*:\E0\B8\9E.\E0\B8\A8.:%EC %Ey\00\00\E0\B8\A7\E0\B8\B1\E0\B8\99%A\E0\B8\97\E0\B8\B5\E0\B9\88 %e %B %EC %Ey, %H.%M.%S \E0\B8\99.\00%H.%M.%S \E0\B8\99.\00\E1\88\B0\E1\8A\95\E1\89\A0\E1\89\B5\00\E1\88\B0\E1\8A\91\E1\8B\AD\00\E1\88\B0\E1\88\89\E1\88\B5\00\E1\88\93\E1\88\99\E1\88\B5\00\E1\8B\93\E1\88\AD\E1\89\A2\00\E1\89\80\E1\8B\B3\E1\88\9D\00\E1\8C\A5\E1\88\AA\00\E1\88\88\E1\8A\AB\E1\89\B2\00\E1\88\98\E1\8C\8B\E1\89\A2\00\E1\88\9A\E1\8B\AB\E1\8B\9D\00\E1\8C\8D\E1\8A\95\E1\89\A6\00\E1\88\B0\E1\8A\90\00\E1\88\93\E1\88\9D\E1\88\88\00\E1\8A\90\E1\88\93\E1\88\B0\00\E1\88\98\E1\88\B5\E1\8A\A8\00\E1\8C\A5\E1\89\85\E1\88\9D\00\E1\88\95\E1\8B\B3\E1\88\AD\00\E1\89\B3\E1\88\95\E1\88\B3\00\E1\88\88\E1\8A\AB\E1\89\B2\E1\89\B5\00\E1\88\98\E1\8C\8B\E1\89\A2\E1\89\B5\00\E1\88\9A\E1\8B\AB\E1\8B\9D\E1\8B\AB\00\E1\8C\8D\E1\8A\95\E1\89\A6\E1\89\B5\00\E1\88\98\E1\88\B5\E1\8A\A8\E1\88\A8\E1\88\9D\00\E1\8C\A5\E1\89\85\E1\88\9D\E1\89\B2\00\E1\89\B3\E1\88\95\E1\88\B3\E1\88\B5\00\E1\8A\95\E1\8C\89\E1\88\86 \E1\88\B0\E1\8B\93\E1\89\B0\00\E1\8B\B5\E1\88\95\E1\88\AD \E1\88\B0\E1\8B\93\E1\89\B5\00%A\E1\8D\A3 %b %e \E1\88\98\E1\8B\93\E1\88\8D\E1\89\B2 %l:%M:%S %Z %Y\00Lin\00Miy\00Huw\00Biy\00Linggo\00Lunes\00Miyerkoles\00Huwebes\00Biyernes\00Sabado\00Ene\00Hun\00Hul\00Nob\00Enero\00Pebrero\00Marso\00Mayo\00Hunyo\00Hulyo\00Septiyembre\00Oktubre\00Nobiyembre\00Disyembre\00Paz\00Pzt\00Sal\00\C7r\FE\00Pr\FE\00Cum\00Cts\00Pazar\00Pazartesi\00Sal\FD\00\C7ar\FEamba\00Per\FEembe\00Cuma\00Cumartesi\00Oca\00\DEub\00Nis\00Haz\00Tem\00A\F0u\00Eyl\00Eki\00Kas\00Ara\00Ocak\00\DEubat\00Nisan\00May\FDs\00Haziran\00Temmuz\00A\F0ustos\00Eyl\FCl\00Ekim\00Kas\FDm\00Aral\FDk\00\D6\D6\00\D6S\00\C3\87r\C5\9F\00Pr\C5\9F\00Sal\C4\B1\00\C3\87ar\C5\9Famba\00Per\C5\9Fembe\00\C5\9Eub\00A\C4\9Fu\00\C5\9Eubat\00May\C4\B1s\00A\C4\9Fustos\00Eyl\C3\BCl\00Kas\C4\B1m\00Aral\C4\B1k\00\C3\96\C3\96\00\C3\96S\00\D0\AF\D0\BA\D1\88\00\D0\94\D1\8B\D1\88\00\D0\A1\D0\B8\D1\88\00\D0\A7\D3\99\D1\80\D1\88\00\D0\9F\D3\99\D0\BD\D2\97\00\D2\96\D0\BE\D0\BC\00\D0\A8\D0\B8\D0\BC\00\D0\AF\D0\BA\D1\88\D3\99\D0\BC\D0\B1\D0\B5\00\D0\94\D1\8B\D1\88\D3\99\D0\BC\D0\B1\D0\B5\00\D0\A1\D0\B8\D1\88\D3\99\D0\BC\D0\B1\D0\B5\00\D0\A7\D3\99\D1\80\D1\88\D3\99\D3\99\D0\BC\D0\B1\D0\B5\00\D0\9F\D3\99\D0\BD\D2\97\D0\B5\D1\88\D0\BC\D0\B1\D0\B5\00\D2\96\D0\BE\D0\BC\D0\B3\D0\B0\00\D0\A8\D0\B8\D0\BC\D0\B1\D3\99\00\EE\C4\CC\00\EE\C5\C4\A6\CC\D1\00\F0\CF\CE\C5\C4\A6\CC\CF\CB\00\F7\A6\D7\D4\CF\D2\CF\CB\00\F3\C5\D2\C5\C4\C1\00\FE\C5\D4\D7\C5\D2\00\F0'\D1\D4\CE\C9\C3\D1\00\F3\D5\C2\CF\D4\C1\00\F3\A6\DE\00\EC\C0\D4\00\E2\C5\D2\00\EB\D7\A6\00\F4\D2\C1\00\FE\C5\D2\00\EC\C9\D0\00\F3\C5\D2\00\F7\C5\D2\00\F6\CF\D7\00\EC\C9\D3\00\E7\D2\D5\00\F3\A6\DE\C5\CE\D8\00\EC\C0\D4\C9\CA\00\E2\C5\D2\C5\DA\C5\CE\D8\00\EB\D7\A6\D4\C5\CE\D8\00\F4\D2\C1\D7\C5\CE\D8\00\FE\C5\D2\D7\C5\CE\D8\00\EC\C9\D0\C5\CE\D8\00\F3\C5\D2\D0\C5\CE\D8\00\F7\C5\D2\C5\D3\C5\CE\D8\00\F6\CF\D7\D4\C5\CE\D8\00\EC\C9\D3\D4\CF\D0\C1\C4\00\E7\D2\D5\C4\C5\CE\D8\00\D0\9D\D0\B4\D0\BB\00\D0\9D\D0\B5\D0\B4\D1\96\D0\BB\D1\8F\00\D0\9F\D0\BE\D0\BD\D0\B5\D0\B4\D1\96\D0\BB\D0\BE\D0\BA\00\D0\92\D1\96\D0\B2\D1\82\D0\BE\D1\80\D0\BE\D0\BA\00\D0\A1\D0\B5\D1\80\D0\B5\D0\B4\D0\B0\00\D0\A7\D0\B5\D1\82\D0\B2\D0\B5\D1\80\00\D0\9F'\D1\8F\D1\82\D0\BD\D0\B8\D1\86\D1\8F\00\D0\A1\D1\96\D1\87\00\D0\91\D0\B5\D1\80\00\D0\9A\D0\B2\D1\96\00\D0\A7\D0\B5\D1\80\00\D0\9B\D0\B8\D0\BF\00\D0\A1\D0\B5\D1\80\00\D0\92\D0\B5\D1\80\00\D0\96\D0\BE\D0\B2\00\D0\9B\D0\B8\D1\81\00\D0\93\D1\80\D1\83\00\D0\A1\D1\96\D1\87\D0\B5\D0\BD\D1\8C\00\D0\9B\D1\8E\D1\82\D0\B8\D0\B9\00\D0\91\D0\B5\D1\80\D0\B5\D0\B7\D0\B5\D0\BD\D1\8C\00\D0\9A\D0\B2\D1\96\D1\82\D0\B5\D0\BD\D1\8C\00\D0\A7\D0\B5\D1\80\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\9B\D0\B8\D0\BF\D0\B5\D0\BD\D1\8C\00\D0\A1\D0\B5\D1\80\D0\BF\D0\B5\D0\BD\D1\8C\00\D0\92\D0\B5\D1\80\D0\B5\D1\81\D0\B5\D0\BD\D1\8C\00\D0\96\D0\BE\D0\B2\D1\82\D0\B5\D0\BD\D1\8C\00\D0\9B\D0\B8\D1\81\D1\82\D0\BE\D0\BF\D0\B0\D0\B4\00\D0\93\D1\80\D1\83\D0\B4\D0\B5\D0\BD\D1\8C\00\D8\A7\D8\AA\D9\88\D8\A7\D8\B1\00\D9\BE\D9\8A\D8\B1\00\D9\85\D9\86\DA\AF\D9\84\00\D8\A8\D8\AF\DA\BE\00\D8\AC\D9\85\D8\B9\D8\B1\D8\A7\D8\AA\00\D9\87\D9\81\D8\AA\D9\87\00\D8\AC\D9\86\D9\88\D8\B1\D9\8A\00\D9\81\D8\B1\D9\88\D8\B1\D9\8A\00\D9\85\D8\A7\D8\B1\DA\86\00\D8\A7\D9\BE\D8\B1\D9\8A\D9\84\00\D9\85\D9\93\DB\8C\00\D8\AC\D9\88\D9\86\00\D8\AC\D9\88\D9\84\D8\A7\D9\8A\00\D8\A7\DA\AF\D8\B3\D8\AA\00\D8\B3\D8\AA\D9\85\D8\A8\D8\B1\00\D8\A7\D9\83\D8\AA\D9\88\D8\A8\D8\B1\00\D9\86\D9\88\D9\85\D8\A8\D8\B1\00\D8\AF\D8\B3\D9\85\D8\A8\D8\B1\00\D8\B4\00\D9\88 %H:%M:%S %Z \D8\AA %d %B %Y\00%P %I:%M:%S\00Yak\00Se\00Cho\00Pay\00Ju\00Sha\00yakshanba\00dushanba\00seshanba\00chorshanba\00payshanba\00juma\00shanba\00Yav\00Iyn\00Iyl\00Avg\00senyabr\00%T, %d %B, %Y yil, %A\00CN \00Th 2 \00Th 3 \00Th 4 \00Th 5 \00Th 6 \00Th 7 \00Chu\CC\89 nh\C3\A2\CC\A3t \00Th\C6\B0\CC\81 hai \00Th\C6\B0\CC\81 ba \00Th\C6\B0\CC\81 t\C6\B0 \00Th\C6\B0\CC\81 n\C4\83m \00Th\C6\B0\CC\81 s\C3\A1u \00Th\C6\B0\CC\81 ba\CC\89y \00Thg 1\00Thg 2\00Thg 3\00Thg 4\00Thg 5\00Thg 6\00Thg 7\00Thg 8\00Thg 9\00Thg 10\00Thg 11\00Thg 12\00Th\C3\A1ng m\C3\B4\CC\A3t\00Th\C3\A1ng hai\00Th\C3\A1ng ba\00Th\C3\A1ng t\C6\B0\00Th\C3\A1ng n\C4\83m\00Th\C3\A1ng s\C3\A1u\00Th\C3\A1ng ba\CC\89y\00Th\C3\A1ng t\C3\A1m\00Th\C3\A1ng ch\C3\ADn\00Th\C3\A1ng m\C6\B0\C6\A1\CC\80i\00Th\C3\A1ng m\C6\B0\C6\A1\CC\80i m\C3\B4\CC\A3t\00Th\C3\A1ng m\C6\B0\C6\A1\CC\80i hai\00%H:%M:%S %Z %A %d %b %Y\00%H:%M:%S %Z\00d\EEm\00lon\00m\E5r\00dju\00vin\00sem\00d\EEmegne\00londi\00m\E5rdi\00merkidi\00djudi\00vinrdi\00semdi\00dja\00fev\00m\E5s\00djn\00djl\00awo\00n\F4v\00djanv\EE\00fevr\EE\00m\E5ss\00avri\00djun\00djulete\00awousse\00setimbe\00oct\F4be\00n\F4vimbe\00decimbe\00Li %A %d di %B %Y %T %Z\00d\C3\AEm\00m\C3\A5r\00d\C3\AEmegne\00m\C3\A5rdi\00m\C3\A5s\00n\C3\B4v\00djanv\C3\AE\00fevr\C3\AE\00m\C3\A5ss\00oct\C3\B4be\00n\C3\B4vimbe\00\E6\E5\F0'\00\EE\E0\C8\F0'\00\E3\E9\F0'\00\EE\E9\E8'\00\E3\E0\C8\F0'\00\F4\CF\F8\D6\C7'\00\E6\E5\F0\E8\E9\F7\00\EE\E0\C8\F0\E8\E9\F7\00\E3\E9\F0\F1\E8\E9\F7\00\EE\E9\E8\D4\E0\C8\EA\00\E3\E0\C8\F0\F2\F8\F9\E8\E9\F7\00\F4\CF\F8\D6\C7\E8\E9\F7\00\E9\E0\C7\F0'\00\F4\CF\F2\E1'\00\EE\E0\C7\F8'\00\E0\C7\F4\CC\F8'\00\EE\D6\C7\00\E9\E5\F0'\00\E9\E5\EC'\00\E0\D5\E2'\00\F1\F2\F4\CC'\00\E0\C8\F7\E8'\00\F0\E0\C8\D4'\00\E3\F2\F6'\00\E9\E0\C7\F0\E5\E0\C7\F8\00\F4\CF\F2\E1\F8\E5\E0\C7\F8\00\EE\E0\C7\F8\F5\00\E0\C7\F4\CC\F8\E9\EC\00\E0\D5\E2\F1\E8\00\F1\F2\F4\CC\E8\F2\EE\E1\F2\F8\00\E0\C8\F7\E8\E0\C8\E1\F2\F8\00\F0A\C8\D4\F2\EE\E1\F2\F8\00\D7\96\D7\95\D7\A0'\00\D7\9E\D7\90\D6\B8\D7\A0'\00\D7\93\D7\99\D7\A0'\00\D7\9E\D7\99\D7\98'\00\D7\93\D7\90\D6\B8\D7\A0'\00\D7\A4\D6\BF\D7\A8\D7\B2\D6\B7'\00\D7\96\D7\95\D7\A0\D7\98\D7\99\D7\A7\00\D7\9E\D7\90\D6\B8\D7\A0\D7\98\D7\99\D7\A7\00\D7\93\D7\99\D7\A0\D7\A1\D7\98\D7\99\D7\A7\00\D7\9E\D7\99\D7\98\D7\B0\D7\90\D6\B8\D7\9A\00\D7\93\D7\90\D6\B8\D7\A0\D7\A2\D7\A8\D7\A9\D7\98\D7\99\D7\A7\00\D7\A4\D6\BF\D7\A8\D7\B2\D6\B7\D7\98\D7\99\D7\A7\00\D7\99\D7\90\D6\B7\D7\A0'\00\D7\A4\D6\BF\D7\A2\D7\91'\00\D7\9E\D7\90\D6\B7\D7\A8'\00\D7\90\D6\B7\D7\A4\D6\BC\D7\A8'\00\D7\9E\D7\B2\D6\B7\00\D7\99\D7\95\D7\A0'\00\D7\99\D7\95\D7\9C'\00\D7\90\D7\B1\D7\92'\00\D7\A1\D7\A2\D7\A4\D6\BC'\00\D7\90\D6\B8\D7\A7\D7\98'\00\D7\A0\D7\90\D6\B8\D7\B0'\00\D7\93\D7\A2\D7\A6'\00\D7\99\D7\90\D6\B7\D7\A0\D7\95\D7\90\D6\B7\D7\A8\00\D7\A4\D6\BF\D7\A2\D7\91\D7\A8\D7\95\D7\90\D6\B7\D7\A8\00\D7\9E\D7\90\D6\B7\D7\A8\D7\A5\00\D7\90\D6\B7\D7\A4\D6\BC\D7\A8\D7\99\D7\9C\00\D7\90\D7\B1\D7\92\D7\A1\D7\98\00\D7\A1\D7\A2\D7\A4\D6\BC\D7\98\D7\A2\D7\9E\D7\91\D7\A2\D7\A8\00\D7\90\D6\B8\D7\A7\D7\98\D7\90\D6\B8\D7\91\D7\A2\D7\A8\00\D7\A0A\D6\B8\D7\B0\D7\A2\D7\9E\D7\91\D7\A2\D7\A8\00\E4\B8\80\00\E4\BA\8C\00\E4\B8\89\00\E5\9B\9B\00\E4\BA\94\00\E5\85\AD\00\E6\98\9F\E6\9C\9F\E6\97\A5\00\E6\98\9F\E6\9C\9F\E4\B8\80\00\E6\98\9F\E6\9C\9F\E4\BA\8C\00\E6\98\9F\E6\9C\9F\E4\B8\89\00\E6\98\9F\E6\9C\9F\E5\9B\9B\00\E6\98\9F\E6\9C\9F\E4\BA\94\00\E6\98\9F\E6\9C\9F\E5\85\AD\00\E4\B8\80\E6\9C\88\00\E4\BA\8C\E6\9C\88\00\E4\B8\89\E6\9C\88\00\E5\9B\9B\E6\9C\88\00\E4\BA\94\E6\9C\88\00\E5\85\AD\E6\9C\88\00\E4\B8\83\E6\9C\88\00\E5\85\AB\E6\9C\88\00\E4\B9\9D\E6\9C\88\00\E5\8D\81\E6\9C\88\00\E5\8D\81\E4\B8\80\E6\9C\88\00\E5\8D\81\E4\BA\8C\E6\9C\88\00\E4\B8\8A\E5\8D\88\00\E4\B8\8B\E5\8D\88\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %A %H\E6\97\B6%M\E5\88\86%S\E7\A7\92\00%H\E6\97\B6%M\E5\88\86%S\E7\A7\92\00%p %I\E6\97\B6%M\E5\88\86%S\E7\A7\92\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %A %H:%M:%S\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %A\00%I\E6\99\82%M\E5\88\86%S\E7\A7\92 %Z\00%p %I:%M:%S\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %H\E6\97\B6%M\E5\88\86%S\E7\A7\92 %Z\00%H\E6\97\B6%M\E5\88\86%S\E7\A7\92 %Z\00\E9\80\B1\E6\97\A5\00\E9\80\B1\E4\B8\80\00\E9\80\B1\E4\BA\8C\00\E9\80\B1\E4\B8\89\00\E9\80\B1\E5\9B\9B\00\E9\80\B1\E4\BA\94\00\E9\80\B1\E5\85\AD\00\E8\A5\BF\E5\85\83%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 (%A) %H\E6\99\82%M\E5\88\86%S\E7\A7\92\00\E8\A5\BF\E5\85\83%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5\00%p %I\E6\99\82%M\E5\88\86%S\E7\A7\92\00", [1804 x i8] c"\00^[yY]\00^[nN]\00[jJ].*\00[nN].*\00^[yY].*\00^[nN].*\00^[\E6].*\00^[\E4].*\00^[\D9\86].*\00^[\D9\84].*\00^[\D9\86]\00^[\D9\84]\00\D9\86\D8\B9\D9\85\00\D9\84\D8\A7\00^(\E6|\E6\D9\E5)\00^(\E4|\E4\C7)\00\E6\D9\E5\00\E4\C7\00^(\D9\86|\D9\86\D8\B9\D9\85)\00^(\D9\84|\D9\84\D8\A7)\00^[Bb].*\00^[YyNn].*\00yox\00b\C9\99li\00^[\C4\E4Yy].*\00^[\CD\EDNn].*\00^[\D0\94\D0\B4Yy].*\00^[\D0\9D\D0\BDNn].*\00^[+1\C4\E4DdYyOo].*\00^[-0\CD\EDNnKk].*\00^[+1\D0\94\D0\B4DdYyOo].*\00^[-0\D0\9D\D0\BDNnKk].*\00[yYsS\D5\A1\D4\B1].*\00[nN\D5\B8\D5\88].*\00\D5\A1\D5\B5\D5\B8\00\D5\B8\D5\B9\00^[\E0\A6\B9\E0\A7\8D\E0\A6\AF\E0\A6\BE\E0\A6\81]\00^[\E0\A6\A8\E0\A6\BE]\00\E0\A6\B9\E0\A7\8D\E0\A6\AF\E0\A6\BE\E0\A6\81\00\E0\A6\A8\E0\A6\BE\00[oOyY].*\00^[dDyY]*.\00^[nN]*.\00[sSyY].*\00^[aAyY].*\00ano\00ne\00[iItTyY].*\00ie\00na\00^[1JjYy].*\00^[0Nn].*\00^[jJyY].*\00^[\ED\CDyY].*\00^[\EF\CFnN].*\00^[\CE\BD\CE\9DyY].*\00^[\CE\BF\CE\9FnN].*\00[yY].*\00^[yYoO].*\00^[1JjsSyYoO].*\00^[0nN].*\00Yes\00No\00^[JjYy].*\00^[sSyY].*\00^[EeNn].*\00^[bBsSyY].*\00^[eEnN].*\00[yY\D8\A8f].*\00[nN\D8\AE\D9\86o].*\00^[KkJjYy].*\00^[NnEe].*\00^[Nn].*\00^[oOjJyY1].*\00^[nN0].*\00^[oOyY].*\00^[OojJsSyY].*\00^[tTyY].*\00^[Yy\EB].*\00^[Nn\EC].*\00^[Yy\D7\9B].*\00^[Nn\D7\9C].*\00^[dDyY].*\00^[IiYy].*\00[yYsS\B3\B2].*\00[nN\E1\E0].*\00\B3\DB\E1\00\E1\E3\00[tTnN].*\00^[sSjJoOyY].*\00^([yY\EF\BD\99\EF\BC\B9]|\E3\81\AF\E3\81\84|\E3\83\8F\E3\82\A4)\00^([nN\EF\BD\8E\EF\BC\AE]|\E3\81\84\E3\81\84\E3\81\88|\E3\82\A4\E3\82\A4\E3\82\A8)\00\E3\81\AF\E3\81\84\00\E3\81\84\E3\81\84\E3\81\88\00[1yYkKxX\E1].*\00[0nNaA\C0].*\00[1yYkKxX\E1\83\AE].*\00[0nNaA\E1\83\90].*\00^[JjYyAa].*\00^[yY\EC\98\88]\00^[nN\EC\95\84\EB\8B\88\EC\98\A4]\00[eE].*\00^[TtYy].*\00^[1yY\E2\C2\E4\C4aA].*\00^[0nNkK].*\00\E2e\00k\E2ore\00^[1yY\C4\81\C4\80\C3\A4\C3\84aA].*\00\C4\81e\00k\C4\81ore\00[\B4\D4DdYy1].*\00[\BD\DDNn0].*\00\D4\D0\00\DD\D5\00[\D0\94\D0\B4DdYy1].*\00[\D0\9D\D0\BDNn0].*\00\D0\B4\D0\B0\00\D0\BD\D0\B5\00^(Yes|[yY])\00^(No|[nN])\00^[tT]\00Ya\00Tidak\00[oOsS].*\00^[SsyY].*\00^[DdYy].*\00^[\E4\C4Yy].*\00^[\EE\CENn].*\00^[\B4\D4Yy].*\00^[\BD\DDNn].*\00[\E4\C4Yy].*\00[\EE\CENn].*\00[\D0\94\D0\B4Yy].*\00[\D0\9D\D0\BDNn].*\00^[Ii].*\00[aA\E1\C1yY].*\00\E1no\00nie\00[aA\C3\A1\C3\81yY].*\00\C3\A1no\00^[YyJj].*\00[dDyY1].*\00[nN0].*\00[\B4\D4Yy].*\00[\BD\DDNn].*\00^[\E0\AE\86\E0\AE\AE\E0\AF\8D]\00^[\E0\AE\87\E0\AE\B2\E0\AF\8D\E0\AE\B2\E0\AF\88]\00\E0\AE\86\E0\AE\AE\E0\AF\8D\00\E0\AE\87\E0\AE\B2\E0\AF\8D\E0\AE\B2\E0\AF\88\00^[\E0\B0\85]\00^[\E0\B0\95]\00\E0\B0\85\E0\B0\B5\E0\B0\A8\E0\B1\81\00\E0\B0\95\E0\B0\BE\E0\B0\A6\E0\B1\81\00\C4\C1\00\CE\C5\D4\00\D0\BD\D0\B5\D1\82\00^[yY\AA]\00^[nN\C1]\00\E3\AA\E8\00\E4\C1\E8\E3\AA\E8\00^[yY\E0\B8\8A]\00^[nN\E0\B8\A1]\00\E0\B9\83\E0\B8\8A\E0\B9\88\00\E0\B9\84\E0\B8\A1\E0\B9\88\E0\B9\83\E0\B8\8A\E0\B9\88\00^[eE].*\00^[hH].*\00evet\00hay\FDr\00hay\C4\B1r\00\D3\98\D0\B9\D0\B5\00\D0\AE\D0\BA\00[\F4\D4Yy].*\00[\D0\A2\D1\82Yy].*\00[yY\D9\87\D8\A8f].*\00[nN\D9\86o].*\00\D8\A8\D9\84\D9\83\D9\84\00\D9\86\D9\87\D9\8A\DA\BA\00^[YyHh].*\00^[JjNn].*\00Ha\00Yo'q\00[oOyYaAwW].*\00Oyi\00Neni\00^[Yy\E9].*\00^[Nn\F0\F7].*\00\E9\E0\C7\00\F7\D6\EF\00^[Yy\D7\99].*\00^[Nn\D7\A0\D7\A7].*\00\D7\99\D7\90\D6\B7\00\D7\A7\D7\B2\D7\9F\00^[yY\E6\98\AF]\00^[nN\E4\B8\8D\E5\90\A6]\00", [23 x %struct.__codeset_8_bit_t.202] [%struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\01\02\03\04\04\04\04\04\04\04\04\05", [16 x i8] c"\00\00\00\00\01\02\03\04\04\04\04\04\04\04\04\05", [16 x i8] c"\00\01\02\03\04\05\06\07\08\09\0A\0B\0C\0D\0E\0F", [38 x i8] c"\00\01\01\01\01\02\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\03\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06", [16 x i8] zeroinitializer, [16 x i8] c"\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10", [38 x i8] c"\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\07\08\09\0A\0B\0C\0D\0E\0F\0F\0F\0F\10\10\10\10", [16 x i8] c"\06\07\08\07\09\0A\0B\0C\0D\0D\0D\0D\0D\0D\0D\0D", [16 x i8] c"\11\12\13\14\15\16\17\18\19\1A\1B\1C\1D\1E\1F ", [38 x i8] c"\04\01\01\01\05\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\06\07\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\11\12\13\12\02\02\14\02\02\15\16\17\18\18\18\19", [16 x i8] zeroinitializer, [16 x i8] c"!\22#$%&'()*+,-./0", [38 x i8] c"\08\09\0A\01\01\0B\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\0C\0D\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\1A\1B\1C\1D\02\1E\14\1E\18\18\18\18\1F\10 \10", [16 x i8] c"\00\0E\00\0F\00\00\00\00\00\00\00\00\00\00\00\10", [16 x i8] c"123456'789:;<=>?", [38 x i8] c"\0E\0F\0A\01\01\01\01\01\01\01\01\01\01\01\01\01\10\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\11\0D\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\02\1E\14\1E\0F\0F!\22\10\10 \10", [16 x i8] c"\00\00\00\00\00\00\00\00\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\0356'7@ABCD=>?", [38 x i8] c"\12\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00#$%&\0F\0F\0F\22\10\10\10'", [16 x i8] c"\00\00\00\00\12\13\12\13\0D\0D\0D\11\0D\0D\0D\11", [16 x i8] c"\00\01\02\03EFGHIJKLMNOP", [38 x i8] c"\13\14\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\15\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\02\0C\14(\0F\0F!\22\10\10 ", [16 x i8] c"\00\00\00\00\00\0A\00\0A\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\03QRSTUVWXYZ[\\", [38 x i8] c"\16\17\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\18\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00)*+,\0F\0F\0F\22\10\10\10\10", [16 x i8] c"\00\00\00\00\14\15\16\17\0D\0D\0D\11\0D\0D\0D\18", [16 x i8] c"\00\01\02\03]^_`@AabD=cd", [38 x i8] c"\19\1A\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\1B\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00-./0\0F\0F!\22\10\10 \10", [16 x i8] c"\00\00\00\00\19\1A\1B\1C\0D\0D\11\11\0D\0D\11\1D", [16 x i8] c"\00\01\02\03efgh@ABCD=>?", [38 x i8] c"\1C\1D\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\1E\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\001234\0F\0F\0F\22\10\10\10\10", [16 x i8] c"\00\00\00\00\1E\1F !\0D\0D\0D\11\0D\0D\0D\1D", [16 x i8] c"\00\01\02\03ijklmAnop=qr", [38 x i8] c"\1F !\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\22\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\005678\0F\0F!\22\10\10 ", [16 x i8] c"\00\00\00\00\22#\22#\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\03stuvwxyz{|}~", [38 x i8] c"#$%\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\009:;<=\0F>\22?\10@ ", [16 x i8] c"\00\00\00\00$%$&'\0D(\11'\0D(\11", [16 x i8] c"\00\01\02\03\7F\80\81\82\83A\84\85\86=\87\88", [38 x i8] c"&'(\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00AB7C\0F\0F!\22\10\10 ", [16 x i8] c"\00\00\00\00\22)\22*\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\03\89\8A\8B\8CI\8D\8E\8FM\90\91\92", [38 x i8] c")*+\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00D$\0F\0F\0F\0F\10\10\10\10E&", [16 x i8] c"\00\00\00\00+,\0D\0D\0D\0D\0D\0D\0D\0D+,", [16 x i8] c"\00\01\02\03\93\94\19\1A\1B\1C\1D\1E\1F \95\96", [38 x i8] c",\01\01\01-\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01.\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00FG\06HI\18\18J\18KL\06", [16 x i8] zeroinitializer, [16 x i8] c"\00\01\02\03\97\98\10\99\9A\9B\9C\9D\9E\9F\A0\10", [38 x i8] c"/\01\01\01\01\010\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00MN-OP\0FQRS\10\10T", [16 x i8] c"\00\00\00\00\00\00-./\0D01/\0D23", [16 x i8] c"\00\01\02\03\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC", [38 x i8] c"1\01\012\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\013\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00U\02\14V\06\06\06W\18\18\18\19", [16 x i8] zeroinitializer, [16 x i8] c"\00\01\02\03\AD&'\AE\10\10\10\AF-./0", [38 x i8] c"4\01\01\01\015\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\016\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\02\1E\14\1E\0F\0F!\22\10\10 \10", [16 x i8] c"\00\00\00\00\00\00\00\00\0D\0D\114\0D\0D\115", [16 x i8] c"\00\01\02\0356'7@A\B0\B1D=\B2\B3", [38 x i8] c"78\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\02\02\02\02X\02Y\02\10\10\10\10\0F\0F\0F\0F", [16 x i8] c"\00\00\00\006\006\0077777777", [16 x i8] c"\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\BF\C0\C1\C2\C3", [38 x i8] c"9\01\01\01:\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01;<\01=" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"Z[\\]^_`a\10\10\10\10\0F\0F\0F\0F", [16 x i8] c"89:\00;\00<\0077777777", [16 x i8] c"\C4\C5\C6\C7\C8\C9\CA\CB\BC\BD\BE\BF\C0\C1\C2\C3", [38 x i8] c">\01\01\01?\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\11\07\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\02\02\02\02b\14cd\10\10\10\10\0F\0F\0F\0F", [16 x i8] c"\00\00\00\00=>=>77777777", [16 x i8] c"\B4\B5\B6\B7\CC\CD\CE\CF\BC\BD\BE\BF\C0\C1\C2\C3", [38 x i8] c"9\01\01\01@\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01;<\01A" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\06\06\06\06I\18\18\18\18e\18fge\18h", [16 x i8] zeroinitializer, [16 x i8] c"\10\10\10\10\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB", [38 x i8] c"\01\01\01\01\01\01\01\01\01\01\01\01\01\01B\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }], [20 x i8] c"\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\01\01\01\01\01", [10 x i16] [i16 0, i16 2, i16 4, i16 6, i16 8, i16 10, i16 12, i16 14, i16 16, i16 18], [20 x i16] [i16 1, i16 21, i16 3, i16 24, i16 5, i16 27, i16 7, i16 30, i16 9, i16 33, i16 11, i16 36, i16 13, i16 39, i16 15, i16 42, i16 17, i16 45, i16 19, i16 48], [45 x i8] c"\00\00\00\01\01\01\00\02\01\00\02\02\01\00\01\01\00\00\01\03\01\01\04\01\00\05\01\01\01\00\02\06\01\01\05\00\01\07\01\01\05\01\00\02\03", [3 x i16] [i16 0, i16 3, i16 11], [15 x i16] [i16 1, i16 3, i16 17, i16 0, i16 1, i16 3, i16 10, i16 12, i16 15, i16 20, i16 23, i16 0, i16 5, i16 7, i16 25], [3894 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\03\03\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\03\03\04\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\04\04\05\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\05\04\06\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\06\05\07\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\07\05\08\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\08\06\09\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\09\06\0A\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0A\07\0B\02\02\02\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\0B\08\0C\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0C\08\0D\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0D\09\0E\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0E\09\0F\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0F\0A\10\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\10\0A\11\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\11\0B\12\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\12\0B\13\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\13\0C\14\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\14\0C\15\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\15\0D\16\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\16\0D\17\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\17\0E\18\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\18\0E\19\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\19\0F\1A\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1A\0F\1B\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1B\10\1C\02\00\00\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01\1C\10\1D\02\00\00\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01\1D\11\1E\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1E\11\1F\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1F\12 \02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02 \12!\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02!\13\22\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\22\13#\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02#\14$\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02$\14%\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02%\15&\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01&\16'\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01'\16(\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01(\17)\01\04\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01)\17*\01\05\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01*\00+\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01+\07,\02\02\03\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01,\18-\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01-\18.\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01.\19/\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01/\18-\01\01\03\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\01\03\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\011\180\01\01\03\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\012\1A1\01\04\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\013\1A2\01\05\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\014\1B3\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\015\1B4\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\016\1C5\01\01\01\00\01\01\01\01\03\01\03\02\03\01\03\01\03\02\037\18-\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\011\180\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\012\18-\01\01\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\030\18.\01\01\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\031\180\01\01\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\032\1D6\02\03\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\038\18-\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01-\18.\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01.\180\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\019\18-\01\01\01\00\01\04\04\02\01\01\01\01\01\02\01\01\01\01\01-\18.\01\01\01\00\01\04\04\02\01\01\01\01\01\02\01\01\01\01\01.\1E\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\1F7\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01: \02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\1C0\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\012\1C8\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01;!9\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04<\18-\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\010\18.\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\011\180\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\012\22\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02#:\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04=$\02\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04\02%\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\01\01\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01&;\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01>\18<\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01?'\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02(=\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01@)\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02*\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02+>\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01A,\02\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02-\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02\18-\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\011\180\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\012.?\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01B/@\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01C0\02\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\021A\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01D2B\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01E3C\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01F%\02\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\024D\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01G5E\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01H5F\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01I6G\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01J7H\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01K85\01\04\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01785\01\05\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\017\18-\01\01\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\01\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\011\180\01\01\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\0129I\03\06\01\00\01\03\03\02\02\02\02\01\01\02\02\02\02\01\01L\18-\01\01\01\00\01\01\01\02\03\02\03\01\01\02\03\02\03\01\01-\18.\01\01\01\00\01\01\01\02\03\02\03\01\01\02\03\02\03\01\01.\180\01\01\01\00\01\01\01\02\03\02\03\01\01\02\03\02\03\01\019 \02\01\03\01\00\01\01\01\02\02\02\02\01\04\02\02\02\02\01\04M\180\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\019:J\02\02\01\00\01\01\01\01\02\01\02\03\02\01\02\01\02\03\02N:K\02\02\01\00\01\01\01\01\02\01\02\03\02\01\02\01\02\03\02O\07L\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01P;M\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01QQ\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01U?5\01\01\01\00\01\03\03\02\02\02\02\01\01\02\02\02\02\01\01V@R\02\02\01\00\01\03\03\01\01\01\01\01\03\01\01\01\01\01\03WAS\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01XAT\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01YBU\02\02\01\00\01\03\03\01\01\01\01\01\03\01\01\01\01\01\03ZCV\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01[DW\01\04\01\00\01\01\01\01\02\01\02\04\05\01\02\01\02\04\05\\DW\01\05\01\00\01\01\01\01\02\01\02\04\05\01\02\01\02\04\05\\EX\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01]EY\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01^\07Z\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01_F[\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04`G\\\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04a\18-\01\03\01\00\01\01\01\01\02\01\02\01\02\01\02\01\02\01\020\18.\01\03\01\00\01\01\01\01\02\01\02\01\02\01\02\01\02\01\021\180\01\03\01\00\01\01\01\01\02\01\02\01\02\01\02\01\02\01\022H5\01\04\01\00\01\01\01\01\02\01\01\01\05\01\02\01\01\01\057H5\01\05\01\00\01\01\01\01\02\01\01\01\05\01\02\01\01\01\057H5\01\01\01\00\01\01\01\01\01\01\01\02\03\01\01\01\01\02\037I]\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01bI^\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01cJ_\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01d\18-\04\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01-\18.\04\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01.\180\04\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\019K`\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01eLa\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01fLb\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01gL(\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01(Mc\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01hMd\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01iHe\01\01\01\00\01\01\01\01\01\01\01\02\03\01\01\01\01\02\03jNf\01\04\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01kNf\01\05\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01kOg\01\03\01\00\01\01\01\02\03\02\03\03\02\02\03\02\03\03\02lPh\01\01\01\00\01\02\02\01\01\01\01\01\01\01\01\01\01\01\01mQi\01\03\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\01nQj\01\03\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\01oQk\01\03\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\01pR5\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01V\07L\02\02\03\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01PSl\02\02\01\00\01\01\01\01\03\01\03\02\03\01\03\01\03\02\03qSm\02\02\01\00\01\01\01\01\03\01\03\02\03\01\03\01\03\02\03rT\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02#n\02\02\01\00\01\01\01\01\01\01\02\01\01\01\01\01\02\01\01sUo\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01tVp\02\02\01\00\01\01\01\01\02\01\01\03\01\01\02\01\01\03\01uWq\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01vXr\01\01\01\00\01\01\01\02\01\01\01\01\01\02\01\01\01\01\01w%\02\02\02\01\00\01\01\01\01\02\01\02\03\02\01\02\01\02\03\02\02YR\02\02\01\00\01\01\01\01\01\01\01\02\03\01\01\01\01\01\01WZs\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01x", [22 x i16] [i16 0, i16 91, i16 207, i16 212, i16 219, i16 223, i16 224, i16 226, i16 231, i16 236, i16 239, i16 243, i16 246, i16 250, i16 255, i16 261, i16 264, i16 268, i16 271, i16 275, i16 280, i16 286], [407 x i16] [i16 0, i16 5, i16 25, i16 35, i16 66, i16 97, i16 128, i16 159, i16 176, i16 207, i16 238, i16 269, i16 300, i16 331, i16 362, i16 393, i16 424, i16 459, i16 490, i16 521, i16 552, i16 583, i16 601, i16 630, i16 697, i16 720, i16 747, i16 768, i16 785, i16 799, i16 816, i16 821, i16 833, i16 845, i16 859, i16 864, i16 878, i16 883, i16 888, i16 906, i16 911, i16 923, i16 928, i16 933, i16 943, i16 948, i16 953, i16 963, i16 975, i16 980, i16 992, i16 1004, i16 1016, i16 1030, i16 1047, i16 1059, i16 1073, i16 1078, i16 1111, i16 1149, i16 1161, i16 1173, i16 1190, i16 1202, i16 1211, i16 1225, i16 1244, i16 1258, i16 1270, i16 1282, i16 1326, i16 1338, i16 1350, i16 1355, i16 1376, i16 1388, i16 1402, i16 1425, i16 1457, i16 1469, i16 1483, i16 1497, i16 1535, i16 1540, i16 1559, i16 1573, i16 1585, i16 1597, i16 1613, i16 1627, i16 1632, i16 0, i16 10, i16 30, i16 40, i16 51, i16 71, i16 82, i16 102, i16 113, i16 133, i16 144, i16 164, i16 181, i16 192, i16 212, i16 223, i16 243, i16 254, i16 274, i16 285, i16 305, i16 316, i16 336, i16 347, i16 367, i16 378, i16 398, i16 409, i16 429, i16 440, i16 464, i16 475, i16 495, i16 506, i16 526, i16 537, i16 557, i16 568, i16 588, i16 606, i16 615, i16 635, i16 644, i16 658, i16 667, i16 702, i16 711, i16 725, i16 742, i16 752, i16 759, i16 773, i16 778, i16 790, i16 804, i16 826, i16 838, i16 850, i16 869, i16 893, i16 697, i16 916, i16 938, i16 958, i16 968, i16 985, i16 997, i16 1009, i16 1021, i16 1035, i16 1040, i16 1052, i16 1064, i16 1083, i16 1116, i16 1123, i16 1134, i16 1154, i16 1166, i16 1178, i16 1183, i16 1195, i16 1216, i16 1230, i16 1235, i16 1249, i16 1263, i16 1275, i16 1287, i16 1296, i16 1311, i16 1331, i16 1343, i16 1360, i16 1367, i16 1381, i16 1393, i16 1407, i16 1416, i16 1430, i16 1437, i16 1448, i16 1462, i16 1474, i16 1488, i16 1502, i16 1511, i16 1520, i16 1545, i16 1550, i16 1564, i16 1578, i16 1590, i16 1602, i16 1618, i16 1637, i16 0, i16 12, i16 14, i16 1092, i16 30, i16 0, i16 14, i16 12, i16 593, i16 638, i16 649, i16 1095, i16 0, i16 16, i16 168, i16 680, i16 0, i16 0, i16 3, i16 1, i16 18, i16 16, i16 0, i16 793, i16 1, i16 18, i16 16, i16 0, i16 793, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 793, i16 18, i16 16, i16 1, i16 20, i16 18, i16 793, i16 0, i16 16, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 793, i16 18, i16 16, i16 1, i16 20, i16 18, i16 793, i16 0, i16 16, i16 3, i16 22, i16 32, i16 45, i16 58, i16 76, i16 89, i16 107, i16 120, i16 138, i16 151, i16 171, i16 186, i16 199, i16 217, i16 230, i16 248, i16 261, i16 279, i16 292, i16 310, i16 323, i16 341, i16 354, i16 372, i16 385, i16 403, i16 416, i16 434, i16 449, i16 469, i16 482, i16 500, i16 513, i16 531, i16 544, i16 562, i16 575, i16 595, i16 610, i16 622, i16 640, i16 652, i16 662, i16 683, i16 706, i16 715, i16 728, i16 732, i16 737, i16 744, i16 755, i16 763, i16 775, i16 781, i16 795, i16 808, i16 813, i16 829, i16 841, i16 854, i16 873, i16 896, i16 900, i16 919, i16 940, i16 960, i16 971, i16 988, i16 1000, i16 1012, i16 1025, i16 1037, i16 1043, i16 1055, i16 1068, i16 1098, i16 1108, i16 1119, i16 1128, i16 1141, i16 1157, i16 1169, i16 1180, i16 1186, i16 1198, i16 1207, i16 1220, i16 1232, i16 1239, i16 1253, i16 1266, i16 1278, i16 1291, i16 1303, i16 1318, i16 1334, i16 1346, i16 1363, i16 1371, i16 1384, i16 1397, i16 1411, i16 1420, i16 1433, i16 1442, i16 1452, i16 1465, i16 1478, i16 1492, i16 1506, i16 1515, i16 1527, i16 1547, i16 1554, i16 1568, i16 1581, i16 1593, i16 1607, i16 1622, i16 1641], [8250 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\00\00\00\00\01\00\00\00\00\01\00\01\01\01\01\00\01\01\01\01\00\01\00\01\01\01\01\01\01\01\00\00\00\00\00\00\02\02\02\02\02\02\02\02\02\02\02\02\02\02\01\01\01\01\02\01\01\01\01\02\01\02\02\02\02\01\02\02\02\02\01\02\01\02\02\02\02\02\02\00\00\00\00\00\00\00\03\03\03\03\03\03\03\03\03\03\03\03\03\03\02\02\02\02\03\02\02\02\02\03\02\03\03\03\03\02\03\03\03\03\02\03\02\03\03\03\03\03\03\02\00\00\00\00\00\00\04\04\04\04\04\04\04\04\04\04\04\04\04\04\03\03\03\03\04\03\03\03\03\04\03\04\04\04\04\03\04\04\04\04\03\04\03\04\04\04\03\03\03\02\00\00\00\00\00\00\03\03\03\03\03\03\03\03\03\03\03\03\03\05\02\02\02\02\03\02\02\02\02\03\02\03\03\03\03\02\03\03\03\03\02\03\02\03\03\03\03\03\03\02\00\00\00\00\00\00\04\04\04\04\04\04\04\04\04\04\04\04\04\06\03\03\03\03\04\03\03\03\03\04\03\04\04\04\04\03\04\04\04\04\03\04\03\04\04\04\03\03\03\02\00\00\00\00\00\00\04\04\04\04\04\04\04\04\04\04\04\04\04\06\03\03\03\03\04\03\03\03\03\04\03\04\04\04\04\03\04\04\04\04\03\04\03\04\04\04\04\04\04\03\00\00\00\00\00\00\05\05\05\05\05\05\05\03\03\03\03\03\03\05\04\04\04\04\05\04\04\04\04\05\04\05\05\05\05\04\05\05\05\05\04\05\04\05\03\03\03\03\03\02\00\00\00\00\00\00\06\06\06\06\06\06\06\04\04\04\04\04\04\06\05\05\05\05\06\05\05\05\05\06\05\06\06\06\06\05\06\06\06\06\05\06\05\06\04\04\03\03\03\02\00\00\00\00\00\00\00\00\00\00\00\00\00\03\05\03\03\03\05\05\00\00\00\00\00\00\00\00\00\00\00\00\05\05\05\06\07\05\07\05\04\05\04\05\05\05\05\05\05\04\00\00\00\00\00\00\00\00\00\00\00\00\00\04\06\04\04\04\06\06\00\00\00\00\00\00\00\00\00\00\00\00\06\06\06\07\08\06\08\06\05\06\05\06\05\05\05\05\05\04\00\00\00\00\00\00\05\05\05\05\05\05\05\03\03\03\03\03\03\05\04\04\04\04\05\04\04\04\04\05\04\05\05\05\05\04\09\07\05\05\04\05\04\05\03\03\03\03\03\02\00\00\00\00\00\00\06\06\06\06\06\06\06\04\04\04\04\04\04\06\05\05\05\05\06\05\05\05\05\06\05\06\06\06\06\05\0A\08\06\06\05\06\05\06\04\04\03\03\03\02\00\00\00\00\00\00\07\07\07\07\07\07\07\05\07\05\05\05\07\07\06\06\00\00\00\06\06\06\06\01\06\07\07\07\07\08\0B\09\09\07\06\07\06\07\05\05\06\06\01\01\00\00\00\00\00\00\07\07\07\08\08\08\07\06\08\06\06\06\08\08\06\06\00\00\00\07\07\06\06\01\06\07\07\07\07\08\0B\09\09\07\06\07\06\07\05\05\06\06\01\01\00\00\00\00\00\00\08\08\08\09\09\09\08\07\09\07\07\07\09\09\07\07\06\06\07\08\08\07\07\07\07\08\08\08\08\09\0C\0A\0A\08\07\08\07\08\05\05\07\06\01\01\00\00\00\00\00\00\09\09\09\0A\0A\0A\09\08\0A\08\08\08\0A\0A\08\08\07\07\08\09\09\08\08\08\08\09\09\09\09\0A\0D\0B\0B\09\08\09\08\09\05\05\07\06\01\01\00\00\00\00\00\00\0A\0A\0A\0B\0B\0B\0A\09\0B\09\09\09\0B\0B\09\09\08\08\09\0A\0A\09\09\09\09\0A\0A\0A\0A\0B\0E\0C\0C\0A\09\0A\09\0A\05\05\08\07\06\05\00\00\00\00\00\00\0B\0B\0B\0C\0C\0C\0B\0A\0C\0A\0A\0A\0C\0C\0A\0A\09\09\0A\0B\0B\0A\0A\0A\0A\0B\0B\0B\0B\0C\0F\0D\0D\0B\0A\0B\0A\0B\05\05\08\07\06\05\00\00\00\00\00\00\0C\0C\0C\0D\0D\0D\0C\0B\0D\0B\0B\0B\0D\0D\0B\0B\0A\0A\0B\0C\0C\0B\0B\0B\0B\0C\0C\0C\0C\0D\10\0E\0E\0C\0B\0C\0B\0C\06\06\09\08\04\03\00\00\00\00\00\00\0C\0C\0C\0D\0D\0D\0C\0B\0D\0B\0B\0B\0D\0D\0C\0C\0B\0B\0B\0C\0D\0C\0C\0B\0B\0C\0C\0C\0C\0D\10\0E\0E\0C\0C\0D\0C\0D\07\07\09\08\04\03\00\00\00\00\00\00\0D\0D\0D\0E\0E\0E\0D\0C\0E\0C\0C\0C\0E\0E\0D\0D\0C\0C\0C\0D\0E\0D\0D\0C\0C\0D\0D\0D\0D\0E\11\0F\0F\0D\0D\0E\0D\0E\08\08\0A\06\01\06\00\00\00\00\00\00\0E\0E\0E\0F\0F\0F\0E\0D\0F\0D\0D\0D\0F\0F\00\00\00\00\0D\00\00\00\00\01\00\00\0E\0E\0E\00\12\10\10\00\0E\0F\0E\0F\05\05\07\06\01\01\00\00\00\00\00\00\0E\0E\0E\0F\10\0F\0E\0D\0F\0D\0D\0E\0F\0F\00\00\00\00\0D\00\00\00\00\01\00\00\0E\0E\0E\00\12\10\10\00\0E\0F\0E\0F\05\05\07\06\01\01\00\00\00\00\00\00\0F\0F\0F\10\11\10\0F\0E\10\0E\0E\0F\10\10\0E\0E\0D\0D\0E\0E\0F\0E\0E\0D\0D\0E\0F\0F\0F\0F\13\11\11\0E\0F\10\0F\10\05\05\01\01\01\01\00\00\00\00\00\00\0F\0F\0F\10\11\10\0F\0E\10\0E\0E\0F\10\10\0E\0E\0D\0D\0E\0E\0F\0E\0E\0D\0D\0E\0F\0F\10\0F\13\11\11\0E\0F\10\0F\10\05\05\01\01\01\01\00\00\00\00\00\00\10\10\10\11\12\11\10\0F\11\0F\0F\10\11\11\0F\0F\0E\0E\0F\0F\10\0F\0F\0E\0E\0F\10\10\11\10\14\12\12\0F\10\11\10\11\05\05\0B\06\00\07\00\00\00\00\00\00\10\10\11\11\13\12\10\10\12\10\10\11\12\11\0F\10\0F\0E\10\10\11\0F\10\0F\0E\0F\10\11\12\10\15\13\13\0F\11\12\10\11\05\05\0C\06\00\07\00\00\00\00\00\00\11\11\12\12\14\13\11\11\13\11\11\12\13\12\10\11\10\0F\11\11\12\10\11\10\0F\10\11\12\13\11\16\14\14\10\12\13\11\12\05\05\0D\09\01\01\00\00\00\00\00\00\12\12\13\13\15\14\12\12\14\12\12\13\14\13\11\0E\0D\10\12\0E\0F\11\12\11\0D\11\12\13\14\12\17\15\15\11\13\14\12\13\05\05\01\0A\01\01\00\00\00\00\00\00\13\12\13\13\15\14\13\13\14\12\12\13\14\14\11\0E\0D\10\12\0E\0F\11\12\11\0D\11\12\13\14\12\17\15\15\11\13\14\12\13\05\05\01\0A\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\12\00\11\00\11\00\00\00\00\01\00\12\13\14\15\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\13\00\12\00\11\00\00\00\00\01\00\12\14\14\16\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\11\00\11\00\00\00\00\01\00\12\0E\0E\15\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\12\00\11\00\00\00\00\01\00\12\0E\0E\16\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\11\00\11\00\00\00\00\01\00\12\0E\0E\15\00\16\10\10\00\00\01\00\14\05\05\01\06\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\12\00\11\00\00\00\00\01\00\12\0E\0E\16\00\16\10\10\00\00\01\00\14\05\05\01\06\01\01\00\00\00\00\00\00\15\13\15\15\17\16\15\15\16\14\14\15\16\16\14\12\13\11\13\12\13\12\13\12\10\13\15\15\17\13\18\16\16\12\14\15\13\15\05\05\01\02\01\01\00\00\00\00\00\00\16\14\16\16\18\17\16\16\17\15\15\16\17\17\15\13\14\12\14\13\14\13\14\13\11\14\16\16\18\14\19\17\17\13\15\16\14\16\05\05\01\02\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\05\01\01\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\01\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\05\0F\0B\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\10\0C\07\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\04\04\04\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\11\0D\04\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\12\0E\04\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\0F\02\00\00\00\00\00\00\00\17\0D\17\0E\19\18\17\17\18\16\16\17\18\18\00\00\00\00\0D\00\00\14\00\01\00\00\17\17\19\15\1A\18\18\14\16\17\15\17\05\05\13\0B\01\01\00\00\00\00\00\00\18\0D\17\17\1A\19\18\18\19\17\17\18\19\19\16\0E\0D\0D\15\0E\0F\0E\12\0D\0D\15\18\18\1A\0F\1B\19\19\15\17\10\16\18\05\05\01\01\01\01\00\00\00\00\00\00\18\0D\17\18\1A\19\19\18\19\17\18\18\19\1A\16\0E\0D\0D\15\0E\0F\0E\12\0D\0D\15\18\18\1A\0F\1B\19\19\15\17\10\16\18\05\05\01\01\01\01\00\00\00\00\00\00\19\15\18\19\1B\1A\1A\19\1A\18\19\19\1A\1B\17\14\15\13\16\14\15\15\15\14\12\16\19\19\1B\16\1C\1A\1A\11\13\18\12\19\05\05\01\06\01\01\00\00\00\00\00\00\19\15\18\19\1B\1A\1A\1A\1B\19\1A\1A\1A\1C\17\14\16\13\16\14\15\15\15\14\12\16\19\19\1C\16\1C\1A\1A\11\13\18\12\19\05\05\01\06\01\01\00\00\00\00\00\00\1A\16\19\1A\1C\1B\1B\1B\1C\1A\1B\1B\1B\1D\18\15\0D\14\0E\15\16\16\16\15\13\17\1A\1A\1D\17\1D\1B\1B\16\18\19\17\1A\05\05\14\10\01\01\00\00\00\00\00\00\1B\17\1A\1B\1D\1C\1C\1C\1D\1B\1C\1C\1C\1E\19\16\03\15\17\16\17\17\17\16\14\18\1B\1B\04\18\1E\1C\1C\17\19\1A\18\1B\09\09\15\11\00\09\00\00\00\00\00\00\1C\18\1B\1C\1E\1D\1D\1D\1E\1C\1D\1D\1D\1F\1A\17\17\16\18\17\18\18\18\17\15\19\1C\1C\1E\19\1F\1D\1D\18\1A\1B\19\1C\05\05\16\06\01\01\00\00\00\00\00\00\1C\18\1B\1C\1E\1D\1D\1D\1E\1C\1D\1D\1D\1F\1B\18\17\17\19\18\19\19\19\18\15\1A\1C\1C\1E\19\1F\1E\1E\18\1A\1B\19\1C\05\05\16\06\01\01\00\00\00\00\00\00\1D\19\1C\1D\1F\1E\1E\1E\1F\1D\1E\1E\1E \11\0E\0D\10\0E\0E\0F\11\12\11\0D\0E\12\13\1F\1A\1C\15\15\11\13\14\12\1D\05\05\01\12\01\01\00\00\00\00\00\00\1D\1A\1D\1D \1F\1E\1E \1E\1E\1F\1F \11\0E\0D\10\0E\0E\0F\11\12\11\0D\0E\12\13\1F\1B\1C\15\15\11\13\14\12\1D\05\05\01\12\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\01\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\01\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\0B\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\0B\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\13\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\13\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\06\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\06\01\01\00\00\00\00\00\00\1E\1B\1E\1E\22 \22 !!\22\1C\1B\18\19\1A\19\1B\1C\1A\19\16\1D\1E\1F \1D \1B\1C\1D\1A \05\05\01\09\01\01\00\00\00\00\00\00\1E\1B\1F\1F# !#!!\22\22#\1C\1B\19\19\1A\19\1C\1D\1B\1A\16\1D\1F\1F!\1E! !\1C\1D\1E\1B!\05\05\01\09\01\01\00\00\00\00\00\00\1F\1C $!!\22$\22\22##$\1D\1C\1A\1A\1B\1A\1D\1E\1C\1B\17\1E \22\1F\22!\22\1D\1E\1F\1C\22\05\05\01\01\01\01\00\00\00\00\00\00\1F\1C $!!#$#\22##$\1D\1C\1B\1A\1C\1A\1D\1F\1C\1B\17\1F #\1F#\22\22\1E\1E\1F\1C#\05\05\01\01\01\01\00\00\00\00\00\00 \1D!!%\22\22$%$#$$%\1E\00\00\1B\11\1B\1E \1D\1C\00\00!!$ $##\1F\1F \15\17\05\05\01\01\01\01\00\00\00\00\00\00 \1D!\22%\22#$%$$$$&\1E\00\00\1B\11\1C\1E \1D\1C\00\00!!$ $$#\1F\1F \15\17\05\05\01\01\01\01\00\00\00\00\00\00!\1E\22#&#$%&%%%%'\1F\1D\1C\1C\1D\1D\1F!\1E\1D\18 \22\22%!%%$ !\1D$\05\05\01\01\01\01\00\00\00\00\00\00\22\1F#$'$%&'&&&&( \1E\1D\1D\1E\1E \22\1F\1E\19!##&\22&&%!!\22\1E%\00\00\17\01\00\0A\00\00\00\00\00\00# $%(%&'('''')!\1F\1E\1E\1F\1F!# \1F\1A\22$$'#''&\22\22#\1F&\00\00\17\01\00\0A\00\00\00\00\00\00$!%&)&'()((((*\22 \1F\1F \22$! \1B#%%($(('##$ '\0A\0A\09\08\04\03\00\00\00\00\00\00\0E\0E\0E\0F\0F\0F\0E\0D\0F\0D\0D\0D\0F\0F#! !!#%\22!\1C$&&)%))($$%!(\05\05\07\06\01\01\00\00\00\00\00\00\0E\0E\0E\0F\10\0F\0E\0D\0F\0D\0D\0E\0F\0F#!! !!#%\22!\1C$''*%))($$%!(\05\05\07\06\01\01\00\00\00\00\00\00%\22&'*'()*))))+\11\0E\22!\22\22$\11#\11\0D\11((+&**)%%&\12\13\05\05\18\0B\08\0B\00\00\00\00\00\00%\22&'*'(*+))**+\11\0E#\22##%\11#\11\0D\11)),'++*%%'\12\13\05\05\18\0B\08\0B\00\00\00\00\00\00&#'(+()+,**++,$\22$#$$&&$\22\1D%**-(,,+&&(\22)\05\05\0E\00\02\01\00\00\00\00\00\00'$(),)*,-++,,-%#%$%%''%#\1E&++.)--,'')#*\05\05\0E\00\02\01\00\00\00\00\00\00(%)*-*+-.,,--.\00$\00\00\01\00\00(\00\01\00\01,,/\00\01\10\10(\00\01\00\01\05\05\0E\01\01\01\00\00\00\00\00\00\00&*+.+,./--../\00\00\00\00&&()\00\01\1F\01--0*..-)\00*$\01\0B\0B\19\14\01\01\00\00\00\00\00\00\00'+,.,,.0...//\00\00\00\00'')*\00\01 \01..0+//.*\00+%\01\0B\0B\19\14\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/1///0\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\13\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/20001\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\13\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/1///0\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\02\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/20001\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\02\01\01\00\00\00\00\00\00)(,-0--0311120&%&%))++&%!'001-110+)-&,\0C\0C\1A\15\09\0C\01\00\01\01\01\00*)-.1..1422231'&'&**,,'&\22(112.221,*.'-\05\05\1B\0F\01\01\00\00\00\00\00\00+*./2//2533342('('++--('#)223/332-+/(.\05\05\1C\0F\01\01\00\00\00\00\00\00,+\1703003644453\11\0E\0D\10\12\0E\0F\11\12\11\0D\1133404\15\15.,0)/\05\05\01\16\01\01\00\00\00\00\00\00-,/14114755564)()(,,..)($*4451543/-1*0\0D\0D\1D\17\0A\0D\00\00\00\00\00\00\11\1D025\13\115866675*)*\0F--\12/*)%+55626540.2+1\05\05\01\01\01\01\00\00\00\00\00\00.-136226977786+*+)../0+*&,66737651/3,2\05\05\1E\18\01\01\00\00\00\00\00\00.-136236978787+*+)../0+*&,6674875203-3\05\05\1E\18\01\01\00\00\00\00\00\00/.247347:89898\11\0E\0D\10\0E/0\11\12\11\0D\1177\145986314.4\05\05\1F\19\01\01\00\00\00\00\00\00//358358:8:898\11\0E\0D\10\0E01\11\12\11\0D\1188\146997314.4\05\05\1F\19\01\01\00\00\00\00\00\000\01469469;9;9:9,+,*/121,+'-9987::8425/5\05\05 \01\01\01\00\00\00\00\00\000\0156:47:;:;:::,+,*/131,+'-:998::952605\05\05 \01\01\01\00\00\00\00\00\001067;58;<;<;;;-,-+0242-,(.;::9;;:63716\05\05!\06\01\01\00\00\00\00\00\002178<69<\0C\0A=<<<.\0A\09\09135\0A\0A\0A\0A\0B<\0B\0B\0C<<;\0B\0A\0B\0A\0B\05\05!\06\01\01\00\00\00\00\00\003289=7:==<>===/-\1F,2 63.-)/=;(:=(<74827\0E\0E\09\08\04\03\00\00\00\00\00\0043)*>*+>>,,>>.\00\00.\00\01\00\004\00\01\000,<;\00\01==8\00\01\008\05\05\09\08\04\03\00\00\00\00\00\00549:?8;??=???>\00.\00\003475\1D.\001>=<\00>>>95939\05\05\22\1A\04\03\00\00\00\00\00\00649:@9;@?=@@@>\00.\00\003575\1D.\002>=<\00>?>9593:\05\05\22\1A\04\03\00\00\00\00\00\007\18:;A:AAA?\11\0E/\104\0E\0F\11\12\11\0D\1133=\12?\15\15:\13\14\12\13\05\05\01\1B\01\01\00\00\00\00\00\0085;\0F;\1C@?;\0F\1C\0F;\05\05\01\06\01\01\00\00\00\00\00\00\17\0D\17=D\18\17CC@\0ED\10A\0E\0E\0D\0D\0E\0E\0F7\0E\0D\0D\11@?\10;\1C@?<\0F\1C\0F;\05\05\01\06\01\01\00\00\00\00\00\0097<>E<>DDACECB0/\0D-\12688//\0E3A@><\17A@=6:\10<\05\05\01\0B\01\01\00\00\00\00\00\0097DEADEDB0/\0D-\12688/0\0E3B@>=\17A@>7;\10=\05\05\01\0B\01\01\00\00\00\00\00\00 8=@F>\22\18FBEFE\19\00\06\00\1B\11\00\00 \1D\1C\00\12CA?\0F@BA\158<4>\05\05\01\0A\01\01\00\00\00\00\00\00 8=@F>#\18FCEFE\1A\00\06\00\1B\11\00\00 \1D\1C\00\12CA@\0F@BA\158<4>\05\05\01\0A\01\01\00\00\00\00\00\00 8=@F>\22$GDFGF%\00\06\00\1B\11\00\00 \1D\1C\00\12DBA $CB\1F\1F \15?\05\05\01\0A\01\01\00\00\00\00\00\00 8=@F>#$GEFGF&\00\06\00\1B\11\00\00 \1D\1C\00\12DBB $CB\1F\1F \15?\05\05\01\0A\01\01\00\00\00\00\00\00:9>AG??EHFGHGC1\0E\0D\10\0E79\11\12\0D\0D\11E\01C>\16DC\009=5@\05\05\01\0B\01\01\00\00\00\00\00\00:9>AG?@FHGGHGD1\0E\0D\10\0E79\11\12\0D\0D\11E\01C>\16DC\009=5@\05\05\01\0B\01\01\00\00\00\00\00\00;:?BH@AGIHHIHE200.58:901*4FCD?AED?:>6A\05\05\07\06\01\01\00\00\00\00\00\00<;@CIABHJIIJIF311/69;:12+5GDE@BFE@;?7B\05\05\07\06\01\01\00\00\00\00\00\00=B:E\05\05\07\06\01\01\00\00\00\00\00\00>=DDKCEJLKKLKH53318;=<34-7KHIDFJID?C;F\05\05%\0B\01\01\00\00\00\00\00\00\10\10E\11LD\10KMLLML\11\11\0E\0D\10\22\22$\11\12\11\0D\11((J\1AGKJ\11\13&\12\13\05\05\0B\06\00\07\00\00\00\00\00\00\10\10E\11MD\10LMLLNL\11\11\0E\0D\10##%\11\12\11\0D\11))J\1BHLK\11\13'\12\13\05\05\0C\06\00\07\00\00\00\00\00\00?7FENE>MNMMOMB\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13J\12\17MLE\13\14\12\13\05\05\01\06\01\01\00\00\00\00\00\00?7FEOE>MNMMPMB\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13J\12\17MLE\13\14\12\13\05\05\01\06\01\01\00\00\00\00\00\00@>GFPFFNONNQNI\004\002\0D<>>45.8LI\1FE\17NMF@D>45/8LI\1FE\17NMF@D=G\0F\0F&\1D\0C\0E\00\00\00\00\00\00?7HENEGMQPMROK\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13\07\12\17\15\15EAE>H\05\05\01\1E\01\01\00\00\00\00\00\00?7HEOEGMQPMSOK\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13\07\12\17\15\15EAE>H\05\05\01\1E\01\01\00\00\00\00\00\0010I7;5HORQ@@673RONILTSKGKDN\00\00)\1F\00\00\03\00\02\00\03\02GFP\02UKPWZX\02ZVT:;87=ACC9:6?SPOJMUTLHLEO\12\12*\02\02\00\00\00\00\00\00\00GFP\02UKPWZX\02ZVT\01\01\01\01\02\01\01\01\01\02\01\02\02\02\02\01\02\02\02\02\01\02\01\02\12\12*\02\02\00\00\00\00\00\00\00H\1D!LVL+X[$T[WU;$\00\1B\00BD \00\0170TQP NVU\1FIMFP\00\00\0E\00\02\00\00\00\00\00\00\00IGQMWMQY\\YU\\XV<<\008\00CED:;8@UR\0EKOWVMJNGQ\13\13\01\0A\01\00\00\00\00\00\00\00IGQNXMQY\\ZV]XV<=\008\00CEE:;8@US\0EKPWVNKNHR\14\14\01\0A\01\00\00\00\00\00\00\00JHROYNRZ][W^YW42207:<;23,6HEFACGFA<@8C\05\05\07\06\01\01\00\00\00\00\00\00K:?BH@A[^\\X_ZX=>99>DFF;<9AVTQLQXWOLOIS\05\05\07\06\01\01\00\00\00\00\00\00L\08::\08EGG<=:BWURM\0DYXPMPJT\05\05\07\06\01\01\00\00\00\00\00\00MISPZOS]`^Za\1CY??;;?FHH=>;CXVSNRZYQNQKU\04\15+\02\00\0F\00\00\00\00\00\00NJTQ[PT^a_[b\\Z@\06\00\00\00GII\06\01\06\07\07\07\07\08\0B\09\09EO\07\06\07\05\05,\01\01\01\00\00\00\00\00\00OKUR\\QU_b`\\c][A@<<@HJJ>?\18\15IKK\0E\0D>\11[YVP\0B\\[SQTNW\00\00.\02\00\00\00\00\00\00\00\00RMXS^SWbdc^e_(CB?=AJLL?@?E\\ZWQT&%TRUO%\00\00\17\01\00\0A\00\00\00\00\00\00SNYT_TXced_f`)DC@>BKMM@A@F][XRU'&USVP&\00\00\17\01\00\0A\00\00\00\00\00\00)OZU`UYdfe`ga]&%&%))++&%!'^\\YSV]\\VTWQX\15\16/\15\0E\10\00\00\00\00\00\00)OZU`UYdfe`ga]EDA?CLNNA%!'^\\YSV]\\VTWQX\15\160 \0F\11\00\00\00\00\00\00TP[VaVZdfe`ga]FEB@DMOOBBAG^\\YSV]\\VTWQX\15\161\15\10\01\00\00\00\00\00\00)OZU`UYegfahb^&%&%))++&%!'^\\YSV]\\VTWQX\15\162!\09\12\00\00\00\00\00\00", [50 x i16] [i16 0, i16 85, i16 166, i16 258, i16 345, i16 443, i16 530, i16 621, i16 723, i16 827, i16 930, i16 1028, i16 1133, i16 1232, i16 1327, i16 1398, i16 1468, i16 1535, i16 1600, i16 1669, i16 1747, i16 1827, i16 1907, i16 1974, i16 2041, i16 2107, i16 2179, i16 2274, i16 2367, i16 2457, i16 2541, i16 2628, i16 2722, i16 2815, i16 2902, i16 2987, i16 3075, i16 3157, i16 3246, i16 3268, i16 3291, i16 3342, i16 3376, i16 3393, i16 3412, i16 3416, i16 3417, i16 3420, i16 3422, i16 3426], [3429 x i16] [i16 1, i16 273, i16 463, i16 844, i16 1101, i16 858, i16 1122, i16 1977, i16 2348, i16 2594, i16 3018, i16 3253, i16 3606, i16 4397, i16 4635, i16 4806, i16 5023, i16 5441, i16 5662, i16 5858, i16 5884, i16 6040, i16 6288, i16 6938, i16 7125, i16 7310, i16 7573, i16 7838, i16 8226, i16 8624, i16 9025, i16 9539, i16 9921, i16 10130, i16 10434, i16 10640, i16 10937, i16 11606, i16 11946, i16 12190, i16 12640, i16 13317, i16 14931, i16 15189, i16 6952, i16 16066, i16 16636, i16 17024, i16 17365, i16 17819, i16 18049, i16 18224, i16 18661, i16 18735, i16 18983, i16 19067, i16 19176, i16 19479, i16 4589, i16 20213, i16 20433, i16 20653, i16 21280, i16 21712, i16 21810, i16 22607, i16 22680, i16 22719, i16 23133, i16 23665, i16 24019, i16 24674, i16 25025, i16 25183, i16 25483, i16 25641, i16 25844, i16 26175, i16 26395, i16 26524, i16 26932, i16 27130, i16 27204, i16 27426, i16 27844, i16 5, i16 276, i16 473, i16 846, i16 1104, i16 864, i16 1133, i16 1981, i16 2352, i16 2601, i16 3021, i16 3258, i16 3616, i16 4401, i16 4639, i16 4809, i16 5026, i16 5445, i16 5666, i16 6044, i16 6295, i16 7312, i16 7577, i16 7842, i16 8229, i16 8628, i16 8755, i16 9030, i16 9544, i16 9925, i16 10134, i16 10437, i16 10644, i16 10948, i16 11608, i16 11950, i16 12197, i16 2107, i16 12746, i16 12967, i16 13321, i16 14935, i16 15199, i16 15853, i16 16070, i16 16639, i16 17027, i16 17267, i16 17823, i16 18056, i16 18234, i16 18665, i16 18739, i16 19180, i16 19307, i16 19483, i16 19792, i16 20029, i16 20217, i16 20437, i16 20660, i16 21285, i16 21815, i16 22082, i16 22611, i16 22685, i16 22723, i16 23143, i16 23669, i16 24027, i16 24687, i16 25187, i16 25490, i16 26186, i16 4589, i16 26528, i16 26936, i16 27209, i16 27434, i16 27820, i16 27854, i16 9, i16 279, i16 480, i16 848, i16 1107, i16 872, i16 1148, i16 1985, i16 2356, i16 2608, i16 3024, i16 3263, i16 3626, i16 4405, i16 4643, i16 4812, i16 5029, i16 5255, i16 5449, i16 5670, i16 5888, i16 6048, i16 6302, i16 4895, i16 7314, i16 7581, i16 7846, i16 8232, i16 8632, i16 8760, i16 9035, i16 9301, i16 9549, i16 94, i16 10138, i16 10440, i16 10648, i16 10959, i16 11610, i16 11954, i16 12204, i16 12644, i16 12750, i16 12972, i16 13325, i16 14939, i16 15209, i16 16074, i16 16408, i16 16642, i16 17030, i16 17271, i16 17368, i16 17659, i16 17827, i16 18063, i16 18244, i16 18743, i16 19070, i16 19184, i16 19487, i16 19796, i16 276, i16 20221, i16 20441, i16 20667, i16 21048, i16 21132, i16 21290, i16 21635, i16 5678, i16 21820, i16 22151, i16 22255, i16 22391, i16 22615, i16 22727, i16 23153, i16 23672, i16 24032, i16 24697, i16 25191, i16 25497, i16 26193, i16 26399, i16 26534, i16 26940, i16 27135, i16 27215, i16 27444, i16 27824, i16 27864, i16 13, i16 282, i16 493, i16 850, i16 1110, i16 881, i16 1165, i16 1989, i16 2221, i16 2360, i16 2615, i16 3027, i16 3268, i16 3639, i16 4409, i16 4647, i16 4815, i16 5032, i16 5453, i16 5674, i16 5892, i16 6052, i16 6309, i16 7129, i16 7281, i16 7316, i16 7585, i16 7850, i16 8235, i16 8636, i16 9041, i16 9308, i16 9553, i16 9929, i16 10091, i16 10142, i16 10443, i16 10652, i16 10973, i16 11612, i16 11958, i16 12211, i16 12648, i16 12754, i16 12977, i16 13329, i16 14943, i16 15219, i16 15857, i16 16078, i16 16412, i16 16645, i16 17033, i16 17275, i16 17371, i16 17831, i16 18070, i16 18257, i16 18747, i16 19073, i16 19188, i16 19339, i16 19491, i16 19686, i16 19800, i16 20032, i16 20225, i16 20445, i16 21295, i16 21716, i16 21825, i16 22088, i16 22731, i16 23166, i16 23675, i16 24037, i16 25029, i16 25195, i16 25381, i16 25504, i16 26202, i16 26402, i16 26540, i16 27220, i16 27452, i16 27828, i16 27874, i16 17, i16 285, i16 503, i16 852, i16 1113, i16 890, i16 1182, i16 1993, i16 2228, i16 2364, i16 2622, i16 3030, i16 3273, i16 3649, i16 4413, i16 4651, i16 4791, i16 4818, i16 5035, i16 5259, i16 5457, i16 5678, i16 5896, i16 6056, i16 6316, i16 6942, i16 7133, i16 7318, i16 7589, i16 7854, i16 8238, i16 8640, i16 8765, i16 8827, i16 9046, i16 9314, i16 9557, i16 9933, i16 10147, i16 10446, i16 10656, i16 10984, i16 11616, i16 11962, i16 12218, i16 12652, i16 12758, i16 13129, i16 13333, i16 14947, i16 15229, i16 15861, i16 16082, i16 16416, i16 16648, i16 17036, i16 17279, i16 17374, i16 17663, i16 17835, i16 18077, i16 18267, i16 18669, i16 18751, i16 18988, i16 19076, i16 19192, i16 19343, i16 19437, i16 19495, i16 19804, i16 20035, i16 20229, i16 20449, i16 20674, i16 21300, i16 21638, i16 16919, i16 21720, i16 21796, i16 21830, i16 22735, i16 23176, i16 23678, i16 24042, i16 24707, i16 25033, i16 25199, i16 25387, i16 25513, i16 26209, i16 26406, i16 26546, i16 26944, i16 27225, i16 27460, i16 27832, i16 27884, i16 21, i16 288, i16 513, i16 854, i16 1116, i16 897, i16 1195, i16 1997, i16 2233, i16 2368, i16 2629, i16 3033, i16 3278, i16 3674, i16 4417, i16 4655, i16 4821, i16 5038, i16 5263, i16 5461, i16 5682, i16 5900, i16 6060, i16 6323, i16 6948, i16 7137, i16 7320, i16 7593, i16 7858, i16 8241, i16 8644, i16 8770, i16 9051, i16 9562, i16 9937, i16 10152, i16 10449, i16 10660, i16 10998, i16 11619, i16 11966, i16 12225, i16 12656, i16 12762, i16 12982, i16 13337, i16 14951, i16 15239, i16 15865, i16 16086, i16 16651, i16 17039, i16 17378, i16 17839, i16 18084, i16 18280, i16 18755, i16 18993, i16 19079, i16 19196, i16 19499, i16 19691, i16 19808, i16 20038, i16 20233, i16 20453, i16 20681, i16 21305, i16 21641, i16 21724, i16 21835, i16 22735, i16 23189, i16 23682, i16 24050, i16 24717, i16 25037, i16 25203, i16 25522, i16 7946, i16 26410, i16 26552, i16 26948, i16 27231, i16 27470, i16 27836, i16 27894, i16 25, i16 291, i16 523, i16 856, i16 1119, i16 1448, i16 1454, i16 2001, i16 2372, i16 2636, i16 3036, i16 3283, i16 3690, i16 4421, i16 4659, i16 4824, i16 273, i16 5465, i16 5686, i16 5863, i16 5904, i16 6064, i16 6330, i16 6952, i16 7141, i16 7286, i16 7322, i16 7597, i16 7862, i16 8244, i16 8648, i16 8831, i16 9057, i16 9567, i16 9941, i16 10096, i16 10156, i16 10452, i16 10664, i16 11015, i16 11621, i16 11970, i16 12232, i16 12660, i16 12766, i16 13341, i16 14955, i16 15249, i16 15869, i16 16090, i16 16654, i16 16919, i16 17042, i16 17283, i16 17381, i16 17668, i16 17843, i16 18091, i16 18296, i16 18759, i16 19082, i16 19200, i16 19503, i16 20041, i16 20181, i16 20237, i16 20457, i16 20688, i16 21052, i16 21310, i16 21840, i16 22155, i16 22259, i16 22398, i16 22619, i16 22690, i16 22727, i16 23205, i16 23685, i16 24055, i16 24727, i16 25207, i16 25529, i16 26222, i16 26413, i16 26558, i16 26952, i16 10488, i16 10728, i16 27840, i16 27904, i16 29, i16 294, i16 463, i16 858, i16 1122, i16 2005, i16 2238, i16 2376, i16 2643, i16 3039, i16 3288, i16 3700, i16 4397, i16 4663, i16 4827, i16 5041, i16 5267, i16 5441, i16 5690, i16 5868, i16 5908, i16 6068, i16 6337, i16 6956, i16 7145, i16 7324, i16 7502, i16 7601, i16 7866, i16 8247, i16 8652, i16 8835, i16 9062, i16 9320, i16 9572, i16 9820, i16 9945, i16 10160, i16 10455, i16 10668, i16 11026, i16 11625, i16 11815, i16 11974, i16 12239, i16 12664, i16 12770, i16 13133, i16 13345, i16 14959, i16 15259, i16 15873, i16 16094, i16 16420, i16 16657, i16 17045, i16 17287, i16 17384, i16 17672, i16 17847, i16 18098, i16 18306, i16 18673, i16 18763, i16 18998, i16 19085, i16 19205, i16 19347, i16 19507, i16 20044, i16 20185, i16 20241, i16 20461, i16 20695, i16 21315, i16 21644, i16 21695, i16 21728, i16 21845, i16 22263, i16 22405, i16 22623, i16 22695, i16 22739, i16 23215, i16 23688, i16 24060, i16 24674, i16 25041, i16 25211, i16 25536, i16 25645, i16 25851, i16 26175, i16 26417, i16 26564, i16 26956, i16 27140, i16 27238, i16 27482, i16 27844, i16 28220, i16 36, i16 301, i16 473, i16 864, i16 1133, i16 1792, i16 1878, i16 2016, i16 2251, i16 2384, i16 2658, i16 3046, i16 3301, i16 3719, i16 4401, i16 4672, i16 4836, i16 5048, i16 5275, i16 5469, i16 5697, i16 5916, i16 6076, i16 6352, i16 6965, i16 7153, i16 7333, i16 7513, i16 7609, i16 7882, i16 8257, i16 8663, i16 8775, i16 8844, i16 9075, i16 9334, i16 9584, i16 9953, i16 10169, i16 10461, i16 10679, i16 11046, i16 11634, i16 11825, i16 11981, i16 12252, i16 12671, i16 12781, i16 12987, i16 13142, i16 13271, i16 13355, i16 14965, i16 15275, i16 15880, i16 16104, i16 16427, i16 16669, i16 17055, i16 17391, i16 17854, i16 18325, i16 18678, i16 18771, i16 19092, i16 19213, i16 19312, i16 19355, i16 19517, i16 19696, i16 19812, i16 19936, i16 20053, i16 20253, i16 20473, i16 20718, i16 21327, i16 21651, i16 21736, i16 21853, i16 22094, i16 22159, i16 22270, i16 22417, i16 22630, i16 22703, i16 22758, i16 23237, i16 23696, i16 24082, i16 24687, i16 25048, i16 25217, i16 25551, i16 25652, i16 25864, i16 26186, i16 26427, i16 26579, i16 26964, i16 27245, i16 27495, i16 27854, i16 28227, i16 43, i16 309, i16 480, i16 872, i16 1148, i16 2028, i16 2264, i16 2395, i16 2679, i16 3057, i16 3322, i16 3738, i16 4425, i16 4684, i16 4844, i16 5056, i16 5285, i16 5474, i16 5704, i16 5923, i16 6084, i16 6367, i16 6971, i16 7159, i16 7343, i16 7524, i16 7620, i16 7895, i16 8267, i16 8673, i16 8786, i16 8850, i16 9084, i16 9344, i16 9592, i16 9833, i16 9958, i16 10177, i16 10465, i16 10686, i16 11066, i16 11640, i16 11992, i16 12273, i16 12677, i16 12791, i16 12998, i16 13149, i16 13279, i16 13365, i16 14974, i16 15300, i16 15895, i16 16114, i16 16434, i16 16681, i16 17065, i16 17396, i16 17680, i16 17865, i16 18344, i16 18780, i16 19100, i16 19221, i16 19362, i16 19530, i16 19820, i16 19922, i16 19944, i16 20015, i16 20058, i16 20195, i16 20265, i16 20485, i16 20741, i16 21338, i16 21660, i16 21747, i16 21861, i16 22104, i16 22170, i16 22280, i16 22436, i16 22637, i16 22780, i16 23259, i16 23703, i16 24101, i16 24697, i16 25227, i16 25392, i16 25566, i16 25662, i16 25883, i16 26193, i16 26436, i16 26591, i16 26970, i16 27149, i16 27253, i16 27510, i16 27864, i16 28234, i16 51, i16 317, i16 493, i16 881, i16 1165, i16 2039, i16 2276, i16 2403, i16 2694, i16 3065, i16 3337, i16 3760, i16 4432, i16 4691, i16 4852, i16 5062, i16 5293, i16 5481, i16 5712, i16 5932, i16 6090, i16 6378, i16 6977, i16 7166, i16 7291, i16 7353, i16 7535, i16 7630, i16 7911, i16 8275, i16 8682, i16 8856, i16 9093, i16 9355, i16 9600, i16 9965, i16 10101, i16 10185, i16 10471, i16 10697, i16 11089, i16 11645, i16 12002, i16 12292, i16 12684, i16 12803, i16 13012, i16 13157, i16 13288, i16 13375, i16 14984, i16 15328, i16 15909, i16 16124, i16 16443, i16 16693, i16 16923, i16 17074, i16 17298, i16 17402, i16 17873, i16 18111, i16 18344, i16 18790, i16 19007, i16 19108, i16 19229, i16 19537, i16 19710, i16 19826, i16 19950, i16 20064, i16 20273, i16 20493, i16 20756, i16 21351, i16 21667, i16 21753, i16 21870, i16 22114, i16 22805, i16 23284, i16 23710, i16 24120, i16 25054, i16 25232, i16 25398, i16 25581, i16 25671, i16 25900, i16 26202, i16 26445, i16 26602, i16 26976, i16 27261, i16 27525, i16 27874, i16 28241, i16 61, i16 326, i16 503, i16 890, i16 1182, i16 2050, i16 2292, i16 2410, i16 2707, i16 3071, i16 3348, i16 3779, i16 4441, i16 4699, i16 4796, i16 4861, i16 5069, i16 5301, i16 5457, i16 5719, i16 5941, i16 6098, i16 6393, i16 6986, i16 7176, i16 7363, i16 7546, i16 7641, i16 7928, i16 8287, i16 8692, i16 8796, i16 8865, i16 9105, i16 9369, i16 9610, i16 9974, i16 10193, i16 10477, i16 10708, i16 11109, i16 11652, i16 11833, i16 12013, i16 12313, i16 12689, i16 12816, i16 13167, i16 13299, i16 13385, i16 14994, i16 15356, i16 15925, i16 16134, i16 16453, i16 16706, i16 17084, i16 17410, i16 17687, i16 17879, i16 18122, i16 18366, i16 18684, i16 18799, i16 19017, i16 19117, i16 19237, i16 19369, i16 19442, i16 19543, i16 19833, i16 19957, i16 20073, i16 20279, i16 20499, i16 20767, i16 21363, i16 21674, i16 21703, i16 21759, i16 21801, i16 21881, i16 22177, i16 22245, i16 22287, i16 22449, i16 22821, i16 23306, i16 23714, i16 24130, i16 24707, i16 25065, i16 25241, i16 25409, i16 25600, i16 25678, i16 25913, i16 26209, i16 26456, i16 26614, i16 26984, i16 27269, i16 27540, i16 27884, i16 28248, i16 70, i16 336, i16 513, i16 897, i16 1195, i16 1800, i16 1893, i16 2063, i16 2309, i16 2417, i16 2720, i16 3081, i16 3367, i16 3813, i16 4446, i16 4708, i16 4868, i16 5077, i16 5310, i16 5489, i16 5727, i16 5952, i16 6105, i16 6406, i16 6994, i16 7183, i16 7373, i16 7650, i16 7946, i16 8295, i16 8701, i16 8806, i16 8871, i16 9115, i16 9380, i16 9620, i16 9980, i16 10201, i16 10483, i16 10719, i16 11132, i16 11662, i16 11846, i16 12023, i16 12332, i16 12695, i16 12828, i16 13026, i16 13175, i16 13308, i16 13395, i16 15004, i16 15384, i16 15940, i16 16144, i16 16460, i16 16721, i16 17096, i16 17416, i16 17888, i16 18139, i16 18388, i16 18691, i16 18808, i16 19027, i16 19127, i16 19246, i16 19552, i16 19717, i16 19840, i16 19964, i16 20077, i16 20287, i16 20507, i16 20782, i16 21373, i16 21682, i16 21767, i16 21890, i16 22186, i16 22296, i16 22466, i16 22843, i16 23331, i16 23723, i16 24155, i16 24717, i16 25073, i16 25250, i16 25619, i16 25685, i16 25926, i16 26466, i16 26627, i16 26990, i16 27280, i16 27561, i16 27894, i16 28255, i16 77, i16 343, i16 523, i16 904, i16 1208, i16 1448, i16 1454, i16 2075, i16 2323, i16 2425, i16 2735, i16 3087, i16 3378, i16 3838, i16 4453, i16 4714, i16 4878, i16 5083, i16 5496, i16 5734, i16 5876, i16 5960, i16 6115, i16 6425, i16 7003, i16 7191, i16 7302, i16 7379, i16 7557, i16 7659, i16 7955, i16 8305, i16 8714, i16 8880, i16 9125, i16 9391, i16 9629, i16 9987, i16 10111, i16 10210, i16 10488, i16 10728, i16 11158, i16 11669, i16 12030, i16 12345, i16 12701, i16 12839, i16 13405, i16 15014, i16 15412, i16 15956, i16 16154, i16 16470, i16 16734, i16 16937, i16 17107, i16 17424, i16 17694, i16 17894, i16 18150, i16 18413, i16 18818, i16 19135, i16 19254, i16 19376, i16 19559, i16 20084, i16 20202, i16 20295, i16 20515, i16 20797, i16 21383, i16 21900, i16 22127, i16 22192, i16 22302, i16 22477, i16 22644, i16 22711, i16 22862, i16 23359, i16 23729, i16 24171, i16 24727, i16 25082, i16 25255, i16 25630, i16 25694, i16 26222, i16 26471, i16 26640, i16 26997, i16 27904, i16 28262, i16 86, i16 533, i16 911, i16 1220, i16 1532, i16 1624, i16 2087, i16 2432, i16 2748, i16 3094, i16 3391, i16 3857, i16 4013, i16 4460, i16 4887, i16 5090, i16 5503, i16 5741, i16 5968, i16 6016, i16 6123, i16 6440, i16 7198, i16 7387, i16 7669, i16 7964, i16 8314, i16 8518, i16 9137, i16 9641, i16 9994, i16 10217, i16 10492, i16 10735, i16 11178, i16 11432, i16 12036, i16 12356, i16 13415, i16 15021, i16 15431, i16 16164, i16 16480, i16 16746, i16 17432, i16 17901, i16 18163, i16 18432, i16 19566, i16 20092, i16 20303, i16 20523, i16 20812, i16 21394, i16 22872, i16 23381, i16 23735, i16 24187, i16 24737, i16 25089, i16 25265, i16 25701, i16 25942, i16 26231, i16 26478, i16 26654, i16 27003, i16 27289, i16 27578, i16 13487, i16 27914, i16 90, i16 543, i16 915, i16 1227, i16 1545, i16 1648, i16 2091, i16 2436, i16 2755, i16 3098, i16 3398, i16 3867, i16 4038, i16 4465, i16 4891, i16 5094, i16 5317, i16 5507, i16 6127, i16 6447, i16 7393, i16 7673, i16 7971, i16 8321, i16 8526, i16 8887, i16 8974, i16 9141, i16 9645, i16 10224, i16 10496, i16 10742, i16 11194, i16 11436, i16 12040, i16 12363, i16 12707, i16 13421, i16 15025, i16 15441, i16 16170, i16 16484, i16 16750, i16 17437, i16 17905, i16 18457, i16 18826, i16 19570, i16 20307, i16 20527, i16 20819, i16 21401, i16 21910, i16 22309, i16 22490, i16 22888, i16 23397, i16 23740, i16 24196, i16 24744, i16 25269, i16 25419, i16 25705, i16 26242, i16 26660, i16 27007, i16 27295, i16 27588, i16 13492, i16 27921, i16 94, i16 553, i16 919, i16 1234, i16 1550, i16 1657, i16 2440, i16 2762, i16 3102, i16 3405, i16 3877, i16 4069, i16 4470, i16 4895, i16 5098, i16 5322, i16 5449, i16 5972, i16 6021, i16 6131, i16 6454, i16 7399, i16 7566, i16 8328, i16 9147, i16 9404, i16 9649, i16 9842, i16 10232, i16 10500, i16 10749, i16 11213, i16 11440, i16 11574, i16 11677, i16 11854, i16 12044, i16 12370, i16 13427, i16 15029, i16 15451, i16 16176, i16 5453, i16 16754, i16 17441, i16 17909, i16 18698, i16 19144, i16 20311, i16 20531, i16 20826, i16 21406, i16 22913, i16 23422, i16 23745, i16 24205, i16 24754, i16 25709, i16 25949, i16 26253, i16 26666, i16 27011, i16 27156, i16 27301, i16 27598, i16 13497, i16 27928, i16 98, i16 563, i16 923, i16 1241, i16 1555, i16 1666, i16 2444, i16 2769, i16 3106, i16 3412, i16 3887, i16 4085, i16 4475, i16 4899, i16 5102, i16 5511, i16 5745, i16 6135, i16 6461, i16 7405, i16 7677, i16 7978, i16 8335, i16 8534, i16 8891, i16 9153, i16 9653, i16 9998, i16 10239, i16 10504, i16 10756, i16 11229, i16 11444, i16 11681, i16 11859, i16 12048, i16 12377, i16 13433, i16 15033, i16 15461, i16 16182, i16 16758, i16 17445, i16 17913, i16 18482, i16 19574, i16 20315, i16 20535, i16 20833, i16 21411, i16 21914, i16 22932, i16 23441, i16 23751, i16 24217, i16 24764, i16 25273, i16 25713, i16 25956, i16 26262, i16 26672, i16 27307, i16 27608, i16 13502, i16 27935, i16 102, i16 352, i16 573, i16 927, i16 1248, i16 1561, i16 1677, i16 2448, i16 2776, i16 3110, i16 3419, i16 3900, i16 4480, i16 4721, i16 4903, i16 5106, i16 5327, i16 5515, i16 5749, i16 6139, i16 6468, i16 2144, i16 7411, i16 7985, i16 8342, i16 8542, i16 9157, i16 9657, i16 9847, i16 10246, i16 10508, i16 10763, i16 11248, i16 11448, i16 11685, i16 11864, i16 12052, i16 12384, i16 12851, i16 13038, i16 13183, i16 13439, i16 15037, i16 15471, i16 16188, i16 16489, i16 16762, i16 17449, i16 17917, i16 18170, i16 18501, i16 18830, i16 19148, i16 20319, i16 20539, i16 20840, i16 21417, i16 22951, i16 23463, i16 23757, i16 24229, i16 24774, i16 25717, i16 26273, i16 26678, i16 27314, i16 27620, i16 13507, i16 27942, i16 106, i16 580, i16 931, i16 1255, i16 1566, i16 1686, i16 2095, i16 2338, i16 2452, i16 2783, i16 3114, i16 3426, i16 3907, i16 4485, i16 4907, i16 5110, i16 5332, i16 5519, i16 6143, i16 6475, i16 7417, i16 7681, i16 7992, i16 8349, i16 8550, i16 9162, i16 9661, i16 10002, i16 10119, i16 10254, i16 10512, i16 10770, i16 11255, i16 11452, i16 11689, i16 11869, i16 12056, i16 12391, i16 12855, i16 13043, i16 13187, i16 13445, i16 15041, i16 15481, i16 16194, i16 16492, i16 16766, i16 17117, i16 17309, i16 17454, i16 17921, i16 18177, i16 18834, i16 19039, i16 19578, i16 20096, i16 20323, i16 20543, i16 20847, i16 21422, i16 21918, i16 22958, i16 23470, i16 23762, i16 24238, i16 24784, i16 25093, i16 25277, i16 25721, i16 25963, i16 26280, i16 26482, i16 26684, i16 27015, i16 27318, i16 27627, i16 13512, i16 27949, i16 110, i16 587, i16 935, i16 1262, i16 1573, i16 1699, i16 2099, i16 2343, i16 2456, i16 2790, i16 3118, i16 3433, i16 3917, i16 4104, i16 4490, i16 4911, i16 5114, i16 5337, i16 5523, i16 6148, i16 6484, i16 7423, i16 7685, i16 7999, i16 8356, i16 8560, i16 8895, i16 9168, i16 9411, i16 9665, i16 10006, i16 10263, i16 10516, i16 10777, i16 11265, i16 11456, i16 11693, i16 11874, i16 12060, i16 12398, i16 12859, i16 13048, i16 13191, i16 13451, i16 15045, i16 15491, i16 16200, i16 16770, i16 17121, i16 17314, i16 17459, i16 17703, i16 17925, i16 18184, i16 18508, i16 18838, i16 19582, i16 20100, i16 20327, i16 20547, i16 20854, i16 21427, i16 21922, i16 22971, i16 23483, i16 23768, i16 24250, i16 24791, i16 25097, i16 25281, i16 25725, i16 25970, i16 26287, i16 26486, i16 26690, i16 27019, i16 27323, i16 27635, i16 13517, i16 27956, i16 114, i16 597, i16 939, i16 1269, i16 1578, i16 1708, i16 2103, i16 2460, i16 2797, i16 3122, i16 3440, i16 3927, i16 4120, i16 4495, i16 4915, i16 5118, i16 5527, i16 5753, i16 6153, i16 6493, i16 7010, i16 7429, i16 7689, i16 8006, i16 8363, i16 8569, i16 8899, i16 8979, i16 9173, i16 9417, i16 9669, i16 9852, i16 10010, i16 10272, i16 10520, i16 10784, i16 11281, i16 11460, i16 12064, i16 12405, i16 12711, i16 12863, i16 13053, i16 13457, i16 15049, i16 15501, i16 16206, i16 16496, i16 16774, i16 4584, i16 17929, i16 18521, i16 18702, i16 18842, i16 19384, i16 19450, i16 19586, i16 20331, i16 20551, i16 20861, i16 21432, i16 21773, i16 21926, i16 22984, i16 23496, i16 23773, i16 24259, i16 24801, i16 25285, i16 25424, i16 25729, i16 25977, i16 26298, i16 26490, i16 26696, i16 27023, i16 27328, i16 27643, i16 13522, i16 27963, i16 118, i16 607, i16 943, i16 1276, i16 1581, i16 1713, i16 2107, i16 2464, i16 2804, i16 3126, i16 3447, i16 3934, i16 4316, i16 4500, i16 4919, i16 5122, i16 5342, i16 5531, i16 5757, i16 6157, i16 6500, i16 7435, i16 7693, i16 8013, i16 8370, i16 8579, i16 9177, i16 9422, i16 5441, i16 10014, i16 10282, i16 10524, i16 10791, i16 11297, i16 11464, i16 11612, i16 12068, i16 12412, i16 13463, i16 15053, i16 15511, i16 16212, i16 16500, i16 16778, i16 17466, i16 17933, i16 18537, i16 19590, i16 20335, i16 20555, i16 20868, i16 21437, i16 21930, i16 23003, i16 23515, i16 23778, i16 24268, i16 24811, i16 25289, i16 25733, i16 25984, i16 26307, i16 26702, i16 27333, i16 27651, i16 13527, i16 27970, i16 122, i16 356, i16 617, i16 947, i16 1283, i16 1587, i16 1724, i16 2468, i16 2811, i16 3130, i16 3454, i16 3944, i16 4505, i16 4923, i16 5126, i16 5348, i16 5535, i16 5761, i16 6161, i16 6507, i16 7441, i16 7697, i16 8020, i16 8377, i16 8588, i16 9183, i16 9429, i16 9673, i16 10018, i16 10291, i16 10528, i16 10798, i16 11319, i16 11468, i16 12072, i16 12419, i16 13195, i16 13469, i16 15057, i16 15521, i16 16218, i16 16504, i16 16782, i16 17471, i16 17937, i16 18565, i16 18846, i16 19594, i16 19725, i16 20339, i16 20559, i16 20875, i16 21444, i16 21934, i16 23034, i16 23546, i16 23783, i16 24277, i16 24821, i16 25293, i16 25737, i16 25991, i16 26318, i16 26708, i16 27339, i16 27661, i16 27977, i16 126, i16 627, i16 951, i16 1290, i16 1599, i16 1746, i16 2111, i16 2472, i16 2818, i16 3134, i16 3461, i16 3966, i16 4510, i16 4927, i16 5130, i16 5539, i16 6165, i16 6514, i16 7447, i16 7701, i16 8027, i16 8384, i16 9189, i16 5904, i16 10300, i16 10532, i16 10805, i16 11341, i16 11472, i16 12076, i16 12426, i16 12867, i16 13059, i16 13475, i16 15061, i16 15531, i16 16224, i16 4589, i16 16786, i16 17478, i16 17941, i16 18587, i16 20343, i16 20563, i16 20882, i16 21449, i16 21938, i16 22138, i16 22313, i16 22497, i16 23059, i16 23571, i16 23788, i16 24286, i16 24831, i16 25101, i16 25297, i16 25741, i16 25998, i16 26331, i16 26715, i16 27027, i16 27161, i16 27345, i16 27671, i16 27984, i16 130, i16 360, i16 637, i16 955, i16 1297, i16 1612, i16 1770, i16 2115, i16 2476, i16 2825, i16 3138, i16 3468, i16 3988, i16 4515, i16 4931, i16 5134, i16 5544, i16 5765, i16 5976, i16 6169, i16 6521, i16 7202, i16 7453, i16 7705, i16 8034, i16 8391, i16 8597, i16 8903, i16 8984, i16 9194, i16 9677, i16 9857, i16 10309, i16 10536, i16 10812, i16 11360, i16 11476, i16 12080, i16 12433, i16 13481, i16 15065, i16 15541, i16 16230, i16 16508, i16 16790, i16 17485, i16 17945, i16 18615, i16 18707, i16 18850, i16 19044, i16 19598, i16 20347, i16 20567, i16 20889, i16 21455, i16 21942, i16 22317, i16 22504, i16 23081, i16 23590, i16 23793, i16 24295, i16 24841, i16 25301, i16 25745, i16 26005, i16 26342, i16 26722, i16 27351, i16 27681, i16 27994, i16 134, i16 364, i16 647, i16 959, i16 1304, i16 1532, i16 1624, i16 2119, i16 2480, i16 2832, i16 3142, i16 3475, i16 4013, i16 4520, i16 4725, i16 4935, i16 5138, i16 5548, i16 5769, i16 5980, i16 6026, i16 6173, i16 6528, i16 7015, i16 7206, i16 7459, i16 7709, i16 8041, i16 8398, i16 8907, i16 9199, i16 9436, i16 9681, i16 10022, i16 10319, i16 10540, i16 10819, i16 11178, i16 11480, i16 11579, i16 11697, i16 11879, i16 12084, i16 12440, i16 12715, i16 12871, i16 13064, i16 13199, i16 13487, i16 15069, i16 15551, i16 15971, i16 16236, i16 16512, i16 16794, i16 17125, i16 17319, i16 17490, i16 17711, i16 17949, i16 18191, i16 18432, i16 18854, i16 19388, i16 19455, i16 19602, i16 19730, i16 19846, i16 19970, i16 20104, i16 20351, i16 20571, i16 20896, i16 21056, i16 21139, i16 21460, i16 21946, i16 22321, i16 22511, i16 22872, i16 23381, i16 23798, i16 24304, i16 24737, i16 25105, i16 25305, i16 25749, i16 26012, i16 26231, i16 26729, i16 27031, i16 27166, i16 27356, i16 27689, i16 27914, i16 142, i16 373, i16 663, i16 965, i16 1315, i16 1545, i16 1648, i16 2126, i16 2489, i16 2849, i16 3149, i16 3488, i16 4038, i16 4527, i16 4732, i16 4941, i16 5144, i16 5354, i16 5555, i16 5776, i16 5987, i16 6184, i16 6549, i16 7023, i16 7212, i16 7467, i16 7719, i16 8054, i16 8407, i16 8915, i16 8989, i16 9206, i16 9695, i16 10030, i16 10333, i16 10546, i16 10830, i16 11194, i16 11489, i16 11589, i16 11704, i16 11887, i16 12093, i16 12457, i16 12723, i16 12878, i16 13072, i16 13207, i16 13492, i16 15077, i16 15573, i16 15979, i16 16243, i16 16523, i16 16801, i16 17134, i16 17329, i16 17501, i16 17957, i16 18457, i16 18711, i16 18861, i16 19395, i16 19463, i16 19610, i16 19854, i16 19978, i16 20358, i16 20578, i16 20909, i16 21063, i16 21152, i16 21476, i16 21952, i16 22328, i16 22524, i16 22888, i16 23397, i16 23805, i16 24323, i16 24851, i16 25111, i16 25310, i16 25429, i16 25756, i16 26025, i16 26242, i16 26743, i16 27038, i16 27174, i16 27365, i16 27706, i16 27921, i16 151, i16 383, i16 553, i16 972, i16 1328, i16 1550, i16 1657, i16 2133, i16 2494, i16 2858, i16 3158, i16 3505, i16 4069, i16 4537, i16 4740, i16 4948, i16 5017, i16 5149, i16 5360, i16 5474, i16 5784, i16 5993, i16 6034, i16 6196, i16 6572, i16 7032, i16 7220, i16 7399, i16 7566, i16 7727, i16 8416, i16 8726, i16 9147, i16 9404, i16 9706, i16 9862, i16 10039, i16 10232, i16 10500, i16 10749, i16 11213, i16 11497, i16 11598, i16 11712, i16 11896, i16 12102, i16 12474, i16 12732, i16 12886, i16 13497, i16 15087, i16 15601, i16 15988, i16 16250, i16 16535, i16 16809, i16 17513, i16 17723, i16 17966, i16 18698, i16 18866, i16 19152, i16 19615, i16 19864, i16 19929, i16 19988, i16 20022, i16 20113, i16 20366, i16 20586, i16 20924, i16 21071, i16 21167, i16 21488, i16 21689, i16 22913, i16 23422, i16 23816, i16 24354, i16 24864, i16 25119, i16 25762, i16 26036, i16 26253, i16 26754, i16 27044, i16 27181, i16 27375, i16 27725, i16 27928, i16 157, i16 679, i16 977, i16 1337, i16 1555, i16 1666, i16 1808, i16 1908, i16 2138, i16 2502, i16 2873, i16 3163, i16 3514, i16 4085, i16 4544, i16 4953, i16 5156, i16 5564, i16 5790, i16 6204, i16 6587, i16 7038, i16 7476, i16 7735, i16 8065, i16 8426, i16 8731, i16 8820, i16 8923, i16 9214, i16 9444, i16 9714, i16 10045, i16 10349, i16 10553, i16 10843, i16 11229, i16 11504, i16 11720, i16 11905, i16 12108, i16 12485, i16 12891, i16 13081, i16 13216, i16 13502, i16 15093, i16 15617, i16 15995, i16 16257, i16 16545, i16 16814, i16 16951, i16 17144, i16 17340, i16 17528, i16 17739, i16 17971, i16 18482, i16 19403, i16 19622, i16 19739, i16 20120, i16 20372, i16 20592, i16 20935, i16 21076, i16 21176, i16 21501, i16 21959, i16 22932, i16 23441, i16 23823, i16 24373, i16 24877, i16 25316, i16 25771, i16 26053, i16 26262, i16 26764, i16 27049, i16 27381, i16 27736, i16 27935, i16 102, i16 352, i16 573, i16 983, i16 1348, i16 1561, i16 1677, i16 1815, i16 1921, i16 1943, i16 1955, i16 2144, i16 2511, i16 2890, i16 3110, i16 3419, i16 3900, i16 4550, i16 4721, i16 4959, i16 5162, i16 5368, i16 5515, i16 5749, i16 6213, i16 6604, i16 7045, i16 7226, i16 4903, i16 7743, i16 8076, i16 8435, i16 9222, i16 9453, i16 9725, i16 9871, i16 10051, i16 10246, i16 10508, i16 10763, i16 11248, i16 11512, i16 11728, i16 11914, i16 12115, i16 12498, i16 12851, i16 13038, i16 13223, i16 13507, i16 15100, i16 15636, i16 16002, i16 16264, i16 16555, i16 16824, i16 16962, i16 17152, i16 17542, i16 17917, i16 18170, i16 18501, i16 18872, i16 19148, i16 19870, i16 20379, i16 20599, i16 20948, i16 20319, i16 20840, i16 21513, i16 11685, i16 11864, i16 22951, i16 23463, i16 23830, i16 24392, i16 24890, i16 25125, i16 25322, i16 25436, i16 25779, i16 26273, i16 26775, i16 27314, i16 27620, i16 27942, i16 163, i16 389, i16 580, i16 988, i16 1357, i16 1566, i16 1686, i16 1950, i16 1968, i16 2148, i16 2519, i16 2905, i16 3114, i16 3426, i16 3907, i16 4554, i16 4745, i16 4964, i16 5169, i16 5376, i16 5571, i16 5796, i16 6219, i16 6615, i16 7050, i16 7231, i16 7417, i16 7751, i16 8081, i16 8444, i16 8605, i16 8929, i16 9162, i16 9735, i16 9882, i16 10056, i16 10124, i16 10356, i16 10559, i16 10854, i16 11255, i16 11520, i16 11734, i16 11921, i16 12122, i16 12511, i16 12897, i16 13088, i16 13230, i16 13512, i16 15106, i16 15652, i16 16271, i16 16562, i16 16832, i16 16972, i16 17158, i16 17349, i16 17550, i16 17977, i16 18206, i16 106, i16 18878, i16 19049, i16 19410, i16 19631, i16 19875, i16 19994, i16 20128, i16 20383, i16 20603, i16 20955, i16 21083, i16 21189, i16 21525, i16 11689, i16 11869, i16 21777, i16 21965, i16 17921, i16 18177, i16 22958, i16 23470, i16 23838, i16 24414, i16 24784, i16 25130, i16 25328, i16 25787, i16 26068, i16 26280, i16 26787, i16 27054, i16 27949, i16 168, i16 395, i16 587, i16 994, i16 1368, i16 1573, i16 1699, i16 1820, i16 1930, i16 2153, i16 2527, i16 2920, i16 3118, i16 3433, i16 4104, i16 4563, i16 4750, i16 4969, i16 5176, i16 5384, i16 5579, i16 5801, i16 6227, i16 6630, i16 7056, i16 7237, i16 7423, i16 7758, i16 8090, i16 8452, i16 8614, i16 8934, i16 9168, i16 9411, i16 9746, i16 10061, i16 10368, i16 10564, i16 10863, i16 11265, i16 11527, i16 11741, i16 11929, i16 12130, i16 12526, i16 12902, i16 13095, i16 13237, i16 13517, i16 15113, i16 15671, i16 16278, i16 16571, i16 16841, i16 17165, i16 17357, i16 17557, i16 17755, i16 17982, i16 18215, i16 18508, i16 18720, i16 18884, i16 19415, i16 19640, i16 19881, i16 20000, i16 20134, i16 20388, i16 20608, i16 20964, i16 21088, i16 21198, i16 21537, i16 11693, i16 11874, i16 21783, i16 21973, i16 17925, i16 18184, i16 22971, i16 23483, i16 23847, i16 24439, i16 24791, i16 25136, i16 25336, i16 25795, i16 26083, i16 26287, i16 26799, i16 27059, i16 27956, i16 173, i16 401, i16 692, i16 1000, i16 1379, i16 1578, i16 1708, i16 2158, i16 2534, i16 2933, i16 3169, i16 3525, i16 4120, i16 4570, i16 4976, i16 5185, i16 5590, i16 5806, i16 6235, i16 6645, i16 7062, i16 7243, i16 7766, i16 8006, i16 8461, i16 8942, i16 8998, i16 9238, i16 9470, i16 9758, i16 9894, i16 10067, i16 10272, i16 10569, i16 10872, i16 11281, i16 11534, i16 11748, i16 12138, i16 12541, i16 12738, i16 12907, i16 13102, i16 13522, i16 15120, i16 15690, i16 16007, i16 16285, i16 16585, i16 16848, i16 16982, i16 17172, i16 17568, i16 17767, i16 17987, i16 18521, i16 18702, i16 18890, i16 19158, i16 19422, i16 19472, i16 19647, i16 19749, i16 20393, i16 20613, i16 20973, i16 21093, i16 21207, i16 21550, i16 21789, i16 21980, i16 22651, i16 22984, i16 23496, i16 23855, i16 24461, i16 24801, i16 25343, i16 25443, i16 25802, i16 26096, i16 26298, i16 26812, i16 27067, i16 27389, i16 27751, i16 27963, i16 180, i16 705, i16 1006, i16 1390, i16 1581, i16 1713, i16 2165, i16 2542, i16 2948, i16 3176, i16 3538, i16 4136, i16 4316, i16 4575, i16 4755, i16 4982, i16 5191, i16 5394, i16 5595, i16 5813, i16 6245, i16 6664, i16 7071, i16 7250, i16 7774, i16 8101, i16 8468, i16 8947, i16 9245, i16 9478, i16 9770, i16 10074, i16 10382, i16 10576, i16 10885, i16 11297, i16 11542, i16 11758, i16 12147, i16 12558, i16 13244, i16 13527, i16 15128, i16 15712, i16 16017, i16 16292, i16 16593, i16 16858, i16 16994, i16 17180, i16 17583, i16 17994, i16 18537, i16 18897, i16 19656, i16 19759, i16 19887, i16 20140, i16 20401, i16 20621, i16 20988, i16 21100, i16 21220, i16 21561, i16 21986, i16 22199, i16 22336, i16 22539, i16 23003, i16 23515, i16 23863, i16 24483, i16 24903, i16 25142, i16 25351, i16 25452, i16 25810, i16 26111, i16 26307, i16 26494, i16 26824, i16 27075, i16 27395, i16 27762, i16 27970, i16 190, i16 410, i16 724, i16 1013, i16 1403, i16 1587, i16 1724, i16 2174, i16 2551, i16 2965, i16 3186, i16 3557, i16 4170, i16 3944, i16 4584, i16 4765, i16 4991, i16 5196, i16 5402, i16 5600, i16 5823, i16 6257, i16 6687, i16 7081, i16 7483, i16 7781, i16 8116, i16 8476, i16 8957, i16 9258, i16 9493, i16 9783, i16 10083, i16 10394, i16 10583, i16 10898, i16 11319, i16 11548, i16 11769, i16 11937, i16 12158, i16 12579, i16 12913, i16 13110, i16 13254, i16 13469, i16 15139, i16 15743, i16 16028, i16 16299, i16 16606, i16 16866, i16 17191, i16 17590, i16 17784, i16 18004, i16 18565, i16 18907, i16 19665, i16 19769, i16 19896, i16 20151, i16 20410, i16 20630, i16 21005, i16 21109, i16 21237, i16 21574, i16 21994, i16 22209, i16 22346, i16 22558, i16 23034, i16 23546, i16 23871, i16 24505, i16 24919, i16 25154, i16 25357, i16 25819, i16 26128, i16 26318, i16 26837, i16 27083, i16 27187, i16 27406, i16 27783, i16 27977, i16 198, i16 743, i16 1020, i16 1416, i16 1599, i16 1746, i16 2182, i16 2562, i16 2986, i16 3195, i16 3574, i16 4195, i16 3966, i16 4589, i16 4773, i16 4999, i16 5202, i16 5607, i16 5831, i16 6267, i16 6706, i16 7089, i16 7261, i16 7787, i16 8127, i16 8484, i16 9275, i16 9511, i16 9794, i16 10408, i16 10591, i16 10913, i16 11341, i16 11557, i16 12169, i16 12600, i16 12921, i16 13119, i16 13475, i16 15149, i16 15771, i16 16037, i16 16306, i16 16616, i16 16873, i16 17003, i16 17200, i16 17606, i16 17801, i16 18013, i16 18587, i16 18915, i16 19904, i16 20161, i16 20418, i16 20638, i16 21020, i16 21117, i16 21252, i16 21587, i16 22000, i16 22143, i16 22217, i16 22354, i16 22573, i16 23059, i16 23571, i16 23878, i16 24524, i16 24831, i16 25162, i16 25362, i16 25459, i16 25827, i16 26143, i16 26331, i16 26853, i16 27090, i16 27195, i16 27416, i16 27802, i16 27984, i16 207, i16 418, i16 759, i16 1027, i16 1429, i16 1612, i16 1770, i16 2189, i16 2571, i16 3003, i16 3203, i16 3589, i16 4220, i16 3988, i16 4592, i16 4782, i16 5008, i16 5211, i16 5616, i16 5840, i16 5998, i16 6277, i16 6725, i16 7098, i16 7271, i16 7492, i16 7794, i16 8140, i16 8494, i16 8737, i16 8965, i16 9004, i16 9288, i16 9525, i16 9807, i16 9907, i16 10419, i16 10598, i16 10926, i16 11360, i16 11565, i16 12179, i16 12619, i16 13262, i16 13481, i16 15158, i16 15796, i16 16047, i16 16316, i16 16623, i16 16883, i16 17014, i16 17210, i16 17623, i16 18021, i16 18615, i16 18726, i16 18924, i16 19056, i16 19428, i16 19677, i16 19782, i16 19913, i16 20006, i16 20171, i16 20425, i16 20645, i16 21033, i16 21124, i16 21265, i16 21600, i16 22007, i16 22226, i16 22363, i16 22590, i16 23081, i16 23590, i16 23888, i16 24552, i16 24932, i16 25173, i16 25368, i16 25466, i16 25836, i16 26160, i16 26342, i16 26876, i16 27098, i16 27994, i16 216, i16 427, i16 775, i16 1034, i16 1442, i16 0, i16 4248, i16 4347, i16 4598, i16 8153, i16 11382, i16 12930, i16 13532, i16 16326, i16 18637, i16 22015, i16 23107, i16 23615, i16 24945, i16 25375, i16 25474, i16 28004, i16 219, i16 430, i16 785, i16 1036, i16 1445, i16 0, i16 4261, i16 4375, i16 4598, i16 8160, i16 11410, i16 12933, i16 13539, i16 16333, i16 18649, i16 22018, i16 23120, i16 23643, i16 24965, i16 25378, i16 25479, i16 26353, i16 28011, i16 222, i16 433, i16 798, i16 1038, i16 1465, i16 1827, i16 2196, i16 2579, i16 3212, i16 4277, i16 4600, i16 5220, i16 5410, i16 5624, i16 6746, i16 6764, i16 6779, i16 6847, i16 6890, i16 7107, i16 7802, i16 8167, i16 8503, i16 10604, i16 11777, i16 12936, i16 13546, i16 15168, i16 15824, i16 16340, i16 16892, i16 17220, i16 17631, i16 18030, i16 18934, i16 19263, i16 19321, i16 21612, i16 22021, i16 22372, i16 22659, i16 23896, i16 24985, i16 26356, i16 26502, i16 26896, i16 27106, i16 28018, i16 28088, i16 28166, i16 28269, i16 243, i16 451, i16 832, i16 1063, i16 1492, i16 1853, i16 2212, i16 3226, i16 4304, i16 5653, i16 5849, i16 6007, i16 6807, i16 6876, i16 6917, i16 6929, i16 7817, i16 8199, i16 8746, i16 9014, i16 12955, i16 13578, i16 16057, i16 16351, i16 16910, i16 17257, i16 18966, i16 19167, i16 19285, i16 22045, i16 22235, i16 23919, i16 28116, i16 28312, i16 252, i16 460, i16 841, i16 1073, i16 1504, i16 1867, i16 3235, i16 6821, i16 11806, i16 13594, i16 16369, i16 19295, i16 22054, i16 26920, i16 28053, i16 28135, i16 28201, i16 261, i16 0, i16 1086, i16 1517, i16 1867, i16 3244, i16 4623, i16 5246, i16 6833, i16 8208, i16 10628, i16 11806, i16 13610, i16 16387, i16 22067, i16 26383, i16 28069, i16 28154, i16 28334, i16 0, i16 13628, i16 23929, i16 24574, i16 0, i16 0, i16 14004, i16 23961, i16 0, i16 14018, i16 0, i16 14901, i16 23971, i16 24610, i16 0, i16 24007, i16 24660], [372 x i8] c"\00\00\00\00\01\01\00\00\02\02\00\00\03\03\00\00\04\04\00\00\05\05\01\01\06\06\02\02\07\07\01\01\08\08\00\00\09\09\00\00\0A\0A\00\03\0A\0A\03\03\0B\0B\00\00\0C\0C\00\00\0D\0D\00\00\0E\0E\00\00\0F\0F\04\04\10\10\05\05\11\01\00\00\12\11\00\00\13\01\00\00\14\02\06\06\15\01\07\07\16\12\00\00\17\02\00\00\18\13\00\00\19\14\00\00\1A\01\00\00\1B\02\00\00\1C\15\00\00\00\00\08\08\1D\02\00\00\1E\02\00\00\1D\16\00\00\1F\17\00\00 \18\00\00!\19\00\00\1D\1A\00\00\22\1B\00\00#\02\00\00$\02\00\00%\02\00\00&\1C\00\00'\1D\00\00(\02\00\00)\02\00\00*\1E\09\09\1A\1F\00\00+\02\00\00, \0A\0A-!\00\00.\22\00\00/\1A\00\000#\00\001\01\00\002\1A\00\003$\0B\0B4$\0C\0C5%\0D\0D6&\0E\0E7'\00\00\00(\0F\0F8\01\00\002\02\00\009\02\00\00:\02\00\00;)\00\00<*\00\00=+\00\00>,\00\00\1D-\00\00?\01\10\10@\01\11\10A\1A\00\00B.\00\00C/\00\00D0\12\11E1\13\12;)\14\13\0C\0C\0E\14F2\15\15G3\16\16H4\17\17H4\17\18\0C\0C\18\19I+\00\00J,\00\00K5\19\1AL6\1A\1BM\01\1B\1CN7\1C\1DO8\1D\1EP9\00\00", [4 x i16] [i16 0, i16 81, i16 139, i16 169], [200 x i16] [i16 1, i16 13, i16 27, i16 43, i16 57, i16 73, i16 97, i16 121, i16 114, i16 85, i16 145, i16 173, i16 193, i16 217, i16 247, i16 281, i16 317, i16 369, i16 378, i16 396, i16 405, i16 422, i16 439, i16 459, i16 469, i16 489, i16 513, i16 520, i16 530, i16 561, i16 571, i16 591, i16 613, i16 635, i16 665, i16 687, i16 697, i16 711, i16 721, i16 739, i16 759, i16 769, i16 779, i16 815, i16 829, i16 908, i16 932, i16 960, i16 972, i16 996, i16 1003, i16 1013, i16 1048, i16 1078, i16 1106, i16 1142, i16 1180, i16 1189, i16 1199, i16 1209, i16 1229, i16 1249, i16 1267, i16 1297, i16 1316, i16 1334, i16 1344, i16 1362, i16 1380, i16 1438, i16 1492, i16 1517, i16 1564, i16 1610, i16 1619, i16 1630, i16 1670, i16 1698, i16 1720, i16 1747, i16 1783, i16 7, i16 20, i16 35, i16 50, i16 65, i16 79, i16 106, i16 134, i16 118, i16 92, i16 153, i16 183, i16 205, i16 233, i16 265, i16 294, i16 336, i16 388, i16 450, i16 479, i16 501, i16 545, i16 581, i16 603, i16 623, i16 647, i16 657, i16 678, i16 730, i16 749, i16 790, i16 806, i16 857, i16 921, i16 947, i16 981, i16 1028, i16 1090, i16 1120, i16 1154, i16 1165, i16 1219, i16 1239, i16 1258, i16 1278, i16 1289, i16 1354, i16 1371, i16 1393, i16 1445, i16 1499, i16 1526, i16 1572, i16 1642, i16 1680, i16 1729, i16 1757, i16 1792, i16 0, i16 85, i16 114, i16 167, i16 305, i16 346, i16 415, i16 433, i16 554, i16 799, i16 891, i16 1039, i16 1067, i16 1100, i16 1132, i16 1171, i16 1308, i16 1329, i16 1412, i16 1452, i16 1478, i16 1506, i16 1535, i16 1580, i16 1598, i16 1652, i16 1690, i16 1711, i16 1739, i16 1769, i16 0, i16 92, i16 118, i16 163, i16 312, i16 362, i16 419, i16 436, i16 558, i16 803, i16 898, i16 1042, i16 1071, i16 1103, i16 1137, i16 1174, i16 1312, i16 1422, i16 1465, i16 1481, i16 1485, i16 1510, i16 1545, i16 1585, i16 1591, i16 1605, i16 1661, i16 1693, i16 1715, i16 1743, i16 1776], [91141 x i16] [i16 7, i16 145, i16 4, i16 5352, i16 1159, i16 2868, i16 9485, i16 12504, i16 4, i16 38, i16 5, i16 3, i16 256, i16 576, i16 22623, i16 1154, i16 1623, i16 0, i16 19968, i16 20901, i16 1708, i16 747, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4, i16 10, i16 5, i16 4, i16 128, i16 480, i16 2038, i16 1693, i16 1947, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1154, i16 1154, i16 1986, i16 2440, i16 0, i16 4, i16 2, i16 5, i16 4, i16 128, i16 480, i16 1886, i16 1885, i16 1886, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2847, i16 2847, i16 2178, i16 5976, i16 0, i16 2, i16 0, i16 5, i16 6, i16 32, i16 64, i16 213, i16 212, i16 213, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4732, i16 4732, i16 0, i16 9496, i16 0, i16 4, i16 5, i16 5, i16 5, i16 64, i16 96, i16 409, i16 408, i16 409, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4944, i16 4944, i16 2193, i16 9976, i16 0, i16 1, i16 0, i16 4, i16 5, i16 128, i16 816, i16 13169, i16 13168, i16 13169, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5352, i16 5352, i16 0, i16 10360, i16 0, i16 1, i16 0, i16 5, i16 2, i16 512, i16 6176, i16 17172, i16 5999, i16 17172, i16 0, i16 -21504, i16 11171, i16 1111, i16 3125, i16 5352, i16 5352, i16 0, i16 -32216, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 5, i16 114, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 55, i16 246, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 92, i16 0, i16 0, i16 1155, i16 274, i16 372, i16 0, i16 1155, i16 300, i16 0, i16 0, i16 1155, i16 300, i16 0, i16 0, i16 1155, i16 331, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 390, i16 0, i16 0, i16 1155, i16 448, i16 498, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 547, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 730, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 798, i16 648, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 875, i16 786, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 916, i16 0, i16 0, i16 1155, i16 1075, i16 924, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 1433, i16 1502, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 1721, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 1780, i16 1634, i16 0, i16 1155, i16 1915, i16 498, i16 0, i16 1155, i16 2012, i16 1844, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 2049, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 2235, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 300, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 1, i16 680, i16 2383, i16 1986, i16 1, i16 680, i16 2880, i16 1986, i16 1, i16 680, i16 3369, i16 1986, i16 1, i16 680, i16 3871, i16 1986, i16 1, i16 680, i16 4373, i16 2016, i16 1, i16 680, i16 4869, i16 1986, i16 1, i16 680, i16 5366, i16 1986, i16 1, i16 680, i16 5868, i16 2016, i16 1, i16 680, i16 6369, i16 1986, i16 1, i16 680, i16 6952, i16 2058, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7976, i16 1986, i16 1, i16 680, i16 5868, i16 2016, i16 1, i16 680, i16 2880, i16 1986, i16 1, i16 680, i16 8476, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 8967, i16 2124, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 8967, i16 2124, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7976, i16 1986, i16 1, i16 680, i16 5868, i16 2016, i16 1, i16 680, i16 7478, i16 1986, i16 2, i16 1338, i16 3, i16 2178, i16 2, i16 1338, i16 3, i16 2178, i16 3, i16 212, i16 3, i16 0, i16 4, i16 6, i16 3, i16 2193, i16 5, i16 13168, i16 3, i16 0, i16 6, i16 17171, i16 3, i16 0, i16 1, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 21, i16 22, i16 23, i16 24, i16 30, i16 40, i16 44, i16 45, i16 50, i16 51, i16 52, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 120, i16 125, i16 126, i16 135, i16 137, i16 144, i16 157, i16 159, i16 160, i16 162, i16 167, i16 170, i16 172, i16 175, i16 177, i16 182, i16 183, i16 186, i16 188, i16 193, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 236, i16 237, i16 240, i16 241, i16 242, i16 243, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 458, i16 459, i16 460, i16 461, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 640, i16 651, i16 652, i16 654, i16 655, i16 669, i16 683, i16 685, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 698, i16 708, i16 711, i16 719, i16 720, i16 722, i16 724, i16 725, i16 726, i16 727, i16 728, i16 731, i16 732, i16 733, i16 735, i16 742, i16 743, i16 744, i16 745, i16 746, i16 747, i16 748, i16 756, i16 757, i16 758, i16 759, i16 761, i16 764, i16 765, i16 766, i16 767, i16 768, i16 774, i16 775, i16 776, i16 779, i16 780, i16 783, i16 784, i16 785, i16 786, i16 793, i16 798, i16 805, i16 806, i16 808, i16 810, i16 811, i16 812, i16 816, i16 818, i16 819, i16 820, i16 821, i16 826, i16 827, i16 828, i16 830, i16 831, i16 832, i16 833, i16 840, i16 843, i16 844, i16 859, i16 860, i16 862, i16 863, i16 877, i16 891, i16 893, i16 895, i16 896, i16 897, i16 898, i16 899, i16 900, i16 901, i16 902, i16 903, i16 906, i16 916, i16 919, i16 927, i16 928, i16 930, i16 932, i16 933, i16 934, i16 935, i16 936, i16 939, i16 940, i16 942, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 955, i16 963, i16 964, i16 965, i16 967, i16 970, i16 971, i16 972, i16 973, i16 979, i16 980, i16 981, i16 984, i16 985, i16 988, i16 989, i16 990, i16 991, i16 998, i16 1002, i16 1009, i16 1010, i16 1012, i16 1014, i16 1015, i16 1016, i16 1020, i16 1022, i16 1023, i16 1024, i16 1025, i16 1030, i16 1031, i16 1032, i16 1034, i16 1035, i16 1036, i16 1037, i16 1044, i16 1047, i16 1108, i16 1109, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 1117, i16 1118, i16 1119, i16 1120, i16 1121, i16 1122, i16 1123, i16 1124, i16 1125, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1132, i16 1133, i16 1134, i16 1139, i16 1140, i16 1141, i16 1142, i16 1143, i16 1147, i16 1157, i16 1158, i16 1183, i16 1184, i16 1185, i16 1186, i16 1187, i16 1188, i16 1189, i16 1190, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1206, i16 1207, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1235, i16 1236, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1242, i16 1243, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 1251, i16 1252, i16 1253, i16 1254, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1263, i16 1264, i16 1265, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1318, i16 1319, i16 1348, i16 1349, i16 1350, i16 1351, i16 1356, i16 1357, i16 1358, i16 1359, i16 1368, i16 1369, i16 1371, i16 1372, i16 1373, i16 1374, i16 1377, i16 1378, i16 1379, i16 1380, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 1390, i16 1391, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1400, i16 1403, i16 1404, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1418, i16 1419, i16 1420, i16 1421, i16 1422, i16 1423, i16 1424, i16 1425, i16 1426, i16 1427, i16 1428, i16 1429, i16 1430, i16 1431, i16 1432, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1440, i16 1441, i16 1442, i16 1443, i16 1444, i16 1445, i16 1446, i16 1447, i16 1448, i16 1449, i16 1450, i16 1451, i16 1452, i16 1453, i16 1454, i16 1455, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1481, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1507, i16 1513, i16 1520, i16 1521, i16 1523, i16 1529, i16 1530, i16 1531, i16 1533, i16 1536, i16 1537, i16 1540, i16 1542, i16 1543, i16 1544, i16 1545, i16 1548, i16 1551, i16 1552, i16 1554, i16 1555, i16 1558, i16 1559, i16 1560, i16 1562, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1571, i16 1578, i16 1584, i16 1585, i16 1587, i16 1593, i16 1596, i16 1598, i16 1601, i16 1602, i16 1605, i16 1607, i16 1608, i16 1609, i16 1610, i16 1613, i16 1616, i16 1617, i16 1619, i16 1620, i16 1623, i16 1624, i16 1625, i16 1627, i16 1629, i16 1630, i16 2, i16 25, i16 26, i16 27, i16 28, i16 29, i16 41, i16 48, i16 49, i16 132, i16 141, i16 151, i16 153, i16 155, i16 169, i16 185, i16 199, i16 200, i16 235, i16 299, i16 300, i16 301, i16 302, i16 304, i16 305, i16 307, i16 308, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 317, i16 318, i16 319, i16 320, i16 321, i16 323, i16 324, i16 325, i16 326, i16 328, i16 329, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 339, i16 341, i16 342, i16 344, i16 345, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 641, i16 642, i16 643, i16 644, i16 648, i16 649, i16 650, i16 653, i16 662, i16 663, i16 664, i16 665, i16 666, i16 682, i16 684, i16 705, i16 706, i16 707, i16 714, i16 715, i16 716, i16 721, i16 723, i16 730, i16 755, i16 760, i16 771, i16 772, i16 773, i16 794, i16 795, i16 796, i16 797, i16 807, i16 814, i16 815, i16 817, i16 823, i16 841, i16 842, i16 849, i16 850, i16 851, i16 852, i16 856, i16 857, i16 858, i16 861, i16 870, i16 871, i16 872, i16 873, i16 874, i16 890, i16 892, i16 913, i16 914, i16 915, i16 922, i16 923, i16 924, i16 929, i16 931, i16 938, i16 962, i16 966, i16 976, i16 977, i16 978, i16 999, i16 1000, i16 1001, i16 1011, i16 1018, i16 1019, i16 1021, i16 1027, i16 1045, i16 1046, i16 1048, i16 1084, i16 1085, i16 1086, i16 1087, i16 1088, i16 1089, i16 1090, i16 1091, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1099, i16 1100, i16 1101, i16 1102, i16 1103, i16 1104, i16 1105, i16 1106, i16 1107, i16 1110, i16 1137, i16 1138, i16 1144, i16 1145, i16 1146, i16 1154, i16 1155, i16 1156, i16 1159, i16 1175, i16 1176, i16 1177, i16 1178, i16 1179, i16 1180, i16 1181, i16 1182, i16 1191, i16 1192, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1310, i16 1311, i16 1312, i16 1313, i16 1314, i16 1315, i16 1316, i16 1317, i16 1346, i16 1347, i16 1352, i16 1353, i16 1354, i16 1355, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 1367, i16 1511, i16 1517, i16 1518, i16 1519, i16 1522, i16 1527, i16 1528, i16 1535, i16 1539, i16 1546, i16 1547, i16 1550, i16 1557, i16 1561, i16 1563, i16 1575, i16 1577, i16 1582, i16 1583, i16 1586, i16 1591, i16 1592, i16 1595, i16 1600, i16 1604, i16 1611, i16 1612, i16 1615, i16 1622, i16 1626, i16 1628, i16 4, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 322, i16 323, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 446, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 460, i16 464, i16 468, i16 472, i16 474, i16 475, i16 477, i16 478, i16 480, i16 482, i16 483, i16 485, i16 486, i16 488, i16 489, i16 490, i16 493, i16 494, i16 496, i16 497, i16 498, i16 501, i16 502, i16 504, i16 505, i16 506, i16 508, i16 509, i16 511, i16 512, i16 513, i16 514, i16 515, i16 516, i16 517, i16 518, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 714, i16 715, i16 716, i16 717, i16 718, i16 719, i16 720, i16 721, i16 722, i16 723, i16 724, i16 725, i16 726, i16 727, i16 728, i16 729, i16 730, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 737, i16 738, i16 739, i16 740, i16 741, i16 742, i16 743, i16 744, i16 745, i16 746, i16 747, i16 748, i16 749, i16 750, i16 751, i16 752, i16 755, i16 783, i16 784, i16 785, i16 788, i16 789, i16 790, i16 791, i16 792, i16 793, i16 794, i16 795, i16 796, i16 797, i16 798, i16 799, i16 800, i16 801, i16 802, i16 803, i16 804, i16 805, i16 806, i16 807, i16 808, i16 809, i16 810, i16 811, i16 812, i16 813, i16 814, i16 815, i16 816, i16 817, i16 818, i16 819, i16 824, i16 825, i16 828, i16 829, i16 830, i16 831, i16 832, i16 833, i16 834, i16 835, i16 840, i16 841, i16 842, i16 851, i16 852, i16 853, i16 854, i16 855, i16 856, i16 857, i16 858, i16 859, i16 860, i16 861, i16 864, i16 865, i16 868, i16 869, i16 870, i16 871, i16 874, i16 875, i16 876, i16 881, i16 882, i16 883, i16 884, i16 885, i16 886, i16 887, i16 888, i16 891, i16 892, i16 893, i16 894, i16 895, i16 896, i16 897, i16 904, i16 905, i16 908, i16 909, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 918, i16 919, i16 920, i16 921, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 929, i16 930, i16 931, i16 932, i16 933, i16 934, i16 935, i16 936, i16 937, i16 938, i16 939, i16 940, i16 941, i16 942, i16 943, i16 948, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 964, i16 965, i16 966, i16 967, i16 968, i16 969, i16 970, i16 971, i16 972, i16 977, i16 978, i16 979, i16 980, i16 981, i16 982, i16 983, i16 984, i16 987, i16 988, i16 989, i16 992, i16 993, i16 994, i16 995, i16 996, i16 997, i16 998, i16 999, i16 1000, i16 1001, i16 1002, i16 1003, i16 1004, i16 1005, i16 1006, i16 1007, i16 1008, i16 1012, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1023, i16 1024, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 1039, i16 1040, i16 1041, i16 1042, i16 1045, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 1058, i16 1059, i16 1060, i16 1061, i16 1062, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1072, i16 1073, i16 1074, i16 1078, i16 1079, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1103, i16 1104, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1112, i16 1113, i16 1116, i16 1117, i16 1120, i16 1121, i16 1122, i16 1123, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1138, i16 1139, i16 1140, i16 1143, i16 1144, i16 1145, i16 1146, i16 1147, i16 1148, i16 1149, i16 1150, i16 1151, i16 1152, i16 1153, i16 1154, i16 1155, i16 1156, i16 1157, i16 1158, i16 1159, i16 1160, i16 1161, i16 1162, i16 1163, i16 1164, i16 1169, i16 1170, i16 1173, i16 1174, i16 1175, i16 1176, i16 1177, i16 1178, i16 1183, i16 1184, i16 1185, i16 1186, i16 1189, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1244, i16 1245, i16 1246, i16 1249, i16 1250, i16 1251, i16 1252, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1265, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1281, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1298, i16 1299, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1314, i16 1315, i16 1318, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1328, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 1336, i16 1337, i16 1338, i16 1339, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 1360, i16 1369, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1404, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1427, i16 1428, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1481, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 1528, i16 1529, i16 1530, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 1539, i16 1540, i16 1541, i16 1542, i16 1543, i16 1544, i16 1545, i16 1546, i16 1547, i16 1548, i16 1549, i16 1550, i16 1551, i16 1552, i16 1553, i16 1554, i16 1555, i16 1556, i16 1557, i16 1558, i16 1559, i16 1560, i16 1561, i16 1562, i16 1563, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 1595, i16 1596, i16 1597, i16 1598, i16 1599, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1611, i16 1612, i16 1613, i16 1614, i16 1615, i16 1616, i16 1617, i16 1618, i16 1619, i16 1620, i16 1621, i16 1622, i16 1623, i16 1624, i16 1625, i16 1626, i16 1627, i16 1628, i16 1629, i16 1630, i16 1631, i16 1632, i16 1633, i16 1634, i16 1635, i16 1636, i16 1637, i16 1638, i16 1639, i16 1640, i16 1641, i16 1642, i16 1643, i16 1644, i16 1645, i16 1646, i16 1647, i16 1648, i16 1649, i16 1650, i16 1651, i16 1652, i16 1653, i16 1654, i16 1655, i16 1656, i16 1657, i16 1658, i16 1659, i16 1660, i16 1661, i16 1662, i16 1663, i16 1664, i16 1665, i16 1666, i16 1667, i16 1668, i16 1669, i16 1670, i16 1671, i16 1672, i16 1673, i16 1674, i16 1675, i16 1676, i16 1677, i16 1678, i16 1679, i16 1680, i16 1681, i16 1682, i16 1683, i16 1684, i16 1685, i16 1686, i16 1687, i16 1688, i16 1689, i16 1690, i16 1691, i16 1692, i16 1693, i16 1694, i16 1695, i16 1696, i16 1697, i16 1698, i16 1699, i16 1700, i16 1701, i16 1702, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 1717, i16 1718, i16 1719, i16 1720, i16 1721, i16 1722, i16 1723, i16 1724, i16 1725, i16 1726, i16 1727, i16 1728, i16 1729, i16 1730, i16 1731, i16 1732, i16 1733, i16 1734, i16 1735, i16 1736, i16 1737, i16 1738, i16 1739, i16 1740, i16 1741, i16 1742, i16 1743, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 1749, i16 1750, i16 1751, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 1758, i16 1759, i16 1760, i16 1761, i16 1762, i16 1763, i16 1764, i16 1765, i16 1766, i16 1767, i16 1768, i16 1769, i16 1770, i16 1771, i16 1772, i16 1773, i16 1774, i16 1775, i16 1776, i16 1777, i16 1778, i16 1779, i16 1780, i16 1781, i16 1782, i16 1783, i16 1784, i16 1785, i16 1786, i16 1787, i16 1788, i16 1789, i16 1790, i16 1791, i16 1792, i16 1793, i16 1794, i16 1795, i16 1796, i16 1797, i16 1798, i16 1799, i16 1800, i16 1801, i16 1802, i16 1803, i16 1804, i16 1805, i16 1806, i16 1807, i16 1808, i16 1809, i16 1810, i16 1811, i16 1812, i16 1813, i16 1814, i16 1815, i16 1816, i16 1817, i16 1818, i16 1819, i16 1820, i16 1821, i16 1822, i16 1823, i16 1824, i16 1825, i16 1826, i16 1827, i16 1828, i16 1829, i16 1830, i16 1831, i16 1832, i16 1833, i16 1834, i16 1835, i16 1836, i16 1837, i16 1838, i16 1839, i16 1840, i16 1841, i16 1842, i16 1843, i16 1844, i16 1845, i16 1846, i16 1847, i16 1848, i16 1849, i16 1850, i16 1851, i16 1852, i16 1853, i16 1854, i16 1855, i16 1856, i16 1857, i16 1858, i16 1859, i16 1860, i16 1861, i16 1862, i16 1863, i16 1864, i16 1865, i16 1866, i16 1867, i16 1868, i16 1869, i16 1870, i16 1871, i16 1872, i16 1873, i16 1874, i16 1875, i16 1876, i16 1877, i16 1878, i16 1879, i16 1880, i16 1881, i16 1882, i16 1883, i16 1884, i16 1885, i16 1886, i16 1887, i16 1888, i16 1889, i16 1890, i16 1891, i16 1892, i16 1893, i16 1894, i16 1895, i16 1896, i16 1897, i16 1898, i16 1899, i16 1900, i16 1901, i16 1902, i16 1903, i16 1904, i16 1905, i16 1906, i16 1907, i16 1908, i16 1909, i16 1910, i16 1911, i16 1912, i16 1913, i16 1914, i16 1915, i16 1916, i16 1917, i16 1918, i16 1919, i16 1920, i16 1921, i16 1922, i16 1923, i16 1924, i16 1925, i16 1926, i16 1927, i16 1928, i16 1929, i16 1930, i16 1931, i16 1932, i16 1933, i16 1934, i16 1935, i16 1936, i16 1937, i16 1938, i16 1939, i16 1940, i16 1941, i16 1942, i16 1943, i16 1944, i16 1945, i16 1946, i16 1947, i16 1948, i16 1949, i16 1950, i16 1951, i16 1952, i16 1953, i16 1954, i16 1955, i16 1956, i16 1957, i16 1958, i16 1959, i16 1960, i16 1961, i16 1962, i16 1963, i16 1964, i16 1965, i16 1966, i16 1967, i16 1968, i16 1969, i16 1970, i16 1971, i16 1972, i16 1973, i16 1974, i16 1975, i16 1976, i16 1977, i16 1978, i16 1979, i16 1980, i16 1981, i16 1982, i16 1983, i16 1984, i16 1985, i16 1986, i16 1987, i16 1988, i16 1989, i16 1990, i16 1991, i16 1992, i16 1993, i16 1994, i16 1995, i16 1996, i16 1997, i16 1998, i16 1999, i16 2000, i16 2001, i16 2002, i16 2003, i16 2004, i16 2005, i16 2006, i16 2007, i16 2008, i16 2009, i16 2010, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 458, i16 459, i16 460, i16 461, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 482, i16 483, i16 484, i16 485, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 494, i16 495, i16 496, i16 497, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 520, i16 521, i16 522, i16 523, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 714, i16 715, i16 716, i16 717, i16 718, i16 719, i16 720, i16 721, i16 722, i16 723, i16 724, i16 725, i16 726, i16 727, i16 728, i16 729, i16 730, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 737, i16 738, i16 739, i16 740, i16 741, i16 742, i16 743, i16 744, i16 745, i16 746, i16 747, i16 748, i16 749, i16 750, i16 751, i16 752, i16 753, i16 754, i16 755, i16 756, i16 757, i16 758, i16 759, i16 760, i16 761, i16 762, i16 763, i16 764, i16 765, i16 766, i16 767, i16 768, i16 769, i16 770, i16 771, i16 772, i16 773, i16 774, i16 775, i16 776, i16 777, i16 778, i16 779, i16 780, i16 781, i16 782, i16 783, i16 784, i16 785, i16 786, i16 787, i16 788, i16 789, i16 790, i16 791, i16 792, i16 793, i16 794, i16 795, i16 796, i16 797, i16 798, i16 799, i16 800, i16 801, i16 802, i16 803, i16 804, i16 805, i16 806, i16 807, i16 808, i16 809, i16 810, i16 811, i16 812, i16 813, i16 814, i16 815, i16 816, i16 817, i16 818, i16 819, i16 820, i16 821, i16 822, i16 823, i16 824, i16 825, i16 826, i16 827, i16 828, i16 829, i16 830, i16 831, i16 832, i16 833, i16 834, i16 835, i16 836, i16 837, i16 838, i16 839, i16 840, i16 841, i16 842, i16 843, i16 844, i16 845, i16 846, i16 847, i16 848, i16 849, i16 850, i16 851, i16 852, i16 853, i16 854, i16 855, i16 856, i16 857, i16 858, i16 859, i16 860, i16 861, i16 862, i16 863, i16 864, i16 865, i16 866, i16 867, i16 868, i16 869, i16 870, i16 871, i16 872, i16 873, i16 874, i16 875, i16 876, i16 877, i16 878, i16 879, i16 880, i16 881, i16 882, i16 883, i16 884, i16 885, i16 886, i16 887, i16 888, i16 889, i16 890, i16 891, i16 892, i16 893, i16 894, i16 895, i16 896, i16 897, i16 898, i16 899, i16 900, i16 901, i16 902, i16 903, i16 904, i16 905, i16 906, i16 907, i16 908, i16 909, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 918, i16 919, i16 920, i16 921, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 929, i16 930, i16 931, i16 932, i16 933, i16 934, i16 935, i16 936, i16 937, i16 938, i16 939, i16 940, i16 941, i16 942, i16 943, i16 944, i16 945, i16 946, i16 947, i16 948, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 964, i16 965, i16 966, i16 967, i16 968, i16 969, i16 970, i16 971, i16 972, i16 973, i16 974, i16 975, i16 976, i16 977, i16 978, i16 979, i16 980, i16 981, i16 982, i16 983, i16 984, i16 985, i16 986, i16 987, i16 988, i16 989, i16 990, i16 991, i16 992, i16 993, i16 994, i16 995, i16 996, i16 997, i16 998, i16 999, i16 1000, i16 1001, i16 1002, i16 1003, i16 1004, i16 1005, i16 1006, i16 1007, i16 1008, i16 1009, i16 1010, i16 1011, i16 1012, i16 1013, i16 1014, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1023, i16 1024, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 1037, i16 1038, i16 1039, i16 1040, i16 1041, i16 1042, i16 1043, i16 1044, i16 1045, i16 1046, i16 1047, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 1058, i16 1059, i16 1060, i16 1061, i16 1062, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1070, i16 1071, i16 1072, i16 1073, i16 1074, i16 1075, i16 1076, i16 1077, i16 1078, i16 1079, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1088, i16 1089, i16 1090, i16 1091, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1099, i16 1100, i16 1101, i16 1102, i16 1103, i16 1104, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 1117, i16 1118, i16 1119, i16 1120, i16 1121, i16 1122, i16 1123, i16 1124, i16 1125, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1132, i16 1133, i16 1134, i16 1135, i16 1136, i16 1137, i16 1138, i16 1139, i16 1140, i16 1141, i16 1142, i16 1143, i16 1144, i16 1145, i16 1146, i16 1147, i16 1148, i16 1149, i16 1150, i16 1151, i16 1152, i16 1153, i16 1154, i16 1155, i16 1156, i16 1157, i16 1158, i16 1159, i16 1160, i16 1161, i16 1162, i16 1163, i16 1164, i16 1165, i16 1166, i16 1167, i16 1168, i16 1169, i16 1170, i16 1171, i16 1172, i16 1173, i16 1174, i16 1175, i16 1176, i16 1177, i16 1178, i16 1179, i16 1180, i16 1181, i16 1182, i16 1183, i16 1184, i16 1185, i16 1186, i16 1187, i16 1188, i16 1189, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1206, i16 1207, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1235, i16 1236, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1242, i16 1243, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 1251, i16 1252, i16 1253, i16 1254, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1263, i16 1264, i16 1265, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1281, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1314, i16 1315, i16 1316, i16 1317, i16 1318, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 1367, i16 1368, i16 1369, i16 1370, i16 1371, i16 1372, i16 1373, i16 1374, i16 1375, i16 1376, i16 1377, i16 1378, i16 1379, i16 1380, i16 1381, i16 1382, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 1390, i16 1391, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1400, i16 1401, i16 1402, i16 1403, i16 1404, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1418, i16 1419, i16 1420, i16 1421, i16 1422, i16 1423, i16 1424, i16 1425, i16 1426, i16 1427, i16 1428, i16 1429, i16 1430, i16 1431, i16 1432, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1440, i16 1441, i16 1442, i16 1443, i16 1444, i16 1445, i16 1446, i16 1447, i16 1448, i16 1449, i16 1450, i16 1451, i16 1452, i16 1453, i16 1454, i16 1455, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1481, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 1528, i16 1529, i16 1530, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 1539, i16 1540, i16 1541, i16 1542, i16 1543, i16 1544, i16 1545, i16 1546, i16 1547, i16 1548, i16 1549, i16 1550, i16 1551, i16 1552, i16 1553, i16 1554, i16 1555, i16 1556, i16 1557, i16 1558, i16 1559, i16 1560, i16 1561, i16 1562, i16 1563, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 1595, i16 1596, i16 1597, i16 1598, i16 1599, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1611, i16 1612, i16 1613, i16 1614, i16 1615, i16 1616, i16 1617, i16 1618, i16 1619, i16 1620, i16 1621, i16 1622, i16 1623, i16 1624, i16 1625, i16 1626, i16 1627, i16 1628, i16 1629, i16 1630, i16 1631, i16 1632, i16 1633, i16 1634, i16 1635, i16 1636, i16 1637, i16 1638, i16 1639, i16 1640, i16 1641, i16 1642, i16 1643, i16 1644, i16 1645, i16 1646, i16 1647, i16 1648, i16 1649, i16 1650, i16 1651, i16 1652, i16 1653, i16 1654, i16 1655, i16 1656, i16 1657, i16 1658, i16 1659, i16 1660, i16 1661, i16 1662, i16 1663, i16 1664, i16 1665, i16 1666, i16 1667, i16 1668, i16 1669, i16 1670, i16 1671, i16 1672, i16 1673, i16 1674, i16 1675, i16 1676, i16 1677, i16 1678, i16 1679, i16 1680, i16 1681, i16 1682, i16 1683, i16 1684, i16 1685, i16 1686, i16 1687, i16 1688, i16 1689, i16 1690, i16 1691, i16 1692, i16 1693, i16 1694, i16 1695, i16 1696, i16 1697, i16 1698, i16 1699, i16 1700, i16 1701, i16 1702, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 1717, i16 1718, i16 1719, i16 1720, i16 1721, i16 1722, i16 1723, i16 1724, i16 1725, i16 1726, i16 1727, i16 1728, i16 1729, i16 1730, i16 1731, i16 1732, i16 1733, i16 1734, i16 1735, i16 1736, i16 1737, i16 1738, i16 1739, i16 1740, i16 1741, i16 1742, i16 1743, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 1749, i16 1750, i16 1751, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 1758, i16 1759, i16 1760, i16 1761, i16 1762, i16 1763, i16 1764, i16 1765, i16 1766, i16 1767, i16 1768, i16 1769, i16 1770, i16 1771, i16 1772, i16 1773, i16 1774, i16 1775, i16 1776, i16 1777, i16 1778, i16 1779, i16 1780, i16 1781, i16 1782, i16 1783, i16 1784, i16 1785, i16 1786, i16 1787, i16 1788, i16 1789, i16 1790, i16 1791, i16 1792, i16 1793, i16 1794, i16 1795, i16 1796, i16 1797, i16 1798, i16 1799, i16 1800, i16 1801, i16 1802, i16 1803, i16 1804, i16 1805, i16 1806, i16 1807, i16 1808, i16 1809, i16 1810, i16 1811, i16 1812, i16 1813, i16 1814, i16 1815, i16 1816, i16 1817, i16 1818, i16 1819, i16 1820, i16 1821, i16 1822, i16 1823, i16 1824, i16 1825, i16 1826, i16 1827, i16 1828, i16 1829, i16 1830, i16 1831, i16 1832, i16 1833, i16 1834, i16 1835, i16 1836, i16 1837, i16 1838, i16 1839, i16 1840, i16 1841, i16 1842, i16 1843, i16 1844, i16 1845, i16 1846, i16 1847, i16 1848, i16 1849, i16 1850, i16 1851, i16 1852, i16 1853, i16 1854, i16 1855, i16 1856, i16 1857, i16 1858, i16 1859, i16 1860, i16 1861, i16 1862, i16 1863, i16 1864, i16 1865, i16 1866, i16 1867, i16 1868, i16 1869, i16 1870, i16 1871, i16 1872, i16 1873, i16 1874, i16 1875, i16 1876, i16 1877, i16 1878, i16 1879, i16 1880, i16 1881, i16 1882, i16 1883, i16 1884, i16 1885, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 2, i16 1, i16 3, i16 1, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 457, i16 458, i16 459, i16 460, i16 461, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 482, i16 483, i16 484, i16 485, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 494, i16 495, i16 496, i16 497, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 520, i16 521, i16 522, i16 523, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 714, i16 715, i16 716, i16 717, i16 718, i16 719, i16 720, i16 721, i16 722, i16 723, i16 724, i16 725, i16 726, i16 727, i16 728, i16 729, i16 730, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 737, i16 738, i16 739, i16 740, i16 741, i16 742, i16 743, i16 744, i16 745, i16 746, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1188, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1206, i16 1207, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1235, i16 1236, i16 1187, i16 1190, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1242, i16 1243, i16 1187, i16 1190, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 1251, i16 1252, i16 1187, i16 1190, i16 1253, i16 1254, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1263, i16 1264, i16 1265, i16 1187, i16 1190, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1281, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1187, i16 1190, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1187, i16 1314, i16 1315, i16 1316, i16 1317, i16 1318, i16 1190, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1329, i16 1330, i16 1331, i16 1187, i16 1190, i16 1332, i16 1333, i16 1334, i16 1335, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 1187, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 1367, i16 1368, i16 1369, i16 1370, i16 1371, i16 1372, i16 1373, i16 1187, i16 1374, i16 1375, i16 1190, i16 1376, i16 1377, i16 1378, i16 1187, i16 1190, i16 1379, i16 1380, i16 1381, i16 1382, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 1187, i16 1190, i16 1390, i16 1391, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1400, i16 1401, i16 1402, i16 1403, i16 1404, i16 1187, i16 1190, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1187, i16 1190, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1418, i16 1419, i16 1420, i16 1421, i16 1422, i16 1423, i16 1187, i16 1190, i16 1424, i16 1425, i16 1426, i16 1427, i16 1428, i16 1429, i16 1430, i16 1431, i16 1432, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1440, i16 1441, i16 1442, i16 1443, i16 1444, i16 1445, i16 1446, i16 1447, i16 1448, i16 1449, i16 1450, i16 1451, i16 1452, i16 1453, i16 1454, i16 1455, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1187, i16 1190, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1187, i16 1190, i16 1481, i16 1187, i16 1190, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1187, i16 1190, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1187, i16 1513, i16 1514, i16 1515, i16 1190, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 1528, i16 1529, i16 1530, i16 1187, i16 1190, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 1539, i16 1540, i16 1541, i16 1542, i16 1543, i16 1544, i16 1545, i16 1546, i16 1547, i16 1548, i16 1549, i16 1550, i16 1551, i16 1552, i16 1553, i16 1554, i16 1555, i16 1556, i16 1557, i16 1558, i16 1559, i16 1560, i16 1561, i16 1562, i16 1563, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1187, i16 1187, i16 1187, i16 1190, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1187, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 1595, i16 1596, i16 1597, i16 1598, i16 1599, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1187, i16 1611, i16 1612, i16 1613, i16 1614, i16 1611, i16 1615, i16 1611, i16 1616, i16 1611, i16 1617, i16 1611, i16 1618, i16 1619, i16 1620, i16 1611, i16 1621, i16 1611, i16 1622, i16 1623, i16 1624, i16 1611, i16 1625, i16 1611, i16 1626, i16 1627, i16 1628, i16 1629, i16 1630, i16 1631, i16 1611, i16 1632, i16 1611, i16 1633, i16 1611, i16 1634, i16 1611, i16 1635, i16 1611, i16 1636, i16 1611, i16 1637, i16 1638, i16 1639, i16 1611, i16 1640, i16 1611, i16 1641, i16 1611, i16 1642, i16 1643, i16 1611, i16 1644, i16 1611, i16 1645, i16 1646, i16 1647, i16 1648, i16 1649, i16 1650, i16 1611, i16 1651, i16 1611, i16 1652, i16 1611, i16 1653, i16 1611, i16 1654, i16 1655, i16 1656, i16 1657, i16 1658, i16 1657, i16 1659, i16 1657, i16 1660, i16 1657, i16 1661, i16 1657, i16 1662, i16 1657, i16 1663, i16 1657, i16 1664, i16 1657, i16 1665, i16 1657, i16 1666, i16 1657, i16 1667, i16 1657, i16 1668, i16 1657, i16 1669, i16 1657, i16 1670, i16 1657, i16 1671, i16 1657, i16 1672, i16 1657, i16 1673, i16 1657, i16 1674, i16 1657, i16 1675, i16 1657, i16 1676, i16 1657, i16 1677, i16 1657, i16 1678, i16 1657, i16 1679, i16 1657, i16 1680, i16 1657, i16 1681, i16 1657, i16 1682, i16 1657, i16 1683, i16 1657, i16 1684, i16 1657, i16 1685, i16 1657, i16 1686, i16 1657, i16 1687, i16 1657, i16 1688, i16 1657, i16 1689, i16 1657, i16 1690, i16 1657, i16 1691, i16 1657, i16 1692, i16 1657, i16 1693, i16 1657, i16 1694, i16 1657, i16 1695, i16 1657, i16 1696, i16 1657, i16 1697, i16 1657, i16 1698, i16 1699, i16 1700, i16 1657, i16 1701, i16 1699, i16 1702, i16 1657, i16 1703, i16 1657, i16 1704, i16 1657, i16 1705, i16 1657, i16 1706, i16 1657, i16 1707, i16 1657, i16 1708, i16 1657, i16 1709, i16 1657, i16 1710, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1189, i16 1189, i16 1189, i16 1189, i16 1712, i16 1712, i16 1713, i16 1714, i16 1714, i16 1714, i16 1714, i16 1714, i16 1714, i16 1712, i16 1712, i16 1715, i16 1715, i16 1715, i16 1712, i16 1716, i16 1716, i16 1716, i16 1716, i16 1712, i16 1712, i16 1712, i16 1717, i16 1717, i16 1717, i16 1717, i16 1717, i16 1717, i16 1717, i16 1712, i16 1718, i16 1718, i16 1718, i16 1718, i16 1712, i16 1719, i16 1719, i16 1719, i16 1719, i16 1712, i16 1720, i16 1720, i16 1720, i16 1720, i16 1712, i16 1721, i16 1721, i16 1721, i16 1721, i16 1712, i16 1722, i16 1722, i16 1712, i16 1723, i16 1723, i16 1712, i16 1724, i16 1724, i16 1712, i16 1725, i16 1725, i16 1712, i16 1726, i16 1726, i16 1726, i16 1726, i16 1712, i16 1727, i16 1727, i16 1727, i16 1727, i16 1712, i16 1728, i16 1728, i16 1728, i16 1728, i16 1712, i16 1729, i16 1729, i16 1729, i16 1729, i16 1712, i16 1730, i16 1730, i16 1730, i16 1730, i16 1712, i16 1731, i16 1731, i16 1731, i16 1731, i16 1712, i16 1732, i16 1732, i16 1732, i16 1732, i16 1712, i16 1733, i16 1733, i16 1733, i16 1733, i16 1712, i16 1734, i16 1734, i16 1734, i16 1734, i16 1712, i16 1735, i16 1735, i16 1735, i16 1735, i16 1712, i16 1736, i16 1736, i16 1736, i16 1736, i16 1712, i16 1737, i16 1737, i16 1737, i16 1737, i16 1712, i16 1738, i16 1738, i16 1738, i16 1738, i16 1712, i16 1739, i16 1739, i16 1739, i16 1739, i16 1712, i16 1740, i16 1740, i16 1740, i16 1740, i16 1712, i16 1741, i16 1741, i16 1712, i16 1742, i16 1742, i16 1712, i16 1743, i16 1743, i16 1743, i16 1743, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 1749, i16 1750, i16 1751, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 1758, i16 1759, i16 1760, i16 1761, i16 1762, i16 1712, i16 1763, i16 1763, i16 1763, i16 1712, i16 1764, i16 1764, i16 1764, i16 1712, i16 1765, i16 1765, i16 1765, i16 1765, i16 1712, i16 1766, i16 1766, i16 1766, i16 1712, i16 1767, i16 1767, i16 1767, i16 1712, i16 1768, i16 1768, i16 1768, i16 1768, i16 1712, i16 1769, i16 1769, i16 1769, i16 1712, i16 1770, i16 1770, i16 1770, i16 1712, i16 1771, i16 1771, i16 1771, i16 1771, i16 1712, i16 1772, i16 1772, i16 1772, i16 1712, i16 1773, i16 1773, i16 1773, i16 1712, i16 1774, i16 1774, i16 1774, i16 1712, i16 1775, i16 1775, i16 1775, i16 1712, i16 1776, i16 1776, i16 1776, i16 1712, i16 1777, i16 1777, i16 1777, i16 1712, i16 1778, i16 1778, i16 1778, i16 1712, i16 1779, i16 1779, i16 1779, i16 1712, i16 1780, i16 1780, i16 1780, i16 1780, i16 1780, i16 1712, i16 1781, i16 1781, i16 1781, i16 1712, i16 1782, i16 1782, i16 1782, i16 1712, i16 1783, i16 1712, i16 1784, i16 1712, i16 1785, i16 1712, i16 1786, i16 1712, i16 1787, i16 1712, i16 1788, i16 1788, i16 1788, i16 1788, i16 1788, i16 1712, i16 1789, i16 1789, i16 1789, i16 1789, i16 1789, i16 1712, i16 1790, i16 1790, i16 1790, i16 1790, i16 1790, i16 1712, i16 1791, i16 1791, i16 1791, i16 1791, i16 1791, i16 1712, i16 1792, i16 1792, i16 1792, i16 1792, i16 1792, i16 1712, i16 1793, i16 1712, i16 1794, i16 1712, i16 1795, i16 1712, i16 1796, i16 1712, i16 1797, i16 1712, i16 1798, i16 1798, i16 1798, i16 1712, i16 1799, i16 1799, i16 1799, i16 1712, i16 1800, i16 1800, i16 1800, i16 1712, i16 1801, i16 1712, i16 1802, i16 1712, i16 1803, i16 1712, i16 1804, i16 1712, i16 1805, i16 1712, i16 1806, i16 1806, i16 1806, i16 1712, i16 1807, i16 1712, i16 1808, i16 1712, i16 1809, i16 1712, i16 1810, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2093, i16 2094, i16 2095, i16 2096, i16 2097, i16 2098, i16 2099, i16 2100, i16 2101, i16 2102, i16 2103, i16 2104, i16 2105, i16 2106, i16 2107, i16 2108, i16 2109, i16 2110, i16 2111, i16 2112, i16 2113, i16 2114, i16 2115, i16 2116, i16 2117, i16 2118, i16 2119, i16 2120, i16 2121, i16 2122, i16 2123, i16 2124, i16 2125, i16 2126, i16 2127, i16 2128, i16 2129, i16 2130, i16 2131, i16 2132, i16 2133, i16 2134, i16 2135, i16 2136, i16 2137, i16 2138, i16 2139, i16 2140, i16 2141, i16 2142, i16 2143, i16 2144, i16 2145, i16 2146, i16 2147, i16 2148, i16 2149, i16 2150, i16 2151, i16 2091, i16 2152, i16 2153, i16 2154, i16 2155, i16 2156, i16 2157, i16 2093, i16 2158, i16 2159, i16 2160, i16 2161, i16 2162, i16 2163, i16 2164, i16 2091, i16 2093, i16 2165, i16 2166, i16 2167, i16 2168, i16 2169, i16 2170, i16 2171, i16 2172, i16 2173, i16 2174, i16 2175, i16 2176, i16 2177, i16 2178, i16 2179, i16 2091, i16 2093, i16 2180, i16 2181, i16 2182, i16 2183, i16 2184, i16 2185, i16 2186, i16 2187, i16 2188, i16 2189, i16 2190, i16 2191, i16 2192, i16 2193, i16 2194, i16 2091, i16 2093, i16 2195, i16 2196, i16 2197, i16 2198, i16 2199, i16 2200, i16 2201, i16 2202, i16 2203, i16 2204, i16 2205, i16 2206, i16 2207, i16 2208, i16 2209, i16 2210, i16 2211, i16 2212, i16 2213, i16 2214, i16 2215, i16 2216, i16 2217, i16 2218, i16 2219, i16 2220, i16 2221, i16 2222, i16 2223, i16 2224, i16 2225, i16 2226, i16 2227, i16 2228, i16 2229, i16 2230, i16 2231, i16 2232, i16 2233, i16 2234, i16 2235, i16 2236, i16 2237, i16 2238, i16 2239, i16 2240, i16 2241, i16 2242, i16 2243, i16 2091, i16 2093, i16 2244, i16 2245, i16 2246, i16 2247, i16 2248, i16 2091, i16 2249, i16 2250, i16 2251, i16 2252, i16 2253, i16 2093, i16 2254, i16 2255, i16 2256, i16 2257, i16 2258, i16 2259, i16 2260, i16 2261, i16 2262, i16 2263, i16 2264, i16 2265, i16 2266, i16 2267, i16 2268, i16 2269, i16 2270, i16 2091, i16 2093, i16 2271, i16 2272, i16 2273, i16 2274, i16 2275, i16 2276, i16 2277, i16 2278, i16 2279, i16 2280, i16 2281, i16 2282, i16 2283, i16 2284, i16 2285, i16 2091, i16 2093, i16 2286, i16 2287, i16 2093, i16 2288, i16 2289, i16 2290, i16 2291, i16 2292, i16 2293, i16 2294, i16 2295, i16 2296, i16 2297, i16 2298, i16 2299, i16 2300, i16 2301, i16 2302, i16 2303, i16 2304, i16 2305, i16 2306, i16 2307, i16 2308, i16 2309, i16 2310, i16 2311, i16 2312, i16 2313, i16 2314, i16 2315, i16 2316, i16 2317, i16 2318, i16 2319, i16 2320, i16 2091, i16 2321, i16 2322, i16 2093, i16 2323, i16 2324, i16 2325, i16 2091, i16 2093, i16 2326, i16 2327, i16 2328, i16 2329, i16 2330, i16 2331, i16 2332, i16 2333, i16 2334, i16 2335, i16 2336, i16 2337, i16 2338, i16 2091, i16 2339, i16 2093, i16 2340, i16 2341, i16 2342, i16 2343, i16 2344, i16 2345, i16 2346, i16 2347, i16 2348, i16 2349, i16 2350, i16 2351, i16 2352, i16 2353, i16 2354, i16 2355, i16 2356, i16 2357, i16 2358, i16 2091, i16 2093, i16 2359, i16 2360, i16 2361, i16 2362, i16 2363, i16 2364, i16 2365, i16 2091, i16 2093, i16 2366, i16 2367, i16 2368, i16 2369, i16 2370, i16 2371, i16 2372, i16 2373, i16 2374, i16 2375, i16 2376, i16 2377, i16 2378, i16 2379, i16 2380, i16 2381, i16 2382, i16 2383, i16 2091, i16 2384, i16 2385, i16 2093, i16 2386, i16 2387, i16 2388, i16 2389, i16 2390, i16 2391, i16 2392, i16 2393, i16 2394, i16 2395, i16 2396, i16 2397, i16 2398, i16 2399, i16 2400, i16 2401, i16 2402, i16 2403, i16 2404, i16 2405, i16 2406, i16 2407, i16 2408, i16 2409, i16 2410, i16 2411, i16 2412, i16 2413, i16 2414, i16 2415, i16 2416, i16 2417, i16 2418, i16 2419, i16 2420, i16 2421, i16 2422, i16 2423, i16 2424, i16 2425, i16 2426, i16 2427, i16 2428, i16 2429, i16 2430, i16 2431, i16 2432, i16 2433, i16 2434, i16 2435, i16 2436, i16 2437, i16 2438, i16 2439, i16 2440, i16 2441, i16 2442, i16 2443, i16 2444, i16 2445, i16 2446, i16 2447, i16 2448, i16 2449, i16 2450, i16 2451, i16 2091, i16 2452, i16 2453, i16 2093, i16 2454, i16 2455, i16 2456, i16 2457, i16 2458, i16 2091, i16 2093, i16 2459, i16 2091, i16 2093, i16 2460, i16 2461, i16 2462, i16 2463, i16 2464, i16 2465, i16 2466, i16 2467, i16 2468, i16 2469, i16 2470, i16 2471, i16 2472, i16 2473, i16 2474, i16 2475, i16 2476, i16 2178, i16 2477, i16 2091, i16 2093, i16 2478, i16 2479, i16 2480, i16 2481, i16 2482, i16 2483, i16 2484, i16 2485, i16 2486, i16 2487, i16 2488, i16 2489, i16 2490, i16 2491, i16 2492, i16 2493, i16 2178, i16 2494, i16 2495, i16 2496, i16 2091, i16 2497, i16 2498, i16 2499, i16 2093, i16 2500, i16 2501, i16 2502, i16 2503, i16 2504, i16 2505, i16 2506, i16 2507, i16 2508, i16 2509, i16 2510, i16 2511, i16 2512, i16 2513, i16 2514, i16 2091, i16 2515, i16 2516, i16 2093, i16 2517, i16 2518, i16 2519, i16 2520, i16 2521, i16 2522, i16 2523, i16 2524, i16 2525, i16 2526, i16 2527, i16 2528, i16 2529, i16 2530, i16 2531, i16 2532, i16 2533, i16 2534, i16 2535, i16 2536, i16 2537, i16 2538, i16 2539, i16 2540, i16 2541, i16 2542, i16 2543, i16 2544, i16 2545, i16 2546, i16 2547, i16 2548, i16 2549, i16 2550, i16 2551, i16 2552, i16 2553, i16 2554, i16 2555, i16 2556, i16 2557, i16 2558, i16 2559, i16 2560, i16 2561, i16 2562, i16 2563, i16 2564, i16 2565, i16 2566, i16 2567, i16 2568, i16 2569, i16 2570, i16 2571, i16 2572, i16 2573, i16 2574, i16 2575, i16 2576, i16 2577, i16 2091, i16 2093, i16 2578, i16 2579, i16 2580, i16 2581, i16 2582, i16 2091, i16 2093, i16 2583, i16 2584, i16 2585, i16 2586, i16 2587, i16 2588, i16 2589, i16 2590, i16 2591, i16 2592, i16 2593, i16 2594, i16 2595, i16 2091, i16 2093, i16 2596, i16 2597, i16 2598, i16 2599, i16 2600, i16 2091, i16 2093, i16 2601, i16 2602, i16 2603, i16 2604, i16 2605, i16 2606, i16 2607, i16 2608, i16 2609, i16 2610, i16 2611, i16 2612, i16 2613, i16 2614, i16 2615, i16 2616, i16 2617, i16 2091, i16 2093, i16 2618, i16 2619, i16 2620, i16 2621, i16 2622, i16 2623, i16 2624, i16 2625, i16 2626, i16 2627, i16 2628, i16 2629, i16 2630, i16 2091, i16 2178, i16 2631, i16 2632, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2634, i16 2635, i16 2636, i16 2637, i16 2638, i16 2639, i16 2640, i16 2641, i16 2642, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2643, i16 2092, i16 2644, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2645, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2646, i16 2647, i16 2648, i16 2649, i16 2650, i16 2647, i16 2651, i16 2647, i16 2652, i16 2647, i16 2653, i16 2647, i16 2654, i16 2655, i16 2656, i16 2647, i16 2657, i16 2647, i16 2658, i16 2659, i16 2660, i16 2647, i16 2661, i16 2647, i16 2662, i16 2663, i16 2664, i16 2665, i16 2666, i16 2667, i16 2647, i16 2668, i16 2647, i16 2669, i16 2647, i16 2670, i16 2647, i16 2671, i16 2647, i16 2672, i16 2647, i16 2673, i16 2674, i16 2675, i16 2647, i16 2676, i16 2647, i16 2677, i16 2647, i16 2678, i16 2679, i16 2647, i16 2680, i16 2647, i16 2681, i16 2682, i16 2683, i16 2684, i16 2685, i16 2686, i16 2647, i16 2687, i16 2647, i16 2688, i16 2647, i16 2689, i16 2647, i16 2690, i16 2691, i16 2692, i16 2693, i16 2694, i16 2693, i16 2695, i16 2693, i16 2696, i16 2693, i16 2697, i16 2693, i16 2698, i16 2693, i16 2699, i16 2693, i16 2700, i16 2693, i16 2701, i16 2693, i16 2702, i16 2693, i16 2703, i16 2693, i16 2704, i16 2693, i16 2705, i16 2693, i16 2706, i16 2693, i16 2707, i16 2693, i16 2708, i16 2693, i16 2709, i16 2693, i16 2710, i16 2693, i16 2711, i16 2693, i16 2712, i16 2693, i16 2713, i16 2693, i16 2714, i16 2693, i16 2715, i16 2693, i16 2716, i16 2693, i16 2717, i16 2693, i16 2718, i16 2693, i16 2719, i16 2693, i16 2720, i16 2693, i16 2721, i16 2693, i16 2722, i16 2693, i16 2723, i16 2693, i16 2724, i16 2693, i16 2725, i16 2693, i16 2726, i16 2693, i16 2727, i16 2693, i16 2728, i16 2693, i16 2729, i16 2693, i16 2730, i16 2693, i16 2731, i16 2693, i16 2732, i16 2693, i16 2733, i16 2693, i16 2734, i16 2735, i16 2736, i16 2693, i16 2737, i16 2735, i16 2738, i16 2693, i16 2739, i16 2693, i16 2740, i16 2693, i16 2741, i16 2693, i16 2742, i16 2693, i16 2743, i16 2693, i16 2744, i16 2693, i16 2745, i16 2693, i16 2746, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2092, i16 2092, i16 2092, i16 2092, i16 2632, i16 2632, i16 2748, i16 2749, i16 2749, i16 2749, i16 2749, i16 2749, i16 2749, i16 2632, i16 2632, i16 2750, i16 2750, i16 2750, i16 2632, i16 2751, i16 2751, i16 2751, i16 2751, i16 2632, i16 2632, i16 2632, i16 2752, i16 2752, i16 2752, i16 2752, i16 2752, i16 2752, i16 2752, i16 2632, i16 2753, i16 2753, i16 2753, i16 2753, i16 2632, i16 2754, i16 2754, i16 2754, i16 2754, i16 2632, i16 2755, i16 2755, i16 2755, i16 2755, i16 2632, i16 2756, i16 2756, i16 2756, i16 2756, i16 2632, i16 2757, i16 2757, i16 2632, i16 2758, i16 2758, i16 2632, i16 2759, i16 2759, i16 2632, i16 2760, i16 2760, i16 2632, i16 2761, i16 2761, i16 2761, i16 2761, i16 2632, i16 2762, i16 2762, i16 2762, i16 2762, i16 2632, i16 2763, i16 2763, i16 2763, i16 2763, i16 2632, i16 2764, i16 2764, i16 2764, i16 2764, i16 2632, i16 2765, i16 2765, i16 2765, i16 2765, i16 2632, i16 2766, i16 2766, i16 2766, i16 2766, i16 2632, i16 2767, i16 2767, i16 2767, i16 2767, i16 2632, i16 2768, i16 2768, i16 2768, i16 2768, i16 2632, i16 2769, i16 2769, i16 2769, i16 2769, i16 2632, i16 2770, i16 2770, i16 2770, i16 2770, i16 2632, i16 2771, i16 2771, i16 2771, i16 2771, i16 2632, i16 2772, i16 2772, i16 2772, i16 2772, i16 2632, i16 2773, i16 2773, i16 2773, i16 2773, i16 2632, i16 2774, i16 2774, i16 2774, i16 2774, i16 2632, i16 2775, i16 2775, i16 2775, i16 2775, i16 2632, i16 2776, i16 2776, i16 2632, i16 2777, i16 2777, i16 2632, i16 2778, i16 2778, i16 2778, i16 2778, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2633, i16 2634, i16 2635, i16 2636, i16 2637, i16 2638, i16 2639, i16 2640, i16 2641, i16 2642, i16 2780, i16 2781, i16 2782, i16 2783, i16 2784, i16 2785, i16 2786, i16 2787, i16 2632, i16 2788, i16 2788, i16 2788, i16 2632, i16 2789, i16 2789, i16 2789, i16 2632, i16 2790, i16 2790, i16 2790, i16 2790, i16 2632, i16 2791, i16 2791, i16 2791, i16 2632, i16 2792, i16 2792, i16 2792, i16 2632, i16 2793, i16 2793, i16 2793, i16 2793, i16 2632, i16 2794, i16 2794, i16 2794, i16 2632, i16 2795, i16 2795, i16 2795, i16 2632, i16 2796, i16 2796, i16 2796, i16 2796, i16 2632, i16 2797, i16 2797, i16 2797, i16 2632, i16 2798, i16 2798, i16 2798, i16 2632, i16 2799, i16 2799, i16 2799, i16 2632, i16 2800, i16 2800, i16 2800, i16 2632, i16 2801, i16 2801, i16 2801, i16 2632, i16 2802, i16 2802, i16 2802, i16 2632, i16 2803, i16 2803, i16 2803, i16 2632, i16 2804, i16 2804, i16 2804, i16 2632, i16 2805, i16 2805, i16 2805, i16 2805, i16 2805, i16 2632, i16 2806, i16 2806, i16 2806, i16 2632, i16 2807, i16 2807, i16 2807, i16 2632, i16 2808, i16 2632, i16 2809, i16 2632, i16 2810, i16 2632, i16 2811, i16 2632, i16 2812, i16 2632, i16 2813, i16 2813, i16 2813, i16 2813, i16 2813, i16 2632, i16 2814, i16 2814, i16 2814, i16 2814, i16 2814, i16 2632, i16 2815, i16 2815, i16 2815, i16 2815, i16 2815, i16 2632, i16 2816, i16 2816, i16 2816, i16 2816, i16 2816, i16 2632, i16 2817, i16 2817, i16 2817, i16 2817, i16 2817, i16 2632, i16 2818, i16 2632, i16 2819, i16 2632, i16 2820, i16 2632, i16 2821, i16 2632, i16 2822, i16 2632, i16 2823, i16 2823, i16 2823, i16 2632, i16 2824, i16 2824, i16 2824, i16 2632, i16 2825, i16 2825, i16 2825, i16 2632, i16 2826, i16 2632, i16 2827, i16 2632, i16 2828, i16 2632, i16 2829, i16 2632, i16 2830, i16 2632, i16 2831, i16 2831, i16 2831, i16 2632, i16 2832, i16 2632, i16 2833, i16 2632, i16 2834, i16 2632, i16 2835, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2837, i16 2836, i16 2838, i16 2836, i16 2839, i16 2836, i16 2840, i16 2836, i16 2841, i16 2836, i16 2842, i16 2836, i16 2843, i16 2836, i16 2844, i16 2836, i16 2845, i16 2836, i16 2846, i16 2836, i16 2847, i16 2836, i16 2848, i16 2836, i16 2849, i16 2836, i16 2850, i16 2836, i16 2851, i16 2836, i16 2852, i16 2836, i16 2853, i16 2836, i16 2854, i16 2836, i16 2855, i16 2836, i16 2856, i16 2836, i16 2857, i16 2836, i16 2858, i16 2836, i16 2859, i16 2836, i16 2860, i16 2836, i16 2861, i16 2836, i16 2862, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2836, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2646, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2866, i16 2867, i16 2866, i16 2868, i16 2866, i16 2869, i16 2866, i16 2870, i16 2866, i16 2871, i16 2866, i16 2872, i16 2866, i16 2873, i16 2866, i16 2874, i16 2866, i16 2875, i16 2866, i16 2876, i16 2877, i16 2878, i16 2877, i16 2879, i16 2877, i16 2880, i16 2877, i16 2881, i16 2877, i16 2882, i16 2877, i16 2883, i16 2877, i16 2884, i16 2877, i16 2885, i16 2877, i16 2886, i16 2877, i16 2887, i16 2877, i16 2888, i16 2877, i16 2889, i16 2877, i16 2890, i16 2877, i16 2891, i16 2877, i16 2892, i16 2877, i16 2893, i16 2877, i16 2894, i16 2877, i16 2895, i16 2877, i16 2896, i16 2877, i16 2897, i16 2877, i16 2898, i16 2877, i16 2899, i16 2877, i16 2900, i16 2877, i16 2901, i16 2877, i16 2902, i16 2877, i16 2903, i16 2866, i16 2904, i16 2905, i16 2906, i16 2907, i16 2908, i16 2866, i16 2909, i16 2910, i16 2911, i16 2912, i16 2913, i16 2866, i16 2914, i16 2915, i16 2916, i16 2917, i16 2918, i16 2866, i16 2919, i16 2920, i16 2921, i16 2922, i16 2923, i16 2866, i16 2924, i16 2925, i16 2926, i16 2927, i16 2928, i16 2866, i16 2929, i16 2930, i16 2931, i16 2932, i16 2933, i16 2866, i16 2934, i16 2935, i16 2936, i16 2937, i16 2938, i16 2866, i16 2939, i16 2940, i16 2941, i16 2942, i16 2943, i16 2866, i16 2944, i16 2945, i16 2946, i16 2947, i16 2948, i16 2866, i16 2949, i16 2950, i16 2951, i16 2952, i16 2953, i16 2866, i16 2954, i16 2955, i16 2956, i16 2957, i16 2958, i16 2866, i16 2959, i16 2960, i16 2961, i16 2962, i16 2963, i16 2866, i16 2964, i16 2965, i16 2966, i16 2967, i16 2968, i16 2866, i16 2969, i16 2970, i16 2971, i16 2972, i16 2973, i16 2866, i16 2974, i16 2975, i16 2976, i16 2977, i16 2978, i16 2866, i16 2979, i16 2980, i16 2981, i16 2982, i16 2983, i16 2866, i16 2984, i16 2985, i16 2986, i16 2987, i16 2988, i16 2866, i16 2989, i16 2990, i16 2991, i16 2992, i16 2993, i16 2866, i16 2994, i16 2995, i16 2996, i16 2997, i16 2998, i16 2866, i16 2999, i16 3000, i16 3001, i16 3002, i16 3003, i16 2866, i16 3004, i16 3005, i16 3006, i16 3007, i16 3008, i16 2866, i16 3009, i16 3010, i16 3011, i16 3012, i16 3013, i16 2866, i16 3014, i16 3015, i16 3016, i16 3017, i16 3018, i16 2866, i16 3019, i16 3020, i16 3021, i16 3022, i16 3023, i16 2866, i16 3024, i16 3025, i16 3026, i16 3027, i16 3028, i16 2866, i16 3029, i16 3030, i16 3031, i16 3032, i16 3033, i16 2866, i16 3034, i16 3035, i16 3036, i16 3037, i16 3038, i16 2866, i16 3039, i16 3040, i16 3041, i16 3042, i16 3043, i16 2866, i16 3044, i16 3045, i16 3046, i16 3047, i16 3048, i16 2866, i16 3049, i16 3050, i16 3051, i16 3052, i16 3053, i16 2866, i16 3054, i16 3055, i16 3056, i16 3057, i16 3058, i16 2866, i16 3059, i16 3060, i16 3061, i16 3062, i16 3063, i16 2866, i16 3064, i16 3065, i16 3066, i16 3067, i16 3068, i16 2866, i16 3069, i16 3070, i16 3071, i16 3072, i16 3073, i16 2866, i16 3074, i16 3075, i16 3076, i16 3077, i16 3078, i16 2866, i16 2866, i16 3079, i16 3080, i16 3081, i16 3082, i16 3083, i16 2866, i16 2866, i16 3084, i16 3085, i16 3086, i16 3087, i16 3088, i16 2866, i16 3089, i16 3090, i16 3091, i16 3092, i16 3093, i16 2866, i16 3094, i16 3095, i16 3096, i16 3097, i16 3098, i16 2866, i16 3099, i16 3100, i16 3101, i16 3102, i16 3103, i16 2866, i16 3104, i16 3105, i16 3106, i16 3107, i16 3108, i16 2866, i16 3109, i16 3110, i16 3111, i16 3112, i16 3113, i16 2866, i16 3114, i16 3115, i16 3116, i16 3117, i16 3118, i16 2866, i16 3119, i16 3120, i16 3121, i16 3122, i16 3123, i16 2866, i16 2866, i16 2866, i16 2866, i16 3124, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 99, i16 104, i16 112, i16 117, i16 122, i16 124, i16 126, i16 128, i16 130, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 1162, i16 296, i16 0, i16 704, i16 0, i16 1166, i16 293, i16 0, i16 714, i16 0, i16 1168, i16 296, i16 0, i16 1167, i16 293, i16 0, i16 723, i16 0, i16 1169, i16 299, i16 0, i16 728, i16 0, i16 1170, i16 293, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 49, i16 51, i16 53, i16 55, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 83, i16 85, i16 87, i16 89, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 1174, i16 169, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 1176, i16 169, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 1173, i16 169, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 1175, i16 169, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 1222, i16 411, i16 0, i16 1221, i16 491, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 1219, i16 411, i16 0, i16 1220, i16 491, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 48, i16 50, i16 52, i16 54, i16 62, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 94, i16 96, i16 98, i16 100, i16 108, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 138, i16 140, i16 142, i16 144, i16 146, i16 148, i16 478, i16 0, i16 1265, i16 1008, i16 0, i16 1264, i16 1047, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 1269, i16 421, i16 0, i16 1268, i16 501, i16 0, i16 504, i16 0, i16 1273, i16 421, i16 0, i16 1272, i16 501, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 1262, i16 1008, i16 0, i16 1263, i16 1047, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 1266, i16 421, i16 0, i16 1267, i16 501, i16 0, i16 425, i16 0, i16 1270, i16 421, i16 0, i16 1271, i16 501, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 52, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 92, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 1318, i16 989, i16 0, i16 1317, i16 1029, i16 0, i16 491, i16 0, i16 1322, i16 401, i16 0, i16 1321, i16 481, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 1315, i16 989, i16 0, i16 1316, i16 1029, i16 0, i16 411, i16 0, i16 1319, i16 401, i16 0, i16 1320, i16 481, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 1222, i16 411, i16 0, i16 1221, i16 491, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1328, i16 413, i16 0, i16 1327, i16 493, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 1219, i16 411, i16 0, i16 1220, i16 491, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1325, i16 413, i16 0, i16 1326, i16 493, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 62, i16 142, i16 144, i16 168, i16 170, i16 194, i16 218, i16 220, i16 222, i16 224, i16 248, i16 272, i16 274, i16 298, i16 322, i16 402, i16 404, i16 428, i16 430, i16 454, i16 478, i16 480, i16 482, i16 484, i16 508, i16 532, i16 534, i16 558, i16 560, i16 562, i16 564, i16 566, i16 568, i16 570, i16 572, i16 574, i16 576, i16 1425, i16 451, i16 0, i16 1429, i16 398, i16 451, i16 0, i16 1428, i16 398, i16 528, i16 0, i16 1424, i16 528, i16 0, i16 1427, i16 478, i16 451, i16 0, i16 1426, i16 478, i16 528, i16 0, i16 478, i16 0, i16 1451, i16 471, i16 451, i16 0, i16 1450, i16 471, i16 528, i16 0, i16 1437, i16 471, i16 0, i16 1459, i16 399, i16 471, i16 451, i16 0, i16 1458, i16 399, i16 471, i16 528, i16 0, i16 1441, i16 399, i16 471, i16 0, i16 1457, i16 399, i16 548, i16 451, i16 0, i16 1456, i16 399, i16 548, i16 528, i16 0, i16 1440, i16 399, i16 548, i16 0, i16 1449, i16 548, i16 451, i16 0, i16 1448, i16 548, i16 528, i16 0, i16 1436, i16 548, i16 0, i16 1455, i16 479, i16 471, i16 451, i16 0, i16 1454, i16 479, i16 471, i16 528, i16 0, i16 1439, i16 479, i16 471, i16 0, i16 1453, i16 479, i16 548, i16 451, i16 0, i16 1452, i16 479, i16 548, i16 528, i16 0, i16 1438, i16 479, i16 548, i16 0, i16 479, i16 0, i16 490, i16 0, i16 1473, i16 467, i16 0, i16 1477, i16 411, i16 467, i16 0, i16 1476, i16 411, i16 544, i16 0, i16 1472, i16 544, i16 0, i16 1475, i16 491, i16 467, i16 0, i16 1474, i16 491, i16 544, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 1485, i16 467, i16 0, i16 1489, i16 425, i16 467, i16 0, i16 1488, i16 425, i16 544, i16 0, i16 1484, i16 544, i16 0, i16 1487, i16 504, i16 467, i16 0, i16 1486, i16 504, i16 544, i16 0, i16 504, i16 0, i16 1497, i16 467, i16 0, i16 1501, i16 432, i16 467, i16 0, i16 1500, i16 432, i16 544, i16 0, i16 1496, i16 544, i16 0, i16 1499, i16 511, i16 467, i16 0, i16 1498, i16 511, i16 544, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 1509, i16 471, i16 0, i16 1513, i16 451, i16 471, i16 0, i16 1512, i16 451, i16 548, i16 0, i16 1508, i16 548, i16 0, i16 1511, i16 528, i16 471, i16 0, i16 1510, i16 528, i16 548, i16 0, i16 528, i16 0, i16 1521, i16 467, i16 0, i16 1525, i16 453, i16 467, i16 0, i16 1524, i16 453, i16 544, i16 0, i16 1520, i16 544, i16 0, i16 1523, i16 530, i16 467, i16 0, i16 1522, i16 530, i16 544, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 1537, i16 471, i16 451, i16 0, i16 1536, i16 471, i16 528, i16 0, i16 1533, i16 451, i16 0, i16 1535, i16 548, i16 451, i16 0, i16 1534, i16 548, i16 528, i16 0, i16 1532, i16 528, i16 0, i16 548, i16 0, i16 1431, i16 451, i16 0, i16 1435, i16 398, i16 451, i16 0, i16 1434, i16 398, i16 528, i16 0, i16 1430, i16 528, i16 0, i16 1433, i16 478, i16 451, i16 0, i16 1432, i16 478, i16 528, i16 0, i16 398, i16 0, i16 1463, i16 471, i16 451, i16 0, i16 1462, i16 471, i16 528, i16 0, i16 1443, i16 471, i16 0, i16 1471, i16 399, i16 471, i16 451, i16 0, i16 1470, i16 399, i16 471, i16 528, i16 0, i16 1447, i16 399, i16 471, i16 0, i16 1469, i16 399, i16 548, i16 451, i16 0, i16 1468, i16 399, i16 548, i16 528, i16 0, i16 1446, i16 399, i16 548, i16 0, i16 1461, i16 548, i16 451, i16 0, i16 1460, i16 548, i16 528, i16 0, i16 1442, i16 548, i16 0, i16 1467, i16 479, i16 471, i16 451, i16 0, i16 1466, i16 479, i16 471, i16 528, i16 0, i16 1445, i16 479, i16 471, i16 0, i16 1465, i16 479, i16 548, i16 451, i16 0, i16 1464, i16 479, i16 548, i16 528, i16 0, i16 1444, i16 479, i16 548, i16 0, i16 399, i16 0, i16 410, i16 0, i16 1478, i16 467, i16 0, i16 1483, i16 411, i16 467, i16 0, i16 1482, i16 411, i16 544, i16 0, i16 1479, i16 544, i16 0, i16 1481, i16 491, i16 467, i16 0, i16 1480, i16 491, i16 544, i16 0, i16 411, i16 0, i16 990, i16 0, i16 1490, i16 467, i16 0, i16 1495, i16 425, i16 467, i16 0, i16 1494, i16 425, i16 544, i16 0, i16 1491, i16 544, i16 0, i16 1493, i16 504, i16 467, i16 0, i16 1492, i16 504, i16 544, i16 0, i16 425, i16 0, i16 1502, i16 467, i16 0, i16 1507, i16 432, i16 467, i16 0, i16 1506, i16 432, i16 544, i16 0, i16 1503, i16 544, i16 0, i16 1505, i16 511, i16 467, i16 0, i16 1504, i16 511, i16 544, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 1515, i16 471, i16 0, i16 1519, i16 451, i16 471, i16 0, i16 1518, i16 451, i16 548, i16 0, i16 1514, i16 548, i16 0, i16 1517, i16 528, i16 471, i16 0, i16 1516, i16 528, i16 548, i16 0, i16 451, i16 0, i16 1527, i16 467, i16 0, i16 1531, i16 453, i16 467, i16 0, i16 1530, i16 453, i16 544, i16 0, i16 1526, i16 544, i16 0, i16 1529, i16 530, i16 467, i16 0, i16 1528, i16 530, i16 544, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 1543, i16 471, i16 451, i16 0, i16 1542, i16 471, i16 528, i16 0, i16 1539, i16 451, i16 0, i16 1541, i16 548, i16 451, i16 0, i16 1540, i16 548, i16 528, i16 0, i16 1538, i16 528, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 112, i16 117, i16 122, i16 127, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1559, i16 1554, i16 0, i16 1556, i16 1552, i16 0, i16 1073, i16 0, i16 1560, i16 1553, i16 0, i16 582, i16 0, i16 1562, i16 1553, i16 0, i16 1080, i16 0, i16 1563, i16 1553, i16 0, i16 1082, i16 0, i16 1561, i16 1553, i16 0, i16 1564, i16 0, i16 38, i16 46, i16 54, i16 62, i16 64, i16 66, i16 74, i16 82, i16 84, i16 92, i16 100, i16 102, i16 110, i16 112, i16 114, i16 122, i16 130, i16 138, i16 140, i16 142, i16 150, i16 158, i16 160, i16 168, i16 176, i16 178, i16 186, i16 188, i16 190, i16 192, i16 194, i16 196, i16 198, i16 200, i16 202, i16 204, i16 206, i16 208, i16 1591, i16 413, i16 0, i16 1590, i16 493, i16 0, i16 478, i16 0, i16 1595, i16 399, i16 0, i16 1594, i16 479, i16 0, i16 479, i16 0, i16 1599, i16 410, i16 0, i16 1598, i16 490, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 1603, i16 425, i16 0, i16 1602, i16 504, i16 0, i16 504, i16 0, i16 1222, i16 411, i16 0, i16 1221, i16 491, i16 0, i16 511, i16 0, i16 515, i16 0, i16 1607, i16 413, i16 0, i16 1606, i16 493, i16 0, i16 522, i16 0, i16 1611, i16 413, i16 0, i16 1610, i16 493, i16 0, i16 524, i16 0, i16 528, i16 0, i16 1615, i16 413, i16 0, i16 1614, i16 493, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 1588, i16 413, i16 0, i16 1589, i16 493, i16 0, i16 398, i16 0, i16 1592, i16 399, i16 0, i16 1593, i16 479, i16 0, i16 399, i16 0, i16 1596, i16 410, i16 0, i16 1597, i16 490, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 1600, i16 425, i16 0, i16 1601, i16 504, i16 0, i16 425, i16 0, i16 1219, i16 411, i16 0, i16 1220, i16 491, i16 0, i16 432, i16 0, i16 437, i16 0, i16 1604, i16 413, i16 0, i16 1605, i16 493, i16 0, i16 445, i16 0, i16 1608, i16 413, i16 0, i16 1609, i16 493, i16 0, i16 447, i16 0, i16 451, i16 0, i16 1612, i16 413, i16 0, i16 1613, i16 493, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 138, i16 140, i16 1591, i16 413, i16 0, i16 1590, i16 493, i16 0, i16 1621, i16 169, i16 413, i16 0, i16 1620, i16 169, i16 493, i16 0, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 1588, i16 413, i16 0, i16 1589, i16 493, i16 0, i16 1618, i16 169, i16 413, i16 0, i16 1619, i16 169, i16 493, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 10, i16 12, i16 14, i16 16, i16 18, i16 20, i16 22, i16 24, i16 26, i16 28, i16 681, i16 0, i16 738, i16 0, i16 749, i16 0, i16 901, i16 0, i16 927, i16 0, i16 682, i16 0, i16 739, i16 0, i16 750, i16 0, i16 902, i16 0, i16 928, i16 0, i16 10, i16 18, i16 20, i16 22, i16 24, i16 26, i16 34, i16 36, i16 38, i16 40, i16 1884, i16 682, i16 0, i16 1883, i16 681, i16 0, i16 681, i16 0, i16 738, i16 0, i16 749, i16 0, i16 901, i16 0, i16 927, i16 0, i16 1886, i16 682, i16 0, i16 1885, i16 681, i16 0, i16 682, i16 0, i16 739, i16 0, i16 750, i16 0, i16 902, i16 0, i16 928, i16 0, i16 10, i16 12, i16 14, i16 22, i16 30, i16 38, i16 40, i16 42, i16 50, i16 58, i16 681, i16 0, i16 738, i16 0, i16 1928, i16 1880, i16 0, i16 1927, i16 1879, i16 0, i16 749, i16 0, i16 1932, i16 884, i16 0, i16 1931, i16 883, i16 0, i16 901, i16 0, i16 1936, i16 884, i16 0, i16 1935, i16 883, i16 0, i16 927, i16 0, i16 682, i16 0, i16 739, i16 0, i16 1930, i16 1880, i16 0, i16 1929, i16 1879, i16 0, i16 750, i16 0, i16 1934, i16 884, i16 0, i16 1933, i16 883, i16 0, i16 902, i16 0, i16 1938, i16 884, i16 0, i16 1937, i16 883, i16 0, i16 928, i16 0, i16 10, i16 12, i16 20, i16 22, i16 30, i16 32, i16 34, i16 42, i16 44, i16 52, i16 681, i16 0, i16 1940, i16 837, i16 0, i16 1939, i16 836, i16 0, i16 738, i16 0, i16 749, i16 0, i16 1944, i16 902, i16 0, i16 1943, i16 901, i16 0, i16 901, i16 0, i16 927, i16 0, i16 682, i16 0, i16 1942, i16 837, i16 0, i16 1941, i16 836, i16 0, i16 739, i16 0, i16 750, i16 0, i16 1946, i16 902, i16 0, i16 1945, i16 901, i16 0, i16 902, i16 0, i16 928, i16 0, i16 2, i16 10, i16 295, i16 278, i16 0, i16 294, i16 277, i16 0, i16 161, i16 0, i16 296, i16 278, i16 0, i16 162, i16 0, i16 5, i16 139, i16 273, i16 407, i16 541, i16 387, i16 386, i16 0, i16 381, i16 380, i16 0, i16 375, i16 374, i16 0, i16 369, i16 368, i16 0, i16 363, i16 362, i16 0, i16 357, i16 356, i16 0, i16 351, i16 350, i16 0, i16 345, i16 344, i16 0, i16 338, i16 337, i16 0, i16 331, i16 330, i16 0, i16 325, i16 324, i16 0, i16 319, i16 318, i16 0, i16 313, i16 312, i16 0, i16 307, i16 306, i16 0, i16 301, i16 300, i16 0, i16 295, i16 294, i16 0, i16 289, i16 288, i16 0, i16 283, i16 282, i16 0, i16 277, i16 276, i16 0, i16 271, i16 270, i16 0, i16 265, i16 264, i16 0, i16 259, i16 258, i16 0, i16 253, i16 252, i16 0, i16 247, i16 246, i16 0, i16 241, i16 240, i16 0, i16 235, i16 234, i16 0, i16 229, i16 228, i16 0, i16 223, i16 222, i16 0, i16 217, i16 216, i16 0, i16 211, i16 210, i16 0, i16 205, i16 204, i16 0, i16 199, i16 198, i16 0, i16 193, i16 192, i16 0, i16 187, i16 186, i16 0, i16 181, i16 180, i16 0, i16 175, i16 174, i16 0, i16 169, i16 168, i16 0, i16 163, i16 162, i16 0, i16 157, i16 156, i16 0, i16 151, i16 150, i16 0, i16 145, i16 144, i16 0, i16 139, i16 138, i16 0, i16 133, i16 132, i16 0, i16 127, i16 126, i16 0, i16 404, i16 0, i16 388, i16 386, i16 0, i16 382, i16 380, i16 0, i16 376, i16 374, i16 0, i16 370, i16 368, i16 0, i16 364, i16 362, i16 0, i16 358, i16 356, i16 0, i16 352, i16 350, i16 0, i16 346, i16 344, i16 0, i16 339, i16 337, i16 0, i16 332, i16 330, i16 0, i16 326, i16 324, i16 0, i16 320, i16 318, i16 0, i16 314, i16 312, i16 0, i16 308, i16 306, i16 0, i16 302, i16 300, i16 0, i16 296, i16 294, i16 0, i16 290, i16 288, i16 0, i16 284, i16 282, i16 0, i16 278, i16 276, i16 0, i16 272, i16 270, i16 0, i16 266, i16 264, i16 0, i16 260, i16 258, i16 0, i16 254, i16 252, i16 0, i16 248, i16 246, i16 0, i16 242, i16 240, i16 0, i16 236, i16 234, i16 0, i16 230, i16 228, i16 0, i16 224, i16 222, i16 0, i16 218, i16 216, i16 0, i16 212, i16 210, i16 0, i16 206, i16 204, i16 0, i16 200, i16 198, i16 0, i16 194, i16 192, i16 0, i16 188, i16 186, i16 0, i16 182, i16 180, i16 0, i16 176, i16 174, i16 0, i16 170, i16 168, i16 0, i16 164, i16 162, i16 0, i16 158, i16 156, i16 0, i16 152, i16 150, i16 0, i16 146, i16 144, i16 0, i16 140, i16 138, i16 0, i16 134, i16 132, i16 0, i16 128, i16 126, i16 0, i16 405, i16 0, i16 389, i16 386, i16 0, i16 383, i16 380, i16 0, i16 377, i16 374, i16 0, i16 371, i16 368, i16 0, i16 365, i16 362, i16 0, i16 359, i16 356, i16 0, i16 353, i16 350, i16 0, i16 347, i16 344, i16 0, i16 340, i16 337, i16 0, i16 333, i16 330, i16 0, i16 327, i16 324, i16 0, i16 321, i16 318, i16 0, i16 315, i16 312, i16 0, i16 309, i16 306, i16 0, i16 303, i16 300, i16 0, i16 297, i16 294, i16 0, i16 291, i16 288, i16 0, i16 285, i16 282, i16 0, i16 279, i16 276, i16 0, i16 273, i16 270, i16 0, i16 267, i16 264, i16 0, i16 261, i16 258, i16 0, i16 255, i16 252, i16 0, i16 249, i16 246, i16 0, i16 243, i16 240, i16 0, i16 237, i16 234, i16 0, i16 231, i16 228, i16 0, i16 225, i16 222, i16 0, i16 219, i16 216, i16 0, i16 213, i16 210, i16 0, i16 207, i16 204, i16 0, i16 201, i16 198, i16 0, i16 195, i16 192, i16 0, i16 189, i16 186, i16 0, i16 183, i16 180, i16 0, i16 177, i16 174, i16 0, i16 171, i16 168, i16 0, i16 165, i16 162, i16 0, i16 159, i16 156, i16 0, i16 153, i16 150, i16 0, i16 147, i16 144, i16 0, i16 141, i16 138, i16 0, i16 135, i16 132, i16 0, i16 129, i16 126, i16 0, i16 406, i16 0, i16 390, i16 386, i16 0, i16 384, i16 380, i16 0, i16 378, i16 374, i16 0, i16 372, i16 368, i16 0, i16 366, i16 362, i16 0, i16 360, i16 356, i16 0, i16 354, i16 350, i16 0, i16 348, i16 344, i16 0, i16 341, i16 337, i16 0, i16 334, i16 330, i16 0, i16 328, i16 324, i16 0, i16 322, i16 318, i16 0, i16 316, i16 312, i16 0, i16 310, i16 306, i16 0, i16 304, i16 300, i16 0, i16 298, i16 294, i16 0, i16 292, i16 288, i16 0, i16 286, i16 282, i16 0, i16 280, i16 276, i16 0, i16 274, i16 270, i16 0, i16 268, i16 264, i16 0, i16 262, i16 258, i16 0, i16 256, i16 252, i16 0, i16 250, i16 246, i16 0, i16 244, i16 240, i16 0, i16 238, i16 234, i16 0, i16 232, i16 228, i16 0, i16 226, i16 222, i16 0, i16 220, i16 216, i16 0, i16 214, i16 210, i16 0, i16 208, i16 204, i16 0, i16 202, i16 198, i16 0, i16 196, i16 192, i16 0, i16 190, i16 186, i16 0, i16 184, i16 180, i16 0, i16 178, i16 174, i16 0, i16 172, i16 168, i16 0, i16 166, i16 162, i16 0, i16 160, i16 156, i16 0, i16 154, i16 150, i16 0, i16 148, i16 144, i16 0, i16 142, i16 138, i16 0, i16 136, i16 132, i16 0, i16 130, i16 126, i16 0, i16 407, i16 0, i16 391, i16 386, i16 0, i16 385, i16 380, i16 0, i16 379, i16 374, i16 0, i16 373, i16 368, i16 0, i16 367, i16 362, i16 0, i16 361, i16 356, i16 0, i16 355, i16 350, i16 0, i16 349, i16 344, i16 0, i16 342, i16 337, i16 0, i16 335, i16 330, i16 0, i16 329, i16 324, i16 0, i16 323, i16 318, i16 0, i16 317, i16 312, i16 0, i16 311, i16 306, i16 0, i16 305, i16 300, i16 0, i16 299, i16 294, i16 0, i16 293, i16 288, i16 0, i16 287, i16 282, i16 0, i16 281, i16 276, i16 0, i16 275, i16 270, i16 0, i16 269, i16 264, i16 0, i16 263, i16 258, i16 0, i16 257, i16 252, i16 0, i16 251, i16 246, i16 0, i16 245, i16 240, i16 0, i16 239, i16 234, i16 0, i16 233, i16 228, i16 0, i16 227, i16 222, i16 0, i16 221, i16 216, i16 0, i16 215, i16 210, i16 0, i16 209, i16 204, i16 0, i16 203, i16 198, i16 0, i16 197, i16 192, i16 0, i16 191, i16 186, i16 0, i16 185, i16 180, i16 0, i16 179, i16 174, i16 0, i16 173, i16 168, i16 0, i16 167, i16 162, i16 0, i16 161, i16 156, i16 0, i16 155, i16 150, i16 0, i16 149, i16 144, i16 0, i16 143, i16 138, i16 0, i16 137, i16 132, i16 0, i16 131, i16 126, i16 0, i16 408, i16 0, i16 1, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 263, i16 1158, i16 0, i16 1159, i16 0, i16 2, i16 272, i16 1160, i16 0, i16 1161, i16 0, i16 2, i16 1375, i16 1163, i16 748, i16 1164, i16 749, i16 2, i16 1381, i16 1165, i16 750, i16 1166, i16 751, i16 2, i16 1392, i16 1167, i16 752, i16 1168, i16 753, i16 2, i16 1401, i16 1169, i16 754, i16 1170, i16 755, i16 1, i16 1156, i16 244, i16 0, i16 1157, i16 253, i16 0, i16 1162, i16 1370, i16 756, i16 1155, i16 22611, i16 1, i16 0, i16 1, i16 1171, i16 142, i16 0, i16 1172, i16 163, i16 0, i16 1173, i16 699, i16 757, i16 1174, i16 907, i16 758, i16 1175, i16 762, i16 759, i16 1176, i16 968, i16 760, i16 1155, i16 22611, i16 1, i16 0, i16 1, i16 1177, i16 306, i16 0, i16 1178, i16 1512, i16 761, i16 1179, i16 1576, i16 762, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 145, i16 900, i16 0, i16 1183, i16 0, i16 901, i16 0, i16 902, i16 0, i16 903, i16 0, i16 2, i16 636, i16 1196, i16 763, i16 974, i16 764, i16 2, i16 845, i16 1197, i16 765, i16 1014, i16 766, i16 2, i16 712, i16 992, i16 767, i16 990, i16 768, i16 2, i16 920, i16 1030, i16 769, i16 1032, i16 770, i16 2, i16 749, i16 995, i16 771, i16 994, i16 772, i16 2, i16 956, i16 1035, i16 773, i16 1034, i16 774, i16 2, i16 762, i16 1198, i16 775, i16 996, i16 775, i16 2, i16 968, i16 1199, i16 776, i16 1036, i16 776, i16 1, i16 1180, i16 121, i16 0, i16 1181, i16 127, i16 0, i16 1182, i16 142, i16 0, i16 1184, i16 161, i16 0, i16 1185, i16 163, i16 0, i16 1186, i16 173, i16 0, i16 1187, i16 178, i16 0, i16 1188, i16 303, i16 0, i16 1189, i16 309, i16 0, i16 1190, i16 322, i16 0, i16 1191, i16 327, i16 0, i16 1192, i16 330, i16 0, i16 1193, i16 340, i16 0, i16 1194, i16 343, i16 0, i16 1195, i16 346, i16 0, i16 978, i16 656, i16 777, i16 1018, i16 864, i16 778, i16 985, i16 699, i16 779, i16 1025, i16 907, i16 780, i16 1001, i16 787, i16 781, i16 1041, i16 992, i16 782, i16 1004, i16 809, i16 783, i16 1043, i16 1013, i16 784, i16 1200, i16 1506, i16 785, i16 1201, i16 1570, i16 786, i16 1202, i16 1514, i16 787, i16 1203, i16 1579, i16 788, i16 1204, i16 1532, i16 789, i16 1205, i16 1597, i16 790, i16 1206, i16 1538, i16 791, i16 1207, i16 1603, i16 792, i16 1208, i16 1541, i16 793, i16 1209, i16 1606, i16 794, i16 1210, i16 1549, i16 795, i16 1211, i16 1614, i16 796, i16 1212, i16 1553, i16 797, i16 1213, i16 1618, i16 798, i16 1214, i16 1556, i16 799, i16 1215, i16 1621, i16 800, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 749, i16 1219, i16 801, i16 1220, i16 802, i16 2, i16 956, i16 1221, i16 803, i16 1222, i16 804, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1218, i16 161, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 12, i16 22611, i16 1223, i16 805, i16 1224, i16 805, i16 1225, i16 805, i16 1226, i16 805, i16 1227, i16 805, i16 1228, i16 805, i16 1229, i16 805, i16 1230, i16 805, i16 1231, i16 805, i16 1232, i16 805, i16 1233, i16 805, i16 1234, i16 805, i16 1, i16 1155, i16 22623, i16 1, i16 0, i16 1, i16 1188, i16 303, i16 0, i16 1235, i16 316, i16 0, i16 1236, i16 322, i16 0, i16 1237, i16 338, i16 0, i16 1238, i16 343, i16 0, i16 1239, i16 346, i16 0, i16 1200, i16 1506, i16 785, i16 1201, i16 1570, i16 786, i16 1240, i16 1524, i16 806, i16 1241, i16 1588, i16 807, i16 1242, i16 1532, i16 808, i16 1243, i16 1597, i16 809, i16 1244, i16 1549, i16 810, i16 1245, i16 1614, i16 811, i16 1246, i16 1553, i16 812, i16 1247, i16 1618, i16 813, i16 1248, i16 1556, i16 814, i16 1249, i16 1621, i16 815, i16 1155, i16 22611, i16 1, i16 0, i16 4, i16 189, i16 1250, i16 0, i16 1251, i16 0, i16 1252, i16 0, i16 1253, i16 0, i16 3, i16 645, i16 974, i16 816, i16 975, i16 817, i16 977, i16 818, i16 2, i16 769, i16 996, i16 819, i16 997, i16 820, i16 3, i16 853, i16 1014, i16 821, i16 1015, i16 822, i16 1017, i16 823, i16 2, i16 974, i16 1036, i16 824, i16 1037, i16 825, i16 1, i16 895, i16 53, i16 0, i16 1046, i16 1026, i16 826, i16 1007, i16 822, i16 827, i16 1004, i16 813, i16 828, i16 1043, i16 1017, i16 829, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 127, i16 1254, i16 0, i16 1255, i16 0, i16 898, i16 0, i16 1256, i16 0, i16 1257, i16 0, i16 2, i16 656, i16 979, i16 830, i16 981, i16 831, i16 2, i16 864, i16 1019, i16 832, i16 1021, i16 833, i16 3, i16 670, i16 1262, i16 834, i16 1263, i16 835, i16 984, i16 836, i16 3, i16 878, i16 1264, i16 837, i16 1265, i16 838, i16 1024, i16 839, i16 2, i16 736, i16 1266, i16 840, i16 1267, i16 841, i16 2, i16 943, i16 1268, i16 842, i16 1269, i16 843, i16 2, i16 749, i16 1270, i16 844, i16 1271, i16 845, i16 2, i16 956, i16 1272, i16 846, i16 1273, i16 847, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1258, i16 158, i16 0, i16 1259, i16 161, i16 0, i16 1260, i16 173, i16 0, i16 1261, i16 189, i16 0, i16 1000, i16 787, i16 848, i16 1040, i16 992, i16 849, i16 1008, i16 834, i16 850, i16 1047, i16 1038, i16 851, i16 1155, i16 22611, i16 1, i16 0, i16 4, i16 121, i16 1274, i16 0, i16 1275, i16 0, i16 1276, i16 0, i16 1277, i16 0, i16 4, i16 127, i16 1255, i16 0, i16 1278, i16 0, i16 1279, i16 0, i16 1280, i16 0, i16 2, i16 133, i16 1281, i16 0, i16 1282, i16 0, i16 2, i16 142, i16 1284, i16 0, i16 1285, i16 0, i16 2, i16 173, i16 1287, i16 0, i16 1260, i16 0, i16 5, i16 194, i16 1288, i16 0, i16 1253, i16 0, i16 1250, i16 0, i16 1289, i16 0, i16 1252, i16 0, i16 4, i16 636, i16 971, i16 852, i16 970, i16 853, i16 972, i16 854, i16 973, i16 855, i16 4, i16 845, i16 1011, i16 856, i16 1010, i16 857, i16 1012, i16 858, i16 1013, i16 859, i16 2, i16 656, i16 978, i16 860, i16 981, i16 861, i16 2, i16 864, i16 1018, i16 862, i16 1021, i16 863, i16 2, i16 667, i16 1290, i16 864, i16 1291, i16 865, i16 2, i16 875, i16 1292, i16 864, i16 1293, i16 866, i16 2, i16 670, i16 983, i16 867, i16 984, i16 868, i16 2, i16 878, i16 1023, i16 869, i16 1024, i16 870, i16 2, i16 709, i16 1295, i16 871, i16 1296, i16 872, i16 2, i16 917, i16 1297, i16 871, i16 1298, i16 872, i16 3, i16 992, i16 1002, i16 873, i16 1000, i16 874, i16 1040, i16 875, i16 3, i16 645, i16 974, i16 876, i16 975, i16 817, i16 977, i16 877, i16 2, i16 769, i16 996, i16 819, i16 997, i16 820, i16 3, i16 853, i16 1014, i16 878, i16 1015, i16 822, i16 1017, i16 879, i16 2, i16 974, i16 1036, i16 824, i16 1037, i16 825, i16 1, i16 889, i16 16, i16 0, i16 1283, i16 138, i16 0, i16 1286, i16 156, i16 0, i16 1294, i16 696, i16 880, i16 1299, i16 734, i16 881, i16 1300, i16 941, i16 882, i16 1004, i16 813, i16 828, i16 1043, i16 1017, i16 829, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 46, i16 897, i16 0, i16 896, i16 0, i16 2, i16 121, i16 1301, i16 0, i16 1302, i16 0, i16 2, i16 636, i16 972, i16 883, i16 976, i16 884, i16 2, i16 845, i16 1012, i16 885, i16 1016, i16 886, i16 2, i16 787, i16 1305, i16 781, i16 1001, i16 781, i16 2, i16 992, i16 1306, i16 781, i16 1041, i16 782, i16 2, i16 799, i16 1307, i16 887, i16 1003, i16 887, i16 2, i16 1003, i16 1308, i16 887, i16 1042, i16 888, i16 1, i16 1303, i16 152, i16 0, i16 1186, i16 173, i16 0, i16 1304, i16 176, i16 0, i16 991, i16 717, i16 889, i16 1031, i16 925, i16 890, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 699, i16 1315, i16 891, i16 1316, i16 892, i16 2, i16 907, i16 1317, i16 893, i16 1318, i16 894, i16 2, i16 717, i16 1319, i16 895, i16 1320, i16 896, i16 2, i16 925, i16 1321, i16 897, i16 1322, i16 898, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1309, i16 127, i16 0, i16 1310, i16 138, i16 0, i16 1311, i16 142, i16 0, i16 1312, i16 145, i16 0, i16 1313, i16 152, i16 0, i16 1314, i16 187, i16 0, i16 982, i16 656, i16 899, i16 1022, i16 864, i16 900, i16 987, i16 696, i16 901, i16 1027, i16 904, i16 902, i16 989, i16 712, i16 903, i16 1029, i16 920, i16 904, i16 1009, i16 829, i16 905, i16 1048, i16 1033, i16 906, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 749, i16 1219, i16 907, i16 1220, i16 908, i16 2, i16 956, i16 1221, i16 909, i16 1222, i16 910, i16 2, i16 824, i16 1325, i16 911, i16 1326, i16 912, i16 2, i16 1028, i16 1327, i16 913, i16 1328, i16 914, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1323, i16 161, i16 0, i16 1324, i16 184, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 76, i16 1632, i16 1329, i16 915, i16 1330, i16 915, i16 1331, i16 915, i16 1332, i16 915, i16 1333, i16 915, i16 1334, i16 915, i16 1335, i16 915, i16 1336, i16 915, i16 1337, i16 915, i16 1338, i16 915, i16 1339, i16 915, i16 1340, i16 915, i16 1341, i16 915, i16 1342, i16 915, i16 1343, i16 915, i16 1344, i16 915, i16 1345, i16 915, i16 1346, i16 915, i16 1347, i16 915, i16 1348, i16 915, i16 1349, i16 915, i16 1350, i16 915, i16 1351, i16 915, i16 1352, i16 915, i16 1353, i16 915, i16 1354, i16 915, i16 1355, i16 915, i16 1356, i16 915, i16 1357, i16 915, i16 1358, i16 915, i16 1359, i16 915, i16 1360, i16 915, i16 1361, i16 915, i16 1362, i16 915, i16 1363, i16 915, i16 1364, i16 915, i16 1365, i16 915, i16 1366, i16 915, i16 1367, i16 916, i16 1368, i16 916, i16 1369, i16 916, i16 1370, i16 916, i16 1371, i16 916, i16 1372, i16 916, i16 1373, i16 916, i16 1374, i16 916, i16 1375, i16 916, i16 1376, i16 916, i16 1377, i16 916, i16 1378, i16 916, i16 1379, i16 916, i16 1380, i16 916, i16 1381, i16 916, i16 1382, i16 916, i16 1383, i16 916, i16 1384, i16 916, i16 1385, i16 916, i16 1386, i16 916, i16 1387, i16 916, i16 1388, i16 916, i16 1389, i16 916, i16 1390, i16 916, i16 1391, i16 916, i16 1392, i16 916, i16 1393, i16 916, i16 1394, i16 916, i16 1395, i16 916, i16 1396, i16 916, i16 1397, i16 916, i16 1398, i16 916, i16 1399, i16 916, i16 1400, i16 916, i16 1401, i16 916, i16 1402, i16 916, i16 1403, i16 916, i16 1404, i16 916, i16 1, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 3, i16 1216, i16 0, i16 1405, i16 0, i16 1406, i16 0, i16 1407, i16 0, i16 1408, i16 0, i16 5, i16 16, i16 1217, i16 0, i16 1409, i16 0, i16 1410, i16 0, i16 1411, i16 0, i16 1412, i16 0, i16 2, i16 133, i16 1414, i16 0, i16 1415, i16 0, i16 4, i16 163, i16 996, i16 917, i16 998, i16 918, i16 1036, i16 919, i16 1038, i16 920, i16 4, i16 178, i16 1004, i16 921, i16 1006, i16 922, i16 1043, i16 923, i16 1045, i16 924, i16 6, i16 864, i16 1424, i16 925, i16 1425, i16 926, i16 1426, i16 927, i16 1427, i16 928, i16 1428, i16 929, i16 1429, i16 930, i16 6, i16 656, i16 1430, i16 931, i16 1431, i16 932, i16 1432, i16 933, i16 1433, i16 934, i16 1434, i16 935, i16 1435, i16 936, i16 6, i16 878, i16 1436, i16 937, i16 1437, i16 938, i16 1438, i16 939, i16 1439, i16 940, i16 1440, i16 941, i16 1441, i16 942, i16 6, i16 670, i16 1442, i16 943, i16 1443, i16 944, i16 1444, i16 945, i16 1445, i16 946, i16 1446, i16 947, i16 1447, i16 948, i16 12, i16 878, i16 1448, i16 949, i16 1449, i16 950, i16 1450, i16 951, i16 1451, i16 952, i16 1452, i16 953, i16 1453, i16 954, i16 1454, i16 955, i16 1455, i16 956, i16 1456, i16 953, i16 1457, i16 954, i16 1458, i16 955, i16 1459, i16 956, i16 12, i16 670, i16 1460, i16 957, i16 1461, i16 958, i16 1462, i16 959, i16 1463, i16 960, i16 1464, i16 961, i16 1465, i16 962, i16 1466, i16 963, i16 1467, i16 964, i16 1468, i16 961, i16 1469, i16 962, i16 1470, i16 963, i16 1471, i16 964, i16 6, i16 907, i16 1472, i16 965, i16 1473, i16 966, i16 1474, i16 967, i16 1475, i16 968, i16 1476, i16 969, i16 1477, i16 970, i16 6, i16 699, i16 1478, i16 971, i16 1479, i16 972, i16 1480, i16 973, i16 1481, i16 974, i16 1482, i16 975, i16 1483, i16 976, i16 6, i16 943, i16 1484, i16 977, i16 1485, i16 978, i16 1486, i16 979, i16 1487, i16 980, i16 1488, i16 981, i16 1489, i16 982, i16 6, i16 736, i16 1490, i16 983, i16 1491, i16 984, i16 1492, i16 985, i16 1493, i16 986, i16 1494, i16 987, i16 1495, i16 988, i16 6, i16 956, i16 1496, i16 989, i16 1497, i16 990, i16 1498, i16 991, i16 1499, i16 992, i16 1500, i16 993, i16 1501, i16 994, i16 6, i16 749, i16 1502, i16 995, i16 1503, i16 996, i16 1504, i16 997, i16 1505, i16 998, i16 1506, i16 999, i16 1507, i16 1000, i16 6, i16 992, i16 1508, i16 1001, i16 1509, i16 1002, i16 1510, i16 1003, i16 1511, i16 1004, i16 1512, i16 1005, i16 1513, i16 1006, i16 6, i16 787, i16 1514, i16 1007, i16 1515, i16 1008, i16 1516, i16 1009, i16 1517, i16 1010, i16 1518, i16 1011, i16 1519, i16 1012, i16 6, i16 1003, i16 1520, i16 1013, i16 1521, i16 1014, i16 1522, i16 1015, i16 1523, i16 1016, i16 1524, i16 1017, i16 1525, i16 1018, i16 6, i16 799, i16 1526, i16 1019, i16 1527, i16 1020, i16 1528, i16 1021, i16 1529, i16 1022, i16 1530, i16 1023, i16 1531, i16 1024, i16 6, i16 1038, i16 1532, i16 1025, i16 1533, i16 1026, i16 1534, i16 1027, i16 1535, i16 1028, i16 1536, i16 1029, i16 1537, i16 1030, i16 6, i16 834, i16 1538, i16 1031, i16 1539, i16 1032, i16 1540, i16 1033, i16 1541, i16 1034, i16 1542, i16 1035, i16 1543, i16 1036, i16 1, i16 1413, i16 127, i16 0, i16 1416, i16 142, i16 0, i16 1417, i16 158, i16 0, i16 1418, i16 161, i16 0, i16 1419, i16 163, i16 0, i16 1420, i16 173, i16 0, i16 1421, i16 176, i16 0, i16 1422, i16 178, i16 0, i16 1423, i16 189, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 9, i16 31, i16 890, i16 0, i16 892, i16 0, i16 1544, i16 0, i16 891, i16 0, i16 1545, i16 0, i16 1546, i16 0, i16 1547, i16 0, i16 893, i16 0, i16 894, i16 0, i16 2, i16 42, i16 1548, i16 0, i16 1549, i16 0, i16 3, i16 194, i16 1550, i16 0, i16 906, i16 0, i16 905, i16 0, i16 2, i16 238, i16 907, i16 0, i16 1551, i16 0, i16 16, i16 482, i16 961, i16 1037, i16 962, i16 1037, i16 963, i16 1037, i16 967, i16 1037, i16 968, i16 1037, i16 969, i16 1037, i16 964, i16 1037, i16 965, i16 1037, i16 966, i16 1037, i16 954, i16 1037, i16 955, i16 1037, i16 956, i16 1037, i16 959, i16 1037, i16 960, i16 1037, i16 957, i16 1037, i16 958, i16 1037, i16 4, i16 520, i16 1552, i16 1037, i16 1553, i16 1037, i16 1554, i16 1037, i16 1555, i16 1037, i16 35, i16 1049, i16 1050, i16 641, i16 1049, i16 642, i16 1052, i16 643, i16 1051, i16 644, i16 1054, i16 645, i16 1053, i16 646, i16 1056, i16 647, i16 1055, i16 648, i16 1058, i16 649, i16 1057, i16 650, i16 1060, i16 651, i16 1059, i16 652, i16 1062, i16 653, i16 1061, i16 654, i16 1064, i16 655, i16 1063, i16 656, i16 1066, i16 657, i16 1065, i16 658, i16 1068, i16 659, i16 1067, i16 660, i16 1070, i16 1038, i16 1556, i16 1038, i16 1073, i16 665, i16 1557, i16 1039, i16 1069, i16 661, i16 1071, i16 1040, i16 1558, i16 1040, i16 1072, i16 1041, i16 1559, i16 1041, i16 1079, i16 1042, i16 1560, i16 1042, i16 1081, i16 1043, i16 1561, i16 1044, i16 1562, i16 1045, i16 1563, i16 1043, i16 2, i16 1135, i16 1076, i16 667, i16 1075, i16 1046, i16 6, i16 1148, i16 1077, i16 669, i16 1074, i16 1047, i16 1078, i16 1048, i16 1564, i16 1049, i16 1080, i16 1050, i16 1082, i16 1051, i16 15, i16 1160, i16 1084, i16 1052, i16 1085, i16 1053, i16 1090, i16 1054, i16 1091, i16 1055, i16 1565, i16 1056, i16 1566, i16 1057, i16 1083, i16 1058, i16 1086, i16 1059, i16 1087, i16 1060, i16 1088, i16 1061, i16 1089, i16 1062, i16 1108, i16 1063, i16 1109, i16 1064, i16 1567, i16 1065, i16 1568, i16 1066, i16 8, i16 1276, i16 1098, i16 1067, i16 1099, i16 1068, i16 1100, i16 1069, i16 1101, i16 1070, i16 1094, i16 1071, i16 1095, i16 1072, i16 1096, i16 1073, i16 1097, i16 1074, i16 26, i16 1320, i16 1102, i16 1075, i16 1103, i16 1076, i16 1104, i16 1077, i16 1105, i16 1078, i16 1092, i16 1079, i16 1093, i16 1080, i16 1106, i16 1081, i16 1107, i16 1082, i16 1570, i16 1083, i16 1571, i16 1084, i16 1572, i16 1085, i16 1573, i16 1086, i16 1110, i16 1087, i16 1111, i16 1088, i16 1112, i16 1089, i16 1113, i16 1090, i16 1114, i16 1091, i16 1115, i16 1092, i16 1116, i16 1093, i16 1117, i16 1094, i16 1118, i16 1095, i16 1119, i16 1096, i16 1120, i16 1097, i16 1121, i16 1098, i16 1122, i16 1099, i16 1123, i16 1100, i16 1, i16 1569, i16 1229, i16 1101, i16 1155, i16 22611, i16 1, i16 0, i16 1, i16 1574, i16 127, i16 0, i16 1575, i16 142, i16 0, i16 1576, i16 145, i16 0, i16 1577, i16 154, i16 0, i16 1578, i16 173, i16 0, i16 1579, i16 178, i16 0, i16 1020, i16 864, i16 1102, i16 980, i16 656, i16 1103, i16 1026, i16 907, i16 1104, i16 986, i16 699, i16 1105, i16 1028, i16 920, i16 1106, i16 988, i16 712, i16 1107, i16 1033, i16 937, i16 1108, i16 993, i16 729, i16 1109, i16 1039, i16 992, i16 1110, i16 999, i16 787, i16 1111, i16 1044, i16 1013, i16 1112, i16 1005, i16 809, i16 1113, i16 1155, i16 22611, i16 1, i16 0, i16 3, i16 127, i16 1580, i16 0, i16 898, i16 0, i16 1581, i16 0, i16 3, i16 138, i16 1582, i16 0, i16 899, i16 0, i16 1583, i16 0, i16 2, i16 656, i16 1588, i16 1114, i16 1589, i16 1115, i16 2, i16 864, i16 1590, i16 1116, i16 1591, i16 1117, i16 2, i16 670, i16 1592, i16 1118, i16 1593, i16 1119, i16 2, i16 878, i16 1594, i16 1120, i16 1595, i16 1121, i16 2, i16 696, i16 1596, i16 1122, i16 1597, i16 1123, i16 2, i16 904, i16 1598, i16 1124, i16 1599, i16 1125, i16 2, i16 699, i16 1219, i16 1126, i16 1220, i16 1127, i16 2, i16 907, i16 1221, i16 1128, i16 1222, i16 1129, i16 2, i16 736, i16 1600, i16 1130, i16 1601, i16 1131, i16 2, i16 943, i16 1602, i16 1132, i16 1603, i16 1133, i16 2, i16 777, i16 1604, i16 1134, i16 1605, i16 1135, i16 2, i16 982, i16 1606, i16 1136, i16 1607, i16 1137, i16 2, i16 781, i16 1608, i16 1138, i16 1609, i16 1139, i16 2, i16 986, i16 1610, i16 1140, i16 1611, i16 1141, i16 2, i16 799, i16 1612, i16 1142, i16 1613, i16 1143, i16 2, i16 1003, i16 1614, i16 1144, i16 1615, i16 1145, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1584, i16 158, i16 0, i16 1585, i16 168, i16 0, i16 1586, i16 171, i16 0, i16 1587, i16 176, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 127, i16 1254, i16 0, i16 1255, i16 0, i16 898, i16 0, i16 1256, i16 0, i16 1257, i16 0, i16 2, i16 656, i16 979, i16 830, i16 981, i16 831, i16 2, i16 864, i16 1019, i16 832, i16 1021, i16 833, i16 3, i16 670, i16 1262, i16 834, i16 1263, i16 835, i16 984, i16 836, i16 5, i16 878, i16 1264, i16 837, i16 1265, i16 838, i16 1024, i16 839, i16 1266, i16 840, i16 1267, i16 841, i16 2, i16 943, i16 1268, i16 842, i16 1269, i16 843, i16 2, i16 749, i16 1270, i16 844, i16 1271, i16 845, i16 2, i16 956, i16 1272, i16 846, i16 1273, i16 847, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1258, i16 158, i16 0, i16 1259, i16 161, i16 0, i16 1260, i16 173, i16 0, i16 1261, i16 189, i16 0, i16 1000, i16 787, i16 848, i16 1040, i16 992, i16 849, i16 1008, i16 834, i16 850, i16 1047, i16 1038, i16 851, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 127, i16 1616, i16 0, i16 1617, i16 0, i16 4, i16 656, i16 1588, i16 1146, i16 1589, i16 1147, i16 1618, i16 1148, i16 1619, i16 1149, i16 4, i16 864, i16 1590, i16 1150, i16 1591, i16 1151, i16 1620, i16 1152, i16 1621, i16 1153, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 46, i16 74, i16 908, i16 0, i16 909, i16 0, i16 910, i16 0, i16 911, i16 0, i16 912, i16 0, i16 913, i16 0, i16 914, i16 0, i16 915, i16 0, i16 916, i16 0, i16 917, i16 0, i16 918, i16 0, i16 919, i16 0, i16 920, i16 0, i16 921, i16 0, i16 922, i16 0, i16 923, i16 0, i16 924, i16 0, i16 925, i16 0, i16 926, i16 0, i16 927, i16 0, i16 928, i16 0, i16 929, i16 0, i16 930, i16 0, i16 931, i16 0, i16 932, i16 0, i16 933, i16 0, i16 934, i16 0, i16 935, i16 0, i16 936, i16 0, i16 937, i16 0, i16 938, i16 0, i16 939, i16 0, i16 940, i16 0, i16 941, i16 0, i16 942, i16 0, i16 943, i16 0, i16 944, i16 0, i16 945, i16 0, i16 946, i16 0, i16 947, i16 0, i16 948, i16 0, i16 949, i16 0, i16 950, i16 0, i16 951, i16 0, i16 952, i16 0, i16 953, i16 0, i16 3, i16 1508, i16 1125, i16 1154, i16 1136, i16 1155, i16 1128, i16 1156, i16 3, i16 1514, i16 1126, i16 1157, i16 1127, i16 1158, i16 1138, i16 1159, i16 3, i16 1524, i16 1144, i16 1160, i16 1130, i16 1161, i16 1137, i16 1162, i16 3, i16 1572, i16 1140, i16 1163, i16 1152, i16 1164, i16 1143, i16 1165, i16 3, i16 1579, i16 1141, i16 1166, i16 1142, i16 1167, i16 1154, i16 1168, i16 3, i16 1588, i16 1129, i16 1169, i16 1145, i16 1170, i16 1153, i16 1171, i16 1, i16 1124, i16 1506, i16 1172, i16 1133, i16 1532, i16 1173, i16 1131, i16 1534, i16 1174, i16 1132, i16 1538, i16 1175, i16 1135, i16 1549, i16 1176, i16 1134, i16 1556, i16 1177, i16 1139, i16 1570, i16 1178, i16 1146, i16 1594, i16 1179, i16 1149, i16 1597, i16 1180, i16 1147, i16 1599, i16 1181, i16 1148, i16 1603, i16 1182, i16 1151, i16 1614, i16 1183, i16 1150, i16 1621, i16 1184, i16 1155, i16 22611, i16 1, i16 0, i16 6, i16 145, i16 904, i16 0, i16 900, i16 0, i16 1183, i16 0, i16 901, i16 0, i16 902, i16 0, i16 903, i16 0, i16 2, i16 712, i16 992, i16 767, i16 990, i16 768, i16 2, i16 920, i16 1030, i16 769, i16 1032, i16 770, i16 1, i16 1181, i16 127, i16 0, i16 1180, i16 136, i16 0, i16 1182, i16 142, i16 0, i16 1622, i16 163, i16 0, i16 1186, i16 173, i16 0, i16 1187, i16 178, i16 0, i16 1188, i16 303, i16 0, i16 1189, i16 309, i16 0, i16 1190, i16 322, i16 0, i16 1192, i16 330, i16 0, i16 1193, i16 340, i16 0, i16 1194, i16 343, i16 0, i16 1195, i16 346, i16 0, i16 978, i16 656, i16 777, i16 1018, i16 864, i16 778, i16 1196, i16 686, i16 763, i16 1197, i16 894, i16 765, i16 985, i16 699, i16 779, i16 1025, i16 907, i16 780, i16 996, i16 762, i16 1185, i16 1036, i16 968, i16 1186, i16 1001, i16 787, i16 781, i16 1041, i16 992, i16 782, i16 1004, i16 809, i16 783, i16 1043, i16 1013, i16 784, i16 1200, i16 1506, i16 785, i16 1201, i16 1570, i16 786, i16 1202, i16 1514, i16 787, i16 1203, i16 1579, i16 788, i16 1204, i16 1532, i16 789, i16 1205, i16 1597, i16 790, i16 1208, i16 1541, i16 793, i16 1209, i16 1606, i16 794, i16 1210, i16 1549, i16 795, i16 1211, i16 1614, i16 796, i16 1212, i16 1553, i16 797, i16 1213, i16 1618, i16 798, i16 1214, i16 1556, i16 799, i16 1215, i16 1621, i16 800, i16 1155, i16 22611, i16 1, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 877, i16 1780, i16 1190, i16 1781, i16 1833, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 990, i16 1792, i16 1190, i16 1793, i16 1844, i16 3, i16 1009, i16 1794, i16 1845, i16 1795, i16 1846, i16 1796, i16 1847, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 4, i16 1206, i16 1828, i16 1190, i16 1829, i16 1878, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1266, i16 1838, i16 1190, i16 1839, i16 1887, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 8, i16 1361, i16 1848, i16 1190, i16 1849, i16 1896, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1803, i16 1075, i16 1925, i16 0, i16 2, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 20, i16 1370, i16 1850, i16 1934, i16 1851, i16 1935, i16 1852, i16 1936, i16 1853, i16 1937, i16 1854, i16 1938, i16 1855, i16 1939, i16 1856, i16 1934, i16 1857, i16 1940, i16 1858, i16 1941, i16 1859, i16 1942, i16 1860, i16 1943, i16 1861, i16 1944, i16 1862, i16 1945, i16 1863, i16 1946, i16 1864, i16 1947, i16 1865, i16 1948, i16 1866, i16 1949, i16 1867, i16 1950, i16 1868, i16 1951, i16 1869, i16 1952, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 7, i16 1418, i16 1874, i16 1187, i16 1848, i16 1953, i16 1849, i16 1954, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 20, i16 1440, i16 1760, i16 1190, i16 1761, i16 1955, i16 1762, i16 1956, i16 1763, i16 1957, i16 1764, i16 1190, i16 1765, i16 1958, i16 1770, i16 1959, i16 1771, i16 1960, i16 1772, i16 1959, i16 1773, i16 1961, i16 1774, i16 1959, i16 1775, i16 1962, i16 1828, i16 1190, i16 1829, i16 1878, i16 1822, i16 1963, i16 1823, i16 1964, i16 1824, i16 1963, i16 1825, i16 1965, i16 1820, i16 1966, i16 1821, i16 1967, i16 27, i16 2011, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 1, i16 1696, i16 1, i16 1187, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 877, i16 1778, i16 1968, i16 1779, i16 1846, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1836, i16 1971, i16 1837, i16 1846, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 2, i16 1429, i16 1881, i16 1923, i16 1882, i16 1924, i16 2, i16 1440, i16 1879, i16 1974, i16 1880, i16 1846, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 2, i16 836, i16 1768, i16 1821, i16 1769, i16 1822, i16 8, i16 843, i16 1766, i16 1190, i16 1767, i16 1975, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 877, i16 1776, i16 1190, i16 1777, i16 1976, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 2, i16 944, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 955, i16 1786, i16 1190, i16 1787, i16 1977, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 2, i16 1088, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1099, i16 1804, i16 1190, i16 1805, i16 1978, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 4, i16 1132, i16 1808, i16 1190, i16 1809, i16 1979, i16 1814, i16 1864, i16 1815, i16 1865, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 4, i16 1206, i16 1816, i16 1190, i16 1817, i16 1980, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1834, i16 1190, i16 1835, i16 1981, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 3, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 2, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 4, i16 1440, i16 1877, i16 1190, i16 1878, i16 1982, i16 1881, i16 1190, i16 1882, i16 1983, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 9, i16 1418, i16 1874, i16 1187, i16 1848, i16 1984, i16 1849, i16 1985, i16 1844, i16 1984, i16 1845, i16 1986, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 24, i16 1440, i16 1770, i16 1190, i16 1771, i16 1987, i16 1772, i16 1988, i16 1773, i16 1989, i16 1774, i16 1990, i16 1775, i16 1991, i16 1764, i16 1992, i16 1765, i16 1993, i16 1822, i16 1190, i16 1823, i16 1994, i16 1824, i16 1995, i16 1825, i16 1996, i16 1828, i16 1997, i16 1829, i16 1998, i16 1818, i16 1999, i16 1819, i16 2000, i16 1760, i16 1190, i16 1761, i16 1955, i16 1883, i16 2001, i16 1884, i16 2002, i16 1885, i16 2003, i16 1886, i16 2004, i16 1762, i16 2001, i16 1763, i16 2005, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 2, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 8, i16 843, i16 1768, i16 1190, i16 1769, i16 2006, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 877, i16 1778, i16 1190, i16 1779, i16 2007, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 2, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 2, i16 955, i16 1788, i16 1190, i16 1789, i16 2008, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 990, i16 1790, i16 1190, i16 1791, i16 2009, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 7, i16 1046, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 1874, i16 1187, i16 1799, i16 1190, i16 1800, i16 2010, i16 3, i16 1075, i16 1801, i16 1190, i16 1802, i16 2011, i16 1803, i16 1925, i16 2, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 2, i16 1099, i16 1806, i16 1190, i16 1807, i16 2012, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 4, i16 1132, i16 1812, i16 1190, i16 1813, i16 2013, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 4, i16 1206, i16 1826, i16 1190, i16 1827, i16 2014, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1242, i16 1832, i16 1190, i16 1833, i16 2015, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1836, i16 1190, i16 1837, i16 2016, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 8, i16 1361, i16 1846, i16 1190, i16 1847, i16 2017, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1418, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 2, i16 1429, i16 1881, i16 1923, i16 1882, i16 1924, i16 2, i16 1440, i16 1879, i16 1190, i16 1880, i16 2018, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1046, i16 1870, i16 1190, i16 1871, i16 1915, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 2, i16 1400, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 81, i16 1697, i16 1712, i16 1698, i16 2019, i16 1699, i16 2019, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 898, i16 1887, i16 2020, i16 1888, i16 2021, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 9, i16 1418, i16 1874, i16 1187, i16 1848, i16 1984, i16 1849, i16 1985, i16 1844, i16 1984, i16 1845, i16 1986, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 24, i16 1440, i16 1770, i16 1190, i16 1771, i16 1987, i16 1772, i16 1988, i16 1773, i16 1989, i16 1774, i16 1990, i16 1775, i16 1991, i16 1764, i16 1992, i16 1765, i16 1993, i16 1822, i16 1190, i16 1823, i16 1994, i16 1824, i16 1995, i16 1825, i16 1996, i16 1828, i16 1997, i16 1829, i16 1998, i16 1818, i16 1999, i16 1819, i16 2000, i16 1760, i16 1190, i16 1761, i16 1955, i16 1883, i16 2001, i16 1884, i16 2002, i16 1885, i16 2003, i16 1886, i16 2004, i16 1762, i16 2001, i16 1763, i16 2005, i16 1, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1220, i16 2022, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1892, i16 1189, i16 1893, i16 1189, i16 1894, i16 1189, i16 3, i16 461, i16 1895, i16 1189, i16 1896, i16 1189, i16 1897, i16 1189, i16 3, i16 465, i16 1898, i16 1189, i16 1899, i16 1189, i16 1900, i16 1189, i16 3, i16 469, i16 1901, i16 1189, i16 1902, i16 1189, i16 1903, i16 1189, i16 2, i16 491, i16 1910, i16 1189, i16 1911, i16 1189, i16 2, i16 499, i16 1913, i16 1189, i16 1914, i16 1189, i16 29, i16 519, i16 1918, i16 1189, i16 1703, i16 1189, i16 1704, i16 1189, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 1717, i16 1189, i16 1718, i16 1189, i16 1719, i16 1189, i16 1720, i16 1189, i16 1721, i16 1189, i16 1722, i16 1189, i16 1723, i16 1189, i16 1724, i16 1189, i16 1725, i16 1189, i16 1726, i16 1189, i16 1727, i16 1189, i16 1728, i16 1189, i16 1729, i16 1189, i16 1730, i16 1189, i16 2, i16 753, i16 1919, i16 1189, i16 1920, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1759, i16 1846, i16 1758, i16 2023, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 898, i16 1888, i16 1846, i16 1887, i16 2024, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 955, i16 1785, i16 1846, i16 1784, i16 2025, i16 4, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 1921, i16 2026, i16 1922, i16 2027, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1046, i16 1798, i16 1846, i16 1797, i16 2028, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 2029, i16 1815, i16 2030, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 2, i16 1179, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1817, i16 1846, i16 1816, i16 2031, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 8, i16 1361, i16 1843, i16 1846, i16 1842, i16 2032, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 2, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 7, i16 1418, i16 1874, i16 1187, i16 1873, i16 1846, i16 1872, i16 2033, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 10, i16 1440, i16 1841, i16 1846, i16 1840, i16 2034, i16 1771, i16 1846, i16 1770, i16 2035, i16 1831, i16 2036, i16 1830, i16 2037, i16 1829, i16 1846, i16 1828, i16 2038, i16 1823, i16 2039, i16 1822, i16 2040, i16 4, i16 2011, i16 1923, i16 1744, i16 1924, i16 2041, i16 1925, i16 2042, i16 1926, i16 2043, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1702, i16 205, i16 1189, i16 1701, i16 221, i16 1189, i16 1700, i16 324, i16 1189, i16 1889, i16 371, i16 1189, i16 1890, i16 445, i16 1189, i16 1891, i16 447, i16 1189, i16 1904, i16 473, i16 1189, i16 1905, i16 476, i16 1189, i16 1906, i16 479, i16 1189, i16 1907, i16 481, i16 1189, i16 1908, i16 484, i16 1189, i16 1909, i16 487, i16 1189, i16 1912, i16 495, i16 1189, i16 1915, i16 503, i16 1189, i16 1916, i16 507, i16 1189, i16 1917, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 4, i16 877, i16 1778, i16 1190, i16 1779, i16 2007, i16 1776, i16 1190, i16 1777, i16 1976, i16 6, i16 898, i16 1927, i16 1190, i16 1928, i16 2044, i16 1929, i16 2045, i16 1930, i16 2046, i16 1782, i16 1190, i16 1783, i16 2047, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 4, i16 1099, i16 1931, i16 1190, i16 1932, i16 2048, i16 1933, i16 2049, i16 1934, i16 2050, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 6, i16 1132, i16 1935, i16 1190, i16 1936, i16 2051, i16 1937, i16 2052, i16 1938, i16 2053, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1836, i16 1190, i16 1837, i16 2016, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 2, i16 1429, i16 1881, i16 1923, i16 1882, i16 1924, i16 2, i16 1440, i16 1879, i16 1190, i16 1880, i16 2018, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 4, i16 1132, i16 1810, i16 1190, i16 1811, i16 2054, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 10, i16 1266, i16 1836, i16 2055, i16 1837, i16 2056, i16 1875, i16 2057, i16 1876, i16 2058, i16 1877, i16 2059, i16 1878, i16 2060, i16 1881, i16 2061, i16 1882, i16 2062, i16 1879, i16 2063, i16 1880, i16 2064, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 22, i16 1370, i16 1856, i16 2065, i16 1857, i16 2066, i16 1858, i16 2067, i16 1859, i16 2068, i16 1860, i16 2069, i16 1861, i16 2070, i16 1862, i16 2071, i16 1863, i16 2072, i16 1868, i16 2073, i16 1869, i16 2074, i16 1866, i16 2075, i16 1867, i16 2076, i16 1864, i16 2077, i16 1865, i16 2078, i16 1820, i16 2079, i16 1821, i16 2080, i16 1764, i16 2081, i16 1765, i16 2082, i16 1828, i16 2081, i16 1829, i16 2083, i16 1848, i16 2081, i16 1849, i16 2084, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 1874, i16 1418, i16 1187, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 4, i16 877, i16 1939, i16 1190, i16 1940, i16 2085, i16 1941, i16 2086, i16 1942, i16 2087, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 4, i16 1099, i16 1943, i16 1190, i16 1944, i16 2088, i16 1945, i16 2089, i16 1946, i16 2090, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 4, i16 1132, i16 1810, i16 1190, i16 1811, i16 2054, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 32766, i16 32766, i16 32766, i16 -2, i16 16384, i16 0, i16 16384, i16 -2, i16 16384, i16 0, i16 16384, i16 -16206, i16 16384, i16 0, i16 16384, i16 -16204, i16 16384, i16 0, i16 16384, i16 -16353, i16 16384, i16 0, i16 16384, i16 -16352, i16 16384, i16 0, i16 16384, i16 -16351, i16 16384, i16 0, i16 16384, i16 -16350, i16 16384, i16 0, i16 16384, i16 -16349, i16 16384, i16 0, i16 16384, i16 -16348, i16 16384, i16 0, i16 16384, i16 -16347, i16 16384, i16 0, i16 16384, i16 -16346, i16 16384, i16 0, i16 16384, i16 -16345, i16 16384, i16 0, i16 16384, i16 -16344, i16 16384, i16 0, i16 16384, i16 -16343, i16 16384, i16 0, i16 16384, i16 -16342, i16 16384, i16 0, i16 16384, i16 -16341, i16 16384, i16 0, i16 16384, i16 -15486, i16 16384, i16 0, i16 16384, i16 -16340, i16 16384, i16 0, i16 16384, i16 -16339, i16 16384, i16 0, i16 16384, i16 -15485, i16 16384, i16 0, i16 16384, i16 -16338, i16 16384, i16 0, i16 16384, i16 -15484, i16 16384, i16 0, i16 16384, i16 -15483, i16 16384, i16 0, i16 16384, i16 -15482, i16 16384, i16 0, i16 16384, i16 -16337, i16 16384, i16 0, i16 16384, i16 -16336, i16 16384, i16 0, i16 16384, i16 -16335, i16 16384, i16 0, i16 16384, i16 -16334, i16 16384, i16 0, i16 16384, i16 -16333, i16 16384, i16 0, i16 16384, i16 -15481, i16 16384, i16 0, i16 16384, i16 -16332, i16 16384, i16 0, i16 16384, i16 -16331, i16 16384, i16 0, i16 16384, i16 -16330, i16 16384, i16 0, i16 16384, i16 -16329, i16 16384, i16 0, i16 16384, i16 -16328, i16 16384, i16 0, i16 16384, i16 -16327, i16 16384, i16 0, i16 16384, i16 -15480, i16 16384, i16 0, i16 16384, i16 -16326, i16 16384, i16 0, i16 16384, i16 -16325, i16 16534, i16 14, i16 17273, i16 -16384, i16 16415, i16 14, i16 17273, i16 -16384, i16 16416, i16 14, i16 17273, i16 -16384, i16 16417, i16 14, i16 17273, i16 -16384, i16 16418, i16 14, i16 17273, i16 -16384, i16 16419, i16 14, i16 17273, i16 -16384, i16 16420, i16 14, i16 17273, i16 -16384, i16 16421, i16 14, i16 17273, i16 -16384, i16 16422, i16 14, i16 17273, i16 -16384, i16 16423, i16 14, i16 17273, i16 -16384, i16 16424, i16 14, i16 17273, i16 -16384, i16 16415, i16 17, i16 17273, i16 -16384, i16 16415, i16 896, i16 17273, i16 -16384, i16 16415, i16 897, i16 17273, i16 -16384, i16 16415, i16 19, i16 17273, i16 -16384, i16 16415, i16 21, i16 17273, i16 -16384, i16 16415, i16 18, i16 17273, i16 -16384, i16 16415, i16 20, i16 17273, i16 -16384, i16 16415, i16 14, i16 16392, i16 -16384, i16 16416, i16 14, i16 16392, i16 -16384, i16 16417, i16 14, i16 16392, i16 -16384, i16 16418, i16 14, i16 16392, i16 -16384, i16 16419, i16 14, i16 16392, i16 -16384, i16 16420, i16 14, i16 16392, i16 -16384, i16 16421, i16 14, i16 16392, i16 -16384, i16 16422, i16 14, i16 16392, i16 -16384, i16 16423, i16 14, i16 16392, i16 -16384, i16 16424, i16 14, i16 16392, i16 -16384, i16 16425, i16 14, i16 17273, i16 -16384, i16 16425, i16 15, i16 16392, i16 -16384, i16 16425, i16 26, i16 17273, i16 -16384, i16 16425, i16 27, i16 17273, i16 -16384, i16 16426, i16 14, i16 17273, i16 -16384, i16 16427, i16 14, i16 17273, i16 -16384, i16 17282, i16 14, i16 17273, i16 -16384, i16 17282, i16 18, i16 17273, i16 -16384, i16 16428, i16 14, i16 17273, i16 -16384, i16 16428, i16 16, i16 17273, i16 -16384, i16 16428, i16 17, i16 17273, i16 -16384, i16 16428, i16 897, i16 17273, i16 -16384, i16 16428, i16 20, i16 17273, i16 -16384, i16 16428, i16 18, i16 17273, i16 -16384, i16 16428, i16 23, i16 17273, i16 -16384, i16 16428, i16 26, i16 17273, i16 -16384, i16 16428, i16 27, i16 17273, i16 -16384, i16 16429, i16 14, i16 17273, i16 -16384, i16 17283, i16 14, i16 17273, i16 -16384, i16 17283, i16 25, i16 17273, i16 -16384, i16 16430, i16 14, i16 17273, i16 -16384, i16 17284, i16 16, i16 17273, i16 -16384, i16 17284, i16 17, i16 17273, i16 -16384, i16 17284, i16 20, i16 17273, i16 -16384, i16 17284, i16 22, i16 17273, i16 -16384, i16 17284, i16 26, i16 17273, i16 -16384, i16 17284, i16 27, i16 17273, i16 -16384, i16 18009, i16 1628, i16 18015, i16 -16384, i16 17285, i16 14, i16 17273, i16 -16384, i16 17286, i16 14, i16 17273, i16 -16384, i16 17286, i16 15, i16 17273, i16 -16384, i16 17286, i16 25, i16 17273, i16 -16384, i16 16431, i16 14, i16 17273, i16 -16384, i16 16431, i16 16, i16 17273, i16 -16384, i16 16431, i16 18, i16 17273, i16 -16384, i16 16431, i16 24, i16 17273, i16 -16384, i16 16431, i16 25, i16 17273, i16 -16384, i16 16431, i16 23, i16 17273, i16 -16384, i16 16432, i16 14, i16 17273, i16 -16384, i16 16433, i16 14, i16 17273, i16 -16384, i16 16433, i16 15, i16 17273, i16 -16384, i16 16433, i16 16, i16 17273, i16 -16384, i16 16433, i16 18, i16 17273, i16 -16384, i16 16433, i16 25, i16 17273, i16 -16384, i16 16434, i16 14, i16 17273, i16 -16384, i16 16434, i16 15, i16 16392, i16 -16384, i16 16434, i16 16, i16 17273, i16 -16384, i16 16434, i16 17, i16 17273, i16 -16384, i16 16434, i16 897, i16 17273, i16 -16384, i16 16434, i16 22, i16 17273, i16 -16384, i16 16434, i16 27, i16 17273, i16 -16384, i16 18018, i16 1628, i16 18015, i16 -16384, i16 16435, i16 14, i16 17273, i16 -16384, i16 17287, i16 14, i16 17273, i16 -16384, i16 16436, i16 14, i16 17273, i16 -16384, i16 16436, i16 16, i16 17273, i16 -16384, i16 16436, i16 18, i16 17273, i16 -16384, i16 16436, i16 25, i16 17273, i16 -16384, i16 16437, i16 14, i16 17273, i16 -16384, i16 16437, i16 16, i16 17273, i16 -16384, i16 16438, i16 14, i16 17273, i16 -16384, i16 16438, i16 18, i16 17273, i16 -16384, i16 16438, i16 24, i16 17273, i16 -16384, i16 16439, i16 14, i16 17273, i16 -16384, i16 16439, i16 16, i16 17273, i16 -16384, i16 16439, i16 17, i16 17273, i16 -16384, i16 16439, i16 897, i16 17273, i16 -16384, i16 16439, i16 19, i16 17273, i16 -16384, i16 16439, i16 22, i16 17273, i16 -16384, i16 16439, i16 26, i16 17273, i16 -16384, i16 16439, i16 27, i16 17273, i16 -16384, i16 16440, i16 14, i16 17273, i16 -16384, i16 16441, i16 897, i16 17273, i16 -16384, i16 17288, i16 14, i16 17273, i16 -16384, i16 16442, i16 14, i16 17273, i16 -16384, i16 16442, i16 16, i16 17273, i16 -16384, i16 16442, i16 20, i16 17273, i16 -16384, i16 16442, i16 897, i16 17273, i16 -16384, i16 16443, i16 14, i16 17273, i16 -16384, i16 16443, i16 16, i16 17273, i16 -16384, i16 16444, i16 14, i16 17273, i16 -16384, i16 16425, i16 14, i16 16393, i16 -16384, i16 16425, i16 26, i16 16393, i16 -16384, i16 16425, i16 27, i16 16393, i16 -16384, i16 16426, i16 14, i16 16393, i16 -16384, i16 16427, i16 14, i16 16393, i16 -16384, i16 17282, i16 14, i16 16393, i16 -16384, i16 17282, i16 18, i16 16393, i16 -16384, i16 16428, i16 14, i16 16393, i16 -16384, i16 16428, i16 16, i16 16393, i16 -16384, i16 16428, i16 17, i16 16393, i16 -16384, i16 16428, i16 897, i16 16393, i16 -16384, i16 16428, i16 20, i16 16393, i16 -16384, i16 16428, i16 18, i16 16393, i16 -16384, i16 16428, i16 23, i16 16393, i16 -16384, i16 16428, i16 26, i16 16393, i16 -16384, i16 16428, i16 27, i16 16393, i16 -16384, i16 16429, i16 14, i16 16393, i16 -16384, i16 17283, i16 14, i16 16393, i16 -16384, i16 17283, i16 25, i16 16393, i16 -16384, i16 16430, i16 14, i16 16393, i16 -16384, i16 17284, i16 16, i16 16393, i16 -16384, i16 17284, i16 17, i16 16393, i16 -16384, i16 17284, i16 20, i16 16393, i16 -16384, i16 17284, i16 22, i16 16393, i16 -16384, i16 17284, i16 26, i16 16393, i16 -16384, i16 17284, i16 27, i16 16393, i16 -16384, i16 18009, i16 1628, i16 18021, i16 -16384, i16 17285, i16 14, i16 16393, i16 -16384, i16 17286, i16 14, i16 16393, i16 -16384, i16 17286, i16 25, i16 16393, i16 -16384, i16 16431, i16 14, i16 16393, i16 -16384, i16 16431, i16 16, i16 16393, i16 -16384, i16 16431, i16 18, i16 16393, i16 -16384, i16 16431, i16 24, i16 16393, i16 -16384, i16 16431, i16 25, i16 16393, i16 -16384, i16 16431, i16 23, i16 16393, i16 -16384, i16 16432, i16 14, i16 16393, i16 -16384, i16 16433, i16 14, i16 16393, i16 -16384, i16 16433, i16 16, i16 16393, i16 -16384, i16 16433, i16 18, i16 16393, i16 -16384, i16 16433, i16 25, i16 16393, i16 -16384, i16 16434, i16 14, i16 16393, i16 -16384, i16 16434, i16 16, i16 16393, i16 -16384, i16 16434, i16 17, i16 16393, i16 -16384, i16 16434, i16 897, i16 16393, i16 -16384, i16 16434, i16 22, i16 16393, i16 -16384, i16 16434, i16 27, i16 16393, i16 -16384, i16 18018, i16 1628, i16 18021, i16 -16384, i16 16435, i16 14, i16 16393, i16 -16384, i16 17287, i16 14, i16 16393, i16 -16384, i16 16436, i16 14, i16 16393, i16 -16384, i16 16436, i16 16, i16 16393, i16 -16384, i16 16436, i16 18, i16 16393, i16 -16384, i16 16436, i16 25, i16 16393, i16 -16384, i16 16437, i16 14, i16 16393, i16 -16384, i16 16437, i16 16, i16 16393, i16 -16384, i16 16438, i16 14, i16 16393, i16 -16384, i16 16438, i16 18, i16 16393, i16 -16384, i16 16438, i16 24, i16 16393, i16 -16384, i16 16439, i16 14, i16 16393, i16 -16384, i16 16439, i16 16, i16 16393, i16 -16384, i16 16439, i16 17, i16 16393, i16 -16384, i16 16439, i16 897, i16 16393, i16 -16384, i16 16439, i16 19, i16 16393, i16 -16384, i16 16439, i16 22, i16 16393, i16 -16384, i16 16439, i16 26, i16 16393, i16 -16384, i16 16439, i16 27, i16 16393, i16 -16384, i16 16440, i16 14, i16 16393, i16 -16384, i16 16441, i16 897, i16 16393, i16 -16384, i16 17288, i16 14, i16 16393, i16 -16384, i16 16442, i16 14, i16 16393, i16 -16384, i16 16442, i16 16, i16 16393, i16 -16384, i16 16442, i16 897, i16 16393, i16 -16384, i16 16442, i16 20, i16 16393, i16 -16384, i16 16443, i16 14, i16 16393, i16 -16384, i16 16443, i16 16, i16 16393, i16 -16384, i16 16444, i16 14, i16 16393, i16 -16384, i16 16445, i16 16398, i16 17273, i16 -16384, i16 16446, i16 16398, i16 17273, i16 -16384, i16 16448, i16 16398, i16 17273, i16 -16384, i16 16449, i16 16398, i16 17273, i16 -16384, i16 16450, i16 16398, i16 17273, i16 -16384, i16 16451, i16 16398, i16 17273, i16 -16384, i16 16452, i16 16398, i16 17273, i16 -16384, i16 16453, i16 16398, i16 17273, i16 -16384, i16 16454, i16 16398, i16 17273, i16 -16384, i16 16455, i16 16398, i16 17273, i16 -16384, i16 16456, i16 16398, i16 17273, i16 -16384, i16 16457, i16 16398, i16 17273, i16 -16384, i16 16458, i16 16398, i16 17273, i16 -16384, i16 16459, i16 16398, i16 17273, i16 -16384, i16 16460, i16 16398, i16 17273, i16 -16384, i16 16461, i16 16398, i16 17273, i16 -16384, i16 16462, i16 16398, i16 17273, i16 -16384, i16 16463, i16 16398, i16 17273, i16 -16384, i16 16464, i16 16398, i16 17273, i16 -16384, i16 16465, i16 16398, i16 17273, i16 -16384, i16 16466, i16 16398, i16 17273, i16 -16384, i16 16467, i16 16398, i16 17273, i16 -16384, i16 16468, i16 16398, i16 17273, i16 -16384, i16 16469, i16 16398, i16 17273, i16 -16384, i16 16470, i16 16398, i16 17273, i16 -16384, i16 16471, i16 16398, i16 17273, i16 -16384, i16 16474, i16 16398, i16 17273, i16 -16384, i16 16475, i16 16398, i16 17273, i16 -16384, i16 16476, i16 16398, i16 17273, i16 -16384, i16 16477, i16 16398, i16 17273, i16 -16384, i16 16478, i16 16398, i16 17273, i16 -16384, i16 16480, i16 16398, i16 17273, i16 -16384, i16 16482, i16 17278, i16 17273, i16 -16384, i16 16482, i16 16398, i16 17273, i16 -16384, i16 61, i16 14, i16 3, i16 -16384, i16 61, i16 14, i16 4, i16 -16384, i16 61, i16 14, i16 5, i16 -16384, i16 61, i16 14, i16 6, i16 -16384, i16 62, i16 14, i16 3, i16 -16384, i16 62, i16 14, i16 4, i16 -16384, i16 62, i16 14, i16 5, i16 -16384, i16 62, i16 14, i16 6, i16 -16384, i16 64, i16 14, i16 3, i16 -16384, i16 64, i16 14, i16 4, i16 -16384, i16 64, i16 14, i16 5, i16 -16384, i16 64, i16 14, i16 6, i16 -16384, i16 65, i16 14, i16 3, i16 -16384, i16 65, i16 14, i16 4, i16 -16384, i16 65, i16 14, i16 5, i16 -16384, i16 65, i16 14, i16 6, i16 -16384, i16 66, i16 14, i16 3, i16 -16384, i16 66, i16 14, i16 4, i16 -16384, i16 66, i16 14, i16 5, i16 -16384, i16 66, i16 14, i16 6, i16 -16384, i16 67, i16 14, i16 3, i16 -16384, i16 67, i16 14, i16 4, i16 -16384, i16 67, i16 14, i16 5, i16 -16384, i16 67, i16 14, i16 6, i16 -16384, i16 68, i16 14, i16 3, i16 -16384, i16 68, i16 14, i16 4, i16 -16384, i16 68, i16 14, i16 5, i16 -16384, i16 68, i16 14, i16 6, i16 -16384, i16 69, i16 14, i16 3, i16 -16384, i16 69, i16 14, i16 4, i16 -16384, i16 69, i16 14, i16 5, i16 -16384, i16 69, i16 14, i16 6, i16 -16384, i16 70, i16 14, i16 3, i16 -16384, i16 70, i16 14, i16 4, i16 -16384, i16 70, i16 14, i16 5, i16 -16384, i16 70, i16 14, i16 6, i16 -16384, i16 71, i16 14, i16 3, i16 -16384, i16 71, i16 14, i16 4, i16 -16384, i16 72, i16 14, i16 3, i16 -16384, i16 72, i16 14, i16 4, i16 -16384, i16 73, i16 14, i16 3, i16 -16384, i16 73, i16 14, i16 4, i16 -16384, i16 74, i16 14, i16 3, i16 -16384, i16 74, i16 14, i16 4, i16 -16384, i16 75, i16 14, i16 3, i16 -16384, i16 75, i16 14, i16 4, i16 -16384, i16 76, i16 14, i16 3, i16 -16384, i16 76, i16 14, i16 4, i16 -16384, i16 77, i16 14, i16 3, i16 -16384, i16 77, i16 14, i16 4, i16 -16384, i16 78, i16 14, i16 3, i16 -16384, i16 78, i16 14, i16 4, i16 -16384, i16 78, i16 14, i16 5, i16 -16384, i16 78, i16 14, i16 6, i16 -16384, i16 79, i16 14, i16 3, i16 -16384, i16 79, i16 14, i16 4, i16 -16384, i16 79, i16 14, i16 5, i16 -16384, i16 79, i16 14, i16 6, i16 -16384, i16 80, i16 14, i16 3, i16 -16384, i16 80, i16 14, i16 4, i16 -16384, i16 80, i16 14, i16 5, i16 -16384, i16 80, i16 14, i16 6, i16 -16384, i16 81, i16 14, i16 3, i16 -16384, i16 81, i16 14, i16 4, i16 -16384, i16 81, i16 14, i16 5, i16 -16384, i16 81, i16 14, i16 6, i16 -16384, i16 82, i16 14, i16 3, i16 -16384, i16 82, i16 14, i16 4, i16 -16384, i16 82, i16 14, i16 5, i16 -16384, i16 82, i16 14, i16 6, i16 -16384, i16 83, i16 14, i16 3, i16 -16384, i16 83, i16 14, i16 4, i16 -16384, i16 83, i16 14, i16 5, i16 -16384, i16 83, i16 14, i16 6, i16 -16384, i16 84, i16 14, i16 3, i16 -16384, i16 84, i16 14, i16 4, i16 -16384, i16 84, i16 14, i16 5, i16 -16384, i16 84, i16 14, i16 6, i16 -16384, i16 85, i16 14, i16 3, i16 -16384, i16 85, i16 14, i16 4, i16 -16384, i16 85, i16 14, i16 5, i16 -16384, i16 85, i16 14, i16 6, i16 -16384, i16 86, i16 14, i16 3, i16 -16384, i16 86, i16 14, i16 4, i16 -16384, i16 86, i16 14, i16 5, i16 -16384, i16 86, i16 14, i16 6, i16 -16384, i16 87, i16 14, i16 3, i16 -16384, i16 87, i16 14, i16 4, i16 -16384, i16 87, i16 14, i16 5, i16 -16384, i16 87, i16 14, i16 6, i16 -16384, i16 90, i16 14, i16 3, i16 -16384, i16 90, i16 14, i16 4, i16 -16384, i16 90, i16 14, i16 5, i16 -16384, i16 90, i16 14, i16 6, i16 -16384, i16 91, i16 14, i16 3, i16 -16384, i16 91, i16 14, i16 4, i16 -16384, i16 91, i16 14, i16 5, i16 -16384, i16 91, i16 14, i16 6, i16 -16384, i16 92, i16 14, i16 3, i16 -16384, i16 92, i16 14, i16 4, i16 -16384, i16 92, i16 14, i16 5, i16 -16384, i16 92, i16 14, i16 6, i16 -16384, i16 93, i16 14, i16 3, i16 -16384, i16 93, i16 14, i16 4, i16 -16384, i16 93, i16 14, i16 5, i16 -16384, i16 93, i16 14, i16 6, i16 -16384, i16 94, i16 14, i16 3, i16 -16384, i16 94, i16 14, i16 4, i16 -16384, i16 96, i16 14, i16 3, i16 -16384, i16 96, i16 14, i16 4, i16 -16384, i16 1640, i16 1643, i16 1646, i16 -16384, i16 1640, i16 1643, i16 1649, i16 -16384, i16 1640, i16 1643, i16 1652, i16 -16384, i16 1640, i16 1643, i16 1655, i16 -16384, i16 98, i16 894, i16 3, i16 -16384, i16 98, i16 894, i16 4, i16 -16384, i16 98, i16 14, i16 3, i16 -16384, i16 98, i16 14, i16 4, i16 -16384, i16 16483, i16 16398, i16 16384, i16 -16384, i16 16484, i16 16398, i16 16384, i16 -16384, i16 16485, i16 16398, i16 16384, i16 -16384, i16 16486, i16 16398, i16 16384, i16 -16384, i16 16487, i16 16398, i16 16384, i16 -16384, i16 16488, i16 16398, i16 16384, i16 -16384, i16 16489, i16 16398, i16 16384, i16 -16384, i16 16490, i16 16398, i16 16384, i16 -16384, i16 16491, i16 16398, i16 16384, i16 -16384, i16 16492, i16 16398, i16 16384, i16 -16384, i16 16493, i16 16398, i16 16384, i16 -16384, i16 16494, i16 16398, i16 16384, i16 -16384, i16 16495, i16 16398, i16 16384, i16 -16384, i16 16496, i16 16398, i16 16384, i16 -16384, i16 16497, i16 16398, i16 16384, i16 -16384, i16 16498, i16 16398, i16 16384, i16 -16384, i16 16499, i16 16398, i16 16384, i16 -16384, i16 16500, i16 16398, i16 16384, i16 -16384, i16 16501, i16 16398, i16 16384, i16 -16384, i16 16502, i16 16398, i16 16384, i16 -16384, i16 16503, i16 16398, i16 16384, i16 -16384, i16 16504, i16 16398, i16 16384, i16 -16384, i16 16505, i16 16398, i16 16384, i16 -16384, i16 16506, i16 16398, i16 16384, i16 -16384, i16 16507, i16 16398, i16 16384, i16 -16384, i16 16508, i16 16398, i16 16384, i16 -16384, i16 16509, i16 16398, i16 16384, i16 -16384, i16 16510, i16 14, i16 16393, i16 -16384, i16 16510, i16 28, i16 16393, i16 -16384, i16 16511, i16 14, i16 16393, i16 -16384, i16 16512, i16 14, i16 16393, i16 -16384, i16 16512, i16 15, i16 16393, i16 -16384, i16 16513, i16 14, i16 16393, i16 -16384, i16 16513, i16 15, i16 16393, i16 -16384, i16 16514, i16 14, i16 16393, i16 -16384, i16 16514, i16 28, i16 16393, i16 -16384, i16 16515, i16 14, i16 16393, i16 -16384, i16 16515, i16 15, i16 16393, i16 -16384, i16 16516, i16 14, i16 16393, i16 -16384, i16 16516, i16 28, i16 16393, i16 -16384, i16 16517, i16 14, i16 16393, i16 -16384, i16 16518, i16 14, i16 16393, i16 -16384, i16 16518, i16 28, i16 16393, i16 -16384, i16 16518, i16 29, i16 16393, i16 -16384, i16 16519, i16 14, i16 16393, i16 -16384, i16 16519, i16 15, i16 16393, i16 -16384, i16 16519, i16 895, i16 16393, i16 -16384, i16 16520, i16 14, i16 16393, i16 -16384, i16 16521, i16 14, i16 16393, i16 -16384, i16 16522, i16 14, i16 16393, i16 -16384, i16 16523, i16 14, i16 16393, i16 -16384, i16 16524, i16 14, i16 16393, i16 -16384, i16 16524, i16 28, i16 16393, i16 -16384, i16 16525, i16 14, i16 16393, i16 -16384, i16 16526, i16 14, i16 16393, i16 -16384, i16 16527, i16 14, i16 16393, i16 -16384, i16 16527, i16 15, i16 16393, i16 -16384, i16 16527, i16 895, i16 16393, i16 -16384, i16 16528, i16 14, i16 16393, i16 -16384, i16 16528, i16 15, i16 16393, i16 -16384, i16 16529, i16 14, i16 16393, i16 -16384, i16 16529, i16 28, i16 16393, i16 -16384, i16 16529, i16 29, i16 16393, i16 -16384, i16 16529, i16 30, i16 16393, i16 -16384, i16 16529, i16 26, i16 16393, i16 -16384, i16 16529, i16 27, i16 16393, i16 -16384, i16 16530, i16 14, i16 16393, i16 -16384, i16 16530, i16 895, i16 16393, i16 -16384, i16 16531, i16 14, i16 16393, i16 -16384, i16 16531, i16 15, i16 16393, i16 -16384, i16 16532, i16 14, i16 16393, i16 -16384, i16 16532, i16 15, i16 16393, i16 -16384, i16 16533, i16 14, i16 16393, i16 -16384, i16 16533, i16 28, i16 16393, i16 -16384, i16 16510, i16 14, i16 16396, i16 -16384, i16 16510, i16 28, i16 16396, i16 -16384, i16 16511, i16 14, i16 16396, i16 -16384, i16 16511, i16 15, i16 16396, i16 -16384, i16 16512, i16 14, i16 16396, i16 -16384, i16 16513, i16 14, i16 16396, i16 -16384, i16 16514, i16 14, i16 16396, i16 -16384, i16 16514, i16 28, i16 16396, i16 -16384, i16 16515, i16 14, i16 16396, i16 -16384, i16 16515, i16 15, i16 16396, i16 -16384, i16 16516, i16 14, i16 16396, i16 -16384, i16 16516, i16 28, i16 16396, i16 -16384, i16 16517, i16 14, i16 16396, i16 -16384, i16 16517, i16 15, i16 16396, i16 -16384, i16 16518, i16 14, i16 16396, i16 -16384, i16 16518, i16 28, i16 16396, i16 -16384, i16 16518, i16 29, i16 16396, i16 -16384, i16 16518, i16 30, i16 16396, i16 -16384, i16 16518, i16 26, i16 16396, i16 -16384, i16 16519, i16 14, i16 16396, i16 -16384, i16 16519, i16 15, i16 16396, i16 -16384, i16 16519, i16 895, i16 16396, i16 -16384, i16 16520, i16 14, i16 16396, i16 -16384, i16 16521, i16 14, i16 16396, i16 -16384, i16 16522, i16 14, i16 16396, i16 -16384, i16 16523, i16 14, i16 16396, i16 -16384, i16 16524, i16 14, i16 16396, i16 -16384, i16 16524, i16 28, i16 16396, i16 -16384, i16 16525, i16 14, i16 16396, i16 -16384, i16 16525, i16 15, i16 16396, i16 -16384, i16 16526, i16 15, i16 16396, i16 -16384, i16 16527, i16 14, i16 16396, i16 -16384, i16 16527, i16 15, i16 16396, i16 -16384, i16 16527, i16 895, i16 16396, i16 -16384, i16 16527, i16 26, i16 16396, i16 -16384, i16 16528, i16 14, i16 16396, i16 -16384, i16 16528, i16 15, i16 16396, i16 -16384, i16 16529, i16 14, i16 16396, i16 -16384, i16 16529, i16 28, i16 16396, i16 -16384, i16 16529, i16 29, i16 16396, i16 -16384, i16 16529, i16 30, i16 16396, i16 -16384, i16 16530, i16 14, i16 16396, i16 -16384, i16 16530, i16 15, i16 16396, i16 -16384, i16 16530, i16 895, i16 16396, i16 -16384, i16 16531, i16 14, i16 16396, i16 -16384, i16 16532, i16 14, i16 16396, i16 -16384, i16 16532, i16 15, i16 16396, i16 -16384, i16 16533, i16 14, i16 16396, i16 -16384, i16 16533, i16 28, i16 16396, i16 -16384, i16 17292, i16 16398, i16 17273, i16 -16384, i16 17293, i16 16398, i16 17273, i16 -16384, i16 17294, i16 16398, i16 17273, i16 -16384, i16 17295, i16 16398, i16 17273, i16 -16384, i16 17296, i16 16398, i16 17273, i16 -16384, i16 17299, i16 16398, i16 17273, i16 -16384, i16 17302, i16 16398, i16 17273, i16 -16384, i16 17303, i16 16398, i16 17273, i16 -16384, i16 17305, i16 16398, i16 17273, i16 -16384, i16 17308, i16 16398, i16 17273, i16 -16384, i16 17309, i16 16398, i16 17273, i16 -16384, i16 17310, i16 16398, i16 17273, i16 -16384, i16 17311, i16 16398, i16 17273, i16 -16384, i16 17313, i16 16398, i16 17273, i16 -16384, i16 17314, i16 16398, i16 17273, i16 -16384, i16 17316, i16 16398, i16 17273, i16 -16384, i16 17317, i16 16398, i16 17273, i16 -16384, i16 17318, i16 16398, i16 17273, i16 -16384, i16 17319, i16 16398, i16 17273, i16 -16384, i16 17320, i16 16398, i16 17273, i16 -16384, i16 17323, i16 16398, i16 17273, i16 -16384, i16 17325, i16 16398, i16 17273, i16 -16384, i16 17326, i16 16398, i16 17273, i16 -16384, i16 17327, i16 16398, i16 17273, i16 -16384, i16 17328, i16 16398, i16 17273, i16 -16384, i16 17330, i16 16398, i16 17273, i16 -16384, i16 17331, i16 16398, i16 17273, i16 -16384, i16 17332, i16 16398, i16 17273, i16 -16384, i16 17334, i16 16398, i16 17273, i16 -16384, i16 17336, i16 16398, i16 17273, i16 -16384, i16 17337, i16 16398, i16 17273, i16 -16384, i16 17292, i16 16398, i16 16393, i16 -16384, i16 17293, i16 16398, i16 16393, i16 -16384, i16 17294, i16 16398, i16 16393, i16 -16384, i16 17295, i16 16398, i16 16393, i16 -16384, i16 17296, i16 16398, i16 16393, i16 -16384, i16 17299, i16 16398, i16 16393, i16 -16384, i16 17302, i16 16398, i16 16393, i16 -16384, i16 17303, i16 16398, i16 16393, i16 -16384, i16 17305, i16 16398, i16 16393, i16 -16384, i16 17308, i16 16398, i16 16393, i16 -16384, i16 17310, i16 16398, i16 16393, i16 -16384, i16 17311, i16 16398, i16 16393, i16 -16384, i16 17313, i16 16398, i16 16393, i16 -16384, i16 17314, i16 16398, i16 16393, i16 -16384, i16 17316, i16 16398, i16 16393, i16 -16384, i16 17317, i16 16398, i16 16393, i16 -16384, i16 17318, i16 16398, i16 16393, i16 -16384, i16 17319, i16 16398, i16 16393, i16 -16384, i16 17320, i16 16398, i16 16393, i16 -16384, i16 17323, i16 16398, i16 16393, i16 -16384, i16 17325, i16 16398, i16 16393, i16 -16384, i16 17326, i16 16398, i16 16393, i16 -16384, i16 17327, i16 16398, i16 16393, i16 -16384, i16 17328, i16 16398, i16 16393, i16 -16384, i16 17330, i16 16398, i16 16393, i16 -16384, i16 17331, i16 16398, i16 16393, i16 -16384, i16 17332, i16 16398, i16 16393, i16 -16384, i16 17334, i16 16398, i16 16393, i16 -16384, i16 17336, i16 16398, i16 16393, i16 -16384, i16 17337, i16 16398, i16 16393, i16 -16384, i16 16425, i16 16, i16 17273, i16 -16384, i16 16425, i16 17, i16 17273, i16 -16384, i16 16425, i16 897, i16 17273, i16 -16384, i16 16425, i16 22, i16 17273, i16 -16384, i16 16425, i16 20, i16 17273, i16 -16384, i16 16425, i16 19, i16 17273, i16 -16384, i16 16425, i16 896, i16 17273, i16 -16384, i16 18042, i16 1628, i16 18015, i16 -16384, i16 16427, i16 25, i16 17273, i16 -16384, i16 16427, i16 16, i16 17273, i16 -16384, i16 16427, i16 897, i16 17273, i16 -16384, i16 16427, i16 18, i16 17273, i16 -16384, i16 16427, i16 23, i16 17273, i16 -16384, i16 17282, i16 15, i16 17273, i16 -16384, i16 17282, i16 24, i16 17273, i16 -16384, i16 17283, i16 896, i16 17273, i16 -16384, i16 17283, i16 897, i16 17273, i16 -16384, i16 17283, i16 23, i16 17273, i16 -16384, i16 16430, i16 897, i16 17273, i16 -16384, i16 16430, i16 24, i16 17273, i16 -16384, i16 17284, i16 14, i16 17273, i16 -16384, i16 17284, i16 897, i16 17273, i16 -16384, i16 17284, i16 15, i16 17273, i16 -16384, i16 17285, i16 897, i16 17273, i16 -16384, i16 16433, i16 22, i16 17273, i16 -16384, i16 18045, i16 1628, i16 18015, i16 -16384, i16 16434, i16 20, i16 17273, i16 -16384, i16 16434, i16 24, i16 17273, i16 -16384, i16 16434, i16 21, i16 17273, i16 -16384, i16 16437, i16 897, i16 17273, i16 -16384, i16 16437, i16 18, i16 17273, i16 -16384, i16 16437, i16 25, i16 17273, i16 -16384, i16 18048, i16 1628, i16 18015, i16 -16384, i16 16438, i16 25, i16 17273, i16 -16384, i16 16439, i16 20, i16 17273, i16 -16384, i16 16439, i16 896, i16 17273, i16 -16384, i16 16439, i16 21, i16 17273, i16 -16384, i16 16441, i16 14, i16 17273, i16 -16384, i16 16443, i16 18, i16 17273, i16 -16384, i16 16443, i16 23, i16 17273, i16 -16384, i16 16425, i16 16, i16 16393, i16 -16384, i16 16425, i16 17, i16 16393, i16 -16384, i16 16425, i16 897, i16 16393, i16 -16384, i16 16425, i16 22, i16 16393, i16 -16384, i16 16425, i16 20, i16 16393, i16 -16384, i16 16425, i16 19, i16 16393, i16 -16384, i16 16425, i16 896, i16 16393, i16 -16384, i16 18042, i16 1628, i16 18021, i16 -16384, i16 16427, i16 25, i16 16393, i16 -16384, i16 16427, i16 16, i16 16393, i16 -16384, i16 16427, i16 897, i16 16393, i16 -16384, i16 16427, i16 18, i16 16393, i16 -16384, i16 16427, i16 23, i16 16393, i16 -16384, i16 17282, i16 15, i16 16393, i16 -16384, i16 17282, i16 24, i16 16393, i16 -16384, i16 17283, i16 896, i16 16393, i16 -16384, i16 17283, i16 897, i16 16393, i16 -16384, i16 17283, i16 23, i16 16393, i16 -16384, i16 16430, i16 897, i16 16393, i16 -16384, i16 16430, i16 24, i16 16393, i16 -16384, i16 17284, i16 14, i16 16393, i16 -16384, i16 17284, i16 897, i16 16393, i16 -16384, i16 17284, i16 15, i16 16393, i16 -16384, i16 17285, i16 897, i16 16393, i16 -16384, i16 16433, i16 22, i16 16393, i16 -16384, i16 18045, i16 1628, i16 18021, i16 -16384, i16 16434, i16 20, i16 16393, i16 -16384, i16 16434, i16 24, i16 16393, i16 -16384, i16 16434, i16 21, i16 16393, i16 -16384, i16 16437, i16 897, i16 16393, i16 -16384, i16 16437, i16 18, i16 16393, i16 -16384, i16 16437, i16 25, i16 16393, i16 -16384, i16 16438, i16 25, i16 16393, i16 -16384, i16 16439, i16 20, i16 16393, i16 -16384, i16 16439, i16 896, i16 16393, i16 -16384, i16 16439, i16 21, i16 16393, i16 -16384, i16 16441, i16 14, i16 16393, i16 -16384, i16 16443, i16 18, i16 16393, i16 -16384, i16 16443, i16 23, i16 16393, i16 -16384, i16 16415, i16 16398, i16 17273, i16 -16384, i16 16415, i16 16399, i16 17273, i16 -16384, i16 16416, i16 16398, i16 17273, i16 -16384, i16 16416, i16 16399, i16 17273, i16 -16384, i16 16417, i16 16398, i16 17273, i16 -16384, i16 16417, i16 16399, i16 17273, i16 -16384, i16 16418, i16 16398, i16 17273, i16 -16384, i16 16418, i16 16399, i16 17273, i16 -16384, i16 16419, i16 16398, i16 17273, i16 -16384, i16 16419, i16 16399, i16 17273, i16 -16384, i16 16420, i16 16398, i16 17273, i16 -16384, i16 16420, i16 16399, i16 17273, i16 -16384, i16 16421, i16 16398, i16 17273, i16 -16384, i16 16421, i16 16399, i16 17273, i16 -16384, i16 16422, i16 16398, i16 17273, i16 -16384, i16 16422, i16 16399, i16 17273, i16 -16384, i16 16423, i16 16398, i16 17273, i16 -16384, i16 16423, i16 16399, i16 17273, i16 -16384, i16 16424, i16 16398, i16 17273, i16 -16384, i16 16424, i16 16399, i16 17273, i16 -16384, i16 17289, i16 16398, i16 17273, i16 -16384, i16 17290, i16 16397, i16 17273, i16 -16384, i16 17290, i16 17274, i16 17273, i16 -16384, i16 17290, i16 17276, i16 17273, i16 -16384, i16 17290, i16 16398, i16 17273, i16 -16384, i16 16447, i16 16398, i16 17273, i16 -16384, i16 16472, i16 16398, i16 17273, i16 -16384, i16 16473, i16 16398, i16 17273, i16 -16384, i16 17291, i16 16398, i16 17273, i16 -16384, i16 16479, i16 16398, i16 17273, i16 -16384, i16 16480, i16 17275, i16 17273, i16 -16384, i16 16481, i16 16398, i16 17273, i16 -16384, i16 18051, i16 18054, i16 18015, i16 -16384, i16 16481, i16 17277, i16 17273, i16 -16384, i16 905, i16 14, i16 3, i16 -16384, i16 906, i16 13, i16 3, i16 -16384, i16 906, i16 13, i16 4, i16 -16384, i16 906, i16 890, i16 3, i16 -16384, i16 906, i16 890, i16 4, i16 -16384, i16 906, i16 892, i16 3, i16 -16384, i16 906, i16 892, i16 4, i16 -16384, i16 906, i16 14, i16 3, i16 -16384, i16 906, i16 14, i16 4, i16 -16384, i16 63, i16 14, i16 3, i16 -16384, i16 63, i16 14, i16 4, i16 -16384, i16 88, i16 14, i16 3, i16 -16384, i16 88, i16 14, i16 4, i16 -16384, i16 88, i16 14, i16 5, i16 -16384, i16 88, i16 14, i16 6, i16 -16384, i16 89, i16 14, i16 3, i16 -16384, i16 89, i16 14, i16 4, i16 -16384, i16 89, i16 14, i16 5, i16 -16384, i16 89, i16 14, i16 6, i16 -16384, i16 907, i16 14, i16 3, i16 -16384, i16 907, i16 14, i16 4, i16 -16384, i16 907, i16 14, i16 5, i16 -16384, i16 907, i16 14, i16 6, i16 -16384, i16 95, i16 14, i16 3, i16 -16384, i16 95, i16 14, i16 4, i16 -16384, i16 96, i16 891, i16 3, i16 -16384, i16 96, i16 891, i16 4, i16 -16384, i16 97, i16 14, i16 3, i16 -16384, i16 97, i16 14, i16 4, i16 -16384, i16 97, i16 893, i16 3, i16 -16384, i16 97, i16 893, i16 4, i16 -16384, i16 97, i16 893, i16 5, i16 -16384, i16 97, i16 893, i16 6, i16 -16384, i16 1673, i16 1676, i16 1679, i16 -16384, i16 1673, i16 1676, i16 1682, i16 -16384, i16 1673, i16 1685, i16 1679, i16 -16384, i16 1673, i16 1685, i16 1682, i16 -16384, i16 1673, i16 1688, i16 1679, i16 -16384, i16 1673, i16 1688, i16 1682, i16 -16384, i16 1673, i16 1643, i16 1679, i16 -16384, i16 1673, i16 1643, i16 1682, i16 -16384, i16 17297, i16 16398, i16 17273, i16 -16384, i16 17298, i16 16398, i16 17273, i16 -16384, i16 17300, i16 16398, i16 17273, i16 -16384, i16 17301, i16 16398, i16 17273, i16 -16384, i16 17304, i16 16398, i16 17273, i16 -16384, i16 17306, i16 16398, i16 17273, i16 -16384, i16 17307, i16 16398, i16 17273, i16 -16384, i16 17312, i16 16398, i16 17273, i16 -16384, i16 17315, i16 16398, i16 17273, i16 -16384, i16 17321, i16 16398, i16 17273, i16 -16384, i16 17322, i16 16398, i16 17273, i16 -16384, i16 17324, i16 16398, i16 17273, i16 -16384, i16 17329, i16 16398, i16 17273, i16 -16384, i16 17333, i16 16398, i16 17273, i16 -16384, i16 17335, i16 16398, i16 17273, i16 -16384, i16 17297, i16 16398, i16 16393, i16 -16384, i16 17298, i16 16398, i16 16393, i16 -16384, i16 17300, i16 16398, i16 16393, i16 -16384, i16 17301, i16 16398, i16 16393, i16 -16384, i16 17304, i16 16398, i16 16393, i16 -16384, i16 17306, i16 16398, i16 16393, i16 -16384, i16 17307, i16 16398, i16 16393, i16 -16384, i16 17309, i16 16398, i16 16393, i16 -16384, i16 17312, i16 16398, i16 16393, i16 -16384, i16 17315, i16 16398, i16 16393, i16 -16384, i16 17321, i16 16398, i16 16393, i16 -16384, i16 17322, i16 16398, i16 16393, i16 -16384, i16 17324, i16 16398, i16 16393, i16 -16384, i16 17329, i16 16398, i16 16393, i16 -16384, i16 17333, i16 16398, i16 16393, i16 -16384, i16 17335, i16 16398, i16 16393, i16 -16384, i16 32767, i16 16384, i16 16384, i16 -16384, i16 18075, i16 18078, i16 16384, i16 -16384, i16 18081, i16 18078, i16 16384, i16 -16384, i16 18084, i16 18078, i16 16384, i16 -16384, i16 17541, i16 16407, i16 17273, i16 -16384, i16 17542, i16 16407, i16 17273, i16 -16384, i16 17543, i16 16407, i16 17273, i16 -16384, i16 17544, i16 16407, i16 17273, i16 -16384, i16 17545, i16 16407, i16 17273, i16 -16384, i16 17540, i16 16407, i16 17273, i16 -16384, i16 17555, i16 16399, i16 17273, i16 -16384, i16 17555, i16 16399, i16 16393, i16 -16384, i16 17556, i16 16399, i16 17273, i16 -16384, i16 17556, i16 16399, i16 16393, i16 -16384, i16 17561, i16 16398, i16 17273, i16 -16384, i16 17561, i16 16398, i16 16393, i16 -16384, i16 17564, i16 16399, i16 17273, i16 -16384, i16 17564, i16 16404, i16 17273, i16 -16384, i16 17564, i16 16399, i16 16393, i16 -16384, i16 17564, i16 16404, i16 16393, i16 -16384, i16 17284, i16 16398, i16 17273, i16 -16384, i16 17567, i16 16407, i16 17273, i16 -16384, i16 17284, i16 16398, i16 16393, i16 -16384, i16 17567, i16 16407, i16 16393, i16 -16384, i16 17568, i16 16399, i16 17273, i16 -16384, i16 17568, i16 16406, i16 17273, i16 -16384, i16 17568, i16 16399, i16 16393, i16 -16384, i16 17568, i16 16406, i16 16393, i16 -16384, i16 17569, i16 16404, i16 17273, i16 -16384, i16 17569, i16 16404, i16 16393, i16 -16384, i16 17565, i16 16409, i16 17273, i16 -16384, i16 17565, i16 16409, i16 16393, i16 -16384, i16 17566, i16 17280, i16 17273, i16 -16384, i16 17566, i16 17280, i16 16393, i16 -16384, i16 17570, i16 16409, i16 17273, i16 -16384, i16 17570, i16 16409, i16 16393, i16 -16384, i16 17571, i16 16404, i16 17273, i16 -16384, i16 17571, i16 16404, i16 16393, i16 -16384, i16 17572, i16 16399, i16 17273, i16 -16384, i16 17572, i16 16399, i16 16393, i16 -16384, i16 17573, i16 16399, i16 17273, i16 -16384, i16 17573, i16 16399, i16 16393, i16 -16384, i16 17574, i16 16399, i16 17273, i16 -16384, i16 17574, i16 16399, i16 16393, i16 -16384, i16 17575, i16 16399, i16 17273, i16 -16384, i16 17575, i16 16399, i16 16393, i16 -16384, i16 17576, i16 16399, i16 17273, i16 -16384, i16 17576, i16 16399, i16 16393, i16 -16384, i16 17577, i16 16399, i16 17273, i16 -16384, i16 17577, i16 16399, i16 16393, i16 -16384, i16 17578, i16 16399, i16 17273, i16 -16384, i16 17578, i16 16399, i16 16393, i16 -16384, i16 17579, i16 16399, i16 17273, i16 -16384, i16 17579, i16 16399, i16 16393, i16 -16384, i16 17602, i16 16407, i16 17273, i16 -16384, i16 17602, i16 16407, i16 17600, i16 -16384, i16 17602, i16 16407, i16 16393, i16 -16384, i16 17602, i16 16407, i16 17601, i16 -16384, i16 32766, i16 16384, i16 16384, i16 16384, i16 17619, i16 16399, i16 17273, i16 -16384, i16 17619, i16 16399, i16 16393, i16 -16384, i16 17620, i16 16399, i16 17273, i16 -16384, i16 17620, i16 16399, i16 16393, i16 -16384, i16 17621, i16 16399, i16 17273, i16 -16384, i16 17621, i16 16399, i16 16393, i16 -16384, i16 17622, i16 16399, i16 17273, i16 -16384, i16 17622, i16 16399, i16 16393, i16 -16384, i16 17623, i16 16399, i16 17273, i16 -16384, i16 17623, i16 16399, i16 16393, i16 -16384, i16 17635, i16 16404, i16 17273, i16 -16384, i16 17634, i16 16403, i16 17273, i16 -16384, i16 17635, i16 17279, i16 17273, i16 -16384, i16 17636, i16 16404, i16 17273, i16 -16384, i16 17637, i16 16408, i16 17273, i16 -16384, i16 17635, i16 16404, i16 16393, i16 -16384, i16 17634, i16 16403, i16 16393, i16 -16384, i16 17635, i16 17279, i16 16393, i16 -16384, i16 17636, i16 16404, i16 16393, i16 -16384, i16 17637, i16 16408, i16 16393, i16 -16384, i16 16440, i16 16398, i16 16393, i16 -16327, i16 16440, i16 16398, i16 17273, i16 -16327, i16 16442, i16 16404, i16 17273, i16 -16384, i16 16442, i16 16404, i16 16393, i16 -16384, i16 17638, i16 16407, i16 17273, i16 -16384, i16 17639, i16 16407, i16 17273, i16 -16384, i16 17638, i16 16407, i16 16393, i16 -16384, i16 17639, i16 16407, i16 16393, i16 -16384, i16 17640, i16 16407, i16 17273, i16 -16384, i16 17640, i16 16407, i16 17600, i16 -16384, i16 17641, i16 16407, i16 17273, i16 -16384, i16 17640, i16 16407, i16 16393, i16 -16384, i16 17640, i16 16407, i16 17601, i16 -16384, i16 17641, i16 16407, i16 16393, i16 -16384, i16 17642, i16 16407, i16 17273, i16 -16384, i16 17642, i16 16407, i16 17600, i16 -16384, i16 17642, i16 16407, i16 16393, i16 -16384, i16 17642, i16 16407, i16 17601, i16 -16384, i16 17643, i16 16407, i16 17273, i16 -16384, i16 17643, i16 16407, i16 17600, i16 -16384, i16 17643, i16 16407, i16 16393, i16 -16384, i16 17643, i16 16407, i16 17601, i16 -16384, i16 17644, i16 16407, i16 17273, i16 -16384, i16 17644, i16 16407, i16 16393, i16 -16384, i16 17645, i16 16407, i16 17273, i16 -16384, i16 17645, i16 16407, i16 16393, i16 -16384, i16 17658, i16 16401, i16 17273, i16 -16384, i16 17660, i16 16400, i16 17273, i16 -16384, i16 17661, i16 17281, i16 17273, i16 -16384, i16 17659, i16 16406, i16 17273, i16 -16384, i16 17658, i16 16401, i16 16393, i16 -16384, i16 17660, i16 16400, i16 16393, i16 -16384, i16 17661, i16 17281, i16 16393, i16 -16384, i16 17659, i16 16406, i16 16393, i16 -16384, i16 17662, i16 16409, i16 17273, i16 -16384, i16 17639, i16 16402, i16 17273, i16 -16384, i16 17662, i16 16409, i16 16393, i16 -16384, i16 17639, i16 16402, i16 16393, i16 -16384, i16 17663, i16 16398, i16 17273, i16 -16384, i16 17664, i16 16402, i16 17273, i16 -16384, i16 17664, i16 16402, i16 16393, i16 -16384, i16 17666, i16 16399, i16 17273, i16 -16384, i16 17665, i16 16408, i16 17273, i16 -16384, i16 17666, i16 16399, i16 16393, i16 -16384, i16 17665, i16 16408, i16 16393, i16 -16384, i16 17668, i16 16402, i16 17273, i16 -16384, i16 17669, i16 16408, i16 17273, i16 -16384, i16 17671, i16 18078, i16 18015, i16 -16384, i16 17644, i16 16402, i16 17273, i16 -16384, i16 17644, i16 16402, i16 16393, i16 -16384, i16 17673, i16 16404, i16 17273, i16 -16384, i16 17672, i16 17279, i16 17273, i16 -16384, i16 17673, i16 16404, i16 16393, i16 -16384, i16 17672, i16 17279, i16 16393, i16 -16384, i16 17667, i16 16398, i16 17273, i16 -16384, i16 17670, i16 16402, i16 17273, i16 -16384, i16 17670, i16 16402, i16 16393, i16 -16384, i16 17685, i16 17281, i16 17273, i16 -16384, i16 17686, i16 17280, i16 17273, i16 -16384, i16 17685, i16 17281, i16 16393, i16 -16384, i16 17686, i16 17280, i16 16393, i16 -16384, i16 17688, i16 16409, i16 17273, i16 -16384, i16 17688, i16 16409, i16 16393, i16 -16384, i16 17687, i16 17281, i16 17273, i16 -16384, i16 17687, i16 17281, i16 16393, i16 -16384, i16 17695, i16 16399, i16 17273, i16 -16384, i16 17695, i16 16399, i16 17600, i16 -16384, i16 17695, i16 16399, i16 16393, i16 -16384, i16 17695, i16 16399, i16 17601, i16 -16384, i16 17697, i16 16399, i16 17273, i16 -16384, i16 17697, i16 16399, i16 17600, i16 -16384, i16 17697, i16 16399, i16 16393, i16 -16384, i16 17697, i16 16399, i16 17601, i16 -16384, i16 17693, i16 16407, i16 17273, i16 -16384, i16 17693, i16 16407, i16 16393, i16 -16384, i16 17694, i16 16407, i16 17273, i16 -16384, i16 17694, i16 16407, i16 16393, i16 -16384, i16 17696, i16 16408, i16 17273, i16 -16384, i16 17696, i16 16408, i16 16393, i16 -16384, i16 17698, i16 16407, i16 17273, i16 -16384, i16 17698, i16 16407, i16 16393, i16 -16384, i16 17707, i16 16407, i16 17273, i16 -16384, i16 17707, i16 16407, i16 17600, i16 -16384, i16 17707, i16 16407, i16 16393, i16 -16384, i16 17707, i16 16407, i16 17601, i16 -16384, i16 17708, i16 16407, i16 17273, i16 -16384, i16 17708, i16 16407, i16 17600, i16 -16384, i16 17708, i16 16407, i16 16393, i16 -16384, i16 17708, i16 16407, i16 17601, i16 -16384, i16 32766, i16 16398, i16 17273, i16 -16384, i16 32766, i16 16398, i16 16393, i16 -16384, i16 17803, i16 16404, i16 17273, i16 -16384, i16 17803, i16 16405, i16 17273, i16 -16384, i16 17803, i16 16404, i16 16393, i16 -16384, i16 17803, i16 16405, i16 16393, i16 -16384, i16 17806, i16 16404, i16 17273, i16 -16384, i16 17806, i16 16405, i16 17273, i16 -16384, i16 17806, i16 16404, i16 16393, i16 -16384, i16 17806, i16 16405, i16 16393, i16 -16384, i16 17797, i16 16398, i16 16393, i16 -16384, i16 17797, i16 16398, i16 17601, i16 -16384, i16 18087, i16 18054, i16 18021, i16 -16384, i16 18087, i16 18054, i16 18090, i16 -16384, i16 18087, i16 18054, i16 18093, i16 -16384, i16 18087, i16 18054, i16 18096, i16 -16384, i16 17797, i16 16398, i16 17600, i16 -16384, i16 17797, i16 16398, i16 17273, i16 -16384, i16 18087, i16 18054, i16 18099, i16 -16384, i16 18087, i16 18054, i16 18102, i16 -16384, i16 18087, i16 18054, i16 18105, i16 -16384, i16 18087, i16 18054, i16 18015, i16 -16384, i16 17798, i16 16398, i16 16393, i16 -16384, i16 17798, i16 16398, i16 17601, i16 -16384, i16 18108, i16 18054, i16 18021, i16 -16384, i16 18108, i16 18054, i16 18090, i16 -16384, i16 18108, i16 18054, i16 18093, i16 -16384, i16 18108, i16 18054, i16 18096, i16 -16384, i16 17798, i16 16398, i16 17600, i16 -16384, i16 17798, i16 16398, i16 17273, i16 -16384, i16 18108, i16 18054, i16 18099, i16 -16384, i16 18108, i16 18054, i16 18102, i16 -16384, i16 18108, i16 18054, i16 18105, i16 -16384, i16 18108, i16 18054, i16 18015, i16 -16384, i16 17799, i16 16398, i16 17796, i16 -16384, i16 17799, i16 16398, i16 17795, i16 -16384, i16 17799, i16 16398, i16 17794, i16 -16384, i16 17799, i16 16398, i16 17793, i16 -16384, i16 18111, i16 18054, i16 18114, i16 -16384, i16 18111, i16 18054, i16 18117, i16 -16384, i16 18111, i16 18054, i16 18120, i16 -16384, i16 18111, i16 18054, i16 18123, i16 -16384, i16 17799, i16 16398, i16 17792, i16 -16384, i16 17799, i16 16398, i16 17791, i16 -16384, i16 17799, i16 16398, i16 17790, i16 -16384, i16 17799, i16 16398, i16 17789, i16 -16384, i16 18111, i16 18054, i16 18126, i16 -16384, i16 18111, i16 18054, i16 18129, i16 -16384, i16 18111, i16 18054, i16 18132, i16 -16384, i16 18111, i16 18054, i16 18135, i16 -16384, i16 17800, i16 16398, i16 16393, i16 -16384, i16 17800, i16 16398, i16 17601, i16 -16384, i16 18138, i16 18054, i16 18021, i16 -16384, i16 18138, i16 18054, i16 18090, i16 -16384, i16 18138, i16 18054, i16 18093, i16 -16384, i16 18138, i16 18054, i16 18096, i16 -16384, i16 17800, i16 16398, i16 17273, i16 -16384, i16 17800, i16 16398, i16 17600, i16 -16384, i16 18138, i16 18054, i16 18099, i16 -16384, i16 18138, i16 18054, i16 18102, i16 -16384, i16 18138, i16 18054, i16 18105, i16 -16384, i16 18138, i16 18054, i16 18015, i16 -16384, i16 17801, i16 16398, i16 16393, i16 -16384, i16 17801, i16 16398, i16 17601, i16 -16384, i16 18141, i16 18054, i16 18021, i16 -16384, i16 18141, i16 18054, i16 18090, i16 -16384, i16 18141, i16 18054, i16 18093, i16 -16384, i16 18141, i16 18054, i16 18096, i16 -16384, i16 17801, i16 16398, i16 17273, i16 -16384, i16 17801, i16 16398, i16 17600, i16 -16384, i16 18141, i16 18054, i16 18099, i16 -16384, i16 18141, i16 18054, i16 18102, i16 -16384, i16 18141, i16 18054, i16 18105, i16 -16384, i16 18141, i16 18054, i16 18015, i16 -16384, i16 17802, i16 16398, i16 16393, i16 -16384, i16 17802, i16 16398, i16 17601, i16 -16384, i16 18144, i16 18054, i16 18021, i16 -16384, i16 18144, i16 18054, i16 18090, i16 -16384, i16 18144, i16 18054, i16 18093, i16 -16384, i16 18144, i16 18054, i16 18096, i16 -16384, i16 17802, i16 16398, i16 17273, i16 -16384, i16 17802, i16 16398, i16 17600, i16 -16384, i16 18144, i16 18054, i16 18099, i16 -16384, i16 18144, i16 18054, i16 18102, i16 -16384, i16 18144, i16 18054, i16 18105, i16 -16384, i16 18144, i16 18054, i16 18015, i16 -16384, i16 17804, i16 16398, i16 16393, i16 -16384, i16 17804, i16 16398, i16 17601, i16 -16384, i16 18147, i16 18054, i16 18021, i16 -16384, i16 18147, i16 18054, i16 18090, i16 -16384, i16 18147, i16 18054, i16 18093, i16 -16384, i16 18147, i16 18054, i16 18096, i16 -16384, i16 17804, i16 16398, i16 17600, i16 -16384, i16 17804, i16 16398, i16 17273, i16 -16384, i16 18147, i16 18054, i16 18099, i16 -16384, i16 18147, i16 18054, i16 18102, i16 -16384, i16 18147, i16 18054, i16 18105, i16 -16384, i16 18147, i16 18054, i16 18015, i16 -16384, i16 17805, i16 16398, i16 16393, i16 -16384, i16 17805, i16 16398, i16 17601, i16 -16384, i16 18150, i16 18054, i16 18021, i16 -16384, i16 18150, i16 18054, i16 18090, i16 -16384, i16 18150, i16 18054, i16 18093, i16 -16384, i16 18150, i16 18054, i16 18096, i16 -16384, i16 17805, i16 16398, i16 17600, i16 -16384, i16 17805, i16 16398, i16 17273, i16 -16384, i16 18150, i16 18054, i16 18099, i16 -16384, i16 18150, i16 18054, i16 18102, i16 -16384, i16 18150, i16 18054, i16 18105, i16 -16384, i16 18150, i16 18054, i16 18015, i16 -16384, i16 17807, i16 16398, i16 16393, i16 -16384, i16 17807, i16 16398, i16 17601, i16 -16384, i16 18153, i16 18054, i16 18021, i16 -16384, i16 18153, i16 18054, i16 18090, i16 -16384, i16 18153, i16 18054, i16 18093, i16 -16384, i16 18153, i16 18054, i16 18096, i16 -16384, i16 17807, i16 16398, i16 17600, i16 -16384, i16 17807, i16 16398, i16 17273, i16 -16384, i16 18153, i16 18054, i16 18099, i16 -16384, i16 18153, i16 18054, i16 18102, i16 -16384, i16 18153, i16 18054, i16 18105, i16 -16384, i16 18153, i16 18054, i16 18015, i16 -16384, i16 16384, i16 16384, i16 16384, i16 -2, i16 17934, i16 16398, i16 17273, i16 -16384, i16 17290, i16 17928, i16 17273, i16 -16384, i16 17289, i16 17274, i16 17273, i16 -16384, i16 17289, i16 17276, i16 17273, i16 -16384, i16 17289, i16 17275, i16 17273, i16 -16384, i16 17289, i16 17929, i16 17273, i16 -16384, i16 17289, i16 17929, i16 17932, i16 -16384, i16 17289, i16 17929, i16 17933, i16 -16384, i16 16472, i16 16399, i16 17273, i16 -16384, i16 17291, i16 17931, i16 17273, i16 -16384, i16 17291, i16 17274, i16 17273, i16 -16384, i16 17935, i16 16398, i16 17273, i16 -16384, i16 17935, i16 17930, i16 17273, i16 -16384, i16 17935, i16 17277, i16 17273, i16 -16384, i16 17934, i16 16398, i16 16387, i16 -16384, i16 17934, i16 16398, i16 16388, i16 -16384, i16 17290, i16 16398, i16 16387, i16 -16384, i16 17290, i16 16398, i16 16388, i16 -16384, i16 17290, i16 17928, i16 16387, i16 -16384, i16 17290, i16 17928, i16 16388, i16 -16384, i16 17289, i16 16398, i16 16387, i16 -16384, i16 17289, i16 17274, i16 16387, i16 -16384, i16 17289, i16 17274, i16 16388, i16 -16384, i16 17289, i16 17276, i16 16387, i16 -16384, i16 17289, i16 17276, i16 16388, i16 -16384, i16 17289, i16 17275, i16 16387, i16 -16384, i16 17289, i16 17275, i16 16388, i16 -16384, i16 17289, i16 17929, i16 16387, i16 -16384, i16 17289, i16 17929, i16 16388, i16 -16384, i16 16472, i16 16398, i16 16387, i16 -16384, i16 16472, i16 16398, i16 16388, i16 -16384, i16 16472, i16 16398, i16 16389, i16 -16384, i16 16472, i16 16398, i16 16390, i16 -16384, i16 16472, i16 16399, i16 16387, i16 -16384, i16 16472, i16 16399, i16 16388, i16 -16384, i16 16472, i16 16399, i16 16389, i16 -16384, i16 16472, i16 16399, i16 16390, i16 -16384, i16 17291, i16 16398, i16 16387, i16 -16384, i16 17291, i16 16398, i16 16388, i16 -16384, i16 17291, i16 16398, i16 16389, i16 -16384, i16 17291, i16 16398, i16 16390, i16 -16384, i16 17291, i16 17931, i16 16387, i16 -16384, i16 17291, i16 17931, i16 16388, i16 -16384, i16 17291, i16 17274, i16 16387, i16 -16384, i16 17291, i16 17274, i16 16388, i16 -16384, i16 17935, i16 16398, i16 16387, i16 -16384, i16 17935, i16 16398, i16 16388, i16 -16384, i16 17935, i16 16398, i16 16389, i16 -16384, i16 17935, i16 16398, i16 16390, i16 -16384, i16 17935, i16 17930, i16 16387, i16 -16384, i16 17935, i16 17930, i16 16388, i16 -16384, i16 17935, i16 17277, i16 16387, i16 -16384, i16 17935, i16 17277, i16 16388, i16 -16384, i16 17935, i16 17277, i16 16389, i16 -16384, i16 17935, i16 17277, i16 16390, i16 -16384, i16 18156, i16 18054, i16 18159, i16 -16384, i16 18156, i16 18054, i16 18162, i16 -16384, i16 18165, i16 18168, i16 18159, i16 -16384, i16 18165, i16 18168, i16 18162, i16 -16384, i16 18165, i16 18171, i16 18159, i16 -16384, i16 18165, i16 18171, i16 18162, i16 -16384, i16 18174, i16 18054, i16 18159, i16 -16384, i16 18174, i16 18054, i16 18162, i16 -16384, i16 18177, i16 18182, i16 18187, i16 -16384, i16 17958, i16 17281, i16 16393, i16 -16384, i16 17958, i16 17281, i16 17273, i16 -16384, i16 17959, i16 17281, i16 16393, i16 -16384, i16 17959, i16 17281, i16 17273, i16 -16384, i16 17960, i16 17281, i16 16393, i16 -16384, i16 17960, i16 17281, i16 17273, i16 -16384, i16 17961, i16 17281, i16 16393, i16 -16384, i16 17961, i16 17281, i16 17273, i16 -16384, i16 17962, i16 17281, i16 16393, i16 -16384, i16 17962, i16 17281, i16 17273, i16 -16384, i16 17963, i16 17280, i16 16393, i16 -16384, i16 17963, i16 17280, i16 17273, i16 -16384, i16 17964, i16 16407, i16 17273, i16 -16384, i16 17964, i16 16407, i16 17600, i16 -16384, i16 17964, i16 16407, i16 16393, i16 -16384, i16 17964, i16 16407, i16 17601, i16 -16384, i16 17965, i16 16407, i16 17273, i16 -16384, i16 17965, i16 16407, i16 17600, i16 -16384, i16 17965, i16 16407, i16 16393, i16 -16384, i16 17965, i16 16407, i16 17601, i16 -16384, i16 17966, i16 16407, i16 17273, i16 -16384, i16 17966, i16 16407, i16 17600, i16 -16384, i16 17966, i16 16407, i16 16393, i16 -16384, i16 17966, i16 16407, i16 17601, i16 -16384, i16 17967, i16 16407, i16 17273, i16 -16384, i16 17967, i16 16407, i16 17600, i16 -16384, i16 17967, i16 16407, i16 16393, i16 -16384, i16 17967, i16 16407, i16 17601, i16 -16384, i16 17968, i16 16407, i16 17273, i16 -16384, i16 17968, i16 16407, i16 17600, i16 -16384, i16 17968, i16 16407, i16 16393, i16 -16384, i16 17968, i16 16407, i16 17601, i16 -16384, i16 17969, i16 16407, i16 17273, i16 -16384, i16 17969, i16 16407, i16 17600, i16 -16384, i16 17969, i16 16407, i16 16393, i16 -16384, i16 17969, i16 16407, i16 17601, i16 -16384, i16 17970, i16 16407, i16 17273, i16 -16384, i16 17970, i16 16407, i16 17600, i16 -16384, i16 17970, i16 16407, i16 16393, i16 -16384, i16 17970, i16 16407, i16 17601, i16 -16384, i16 17971, i16 16407, i16 17273, i16 -16384, i16 17971, i16 16407, i16 17600, i16 -16384, i16 17971, i16 16407, i16 16393, i16 -16384, i16 17971, i16 16407, i16 17601, i16 -16384, i16 18000, i16 16407, i16 17273, i16 -16384, i16 18000, i16 16407, i16 17600, i16 -16384, i16 18001, i16 16407, i16 17273, i16 -16384, i16 18001, i16 16407, i16 17600, i16 -16384, i16 18000, i16 16407, i16 16393, i16 -16384, i16 18000, i16 16407, i16 17601, i16 -16384, i16 18001, i16 16407, i16 16393, i16 -16384, i16 18001, i16 16407, i16 17601, i16 -16384, i16 18192, i16 18078, i16 18015, i16 -16384, i16 18192, i16 18195, i16 18015, i16 -16384, i16 18198, i16 18078, i16 18015, i16 -16384, i16 17299, i16 17300, i16 17273, i16 -16384, i16 17299, i16 17301, i16 17273, i16 -16384, i16 17299, i16 17335, i16 17273, i16 -16384, i16 17305, i16 17306, i16 17273, i16 -16384, i16 17305, i16 17307, i16 17273, i16 -16384, i16 17305, i16 17333, i16 17273, i16 -16384, i16 18192, i16 18078, i16 18021, i16 -16384, i16 18192, i16 18195, i16 18021, i16 -16384, i16 18198, i16 18078, i16 18021, i16 -16384, i16 17299, i16 17300, i16 16393, i16 -16384, i16 17299, i16 17301, i16 16393, i16 -16384, i16 17299, i16 17335, i16 16393, i16 -16384, i16 17305, i16 17306, i16 16393, i16 -16384, i16 17305, i16 17307, i16 16393, i16 -16384, i16 17305, i16 17333, i16 16393, i16 -16384, i16 17295, i16 17297, i16 17273, i16 -16384, i16 17310, i16 17321, i16 17273, i16 -16384, i16 18201, i16 18078, i16 18015, i16 -16384, i16 18204, i16 18078, i16 18015, i16 -16384, i16 17323, i16 17324, i16 17273, i16 -16384, i16 17328, i16 17322, i16 17273, i16 -16384, i16 17295, i16 17297, i16 16393, i16 -16384, i16 17308, i16 17309, i16 16393, i16 -16384, i16 17310, i16 17321, i16 16393, i16 -16384, i16 18201, i16 18078, i16 18021, i16 -16384, i16 18204, i16 18078, i16 18021, i16 -16384, i16 17323, i16 17324, i16 16393, i16 -16384, i16 17328, i16 17322, i16 16393, i16 -16384, i16 18006, i16 16404, i16 17273, i16 -16384, i16 18006, i16 16404, i16 16393, i16 -16384, i16 32766, i16 16382, i16 32766, i16 -16386, i16 32766, i16 16382, i16 32766, i16 -32768, i16 16384, i16 0, i16 16384, i16 -16386, i16 32766, i16 2, i16 16385, i16 -32768, i16 17065, i16 2, i16 18080, i16 -32768, i16 17065, i16 2, i16 32766, i16 -32768, i16 17065, i16 5, i16 16385, i16 -32768, i16 17065, i16 5, i16 18080, i16 -32768, i16 17065, i16 6, i16 16385, i16 -32768, i16 17065, i16 6, i16 18080, i16 -32768, i16 17065, i16 7, i16 16385, i16 -32768, i16 17065, i16 7, i16 18080, i16 -32768, i16 17065, i16 8, i16 16385, i16 -32768, i16 17065, i16 8, i16 18080, i16 -32768, i16 17065, i16 9, i16 16385, i16 -32768, i16 17065, i16 9, i16 18080, i16 -32768, i16 17065, i16 11, i16 16385, i16 -32768, i16 17065, i16 11, i16 18080, i16 -32768, i16 17065, i16 12, i16 16385, i16 -32768, i16 17065, i16 12, i16 18080, i16 -32768, i16 17065, i16 13, i16 16385, i16 -32768, i16 17065, i16 13, i16 18080, i16 -32768, i16 17065, i16 15, i16 16385, i16 -32768, i16 17065, i16 15, i16 18080, i16 -32768, i16 17065, i16 16, i16 16385, i16 -32768, i16 17065, i16 16, i16 18080, i16 -32768, i16 17065, i16 17, i16 16385, i16 -32768, i16 17065, i16 17, i16 18080, i16 -32768, i16 17065, i16 18, i16 16385, i16 -32768, i16 17065, i16 18, i16 18080, i16 -32768, i16 17065, i16 19, i16 16385, i16 -32768, i16 17065, i16 19, i16 18080, i16 -32768, i16 17065, i16 20, i16 16385, i16 -32768, i16 17065, i16 20, i16 18080, i16 -32768, i16 17065, i16 21, i16 16385, i16 -32768, i16 17065, i16 21, i16 18080, i16 -32768, i16 17065, i16 22, i16 16385, i16 -32768, i16 17065, i16 22, i16 18080, i16 -32768, i16 17065, i16 27, i16 16385, i16 -32768, i16 17065, i16 27, i16 18080, i16 -32768, i16 17065, i16 29, i16 16385, i16 -32768, i16 17065, i16 29, i16 18080, i16 -32768, i16 17065, i16 34, i16 16385, i16 -32768, i16 17065, i16 34, i16 18080, i16 -32768, i16 17065, i16 35, i16 16385, i16 -32768, i16 17065, i16 35, i16 18080, i16 -32768, i16 17065, i16 40, i16 16385, i16 -32768, i16 17065, i16 40, i16 18080, i16 -32768, i16 17065, i16 55, i16 16385, i16 -32768, i16 17065, i16 55, i16 18080, i16 -32768, i16 17113, i16 2, i16 18080, i16 -32768, i16 17113, i16 39, i16 16385, i16 -32768, i16 17113, i16 39, i16 18080, i16 -32768, i16 17113, i16 40, i16 16385, i16 -32768, i16 17113, i16 40, i16 18080, i16 -32768, i16 17113, i16 58, i16 16385, i16 -32768, i16 17113, i16 58, i16 18080, i16 -32768, i16 17122, i16 2, i16 18080, i16 -32768, i16 17122, i16 16, i16 16385, i16 -32768, i16 17122, i16 16, i16 18080, i16 -32768, i16 17122, i16 34, i16 16385, i16 -32768, i16 17122, i16 34, i16 18080, i16 -32768, i16 17122, i16 39, i16 16385, i16 -32768, i16 17122, i16 39, i16 18080, i16 -32768, i16 17122, i16 45, i16 16385, i16 -32768, i16 17122, i16 45, i16 18080, i16 -32768, i16 17133, i16 2, i16 18080, i16 -32768, i16 17133, i16 22, i16 16385, i16 -32768, i16 17133, i16 22, i16 18080, i16 -32768, i16 17133, i16 39, i16 16385, i16 -32768, i16 17133, i16 39, i16 18080, i16 -32768, i16 17133, i16 40, i16 16385, i16 -32768, i16 17133, i16 40, i16 18080, i16 -32768, i16 17133, i16 44, i16 16385, i16 -32768, i16 17133, i16 44, i16 18080, i16 -32768, i16 17133, i16 57, i16 16385, i16 -32768, i16 17133, i16 57, i16 18080, i16 -32768, i16 17133, i16 58, i16 16385, i16 -32768, i16 17133, i16 58, i16 18080, i16 -32768, i16 17148, i16 2, i16 18080, i16 -32768, i16 17148, i16 5, i16 16385, i16 -32768, i16 17148, i16 5, i16 18080, i16 -32768, i16 17148, i16 6, i16 16385, i16 -32768, i16 17148, i16 6, i16 18080, i16 -32768, i16 17148, i16 7, i16 16385, i16 -32768, i16 17148, i16 7, i16 18080, i16 -32768, i16 17148, i16 15, i16 16385, i16 -32768, i16 17148, i16 15, i16 18080, i16 -32768, i16 17148, i16 16, i16 16385, i16 -32768, i16 17148, i16 16, i16 18080, i16 -32768, i16 17148, i16 17, i16 16385, i16 -32768, i16 17148, i16 17, i16 18080, i16 -32768, i16 17148, i16 18, i16 16385, i16 -32768, i16 17148, i16 18, i16 18080, i16 -32768, i16 17148, i16 19, i16 16385, i16 -32768, i16 17148, i16 19, i16 18080, i16 -32768, i16 17148, i16 20, i16 16385, i16 -32768, i16 17148, i16 20, i16 18080, i16 -32768, i16 17148, i16 21, i16 16385, i16 -32768, i16 17148, i16 21, i16 18080, i16 -32768, i16 17148, i16 22, i16 16385, i16 -32768, i16 17148, i16 22, i16 18080, i16 -32768, i16 17148, i16 28, i16 16385, i16 -32768, i16 17148, i16 28, i16 18080, i16 -32768, i16 17148, i16 34, i16 16385, i16 -32768, i16 17148, i16 34, i16 18080, i16 -32768, i16 17148, i16 35, i16 16385, i16 -32768, i16 17148, i16 35, i16 18080, i16 -32768, i16 17148, i16 38, i16 16385, i16 -32768, i16 17148, i16 38, i16 18080, i16 -32768, i16 17148, i16 39, i16 16385, i16 -32768, i16 17148, i16 39, i16 18080, i16 -32768, i16 17148, i16 40, i16 16385, i16 -32768, i16 17148, i16 40, i16 18080, i16 -32768, i16 17148, i16 47, i16 16385, i16 -32768, i16 17148, i16 47, i16 18080, i16 -32768, i16 17148, i16 51, i16 16385, i16 -32768, i16 17148, i16 51, i16 18080, i16 -32768, i16 17148, i16 52, i16 16385, i16 -32768, i16 17148, i16 52, i16 18080, i16 -32768, i16 17148, i16 57, i16 16385, i16 -32768, i16 17148, i16 57, i16 18080, i16 -32768, i16 17193, i16 2, i16 18080, i16 -32768, i16 17193, i16 34, i16 16385, i16 -32768, i16 17193, i16 34, i16 18080, i16 -32768, i16 17193, i16 39, i16 16385, i16 -32768, i16 17193, i16 39, i16 18080, i16 -32768, i16 18531, i16 2150, i16 18537, i16 -32768, i16 18540, i16 2150, i16 18543, i16 -32768, i16 18546, i16 2150, i16 18549, i16 -32768, i16 18552, i16 2172, i16 18560, i16 -32768, i16 18564, i16 2172, i16 18568, i16 -32768, i16 17205, i16 2, i16 18080, i16 -32768, i16 17205, i16 3, i16 16385, i16 -32768, i16 17205, i16 3, i16 18080, i16 -32768, i16 17205, i16 16, i16 16385, i16 -32768, i16 17205, i16 16, i16 18080, i16 -32768, i16 17205, i16 22, i16 16385, i16 -32768, i16 17205, i16 22, i16 18080, i16 -32768, i16 17205, i16 39, i16 16385, i16 -32768, i16 17205, i16 39, i16 18080, i16 -32768, i16 17205, i16 42, i16 16385, i16 -32768, i16 17205, i16 42, i16 18080, i16 -32768, i16 17205, i16 50, i16 16385, i16 -32768, i16 17205, i16 50, i16 18080, i16 -32768, i16 17220, i16 2, i16 18080, i16 -32768, i16 17220, i16 14, i16 16385, i16 -32768, i16 17220, i16 14, i16 18080, i16 -32768, i16 17220, i16 16, i16 16385, i16 -32768, i16 17220, i16 16, i16 18080, i16 -32768, i16 17220, i16 28, i16 16385, i16 -32768, i16 17220, i16 28, i16 18080, i16 -32768, i16 17220, i16 39, i16 16385, i16 -32768, i16 17220, i16 39, i16 18080, i16 -32768, i16 17220, i16 40, i16 16385, i16 -32768, i16 17220, i16 40, i16 18080, i16 -32768, i16 17220, i16 42, i16 16385, i16 -32768, i16 17220, i16 42, i16 18080, i16 -32768, i16 17220, i16 44, i16 16385, i16 -32768, i16 17220, i16 44, i16 18080, i16 -32768, i16 18178, i16 2, i16 18080, i16 -32768, i16 18178, i16 5, i16 16385, i16 -32768, i16 18178, i16 5, i16 18080, i16 -32768, i16 18178, i16 6, i16 16385, i16 -32768, i16 18178, i16 6, i16 18080, i16 -32768, i16 18178, i16 7, i16 16385, i16 -32768, i16 18178, i16 7, i16 18080, i16 -32768, i16 18178, i16 15, i16 16385, i16 -32768, i16 18178, i16 15, i16 18080, i16 -32768, i16 18178, i16 16, i16 16385, i16 -32768, i16 18178, i16 16, i16 18080, i16 -32768, i16 18178, i16 22, i16 16385, i16 -32768, i16 18178, i16 22, i16 18080, i16 -32768, i16 18178, i16 28, i16 16385, i16 -32768, i16 18178, i16 28, i16 18080, i16 -32768, i16 18178, i16 30, i16 16385, i16 -32768, i16 18178, i16 30, i16 18080, i16 -32768, i16 18178, i16 34, i16 16385, i16 -32768, i16 18178, i16 34, i16 18080, i16 -32768, i16 18178, i16 35, i16 16385, i16 -32768, i16 18178, i16 35, i16 18080, i16 -32768, i16 18178, i16 38, i16 16385, i16 -32768, i16 18178, i16 38, i16 18080, i16 -32768, i16 18178, i16 40, i16 16385, i16 -32768, i16 18178, i16 40, i16 18080, i16 -32768, i16 18178, i16 48, i16 16385, i16 -32768, i16 18178, i16 48, i16 18080, i16 -32768, i16 18572, i16 2191, i16 18578, i16 -32768, i16 18572, i16 2191, i16 18581, i16 -32768, i16 17267, i16 2, i16 18080, i16 -32768, i16 17267, i16 16, i16 16385, i16 -32768, i16 17267, i16 16, i16 18080, i16 -32768, i16 17272, i16 2, i16 18080, i16 -32768, i16 17272, i16 3, i16 16385, i16 -32768, i16 17272, i16 3, i16 18080, i16 -32768, i16 17272, i16 22, i16 16385, i16 -32768, i16 17272, i16 22, i16 18080, i16 -32768, i16 17272, i16 34, i16 16385, i16 -32768, i16 17272, i16 34, i16 18080, i16 -32768, i16 17272, i16 40, i16 16385, i16 -32768, i16 17272, i16 40, i16 18080, i16 -32768, i16 17272, i16 58, i16 16385, i16 -32768, i16 17272, i16 58, i16 18080, i16 -32768, i16 17285, i16 2, i16 18080, i16 -32768, i16 17285, i16 3, i16 16385, i16 -32768, i16 17285, i16 3, i16 18080, i16 -32768, i16 17285, i16 22, i16 16385, i16 -32768, i16 17285, i16 22, i16 18080, i16 -32768, i16 17285, i16 39, i16 16385, i16 -32768, i16 17285, i16 39, i16 18080, i16 -32768, i16 17285, i16 40, i16 16385, i16 -32768, i16 17285, i16 40, i16 18080, i16 -32768, i16 17285, i16 56, i16 16385, i16 -32768, i16 17285, i16 56, i16 18080, i16 -32768, i16 17285, i16 57, i16 16385, i16 -32768, i16 17285, i16 57, i16 18080, i16 -32768, i16 17285, i16 58, i16 16385, i16 -32768, i16 17285, i16 58, i16 18080, i16 -32768, i16 17302, i16 2, i16 18080, i16 -32768, i16 17302, i16 3, i16 16385, i16 -32768, i16 17302, i16 3, i16 18080, i16 -32768, i16 17302, i16 39, i16 16385, i16 -32768, i16 17302, i16 39, i16 18080, i16 -32768, i16 17302, i16 40, i16 16385, i16 -32768, i16 17302, i16 40, i16 18080, i16 -32768, i16 17311, i16 2, i16 18080, i16 -32768, i16 17311, i16 22, i16 16385, i16 -32768, i16 17311, i16 22, i16 18080, i16 -32768, i16 17311, i16 39, i16 16385, i16 -32768, i16 17311, i16 39, i16 18080, i16 -32768, i16 17311, i16 40, i16 16385, i16 -32768, i16 17311, i16 40, i16 18080, i16 -32768, i16 17311, i16 57, i16 16385, i16 -32768, i16 17311, i16 57, i16 18080, i16 -32768, i16 17311, i16 58, i16 16385, i16 -32768, i16 17311, i16 58, i16 18080, i16 -32768, i16 17311, i16 65, i16 18080, i16 -32768, i16 17325, i16 2, i16 18080, i16 -32768, i16 17325, i16 2, i16 32766, i16 -32768, i16 17325, i16 5, i16 16385, i16 -32768, i16 17325, i16 5, i16 18080, i16 -32768, i16 17325, i16 6, i16 16385, i16 -32768, i16 17325, i16 6, i16 18080, i16 -32768, i16 17325, i16 7, i16 16385, i16 -32768, i16 17325, i16 7, i16 18080, i16 -32768, i16 17325, i16 15, i16 16385, i16 -32768, i16 17325, i16 15, i16 18080, i16 -32768, i16 17325, i16 16, i16 16385, i16 -32768, i16 17325, i16 16, i16 18080, i16 -32768, i16 17325, i16 17, i16 16385, i16 -32768, i16 17325, i16 17, i16 18080, i16 -32768, i16 17325, i16 18, i16 16385, i16 -32768, i16 17325, i16 18, i16 18080, i16 -32768, i16 17325, i16 19, i16 16385, i16 -32768, i16 17325, i16 19, i16 18080, i16 -32768, i16 17325, i16 20, i16 16385, i16 -32768, i16 17325, i16 20, i16 18080, i16 -32768, i16 17325, i16 21, i16 16385, i16 -32768, i16 17325, i16 21, i16 18080, i16 -32768, i16 17325, i16 22, i16 16385, i16 -32768, i16 17325, i16 22, i16 18080, i16 -32768, i16 17325, i16 34, i16 16385, i16 -32768, i16 17325, i16 34, i16 18080, i16 -32768, i16 17325, i16 36, i16 16385, i16 -32768, i16 17325, i16 36, i16 18080, i16 -32768, i16 17325, i16 37, i16 16385, i16 -32768, i16 17325, i16 37, i16 18080, i16 -32768, i16 17325, i16 40, i16 16385, i16 -32768, i16 17325, i16 40, i16 18080, i16 -32768, i16 17325, i16 48, i16 16385, i16 -32768, i16 17325, i16 48, i16 18080, i16 -32768, i16 17325, i16 49, i16 16385, i16 -32768, i16 17325, i16 49, i16 18080, i16 -32768, i16 17325, i16 51, i16 16385, i16 -32768, i16 17325, i16 51, i16 18080, i16 -32768, i16 17325, i16 52, i16 16385, i16 -32768, i16 17325, i16 52, i16 18080, i16 -32768, i16 17325, i16 59, i16 16385, i16 -32768, i16 17325, i16 59, i16 18080, i16 -32768, i16 17325, i16 60, i16 16385, i16 -32768, i16 17325, i16 60, i16 18080, i16 -32768, i16 17325, i16 61, i16 16385, i16 -32768, i16 17325, i16 61, i16 18080, i16 -32768, i16 17325, i16 62, i16 16385, i16 -32768, i16 17325, i16 62, i16 18080, i16 -32768, i16 17325, i16 63, i16 16385, i16 -32768, i16 17325, i16 63, i16 18080, i16 -32768, i16 17325, i16 64, i16 16385, i16 -32768, i16 17325, i16 64, i16 18080, i16 -32768, i16 17379, i16 2, i16 18080, i16 -32768, i16 17379, i16 3, i16 16385, i16 -32768, i16 17379, i16 3, i16 18080, i16 -32768, i16 17379, i16 39, i16 16385, i16 -32768, i16 17379, i16 39, i16 18080, i16 -32768, i16 17386, i16 2, i16 18080, i16 -32768, i16 17389, i16 2, i16 18080, i16 -32768, i16 17389, i16 3, i16 16385, i16 -32768, i16 17389, i16 3, i16 18080, i16 -32768, i16 17389, i16 6, i16 16385, i16 -32768, i16 17389, i16 6, i16 18080, i16 -32768, i16 17389, i16 15, i16 16385, i16 -32768, i16 17389, i16 15, i16 18080, i16 -32768, i16 17389, i16 22, i16 16385, i16 -32768, i16 17389, i16 22, i16 18080, i16 -32768, i16 17389, i16 39, i16 16385, i16 -32768, i16 17389, i16 39, i16 18080, i16 -32768, i16 17389, i16 40, i16 16385, i16 -32768, i16 17389, i16 40, i16 18080, i16 -32768, i16 17389, i16 56, i16 16385, i16 -32768, i16 17389, i16 56, i16 18080, i16 -32768, i16 17389, i16 58, i16 16385, i16 -32768, i16 17389, i16 58, i16 18080, i16 -32768, i16 17408, i16 2, i16 18080, i16 -32768, i16 18584, i16 2150, i16 18587, i16 -32768, i16 17408, i16 4, i16 16385, i16 -32768, i16 17408, i16 4, i16 18080, i16 -32768, i16 17408, i16 16, i16 16385, i16 -32768, i16 17408, i16 16, i16 18080, i16 -32768, i16 17408, i16 24, i16 16385, i16 -32768, i16 17408, i16 24, i16 18080, i16 -32768, i16 17408, i16 39, i16 16385, i16 -32768, i16 17408, i16 39, i16 18080, i16 -32768, i16 17408, i16 40, i16 16385, i16 -32768, i16 17408, i16 40, i16 18080, i16 -32768, i16 17408, i16 41, i16 16385, i16 -32768, i16 17408, i16 41, i16 18080, i16 -32768, i16 17408, i16 16382, i16 18080, i16 -32768, i16 18590, i16 2150, i16 18593, i16 -32768, i16 18584, i16 2150, i16 18596, i16 -32768, i16 17427, i16 2, i16 18080, i16 -32768, i16 17427, i16 22, i16 16385, i16 -32768, i16 17427, i16 22, i16 18080, i16 -32768, i16 17427, i16 39, i16 16385, i16 -32768, i16 17427, i16 39, i16 18080, i16 -32768, i16 17427, i16 40, i16 16385, i16 -32768, i16 17427, i16 40, i16 18080, i16 -32768, i16 17427, i16 42, i16 16385, i16 -32768, i16 17427, i16 42, i16 18080, i16 -32768, i16 17427, i16 44, i16 16385, i16 -32768, i16 17427, i16 44, i16 18080, i16 -32768, i16 17427, i16 57, i16 16385, i16 -32768, i16 17427, i16 57, i16 18080, i16 -32768, i16 17427, i16 58, i16 16385, i16 -32768, i16 17427, i16 58, i16 18080, i16 -32768, i16 17444, i16 2, i16 18080, i16 -32768, i16 17444, i16 5, i16 16385, i16 -32768, i16 17444, i16 5, i16 18080, i16 -32768, i16 17444, i16 6, i16 16385, i16 -32768, i16 17444, i16 6, i16 18080, i16 -32768, i16 17444, i16 7, i16 16385, i16 -32768, i16 17444, i16 7, i16 18080, i16 -32768, i16 17444, i16 15, i16 16385, i16 -32768, i16 17444, i16 15, i16 18080, i16 -32768, i16 17444, i16 16, i16 16385, i16 -32768, i16 17444, i16 16, i16 18080, i16 -32768, i16 17444, i16 22, i16 16385, i16 -32768, i16 17444, i16 22, i16 18080, i16 -32768, i16 17444, i16 25, i16 16385, i16 -32768, i16 17444, i16 25, i16 18080, i16 -32768, i16 17444, i16 29, i16 16385, i16 -32768, i16 17444, i16 29, i16 18080, i16 -32768, i16 17444, i16 30, i16 16385, i16 -32768, i16 17444, i16 30, i16 18080, i16 -32768, i16 17444, i16 31, i16 16385, i16 -32768, i16 17444, i16 31, i16 18080, i16 -32768, i16 17444, i16 32, i16 16385, i16 -32768, i16 17444, i16 32, i16 18080, i16 -32768, i16 17444, i16 34, i16 16385, i16 -32768, i16 17444, i16 34, i16 18080, i16 -32768, i16 17444, i16 35, i16 16385, i16 -32768, i16 17444, i16 35, i16 18080, i16 -32768, i16 17444, i16 36, i16 16385, i16 -32768, i16 17444, i16 36, i16 18080, i16 -32768, i16 17444, i16 38, i16 16385, i16 -32768, i16 17444, i16 38, i16 18080, i16 -32768, i16 17444, i16 40, i16 16385, i16 -32768, i16 17444, i16 40, i16 18080, i16 -32768, i16 17444, i16 48, i16 16385, i16 -32768, i16 17444, i16 48, i16 18080, i16 -32768, i16 17444, i16 53, i16 16385, i16 -32768, i16 17444, i16 53, i16 18080, i16 -32768, i16 17444, i16 54, i16 16385, i16 -32768, i16 17444, i16 54, i16 18080, i16 -32768, i16 17444, i16 57, i16 16385, i16 -32768, i16 17444, i16 57, i16 18080, i16 -32768, i16 17444, i16 59, i16 16385, i16 -32768, i16 17444, i16 59, i16 18080, i16 -32768, i16 17444, i16 60, i16 16385, i16 -32768, i16 17444, i16 60, i16 18080, i16 -32768, i16 17444, i16 61, i16 16385, i16 -32768, i16 17444, i16 61, i16 18080, i16 -32768, i16 17444, i16 62, i16 16385, i16 -32768, i16 17444, i16 62, i16 18080, i16 -32768, i16 17444, i16 63, i16 16385, i16 -32768, i16 17444, i16 63, i16 18080, i16 -32768, i16 17444, i16 64, i16 16385, i16 -32768, i16 17444, i16 64, i16 18080, i16 -32768, i16 17501, i16 2, i16 18080, i16 -32768, i16 17501, i16 28, i16 16385, i16 -32768, i16 17501, i16 28, i16 18080, i16 -32768, i16 17501, i16 39, i16 16385, i16 -32768, i16 17501, i16 39, i16 18080, i16 -32768, i16 18254, i16 5, i16 16385, i16 -32768, i16 18254, i16 5, i16 18080, i16 -32768, i16 18254, i16 16, i16 16385, i16 -32768, i16 18254, i16 16, i16 18080, i16 -32768, i16 18254, i16 28, i16 16385, i16 -32768, i16 18254, i16 28, i16 18080, i16 -32768, i16 18254, i16 34, i16 16385, i16 -32768, i16 18254, i16 34, i16 18080, i16 -32768, i16 18254, i16 35, i16 16385, i16 -32768, i16 18254, i16 35, i16 18080, i16 -32768, i16 18254, i16 39, i16 16385, i16 -32768, i16 18254, i16 39, i16 18080, i16 -32768, i16 18254, i16 40, i16 16385, i16 -32768, i16 18254, i16 40, i16 18080, i16 -32768, i16 18259, i16 16, i16 16385, i16 -32768, i16 18259, i16 16, i16 18080, i16 -32768, i16 18259, i16 40, i16 16385, i16 -32768, i16 18259, i16 40, i16 18080, i16 -32768, i16 18259, i16 42, i16 16385, i16 -32768, i16 18259, i16 42, i16 18080, i16 -32768, i16 18259, i16 58, i16 16385, i16 -32768, i16 18259, i16 58, i16 18080, i16 -32768, i16 32766, i16 1, i16 16450, i16 -32768, i16 17531, i16 1, i16 16451, i16 -32768, i16 17531, i16 1696, i16 16450, i16 -32768, i16 17531, i16 1696, i16 16451, i16 -32768, i16 17535, i16 1696, i16 16450, i16 -32768, i16 17537, i16 1696, i16 16450, i16 -32768, i16 17539, i16 1696, i16 16450, i16 -32768, i16 17541, i16 1, i16 16451, i16 -32768, i16 17541, i16 1696, i16 16450, i16 -32768, i16 17541, i16 1696, i16 16451, i16 -32768, i16 17545, i16 1696, i16 16450, i16 -32768, i16 17547, i16 1, i16 16451, i16 -32768, i16 17547, i16 1696, i16 16450, i16 -32768, i16 17547, i16 1696, i16 16451, i16 -32768, i16 17551, i16 1696, i16 16450, i16 -32768, i16 17553, i16 1, i16 16451, i16 -32768, i16 17553, i16 1, i16 16452, i16 -32768, i16 17553, i16 1696, i16 16450, i16 -32768, i16 17553, i16 1696, i16 16451, i16 -32768, i16 17553, i16 1696, i16 16452, i16 -32768, i16 17553, i16 1696, i16 16453, i16 -32768, i16 17560, i16 1696, i16 16450, i16 -32768, i16 17562, i16 1696, i16 16450, i16 -32768, i16 17564, i16 1696, i16 16450, i16 -32768, i16 17566, i16 1696, i16 16450, i16 -32768, i16 17568, i16 1696, i16 16450, i16 -32768, i16 17570, i16 1, i16 16451, i16 -32768, i16 17570, i16 1696, i16 16450, i16 -32768, i16 17570, i16 1696, i16 16451, i16 -32768, i16 17574, i16 1696, i16 16450, i16 -32768, i16 17576, i16 1696, i16 16450, i16 -32768, i16 17578, i16 1696, i16 16450, i16 -32768, i16 17578, i16 1696, i16 32766, i16 -32768, i16 17581, i16 1696, i16 16450, i16 -32768, i16 17583, i16 1, i16 16451, i16 -32768, i16 17583, i16 1, i16 16452, i16 -32768, i16 17583, i16 1696, i16 16450, i16 -32768, i16 17583, i16 1696, i16 16451, i16 -32768, i16 17583, i16 1696, i16 16452, i16 -32768, i16 17583, i16 1696, i16 16453, i16 -32768, i16 17590, i16 1696, i16 16450, i16 -32768, i16 17592, i16 1696, i16 16450, i16 -32768, i16 17594, i16 1696, i16 16450, i16 -32768, i16 17596, i16 1, i16 16451, i16 -32768, i16 17596, i16 1696, i16 16450, i16 -32768, i16 17596, i16 1696, i16 16451, i16 -32768, i16 32766, i16 70, i16 16385, i16 -32768, i16 17600, i16 70, i16 18080, i16 -32768, i16 17602, i16 70, i16 18080, i16 -32768, i16 17604, i16 70, i16 18080, i16 -32768, i16 17606, i16 70, i16 18080, i16 -32768, i16 17608, i16 70, i16 18080, i16 -32768, i16 17610, i16 70, i16 18080, i16 -32768, i16 17612, i16 70, i16 18080, i16 -32768, i16 17614, i16 70, i16 18080, i16 -32768, i16 17616, i16 70, i16 18080, i16 -32768, i16 17618, i16 70, i16 18080, i16 -32768, i16 17620, i16 70, i16 18080, i16 -32768, i16 17622, i16 70, i16 18080, i16 -32768, i16 17624, i16 70, i16 18080, i16 -32768, i16 17626, i16 70, i16 18080, i16 -32768, i16 17628, i16 70, i16 18080, i16 -32768, i16 17630, i16 70, i16 18080, i16 -32768, i16 17632, i16 70, i16 18080, i16 -32768, i16 17634, i16 70, i16 18080, i16 -32768, i16 17636, i16 70, i16 18080, i16 -32768, i16 17638, i16 70, i16 18080, i16 -32768, i16 17640, i16 70, i16 18080, i16 -32768, i16 17642, i16 70, i16 18080, i16 -32768, i16 17644, i16 70, i16 18080, i16 -32768, i16 17646, i16 70, i16 18080, i16 -32768, i16 17648, i16 70, i16 18080, i16 -32768, i16 17650, i16 70, i16 18080, i16 -32768, i16 17652, i16 70, i16 18080, i16 -32768, i16 17654, i16 70, i16 18080, i16 -32768, i16 17656, i16 70, i16 18080, i16 -32768, i16 17658, i16 70, i16 18080, i16 -32768, i16 17660, i16 70, i16 18080, i16 -32768, i16 17662, i16 70, i16 18080, i16 -32768, i16 17664, i16 70, i16 18080, i16 -32768, i16 17666, i16 70, i16 18080, i16 -32768, i16 17668, i16 70, i16 18080, i16 -32768, i16 17670, i16 70, i16 18080, i16 -32768, i16 17672, i16 70, i16 18080, i16 -32768, i16 17674, i16 70, i16 18080, i16 -32768, i16 17676, i16 70, i16 18080, i16 -32768, i16 17678, i16 70, i16 18080, i16 -32768, i16 17680, i16 70, i16 18080, i16 -32768, i16 32766, i16 70, i16 18080, i16 -32768, i16 17682, i16 70, i16 16385, i16 -32768, i16 17684, i16 70, i16 18080, i16 -32768, i16 17686, i16 70, i16 16385, i16 -32768, i16 17688, i16 70, i16 18080, i16 -32768, i16 17690, i16 70, i16 18080, i16 -32768, i16 17692, i16 70, i16 18080, i16 -32768, i16 17694, i16 70, i16 18080, i16 -32768, i16 17696, i16 70, i16 18080, i16 -32768, i16 17698, i16 70, i16 18080, i16 -32768, i16 17700, i16 70, i16 18080, i16 -32768, i16 17702, i16 70, i16 18080, i16 -32768, i16 32766, i16 0, i16 16384, i16 -32768, i16 32766, i16 16382, i16 16384, i16 -32768, i16 17736, i16 16382, i16 16384, i16 -32768, i16 17735, i16 16382, i16 16384, i16 -32768, i16 17745, i16 16382, i16 16384, i16 -32768, i16 17749, i16 16382, i16 16384, i16 -32768, i16 17756, i16 16382, i16 16384, i16 -32768, i16 17764, i16 16382, i16 16384, i16 -32768, i16 17769, i16 16382, i16 16384, i16 -32768, i16 17774, i16 16382, i16 16384, i16 -32768, i16 17779, i16 16382, i16 16384, i16 -32768, i16 17784, i16 16382, i16 16384, i16 -32768, i16 17787, i16 16382, i16 16384, i16 -32768, i16 17790, i16 16382, i16 16384, i16 -32768, i16 17793, i16 16382, i16 16384, i16 -32768, i16 17796, i16 16382, i16 16384, i16 -32768, i16 17801, i16 16382, i16 16384, i16 -32768, i16 17806, i16 16382, i16 16384, i16 -32768, i16 17811, i16 16382, i16 16384, i16 -32768, i16 17816, i16 16382, i16 16384, i16 -32768, i16 17821, i16 16382, i16 16384, i16 -32768, i16 17826, i16 16382, i16 16384, i16 -32768, i16 17831, i16 16382, i16 16384, i16 -32768, i16 17836, i16 16382, i16 16384, i16 -32768, i16 17841, i16 16382, i16 16384, i16 -32768, i16 17846, i16 16382, i16 16384, i16 -32768, i16 17851, i16 16382, i16 16384, i16 -32768, i16 17856, i16 16382, i16 16384, i16 -32768, i16 17861, i16 16382, i16 16384, i16 -32768, i16 17866, i16 16382, i16 16384, i16 -32768, i16 17871, i16 16382, i16 16384, i16 -32768, i16 17874, i16 16382, i16 16384, i16 -32768, i16 17877, i16 16382, i16 16384, i16 -32768, i16 16384, i16 0, i16 32766, i16 -32768, i16 18115, i16 16382, i16 16384, i16 -32768, i16 18124, i16 16382, i16 16384, i16 -32768, i16 18125, i16 16382, i16 16384, i16 -32768, i16 18126, i16 16382, i16 16384, i16 -32768, i16 18127, i16 16382, i16 16384, i16 -32768, i16 18128, i16 16382, i16 16384, i16 -32768, i16 18129, i16 16382, i16 16384, i16 -32768, i16 18130, i16 16382, i16 16384, i16 -32768, i16 18131, i16 16382, i16 16384, i16 -32768, i16 18132, i16 16382, i16 16384, i16 -32768, i16 18599, i16 2218, i16 18605, i16 -32768, i16 18599, i16 2224, i16 18611, i16 -32768, i16 18614, i16 2233, i16 18620, i16 -32768, i16 18614, i16 2239, i16 18626, i16 -32768, i16 18629, i16 2248, i16 18635, i16 -32768, i16 18629, i16 2254, i16 18641, i16 -32768, i16 18644, i16 2263, i16 18650, i16 -32768, i16 18644, i16 2269, i16 18656, i16 -32768, i16 17909, i16 16382, i16 16384, i16 -32768, i16 17913, i16 16382, i16 16384, i16 -32768, i16 17917, i16 16382, i16 16384, i16 -32768, i16 17922, i16 16382, i16 16384, i16 -32768, i16 17926, i16 16382, i16 16384, i16 -32768, i16 17930, i16 16382, i16 16384, i16 -32768, i16 17935, i16 16382, i16 16384, i16 -32768, i16 17939, i16 16382, i16 16384, i16 -32768, i16 17943, i16 16382, i16 16384, i16 -32768, i16 17948, i16 16382, i16 16384, i16 -32768, i16 17952, i16 16382, i16 16384, i16 -32768, i16 17956, i16 16382, i16 16384, i16 -32768, i16 17960, i16 16382, i16 16384, i16 -32768, i16 17964, i16 16382, i16 16384, i16 -32768, i16 17968, i16 16382, i16 16384, i16 -32768, i16 17972, i16 16382, i16 16384, i16 -32768, i16 17976, i16 16382, i16 16384, i16 -32768, i16 17980, i16 16382, i16 16384, i16 -32768, i16 17986, i16 16382, i16 16384, i16 -32768, i16 17990, i16 16382, i16 16384, i16 -32768, i16 17994, i16 16382, i16 16384, i16 -32768, i16 17996, i16 16382, i16 16384, i16 -32768, i16 17998, i16 16382, i16 16384, i16 -32768, i16 18000, i16 16382, i16 16384, i16 -32768, i16 18002, i16 16382, i16 16384, i16 -32768, i16 18004, i16 16382, i16 16384, i16 -32768, i16 18010, i16 16382, i16 16384, i16 -32768, i16 18016, i16 16382, i16 16384, i16 -32768, i16 18022, i16 16382, i16 16384, i16 -32768, i16 18028, i16 16382, i16 16384, i16 -32768, i16 18034, i16 16382, i16 16384, i16 -32768, i16 18036, i16 16382, i16 16384, i16 -32768, i16 18038, i16 16382, i16 16384, i16 -32768, i16 18040, i16 16382, i16 16384, i16 -32768, i16 18042, i16 16382, i16 16384, i16 -32768, i16 18044, i16 16382, i16 16384, i16 -32768, i16 18048, i16 16382, i16 16384, i16 -32768, i16 18052, i16 16382, i16 16384, i16 -32768, i16 18056, i16 16382, i16 16384, i16 -32768, i16 18058, i16 16382, i16 16384, i16 -32768, i16 18060, i16 16382, i16 16384, i16 -32768, i16 18062, i16 16382, i16 16384, i16 -32768, i16 18064, i16 16382, i16 16384, i16 -32768, i16 18066, i16 16382, i16 16384, i16 -32768, i16 18070, i16 16382, i16 16384, i16 -32768, i16 18072, i16 16382, i16 16384, i16 -32768, i16 18074, i16 16382, i16 16384, i16 -32768, i16 18076, i16 16382, i16 16384, i16 -32768, i16 17065, i16 3, i16 16385, i16 -32768, i16 17065, i16 3, i16 18080, i16 -32768, i16 17065, i16 25, i16 16385, i16 -32768, i16 17065, i16 25, i16 18080, i16 -32768, i16 17065, i16 26, i16 16385, i16 -32768, i16 17065, i16 26, i16 18080, i16 -32768, i16 17065, i16 28, i16 16385, i16 -32768, i16 17065, i16 28, i16 18080, i16 -32768, i16 17065, i16 48, i16 16385, i16 -32768, i16 17065, i16 48, i16 18080, i16 -32768, i16 17065, i16 50, i16 16385, i16 -32768, i16 17065, i16 50, i16 18080, i16 -32768, i16 18659, i16 2278, i16 18578, i16 -32768, i16 18659, i16 2278, i16 18581, i16 -32768, i16 18659, i16 2281, i16 18578, i16 -32768, i16 18659, i16 2281, i16 18581, i16 -32768, i16 18659, i16 2284, i16 18578, i16 -32768, i16 18659, i16 2284, i16 18581, i16 -32768, i16 17122, i16 3, i16 16385, i16 -32768, i16 17122, i16 3, i16 18080, i16 -32768, i16 17122, i16 22, i16 16385, i16 -32768, i16 17122, i16 22, i16 18080, i16 -32768, i16 18164, i16 2, i16 18080, i16 -32768, i16 17133, i16 42, i16 16385, i16 -32768, i16 17133, i16 42, i16 18080, i16 -32768, i16 17148, i16 3, i16 16385, i16 -32768, i16 17148, i16 3, i16 18080, i16 -32768, i16 17148, i16 48, i16 16385, i16 -32768, i16 17148, i16 48, i16 18080, i16 -32768, i16 17148, i16 50, i16 16385, i16 -32768, i16 17148, i16 50, i16 18080, i16 -32768, i16 17205, i16 44, i16 16385, i16 -32768, i16 17205, i16 44, i16 18080, i16 -32768, i16 18176, i16 2, i16 18080, i16 -32768, i16 18179, i16 2, i16 16385, i16 -32768, i16 32766, i16 2, i16 18080, i16 -32768, i16 18178, i16 2, i16 16385, i16 -32768, i16 18178, i16 3, i16 16385, i16 -32768, i16 18178, i16 3, i16 18080, i16 -32768, i16 18178, i16 50, i16 16385, i16 -32768, i16 18178, i16 50, i16 18080, i16 -32768, i16 17272, i16 44, i16 16385, i16 -32768, i16 17272, i16 44, i16 18080, i16 -32768, i16 17285, i16 42, i16 16385, i16 -32768, i16 17285, i16 42, i16 18080, i16 -32768, i16 17285, i16 44, i16 16385, i16 -32768, i16 17285, i16 44, i16 18080, i16 -32768, i16 17311, i16 3, i16 16385, i16 -32768, i16 17311, i16 3, i16 18080, i16 -32768, i16 17311, i16 35, i16 16385, i16 -32768, i16 17311, i16 35, i16 18080, i16 -32768, i16 17311, i16 44, i16 16385, i16 -32768, i16 17311, i16 44, i16 18080, i16 -32768, i16 18671, i16 2290, i16 18578, i16 -32768, i16 18671, i16 2290, i16 18581, i16 -32768, i16 17325, i16 3, i16 16385, i16 -32768, i16 17325, i16 3, i16 18080, i16 -32768, i16 17325, i16 33, i16 16385, i16 -32768, i16 17325, i16 33, i16 18080, i16 -32768, i16 17325, i16 35, i16 16385, i16 -32768, i16 17325, i16 35, i16 18080, i16 -32768, i16 17325, i16 42, i16 16385, i16 -32768, i16 17325, i16 42, i16 18080, i16 -32768, i16 17325, i16 43, i16 16385, i16 -32768, i16 17325, i16 43, i16 18080, i16 -32768, i16 17325, i16 50, i16 16385, i16 -32768, i16 17325, i16 50, i16 18080, i16 -32768, i16 18212, i16 2, i16 18080, i16 -32768, i16 18677, i16 2296, i16 18578, i16 -32768, i16 18677, i16 2296, i16 18581, i16 -32768, i16 17389, i16 44, i16 16385, i16 -32768, i16 17389, i16 44, i16 18080, i16 -32768, i16 17408, i16 3, i16 16385, i16 -32768, i16 17408, i16 3, i16 18080, i16 -32768, i16 17408, i16 22, i16 16385, i16 -32768, i16 17408, i16 22, i16 18080, i16 -32768, i16 18222, i16 2, i16 18080, i16 -32768, i16 18683, i16 2302, i16 18578, i16 -32768, i16 18683, i16 2302, i16 18581, i16 -32768, i16 17444, i16 3, i16 16385, i16 -32768, i16 17444, i16 3, i16 18080, i16 -32768, i16 17444, i16 33, i16 16385, i16 -32768, i16 17444, i16 33, i16 18080, i16 -32768, i16 17444, i16 50, i16 16385, i16 -32768, i16 17444, i16 50, i16 18080, i16 -32768, i16 18232, i16 2, i16 18080, i16 -32768, i16 18234, i16 2, i16 18080, i16 -32768, i16 18234, i16 35, i16 16385, i16 -32768, i16 18234, i16 35, i16 18080, i16 -32768, i16 18234, i16 40, i16 16385, i16 -32768, i16 18234, i16 40, i16 18080, i16 -32768, i16 18240, i16 2, i16 18080, i16 -32768, i16 18240, i16 3, i16 16385, i16 -32768, i16 18240, i16 3, i16 18080, i16 -32768, i16 18240, i16 5, i16 16385, i16 -32768, i16 18240, i16 5, i16 18080, i16 -32768, i16 18240, i16 16, i16 16385, i16 -32768, i16 18240, i16 16, i16 18080, i16 -32768, i16 18240, i16 28, i16 16385, i16 -32768, i16 18240, i16 28, i16 18080, i16 -32768, i16 18240, i16 39, i16 16385, i16 -32768, i16 18240, i16 39, i16 18080, i16 -32768, i16 18240, i16 40, i16 16385, i16 -32768, i16 18240, i16 40, i16 18080, i16 -32768, i16 18254, i16 2, i16 18080, i16 -32768, i16 18254, i16 3, i16 16385, i16 -32768, i16 18254, i16 3, i16 18080, i16 -32768, i16 18259, i16 2, i16 18080, i16 -32768, i16 18259, i16 3, i16 16385, i16 -32768, i16 18259, i16 3, i16 18080, i16 -32768, i16 18259, i16 22, i16 16385, i16 -32768, i16 18259, i16 22, i16 18080, i16 -32768, i16 18259, i16 39, i16 16385, i16 -32768, i16 18259, i16 39, i16 18080, i16 -32768, i16 17272, i16 16382, i16 18080, i16 -32768, i16 17122, i16 44, i16 16385, i16 -32768, i16 17122, i16 44, i16 18080, i16 -32768, i16 17205, i16 7, i16 16385, i16 -32768, i16 17205, i16 7, i16 18080, i16 -32768, i16 18178, i16 39, i16 16385, i16 -32768, i16 18178, i16 39, i16 18080, i16 -32768, i16 17408, i16 44, i16 16385, i16 -32768, i16 17408, i16 44, i16 18080, i16 -32768, i16 32766, i16 16382, i16 16386, i16 -32767, i16 18234, i16 1850, i16 16386, i16 -31072, i16 18234, i16 1850, i16 16419, i16 -32767, i16 18234, i16 1850, i16 16419, i16 -31072, i16 18234, i16 1850, i16 16424, i16 -32767, i16 18234, i16 1850, i16 16424, i16 -31072, i16 18240, i16 1856, i16 16386, i16 -31072, i16 18240, i16 1856, i16 16387, i16 -32767, i16 18240, i16 1856, i16 16387, i16 -31072, i16 18240, i16 1856, i16 16389, i16 -32767, i16 18240, i16 1856, i16 16389, i16 -31072, i16 18240, i16 1856, i16 16400, i16 -32767, i16 18240, i16 1856, i16 16400, i16 -31072, i16 18240, i16 1856, i16 16412, i16 -32767, i16 18240, i16 1856, i16 16412, i16 -31072, i16 18240, i16 1856, i16 16423, i16 -32767, i16 18240, i16 1856, i16 16423, i16 -31072, i16 18240, i16 1856, i16 16424, i16 -32767, i16 18240, i16 1856, i16 16424, i16 -31072, i16 18254, i16 73, i16 16385, i16 -32768, i16 18254, i16 73, i16 18080, i16 -32768, i16 18144, i16 2, i16 18080, i16 -32768, i16 18144, i16 3, i16 16385, i16 -32768, i16 18144, i16 3, i16 18080, i16 -32768, i16 18148, i16 2, i16 18080, i16 -32768, i16 18148, i16 16382, i16 16385, i16 -32768, i16 18148, i16 1770, i16 18080, i16 -32768, i16 18148, i16 1772, i16 18080, i16 -32768, i16 18148, i16 1774, i16 18080, i16 -32768, i16 18212, i16 16382, i16 16385, i16 -32768, i16 18212, i16 1822, i16 18080, i16 -32768, i16 18212, i16 1824, i16 18080, i16 -32768, i16 18212, i16 35, i16 16385, i16 -32768, i16 18212, i16 35, i16 18080, i16 -32768, i16 18163, i16 2, i16 16385, i16 -32768, i16 17325, i16 28, i16 16385, i16 -32768, i16 17325, i16 28, i16 18080, i16 -32768, i16 18221, i16 2, i16 16385, i16 -32768, i16 17444, i16 28, i16 16385, i16 -32768, i16 17444, i16 28, i16 18080, i16 -32768, i16 18264, i16 2, i16 16385, i16 -32768, i16 18150, i16 2, i16 18080, i16 -32768, i16 18160, i16 2, i16 18080, i16 -32768, i16 18170, i16 2, i16 18080, i16 -32768, i16 18188, i16 2, i16 18080, i16 -32768, i16 18192, i16 2, i16 18080, i16 -32768, i16 18200, i16 2, i16 18080, i16 -32768, i16 18218, i16 2, i16 18080, i16 -32768, i16 18261, i16 2, i16 18080, i16 -32768, i16 18265, i16 2, i16 18080, i16 -32768, i16 18254, i16 16382, i16 16385, i16 -32768, i16 18254, i16 1848, i16 18080, i16 -32768, i16 18254, i16 1844, i16 18080, i16 -32768, i16 18154, i16 2, i16 18080, i16 -32768, i16 18154, i16 3, i16 16385, i16 -32768, i16 18154, i16 3, i16 18080, i16 -32768, i16 18154, i16 50, i16 16385, i16 -32768, i16 18154, i16 50, i16 18080, i16 -32768, i16 18154, i16 73, i16 16385, i16 -32768, i16 18154, i16 73, i16 18080, i16 -32768, i16 18206, i16 2, i16 18080, i16 -32768, i16 18206, i16 3, i16 16385, i16 -32768, i16 18206, i16 3, i16 18080, i16 -32768, i16 18206, i16 28, i16 16385, i16 -32768, i16 18206, i16 28, i16 18080, i16 -32768, i16 18206, i16 33, i16 16385, i16 -32768, i16 18206, i16 33, i16 18080, i16 -32768, i16 18144, i16 16382, i16 16385, i16 -32768, i16 18144, i16 1883, i16 18078, i16 -32768, i16 18144, i16 1883, i16 18079, i16 -32768, i16 18144, i16 1883, i16 18080, i16 -32768, i16 18144, i16 1762, i16 18080, i16 -32768, i16 18152, i16 2, i16 18080, i16 -32768, i16 18162, i16 2, i16 18080, i16 -32768, i16 18172, i16 2, i16 18080, i16 -32768, i16 18174, i16 2, i16 18080, i16 -32768, i16 18183, i16 2, i16 18080, i16 -32768, i16 18185, i16 2, i16 18080, i16 -32768, i16 18190, i16 2, i16 18080, i16 -32768, i16 18196, i16 2, i16 18080, i16 -32768, i16 18210, i16 2, i16 18080, i16 -32768, i16 18216, i16 2, i16 18080, i16 -32768, i16 18220, i16 2, i16 18080, i16 -32768, i16 18230, i16 2, i16 18080, i16 -32768, i16 18263, i16 2, i16 18080, i16 -32768, i16 18081, i16 16382, i16 16384, i16 -32768, i16 17133, i16 16382, i16 16385, i16 -32768, i16 17133, i16 1887, i16 18080, i16 -32768, i16 17386, i16 73, i16 18080, i16 -32768, i16 18143, i16 2, i16 16385, i16 -32768, i16 18272, i16 2, i16 16385, i16 -32768, i16 18169, i16 2, i16 16385, i16 -32768, i16 17205, i16 8, i16 16385, i16 -32768, i16 17205, i16 8, i16 18080, i16 -32768, i16 18182, i16 2, i16 16385, i16 -32768, i16 17311, i16 16382, i16 16385, i16 -32768, i16 17311, i16 1814, i16 18080, i16 -32768, i16 18201, i16 2, i16 16385, i16 -32768, i16 18227, i16 2, i16 16385, i16 -32768, i16 18257, i16 2, i16 16385, i16 -32768, i16 18225, i16 2, i16 16385, i16 -32768, i16 18155, i16 2, i16 16385, i16 -32768, i16 18155, i16 73, i16 18080, i16 -32768, i16 18155, i16 73, i16 16385, i16 -32768, i16 18213, i16 2, i16 16385, i16 -32768, i16 18213, i16 73, i16 18080, i16 -32768, i16 18213, i16 73, i16 16385, i16 -32768, i16 16384, i16 0, i16 16400, i16 -32768, i16 16384, i16 0, i16 16434, i16 -32768, i16 16384, i16 0, i16 16389, i16 -32768, i16 18311, i16 2, i16 18078, i16 -32768, i16 18311, i16 2, i16 18079, i16 -32768, i16 18311, i16 2, i16 18080, i16 -32768, i16 18166, i16 2, i16 18080, i16 -32768, i16 18315, i16 2, i16 18078, i16 -32768, i16 18315, i16 2, i16 18079, i16 -32768, i16 18315, i16 2, i16 18080, i16 -32768, i16 18319, i16 2, i16 18078, i16 -32768, i16 18319, i16 2, i16 18079, i16 -32768, i16 18319, i16 2, i16 18080, i16 -32768, i16 18194, i16 2, i16 18080, i16 -32768, i16 32766, i16 22, i16 16385, i16 -16386, i16 18220, i16 22, i16 18080, i16 -16386, i16 32766, i16 2, i16 16385, i16 -16386, i16 18259, i16 2, i16 18080, i16 -16386, i16 18259, i16 3, i16 16385, i16 -16386, i16 18259, i16 3, i16 18080, i16 -16386, i16 18259, i16 39, i16 16385, i16 -16386, i16 18259, i16 39, i16 18080, i16 -16386, i16 18259, i16 22, i16 16385, i16 -16386, i16 18259, i16 22, i16 18080, i16 -16386, i16 18234, i16 16382, i16 16386, i16 -32767, i16 18234, i16 1856, i16 16386, i16 -31072, i16 18234, i16 1856, i16 16387, i16 -32767, i16 18234, i16 1856, i16 16387, i16 -31072, i16 18234, i16 1856, i16 16389, i16 -32767, i16 18234, i16 1856, i16 16389, i16 -31072, i16 18234, i16 1856, i16 16400, i16 -32767, i16 18234, i16 1856, i16 16400, i16 -31072, i16 18234, i16 1856, i16 16434, i16 -32767, i16 18234, i16 1856, i16 16434, i16 -31072, i16 18234, i16 1856, i16 16423, i16 -32767, i16 18234, i16 1856, i16 16423, i16 -31072, i16 18234, i16 1856, i16 16412, i16 -32767, i16 18234, i16 1856, i16 16412, i16 -31072, i16 32766, i16 35, i16 16385, i16 -16386, i16 18204, i16 35, i16 18080, i16 -16386, i16 32766, i16 28, i16 16385, i16 -16386, i16 18148, i16 28, i16 18080, i16 -16386, i16 18212, i16 28, i16 18080, i16 -16386, i16 18232, i16 28, i16 18080, i16 -16386, i16 18323, i16 2, i16 18078, i16 -32768, i16 18323, i16 2, i16 18079, i16 -32768, i16 18323, i16 2, i16 18080, i16 -32768, i16 18327, i16 2, i16 18078, i16 -32768, i16 18327, i16 2, i16 18079, i16 -32768, i16 18327, i16 2, i16 18080, i16 -32768, i16 32766, i16 32766, i16 32766, i16 32766, i16 16384, i16 16384, i16 16384, i16 32766, i16 32766, i16 16389, i16 16385, i16 32766, i16 16470, i16 16389, i16 16388, i16 16470, i16 16470, i16 16389, i16 32766, i16 16470, i16 16470, i16 16392, i16 16385, i16 16470, i16 16470, i16 16392, i16 16388, i16 16470, i16 16470, i16 16393, i16 16385, i16 16470, i16 16470, i16 16393, i16 16388, i16 16470, i16 16470, i16 16405, i16 16385, i16 16470, i16 16470, i16 16405, i16 16388, i16 16470, i16 16470, i16 16397, i16 16385, i16 16470, i16 16470, i16 16397, i16 16388, i16 16470, i16 16470, i16 16408, i16 16385, i16 16470, i16 16470, i16 16408, i16 16388, i16 16470, i16 16470, i16 16409, i16 16385, i16 16470, i16 16470, i16 16409, i16 16388, i16 16470, i16 16470, i16 16411, i16 16385, i16 16470, i16 16470, i16 16411, i16 16388, i16 16470, i16 16470, i16 16410, i16 16385, i16 16470, i16 16470, i16 16410, i16 16388, i16 16470, i16 16470, i16 16435, i16 16385, i16 16470, i16 16470, i16 16435, i16 16388, i16 16470, i16 16470, i16 16398, i16 16385, i16 16470, i16 16470, i16 16398, i16 16388, i16 16470, i16 16470, i16 16394, i16 16385, i16 16470, i16 16470, i16 16394, i16 16388, i16 16470, i16 16470, i16 16412, i16 16385, i16 16470, i16 16470, i16 16412, i16 16388, i16 16470, i16 16470, i16 16413, i16 16385, i16 16470, i16 16470, i16 16413, i16 16388, i16 16470, i16 16470, i16 16415, i16 16385, i16 16470, i16 16470, i16 16415, i16 16388, i16 16470, i16 16470, i16 16414, i16 16385, i16 16470, i16 16470, i16 16414, i16 16388, i16 16470, i16 16470, i16 16436, i16 16385, i16 16470, i16 16470, i16 16436, i16 16388, i16 16470, i16 16470, i16 16395, i16 16385, i16 16470, i16 16470, i16 16395, i16 16388, i16 16470, i16 16470, i16 16399, i16 16385, i16 16470, i16 16470, i16 16399, i16 16388, i16 16470, i16 16470, i16 16417, i16 16385, i16 16470, i16 16470, i16 16417, i16 16388, i16 16470, i16 16470, i16 16450, i16 16385, i16 16470, i16 16470, i16 16450, i16 16388, i16 16470, i16 16470, i16 16402, i16 16385, i16 16470, i16 16470, i16 16402, i16 16388, i16 16470, i16 16470, i16 16426, i16 16385, i16 16470, i16 16470, i16 16426, i16 16388, i16 16470, i16 16470, i16 16400, i16 16385, i16 16470, i16 16470, i16 16400, i16 16388, i16 16470, i16 16470, i16 16396, i16 16385, i16 16470, i16 16470, i16 16396, i16 16388, i16 16470, i16 16470, i16 16444, i16 16385, i16 16470, i16 16470, i16 16444, i16 16388, i16 16470, i16 16470, i16 16449, i16 16385, i16 16470, i16 16470, i16 16449, i16 16388, i16 16470, i16 16470, i16 16391, i16 16385, i16 16470, i16 16470, i16 16391, i16 16388, i16 16470, i16 16470, i16 16418, i16 16385, i16 16470, i16 16470, i16 16418, i16 16388, i16 16470, i16 18628, i16 18631, i16 18517, i16 18628, i16 18628, i16 18631, i16 18425, i16 18628, i16 18628, i16 18634, i16 18517, i16 18628, i16 18628, i16 18634, i16 18425, i16 18628, i16 18628, i16 18637, i16 18517, i16 18628, i16 18628, i16 18637, i16 18425, i16 18628, i16 16536, i16 16389, i16 16388, i16 16536, i16 16536, i16 16390, i16 16385, i16 16536, i16 16536, i16 16390, i16 16388, i16 16536, i16 16536, i16 16444, i16 16385, i16 16536, i16 16536, i16 16444, i16 16388, i16 16536, i16 16536, i16 16445, i16 16385, i16 16536, i16 16536, i16 16445, i16 16388, i16 16536, i16 16545, i16 16389, i16 16388, i16 16545, i16 16545, i16 16392, i16 16385, i16 16545, i16 16545, i16 16392, i16 16388, i16 16545, i16 16545, i16 16394, i16 16385, i16 16545, i16 16545, i16 16394, i16 16388, i16 16545, i16 16545, i16 16400, i16 16385, i16 16545, i16 16545, i16 16400, i16 16388, i16 16545, i16 16545, i16 16390, i16 16385, i16 16545, i16 16545, i16 16390, i16 16388, i16 16545, i16 16545, i16 16448, i16 16385, i16 16545, i16 16545, i16 16448, i16 16388, i16 16545, i16 16545, i16 16437, i16 16385, i16 16545, i16 16545, i16 16437, i16 16388, i16 16545, i16 32766, i16 16395, i16 16385, i16 32766, i16 16559, i16 16395, i16 16388, i16 16559, i16 16562, i16 16389, i16 16388, i16 16562, i16 16562, i16 16395, i16 16385, i16 16562, i16 16562, i16 16395, i16 16388, i16 16562, i16 16562, i16 16390, i16 16385, i16 16562, i16 16562, i16 16390, i16 16388, i16 16562, i16 16562, i16 16444, i16 16385, i16 16562, i16 16562, i16 16444, i16 16388, i16 16562, i16 16562, i16 16452, i16 16385, i16 16562, i16 16562, i16 16452, i16 16388, i16 16562, i16 16562, i16 16448, i16 16385, i16 16562, i16 16562, i16 16448, i16 16388, i16 16562, i16 16562, i16 16421, i16 16385, i16 16562, i16 16562, i16 16421, i16 16388, i16 16562, i16 16562, i16 16445, i16 16385, i16 16562, i16 16562, i16 16445, i16 16388, i16 16562, i16 16579, i16 16389, i16 16388, i16 16579, i16 16579, i16 16392, i16 16385, i16 16579, i16 16579, i16 16392, i16 16388, i16 16579, i16 16579, i16 16393, i16 16385, i16 16579, i16 16579, i16 16393, i16 16388, i16 16579, i16 16579, i16 16405, i16 16385, i16 16579, i16 16579, i16 16405, i16 16388, i16 16579, i16 16579, i16 16397, i16 16385, i16 16579, i16 16579, i16 16397, i16 16388, i16 16579, i16 16579, i16 16398, i16 16385, i16 16579, i16 16579, i16 16398, i16 16388, i16 16579, i16 16579, i16 16394, i16 16385, i16 16579, i16 16579, i16 16394, i16 16388, i16 16579, i16 16579, i16 16412, i16 16385, i16 16579, i16 16579, i16 16412, i16 16388, i16 16579, i16 16579, i16 16413, i16 16385, i16 16579, i16 16579, i16 16413, i16 16388, i16 16579, i16 16579, i16 16415, i16 16385, i16 16579, i16 16579, i16 16415, i16 16388, i16 16579, i16 16579, i16 16414, i16 16385, i16 16579, i16 16579, i16 16414, i16 16388, i16 16579, i16 16579, i16 16436, i16 16385, i16 16579, i16 16579, i16 16436, i16 16388, i16 16579, i16 16579, i16 16395, i16 16385, i16 16579, i16 16579, i16 16395, i16 16388, i16 16579, i16 16579, i16 16402, i16 16385, i16 16579, i16 16579, i16 16402, i16 16388, i16 16579, i16 16579, i16 16400, i16 16385, i16 16579, i16 16579, i16 16400, i16 16388, i16 16579, i16 16579, i16 16396, i16 16385, i16 16579, i16 16579, i16 16396, i16 16388, i16 16579, i16 16579, i16 16446, i16 16385, i16 16579, i16 16579, i16 16446, i16 16388, i16 16579, i16 16579, i16 16390, i16 16385, i16 16579, i16 16579, i16 16390, i16 16388, i16 16579, i16 16579, i16 16444, i16 16385, i16 16579, i16 16579, i16 16444, i16 16388, i16 16579, i16 16579, i16 16439, i16 16385, i16 16579, i16 16579, i16 16439, i16 16388, i16 16579, i16 16579, i16 16449, i16 16385, i16 16579, i16 16579, i16 16449, i16 16388, i16 16579, i16 16579, i16 16391, i16 16385, i16 16579, i16 16579, i16 16391, i16 16388, i16 16579, i16 16579, i16 16419, i16 16385, i16 16579, i16 16579, i16 16419, i16 16388, i16 16579, i16 16579, i16 16420, i16 16385, i16 16579, i16 16579, i16 16420, i16 16388, i16 16579, i16 16579, i16 16421, i16 16385, i16 16579, i16 16579, i16 16421, i16 16388, i16 16579, i16 16630, i16 16389, i16 16388, i16 16630, i16 16630, i16 16400, i16 16385, i16 16630, i16 16630, i16 16400, i16 16388, i16 16630, i16 16630, i16 16390, i16 16385, i16 16630, i16 16630, i16 16390, i16 16388, i16 16630, i16 18640, i16 18643, i16 18646, i16 18640, i16 18649, i16 18643, i16 18652, i16 18649, i16 18655, i16 18643, i16 18658, i16 18655, i16 18661, i16 18665, i16 18669, i16 18661, i16 18673, i16 18665, i16 18677, i16 18673, i16 16642, i16 16389, i16 16388, i16 16642, i16 16642, i16 16392, i16 16385, i16 16642, i16 16642, i16 16392, i16 16388, i16 16642, i16 16642, i16 16397, i16 16385, i16 16642, i16 16642, i16 16397, i16 16388, i16 16642, i16 16642, i16 16394, i16 16385, i16 16642, i16 16642, i16 16394, i16 16388, i16 16642, i16 16642, i16 16395, i16 16385, i16 16642, i16 16642, i16 16395, i16 16388, i16 16642, i16 16642, i16 16390, i16 16385, i16 16642, i16 16642, i16 16390, i16 16388, i16 16642, i16 16642, i16 16452, i16 16385, i16 16642, i16 16642, i16 16452, i16 16388, i16 16642, i16 16642, i16 16448, i16 16385, i16 16642, i16 16642, i16 16448, i16 16388, i16 16642, i16 16642, i16 16391, i16 16385, i16 16642, i16 16642, i16 16391, i16 16388, i16 16642, i16 16661, i16 16389, i16 16388, i16 16661, i16 16661, i16 16447, i16 16385, i16 16661, i16 16661, i16 16447, i16 16388, i16 16661, i16 16661, i16 16394, i16 16385, i16 16661, i16 16661, i16 16394, i16 16388, i16 16661, i16 16661, i16 16402, i16 16385, i16 16661, i16 16661, i16 16402, i16 16388, i16 16661, i16 16661, i16 16390, i16 16385, i16 16661, i16 16661, i16 16390, i16 16388, i16 16661, i16 16661, i16 16444, i16 16385, i16 16661, i16 16661, i16 16444, i16 16388, i16 16661, i16 16661, i16 16452, i16 16385, i16 16661, i16 16661, i16 16452, i16 16388, i16 16661, i16 16661, i16 16448, i16 16385, i16 16661, i16 16661, i16 16448, i16 16388, i16 16661, i16 16678, i16 16389, i16 16386, i16 16678, i16 16678, i16 16389, i16 16388, i16 16678, i16 16681, i16 16389, i16 16388, i16 16681, i16 16681, i16 16392, i16 16385, i16 16681, i16 16681, i16 16392, i16 16388, i16 16681, i16 16681, i16 16393, i16 16385, i16 16681, i16 16681, i16 16393, i16 16388, i16 16681, i16 16681, i16 16405, i16 16385, i16 16681, i16 16681, i16 16405, i16 16388, i16 16681, i16 16681, i16 16397, i16 16385, i16 16681, i16 16681, i16 16397, i16 16388, i16 16681, i16 16681, i16 16398, i16 16385, i16 16681, i16 16681, i16 16398, i16 16388, i16 16681, i16 16681, i16 16394, i16 16385, i16 16681, i16 16681, i16 16394, i16 16388, i16 16681, i16 16681, i16 16395, i16 16385, i16 16681, i16 16681, i16 16395, i16 16388, i16 16681, i16 16681, i16 16402, i16 16385, i16 16681, i16 16681, i16 16402, i16 16388, i16 16681, i16 16681, i16 16427, i16 16385, i16 16681, i16 16681, i16 16427, i16 16388, i16 16681, i16 16681, i16 16400, i16 16385, i16 16681, i16 16681, i16 16400, i16 16388, i16 16681, i16 16681, i16 16396, i16 16385, i16 16681, i16 16681, i16 16396, i16 16388, i16 16681, i16 16681, i16 16446, i16 16385, i16 16681, i16 16681, i16 16446, i16 16388, i16 16681, i16 16681, i16 16390, i16 16385, i16 16681, i16 16681, i16 16390, i16 16388, i16 16681, i16 16681, i16 16444, i16 16385, i16 16681, i16 16681, i16 16444, i16 16388, i16 16681, i16 16681, i16 16449, i16 16385, i16 16681, i16 16681, i16 16449, i16 16388, i16 16681, i16 16681, i16 16391, i16 16385, i16 16681, i16 16681, i16 16391, i16 16388, i16 16681, i16 18681, i16 18684, i16 18517, i16 18681, i16 18681, i16 18684, i16 18425, i16 18681, i16 16718, i16 16389, i16 16388, i16 16718, i16 16718, i16 16394, i16 16385, i16 16718, i16 16718, i16 16394, i16 16388, i16 16718, i16 16723, i16 16389, i16 16388, i16 16723, i16 16723, i16 16392, i16 16385, i16 16723, i16 16723, i16 16392, i16 16388, i16 16723, i16 16723, i16 16395, i16 16385, i16 16723, i16 16723, i16 16395, i16 16388, i16 16723, i16 16723, i16 16400, i16 16385, i16 16723, i16 16723, i16 16400, i16 16388, i16 16723, i16 16723, i16 16444, i16 16385, i16 16723, i16 16723, i16 16444, i16 16388, i16 16723, i16 16723, i16 16448, i16 16385, i16 16723, i16 16723, i16 16448, i16 16388, i16 16723, i16 16723, i16 16445, i16 16385, i16 16723, i16 16723, i16 16445, i16 16388, i16 16723, i16 16723, i16 32766, i16 16388, i16 16723, i16 16739, i16 16389, i16 16388, i16 16739, i16 16739, i16 16392, i16 16385, i16 16739, i16 16739, i16 16392, i16 16388, i16 16739, i16 16739, i16 16395, i16 16385, i16 16739, i16 16739, i16 16395, i16 16388, i16 16739, i16 16739, i16 16390, i16 16385, i16 16739, i16 16739, i16 16390, i16 16388, i16 16739, i16 16739, i16 16444, i16 16385, i16 16739, i16 16739, i16 16444, i16 16388, i16 16739, i16 16739, i16 16452, i16 16385, i16 16739, i16 16739, i16 16452, i16 16388, i16 16739, i16 16739, i16 16448, i16 16385, i16 16739, i16 16739, i16 16448, i16 16388, i16 16739, i16 16739, i16 16434, i16 16385, i16 16739, i16 16739, i16 16434, i16 16388, i16 16739, i16 16739, i16 16421, i16 16385, i16 16739, i16 16739, i16 16421, i16 16388, i16 16739, i16 16739, i16 16445, i16 16385, i16 16739, i16 16739, i16 16445, i16 16388, i16 16739, i16 16760, i16 16389, i16 16388, i16 16760, i16 16760, i16 16392, i16 16385, i16 16760, i16 16760, i16 16392, i16 16388, i16 16760, i16 16760, i16 16390, i16 16385, i16 16760, i16 16760, i16 16390, i16 16388, i16 16760, i16 16760, i16 16444, i16 16385, i16 16760, i16 16760, i16 16444, i16 16388, i16 16760, i16 16769, i16 16389, i16 16388, i16 16769, i16 16769, i16 16392, i16 16385, i16 16769, i16 16769, i16 16392, i16 16388, i16 16769, i16 16769, i16 16395, i16 16385, i16 16769, i16 16769, i16 16395, i16 16388, i16 16769, i16 16769, i16 16396, i16 16385, i16 16769, i16 16769, i16 16396, i16 16388, i16 16769, i16 16769, i16 16390, i16 16385, i16 16769, i16 16769, i16 16390, i16 16388, i16 16769, i16 16769, i16 16444, i16 16385, i16 16769, i16 16769, i16 16444, i16 16388, i16 16769, i16 16769, i16 16448, i16 16385, i16 16769, i16 16769, i16 16448, i16 16388, i16 16769, i16 16769, i16 16421, i16 16385, i16 16769, i16 16769, i16 16421, i16 16388, i16 16769, i16 16769, i16 16445, i16 16385, i16 16769, i16 16769, i16 16445, i16 16388, i16 16769, i16 16769, i16 16451, i16 16388, i16 16769, i16 18687, i16 18690, i16 18517, i16 18687, i16 18687, i16 18690, i16 18425, i16 18687, i16 16791, i16 16389, i16 16388, i16 16791, i16 16791, i16 16389, i16 32766, i16 16791, i16 16791, i16 16392, i16 16385, i16 16791, i16 16791, i16 16392, i16 16388, i16 16791, i16 16791, i16 16393, i16 16385, i16 16791, i16 16791, i16 16393, i16 16388, i16 16791, i16 16791, i16 16405, i16 16385, i16 16791, i16 16791, i16 16405, i16 16388, i16 16791, i16 16791, i16 16397, i16 16385, i16 16791, i16 16791, i16 16397, i16 16388, i16 16791, i16 16791, i16 16398, i16 16385, i16 16791, i16 16791, i16 16398, i16 16388, i16 16791, i16 16791, i16 16394, i16 16385, i16 16791, i16 16791, i16 16394, i16 16388, i16 16791, i16 16791, i16 16412, i16 16385, i16 16791, i16 16791, i16 16412, i16 16388, i16 16791, i16 16791, i16 16413, i16 16385, i16 16791, i16 16791, i16 16413, i16 16388, i16 16791, i16 16791, i16 16415, i16 16385, i16 16791, i16 16791, i16 16415, i16 16388, i16 16791, i16 16791, i16 16414, i16 16385, i16 16791, i16 16791, i16 16414, i16 16388, i16 16791, i16 16791, i16 16436, i16 16385, i16 16791, i16 16791, i16 16436, i16 16388, i16 16791, i16 16791, i16 16395, i16 16385, i16 16791, i16 16791, i16 16395, i16 16388, i16 16791, i16 16791, i16 16402, i16 16385, i16 16791, i16 16791, i16 16402, i16 16388, i16 16791, i16 16791, i16 16404, i16 16385, i16 16791, i16 16791, i16 16404, i16 16388, i16 16791, i16 16791, i16 16400, i16 16385, i16 16791, i16 16791, i16 16400, i16 16388, i16 16791, i16 16791, i16 16396, i16 16385, i16 16791, i16 16791, i16 16396, i16 16388, i16 16791, i16 16791, i16 16406, i16 16385, i16 16791, i16 16791, i16 16406, i16 16388, i16 16791, i16 16791, i16 16431, i16 16385, i16 16791, i16 16791, i16 16431, i16 16388, i16 16791, i16 16791, i16 16444, i16 16385, i16 16791, i16 16791, i16 16444, i16 16388, i16 16791, i16 16791, i16 16452, i16 16385, i16 16791, i16 16791, i16 16452, i16 16388, i16 16791, i16 16791, i16 16443, i16 16385, i16 16791, i16 16791, i16 16443, i16 16388, i16 16791, i16 16791, i16 16449, i16 16385, i16 16791, i16 16791, i16 16449, i16 16388, i16 16791, i16 16791, i16 16440, i16 16385, i16 16791, i16 16791, i16 16440, i16 16388, i16 16791, i16 16791, i16 16391, i16 16385, i16 16791, i16 16791, i16 16391, i16 16388, i16 16791, i16 16791, i16 16419, i16 16385, i16 16791, i16 16791, i16 16419, i16 16388, i16 16791, i16 16791, i16 16420, i16 16385, i16 16791, i16 16791, i16 16420, i16 16388, i16 16791, i16 16791, i16 16401, i16 16385, i16 16791, i16 16791, i16 16401, i16 16388, i16 16791, i16 16791, i16 16422, i16 16385, i16 16791, i16 16791, i16 16422, i16 16388, i16 16791, i16 16791, i16 16423, i16 16385, i16 16791, i16 16791, i16 16423, i16 16388, i16 16791, i16 16791, i16 16425, i16 16385, i16 16791, i16 16791, i16 16425, i16 16388, i16 16791, i16 16791, i16 16424, i16 16385, i16 16791, i16 16791, i16 16424, i16 16388, i16 16791, i16 16791, i16 16441, i16 16385, i16 16791, i16 16791, i16 16441, i16 16388, i16 16791, i16 18693, i16 18696, i16 18517, i16 18693, i16 18693, i16 18696, i16 18425, i16 18693, i16 16861, i16 16389, i16 16388, i16 16861, i16 16861, i16 16392, i16 16385, i16 16861, i16 16861, i16 16392, i16 16388, i16 16861, i16 16861, i16 16390, i16 16385, i16 16861, i16 16861, i16 16390, i16 16388, i16 16861, i16 16868, i16 16389, i16 16388, i16 16868, i16 16871, i16 16389, i16 16388, i16 16871, i16 16871, i16 16392, i16 16385, i16 16871, i16 16871, i16 16392, i16 16388, i16 16871, i16 16871, i16 16405, i16 16385, i16 16871, i16 16871, i16 16405, i16 16388, i16 16871, i16 16871, i16 16398, i16 16385, i16 16871, i16 16871, i16 16398, i16 16388, i16 16871, i16 16871, i16 16390, i16 16385, i16 16871, i16 16871, i16 16390, i16 16388, i16 16871, i16 16871, i16 16444, i16 16385, i16 16871, i16 16871, i16 16444, i16 16388, i16 16871, i16 16871, i16 16448, i16 16385, i16 16871, i16 16871, i16 16448, i16 16388, i16 16871, i16 16871, i16 16434, i16 16385, i16 16871, i16 16871, i16 16434, i16 16388, i16 16871, i16 16871, i16 16445, i16 16385, i16 16871, i16 16871, i16 16445, i16 16388, i16 16871, i16 16889, i16 16395, i16 16388, i16 16889, i16 16892, i16 16389, i16 16388, i16 16892, i16 18699, i16 18643, i16 18702, i16 18699, i16 16892, i16 16392, i16 16385, i16 16892, i16 16892, i16 16392, i16 16388, i16 16892, i16 16892, i16 16403, i16 16385, i16 16892, i16 16892, i16 16403, i16 16388, i16 16892, i16 16892, i16 16394, i16 16385, i16 16892, i16 16892, i16 16394, i16 16388, i16 16892, i16 16892, i16 16390, i16 16385, i16 16892, i16 16892, i16 16390, i16 16388, i16 16892, i16 16892, i16 16444, i16 16385, i16 16892, i16 16892, i16 16444, i16 16388, i16 16892, i16 16892, i16 16433, i16 16385, i16 16892, i16 16892, i16 16433, i16 16388, i16 16892, i16 16892, i16 16448, i16 16385, i16 16892, i16 16892, i16 16448, i16 16388, i16 16892, i16 16909, i16 16395, i16 16388, i16 16909, i16 16909, i16 16416, i16 16385, i16 16909, i16 16909, i16 16416, i16 16388, i16 16909, i16 16892, i16 32766, i16 16388, i16 16892, i16 18705, i16 18643, i16 18708, i16 18705, i16 18699, i16 18643, i16 18711, i16 16384, i16 16917, i16 16389, i16 16388, i16 16917, i16 16917, i16 16395, i16 16385, i16 16917, i16 16917, i16 16395, i16 16388, i16 16917, i16 16917, i16 16390, i16 16385, i16 16917, i16 16917, i16 16390, i16 16388, i16 16917, i16 16917, i16 16444, i16 16385, i16 16917, i16 16917, i16 16444, i16 16388, i16 16917, i16 16917, i16 16452, i16 16385, i16 16917, i16 16917, i16 16452, i16 16388, i16 16917, i16 16917, i16 16448, i16 16385, i16 16917, i16 16917, i16 16448, i16 16388, i16 16917, i16 16917, i16 16421, i16 16385, i16 16917, i16 16917, i16 16421, i16 16388, i16 16917, i16 16917, i16 16445, i16 16385, i16 16917, i16 16917, i16 16445, i16 16388, i16 16917, i16 18714, i16 18717, i16 18517, i16 18714, i16 18714, i16 18717, i16 18425, i16 18714, i16 16936, i16 16389, i16 16388, i16 16936, i16 16936, i16 16392, i16 16385, i16 16936, i16 16936, i16 16392, i16 16388, i16 16936, i16 16936, i16 16393, i16 16385, i16 16936, i16 16936, i16 16393, i16 16388, i16 16936, i16 16936, i16 16405, i16 16385, i16 16936, i16 16936, i16 16405, i16 16388, i16 16936, i16 16936, i16 16397, i16 16385, i16 16936, i16 16936, i16 16397, i16 16388, i16 16936, i16 16936, i16 16398, i16 16385, i16 16936, i16 16936, i16 16398, i16 16388, i16 16936, i16 16936, i16 16394, i16 16385, i16 16936, i16 16936, i16 16394, i16 16388, i16 16936, i16 16936, i16 16395, i16 16385, i16 16936, i16 16936, i16 16395, i16 16388, i16 16936, i16 16936, i16 16399, i16 16385, i16 16936, i16 16936, i16 16399, i16 16388, i16 16936, i16 16936, i16 16402, i16 16385, i16 16936, i16 16936, i16 16402, i16 16388, i16 16936, i16 16936, i16 16426, i16 16385, i16 16936, i16 16936, i16 16426, i16 16388, i16 16936, i16 16936, i16 16427, i16 16385, i16 16936, i16 16936, i16 16427, i16 16388, i16 16936, i16 16936, i16 16428, i16 16385, i16 16936, i16 16936, i16 16428, i16 16388, i16 16936, i16 16936, i16 16429, i16 16385, i16 16936, i16 16936, i16 16429, i16 16388, i16 16936, i16 16936, i16 16404, i16 16385, i16 16936, i16 16936, i16 16404, i16 16388, i16 16936, i16 16936, i16 16400, i16 16385, i16 16936, i16 16936, i16 16400, i16 16388, i16 16936, i16 16936, i16 16396, i16 16385, i16 16936, i16 16936, i16 16396, i16 16388, i16 16936, i16 16936, i16 16406, i16 16385, i16 16936, i16 16936, i16 16406, i16 16388, i16 16936, i16 16936, i16 16446, i16 16385, i16 16936, i16 16936, i16 16446, i16 16388, i16 16936, i16 16936, i16 16444, i16 16385, i16 16936, i16 16936, i16 16444, i16 16388, i16 16936, i16 16936, i16 16449, i16 16385, i16 16936, i16 16936, i16 16449, i16 16388, i16 16936, i16 16936, i16 16391, i16 16385, i16 16936, i16 16936, i16 16391, i16 16388, i16 16936, i16 16936, i16 16430, i16 16385, i16 16936, i16 16936, i16 16430, i16 16388, i16 16936, i16 16936, i16 16442, i16 16385, i16 16936, i16 16936, i16 16442, i16 16388, i16 16936, i16 16936, i16 16421, i16 16385, i16 16936, i16 16936, i16 16421, i16 16388, i16 16936, i16 16936, i16 16401, i16 16385, i16 16936, i16 16936, i16 16401, i16 16388, i16 16936, i16 16936, i16 16422, i16 16385, i16 16936, i16 16936, i16 16422, i16 16388, i16 16936, i16 16936, i16 16423, i16 16385, i16 16936, i16 16936, i16 16423, i16 16388, i16 16936, i16 16936, i16 16425, i16 16385, i16 16936, i16 16936, i16 16425, i16 16388, i16 16936, i16 16936, i16 16424, i16 16385, i16 16936, i16 16936, i16 16424, i16 16388, i16 16936, i16 16936, i16 16441, i16 16385, i16 16936, i16 16936, i16 16441, i16 16388, i16 16936, i16 16999, i16 16389, i16 16388, i16 16999, i16 16999, i16 16396, i16 16385, i16 16999, i16 16999, i16 16396, i16 16388, i16 16999, i16 16999, i16 16444, i16 16385, i16 16999, i16 16999, i16 16444, i16 16388, i16 16999, i16 17006, i16 16389, i16 16388, i16 17006, i16 17006, i16 16392, i16 16385, i16 17006, i16 17006, i16 16392, i16 16388, i16 17006, i16 17006, i16 16393, i16 16385, i16 17006, i16 17006, i16 16393, i16 16388, i16 17006, i16 17006, i16 16394, i16 16385, i16 17006, i16 17006, i16 16394, i16 16388, i16 17006, i16 17006, i16 16402, i16 16385, i16 17006, i16 17006, i16 16402, i16 16388, i16 17006, i16 17006, i16 16390, i16 16385, i16 17006, i16 17006, i16 16390, i16 16388, i16 17006, i16 17006, i16 16444, i16 16385, i16 17006, i16 17006, i16 16444, i16 16388, i16 17006, i16 17021, i16 16389, i16 16388, i16 17021, i16 17021, i16 16402, i16 16385, i16 17021, i16 17021, i16 16402, i16 16388, i16 17021, i16 17021, i16 16390, i16 16385, i16 17021, i16 17021, i16 16390, i16 16388, i16 17021, i16 17028, i16 16389, i16 16388, i16 17028, i16 17028, i16 16392, i16 16385, i16 17028, i16 17028, i16 16392, i16 16388, i16 17028, i16 17028, i16 16393, i16 16385, i16 17028, i16 17028, i16 16393, i16 16388, i16 17028, i16 17028, i16 16394, i16 16385, i16 17028, i16 17028, i16 16394, i16 16388, i16 17028, i16 17028, i16 16402, i16 16385, i16 17028, i16 17028, i16 16402, i16 16388, i16 17028, i16 17028, i16 16400, i16 16385, i16 17028, i16 17028, i16 16400, i16 16388, i16 17028, i16 17028, i16 16396, i16 16385, i16 17028, i16 17028, i16 16396, i16 16388, i16 17028, i16 17028, i16 16390, i16 16385, i16 17028, i16 17028, i16 16390, i16 16388, i16 17028, i16 17028, i16 16444, i16 16385, i16 17028, i16 17028, i16 16444, i16 16388, i16 17028, i16 17047, i16 16389, i16 16388, i16 17047, i16 17047, i16 16392, i16 16385, i16 17047, i16 17047, i16 16392, i16 16388, i16 17047, i16 17047, i16 16394, i16 16385, i16 17047, i16 17047, i16 16394, i16 16388, i16 17047, i16 17047, i16 16390, i16 16385, i16 17047, i16 17047, i16 16390, i16 16388, i16 17047, i16 17047, i16 16444, i16 16385, i16 17047, i16 17047, i16 16444, i16 16388, i16 17047, i16 17047, i16 16452, i16 16385, i16 17047, i16 17047, i16 16452, i16 16388, i16 17047, i16 17047, i16 16445, i16 16385, i16 17047, i16 17047, i16 16445, i16 16388, i16 17047, i16 17062, i16 16395, i16 16388, i16 17062, i16 32766, i16 32766, i16 16384, i16 32766, i16 17064, i16 32766, i16 16384, i16 17064, i16 17073, i16 32766, i16 16384, i16 17073, i16 17074, i16 32766, i16 16384, i16 17074, i16 17075, i16 32766, i16 16384, i16 17075, i16 17076, i16 32766, i16 16384, i16 17076, i16 17077, i16 32766, i16 16384, i16 17077, i16 17078, i16 32766, i16 16384, i16 17078, i16 17079, i16 32766, i16 16384, i16 17079, i16 17080, i16 32766, i16 16384, i16 17080, i16 17081, i16 32766, i16 16384, i16 17081, i16 16384, i16 16384, i16 16384, i16 17133, i16 16384, i16 16384, i16 16384, i16 17135, i16 16384, i16 16384, i16 16384, i16 17197, i16 16384, i16 16384, i16 16384, i16 16384, i16 32766, i16 16385, i16 16453, i16 32766, i16 17723, i16 16385, i16 16454, i16 17723, i16 17723, i16 16388, i16 16453, i16 17723, i16 17723, i16 16388, i16 16454, i16 17723, i16 17727, i16 16388, i16 16453, i16 17727, i16 17729, i16 16388, i16 16453, i16 17729, i16 17731, i16 16388, i16 16453, i16 17731, i16 17733, i16 16385, i16 16454, i16 17733, i16 17733, i16 16388, i16 16453, i16 17733, i16 17733, i16 16388, i16 16454, i16 17733, i16 17737, i16 16388, i16 16453, i16 17737, i16 17739, i16 16385, i16 16454, i16 17739, i16 17739, i16 16388, i16 16453, i16 17739, i16 17739, i16 16388, i16 16454, i16 17739, i16 17743, i16 16388, i16 16453, i16 17743, i16 17745, i16 16385, i16 16454, i16 17745, i16 17745, i16 16385, i16 16455, i16 17745, i16 17745, i16 16388, i16 16453, i16 17745, i16 17745, i16 16388, i16 16454, i16 17745, i16 17745, i16 16388, i16 16455, i16 17745, i16 17745, i16 16388, i16 16456, i16 17745, i16 17752, i16 16388, i16 16453, i16 17752, i16 17754, i16 16388, i16 16453, i16 17754, i16 17756, i16 16388, i16 16453, i16 17756, i16 17758, i16 16388, i16 16453, i16 17758, i16 17760, i16 16388, i16 16453, i16 17760, i16 17762, i16 16385, i16 16454, i16 17762, i16 17762, i16 16388, i16 16453, i16 17762, i16 17762, i16 16388, i16 16454, i16 17762, i16 17766, i16 16388, i16 16453, i16 17766, i16 17768, i16 16388, i16 16453, i16 17768, i16 17770, i16 16388, i16 16453, i16 17770, i16 17770, i16 16388, i16 32766, i16 17770, i16 17773, i16 16388, i16 16453, i16 17773, i16 17775, i16 16385, i16 16454, i16 17775, i16 17775, i16 16385, i16 16455, i16 17775, i16 17775, i16 16388, i16 16453, i16 17775, i16 17775, i16 16388, i16 16454, i16 17775, i16 17775, i16 16388, i16 16455, i16 17775, i16 17775, i16 16388, i16 16456, i16 17775, i16 17782, i16 16388, i16 16453, i16 17782, i16 17784, i16 16388, i16 16453, i16 17784, i16 17786, i16 16388, i16 16453, i16 17786, i16 17788, i16 16385, i16 16454, i16 17788, i16 17788, i16 16388, i16 16453, i16 17788, i16 17788, i16 16388, i16 16454, i16 17788, i16 32766, i16 16457, i16 16385, i16 32766, i16 17792, i16 16457, i16 16388, i16 17792, i16 17794, i16 16457, i16 16388, i16 17794, i16 17796, i16 16457, i16 16388, i16 17796, i16 17798, i16 16457, i16 16388, i16 17798, i16 17800, i16 16457, i16 16388, i16 17800, i16 17802, i16 16457, i16 16388, i16 17802, i16 17804, i16 16457, i16 16388, i16 17804, i16 17806, i16 16457, i16 16388, i16 17806, i16 17808, i16 16457, i16 16388, i16 17808, i16 17810, i16 16457, i16 16388, i16 17810, i16 17812, i16 16457, i16 16388, i16 17812, i16 17814, i16 16457, i16 16388, i16 17814, i16 17816, i16 16457, i16 16388, i16 17816, i16 17818, i16 16457, i16 16388, i16 17818, i16 17820, i16 16457, i16 16388, i16 17820, i16 17822, i16 16457, i16 16388, i16 17822, i16 17824, i16 16457, i16 16388, i16 17824, i16 17826, i16 16457, i16 16388, i16 17826, i16 17828, i16 16457, i16 16388, i16 17828, i16 17830, i16 16457, i16 16388, i16 17830, i16 17832, i16 16457, i16 16388, i16 17832, i16 17834, i16 16457, i16 16388, i16 17834, i16 17836, i16 16457, i16 16388, i16 17836, i16 17838, i16 16457, i16 16388, i16 17838, i16 17840, i16 16457, i16 16388, i16 17840, i16 17842, i16 16457, i16 16388, i16 17842, i16 17844, i16 16457, i16 16388, i16 17844, i16 17846, i16 16457, i16 16388, i16 17846, i16 17848, i16 16457, i16 16388, i16 17848, i16 17850, i16 16457, i16 16388, i16 17850, i16 17852, i16 16457, i16 16388, i16 17852, i16 17854, i16 16457, i16 16388, i16 17854, i16 17856, i16 16457, i16 16388, i16 17856, i16 17858, i16 16457, i16 16388, i16 17858, i16 17860, i16 16457, i16 16388, i16 17860, i16 17862, i16 16457, i16 16388, i16 17862, i16 17864, i16 16457, i16 16388, i16 17864, i16 17866, i16 16457, i16 16388, i16 17866, i16 17868, i16 16457, i16 16388, i16 17868, i16 17870, i16 16457, i16 16388, i16 17870, i16 17872, i16 16457, i16 16388, i16 17872, i16 32766, i16 16457, i16 16388, i16 32766, i16 17874, i16 16457, i16 16385, i16 17874, i16 17876, i16 16457, i16 16388, i16 17876, i16 17878, i16 16457, i16 16385, i16 17878, i16 17880, i16 16457, i16 16388, i16 17880, i16 17882, i16 16457, i16 16388, i16 17882, i16 17884, i16 16457, i16 16388, i16 17884, i16 17886, i16 16457, i16 16388, i16 17886, i16 17888, i16 16457, i16 16388, i16 17888, i16 17890, i16 16457, i16 16388, i16 17890, i16 17892, i16 16457, i16 16388, i16 17892, i16 17894, i16 16457, i16 16388, i16 17894, i16 32766, i16 16384, i16 16384, i16 32766, i16 17928, i16 32766, i16 16384, i16 17928, i16 17927, i16 32766, i16 16384, i16 17927, i16 17937, i16 32766, i16 16384, i16 17937, i16 17941, i16 32766, i16 16384, i16 17941, i16 17948, i16 32766, i16 16384, i16 17948, i16 17956, i16 32766, i16 16384, i16 17956, i16 17961, i16 32766, i16 16384, i16 17961, i16 17966, i16 32766, i16 16384, i16 17966, i16 17971, i16 32766, i16 16384, i16 17971, i16 17976, i16 32766, i16 16384, i16 17976, i16 17979, i16 32766, i16 16384, i16 17979, i16 17982, i16 32766, i16 16384, i16 17982, i16 17985, i16 32766, i16 16384, i16 17985, i16 17988, i16 32766, i16 16384, i16 17988, i16 17993, i16 32766, i16 16384, i16 17993, i16 17998, i16 32766, i16 16384, i16 17998, i16 18003, i16 32766, i16 16384, i16 18003, i16 18008, i16 32766, i16 16384, i16 18008, i16 18013, i16 32766, i16 16384, i16 18013, i16 18018, i16 32766, i16 16384, i16 18018, i16 18023, i16 32766, i16 16384, i16 18023, i16 18028, i16 32766, i16 16384, i16 18028, i16 18033, i16 32766, i16 16384, i16 18033, i16 18038, i16 32766, i16 16384, i16 18038, i16 18043, i16 32766, i16 16384, i16 18043, i16 18048, i16 32766, i16 16384, i16 18048, i16 18053, i16 32766, i16 16384, i16 18053, i16 18058, i16 32766, i16 16384, i16 18058, i16 18063, i16 32766, i16 16384, i16 18063, i16 18066, i16 32766, i16 16384, i16 18066, i16 18069, i16 32766, i16 16384, i16 18069, i16 16384, i16 16384, i16 32766, i16 32766, i16 18720, i16 18720, i16 18723, i16 18720, i16 18720, i16 18726, i16 18729, i16 18720, i16 18732, i16 18732, i16 18735, i16 18732, i16 18732, i16 18738, i16 18741, i16 18732, i16 18744, i16 18744, i16 18747, i16 18744, i16 18744, i16 18750, i16 18753, i16 18744, i16 18756, i16 18759, i16 18762, i16 18756, i16 18756, i16 18765, i16 18768, i16 18756, i16 18101, i16 32766, i16 16384, i16 18101, i16 18105, i16 32766, i16 16384, i16 18105, i16 18109, i16 32766, i16 16384, i16 18109, i16 18114, i16 32766, i16 16384, i16 18114, i16 18118, i16 32766, i16 16384, i16 18118, i16 18122, i16 32766, i16 16384, i16 18122, i16 18127, i16 32766, i16 16384, i16 18127, i16 18131, i16 32766, i16 16384, i16 18131, i16 18135, i16 32766, i16 16384, i16 18135, i16 18140, i16 32766, i16 16384, i16 18140, i16 18144, i16 32766, i16 16384, i16 18144, i16 18148, i16 32766, i16 16384, i16 18148, i16 18152, i16 32766, i16 16384, i16 18152, i16 18156, i16 32766, i16 16384, i16 18156, i16 18160, i16 32766, i16 16384, i16 18160, i16 18164, i16 32766, i16 16384, i16 18164, i16 18168, i16 32766, i16 16384, i16 18168, i16 18172, i16 32766, i16 16384, i16 18172, i16 18178, i16 32766, i16 16384, i16 18178, i16 18182, i16 32766, i16 16384, i16 18182, i16 18186, i16 32766, i16 16384, i16 18186, i16 18188, i16 32766, i16 16384, i16 18188, i16 18190, i16 32766, i16 16384, i16 18190, i16 18192, i16 32766, i16 16384, i16 18192, i16 18194, i16 32766, i16 16384, i16 18194, i16 18196, i16 32766, i16 16384, i16 18196, i16 18202, i16 32766, i16 16384, i16 18202, i16 18208, i16 32766, i16 16384, i16 18208, i16 18214, i16 32766, i16 16384, i16 18214, i16 18220, i16 32766, i16 16384, i16 18220, i16 18226, i16 32766, i16 16384, i16 18226, i16 18228, i16 32766, i16 16384, i16 18228, i16 18230, i16 32766, i16 16384, i16 18230, i16 18232, i16 32766, i16 16384, i16 18232, i16 18234, i16 32766, i16 16384, i16 18234, i16 18236, i16 32766, i16 16384, i16 18236, i16 18240, i16 32766, i16 16384, i16 18240, i16 18244, i16 32766, i16 16384, i16 18244, i16 18248, i16 32766, i16 16384, i16 18248, i16 18250, i16 32766, i16 16384, i16 18250, i16 18252, i16 32766, i16 16384, i16 18252, i16 18254, i16 32766, i16 16384, i16 18254, i16 18256, i16 32766, i16 16384, i16 18256, i16 18258, i16 32766, i16 16384, i16 18258, i16 18262, i16 32766, i16 16384, i16 18262, i16 18264, i16 32766, i16 16384, i16 18264, i16 18266, i16 32766, i16 16384, i16 18266, i16 18268, i16 32766, i16 16384, i16 18268, i16 32766, i16 32766, i16 16384, i16 16384, i16 16396, i16 32766, i16 16384, i16 16384, i16 16398, i16 32766, i16 16384, i16 16384, i16 16400, i16 32766, i16 16384, i16 16384, i16 16402, i16 32766, i16 16384, i16 16384, i16 16404, i16 32766, i16 16384, i16 16384, i16 16406, i16 32766, i16 16384, i16 16384, i16 16408, i16 32766, i16 16384, i16 16384, i16 16410, i16 32766, i16 16384, i16 16384, i16 16412, i16 32766, i16 16384, i16 16384, i16 16414, i16 32766, i16 16384, i16 16384, i16 16416, i16 32766, i16 16384, i16 16384, i16 16418, i16 32766, i16 16384, i16 16384, i16 16420, i16 32766, i16 16384, i16 16384, i16 16422, i16 32766, i16 16384, i16 16384, i16 16424, i16 32766, i16 16384, i16 16384, i16 16426, i16 32766, i16 16384, i16 16384, i16 16428, i16 32766, i16 16384, i16 16384, i16 16430, i16 32766, i16 16384, i16 16384, i16 16432, i16 32766, i16 16384, i16 16384, i16 16434, i16 32766, i16 16384, i16 16384, i16 16436, i16 32766, i16 16384, i16 16384, i16 16438, i16 32766, i16 16384, i16 16384, i16 16440, i16 32766, i16 16384, i16 16384, i16 16442, i16 32766, i16 16384, i16 16384, i16 16444, i16 32766, i16 16384, i16 16384, i16 16446, i16 32766, i16 16384, i16 16384, i16 16384, i16 32766, i16 16384, i16 16384, i16 16384, i16 16384, i16 32766, i16 16384, i16 16384, i16 32766, i16 16385, i16 16385, i16 32766, i16 16385, i16 16385, i16 16385, i16 16438, i16 16386, i16 16385, i16 16385, i16 16440, i16 16386, i16 16385, i16 16385, i16 16442, i16 16386, i16 16385, i16 16385, i16 16444, i16 16386, i16 16385, i16 16385, i16 16446, i16 16386, i16 16385, i16 16385, i16 16448, i16 16386, i16 16385, i16 16385, i16 16450, i16 16386, i16 16385, i16 16385, i16 16452, i16 16386, i16 16385, i16 16385, i16 16454, i16 16386, i16 16385, i16 16385, i16 16456, i16 16386, i16 16385, i16 16385, i16 32766, i16 16385, i16 16385, i16 16387, i16 16458, i16 16385, i16 16385, i16 16388, i16 16460, i16 16385, i16 16385, i16 16388, i16 16462, i16 16385, i16 16385, i16 16388, i16 16464, i16 16385, i16 16385, i16 16388, i16 16466, i16 16385, i16 16385, i16 16388, i16 16468, i16 16385, i16 16385, i16 16388, i16 16470, i16 16385, i16 16385, i16 16388, i16 16472, i16 16385, i16 16385, i16 16388, i16 16474, i16 16385, i16 16385, i16 16388, i16 16476, i16 16385, i16 16385, i16 16388, i16 16478, i16 16385, i16 16385, i16 16388, i16 16480, i16 16385, i16 16385, i16 16388, i16 16482, i16 16385, i16 16385, i16 16388, i16 16484, i16 16385, i16 16385, i16 16388, i16 16486, i16 16385, i16 16385, i16 16388, i16 16488, i16 16385, i16 16385, i16 16388, i16 16490, i16 16385, i16 16385, i16 16388, i16 16492, i16 16385, i16 16385, i16 16388, i16 16494, i16 16385, i16 16385, i16 16388, i16 16496, i16 16385, i16 16385, i16 16388, i16 16498, i16 16385, i16 16385, i16 16388, i16 16500, i16 16385, i16 16385, i16 16388, i16 16502, i16 16385, i16 16385, i16 16388, i16 16504, i16 16385, i16 16385, i16 16388, i16 16506, i16 16385, i16 16385, i16 16388, i16 16508, i16 16385, i16 16385, i16 16388, i16 17294, i16 16385, i16 16385, i16 16385, i16 17297, i16 16385, i16 16385, i16 16385, i16 17300, i16 16385, i16 16385, i16 16385, i16 17303, i16 16385, i16 16385, i16 16385, i16 17306, i16 16385, i16 16385, i16 16385, i16 17309, i16 16385, i16 16385, i16 16385, i16 17312, i16 16385, i16 16385, i16 16385, i16 17315, i16 16385, i16 16385, i16 16385, i16 17318, i16 16385, i16 16385, i16 16385, i16 17321, i16 16385, i16 16385, i16 16385, i16 17324, i16 16385, i16 16385, i16 16385, i16 17327, i16 16385, i16 16385, i16 16385, i16 17330, i16 16385, i16 16385, i16 16385, i16 17333, i16 16385, i16 16385, i16 16385, i16 17336, i16 16385, i16 16385, i16 16385, i16 17339, i16 16385, i16 16385, i16 16385, i16 17342, i16 16385, i16 16385, i16 16385, i16 17345, i16 16385, i16 16385, i16 16385, i16 17348, i16 16385, i16 16385, i16 16385, i16 17351, i16 16385, i16 16385, i16 16385, i16 17354, i16 16385, i16 16385, i16 16385, i16 17357, i16 16385, i16 16385, i16 16385, i16 17360, i16 16385, i16 16385, i16 16385, i16 17363, i16 16385, i16 16385, i16 16385, i16 17366, i16 16385, i16 16385, i16 16385, i16 17369, i16 16385, i16 16385, i16 16385, i16 17372, i16 16385, i16 16385, i16 16385, i16 17375, i16 16385, i16 16385, i16 16385, i16 17378, i16 16385, i16 16385, i16 16385, i16 17381, i16 16385, i16 16385, i16 16385, i16 17384, i16 16385, i16 16385, i16 16385, i16 17387, i16 16385, i16 16385, i16 16385, i16 17390, i16 16385, i16 16385, i16 16385, i16 17393, i16 16385, i16 16385, i16 16385, i16 17396, i16 16385, i16 16385, i16 16385, i16 17399, i16 16385, i16 16385, i16 16385, i16 17402, i16 16385, i16 16385, i16 16385, i16 17405, i16 16385, i16 16385, i16 16385, i16 17408, i16 16385, i16 16385, i16 16385, i16 17411, i16 16385, i16 16385, i16 16385, i16 17414, i16 16385, i16 16385, i16 16385, i16 17417, i16 16385, i16 16385, i16 16385, i16 17420, i16 16385, i16 16385, i16 16385, i16 17423, i16 16385, i16 16385, i16 16385, i16 17426, i16 16385, i16 16385, i16 16385, i16 17429, i16 16385, i16 16385, i16 16385, i16 17432, i16 16385, i16 16385, i16 16385, i16 17435, i16 16385, i16 16385, i16 16385, i16 17438, i16 16385, i16 16385, i16 16385, i16 17441, i16 16385, i16 16385, i16 16385, i16 17444, i16 16385, i16 16385, i16 16385, i16 17447, i16 16385, i16 16385, i16 16385, i16 17450, i16 16385, i16 16385, i16 16385, i16 17453, i16 16385, i16 16385, i16 16385, i16 17456, i16 16385, i16 16385, i16 16385, i16 17459, i16 16385, i16 16385, i16 16385, i16 17462, i16 16385, i16 16385, i16 16385, i16 17465, i16 16385, i16 16385, i16 16385, i16 17468, i16 16385, i16 16385, i16 16385, i16 17471, i16 16385, i16 16385, i16 16385, i16 17474, i16 16385, i16 16385, i16 16385, i16 17477, i16 16385, i16 16385, i16 16385, i16 17480, i16 16385, i16 16385, i16 16385, i16 17483, i16 16385, i16 16385, i16 16385, i16 17486, i16 16385, i16 16385, i16 16385, i16 17489, i16 16385, i16 16385, i16 16385, i16 17492, i16 16385, i16 16385, i16 16385, i16 17495, i16 16385, i16 16385, i16 16385, i16 17498, i16 16385, i16 16385, i16 16385, i16 17501, i16 16385, i16 16385, i16 16385, i16 17504, i16 16385, i16 16385, i16 16385, i16 17507, i16 16385, i16 16385, i16 16385, i16 17510, i16 16385, i16 16385, i16 16385, i16 17513, i16 16385, i16 16385, i16 16385, i16 17516, i16 16385, i16 16385, i16 16385, i16 17519, i16 16385, i16 16385, i16 16385, i16 17522, i16 16385, i16 16385, i16 16385, i16 17525, i16 16385, i16 16385, i16 16385, i16 17528, i16 16385, i16 16385, i16 16385, i16 17531, i16 16385, i16 16385, i16 16385, i16 17534, i16 16385, i16 16385, i16 16385, i16 17537, i16 16385, i16 16385, i16 16385, i16 17540, i16 16385, i16 16385, i16 16385, i16 17543, i16 16385, i16 16385, i16 16385, i16 17546, i16 16385, i16 16385, i16 16385, i16 17549, i16 16385, i16 16385, i16 16385, i16 17552, i16 16385, i16 16385, i16 16385, i16 17555, i16 16385, i16 16385, i16 16385, i16 17558, i16 16385, i16 16385, i16 16385, i16 17561, i16 16385, i16 16385, i16 16385, i16 17564, i16 16385, i16 16385, i16 16385, i16 17567, i16 16385, i16 16385, i16 16385, i16 17570, i16 16385, i16 16385, i16 16385, i16 17573, i16 16385, i16 16385, i16 16385, i16 17576, i16 16385, i16 16385, i16 16385, i16 17579, i16 16385, i16 16385, i16 16385, i16 17582, i16 16385, i16 16385, i16 16385, i16 17585, i16 16385, i16 16385, i16 16385, i16 17588, i16 16385, i16 16385, i16 16385, i16 17591, i16 16385, i16 16385, i16 16385, i16 17594, i16 16385, i16 16385, i16 16385, i16 17597, i16 16385, i16 16385, i16 16385, i16 17600, i16 16385, i16 16385, i16 16385, i16 17603, i16 16385, i16 16385, i16 16385, i16 17606, i16 16385, i16 16385, i16 16385, i16 17609, i16 16385, i16 16385, i16 16385, i16 17612, i16 16385, i16 16385, i16 16385, i16 17615, i16 16385, i16 16385, i16 16385, i16 17618, i16 16385, i16 16385, i16 16385, i16 17621, i16 16385, i16 16385, i16 16385, i16 17624, i16 16385, i16 16385, i16 16385, i16 17627, i16 16385, i16 16385, i16 16385, i16 17630, i16 16385, i16 16385, i16 16385, i16 17633, i16 16385, i16 16385, i16 16385, i16 17636, i16 16385, i16 16385, i16 16385, i16 17639, i16 16385, i16 16385, i16 16385, i16 17642, i16 16385, i16 16385, i16 16385, i16 17645, i16 16385, i16 16385, i16 16385, i16 17648, i16 16385, i16 16385, i16 16385, i16 17651, i16 16385, i16 16385, i16 16385, i16 17654, i16 16385, i16 16385, i16 16385, i16 17657, i16 16385, i16 16385, i16 16385, i16 17660, i16 16385, i16 16385, i16 16385, i16 17663, i16 16385, i16 16385, i16 16385, i16 17666, i16 16385, i16 16385, i16 16385, i16 17669, i16 16385, i16 16385, i16 16385, i16 17672, i16 16385, i16 16385, i16 16385, i16 17675, i16 16385, i16 16385, i16 16385, i16 17678, i16 16385, i16 16385, i16 16385, i16 17681, i16 16385, i16 16385, i16 16385, i16 17684, i16 16385, i16 16385, i16 16385, i16 17687, i16 16385, i16 16385, i16 16385, i16 17690, i16 16385, i16 16385, i16 16385, i16 17693, i16 16385, i16 16385, i16 16385, i16 17696, i16 16385, i16 16385, i16 16385, i16 17699, i16 16385, i16 16385, i16 16385, i16 17702, i16 16385, i16 16385, i16 16385, i16 17705, i16 16385, i16 16385, i16 16385, i16 17708, i16 16385, i16 16385, i16 16385, i16 17711, i16 16385, i16 16385, i16 16385, i16 17714, i16 16385, i16 16385, i16 16385, i16 17717, i16 16385, i16 16385, i16 16385, i16 17720, i16 16385, i16 16385, i16 16385, i16 17723, i16 16385, i16 16385, i16 16385, i16 17726, i16 16385, i16 16385, i16 16385, i16 17729, i16 16385, i16 16385, i16 16385, i16 17732, i16 16385, i16 16385, i16 16385, i16 17735, i16 16385, i16 16385, i16 16385, i16 17738, i16 16385, i16 16385, i16 16385, i16 17741, i16 16385, i16 16385, i16 16385, i16 17744, i16 16385, i16 16385, i16 16385, i16 17747, i16 16385, i16 16385, i16 16385, i16 17750, i16 16385, i16 16385, i16 16385, i16 17753, i16 16385, i16 16385, i16 16385, i16 17756, i16 16385, i16 16385, i16 16385, i16 17759, i16 16385, i16 16385, i16 16385, i16 17762, i16 16385, i16 16385, i16 16385, i16 17765, i16 16385, i16 16385, i16 16385, i16 17768, i16 16385, i16 16385, i16 16385, i16 17771, i16 16385, i16 16385, i16 16385, i16 17774, i16 16385, i16 16385, i16 16385, i16 17777, i16 16385, i16 16385, i16 16385, i16 17780, i16 16385, i16 16385, i16 16385, i16 17783, i16 16385, i16 16385, i16 16385, i16 17786, i16 16385, i16 16385, i16 16385, i16 17789, i16 16385, i16 16385, i16 16385, i16 17792, i16 16385, i16 16385, i16 16385, i16 17795, i16 16385, i16 16385, i16 16385, i16 17798, i16 16385, i16 16385, i16 16385, i16 17801, i16 16385, i16 16385, i16 16385, i16 17804, i16 16385, i16 16385, i16 16385, i16 17807, i16 16385, i16 16385, i16 16385, i16 17810, i16 16385, i16 16385, i16 16385, i16 17813, i16 16385, i16 16385, i16 16385, i16 17816, i16 16385, i16 16385, i16 16385, i16 17819, i16 16385, i16 16385, i16 16385, i16 17822, i16 16385, i16 16385, i16 16385, i16 17825, i16 16385, i16 16385, i16 16385, i16 17828, i16 16385, i16 16385, i16 16385, i16 17831, i16 16385, i16 16385, i16 16385, i16 17834, i16 16385, i16 16385, i16 16385, i16 17837, i16 16385, i16 16385, i16 16385, i16 17840, i16 16385, i16 16385, i16 16385, i16 17843, i16 16385, i16 16385, i16 16385, i16 17846, i16 16385, i16 16385, i16 16385, i16 17849, i16 16385, i16 16385, i16 16385, i16 17852, i16 16385, i16 16385, i16 16385, i16 17855, i16 16385, i16 16385, i16 16385, i16 17858, i16 16385, i16 16385, i16 16385, i16 17861, i16 16385, i16 16385, i16 16385, i16 17864, i16 16385, i16 16385, i16 16385, i16 17867, i16 16385, i16 16385, i16 16385, i16 17870, i16 16385, i16 16385, i16 16385, i16 17873, i16 16385, i16 16385, i16 16385, i16 17876, i16 16385, i16 16385, i16 16385, i16 17879, i16 16385, i16 16385, i16 16385, i16 17882, i16 16385, i16 16385, i16 16385, i16 17885, i16 16385, i16 16385, i16 16385, i16 17888, i16 16385, i16 16385, i16 16385, i16 17891, i16 16385, i16 16385, i16 16385, i16 17894, i16 16385, i16 16385, i16 16385, i16 17897, i16 16385, i16 16385, i16 16385, i16 17900, i16 16385, i16 16385, i16 16385, i16 17903, i16 16385, i16 16385, i16 16385, i16 17906, i16 16385, i16 16385, i16 16385, i16 17909, i16 16385, i16 16385, i16 16385, i16 17912, i16 16385, i16 16385, i16 16385, i16 17915, i16 16385, i16 16385, i16 16385, i16 17918, i16 16385, i16 16385, i16 16385, i16 17921, i16 16385, i16 16385, i16 16385, i16 17924, i16 16385, i16 16385, i16 16385, i16 17927, i16 16385, i16 16385, i16 16385, i16 17930, i16 16385, i16 16385, i16 16385, i16 17933, i16 16385, i16 16385, i16 16385, i16 17936, i16 16385, i16 16385, i16 16385, i16 17939, i16 16385, i16 16385, i16 16385, i16 17942, i16 16385, i16 16385, i16 16385, i16 17945, i16 16385, i16 16385, i16 16385, i16 17948, i16 16385, i16 16385, i16 16385, i16 17951, i16 16385, i16 16385, i16 16385, i16 16779, i16 16385, i16 16385, i16 16389, i16 32767, i16 16384, i16 16384, i16 16384, i16 17284, i16 17285, i16 0, i16 895, i16 895, i16 0, i16 17273, i16 17273, i16 0, i16 16434, i16 16428, i16 0, i16 16393, i16 16393, i16 0, i16 97, i16 905, i16 0, i16 14, i16 14, i16 0, i16 3, i16 3, i16 0, i16 4, i16 3, i16 0, i16 5, i16 3, i16 0, i16 6, i16 3, i16 0, i16 16425, i16 16428, i16 0, i16 16433, i16 17283, i16 0, i16 16437, i16 16437, i16 0, i16 16481, i16 17289, i16 0, i16 16398, i16 16398, i16 0, i16 91, i16 906, i16 0, i16 14, i16 13, i16 0, i16 3, i16 4, i16 0, i16 4, i16 4, i16 0, i16 14, i16 890, i16 0, i16 14, i16 892, i16 0, i16 16488, i16 16488, i16 0, i16 17279, i16 17279, i16 0, i16 16488, i16 16492, i16 0, i16 16492, i16 16492, i16 0, i16 17797, i16 17797, i16 0, i16 16393, i16 17601, i16 0, i16 16393, i16 17600, i16 0, i16 16393, i16 17273, i16 0, i16 17273, i16 16393, i16 0, i16 17273, i16 17601, i16 0, i16 17273, i16 17600, i16 0, i16 17798, i16 17798, i16 0, i16 17799, i16 17799, i16 0, i16 16393, i16 17796, i16 0, i16 16393, i16 17795, i16 0, i16 16393, i16 17794, i16 0, i16 16393, i16 17793, i16 0, i16 17273, i16 17796, i16 0, i16 17273, i16 17795, i16 0, i16 17273, i16 17794, i16 0, i16 17273, i16 17793, i16 0, i16 17800, i16 17800, i16 0, i16 17801, i16 17801, i16 0, i16 17802, i16 17802, i16 0, i16 17804, i16 17804, i16 0, i16 17805, i16 17805, i16 0, i16 17807, i16 17807, i16 0, i16 16475, i16 17934, i16 0, i16 16387, i16 16388, i16 0, i16 16388, i16 16388, i16 0, i16 16475, i16 17289, i16 0, i16 16398, i16 17274, i16 0, i16 16398, i16 17276, i16 0, i16 16475, i16 17290, i16 0, i16 16458, i16 17935, i16 17290, i16 16475, i16 0, i16 17279, i16 17279, i16 17279, i16 17279, i16 0, i16 16389, i16 16390, i16 16388, i16 16387, i16 0, i16 17296, i16 17302, i16 0, i16 17329, i16 17279, i16 0, i16 17296, i16 17303, i16 0, i16 17311, i16 17334, i16 0, i16 17314, i16 17334, i16 0, i16 17193, i16 17193, i16 0, i16 2, i16 2, i16 0, i16 17200, i16 17200, i16 0, i16 17193, i16 18178, i16 0, i16 17201, i16 17201, i16 0, i16 17193, i16 17285, i16 0, i16 17202, i16 17202, i16 0, i16 17193, i16 17193, i16 18178, i16 0, i16 2, i16 2, i16 2, i16 0, i16 17203, i16 17203, i16 17203, i16 0, i16 17193, i16 17193, i16 17285, i16 0, i16 17204, i16 17204, i16 17204, i16 0, i16 18178, i16 17267, i16 0, i16 881, i16 881, i16 0, i16 16385, i16 16385, i16 0, i16 18080, i16 18080, i16 0, i16 17408, i16 17427, i16 0, i16 17410, i16 17410, i16 0, i16 17408, i16 17408, i16 0, i16 18080, i16 17425, i16 0, i16 17426, i16 17426, i16 0, i16 17851, i16 17736, i16 0, i16 1467, i16 1352, i16 0, i16 17901, i16 17901, i16 0, i16 1467, i16 1353, i16 0, i16 17902, i16 17902, i16 0, i16 17851, i16 17738, i16 0, i16 1467, i16 1354, i16 0, i16 17903, i16 17903, i16 0, i16 1467, i16 1355, i16 0, i16 17904, i16 17904, i16 0, i16 17851, i16 17741, i16 0, i16 1467, i16 1357, i16 0, i16 17905, i16 17905, i16 0, i16 1467, i16 1358, i16 0, i16 17906, i16 17906, i16 0, i16 17851, i16 17745, i16 0, i16 1467, i16 1362, i16 0, i16 17907, i16 17907, i16 0, i16 1467, i16 1363, i16 0, i16 17908, i16 17908, i16 0, i16 17065, i16 17148, i16 0, i16 1770, i16 1770, i16 0, i16 1772, i16 1772, i16 0, i16 1774, i16 1774, i16 0, i16 17311, i16 17205, i16 0, i16 1814, i16 1814, i16 0, i16 17325, i16 17148, i16 0, i16 1830, i16 1830, i16 0, i16 17427, i16 17220, i16 0, i16 1840, i16 1840, i16 0, i16 16470, i16 16579, i16 0, i16 16530, i16 16530, i16 0, i16 16532, i16 16532, i16 0, i16 16534, i16 16534, i16 0, i16 16630, i16 16630, i16 0, i16 16389, i16 16389, i16 0, i16 16637, i16 16637, i16 0, i16 16630, i16 16681, i16 0, i16 16638, i16 16638, i16 0, i16 16630, i16 16739, i16 0, i16 16639, i16 16639, i16 0, i16 16630, i16 16630, i16 16681, i16 0, i16 16389, i16 16389, i16 16389, i16 0, i16 16640, i16 16640, i16 16640, i16 0, i16 16630, i16 16630, i16 16739, i16 0, i16 16641, i16 16641, i16 16641, i16 0, i16 16681, i16 16718, i16 0, i16 16716, i16 16716, i16 0, i16 16769, i16 16642, i16 0, i16 16789, i16 16789, i16 0, i16 16791, i16 16579, i16 0, i16 16859, i16 16859, i16 0, i16 16892, i16 16917, i16 0, i16 16894, i16 16894, i16 0, i16 16892, i16 16892, i16 0, i16 16388, i16 16915, i16 0, i16 16916, i16 16916, i16 0, i16 16917, i16 16661, i16 0, i16 16934, i16 16934, i16 0, i16 18043, i16 17928, i16 0, i16 18093, i16 18093, i16 0, i16 18043, i16 17929, i16 0, i16 18094, i16 18094, i16 0, i16 18043, i16 17930, i16 0, i16 18095, i16 18095, i16 0, i16 18043, i16 17931, i16 0, i16 18096, i16 18096, i16 0, i16 18043, i16 17933, i16 0, i16 18097, i16 18097, i16 0, i16 18043, i16 17934, i16 0, i16 18098, i16 18098, i16 0, i16 18043, i16 17937, i16 0, i16 18043, i16 17938, i16 0, i16 18099, i16 18099, i16 0, i16 18043, i16 17939, i16 0, i16 18100, i16 18100, i16 0, i16 16510, i16 16788, i16 0, i16 16510, i16 16789, i16 0, i16 16510, i16 16790, i16 0, i16 16510, i16 16791, i16 0, i16 16510, i16 16792, i16 0, i16 16516, i16 16788, i16 0, i16 16516, i16 16789, i16 0, i16 16516, i16 16790, i16 0, i16 16516, i16 16791, i16 0, i16 16516, i16 16792, i16 0, i16 16522, i16 16788, i16 0, i16 16522, i16 16789, i16 0, i16 16522, i16 16790, i16 0, i16 16522, i16 16791, i16 0, i16 16522, i16 16792, i16 0, i16 16528, i16 16788, i16 0, i16 16528, i16 16789, i16 0, i16 16528, i16 16790, i16 0, i16 16528, i16 16791, i16 0, i16 16528, i16 16792, i16 0, i16 16534, i16 16788, i16 0, i16 16534, i16 16789, i16 0, i16 16534, i16 16790, i16 0, i16 16534, i16 16791, i16 0, i16 16534, i16 16792, i16 0, i16 16540, i16 16788, i16 0, i16 16540, i16 16789, i16 0, i16 16540, i16 16790, i16 0, i16 16540, i16 16791, i16 0, i16 16540, i16 16792, i16 0, i16 16546, i16 16788, i16 0, i16 16546, i16 16789, i16 0, i16 16546, i16 16790, i16 0, i16 16546, i16 16791, i16 0, i16 16546, i16 16792, i16 0, i16 16552, i16 16788, i16 0, i16 16552, i16 16789, i16 0, i16 16552, i16 16790, i16 0, i16 16552, i16 16791, i16 0, i16 16552, i16 16792, i16 0, i16 16558, i16 16788, i16 0, i16 16558, i16 16789, i16 0, i16 16558, i16 16790, i16 0, i16 16558, i16 16791, i16 0, i16 16558, i16 16792, i16 0, i16 16564, i16 16788, i16 0, i16 16564, i16 16789, i16 0, i16 16564, i16 16790, i16 0, i16 16564, i16 16791, i16 0, i16 16564, i16 16792, i16 0, i16 16570, i16 16788, i16 0, i16 16570, i16 16789, i16 0, i16 16570, i16 16790, i16 0, i16 16570, i16 16791, i16 0, i16 16570, i16 16792, i16 0, i16 16576, i16 16788, i16 0, i16 16576, i16 16789, i16 0, i16 16576, i16 16790, i16 0, i16 16576, i16 16791, i16 0, i16 16576, i16 16792, i16 0, i16 16582, i16 16788, i16 0, i16 16582, i16 16789, i16 0, i16 16582, i16 16790, i16 0, i16 16582, i16 16791, i16 0, i16 16582, i16 16792, i16 0, i16 16588, i16 16788, i16 0, i16 16588, i16 16789, i16 0, i16 16588, i16 16790, i16 0, i16 16588, i16 16791, i16 0, i16 16588, i16 16792, i16 0, i16 16594, i16 16788, i16 0, i16 16594, i16 16789, i16 0, i16 16594, i16 16790, i16 0, i16 16594, i16 16791, i16 0, i16 16594, i16 16792, i16 0, i16 16600, i16 16788, i16 0, i16 16600, i16 16789, i16 0, i16 16600, i16 16790, i16 0, i16 16600, i16 16791, i16 0, i16 16600, i16 16792, i16 0, i16 16606, i16 16788, i16 0, i16 16606, i16 16789, i16 0, i16 16606, i16 16790, i16 0, i16 16606, i16 16791, i16 0, i16 16606, i16 16792, i16 0, i16 16612, i16 16788, i16 0, i16 16612, i16 16789, i16 0, i16 16612, i16 16790, i16 0, i16 16612, i16 16791, i16 0, i16 16612, i16 16792, i16 0, i16 16618, i16 16788, i16 0, i16 16618, i16 16789, i16 0, i16 16618, i16 16790, i16 0, i16 16618, i16 16791, i16 0, i16 16618, i16 16792, i16 0, i16 16624, i16 16788, i16 0, i16 16624, i16 16789, i16 0, i16 16624, i16 16790, i16 0, i16 16624, i16 16791, i16 0, i16 16624, i16 16792, i16 0, i16 16630, i16 16788, i16 0, i16 16630, i16 16789, i16 0, i16 16630, i16 16790, i16 0, i16 16630, i16 16791, i16 0, i16 16630, i16 16792, i16 0, i16 16636, i16 16788, i16 0, i16 16636, i16 16789, i16 0, i16 16636, i16 16790, i16 0, i16 16636, i16 16791, i16 0, i16 16636, i16 16792, i16 0, i16 16642, i16 16788, i16 0, i16 16642, i16 16789, i16 0, i16 16642, i16 16790, i16 0, i16 16642, i16 16791, i16 0, i16 16642, i16 16792, i16 0, i16 16648, i16 16788, i16 0, i16 16648, i16 16789, i16 0, i16 16648, i16 16790, i16 0, i16 16648, i16 16791, i16 0, i16 16648, i16 16792, i16 0, i16 16654, i16 16788, i16 0, i16 16654, i16 16789, i16 0, i16 16654, i16 16790, i16 0, i16 16654, i16 16791, i16 0, i16 16654, i16 16792, i16 0, i16 16660, i16 16788, i16 0, i16 16660, i16 16789, i16 0, i16 16660, i16 16790, i16 0, i16 16660, i16 16791, i16 0, i16 16660, i16 16792, i16 0, i16 16666, i16 16788, i16 0, i16 16666, i16 16789, i16 0, i16 16666, i16 16790, i16 0, i16 16666, i16 16791, i16 0, i16 16666, i16 16792, i16 0, i16 16672, i16 16788, i16 0, i16 16672, i16 16789, i16 0, i16 16672, i16 16790, i16 0, i16 16672, i16 16791, i16 0, i16 16672, i16 16792, i16 0, i16 16678, i16 16788, i16 0, i16 16678, i16 16789, i16 0, i16 16678, i16 16790, i16 0, i16 16678, i16 16791, i16 0, i16 16678, i16 16792, i16 0, i16 16684, i16 16788, i16 0, i16 16684, i16 16789, i16 0, i16 16684, i16 16790, i16 0, i16 16684, i16 16791, i16 0, i16 16684, i16 16792, i16 0, i16 16690, i16 16788, i16 0, i16 16690, i16 16789, i16 0, i16 16690, i16 16790, i16 0, i16 16690, i16 16791, i16 0, i16 16690, i16 16792, i16 0, i16 16696, i16 16788, i16 0, i16 16696, i16 16789, i16 0, i16 16696, i16 16790, i16 0, i16 16696, i16 16791, i16 0, i16 16696, i16 16792, i16 0, i16 16702, i16 16788, i16 0, i16 16702, i16 16789, i16 0, i16 16702, i16 16790, i16 0, i16 16702, i16 16791, i16 0, i16 16702, i16 16792, i16 0, i16 16708, i16 16788, i16 0, i16 16708, i16 16789, i16 0, i16 16708, i16 16790, i16 0, i16 16708, i16 16791, i16 0, i16 16708, i16 16792, i16 0, i16 16714, i16 16788, i16 0, i16 16714, i16 16789, i16 0, i16 16714, i16 16790, i16 0, i16 16714, i16 16791, i16 0, i16 16714, i16 16792, i16 0, i16 16721, i16 16788, i16 0, i16 16721, i16 16789, i16 0, i16 16721, i16 16790, i16 0, i16 16721, i16 16791, i16 0, i16 16721, i16 16792, i16 0, i16 16728, i16 16788, i16 0, i16 16728, i16 16789, i16 0, i16 16728, i16 16790, i16 0, i16 16728, i16 16791, i16 0, i16 16728, i16 16792, i16 0, i16 16734, i16 16788, i16 0, i16 16734, i16 16789, i16 0, i16 16734, i16 16790, i16 0, i16 16734, i16 16791, i16 0, i16 16734, i16 16792, i16 0, i16 16740, i16 16788, i16 0, i16 16740, i16 16789, i16 0, i16 16740, i16 16790, i16 0, i16 16740, i16 16791, i16 0, i16 16740, i16 16792, i16 0, i16 16746, i16 16788, i16 0, i16 16746, i16 16789, i16 0, i16 16746, i16 16790, i16 0, i16 16746, i16 16791, i16 0, i16 16746, i16 16792, i16 0, i16 16752, i16 16788, i16 0, i16 16752, i16 16789, i16 0, i16 16752, i16 16790, i16 0, i16 16752, i16 16791, i16 0, i16 16752, i16 16792, i16 0, i16 16758, i16 16788, i16 0, i16 16758, i16 16789, i16 0, i16 16758, i16 16790, i16 0, i16 16758, i16 16791, i16 0, i16 16758, i16 16792, i16 0, i16 16764, i16 16788, i16 0, i16 16764, i16 16789, i16 0, i16 16764, i16 16790, i16 0, i16 16764, i16 16791, i16 0, i16 16764, i16 16792, i16 0, i16 16770, i16 16788, i16 0, i16 16770, i16 16789, i16 0, i16 16770, i16 16790, i16 0, i16 16770, i16 16791, i16 0, i16 16770, i16 16792, i16 0, i16 14, i16 17, i16 8, i16 13, i16 15, i16 6, i16 12, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5, i16 10, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9, i16 7, i16 11, i16 0, i16 0, i16 16, i16 3, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4, i16 0, i16 1, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 15, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 168, i16 173, i16 100, i16 105, i16 110, i16 116, i16 125, i16 131, i16 140, i16 144, i16 146, i16 148, i16 151, i16 154, i16 160, i16 163, i16 120, i16 124, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 26, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 82, i16 114, i16 5, i16 119, i16 0, i16 32, i16 0, i16 136, i16 111, i16 6, i16 17, i16 8, i16 167, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 16, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 36, i16 0, i16 37, i16 0, i16 0, i16 0, i16 0, i16 0, i16 38, i16 0, i16 0, i16 0, i16 0, i16 39, i16 0, i16 40, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 55, i16 123, i16 129, i16 134, i16 139, i16 0, i16 52, i16 99, i16 104, i16 109, i16 115, i16 0, i16 0, i16 0, i16 0, i16 0, i16 77, i16 85, i16 89, i16 0, i16 170, i16 174, i16 178, i16 180, i16 147, i16 0, i16 0, i16 0, i16 0, i16 0, i16 35, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 25, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 61, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 80, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 58, i16 0, i16 0, i16 12, i16 0, i16 0, i16 0, i16 28, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 159, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 143, i16 145, i16 0, i16 0, i16 0, i16 0, i16 172, i16 177, i16 0, i16 0, i16 0, i16 0, i16 47, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 41, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 191, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 13, i16 0, i16 24, i16 51, i16 87, i16 93, i16 102, i16 70, i16 142, i16 175, i16 0, i16 76, i16 90, i16 72, i16 49, i16 4, i16 92, i16 53, i16 96, i16 0, i16 54, i16 0, i16 30, i16 97, i16 18, i16 31, i16 0, i16 0, i16 0, i16 79, i16 91, i16 10, i16 45, i16 0, i16 0, i16 0, i16 158, i16 33, i16 155, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9, i16 184, i16 81, i16 189, i16 196, i16 64, i16 94, i16 75, i16 88, i16 98, i16 66, i16 46, i16 63, i16 187, i16 84, i16 0, i16 50, i16 95, i16 101, i16 106, i16 150, i16 162, i16 133, i16 138, i16 169, i16 192, i16 126, i16 83, i16 183, i16 153, i16 135, i16 179, i16 112, i16 117, i16 122, i16 128, i16 132, i16 185, i16 194, i16 156, i16 195, i16 186, i16 200, i16 67, i16 176, i16 149, i16 181, i16 188, i16 57, i16 141, i16 121, i16 127, i16 130, i16 137, i16 103, i16 107, i16 113, i16 118, i16 56, i16 108, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 152, i16 43, i16 34, i16 7, i16 44, i16 171, i16 0, i16 0, i16 0, i16 165, i16 42, i16 166, i16 0, i16 0, i16 59, i16 19, i16 197, i16 199, i16 22, i16 20, i16 23, i16 21, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 48, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 27, i16 0, i16 0, i16 0, i16 182, i16 198, i16 60, i16 190, i16 62, i16 193, i16 65, i16 157, i16 161, i16 164, i16 69, i16 68, i16 71, i16 78, i16 74, i16 86, i16 0, i16 2, i16 29, i16 3, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 14, i16 73, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1292, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1197, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1199, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 557, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 597, i16 598, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 691, i16 692, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1211, i16 1210, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 701, i16 702, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 731, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 223, i16 230, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 245, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1198, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 268, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1298, i16 1296, i16 1297, i16 1295, i16 0, i16 0, i16 0, i16 0, i16 1569, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1570, i16 1571, i16 1572, i16 1573, i16 0, i16 0, i16 0, i16 0, i16 1106, i16 1107, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1661, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 246, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 247, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 250, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 251, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 253, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 269, i16 0, i16 0, i16 0, i16 270, i16 0, i16 0, i16 0, i16 376, i16 378, i16 379, i16 380, i16 0, i16 0, i16 0, i16 263, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 266, i16 267, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1290, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 581, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 584, i16 583, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 609, i16 610, i16 611, i16 612, i16 0, i16 0, i16 0, i16 0, i16 152, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1207, i16 1206, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 189, i16 0, i16 0, i16 0, i16 244, i16 0, i16 0, i16 0, i16 1224, i16 0, i16 0, i16 1223, i16 0, i16 0, i16 0, i16 0, i16 1226, i16 0, i16 0, i16 1225, i16 0, i16 0, i16 0, i16 0, i16 1228, i16 0, i16 0, i16 1227, i16 0, i16 0, i16 0, i16 0, i16 1230, i16 0, i16 0, i16 1229, i16 0, i16 0, i16 0, i16 0, i16 1232, i16 0, i16 0, i16 1231, i16 0, i16 0, i16 0, i16 0, i16 1234, i16 0, i16 0, i16 1233, i16 0, i16 0, i16 0, i16 0, i16 1241, i16 1240, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1243, i16 1242, i16 1205, i16 1204, i16 0, i16 0, i16 0, i16 0, i16 1247, i16 1246, i16 0, i16 0, i16 1249, i16 1248, i16 0, i16 0, i16 226, i16 228, i16 225, i16 0, i16 0, i16 0, i16 0, i16 0, i16 760, i16 0, i16 734, i16 0, i16 748, i16 0, i16 0, i16 260, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 264, i16 265, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 554, i16 0, i16 0, i16 0, i16 0, i16 552, i16 0, i16 0, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 0, i16 1069, i16 1070, i16 1071, i16 1079, i16 1072, i16 1081, i16 1657, i16 0, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 0, i16 564, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1076, i16 0, i16 0, i16 0, i16 0, i16 0, i16 577, i16 0, i16 1367, i16 1368, i16 1369, i16 1370, i16 1371, i16 1372, i16 1373, i16 0, i16 1127, i16 1125, i16 1124, i16 1126, i16 1128, i16 1129, i16 1130, i16 0, i16 1142, i16 1140, i16 1139, i16 1141, i16 1143, i16 1144, i16 1145, i16 0, i16 1196, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 256, i16 257, i16 255, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1024, i16 984, i16 489, i16 409, i16 0, i16 0, i16 487, i16 407, i16 258, i16 261, i16 259, i16 262, i16 0, i16 0, i16 0, i16 0, i16 1027, i16 987, i16 492, i16 412, i16 1028, i16 988, i16 1029, i16 989, i16 773, i16 0, i16 775, i16 825, i16 771, i16 822, i16 749, i16 800, i16 774, i16 776, i16 746, i16 766, i16 779, i16 786, i16 790, i16 794, i16 1032, i16 992, i16 500, i16 420, i16 1033, i16 993, i16 503, i16 424, i16 781, i16 792, i16 768, i16 769, i16 767, i16 821, i16 808, i16 0, i16 1037, i16 535, i16 534, i16 536, i16 1043, i16 545, i16 550, i16 1002, i16 526, i16 449, i16 529, i16 452, i16 1039, i16 999, i16 1041, i16 1001, i16 1038, i16 998, i16 521, i16 444, i16 525, i16 448, i16 527, i16 450, i16 271, i16 575, i16 576, i16 1075, i16 578, i16 579, i16 580, i16 1077, i16 1040, i16 1000, i16 1042, i16 1003, i16 531, i16 454, i16 532, i16 455, i16 1555, i16 1557, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1300, i16 1299, i16 0, i16 0, i16 0, i16 0, i16 1293, i16 1291, i16 1045, i16 1006, i16 539, i16 462, i16 542, i16 465, i16 546, i16 470, i16 791, i16 793, i16 798, i16 801, i16 802, i16 803, i16 804, i16 805, i16 1049, i16 1051, i16 1053, i16 1055, i16 1057, i16 1059, i16 1061, i16 1063, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 538, i16 461, i16 540, i16 463, i16 1044, i16 1005, i16 537, i16 460, i16 1050, i16 1052, i16 1054, i16 1056, i16 1058, i16 1060, i16 1062, i16 1064, i16 1306, i16 1305, i16 1308, i16 1307, i16 0, i16 0, i16 0, i16 0, i16 796, i16 730, i16 732, i16 733, i16 735, i16 737, i16 739, i16 741, i16 1565, i16 1566, i16 0, i16 0, i16 0, i16 0, i16 589, i16 590, i16 543, i16 544, i16 1637, i16 181, i16 213, i16 182, i16 224, i16 151, i16 799, i16 809, i16 813, i16 797, i16 0, i16 0, i16 0, i16 0, i16 290, i16 291, i16 0, i16 292, i16 293, i16 294, i16 295, i16 296, i16 547, i16 549, i16 472, i16 1048, i16 1009, i16 1047, i16 1008, i16 0, i16 551, i16 1074, i16 553, i16 555, i16 556, i16 558, i16 559, i16 560, i16 807, i16 758, i16 811, i16 810, i16 814, i16 816, i16 820, i16 823, i16 297, i16 298, i16 299, i16 300, i16 0, i16 0, i16 0, i16 0, i16 1065, i16 1067, i16 272, i16 273, i16 274, i16 275, i16 0, i16 0, i16 1066, i16 1068, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 561, i16 1567, i16 1568, i16 0, i16 0, i16 0, i16 0, i16 0, i16 562, i16 563, i16 565, i16 567, i16 568, i16 569, i16 570, i16 571, i16 819, i16 778, i16 780, i16 782, i16 783, i16 785, i16 787, i16 789, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 566, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1078, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 824, i16 826, i16 795, i16 818, i16 806, i16 817, i16 827, i16 0, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1108, i16 1109, i16 1088, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 572, i16 573, i16 574, i16 0, i16 0, i16 0, i16 0, i16 0, i16 828, i16 829, i16 830, i16 831, i16 832, i16 833, i16 834, i16 835, i16 1344, i16 1345, i16 1346, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1089, i16 695, i16 696, i16 697, i16 698, i16 1090, i16 1091, i16 585, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 836, i16 837, i16 839, i16 840, i16 841, i16 842, i16 843, i16 844, i16 838, i16 1131, i16 1132, i16 1134, i16 1133, i16 0, i16 1135, i16 1136, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 586, i16 587, i16 588, i16 1092, i16 1093, i16 593, i16 594, i16 595, i16 1100, i16 1101, i16 675, i16 676, i16 677, i16 678, i16 0, i16 0, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 845, i16 846, i16 847, i16 848, i16 849, i16 850, i16 851, i16 852, i16 591, i16 592, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 0, i16 596, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 853, i16 854, i16 855, i16 1137, i16 856, i16 1138, i16 857, i16 858, i16 599, i16 600, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 1117, i16 1118, i16 859, i16 860, i16 861, i16 862, i16 863, i16 864, i16 865, i16 866, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 1374, i16 1375, i16 1376, i16 1377, i16 1378, i16 1379, i16 1380, i16 1381, i16 1119, i16 1120, i16 1121, i16 1122, i16 1123, i16 0, i16 0, i16 0, i16 608, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 1632, i16 523, i16 1633, i16 1634, i16 1635, i16 533, i16 541, i16 1636, i16 867, i16 868, i16 869, i16 870, i16 871, i16 872, i16 873, i16 874, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 1382, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 875, i16 876, i16 877, i16 878, i16 879, i16 880, i16 881, i16 882, i16 620, i16 621, i16 622, i16 625, i16 626, i16 627, i16 628, i16 631, i16 365, i16 160, i16 192, i16 194, i16 191, i16 195, i16 241, i16 185, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 1390, i16 1391, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1646, i16 446, i16 1647, i16 1648, i16 1649, i16 456, i16 464, i16 1650, i16 623, i16 624, i16 633, i16 634, i16 629, i16 630, i16 1098, i16 1099, i16 883, i16 884, i16 885, i16 1153, i16 886, i16 1154, i16 887, i16 888, i16 374, i16 375, i16 158, i16 157, i16 234, i16 236, i16 238, i16 161, i16 1398, i16 1399, i16 1400, i16 1401, i16 1402, i16 1403, i16 1404, i16 0, i16 632, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 1146, i16 1147, i16 1148, i16 1150, i16 1149, i16 0, i16 1151, i16 1152, i16 1658, i16 1659, i16 1660, i16 954, i16 957, i16 959, i16 961, i16 964, i16 383, i16 0, i16 0, i16 0, i16 387, i16 388, i16 389, i16 390, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 391, i16 392, i16 219, i16 217, i16 0, i16 178, i16 180, i16 0, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 1163, i16 1164, i16 1165, i16 0, i16 0, i16 0, i16 0, i16 0, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 403, i16 402, i16 404, i16 405, i16 415, i16 414, i16 991, i16 416, i16 150, i16 159, i16 172, i16 215, i16 193, i16 216, i16 214, i16 169, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 1179, i16 1178, i16 1201, i16 1200, i16 0, i16 0, i16 0, i16 0, i16 413, i16 1642, i16 421, i16 422, i16 1643, i16 431, i16 1644, i16 1645, i16 674, i16 1094, i16 1095, i16 1096, i16 1097, i16 679, i16 680, i16 681, i16 164, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 167, i16 384, i16 438, i16 176, i16 377, i16 381, i16 382, i16 162, i16 423, i16 505, i16 426, i16 508, i16 429, i16 506, i16 427, i16 509, i16 168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 170, i16 171, i16 0, i16 0, i16 173, i16 174, i16 0, i16 0, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 430, i16 507, i16 428, i16 512, i16 434, i16 514, i16 436, i16 513, i16 177, i16 179, i16 212, i16 218, i16 156, i16 155, i16 165, i16 163, i16 690, i16 1102, i16 1103, i16 1104, i16 1105, i16 693, i16 694, i16 1110, i16 435, i16 433, i16 1035, i16 995, i16 520, i16 443, i16 0, i16 0, i16 1203, i16 1202, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1209, i16 1208, i16 0, i16 0, i16 0, i16 0, i16 1245, i16 1244, i16 699, i16 700, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 955, i16 956, i16 958, i16 0, i16 960, i16 0, i16 962, i16 963, i16 190, i16 474, i16 477, i16 1624, i16 1625, i16 481, i16 1626, i16 1627, i16 703, i16 1652, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 1215, i16 1214, i16 1213, i16 1212, i16 0, i16 0, i16 0, i16 0, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 965, i16 966, i16 968, i16 969, i16 277, i16 278, i16 280, i16 281, i16 711, i16 712, i16 713, i16 1653, i16 715, i16 716, i16 717, i16 718, i16 967, i16 276, i16 279, i16 1552, i16 1553, i16 1554, i16 0, i16 0, i16 971, i16 970, i16 972, i16 973, i16 974, i16 975, i16 977, i16 978, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 719, i16 720, i16 721, i16 722, i16 1654, i16 724, i16 725, i16 726, i16 466, i16 467, i16 1651, i16 183, i16 240, i16 184, i16 229, i16 332, i16 727, i16 1655, i16 1656, i16 0, i16 0, i16 0, i16 0, i16 0, i16 983, i16 994, i16 440, i16 439, i16 441, i16 442, i16 996, i16 231, i16 476, i16 396, i16 1016, i16 976, i16 475, i16 395, i16 1019, i16 979, i16 222, i16 393, i16 397, i16 1638, i16 1639, i16 401, i16 1640, i16 1641, i16 738, i16 742, i16 745, i16 0, i16 755, i16 0, i16 765, i16 777, i16 227, i16 187, i16 394, i16 175, i16 239, i16 154, i16 188, i16 153, i16 483, i16 482, i16 484, i16 485, i16 495, i16 494, i16 1031, i16 496, i16 740, i16 788, i16 736, i16 784, i16 761, i16 812, i16 763, i16 815, i16 997, i16 458, i16 457, i16 459, i16 1004, i16 468, i16 473, i16 469, i16 743, i16 744, i16 747, i16 750, i16 751, i16 752, i16 753, i16 754, i16 488, i16 408, i16 486, i16 406, i16 1026, i16 986, i16 1025, i16 985, i16 233, i16 0, i16 0, i16 0, i16 235, i16 237, i16 0, i16 0, i16 493, i16 1628, i16 501, i16 502, i16 1629, i16 510, i16 1630, i16 1631, i16 497, i16 417, i16 499, i16 419, i16 0, i16 0, i16 498, i16 418, i16 242, i16 220, i16 385, i16 386, i16 221, i16 243, i16 186, i16 166, i16 1011, i16 1010, i16 1012, i16 1013, i16 1014, i16 1015, i16 1017, i16 1018, i16 756, i16 757, i16 0, i16 759, i16 762, i16 764, i16 770, i16 772, i16 248, i16 0, i16 0, i16 0, i16 252, i16 0, i16 0, i16 0, i16 1020, i16 980, i16 1022, i16 982, i16 1021, i16 981, i16 480, i16 400, i16 254, i16 0, i16 0, i16 0, i16 249, i16 0, i16 0, i16 0, i16 1023, i16 1034, i16 517, i16 516, i16 518, i16 519, i16 1036, i16 232, i16 8, i16 13, i16 9, i16 5, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 14, i16 7, i16 11, i16 3, i16 6, i16 0, i16 0, i16 0, i16 0, i16 10, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 81, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8, i16 42, i16 98, i16 109, i16 122, i16 130, i16 140, i16 151, i16 164, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 35, i16 0, i16 108, i16 0, i16 110, i16 120, i16 125, i16 133, i16 0, i16 0, i16 0, i16 0, i16 15, i16 0, i16 141, i16 148, i16 112, i16 117, i16 160, i16 139, i16 149, i16 57, i16 167, i16 170, i16 174, i16 47, i16 60, i16 61, i16 39, i16 0, i16 0, i16 11, i16 92, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 43, i16 18, i16 0, i16 0, i16 10, i16 12, i16 51, i16 119, i16 93, i16 169, i16 172, i16 96, i16 0, i16 0, i16 28, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 23, i16 9, i16 0, i16 14, i16 66, i16 0, i16 67, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 32, i16 75, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 46, i16 147, i16 152, i16 156, i16 31, i16 0, i16 0, i16 157, i16 161, i16 0, i16 36, i16 0, i16 0, i16 0, i16 0, i16 0, i16 37, i16 22, i16 176, i16 0, i16 0, i16 38, i16 181, i16 63, i16 70, i16 48, i16 17, i16 0, i16 73, i16 74, i16 0, i16 0, i16 52, i16 102, i16 135, i16 155, i16 114, i16 171, i16 101, i16 173, i16 111, i16 121, i16 94, i16 127, i16 142, i16 103, i16 143, i16 104, i16 175, i16 180, i16 89, i16 62, i16 124, i16 71, i16 80, i16 83, i16 20, i16 49, i16 166, i16 95, i16 7, i16 106, i16 165, i16 26, i16 55, i16 153, i16 179, i16 154, i16 182, i16 56, i16 40, i16 41, i16 77, i16 158, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 79, i16 86, i16 0, i16 76, i16 82, i16 88, i16 0, i16 59, i16 69, i16 85, i16 99, i16 116, i16 131, i16 58, i16 68, i16 84, i16 97, i16 115, i16 128, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 78, i16 50, i16 87, i16 27, i16 33, i16 34, i16 123, i16 0, i16 44, i16 16, i16 24, i16 0, i16 25, i16 0, i16 3, i16 0, i16 45, i16 105, i16 107, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 126, i16 54, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 144, i16 177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 13, i16 21, i16 19, i16 0, i16 0, i16 53, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 29, i16 30, i16 129, i16 137, i16 146, i16 138, i16 134, i16 0, i16 0, i16 159, i16 178, i16 90, i16 118, i16 132, i16 163, i16 64, i16 72, i16 91, i16 113, i16 162, i16 145, i16 65, i16 150, i16 168, i16 100, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 136, i16 5, i16 6, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 592, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 161, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 172, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 167, i16 168, i16 169, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 170, i16 0, i16 171, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 714, i16 715, i16 864, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1505, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 524, i16 0, i16 525, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 581, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1348, i16 0, i16 0, i16 0, i16 1349, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1923, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 526, i16 527, i16 528, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 427, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 343, i16 344, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 290, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 594, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 742, i16 743, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1924, i16 146, i16 0, i16 1925, i16 0, i16 1926, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 232, i16 233, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 234, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 520, i16 521, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 522, i16 523, i16 0, i16 0, i16 0, i16 0, i16 0, i16 345, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 823, i16 824, i16 0, i16 0, i16 0, i16 0, i16 1762, i16 1763, i16 1772, i16 1773, i16 1824, i16 1825, i16 0, i16 0, i16 0, i16 0, i16 323, i16 324, i16 325, i16 326, i16 0, i16 0, i16 0, i16 0, i16 327, i16 0, i16 328, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1371, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 153, i16 154, i16 0, i16 0, i16 0, i16 0, i16 155, i16 0, i16 0, i16 0, i16 156, i16 0, i16 0, i16 0, i16 0, i16 0, i16 157, i16 158, i16 1148, i16 159, i16 1158, i16 1164, i16 1170, i16 0, i16 1187, i16 0, i16 1200, i16 1213, i16 0, i16 0, i16 0, i16 0, i16 1701, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 546, i16 0, i16 0, i16 0, i16 547, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 329, i16 0, i16 330, i16 0, i16 0, i16 331, i16 0, i16 0, i16 0, i16 332, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 333, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 358, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 225, i16 226, i16 0, i16 0, i16 227, i16 0, i16 228, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 229, i16 0, i16 230, i16 0, i16 0, i16 0, i16 231, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 1733, i16 1735, i16 1737, i16 1739, i16 0, i16 0, i16 0, i16 517, i16 518, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 519, i16 0, i16 0, i16 1310, i16 1311, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1312, i16 1313, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1314, i16 1315, i16 1316, i16 1317, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1353, i16 0, i16 1355, i16 0, i16 0, i16 0, i16 1358, i16 0, i16 0, i16 0, i16 0, i16 1362, i16 1363, i16 1366, i16 0, i16 0, i16 593, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 339, i16 340, i16 0, i16 0, i16 341, i16 342, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 348, i16 0, i16 0, i16 0, i16 0, i16 0, i16 349, i16 350, i16 351, i16 352, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 173, i16 174, i16 175, i16 176, i16 177, i16 0, i16 0, i16 180, i16 181, i16 0, i16 0, i16 0, i16 178, i16 179, i16 0, i16 0, i16 499, i16 500, i16 0, i16 0, i16 0, i16 501, i16 0, i16 0, i16 502, i16 0, i16 503, i16 504, i16 0, i16 0, i16 0, i16 282, i16 0, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 811, i16 812, i16 0, i16 0, i16 0, i16 0, i16 0, i16 894, i16 895, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 304, i16 305, i16 306, i16 307, i16 0, i16 0, i16 308, i16 309, i16 1700, i16 310, i16 0, i16 0, i16 311, i16 312, i16 313, i16 0, i16 1351, i16 1352, i16 1354, i16 1356, i16 1357, i16 1359, i16 1361, i16 1365, i16 1372, i16 1375, i16 1380, i16 1385, i16 1390, i16 1395, i16 1400, i16 0, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 75, i16 78, i16 76, i16 79, i16 77, i16 604, i16 605, i16 0, i16 658, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 672, i16 673, i16 674, i16 675, i16 676, i16 1364, i16 677, i16 678, i16 679, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1234, i16 1230, i16 1224, i16 1236, i16 1288, i16 1244, i16 1246, i16 1248, i16 1258, i16 1264, i16 1276, i16 1254, i16 0, i16 1280, i16 1292, i16 0, i16 1235, i16 1231, i16 1225, i16 1237, i16 1289, i16 1245, i16 1247, i16 1249, i16 1259, i16 1265, i16 1277, i16 1255, i16 0, i16 1281, i16 1293, i16 0, i16 476, i16 477, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1525, i16 1527, i16 1529, i16 1531, i16 1533, i16 1535, i16 1538, i16 1540, i16 1542, i16 1544, i16 1547, i16 1549, i16 1551, i16 1553, i16 1555, i16 0, i16 1526, i16 1528, i16 1530, i16 1532, i16 1534, i16 1536, i16 1539, i16 1541, i16 1543, i16 1545, i16 1548, i16 1550, i16 1552, i16 1554, i16 1556, i16 0, i16 505, i16 0, i16 0, i16 506, i16 0, i16 507, i16 508, i16 0, i16 0, i16 509, i16 510, i16 0, i16 0, i16 511, i16 512, i16 513, i16 514, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 515, i16 516, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1796, i16 1795, i16 881, i16 882, i16 885, i16 886, i16 1801, i16 1802, i16 1803, i16 903, i16 904, i16 1806, i16 1807, i16 905, i16 906, i16 907, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 1033, i16 1034, i16 1035, i16 1036, i16 1027, i16 1028, i16 1031, i16 1032, i16 1037, i16 1038, i16 1047, i16 1048, i16 1049, i16 1050, i16 1057, i16 1058, i16 778, i16 779, i16 780, i16 781, i16 782, i16 783, i16 784, i16 785, i16 870, i16 871, i16 876, i16 877, i16 972, i16 973, i16 966, i16 967, i16 529, i16 0, i16 530, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 0, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 1557, i16 1560, i16 1562, i16 1564, i16 1566, i16 1568, i16 1570, i16 1572, i16 1574, i16 1576, i16 1578, i16 1580, i16 1582, i16 1584, i16 1586, i16 1588, i16 1558, i16 1561, i16 1563, i16 1565, i16 1567, i16 1569, i16 1571, i16 1573, i16 1575, i16 1577, i16 1579, i16 1581, i16 1583, i16 1585, i16 1587, i16 1589, i16 279, i16 280, i16 281, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1818, i16 1819, i16 1830, i16 1831, i16 1007, i16 1008, i16 1832, i16 1833, i16 1013, i16 1014, i16 1834, i16 1835, i16 1029, i16 1030, i16 1838, i16 1839, i16 1055, i16 1056, i16 1098, i16 1099, i16 1090, i16 1091, i16 1100, i16 1101, i16 1088, i16 1089, i16 1096, i16 1097, i16 1852, i16 1853, i16 1854, i16 1855, i16 291, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 292, i16 0, i16 293, i16 0, i16 294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 548, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 0, i16 0, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 1318, i16 1319, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 295, i16 0, i16 296, i16 297, i16 0, i16 298, i16 299, i16 300, i16 301, i16 0, i16 0, i16 302, i16 0, i16 0, i16 0, i16 303, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 1836, i16 1837, i16 1053, i16 1054, i16 1045, i16 1046, i16 1051, i16 1052, i16 1086, i16 1087, i16 1846, i16 1847, i16 1066, i16 1067, i16 1074, i16 1075, i16 816, i16 817, i16 818, i16 819, i16 820, i16 1042, i16 1026, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 0, i16 0, i16 0, i16 0, i16 571, i16 0, i16 0, i16 0, i16 1844, i16 1845, i16 1094, i16 1095, i16 1862, i16 1863, i16 1126, i16 1127, i16 1128, i16 1877, i16 1878, i16 1881, i16 1882, i16 1879, i16 1880, i16 1040, i16 1590, i16 1592, i16 1594, i16 1596, i16 1598, i16 1600, i16 1602, i16 1604, i16 1606, i16 1608, i16 1610, i16 1612, i16 1614, i16 1616, i16 1618, i16 1620, i16 1591, i16 1593, i16 1595, i16 1597, i16 1599, i16 1601, i16 1603, i16 1605, i16 1607, i16 1609, i16 1611, i16 1613, i16 1615, i16 1617, i16 1619, i16 1621, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 314, i16 0, i16 0, i16 0, i16 0, i16 315, i16 0, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 0, i16 322, i16 0, i16 572, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 829, i16 830, i16 1790, i16 1791, i16 840, i16 841, i16 848, i16 849, i16 872, i16 873, i16 1799, i16 1800, i16 858, i16 859, i16 878, i16 879, i16 833, i16 834, i16 844, i16 845, i16 846, i16 847, i16 842, i16 843, i16 850, i16 851, i16 838, i16 839, i16 874, i16 875, i16 868, i16 869, i16 1860, i16 1861, i16 1858, i16 1859, i16 1864, i16 1865, i16 1866, i16 1867, i16 1868, i16 1869, i16 1121, i16 1122, i16 1119, i16 1120, i16 1134, i16 1135, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1350, i16 1452, i16 1457, i16 1462, i16 1467, i16 1472, i16 1477, i16 1482, i16 1487, i16 1490, i16 1493, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 74, i16 87, i16 120, i16 122, i16 119, i16 123, i16 143, i16 114, i16 94, i16 116, i16 683, i16 104, i16 141, i16 82, i16 117, i16 81, i16 1103, i16 0, i16 0, i16 0, i16 0, i16 1142, i16 1143, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1360, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1370, i16 0, i16 1622, i16 1624, i16 1626, i16 1628, i16 1630, i16 1632, i16 1634, i16 1636, i16 1638, i16 1640, i16 1642, i16 1644, i16 1646, i16 1648, i16 1650, i16 1652, i16 1367, i16 1368, i16 1369, i16 1373, i16 1374, i16 1376, i16 1377, i16 1378, i16 1379, i16 1381, i16 1382, i16 1383, i16 1384, i16 1386, i16 1387, i16 1388, i16 1623, i16 1625, i16 1627, i16 1629, i16 1631, i16 1633, i16 1635, i16 1637, i16 1639, i16 1641, i16 1643, i16 1645, i16 1647, i16 1649, i16 1651, i16 1653, i16 1112, i16 1113, i16 1124, i16 1125, i16 1136, i16 1137, i16 1130, i16 1131, i16 1132, i16 1133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 92, i16 1953, i16 730, i16 1954, i16 1955, i16 765, i16 810, i16 822, i16 837, i16 853, i16 884, i16 889, i16 1956, i16 919, i16 1957, i16 942, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 1887, i16 1810, i16 944, i16 1816, i16 952, i16 1820, i16 1828, i16 134, i16 1822, i16 1062, i16 1842, i16 1070, i16 1848, i16 1872, i16 1840, i16 1041, i16 1888, i16 1811, i16 945, i16 1817, i16 953, i16 1821, i16 1829, i16 133, i16 1823, i16 1063, i16 1843, i16 1071, i16 1849, i16 1873, i16 1841, i16 1129, i16 353, i16 0, i16 354, i16 0, i16 0, i16 355, i16 0, i16 0, i16 1889, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 865, i16 964, i16 965, i16 1072, i16 1073, i16 1076, i16 1077, i16 1078, i16 1079, i16 1082, i16 1083, i16 1080, i16 1081, i16 0, i16 718, i16 719, i16 356, i16 357, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 359, i16 360, i16 361, i16 362, i16 0, i16 0, i16 363, i16 364, i16 365, i16 366, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1389, i16 1391, i16 1392, i16 1393, i16 1394, i16 1396, i16 1397, i16 1398, i16 1399, i16 1401, i16 1402, i16 1404, i16 1405, i16 1407, i16 1408, i16 1410, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 1905, i16 445, i16 446, i16 1906, i16 447, i16 1907, i16 448, i16 449, i16 1908, i16 450, i16 451, i16 1909, i16 452, i16 453, i16 454, i16 1910, i16 1138, i16 1139, i16 1140, i16 1141, i16 1144, i16 1145, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 118, i16 1948, i16 729, i16 1949, i16 1950, i16 764, i16 809, i16 821, i16 836, i16 1794, i16 883, i16 888, i16 1951, i16 918, i16 1952, i16 941, i16 1654, i16 1656, i16 1658, i16 1660, i16 1662, i16 1664, i16 1666, i16 1668, i16 1670, i16 1672, i16 1674, i16 1676, i16 1678, i16 1680, i16 1682, i16 1684, i16 1655, i16 1657, i16 1659, i16 1661, i16 1663, i16 1665, i16 1667, i16 1669, i16 1671, i16 1673, i16 1675, i16 1677, i16 1679, i16 1681, i16 1683, i16 1685, i16 1911, i16 455, i16 456, i16 1912, i16 457, i16 458, i16 459, i16 1913, i16 1914, i16 460, i16 461, i16 1915, i16 462, i16 463, i16 464, i16 1916, i16 890, i16 891, i16 896, i16 897, i16 898, i16 899, i16 909, i16 910, i16 911, i16 912, i16 915, i16 916, i16 913, i16 914, i16 920, i16 921, i16 1403, i16 1406, i16 1409, i16 1412, i16 1417, i16 1422, i16 1427, i16 1432, i16 1437, i16 1442, i16 1447, i16 0, i16 0, i16 0, i16 0, i16 0, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 1411, i16 1413, i16 1414, i16 1415, i16 1416, i16 1418, i16 1419, i16 1420, i16 1421, i16 1423, i16 1424, i16 1425, i16 1426, i16 1428, i16 1429, i16 1430, i16 135, i16 334, i16 0, i16 0, i16 137, i16 139, i16 0, i16 0, i16 0, i16 0, i16 335, i16 336, i16 0, i16 0, i16 337, i16 338, i16 908, i16 1804, i16 1805, i16 1808, i16 1809, i16 1812, i16 1813, i16 929, i16 930, i16 939, i16 1814, i16 1815, i16 1826, i16 1827, i16 948, i16 949, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 655, i16 656, i16 657, i16 0, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 144, i16 132, i16 1750, i16 1751, i16 91, i16 145, i16 115, i16 96, i16 97, i16 1749, i16 943, i16 105, i16 1734, i16 1736, i16 1738, i16 89, i16 1686, i16 1688, i16 1690, i16 1692, i16 1537, i16 1546, i16 1559, i16 0, i16 0, i16 0, i16 0, i16 577, i16 578, i16 579, i16 580, i16 0, i16 1175, i16 1147, i16 1151, i16 1153, i16 1155, i16 1157, i16 1161, i16 1163, i16 1167, i16 1169, i16 1176, i16 1178, i16 1180, i16 1182, i16 1184, i16 1186, i16 1431, i16 1433, i16 1434, i16 1435, i16 1436, i16 1438, i16 1439, i16 1440, i16 1441, i16 1443, i16 1444, i16 1445, i16 1446, i16 1448, i16 1449, i16 1450, i16 1687, i16 1689, i16 1691, i16 1693, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 573, i16 574, i16 575, i16 576, i16 0, i16 922, i16 923, i16 924, i16 925, i16 931, i16 932, i16 933, i16 934, i16 937, i16 938, i16 935, i16 936, i16 968, i16 969, i16 970, i16 971, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 0, i16 0, i16 0, i16 0, i16 160, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1697, i16 86, i16 101, i16 127, i16 121, i16 128, i16 126, i16 98, i16 106, i16 108, i16 124, i16 130, i16 83, i16 1698, i16 90, i16 1699, i16 162, i16 163, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 164, i16 165, i16 166, i16 1190, i16 1192, i16 0, i16 1194, i16 1197, i16 1199, i16 1206, i16 1208, i16 1210, i16 1212, i16 1171, i16 1201, i16 1150, i16 1160, i16 1166, i16 1173, i16 1191, i16 1193, i16 1196, i16 1195, i16 1198, i16 1202, i16 1207, i16 1209, i16 1211, i16 1214, i16 1174, i16 1204, i16 1189, i16 1203, i16 1215, i16 0, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 1717, i16 1718, i16 1451, i16 1453, i16 1454, i16 1455, i16 1456, i16 1458, i16 1459, i16 1460, i16 1461, i16 1463, i16 1464, i16 1465, i16 1466, i16 1468, i16 1469, i16 1470, i16 428, i16 1890, i16 429, i16 1891, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 1892, i16 1893, i16 1894, i16 684, i16 1758, i16 702, i16 722, i16 1764, i16 1760, i16 1770, i16 1780, i16 766, i16 1784, i16 774, i16 788, i16 854, i16 1797, i16 862, i16 866, i16 685, i16 1759, i16 703, i16 723, i16 1765, i16 1761, i16 1771, i16 1781, i16 767, i16 1785, i16 775, i16 789, i16 855, i16 1798, i16 863, i16 867, i16 686, i16 687, i16 700, i16 701, i16 768, i16 769, i16 772, i16 773, i16 856, i16 857, i16 860, i16 861, i16 946, i16 947, i16 950, i16 951, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 798, i16 799, i16 790, i16 791, i16 792, i16 793, i16 776, i16 777, i16 1205, i16 1149, i16 1152, i16 1154, i16 1156, i16 1159, i16 1162, i16 1165, i16 1168, i16 1172, i16 1177, i16 1179, i16 1181, i16 1183, i16 1185, i16 1188, i16 182, i16 0, i16 0, i16 183, i16 184, i16 185, i16 186, i16 187, i16 99, i16 100, i16 188, i16 189, i16 102, i16 103, i16 190, i16 191, i16 439, i16 1895, i16 1896, i16 1897, i16 440, i16 1898, i16 1899, i16 1900, i16 441, i16 1901, i16 1902, i16 1903, i16 442, i16 1904, i16 443, i16 444, i16 1719, i16 1720, i16 1721, i16 1722, i16 1723, i16 1724, i16 1725, i16 1726, i16 1727, i16 1728, i16 1729, i16 1730, i16 475, i16 0, i16 0, i16 0, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 984, i16 985, i16 986, i16 987, i16 988, i16 989, i16 1471, i16 1473, i16 1474, i16 1475, i16 1476, i16 1478, i16 1479, i16 1480, i16 1481, i16 1483, i16 1484, i16 1485, i16 1486, i16 1488, i16 1489, i16 1491, i16 192, i16 193, i16 1702, i16 0, i16 0, i16 194, i16 195, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1216, i16 1218, i16 1220, i16 1222, i16 1228, i16 1232, i16 1238, i16 1240, i16 1242, i16 1250, i16 1252, i16 1256, i16 1260, i16 1262, i16 1266, i16 1268, i16 1217, i16 1219, i16 1221, i16 1223, i16 1229, i16 1233, i16 1239, i16 1241, i16 1243, i16 1251, i16 1253, i16 1257, i16 1261, i16 1263, i16 1267, i16 1269, i16 1731, i16 1740, i16 1741, i16 1742, i16 1743, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 85, i16 84, i16 136, i16 138, i16 140, i16 88, i16 196, i16 0, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 0, i16 208, i16 0, i16 1732, i16 0, i16 0, i16 0, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 131, i16 129, i16 209, i16 107, i16 109, i16 0, i16 1226, i16 1227, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 716, i16 717, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 746, i16 747, i16 753, i16 754, i16 755, i16 756, i16 761, i16 762, i16 465, i16 466, i16 1917, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 1918, i16 0, i16 0, i16 0, i16 0, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 0, i16 724, i16 725, i16 720, i16 721, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 690, i16 691, i16 980, i16 981, i16 978, i16 979, i16 997, i16 998, i16 999, i16 1000, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1492, i16 1494, i16 1495, i16 1496, i16 1497, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 0, i16 0, i16 0, i16 726, i16 727, i16 1774, i16 1775, i16 831, i16 832, i16 827, i16 828, i16 892, i16 893, i16 974, i16 975, i16 976, i16 977, i16 0, i16 0, i16 982, i16 983, i16 1921, i16 1922, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1102, i16 478, i16 0, i16 0, i16 0, i16 479, i16 0, i16 0, i16 0, i16 480, i16 0, i16 0, i16 0, i16 481, i16 0, i16 0, i16 0, i16 990, i16 991, i16 992, i16 993, i16 1092, i16 1093, i16 1084, i16 1085, i16 1104, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1503, i16 1504, i16 1506, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 482, i16 483, i16 484, i16 485, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 995, i16 1002, i16 1005, i16 1024, i16 1043, i16 1060, i16 1850, i16 1856, i16 1117, i16 1870, i16 1875, i16 110, i16 125, i16 111, i16 93, i16 80, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 996, i16 1003, i16 1006, i16 1025, i16 1044, i16 1061, i16 1851, i16 1857, i16 1118, i16 1871, i16 1876, i16 112, i16 142, i16 113, i16 95, i16 622, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 494, i16 495, i16 496, i16 0, i16 497, i16 498, i16 0, i16 0, i16 1768, i16 1769, i16 688, i16 689, i16 1766, i16 1767, i16 1776, i16 1777, i16 740, i16 741, i16 744, i16 745, i16 1778, i16 1779, i16 751, i16 752, i16 235, i16 0, i16 236, i16 0, i16 0, i16 0, i16 237, i16 0, i16 0, i16 0, i16 0, i16 238, i16 0, i16 0, i16 0, i16 0, i16 1009, i16 1010, i16 1011, i16 1012, i16 1064, i16 1065, i16 1068, i16 1069, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 757, i16 758, i16 759, i16 760, i16 804, i16 805, i16 802, i16 803, i16 806, i16 807, i16 794, i16 795, i16 800, i16 801, i16 813, i16 814, i16 1270, i16 1272, i16 1274, i16 1278, i16 1282, i16 1284, i16 1286, i16 1290, i16 1294, i16 1296, i16 1299, i16 1300, i16 1303, i16 1304, i16 1306, i16 1308, i16 1782, i16 1783, i16 1788, i16 1789, i16 770, i16 771, i16 796, i16 797, i16 1786, i16 1787, i16 786, i16 787, i16 825, i16 826, i16 1792, i16 1793, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 1271, i16 1273, i16 1275, i16 1279, i16 1283, i16 1285, i16 1287, i16 1291, i16 1295, i16 1297, i16 1298, i16 1301, i16 1302, i16 1305, i16 1307, i16 1309, i16 9, i16 11, i16 8, i16 5, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12, i16 7, i16 13, i16 3, i16 6, i16 0, i16 0, i16 0, i16 0, i16 14, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 181, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8, i16 38, i16 76, i16 84, i16 94, i16 104, i16 117, i16 126, i16 135, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 36, i16 0, i16 170, i16 0, i16 171, i16 176, i16 66, i16 74, i16 0, i16 0, i16 0, i16 0, i16 13, i16 0, i16 81, i16 86, i16 49, i16 50, i16 112, i16 82, i16 96, i16 51, i16 118, i16 120, i16 123, i16 40, i16 54, i16 134, i16 41, i16 0, i16 0, i16 11, i16 165, i16 0, i16 0, i16 0, i16 0, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 46, i16 18, i16 0, i16 0, i16 9, i16 12, i16 47, i16 90, i16 67, i16 138, i16 141, i16 71, i16 0, i16 0, i16 26, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 22, i16 10, i16 0, i16 14, i16 142, i16 0, i16 145, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 34, i16 150, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 39, i16 169, i16 98, i16 100, i16 29, i16 0, i16 0, i16 147, i16 110, i16 0, i16 37, i16 0, i16 0, i16 0, i16 0, i16 0, i16 32, i16 21, i16 65, i16 0, i16 0, i16 33, i16 122, i16 129, i16 136, i16 57, i16 17, i16 0, i16 139, i16 140, i16 0, i16 0, i16 55, i16 127, i16 149, i16 128, i16 151, i16 56, i16 44, i16 45, i16 172, i16 131, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 173, i16 179, i16 0, i16 61, i16 175, i16 99, i16 146, i16 180, i16 167, i16 160, i16 168, i16 63, i16 73, i16 97, i16 83, i16 106, i16 52, i16 108, i16 53, i16 132, i16 154, i16 68, i16 93, i16 116, i16 148, i16 70, i16 95, i16 20, i16 62, i16 158, i16 107, i16 7, i16 89, i16 133, i16 25, i16 80, i16 85, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 109, i16 174, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 19, i16 16, i16 0, i16 0, i16 48, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 27, i16 28, i16 103, i16 114, i16 121, i16 115, i16 91, i16 0, i16 0, i16 125, i16 155, i16 72, i16 101, i16 124, i16 157, i16 64, i16 79, i16 119, i16 137, i16 130, i16 111, i16 161, i16 143, i16 163, i16 113, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 92, i16 5, i16 6, i16 3, i16 144, i16 58, i16 152, i16 30, i16 31, i16 35, i16 78, i16 0, i16 42, i16 15, i16 23, i16 0, i16 24, i16 0, i16 4, i16 0, i16 43, i16 69, i16 166, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 153, i16 156, i16 159, i16 0, i16 60, i16 164, i16 178, i16 77, i16 88, i16 105, i16 59, i16 162, i16 177, i16 75, i16 87, i16 102, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 831, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1251, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 842, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 979, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 837, i16 838, i16 839, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 840, i16 0, i16 841, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 121, i16 122, i16 311, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1697, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1539, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1183, i16 0, i16 1184, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1240, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1540, i16 0, i16 0, i16 0, i16 1541, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1058, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1185, i16 1186, i16 1187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 975, i16 976, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 816, i16 811, i16 819, i16 818, i16 800, i16 821, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 929, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1253, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 815, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 167, i16 168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 771, i16 772, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 877, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1179, i16 1180, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1181, i16 1182, i16 0, i16 0, i16 0, i16 0, i16 0, i16 977, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 978, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 260, i16 261, i16 0, i16 0, i16 0, i16 0, i16 125, i16 126, i16 148, i16 149, i16 450, i16 451, i16 0, i16 0, i16 0, i16 0, i16 1563, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 823, i16 824, i16 0, i16 0, i16 0, i16 0, i16 825, i16 0, i16 0, i16 0, i16 826, i16 0, i16 0, i16 0, i16 0, i16 0, i16 827, i16 828, i16 1340, i16 829, i16 1350, i16 1356, i16 1362, i16 0, i16 1379, i16 0, i16 1392, i16 1405, i16 0, i16 0, i16 0, i16 0, i16 946, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 961, i16 962, i16 963, i16 964, i16 0, i16 0, i16 0, i16 0, i16 803, i16 0, i16 965, i16 0, i16 0, i16 0, i16 0, i16 804, i16 0, i16 805, i16 0, i16 0, i16 806, i16 0, i16 0, i16 0, i16 802, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 808, i16 0, i16 876, i16 0, i16 0, i16 0, i16 809, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 878, i16 879, i16 880, i16 881, i16 882, i16 883, i16 884, i16 885, i16 682, i16 684, i16 686, i16 688, i16 0, i16 0, i16 0, i16 0, i16 1205, i16 0, i16 0, i16 0, i16 1206, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 966, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 989, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 767, i16 768, i16 0, i16 0, i16 769, i16 0, i16 770, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1545, i16 0, i16 1547, i16 0, i16 0, i16 0, i16 1550, i16 0, i16 0, i16 0, i16 0, i16 1554, i16 1555, i16 1558, i16 0, i16 0, i16 79, i16 80, i16 81, i16 82, i16 83, i16 0, i16 0, i16 84, i16 85, i16 0, i16 0, i16 0, i16 843, i16 844, i16 0, i16 0, i16 1158, i16 1159, i16 0, i16 0, i16 0, i16 1160, i16 0, i16 0, i16 1161, i16 0, i16 1162, i16 1163, i16 0, i16 0, i16 0, i16 0, i16 1176, i16 1177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1178, i16 0, i16 0, i16 971, i16 972, i16 0, i16 0, i16 973, i16 974, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 980, i16 0, i16 0, i16 0, i16 0, i16 0, i16 981, i16 982, i16 983, i16 984, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1502, i16 1503, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1504, i16 1505, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1506, i16 1507, i16 1508, i16 1509, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1252, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1543, i16 1544, i16 1546, i16 1548, i16 1549, i16 1551, i16 1553, i16 1557, i16 1564, i16 1567, i16 1572, i16 1577, i16 1582, i16 1587, i16 1592, i16 0, i16 1317, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1092, i16 1093, i16 0, i16 1095, i16 0, i16 1097, i16 1098, i16 0, i16 1100, i16 1101, i16 0, i16 1103, i16 1104, i16 1105, i16 0, i16 0, i16 1108, i16 1109, i16 0, i16 1111, i16 1112, i16 1113, i16 0, i16 0, i16 1116, i16 1117, i16 0, i16 1119, i16 1120, i16 1121, i16 0, i16 0, i16 1135, i16 1136, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 391, i16 412, i16 410, i16 420, i16 440, i16 434, i16 791, i16 448, i16 556, i16 554, i16 564, i16 570, i16 646, i16 550, i16 531, i16 0, i16 392, i16 413, i16 411, i16 421, i16 441, i16 435, i16 787, i16 449, i16 557, i16 555, i16 565, i16 571, i16 647, i16 551, i16 653, i16 0, i16 1164, i16 0, i16 0, i16 1165, i16 0, i16 1166, i16 1167, i16 0, i16 0, i16 1168, i16 1169, i16 0, i16 0, i16 1170, i16 1171, i16 0, i16 1426, i16 1422, i16 1416, i16 1428, i16 1480, i16 1436, i16 1438, i16 1440, i16 1450, i16 1456, i16 1468, i16 1446, i16 0, i16 1472, i16 1484, i16 0, i16 1427, i16 1423, i16 1417, i16 1429, i16 1481, i16 1437, i16 1439, i16 1441, i16 1451, i16 1457, i16 1469, i16 1447, i16 0, i16 1473, i16 1485, i16 0, i16 921, i16 0, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 943, i16 735, i16 944, i16 945, i16 0, i16 0, i16 793, i16 947, i16 847, i16 788, i16 0, i16 0, i16 949, i16 950, i16 951, i16 0, i16 1717, i16 1719, i16 1721, i16 1723, i16 1725, i16 1727, i16 1730, i16 1732, i16 1734, i16 1736, i16 1739, i16 1741, i16 1743, i16 1745, i16 1747, i16 0, i16 1718, i16 1720, i16 1722, i16 1724, i16 1726, i16 1728, i16 1731, i16 1733, i16 1735, i16 1737, i16 1740, i16 1742, i16 1744, i16 1746, i16 1748, i16 0, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 707, i16 710, i16 708, i16 711, i16 709, i16 1263, i16 1264, i16 0, i16 248, i16 249, i16 0, i16 0, i16 0, i16 0, i16 0, i16 345, i16 346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 517, i16 518, i16 519, i16 520, i16 513, i16 514, i16 527, i16 528, i16 521, i16 522, i16 537, i16 538, i16 539, i16 540, i16 547, i16 548, i16 773, i16 0, i16 774, i16 0, i16 0, i16 0, i16 775, i16 0, i16 0, i16 0, i16 0, i16 776, i16 0, i16 0, i16 0, i16 0, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 1037, i16 1038, i16 1039, i16 1040, i16 1041, i16 1042, i16 1043, i16 1044, i16 1045, i16 1542, i16 1644, i16 1649, i16 1654, i16 1659, i16 1664, i16 1669, i16 1674, i16 1679, i16 1682, i16 1685, i16 1690, i16 1691, i16 1692, i16 1693, i16 1694, i16 268, i16 269, i16 272, i16 273, i16 281, i16 282, i16 289, i16 290, i16 319, i16 320, i16 329, i16 330, i16 305, i16 306, i16 327, i16 328, i16 780, i16 0, i16 985, i16 0, i16 0, i16 986, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 525, i16 526, i16 543, i16 544, i16 535, i16 536, i16 541, i16 542, i16 584, i16 585, i16 594, i16 595, i16 560, i16 561, i16 568, i16 569, i16 1552, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1562, i16 0, i16 274, i16 275, i16 285, i16 286, i16 287, i16 288, i16 283, i16 284, i16 291, i16 292, i16 279, i16 280, i16 321, i16 322, i16 315, i16 316, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1046, i16 1047, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 0, i16 0, i16 0, i16 0, i16 1814, i16 1816, i16 1818, i16 1820, i16 1822, i16 1824, i16 1826, i16 1828, i16 1830, i16 1832, i16 1834, i16 1836, i16 1838, i16 1840, i16 1842, i16 1844, i16 1559, i16 1560, i16 1561, i16 1565, i16 1566, i16 1568, i16 1569, i16 1570, i16 1571, i16 1573, i16 1574, i16 1575, i16 1576, i16 1578, i16 1579, i16 1580, i16 1815, i16 1817, i16 1819, i16 1821, i16 1823, i16 1825, i16 1827, i16 1829, i16 1831, i16 1833, i16 1835, i16 1837, i16 1839, i16 1841, i16 1843, i16 1845, i16 795, i16 784, i16 0, i16 0, i16 796, i16 797, i16 0, i16 0, i16 0, i16 0, i16 967, i16 968, i16 0, i16 0, i16 969, i16 970, i16 545, i16 546, i16 598, i16 599, i16 588, i16 589, i16 600, i16 601, i16 586, i16 587, i16 596, i16 597, i16 617, i16 618, i16 619, i16 620, i16 1314, i16 1315, i16 1316, i16 0, i16 1318, i16 801, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1059, i16 0, i16 1061, i16 0, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1070, i16 1071, i16 0, i16 0, i16 0, i16 1060, i16 1062, i16 1072, i16 1073, i16 1074, i16 1076, i16 1077, i16 1078, i16 1080, i16 1081, i16 1082, i16 1084, i16 1085, i16 1086, i16 1088, i16 1091, i16 807, i16 794, i16 699, i16 700, i16 814, i16 766, i16 762, i16 822, i16 817, i16 698, i16 409, i16 786, i16 683, i16 685, i16 687, i16 716, i16 1581, i16 1583, i16 1584, i16 1585, i16 1586, i16 1588, i16 1589, i16 1590, i16 1591, i16 1593, i16 1594, i16 1596, i16 1597, i16 1599, i16 1600, i16 1602, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1556, i16 1335, i16 1336, i16 1337, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1075, i16 0, i16 0, i16 0, i16 1079, i16 0, i16 0, i16 0, i16 1083, i16 0, i16 0, i16 0, i16 1087, i16 0, i16 1089, i16 1090, i16 1846, i16 1848, i16 1850, i16 1852, i16 1854, i16 1856, i16 1858, i16 1860, i16 1862, i16 1864, i16 1866, i16 1868, i16 1870, i16 1872, i16 1874, i16 1876, i16 1847, i16 1849, i16 1851, i16 1853, i16 1855, i16 1857, i16 1859, i16 1861, i16 1863, i16 1865, i16 1867, i16 1869, i16 1871, i16 1873, i16 1875, i16 1877, i16 312, i16 432, i16 433, i16 566, i16 567, i16 572, i16 573, i16 574, i16 575, i16 578, i16 579, i16 576, i16 577, i16 0, i16 131, i16 132, i16 1595, i16 1598, i16 1601, i16 1604, i16 1609, i16 1614, i16 1619, i16 1624, i16 1629, i16 1634, i16 1639, i16 0, i16 0, i16 0, i16 0, i16 0, i16 830, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 832, i16 833, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 834, i16 835, i16 836, i16 323, i16 324, i16 332, i16 333, i16 336, i16 337, i16 349, i16 350, i16 354, i16 357, i16 358, i16 367, i16 368, i16 359, i16 360, i16 361, i16 1603, i16 1605, i16 1606, i16 1607, i16 1608, i16 1610, i16 1611, i16 1612, i16 1613, i16 1615, i16 1616, i16 1617, i16 1618, i16 1620, i16 1621, i16 1622, i16 580, i16 581, i16 592, i16 593, i16 628, i16 629, i16 650, i16 651, i16 652, i16 665, i16 666, i16 669, i16 670, i16 678, i16 679, i16 530, i16 1094, i16 1096, i16 1099, i16 1102, i16 1106, i16 1107, i16 1110, i16 1114, i16 1115, i16 1118, i16 1122, i16 1125, i16 1134, i16 0, i16 0, i16 0, i16 77, i16 718, i16 764, i16 756, i16 810, i16 765, i16 739, i16 757, i16 820, i16 761, i16 88, i16 785, i16 781, i16 733, i16 760, i16 812, i16 845, i16 846, i16 948, i16 0, i16 0, i16 848, i16 849, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 78, i16 717, i16 720, i16 798, i16 759, i16 758, i16 755, i16 721, i16 743, i16 745, i16 792, i16 789, i16 713, i16 731, i16 712, i16 741, i16 850, i16 0, i16 851, i16 852, i16 853, i16 854, i16 855, i16 856, i16 857, i16 750, i16 752, i16 858, i16 859, i16 0, i16 813, i16 0, i16 341, i16 342, i16 347, i16 348, i16 351, i16 352, i16 363, i16 364, i16 369, i16 370, i16 373, i16 374, i16 371, i16 372, i16 378, i16 379, i16 1878, i16 1880, i16 1882, i16 1884, i16 1729, i16 1738, i16 1751, i16 0, i16 0, i16 0, i16 0, i16 1236, i16 1237, i16 1238, i16 1239, i16 0, i16 1367, i16 1339, i16 1343, i16 1345, i16 1347, i16 1349, i16 1353, i16 1355, i16 1359, i16 1361, i16 1368, i16 1370, i16 1372, i16 1374, i16 1376, i16 1378, i16 1623, i16 1625, i16 1626, i16 1627, i16 1628, i16 1630, i16 1631, i16 1632, i16 1633, i16 1635, i16 1636, i16 1637, i16 1638, i16 1640, i16 1641, i16 1642, i16 1879, i16 1881, i16 1883, i16 1885, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1232, i16 1233, i16 1234, i16 1235, i16 0, i16 91, i16 89, i16 109, i16 135, i16 129, i16 123, i16 146, i16 171, i16 199, i16 197, i16 207, i16 221, i16 301, i16 299, i16 309, i16 313, i16 603, i16 0, i16 0, i16 0, i16 0, i16 673, i16 674, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 92, i16 90, i16 110, i16 136, i16 130, i16 124, i16 147, i16 172, i16 200, i16 198, i16 208, i16 222, i16 302, i16 300, i16 310, i16 314, i16 93, i16 94, i16 107, i16 108, i16 201, i16 202, i16 205, i16 206, i16 303, i16 304, i16 307, i16 308, i16 414, i16 415, i16 418, i16 419, i16 861, i16 862, i16 863, i16 864, i16 865, i16 866, i16 867, i16 868, i16 869, i16 870, i16 871, i16 872, i16 873, i16 874, i16 875, i16 0, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 231, i16 232, i16 223, i16 224, i16 225, i16 226, i16 209, i16 210, i16 1123, i16 1124, i16 0, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1132, i16 1133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 612, i16 613, i16 648, i16 649, i16 660, i16 661, i16 654, i16 655, i16 656, i16 657, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1382, i16 1384, i16 0, i16 1386, i16 1389, i16 1391, i16 1398, i16 1400, i16 1402, i16 1404, i16 1363, i16 1393, i16 1342, i16 1352, i16 1358, i16 1365, i16 1383, i16 1385, i16 1388, i16 1387, i16 1390, i16 1394, i16 1399, i16 1401, i16 1403, i16 1406, i16 1366, i16 1396, i16 1381, i16 1395, i16 1407, i16 0, i16 362, i16 365, i16 366, i16 387, i16 388, i16 397, i16 398, i16 389, i16 390, i16 403, i16 405, i16 406, i16 456, i16 457, i16 416, i16 417, i16 1643, i16 1645, i16 1646, i16 1647, i16 1648, i16 1650, i16 1651, i16 1652, i16 1653, i16 1655, i16 1656, i16 1657, i16 1658, i16 1660, i16 1661, i16 1662, i16 1137, i16 0, i16 0, i16 0, i16 1138, i16 0, i16 0, i16 0, i16 1139, i16 0, i16 0, i16 0, i16 1140, i16 0, i16 0, i16 0, i16 626, i16 627, i16 624, i16 625, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 641, i16 642, i16 639, i16 640, i16 658, i16 659, i16 1141, i16 1142, i16 1143, i16 1144, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1397, i16 1341, i16 1344, i16 1346, i16 1348, i16 1351, i16 1354, i16 1357, i16 1360, i16 1364, i16 1369, i16 1371, i16 1373, i16 1375, i16 1377, i16 1380, i16 886, i16 887, i16 888, i16 889, i16 890, i16 891, i16 892, i16 893, i16 894, i16 895, i16 896, i16 897, i16 898, i16 899, i16 900, i16 901, i16 1145, i16 1146, i16 1147, i16 1148, i16 1149, i16 1150, i16 1151, i16 1152, i16 1153, i16 1154, i16 1155, i16 0, i16 1156, i16 1157, i16 0, i16 0, i16 380, i16 381, i16 382, i16 383, i16 393, i16 394, i16 395, i16 396, i16 401, i16 402, i16 399, i16 400, i16 442, i16 443, i16 444, i16 445, i16 127, i16 128, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 173, i16 174, i16 182, i16 183, i16 184, i16 185, i16 192, i16 193, i16 1663, i16 1665, i16 1666, i16 1667, i16 1668, i16 1670, i16 1671, i16 1672, i16 1673, i16 1675, i16 1676, i16 1677, i16 1678, i16 1680, i16 1681, i16 1683, i16 1408, i16 1410, i16 1412, i16 1414, i16 1420, i16 1424, i16 1430, i16 1432, i16 1434, i16 1442, i16 1444, i16 1448, i16 1452, i16 1454, i16 1458, i16 1460, i16 1409, i16 1411, i16 1413, i16 1415, i16 1421, i16 1425, i16 1431, i16 1433, i16 1435, i16 1443, i16 1445, i16 1449, i16 1453, i16 1455, i16 1459, i16 1461, i16 902, i16 903, i16 904, i16 905, i16 906, i16 907, i16 908, i16 909, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 137, i16 138, i16 133, i16 134, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 97, i16 98, i16 1418, i16 1419, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 141, i16 142, i16 95, i16 96, i16 139, i16 140, i16 163, i16 164, i16 165, i16 166, i16 169, i16 170, i16 175, i16 176, i16 180, i16 181, i16 143, i16 144, i16 150, i16 151, i16 270, i16 271, i16 266, i16 267, i16 343, i16 344, i16 452, i16 453, i16 454, i16 455, i16 0, i16 0, i16 1172, i16 1173, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1174, i16 1175, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1684, i16 1686, i16 1687, i16 1688, i16 1689, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 0, i16 0, i16 0, i16 918, i16 919, i16 920, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 667, i16 668, i16 671, i16 672, i16 675, i16 676, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1695, i16 1696, i16 1698, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 930, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 931, i16 0, i16 932, i16 0, i16 933, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1699, i16 1700, i16 1701, i16 1702, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1188, i16 0, i16 1189, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 934, i16 0, i16 935, i16 936, i16 0, i16 937, i16 938, i16 939, i16 940, i16 0, i16 0, i16 941, i16 0, i16 0, i16 0, i16 942, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 0, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 680, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 719, i16 714, i16 749, i16 778, i16 751, i16 715, i16 681, i16 0, i16 0, i16 0, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 790, i16 732, i16 860, i16 744, i16 746, i16 0, i16 436, i16 437, i16 475, i16 476, i16 489, i16 490, i16 499, i16 500, i16 505, i16 506, i16 511, i16 512, i16 515, i16 516, i16 523, i16 524, i16 1462, i16 1464, i16 1466, i16 1470, i16 1474, i16 1476, i16 1478, i16 1482, i16 1486, i16 1488, i16 1491, i16 1492, i16 1495, i16 1496, i16 1498, i16 1500, i16 1207, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1463, i16 1465, i16 1467, i16 1471, i16 1475, i16 1477, i16 1479, i16 1483, i16 1487, i16 1489, i16 1490, i16 1493, i16 1494, i16 1497, i16 1499, i16 1501, i16 952, i16 0, i16 0, i16 0, i16 0, i16 953, i16 0, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 0, i16 960, i16 0, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 0, i16 0, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 186, i16 187, i16 237, i16 238, i16 203, i16 204, i16 229, i16 230, i16 235, i16 236, i16 219, i16 220, i16 264, i16 265, i16 262, i16 263, i16 188, i16 189, i16 190, i16 191, i16 241, i16 242, i16 239, i16 240, i16 243, i16 244, i16 227, i16 228, i16 233, i16 234, i16 250, i16 251, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 0, i16 0, i16 0, i16 0, i16 1230, i16 0, i16 0, i16 0, i16 460, i16 461, i16 458, i16 459, i16 479, i16 480, i16 481, i16 482, i16 495, i16 496, i16 497, i16 498, i16 501, i16 502, i16 503, i16 504, i16 462, i16 463, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 602, i16 1231, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 722, i16 87, i16 153, i16 1888, i16 179, i16 196, i16 247, i16 259, i16 278, i16 298, i16 335, i16 340, i16 356, i16 377, i16 386, i16 408, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 317, i16 318, i16 325, i16 326, i16 446, i16 447, i16 438, i16 439, i16 1749, i16 1752, i16 1754, i16 1756, i16 1758, i16 1760, i16 1762, i16 1764, i16 1766, i16 1768, i16 1770, i16 1772, i16 1774, i16 1776, i16 1778, i16 1780, i16 470, i16 471, i16 472, i16 473, i16 590, i16 591, i16 582, i16 583, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 1750, i16 1753, i16 1755, i16 1757, i16 1759, i16 1761, i16 1763, i16 1765, i16 1767, i16 1769, i16 1771, i16 1773, i16 1775, i16 1777, i16 1779, i16 1781, i16 1241, i16 1242, i16 1243, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 987, i16 988, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 477, i16 484, i16 487, i16 508, i16 533, i16 552, i16 615, i16 622, i16 637, i16 644, i16 663, i16 747, i16 742, i16 748, i16 779, i16 777, i16 478, i16 485, i16 488, i16 509, i16 534, i16 553, i16 616, i16 623, i16 638, i16 645, i16 664, i16 753, i16 740, i16 754, i16 799, i16 1281, i16 734, i16 0, i16 0, i16 736, i16 737, i16 738, i16 782, i16 783, i16 729, i16 730, i16 723, i16 728, i16 726, i16 727, i16 724, i16 725, i16 990, i16 991, i16 992, i16 993, i16 0, i16 0, i16 994, i16 995, i16 996, i16 997, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 998, i16 999, i16 1000, i16 1001, i16 1002, i16 1003, i16 1004, i16 1005, i16 1006, i16 1007, i16 1008, i16 1009, i16 1010, i16 1011, i16 1012, i16 1013, i16 1510, i16 1511, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 491, i16 492, i16 493, i16 494, i16 558, i16 559, i16 562, i16 563, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1265, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1014, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1023, i16 1024, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1782, i16 1784, i16 1786, i16 1788, i16 1790, i16 1792, i16 1794, i16 1796, i16 1798, i16 1800, i16 1802, i16 1804, i16 1806, i16 1808, i16 1810, i16 1812, i16 1783, i16 1785, i16 1787, i16 1789, i16 1791, i16 1793, i16 1795, i16 1797, i16 1799, i16 1801, i16 1803, i16 1805, i16 1807, i16 1809, i16 1811, i16 1813, i16 1528, i16 1529, i16 1530, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 0, i16 0, i16 0, i16 0, i16 0, i16 763, i16 86, i16 152, i16 1887, i16 178, i16 195, i16 246, i16 258, i16 277, i16 297, i16 334, i16 339, i16 355, i16 376, i16 385, i16 407, i16 253, i16 254, i16 255, i16 256, i16 257, i16 532, i16 510, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 3, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 5, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 134, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 136, i16 0, i16 0, i16 0, i16 137, i16 0, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 1, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 12, i16 14, i16 16, i16 18, i16 20, i16 22, i16 24, i16 26, i16 28, i16 30, i16 32, i16 34, i16 36, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 13, i16 15, i16 17, i16 19, i16 21, i16 23, i16 25, i16 27, i16 29, i16 31, i16 33, i16 35, i16 37, i16 39, i16 41, i16 43, i16 45, i16 47, i16 49, i16 51, i16 53, i16 55, i16 57, i16 59, i16 61, i16 63, i16 92, i16 93, i16 94, i16 95, i16 202, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 96, i16 0, i16 0, i16 0, i16 133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 135, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 203, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 5, i16 6, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 4, i16 3, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 126, i16 132, i16 138, i16 144, i16 150, i16 156, i16 162, i16 168, i16 174, i16 180, i16 186, i16 192, i16 198, i16 204, i16 210, i16 216, i16 222, i16 228, i16 234, i16 240, i16 246, i16 252, i16 258, i16 264, i16 270, i16 276, i16 282, i16 288, i16 294, i16 300, i16 306, i16 7, i16 13, i16 23, i16 39, i16 32, i16 40, i16 38, i16 22, i16 24, i16 29, i16 36, i16 41, i16 10, i16 9, i16 16, i16 15, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 12, i16 11, i16 42, i16 43, i16 44, i16 14, i16 19, i16 75, i16 77, i16 79, i16 81, i16 83, i16 85, i16 87, i16 89, i16 91, i16 93, i16 95, i16 97, i16 99, i16 101, i16 103, i16 105, i16 107, i16 109, i16 111, i16 113, i16 115, i16 117, i16 119, i16 121, i16 123, i16 125, i16 26, i16 45, i16 27, i16 21, i16 0, i16 30, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 25, i16 37, i16 28, i16 20, i16 8, i16 312, i16 318, i16 324, i16 330, i16 336, i16 337, i16 343, i16 344, i16 350, i16 356, i16 362, i16 368, i16 374, i16 380, i16 386, i16 17, i16 393, i16 394, i16 395, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 47, i16 0, i16 0, i16 0, i16 0, i16 31, i16 410, i16 411, i16 412, i16 413, i16 414, i16 396, i16 18, i16 49, i16 50, i16 51, i16 52, i16 53, i16 48, i16 392, i16 46, i16 33, i16 55, i16 57, i16 59, i16 61, i16 63, i16 65, i16 67, i16 69, i16 71, i16 73, i16 34, i16 35, i16 0, i16 0, i16 0, i16 0, i16 32, i16 3, i16 45, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7, i16 37, i16 2, i16 12, i16 0, i16 0, i16 0, i16 0, i16 27, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 25, i16 33, i16 28, i16 44, i16 11, i16 14, i16 29, i16 40, i16 23, i16 9, i16 20, i16 10, i16 38, i16 22, i16 42, i16 31, i16 49, i16 36, i16 43, i16 16, i16 15, i16 26, i16 21, i16 35, i16 17, i16 18, i16 13, i16 47, i16 24, i16 6, i16 34, i16 4, i16 39, i16 19, i16 8, i16 41, i16 5, i16 48, i16 50, i16 46, i16 30, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 266, i16 373, i16 661, i16 236, i16 595, i16 0, i16 0, i16 94, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 615, i16 647, i16 136, i16 0, i16 0, i16 390, i16 36, i16 15, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 31, i16 0, i16 0, i16 0, i16 0, i16 0, i16 60, i16 455, i16 499, i16 0, i16 0, i16 4, i16 259, i16 192, i16 133, i16 445, i16 669, i16 550, i16 172, i16 0, i16 0, i16 62, i16 153, i16 389, i16 409, i16 145, i16 1, i16 180, i16 570, i16 258, i16 261, i16 414, i16 610, i16 140, i16 566, i16 280, i16 150, i16 468, i16 333, i16 655, i16 176, i16 402, i16 260, i16 173, i16 607, i16 281, i16 293, i16 306, i16 319, i16 267, i16 168, i16 368, i16 382, i16 456, i16 249, i16 437, i16 500, i16 95, i16 14, i16 465, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 68, i16 129, i16 0, i16 0, i16 12, i16 0, i16 9, i16 0, i16 533, i16 84, i16 587, i16 606, i16 447, i16 652, i16 668, i16 291, i16 318, i16 459, i16 61, i16 659, i16 395, i16 195, i16 202, i16 186, i16 30, i16 590, i16 617, i16 422, i16 209, i16 535, i16 137, i16 485, i16 511, i16 222, i16 165, i16 337, i16 355, i16 371, i16 385, i16 190, i16 35, i16 627, i16 98, i16 660, i16 85, i16 278, i16 244, i16 376, i16 391, i16 101, i16 69, i16 377, i16 185, i16 401, i16 205, i16 453, i16 38, i16 24, i16 331, i16 352, i16 644, i16 649, i16 662, i16 398, i16 673, i16 454, i16 287, i16 152, i16 223, i16 307, i16 294, i16 419, i16 39, i16 0, i16 357, i16 22, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 296, i16 160, i16 363, i16 342, i16 360, i16 378, i16 42, i16 415, i16 434, i16 206, i16 431, i16 13, i16 490, i16 462, i16 521, i16 486, i16 304, i16 593, i16 525, i16 253, i16 622, i16 645, i16 234, i16 269, i16 104, i16 279, i16 63, i16 425, i16 199, i16 78, i16 174, i16 72, i16 569, i16 295, i16 620, i16 161, i16 340, i16 658, i16 273, i16 680, i16 289, i16 404, i16 361, i16 359, i16 372, i16 423, i16 73, i16 417, i16 315, i16 132, i16 356, i16 362, i16 381, i16 412, i16 26, i16 594, i16 87, i16 471, i16 497, i16 601, i16 227, i16 118, i16 542, i16 557, i16 317, i16 353, i16 265, i16 182, i16 188, i16 0, i16 0, i16 0, i16 0, i16 5, i16 74, i16 544, i16 448, i16 211, i16 475, i16 575, i16 599, i16 524, i16 545, i16 552, i16 239, i16 157, i16 66, i16 585, i16 103, i16 614, i16 48, i16 632, i16 687, i16 282, i16 308, i16 329, i16 604, i16 514, i16 183, i16 537, i16 530, i16 326, i16 177, i16 226, i16 380, i16 406, i16 76, i16 204, i16 208, i16 215, i16 584, i16 247, i16 605, i16 428, i16 679, i16 634, i16 637, i16 37, i16 138, i16 316, i16 196, i16 34, i16 230, i16 44, i16 286, i16 676, i16 312, i16 603, i16 609, i16 549, i16 513, i16 310, i16 325, i16 346, i16 77, i16 388, i16 128, i16 399, i16 411, i16 418, i16 54, i16 444, i16 299, i16 480, i16 113, i16 197, i16 602, i16 89, i16 158, i16 635, i16 59, i16 670, i16 493, i16 276, i16 105, i16 416, i16 429, i16 334, i16 159, i16 110, i16 370, i16 384, i16 684, i16 248, i16 424, i16 301, i16 156, i16 343, i16 242, i16 214, i16 504, i16 515, i16 556, i16 403, i16 81, i16 364, i16 374, i16 189, i16 413, i16 427, i16 28, i16 207, i16 473, i16 494, i16 672, i16 228, i16 540, i16 283, i16 100, i16 586, i16 323, i16 344, i16 375, i16 155, i16 630, i16 124, i16 626, i16 526, i16 613, i16 665, i16 677, i16 16, i16 305, i16 290, i16 167, i16 339, i16 383, i16 408, i16 122, i16 449, i16 80, i16 467, i16 169, i16 218, i16 200, i16 532, i16 543, i16 561, i16 508, i16 510, i16 553, i16 256, i16 582, i16 653, i16 643, i16 0, i16 241, i16 619, i16 666, i16 147, i16 348, i16 397, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 648, i16 141, i16 82, i16 292, i16 309, i16 608, i16 354, i16 410, i16 386, i16 311, i16 439, i16 321, i16 109, i16 460, i16 481, i16 498, i16 394, i16 495, i16 461, i16 112, i16 19, i16 457, i16 254, i16 489, i16 503, i16 221, i16 512, i16 86, i16 527, i16 139, i16 568, i16 580, i16 143, i16 0, i16 0, i16 7, i16 300, i16 49, i16 57, i16 528, i16 102, i16 430, i16 194, i16 564, i16 17, i16 579, i16 0, i16 0, i16 144, i16 83, i16 531, i16 324, i16 229, i16 154, i16 179, i16 387, i16 53, i16 43, i16 277, i16 201, i16 108, i16 21, i16 625, i16 483, i16 146, i16 347, i16 396, i16 446, i16 505, i16 252, i16 336, i16 477, i16 351, i16 379, i16 322, i16 436, i16 0, i16 0, i16 18, i16 8, i16 420, i16 250, i16 450, i16 472, i16 633, i16 518, i16 529, i16 119, i16 631, i16 268, i16 674, i16 142, i16 686, i16 458, i16 134, i16 328, i16 678, i16 488, i16 509, i16 491, i16 541, i16 657, i16 120, i16 563, i16 675, i16 583, i16 245, i16 91, i16 618, i16 0, i16 0, i16 0, i16 683, i16 516, i16 314, i16 681, i16 193, i16 572, i16 358, i16 443, i16 611, i16 421, i16 646, i16 262, i16 272, i16 107, i16 99, i16 538, i16 685, i16 288, i16 64, i16 70, i16 166, i16 50, i16 25, i16 52, i16 71, i16 392, i16 191, i16 426, i16 433, i16 442, i16 451, i16 441, i16 435, i16 438, i16 11, i16 338, i16 106, i16 40, i16 0, i16 0, i16 10, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 440, i16 466, i16 478, i16 501, i16 523, i16 536, i16 554, i16 522, i16 592, i16 581, i16 233, i16 555, i16 251, i16 476, i16 636, i16 264, i16 203, i16 452, i16 474, i16 365, i16 178, i16 187, i16 539, i16 126, i16 565, i16 578, i16 600, i16 220, i16 2, i16 624, i16 639, i16 654, i16 212, i16 562, i16 407, i16 616, i16 33, i16 650, i16 47, i16 332, i16 271, i16 131, i16 97, i16 298, i16 162, i16 341, i16 65, i16 367, i16 213, i16 149, i16 151, i16 302, i16 163, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3, i16 484, i16 345, i16 67, i16 591, i16 469, i16 487, i16 51, i16 171, i16 303, i16 400, i16 175, i16 58, i16 125, i16 598, i16 79, i16 628, i16 463, i16 651, i16 350, i16 274, i16 470, i16 56, i16 464, i16 520, i16 612, i16 640, i16 238, i16 507, i16 123, i16 127, i16 88, i16 623, i16 642, i16 664, i16 548, i16 547, i16 216, i16 682, i16 492, i16 116, i16 519, i16 240, i16 667, i16 588, i16 597, i16 23, i16 559, i16 641, i16 577, i16 93, i16 270, i16 96, i16 225, i16 534, i16 589, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 482, i16 184, i16 224, i16 393, i16 0, i16 0, i16 0, i16 41, i16 121, i16 75, i16 198, i16 517, i16 90, i16 263, i16 210, i16 671, i16 231, i16 496, i16 45, i16 574, i16 246, i16 235, i16 621, i16 32, i16 479, i16 237, i16 560, i16 284, i16 571, i16 327, i16 217, i16 366, i16 232, i16 432, i16 55, i16 111, i16 0, i16 27, i16 114, i16 219, i16 115, i16 573, i16 546, i16 567, i16 6, i16 46, i16 243, i16 130, i16 502, i16 320, i16 92, i16 117, i16 369, i16 551, i16 558, i16 20, i16 164, i16 576, i16 275, i16 257, i16 297, i16 656, i16 596, i16 506, i16 255, i16 629, i16 638, i16 135, i16 0, i16 29, i16 663, i16 285, i16 313, i16 349, i16 148, i16 181, i16 405, i16 330, i16 335, i16 170, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3171, i16 12478, i16 12479, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2196, i16 6503, i16 11985, i16 1886, i16 6504, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2650, i16 12441, i16 12442, i16 0, i16 0, i16 0, i16 0, i16 12443, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2542, i16 11756, i16 11757, i16 6356, i16 0, i16 0, i16 11758, i16 11759, i16 6358, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1165, i16 0, i16 5777, i16 0, i16 5778, i16 10826, i16 10825, i16 10827, i16 10828, i16 10829, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1956, i16 6848, i16 6849, i16 1656, i16 0, i16 12717, i16 0, i16 12718, i16 0, i16 12719, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7035, i16 0, i16 0, i16 1517, i16 7036, i16 13063, i16 13064, i16 13065, i16 7037, i16 0, i16 1888, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7306, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 341, i16 0, i16 342, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 351, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 326, i16 327, i16 325, i16 328, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11125, i16 0, i16 0, i16 5992, i16 0, i16 5993, i16 0, i16 990, i16 11126, i16 0, i16 0, i16 947, i16 5990, i16 11127, i16 0, i16 11128, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 251, i16 0, i16 0, i16 0, i16 0, i16 250, i16 255, i16 0, i16 259, i16 260, i16 0, i16 0, i16 261, i16 262, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 368, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7427, i16 2983, i16 3748, i16 7428, i16 0, i16 7430, i16 3029, i16 7431, i16 3631, i16 7432, i16 2168, i16 7433, i16 1818, i16 7434, i16 1866, i16 965, i16 7435, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3587, i16 0, i16 13156, i16 13157, i16 13158, i16 13159, i16 0, i16 13160, i16 7092, i16 13161, i16 13162, i16 0, i16 0, i16 0, i16 0, i16 7093, i16 5548, i16 13163, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7201, i16 7287, i16 7229, i16 7315, i16 7247, i16 7332, i16 7265, i16 7350, i16 7274, i16 7359, i16 7271, i16 7356, i16 7273, i16 7358, i16 7272, i16 7357, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8287, i16 0, i16 0, i16 0, i16 0, i16 8288, i16 0, i16 2969, i16 8289, i16 0, i16 0, i16 8290, i16 0, i16 0, i16 8291, i16 4207, i16 3113, i16 8292, i16 0, i16 8293, i16 8294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9649, i16 5112, i16 9650, i16 9651, i16 5118, i16 0, i16 0, i16 5116, i16 0, i16 2728, i16 0, i16 0, i16 5123, i16 5113, i16 9652, i16 0, i16 9653, i16 0, i16 9654, i16 5114, i16 5090, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9574, i16 0, i16 9575, i16 0, i16 0, i16 1049, i16 0, i16 0, i16 892, i16 0, i16 9576, i16 5056, i16 0, i16 9577, i16 5059, i16 9578, i16 0, i16 0, i16 3600, i16 9579, i16 0, i16 9580, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 364, i16 0, i16 0, i16 363, i16 0, i16 362, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7882, i16 7883, i16 0, i16 0, i16 4012, i16 3474, i16 0, i16 2068, i16 7884, i16 4018, i16 0, i16 7885, i16 7886, i16 0, i16 4017, i16 4008, i16 0, i16 7887, i16 7888, i16 7889, i16 2472, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 995, i16 0, i16 0, i16 7950, i16 0, i16 0, i16 4058, i16 7951, i16 2153, i16 4054, i16 7952, i16 4052, i16 7953, i16 4053, i16 7954, i16 4055, i16 7955, i16 0, i16 7956, i16 7957, i16 7958, i16 0, i16 7959, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3650, i16 0, i16 9772, i16 5182, i16 0, i16 0, i16 0, i16 847, i16 0, i16 9773, i16 0, i16 9774, i16 9775, i16 9776, i16 9777, i16 0, i16 9778, i16 5184, i16 0, i16 0, i16 9779, i16 5183, i16 0, i16 5181, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10072, i16 10073, i16 5305, i16 0, i16 10074, i16 0, i16 0, i16 5306, i16 10075, i16 0, i16 0, i16 10076, i16 5307, i16 0, i16 0, i16 0, i16 10077, i16 0, i16 10078, i16 10079, i16 866, i16 0, i16 10080, i16 10081, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3182, i16 0, i16 6816, i16 12656, i16 0, i16 12657, i16 12658, i16 6817, i16 12659, i16 6818, i16 0, i16 0, i16 12660, i16 0, i16 6819, i16 12661, i16 12662, i16 0, i16 12663, i16 12664, i16 0, i16 0, i16 0, i16 12665, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11391, i16 0, i16 1000, i16 6110, i16 6111, i16 11358, i16 0, i16 0, i16 0, i16 11359, i16 0, i16 6106, i16 0, i16 1808, i16 11360, i16 0, i16 11361, i16 0, i16 11362, i16 0, i16 11363, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1683, i16 0, i16 12778, i16 0, i16 12779, i16 6888, i16 12780, i16 12781, i16 6889, i16 0, i16 12782, i16 0, i16 12783, i16 12784, i16 12785, i16 0, i16 1055, i16 12786, i16 0, i16 12787, i16 6890, i16 0, i16 12788, i16 12789, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8637, i16 0, i16 0, i16 8638, i16 0, i16 0, i16 8639, i16 4435, i16 4441, i16 4433, i16 0, i16 2779, i16 8640, i16 8641, i16 4438, i16 3156, i16 8642, i16 8643, i16 4432, i16 8644, i16 4437, i16 3636, i16 1834, i16 0, i16 8645, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7102, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7101, i16 7104, i16 7108, i16 7107, i16 0, i16 7105, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11222, i16 0, i16 0, i16 11223, i16 0, i16 3292, i16 0, i16 3660, i16 11224, i16 11225, i16 11226, i16 11227, i16 0, i16 6049, i16 0, i16 0, i16 11228, i16 0, i16 0, i16 11230, i16 11231, i16 6056, i16 11232, i16 0, i16 6048, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8409, i16 8410, i16 0, i16 8411, i16 0, i16 4283, i16 0, i16 0, i16 8412, i16 1205, i16 4284, i16 8413, i16 0, i16 4285, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8414, i16 0, i16 8415, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4599, i16 752, i16 8844, i16 8845, i16 1720, i16 0, i16 8846, i16 0, i16 2177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8847, i16 8848, i16 0, i16 0, i16 8849, i16 2707, i16 0, i16 8850, i16 3053, i16 4605, i16 2405, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4632, i16 0, i16 0, i16 8909, i16 8910, i16 0, i16 0, i16 2464, i16 0, i16 4639, i16 8911, i16 0, i16 8912, i16 4633, i16 8913, i16 0, i16 4630, i16 4637, i16 8914, i16 0, i16 0, i16 0, i16 4607, i16 0, i16 8915, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 316, i16 315, i16 0, i16 0, i16 0, i16 312, i16 0, i16 0, i16 314, i16 313, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8817, i16 0, i16 8818, i16 0, i16 0, i16 3069, i16 4663, i16 0, i16 0, i16 0, i16 0, i16 3279, i16 0, i16 8819, i16 0, i16 2706, i16 8820, i16 8821, i16 0, i16 3368, i16 8822, i16 4583, i16 934, i16 2605, i16 8823, i16 8824, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7940, i16 2549, i16 0, i16 7941, i16 970, i16 7942, i16 0, i16 0, i16 7943, i16 7944, i16 7945, i16 7946, i16 7947, i16 7948, i16 0, i16 4042, i16 0, i16 4044, i16 2069, i16 858, i16 7949, i16 0, i16 4047, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 311, i16 310, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2652, i16 12969, i16 6980, i16 0, i16 3024, i16 0, i16 6985, i16 6981, i16 0, i16 0, i16 0, i16 6982, i16 0, i16 12970, i16 3300, i16 3413, i16 0, i16 2861, i16 12971, i16 0, i16 12972, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1124, i16 11078, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11079, i16 920, i16 5954, i16 3639, i16 2498, i16 11080, i16 0, i16 3131, i16 0, i16 5966, i16 11081, i16 988, i16 5964, i16 0, i16 5962, i16 5953, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2662, i16 9547, i16 9548, i16 9549, i16 883, i16 1622, i16 5035, i16 0, i16 0, i16 9551, i16 9552, i16 0, i16 9553, i16 1974, i16 5040, i16 0, i16 5039, i16 5034, i16 0, i16 5037, i16 9554, i16 0, i16 1099, i16 9555, i16 5036, i16 2948, i16 9556, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8864, i16 8865, i16 3280, i16 1919, i16 4620, i16 0, i16 4619, i16 8866, i16 8867, i16 2243, i16 0, i16 0, i16 8868, i16 1497, i16 0, i16 8869, i16 8870, i16 4613, i16 2086, i16 8871, i16 0, i16 2885, i16 2924, i16 8872, i16 8873, i16 0, i16 8874, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11173, i16 6028, i16 11174, i16 11175, i16 3524, i16 11176, i16 0, i16 0, i16 11177, i16 3575, i16 11178, i16 0, i16 11179, i16 11180, i16 0, i16 0, i16 0, i16 11181, i16 2619, i16 11182, i16 11183, i16 11184, i16 1102, i16 11185, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6850, i16 12720, i16 0, i16 1057, i16 0, i16 0, i16 0, i16 2954, i16 6851, i16 6852, i16 0, i16 12721, i16 12722, i16 12723, i16 2589, i16 2888, i16 12724, i16 0, i16 0, i16 0, i16 12725, i16 12726, i16 0, i16 6853, i16 12727, i16 0, i16 12728, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4292, i16 0, i16 4294, i16 0, i16 8425, i16 0, i16 8426, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8427, i16 0, i16 0, i16 0, i16 0, i16 8429, i16 0, i16 4295, i16 0, i16 0, i16 0, i16 8428, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10961, i16 5874, i16 10962, i16 0, i16 0, i16 10963, i16 5872, i16 10964, i16 0, i16 2208, i16 0, i16 3164, i16 5877, i16 10965, i16 5876, i16 1639, i16 3710, i16 0, i16 10966, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5893, i16 0, i16 0, i16 0, i16 0, i16 13078, i16 7046, i16 3001, i16 0, i16 13079, i16 7047, i16 7049, i16 0, i16 13080, i16 7050, i16 13081, i16 13082, i16 13083, i16 0, i16 0, i16 13084, i16 13085, i16 13086, i16 0, i16 0, i16 7048, i16 1668, i16 3422, i16 3350, i16 4361, i16 0, i16 4996, i16 3374, i16 0, i16 0, i16 0, i16 0, i16 9766, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9767, i16 5177, i16 2557, i16 5180, i16 5175, i16 9768, i16 9769, i16 0, i16 5179, i16 9770, i16 0, i16 0, i16 9771, i16 5178, i16 2751, i16 802, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4915, i16 9346, i16 9347, i16 4920, i16 4924, i16 9348, i16 9349, i16 1331, i16 0, i16 0, i16 9350, i16 0, i16 9351, i16 9352, i16 9353, i16 0, i16 0, i16 9354, i16 9355, i16 0, i16 1259, i16 4922, i16 0, i16 9356, i16 0, i16 0, i16 0, i16 1216, i16 0, i16 0, i16 0, i16 0, i16 9780, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5176, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3286, i16 9781, i16 0, i16 0, i16 5186, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9539, i16 0, i16 0, i16 9540, i16 0, i16 0, i16 9541, i16 3517, i16 5042, i16 0, i16 9542, i16 9543, i16 0, i16 9544, i16 5041, i16 9545, i16 0, i16 0, i16 0, i16 2335, i16 0, i16 5038, i16 9546, i16 3547, i16 0, i16 0, i16 2835, i16 5032, i16 0, i16 0, i16 0, i16 0, i16 10582, i16 0, i16 3236, i16 986, i16 0, i16 10583, i16 0, i16 5611, i16 0, i16 5608, i16 10584, i16 5613, i16 10585, i16 10586, i16 5612, i16 0, i16 2990, i16 3384, i16 10587, i16 1806, i16 5606, i16 5615, i16 5610, i16 10588, i16 5609, i16 5605, i16 10589, i16 5607, i16 0, i16 0, i16 0, i16 0, i16 12640, i16 0, i16 6807, i16 12641, i16 0, i16 0, i16 12642, i16 6809, i16 2511, i16 1086, i16 1087, i16 6808, i16 0, i16 12643, i16 12644, i16 12645, i16 1194, i16 1515, i16 12646, i16 12647, i16 1195, i16 12648, i16 12649, i16 2750, i16 0, i16 0, i16 3629, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9849, i16 0, i16 0, i16 0, i16 5220, i16 0, i16 2687, i16 9850, i16 5222, i16 5221, i16 0, i16 9851, i16 5223, i16 0, i16 5224, i16 0, i16 9852, i16 1936, i16 3162, i16 0, i16 9853, i16 9854, i16 3453, i16 5225, i16 5226, i16 2397, i16 1877, i16 5227, i16 0, i16 0, i16 0, i16 0, i16 944, i16 0, i16 13087, i16 0, i16 13088, i16 0, i16 0, i16 13089, i16 7052, i16 1263, i16 7053, i16 7054, i16 7055, i16 0, i16 1676, i16 0, i16 7056, i16 13090, i16 0, i16 0, i16 5266, i16 3436, i16 0, i16 2504, i16 7057, i16 7059, i16 7058, i16 13091, i16 0, i16 0, i16 0, i16 0, i16 9393, i16 0, i16 0, i16 9394, i16 3008, i16 0, i16 4946, i16 0, i16 9395, i16 0, i16 0, i16 0, i16 9396, i16 9397, i16 9398, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4950, i16 4947, i16 9399, i16 9400, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1215, i16 9243, i16 4856, i16 0, i16 9244, i16 3418, i16 4831, i16 1214, i16 9245, i16 4838, i16 0, i16 9246, i16 9247, i16 9248, i16 3315, i16 9249, i16 4839, i16 4841, i16 9250, i16 4845, i16 4833, i16 9251, i16 2541, i16 0, i16 9252, i16 9253, i16 0, i16 2798, i16 0, i16 0, i16 0, i16 0, i16 7110, i16 7111, i16 7122, i16 0, i16 7123, i16 7124, i16 7125, i16 0, i16 7127, i16 0, i16 7128, i16 7130, i16 7136, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 0, i16 0, i16 0, i16 0, i16 6623, i16 0, i16 0, i16 12326, i16 12327, i16 12328, i16 0, i16 2886, i16 0, i16 2772, i16 0, i16 0, i16 12329, i16 12330, i16 12331, i16 0, i16 2680, i16 12332, i16 6636, i16 12333, i16 12334, i16 0, i16 12335, i16 2566, i16 6632, i16 0, i16 12336, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2303, i16 11822, i16 1920, i16 6405, i16 0, i16 11823, i16 0, i16 1077, i16 11824, i16 6406, i16 11825, i16 0, i16 2429, i16 6407, i16 0, i16 6408, i16 3170, i16 0, i16 0, i16 1230, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11826, i16 0, i16 0, i16 0, i16 8200, i16 905, i16 0, i16 8201, i16 1202, i16 2877, i16 3273, i16 0, i16 0, i16 0, i16 0, i16 4173, i16 2396, i16 4172, i16 1435, i16 8202, i16 8203, i16 3342, i16 4171, i16 0, i16 2788, i16 4175, i16 8204, i16 4174, i16 8205, i16 0, i16 8206, i16 8207, i16 8208, i16 0, i16 0, i16 0, i16 9739, i16 9740, i16 0, i16 0, i16 0, i16 9741, i16 9742, i16 9743, i16 9744, i16 5111, i16 0, i16 9749, i16 0, i16 0, i16 5171, i16 0, i16 0, i16 9745, i16 9746, i16 0, i16 0, i16 2884, i16 0, i16 0, i16 0, i16 0, i16 9747, i16 9748, i16 0, i16 0, i16 0, i16 0, i16 8486, i16 0, i16 0, i16 0, i16 8487, i16 0, i16 4332, i16 0, i16 8488, i16 1185, i16 4333, i16 8490, i16 0, i16 8489, i16 0, i16 4335, i16 4334, i16 0, i16 0, i16 4336, i16 0, i16 8491, i16 8492, i16 0, i16 4337, i16 0, i16 2327, i16 1970, i16 0, i16 0, i16 0, i16 0, i16 808, i16 5862, i16 0, i16 2563, i16 0, i16 10928, i16 0, i16 0, i16 0, i16 2963, i16 10929, i16 2496, i16 10930, i16 0, i16 0, i16 10931, i16 0, i16 10932, i16 10933, i16 5864, i16 10934, i16 10935, i16 5860, i16 5863, i16 5858, i16 0, i16 5861, i16 3289, i16 0, i16 0, i16 0, i16 0, i16 6698, i16 0, i16 0, i16 12462, i16 784, i16 12463, i16 12464, i16 6696, i16 12465, i16 6700, i16 6699, i16 0, i16 0, i16 12466, i16 12467, i16 12468, i16 12469, i16 6702, i16 6701, i16 6703, i16 0, i16 2827, i16 12470, i16 12471, i16 0, i16 6704, i16 12472, i16 12473, i16 12474, i16 0, i16 0, i16 0, i16 299, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7121, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9006, i16 0, i16 1543, i16 0, i16 9007, i16 4685, i16 9008, i16 0, i16 0, i16 0, i16 4688, i16 0, i16 3145, i16 9009, i16 1278, i16 9010, i16 0, i16 9011, i16 4687, i16 4686, i16 2959, i16 4689, i16 1330, i16 0, i16 0, i16 0, i16 4691, i16 4690, i16 9012, i16 0, i16 0, i16 0, i16 5172, i16 9750, i16 9751, i16 0, i16 0, i16 0, i16 0, i16 0, i16 981, i16 9752, i16 0, i16 9753, i16 2803, i16 1032, i16 0, i16 0, i16 0, i16 0, i16 9754, i16 9755, i16 0, i16 1283, i16 0, i16 0, i16 0, i16 1935, i16 1735, i16 9756, i16 0, i16 0, i16 0, i16 0, i16 9782, i16 9783, i16 9784, i16 9785, i16 9786, i16 0, i16 5185, i16 0, i16 9787, i16 9788, i16 0, i16 0, i16 9789, i16 0, i16 0, i16 0, i16 0, i16 914, i16 0, i16 0, i16 0, i16 0, i16 5188, i16 3207, i16 0, i16 5187, i16 0, i16 9790, i16 0, i16 0, i16 0, i16 0, i16 8247, i16 8248, i16 863, i16 1136, i16 8249, i16 4189, i16 0, i16 3414, i16 3112, i16 0, i16 0, i16 8250, i16 8251, i16 0, i16 8252, i16 8253, i16 0, i16 8254, i16 0, i16 753, i16 8255, i16 0, i16 0, i16 0, i16 834, i16 0, i16 0, i16 0, i16 1828, i16 0, i16 0, i16 0, i16 10308, i16 0, i16 0, i16 0, i16 5464, i16 0, i16 10309, i16 0, i16 0, i16 0, i16 5465, i16 0, i16 0, i16 0, i16 10310, i16 10311, i16 0, i16 0, i16 10312, i16 0, i16 5466, i16 0, i16 10313, i16 5467, i16 3400, i16 5468, i16 0, i16 10314, i16 10315, i16 0, i16 0, i16 0, i16 10830, i16 10831, i16 5779, i16 0, i16 10832, i16 0, i16 0, i16 0, i16 0, i16 5780, i16 5781, i16 5782, i16 10833, i16 5783, i16 5784, i16 10834, i16 10835, i16 5786, i16 5785, i16 0, i16 0, i16 5787, i16 0, i16 0, i16 10836, i16 10837, i16 10838, i16 0, i16 5788, i16 0, i16 0, i16 0, i16 6991, i16 0, i16 0, i16 6989, i16 0, i16 1118, i16 0, i16 6988, i16 1891, i16 942, i16 0, i16 0, i16 12981, i16 12982, i16 0, i16 12983, i16 12984, i16 12985, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12986, i16 1658, i16 12987, i16 12989, i16 6998, i16 6997, i16 0, i16 0, i16 0, i16 12117, i16 0, i16 0, i16 0, i16 12118, i16 12119, i16 2864, i16 6566, i16 1989, i16 1937, i16 2966, i16 2612, i16 12120, i16 0, i16 0, i16 1955, i16 12121, i16 2231, i16 0, i16 6567, i16 12122, i16 6568, i16 12123, i16 12124, i16 12125, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1113, i16 5562, i16 5561, i16 10536, i16 5565, i16 5558, i16 10537, i16 5566, i16 3574, i16 10538, i16 5567, i16 10539, i16 5568, i16 0, i16 10540, i16 4170, i16 5570, i16 0, i16 5569, i16 0, i16 0, i16 0, i16 5571, i16 5572, i16 10541, i16 3586, i16 5573, i16 0, i16 6797, i16 0, i16 0, i16 0, i16 4186, i16 8227, i16 2474, i16 0, i16 8228, i16 3307, i16 0, i16 0, i16 0, i16 2761, i16 8229, i16 8230, i16 8231, i16 8232, i16 0, i16 4187, i16 8233, i16 0, i16 0, i16 0, i16 8234, i16 0, i16 3352, i16 8235, i16 1727, i16 8236, i16 0, i16 2071, i16 0, i16 0, i16 0, i16 0, i16 4961, i16 0, i16 0, i16 9421, i16 4960, i16 0, i16 4962, i16 9422, i16 0, i16 979, i16 9423, i16 2554, i16 0, i16 4963, i16 0, i16 9424, i16 1152, i16 4965, i16 0, i16 9425, i16 0, i16 9426, i16 4964, i16 0, i16 4966, i16 0, i16 9427, i16 0, i16 4967, i16 0, i16 0, i16 0, i16 10341, i16 10342, i16 5477, i16 0, i16 10343, i16 10344, i16 0, i16 0, i16 0, i16 10345, i16 0, i16 10346, i16 0, i16 0, i16 0, i16 10347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10348, i16 2104, i16 10349, i16 0, i16 0, i16 0, i16 0, i16 2175, i16 8612, i16 3107, i16 0, i16 8613, i16 8614, i16 8615, i16 0, i16 8616, i16 1208, i16 2913, i16 0, i16 0, i16 8617, i16 8618, i16 8619, i16 8620, i16 8621, i16 0, i16 4422, i16 1833, i16 3309, i16 3310, i16 0, i16 0, i16 933, i16 4427, i16 8622, i16 0, i16 0, i16 0, i16 0, i16 2695, i16 3881, i16 7678, i16 0, i16 2444, i16 0, i16 7679, i16 1764, i16 3882, i16 3883, i16 2359, i16 0, i16 3880, i16 0, i16 0, i16 0, i16 0, i16 3885, i16 7680, i16 3305, i16 7681, i16 7682, i16 0, i16 7683, i16 1659, i16 7684, i16 0, i16 3884, i16 7685, i16 0, i16 0, i16 0, i16 5002, i16 5001, i16 0, i16 9479, i16 9480, i16 9481, i16 0, i16 0, i16 0, i16 9482, i16 0, i16 9483, i16 0, i16 0, i16 0, i16 0, i16 9484, i16 2224, i16 9485, i16 9486, i16 3120, i16 881, i16 0, i16 9487, i16 9488, i16 0, i16 0, i16 3038, i16 9489, i16 0, i16 0, i16 0, i16 12200, i16 12201, i16 12202, i16 12203, i16 0, i16 12204, i16 6671, i16 0, i16 0, i16 6599, i16 0, i16 12205, i16 12206, i16 12207, i16 0, i16 0, i16 12208, i16 3640, i16 12209, i16 12210, i16 1555, i16 12211, i16 12212, i16 12213, i16 0, i16 12214, i16 0, i16 12215, i16 6609, i16 0, i16 0, i16 0, i16 1469, i16 0, i16 8946, i16 0, i16 8947, i16 4649, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8948, i16 8949, i16 8950, i16 1800, i16 4646, i16 0, i16 4645, i16 0, i16 0, i16 8951, i16 8952, i16 2925, i16 8953, i16 0, i16 8954, i16 2834, i16 8955, i16 0, i16 0, i16 0, i16 1223, i16 1538, i16 4235, i16 1083, i16 0, i16 8338, i16 4236, i16 0, i16 2462, i16 0, i16 0, i16 8339, i16 8340, i16 4237, i16 4277, i16 0, i16 4238, i16 0, i16 4239, i16 0, i16 0, i16 4240, i16 0, i16 4242, i16 0, i16 8341, i16 8342, i16 8343, i16 8344, i16 0, i16 0, i16 0, i16 5320, i16 5319, i16 5321, i16 10092, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5322, i16 5324, i16 5323, i16 0, i16 0, i16 1680, i16 10093, i16 5326, i16 0, i16 5325, i16 10094, i16 10095, i16 1158, i16 0, i16 2206, i16 0, i16 2747, i16 0, i16 5327, i16 2273, i16 0, i16 0, i16 0, i16 9928, i16 1677, i16 1845, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9929, i16 5264, i16 5265, i16 9930, i16 0, i16 9931, i16 0, i16 0, i16 0, i16 9932, i16 5267, i16 9933, i16 0, i16 0, i16 0, i16 0, i16 9934, i16 9935, i16 9936, i16 0, i16 0, i16 0, i16 4811, i16 0, i16 0, i16 0, i16 3111, i16 0, i16 0, i16 0, i16 9216, i16 0, i16 0, i16 9217, i16 9218, i16 9219, i16 9220, i16 9221, i16 0, i16 4823, i16 9222, i16 952, i16 4812, i16 0, i16 9223, i16 9224, i16 9225, i16 9226, i16 0, i16 4829, i16 4813, i16 0, i16 0, i16 0, i16 13009, i16 13010, i16 0, i16 13011, i16 7009, i16 0, i16 7008, i16 13012, i16 0, i16 0, i16 13013, i16 13014, i16 1463, i16 0, i16 0, i16 13015, i16 13016, i16 0, i16 13017, i16 13018, i16 13019, i16 13020, i16 0, i16 7013, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11738, i16 0, i16 0, i16 1460, i16 0, i16 0, i16 0, i16 0, i16 6342, i16 6344, i16 11739, i16 0, i16 6345, i16 1251, i16 5811, i16 2150, i16 0, i16 6346, i16 0, i16 11740, i16 1575, i16 11741, i16 11742, i16 0, i16 0, i16 11743, i16 6347, i16 11744, i16 0, i16 0, i16 0, i16 0, i16 5086, i16 9609, i16 9610, i16 0, i16 0, i16 9611, i16 9612, i16 3388, i16 9613, i16 0, i16 5084, i16 5088, i16 9614, i16 0, i16 9615, i16 9616, i16 9617, i16 9618, i16 0, i16 1545, i16 9619, i16 2098, i16 0, i16 0, i16 2556, i16 9620, i16 9621, i16 9622, i16 5078, i16 0, i16 0, i16 0, i16 7917, i16 7918, i16 0, i16 0, i16 1489, i16 4034, i16 4032, i16 2394, i16 1257, i16 1321, i16 7919, i16 4029, i16 0, i16 1393, i16 0, i16 7920, i16 0, i16 0, i16 0, i16 875, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7921, i16 0, i16 0, i16 0, i16 238, i16 0, i16 300, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1015, i16 0, i16 11621, i16 2163, i16 6275, i16 0, i16 11622, i16 0, i16 11623, i16 0, i16 11624, i16 0, i16 0, i16 0, i16 11625, i16 0, i16 11626, i16 6276, i16 0, i16 11627, i16 0, i16 6277, i16 11628, i16 0, i16 0, i16 0, i16 11629, i16 0, i16 11630, i16 0, i16 0, i16 7936, i16 1823, i16 4040, i16 0, i16 0, i16 0, i16 0, i16 7937, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7938, i16 4043, i16 0, i16 4048, i16 0, i16 0, i16 0, i16 4046, i16 4045, i16 7939, i16 0, i16 0, i16 8448, i16 8449, i16 0, i16 0, i16 8450, i16 0, i16 8451, i16 0, i16 8455, i16 4317, i16 4314, i16 0, i16 4316, i16 0, i16 3553, i16 8453, i16 4315, i16 0, i16 0, i16 8452, i16 0, i16 0, i16 0, i16 8454, i16 0, i16 0, i16 4305, i16 0, i16 0, i16 8456, i16 0, i16 0, i16 2310, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8927, i16 0, i16 0, i16 4643, i16 8928, i16 0, i16 8929, i16 8930, i16 8931, i16 8932, i16 0, i16 0, i16 0, i16 2725, i16 0, i16 8933, i16 8934, i16 8935, i16 8936, i16 0, i16 8937, i16 0, i16 0, i16 10759, i16 10760, i16 10761, i16 10762, i16 10763, i16 5714, i16 0, i16 0, i16 1368, i16 3077, i16 10764, i16 10765, i16 10766, i16 2420, i16 0, i16 3613, i16 2046, i16 0, i16 0, i16 5762, i16 0, i16 10767, i16 5724, i16 10768, i16 2343, i16 0, i16 5720, i16 5725, i16 5727, i16 0, i16 0, i16 0, i16 6161, i16 11432, i16 11433, i16 11434, i16 11435, i16 11436, i16 11437, i16 11438, i16 0, i16 11439, i16 11440, i16 3498, i16 0, i16 0, i16 11441, i16 0, i16 0, i16 11442, i16 0, i16 11443, i16 0, i16 11444, i16 11445, i16 11446, i16 0, i16 0, i16 0, i16 0, i16 11447, i16 6160, i16 0, i16 0, i16 8998, i16 4677, i16 4676, i16 0, i16 8999, i16 0, i16 0, i16 9000, i16 4644, i16 4678, i16 4666, i16 0, i16 9001, i16 1836, i16 0, i16 9002, i16 0, i16 0, i16 4679, i16 4680, i16 4682, i16 4681, i16 4683, i16 1027, i16 9003, i16 1613, i16 9004, i16 9005, i16 3281, i16 2264, i16 0, i16 0, i16 13103, i16 13104, i16 0, i16 0, i16 0, i16 7071, i16 7072, i16 13105, i16 0, i16 0, i16 0, i16 0, i16 2723, i16 13106, i16 13107, i16 13108, i16 13109, i16 1558, i16 13110, i16 7074, i16 13111, i16 13112, i16 0, i16 13113, i16 13114, i16 13115, i16 0, i16 0, i16 0, i16 13116, i16 0, i16 0, i16 1852, i16 10946, i16 0, i16 1337, i16 2289, i16 3697, i16 3391, i16 5865, i16 2301, i16 10947, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10948, i16 10949, i16 10950, i16 0, i16 1266, i16 5868, i16 10951, i16 0, i16 10952, i16 0, i16 0, i16 0, i16 4159, i16 0, i16 0, i16 8181, i16 8182, i16 0, i16 0, i16 3238, i16 4160, i16 8183, i16 8184, i16 0, i16 0, i16 971, i16 4161, i16 0, i16 8185, i16 8186, i16 8187, i16 3499, i16 1043, i16 0, i16 3939, i16 2007, i16 2468, i16 4162, i16 3452, i16 8189, i16 0, i16 0, i16 0, i16 0, i16 9280, i16 0, i16 0, i16 9281, i16 0, i16 0, i16 0, i16 9282, i16 3515, i16 0, i16 0, i16 0, i16 9283, i16 0, i16 0, i16 0, i16 0, i16 3181, i16 4862, i16 2479, i16 0, i16 9284, i16 0, i16 4868, i16 2374, i16 9285, i16 4859, i16 4872, i16 4871, i16 0, i16 0, i16 0, i16 334, i16 335, i16 0, i16 0, i16 332, i16 333, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5718, i16 5712, i16 0, i16 0, i16 10752, i16 10753, i16 0, i16 0, i16 10754, i16 5716, i16 1963, i16 806, i16 5711, i16 5719, i16 5723, i16 1634, i16 3431, i16 10755, i16 2679, i16 5713, i16 10756, i16 10757, i16 5721, i16 10758, i16 5710, i16 2561, i16 0, i16 5715, i16 774, i16 3419, i16 0, i16 0, i16 9566, i16 0, i16 0, i16 5052, i16 0, i16 9567, i16 2096, i16 0, i16 0, i16 0, i16 3487, i16 0, i16 5049, i16 0, i16 0, i16 9568, i16 9569, i16 5044, i16 9570, i16 5050, i16 9571, i16 9572, i16 9573, i16 3627, i16 0, i16 2802, i16 2847, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3942, i16 7777, i16 3458, i16 0, i16 0, i16 7778, i16 7779, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7780, i16 0, i16 0, i16 0, i16 0, i16 7781, i16 7782, i16 0, i16 3943, i16 0, i16 3615, i16 7783, i16 1589, i16 0, i16 0, i16 7784, i16 0, i16 1519, i16 0, i16 0, i16 9320, i16 0, i16 0, i16 9321, i16 0, i16 4903, i16 4896, i16 0, i16 0, i16 4909, i16 0, i16 4907, i16 9322, i16 9323, i16 0, i16 9324, i16 4902, i16 9325, i16 0, i16 9326, i16 0, i16 0, i16 0, i16 4901, i16 0, i16 2673, i16 0, i16 2412, i16 9327, i16 4899, i16 0, i16 0, i16 12650, i16 12651, i16 0, i16 12652, i16 12653, i16 1557, i16 0, i16 0, i16 12654, i16 6810, i16 12655, i16 0, i16 0, i16 6811, i16 6812, i16 6813, i16 0, i16 6815, i16 6814, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4205, i16 8279, i16 0, i16 8280, i16 3151, i16 8281, i16 0, i16 0, i16 4206, i16 0, i16 4201, i16 8282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8283, i16 0, i16 0, i16 8284, i16 8285, i16 0, i16 0, i16 8286, i16 3404, i16 0, i16 0, i16 2671, i16 2855, i16 880, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2331, i16 9194, i16 0, i16 2269, i16 1413, i16 0, i16 9195, i16 0, i16 0, i16 0, i16 9196, i16 4801, i16 9197, i16 0, i16 0, i16 12666, i16 6821, i16 6820, i16 12667, i16 6822, i16 0, i16 12668, i16 0, i16 0, i16 0, i16 12669, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3085, i16 5822, i16 0, i16 0, i16 2164, i16 0, i16 0, i16 12678, i16 6825, i16 0, i16 3440, i16 0, i16 12679, i16 12680, i16 6826, i16 3531, i16 0, i16 873, i16 0, i16 0, i16 0, i16 1812, i16 12681, i16 6827, i16 1011, i16 6828, i16 12682, i16 12683, i16 12684, i16 6829, i16 0, i16 12685, i16 12686, i16 12687, i16 6831, i16 6832, i16 12688, i16 0, i16 0, i16 7827, i16 0, i16 7828, i16 0, i16 7829, i16 7830, i16 1967, i16 7831, i16 1959, i16 7832, i16 0, i16 7833, i16 7834, i16 0, i16 3977, i16 3975, i16 0, i16 3380, i16 7835, i16 3972, i16 3981, i16 3976, i16 0, i16 0, i16 0, i16 3979, i16 1535, i16 3408, i16 0, i16 7836, i16 0, i16 0, i16 9623, i16 9624, i16 0, i16 0, i16 0, i16 3486, i16 9625, i16 0, i16 0, i16 5081, i16 0, i16 0, i16 5074, i16 2801, i16 0, i16 0, i16 5077, i16 9626, i16 0, i16 0, i16 5083, i16 0, i16 0, i16 0, i16 0, i16 9627, i16 0, i16 9628, i16 3708, i16 1903, i16 0, i16 0, i16 10135, i16 5355, i16 10136, i16 5354, i16 0, i16 0, i16 0, i16 0, i16 0, i16 893, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5363, i16 3073, i16 5357, i16 10137, i16 5359, i16 0, i16 0, i16 5361, i16 2185, i16 10138, i16 0, i16 5362, i16 5360, i16 1905, i16 10139, i16 0, i16 0, i16 7585, i16 3813, i16 7586, i16 3811, i16 7587, i16 2389, i16 7588, i16 7589, i16 0, i16 0, i16 0, i16 3812, i16 3814, i16 7590, i16 0, i16 7591, i16 7603, i16 0, i16 0, i16 3816, i16 7592, i16 0, i16 0, i16 3815, i16 7593, i16 3229, i16 0, i16 0, i16 7594, i16 0, i16 0, i16 0, i16 6307, i16 11695, i16 6305, i16 0, i16 11696, i16 2575, i16 11697, i16 11698, i16 11699, i16 2282, i16 1171, i16 6306, i16 0, i16 2214, i16 0, i16 11700, i16 3607, i16 11701, i16 11702, i16 11703, i16 3691, i16 11704, i16 0, i16 0, i16 6308, i16 6319, i16 2646, i16 11705, i16 6318, i16 11706, i16 0, i16 0, i16 12974, i16 6986, i16 0, i16 0, i16 6987, i16 2843, i16 6984, i16 6983, i16 0, i16 12973, i16 0, i16 0, i16 943, i16 0, i16 0, i16 12975, i16 6995, i16 0, i16 0, i16 6994, i16 0, i16 12976, i16 12977, i16 0, i16 0, i16 924, i16 12978, i16 12979, i16 12980, i16 6992, i16 0, i16 0, i16 1714, i16 0, i16 0, i16 10326, i16 10327, i16 0, i16 0, i16 10328, i16 0, i16 0, i16 5472, i16 10329, i16 10330, i16 0, i16 0, i16 10331, i16 5473, i16 0, i16 1503, i16 1738, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10332, i16 0, i16 0, i16 0, i16 0, i16 9906, i16 0, i16 9907, i16 9908, i16 0, i16 9909, i16 0, i16 0, i16 5255, i16 9910, i16 0, i16 9911, i16 0, i16 0, i16 0, i16 0, i16 9912, i16 9913, i16 0, i16 0, i16 5257, i16 5254, i16 9914, i16 9915, i16 0, i16 3429, i16 5256, i16 5258, i16 9916, i16 3601, i16 0, i16 0, i16 4280, i16 7388, i16 0, i16 0, i16 0, i16 0, i16 7389, i16 7390, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3551, i16 0, i16 2906, i16 7391, i16 7392, i16 0, i16 0, i16 0, i16 7393, i16 0, i16 0, i16 0, i16 0, i16 1126, i16 7394, i16 0, i16 0, i16 9401, i16 9402, i16 3554, i16 4948, i16 9403, i16 9404, i16 0, i16 9405, i16 4900, i16 0, i16 0, i16 0, i16 0, i16 9406, i16 9407, i16 9408, i16 4951, i16 0, i16 0, i16 0, i16 4952, i16 9409, i16 0, i16 0, i16 0, i16 9410, i16 0, i16 860, i16 9411, i16 4954, i16 0, i16 0, i16 2749, i16 6472, i16 0, i16 0, i16 0, i16 0, i16 11939, i16 0, i16 0, i16 6475, i16 0, i16 11946, i16 11940, i16 0, i16 11941, i16 11942, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11943, i16 1893, i16 11944, i16 11945, i16 6474, i16 6473, i16 1461, i16 6476, i16 0, i16 0, i16 0, i16 9917, i16 0, i16 9918, i16 5262, i16 0, i16 9919, i16 9920, i16 5261, i16 2617, i16 2920, i16 9921, i16 0, i16 1502, i16 5260, i16 0, i16 9922, i16 9923, i16 0, i16 5259, i16 9924, i16 3488, i16 3489, i16 0, i16 0, i16 9925, i16 9926, i16 0, i16 9927, i16 5263, i16 917, i16 0, i16 0, i16 5579, i16 0, i16 5592, i16 0, i16 5582, i16 10551, i16 1287, i16 0, i16 5581, i16 5594, i16 0, i16 0, i16 0, i16 5580, i16 0, i16 2109, i16 0, i16 0, i16 10552, i16 0, i16 0, i16 0, i16 5584, i16 5585, i16 0, i16 2730, i16 0, i16 0, i16 5586, i16 10553, i16 0, i16 0, i16 7119, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 360, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6868, i16 0, i16 0, i16 0, i16 0, i16 12737, i16 0, i16 0, i16 12738, i16 12739, i16 12740, i16 6859, i16 6860, i16 0, i16 12741, i16 6861, i16 6862, i16 0, i16 12742, i16 12743, i16 0, i16 0, i16 6864, i16 12744, i16 0, i16 6863, i16 0, i16 12745, i16 12746, i16 2024, i16 0, i16 0, i16 4310, i16 8439, i16 8440, i16 0, i16 8441, i16 8442, i16 0, i16 3277, i16 0, i16 8438, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8443, i16 0, i16 0, i16 8444, i16 0, i16 0, i16 0, i16 0, i16 8445, i16 0, i16 0, i16 0, i16 8446, i16 0, i16 8447, i16 0, i16 0, i16 2523, i16 0, i16 10008, i16 5286, i16 10009, i16 0, i16 10010, i16 10011, i16 10012, i16 10013, i16 10014, i16 10015, i16 10016, i16 10017, i16 10018, i16 10019, i16 5288, i16 3619, i16 1364, i16 3093, i16 2949, i16 0, i16 0, i16 10020, i16 5289, i16 0, i16 0, i16 0, i16 0, i16 5291, i16 0, i16 0, i16 6368, i16 0, i16 0, i16 6370, i16 11784, i16 11785, i16 0, i16 6369, i16 6371, i16 11786, i16 3321, i16 6372, i16 6373, i16 0, i16 11787, i16 0, i16 11788, i16 11789, i16 6374, i16 0, i16 0, i16 0, i16 6376, i16 11790, i16 0, i16 11791, i16 11792, i16 1040, i16 2696, i16 0, i16 0, i16 0, i16 7648, i16 0, i16 2257, i16 3861, i16 2025, i16 0, i16 7649, i16 3862, i16 0, i16 2623, i16 3596, i16 2783, i16 0, i16 7650, i16 0, i16 7651, i16 7652, i16 7653, i16 0, i16 7654, i16 3935, i16 0, i16 7655, i16 0, i16 0, i16 3863, i16 7099, i16 1346, i16 7656, i16 0, i16 0, i16 0, i16 6882, i16 0, i16 6884, i16 6883, i16 0, i16 0, i16 0, i16 6885, i16 6887, i16 6886, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 745, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 735, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8685, i16 0, i16 8686, i16 2141, i16 4477, i16 2868, i16 8687, i16 8688, i16 8689, i16 8690, i16 0, i16 0, i16 8691, i16 8692, i16 0, i16 3698, i16 0, i16 4473, i16 8693, i16 8694, i16 0, i16 0, i16 4479, i16 8695, i16 1682, i16 8696, i16 2292, i16 8697, i16 8698, i16 797, i16 0, i16 0, i16 4592, i16 0, i16 8825, i16 2551, i16 4586, i16 4593, i16 4588, i16 4595, i16 4591, i16 0, i16 4590, i16 2986, i16 8826, i16 4584, i16 1026, i16 4582, i16 1296, i16 2520, i16 4578, i16 8827, i16 8828, i16 4581, i16 1611, i16 2308, i16 8829, i16 2084, i16 4589, i16 2957, i16 0, i16 0, i16 0, i16 0, i16 1265, i16 2324, i16 1901, i16 3479, i16 4245, i16 0, i16 8355, i16 8356, i16 0, i16 0, i16 8357, i16 8358, i16 1275, i16 8359, i16 1728, i16 8360, i16 8361, i16 1045, i16 906, i16 2073, i16 973, i16 8362, i16 4246, i16 3509, i16 8363, i16 0, i16 8364, i16 0, i16 0, i16 2008, i16 0, i16 0, i16 3570, i16 2894, i16 0, i16 0, i16 0, i16 0, i16 850, i16 12532, i16 2316, i16 1895, i16 0, i16 0, i16 0, i16 12533, i16 3212, i16 12534, i16 871, i16 0, i16 0, i16 0, i16 3642, i16 3546, i16 0, i16 6745, i16 12535, i16 2756, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7672, i16 0, i16 3030, i16 3233, i16 0, i16 3875, i16 7673, i16 3559, i16 3876, i16 0, i16 0, i16 0, i16 3877, i16 0, i16 2813, i16 7674, i16 7675, i16 3878, i16 0, i16 7676, i16 2258, i16 1779, i16 1487, i16 3879, i16 1820, i16 1670, i16 7677, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3834, i16 0, i16 7631, i16 2907, i16 7632, i16 0, i16 2363, i16 3836, i16 3837, i16 3013, i16 1585, i16 3686, i16 3838, i16 0, i16 0, i16 1315, i16 0, i16 0, i16 0, i16 3217, i16 2459, i16 1390, i16 2740, i16 0, i16 0, i16 0, i16 1486, i16 0, i16 7633, i16 0, i16 0, i16 0, i16 13052, i16 0, i16 0, i16 0, i16 0, i16 13053, i16 0, i16 0, i16 13051, i16 0, i16 0, i16 0, i16 13054, i16 0, i16 13055, i16 13056, i16 13057, i16 0, i16 0, i16 13058, i16 13059, i16 0, i16 0, i16 13060, i16 7032, i16 7033, i16 13061, i16 13062, i16 7034, i16 0, i16 0, i16 0, i16 9469, i16 0, i16 9470, i16 9471, i16 0, i16 0, i16 4997, i16 9472, i16 0, i16 0, i16 0, i16 9473, i16 9474, i16 1844, i16 9475, i16 3394, i16 9476, i16 4998, i16 4999, i16 0, i16 0, i16 1219, i16 0, i16 9477, i16 0, i16 5000, i16 0, i16 0, i16 0, i16 9478, i16 0, i16 2304, i16 0, i16 6423, i16 11858, i16 11859, i16 0, i16 11860, i16 1554, i16 0, i16 6420, i16 6421, i16 11861, i16 0, i16 0, i16 3668, i16 11862, i16 11864, i16 11865, i16 2648, i16 11866, i16 2352, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6424, i16 11867, i16 0, i16 6427, i16 0, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 0, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 520, i16 521, i16 522, i16 523, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 0, i16 1028, i16 1703, i16 6923, i16 6922, i16 3382, i16 0, i16 0, i16 12844, i16 0, i16 0, i16 12845, i16 12846, i16 6925, i16 6926, i16 6924, i16 0, i16 6927, i16 0, i16 0, i16 3349, i16 12847, i16 12848, i16 12849, i16 6928, i16 0, i16 1306, i16 12850, i16 0, i16 0, i16 12851, i16 0, i16 0, i16 6661, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6659, i16 0, i16 0, i16 12412, i16 12413, i16 0, i16 12414, i16 12415, i16 12416, i16 12417, i16 6660, i16 6658, i16 0, i16 2525, i16 0, i16 6662, i16 12418, i16 0, i16 12420, i16 0, i16 12419, i16 0, i16 12549, i16 6764, i16 12550, i16 6761, i16 0, i16 6762, i16 0, i16 6763, i16 6765, i16 12551, i16 0, i16 0, i16 0, i16 12552, i16 12553, i16 0, i16 0, i16 2285, i16 0, i16 0, i16 12554, i16 3464, i16 12555, i16 12556, i16 2286, i16 12557, i16 12558, i16 6766, i16 0, i16 3084, i16 0, i16 0, i16 6663, i16 0, i16 12421, i16 6665, i16 12422, i16 0, i16 0, i16 12423, i16 0, i16 12424, i16 0, i16 12425, i16 0, i16 0, i16 0, i16 0, i16 1174, i16 6664, i16 3467, i16 0, i16 12426, i16 0, i16 0, i16 0, i16 12427, i16 6676, i16 6666, i16 12428, i16 0, i16 6669, i16 12429, i16 0, i16 4105, i16 8057, i16 0, i16 1690, i16 8058, i16 2550, i16 8059, i16 8060, i16 4102, i16 2683, i16 8061, i16 0, i16 8062, i16 8063, i16 8064, i16 8065, i16 8066, i16 0, i16 8067, i16 8068, i16 8069, i16 0, i16 8070, i16 0, i16 8071, i16 8072, i16 8073, i16 8074, i16 0, i16 8075, i16 4106, i16 0, i16 6409, i16 11827, i16 0, i16 11828, i16 2647, i16 0, i16 0, i16 11829, i16 0, i16 898, i16 0, i16 0, i16 11830, i16 0, i16 0, i16 11831, i16 11832, i16 0, i16 0, i16 0, i16 11833, i16 0, i16 0, i16 0, i16 6410, i16 0, i16 0, i16 0, i16 0, i16 11834, i16 11835, i16 0, i16 3338, i16 2521, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3370, i16 0, i16 0, i16 5024, i16 0, i16 9517, i16 5025, i16 9518, i16 980, i16 9519, i16 0, i16 0, i16 0, i16 3197, i16 3470, i16 5027, i16 1876, i16 2095, i16 5020, i16 5026, i16 911, i16 0, i16 3595, i16 0, i16 7373, i16 7374, i16 0, i16 3223, i16 0, i16 7375, i16 0, i16 3714, i16 7376, i16 0, i16 2601, i16 7377, i16 7378, i16 7379, i16 3715, i16 1399, i16 0, i16 0, i16 7380, i16 3716, i16 0, i16 1182, i16 2547, i16 0, i16 1944, i16 3717, i16 0, i16 0, i16 3718, i16 0, i16 4364, i16 4365, i16 2956, i16 0, i16 0, i16 8542, i16 0, i16 4366, i16 3652, i16 3672, i16 8544, i16 8543, i16 0, i16 8545, i16 4368, i16 4367, i16 8546, i16 8547, i16 1066, i16 8548, i16 8549, i16 4369, i16 0, i16 0, i16 0, i16 4372, i16 4373, i16 8550, i16 4371, i16 8551, i16 3127, i16 0, i16 1549, i16 1851, i16 0, i16 0, i16 3079, i16 10923, i16 10924, i16 0, i16 1507, i16 3318, i16 10925, i16 5857, i16 5855, i16 0, i16 1637, i16 0, i16 1638, i16 818, i16 0, i16 1757, i16 0, i16 0, i16 0, i16 10926, i16 10927, i16 2964, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3599, i16 9227, i16 4820, i16 9228, i16 2970, i16 9229, i16 0, i16 9230, i16 0, i16 0, i16 0, i16 0, i16 4828, i16 0, i16 4815, i16 0, i16 0, i16 0, i16 765, i16 4817, i16 0, i16 9231, i16 1619, i16 9232, i16 0, i16 9233, i16 4819, i16 9234, i16 4818, i16 0, i16 4814, i16 0, i16 4879, i16 0, i16 4887, i16 0, i16 9315, i16 0, i16 7096, i16 9316, i16 0, i16 4884, i16 1620, i16 2665, i16 2411, i16 4882, i16 0, i16 4877, i16 9317, i16 0, i16 4880, i16 0, i16 0, i16 9318, i16 9319, i16 3516, i16 3357, i16 0, i16 0, i16 0, i16 4885, i16 4895, i16 0, i16 0, i16 11023, i16 11024, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11025, i16 5925, i16 1641, i16 5926, i16 3045, i16 0, i16 5940, i16 0, i16 0, i16 0, i16 11026, i16 5928, i16 11027, i16 2478, i16 2992, i16 1528, i16 5927, i16 2348, i16 11028, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5395, i16 5396, i16 0, i16 10200, i16 10201, i16 0, i16 5400, i16 5397, i16 5398, i16 5399, i16 0, i16 5401, i16 10202, i16 10203, i16 10204, i16 5402, i16 10205, i16 5403, i16 0, i16 10206, i16 0, i16 5404, i16 0, i16 5405, i16 0, i16 3016, i16 2767, i16 5406, i16 2989, i16 3115, i16 0, i16 0, i16 8468, i16 4323, i16 8469, i16 4322, i16 0, i16 0, i16 4321, i16 8470, i16 0, i16 8471, i16 2791, i16 4300, i16 0, i16 0, i16 0, i16 4329, i16 0, i16 8472, i16 8473, i16 8474, i16 8475, i16 0, i16 0, i16 0, i16 8476, i16 0, i16 8477, i16 0, i16 4325, i16 0, i16 8478, i16 0, i16 6679, i16 0, i16 12440, i16 12439, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1304, i16 3121, i16 0, i16 9655, i16 0, i16 1904, i16 0, i16 9656, i16 1678, i16 9657, i16 0, i16 9658, i16 9659, i16 0, i16 3678, i16 0, i16 5110, i16 0, i16 5122, i16 912, i16 2413, i16 9660, i16 0, i16 9661, i16 0, i16 9662, i16 9663, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8729, i16 4504, i16 0, i16 4505, i16 8730, i16 8731, i16 4494, i16 1871, i16 8732, i16 4498, i16 2491, i16 1609, i16 4480, i16 2176, i16 0, i16 0, i16 0, i16 0, i16 4518, i16 0, i16 3262, i16 0, i16 0, i16 4508, i16 4509, i16 4510, i16 0, i16 0, i16 4517, i16 8733, i16 4516, i16 0, i16 9757, i16 0, i16 0, i16 0, i16 9758, i16 9759, i16 0, i16 0, i16 3666, i16 2225, i16 0, i16 0, i16 0, i16 913, i16 0, i16 0, i16 0, i16 5174, i16 0, i16 9760, i16 9761, i16 9762, i16 9763, i16 9764, i16 5173, i16 0, i16 9765, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7458, i16 7459, i16 1127, i16 7460, i16 7461, i16 3762, i16 0, i16 3754, i16 7462, i16 7463, i16 3632, i16 7464, i16 1867, i16 7465, i16 3755, i16 7466, i16 3760, i16 7467, i16 7468, i16 7469, i16 0, i16 3763, i16 7470, i16 3756, i16 7471, i16 7472, i16 1310, i16 0, i16 790, i16 7473, i16 7474, i16 0, i16 11555, i16 6226, i16 0, i16 6231, i16 0, i16 11556, i16 3192, i16 0, i16 0, i16 6233, i16 0, i16 6232, i16 11557, i16 11558, i16 11559, i16 1103, i16 0, i16 3294, i16 6234, i16 0, i16 11560, i16 11561, i16 0, i16 11562, i16 11563, i16 11564, i16 0, i16 11565, i16 6246, i16 6236, i16 0, i16 0, i16 1572, i16 0, i16 0, i16 0, i16 0, i16 5480, i16 2711, i16 0, i16 0, i16 10359, i16 0, i16 5483, i16 1050, i16 5478, i16 10360, i16 0, i16 3075, i16 0, i16 855, i16 10361, i16 1761, i16 0, i16 3709, i16 10362, i16 0, i16 5482, i16 0, i16 0, i16 10364, i16 10365, i16 10366, i16 0, i16 6950, i16 6947, i16 6946, i16 6948, i16 12905, i16 0, i16 12906, i16 1466, i16 0, i16 12907, i16 12908, i16 0, i16 0, i16 0, i16 12909, i16 6954, i16 6953, i16 6952, i16 12910, i16 0, i16 764, i16 0, i16 12911, i16 12912, i16 12913, i16 12914, i16 0, i16 0, i16 12915, i16 0, i16 12916, i16 0, i16 2856, i16 4921, i16 0, i16 9357, i16 0, i16 4923, i16 9358, i16 0, i16 0, i16 9359, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9360, i16 4917, i16 9361, i16 0, i16 0, i16 0, i16 0, i16 4919, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9362, i16 1091, i16 0, i16 11816, i16 0, i16 11817, i16 6393, i16 6394, i16 0, i16 6396, i16 2440, i16 11818, i16 6395, i16 1191, i16 0, i16 6398, i16 0, i16 6397, i16 6399, i16 0, i16 11819, i16 6401, i16 6403, i16 0, i16 6404, i16 11820, i16 0, i16 0, i16 0, i16 11821, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6188, i16 6187, i16 6118, i16 0, i16 0, i16 0, i16 6192, i16 11497, i16 0, i16 0, i16 0, i16 0, i16 11498, i16 11499, i16 0, i16 11500, i16 6189, i16 11501, i16 0, i16 0, i16 11502, i16 6190, i16 0, i16 0, i16 6191, i16 11503, i16 6193, i16 11504, i16 0, i16 0, i16 0, i16 0, i16 8237, i16 0, i16 8238, i16 8239, i16 0, i16 4188, i16 0, i16 8240, i16 1827, i16 8241, i16 1826, i16 0, i16 8242, i16 0, i16 0, i16 770, i16 1537, i16 8243, i16 2260, i16 794, i16 0, i16 0, i16 0, i16 0, i16 4192, i16 4193, i16 0, i16 4190, i16 8244, i16 8245, i16 8246, i16 0, i16 4912, i16 4937, i16 4936, i16 0, i16 0, i16 9383, i16 0, i16 9385, i16 9384, i16 0, i16 0, i16 9386, i16 0, i16 0, i16 0, i16 9387, i16 4942, i16 0, i16 3665, i16 9388, i16 9389, i16 9390, i16 0, i16 0, i16 0, i16 4945, i16 1400, i16 9391, i16 9392, i16 4941, i16 4943, i16 0, i16 12592, i16 0, i16 6789, i16 12593, i16 12594, i16 6790, i16 12595, i16 6791, i16 12596, i16 12597, i16 6792, i16 12598, i16 12599, i16 12600, i16 0, i16 12601, i16 12602, i16 0, i16 1179, i16 12603, i16 0, i16 0, i16 12604, i16 12605, i16 12606, i16 0, i16 12610, i16 6793, i16 12607, i16 12608, i16 0, i16 0, i16 819, i16 0, i16 12066, i16 12067, i16 12068, i16 0, i16 12069, i16 12070, i16 0, i16 1648, i16 0, i16 12064, i16 0, i16 3685, i16 0, i16 0, i16 0, i16 12079, i16 0, i16 0, i16 12071, i16 0, i16 12072, i16 12073, i16 12074, i16 0, i16 6560, i16 12075, i16 12076, i16 0, i16 12077, i16 0, i16 6451, i16 11911, i16 11912, i16 6454, i16 6453, i16 0, i16 6452, i16 0, i16 11913, i16 6456, i16 6455, i16 0, i16 3463, i16 0, i16 0, i16 11914, i16 6458, i16 11915, i16 6457, i16 6459, i16 11916, i16 0, i16 0, i16 0, i16 6460, i16 11917, i16 11918, i16 0, i16 11919, i16 11920, i16 0, i16 0, i16 1332, i16 9520, i16 0, i16 5017, i16 5022, i16 9521, i16 0, i16 0, i16 2333, i16 2988, i16 0, i16 3072, i16 9522, i16 0, i16 9523, i16 9524, i16 9525, i16 9526, i16 5019, i16 9527, i16 3284, i16 9528, i16 5021, i16 0, i16 5030, i16 9529, i16 5028, i16 9530, i16 5023, i16 0, i16 0, i16 0, i16 6708, i16 12480, i16 0, i16 12481, i16 12482, i16 12483, i16 0, i16 6709, i16 0, i16 1754, i16 0, i16 12484, i16 0, i16 6710, i16 6711, i16 0, i16 12485, i16 3324, i16 12486, i16 0, i16 0, i16 0, i16 12487, i16 12488, i16 12489, i16 12490, i16 2386, i16 12491, i16 12492, i16 0, i16 749, i16 0, i16 12852, i16 0, i16 12853, i16 0, i16 12854, i16 12855, i16 0, i16 12856, i16 0, i16 12857, i16 12858, i16 12859, i16 12860, i16 12861, i16 3664, i16 0, i16 0, i16 0, i16 12862, i16 6929, i16 12863, i16 0, i16 12864, i16 12865, i16 12866, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12867, i16 0, i16 10805, i16 10806, i16 0, i16 0, i16 10807, i16 5742, i16 5750, i16 0, i16 5758, i16 5757, i16 10808, i16 0, i16 3373, i16 10809, i16 10810, i16 1414, i16 0, i16 0, i16 10811, i16 0, i16 0, i16 0, i16 0, i16 10812, i16 5756, i16 0, i16 5760, i16 5759, i16 5763, i16 10813, i16 5765, i16 0, i16 2872, i16 2230, i16 12031, i16 12032, i16 2588, i16 0, i16 1397, i16 0, i16 6536, i16 3494, i16 870, i16 12033, i16 3244, i16 998, i16 6531, i16 6532, i16 6533, i16 6534, i16 2840, i16 2534, i16 812, i16 6538, i16 0, i16 6539, i16 7097, i16 0, i16 12034, i16 2466, i16 12035, i16 6540, i16 0, i16 0, i16 6969, i16 12928, i16 12929, i16 6968, i16 6967, i16 12930, i16 12931, i16 12932, i16 12933, i16 12934, i16 0, i16 0, i16 3136, i16 6965, i16 828, i16 6970, i16 12935, i16 6972, i16 0, i16 0, i16 12936, i16 12937, i16 12938, i16 0, i16 1106, i16 6951, i16 862, i16 0, i16 12939, i16 6974, i16 0, i16 0, i16 9018, i16 4694, i16 4695, i16 0, i16 9019, i16 0, i16 3213, i16 4241, i16 2287, i16 9020, i16 0, i16 3139, i16 0, i16 1741, i16 0, i16 3070, i16 3036, i16 9021, i16 0, i16 0, i16 9022, i16 0, i16 2764, i16 9023, i16 3598, i16 0, i16 4697, i16 1921, i16 9024, i16 0, i16 4698, i16 0, i16 1341, i16 12391, i16 0, i16 6651, i16 6645, i16 12392, i16 12393, i16 6644, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12395, i16 12396, i16 12394, i16 12397, i16 12398, i16 0, i16 12399, i16 0, i16 0, i16 0, i16 6462, i16 11921, i16 0, i16 0, i16 0, i16 0, i16 11922, i16 0, i16 11923, i16 6461, i16 2195, i16 6463, i16 11924, i16 11925, i16 1386, i16 6464, i16 6466, i16 0, i16 11926, i16 0, i16 11927, i16 0, i16 0, i16 0, i16 0, i16 11928, i16 11929, i16 0, i16 0, i16 6467, i16 0, i16 0, i16 10814, i16 1807, i16 5761, i16 0, i16 0, i16 10815, i16 10816, i16 5766, i16 5767, i16 10817, i16 0, i16 5768, i16 10818, i16 5774, i16 2746, i16 5770, i16 10819, i16 5769, i16 5771, i16 5772, i16 10820, i16 5773, i16 0, i16 10821, i16 0, i16 10822, i16 5775, i16 5776, i16 10823, i16 10824, i16 0, i16 0, i16 11328, i16 6096, i16 0, i16 0, i16 0, i16 0, i16 11329, i16 0, i16 11330, i16 0, i16 0, i16 0, i16 3557, i16 0, i16 5430, i16 6098, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11331, i16 0, i16 11332, i16 0, i16 11333, i16 0, i16 11334, i16 11335, i16 0, i16 6099, i16 0, i16 8772, i16 8773, i16 4542, i16 0, i16 8776, i16 4541, i16 8774, i16 0, i16 8775, i16 0, i16 0, i16 8777, i16 8778, i16 0, i16 8779, i16 0, i16 0, i16 2633, i16 0, i16 4545, i16 0, i16 4543, i16 4533, i16 1495, i16 0, i16 4544, i16 0, i16 4548, i16 4547, i16 4549, i16 4546, i16 0, i16 9798, i16 0, i16 0, i16 0, i16 9799, i16 9800, i16 9801, i16 0, i16 3656, i16 9802, i16 9803, i16 5194, i16 0, i16 2338, i16 0, i16 9804, i16 0, i16 9805, i16 0, i16 0, i16 5190, i16 5195, i16 9806, i16 0, i16 915, i16 9807, i16 0, i16 9808, i16 0, i16 9809, i16 0, i16 0, i16 2122, i16 6364, i16 11773, i16 11774, i16 0, i16 11775, i16 0, i16 11776, i16 11777, i16 1666, i16 3724, i16 6365, i16 11778, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11779, i16 0, i16 11780, i16 11781, i16 0, i16 6366, i16 3126, i16 6367, i16 11782, i16 6375, i16 0, i16 11783, i16 0, i16 0, i16 1355, i16 1412, i16 5657, i16 0, i16 0, i16 10668, i16 10669, i16 0, i16 3209, i16 0, i16 2227, i16 0, i16 3393, i16 0, i16 10670, i16 5658, i16 0, i16 3584, i16 0, i16 10671, i16 2991, i16 0, i16 2381, i16 2927, i16 0, i16 0, i16 2012, i16 0, i16 0, i16 10672, i16 777, i16 0, i16 13131, i16 0, i16 13132, i16 13133, i16 13134, i16 13135, i16 13136, i16 0, i16 0, i16 7078, i16 5519, i16 0, i16 0, i16 6400, i16 6795, i16 0, i16 0, i16 7079, i16 13137, i16 7080, i16 13138, i16 13139, i16 13140, i16 13141, i16 0, i16 13142, i16 0, i16 0, i16 13143, i16 13144, i16 7082, i16 0, i16 12365, i16 0, i16 12366, i16 12367, i16 0, i16 12368, i16 1054, i16 12369, i16 12375, i16 0, i16 12370, i16 6638, i16 6639, i16 2660, i16 0, i16 6637, i16 0, i16 0, i16 0, i16 12371, i16 12372, i16 12373, i16 0, i16 0, i16 6641, i16 12374, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1872, i16 4600, i16 8835, i16 8836, i16 0, i16 0, i16 1835, i16 4601, i16 781, i16 8837, i16 8838, i16 4596, i16 8839, i16 0, i16 0, i16 8840, i16 2634, i16 0, i16 8841, i16 0, i16 0, i16 8842, i16 0, i16 8843, i16 1298, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1329, i16 0, i16 1618, i16 1119, i16 0, i16 0, i16 0, i16 0, i16 9199, i16 9198, i16 4803, i16 1111, i16 4809, i16 9200, i16 9201, i16 0, i16 9202, i16 9203, i16 9204, i16 4806, i16 9205, i16 2332, i16 0, i16 0, i16 0, i16 1070, i16 1697, i16 0, i16 9206, i16 1069, i16 1732, i16 0, i16 9207, i16 0, i16 6996, i16 12990, i16 12991, i16 6993, i16 12988, i16 6999, i16 12992, i16 7000, i16 0, i16 12993, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7005, i16 7004, i16 0, i16 12994, i16 12995, i16 0, i16 0, i16 0, i16 0, i16 7006, i16 0, i16 0, i16 852, i16 7001, i16 7002, i16 12996, i16 0, i16 4182, i16 2908, i16 3063, i16 3426, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2912, i16 8220, i16 8221, i16 4191, i16 8222, i16 0, i16 0, i16 0, i16 8223, i16 1239, i16 0, i16 8224, i16 3508, i16 8225, i16 0, i16 3392, i16 0, i16 4286, i16 0, i16 4183, i16 0, i16 8226, i16 0, i16 1880, i16 0, i16 0, i16 0, i16 5494, i16 5489, i16 10378, i16 10379, i16 10380, i16 5495, i16 5490, i16 10381, i16 0, i16 10382, i16 0, i16 3057, i16 5488, i16 10383, i16 10384, i16 5491, i16 10385, i16 10386, i16 0, i16 0, i16 0, i16 5498, i16 10388, i16 0, i16 0, i16 0, i16 10389, i16 0, i16 9560, i16 0, i16 5043, i16 5045, i16 9561, i16 865, i16 9562, i16 0, i16 1623, i16 3677, i16 0, i16 1056, i16 0, i16 3161, i16 9563, i16 9564, i16 0, i16 0, i16 0, i16 3536, i16 0, i16 0, i16 1031, i16 2182, i16 5047, i16 0, i16 0, i16 9565, i16 0, i16 0, i16 0, i16 0, i16 12376, i16 0, i16 6647, i16 12377, i16 12378, i16 12379, i16 12380, i16 6650, i16 12381, i16 12382, i16 12383, i16 12384, i16 12385, i16 0, i16 0, i16 6649, i16 2732, i16 0, i16 12386, i16 0, i16 0, i16 6642, i16 6643, i16 6646, i16 12387, i16 0, i16 0, i16 12388, i16 6648, i16 12389, i16 12390, i16 0, i16 11868, i16 0, i16 0, i16 11869, i16 11870, i16 11871, i16 0, i16 6425, i16 6426, i16 3528, i16 11872, i16 0, i16 0, i16 0, i16 2820, i16 6430, i16 11873, i16 0, i16 0, i16 11874, i16 0, i16 11875, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6428, i16 6429, i16 6431, i16 0, i16 12126, i16 2216, i16 6569, i16 12127, i16 6570, i16 0, i16 12128, i16 0, i16 6571, i16 3550, i16 0, i16 1990, i16 12129, i16 0, i16 0, i16 0, i16 0, i16 6573, i16 6572, i16 12130, i16 1649, i16 0, i16 1674, i16 1811, i16 12131, i16 12132, i16 12133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4703, i16 9033, i16 4701, i16 4704, i16 3590, i16 4702, i16 0, i16 9034, i16 9035, i16 0, i16 2340, i16 4705, i16 0, i16 9036, i16 2455, i16 9037, i16 0, i16 4706, i16 0, i16 9038, i16 0, i16 9039, i16 1211, i16 9040, i16 4708, i16 0, i16 4707, i16 0, i16 0, i16 0, i16 9041, i16 0, i16 11104, i16 11105, i16 5986, i16 0, i16 0, i16 0, i16 0, i16 826, i16 0, i16 0, i16 5977, i16 11106, i16 11107, i16 11108, i16 5976, i16 11109, i16 5971, i16 5970, i16 11110, i16 5968, i16 5967, i16 2598, i16 11111, i16 2528, i16 5973, i16 11112, i16 0, i16 11113, i16 11114, i16 0, i16 0, i16 0, i16 11364, i16 0, i16 6107, i16 2941, i16 0, i16 11365, i16 11366, i16 11367, i16 6108, i16 6109, i16 6119, i16 0, i16 11368, i16 0, i16 6113, i16 6116, i16 11369, i16 0, i16 11370, i16 11371, i16 11372, i16 6112, i16 11373, i16 11374, i16 11375, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11376, i16 0, i16 12134, i16 6576, i16 12135, i16 0, i16 12136, i16 12137, i16 2037, i16 0, i16 6575, i16 12138, i16 6574, i16 0, i16 2510, i16 12139, i16 0, i16 1576, i16 12140, i16 2284, i16 12141, i16 12142, i16 12143, i16 0, i16 3017, i16 12144, i16 0, i16 0, i16 0, i16 1992, i16 0, i16 12145, i16 0, i16 0, i16 4458, i16 8665, i16 4461, i16 4463, i16 0, i16 8666, i16 0, i16 8667, i16 1902, i16 8668, i16 4469, i16 2705, i16 4459, i16 8669, i16 0, i16 0, i16 8670, i16 4467, i16 8671, i16 1022, i16 8672, i16 4465, i16 4466, i16 8673, i16 0, i16 4462, i16 4464, i16 0, i16 8674, i16 8675, i16 1568, i16 0, i16 7018, i16 7024, i16 13030, i16 7017, i16 0, i16 7022, i16 13031, i16 0, i16 13032, i16 13033, i16 0, i16 0, i16 0, i16 0, i16 7023, i16 0, i16 0, i16 0, i16 7026, i16 13034, i16 13035, i16 13036, i16 13037, i16 0, i16 7025, i16 13038, i16 0, i16 0, i16 0, i16 13039, i16 13040, i16 0, i16 10858, i16 10859, i16 5804, i16 1421, i16 0, i16 10860, i16 0, i16 2345, i16 1248, i16 10861, i16 0, i16 0, i16 10862, i16 5808, i16 5805, i16 0, i16 0, i16 5806, i16 0, i16 10863, i16 0, i16 5809, i16 0, i16 5810, i16 5807, i16 0, i16 0, i16 10864, i16 848, i16 0, i16 10865, i16 0, i16 3180, i16 2325, i16 0, i16 1918, i16 4261, i16 2074, i16 4262, i16 4263, i16 796, i16 2463, i16 2205, i16 8379, i16 4264, i16 2832, i16 2075, i16 0, i16 2076, i16 0, i16 4265, i16 0, i16 0, i16 2326, i16 8380, i16 0, i16 0, i16 2077, i16 0, i16 0, i16 0, i16 8381, i16 8382, i16 0, i16 12400, i16 12401, i16 6655, i16 12402, i16 0, i16 0, i16 6656, i16 12403, i16 12404, i16 0, i16 0, i16 0, i16 12405, i16 12406, i16 12407, i16 6657, i16 0, i16 0, i16 6654, i16 6653, i16 12408, i16 12409, i16 12410, i16 2127, i16 2823, i16 6652, i16 0, i16 0, i16 0, i16 0, i16 12411, i16 0, i16 8562, i16 8563, i16 8564, i16 8565, i16 3456, i16 1522, i16 1541, i16 8566, i16 4392, i16 0, i16 8567, i16 8568, i16 4393, i16 8569, i16 4399, i16 8570, i16 1942, i16 0, i16 0, i16 8571, i16 2630, i16 8572, i16 1324, i16 4394, i16 0, i16 0, i16 8573, i16 3106, i16 8574, i16 2569, i16 8575, i16 0, i16 12146, i16 6577, i16 0, i16 2124, i16 0, i16 12147, i16 0, i16 12148, i16 0, i16 6580, i16 6578, i16 12149, i16 12150, i16 12151, i16 6579, i16 12152, i16 12153, i16 12154, i16 12155, i16 6582, i16 6581, i16 12156, i16 0, i16 2151, i16 0, i16 6583, i16 12157, i16 12158, i16 12159, i16 0, i16 12160, i16 0, i16 3960, i16 7810, i16 1256, i16 1065, i16 0, i16 0, i16 0, i16 1662, i16 1255, i16 2688, i16 844, i16 2830, i16 3407, i16 1592, i16 3560, i16 2758, i16 1591, i16 0, i16 7811, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7812, i16 1418, i16 0, i16 3969, i16 0, i16 1376, i16 0, i16 3705, i16 11299, i16 0, i16 0, i16 0, i16 0, i16 11300, i16 0, i16 6080, i16 11301, i16 11302, i16 0, i16 3556, i16 11303, i16 6082, i16 6084, i16 0, i16 0, i16 0, i16 0, i16 6085, i16 0, i16 0, i16 11305, i16 0, i16 11306, i16 0, i16 6088, i16 6086, i16 0, i16 11307, i16 0, i16 10363, i16 0, i16 5484, i16 10367, i16 0, i16 0, i16 3232, i16 10368, i16 2306, i16 5486, i16 0, i16 10369, i16 10370, i16 0, i16 5487, i16 10371, i16 10372, i16 10373, i16 10374, i16 0, i16 5485, i16 0, i16 0, i16 0, i16 0, i16 1073, i16 10375, i16 5493, i16 10376, i16 5492, i16 10377, i16 0, i16 12670, i16 1233, i16 12671, i16 0, i16 12672, i16 12673, i16 12674, i16 0, i16 6823, i16 12675, i16 6824, i16 0, i16 3910, i16 4959, i16 3052, i16 0, i16 0, i16 836, i16 12676, i16 772, i16 0, i16 12677, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1863, i16 3299, i16 2155, i16 0, i16 0, i16 1408, i16 6500, i16 6501, i16 6502, i16 11984, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8328, i16 2139, i16 0, i16 0, i16 8329, i16 0, i16 0, i16 0, i16 0, i16 4225, i16 0, i16 2685, i16 8330, i16 0, i16 0, i16 876, i16 0, i16 4223, i16 0, i16 8324, i16 0, i16 4226, i16 0, i16 8331, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4227, i16 0, i16 0, i16 4489, i16 8720, i16 0, i16 0, i16 0, i16 0, i16 4497, i16 4496, i16 0, i16 8721, i16 8722, i16 4501, i16 0, i16 0, i16 0, i16 8723, i16 8724, i16 0, i16 0, i16 4502, i16 8725, i16 8726, i16 8727, i16 0, i16 8728, i16 0, i16 0, i16 4500, i16 4503, i16 4495, i16 4499, i16 0, i16 8076, i16 2221, i16 8077, i16 0, i16 0, i16 0, i16 0, i16 4104, i16 4107, i16 0, i16 1434, i16 8078, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4108, i16 8079, i16 8088, i16 0, i16 8080, i16 0, i16 8081, i16 8082, i16 0, i16 8083, i16 8084, i16 8085, i16 8086, i16 0, i16 12940, i16 0, i16 12941, i16 12942, i16 12943, i16 6973, i16 6971, i16 2544, i16 12944, i16 12945, i16 0, i16 0, i16 0, i16 12946, i16 12947, i16 12948, i16 0, i16 3363, i16 12949, i16 12950, i16 0, i16 12951, i16 3623, i16 12952, i16 0, i16 6975, i16 12953, i16 12960, i16 12954, i16 12955, i16 12956, i16 0, i16 654, i16 7143, i16 7144, i16 7145, i16 7146, i16 7147, i16 7148, i16 7149, i16 7150, i16 7151, i16 7152, i16 7153, i16 0, i16 7154, i16 7155, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 0, i16 1423, i16 6557, i16 0, i16 6558, i16 12078, i16 0, i16 0, i16 3179, i16 0, i16 0, i16 12081, i16 0, i16 1079, i16 0, i16 12082, i16 12083, i16 0, i16 0, i16 0, i16 12084, i16 3496, i16 12080, i16 1340, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2771, i16 12085, i16 12086, i16 0, i16 10127, i16 5350, i16 0, i16 0, i16 10128, i16 5345, i16 5346, i16 0, i16 5349, i16 5348, i16 3100, i16 0, i16 0, i16 2377, i16 2376, i16 10129, i16 1246, i16 10130, i16 10131, i16 5351, i16 10132, i16 0, i16 0, i16 0, i16 10133, i16 5352, i16 0, i16 10134, i16 5353, i16 0, i16 0, i16 0, i16 11407, i16 0, i16 11408, i16 0, i16 6142, i16 0, i16 0, i16 11409, i16 6143, i16 0, i16 0, i16 0, i16 0, i16 11410, i16 11411, i16 0, i16 11412, i16 11413, i16 0, i16 6138, i16 0, i16 0, i16 6140, i16 0, i16 11414, i16 11415, i16 6141, i16 11416, i16 11417, i16 11418, i16 6139, i16 0, i16 5010, i16 5007, i16 3535, i16 0, i16 9507, i16 9508, i16 9509, i16 2657, i16 9510, i16 0, i16 0, i16 2870, i16 5008, i16 0, i16 0, i16 5016, i16 0, i16 5015, i16 1406, i16 9511, i16 9512, i16 946, i16 9513, i16 9514, i16 1712, i16 5009, i16 5011, i16 9515, i16 0, i16 0, i16 9516, i16 0, i16 8851, i16 8852, i16 8853, i16 8854, i16 0, i16 8855, i16 0, i16 0, i16 2447, i16 8856, i16 8857, i16 1790, i16 4606, i16 8858, i16 4608, i16 4604, i16 0, i16 8859, i16 8860, i16 8861, i16 3254, i16 0, i16 2654, i16 8862, i16 0, i16 0, i16 8863, i16 2403, i16 0, i16 0, i16 0, i16 0, i16 11163, i16 0, i16 6002, i16 2839, i16 0, i16 11164, i16 6007, i16 0, i16 0, i16 11165, i16 6004, i16 3291, i16 6010, i16 809, i16 11166, i16 0, i16 11167, i16 0, i16 5998, i16 0, i16 11168, i16 0, i16 0, i16 0, i16 11169, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3228, i16 2651, i16 1687, i16 0, i16 1655, i16 2038, i16 12619, i16 2215, i16 0, i16 12620, i16 0, i16 6801, i16 12622, i16 12623, i16 6800, i16 3505, i16 1193, i16 3051, i16 2873, i16 12624, i16 0, i16 12625, i16 2247, i16 3611, i16 12621, i16 1462, i16 0, i16 12626, i16 0, i16 12627, i16 0, i16 0, i16 4765, i16 0, i16 0, i16 0, i16 9146, i16 4768, i16 9147, i16 9148, i16 2244, i16 0, i16 0, i16 9149, i16 0, i16 3562, i16 786, i16 1749, i16 2465, i16 0, i16 1934, i16 9150, i16 9151, i16 2144, i16 0, i16 0, i16 4771, i16 0, i16 0, i16 2765, i16 9152, i16 4769, i16 2448, i16 0, i16 3230, i16 8167, i16 0, i16 8165, i16 4143, i16 0, i16 2568, i16 8168, i16 0, i16 1018, i16 0, i16 2138, i16 8169, i16 8170, i16 0, i16 8171, i16 4145, i16 8172, i16 4144, i16 8173, i16 1663, i16 8174, i16 4146, i16 4148, i16 4147, i16 8175, i16 0, i16 4150, i16 8176, i16 4139, i16 4152, i16 0, i16 6046, i16 0, i16 0, i16 0, i16 0, i16 11204, i16 0, i16 11205, i16 11206, i16 11207, i16 0, i16 0, i16 6024, i16 0, i16 11208, i16 0, i16 11209, i16 1114, i16 0, i16 11210, i16 0, i16 0, i16 0, i16 2149, i16 6035, i16 11211, i16 6040, i16 2426, i16 11212, i16 11213, i16 6036, i16 0, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 0, i16 6047, i16 11241, i16 11242, i16 11243, i16 11244, i16 2678, i16 11245, i16 0, i16 0, i16 11246, i16 11247, i16 6052, i16 839, i16 0, i16 11248, i16 0, i16 0, i16 11229, i16 11249, i16 11250, i16 2439, i16 11251, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3224, i16 0, i16 11252, i16 0, i16 9892, i16 1333, i16 5243, i16 5245, i16 0, i16 5244, i16 9893, i16 0, i16 9894, i16 0, i16 0, i16 9895, i16 0, i16 5246, i16 0, i16 1546, i16 0, i16 5247, i16 0, i16 0, i16 9896, i16 9897, i16 1382, i16 9898, i16 2375, i16 0, i16 1684, i16 0, i16 0, i16 0, i16 9899, i16 0, i16 10918, i16 0, i16 0, i16 5849, i16 5851, i16 5850, i16 3006, i16 10919, i16 2902, i16 0, i16 3689, i16 3010, i16 0, i16 10920, i16 0, i16 0, i16 0, i16 0, i16 5853, i16 0, i16 0, i16 2112, i16 0, i16 3105, i16 0, i16 5854, i16 5852, i16 10921, i16 1167, i16 10922, i16 0, i16 0, i16 7848, i16 3986, i16 0, i16 3995, i16 3988, i16 7849, i16 7850, i16 3992, i16 7851, i16 7852, i16 3993, i16 3989, i16 7853, i16 7854, i16 4022, i16 0, i16 7855, i16 1758, i16 1044, i16 0, i16 0, i16 0, i16 7856, i16 3987, i16 7857, i16 7858, i16 7859, i16 3997, i16 831, i16 3996, i16 7860, i16 0, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 458, i16 459, i16 460, i16 461, i16 0, i16 3248, i16 8554, i16 4385, i16 3673, i16 0, i16 8555, i16 8556, i16 8557, i16 4386, i16 3221, i16 4389, i16 3711, i16 3727, i16 8558, i16 1889, i16 2898, i16 4390, i16 0, i16 1276, i16 2629, i16 835, i16 4391, i16 3195, i16 1607, i16 8559, i16 0, i16 2579, i16 8560, i16 8561, i16 0, i16 2704, i16 0, i16 3000, i16 0, i16 12729, i16 2481, i16 895, i16 1387, i16 0, i16 1388, i16 12730, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2614, i16 6858, i16 1389, i16 12731, i16 12732, i16 1012, i16 0, i16 0, i16 6857, i16 12733, i16 12734, i16 6855, i16 12735, i16 6856, i16 12736, i16 6854, i16 0, i16 3513, i16 4657, i16 0, i16 8965, i16 4653, i16 0, i16 4654, i16 0, i16 8966, i16 8967, i16 8968, i16 8969, i16 2407, i16 8970, i16 0, i16 8971, i16 8972, i16 4652, i16 0, i16 4587, i16 8973, i16 0, i16 8974, i16 4656, i16 0, i16 4651, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6334, i16 11726, i16 11727, i16 11728, i16 11729, i16 11730, i16 0, i16 11731, i16 6338, i16 0, i16 0, i16 6335, i16 11736, i16 6337, i16 6336, i16 0, i16 0, i16 11732, i16 11733, i16 11734, i16 0, i16 6339, i16 0, i16 1890, i16 11735, i16 6341, i16 6340, i16 3167, i16 0, i16 11737, i16 6343, i16 0, i16 11198, i16 6026, i16 0, i16 6021, i16 11199, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2114, i16 0, i16 0, i16 0, i16 0, i16 1982, i16 0, i16 11200, i16 11201, i16 1885, i16 11202, i16 0, i16 0, i16 0, i16 3433, i16 0, i16 0, i16 3134, i16 0, i16 11203, i16 6037, i16 0, i16 6591, i16 0, i16 2689, i16 12170, i16 12171, i16 3336, i16 1401, i16 0, i16 12172, i16 12173, i16 0, i16 12174, i16 12175, i16 12176, i16 12177, i16 12178, i16 12179, i16 0, i16 0, i16 0, i16 6594, i16 6595, i16 12180, i16 0, i16 12181, i16 0, i16 12182, i16 6593, i16 12183, i16 0, i16 6597, i16 0, i16 3009, i16 4355, i16 3219, i16 4356, i16 0, i16 0, i16 0, i16 8521, i16 0, i16 8522, i16 8523, i16 8524, i16 8525, i16 8526, i16 0, i16 8527, i16 0, i16 1140, i16 3220, i16 2922, i16 4358, i16 4359, i16 0, i16 1603, i16 1141, i16 4360, i16 1521, i16 3507, i16 3480, i16 1207, i16 4362, i16 0, i16 3526, i16 0, i16 6257, i16 0, i16 0, i16 3193, i16 2945, i16 6258, i16 11600, i16 6259, i16 1508, i16 0, i16 11601, i16 0, i16 1227, i16 11602, i16 0, i16 0, i16 6260, i16 11603, i16 11604, i16 1854, i16 2940, i16 6261, i16 0, i16 1075, i16 11605, i16 11606, i16 0, i16 0, i16 11607, i16 0, i16 3783, i16 7516, i16 3268, i16 2576, i16 3779, i16 1484, i16 7517, i16 3776, i16 3784, i16 3778, i16 3614, i16 3785, i16 3692, i16 7518, i16 0, i16 7519, i16 0, i16 7520, i16 7521, i16 0, i16 7522, i16 1379, i16 0, i16 0, i16 1483, i16 0, i16 7546, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9159, i16 0, i16 0, i16 9160, i16 4783, i16 0, i16 3091, i16 0, i16 4774, i16 0, i16 4780, i16 4779, i16 0, i16 9161, i16 9162, i16 2296, i16 9163, i16 0, i16 9164, i16 0, i16 3360, i16 9165, i16 3616, i16 9166, i16 9167, i16 3354, i16 9168, i16 977, i16 1841, i16 0, i16 0, i16 0, i16 7112, i16 302, i16 303, i16 7120, i16 0, i16 7113, i16 309, i16 236, i16 7117, i16 7116, i16 0, i16 340, i16 0, i16 7118, i16 7106, i16 296, i16 283, i16 0, i16 0, i16 234, i16 0, i16 367, i16 0, i16 7103, i16 0, i16 7115, i16 0, i16 0, i16 0, i16 0, i16 7114, i16 0, i16 8138, i16 4127, i16 0, i16 8139, i16 0, i16 0, i16 8140, i16 8141, i16 925, i16 0, i16 2741, i16 0, i16 0, i16 0, i16 0, i16 4129, i16 0, i16 4125, i16 0, i16 0, i16 2203, i16 0, i16 0, i16 8142, i16 4133, i16 0, i16 0, i16 8143, i16 0, i16 2013, i16 8144, i16 0, i16 972, i16 4211, i16 0, i16 8307, i16 0, i16 8308, i16 0, i16 8309, i16 1900, i16 0, i16 4210, i16 1492, i16 0, i16 0, i16 8310, i16 4224, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4217, i16 4214, i16 0, i16 0, i16 8311, i16 0, i16 8312, i16 0, i16 0, i16 0, i16 0, i16 6865, i16 12747, i16 12748, i16 12749, i16 6867, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12750, i16 12751, i16 0, i16 1234, i16 6866, i16 12752, i16 12753, i16 2434, i16 1516, i16 0, i16 0, i16 12754, i16 0, i16 0, i16 6869, i16 0, i16 0, i16 0, i16 0, i16 12755, i16 0, i16 0, i16 10449, i16 0, i16 0, i16 0, i16 0, i16 1305, i16 5518, i16 10450, i16 10451, i16 5520, i16 10452, i16 0, i16 0, i16 5521, i16 10453, i16 2916, i16 10454, i16 0, i16 5522, i16 10455, i16 0, i16 0, i16 0, i16 10456, i16 5523, i16 5524, i16 10457, i16 0, i16 1366, i16 984, i16 2850, i16 0, i16 9683, i16 9684, i16 0, i16 2032, i16 0, i16 5139, i16 0, i16 9685, i16 0, i16 0, i16 0, i16 9686, i16 5132, i16 2637, i16 5129, i16 2682, i16 0, i16 0, i16 0, i16 5164, i16 0, i16 0, i16 0, i16 5126, i16 0, i16 5125, i16 0, i16 5134, i16 9687, i16 9688, i16 0, i16 0, i16 12499, i16 840, i16 2211, i16 2059, i16 1178, i16 6721, i16 0, i16 0, i16 0, i16 2977, i16 0, i16 6723, i16 0, i16 12500, i16 0, i16 841, i16 0, i16 6722, i16 2661, i16 12501, i16 3610, i16 2824, i16 6716, i16 3571, i16 0, i16 1514, i16 12502, i16 12503, i16 3530, i16 12504, i16 12505, i16 0, i16 6357, i16 0, i16 0, i16 0, i16 11760, i16 2819, i16 11761, i16 6359, i16 11762, i16 3296, i16 11763, i16 6360, i16 0, i16 6361, i16 11764, i16 6362, i16 11765, i16 0, i16 11766, i16 11767, i16 6363, i16 0, i16 11768, i16 11769, i16 11772, i16 2871, i16 11770, i16 0, i16 11771, i16 0, i16 0, i16 0, i16 11480, i16 0, i16 11481, i16 0, i16 6158, i16 11482, i16 0, i16 0, i16 11483, i16 11484, i16 11485, i16 0, i16 6178, i16 6182, i16 6177, i16 11486, i16 6184, i16 11488, i16 11489, i16 11490, i16 6186, i16 6185, i16 0, i16 11491, i16 11487, i16 11492, i16 11493, i16 11494, i16 0, i16 11495, i16 11496, i16 0, i16 12506, i16 12507, i16 12508, i16 12509, i16 1398, i16 3585, i16 0, i16 1411, i16 12510, i16 2503, i16 5873, i16 0, i16 6724, i16 1039, i16 2234, i16 0, i16 12511, i16 0, i16 0, i16 1081, i16 6726, i16 12512, i16 6727, i16 6725, i16 1471, i16 12513, i16 1746, i16 2128, i16 12514, i16 0, i16 12515, i16 0, i16 3548, i16 773, i16 5703, i16 0, i16 10730, i16 1290, i16 10731, i16 5700, i16 0, i16 10732, i16 0, i16 0, i16 0, i16 5701, i16 0, i16 10733, i16 2812, i16 5699, i16 5696, i16 0, i16 1035, i16 2317, i16 0, i16 10734, i16 1505, i16 10735, i16 10736, i16 0, i16 5708, i16 0, i16 10737, i16 0, i16 13021, i16 0, i16 0, i16 7014, i16 0, i16 0, i16 0, i16 0, i16 7015, i16 13022, i16 7010, i16 13023, i16 0, i16 13024, i16 6990, i16 0, i16 13025, i16 7016, i16 0, i16 2690, i16 13026, i16 0, i16 0, i16 7020, i16 13027, i16 7021, i16 7019, i16 13028, i16 0, i16 0, i16 13029, i16 0, i16 9187, i16 4794, i16 0, i16 4791, i16 0, i16 9188, i16 4799, i16 0, i16 4789, i16 0, i16 0, i16 4787, i16 0, i16 4795, i16 4785, i16 9189, i16 2607, i16 9190, i16 3465, i16 1911, i16 1769, i16 9191, i16 9192, i16 0, i16 9176, i16 0, i16 1711, i16 0, i16 0, i16 3362, i16 1060, i16 0, i16 3044, i16 0, i16 5746, i16 10797, i16 10798, i16 5741, i16 10799, i16 0, i16 0, i16 2344, i16 1453, i16 0, i16 1978, i16 10800, i16 0, i16 10801, i16 0, i16 10802, i16 0, i16 2160, i16 2365, i16 5752, i16 0, i16 10803, i16 5754, i16 5755, i16 0, i16 0, i16 5751, i16 5753, i16 10804, i16 0, i16 231, i16 0, i16 305, i16 301, i16 304, i16 306, i16 0, i16 263, i16 264, i16 307, i16 281, i16 225, i16 0, i16 226, i16 252, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 228, i16 229, i16 288, i16 286, i16 289, i16 230, i16 0, i16 3568, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11549, i16 6229, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11550, i16 11551, i16 11552, i16 6230, i16 2117, i16 6228, i16 11553, i16 0, i16 11554, i16 3542, i16 6225, i16 0, i16 0, i16 6227, i16 2278, i16 2249, i16 0, i16 0, i16 3824, i16 0, i16 7611, i16 0, i16 0, i16 0, i16 7612, i16 7613, i16 0, i16 3476, i16 0, i16 7614, i16 7615, i16 0, i16 7616, i16 0, i16 7617, i16 3434, i16 7618, i16 7619, i16 7620, i16 0, i16 3826, i16 7621, i16 7622, i16 3825, i16 3828, i16 3827, i16 0, i16 0, i16 3829, i16 0, i16 8177, i16 8178, i16 0, i16 4151, i16 4149, i16 0, i16 0, i16 0, i16 8179, i16 0, i16 1825, i16 2204, i16 0, i16 2395, i16 4153, i16 2277, i16 822, i16 2975, i16 8180, i16 0, i16 0, i16 0, i16 2684, i16 0, i16 4155, i16 4154, i16 4156, i16 4157, i16 4158, i16 0, i16 0, i16 0, i16 7922, i16 0, i16 7923, i16 4038, i16 4036, i16 7924, i16 4093, i16 0, i16 7925, i16 0, i16 7926, i16 7927, i16 0, i16 7928, i16 0, i16 0, i16 7929, i16 7930, i16 7931, i16 4041, i16 0, i16 0, i16 7932, i16 7933, i16 0, i16 4035, i16 7934, i16 4039, i16 0, i16 7935, i16 4037, i16 0, i16 8434, i16 0, i16 0, i16 0, i16 0, i16 8435, i16 2237, i16 0, i16 0, i16 0, i16 4302, i16 0, i16 8436, i16 1759, i16 0, i16 0, i16 4308, i16 8437, i16 0, i16 4309, i16 4303, i16 1046, i16 4304, i16 4313, i16 4312, i16 4311, i16 4307, i16 0, i16 0, i16 0, i16 4306, i16 0, i16 10738, i16 10739, i16 10740, i16 0, i16 10741, i16 10742, i16 0, i16 10743, i16 5705, i16 0, i16 10744, i16 10745, i16 10746, i16 0, i16 5707, i16 0, i16 10747, i16 0, i16 5704, i16 0, i16 0, i16 10748, i16 10749, i16 0, i16 1452, i16 2456, i16 5709, i16 2421, i16 10750, i16 10751, i16 5722, i16 0, i16 10227, i16 5421, i16 2961, i16 0, i16 10228, i16 3346, i16 0, i16 885, i16 10229, i16 894, i16 10230, i16 10231, i16 5422, i16 10232, i16 0, i16 0, i16 0, i16 5424, i16 0, i16 10233, i16 0, i16 5423, i16 2799, i16 0, i16 10234, i16 0, i16 2274, i16 4957, i16 0, i16 5425, i16 3410, i16 0, i16 9460, i16 0, i16 9461, i16 0, i16 0, i16 9462, i16 9463, i16 0, i16 0, i16 0, i16 4993, i16 4992, i16 0, i16 9464, i16 4995, i16 0, i16 9465, i16 0, i16 4994, i16 0, i16 0, i16 0, i16 9466, i16 0, i16 9467, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9468, i16 0, i16 5109, i16 0, i16 0, i16 0, i16 1156, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9674, i16 0, i16 9675, i16 9676, i16 9677, i16 1476, i16 0, i16 0, i16 9678, i16 5135, i16 9679, i16 9680, i16 5130, i16 2337, i16 9681, i16 9682, i16 1094, i16 0, i16 4855, i16 4834, i16 4854, i16 0, i16 4847, i16 4835, i16 0, i16 4851, i16 0, i16 4852, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4869, i16 9275, i16 0, i16 9276, i16 2859, i16 9277, i16 4842, i16 0, i16 9278, i16 4865, i16 0, i16 9279, i16 0, i16 4867, i16 0, i16 2681, i16 0, i16 3579, i16 0, i16 0, i16 2145, i16 2334, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9557, i16 0, i16 5048, i16 5046, i16 0, i16 3140, i16 0, i16 9558, i16 9559, i16 0, i16 8956, i16 0, i16 8957, i16 2736, i16 4647, i16 8958, i16 0, i16 8959, i16 4648, i16 0, i16 3174, i16 8960, i16 2944, i16 1782, i16 0, i16 2330, i16 0, i16 3331, i16 8961, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1068, i16 0, i16 4655, i16 4650, i16 8962, i16 8963, i16 8964, i16 0, i16 8190, i16 3397, i16 8191, i16 8192, i16 4164, i16 0, i16 2508, i16 8193, i16 2742, i16 2469, i16 3150, i16 4165, i16 4166, i16 930, i16 8194, i16 8195, i16 1899, i16 4167, i16 8196, i16 0, i16 8197, i16 8198, i16 793, i16 4168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4169, i16 8199, i16 0, i16 12543, i16 12544, i16 12545, i16 6755, i16 0, i16 0, i16 3401, i16 12546, i16 0, i16 6756, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6757, i16 12547, i16 3669, i16 12548, i16 0, i16 0, i16 0, i16 0, i16 4761, i16 6758, i16 0, i16 0, i16 0, i16 6759, i16 6760, i16 0, i16 11520, i16 1644, i16 6199, i16 810, i16 11521, i16 0, i16 0, i16 0, i16 3124, i16 11522, i16 0, i16 6200, i16 0, i16 0, i16 0, i16 0, i16 2229, i16 11523, i16 6207, i16 0, i16 0, i16 6204, i16 0, i16 2610, i16 0, i16 11524, i16 0, i16 11525, i16 0, i16 6205, i16 6202, i16 1371, i16 5889, i16 0, i16 10986, i16 5892, i16 5891, i16 0, i16 0, i16 0, i16 3319, i16 5895, i16 0, i16 0, i16 0, i16 0, i16 10987, i16 0, i16 5896, i16 0, i16 10988, i16 2366, i16 10989, i16 5897, i16 0, i16 0, i16 5899, i16 0, i16 5903, i16 10990, i16 0, i16 5900, i16 5898, i16 2938, i16 6145, i16 11425, i16 0, i16 6156, i16 11426, i16 11427, i16 993, i16 0, i16 6152, i16 0, i16 6157, i16 0, i16 0, i16 0, i16 6153, i16 11428, i16 0, i16 11429, i16 11430, i16 0, i16 6150, i16 0, i16 2644, i16 0, i16 6147, i16 0, i16 0, i16 11431, i16 0, i16 0, i16 0, i16 2979, i16 11265, i16 11266, i16 11267, i16 6058, i16 11268, i16 0, i16 0, i16 0, i16 3706, i16 2815, i16 3178, i16 11269, i16 0, i16 6071, i16 0, i16 11270, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6077, i16 0, i16 11271, i16 11272, i16 11273, i16 0, i16 11274, i16 6078, i16 11275, i16 12802, i16 0, i16 6898, i16 6899, i16 12803, i16 12804, i16 6900, i16 12805, i16 0, i16 12806, i16 3018, i16 6902, i16 12807, i16 3101, i16 6903, i16 6901, i16 0, i16 6905, i16 12808, i16 12809, i16 6904, i16 12810, i16 0, i16 6906, i16 0, i16 12811, i16 12812, i16 6907, i16 0, i16 12813, i16 0, i16 12814, i16 4611, i16 0, i16 8875, i16 2404, i16 8876, i16 0, i16 0, i16 8877, i16 1961, i16 4616, i16 8878, i16 0, i16 2085, i16 0, i16 4610, i16 4615, i16 8879, i16 0, i16 2958, i16 0, i16 8880, i16 8881, i16 4609, i16 0, i16 1404, i16 8882, i16 8883, i16 1088, i16 0, i16 0, i16 8884, i16 4617, i16 4100, i16 0, i16 1753, i16 0, i16 0, i16 8052, i16 8053, i16 1358, i16 0, i16 0, i16 3306, i16 0, i16 8054, i16 8055, i16 4098, i16 4101, i16 1718, i16 1594, i16 8056, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9732, i16 0, i16 0, i16 9733, i16 0, i16 0, i16 2616, i16 2514, i16 0, i16 0, i16 0, i16 0, i16 2254, i16 0, i16 0, i16 9734, i16 5168, i16 0, i16 5170, i16 0, i16 9735, i16 0, i16 0, i16 9736, i16 0, i16 9737, i16 0, i16 0, i16 9738, i16 0, i16 5169, i16 0, i16 10244, i16 2103, i16 0, i16 0, i16 5434, i16 0, i16 10245, i16 5433, i16 5432, i16 3094, i16 10246, i16 1160, i16 1506, i16 0, i16 10247, i16 0, i16 0, i16 0, i16 10248, i16 0, i16 10249, i16 10250, i16 0, i16 10251, i16 0, i16 10252, i16 10253, i16 5440, i16 10254, i16 0, i16 5437, i16 2186, i16 7429, i16 0, i16 0, i16 7447, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3758, i16 7448, i16 0, i16 7449, i16 0, i16 7450, i16 3761, i16 3759, i16 7451, i16 0, i16 967, i16 0, i16 3216, i16 3753, i16 7452, i16 7453, i16 7454, i16 7455, i16 3757, i16 1580, i16 7456, i16 7457, i16 1819, i16 12293, i16 12294, i16 0, i16 12295, i16 2058, i16 12296, i16 0, i16 12297, i16 12298, i16 6620, i16 3252, i16 0, i16 12299, i16 891, i16 12300, i16 0, i16 12301, i16 0, i16 3133, i16 2613, i16 0, i16 0, i16 0, i16 0, i16 1303, i16 12302, i16 6622, i16 12303, i16 1652, i16 0, i16 0, i16 12304, i16 7686, i16 7687, i16 0, i16 1488, i16 1747, i16 2984, i16 7688, i16 0, i16 0, i16 3888, i16 3886, i16 0, i16 0, i16 0, i16 7689, i16 3186, i16 2135, i16 3895, i16 1095, i16 3889, i16 3887, i16 2390, i16 0, i16 7690, i16 7691, i16 7692, i16 0, i16 0, i16 0, i16 3891, i16 0, i16 3890, i16 11526, i16 6201, i16 6208, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1425, i16 0, i16 0, i16 2499, i16 0, i16 6214, i16 0, i16 0, i16 0, i16 0, i16 6210, i16 0, i16 0, i16 0, i16 2458, i16 6209, i16 11527, i16 6212, i16 11528, i16 11529, i16 11530, i16 0, i16 6203, i16 11531, i16 4103, i16 0, i16 0, i16 4114, i16 0, i16 0, i16 4115, i16 8095, i16 8096, i16 0, i16 0, i16 3351, i16 8097, i16 0, i16 2136, i16 8098, i16 0, i16 0, i16 4117, i16 4118, i16 4116, i16 8099, i16 4120, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2931, i16 8100, i16 8101, i16 817, i16 5383, i16 5384, i16 5385, i16 10177, i16 5386, i16 10178, i16 10179, i16 5382, i16 0, i16 10180, i16 0, i16 0, i16 0, i16 10181, i16 0, i16 0, i16 5388, i16 0, i16 10182, i16 10183, i16 5387, i16 10184, i16 0, i16 0, i16 10185, i16 10186, i16 10187, i16 5389, i16 10188, i16 0, i16 0, i16 0, i16 11015, i16 5917, i16 5918, i16 11016, i16 0, i16 5919, i16 0, i16 5920, i16 1338, i16 4660, i16 5921, i16 0, i16 2318, i16 5922, i16 1916, i16 11017, i16 5923, i16 0, i16 3726, i16 11018, i16 11019, i16 0, i16 5924, i16 3251, i16 1181, i16 11020, i16 11021, i16 2347, i16 2023, i16 11022, i16 3176, i16 1981, i16 5128, i16 5127, i16 5133, i16 9689, i16 2250, i16 0, i16 5124, i16 9690, i16 9691, i16 0, i16 0, i16 9692, i16 9693, i16 9694, i16 5136, i16 0, i16 9695, i16 5137, i16 9696, i16 9697, i16 9698, i16 0, i16 9699, i16 1155, i16 0, i16 0, i16 9700, i16 0, i16 0, i16 0, i16 0, i16 9701, i16 8457, i16 8458, i16 8459, i16 0, i16 8460, i16 0, i16 0, i16 0, i16 0, i16 2238, i16 8461, i16 0, i16 4318, i16 8462, i16 0, i16 1708, i16 8463, i16 0, i16 0, i16 4319, i16 0, i16 0, i16 4320, i16 0, i16 0, i16 8464, i16 8465, i16 0, i16 0, i16 0, i16 8466, i16 8467, i16 2314, i16 5617, i16 10602, i16 0, i16 3048, i16 10603, i16 5621, i16 3240, i16 10604, i16 2590, i16 10605, i16 5616, i16 5618, i16 0, i16 0, i16 5619, i16 0, i16 0, i16 0, i16 0, i16 10606, i16 0, i16 10607, i16 10608, i16 0, i16 10609, i16 10610, i16 10611, i16 0, i16 5622, i16 0, i16 0, i16 13066, i16 7038, i16 13067, i16 13068, i16 13069, i16 13070, i16 0, i16 13071, i16 7039, i16 0, i16 0, i16 7040, i16 7041, i16 0, i16 13072, i16 13073, i16 0, i16 7044, i16 7042, i16 3687, i16 0, i16 7043, i16 13074, i16 3644, i16 13075, i16 0, i16 0, i16 13076, i16 0, i16 7045, i16 13077, i16 3624, i16 4363, i16 0, i16 8531, i16 0, i16 8532, i16 8533, i16 2776, i16 1719, i16 8534, i16 0, i16 8535, i16 1540, i16 8536, i16 2702, i16 0, i16 0, i16 0, i16 8537, i16 0, i16 8538, i16 0, i16 780, i16 2045, i16 1606, i16 3510, i16 0, i16 0, i16 0, i16 0, i16 8539, i16 8540, i16 8541, i16 6667, i16 12430, i16 6668, i16 12431, i16 0, i16 0, i16 0, i16 0, i16 12432, i16 0, i16 6670, i16 12433, i16 0, i16 12434, i16 12435, i16 12436, i16 6672, i16 12437, i16 12438, i16 0, i16 0, i16 6673, i16 0, i16 6674, i16 0, i16 0, i16 0, i16 0, i16 6677, i16 6675, i16 6678, i16 6680, i16 2572, i16 9363, i16 0, i16 9364, i16 4930, i16 0, i16 9365, i16 9366, i16 0, i16 9367, i16 0, i16 9368, i16 0, i16 4928, i16 1570, i16 0, i16 4927, i16 9369, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4933, i16 0, i16 0, i16 0, i16 9370, i16 4800, i16 9371, i16 9372, i16 9373, i16 3340, i16 0, i16 2831, i16 8114, i16 8115, i16 1491, i16 2484, i16 0, i16 8116, i16 8117, i16 4119, i16 4122, i16 8119, i16 8120, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2473, i16 0, i16 0, i16 0, i16 4123, i16 0, i16 8121, i16 0, i16 4124, i16 8122, i16 8123, i16 7436, i16 0, i16 7437, i16 2674, i16 0, i16 0, i16 2533, i16 3752, i16 7438, i16 7439, i16 0, i16 7440, i16 7441, i16 789, i16 2692, i16 1994, i16 1705, i16 3475, i16 7442, i16 2483, i16 7443, i16 964, i16 7444, i16 3751, i16 7445, i16 3501, i16 3747, i16 3749, i16 1763, i16 3750, i16 4184, i16 7446, i16 11532, i16 0, i16 6213, i16 0, i16 6215, i16 0, i16 0, i16 0, i16 11533, i16 0, i16 11534, i16 3080, i16 0, i16 0, i16 6211, i16 0, i16 6216, i16 6218, i16 0, i16 0, i16 1548, i16 6206, i16 0, i16 778, i16 0, i16 0, i16 11535, i16 0, i16 0, i16 11536, i16 11537, i16 6217, i16 4109, i16 8087, i16 1595, i16 1059, i16 4111, i16 0, i16 0, i16 8089, i16 8090, i16 8091, i16 4112, i16 0, i16 8092, i16 0, i16 0, i16 0, i16 4113, i16 0, i16 0, i16 4110, i16 0, i16 0, i16 0, i16 0, i16 8093, i16 0, i16 0, i16 0, i16 0, i16 8094, i16 0, i16 0, i16 5901, i16 0, i16 5902, i16 10992, i16 0, i16 10993, i16 951, i16 0, i16 5909, i16 5904, i16 10994, i16 10991, i16 0, i16 5905, i16 10995, i16 10996, i16 0, i16 5906, i16 0, i16 2438, i16 0, i16 10997, i16 0, i16 10998, i16 5908, i16 5907, i16 5910, i16 10999, i16 0, i16 11000, i16 11001, i16 5911, i16 7693, i16 0, i16 7694, i16 1063, i16 0, i16 7695, i16 0, i16 1467, i16 3896, i16 3578, i16 7696, i16 0, i16 7697, i16 3892, i16 0, i16 0, i16 0, i16 3897, i16 3894, i16 7698, i16 3893, i16 7699, i16 7700, i16 7701, i16 7702, i16 0, i16 7703, i16 3612, i16 7704, i16 0, i16 0, i16 1586, i16 10510, i16 5545, i16 5546, i16 2148, i16 0, i16 10511, i16 0, i16 10512, i16 0, i16 5547, i16 10513, i16 1074, i16 0, i16 10514, i16 0, i16 0, i16 5549, i16 0, i16 0, i16 0, i16 1477, i16 10515, i16 1285, i16 0, i16 10516, i16 5550, i16 1394, i16 0, i16 0, i16 5551, i16 10517, i16 2341, i16 2063, i16 1318, i16 0, i16 3924, i16 0, i16 7751, i16 0, i16 7752, i16 7753, i16 7754, i16 3060, i16 7755, i16 7756, i16 7757, i16 0, i16 3925, i16 7758, i16 3926, i16 7759, i16 3927, i16 0, i16 7760, i16 0, i16 0, i16 3928, i16 3099, i16 1381, i16 814, i16 7761, i16 7762, i16 7763, i16 2844, i16 4623, i16 8891, i16 0, i16 2460, i16 4629, i16 8892, i16 4624, i16 0, i16 8893, i16 4626, i16 0, i16 0, i16 0, i16 0, i16 8894, i16 3128, i16 2708, i16 8895, i16 4627, i16 8896, i16 8897, i16 8898, i16 3483, i16 0, i16 0, i16 0, i16 3511, i16 1146, i16 8899, i16 0, i16 0, i16 0, i16 12815, i16 12816, i16 12817, i16 12818, i16 12819, i16 12820, i16 6908, i16 0, i16 12821, i16 12822, i16 0, i16 12823, i16 12824, i16 12825, i16 12826, i16 0, i16 12827, i16 0, i16 12828, i16 0, i16 0, i16 0, i16 12829, i16 0, i16 6909, i16 12830, i16 6910, i16 12831, i16 12832, i16 0, i16 0, i16 6911, i16 5648, i16 0, i16 0, i16 5645, i16 0, i16 0, i16 10645, i16 0, i16 0, i16 0, i16 10646, i16 0, i16 5644, i16 2299, i16 0, i16 5647, i16 5649, i16 10648, i16 10649, i16 10650, i16 5646, i16 10647, i16 5653, i16 0, i16 5650, i16 10651, i16 10652, i16 10653, i16 10654, i16 10655, i16 10656, i16 5651, i16 10000, i16 10001, i16 0, i16 1284, i16 10002, i16 5284, i16 3564, i16 10003, i16 0, i16 3581, i16 10004, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10005, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10006, i16 10007, i16 0, i16 0, i16 0, i16 0, i16 1297, i16 1067, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8830, i16 0, i16 1098, i16 2156, i16 4597, i16 4602, i16 0, i16 4598, i16 8831, i16 1496, i16 8832, i16 4603, i16 1781, i16 1664, i16 0, i16 0, i16 0, i16 0, i16 8833, i16 8834, i16 1973, i16 4585, i16 10769, i16 918, i16 0, i16 0, i16 2889, i16 5731, i16 0, i16 0, i16 10781, i16 5738, i16 5732, i16 5739, i16 0, i16 0, i16 0, i16 0, i16 10782, i16 10783, i16 5735, i16 0, i16 0, i16 10784, i16 0, i16 10785, i16 0, i16 0, i16 0, i16 2998, i16 10786, i16 10787, i16 1915, i16 5737, i16 12305, i16 0, i16 12306, i16 0, i16 0, i16 0, i16 1791, i16 0, i16 12307, i16 0, i16 0, i16 0, i16 0, i16 12308, i16 0, i16 6621, i16 2232, i16 12309, i16 0, i16 0, i16 12310, i16 12311, i16 0, i16 0, i16 2233, i16 6625, i16 6627, i16 0, i16 12312, i16 12313, i16 12314, i16 12315, i16 11538, i16 1744, i16 3651, i16 6219, i16 6220, i16 2428, i16 0, i16 0, i16 0, i16 0, i16 11539, i16 11540, i16 11541, i16 11542, i16 11543, i16 3567, i16 0, i16 11544, i16 11545, i16 11546, i16 6221, i16 3492, i16 0, i16 0, i16 6222, i16 6223, i16 0, i16 11547, i16 3257, i16 6224, i16 11548, i16 1717, i16 1299, i16 2766, i16 9602, i16 5080, i16 5089, i16 760, i16 857, i16 9603, i16 0, i16 958, i16 0, i16 5082, i16 2449, i16 5073, i16 5075, i16 1624, i16 0, i16 0, i16 9604, i16 0, i16 0, i16 0, i16 9605, i16 0, i16 5092, i16 9606, i16 5087, i16 9607, i16 9608, i16 0, i16 5079, i16 0, i16 2323, i16 7769, i16 0, i16 7770, i16 0, i16 7771, i16 1424, i16 0, i16 0, i16 3937, i16 0, i16 0, i16 7772, i16 7773, i16 3938, i16 851, i16 830, i16 1198, i16 7774, i16 2445, i16 1264, i16 3552, i16 0, i16 3941, i16 956, i16 7775, i16 0, i16 3940, i16 0, i16 0, i16 7776, i16 1319, i16 7188, i16 7173, i16 7187, i16 7239, i16 7324, i16 7241, i16 7326, i16 7240, i16 7325, i16 7189, i16 7175, i16 7190, i16 7249, i16 7334, i16 0, i16 0, i16 7248, i16 7333, i16 7177, i16 7192, i16 7251, i16 7336, i16 7253, i16 7338, i16 7252, i16 7337, i16 7254, i16 7339, i16 7255, i16 7340, i16 7257, i16 7342, i16 6165, i16 11458, i16 0, i16 0, i16 6169, i16 0, i16 6172, i16 6171, i16 11459, i16 11460, i16 11461, i16 6163, i16 0, i16 0, i16 11462, i16 0, i16 6166, i16 0, i16 6183, i16 0, i16 0, i16 11463, i16 11464, i16 0, i16 0, i16 11465, i16 11466, i16 0, i16 11467, i16 0, i16 0, i16 11468, i16 2582, i16 0, i16 5005, i16 0, i16 0, i16 0, i16 0, i16 9550, i16 5013, i16 0, i16 5006, i16 9499, i16 0, i16 9500, i16 0, i16 9501, i16 2470, i16 0, i16 1281, i16 5014, i16 9502, i16 0, i16 9503, i16 0, i16 9504, i16 9505, i16 1475, i16 9506, i16 0, i16 1220, i16 5012, i16 0, i16 10518, i16 2858, i16 10519, i16 2313, i16 1770, i16 10520, i16 10521, i16 0, i16 5552, i16 0, i16 10522, i16 10523, i16 0, i16 0, i16 0, i16 0, i16 10524, i16 10525, i16 2597, i16 2418, i16 10526, i16 5554, i16 5556, i16 5553, i16 5555, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10527, i16 1405, i16 12054, i16 12055, i16 12056, i16 2878, i16 0, i16 12057, i16 3297, i16 0, i16 6553, i16 0, i16 1930, i16 0, i16 0, i16 0, i16 0, i16 6554, i16 12058, i16 6555, i16 12059, i16 12060, i16 12061, i16 6556, i16 12062, i16 0, i16 2720, i16 0, i16 0, i16 0, i16 0, i16 12063, i16 12065, i16 0, i16 11287, i16 0, i16 11288, i16 0, i16 6066, i16 11289, i16 2349, i16 11290, i16 6070, i16 1786, i16 2192, i16 1419, i16 3461, i16 11304, i16 3466, i16 2049, i16 0, i16 0, i16 0, i16 0, i16 11291, i16 0, i16 11292, i16 11293, i16 11294, i16 6083, i16 6081, i16 0, i16 11295, i16 11296, i16 11297, i16 11298, i16 3864, i16 3345, i16 7657, i16 0, i16 0, i16 7658, i16 2039, i16 2529, i16 0, i16 3866, i16 2881, i16 0, i16 0, i16 3867, i16 7659, i16 0, i16 3868, i16 1041, i16 7660, i16 7661, i16 7662, i16 3869, i16 1316, i16 7663, i16 2857, i16 929, i16 2015, i16 0, i16 0, i16 3002, i16 3870, i16 0, i16 5912, i16 11002, i16 0, i16 2190, i16 11003, i16 1006, i16 0, i16 5913, i16 3620, i16 0, i16 1884, i16 11004, i16 11005, i16 1980, i16 0, i16 0, i16 11006, i16 11007, i16 11008, i16 1853, i16 2586, i16 11009, i16 11010, i16 0, i16 11011, i16 11012, i16 5914, i16 5915, i16 856, i16 11013, i16 5916, i16 11014, i16 6936, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12883, i16 12884, i16 6937, i16 12885, i16 3361, i16 1792, i16 12886, i16 1775, i16 2358, i16 0, i16 12887, i16 12888, i16 12889, i16 0, i16 6938, i16 0, i16 0, i16 12890, i16 12891, i16 6941, i16 0, i16 12892, i16 12893, i16 0, i16 12894, i16 12895, i16 7960, i16 7961, i16 868, i16 7962, i16 7963, i16 0, i16 7964, i16 0, i16 0, i16 7965, i16 0, i16 7966, i16 2368, i16 7967, i16 4049, i16 7968, i16 4050, i16 0, i16 0, i16 0, i16 7969, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1117, i16 0, i16 0, i16 7970, i16 0, i16 2842, i16 1323, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1002, i16 4296, i16 4301, i16 0, i16 0, i16 4299, i16 8430, i16 3276, i16 3275, i16 8431, i16 8432, i16 0, i16 8433, i16 0, i16 2790, i16 0, i16 0, i16 0, i16 4298, i16 2019, i16 0, i16 4297, i16 0, i16 0, i16 12570, i16 6777, i16 0, i16 0, i16 1110, i16 6775, i16 6779, i16 0, i16 0, i16 12571, i16 0, i16 6780, i16 0, i16 785, i16 0, i16 6781, i16 6782, i16 0, i16 0, i16 0, i16 0, i16 12572, i16 12573, i16 12574, i16 2129, i16 12575, i16 12576, i16 0, i16 6783, i16 0, i16 12577, i16 12578, i16 4891, i16 9304, i16 0, i16 0, i16 0, i16 9305, i16 9306, i16 4888, i16 9307, i16 0, i16 0, i16 9308, i16 0, i16 9309, i16 4876, i16 9310, i16 0, i16 4905, i16 4875, i16 0, i16 4894, i16 0, i16 0, i16 9311, i16 9312, i16 0, i16 9313, i16 4886, i16 9314, i16 0, i16 4881, i16 4878, i16 6939, i16 12896, i16 0, i16 0, i16 0, i16 0, i16 6942, i16 12897, i16 12898, i16 1578, i16 6940, i16 0, i16 0, i16 0, i16 12899, i16 6943, i16 12900, i16 6944, i16 6945, i16 0, i16 6949, i16 0, i16 1789, i16 12901, i16 12902, i16 0, i16 0, i16 2505, i16 0, i16 12903, i16 0, i16 12904, i16 7197, i16 7196, i16 7199, i16 7205, i16 7198, i16 7204, i16 7169, i16 7209, i16 7213, i16 7212, i16 7215, i16 7214, i16 7226, i16 7225, i16 7228, i16 7227, i16 0, i16 7242, i16 7244, i16 7243, i16 7246, i16 7250, i16 7245, i16 284, i16 7176, i16 7261, i16 7260, i16 7263, i16 7262, i16 7276, i16 7179, i16 7193, i16 8734, i16 0, i16 3376, i16 1144, i16 0, i16 4514, i16 0, i16 1440, i16 1047, i16 0, i16 0, i16 4511, i16 8735, i16 0, i16 3589, i16 4513, i16 799, i16 4515, i16 8736, i16 4506, i16 4512, i16 4519, i16 1439, i16 4507, i16 8737, i16 0, i16 0, i16 8738, i16 8739, i16 0, i16 3532, i16 8740, i16 287, i16 350, i16 0, i16 0, i16 0, i16 0, i16 290, i16 291, i16 0, i16 0, i16 352, i16 353, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1311, i16 966, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4185, i16 0, i16 3372, i16 3173, i16 1581, i16 0, i16 0, i16 7475, i16 0, i16 0, i16 2170, i16 3588, i16 7476, i16 0, i16 7477, i16 0, i16 7478, i16 7479, i16 7480, i16 7481, i16 3245, i16 5407, i16 10207, i16 0, i16 5408, i16 2729, i16 10208, i16 1034, i16 1627, i16 5409, i16 0, i16 0, i16 5410, i16 10209, i16 10210, i16 5411, i16 0, i16 1788, i16 0, i16 0, i16 5413, i16 0, i16 10211, i16 5412, i16 0, i16 0, i16 5414, i16 5415, i16 10212, i16 10213, i16 10214, i16 0, i16 10215, i16 8479, i16 0, i16 4324, i16 0, i16 0, i16 0, i16 0, i16 8480, i16 0, i16 0, i16 0, i16 8481, i16 4326, i16 0, i16 4327, i16 0, i16 8482, i16 0, i16 12526, i16 0, i16 8483, i16 0, i16 0, i16 4330, i16 8484, i16 8485, i16 3635, i16 0, i16 4331, i16 4328, i16 0, i16 0, i16 11039, i16 0, i16 5936, i16 11040, i16 5935, i16 0, i16 1168, i16 11041, i16 5937, i16 0, i16 5938, i16 5939, i16 0, i16 11042, i16 1702, i16 3606, i16 0, i16 5941, i16 2162, i16 0, i16 11043, i16 0, i16 919, i16 5942, i16 5943, i16 0, i16 0, i16 11044, i16 0, i16 11045, i16 5944, i16 11046, i16 2080, i16 4375, i16 4374, i16 4370, i16 0, i16 8552, i16 0, i16 0, i16 4376, i16 4377, i16 0, i16 8553, i16 4378, i16 0, i16 0, i16 0, i16 4381, i16 4379, i16 0, i16 4380, i16 4382, i16 0, i16 907, i16 2703, i16 4383, i16 0, i16 1493, i16 1019, i16 2929, i16 0, i16 4384, i16 2904, i16 6176, i16 0, i16 11469, i16 11470, i16 11471, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11472, i16 11473, i16 0, i16 11474, i16 0, i16 6174, i16 0, i16 11475, i16 6175, i16 11476, i16 0, i16 0, i16 6180, i16 6181, i16 11477, i16 1037, i16 11478, i16 1249, i16 0, i16 0, i16 6179, i16 11479, i16 6688, i16 12452, i16 1177, i16 1080, i16 1653, i16 3023, i16 12453, i16 6690, i16 6689, i16 12454, i16 0, i16 12455, i16 12456, i16 6691, i16 0, i16 0, i16 0, i16 0, i16 899, i16 0, i16 12457, i16 0, i16 12458, i16 0, i16 0, i16 6694, i16 12459, i16 6693, i16 6692, i16 12460, i16 6695, i16 12461, i16 10528, i16 0, i16 0, i16 10529, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5557, i16 1409, i16 0, i16 10530, i16 0, i16 1286, i16 3521, i16 5559, i16 0, i16 0, i16 10531, i16 0, i16 10532, i16 5560, i16 0, i16 0, i16 10533, i16 853, i16 10534, i16 10535, i16 0, i16 0, i16 5563, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 12833, i16 0, i16 6912, i16 6913, i16 0, i16 6914, i16 12834, i16 6915, i16 6916, i16 6917, i16 6918, i16 12835, i16 0, i16 12836, i16 6919, i16 6920, i16 0, i16 4953, i16 6921, i16 12837, i16 12838, i16 12839, i16 0, i16 12840, i16 0, i16 12841, i16 12842, i16 5678, i16 1235, i16 12843, i16 0, i16 0, i16 4130, i16 0, i16 0, i16 9454, i16 9455, i16 1218, i16 4988, i16 0, i16 0, i16 9456, i16 0, i16 4989, i16 9457, i16 3265, i16 3355, i16 0, i16 0, i16 0, i16 2852, i16 4990, i16 3071, i16 0, i16 9458, i16 0, i16 3092, i16 0, i16 9459, i16 3428, i16 0, i16 0, i16 0, i16 4991, i16 7202, i16 7288, i16 7200, i16 7286, i16 7203, i16 7289, i16 7206, i16 7292, i16 7207, i16 7293, i16 7210, i16 7296, i16 7208, i16 7294, i16 7211, i16 7297, i16 7170, i16 7181, i16 7218, i16 7304, i16 0, i16 0, i16 7217, i16 7303, i16 7219, i16 7305, i16 7216, i16 7302, i16 7220, i16 7307, i16 7221, i16 7308, i16 7971, i16 7972, i16 7973, i16 7974, i16 4057, i16 0, i16 7975, i16 0, i16 1200, i16 7976, i16 4060, i16 4056, i16 4059, i16 7977, i16 0, i16 7978, i16 0, i16 7979, i16 7980, i16 0, i16 3203, i16 7981, i16 0, i16 0, i16 2866, i16 0, i16 3025, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10788, i16 5734, i16 5740, i16 5733, i16 0, i16 0, i16 2003, i16 10789, i16 10790, i16 0, i16 0, i16 3288, i16 10791, i16 10792, i16 2011, i16 10793, i16 0, i16 5736, i16 5748, i16 10794, i16 0, i16 5744, i16 10795, i16 5747, i16 0, i16 5745, i16 5749, i16 5743, i16 0, i16 5717, i16 2300, i16 10796, i16 7717, i16 3904, i16 0, i16 3337, i16 7718, i16 2653, i16 7719, i16 3477, i16 7720, i16 3246, i16 0, i16 0, i16 7721, i16 3905, i16 0, i16 7722, i16 0, i16 7723, i16 6771, i16 0, i16 7724, i16 2829, i16 7725, i16 3906, i16 1131, i16 3396, i16 0, i16 7726, i16 7727, i16 2062, i16 3907, i16 3260, i16 8741, i16 8742, i16 3482, i16 8743, i16 8744, i16 0, i16 0, i16 4522, i16 0, i16 0, i16 4526, i16 8745, i16 0, i16 8746, i16 2437, i16 0, i16 3654, i16 4527, i16 8747, i16 8748, i16 4524, i16 0, i16 4521, i16 8749, i16 8750, i16 4520, i16 4525, i16 0, i16 8751, i16 8752, i16 0, i16 8753, i16 10021, i16 5294, i16 0, i16 10022, i16 10023, i16 0, i16 10024, i16 10025, i16 0, i16 0, i16 0, i16 10026, i16 0, i16 10027, i16 0, i16 0, i16 0, i16 10028, i16 10029, i16 0, i16 0, i16 5290, i16 0, i16 10030, i16 0, i16 5293, i16 1571, i16 884, i16 5295, i16 10031, i16 2235, i16 5292, i16 295, i16 0, i16 294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5671, i16 0, i16 5673, i16 0, i16 10682, i16 5672, i16 0, i16 10683, i16 10684, i16 10685, i16 1547, i16 0, i16 0, i16 10686, i16 2367, i16 10687, i16 0, i16 0, i16 5675, i16 10688, i16 10689, i16 10690, i16 2811, i16 10691, i16 5674, i16 10692, i16 10693, i16 0, i16 5676, i16 10694, i16 3210, i16 2419, i16 10279, i16 2226, i16 10280, i16 2849, i16 10281, i16 5448, i16 3334, i16 10282, i16 5445, i16 0, i16 10283, i16 5446, i16 10284, i16 0, i16 0, i16 0, i16 10285, i16 0, i16 10286, i16 10287, i16 10288, i16 0, i16 0, i16 0, i16 0, i16 5451, i16 10289, i16 0, i16 0, i16 10290, i16 5450, i16 5449, i16 11047, i16 11048, i16 0, i16 11049, i16 11050, i16 0, i16 0, i16 11051, i16 0, i16 11052, i16 11053, i16 827, i16 0, i16 5945, i16 11054, i16 0, i16 0, i16 11055, i16 5946, i16 0, i16 11056, i16 0, i16 11057, i16 0, i16 11058, i16 3166, i16 11059, i16 11060, i16 0, i16 1912, i16 0, i16 5948, i16 2600, i16 0, i16 10266, i16 0, i16 0, i16 10267, i16 10268, i16 5443, i16 0, i16 0, i16 10269, i16 0, i16 0, i16 10270, i16 10271, i16 10272, i16 0, i16 0, i16 10273, i16 0, i16 0, i16 0, i16 10274, i16 10275, i16 0, i16 0, i16 5444, i16 5447, i16 10276, i16 0, i16 10277, i16 10278, i16 3625, i16 0, i16 10032, i16 5298, i16 7098, i16 0, i16 10033, i16 10034, i16 10035, i16 5296, i16 5299, i16 10036, i16 0, i16 10037, i16 10038, i16 5285, i16 5297, i16 10039, i16 10040, i16 1713, i16 0, i16 0, i16 5300, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5301, i16 0, i16 5929, i16 0, i16 0, i16 11029, i16 11030, i16 11031, i16 11032, i16 2715, i16 0, i16 0, i16 0, i16 11033, i16 0, i16 0, i16 11034, i16 11035, i16 0, i16 11036, i16 0, i16 0, i16 0, i16 0, i16 11037, i16 0, i16 5931, i16 5930, i16 5933, i16 0, i16 11038, i16 5932, i16 0, i16 5934, i16 2604, i16 8623, i16 8624, i16 0, i16 4424, i16 0, i16 0, i16 0, i16 8625, i16 8626, i16 8627, i16 1020, i16 8628, i16 8629, i16 8630, i16 8631, i16 4475, i16 4426, i16 8632, i16 8633, i16 0, i16 2923, i16 8634, i16 0, i16 4425, i16 0, i16 8635, i16 4423, i16 8636, i16 1681, i16 0, i16 4429, i16 6444, i16 11900, i16 11901, i16 6446, i16 6443, i16 0, i16 0, i16 0, i16 0, i16 11902, i16 0, i16 0, i16 11903, i16 11904, i16 0, i16 11905, i16 11906, i16 11907, i16 6449, i16 0, i16 1986, i16 0, i16 6448, i16 0, i16 0, i16 11908, i16 11909, i16 11910, i16 6450, i16 0, i16 0, i16 0, i16 11308, i16 0, i16 0, i16 0, i16 2816, i16 6087, i16 11309, i16 0, i16 11310, i16 3046, i16 6074, i16 0, i16 0, i16 11311, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11312, i16 0, i16 0, i16 11313, i16 2050, i16 0, i16 6089, i16 6094, i16 2427, i16 11314, i16 0, i16 6093, i16 11315, i16 8493, i16 2035, i16 0, i16 2410, i16 8494, i16 1600, i16 1709, i16 1601, i16 1295, i16 8495, i16 0, i16 4338, i16 0, i16 0, i16 1710, i16 0, i16 0, i16 1539, i16 4339, i16 3383, i16 2942, i16 4340, i16 0, i16 1602, i16 8496, i16 8497, i16 0, i16 1133, i16 0, i16 2538, i16 1359, i16 0, i16 11566, i16 0, i16 0, i16 0, i16 0, i16 6237, i16 11567, i16 11568, i16 11569, i16 0, i16 6238, i16 6239, i16 0, i16 0, i16 0, i16 0, i16 11570, i16 11571, i16 11572, i16 0, i16 0, i16 11573, i16 6243, i16 0, i16 6244, i16 11574, i16 11575, i16 6242, i16 0, i16 0, i16 11576, i16 0, i16 3377, i16 0, i16 5093, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3015, i16 9629, i16 0, i16 5105, i16 1524, i16 0, i16 0, i16 9630, i16 0, i16 0, i16 2031, i16 0, i16 5095, i16 9631, i16 0, i16 0, i16 3580, i16 1625, i16 0, i16 5108, i16 8498, i16 0, i16 1831, i16 3154, i16 0, i16 0, i16 3034, i16 8499, i16 0, i16 0, i16 0, i16 4341, i16 1206, i16 8500, i16 0, i16 0, i16 0, i16 4344, i16 8501, i16 0, i16 8502, i16 8503, i16 2626, i16 0, i16 8504, i16 4343, i16 4342, i16 4345, i16 0, i16 2700, i16 0, i16 8505, i16 8754, i16 0, i16 0, i16 0, i16 3205, i16 8755, i16 0, i16 2833, i16 8756, i16 1441, i16 8757, i16 4528, i16 4523, i16 8758, i16 4529, i16 0, i16 0, i16 0, i16 1494, i16 0, i16 0, i16 0, i16 950, i16 0, i16 8759, i16 8760, i16 4537, i16 0, i16 8761, i16 0, i16 1145, i16 0, i16 10291, i16 0, i16 0, i16 0, i16 10292, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5453, i16 10293, i16 10294, i16 5452, i16 0, i16 0, i16 5454, i16 0, i16 0, i16 10295, i16 10296, i16 10297, i16 0, i16 0, i16 0, i16 10298, i16 0, i16 0, i16 0, i16 5456, i16 10299, i16 308, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 267, i16 253, i16 268, i16 237, i16 239, i16 11316, i16 0, i16 6062, i16 0, i16 11317, i16 11318, i16 6095, i16 2384, i16 0, i16 0, i16 6090, i16 6092, i16 0, i16 11319, i16 11320, i16 0, i16 11321, i16 11322, i16 11323, i16 6091, i16 0, i16 0, i16 4949, i16 4934, i16 11324, i16 11325, i16 6097, i16 11326, i16 0, i16 0, i16 11327, i16 0, i16 821, i16 2621, i16 7367, i16 1896, i16 7368, i16 7369, i16 0, i16 3375, i16 2131, i16 1795, i16 2130, i16 961, i16 7370, i16 3147, i16 3502, i16 0, i16 3712, i16 854, i16 7371, i16 0, i16 1105, i16 3713, i16 2253, i16 3932, i16 1269, i16 3215, i16 0, i16 0, i16 0, i16 0, i16 2132, i16 7372, i16 4661, i16 4662, i16 2726, i16 4664, i16 8975, i16 8976, i16 1783, i16 4659, i16 0, i16 8977, i16 8978, i16 0, i16 1243, i16 8979, i16 0, i16 4665, i16 8980, i16 4658, i16 4669, i16 0, i16 4668, i16 8981, i16 4667, i16 8982, i16 0, i16 0, i16 4670, i16 8983, i16 0, i16 4672, i16 2142, i16 8984, i16 9013, i16 0, i16 1147, i16 1801, i16 0, i16 0, i16 2869, i16 9014, i16 0, i16 0, i16 0, i16 9015, i16 1444, i16 0, i16 0, i16 0, i16 2239, i16 0, i16 4692, i16 0, i16 2265, i16 2727, i16 0, i16 3158, i16 4693, i16 0, i16 9016, i16 0, i16 0, i16 9017, i16 0, i16 0, i16 11061, i16 11062, i16 0, i16 11063, i16 11064, i16 1036, i16 763, i16 11065, i16 11066, i16 11067, i16 11068, i16 5947, i16 5950, i16 2953, i16 11069, i16 2191, i16 11070, i16 987, i16 11071, i16 3290, i16 11072, i16 0, i16 0, i16 11073, i16 1464, i16 1369, i16 11074, i16 5949, i16 11075, i16 1007, i16 11076, i16 11077, i16 7223, i16 7309, i16 7222, i16 0, i16 7224, i16 7310, i16 7171, i16 7183, i16 7233, i16 7318, i16 7231, i16 7316, i16 0, i16 0, i16 7232, i16 7317, i16 7230, i16 7184, i16 7172, i16 7185, i16 7234, i16 7319, i16 7235, i16 7320, i16 7186, i16 7236, i16 7321, i16 7238, i16 7323, i16 7237, i16 7322, i16 7174, i16 12087, i16 0, i16 6561, i16 0, i16 12088, i16 12089, i16 12090, i16 0, i16 12091, i16 0, i16 0, i16 0, i16 0, i16 12092, i16 0, i16 0, i16 12093, i16 0, i16 6562, i16 0, i16 12094, i16 0, i16 12095, i16 12096, i16 12097, i16 6563, i16 12098, i16 0, i16 12099, i16 0, i16 12100, i16 0, i16 10041, i16 10042, i16 0, i16 3565, i16 0, i16 10043, i16 10044, i16 10045, i16 0, i16 10046, i16 0, i16 5302, i16 0, i16 0, i16 0, i16 10047, i16 10048, i16 10049, i16 10050, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10051, i16 10052, i16 10053, i16 0, i16 10054, i16 0, i16 5303, i16 10055, i16 11577, i16 6240, i16 11578, i16 6235, i16 6241, i16 11579, i16 11580, i16 0, i16 0, i16 11581, i16 0, i16 0, i16 6245, i16 6741, i16 0, i16 11582, i16 0, i16 0, i16 11583, i16 0, i16 0, i16 0, i16 941, i16 11584, i16 0, i16 0, i16 11585, i16 11586, i16 11587, i16 0, i16 6248, i16 1372, i16 7482, i16 7483, i16 1427, i16 2442, i16 1001, i16 7484, i16 7485, i16 0, i16 7486, i16 7487, i16 2018, i16 7488, i16 7489, i16 7490, i16 3767, i16 7491, i16 3772, i16 3770, i16 7492, i16 0, i16 3765, i16 0, i16 0, i16 2452, i16 3768, i16 0, i16 3771, i16 3769, i16 7493, i16 3250, i16 0, i16 3766, i16 8506, i16 0, i16 0, i16 0, i16 0, i16 2222, i16 0, i16 0, i16 8508, i16 0, i16 0, i16 1832, i16 0, i16 2291, i16 8507, i16 2488, i16 1217, i16 0, i16 8509, i16 2627, i16 0, i16 8510, i16 4346, i16 4347, i16 2140, i16 0, i16 0, i16 0, i16 0, i16 3308, i16 8511, i16 0, i16 8762, i16 8763, i16 8764, i16 4535, i16 0, i16 0, i16 4536, i16 1694, i16 4534, i16 4532, i16 4531, i16 4538, i16 4530, i16 4540, i16 8765, i16 8766, i16 1024, i16 0, i16 0, i16 0, i16 0, i16 8767, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8768, i16 8769, i16 8770, i16 8771, i16 7739, i16 3449, i16 2900, i16 7740, i16 0, i16 3270, i16 3916, i16 0, i16 3917, i16 0, i16 7741, i16 7742, i16 7743, i16 3919, i16 0, i16 3921, i16 3920, i16 7744, i16 0, i16 7745, i16 0, i16 3922, i16 962, i16 3327, i16 7746, i16 1777, i16 3923, i16 7747, i16 7748, i16 2400, i16 7749, i16 7750, i16 9531, i16 3285, i16 2947, i16 1282, i16 0, i16 2724, i16 0, i16 9532, i16 2608, i16 9533, i16 5031, i16 9534, i16 9535, i16 0, i16 9536, i16 5029, i16 2494, i16 5018, i16 9537, i16 882, i16 9538, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2108, i16 5574, i16 5575, i16 2022, i16 0, i16 2837, i16 5576, i16 0, i16 10542, i16 10543, i16 2539, i16 10544, i16 10545, i16 5577, i16 0, i16 2559, i16 5578, i16 10546, i16 0, i16 0, i16 10547, i16 0, i16 1314, i16 0, i16 3835, i16 2592, i16 1892, i16 10548, i16 0, i16 10549, i16 10550, i16 1161, i16 11836, i16 0, i16 0, i16 1954, i16 0, i16 0, i16 11837, i16 0, i16 2241, i16 0, i16 0, i16 11838, i16 11839, i16 0, i16 0, i16 11840, i16 0, i16 0, i16 11841, i16 2450, i16 0, i16 11842, i16 0, i16 11843, i16 0, i16 11844, i16 6413, i16 11845, i16 11863, i16 0, i16 6412, i16 0, i16 318, i16 317, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 320, i16 319, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 322, i16 321, i16 0, i16 0, i16 4671, i16 8985, i16 0, i16 0, i16 8986, i16 4675, i16 0, i16 0, i16 8987, i16 8988, i16 8989, i16 0, i16 0, i16 0, i16 0, i16 8990, i16 0, i16 0, i16 0, i16 8991, i16 8992, i16 0, i16 8993, i16 0, i16 4673, i16 8994, i16 0, i16 8995, i16 4674, i16 4636, i16 8996, i16 8997, i16 9791, i16 3398, i16 0, i16 0, i16 0, i16 0, i16 2100, i16 0, i16 0, i16 0, i16 0, i16 9792, i16 0, i16 9793, i16 0, i16 9794, i16 9795, i16 9796, i16 0, i16 0, i16 0, i16 0, i16 2362, i16 0, i16 9797, i16 0, i16 0, i16 0, i16 2099, i16 0, i16 0, i16 0, i16 6976, i16 0, i16 0, i16 12957, i16 0, i16 0, i16 0, i16 6977, i16 12962, i16 12958, i16 12959, i16 12961, i16 0, i16 0, i16 12963, i16 0, i16 12964, i16 0, i16 12965, i16 0, i16 0, i16 12966, i16 6978, i16 12967, i16 6979, i16 0, i16 0, i16 12968, i16 0, i16 0, i16 0, i16 0, i16 8256, i16 795, i16 0, i16 748, i16 8257, i16 0, i16 0, i16 0, i16 0, i16 4198, i16 0, i16 0, i16 8258, i16 8259, i16 8260, i16 0, i16 0, i16 4196, i16 8261, i16 8262, i16 0, i16 0, i16 0, i16 0, i16 3405, i16 0, i16 4199, i16 0, i16 4197, i16 0, i16 8263, i16 4195, i16 12352, i16 12353, i16 12354, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12355, i16 0, i16 12356, i16 12357, i16 1116, i16 12358, i16 0, i16 12359, i16 0, i16 0, i16 12360, i16 0, i16 6640, i16 12361, i16 1716, i16 2432, i16 12362, i16 0, i16 2667, i16 12363, i16 0, i16 0, i16 12364, i16 0, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 0, i16 0, i16 0, i16 0, i16 227, i16 249, i16 240, i16 241, i16 0, i16 833, i16 8016, i16 0, i16 2567, i16 8017, i16 8018, i16 8019, i16 8020, i16 8021, i16 0, i16 0, i16 8023, i16 0, i16 8024, i16 4081, i16 0, i16 1689, i16 8022, i16 792, i16 2217, i16 0, i16 0, i16 8025, i16 8026, i16 0, i16 4082, i16 1536, i16 0, i16 0, i16 1672, i16 0, i16 4084, i16 1089, i16 0, i16 0, i16 10554, i16 0, i16 2213, i16 3163, i16 10555, i16 5588, i16 10556, i16 10557, i16 10558, i16 2509, i16 10559, i16 10560, i16 10561, i16 10562, i16 10563, i16 0, i16 5583, i16 10564, i16 5587, i16 5589, i16 0, i16 0, i16 1776, i16 0, i16 0, i16 0, i16 10565, i16 0, i16 10566, i16 4929, i16 0, i16 4931, i16 4932, i16 0, i16 9374, i16 0, i16 0, i16 0, i16 0, i16 4944, i16 9375, i16 4940, i16 0, i16 4821, i16 9376, i16 9377, i16 9378, i16 0, i16 4939, i16 9379, i16 0, i16 0, i16 0, i16 4938, i16 0, i16 0, i16 4935, i16 0, i16 9380, i16 9381, i16 9382, i16 9025, i16 767, i16 0, i16 9026, i16 1361, i16 2294, i16 9027, i16 3159, i16 0, i16 0, i16 0, i16 4699, i16 1813, i16 2570, i16 9028, i16 1838, i16 2178, i16 0, i16 9029, i16 9030, i16 9031, i16 0, i16 0, i16 4700, i16 0, i16 3282, i16 0, i16 0, i16 926, i16 1839, i16 0, i16 9032, i16 12609, i16 12611, i16 0, i16 0, i16 12612, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6794, i16 2910, i16 12613, i16 0, i16 12614, i16 6796, i16 960, i16 12615, i16 6799, i16 6798, i16 12616, i16 12617, i16 0, i16 12618, i16 843, i16 0, i16 0, i16 0, i16 1342, i16 4418, i16 1567, i16 8603, i16 0, i16 8606, i16 0, i16 0, i16 8604, i16 4419, i16 3187, i16 2026, i16 8605, i16 8607, i16 4420, i16 3090, i16 8608, i16 8609, i16 8610, i16 0, i16 2846, i16 2632, i16 0, i16 0, i16 0, i16 8611, i16 2735, i16 0, i16 0, i16 4421, i16 1226, i16 0, i16 0, i16 3395, i16 0, i16 10255, i16 0, i16 5436, i16 5438, i16 5439, i16 0, i16 10256, i16 5435, i16 0, i16 0, i16 0, i16 10257, i16 10258, i16 10259, i16 0, i16 0, i16 0, i16 0, i16 10260, i16 10261, i16 10262, i16 5441, i16 5442, i16 10263, i16 2640, i16 0, i16 1188, i16 10264, i16 10265, i16 0, i16 12868, i16 0, i16 0, i16 6931, i16 12869, i16 12870, i16 12871, i16 12872, i16 0, i16 12873, i16 12874, i16 12875, i16 0, i16 12876, i16 775, i16 12877, i16 12878, i16 6932, i16 3200, i16 6930, i16 12879, i16 0, i16 6933, i16 6934, i16 0, i16 0, i16 12880, i16 0, i16 0, i16 12881, i16 12882, i16 6935, i16 12101, i16 0, i16 12103, i16 12104, i16 0, i16 12102, i16 0, i16 12105, i16 0, i16 12106, i16 0, i16 0, i16 0, i16 2721, i16 12107, i16 12108, i16 6565, i16 12109, i16 6564, i16 0, i16 12110, i16 0, i16 12111, i16 12112, i16 0, i16 12113, i16 12114, i16 0, i16 12115, i16 12116, i16 0, i16 0, i16 1350, i16 4271, i16 0, i16 0, i16 0, i16 1294, i16 4272, i16 0, i16 1403, i16 0, i16 2860, i16 949, i16 0, i16 1830, i16 4273, i16 4276, i16 4275, i16 1402, i16 0, i16 4274, i16 0, i16 2743, i16 0, i16 0, i16 0, i16 8393, i16 8394, i16 0, i16 8395, i16 0, i16 2453, i16 0, i16 7494, i16 2169, i16 7495, i16 3366, i16 3773, i16 3774, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1971, i16 3787, i16 7496, i16 0, i16 7497, i16 2955, i16 0, i16 3117, i16 3782, i16 0, i16 3269, i16 0, i16 955, i16 0, i16 7498, i16 7499, i16 3786, i16 7500, i16 11846, i16 0, i16 6411, i16 0, i16 0, i16 11847, i16 11848, i16 11849, i16 11850, i16 0, i16 11851, i16 6419, i16 6417, i16 0, i16 11852, i16 6414, i16 0, i16 11853, i16 0, i16 0, i16 11854, i16 11855, i16 6416, i16 11856, i16 0, i16 11857, i16 6415, i16 6418, i16 0, i16 1302, i16 0, i16 6422, i16 3911, i16 7728, i16 2259, i16 3908, i16 1357, i16 7729, i16 3909, i16 1132, i16 7730, i16 7731, i16 7732, i16 0, i16 7733, i16 0, i16 0, i16 0, i16 7734, i16 7735, i16 1417, i16 3912, i16 7736, i16 3913, i16 7737, i16 7738, i16 3914, i16 3915, i16 1932, i16 0, i16 0, i16 0, i16 1588, i16 3439, i16 10567, i16 10568, i16 0, i16 0, i16 0, i16 5596, i16 3109, i16 10569, i16 3007, i16 2808, i16 0, i16 1367, i16 5595, i16 5593, i16 10570, i16 3022, i16 5590, i16 2593, i16 2810, i16 0, i16 2809, i16 10571, i16 1771, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5614, i16 0, i16 0, i16 10056, i16 10057, i16 5283, i16 10058, i16 0, i16 0, i16 10059, i16 5304, i16 10060, i16 10061, i16 10062, i16 10063, i16 0, i16 0, i16 10064, i16 10065, i16 1157, i16 10066, i16 10067, i16 0, i16 0, i16 10068, i16 0, i16 0, i16 0, i16 10069, i16 0, i16 10070, i16 0, i16 1878, i16 0, i16 10071, i16 11336, i16 8188, i16 11337, i16 0, i16 0, i16 0, i16 11338, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6100, i16 1552, i16 0, i16 1267, i16 0, i16 11339, i16 11340, i16 6102, i16 3865, i16 11341, i16 11342, i16 11343, i16 11344, i16 1300, i16 0, i16 3591, i16 11345, i16 1392, i16 6103, i16 842, i16 0, i16 0, i16 3622, i16 12516, i16 12517, i16 12518, i16 6729, i16 6544, i16 12519, i16 6728, i16 0, i16 0, i16 0, i16 12520, i16 12521, i16 6732, i16 6730, i16 6731, i16 12522, i16 6733, i16 0, i16 6734, i16 3641, i16 6735, i16 6736, i16 12523, i16 2290, i16 3028, i16 0, i16 0, i16 0, i16 11082, i16 5951, i16 11083, i16 5952, i16 11084, i16 1940, i16 1385, i16 2618, i16 11085, i16 0, i16 11086, i16 2862, i16 0, i16 11087, i16 0, i16 11088, i16 0, i16 888, i16 0, i16 5956, i16 5955, i16 0, i16 11089, i16 11090, i16 0, i16 5961, i16 5957, i16 5960, i16 0, i16 11091, i16 11092, i16 0, i16 2892, i16 4870, i16 2887, i16 9286, i16 9287, i16 9288, i16 9289, i16 0, i16 9290, i16 9291, i16 4874, i16 4861, i16 9292, i16 1349, i16 4864, i16 2028, i16 9293, i16 9294, i16 9295, i16 2971, i16 4866, i16 1352, i16 0, i16 4858, i16 4860, i16 4857, i16 9296, i16 9297, i16 3675, i16 1085, i16 4863, i16 9298, i16 10316, i16 0, i16 3457, i16 5469, i16 10317, i16 2577, i16 10318, i16 2981, i16 0, i16 1384, i16 10319, i16 0, i16 10320, i16 2558, i16 5470, i16 1335, i16 10321, i16 10322, i16 0, i16 2297, i16 10323, i16 0, i16 0, i16 0, i16 10324, i16 0, i16 0, i16 10325, i16 5471, i16 0, i16 0, i16 0, i16 10572, i16 0, i16 0, i16 0, i16 10573, i16 5598, i16 10574, i16 5600, i16 0, i16 10575, i16 10576, i16 0, i16 5603, i16 10577, i16 5604, i16 10578, i16 5601, i16 5602, i16 10579, i16 10580, i16 5599, i16 5597, i16 0, i16 10581, i16 0, i16 0, i16 5591, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3149, i16 8118, i16 0, i16 4121, i16 8102, i16 0, i16 8103, i16 8104, i16 0, i16 8105, i16 0, i16 0, i16 0, i16 8106, i16 0, i16 0, i16 8107, i16 0, i16 0, i16 0, i16 2154, i16 8108, i16 8109, i16 1898, i16 8110, i16 2968, i16 1201, i16 0, i16 1760, i16 8111, i16 8112, i16 8113, i16 7501, i16 7502, i16 0, i16 0, i16 7503, i16 3780, i16 3789, i16 7504, i16 0, i16 2393, i16 7505, i16 1533, i16 7506, i16 2967, i16 7507, i16 5253, i16 7508, i16 3788, i16 2780, i16 7509, i16 3777, i16 0, i16 1583, i16 7510, i16 7511, i16 1582, i16 3775, i16 7512, i16 7513, i16 7514, i16 7515, i16 1931, i16 2382, i16 3317, i16 1772, i16 10710, i16 0, i16 0, i16 10711, i16 0, i16 0, i16 0, i16 10712, i16 1850, i16 2686, i16 10713, i16 5691, i16 3628, i16 1742, i16 10714, i16 5692, i16 2189, i16 0, i16 5694, i16 0, i16 0, i16 0, i16 2111, i16 1701, i16 0, i16 10715, i16 10716, i16 10717, i16 5693, i16 4431, i16 8660, i16 1023, i16 4451, i16 4453, i16 2580, i16 0, i16 8661, i16 1693, i16 957, i16 4445, i16 4456, i16 4455, i16 1328, i16 0, i16 2446, i16 1097, i16 8662, i16 0, i16 0, i16 0, i16 1438, i16 0, i16 4446, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8663, i16 8664, i16 5455, i16 0, i16 10300, i16 0, i16 0, i16 3234, i16 0, i16 10301, i16 0, i16 0, i16 10302, i16 0, i16 2021, i16 3603, i16 10303, i16 10304, i16 5457, i16 10305, i16 0, i16 2836, i16 0, i16 10306, i16 5458, i16 0, i16 0, i16 5459, i16 0, i16 5463, i16 5461, i16 5462, i16 10307, i16 5460, i16 8528, i16 2628, i16 0, i16 1604, i16 2078, i16 0, i16 0, i16 3064, i16 0, i16 0, i16 2079, i16 8529, i16 0, i16 0, i16 8530, i16 2055, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2701, i16 3278, i16 2744, i16 0, i16 0, i16 1605, i16 0, i16 3155, i16 0, i16 0, i16 0, i16 4177, i16 8209, i16 4176, i16 8210, i16 0, i16 931, i16 0, i16 4178, i16 2070, i16 4180, i16 2536, i16 8211, i16 4179, i16 8212, i16 3208, i16 8213, i16 0, i16 0, i16 8214, i16 2054, i16 2778, i16 8215, i16 8216, i16 0, i16 4181, i16 8217, i16 0, i16 8218, i16 8219, i16 1596, i16 0, i16 0, i16 9810, i16 0, i16 5193, i16 0, i16 2972, i16 5189, i16 5192, i16 2101, i16 9811, i16 3050, i16 0, i16 0, i16 5196, i16 0, i16 1922, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9812, i16 0, i16 0, i16 0, i16 2339, i16 0, i16 0, i16 11346, i16 11347, i16 11348, i16 11349, i16 11350, i16 0, i16 0, i16 6104, i16 0, i16 11351, i16 0, i16 2609, i16 11352, i16 0, i16 0, i16 11353, i16 0, i16 6105, i16 0, i16 0, i16 0, i16 11354, i16 11355, i16 11356, i16 0, i16 2903, i16 11357, i16 771, i16 0, i16 0, i16 0, i16 0, i16 8787, i16 4558, i16 8788, i16 8789, i16 0, i16 0, i16 2328, i16 8790, i16 0, i16 8791, i16 4559, i16 8792, i16 0, i16 0, i16 4560, i16 1241, i16 4561, i16 0, i16 4562, i16 4563, i16 2492, i16 0, i16 0, i16 0, i16 1542, i16 8793, i16 0, i16 3442, i16 0, i16 8794, i16 0, i16 3311, i16 9299, i16 4873, i16 1048, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1756, i16 0, i16 0, i16 9300, i16 900, i16 0, i16 0, i16 4890, i16 9301, i16 0, i16 3676, i16 4893, i16 9302, i16 0, i16 9303, i16 0, i16 0, i16 2181, i16 4892, i16 0, i16 0, i16 0, i16 2388, i16 7075, i16 13117, i16 0, i16 0, i16 0, i16 13118, i16 0, i16 0, i16 0, i16 13119, i16 13120, i16 7076, i16 0, i16 0, i16 13121, i16 0, i16 13122, i16 13123, i16 0, i16 13124, i16 0, i16 0, i16 13125, i16 0, i16 13126, i16 13127, i16 3096, i16 13128, i16 13129, i16 7077, i16 13130, i16 5972, i16 0, i16 11115, i16 11116, i16 11117, i16 5975, i16 0, i16 11118, i16 0, i16 2423, i16 1456, i16 0, i16 0, i16 11119, i16 11120, i16 872, i16 5974, i16 11121, i16 1642, i16 11156, i16 11099, i16 11122, i16 11123, i16 11124, i16 2424, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12628, i16 6804, i16 0, i16 12629, i16 6803, i16 12638, i16 12630, i16 0, i16 0, i16 0, i16 0, i16 12631, i16 3326, i16 2825, i16 12632, i16 12633, i16 12634, i16 0, i16 12635, i16 12636, i16 887, i16 12637, i16 0, i16 6805, i16 6802, i16 0, i16 0, i16 3144, i16 3545, i16 6806, i16 12639, i16 0, i16 9813, i16 0, i16 0, i16 0, i16 5199, i16 9814, i16 0, i16 9815, i16 5191, i16 0, i16 1410, i16 0, i16 9816, i16 0, i16 0, i16 5197, i16 0, i16 0, i16 9817, i16 0, i16 3519, i16 5200, i16 0, i16 0, i16 0, i16 7100, i16 9818, i16 9819, i16 0, i16 0, i16 0, i16 2014, i16 11093, i16 11094, i16 3425, i16 5959, i16 989, i16 1120, i16 5963, i16 11095, i16 11096, i16 5965, i16 11097, i16 11098, i16 0, i16 0, i16 1455, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5969, i16 5978, i16 5979, i16 0, i16 0, i16 11100, i16 756, i16 11101, i16 11102, i16 11103, i16 343, i16 0, i16 348, i16 344, i16 0, i16 0, i16 0, i16 349, i16 330, i16 0, i16 0, i16 331, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 354, i16 0, i16 0, i16 356, i16 292, i16 0, i16 7256, i16 7341, i16 7259, i16 7344, i16 7258, i16 7343, i16 7178, i16 7194, i16 7270, i16 7355, i16 7267, i16 7352, i16 7264, i16 7349, i16 7269, i16 7354, i16 7266, i16 7351, i16 7268, i16 7353, i16 7275, i16 7360, i16 7278, i16 7363, i16 7277, i16 7279, i16 7364, i16 7281, i16 7366, i16 7280, i16 7365, i16 0, i16 11608, i16 6262, i16 0, i16 0, i16 0, i16 11609, i16 6264, i16 3558, i16 0, i16 6263, i16 2193, i16 0, i16 6265, i16 0, i16 0, i16 6266, i16 11610, i16 0, i16 6267, i16 1170, i16 11611, i16 11612, i16 11613, i16 11614, i16 0, i16 0, i16 6268, i16 0, i16 11615, i16 6269, i16 0, i16 6270, i16 345, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 338, i16 339, i16 337, i16 336, i16 358, i16 359, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 293, i16 357, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 355, i16 0, i16 0, i16 3929, i16 1996, i16 7764, i16 2322, i16 0, i16 3931, i16 3930, i16 2064, i16 1562, i16 3933, i16 3031, i16 7766, i16 7765, i16 3934, i16 0, i16 0, i16 0, i16 3061, i16 2457, i16 2515, i16 1317, i16 0, i16 0, i16 2891, i16 2548, i16 7767, i16 2985, i16 7768, i16 3329, i16 0, i16 3936, i16 0, i16 9049, i16 0, i16 1614, i16 4714, i16 9050, i16 0, i16 1696, i16 2087, i16 9051, i16 9052, i16 4713, i16 0, i16 2088, i16 9053, i16 3409, i16 1695, i16 0, i16 9054, i16 9055, i16 800, i16 2295, i16 9056, i16 9057, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4720, i16 9058, i16 9059, i16 2266, i16 5210, i16 0, i16 0, i16 0, i16 0, i16 2414, i16 1803, i16 5212, i16 0, i16 0, i16 0, i16 0, i16 5211, i16 2159, i16 3955, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5213, i16 0, i16 0, i16 9838, i16 5215, i16 0, i16 5198, i16 5214, i16 0, i16 9839, i16 5216, i16 9820, i16 0, i16 9821, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5201, i16 0, i16 0, i16 0, i16 5202, i16 0, i16 0, i16 9822, i16 9823, i16 2921, i16 9824, i16 9825, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5204, i16 9826, i16 0, i16 0, i16 0, i16 5205, i16 9827, i16 1630, i16 0, i16 5677, i16 0, i16 0, i16 0, i16 10695, i16 3605, i16 0, i16 10696, i16 0, i16 10697, i16 0, i16 0, i16 0, i16 5679, i16 0, i16 0, i16 5680, i16 0, i16 5681, i16 10698, i16 5682, i16 0, i16 1848, i16 0, i16 5683, i16 1450, i16 0, i16 0, i16 1289, i16 0, i16 10590, i16 1162, i16 0, i16 0, i16 0, i16 10591, i16 0, i16 0, i16 0, i16 0, i16 2560, i16 0, i16 10592, i16 2342, i16 0, i16 10593, i16 10594, i16 3003, i16 10595, i16 0, i16 5620, i16 10596, i16 10597, i16 0, i16 3005, i16 0, i16 10598, i16 10599, i16 10600, i16 10601, i16 0, i16 0, i16 3168, i16 1751, i16 1646, i16 0, i16 11793, i16 0, i16 0, i16 3142, i16 996, i16 3047, i16 6379, i16 1172, i16 2302, i16 6378, i16 6383, i16 2620, i16 3444, i16 0, i16 6381, i16 6382, i16 1229, i16 0, i16 6384, i16 2974, i16 2500, i16 11794, i16 11795, i16 3082, i16 2748, i16 6380, i16 0, i16 3322, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 1377, i16 0, i16 0, i16 2005, i16 0, i16 2841, i16 0, i16 0, i16 12248, i16 12249, i16 12250, i16 0, i16 0, i16 12251, i16 12252, i16 0, i16 0, i16 2356, i16 12253, i16 6614, i16 0, i16 6608, i16 6613, i16 12254, i16 3412, i16 12255, i16 2649, i16 6615, i16 6612, i16 0, i16 0, i16 12256, i16 10849, i16 0, i16 5794, i16 5796, i16 0, i16 3540, i16 5795, i16 5798, i16 5797, i16 0, i16 3522, i16 10850, i16 5799, i16 10851, i16 3095, i16 10852, i16 10853, i16 10854, i16 0, i16 0, i16 5800, i16 0, i16 10855, i16 10856, i16 0, i16 0, i16 5803, i16 0, i16 10857, i16 5802, i16 5801, i16 0, i16 5475, i16 10333, i16 10334, i16 10335, i16 0, i16 2773, i16 1739, i16 1261, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10336, i16 10337, i16 0, i16 10338, i16 0, i16 3287, i16 0, i16 2950, i16 10339, i16 0, i16 10340, i16 0, i16 0, i16 2774, i16 0, i16 0, i16 0, i16 0, i16 1651, i16 7523, i16 7524, i16 7525, i16 3790, i16 0, i16 7526, i16 7527, i16 3791, i16 3795, i16 791, i16 7528, i16 0, i16 7529, i16 0, i16 7530, i16 3237, i16 3794, i16 7531, i16 7532, i16 7533, i16 0, i16 3793, i16 3797, i16 7534, i16 0, i16 7535, i16 3796, i16 0, i16 2693, i16 0, i16 0, i16 7536, i16 9828, i16 9829, i16 0, i16 2926, i16 9830, i16 0, i16 0, i16 0, i16 2804, i16 5207, i16 0, i16 9831, i16 9832, i16 0, i16 5209, i16 0, i16 3618, i16 0, i16 5206, i16 9833, i16 5208, i16 916, i16 9834, i16 5203, i16 0, i16 9835, i16 9836, i16 0, i16 9837, i16 0, i16 0, i16 4051, i16 11876, i16 11877, i16 11878, i16 11879, i16 0, i16 0, i16 11880, i16 11881, i16 0, i16 0, i16 6445, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6434, i16 11882, i16 0, i16 11883, i16 6435, i16 6433, i16 11884, i16 11885, i16 11886, i16 11887, i16 0, i16 0, i16 0, i16 11888, i16 0, i16 0, i16 4709, i16 4710, i16 1212, i16 0, i16 0, i16 2905, i16 2553, i16 1291, i16 1840, i16 2408, i16 0, i16 0, i16 2027, i16 761, i16 0, i16 0, i16 9042, i16 4711, i16 9043, i16 0, i16 9044, i16 9045, i16 0, i16 0, i16 0, i16 9046, i16 935, i16 4715, i16 0, i16 0, i16 9047, i16 9048, i16 8037, i16 0, i16 8038, i16 8039, i16 8040, i16 8041, i16 4095, i16 766, i16 1748, i16 8042, i16 8043, i16 0, i16 8044, i16 1432, i16 8045, i16 8046, i16 2578, i16 0, i16 0, i16 8047, i16 8048, i16 0, i16 0, i16 4096, i16 4097, i16 0, i16 0, i16 4099, i16 0, i16 8049, i16 8050, i16 8051, i16 615, i16 616, i16 0, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 7126, i16 7129, i16 7131, i16 7132, i16 7133, i16 7134, i16 7141, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 6247, i16 11588, i16 11589, i16 11590, i16 6250, i16 0, i16 6249, i16 0, i16 0, i16 0, i16 6252, i16 11591, i16 0, i16 6251, i16 11592, i16 6253, i16 11593, i16 0, i16 1984, i16 11594, i16 6254, i16 11595, i16 0, i16 6255, i16 0, i16 0, i16 11596, i16 11597, i16 11598, i16 11599, i16 6256, i16 2279, i16 8295, i16 0, i16 8296, i16 0, i16 0, i16 0, i16 0, i16 8297, i16 0, i16 0, i16 0, i16 0, i16 8298, i16 0, i16 0, i16 0, i16 0, i16 8299, i16 8300, i16 8301, i16 0, i16 8302, i16 0, i16 0, i16 8303, i16 0, i16 8304, i16 8305, i16 4208, i16 4212, i16 4209, i16 8306, i16 1128, i16 7640, i16 3851, i16 7641, i16 3849, i16 3406, i16 3850, i16 0, i16 3153, i16 3852, i16 3853, i16 3854, i16 2782, i16 7642, i16 0, i16 0, i16 3858, i16 3856, i16 3857, i16 3855, i16 1752, i16 3859, i16 3451, i16 3633, i16 7643, i16 0, i16 7644, i16 0, i16 7645, i16 3860, i16 7646, i16 7647, i16 2152, i16 12316, i16 6626, i16 6628, i16 12317, i16 12318, i16 1360, i16 12319, i16 3132, i16 12320, i16 12321, i16 1939, i16 3662, i16 0, i16 6624, i16 1773, i16 0, i16 0, i16 3690, i16 12322, i16 12323, i16 6630, i16 12324, i16 12325, i16 0, i16 0, i16 6629, i16 6631, i16 0, i16 0, i16 0, i16 0, i16 3944, i16 7785, i16 0, i16 0, i16 7786, i16 3946, i16 3945, i16 0, i16 2218, i16 864, i16 7787, i16 7788, i16 0, i16 901, i16 3947, i16 7789, i16 3948, i16 0, i16 7790, i16 1520, i16 7791, i16 7792, i16 3949, i16 7793, i16 7794, i16 0, i16 7795, i16 1293, i16 0, i16 7796, i16 0, i16 0, i16 4200, i16 3671, i16 0, i16 0, i16 8271, i16 8272, i16 2951, i16 8273, i16 8274, i16 4202, i16 0, i16 0, i16 8275, i16 0, i16 0, i16 0, i16 8276, i16 0, i16 0, i16 0, i16 0, i16 8277, i16 0, i16 0, i16 0, i16 0, i16 1692, i16 0, i16 0, i16 0, i16 8278, i16 0, i16 5994, i16 0, i16 5984, i16 0, i16 0, i16 0, i16 11142, i16 11143, i16 5996, i16 11144, i16 5982, i16 2999, i16 11145, i16 11170, i16 0, i16 0, i16 0, i16 3544, i16 0, i16 0, i16 0, i16 5991, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6013, i16 11146, i16 11147, i16 4972, i16 0, i16 9436, i16 4974, i16 4973, i16 9437, i16 3339, i16 0, i16 0, i16 2029, i16 1949, i16 1815, i16 0, i16 4975, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4977, i16 2158, i16 9438, i16 4976, i16 0, i16 0, i16 9439, i16 0, i16 0, i16 4978, i16 9440, i16 5228, i16 9855, i16 9856, i16 9857, i16 0, i16 9858, i16 5229, i16 3239, i16 3040, i16 0, i16 0, i16 5230, i16 2962, i16 0, i16 9859, i16 9860, i16 9861, i16 0, i16 2638, i16 9862, i16 0, i16 9863, i16 9864, i16 0, i16 5231, i16 1004, i16 9865, i16 1292, i16 9866, i16 3415, i16 9867, i16 3399, i16 365, i16 366, i16 0, i16 0, i16 0, i16 258, i16 257, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 361, i16 0, i16 297, i16 298, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 323, i16 0, i16 0, i16 0, i16 0, i16 878, i16 9060, i16 9061, i16 9062, i16 9063, i16 2020, i16 9064, i16 3353, i16 1767, i16 9065, i16 9066, i16 9067, i16 9068, i16 2089, i16 9069, i16 2256, i16 9070, i16 9071, i16 0, i16 9072, i16 4719, i16 4717, i16 4718, i16 9074, i16 0, i16 9073, i16 0, i16 0, i16 2606, i16 0, i16 0, i16 4750, i16 10350, i16 10351, i16 0, i16 10352, i16 10353, i16 0, i16 0, i16 0, i16 10354, i16 0, i16 10355, i16 3583, i16 1628, i16 0, i16 10356, i16 1504, i16 0, i16 0, i16 3004, i16 0, i16 5479, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10357, i16 0, i16 5481, i16 0, i16 10358, i16 0, i16 6767, i16 7051, i16 3421, i16 12559, i16 6768, i16 0, i16 6769, i16 12560, i16 6770, i16 1082, i16 12561, i16 6772, i16 0, i16 2212, i16 12562, i16 0, i16 0, i16 6773, i16 0, i16 12563, i16 1407, i16 0, i16 12564, i16 12565, i16 12566, i16 6774, i16 6778, i16 12567, i16 6776, i16 12568, i16 0, i16 12569, i16 9328, i16 9329, i16 4897, i16 9330, i16 0, i16 4904, i16 0, i16 0, i16 0, i16 0, i16 4910, i16 3086, i16 4916, i16 0, i16 0, i16 9331, i16 0, i16 9332, i16 4911, i16 4914, i16 4908, i16 9333, i16 0, i16 2615, i16 0, i16 3119, i16 9334, i16 4898, i16 0, i16 9335, i16 4906, i16 2093, i16 9840, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2997, i16 9841, i16 9842, i16 9843, i16 0, i16 0, i16 0, i16 5217, i16 0, i16 0, i16 5218, i16 0, i16 0, i16 9844, i16 0, i16 0, i16 0, i16 9845, i16 0, i16 0, i16 9846, i16 5219, i16 0, i16 9847, i16 0, i16 9848, i16 10096, i16 10097, i16 0, i16 1805, i16 10098, i16 928, i16 5328, i16 10099, i16 3520, i16 10100, i16 10101, i16 3256, i16 5329, i16 0, i16 0, i16 10102, i16 2755, i16 3490, i16 1626, i16 2184, i16 0, i16 0, i16 10103, i16 2574, i16 3918, i16 10104, i16 2639, i16 1005, i16 5330, i16 10105, i16 10106, i16 10107, i16 7537, i16 0, i16 7538, i16 7539, i16 0, i16 1485, i16 7540, i16 7541, i16 0, i16 0, i16 7542, i16 0, i16 3798, i16 7543, i16 0, i16 0, i16 7544, i16 7545, i16 1910, i16 0, i16 2443, i16 2694, i16 1395, i16 0, i16 3799, i16 0, i16 0, i16 0, i16 0, i16 1237, i16 0, i16 0, i16 11377, i16 11378, i16 0, i16 11379, i16 6114, i16 11380, i16 6115, i16 1929, i16 0, i16 6117, i16 0, i16 2564, i16 0, i16 1457, i16 1061, i16 0, i16 0, i16 11381, i16 11382, i16 0, i16 6120, i16 11383, i16 0, i16 11384, i16 0, i16 1058, i16 11385, i16 6125, i16 11386, i16 0, i16 6121, i16 6124, i16 11889, i16 11890, i16 6432, i16 0, i16 2718, i16 0, i16 0, i16 6437, i16 6441, i16 6438, i16 6436, i16 11891, i16 6439, i16 11892, i16 11893, i16 11894, i16 6440, i16 0, i16 0, i16 0, i16 11895, i16 6447, i16 0, i16 0, i16 0, i16 6442, i16 0, i16 11896, i16 11897, i16 11898, i16 11899, i16 2305, i16 10866, i16 940, i16 0, i16 10867, i16 0, i16 5812, i16 5813, i16 0, i16 10868, i16 0, i16 5814, i16 0, i16 3537, i16 0, i16 10869, i16 10870, i16 0, i16 0, i16 1979, i16 0, i16 5816, i16 5815, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10871, i16 0, i16 0, i16 0, i16 10872, i16 3699, i16 4782, i16 2240, i16 0, i16 0, i16 0, i16 4781, i16 0, i16 0, i16 4776, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1544, i16 9169, i16 9170, i16 9171, i16 4788, i16 4786, i16 9172, i16 978, i16 4784, i16 4790, i16 4796, i16 0, i16 9173, i16 9174, i16 9175, i16 0, i16 0, i16 7283, i16 7282, i16 7285, i16 7291, i16 7284, i16 7290, i16 7180, i16 7295, i16 7299, i16 7298, i16 7301, i16 7300, i16 7312, i16 7311, i16 7314, i16 7313, i16 7182, i16 7327, i16 7329, i16 7328, i16 7331, i16 7335, i16 7330, i16 285, i16 7191, i16 7346, i16 7345, i16 7348, i16 7347, i16 7361, i16 7195, i16 7362, i16 9075, i16 4724, i16 1873, i16 1615, i16 4722, i16 9076, i16 9077, i16 0, i16 0, i16 4723, i16 9078, i16 2179, i16 9079, i16 0, i16 9081, i16 4721, i16 0, i16 9080, i16 1794, i16 0, i16 0, i16 0, i16 0, i16 9082, i16 9083, i16 9084, i16 0, i16 9085, i16 9086, i16 4726, i16 4725, i16 4730, i16 1908, i16 0, i16 11233, i16 11234, i16 0, i16 0, i16 6015, i16 11235, i16 0, i16 0, i16 0, i16 0, i16 11236, i16 0, i16 11237, i16 0, i16 11238, i16 3235, i16 0, i16 3379, i16 6055, i16 6054, i16 0, i16 6050, i16 6051, i16 0, i16 861, i16 0, i16 11239, i16 0, i16 11240, i16 6053, i16 1909, i16 0, i16 0, i16 0, i16 2851, i16 5627, i16 5626, i16 0, i16 10612, i16 5623, i16 10613, i16 0, i16 0, i16 3681, i16 0, i16 0, i16 0, i16 0, i16 10614, i16 5632, i16 10615, i16 10616, i16 5636, i16 5633, i16 10617, i16 10618, i16 10619, i16 0, i16 10620, i16 0, i16 10621, i16 0, i16 7797, i16 0, i16 1797, i16 3950, i16 0, i16 7798, i16 0, i16 0, i16 3367, i16 1706, i16 1273, i16 3478, i16 2391, i16 3032, i16 1966, i16 7799, i16 0, i16 0, i16 7800, i16 7801, i16 2006, i16 7802, i16 1945, i16 1958, i16 0, i16 2053, i16 7803, i16 3033, i16 0, i16 7804, i16 7805, i16 3953, i16 12917, i16 0, i16 12918, i16 0, i16 6964, i16 0, i16 6960, i16 0, i16 6961, i16 6957, i16 6963, i16 12919, i16 6959, i16 1093, i16 0, i16 12920, i16 3703, i16 12921, i16 6962, i16 6958, i16 6956, i16 6955, i16 12922, i16 0, i16 12923, i16 12924, i16 12925, i16 6966, i16 12926, i16 0, i16 12927, i16 0, i16 9590, i16 2555, i16 9591, i16 0, i16 5069, i16 9592, i16 5058, i16 0, i16 5064, i16 9593, i16 5071, i16 837, i16 5061, i16 0, i16 5072, i16 9594, i16 9595, i16 2183, i16 0, i16 2030, i16 9596, i16 3194, i16 9597, i16 1699, i16 0, i16 5053, i16 5067, i16 2745, i16 9598, i16 0, i16 0, i16 0, i16 3448, i16 0, i16 6681, i16 2357, i16 12444, i16 0, i16 0, i16 6682, i16 12445, i16 3225, i16 6683, i16 1038, i16 12446, i16 12447, i16 12448, i16 867, i16 0, i16 1176, i16 0, i16 1175, i16 6684, i16 0, i16 6685, i16 0, i16 6686, i16 6687, i16 0, i16 0, i16 0, i16 12449, i16 12450, i16 12451, i16 4472, i16 4470, i16 8699, i16 2401, i16 0, i16 8700, i16 0, i16 4460, i16 1799, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2475, i16 4491, i16 8701, i16 2402, i16 4486, i16 8702, i16 4483, i16 4484, i16 8703, i16 1943, i16 4487, i16 4490, i16 8704, i16 8705, i16 0, i16 0, i16 6008, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11157, i16 3267, i16 11158, i16 5999, i16 0, i16 0, i16 0, i16 991, i16 1551, i16 3104, i16 6009, i16 0, i16 5997, i16 0, i16 11159, i16 6006, i16 11160, i16 11161, i16 0, i16 6016, i16 11162, i16 6001, i16 0, i16 0, i16 9336, i16 3424, i16 4926, i16 4913, i16 9337, i16 0, i16 0, i16 0, i16 9338, i16 1499, i16 936, i16 1090, i16 0, i16 0, i16 4889, i16 0, i16 9339, i16 0, i16 9340, i16 0, i16 9341, i16 2094, i16 4918, i16 9342, i16 4925, i16 1962, i16 1109, i16 9343, i16 0, i16 2545, i16 9344, i16 9345, i16 11640, i16 0, i16 11641, i16 1480, i16 11642, i16 6284, i16 11643, i16 0, i16 0, i16 0, i16 3295, i16 11644, i16 11645, i16 2312, i16 0, i16 11646, i16 0, i16 1301, i16 0, i16 3462, i16 2385, i16 11647, i16 6285, i16 11648, i16 0, i16 0, i16 2194, i16 2611, i16 2119, i16 11649, i16 11650, i16 0, i16 8313, i16 2599, i16 0, i16 4213, i16 0, i16 8314, i16 4215, i16 0, i16 0, i16 4216, i16 8315, i16 0, i16 0, i16 0, i16 8316, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8317, i16 8318, i16 0, i16 0, i16 0, i16 4218, i16 4219, i16 0, i16 8319, i16 0, i16 0, i16 11129, i16 0, i16 11130, i16 0, i16 11131, i16 5980, i16 11132, i16 5988, i16 0, i16 5995, i16 5989, i16 0, i16 0, i16 11133, i16 5987, i16 0, i16 0, i16 0, i16 11134, i16 5958, i16 11135, i16 11136, i16 5985, i16 0, i16 11137, i16 11138, i16 5981, i16 11139, i16 11140, i16 11141, i16 1169, i16 5983, i16 890, i16 11664, i16 6294, i16 1459, i16 0, i16 11665, i16 1857, i16 11666, i16 0, i16 1856, i16 0, i16 3704, i16 6293, i16 6292, i16 2350, i16 0, i16 1260, i16 3694, i16 1053, i16 2121, i16 0, i16 11667, i16 11668, i16 11669, i16 0, i16 11670, i16 11671, i16 11672, i16 6291, i16 0, i16 11673, i16 11674, i16 3962, i16 0, i16 3663, i16 7821, i16 7822, i16 0, i16 3271, i16 7823, i16 2697, i16 1563, i16 1671, i16 0, i16 0, i16 7824, i16 3970, i16 7825, i16 0, i16 2874, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7826, i16 3974, i16 3707, i16 4830, i16 0, i16 0, i16 4844, i16 801, i16 9267, i16 0, i16 4832, i16 9268, i16 9269, i16 3403, i16 4837, i16 2157, i16 2664, i16 4827, i16 9270, i16 9271, i16 4843, i16 9272, i16 0, i16 0, i16 9273, i16 9274, i16 0, i16 2245, i16 4853, i16 1108, i16 1498, i16 0, i16 0, i16 0, i16 11387, i16 0, i16 0, i16 11388, i16 3027, i16 11389, i16 0, i16 11390, i16 0, i16 6122, i16 0, i16 0, i16 6123, i16 3135, i16 3059, i16 6126, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2530, i16 6136, i16 11392, i16 6132, i16 11393, i16 11394, i16 1008, i16 0, i16 2172, i16 0, i16 0, i16 8264, i16 8265, i16 4194, i16 0, i16 8266, i16 8267, i16 3247, i16 8268, i16 0, i16 0, i16 8269, i16 0, i16 1565, i16 8270, i16 0, i16 0, i16 0, i16 0, i16 4203, i16 4204, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2072, i16 0, i16 0, i16 0, i16 6012, i16 0, i16 6011, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2982, i16 6018, i16 0, i16 6029, i16 0, i16 0, i16 11171, i16 0, i16 1121, i16 0, i16 0, i16 0, i16 6032, i16 0, i16 0, i16 6014, i16 11172, i16 0, i16 0, i16 6019, i16 3549, i16 0, i16 0, i16 10108, i16 0, i16 0, i16 10109, i16 5331, i16 0, i16 5336, i16 10110, i16 10111, i16 5334, i16 5333, i16 4684, i16 1033, i16 5332, i16 10112, i16 803, i16 10113, i16 3011, i16 10114, i16 0, i16 3043, i16 0, i16 0, i16 10115, i16 0, i16 3582, i16 5337, i16 5335, i16 2591, i16 2255, i16 10116, i16 10117, i16 7806, i16 874, i16 2392, i16 1590, i16 1534, i16 1380, i16 7807, i16 7808, i16 3957, i16 2532, i16 2531, i16 1320, i16 2065, i16 3958, i16 3956, i16 969, i16 2507, i16 1897, i16 1822, i16 845, i16 0, i16 7809, i16 1107, i16 1661, i16 1821, i16 0, i16 3959, i16 0, i16 0, i16 0, i16 0, i16 0, i16 639, i16 640, i16 7138, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 7135, i16 7140, i16 7137, i16 7139, i16 7142, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6271, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1076, i16 0, i16 11616, i16 11617, i16 11618, i16 11619, i16 11620, i16 0, i16 6272, i16 0, i16 6273, i16 6274, i16 0, i16 0, i16 9087, i16 9088, i16 4731, i16 0, i16 4727, i16 0, i16 1029, i16 4728, i16 4729, i16 3054, i16 9090, i16 9091, i16 9092, i16 0, i16 3160, i16 1445, i16 4732, i16 0, i16 0, i16 9094, i16 2267, i16 9095, i16 2090, i16 9097, i16 9098, i16 9099, i16 2581, i16 9100, i16 9102, i16 0, i16 9093, i16 9096, i16 9599, i16 0, i16 0, i16 0, i16 9600, i16 2271, i16 0, i16 1100, i16 1734, i16 2097, i16 5055, i16 2001, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1447, i16 0, i16 5054, i16 0, i16 0, i16 0, i16 5076, i16 2044, i16 1523, i16 0, i16 5091, i16 9601, i16 5085, i16 8320, i16 8321, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8322, i16 1203, i16 0, i16 4221, i16 4220, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4222, i16 8323, i16 0, i16 8325, i16 0, i16 8326, i16 0, i16 8327, i16 0, i16 0, i16 8576, i16 4395, i16 0, i16 0, i16 8577, i16 8578, i16 0, i16 8579, i16 4396, i16 0, i16 1325, i16 0, i16 4397, i16 8580, i16 4398, i16 0, i16 8581, i16 4400, i16 0, i16 2805, i16 8582, i16 0, i16 4401, i16 4402, i16 8583, i16 4403, i16 0, i16 8584, i16 4388, i16 4387, i16 0, i16 0, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 0, i16 0, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 1665, i16 2915, i16 0, i16 0, i16 5051, i16 0, i16 0, i16 0, i16 9719, i16 9720, i16 0, i16 3555, i16 5149, i16 0, i16 5153, i16 2522, i16 9721, i16 5152, i16 0, i16 5131, i16 0, i16 9722, i16 6697, i16 0, i16 0, i16 9723, i16 5157, i16 0, i16 9724, i16 9725, i16 5161, i16 0, i16 5249, i16 5250, i16 5248, i16 0, i16 0, i16 9900, i16 0, i16 0, i16 0, i16 1950, i16 0, i16 0, i16 2853, i16 1334, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9901, i16 9902, i16 0, i16 0, i16 5252, i16 2543, i16 5251, i16 9903, i16 9904, i16 3680, i16 2973, i16 9905, i16 0, i16 5507, i16 1426, i16 0, i16 0, i16 10420, i16 10421, i16 10422, i16 1247, i16 1222, i16 1846, i16 10423, i16 10424, i16 0, i16 0, i16 0, i16 10425, i16 3491, i16 10426, i16 0, i16 5513, i16 10427, i16 5512, i16 2379, i16 5509, i16 10428, i16 0, i16 5511, i16 10429, i16 10430, i16 2010, i16 2187, i16 5510, i16 11651, i16 6286, i16 0, i16 11652, i16 0, i16 11653, i16 6289, i16 11654, i16 6290, i16 11655, i16 0, i16 0, i16 0, i16 11656, i16 11657, i16 0, i16 1715, i16 2471, i16 6288, i16 11658, i16 2120, i16 3125, i16 11659, i16 11660, i16 11661, i16 0, i16 0, i16 6287, i16 11662, i16 11663, i16 1855, i16 0, i16 5508, i16 0, i16 2917, i16 0, i16 0, i16 2106, i16 0, i16 10431, i16 3123, i16 10432, i16 0, i16 10433, i16 0, i16 1740, i16 0, i16 0, i16 0, i16 0, i16 10434, i16 0, i16 0, i16 0, i16 0, i16 2807, i16 0, i16 10435, i16 5514, i16 10436, i16 10437, i16 0, i16 10438, i16 5515, i16 4485, i16 1972, i16 8706, i16 4488, i16 0, i16 0, i16 4482, i16 8707, i16 3469, i16 3468, i16 8708, i16 0, i16 8709, i16 4492, i16 4493, i16 798, i16 8710, i16 8711, i16 8712, i16 8713, i16 8714, i16 4481, i16 8715, i16 8716, i16 0, i16 8717, i16 1391, i16 751, i16 8718, i16 0, i16 8719, i16 1143, i16 4230, i16 8332, i16 0, i16 4228, i16 0, i16 4229, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8333, i16 8334, i16 0, i16 0, i16 0, i16 1829, i16 4231, i16 8335, i16 0, i16 1597, i16 4232, i16 8336, i16 1869, i16 2461, i16 0, i16 4233, i16 4234, i16 1837, i16 1598, i16 8337, i16 3427, i16 1673, i16 0, i16 3259, i16 5542, i16 10499, i16 10500, i16 3335, i16 10501, i16 10502, i16 5544, i16 0, i16 0, i16 10503, i16 2298, i16 886, i16 959, i16 757, i16 0, i16 0, i16 0, i16 0, i16 10504, i16 10505, i16 5543, i16 0, i16 10506, i16 0, i16 0, i16 10507, i16 10508, i16 0, i16 10509, i16 2441, i16 6521, i16 754, i16 3661, i16 0, i16 0, i16 0, i16 6526, i16 12021, i16 12022, i16 12024, i16 0, i16 12025, i16 12026, i16 2502, i16 12023, i16 0, i16 1988, i16 2197, i16 12027, i16 12028, i16 6528, i16 6527, i16 12029, i16 824, i16 6529, i16 0, i16 0, i16 3110, i16 0, i16 6537, i16 12030, i16 8585, i16 4404, i16 1436, i16 8586, i16 8587, i16 0, i16 3102, i16 8588, i16 0, i16 1729, i16 3118, i16 2631, i16 3138, i16 4405, i16 0, i16 8589, i16 2081, i16 877, i16 8590, i16 4406, i16 8591, i16 8592, i16 0, i16 4407, i16 8593, i16 3459, i16 8594, i16 0, i16 3065, i16 8595, i16 8596, i16 4410, i16 10634, i16 1163, i16 0, i16 5637, i16 0, i16 10635, i16 10636, i16 5638, i16 10637, i16 0, i16 5639, i16 5642, i16 10638, i16 0, i16 0, i16 0, i16 0, i16 10639, i16 0, i16 10640, i16 10641, i16 0, i16 10642, i16 5641, i16 3087, i16 10643, i16 10644, i16 0, i16 0, i16 5643, i16 3657, i16 3266, i16 1675, i16 3402, i16 12998, i16 12997, i16 7003, i16 12999, i16 0, i16 0, i16 0, i16 13000, i16 13001, i16 13002, i16 3301, i16 0, i16 0, i16 7011, i16 13003, i16 0, i16 7007, i16 0, i16 0, i16 0, i16 13004, i16 13005, i16 0, i16 0, i16 7012, i16 13006, i16 13007, i16 0, i16 13008, i16 0, i16 7563, i16 7564, i16 7565, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7566, i16 0, i16 1722, i16 3506, i16 0, i16 7567, i16 7568, i16 0, i16 3804, i16 3807, i16 3803, i16 1721, i16 0, i16 2060, i16 0, i16 7569, i16 7570, i16 0, i16 0, i16 7571, i16 1428, i16 0, i16 3980, i16 7837, i16 0, i16 7838, i16 3982, i16 7839, i16 3984, i16 0, i16 7840, i16 7841, i16 0, i16 1765, i16 3693, i16 7842, i16 3973, i16 3971, i16 3983, i16 7843, i16 3978, i16 0, i16 0, i16 7844, i16 7845, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7846, i16 0, i16 0, i16 7847, i16 9868, i16 953, i16 3679, i16 9869, i16 0, i16 0, i16 0, i16 3333, i16 9870, i16 3199, i16 0, i16 9871, i16 0, i16 0, i16 9872, i16 9873, i16 0, i16 9874, i16 2272, i16 0, i16 5232, i16 0, i16 0, i16 9875, i16 9876, i16 2848, i16 0, i16 9877, i16 9878, i16 1500, i16 5233, i16 9879, i16 11148, i16 6005, i16 0, i16 0, i16 0, i16 2246, i16 0, i16 11149, i16 0, i16 11150, i16 1253, i16 0, i16 1370, i16 0, i16 6000, i16 11151, i16 11152, i16 11153, i16 0, i16 992, i16 11154, i16 0, i16 2113, i16 0, i16 6003, i16 0, i16 0, i16 0, i16 1743, i16 11155, i16 0, i16 2768, i16 4749, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4751, i16 0, i16 9131, i16 4752, i16 0, i16 9132, i16 9133, i16 0, i16 9134, i16 0, i16 4753, i16 0, i16 1351, i16 879, i16 1616, i16 4754, i16 0, i16 4755, i16 2048, i16 2409, i16 9135, i16 9089, i16 3954, i16 2373, i16 2372, i16 2493, i16 9101, i16 1348, i16 0, i16 4733, i16 4737, i16 0, i16 0, i16 976, i16 4734, i16 4736, i16 0, i16 9103, i16 9104, i16 9105, i16 4735, i16 0, i16 9106, i16 2042, i16 9107, i16 0, i16 0, i16 0, i16 2571, i16 782, i16 4738, i16 9108, i16 9109, i16 9110, i16 9111, i16 4739, i16 0, i16 9112, i16 10897, i16 5830, i16 0, i16 0, i16 10898, i16 0, i16 10899, i16 0, i16 5831, i16 0, i16 0, i16 0, i16 10900, i16 0, i16 10901, i16 0, i16 10902, i16 0, i16 0, i16 1883, i16 10903, i16 10904, i16 3454, i16 10905, i16 0, i16 10906, i16 10907, i16 5833, i16 10908, i16 2562, i16 10909, i16 5832, i16 3218, i16 3626, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8131, i16 1017, i16 4128, i16 8132, i16 8133, i16 0, i16 8134, i16 8135, i16 2369, i16 4131, i16 0, i16 2786, i16 8136, i16 0, i16 2760, i16 2787, i16 3026, i16 2670, i16 0, i16 0, i16 0, i16 1726, i16 8137, i16 3731, i16 3303, i16 3732, i16 0, i16 1579, i16 816, i16 3365, i16 0, i16 1307, i16 0, i16 0, i16 1308, i16 1309, i16 2691, i16 3593, i16 7399, i16 3733, i16 0, i16 0, i16 3734, i16 0, i16 0, i16 3735, i16 0, i16 0, i16 7400, i16 2200, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4243, i16 8345, i16 0, i16 4244, i16 8346, i16 2517, i16 8347, i16 846, i16 1946, i16 779, i16 8348, i16 2398, i16 1137, i16 1894, i16 8349, i16 1599, i16 8350, i16 8351, i16 0, i16 8352, i16 8353, i16 2789, i16 8354, i16 1968, i16 1138, i16 2603, i16 2699, i16 769, i16 1240, i16 3274, i16 0, i16 1907, i16 7060, i16 0, i16 0, i16 0, i16 13092, i16 7061, i16 0, i16 13093, i16 7062, i16 0, i16 0, i16 0, i16 13094, i16 13095, i16 13096, i16 7063, i16 13097, i16 13098, i16 13099, i16 0, i16 7064, i16 13100, i16 7065, i16 7066, i16 13101, i16 7067, i16 0, i16 7068, i16 7069, i16 7070, i16 0, i16 13102, i16 7572, i16 0, i16 3808, i16 7573, i16 7574, i16 1356, i16 0, i16 7575, i16 0, i16 3805, i16 3806, i16 0, i16 7576, i16 2828, i16 7577, i16 2435, i16 7578, i16 1312, i16 0, i16 7579, i16 7580, i16 3328, i16 3809, i16 0, i16 7581, i16 0, i16 3594, i16 0, i16 7582, i16 7583, i16 3810, i16 7584, i16 6549, i16 6548, i16 6546, i16 5564, i16 1173, i16 12043, i16 0, i16 6514, i16 12044, i16 6551, i16 6550, i16 12045, i16 12046, i16 0, i16 12047, i16 6552, i16 12048, i16 3495, i16 0, i16 0, i16 0, i16 12049, i16 0, i16 12050, i16 12051, i16 12052, i16 0, i16 12053, i16 0, i16 0, i16 0, i16 0, i16 2710, i16 2000, i16 1280, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9490, i16 9491, i16 0, i16 9492, i16 3039, i16 9493, i16 1887, i16 0, i16 9494, i16 0, i16 9495, i16 5004, i16 0, i16 1153, i16 0, i16 9496, i16 927, i16 9497, i16 9498, i16 2895, i16 5003, i16 1621, i16 10390, i16 10391, i16 0, i16 0, i16 10387, i16 0, i16 10392, i16 5497, i16 3348, i16 0, i16 10393, i16 0, i16 5496, i16 0, i16 0, i16 820, i16 0, i16 0, i16 10394, i16 10395, i16 5500, i16 0, i16 10397, i16 10398, i16 0, i16 0, i16 10399, i16 10400, i16 0, i16 5499, i16 0, i16 10401, i16 12184, i16 12185, i16 0, i16 0, i16 12186, i16 12187, i16 12188, i16 12189, i16 0, i16 12190, i16 12191, i16 0, i16 12192, i16 2876, i16 1062, i16 0, i16 12193, i16 6601, i16 12194, i16 12195, i16 6598, i16 6600, i16 12196, i16 0, i16 12197, i16 0, i16 0, i16 0, i16 12198, i16 12199, i16 6596, i16 0, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 3481, i16 0, i16 8676, i16 1142, i16 8677, i16 8678, i16 896, i16 4468, i16 8679, i16 2933, i16 758, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8680, i16 8681, i16 3066, i16 4428, i16 4474, i16 4478, i16 3446, i16 8682, i16 4471, i16 0, i16 0, i16 8683, i16 2792, i16 4476, i16 8684, i16 0, i16 9113, i16 0, i16 2635, i16 0, i16 9114, i16 0, i16 3646, i16 0, i16 0, i16 0, i16 0, i16 1814, i16 0, i16 9115, i16 3264, i16 0, i16 0, i16 9116, i16 9117, i16 0, i16 3312, i16 9118, i16 0, i16 0, i16 4746, i16 4741, i16 0, i16 9119, i16 4744, i16 0, i16 4743, i16 9120, i16 922, i16 2387, i16 12036, i16 1512, i16 0, i16 3529, i16 12037, i16 12038, i16 6541, i16 2731, i16 0, i16 0, i16 12039, i16 2431, i16 1928, i16 6542, i16 12040, i16 0, i16 6545, i16 0, i16 12041, i16 2036, i16 6543, i16 2354, i16 2353, i16 12042, i16 813, i16 0, i16 3608, i16 6547, i16 0, i16 3083, i16 2714, i16 5730, i16 10770, i16 0, i16 5726, i16 10771, i16 10772, i16 0, i16 3241, i16 1164, i16 10773, i16 10774, i16 3420, i16 10775, i16 0, i16 807, i16 0, i16 10776, i16 5729, i16 0, i16 3658, i16 10777, i16 10778, i16 0, i16 0, i16 10779, i16 10780, i16 5728, i16 0, i16 0, i16 0, i16 0, i16 11930, i16 11931, i16 0, i16 11932, i16 11933, i16 6468, i16 6465, i16 11934, i16 6469, i16 0, i16 1927, i16 6470, i16 1231, i16 1422, i16 0, i16 11935, i16 0, i16 11936, i16 1511, i16 0, i16 11937, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6471, i16 11938, i16 0, i16 0, i16 2893, i16 11419, i16 0, i16 0, i16 11420, i16 0, i16 11421, i16 0, i16 0, i16 0, i16 2319, i16 0, i16 3684, i16 6148, i16 11422, i16 6149, i16 0, i16 0, i16 0, i16 0, i16 6155, i16 0, i16 2165, i16 0, i16 6151, i16 11423, i16 6154, i16 0, i16 0, i16 0, i16 11424, i16 0, i16 6146, i16 11675, i16 0, i16 6296, i16 11676, i16 6297, i16 6295, i16 11677, i16 1553, i16 0, i16 3503, i16 0, i16 11678, i16 1858, i16 2914, i16 0, i16 11679, i16 11680, i16 6300, i16 11681, i16 2281, i16 0, i16 2565, i16 11682, i16 11683, i16 3493, i16 11684, i16 6303, i16 0, i16 0, i16 0, i16 1573, i16 11685, i16 10140, i16 10141, i16 5356, i16 5358, i16 10142, i16 3129, i16 10143, i16 2102, i16 0, i16 0, i16 5365, i16 0, i16 10144, i16 5364, i16 10145, i16 10146, i16 0, i16 0, i16 5366, i16 0, i16 1879, i16 1700, i16 0, i16 10147, i16 2806, i16 5367, i16 0, i16 2668, i16 10148, i16 0, i16 5369, i16 10149, i16 10396, i16 2105, i16 0, i16 0, i16 0, i16 0, i16 10402, i16 5501, i16 0, i16 0, i16 0, i16 0, i16 10403, i16 0, i16 2378, i16 0, i16 10404, i16 5503, i16 5502, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5504, i16 10405, i16 0, i16 10406, i16 0, i16 10407, i16 10408, i16 5789, i16 10839, i16 0, i16 10840, i16 10841, i16 10842, i16 10843, i16 5792, i16 5790, i16 5791, i16 1750, i16 1454, i16 0, i16 10844, i16 2585, i16 0, i16 3020, i16 10845, i16 2047, i16 0, i16 0, i16 2952, i16 0, i16 3078, i16 5793, i16 4539, i16 0, i16 0, i16 0, i16 10846, i16 10847, i16 10848, i16 10910, i16 0, i16 0, i16 0, i16 10911, i16 0, i16 5835, i16 0, i16 0, i16 0, i16 5834, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5836, i16 0, i16 0, i16 0, i16 2276, i16 0, i16 5837, i16 0, i16 5838, i16 0, i16 0, i16 0, i16 3214, i16 5839, i16 12702, i16 12703, i16 6839, i16 0, i16 0, i16 6841, i16 12704, i16 12705, i16 12706, i16 6840, i16 0, i16 6843, i16 6846, i16 12707, i16 12708, i16 0, i16 6842, i16 6844, i16 6845, i16 0, i16 12709, i16 6847, i16 0, i16 1343, i16 12710, i16 12711, i16 0, i16 12712, i16 12713, i16 0, i16 12714, i16 12715, i16 1951, i16 9987, i16 0, i16 9988, i16 0, i16 5280, i16 9989, i16 9990, i16 0, i16 9991, i16 1433, i16 0, i16 0, i16 3042, i16 5281, i16 0, i16 0, i16 5308, i16 0, i16 0, i16 9992, i16 9993, i16 0, i16 9994, i16 5287, i16 9995, i16 9996, i16 9997, i16 0, i16 9998, i16 1526, i16 9999, i16 5279, i16 0, i16 982, i16 0, i16 0, i16 9976, i16 9977, i16 0, i16 5275, i16 9978, i16 1804, i16 9979, i16 9980, i16 2658, i16 5277, i16 9981, i16 0, i16 0, i16 9982, i16 9983, i16 0, i16 0, i16 9984, i16 0, i16 0, i16 9985, i16 0, i16 0, i16 0, i16 9986, i16 5282, i16 0, i16 5535, i16 10488, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10489, i16 0, i16 0, i16 0, i16 10490, i16 0, i16 10491, i16 1952, i16 10492, i16 10493, i16 5538, i16 825, i16 0, i16 10494, i16 10495, i16 0, i16 5541, i16 10496, i16 10497, i16 10498, i16 5539, i16 985, i16 1449, i16 5540, i16 1629, i16 2976, i16 11805, i16 1510, i16 6388, i16 6387, i16 0, i16 3169, i16 0, i16 11806, i16 0, i16 1906, i16 0, i16 11807, i16 2769, i16 0, i16 11808, i16 11809, i16 0, i16 11810, i16 0, i16 0, i16 11811, i16 0, i16 11812, i16 11813, i16 0, i16 6391, i16 6392, i16 1647, i16 6390, i16 11814, i16 11815, i16 9632, i16 0, i16 823, i16 0, i16 0, i16 5106, i16 0, i16 9633, i16 0, i16 0, i16 5094, i16 0, i16 0, i16 9634, i16 9635, i16 5100, i16 0, i16 9636, i16 5102, i16 9637, i16 0, i16 0, i16 3518, i16 5097, i16 0, i16 0, i16 2733, i16 9638, i16 0, i16 5099, i16 0, i16 9639, i16 10912, i16 2422, i16 5840, i16 0, i16 10913, i16 0, i16 10914, i16 0, i16 5841, i16 0, i16 0, i16 0, i16 0, i16 10915, i16 0, i16 3659, i16 5844, i16 10916, i16 5843, i16 5842, i16 2641, i16 10917, i16 5845, i16 2161, i16 0, i16 5846, i16 0, i16 0, i16 0, i16 5847, i16 3683, i16 5848, i16 5537, i16 1365, i16 0, i16 0, i16 3688, i16 2364, i16 0, i16 0, i16 0, i16 0, i16 5516, i16 10439, i16 10440, i16 983, i16 2712, i16 3190, i16 0, i16 10441, i16 0, i16 10442, i16 10443, i16 10444, i16 10445, i16 0, i16 10446, i16 0, i16 0, i16 10447, i16 10448, i16 5517, i16 0, i16 0, i16 9121, i16 4740, i16 9122, i16 9123, i16 4745, i16 0, i16 0, i16 2875, i16 9124, i16 4742, i16 0, i16 0, i16 9125, i16 0, i16 9126, i16 9127, i16 0, i16 0, i16 0, i16 0, i16 9128, i16 0, i16 4747, i16 0, i16 0, i16 2043, i16 4748, i16 9129, i16 3514, i16 2995, i16 0, i16 9130, i16 4770, i16 2143, i16 3438, i16 4772, i16 4773, i16 3543, i16 9153, i16 0, i16 0, i16 0, i16 4778, i16 0, i16 9154, i16 1617, i16 9155, i16 2960, i16 4775, i16 2795, i16 4712, i16 4716, i16 9156, i16 1262, i16 9157, i16 2946, i16 0, i16 0, i16 0, i16 9158, i16 4777, i16 0, i16 2091, i16 3037, i16 932, i16 2261, i16 4409, i16 4408, i16 1437, i16 2489, i16 0, i16 4414, i16 4412, i16 8597, i16 4411, i16 3572, i16 1566, i16 8598, i16 0, i16 8599, i16 2056, i16 4413, i16 2763, i16 1997, i16 0, i16 0, i16 8600, i16 2845, i16 4417, i16 4416, i16 0, i16 0, i16 8601, i16 8602, i16 4415, i16 0, i16 10150, i16 10151, i16 3566, i16 5368, i16 10152, i16 0, i16 0, i16 10153, i16 0, i16 2416, i16 0, i16 0, i16 10154, i16 0, i16 10155, i16 10156, i16 5374, i16 10157, i16 5376, i16 5377, i16 2583, i16 0, i16 0, i16 0, i16 0, i16 10158, i16 5375, i16 0, i16 5372, i16 0, i16 5370, i16 5371, i16 9640, i16 9641, i16 5107, i16 9642, i16 5101, i16 3416, i16 0, i16 9643, i16 9644, i16 5096, i16 9645, i16 1875, i16 5120, i16 9646, i16 9647, i16 9648, i16 0, i16 1101, i16 0, i16 5098, i16 5103, i16 5104, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2513, i16 2495, i16 0, i16 4009, i16 7890, i16 0, i16 0, i16 2516, i16 4014, i16 2067, i16 7891, i16 0, i16 7892, i16 7893, i16 0, i16 4011, i16 7894, i16 0, i16 3445, i16 7895, i16 7896, i16 0, i16 1431, i16 0, i16 0, i16 4015, i16 4016, i16 7897, i16 0, i16 7898, i16 7899, i16 4013, i16 4019, i16 7900, i16 0, i16 6057, i16 6061, i16 0, i16 3058, i16 0, i16 0, i16 11253, i16 0, i16 6060, i16 2115, i16 1914, i16 6063, i16 0, i16 0, i16 1339, i16 11254, i16 11255, i16 11256, i16 11257, i16 11258, i16 0, i16 6064, i16 11259, i16 3184, i16 6059, i16 11260, i16 6020, i16 0, i16 11261, i16 11262, i16 11263, i16 11264, i16 10409, i16 0, i16 0, i16 0, i16 0, i16 10410, i16 5474, i16 10411, i16 0, i16 10412, i16 5476, i16 5506, i16 5505, i16 10413, i16 0, i16 0, i16 0, i16 10414, i16 0, i16 0, i16 10415, i16 10416, i16 0, i16 0, i16 0, i16 0, i16 1881, i16 10417, i16 3638, i16 10418, i16 1923, i16 10419, i16 4266, i16 0, i16 4267, i16 8383, i16 3441, i16 0, i16 8384, i16 0, i16 4268, i16 8385, i16 0, i16 8386, i16 8387, i16 1347, i16 8388, i16 0, i16 8389, i16 1969, i16 8390, i16 0, i16 0, i16 8391, i16 8392, i16 0, i16 4269, i16 4270, i16 1933, i16 2167, i16 2897, i16 2207, i16 3089, i16 2909, i16 6315, i16 6323, i16 6316, i16 0, i16 6312, i16 0, i16 2717, i16 6311, i16 0, i16 0, i16 0, i16 6309, i16 11707, i16 3472, i16 1859, i16 0, i16 11708, i16 6313, i16 0, i16 6310, i16 11709, i16 11710, i16 11711, i16 6317, i16 2051, i16 0, i16 1530, i16 0, i16 11712, i16 0, i16 2527, i16 11713, i16 7083, i16 7084, i16 3645, i16 7081, i16 0, i16 0, i16 7085, i16 7086, i16 13145, i16 13146, i16 7088, i16 0, i16 7087, i16 13147, i16 13148, i16 13149, i16 13150, i16 13151, i16 7090, i16 13152, i16 0, i16 13153, i16 7091, i16 7089, i16 0, i16 0, i16 13154, i16 0, i16 0, i16 13155, i16 0, i16 0, i16 11947, i16 0, i16 11948, i16 1078, i16 0, i16 6478, i16 0, i16 11949, i16 11950, i16 1745, i16 6477, i16 0, i16 6486, i16 0, i16 0, i16 11951, i16 11952, i16 0, i16 6480, i16 6482, i16 3258, i16 6479, i16 11953, i16 11954, i16 11955, i16 6481, i16 0, i16 6485, i16 6483, i16 1232, i16 11956, i16 6484, i16 1964, i16 0, i16 12536, i16 12537, i16 6746, i16 12538, i16 6747, i16 2199, i16 6748, i16 12539, i16 3643, i16 0, i16 0, i16 6743, i16 6750, i16 6752, i16 0, i16 6751, i16 0, i16 6749, i16 0, i16 0, i16 6753, i16 0, i16 0, i16 6754, i16 12540, i16 12541, i16 2433, i16 12542, i16 999, i16 0, i16 12716, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8365, i16 8366, i16 1941, i16 4247, i16 1204, i16 2863, i16 3386, i16 4248, i16 0, i16 4249, i16 0, i16 0, i16 3152, i16 8367, i16 0, i16 8368, i16 4251, i16 0, i16 1129, i16 1396, i16 4250, i16 0, i16 8369, i16 8370, i16 8371, i16 8372, i16 8373, i16 1139, i16 0, i16 2173, i16 4255, i16 1780, i16 10159, i16 5373, i16 10160, i16 10161, i16 10162, i16 0, i16 0, i16 10163, i16 10164, i16 5380, i16 10165, i16 5378, i16 10166, i16 5379, i16 0, i16 10167, i16 0, i16 0, i16 10168, i16 10169, i16 0, i16 10170, i16 10171, i16 0, i16 0, i16 10172, i16 0, i16 10173, i16 10174, i16 10175, i16 10176, i16 5381, i16 2480, i16 12493, i16 6712, i16 0, i16 3172, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6715, i16 6713, i16 1654, i16 0, i16 6714, i16 1531, i16 0, i16 12494, i16 0, i16 12495, i16 0, i16 12496, i16 12497, i16 12498, i16 0, i16 0, i16 3226, i16 6717, i16 6719, i16 6718, i16 6720, i16 6065, i16 11276, i16 0, i16 0, i16 2993, i16 11277, i16 11278, i16 6075, i16 6067, i16 11279, i16 6069, i16 11280, i16 11281, i16 0, i16 0, i16 11282, i16 6079, i16 6068, i16 0, i16 11283, i16 6072, i16 0, i16 0, i16 921, i16 11284, i16 2882, i16 0, i16 6073, i16 6076, i16 11285, i16 0, i16 11286, i16 10673, i16 5663, i16 5661, i16 0, i16 5659, i16 1122, i16 10674, i16 2110, i16 5664, i16 0, i16 0, i16 5662, i16 0, i16 5660, i16 5668, i16 0, i16 10675, i16 5667, i16 5666, i16 5665, i16 0, i16 0, i16 10676, i16 10677, i16 0, i16 5669, i16 10678, i16 10679, i16 10680, i16 5670, i16 2275, i16 10681, i16 6834, i16 6830, i16 12689, i16 0, i16 6833, i16 0, i16 12690, i16 12691, i16 1180, i16 0, i16 0, i16 12692, i16 6835, i16 0, i16 6836, i16 0, i16 0, i16 12693, i16 12694, i16 12695, i16 12696, i16 12697, i16 0, i16 0, i16 0, i16 12698, i16 12699, i16 12700, i16 12701, i16 6837, i16 6838, i16 0, i16 11186, i16 3177, i16 6034, i16 2814, i16 11187, i16 11188, i16 762, i16 11189, i16 0, i16 6027, i16 11190, i16 6023, i16 2425, i16 6017, i16 6025, i16 6030, i16 11191, i16 2919, i16 0, i16 11192, i16 11193, i16 755, i16 11194, i16 6022, i16 11195, i16 6031, i16 3183, i16 0, i16 11196, i16 11197, i16 0, i16 0, i16 2228, i16 5817, i16 0, i16 10873, i16 0, i16 10874, i16 5818, i16 0, i16 10875, i16 5819, i16 0, i16 1190, i16 10876, i16 0, i16 10877, i16 10878, i16 1166, i16 0, i16 10879, i16 5820, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5821, i16 10880, i16 3344, i16 3538, i16 10881, i16 10882, i16 10883, i16 2996, i16 0, i16 1154, i16 3655, i16 0, i16 0, i16 9664, i16 0, i16 0, i16 9665, i16 9666, i16 3378, i16 2675, i16 9673, i16 0, i16 9667, i16 9668, i16 5117, i16 5119, i16 9669, i16 0, i16 0, i16 9670, i16 0, i16 2361, i16 0, i16 0, i16 9671, i16 9672, i16 0, i16 5121, i16 5115, i16 4021, i16 7906, i16 7907, i16 4031, i16 2360, i16 0, i16 7908, i16 4033, i16 7909, i16 1593, i16 4023, i16 2624, i16 0, i16 0, i16 7910, i16 7911, i16 0, i16 7912, i16 7913, i16 7914, i16 7915, i16 0, i16 0, i16 7916, i16 4027, i16 4020, i16 1134, i16 0, i16 1199, i16 1096, i16 4028, i16 4024, i16 11957, i16 11958, i16 0, i16 11959, i16 0, i16 11960, i16 6487, i16 11961, i16 11962, i16 2965, i16 3621, i16 0, i16 11963, i16 11964, i16 11965, i16 1987, i16 0, i16 0, i16 0, i16 6488, i16 11966, i16 11967, i16 11968, i16 11969, i16 3473, i16 6490, i16 11970, i16 6489, i16 0, i16 0, i16 6493, i16 3504, i16 7094, i16 13164, i16 13165, i16 13166, i16 0, i16 13167, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8374, i16 974, i16 4254, i16 0, i16 4252, i16 4256, i16 4253, i16 2918, i16 4883, i16 2174, i16 0, i16 4257, i16 0, i16 0, i16 3597, i16 8375, i16 4258, i16 8376, i16 0, i16 4260, i16 8377, i16 2625, i16 4259, i16 0, i16 2252, i16 0, i16 1870, i16 0, i16 0, i16 8378, i16 2485, i16 1960, i16 9142, i16 0, i16 9143, i16 0, i16 0, i16 0, i16 4759, i16 4760, i16 3435, i16 0, i16 3381, i16 3369, i16 3343, i16 1784, i16 4762, i16 0, i16 0, i16 1948, i16 0, i16 9144, i16 3332, i16 0, i16 4764, i16 4767, i16 4766, i16 0, i16 1210, i16 0, i16 0, i16 1279, i16 9145, i16 4763, i16 1975, i16 1847, i16 10458, i16 0, i16 10459, i16 0, i16 0, i16 10460, i16 10461, i16 5525, i16 10462, i16 1976, i16 0, i16 0, i16 0, i16 10463, i16 0, i16 975, i16 3130, i16 0, i16 10464, i16 5526, i16 10465, i16 0, i16 3076, i16 0, i16 10466, i16 0, i16 0, i16 10467, i16 10468, i16 2380, i16 6327, i16 3527, i16 0, i16 0, i16 0, i16 0, i16 6330, i16 0, i16 6333, i16 0, i16 0, i16 6331, i16 3116, i16 11722, i16 0, i16 0, i16 11723, i16 0, i16 0, i16 6328, i16 0, i16 0, i16 0, i16 11724, i16 0, i16 1373, i16 0, i16 0, i16 11725, i16 0, i16 6332, i16 0, i16 6584, i16 6585, i16 12161, i16 12162, i16 0, i16 12163, i16 3049, i16 1736, i16 1938, i16 6586, i16 0, i16 6587, i16 3569, i16 2004, i16 3455, i16 3609, i16 6588, i16 1375, i16 0, i16 12164, i16 12165, i16 0, i16 6589, i16 12166, i16 2722, i16 12167, i16 12168, i16 6592, i16 1115, i16 2198, i16 12169, i16 6590, i16 10936, i16 1550, i16 0, i16 0, i16 838, i16 5859, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10937, i16 10938, i16 5866, i16 10939, i16 5867, i16 10940, i16 10941, i16 2838, i16 0, i16 10942, i16 0, i16 1336, i16 10943, i16 10944, i16 0, i16 5878, i16 2936, i16 10945, i16 0, i16 11448, i16 0, i16 6159, i16 11449, i16 0, i16 0, i16 0, i16 11450, i16 0, i16 0, i16 0, i16 6168, i16 11451, i16 11452, i16 11453, i16 6162, i16 0, i16 11454, i16 0, i16 6170, i16 0, i16 11455, i16 0, i16 0, i16 0, i16 0, i16 3541, i16 6173, i16 0, i16 6164, i16 11456, i16 11457, i16 12216, i16 0, i16 12217, i16 12218, i16 2739, i16 6604, i16 12219, i16 12220, i16 6607, i16 6605, i16 12221, i16 6610, i16 0, i16 12222, i16 12223, i16 12224, i16 6611, i16 12225, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6603, i16 12226, i16 12227, i16 6616, i16 923, i16 12228, i16 12229, i16 6602, i16 0, i16 7865, i16 832, i16 4007, i16 0, i16 0, i16 3999, i16 4000, i16 0, i16 2066, i16 3356, i16 7866, i16 0, i16 7867, i16 4005, i16 4004, i16 7868, i16 0, i16 0, i16 2734, i16 0, i16 0, i16 0, i16 7869, i16 0, i16 0, i16 0, i16 4006, i16 0, i16 7870, i16 4003, i16 7871, i16 7872, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 0, i16 687, i16 7156, i16 7157, i16 7158, i16 7159, i16 7160, i16 7161, i16 7162, i16 7163, i16 7164, i16 7165, i16 7166, i16 0, i16 7167, i16 7168, i16 2490, i16 4430, i16 0, i16 0, i16 8646, i16 1277, i16 4440, i16 2262, i16 908, i16 4434, i16 1021, i16 4439, i16 0, i16 8647, i16 0, i16 1326, i16 0, i16 4436, i16 0, i16 8648, i16 0, i16 8649, i16 0, i16 0, i16 0, i16 0, i16 4442, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12475, i16 6705, i16 6707, i16 0, i16 12476, i16 6706, i16 12477, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1724, i16 0, i16 0, i16 3792, i16 0, i16 9136, i16 0, i16 9137, i16 1481, i16 3484, i16 0, i16 3283, i16 0, i16 3189, i16 9138, i16 4756, i16 0, i16 0, i16 0, i16 9139, i16 1768, i16 2656, i16 4757, i16 3674, i16 0, i16 9140, i16 0, i16 3313, i16 9141, i16 2636, i16 4758, i16 1213, i16 8124, i16 4126, i16 0, i16 0, i16 2698, i16 0, i16 8125, i16 8126, i16 0, i16 0, i16 1135, i16 0, i16 0, i16 8127, i16 0, i16 7095, i16 904, i16 3272, i16 8128, i16 0, i16 2137, i16 2759, i16 0, i16 0, i16 0, i16 8129, i16 1755, i16 0, i16 0, i16 4132, i16 0, i16 8130, i16 5309, i16 0, i16 3122, i16 5310, i16 10082, i16 0, i16 1125, i16 5311, i16 10083, i16 5312, i16 10084, i16 10085, i16 0, i16 0, i16 5313, i16 10086, i16 5315, i16 5316, i16 5314, i16 0, i16 10087, i16 0, i16 3146, i16 5318, i16 5317, i16 0, i16 10088, i16 10089, i16 10090, i16 0, i16 0, i16 10091, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 1470, i16 2526, i16 5138, i16 2934, i16 0, i16 9713, i16 5145, i16 9714, i16 9715, i16 0, i16 9716, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5150, i16 5148, i16 0, i16 0, i16 5151, i16 0, i16 9717, i16 5154, i16 0, i16 0, i16 9718, i16 5147, i16 7873, i16 7874, i16 0, i16 0, i16 859, i16 7875, i16 1707, i16 2171, i16 7876, i16 7877, i16 0, i16 0, i16 7878, i16 7879, i16 7880, i16 4001, i16 2785, i16 0, i16 0, i16 0, i16 4002, i16 7881, i16 747, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1474, i16 1874, i16 0, i16 1362, i16 9412, i16 0, i16 0, i16 937, i16 9413, i16 0, i16 0, i16 9414, i16 9415, i16 0, i16 0, i16 9416, i16 0, i16 0, i16 3534, i16 0, i16 0, i16 9417, i16 9418, i16 4956, i16 4955, i16 4958, i16 1244, i16 9419, i16 0, i16 1363, i16 1151, i16 9420, i16 3523, i16 3682, i16 0, i16 1636, i16 5824, i16 1925, i16 5823, i16 10884, i16 10885, i16 0, i16 10886, i16 5825, i16 1882, i16 10887, i16 10888, i16 10889, i16 2486, i16 10890, i16 5826, i16 10891, i16 10892, i16 1635, i16 10893, i16 3432, i16 5827, i16 5828, i16 0, i16 0, i16 5829, i16 10894, i16 10895, i16 10896, i16 11971, i16 11972, i16 6492, i16 11973, i16 1104, i16 6491, i16 6496, i16 11974, i16 0, i16 6495, i16 0, i16 0, i16 6494, i16 2737, i16 6497, i16 11975, i16 0, i16 11976, i16 11977, i16 11978, i16 11979, i16 11980, i16 0, i16 6498, i16 11981, i16 0, i16 0, i16 0, i16 6499, i16 11982, i16 11983, i16 1667, i16 3012, i16 10118, i16 3108, i16 0, i16 5339, i16 3577, i16 1448, i16 5340, i16 0, i16 5338, i16 3055, i16 5341, i16 0, i16 5342, i16 0, i16 10119, i16 804, i16 10120, i16 0, i16 2147, i16 5347, i16 0, i16 5344, i16 2890, i16 5343, i16 10121, i16 10122, i16 10123, i16 10124, i16 10125, i16 10126, i16 1221, i16 4804, i16 1472, i16 1446, i16 2796, i16 9208, i16 9209, i16 4802, i16 0, i16 783, i16 0, i16 9210, i16 0, i16 9211, i16 4805, i16 4807, i16 0, i16 1354, i16 1415, i16 9193, i16 1149, i16 1258, i16 9212, i16 0, i16 9213, i16 9214, i16 4810, i16 0, i16 9215, i16 1774, i16 3364, i16 0, i16 1802, i16 8900, i16 759, i16 0, i16 4625, i16 0, i16 8901, i16 0, i16 0, i16 0, i16 4622, i16 8902, i16 0, i16 8903, i16 0, i16 1209, i16 0, i16 0, i16 0, i16 8904, i16 8905, i16 910, i16 8906, i16 4628, i16 0, i16 8907, i16 8908, i16 3512, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2501, i16 2430, i16 12015, i16 2821, i16 12016, i16 6516, i16 1268, i16 0, i16 12017, i16 0, i16 0, i16 6525, i16 12018, i16 6522, i16 6535, i16 2822, i16 2595, i16 6519, i16 0, i16 2719, i16 2770, i16 6520, i16 6524, i16 2219, i16 12019, i16 2978, i16 2669, i16 12020, i16 0, i16 2283, i16 6523, i16 2451, i16 4550, i16 8780, i16 0, i16 8781, i16 8782, i16 0, i16 0, i16 8783, i16 4551, i16 4552, i16 3263, i16 0, i16 4554, i16 4553, i16 1998, i16 0, i16 2263, i16 1003, i16 1025, i16 8784, i16 4555, i16 8785, i16 776, i16 0, i16 0, i16 0, i16 2293, i16 4556, i16 8786, i16 6377, i16 4557, i16 1468, i16 12230, i16 12231, i16 3014, i16 0, i16 6606, i16 12232, i16 2125, i16 12233, i16 12234, i16 12235, i16 0, i16 0, i16 0, i16 0, i16 12236, i16 12237, i16 12238, i16 1650, i16 0, i16 0, i16 0, i16 12239, i16 12240, i16 12241, i16 12242, i16 12243, i16 0, i16 12244, i16 12245, i16 12246, i16 3323, i16 12247, i16 1479, i16 11505, i16 6195, i16 11506, i16 6194, i16 11507, i16 1983, i16 0, i16 11508, i16 11509, i16 11510, i16 11511, i16 1643, i16 5033, i16 11512, i16 0, i16 0, i16 11513, i16 6196, i16 2016, i16 0, i16 11514, i16 11515, i16 1052, i16 11516, i16 6197, i16 11517, i16 889, i16 11518, i16 2116, i16 6198, i16 11519, i16 968, i16 0, i16 0, i16 3649, i16 7705, i16 7706, i16 7707, i16 7708, i16 0, i16 2052, i16 2775, i16 1660, i16 3900, i16 3901, i16 0, i16 7709, i16 7710, i16 3634, i16 0, i16 0, i16 3670, i16 3903, i16 7711, i16 7712, i16 7713, i16 1587, i16 7714, i16 7715, i16 3902, i16 7716, i16 1042, i16 0, i16 1224, i16 0, i16 10478, i16 10479, i16 0, i16 0, i16 0, i16 10480, i16 5531, i16 10481, i16 10482, i16 2713, i16 10483, i16 5532, i16 2288, i16 0, i16 0, i16 10484, i16 0, i16 0, i16 3390, i16 10485, i16 0, i16 3098, i16 5533, i16 5534, i16 2584, i16 10486, i16 3604, i16 0, i16 10487, i16 5536, i16 2248, i16 1192, i16 0, i16 0, i16 3497, i16 1010, i16 1991, i16 1556, i16 0, i16 6739, i16 12524, i16 6738, i16 1862, i16 6740, i16 6737, i16 0, i16 0, i16 1787, i16 12525, i16 0, i16 0, i16 6744, i16 6167, i16 0, i16 12527, i16 3952, i16 12528, i16 2242, i16 6742, i16 12529, i16 12530, i16 12531, i16 1225, i16 0, i16 5685, i16 10699, i16 3460, i16 1631, i16 5684, i16 10700, i16 10701, i16 10702, i16 5688, i16 3447, i16 0, i16 2935, i16 0, i16 10703, i16 3114, i16 10704, i16 10705, i16 10706, i16 2034, i16 5687, i16 10707, i16 1924, i16 1632, i16 1849, i16 1288, i16 3211, i16 5686, i16 10708, i16 10709, i16 0, i16 1737, i16 5235, i16 5234, i16 0, i16 9880, i16 0, i16 0, i16 5236, i16 0, i16 9881, i16 0, i16 0, i16 0, i16 9882, i16 9883, i16 0, i16 0, i16 0, i16 5237, i16 9884, i16 0, i16 0, i16 5238, i16 0, i16 0, i16 0, i16 0, i16 9885, i16 0, i16 0, i16 0, i16 0, i16 1993, i16 2201, i16 3740, i16 7401, i16 3738, i16 0, i16 3739, i16 1271, i16 0, i16 0, i16 1688, i16 1013, i16 0, i16 3737, i16 3736, i16 3198, i16 7402, i16 0, i16 0, i16 0, i16 1817, i16 1816, i16 2467, i16 3741, i16 3148, i16 2320, i16 7403, i16 7404, i16 0, i16 245, i16 3742, i16 3744, i16 10953, i16 0, i16 0, i16 5870, i16 10954, i16 0, i16 0, i16 10955, i16 0, i16 5869, i16 0, i16 0, i16 10956, i16 0, i16 0, i16 5871, i16 10957, i16 2537, i16 0, i16 2937, i16 0, i16 10958, i16 0, i16 0, i16 0, i16 2642, i16 10959, i16 0, i16 10960, i16 0, i16 5875, i16 0, i16 714, i16 725, i16 715, i16 726, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 716, i16 0, i16 0, i16 727, i16 717, i16 0, i16 0, i16 728, i16 719, i16 0, i16 0, i16 730, i16 718, i16 0, i16 0, i16 729, i16 720, i16 741, i16 0, i16 0, i16 2762, i16 1913, i16 8396, i16 8397, i16 2399, i16 3561, i16 0, i16 8398, i16 8399, i16 8400, i16 0, i16 0, i16 4278, i16 8401, i16 4279, i16 2867, i16 8402, i16 1798, i16 0, i16 0, i16 8403, i16 8404, i16 4281, i16 0, i16 0, i16 4282, i16 8405, i16 8406, i16 8407, i16 8408, i16 0, i16 0, i16 8650, i16 4444, i16 4454, i16 4452, i16 0, i16 0, i16 4449, i16 8651, i16 8652, i16 8653, i16 4448, i16 3653, i16 8654, i16 4450, i16 0, i16 0, i16 1327, i16 8655, i16 1608, i16 0, i16 8656, i16 2057, i16 8657, i16 8658, i16 0, i16 4457, i16 4443, i16 0, i16 0, i16 8659, i16 0, i16 4447, i16 6348, i16 11745, i16 0, i16 1809, i16 11746, i16 11747, i16 0, i16 0, i16 0, i16 0, i16 4696, i16 11748, i16 6349, i16 11749, i16 6350, i16 11750, i16 1985, i16 0, i16 6351, i16 6352, i16 11751, i16 11752, i16 6353, i16 0, i16 0, i16 6354, i16 6355, i16 0, i16 11753, i16 0, i16 11754, i16 11755, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 482, i16 483, i16 484, i16 485, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 10190, i16 10191, i16 3602, i16 10192, i16 10193, i16 10194, i16 5392, i16 5390, i16 5391, i16 10195, i16 10189, i16 10196, i16 1187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3471, i16 0, i16 0, i16 10197, i16 3231, i16 0, i16 5394, i16 10198, i16 0, i16 0, i16 5393, i16 0, i16 0, i16 10199, i16 11214, i16 6043, i16 11215, i16 0, i16 2594, i16 0, i16 6044, i16 11216, i16 11217, i16 3525, i16 6033, i16 1051, i16 11218, i16 6039, i16 0, i16 11219, i16 6042, i16 3389, i16 0, i16 11220, i16 0, i16 0, i16 6045, i16 0, i16 0, i16 6038, i16 6041, i16 0, i16 11221, i16 0, i16 0, i16 0, i16 8145, i16 8146, i16 0, i16 1322, i16 0, i16 4134, i16 0, i16 8147, i16 8148, i16 8149, i16 8150, i16 0, i16 8151, i16 8152, i16 0, i16 8153, i16 8154, i16 0, i16 0, i16 3261, i16 8155, i16 0, i16 8156, i16 2436, i16 0, i16 0, i16 0, i16 0, i16 2663, i16 8157, i16 0, i16 4136, i16 9937, i16 0, i16 0, i16 2002, i16 0, i16 0, i16 9938, i16 9939, i16 5269, i16 9940, i16 5268, i16 9941, i16 9942, i16 0, i16 9943, i16 9944, i16 5270, i16 9945, i16 1072, i16 0, i16 0, i16 5272, i16 0, i16 9946, i16 5271, i16 9947, i16 5274, i16 5273, i16 9948, i16 0, i16 0, i16 0, i16 11986, i16 11987, i16 0, i16 6505, i16 11988, i16 11989, i16 11990, i16 3899, i16 3898, i16 0, i16 0, i16 0, i16 0, i16 6506, i16 5764, i16 6507, i16 2535, i16 2166, i16 2939, i16 0, i16 0, i16 11991, i16 11992, i16 6508, i16 11993, i16 0, i16 3242, i16 2677, i16 1685, i16 0, i16 11994, i16 2540, i16 3539, i16 0, i16 0, i16 0, i16 9581, i16 5066, i16 5060, i16 5057, i16 9582, i16 0, i16 9583, i16 3617, i16 5063, i16 0, i16 9584, i16 9585, i16 0, i16 2009, i16 5065, i16 0, i16 0, i16 5070, i16 9586, i16 0, i16 2800, i16 5068, i16 0, i16 9587, i16 0, i16 9588, i16 5062, i16 9589, i16 1236, i16 0, i16 3722, i16 0, i16 0, i16 3723, i16 3592, i16 0, i16 3500, i16 2415, i16 3725, i16 1865, i16 2896, i16 7395, i16 3728, i16 0, i16 0, i16 869, i16 1560, i16 0, i16 1559, i16 815, i16 7396, i16 7397, i16 3702, i16 3701, i16 0, i16 1704, i16 746, i16 7398, i16 3729, i16 3730, i16 8916, i16 0, i16 8917, i16 0, i16 8918, i16 8919, i16 4634, i16 0, i16 4638, i16 8920, i16 8921, i16 0, i16 3035, i16 2794, i16 0, i16 8922, i16 8923, i16 0, i16 0, i16 0, i16 4631, i16 8924, i16 4635, i16 0, i16 0, i16 0, i16 1443, i16 0, i16 0, i16 8925, i16 1766, i16 8926, i16 9428, i16 4968, i16 1842, i16 2270, i16 1686, i16 0, i16 3175, i16 9429, i16 0, i16 3255, i16 3695, i16 9430, i16 0, i16 0, i16 9431, i16 1864, i16 9432, i16 0, i16 0, i16 1733, i16 3647, i16 9433, i16 0, i16 0, i16 4969, i16 4970, i16 0, i16 1843, i16 0, i16 9434, i16 9435, i16 4971, i16 12756, i16 0, i16 12757, i16 12758, i16 12759, i16 0, i16 0, i16 12760, i16 2482, i16 0, i16 0, i16 6870, i16 0, i16 12761, i16 12762, i16 0, i16 2826, i16 0, i16 0, i16 12763, i16 0, i16 12764, i16 12765, i16 6871, i16 12766, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6876, i16 0, i16 7381, i16 7382, i16 3719, i16 2928, i16 7383, i16 1270, i16 0, i16 7384, i16 0, i16 0, i16 0, i16 2930, i16 0, i16 2880, i16 1532, i16 3302, i16 0, i16 7385, i16 0, i16 0, i16 0, i16 6101, i16 3720, i16 2133, i16 3721, i16 954, i16 7386, i16 0, i16 7387, i16 1378, i16 1577, i16 3450, i16 1238, i16 3818, i16 3819, i16 7595, i16 948, i16 0, i16 7596, i16 7597, i16 7598, i16 3817, i16 0, i16 7599, i16 7600, i16 7601, i16 7602, i16 0, i16 7604, i16 0, i16 1957, i16 0, i16 3822, i16 3821, i16 3820, i16 7605, i16 3764, i16 7606, i16 3823, i16 7607, i16 7608, i16 7609, i16 7610, i16 2061, i16 10967, i16 10968, i16 0, i16 0, i16 0, i16 5881, i16 5882, i16 10969, i16 10970, i16 10971, i16 0, i16 1953, i16 0, i16 10972, i16 5880, i16 10973, i16 1679, i16 5879, i16 0, i16 0, i16 5883, i16 0, i16 0, i16 10974, i16 2643, i16 3191, i16 2346, i16 0, i16 0, i16 0, i16 0, i16 2497, i16 3800, i16 7547, i16 0, i16 7548, i16 7549, i16 3802, i16 7550, i16 0, i16 0, i16 0, i16 7551, i16 0, i16 0, i16 3304, i16 7552, i16 7553, i16 7554, i16 1473, i16 7555, i16 7556, i16 7557, i16 0, i16 7558, i16 0, i16 1796, i16 3088, i16 3801, i16 7559, i16 7560, i16 0, i16 7561, i16 7562, i16 4569, i16 0, i16 0, i16 4567, i16 8807, i16 0, i16 0, i16 0, i16 4570, i16 0, i16 0, i16 0, i16 0, i16 8808, i16 3206, i16 8809, i16 0, i16 768, i16 0, i16 8810, i16 0, i16 0, i16 3157, i16 0, i16 0, i16 3068, i16 8811, i16 0, i16 4571, i16 8812, i16 4574, i16 2082, i16 4825, i16 9235, i16 2092, i16 9236, i16 0, i16 9237, i16 4163, i16 1569, i16 3563, i16 9238, i16 9239, i16 0, i16 0, i16 4816, i16 9240, i16 2709, i16 1030, i16 1698, i16 9241, i16 4808, i16 0, i16 4824, i16 1092, i16 0, i16 0, i16 4822, i16 4826, i16 9242, i16 2797, i16 0, i16 0, i16 0, i16 9177, i16 2477, i16 9178, i16 9179, i16 3222, i16 9180, i16 4798, i16 0, i16 9181, i16 9182, i16 3097, i16 0, i16 0, i16 0, i16 4797, i16 2987, i16 3314, i16 1148, i16 9183, i16 2336, i16 1999, i16 0, i16 0, i16 9184, i16 2676, i16 9185, i16 3485, i16 0, i16 9186, i16 4793, i16 4792, i16 0, i16 1242, i16 0, i16 4572, i16 4579, i16 2083, i16 0, i16 0, i16 0, i16 0, i16 4573, i16 2943, i16 0, i16 0, i16 8813, i16 8814, i16 8815, i16 8816, i16 3533, i16 4575, i16 4576, i16 4580, i16 2793, i16 4577, i16 1610, i16 2311, i16 0, i16 0, i16 4594, i16 3021, i16 0, i16 2519, i16 0, i16 6874, i16 12768, i16 6873, i16 6875, i16 12769, i16 6872, i16 0, i16 12767, i16 0, i16 0, i16 12770, i16 12771, i16 12772, i16 6878, i16 12773, i16 0, i16 0, i16 12774, i16 0, i16 0, i16 12775, i16 6877, i16 12776, i16 6880, i16 0, i16 0, i16 1344, i16 6879, i16 0, i16 12777, i16 0, i16 6881, i16 11995, i16 11996, i16 849, i16 0, i16 3371, i16 2210, i16 11997, i16 0, i16 0, i16 0, i16 11998, i16 11999, i16 0, i16 12000, i16 1465, i16 0, i16 12001, i16 1374, i16 12002, i16 12003, i16 3243, i16 12004, i16 0, i16 0, i16 0, i16 0, i16 6509, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1245, i16 0, i16 5239, i16 0, i16 0, i16 0, i16 0, i16 5240, i16 9886, i16 0, i16 0, i16 0, i16 1501, i16 9887, i16 9888, i16 3041, i16 0, i16 9889, i16 5242, i16 0, i16 9890, i16 0, i16 2146, i16 0, i16 0, i16 5241, i16 0, i16 0, i16 0, i16 0, i16 9891, i16 0, i16 7901, i16 7902, i16 0, i16 4010, i16 7903, i16 0, i16 7904, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4025, i16 4030, i16 0, i16 4026, i16 7905, i16 9949, i16 9950, i16 0, i16 9951, i16 1525, i16 9952, i16 9953, i16 3573, i16 0, i16 1353, i16 0, i16 939, i16 0, i16 0, i16 9954, i16 0, i16 9955, i16 0, i16 0, i16 9956, i16 0, i16 9957, i16 1383, i16 9958, i16 9959, i16 0, i16 0, i16 0, i16 9960, i16 0, i16 9961, i16 9962, i16 222, i16 223, i16 224, i16 244, i16 0, i16 246, i16 247, i16 248, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 324, i16 329, i16 265, i16 266, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 254, i16 0, i16 0, i16 0, i16 4062, i16 0, i16 0, i16 0, i16 7982, i16 7983, i16 4061, i16 1064, i16 7984, i16 0, i16 4063, i16 7985, i16 7986, i16 0, i16 0, i16 4066, i16 0, i16 0, i16 0, i16 0, i16 4065, i16 7987, i16 0, i16 0, i16 0, i16 7988, i16 7989, i16 0, i16 0, i16 7990, i16 7991, i16 7992, i16 8158, i16 8159, i16 8160, i16 0, i16 0, i16 0, i16 8161, i16 0, i16 3330, i16 8162, i16 0, i16 4137, i16 0, i16 0, i16 4142, i16 0, i16 0, i16 8163, i16 8164, i16 3204, i16 0, i16 0, i16 0, i16 0, i16 4141, i16 4135, i16 4138, i16 4140, i16 8166, i16 0, i16 1691, i16 0, i16 10718, i16 10719, i16 1977, i16 1527, i16 2383, i16 5689, i16 5695, i16 10720, i16 10721, i16 0, i16 0, i16 5690, i16 1451, i16 10722, i16 5698, i16 5702, i16 1478, i16 10723, i16 0, i16 10724, i16 0, i16 0, i16 5697, i16 10725, i16 0, i16 10726, i16 10727, i16 5706, i16 10728, i16 10729, i16 1633, i16 0, i16 736, i16 0, i16 0, i16 731, i16 722, i16 743, i16 0, i16 0, i16 738, i16 0, i16 0, i16 733, i16 721, i16 0, i16 0, i16 737, i16 742, i16 0, i16 0, i16 732, i16 723, i16 0, i16 0, i16 739, i16 744, i16 0, i16 0, i16 734, i16 724, i16 0, i16 0, i16 740, i16 2784, i16 7664, i16 7665, i16 2202, i16 3871, i16 7666, i16 3201, i16 2307, i16 1123, i16 0, i16 1130, i16 3872, i16 0, i16 0, i16 3874, i16 0, i16 0, i16 1429, i16 7667, i16 7668, i16 3873, i16 7669, i16 7670, i16 3648, i16 7671, i16 0, i16 0, i16 0, i16 0, i16 2040, i16 0, i16 0, i16 4064, i16 0, i16 2932, i16 0, i16 0, i16 4067, i16 7993, i16 7994, i16 7995, i16 7996, i16 0, i16 7997, i16 7998, i16 7999, i16 4068, i16 0, i16 0, i16 8000, i16 0, i16 8001, i16 4070, i16 0, i16 4069, i16 8002, i16 0, i16 0, i16 0, i16 0, i16 4072, i16 0, i16 8003, i16 0, i16 8416, i16 945, i16 8417, i16 8418, i16 0, i16 0, i16 8419, i16 0, i16 2370, i16 1189, i16 8420, i16 4287, i16 3385, i16 0, i16 0, i16 0, i16 0, i16 2487, i16 8421, i16 1084, i16 8422, i16 8423, i16 4289, i16 4291, i16 1184, i16 0, i16 8424, i16 4288, i16 4290, i16 0, i16 4293, i16 0, i16 9441, i16 0, i16 9442, i16 9443, i16 4979, i16 0, i16 0, i16 0, i16 9444, i16 9445, i16 4980, i16 4981, i16 9446, i16 9447, i16 9448, i16 4982, i16 9449, i16 4984, i16 4983, i16 4985, i16 938, i16 2573, i16 0, i16 4986, i16 9450, i16 9451, i16 1785, i16 1071, i16 4987, i16 9452, i16 9453, i16 2753, i16 12257, i16 0, i16 0, i16 0, i16 12258, i16 12259, i16 0, i16 12260, i16 12261, i16 0, i16 0, i16 12262, i16 0, i16 2355, i16 0, i16 12263, i16 0, i16 0, i16 12264, i16 0, i16 0, i16 0, i16 12265, i16 6619, i16 12266, i16 6618, i16 12267, i16 12268, i16 12269, i16 12270, i16 0, i16 12271, i16 10469, i16 5529, i16 10470, i16 5530, i16 2980, i16 10471, i16 2188, i16 5527, i16 0, i16 2596, i16 10472, i16 10473, i16 5528, i16 10474, i16 0, i16 0, i16 2107, i16 10475, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10476, i16 0, i16 0, i16 805, i16 10477, i16 0, i16 0, i16 0, i16 12005, i16 0, i16 6511, i16 12006, i16 12007, i16 6510, i16 997, i16 0, i16 12008, i16 2899, i16 6512, i16 2994, i16 0, i16 2738, i16 12009, i16 6513, i16 2017, i16 12010, i16 0, i16 0, i16 6515, i16 12011, i16 12012, i16 3411, i16 6530, i16 6517, i16 6518, i16 12013, i16 0, i16 2666, i16 12014, i16 0, i16 1254, i16 0, i16 12579, i16 6786, i16 0, i16 0, i16 6785, i16 0, i16 6784, i16 0, i16 0, i16 6329, i16 12580, i16 3249, i16 12581, i16 0, i16 0, i16 12582, i16 12583, i16 6787, i16 6788, i16 12584, i16 12585, i16 0, i16 12586, i16 12587, i16 12588, i16 0, i16 12589, i16 0, i16 12590, i16 12591, i16 9702, i16 5142, i16 0, i16 5141, i16 5143, i16 9703, i16 9704, i16 9705, i16 9706, i16 0, i16 5146, i16 0, i16 0, i16 0, i16 9707, i16 9708, i16 9709, i16 2754, i16 0, i16 5140, i16 0, i16 9710, i16 9711, i16 0, i16 0, i16 5144, i16 0, i16 0, i16 9712, i16 0, i16 0, i16 0, i16 2280, i16 6299, i16 0, i16 6304, i16 1574, i16 6301, i16 6302, i16 11686, i16 6298, i16 11687, i16 0, i16 0, i16 2315, i16 2854, i16 11688, i16 11689, i16 2546, i16 0, i16 994, i16 11690, i16 0, i16 0, i16 11691, i16 11692, i16 0, i16 3081, i16 0, i16 11693, i16 1250, i16 0, i16 11694, i16 2645, i16 10216, i16 0, i16 10217, i16 10218, i16 10219, i16 10220, i16 10221, i16 10222, i16 10223, i16 0, i16 10224, i16 0, i16 0, i16 10225, i16 3074, i16 0, i16 5416, i16 0, i16 0, i16 0, i16 5417, i16 0, i16 0, i16 7073, i16 5418, i16 5419, i16 5420, i16 0, i16 0, i16 10226, i16 0, i16 1793, i16 6633, i16 0, i16 0, i16 0, i16 12337, i16 12338, i16 0, i16 12339, i16 0, i16 12340, i16 12341, i16 0, i16 1416, i16 12342, i16 6635, i16 12343, i16 12344, i16 12345, i16 0, i16 12346, i16 12347, i16 1513, i16 12348, i16 0, i16 0, i16 0, i16 12349, i16 0, i16 6634, i16 12350, i16 2126, i16 12351, i16 8938, i16 8939, i16 0, i16 8940, i16 0, i16 0, i16 0, i16 4640, i16 0, i16 3347, i16 0, i16 0, i16 0, i16 8941, i16 0, i16 4641, i16 0, i16 0, i16 0, i16 8942, i16 8943, i16 0, i16 4642, i16 0, i16 3423, i16 0, i16 2251, i16 8944, i16 0, i16 8945, i16 0, i16 0, i16 235, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 269, i16 256, i16 270, i16 7109, i16 0, i16 4075, i16 4073, i16 4071, i16 4074, i16 0, i16 8004, i16 0, i16 0, i16 4076, i16 8005, i16 8006, i16 8007, i16 8010, i16 8011, i16 4077, i16 8008, i16 8009, i16 4078, i16 0, i16 4079, i16 0, i16 0, i16 0, i16 4080, i16 3841, i16 8012, i16 1965, i16 1824, i16 8013, i16 8014, i16 1016, i16 8015, i16 6891, i16 12790, i16 0, i16 12791, i16 2236, i16 0, i16 12792, i16 0, i16 12793, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12794, i16 6892, i16 12795, i16 6893, i16 12796, i16 6894, i16 6895, i16 12797, i16 12798, i16 12799, i16 1657, i16 0, i16 0, i16 12800, i16 12801, i16 0, i16 6896, i16 6897, i16 9963, i16 0, i16 9964, i16 0, i16 0, i16 9965, i16 9966, i16 0, i16 0, i16 1186, i16 9967, i16 9968, i16 0, i16 9969, i16 0, i16 0, i16 0, i16 0, i16 3637, i16 5276, i16 0, i16 9970, i16 0, i16 9971, i16 0, i16 9972, i16 0, i16 5278, i16 9973, i16 9974, i16 0, i16 9975, i16 7405, i16 7406, i16 7407, i16 2506, i16 3630, i16 787, i16 0, i16 0, i16 7408, i16 0, i16 0, i16 0, i16 0, i16 3743, i16 963, i16 7409, i16 1345, i16 7410, i16 2602, i16 7411, i16 0, i16 7412, i16 1482, i16 3745, i16 0, i16 0, i16 0, i16 2911, i16 0, i16 7413, i16 7414, i16 7415, i16 494, i16 495, i16 496, i16 497, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 232, i16 233, i16 242, i16 243, i16 0, i16 750, i16 3137, i16 3994, i16 0, i16 3990, i16 0, i16 7861, i16 3985, i16 3991, i16 1725, i16 7862, i16 0, i16 0, i16 7863, i16 7864, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3998, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12272, i16 12273, i16 12274, i16 12275, i16 0, i16 12276, i16 12277, i16 12278, i16 12279, i16 0, i16 0, i16 12280, i16 12281, i16 12282, i16 12283, i16 6617, i16 12284, i16 0, i16 3298, i16 12285, i16 0, i16 12286, i16 0, i16 12287, i16 12288, i16 12289, i16 0, i16 0, i16 12290, i16 12291, i16 0, i16 12292, i16 1009, i16 6386, i16 3667, i16 2659, i16 3696, i16 11796, i16 11797, i16 1860, i16 6385, i16 11798, i16 2454, i16 11799, i16 0, i16 6402, i16 2351, i16 11800, i16 0, i16 2901, i16 0, i16 3143, i16 0, i16 11802, i16 11801, i16 0, i16 0, i16 11803, i16 6389, i16 1810, i16 1861, i16 11804, i16 2123, i16 0, i16 4849, i16 4836, i16 0, i16 4846, i16 0, i16 9254, i16 0, i16 4840, i16 9255, i16 0, i16 9256, i16 9257, i16 9258, i16 9259, i16 2180, i16 4850, i16 9260, i16 9261, i16 2268, i16 0, i16 0, i16 9262, i16 9263, i16 0, i16 0, i16 4848, i16 1150, i16 9264, i16 9265, i16 9266, i16 0, i16 0, i16 13041, i16 0, i16 0, i16 0, i16 0, i16 13042, i16 7028, i16 13043, i16 0, i16 13044, i16 0, i16 13045, i16 0, i16 7029, i16 13046, i16 7030, i16 13047, i16 0, i16 3700, i16 13048, i16 13049, i16 0, i16 0, i16 0, i16 7027, i16 2512, i16 1762, i16 0, i16 0, i16 7031, i16 13050, i16 0, i16 6130, i16 0, i16 3293, i16 6131, i16 11395, i16 11396, i16 6128, i16 11397, i16 6129, i16 6134, i16 6137, i16 11398, i16 0, i16 6135, i16 11399, i16 11400, i16 11401, i16 6133, i16 6127, i16 11402, i16 11403, i16 0, i16 0, i16 0, i16 2587, i16 11404, i16 6144, i16 0, i16 3387, i16 0, i16 11405, i16 11406, i16 4083, i16 8027, i16 8028, i16 3253, i16 4085, i16 0, i16 0, i16 8029, i16 4087, i16 4086, i16 8030, i16 4088, i16 8031, i16 4089, i16 0, i16 1490, i16 0, i16 8032, i16 903, i16 4090, i16 0, i16 8033, i16 4092, i16 0, i16 4091, i16 0, i16 8034, i16 8035, i16 4094, i16 8036, i16 0, i16 2777, i16 3830, i16 829, i16 7623, i16 1518, i16 1430, i16 1995, i16 2622, i16 1313, i16 2321, i16 1584, i16 7624, i16 1669, i16 3832, i16 3417, i16 2757, i16 7625, i16 1868, i16 0, i16 3831, i16 7626, i16 3833, i16 7627, i16 0, i16 7628, i16 7629, i16 0, i16 2781, i16 0, i16 1112, i16 0, i16 0, i16 7630, i16 3320, i16 897, i16 811, i16 0, i16 2818, i16 11714, i16 11715, i16 6321, i16 0, i16 0, i16 11721, i16 11716, i16 6320, i16 0, i16 2883, i16 0, i16 6325, i16 11717, i16 0, i16 0, i16 6314, i16 0, i16 6324, i16 6326, i16 0, i16 1509, i16 6322, i16 1645, i16 11718, i16 1926, i16 11719, i16 11720, i16 3576, i16 1731, i16 2552, i16 4614, i16 8885, i16 2309, i16 8886, i16 1612, i16 2223, i16 909, i16 2371, i16 4612, i16 1252, i16 8887, i16 8888, i16 8889, i16 0, i16 0, i16 1442, i16 0, i16 2672, i16 4618, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2406, i16 0, i16 8890, i16 4621, i16 0, i16 7416, i16 1196, i16 7417, i16 7418, i16 0, i16 0, i16 0, i16 0, i16 7419, i16 3746, i16 788, i16 7420, i16 7421, i16 1561, i16 1197, i16 3185, i16 3019, i16 1272, i16 7422, i16 0, i16 0, i16 7423, i16 7424, i16 7425, i16 0, i16 7426, i16 1014, i16 0, i16 3781, i16 2752, i16 0, i16 0, i16 1529, i16 0, i16 2716, i16 6278, i16 11631, i16 11632, i16 0, i16 11633, i16 1458, i16 0, i16 2209, i16 0, i16 6281, i16 0, i16 2817, i16 11634, i16 6280, i16 11635, i16 11636, i16 1420, i16 11637, i16 11638, i16 6279, i16 2524, i16 1228, i16 0, i16 0, i16 6282, i16 0, i16 6283, i16 11639, i16 2118, i16 2041, i16 4564, i16 8795, i16 8796, i16 8797, i16 0, i16 8798, i16 2329, i16 6559, i16 3067, i16 0, i16 1947, i16 8799, i16 1730, i16 4565, i16 0, i16 8800, i16 8801, i16 8802, i16 2476, i16 8803, i16 3196, i16 8804, i16 0, i16 2518, i16 0, i16 8805, i16 4568, i16 8806, i16 0, i16 4566, i16 0, i16 10235, i16 5426, i16 0, i16 1159, i16 3056, i16 5427, i16 10236, i16 5428, i16 10237, i16 0, i16 5429, i16 0, i16 10238, i16 0, i16 3437, i16 0, i16 10239, i16 10240, i16 3430, i16 0, i16 2655, i16 0, i16 10241, i16 0, i16 2417, i16 10242, i16 0, i16 5431, i16 10243, i16 0, i16 2033, i16 0, i16 5628, i16 10657, i16 0, i16 10658, i16 5652, i16 5654, i16 0, i16 10659, i16 0, i16 10660, i16 0, i16 0, i16 5655, i16 10661, i16 10662, i16 0, i16 10663, i16 0, i16 10664, i16 3227, i16 0, i16 5656, i16 0, i16 0, i16 0, i16 10665, i16 0, i16 0, i16 10666, i16 10667, i16 3443, i16 0, i16 3325, i16 7813, i16 0, i16 0, i16 0, i16 0, i16 3062, i16 7814, i16 7815, i16 3968, i16 7816, i16 1183, i16 3963, i16 3964, i16 3966, i16 7817, i16 0, i16 7818, i16 0, i16 0, i16 7819, i16 7820, i16 3967, i16 0, i16 1274, i16 2220, i16 0, i16 3202, i16 3965, i16 3961, i16 1564, i16 0, i16 5629, i16 10622, i16 10623, i16 10624, i16 10625, i16 0, i16 10626, i16 5630, i16 0, i16 10627, i16 0, i16 10628, i16 10629, i16 5635, i16 10630, i16 10631, i16 0, i16 5624, i16 3951, i16 5631, i16 5625, i16 0, i16 0, i16 5634, i16 0, i16 10632, i16 0, i16 10633, i16 0, i16 0, i16 0, i16 5640, i16 4350, i16 0, i16 0, i16 4349, i16 4348, i16 3188, i16 0, i16 4357, i16 0, i16 8514, i16 0, i16 8512, i16 3341, i16 0, i16 4351, i16 0, i16 8513, i16 8515, i16 0, i16 0, i16 4353, i16 3358, i16 8516, i16 4352, i16 8517, i16 0, i16 0, i16 8518, i16 8519, i16 0, i16 8520, i16 4354, i16 9726, i16 5159, i16 0, i16 0, i16 0, i16 9727, i16 9728, i16 9729, i16 0, i16 5155, i16 0, i16 5156, i16 0, i16 9730, i16 0, i16 5160, i16 0, i16 5158, i16 0, i16 0, i16 0, i16 3141, i16 0, i16 9731, i16 5166, i16 0, i16 5163, i16 5162, i16 0, i16 5165, i16 2865, i16 5167, i16 3839, i16 0, i16 3840, i16 7634, i16 7635, i16 2879, i16 902, i16 0, i16 0, i16 3843, i16 1778, i16 7636, i16 3842, i16 1723, i16 7637, i16 3844, i16 5856, i16 3845, i16 3316, i16 3846, i16 0, i16 3847, i16 3848, i16 2134, i16 7638, i16 1917, i16 0, i16 0, i16 0, i16 7639, i16 0, i16 0, i16 5887, i16 10975, i16 5888, i16 5884, i16 10977, i16 10978, i16 10979, i16 0, i16 5885, i16 0, i16 5886, i16 10980, i16 0, i16 0, i16 10981, i16 1640, i16 10976, i16 0, i16 0, i16 5894, i16 0, i16 5890, i16 10982, i16 0, i16 10983, i16 0, i16 3165, i16 10984, i16 3359, i16 3103, i16 10985, i16 0, i16 120, i16 12, i16 25, i16 0, i16 0, i16 5, i16 0, i16 23, i16 156, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 17, i16 157, i16 107, i16 21, i16 147, i16 174, i16 24, i16 0, i16 3, i16 173, i16 137, i16 30, i16 88, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 143, i16 145, i16 8, i16 117, i16 132, i16 0, i16 0, i16 177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 187, i16 95, i16 182, i16 161, i16 129, i16 127, i16 97, i16 135, i16 103, i16 108, i16 83, i16 86, i16 166, i16 139, i16 89, i16 172, i16 56, i16 77, i16 106, i16 162, i16 189, i16 155, i16 41, i16 141, i16 124, i16 28, i16 74, i16 68, i16 113, i16 27, i16 67, i16 85, i16 144, i16 70, i16 126, i16 96, i16 35, i16 61, i16 190, i16 123, i16 176, i16 171, i16 148, i16 183, i16 38, i16 54, i16 142, i16 186, i16 87, i16 75, i16 94, i16 76, i16 32, i16 98, i16 163, i16 20, i16 133, i16 154, i16 66, i16 138, i16 52, i16 101, i16 44, i16 63, i16 19, i16 22, i16 164, i16 191, i16 136, i16 80, i16 65, i16 91, i16 114, i16 181, i16 51, i16 79, i16 184, i16 116, i16 151, i16 92, i16 140, i16 64, i16 167, i16 50, i16 110, i16 130, i16 192, i16 152, i16 100, i16 99, i16 36, i16 93, i16 72, i16 146, i16 131, i16 33, i16 47, i16 119, i16 7, i16 73, i16 185, i16 57, i16 160, i16 150, i16 78, i16 45, i16 118, i16 49, i16 115, i16 29, i16 31, i16 69, i16 188, i16 53, i16 149, i16 121, i16 55, i16 109, i16 82, i16 153, i16 178, i16 90, i16 122, i16 104, i16 6, i16 175, i16 60, i16 59, i16 43, i16 180, i16 125, i16 16, i16 179, i16 102, i16 134, i16 62, i16 37, i16 158, i16 71, i16 40, i16 84, i16 0, i16 1, i16 159, i16 13, i16 81, i16 111, i16 46, i16 105, i16 9, i16 128, i16 18, i16 170, i16 11, i16 15, i16 39, i16 34, i16 2, i16 48, i16 10, i16 14, i16 26, i16 58, i16 42, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 169, i16 112, i16 168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 165, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 84, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1270, i16 1950, i16 0, i16 426, i16 2786, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3365, i16 3389, i16 3410, i16 1975, i16 0, i16 2471, i16 2480, i16 2502, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2924, i16 1668, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 408, i16 0, i16 0, i16 3296, i16 0, i16 3249, i16 1864, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 141, i16 0, i16 51, i16 1513, i16 1049, i16 2968, i16 2294, i16 0, i16 1390, i16 979, i16 0, i16 1886, i16 0, i16 617, i16 0, i16 0, i16 0, i16 1282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 471, i16 2852, i16 0, i16 0, i16 0, i16 0, i16 3275, i16 2769, i16 2449, i16 0, i16 0, i16 0, i16 0, i16 693, i16 657, i16 2725, i16 1421, i16 1123, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1524, i16 2708, i16 2736, i16 2762, i16 2793, i16 2808, i16 2834, i16 2854, i16 2870, i16 2890, i16 2909, i16 2932, i16 2958, i16 2983, i16 3003, i16 3025, i16 3042, i16 3062, i16 3085, i16 3108, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2374, i16 367, i16 1664, i16 0, i16 0, i16 0, i16 0, i16 2342, i16 0, i16 0, i16 0, i16 0, i16 165, i16 2704, i16 1683, i16 0, i16 0, i16 1370, i16 0, i16 2875, i16 0, i16 2939, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1678, i16 423, i16 0, i16 2585, i16 0, i16 0, i16 0, i16 2178, i16 0, i16 0, i16 0, i16 463, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 603, i16 0, i16 3282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2510, i16 0, i16 0, i16 0, i16 2978, i16 0, i16 0, i16 0, i16 0, i16 0, i16 454, i16 3047, i16 2404, i16 0, i16 0, i16 1652, i16 0, i16 628, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1882, i16 3318, i16 2723, i16 1548, i16 2895, i16 3235, i16 3268, i16 2013, i16 0, i16 899, i16 0, i16 0, i16 2999, i16 270, i16 3031, i16 926, i16 0, i16 511, i16 0, i16 0, i16 2064, i16 271, i16 2107, i16 537, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2071, i16 1576, i16 0, i16 1014, i16 610, i16 703, i16 0, i16 89, i16 277, i16 2618, i16 2078, i16 373, i16 2562, i16 2653, i16 0, i16 20, i16 2792, i16 1006, i16 1991, i16 745, i16 0, i16 2504, i16 1920, i16 3246, i16 1187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1040, i16 538, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1639, i16 1552, i16 1656, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1084, i16 0, i16 0, i16 343, i16 947, i16 0, i16 1748, i16 0, i16 0, i16 2269, i16 1677, i16 2648, i16 0, i16 455, i16 0, i16 2224, i16 572, i16 0, i16 0, i16 0, i16 0, i16 272, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 218, i16 2385, i16 42, i16 1008, i16 2883, i16 1666, i16 3317, i16 0, i16 0, i16 0, i16 845, i16 1527, i16 0, i16 966, i16 1411, i16 2278, i16 0, i16 0, i16 0, i16 529, i16 764, i16 1103, i16 2200, i16 446, i16 1517, i16 1958, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1554, i16 2767, i16 2782, i16 2040, i16 1538, i16 0, i16 0, i16 3329, i16 0, i16 320, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2561, i16 0, i16 183, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1077, i16 1744, i16 1381, i16 0, i16 1821, i16 2017, i16 2216, i16 1487, i16 2180, i16 1772, i16 0, i16 1191, i16 0, i16 0, i16 0, i16 2697, i16 1177, i16 1167, i16 1491, i16 0, i16 0, i16 0, i16 1684, i16 1161, i16 0, i16 0, i16 261, i16 0, i16 0, i16 0, i16 0, i16 0, i16 353, i16 1482, i16 385, i16 2859, i16 2317, i16 136, i16 2314, i16 598, i16 2350, i16 2114, i16 3321, i16 177, i16 3325, i16 740, i16 1376, i16 0, i16 564, i16 3237, i16 2522, i16 0, i16 220, i16 451, i16 896, i16 985, i16 0, i16 931, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1514, i16 391, i16 2423, i16 0, i16 1547, i16 0, i16 904, i16 0, i16 3173, i16 265, i16 0, i16 1255, i16 0, i16 406, i16 3030, i16 2947, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2682, i16 0, i16 0, i16 0, i16 90, i16 1190, i16 0, i16 0, i16 0, i16 0, i16 3076, i16 3092, i16 2084, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1002, i16 3212, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3169, i16 789, i16 0, i16 3187, i16 948, i16 1953, i16 530, i16 245, i16 1845, i16 769, i16 646, i16 0, i16 670, i16 2443, i16 1563, i16 2644, i16 1508, i16 2949, i16 0, i16 0, i16 0, i16 0, i16 0, i16 330, i16 0, i16 2594, i16 2182, i16 696, i16 0, i16 0, i16 0, i16 0, i16 1906, i16 3349, i16 3372, i16 3395, i16 3415, i16 1974, i16 1997, i16 0, i16 1128, i16 2030, i16 2057, i16 2085, i16 2106, i16 2126, i16 2152, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 884, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1151, i16 0, i16 0, i16 0, i16 0, i16 907, i16 0, i16 0, i16 1164, i16 0, i16 2089, i16 328, i16 2093, i16 0, i16 1196, i16 0, i16 921, i16 0, i16 0, i16 0, i16 0, i16 929, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 910, i16 152, i16 0, i16 1679, i16 0, i16 1452, i16 0, i16 0, i16 0, i16 1992, i16 65, i16 1016, i16 259, i16 0, i16 0, i16 1174, i16 1900, i16 3026, i16 3184, i16 2125, i16 0, i16 0, i16 2720, i16 0, i16 0, i16 3373, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2737, i16 0, i16 0, i16 0, i16 1427, i16 0, i16 1750, i16 2491, i16 1564, i16 1184, i16 2996, i16 889, i16 3105, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1290, i16 0, i16 3191, i16 0, i16 2844, i16 401, i16 3231, i16 3156, i16 241, i16 1896, i16 0, i16 0, i16 0, i16 0, i16 699, i16 0, i16 1035, i16 0, i16 0, i16 2360, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1115, i16 3123, i16 1925, i16 3287, i16 0, i16 0, i16 0, i16 0, i16 1450, i16 803, i16 1267, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3280, i16 2450, i16 1696, i16 3032, i16 1377, i16 0, i16 0, i16 0, i16 568, i16 0, i16 2921, i16 2479, i16 2955, i16 2063, i16 1546, i16 1367, i16 1641, i16 0, i16 1039, i16 0, i16 0, i16 0, i16 0, i16 3264, i16 0, i16 2136, i16 0, i16 3056, i16 0, i16 0, i16 0, i16 0, i16 467, i16 0, i16 0, i16 0, i16 3041, i16 1967, i16 1980, i16 0, i16 932, i16 1066, i16 0, i16 3061, i16 3344, i16 920, i16 3399, i16 915, i16 3409, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1520, i16 3160, i16 3104, i16 973, i16 1426, i16 1893, i16 0, i16 2838, i16 0, i16 0, i16 0, i16 1137, i16 1473, i16 0, i16 1810, i16 942, i16 331, i16 0, i16 1150, i16 0, i16 43, i16 0, i16 2179, i16 1614, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 508, i16 487, i16 0, i16 0, i16 1726, i16 0, i16 734, i16 308, i16 0, i16 0, i16 2990, i16 3063, i16 2991, i16 0, i16 3011, i16 1074, i16 3210, i16 3037, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1827, i16 0, i16 897, i16 0, i16 75, i16 0, i16 0, i16 0, i16 1030, i16 462, i16 0, i16 0, i16 2414, i16 2898, i16 0, i16 0, i16 3253, i16 1468, i16 2833, i16 3273, i16 1955, i16 0, i16 127, i16 913, i16 0, i16 0, i16 507, i16 2716, i16 1126, i16 3029, i16 0, i16 3382, i16 2668, i16 0, i16 2555, i16 128, i16 0, i16 0, i16 0, i16 0, i16 1127, i16 2981, i16 1437, i16 0, i16 0, i16 0, i16 1500, i16 0, i16 0, i16 480, i16 0, i16 114, i16 0, i16 0, i16 205, i16 1655, i16 0, i16 0, i16 34, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 370, i16 500, i16 528, i16 0, i16 2690, i16 2876, i16 1477, i16 3133, i16 333, i16 0, i16 0, i16 0, i16 0, i16 1793, i16 0, i16 0, i16 1529, i16 2550, i16 1096, i16 1112, i16 1588, i16 820, i16 3267, i16 2595, i16 1977, i16 3394, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 125, i16 1589, i16 0, i16 1933, i16 847, i16 2168, i16 468, i16 0, i16 3405, i16 0, i16 0, i16 1506, i16 0, i16 0, i16 683, i16 1939, i16 2846, i16 2878, i16 2642, i16 0, i16 0, i16 2377, i16 0, i16 0, i16 2596, i16 0, i16 1532, i16 0, i16 1107, i16 0, i16 0, i16 0, i16 1919, i16 3021, i16 120, i16 0, i16 644, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2732, i16 501, i16 279, i16 2509, i16 1644, i16 1863, i16 0, i16 0, i16 395, i16 246, i16 1025, i16 626, i16 3384, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1675, i16 0, i16 2734, i16 0, i16 3140, i16 990, i16 0, i16 0, i16 2169, i16 0, i16 0, i16 1027, i16 552, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2583, i16 0, i16 3286, i16 0, i16 1212, i16 316, i16 0, i16 0, i16 2830, i16 0, i16 0, i16 0, i16 0, i16 909, i16 1229, i16 0, i16 0, i16 335, i16 0, i16 0, i16 359, i16 647, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1153, i16 0, i16 0, i16 901, i16 0, i16 0, i16 0, i16 2492, i16 2027, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3219, i16 0, i16 2744, i16 476, i16 0, i16 11, i16 243, i16 0, i16 2327, i16 3098, i16 0, i16 0, i16 0, i16 97, i16 0, i16 0, i16 0, i16 1523, i16 0, i16 0, i16 783, i16 1121, i16 3144, i16 0, i16 0, i16 0, i16 496, i16 0, i16 0, i16 0, i16 0, i16 0, i16 158, i16 0, i16 2711, i16 1954, i16 3311, i16 886, i16 239, i16 1528, i16 1343, i16 1531, i16 225, i16 0, i16 1047, i16 0, i16 2311, i16 3385, i16 607, i16 2571, i16 2130, i16 848, i16 0, i16 2750, i16 440, i16 794, i16 2102, i16 460, i16 2018, i16 2208, i16 1181, i16 0, i16 0, i16 0, i16 1755, i16 2493, i16 1397, i16 0, i16 3417, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 780, i16 206, i16 2759, i16 0, i16 0, i16 834, i16 0, i16 0, i16 672, i16 0, i16 2241, i16 1359, i16 0, i16 0, i16 584, i16 1978, i16 3009, i16 0, i16 0, i16 0, i16 1160, i16 211, i16 2666, i16 0, i16 0, i16 0, i16 0, i16 2074, i16 0, i16 0, i16 0, i16 0, i16 17, i16 2606, i16 1737, i16 202, i16 1812, i16 1007, i16 0, i16 1841, i16 1345, i16 0, i16 738, i16 1162, i16 2860, i16 1943, i16 1814, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1674, i16 2556, i16 66, i16 542, i16 1205, i16 3419, i16 0, i16 2603, i16 2500, i16 425, i16 0, i16 0, i16 278, i16 1961, i16 680, i16 0, i16 1124, i16 1758, i16 0, i16 1555, i16 1446, i16 2210, i16 1405, i16 350, i16 3028, i16 2892, i16 0, i16 0, i16 0, i16 0, i16 1826, i16 2907, i16 21, i16 558, i16 1600, i16 1932, i16 0, i16 0, i16 1779, i16 0, i16 0, i16 1295, i16 0, i16 0, i16 28, i16 1725, i16 0, i16 0, i16 0, i16 0, i16 1981, i16 0, i16 2384, i16 1942, i16 0, i16 0, i16 0, i16 0, i16 0, i16 795, i16 452, i16 0, i16 208, i16 0, i16 0, i16 3044, i16 0, i16 0, i16 0, i16 0, i16 166, i16 836, i16 340, i16 337, i16 0, i16 0, i16 1875, i16 0, i16 0, i16 1159, i16 32, i16 1879, i16 1304, i16 0, i16 414, i16 515, i16 1347, i16 365, i16 0, i16 1884, i16 1521, i16 970, i16 0, i16 0, i16 858, i16 3141, i16 0, i16 717, i16 1866, i16 0, i16 1280, i16 1791, i16 2234, i16 0, i16 1414, i16 2147, i16 0, i16 0, i16 1645, i16 0, i16 0, i16 0, i16 404, i16 0, i16 0, i16 984, i16 3122, i16 0, i16 0, i16 0, i16 145, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1803, i16 0, i16 0, i16 1651, i16 2447, i16 0, i16 0, i16 2291, i16 472, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1134, i16 838, i16 0, i16 470, i16 2650, i16 606, i16 1065, i16 0, i16 1130, i16 0, i16 0, i16 0, i16 0, i16 1374, i16 1694, i16 1572, i16 1648, i16 2386, i16 200, i16 694, i16 0, i16 2530, i16 0, i16 0, i16 1752, i16 159, i16 2351, i16 3097, i16 1410, i16 1125, i16 0, i16 0, i16 412, i16 0, i16 1556, i16 0, i16 0, i16 625, i16 0, i16 1649, i16 0, i16 2100, i16 2469, i16 0, i16 273, i16 3016, i16 0, i16 0, i16 0, i16 0, i16 0, i16 399, i16 276, i16 2646, i16 671, i16 1732, i16 1888, i16 1382, i16 57, i16 0, i16 0, i16 0, i16 0, i16 0, i16 999, i16 0, i16 0, i16 681, i16 190, i16 2424, i16 0, i16 1319, i16 1454, i16 0, i16 0, i16 539, i16 0, i16 761, i16 0, i16 2021, i16 0, i16 0, i16 2189, i16 54, i16 0, i16 0, i16 0, i16 0, i16 3073, i16 0, i16 3049, i16 1501, i16 3198, i16 0, i16 0, i16 0, i16 2802, i16 255, i16 1960, i16 0, i16 0, i16 0, i16 263, i16 0, i16 0, i16 0, i16 0, i16 3168, i16 3007, i16 784, i16 3164, i16 0, i16 0, i16 788, i16 2164, i16 1711, i16 1088, i16 1328, i16 3024, i16 0, i16 2497, i16 1825, i16 2888, i16 1003, i16 986, i16 1603, i16 0, i16 0, i16 1012, i16 2473, i16 329, i16 0, i16 0, i16 0, i16 189, i16 2254, i16 1348, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 283, i16 155, i16 0, i16 0, i16 2908, i16 1209, i16 346, i16 0, i16 2765, i16 0, i16 1957, i16 0, i16 0, i16 0, i16 828, i16 0, i16 0, i16 2807, i16 0, i16 1676, i16 0, i16 1091, i16 768, i16 0, i16 2818, i16 349, i16 1789, i16 2193, i16 0, i16 164, i16 0, i16 1171, i16 2810, i16 938, i16 1163, i16 719, i16 2554, i16 2822, i16 0, i16 1575, i16 1200, i16 0, i16 2598, i16 753, i16 2532, i16 972, i16 689, i16 0, i16 1284, i16 0, i16 0, i16 0, i16 0, i16 0, i16 64, i16 800, i16 0, i16 0, i16 0, i16 1307, i16 509, i16 106, i16 0, i16 3278, i16 819, i16 0, i16 3013, i16 1015, i16 26, i16 1631, i16 1202, i16 1117, i16 0, i16 2326, i16 0, i16 3046, i16 49, i16 0, i16 736, i16 0, i16 776, i16 1109, i16 0, i16 0, i16 3182, i16 0, i16 0, i16 0, i16 0, i16 0, i16 217, i16 510, i16 2212, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 341, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2689, i16 0, i16 0, i16 2117, i16 0, i16 0, i16 0, i16 2825, i16 1273, i16 2948, i16 0, i16 977, i16 268, i16 1266, i16 1283, i16 1369, i16 1795, i16 207, i16 1685, i16 3014, i16 497, i16 0, i16 437, i16 2505, i16 0, i16 2563, i16 0, i16 0, i16 732, i16 553, i16 1247, i16 2372, i16 0, i16 0, i16 1637, i16 3251, i16 3313, i16 1308, i16 0, i16 10, i16 2912, i16 1061, i16 131, i16 0, i16 0, i16 0, i16 2111, i16 0, i16 0, i16 0, i16 0, i16 0, i16 169, i16 0, i16 0, i16 0, i16 490, i16 642, i16 677, i16 0, i16 0, i16 180, i16 1565, i16 148, i16 569, i16 2201, i16 0, i16 315, i16 0, i16 0, i16 0, i16 1818, i16 1021, i16 0, i16 0, i16 0, i16 1244, i16 0, i16 76, i16 0, i16 3406, i16 0, i16 93, i16 0, i16 513, i16 960, i16 0, i16 859, i16 96, i16 1964, i16 0, i16 0, i16 386, i16 1629, i16 1510, i16 0, i16 2656, i16 269, i16 321, i16 0, i16 0, i16 0, i16 0, i16 3106, i16 2930, i16 1402, i16 80, i16 867, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2660, i16 368, i16 0, i16 2661, i16 2045, i16 0, i16 0, i16 0, i16 1581, i16 1544, i16 3381, i16 0, i16 2853, i16 891, i16 449, i16 2010, i16 3277, i16 0, i16 0, i16 2382, i16 2172, i16 2069, i16 2897, i16 0, i16 1773, i16 0, i16 0, i16 1291, i16 0, i16 645, i16 2135, i16 2034, i16 0, i16 0, i16 0, i16 2584, i16 772, i16 1898, i16 0, i16 0, i16 48, i16 1245, i16 1113, i16 747, i16 0, i16 0, i16 1973, i16 0, i16 0, i16 209, i16 2281, i16 1289, i16 2785, i16 0, i16 0, i16 2118, i16 176, i16 1248, i16 2037, i16 2043, i16 339, i16 3293, i16 2066, i16 86, i16 248, i16 857, i16 0, i16 0, i16 1433, i16 0, i16 0, i16 0, i16 1585, i16 2756, i16 2680, i16 1650, i16 1718, i16 0, i16 0, i16 0, i16 0, i16 0, i16 394, i16 1024, i16 1537, i16 0, i16 0, i16 3170, i16 2362, i16 40, i16 53, i16 1101, i16 0, i16 2933, i16 900, i16 1447, i16 0, i16 3179, i16 833, i16 1566, i16 1494, i16 2973, i16 0, i16 0, i16 2609, i16 0, i16 927, i16 2303, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 650, i16 0, i16 0, i16 1075, i16 235, i16 823, i16 565, i16 3079, i16 0, i16 785, i16 777, i16 186, i16 2969, i16 1860, i16 2232, i16 0, i16 873, i16 741, i16 3125, i16 3257, i16 2239, i16 0, i16 3121, i16 1242, i16 2791, i16 0, i16 0, i16 1435, i16 974, i16 1780, i16 961, i16 0, i16 0, i16 2874, i16 757, i16 0, i16 0, i16 0, i16 400, i16 1432, i16 2766, i16 3039, i16 1001, i16 1507, i16 2972, i16 0, i16 2514, i16 1512, i16 2046, i16 0, i16 0, i16 0, i16 1253, i16 0, i16 2098, i16 545, i16 2165, i16 531, i16 555, i16 0, i16 0, i16 3371, i16 0, i16 0, i16 0, i16 742, i16 0, i16 807, i16 1931, i16 0, i16 1076, i16 0, i16 2026, i16 3245, i16 0, i16 0, i16 117, i16 1467, i16 2104, i16 631, i16 0, i16 754, i16 156, i16 2258, i16 307, i16 0, i16 60, i16 0, i16 1260, i16 1371, i16 3328, i16 1870, i16 0, i16 0, i16 61, i16 1241, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 424, i16 2403, i16 2148, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1231, i16 2367, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1596, i16 3096, i16 2202, i16 363, i16 1609, i16 2710, i16 2582, i16 791, i16 2705, i16 0, i16 2543, i16 2319, i16 2558, i16 2597, i16 1, i16 2495, i16 2730, i16 0, i16 3374, i16 2485, i16 2487, i16 0, i16 581, i16 1476, i16 3359, i16 2499, i16 2719, i16 0, i16 1876, i16 3240, i16 0, i16 0, i16 2110, i16 0, i16 198, i16 1488, i16 2262, i16 140, i16 0, i16 0, i16 782, i16 3157, i16 27, i16 3136, i16 0, i16 1092, i16 0, i16 1302, i16 0, i16 1912, i16 1217, i16 0, i16 1642, i16 0, i16 2457, i16 0, i16 3400, i16 1530, i16 0, i16 0, i16 167, i16 524, i16 221, i16 0, i16 2119, i16 998, i16 461, i16 0, i16 1358, i16 1037, i16 3378, i16 3206, i16 841, i16 68, i16 1762, i16 0, i16 1756, i16 2665, i16 482, i16 1004, i16 0, i16 2501, i16 0, i16 3204, i16 918, i16 724, i16 322, i16 2401, i16 0, i16 0, i16 2412, i16 306, i16 733, i16 863, i16 0, i16 0, i16 2904, i16 0, i16 0, i16 1979, i16 0, i16 1985, i16 556, i16 3312, i16 2987, i16 3045, i16 643, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3128, i16 1729, i16 0, i16 2970, i16 161, i16 0, i16 0, i16 0, i16 0, i16 602, i16 0, i16 1682, i16 0, i16 2523, i16 0, i16 92, i16 0, i16 0, i16 583, i16 0, i16 0, i16 697, i16 1263, i16 253, i16 504, i16 0, i16 0, i16 0, i16 0, i16 1636, i16 56, i16 0, i16 0, i16 2617, i16 0, i16 0, i16 0, i16 0, i16 2960, i16 2884, i16 0, i16 1999, i16 438, i16 0, i16 0, i16 0, i16 0, i16 1116, i16 2929, i16 2605, i16 0, i16 2323, i16 774, i16 1032, i16 0, i16 2015, i16 2336, i16 0, i16 520, i16 0, i16 2016, i16 1634, i16 1182, i16 1362, i16 850, i16 2906, i16 596, i16 3274, i16 0, i16 199, i16 2242, i16 0, i16 1934, i16 0, i16 2635, i16 0, i16 1746, i16 2915, i16 0, i16 1375, i16 1118, i16 3004, i16 0, i16 477, i16 0, i16 0, i16 0, i16 0, i16 715, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3185, i16 0, i16 0, i16 0, i16 3248, i16 2541, i16 2340, i16 3258, i16 24, i16 2230, i16 1654, i16 0, i16 3421, i16 1923, i16 2565, i16 2280, i16 0, i16 3167, i16 3149, i16 895, i16 3306, i16 994, i16 2009, i16 1543, i16 2273, i16 0, i16 14, i16 814, i16 540, i16 2243, i16 1384, i16 969, i16 0, i16 2914, i16 1698, i16 0, i16 0, i16 995, i16 1119, i16 2474, i16 2855, i16 498, i16 0, i16 0, i16 2312, i16 3331, i16 2002, i16 2324, i16 0, i16 111, i16 1281, i16 410, i16 2158, i16 1404, i16 708, i16 2625, i16 0, i16 0, i16 0, i16 82, i16 1965, i16 486, i16 3228, i16 661, i16 0, i16 2961, i16 0, i16 197, i16 2842, i16 2060, i16 517, i16 1518, i16 0, i16 0, i16 1853, i16 2257, i16 3392, i16 2419, i16 251, i16 975, i16 0, i16 883, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1423, i16 0, i16 2521, i16 0, i16 2305, i16 0, i16 3380, i16 0, i16 0, i16 1054, i16 1108, i16 1842, i16 0, i16 943, i16 811, i16 2963, i16 0, i16 0, i16 0, i16 2455, i16 0, i16 1511, i16 0, i16 0, i16 1907, i16 3408, i16 2431, i16 516, i16 0, i16 238, i16 2124, i16 1483, i16 0, i16 825, i16 2271, i16 0, i16 1475, i16 1297, i16 0, i16 2001, i16 1346, i16 0, i16 0, i16 0, i16 0, i16 1387, i16 0, i16 0, i16 2629, i16 0, i16 614, i16 1274, i16 839, i16 3154, i16 1005, i16 0, i16 3189, i16 1136, i16 1000, i16 0, i16 2727, i16 2848, i16 3, i16 0, i16 112, i16 1234, i16 1459, i16 770, i16 0, i16 1828, i16 0, i16 2065, i16 0, i16 1106, i16 2444, i16 0, i16 830, i16 1457, i16 1764, i16 2604, i16 3057, i16 1098, i16 1223, i16 0, i16 362, i16 1460, i16 1840, i16 0, i16 1913, i16 580, i16 829, i16 958, i16 0, i16 3337, i16 0, i16 1833, i16 2778, i16 387, i16 2865, i16 310, i16 193, i16 3403, i16 0, i16 0, i16 0, i16 2614, i16 466, i16 0, i16 0, i16 2428, i16 1646, i16 0, i16 0, i16 0, i16 0, i16 1917, i16 0, i16 1908, i16 1859, i16 0, i16 1660, i16 804, i16 1592, i16 0, i16 3094, i16 3216, i16 2295, i16 33, i16 443, i16 3358, i16 0, i16 1394, i16 250, i16 213, i16 0, i16 1971, i16 3080, i16 1354, i16 3360, i16 0, i16 1265, i16 1584, i16 2053, i16 512, i16 0, i16 2928, i16 409, i16 2225, i16 779, i16 1186, i16 0, i16 0, i16 381, i16 0, i16 0, i16 2369, i16 0, i16 3368, i16 0, i16 0, i16 1479, i16 924, i16 0, i16 0, i16 599, i16 3139, i16 0, i16 1492, i16 2101, i16 0, i16 0, i16 0, i16 0, i16 0, i16 184, i16 0, i16 2197, i16 651, i16 0, i16 601, i16 0, i16 0, i16 29, i16 0, i16 1149, i16 3302, i16 1156, i16 3111, i16 1269, i16 1298, i16 0, i16 2073, i16 0, i16 615, i16 262, i16 0, i16 0, i16 1349, i16 118, i16 3159, i16 3178, i16 3316, i16 1252, i16 1277, i16 3301, i16 493, i16 3119, i16 2977, i16 842, i16 2399, i16 318, i16 2940, i16 2123, i16 0, i16 1620, i16 0, i16 2951, i16 0, i16 0, i16 0, i16 0, i16 2453, i16 0, i16 0, i16 1323, i16 288, i16 0, i16 0, i16 1615, i16 2715, i16 0, i16 0, i16 2691, i16 0, i16 0, i16 1388, i16 0, i16 280, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1250, i16 0, i16 392, i16 275, i16 0, i16 0, i16 0, i16 0, i16 1926, i16 3008, i16 0, i16 620, i16 0, i16 0, i16 0, i16 2971, i16 3401, i16 0, i16 0, i16 0, i16 1314, i16 608, i16 944, i16 0, i16 1534, i16 1131, i16 1430, i16 2835, i16 525, i16 1559, i16 3115, i16 0, i16 1672, i16 0, i16 3232, i16 0, i16 0, i16 382, i16 0, i16 3377, i16 352, i16 2301, i16 1207, i16 0, i16 1611, i16 0, i16 0, i16 260, i16 0, i16 94, i16 0, i16 2795, i16 1197, i16 0, i16 3402, i16 45, i16 0, i16 1816, i16 2185, i16 1216, i16 2678, i16 2866, i16 0, i16 2677, i16 0, i16 0, i16 687, i16 1342, i16 2420, i16 2163, i16 2142, i16 0, i16 876, i16 2989, i16 1172, i16 3393, i16 1550, i16 2506, i16 3017, i16 879, i16 0, i16 1169, i16 2729, i16 1817, i16 323, i16 0, i16 0, i16 1562, i16 1436, i16 0, i16 3397, i16 2616, i16 922, i16 44, i16 2966, i16 3135, i16 0, i16 0, i16 1713, i16 0, i16 491, i16 0, i16 0, i16 0, i16 2024, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2943, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3364, i16 3355, i16 2004, i16 2105, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3262, i16 0, i16 1082, i16 2663, i16 0, i16 0, i16 2379, i16 0, i16 0, i16 0, i16 2, i16 1330, i16 1747, i16 0, i16 731, i16 0, i16 2639, i16 0, i16 393, i16 18, i16 722, i16 0, i16 813, i16 223, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3353, i16 0, i16 1504, i16 0, i16 3099, i16 30, i16 1574, i16 2218, i16 566, i16 2621, i16 1989, i16 2917, i16 0, i16 3305, i16 0, i16 1398, i16 2651, i16 843, i16 2159, i16 317, i16 1335, i16 640, i16 865, i16 62, i16 2937, i16 1385, i16 919, i16 1034, i16 1233, i16 1850, i16 792, i16 1972, i16 987, i16 0, i16 2529, i16 1717, i16 364, i16 1095, i16 2696, i16 1142, i16 5, i16 1029, i16 0, i16 0, i16 1962, i16 1595, i16 0, i16 1145, i16 637, i16 1662, i16 0, i16 3386, i16 925, i16 2076, i16 2672, i16 0, i16 338, i16 0, i16 1198, i16 0, i16 1846, i16 0, i16 0, i16 366, i16 2622, i16 0, i16 739, i16 869, i16 799, i16 1480, i16 0, i16 0, i16 1721, i16 0, i16 1542, i16 160, i16 0, i16 1195, i16 1891, i16 2526, i16 3236, i16 502, i16 1697, i16 0, i16 1577, i16 514, i16 2373, i16 3289, i16 0, i16 478, i16 0, i16 0, i16 0, i16 2591, i16 2383, i16 660, i16 2297, i16 0, i16 234, i16 267, i16 124, i16 0, i16 2077, i16 534, i16 1838, i16 1568, i16 0, i16 0, i16 1619, i16 1873, i16 2033, i16 2484, i16 0, i16 2964, i16 2787, i16 1147, i16 0, i16 721, i16 0, i16 0, i16 0, i16 2815, i16 3086, i16 1622, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3336, i16 0, i16 3239, i16 1796, i16 0, i16 2976, i16 139, i16 1176, i16 0, i16 888, i16 2919, i16 3196, i16 1440, i16 2044, i16 574, i16 1754, i16 0, i16 586, i16 1760, i16 1087, i16 2331, i16 544, i16 0, i16 3279, i16 0, i16 0, i16 0, i16 1602, i16 2985, i16 1366, i16 91, i16 894, i16 523, i16 911, i16 2345, i16 2669, i16 3067, i16 3292, i16 2638, i16 806, i16 1341, i16 2986, i16 3363, i16 3227, i16 0, i16 659, i16 868, i16 0, i16 2794, i16 2296, i16 713, i16 1832, i16 0, i16 3217, i16 3304, i16 1811, i16 231, i16 2657, i16 0, i16 0, i16 3127, i16 852, i16 358, i16 0, i16 2318, i16 1570, i16 817, i16 3069, i16 3420, i16 447, i16 2520, i16 638, i16 2299, i16 0, i16 2693, i16 1043, i16 0, i16 1140, i16 1591, i16 1837, i16 236, i16 1355, i16 0, i16 2763, i16 0, i16 1022, i16 2422, i16 0, i16 2138, i16 0, i16 179, i16 0, i16 0, i16 1100, i16 0, i16 1326, i16 2574, i16 2211, i16 1702, i16 0, i16 1089, i16 0, i16 0, i16 377, i16 1687, i16 0, i16 793, i16 0, i16 667, i16 126, i16 934, i16 2300, i16 2079, i16 3370, i16 2233, i16 2862, i16 810, i16 0, i16 0, i16 3263, i16 756, i16 1809, i16 2714, i16 2518, i16 1422, i16 1665, i16 2722, i16 3194, i16 1296, i16 1412, i16 0, i16 138, i16 101, i16 2353, i16 0, i16 1179, i16 1225, i16 458, i16 3413, i16 1579, i16 2090, i16 1561, i16 0, i16 0, i16 0, i16 2809, i16 1497, i16 1389, i16 1019, i16 1329, i16 2421, i16 396, i16 2695, i16 6, i16 2095, i16 950, i16 489, i16 0, i16 1661, i16 0, i16 1808, i16 2171, i16 2511, i16 0, i16 1086, i16 1219, i16 2006, i16 25, i16 0, i16 0, i16 1201, i16 522, i16 0, i16 0, i16 618, i16 0, i16 0, i16 2235, i16 880, i16 0, i16 0, i16 334, i16 1305, i16 1705, i16 2204, i16 1858, i16 1013, i16 1306, i16 0, i16 1085, i16 1533, i16 87, i16 2067, i16 1502, i16 2290, i16 1799, i16 0, i16 3146, i16 1794, i16 3346, i16 2192, i16 0, i16 0, i16 653, i16 1429, i16 887, i16 314, i16 2041, i16 2436, i16 875, i16 1331, i16 1481, i16 0, i16 403, i16 0, i16 0, i16 1910, i16 0, i16 1155, i16 0, i16 2072, i16 3266, i16 1165, i16 1857, i16 1557, i16 1801, i16 2496, i16 3131, i16 2926, i16 2643, i16 1582, i16 0, i16 0, i16 0, i16 122, i16 686, i16 168, i16 0, i16 2398, i16 2749, i16 1553, i16 2413, i16 1541, i16 2440, i16 134, i16 1578, i16 247, i16 0, i16 1193, i16 1321, i16 2575, i16 570, i16 2894, i16 0, i16 0, i16 0, i16 2581, i16 2636, i16 2270, i16 12, i16 1424, i16 1188, i16 1383, i16 0, i16 485, i16 700, i16 3254, i16 149, i16 2922, i16 1627, i16 2545, i16 0, i16 1693, i16 0, i16 953, i16 0, i16 0, i16 0, i16 0, i16 600, i16 1138, i16 0, i16 2059, i16 1525, i16 0, i16 1657, i16 0, i16 1727, i16 2841, i16 532, i16 3176, i16 993, i16 1930, i16 192, i16 0, i16 1740, i16 0, i16 3192, i16 1927, i16 802, i16 2849, i16 1064, i16 2109, i16 0, i16 324, i16 144, i16 881, i16 2133, i16 0, i16 2610, i16 171, i16 1129, i16 1378, i16 0, i16 1835, i16 435, i16 760, i16 1324, i16 0, i16 1251, i16 3100, i16 0, i16 835, i16 0, i16 3310, i16 636, i16 594, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2333, i16 1632, i16 3379, i16 3018, i16 3285, i16 388, i16 2748, i16 0, i16 0, i16 0, i16 0, i16 1905, i16 3354, i16 0, i16 2014, i16 0, i16 0, i16 763, i16 0, i16 2011, i16 0, i16 3033, i16 3223, i16 1009, i16 0, i16 1287, i16 292, i16 413, i16 0, i16 0, i16 0, i16 0, i16 31, i16 2143, i16 2128, i16 1878, i16 956, i16 822, i16 2430, i16 311, i16 0, i16 0, i16 2313, i16 1256, i16 2956, i16 0, i16 224, i16 0, i16 2965, i16 109, i16 634, i16 1431, i16 2465, i16 0, i16 0, i16 0, i16 1775, i16 2462, i16 1090, i16 778, i16 3271, i16 1819, i16 0, i16 2645, i16 291, i16 0, i16 1904, i16 0, i16 182, i16 536, i16 0, i16 0, i16 1203, i16 827, i16 294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8, i16 2005, i16 15, i16 2031, i16 3269, i16 3297, i16 3319, i16 0, i16 3213, i16 3241, i16 3259, i16 0, i16 295, i16 133, i16 2811, i16 1707, i16 1915, i16 0, i16 154, i16 174, i16 3416, i16 2448, i16 1144, i16 0, i16 0, i16 0, i16 0, i16 890, i16 1865, i16 1368, i16 1496, i16 1868, i16 1050, i16 1823, i16 2389, i16 1264, i16 752, i16 2456, i16 0, i16 0, i16 356, i16 1336, i16 2116, i16 978, i16 1831, i16 0, i16 2068, i16 1215, i16 705, i16 1044, i16 0, i16 702, i16 0, i16 0, i16 129, i16 0, i16 0, i16 2364, i16 0, i16 0, i16 1312, i16 0, i16 0, i16 16, i16 0, i16 3244, i16 1133, i16 3078, i16 1139, i16 0, i16 2478, i16 0, i16 422, i16 2573, i16 2007, i16 1097, i16 812, i16 0, i16 0, i16 0, i16 665, i16 0, i16 0, i16 0, i16 0, i16 1736, i16 0, i16 2157, i16 549, i16 3165, i16 0, i16 0, i16 0, i16 1271, i16 0, i16 219, i16 0, i16 0, i16 0, i16 1783, i16 0, i16 0, i16 397, i16 3383, i16 0, i16 0, i16 0, i16 2279, i16 3375, i16 1052, i16 0, i16 0, i16 1712, i16 546, i16 1798, i16 3309, i16 0, i16 380, i16 0, i16 0, i16 3038, i16 0, i16 1621, i16 1122, i16 711, i16 3222, i16 2742, i16 0, i16 1701, i16 1053, i16 0, i16 3327, i16 1922, i16 0, i16 1800, i16 1731, i16 0, i16 2516, i16 655, i16 0, i16 2358, i16 2393, i16 2464, i16 2494, i16 2580, i16 2679, i16 2743, i16 2788, i16 2824, i16 2858, i16 2935, i16 2982, i16 3101, i16 3153, i16 3276, i16 2438, i16 2488, i16 2757, i16 2052, i16 2144, i16 2286, i16 2337, i16 2400, i16 2452, i16 2738, i16 2779, i16 2845, i16 2887, i16 3020, i16 3134, i16 3188, i16 3102, i16 1847, i16 2733, i16 2758, i16 1560, i16 1535, i16 824, i16 1822, i16 0, i16 0, i16 2816, i16 2380, i16 0, i16 1228, i16 0, i16 2366, i16 2378, i16 1968, i16 1599, i16 2042, i16 1318, i16 1338, i16 1569, i16 300, i16 0, i16 2873, i16 2320, i16 0, i16 2893, i16 1706, i16 0, i16 1916, i16 0, i16 3129, i16 590, i16 0, i16 0, i16 2836, i16 0, i16 37, i16 0, i16 0, i16 0, i16 551, i16 3155, i16 3177, i16 1951, i16 1056, i16 1855, i16 3247, i16 562, i16 3208, i16 3294, i16 862, i16 0, i16 3055, i16 1453, i16 1626, i16 296, i16 1871, i16 0, i16 1069, i16 0, i16 1767, i16 1776, i16 58, i16 2992, i16 611, i16 2607, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1941, i16 2347, i16 1813, i16 0, i16 2203, i16 1148, i16 0, i16 0, i16 1667, i16 0, i16 0, i16 162, i16 108, i16 0, i16 1211, i16 1063, i16 83, i16 2249, i16 0, i16 1288, i16 832, i16 0, i16 826, i16 88, i16 1434, i16 0, i16 0, i16 0, i16 2087, i16 2773, i16 1852, i16 1921, i16 2220, i16 0, i16 2627, i16 1333, i16 1120, i16 1902, i16 0, i16 1079, i16 1073, i16 305, i16 0, i16 3074, i16 2755, i16 2628, i16 2244, i16 547, i16 0, i16 527, i16 0, i16 428, i16 0, i16 0, i16 3130, i16 3158, i16 3180, i16 3200, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1601, i16 2058, i16 1332, i16 0, i16 0, i16 242, i16 0, i16 0, i16 0, i16 0, i16 3335, i16 374, i16 1877, i16 2903, i16 2726, i16 0, i16 2131, i16 325, i16 1807, i16 378, i16 1606, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 429, i16 172, i16 201, i16 0, i16 585, i16 0, i16 0, i16 2913, i16 351, i16 698, i16 2264, i16 2187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1104, i16 1114, i16 2003, i16 2029, i16 2056, i16 2083, i16 2103, i16 2120, i16 2145, i16 2173, i16 2195, i16 2228, i16 2256, i16 2277, i16 2302, i16 2328, i16 2346, i16 2363, i16 2388, i16 2408, i16 2429, i16 2454, i16 2472, i16 1406, i16 2507, i16 2533, i16 2553, i16 2578, i16 2601, i16 2623, i16 2640, i16 2667, i16 597, i16 0, i16 0, i16 1363, i16 0, i16 0, i16 0, i16 244, i16 474, i16 0, i16 0, i16 0, i16 229, i16 0, i16 481, i16 0, i16 0, i16 2531, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2275, i16 0, i16 0, i16 2357, i16 548, i16 0, i16 1670, i16 701, i16 2901, i16 3404, i16 0, i16 1067, i16 2008, i16 2577, i16 1844, i16 1659, i16 2564, i16 0, i16 2905, i16 3220, i16 442, i16 0, i16 1407, i16 0, i16 1416, i16 0, i16 1663, i16 1036, i16 0, i16 0, i16 2548, i16 3088, i16 0, i16 473, i16 0, i16 2486, i16 2659, i16 3143, i16 0, i16 1861, i16 1881, i16 0, i16 629, i16 840, i16 2519, i16 3068, i16 2012, i16 0, i16 0, i16 2149, i16 1739, i16 3303, i16 949, i16 577, i16 725, i16 658, i16 146, i16 67, i16 2916, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 945, i16 0, i16 0, i16 505, i16 469, i16 3166, i16 3209, i16 1883, i16 0, i16 0, i16 0, i16 1540, i16 0, i16 3332, i16 3072, i16 2593, i16 1610, i16 1257, i16 0, i16 0, i16 578, i16 0, i16 2394, i16 1766, i16 959, i16 1218, i16 0, i16 0, i16 0, i16 632, i16 0, i16 623, i16 1068, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 348, i16 1624, i16 1315, i16 0, i16 878, i16 3095, i16 116, i16 2426, i16 0, i16 737, i16 1466, i16 13, i16 212, i16 0, i16 3315, i16 831, i16 0, i16 2670, i16 1635, i16 1612, i16 0, i16 0, i16 0, i16 1357, i16 709, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1630, i16 2934, i16 488, i16 157, i16 1327, i16 2054, i16 2407, i16 450, i16 0, i16 981, i16 1135, i16 0, i16 1918, i16 1189, i16 729, i16 2427, i16 0, i16 0, i16 2739, i16 3291, i16 0, i16 675, i16 1834, i16 0, i16 1080, i16 589, i16 1415, i16 2537, i16 2406, i16 119, i16 1393, i16 2387, i16 2910, i16 1897, i16 0, i16 1310, i16 1690, i16 0, i16 2988, i16 0, i16 0, i16 0, i16 0, i16 3322, i16 1048, i16 1399, i16 0, i16 1023, i16 0, i16 1361, i16 1617, i16 375, i16 1699, i16 1778, i16 914, i16 1033, i16 0, i16 1334, i16 0, i16 1279, i16 0, i16 0, i16 1952, i16 210, i16 354, i16 0, i16 1738, i16 2881, i16 2283, i16 0, i16 2451, i16 861, i16 3006, i16 0, i16 2800, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1313, i16 1417, i16 2287, i16 1703, i16 2137, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 866, i16 622, i16 1316, i16 1408, i16 1820, i16 898, i16 1728, i16 2600, i16 1320, i16 2332, i16 2813, i16 2630, i16 0, i16 0, i16 427, i16 0, i16 69, i16 459, i16 3043, i16 445, i16 0, i16 1640, i16 706, i16 3050, i16 0, i16 1658, i16 0, i16 0, i16 0, i16 2288, i16 3051, i16 0, i16 1638, i16 402, i16 0, i16 2886, i16 1350, i16 74, i16 0, i16 0, i16 105, i16 266, i16 1214, i16 0, i16 0, i16 0, i16 723, i16 2198, i16 1895, i16 1356, i16 893, i16 535, i16 2248, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2209, i16 3391, i16 0, i16 1254, i16 72, i16 0, i16 2918, i16 3376, i16 2631, i16 1889, i16 2329, i16 2112, i16 2967, i16 0, i16 2831, i16 0, i16 433, i16 2626, i16 2664, i16 1403, i16 1604, i16 0, i16 656, i16 2227, i16 0, i16 0, i16 3181, i16 0, i16 0, i16 933, i16 1146, i16 750, i16 2439, i16 503, i16 1715, i16 885, i16 1784, i16 432, i16 2153, i16 2176, i16 2206, i16 2237, i16 2265, i16 2284, i16 2308, i16 2121, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3054, i16 3082, i16 3103, i16 3126, i16 3151, i16 3171, i16 3193, i16 36, i16 877, i16 0, i16 758, i16 0, i16 1301, i16 147, i16 1262, i16 1072, i16 1616, i16 0, i16 0, i16 0, i16 0, i16 1774, i16 2051, i16 1567, i16 0, i16 2435, i16 2483, i16 0, i16 905, i16 0, i16 2397, i16 256, i16 1851, i16 0, i16 303, i16 0, i16 0, i16 0, i16 0, i16 0, i16 882, i16 0, i16 0, i16 0, i16 1094, i16 1733, i16 1409, i16 0, i16 0, i16 464, i16 0, i16 1880, i16 707, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1243, i16 1963, i16 767, i16 0, i16 0, i16 0, i16 992, i16 0, i16 1571, i16 3334, i16 0, i16 1719, i16 3036, i16 0, i16 2676, i16 624, i16 728, i16 1261, i16 798, i16 1493, i16 0, i16 0, i16 2702, i16 1526, i16 746, i16 3183, i16 0, i16 1046, i16 0, i16 1462, i16 0, i16 2576, i16 1293, i16 3333, i16 0, i16 0, i16 0, i16 3324, i16 1549, i16 0, i16 0, i16 0, i16 2681, i16 1041, i16 2798, i16 1516, i16 1143, i16 1949, i16 1598, i16 390, i16 1236, i16 1448, i16 2829, i16 2432, i16 298, i16 304, i16 2980, i16 336, i16 0, i16 284, i16 0, i16 533, i16 0, i16 0, i16 0, i16 2741, i16 3407, i16 0, i16 2760, i16 1224, i16 100, i16 0, i16 151, i16 0, i16 2885, i16 0, i16 3272, i16 3398, i16 2167, i16 0, i16 0, i16 2175, i16 2184, i16 2196, i16 2191, i16 2205, i16 2307, i16 2222, i16 2322, i16 2214, i16 2343, i16 2229, i16 2348, i16 2236, i16 2490, i16 2508, i16 2534, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 376, i16 3202, i16 1158, i16 0, i16 0, i16 712, i16 1994, i16 906, i16 0, i16 0, i16 0, i16 751, i16 692, i16 1372, i16 936, i16 2146, i16 1829, i16 1474, i16 357, i16 1618, i16 930, i16 2381, i16 2392, i16 0, i16 0, i16 0, i16 46, i16 3256, i16 0, i16 0, i16 0, i16 0, i16 2425, i16 519, i16 0, i16 2466, i16 3340, i16 0, i16 0, i16 0, i16 0, i16 2559, i16 3233, i16 2995, i16 281, i16 0, i16 2685, i16 1680, i16 3175, i16 2402, i16 2752, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1770, i16 1105, i16 3059, i16 1340, i16 801, i16 0, i16 521, i16 0, i16 2170, i16 0, i16 0, i16 1154, i16 0, i16 0, i16 1583, i16 22, i16 2652, i16 3211, i16 0, i16 0, i16 0, i16 0, i16 361, i16 0, i16 928, i16 0, i16 0, i16 3089, i16 557, i16 815, i16 0, i16 0, i16 1325, i16 2950, i16 1110, i16 2310, i16 2113, i16 0, i16 2115, i16 2330, i16 635, i16 2418, i16 967, i16 0, i16 230, i16 666, i16 1709, i16 0, i16 0, i16 1456, i16 2370, i16 3060, i16 0, i16 0, i16 1392, i16 851, i16 342, i16 805, i16 1854, i16 0, i16 2433, i16 3281, i16 1787, i16 2535, i16 0, i16 576, i16 2700, i16 1987, i16 0, i16 0, i16 2549, i16 407, i16 2174, i16 2957, i16 0, i16 0, i16 0, i16 0, i16 1993, i16 1413, i16 175, i16 0, i16 912, i16 2161, i16 0, i16 976, i16 2039, i16 649, i16 0, i16 1239, i16 2979, i16 1111, i16 1849, i16 1078, i16 0, i16 662, i16 668, i16 964, i16 0, i16 3314, i16 595, i16 3120, i16 3152, i16 592, i16 2687, i16 0, i16 2804, i16 2828, i16 2847, i16 2796, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1465, i16 2612, i16 2633, i16 2655, i16 2675, i16 2699, i16 2724, i16 2747, i16 2774, i16 2799, i16 2821, i16 2840, i16 2864, i16 2882, i16 2899, i16 2925, i16 641, i16 781, i16 0, i16 1996, i16 1613, i16 856, i16 1929, i16 1924, i16 0, i16 1781, i16 240, i16 1192, i16 35, i16 787, i16 3197, i16 1593, i16 3081, i16 2927, i16 0, i16 2686, i16 0, i16 1235, i16 0, i16 104, i16 1505, i16 0, i16 0, i16 0, i16 579, i16 3412, i16 2998, i16 1990, i16 2945, i16 2975, i16 2994, i16 3015, i16 3035, i16 0, i16 0, i16 0, i16 1742, i16 3070, i16 3093, i16 3116, i16 3137, i16 3162, i16 3186, i16 3203, i16 3226, i16 3250, i16 3270, i16 3298, i16 3320, i16 3345, i16 3366, i16 3390, i16 3411, i16 1976, i16 1998, i16 2025, i16 2049, i16 2075, i16 0, i16 0, i16 142, i16 0, i16 1213, i16 0, i16 560, i16 1166, i16 3001, i16 290, i16 0, i16 1536, i16 0, i16 633, i16 1309, i16 0, i16 1856, i16 1026, i16 0, i16 0, i16 591, i16 0, i16 0, i16 773, i16 0, i16 571, i16 2590, i16 110, i16 0, i16 0, i16 0, i16 0, i16 41, i16 621, i16 3218, i16 312, i16 3150, i16 431, i16 1894, i16 0, i16 963, i16 1790, i16 2952, i16 1558, i16 3199, i16 3142, i16 0, i16 2889, i16 0, i16 2761, i16 0, i16 0, i16 0, i16 0, i16 892, i16 0, i16 0, i16 0, i16 2869, i16 2877, i16 955, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1688, i16 313, i16 1710, i16 0, i16 1647, i16 0, i16 0, i16 0, i16 0, i16 0, i16 150, i16 383, i16 0, i16 0, i16 957, i16 1268, i16 0, i16 0, i16 1199, i16 3255, i16 2586, i16 1183, i16 0, i16 0, i16 0, i16 405, i16 2764, i16 818, i16 543, i16 293, i16 1017, i16 4, i16 3225, i16 0, i16 1984, i16 0, i16 0, i16 0, i16 3091, i16 2000, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 639, i16 0, i16 1428, i16 0, i16 444, i16 0, i16 718, i16 2251, i16 0, i16 0, i16 2306, i16 2181, i16 0, i16 2458, i16 0, i16 3083, i16 99, i16 0, i16 0, i16 479, i16 2260, i16 3064, i16 0, i16 3343, i16 0, i16 103, i16 1210, i16 727, i16 1469, i16 3339, i16 582, i16 0, i16 1956, i16 0, i16 0, i16 2223, i16 63, i16 203, i16 1208, i16 2141, i16 1238, i16 344, i16 2415, i16 796, i16 3323, i16 1692, i16 3117, i16 0, i16 0, i16 1653, i16 1175, i16 2446, i16 448, i16 327, i16 1928, i16 2706, i16 2713, i16 2826, i16 421, i16 2832, i16 0, i16 0, i16 113, i16 0, i16 2108, i16 1607, i16 2217, i16 1839, i16 2023, i16 679, i16 1275, i16 766, i16 252, i16 2789, i16 1391, i16 2872, i16 274, i16 1438, i16 0, i16 0, i16 1396, i16 1625, i16 0, i16 0, i16 0, i16 0, i16 561, i16 616, i16 790, i16 1691, i16 0, i16 1628, i16 1443, i16 3221, i16 0, i16 1700, i16 0, i16 1495, i16 1353, i16 2437, i16 59, i16 0, i16 2539, i16 1940, i16 0, i16 0, i16 0, i16 254, i16 0, i16 1439, i16 988, i16 369, i16 102, i16 195, i16 682, i16 0, i16 0, i16 1765, i16 0, i16 1704, i16 0, i16 704, i16 0, i16 554, i16 1222, i16 2784, i16 0, i16 0, i16 0, i16 559, i16 0, i16 0, i16 0, i16 302, i16 0, i16 0, i16 0, i16 0, i16 3284, i16 3234, i16 0, i16 2463, i16 3071, i16 1802, i16 1232, i16 0, i16 264, i16 0, i16 2868, i16 908, i16 0, i16 0, i16 0, i16 178, i16 0, i16 228, i16 0, i16 871, i16 0, i16 0, i16 0, i16 257, i16 0, i16 673, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 952, i16 416, i16 0, i16 419, i16 1936, i16 1503, i16 0, i16 319, i16 0, i16 0, i16 3342, i16 0, i16 0, i16 3174, i16 735, i16 39, i16 0, i16 1062, i16 573, i16 1594, i16 1168, i16 0, i16 962, i16 1441, i16 1173, i16 3084, i16 864, i16 0, i16 1970, i16 227, i16 3114, i16 0, i16 0, i16 1753, i16 1761, i16 1194, i16 0, i16 0, i16 0, i16 2094, i16 2122, i16 2154, i16 2177, i16 2207, i16 2238, i16 2266, i16 2285, i16 2309, i16 2335, i16 2355, i16 2376, i16 2396, i16 2417, i16 2442, i16 2468, i16 1292, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1451, i16 2589, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1401, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2475, i16 1869, i16 0, i16 0, i16 1317, i16 1059, i16 2777, i16 2728, i16 0, i16 0, i16 0, i16 0, i16 417, i16 1081, i16 1911, i16 0, i16 0, i16 0, i16 0, i16 3307, i16 1038, i16 0, i16 0, i16 0, i16 0, i16 2099, i16 575, i16 0, i16 0, i16 0, i16 2896, i16 2637, i16 3243, i16 0, i16 1141, i16 123, i16 1498, i16 1988, i16 2513, i16 0, i16 55, i16 2772, i16 2356, i16 1373, i16 1605, i16 0, i16 287, i16 3052, i16 0, i16 355, i16 765, i16 0, i16 0, i16 2781, i16 0, i16 2797, i16 1573, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 941, i16 1909, i16 2552, i16 0, i16 0, i16 0, i16 2276, i16 0, i16 38, i16 0, i16 1874, i16 50, i16 0, i16 0, i16 1380, i16 684, i16 0, i16 0, i16 411, i16 755, i16 1983, i16 2613, i16 0, i16 0, i16 0, i16 1478, i16 137, i16 0, i16 2544, i16 0, i16 2219, i16 332, i16 1455, i16 3350, i16 2325, i16 1294, i16 1946, i16 1028, i16 2062, i16 1445, i16 0, i16 0, i16 0, i16 797, i16 0, i16 1395, i16 0, i16 441, i16 499, i16 2823, i16 1890, i16 495, i16 1490, i16 3148, i16 1071, i16 1716, i16 3295, i16 0, i16 0, i16 937, i16 1797, i16 1246, i16 3205, i16 0, i16 946, i16 0, i16 2731, i16 0, i16 285, i16 0, i16 0, i16 0, i16 2459, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 384, i16 204, i16 2735, i16 716, i16 0, i16 0, i16 0, i16 153, i16 3347, i16 0, i16 0, i16 0, i16 2489, i16 2482, i16 1419, i16 2703, i16 2226, i16 1471, i16 0, i16 1418, i16 951, i16 0, i16 0, i16 0, i16 0, i16 232, i16 0, i16 0, i16 3326, i16 0, i16 0, i16 1470, i16 0, i16 0, i16 494, i16 0, i16 107, i16 2409, i16 1769, i16 1058, i16 3261, i16 0, i16 3147, i16 1285, i16 0, i16 1351, i16 3362, i16 0, i16 1204, i16 695, i16 0, i16 360, i16 1539, i16 2634, i16 0, i16 0, i16 2250, i16 0, i16 95, i16 3034, i16 1815, i16 0, i16 2993, i16 52, i16 1722, i16 0, i16 0, i16 0, i16 1276, i16 3172, i16 2199, i16 808, i16 786, i16 2361, i16 0, i16 1458, i16 2215, i16 0, i16 483, i16 3230, i16 1206, i16 2183, i16 2213, i16 2245, i16 2268, i16 2289, i16 2315, i16 2339, i16 2354, i16 2375, i16 2395, i16 2416, i16 2441, i16 2467, i16 2477, i16 2753, i16 2517, i16 2547, i16 2566, i16 2587, i16 2611, i16 2632, i16 2654, i16 2674, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 439, i16 2127, i16 2746, i16 3195, i16 2974, i16 0, i16 9, i16 1157, i16 1986, i16 1055, i16 1178, i16 0, i16 436, i16 0, i16 3388, i16 3048, i16 654, i16 0, i16 3058, i16 0, i16 1545, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2515, i16 0, i16 1221, i16 1099, i16 187, i16 2092, i16 1463, i16 2647, i16 2803, i16 0, i16 0, i16 0, i16 0, i16 1031, i16 2658, i16 0, i16 1836, i16 0, i16 0, i16 47, i16 2879, i16 3019, i16 2166, i16 0, i16 0, i16 1843, i16 0, i16 0, i16 398, i16 0, i16 1848, i16 874, i16 297, i16 0, i16 0, i16 0, i16 1686, i16 613, i16 3002, i16 2931, i16 2867, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2754, i16 2503, i16 2391, i16 3065, i16 3110, i16 3138, i16 3163, i16 3190, i16 3229, i16 3288, i16 3338, i16 3357, i16 2036, i16 2070, i16 2097, i16 2129, i16 2156, i16 2186, i16 2247, i16 2274, i16 2298, i16 2344, i16 2365, i16 2019, i16 2801, i16 2684, i16 2405, i16 3341, i16 3027, i16 3348, i16 3422, i16 2091, i16 1485, i16 0, i16 3010, i16 902, i16 0, i16 0, i16 1948, i16 0, i16 0, i16 0, i16 309, i16 0, i16 3418, i16 484, i16 0, i16 0, i16 2567, i16 1944, i16 0, i16 1724, i16 0, i16 1777, i16 492, i16 81, i16 688, i16 1714, i16 1499, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2770, i16 3075, i16 1804, i16 0, i16 1227, i16 1751, i16 2936, i16 0, i16 0, i16 0, i16 121, i16 0, i16 1180, i16 1364, i16 1322, i16 3112, i16 588, i16 347, i16 1982, i16 2162, i16 2938, i16 2304, i16 3215, i16 2528, i16 0, i16 0, i16 0, i16 2814, i16 1442, i16 71, i16 0, i16 593, i16 2775, i16 2240, i16 1741, i16 0, i16 0, i16 0, i16 2692, i16 1966, i16 0, i16 379, i16 1102, i16 3000, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1745, i16 0, i16 0, i16 0, i16 3161, i16 1057, i16 2683, i16 222, i16 2338, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1749, i16 2524, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2334, i16 2349, i16 2368, i16 2390, i16 2411, i16 2434, i16 2461, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3214, i16 3242, i16 3260, i16 3283, i16 3308, i16 3330, i16 3352, i16 0, i16 0, i16 0, i16 0, i16 0, i16 989, i16 982, i16 0, i16 0, i16 0, i16 0, i16 1938, i16 0, i16 0, i16 1681, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 991, i16 0, i16 730, i16 2911, i16 0, i16 0, i16 0, i16 1899, i16 2028, i16 185, i16 2512, i16 2569, i16 2673, i16 2267, i16 2806, i16 2941, i16 2540, i16 2923, i16 2086, i16 0, i16 1892, i16 0, i16 903, i16 2920, i16 2592, i16 2751, i16 1093, i16 1708, i16 0, i16 3005, i16 19, i16 3356, i16 2527, i16 216, i16 2619, i16 2188, i16 2557, i16 627, i16 748, i16 135, i16 1344, i16 0, i16 872, i16 1018, i16 2790, i16 2776, i16 0, i16 669, i16 2721, i16 73, i16 2139, i16 1278, i16 188, i16 0, i16 2662, i16 0, i16 0, i16 0, i16 0, i16 550, i16 1484, i16 1083, i16 1303, i16 3238, i16 2783, i16 2805, i16 2688, i16 2891, i16 2839, i16 2863, i16 2572, i16 2624, i16 2641, i16 2588, i16 2709, i16 2944, i16 2718, i16 2740, i16 2768, i16 2820, i16 2871, i16 2579, i16 2698, i16 215, i16 2959, i16 844, i16 2151, i16 2984, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2272, i16 0, i16 2155, i16 2445, i16 371, i16 1070, i16 2953, i16 1633, i16 389, i16 1272, i16 691, i16 1365, i16 1759, i16 2857, i16 1045, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2902, i16 2263, i16 170, i16 855, i16 3113, i16 685, i16 1379, i16 1226, i16 2082, i16 1311, i16 1643, i16 0, i16 3040, i16 1768, i16 1995, i16 1623, i16 2088, i16 3022, i16 1425, i16 1170, i16 2282, i16 0, i16 0, i16 923, i16 1515, i16 1300, i16 3090, i16 2476, i16 1914, i16 289, i16 587, i16 1937, i16 2546, i16 2536, i16 1449, i16 2962, i16 3207, i16 0, i16 1519, i16 1259, i16 968, i16 1590, i16 2371, i16 3066, i16 1249, i16 173, i16 759, i16 1945, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 526, i16 2096, i16 0, i16 0, i16 0, i16 0, i16 3367, i16 0, i16 541, i16 2231, i16 954, i16 0, i16 0, i16 237, i16 0, i16 0, i16 430, i16 0, i16 0, i16 0, i16 2081, i16 726, i16 2020, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 939, i16 23, i16 0, i16 3109, i16 0, i16 0, i16 0, i16 0, i16 3252, i16 2599, i16 0, i16 965, i16 2221, i16 420, i16 1386, i16 0, i16 1734, i16 0, i16 1824, i16 0, i16 0, i16 0, i16 1969, i16 2259, i16 1509, i16 0, i16 1580, i16 1887, i16 2712, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 194, i16 0, i16 2134, i16 2568, i16 2649, i16 226, i16 663, i16 2048, i16 1862, i16 2460, i16 1400, i16 1299, i16 3369, i16 0, i16 0, i16 1867, i16 465, i16 2620, i16 916, i16 771, i16 940, i16 233, i16 0, i16 3132, i16 2132, i16 720, i16 1020, i16 2050, i16 0, i16 2316, i16 1723, i16 3351, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2246, i16 2032, i16 0, i16 326, i16 3387, i16 714, i16 475, i16 0, i16 1673, i16 0, i16 0, i16 1743, i16 0, i16 3145, i16 0, i16 0, i16 1258, i16 1240, i16 1830, i16 0, i16 70, i16 0, i16 163, i16 0, i16 2817, i16 1230, i16 2481, i16 2253, i16 2880, i16 2551, i16 2701, i16 115, i16 2851, i16 2292, i16 434, i16 0, i16 0, i16 1420, i16 1152, i16 2150, i16 3201, i16 2498, i16 3224, i16 77, i16 0, i16 0, i16 0, i16 690, i16 2538, i16 1903, i16 1901, i16 2812, i16 3396, i16 1959, i16 3023, i16 0, i16 0, i16 0, i16 0, i16 1671, i16 258, i16 1060, i16 0, i16 1587, i16 191, i16 775, i16 935, i16 0, i16 0, i16 743, i16 2615, i16 1010, i16 0, i16 0, i16 0, i16 181, i16 3300, i16 372, i16 0, i16 1689, i16 749, i16 1695, i16 0, i16 2542, i16 2359, i16 418, i16 1730, i16 2771, i16 1735, i16 2470, i16 453, i16 2352, i16 2608, i16 143, i16 1337, i16 2160, i16 1339, i16 1352, i16 78, i16 3124, i16 983, i16 249, i16 0, i16 0, i16 3087, i16 1757, i16 2997, i16 2038, i16 1472, i16 2837, i16 619, i16 3414, i16 3053, i16 79, i16 2061, i16 1885, i16 1132, i16 2055, i16 3118, i16 604, i16 0, i16 0, i16 0, i16 1608, i16 744, i16 0, i16 2560, i16 0, i16 980, i16 1785, i16 301, i16 1489, i16 0, i16 853, i16 2293, i16 1792, i16 0, i16 0, i16 98, i16 1805, i16 456, i16 997, i16 0, i16 849, i16 1011, i16 821, i16 518, i16 0, i16 0, i16 605, i16 630, i16 0, i16 0, i16 0, i16 0, i16 1185, i16 0, i16 0, i16 0, i16 7, i16 0, i16 0, i16 0, i16 609, i16 2570, i16 2946, i16 345, i16 2856, i16 0, i16 415, i16 0, i16 0, i16 0, i16 0, i16 1360, i16 0, i16 2035, i16 1771, i16 2525, i16 0, i16 0, i16 0, i16 0, i16 846, i16 1720, i16 3361, i16 648, i16 132, i16 2252, i16 2080, i16 506, i16 0, i16 0, i16 0, i16 860, i16 214, i16 1522, i16 2819, i16 2671, i16 1051, i16 1551, i16 3107, i16 0, i16 0, i16 0, i16 1806, i16 1286, i16 2745, i16 1782, i16 870, i16 2022, i16 1935, i16 0, i16 1669, i16 809, i16 130, i16 0, i16 299, i16 0, i16 0, i16 2707, i16 2410, i16 0, i16 2602, i16 762, i16 3290, i16 3265, i16 2717, i16 85, i16 1597, i16 2341, i16 1763, i16 612, i16 2140, i16 2694, i16 664, i16 3299, i16 1042, i16 0, i16 1486, i16 1786, i16 2047, i16 2827, i16 1464, i16 3012, i16 2190, i16 0, i16 0, i16 196, i16 2942, i16 0, i16 837, i16 1586, i16 0, i16 1461, i16 710, i16 3077, i16 0, i16 996, i16 0, i16 0, i16 1237, i16 917, i16 457, i16 2194, i16 2954, i16 1220, i16 2780, i16 1444, i16 0, i16 0, i16 676, i16 1788, i16 0, i16 0, i16 971, i16 0, i16 652, i16 0, i16 0, i16 0, i16 0, i16 678, i16 2261, i16 0, i16 0, i16 674, i16 816, i16 2843, i16 286, i16 2900, i16 0, i16 2861, i16 563, i16 567, i16 2255, i16 2850, i16 1872, i16 2321, i16 1947, i16 0, i16 0, i16 854, i16 282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 14592, i16 0, i16 0, i16 0, i16 15360, i16 0, i16 0, i16 0, i16 13825, i16 0, i16 0, i16 0, i16 14338, i16 0, i16 0, i16 0, i16 14595, i16 0, i16 0, i16 0, i16 15620, i16 0, i16 0, i16 0, i16 13317, i16 0, i16 0, i16 0, i16 774, i16 0, i16 0, i16 0, i16 12806, i16 0, i16 0, i16 0, i16 15110, i16 0, i16 0, i16 0, i16 16903, i16 0, i16 0, i16 0, i16 13320, i16 0, i16 0, i16 0, i16 16136, i16 0, i16 0, i16 0, i16 15625, i16 0, i16 0, i16 0, i16 778, i16 0, i16 0, i16 0, i16 13578, i16 0, i16 0, i16 0, i16 14859, i16 0, i16 0, i16 0, i16 12556, i16 0, i16 0, i16 0, i16 14092, i16 0, i16 0, i16 0, i16 16652, i16 0, i16 0, i16 0, i16 12302, i16 0, i16 0, i16 0, i16 15118, i16 0, i16 0, i16 0, i16 17166, i16 0, i16 0, i16 0, i16 12559, i16 0, i16 0, i16 0, i16 12815, i16 0, i16 0, i16 0, i16 12304, i16 0, i16 0, i16 0, i16 14353, i16 0, i16 0, i16 0, i16 16913, i16 0, i16 0, i16 0, i16 14354, i16 0, i16 0, i16 0, i16 14355, i16 0, i16 0, i16 0, i16 16659, i16 0, i16 0, i16 0, i16 13844, i16 0, i16 0, i16 0, i16 13590, i16 0, i16 0, i16 0, i16 13591, i16 0, i16 0, i16 0, i16 15639, i16 0, i16 0, i16 0, i16 280, i16 0, i16 0, i16 0, i16 13336, i16 0, i16 0, i16 0, i16 14616, i16 0, i16 0, i16 0, i16 14105, i16 0, i16 0, i16 0, i16 13594, i16 0, i16 0, i16 0, i16 12571, i16 0, i16 0, i16 0, i16 13340, i16 0, i16 0, i16 0, i16 14620, i16 0, i16 0, i16 0, i16 14365, i16 0, i16 0, i16 0, i16 13854, i16 0, i16 0, i16 0, i16 16926, i16 0, i16 0, i16 0, i16 12831, i16 0, i16 0, i16 0, i16 14623, i16 0, i16 0, i16 0, i16 16415, i16 0, i16 0, i16 0, i16 16671, i16 0, i16 0, i16 0, i16 12576, i16 0, i16 0, i16 0, i16 15648, i16 0, i16 0, i16 0, i16 16928, i16 0, i16 0, i16 0, i16 12833, i16 0, i16 0, i16 0, i16 12322, i16 0, i16 0, i16 0, i16 13346, i16 0, i16 0, i16 0, i16 14370, i16 0, i16 0, i16 0, i16 16418, i16 0, i16 0, i16 0, i16 15907, i16 0, i16 0, i16 0, i16 14631, i16 0, i16 0, i16 0, i16 14632, i16 0, i16 0, i16 0, i16 15400, i16 0, i16 0, i16 0, i16 15656, i16 0, i16 0, i16 0, i16 13353, i16 0, i16 0, i16 0, i16 13609, i16 0, i16 0, i16 0, i16 15145, i16 0, i16 0, i16 0, i16 12330, i16 0, i16 0, i16 0, i16 12587, i16 0, i16 0, i16 0, i16 14891, i16 0, i16 0, i16 0, i16 15147, i16 0, i16 0, i16 0, i16 12588, i16 0, i16 0, i16 0, i16 13868, i16 0, i16 0, i16 0, i16 14381, i16 0, i16 0, i16 0, i16 15149, i16 0, i16 0, i16 0, i16 12334, i16 0, i16 0, i16 0, i16 16430, i16 0, i16 0, i16 0, i16 13359, i16 0, i16 0, i16 0, i16 14383, i16 0, i16 0, i16 0, i16 13616, i16 0, i16 0, i16 0, i16 15664, i16 0, i16 0, i16 0, i16 16432, i16 0, i16 0, i16 0, i16 12593, i16 0, i16 0, i16 0, i16 16945, i16 0, i16 0, i16 0, i16 15666, i16 0, i16 0, i16 0, i16 16690, i16 0, i16 0, i16 0, i16 15923, i16 0, i16 0, i16 0, i16 12340, i16 0, i16 0, i16 0, i16 14388, i16 0, i16 0, i16 0, i16 15924, i16 0, i16 0, i16 0, i16 12853, i16 0, i16 0, i16 0, i16 13112, i16 0, i16 0, i16 0, i16 15928, i16 0, i16 0, i16 0, i16 15929, i16 0, i16 0, i16 0, i16 16185, i16 0, i16 0, i16 0, i16 13626, i16 0, i16 0, i16 0, i16 13882, i16 0, i16 0, i16 0, i16 15930, i16 0, i16 0, i16 0, i16 12347, i16 0, i16 0, i16 0, i16 12603, i16 0, i16 0, i16 0, i16 13627, i16 0, i16 0, i16 0, i16 15675, i16 0, i16 0, i16 0, i16 12860, i16 0, i16 0, i16 0, i16 14396, i16 0, i16 0, i16 0, i16 16444, i16 0, i16 0, i16 0, i16 12351, i16 0, i16 0, i16 0, i16 13631, i16 0, i16 0, i16 0, i16 16703, i16 0, i16 0, i16 0, i16 12353, i16 0, i16 0, i16 0, i16 12865, i16 0, i16 0, i16 0, i16 13377, i16 0, i16 0, i16 0, i16 14145, i16 0, i16 0, i16 0, i16 15425, i16 0, i16 0, i16 0, i16 12866, i16 0, i16 0, i16 0, i16 13634, i16 0, i16 0, i16 0, i16 16962, i16 0, i16 0, i16 0, i16 13380, i16 0, i16 0, i16 0, i16 14916, i16 0, i16 0, i16 0, i16 13125, i16 0, i16 0, i16 0, i16 13893, i16 0, i16 0, i16 0, i16 15429, i16 0, i16 0, i16 0, i16 16709, i16 0, i16 0, i16 0, i16 13638, i16 0, i16 0, i16 0, i16 15430, i16 0, i16 0, i16 0, i16 15686, i16 0, i16 0, i16 0, i16 16966, i16 0, i16 0, i16 0, i16 13383, i16 0, i16 0, i16 0, i16 16455, i16 0, i16 0, i16 0, i16 16456, i16 0, i16 0, i16 0, i16 16712, i16 0, i16 0, i16 0, i16 12361, i16 0, i16 0, i16 0, i16 12617, i16 0, i16 0, i16 0, i16 15177, i16 0, i16 0, i16 0, i16 12874, i16 0, i16 0, i16 0, i16 16970, i16 0, i16 0, i16 0, i16 12875, i16 0, i16 0, i16 0, i16 14412, i16 0, i16 0, i16 0, i16 15948, i16 0, i16 0, i16 0, i16 12621, i16 0, i16 0, i16 0, i16 13646, i16 0, i16 0, i16 0, i16 14414, i16 0, i16 0, i16 0, i16 12623, i16 0, i16 0, i16 0, i16 14159, i16 0, i16 0, i16 0, i16 13136, i16 0, i16 0, i16 0, i16 16464, i16 0, i16 0, i16 0, i16 16976, i16 0, i16 0, i16 0, i16 12882, i16 0, i16 0, i16 0, i16 15698, i16 0, i16 0, i16 0, i16 14419, i16 0, i16 0, i16 0, i16 12373, i16 0, i16 0, i16 0, i16 15957, i16 0, i16 0, i16 0, i16 16981, i16 0, i16 0, i16 0, i16 13398, i16 0, i16 0, i16 0, i16 14934, i16 0, i16 0, i16 0, i16 13400, i16 0, i16 0, i16 0, i16 13145, i16 0, i16 0, i16 0, i16 13402, i16 0, i16 0, i16 0, i16 14682, i16 0, i16 0, i16 0, i16 16730, i16 0, i16 0, i16 0, i16 16986, i16 0, i16 0, i16 0, i16 14939, i16 0, i16 0, i16 0, i16 13148, i16 0, i16 0, i16 0, i16 15708, i16 0, i16 0, i16 0, i16 16476, i16 0, i16 0, i16 0, i16 13149, i16 0, i16 0, i16 0, i16 14173, i16 0, i16 0, i16 0, i16 15453, i16 0, i16 0, i16 0, i16 15709, i16 0, i16 0, i16 0, i16 16733, i16 0, i16 0, i16 0, i16 14174, i16 0, i16 0, i16 0, i16 15710, i16 0, i16 0, i16 0, i16 12383, i16 0, i16 0, i16 0, i16 16735, i16 0, i16 0, i16 0, i16 15712, i16 0, i16 0, i16 0, i16 12641, i16 0, i16 0, i16 0, i16 13409, i16 0, i16 0, i16 0, i16 16226, i16 0, i16 0, i16 0, i16 13923, i16 0, i16 0, i16 0, i16 14179, i16 0, i16 0, i16 0, i16 16483, i16 0, i16 0, i16 0, i16 15716, i16 0, i16 0, i16 0, i16 13414, i16 0, i16 0, i16 0, i16 615, i16 0, i16 0, i16 0, i16 871, i16 0, i16 0, i16 0, i16 12906, i16 0, i16 0, i16 0, i16 14186, i16 0, i16 0, i16 0, i16 14442, i16 0, i16 0, i16 0, i16 14698, i16 0, i16 0, i16 0, i16 16490, i16 0, i16 0, i16 0, i16 12651, i16 0, i16 0, i16 0, i16 13675, i16 0, i16 0, i16 0, i16 13164, i16 0, i16 0, i16 0, i16 13420, i16 0, i16 0, i16 0, i16 15980, i16 0, i16 0, i16 0, i16 13935, i16 0, i16 0, i16 0, i16 13680, i16 0, i16 0, i16 0, i16 16752, i16 0, i16 0, i16 0, i16 13938, i16 0, i16 0, i16 0, i16 15475, i16 0, i16 0, i16 0, i16 15731, i16 0, i16 0, i16 0, i16 12660, i16 0, i16 0, i16 0, i16 15732, i16 0, i16 0, i16 0, i16 14453, i16 0, i16 0, i16 0, i16 14709, i16 0, i16 0, i16 0, i16 15221, i16 0, i16 0, i16 0, i16 12406, i16 0, i16 0, i16 0, i16 13174, i16 0, i16 0, i16 0, i16 12919, i16 0, i16 0, i16 0, i16 16759, i16 0, i16 0, i16 0, i16 15480, i16 0, i16 0, i16 0, i16 14201, i16 0, i16 0, i16 0, i16 15737, i16 0, i16 0, i16 0, i16 15993, i16 0, i16 0, i16 0, i16 16250, i16 0, i16 0, i16 0, i16 12411, i16 0, i16 0, i16 0, i16 636, i16 0, i16 0, i16 0, i16 13180, i16 0, i16 0, i16 0, i16 14460, i16 0, i16 0, i16 0, i16 14716, i16 0, i16 0, i16 0, i16 14972, i16 0, i16 0, i16 0, i16 15228, i16 0, i16 0, i16 0, i16 12669, i16 0, i16 0, i16 0, i16 14205, i16 0, i16 0, i16 0, i16 16765, i16 0, i16 0, i16 0, i16 12926, i16 0, i16 0, i16 0, i16 15486, i16 0, i16 0, i16 0, i16 15742, i16 0, i16 0, i16 0, i16 14207, i16 0, i16 0, i16 0, i16 16767, i16 0, i16 0, i16 0, i16 13185, i16 0, i16 0, i16 0, i16 12931, i16 0, i16 0, i16 0, i16 13187, i16 0, i16 0, i16 0, i16 13699, i16 0, i16 0, i16 0, i16 14467, i16 0, i16 0, i16 0, i16 12421, i16 0, i16 0, i16 0, i16 13701, i16 0, i16 0, i16 0, i16 14725, i16 0, i16 0, i16 0, i16 14981, i16 0, i16 0, i16 0, i16 16261, i16 0, i16 0, i16 0, i16 13190, i16 0, i16 0, i16 0, i16 14214, i16 0, i16 0, i16 0, i16 16006, i16 0, i16 0, i16 0, i16 13703, i16 0, i16 0, i16 0, i16 12425, i16 0, i16 0, i16 0, i16 13705, i16 0, i16 0, i16 0, i16 14473, i16 0, i16 0, i16 0, i16 14985, i16 0, i16 0, i16 0, i16 13962, i16 0, i16 0, i16 0, i16 16266, i16 0, i16 0, i16 0, i16 12939, i16 0, i16 0, i16 0, i16 13453, i16 0, i16 0, i16 0, i16 14221, i16 0, i16 0, i16 0, i16 16013, i16 0, i16 0, i16 0, i16 17037, i16 0, i16 0, i16 0, i16 15503, i16 0, i16 0, i16 0, i16 14737, i16 0, i16 0, i16 0, i16 12946, i16 0, i16 0, i16 0, i16 13458, i16 0, i16 0, i16 0, i16 15506, i16 0, i16 0, i16 0, i16 17042, i16 0, i16 0, i16 0, i16 12435, i16 0, i16 0, i16 0, i16 16019, i16 0, i16 0, i16 0, i16 17043, i16 0, i16 0, i16 0, i16 12948, i16 0, i16 0, i16 0, i16 13972, i16 0, i16 0, i16 0, i16 16532, i16 0, i16 0, i16 0, i16 13975, i16 0, i16 0, i16 0, i16 15768, i16 0, i16 0, i16 0, i16 16793, i16 0, i16 0, i16 0, i16 13466, i16 0, i16 0, i16 0, i16 155, i16 0, i16 0, i16 0, i16 156, i16 0, i16 0, i16 0, i16 13469, i16 0, i16 0, i16 0, i16 16285, i16 0, i16 0, i16 0, i16 12958, i16 0, i16 0, i16 0, i16 13215, i16 0, i16 0, i16 0, i16 13727, i16 0, i16 0, i16 0, i16 14751, i16 0, i16 0, i16 0, i16 15263, i16 0, i16 0, i16 0, i16 15775, i16 0, i16 0, i16 0, i16 12704, i16 0, i16 0, i16 0, i16 16800, i16 0, i16 0, i16 0, i16 13473, i16 0, i16 0, i16 0, i16 14241, i16 0, i16 0, i16 0, i16 15521, i16 0, i16 0, i16 0, i16 16801, i16 0, i16 0, i16 0, i16 12962, i16 0, i16 0, i16 0, i16 15010, i16 0, i16 0, i16 0, i16 15778, i16 0, i16 0, i16 0, i16 15267, i16 0, i16 0, i16 0, i16 14500, i16 0, i16 0, i16 0, i16 165, i16 0, i16 0, i16 0, i16 15781, i16 0, i16 0, i16 0, i16 16293, i16 0, i16 0, i16 0, i16 166, i16 0, i16 0, i16 0, i16 17063, i16 0, i16 0, i16 0, i16 13736, i16 0, i16 0, i16 0, i16 16296, i16 0, i16 0, i16 0, i16 16808, i16 0, i16 0, i16 0, i16 12713, i16 0, i16 0, i16 0, i16 13993, i16 0, i16 0, i16 0, i16 16041, i16 0, i16 0, i16 0, i16 16810, i16 0, i16 0, i16 0, i16 17066, i16 0, i16 0, i16 0, i16 13483, i16 0, i16 0, i16 0, i16 13484, i16 0, i16 0, i16 0, i16 16300, i16 0, i16 0, i16 0, i16 13741, i16 0, i16 0, i16 0, i16 15277, i16 0, i16 0, i16 0, i16 12462, i16 0, i16 0, i16 0, i16 13999, i16 0, i16 0, i16 0, i16 16559, i16 0, i16 0, i16 0, i16 176, i16 0, i16 0, i16 0, i16 16048, i16 0, i16 0, i16 0, i16 13233, i16 0, i16 0, i16 0, i16 14769, i16 0, i16 0, i16 0, i16 16049, i16 0, i16 0, i16 0, i16 16305, i16 0, i16 0, i16 0, i16 13746, i16 0, i16 0, i16 0, i16 13747, i16 0, i16 0, i16 0, i16 180, i16 0, i16 0, i16 0, i16 13237, i16 0, i16 0, i16 0, i16 13749, i16 0, i16 0, i16 0, i16 14773, i16 0, i16 0, i16 0, i16 16309, i16 0, i16 0, i16 0, i16 16821, i16 0, i16 0, i16 0, i16 13750, i16 0, i16 0, i16 0, i16 14263, i16 0, i16 0, i16 0, i16 696, i16 0, i16 0, i16 0, i16 15544, i16 0, i16 0, i16 0, i16 16312, i16 0, i16 0, i16 0, i16 15290, i16 0, i16 0, i16 0, i16 16570, i16 0, i16 0, i16 0, i16 12475, i16 0, i16 0, i16 0, i16 13755, i16 0, i16 0, i16 0, i16 14779, i16 0, i16 0, i16 0, i16 15035, i16 0, i16 0, i16 0, i16 16828, i16 0, i16 0, i16 0, i16 15037, i16 0, i16 0, i16 0, i16 14526, i16 0, i16 0, i16 0, i16 15294, i16 0, i16 0, i16 0, i16 16832, i16 0, i16 0, i16 0, i16 15809, i16 0, i16 0, i16 0, i16 13506, i16 0, i16 0, i16 0, i16 16066, i16 0, i16 0, i16 0, i16 16834, i16 0, i16 0, i16 0, i16 12739, i16 0, i16 0, i16 0, i16 13763, i16 0, i16 0, i16 0, i16 12740, i16 0, i16 0, i16 0, i16 13764, i16 0, i16 0, i16 0, i16 16068, i16 0, i16 0, i16 0, i16 15045, i16 0, i16 0, i16 0, i16 15301, i16 0, i16 0, i16 0, i16 14278, i16 0, i16 0, i16 0, i16 12743, i16 0, i16 0, i16 0, i16 14791, i16 0, i16 0, i16 0, i16 17095, i16 0, i16 0, i16 0, i16 13768, i16 0, i16 0, i16 0, i16 15560, i16 0, i16 0, i16 0, i16 12745, i16 0, i16 0, i16 0, i16 13513, i16 0, i16 0, i16 0, i16 13514, i16 0, i16 0, i16 0, i16 13770, i16 0, i16 0, i16 0, i16 14027, i16 0, i16 0, i16 0, i16 17099, i16 0, i16 0, i16 0, i16 13516, i16 0, i16 0, i16 0, i16 17100, i16 0, i16 0, i16 0, i16 14285, i16 0, i16 0, i16 0, i16 16845, i16 0, i16 0, i16 0, i16 12494, i16 0, i16 0, i16 0, i16 14798, i16 0, i16 0, i16 0, i16 17102, i16 0, i16 0, i16 0, i16 16079, i16 0, i16 0, i16 0, i16 13520, i16 0, i16 0, i16 0, i16 14032, i16 0, i16 0, i16 0, i16 14288, i16 0, i16 0, i16 0, i16 14800, i16 0, i16 0, i16 0, i16 14289, i16 0, i16 0, i16 0, i16 15569, i16 0, i16 0, i16 0, i16 17105, i16 0, i16 0, i16 0, i16 13778, i16 0, i16 0, i16 0, i16 14034, i16 0, i16 0, i16 0, i16 14803, i16 0, i16 0, i16 0, i16 16083, i16 0, i16 0, i16 0, i16 14805, i16 0, i16 0, i16 0, i16 15829, i16 0, i16 0, i16 0, i16 16597, i16 0, i16 0, i16 0, i16 16853, i16 0, i16 0, i16 0, i16 16598, i16 0, i16 0, i16 0, i16 12503, i16 0, i16 0, i16 0, i16 13527, i16 0, i16 0, i16 0, i16 16088, i16 0, i16 0, i16 0, i16 12761, i16 0, i16 0, i16 0, i16 13785, i16 0, i16 0, i16 0, i16 14809, i16 0, i16 0, i16 0, i16 12508, i16 0, i16 0, i16 0, i16 13276, i16 0, i16 0, i16 0, i16 13532, i16 0, i16 0, i16 0, i16 15836, i16 0, i16 0, i16 0, i16 16348, i16 0, i16 0, i16 0, i16 17116, i16 0, i16 0, i16 0, i16 14045, i16 0, i16 0, i16 0, i16 15837, i16 0, i16 0, i16 0, i16 14558, i16 0, i16 0, i16 0, i16 15326, i16 0, i16 0, i16 0, i16 14047, i16 0, i16 0, i16 0, i16 12768, i16 0, i16 0, i16 0, i16 15584, i16 0, i16 0, i16 0, i16 225, i16 0, i16 0, i16 0, i16 13793, i16 0, i16 0, i16 0, i16 13027, i16 0, i16 0, i16 0, i16 14819, i16 0, i16 0, i16 0, i16 16099, i16 0, i16 0, i16 0, i16 16867, i16 0, i16 0, i16 0, i16 14052, i16 0, i16 0, i16 0, i16 17124, i16 0, i16 0, i16 0, i16 14821, i16 0, i16 0, i16 0, i16 15077, i16 0, i16 0, i16 0, i16 13286, i16 0, i16 0, i16 0, i16 12519, i16 0, i16 0, i16 0, i16 12775, i16 0, i16 0, i16 0, i16 13031, i16 0, i16 0, i16 0, i16 14311, i16 0, i16 0, i16 0, i16 14823, i16 0, i16 0, i16 0, i16 13800, i16 0, i16 0, i16 0, i16 16616, i16 0, i16 0, i16 0, i16 14057, i16 0, i16 0, i16 0, i16 14826, i16 0, i16 0, i16 0, i16 15594, i16 0, i16 0, i16 0, i16 13291, i16 0, i16 0, i16 0, i16 16108, i16 0, i16 0, i16 0, i16 237, i16 0, i16 0, i16 0, i16 12781, i16 0, i16 0, i16 0, i16 15597, i16 0, i16 0, i16 0, i16 15342, i16 0, i16 0, i16 0, i16 14063, i16 0, i16 0, i16 0, i16 15087, i16 0, i16 0, i16 0, i16 15344, i16 0, i16 0, i16 0, i16 13809, i16 0, i16 0, i16 0, i16 17138, i16 0, i16 0, i16 0, i16 15091, i16 0, i16 0, i16 0, i16 16627, i16 0, i16 0, i16 0, i16 12788, i16 0, i16 0, i16 0, i16 14580, i16 0, i16 0, i16 0, i16 15348, i16 0, i16 0, i16 0, i16 16628, i16 0, i16 0, i16 0, i16 13813, i16 0, i16 0, i16 0, i16 13302, i16 0, i16 0, i16 0, i16 14326, i16 0, i16 0, i16 0, i16 15094, i16 0, i16 0, i16 0, i16 15863, i16 0, i16 0, i16 0, i16 16375, i16 0, i16 0, i16 0, i16 15353, i16 0, i16 0, i16 0, i16 15609, i16 0, i16 0, i16 0, i16 14586, i16 0, i16 0, i16 0, i16 15354, i16 0, i16 0, i16 0, i16 15355, i16 0, i16 0, i16 0, i16 15867, i16 0, i16 0, i16 0, i16 15100, i16 0, i16 0, i16 0, i16 12285, i16 0, i16 0, i16 0, i16 13053, i16 0, i16 0, i16 0, i16 14333, i16 0, i16 0, i16 0, i16 12542, i16 0, i16 0, i16 0, i16 12798, i16 0, i16 0, i16 0, i16 13310, i16 0, i16 0, i16 0, i16 14846, i16 0, i16 0, i16 0, i16 15103, i16 0, i16 0, i16 256, i16 0, i16 0, i16 0, i16 14080, i16 0, i16 0, i16 0, i16 13313, i16 17049, i16 0, i16 0, i16 12546, i16 0, i16 0, i16 0, i16 14082, i16 0, i16 0, i16 0, i16 15618, i16 0, i16 0, i16 0, i16 12547, i16 0, i16 0, i16 0, i16 16899, i16 0, i16 0, i16 0, i16 14852, i16 17003, i16 0, i16 0, i16 16388, i16 0, i16 0, i16 0, i16 16644, i16 0, i16 0, i16 0, i16 13573, i16 0, i16 0, i16 0, i16 14085, i16 0, i16 0, i16 0, i16 15109, i16 0, i16 0, i16 0, i16 13318, i16 0, i16 0, i16 0, i16 15366, i16 0, i16 0, i16 0, i16 15622, i16 0, i16 0, i16 0, i16 16390, i16 14495, i16 0, i16 0, i16 16902, i16 13005, i16 0, i16 0, i16 12295, i16 12296, i16 0, i16 0, i16 14343, i16 13546, i16 0, i16 0, i16 16647, i16 0, i16 0, i16 0, i16 14344, i16 0, i16 0, i16 0, i16 15880, i16 15683, i16 0, i16 0, i16 265, i16 264, i16 0, i16 0, i16 12553, i16 14944, i16 0, i16 0, i16 13833, i16 0, i16 0, i16 0, i16 14857, i16 0, i16 0, i16 0, i16 15881, i16 0, i16 0, i16 0, i16 16137, i16 0, i16 0, i16 0, i16 16649, i16 0, i16 0, i16 0, i16 17162, i16 0, i16 0, i16 0, i16 12555, i16 16345, i16 0, i16 0, i16 13067, i16 0, i16 0, i16 0, i16 15115, i16 0, i16 0, i16 0, i16 12300, i16 0, i16 0, i16 0, i16 14348, i16 0, i16 0, i16 0, i16 15628, i16 14483, i16 0, i16 0, i16 16140, i16 0, i16 0, i16 0, i16 12557, i16 0, i16 0, i16 0, i16 14349, i16 0, i16 0, i16 0, i16 14605, i16 15757, i16 0, i16 0, i16 15629, i16 0, i16 0, i16 0, i16 15885, i16 0, i16 0, i16 0, i16 782, i16 0, i16 0, i16 0, i16 13582, i16 13021, i16 0, i16 0, i16 14094, i16 0, i16 0, i16 0, i16 14862, i16 0, i16 0, i16 0, i16 16398, i16 14978, i16 0, i16 0, i16 14352, i16 0, i16 0, i16 0, i16 15376, i16 0, i16 0, i16 0, i16 15121, i16 0, i16 0, i16 0, i16 16657, i16 0, i16 0, i16 0, i16 17169, i16 0, i16 0, i16 0, i16 16658, i16 0, i16 0, i16 0, i16 12819, i16 15198, i16 0, i16 0, i16 13331, i16 0, i16 0, i16 0, i16 13588, i16 15915, i16 0, i16 0, i16 16148, i16 0, i16 0, i16 0, i16 13589, i16 14715, i16 0, i16 0, i16 15125, i16 0, i16 0, i16 0, i16 16661, i16 0, i16 0, i16 0, i16 12310, i16 0, i16 0, i16 0, i16 12566, i16 15116, i16 0, i16 0, i16 13334, i16 0, i16 0, i16 0, i16 14102, i16 15783, i16 0, i16 0, i16 13335, i16 0, i16 0, i16 0, i16 16152, i16 0, i16 0, i16 0, i16 12569, i16 0, i16 0, i16 0, i16 282, i16 0, i16 0, i16 0, i16 794, i16 0, i16 0, i16 0, i16 13338, i16 0, i16 0, i16 0, i16 15386, i16 15387, i16 0, i16 0, i16 15643, i16 16909, i16 0, i16 0, i16 16155, i16 14782, i16 0, i16 0, i16 16667, i16 0, i16 0, i16 0, i16 12828, i16 0, i16 0, i16 0, i16 15644, i16 0, i16 0, i16 0, i16 12829, i16 0, i16 0, i16 0, i16 13597, i16 0, i16 0, i16 0, i16 15133, i16 0, i16 0, i16 0, i16 16413, i16 0, i16 0, i16 0, i16 16669, i16 0, i16 0, i16 0, i16 14110, i16 0, i16 0, i16 0, i16 15902, i16 0, i16 0, i16 0, i16 16158, i16 0, i16 0, i16 0, i16 16670, i16 0, i16 0, i16 0, i16 12320, i16 0, i16 0, i16 0, i16 13344, i16 0, i16 0, i16 0, i16 14624, i16 13170, i16 0, i16 0, i16 15392, i16 0, i16 0, i16 0, i16 16672, i16 12786, i16 0, i16 0, i16 12321, i16 0, i16 0, i16 0, i16 13601, i16 0, i16 0, i16 0, i16 14881, i16 17167, i16 0, i16 0, i16 15649, i16 16630, i16 0, i16 0, i16 15905, i16 16062, i16 0, i16 0, i16 16929, i16 0, i16 0, i16 0, i16 14114, i16 0, i16 0, i16 0, i16 14882, i16 0, i16 0, i16 0, i16 15906, i16 12444, i16 0, i16 0, i16 16674, i16 0, i16 0, i16 0, i16 16163, i16 0, i16 0, i16 0, i16 13860, i16 13824, i16 0, i16 0, i16 14116, i16 15911, i16 0, i16 0, i16 14884, i16 0, i16 0, i16 0, i16 12325, i16 0, i16 0, i16 0, i16 12837, i16 0, i16 0, i16 0, i16 16678, i16 0, i16 0, i16 0, i16 12327, i16 0, i16 0, i16 0, i16 14887, i16 0, i16 0, i16 0, i16 16423, i16 0, i16 0, i16 0, i16 12328, i16 16639, i16 0, i16 0, i16 16425, i16 0, i16 0, i16 0, i16 13610, i16 16180, i16 0, i16 0, i16 14890, i16 0, i16 0, i16 0, i16 16170, i16 0, i16 0, i16 0, i16 15403, i16 0, i16 0, i16 0, i16 16171, i16 0, i16 0, i16 0, i16 12332, i16 0, i16 0, i16 0, i16 15404, i16 15291, i16 0, i16 0, i16 14125, i16 0, i16 0, i16 0, i16 14893, i16 15274, i16 0, i16 0, i16 16685, i16 0, i16 0, i16 0, i16 16941, i16 0, i16 0, i16 0, i16 14382, i16 0, i16 0, i16 0, i16 14638, i16 12998, i16 0, i16 0, i16 16174, i16 0, i16 0, i16 0, i16 12591, i16 0, i16 0, i16 0, i16 14639, i16 0, i16 0, i16 0, i16 13360, i16 0, i16 0, i16 0, i16 14384, i16 0, i16 0, i16 0, i16 14640, i16 0, i16 0, i16 0, i16 13361, i16 0, i16 0, i16 0, i16 14641, i16 0, i16 0, i16 0, i16 15409, i16 0, i16 0, i16 0, i16 16433, i16 0, i16 0, i16 0, i16 14642, i16 0, i16 0, i16 0, i16 14898, i16 13976, i16 0, i16 0, i16 15154, i16 0, i16 0, i16 0, i16 12851, i16 15968, i16 0, i16 0, i16 13619, i16 0, i16 0, i16 0, i16 16947, i16 0, i16 0, i16 0, i16 15156, i16 0, i16 0, i16 0, i16 13365, i16 0, i16 0, i16 0, i16 13621, i16 12675, i16 0, i16 0, i16 12598, i16 15066, i16 0, i16 0, i16 12343, i16 13378, i16 0, i16 0, i16 14135, i16 0, i16 0, i16 0, i16 14391, i16 0, i16 0, i16 0, i16 16951, i16 15075, i16 0, i16 0, i16 12856, i16 0, i16 0, i16 0, i16 15160, i16 13821, i16 0, i16 0, i16 14905, i16 0, i16 0, i16 0, i16 12858, i16 0, i16 0, i16 0, i16 13370, i16 0, i16 0, i16 0, i16 14138, i16 0, i16 0, i16 0, i16 14907, i16 0, i16 0, i16 0, i16 13628, i16 0, i16 0, i16 0, i16 13884, i16 0, i16 0, i16 0, i16 16956, i16 0, i16 0, i16 0, i16 13885, i16 0, i16 0, i16 0, i16 14141, i16 0, i16 0, i16 0, i16 14398, i16 0, i16 0, i16 0, i16 15166, i16 0, i16 0, i16 0, i16 16958, i16 0, i16 0, i16 0, i16 13375, i16 0, i16 0, i16 0, i16 13889, i16 0, i16 0, i16 0, i16 14913, i16 14137, i16 0, i16 0, i16 16193, i16 0, i16 0, i16 0, i16 16449, i16 0, i16 0, i16 0, i16 15938, i16 0, i16 0, i16 0, i16 12355, i16 0, i16 0, i16 0, i16 13379, i16 0, i16 0, i16 0, i16 14660, i16 16660, i16 0, i16 0, i16 15684, i16 0, i16 0, i16 0, i16 12613, i16 16161, i16 0, i16 0, i16 12869, i16 0, i16 0, i16 0, i16 16965, i16 0, i16 0, i16 0, i16 13126, i16 0, i16 0, i16 0, i16 14406, i16 0, i16 0, i16 0, i16 12359, i16 0, i16 0, i16 0, i16 13895, i16 15817, i16 0, i16 0, i16 16711, i16 0, i16 0, i16 0, i16 13640, i16 0, i16 0, i16 0, i16 14920, i16 0, i16 0, i16 0, i16 15944, i16 0, i16 0, i16 0, i16 13385, i16 0, i16 0, i16 0, i16 13641, i16 0, i16 0, i16 0, i16 15945, i16 16859, i16 0, i16 0, i16 16457, i16 0, i16 0, i16 0, i16 12362, i16 0, i16 0, i16 0, i16 13130, i16 0, i16 0, i16 0, i16 14154, i16 0, i16 0, i16 0, i16 14666, i16 0, i16 0, i16 0, i16 16202, i16 0, i16 0, i16 0, i16 13131, i16 15689, i16 0, i16 0, i16 13387, i16 0, i16 0, i16 0, i16 14155, i16 0, i16 0, i16 0, i16 15179, i16 12896, i16 0, i16 0, i16 15691, i16 0, i16 0, i16 0, i16 12364, i16 14260, i16 0, i16 0, i16 13388, i16 13894, i16 0, i16 0, i16 13901, i16 0, i16 0, i16 0, i16 14669, i16 15472, i16 0, i16 0, i16 15949, i16 0, i16 0, i16 0, i16 13390, i16 16026, i16 0, i16 0, i16 14670, i16 0, i16 0, i16 0, i16 13135, i16 16906, i16 0, i16 0, i16 13391, i16 0, i16 0, i16 0, i16 16463, i16 0, i16 0, i16 0, i16 13392, i16 13404, i16 0, i16 0, i16 16720, i16 0, i16 0, i16 0, i16 13649, i16 0, i16 0, i16 0, i16 16209, i16 0, i16 0, i16 0, i16 14674, i16 0, i16 0, i16 0, i16 16722, i16 0, i16 0, i16 0, i16 14163, i16 0, i16 0, i16 0, i16 14675, i16 0, i16 0, i16 0, i16 15699, i16 0, i16 0, i16 0, i16 12628, i16 14648, i16 0, i16 0, i16 13396, i16 0, i16 0, i16 0, i16 15188, i16 0, i16 0, i16 0, i16 12886, i16 0, i16 0, i16 0, i16 13910, i16 0, i16 0, i16 0, i16 14422, i16 0, i16 0, i16 0, i16 15958, i16 12707, i16 0, i16 0, i16 16214, i16 0, i16 0, i16 0, i16 16470, i16 0, i16 0, i16 0, i16 12631, i16 13625, i16 0, i16 0, i16 13143, i16 0, i16 0, i16 0, i16 14423, i16 0, i16 0, i16 0, i16 13656, i16 0, i16 0, i16 0, i16 13912, i16 0, i16 0, i16 0, i16 14424, i16 0, i16 0, i16 0, i16 12633, i16 0, i16 0, i16 0, i16 13913, i16 0, i16 0, i16 0, i16 12890, i16 0, i16 0, i16 0, i16 13146, i16 0, i16 0, i16 0, i16 15962, i16 0, i16 0, i16 0, i16 13147, i16 0, i16 0, i16 0, i16 13659, i16 0, i16 0, i16 0, i16 13405, i16 0, i16 0, i16 0, i16 13150, i16 0, i16 0, i16 0, i16 13406, i16 0, i16 0, i16 0, i16 14686, i16 0, i16 0, i16 0, i16 12895, i16 12407, i16 0, i16 0, i16 15455, i16 0, i16 0, i16 0, i16 14176, i16 0, i16 0, i16 0, i16 14432, i16 0, i16 0, i16 0, i16 15200, i16 0, i16 0, i16 0, i16 16736, i16 0, i16 0, i16 0, i16 12897, i16 0, i16 0, i16 0, i16 13921, i16 0, i16 0, i16 0, i16 14689, i16 0, i16 0, i16 0, i16 13154, i16 0, i16 0, i16 0, i16 16994, i16 16995, i16 0, i16 0, i16 15971, i16 15754, i16 0, i16 0, i16 13156, i16 0, i16 0, i16 0, i16 14692, i16 0, i16 0, i16 0, i16 15460, i16 0, i16 0, i16 0, i16 16228, i16 0, i16 0, i16 0, i16 12389, i16 0, i16 0, i16 0, i16 13669, i16 0, i16 0, i16 0, i16 16486, i16 0, i16 0, i16 0, i16 13927, i16 12380, i16 0, i16 0, i16 14951, i16 15813, i16 0, i16 0, i16 15975, i16 0, i16 0, i16 0, i16 16487, i16 0, i16 0, i16 0, i16 12904, i16 12905, i16 0, i16 0, i16 13416, i16 14004, i16 0, i16 0, i16 15977, i16 0, i16 0, i16 0, i16 12394, i16 15982, i16 0, i16 0, i16 15978, i16 0, i16 0, i16 0, i16 13676, i16 0, i16 0, i16 0, i16 15212, i16 0, i16 0, i16 0, i16 14445, i16 0, i16 0, i16 0, i16 12654, i16 0, i16 0, i16 0, i16 13934, i16 0, i16 0, i16 0, i16 13679, i16 0, i16 0, i16 0, i16 14449, i16 0, i16 0, i16 0, i16 16241, i16 0, i16 0, i16 0, i16 13426, i16 16648, i16 0, i16 0, i16 12915, i16 0, i16 0, i16 0, i16 13427, i16 14180, i16 0, i16 0, i16 14451, i16 15717, i16 0, i16 0, i16 16243, i16 0, i16 0, i16 0, i16 14452, i16 0, i16 0, i16 0, i16 14708, i16 0, i16 0, i16 0, i16 12917, i16 0, i16 0, i16 0, i16 14966, i16 0, i16 0, i16 0, i16 13944, i16 0, i16 0, i16 0, i16 15992, i16 0, i16 0, i16 0, i16 16760, i16 0, i16 0, i16 0, i16 17016, i16 15317, i16 0, i16 0, i16 15225, i16 0, i16 0, i16 0, i16 12666, i16 0, i16 0, i16 0, i16 15738, i16 13848, i16 0, i16 0, i16 17018, i16 0, i16 0, i16 0, i16 13947, i16 0, i16 0, i16 0, i16 15996, i16 0, i16 0, i16 0, i16 13181, i16 0, i16 0, i16 0, i16 15229, i16 0, i16 0, i16 0, i16 13438, i16 13197, i16 0, i16 0, i16 15743, i16 0, i16 0, i16 0, i16 17023, i16 0, i16 0, i16 0, i16 13184, i16 0, i16 0, i16 0, i16 13440, i16 0, i16 0, i16 0, i16 13442, i16 0, i16 0, i16 0, i16 16515, i16 0, i16 0, i16 0, i16 12420, i16 0, i16 0, i16 0, i16 13189, i16 0, i16 0, i16 0, i16 13445, i16 13494, i16 0, i16 0, i16 15237, i16 0, i16 0, i16 0, i16 13958, i16 0, i16 0, i16 0, i16 16262, i16 0, i16 0, i16 0, i16 15239, i16 0, i16 0, i16 0, i16 13960, i16 0, i16 0, i16 0, i16 16776, i16 0, i16 0, i16 0, i16 17032, i16 0, i16 0, i16 0, i16 13193, i16 0, i16 0, i16 0, i16 13961, i16 0, i16 0, i16 0, i16 16010, i16 0, i16 0, i16 0, i16 13451, i16 0, i16 0, i16 0, i16 12428, i16 14380, i16 0, i16 0, i16 14732, i16 16704, i16 0, i16 0, i16 15244, i16 0, i16 0, i16 0, i16 16524, i16 15420, i16 0, i16 0, i16 16269, i16 0, i16 0, i16 0, i16 13198, i16 16103, i16 0, i16 0, i16 13710, i16 17081, i16 0, i16 0, i16 13711, i16 0, i16 0, i16 0, i16 14479, i16 14478, i16 0, i16 0, i16 16015, i16 13394, i16 0, i16 0, i16 16271, i16 0, i16 0, i16 0, i16 12688, i16 0, i16 0, i16 0, i16 16784, i16 0, i16 0, i16 0, i16 13201, i16 14579, i16 0, i16 0, i16 13713, i16 0, i16 0, i16 0, i16 14738, i16 0, i16 0, i16 0, i16 12947, i16 0, i16 0, i16 0, i16 13459, i16 14369, i16 0, i16 0, i16 15251, i16 14807, i16 0, i16 0, i16 14740, i16 0, i16 0, i16 0, i16 17044, i16 0, i16 0, i16 0, i16 14229, i16 0, i16 0, i16 0, i16 14741, i16 0, i16 0, i16 0, i16 13718, i16 0, i16 0, i16 0, i16 13974, i16 0, i16 0, i16 0, i16 14230, i16 0, i16 0, i16 0, i16 17046, i16 13544, i16 0, i16 0, i16 12439, i16 0, i16 0, i16 0, i16 16023, i16 0, i16 0, i16 0, i16 17047, i16 15588, i16 0, i16 0, i16 13464, i16 14488, i16 0, i16 0, i16 13209, i16 0, i16 0, i16 0, i16 15257, i16 13925, i16 0, i16 0, i16 16281, i16 0, i16 0, i16 0, i16 16794, i16 13906, i16 0, i16 0, i16 12955, i16 13571, i16 0, i16 0, i16 668, i16 0, i16 0, i16 0, i16 14748, i16 0, i16 0, i16 0, i16 15004, i16 0, i16 0, i16 0, i16 12701, i16 0, i16 0, i16 0, i16 15773, i16 14925, i16 0, i16 0, i16 16029, i16 0, i16 0, i16 0, i16 17053, i16 0, i16 0, i16 0, i16 12446, i16 0, i16 0, i16 0, i16 13982, i16 0, i16 0, i16 0, i16 14494, i16 0, i16 0, i16 0, i16 17054, i16 16165, i16 0, i16 0, i16 14239, i16 0, i16 0, i16 0, i16 15007, i16 0, i16 0, i16 0, i16 16031, i16 0, i16 0, i16 0, i16 13216, i16 15956, i16 0, i16 0, i16 12705, i16 0, i16 0, i16 0, i16 16289, i16 0, i16 0, i16 0, i16 674, i16 0, i16 0, i16 0, i16 15266, i16 0, i16 0, i16 0, i16 16290, i16 0, i16 0, i16 0, i16 16546, i16 0, i16 0, i16 0, i16 16802, i16 0, i16 0, i16 0, i16 12451, i16 0, i16 0, i16 0, i16 15523, i16 0, i16 0, i16 0, i16 16291, i16 0, i16 0, i16 0, i16 12452, i16 12408, i16 0, i16 0, i16 12708, i16 0, i16 0, i16 0, i16 12964, i16 0, i16 0, i16 0, i16 14244, i16 0, i16 0, i16 0, i16 16292, i16 0, i16 0, i16 0, i16 15269, i16 0, i16 0, i16 0, i16 16037, i16 0, i16 0, i16 0, i16 16549, i16 0, i16 0, i16 0, i16 12710, i16 15019, i16 0, i16 0, i16 15782, i16 0, i16 0, i16 0, i16 16294, i16 0, i16 0, i16 0, i16 12455, i16 17045, i16 0, i16 0, i16 12711, i16 13480, i16 0, i16 0, i16 13479, i16 0, i16 0, i16 0, i16 13991, i16 0, i16 0, i16 0, i16 14503, i16 0, i16 0, i16 0, i16 15527, i16 0, i16 0, i16 0, i16 16295, i16 16721, i16 0, i16 0, i16 12456, i16 0, i16 0, i16 0, i16 13224, i16 12838, i16 0, i16 0, i16 15784, i16 0, i16 0, i16 0, i16 13737, i16 0, i16 0, i16 0, i16 13738, i16 0, i16 0, i16 0, i16 13739, i16 0, i16 0, i16 0, i16 13995, i16 14438, i16 0, i16 0, i16 14763, i16 0, i16 0, i16 0, i16 16299, i16 13632, i16 0, i16 0, i16 13996, i16 14799, i16 0, i16 0, i16 15788, i16 13599, i16 0, i16 0, i16 14253, i16 12873, i16 0, i16 0, i16 14765, i16 0, i16 0, i16 0, i16 17069, i16 0, i16 0, i16 0, i16 174, i16 0, i16 0, i16 0, i16 15790, i16 0, i16 0, i16 0, i16 13743, i16 0, i16 0, i16 0, i16 15279, i16 16077, i16 0, i16 0, i16 13744, i16 13482, i16 0, i16 0, i16 15792, i16 0, i16 0, i16 0, i16 16816, i16 0, i16 0, i16 0, i16 14513, i16 15755, i16 0, i16 0, i16 178, i16 0, i16 0, i16 0, i16 13490, i16 16151, i16 0, i16 0, i16 14514, i16 16601, i16 0, i16 0, i16 15026, i16 0, i16 0, i16 0, i16 15538, i16 16535, i16 0, i16 0, i16 16562, i16 0, i16 0, i16 0, i16 16818, i16 0, i16 0, i16 0, i16 691, i16 0, i16 0, i16 0, i16 14515, i16 0, i16 0, i16 0, i16 16307, i16 0, i16 0, i16 0, i16 12980, i16 12981, i16 0, i16 0, i16 13492, i16 0, i16 0, i16 0, i16 15028, i16 0, i16 0, i16 0, i16 15284, i16 14607, i16 0, i16 0, i16 15285, i16 0, i16 0, i16 0, i16 694, i16 785, i16 0, i16 0, i16 12470, i16 15646, i16 0, i16 0, i16 15798, i16 0, i16 0, i16 0, i16 12983, i16 13478, i16 0, i16 0, i16 13495, i16 0, i16 0, i16 0, i16 12728, i16 16993, i16 0, i16 0, i16 12984, i16 14160, i16 0, i16 0, i16 13496, i16 0, i16 0, i16 0, i16 185, i16 184, i16 0, i16 0, i16 12985, i16 0, i16 0, i16 0, i16 15033, i16 0, i16 0, i16 0, i16 13498, i16 0, i16 0, i16 0, i16 16314, i16 16812, i16 0, i16 0, i16 187, i16 186, i16 0, i16 0, i16 699, i16 792, i16 0, i16 0, i16 14011, i16 12526, i16 0, i16 0, i16 16315, i16 0, i16 0, i16 0, i16 16571, i16 0, i16 0, i16 0, i16 13500, i16 0, i16 0, i16 0, i16 701, i16 793, i16 0, i16 0, i16 12733, i16 0, i16 0, i16 0, i16 13501, i16 0, i16 0, i16 0, i16 702, i16 795, i16 0, i16 0, i16 13246, i16 15414, i16 0, i16 0, i16 14014, i16 0, i16 0, i16 0, i16 191, i16 190, i16 0, i16 0, i16 12735, i16 0, i16 0, i16 0, i16 12991, i16 0, i16 0, i16 0, i16 13503, i16 0, i16 0, i16 0, i16 14271, i16 0, i16 0, i16 0, i16 14527, i16 14060, i16 0, i16 0, i16 12480, i16 0, i16 0, i16 0, i16 13249, i16 0, i16 0, i16 0, i16 15553, i16 14199, i16 0, i16 0, i16 16065, i16 0, i16 0, i16 0, i16 12738, i16 0, i16 0, i16 0, i16 14530, i16 14206, i16 0, i16 0, i16 14786, i16 0, i16 0, i16 0, i16 12995, i16 0, i16 0, i16 0, i16 14531, i16 0, i16 0, i16 0, i16 16579, i16 0, i16 0, i16 0, i16 15556, i16 0, i16 0, i16 0, i16 16836, i16 0, i16 0, i16 0, i16 14277, i16 0, i16 0, i16 0, i16 16325, i16 0, i16 0, i16 0, i16 16837, i16 0, i16 0, i16 0, i16 12742, i16 0, i16 0, i16 0, i16 16839, i16 0, i16 0, i16 0, i16 200, i16 201, i16 0, i16 0, i16 15304, i16 15303, i16 0, i16 0, i16 15816, i16 14955, i16 0, i16 0, i16 16328, i16 0, i16 0, i16 0, i16 16584, i16 0, i16 0, i16 0, i16 16073, i16 0, i16 0, i16 0, i16 16329, i16 0, i16 0, i16 0, i16 17097, i16 0, i16 0, i16 0, i16 202, i16 0, i16 0, i16 0, i16 13258, i16 0, i16 0, i16 0, i16 14794, i16 0, i16 0, i16 0, i16 15050, i16 0, i16 0, i16 0, i16 15562, i16 0, i16 0, i16 0, i16 16074, i16 0, i16 0, i16 0, i16 13260, i16 0, i16 0, i16 0, i16 13772, i16 15199, i16 0, i16 0, i16 16332, i16 0, i16 0, i16 0, i16 16588, i16 0, i16 0, i16 0, i16 13517, i16 0, i16 0, i16 0, i16 13262, i16 0, i16 0, i16 0, i16 15822, i16 0, i16 0, i16 0, i16 14543, i16 12589, i16 0, i16 0, i16 16335, i16 0, i16 0, i16 0, i16 12752, i16 13794, i16 0, i16 0, i16 13264, i16 0, i16 0, i16 0, i16 15057, i16 13046, i16 0, i16 0, i16 16849, i16 16921, i16 0, i16 0, i16 210, i16 211, i16 0, i16 0, i16 13522, i16 0, i16 0, i16 0, i16 14802, i16 0, i16 0, i16 0, i16 15314, i16 13029, i16 0, i16 0, i16 12499, i16 0, i16 0, i16 0, i16 13011, i16 0, i16 0, i16 0, i16 14035, i16 16620, i16 0, i16 0, i16 212, i16 213, i16 0, i16 0, i16 16084, i16 0, i16 0, i16 0, i16 16340, i16 0, i16 0, i16 0, i16 16342, i16 0, i16 0, i16 0, i16 13783, i16 0, i16 0, i16 0, i16 13016, i16 14788, i16 0, i16 0, i16 14808, i16 0, i16 0, i16 0, i16 15064, i16 0, i16 0, i16 0, i16 14041, i16 14269, i16 0, i16 0, i16 14297, i16 0, i16 0, i16 0, i16 15065, i16 0, i16 0, i16 0, i16 15833, i16 0, i16 0, i16 0, i16 13018, i16 0, i16 0, i16 0, i16 219, i16 0, i16 0, i16 0, i16 13787, i16 0, i16 0, i16 0, i16 14299, i16 0, i16 0, i16 0, i16 14811, i16 0, i16 0, i16 0, i16 15324, i16 16112, i16 0, i16 0, i16 13277, i16 0, i16 0, i16 0, i16 16605, i16 0, i16 0, i16 0, i16 13534, i16 0, i16 0, i16 0, i16 13790, i16 0, i16 0, i16 0, i16 15070, i16 0, i16 0, i16 0, i16 13791, i16 0, i16 0, i16 0, i16 14559, i16 0, i16 0, i16 0, i16 16607, i16 0, i16 0, i16 0, i16 16863, i16 14628, i16 0, i16 0, i16 17119, i16 0, i16 0, i16 0, i16 13024, i16 13060, i16 0, i16 0, i16 13536, i16 0, i16 0, i16 0, i16 14048, i16 0, i16 0, i16 0, i16 14816, i16 0, i16 0, i16 0, i16 15328, i16 0, i16 0, i16 0, i16 16352, i16 16046, i16 0, i16 0, i16 12513, i16 0, i16 0, i16 0, i16 14817, i16 0, i16 0, i16 0, i16 15329, i16 0, i16 0, i16 0, i16 15841, i16 0, i16 0, i16 0, i16 17121, i16 0, i16 0, i16 0, i16 13538, i16 0, i16 0, i16 0, i16 14050, i16 0, i16 0, i16 0, i16 15842, i16 14561, i16 0, i16 0, i16 16098, i16 0, i16 0, i16 0, i16 14564, i16 0, i16 0, i16 0, i16 15332, i16 0, i16 0, i16 0, i16 15845, i16 12345, i16 0, i16 0, i16 13798, i16 15306, i16 0, i16 0, i16 17126, i16 12973, i16 0, i16 0, i16 12520, i16 0, i16 0, i16 0, i16 14056, i16 0, i16 0, i16 0, i16 14568, i16 0, i16 0, i16 0, i16 14824, i16 0, i16 0, i16 0, i16 17129, i16 0, i16 0, i16 0, i16 12522, i16 12391, i16 0, i16 0, i16 13802, i16 0, i16 0, i16 0, i16 14570, i16 16105, i16 0, i16 0, i16 16106, i16 15989, i16 0, i16 0, i16 14827, i16 13366, i16 0, i16 0, i16 16875, i16 0, i16 0, i16 0, i16 15084, i16 15744, i16 0, i16 0, i16 13293, i16 0, i16 0, i16 0, i16 13549, i16 0, i16 0, i16 0, i16 14317, i16 0, i16 0, i16 0, i16 15853, i16 16114, i16 0, i16 0, i16 15854, i16 0, i16 0, i16 0, i16 13039, i16 0, i16 0, i16 0, i16 14064, i16 0, i16 0, i16 0, i16 14832, i16 17077, i16 0, i16 0, i16 15088, i16 0, i16 0, i16 0, i16 13553, i16 0, i16 0, i16 0, i16 14577, i16 0, i16 0, i16 0, i16 14833, i16 0, i16 0, i16 0, i16 15857, i16 0, i16 0, i16 0, i16 15090, i16 15635, i16 0, i16 0, i16 15346, i16 0, i16 0, i16 0, i16 15858, i16 14520, i16 0, i16 0, i16 16882, i16 0, i16 0, i16 0, i16 244, i16 243, i16 0, i16 0, i16 13812, i16 0, i16 0, i16 0, i16 14068, i16 0, i16 0, i16 0, i16 14325, i16 0, i16 0, i16 0, i16 17141, i16 16512, i16 0, i16 0, i16 13558, i16 0, i16 0, i16 0, i16 16374, i16 15645, i16 0, i16 0, i16 12535, i16 0, i16 0, i16 0, i16 16120, i16 0, i16 0, i16 0, i16 16376, i16 0, i16 0, i16 0, i16 17144, i16 16840, i16 0, i16 0, i16 14585, i16 0, i16 0, i16 0, i16 15097, i16 16614, i16 0, i16 0, i16 16121, i16 0, i16 0, i16 0, i16 16889, i16 0, i16 0, i16 0, i16 12794, i16 14493, i16 0, i16 0, i16 13562, i16 0, i16 0, i16 0, i16 14074, i16 0, i16 0, i16 0, i16 14587, i16 0, i16 0, i16 0, i16 12540, i16 0, i16 0, i16 0, i16 16124, i16 16211, i16 0, i16 0, i16 13565, i16 16820, i16 0, i16 0, i16 15101, i16 0, i16 0, i16 0, i16 15357, i16 0, i16 0, i16 0, i16 16638, i16 0, i16 0, i16 0, i16 13055, i16 0, i16 0, i16 0, i16 15871, i16 0, i16 0, i16 0, i16 16127, i16 0, i16 0, i16 0, i16 16383, i16 0, i16 0, i16 0, i16 16895, i16 0, i16 0, i16 14336, i16 0, i16 0, i16 0, i16 15872, i16 0, i16 0, i16 0, i16 16896, i16 12854, i16 0, i16 0, i16 12289, i16 0, i16 0, i16 0, i16 13057, i16 0, i16 0, i16 0, i16 14593, i16 0, i16 0, i16 0, i16 15361, i16 14291, i16 12990, i16 0, i16 16129, i16 0, i16 0, i16 0, i16 2, i16 3, i16 0, i16 0, i16 12290, i16 0, i16 0, i16 0, i16 13826, i16 14262, i16 0, i16 0, i16 15106, i16 0, i16 0, i16 0, i16 17154, i16 0, i16 0, i16 0, i16 12291, i16 0, i16 0, i16 0, i16 13315, i16 0, i16 0, i16 0, i16 14339, i16 12729, i16 13820, i16 0, i16 14851, i16 0, i16 0, i16 0, i16 15875, i16 0, i16 0, i16 0, i16 4, i16 5, i16 6, i16 0, i16 12292, i16 14533, i16 0, i16 0, i16 13316, i16 0, i16 0, i16 0, i16 16900, i16 12787, i16 15477, i16 0, i16 17156, i16 0, i16 14379, i16 0, i16 14341, i16 0, i16 0, i16 0, i16 14597, i16 0, i16 0, i16 0, i16 12550, i16 0, i16 0, i16 0, i16 15878, i16 0, i16 0, i16 0, i16 13575, i16 0, i16 0, i16 0, i16 14087, i16 13298, i16 0, i16 0, i16 14599, i16 0, i16 0, i16 0, i16 16135, i16 13144, i16 0, i16 0, i16 16391, i16 0, i16 0, i16 0, i16 520, i16 521, i16 522, i16 0, i16 13832, i16 0, i16 0, i16 0, i16 14088, i16 14747, i16 13614, i16 0, i16 14600, i16 14465, i16 0, i16 0, i16 16392, i16 0, i16 0, i16 0, i16 12809, i16 0, i16 0, i16 0, i16 13577, i16 15658, i16 0, i16 0, i16 13066, i16 0, i16 0, i16 0, i16 15114, i16 0, i16 15163, i16 0, i16 16650, i16 0, i16 15347, i16 0, i16 12811, i16 0, i16 0, i16 0, i16 13579, i16 0, i16 0, i16 0, i16 16139, i16 0, i16 13204, i16 0, i16 16651, i16 0, i16 12426, i16 0, i16 17163, i16 0, i16 0, i16 0, i16 14860, i16 0, i16 0, i16 0, i16 15884, i16 13063, i16 12474, i16 0, i16 17164, i16 17165, i16 0, i16 0, i16 13325, i16 16860, i16 0, i16 0, i16 16397, i16 0, i16 0, i16 0, i16 13326, i16 0, i16 0, i16 0, i16 16654, i16 0, i16 0, i16 0, i16 16910, i16 0, i16 0, i16 0, i16 783, i16 0, i16 0, i16 0, i16 13071, i16 16937, i16 15040, i16 0, i16 13583, i16 0, i16 0, i16 0, i16 14863, i16 0, i16 0, i16 0, i16 15119, i16 0, i16 16996, i16 0, i16 16655, i16 0, i16 16656, i16 0, i16 13584, i16 0, i16 15449, i16 0, i16 14608, i16 14546, i16 0, i16 0, i16 15120, i16 0, i16 0, i16 0, i16 16400, i16 0, i16 0, i16 0, i16 13329, i16 0, i16 0, i16 0, i16 14609, i16 17131, i16 0, i16 0, i16 15889, i16 12524, i16 0, i16 0, i16 786, i16 695, i16 787, i16 0, i16 12818, i16 12650, i16 0, i16 0, i16 13843, i16 0, i16 15910, i16 0, i16 14099, i16 0, i16 0, i16 0, i16 15123, i16 0, i16 13134, i16 0, i16 15891, i16 14665, i16 17026, i16 0, i16 14356, i16 13443, i16 14504, i16 0, i16 15124, i16 0, i16 0, i16 0, i16 16404, i16 0, i16 13658, i16 0, i16 16917, i16 0, i16 0, i16 0, i16 14358, i16 13399, i16 0, i16 0, i16 15126, i16 0, i16 0, i16 0, i16 15894, i16 12941, i16 12942, i16 0, i16 12311, i16 0, i16 0, i16 0, i16 14103, i16 0, i16 16763, i16 0, i16 15895, i16 0, i16 17074, i16 0, i16 16663, i16 0, i16 0, i16 0, i16 16919, i16 0, i16 0, i16 0, i16 15128, i16 0, i16 0, i16 0, i16 16664, i16 0, i16 0, i16 0, i16 16920, i16 0, i16 13816, i16 0, i16 13337, i16 0, i16 0, i16 0, i16 13849, i16 0, i16 15779, i16 0, i16 14873, i16 0, i16 0, i16 0, i16 15129, i16 0, i16 0, i16 0, i16 15641, i16 0, i16 0, i16 0, i16 15897, i16 0, i16 12885, i16 0, i16 13850, i16 0, i16 0, i16 0, i16 14362, i16 0, i16 0, i16 0, i16 16666, i16 16590, i16 15456, i16 0, i16 1051, i16 0, i16 0, i16 0, i16 16668, i16 16710, i16 12369, i16 0, i16 797, i16 703, i16 796, i16 0, i16 13853, i16 0, i16 0, i16 0, i16 15901, i16 16166, i16 14550, i16 0, i16 16157, i16 0, i16 0, i16 0, i16 13342, i16 16181, i16 12441, i16 0, i16 15134, i16 15135, i16 0, i16 0, i16 16414, i16 0, i16 0, i16 0, i16 287, i16 284, i16 0, i16 0, i16 14879, i16 16693, i16 0, i16 0, i16 16927, i16 13356, i16 0, i16 0, i16 288, i16 289, i16 290, i16 0, i16 12832, i16 16729, i16 0, i16 0, i16 15136, i16 0, i16 15657, i16 0, i16 15137, i16 0, i16 15988, i16 0, i16 16417, i16 0, i16 0, i16 0, i16 16673, i16 0, i16 13283, i16 0, i16 13602, i16 0, i16 0, i16 0, i16 14115, i16 0, i16 0, i16 0, i16 14371, i16 0, i16 0, i16 0, i16 16675, i16 0, i16 0, i16 0, i16 12580, i16 16042, i16 12849, i16 0, i16 13348, i16 14712, i16 15662, i16 0, i16 15140, i16 0, i16 0, i16 0, i16 15909, i16 0, i16 0, i16 0, i16 16933, i16 0, i16 13345, i16 0, i16 12582, i16 0, i16 13797, i16 0, i16 13350, i16 0, i16 0, i16 0, i16 13862, i16 0, i16 0, i16 0, i16 16934, i16 0, i16 0, i16 0, i16 15143, i16 16324, i16 0, i16 0, i16 12840, i16 15772, i16 0, i16 0, i16 14888, i16 14337, i16 0, i16 0, i16 16424, i16 0, i16 0, i16 0, i16 16680, i16 0, i16 0, i16 0, i16 16936, i16 12953, i16 0, i16 0, i16 14633, i16 0, i16 0, i16 0, i16 14889, i16 12899, i16 0, i16 0, i16 15401, i16 15603, i16 0, i16 0, i16 15146, i16 0, i16 0, i16 0, i16 13611, i16 0, i16 0, i16 0, i16 16684, i16 0, i16 0, i16 0, i16 14637, i16 0, i16 0, i16 0, i16 16429, i16 0, i16 0, i16 0, i16 12590, i16 0, i16 0, i16 0, i16 13358, i16 13570, i16 14553, i16 0, i16 14126, i16 0, i16 0, i16 0, i16 14894, i16 0, i16 0, i16 0, i16 15407, i16 15848, i16 16384, i16 0, i16 15919, i16 0, i16 0, i16 0, i16 16431, i16 0, i16 16343, i16 0, i16 16687, i16 0, i16 0, i16 0, i16 16943, i16 0, i16 0, i16 0, i16 15408, i16 0, i16 14373, i16 0, i16 15920, i16 0, i16 0, i16 0, i16 16176, i16 0, i16 16162, i16 0, i16 16688, i16 0, i16 16319, i16 0, i16 13617, i16 0, i16 0, i16 0, i16 14385, i16 0, i16 0, i16 0, i16 12338, i16 0, i16 0, i16 0, i16 12594, i16 0, i16 13859, i16 0, i16 12850, i16 0, i16 0, i16 0, i16 13618, i16 0, i16 0, i16 0, i16 14386, i16 0, i16 12777, i16 0, i16 15922, i16 16156, i16 13300, i16 0, i16 13363, i16 12934, i16 0, i16 0, i16 15668, i16 0, i16 0, i16 0, i16 16692, i16 0, i16 0, i16 0, i16 12341, i16 0, i16 0, i16 0, i16 14645, i16 13454, i16 13712, i16 0, i16 15925, i16 14582, i16 0, i16 0, i16 12342, i16 0, i16 0, i16 0, i16 13110, i16 0, i16 0, i16 0, i16 13622, i16 16877, i16 0, i16 0, i16 14134, i16 16977, i16 14101, i16 0, i16 15926, i16 0, i16 14100, i16 0, i16 12855, i16 0, i16 0, i16 0, i16 13111, i16 0, i16 0, i16 0, i16 15415, i16 0, i16 13550, i16 0, i16 12344, i16 14324, i16 0, i16 0, i16 13368, i16 17123, i16 0, i16 0, i16 13880, i16 0, i16 0, i16 0, i16 14136, i16 15933, i16 16499, i16 0, i16 15672, i16 0, i16 0, i16 0, i16 16184, i16 0, i16 0, i16 0, i16 14649, i16 17057, i16 12572, i16 0, i16 15161, i16 0, i16 13899, i16 0, i16 16697, i16 14679, i16 0, i16 0, i16 12602, i16 16064, i16 0, i16 0, i16 14650, i16 0, i16 0, i16 0, i16 14906, i16 15697, i16 14606, i16 0, i16 16186, i16 0, i16 0, i16 0, i16 16954, i16 0, i16 12615, i16 0, i16 12859, i16 0, i16 0, i16 0, i16 13883, i16 0, i16 0, i16 0, i16 16443, i16 0, i16 0, i16 0, i16 16955, i16 0, i16 0, i16 0, i16 1084, i16 0, i16 0, i16 0, i16 13372, i16 0, i16 15883, i16 0, i16 14652, i16 0, i16 15961, i16 0, i16 12605, i16 16723, i16 0, i16 0, i16 13373, i16 0, i16 0, i16 0, i16 14397, i16 0, i16 0, i16 0, i16 14653, i16 0, i16 0, i16 0, i16 14909, i16 15552, i16 14122, i16 0, i16 12862, i16 0, i16 0, i16 0, i16 13374, i16 0, i16 13511, i16 0, i16 12607, i16 0, i16 0, i16 0, i16 14143, i16 0, i16 0, i16 0, i16 15679, i16 0, i16 16861, i16 0, i16 16191, i16 0, i16 0, i16 0, i16 12352, i16 0, i16 13142, i16 0, i16 12608, i16 0, i16 0, i16 0, i16 13120, i16 0, i16 0, i16 0, i16 13376, i16 16172, i16 12431, i16 0, i16 13888, i16 0, i16 0, i16 0, i16 14400, i16 0, i16 0, i16 0, i16 15680, i16 13424, i16 0, i16 0, i16 13633, i16 0, i16 0, i16 0, i16 15170, i16 0, i16 0, i16 0, i16 15682, i16 0, i16 0, i16 0, i16 16194, i16 0, i16 12409, i16 0, i16 14403, i16 0, i16 15776, i16 0, i16 14659, i16 14658, i16 0, i16 0, i16 15171, i16 0, i16 0, i16 0, i16 16195, i16 0, i16 13887, i16 0, i16 13124, i16 0, i16 0, i16 0, i16 13636, i16 0, i16 0, i16 0, i16 14404, i16 0, i16 0, i16 0, i16 16196, i16 0, i16 0, i16 0, i16 16452, i16 0, i16 0, i16 0, i16 16964, i16 0, i16 14108, i16 0, i16 14661, i16 0, i16 12817, i16 0, i16 14917, i16 16969, i16 12392, i16 0, i16 15941, i16 0, i16 15896, i16 0, i16 16197, i16 0, i16 0, i16 0, i16 16454, i16 0, i16 0, i16 0, i16 13639, i16 0, i16 0, i16 0, i16 14919, i16 0, i16 0, i16 0, i16 15175, i16 0, i16 14644, i16 0, i16 15687, i16 0, i16 16380, i16 0, i16 13384, i16 0, i16 0, i16 0, i16 13896, i16 0, i16 0, i16 0, i16 14408, i16 0, i16 0, i16 0, i16 13897, i16 0, i16 0, i16 0, i16 12618, i16 17068, i16 0, i16 0, i16 13642, i16 16781, i16 0, i16 0, i16 13898, i16 16924, i16 0, i16 0, i16 15178, i16 14797, i16 0, i16 0, i16 12363, i16 0, i16 0, i16 0, i16 14411, i16 16971, i16 0, i16 0, i16 14923, i16 0, i16 15843, i16 0, i16 15947, i16 0, i16 0, i16 0, i16 16459, i16 0, i16 0, i16 0, i16 16715, i16 0, i16 0, i16 0, i16 14156, i16 0, i16 0, i16 0, i16 12877, i16 0, i16 16806, i16 0, i16 13389, i16 0, i16 0, i16 0, i16 14157, i16 0, i16 0, i16 0, i16 16461, i16 0, i16 16018, i16 0, i16 16717, i16 0, i16 0, i16 0, i16 13902, i16 0, i16 0, i16 0, i16 14926, i16 0, i16 12720, i16 0, i16 15694, i16 0, i16 15793, i16 0, i16 15950, i16 0, i16 0, i16 0, i16 16974, i16 0, i16 0, i16 0, i16 12879, i16 0, i16 0, i16 0, i16 14671, i16 0, i16 0, i16 0, i16 15439, i16 0, i16 0, i16 0, i16 15695, i16 0, i16 0, i16 0, i16 14416, i16 0, i16 0, i16 0, i16 15696, i16 0, i16 16589, i16 0, i16 14673, i16 0, i16 0, i16 0, i16 16465, i16 0, i16 15220, i16 0, i16 14162, i16 0, i16 0, i16 0, i16 16466, i16 15454, i16 13875, i16 0, i16 12627, i16 0, i16 0, i16 0, i16 13139, i16 0, i16 15444, i16 0, i16 13395, i16 0, i16 0, i16 0, i16 13651, i16 0, i16 0, i16 0, i16 16979, i16 0, i16 0, i16 0, i16 13140, i16 0, i16 0, i16 0, i16 13908, i16 0, i16 0, i16 0, i16 14420, i16 0, i16 0, i16 0, i16 14676, i16 0, i16 0, i16 0, i16 16212, i16 0, i16 0, i16 0, i16 16724, i16 0, i16 0, i16 0, i16 13141, i16 15167, i16 12734, i16 0, i16 13653, i16 0, i16 0, i16 0, i16 14421, i16 0, i16 12527, i16 0, i16 14677, i16 0, i16 0, i16 0, i16 15701, i16 0, i16 0, i16 0, i16 16213, i16 0, i16 0, i16 0, i16 12374, i16 12375, i16 0, i16 0, i16 12630, i16 0, i16 0, i16 0, i16 14678, i16 0, i16 0, i16 0, i16 16982, i16 13183, i16 0, i16 0, i16 13655, i16 0, i16 16233, i16 0, i16 14935, i16 0, i16 0, i16 0, i16 15447, i16 0, i16 0, i16 0, i16 16471, i16 13382, i16 0, i16 0, i16 16983, i16 15838, i16 14030, i16 0, i16 12376, i16 0, i16 0, i16 0, i16 14168, i16 0, i16 0, i16 0, i16 16216, i16 0, i16 14287, i16 0, i16 16728, i16 0, i16 0, i16 0, i16 89, i16 0, i16 0, i16 0, i16 14425, i16 0, i16 0, i16 0, i16 15705, i16 0, i16 0, i16 0, i16 16473, i16 0, i16 13593, i16 0, i16 16985, i16 0, i16 13907, i16 0, i16 90, i16 91, i16 92, i16 0, i16 12891, i16 0, i16 0, i16 0, i16 13915, i16 0, i16 0, i16 0, i16 14171, i16 0, i16 0, i16 0, i16 15707, i16 0, i16 0, i16 0, i16 12892, i16 0, i16 0, i16 0, i16 13660, i16 0, i16 0, i16 0, i16 14428, i16 0, i16 0, i16 0, i16 14940, i16 0, i16 0, i16 0, i16 16220, i16 16689, i16 15887, i16 0, i16 16988, i16 0, i16 0, i16 0, i16 12893, i16 0, i16 12842, i16 0, i16 14685, i16 16372, i16 0, i16 0, i16 13918, i16 12927, i16 0, i16 0, i16 16734, i16 0, i16 15318, i16 0, i16 13663, i16 0, i16 16595, i16 0, i16 12640, i16 0, i16 0, i16 0, i16 14945, i16 0, i16 0, i16 0, i16 15457, i16 0, i16 0, i16 0, i16 15713, i16 16567, i16 0, i16 0, i16 16225, i16 0, i16 15660, i16 0, i16 12386, i16 0, i16 0, i16 0, i16 14690, i16 0, i16 17039, i16 0, i16 16482, i16 0, i16 0, i16 0, i16 12643, i16 15955, i16 12727, i16 0, i16 13155, i16 12358, i16 0, i16 0, i16 13411, i16 17107, i16 0, i16 0, i16 16227, i16 0, i16 0, i16 0, i16 13412, i16 0, i16 15652, i16 0, i16 13924, i16 14113, i16 0, i16 0, i16 15972, i16 17161, i16 14439, i16 0, i16 16740, i16 0, i16 0, i16 0, i16 12901, i16 0, i16 0, i16 0, i16 15205, i16 0, i16 13167, i16 0, i16 15973, i16 0, i16 0, i16 0, i16 16741, i16 0, i16 14792, i16 0, i16 12646, i16 0, i16 12827, i16 0, i16 12902, i16 16984, i16 13252, i16 0, i16 14182, i16 0, i16 0, i16 0, i16 15462, i16 0, i16 0, i16 0, i16 12903, i16 0, i16 0, i16 0, i16 13159, i16 0, i16 0, i16 0, i16 14183, i16 0, i16 0, i16 0, i16 15207, i16 0, i16 0, i16 0, i16 15719, i16 0, i16 0, i16 0, i16 872, i16 873, i16 874, i16 0, i16 13672, i16 0, i16 0, i16 0, i16 14184, i16 0, i16 13723, i16 0, i16 14440, i16 15702, i16 13754, i16 0, i16 14696, i16 0, i16 12323, i16 0, i16 16488, i16 0, i16 0, i16 0, i16 12649, i16 0, i16 0, i16 0, i16 13161, i16 15899, i16 0, i16 0, i16 14185, i16 0, i16 0, i16 0, i16 14441, i16 0, i16 0, i16 0, i16 13162, i16 0, i16 0, i16 0, i16 13419, i16 0, i16 0, i16 0, i16 14443, i16 0, i16 0, i16 0, i16 15979, i16 16623, i16 0, i16 0, i16 876, i16 877, i16 878, i16 0, i16 13932, i16 13543, i16 0, i16 0, i16 17004, i16 16055, i16 15825, i16 0, i16 12397, i16 13647, i16 0, i16 0, i16 13165, i16 17058, i16 13093, i16 0, i16 14957, i16 0, i16 16405, i16 0, i16 15469, i16 0, i16 0, i16 0, i16 16749, i16 0, i16 0, i16 0, i16 13166, i16 0, i16 13950, i16 0, i16 15470, i16 12770, i16 0, i16 0, i16 16494, i16 13846, i16 16862, i16 0, i16 12655, i16 16472, i16 0, i16 0, i16 12911, i16 0, i16 14435, i16 0, i16 14447, i16 13098, i16 0, i16 0, i16 15215, i16 0, i16 0, i16 0, i16 15471, i16 0, i16 0, i16 0, i16 15727, i16 15044, i16 0, i16 0, i16 17007, i16 15700, i16 12367, i16 0, i16 12400, i16 0, i16 0, i16 0, i16 12912, i16 0, i16 0, i16 0, i16 14192, i16 0, i16 0, i16 0, i16 16240, i16 15211, i16 0, i16 0, i16 16496, i16 0, i16 16462, i16 0, i16 12401, i16 0, i16 0, i16 0, i16 14193, i16 16914, i16 16725, i16 0, i16 15217, i16 0, i16 12511, i16 0, i16 16497, i16 0, i16 14251, i16 0, i16 12402, i16 0, i16 0, i16 0, i16 13682, i16 0, i16 15219, i16 0, i16 14962, i16 0, i16 16960, i16 0, i16 12659, i16 16333, i16 0, i16 0, i16 13683, i16 0, i16 0, i16 0, i16 13684, i16 0, i16 12944, i16 0, i16 16756, i16 16757, i16 12346, i16 0, i16 17012, i16 13397, i16 0, i16 0, i16 17013, i16 0, i16 0, i16 0, i16 13430, i16 0, i16 0, i16 0, i16 14454, i16 0, i16 0, i16 0, i16 15222, i16 0, i16 0, i16 0, i16 15990, i16 0, i16 12661, i16 0, i16 13943, i16 13179, i16 16645, i16 0, i16 14455, i16 0, i16 0, i16 0, i16 14967, i16 0, i16 0, i16 0, i16 17015, i16 0, i16 15677, i16 0, i16 12920, i16 0, i16 0, i16 0, i16 15736, i16 0, i16 14401, i16 0, i16 13433, i16 12583, i16 0, i16 0, i16 13945, i16 0, i16 0, i16 0, i16 17017, i16 0, i16 0, i16 0, i16 15226, i16 0, i16 0, i16 0, i16 15994, i16 16110, i16 0, i16 0, i16 16762, i16 0, i16 0, i16 0, i16 15739, i16 0, i16 0, i16 0, i16 16507, i16 0, i16 0, i16 0, i16 15740, i16 0, i16 0, i16 0, i16 13693, i16 0, i16 13630, i16 0, i16 13949, i16 0, i16 14130, i16 0, i16 14461, i16 0, i16 0, i16 0, i16 15741, i16 0, i16 0, i16 0, i16 382, i16 383, i16 384, i16 0, i16 12670, i16 0, i16 0, i16 0, i16 13694, i16 0, i16 0, i16 0, i16 14718, i16 0, i16 0, i16 0, i16 16254, i16 16540, i16 14067, i16 0, i16 17022, i16 0, i16 0, i16 0, i16 13951, i16 14569, i16 0, i16 0, i16 14719, i16 0, i16 0, i16 0, i16 14975, i16 0, i16 0, i16 0, i16 15999, i16 16395, i16 0, i16 0, i16 16255, i16 15970, i16 0, i16 0, i16 14464, i16 0, i16 0, i16 0, i16 16000, i16 0, i16 15654, i16 0, i16 16768, i16 0, i16 0, i16 0, i16 129, i16 130, i16 0, i16 0, i16 12417, i16 0, i16 0, i16 0, i16 14209, i16 0, i16 0, i16 0, i16 16257, i16 13839, i16 0, i16 0, i16 12418, i16 0, i16 0, i16 0, i16 13698, i16 0, i16 0, i16 0, i16 14722, i16 0, i16 0, i16 0, i16 16514, i16 0, i16 0, i16 0, i16 15236, i16 0, i16 12423, i16 0, i16 17028, i16 0, i16 14146, i16 0, i16 133, i16 0, i16 0, i16 0, i16 13957, i16 0, i16 0, i16 0, i16 14469, i16 0, i16 14664, i16 0, i16 15749, i16 15089, i16 0, i16 0, i16 16773, i16 0, i16 0, i16 0, i16 17029, i16 16890, i16 0, i16 0, i16 134, i16 0, i16 0, i16 0, i16 12422, i16 16944, i16 0, i16 0, i16 13702, i16 0, i16 0, i16 0, i16 14726, i16 12950, i16 15112, i16 0, i16 135, i16 0, i16 216, i16 0, i16 12935, i16 15489, i16 14213, i16 0, i16 13191, i16 13212, i16 14463, i16 0, i16 13959, i16 13804, i16 0, i16 0, i16 16007, i16 0, i16 16851, i16 0, i16 17031, i16 0, i16 15590, i16 0, i16 13192, i16 0, i16 14757, i16 0, i16 13448, i16 0, i16 0, i16 0, i16 14728, i16 0, i16 14610, i16 0, i16 16008, i16 0, i16 0, i16 0, i16 12681, i16 0, i16 0, i16 0, i16 15753, i16 0, i16 0, i16 0, i16 13194, i16 0, i16 14601, i16 0, i16 13706, i16 13328, i16 0, i16 0, i16 12683, i16 0, i16 0, i16 0, i16 16267, i16 13977, i16 0, i16 0, i16 16523, i16 0, i16 0, i16 0, i16 13196, i16 16505, i16 0, i16 0, i16 16268, i16 0, i16 0, i16 0, i16 15501, i16 0, i16 0, i16 0, i16 13966, i16 0, i16 14225, i16 0, i16 14222, i16 0, i16 15866, i16 0, i16 16782, i16 15483, i16 12909, i16 0, i16 14991, i16 0, i16 0, i16 0, i16 14224, i16 16057, i16 16615, i16 0, i16 14480, i16 0, i16 0, i16 0, i16 14736, i16 0, i16 16389, i16 0, i16 14992, i16 0, i16 12530, i16 0, i16 15760, i16 0, i16 15102, i16 0, i16 16528, i16 0, i16 12544, i16 0, i16 12689, i16 0, i16 0, i16 0, i16 14481, i16 0, i16 0, i16 0, i16 16017, i16 0, i16 16265, i16 0, i16 16273, i16 0, i16 0, i16 0, i16 17041, i16 12577, i16 0, i16 0, i16 13714, i16 0, i16 17088, i16 0, i16 13970, i16 0, i16 0, i16 0, i16 14994, i16 0, i16 0, i16 0, i16 13203, i16 0, i16 15248, i16 0, i16 13715, i16 0, i16 0, i16 0, i16 14227, i16 0, i16 14729, i16 0, i16 12436, i16 12560, i16 0, i16 0, i16 15508, i16 0, i16 0, i16 0, i16 16020, i16 13774, i16 13965, i16 0, i16 16788, i16 0, i16 13922, i16 0, i16 12949, i16 14112, i16 0, i16 0, i16 14485, i16 12372, i16 0, i16 0, i16 14997, i16 0, i16 0, i16 0, i16 15509, i16 17038, i16 0, i16 0, i16 15765, i16 0, i16 13172, i16 0, i16 16021, i16 0, i16 0, i16 0, i16 16533, i16 17065, i16 15937, i16 0, i16 14742, i16 0, i16 0, i16 0, i16 14998, i16 0, i16 0, i16 0, i16 16278, i16 12741, i16 0, i16 0, i16 16534, i16 0, i16 0, i16 0, i16 14487, i16 0, i16 0, i16 0, i16 16279, i16 0, i16 0, i16 0, i16 13720, i16 0, i16 14858, i16 0, i16 16280, i16 14376, i16 0, i16 0, i16 13721, i16 0, i16 13661, i16 0, i16 15769, i16 0, i16 0, i16 0, i16 16025, i16 0, i16 12517, i16 0, i16 13978, i16 0, i16 0, i16 0, i16 14234, i16 0, i16 0, i16 0, i16 14490, i16 0, i16 16578, i16 0, i16 13467, i16 0, i16 0, i16 0, i16 15259, i16 0, i16 0, i16 0, i16 13724, i16 13489, i16 0, i16 0, i16 14492, i16 0, i16 0, i16 0, i16 15260, i16 0, i16 0, i16 0, i16 12445, i16 0, i16 0, i16 0, i16 13981, i16 0, i16 0, i16 0, i16 14749, i16 0, i16 15349, i16 0, i16 16797, i16 14625, i16 0, i16 0, i16 14750, i16 0, i16 14516, i16 0, i16 15262, i16 0, i16 0, i16 0, i16 15774, i16 0, i16 0, i16 0, i16 16286, i16 13429, i16 14081, i16 0, i16 12703, i16 0, i16 0, i16 0, i16 12959, i16 0, i16 0, i16 0, i16 13471, i16 0, i16 0, i16 0, i16 16799, i16 0, i16 0, i16 0, i16 14240, i16 0, i16 0, i16 0, i16 15264, i16 0, i16 0, i16 0, i16 16288, i16 0, i16 0, i16 0, i16 12449, i16 0, i16 0, i16 0, i16 14754, i16 0, i16 0, i16 0, i16 16034, i16 0, i16 14965, i16 0, i16 13219, i16 0, i16 0, i16 0, i16 13475, i16 12802, i16 0, i16 0, i16 13987, i16 0, i16 0, i16 0, i16 14499, i16 0, i16 14961, i16 0, i16 14755, i16 0, i16 0, i16 0, i16 15011, i16 0, i16 0, i16 0, i16 16035, i16 0, i16 0, i16 0, i16 16803, i16 0, i16 14505, i16 0, i16 13988, i16 0, i16 0, i16 0, i16 15012, i16 0, i16 13477, i16 0, i16 15268, i16 0, i16 0, i16 0, i16 12453, i16 0, i16 0, i16 0, i16 14245, i16 0, i16 0, i16 0, i16 15270, i16 13548, i16 0, i16 0, i16 13223, i16 12676, i16 0, i16 0, i16 15015, i16 0, i16 14969, i16 0, i16 16039, i16 0, i16 0, i16 0, i16 16551, i16 0, i16 0, i16 0, i16 13992, i16 12922, i16 12751, i16 0, i16 14248, i16 0, i16 13984, i16 0, i16 15016, i16 0, i16 0, i16 0, i16 169, i16 347, i16 0, i16 0, i16 14761, i16 0, i16 0, i16 0, i16 16809, i16 0, i16 15476, i16 0, i16 12970, i16 0, i16 0, i16 0, i16 14506, i16 12454, i16 0, i16 0, i16 14762, i16 0, i16 0, i16 0, i16 15786, i16 16009, i16 0, i16 0, i16 14507, i16 0, i16 13835, i16 0, i16 16555, i16 14270, i16 15187, i16 0, i16 12716, i16 16963, i16 13886, i16 0, i16 13740, i16 0, i16 0, i16 0, i16 14252, i16 0, i16 13592, i16 0, i16 15532, i16 0, i16 0, i16 0, i16 173, i16 0, i16 0, i16 0, i16 12461, i16 0, i16 0, i16 0, i16 14510, i16 12978, i16 0, i16 0, i16 16814, i16 0, i16 0, i16 0, i16 12719, i16 15416, i16 0, i16 0, i16 13231, i16 0, i16 0, i16 0, i16 13487, i16 0, i16 0, i16 0, i16 16047, i16 0, i16 0, i16 0, i16 16303, i16 13486, i16 15435, i16 0, i16 12464, i16 0, i16 0, i16 0, i16 13232, i16 0, i16 14864, i16 0, i16 14000, i16 0, i16 0, i16 0, i16 15280, i16 0, i16 0, i16 0, i16 16304, i16 0, i16 0, i16 0, i16 17072, i16 0, i16 13786, i16 0, i16 13745, i16 0, i16 0, i16 0, i16 14001, i16 0, i16 16036, i16 0, i16 17073, i16 0, i16 0, i16 0, i16 12722, i16 0, i16 0, i16 0, i16 14002, i16 13056, i16 16377, i16 0, i16 16306, i16 0, i16 0, i16 0, i16 12467, i16 0, i16 0, i16 0, i16 12979, i16 15210, i16 0, i16 0, i16 13235, i16 16467, i16 0, i16 0, i16 14003, i16 0, i16 12539, i16 0, i16 14259, i16 0, i16 0, i16 0, i16 12468, i16 0, i16 0, i16 0, i16 13236, i16 0, i16 0, i16 0, i16 13748, i16 0, i16 0, i16 0, i16 14772, i16 0, i16 0, i16 0, i16 14261, i16 0, i16 16750, i16 0, i16 15797, i16 0, i16 15079, i16 0, i16 182, i16 181, i16 0, i16 0, i16 12982, i16 0, i16 0, i16 0, i16 16566, i16 14236, i16 12396, i16 0, i16 14007, i16 0, i16 14200, i16 0, i16 15287, i16 15298, i16 0, i16 0, i16 16311, i16 0, i16 0, i16 0, i16 17079, i16 0, i16 16957, i16 0, i16 14008, i16 0, i16 0, i16 0, i16 14264, i16 0, i16 0, i16 0, i16 15032, i16 0, i16 0, i16 0, i16 15800, i16 0, i16 12647, i16 0, i16 17080, i16 0, i16 0, i16 0, i16 14777, i16 0, i16 12653, i16 0, i16 12730, i16 13939, i16 0, i16 0, i16 13242, i16 0, i16 0, i16 0, i16 17082, i16 15463, i16 0, i16 0, i16 13243, i16 0, i16 0, i16 0, i16 13499, i16 0, i16 12619, i16 0, i16 15547, i16 0, i16 0, i16 0, i16 16059, i16 0, i16 0, i16 0, i16 16827, i16 0, i16 0, i16 0, i16 12732, i16 0, i16 0, i16 0, i16 14780, i16 0, i16 0, i16 0, i16 16060, i16 16222, i16 16477, i16 0, i16 14013, i16 0, i16 0, i16 0, i16 16829, i16 14875, i16 0, i16 0, i16 12478, i16 0, i16 13819, i16 0, i16 16318, i16 0, i16 0, i16 0, i16 17086, i16 16766, i16 0, i16 0, i16 959, i16 960, i16 961, i16 0, i16 12479, i16 17114, i16 0, i16 0, i16 16831, i16 0, i16 0, i16 0, i16 17087, i16 0, i16 14320, i16 0, i16 12736, i16 0, i16 0, i16 0, i16 14784, i16 0, i16 0, i16 0, i16 15296, i16 0, i16 0, i16 0, i16 14529, i16 15967, i16 0, i16 0, i16 14785, i16 0, i16 14535, i16 0, i16 16577, i16 0, i16 16787, i16 0, i16 14018, i16 0, i16 12889, i16 0, i16 15554, i16 16918, i16 14331, i16 0, i16 17090, i16 0, i16 0, i16 0, i16 13507, i16 0, i16 0, i16 0, i16 14787, i16 14334, i16 12388, i16 0, i16 15555, i16 13137, i16 0, i16 0, i16 16067, i16 0, i16 14279, i16 0, i16 16835, i16 0, i16 0, i16 0, i16 14276, i16 0, i16 0, i16 0, i16 14532, i16 0, i16 0, i16 0, i16 15812, i16 0, i16 0, i16 0, i16 16580, i16 0, i16 16561, i16 0, i16 17092, i16 13324, i16 0, i16 0, i16 12485, i16 0, i16 0, i16 0, i16 13509, i16 0, i16 0, i16 0, i16 16581, i16 0, i16 0, i16 0, i16 17093, i16 14943, i16 0, i16 0, i16 13766, i16 16326, i16 0, i16 0, i16 15302, i16 0, i16 0, i16 0, i16 12487, i16 16568, i16 0, i16 0, i16 15559, i16 0, i16 0, i16 0, i16 15815, i16 0, i16 13257, i16 0, i16 16327, i16 0, i16 0, i16 0, i16 16583, i16 0, i16 0, i16 0, i16 12488, i16 0, i16 0, i16 0, i16 12744, i16 0, i16 16842, i16 0, i16 14024, i16 17150, i16 0, i16 0, i16 15048, i16 0, i16 0, i16 0, i16 13769, i16 0, i16 0, i16 0, i16 14537, i16 0, i16 0, i16 0, i16 14538, i16 0, i16 0, i16 0, i16 16330, i16 0, i16 0, i16 0, i16 12491, i16 0, i16 0, i16 0, i16 12747, i16 0, i16 0, i16 0, i16 14283, i16 0, i16 0, i16 0, i16 15563, i16 15180, i16 0, i16 0, i16 16331, i16 0, i16 0, i16 0, i16 16587, i16 16365, i16 0, i16 0, i16 204, i16 160, i16 0, i16 0, i16 12492, i16 0, i16 0, i16 0, i16 12748, i16 12463, i16 14825, i16 0, i16 15564, i16 14603, i16 14662, i16 0, i16 16076, i16 16453, i16 0, i16 0, i16 12493, i16 13904, i16 0, i16 0, i16 14029, i16 0, i16 0, i16 0, i16 12750, i16 0, i16 13916, i16 0, i16 15054, i16 0, i16 0, i16 0, i16 16334, i16 0, i16 0, i16 0, i16 16846, i16 0, i16 0, i16 0, i16 15312, i16 16790, i16 14958, i16 0, i16 15824, i16 0, i16 0, i16 0, i16 12497, i16 0, i16 0, i16 0, i16 12498, i16 16586, i16 0, i16 0, i16 13266, i16 0, i16 0, i16 0, i16 16082, i16 0, i16 0, i16 0, i16 16338, i16 16898, i16 0, i16 0, i16 13267, i16 0, i16 0, i16 0, i16 15571, i16 0, i16 13048, i16 0, i16 16339, i16 0, i16 0, i16 0, i16 13268, i16 0, i16 16251, i16 0, i16 14548, i16 0, i16 13322, i16 0, i16 17108, i16 0, i16 0, i16 0, i16 13525, i16 0, i16 0, i16 0, i16 14549, i16 16208, i16 0, i16 0, i16 15061, i16 16355, i16 12754, i16 0, i16 16085, i16 0, i16 16086, i16 0, i16 16341, i16 0, i16 0, i16 0, i16 12758, i16 0, i16 0, i16 0, i16 13782, i16 13206, i16 0, i16 0, i16 14038, i16 0, i16 0, i16 0, i16 14294, i16 0, i16 0, i16 0, i16 13271, i16 15273, i16 0, i16 0, i16 14551, i16 0, i16 0, i16 0, i16 15063, i16 0, i16 0, i16 0, i16 15319, i16 15008, i16 0, i16 0, i16 16087, i16 0, i16 0, i16 0, i16 16855, i16 0, i16 0, i16 0, i16 17111, i16 0, i16 0, i16 0, i16 13528, i16 0, i16 0, i16 0, i16 15320, i16 13709, i16 0, i16 0, i16 15576, i16 0, i16 0, i16 0, i16 15832, i16 0, i16 0, i16 0, i16 17112, i16 0, i16 15491, i16 0, i16 15577, i16 15748, i16 0, i16 0, i16 16857, i16 0, i16 0, i16 0, i16 17113, i16 0, i16 0, i16 0, i16 12506, i16 0, i16 0, i16 0, i16 13530, i16 0, i16 16095, i16 0, i16 15834, i16 16856, i16 0, i16 0, i16 16090, i16 0, i16 15381, i16 0, i16 16346, i16 0, i16 0, i16 0, i16 16858, i16 0, i16 0, i16 0, i16 12507, i16 15526, i16 12403, i16 0, i16 16091, i16 0, i16 0, i16 0, i16 16347, i16 14430, i16 0, i16 0, i16 14044, i16 0, i16 0, i16 0, i16 14556, i16 0, i16 13251, i16 0, i16 12765, i16 0, i16 0, i16 0, i16 17117, i16 0, i16 0, i16 0, i16 14302, i16 0, i16 0, i16 0, i16 16094, i16 0, i16 12956, i16 0, i16 12767, i16 0, i16 0, i16 0, i16 15583, i16 0, i16 14655, i16 0, i16 14304, i16 15497, i16 0, i16 0, i16 14560, i16 0, i16 0, i16 0, i16 15840, i16 0, i16 16260, i16 0, i16 13281, i16 0, i16 0, i16 0, i16 14049, i16 0, i16 0, i16 0, i16 16097, i16 0, i16 12370, i16 0, i16 15074, i16 0, i16 0, i16 0, i16 15330, i16 15690, i16 15960, i16 0, i16 16866, i16 0, i16 0, i16 0, i16 227, i16 0, i16 0, i16 0, i16 12515, i16 0, i16 13876, i16 0, i16 14563, i16 0, i16 0, i16 0, i16 16611, i16 0, i16 0, i16 0, i16 12516, i16 0, i16 0, i16 0, i16 13284, i16 0, i16 0, i16 0, i16 13540, i16 0, i16 0, i16 0, i16 13796, i16 0, i16 0, i16 0, i16 14308, i16 0, i16 0, i16 0, i16 14309, i16 0, i16 0, i16 0, i16 14565, i16 0, i16 16525, i16 0, i16 16101, i16 14818, i16 0, i16 0, i16 16357, i16 14010, i16 0, i16 0, i16 14566, i16 0, i16 0, i16 0, i16 15334, i16 0, i16 0, i16 0, i16 16102, i16 16942, i16 15214, i16 0, i16 15847, i16 0, i16 0, i16 0, i16 16359, i16 15252, i16 0, i16 0, i16 232, i16 0, i16 0, i16 0, i16 15336, i16 0, i16 15165, i16 0, i16 16361, i16 15730, i16 0, i16 0, i16 14058, i16 0, i16 0, i16 0, i16 14314, i16 0, i16 0, i16 0, i16 15082, i16 12921, i16 14023, i16 0, i16 12779, i16 0, i16 0, i16 0, i16 13035, i16 0, i16 0, i16 0, i16 15083, i16 16001, i16 0, i16 0, i16 15595, i16 0, i16 0, i16 0, i16 16107, i16 0, i16 14187, i16 0, i16 16363, i16 0, i16 0, i16 0, i16 236, i16 0, i16 0, i16 0, i16 15596, i16 0, i16 0, i16 0, i16 16876, i16 0, i16 0, i16 0, i16 14061, i16 0, i16 0, i16 0, i16 14829, i16 14436, i16 16437, i16 0, i16 16621, i16 15846, i16 0, i16 0, i16 17133, i16 0, i16 0, i16 0, i16 12782, i16 0, i16 0, i16 0, i16 14318, i16 0, i16 14389, i16 0, i16 15598, i16 12969, i16 0, i16 0, i16 239, i16 0, i16 0, i16 0, i16 13295, i16 0, i16 0, i16 0, i16 496, i16 497, i16 498, i16 0, i16 12784, i16 0, i16 14922, i16 0, i16 16624, i16 0, i16 0, i16 0, i16 16880, i16 16428, i16 16881, i16 0, i16 14322, i16 15067, i16 0, i16 0, i16 14578, i16 0, i16 0, i16 0, i16 15602, i16 0, i16 0, i16 0, i16 12531, i16 0, i16 0, i16 0, i16 13299, i16 14574, i16 0, i16 0, i16 15859, i16 12469, i16 0, i16 0, i16 17139, i16 0, i16 0, i16 0, i16 12532, i16 0, i16 0, i16 0, i16 14836, i16 0, i16 0, i16 0, i16 13301, i16 0, i16 0, i16 0, i16 13557, i16 13244, i16 16772, i16 0, i16 12534, i16 0, i16 13973, i16 0, i16 13814, i16 13690, i16 0, i16 0, i16 14070, i16 0, i16 0, i16 0, i16 15862, i16 0, i16 0, i16 0, i16 16118, i16 0, i16 0, i16 0, i16 13303, i16 0, i16 0, i16 0, i16 13559, i16 14258, i16 0, i16 0, i16 14327, i16 14477, i16 0, i16 0, i16 16119, i16 0, i16 13937, i16 0, i16 16887, i16 0, i16 0, i16 0, i16 17143, i16 12677, i16 0, i16 0, i16 14840, i16 12604, i16 15706, i16 0, i16 14329, i16 0, i16 15728, i16 0, i16 16633, i16 0, i16 15151, i16 0, i16 13818, i16 16626, i16 15466, i16 0, i16 14330, i16 0, i16 0, i16 0, i16 16634, i16 12664, i16 0, i16 0, i16 251, i16 0, i16 0, i16 0, i16 13307, i16 0, i16 12887, i16 0, i16 16123, i16 0, i16 0, i16 0, i16 16379, i16 0, i16 0, i16 0, i16 16635, i16 0, i16 0, i16 0, i16 17147, i16 16591, i16 0, i16 0, i16 12796, i16 0, i16 0, i16 0, i16 14844, i16 0, i16 0, i16 0, i16 15356, i16 0, i16 0, i16 0, i16 15868, i16 0, i16 0, i16 0, i16 16636, i16 0, i16 0, i16 0, i16 16892, i16 13247, i16 0, i16 0, i16 12797, i16 0, i16 0, i16 0, i16 15613, i16 14079, i16 0, i16 0, i16 12286, i16 0, i16 13968, i16 0, i16 14078, i16 0, i16 0, i16 0, i16 14590, i16 13127, i16 0, i16 0, i16 15614, i16 13555, i16 13688, i16 0, i16 15870, i16 0, i16 0, i16 0, i16 16126, i16 0, i16 0, i16 0, i16 16382, i16 0, i16 0, i16 0, i16 12543, i16 0, i16 13728, i16 0, i16 13823, i16 0, i16 13674, i16 0, i16 15615, i16 12820, i16 0, i16 15104, i16 0, i16 0, i16 0, i16 15616, i16 13933, i16 15995, i16 0, i16 16128, i16 0, i16 0, i16 12308, i16 16640, i16 0, i16 0, i16 16054, i16 17152, i16 12348, i16 0, i16 0, i16 257, i16 258, i16 261, i16 260, i16 12801, i16 0, i16 0, i16 0, i16 13569, i16 16879, i16 0, i16 0, i16 14849, i16 0, i16 0, i16 0, i16 15617, i16 14776, i16 0, i16 0, i16 15873, i16 0, i16 14896, i16 0, i16 16385, i16 0, i16 0, i16 0, i16 514, i16 515, i16 516, i16 517, i16 770, i16 771, i16 772, i16 0, i16 1026, i16 1027, i16 1028, i16 1029, i16 13058, i16 12645, i16 0, i16 14683, i16 15874, i16 0, i16 0, i16 12460, i16 16386, i16 0, i16 0, i16 0, i16 259, i16 262, i16 0, i16 0, i16 12803, i16 0, i16 0, i16 0, i16 13059, i16 13351, i16 0, i16 0, i16 14083, i16 14084, i16 0, i16 0, i16 15107, i16 0, i16 0, i16 0, i16 16387, i16 0, i16 15688, i16 0, i16 16643, i16 0, i16 0, i16 0, i16 17155, i16 0, i16 16783, i16 0, i16 13828, i16 0, i16 0, i16 0, i16 15108, i16 12610, i16 14517, i16 0, i16 15364, i16 15365, i16 12936, i16 0, i16 15876, i16 0, i16 0, i16 0, i16 12805, i16 13691, i16 0, i16 0, i16 14853, i16 0, i16 0, i16 0, i16 15621, i16 0, i16 0, i16 0, i16 16901, i16 0, i16 0, i16 16677, i16 17157, i16 0, i16 0, i16 0, i16 518, i16 519, i16 0, i16 0, i16 1030, i16 1031, i16 1032, i16 1033, i16 13574, i16 0, i16 0, i16 0, i16 13830, i16 0, i16 0, i16 0, i16 14086, i16 0, i16 0, i16 0, i16 14342, i16 15893, i16 15892, i16 0, i16 7, i16 8, i16 9, i16 10, i16 263, i16 277, i16 278, i16 0, i16 775, i16 0, i16 0, i16 0, i16 12807, i16 0, i16 0, i16 0, i16 13319, i16 0, i16 0, i16 0, i16 13831, i16 0, i16 0, i16 0, i16 14855, i16 0, i16 0, i16 0, i16 15367, i16 0, i16 0, i16 17002, i16 15879, i16 14820, i16 14767, i16 0, i16 17159, i16 17158, i16 16518, i16 0, i16 776, i16 773, i16 777, i16 233, i16 12552, i16 16573, i16 0, i16 14188, i16 12808, i16 0, i16 0, i16 0, i16 13576, i16 12432, i16 0, i16 0, i16 16904, i16 0, i16 0, i16 0, i16 13065, i16 0, i16 0, i16 0, i16 13321, i16 13327, i16 13330, i16 13434, i16 14345, i16 13568, i16 0, i16 0, i16 15113, i16 14228, i16 0, i16 0, i16 15369, i16 15370, i16 0, i16 0, i16 16393, i16 13771, i16 0, i16 0, i16 266, i16 0, i16 267, i16 0, i16 1034, i16 1035, i16 1036, i16 1037, i16 12298, i16 0, i16 16519, i16 0, i16 12554, i16 0, i16 0, i16 0, i16 14090, i16 15681, i16 12652, i16 0, i16 11, i16 12, i16 13, i16 14, i16 523, i16 524, i16 525, i16 526, i16 779, i16 780, i16 781, i16 0, i16 15371, i16 0, i16 12852, i16 0, i16 15627, i16 0, i16 0, i16 0, i16 16907, i16 14760, i16 0, i16 0, i16 12812, i16 0, i16 13177, i16 0, i16 13068, i16 13069, i16 13070, i16 13072, i16 13580, i16 16024, i16 14835, i16 13381, i16 14604, i16 15275, i16 0, i16 0, i16 15372, i16 12415, i16 0, i16 12648, i16 269, i16 270, i16 0, i16 0, i16 12301, i16 12570, i16 0, i16 12599, i16 12813, i16 0, i16 0, i16 15111, i16 13581, i16 12989, i16 0, i16 0, i16 13837, i16 0, i16 16492, i16 0, i16 14093, i16 0, i16 0, i16 12975, i16 14861, i16 0, i16 15592, i16 0, i16 16141, i16 0, i16 0, i16 0, i16 16653, i16 0, i16 0, i16 0, i16 1038, i16 1039, i16 1040, i16 1041, i16 12814, i16 0, i16 0, i16 12706, i16 13838, i16 14545, i16 16980, i16 0, i16 15374, i16 15377, i16 15382, i16 15384, i16 15630, i16 0, i16 0, i16 0, i16 15886, i16 15536, i16 0, i16 14123, i16 16142, i16 14132, i16 14450, i16 0, i16 15, i16 16, i16 17, i16 18, i16 527, i16 528, i16 529, i16 530, i16 12303, i16 13730, i16 0, i16 0, i16 14095, i16 0, i16 0, i16 0, i16 15375, i16 0, i16 0, i16 0, i16 15631, i16 14274, i16 14286, i16 16727, i16 16143, i16 0, i16 0, i16 12638, i16 16399, i16 0, i16 14372, i16 0, i16 784, i16 0, i16 0, i16 0, i16 13840, i16 0, i16 12299, i16 0, i16 14096, i16 16478, i16 0, i16 0, i16 17168, i16 0, i16 0, i16 0, i16 12305, i16 0, i16 0, i16 13199, i16 12561, i16 0, i16 0, i16 0, i16 13073, i16 13074, i16 13075, i16 13076, i16 14097, i16 0, i16 0, i16 0, i16 14865, i16 0, i16 0, i16 0, i16 15633, i16 12694, i16 0, i16 12377, i16 16401, i16 0, i16 12835, i16 0, i16 1042, i16 1043, i16 1044, i16 0, i16 13586, i16 0, i16 14476, i16 0, i16 13842, i16 12965, i16 0, i16 14265, i16 14098, i16 0, i16 0, i16 0, i16 15122, i16 15419, i16 0, i16 15300, i16 15634, i16 13210, i16 0, i16 0, i16 16402, i16 0, i16 0, i16 12309, i16 17170, i16 16987, i16 16811, i16 14313, i16 19, i16 20, i16 21, i16 0, i16 275, i16 273, i16 0, i16 0, i16 531, i16 532, i16 533, i16 534, i16 12307, i16 0, i16 15734, i16 0, i16 13587, i16 0, i16 0, i16 0, i16 16403, i16 12791, i16 0, i16 0, i16 788, i16 0, i16 0, i16 0, i16 12564, i16 12629, i16 0, i16 14470, i16 14868, i16 14870, i16 14874, i16 14910, i16 16916, i16 13696, i16 0, i16 0, i16 789, i16 697, i16 790, i16 0, i16 1045, i16 1046, i16 1047, i16 1048, i16 12565, i16 0, i16 0, i16 0, i16 12821, i16 0, i16 0, i16 0, i16 13077, i16 13079, i16 13080, i16 13081, i16 13333, i16 0, i16 0, i16 0, i16 14357, i16 0, i16 0, i16 0, i16 14613, i16 13502, i16 0, i16 0, i16 14869, i16 0, i16 0, i16 0, i16 15637, i16 14361, i16 14107, i16 0, i16 22, i16 0, i16 23, i16 24, i16 16150, i16 14012, i16 13767, i16 0, i16 279, i16 276, i16 0, i16 0, i16 535, i16 536, i16 0, i16 537, i16 791, i16 0, i16 0, i16 0, i16 12567, i16 0, i16 0, i16 15172, i16 12823, i16 16179, i16 15581, i16 12312, i16 13847, i16 0, i16 0, i16 13811, i16 14359, i16 0, i16 0, i16 0, i16 14615, i16 0, i16 0, i16 14235, i16 15127, i16 0, i16 15766, i16 0, i16 15383, i16 0, i16 13753, i16 0, i16 12568, i16 0, i16 0, i16 13306, i16 12824, i16 0, i16 15607, i16 12864, i16 14104, i16 0, i16 0, i16 0, i16 14872, i16 0, i16 0, i16 0, i16 15640, i16 0, i16 0, i16 14139, i16 25, i16 26, i16 27, i16 28, i16 281, i16 0, i16 0, i16 0, i16 1049, i16 1050, i16 1052, i16 1053, i16 12313, i16 13332, i16 0, i16 12825, i16 14617, i16 0, i16 13773, i16 15987, i16 16409, i16 0, i16 15799, i16 0, i16 538, i16 539, i16 540, i16 541, i16 12314, i16 0, i16 0, i16 0, i16 12826, i16 0, i16 0, i16 12800, i16 13082, i16 13083, i16 13084, i16 13085, i16 14106, i16 16843, i16 0, i16 16575, i16 14618, i16 0, i16 0, i16 0, i16 15642, i16 0, i16 0, i16 0, i16 13339, i16 15747, i16 0, i16 0, i16 13851, i16 0, i16 13432, i16 0, i16 14363, i16 0, i16 0, i16 15368, i16 14619, i16 0, i16 0, i16 0, i16 15131, i16 0, i16 0, i16 16830, i16 16411, i16 0, i16 0, i16 0, i16 16923, i16 14142, i16 0, i16 14540, i16 12316, i16 0, i16 0, i16 16908, i16 13596, i16 0, i16 15599, i16 0, i16 14364, i16 17134, i16 0, i16 0, i16 14876, i16 0, i16 0, i16 0, i16 15388, i16 15391, i16 15393, i16 15394, i16 29, i16 30, i16 31, i16 32, i16 12317, i16 0, i16 0, i16 15758, i16 12573, i16 0, i16 0, i16 0, i16 13341, i16 0, i16 0, i16 0, i16 14109, i16 0, i16 0, i16 13273, i16 15389, i16 0, i16 14346, i16 14634, i16 286, i16 0, i16 0, i16 679, i16 542, i16 543, i16 0, i16 0, i16 798, i16 799, i16 800, i16 801, i16 1054, i16 1055, i16 1056, i16 1057, i16 12574, i16 0, i16 14714, i16 0, i16 13086, i16 13087, i16 13088, i16 13089, i16 13598, i16 0, i16 0, i16 0, i16 14366, i16 0, i16 0, i16 13288, i16 14622, i16 0, i16 0, i16 13168, i16 14878, i16 14663, i16 0, i16 0, i16 13343, i16 0, i16 0, i16 16050, i16 13855, i16 13834, i16 0, i16 12997, i16 14111, i16 12898, i16 0, i16 14936, i16 14367, i16 0, i16 0, i16 0, i16 15647, i16 0, i16 0, i16 0, i16 16159, i16 0, i16 0, i16 0, i16 544, i16 555, i16 545, i16 556, i16 13600, i16 0, i16 0, i16 0, i16 13856, i16 16531, i16 0, i16 0, i16 14880, i16 0, i16 0, i16 0, i16 16160, i16 0, i16 0, i16 0, i16 16416, i16 0, i16 13817, i16 0, i16 33, i16 34, i16 35, i16 36, i16 13857, i16 0, i16 0, i16 0, i16 546, i16 583, i16 582, i16 557, i16 802, i16 803, i16 804, i16 805, i16 1058, i16 1059, i16 1060, i16 1061, i16 12578, i16 0, i16 0, i16 0, i16 12834, i16 16537, i16 13775, i16 0, i16 14626, i16 0, i16 0, i16 0, i16 15138, i16 0, i16 0, i16 0, i16 16930, i16 0, i16 0, i16 0, i16 291, i16 292, i16 293, i16 294, i16 547, i16 577, i16 576, i16 558, i16 12579, i16 12755, i16 0, i16 0, i16 13091, i16 13092, i16 13096, i16 13097, i16 13347, i16 0, i16 0, i16 0, i16 14627, i16 14539, i16 15436, i16 0, i16 15651, i16 0, i16 15105, i16 0, i16 16931, i16 0, i16 0, i16 12335, i16 548, i16 579, i16 578, i16 559, i16 15908, i16 0, i16 0, i16 0, i16 16164, i16 0, i16 13836, i16 0, i16 16932, i16 15385, i16 0, i16 0, i16 37, i16 38, i16 39, i16 40, i16 549, i16 581, i16 580, i16 560, i16 13349, i16 0, i16 0, i16 0, i16 13605, i16 0, i16 0, i16 0, i16 13861, i16 0, i16 14594, i16 15626, i16 14629, i16 0, i16 12476, i16 0, i16 14885, i16 0, i16 0, i16 0, i16 15141, i16 0, i16 0, i16 12717, i16 15397, i16 0, i16 0, i16 0, i16 15653, i16 0, i16 0, i16 16014, i16 550, i16 571, i16 584, i16 585, i16 806, i16 807, i16 808, i16 809, i16 1062, i16 1063, i16 1064, i16 1065, i16 12326, i16 0, i16 0, i16 0, i16 13606, i16 0, i16 0, i16 0, i16 14118, i16 16596, i16 15068, i16 14731, i16 14886, i16 0, i16 12514, i16 0, i16 16422, i16 0, i16 14654, i16 0, i16 295, i16 296, i16 297, i16 298, i16 551, i16 592, i16 593, i16 567, i16 12839, i16 0, i16 0, i16 0, i16 13607, i16 14883, i16 16707, i16 0, i16 13863, i16 0, i16 0, i16 0, i16 15399, i16 0, i16 0, i16 0, i16 15655, i16 14031, i16 14395, i16 0, i16 16167, i16 0, i16 15903, i16 0, i16 16935, i16 0, i16 0, i16 0, i16 552, i16 573, i16 588, i16 589, i16 13352, i16 0, i16 0, i16 0, i16 13608, i16 0, i16 0, i16 0, i16 14120, i16 0, i16 15293, i16 0, i16 15144, i16 0, i16 0, i16 0, i16 15912, i16 12541, i16 13870, i16 0, i16 41, i16 42, i16 43, i16 44, i16 553, i16 596, i16 597, i16 569, i16 12585, i16 0, i16 0, i16 0, i16 12841, i16 12810, i16 0, i16 0, i16 13865, i16 0, i16 0, i16 13462, i16 14377, i16 12693, i16 0, i16 12872, i16 15913, i16 0, i16 0, i16 0, i16 16169, i16 12857, i16 0, i16 13290, i16 554, i16 600, i16 601, i16 570, i16 810, i16 811, i16 812, i16 813, i16 1066, i16 1067, i16 1068, i16 1069, i16 13866, i16 0, i16 14612, i16 0, i16 14378, i16 0, i16 16272, i16 13312, i16 15402, i16 0, i16 0, i16 0, i16 16426, i16 14161, i16 0, i16 0, i16 16682, i16 0, i16 0, i16 0, i16 16938, i16 0, i16 16694, i16 16603, i16 299, i16 300, i16 301, i16 302, i16 12331, i16 0, i16 0, i16 0, i16 13099, i16 13100, i16 13102, i16 13103, i16 13867, i16 0, i16 0, i16 0, i16 15659, i16 0, i16 0, i16 14841, i16 13612, i16 0, i16 16751, i16 13410, i16 14636, i16 0, i16 0, i16 0, i16 14892, i16 14009, i16 0, i16 0, i16 15148, i16 0, i16 15943, i16 12679, i16 15916, i16 0, i16 0, i16 0, i16 16940, i16 16394, i16 14706, i16 0, i16 45, i16 46, i16 47, i16 48, i16 12333, i16 0, i16 0, i16 12297, i16 12845, i16 0, i16 0, i16 14223, i16 13357, i16 16618, i16 0, i16 0, i16 13613, i16 14635, i16 0, i16 0, i16 13869, i16 0, i16 0, i16 0, i16 15661, i16 0, i16 0, i16 0, i16 15917, i16 16642, i16 0, i16 0, i16 16173, i16 0, i16 0, i16 13254, i16 814, i16 815, i16 816, i16 817, i16 1070, i16 1071, i16 1072, i16 1073, i16 12846, i16 0, i16 16637, i16 13664, i16 303, i16 304, i16 305, i16 306, i16 12847, i16 0, i16 0, i16 0, i16 13615, i16 0, i16 13985, i16 0, i16 13871, i16 0, i16 0, i16 0, i16 14895, i16 0, i16 15844, i16 14089, i16 12592, i16 0, i16 16205, i16 0, i16 13104, i16 13105, i16 13106, i16 13107, i16 13872, i16 0, i16 0, i16 0, i16 15152, i16 0, i16 12319, i16 12545, i16 49, i16 50, i16 51, i16 52, i16 13873, i16 0, i16 0, i16 0, i16 14129, i16 0, i16 0, i16 0, i16 14897, i16 0, i16 0, i16 0, i16 15665, i16 0, i16 16344, i16 16912, i16 15921, i16 16016, i16 14055, i16 13417, i16 16177, i16 0, i16 0, i16 14753, i16 818, i16 819, i16 820, i16 821, i16 1074, i16 1075, i16 1076, i16 1077, i16 15410, i16 15411, i16 15413, i16 15417, i16 16178, i16 14405, i16 0, i16 0, i16 16434, i16 15807, i16 15243, i16 0, i16 307, i16 308, i16 309, i16 310, i16 12339, i16 0, i16 0, i16 15839, i16 14131, i16 0, i16 0, i16 0, i16 14387, i16 0, i16 0, i16 0, i16 14643, i16 15448, i16 0, i16 0, i16 15155, i16 0, i16 0, i16 0, i16 15667, i16 0, i16 0, i16 0, i16 16435, i16 0, i16 0, i16 12749, i16 12596, i16 0, i16 0, i16 0, i16 13108, i16 13109, i16 13114, i16 13115, i16 13364, i16 14877, i16 0, i16 0, i16 14900, i16 0, i16 0, i16 0, i16 16436, i16 0, i16 0, i16 0, i16 53, i16 54, i16 55, i16 56, i16 12597, i16 0, i16 0, i16 16939, i16 13877, i16 0, i16 16491, i16 15185, i16 14901, i16 0, i16 0, i16 0, i16 16949, i16 0, i16 15802, i16 0, i16 566, i16 586, i16 587, i16 561, i16 822, i16 823, i16 824, i16 825, i16 1078, i16 1079, i16 1080, i16 1081, i16 14390, i16 0, i16 0, i16 0, i16 14902, i16 0, i16 0, i16 12930, i16 15158, i16 0, i16 12620, i16 15062, i16 15670, i16 0, i16 0, i16 0, i16 16438, i16 15340, i16 0, i16 16791, i16 311, i16 312, i16 313, i16 314, i16 13367, i16 16221, i16 16526, i16 0, i16 13879, i16 14764, i16 15132, i16 0, i16 15159, i16 15814, i16 0, i16 0, i16 15671, i16 0, i16 0, i16 16804, i16 16439, i16 13563, i16 0, i16 0, i16 16695, i16 0, i16 0, i16 0, i16 568, i16 590, i16 591, i16 563, i16 12600, i16 0, i16 0, i16 0, i16 13624, i16 0, i16 16032, i16 16310, i16 16440, i16 0, i16 12692, i16 13449, i16 16696, i16 0, i16 0, i16 14281, i16 16952, i16 16111, i16 0, i16 0, i16 57, i16 58, i16 59, i16 60, i16 13113, i16 0, i16 0, i16 0, i16 13881, i16 13940, i16 13941, i16 0, i16 15673, i16 16353, i16 0, i16 16691, i16 16441, i16 0, i16 12822, i16 15936, i16 16953, i16 16871, i16 15856, i16 12551, i16 826, i16 827, i16 828, i16 829, i16 1082, i16 1083, i16 1085, i16 1086, i16 14394, i16 15473, i16 0, i16 0, i16 15418, i16 15422, i16 15423, i16 15428, i16 16442, i16 0, i16 0, i16 0, i16 315, i16 316, i16 317, i16 318, i16 15931, i16 0, i16 14069, i16 0, i16 16187, i16 16188, i16 0, i16 0, i16 16699, i16 0, i16 0, i16 16698, i16 572, i16 594, i16 595, i16 562, i16 13116, i16 13117, i16 13118, i16 13119, i16 14908, i16 0, i16 0, i16 14194, i16 61, i16 62, i16 63, i16 64, i16 13629, i16 0, i16 0, i16 0, i16 574, i16 598, i16 599, i16 564, i16 830, i16 831, i16 832, i16 833, i16 12350, i16 0, i16 15031, i16 0, i16 12606, i16 13556, i16 14165, i16 0, i16 16190, i16 0, i16 0, i16 14219, i16 16446, i16 0, i16 0, i16 12529, i16 319, i16 320, i16 321, i16 322, i16 1087, i16 1088, i16 1089, i16 1090, i16 12863, i16 0, i16 0, i16 0, i16 14399, i16 0, i16 0, i16 15204, i16 14911, i16 14912, i16 14914, i16 14915, i16 14144, i16 13858, i16 0, i16 0, i16 14656, i16 0, i16 0, i16 0, i16 15424, i16 0, i16 0, i16 0, i16 16448, i16 14368, i16 17076, i16 12951, i16 65, i16 66, i16 67, i16 68, i16 12609, i16 0, i16 0, i16 0, i16 13121, i16 13122, i16 13292, i16 13314, i16 14657, i16 15421, i16 16239, i16 12586, i16 15169, i16 0, i16 0, i16 16147, i16 834, i16 835, i16 836, i16 837, i16 12354, i16 0, i16 16676, i16 14020, i16 13890, i16 0, i16 0, i16 0, i16 14402, i16 0, i16 15406, i16 0, i16 15426, i16 14351, i16 0, i16 0, i16 16450, i16 17137, i16 0, i16 0, i16 16706, i16 0, i16 0, i16 0, i16 323, i16 324, i16 325, i16 326, i16 1091, i16 1092, i16 1093, i16 1094, i16 12867, i16 0, i16 0, i16 0, i16 13123, i16 0, i16 13799, i16 13101, i16 13635, i16 0, i16 0, i16 0, i16 13891, i16 0, i16 0, i16 0, i16 14147, i16 0, i16 14148, i16 14149, i16 15939, i16 0, i16 14140, i16 13205, i16 16451, i16 0, i16 0, i16 0, i16 12356, i16 0, i16 0, i16 12804, i16 12612, i16 0, i16 0, i16 0, i16 12868, i16 0, i16 0, i16 0, i16 16708, i16 0, i16 0, i16 14124, i16 69, i16 70, i16 71, i16 72, i16 12357, i16 13758, i16 0, i16 17094, i16 838, i16 839, i16 840, i16 841, i16 12870, i16 12894, i16 12907, i16 12992, i16 14150, i16 0, i16 0, i16 13722, i16 14918, i16 14921, i16 14927, i16 14929, i16 16198, i16 0, i16 0, i16 0, i16 327, i16 328, i16 329, i16 330, i16 1095, i16 1096, i16 1097, i16 1098, i16 12871, i16 13304, i16 0, i16 0, i16 14151, i16 15380, i16 0, i16 16447, i16 14407, i16 0, i16 0, i16 0, i16 15431, i16 15432, i16 15433, i16 15434, i16 16199, i16 0, i16 16646, i16 12696, i16 16967, i16 0, i16 0, i16 0, i16 12360, i16 0, i16 0, i16 0, i16 12616, i16 0, i16 0, i16 0, i16 14152, i16 14254, i16 14256, i16 14275, i16 16200, i16 15023, i16 0, i16 0, i16 16968, i16 0, i16 0, i16 15490, i16 73, i16 74, i16 75, i16 76, i16 14409, i16 16493, i16 0, i16 12457, i16 16201, i16 0, i16 0, i16 12412, i16 842, i16 843, i16 844, i16 845, i16 13386, i16 0, i16 0, i16 0, i16 14410, i16 0, i16 0, i16 0, i16 15946, i16 0, i16 0, i16 0, i16 16458, i16 0, i16 0, i16 0, i16 331, i16 332, i16 333, i16 334, i16 1099, i16 1100, i16 1101, i16 1102, i16 13643, i16 0, i16 0, i16 0, i16 14667, i16 16229, i16 14220, i16 0, i16 16203, i16 0, i16 13697, i16 16959, i16 12876, i16 0, i16 14128, i16 0, i16 13644, i16 13645, i16 0, i16 0, i16 13900, i16 0, i16 0, i16 0, i16 14668, i16 15935, i16 0, i16 0, i16 15692, i16 0, i16 0, i16 0, i16 16460, i16 17118, i16 13652, i16 16277, i16 16716, i16 0, i16 0, i16 0, i16 16972, i16 13323, i16 0, i16 0, i16 77, i16 78, i16 79, i16 80, i16 13133, i16 0, i16 0, i16 0, i16 14413, i16 14238, i16 0, i16 0, i16 15437, i16 13403, i16 15831, i16 14474, i16 15693, i16 12584, i16 0, i16 14433, i16 846, i16 847, i16 848, i16 849, i16 12366, i16 0, i16 0, i16 0, i16 12622, i16 0, i16 0, i16 0, i16 14158, i16 0, i16 0, i16 0, i16 15182, i16 15183, i16 15189, i16 15191, i16 15438, i16 0, i16 15541, i16 0, i16 16718, i16 0, i16 0, i16 0, i16 335, i16 336, i16 337, i16 338, i16 1103, i16 1104, i16 1105, i16 1106, i16 16207, i16 13692, i16 0, i16 0, i16 16719, i16 16092, i16 0, i16 12318, i16 16975, i16 0, i16 16560, i16 0, i16 12368, i16 0, i16 14730, i16 16284, i16 12624, i16 13779, i16 0, i16 0, i16 12880, i16 0, i16 0, i16 0, i16 13648, i16 16754, i16 0, i16 0, i16 14672, i16 0, i16 0, i16 0, i16 14928, i16 0, i16 0, i16 0, i16 15440, i16 15484, i16 15485, i16 15488, i16 15952, i16 0, i16 0, i16 0, i16 81, i16 82, i16 83, i16 84, i16 12625, i16 0, i16 0, i16 0, i16 12881, i16 0, i16 0, i16 0, i16 13393, i16 15069, i16 0, i16 0, i16 13905, i16 0, i16 0, i16 0, i16 15441, i16 0, i16 12759, i16 15305, i16 15953, i16 15242, i16 0, i16 0, i16 850, i16 851, i16 0, i16 0, i16 12626, i16 0, i16 16516, i16 0, i16 13138, i16 0, i16 0, i16 0, i16 14930, i16 14931, i16 14933, i16 14937, i16 15954, i16 12429, i16 0, i16 0, i16 16978, i16 0, i16 12756, i16 0, i16 339, i16 340, i16 341, i16 342, i16 1107, i16 1108, i16 1109, i16 1110, i16 12371, i16 0, i16 0, i16 13280, i16 12883, i16 16244, i16 0, i16 14076, i16 852, i16 853, i16 854, i16 855, i16 85, i16 86, i16 87, i16 88, i16 13909, i16 0, i16 0, i16 0, i16 15190, i16 16683, i16 0, i16 0, i16 15446, i16 0, i16 0, i16 16364, i16 16726, i16 0, i16 15405, i16 0, i16 343, i16 344, i16 345, i16 346, i16 14167, i16 0, i16 0, i16 0, i16 16215, i16 0, i16 0, i16 16946, i16 856, i16 857, i16 858, i16 859, i16 12632, i16 0, i16 12954, i16 14051, i16 14680, i16 0, i16 0, i16 16133, i16 15192, i16 0, i16 0, i16 12731, i16 15704, i16 0, i16 0, i16 0, i16 13657, i16 0, i16 16746, i16 15249, i16 14169, i16 0, i16 0, i16 14941, i16 14681, i16 0, i16 0, i16 13062, i16 15193, i16 15196, i16 15203, i16 15208, i16 16217, i16 0, i16 0, i16 0, i16 602, i16 603, i16 575, i16 604, i16 12378, i16 0, i16 0, i16 0, i16 12634, i16 0, i16 0, i16 0, i16 13914, i16 0, i16 0, i16 0, i16 14938, i16 14942, i16 14950, i16 14952, i16 16218, i16 0, i16 15720, i16 15308, i16 16474, i16 0, i16 0, i16 0, i16 12635, i16 0, i16 15162, i16 0, i16 15195, i16 15117, i16 0, i16 0, i16 16219, i16 14723, i16 0, i16 14210, i16 16475, i16 16878, i16 0, i16 0, i16 16731, i16 13425, i16 13354, i16 0, i16 860, i16 861, i16 862, i16 863, i16 12636, i16 12671, i16 12843, i16 12848, i16 15452, i16 0, i16 0, i16 16113, i16 15964, i16 0, i16 0, i16 0, i16 16732, i16 15276, i16 0, i16 0, i16 93, i16 94, i16 95, i16 96, i16 605, i16 606, i16 607, i16 608, i16 12381, i16 0, i16 0, i16 0, i16 12637, i16 0, i16 0, i16 0, i16 15197, i16 0, i16 0, i16 0, i16 16989, i16 16604, i16 16529, i16 12685, i16 12382, i16 0, i16 0, i16 0, i16 13662, i16 17008, i16 17091, i16 15900, i16 15966, i16 0, i16 15965, i16 0, i16 16990, i16 0, i16 0, i16 15548, i16 351, i16 352, i16 353, i16 354, i16 12639, i16 13535, i16 16905, i16 0, i16 13407, i16 14189, i16 0, i16 0, i16 13919, i16 14215, i16 0, i16 0, i16 14175, i16 0, i16 16825, i16 0, i16 14687, i16 0, i16 15830, i16 17030, i16 16479, i16 0, i16 15951, i16 0, i16 864, i16 865, i16 866, i16 0, i16 12384, i16 15412, i16 14756, i16 0, i16 13152, i16 16096, i16 0, i16 0, i16 13408, i16 0, i16 0, i16 0, i16 13920, i16 0, i16 0, i16 0, i16 14688, i16 0, i16 0, i16 0, i16 16224, i16 0, i16 0, i16 0, i16 16480, i16 0, i16 0, i16 0, i16 16992, i16 0, i16 0, i16 0, i16 97, i16 98, i16 99, i16 100, i16 609, i16 610, i16 611, i16 565, i16 12385, i16 15963, i16 0, i16 0, i16 13153, i16 15352, i16 0, i16 0, i16 14177, i16 16622, i16 0, i16 0, i16 15201, i16 13463, i16 0, i16 12601, i16 16481, i16 0, i16 16100, i16 14801, i16 16737, i16 14119, i16 13491, i16 15570, i16 12642, i16 15578, i16 0, i16 15586, i16 14178, i16 0, i16 0, i16 0, i16 14434, i16 0, i16 12816, i16 0, i16 15202, i16 12458, i16 0, i16 0, i16 15714, i16 0, i16 0, i16 0, i16 16738, i16 17040, i16 0, i16 13241, i16 355, i16 356, i16 357, i16 358, i16 14691, i16 0, i16 13169, i16 0, i16 14947, i16 0, i16 0, i16 15534, i16 12644, i16 0, i16 16786, i16 0, i16 12900, i16 14153, i16 16593, i16 0, i16 13668, i16 0, i16 16247, i16 0, i16 101, i16 102, i16 103, i16 104, i16 13157, i16 0, i16 0, i16 0, i16 13413, i16 0, i16 0, i16 0, i16 14181, i16 0, i16 0, i16 0, i16 14437, i16 14744, i16 12562, i16 0, i16 14949, i16 14462, i16 12293, i16 0, i16 16485, i16 0, i16 0, i16 0, i16 16997, i16 13129, i16 0, i16 15959, i16 870, i16 0, i16 0, i16 0, i16 13670, i16 12405, i16 0, i16 0, i16 13926, i16 0, i16 16547, i16 0, i16 15206, i16 0, i16 0, i16 0, i16 16742, i16 0, i16 15362, i16 0, i16 359, i16 360, i16 361, i16 362, i16 13671, i16 0, i16 0, i16 16700, i16 14695, i16 0, i16 14197, i16 0, i16 16231, i16 0, i16 0, i16 15711, i16 16743, i16 0, i16 0, i16 0, i16 16999, i16 12558, i16 0, i16 0, i16 616, i16 622, i16 623, i16 624, i16 13928, i16 13929, i16 0, i16 0, i16 15464, i16 16002, i16 0, i16 0, i16 15976, i16 0, i16 0, i16 16852, i16 16232, i16 0, i16 16003, i16 0, i16 16744, i16 0, i16 14502, i16 13911, i16 105, i16 106, i16 107, i16 108, i16 617, i16 675, i16 690, i16 283, i16 14953, i16 14956, i16 14964, i16 14968, i16 15209, i16 13666, i16 16813, i16 14575, i16 15465, i16 0, i16 0, i16 0, i16 15721, i16 0, i16 0, i16 0, i16 16489, i16 13095, i16 0, i16 14300, i16 16745, i16 0, i16 0, i16 0, i16 14954, i16 0, i16 0, i16 0, i16 363, i16 364, i16 365, i16 366, i16 619, i16 620, i16 621, i16 640, i16 875, i16 0, i16 0, i16 0, i16 12395, i16 0, i16 0, i16 0, i16 13163, i16 0, i16 13604, i16 0, i16 13931, i16 0, i16 16865, i16 13665, i16 14699, i16 0, i16 0, i16 0, i16 15723, i16 0, i16 0, i16 0, i16 16747, i16 15442, i16 12315, i16 0, i16 14444, i16 0, i16 14347, i16 0, i16 14700, i16 15223, i16 0, i16 0, i16 15468, i16 0, i16 0, i16 0, i16 15724, i16 0, i16 0, i16 0, i16 16236, i16 0, i16 12512, i16 16144, i16 109, i16 110, i16 111, i16 112, i16 14701, i16 0, i16 12413, i16 15310, i16 15213, i16 0, i16 0, i16 16807, i16 15981, i16 0, i16 0, i16 14611, i16 12398, i16 0, i16 13810, i16 0, i16 13422, i16 0, i16 0, i16 0, i16 13678, i16 16641, i16 15345, i16 0, i16 14702, i16 0, i16 0, i16 0, i16 15726, i16 0, i16 12419, i16 17035, i16 16238, i16 0, i16 14062, i16 0, i16 367, i16 368, i16 369, i16 370, i16 879, i16 880, i16 881, i16 882, i16 12399, i16 15153, i16 0, i16 0, i16 13423, i16 0, i16 0, i16 17122, i16 14191, i16 0, i16 16427, i16 0, i16 14703, i16 13623, i16 0, i16 16506, i16 15983, i16 15729, i16 0, i16 0, i16 16495, i16 0, i16 16714, i16 0, i16 12656, i16 0, i16 13762, i16 0, i16 13936, i16 0, i16 0, i16 12284, i16 14448, i16 12575, i16 0, i16 13776, i16 14704, i16 0, i16 13229, i16 15194, i16 113, i16 114, i16 115, i16 116, i16 625, i16 626, i16 627, i16 628, i16 12657, i16 16053, i16 0, i16 0, i16 15985, i16 0, i16 16183, i16 13515, i16 17009, i16 0, i16 14554, i16 0, i16 12658, i16 0, i16 0, i16 0, i16 15474, i16 0, i16 16770, i16 0, i16 16498, i16 15164, i16 0, i16 0, i16 17010, i16 0, i16 13788, i16 13789, i16 371, i16 372, i16 373, i16 374, i16 883, i16 884, i16 885, i16 886, i16 14963, i16 15898, i16 0, i16 0, i16 16755, i16 0, i16 0, i16 0, i16 17011, i16 0, i16 0, i16 15514, i16 12404, i16 0, i16 0, i16 0, i16 12916, i16 0, i16 0, i16 14195, i16 16500, i16 0, i16 14290, i16 0, i16 117, i16 118, i16 119, i16 120, i16 629, i16 630, i16 631, i16 618, i16 13173, i16 0, i16 16230, i16 0, i16 13685, i16 13795, i16 16412, i16 0, i16 16245, i16 0, i16 16891, i16 0, i16 16501, i16 0, i16 0, i16 0, i16 12918, i16 0, i16 0, i16 0, i16 13686, i16 0, i16 0, i16 0, i16 13942, i16 13667, i16 0, i16 0, i16 14198, i16 12283, i16 0, i16 0, i16 14710, i16 0, i16 0, i16 0, i16 15478, i16 0, i16 15445, i16 15918, i16 16246, i16 16210, i16 13864, i16 0, i16 16758, i16 0, i16 0, i16 0, i16 375, i16 376, i16 377, i16 378, i16 887, i16 888, i16 889, i16 890, i16 12663, i16 0, i16 0, i16 0, i16 13431, i16 15482, i16 0, i16 0, i16 13687, i16 0, i16 0, i16 0, i16 15479, i16 0, i16 0, i16 0, i16 15735, i16 0, i16 14247, i16 0, i16 15991, i16 0, i16 0, i16 12861, i16 16503, i16 0, i16 0, i16 0, i16 13176, i16 0, i16 0, i16 0, i16 14456, i16 0, i16 0, i16 14707, i16 15224, i16 0, i16 0, i16 0, i16 16248, i16 0, i16 0, i16 0, i16 121, i16 122, i16 123, i16 124, i16 13689, i16 0, i16 0, i16 15343, i16 15481, i16 0, i16 15241, i16 0, i16 16761, i16 15321, i16 0, i16 0, i16 13178, i16 0, i16 16356, i16 0, i16 13946, i16 14970, i16 0, i16 0, i16 14458, i16 0, i16 0, i16 15513, i16 379, i16 380, i16 224, i16 0, i16 891, i16 892, i16 893, i16 894, i16 12923, i16 0, i16 0, i16 0, i16 14203, i16 0, i16 0, i16 0, i16 14459, i16 16609, i16 0, i16 12288, i16 14971, i16 14974, i16 14977, i16 14979, i16 15227, i16 17075, i16 14960, i16 0, i16 17019, i16 12410, i16 0, i16 0, i16 12668, i16 0, i16 12416, i16 0, i16 12924, i16 0, i16 0, i16 16146, i16 13948, i16 13979, i16 14073, i16 14121, i16 16764, i16 0, i16 0, i16 0, i16 17020, i16 0, i16 0, i16 0, i16 125, i16 126, i16 127, i16 132, i16 637, i16 638, i16 671, i16 672, i16 12925, i16 0, i16 0, i16 17153, i16 13437, i16 14216, i16 0, i16 0, i16 15997, i16 0, i16 0, i16 0, i16 16253, i16 17110, i16 16998, i16 0, i16 17021, i16 14028, i16 14602, i16 0, i16 12414, i16 0, i16 0, i16 15940, i16 13182, i16 0, i16 0, i16 0, i16 15230, i16 0, i16 0, i16 0, i16 15998, i16 13078, i16 12795, i16 0, i16 639, i16 688, i16 632, i16 0, i16 895, i16 896, i16 897, i16 898, i16 15487, i16 0, i16 16117, i16 0, i16 16511, i16 0, i16 13967, i16 0, i16 12672, i16 0, i16 0, i16 0, i16 12928, i16 0, i16 0, i16 0, i16 13952, i16 0, i16 0, i16 14693, i16 14720, i16 15363, i16 17000, i16 0, i16 15232, i16 0, i16 0, i16 14017, i16 17024, i16 0, i16 0, i16 0, i16 385, i16 386, i16 387, i16 388, i16 641, i16 680, i16 681, i16 682, i16 12673, i16 15969, i16 15810, i16 15142, i16 12929, i16 14360, i16 15168, i16 0, i16 13953, i16 17120, i16 0, i16 0, i16 15233, i16 0, i16 0, i16 0, i16 15745, i16 13371, i16 15358, i16 16608, i16 16513, i16 0, i16 0, i16 0, i16 16769, i16 0, i16 14392, i16 0, i16 17025, i16 0, i16 0, i16 0, i16 642, i16 643, i16 644, i16 645, i16 12674, i16 0, i16 13497, i16 16005, i16 13186, i16 0, i16 0, i16 0, i16 14466, i16 16629, i16 0, i16 0, i16 15746, i16 0, i16 0, i16 0, i16 131, i16 0, i16 693, i16 0, i16 899, i16 900, i16 901, i16 902, i16 13955, i16 0, i16 14350, i16 0, i16 15235, i16 14924, i16 0, i16 0, i16 16259, i16 0, i16 12776, i16 15255, i16 16771, i16 0, i16 0, i16 0, i16 17027, i16 0, i16 0, i16 0, i16 12932, i16 15535, i16 13829, i16 12760, i16 13188, i16 0, i16 0, i16 16888, i16 13444, i16 0, i16 0, i16 0, i16 14212, i16 0, i16 0, i16 15638, i16 14468, i16 0, i16 15186, i16 13221, i16 16004, i16 0, i16 0, i16 13654, i16 389, i16 390, i16 391, i16 392, i16 12933, i16 15624, i16 0, i16 0, i16 15493, i16 15494, i16 15495, i16 15496, i16 16517, i16 0, i16 12390, i16 0, i16 646, i16 647, i16 648, i16 649, i16 12678, i16 0, i16 0, i16 0, i16 13446, i16 0, i16 0, i16 0, i16 14982, i16 14983, i16 14984, i16 14986, i16 15238, i16 0, i16 14524, i16 0, i16 15750, i16 0, i16 14589, i16 0, i16 16774, i16 12986, i16 15718, i16 0, i16 903, i16 904, i16 905, i16 906, i16 13447, i16 0, i16 0, i16 0, i16 14471, i16 12595, i16 16282, i16 14959, i16 15751, i16 0, i16 14208, i16 0, i16 16263, i16 0, i16 14091, i16 0, i16 16775, i16 15669, i16 0, i16 0, i16 136, i16 348, i16 349, i16 350, i16 12424, i16 12430, i16 12447, i16 12611, i16 12680, i16 0, i16 16168, i16 0, i16 14472, i16 14429, i16 0, i16 0, i16 15240, i16 15283, i16 15323, i16 15359, i16 15752, i16 15337, i16 15932, i16 14724, i16 16264, i16 0, i16 0, i16 0, i16 16520, i16 0, i16 0, i16 0, i16 137, i16 203, i16 0, i16 0, i16 393, i16 394, i16 395, i16 396, i16 12937, i16 15537, i16 0, i16 0, i16 14217, i16 0, i16 0, i16 0, i16 16777, i16 0, i16 0, i16 0, i16 17033, i16 0, i16 15761, i16 0, i16 138, i16 139, i16 0, i16 0, i16 650, i16 651, i16 657, i16 658, i16 12682, i16 0, i16 0, i16 0, i16 12938, i16 0, i16 0, i16 0, i16 14218, i16 0, i16 0, i16 16130, i16 16778, i16 13956, i16 0, i16 0, i16 17034, i16 0, i16 13841, i16 12533, i16 907, i16 908, i16 909, i16 910, i16 12427, i16 0, i16 0, i16 0, i16 13195, i16 0, i16 16922, i16 0, i16 13707, i16 0, i16 0, i16 0, i16 14475, i16 0, i16 0, i16 0, i16 15499, i16 15502, i16 15504, i16 15510, i16 16011, i16 0, i16 0, i16 16509, i16 16779, i16 12836, i16 16582, i16 0, i16 140, i16 141, i16 0, i16 0, i16 652, i16 653, i16 654, i16 655, i16 12684, i16 0, i16 0, i16 0, i16 13452, i16 12433, i16 0, i16 0, i16 13708, i16 0, i16 14987, i16 0, i16 13964, i16 0, i16 15770, i16 16631, i16 14988, i16 14989, i16 14990, i16 14993, i16 15500, i16 0, i16 0, i16 0, i16 15756, i16 17160, i16 0, i16 0, i16 16012, i16 0, i16 0, i16 0, i16 16780, i16 14427, i16 14651, i16 16249, i16 397, i16 398, i16 399, i16 400, i16 14733, i16 15528, i16 0, i16 0, i16 15245, i16 16145, i16 12910, i16 15246, i16 142, i16 143, i16 0, i16 0, i16 12686, i16 0, i16 0, i16 0, i16 16270, i16 15176, i16 16407, i16 0, i16 911, i16 912, i16 913, i16 914, i16 12687, i16 0, i16 0, i16 0, i16 13455, i16 13547, i16 13572, i16 13917, i16 15759, i16 0, i16 0, i16 0, i16 16527, i16 13808, i16 0, i16 12337, i16 144, i16 145, i16 146, i16 147, i16 656, i16 0, i16 0, i16 0, i16 13200, i16 0, i16 0, i16 14170, i16 13456, i16 0, i16 0, i16 0, i16 401, i16 402, i16 403, i16 404, i16 12945, i16 13998, i16 0, i16 0, i16 13457, i16 16256, i16 0, i16 16553, i16 13969, i16 13521, i16 0, i16 0, i16 15505, i16 0, i16 0, i16 0, i16 12434, i16 0, i16 15058, i16 13539, i16 12690, i16 14684, i16 12987, i16 16033, i16 14482, i16 0, i16 0, i16 0, i16 15250, i16 0, i16 0, i16 0, i16 15762, i16 14596, i16 16510, i16 0, i16 16274, i16 13878, i16 0, i16 0, i16 16530, i16 0, i16 0, i16 13211, i16 659, i16 660, i16 661, i16 662, i16 915, i16 916, i16 917, i16 918, i16 13971, i16 0, i16 12440, i16 0, i16 14739, i16 0, i16 0, i16 0, i16 14995, i16 14996, i16 14999, i16 15000, i16 15507, i16 14598, i16 14237, i16 15914, i16 15763, i16 15390, i16 12379, i16 14705, i16 16275, i16 0, i16 0, i16 0, i16 148, i16 149, i16 150, i16 151, i16 13460, i16 0, i16 16753, i16 15034, i16 13716, i16 13717, i16 15801, i16 0, i16 14484, i16 13903, i16 14323, i16 0, i16 15764, i16 0, i16 15835, i16 0, i16 16276, i16 16223, i16 0, i16 0, i16 405, i16 406, i16 407, i16 408, i16 12437, i16 0, i16 0, i16 13759, i16 13461, i16 0, i16 0, i16 0, i16 15253, i16 0, i16 0, i16 0, i16 14486, i16 15451, i16 0, i16 16104, i16 663, i16 664, i16 665, i16 666, i16 919, i16 920, i16 921, i16 922, i16 13207, i16 0, i16 0, i16 15529, i16 13719, i16 12365, i16 16469, i16 15002, i16 14231, i16 12961, i16 0, i16 0, i16 14743, i16 0, i16 0, i16 0, i16 15511, i16 15515, i16 15516, i16 15519, i16 15767, i16 14614, i16 0, i16 13954, i16 152, i16 153, i16 0, i16 199, i16 12952, i16 0, i16 0, i16 0, i16 13208, i16 0, i16 0, i16 0, i16 14232, i16 0, i16 0, i16 0, i16 15256, i16 13725, i16 0, i16 16406, i16 16792, i16 0, i16 12502, i16 0, i16 17048, i16 0, i16 16613, i16 0, i16 409, i16 410, i16 411, i16 412, i16 12697, i16 0, i16 0, i16 0, i16 13465, i16 0, i16 15265, i16 16948, i16 14489, i16 0, i16 12306, i16 0, i16 15001, i16 15003, i16 15009, i16 15014, i16 12442, i16 13226, i16 0, i16 14226, i16 12698, i16 15313, i16 0, i16 17014, i16 15258, i16 0, i16 0, i16 0, i16 16538, i16 13681, i16 16557, i16 0, i16 667, i16 612, i16 613, i16 614, i16 923, i16 924, i16 925, i16 926, i16 12443, i16 16521, i16 0, i16 16894, i16 16539, i16 16116, i16 14202, i16 15247, i16 16795, i16 16796, i16 16864, i16 16991, i16 17052, i16 0, i16 0, i16 0, i16 157, i16 177, i16 0, i16 0, i16 413, i16 414, i16 415, i16 416, i16 669, i16 670, i16 285, i16 687, i16 12957, i16 0, i16 12393, i16 0, i16 13213, i16 0, i16 13510, i16 0, i16 15005, i16 0, i16 0, i16 0, i16 15517, i16 0, i16 0, i16 0, i16 16541, i16 15492, i16 0, i16 0, i16 158, i16 159, i16 0, i16 0, i16 12702, i16 16396, i16 16565, i16 0, i16 13726, i16 0, i16 15904, i16 0, i16 15006, i16 0, i16 0, i16 13595, i16 15518, i16 0, i16 0, i16 0, i16 927, i16 928, i16 929, i16 930, i16 13983, i16 0, i16 0, i16 0, i16 16287, i16 0, i16 0, i16 0, i16 17055, i16 0, i16 0, i16 0, i16 13472, i16 14810, i16 14523, i16 0, i16 15520, i16 15531, i16 15539, i16 15540, i16 16544, i16 0, i16 12913, i16 0, i16 161, i16 205, i16 0, i16 0, i16 417, i16 418, i16 419, i16 420, i16 673, i16 633, i16 634, i16 635, i16 13729, i16 14746, i16 0, i16 15579, i16 14497, i16 0, i16 0, i16 13296, i16 16545, i16 0, i16 0, i16 15030, i16 162, i16 154, i16 868, i16 869, i16 12450, i16 0, i16 0, i16 0, i16 13218, i16 16234, i16 0, i16 0, i16 13474, i16 0, i16 15986, i16 0, i16 931, i16 932, i16 933, i16 934, i16 12963, i16 16061, i16 0, i16 0, i16 13731, i16 14781, i16 15351, i16 0, i16 14243, i16 0, i16 0, i16 0, i16 17059, i16 15542, i16 13128, i16 0, i16 13476, i16 0, i16 0, i16 0, i16 13732, i16 0, i16 0, i16 15733, i16 15524, i16 0, i16 13441, i16 0, i16 16548, i16 16337, i16 0, i16 13756, i16 17060, i16 0, i16 0, i16 0, i16 421, i16 422, i16 423, i16 424, i16 12709, i16 0, i16 0, i16 0, i16 13733, i16 0, i16 0, i16 0, i16 13989, i16 0, i16 0, i16 0, i16 14501, i16 0, i16 0, i16 15771, i16 15013, i16 0, i16 13401, i16 13158, i16 15525, i16 0, i16 0, i16 0, i16 16805, i16 15459, i16 15096, i16 13761, i16 17061, i16 0, i16 14417, i16 0, i16 12966, i16 0, i16 15984, i16 0, i16 13734, i16 0, i16 13803, i16 13637, i16 14246, i16 0, i16 14315, i16 0, i16 16038, i16 0, i16 0, i16 14842, i16 16550, i16 12792, i16 0, i16 0, i16 17062, i16 0, i16 0, i16 15604, i16 167, i16 168, i16 218, i16 381, i16 935, i16 936, i16 937, i16 938, i16 13735, i16 0, i16 13742, i16 13171, i16 14759, i16 16681, i16 0, i16 13892, i16 15271, i16 15272, i16 14418, i16 0, i16 12968, i16 0, i16 14867, i16 0, i16 16040, i16 0, i16 16175, i16 0, i16 16552, i16 16563, i16 16665, i16 16686, i16 425, i16 426, i16 427, i16 428, i16 13225, i16 15942, i16 13512, i16 0, i16 13481, i16 0, i16 0, i16 0, i16 15017, i16 15018, i16 15020, i16 15021, i16 15785, i16 0, i16 0, i16 16662, i16 16297, i16 0, i16 0, i16 0, i16 12714, i16 0, i16 12438, i16 16242, i16 14250, i16 16679, i16 14694, i16 0, i16 15530, i16 15333, i16 0, i16 0, i16 16298, i16 15512, i16 0, i16 13777, i16 16554, i16 0, i16 0, i16 13450, i16 171, i16 0, i16 170, i16 0, i16 683, i16 676, i16 677, i16 678, i16 939, i16 940, i16 941, i16 942, i16 12459, i16 16235, i16 0, i16 0, i16 12715, i16 0, i16 0, i16 0, i16 12971, i16 0, i16 0, i16 0, i16 13227, i16 0, i16 0, i16 0, i16 15787, i16 0, i16 0, i16 0, i16 17067, i16 0, i16 0, i16 0, i16 172, i16 0, i16 0, i16 0, i16 12972, i16 0, i16 0, i16 15139, i16 13228, i16 0, i16 0, i16 0, i16 14508, i16 0, i16 13704, i16 0, i16 16044, i16 0, i16 0, i16 0, i16 16556, i16 0, i16 0, i16 0, i16 429, i16 430, i16 431, i16 432, i16 685, i16 0, i16 0, i16 686, i16 13485, i16 0, i16 0, i16 0, i16 13997, i16 0, i16 0, i16 0, i16 14509, i16 13175, i16 16316, i16 0, i16 15533, i16 0, i16 0, i16 0, i16 15789, i16 17036, i16 0, i16 0, i16 16045, i16 0, i16 16600, i16 0, i16 16301, i16 0, i16 15820, i16 12844, i16 12718, i16 16063, i16 12914, i16 14117, i16 12974, i16 0, i16 16705, i16 0, i16 13230, i16 0, i16 15623, i16 13677, i16 14766, i16 0, i16 0, i16 0, i16 15022, i16 0, i16 13436, i16 0, i16 15278, i16 0, i16 14272, i16 0, i16 16302, i16 14904, i16 16258, i16 16283, i16 16558, i16 16824, i16 0, i16 0, i16 943, i16 944, i16 945, i16 946, i16 14255, i16 16131, i16 0, i16 13355, i16 15791, i16 0, i16 0, i16 0, i16 16815, i16 0, i16 0, i16 0, i16 17071, i16 0, i16 0, i16 0, i16 13488, i16 0, i16 0, i16 0, i16 14768, i16 0, i16 14039, i16 0, i16 15024, i16 15039, i16 15041, i16 15046, i16 433, i16 434, i16 435, i16 436, i16 689, i16 684, i16 0, i16 0, i16 12465, i16 13274, i16 0, i16 13752, i16 12721, i16 16798, i16 14932, i16 0, i16 12977, i16 0, i16 12908, i16 0, i16 14257, i16 14133, i16 0, i16 0, i16 15025, i16 0, i16 0, i16 0, i16 16817, i16 12884, i16 0, i16 0, i16 12466, i16 16789, i16 12563, i16 13222, i16 13234, i16 0, i16 0, i16 0, i16 15794, i16 0, i16 0, i16 0, i16 947, i16 948, i16 949, i16 950, i16 12723, i16 0, i16 0, i16 0, i16 14771, i16 0, i16 13435, i16 0, i16 16051, i16 15890, i16 0, i16 0, i16 16819, i16 12329, i16 0, i16 17001, i16 692, i16 0, i16 0, i16 0, i16 12724, i16 0, i16 13132, i16 0, i16 15796, i16 0, i16 0, i16 0, i16 16308, i16 16502, i16 16504, i16 16536, i16 437, i16 438, i16 439, i16 440, i16 12725, i16 0, i16 0, i16 0, i16 13493, i16 0, i16 0, i16 0, i16 14005, i16 0, i16 0, i16 0, i16 15029, i16 0, i16 0, i16 0, i16 12726, i16 0, i16 15184, i16 0, i16 13238, i16 16154, i16 16911, i16 0, i16 14006, i16 0, i16 0, i16 0, i16 14774, i16 0, i16 0, i16 0, i16 15286, i16 0, i16 0, i16 0, i16 16822, i16 14980, i16 0, i16 0, i16 17078, i16 0, i16 0, i16 0, i16 951, i16 952, i16 953, i16 954, i16 12471, i16 0, i16 0, i16 12778, i16 13751, i16 0, i16 16204, i16 0, i16 14519, i16 0, i16 0, i16 0, i16 14775, i16 0, i16 0, i16 0, i16 15543, i16 15546, i16 15549, i16 15550, i16 12472, i16 16606, i16 14284, i16 0, i16 13240, i16 12549, i16 0, i16 13294, i16 15288, i16 0, i16 0, i16 0, i16 16056, i16 0, i16 0, i16 0, i16 441, i16 442, i16 443, i16 444, i16 12473, i16 0, i16 0, i16 0, i16 14521, i16 14717, i16 14727, i16 14735, i16 15289, i16 12888, i16 0, i16 16378, i16 16313, i16 13827, i16 0, i16 14976, i16 16569, i16 16206, i16 0, i16 0, i16 698, i16 0, i16 0, i16 0, i16 14266, i16 0, i16 0, i16 0, i16 14778, i16 0, i16 0, i16 0, i16 16058, i16 0, i16 0, i16 0, i16 955, i16 956, i16 957, i16 958, i16 14267, i16 0, i16 0, i16 0, i16 12988, i16 0, i16 0, i16 0, i16 14268, i16 0, i16 13468, i16 0, i16 15036, i16 0, i16 0, i16 0, i16 16572, i16 14518, i16 12691, i16 13239, i16 189, i16 188, i16 0, i16 253, i16 445, i16 446, i16 447, i16 448, i16 12477, i16 15331, i16 0, i16 0, i16 13245, i16 0, i16 0, i16 0, i16 13757, i16 0, i16 0, i16 14374, i16 14525, i16 0, i16 13038, i16 0, i16 16317, i16 0, i16 0, i16 0, i16 17085, i16 0, i16 15086, i16 0, i16 15038, i16 0, i16 17064, i16 0, i16 15806, i16 0, i16 0, i16 0, i16 16574, i16 0, i16 0, i16 0, i16 14783, i16 0, i16 0, i16 0, i16 15551, i16 15803, i16 0, i16 16468, i16 704, i16 705, i16 706, i16 707, i16 13248, i16 14745, i16 0, i16 15254, i16 13504, i16 0, i16 0, i16 0, i16 14016, i16 15498, i16 16826, i16 0, i16 15808, i16 0, i16 12581, i16 0, i16 16320, i16 0, i16 0, i16 0, i16 16576, i16 0, i16 0, i16 0, i16 193, i16 192, i16 0, i16 0, i16 449, i16 450, i16 451, i16 452, i16 12481, i16 15674, i16 0, i16 0, i16 12737, i16 0, i16 0, i16 16125, i16 12993, i16 12996, i16 12999, i16 13000, i16 13505, i16 12448, i16 0, i16 16713, i16 15297, i16 15282, i16 16915, i16 0, i16 16321, i16 0, i16 0, i16 0, i16 17089, i16 0, i16 0, i16 0, i16 962, i16 963, i16 964, i16 965, i16 12482, i16 0, i16 0, i16 0, i16 12994, i16 0, i16 0, i16 14948, i16 13250, i16 0, i16 17056, i16 0, i16 15042, i16 0, i16 0, i16 0, i16 16322, i16 0, i16 0, i16 0, i16 195, i16 196, i16 194, i16 197, i16 12483, i16 16508, i16 13428, i16 13090, i16 14019, i16 15663, i16 0, i16 14242, i16 15043, i16 0, i16 15522, i16 0, i16 15299, i16 14752, i16 16138, i16 12614, i16 15811, i16 0, i16 0, i16 0, i16 708, i16 709, i16 710, i16 711, i16 12484, i16 0, i16 13845, i16 0, i16 13508, i16 12695, i16 0, i16 0, i16 453, i16 454, i16 455, i16 456, i16 13253, i16 0, i16 0, i16 0, i16 13765, i16 0, i16 0, i16 12940, i16 14021, i16 0, i16 0, i16 0, i16 14789, i16 0, i16 12336, i16 0, i16 15557, i16 0, i16 0, i16 0, i16 16069, i16 0, i16 14166, i16 0, i16 198, i16 271, i16 274, i16 272, i16 966, i16 967, i16 968, i16 969, i16 12486, i16 15292, i16 0, i16 0, i16 14022, i16 12548, i16 0, i16 0, i16 14534, i16 14770, i16 0, i16 14512, i16 14790, i16 0, i16 0, i16 0, i16 15558, i16 0, i16 0, i16 0, i16 16070, i16 15545, i16 0, i16 0, i16 13255, i16 0, i16 0, i16 0, i16 15047, i16 15051, i16 15053, i16 15055, i16 16071, i16 16132, i16 16153, i16 16237, i16 712, i16 713, i16 714, i16 715, i16 14280, i16 0, i16 15295, i16 0, i16 14536, i16 0, i16 0, i16 0, i16 16072, i16 16419, i16 0, i16 15427, i16 17096, i16 0, i16 0, i16 0, i16 457, i16 458, i16 459, i16 460, i16 12489, i16 0, i16 0, i16 13963, i16 13001, i16 13002, i16 13003, i16 13004, i16 14025, i16 0, i16 0, i16 0, i16 14793, i16 16370, i16 0, i16 0, i16 15049, i16 0, i16 14621, i16 15073, i16 15561, i16 0, i16 0, i16 15636, i16 16585, i16 0, i16 0, i16 16785, i16 970, i16 971, i16 972, i16 973, i16 12490, i16 0, i16 0, i16 0, i16 12746, i16 13990, i16 0, i16 0, i16 14026, i16 0, i16 13980, i16 0, i16 15818, i16 15722, i16 0, i16 14075, i16 17098, i16 0, i16 0, i16 0, i16 14795, i16 0, i16 0, i16 0, i16 15307, i16 0, i16 0, i16 0, i16 15819, i16 0, i16 0, i16 15927, i16 16075, i16 0, i16 0, i16 0, i16 716, i16 717, i16 718, i16 719, i16 14796, i16 0, i16 16022, i16 0, i16 15052, i16 0, i16 13418, i16 12665, i16 16844, i16 0, i16 0, i16 0, i16 461, i16 462, i16 463, i16 464, i16 13261, i16 0, i16 0, i16 0, i16 14541, i16 13220, i16 0, i16 0, i16 15309, i16 0, i16 12712, i16 0, i16 15565, i16 15566, i16 15568, i16 15573, i16 15821, i16 0, i16 16052, i16 0, i16 17101, i16 0, i16 0, i16 0, i16 974, i16 975, i16 976, i16 977, i16 13006, i16 13007, i16 13008, i16 13009, i16 13518, i16 0, i16 0, i16 14415, i16 14542, i16 0, i16 0, i16 0, i16 16078, i16 14393, i16 0, i16 0, i16 207, i16 0, i16 235, i16 0, i16 12495, i16 0, i16 0, i16 16950, i16 13519, i16 0, i16 0, i16 0, i16 15311, i16 0, i16 14830, i16 14282, i16 15567, i16 0, i16 0, i16 16619, i16 15823, i16 0, i16 0, i16 16027, i16 16847, i16 0, i16 0, i16 14496, i16 17103, i16 17115, i16 0, i16 0, i16 208, i16 0, i16 0, i16 209, i16 720, i16 721, i16 722, i16 723, i16 14544, i16 0, i16 0, i16 0, i16 15056, i16 15059, i16 15071, i16 15076, i16 16336, i16 0, i16 0, i16 0, i16 16592, i16 15685, i16 0, i16 0, i16 16848, i16 0, i16 13214, i16 0, i16 17104, i16 14273, i16 14711, i16 0, i16 465, i16 466, i16 467, i16 468, i16 12753, i16 14734, i16 0, i16 16252, i16 14033, i16 0, i16 0, i16 15601, i16 16081, i16 0, i16 0, i16 0, i16 978, i16 979, i16 980, i16 981, i16 13010, i16 13012, i16 13013, i16 13014, i16 15826, i16 16028, i16 12772, i16 0, i16 16594, i16 0, i16 0, i16 0, i16 16850, i16 0, i16 16189, i16 0, i16 17106, i16 0, i16 0, i16 12294, i16 14547, i16 0, i16 0, i16 14190, i16 15315, i16 0, i16 0, i16 0, i16 15827, i16 0, i16 0, i16 12830, i16 724, i16 725, i16 726, i16 727, i16 12500, i16 0, i16 0, i16 16134, i16 13524, i16 0, i16 0, i16 0, i16 13780, i16 13256, i16 0, i16 0, i16 14804, i16 16701, i16 0, i16 0, i16 15060, i16 0, i16 12324, i16 0, i16 15316, i16 0, i16 15341, i16 0, i16 15572, i16 0, i16 0, i16 14646, i16 15828, i16 0, i16 13541, i16 15450, i16 469, i16 470, i16 471, i16 472, i16 12501, i16 0, i16 0, i16 0, i16 12757, i16 0, i16 0, i16 14292, i16 13269, i16 0, i16 0, i16 0, i16 13781, i16 0, i16 0, i16 13202, i16 14293, i16 0, i16 0, i16 14850, i16 982, i16 983, i16 984, i16 985, i16 13526, i16 12773, i16 0, i16 13700, i16 15574, i16 15575, i16 15650, i16 15725, i16 16854, i16 0, i16 15593, i16 14511, i16 13015, i16 13017, i16 13019, i16 13020, i16 14295, i16 0, i16 0, i16 0, i16 16599, i16 13986, i16 0, i16 0, i16 728, i16 729, i16 730, i16 731, i16 12504, i16 0, i16 0, i16 0, i16 13272, i16 13695, i16 17084, i16 13561, i16 14040, i16 16182, i16 16408, i16 0, i16 14296, i16 0, i16 0, i16 0, i16 14552, i16 0, i16 13151, i16 16838, i16 217, i16 215, i16 214, i16 206, i16 473, i16 474, i16 475, i16 0, i16 13529, i16 0, i16 15231, i16 0, i16 16089, i16 0, i16 16543, i16 0, i16 986, i16 987, i16 988, i16 989, i16 12762, i16 0, i16 0, i16 12667, i16 14042, i16 0, i16 14899, i16 0, i16 14298, i16 0, i16 0, i16 0, i16 15322, i16 14491, i16 0, i16 12496, i16 16602, i16 0, i16 0, i16 0, i16 12763, i16 0, i16 0, i16 15467, i16 13275, i16 14301, i16 0, i16 17006, i16 13531, i16 0, i16 14555, i16 0, i16 220, i16 0, i16 0, i16 0, i16 476, i16 477, i16 478, i16 479, i16 732, i16 733, i16 734, i16 735, i16 12764, i16 15934, i16 0, i16 16323, i16 14812, i16 12878, i16 0, i16 15877, i16 15580, i16 14196, i16 16484, i16 15632, i16 221, i16 0, i16 175, i16 222, i16 12509, i16 0, i16 0, i16 0, i16 13533, i16 0, i16 0, i16 0, i16 14557, i16 14233, i16 0, i16 0, i16 14813, i16 0, i16 0, i16 0, i16 15325, i16 0, i16 15780, i16 0, i16 16093, i16 16897, i16 13603, i16 0, i16 16349, i16 0, i16 14054, i16 14713, i16 990, i16 991, i16 992, i16 993, i16 12510, i16 15805, i16 13369, i16 0, i16 12766, i16 0, i16 0, i16 0, i16 13022, i16 13026, i16 13030, i16 13032, i16 13278, i16 14015, i16 13585, i16 0, i16 14046, i16 0, i16 0, i16 0, i16 14814, i16 0, i16 0, i16 0, i16 15582, i16 0, i16 0, i16 16043, i16 16350, i16 0, i16 0, i16 0, i16 223, i16 0, i16 268, i16 128, i16 13279, i16 15703, i16 16122, i16 0, i16 14303, i16 0, i16 0, i16 13160, i16 14815, i16 0, i16 0, i16 14647, i16 15327, i16 15373, i16 0, i16 14127, i16 16351, i16 0, i16 14211, i16 0, i16 480, i16 481, i16 482, i16 483, i16 736, i16 737, i16 738, i16 739, i16 13792, i16 0, i16 0, i16 14426, i16 15072, i16 15398, i16 0, i16 0, i16 12769, i16 0, i16 0, i16 0, i16 13537, i16 0, i16 0, i16 0, i16 14305, i16 0, i16 0, i16 0, i16 15585, i16 16868, i16 0, i16 0, i16 226, i16 229, i16 228, i16 231, i16 994, i16 995, i16 996, i16 997, i16 13282, i16 0, i16 0, i16 0, i16 14306, i16 0, i16 12700, i16 0, i16 14562, i16 15395, i16 0, i16 0, i16 16354, i16 0, i16 14249, i16 0, i16 16610, i16 0, i16 0, i16 13023, i16 12771, i16 0, i16 0, i16 0, i16 14307, i16 0, i16 0, i16 0, i16 15587, i16 17070, i16 0, i16 13673, i16 484, i16 485, i16 0, i16 0, i16 740, i16 741, i16 742, i16 743, i16 13028, i16 15378, i16 15379, i16 13805, i16 16612, i16 0, i16 14204, i16 16080, i16 13285, i16 0, i16 0, i16 0, i16 14053, i16 0, i16 13415, i16 0, i16 15589, i16 0, i16 12505, i16 16542, i16 16869, i16 0, i16 12780, i16 0, i16 17125, i16 16445, i16 0, i16 0, i16 230, i16 867, i16 700, i16 0, i16 486, i16 487, i16 488, i16 489, i16 998, i16 999, i16 1000, i16 1001, i16 12518, i16 0, i16 0, i16 0, i16 12774, i16 0, i16 0, i16 0, i16 13542, i16 0, i16 12967, i16 16522, i16 14310, i16 17148, i16 0, i16 0, i16 14822, i16 0, i16 0, i16 0, i16 15078, i16 15095, i16 15173, i16 15174, i16 16358, i16 0, i16 0, i16 13564, i16 16870, i16 0, i16 0, i16 0, i16 13287, i16 0, i16 12943, i16 14498, i16 14567, i16 0, i16 0, i16 0, i16 15335, i16 0, i16 0, i16 0, i16 17127, i16 15461, i16 13470, i16 0, i16 744, i16 745, i16 746, i16 747, i16 14312, i16 0, i16 0, i16 0, i16 15080, i16 15157, i16 13874, i16 13265, i16 16360, i16 0, i16 0, i16 0, i16 16872, i16 0, i16 0, i16 0, i16 13033, i16 13034, i16 13036, i16 13037, i16 13289, i16 12536, i16 0, i16 16564, i16 13545, i16 0, i16 0, i16 15443, i16 13801, i16 0, i16 13620, i16 0, i16 15081, i16 15804, i16 0, i16 0, i16 15849, i16 0, i16 0, i16 0, i16 16617, i16 0, i16 0, i16 0, i16 16873, i16 14697, i16 0, i16 0, i16 234, i16 0, i16 0, i16 0, i16 490, i16 491, i16 492, i16 493, i16 1002, i16 1003, i16 1004, i16 1005, i16 15338, i16 0, i16 0, i16 0, i16 16362, i16 0, i16 14446, i16 15234, i16 16874, i16 0, i16 0, i16 13025, i16 17130, i16 0, i16 0, i16 0, i16 12523, i16 0, i16 13760, i16 0, i16 14059, i16 14375, i16 0, i16 0, i16 14571, i16 0, i16 12662, i16 0, i16 15339, i16 14340, i16 0, i16 0, i16 15851, i16 0, i16 0, i16 16883, i16 748, i16 749, i16 750, i16 751, i16 14316, i16 0, i16 16739, i16 0, i16 14572, i16 0, i16 16192, i16 14871, i16 14828, i16 0, i16 0, i16 0, i16 15852, i16 12976, i16 15777, i16 0, i16 17132, i16 0, i16 0, i16 0, i16 12525, i16 14854, i16 0, i16 0, i16 14573, i16 14036, i16 0, i16 14037, i16 15085, i16 17109, i16 13852, i16 0, i16 16109, i16 15216, i16 13094, i16 0, i16 238, i16 0, i16 0, i16 179, i16 494, i16 495, i16 0, i16 0, i16 1006, i16 1007, i16 1008, i16 1009, i16 13806, i16 15676, i16 16961, i16 0, i16 16366, i16 15218, i16 0, i16 0, i16 12783, i16 0, i16 15396, i16 0, i16 13551, i16 15458, i16 17151, i16 0, i16 13807, i16 0, i16 0, i16 0, i16 14831, i16 0, i16 0, i16 0, i16 15855, i16 0, i16 14172, i16 0, i16 16367, i16 0, i16 14806, i16 12387, i16 240, i16 0, i16 163, i16 164, i16 752, i16 753, i16 754, i16 755, i16 12528, i16 0, i16 0, i16 12349, i16 13040, i16 0, i16 0, i16 15092, i16 13552, i16 13270, i16 0, i16 0, i16 14576, i16 0, i16 0, i16 0, i16 15600, i16 0, i16 0, i16 13650, i16 16368, i16 0, i16 0, i16 17051, i16 17136, i16 15591, i16 12699, i16 0, i16 13041, i16 13042, i16 13043, i16 13044, i16 13297, i16 0, i16 14164, i16 0, i16 14065, i16 0, i16 0, i16 0, i16 14321, i16 14328, i16 14431, i16 14457, i16 16369, i16 0, i16 16030, i16 16833, i16 16625, i16 0, i16 0, i16 0, i16 242, i16 241, i16 0, i16 0, i16 1010, i16 1011, i16 1012, i16 1013, i16 13554, i16 0, i16 0, i16 16702, i16 14066, i16 0, i16 0, i16 0, i16 14834, i16 14837, i16 14838, i16 14845, i16 499, i16 500, i16 501, i16 502, i16 16115, i16 0, i16 13362, i16 0, i16 16371, i16 14903, i16 15888, i16 0, i16 756, i16 757, i16 0, i16 0, i16 15860, i16 0, i16 0, i16 0, i16 16884, i16 0, i16 0, i16 0, i16 245, i16 248, i16 0, i16 249, i16 12789, i16 14319, i16 0, i16 0, i16 13045, i16 13047, i16 13052, i16 13064, i16 14581, i16 0, i16 16841, i16 0, i16 15093, i16 15181, i16 14721, i16 13061, i16 15605, i16 15130, i16 15715, i16 0, i16 15861, i16 0, i16 0, i16 14946, i16 16373, i16 15027, i16 0, i16 0, i16 16885, i16 0, i16 0, i16 16823, i16 246, i16 247, i16 0, i16 250, i16 758, i16 759, i16 760, i16 761, i16 1014, i16 1015, i16 1016, i16 1017, i16 12790, i16 0, i16 0, i16 0, i16 15350, i16 13930, i16 0, i16 0, i16 15606, i16 0, i16 0, i16 0, i16 16886, i16 16410, i16 15882, i16 17128, i16 17142, i16 16149, i16 0, i16 17135, i16 503, i16 504, i16 505, i16 506, i16 13815, i16 0, i16 0, i16 0, i16 14071, i16 0, i16 0, i16 0, i16 14583, i16 0, i16 0, i16 0, i16 14839, i16 16973, i16 15261, i16 17140, i16 13560, i16 0, i16 17083, i16 0, i16 14072, i16 0, i16 0, i16 0, i16 14584, i16 0, i16 15281, i16 0, i16 15608, i16 0, i16 0, i16 0, i16 15864, i16 16748, i16 0, i16 0, i16 16632, i16 15150, i16 0, i16 0, i16 12537, i16 0, i16 0, i16 14973, i16 12793, i16 14630, i16 15850, i16 0, i16 13049, i16 14043, i16 0, i16 0, i16 13305, i16 13263, i16 0, i16 0, i16 15865, i16 0, i16 0, i16 0, i16 17145, i16 16421, i16 0, i16 13784, i16 762, i16 763, i16 764, i16 765, i16 1018, i16 1019, i16 1020, i16 1021, i16 12538, i16 0, i16 0, i16 12960, i16 13050, i16 15974, i16 0, i16 13523, i16 15610, i16 0, i16 0, i16 0, i16 17146, i16 0, i16 0, i16 0, i16 507, i16 508, i16 509, i16 510, i16 13051, i16 0, i16 0, i16 0, i16 15099, i16 17005, i16 17050, i16 16925, i16 15611, i16 15678, i16 0, i16 0, i16 252, i16 0, i16 0, i16 183, i16 13308, i16 14843, i16 0, i16 0, i16 14332, i16 14758, i16 0, i16 0, i16 14588, i16 0, i16 16420, i16 14528, i16 15612, i16 15795, i16 0, i16 0, i16 13309, i16 0, i16 0, i16 0, i16 15869, i16 13439, i16 0, i16 0, i16 16381, i16 0, i16 0, i16 0, i16 16893, i16 14522, i16 0, i16 0, i16 17149, i16 0, i16 12785, i16 0, i16 254, i16 255, i16 0, i16 0, i16 766, i16 767, i16 768, i16 769, i16 1022, i16 1023, i16 1024, i16 1025, i16 13054, i16 0, i16 0, i16 13994, i16 13566, i16 0, i16 0, i16 0, i16 13822, i16 13259, i16 0, i16 15098, i16 511, i16 512, i16 0, i16 513, i16 12287, i16 0, i16 0, i16 13421, i16 12799, i16 0, i16 0, i16 0, i16 13311, i16 0, i16 0, i16 0, i16 13567, i16 0, i16 14077, i16 0, i16 14335, i16 12521, i16 13217, i16 0, i16 14591, i16 15619, i16 0, i16 0, i16 14847, i16 14848, i16 14856, i16 14866], [6 x i8] c"\0A\03\162\00\04", [24 x i64] [i64 48508, i64 48528, i64 48548, i64 14648, i64 48588, i64 48634, i64 48640, i64 14699, i64 48670, i64 52564, i64 52608, i64 14727, i64 53422, i64 61672, i64 61772, i64 16373, i64 0, i64 0, i64 0, i64 0, i64 68630, i64 69002, i64 69010, i64 44726], [2826 x i8] c"\00\00\01\00\00\00\00\00\00\01\00\08\00\01\01\01e\01\01\02\02\00\01\01\01e\01\02\00\02\00\02\02\02d\02\03\00\12\00\02\03\03c\03\03\02\02\00\02\04\04c\04\04\00\12\00\02\05\05b\03\04\02\02\00\02\06\06b\04\05\00\12\00\02\07\05a\03\05\02\02\00\02\08\06a\04\06\00\12\00\02\09\05`\03\06\02\02\00\02\0A\06`\04\07\00\02\00\03\0B\07_\05\08\00\12\00\02\0C\05^\03\08\02\02\00\02\0D\06^\04\09\00\12\00\02\0E\08]\03\09\02\02\00\02\0F\09]\04\0A\00\12\00\02\10\05\\\03\0A\02\02\00\02\11\06\\\04\0B\00\12\00\02\12\08[\03\0B\02\02\00\02\13\09[\04\0C\00\12\00\02\14\05Z\03\0C\02\02\00\02\15\06Z\04\0D\00\12\00\02\16\05Y\03\0D\02\02\00\02\17\06Y\04\0E\00\12\00\02\18\05X\03\0E\02\02\00\02\19\06X\04\0F\00\12\00\02\1A\05W\03\0F\02\02\00\02\1B\06W\04\10\00\12\00\00\1C\0A\8E\06\10\02\02\00\00\1D\0B\8E\07\11\00\12\00\02\1E\05V\03\11\02\02\00\02\1F\06V\04\12\00\12\00\02 \0CU\03\12\02\02\00\02!\0DU\04\13\00\12\00\02\22\05T\08\13\02\02\00\02#\06T\09\14\00\12\00\02$\05S\08\14\02\02\00\02%\06S\09\15\00\15\00\01&\0ER\0A\15\02\02\00\01&\0FR\0B\16\00\05\00\01'\10Q\0C\16\02\02\00\01(\11Q\0D\17\00\05\00\04)\12P\0E\17\02\02\00\04*\13P\0F\18\00\02\00\02+\14O\10\19\00\02\00\03,\15N\11\1A\00\08\00\05-\16M\12\1A\02\02\00\05.\16M\12\1B\00\0E\00\05/\17L\13\1B\02\02\00\05/\18L\13\1C\00\08\00\050\19\8B\14\1C\02\02\00\051\1A\8B\14\1D\00\0C\00\052\19\8B\14\1D\02\02\00\051\1A\8B\14\1E\00\0E\00\063\1B\8C\15\1E\02\02\00\074\1C\8C\15\1F\00\0B\00\025\1DK\16\1F\02\02\00\026\1DK\16 \00\08\00\017\1E\8A\17 \02\02\00\017\1F\8A\17!\00\08\00\058 J\18!\02\02\00\059!J\18\22\00\0C\00\05: J\18\22\02\02\00\059!J\18#\00\08\00\01;\22I\18#\02\02\00\01<#I\18$\00\0C\00\01=\22I\18$\02\02\00\01<#I\18%\00\08\00\08>$H\18%\02\02\00\08>%H\18&\00\08\00\01?$G\18&\02\02\00\01@%G\18'\00\0C\00\01A$G\18'\02\02\00\01@%G\18(\00\08\00\01;\22F\18(\02\02\00\01<#F\18)\00\0C\00\01=\22F\18)\02\02\00\01<#F\18*\00\13\00\09B&E\19*\02\02\00\09C'E\1A+\00\08\00\02D(D\02+\02\02\00\02D(D\02,\00\08\00\02E)C\1B,\02\02\00\02E)C\1B-\00\08\00\02F*\89\1C-\02\02\00\02F*\89\1C.\00\08\00\01G+B\1D.\02\02\00\01H+B\1D/\00\08\00\025)A\02/\02\02\00\026)A\020\00\08\00\02I,@\1E0\02\02\00\02I,@\1E1\00\08\00\02J)?\021\02\02\00\02K)?\022\00\0C\00\02L)?\022\02\02\00\02K)?\023\00\02\00\03\0B->\1E4\00\08\00\02M)=\024\02\02\00\02M)=\025\00\08\00\02N.<\1E5\02\02\00\02N.<\1E6\00\08\00\02O/;\1E6\02\02\00\02O/;\1E7\00\08\00\02P0:\027\02\02\00\02P0:\028\00\08\00\02Q)9\1B8\02\02\00\02Q)9\1B9\00\08\00\02R)8\1B9\02\02\00\02R)8\1B:\02\02\00\05S17\1F;\00\08\00\01T2\88 ;\02\02\00\01T3\88 <\00\08\00\05U2\87 <\02\02\00\05U3\87 =\00\08\00\05V2\86 =\02\02\00\05V3\86 >\00\08\00\05W2\85 >\02\02\00\05W3\85 ?\00\08\00\00X2\84 ?\02\02\00\00X3\84 @\00\08\00\00Y2\83 @\02\02\00\00Y3\83 A\00\08\00\05Z2\82 A\02\02\00\05Z3\82 B\00\08\00\05[2\81 B\02\02\00\05\\3\81 C\00\0C\00\05]2\81 C\02\02\00\05\\3\81 D\00\08\00\00^2\80 D\02\02\00\00^3\80 E\00\08\00\00_2\7F E\02\02\00\00_3\7F F\00\08\00\00`2~ F\02\02\00\00`3~ G\00\08\00\00a2} G\02\02\00\00a3} H\00\08\00\00b2| H\02\02\00\00b3| I\00\08\00\00c2{ I\02\02\00\00c3{ J\00\08\00\00d2z J\02\02\00\00d3z K\00\08\00\05e2y K\02\02\00\05e3y L\00\08\00\00f2x L\02\02\00\00g3x M\00\08\00\02P2w M\02\02\00\02P3w N\00\08\00\05h2v N\02\02\00\05h3v O\00\08\00\05i2u O\02\02\00\05i3u P\00\08\00\06j4t!P\02\02\00\07k5t!Q\00\08\00\05l66\22Q\02\02\00\05m66\22R\00\0C\00\05n66\22R\02\02\00\05m66\22S\02\02\01\0Ao75#S\00\02\01\0Ao75#T\00\08\00\01p8s$T\02\02\00\01q9s$U\00\0C\00\01r8s$U\02\02\00\01q9s$V\00\08\00\017:r%V\02\02\00\017;r%W\00\08\00\09?<4&W\02\02\00\09@=4&X\00\0C\00\09A<4&X\02\02\00\09@=4&Y\00\08\00\0Bs>q'Y\02\02\00\0Bs?q'Z\00\08\00\05>@3(Z\02\02\00\05>A3([\00\08\00\05-B2'[\02\02\00\05.C2'\\\00\0C\00\05tB2'\\\02\02\00\05.C2']\00\08\00\05-B1']\02\02\00\05.C1'^\00\0C\00\05tB1'^\02\02\00\05.C1'_\00\08\00\02JD0)_\02\02\00\02KE0)`\00\0C\00\02LD0)`\02\02\00\02KE0)a\00\0C\00\025F/\1Ba\02\02\00\026G/\1Bb\00\08\00\05lHp b\02\02\00\05mIp c\00\0C\00\05nHp c\02\02\00\05mIp d\00\08\00\025J.\1Bd\02\02\00\026J.\1Be\00\14\00\02uK-*e\02\02\00\02vL-+f\02\02\00\02wM,\02f\00\02\00\02wM,\02g\00\0E\00\05xNo,g\02\02\00\05xOo,h\00\0E\00\01yP+-h\02\02\00\01yQ+-i\00\03\00\02zR*.i\02\02\00\02{S*\10j\00\08\00\01|T)/j\02\02\00\01|T)/k\00\08\00\01}Un\18k\02\02\00\01}Vn\18l\00\08\00\0C>W(0l\02\02\00\0C>X(0m\00\08\00\05lY' m\02\02\00\05mZ' n\00\0C\00\05nY' n\02\02\00\05mZ' o\00\14\00\02uK&*o\02\02\00\02vL&+p\02\02\00\02~[\901q\00\07\00\01\7F\\%2q\02\02\00\01\80]%3r\00\08\00\017^m4r\02\02\00\017^m4s\02\02\00\02\81_\915t\00\08\00\025`$6t\02\02\00\026`$6u\00\0A\00\01\82al7u\02\02\00\01\82bl7v\00\0A\00\06\83ck%v\02\02\00\07\84dk%w\00\0A\00\02Me#8w\02\02\00\02Mf#9x\00\11\00\0D\85g\22:x\02\02\00\0D\86h\22;y\02\02\00\02\87i!\82\02\02\00\05.s\1B>\83\00\0E\00\05\90ti?\83\02\02\00\05\91ui?\84\00\08\00\05\92v\1A@\84\02\02\00\05\92w\1A@\85\00\08\00\05\93x\19@\85\02\02\00\05\94y\19@\86\00\0C\00\05\95x\19@\86\02\02\00\05\94y\19@\87\00\0E\00\05\96z\18A\87\02\02\00\05\96{\18A\88\16\16\00\01\97|\17B\88\00\11\00\01\98}\17C\88\02\02\00\01\99~\17\0D\89\00\18\00\01\9A\7F\16D\89\02\02\00\01\9B\80\16E\8A\00\02\00\01\9C\81\15F\8B\00\0E\00\06\9D\82\8DG\8B\02\02\00\07\9E\83\8DH\8C\00\0E\00\0B\9F\84hI\8C\02\02\00\0B\9F\85hI\8D\00\08\00\01\A0\86\14\02\8D\02\02\00\01\A0\87\14\02\8E\00\0E\00\05\A1\88\13J\8E\02\02\00\05\A1\89\13J\8F\00\11\00\05\A2\8A\13K\8F\02\02\00\05\A3\8B\13E\90\00\08\00\01p\8Cg\18\90\02\02\00\01q\8Dg\18\91\00\0C\00\01r\8Cg\18\91\02\02\00\01q\8Dg\18\92\00\08\00\0D\A4\8C\12\18\92\02\02\00\0D\A4\8D\12\18\93\00\02\00\03\0B\8E\11L\94\00\02\00\0E\A5\8F\10M\95\00\17\00\01\97|\0FN\95\02\02\00\01\99~\0FO\96\00\19\00\02\A6\90\8FP\96\02\02\00\02\A7\91\8FQ\97\00\02\00\02\A8\92\0E\02\98\00\02\00\02\02\93\0D\02\99\00\08\00\02\A9\94\0C\02\99\02\02\00\02\A9\94\0C\02\9A\00\15\00\00\AA\95fR\9A\02\02\00\00\AA\96fS\9B\02\02\00\01\99\97\0BT\9C\00\18\00\01\9A\98\0AU\9C\02\02\00\01\9B\99\0AV\9D\00\02\00\02\AB\9A\09W\9E\00\08\00\02\AC\9B\08X\9E\02\02\00\02\AC\9B\08X\9F\02\02\00\01\AD\9C\07\02\9F\00\02\00\01\AD\9C\07\02\A0\00\08\00\09?\9D\06Y\A0\02\02\00\09@\9E\06Y\A1\00\0C\00\09A\9D\06Y\A2\00\06\00\02\AE\9F\05Z\A2\02\02\00\02\AE\A0\05[\A3\02\02\00\02\AF\A1\04\\\A4\02\02\00\02I\A2\03\\\A5\00\02\00\02O\A3\02\1E\A6\02\02\00\02\B0\A4\01\\", [835 x i8] c"af_ZAam_ETar_AEar_BHar_DZar_EGar_INar_IQar_JOar_KWar_LBar_LYar_MAar_OMar_QAar_SAar_SDar_SYar_TNar_YEaz_AZbe_BYbg_BGbn_BDbn_INbr_FRbs_BAca_EScaeEScs_CZcy_GBda_DKde_ATdeeATde_BEdeeBEde_CHde_DEdeeDEde_LUdeeLUel_GRen_AUen_BWen_CAen_DKen_GBen_HKen_IEeneIEen_INen_NZen_PHen_SGen_USen_ZAen_ZWeo_EOes_ARes_BOes_CLes_COes_CRes_DOes_ECes_ESeseESes_GTes_HNes_MXes_NIes_PAes_PEes_PRes_PYes_SVes_USes_UYes_VEet_EEeu_ESeueESfa_IRfi_FIfieFIfo_FOfr_BEfreBEfr_CAfr_CHfr_FRfreFRfr_LUfreLUga_IEgaeIEgd_GBgl_ESgleESgv_GBhe_ILhi_INhr_HRhu_HUhy_AMid_IDis_ISit_CHit_ITiteITiw_ILja_JPka_GEkl_GLko_KRkw_GBlt_LTlv_LVmi_NZmk_MKmr_INms_MYmt_MTnl_BEnleBEnl_NLnleNLnn_NOno_NOoc_FRpl_PLpt_BRpt_PTptePTro_ROru_RUru_UAse_NOsk_SKsl_SIsq_ALsr_YUsrcYUsv_FIsveFIsv_SEta_INte_INtg_TJth_THti_ERti_ETtl_PHtr_TRtt_RUuk_UAur_PKuz_UZvi_VNwa_BEwaeBEyi_USzh_CNzh_HKzh_SGzh_TW\00\00\00\00\00", [18 x i8] c"\05eeuro\00\09ccyrillic\00", [69 x i8] c"\06\0F\1A&.9LC_CTYPE\00LC_NUMERIC\00LC_MONETARY\00LC_TIME\00LC_COLLATE\00LC_MESSAGES\00", [255 x i8] c"\18\22(/6BMYeq}\89\94\9F\AA\B5\C0\CB\D6\E1\E8\EF\F6\00ARMSCII-8\00ASCII\00CP1251\00CP1255\00GEORGIAN-PS\00ISO-8859-1\00ISO-8859-10\00ISO-8859-13\00ISO-8859-14\00ISO-8859-15\00ISO-8859-16\00ISO-8859-2\00ISO-8859-3\00ISO-8859-4\00ISO-8859-5\00ISO-8859-6\00ISO-8859-7\00ISO-8859-8\00ISO-8859-9\00KOI8-R\00KOI8-T\00KOI8-U\00TIS-620\00\00" }, align 8 +@__C_ctype_b_data = constant <{ [256 x i16], [128 x i16] }> <{ [256 x i16] [i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 8195, i16 8194, i16 8194, i16 8194, i16 8194, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 24577, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -11000, i16 -11000, i16 -11000, i16 -11000, i16 -11000, i16 -11000, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -10744, i16 -10744, i16 -10744, i16 -10744, i16 -10744, i16 -10744, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 2], [128 x i16] zeroinitializer }>, align 16 +@__C_ctype_b = global i16* bitcast (i8* getelementptr (i8, i8* bitcast (<{ [256 x i16], [128 x i16] }>* @__C_ctype_b_data to i8*), i64 256) to i16*), align 8 +@__C_ctype_tolower_data = constant [384 x i16] [i16 -128, i16 -127, i16 -126, i16 -125, i16 -124, i16 -123, i16 -122, i16 -121, i16 -120, i16 -119, i16 -118, i16 -117, i16 -116, i16 -115, i16 -114, i16 -113, i16 -112, i16 -111, i16 -110, i16 -109, i16 -108, i16 -107, i16 -106, i16 -105, i16 -104, i16 -103, i16 -102, i16 -101, i16 -100, i16 -99, i16 -98, i16 -97, i16 -96, i16 -95, i16 -94, i16 -93, i16 -92, i16 -91, i16 -90, i16 -89, i16 -88, i16 -87, i16 -86, i16 -85, i16 -84, i16 -83, i16 -82, i16 -81, i16 -80, i16 -79, i16 -78, i16 -77, i16 -76, i16 -75, i16 -74, i16 -73, i16 -72, i16 -71, i16 -70, i16 -69, i16 -68, i16 -67, i16 -66, i16 -65, i16 -64, i16 -63, i16 -62, i16 -61, i16 -60, i16 -59, i16 -58, i16 -57, i16 -56, i16 -55, i16 -54, i16 -53, i16 -52, i16 -51, i16 -50, i16 -49, i16 -48, i16 -47, i16 -46, i16 -45, i16 -44, i16 -43, i16 -42, i16 -41, i16 -40, i16 -39, i16 -38, i16 -37, i16 -36, i16 -35, i16 -34, i16 -33, i16 -32, i16 -31, i16 -30, i16 -29, i16 -28, i16 -27, i16 -26, i16 -25, i16 -24, i16 -23, i16 -22, i16 -21, i16 -20, i16 -19, i16 -18, i16 -17, i16 -16, i16 -15, i16 -14, i16 -13, i16 -12, i16 -11, i16 -10, i16 -9, i16 -8, i16 -7, i16 -6, i16 -5, i16 -4, i16 -3, i16 -2, i16 -1, i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255], align 16 +@__C_ctype_tolower = global i16* bitcast (i8* getelementptr (i8, i8* bitcast ([384 x i16]* @__C_ctype_tolower_data to i8*), i64 256) to i16*), align 8 +@__C_ctype_toupper_data = constant [384 x i16] [i16 -128, i16 -127, i16 -126, i16 -125, i16 -124, i16 -123, i16 -122, i16 -121, i16 -120, i16 -119, i16 -118, i16 -117, i16 -116, i16 -115, i16 -114, i16 -113, i16 -112, i16 -111, i16 -110, i16 -109, i16 -108, i16 -107, i16 -106, i16 -105, i16 -104, i16 -103, i16 -102, i16 -101, i16 -100, i16 -99, i16 -98, i16 -97, i16 -96, i16 -95, i16 -94, i16 -93, i16 -92, i16 -91, i16 -90, i16 -89, i16 -88, i16 -87, i16 -86, i16 -85, i16 -84, i16 -83, i16 -82, i16 -81, i16 -80, i16 -79, i16 -78, i16 -77, i16 -76, i16 -75, i16 -74, i16 -73, i16 -72, i16 -71, i16 -70, i16 -69, i16 -68, i16 -67, i16 -66, i16 -65, i16 -64, i16 -63, i16 -62, i16 -61, i16 -60, i16 -59, i16 -58, i16 -57, i16 -56, i16 -55, i16 -54, i16 -53, i16 -52, i16 -51, i16 -50, i16 -49, i16 -48, i16 -47, i16 -46, i16 -45, i16 -44, i16 -43, i16 -42, i16 -41, i16 -40, i16 -39, i16 -38, i16 -37, i16 -36, i16 -35, i16 -34, i16 -33, i16 -32, i16 -31, i16 -30, i16 -29, i16 -28, i16 -27, i16 -26, i16 -25, i16 -24, i16 -23, i16 -22, i16 -21, i16 -20, i16 -19, i16 -18, i16 -17, i16 -16, i16 -15, i16 -14, i16 -13, i16 -12, i16 -11, i16 -10, i16 -9, i16 -8, i16 -7, i16 -6, i16 -5, i16 -4, i16 -3, i16 -2, i16 -1, i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255], align 16 +@__C_ctype_toupper = global i16* bitcast (i8* getelementptr (i8, i8* bitcast ([384 x i16]* @__C_ctype_toupper_data to i8*), i64 256) to i16*), align 8 +@errno = global i32 0, align 4 +@h_errno = global i32 0, align 4 +@.str.214 = private unnamed_addr constant [17 x i8] c"ignoring (EPERM)\00", align 1 +@.str.7.216 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.1.217 = private unnamed_addr constant [9 x i8] c"ignoring\00", align 1 +@.str.2.218 = private unnamed_addr constant [82 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/illegal.c\00", align 1 +@.str.3.219 = private unnamed_addr constant [20 x i8] c"longjmp unsupported\00", align 1 +@.str.4.220 = private unnamed_addr constant [8 x i8] c"xxx.err\00", align 1 +@.str.5.222 = private unnamed_addr constant [18 x i8] c"ignoring (EACCES)\00", align 1 +@.str.6.223 = private unnamed_addr constant [18 x i8] c"ignoring (ENOMEM)\00", align 1 +@error_message_count = global i32 0, align 4 +@error_one_per_line = global i32 0, align 4 +@.str.226 = private unnamed_addr constant [5 x i8] c": %s\00", align 1 +@__error_at_line.old_line_number = internal global i32 0, align 4 +@__error_at_line.old_file_name = internal global i8* null, align 8 +@.str.1.227 = private unnamed_addr constant [8 x i8] c"%s:%d: \00", align 1 +@hr_locale = internal global [448 x i8] zeroinitializer, align 16 +@utf8.234 = internal constant [6 x i8] c"UTF-8\00", align 1 +@static_fd = internal global i32 -1, align 4 +@static_ut_name = internal global i8* getelementptr inbounds ([14 x i8], [14 x i8]* @default_file_name, i32 0, i32 0), align 8 +@default_file_name = internal constant [14 x i8] c"/var/run/utmp\00", align 1 +@static_utmp = internal global %struct.utmp.323 zeroinitializer, align 8 +@mbrtowc.mbstate = internal global %struct.__mbstate_t.512 zeroinitializer, align 4 +@__dso_handle = extern_weak global i8*, align 8 +@optind = global i32 1, align 4 +@opterr = global i32 1, align 4 +@optopt = global i32 63, align 4 +@optarg = global i8* null, align 8 +@getopt_data = internal global %struct._getopt_data zeroinitializer, align 8 +@.str.311 = private unnamed_addr constant [3 x i8] c"--\00", align 1 +@.str.1.312 = private unnamed_addr constant [30 x i8] c"%s: option `%s' is ambiguous\0A\00", align 1 +@.str.2.313 = private unnamed_addr constant [45 x i8] c"%s: option `--%s' doesn't allow an argument\0A\00", align 1 +@.str.3.314 = private unnamed_addr constant [45 x i8] c"%s: option `%c%s' doesn't allow an argument\0A\00", align 1 +@.str.4.315 = private unnamed_addr constant [38 x i8] c"%s: option `%s' requires an argument\0A\00", align 1 +@.str.5.316 = private unnamed_addr constant [32 x i8] c"%s: unrecognized option `--%s'\0A\00", align 1 +@.str.6.317 = private unnamed_addr constant [32 x i8] c"%s: unrecognized option `%c%s'\0A\00", align 1 +@.str.7.318 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@.str.8.319 = private unnamed_addr constant [26 x i8] c"%s: illegal option -- %c\0A\00", align 1 +@.str.9.320 = private unnamed_addr constant [26 x i8] c"%s: invalid option -- %c\0A\00", align 1 +@.str.10.321 = private unnamed_addr constant [39 x i8] c"%s: option requires an argument -- %c\0A\00", align 1 +@.str.11.322 = private unnamed_addr constant [16 x i8] c"POSIXLY_CORRECT\00", align 1 +@.str.327 = private unnamed_addr constant [14 x i8] c"#\80\80\80\80\80\80\80\80\80\80\80\80\00", align 1 +@newlocale.envstr = internal global [4 x i8*] [i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.331, i32 0, i32 0), i8* null, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.2.332, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @posix, i32 0, i32 0)], align 16 +@.str.3.328 = private unnamed_addr constant [2 x i8] c"=\00", align 1 +@.str.4.329 = private unnamed_addr constant [2 x i8] c";\00", align 1 +@posix = internal constant [6 x i8] c"POSIX\00", align 1 +@utf8.330 = internal constant [6 x i8] c"UTF-8\00", align 1 +@.str.1.331 = private unnamed_addr constant [7 x i8] c"LC_ALL\00", align 1 +@.str.2.332 = private unnamed_addr constant [5 x i8] c"LANG\00", align 1 +@empty = internal constant [1 x i8] zeroinitializer, align 1 +@mbsnrtowcs.mbstate = internal global %struct.__mbstate_t.512 zeroinitializer, align 4 +@_do_one_spec.spec_base = internal constant [7 x i8] c"\10\10\10\08\0A\0A\0A", align 1 +@.str.349 = private unnamed_addr constant [6 x i8] c"(nil)\00", align 1 +@.str.1.350 = private unnamed_addr constant [7 x i8] c"(null)\00", align 1 +@_do_one_spec.prefix = internal constant [12 x i8] c"+\00-\00 \000x\000X\00", align 1 +@strerror.buf = internal global [50 x i8] zeroinitializer, align 16 +@desc2flag = internal constant [13 x i16] [i16 0, i16 2048, i16 4, i16 256, i16 512, i16 8, i16 128, i16 2, i16 64, i16 1024, i16 32, i16 1, i16 16], align 16 +@fmt = internal constant [20 x i8] c"inf\00INF\00nan\00NAN\00.\00,\00", align 16 +@exp10_table = internal constant [9 x double] [double 1.000000e+01, double 1.000000e+02, double 1.000000e+04, double 1.000000e+08, double 1.000000e+16, double 1.000000e+32, double 1.000000e+64, double 1.000000e+128, double 1.000000e+256], align 16 +@_ppfs_init.invalid_mbs = internal constant [33 x i8] c"Invalid multibyte format string.\00", align 16 +@_ppfs_parsespec.spec_flags = internal constant [8 x i8] c" +0-#'I\00", align 1 +@_ppfs_parsespec.qual_chars = internal constant [20 x i8] c"hlLjztqZ\00\02\04\08\04\04\04\08\04\00\01\08", align 16 +@_ppfs_parsespec.spec_chars = internal constant [21 x i8] c"npxXoudifFeEgGaACScs\00", align 16 +@_ppfs_parsespec.spec_ranges = internal constant [9 x i8] c"\00\01\07\0F\10\11\12\13\14", align 1 +@_ppfs_parsespec.spec_or_mask = internal constant [8 x i16] [i16 4096, i16 5, i16 0, i16 7, i16 2, i16 4, i16 1, i16 3], align 16 +@_ppfs_parsespec.spec_and_mask = internal constant [8 x i16] [i16 7936, i16 5, i16 3840, i16 2055, i16 2, i16 4, i16 1, i16 3], align 16 +@type_codes = internal constant [12 x i16] [i16 8, i16 5, i16 3, i16 4, i16 1, i16 512, i16 0, i16 1024, i16 2048, i16 2, i16 7, i16 2055], align 16 +@type_sizes = internal constant [12 x i8] c"\00\01\01\01\04\02\01\01\01\01\01\01", align 1 +@__exit_count = hidden global i32 0, align 4 +@__exit_function_table = hidden global %struct.exit_function* null, align 8 +@__exit_slots = hidden global i32 0, align 4 +@__xpg_strerror_r.unknown = internal constant [14 x i8] c"Unknown error ", align 1 +@mbsrtowcs.mbstate = internal global %struct.__mbstate_t.512 zeroinitializer, align 4 +@_string_syserrmsgs = hidden constant [2906 x i8] c"Success\00Operation not permitted\00No such file or directory\00No such process\00Interrupted system call\00Input/output error\00No such device or address\00Argument list too long\00Exec format error\00Bad file descriptor\00No child processes\00Resource temporarily unavailable\00Cannot allocate memory\00Permission denied\00Bad address\00Block device required\00Device or resource busy\00File exists\00Invalid cross-device link\00No such device\00Not a directory\00Is a directory\00Invalid argument\00Too many open files in system\00Too many open files\00Inappropriate ioctl for device\00Text file busy\00File too large\00No space left on device\00Illegal seek\00Read-only file system\00Too many links\00Broken pipe\00Numerical argument out of domain\00Numerical result out of range\00Resource deadlock avoided\00File name too long\00No locks available\00Function not implemented\00Directory not empty\00Too many levels of symbolic links\00\00No message of desired type\00Identifier removed\00Channel number out of range\00Level 2 not synchronized\00Level 3 halted\00Level 3 reset\00Link number out of range\00Protocol driver not attached\00No CSI structure available\00Level 2 halted\00Invalid exchange\00Invalid request descriptor\00Exchange full\00No anode\00Invalid request code\00Invalid slot\00\00Bad font file format\00Device not a stream\00No data available\00Timer expired\00Out of streams resources\00Machine is not on the network\00Package not installed\00Object is remote\00Link has been severed\00Advertise error\00Srmount error\00Communication error on send\00Protocol error\00Multihop attempted\00RFS specific error\00Bad message\00Value too large for defined data type\00Name not unique on network\00File descriptor in bad state\00Remote address changed\00Can not access a needed shared library\00Accessing a corrupted shared library\00.lib section in a.out corrupted\00Attempting to link in too many shared libraries\00Cannot exec a shared library directly\00Invalid or incomplete multibyte or wide character\00Interrupted system call should be restarted\00Streams pipe error\00Too many users\00Socket operation on non-socket\00Destination address required\00Message too long\00Protocol wrong type for socket\00Protocol not available\00Protocol not supported\00Socket type not supported\00Operation not supported\00Protocol family not supported\00Address family not supported by protocol\00Address already in use\00Cannot assign requested address\00Network is down\00Network is unreachable\00Network dropped connection on reset\00Software caused connection abort\00Connection reset by peer\00No buffer space available\00Transport endpoint is already connected\00Transport endpoint is not connected\00Cannot send after transport endpoint shutdown\00Too many references: cannot splice\00Connection timed out\00Connection refused\00Host is down\00No route to host\00Operation already in progress\00Operation now in progress\00Stale NFS file handle\00Structure needs cleaning\00Not a XENIX named type file\00No XENIX semaphores available\00Is a named type file\00Remote I/O error\00Disk quota exceeded\00No medium found\00Wrong medium type\00", align 16 + +@__progname = weak alias i8*, i8** @program_invocation_short_name +@__progname_full = weak alias i8*, i8** @program_invocation_name +@environ = weak alias i8**, i8*** @__environ +@__getdents = dso_local alias i64 (i32, %struct.dirent64*, i64), i64 (i32, %struct.dirent64*, i64)* @getdents +@getchar = alias i32 (), i32 ()* @getchar_unlocked +@raise = weak alias i32 (i32), i32 (i32)* @__raise +@fgetc_unlocked = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@getc_unlocked = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@fgetc = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@getc = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@__getdents64 = dso_local alias i64 (i32, i8*, i64), i64 (i32, i8*, i64)* @getdents64 +@error = weak alias void (i32, i32, i8*, ...), void (i32, i32, i8*, ...)* @__error +@error_at_line = weak alias void (i32, i32, i8*, i32, i8*, ...), void (i32, i32, i8*, i32, i8*, ...)* @__error_at_line +@feof = alias i32 (%struct.__STDIO_FILE_STRUCT.590*), i32 (%struct.__STDIO_FILE_STRUCT.590*)* @feof_unlocked +@ferror = alias i32 (%struct.__STDIO_FILE_STRUCT.592*), i32 (%struct.__STDIO_FILE_STRUCT.592*)* @ferror_unlocked +@fflush = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fflush_unlocked +@fileno = alias i32 (%struct.__STDIO_FILE_STRUCT.608*), i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno_unlocked +@fputc_unlocked = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@putc_unlocked = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@fputc = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@putc = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@fputs = alias i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*), i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked +@fread = alias i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*), i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*)* @fread_unlocked +@fseeko = alias i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32), i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32)* @fseek +@fwrite = alias i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*), i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*)* @fwrite_unlocked +@strtoumax = alias i64 (i8*, i8**, i32), i64 (i8*, i8**, i32)* @strtoul +@strtoull = alias i64 (i8*, i8**, i32), i64 (i8*, i8**, i32)* @strtoul +@strerror_r = weak alias i32 (i32, i8*, i64), i32 (i32, i8*, i64)* @__xpg_strerror_r + +; Function Attrs: noinline nounwind uwtable +define void @__uClibc_init() #0 { +entry: + %0 = load i32, i32* @__uClibc_init.been_there_done_that, align 4 + %tobool = icmp ne i32 %0, 0 + br i1 %tobool, label %if.end4, label %if.end + +if.end: ; preds = %entry + %1 = load i32, i32* @__uClibc_init.been_there_done_that, align 4 + %inc = add nsw i32 %1, 1 + store i32 %inc, i32* @__uClibc_init.been_there_done_that, align 4 + store i64 4096, i64* @__pagesize, align 8 + call void @_locale_init() #19 + call void @_stdio_init() #19 + br label %if.end4 + +if.end4: ; preds = %entry, %if.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define void @__uClibc_fini() #0 { +entry: + %0 = load void ()*, void ()** @__app_fini, align 8 + %cmp = icmp ne void ()* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load void ()*, void ()** @__app_fini, align 8 + call void %1() #19 + br label %if.end + +if.end: ; preds = %if.then, %entry + %2 = load void ()*, void ()** @__rtld_fini, align 8 + %cmp1 = icmp ne void ()* %2, null + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + %3 = load void ()*, void ()** @__rtld_fini, align 8 + call void %3() #19 + br label %if.end3 + +if.end3: ; preds = %if.then2, %if.end + ret void +} + +; Function Attrs: noinline noreturn nounwind uwtable +define void @__uClibc_main(i32 (i32, i8**, i8**)* %main, i32 %argc, i8** %argv, void ()* %app_init, void ()* %app_fini, void ()* %rtld_fini, i8* %stack_end) #1 { +entry: + %main.addr = alloca i32 (i32, i8**, i8**)*, align 8 + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %app_init.addr = alloca void ()*, align 8 + %app_fini.addr = alloca void ()*, align 8 + %rtld_fini.addr = alloca void ()*, align 8 + %stack_end.addr = alloca i8*, align 8 + %aux_dat = alloca i64*, align 8 + %auxvt = alloca [15 x %struct.Elf64_auxv_t], align 16 + %auxv_entry = alloca %struct.Elf64_auxv_t*, align 8 + store i32 (i32, i8**, i8**)* %main, i32 (i32, i8**, i8**)** %main.addr, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store void ()* %app_init, void ()** %app_init.addr, align 8 + store void ()* %app_fini, void ()** %app_fini.addr, align 8 + store void ()* %rtld_fini, void ()** %rtld_fini.addr, align 8 + store i8* %stack_end, i8** %stack_end.addr, align 8 + %0 = load i8*, i8** %stack_end.addr, align 8 + store i8* %0, i8** @__libc_stack_end, align 8 + %1 = load void ()*, void ()** %rtld_fini.addr, align 8 + store void ()* %1, void ()** @__rtld_fini, align 8 + %2 = load i8**, i8*** %argv.addr, align 8 + %3 = load i32, i32* %argc.addr, align 4 + %add = add nsw i32 %3, 1 + %idxprom = sext i32 %add to i64 + %arrayidx = getelementptr inbounds i8*, i8** %2, i64 %idxprom + store i8** %arrayidx, i8*** @__environ, align 8 + %4 = load i8**, i8*** @__environ, align 8 + %5 = bitcast i8** %4 to i8* + %6 = load i8**, i8*** %argv.addr, align 8 + %7 = load i8*, i8** %6, align 8 + %cmp = icmp eq i8* %5, %7 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %8 = load i8**, i8*** %argv.addr, align 8 + %9 = load i32, i32* %argc.addr, align 4 + %idxprom1 = sext i32 %9 to i64 + %arrayidx2 = getelementptr inbounds i8*, i8** %8, i64 %idxprom1 + store i8** %arrayidx2, i8*** @__environ, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %arraydecay = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 0 + %10 = bitcast %struct.Elf64_auxv_t* %arraydecay to i8* + %call = call i8* @memset(i8* %10, i32 0, i64 240) #20 + %11 = load i8**, i8*** @__environ, align 8 + %12 = bitcast i8** %11 to i64* + store i64* %12, i64** %aux_dat, align 8 + br label %while.cond + +while.cond: ; preds = %while.cond, %if.end + %13 = load i64*, i64** %aux_dat, align 8 + %14 = load i64, i64* %13, align 8 + %tobool = icmp ne i64 %14, 0 + %15 = load i64*, i64** %aux_dat, align 8 + %incdec.ptr = getelementptr inbounds i64, i64* %15, i32 1 + store i64* %incdec.ptr, i64** %aux_dat, align 8 + br i1 %tobool, label %while.cond, label %while.cond4 + +while.cond4: ; preds = %while.cond, %if.end12 + %16 = load i64*, i64** %aux_dat, align 8 + %17 = load i64, i64* %16, align 8 + %tobool5 = icmp ne i64 %17, 0 + br i1 %tobool5, label %while.body6, label %while.end13 + +while.body6: ; preds = %while.cond4 + %18 = load i64*, i64** %aux_dat, align 8 + %19 = bitcast i64* %18 to %struct.Elf64_auxv_t* + store %struct.Elf64_auxv_t* %19, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %20 = load %struct.Elf64_auxv_t*, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %a_type = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %20, i32 0, i32 0 + %21 = load i64, i64* %a_type, align 8 + %cmp7 = icmp ule i64 %21, 14 + br i1 %cmp7, label %if.then8, label %if.end12 + +if.then8: ; preds = %while.body6 + %22 = load %struct.Elf64_auxv_t*, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %a_type9 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %22, i32 0, i32 0 + %23 = load i64, i64* %a_type9, align 8 + %arrayidx10 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 %23 + %24 = bitcast %struct.Elf64_auxv_t* %arrayidx10 to i8* + %25 = load %struct.Elf64_auxv_t*, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %26 = bitcast %struct.Elf64_auxv_t* %25 to i8* + %call11 = call i8* @memcpy(i8* %24, i8* %26, i64 16) #20 + br label %if.end12 + +if.end12: ; preds = %if.then8, %while.body6 + %27 = load i64*, i64** %aux_dat, align 8 + %add.ptr = getelementptr inbounds i64, i64* %27, i64 2 + store i64* %add.ptr, i64** %aux_dat, align 8 + br label %while.cond4 + +while.end13: ; preds = %while.cond4 + call void @__uClibc_init() #19 + %arrayidx14 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 6 + %a_un = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx14, i32 0, i32 1 + %a_val = bitcast %union.anon.193* %a_un to i64* + %28 = load i64, i64* %a_val, align 8 + %tobool15 = icmp ne i64 %28, 0 + %arrayidx16 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 6 + %a_un17 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx16, i32 0, i32 1 + %a_val18 = bitcast %union.anon.193* %a_un17 to i64* + %29 = load i64, i64* %a_val18, align 8 + %cond = select i1 %tobool15, i64 %29, i64 4096 + store i64 %cond, i64* @__pagesize, align 8 + %arrayidx19 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 11 + %a_un20 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx19, i32 0, i32 1 + %a_val21 = bitcast %union.anon.193* %a_un20 to i64* + %30 = load i64, i64* %a_val21, align 8 + %cmp22 = icmp eq i64 %30, -1 + br i1 %cmp22, label %land.lhs.true, label %lor.lhs.false + +land.lhs.true: ; preds = %while.end13 + %call23 = call i32 @__check_suid() #19 + %tobool24 = icmp ne i32 %call23, 0 + br i1 %tobool24, label %if.then45, label %lor.lhs.false + +lor.lhs.false: ; preds = %land.lhs.true, %while.end13 + %arrayidx25 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 11 + %a_un26 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx25, i32 0, i32 1 + %a_val27 = bitcast %union.anon.193* %a_un26 to i64* + %31 = load i64, i64* %a_val27, align 8 + %cmp28 = icmp ne i64 %31, -1 + br i1 %cmp28, label %land.lhs.true29, label %if.end46 + +land.lhs.true29: ; preds = %lor.lhs.false + %arrayidx30 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 11 + %a_un31 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx30, i32 0, i32 1 + %a_val32 = bitcast %union.anon.193* %a_un31 to i64* + %32 = load i64, i64* %a_val32, align 8 + %arrayidx33 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 12 + %a_un34 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx33, i32 0, i32 1 + %a_val35 = bitcast %union.anon.193* %a_un34 to i64* + %33 = load i64, i64* %a_val35, align 8 + %cmp36 = icmp ne i64 %32, %33 + br i1 %cmp36, label %if.then45, label %lor.lhs.false37 + +lor.lhs.false37: ; preds = %land.lhs.true29 + %arrayidx38 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 13 + %a_un39 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx38, i32 0, i32 1 + %a_val40 = bitcast %union.anon.193* %a_un39 to i64* + %34 = load i64, i64* %a_val40, align 8 + %arrayidx41 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 14 + %a_un42 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx41, i32 0, i32 1 + %a_val43 = bitcast %union.anon.193* %a_un42 to i64* + %35 = load i64, i64* %a_val43, align 8 + %cmp44 = icmp ne i64 %34, %35 + br i1 %cmp44, label %if.then45, label %if.end46 + +if.then45: ; preds = %lor.lhs.false37, %land.lhs.true29, %land.lhs.true + call void @__check_one_fd(i32 0, i32 131072) #19 + call void @__check_one_fd(i32 1, i32 131074) #19 + call void @__check_one_fd(i32 2, i32 131074) #19 + br label %if.end46 + +if.end46: ; preds = %if.then45, %lor.lhs.false37, %lor.lhs.false + %36 = load i8**, i8*** %argv.addr, align 8 + %37 = load i8*, i8** %36, align 8 + store i8* %37, i8** @__uclibc_progname, align 8 + %38 = load i8**, i8*** %argv.addr, align 8 + %39 = load i8*, i8** %38, align 8 + store i8* %39, i8** @program_invocation_name, align 8 + %40 = load i8**, i8*** %argv.addr, align 8 + %41 = load i8*, i8** %40, align 8 + %call47 = call i8* @strrchr(i8* %41, i32 47) #21 + store i8* %call47, i8** @program_invocation_short_name, align 8 + %42 = load i8*, i8** @program_invocation_short_name, align 8 + %cmp48 = icmp ne i8* %42, null + br i1 %cmp48, label %if.then49, label %if.else + +if.then49: ; preds = %if.end46 + %43 = load i8*, i8** @program_invocation_short_name, align 8 + %incdec.ptr50 = getelementptr inbounds i8, i8* %43, i32 1 + store i8* %incdec.ptr50, i8** @program_invocation_short_name, align 8 + br label %if.end51 + +if.else: ; preds = %if.end46 + %44 = load i8*, i8** @program_invocation_name, align 8 + store i8* %44, i8** @program_invocation_short_name, align 8 + br label %if.end51 + +if.end51: ; preds = %if.else, %if.then49 + %45 = load void ()*, void ()** %app_fini.addr, align 8 + store void ()* %45, void ()** @__app_fini, align 8 + %46 = load void ()*, void ()** %app_init.addr, align 8 + %cmp52 = icmp ne void ()* %46, null + br i1 %cmp52, label %if.then53, label %if.then55 + +if.then53: ; preds = %if.end51 + %47 = load void ()*, void ()** %app_init.addr, align 8 + call void %47() #19 + br label %if.then55 + +if.then55: ; preds = %if.end51, %if.then53 + %call56 = call i32* @__errno_location() #22 + store i32 0, i32* %call56, align 4 + %call59 = call i32* @__h_errno_location() #22 + store i32 0, i32* %call59, align 4 + %48 = load i32 (i32, i8**, i8**)*, i32 (i32, i8**, i8**)** %main.addr, align 8 + %49 = load i32, i32* %argc.addr, align 4 + %50 = load i8**, i8*** %argv.addr, align 8 + %51 = load i8**, i8*** @__environ, align 8 + %call61 = call i32 %48(i32 %49, i8** %50, i8** %51) #19 + call void @exit(i32 %call61) #23 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__check_suid() #0 { +entry: + %retval = alloca i32, align 4 + %uid = alloca i32, align 4 + %euid = alloca i32, align 4 + %gid = alloca i32, align 4 + %egid = alloca i32, align 4 + %call = call i32 @getuid() #20 + store i32 %call, i32* %uid, align 4 + %call1 = call i32 @geteuid() #20 + store i32 %call1, i32* %euid, align 4 + %call2 = call i32 @getgid() #20 + store i32 %call2, i32* %gid, align 4 + %call3 = call i32 @getegid() #20 + store i32 %call3, i32* %egid, align 4 + %0 = load i32, i32* %uid, align 4 + %1 = load i32, i32* %euid, align 4 + %cmp = icmp eq i32 %0, %1 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %2 = load i32, i32* %gid, align 4 + %3 = load i32, i32* %egid, align 4 + %cmp4 = icmp eq i32 %2, %3 + br i1 %cmp4, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__check_one_fd(i32 %fd, i32 %mode) #0 { +entry: + %fd.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %st = alloca %struct.stat.192, align 8 + %nullfd = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 (i32, i32, ...) @fcntl(i32 %0, i32 1) #19 + %cmp = icmp eq i32 %call, -1 + br i1 %cmp, label %land.rhs, label %land.end + +land.rhs: ; preds = %entry + %call1 = call i32* @__errno_location() #22 + %1 = load i32, i32* %call1, align 4 + %cmp2 = icmp eq i32 %1, 9 + br label %land.end + +land.end: ; preds = %land.rhs, %entry + %2 = phi i1 [ false, %entry ], [ %cmp2, %land.rhs ] + %lnot = xor i1 %2, true + %lnot3 = xor i1 %lnot, true + %lnot.ext = zext i1 %lnot3 to i32 + %conv = sext i32 %lnot.ext to i64 + %tobool = icmp ne i64 %conv, 0 + br i1 %tobool, label %if.then, label %if.end17 + +if.then: ; preds = %land.end + %3 = load i32, i32* %mode.addr, align 4 + %call4 = call i32 (i8*, i32, ...) @open(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.1, i64 0, i64 0), i32 %3) #19 + store i32 %call4, i32* %nullfd, align 4 + %4 = load i32, i32* %nullfd, align 4 + %5 = load i32, i32* %fd.addr, align 4 + %cmp5 = icmp ne i32 %4, %5 + br i1 %cmp5, label %if.then16, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then + %6 = load i32, i32* %fd.addr, align 4 + %call7 = call i32 bitcast (i32 (i32, %struct.stat64*)* @fstat to i32 (i32, %struct.stat.192*)*)(i32 %6, %struct.stat.192* %st) #20 + %tobool8 = icmp ne i32 %call7, 0 + br i1 %tobool8, label %if.then16, label %lor.lhs.false9 + +lor.lhs.false9: ; preds = %lor.lhs.false + %st_mode = getelementptr inbounds %struct.stat.192, %struct.stat.192* %st, i32 0, i32 3 + %7 = load i32, i32* %st_mode, align 8 + %and = and i32 %7, 61440 + %cmp10 = icmp eq i32 %and, 8192 + br i1 %cmp10, label %lor.lhs.false12, label %if.then16 + +lor.lhs.false12: ; preds = %lor.lhs.false9 + %st_rdev = getelementptr inbounds %struct.stat.192, %struct.stat.192* %st, i32 0, i32 7 + %8 = load i64, i64* %st_rdev, align 8 + %call13 = call i64 @gnu_dev_makedev.172(i32 1, i32 3) #20 + %cmp14 = icmp ne i64 %8, %call13 + br i1 %cmp14, label %if.then16, label %if.end17 + +if.then16: ; preds = %lor.lhs.false12, %lor.lhs.false9, %lor.lhs.false, %if.then + call void @abort() #23 + unreachable + +if.end17: ; preds = %lor.lhs.false12, %land.end + ret void +} + +; Function Attrs: nounwind +declare i32 @getuid() #2 + +; Function Attrs: nounwind +declare i32 @geteuid() #2 + +; Function Attrs: nounwind +declare i32 @getgid() #2 + +; Function Attrs: nounwind +declare i32 @getegid() #2 + +; Function Attrs: noinline nounwind uwtable +define internal i64 @gnu_dev_makedev.172(i32 %__major, i32 %__minor) #0 { +entry: + %__major.addr = alloca i32, align 4 + %__minor.addr = alloca i32, align 4 + store i32 %__major, i32* %__major.addr, align 4 + store i32 %__minor, i32* %__minor.addr, align 4 + %0 = load i32, i32* %__minor.addr, align 4 + %and = and i32 %0, 255 + %1 = load i32, i32* %__major.addr, align 4 + %and1 = and i32 %1, 4095 + %shl = shl i32 %and1, 8 + %or = or i32 %and, %shl + %conv = zext i32 %or to i64 + %2 = load i32, i32* %__minor.addr, align 4 + %and2 = and i32 %2, -256 + %conv3 = zext i32 %and2 to i64 + %shl4 = shl i64 %conv3, 12 + %or5 = or i64 %conv, %shl4 + %3 = load i32, i32* %__major.addr, align 4 + %and6 = and i32 %3, -4096 + %conv7 = zext i32 %and6 to i64 + %shl8 = shl i64 %conv7, 32 + %or9 = or i64 %or5, %shl8 + ret i64 %or9 +} + +define i32 @main(i32 %argc, i8** %argv) { +entry: + call void @__uClibc_main(i32 (i32, i8**, i8**)* @__user_main, i32 %argc, i8** %argv, void ()* null, void ()* null, void ()* null, i8* null) + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define i32 @siggetmask() #0 { +entry: + %call = call i32 @sigblock(i32 0) #20 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i64 @__fpending(%struct.__STDIO_FILE_STRUCT.513* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.513*, align 8 + store %struct.__STDIO_FILE_STRUCT.513* %stream, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.513*, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.513, %struct.__STDIO_FILE_STRUCT.513* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %cond.true, label %cond.end + +cond.true: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.513*, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.513, %struct.__STDIO_FILE_STRUCT.513* %2, i32 0, i32 5 + %3 = load i8*, i8** %__bufpos, align 8 + %4 = load %struct.__STDIO_FILE_STRUCT.513*, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.513, %struct.__STDIO_FILE_STRUCT.513* %4, i32 0, i32 3 + %5 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %3 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + br label %cond.end + +cond.end: ; preds = %entry, %cond.true + %cond = phi i64 [ %sub.ptr.sub, %cond.true ], [ 0, %entry ] + ret i64 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i8* @gets(i8* %s) #0 { +entry: + %s.addr = alloca i8*, align 8 + %p = alloca i8*, align 8 + %c = alloca i32, align 4 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %call = call i32 @getchar_unlocked() #19 + store i32 %call, i32* %c, align 4 + %cmp = icmp ne i32 %call, -1 + br i1 %cmp, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %1 = load i32, i32* %c, align 4 + %conv = trunc i32 %1 to i8 + %2 = load i8*, i8** %p, align 8 + store i8 %conv, i8* %2, align 1 + %conv1 = sext i8 %conv to i32 + %cmp2 = icmp ne i32 %conv1, 10 + br i1 %cmp2, label %while.body, label %while.end + +while.body: ; preds = %land.rhs + %3 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + br label %while.cond + +while.end: ; preds = %while.cond, %land.rhs + %4 = load i32, i32* %c, align 4 + %cmp4 = icmp eq i32 %4, -1 + br i1 %cmp4, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.end + %5 = load i8*, i8** %s.addr, align 8 + %6 = load i8*, i8** %p, align 8 + %cmp6 = icmp eq i8* %5, %6 + br i1 %cmp6, label %if.then, label %if.else + +if.then: ; preds = %lor.lhs.false, %while.end + store i8* null, i8** %s.addr, align 8 + br label %if.end + +if.else: ; preds = %lor.lhs.false + %7 = load i8*, i8** %p, align 8 + store i8 0, i8* %7, align 1 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %8 = load i8*, i8** %s.addr, align 8 + ret i8* %8 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @tmpnam(i8* %s) #0 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %tmpbufmem = alloca [20 x i8], align 16 + %tmpbuf = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %tobool = icmp ne i8* %0, null + %arraydecay = getelementptr inbounds [20 x i8], [20 x i8]* %tmpbufmem, i64 0, i64 0 + %cond = select i1 %tobool, i8* %0, i8* %arraydecay + store i8* %cond, i8** %tmpbuf, align 8 + %1 = load i8*, i8** %tmpbuf, align 8 + %call = call i32 @___path_search(i8* %1, i64 20, i8* null, i8* null) #19 + %conv = sext i32 %call to i64 + %tobool1 = icmp ne i64 %conv, 0 + br i1 %tobool1, label %if.then, label %if.end + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %tmpbuf, align 8 + %call2 = call i32 @__gen_tempname(i8* %2, i32 3) #19 + %conv3 = sext i32 %call2 to i64 + %tobool4 = icmp ne i64 %conv3, 0 + br i1 %tobool4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end + store i8* null, i8** %retval, align 8 + br label %return + +if.end6: ; preds = %if.end + %3 = load i8*, i8** %s.addr, align 8 + %cmp = icmp eq i8* %3, null + br i1 %cmp, label %if.then8, label %if.end10 + +if.then8: ; preds = %if.end6 + %4 = load i8*, i8** %tmpbuf, align 8 + %call9 = call i8* @memcpy(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @tmpnam_buffer, i64 0, i64 0), i8* %4, i64 20) #20 + store i8* %call9, i8** %retval, align 8 + br label %return + +if.end10: ; preds = %if.end6 + %5 = load i8*, i8** %s.addr, align 8 + store i8* %5, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end10, %if.then8, %if.then5, %if.then + %6 = load i8*, i8** %retval, align 8 + ret i8* %6 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @mktemp(i8* nonnull %template) #0 { +entry: + %template.addr = alloca i8*, align 8 + store i8* %template, i8** %template.addr, align 8 + %0 = load i8*, i8** %template.addr, align 8 + %call = call i32 @__gen_tempname(i8* %0, i32 3) #19 + %cmp = icmp slt i32 %call, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load i8*, i8** %template.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + store i8 0, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then, %entry + %2 = load i8*, i8** %template.addr, align 8 + ret i8* %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @access(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %pathname.addr, align 8 + %call1 = call i8* @__concretize_string(i8* %2) + %3 = load i32, i32* %mode.addr, align 4 + %call2 = call i64 (i64, ...) @syscall(i64 21, i8* %call1, i32 %3) #11 + %conv = trunc i64 %call2 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.exe_disk_file_t* @__get_sym_file(i8* %pathname) #3 { +entry: + %retval = alloca %struct.exe_disk_file_t*, align 8 + %pathname.addr = alloca i8*, align 8 + %cwd = alloca [1024 x i8], align 16 + %cwd_len = alloca i64, align 8 + %c = alloca i8, align 1 + %i = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + %0 = load i8*, i8** %pathname.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %pathname.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %2 to i32 + %cmp = icmp eq i32 %conv, 47 + br i1 %cmp, label %if.then2, label %if.end29 + +if.then2: ; preds = %if.end + %3 = bitcast [1024 x i8]* %cwd to i8* + %4 = call i8* @memset(i8* %3, i32 0, i64 1024) + %arraydecay = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 0 + %call = call i8* @getcwd(i8* %arraydecay, i64 1024) #11 + %tobool3 = icmp ne i8* %call, null + br i1 %tobool3, label %if.then4, label %if.end29 + +if.then4: ; preds = %if.then2 + %arraydecay5 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 0 + %call6 = call i64 @strlen(i8* %arraydecay5) #24 + store i64 %call6, i64* %cwd_len, align 8 + %5 = load i64, i64* %cwd_len, align 8 + %cmp7 = icmp ugt i64 %5, 0 + br i1 %cmp7, label %land.lhs.true, label %if.end15 + +land.lhs.true: ; preds = %if.then4 + %6 = load i64, i64* %cwd_len, align 8 + %sub = sub i64 %6, 1 + %arrayidx9 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 %sub + %7 = load i8, i8* %arrayidx9, align 1 + %conv10 = sext i8 %7 to i32 + %cmp11 = icmp eq i32 %conv10, 47 + br i1 %cmp11, label %if.then13, label %if.end15 + +if.then13: ; preds = %land.lhs.true + %8 = load i64, i64* %cwd_len, align 8 + %dec = add i64 %8, -1 + store i64 %dec, i64* %cwd_len, align 8 + %arrayidx14 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 %dec + store i8 0, i8* %arrayidx14, align 1 + br label %if.end15 + +if.end15: ; preds = %if.then13, %land.lhs.true, %if.then4 + %9 = load i8*, i8** %pathname.addr, align 8 + %arraydecay16 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 0 + %10 = load i64, i64* %cwd_len, align 8 + %call17 = call i32 @strncmp(i8* %9, i8* %arraydecay16, i64 %10) #24 + %cmp18 = icmp eq i32 %call17, 0 + br i1 %cmp18, label %if.then20, label %if.end29 + +if.then20: ; preds = %if.end15 + %11 = load i8*, i8** %pathname.addr, align 8 + %12 = load i64, i64* %cwd_len, align 8 + %arrayidx21 = getelementptr inbounds i8, i8* %11, i64 %12 + %13 = load i8, i8* %arrayidx21, align 1 + %conv22 = sext i8 %13 to i32 + %cmp23 = icmp ne i32 %conv22, 0 + br i1 %cmp23, label %if.then25, label %if.end29 + +if.then25: ; preds = %if.then20 + %14 = load i64, i64* %cwd_len, align 8 + %add = add i64 %14, 1 + %15 = load i8*, i8** %pathname.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %15, i64 %add + store i8* %add.ptr, i8** %pathname.addr, align 8 + br label %if.end29 + +if.end29: ; preds = %if.then2, %if.then20, %if.then25, %if.end15, %if.end + %16 = load i8*, i8** %pathname.addr, align 8 + %arrayidx30 = getelementptr inbounds i8, i8* %16, i64 0 + %17 = load i8, i8* %arrayidx30, align 1 + store i8 %17, i8* %c, align 1 + %18 = load i8, i8* %c, align 1 + %conv31 = sext i8 %18 to i32 + %cmp32 = icmp eq i32 %conv31, 0 + br i1 %cmp32, label %if.then38, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end29 + %19 = load i8*, i8** %pathname.addr, align 8 + %arrayidx34 = getelementptr inbounds i8, i8* %19, i64 1 + %20 = load i8, i8* %arrayidx34, align 1 + %conv35 = sext i8 %20 to i32 + %cmp36 = icmp ne i32 %conv35, 0 + br i1 %cmp36, label %if.then38, label %if.end39 + +if.then38: ; preds = %lor.lhs.false, %if.end29 + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +if.end39: ; preds = %lor.lhs.false + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end39 + %21 = load i32, i32* %i, align 4 + %22 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %cmp40 = icmp ult i32 %21, %22 + br i1 %cmp40, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %23 = load i8, i8* %c, align 1 + %conv42 = sext i8 %23 to i32 + %24 = load i32, i32* %i, align 4 + %conv43 = trunc i32 %24 to i8 + %conv44 = sext i8 %conv43 to i32 + %add45 = add nsw i32 65, %conv44 + %cmp46 = icmp eq i32 %conv42, %add45 + br i1 %cmp46, label %if.then48, label %for.inc + +if.then48: ; preds = %for.body + %25 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %26 = load i32, i32* %i, align 4 + %idxprom = zext i32 %26 to i64 + %arrayidx49 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %25, i64 %idxprom + store %struct.exe_disk_file_t* %arrayidx49, %struct.exe_disk_file_t** %df, align 8 + %27 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %27, i32 0, i32 2 + %28 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %28, i32 0, i32 1 + %29 = load i64, i64* %st_ino, align 8 + %cmp50 = icmp eq i64 %29, 0 + br i1 %cmp50, label %if.then52, label %if.end53 + +if.then52: ; preds = %if.then48 + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +if.end53: ; preds = %if.then48 + %30 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + store %struct.exe_disk_file_t* %30, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +for.inc: ; preds = %for.body + %31 = load i32, i32* %i, align 4 + %inc = add i32 %31, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +return: ; preds = %for.end, %if.end53, %if.then52, %if.then38, %if.then + %32 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %retval, align 8 + ret %struct.exe_disk_file_t* %32 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @__concretize_string(i8* %s) #3 { +entry: + %s.addr = alloca i8*, align 8 + %sc = alloca i8*, align 8 + %i = alloca i32, align 4 + %c = alloca i8, align 1 + %cc = alloca i8, align 1 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %call = call i8* @__concretize_ptr(i8* %0) + store i8* %call, i8** %sc, align 8 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load i8*, i8** %sc, align 8 + %2 = load i8, i8* %1, align 1 + store i8 %2, i8* %c, align 1 + %3 = load i8, i8* %c, align 1 + %conv = sext i8 %3 to i64 + %call1 = call i32 @gs_is_symbolic(i64 %conv) + %tobool = icmp ne i32 %call1, 0 + br i1 %tobool, label %if.end4, label %if.then + +if.then: ; preds = %for.cond + %4 = load i8, i8* %c, align 1 + %tobool2 = icmp ne i8 %4, 0 + br i1 %tobool2, label %for.inc, label %for.end + +if.end4: ; preds = %for.cond + %5 = load i32, i32* %i, align 4 + %6 = load i32, i32* %i, align 4 + %sub = sub i32 %6, 1 + %and = and i32 %5, %sub + %tobool5 = icmp ne i32 %and, 0 + %7 = load i8, i8* %c, align 1 + br i1 %tobool5, label %if.else14, label %if.then6 + +if.then6: ; preds = %if.end4 + %tobool7 = icmp ne i8 %7, 0 + br i1 %tobool7, label %if.else, label %if.then8 + +if.then8: ; preds = %if.then6 + %8 = load i8*, i8** %sc, align 8 + store i8 0, i8* %8, align 1 + br label %for.end + +if.else: ; preds = %if.then6 + %9 = load i8, i8* %c, align 1 + %conv9 = sext i8 %9 to i32 + %cmp = icmp eq i32 %conv9, 47 + br i1 %cmp, label %if.then11, label %for.inc + +if.then11: ; preds = %if.else + %10 = load i8*, i8** %sc, align 8 + store i8 47, i8* %10, align 1 + br label %for.inc + +if.else14: ; preds = %if.end4 + %conv15 = sext i8 %7 to i64 + %call16 = call i64 @gs_get_valuel(i64 %conv15) + %conv17 = trunc i64 %call16 to i8 + store i8 %conv17, i8* %cc, align 1 + %11 = load i8, i8* %cc, align 1 + %conv18 = sext i8 %11 to i32 + %12 = load i8, i8* %c, align 1 + %conv19 = sext i8 %12 to i32 + %cmp20 = icmp eq i32 %conv18, %conv19 + call void @gs_assume(i1 zeroext %cmp20) + %13 = load i8, i8* %cc, align 1 + %14 = load i8*, i8** %sc, align 8 + store i8 %13, i8* %14, align 1 + %15 = load i8, i8* %cc, align 1 + %tobool22 = icmp ne i8 %15, 0 + br i1 %tobool22, label %for.inc, label %for.end + +for.inc: ; preds = %if.else, %if.then11, %if.else14, %if.then + %16 = load i32, i32* %i, align 4 + %inc = add i32 %16, 1 + store i32 %inc, i32* %i, align 4 + %17 = load i8*, i8** %sc, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %17, i32 1 + store i8* %incdec.ptr, i8** %sc, align 8 + br label %for.cond + +for.end: ; preds = %if.else14, %if.then, %if.then8 + %18 = load i8*, i8** %s.addr, align 8 + ret i8* %18 +} + +; Function Attrs: nounwind +declare dso_local i64 @syscall(i64, ...) #4 + +; Function Attrs: noinline nounwind uwtable +define internal i8* @__concretize_ptr(i8* %p) #3 { +entry: + %p.addr = alloca i8*, align 8 + store i8* %p, i8** %p.addr, align 8 + %0 = load i8*, i8** %p.addr, align 8 + %1 = ptrtoint i8* %0 to i64 + %call = call i32 @gs_is_symbolic(i64 %1) + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @gs_report_error(i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 1386, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.27, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.28, i64 0, i64 0)) #25 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %p.addr, align 8 + ret i8* %2 +} + +declare dso_local i32 @gs_is_symbolic(i64) #5 + +declare dso_local i64 @gs_get_valuel(i64) #5 + +declare dso_local void @gs_assume(i1 zeroext) #5 + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.25, i64 0, i64 0)) + call void @stop(i32 -1) #25 + unreachable +} + +declare dso_local void @print_string(i8*) #5 + +declare dso_local void @sym_print(i32, ...) #5 + +; Function Attrs: noreturn +declare dso_local void @stop(i32) #7 + +; Function Attrs: argmemonly nounwind willreturn writeonly +declare void @llvm.memset.p0i8.i64(i8* nocapture writeonly, i8, i64, i1 immarg) #8 + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @getcwd(i8* %buf, i64 %size) #3 { +entry: + %retval = alloca i8*, align 8 + %buf.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %r = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + %0 = load i32, i32* @getcwd.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @getcwd.n_calls, align 4 + %1 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool = icmp ne i32 %1, 0 + br i1 %tobool, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %2 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %3 = load i32, i32* %2, align 4 + %4 = load i32, i32* @getcwd.n_calls, align 4 + %cmp = icmp eq i32 %3, %4 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %5 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %5, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call = call i32* @__errno_location() #26 + store i32 34, i32* %call, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + %6 = load i8*, i8** %buf.addr, align 8 + %tobool1 = icmp ne i8* %6, null + br i1 %tobool1, label %if.else, label %if.then2 + +if.then2: ; preds = %if.end + store i64 1024, i64* %size.addr, align 8 + %7 = load i64, i64* %size.addr, align 8 + %call3 = call noalias i8* @malloc(i64 %7) #11 + store i8* %call3, i8** %buf.addr, align 8 + %8 = load i8*, i8** %buf.addr, align 8 + %tobool4 = icmp ne i8* %8, null + br i1 %tobool4, label %if.end12, label %if.then5 + +if.then5: ; preds = %if.then2 + %call6 = call i32* @__errno_location() #26 + store i32 12, i32* %call6, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.else: ; preds = %if.end + %9 = load i64, i64* %size.addr, align 8 + %tobool8 = icmp ne i64 %9, 0 + br i1 %tobool8, label %if.end12, label %if.then9 + +if.then9: ; preds = %if.else + %call10 = call i32* @__errno_location() #26 + store i32 22, i32* %call10, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end12: ; preds = %if.else, %if.then2 + %10 = load i8*, i8** %buf.addr, align 8 + %call13 = call i8* @__concretize_ptr(i8* %10) + store i8* %call13, i8** %buf.addr, align 8 + %11 = load i64, i64* %size.addr, align 8 + %call14 = call i64 @__concretize_size(i64 %11) + store i64 %call14, i64* %size.addr, align 8 + %12 = load i8*, i8** %buf.addr, align 8 + %13 = load i64, i64* %size.addr, align 8 + %call15 = call i64 (i64, ...) @syscall(i64 79, i8* %12, i64 %13) #11 + %conv = trunc i64 %call15 to i32 + store i32 %conv, i32* %r, align 4 + %14 = load i32, i32* %r, align 4 + %cmp16 = icmp eq i32 %14, -1 + br i1 %cmp16, label %if.then18, label %if.end19 + +if.then18: ; preds = %if.end12 + store i8* null, i8** %retval, align 8 + br label %return + +if.end19: ; preds = %if.end12 + %15 = load i8*, i8** %buf.addr, align 8 + store i8* %15, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end19, %if.then18, %if.then9, %if.then5, %if.then + %16 = load i8*, i8** %retval, align 8 + ret i8* %16 +} + +; Function Attrs: nounwind +declare dso_local noalias i8* @malloc(i64) #4 + +; Function Attrs: noinline nounwind uwtable +define internal i64 @__concretize_size(i64 %s) #3 { +entry: + %s.addr = alloca i64, align 8 + %sc = alloca i64, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %call = call i64 @gs_get_valuel(i64 %0) + store i64 %call, i64* %sc, align 8 + %1 = load i64, i64* %sc, align 8 + %2 = load i64, i64* %s.addr, align 8 + %cmp = icmp eq i64 %1, %2 + call void @gs_assume(i1 zeroext %cmp) + %3 = load i64, i64* %sc, align 8 + ret i64 %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @umask(i32 %mask) #3 { +entry: + %mask.addr = alloca i32, align 4 + %r = alloca i32, align 4 + store i32 %mask, i32* %mask.addr, align 4 + %0 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 1), align 8 + store i32 %0, i32* %r, align 4 + %1 = load i32, i32* %mask.addr, align 4 + %and = and i32 %1, 511 + store i32 %and, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 1), align 8 + %2 = load i32, i32* %r, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_open(i8* %pathname, i32 %flags, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %fd = alloca i32, align 4 + %os_fd = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + store i32 0, i32* %fd, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %0, 32 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %1 = load i32, i32* %fd, align 4 + %idxprom = sext i32 %1 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + %flags1 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %arrayidx, i32 0, i32 1 + %2 = load i32, i32* %flags1, align 4 + %and = and i32 %2, 1 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %for.inc, label %for.end + +for.inc: ; preds = %for.body + %3 = load i32, i32* %fd, align 4 + %inc = add nsw i32 %3, 1 + store i32 %inc, i32* %fd, align 4 + br label %for.cond + +for.end: ; preds = %for.body, %for.cond + %4 = load i32, i32* %fd, align 4 + %cmp2 = icmp eq i32 %4, 32 + br i1 %cmp2, label %if.then3, label %if.end4 + +if.then3: ; preds = %for.end + %call = call i32* @__errno_location() #26 + store i32 24, i32* %call, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %for.end + %5 = load i32, i32* %fd, align 4 + %idxprom5 = sext i32 %5 to i64 + %arrayidx6 = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom5 + store %struct.exe_file_t* %arrayidx6, %struct.exe_file_t** %f, align 8 + %6 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %7 = bitcast %struct.exe_file_t* %6 to i8* + %8 = call i8* @memset(i8* %7, i32 0, i64 24) + %9 = load i8*, i8** %pathname.addr, align 8 + %call7 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %9) + store %struct.exe_disk_file_t* %call7, %struct.exe_disk_file_t** %df, align 8 + %10 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %tobool8 = icmp ne %struct.exe_disk_file_t* %10, null + br i1 %tobool8, label %if.then9, label %if.else45 + +if.then9: ; preds = %if.end4 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %12 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %12, i32 0, i32 3 + store %struct.exe_disk_file_t* %11, %struct.exe_disk_file_t** %dfile, align 8 + %13 = load i32, i32* %flags.addr, align 4 + %and10 = and i32 %13, 64 + %tobool11 = icmp ne i32 %and10, 0 + br i1 %tobool11, label %land.lhs.true, label %if.end16 + +land.lhs.true: ; preds = %if.then9 + %14 = load i32, i32* %flags.addr, align 4 + %and12 = and i32 %14, 128 + %tobool13 = icmp ne i32 %and12, 0 + br i1 %tobool13, label %if.then14, label %if.end16 + +if.then14: ; preds = %land.lhs.true + %call15 = call i32* @__errno_location() #26 + store i32 17, i32* %call15, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end16: ; preds = %land.lhs.true, %if.then9 + %15 = load i32, i32* %flags.addr, align 4 + %and17 = and i32 %15, 512 + %tobool18 = icmp ne i32 %and17, 0 + br i1 %tobool18, label %land.lhs.true19, label %if.end24 + +land.lhs.true19: ; preds = %if.end16 + %16 = load i32, i32* %flags.addr, align 4 + %and20 = and i32 %16, 0 + %tobool21 = icmp ne i32 %and20, 0 + br i1 %tobool21, label %if.then22, label %if.end24 + +if.then22: ; preds = %land.lhs.true19 + call void @gs_warning(i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.5, i64 0, i64 0)) + %call23 = call i32* @__errno_location() #26 + store i32 13, i32* %call23, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end24: ; preds = %land.lhs.true19, %if.end16 + %17 = load i32, i32* %flags.addr, align 4 + %and25 = and i32 %17, 128 + %tobool26 = icmp ne i32 %and25, 0 + br i1 %tobool26, label %land.lhs.true27, label %if.end32 + +land.lhs.true27: ; preds = %if.end24 + %18 = load i32, i32* %flags.addr, align 4 + %and28 = and i32 %18, 64 + %tobool29 = icmp ne i32 %and28, 0 + br i1 %tobool29, label %if.end32, label %if.then30 + +if.then30: ; preds = %land.lhs.true27 + call void @gs_warning(i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.1.6, i64 0, i64 0)) + %call31 = call i32* @__errno_location() #26 + store i32 13, i32* %call31, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end32: ; preds = %land.lhs.true27, %if.end24 + %19 = load i32, i32* %flags.addr, align 4 + %20 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %20, i32 0, i32 2 + %21 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %call33 = call i32 @has_permission(i32 %19, %struct.stat64* %21) + %tobool34 = icmp ne i32 %call33, 0 + br i1 %tobool34, label %if.else, label %if.then35 + +if.then35: ; preds = %if.end32 + %call36 = call i32* @__errno_location() #26 + store i32 13, i32* %call36, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.end32 + %22 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile37 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %22, i32 0, i32 3 + %23 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile37, align 8 + %stat38 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %23, i32 0, i32 2 + %24 = load %struct.stat64*, %struct.stat64** %stat38, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %24, i32 0, i32 3 + %25 = load i32, i32* %st_mode, align 8 + %and39 = and i32 %25, -512 + %26 = load i32, i32* %mode.addr, align 4 + %27 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 1), align 8 + %neg = xor i32 %27, -1 + %and40 = and i32 %26, %neg + %or = or i32 %and39, %and40 + %28 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile41 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %28, i32 0, i32 3 + %29 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile41, align 8 + %stat42 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %29, i32 0, i32 2 + %30 = load %struct.stat64*, %struct.stat64** %stat42, align 8 + %st_mode43 = getelementptr inbounds %struct.stat64, %struct.stat64* %30, i32 0, i32 3 + store i32 %or, i32* %st_mode43, align 8 + br label %if.end53 + +if.else45: ; preds = %if.end4 + %31 = load i8*, i8** %pathname.addr, align 8 + %call46 = call i8* @__concretize_string(i8* %31) + %32 = load i32, i32* %flags.addr, align 4 + %33 = load i32, i32* %mode.addr, align 4 + %call47 = call i64 (i64, ...) @syscall(i64 2, i8* %call46, i32 %32, i32 %33) #11 + %conv = trunc i64 %call47 to i32 + store i32 %conv, i32* %os_fd, align 4 + %34 = load i32, i32* %os_fd, align 4 + %cmp48 = icmp eq i32 %34, -1 + br i1 %cmp48, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.else45 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end51: ; preds = %if.else45 + %35 = load i32, i32* %os_fd, align 4 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd52 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 0 + store i32 %35, i32* %fd52, align 8 + br label %if.end53 + +if.end53: ; preds = %if.end51, %if.else + %37 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %37, i32 0, i32 1 + store i32 1, i32* %flags54, align 4 + %38 = load i32, i32* %flags.addr, align 4 + %and55 = and i32 %38, 3 + %cmp56 = icmp eq i32 %and55, 0 + br i1 %cmp56, label %if.then58, label %if.else61 + +if.then58: ; preds = %if.end53 + %39 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags59 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %39, i32 0, i32 1 + %40 = load i32, i32* %flags59, align 4 + %or60 = or i32 %40, 4 + store i32 %or60, i32* %flags59, align 4 + br label %if.end72 + +if.else61: ; preds = %if.end53 + %41 = load i32, i32* %flags.addr, align 4 + %and62 = and i32 %41, 3 + %cmp63 = icmp eq i32 %and62, 1 + %42 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags66 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %42, i32 0, i32 1 + %43 = load i32, i32* %flags66, align 4 + br i1 %cmp63, label %if.then65, label %if.else68 + +if.then65: ; preds = %if.else61 + %or67 = or i32 %43, 8 + store i32 %or67, i32* %flags66, align 4 + br label %if.end72 + +if.else68: ; preds = %if.else61 + %or70 = or i32 %43, 12 + store i32 %or70, i32* %flags66, align 4 + br label %if.end72 + +if.end72: ; preds = %if.then65, %if.else68, %if.then58 + %44 = load i32, i32* %fd, align 4 + store i32 %44, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end72, %if.then50, %if.then35, %if.then30, %if.then22, %if.then14, %if.then3 + %45 = load i32, i32* %retval, align 4 + ret i32 %45 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @gs_warning(i8* %message) #3 { +entry: + %message.addr = alloca i8*, align 8 + store i8* %message, i8** %message.addr, align 8 + %0 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %0) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.25, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @has_permission(i32 %flags, %struct.stat64* %s) #3 { +entry: + %retval = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %s.addr = alloca %struct.stat64*, align 8 + %write_access = alloca i32, align 4 + %read_access = alloca i32, align 4 + %mode = alloca i32, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store %struct.stat64* %s, %struct.stat64** %s.addr, align 8 + %0 = load %struct.stat64*, %struct.stat64** %s.addr, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %0, i32 0, i32 3 + %1 = load i32, i32* %st_mode, align 8 + store i32 %1, i32* %mode, align 4 + %2 = load i32, i32* %flags.addr, align 4 + %and = and i32 %2, 0 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %3 = load i32, i32* %flags.addr, align 4 + %and1 = and i32 %3, 2 + %tobool2 = icmp ne i32 %and1, 0 + br i1 %tobool2, label %if.then, label %if.else + +if.then: ; preds = %lor.lhs.false, %entry + store i32 1, i32* %read_access, align 4 + br label %if.end + +if.else: ; preds = %lor.lhs.false + store i32 0, i32* %read_access, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %4 = load i32, i32* %flags.addr, align 4 + %and3 = and i32 %4, 1 + %tobool4 = icmp ne i32 %and3, 0 + br i1 %tobool4, label %if.then8, label %lor.lhs.false5 + +lor.lhs.false5: ; preds = %if.end + %5 = load i32, i32* %flags.addr, align 4 + %and6 = and i32 %5, 2 + %tobool7 = icmp ne i32 %and6, 0 + br i1 %tobool7, label %if.then8, label %if.else9 + +if.then8: ; preds = %lor.lhs.false5, %if.end + store i32 1, i32* %write_access, align 4 + br label %if.end10 + +if.else9: ; preds = %lor.lhs.false5 + store i32 0, i32* %write_access, align 4 + br label %if.end10 + +if.end10: ; preds = %if.else9, %if.then8 + %6 = load i32, i32* %read_access, align 4 + %tobool11 = icmp ne i32 %6, 0 + br i1 %tobool11, label %land.lhs.true, label %if.end18 + +land.lhs.true: ; preds = %if.end10 + %7 = load i32, i32* %mode, align 4 + %and12 = and i32 %7, 256 + %8 = load i32, i32* %mode, align 4 + %and13 = and i32 %8, 32 + %or = or i32 %and12, %and13 + %9 = load i32, i32* %mode, align 4 + %and14 = and i32 %9, 4 + %or15 = or i32 %or, %and14 + %tobool16 = icmp ne i32 %or15, 0 + br i1 %tobool16, label %if.then17, label %if.end18 + +if.then17: ; preds = %land.lhs.true + store i32 0, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %land.lhs.true, %if.end10 + %10 = load i32, i32* %write_access, align 4 + %tobool19 = icmp ne i32 %10, 0 + br i1 %tobool19, label %land.lhs.true20, label %if.end28 + +land.lhs.true20: ; preds = %if.end18 + %11 = load i32, i32* %mode, align 4 + %and21 = and i32 %11, 128 + %12 = load i32, i32* %mode, align 4 + %and22 = and i32 %12, 16 + %or23 = or i32 %and21, %and22 + %13 = load i32, i32* %mode, align 4 + %and24 = and i32 %13, 2 + %or25 = or i32 %or23, %and24 + %tobool26 = icmp ne i32 %or25, 0 + br i1 %tobool26, label %if.end28, label %if.then27 + +if.then27: ; preds = %land.lhs.true20 + store i32 0, i32* %retval, align 4 + br label %return + +if.end28: ; preds = %land.lhs.true20, %if.end18 + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end28, %if.then27, %if.then17 + %14 = load i32, i32* %retval, align 4 + ret i32 %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_openat(i32 %basefd, i8* %pathname, i32 %flags, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %basefd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %fd = alloca i32, align 4 + %bf = alloca %struct.exe_file_t*, align 8 + %os_fd = alloca i32, align 4 + store i32 %basefd, i32* %basefd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %basefd.addr, align 4 + %cmp = icmp ne i32 %0, -100 + br i1 %cmp, label %if.then, label %if.end8 + +if.then: ; preds = %entry + %1 = load i32, i32* %basefd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %bf, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %bf, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.else, label %if.then1 + +if.then1: ; preds = %if.then + %call2 = call i32* @__errno_location() #26 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %bf, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 3 + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool3 = icmp ne %struct.exe_disk_file_t* %4, null + br i1 %tobool3, label %if.then4, label %if.end6 + +if.then4: ; preds = %if.else + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0)) + %call5 = call i32* @__errno_location() #26 + store i32 2, i32* %call5, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.else + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %bf, align 8 + %fd7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd7, align 8 + store i32 %6, i32* %basefd.addr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end6, %entry + %7 = load i8*, i8** %pathname.addr, align 8 + %call9 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %7) + %tobool10 = icmp ne %struct.exe_disk_file_t* %call9, null + br i1 %tobool10, label %if.then11, label %if.end13 + +if.then11: ; preds = %if.end8 + %8 = load i8*, i8** %pathname.addr, align 8 + %9 = load i32, i32* %flags.addr, align 4 + %10 = load i32, i32* %mode.addr, align 4 + %call12 = call i32 @__fd_open(i8* %8, i32 %9, i32 %10) + store i32 %call12, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.end8 + store i32 0, i32* %fd, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end13 + %11 = load i32, i32* %fd, align 4 + %cmp14 = icmp slt i32 %11, 32 + br i1 %cmp14, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %12 = load i32, i32* %fd, align 4 + %idxprom = sext i32 %12 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + %flags15 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %arrayidx, i32 0, i32 1 + %13 = load i32, i32* %flags15, align 4 + %and = and i32 %13, 1 + %tobool16 = icmp ne i32 %and, 0 + br i1 %tobool16, label %for.inc, label %for.end + +for.inc: ; preds = %for.body + %14 = load i32, i32* %fd, align 4 + %inc = add nsw i32 %14, 1 + store i32 %inc, i32* %fd, align 4 + br label %for.cond + +for.end: ; preds = %for.body, %for.cond + %15 = load i32, i32* %fd, align 4 + %cmp19 = icmp eq i32 %15, 32 + br i1 %cmp19, label %if.then20, label %if.end22 + +if.then20: ; preds = %for.end + %call21 = call i32* @__errno_location() #26 + store i32 24, i32* %call21, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end22: ; preds = %for.end + %16 = load i32, i32* %fd, align 4 + %idxprom23 = sext i32 %16 to i64 + %arrayidx24 = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom23 + store %struct.exe_file_t* %arrayidx24, %struct.exe_file_t** %f, align 8 + %17 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %18 = bitcast %struct.exe_file_t* %17 to i8* + %19 = call i8* @memset(i8* %18, i32 0, i64 24) + %20 = load i32, i32* %basefd.addr, align 4 + %conv = sext i32 %20 to i64 + %21 = load i8*, i8** %pathname.addr, align 8 + %call25 = call i8* @__concretize_string(i8* %21) + %22 = load i32, i32* %flags.addr, align 4 + %conv26 = sext i32 %22 to i64 + %23 = load i32, i32* %mode.addr, align 4 + %call27 = call i64 (i64, ...) @syscall(i64 257, i64 %conv, i8* %call25, i64 %conv26, i32 %23) #11 + %conv28 = trunc i64 %call27 to i32 + store i32 %conv28, i32* %os_fd, align 4 + %24 = load i32, i32* %os_fd, align 4 + %cmp29 = icmp eq i32 %24, -1 + br i1 %cmp29, label %if.then31, label %if.end32 + +if.then31: ; preds = %if.end22 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end32: ; preds = %if.end22 + %25 = load i32, i32* %os_fd, align 4 + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd33 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 0 + store i32 %25, i32* %fd33, align 8 + %27 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags34 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %27, i32 0, i32 1 + store i32 1, i32* %flags34, align 4 + %28 = load i32, i32* %flags.addr, align 4 + %and35 = and i32 %28, 3 + %cmp36 = icmp eq i32 %and35, 0 + br i1 %cmp36, label %if.then38, label %if.else40 + +if.then38: ; preds = %if.end32 + %29 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags39 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %29, i32 0, i32 1 + %30 = load i32, i32* %flags39, align 4 + %or = or i32 %30, 4 + store i32 %or, i32* %flags39, align 4 + br label %if.end51 + +if.else40: ; preds = %if.end32 + %31 = load i32, i32* %flags.addr, align 4 + %and41 = and i32 %31, 3 + %cmp42 = icmp eq i32 %and41, 1 + %32 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags45 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %32, i32 0, i32 1 + %33 = load i32, i32* %flags45, align 4 + br i1 %cmp42, label %if.then44, label %if.else47 + +if.then44: ; preds = %if.else40 + %or46 = or i32 %33, 8 + store i32 %or46, i32* %flags45, align 4 + br label %if.end51 + +if.else47: ; preds = %if.else40 + %or49 = or i32 %33, 12 + store i32 %or49, i32* %flags45, align 4 + br label %if.end51 + +if.end51: ; preds = %if.then44, %if.else47, %if.then38 + %34 = load i32, i32* %fd, align 4 + store i32 %34, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end51, %if.then31, %if.then20, %if.then11, %if.then4, %if.then1 + %35 = load i32, i32* %retval, align 4 + ret i32 %35 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.exe_file_t* @__get_file(i32 %fd) #3 { +entry: + %retval = alloca %struct.exe_file_t*, align 8 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %cmp = icmp sge i32 %0, 0 + %1 = load i32, i32* %fd.addr, align 4 + %cmp1 = icmp slt i32 %1, 32 + %or.cond = and i1 %cmp, %cmp1 + br i1 %or.cond, label %if.then, label %if.end3 + +if.then: ; preds = %entry + %2 = load i32, i32* %fd.addr, align 4 + %idxprom = sext i32 %2 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + store %struct.exe_file_t* %arrayidx, %struct.exe_file_t** %f, align 8 + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 1 + %4 = load i32, i32* %flags, align 4 + %and = and i32 %4, 1 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.then + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + store %struct.exe_file_t* %5, %struct.exe_file_t** %retval, align 8 + br label %return + +if.end3: ; preds = %if.then, %entry + store %struct.exe_file_t* null, %struct.exe_file_t** %retval, align 8 + br label %return + +return: ; preds = %if.end3, %if.then2 + %6 = load %struct.exe_file_t*, %struct.exe_file_t** %retval, align 8 + ret %struct.exe_file_t* %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @utimes(i8* nonnull %path, %struct.timespec* %times) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %times.addr = alloca %struct.timespec*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + %newTimes = alloca [2 x %struct.timespec], align 16 + store i8* %path, i8** %path.addr, align 8 + store %struct.timespec* %times, %struct.timespec** %times.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end12 + +if.then: ; preds = %entry + %2 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %tobool1 = icmp ne %struct.timespec* %2, null + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + %arrayidx = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 0 + %call3 = call i32 @gettimeofday(%struct.timespec* %arrayidx, i8* null) #11 + %arrayidx4 = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 1 + %arrayidx5 = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 0 + %3 = bitcast %struct.timespec* %arrayidx4 to i8* + %4 = bitcast %struct.timespec* %arrayidx5 to i8* + %5 = call i8* @memcpy(i8* %3, i8* %4, i64 16) + %arraydecay = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 0 + store %struct.timespec* %arraydecay, %struct.timespec** %times.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %6 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %arrayidx6 = getelementptr inbounds %struct.timespec, %struct.timespec* %6, i64 0 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %arrayidx6, i32 0, i32 0 + %7 = load i64, i64* %tv_sec, align 8 + %8 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %8, i32 0, i32 2 + %9 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_atim = getelementptr inbounds %struct.stat64, %struct.stat64* %9, i32 0, i32 11 + %tv_sec7 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim, i32 0, i32 0 + store i64 %7, i64* %tv_sec7, align 8 + %10 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %arrayidx8 = getelementptr inbounds %struct.timespec, %struct.timespec* %10, i64 1 + %tv_sec9 = getelementptr inbounds %struct.timespec, %struct.timespec* %arrayidx8, i32 0, i32 0 + %11 = load i64, i64* %tv_sec9, align 8 + %12 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat10 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %12, i32 0, i32 2 + %13 = load %struct.stat64*, %struct.stat64** %stat10, align 8 + %st_mtim = getelementptr inbounds %struct.stat64, %struct.stat64* %13, i32 0, i32 12 + %tv_sec11 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim, i32 0, i32 0 + store i64 %11, i64* %tv_sec11, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.end12: ; preds = %entry + %14 = load i8*, i8** %path.addr, align 8 + %call13 = call i8* @__concretize_string(i8* %14) + %15 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %call14 = call i64 (i64, ...) @syscall(i64 235, i8* %call13, %struct.timespec* %15) #11 + %conv = trunc i64 %call14 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end12, %if.end + %16 = load i32, i32* %retval, align 4 + ret i32 %16 +} + +; Function Attrs: nounwind +declare dso_local i32 @gettimeofday(%struct.timespec*, i8*) #4 + +; Function Attrs: argmemonly nounwind willreturn +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* noalias nocapture writeonly, i8* noalias nocapture readonly, i64, i1 immarg) #9 + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @futimesat(i32 %fd, i8* %path, %struct.timespec* %times) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %times.addr = alloca %struct.timespec*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.timespec* %times, %struct.timespec** %times.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %cmp = icmp ne i32 %0, -100 + br i1 %cmp, label %if.then, label %if.end8 + +if.then: ; preds = %entry + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.else, label %if.then1 + +if.then1: ; preds = %if.then + %call2 = call i32* @__errno_location() #26 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 3 + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool3 = icmp ne %struct.exe_disk_file_t* %4, null + br i1 %tobool3, label %if.then4, label %if.end6 + +if.then4: ; preds = %if.else + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0)) + %call5 = call i32* @__errno_location() #26 + store i32 2, i32* %call5, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.else + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd7, align 8 + store i32 %6, i32* %fd.addr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end6, %entry + %7 = load i8*, i8** %path.addr, align 8 + %call9 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %7) + %tobool10 = icmp ne %struct.exe_disk_file_t* %call9, null + br i1 %tobool10, label %if.then11, label %if.end13 + +if.then11: ; preds = %if.end8 + %8 = load i8*, i8** %path.addr, align 8 + %9 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %call12 = call i32 @utimes(i8* %8, %struct.timespec* %9) #11 + store i32 %call12, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.end8 + %10 = load i32, i32* %fd.addr, align 4 + %conv = sext i32 %10 to i64 + %11 = load i8*, i8** %path.addr, align 8 + %tobool14 = icmp ne i8* %11, null + br i1 %tobool14, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end13 + %12 = load i8*, i8** %path.addr, align 8 + %call15 = call i8* @__concretize_string(i8* %12) + br label %cond.end + +cond.end: ; preds = %if.end13, %cond.true + %cond = phi i8* [ %call15, %cond.true ], [ null, %if.end13 ] + %13 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %call16 = call i64 (i64, ...) @syscall(i64 261, i64 %conv, i8* %cond, %struct.timespec* %13) #11 + %conv17 = trunc i64 %call16 to i32 + store i32 %conv17, i32* %retval, align 4 + br label %return + +return: ; preds = %cond.end, %if.then11, %if.then4, %if.then1 + %14 = load i32, i32* %retval, align 4 + ret i32 %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @close(i32 %fd) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %r = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 0, i32* %r, align 4 + %0 = load i32, i32* @close.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @close.n_calls, align 4 + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #26 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @close.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #26 + store i32 5, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %9 = bitcast %struct.exe_file_t* %8 to i8* + %10 = call i8* @memset(i8* %9, i32 0, i64 24) + %11 = load i32, i32* %r, align 4 + store i32 %11, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %12 = load i32, i32* %retval, align 4 + ret i32 %12 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @read(i32 %fd, i8* %buf, i64 %count) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %r = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + %0 = load i32, i32* @read.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @read.n_calls, align 4 + %1 = load i64, i64* %count.addr, align 8 + %cmp = icmp eq i64 %1, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i64 0, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %buf.addr, align 8 + %cmp1 = icmp eq i8* %2, null + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + %call = call i32* @__errno_location() #26 + store i32 14, i32* %call, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %3 = load i32, i32* %fd.addr, align 4 + %call4 = call %struct.exe_file_t* @__get_file(i32 %3) + store %struct.exe_file_t* %call4, %struct.exe_file_t** %f, align 8 + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %4, null + br i1 %tobool, label %if.end7, label %if.then5 + +if.then5: ; preds = %if.end3 + %call6 = call i32* @__errno_location() #26 + store i32 9, i32* %call6, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end7: ; preds = %if.end3 + %5 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool8 = icmp ne i32 %5, 0 + br i1 %tobool8, label %land.lhs.true, label %if.end12 + +land.lhs.true: ; preds = %if.end7 + %6 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %7 = load i32, i32* %6, align 4 + %8 = load i32, i32* @read.n_calls, align 4 + %cmp9 = icmp eq i32 %7, %8 + br i1 %cmp9, label %if.then10, label %if.end12 + +if.then10: ; preds = %land.lhs.true + %9 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %9, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call11 = call i32* @__errno_location() #26 + store i32 5, i32* %call11, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end12: ; preds = %land.lhs.true, %if.end7 + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 3 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool13 = icmp ne %struct.exe_disk_file_t* %11, null + br i1 %tobool13, label %if.else38, label %if.then14 + +if.then14: ; preds = %if.end12 + %12 = load i8*, i8** %buf.addr, align 8 + %call15 = call i8* @__concretize_ptr(i8* %12) + store i8* %call15, i8** %buf.addr, align 8 + %13 = load i64, i64* %count.addr, align 8 + %call16 = call i64 @__concretize_size(i64 %13) + store i64 %call16, i64* %count.addr, align 8 + %14 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd17 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %14, i32 0, i32 0 + %15 = load i32, i32* %fd17, align 8 + %cmp18 = icmp eq i32 %15, 0 + %16 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd20 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %16, i32 0, i32 0 + %17 = load i32, i32* %fd20, align 8 + %18 = load i8*, i8** %buf.addr, align 8 + %19 = load i64, i64* %count.addr, align 8 + br i1 %cmp18, label %if.then19, label %if.else + +if.then19: ; preds = %if.then14 + %call21 = call i64 (i64, ...) @syscall(i64 0, i32 %17, i8* %18, i64 %19) #11 + %conv = trunc i64 %call21 to i32 + store i32 %conv, i32* %r, align 4 + br label %if.end25 + +if.else: ; preds = %if.then14 + %20 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %20, i32 0, i32 2 + %21 = load i64, i64* %off, align 8 + %call23 = call i64 (i64, ...) @syscall(i64 17, i32 %17, i8* %18, i64 %19, i64 %21) #11 + %conv24 = trunc i64 %call23 to i32 + store i32 %conv24, i32* %r, align 4 + br label %if.end25 + +if.end25: ; preds = %if.else, %if.then19 + %22 = load i32, i32* %r, align 4 + %cmp26 = icmp eq i32 %22, -1 + br i1 %cmp26, label %if.then28, label %if.end29 + +if.then28: ; preds = %if.end25 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end29: ; preds = %if.end25 + %23 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd30 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %23, i32 0, i32 0 + %24 = load i32, i32* %fd30, align 8 + %cmp31 = icmp ne i32 %24, 0 + br i1 %cmp31, label %if.then33, label %if.end36 + +if.then33: ; preds = %if.end29 + %25 = load i32, i32* %r, align 4 + %conv34 = sext i32 %25 to i64 + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off35 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 2 + %27 = load i64, i64* %off35, align 8 + %add = add nsw i64 %27, %conv34 + store i64 %add, i64* %off35, align 8 + br label %if.end36 + +if.end36: ; preds = %if.then33, %if.end29 + %28 = load i32, i32* %r, align 4 + %conv37 = sext i32 %28 to i64 + store i64 %conv37, i64* %retval, align 8 + br label %return + +if.else38: ; preds = %if.end12 + %29 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off39 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %29, i32 0, i32 2 + %30 = load i64, i64* %off39, align 8 + %cmp40 = icmp sge i64 %30, 0 + br i1 %cmp40, label %if.end44, label %if.else43 + +if.else43: ; preds = %if.else38 + call void @__assert_fail(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.3, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 393, i8* getelementptr inbounds ([34 x i8], [34 x i8]* @__PRETTY_FUNCTION__.read, i64 0, i64 0)) #27 + unreachable + +if.end44: ; preds = %if.else38 + %31 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile45 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %31, i32 0, i32 3 + %32 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile45, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %32, i32 0, i32 0 + %33 = load i32, i32* %size, align 8 + %conv46 = zext i32 %33 to i64 + %34 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off47 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %34, i32 0, i32 2 + %35 = load i64, i64* %off47, align 8 + %cmp48 = icmp slt i64 %conv46, %35 + br i1 %cmp48, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.end44 + store i64 0, i64* %retval, align 8 + br label %return + +if.end51: ; preds = %if.end44 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off52 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 2 + %37 = load i64, i64* %off52, align 8 + %38 = load i64, i64* %count.addr, align 8 + %add53 = add i64 %37, %38 + %39 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %39, i32 0, i32 3 + %40 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile54, align 8 + %size55 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %40, i32 0, i32 0 + %41 = load i32, i32* %size55, align 8 + %conv56 = zext i32 %41 to i64 + %cmp57 = icmp ugt i64 %add53, %conv56 + br i1 %cmp57, label %if.then59, label %if.end64 + +if.then59: ; preds = %if.end51 + %42 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile60 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %42, i32 0, i32 3 + %43 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile60, align 8 + %size61 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %43, i32 0, i32 0 + %44 = load i32, i32* %size61, align 8 + %conv62 = zext i32 %44 to i64 + %45 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off63 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %45, i32 0, i32 2 + %46 = load i64, i64* %off63, align 8 + %sub = sub nsw i64 %conv62, %46 + store i64 %sub, i64* %count.addr, align 8 + br label %if.end64 + +if.end64: ; preds = %if.then59, %if.end51 + %47 = load i8*, i8** %buf.addr, align 8 + %48 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile65 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %48, i32 0, i32 3 + %49 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile65, align 8 + %contents = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %49, i32 0, i32 1 + %50 = load i8*, i8** %contents, align 8 + %51 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off66 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %51, i32 0, i32 2 + %52 = load i64, i64* %off66, align 8 + %add.ptr = getelementptr inbounds i8, i8* %50, i64 %52 + %53 = load i64, i64* %count.addr, align 8 + %54 = call i8* @memcpy(i8* %47, i8* %add.ptr, i64 %53) + %55 = load i64, i64* %count.addr, align 8 + %56 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off67 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %56, i32 0, i32 2 + %57 = load i64, i64* %off67, align 8 + %add68 = add i64 %57, %55 + store i64 %add68, i64* %off67, align 8 + %58 = load i64, i64* %count.addr, align 8 + store i64 %58, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end64, %if.then50, %if.end36, %if.then28, %if.then10, %if.then5, %if.then2, %if.then + %59 = load i64, i64* %retval, align 8 + ret i64 %59 +} + +; Function Attrs: noreturn nounwind +declare dso_local void @__assert_fail(i8*, i8*, i32, i8*) #10 + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @write(i32 %fd, i8* %buf, i64 %count) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %r = alloca i32, align 4 + %actual_count = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + %0 = load i32, i32* @write.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @write.n_calls, align 4 + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #26 + store i32 9, i32* %call1, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @write.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #26 + store i32 5, i32* %call4, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + br i1 %tobool6, label %if.else42, label %if.then7 + +if.then7: ; preds = %if.end5 + %10 = load i8*, i8** %buf.addr, align 8 + %call8 = call i8* @__concretize_ptr(i8* %10) + store i8* %call8, i8** %buf.addr, align 8 + %11 = load i64, i64* %count.addr, align 8 + %call9 = call i64 @__concretize_size(i64 %11) + store i64 %call9, i64* %count.addr, align 8 + %12 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd10 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %12, i32 0, i32 0 + %13 = load i32, i32* %fd10, align 8 + %cmp11 = icmp eq i32 %13, 1 + br i1 %cmp11, label %if.then14, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then7 + %14 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd12 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %14, i32 0, i32 0 + %15 = load i32, i32* %fd12, align 8 + %cmp13 = icmp eq i32 %15, 2 + br i1 %cmp13, label %if.then14, label %if.else + +if.then14: ; preds = %lor.lhs.false, %if.then7 + %16 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd15 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %16, i32 0, i32 0 + %17 = load i32, i32* %fd15, align 8 + %18 = load i8*, i8** %buf.addr, align 8 + %19 = load i64, i64* %count.addr, align 8 + %call16 = call i64 (i64, ...) @syscall(i64 1, i32 %17, i8* %18, i64 %19) #11 + %conv = trunc i64 %call16 to i32 + store i32 %conv, i32* %r, align 4 + br label %if.end20 + +if.else: ; preds = %lor.lhs.false + %20 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd17 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %20, i32 0, i32 0 + %21 = load i32, i32* %fd17, align 8 + %22 = load i8*, i8** %buf.addr, align 8 + %23 = load i64, i64* %count.addr, align 8 + %24 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %24, i32 0, i32 2 + %25 = load i64, i64* %off, align 8 + %call18 = call i64 (i64, ...) @syscall(i64 18, i32 %21, i8* %22, i64 %23, i64 %25) #11 + %conv19 = trunc i64 %call18 to i32 + store i32 %conv19, i32* %r, align 4 + br label %if.end20 + +if.end20: ; preds = %if.else, %if.then14 + %26 = load i32, i32* %r, align 4 + %cmp21 = icmp eq i32 %26, -1 + br i1 %cmp21, label %if.then23, label %if.end24 + +if.then23: ; preds = %if.end20 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end24: ; preds = %if.end20 + %27 = load i32, i32* %r, align 4 + %cmp25 = icmp sge i32 %27, 0 + br i1 %cmp25, label %if.end29, label %if.else28 + +if.else28: ; preds = %if.end24 + call void @__assert_fail(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.5.7, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 445, i8* getelementptr inbounds ([41 x i8], [41 x i8]* @__PRETTY_FUNCTION__.write, i64 0, i64 0)) #27 + unreachable + +if.end29: ; preds = %if.end24 + %28 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd30 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %28, i32 0, i32 0 + %29 = load i32, i32* %fd30, align 8 + %cmp31 = icmp ne i32 %29, 1 + br i1 %cmp31, label %land.lhs.true33, label %if.end40 + +land.lhs.true33: ; preds = %if.end29 + %30 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd34 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %30, i32 0, i32 0 + %31 = load i32, i32* %fd34, align 8 + %cmp35 = icmp ne i32 %31, 2 + br i1 %cmp35, label %if.then37, label %if.end40 + +if.then37: ; preds = %land.lhs.true33 + %32 = load i32, i32* %r, align 4 + %conv38 = sext i32 %32 to i64 + %33 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off39 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %33, i32 0, i32 2 + %34 = load i64, i64* %off39, align 8 + %add = add nsw i64 %34, %conv38 + store i64 %add, i64* %off39, align 8 + br label %if.end40 + +if.end40: ; preds = %if.then37, %land.lhs.true33, %if.end29 + %35 = load i32, i32* %r, align 4 + %conv41 = sext i32 %35 to i64 + store i64 %conv41, i64* %retval, align 8 + br label %return + +if.else42: ; preds = %if.end5 + store i64 0, i64* %actual_count, align 8 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off43 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 2 + %37 = load i64, i64* %off43, align 8 + %38 = load i64, i64* %count.addr, align 8 + %add44 = add i64 %37, %38 + %39 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile45 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %39, i32 0, i32 3 + %40 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile45, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %40, i32 0, i32 0 + %41 = load i32, i32* %size, align 8 + %conv46 = zext i32 %41 to i64 + %cmp47 = icmp ule i64 %add44, %conv46 + br i1 %cmp47, label %if.then49, label %if.else50 + +if.then49: ; preds = %if.else42 + %42 = load i64, i64* %count.addr, align 8 + store i64 %42, i64* %actual_count, align 8 + br label %if.end67 + +if.else50: ; preds = %if.else42 + %43 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 3), align 8 + %tobool51 = icmp ne i32 %43, 0 + br i1 %tobool51, label %if.then52, label %if.else53 + +if.then52: ; preds = %if.else50 + call void @__assert_fail(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.6, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 458, i8* getelementptr inbounds ([41 x i8], [41 x i8]* @__PRETTY_FUNCTION__.write, i64 0, i64 0)) #27 + unreachable + +if.else53: ; preds = %if.else50 + %44 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %44, i32 0, i32 2 + %45 = load i64, i64* %off54, align 8 + %46 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile55 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %46, i32 0, i32 3 + %47 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile55, align 8 + %size56 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %47, i32 0, i32 0 + %48 = load i32, i32* %size56, align 8 + %conv57 = zext i32 %48 to i64 + %cmp58 = icmp slt i64 %45, %conv57 + br i1 %cmp58, label %if.then60, label %if.end67 + +if.then60: ; preds = %if.else53 + %49 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile61 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %49, i32 0, i32 3 + %50 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile61, align 8 + %size62 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %50, i32 0, i32 0 + %51 = load i32, i32* %size62, align 8 + %conv63 = zext i32 %51 to i64 + %52 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off64 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %52, i32 0, i32 2 + %53 = load i64, i64* %off64, align 8 + %sub = sub nsw i64 %conv63, %53 + store i64 %sub, i64* %actual_count, align 8 + br label %if.end67 + +if.end67: ; preds = %if.then60, %if.else53, %if.then49 + %54 = load i64, i64* %actual_count, align 8 + %tobool68 = icmp ne i64 %54, 0 + br i1 %tobool68, label %if.then69, label %if.end72 + +if.then69: ; preds = %if.end67 + %55 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile70 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %55, i32 0, i32 3 + %56 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile70, align 8 + %contents = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %56, i32 0, i32 1 + %57 = load i8*, i8** %contents, align 8 + %58 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off71 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %58, i32 0, i32 2 + %59 = load i64, i64* %off71, align 8 + %add.ptr = getelementptr inbounds i8, i8* %57, i64 %59 + %60 = load i8*, i8** %buf.addr, align 8 + %61 = load i64, i64* %actual_count, align 8 + %62 = call i8* @memcpy(i8* %add.ptr, i8* %60, i64 %61) + br label %if.end72 + +if.end72: ; preds = %if.then69, %if.end67 + %63 = load i64, i64* %count.addr, align 8 + %64 = load i64, i64* %actual_count, align 8 + %cmp73 = icmp ne i64 %63, %64 + br i1 %cmp73, label %if.then75, label %if.end76 + +if.then75: ; preds = %if.end72 + call void @gs_warning(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.7, i64 0, i64 0)) + br label %if.end76 + +if.end76: ; preds = %if.then75, %if.end72 + %65 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile77 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %65, i32 0, i32 3 + %66 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile77, align 8 + %67 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + %cmp78 = icmp eq %struct.exe_disk_file_t* %66, %67 + br i1 %cmp78, label %if.then80, label %if.end84 + +if.then80: ; preds = %if.end76 + %68 = load i64, i64* %actual_count, align 8 + %69 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 3), align 8 + %conv81 = zext i32 %69 to i64 + %add82 = add i64 %conv81, %68 + %conv83 = trunc i64 %add82 to i32 + store i32 %conv83, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 3), align 8 + br label %if.end84 + +if.end84: ; preds = %if.then80, %if.end76 + %70 = load i64, i64* %count.addr, align 8 + %71 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off85 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %71, i32 0, i32 2 + %72 = load i64, i64* %off85, align 8 + %add86 = add i64 %72, %70 + store i64 %add86, i64* %off85, align 8 + %73 = load i64, i64* %count.addr, align 8 + store i64 %73, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end84, %if.end40, %if.then23, %if.then3, %if.then + %74 = load i64, i64* %retval, align 8 + ret i64 %74 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @__fd_lseek(i32 %fd, i64 %offset, i32 %whence) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + %new_off = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #26 + store i32 9, i32* %call1, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + %4 = load i32, i32* %whence.addr, align 4 + br i1 %tobool2, label %if.end24, label %if.then3 + +if.then3: ; preds = %if.end + %cmp = icmp eq i32 %4, 0 + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd5 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd5, align 8 + br i1 %cmp, label %if.then4, label %if.else + +if.then4: ; preds = %if.then3 + %7 = load i64, i64* %offset.addr, align 8 + %call6 = call i64 (i64, ...) @syscall(i64 8, i32 %6, i64 %7, i32 0) #11 + store i64 %call6, i64* %new_off, align 8 + br label %if.end19 + +if.else: ; preds = %if.then3 + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 2 + %9 = load i64, i64* %off, align 8 + %call8 = call i64 (i64, ...) @syscall(i64 8, i32 %6, i64 %9, i32 0) #11 + store i64 %call8, i64* %new_off, align 8 + %10 = load i64, i64* %new_off, align 8 + %cmp9 = icmp ne i64 %10, -1 + br i1 %cmp9, label %if.then10, label %if.end19 + +if.then10: ; preds = %if.else + %11 = load i64, i64* %new_off, align 8 + %12 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off11 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %12, i32 0, i32 2 + %13 = load i64, i64* %off11, align 8 + %cmp12 = icmp eq i64 %11, %13 + br i1 %cmp12, label %if.end15, label %if.else14 + +if.else14: ; preds = %if.then10 + call void @__assert_fail(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.8, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 504, i8* getelementptr inbounds ([38 x i8], [38 x i8]* @__PRETTY_FUNCTION__.__fd_lseek, i64 0, i64 0)) #27 + unreachable + +if.end15: ; preds = %if.then10 + %14 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd16 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %14, i32 0, i32 0 + %15 = load i32, i32* %fd16, align 8 + %16 = load i64, i64* %offset.addr, align 8 + %17 = load i32, i32* %whence.addr, align 4 + %call17 = call i64 (i64, ...) @syscall(i64 8, i32 %15, i64 %16, i32 %17) #11 + store i64 %call17, i64* %new_off, align 8 + br label %if.end19 + +if.end19: ; preds = %if.else, %if.end15, %if.then4 + %18 = load i64, i64* %new_off, align 8 + %cmp20 = icmp eq i64 %18, -1 + br i1 %cmp20, label %if.then21, label %if.end22 + +if.then21: ; preds = %if.end19 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end22: ; preds = %if.end19 + %19 = load i64, i64* %new_off, align 8 + %20 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off23 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %20, i32 0, i32 2 + store i64 %19, i64* %off23, align 8 + %21 = load i64, i64* %new_off, align 8 + store i64 %21, i64* %retval, align 8 + br label %return + +if.end24: ; preds = %if.end + br label %NodeBlock3 + +NodeBlock3: ; preds = %if.end24 + %case.cmp4 = icmp eq i32 %4, 0 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %4, 1 + br i1 %case.cmp2, label %sw.bb25, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %4, 2 + br i1 %case.cmp, label %sw.bb27, label %newDefault + +sw.bb: ; preds = %NodeBlock3 + %22 = load i64, i64* %offset.addr, align 8 + store i64 %22, i64* %new_off, align 8 + br label %sw.epilog + +sw.bb25: ; preds = %NodeBlock1 + %23 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off26 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %23, i32 0, i32 2 + %24 = load i64, i64* %off26, align 8 + %25 = load i64, i64* %offset.addr, align 8 + %add = add nsw i64 %24, %25 + store i64 %add, i64* %new_off, align 8 + br label %sw.epilog + +sw.bb27: ; preds = %NodeBlock + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile28 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 3 + %27 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile28, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %27, i32 0, i32 0 + %28 = load i32, i32* %size, align 8 + %conv = zext i32 %28 to i64 + %29 = load i64, i64* %offset.addr, align 8 + %add29 = add nsw i64 %conv, %29 + store i64 %add29, i64* %new_off, align 8 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + %call30 = call i32* @__errno_location() #26 + store i32 22, i32* %call30, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +sw.epilog: ; preds = %sw.bb27, %sw.bb25, %sw.bb + %30 = load i64, i64* %new_off, align 8 + %cmp31 = icmp slt i64 %30, 0 + br i1 %cmp31, label %if.then33, label %if.end35 + +if.then33: ; preds = %sw.epilog + %call34 = call i32* @__errno_location() #26 + store i32 22, i32* %call34, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end35: ; preds = %sw.epilog + %31 = load i64, i64* %new_off, align 8 + %32 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off36 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %32, i32 0, i32 2 + store i64 %31, i64* %off36, align 8 + %33 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off37 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %33, i32 0, i32 2 + %34 = load i64, i64* %off37, align 8 + store i64 %34, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end35, %if.then33, %sw.default, %if.end22, %if.then21, %if.then + %35 = load i64, i64* %retval, align 8 + ret i64 %35 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_stat(i8* %path, %struct.stat64* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %3 = bitcast %struct.stat64* %2 to i8* + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %4, i32 0, i32 2 + %5 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %6 = bitcast %struct.stat64* %5 to i8* + %7 = call i8* @memcpy(i8* %3, i8* %6, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load i8*, i8** %path.addr, align 8 + %call1 = call i8* @__concretize_string(i8* %8) + %9 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %call2 = call i64 (i64, ...) @syscall(i64 4, i8* %call1, %struct.stat64* %9) #11 + %conv = trunc i64 %call2 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %10 = load i32, i32* %retval, align 4 + ret i32 %10 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstatat(i32 %fd, i8* nonnull %path, %struct.stat64* nonnull %buf, i32 %flags) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %flags.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %dfile9 = alloca %struct.exe_disk_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %cmp = icmp ne i32 %0, -100 + br i1 %cmp, label %if.then, label %if.end8 + +if.then: ; preds = %entry + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.else, label %if.then1 + +if.then1: ; preds = %if.then + %call2 = call i32* @__errno_location() #26 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 3 + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool3 = icmp ne %struct.exe_disk_file_t* %4, null + br i1 %tobool3, label %if.then4, label %if.end6 + +if.then4: ; preds = %if.else + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0)) + %call5 = call i32* @__errno_location() #26 + store i32 2, i32* %call5, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.else + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd7, align 8 + store i32 %6, i32* %fd.addr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end6, %entry + %7 = load i8*, i8** %path.addr, align 8 + %call10 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %7) + store %struct.exe_disk_file_t* %call10, %struct.exe_disk_file_t** %dfile9, align 8 + %8 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile9, align 8 + %tobool11 = icmp ne %struct.exe_disk_file_t* %8, null + br i1 %tobool11, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.end8 + %9 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %10 = bitcast %struct.stat64* %9 to i8* + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile9, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %11, i32 0, i32 2 + %12 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %13 = bitcast %struct.stat64* %12 to i8* + %14 = call i8* @memcpy(i8* %10, i8* %13, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.end8 + %15 = load i32, i32* %fd.addr, align 4 + %conv = sext i32 %15 to i64 + %16 = load i8*, i8** %path.addr, align 8 + %tobool14 = icmp ne i8* %16, null + br i1 %tobool14, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end13 + %17 = load i8*, i8** %path.addr, align 8 + %call15 = call i8* @__concretize_string(i8* %17) + br label %cond.end + +cond.end: ; preds = %if.end13, %cond.true + %cond = phi i8* [ %call15, %cond.true ], [ null, %if.end13 ] + %18 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %19 = load i32, i32* %flags.addr, align 4 + %conv16 = sext i32 %19 to i64 + %call17 = call i64 (i64, ...) @syscall(i64 262, i64 %conv, i8* %cond, %struct.stat64* %18, i64 %conv16) #11 + %conv18 = trunc i64 %call17 to i32 + store i32 %conv18, i32* %retval, align 4 + br label %return + +return: ; preds = %cond.end, %if.then12, %if.then4, %if.then1 + %20 = load i32, i32* %retval, align 4 + ret i32 %20 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_lstat(i8* %path, %struct.stat64* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %3 = bitcast %struct.stat64* %2 to i8* + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %4, i32 0, i32 2 + %5 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %6 = bitcast %struct.stat64* %5 to i8* + %7 = call i8* @memcpy(i8* %3, i8* %6, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load i8*, i8** %path.addr, align 8 + %call1 = call i8* @__concretize_string(i8* %8) + %9 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %call2 = call i64 (i64, ...) @syscall(i64 6, i8* %call1, %struct.stat64* %9) #11 + %conv = trunc i64 %call2 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %10 = load i32, i32* %retval, align 4 + ret i32 %10 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chdir(i8* nonnull %path) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0)) + %call1 = call i32* @__errno_location() #26 + store i32 2, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %2) + %call3 = call i64 (i64, ...) @syscall(i64 80, i8* %call2) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %3 = load i32, i32* %retval, align 4 + ret i32 %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fchdir(i32 %fd) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #26 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %if.end + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #26 + store i32 2, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd6, align 8 + %call7 = call i64 (i64, ...) @syscall(i64 81, i32 %5) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chmod(i8* nonnull %path, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load i32, i32* @chmod.n_calls, align 4 + %inc = add nsw i32 %1, 1 + store i32 %inc, i32* @chmod.n_calls, align 4 + %2 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool = icmp ne i32 %2, 0 + br i1 %tobool, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %3 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 11), align 8 + %4 = load i32, i32* %3, align 4 + %5 = load i32, i32* @chmod.n_calls, align 4 + %cmp = icmp eq i32 %4, %5 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %6 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %6, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call1 = call i32* @__errno_location() #26 + store i32 5, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + %7 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %7, null + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %if.end + %8 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %9 = load i32, i32* %mode.addr, align 4 + %call4 = call i32 @__df_chmod(%struct.exe_disk_file_t* %8, i32 %9) + store i32 %call4, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %if.end + %10 = load i8*, i8** %path.addr, align 8 + %call6 = call i8* @__concretize_string(i8* %10) + %11 = load i32, i32* %mode.addr, align 4 + %call7 = call i64 (i64, ...) @syscall(i64 90, i8* %call6, i32 %11) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %12 = load i32, i32* %retval, align 4 + ret i32 %12 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__df_chmod(%struct.exe_disk_file_t* %df, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %df.addr = alloca %struct.exe_disk_file_t*, align 8 + %mode.addr = alloca i32, align 4 + store %struct.exe_disk_file_t* %df, %struct.exe_disk_file_t** %df.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %call = call i32 @geteuid() #11 + %0 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %0, i32 0, i32 2 + %1 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_uid = getelementptr inbounds %struct.stat64, %struct.stat64* %1, i32 0, i32 4 + %2 = load i32, i32* %st_uid, align 4 + %cmp = icmp eq i32 %call, %2 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %call1 = call i32 @getgid() #11 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %3, i32 0, i32 2 + %4 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + %st_gid = getelementptr inbounds %struct.stat64, %struct.stat64* %4, i32 0, i32 5 + %5 = load i32, i32* %st_gid, align 8 + %cmp3 = icmp ne i32 %call1, %5 + br i1 %cmp3, label %if.then4, label %if.end + +if.then4: ; preds = %if.then + %6 = load i32, i32* %mode.addr, align 4 + %and = and i32 %6, -1025 + store i32 %and, i32* %mode.addr, align 4 + br label %if.end + +if.end: ; preds = %if.then4, %if.then + %7 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat5 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %7, i32 0, i32 2 + %8 = load %struct.stat64*, %struct.stat64** %stat5, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %8, i32 0, i32 3 + %9 = load i32, i32* %st_mode, align 8 + %and6 = and i32 %9, -4096 + %10 = load i32, i32* %mode.addr, align 4 + %and7 = and i32 %10, 4095 + %or = or i32 %and6, %and7 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat8 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %11, i32 0, i32 2 + %12 = load %struct.stat64*, %struct.stat64** %stat8, align 8 + %st_mode9 = getelementptr inbounds %struct.stat64, %struct.stat64* %12, i32 0, i32 3 + store i32 %or, i32* %st_mode9, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %call10 = call i32* @__errno_location() #26 + store i32 1, i32* %call10, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.else, %if.end + %13 = load i32, i32* %retval, align 4 + ret i32 %13 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fchmod(i32 %fd, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #26 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i32, i32* @fchmod.n_calls, align 4 + %inc = add nsw i32 %2, 1 + store i32 %inc, i32* @fchmod.n_calls, align 4 + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 12), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @fchmod.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #26 + store i32 5, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + br i1 %tobool6, label %if.then7, label %if.end10 + +if.then7: ; preds = %if.end5 + %dfile8 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 3 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile8, align 8 + %12 = load i32, i32* %mode.addr, align 4 + %call9 = call i32 @__df_chmod(%struct.exe_disk_file_t* %11, i32 %12) + store i32 %call9, i32* %retval, align 4 + br label %return + +if.end10: ; preds = %if.end5 + %fd11 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 0 + %13 = load i32, i32* %fd11, align 8 + %14 = load i32, i32* %mode.addr, align 4 + %call12 = call i64 (i64, ...) @syscall(i64 91, i32 %13, i32 %14) #11 + %conv = trunc i64 %call12 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end10, %if.then7, %if.then3, %if.then + %15 = load i32, i32* %retval, align 4 + ret i32 %15 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chown(i8* nonnull %path, i32 %owner, i32 %group) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %df, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %3 = load i32, i32* %owner.addr, align 4 + %4 = load i32, i32* %group.addr, align 4 + %call1 = call i32 @__df_chown(%struct.exe_disk_file_t* %2, i32 %3, i32 %4) + store i32 %call1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %5 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %5) + %6 = load i32, i32* %owner.addr, align 4 + %7 = load i32, i32* %group.addr, align 4 + %call3 = call i64 (i64, ...) @syscall(i64 92, i8* %call2, i32 %6, i32 %7) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__df_chown(%struct.exe_disk_file_t* %df, i32 %owner, i32 %group) #3 { +entry: + %df.addr = alloca %struct.exe_disk_file_t*, align 8 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + store %struct.exe_disk_file_t* %df, %struct.exe_disk_file_t** %df.addr, align 8 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + call void @gs_warning(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.26, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fchown(i32 %fd, i32 %owner, i32 %group) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #26 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end6 + +if.then3: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile4 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 3 + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile4, align 8 + %6 = load i32, i32* %owner.addr, align 4 + %7 = load i32, i32* %group.addr, align 4 + %call5 = call i32 @__df_chown(%struct.exe_disk_file_t* %5, i32 %6, i32 %7) + store i32 %call5, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.end + %8 = load i32, i32* %fd.addr, align 4 + %9 = load i32, i32* %owner.addr, align 4 + %10 = load i32, i32* %group.addr, align 4 + %call7 = call i64 (i64, ...) @syscall(i64 93, i32 %8, i32 %9, i32 %10) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end6, %if.then3, %if.then + %11 = load i32, i32* %retval, align 4 + ret i32 %11 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @lchown(i8* nonnull %path, i32 %owner, i32 %group) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %df, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %3 = load i32, i32* %owner.addr, align 4 + %4 = load i32, i32* %group.addr, align 4 + %call1 = call i32 @__df_chown(%struct.exe_disk_file_t* %2, i32 %3, i32 %4) + store i32 %call1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %5 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %5) + %6 = load i32, i32* %owner.addr, align 4 + %7 = load i32, i32* %group.addr, align 4 + %call3 = call i64 (i64, ...) @syscall(i64 92, i8* %call2, i32 %6, i32 %7) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_fstat(i32 %fd, %struct.stat64* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #26 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.end6, label %if.then3 + +if.then3: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd4 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd4, align 8 + %6 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %call5 = call i64 (i64, ...) @syscall(i64 5, i32 %5, %struct.stat64* %6) #11 + %conv = trunc i64 %call5 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.end + %7 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %8 = bitcast %struct.stat64* %7 to i8* + %9 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %9, i32 0, i32 3 + %10 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile7, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %10, i32 0, i32 2 + %11 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %12 = bitcast %struct.stat64* %11 to i8* + %13 = call i8* @memcpy(i8* %8, i8* %12, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end6, %if.then3, %if.then + %14 = load i32, i32* %retval, align 4 + ret i32 %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_ftruncate(i32 %fd, i64 %length) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %length.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %length, i64* %length.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load i32, i32* @__fd_ftruncate.n_calls, align 4 + %inc = add nsw i32 %1, 1 + store i32 %inc, i32* @__fd_ftruncate.n_calls, align 4 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #26 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @__fd_ftruncate.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #26 + store i32 5, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + br i1 %tobool6, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end5 + call void @gs_warning(i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.10, i64 0, i64 0)) + %call8 = call i32* @__errno_location() #26 + store i32 5, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end9: ; preds = %if.end5 + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd10 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 0 + %11 = load i32, i32* %fd10, align 8 + %12 = load i64, i64* %length.addr, align 8 + %call11 = call i64 (i64, ...) @syscall(i64 77, i32 %11, i64 %12) #11 + %conv = trunc i64 %call11 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end9, %if.then7, %if.then3, %if.then + %13 = load i32, i32* %retval, align 4 + ret i32 %13 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_getdents(i32 %fd, %struct.dirent64* %dirp, i32 %count) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %dirp.addr = alloca %struct.dirent64*, align 8 + %count.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %i = alloca i64, align 8 + %pad = alloca i64, align 8 + %bytes = alloca i64, align 8 + %df = alloca %struct.exe_disk_file_t*, align 8 + %os_pos = alloca i64, align 8 + %res = alloca i32, align 4 + %s = alloca i64, align 8 + %pos = alloca i32, align 4 + %dp = alloca %struct.dirent64*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.dirent64* %dirp, %struct.dirent64** %dirp.addr, align 8 + store i32 %count, i32* %count.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #26 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.else + +if.then3: ; preds = %if.end + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #26 + store i32 22, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 2 + %5 = load i64, i64* %off, align 8 + %cmp = icmp ult i64 %5, 4096 + br i1 %cmp, label %if.then5, label %if.else43 + +if.then5: ; preds = %if.else + store i64 0, i64* %bytes, align 8 + %6 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %6, i32 0, i32 2 + %7 = load i64, i64* %off6, align 8 + %div = udiv i64 %7, 280 + store i64 %div, i64* %i, align 8 + %8 = load i64, i64* %i, align 8 + %mul = mul i64 %8, 280 + %9 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %9, i32 0, i32 2 + %10 = load i64, i64* %off7, align 8 + %cmp8 = icmp ne i64 %mul, %10 + br i1 %cmp8, label %if.then11, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then5 + %11 = load i64, i64* %i, align 8 + %12 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %conv = zext i32 %12 to i64 + %cmp9 = icmp sgt i64 %11, %conv + br i1 %cmp9, label %if.then11, label %for.cond + +if.then11: ; preds = %lor.lhs.false, %if.then5 + %call12 = call i32* @__errno_location() #26 + store i32 22, i32* %call12, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +for.cond: ; preds = %lor.lhs.false, %for.body + %13 = load i64, i64* %i, align 8 + %14 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %conv14 = zext i32 %14 to i64 + %cmp15 = icmp slt i64 %13, %conv14 + br i1 %cmp15, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %15 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %16 = load i64, i64* %i, align 8 + %arrayidx = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %15, i64 %16 + store %struct.exe_disk_file_t* %arrayidx, %struct.exe_disk_file_t** %df, align 8 + %17 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %17, i32 0, i32 2 + %18 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %18, i32 0, i32 1 + %19 = load i64, i64* %st_ino, align 8 + %20 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_ino = getelementptr inbounds %struct.dirent64, %struct.dirent64* %20, i32 0, i32 0 + store i64 %19, i64* %d_ino, align 8 + %21 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen = getelementptr inbounds %struct.dirent64, %struct.dirent64* %21, i32 0, i32 2 + store i16 280, i16* %d_reclen, align 8 + %22 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat17 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %22, i32 0, i32 2 + %23 = load %struct.stat64*, %struct.stat64** %stat17, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %23, i32 0, i32 3 + %24 = load i32, i32* %st_mode, align 8 + %and = and i32 %24, 61440 + %shr = lshr i32 %and, 12 + %conv18 = trunc i32 %shr to i8 + %25 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_type = getelementptr inbounds %struct.dirent64, %struct.dirent64* %25, i32 0, i32 3 + store i8 %conv18, i8* %d_type, align 2 + %26 = load i64, i64* %i, align 8 + %add = add nsw i64 65, %26 + %conv19 = trunc i64 %add to i8 + %27 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_name = getelementptr inbounds %struct.dirent64, %struct.dirent64* %27, i32 0, i32 4 + %arrayidx20 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name, i64 0, i64 0 + store i8 %conv19, i8* %arrayidx20, align 1 + %28 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_name21 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %28, i32 0, i32 4 + %arrayidx22 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name21, i64 0, i64 1 + store i8 0, i8* %arrayidx22, align 1 + %29 = load i64, i64* %i, align 8 + %add23 = add nsw i64 %29, 1 + %mul24 = mul i64 %add23, 280 + %30 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_off = getelementptr inbounds %struct.dirent64, %struct.dirent64* %30, i32 0, i32 1 + store i64 %mul24, i64* %d_off, align 8 + %31 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen25 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %31, i32 0, i32 2 + %32 = load i16, i16* %d_reclen25, align 8 + %conv26 = zext i16 %32 to i64 + %33 = load i64, i64* %bytes, align 8 + %add27 = add nsw i64 %33, %conv26 + store i64 %add27, i64* %bytes, align 8 + %34 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %incdec.ptr = getelementptr inbounds %struct.dirent64, %struct.dirent64* %34, i32 1 + store %struct.dirent64* %incdec.ptr, %struct.dirent64** %dirp.addr, align 8 + %35 = load i64, i64* %i, align 8 + %inc = add nsw i64 %35, 1 + store i64 %inc, i64* %i, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %36 = load i32, i32* %count.addr, align 4 + %cmp28 = icmp uge i32 %36, 4096 + %37 = load i32, i32* %count.addr, align 4 + %cond = select i1 %cmp28, i32 4096, i32 %37 + %conv30 = zext i32 %cond to i64 + store i64 %conv30, i64* %pad, align 8 + %38 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_ino31 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %38, i32 0, i32 0 + store i64 0, i64* %d_ino31, align 8 + %39 = load i64, i64* %pad, align 8 + %40 = load i64, i64* %bytes, align 8 + %sub = sub nsw i64 %39, %40 + %conv32 = trunc i64 %sub to i16 + %41 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen33 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %41, i32 0, i32 2 + store i16 %conv32, i16* %d_reclen33, align 8 + %42 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_type34 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %42, i32 0, i32 3 + store i8 0, i8* %d_type34, align 2 + %43 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_name35 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %43, i32 0, i32 4 + %arrayidx36 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name35, i64 0, i64 0 + store i8 0, i8* %arrayidx36, align 1 + %44 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_off37 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %44, i32 0, i32 1 + store i64 4096, i64* %d_off37, align 8 + %45 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen38 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %45, i32 0, i32 2 + %46 = load i16, i16* %d_reclen38, align 8 + %conv39 = zext i16 %46 to i64 + %47 = load i64, i64* %bytes, align 8 + %add40 = add nsw i64 %47, %conv39 + store i64 %add40, i64* %bytes, align 8 + %48 = load i64, i64* %pad, align 8 + %49 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off41 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %49, i32 0, i32 2 + store i64 %48, i64* %off41, align 8 + %50 = load i64, i64* %bytes, align 8 + %conv42 = trunc i64 %50 to i32 + store i32 %conv42, i32* %retval, align 4 + br label %return + +if.else43: ; preds = %if.else + %51 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off44 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %51, i32 0, i32 2 + %52 = load i64, i64* %off44, align 8 + %sub45 = sub nsw i64 %52, 4096 + store i64 %sub45, i64* %os_pos, align 8 + store i64 0, i64* %s, align 8 + %53 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %54 = bitcast %struct.dirent64* %53 to i8* + %55 = load i32, i32* %count.addr, align 4 + %conv46 = zext i32 %55 to i64 + %56 = call i8* @memset(i8* %54, i32 0, i64 %conv46) + %57 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd47 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %57, i32 0, i32 0 + %58 = load i32, i32* %fd47, align 8 + %59 = load i64, i64* %os_pos, align 8 + %call48 = call i64 (i64, ...) @syscall(i64 8, i32 %58, i64 %59, i32 0) #11 + store i64 %call48, i64* %s, align 8 + %60 = load i64, i64* %s, align 8 + %cmp49 = icmp ne i64 %60, -1 + br i1 %cmp49, label %if.end53, label %if.else52 + +if.else52: ; preds = %if.else43 + call void @__assert_fail(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.12, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 840, i8* getelementptr inbounds ([65 x i8], [65 x i8]* @__PRETTY_FUNCTION__.__fd_getdents, i64 0, i64 0)) #27 + unreachable + +if.end53: ; preds = %if.else43 + %61 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %61, i32 0, i32 0 + %62 = load i32, i32* %fd54, align 8 + %63 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %64 = load i32, i32* %count.addr, align 4 + %call55 = call i64 (i64, ...) @syscall(i64 217, i32 %62, %struct.dirent64* %63, i32 %64) #11 + %conv56 = trunc i64 %call55 to i32 + store i32 %conv56, i32* %res, align 4 + %65 = load i32, i32* %res, align 4 + %cmp57 = icmp sgt i32 %65, -1 + br i1 %cmp57, label %if.then59, label %if.end78 + +if.then59: ; preds = %if.end53 + store i32 0, i32* %pos, align 4 + %66 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd60 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %66, i32 0, i32 0 + %67 = load i32, i32* %fd60, align 8 + %call61 = call i64 (i64, ...) @syscall(i64 8, i32 %67, i32 0, i32 1) #11 + %68 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off62 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %68, i32 0, i32 2 + store i64 %call61, i64* %off62, align 8 + %69 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off63 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %69, i32 0, i32 2 + %70 = load i64, i64* %off63, align 8 + %cmp64 = icmp ne i64 %70, -1 + br i1 %cmp64, label %if.end68, label %if.else67 + +if.else67: ; preds = %if.then59 + call void @__assert_fail(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.13, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 845, i8* getelementptr inbounds ([65 x i8], [65 x i8]* @__PRETTY_FUNCTION__.__fd_getdents, i64 0, i64 0)) #27 + unreachable + +if.end68: ; preds = %if.then59 + %71 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off69 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %71, i32 0, i32 2 + %72 = load i64, i64* %off69, align 8 + %add70 = add nsw i64 %72, 4096 + store i64 %add70, i64* %off69, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end68 + %73 = load i32, i32* %pos, align 4 + %74 = load i32, i32* %res, align 4 + %cmp71 = icmp slt i32 %73, %74 + br i1 %cmp71, label %while.body, label %if.end78 + +while.body: ; preds = %while.cond + %75 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %76 = bitcast %struct.dirent64* %75 to i8* + %77 = load i32, i32* %pos, align 4 + %idx.ext = sext i32 %77 to i64 + %add.ptr = getelementptr inbounds i8, i8* %76, i64 %idx.ext + %78 = bitcast i8* %add.ptr to %struct.dirent64* + store %struct.dirent64* %78, %struct.dirent64** %dp, align 8 + %79 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_off73 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %79, i32 0, i32 1 + %80 = load i64, i64* %d_off73, align 8 + %add74 = add nsw i64 %80, 4096 + store i64 %add74, i64* %d_off73, align 8 + %81 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_reclen75 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %81, i32 0, i32 2 + %82 = load i16, i16* %d_reclen75, align 8 + %conv76 = zext i16 %82 to i32 + %83 = load i32, i32* %pos, align 4 + %add77 = add nsw i32 %83, %conv76 + store i32 %add77, i32* %pos, align 4 + br label %while.cond + +if.end78: ; preds = %while.cond, %if.end53 + %84 = load i32, i32* %res, align 4 + store i32 %84, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end78, %for.end, %if.then11, %if.then3, %if.then + %85 = load i32, i32* %retval, align 4 + ret i32 %85 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @ioctl(i32 %fd, i64 %request, ...) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %request.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + %buf = alloca i8*, align 8 + %stat = alloca %struct.stat64*, align 8 + %ts = alloca %struct.termios*, align 8 + %ws = alloca %struct.winsize*, align 8 + %res = alloca i32*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %request, i64* %request.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #26 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay2 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay2) + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.end + %2 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 3 + %reg_save_area = load i8*, i8** %2, align 16 + %3 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %4 = bitcast i8* %3 to i8** + %5 = add i32 %gp_offset, 8 + store i32 %5, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.end + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %6 = bitcast i8* %overflow_arg_area to i8** + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i8** [ %4, %vaarg.in_reg ], [ %6, %vaarg.in_mem ] + %7 = load i8*, i8** %vaarg.addr, align 8 + store i8* %7, i8** %buf, align 8 + %arraydecay4 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay45 = bitcast %struct.__va_list_tag.0* %arraydecay4 to i8* + call void @llvm.va_end(i8* %arraydecay45) + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + br i1 %tobool6, label %if.then7, label %if.end103 + +if.then7: ; preds = %vaarg.end + %dfile8 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 3 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile8, align 8 + %stat9 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %11, i32 0, i32 2 + %12 = load %struct.stat64*, %struct.stat64** %stat9, align 8 + %13 = bitcast %struct.stat64* %12 to %struct.stat64* + store %struct.stat64* %13, %struct.stat64** %stat, align 8 + %14 = load i64, i64* %request.addr, align 8 + br label %NodeBlock13 + +NodeBlock13: ; preds = %if.then7 + %case.cmp14 = icmp eq i64 %14, 21505 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i64 %14, 21506 + br i1 %case.cmp12, label %sw.bb48, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i64 %14, 21507 + br i1 %case.cmp10, label %sw.bb55, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i64 %14, 21508 + br i1 %case.cmp8, label %sw.bb60, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i64 %14, 21523 + br i1 %case.cmp6, label %sw.bb67, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i64 %14, 21524 + br i1 %case.cmp4, label %sw.bb74, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i64 %14, 21531 + br i1 %case.cmp2, label %sw.bb82, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i64 %14, 2150657282 + br i1 %case.cmp, label %sw.bb100, label %newDefault + +sw.bb: ; preds = %NodeBlock13 + %15 = load i8*, i8** %buf, align 8 + %16 = bitcast i8* %15 to %struct.termios* + store %struct.termios* %16, %struct.termios** %ts, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.14, i64 0, i64 0)) + %17 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %17, i32 0, i32 3 + %18 = load i32, i32* %st_mode, align 8 + %and = and i32 %18, 61440 + %cmp = icmp eq i32 %and, 8192 + br i1 %cmp, label %if.then10, label %if.else + +if.then10: ; preds = %sw.bb + %19 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_iflag = getelementptr inbounds %struct.termios, %struct.termios* %19, i32 0, i32 0 + store i32 27906, i32* %c_iflag, align 4 + %20 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_oflag = getelementptr inbounds %struct.termios, %struct.termios* %20, i32 0, i32 1 + store i32 5, i32* %c_oflag, align 4 + %21 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cflag = getelementptr inbounds %struct.termios, %struct.termios* %21, i32 0, i32 2 + store i32 1215, i32* %c_cflag, align 4 + %22 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_lflag = getelementptr inbounds %struct.termios, %struct.termios* %22, i32 0, i32 3 + store i32 35287, i32* %c_lflag, align 4 + %23 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_line = getelementptr inbounds %struct.termios, %struct.termios* %23, i32 0, i32 4 + store i8 0, i8* %c_line, align 4 + %24 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc = getelementptr inbounds %struct.termios, %struct.termios* %24, i32 0, i32 5 + %arrayidx = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc, i64 0, i64 0 + store i8 3, i8* %arrayidx, align 1 + %25 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc11 = getelementptr inbounds %struct.termios, %struct.termios* %25, i32 0, i32 5 + %arrayidx12 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc11, i64 0, i64 1 + store i8 28, i8* %arrayidx12, align 1 + %26 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc13 = getelementptr inbounds %struct.termios, %struct.termios* %26, i32 0, i32 5 + %arrayidx14 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc13, i64 0, i64 2 + store i8 127, i8* %arrayidx14, align 1 + %27 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc15 = getelementptr inbounds %struct.termios, %struct.termios* %27, i32 0, i32 5 + %arrayidx16 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc15, i64 0, i64 3 + store i8 21, i8* %arrayidx16, align 1 + %28 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc17 = getelementptr inbounds %struct.termios, %struct.termios* %28, i32 0, i32 5 + %arrayidx18 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc17, i64 0, i64 4 + store i8 4, i8* %arrayidx18, align 1 + %29 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc19 = getelementptr inbounds %struct.termios, %struct.termios* %29, i32 0, i32 5 + %arrayidx20 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc19, i64 0, i64 5 + store i8 0, i8* %arrayidx20, align 1 + %30 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc21 = getelementptr inbounds %struct.termios, %struct.termios* %30, i32 0, i32 5 + %arrayidx22 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc21, i64 0, i64 6 + store i8 1, i8* %arrayidx22, align 1 + %31 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc23 = getelementptr inbounds %struct.termios, %struct.termios* %31, i32 0, i32 5 + %arrayidx24 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc23, i64 0, i64 7 + store i8 -1, i8* %arrayidx24, align 1 + %32 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc25 = getelementptr inbounds %struct.termios, %struct.termios* %32, i32 0, i32 5 + %arrayidx26 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc25, i64 0, i64 8 + store i8 17, i8* %arrayidx26, align 1 + %33 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc27 = getelementptr inbounds %struct.termios, %struct.termios* %33, i32 0, i32 5 + %arrayidx28 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc27, i64 0, i64 9 + store i8 19, i8* %arrayidx28, align 1 + %34 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc29 = getelementptr inbounds %struct.termios, %struct.termios* %34, i32 0, i32 5 + %arrayidx30 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc29, i64 0, i64 10 + store i8 26, i8* %arrayidx30, align 1 + %35 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc31 = getelementptr inbounds %struct.termios, %struct.termios* %35, i32 0, i32 5 + %arrayidx32 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc31, i64 0, i64 11 + store i8 -1, i8* %arrayidx32, align 1 + %36 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc33 = getelementptr inbounds %struct.termios, %struct.termios* %36, i32 0, i32 5 + %arrayidx34 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc33, i64 0, i64 12 + store i8 18, i8* %arrayidx34, align 1 + %37 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc35 = getelementptr inbounds %struct.termios, %struct.termios* %37, i32 0, i32 5 + %arrayidx36 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc35, i64 0, i64 13 + store i8 15, i8* %arrayidx36, align 1 + %38 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc37 = getelementptr inbounds %struct.termios, %struct.termios* %38, i32 0, i32 5 + %arrayidx38 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc37, i64 0, i64 14 + store i8 23, i8* %arrayidx38, align 1 + %39 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc39 = getelementptr inbounds %struct.termios, %struct.termios* %39, i32 0, i32 5 + %arrayidx40 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc39, i64 0, i64 15 + store i8 22, i8* %arrayidx40, align 1 + %40 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc41 = getelementptr inbounds %struct.termios, %struct.termios* %40, i32 0, i32 5 + %arrayidx42 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc41, i64 0, i64 16 + store i8 -1, i8* %arrayidx42, align 1 + %41 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc43 = getelementptr inbounds %struct.termios, %struct.termios* %41, i32 0, i32 5 + %arrayidx44 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc43, i64 0, i64 17 + store i8 0, i8* %arrayidx44, align 1 + %42 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc45 = getelementptr inbounds %struct.termios, %struct.termios* %42, i32 0, i32 5 + %arrayidx46 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc45, i64 0, i64 18 + store i8 0, i8* %arrayidx46, align 1 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %sw.bb + %call47 = call i32* @__errno_location() #26 + store i32 25, i32* %call47, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb48: ; preds = %NodeBlock11 + call void @gs_warning_once(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.15, i64 0, i64 0)) + %43 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode49 = getelementptr inbounds %struct.stat64, %struct.stat64* %43, i32 0, i32 3 + %44 = load i32, i32* %st_mode49, align 8 + %and50 = and i32 %44, 61440 + %cmp51 = icmp eq i32 %and50, 8192 + br i1 %cmp51, label %if.then52, label %if.else53 + +if.then52: ; preds = %sw.bb48 + store i32 0, i32* %retval, align 4 + br label %return + +if.else53: ; preds = %sw.bb48 + %call54 = call i32* @__errno_location() #26 + store i32 25, i32* %call54, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb55: ; preds = %NodeBlock9 + call void @gs_warning_once(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.16, i64 0, i64 0)) + %45 = load i32, i32* %fd.addr, align 4 + %cmp56 = icmp eq i32 %45, 0 + br i1 %cmp56, label %if.then57, label %if.else58 + +if.then57: ; preds = %sw.bb55 + store i32 0, i32* %retval, align 4 + br label %return + +if.else58: ; preds = %sw.bb55 + %call59 = call i32* @__errno_location() #26 + store i32 25, i32* %call59, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb60: ; preds = %NodeBlock7 + call void @gs_warning_once(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.17, i64 0, i64 0)) + %46 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode61 = getelementptr inbounds %struct.stat64, %struct.stat64* %46, i32 0, i32 3 + %47 = load i32, i32* %st_mode61, align 8 + %and62 = and i32 %47, 61440 + %cmp63 = icmp eq i32 %and62, 8192 + br i1 %cmp63, label %if.then64, label %if.else65 + +if.then64: ; preds = %sw.bb60 + store i32 0, i32* %retval, align 4 + br label %return + +if.else65: ; preds = %sw.bb60 + %call66 = call i32* @__errno_location() #26 + store i32 25, i32* %call66, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb67: ; preds = %NodeBlock5 + %48 = load i8*, i8** %buf, align 8 + %49 = bitcast i8* %48 to %struct.winsize* + store %struct.winsize* %49, %struct.winsize** %ws, align 8 + %50 = load %struct.winsize*, %struct.winsize** %ws, align 8 + %ws_row = getelementptr inbounds %struct.winsize, %struct.winsize* %50, i32 0, i32 0 + store i16 24, i16* %ws_row, align 2 + %51 = load %struct.winsize*, %struct.winsize** %ws, align 8 + %ws_col = getelementptr inbounds %struct.winsize, %struct.winsize* %51, i32 0, i32 1 + store i16 80, i16* %ws_col, align 2 + call void @gs_warning_once(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.18, i64 0, i64 0)) + %52 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode68 = getelementptr inbounds %struct.stat64, %struct.stat64* %52, i32 0, i32 3 + %53 = load i32, i32* %st_mode68, align 8 + %and69 = and i32 %53, 61440 + %cmp70 = icmp eq i32 %and69, 8192 + br i1 %cmp70, label %if.then71, label %if.else72 + +if.then71: ; preds = %sw.bb67 + store i32 0, i32* %retval, align 4 + br label %return + +if.else72: ; preds = %sw.bb67 + %call73 = call i32* @__errno_location() #26 + store i32 25, i32* %call73, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb74: ; preds = %NodeBlock3 + call void @gs_warning_once(i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.19, i64 0, i64 0)) + %54 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode75 = getelementptr inbounds %struct.stat64, %struct.stat64* %54, i32 0, i32 3 + %55 = load i32, i32* %st_mode75, align 8 + %and76 = and i32 %55, 61440 + %cmp77 = icmp eq i32 %and76, 8192 + %call79 = call i32* @__errno_location() #26 + br i1 %cmp77, label %if.then78, label %if.else80 + +if.then78: ; preds = %sw.bb74 + store i32 22, i32* %call79, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else80: ; preds = %sw.bb74 + store i32 25, i32* %call79, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb82: ; preds = %NodeBlock1 + %56 = load i8*, i8** %buf, align 8 + %57 = bitcast i8* %56 to i32* + store i32* %57, i32** %res, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.20, i64 0, i64 0)) + %58 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode83 = getelementptr inbounds %struct.stat64, %struct.stat64* %58, i32 0, i32 3 + %59 = load i32, i32* %st_mode83, align 8 + %and84 = and i32 %59, 61440 + %cmp85 = icmp eq i32 %and84, 8192 + br i1 %cmp85, label %if.then86, label %if.else98 + +if.then86: ; preds = %sw.bb82 + %60 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %60, i32 0, i32 2 + %61 = load i64, i64* %off, align 8 + %62 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile87 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %62, i32 0, i32 3 + %63 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile87, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %63, i32 0, i32 0 + %64 = load i32, i32* %size, align 8 + %conv = zext i32 %64 to i64 + %cmp88 = icmp slt i64 %61, %conv + br i1 %cmp88, label %if.then90, label %if.else96 + +if.then90: ; preds = %if.then86 + %65 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile91 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %65, i32 0, i32 3 + %66 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile91, align 8 + %size92 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %66, i32 0, i32 0 + %67 = load i32, i32* %size92, align 8 + %conv93 = zext i32 %67 to i64 + %68 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off94 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %68, i32 0, i32 2 + %69 = load i64, i64* %off94, align 8 + %sub = sub nsw i64 %conv93, %69 + %conv95 = trunc i64 %sub to i32 + %70 = load i32*, i32** %res, align 8 + store i32 %conv95, i32* %70, align 4 + br label %if.end97 + +if.else96: ; preds = %if.then86 + %71 = load i32*, i32** %res, align 8 + store i32 0, i32* %71, align 4 + br label %if.end97 + +if.end97: ; preds = %if.else96, %if.then90 + store i32 0, i32* %retval, align 4 + br label %return + +if.else98: ; preds = %sw.bb82 + %call99 = call i32* @__errno_location() #26 + store i32 25, i32* %call99, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb100: ; preds = %NodeBlock + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.21, i64 0, i64 0)) + %call101 = call i32* @__errno_location() #26 + store i32 22, i32* %call101, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0)) + %call102 = call i32* @__errno_location() #26 + store i32 22, i32* %call102, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end103: ; preds = %vaarg.end + %fd104 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 0 + %72 = load i32, i32* %fd104, align 8 + %73 = load i64, i64* %request.addr, align 8 + %74 = load i8*, i8** %buf, align 8 + %call105 = call i64 (i64, ...) @syscall(i64 16, i32 %72, i64 %73, i8* %74) #11 + %conv106 = trunc i64 %call105 to i32 + store i32 %conv106, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end103, %sw.default, %sw.bb100, %if.else98, %if.end97, %if.else80, %if.then78, %if.else72, %if.then71, %if.else65, %if.then64, %if.else58, %if.then57, %if.else53, %if.then52, %if.else, %if.then10, %if.then + %75 = load i32, i32* %retval, align 4 + ret i32 %75 +} + +; Function Attrs: nounwind +declare void @llvm.va_start(i8*) #11 + +; Function Attrs: nounwind +declare void @llvm.va_end(i8*) #11 + +declare dso_local void @gs_warning_once(i8*) #5 + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fcntl(i32 %fd, i32 %cmd, ...) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %cmd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + %arg = alloca i32, align 4 + %lock = alloca %struct.flock*, align 8 + %flags = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %cmd, i32* %cmd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #26 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i32, i32* %cmd.addr, align 4 + %cmp = icmp eq i32 %2, 1 + %3 = load i32, i32* %cmd.addr, align 4 + %cmp2 = icmp eq i32 %3, 3 + %or.cond = or i1 %cmp, %cmp2 + %4 = load i32, i32* %cmd.addr, align 4 + %cmp4 = icmp eq i32 %4, 9 + %or.cond1 = or i1 %or.cond, %cmp4 + %5 = load i32, i32* %cmd.addr, align 4 + %cmp6 = icmp eq i32 %5, 11 + %or.cond2 = or i1 %or.cond1, %cmp6 + %6 = load i32, i32* %cmd.addr, align 4 + %cmp8 = icmp eq i32 %6, 1025 + %or.cond3 = or i1 %or.cond2, %cmp8 + %7 = load i32, i32* %cmd.addr, align 4 + %cmp10 = icmp eq i32 %7, 1026 + %or.cond4 = or i1 %or.cond3, %cmp10 + br i1 %or.cond4, label %if.then11, label %if.else + +if.then11: ; preds = %if.end + store i32 0, i32* %arg, align 4 + br label %if.end40 + +if.else: ; preds = %if.end + %8 = load i32, i32* %cmd.addr, align 4 + %cmp12 = icmp eq i32 %8, 5 + %9 = load i32, i32* %cmd.addr, align 4 + %cmp14 = icmp eq i32 %9, 6 + %or.cond5 = or i1 %cmp12, %cmp14 + %10 = load i32, i32* %cmd.addr, align 4 + %cmp16 = icmp eq i32 %10, 7 + %or.cond6 = or i1 %or.cond5, %cmp16 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay18 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay18) + %arraydecay19 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %or.cond6, label %if.then17, label %if.else22 + +if.then17: ; preds = %if.else + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then17 + %11 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 3 + %reg_save_area = load i8*, i8** %11, align 16 + %12 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %13 = bitcast i8* %12 to %struct.flock** + %14 = add i32 %gp_offset, 8 + store i32 %14, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then17 + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %15 = bitcast i8* %overflow_arg_area to %struct.flock** + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi %struct.flock** [ %13, %vaarg.in_reg ], [ %15, %vaarg.in_mem ] + %16 = load %struct.flock*, %struct.flock** %vaarg.addr, align 8 + store %struct.flock* %16, %struct.flock** %lock, align 8 + %arraydecay20 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay2021 = bitcast %struct.__va_list_tag.0* %arraydecay20 to i8* + call void @llvm.va_end(i8* %arraydecay2021) + br label %if.end40 + +if.else22: ; preds = %if.else + br i1 %fits_in_gp, label %vaarg.in_reg29, label %vaarg.in_mem31 + +vaarg.in_reg29: ; preds = %if.else22 + %17 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 3 + %reg_save_area30 = load i8*, i8** %17, align 16 + %18 = getelementptr i8, i8* %reg_save_area30, i32 %gp_offset + %19 = bitcast i8* %18 to i32* + %20 = add i32 %gp_offset, 8 + store i32 %20, i32* %gp_offset_p, align 16 + br label %vaarg.end35 + +vaarg.in_mem31: ; preds = %if.else22 + %overflow_arg_area_p32 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 2 + %overflow_arg_area33 = load i8*, i8** %overflow_arg_area_p32, align 8 + %21 = bitcast i8* %overflow_arg_area33 to i32* + %overflow_arg_area.next34 = getelementptr i8, i8* %overflow_arg_area33, i32 8 + store i8* %overflow_arg_area.next34, i8** %overflow_arg_area_p32, align 8 + br label %vaarg.end35 + +vaarg.end35: ; preds = %vaarg.in_mem31, %vaarg.in_reg29 + %vaarg.addr36 = phi i32* [ %19, %vaarg.in_reg29 ], [ %21, %vaarg.in_mem31 ] + %22 = load i32, i32* %vaarg.addr36, align 4 + store i32 %22, i32* %arg, align 4 + %arraydecay37 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay3738 = bitcast %struct.__va_list_tag.0* %arraydecay37 to i8* + call void @llvm.va_end(i8* %arraydecay3738) + br label %if.end40 + +if.end40: ; preds = %vaarg.end, %vaarg.end35, %if.then11 + %23 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %23, i32 0, i32 3 + %24 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool41 = icmp ne %struct.exe_disk_file_t* %24, null + br i1 %tobool41, label %if.then42, label %if.end60 + +if.then42: ; preds = %if.end40 + %25 = load i32, i32* %cmd.addr, align 4 + br label %NodeBlock13 + +NodeBlock13: ; preds = %if.then42 + %case.cmp14 = icmp eq i32 %25, 1 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %25, 2 + br i1 %case.cmp12, label %sw.bb47, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %25, 3 + br i1 %case.cmp10, label %sw.bb56, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %25, 5 + br i1 %case.cmp8, label %sw.bb57, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock7 + %case.cmp = icmp eq i32 %25, 6 + br i1 %case.cmp, label %sw.bb58, label %newDefault + +sw.bb: ; preds = %NodeBlock13 + store i32 0, i32* %flags, align 4 + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags43 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 1 + %27 = load i32, i32* %flags43, align 4 + %and = and i32 %27, 2 + %tobool44 = icmp ne i32 %and, 0 + br i1 %tobool44, label %if.then45, label %if.end46 + +if.then45: ; preds = %sw.bb + %28 = load i32, i32* %flags, align 4 + %or = or i32 %28, 1 + store i32 %or, i32* %flags, align 4 + br label %if.end46 + +if.end46: ; preds = %if.then45, %sw.bb + %29 = load i32, i32* %flags, align 4 + store i32 %29, i32* %retval, align 4 + br label %return + +sw.bb47: ; preds = %NodeBlock11 + %30 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags48 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %30, i32 0, i32 1 + %31 = load i32, i32* %flags48, align 4 + %and49 = and i32 %31, -3 + store i32 %and49, i32* %flags48, align 4 + %32 = load i32, i32* %arg, align 4 + %and50 = and i32 %32, 1 + %tobool51 = icmp ne i32 %and50, 0 + br i1 %tobool51, label %if.then52, label %if.end55 + +if.then52: ; preds = %sw.bb47 + %33 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags53 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %33, i32 0, i32 1 + %34 = load i32, i32* %flags53, align 4 + %or54 = or i32 %34, 2 + store i32 %or54, i32* %flags53, align 4 + br label %if.end55 + +if.end55: ; preds = %if.then52, %sw.bb47 + store i32 0, i32* %retval, align 4 + br label %return + +sw.bb56: ; preds = %NodeBlock9 + store i32 0, i32* %retval, align 4 + br label %return + +sw.bb57: ; preds = %NodeBlock7 + %35 = load %struct.flock*, %struct.flock** %lock, align 8 + %l_type = getelementptr inbounds %struct.flock, %struct.flock* %35, i32 0, i32 0 + store i16 2, i16* %l_type, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +sw.bb58: ; preds = %NodeBlock + store i32 0, i32* %retval, align 4 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0)) + %call59 = call i32* @__errno_location() #26 + store i32 22, i32* %call59, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end60: ; preds = %if.end40 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd61 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 0 + %37 = load i32, i32* %fd61, align 8 + %38 = load i32, i32* %cmd.addr, align 4 + %39 = load i32, i32* %arg, align 4 + %call62 = call i64 (i64, ...) @syscall(i64 72, i32 %37, i32 %38, i32 %39) #11 + %conv = trunc i64 %call62 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end60, %sw.default, %sw.bb58, %sw.bb57, %sw.bb56, %if.end55, %if.end46, %if.then + %40 = load i32, i32* %retval, align 4 + ret i32 %40 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_statfs(i8* %path, %struct.statfs* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.statfs*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.statfs* %buf, %struct.statfs** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0)) + %call1 = call i32* @__errno_location() #26 + store i32 2, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %2) + %3 = load %struct.statfs*, %struct.statfs** %buf.addr, align 8 + %call3 = call i64 (i64, ...) @syscall(i64 137, i8* %call2, %struct.statfs* %3) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstatfs(i32 %fd, %struct.statfs* nonnull %buf) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.statfs*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.statfs* %buf, %struct.statfs** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #26 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %if.end + call void @gs_warning(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.22, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #26 + store i32 9, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd6, align 8 + %6 = load %struct.statfs*, %struct.statfs** %buf.addr, align 8 + %call7 = call i64 (i64, ...) @syscall(i64 138, i32 %5, %struct.statfs* %6) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %7 = load i32, i32* %retval, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fsync(i32 %fd) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #26 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.else + store i32 0, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %if.else + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd5 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd5, align 8 + %call6 = call i64 (i64, ...) @syscall(i64 74, i32 %5) #11 + %conv = trunc i64 %call6 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @dup2(i32 %oldfd, i32 %newfd) #3 { +entry: + %retval = alloca i32, align 4 + %oldfd.addr = alloca i32, align 4 + %newfd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %f2 = alloca %struct.exe_file_t*, align 8 + store i32 %oldfd, i32* %oldfd.addr, align 4 + store i32 %newfd, i32* %newfd.addr, align 4 + %0 = load i32, i32* %oldfd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + %2 = load i32, i32* %newfd.addr, align 4 + %cmp = icmp sge i32 %2, 0 + %or.cond = and i1 %tobool, %cmp + %3 = load i32, i32* %newfd.addr, align 4 + %cmp1 = icmp slt i32 %3, 32 + %or.cond1 = and i1 %or.cond, %cmp1 + br i1 %or.cond1, label %if.else, label %if.then + +if.then: ; preds = %entry + %call2 = call i32* @__errno_location() #26 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %4 = load i32, i32* %newfd.addr, align 4 + %idxprom = sext i32 %4 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + store %struct.exe_file_t* %arrayidx, %struct.exe_file_t** %f2, align 8 + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f2, align 8 + %flags = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 1 + %6 = load i32, i32* %flags, align 4 + %and = and i32 %6, 1 + %tobool3 = icmp ne i32 %and, 0 + br i1 %tobool3, label %if.then4, label %if.end + +if.then4: ; preds = %if.else + %7 = load i32, i32* %newfd.addr, align 4 + %call5 = call i32 @close(i32 %7) + br label %if.end + +if.end: ; preds = %if.then4, %if.else + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f2, align 8 + %9 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %10 = bitcast %struct.exe_file_t* %8 to i8* + %11 = bitcast %struct.exe_file_t* %9 to i8* + %12 = call i8* @memcpy(i8* %10, i8* %11, i64 24) + %13 = load %struct.exe_file_t*, %struct.exe_file_t** %f2, align 8 + %flags6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %13, i32 0, i32 1 + %14 = load i32, i32* %flags6, align 4 + %and7 = and i32 %14, -3 + store i32 %and7, i32* %flags6, align 4 + %15 = load i32, i32* %newfd.addr, align 4 + store i32 %15, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %16 = load i32, i32* %retval, align 4 + ret i32 %16 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @dup(i32 %oldfd) #3 { +entry: + %retval = alloca i32, align 4 + %oldfd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %fd = alloca i32, align 4 + store i32 %oldfd, i32* %oldfd.addr, align 4 + %0 = load i32, i32* %oldfd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #26 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + store i32 0, i32* %fd, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.else + %2 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %2, 32 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %3 = load i32, i32* %fd, align 4 + %idxprom = sext i32 %3 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + %flags = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %arrayidx, i32 0, i32 1 + %4 = load i32, i32* %flags, align 4 + %and = and i32 %4, 1 + %tobool2 = icmp ne i32 %and, 0 + br i1 %tobool2, label %for.inc, label %for.end + +for.inc: ; preds = %for.body + %5 = load i32, i32* %fd, align 4 + %inc = add nsw i32 %5, 1 + store i32 %inc, i32* %fd, align 4 + br label %for.cond + +for.end: ; preds = %for.body, %for.cond + %6 = load i32, i32* %fd, align 4 + %cmp4 = icmp eq i32 %6, 32 + br i1 %cmp4, label %if.then5, label %if.else7 + +if.then5: ; preds = %for.end + %call6 = call i32* @__errno_location() #26 + store i32 24, i32* %call6, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else7: ; preds = %for.end + %7 = load i32, i32* %oldfd.addr, align 4 + %8 = load i32, i32* %fd, align 4 + %call8 = call i32 @dup2(i32 %7, i32 %8) #11 + store i32 %call8, i32* %retval, align 4 + br label %return + +return: ; preds = %if.else7, %if.then5, %if.then + %9 = load i32, i32* %retval, align 4 + ret i32 %9 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rmdir(i8* nonnull %pathname) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 16384 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %5, i32 0, i32 2 + %6 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 1 + store i64 0, i64* %st_ino, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %call3 = call i32* @__errno_location() #26 + store i32 20, i32* %call3, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #26 + store i32 1, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.else, %if.then1 + %7 = load i32, i32* %retval, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @unlink(i8* nonnull %pathname) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 32768 + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %5, i32 0, i32 2 + %6 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 1 + store i64 0, i64* %st_ino, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %st_mode4 = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 3 + %7 = load i32, i32* %st_mode4, align 8 + %and5 = and i32 %7, 61440 + %cmp6 = icmp eq i32 %and5, 16384 + %call8 = call i32* @__errno_location() #26 + br i1 %cmp6, label %if.then7, label %if.else9 + +if.then7: ; preds = %if.else + store i32 21, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else9: ; preds = %if.else + store i32 1, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0)) + %call11 = call i32* @__errno_location() #26 + store i32 1, i32* %call11, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.else9, %if.then7, %if.then1 + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @unlinkat(i32 %dirfd, i8* nonnull %pathname, i32 %flags) #3 { +entry: + %retval = alloca i32, align 4 + %dirfd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i32 %dirfd, i32* %dirfd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 32768 + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %5, i32 0, i32 2 + %6 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 1 + store i64 0, i64* %st_ino, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %st_mode4 = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 3 + %7 = load i32, i32* %st_mode4, align 8 + %and5 = and i32 %7, 61440 + %cmp6 = icmp eq i32 %and5, 16384 + %call8 = call i32* @__errno_location() #26 + br i1 %cmp6, label %if.then7, label %if.else9 + +if.then7: ; preds = %if.else + store i32 21, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else9: ; preds = %if.else + store i32 1, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0)) + %call11 = call i32* @__errno_location() #26 + store i32 1, i32* %call11, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.else9, %if.then7, %if.then1 + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @readlink(i8* nonnull %path, i8* nonnull %buf, i64 %bufsize) #3 { +entry: + %retval = alloca i64, align 8 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end20 + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 40960 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %5 = load i8*, i8** %path.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 0 + %6 = load i8, i8* %arrayidx, align 1 + %7 = load i8*, i8** %buf.addr, align 8 + %arrayidx2 = getelementptr inbounds i8, i8* %7, i64 0 + store i8 %6, i8* %arrayidx2, align 1 + %8 = load i64, i64* %bufsize.addr, align 8 + %cmp3 = icmp ugt i64 %8, 1 + br i1 %cmp3, label %if.then4, label %if.end + +if.then4: ; preds = %if.then1 + %9 = load i8*, i8** %buf.addr, align 8 + %arrayidx5 = getelementptr inbounds i8, i8* %9, i64 1 + store i8 46, i8* %arrayidx5, align 1 + br label %if.end + +if.end: ; preds = %if.then4, %if.then1 + %10 = load i64, i64* %bufsize.addr, align 8 + %cmp6 = icmp ugt i64 %10, 2 + br i1 %cmp6, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end + %11 = load i8*, i8** %buf.addr, align 8 + %arrayidx8 = getelementptr inbounds i8, i8* %11, i64 2 + store i8 108, i8* %arrayidx8, align 1 + br label %if.end9 + +if.end9: ; preds = %if.then7, %if.end + %12 = load i64, i64* %bufsize.addr, align 8 + %cmp10 = icmp ugt i64 %12, 3 + br i1 %cmp10, label %if.then11, label %if.end13 + +if.then11: ; preds = %if.end9 + %13 = load i8*, i8** %buf.addr, align 8 + %arrayidx12 = getelementptr inbounds i8, i8* %13, i64 3 + store i8 110, i8* %arrayidx12, align 1 + br label %if.end13 + +if.end13: ; preds = %if.then11, %if.end9 + %14 = load i64, i64* %bufsize.addr, align 8 + %cmp14 = icmp ugt i64 %14, 4 + br i1 %cmp14, label %if.then15, label %if.end17 + +if.then15: ; preds = %if.end13 + %15 = load i8*, i8** %buf.addr, align 8 + %arrayidx16 = getelementptr inbounds i8, i8* %15, i64 4 + store i8 107, i8* %arrayidx16, align 1 + br label %if.end17 + +if.end17: ; preds = %if.then15, %if.end13 + %16 = load i64, i64* %bufsize.addr, align 8 + %cmp18 = icmp ugt i64 %16, 5 + %17 = load i64, i64* %bufsize.addr, align 8 + %cond = select i1 %cmp18, i64 5, i64 %17 + store i64 %cond, i64* %retval, align 8 + br label %return + +if.else: ; preds = %if.then + %call19 = call i32* @__errno_location() #26 + store i32 22, i32* %call19, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end20: ; preds = %entry + %18 = load i8*, i8** %path.addr, align 8 + %19 = load i8*, i8** %buf.addr, align 8 + %20 = load i64, i64* %bufsize.addr, align 8 + %call21 = call i64 (i64, ...) @syscall(i64 89, i8* %18, i8* %19, i64 %20) #11 + store i64 %call21, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end20, %if.else, %if.end17 + %21 = load i64, i64* %retval, align 8 + ret i64 %21 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @select(i32 %nfds, %struct.fd_set* %read, %struct.fd_set* %write, %struct.fd_set* %except, %struct.timespec* %timeout) #3 { +entry: + %retval = alloca i32, align 4 + %nfds.addr = alloca i32, align 4 + %read.addr = alloca %struct.fd_set*, align 8 + %write.addr = alloca %struct.fd_set*, align 8 + %except.addr = alloca %struct.fd_set*, align 8 + %timeout.addr = alloca %struct.timespec*, align 8 + %in_read = alloca %struct.fd_set, align 8 + %in_write = alloca %struct.fd_set, align 8 + %in_except = alloca %struct.fd_set, align 8 + %os_read = alloca %struct.fd_set, align 8 + %os_write = alloca %struct.fd_set, align 8 + %os_except = alloca %struct.fd_set, align 8 + %i = alloca i32, align 4 + %count = alloca i32, align 4 + %os_nfds = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %tv = alloca %struct.timespec, align 8 + %r = alloca i32, align 4 + %f182 = alloca %struct.exe_file_t*, align 8 + store i32 %nfds, i32* %nfds.addr, align 4 + store %struct.fd_set* %read, %struct.fd_set** %read.addr, align 8 + store %struct.fd_set* %write, %struct.fd_set** %write.addr, align 8 + store %struct.fd_set* %except, %struct.fd_set** %except.addr, align 8 + store %struct.timespec* %timeout, %struct.timespec** %timeout.addr, align 8 + store i32 0, i32* %count, align 4 + store i32 0, i32* %os_nfds, align 4 + %0 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %tobool = icmp ne %struct.fd_set* %0, null + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %entry + %1 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %2 = bitcast %struct.fd_set* %in_read to i8* + %3 = bitcast %struct.fd_set* %1 to i8* + %4 = call i8* @memcpy(i8* %2, i8* %3, i64 128) + %5 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %6 = bitcast %struct.fd_set* %5 to i8* + %7 = call i8* @memset(i8* %6, i32 0, i64 128) + br label %if.end + +if.else: ; preds = %entry + %8 = bitcast %struct.fd_set* %in_read to i8* + %9 = call i8* @memset(i8* %8, i32 0, i64 128) + br label %if.end + +if.end: ; preds = %if.else, %if.then + %10 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %tobool1 = icmp ne %struct.fd_set* %10, null + br i1 %tobool1, label %if.then2, label %if.else3 + +if.then2: ; preds = %if.end + %11 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %12 = bitcast %struct.fd_set* %in_write to i8* + %13 = bitcast %struct.fd_set* %11 to i8* + %14 = call i8* @memcpy(i8* %12, i8* %13, i64 128) + %15 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %16 = bitcast %struct.fd_set* %15 to i8* + %17 = call i8* @memset(i8* %16, i32 0, i64 128) + br label %if.end4 + +if.else3: ; preds = %if.end + %18 = bitcast %struct.fd_set* %in_write to i8* + %19 = call i8* @memset(i8* %18, i32 0, i64 128) + br label %if.end4 + +if.end4: ; preds = %if.else3, %if.then2 + %20 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %tobool5 = icmp ne %struct.fd_set* %20, null + br i1 %tobool5, label %if.then6, label %if.else7 + +if.then6: ; preds = %if.end4 + %21 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %22 = bitcast %struct.fd_set* %in_except to i8* + %23 = bitcast %struct.fd_set* %21 to i8* + %24 = call i8* @memcpy(i8* %22, i8* %23, i64 128) + %25 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %26 = bitcast %struct.fd_set* %25 to i8* + %27 = call i8* @memset(i8* %26, i32 0, i64 128) + br label %if.end8 + +if.else7: ; preds = %if.end4 + %28 = bitcast %struct.fd_set* %in_except to i8* + %29 = call i8* @memset(i8* %28, i32 0, i64 128) + br label %if.end8 + +if.end8: ; preds = %if.else7, %if.then6 + %30 = bitcast %struct.fd_set* %os_read to i8* + %31 = call i8* @memset(i8* %30, i32 0, i64 128) + %32 = bitcast %struct.fd_set* %os_write to i8* + %33 = call i8* @memset(i8* %32, i32 0, i64 128) + %34 = bitcast %struct.fd_set* %os_except to i8* + %35 = call i8* @memset(i8* %34, i32 0, i64 128) + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end8 + %36 = load i32, i32* %i, align 4 + %37 = load i32, i32* %nfds.addr, align 4 + %cmp = icmp slt i32 %36, %37 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %fds_bits = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_read, i32 0, i32 0 + %38 = load i32, i32* %i, align 4 + %div = sdiv i32 %38, 64 + %idxprom = sext i32 %div to i64 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits, i64 0, i64 %idxprom + %39 = load i64, i64* %arrayidx, align 8 + %40 = load i32, i32* %i, align 4 + %rem = srem i32 %40, 64 + %shl = shl i32 1, %rem + %conv = sext i32 %shl to i64 + %and = and i64 %39, %conv + %tobool9 = icmp ne i64 %and, 0 + br i1 %tobool9, label %if.then29, label %lor.lhs.false + +lor.lhs.false: ; preds = %for.body + %fds_bits10 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_write, i32 0, i32 0 + %41 = load i32, i32* %i, align 4 + %div11 = sdiv i32 %41, 64 + %idxprom12 = sext i32 %div11 to i64 + %arrayidx13 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits10, i64 0, i64 %idxprom12 + %42 = load i64, i64* %arrayidx13, align 8 + %43 = load i32, i32* %i, align 4 + %rem14 = srem i32 %43, 64 + %shl15 = shl i32 1, %rem14 + %conv16 = sext i32 %shl15 to i64 + %and17 = and i64 %42, %conv16 + %tobool18 = icmp ne i64 %and17, 0 + br i1 %tobool18, label %if.then29, label %lor.lhs.false19 + +lor.lhs.false19: ; preds = %lor.lhs.false + %fds_bits20 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_except, i32 0, i32 0 + %44 = load i32, i32* %i, align 4 + %div21 = sdiv i32 %44, 64 + %idxprom22 = sext i32 %div21 to i64 + %arrayidx23 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits20, i64 0, i64 %idxprom22 + %45 = load i64, i64* %arrayidx23, align 8 + %46 = load i32, i32* %i, align 4 + %rem24 = srem i32 %46, 64 + %shl25 = shl i32 1, %rem24 + %conv26 = sext i32 %shl25 to i64 + %and27 = and i64 %45, %conv26 + %tobool28 = icmp ne i64 %and27, 0 + br i1 %tobool28, label %if.then29, label %for.inc + +if.then29: ; preds = %lor.lhs.false19, %lor.lhs.false, %for.body + %47 = load i32, i32* %i, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %47) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %48 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool30 = icmp ne %struct.exe_file_t* %48, null + br i1 %tobool30, label %if.else33, label %if.then31 + +if.then31: ; preds = %if.then29 + %call32 = call i32* @__errno_location() #26 + store i32 9, i32* %call32, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else33: ; preds = %if.then29 + %49 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %49, i32 0, i32 3 + %50 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool34 = icmp ne %struct.exe_disk_file_t* %50, null + %fds_bits36 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_read, i32 0, i32 0 + %51 = load i32, i32* %i, align 4 + %div37 = sdiv i32 %51, 64 + %idxprom38 = sext i32 %div37 to i64 + %arrayidx39 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits36, i64 0, i64 %idxprom38 + %52 = load i64, i64* %arrayidx39, align 8 + %53 = load i32, i32* %i, align 4 + %rem40 = srem i32 %53, 64 + %shl41 = shl i32 1, %rem40 + %conv42 = sext i32 %shl41 to i64 + %and43 = and i64 %52, %conv42 + %tobool44 = icmp ne i64 %and43, 0 + br i1 %tobool34, label %if.then35, label %if.else92 + +if.then35: ; preds = %if.else33 + br i1 %tobool44, label %if.then45, label %if.end53 + +if.then45: ; preds = %if.then35 + %54 = load i32, i32* %i, align 4 + %rem46 = srem i32 %54, 64 + %shl47 = shl i32 1, %rem46 + %conv48 = sext i32 %shl47 to i64 + %55 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %fds_bits49 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %55, i32 0, i32 0 + %56 = load i32, i32* %i, align 4 + %div50 = sdiv i32 %56, 64 + %idxprom51 = sext i32 %div50 to i64 + %arrayidx52 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits49, i64 0, i64 %idxprom51 + %57 = load i64, i64* %arrayidx52, align 8 + %or = or i64 %57, %conv48 + store i64 %or, i64* %arrayidx52, align 8 + br label %if.end53 + +if.end53: ; preds = %if.then45, %if.then35 + %fds_bits54 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_write, i32 0, i32 0 + %58 = load i32, i32* %i, align 4 + %div55 = sdiv i32 %58, 64 + %idxprom56 = sext i32 %div55 to i64 + %arrayidx57 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits54, i64 0, i64 %idxprom56 + %59 = load i64, i64* %arrayidx57, align 8 + %60 = load i32, i32* %i, align 4 + %rem58 = srem i32 %60, 64 + %shl59 = shl i32 1, %rem58 + %conv60 = sext i32 %shl59 to i64 + %and61 = and i64 %59, %conv60 + %tobool62 = icmp ne i64 %and61, 0 + br i1 %tobool62, label %if.then63, label %if.end72 + +if.then63: ; preds = %if.end53 + %61 = load i32, i32* %i, align 4 + %rem64 = srem i32 %61, 64 + %shl65 = shl i32 1, %rem64 + %conv66 = sext i32 %shl65 to i64 + %62 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %fds_bits67 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %62, i32 0, i32 0 + %63 = load i32, i32* %i, align 4 + %div68 = sdiv i32 %63, 64 + %idxprom69 = sext i32 %div68 to i64 + %arrayidx70 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits67, i64 0, i64 %idxprom69 + %64 = load i64, i64* %arrayidx70, align 8 + %or71 = or i64 %64, %conv66 + store i64 %or71, i64* %arrayidx70, align 8 + br label %if.end72 + +if.end72: ; preds = %if.then63, %if.end53 + %fds_bits73 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_except, i32 0, i32 0 + %65 = load i32, i32* %i, align 4 + %div74 = sdiv i32 %65, 64 + %idxprom75 = sext i32 %div74 to i64 + %arrayidx76 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits73, i64 0, i64 %idxprom75 + %66 = load i64, i64* %arrayidx76, align 8 + %67 = load i32, i32* %i, align 4 + %rem77 = srem i32 %67, 64 + %shl78 = shl i32 1, %rem77 + %conv79 = sext i32 %shl78 to i64 + %and80 = and i64 %66, %conv79 + %tobool81 = icmp ne i64 %and80, 0 + br i1 %tobool81, label %if.then82, label %if.end91 + +if.then82: ; preds = %if.end72 + %68 = load i32, i32* %i, align 4 + %rem83 = srem i32 %68, 64 + %shl84 = shl i32 1, %rem83 + %conv85 = sext i32 %shl84 to i64 + %69 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %fds_bits86 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %69, i32 0, i32 0 + %70 = load i32, i32* %i, align 4 + %div87 = sdiv i32 %70, 64 + %idxprom88 = sext i32 %div87 to i64 + %arrayidx89 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits86, i64 0, i64 %idxprom88 + %71 = load i64, i64* %arrayidx89, align 8 + %or90 = or i64 %71, %conv85 + store i64 %or90, i64* %arrayidx89, align 8 + br label %if.end91 + +if.end91: ; preds = %if.then82, %if.end72 + %72 = load i32, i32* %count, align 4 + %inc = add nsw i32 %72, 1 + store i32 %inc, i32* %count, align 4 + br label %for.inc + +if.else92: ; preds = %if.else33 + br i1 %tobool44, label %if.then102, label %if.end112 + +if.then102: ; preds = %if.else92 + %73 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %73, i32 0, i32 0 + %74 = load i32, i32* %fd, align 8 + %rem103 = srem i32 %74, 64 + %shl104 = shl i32 1, %rem103 + %conv105 = sext i32 %shl104 to i64 + %fds_bits106 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_read, i32 0, i32 0 + %75 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd107 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %75, i32 0, i32 0 + %76 = load i32, i32* %fd107, align 8 + %div108 = sdiv i32 %76, 64 + %idxprom109 = sext i32 %div108 to i64 + %arrayidx110 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits106, i64 0, i64 %idxprom109 + %77 = load i64, i64* %arrayidx110, align 8 + %or111 = or i64 %77, %conv105 + store i64 %or111, i64* %arrayidx110, align 8 + br label %if.end112 + +if.end112: ; preds = %if.then102, %if.else92 + %fds_bits113 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_write, i32 0, i32 0 + %78 = load i32, i32* %i, align 4 + %div114 = sdiv i32 %78, 64 + %idxprom115 = sext i32 %div114 to i64 + %arrayidx116 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits113, i64 0, i64 %idxprom115 + %79 = load i64, i64* %arrayidx116, align 8 + %80 = load i32, i32* %i, align 4 + %rem117 = srem i32 %80, 64 + %shl118 = shl i32 1, %rem117 + %conv119 = sext i32 %shl118 to i64 + %and120 = and i64 %79, %conv119 + %tobool121 = icmp ne i64 %and120, 0 + br i1 %tobool121, label %if.then122, label %if.end133 + +if.then122: ; preds = %if.end112 + %81 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd123 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %81, i32 0, i32 0 + %82 = load i32, i32* %fd123, align 8 + %rem124 = srem i32 %82, 64 + %shl125 = shl i32 1, %rem124 + %conv126 = sext i32 %shl125 to i64 + %fds_bits127 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_write, i32 0, i32 0 + %83 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd128 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %83, i32 0, i32 0 + %84 = load i32, i32* %fd128, align 8 + %div129 = sdiv i32 %84, 64 + %idxprom130 = sext i32 %div129 to i64 + %arrayidx131 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits127, i64 0, i64 %idxprom130 + %85 = load i64, i64* %arrayidx131, align 8 + %or132 = or i64 %85, %conv126 + store i64 %or132, i64* %arrayidx131, align 8 + br label %if.end133 + +if.end133: ; preds = %if.then122, %if.end112 + %fds_bits134 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_except, i32 0, i32 0 + %86 = load i32, i32* %i, align 4 + %div135 = sdiv i32 %86, 64 + %idxprom136 = sext i32 %div135 to i64 + %arrayidx137 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits134, i64 0, i64 %idxprom136 + %87 = load i64, i64* %arrayidx137, align 8 + %88 = load i32, i32* %i, align 4 + %rem138 = srem i32 %88, 64 + %shl139 = shl i32 1, %rem138 + %conv140 = sext i32 %shl139 to i64 + %and141 = and i64 %87, %conv140 + %tobool142 = icmp ne i64 %and141, 0 + br i1 %tobool142, label %if.then143, label %if.end154 + +if.then143: ; preds = %if.end133 + %89 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd144 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %89, i32 0, i32 0 + %90 = load i32, i32* %fd144, align 8 + %rem145 = srem i32 %90, 64 + %shl146 = shl i32 1, %rem145 + %conv147 = sext i32 %shl146 to i64 + %fds_bits148 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_except, i32 0, i32 0 + %91 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd149 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %91, i32 0, i32 0 + %92 = load i32, i32* %fd149, align 8 + %div150 = sdiv i32 %92, 64 + %idxprom151 = sext i32 %div150 to i64 + %arrayidx152 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits148, i64 0, i64 %idxprom151 + %93 = load i64, i64* %arrayidx152, align 8 + %or153 = or i64 %93, %conv147 + store i64 %or153, i64* %arrayidx152, align 8 + br label %if.end154 + +if.end154: ; preds = %if.then143, %if.end133 + %94 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd155 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %94, i32 0, i32 0 + %95 = load i32, i32* %fd155, align 8 + %96 = load i32, i32* %os_nfds, align 4 + %cmp156 = icmp sge i32 %95, %96 + br i1 %cmp156, label %if.then158, label %for.inc + +if.then158: ; preds = %if.end154 + %97 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd159 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %97, i32 0, i32 0 + %98 = load i32, i32* %fd159, align 8 + %add = add nsw i32 %98, 1 + store i32 %add, i32* %os_nfds, align 4 + br label %for.inc + +for.inc: ; preds = %lor.lhs.false19, %if.end91, %if.then158, %if.end154 + %99 = load i32, i32* %i, align 4 + %inc164 = add nsw i32 %99, 1 + store i32 %inc164, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %100 = load i32, i32* %os_nfds, align 4 + %cmp165 = icmp sgt i32 %100, 0 + br i1 %cmp165, label %if.then167, label %if.end262 + +if.then167: ; preds = %for.end + %101 = bitcast %struct.timespec* %tv to i8* + %102 = call i8* @memset(i8* %101, i32 0, i64 16) + %103 = load i32, i32* %os_nfds, align 4 + %call168 = call i64 (i64, ...) @syscall(i64 23, i32 %103, %struct.fd_set* %os_read, %struct.fd_set* %os_write, %struct.fd_set* %os_except, %struct.timespec* %tv) #11 + %conv169 = trunc i64 %call168 to i32 + store i32 %conv169, i32* %r, align 4 + %104 = load i32, i32* %r, align 4 + %cmp170 = icmp eq i32 %104, -1 + br i1 %cmp170, label %if.then172, label %if.else176 + +if.then172: ; preds = %if.then167 + %105 = load i32, i32* %count, align 4 + %tobool173 = icmp ne i32 %105, 0 + br i1 %tobool173, label %if.end262, label %if.then174 + +if.then174: ; preds = %if.then172 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else176: ; preds = %if.then167 + %106 = load i32, i32* %r, align 4 + %107 = load i32, i32* %count, align 4 + %add177 = add nsw i32 %107, %106 + store i32 %add177, i32* %count, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond178 + +for.cond178: ; preds = %for.inc258, %if.else176 + %108 = load i32, i32* %i, align 4 + %109 = load i32, i32* %nfds.addr, align 4 + %cmp179 = icmp slt i32 %108, %109 + br i1 %cmp179, label %for.body181, label %if.end262 + +for.body181: ; preds = %for.cond178 + %110 = load i32, i32* %i, align 4 + %call183 = call %struct.exe_file_t* @__get_file(i32 %110) + store %struct.exe_file_t* %call183, %struct.exe_file_t** %f182, align 8 + %111 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %tobool184 = icmp ne %struct.exe_file_t* %111, null + br i1 %tobool184, label %land.lhs.true, label %for.inc258 + +land.lhs.true: ; preds = %for.body181 + %112 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %dfile185 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %112, i32 0, i32 3 + %113 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile185, align 8 + %tobool186 = icmp ne %struct.exe_disk_file_t* %113, null + br i1 %tobool186, label %for.inc258, label %if.then187 + +if.then187: ; preds = %land.lhs.true + %114 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %tobool188 = icmp ne %struct.fd_set* %114, null + br i1 %tobool188, label %land.lhs.true189, label %if.end210 + +land.lhs.true189: ; preds = %if.then187 + %fds_bits190 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_read, i32 0, i32 0 + %115 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd191 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %115, i32 0, i32 0 + %116 = load i32, i32* %fd191, align 8 + %div192 = sdiv i32 %116, 64 + %idxprom193 = sext i32 %div192 to i64 + %arrayidx194 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits190, i64 0, i64 %idxprom193 + %117 = load i64, i64* %arrayidx194, align 8 + %118 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd195 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %118, i32 0, i32 0 + %119 = load i32, i32* %fd195, align 8 + %rem196 = srem i32 %119, 64 + %shl197 = shl i32 1, %rem196 + %conv198 = sext i32 %shl197 to i64 + %and199 = and i64 %117, %conv198 + %tobool200 = icmp ne i64 %and199, 0 + br i1 %tobool200, label %if.then201, label %if.end210 + +if.then201: ; preds = %land.lhs.true189 + %120 = load i32, i32* %i, align 4 + %rem202 = srem i32 %120, 64 + %shl203 = shl i32 1, %rem202 + %conv204 = sext i32 %shl203 to i64 + %121 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %fds_bits205 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %121, i32 0, i32 0 + %122 = load i32, i32* %i, align 4 + %div206 = sdiv i32 %122, 64 + %idxprom207 = sext i32 %div206 to i64 + %arrayidx208 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits205, i64 0, i64 %idxprom207 + %123 = load i64, i64* %arrayidx208, align 8 + %or209 = or i64 %123, %conv204 + store i64 %or209, i64* %arrayidx208, align 8 + br label %if.end210 + +if.end210: ; preds = %if.then201, %land.lhs.true189, %if.then187 + %124 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %tobool211 = icmp ne %struct.fd_set* %124, null + br i1 %tobool211, label %land.lhs.true212, label %if.end233 + +land.lhs.true212: ; preds = %if.end210 + %fds_bits213 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_write, i32 0, i32 0 + %125 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd214 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %125, i32 0, i32 0 + %126 = load i32, i32* %fd214, align 8 + %div215 = sdiv i32 %126, 64 + %idxprom216 = sext i32 %div215 to i64 + %arrayidx217 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits213, i64 0, i64 %idxprom216 + %127 = load i64, i64* %arrayidx217, align 8 + %128 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd218 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %128, i32 0, i32 0 + %129 = load i32, i32* %fd218, align 8 + %rem219 = srem i32 %129, 64 + %shl220 = shl i32 1, %rem219 + %conv221 = sext i32 %shl220 to i64 + %and222 = and i64 %127, %conv221 + %tobool223 = icmp ne i64 %and222, 0 + br i1 %tobool223, label %if.then224, label %if.end233 + +if.then224: ; preds = %land.lhs.true212 + %130 = load i32, i32* %i, align 4 + %rem225 = srem i32 %130, 64 + %shl226 = shl i32 1, %rem225 + %conv227 = sext i32 %shl226 to i64 + %131 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %fds_bits228 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %131, i32 0, i32 0 + %132 = load i32, i32* %i, align 4 + %div229 = sdiv i32 %132, 64 + %idxprom230 = sext i32 %div229 to i64 + %arrayidx231 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits228, i64 0, i64 %idxprom230 + %133 = load i64, i64* %arrayidx231, align 8 + %or232 = or i64 %133, %conv227 + store i64 %or232, i64* %arrayidx231, align 8 + br label %if.end233 + +if.end233: ; preds = %if.then224, %land.lhs.true212, %if.end210 + %134 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %tobool234 = icmp ne %struct.fd_set* %134, null + br i1 %tobool234, label %land.lhs.true235, label %for.inc258 + +land.lhs.true235: ; preds = %if.end233 + %fds_bits236 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_except, i32 0, i32 0 + %135 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd237 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %135, i32 0, i32 0 + %136 = load i32, i32* %fd237, align 8 + %div238 = sdiv i32 %136, 64 + %idxprom239 = sext i32 %div238 to i64 + %arrayidx240 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits236, i64 0, i64 %idxprom239 + %137 = load i64, i64* %arrayidx240, align 8 + %138 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd241 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %138, i32 0, i32 0 + %139 = load i32, i32* %fd241, align 8 + %rem242 = srem i32 %139, 64 + %shl243 = shl i32 1, %rem242 + %conv244 = sext i32 %shl243 to i64 + %and245 = and i64 %137, %conv244 + %tobool246 = icmp ne i64 %and245, 0 + br i1 %tobool246, label %if.then247, label %for.inc258 + +if.then247: ; preds = %land.lhs.true235 + %140 = load i32, i32* %i, align 4 + %rem248 = srem i32 %140, 64 + %shl249 = shl i32 1, %rem248 + %conv250 = sext i32 %shl249 to i64 + %141 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %fds_bits251 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %141, i32 0, i32 0 + %142 = load i32, i32* %i, align 4 + %div252 = sdiv i32 %142, 64 + %idxprom253 = sext i32 %div252 to i64 + %arrayidx254 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits251, i64 0, i64 %idxprom253 + %143 = load i64, i64* %arrayidx254, align 8 + %or255 = or i64 %143, %conv250 + store i64 %or255, i64* %arrayidx254, align 8 + br label %for.inc258 + +for.inc258: ; preds = %for.body181, %land.lhs.true, %if.then247, %land.lhs.true235, %if.end233 + %144 = load i32, i32* %i, align 4 + %inc259 = add nsw i32 %144, 1 + store i32 %inc259, i32* %i, align 4 + br label %for.cond178 + +if.end262: ; preds = %if.then172, %for.cond178, %for.end + %145 = load i32, i32* %count, align 4 + store i32 %145, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end262, %if.then174, %if.then31 + %146 = load i32, i32* %retval, align 4 + ret i32 %146 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chroot(i8* nonnull %path) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %0, i64 0 + %1 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call = call i32* @__errno_location() #26 + store i32 2, i32* %call, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %path.addr, align 8 + %arrayidx2 = getelementptr inbounds i8, i8* %2, i64 0 + %3 = load i8, i8* %arrayidx2, align 1 + %conv3 = sext i8 %3 to i32 + %cmp4 = icmp eq i32 %conv3, 47 + br i1 %cmp4, label %land.lhs.true, label %if.end11 + +land.lhs.true: ; preds = %if.end + %4 = load i8*, i8** %path.addr, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %4, i64 1 + %5 = load i8, i8* %arrayidx6, align 1 + %conv7 = sext i8 %5 to i32 + %cmp8 = icmp eq i32 %conv7, 0 + br i1 %cmp8, label %if.then10, label %if.end11 + +if.then10: ; preds = %land.lhs.true + store i32 0, i32* %retval, align 4 + br label %return + +if.end11: ; preds = %land.lhs.true, %if.end + call void @gs_warning(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.24, i64 0, i64 0)) + %call12 = call i32* @__errno_location() #26 + store i32 2, i32* %call12, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end11, %if.then10, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @open(i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i8*, i8** %pathname.addr, align 8 + %8 = load i32, i32* %flags.addr, align 4 + %9 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_open(i8* %7, i32 %8, i32 %9) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @openat(i32 %fd, i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %fd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i32, i32* %fd.addr, align 4 + %8 = load i8*, i8** %pathname.addr, align 8 + %9 = load i32, i32* %flags.addr, align 4 + %10 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_openat(i32 %7, i8* %8, i32 %9, i32 %10) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @lseek(i32 %fd, i64 %off, i32 %whence) #3 { +entry: + %fd.addr = alloca i32, align 4 + %off.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %off, i64* %off.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %off.addr, align 8 + %2 = load i32, i32* %whence.addr, align 4 + %call = call i64 @__fd_lseek(i32 %0, i64 %1, i32 %2) + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__xstat(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__stat64_to_stat(%struct.stat64* %a, %struct.stat64* %b) #3 { +entry: + %a.addr = alloca %struct.stat64*, align 8 + %b.addr = alloca %struct.stat64*, align 8 + store %struct.stat64* %a, %struct.stat64** %a.addr, align 8 + store %struct.stat64* %b, %struct.stat64** %b.addr, align 8 + %0 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_dev = getelementptr inbounds %struct.stat64, %struct.stat64* %0, i32 0, i32 0 + %1 = load i64, i64* %st_dev, align 8 + %2 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_dev1 = getelementptr inbounds %struct.stat64, %struct.stat64* %2, i32 0, i32 0 + store i64 %1, i64* %st_dev1, align 8 + %3 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 1 + %4 = load i64, i64* %st_ino, align 8 + %5 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_ino2 = getelementptr inbounds %struct.stat64, %struct.stat64* %5, i32 0, i32 1 + store i64 %4, i64* %st_ino2, align 8 + %6 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 3 + %7 = load i32, i32* %st_mode, align 8 + %8 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_mode3 = getelementptr inbounds %struct.stat64, %struct.stat64* %8, i32 0, i32 3 + store i32 %7, i32* %st_mode3, align 8 + %9 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_nlink = getelementptr inbounds %struct.stat64, %struct.stat64* %9, i32 0, i32 2 + %10 = load i64, i64* %st_nlink, align 8 + %11 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_nlink4 = getelementptr inbounds %struct.stat64, %struct.stat64* %11, i32 0, i32 2 + store i64 %10, i64* %st_nlink4, align 8 + %12 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_uid = getelementptr inbounds %struct.stat64, %struct.stat64* %12, i32 0, i32 4 + %13 = load i32, i32* %st_uid, align 4 + %14 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_uid5 = getelementptr inbounds %struct.stat64, %struct.stat64* %14, i32 0, i32 4 + store i32 %13, i32* %st_uid5, align 4 + %15 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_gid = getelementptr inbounds %struct.stat64, %struct.stat64* %15, i32 0, i32 5 + %16 = load i32, i32* %st_gid, align 8 + %17 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_gid6 = getelementptr inbounds %struct.stat64, %struct.stat64* %17, i32 0, i32 5 + store i32 %16, i32* %st_gid6, align 8 + %18 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_rdev = getelementptr inbounds %struct.stat64, %struct.stat64* %18, i32 0, i32 7 + %19 = load i64, i64* %st_rdev, align 8 + %20 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_rdev7 = getelementptr inbounds %struct.stat64, %struct.stat64* %20, i32 0, i32 7 + store i64 %19, i64* %st_rdev7, align 8 + %21 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_size = getelementptr inbounds %struct.stat64, %struct.stat64* %21, i32 0, i32 8 + %22 = load i64, i64* %st_size, align 8 + %23 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_size8 = getelementptr inbounds %struct.stat64, %struct.stat64* %23, i32 0, i32 8 + store i64 %22, i64* %st_size8, align 8 + %24 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_atim = getelementptr inbounds %struct.stat64, %struct.stat64* %24, i32 0, i32 11 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim, i32 0, i32 0 + %25 = load i64, i64* %tv_sec, align 8 + %26 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_atim9 = getelementptr inbounds %struct.stat64, %struct.stat64* %26, i32 0, i32 11 + %tv_sec10 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim9, i32 0, i32 0 + store i64 %25, i64* %tv_sec10, align 8 + %27 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_mtim = getelementptr inbounds %struct.stat64, %struct.stat64* %27, i32 0, i32 12 + %tv_sec11 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim, i32 0, i32 0 + %28 = load i64, i64* %tv_sec11, align 8 + %29 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_mtim12 = getelementptr inbounds %struct.stat64, %struct.stat64* %29, i32 0, i32 12 + %tv_sec13 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim12, i32 0, i32 0 + store i64 %28, i64* %tv_sec13, align 8 + %30 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_ctim = getelementptr inbounds %struct.stat64, %struct.stat64* %30, i32 0, i32 13 + %tv_sec14 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim, i32 0, i32 0 + %31 = load i64, i64* %tv_sec14, align 8 + %32 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_ctim15 = getelementptr inbounds %struct.stat64, %struct.stat64* %32, i32 0, i32 13 + %tv_sec16 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim15, i32 0, i32 0 + store i64 %31, i64* %tv_sec16, align 8 + %33 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_blksize = getelementptr inbounds %struct.stat64, %struct.stat64* %33, i32 0, i32 9 + %34 = load i64, i64* %st_blksize, align 8 + %35 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_blksize17 = getelementptr inbounds %struct.stat64, %struct.stat64* %35, i32 0, i32 9 + store i64 %34, i64* %st_blksize17, align 8 + %36 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_blocks = getelementptr inbounds %struct.stat64, %struct.stat64* %36, i32 0, i32 10 + %37 = load i64, i64* %st_blocks, align 8 + %38 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_blocks18 = getelementptr inbounds %struct.stat64, %struct.stat64* %38, i32 0, i32 10 + store i64 %37, i64* %st_blocks18, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @stat(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__lxstat(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @lstat(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fxstat(i32 %vers, i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %vers, i32* %vers.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstat(i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @ftruncate(i32 %fd, i64 %length) #3 { +entry: + %fd.addr = alloca i32, align 4 + %length.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %length, i64* %length.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %length.addr, align 8 + %call = call i32 @__fd_ftruncate(i32 %0, i64 %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @statfs(i8* nonnull %path, %struct.statfs* nonnull %buf32) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf32.addr = alloca %struct.statfs*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.statfs* %buf32, %struct.statfs** %buf32.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.statfs*, %struct.statfs** %buf32.addr, align 8 + %call = call i32 @__fd_statfs(i8* %0, %struct.statfs* %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @getdents(i32 %fd, %struct.dirent64* %dirp, i64 %nbytes) #3 { +entry: + %fd.addr = alloca i32, align 4 + %dirp.addr = alloca %struct.dirent64*, align 8 + %nbytes.addr = alloca i64, align 8 + %dp64 = alloca %struct.dirent64*, align 8 + %res = alloca i64, align 8 + %end = alloca %struct.dirent64*, align 8 + %dp = alloca %struct.dirent64*, align 8 + %name_len = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.dirent64* %dirp, %struct.dirent64** %dirp.addr, align 8 + store i64 %nbytes, i64* %nbytes.addr, align 8 + %0 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %1 = bitcast %struct.dirent64* %0 to %struct.dirent64* + store %struct.dirent64* %1, %struct.dirent64** %dp64, align 8 + %2 = load i32, i32* %fd.addr, align 4 + %3 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %4 = load i64, i64* %nbytes.addr, align 8 + %conv = trunc i64 %4 to i32 + %call = call i32 @__fd_getdents(i32 %2, %struct.dirent64* %3, i32 %conv) + %conv1 = sext i32 %call to i64 + store i64 %conv1, i64* %res, align 8 + %5 = load i64, i64* %res, align 8 + %cmp = icmp sgt i64 %5, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %6 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %7 = bitcast %struct.dirent64* %6 to i8* + %8 = load i64, i64* %res, align 8 + %add.ptr = getelementptr inbounds i8, i8* %7, i64 %8 + %9 = bitcast i8* %add.ptr to %struct.dirent64* + store %struct.dirent64* %9, %struct.dirent64** %end, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.then + %10 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %11 = load %struct.dirent64*, %struct.dirent64** %end, align 8 + %cmp3 = icmp ult %struct.dirent64* %10, %11 + br i1 %cmp3, label %while.body, label %if.end + +while.body: ; preds = %while.cond + %12 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %13 = bitcast %struct.dirent64* %12 to %struct.dirent64* + store %struct.dirent64* %13, %struct.dirent64** %dp, align 8 + %14 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_reclen = getelementptr inbounds %struct.dirent64, %struct.dirent64* %14, i32 0, i32 2 + %15 = load i16, i16* %d_reclen, align 8 + %conv5 = zext i16 %15 to i64 + %sub = sub i64 %conv5, ptrtoint ([256 x i8]* getelementptr inbounds (%struct.dirent64, %struct.dirent64* null, i32 0, i32 4) to i64) + store i64 %sub, i64* %name_len, align 8 + %16 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_ino = getelementptr inbounds %struct.dirent64, %struct.dirent64* %16, i32 0, i32 0 + %17 = load i64, i64* %d_ino, align 8 + %18 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_ino6 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %18, i32 0, i32 0 + store i64 %17, i64* %d_ino6, align 8 + %19 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_off = getelementptr inbounds %struct.dirent64, %struct.dirent64* %19, i32 0, i32 1 + %20 = load i64, i64* %d_off, align 8 + %21 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_off7 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %21, i32 0, i32 1 + store i64 %20, i64* %d_off7, align 8 + %22 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_reclen8 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %22, i32 0, i32 2 + %23 = load i16, i16* %d_reclen8, align 8 + %24 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_reclen9 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %24, i32 0, i32 2 + store i16 %23, i16* %d_reclen9, align 8 + %25 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_type = getelementptr inbounds %struct.dirent64, %struct.dirent64* %25, i32 0, i32 3 + %26 = load i8, i8* %d_type, align 2 + %27 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_type10 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %27, i32 0, i32 3 + store i8 %26, i8* %d_type10, align 2 + %28 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_name = getelementptr inbounds %struct.dirent64, %struct.dirent64* %28, i32 0, i32 4 + %arraydecay = getelementptr inbounds [256 x i8], [256 x i8]* %d_name, i64 0, i64 0 + %29 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_name11 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %29, i32 0, i32 4 + %arraydecay12 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name11, i64 0, i64 0 + %30 = load i64, i64* %name_len, align 8 + %31 = call i8* @memmove(i8* %arraydecay, i8* %arraydecay12, i64 %30) + %32 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %33 = bitcast %struct.dirent64* %32 to i8* + %34 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_reclen13 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %34, i32 0, i32 2 + %35 = load i16, i16* %d_reclen13, align 8 + %conv14 = zext i16 %35 to i32 + %idx.ext = sext i32 %conv14 to i64 + %add.ptr15 = getelementptr inbounds i8, i8* %33, i64 %idx.ext + %36 = bitcast i8* %add.ptr15 to %struct.dirent64* + store %struct.dirent64* %36, %struct.dirent64** %dp64, align 8 + br label %while.cond + +if.end: ; preds = %while.cond, %entry + %37 = load i64, i64* %res, align 8 + ret i64 %37 +} + +; Function Attrs: argmemonly nounwind willreturn +declare void @llvm.memmove.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i1 immarg) #9 + +; Function Attrs: noinline nounwind uwtable +define dso_local void @klee_init_env(i32* %argcPtr, i8*** %argvPtr) #3 { +entry: + %argcPtr.addr = alloca i32*, align 8 + %argvPtr.addr = alloca i8***, align 8 + %argc = alloca i32, align 4 + %argv = alloca i8**, align 8 + %new_argc = alloca i32, align 4 + %n_args = alloca i32, align 4 + %new_argv = alloca [1024 x i8*], align 16 + %max_len = alloca i32, align 4 + %min_argvs = alloca i32, align 4 + %max_argvs = alloca i32, align 4 + %sym_files = alloca i32, align 4 + %sym_file_len = alloca i32, align 4 + %sym_stdin_len = alloca i32, align 4 + %sym_stdout_flag = alloca i32, align 4 + %save_all_writes_flag = alloca i32, align 4 + %fd_fail = alloca i32, align 4 + %final_argv = alloca i8**, align 8 + %sym_arg_name = alloca [6 x i8], align 1 + %sym_arg_num = alloca i32, align 4 + %k = alloca i32, align 4 + %i = alloca i32, align 4 + %msg = alloca i8*, align 8 + %msg40 = alloca i8*, align 8 + %msg105 = alloca i8*, align 8 + %msg145 = alloca i8*, align 8 + %msg215 = alloca i8*, align 8 + store i32* %argcPtr, i32** %argcPtr.addr, align 8 + store i8*** %argvPtr, i8**** %argvPtr.addr, align 8 + %0 = load i32*, i32** %argcPtr.addr, align 8 + %1 = load i32, i32* %0, align 4 + store i32 %1, i32* %argc, align 4 + %2 = load i8***, i8**** %argvPtr.addr, align 8 + %3 = load i8**, i8*** %2, align 8 + store i8** %3, i8*** %argv, align 8 + store i32 0, i32* %new_argc, align 4 + store i32 0, i32* %sym_files, align 4 + store i32 0, i32* %sym_file_len, align 4 + store i32 0, i32* %sym_stdin_len, align 4 + store i32 0, i32* %sym_stdout_flag, align 4 + store i32 0, i32* %save_all_writes_flag, align 4 + store i32 0, i32* %fd_fail, align 4 + %4 = bitcast [6 x i8]* %sym_arg_name to i8* + %5 = call i8* @memcpy(i8* %4, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @__const.klee_init_env.sym_arg_name, i32 0, i32 0), i64 6) + store i32 0, i32* %sym_arg_num, align 4 + store i32 0, i32* %k, align 4 + %arrayidx = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 5 + store i8 0, i8* %arrayidx, align 1 + %6 = load i32, i32* %argc, align 4 + %cmp = icmp eq i32 %6, 2 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %7 = load i8**, i8*** %argv, align 8 + %arrayidx1 = getelementptr inbounds i8*, i8** %7, i64 1 + %8 = load i8*, i8** %arrayidx1, align 8 + %call = call i32 @__streq(i8* %8, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.29, i64 0, i64 0)) + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + call void @__emit_error(i8* getelementptr inbounds ([964 x i8], [964 x i8]* @.str.1.30, i64 0, i64 0)) + br label %if.end + +if.end: ; preds = %if.then, %land.lhs.true, %entry + br label %while.cond + +while.cond: ; preds = %if.end239, %if.end + %9 = load i32, i32* %k, align 4 + %10 = load i32, i32* %argc, align 4 + %cmp2 = icmp slt i32 %9, %10 + br i1 %cmp2, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %11 = load i8**, i8*** %argv, align 8 + %12 = load i32, i32* %k, align 4 + %idxprom = sext i32 %12 to i64 + %arrayidx3 = getelementptr inbounds i8*, i8** %11, i64 %idxprom + %13 = load i8*, i8** %arrayidx3, align 8 + %call4 = call i32 @__streq(i8* %13, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.2.31, i64 0, i64 0)) + %tobool5 = icmp ne i32 %call4, 0 + br i1 %tobool5, label %if.then10, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.body + %14 = load i8**, i8*** %argv, align 8 + %15 = load i32, i32* %k, align 4 + %idxprom6 = sext i32 %15 to i64 + %arrayidx7 = getelementptr inbounds i8*, i8** %14, i64 %idxprom6 + %16 = load i8*, i8** %arrayidx7, align 8 + %call8 = call i32 @__streq(i8* %16, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.32, i64 0, i64 0)) + %tobool9 = icmp ne i32 %call8, 0 + br i1 %tobool9, label %if.then10, label %if.else + +if.then10: ; preds = %lor.lhs.false, %while.body + store i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.4.33, i64 0, i64 0), i8** %msg, align 8 + %17 = load i32, i32* %k, align 4 + %inc = add nsw i32 %17, 1 + store i32 %inc, i32* %k, align 4 + %18 = load i32, i32* %argc, align 4 + %cmp11 = icmp eq i32 %inc, %18 + br i1 %cmp11, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.then10 + %19 = load i8*, i8** %msg, align 8 + call void @__emit_error(i8* %19) + br label %if.end13 + +if.end13: ; preds = %if.then12, %if.then10 + %20 = load i8**, i8*** %argv, align 8 + %21 = load i32, i32* %k, align 4 + %inc14 = add nsw i32 %21, 1 + store i32 %inc14, i32* %k, align 4 + %idxprom15 = sext i32 %21 to i64 + %arrayidx16 = getelementptr inbounds i8*, i8** %20, i64 %idxprom15 + %22 = load i8*, i8** %arrayidx16, align 8 + %23 = load i8*, i8** %msg, align 8 + %call17 = call i64 @__str_to_int(i8* %22, i8* %23) + %conv = trunc i64 %call17 to i32 + store i32 %conv, i32* %max_len, align 4 + %24 = load i32, i32* %sym_arg_num, align 4 + %cmp18 = icmp ugt i32 %24, 99 + br i1 %cmp18, label %if.then20, label %if.end21 + +if.then20: ; preds = %if.end13 + call void @__emit_error(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.5.34, i64 0, i64 0)) + br label %if.end21 + +if.end21: ; preds = %if.then20, %if.end13 + %25 = load i32, i32* %sym_arg_num, align 4 + %div = udiv i32 %25, 10 + %add = add i32 48, %div + %conv22 = trunc i32 %add to i8 + %arrayidx23 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 3 + store i8 %conv22, i8* %arrayidx23, align 1 + %26 = load i32, i32* %sym_arg_num, align 4 + %rem = urem i32 %26, 10 + %add24 = add i32 48, %rem + %conv25 = trunc i32 %add24 to i8 + %arrayidx26 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 4 + store i8 %conv25, i8* %arrayidx26, align 1 + %27 = load i32, i32* %sym_arg_num, align 4 + %inc27 = add i32 %27, 1 + store i32 %inc27, i32* %sym_arg_num, align 4 + %arraydecay = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %28 = load i32, i32* %max_len, align 4 + %arraydecay28 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 0 + %call29 = call i8* @__get_sym_str(i32 %28, i8* %arraydecay28) + call void @__add_arg(i32* %new_argc, i8** %arraydecay, i8* %call29, i32 1024) + br label %if.end239 + +if.else: ; preds = %lor.lhs.false + %29 = load i8**, i8*** %argv, align 8 + %30 = load i32, i32* %k, align 4 + %idxprom30 = sext i32 %30 to i64 + %arrayidx31 = getelementptr inbounds i8*, i8** %29, i64 %idxprom30 + %31 = load i8*, i8** %arrayidx31, align 8 + %call32 = call i32 @__streq(i8* %31, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.6.35, i64 0, i64 0)) + %tobool33 = icmp ne i32 %call32, 0 + br i1 %tobool33, label %if.then39, label %lor.lhs.false34 + +lor.lhs.false34: ; preds = %if.else + %32 = load i8**, i8*** %argv, align 8 + %33 = load i32, i32* %k, align 4 + %idxprom35 = sext i32 %33 to i64 + %arrayidx36 = getelementptr inbounds i8*, i8** %32, i64 %idxprom35 + %34 = load i8*, i8** %arrayidx36, align 8 + %call37 = call i32 @__streq(i8* %34, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.7.36, i64 0, i64 0)) + %tobool38 = icmp ne i32 %call37, 0 + br i1 %tobool38, label %if.then39, label %if.else94 + +if.then39: ; preds = %lor.lhs.false34, %if.else + store i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.8.37, i64 0, i64 0), i8** %msg40, align 8 + %35 = load i32, i32* %k, align 4 + %add41 = add nsw i32 %35, 3 + %36 = load i32, i32* %argc, align 4 + %cmp42 = icmp sge i32 %add41, %36 + br i1 %cmp42, label %if.then44, label %if.end45 + +if.then44: ; preds = %if.then39 + %37 = load i8*, i8** %msg40, align 8 + call void @__emit_error(i8* %37) + br label %if.end45 + +if.end45: ; preds = %if.then44, %if.then39 + %38 = load i32, i32* %k, align 4 + %inc46 = add nsw i32 %38, 1 + store i32 %inc46, i32* %k, align 4 + %39 = load i8**, i8*** %argv, align 8 + %40 = load i32, i32* %k, align 4 + %inc47 = add nsw i32 %40, 1 + store i32 %inc47, i32* %k, align 4 + %idxprom48 = sext i32 %40 to i64 + %arrayidx49 = getelementptr inbounds i8*, i8** %39, i64 %idxprom48 + %41 = load i8*, i8** %arrayidx49, align 8 + %42 = load i8*, i8** %msg40, align 8 + %call50 = call i64 @__str_to_int(i8* %41, i8* %42) + %conv51 = trunc i64 %call50 to i32 + store i32 %conv51, i32* %min_argvs, align 4 + %43 = load i8**, i8*** %argv, align 8 + %44 = load i32, i32* %k, align 4 + %inc52 = add nsw i32 %44, 1 + store i32 %inc52, i32* %k, align 4 + %idxprom53 = sext i32 %44 to i64 + %arrayidx54 = getelementptr inbounds i8*, i8** %43, i64 %idxprom53 + %45 = load i8*, i8** %arrayidx54, align 8 + %46 = load i8*, i8** %msg40, align 8 + %call55 = call i64 @__str_to_int(i8* %45, i8* %46) + %conv56 = trunc i64 %call55 to i32 + store i32 %conv56, i32* %max_argvs, align 4 + %47 = load i8**, i8*** %argv, align 8 + %48 = load i32, i32* %k, align 4 + %inc57 = add nsw i32 %48, 1 + store i32 %inc57, i32* %k, align 4 + %idxprom58 = sext i32 %48 to i64 + %arrayidx59 = getelementptr inbounds i8*, i8** %47, i64 %idxprom58 + %49 = load i8*, i8** %arrayidx59, align 8 + %50 = load i8*, i8** %msg40, align 8 + %call60 = call i64 @__str_to_int(i8* %49, i8* %50) + %conv61 = trunc i64 %call60 to i32 + store i32 %conv61, i32* %max_len, align 4 + %51 = load i32, i32* %min_argvs, align 4 + %52 = load i32, i32* %max_argvs, align 4 + %cmp62 = icmp ugt i32 %51, %52 + br i1 %cmp62, label %if.then70, label %lor.lhs.false64 + +lor.lhs.false64: ; preds = %if.end45 + %53 = load i32, i32* %min_argvs, align 4 + %cmp65 = icmp eq i32 %53, 0 + %54 = load i32, i32* %max_argvs, align 4 + %cmp68 = icmp eq i32 %54, 0 + %or.cond = and i1 %cmp65, %cmp68 + br i1 %or.cond, label %if.then70, label %if.end71 + +if.then70: ; preds = %lor.lhs.false64, %if.end45 + call void @__emit_error(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.9.38, i64 0, i64 0)) + br label %if.end71 + +if.end71: ; preds = %if.then70, %lor.lhs.false64 + %55 = load i32, i32* %min_argvs, align 4 + %56 = load i32, i32* %max_argvs, align 4 + %add72 = add i32 %56, 1 + %call73 = call i32 @gs_range(i32 %55, i32 %add72, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.10.39, i64 0, i64 0)) + store i32 %call73, i32* %n_args, align 4 + %57 = load i32, i32* %sym_arg_num, align 4 + %58 = load i32, i32* %max_argvs, align 4 + %add74 = add i32 %57, %58 + %cmp75 = icmp ugt i32 %add74, 99 + br i1 %cmp75, label %if.then77, label %if.end78 + +if.then77: ; preds = %if.end71 + call void @__emit_error(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.5.34, i64 0, i64 0)) + br label %if.end78 + +if.end78: ; preds = %if.then77, %if.end71 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end78 + %59 = load i32, i32* %i, align 4 + %60 = load i32, i32* %n_args, align 4 + %cmp79 = icmp slt i32 %59, %60 + br i1 %cmp79, label %for.body, label %if.end239 + +for.body: ; preds = %for.cond + %61 = load i32, i32* %sym_arg_num, align 4 + %div81 = udiv i32 %61, 10 + %add82 = add i32 48, %div81 + %conv83 = trunc i32 %add82 to i8 + %arrayidx84 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 3 + store i8 %conv83, i8* %arrayidx84, align 1 + %62 = load i32, i32* %sym_arg_num, align 4 + %rem85 = urem i32 %62, 10 + %add86 = add i32 48, %rem85 + %conv87 = trunc i32 %add86 to i8 + %arrayidx88 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 4 + store i8 %conv87, i8* %arrayidx88, align 1 + %63 = load i32, i32* %sym_arg_num, align 4 + %inc89 = add i32 %63, 1 + store i32 %inc89, i32* %sym_arg_num, align 4 + %arraydecay90 = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %64 = load i32, i32* %max_len, align 4 + %arraydecay91 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 0 + %call92 = call i8* @__get_sym_str(i32 %64, i8* %arraydecay91) + call void @__add_arg(i32* %new_argc, i8** %arraydecay90, i8* %call92, i32 1024) + %65 = load i32, i32* %i, align 4 + %inc93 = add nsw i32 %65, 1 + store i32 %inc93, i32* %i, align 4 + br label %for.cond + +if.else94: ; preds = %lor.lhs.false34 + %66 = load i8**, i8*** %argv, align 8 + %67 = load i32, i32* %k, align 4 + %idxprom95 = sext i32 %67 to i64 + %arrayidx96 = getelementptr inbounds i8*, i8** %66, i64 %idxprom95 + %68 = load i8*, i8** %arrayidx96, align 8 + %call97 = call i32 @__streq(i8* %68, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.11.40, i64 0, i64 0)) + %tobool98 = icmp ne i32 %call97, 0 + br i1 %tobool98, label %if.then104, label %lor.lhs.false99 + +lor.lhs.false99: ; preds = %if.else94 + %69 = load i8**, i8*** %argv, align 8 + %70 = load i32, i32* %k, align 4 + %idxprom100 = sext i32 %70 to i64 + %arrayidx101 = getelementptr inbounds i8*, i8** %69, i64 %idxprom100 + %71 = load i8*, i8** %arrayidx101, align 8 + %call102 = call i32 @__streq(i8* %71, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.12.41, i64 0, i64 0)) + %tobool103 = icmp ne i32 %call102, 0 + br i1 %tobool103, label %if.then104, label %if.else134 + +if.then104: ; preds = %lor.lhs.false99, %if.else94 + store i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.13.42, i64 0, i64 0), i8** %msg105, align 8 + %72 = load i32, i32* %k, align 4 + %add106 = add nsw i32 %72, 2 + %73 = load i32, i32* %argc, align 4 + %cmp107 = icmp sge i32 %add106, %73 + br i1 %cmp107, label %if.then109, label %if.end110 + +if.then109: ; preds = %if.then104 + %74 = load i8*, i8** %msg105, align 8 + call void @__emit_error(i8* %74) + br label %if.end110 + +if.end110: ; preds = %if.then109, %if.then104 + %75 = load i32, i32* %sym_files, align 4 + %cmp111 = icmp ne i32 %75, 0 + br i1 %cmp111, label %if.then113, label %if.end114 + +if.then113: ; preds = %if.end110 + call void @__emit_error(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.14.43, i64 0, i64 0)) + br label %if.end114 + +if.end114: ; preds = %if.then113, %if.end110 + %76 = load i32, i32* %k, align 4 + %inc115 = add nsw i32 %76, 1 + store i32 %inc115, i32* %k, align 4 + %77 = load i8**, i8*** %argv, align 8 + %78 = load i32, i32* %k, align 4 + %inc116 = add nsw i32 %78, 1 + store i32 %inc116, i32* %k, align 4 + %idxprom117 = sext i32 %78 to i64 + %arrayidx118 = getelementptr inbounds i8*, i8** %77, i64 %idxprom117 + %79 = load i8*, i8** %arrayidx118, align 8 + %80 = load i8*, i8** %msg105, align 8 + %call119 = call i64 @__str_to_int(i8* %79, i8* %80) + %conv120 = trunc i64 %call119 to i32 + store i32 %conv120, i32* %sym_files, align 4 + %81 = load i8**, i8*** %argv, align 8 + %82 = load i32, i32* %k, align 4 + %inc121 = add nsw i32 %82, 1 + store i32 %inc121, i32* %k, align 4 + %idxprom122 = sext i32 %82 to i64 + %arrayidx123 = getelementptr inbounds i8*, i8** %81, i64 %idxprom122 + %83 = load i8*, i8** %arrayidx123, align 8 + %84 = load i8*, i8** %msg105, align 8 + %call124 = call i64 @__str_to_int(i8* %83, i8* %84) + %conv125 = trunc i64 %call124 to i32 + store i32 %conv125, i32* %sym_file_len, align 4 + %85 = load i32, i32* %sym_files, align 4 + %cmp126 = icmp eq i32 %85, 0 + br i1 %cmp126, label %if.then128, label %if.end129 + +if.then128: ; preds = %if.end114 + call void @__emit_error(i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.15.44, i64 0, i64 0)) + br label %if.end129 + +if.end129: ; preds = %if.then128, %if.end114 + %86 = load i32, i32* %sym_file_len, align 4 + %cmp130 = icmp eq i32 %86, 0 + br i1 %cmp130, label %if.then132, label %if.end239 + +if.then132: ; preds = %if.end129 + call void @__emit_error(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.16.45, i64 0, i64 0)) + br label %if.end239 + +if.else134: ; preds = %lor.lhs.false99 + %87 = load i8**, i8*** %argv, align 8 + %88 = load i32, i32* %k, align 4 + %idxprom135 = sext i32 %88 to i64 + %arrayidx136 = getelementptr inbounds i8*, i8** %87, i64 %idxprom135 + %89 = load i8*, i8** %arrayidx136, align 8 + %call137 = call i32 @__streq(i8* %89, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.17.46, i64 0, i64 0)) + %tobool138 = icmp ne i32 %call137, 0 + br i1 %tobool138, label %if.then144, label %lor.lhs.false139 + +lor.lhs.false139: ; preds = %if.else134 + %90 = load i8**, i8*** %argv, align 8 + %91 = load i32, i32* %k, align 4 + %idxprom140 = sext i32 %91 to i64 + %arrayidx141 = getelementptr inbounds i8*, i8** %90, i64 %idxprom140 + %92 = load i8*, i8** %arrayidx141, align 8 + %call142 = call i32 @__streq(i8* %92, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.18.47, i64 0, i64 0)) + %tobool143 = icmp ne i32 %call142, 0 + br i1 %tobool143, label %if.then144, label %if.else156 + +if.then144: ; preds = %lor.lhs.false139, %if.else134 + store i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.19.48, i64 0, i64 0), i8** %msg145, align 8 + %93 = load i32, i32* %k, align 4 + %inc146 = add nsw i32 %93, 1 + store i32 %inc146, i32* %k, align 4 + %94 = load i32, i32* %argc, align 4 + %cmp147 = icmp eq i32 %inc146, %94 + br i1 %cmp147, label %if.then149, label %if.end150 + +if.then149: ; preds = %if.then144 + %95 = load i8*, i8** %msg145, align 8 + call void @__emit_error(i8* %95) + br label %if.end150 + +if.end150: ; preds = %if.then149, %if.then144 + %96 = load i8**, i8*** %argv, align 8 + %97 = load i32, i32* %k, align 4 + %inc151 = add nsw i32 %97, 1 + store i32 %inc151, i32* %k, align 4 + %idxprom152 = sext i32 %97 to i64 + %arrayidx153 = getelementptr inbounds i8*, i8** %96, i64 %idxprom152 + %98 = load i8*, i8** %arrayidx153, align 8 + %99 = load i8*, i8** %msg145, align 8 + %call154 = call i64 @__str_to_int(i8* %98, i8* %99) + %conv155 = trunc i64 %call154 to i32 + store i32 %conv155, i32* %sym_stdin_len, align 4 + br label %if.end239 + +if.else156: ; preds = %lor.lhs.false139 + %100 = load i8**, i8*** %argv, align 8 + %101 = load i32, i32* %k, align 4 + %idxprom157 = sext i32 %101 to i64 + %arrayidx158 = getelementptr inbounds i8*, i8** %100, i64 %idxprom157 + %102 = load i8*, i8** %arrayidx158, align 8 + %call159 = call i32 @__streq(i8* %102, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.20.49, i64 0, i64 0)) + %tobool160 = icmp ne i32 %call159, 0 + br i1 %tobool160, label %if.then166, label %lor.lhs.false161 + +lor.lhs.false161: ; preds = %if.else156 + %103 = load i8**, i8*** %argv, align 8 + %104 = load i32, i32* %k, align 4 + %idxprom162 = sext i32 %104 to i64 + %arrayidx163 = getelementptr inbounds i8*, i8** %103, i64 %idxprom162 + %105 = load i8*, i8** %arrayidx163, align 8 + %call164 = call i32 @__streq(i8* %105, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.21.50, i64 0, i64 0)) + %tobool165 = icmp ne i32 %call164, 0 + br i1 %tobool165, label %if.then166, label %if.else168 + +if.then166: ; preds = %lor.lhs.false161, %if.else156 + store i32 1, i32* %sym_stdout_flag, align 4 + %106 = load i32, i32* %k, align 4 + %inc167 = add nsw i32 %106, 1 + store i32 %inc167, i32* %k, align 4 + br label %if.end239 + +if.else168: ; preds = %lor.lhs.false161 + %107 = load i8**, i8*** %argv, align 8 + %108 = load i32, i32* %k, align 4 + %idxprom169 = sext i32 %108 to i64 + %arrayidx170 = getelementptr inbounds i8*, i8** %107, i64 %idxprom169 + %109 = load i8*, i8** %arrayidx170, align 8 + %call171 = call i32 @__streq(i8* %109, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.22.51, i64 0, i64 0)) + %tobool172 = icmp ne i32 %call171, 0 + br i1 %tobool172, label %if.then178, label %lor.lhs.false173 + +lor.lhs.false173: ; preds = %if.else168 + %110 = load i8**, i8*** %argv, align 8 + %111 = load i32, i32* %k, align 4 + %idxprom174 = sext i32 %111 to i64 + %arrayidx175 = getelementptr inbounds i8*, i8** %110, i64 %idxprom174 + %112 = load i8*, i8** %arrayidx175, align 8 + %call176 = call i32 @__streq(i8* %112, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23.52, i64 0, i64 0)) + %tobool177 = icmp ne i32 %call176, 0 + br i1 %tobool177, label %if.then178, label %if.else180 + +if.then178: ; preds = %lor.lhs.false173, %if.else168 + store i32 1, i32* %save_all_writes_flag, align 4 + %113 = load i32, i32* %k, align 4 + %inc179 = add nsw i32 %113, 1 + store i32 %inc179, i32* %k, align 4 + br label %if.end239 + +if.else180: ; preds = %lor.lhs.false173 + %114 = load i8**, i8*** %argv, align 8 + %115 = load i32, i32* %k, align 4 + %idxprom181 = sext i32 %115 to i64 + %arrayidx182 = getelementptr inbounds i8*, i8** %114, i64 %idxprom181 + %116 = load i8*, i8** %arrayidx182, align 8 + %call183 = call i32 @__streq(i8* %116, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.24.53, i64 0, i64 0)) + %tobool184 = icmp ne i32 %call183, 0 + br i1 %tobool184, label %if.then190, label %lor.lhs.false185 + +lor.lhs.false185: ; preds = %if.else180 + %117 = load i8**, i8*** %argv, align 8 + %118 = load i32, i32* %k, align 4 + %idxprom186 = sext i32 %118 to i64 + %arrayidx187 = getelementptr inbounds i8*, i8** %117, i64 %idxprom186 + %119 = load i8*, i8** %arrayidx187, align 8 + %call188 = call i32 @__streq(i8* %119, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.25.54, i64 0, i64 0)) + %tobool189 = icmp ne i32 %call188, 0 + br i1 %tobool189, label %if.then190, label %if.else192 + +if.then190: ; preds = %lor.lhs.false185, %if.else180 + store i32 1, i32* %fd_fail, align 4 + %120 = load i32, i32* %k, align 4 + %inc191 = add nsw i32 %120, 1 + store i32 %inc191, i32* %k, align 4 + br label %if.end239 + +if.else192: ; preds = %lor.lhs.false185 + %121 = load i8**, i8*** %argv, align 8 + %122 = load i32, i32* %k, align 4 + %idxprom193 = sext i32 %122 to i64 + %arrayidx194 = getelementptr inbounds i8*, i8** %121, i64 %idxprom193 + %123 = load i8*, i8** %arrayidx194, align 8 + %call195 = call i32 @__streq(i8* %123, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.26.55, i64 0, i64 0)) + %tobool196 = icmp ne i32 %call195, 0 + br i1 %tobool196, label %if.then202, label %lor.lhs.false197 + +lor.lhs.false197: ; preds = %if.else192 + %124 = load i8**, i8*** %argv, align 8 + %125 = load i32, i32* %k, align 4 + %idxprom198 = sext i32 %125 to i64 + %arrayidx199 = getelementptr inbounds i8*, i8** %124, i64 %idxprom198 + %126 = load i8*, i8** %arrayidx199, align 8 + %call200 = call i32 @__streq(i8* %126, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.27.56, i64 0, i64 0)) + %tobool201 = icmp ne i32 %call200, 0 + br i1 %tobool201, label %if.then202, label %if.else204 + +if.then202: ; preds = %lor.lhs.false197, %if.else192 + %127 = load i32, i32* %k, align 4 + %add203 = add nsw i32 %127, 2 + store i32 %add203, i32* %k, align 4 + br label %if.end239 + +if.else204: ; preds = %lor.lhs.false197 + %128 = load i8**, i8*** %argv, align 8 + %129 = load i32, i32* %k, align 4 + %idxprom205 = sext i32 %129 to i64 + %arrayidx206 = getelementptr inbounds i8*, i8** %128, i64 %idxprom205 + %130 = load i8*, i8** %arrayidx206, align 8 + %call207 = call i32 @__streq(i8* %130, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.28.57, i64 0, i64 0)) + %tobool208 = icmp ne i32 %call207, 0 + br i1 %tobool208, label %if.then214, label %lor.lhs.false209 + +lor.lhs.false209: ; preds = %if.else204 + %131 = load i8**, i8*** %argv, align 8 + %132 = load i32, i32* %k, align 4 + %idxprom210 = sext i32 %132 to i64 + %arrayidx211 = getelementptr inbounds i8*, i8** %131, i64 %idxprom210 + %133 = load i8*, i8** %arrayidx211, align 8 + %call212 = call i32 @__streq(i8* %133, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.29.58, i64 0, i64 0)) + %tobool213 = icmp ne i32 %call212, 0 + br i1 %tobool213, label %if.then214, label %if.else226 + +if.then214: ; preds = %lor.lhs.false209, %if.else204 + store i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.30, i64 0, i64 0), i8** %msg215, align 8 + %134 = load i32, i32* %k, align 4 + %inc216 = add nsw i32 %134, 1 + store i32 %inc216, i32* %k, align 4 + %135 = load i32, i32* %argc, align 4 + %cmp217 = icmp eq i32 %inc216, %135 + br i1 %cmp217, label %if.then219, label %if.end220 + +if.then219: ; preds = %if.then214 + %136 = load i8*, i8** %msg215, align 8 + call void @__emit_error(i8* %136) + br label %if.end220 + +if.end220: ; preds = %if.then219, %if.then214 + %137 = load i8**, i8*** %argv, align 8 + %138 = load i32, i32* %k, align 4 + %inc221 = add nsw i32 %138, 1 + store i32 %inc221, i32* %k, align 4 + %idxprom222 = sext i32 %138 to i64 + %arrayidx223 = getelementptr inbounds i8*, i8** %137, i64 %idxprom222 + %139 = load i8*, i8** %arrayidx223, align 8 + %140 = load i8*, i8** %msg215, align 8 + %call224 = call i64 @__str_to_int(i8* %139, i8* %140) + %conv225 = trunc i64 %call224 to i32 + store i32 %conv225, i32* %fd_fail, align 4 + br label %if.end239 + +if.else226: ; preds = %lor.lhs.false209 + %arraydecay227 = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %141 = load i8**, i8*** %argv, align 8 + %142 = load i32, i32* %k, align 4 + %inc228 = add nsw i32 %142, 1 + store i32 %inc228, i32* %k, align 4 + %idxprom229 = sext i32 %142 to i64 + %arrayidx230 = getelementptr inbounds i8*, i8** %141, i64 %idxprom229 + %143 = load i8*, i8** %arrayidx230, align 8 + call void @__add_arg(i32* %new_argc, i8** %arraydecay227, i8* %143, i32 1024) + br label %if.end239 + +if.end239: ; preds = %for.cond, %if.end150, %if.then178, %if.then202, %if.else226, %if.end220, %if.then190, %if.then166, %if.end129, %if.then132, %if.end21 + br label %while.cond + +while.end: ; preds = %while.cond + %144 = load i32, i32* %new_argc, align 4 + %add240 = add nsw i32 %144, 1 + %conv241 = sext i32 %add240 to i64 + %mul = mul i64 %conv241, 8 + %call242 = call noalias i8* @malloc(i64 %mul) #11 + %145 = bitcast i8* %call242 to i8** + store i8** %145, i8*** %final_argv, align 8 + %146 = load i8**, i8*** %final_argv, align 8 + %tobool243 = icmp ne i8** %146, null + br i1 %tobool243, label %if.end245, label %if.then244 + +if.then244: ; preds = %while.end + call void @__emit_error(i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.31, i64 0, i64 0)) + br label %if.end245 + +if.end245: ; preds = %if.then244, %while.end + %147 = load i8**, i8*** %final_argv, align 8 + %148 = bitcast i8** %147 to i8* + %arraydecay246 = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %149 = bitcast i8** %arraydecay246 to i8* + %150 = load i32, i32* %new_argc, align 4 + %conv247 = sext i32 %150 to i64 + %mul248 = mul i64 %conv247, 8 + %151 = call i8* @memcpy(i8* %148, i8* %149, i64 %mul248) + %152 = load i8**, i8*** %final_argv, align 8 + %153 = load i32, i32* %new_argc, align 4 + %idxprom249 = sext i32 %153 to i64 + %arrayidx250 = getelementptr inbounds i8*, i8** %152, i64 %idxprom249 + store i8* null, i8** %arrayidx250, align 8 + %154 = load i32, i32* %new_argc, align 4 + %155 = load i32*, i32** %argcPtr.addr, align 8 + store i32 %154, i32* %155, align 4 + %156 = load i8**, i8*** %final_argv, align 8 + %157 = load i8***, i8**** %argvPtr.addr, align 8 + store i8** %156, i8*** %157, align 8 + %158 = load i32, i32* %sym_files, align 4 + %159 = load i32, i32* %sym_file_len, align 4 + %160 = load i32, i32* %sym_stdin_len, align 4 + %161 = load i32, i32* %sym_stdout_flag, align 4 + %162 = load i32, i32* %save_all_writes_flag, align 4 + %163 = load i32, i32* %fd_fail, align 4 + call void @klee_init_fds(i32 %158, i32 %159, i32 %160, i32 %161, i32 %162, i32 %163) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__streq(i8* %a, i8* %b) #3 { +entry: + %retval = alloca i32, align 4 + %a.addr = alloca i8*, align 8 + %b.addr = alloca i8*, align 8 + store i8* %a, i8** %a.addr, align 8 + store i8* %b, i8** %b.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %0 = load i8*, i8** %a.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %2 = load i8*, i8** %b.addr, align 8 + %3 = load i8, i8* %2, align 1 + %conv1 = sext i8 %3 to i32 + %cmp = icmp eq i32 %conv, %conv1 + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i8*, i8** %a.addr, align 8 + %5 = load i8, i8* %4, align 1 + %tobool = icmp ne i8 %5, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %while.body + store i32 1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %while.body + %6 = load i8*, i8** %a.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %a.addr, align 8 + %7 = load i8*, i8** %b.addr, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %7, i32 1 + store i8* %incdec.ptr3, i8** %b.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %while.end, %if.then + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__emit_error(i8* %msg) #3 { +entry: + %msg.addr = alloca i8*, align 8 + store i8* %msg, i8** %msg.addr, align 8 + %0 = load i8*, i8** %msg.addr, align 8 + call void @gs_report_error.59(i8* getelementptr inbounds ([88 x i8], [88 x i8]* @.str.32, i64 0, i64 0), i32 21, i8* %0, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.33, i64 0, i64 0)) #25 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @__str_to_int(i8* %s, i8* %error_msg) #3 { +entry: + %s.addr = alloca i8*, align 8 + %error_msg.addr = alloca i8*, align 8 + %res = alloca i64, align 8 + %c = alloca i8, align 1 + store i8* %s, i8** %s.addr, align 8 + store i8* %error_msg, i8** %error_msg.addr, align 8 + store i64 0, i64* %res, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i8, i8* %0, align 1 + %tobool = icmp ne i8 %1, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %2 = load i8*, i8** %error_msg.addr, align 8 + call void @__emit_error(i8* %2) + br label %if.end + +if.end: ; preds = %if.then, %entry + br label %while.cond + +while.cond: ; preds = %if.end9, %if.end + %3 = load i8*, i8** %s.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %s.addr, align 8 + %4 = load i8, i8* %3, align 1 + store i8 %4, i8* %c, align 1 + %tobool1 = icmp ne i8 %4, 0 + br i1 %tobool1, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %5 = load i8, i8* %c, align 1 + %conv = sext i8 %5 to i32 + %cmp = icmp sge i32 %conv, 48 + br i1 %cmp, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %while.body + %6 = load i8, i8* %c, align 1 + %conv3 = sext i8 %6 to i32 + %cmp4 = icmp sle i32 %conv3, 57 + br i1 %cmp4, label %if.then6, label %if.else + +if.then6: ; preds = %land.lhs.true + %7 = load i64, i64* %res, align 8 + %mul = mul nsw i64 %7, 10 + %8 = load i8, i8* %c, align 1 + %conv7 = sext i8 %8 to i32 + %sub = sub nsw i32 %conv7, 48 + %conv8 = sext i32 %sub to i64 + %add = add nsw i64 %mul, %conv8 + store i64 %add, i64* %res, align 8 + br label %if.end9 + +if.else: ; preds = %land.lhs.true, %while.body + %9 = load i8*, i8** %error_msg.addr, align 8 + call void @__emit_error(i8* %9) + br label %if.end9 + +if.end9: ; preds = %if.else, %if.then6 + br label %while.cond + +while.end: ; preds = %while.cond + %10 = load i64, i64* %res, align 8 + ret i64 %10 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @__get_sym_str(i32 %numChars, i8* %name) #3 { +entry: + %numChars.addr = alloca i32, align 4 + %name.addr = alloca i8*, align 8 + %i = alloca i32, align 4 + %s = alloca i8*, align 8 + store i32 %numChars, i32* %numChars.addr, align 4 + store i8* %name, i8** %name.addr, align 8 + %0 = load i32, i32* %numChars.addr, align 4 + %add = add nsw i32 %0, 1 + %conv = sext i32 %add to i64 + %call = call noalias i8* @malloc(i64 %conv) #11 + store i8* %call, i8** %s, align 8 + %1 = load i8*, i8** %s, align 8 + %tobool = icmp ne i8* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @__emit_error(i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.31, i64 0, i64 0)) + br label %if.end + +if.end: ; preds = %if.then, %entry + %2 = load i8*, i8** %s, align 8 + %3 = load i32, i32* %numChars.addr, align 4 + %add1 = add nsw i32 %3, 1 + %conv2 = sext i32 %add1 to i64 + %4 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %2, i64 %conv2, i8* %4) + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %5 = load i32, i32* %i, align 4 + %6 = load i32, i32* %numChars.addr, align 4 + %cmp = icmp slt i32 %5, %6 + %7 = load i8*, i8** %s, align 8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %8 = load i8*, i8** %s, align 8 + %9 = load i32, i32* %i, align 4 + %idxprom = sext i32 %9 to i64 + %arrayidx = getelementptr inbounds i8, i8* %8, i64 %idxprom + %10 = load i8, i8* %arrayidx, align 1 + %call4 = call i32 @__isprint(i8 signext %10) + %tobool5 = icmp ne i32 %call4, 0 + call void @gs_posix_prefer_cex(i8* %7, i1 zeroext %tobool5) + %11 = load i32, i32* %i, align 4 + %inc = add nsw i32 %11, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %12 = load i32, i32* %numChars.addr, align 4 + %idxprom6 = sext i32 %12 to i64 + %arrayidx7 = getelementptr inbounds i8, i8* %7, i64 %idxprom6 + store i8 0, i8* %arrayidx7, align 1 + %13 = load i8*, i8** %s, align 8 + ret i8* %13 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__add_arg(i32* %argc, i8** %argv, i8* %arg, i32 %argcMax) #3 { +entry: + %argc.addr = alloca i32*, align 8 + %argv.addr = alloca i8**, align 8 + %arg.addr = alloca i8*, align 8 + %argcMax.addr = alloca i32, align 4 + store i32* %argc, i32** %argc.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i32 %argcMax, i32* %argcMax.addr, align 4 + %0 = load i32*, i32** %argc.addr, align 8 + %1 = load i32, i32* %0, align 4 + %2 = load i32, i32* %argcMax.addr, align 4 + %cmp = icmp eq i32 %1, %2 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + call void @__emit_error(i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.35, i64 0, i64 0)) + br label %if.end + +if.else: ; preds = %entry + %3 = load i8*, i8** %arg.addr, align 8 + %4 = load i8**, i8*** %argv.addr, align 8 + %5 = load i32*, i32** %argc.addr, align 8 + %6 = load i32, i32* %5, align 4 + %idxprom = sext i32 %6 to i64 + %arrayidx = getelementptr inbounds i8*, i8** %4, i64 %idxprom + store i8* %3, i8** %arrayidx, align 8 + %7 = load i32*, i32** %argc.addr, align 8 + %8 = load i32, i32* %7, align 4 + %inc = add nsw i32 %8, 1 + store i32 %inc, i32* %7, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @gs_range(i32 %begin, i32 %end, i8* %name) #3 { +entry: + %begin.addr = alloca i32, align 4 + %end.addr = alloca i32, align 4 + %name.addr = alloca i8*, align 8 + %x = alloca i32, align 4 + store i32 %begin, i32* %begin.addr, align 4 + store i32 %end, i32* %end.addr, align 4 + store i8* %name, i8** %name.addr, align 8 + %0 = bitcast i32* %x to i8* + %1 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %0, i64 4, i8* %1) + %2 = load i32, i32* %x, align 4 + %3 = load i32, i32* %begin.addr, align 4 + %cmp = icmp sge i32 %2, %3 + call void @gs_assume(i1 zeroext %cmp) + %4 = load i32, i32* %x, align 4 + %5 = load i32, i32* %end.addr, align 4 + %cmp1 = icmp slt i32 %4, %5 + call void @gs_assume(i1 zeroext %cmp1) + %6 = load i32, i32* %x, align 4 + ret i32 %6 +} + +declare dso_local void @make_symbolic(i8*, i64, ...) #5 + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__isprint(i8 signext %c) #3 { +entry: + %c.addr = alloca i8, align 1 + store i8 %c, i8* %c.addr, align 1 + %0 = load i8, i8* %c.addr, align 1 + %conv = sext i8 %0 to i32 + %cmp = icmp sle i32 32, %conv + %conv1 = zext i1 %cmp to i32 + %1 = load i8, i8* %c.addr, align 1 + %conv2 = sext i8 %1 to i32 + %cmp3 = icmp sle i32 %conv2, 126 + %conv4 = zext i1 %cmp3 to i32 + %and = and i32 %conv1, %conv4 + ret i32 %and +} + +declare dso_local void @gs_posix_prefer_cex(i8*, i1 zeroext) #5 + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error.59(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.34, i64 0, i64 0)) + call void @stop(i32 -1) #25 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__user_main(i32 %argcPtr, i8** %argvPtr, i8** %envp) #3 { +entry: + %argcPtr.addr = alloca i32, align 4 + %argvPtr.addr = alloca i8**, align 8 + %envp.addr = alloca i8**, align 8 + store i32 %argcPtr, i32* %argcPtr.addr, align 4 + store i8** %argvPtr, i8*** %argvPtr.addr, align 8 + store i8** %envp, i8*** %envp.addr, align 8 + call void @klee_init_env(i32* %argcPtr.addr, i8*** %argvPtr.addr) + %0 = load i32, i32* %argcPtr.addr, align 4 + %1 = load i8**, i8*** %argvPtr.addr, align 8 + %2 = load i8**, i8*** %envp.addr, align 8 + %call = call i32 bitcast (i32 (i32, i8**)* @__klee_posix_wrapped_main to i32 (i32, i8**, i8**)*)(i32 %0, i8** %1, i8** %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind readnone uwtable +declare i32* @__errno_location() #12 + +; Function Attrs: noinline nounwind readnone uwtable +define weak i32* @__h_errno_location() #12 { +entry: + ret i32* @h_errno +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @___path_search(i8* %tmpl, i64 %tmpl_len, i8* %dir, i8* %pfx) #0 { +entry: + %retval = alloca i32, align 4 + %tmpl.addr = alloca i8*, align 8 + %tmpl_len.addr = alloca i64, align 8 + %dir.addr = alloca i8*, align 8 + %pfx.addr = alloca i8*, align 8 + %dlen = alloca i64, align 8 + %plen = alloca i64, align 8 + store i8* %tmpl, i8** %tmpl.addr, align 8 + store i64 %tmpl_len, i64* %tmpl_len.addr, align 8 + store i8* %dir, i8** %dir.addr, align 8 + store i8* %pfx, i8** %pfx.addr, align 8 + %0 = load i8*, i8** %pfx.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %lor.lhs.false, label %if.then + +lor.lhs.false: ; preds = %entry + %1 = load i8*, i8** %pfx.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %tobool1 = icmp ne i8 %2, 0 + br i1 %tobool1, label %if.else, label %if.then + +if.then: ; preds = %lor.lhs.false, %entry + store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.68, i64 0, i64 0), i8** %pfx.addr, align 8 + store i64 4, i64* %plen, align 8 + br label %if.end3 + +if.else: ; preds = %lor.lhs.false + %3 = load i8*, i8** %pfx.addr, align 8 + %call = call i64 @strlen(i8* %3) #21 + store i64 %call, i64* %plen, align 8 + %4 = load i64, i64* %plen, align 8 + %cmp = icmp ugt i64 %4, 5 + %spec.store.select = select i1 %cmp, i64 5, i64 %call + store i64 %spec.store.select, i64* %plen, align 8 + br label %if.end3 + +if.end3: ; preds = %if.else, %if.then + %5 = load i8*, i8** %dir.addr, align 8 + %cmp4 = icmp eq i8* %5, null + br i1 %cmp4, label %if.then5, label %if.end18 + +if.then5: ; preds = %if.end3 + %call6 = call i32 @direxists(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0)) #19 + %tobool7 = icmp ne i32 %call6, 0 + br i1 %tobool7, label %if.then8, label %if.else9 + +if.then8: ; preds = %if.then5 + store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0), i8** %dir.addr, align 8 + br label %if.end18 + +if.else9: ; preds = %if.then5 + %call10 = call i32 @strcmp(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0)) #21 + %cmp11 = icmp ne i32 %call10, 0 + br i1 %cmp11, label %land.lhs.true, label %if.else15 + +land.lhs.true: ; preds = %if.else9 + %call12 = call i32 @direxists(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0)) #19 + %tobool13 = icmp ne i32 %call12, 0 + br i1 %tobool13, label %if.then14, label %if.else15 + +if.then14: ; preds = %land.lhs.true + store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0), i8** %dir.addr, align 8 + br label %if.end18 + +if.else15: ; preds = %land.lhs.true, %if.else9 + store i32 2, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %if.then8, %if.then14, %if.end3 + %6 = load i8*, i8** %dir.addr, align 8 + %call19 = call i64 @strlen(i8* %6) #21 + store i64 %call19, i64* %dlen, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end18 + %7 = load i64, i64* %dlen, align 8 + %cmp20 = icmp ugt i64 %7, 1 + br i1 %cmp20, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %8 = load i8*, i8** %dir.addr, align 8 + %9 = load i64, i64* %dlen, align 8 + %sub = sub i64 %9, 1 + %arrayidx21 = getelementptr inbounds i8, i8* %8, i64 %sub + %10 = load i8, i8* %arrayidx21, align 1 + %conv = sext i8 %10 to i32 + %cmp22 = icmp eq i32 %conv, 47 + br i1 %cmp22, label %while.body, label %while.end + +while.body: ; preds = %land.rhs + %11 = load i64, i64* %dlen, align 8 + %dec = add i64 %11, -1 + store i64 %dec, i64* %dlen, align 8 + br label %while.cond + +while.end: ; preds = %while.cond, %land.rhs + %12 = load i64, i64* %tmpl_len.addr, align 8 + %13 = load i64, i64* %dlen, align 8 + %add = add i64 %13, 1 + %14 = load i64, i64* %plen, align 8 + %add24 = add i64 %add, %14 + %add25 = add i64 %add24, 6 + %add26 = add i64 %add25, 1 + %cmp27 = icmp ult i64 %12, %add26 + br i1 %cmp27, label %if.then29, label %if.end30 + +if.then29: ; preds = %while.end + store i32 22, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end30: ; preds = %while.end + %15 = load i8*, i8** %tmpl.addr, align 8 + %16 = load i64, i64* %dlen, align 8 + %17 = load i8*, i8** %dir.addr, align 8 + %18 = load i64, i64* %plen, align 8 + %19 = load i8*, i8** %pfx.addr, align 8 + %call31 = call i32 (i8*, i8*, ...) @sprintf(i8* %15, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.2.70, i64 0, i64 0), i64 %16, i8* %17, i64 %18, i8* %19) #20 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end30, %if.then29, %if.else15 + %20 = load i32, i32* %retval, align 4 + ret i32 %20 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @direxists(i8* %dir) #0 { +entry: + %dir.addr = alloca i8*, align 8 + %buf = alloca %struct.stat.192, align 8 + store i8* %dir, i8** %dir.addr, align 8 + %0 = load i8*, i8** %dir.addr, align 8 + %call = call i32 bitcast (i32 (i8*, %struct.stat64*)* @stat to i32 (i8*, %struct.stat.192*)*)(i8* %0, %struct.stat.192* %buf) #20 + %cmp = icmp eq i32 %call, 0 + %st_mode = getelementptr inbounds %struct.stat.192, %struct.stat.192* %buf, i32 0, i32 3 + %1 = load i32, i32* %st_mode, align 8 + %and = and i32 %1, 61440 + %cmp1 = icmp eq i32 %and, 16384 + %2 = select i1 %cmp, i1 %cmp1, i1 false + %land.ext = zext i1 %2 to i32 + ret i32 %land.ext +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__gen_tempname(i8* %tmpl, i32 %kind) #0 { +entry: + %retval = alloca i32, align 4 + %tmpl.addr = alloca i8*, align 8 + %kind.addr = alloca i32, align 4 + %XXXXXX = alloca i8*, align 8 + %i = alloca i32, align 4 + %fd = alloca i32, align 4 + %save_errno = alloca i32, align 4 + %randomness = alloca [6 x i8], align 1 + %len = alloca i64, align 8 + %j = alloca i32, align 4 + %st = alloca %struct.stat.192, align 8 + store i8* %tmpl, i8** %tmpl.addr, align 8 + store i32 %kind, i32* %kind.addr, align 4 + %0 = load i32, i32* @errno, align 4 + store i32 %0, i32* %save_errno, align 4 + %1 = load i8*, i8** %tmpl.addr, align 8 + %call = call i64 @strlen(i8* %1) #21 + store i64 %call, i64* %len, align 8 + %2 = load i8*, i8** %tmpl.addr, align 8 + %3 = load i64, i64* %len, align 8 + %add.ptr = getelementptr inbounds i8, i8* %2, i64 %3 + %add.ptr1 = getelementptr inbounds i8, i8* %add.ptr, i64 -6 + store i8* %add.ptr1, i8** %XXXXXX, align 8 + %4 = load i64, i64* %len, align 8 + %cmp = icmp ult i64 %4, 6 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %5 = load i8*, i8** %XXXXXX, align 8 + %call2 = call i32 @strcmp(i8* %5, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.3.73, i64 0, i64 0)) #21 + %tobool = icmp ne i32 %call2, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %lor.lhs.false, %entry + store i32 22, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %lor.lhs.false + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc44, %if.end + %6 = load i32, i32* %i, align 4 + %cmp3 = icmp ult i32 %6, 238328 + br i1 %cmp3, label %for.body, label %for.end46 + +for.body: ; preds = %for.cond + %arraydecay = getelementptr inbounds [6 x i8], [6 x i8]* %randomness, i64 0, i64 0 + %call4 = call i32 @fillrand(i8* %arraydecay, i32 6) #19 + %conv = zext i32 %call4 to i64 + %cmp5 = icmp ne i64 %conv, 6 + br i1 %cmp5, label %if.then7, label %if.end9 + +if.then7: ; preds = %for.body + %arraydecay8 = getelementptr inbounds [6 x i8], [6 x i8]* %randomness, i64 0, i64 0 + call void @brain_damaged_fillrand(i8* %arraydecay8, i32 6) #19 + br label %if.end9 + +if.end9: ; preds = %if.then7, %for.body + store i32 0, i32* %j, align 4 + br label %for.cond10 + +for.cond10: ; preds = %for.body14, %if.end9 + %7 = load i32, i32* %j, align 4 + %conv11 = sext i32 %7 to i64 + %cmp12 = icmp ult i64 %conv11, 6 + br i1 %cmp12, label %for.body14, label %for.end + +for.body14: ; preds = %for.cond10 + %8 = load i32, i32* %j, align 4 + %idxprom = sext i32 %8 to i64 + %arrayidx = getelementptr inbounds [6 x i8], [6 x i8]* %randomness, i64 0, i64 %idxprom + %9 = load i8, i8* %arrayidx, align 1 + %conv15 = zext i8 %9 to i32 + %rem = srem i32 %conv15, 62 + %idxprom16 = sext i32 %rem to i64 + %arrayidx17 = getelementptr inbounds [63 x i8], [63 x i8]* @letters, i64 0, i64 %idxprom16 + %10 = load i8, i8* %arrayidx17, align 1 + %11 = load i8*, i8** %XXXXXX, align 8 + %12 = load i32, i32* %j, align 4 + %idxprom18 = sext i32 %12 to i64 + %arrayidx19 = getelementptr inbounds i8, i8* %11, i64 %idxprom18 + store i8 %10, i8* %arrayidx19, align 1 + %13 = load i32, i32* %j, align 4 + %inc = add nsw i32 %13, 1 + store i32 %inc, i32* %j, align 4 + br label %for.cond10 + +for.end: ; preds = %for.cond10 + %14 = load i32, i32* %kind.addr, align 4 + br label %NodeBlock5 + +NodeBlock5: ; preds = %for.end + %case.cmp6 = icmp eq i32 %14, 3 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %14, 0 + br i1 %case.cmp4, label %sw.bb29, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %14, 1 + br i1 %case.cmp2, label %sw.bb31, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %14, 2 + br i1 %case.cmp, label %sw.bb33, label %newDefault + +sw.bb: ; preds = %NodeBlock5 + %15 = load i8*, i8** %tmpl.addr, align 8 + %call20 = call i32 bitcast (i32 (i8*, %struct.stat64*)* @stat to i32 (i8*, %struct.stat.192*)*)(i8* %15, %struct.stat.192* %st) #20 + %cmp21 = icmp slt i32 %call20, 0 + br i1 %cmp21, label %if.then23, label %if.else27 + +if.then23: ; preds = %sw.bb + %16 = load i32, i32* @errno, align 4 + %cmp24 = icmp eq i32 %16, 2 + br i1 %cmp24, label %if.then26, label %if.else + +if.then26: ; preds = %if.then23 + store i32 0, i32* %fd, align 4 + br label %restore_and_ret + +if.else: ; preds = %if.then23 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else27: ; preds = %sw.bb + store i32 0, i32* %fd, align 4 + br label %sw.bb29 + +sw.bb29: ; preds = %NodeBlock3, %if.else27 + %17 = load i8*, i8** %tmpl.addr, align 8 + %call30 = call i32 (i8*, i32, ...) @open(i8* %17, i32 194, i32 384) #19 + store i32 %call30, i32* %fd, align 4 + br label %sw.epilog + +sw.bb31: ; preds = %NodeBlock1 + %18 = load i8*, i8** %tmpl.addr, align 8 + %call32 = call i32 (i8*, i32, ...) @open64(i8* %18, i32 194, i32 384) #19 + store i32 %call32, i32* %fd, align 4 + br label %sw.epilog + +sw.bb33: ; preds = %NodeBlock + %19 = load i8*, i8** %tmpl.addr, align 8 + %call34 = call i32 @mkdir(i8* %19, i32 448) #20 + store i32 %call34, i32* %fd, align 4 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i32 -1, i32* %fd, align 4 + br label %sw.epilog + +sw.epilog: ; preds = %sw.default, %sw.bb33, %sw.bb31, %sw.bb29 + %20 = load i32, i32* %fd, align 4 + %cmp35 = icmp sge i32 %20, 0 + br i1 %cmp35, label %restore_and_ret, label %if.else38 + +restore_and_ret: ; preds = %sw.epilog, %if.then26 + %21 = load i32, i32* %save_errno, align 4 + store i32 %21, i32* @errno, align 4 + %22 = load i32, i32* %fd, align 4 + store i32 %22, i32* %retval, align 4 + br label %return + +if.else38: ; preds = %sw.epilog + %23 = load i32, i32* @errno, align 4 + %cmp39 = icmp ne i32 %23, 17 + br i1 %cmp39, label %if.then41, label %for.inc44 + +if.then41: ; preds = %if.else38 + store i32 -1, i32* %retval, align 4 + br label %return + +for.inc44: ; preds = %if.else38 + %24 = load i32, i32* %i, align 4 + %inc45 = add i32 %24, 1 + store i32 %inc45, i32* %i, align 4 + br label %for.cond + +for.end46: ; preds = %for.cond + store i32 17, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %for.end46, %if.then41, %restore_and_ret, %if.else, %if.then + %25 = load i32, i32* %retval, align 4 + ret i32 %25 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @fillrand(i8* %buf, i32 %len) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %len.addr = alloca i32, align 4 + %fd = alloca i32, align 4 + %result = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i32 %len, i32* %len.addr, align 4 + store i32 -1, i32* %result, align 4 + %call = call i32 (i8*, i32, ...) @open(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.4.74, i64 0, i64 0), i32 0) #19 + store i32 %call, i32* %fd, align 4 + %0 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %0, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call1 = call i32 (i8*, i32, ...) @open(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.5.75, i64 0, i64 0), i32 2048) #19 + store i32 %call1, i32* %fd, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i32, i32* %fd, align 4 + %cmp2 = icmp sge i32 %1, 0 + br i1 %cmp2, label %if.then3, label %if.end7 + +if.then3: ; preds = %if.end + %2 = load i32, i32* %fd, align 4 + %3 = load i8*, i8** %buf.addr, align 8 + %4 = load i32, i32* %len.addr, align 4 + %conv = zext i32 %4 to i64 + %call4 = call i64 @read(i32 %2, i8* %3, i64 %conv) #19 + %conv5 = trunc i64 %call4 to i32 + store i32 %conv5, i32* %result, align 4 + %5 = load i32, i32* %fd, align 4 + %call6 = call i32 @close(i32 %5) #19 + br label %if.end7 + +if.end7: ; preds = %if.then3, %if.end + %6 = load i32, i32* %result, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @brain_damaged_fillrand(i8* %buf, i32 %len) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %len.addr = alloca i32, align 4 + %i = alloca i32, align 4 + %k = alloca i32, align 4 + %tv = alloca %struct.timespec, align 8 + %high = alloca i32, align 4 + %low = alloca i32, align 4 + %rh = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i32 %len, i32* %len.addr, align 4 + %call = call i32 bitcast (i32 (%struct.timespec*, i8*)* @gettimeofday to i32 (%struct.timespec*, %struct.__mbstate_t.512*)*)(%struct.timespec* %tv, %struct.__mbstate_t.512* null) #20 + %tv_usec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 1 + %0 = load i64, i64* %tv_usec, align 8 + %shl = shl i64 %0, 16 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %1 = load i64, i64* %tv_sec, align 8 + %xor = xor i64 %shl, %1 + %call1 = call i32 @getpid() #20 + %conv = sext i32 %call1 to i64 + %xor2 = xor i64 %xor, %conv + %2 = load i64, i64* @brain_damaged_fillrand.value, align 8 + %add = add i64 %2, %xor2 + store i64 %add, i64* @brain_damaged_fillrand.value, align 8 + %3 = load i64, i64* @brain_damaged_fillrand.value, align 8 + %and = and i64 %3, 4294967295 + %conv3 = trunc i64 %and to i32 + store i32 %conv3, i32* %low, align 4 + %4 = load i64, i64* @brain_damaged_fillrand.value, align 8 + %shr = lshr i64 %4, 32 + %conv4 = trunc i64 %shr to i32 + store i32 %conv4, i32* %high, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %5 = load i32, i32* %i, align 4 + %6 = load i32, i32* %len.addr, align 4 + %cmp = icmp ult i32 %5, %6 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %7 = load i32, i32* %high, align 4 + %rem = urem i32 %7, 62 + store i32 %rem, i32* %rh, align 4 + %8 = load i32, i32* %high, align 4 + %div = udiv i32 %8, 62 + store i32 %div, i32* %high, align 4 + %9 = load i32, i32* %low, align 4 + %rem6 = urem i32 %9, 62 + %10 = load i32, i32* %rh, align 4 + %mul = mul i32 4, %10 + %add7 = add i32 %rem6, %mul + store i32 %add7, i32* %k, align 4 + %11 = load i32, i32* %low, align 4 + %div8 = udiv i32 %11, 62 + %12 = load i32, i32* %rh, align 4 + %mul9 = mul i32 69273666, %12 + %add10 = add i32 %div8, %mul9 + %13 = load i32, i32* %k, align 4 + %div11 = udiv i32 %13, 62 + %add12 = add i32 %add10, %div11 + store i32 %add12, i32* %low, align 4 + %14 = load i32, i32* %k, align 4 + %rem13 = urem i32 %14, 62 + store i32 %rem13, i32* %k, align 4 + %15 = load i32, i32* %k, align 4 + %idxprom = zext i32 %15 to i64 + %arrayidx = getelementptr inbounds [63 x i8], [63 x i8]* @letters, i64 0, i64 %idxprom + %16 = load i8, i8* %arrayidx, align 1 + %17 = load i8*, i8** %buf.addr, align 8 + %18 = load i32, i32* %i, align 4 + %idxprom14 = zext i32 %18 to i64 + %arrayidx15 = getelementptr inbounds i8, i8* %17, i64 %idxprom14 + store i8 %16, i8* %arrayidx15, align 1 + %19 = load i32, i32* %i, align 4 + %inc = add i32 %19, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + ret void +} + +; Function Attrs: nounwind +declare i32 @getpid() #2 + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_locale_set_l(i8* %p, %struct.__uclibc_locale_struct.201* %base) #0 { +entry: + %retval = alloca i32, align 4 + %p.addr = alloca i8*, align 8 + %base.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %x = alloca i8**, align 8 + %s = alloca i8*, align 8 + %stp = alloca i64*, align 8 + %r = alloca i8*, align 8 + %io = alloca i16*, align 8 + %ii = alloca i16*, align 8 + %d = alloca i8*, align 8 + %row = alloca i32, align 4 + %crow = alloca i32, align 4 + %len = alloca i32, align 4 + %c = alloca i32, align 4 + %i = alloca i32, align 4 + %newcol = alloca %struct.__collate_t.200, align 8 + %c8b = alloca %struct.__codeset_8_bit_t.202*, align 8 + %u = alloca i32, align 4 + %m = alloca i16, align 2 + store i8* %p, i8** %p.addr, align 8 + store %struct.__uclibc_locale_struct.201* %base, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 6 + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 1 + store i8* %add.ptr, i8** %s, align 8 + store i32 0, i32* %i, align 4 + %1 = load i8*, i8** %p.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %1, i32 1 + store i8* %incdec.ptr, i8** %p.addr, align 8 + %index2weight = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %newcol, i32 0, i32 23 + store i16* null, i16** %index2weight, align 8 + %2 = load i8*, i8** %p.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %2, i64 8 + %3 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %3 to i32 + %4 = load i8*, i8** %s, align 8 + %arrayidx1 = getelementptr inbounds i8, i8* %4, i64 8 + %5 = load i8, i8* %arrayidx1, align 1 + %conv2 = zext i8 %5 to i32 + %cmp = icmp ne i32 %conv, %conv2 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %6 = load i8*, i8** %p.addr, align 8 + %arrayidx4 = getelementptr inbounds i8, i8* %6, i64 9 + %7 = load i8, i8* %arrayidx4, align 1 + %conv5 = zext i8 %7 to i32 + %8 = load i8*, i8** %s, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %8, i64 9 + %9 = load i8, i8* %arrayidx6, align 1 + %conv7 = zext i8 %9 to i32 + %cmp8 = icmp ne i32 %conv5, %conv7 + br i1 %cmp8, label %if.then, label %if.end22 + +if.then: ; preds = %lor.lhs.false, %entry + %10 = load i8*, i8** %p.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv10 = zext i8 %11 to i32 + %and = and i32 %conv10, 127 + %shl = shl i32 %and, 7 + %12 = load i8*, i8** %p.addr, align 8 + %arrayidx11 = getelementptr inbounds i8, i8* %12, i64 1 + %13 = load i8, i8* %arrayidx11, align 1 + %conv12 = zext i8 %13 to i32 + %and13 = and i32 %conv12, 127 + %add = add nsw i32 %shl, %and13 + store i32 %add, i32* %row, align 4 + %14 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %14, i32 0, i32 31 + %15 = load i32, i32* %row, align 4 + %mul = mul nsw i32 9, %15 + %add14 = add nsw i32 %mul, 3 + %add15 = add nsw i32 %add14, 4 + %idxprom = sext i32 %add15 to i64 + %arrayidx16 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales, i64 0, i64 %idxprom + %16 = load i8, i8* %arrayidx16, align 1 + %conv17 = zext i8 %16 to i32 + %call = call i32 @init_cur_collate(i32 %conv17, %struct.__collate_t.200* %newcol) #19 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end, label %if.then18 + +if.then18: ; preds = %if.then + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %if.then + %17 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %collate = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %17, i32 0, i32 118 + %index2weight19 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate, i32 0, i32 23 + %18 = load i16*, i16** %index2weight19, align 8 + %19 = bitcast i16* %18 to i8* + call void @free(i8* %19) #20 + %20 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %collate20 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %20, i32 0, i32 118 + %21 = bitcast %struct.__collate_t.200* %collate20 to i8* + %22 = bitcast %struct.__collate_t.200* %newcol to i8* + %call21 = call i8* @memcpy(i8* %21, i8* %22, i64 112) #20 + br label %if.end22 + +if.end22: ; preds = %if.end, %lor.lhs.false + br label %do.body + +do.body: ; preds = %if.end313, %if.end22 + %23 = load i8*, i8** %p.addr, align 8 + %24 = load i8, i8* %23, align 1 + %conv23 = zext i8 %24 to i32 + %25 = load i8*, i8** %s, align 8 + %26 = load i8, i8* %25, align 1 + %conv24 = zext i8 %26 to i32 + %cmp25 = icmp ne i32 %conv23, %conv24 + br i1 %cmp25, label %if.then34, label %lor.lhs.false27 + +lor.lhs.false27: ; preds = %do.body + %27 = load i8*, i8** %p.addr, align 8 + %arrayidx28 = getelementptr inbounds i8, i8* %27, i64 1 + %28 = load i8, i8* %arrayidx28, align 1 + %conv29 = zext i8 %28 to i32 + %29 = load i8*, i8** %s, align 8 + %arrayidx30 = getelementptr inbounds i8, i8* %29, i64 1 + %30 = load i8, i8* %arrayidx30, align 1 + %conv31 = zext i8 %30 to i32 + %cmp32 = icmp ne i32 %conv29, %conv31 + br i1 %cmp32, label %if.then34, label %if.end313 + +if.then34: ; preds = %lor.lhs.false27, %do.body + %31 = load i8*, i8** %p.addr, align 8 + %32 = load i8, i8* %31, align 1 + %conv35 = zext i8 %32 to i32 + %and36 = and i32 %conv35, 127 + %shl37 = shl i32 %and36, 7 + %33 = load i8*, i8** %p.addr, align 8 + %arrayidx38 = getelementptr inbounds i8, i8* %33, i64 1 + %34 = load i8, i8* %arrayidx38, align 1 + %conv39 = zext i8 %34 to i32 + %and40 = and i32 %conv39, 127 + %add41 = add nsw i32 %shl37, %and40 + store i32 %add41, i32* %row, align 4 + %35 = load i8*, i8** %p.addr, align 8 + %36 = load i8, i8* %35, align 1 + %37 = load i8*, i8** %s, align 8 + store i8 %36, i8* %37, align 1 + %38 = load i8*, i8** %p.addr, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %38, i64 1 + %39 = load i8, i8* %arrayidx42, align 1 + %40 = load i8*, i8** %s, align 8 + %arrayidx43 = getelementptr inbounds i8, i8* %40, i64 1 + store i8 %39, i8* %arrayidx43, align 1 + %41 = load i32, i32* %i, align 4 + %cmp44 = icmp ne i32 %41, 4 + br i1 %cmp44, label %land.lhs.true, label %if.end92 + +land.lhs.true: ; preds = %if.then34 + %42 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_common_item_offsets_LEN = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %42, i32 0, i32 29 + %43 = load i32, i32* %i, align 4 + %idxprom46 = sext i32 %43 to i64 + %arrayidx47 = getelementptr inbounds [6 x i8], [6 x i8]* %lc_common_item_offsets_LEN, i64 0, i64 %idxprom46 + %44 = load i8, i8* %arrayidx47, align 1 + %conv48 = zext i8 %44 to i32 + store i32 %conv48, i32* %len, align 4 + %cmp49 = icmp ne i32 %conv48, 0 + br i1 %cmp49, label %if.then51, label %if.end92 + +if.then51: ; preds = %land.lhs.true + %45 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales52 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %45, i32 0, i32 31 + %46 = load i32, i32* %row, align 4 + %mul53 = mul nsw i32 9, %46 + %add54 = add nsw i32 %mul53, 3 + %47 = load i32, i32* %i, align 4 + %add55 = add nsw i32 %add54, %47 + %idxprom56 = sext i32 %add55 to i64 + %arrayidx57 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales52, i64 0, i64 %idxprom56 + %48 = load i8, i8* %arrayidx57, align 1 + %conv58 = zext i8 %48 to i32 + %49 = load i32, i32* %len, align 4 + %mul59 = mul nsw i32 %conv58, %49 + store i32 %mul59, i32* %crow, align 4 + %50 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %51 = bitcast %struct.__uclibc_locale_struct.201* %50 to i8* + %52 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %52, i32 0, i32 7 + %53 = load i32, i32* %i, align 4 + %idxprom60 = sext i32 %53 to i64 + %arrayidx61 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets, i64 0, i64 %idxprom60 + %54 = load i16, i16* %arrayidx61, align 2 + %conv62 = zext i16 %54 to i32 + %idx.ext = sext i32 %conv62 to i64 + %add.ptr63 = getelementptr inbounds i8, i8* %51, i64 %idx.ext + %55 = bitcast i8* %add.ptr63 to i8** + store i8** %55, i8*** %x, align 8 + %56 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_common_tbl_offsets = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %56, i32 0, i32 30 + %arraydecay64 = getelementptr inbounds [24 x i64], [24 x i64]* %lc_common_tbl_offsets, i64 0, i64 0 + %57 = load i32, i32* %i, align 4 + %mul65 = mul nsw i32 4, %57 + %idx.ext66 = sext i32 %mul65 to i64 + %add.ptr67 = getelementptr inbounds i64, i64* %arraydecay64, i64 %idx.ext66 + store i64* %add.ptr67, i64** %stp, align 8 + %58 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %59 = bitcast %struct.__locale_mmap_t.203* %58 to i8* + %60 = load i64*, i64** %stp, align 8 + %61 = load i64, i64* %60, align 8 + %add.ptr68 = getelementptr inbounds i8, i8* %59, i64 %61 + store i8* %add.ptr68, i8** %r, align 8 + %62 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %63 = bitcast %struct.__locale_mmap_t.203* %62 to i8* + %64 = load i64*, i64** %stp, align 8 + %incdec.ptr69 = getelementptr inbounds i64, i64* %64, i32 1 + store i64* %incdec.ptr69, i64** %stp, align 8 + %65 = load i64, i64* %incdec.ptr69, align 8 + %add.ptr70 = getelementptr inbounds i8, i8* %63, i64 %65 + %66 = bitcast i8* %add.ptr70 to i16* + store i16* %66, i16** %io, align 8 + %67 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %68 = bitcast %struct.__locale_mmap_t.203* %67 to i8* + %69 = load i64*, i64** %stp, align 8 + %incdec.ptr71 = getelementptr inbounds i64, i64* %69, i32 1 + store i64* %incdec.ptr71, i64** %stp, align 8 + %70 = load i64, i64* %incdec.ptr71, align 8 + %add.ptr72 = getelementptr inbounds i8, i8* %68, i64 %70 + %71 = bitcast i8* %add.ptr72 to i16* + store i16* %71, i16** %ii, align 8 + %72 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %73 = bitcast %struct.__locale_mmap_t.203* %72 to i8* + %74 = load i64*, i64** %stp, align 8 + %incdec.ptr73 = getelementptr inbounds i64, i64* %74, i32 1 + store i64* %incdec.ptr73, i64** %stp, align 8 + %75 = load i64, i64* %incdec.ptr73, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %73, i64 %75 + store i8* %add.ptr74, i8** %d, align 8 + store i32 0, i32* %c, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.then51 + %76 = load i32, i32* %c, align 4 + %77 = load i32, i32* %len, align 4 + %cmp75 = icmp slt i32 %76, %77 + br i1 %cmp75, label %for.body, label %if.end92 + +for.body: ; preds = %for.cond + %78 = load i8*, i8** %d, align 8 + %79 = load i16*, i16** %ii, align 8 + %80 = load i8*, i8** %r, align 8 + %81 = load i32, i32* %crow, align 4 + %82 = load i32, i32* %c, align 4 + %add77 = add nsw i32 %81, %82 + %idxprom78 = sext i32 %add77 to i64 + %arrayidx79 = getelementptr inbounds i8, i8* %80, i64 %idxprom78 + %83 = load i8, i8* %arrayidx79, align 1 + %conv80 = zext i8 %83 to i32 + %84 = load i16*, i16** %io, align 8 + %85 = load i32, i32* %c, align 4 + %idxprom81 = sext i32 %85 to i64 + %arrayidx82 = getelementptr inbounds i16, i16* %84, i64 %idxprom81 + %86 = load i16, i16* %arrayidx82, align 2 + %conv83 = zext i16 %86 to i32 + %add84 = add nsw i32 %conv80, %conv83 + %idxprom85 = sext i32 %add84 to i64 + %arrayidx86 = getelementptr inbounds i16, i16* %79, i64 %idxprom85 + %87 = load i16, i16* %arrayidx86, align 2 + %conv87 = zext i16 %87 to i32 + %idx.ext88 = sext i32 %conv87 to i64 + %add.ptr89 = getelementptr inbounds i8, i8* %78, i64 %idx.ext88 + %88 = load i8**, i8*** %x, align 8 + %89 = load i32, i32* %c, align 4 + %idx.ext90 = sext i32 %89 to i64 + %add.ptr91 = getelementptr inbounds i8*, i8** %88, i64 %idx.ext90 + store i8* %add.ptr89, i8** %add.ptr91, align 8 + %90 = load i32, i32* %c, align 4 + %inc = add nsw i32 %90, 1 + store i32 %inc, i32* %c, align 4 + br label %for.cond + +if.end92: ; preds = %for.cond, %land.lhs.true, %if.then34 + %91 = load i32, i32* %i, align 4 + %cmp93 = icmp eq i32 %91, 0 + br i1 %cmp93, label %if.then95, label %if.else295 + +if.then95: ; preds = %if.end92 + %92 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales96 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %92, i32 0, i32 31 + %93 = load i32, i32* %row, align 4 + %mul97 = mul nsw i32 9, %93 + %add98 = add nsw i32 %mul97, 2 + %idxprom99 = sext i32 %add98 to i64 + %arrayidx100 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales96, i64 0, i64 %idxprom99 + %94 = load i8, i8* %arrayidx100, align 1 + %conv101 = zext i8 %94 to i32 + store i32 %conv101, i32* %c, align 4 + %95 = load i32, i32* %c, align 4 + %cmp102 = icmp sle i32 %95, 2 + br i1 %cmp102, label %if.then104, label %if.else112 + +if.then104: ; preds = %if.then95 + %96 = load i32, i32* %c, align 4 + %cmp105 = icmp eq i32 %96, 2 + %97 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %codeset = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %97, i32 0, i32 38 + br i1 %cmp105, label %if.then107, label %if.else + +if.then107: ; preds = %if.then104 + store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf8, i64 0, i64 0), i8** %codeset, align 8 + %98 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %98, i32 0, i32 9 + store i8 1, i8* %encoding, align 8 + %99 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %mb_cur_max = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %99, i32 0, i32 10 + store i8 6, i8* %mb_cur_max, align 1 + br label %if.end280 + +if.else: ; preds = %if.then104 + store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @ascii, i64 0, i64 0), i8** %codeset, align 8 + %100 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %encoding109 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %100, i32 0, i32 9 + store i8 0, i8* %encoding109, align 8 + %101 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %mb_cur_max110 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %101, i32 0, i32 10 + store i8 1, i8* %mb_cur_max110, align 1 + br label %if.end280 + +if.else112: ; preds = %if.then95 + %102 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %102, i32 0, i32 35 + %arraydecay113 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list, i64 0, i64 0 + store i8* %arraydecay113, i8** %r, align 8 + %103 = load i8*, i8** %r, align 8 + %104 = load i8*, i8** %r, align 8 + %105 = load i32, i32* %c, align 4 + %sub = sub nsw i32 %105, 3 + store i32 %sub, i32* %c, align 4 + %idxprom114 = sext i32 %sub to i64 + %arrayidx115 = getelementptr inbounds i8, i8* %104, i64 %idxprom114 + %106 = load i8, i8* %arrayidx115, align 1 + %conv116 = zext i8 %106 to i32 + %idx.ext117 = sext i32 %conv116 to i64 + %add.ptr118 = getelementptr inbounds i8, i8* %103, i64 %idx.ext117 + %107 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %codeset119 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %107, i32 0, i32 38 + store i8* %add.ptr118, i8** %codeset119, align 8 + %108 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %encoding120 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %108, i32 0, i32 9 + store i8 2, i8* %encoding120, align 8 + %109 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %mb_cur_max121 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %109, i32 0, i32 10 + store i8 1, i8* %mb_cur_max121, align 1 + %110 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_8_bit = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %110, i32 0, i32 12 + %arraydecay122 = getelementptr inbounds [23 x %struct.__codeset_8_bit_t.202], [23 x %struct.__codeset_8_bit_t.202]* %codeset_8_bit, i64 0, i64 0 + %111 = load i32, i32* %c, align 4 + %idx.ext123 = sext i32 %111 to i64 + %add.ptr124 = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %arraydecay122, i64 %idx.ext123 + store %struct.__codeset_8_bit_t.202* %add.ptr124, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %112 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8ctype = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %112, i32 0, i32 0 + %arraydecay125 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8ctype, i64 0, i64 0 + %113 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8ctype126 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %113, i32 0, i32 12 + store i8* %arraydecay125, i8** %idx8ctype126, align 8 + %114 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8uplow = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %114, i32 0, i32 1 + %arraydecay127 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8uplow, i64 0, i64 0 + %115 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8uplow128 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %115, i32 0, i32 14 + store i8* %arraydecay127, i8** %idx8uplow128, align 8 + %116 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8c2wc = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %116, i32 0, i32 2 + %arraydecay129 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8c2wc, i64 0, i64 0 + %117 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8c2wc130 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %117, i32 0, i32 16 + store i8* %arraydecay129, i8** %idx8c2wc130, align 8 + %118 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8wc2c = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %118, i32 0, i32 3 + %arraydecay131 = getelementptr inbounds [38 x i8], [38 x i8]* %idx8wc2c, i64 0, i64 0 + %119 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8wc2c132 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %119, i32 0, i32 18 + store i8* %arraydecay131, i8** %idx8wc2c132, align 8 + %120 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b_data = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %120, i32 0, i32 3 + %arraydecay133 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data, i64 0, i64 0 + %121 = bitcast i16* %arraydecay133 to i8* + %122 = load i16*, i16** @__C_ctype_b, align 8 + %add.ptr134 = getelementptr inbounds i16, i16* %122, i64 -128 + %123 = bitcast i16* %add.ptr134 to i8* + %call135 = call i8* @memcpy(i8* %121, i8* %123, i64 768) #20 + %124 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %124, i32 0, i32 4 + %arraydecay136 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data, i64 0, i64 0 + %125 = bitcast i16* %arraydecay136 to i8* + %126 = load i16*, i16** @__C_ctype_tolower, align 8 + %add.ptr137 = getelementptr inbounds i16, i16* %126, i64 -128 + %127 = bitcast i16* %add.ptr137 to i8* + %call138 = call i8* @memcpy(i8* %125, i8* %127, i64 768) #20 + %128 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %128, i32 0, i32 5 + %arraydecay139 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data, i64 0, i64 0 + %129 = bitcast i16* %arraydecay139 to i8* + %130 = load i16*, i16** @__C_ctype_toupper, align 8 + %add.ptr140 = getelementptr inbounds i16, i16* %130, i64 -128 + %131 = bitcast i16* %add.ptr140 to i8* + %call141 = call i8* @memcpy(i8* %129, i8* %131, i64 768) #20 + store i32 0, i32* %u, align 4 + br label %for.cond142 + +for.cond142: ; preds = %for.inc268, %if.else112 + %132 = load i32, i32* %u, align 4 + %cmp143 = icmp slt i32 %132, 128 + %133 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + br i1 %cmp143, label %for.body145, label %for.end270 + +for.body145: ; preds = %for.cond142 + %tbl8ctype = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %133, i32 0, i32 13 + %134 = load i8*, i8** %tbl8ctype, align 8 + %135 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8ctype146 = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %135, i32 0, i32 0 + %136 = load i32, i32* %u, align 4 + %shr = ashr i32 %136, 3 + %idxprom147 = sext i32 %shr to i64 + %arrayidx148 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8ctype146, i64 0, i64 %idxprom147 + %137 = load i8, i8* %arrayidx148, align 1 + %conv149 = zext i8 %137 to i32 + %shl150 = shl i32 %conv149, 2 + %138 = load i32, i32* %u, align 4 + %and151 = and i32 %138, 7 + %shr152 = ashr i32 %and151, 1 + %add153 = add nsw i32 %shl150, %shr152 + %idxprom154 = sext i32 %add153 to i64 + %arrayidx155 = getelementptr inbounds i8, i8* %134, i64 %idxprom154 + %139 = load i8, i8* %arrayidx155, align 1 + %conv156 = zext i8 %139 to i32 + store i32 %conv156, i32* %c, align 4 + %140 = load i32, i32* %u, align 4 + %and157 = and i32 %140, 1 + %tobool158 = icmp ne i32 %and157, 0 + %141 = load i32, i32* %c, align 4 + %shr159 = ashr i32 %141, 4 + %and160 = and i32 %141, 15 + %cond = select i1 %tobool158, i32 %shr159, i32 %and160 + store i32 %cond, i32* %c, align 4 + %142 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %code2flag = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %142, i32 0, i32 20 + %143 = load i16*, i16** %code2flag, align 8 + %144 = load i32, i32* %c, align 4 + %idxprom161 = sext i32 %144 to i64 + %arrayidx162 = getelementptr inbounds i16, i16* %143, i64 %idxprom161 + %145 = load i16, i16* %arrayidx162, align 2 + store i16 %145, i16* %m, align 2 + %146 = load i16, i16* %m, align 2 + %147 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b_data163 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %147, i32 0, i32 3 + %148 = load i32, i32* %u, align 4 + %add164 = add nsw i32 256, %148 + %idxprom165 = sext i32 %add164 to i64 + %arrayidx166 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data163, i64 0, i64 %idxprom165 + store i16 %146, i16* %arrayidx166, align 2 + %149 = load i32, i32* %u, align 4 + %add167 = add nsw i32 128, %149 + %conv168 = trunc i32 %add167 to i8 + %conv169 = sext i8 %conv168 to i32 + %cmp170 = icmp ne i32 %conv169, -1 + br i1 %cmp170, label %if.then172, label %if.end180 + +if.then172: ; preds = %for.body145 + %150 = load i16, i16* %m, align 2 + %151 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b_data173 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %151, i32 0, i32 3 + %152 = load i32, i32* %u, align 4 + %add174 = add nsw i32 128, %152 + %conv175 = trunc i32 %add174 to i8 + %conv176 = sext i8 %conv175 to i32 + %add177 = add nsw i32 128, %conv176 + %idxprom178 = sext i32 %add177 to i64 + %arrayidx179 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data173, i64 0, i64 %idxprom178 + store i16 %150, i16* %arrayidx179, align 2 + br label %if.end180 + +if.end180: ; preds = %if.then172, %for.body145 + %153 = load i32, i32* %u, align 4 + %add181 = add nsw i32 128, %153 + %conv182 = trunc i32 %add181 to i16 + %154 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data183 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %154, i32 0, i32 4 + %155 = load i32, i32* %u, align 4 + %add184 = add nsw i32 256, %155 + %idxprom185 = sext i32 %add184 to i64 + %arrayidx186 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data183, i64 0, i64 %idxprom185 + store i16 %conv182, i16* %arrayidx186, align 2 + %156 = load i32, i32* %u, align 4 + %add187 = add nsw i32 128, %156 + %conv188 = trunc i32 %add187 to i16 + %157 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data189 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %157, i32 0, i32 5 + %158 = load i32, i32* %u, align 4 + %add190 = add nsw i32 256, %158 + %idxprom191 = sext i32 %add190 to i64 + %arrayidx192 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data189, i64 0, i64 %idxprom191 + store i16 %conv188, i16* %arrayidx192, align 2 + %159 = load i16, i16* %m, align 2 + %conv193 = zext i16 %159 to i32 + %and194 = and i32 %conv193, 768 + %tobool195 = icmp ne i32 %and194, 0 + br i1 %tobool195, label %if.then196, label %for.inc268 + +if.then196: ; preds = %if.end180 + %160 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8uplow = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %160, i32 0, i32 15 + %161 = load i8*, i8** %tbl8uplow, align 8 + %162 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8uplow197 = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %162, i32 0, i32 1 + %163 = load i32, i32* %u, align 4 + %shr198 = ashr i32 %163, 3 + %idxprom199 = sext i32 %shr198 to i64 + %arrayidx200 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8uplow197, i64 0, i64 %idxprom199 + %164 = load i8, i8* %arrayidx200, align 1 + %conv201 = zext i8 %164 to i32 + %shl202 = shl i32 %conv201, 3 + %165 = load i32, i32* %u, align 4 + %add203 = add nsw i32 128, %165 + %and204 = and i32 %add203, 7 + %add205 = add nsw i32 %shl202, %and204 + %idxprom206 = sext i32 %add205 to i64 + %arrayidx207 = getelementptr inbounds i8, i8* %161, i64 %idxprom206 + %166 = load i8, i8* %arrayidx207, align 1 + %conv208 = zext i8 %166 to i32 + store i32 %conv208, i32* %c, align 4 + %167 = load i16, i16* %m, align 2 + %conv209 = zext i16 %167 to i32 + %and210 = and i32 %conv209, 512 + %tobool211 = icmp ne i32 %and210, 0 + %168 = load i32, i32* %u, align 4 + %add213 = add nsw i32 128, %168 + %169 = load i32, i32* %c, align 4 + br i1 %tobool211, label %if.then212, label %if.else239 + +if.then212: ; preds = %if.then196 + %add214 = add nsw i32 %add213, %169 + %conv215 = trunc i32 %add214 to i8 + %conv216 = zext i8 %conv215 to i16 + %170 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data217 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %170, i32 0, i32 5 + %171 = load i32, i32* %u, align 4 + %add218 = add nsw i32 256, %171 + %idxprom219 = sext i32 %add218 to i64 + %arrayidx220 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data217, i64 0, i64 %idxprom219 + store i16 %conv216, i16* %arrayidx220, align 2 + %172 = load i32, i32* %u, align 4 + %add221 = add nsw i32 128, %172 + %conv222 = trunc i32 %add221 to i8 + %conv223 = sext i8 %conv222 to i32 + %cmp224 = icmp ne i32 %conv223, -1 + br i1 %cmp224, label %if.then226, label %for.inc268 + +if.then226: ; preds = %if.then212 + %173 = load i32, i32* %u, align 4 + %add227 = add nsw i32 128, %173 + %174 = load i32, i32* %c, align 4 + %add228 = add nsw i32 %add227, %174 + %conv229 = trunc i32 %add228 to i8 + %conv230 = zext i8 %conv229 to i16 + %175 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data231 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %175, i32 0, i32 5 + %176 = load i32, i32* %u, align 4 + %add232 = add nsw i32 128, %176 + %conv233 = trunc i32 %add232 to i8 + %conv234 = sext i8 %conv233 to i32 + %add235 = add nsw i32 128, %conv234 + %idxprom236 = sext i32 %add235 to i64 + %arrayidx237 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data231, i64 0, i64 %idxprom236 + store i16 %conv230, i16* %arrayidx237, align 2 + br label %for.inc268 + +if.else239: ; preds = %if.then196 + %sub241 = sub nsw i32 %add213, %169 + %conv242 = trunc i32 %sub241 to i8 + %conv243 = zext i8 %conv242 to i16 + %177 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data244 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %177, i32 0, i32 4 + %178 = load i32, i32* %u, align 4 + %add245 = add nsw i32 256, %178 + %idxprom246 = sext i32 %add245 to i64 + %arrayidx247 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data244, i64 0, i64 %idxprom246 + store i16 %conv243, i16* %arrayidx247, align 2 + %179 = load i32, i32* %u, align 4 + %add248 = add nsw i32 128, %179 + %conv249 = trunc i32 %add248 to i8 + %conv250 = sext i8 %conv249 to i32 + %cmp251 = icmp ne i32 %conv250, -1 + br i1 %cmp251, label %if.then253, label %for.inc268 + +if.then253: ; preds = %if.else239 + %180 = load i32, i32* %u, align 4 + %add254 = add nsw i32 128, %180 + %181 = load i32, i32* %c, align 4 + %sub255 = sub nsw i32 %add254, %181 + %conv256 = trunc i32 %sub255 to i8 + %conv257 = zext i8 %conv256 to i16 + %182 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data258 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %182, i32 0, i32 4 + %183 = load i32, i32* %u, align 4 + %add259 = add nsw i32 128, %183 + %conv260 = trunc i32 %add259 to i8 + %conv261 = sext i8 %conv260 to i32 + %add262 = add nsw i32 128, %conv261 + %idxprom263 = sext i32 %add262 to i64 + %arrayidx264 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data258, i64 0, i64 %idxprom263 + store i16 %conv257, i16* %arrayidx264, align 2 + br label %for.inc268 + +for.inc268: ; preds = %if.end180, %if.else239, %if.then253, %if.then212, %if.then226 + %184 = load i32, i32* %u, align 4 + %inc269 = add nsw i32 %184, 1 + store i32 %inc269, i32* %u, align 4 + br label %for.cond142 + +for.end270: ; preds = %for.cond142 + %__ctype_b_data271 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %133, i32 0, i32 3 + %arraydecay272 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data271, i64 0, i64 0 + %add.ptr273 = getelementptr inbounds i16, i16* %arraydecay272, i64 128 + %185 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %185, i32 0, i32 0 + store i16* %add.ptr273, i16** %__ctype_b, align 8 + %186 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data274 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %186, i32 0, i32 4 + %arraydecay275 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data274, i64 0, i64 0 + %add.ptr276 = getelementptr inbounds i16, i16* %arraydecay275, i64 128 + %187 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %187, i32 0, i32 1 + store i16* %add.ptr276, i16** %__ctype_tolower, align 8 + %188 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data277 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %188, i32 0, i32 5 + %arraydecay278 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data277, i64 0, i64 0 + %add.ptr279 = getelementptr inbounds i16, i16* %arraydecay278, i64 128 + %189 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %189, i32 0, i32 2 + store i16* %add.ptr279, i16** %__ctype_toupper, align 8 + br label %if.end280 + +if.end280: ; preds = %if.then107, %if.else, %for.end270 + %190 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %outdigit_length = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %190, i32 0, i32 11 + %arraydecay281 = getelementptr inbounds [10 x i8], [10 x i8]* %outdigit_length, i64 0, i64 0 + store i8* %arraydecay281, i8** %d, align 8 + %191 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %outdigit0_mb = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %191, i32 0, i32 28 + store i8** %outdigit0_mb, i8*** %x, align 8 + store i32 0, i32* %c, align 4 + br label %for.cond282 + +for.cond282: ; preds = %for.body285, %if.end280 + %192 = load i32, i32* %c, align 4 + %cmp283 = icmp slt i32 %192, 10 + br i1 %cmp283, label %for.body285, label %if.end313 + +for.body285: ; preds = %for.cond282 + %193 = load i8**, i8*** %x, align 8 + %194 = load i32, i32* %c, align 4 + %idxprom286 = sext i32 %194 to i64 + %arrayidx287 = getelementptr inbounds i8*, i8** %193, i64 %idxprom286 + %195 = load i8*, i8** %arrayidx287, align 8 + %call288 = call i64 @strlen(i8* %195) #21 + %conv289 = trunc i64 %call288 to i8 + %196 = load i8*, i8** %d, align 8 + %197 = load i32, i32* %c, align 4 + %idxprom290 = sext i32 %197 to i64 + %arrayidx291 = getelementptr inbounds i8, i8* %196, i64 %idxprom290 + store i8 %conv289, i8* %arrayidx291, align 1 + %198 = load i32, i32* %c, align 4 + %inc293 = add nsw i32 %198, 1 + store i32 %inc293, i32* %c, align 4 + br label %for.cond282 + +if.else295: ; preds = %if.end92 + %199 = load i32, i32* %i, align 4 + %cmp296 = icmp eq i32 %199, 1 + br i1 %cmp296, label %if.then298, label %if.end313 + +if.then298: ; preds = %if.else295 + %200 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %decimal_point_wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %200, i32 0, i32 24 + %201 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %decimal_point = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %201, i32 0, i32 39 + %202 = load i8*, i8** %decimal_point, align 8 + %203 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call299 = call i32 @__locale_mbrtowc_l(i32* %decimal_point_wc, i8* %202, %struct.__uclibc_locale_struct.201* %203) #19 + %204 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %decimal_point_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %204, i32 0, i32 26 + store i32 %call299, i32* %decimal_point_len, align 8 + %205 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %grouping = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %205, i32 0, i32 41 + %206 = load i8*, i8** %grouping, align 8 + %207 = load i8, i8* %206, align 1 + %tobool300 = icmp ne i8 %207, 0 + br i1 %tobool300, label %if.then301, label %if.end313 + +if.then301: ; preds = %if.then298 + %208 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep_wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %208, i32 0, i32 25 + %209 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %209, i32 0, i32 40 + %210 = load i8*, i8** %thousands_sep, align 8 + %211 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call302 = call i32 @__locale_mbrtowc_l(i32* %thousands_sep_wc, i8* %210, %struct.__uclibc_locale_struct.201* %211) #19 + %212 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %212, i32 0, i32 27 + store i32 %call302, i32* %thousands_sep_len, align 4 + %213 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep_len303 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %213, i32 0, i32 27 + %214 = load i32, i32* %thousands_sep_len303, align 4 + %cmp304 = icmp eq i32 %214, 0 + br i1 %cmp304, label %if.then306, label %if.end313 + +if.then306: ; preds = %if.then301 + %215 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep307 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %215, i32 0, i32 40 + %216 = load i8*, i8** %thousands_sep307, align 8 + %217 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %grouping308 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %217, i32 0, i32 41 + store i8* %216, i8** %grouping308, align 8 + br label %if.end313 + +if.end313: ; preds = %for.cond282, %if.then298, %if.then306, %if.then301, %if.else295, %lor.lhs.false27 + %218 = load i32, i32* %i, align 4 + %inc314 = add nsw i32 %218, 1 + store i32 %inc314, i32* %i, align 4 + %219 = load i8*, i8** %p.addr, align 8 + %add.ptr315 = getelementptr inbounds i8, i8* %219, i64 2 + store i8* %add.ptr315, i8** %p.addr, align 8 + %220 = load i8*, i8** %s, align 8 + %add.ptr316 = getelementptr inbounds i8, i8* %220, i64 2 + store i8* %add.ptr316, i8** %s, align 8 + %221 = load i32, i32* %i, align 4 + %cmp317 = icmp slt i32 %221, 6 + br i1 %cmp317, label %do.body, label %do.end + +do.end: ; preds = %if.end313 + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end, %if.then18 + %222 = load i32, i32* %retval, align 4 + ret i32 %222 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @init_cur_collate(i32 %der_num, %struct.__collate_t.200* %cur_collate) #0 { +entry: + %retval = alloca i32, align 4 + %der_num.addr = alloca i32, align 4 + %cur_collate.addr = alloca %struct.__collate_t.200*, align 8 + %__locale_collate_tbl = alloca i16*, align 8 + %cdh = alloca %struct.coldata_header_t*, align 8 + %cdb = alloca %struct.coldata_base_t*, align 8 + %cdd = alloca %struct.winsize*, align 8 + %p = alloca i16*, align 8 + %n = alloca i64, align 8 + %i = alloca i16, align 2 + %w = alloca i16, align 2 + store i32 %der_num, i32* %der_num.addr, align 4 + store %struct.__collate_t.200* %cur_collate, %struct.__collate_t.200** %cur_collate.addr, align 8 + %0 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %collate_data = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %0, i32 0, i32 28 + %arraydecay = getelementptr inbounds [91141 x i16], [91141 x i16]* %collate_data, i64 0, i64 0 + store i16* %arraydecay, i16** %__locale_collate_tbl, align 8 + %1 = load i32, i32* %der_num.addr, align 4 + %tobool = icmp ne i32 %1, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %2 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %num_weights = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %2, i32 0, i32 0 + store i16 0, i16* %num_weights, align 8 + store i32 1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* %der_num.addr, align 4 + %dec = add nsw i32 %3, -1 + store i32 %dec, i32* %der_num.addr, align 4 + %4 = load i16*, i16** %__locale_collate_tbl, align 8 + %5 = bitcast i16* %4 to %struct.coldata_header_t* + store %struct.coldata_header_t* %5, %struct.coldata_header_t** %cdh, align 8 + %6 = load i16*, i16** %__locale_collate_tbl, align 8 + %7 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_base = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %7, i32 0, i32 0 + %8 = load i16, i16* %num_base, align 2 + %conv = zext i16 %8 to i64 + %mul = mul i64 %conv, 38 + %add = add i64 16, %mul + %9 = load i32, i32* %der_num.addr, align 4 + %conv1 = sext i32 %9 to i64 + %mul2 = mul i64 %conv1, 8 + %add3 = add i64 %add, %mul2 + %div = udiv i64 %add3, 2 + %add.ptr = getelementptr inbounds i16, i16* %6, i64 %div + %10 = bitcast i16* %add.ptr to %struct.winsize* + store %struct.winsize* %10, %struct.winsize** %cdd, align 8 + %11 = load i16*, i16** %__locale_collate_tbl, align 8 + %12 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %base_idx = getelementptr inbounds %struct.winsize, %struct.winsize* %12, i32 0, i32 0 + %13 = load i16, i16* %base_idx, align 2 + %conv4 = zext i16 %13 to i64 + %mul5 = mul i64 %conv4, 38 + %add6 = add i64 16, %mul5 + %div7 = udiv i64 %add6, 2 + %add.ptr8 = getelementptr inbounds i16, i16* %11, i64 %div7 + %14 = bitcast i16* %add.ptr8 to %struct.coldata_base_t* + store %struct.coldata_base_t* %14, %struct.coldata_base_t** %cdb, align 8 + %15 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %16 = bitcast %struct.__collate_t.200* %15 to i8* + %17 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %18 = bitcast %struct.coldata_base_t* %17 to i8* + %call = call i8* @memcpy(i8* %16, i8* %18, i64 28) #20 + %19 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %undefined_idx = getelementptr inbounds %struct.winsize, %struct.winsize* %19, i32 0, i32 1 + %20 = load i16, i16* %undefined_idx, align 2 + %21 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %undefined_idx9 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %21, i32 0, i32 9 + store i16 %20, i16* %undefined_idx9, align 2 + %22 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ti_shift = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %22, i32 0, i32 3 + %23 = load i16, i16* %ti_shift, align 2 + %conv10 = zext i16 %23 to i32 + %shl = shl i32 1, %conv10 + %sub = sub nsw i32 %shl, 1 + %conv11 = trunc i32 %sub to i16 + %24 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ti_mask = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %24, i32 0, i32 15 + store i16 %conv11, i16* %ti_mask, align 2 + %25 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ii_shift = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %25, i32 0, i32 2 + %26 = load i16, i16* %ii_shift, align 4 + %conv12 = zext i16 %26 to i32 + %shl13 = shl i32 1, %conv12 + %sub14 = sub nsw i32 %shl13, 1 + %conv15 = trunc i32 %sub14 to i16 + %27 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ii_mask = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %27, i32 0, i32 14 + store i16 %conv15, i16* %ii_mask, align 4 + %28 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_base16 = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %28, i32 0, i32 0 + %29 = load i16, i16* %num_base16, align 2 + %conv17 = zext i16 %29 to i64 + %mul18 = mul i64 %conv17, 38 + %add19 = add i64 16, %mul18 + %30 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_der = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %30, i32 0, i32 1 + %31 = load i16, i16* %num_der, align 2 + %conv20 = zext i16 %31 to i64 + %mul21 = mul i64 %conv20, 8 + %add22 = add i64 %add19, %mul21 + %div23 = udiv i64 %add22, 2 + store i64 %div23, i64* %n, align 8 + %32 = load i16*, i16** %__locale_collate_tbl, align 8 + %33 = load i64, i64* %n, align 8 + %add.ptr24 = getelementptr inbounds i16, i16* %32, i64 %33 + %34 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %index2weight_offset = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %34, i32 0, i32 14 + %35 = load i16, i16* %index2weight_offset, align 2 + %conv25 = zext i16 %35 to i32 + %idx.ext = sext i32 %conv25 to i64 + %add.ptr26 = getelementptr inbounds i16, i16* %add.ptr24, i64 %idx.ext + %36 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %36, i32 0, i32 16 + store i16* %add.ptr26, i16** %index2weight_tbl, align 8 + %37 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_index2weight = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %37, i32 0, i32 3 + %38 = load i16, i16* %num_index2weight, align 2 + %conv27 = zext i16 %38 to i64 + %39 = load i64, i64* %n, align 8 + %add28 = add i64 %39, %conv27 + store i64 %add28, i64* %n, align 8 + %40 = load i16*, i16** %__locale_collate_tbl, align 8 + %41 = load i64, i64* %n, align 8 + %add.ptr29 = getelementptr inbounds i16, i16* %40, i64 %41 + %42 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %index2ruleidx_offset = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %42, i32 0, i32 15 + %43 = load i16, i16* %index2ruleidx_offset, align 2 + %conv30 = zext i16 %43 to i32 + %idx.ext31 = sext i32 %conv30 to i64 + %add.ptr32 = getelementptr inbounds i16, i16* %add.ptr29, i64 %idx.ext31 + %44 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %44, i32 0, i32 17 + store i16* %add.ptr32, i16** %index2ruleidx_tbl, align 8 + %45 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_index2weight33 = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %45, i32 0, i32 3 + %46 = load i16, i16* %num_index2weight33, align 2 + %conv34 = zext i16 %46 to i64 + %47 = load i64, i64* %n, align 8 + %add35 = add i64 %47, %conv34 + store i64 %add35, i64* %n, align 8 + %48 = load i16*, i16** %__locale_collate_tbl, align 8 + %49 = load i64, i64* %n, align 8 + %add.ptr36 = getelementptr inbounds i16, i16* %48, i64 %49 + %50 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %multistart_offset = getelementptr inbounds %struct.winsize, %struct.winsize* %50, i32 0, i32 3 + %51 = load i16, i16* %multistart_offset, align 2 + %conv37 = zext i16 %51 to i32 + %idx.ext38 = sext i32 %conv37 to i64 + %add.ptr39 = getelementptr inbounds i16, i16* %add.ptr36, i64 %idx.ext38 + %52 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %multistart_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %52, i32 0, i32 18 + store i16* %add.ptr39, i16** %multistart_tbl, align 8 + %53 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_multistart = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %53, i32 0, i32 5 + %54 = load i16, i16* %num_multistart, align 2 + %conv40 = zext i16 %54 to i64 + %55 = load i64, i64* %n, align 8 + %add41 = add i64 %55, %conv40 + store i64 %add41, i64* %n, align 8 + %56 = load i16*, i16** %__locale_collate_tbl, align 8 + %57 = load i64, i64* %n, align 8 + %add.ptr42 = getelementptr inbounds i16, i16* %56, i64 %57 + %58 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %overrides_offset = getelementptr inbounds %struct.winsize, %struct.winsize* %58, i32 0, i32 2 + %59 = load i16, i16* %overrides_offset, align 2 + %conv43 = zext i16 %59 to i32 + %idx.ext44 = sext i32 %conv43 to i64 + %add.ptr45 = getelementptr inbounds i16, i16* %add.ptr42, i64 %idx.ext44 + %60 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %overrides_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %60, i32 0, i32 20 + store i16* %add.ptr45, i16** %overrides_tbl, align 8 + %61 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_override = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %61, i32 0, i32 6 + %62 = load i16, i16* %num_override, align 2 + %conv46 = zext i16 %62 to i64 + %63 = load i64, i64* %n, align 8 + %add47 = add i64 %63, %conv46 + store i64 %add47, i64* %n, align 8 + %64 = load i16*, i16** %__locale_collate_tbl, align 8 + %65 = load i64, i64* %n, align 8 + %add.ptr48 = getelementptr inbounds i16, i16* %64, i64 %65 + %66 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ruletable = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %66, i32 0, i32 22 + store i16* %add.ptr48, i16** %ruletable, align 8 + %67 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_ruletable = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %67, i32 0, i32 7 + %68 = load i16, i16* %num_ruletable, align 2 + %conv49 = zext i16 %68 to i64 + %69 = load i64, i64* %n, align 8 + %add50 = add i64 %69, %conv49 + store i64 %add50, i64* %n, align 8 + %70 = load i16*, i16** %__locale_collate_tbl, align 8 + %71 = load i64, i64* %n, align 8 + %add.ptr51 = getelementptr inbounds i16, i16* %70, i64 %71 + %72 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %weightstr = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %72, i32 0, i32 21 + store i16* %add.ptr51, i16** %weightstr, align 8 + %73 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_weightstr = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %73, i32 0, i32 4 + %74 = load i16, i16* %num_weightstr, align 2 + %conv52 = zext i16 %74 to i64 + %75 = load i64, i64* %n, align 8 + %add53 = add i64 %75, %conv52 + store i64 %add53, i64* %n, align 8 + %76 = load i16*, i16** %__locale_collate_tbl, align 8 + %77 = load i64, i64* %n, align 8 + %add.ptr54 = getelementptr inbounds i16, i16* %76, i64 %77 + %78 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %wcs2colidt_offset_hi = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %78, i32 0, i32 18 + %79 = load i16, i16* %wcs2colidt_offset_hi, align 2 + %conv55 = zext i16 %79 to i64 + %shl56 = shl i64 %conv55, 16 + %add.ptr57 = getelementptr inbounds i16, i16* %add.ptr54, i64 %shl56 + %80 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %wcs2colidt_offset_low = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %80, i32 0, i32 17 + %81 = load i16, i16* %wcs2colidt_offset_low, align 2 + %conv58 = zext i16 %81 to i32 + %idx.ext59 = sext i32 %conv58 to i64 + %add.ptr60 = getelementptr inbounds i16, i16* %add.ptr57, i64 %idx.ext59 + %82 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %wcs2colidt_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %82, i32 0, i32 19 + store i16* %add.ptr60, i16** %wcs2colidt_tbl, align 8 + %83 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %MAX_WEIGHTS = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %83, i32 0, i32 2 + %84 = load i16, i16* %MAX_WEIGHTS, align 2 + %85 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %MAX_WEIGHTS61 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %85, i32 0, i32 25 + store i16 %84, i16* %MAX_WEIGHTS61, align 8 + %86 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %max_col_index = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %86, i32 0, i32 8 + %87 = load i16, i16* %max_col_index, align 8 + %conv62 = zext i16 %87 to i32 + %mul63 = mul nsw i32 2, %conv62 + %add64 = add nsw i32 %mul63, 2 + %conv65 = sext i32 %add64 to i64 + %call66 = call noalias i8* @calloc(i64 %conv65, i64 2) #20 + %88 = bitcast i8* %call66 to i16* + %89 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %89, i32 0, i32 23 + store i16* %88, i16** %index2weight, align 8 + %90 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight67 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %90, i32 0, i32 23 + %91 = load i16*, i16** %index2weight67, align 8 + %tobool68 = icmp ne i16* %91, null + br i1 %tobool68, label %if.end70, label %if.then69 + +if.then69: ; preds = %if.end + store i32 0, i32* %retval, align 4 + br label %return + +if.end70: ; preds = %if.end + %92 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight71 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %92, i32 0, i32 23 + %93 = load i16*, i16** %index2weight71, align 8 + %94 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %max_col_index72 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %94, i32 0, i32 8 + %95 = load i16, i16* %max_col_index72, align 8 + %conv73 = zext i16 %95 to i32 + %idx.ext74 = sext i32 %conv73 to i64 + %add.ptr75 = getelementptr inbounds i16, i16* %93, i64 %idx.ext74 + %add.ptr76 = getelementptr inbounds i16, i16* %add.ptr75, i64 1 + %96 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %96, i32 0, i32 24 + store i16* %add.ptr76, i16** %index2ruleidx, align 8 + %97 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight77 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %97, i32 0, i32 23 + %98 = load i16*, i16** %index2weight77, align 8 + %99 = bitcast i16* %98 to i8* + %100 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight_tbl78 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %100, i32 0, i32 16 + %101 = load i16*, i16** %index2weight_tbl78, align 8 + %102 = bitcast i16* %101 to i8* + %103 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %num_col_base = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %103, i32 0, i32 7 + %104 = load i16, i16* %num_col_base, align 2 + %conv79 = zext i16 %104 to i64 + %mul80 = mul i64 %conv79, 2 + %call81 = call i8* @memcpy(i8* %99, i8* %102, i64 %mul80) #20 + %105 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx82 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %105, i32 0, i32 24 + %106 = load i16*, i16** %index2ruleidx82, align 8 + %107 = bitcast i16* %106 to i8* + %108 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx_tbl83 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %108, i32 0, i32 17 + %109 = load i16*, i16** %index2ruleidx_tbl83, align 8 + %110 = bitcast i16* %109 to i8* + %111 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %num_col_base84 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %111, i32 0, i32 7 + %112 = load i16, i16* %num_col_base84, align 2 + %conv85 = zext i16 %112 to i64 + %mul86 = mul i64 %conv85, 2 + %call87 = call i8* @memcpy(i8* %107, i8* %110, i64 %mul86) #20 + %113 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %overrides_tbl88 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %113, i32 0, i32 20 + %114 = load i16*, i16** %overrides_tbl88, align 8 + store i16* %114, i16** %p, align 8 + br label %while.cond + +while.cond: ; preds = %do.body, %if.end70 + %115 = load i16*, i16** %p, align 8 + %116 = load i16, i16* %115, align 2 + %conv89 = zext i16 %116 to i32 + %cmp = icmp sgt i32 %conv89, 1 + br i1 %cmp, label %while.body, label %while.cond105 + +while.body: ; preds = %while.cond + %117 = load i16*, i16** %p, align 8 + %incdec.ptr = getelementptr inbounds i16, i16* %117, i32 1 + store i16* %incdec.ptr, i16** %p, align 8 + %118 = load i16, i16* %117, align 2 + %conv91 = zext i16 %118 to i64 + store i64 %conv91, i64* %n, align 8 + %119 = load i16*, i16** %p, align 8 + %incdec.ptr92 = getelementptr inbounds i16, i16* %119, i32 1 + store i16* %incdec.ptr92, i16** %p, align 8 + %120 = load i16, i16* %119, align 2 + store i16 %120, i16* %w, align 2 + br label %do.body + +do.body: ; preds = %do.body, %while.body + %121 = load i16*, i16** %p, align 8 + %incdec.ptr93 = getelementptr inbounds i16, i16* %121, i32 1 + store i16* %incdec.ptr93, i16** %p, align 8 + %122 = load i16, i16* %121, align 2 + store i16 %122, i16* %i, align 2 + %123 = load i16, i16* %w, align 2 + %inc = add i16 %123, 1 + store i16 %inc, i16* %w, align 2 + %124 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight94 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %124, i32 0, i32 23 + %125 = load i16*, i16** %index2weight94, align 8 + %126 = load i16, i16* %i, align 2 + %conv95 = zext i16 %126 to i32 + %sub96 = sub nsw i32 %conv95, 1 + %idxprom = sext i32 %sub96 to i64 + %arrayidx = getelementptr inbounds i16, i16* %125, i64 %idxprom + store i16 %123, i16* %arrayidx, align 2 + %127 = load i16*, i16** %p, align 8 + %incdec.ptr97 = getelementptr inbounds i16, i16* %127, i32 1 + store i16* %incdec.ptr97, i16** %p, align 8 + %128 = load i16, i16* %127, align 2 + %129 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx98 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %129, i32 0, i32 24 + %130 = load i16*, i16** %index2ruleidx98, align 8 + %131 = load i16, i16* %i, align 2 + %conv99 = zext i16 %131 to i32 + %sub100 = sub nsw i32 %conv99, 1 + %idxprom101 = sext i32 %sub100 to i64 + %arrayidx102 = getelementptr inbounds i16, i16* %130, i64 %idxprom101 + store i16 %128, i16* %arrayidx102, align 2 + %132 = load i64, i64* %n, align 8 + %dec103 = add i64 %132, -1 + store i64 %dec103, i64* %n, align 8 + %tobool104 = icmp ne i64 %dec103, 0 + br i1 %tobool104, label %do.body, label %while.cond + +while.cond105: ; preds = %while.cond, %while.body108 + %133 = load i16*, i16** %p, align 8 + %incdec.ptr106 = getelementptr inbounds i16, i16* %133, i32 1 + store i16* %incdec.ptr106, i16** %p, align 8 + %134 = load i16, i16* %incdec.ptr106, align 2 + %tobool107 = icmp ne i16 %134, 0 + br i1 %tobool107, label %while.body108, label %while.end121 + +while.body108: ; preds = %while.cond105 + %135 = load i16*, i16** %p, align 8 + %136 = load i16, i16* %135, align 2 + store i16 %136, i16* %i, align 2 + %137 = load i16*, i16** %p, align 8 + %incdec.ptr109 = getelementptr inbounds i16, i16* %137, i32 1 + store i16* %incdec.ptr109, i16** %p, align 8 + %138 = load i16, i16* %incdec.ptr109, align 2 + %139 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight110 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %139, i32 0, i32 23 + %140 = load i16*, i16** %index2weight110, align 8 + %141 = load i16, i16* %i, align 2 + %conv111 = zext i16 %141 to i32 + %sub112 = sub nsw i32 %conv111, 1 + %idxprom113 = sext i32 %sub112 to i64 + %arrayidx114 = getelementptr inbounds i16, i16* %140, i64 %idxprom113 + store i16 %138, i16* %arrayidx114, align 2 + %142 = load i16*, i16** %p, align 8 + %incdec.ptr115 = getelementptr inbounds i16, i16* %142, i32 1 + store i16* %incdec.ptr115, i16** %p, align 8 + %143 = load i16, i16* %incdec.ptr115, align 2 + %144 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx116 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %144, i32 0, i32 24 + %145 = load i16*, i16** %index2ruleidx116, align 8 + %146 = load i16, i16* %i, align 2 + %conv117 = zext i16 %146 to i32 + %sub118 = sub nsw i32 %conv117, 1 + %idxprom119 = sext i32 %sub118 to i64 + %arrayidx120 = getelementptr inbounds i16, i16* %145, i64 %idxprom119 + store i16 %143, i16* %arrayidx120, align 2 + br label %while.cond105 + +while.end121: ; preds = %while.cond105 + store i16 0, i16* %i, align 2 + br label %for.cond + +for.cond: ; preds = %for.inc, %while.end121 + %147 = load i16, i16* %i, align 2 + %conv122 = zext i16 %147 to i32 + %148 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %multistart_tbl123 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %148, i32 0, i32 18 + %149 = load i16*, i16** %multistart_tbl123, align 8 + %arrayidx124 = getelementptr inbounds i16, i16* %149, i64 0 + %150 = load i16, i16* %arrayidx124, align 2 + %conv125 = zext i16 %150 to i32 + %cmp126 = icmp slt i32 %conv122, %conv125 + br i1 %cmp126, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %151 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %multistart_tbl128 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %151, i32 0, i32 18 + %152 = load i16*, i16** %multistart_tbl128, align 8 + store i16* %152, i16** %p, align 8 + %153 = load i16*, i16** %p, align 8 + %154 = load i16, i16* %i, align 2 + %idxprom129 = zext i16 %154 to i64 + %arrayidx130 = getelementptr inbounds i16, i16* %153, i64 %idxprom129 + %155 = load i16, i16* %arrayidx130, align 2 + %conv131 = zext i16 %155 to i32 + %156 = load i16*, i16** %p, align 8 + %idx.ext132 = sext i32 %conv131 to i64 + %add.ptr133 = getelementptr inbounds i16, i16* %156, i64 %idx.ext132 + store i16* %add.ptr133, i16** %p, align 8 + br label %do.body134 + +do.body134: ; preds = %do.body141, %for.body + %157 = load i16*, i16** %p, align 8 + %incdec.ptr135 = getelementptr inbounds i16, i16* %157, i32 1 + store i16* %incdec.ptr135, i16** %p, align 8 + %158 = load i16, i16* %157, align 2 + %conv136 = zext i16 %158 to i64 + store i64 %conv136, i64* %n, align 8 + %159 = load i16*, i16** %p, align 8 + %160 = load i16, i16* %159, align 2 + %tobool138 = icmp ne i16 %160, 0 + br i1 %tobool138, label %do.body141, label %for.inc + +do.body141: ; preds = %do.body134, %do.body141 + %161 = load i16*, i16** %p, align 8 + %incdec.ptr143 = getelementptr inbounds i16, i16* %161, i32 1 + store i16* %incdec.ptr143, i16** %p, align 8 + %162 = load i16, i16* %161, align 2 + %tobool144 = icmp ne i16 %162, 0 + br i1 %tobool144, label %do.body141, label %do.body134 + +for.inc: ; preds = %do.body134 + %163 = load i16, i16* %i, align 2 + %inc150 = add i16 %163, 1 + store i16 %inc150, i16* %i, align 2 + br label %for.cond + +for.end: ; preds = %for.cond + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %for.end, %if.then69, %if.then + %164 = load i32, i32* %retval, align 4 + ret i32 %164 +} + +; Function Attrs: nounwind +declare void @free(i8*) #2 + +; Function Attrs: nounwind +declare noalias i8* @calloc(i64, i64) #2 + +; Function Attrs: noinline nounwind uwtable +define hidden void @_locale_init_l(%struct.__uclibc_locale_struct.201* %base) #0 { +entry: + %base.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + store %struct.__uclibc_locale_struct.201* %base, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 6 + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + %call = call i8* @memset(i8* %arraydecay, i32 0, i64 14) #20 + %1 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale1 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %1, i32 0, i32 6 + %arrayidx = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale1, i64 0, i64 0 + store i8 35, i8* %arrayidx, align 8 + %2 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_item_count = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %2, i32 0, i32 8 + %arraydecay2 = getelementptr inbounds [6 x i8], [6 x i8]* %category_item_count, i64 0, i64 0 + %3 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_common_item_offsets_LEN = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %3, i32 0, i32 29 + %arraydecay3 = getelementptr inbounds [6 x i8], [6 x i8]* %lc_common_item_offsets_LEN, i64 0, i64 0 + %call4 = call i8* @memcpy(i8* %arraydecay2, i8* %arraydecay3, i64 6) #20 + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_item_count5 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %4, i32 0, i32 8 + %arrayidx6 = getelementptr inbounds [6 x i8], [6 x i8]* %category_item_count5, i64 0, i64 0 + %5 = load i8, i8* %arrayidx6, align 2 + %inc = add i8 %5, 1 + store i8 %inc, i8* %arrayidx6, align 2 + %6 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %6, i32 0, i32 7 + %arrayidx7 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets, i64 0, i64 0 + store i16 2488, i16* %arrayidx7, align 2 + %7 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets8 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %7, i32 0, i32 7 + %arrayidx9 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets8, i64 0, i64 1 + store i16 2576, i16* %arrayidx9, align 2 + %8 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets10 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %8, i32 0, i32 7 + %arrayidx11 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets10, i64 0, i64 2 + store i16 2600, i16* %arrayidx11, align 2 + %9 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets12 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %9, i32 0, i32 7 + %arrayidx13 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets12, i64 0, i64 3 + store i16 2776, i16* %arrayidx13, align 2 + %10 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets14 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %10, i32 0, i32 7 + %arrayidx15 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets14, i64 0, i64 5 + store i16 3176, i16* %arrayidx15, align 2 + %11 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8ctype = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %11, i32 0, i32 0 + %12 = bitcast [420 x i8]* %tbl8ctype to i8* + %13 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8ctype16 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %13, i32 0, i32 13 + store i8* %12, i8** %tbl8ctype16, align 8 + %14 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8uplow = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %14, i32 0, i32 1 + %15 = bitcast [504 x i8]* %tbl8uplow to i8* + %16 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8uplow17 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %16, i32 0, i32 15 + store i8* %15, i8** %tbl8uplow17, align 8 + %17 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8c2wc = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %17, i32 0, i32 2 + %18 = bitcast [1760 x i16]* %tbl8c2wc to i16* + %19 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8c2wc18 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %19, i32 0, i32 17 + store i16* %18, i16** %tbl8c2wc18, align 8 + %20 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8wc2c = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %20, i32 0, i32 3 + %21 = bitcast [4528 x i8]* %tbl8wc2c to i8* + %22 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8wc2c19 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %22, i32 0, i32 19 + store i8* %21, i8** %tbl8wc2c19, align 8 + %23 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tblwctype = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %23, i32 0, i32 4 + %24 = bitcast [3604 x i8]* %tblwctype to i8* + %25 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tblwctype20 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %25, i32 0, i32 21 + store i8* %24, i8** %tblwctype20, align 8 + %26 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tblwuplow = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %26, i32 0, i32 5 + %27 = bitcast [1680 x i8]* %tblwuplow to i8* + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tblwuplow21 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %28, i32 0, i32 22 + store i8* %27, i8** %tblwuplow21, align 8 + %29 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tblwuplow_diff = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %29, i32 0, i32 6 + %30 = bitcast [196 x i16]* %tblwuplow_diff to i16* + %31 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tblwuplow_diff22 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %31, i32 0, i32 23 + store i16* %30, i16** %tblwuplow_diff22, align 8 + %32 = load i16*, i16** @__C_ctype_b, align 8 + %33 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %33, i32 0, i32 0 + store i16* %32, i16** %__ctype_b, align 8 + %34 = load i16*, i16** @__C_ctype_tolower, align 8 + %35 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %35, i32 0, i32 1 + store i16* %34, i16** %__ctype_tolower, align 8 + %36 = load i16*, i16** @__C_ctype_toupper, align 8 + %37 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %37, i32 0, i32 2 + store i16* %36, i16** %__ctype_toupper, align 8 + %38 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %code2flag = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %38, i32 0, i32 20 + store i16* getelementptr inbounds ([16 x i16], [16 x i16]* @__code2flag, i64 0, i64 0), i16** %code2flag, align 8 + %39 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call23 = call i32 @_locale_set_l(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.76, i64 0, i64 0), %struct.__uclibc_locale_struct.201* %39) #19 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_locale_init() #0 { +entry: + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__global_locale, align 8 + call void @_locale_init_l(%struct.__uclibc_locale_struct.201* %0) #19 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @sigblock(i32 %mask) #0 { +entry: + %retval = alloca i32, align 4 + %mask.addr = alloca i32, align 4 + %set = alloca %struct.fd_set, align 8 + %oset = alloca %struct.fd_set, align 8 + store i32 %mask, i32* %mask.addr, align 4 + %0 = load i32, i32* %mask.addr, align 4 + %call = call i32 @sigset_set_old_mask(%struct.fd_set* %set, i32 %0) #19 + %cmp = icmp slt i32 %call, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %call1 = call i32 @sigprocmask(i32 0, %struct.fd_set* %set, %struct.fd_set* %oset) #20 + %cmp2 = icmp slt i32 %call1, 0 + br i1 %cmp2, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.end + store i32 -1, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %if.end + %call5 = call i32 @sigset_get_old_mask(%struct.fd_set* %oset) #19 + store i32 %call5, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %1 = load i32, i32* %retval, align 4 + ret i32 %1 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @sigset_set_old_mask(%struct.fd_set* %set, i32 %mask) #0 { +entry: + %set.addr = alloca %struct.fd_set*, align 8 + %mask.addr = alloca i32, align 4 + %ptr = alloca i64*, align 8 + %cnt = alloca i32, align 4 + store %struct.fd_set* %set, %struct.fd_set** %set.addr, align 8 + store i32 %mask, i32* %mask.addr, align 4 + %0 = load %struct.fd_set*, %struct.fd_set** %set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %0, i32 0, i32 0 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 0 + store i64* %arrayidx, i64** %ptr, align 8 + %1 = load i32, i32* %mask.addr, align 4 + %conv = zext i32 %1 to i64 + %2 = load i64*, i64** %ptr, align 8 + %incdec.ptr = getelementptr inbounds i64, i64* %2, i32 1 + store i64* %incdec.ptr, i64** %ptr, align 8 + store i64 %conv, i64* %2, align 8 + store i32 14, i32* %cnt, align 4 + br label %do.body + +do.body: ; preds = %do.body, %entry + %3 = load i64*, i64** %ptr, align 8 + %incdec.ptr1 = getelementptr inbounds i64, i64* %3, i32 1 + store i64* %incdec.ptr1, i64** %ptr, align 8 + store i64 0, i64* %3, align 8 + %4 = load i32, i32* %cnt, align 4 + %dec = add nsw i32 %4, -1 + store i32 %dec, i32* %cnt, align 4 + %cmp = icmp sge i32 %dec, 0 + br i1 %cmp, label %do.body, label %do.end + +do.end: ; preds = %do.body + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @sigset_get_old_mask(%struct.fd_set* %set) #0 { +entry: + %set.addr = alloca %struct.fd_set*, align 8 + store %struct.fd_set* %set, %struct.fd_set** %set.addr, align 8 + %0 = load %struct.fd_set*, %struct.fd_set** %set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %0, i32 0, i32 0 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 0 + %1 = load i64, i64* %arrayidx, align 8 + %conv = trunc i64 %1 to i32 + ret i32 %conv +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_stdio_term() #0 { +entry: + %ptr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %0, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %1, null + br i1 %tobool, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 0 + %3 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %3 to i32 + %and = and i32 %conv, 64 + %tobool1 = icmp ne i32 %and, 0 + br i1 %tobool1, label %if.then, label %for.inc + +if.then: ; preds = %for.body + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %call = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %4) #19 + br label %for.inc + +for.inc: ; preds = %for.body, %if.then + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 9 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %6, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_stdio_init() #0 { +entry: + %old_errno = alloca i32, align 4 + %0 = load i32, i32* @errno, align 4 + store i32 %0, i32* %old_errno, align 4 + %call = call i32 @isatty(i32 0) #20 + %sub = sub nsw i32 1, %call + %mul = mul i32 %sub, 256 + %1 = load i16, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 0, i32 0), align 16 + %conv = zext i16 %1 to i32 + %xor = xor i32 %conv, %mul + %conv1 = trunc i32 %xor to i16 + store i16 %conv1, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 0, i32 0), align 16 + %call2 = call i32 @isatty(i32 1) #20 + %sub3 = sub nsw i32 1, %call2 + %mul4 = mul i32 %sub3, 256 + %2 = load i16, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 1, i32 0), align 8 + %conv5 = zext i16 %2 to i32 + %xor6 = xor i32 %conv5, %mul4 + %conv7 = trunc i32 %xor6 to i16 + store i16 %conv7, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 1, i32 0), align 8 + %3 = load i32, i32* %old_errno, align 4 + store i32 %3, i32* @errno, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getchar_unlocked() #0 { +entry: + %stream = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdin, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %0, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %1, i32 0, i32 5 + %2 = load i8*, i8** %__bufpos, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 7 + %4 = load i8*, i8** %__bufgetc_u, align 8 + %cmp = icmp ult i8* %2, %4 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %entry + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 5 + %6 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + %7 = load i8, i8* %6, align 1 + %conv = zext i8 %7 to i32 + br label %cond.end + +cond.false: ; preds = %entry + %call = call i32 @__fgetc_unlocked(%struct.__STDIO_FILE_STRUCT.568* %5) #19 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ %conv, %cond.true ], [ %call, %cond.false ] + ret i32 %cond +} + +; Function Attrs: noinline noreturn nounwind uwtable +declare void @abort() #1 + +; Function Attrs: noreturn +declare void @_exit(i32) #13 + +; Function Attrs: noinline noreturn nounwind uwtable +define void @exit(i32 %rv) #1 { +entry: + %rv.addr = alloca i32, align 4 + store i32 %rv, i32* %rv.addr, align 4 + %0 = load void (i32)*, void (i32)** @__exit_cleanup, align 8 + %tobool = icmp ne void (i32)* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load void (i32)*, void (i32)** @__exit_cleanup, align 8 + %2 = load i32, i32* %rv.addr, align 4 + call void %1(i32 %2) #19 + br label %if.end + +if.end: ; preds = %if.then, %entry + call void @__uClibc_fini() #19 + call void @_stdio_term() #19 + %3 = load i32, i32* %rv.addr, align 4 + call void @_exit(i32 %3) #28 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define i8* @memcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r1 = alloca i8*, align 8 + %r2 = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %r1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %r2, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %2 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load i8*, i8** %r2, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %r2, align 8 + %4 = load i8, i8* %3, align 1 + %5 = load i8*, i8** %r1, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr1, i8** %r1, align 8 + store i8 %4, i8* %5, align 1 + %6 = load i64, i64* %n.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %7 = load i8*, i8** %s1.addr, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @memset(i8* nonnull %s, i32 %c, i64 %n) #0 { +entry: + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %n.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %1 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %2 = load i32, i32* %c.addr, align 4 + %conv = trunc i32 %2 to i8 + %3 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + store i8 %conv, i8* %3, align 1 + %4 = load i64, i64* %n.addr, align 8 + %dec = add i64 %4, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %5 = load i8*, i8** %s.addr, align 8 + ret i8* %5 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @strrchr(i8* nonnull %s, i32 %c) #14 { +entry: + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i8* null, i8** %p, align 8 + br label %do.body + +do.body: ; preds = %do.cond, %entry + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %2 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %2 to i8 + %conv2 = sext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + br i1 %cmp, label %if.then, label %do.cond + +if.then: ; preds = %do.body + %3 = load i8*, i8** %s.addr, align 8 + store i8* %3, i8** %p, align 8 + br label %do.cond + +do.cond: ; preds = %do.body, %if.then + %4 = load i8*, i8** %s.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr, i8** %s.addr, align 8 + %5 = load i8, i8* %4, align 1 + %tobool = icmp ne i8 %5, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %6 = load i8*, i8** %p, align 8 + ret i8* %6 +} + +; Function Attrs: noinline noreturn nounwind uwtable +define dso_local void @usage(i32 %status) #6 { +entry: + %status.addr = alloca i32, align 4 + store i32 %status, i32* %status.addr, align 4 + %0 = load i32, i32* %status.addr, align 4 + %cmp = icmp ne i32 %0, 0 + br i1 %cmp, label %do.body, label %if.else + +do.body: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stderr to %struct._IO_FILE**), align 8 + %2 = load i8*, i8** @program_name, align 8 + %call = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %1, i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.95, i64 0, i64 0), i8* %2) + br label %if.end + +if.else: ; preds = %entry + %3 = load i8*, i8** @program_name, align 8 + %call1 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.1.96, i64 0, i64 0), i8* %3) + %call2 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.2.97, i64 0, i64 0), i32 32) + call void @emit_stdin_note() + call void @emit_mandatory_arg_note() + %4 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call3 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([243 x i8], [243 x i8]* @.str.3.98, i64 0, i64 0), %struct._IO_FILE* %4) + %5 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call4 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.4.99, i64 0, i64 0), %struct._IO_FILE* %5) + %6 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call5 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.5.100, i64 0, i64 0), %struct._IO_FILE* %6) + %call6 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([268 x i8], [268 x i8]* @.str.6.101, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.7.102, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.7.102, i64 0, i64 0)) + call void @emit_ancillary_info(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.7.102, i64 0, i64 0)) + br label %if.end + +if.end: ; preds = %if.else, %do.body + %7 = load i32, i32* %status.addr, align 4 + call void @exit(i32 %7) #27 + unreachable +} + +declare dso_local i32 @printf(i8*, ...) #5 + +; Function Attrs: noinline nounwind uwtable +define internal void @emit_stdin_note() #3 { +entry: + %0 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.18.122, i64 0, i64 0), %struct._IO_FILE* %0) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @emit_mandatory_arg_note() #3 { +entry: + %0 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([75 x i8], [75 x i8]* @.str.19.121, i64 0, i64 0), %struct._IO_FILE* %0) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @emit_ancillary_info(i8* %program) #3 { +entry: + %program.addr = alloca i8*, align 8 + %infomap = alloca [7 x %struct.infomap], align 16 + %node = alloca i8*, align 8 + %map_prog = alloca %struct.infomap*, align 8 + %lc_messages = alloca i8*, align 8 + store i8* %program, i8** %program.addr, align 8 + %0 = bitcast [7 x %struct.infomap]* %infomap to i8* + %1 = call i8* @memcpy(i8* %0, i8* bitcast ([7 x %struct.infomap]* @__const.emit_ancillary_info.infomap to i8*), i64 112) + %2 = load i8*, i8** %program.addr, align 8 + store i8* %2, i8** %node, align 8 + %arraydecay = getelementptr inbounds [7 x %struct.infomap], [7 x %struct.infomap]* %infomap, i64 0, i64 0 + store %struct.infomap* %arraydecay, %struct.infomap** %map_prog, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %3 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + %program1 = getelementptr inbounds %struct.infomap, %struct.infomap* %3, i32 0, i32 0 + %4 = load i8*, i8** %program1, align 8 + %tobool = icmp ne i8* %4, null + br i1 %tobool, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %5 = load i8*, i8** %program.addr, align 8 + %6 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + %program2 = getelementptr inbounds %struct.infomap, %struct.infomap* %6, i32 0, i32 0 + %7 = load i8*, i8** %program2, align 8 + %call = call i32 @strcmp(i8* %5, i8* %7) #24 + %cmp = icmp eq i32 %call, 0 + %lnot = xor i1 %cmp, true + br label %land.end + +land.end: ; preds = %land.rhs, %while.cond + %8 = phi i1 [ false, %while.cond ], [ %lnot, %land.rhs ] + %9 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + br i1 %8, label %while.body, label %while.end + +while.body: ; preds = %land.end + %incdec.ptr = getelementptr inbounds %struct.infomap, %struct.infomap* %9, i32 1 + store %struct.infomap* %incdec.ptr, %struct.infomap** %map_prog, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %node3 = getelementptr inbounds %struct.infomap, %struct.infomap* %9, i32 0, i32 1 + %10 = load i8*, i8** %node3, align 8 + %tobool4 = icmp ne i8* %10, null + br i1 %tobool4, label %if.then, label %if.end + +if.then: ; preds = %while.end + %11 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + %node5 = getelementptr inbounds %struct.infomap, %struct.infomap* %11, i32 0, i32 1 + %12 = load i8*, i8** %node5, align 8 + store i8* %12, i8** %node, align 8 + br label %if.end + +if.end: ; preds = %if.then, %while.end + %call6 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.29.103, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.11.104, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.30.105, i64 0, i64 0)) + %call7 = call i8* @setlocale(i32 5, i8* null) #11 + store i8* %call7, i8** %lc_messages, align 8 + %13 = load i8*, i8** %lc_messages, align 8 + %tobool8 = icmp ne i8* %13, null + br i1 %tobool8, label %land.lhs.true, label %if.end13 + +land.lhs.true: ; preds = %if.end + %14 = load i8*, i8** %lc_messages, align 8 + %call9 = call i32 @strncmp(i8* %14, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.31.106, i64 0, i64 0), i64 3) #24 + %tobool10 = icmp ne i32 %call9, 0 + br i1 %tobool10, label %if.then11, label %if.end13 + +if.then11: ; preds = %land.lhs.true + %15 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call12 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.32.107, i64 0, i64 0), %struct._IO_FILE* %15) + br label %if.end13 + +if.end13: ; preds = %if.then11, %land.lhs.true, %if.end + %16 = load i8*, i8** %program.addr, align 8 + %call14 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.33.108, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.30.105, i64 0, i64 0), i8* %16) + %17 = load i8*, i8** %node, align 8 + %18 = load i8*, i8** %node, align 8 + %19 = load i8*, i8** %program.addr, align 8 + %cmp15 = icmp eq i8* %18, %19 + %20 = zext i1 %cmp15 to i64 + %cond = select i1 %cmp15, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.35.109, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.8.110, i64 0, i64 0) + %call16 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([51 x i8], [51 x i8]* @.str.34.111, i64 0, i64 0), i8* %17, i8* %cond) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__klee_posix_wrapped_main(i32 %argc, i8** %argv) #3 { +entry: + %retval = alloca i32, align 4 + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %opt = alloca i32, align 4 + %input_fh = alloca %struct._IO_FILE*, align 8 + %infile = alloca i8*, align 8 + %decode = alloca i8, align 1 + %ignore_garbage = alloca i8, align 1 + %wrap_column = alloca i64, align 8 + store i32 0, i32* %retval, align 4 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8 0, i8* %decode, align 1 + store i8 0, i8* %ignore_garbage, align 1 + store i64 76, i64* %wrap_column, align 8 + %0 = load i8**, i8*** %argv.addr, align 8 + %arrayidx = getelementptr inbounds i8*, i8** %0, i64 0 + %1 = load i8*, i8** %arrayidx, align 8 + call void @set_program_name(i8* %1) + %call = call i8* @setlocale(i32 6, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.8.110, i64 0, i64 0)) #11 + %call1 = call i32 @atexit(void ()* @close_stdout) #11 + br label %while.cond + +while.cond: ; preds = %sw.epilog, %entry + %2 = load i32, i32* %argc.addr, align 4 + %3 = load i8**, i8*** %argv.addr, align 8 + %call2 = call i32 @getopt_long(i32 %2, i8** %3, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.9.125, i64 0, i64 0), %struct.option* getelementptr inbounds ([6 x %struct.option], [6 x %struct.option]* @long_options, i64 0, i64 0), i32* null) #11 + store i32 %call2, i32* %opt, align 4 + %cmp = icmp ne i32 %call2, -1 + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i32, i32* %opt, align 4 + br label %NodeBlock7 + +NodeBlock7: ; preds = %while.body + %case.cmp8 = icmp eq i32 %4, 100 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %4, 119 + br i1 %case.cmp6, label %sw.bb3, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %4, 105 + br i1 %case.cmp4, label %sw.bb5, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %4, -130 + br i1 %case.cmp2, label %sw.bb6, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %4, -131 + br i1 %case.cmp, label %sw.bb7, label %newDefault + +sw.bb: ; preds = %NodeBlock7 + store i8 1, i8* %decode, align 1 + br label %sw.epilog + +sw.bb3: ; preds = %NodeBlock5 + %5 = load i8*, i8** @optarg, align 8 + %call4 = call i64 @xdectoumax(i8* %5, i64 0, i64 -1, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.8.110, i64 0, i64 0), i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.10.126, i64 0, i64 0), i32 0) + store i64 %call4, i64* %wrap_column, align 8 + br label %sw.epilog + +sw.bb5: ; preds = %NodeBlock3 + store i8 1, i8* %ignore_garbage, align 1 + br label %sw.epilog + +sw.bb6: ; preds = %NodeBlock1 + call void @usage(i32 0) #25 + unreachable + +sw.bb7: ; preds = %NodeBlock + %6 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %7 = load i8*, i8** @Version, align 8 + call void (%struct._IO_FILE*, i8*, i8*, i8*, ...) @version_etc(%struct._IO_FILE* %6, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.7.102, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.11.104, i64 0, i64 0), i8* %7, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.12.127, i64 0, i64 0), i8* null) + call void @exit(i32 0) #27 + unreachable + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @usage(i32 1) #25 + unreachable + +sw.epilog: ; preds = %sw.bb5, %sw.bb3, %sw.bb + br label %while.cond + +while.end: ; preds = %while.cond + %8 = load i32, i32* %argc.addr, align 4 + %9 = load i32, i32* @optind, align 4 + %sub = sub nsw i32 %8, %9 + %cmp8 = icmp sgt i32 %sub, 1 + br i1 %cmp8, label %if.then, label %if.end + +if.then: ; preds = %while.end + %10 = load i8**, i8*** %argv.addr, align 8 + %11 = load i32, i32* @optind, align 4 + %add = add nsw i32 %11, 1 + %idxprom = sext i32 %add to i64 + %arrayidx9 = getelementptr inbounds i8*, i8** %10, i64 %idxprom + %12 = load i8*, i8** %arrayidx9, align 8 + %call10 = call i8* @quote(i8* %12) + call void (i32, i32, i8*, ...) @error(i32 0, i32 0, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.13.128, i64 0, i64 0), i8* %call10) + call void @usage(i32 1) #25 + unreachable + +if.end: ; preds = %while.end + %13 = load i32, i32* @optind, align 4 + %14 = load i32, i32* %argc.addr, align 4 + %cmp11 = icmp slt i32 %13, %14 + br i1 %cmp11, label %if.then12, label %if.else + +if.then12: ; preds = %if.end + %15 = load i8**, i8*** %argv.addr, align 8 + %16 = load i32, i32* @optind, align 4 + %idxprom13 = sext i32 %16 to i64 + %arrayidx14 = getelementptr inbounds i8*, i8** %15, i64 %idxprom13 + %17 = load i8*, i8** %arrayidx14, align 8 + store i8* %17, i8** %infile, align 8 + br label %if.end15 + +if.else: ; preds = %if.end + store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.14.129, i64 0, i64 0), i8** %infile, align 8 + br label %if.end15 + +if.end15: ; preds = %if.else, %if.then12 + %18 = load i8*, i8** %infile, align 8 + %call16 = call i32 @strcmp(i8* %18, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.14.129, i64 0, i64 0)) #24 + %cmp17 = icmp eq i32 %call16, 0 + br i1 %cmp17, label %if.then18, label %if.else19 + +if.then18: ; preds = %if.end15 + call void @xset_binary_mode(i32 0, i32 0) + %19 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdin to %struct._IO_FILE**), align 8 + store %struct._IO_FILE* %19, %struct._IO_FILE** %input_fh, align 8 + br label %if.end26 + +if.else19: ; preds = %if.end15 + %20 = load i8*, i8** %infile, align 8 + %call20 = call %struct._IO_FILE* bitcast (%struct.__STDIO_FILE_STRUCT.612* (i8*, i8*)* @fopen to %struct._IO_FILE* (i8*, i8*)*)(i8* %20, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.15.130, i64 0, i64 0)) + store %struct._IO_FILE* %call20, %struct._IO_FILE** %input_fh, align 8 + %21 = load %struct._IO_FILE*, %struct._IO_FILE** %input_fh, align 8 + %cmp21 = icmp eq %struct._IO_FILE* %21, null + br i1 %cmp21, label %if.then22, label %if.end26 + +if.then22: ; preds = %if.else19 + %call23 = call i32* @__errno_location() #26 + %22 = load i32, i32* %call23, align 4 + %23 = load i8*, i8** %infile, align 8 + %call24 = call i8* @quotearg_n_style_colon(i32 0, i32 3, i8* %23) + call void (i32, i32, i8*, ...) @error(i32 1, i32 %22, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.16.131, i64 0, i64 0), i8* %call24) + unreachable + +if.end26: ; preds = %if.else19, %if.then18 + %24 = load %struct._IO_FILE*, %struct._IO_FILE** %input_fh, align 8 + call void @fadvise(%struct._IO_FILE* %24, i32 2) + %25 = load i8, i8* %decode, align 1 + %tobool = trunc i8 %25 to i1 + %26 = load %struct._IO_FILE*, %struct._IO_FILE** %input_fh, align 8 + %27 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + br i1 %tobool, label %if.then27, label %if.else29 + +if.then27: ; preds = %if.end26 + %28 = load i8, i8* %ignore_garbage, align 1 + %tobool28 = trunc i8 %28 to i1 + call void @do_decode(%struct._IO_FILE* %26, %struct._IO_FILE* %27, i1 zeroext %tobool28) + br label %if.end30 + +if.else29: ; preds = %if.end26 + %29 = load i64, i64* %wrap_column, align 8 + call void @do_encode(%struct._IO_FILE* %26, %struct._IO_FILE* %27, i64 %29) + br label %if.end30 + +if.end30: ; preds = %if.else29, %if.then27 + %30 = load %struct._IO_FILE*, %struct._IO_FILE** %input_fh, align 8 + %call31 = call i32 @rpl_fclose(%struct._IO_FILE* %30) + %cmp32 = icmp eq i32 %call31, -1 + br i1 %cmp32, label %if.then33, label %if.end41 + +if.then33: ; preds = %if.end30 + %31 = load i8*, i8** %infile, align 8 + %call34 = call i32 @strcmp(i8* %31, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.14.129, i64 0, i64 0)) #24 + %cmp35 = icmp eq i32 %call34, 0 + %call37 = call i32* @__errno_location() #26 + %32 = load i32, i32* %call37, align 4 + br i1 %cmp35, label %if.then36, label %if.else38 + +if.then36: ; preds = %if.then33 + call void (i32, i32, i8*, ...) @error(i32 1, i32 %32, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.17.132, i64 0, i64 0)) + unreachable + +if.else38: ; preds = %if.then33 + %33 = load i8*, i8** %infile, align 8 + %call40 = call i8* @quotearg_n_style_colon(i32 0, i32 3, i8* %33) + call void (i32, i32, i8*, ...) @error(i32 1, i32 %32, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.16.131, i64 0, i64 0), i8* %call40) + unreachable + +if.end41: ; preds = %if.end30 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_program_name(i8* %argv0) #3 { +entry: + %argv0.addr = alloca i8*, align 8 + %slash = alloca i8*, align 8 + %base = alloca i8*, align 8 + store i8* %argv0, i8** %argv0.addr, align 8 + %0 = load i8*, i8** %argv0.addr, align 8 + %cmp = icmp eq i8* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stderr to %struct._IO_FILE**), align 8 + %call = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.66, i64 0, i64 0), %struct._IO_FILE* %1) + call void @abort() #27 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %argv0.addr, align 8 + %call1 = call i8* @strrchr(i8* %2, i32 47) #24 + store i8* %call1, i8** %slash, align 8 + %3 = load i8*, i8** %slash, align 8 + %cmp2 = icmp ne i8* %3, null + %4 = load i8*, i8** %slash, align 8 + %add.ptr = getelementptr inbounds i8, i8* %4, i64 1 + %5 = load i8*, i8** %argv0.addr, align 8 + %cond = select i1 %cmp2, i8* %add.ptr, i8* %5 + store i8* %cond, i8** %base, align 8 + %6 = load i8*, i8** %base, align 8 + %7 = load i8*, i8** %argv0.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %6 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %cmp3 = icmp sge i64 %sub.ptr.sub, 7 + br i1 %cmp3, label %land.lhs.true, label %if.end13 + +land.lhs.true: ; preds = %if.end + %8 = load i8*, i8** %base, align 8 + %add.ptr4 = getelementptr inbounds i8, i8* %8, i64 -7 + %call5 = call i32 @strncmp(i8* %add.ptr4, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1.67, i64 0, i64 0), i64 7) #24 + %cmp6 = icmp eq i32 %call5, 0 + br i1 %cmp6, label %if.then7, label %if.end13 + +if.then7: ; preds = %land.lhs.true + %9 = load i8*, i8** %base, align 8 + store i8* %9, i8** %argv0.addr, align 8 + %10 = load i8*, i8** %base, align 8 + %call8 = call i32 @strncmp(i8* %10, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2.68, i64 0, i64 0), i64 3) #24 + %cmp9 = icmp eq i32 %call8, 0 + br i1 %cmp9, label %if.then10, label %if.end13 + +if.then10: ; preds = %if.then7 + %11 = load i8*, i8** %base, align 8 + %add.ptr11 = getelementptr inbounds i8, i8* %11, i64 3 + store i8* %add.ptr11, i8** %argv0.addr, align 8 + %12 = load i8*, i8** %argv0.addr, align 8 + store i8* %12, i8** @program_invocation_short_name, align 8 + br label %if.end13 + +if.end13: ; preds = %if.then7, %if.then10, %land.lhs.true, %if.end + %13 = load i8*, i8** %argv0.addr, align 8 + store i8* %13, i8** @program_name, align 8 + %14 = load i8*, i8** %argv0.addr, align 8 + store i8* %14, i8** @program_invocation_name, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @close_stdout() #3 { +entry: + %write_error = alloca i8*, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call = call i32 @close_stream(%struct._IO_FILE* %0) + %cmp = icmp ne i32 %call, 0 + br i1 %cmp, label %land.lhs.true, label %if.end9 + +land.lhs.true: ; preds = %entry + %1 = load i8, i8* @ignore_EPIPE, align 1 + %tobool = trunc i8 %1 to i1 + br i1 %tobool, label %land.lhs.true1, label %if.then + +land.lhs.true1: ; preds = %land.lhs.true + %call2 = call i32* @__errno_location() #26 + %2 = load i32, i32* %call2, align 4 + %cmp3 = icmp eq i32 %2, 32 + br i1 %cmp3, label %if.end9, label %if.then + +if.then: ; preds = %land.lhs.true1, %land.lhs.true + store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.55, i64 0, i64 0), i8** %write_error, align 8 + %3 = load i8*, i8** @file_name, align 8 + %tobool4 = icmp ne i8* %3, null + %call6 = call i32* @__errno_location() #26 + %4 = load i32, i32* %call6, align 4 + br i1 %tobool4, label %if.then5, label %if.else + +if.then5: ; preds = %if.then + %5 = load i8*, i8** @file_name, align 8 + %call7 = call i8* @quotearg_colon(i8* %5) + %6 = load i8*, i8** %write_error, align 8 + call void (i32, i32, i8*, ...) @error(i32 0, i32 %4, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.56, i64 0, i64 0), i8* %call7, i8* %6) + br label %if.end + +if.else: ; preds = %if.then + %7 = load i8*, i8** %write_error, align 8 + call void (i32, i32, i8*, ...) @error(i32 0, i32 %4, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2.57, i64 0, i64 0), i8* %7) + br label %if.end + +if.end: ; preds = %if.else, %if.then5 + %8 = load volatile i32, i32* @exit_failure, align 4 + call void @_exit(i32 %8) #25 + unreachable + +if.end9: ; preds = %land.lhs.true1, %entry + %9 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stderr to %struct._IO_FILE**), align 8 + %call10 = call i32 @close_stream(%struct._IO_FILE* %9) + %cmp11 = icmp ne i32 %call10, 0 + br i1 %cmp11, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.end9 + %10 = load volatile i32, i32* @exit_failure, align 4 + call void @_exit(i32 %10) #25 + unreachable + +if.end13: ; preds = %if.end9 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @xdectoumax(i8* %n_str, i64 %min, i64 %max, i8* %suffixes, i8* %err, i32 %err_exit) #3 { +entry: + %n_str.addr = alloca i8*, align 8 + %min.addr = alloca i64, align 8 + %max.addr = alloca i64, align 8 + %suffixes.addr = alloca i8*, align 8 + %err.addr = alloca i8*, align 8 + %err_exit.addr = alloca i32, align 4 + store i8* %n_str, i8** %n_str.addr, align 8 + store i64 %min, i64* %min.addr, align 8 + store i64 %max, i64* %max.addr, align 8 + store i8* %suffixes, i8** %suffixes.addr, align 8 + store i8* %err, i8** %err.addr, align 8 + store i32 %err_exit, i32* %err_exit.addr, align 4 + %0 = load i8*, i8** %n_str.addr, align 8 + %1 = load i64, i64* %min.addr, align 8 + %2 = load i64, i64* %max.addr, align 8 + %3 = load i8*, i8** %suffixes.addr, align 8 + %4 = load i8*, i8** %err.addr, align 8 + %5 = load i32, i32* %err_exit.addr, align 4 + %call = call i64 @xnumtoumax(i8* %0, i32 10, i64 %1, i64 %2, i8* %3, i8* %4, i32 %5) + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, ...) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors = alloca [1 x %struct.__va_list_tag.0], align 16 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %authors, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %1 = load i8*, i8** %command_name.addr, align 8 + %2 = load i8*, i8** %package.addr, align 8 + %3 = load i8*, i8** %version.addr, align 8 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %authors, i64 0, i64 0 + call void @version_etc_va(%struct._IO_FILE* %0, i8* %1, i8* %2, i8* %3, %struct.__va_list_tag.0* %arraydecay2) + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %authors, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote(i8* %arg) #3 { +entry: + %arg.addr = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quote_n(i32 0, i8* %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @xset_binary_mode(i32 %fd, i32 %mode) #3 { +entry: + %fd.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i32, i32* %mode.addr, align 4 + %call = call i32 @set_binary_mode(i32 %0, i32 %1) + %cmp = icmp slt i32 %call, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xset_binary_mode_error() + br label %if.end + +if.end: ; preds = %if.then, %entry + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_style_colon(i32 %n, i32 %s, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %options = alloca %struct.quoting_options, align 8 + %tmp = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + call void @quoting_options_from_style(%struct.quoting_options* sret align 8 %tmp, i32 %0) + %1 = bitcast %struct.quoting_options* %options to i8* + %2 = bitcast %struct.quoting_options* %tmp to i8* + %3 = call i8* @memcpy(i8* %1, i8* %2, i64 56) + %call = call i32 @set_char_quoting(%struct.quoting_options* %options, i8 signext 58, i32 1) + %4 = load i32, i32* %n.addr, align 4 + %5 = load i8*, i8** %arg.addr, align 8 + %call1 = call i8* @quotearg_n_options(i32 %4, i8* %5, i64 -1, %struct.quoting_options* %options) + ret i8* %call1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @fadvise(%struct._IO_FILE* %fp, i32 %advice) #3 { +entry: + %fp.addr = alloca %struct._IO_FILE*, align 8 + %advice.addr = alloca i32, align 4 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + store i32 %advice, i32* %advice.addr, align 4 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %tobool = icmp ne %struct._IO_FILE* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %1) #11 + %2 = load i32, i32* %advice.addr, align 4 + call void @fdadvise(i32 %call, i64 0, i64 0, i32 %2) + br label %if.end + +if.end: ; preds = %if.then, %entry + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @do_decode(%struct._IO_FILE* %in, %struct._IO_FILE* %out, i1 zeroext %ignore_garbage) #3 { +entry: + %in.addr = alloca %struct._IO_FILE*, align 8 + %out.addr = alloca %struct._IO_FILE*, align 8 + %ignore_garbage.addr = alloca i8, align 1 + %inbuf = alloca i8*, align 8 + %outbuf = alloca i8*, align 8 + %sum = alloca i64, align 8 + %ctx = alloca %struct.base32_decode_context, align 4 + %ok = alloca i8, align 1 + %n = alloca i64, align 8 + %k = alloca i32, align 4 + %i = alloca i64, align 8 + store %struct._IO_FILE* %in, %struct._IO_FILE** %in.addr, align 8 + store %struct._IO_FILE* %out, %struct._IO_FILE** %out.addr, align 8 + %frombool = zext i1 %ignore_garbage to i8 + store i8 %frombool, i8* %ignore_garbage.addr, align 1 + %call = call noalias i8* @xmalloc(i64 8192) + store i8* %call, i8** %inbuf, align 8 + %call1 = call noalias i8* @xmalloc(i64 5120) + store i8* %call1, i8** %outbuf, align 8 + call void @base32_decode_ctx_init(%struct.base32_decode_context* %ctx) + br label %do.body + +do.body: ; preds = %do.cond61, %entry + store i64 0, i64* %sum, align 8 + br label %do.body2 + +do.body2: ; preds = %land.rhs26, %do.body + %0 = load i8*, i8** %inbuf, align 8 + %1 = load i64, i64* %sum, align 8 + %add.ptr = getelementptr inbounds i8, i8* %0, i64 %1 + %2 = load i64, i64* %sum, align 8 + %sub = sub i64 8192, %2 + %3 = load %struct._IO_FILE*, %struct._IO_FILE** %in.addr, align 8 + %call3 = call i64 bitcast (i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*)* @fread_unlocked to i64 (i8*, i64, i64, %struct._IO_FILE*)*)(i8* %add.ptr, i64 1, i64 %sub, %struct._IO_FILE* %3) + store i64 %call3, i64* %n, align 8 + %4 = load i8, i8* %ignore_garbage.addr, align 1 + %tobool = trunc i8 %4 to i1 + br i1 %tobool, label %if.then, label %if.end17 + +if.then: ; preds = %do.body2 + store i64 0, i64* %i, align 8 + br label %for.cond + +for.cond: ; preds = %if.end, %if.then + %5 = load i64, i64* %n, align 8 + %cmp = icmp ugt i64 %5, 0 + %6 = load i64, i64* %i, align 8 + %7 = load i64, i64* %n, align 8 + %cmp4 = icmp ult i64 %6, %7 + %8 = select i1 %cmp, i1 %cmp4, i1 false + br i1 %8, label %for.body, label %if.end17 + +for.body: ; preds = %for.cond + %9 = load i8*, i8** %inbuf, align 8 + %10 = load i64, i64* %sum, align 8 + %11 = load i64, i64* %i, align 8 + %add = add i64 %10, %11 + %arrayidx = getelementptr inbounds i8, i8* %9, i64 %add + %12 = load i8, i8* %arrayidx, align 1 + %call5 = call zeroext i1 @isbase32(i8 signext %12) #26 + br i1 %call5, label %if.then10, label %lor.lhs.false + +lor.lhs.false: ; preds = %for.body + %13 = load i8*, i8** %inbuf, align 8 + %14 = load i64, i64* %sum, align 8 + %15 = load i64, i64* %i, align 8 + %add6 = add i64 %14, %15 + %arrayidx7 = getelementptr inbounds i8, i8* %13, i64 %add6 + %16 = load i8, i8* %arrayidx7, align 1 + %conv = sext i8 %16 to i32 + %cmp8 = icmp eq i32 %conv, 61 + br i1 %cmp8, label %if.then10, label %if.else + +if.then10: ; preds = %lor.lhs.false, %for.body + %17 = load i64, i64* %i, align 8 + %inc = add i64 %17, 1 + store i64 %inc, i64* %i, align 8 + br label %if.end + +if.else: ; preds = %lor.lhs.false + %18 = load i8*, i8** %inbuf, align 8 + %19 = load i64, i64* %sum, align 8 + %add.ptr11 = getelementptr inbounds i8, i8* %18, i64 %19 + %20 = load i64, i64* %i, align 8 + %add.ptr12 = getelementptr inbounds i8, i8* %add.ptr11, i64 %20 + %21 = load i8*, i8** %inbuf, align 8 + %22 = load i64, i64* %sum, align 8 + %add.ptr13 = getelementptr inbounds i8, i8* %21, i64 %22 + %23 = load i64, i64* %i, align 8 + %add.ptr14 = getelementptr inbounds i8, i8* %add.ptr13, i64 %23 + %add.ptr15 = getelementptr inbounds i8, i8* %add.ptr14, i64 1 + %24 = load i64, i64* %n, align 8 + %dec = add i64 %24, -1 + store i64 %dec, i64* %n, align 8 + %25 = load i64, i64* %i, align 8 + %sub16 = sub i64 %dec, %25 + %26 = call i8* @memmove(i8* %add.ptr12, i8* %add.ptr15, i64 %sub16) + br label %if.end + +if.end: ; preds = %if.else, %if.then10 + br label %for.cond + +if.end17: ; preds = %for.cond, %do.body2 + %27 = load i64, i64* %n, align 8 + %28 = load i64, i64* %sum, align 8 + %add18 = add i64 %28, %27 + store i64 %add18, i64* %sum, align 8 + %29 = load %struct._IO_FILE*, %struct._IO_FILE** %in.addr, align 8 + %call19 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.592*)* @ferror_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %29) #11 + %tobool20 = icmp ne i32 %call19, 0 + br i1 %tobool20, label %if.then21, label %do.cond + +if.then21: ; preds = %if.end17 + %call22 = call i32* @__errno_location() #26 + %30 = load i32, i32* %call22, align 4 + call void (i32, i32, i8*, ...) @error(i32 1, i32 %30, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.41, i64 0, i64 0)) + unreachable + +do.cond: ; preds = %if.end17 + %31 = load i64, i64* %sum, align 8 + %cmp24 = icmp ult i64 %31, 8192 + br i1 %cmp24, label %land.rhs26, label %do.end + +land.rhs26: ; preds = %do.cond + %32 = load %struct._IO_FILE*, %struct._IO_FILE** %in.addr, align 8 + %call27 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.590*)* @feof_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %32) #11 + %tobool28 = icmp ne i32 %call27, 0 + %lnot = xor i1 %tobool28, true + br i1 %lnot, label %do.body2, label %do.end + +do.end: ; preds = %do.cond, %land.rhs26 + store i32 0, i32* %k, align 4 + br label %for.cond30 + +for.cond30: ; preds = %for.inc, %do.end + %33 = load i32, i32* %k, align 4 + %34 = load %struct._IO_FILE*, %struct._IO_FILE** %in.addr, align 8 + %call31 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.590*)* @feof_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %34) #11 + %tobool32 = icmp ne i32 %call31, 0 + %lnot33 = xor i1 %tobool32, true + %lnot34 = xor i1 %lnot33, true + %lnot.ext = zext i1 %lnot34 to i32 + %add35 = add nsw i32 1, %lnot.ext + %cmp36 = icmp ult i32 %33, %add35 + br i1 %cmp36, label %for.body38, label %do.cond61 + +for.body38: ; preds = %for.cond30 + %35 = load i32, i32* %k, align 4 + %cmp39 = icmp eq i32 %35, 1 + br i1 %cmp39, label %land.lhs.true, label %if.end45 + +land.lhs.true: ; preds = %for.body38 + %i41 = getelementptr inbounds %struct.base32_decode_context, %struct.base32_decode_context* %ctx, i32 0, i32 0 + %36 = load i32, i32* %i41, align 4 + %cmp42 = icmp eq i32 %36, 0 + br i1 %cmp42, label %do.cond61, label %if.end45 + +if.end45: ; preds = %land.lhs.true, %for.body38 + store i64 5120, i64* %n, align 8 + %37 = load i8*, i8** %inbuf, align 8 + %38 = load i32, i32* %k, align 4 + %cmp46 = icmp eq i32 %38, 0 + %39 = load i64, i64* %sum, align 8 + %cond = select i1 %cmp46, i64 %39, i64 0 + %40 = load i8*, i8** %outbuf, align 8 + %call48 = call zeroext i1 @base32_decode_ctx(%struct.base32_decode_context* %ctx, i8* %37, i64 %cond, i8* %40, i64* %n) + %frombool49 = zext i1 %call48 to i8 + store i8 %frombool49, i8* %ok, align 1 + %41 = load i8*, i8** %outbuf, align 8 + %42 = load i64, i64* %n, align 8 + %43 = load %struct._IO_FILE*, %struct._IO_FILE** %out.addr, align 8 + %call50 = call i64 bitcast (i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*)* @fwrite_unlocked to i64 (i8*, i64, i64, %struct._IO_FILE*)*)(i8* %41, i64 1, i64 %42, %struct._IO_FILE* %43) + %44 = load i64, i64* %n, align 8 + %cmp51 = icmp ult i64 %call50, %44 + br i1 %cmp51, label %if.then53, label %if.end55 + +if.then53: ; preds = %if.end45 + %call54 = call i32* @__errno_location() #26 + %45 = load i32, i32* %call54, align 4 + call void (i32, i32, i8*, ...) @error(i32 1, i32 %45, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.42, i64 0, i64 0)) + unreachable + +if.end55: ; preds = %if.end45 + %46 = load i8, i8* %ok, align 1 + %tobool56 = trunc i8 %46 to i1 + br i1 %tobool56, label %for.inc, label %if.then57 + +if.then57: ; preds = %if.end55 + call void (i32, i32, i8*, ...) @error(i32 1, i32 0, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.43, i64 0, i64 0)) + unreachable + +for.inc: ; preds = %if.end55 + %47 = load i32, i32* %k, align 4 + %inc59 = add i32 %47, 1 + store i32 %inc59, i32* %k, align 4 + br label %for.cond30 + +do.cond61: ; preds = %for.cond30, %land.lhs.true + %48 = load %struct._IO_FILE*, %struct._IO_FILE** %in.addr, align 8 + %call62 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.590*)* @feof_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %48) #11 + %tobool63 = icmp ne i32 %call62, 0 + %lnot64 = xor i1 %tobool63, true + br i1 %lnot64, label %do.body, label %do.end66 + +do.end66: ; preds = %do.cond61 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @do_encode(%struct._IO_FILE* %in, %struct._IO_FILE* %out, i64 %wrap_column) #3 { +entry: + %in.addr = alloca %struct._IO_FILE*, align 8 + %out.addr = alloca %struct._IO_FILE*, align 8 + %wrap_column.addr = alloca i64, align 8 + %current_column = alloca i64, align 8 + %inbuf = alloca i8*, align 8 + %outbuf = alloca i8*, align 8 + %sum = alloca i64, align 8 + %n = alloca i64, align 8 + store %struct._IO_FILE* %in, %struct._IO_FILE** %in.addr, align 8 + store %struct._IO_FILE* %out, %struct._IO_FILE** %out.addr, align 8 + store i64 %wrap_column, i64* %wrap_column.addr, align 8 + store i64 0, i64* %current_column, align 8 + %call = call noalias i8* @xmalloc(i64 30720) + store i8* %call, i8** %inbuf, align 8 + %call1 = call noalias i8* @xmalloc(i64 49152) + store i8* %call1, i8** %outbuf, align 8 + br label %do.body + +do.body: ; preds = %land.lhs.true15, %entry + store i64 0, i64* %sum, align 8 + br label %do.body2 + +do.body2: ; preds = %land.lhs.true, %do.body + %0 = load i8*, i8** %inbuf, align 8 + %1 = load i64, i64* %sum, align 8 + %add.ptr = getelementptr inbounds i8, i8* %0, i64 %1 + %2 = load i64, i64* %sum, align 8 + %sub = sub i64 30720, %2 + %3 = load %struct._IO_FILE*, %struct._IO_FILE** %in.addr, align 8 + %call3 = call i64 bitcast (i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*)* @fread_unlocked to i64 (i8*, i64, i64, %struct._IO_FILE*)*)(i8* %add.ptr, i64 1, i64 %sub, %struct._IO_FILE* %3) + store i64 %call3, i64* %n, align 8 + %4 = load i64, i64* %n, align 8 + %5 = load i64, i64* %sum, align 8 + %add = add i64 %5, %4 + store i64 %add, i64* %sum, align 8 + %6 = load %struct._IO_FILE*, %struct._IO_FILE** %in.addr, align 8 + %call4 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.590*)* @feof_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %6) #11 + %tobool = icmp ne i32 %call4, 0 + br i1 %tobool, label %do.end, label %land.lhs.true + +land.lhs.true: ; preds = %do.body2 + %7 = load %struct._IO_FILE*, %struct._IO_FILE** %in.addr, align 8 + %call5 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.592*)* @ferror_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %7) #11 + %tobool6 = icmp eq i32 %call5, 0 + %8 = load i64, i64* %sum, align 8 + %cmp = icmp ult i64 %8, 30720 + %or.cond3 = and i1 %tobool6, %cmp + br i1 %or.cond3, label %do.body2, label %do.end + +do.end: ; preds = %land.lhs.true, %do.body2 + %9 = load i64, i64* %sum, align 8 + %cmp7 = icmp ugt i64 %9, 0 + br i1 %cmp7, label %if.then, label %do.cond12 + +if.then: ; preds = %do.end + %10 = load i8*, i8** %inbuf, align 8 + %11 = load i64, i64* %sum, align 8 + %12 = load i8*, i8** %outbuf, align 8 + %13 = load i64, i64* %sum, align 8 + %add8 = add i64 %13, 4 + %div = udiv i64 %add8, 5 + %mul = mul i64 %div, 8 + call void @base32_encode(i8* %10, i64 %11, i8* %12, i64 %mul) + %14 = load i8*, i8** %outbuf, align 8 + %15 = load i64, i64* %sum, align 8 + %add9 = add i64 %15, 4 + %div10 = udiv i64 %add9, 5 + %mul11 = mul i64 %div10, 8 + %16 = load i64, i64* %wrap_column.addr, align 8 + %17 = load %struct._IO_FILE*, %struct._IO_FILE** %out.addr, align 8 + call void @wrap_write(i8* %14, i64 %mul11, i64 %16, i64* %current_column, %struct._IO_FILE* %17) + br label %do.cond12 + +do.cond12: ; preds = %do.end, %if.then + %18 = load %struct._IO_FILE*, %struct._IO_FILE** %in.addr, align 8 + %call13 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.590*)* @feof_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %18) #11 + %tobool14 = icmp ne i32 %call13, 0 + br i1 %tobool14, label %do.end21, label %land.lhs.true15 + +land.lhs.true15: ; preds = %do.cond12 + %19 = load %struct._IO_FILE*, %struct._IO_FILE** %in.addr, align 8 + %call16 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.592*)* @ferror_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %19) #11 + %tobool17 = icmp eq i32 %call16, 0 + %20 = load i64, i64* %sum, align 8 + %cmp19 = icmp eq i64 %20, 30720 + %or.cond4 = and i1 %tobool17, %cmp19 + br i1 %or.cond4, label %do.body, label %do.end21 + +do.end21: ; preds = %land.lhs.true15, %do.cond12 + %21 = load i64, i64* %wrap_column.addr, align 8 + %tobool22 = icmp ne i64 %21, 0 + %22 = load i64, i64* %current_column, align 8 + %cmp24 = icmp ugt i64 %22, 0 + %or.cond = and i1 %tobool22, %cmp24 + br i1 %or.cond, label %land.lhs.true25, label %if.end30 + +land.lhs.true25: ; preds = %do.end21 + %23 = load %struct._IO_FILE*, %struct._IO_FILE** %out.addr, align 8 + %call26 = call i32 bitcast (i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @fputc_unlocked to i32 (i32, %struct._IO_FILE*)*)(i32 10, %struct._IO_FILE* %23) + %cmp27 = icmp eq i32 %call26, -1 + br i1 %cmp27, label %if.then28, label %if.end30 + +if.then28: ; preds = %land.lhs.true25 + %call29 = call i32* @__errno_location() #26 + %24 = load i32, i32* %call29, align 4 + call void (i32, i32, i8*, ...) @error(i32 1, i32 %24, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.42, i64 0, i64 0)) + unreachable + +if.end30: ; preds = %land.lhs.true25, %do.end21 + %25 = load %struct._IO_FILE*, %struct._IO_FILE** %in.addr, align 8 + %call31 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.592*)* @ferror_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %25) #11 + %tobool32 = icmp ne i32 %call31, 0 + br i1 %tobool32, label %if.then33, label %if.end35 + +if.then33: ; preds = %if.end30 + %call34 = call i32* @__errno_location() #26 + %26 = load i32, i32* %call34, align 4 + call void (i32, i32, i8*, ...) @error(i32 1, i32 %26, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.41, i64 0, i64 0)) + unreachable + +if.end35: ; preds = %if.end30 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fclose(%struct._IO_FILE* nonnull %fp) #3 { +entry: + %retval = alloca i32, align 4 + %fp.addr = alloca %struct._IO_FILE*, align 8 + %saved_errno = alloca i32, align 4 + %fd = alloca i32, align 4 + %result = alloca i32, align 4 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + store i32 0, i32* %saved_errno, align 4 + store i32 0, i32* %result, align 4 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %0) #11 + store i32 %call, i32* %fd, align 4 + %1 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %1, 0 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call1 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fclose to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %2) + store i32 %call1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %call2 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.519*)* @__freading to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %2) #11 + %cmp3 = icmp ne i32 %call2, 0 + br i1 %cmp3, label %lor.lhs.false, label %land.lhs.true + +lor.lhs.false: ; preds = %if.end + %3 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call4 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %3) #11 + %call5 = call i64 @lseek(i32 %call4, i64 0, i32 1) #11 + %cmp6 = icmp ne i64 %call5, -1 + br i1 %cmp6, label %land.lhs.true, label %if.end10 + +land.lhs.true: ; preds = %lor.lhs.false, %if.end + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call7 = call i32 @rpl_fflush(%struct._IO_FILE* %4) + %tobool = icmp ne i32 %call7, 0 + br i1 %tobool, label %if.then8, label %if.end10 + +if.then8: ; preds = %land.lhs.true + %call9 = call i32* @__errno_location() #26 + %5 = load i32, i32* %call9, align 4 + store i32 %5, i32* %saved_errno, align 4 + br label %if.end10 + +if.end10: ; preds = %if.then8, %land.lhs.true, %lor.lhs.false + %6 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call11 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fclose to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %6) + store i32 %call11, i32* %result, align 4 + %7 = load i32, i32* %saved_errno, align 4 + %cmp12 = icmp ne i32 %7, 0 + br i1 %cmp12, label %if.then13, label %if.end15 + +if.then13: ; preds = %if.end10 + %8 = load i32, i32* %saved_errno, align 4 + %call14 = call i32* @__errno_location() #26 + store i32 %8, i32* %call14, align 4 + store i32 -1, i32* %result, align 4 + br label %if.end15 + +if.end15: ; preds = %if.then13, %if.end10 + %9 = load i32, i32* %result, align 4 + store i32 %9, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end15, %if.then + %10 = load i32, i32* %retval, align 4 + ret i32 %10 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fflush(%struct._IO_FILE* %stream) #3 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %cmp = icmp eq %struct._IO_FILE* %0, null + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.519*)* @__freading to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %1) #11 + %cmp1 = icmp ne i32 %call, 0 + br i1 %cmp1, label %if.end, label %if.then + +if.then: ; preds = %lor.lhs.false, %entry + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call2 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fflush to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %2) + store i32 %call2, i32* %retval, align 4 + br label %return + +if.end: ; preds = %lor.lhs.false + %3 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + call void @clear_ungetc_buffer_preserving_position(%struct._IO_FILE* %3) + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call3 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fflush to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %4) + store i32 %call3, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %5 = load i32, i32* %retval, align 4 + ret i32 %5 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @clear_ungetc_buffer_preserving_position(%struct._IO_FILE* %fp) #3 { +entry: + %fp.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_flags = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %0, i32 0, i32 0 + %1 = load i32, i32* %_flags, align 8 + %and = and i32 %1, 256 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 @rpl_fseeko(%struct._IO_FILE* %2, i64 0, i32 1) + br label %if.end + +if.end: ; preds = %if.then, %entry + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fseeko(%struct._IO_FILE* nonnull %fp, i64 %offset, i32 %whence) #3 { +entry: + %retval = alloca i32, align 4 + %fp.addr = alloca %struct._IO_FILE*, align 8 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + %pos = alloca i64, align 8 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_read_end = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %0, i32 0, i32 2 + %1 = load i8*, i8** %_IO_read_end, align 8 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_read_ptr = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %2, i32 0, i32 1 + %3 = load i8*, i8** %_IO_read_ptr, align 8 + %cmp = icmp eq i8* %1, %3 + br i1 %cmp, label %land.lhs.true, label %if.end7 + +land.lhs.true: ; preds = %entry + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_write_ptr = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %4, i32 0, i32 5 + %5 = load i8*, i8** %_IO_write_ptr, align 8 + %6 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_write_base = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %6, i32 0, i32 4 + %7 = load i8*, i8** %_IO_write_base, align 8 + %cmp1 = icmp eq i8* %5, %7 + br i1 %cmp1, label %land.lhs.true2, label %if.end7 + +land.lhs.true2: ; preds = %land.lhs.true + %8 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_save_base = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %8, i32 0, i32 9 + %9 = load i8*, i8** %_IO_save_base, align 8 + %cmp3 = icmp eq i8* %9, null + br i1 %cmp3, label %if.then, label %if.end7 + +if.then: ; preds = %land.lhs.true2 + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %10) #11 + %11 = load i64, i64* %offset.addr, align 8 + %12 = load i32, i32* %whence.addr, align 4 + %call4 = call i64 @lseek(i32 %call, i64 %11, i32 %12) #11 + store i64 %call4, i64* %pos, align 8 + %13 = load i64, i64* %pos, align 8 + %cmp5 = icmp eq i64 %13, -1 + br i1 %cmp5, label %if.then6, label %if.end + +if.then6: ; preds = %if.then + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %if.then + %14 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_flags = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %14, i32 0, i32 0 + %15 = load i32, i32* %_flags, align 8 + %and = and i32 %15, -17 + store i32 %and, i32* %_flags, align 8 + %16 = load i64, i64* %pos, align 8 + %17 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_offset = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %17, i32 0, i32 21 + store i64 %16, i64* %_offset, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.end7: ; preds = %land.lhs.true2, %land.lhs.true, %entry + %18 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %19 = load i64, i64* %offset.addr, align 8 + %20 = load i32, i32* %whence.addr, align 4 + %call8 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32)* @fseeko to i32 (%struct._IO_FILE*, i64, i32)*)(%struct._IO_FILE* %18, i64 %19, i32 %20) + store i32 %call8, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end7, %if.end, %if.then6 + %21 = load i32, i32* %retval, align 4 + ret i32 %21 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xmalloc(i64 %n) #3 { +entry: + %n.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @malloc(i64 %0) #11 + store i8* %call, i8** %p, align 8 + %1 = load i8*, i8** %p, align 8 + %tobool = icmp eq i8* %1, null + %2 = load i64, i64* %n.addr, align 8 + %cmp = icmp ne i64 %2, 0 + %or.cond = and i1 %tobool, %cmp + br i1 %or.cond, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xalloc_die() #25 + unreachable + +if.end: ; preds = %entry + %3 = load i8*, i8** %p, align 8 + ret i8* %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @base32_encode(i8* noalias %in, i64 %inlen, i8* noalias %out, i64 %outlen) #3 { +entry: + %in.addr = alloca i8*, align 8 + %inlen.addr = alloca i64, align 8 + %out.addr = alloca i8*, align 8 + %outlen.addr = alloca i64, align 8 + store i8* %in, i8** %in.addr, align 8 + store i64 %inlen, i64* %inlen.addr, align 8 + store i8* %out, i8** %out.addr, align 8 + store i64 %outlen, i64* %outlen.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end173, %entry + %0 = load i64, i64* %inlen.addr, align 8 + %tobool = icmp ne i64 %0, 0 + %1 = load i64, i64* %outlen.addr, align 8 + %tobool1 = icmp ne i64 %1, 0 + %2 = select i1 %tobool, i1 %tobool1, i1 false + br i1 %2, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load i8*, i8** %in.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %3, i64 0 + %4 = load i8, i8* %arrayidx, align 1 + %call = call zeroext i8 @to_uchar(i8 signext %4) + %conv = zext i8 %call to i32 + %shr = ashr i32 %conv, 3 + %and = and i32 %shr, 31 + %idxprom = sext i32 %and to i64 + %arrayidx2 = getelementptr inbounds [32 x i8], [32 x i8]* @base32_encode.b32str, i64 0, i64 %idxprom + %5 = load i8, i8* %arrayidx2, align 1 + %6 = load i8*, i8** %out.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %out.addr, align 8 + store i8 %5, i8* %6, align 1 + %7 = load i64, i64* %outlen.addr, align 8 + %dec = add i64 %7, -1 + store i64 %dec, i64* %outlen.addr, align 8 + %tobool3 = icmp ne i64 %dec, 0 + br i1 %tobool3, label %if.end, label %while.end + +if.end: ; preds = %while.body + %8 = load i8*, i8** %in.addr, align 8 + %arrayidx4 = getelementptr inbounds i8, i8* %8, i64 0 + %9 = load i8, i8* %arrayidx4, align 1 + %call5 = call zeroext i8 @to_uchar(i8 signext %9) + %conv6 = zext i8 %call5 to i32 + %shl = shl i32 %conv6, 2 + %10 = load i64, i64* %inlen.addr, align 8 + %dec7 = add i64 %10, -1 + store i64 %dec7, i64* %inlen.addr, align 8 + %tobool8 = icmp ne i64 %dec7, 0 + br i1 %tobool8, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end + %11 = load i8*, i8** %in.addr, align 8 + %arrayidx9 = getelementptr inbounds i8, i8* %11, i64 1 + %12 = load i8, i8* %arrayidx9, align 1 + %call10 = call zeroext i8 @to_uchar(i8 signext %12) + %conv11 = zext i8 %call10 to i32 + %shr12 = ashr i32 %conv11, 6 + br label %cond.end + +cond.end: ; preds = %if.end, %cond.true + %cond = phi i32 [ %shr12, %cond.true ], [ 0, %if.end ] + %add = add nsw i32 %shl, %cond + %and13 = and i32 %add, 31 + %idxprom14 = sext i32 %and13 to i64 + %arrayidx15 = getelementptr inbounds [32 x i8], [32 x i8]* @base32_encode.b32str, i64 0, i64 %idxprom14 + %13 = load i8, i8* %arrayidx15, align 1 + %14 = load i8*, i8** %out.addr, align 8 + %incdec.ptr16 = getelementptr inbounds i8, i8* %14, i32 1 + store i8* %incdec.ptr16, i8** %out.addr, align 8 + store i8 %13, i8* %14, align 1 + %15 = load i64, i64* %outlen.addr, align 8 + %dec17 = add i64 %15, -1 + store i64 %dec17, i64* %outlen.addr, align 8 + %tobool18 = icmp ne i64 %dec17, 0 + br i1 %tobool18, label %if.end20, label %while.end + +if.end20: ; preds = %cond.end + %16 = load i64, i64* %inlen.addr, align 8 + %tobool21 = icmp ne i64 %16, 0 + br i1 %tobool21, label %cond.true22, label %cond.end32 + +cond.true22: ; preds = %if.end20 + %17 = load i8*, i8** %in.addr, align 8 + %arrayidx23 = getelementptr inbounds i8, i8* %17, i64 1 + %18 = load i8, i8* %arrayidx23, align 1 + %call24 = call zeroext i8 @to_uchar(i8 signext %18) + %conv25 = zext i8 %call24 to i32 + %shr26 = ashr i32 %conv25, 1 + %and27 = and i32 %shr26, 31 + %idxprom28 = sext i32 %and27 to i64 + %arrayidx29 = getelementptr inbounds [32 x i8], [32 x i8]* @base32_encode.b32str, i64 0, i64 %idxprom28 + %19 = load i8, i8* %arrayidx29, align 1 + %conv30 = sext i8 %19 to i32 + br label %cond.end32 + +cond.end32: ; preds = %if.end20, %cond.true22 + %cond33 = phi i32 [ %conv30, %cond.true22 ], [ 61, %if.end20 ] + %conv34 = trunc i32 %cond33 to i8 + %20 = load i8*, i8** %out.addr, align 8 + %incdec.ptr35 = getelementptr inbounds i8, i8* %20, i32 1 + store i8* %incdec.ptr35, i8** %out.addr, align 8 + store i8 %conv34, i8* %20, align 1 + %21 = load i64, i64* %outlen.addr, align 8 + %dec36 = add i64 %21, -1 + store i64 %dec36, i64* %outlen.addr, align 8 + %tobool37 = icmp ne i64 %dec36, 0 + br i1 %tobool37, label %if.end39, label %while.end + +if.end39: ; preds = %cond.end32 + %22 = load i64, i64* %inlen.addr, align 8 + %tobool40 = icmp ne i64 %22, 0 + br i1 %tobool40, label %cond.true41, label %cond.end62 + +cond.true41: ; preds = %if.end39 + %23 = load i8*, i8** %in.addr, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %23, i64 1 + %24 = load i8, i8* %arrayidx42, align 1 + %call43 = call zeroext i8 @to_uchar(i8 signext %24) + %conv44 = zext i8 %call43 to i32 + %shl45 = shl i32 %conv44, 4 + %25 = load i64, i64* %inlen.addr, align 8 + %dec46 = add i64 %25, -1 + store i64 %dec46, i64* %inlen.addr, align 8 + %tobool47 = icmp ne i64 %dec46, 0 + br i1 %tobool47, label %cond.true48, label %cond.end54 + +cond.true48: ; preds = %cond.true41 + %26 = load i8*, i8** %in.addr, align 8 + %arrayidx49 = getelementptr inbounds i8, i8* %26, i64 2 + %27 = load i8, i8* %arrayidx49, align 1 + %call50 = call zeroext i8 @to_uchar(i8 signext %27) + %conv51 = zext i8 %call50 to i32 + %shr52 = ashr i32 %conv51, 4 + br label %cond.end54 + +cond.end54: ; preds = %cond.true41, %cond.true48 + %cond55 = phi i32 [ %shr52, %cond.true48 ], [ 0, %cond.true41 ] + %add56 = add nsw i32 %shl45, %cond55 + %and57 = and i32 %add56, 31 + %idxprom58 = sext i32 %and57 to i64 + %arrayidx59 = getelementptr inbounds [32 x i8], [32 x i8]* @base32_encode.b32str, i64 0, i64 %idxprom58 + %28 = load i8, i8* %arrayidx59, align 1 + %conv60 = sext i8 %28 to i32 + br label %cond.end62 + +cond.end62: ; preds = %if.end39, %cond.end54 + %cond63 = phi i32 [ %conv60, %cond.end54 ], [ 61, %if.end39 ] + %conv64 = trunc i32 %cond63 to i8 + %29 = load i8*, i8** %out.addr, align 8 + %incdec.ptr65 = getelementptr inbounds i8, i8* %29, i32 1 + store i8* %incdec.ptr65, i8** %out.addr, align 8 + store i8 %conv64, i8* %29, align 1 + %30 = load i64, i64* %outlen.addr, align 8 + %dec66 = add i64 %30, -1 + store i64 %dec66, i64* %outlen.addr, align 8 + %tobool67 = icmp ne i64 %dec66, 0 + br i1 %tobool67, label %if.end69, label %while.end + +if.end69: ; preds = %cond.end62 + %31 = load i64, i64* %inlen.addr, align 8 + %tobool70 = icmp ne i64 %31, 0 + br i1 %tobool70, label %cond.true71, label %cond.end92 + +cond.true71: ; preds = %if.end69 + %32 = load i8*, i8** %in.addr, align 8 + %arrayidx72 = getelementptr inbounds i8, i8* %32, i64 2 + %33 = load i8, i8* %arrayidx72, align 1 + %call73 = call zeroext i8 @to_uchar(i8 signext %33) + %conv74 = zext i8 %call73 to i32 + %shl75 = shl i32 %conv74, 1 + %34 = load i64, i64* %inlen.addr, align 8 + %dec76 = add i64 %34, -1 + store i64 %dec76, i64* %inlen.addr, align 8 + %tobool77 = icmp ne i64 %dec76, 0 + br i1 %tobool77, label %cond.true78, label %cond.end84 + +cond.true78: ; preds = %cond.true71 + %35 = load i8*, i8** %in.addr, align 8 + %arrayidx79 = getelementptr inbounds i8, i8* %35, i64 3 + %36 = load i8, i8* %arrayidx79, align 1 + %call80 = call zeroext i8 @to_uchar(i8 signext %36) + %conv81 = zext i8 %call80 to i32 + %shr82 = ashr i32 %conv81, 7 + br label %cond.end84 + +cond.end84: ; preds = %cond.true71, %cond.true78 + %cond85 = phi i32 [ %shr82, %cond.true78 ], [ 0, %cond.true71 ] + %add86 = add nsw i32 %shl75, %cond85 + %and87 = and i32 %add86, 31 + %idxprom88 = sext i32 %and87 to i64 + %arrayidx89 = getelementptr inbounds [32 x i8], [32 x i8]* @base32_encode.b32str, i64 0, i64 %idxprom88 + %37 = load i8, i8* %arrayidx89, align 1 + %conv90 = sext i8 %37 to i32 + br label %cond.end92 + +cond.end92: ; preds = %if.end69, %cond.end84 + %cond93 = phi i32 [ %conv90, %cond.end84 ], [ 61, %if.end69 ] + %conv94 = trunc i32 %cond93 to i8 + %38 = load i8*, i8** %out.addr, align 8 + %incdec.ptr95 = getelementptr inbounds i8, i8* %38, i32 1 + store i8* %incdec.ptr95, i8** %out.addr, align 8 + store i8 %conv94, i8* %38, align 1 + %39 = load i64, i64* %outlen.addr, align 8 + %dec96 = add i64 %39, -1 + store i64 %dec96, i64* %outlen.addr, align 8 + %tobool97 = icmp ne i64 %dec96, 0 + br i1 %tobool97, label %if.end99, label %while.end + +if.end99: ; preds = %cond.end92 + %40 = load i64, i64* %inlen.addr, align 8 + %tobool100 = icmp ne i64 %40, 0 + br i1 %tobool100, label %cond.true101, label %cond.end111 + +cond.true101: ; preds = %if.end99 + %41 = load i8*, i8** %in.addr, align 8 + %arrayidx102 = getelementptr inbounds i8, i8* %41, i64 3 + %42 = load i8, i8* %arrayidx102, align 1 + %call103 = call zeroext i8 @to_uchar(i8 signext %42) + %conv104 = zext i8 %call103 to i32 + %shr105 = ashr i32 %conv104, 2 + %and106 = and i32 %shr105, 31 + %idxprom107 = sext i32 %and106 to i64 + %arrayidx108 = getelementptr inbounds [32 x i8], [32 x i8]* @base32_encode.b32str, i64 0, i64 %idxprom107 + %43 = load i8, i8* %arrayidx108, align 1 + %conv109 = sext i8 %43 to i32 + br label %cond.end111 + +cond.end111: ; preds = %if.end99, %cond.true101 + %cond112 = phi i32 [ %conv109, %cond.true101 ], [ 61, %if.end99 ] + %conv113 = trunc i32 %cond112 to i8 + %44 = load i8*, i8** %out.addr, align 8 + %incdec.ptr114 = getelementptr inbounds i8, i8* %44, i32 1 + store i8* %incdec.ptr114, i8** %out.addr, align 8 + store i8 %conv113, i8* %44, align 1 + %45 = load i64, i64* %outlen.addr, align 8 + %dec115 = add i64 %45, -1 + store i64 %dec115, i64* %outlen.addr, align 8 + %tobool116 = icmp ne i64 %dec115, 0 + br i1 %tobool116, label %if.end118, label %while.end + +if.end118: ; preds = %cond.end111 + %46 = load i64, i64* %inlen.addr, align 8 + %tobool119 = icmp ne i64 %46, 0 + br i1 %tobool119, label %cond.true120, label %cond.end141 + +cond.true120: ; preds = %if.end118 + %47 = load i8*, i8** %in.addr, align 8 + %arrayidx121 = getelementptr inbounds i8, i8* %47, i64 3 + %48 = load i8, i8* %arrayidx121, align 1 + %call122 = call zeroext i8 @to_uchar(i8 signext %48) + %conv123 = zext i8 %call122 to i32 + %shl124 = shl i32 %conv123, 3 + %49 = load i64, i64* %inlen.addr, align 8 + %dec125 = add i64 %49, -1 + store i64 %dec125, i64* %inlen.addr, align 8 + %tobool126 = icmp ne i64 %dec125, 0 + br i1 %tobool126, label %cond.true127, label %cond.end133 + +cond.true127: ; preds = %cond.true120 + %50 = load i8*, i8** %in.addr, align 8 + %arrayidx128 = getelementptr inbounds i8, i8* %50, i64 4 + %51 = load i8, i8* %arrayidx128, align 1 + %call129 = call zeroext i8 @to_uchar(i8 signext %51) + %conv130 = zext i8 %call129 to i32 + %shr131 = ashr i32 %conv130, 5 + br label %cond.end133 + +cond.end133: ; preds = %cond.true120, %cond.true127 + %cond134 = phi i32 [ %shr131, %cond.true127 ], [ 0, %cond.true120 ] + %add135 = add nsw i32 %shl124, %cond134 + %and136 = and i32 %add135, 31 + %idxprom137 = sext i32 %and136 to i64 + %arrayidx138 = getelementptr inbounds [32 x i8], [32 x i8]* @base32_encode.b32str, i64 0, i64 %idxprom137 + %52 = load i8, i8* %arrayidx138, align 1 + %conv139 = sext i8 %52 to i32 + br label %cond.end141 + +cond.end141: ; preds = %if.end118, %cond.end133 + %cond142 = phi i32 [ %conv139, %cond.end133 ], [ 61, %if.end118 ] + %conv143 = trunc i32 %cond142 to i8 + %53 = load i8*, i8** %out.addr, align 8 + %incdec.ptr144 = getelementptr inbounds i8, i8* %53, i32 1 + store i8* %incdec.ptr144, i8** %out.addr, align 8 + store i8 %conv143, i8* %53, align 1 + %54 = load i64, i64* %outlen.addr, align 8 + %dec145 = add i64 %54, -1 + store i64 %dec145, i64* %outlen.addr, align 8 + %tobool146 = icmp ne i64 %dec145, 0 + br i1 %tobool146, label %if.end148, label %while.end + +if.end148: ; preds = %cond.end141 + %55 = load i64, i64* %inlen.addr, align 8 + %tobool149 = icmp ne i64 %55, 0 + br i1 %tobool149, label %cond.true150, label %cond.end159 + +cond.true150: ; preds = %if.end148 + %56 = load i8*, i8** %in.addr, align 8 + %arrayidx151 = getelementptr inbounds i8, i8* %56, i64 4 + %57 = load i8, i8* %arrayidx151, align 1 + %call152 = call zeroext i8 @to_uchar(i8 signext %57) + %conv153 = zext i8 %call152 to i32 + %and154 = and i32 %conv153, 31 + %idxprom155 = sext i32 %and154 to i64 + %arrayidx156 = getelementptr inbounds [32 x i8], [32 x i8]* @base32_encode.b32str, i64 0, i64 %idxprom155 + %58 = load i8, i8* %arrayidx156, align 1 + %conv157 = sext i8 %58 to i32 + br label %cond.end159 + +cond.end159: ; preds = %if.end148, %cond.true150 + %cond160 = phi i32 [ %conv157, %cond.true150 ], [ 61, %if.end148 ] + %conv161 = trunc i32 %cond160 to i8 + %59 = load i8*, i8** %out.addr, align 8 + %incdec.ptr162 = getelementptr inbounds i8, i8* %59, i32 1 + store i8* %incdec.ptr162, i8** %out.addr, align 8 + store i8 %conv161, i8* %59, align 1 + %60 = load i64, i64* %outlen.addr, align 8 + %dec163 = add i64 %60, -1 + store i64 %dec163, i64* %outlen.addr, align 8 + %tobool164 = icmp ne i64 %dec163, 0 + br i1 %tobool164, label %if.end166, label %while.end + +if.end166: ; preds = %cond.end159 + %61 = load i64, i64* %inlen.addr, align 8 + %tobool167 = icmp ne i64 %61, 0 + br i1 %tobool167, label %if.then168, label %if.end170 + +if.then168: ; preds = %if.end166 + %62 = load i64, i64* %inlen.addr, align 8 + %dec169 = add i64 %62, -1 + store i64 %dec169, i64* %inlen.addr, align 8 + br label %if.end170 + +if.end170: ; preds = %if.then168, %if.end166 + %63 = load i64, i64* %inlen.addr, align 8 + %tobool171 = icmp ne i64 %63, 0 + br i1 %tobool171, label %if.then172, label %if.end173 + +if.then172: ; preds = %if.end170 + %64 = load i8*, i8** %in.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %64, i64 5 + store i8* %add.ptr, i8** %in.addr, align 8 + br label %if.end173 + +if.end173: ; preds = %if.then172, %if.end170 + br label %while.cond + +while.end: ; preds = %cond.end159, %cond.end141, %cond.end111, %cond.end92, %cond.end62, %cond.end32, %cond.end, %while.body, %while.cond + %65 = load i64, i64* %outlen.addr, align 8 + %tobool174 = icmp ne i64 %65, 0 + br i1 %tobool174, label %if.then175, label %if.end176 + +if.then175: ; preds = %while.end + %66 = load i8*, i8** %out.addr, align 8 + store i8 0, i8* %66, align 1 + br label %if.end176 + +if.end176: ; preds = %if.then175, %while.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @wrap_write(i8* %buffer, i64 %len, i64 %wrap_column, i64* %current_column, %struct._IO_FILE* %out) #3 { +entry: + %buffer.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + %wrap_column.addr = alloca i64, align 8 + %current_column.addr = alloca i64*, align 8 + %out.addr = alloca %struct._IO_FILE*, align 8 + %written = alloca i64, align 8 + %cols_remaining = alloca i64, align 8 + %to_write = alloca i64, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store i64 %wrap_column, i64* %wrap_column.addr, align 8 + store i64* %current_column, i64** %current_column.addr, align 8 + store %struct._IO_FILE* %out, %struct._IO_FILE** %out.addr, align 8 + %0 = load i64, i64* %wrap_column.addr, align 8 + %cmp = icmp eq i64 %0, 0 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %1 = load i8*, i8** %buffer.addr, align 8 + %2 = load i64, i64* %len.addr, align 8 + %3 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call = call i64 bitcast (i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*)* @fwrite_unlocked to i64 (i8*, i64, i64, %struct._IO_FILE*)*)(i8* %1, i64 1, i64 %2, %struct._IO_FILE* %3) + %4 = load i64, i64* %len.addr, align 8 + %cmp1 = icmp ult i64 %call, %4 + br i1 %cmp1, label %if.then2, label %if.end28 + +if.then2: ; preds = %if.then + %call3 = call i32* @__errno_location() #26 + %5 = load i32, i32* %call3, align 4 + call void (i32, i32, i8*, ...) @error(i32 1, i32 %5, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.42, i64 0, i64 0)) + unreachable + +if.else: ; preds = %entry + store i64 0, i64* %written, align 8 + br label %for.cond + +for.cond: ; preds = %if.end27, %if.else + %6 = load i64, i64* %written, align 8 + %7 = load i64, i64* %len.addr, align 8 + %cmp4 = icmp ult i64 %6, %7 + br i1 %cmp4, label %for.body, label %if.end28 + +for.body: ; preds = %for.cond + %8 = load i64, i64* %wrap_column.addr, align 8 + %9 = load i64*, i64** %current_column.addr, align 8 + %10 = load i64, i64* %9, align 8 + %sub = sub i64 %8, %10 + store i64 %sub, i64* %cols_remaining, align 8 + %11 = load i64, i64* %cols_remaining, align 8 + %cmp5 = icmp ult i64 %11, -1 + %12 = load i64, i64* %cols_remaining, align 8 + %cond = select i1 %cmp5, i64 %12, i64 -1 + store i64 %cond, i64* %to_write, align 8 + %13 = load i64, i64* %to_write, align 8 + %14 = load i64, i64* %len.addr, align 8 + %15 = load i64, i64* %written, align 8 + %sub6 = sub i64 %14, %15 + %cmp7 = icmp ult i64 %13, %sub6 + %16 = load i64, i64* %to_write, align 8 + %17 = load i64, i64* %len.addr, align 8 + %18 = load i64, i64* %written, align 8 + %sub10 = sub i64 %17, %18 + %cond12 = select i1 %cmp7, i64 %16, i64 %sub10 + store i64 %cond12, i64* %to_write, align 8 + %19 = load i64, i64* %to_write, align 8 + %cmp13 = icmp eq i64 %19, 0 + br i1 %cmp13, label %if.then14, label %if.else20 + +if.then14: ; preds = %for.body + %20 = load %struct._IO_FILE*, %struct._IO_FILE** %out.addr, align 8 + %call15 = call i32 bitcast (i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @fputc_unlocked to i32 (i32, %struct._IO_FILE*)*)(i32 10, %struct._IO_FILE* %20) + %cmp16 = icmp eq i32 %call15, -1 + br i1 %cmp16, label %if.then17, label %if.end19 + +if.then17: ; preds = %if.then14 + %call18 = call i32* @__errno_location() #26 + %21 = load i32, i32* %call18, align 4 + call void (i32, i32, i8*, ...) @error(i32 1, i32 %21, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.42, i64 0, i64 0)) + unreachable + +if.end19: ; preds = %if.then14 + %22 = load i64*, i64** %current_column.addr, align 8 + store i64 0, i64* %22, align 8 + br label %if.end27 + +if.else20: ; preds = %for.body + %23 = load i8*, i8** %buffer.addr, align 8 + %24 = load i64, i64* %written, align 8 + %add.ptr = getelementptr inbounds i8, i8* %23, i64 %24 + %25 = load i64, i64* %to_write, align 8 + %26 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call21 = call i64 bitcast (i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*)* @fwrite_unlocked to i64 (i8*, i64, i64, %struct._IO_FILE*)*)(i8* %add.ptr, i64 1, i64 %25, %struct._IO_FILE* %26) + %27 = load i64, i64* %to_write, align 8 + %cmp22 = icmp ult i64 %call21, %27 + br i1 %cmp22, label %if.then23, label %if.end25 + +if.then23: ; preds = %if.else20 + %call24 = call i32* @__errno_location() #26 + %28 = load i32, i32* %call24, align 4 + call void (i32, i32, i8*, ...) @error(i32 1, i32 %28, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.42, i64 0, i64 0)) + unreachable + +if.end25: ; preds = %if.else20 + %29 = load i64, i64* %to_write, align 8 + %30 = load i64*, i64** %current_column.addr, align 8 + %31 = load i64, i64* %30, align 8 + %add = add i64 %31, %29 + store i64 %add, i64* %30, align 8 + %32 = load i64, i64* %to_write, align 8 + %33 = load i64, i64* %written, align 8 + %add26 = add i64 %33, %32 + store i64 %add26, i64* %written, align 8 + br label %if.end27 + +if.end27: ; preds = %if.end25, %if.end19 + br label %for.cond + +if.end28: ; preds = %for.cond, %if.then + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal zeroext i8 @to_uchar(i8 signext %ch) #3 { +entry: + %ch.addr = alloca i8, align 1 + store i8 %ch, i8* %ch.addr, align 1 + %0 = load i8, i8* %ch.addr, align 1 + ret i8 %0 +} + +; Function Attrs: noinline noreturn nounwind uwtable +define dso_local void @xalloc_die() #6 { +entry: + %0 = load volatile i32, i32* @exit_failure, align 4 + call void (i32, i32, i8*, ...) @error(i32 %0, i32 0, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.131, i64 0, i64 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.1.132, i64 0, i64 0)) + call void @abort() #27 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @base32_decode_ctx_init(%struct.base32_decode_context* %ctx) #3 { +entry: + %ctx.addr = alloca %struct.base32_decode_context*, align 8 + store %struct.base32_decode_context* %ctx, %struct.base32_decode_context** %ctx.addr, align 8 + %0 = load %struct.base32_decode_context*, %struct.base32_decode_context** %ctx.addr, align 8 + %i = getelementptr inbounds %struct.base32_decode_context, %struct.base32_decode_context* %0, i32 0, i32 0 + store i32 0, i32* %i, align 4 + ret void +} + +; Function Attrs: noinline nounwind readnone uwtable +define dso_local zeroext i1 @isbase32(i8 signext %ch) #15 { +entry: + %ch.addr = alloca i8, align 1 + store i8 %ch, i8* %ch.addr, align 1 + %0 = load i8, i8* %ch.addr, align 1 + %call = call zeroext i8 @to_uchar(i8 signext %0) + %idxprom = zext i8 %call to i64 + %arrayidx = getelementptr inbounds [256 x i8], [256 x i8]* @b32, i64 0, i64 %idxprom + %1 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %1 to i32 + %cmp = icmp sle i32 0, %conv + ret i1 %cmp +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @base32_decode_ctx(%struct.base32_decode_context* %ctx, i8* noalias %in, i64 %inlen, i8* noalias %out, i64* %outlen) #3 { +entry: + %ctx.addr = alloca %struct.base32_decode_context*, align 8 + %in.addr = alloca i8*, align 8 + %inlen.addr = alloca i64, align 8 + %out.addr = alloca i8*, align 8 + %outlen.addr = alloca i64*, align 8 + %outleft = alloca i64, align 8 + %ignore_newlines = alloca i8, align 1 + %flush_ctx = alloca i8, align 1 + %ctx_i = alloca i32, align 4 + %outleft_save = alloca i64, align 8 + %in_end = alloca i8*, align 8 + %non_nl = alloca i8*, align 8 + store %struct.base32_decode_context* %ctx, %struct.base32_decode_context** %ctx.addr, align 8 + store i8* %in, i8** %in.addr, align 8 + store i64 %inlen, i64* %inlen.addr, align 8 + store i8* %out, i8** %out.addr, align 8 + store i64* %outlen, i64** %outlen.addr, align 8 + %0 = load i64*, i64** %outlen.addr, align 8 + %1 = load i64, i64* %0, align 8 + store i64 %1, i64* %outleft, align 8 + %2 = load %struct.base32_decode_context*, %struct.base32_decode_context** %ctx.addr, align 8 + %cmp = icmp ne %struct.base32_decode_context* %2, null + %frombool = zext i1 %cmp to i8 + store i8 %frombool, i8* %ignore_newlines, align 1 + store i8 0, i8* %flush_ctx, align 1 + store i32 0, i32* %ctx_i, align 4 + %3 = load i8, i8* %ignore_newlines, align 1 + %tobool = trunc i8 %3 to i1 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %4 = load %struct.base32_decode_context*, %struct.base32_decode_context** %ctx.addr, align 8 + %i = getelementptr inbounds %struct.base32_decode_context, %struct.base32_decode_context* %4, i32 0, i32 0 + %5 = load i32, i32* %i, align 4 + store i32 %5, i32* %ctx_i, align 4 + %6 = load i64, i64* %inlen.addr, align 8 + %cmp1 = icmp eq i64 %6, 0 + %frombool2 = zext i1 %cmp1 to i8 + store i8 %frombool2, i8* %flush_ctx, align 1 + br label %if.end + +if.end: ; preds = %if.then, %entry + br label %while.body + +while.body: ; preds = %if.end, %if.then23, %if.end45 + %7 = load i64, i64* %outleft, align 8 + store i64 %7, i64* %outleft_save, align 8 + %8 = load i32, i32* %ctx_i, align 4 + %cmp3 = icmp eq i32 %8, 0 + br i1 %cmp3, label %land.lhs.true, label %if.end10 + +land.lhs.true: ; preds = %while.body + %9 = load i8, i8* %flush_ctx, align 1 + %tobool4 = trunc i8 %9 to i1 + br i1 %tobool4, label %if.end10, label %while.body7 + +while.body7: ; preds = %land.lhs.true, %if.end9 + %10 = load i64, i64* %outleft, align 8 + store i64 %10, i64* %outleft_save, align 8 + %11 = load i8*, i8** %in.addr, align 8 + %12 = load i64, i64* %inlen.addr, align 8 + %call = call zeroext i1 @decode_8(i8* %11, i64 %12, i8** %out.addr, i64* %outleft) + br i1 %call, label %if.end9, label %if.end10 + +if.end9: ; preds = %while.body7 + %13 = load i8*, i8** %in.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %13, i64 8 + store i8* %add.ptr, i8** %in.addr, align 8 + %14 = load i64, i64* %inlen.addr, align 8 + %sub = sub i64 %14, 8 + store i64 %sub, i64* %inlen.addr, align 8 + br label %while.body7 + +if.end10: ; preds = %while.body7, %land.lhs.true, %while.body + %15 = load i64, i64* %inlen.addr, align 8 + %cmp11 = icmp eq i64 %15, 0 + br i1 %cmp11, label %land.lhs.true12, label %if.end15 + +land.lhs.true12: ; preds = %if.end10 + %16 = load i8, i8* %flush_ctx, align 1 + %tobool13 = trunc i8 %16 to i1 + br i1 %tobool13, label %if.end15, label %while.end46 + +if.end15: ; preds = %land.lhs.true12, %if.end10 + %17 = load i64, i64* %inlen.addr, align 8 + %tobool16 = icmp ne i64 %17, 0 + br i1 %tobool16, label %land.lhs.true17, label %if.end24 + +land.lhs.true17: ; preds = %if.end15 + %18 = load i8*, i8** %in.addr, align 8 + %19 = load i8, i8* %18, align 1 + %conv = sext i8 %19 to i32 + %cmp18 = icmp eq i32 %conv, 10 + br i1 %cmp18, label %land.lhs.true20, label %if.end24 + +land.lhs.true20: ; preds = %land.lhs.true17 + %20 = load i8, i8* %ignore_newlines, align 1 + %tobool21 = trunc i8 %20 to i1 + br i1 %tobool21, label %if.then23, label %if.end24 + +if.then23: ; preds = %land.lhs.true20 + %21 = load i8*, i8** %in.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %21, i32 1 + store i8* %incdec.ptr, i8** %in.addr, align 8 + %22 = load i64, i64* %inlen.addr, align 8 + %dec = add i64 %22, -1 + store i64 %dec, i64* %inlen.addr, align 8 + br label %while.body + +if.end24: ; preds = %land.lhs.true20, %land.lhs.true17, %if.end15 + %23 = load i64, i64* %outleft_save, align 8 + %24 = load i64, i64* %outleft, align 8 + %sub25 = sub i64 %23, %24 + %25 = load i8*, i8** %out.addr, align 8 + %idx.neg = sub i64 0, %sub25 + %add.ptr26 = getelementptr inbounds i8, i8* %25, i64 %idx.neg + store i8* %add.ptr26, i8** %out.addr, align 8 + %26 = load i64, i64* %outleft_save, align 8 + store i64 %26, i64* %outleft, align 8 + %27 = load i8*, i8** %in.addr, align 8 + %28 = load i64, i64* %inlen.addr, align 8 + %add.ptr27 = getelementptr inbounds i8, i8* %27, i64 %28 + store i8* %add.ptr27, i8** %in_end, align 8 + %29 = load i8, i8* %ignore_newlines, align 1 + %tobool28 = trunc i8 %29 to i1 + br i1 %tobool28, label %if.then29, label %if.else + +if.then29: ; preds = %if.end24 + %30 = load %struct.base32_decode_context*, %struct.base32_decode_context** %ctx.addr, align 8 + %31 = load i8*, i8** %in_end, align 8 + %call30 = call i8* @get_8(%struct.base32_decode_context* %30, i8** %in.addr, i8* %31, i64* %inlen.addr) + store i8* %call30, i8** %non_nl, align 8 + br label %if.end31 + +if.else: ; preds = %if.end24 + %32 = load i8*, i8** %in.addr, align 8 + store i8* %32, i8** %non_nl, align 8 + br label %if.end31 + +if.end31: ; preds = %if.else, %if.then29 + %33 = load i64, i64* %inlen.addr, align 8 + %cmp32 = icmp eq i64 %33, 0 + br i1 %cmp32, label %if.then41, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end31 + %34 = load i64, i64* %inlen.addr, align 8 + %cmp34 = icmp ult i64 %34, 8 + br i1 %cmp34, label %land.lhs.true36, label %if.end42 + +land.lhs.true36: ; preds = %lor.lhs.false + %35 = load i8, i8* %flush_ctx, align 1 + %tobool37 = trunc i8 %35 to i1 + br i1 %tobool37, label %if.end42, label %land.lhs.true38 + +land.lhs.true38: ; preds = %land.lhs.true36 + %36 = load i8, i8* %ignore_newlines, align 1 + %tobool39 = trunc i8 %36 to i1 + br i1 %tobool39, label %if.then41, label %if.end42 + +if.then41: ; preds = %land.lhs.true38, %if.end31 + store i64 0, i64* %inlen.addr, align 8 + br label %while.end46 + +if.end42: ; preds = %land.lhs.true38, %land.lhs.true36, %lor.lhs.false + %37 = load i8*, i8** %non_nl, align 8 + %38 = load i64, i64* %inlen.addr, align 8 + %call43 = call zeroext i1 @decode_8(i8* %37, i64 %38, i8** %out.addr, i64* %outleft) + br i1 %call43, label %if.end45, label %while.end46 + +if.end45: ; preds = %if.end42 + %39 = load i8*, i8** %in_end, align 8 + %40 = load i8*, i8** %in.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %39 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %40 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %inlen.addr, align 8 + br label %while.body + +while.end46: ; preds = %if.end42, %land.lhs.true12, %if.then41 + %41 = load i64, i64* %outleft, align 8 + %42 = load i64*, i64** %outlen.addr, align 8 + %43 = load i64, i64* %42, align 8 + %sub47 = sub i64 %43, %41 + store i64 %sub47, i64* %42, align 8 + %44 = load i64, i64* %inlen.addr, align 8 + %cmp48 = icmp eq i64 %44, 0 + ret i1 %cmp48 +} + +; Function Attrs: noinline nounwind uwtable +define internal zeroext i1 @decode_8(i8* noalias %in, i64 %inlen, i8** %outp, i64* %outleft) #3 { +entry: + %retval = alloca i1, align 1 + %in.addr = alloca i8*, align 8 + %inlen.addr = alloca i64, align 8 + %outp.addr = alloca i8**, align 8 + %outleft.addr = alloca i64*, align 8 + %out = alloca i8*, align 8 + store i8* %in, i8** %in.addr, align 8 + store i64 %inlen, i64* %inlen.addr, align 8 + store i8** %outp, i8*** %outp.addr, align 8 + store i64* %outleft, i64** %outleft.addr, align 8 + %0 = load i8**, i8*** %outp.addr, align 8 + %1 = load i8*, i8** %0, align 8 + store i8* %1, i8** %out, align 8 + %2 = load i64, i64* %inlen.addr, align 8 + %cmp = icmp ult i64 %2, 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +if.end: ; preds = %entry + %3 = load i8*, i8** %in.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %3, i64 0 + %4 = load i8, i8* %arrayidx, align 1 + %call = call zeroext i1 @isbase32(i8 signext %4) #26 + br i1 %call, label %lor.lhs.false, label %if.then3 + +lor.lhs.false: ; preds = %if.end + %5 = load i8*, i8** %in.addr, align 8 + %arrayidx1 = getelementptr inbounds i8, i8* %5, i64 1 + %6 = load i8, i8* %arrayidx1, align 1 + %call2 = call zeroext i1 @isbase32(i8 signext %6) #26 + br i1 %call2, label %if.end4, label %if.then3 + +if.then3: ; preds = %lor.lhs.false, %if.end + store i1 false, i1* %retval, align 1 + br label %return + +if.end4: ; preds = %lor.lhs.false + %7 = load i64*, i64** %outleft.addr, align 8 + %8 = load i64, i64* %7, align 8 + %tobool = icmp ne i64 %8, 0 + br i1 %tobool, label %if.then5, label %if.end15 + +if.then5: ; preds = %if.end4 + %9 = load i8*, i8** %in.addr, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %9, i64 0 + %10 = load i8, i8* %arrayidx6, align 1 + %call7 = call zeroext i8 @to_uchar(i8 signext %10) + %idxprom = zext i8 %call7 to i64 + %arrayidx8 = getelementptr inbounds [256 x i8], [256 x i8]* @b32, i64 0, i64 %idxprom + %11 = load i8, i8* %arrayidx8, align 1 + %conv = sext i8 %11 to i32 + %shl = shl i32 %conv, 3 + %12 = load i8*, i8** %in.addr, align 8 + %arrayidx9 = getelementptr inbounds i8, i8* %12, i64 1 + %13 = load i8, i8* %arrayidx9, align 1 + %call10 = call zeroext i8 @to_uchar(i8 signext %13) + %idxprom11 = zext i8 %call10 to i64 + %arrayidx12 = getelementptr inbounds [256 x i8], [256 x i8]* @b32, i64 0, i64 %idxprom11 + %14 = load i8, i8* %arrayidx12, align 1 + %conv13 = sext i8 %14 to i32 + %shr = ashr i32 %conv13, 2 + %or = or i32 %shl, %shr + %conv14 = trunc i32 %or to i8 + %15 = load i8*, i8** %out, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %15, i32 1 + store i8* %incdec.ptr, i8** %out, align 8 + store i8 %conv14, i8* %15, align 1 + %16 = load i64*, i64** %outleft.addr, align 8 + %17 = load i64, i64* %16, align 8 + %dec = add i64 %17, -1 + store i64 %dec, i64* %16, align 8 + br label %if.end15 + +if.end15: ; preds = %if.then5, %if.end4 + %18 = load i8*, i8** %in.addr, align 8 + %arrayidx16 = getelementptr inbounds i8, i8* %18, i64 2 + %19 = load i8, i8* %arrayidx16, align 1 + %conv17 = sext i8 %19 to i32 + %cmp18 = icmp eq i32 %conv17, 61 + %20 = load i8*, i8** %in.addr, align 8 + br i1 %cmp18, label %if.then20, label %if.else + +if.then20: ; preds = %if.end15 + %arrayidx21 = getelementptr inbounds i8, i8* %20, i64 3 + %21 = load i8, i8* %arrayidx21, align 1 + %conv22 = sext i8 %21 to i32 + %cmp23 = icmp ne i32 %conv22, 61 + br i1 %cmp23, label %do.body, label %lor.lhs.false25 + +lor.lhs.false25: ; preds = %if.then20 + %22 = load i8*, i8** %in.addr, align 8 + %arrayidx26 = getelementptr inbounds i8, i8* %22, i64 4 + %23 = load i8, i8* %arrayidx26, align 1 + %conv27 = sext i8 %23 to i32 + %cmp28 = icmp ne i32 %conv27, 61 + br i1 %cmp28, label %do.body, label %lor.lhs.false30 + +lor.lhs.false30: ; preds = %lor.lhs.false25 + %24 = load i8*, i8** %in.addr, align 8 + %arrayidx31 = getelementptr inbounds i8, i8* %24, i64 5 + %25 = load i8, i8* %arrayidx31, align 1 + %conv32 = sext i8 %25 to i32 + %cmp33 = icmp ne i32 %conv32, 61 + br i1 %cmp33, label %do.body, label %lor.lhs.false35 + +lor.lhs.false35: ; preds = %lor.lhs.false30 + %26 = load i8*, i8** %in.addr, align 8 + %arrayidx36 = getelementptr inbounds i8, i8* %26, i64 6 + %27 = load i8, i8* %arrayidx36, align 1 + %conv37 = sext i8 %27 to i32 + %cmp38 = icmp ne i32 %conv37, 61 + br i1 %cmp38, label %do.body, label %lor.lhs.false40 + +lor.lhs.false40: ; preds = %lor.lhs.false35 + %28 = load i8*, i8** %in.addr, align 8 + %arrayidx41 = getelementptr inbounds i8, i8* %28, i64 7 + %29 = load i8, i8* %arrayidx41, align 1 + %conv42 = sext i8 %29 to i32 + %cmp43 = icmp ne i32 %conv42, 61 + br i1 %cmp43, label %do.body, label %if.end217 + +do.body: ; preds = %if.then20, %lor.lhs.false25, %lor.lhs.false30, %lor.lhs.false35, %lor.lhs.false40 + %30 = load i8*, i8** %out, align 8 + %31 = load i8**, i8*** %outp.addr, align 8 + store i8* %30, i8** %31, align 8 + store i1 false, i1* %retval, align 1 + br label %return + +if.else: ; preds = %if.end15 + %arrayidx47 = getelementptr inbounds i8, i8* %20, i64 2 + %32 = load i8, i8* %arrayidx47, align 1 + %call48 = call zeroext i1 @isbase32(i8 signext %32) #26 + br i1 %call48, label %lor.lhs.false49, label %do.body53 + +lor.lhs.false49: ; preds = %if.else + %33 = load i8*, i8** %in.addr, align 8 + %arrayidx50 = getelementptr inbounds i8, i8* %33, i64 3 + %34 = load i8, i8* %arrayidx50, align 1 + %call51 = call zeroext i1 @isbase32(i8 signext %34) #26 + br i1 %call51, label %if.end55, label %do.body53 + +do.body53: ; preds = %if.else, %lor.lhs.false49 + %35 = load i8*, i8** %out, align 8 + %36 = load i8**, i8*** %outp.addr, align 8 + store i8* %35, i8** %36, align 8 + store i1 false, i1* %retval, align 1 + br label %return + +if.end55: ; preds = %lor.lhs.false49 + %37 = load i64*, i64** %outleft.addr, align 8 + %38 = load i64, i64* %37, align 8 + %tobool56 = icmp ne i64 %38, 0 + br i1 %tobool56, label %if.then57, label %if.end81 + +if.then57: ; preds = %if.end55 + %39 = load i8*, i8** %in.addr, align 8 + %arrayidx58 = getelementptr inbounds i8, i8* %39, i64 1 + %40 = load i8, i8* %arrayidx58, align 1 + %call59 = call zeroext i8 @to_uchar(i8 signext %40) + %idxprom60 = zext i8 %call59 to i64 + %arrayidx61 = getelementptr inbounds [256 x i8], [256 x i8]* @b32, i64 0, i64 %idxprom60 + %41 = load i8, i8* %arrayidx61, align 1 + %conv62 = sext i8 %41 to i32 + %shl63 = shl i32 %conv62, 6 + %42 = load i8*, i8** %in.addr, align 8 + %arrayidx64 = getelementptr inbounds i8, i8* %42, i64 2 + %43 = load i8, i8* %arrayidx64, align 1 + %call65 = call zeroext i8 @to_uchar(i8 signext %43) + %idxprom66 = zext i8 %call65 to i64 + %arrayidx67 = getelementptr inbounds [256 x i8], [256 x i8]* @b32, i64 0, i64 %idxprom66 + %44 = load i8, i8* %arrayidx67, align 1 + %conv68 = sext i8 %44 to i32 + %shl69 = shl i32 %conv68, 1 + %or70 = or i32 %shl63, %shl69 + %45 = load i8*, i8** %in.addr, align 8 + %arrayidx71 = getelementptr inbounds i8, i8* %45, i64 3 + %46 = load i8, i8* %arrayidx71, align 1 + %call72 = call zeroext i8 @to_uchar(i8 signext %46) + %idxprom73 = zext i8 %call72 to i64 + %arrayidx74 = getelementptr inbounds [256 x i8], [256 x i8]* @b32, i64 0, i64 %idxprom73 + %47 = load i8, i8* %arrayidx74, align 1 + %conv75 = sext i8 %47 to i32 + %shr76 = ashr i32 %conv75, 4 + %or77 = or i32 %or70, %shr76 + %conv78 = trunc i32 %or77 to i8 + %48 = load i8*, i8** %out, align 8 + %incdec.ptr79 = getelementptr inbounds i8, i8* %48, i32 1 + store i8* %incdec.ptr79, i8** %out, align 8 + store i8 %conv78, i8* %48, align 1 + %49 = load i64*, i64** %outleft.addr, align 8 + %50 = load i64, i64* %49, align 8 + %dec80 = add i64 %50, -1 + store i64 %dec80, i64* %49, align 8 + br label %if.end81 + +if.end81: ; preds = %if.then57, %if.end55 + %51 = load i8*, i8** %in.addr, align 8 + %arrayidx82 = getelementptr inbounds i8, i8* %51, i64 4 + %52 = load i8, i8* %arrayidx82, align 1 + %conv83 = sext i8 %52 to i32 + %cmp84 = icmp eq i32 %conv83, 61 + %53 = load i8*, i8** %in.addr, align 8 + br i1 %cmp84, label %if.then86, label %if.else105 + +if.then86: ; preds = %if.end81 + %arrayidx87 = getelementptr inbounds i8, i8* %53, i64 5 + %54 = load i8, i8* %arrayidx87, align 1 + %conv88 = sext i8 %54 to i32 + %cmp89 = icmp ne i32 %conv88, 61 + br i1 %cmp89, label %do.body102, label %lor.lhs.false91 + +lor.lhs.false91: ; preds = %if.then86 + %55 = load i8*, i8** %in.addr, align 8 + %arrayidx92 = getelementptr inbounds i8, i8* %55, i64 6 + %56 = load i8, i8* %arrayidx92, align 1 + %conv93 = sext i8 %56 to i32 + %cmp94 = icmp ne i32 %conv93, 61 + br i1 %cmp94, label %do.body102, label %lor.lhs.false96 + +lor.lhs.false96: ; preds = %lor.lhs.false91 + %57 = load i8*, i8** %in.addr, align 8 + %arrayidx97 = getelementptr inbounds i8, i8* %57, i64 7 + %58 = load i8, i8* %arrayidx97, align 1 + %conv98 = sext i8 %58 to i32 + %cmp99 = icmp ne i32 %conv98, 61 + br i1 %cmp99, label %do.body102, label %if.end217 + +do.body102: ; preds = %if.then86, %lor.lhs.false91, %lor.lhs.false96 + %59 = load i8*, i8** %out, align 8 + %60 = load i8**, i8*** %outp.addr, align 8 + store i8* %59, i8** %60, align 8 + store i1 false, i1* %retval, align 1 + br label %return + +if.else105: ; preds = %if.end81 + %arrayidx106 = getelementptr inbounds i8, i8* %53, i64 4 + %61 = load i8, i8* %arrayidx106, align 1 + %call107 = call zeroext i1 @isbase32(i8 signext %61) #26 + br i1 %call107, label %if.end111, label %do.body109 + +do.body109: ; preds = %if.else105 + %62 = load i8*, i8** %out, align 8 + %63 = load i8**, i8*** %outp.addr, align 8 + store i8* %62, i8** %63, align 8 + store i1 false, i1* %retval, align 1 + br label %return + +if.end111: ; preds = %if.else105 + %64 = load i64*, i64** %outleft.addr, align 8 + %65 = load i64, i64* %64, align 8 + %tobool112 = icmp ne i64 %65, 0 + br i1 %tobool112, label %if.then113, label %if.end130 + +if.then113: ; preds = %if.end111 + %66 = load i8*, i8** %in.addr, align 8 + %arrayidx114 = getelementptr inbounds i8, i8* %66, i64 3 + %67 = load i8, i8* %arrayidx114, align 1 + %call115 = call zeroext i8 @to_uchar(i8 signext %67) + %idxprom116 = zext i8 %call115 to i64 + %arrayidx117 = getelementptr inbounds [256 x i8], [256 x i8]* @b32, i64 0, i64 %idxprom116 + %68 = load i8, i8* %arrayidx117, align 1 + %conv118 = sext i8 %68 to i32 + %shl119 = shl i32 %conv118, 4 + %69 = load i8*, i8** %in.addr, align 8 + %arrayidx120 = getelementptr inbounds i8, i8* %69, i64 4 + %70 = load i8, i8* %arrayidx120, align 1 + %call121 = call zeroext i8 @to_uchar(i8 signext %70) + %idxprom122 = zext i8 %call121 to i64 + %arrayidx123 = getelementptr inbounds [256 x i8], [256 x i8]* @b32, i64 0, i64 %idxprom122 + %71 = load i8, i8* %arrayidx123, align 1 + %conv124 = sext i8 %71 to i32 + %shr125 = ashr i32 %conv124, 1 + %or126 = or i32 %shl119, %shr125 + %conv127 = trunc i32 %or126 to i8 + %72 = load i8*, i8** %out, align 8 + %incdec.ptr128 = getelementptr inbounds i8, i8* %72, i32 1 + store i8* %incdec.ptr128, i8** %out, align 8 + store i8 %conv127, i8* %72, align 1 + %73 = load i64*, i64** %outleft.addr, align 8 + %74 = load i64, i64* %73, align 8 + %dec129 = add i64 %74, -1 + store i64 %dec129, i64* %73, align 8 + br label %if.end130 + +if.end130: ; preds = %if.then113, %if.end111 + %75 = load i8*, i8** %in.addr, align 8 + %arrayidx131 = getelementptr inbounds i8, i8* %75, i64 5 + %76 = load i8, i8* %arrayidx131, align 1 + %conv132 = sext i8 %76 to i32 + %cmp133 = icmp eq i32 %conv132, 61 + %77 = load i8*, i8** %in.addr, align 8 + br i1 %cmp133, label %if.then135, label %if.else149 + +if.then135: ; preds = %if.end130 + %arrayidx136 = getelementptr inbounds i8, i8* %77, i64 6 + %78 = load i8, i8* %arrayidx136, align 1 + %conv137 = sext i8 %78 to i32 + %cmp138 = icmp ne i32 %conv137, 61 + br i1 %cmp138, label %do.body146, label %lor.lhs.false140 + +lor.lhs.false140: ; preds = %if.then135 + %79 = load i8*, i8** %in.addr, align 8 + %arrayidx141 = getelementptr inbounds i8, i8* %79, i64 7 + %80 = load i8, i8* %arrayidx141, align 1 + %conv142 = sext i8 %80 to i32 + %cmp143 = icmp ne i32 %conv142, 61 + br i1 %cmp143, label %do.body146, label %if.end217 + +do.body146: ; preds = %if.then135, %lor.lhs.false140 + %81 = load i8*, i8** %out, align 8 + %82 = load i8**, i8*** %outp.addr, align 8 + store i8* %81, i8** %82, align 8 + store i1 false, i1* %retval, align 1 + br label %return + +if.else149: ; preds = %if.end130 + %arrayidx150 = getelementptr inbounds i8, i8* %77, i64 5 + %83 = load i8, i8* %arrayidx150, align 1 + %call151 = call zeroext i1 @isbase32(i8 signext %83) #26 + br i1 %call151, label %lor.lhs.false152, label %do.body156 + +lor.lhs.false152: ; preds = %if.else149 + %84 = load i8*, i8** %in.addr, align 8 + %arrayidx153 = getelementptr inbounds i8, i8* %84, i64 6 + %85 = load i8, i8* %arrayidx153, align 1 + %call154 = call zeroext i1 @isbase32(i8 signext %85) #26 + br i1 %call154, label %if.end158, label %do.body156 + +do.body156: ; preds = %if.else149, %lor.lhs.false152 + %86 = load i8*, i8** %out, align 8 + %87 = load i8**, i8*** %outp.addr, align 8 + store i8* %86, i8** %87, align 8 + store i1 false, i1* %retval, align 1 + br label %return + +if.end158: ; preds = %lor.lhs.false152 + %88 = load i64*, i64** %outleft.addr, align 8 + %89 = load i64, i64* %88, align 8 + %tobool159 = icmp ne i64 %89, 0 + br i1 %tobool159, label %if.then160, label %if.end184 + +if.then160: ; preds = %if.end158 + %90 = load i8*, i8** %in.addr, align 8 + %arrayidx161 = getelementptr inbounds i8, i8* %90, i64 4 + %91 = load i8, i8* %arrayidx161, align 1 + %call162 = call zeroext i8 @to_uchar(i8 signext %91) + %idxprom163 = zext i8 %call162 to i64 + %arrayidx164 = getelementptr inbounds [256 x i8], [256 x i8]* @b32, i64 0, i64 %idxprom163 + %92 = load i8, i8* %arrayidx164, align 1 + %conv165 = sext i8 %92 to i32 + %shl166 = shl i32 %conv165, 7 + %93 = load i8*, i8** %in.addr, align 8 + %arrayidx167 = getelementptr inbounds i8, i8* %93, i64 5 + %94 = load i8, i8* %arrayidx167, align 1 + %call168 = call zeroext i8 @to_uchar(i8 signext %94) + %idxprom169 = zext i8 %call168 to i64 + %arrayidx170 = getelementptr inbounds [256 x i8], [256 x i8]* @b32, i64 0, i64 %idxprom169 + %95 = load i8, i8* %arrayidx170, align 1 + %conv171 = sext i8 %95 to i32 + %shl172 = shl i32 %conv171, 2 + %or173 = or i32 %shl166, %shl172 + %96 = load i8*, i8** %in.addr, align 8 + %arrayidx174 = getelementptr inbounds i8, i8* %96, i64 6 + %97 = load i8, i8* %arrayidx174, align 1 + %call175 = call zeroext i8 @to_uchar(i8 signext %97) + %idxprom176 = zext i8 %call175 to i64 + %arrayidx177 = getelementptr inbounds [256 x i8], [256 x i8]* @b32, i64 0, i64 %idxprom176 + %98 = load i8, i8* %arrayidx177, align 1 + %conv178 = sext i8 %98 to i32 + %shr179 = ashr i32 %conv178, 3 + %or180 = or i32 %or173, %shr179 + %conv181 = trunc i32 %or180 to i8 + %99 = load i8*, i8** %out, align 8 + %incdec.ptr182 = getelementptr inbounds i8, i8* %99, i32 1 + store i8* %incdec.ptr182, i8** %out, align 8 + store i8 %conv181, i8* %99, align 1 + %100 = load i64*, i64** %outleft.addr, align 8 + %101 = load i64, i64* %100, align 8 + %dec183 = add i64 %101, -1 + store i64 %dec183, i64* %100, align 8 + br label %if.end184 + +if.end184: ; preds = %if.then160, %if.end158 + %102 = load i8*, i8** %in.addr, align 8 + %arrayidx185 = getelementptr inbounds i8, i8* %102, i64 7 + %103 = load i8, i8* %arrayidx185, align 1 + %conv186 = sext i8 %103 to i32 + %cmp187 = icmp ne i32 %conv186, 61 + br i1 %cmp187, label %if.then189, label %if.end217 + +if.then189: ; preds = %if.end184 + %104 = load i8*, i8** %in.addr, align 8 + %arrayidx190 = getelementptr inbounds i8, i8* %104, i64 7 + %105 = load i8, i8* %arrayidx190, align 1 + %call191 = call zeroext i1 @isbase32(i8 signext %105) #26 + br i1 %call191, label %if.end195, label %do.body193 + +do.body193: ; preds = %if.then189 + %106 = load i8*, i8** %out, align 8 + %107 = load i8**, i8*** %outp.addr, align 8 + store i8* %106, i8** %107, align 8 + store i1 false, i1* %retval, align 1 + br label %return + +if.end195: ; preds = %if.then189 + %108 = load i64*, i64** %outleft.addr, align 8 + %109 = load i64, i64* %108, align 8 + %tobool196 = icmp ne i64 %109, 0 + br i1 %tobool196, label %if.then197, label %if.end217 + +if.then197: ; preds = %if.end195 + %110 = load i8*, i8** %in.addr, align 8 + %arrayidx198 = getelementptr inbounds i8, i8* %110, i64 6 + %111 = load i8, i8* %arrayidx198, align 1 + %call199 = call zeroext i8 @to_uchar(i8 signext %111) + %idxprom200 = zext i8 %call199 to i64 + %arrayidx201 = getelementptr inbounds [256 x i8], [256 x i8]* @b32, i64 0, i64 %idxprom200 + %112 = load i8, i8* %arrayidx201, align 1 + %conv202 = sext i8 %112 to i32 + %shl203 = shl i32 %conv202, 5 + %113 = load i8*, i8** %in.addr, align 8 + %arrayidx204 = getelementptr inbounds i8, i8* %113, i64 7 + %114 = load i8, i8* %arrayidx204, align 1 + %call205 = call zeroext i8 @to_uchar(i8 signext %114) + %idxprom206 = zext i8 %call205 to i64 + %arrayidx207 = getelementptr inbounds [256 x i8], [256 x i8]* @b32, i64 0, i64 %idxprom206 + %115 = load i8, i8* %arrayidx207, align 1 + %conv208 = sext i8 %115 to i32 + %or209 = or i32 %shl203, %conv208 + %conv210 = trunc i32 %or209 to i8 + %116 = load i8*, i8** %out, align 8 + %incdec.ptr211 = getelementptr inbounds i8, i8* %116, i32 1 + store i8* %incdec.ptr211, i8** %out, align 8 + store i8 %conv210, i8* %116, align 1 + %117 = load i64*, i64** %outleft.addr, align 8 + %118 = load i64, i64* %117, align 8 + %dec212 = add i64 %118, -1 + store i64 %dec212, i64* %117, align 8 + br label %if.end217 + +if.end217: ; preds = %lor.lhs.false96, %if.end184, %if.then197, %if.end195, %lor.lhs.false140, %lor.lhs.false40 + %119 = load i8*, i8** %out, align 8 + %120 = load i8**, i8*** %outp.addr, align 8 + store i8* %119, i8** %120, align 8 + store i1 true, i1* %retval, align 1 + br label %return + +return: ; preds = %if.end217, %do.body193, %do.body156, %do.body146, %do.body109, %do.body102, %do.body53, %do.body, %if.then3, %if.then + %121 = load i1, i1* %retval, align 1 + ret i1 %121 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @get_8(%struct.base32_decode_context* %ctx, i8** %in, i8* noalias %in_end, i64* %n_non_newline) #3 { +entry: + %retval = alloca i8*, align 8 + %ctx.addr = alloca %struct.base32_decode_context*, align 8 + %in.addr = alloca i8**, align 8 + %in_end.addr = alloca i8*, align 8 + %n_non_newline.addr = alloca i64*, align 8 + %t = alloca i8*, align 8 + %p = alloca i8*, align 8 + %c = alloca i8, align 1 + store %struct.base32_decode_context* %ctx, %struct.base32_decode_context** %ctx.addr, align 8 + store i8** %in, i8*** %in.addr, align 8 + store i8* %in_end, i8** %in_end.addr, align 8 + store i64* %n_non_newline, i64** %n_non_newline.addr, align 8 + %0 = load %struct.base32_decode_context*, %struct.base32_decode_context** %ctx.addr, align 8 + %i = getelementptr inbounds %struct.base32_decode_context, %struct.base32_decode_context* %0, i32 0, i32 0 + %1 = load i32, i32* %i, align 4 + %cmp = icmp eq i32 %1, 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.base32_decode_context*, %struct.base32_decode_context** %ctx.addr, align 8 + %i1 = getelementptr inbounds %struct.base32_decode_context, %struct.base32_decode_context* %2, i32 0, i32 0 + store i32 0, i32* %i1, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %3 = load %struct.base32_decode_context*, %struct.base32_decode_context** %ctx.addr, align 8 + %i2 = getelementptr inbounds %struct.base32_decode_context, %struct.base32_decode_context* %3, i32 0, i32 0 + %4 = load i32, i32* %i2, align 4 + %cmp3 = icmp eq i32 %4, 0 + br i1 %cmp3, label %if.then4, label %if.end9 + +if.then4: ; preds = %if.end + %5 = load i8**, i8*** %in.addr, align 8 + %6 = load i8*, i8** %5, align 8 + store i8* %6, i8** %t, align 8 + %7 = load i8*, i8** %in_end.addr, align 8 + %8 = load i8**, i8*** %in.addr, align 8 + %9 = load i8*, i8** %8, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %9 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %cmp5 = icmp sle i64 8, %sub.ptr.sub + br i1 %cmp5, label %land.lhs.true, label %if.end9 + +land.lhs.true: ; preds = %if.then4 + %10 = load i8*, i8** %t, align 8 + %call = call i8* @memchr(i8* %10, i32 10, i64 8) #24 + %cmp6 = icmp eq i8* %call, null + br i1 %cmp6, label %if.then7, label %if.end9 + +if.then7: ; preds = %land.lhs.true + %11 = load i8**, i8*** %in.addr, align 8 + %12 = load i8*, i8** %11, align 8 + %add.ptr = getelementptr inbounds i8, i8* %12, i64 8 + store i8* %add.ptr, i8** %11, align 8 + %13 = load i64*, i64** %n_non_newline.addr, align 8 + store i64 8, i64* %13, align 8 + %14 = load i8*, i8** %t, align 8 + store i8* %14, i8** %retval, align 8 + br label %return + +if.end9: ; preds = %if.then4, %land.lhs.true, %if.end + %15 = load i8**, i8*** %in.addr, align 8 + %16 = load i8*, i8** %15, align 8 + store i8* %16, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %if.end20, %if.end9 + %17 = load i8*, i8** %p, align 8 + %18 = load i8*, i8** %in_end.addr, align 8 + %cmp10 = icmp ult i8* %17, %18 + br i1 %cmp10, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %19 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %19, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %20 = load i8, i8* %19, align 1 + store i8 %20, i8* %c, align 1 + %21 = load i8, i8* %c, align 1 + %conv = sext i8 %21 to i32 + %cmp11 = icmp ne i32 %conv, 10 + br i1 %cmp11, label %if.then13, label %if.end20 + +if.then13: ; preds = %while.body + %22 = load i8, i8* %c, align 1 + %23 = load %struct.base32_decode_context*, %struct.base32_decode_context** %ctx.addr, align 8 + %buf = getelementptr inbounds %struct.base32_decode_context, %struct.base32_decode_context* %23, i32 0, i32 1 + %24 = load %struct.base32_decode_context*, %struct.base32_decode_context** %ctx.addr, align 8 + %i14 = getelementptr inbounds %struct.base32_decode_context, %struct.base32_decode_context* %24, i32 0, i32 0 + %25 = load i32, i32* %i14, align 4 + %inc = add i32 %25, 1 + store i32 %inc, i32* %i14, align 4 + %idxprom = zext i32 %25 to i64 + %arrayidx = getelementptr inbounds [8 x i8], [8 x i8]* %buf, i64 0, i64 %idxprom + store i8 %22, i8* %arrayidx, align 1 + %26 = load %struct.base32_decode_context*, %struct.base32_decode_context** %ctx.addr, align 8 + %i15 = getelementptr inbounds %struct.base32_decode_context, %struct.base32_decode_context* %26, i32 0, i32 0 + %27 = load i32, i32* %i15, align 4 + %cmp16 = icmp eq i32 %27, 8 + br i1 %cmp16, label %while.end, label %if.end20 + +if.end20: ; preds = %if.then13, %while.body + br label %while.cond + +while.end: ; preds = %if.then13, %while.cond + %28 = load i8*, i8** %p, align 8 + %29 = load i8**, i8*** %in.addr, align 8 + store i8* %28, i8** %29, align 8 + %30 = load %struct.base32_decode_context*, %struct.base32_decode_context** %ctx.addr, align 8 + %i21 = getelementptr inbounds %struct.base32_decode_context, %struct.base32_decode_context* %30, i32 0, i32 0 + %31 = load i32, i32* %i21, align 4 + %conv22 = zext i32 %31 to i64 + %32 = load i64*, i64** %n_non_newline.addr, align 8 + store i64 %conv22, i64* %32, align 8 + %33 = load %struct.base32_decode_context*, %struct.base32_decode_context** %ctx.addr, align 8 + %buf23 = getelementptr inbounds %struct.base32_decode_context, %struct.base32_decode_context* %33, i32 0, i32 1 + %arraydecay = getelementptr inbounds [8 x i8], [8 x i8]* %buf23, i64 0, i64 0 + store i8* %arraydecay, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then7 + %34 = load i8*, i8** %retval, align 8 + ret i8* %34 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @fdadvise(i32 %fd, i64 %offset, i64 %len, i32 %advice) #3 { +entry: + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %advice.addr = alloca i32, align 4 + %__x = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store i32 %advice, i32* %advice.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %offset.addr, align 8 + %2 = load i64, i64* %len.addr, align 8 + %3 = load i32, i32* %advice.addr, align 4 + %call = call i32 @posix_fadvise(i32 %0, i64 %1, i64 %2, i32 %3) #11 + store i32 %call, i32* %__x, align 4 + %4 = load i32, i32* %__x, align 4 + ret void +} + +; Function Attrs: nounwind +declare dso_local i32 @posix_fadvise(i32, i64, i64, i32) #4 + +; Function Attrs: noinline nounwind uwtable +define internal void @quoting_options_from_style(%struct.quoting_options* noalias sret align 8 %agg.result, i32 %style) #3 { +entry: + %style.addr = alloca i32, align 4 + store i32 %style, i32* %style.addr, align 4 + %0 = bitcast %struct.quoting_options* %agg.result to i8* + %1 = call i8* @memset(i8* %0, i32 0, i64 56) + %2 = load i32, i32* %style.addr, align 4 + %cmp = icmp eq i32 %2, 10 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @abort() #27 + unreachable + +if.end: ; preds = %entry + %3 = load i32, i32* %style.addr, align 4 + %style1 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %agg.result, i32 0, i32 0 + store i32 %3, i32* %style1, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @set_char_quoting(%struct.quoting_options* %o, i8 signext %c, i32 %i) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %c.addr = alloca i8, align 1 + %i.addr = alloca i32, align 4 + %uc = alloca i8, align 1 + %p = alloca i32*, align 8 + %shift = alloca i32, align 4 + %r = alloca i32, align 4 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i8 %c, i8* %c.addr, align 1 + store i32 %i, i32* %i.addr, align 4 + %0 = load i8, i8* %c.addr, align 1 + store i8 %0, i8* %uc, align 1 + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %1, null + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %2, %struct.quoting_options* @default_quoting_options + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %cond, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %3 = load i8, i8* %uc, align 1 + %conv = zext i8 %3 to i64 + %div = udiv i64 %conv, 32 + %add.ptr = getelementptr inbounds i32, i32* %arraydecay, i64 %div + store i32* %add.ptr, i32** %p, align 8 + %4 = load i8, i8* %uc, align 1 + %conv1 = zext i8 %4 to i64 + %rem = urem i64 %conv1, 32 + %conv2 = trunc i64 %rem to i32 + store i32 %conv2, i32* %shift, align 4 + %5 = load i32*, i32** %p, align 8 + %6 = load i32, i32* %5, align 4 + %7 = load i32, i32* %shift, align 4 + %shr = lshr i32 %6, %7 + %and = and i32 %shr, 1 + store i32 %and, i32* %r, align 4 + %8 = load i32, i32* %i.addr, align 4 + %and3 = and i32 %8, 1 + %9 = load i32, i32* %r, align 4 + %xor = xor i32 %and3, %9 + %10 = load i32, i32* %shift, align 4 + %shl = shl i32 %xor, %10 + %11 = load i32*, i32** %p, align 8 + %12 = load i32, i32* %11, align 4 + %xor4 = xor i32 %12, %shl + store i32 %xor4, i32* %11, align 4 + %13 = load i32, i32* %r, align 4 + ret i32 %13 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @quotearg_n_options(i32 %n, i8* %arg, i64 %argsize, %struct.quoting_options* %options) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %options.addr = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %sv = alloca %struct.slotvec*, align 8 + %preallocated = alloca i8, align 1 + %nmax = alloca i32, align 4 + %size = alloca i64, align 8 + %val = alloca i8*, align 8 + %flags = alloca i32, align 4 + %qsize = alloca i64, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store %struct.quoting_options* %options, %struct.quoting_options** %options.addr, align 8 + %call = call i32* @__errno_location() #26 + %0 = load i32, i32* %call, align 4 + store i32 %0, i32* %e, align 4 + %1 = load %struct.slotvec*, %struct.slotvec** @slotvec, align 8 + store %struct.slotvec* %1, %struct.slotvec** %sv, align 8 + %2 = load i32, i32* %n.addr, align 4 + %cmp = icmp slt i32 %2, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @abort() #27 + unreachable + +if.end: ; preds = %entry + %3 = load i32, i32* @nslots, align 4 + %4 = load i32, i32* %n.addr, align 4 + %cmp1 = icmp sle i32 %3, %4 + br i1 %cmp1, label %if.then2, label %if.end15 + +if.then2: ; preds = %if.end + %5 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %cmp3 = icmp eq %struct.slotvec* %5, @slotvec0 + %frombool = zext i1 %cmp3 to i8 + store i8 %frombool, i8* %preallocated, align 1 + store i32 2147483646, i32* %nmax, align 4 + %6 = load i32, i32* %nmax, align 4 + %7 = load i32, i32* %n.addr, align 4 + %cmp4 = icmp slt i32 %6, %7 + br i1 %cmp4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.then2 + call void @xalloc_die() #25 + unreachable + +if.end6: ; preds = %if.then2 + %8 = load i8, i8* %preallocated, align 1 + %tobool = trunc i8 %8 to i1 + %9 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %cond = select i1 %tobool, %struct.slotvec* null, %struct.slotvec* %9 + %10 = bitcast %struct.slotvec* %cond to i8* + %11 = load i32, i32* %n.addr, align 4 + %add = add nsw i32 %11, 1 + %conv = sext i32 %add to i64 + %mul = mul i64 %conv, 16 + %call7 = call i8* @xrealloc(i8* %10, i64 %mul) + %12 = bitcast i8* %call7 to %struct.slotvec* + store %struct.slotvec* %12, %struct.slotvec** %sv, align 8 + store %struct.slotvec* %12, %struct.slotvec** @slotvec, align 8 + %13 = load i8, i8* %preallocated, align 1 + %tobool8 = trunc i8 %13 to i1 + br i1 %tobool8, label %if.then9, label %if.end10 + +if.then9: ; preds = %if.end6 + %14 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %15 = bitcast %struct.slotvec* %14 to i8* + %16 = call i8* @memcpy(i8* %15, i8* bitcast (%struct.slotvec* @slotvec0 to i8*), i64 16) + br label %if.end10 + +if.end10: ; preds = %if.then9, %if.end6 + %17 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %18 = load i32, i32* @nslots, align 4 + %idx.ext = sext i32 %18 to i64 + %add.ptr = getelementptr inbounds %struct.slotvec, %struct.slotvec* %17, i64 %idx.ext + %19 = bitcast %struct.slotvec* %add.ptr to i8* + %20 = load i32, i32* %n.addr, align 4 + %add11 = add nsw i32 %20, 1 + %21 = load i32, i32* @nslots, align 4 + %sub = sub nsw i32 %add11, %21 + %conv12 = sext i32 %sub to i64 + %mul13 = mul i64 %conv12, 16 + %22 = call i8* @memset(i8* %19, i32 0, i64 %mul13) + %23 = load i32, i32* %n.addr, align 4 + %add14 = add nsw i32 %23, 1 + store i32 %add14, i32* @nslots, align 4 + br label %if.end15 + +if.end15: ; preds = %if.end10, %if.end + %24 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %25 = load i32, i32* %n.addr, align 4 + %idxprom = sext i32 %25 to i64 + %arrayidx = getelementptr inbounds %struct.slotvec, %struct.slotvec* %24, i64 %idxprom + %size16 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx, i32 0, i32 0 + %26 = load i64, i64* %size16, align 8 + store i64 %26, i64* %size, align 8 + %27 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %28 = load i32, i32* %n.addr, align 4 + %idxprom17 = sext i32 %28 to i64 + %arrayidx18 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %27, i64 %idxprom17 + %val19 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx18, i32 0, i32 1 + %29 = load i8*, i8** %val19, align 8 + store i8* %29, i8** %val, align 8 + %30 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %flags20 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %30, i32 0, i32 1 + %31 = load i32, i32* %flags20, align 4 + %or = or i32 %31, 1 + store i32 %or, i32* %flags, align 4 + %32 = load i8*, i8** %val, align 8 + %33 = load i64, i64* %size, align 8 + %34 = load i8*, i8** %arg.addr, align 8 + %35 = load i64, i64* %argsize.addr, align 8 + %36 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %36, i32 0, i32 0 + %37 = load i32, i32* %style, align 8 + %38 = load i32, i32* %flags, align 4 + %39 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %39, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %40 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %left_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %40, i32 0, i32 3 + %41 = load i8*, i8** %left_quote, align 8 + %42 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %right_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %42, i32 0, i32 4 + %43 = load i8*, i8** %right_quote, align 8 + %call21 = call i64 @quotearg_buffer_restyled(i8* %32, i64 %33, i8* %34, i64 %35, i32 %37, i32 %38, i32* %arraydecay, i8* %41, i8* %43) + store i64 %call21, i64* %qsize, align 8 + %44 = load i64, i64* %size, align 8 + %45 = load i64, i64* %qsize, align 8 + %cmp22 = icmp ule i64 %44, %45 + br i1 %cmp22, label %if.then24, label %if.end43 + +if.then24: ; preds = %if.end15 + %46 = load i64, i64* %qsize, align 8 + %add25 = add i64 %46, 1 + store i64 %add25, i64* %size, align 8 + %47 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %48 = load i32, i32* %n.addr, align 4 + %idxprom26 = sext i32 %48 to i64 + %arrayidx27 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %47, i64 %idxprom26 + %size28 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx27, i32 0, i32 0 + store i64 %add25, i64* %size28, align 8 + %49 = load i8*, i8** %val, align 8 + %cmp29 = icmp ne i8* %49, getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i64 0, i64 0) + br i1 %cmp29, label %if.then31, label %if.end32 + +if.then31: ; preds = %if.then24 + %50 = load i8*, i8** %val, align 8 + call void @free(i8* %50) #11 + br label %if.end32 + +if.end32: ; preds = %if.then31, %if.then24 + %51 = load i64, i64* %size, align 8 + %call33 = call noalias i8* @xcharalloc(i64 %51) + store i8* %call33, i8** %val, align 8 + %52 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %53 = load i32, i32* %n.addr, align 4 + %idxprom34 = sext i32 %53 to i64 + %arrayidx35 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %52, i64 %idxprom34 + %val36 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx35, i32 0, i32 1 + store i8* %call33, i8** %val36, align 8 + %54 = load i8*, i8** %val, align 8 + %55 = load i64, i64* %size, align 8 + %56 = load i8*, i8** %arg.addr, align 8 + %57 = load i64, i64* %argsize.addr, align 8 + %58 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %style37 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %58, i32 0, i32 0 + %59 = load i32, i32* %style37, align 8 + %60 = load i32, i32* %flags, align 4 + %61 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %quote_these_too38 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %61, i32 0, i32 2 + %arraydecay39 = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too38, i64 0, i64 0 + %62 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %left_quote40 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %62, i32 0, i32 3 + %63 = load i8*, i8** %left_quote40, align 8 + %64 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %right_quote41 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %64, i32 0, i32 4 + %65 = load i8*, i8** %right_quote41, align 8 + %call42 = call i64 @quotearg_buffer_restyled(i8* %54, i64 %55, i8* %56, i64 %57, i32 %59, i32 %60, i32* %arraydecay39, i8* %63, i8* %65) + br label %if.end43 + +if.end43: ; preds = %if.end32, %if.end15 + %66 = load i32, i32* %e, align 4 + %call44 = call i32* @__errno_location() #26 + store i32 %66, i32* %call44, align 4 + %67 = load i8*, i8** %val, align 8 + ret i8* %67 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @xrealloc(i8* %p, i64 %n) #3 { +entry: + %retval = alloca i8*, align 8 + %p.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %tobool = icmp eq i64 %0, 0 + %1 = load i8*, i8** %p.addr, align 8 + %tobool1 = icmp ne i8* %1, null + %or.cond = and i1 %tobool, %tobool1 + %2 = load i8*, i8** %p.addr, align 8 + br i1 %or.cond, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @free(i8* %2) #11 + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %3 = load i64, i64* %n.addr, align 8 + %call = call i8* @realloc(i8* %2, i64 %3) #11 + store i8* %call, i8** %p.addr, align 8 + %4 = load i8*, i8** %p.addr, align 8 + %tobool2 = icmp eq i8* %4, null + %5 = load i64, i64* %n.addr, align 8 + %tobool4 = icmp ne i64 %5, 0 + %or.cond1 = and i1 %tobool2, %tobool4 + br i1 %or.cond1, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end + call void @xalloc_die() #25 + unreachable + +if.end6: ; preds = %if.end + %6 = load i8*, i8** %p.addr, align 8 + store i8* %6, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end6, %if.then + %7 = load i8*, i8** %retval, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @quotearg_buffer_restyled(i8* %buffer, i64 %buffersize, i8* %arg, i64 %argsize, i32 %quoting_style, i32 %flags, i32* %quote_these_too, i8* %left_quote, i8* %right_quote) #3 { +entry: + %retval = alloca i64, align 8 + %buffer.addr = alloca i8*, align 8 + %buffersize.addr = alloca i64, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %quoting_style.addr = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %quote_these_too.addr = alloca i32*, align 8 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %i = alloca i64, align 8 + %len = alloca i64, align 8 + %orig_buffersize = alloca i64, align 8 + %quote_string = alloca i8*, align 8 + %quote_string_len = alloca i64, align 8 + %backslash_escapes = alloca i8, align 1 + %unibyte_locale = alloca i8, align 1 + %elide_outer_quotes = alloca i8, align 1 + %pending_shell_escape_end = alloca i8, align 1 + %encountered_single_quote = alloca i8, align 1 + %all_c_and_shell_quote_compat = alloca i8, align 1 + %c = alloca i8, align 1 + %esc = alloca i8, align 1 + %is_right_quote = alloca i8, align 1 + %escaping = alloca i8, align 1 + %c_and_shell_quote_compat = alloca i8, align 1 + %m = alloca i64, align 8 + %printable = alloca i8, align 1 + %mbstate = alloca %struct.__mbstate_t, align 4 + %w = alloca i32, align 4 + %bytes = alloca i64, align 8 + %j = alloca i64, align 8 + %ilim = alloca i64, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %buffersize, i64* %buffersize.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store i32 %quoting_style, i32* %quoting_style.addr, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store i32* %quote_these_too, i32** %quote_these_too.addr, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i64 0, i64* %len, align 8 + store i64 0, i64* %orig_buffersize, align 8 + store i8* null, i8** %quote_string, align 8 + store i64 0, i64* %quote_string_len, align 8 + store i8 0, i8* %backslash_escapes, align 1 + %call = call i64 @__ctype_get_mb_cur_max() #11 + %cmp = icmp eq i64 %call, 1 + %frombool = zext i1 %cmp to i8 + store i8 %frombool, i8* %unibyte_locale, align 1 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 2 + %cmp1 = icmp ne i32 %and, 0 + %frombool2 = zext i1 %cmp1 to i8 + store i8 %frombool2, i8* %elide_outer_quotes, align 1 + store i8 0, i8* %pending_shell_escape_end, align 1 + store i8 0, i8* %encountered_single_quote, align 1 + store i8 1, i8* %all_c_and_shell_quote_compat, align 1 + br label %process_input + +process_input: ; preds = %if.then701, %entry + %1 = load i32, i32* %quoting_style.addr, align 4 + br label %NodeBlock27 + +NodeBlock27: ; preds = %process_input + %case.cmp28 = icmp eq i32 %1, 6 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %1, 5 + br i1 %case.cmp26, label %sw.bb3, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %1, 7 + br i1 %case.cmp24, label %sw.bb7, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %1, 8 + br i1 %case.cmp22, label %sw.bb8, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %1, 9 + br i1 %case.cmp20, label %sw.bb8, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %1, 10 + br i1 %case.cmp18, label %sw.bb8, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %1, 3 + br i1 %case.cmp16, label %sw.bb26, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %1, 1 + br i1 %case.cmp14, label %sw.bb27, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %1, 4 + br i1 %case.cmp12, label %sw.bb28, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %1, 2 + br i1 %case.cmp10, label %sw.bb32, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock9 + %case.cmp = icmp eq i32 %1, 0 + br i1 %case.cmp, label %sw.bb43, label %newDefault + +sw.bb: ; preds = %NodeBlock27 + store i32 5, i32* %quoting_style.addr, align 4 + store i8 1, i8* %elide_outer_quotes, align 1 + br label %sw.bb3 + +sw.bb3: ; preds = %NodeBlock25, %sw.bb + %2 = load i8, i8* %elide_outer_quotes, align 1 + %tobool = trunc i8 %2 to i1 + br i1 %tobool, label %if.end6, label %do.body + +do.body: ; preds = %sw.bb3 + %3 = load i64, i64* %len, align 8 + %4 = load i64, i64* %buffersize.addr, align 8 + %cmp4 = icmp ult i64 %3, %4 + br i1 %cmp4, label %if.then5, label %if.end + +if.then5: ; preds = %do.body + %5 = load i8*, i8** %buffer.addr, align 8 + %6 = load i64, i64* %len, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 %6 + store i8 34, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then5, %do.body + %7 = load i64, i64* %len, align 8 + %inc = add i64 %7, 1 + store i64 %inc, i64* %len, align 8 + br label %if.end6 + +if.end6: ; preds = %if.end, %sw.bb3 + store i8 1, i8* %backslash_escapes, align 1 + store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10.79, i64 0, i64 0), i8** %quote_string, align 8 + store i64 1, i64* %quote_string_len, align 8 + br label %sw.epilog + +sw.bb7: ; preds = %NodeBlock23 + store i8 1, i8* %backslash_escapes, align 1 + store i8 0, i8* %elide_outer_quotes, align 1 + br label %sw.epilog + +sw.bb8: ; preds = %NodeBlock21, %NodeBlock19, %NodeBlock17 + %8 = load i32, i32* %quoting_style.addr, align 4 + %cmp9 = icmp ne i32 %8, 10 + br i1 %cmp9, label %if.then10, label %if.end13 + +if.then10: ; preds = %sw.bb8 + %9 = load i32, i32* %quoting_style.addr, align 4 + %call11 = call i8* @gettext_quote(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.11.80, i64 0, i64 0), i32 %9) + store i8* %call11, i8** %left_quote.addr, align 8 + %10 = load i32, i32* %quoting_style.addr, align 4 + %call12 = call i8* @gettext_quote(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.81, i64 0, i64 0), i32 %10) + store i8* %call12, i8** %right_quote.addr, align 8 + br label %if.end13 + +if.end13: ; preds = %if.then10, %sw.bb8 + %11 = load i8, i8* %elide_outer_quotes, align 1 + %tobool14 = trunc i8 %11 to i1 + br i1 %tobool14, label %if.end24, label %if.then15 + +if.then15: ; preds = %if.end13 + %12 = load i8*, i8** %left_quote.addr, align 8 + store i8* %12, i8** %quote_string, align 8 + br label %for.cond + +for.cond: ; preds = %if.end21, %if.then15 + %13 = load i8*, i8** %quote_string, align 8 + %14 = load i8, i8* %13, align 1 + %tobool16 = icmp ne i8 %14, 0 + br i1 %tobool16, label %do.body17, label %if.end24 + +do.body17: ; preds = %for.cond + %15 = load i64, i64* %len, align 8 + %16 = load i64, i64* %buffersize.addr, align 8 + %cmp18 = icmp ult i64 %15, %16 + br i1 %cmp18, label %if.then19, label %if.end21 + +if.then19: ; preds = %do.body17 + %17 = load i8*, i8** %quote_string, align 8 + %18 = load i8, i8* %17, align 1 + %19 = load i8*, i8** %buffer.addr, align 8 + %20 = load i64, i64* %len, align 8 + %arrayidx20 = getelementptr inbounds i8, i8* %19, i64 %20 + store i8 %18, i8* %arrayidx20, align 1 + br label %if.end21 + +if.end21: ; preds = %if.then19, %do.body17 + %21 = load i64, i64* %len, align 8 + %inc22 = add i64 %21, 1 + store i64 %inc22, i64* %len, align 8 + %22 = load i8*, i8** %quote_string, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %22, i32 1 + store i8* %incdec.ptr, i8** %quote_string, align 8 + br label %for.cond + +if.end24: ; preds = %for.cond, %if.end13 + store i8 1, i8* %backslash_escapes, align 1 + %23 = load i8*, i8** %right_quote.addr, align 8 + store i8* %23, i8** %quote_string, align 8 + %24 = load i8*, i8** %quote_string, align 8 + %call25 = call i64 @strlen(i8* %24) #24 + store i64 %call25, i64* %quote_string_len, align 8 + br label %sw.epilog + +sw.bb26: ; preds = %NodeBlock15 + store i8 1, i8* %backslash_escapes, align 1 + br label %sw.bb27 + +sw.bb27: ; preds = %NodeBlock13, %sw.bb26 + store i8 1, i8* %elide_outer_quotes, align 1 + br label %sw.bb28 + +sw.bb28: ; preds = %NodeBlock11, %sw.bb27 + %25 = load i8, i8* %elide_outer_quotes, align 1 + %tobool29 = trunc i8 %25 to i1 + br i1 %tobool29, label %sw.bb32, label %if.then30 + +if.then30: ; preds = %sw.bb28 + store i8 1, i8* %backslash_escapes, align 1 + br label %sw.bb32 + +sw.bb32: ; preds = %NodeBlock9, %sw.bb28, %if.then30 + store i32 2, i32* %quoting_style.addr, align 4 + %26 = load i8, i8* %elide_outer_quotes, align 1 + %tobool33 = trunc i8 %26 to i1 + br i1 %tobool33, label %if.end42, label %do.body35 + +do.body35: ; preds = %sw.bb32 + %27 = load i64, i64* %len, align 8 + %28 = load i64, i64* %buffersize.addr, align 8 + %cmp36 = icmp ult i64 %27, %28 + br i1 %cmp36, label %if.then37, label %if.end39 + +if.then37: ; preds = %do.body35 + %29 = load i8*, i8** %buffer.addr, align 8 + %30 = load i64, i64* %len, align 8 + %arrayidx38 = getelementptr inbounds i8, i8* %29, i64 %30 + store i8 39, i8* %arrayidx38, align 1 + br label %if.end39 + +if.end39: ; preds = %if.then37, %do.body35 + %31 = load i64, i64* %len, align 8 + %inc40 = add i64 %31, 1 + store i64 %inc40, i64* %len, align 8 + br label %if.end42 + +if.end42: ; preds = %if.end39, %sw.bb32 + store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.81, i64 0, i64 0), i8** %quote_string, align 8 + store i64 1, i64* %quote_string_len, align 8 + br label %sw.epilog + +sw.bb43: ; preds = %NodeBlock + store i8 0, i8* %elide_outer_quotes, align 1 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @abort() #27 + unreachable + +sw.epilog: ; preds = %sw.bb43, %if.end42, %if.end24, %sw.bb7, %if.end6 + store i64 0, i64* %i, align 8 + br label %for.cond44 + +for.cond44: ; preds = %for.inc673, %sw.epilog + %32 = load i64, i64* %argsize.addr, align 8 + %cmp45 = icmp eq i64 %32, -1 + br i1 %cmp45, label %cond.true, label %cond.false + +cond.true: ; preds = %for.cond44 + %33 = load i8*, i8** %arg.addr, align 8 + %34 = load i64, i64* %i, align 8 + %arrayidx46 = getelementptr inbounds i8, i8* %33, i64 %34 + %35 = load i8, i8* %arrayidx46, align 1 + %conv = sext i8 %35 to i32 + %cmp47 = icmp eq i32 %conv, 0 + %conv48 = zext i1 %cmp47 to i32 + br label %cond.end + +cond.false: ; preds = %for.cond44 + %36 = load i64, i64* %i, align 8 + %37 = load i64, i64* %argsize.addr, align 8 + %cmp49 = icmp eq i64 %36, %37 + %conv50 = zext i1 %cmp49 to i32 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ %conv48, %cond.true ], [ %conv50, %cond.false ] + %tobool51 = icmp ne i32 %cond, 0 + %lnot = xor i1 %tobool51, true + br i1 %lnot, label %for.body52, label %for.end675 + +for.body52: ; preds = %cond.end + store i8 0, i8* %is_right_quote, align 1 + store i8 0, i8* %escaping, align 1 + store i8 0, i8* %c_and_shell_quote_compat, align 1 + %38 = load i8, i8* %backslash_escapes, align 1 + %tobool53 = trunc i8 %38 to i1 + %39 = load i32, i32* %quoting_style.addr, align 4 + %cmp55 = icmp ne i32 %39, 2 + %or.cond = and i1 %tobool53, %cmp55 + %40 = load i64, i64* %quote_string_len, align 8 + %tobool58 = icmp ne i64 %40, 0 + %or.cond1 = and i1 %or.cond, %tobool58 + br i1 %or.cond1, label %land.lhs.true59, label %if.end80 + +land.lhs.true59: ; preds = %for.body52 + %41 = load i64, i64* %i, align 8 + %42 = load i64, i64* %quote_string_len, align 8 + %add = add i64 %41, %42 + %43 = load i64, i64* %argsize.addr, align 8 + %cmp60 = icmp eq i64 %43, -1 + %44 = load i64, i64* %quote_string_len, align 8 + %cmp63 = icmp ult i64 1, %44 + %or.cond2 = and i1 %cmp60, %cmp63 + br i1 %or.cond2, label %cond.true65, label %cond.false67 + +cond.true65: ; preds = %land.lhs.true59 + %45 = load i8*, i8** %arg.addr, align 8 + %call66 = call i64 @strlen(i8* %45) #24 + store i64 %call66, i64* %argsize.addr, align 8 + br label %cond.end68 + +cond.false67: ; preds = %land.lhs.true59 + %46 = load i64, i64* %argsize.addr, align 8 + br label %cond.end68 + +cond.end68: ; preds = %cond.false67, %cond.true65 + %cond69 = phi i64 [ %call66, %cond.true65 ], [ %46, %cond.false67 ] + %cmp70 = icmp ule i64 %add, %cond69 + br i1 %cmp70, label %land.lhs.true72, label %if.end80 + +land.lhs.true72: ; preds = %cond.end68 + %47 = load i8*, i8** %arg.addr, align 8 + %48 = load i64, i64* %i, align 8 + %add.ptr = getelementptr inbounds i8, i8* %47, i64 %48 + %49 = load i8*, i8** %quote_string, align 8 + %50 = load i64, i64* %quote_string_len, align 8 + %call73 = call i32 @memcmp(i8* %add.ptr, i8* %49, i64 %50) #24 + %cmp74 = icmp eq i32 %call73, 0 + br i1 %cmp74, label %if.then76, label %if.end80 + +if.then76: ; preds = %land.lhs.true72 + %51 = load i8, i8* %elide_outer_quotes, align 1 + %tobool77 = trunc i8 %51 to i1 + br i1 %tobool77, label %force_outer_quoting_style, label %if.end79 + +if.end79: ; preds = %if.then76 + store i8 1, i8* %is_right_quote, align 1 + br label %if.end80 + +if.end80: ; preds = %if.end79, %land.lhs.true72, %cond.end68, %for.body52 + %52 = load i8*, i8** %arg.addr, align 8 + %53 = load i64, i64* %i, align 8 + %arrayidx81 = getelementptr inbounds i8, i8* %52, i64 %53 + %54 = load i8, i8* %arrayidx81, align 1 + store i8 %54, i8* %c, align 1 + %55 = load i8, i8* %c, align 1 + %conv82 = zext i8 %55 to i32 + br label %NodeBlock232 + +NodeBlock232: ; preds = %if.end80 + %case.cmp233 = icmp eq i32 %conv82, 0 + br i1 %case.cmp233, label %sw.bb83, label %NodeBlock230 + +NodeBlock230: ; preds = %NodeBlock232 + %case.cmp231 = icmp eq i32 %conv82, 63 + br i1 %case.cmp231, label %sw.bb170, label %NodeBlock228 + +NodeBlock228: ; preds = %NodeBlock230 + %case.cmp229 = icmp eq i32 %conv82, 7 + br i1 %case.cmp229, label %sw.bb236, label %NodeBlock226 + +NodeBlock226: ; preds = %NodeBlock228 + %case.cmp227 = icmp eq i32 %conv82, 8 + br i1 %case.cmp227, label %sw.bb237, label %NodeBlock224 + +NodeBlock224: ; preds = %NodeBlock226 + %case.cmp225 = icmp eq i32 %conv82, 12 + br i1 %case.cmp225, label %sw.bb238, label %NodeBlock222 + +NodeBlock222: ; preds = %NodeBlock224 + %case.cmp223 = icmp eq i32 %conv82, 10 + br i1 %case.cmp223, label %sw.bb239, label %NodeBlock220 + +NodeBlock220: ; preds = %NodeBlock222 + %case.cmp221 = icmp eq i32 %conv82, 13 + br i1 %case.cmp221, label %sw.bb240, label %NodeBlock218 + +NodeBlock218: ; preds = %NodeBlock220 + %case.cmp219 = icmp eq i32 %conv82, 9 + br i1 %case.cmp219, label %sw.bb241, label %NodeBlock216 + +NodeBlock216: ; preds = %NodeBlock218 + %case.cmp217 = icmp eq i32 %conv82, 11 + br i1 %case.cmp217, label %sw.bb242, label %NodeBlock214 + +NodeBlock214: ; preds = %NodeBlock216 + %case.cmp215 = icmp eq i32 %conv82, 92 + br i1 %case.cmp215, label %sw.bb243, label %NodeBlock212 + +NodeBlock212: ; preds = %NodeBlock214 + %case.cmp213 = icmp eq i32 %conv82, 123 + br i1 %case.cmp213, label %sw.bb270, label %NodeBlock210 + +NodeBlock210: ; preds = %NodeBlock212 + %case.cmp211 = icmp eq i32 %conv82, 125 + br i1 %case.cmp211, label %sw.bb270, label %NodeBlock208 + +NodeBlock208: ; preds = %NodeBlock210 + %case.cmp209 = icmp eq i32 %conv82, 35 + br i1 %case.cmp209, label %sw.bb283, label %NodeBlock206 + +NodeBlock206: ; preds = %NodeBlock208 + %case.cmp207 = icmp eq i32 %conv82, 126 + br i1 %case.cmp207, label %sw.bb283, label %NodeBlock204 + +NodeBlock204: ; preds = %NodeBlock206 + %case.cmp205 = icmp eq i32 %conv82, 32 + br i1 %case.cmp205, label %sw.bb288, label %NodeBlock202 + +NodeBlock202: ; preds = %NodeBlock204 + %case.cmp203 = icmp eq i32 %conv82, 33 + br i1 %case.cmp203, label %sw.bb289, label %NodeBlock200 + +NodeBlock200: ; preds = %NodeBlock202 + %case.cmp201 = icmp eq i32 %conv82, 34 + br i1 %case.cmp201, label %sw.bb289, label %NodeBlock198 + +NodeBlock198: ; preds = %NodeBlock200 + %case.cmp199 = icmp eq i32 %conv82, 36 + br i1 %case.cmp199, label %sw.bb289, label %NodeBlock196 + +NodeBlock196: ; preds = %NodeBlock198 + %case.cmp197 = icmp eq i32 %conv82, 38 + br i1 %case.cmp197, label %sw.bb289, label %NodeBlock194 + +NodeBlock194: ; preds = %NodeBlock196 + %case.cmp195 = icmp eq i32 %conv82, 40 + br i1 %case.cmp195, label %sw.bb289, label %NodeBlock192 + +NodeBlock192: ; preds = %NodeBlock194 + %case.cmp193 = icmp eq i32 %conv82, 41 + br i1 %case.cmp193, label %sw.bb289, label %NodeBlock190 + +NodeBlock190: ; preds = %NodeBlock192 + %case.cmp191 = icmp eq i32 %conv82, 42 + br i1 %case.cmp191, label %sw.bb289, label %NodeBlock188 + +NodeBlock188: ; preds = %NodeBlock190 + %case.cmp189 = icmp eq i32 %conv82, 59 + br i1 %case.cmp189, label %sw.bb289, label %NodeBlock186 + +NodeBlock186: ; preds = %NodeBlock188 + %case.cmp187 = icmp eq i32 %conv82, 60 + br i1 %case.cmp187, label %sw.bb289, label %NodeBlock184 + +NodeBlock184: ; preds = %NodeBlock186 + %case.cmp185 = icmp eq i32 %conv82, 61 + br i1 %case.cmp185, label %sw.bb289, label %NodeBlock182 + +NodeBlock182: ; preds = %NodeBlock184 + %case.cmp183 = icmp eq i32 %conv82, 62 + br i1 %case.cmp183, label %sw.bb289, label %NodeBlock180 + +NodeBlock180: ; preds = %NodeBlock182 + %case.cmp181 = icmp eq i32 %conv82, 91 + br i1 %case.cmp181, label %sw.bb289, label %NodeBlock178 + +NodeBlock178: ; preds = %NodeBlock180 + %case.cmp179 = icmp eq i32 %conv82, 94 + br i1 %case.cmp179, label %sw.bb289, label %NodeBlock176 + +NodeBlock176: ; preds = %NodeBlock178 + %case.cmp177 = icmp eq i32 %conv82, 96 + br i1 %case.cmp177, label %sw.bb289, label %NodeBlock174 + +NodeBlock174: ; preds = %NodeBlock176 + %case.cmp175 = icmp eq i32 %conv82, 124 + br i1 %case.cmp175, label %sw.bb289, label %NodeBlock172 + +NodeBlock172: ; preds = %NodeBlock174 + %case.cmp173 = icmp eq i32 %conv82, 39 + br i1 %case.cmp173, label %sw.bb297, label %NodeBlock170 + +NodeBlock170: ; preds = %NodeBlock172 + %case.cmp171 = icmp eq i32 %conv82, 37 + br i1 %case.cmp171, label %sw.bb334, label %NodeBlock168 + +NodeBlock168: ; preds = %NodeBlock170 + %case.cmp169 = icmp eq i32 %conv82, 43 + br i1 %case.cmp169, label %sw.bb334, label %NodeBlock166 + +NodeBlock166: ; preds = %NodeBlock168 + %case.cmp167 = icmp eq i32 %conv82, 44 + br i1 %case.cmp167, label %sw.bb334, label %NodeBlock164 + +NodeBlock164: ; preds = %NodeBlock166 + %case.cmp165 = icmp eq i32 %conv82, 45 + br i1 %case.cmp165, label %sw.bb334, label %NodeBlock162 + +NodeBlock162: ; preds = %NodeBlock164 + %case.cmp163 = icmp eq i32 %conv82, 46 + br i1 %case.cmp163, label %sw.bb334, label %NodeBlock160 + +NodeBlock160: ; preds = %NodeBlock162 + %case.cmp161 = icmp eq i32 %conv82, 47 + br i1 %case.cmp161, label %sw.bb334, label %NodeBlock158 + +NodeBlock158: ; preds = %NodeBlock160 + %case.cmp159 = icmp eq i32 %conv82, 48 + br i1 %case.cmp159, label %sw.bb334, label %NodeBlock156 + +NodeBlock156: ; preds = %NodeBlock158 + %case.cmp157 = icmp eq i32 %conv82, 49 + br i1 %case.cmp157, label %sw.bb334, label %NodeBlock154 + +NodeBlock154: ; preds = %NodeBlock156 + %case.cmp155 = icmp eq i32 %conv82, 50 + br i1 %case.cmp155, label %sw.bb334, label %NodeBlock152 + +NodeBlock152: ; preds = %NodeBlock154 + %case.cmp153 = icmp eq i32 %conv82, 51 + br i1 %case.cmp153, label %sw.bb334, label %NodeBlock150 + +NodeBlock150: ; preds = %NodeBlock152 + %case.cmp151 = icmp eq i32 %conv82, 52 + br i1 %case.cmp151, label %sw.bb334, label %NodeBlock148 + +NodeBlock148: ; preds = %NodeBlock150 + %case.cmp149 = icmp eq i32 %conv82, 53 + br i1 %case.cmp149, label %sw.bb334, label %NodeBlock146 + +NodeBlock146: ; preds = %NodeBlock148 + %case.cmp147 = icmp eq i32 %conv82, 54 + br i1 %case.cmp147, label %sw.bb334, label %NodeBlock144 + +NodeBlock144: ; preds = %NodeBlock146 + %case.cmp145 = icmp eq i32 %conv82, 55 + br i1 %case.cmp145, label %sw.bb334, label %NodeBlock142 + +NodeBlock142: ; preds = %NodeBlock144 + %case.cmp143 = icmp eq i32 %conv82, 56 + br i1 %case.cmp143, label %sw.bb334, label %NodeBlock140 + +NodeBlock140: ; preds = %NodeBlock142 + %case.cmp141 = icmp eq i32 %conv82, 57 + br i1 %case.cmp141, label %sw.bb334, label %NodeBlock138 + +NodeBlock138: ; preds = %NodeBlock140 + %case.cmp139 = icmp eq i32 %conv82, 58 + br i1 %case.cmp139, label %sw.bb334, label %NodeBlock136 + +NodeBlock136: ; preds = %NodeBlock138 + %case.cmp137 = icmp eq i32 %conv82, 65 + br i1 %case.cmp137, label %sw.bb334, label %NodeBlock134 + +NodeBlock134: ; preds = %NodeBlock136 + %case.cmp135 = icmp eq i32 %conv82, 66 + br i1 %case.cmp135, label %sw.bb334, label %NodeBlock132 + +NodeBlock132: ; preds = %NodeBlock134 + %case.cmp133 = icmp eq i32 %conv82, 67 + br i1 %case.cmp133, label %sw.bb334, label %NodeBlock130 + +NodeBlock130: ; preds = %NodeBlock132 + %case.cmp131 = icmp eq i32 %conv82, 68 + br i1 %case.cmp131, label %sw.bb334, label %NodeBlock128 + +NodeBlock128: ; preds = %NodeBlock130 + %case.cmp129 = icmp eq i32 %conv82, 69 + br i1 %case.cmp129, label %sw.bb334, label %NodeBlock126 + +NodeBlock126: ; preds = %NodeBlock128 + %case.cmp127 = icmp eq i32 %conv82, 70 + br i1 %case.cmp127, label %sw.bb334, label %NodeBlock124 + +NodeBlock124: ; preds = %NodeBlock126 + %case.cmp125 = icmp eq i32 %conv82, 71 + br i1 %case.cmp125, label %sw.bb334, label %NodeBlock122 + +NodeBlock122: ; preds = %NodeBlock124 + %case.cmp123 = icmp eq i32 %conv82, 72 + br i1 %case.cmp123, label %sw.bb334, label %NodeBlock120 + +NodeBlock120: ; preds = %NodeBlock122 + %case.cmp121 = icmp eq i32 %conv82, 73 + br i1 %case.cmp121, label %sw.bb334, label %NodeBlock118 + +NodeBlock118: ; preds = %NodeBlock120 + %case.cmp119 = icmp eq i32 %conv82, 74 + br i1 %case.cmp119, label %sw.bb334, label %NodeBlock116 + +NodeBlock116: ; preds = %NodeBlock118 + %case.cmp117 = icmp eq i32 %conv82, 75 + br i1 %case.cmp117, label %sw.bb334, label %NodeBlock114 + +NodeBlock114: ; preds = %NodeBlock116 + %case.cmp115 = icmp eq i32 %conv82, 76 + br i1 %case.cmp115, label %sw.bb334, label %NodeBlock112 + +NodeBlock112: ; preds = %NodeBlock114 + %case.cmp113 = icmp eq i32 %conv82, 77 + br i1 %case.cmp113, label %sw.bb334, label %NodeBlock110 + +NodeBlock110: ; preds = %NodeBlock112 + %case.cmp111 = icmp eq i32 %conv82, 78 + br i1 %case.cmp111, label %sw.bb334, label %NodeBlock108 + +NodeBlock108: ; preds = %NodeBlock110 + %case.cmp109 = icmp eq i32 %conv82, 79 + br i1 %case.cmp109, label %sw.bb334, label %NodeBlock106 + +NodeBlock106: ; preds = %NodeBlock108 + %case.cmp107 = icmp eq i32 %conv82, 80 + br i1 %case.cmp107, label %sw.bb334, label %NodeBlock104 + +NodeBlock104: ; preds = %NodeBlock106 + %case.cmp105 = icmp eq i32 %conv82, 81 + br i1 %case.cmp105, label %sw.bb334, label %NodeBlock102 + +NodeBlock102: ; preds = %NodeBlock104 + %case.cmp103 = icmp eq i32 %conv82, 82 + br i1 %case.cmp103, label %sw.bb334, label %NodeBlock100 + +NodeBlock100: ; preds = %NodeBlock102 + %case.cmp101 = icmp eq i32 %conv82, 83 + br i1 %case.cmp101, label %sw.bb334, label %NodeBlock98 + +NodeBlock98: ; preds = %NodeBlock100 + %case.cmp99 = icmp eq i32 %conv82, 84 + br i1 %case.cmp99, label %sw.bb334, label %NodeBlock96 + +NodeBlock96: ; preds = %NodeBlock98 + %case.cmp97 = icmp eq i32 %conv82, 85 + br i1 %case.cmp97, label %sw.bb334, label %NodeBlock94 + +NodeBlock94: ; preds = %NodeBlock96 + %case.cmp95 = icmp eq i32 %conv82, 86 + br i1 %case.cmp95, label %sw.bb334, label %NodeBlock92 + +NodeBlock92: ; preds = %NodeBlock94 + %case.cmp93 = icmp eq i32 %conv82, 87 + br i1 %case.cmp93, label %sw.bb334, label %NodeBlock90 + +NodeBlock90: ; preds = %NodeBlock92 + %case.cmp91 = icmp eq i32 %conv82, 88 + br i1 %case.cmp91, label %sw.bb334, label %NodeBlock88 + +NodeBlock88: ; preds = %NodeBlock90 + %case.cmp89 = icmp eq i32 %conv82, 89 + br i1 %case.cmp89, label %sw.bb334, label %NodeBlock86 + +NodeBlock86: ; preds = %NodeBlock88 + %case.cmp87 = icmp eq i32 %conv82, 90 + br i1 %case.cmp87, label %sw.bb334, label %NodeBlock84 + +NodeBlock84: ; preds = %NodeBlock86 + %case.cmp85 = icmp eq i32 %conv82, 93 + br i1 %case.cmp85, label %sw.bb334, label %NodeBlock82 + +NodeBlock82: ; preds = %NodeBlock84 + %case.cmp83 = icmp eq i32 %conv82, 95 + br i1 %case.cmp83, label %sw.bb334, label %NodeBlock80 + +NodeBlock80: ; preds = %NodeBlock82 + %case.cmp81 = icmp eq i32 %conv82, 97 + br i1 %case.cmp81, label %sw.bb334, label %NodeBlock78 + +NodeBlock78: ; preds = %NodeBlock80 + %case.cmp79 = icmp eq i32 %conv82, 98 + br i1 %case.cmp79, label %sw.bb334, label %NodeBlock76 + +NodeBlock76: ; preds = %NodeBlock78 + %case.cmp77 = icmp eq i32 %conv82, 99 + br i1 %case.cmp77, label %sw.bb334, label %NodeBlock74 + +NodeBlock74: ; preds = %NodeBlock76 + %case.cmp75 = icmp eq i32 %conv82, 100 + br i1 %case.cmp75, label %sw.bb334, label %NodeBlock72 + +NodeBlock72: ; preds = %NodeBlock74 + %case.cmp73 = icmp eq i32 %conv82, 101 + br i1 %case.cmp73, label %sw.bb334, label %NodeBlock70 + +NodeBlock70: ; preds = %NodeBlock72 + %case.cmp71 = icmp eq i32 %conv82, 102 + br i1 %case.cmp71, label %sw.bb334, label %NodeBlock68 + +NodeBlock68: ; preds = %NodeBlock70 + %case.cmp69 = icmp eq i32 %conv82, 103 + br i1 %case.cmp69, label %sw.bb334, label %NodeBlock66 + +NodeBlock66: ; preds = %NodeBlock68 + %case.cmp67 = icmp eq i32 %conv82, 104 + br i1 %case.cmp67, label %sw.bb334, label %NodeBlock64 + +NodeBlock64: ; preds = %NodeBlock66 + %case.cmp65 = icmp eq i32 %conv82, 105 + br i1 %case.cmp65, label %sw.bb334, label %NodeBlock62 + +NodeBlock62: ; preds = %NodeBlock64 + %case.cmp63 = icmp eq i32 %conv82, 106 + br i1 %case.cmp63, label %sw.bb334, label %NodeBlock60 + +NodeBlock60: ; preds = %NodeBlock62 + %case.cmp61 = icmp eq i32 %conv82, 107 + br i1 %case.cmp61, label %sw.bb334, label %NodeBlock58 + +NodeBlock58: ; preds = %NodeBlock60 + %case.cmp59 = icmp eq i32 %conv82, 108 + br i1 %case.cmp59, label %sw.bb334, label %NodeBlock56 + +NodeBlock56: ; preds = %NodeBlock58 + %case.cmp57 = icmp eq i32 %conv82, 109 + br i1 %case.cmp57, label %sw.bb334, label %NodeBlock54 + +NodeBlock54: ; preds = %NodeBlock56 + %case.cmp55 = icmp eq i32 %conv82, 110 + br i1 %case.cmp55, label %sw.bb334, label %NodeBlock52 + +NodeBlock52: ; preds = %NodeBlock54 + %case.cmp53 = icmp eq i32 %conv82, 111 + br i1 %case.cmp53, label %sw.bb334, label %NodeBlock50 + +NodeBlock50: ; preds = %NodeBlock52 + %case.cmp51 = icmp eq i32 %conv82, 112 + br i1 %case.cmp51, label %sw.bb334, label %NodeBlock48 + +NodeBlock48: ; preds = %NodeBlock50 + %case.cmp49 = icmp eq i32 %conv82, 113 + br i1 %case.cmp49, label %sw.bb334, label %NodeBlock46 + +NodeBlock46: ; preds = %NodeBlock48 + %case.cmp47 = icmp eq i32 %conv82, 114 + br i1 %case.cmp47, label %sw.bb334, label %NodeBlock44 + +NodeBlock44: ; preds = %NodeBlock46 + %case.cmp45 = icmp eq i32 %conv82, 115 + br i1 %case.cmp45, label %sw.bb334, label %NodeBlock42 + +NodeBlock42: ; preds = %NodeBlock44 + %case.cmp43 = icmp eq i32 %conv82, 116 + br i1 %case.cmp43, label %sw.bb334, label %NodeBlock40 + +NodeBlock40: ; preds = %NodeBlock42 + %case.cmp41 = icmp eq i32 %conv82, 117 + br i1 %case.cmp41, label %sw.bb334, label %NodeBlock38 + +NodeBlock38: ; preds = %NodeBlock40 + %case.cmp39 = icmp eq i32 %conv82, 118 + br i1 %case.cmp39, label %sw.bb334, label %NodeBlock36 + +NodeBlock36: ; preds = %NodeBlock38 + %case.cmp37 = icmp eq i32 %conv82, 119 + br i1 %case.cmp37, label %sw.bb334, label %NodeBlock34 + +NodeBlock34: ; preds = %NodeBlock36 + %case.cmp35 = icmp eq i32 %conv82, 120 + br i1 %case.cmp35, label %sw.bb334, label %NodeBlock32 + +NodeBlock32: ; preds = %NodeBlock34 + %case.cmp33 = icmp eq i32 %conv82, 121 + br i1 %case.cmp33, label %sw.bb334, label %NodeBlock30 + +NodeBlock30: ; preds = %NodeBlock32 + %case.cmp31 = icmp eq i32 %conv82, 122 + br i1 %case.cmp31, label %sw.bb334, label %newDefault29 + +sw.bb83: ; preds = %NodeBlock232 + %56 = load i8, i8* %backslash_escapes, align 1 + %tobool84 = trunc i8 %56 to i1 + br i1 %tobool84, label %do.body86, label %if.else + +do.body86: ; preds = %sw.bb83 + %57 = load i8, i8* %elide_outer_quotes, align 1 + %tobool87 = trunc i8 %57 to i1 + br i1 %tobool87, label %force_outer_quoting_style, label %if.end89 + +if.end89: ; preds = %do.body86 + store i8 1, i8* %escaping, align 1 + %58 = load i32, i32* %quoting_style.addr, align 4 + %cmp90 = icmp eq i32 %58, 2 + br i1 %cmp90, label %land.lhs.true92, label %do.body120 + +land.lhs.true92: ; preds = %if.end89 + %59 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool93 = trunc i8 %59 to i1 + br i1 %tobool93, label %do.body120, label %do.body95 + +do.body95: ; preds = %land.lhs.true92 + %60 = load i64, i64* %len, align 8 + %61 = load i64, i64* %buffersize.addr, align 8 + %cmp96 = icmp ult i64 %60, %61 + br i1 %cmp96, label %if.then98, label %if.end100 + +if.then98: ; preds = %do.body95 + %62 = load i8*, i8** %buffer.addr, align 8 + %63 = load i64, i64* %len, align 8 + %arrayidx99 = getelementptr inbounds i8, i8* %62, i64 %63 + store i8 39, i8* %arrayidx99, align 1 + br label %if.end100 + +if.end100: ; preds = %if.then98, %do.body95 + %64 = load i64, i64* %len, align 8 + %inc101 = add i64 %64, 1 + store i64 %inc101, i64* %len, align 8 + %65 = load i64, i64* %len, align 8 + %66 = load i64, i64* %buffersize.addr, align 8 + %cmp104 = icmp ult i64 %65, %66 + br i1 %cmp104, label %if.then106, label %if.end108 + +if.then106: ; preds = %if.end100 + %67 = load i8*, i8** %buffer.addr, align 8 + %68 = load i64, i64* %len, align 8 + %arrayidx107 = getelementptr inbounds i8, i8* %67, i64 %68 + store i8 36, i8* %arrayidx107, align 1 + br label %if.end108 + +if.end108: ; preds = %if.then106, %if.end100 + %69 = load i64, i64* %len, align 8 + %inc109 = add i64 %69, 1 + store i64 %inc109, i64* %len, align 8 + %70 = load i64, i64* %len, align 8 + %71 = load i64, i64* %buffersize.addr, align 8 + %cmp112 = icmp ult i64 %70, %71 + br i1 %cmp112, label %if.then114, label %if.end116 + +if.then114: ; preds = %if.end108 + %72 = load i8*, i8** %buffer.addr, align 8 + %73 = load i64, i64* %len, align 8 + %arrayidx115 = getelementptr inbounds i8, i8* %72, i64 %73 + store i8 39, i8* %arrayidx115, align 1 + br label %if.end116 + +if.end116: ; preds = %if.then114, %if.end108 + %74 = load i64, i64* %len, align 8 + %inc117 = add i64 %74, 1 + store i64 %inc117, i64* %len, align 8 + store i8 1, i8* %pending_shell_escape_end, align 1 + br label %do.body120 + +do.body120: ; preds = %if.end89, %land.lhs.true92, %if.end116 + %75 = load i64, i64* %len, align 8 + %76 = load i64, i64* %buffersize.addr, align 8 + %cmp121 = icmp ult i64 %75, %76 + br i1 %cmp121, label %if.then123, label %if.end125 + +if.then123: ; preds = %do.body120 + %77 = load i8*, i8** %buffer.addr, align 8 + %78 = load i64, i64* %len, align 8 + %arrayidx124 = getelementptr inbounds i8, i8* %77, i64 %78 + store i8 92, i8* %arrayidx124, align 1 + br label %if.end125 + +if.end125: ; preds = %if.then123, %do.body120 + %79 = load i64, i64* %len, align 8 + %inc126 = add i64 %79, 1 + store i64 %inc126, i64* %len, align 8 + %80 = load i32, i32* %quoting_style.addr, align 4 + %cmp129 = icmp ne i32 %80, 2 + br i1 %cmp129, label %land.lhs.true131, label %if.end164 + +land.lhs.true131: ; preds = %if.end125 + %81 = load i64, i64* %i, align 8 + %add132 = add i64 %81, 1 + %82 = load i64, i64* %argsize.addr, align 8 + %cmp133 = icmp ult i64 %add132, %82 + br i1 %cmp133, label %land.lhs.true135, label %if.end164 + +land.lhs.true135: ; preds = %land.lhs.true131 + %83 = load i8*, i8** %arg.addr, align 8 + %84 = load i64, i64* %i, align 8 + %add136 = add i64 %84, 1 + %arrayidx137 = getelementptr inbounds i8, i8* %83, i64 %add136 + %85 = load i8, i8* %arrayidx137, align 1 + %conv138 = sext i8 %85 to i32 + %cmp139 = icmp sle i32 48, %conv138 + br i1 %cmp139, label %land.lhs.true141, label %if.end164 + +land.lhs.true141: ; preds = %land.lhs.true135 + %86 = load i8*, i8** %arg.addr, align 8 + %87 = load i64, i64* %i, align 8 + %add142 = add i64 %87, 1 + %arrayidx143 = getelementptr inbounds i8, i8* %86, i64 %add142 + %88 = load i8, i8* %arrayidx143, align 1 + %conv144 = sext i8 %88 to i32 + %cmp145 = icmp sle i32 %conv144, 57 + br i1 %cmp145, label %do.body148, label %if.end164 + +do.body148: ; preds = %land.lhs.true141 + %89 = load i64, i64* %len, align 8 + %90 = load i64, i64* %buffersize.addr, align 8 + %cmp149 = icmp ult i64 %89, %90 + br i1 %cmp149, label %if.then151, label %if.end153 + +if.then151: ; preds = %do.body148 + %91 = load i8*, i8** %buffer.addr, align 8 + %92 = load i64, i64* %len, align 8 + %arrayidx152 = getelementptr inbounds i8, i8* %91, i64 %92 + store i8 48, i8* %arrayidx152, align 1 + br label %if.end153 + +if.end153: ; preds = %if.then151, %do.body148 + %93 = load i64, i64* %len, align 8 + %inc154 = add i64 %93, 1 + store i64 %inc154, i64* %len, align 8 + %94 = load i64, i64* %len, align 8 + %95 = load i64, i64* %buffersize.addr, align 8 + %cmp157 = icmp ult i64 %94, %95 + br i1 %cmp157, label %if.then159, label %if.end161 + +if.then159: ; preds = %if.end153 + %96 = load i8*, i8** %buffer.addr, align 8 + %97 = load i64, i64* %len, align 8 + %arrayidx160 = getelementptr inbounds i8, i8* %96, i64 %97 + store i8 48, i8* %arrayidx160, align 1 + br label %if.end161 + +if.end161: ; preds = %if.then159, %if.end153 + %98 = load i64, i64* %len, align 8 + %inc162 = add i64 %98, 1 + store i64 %inc162, i64* %len, align 8 + br label %if.end164 + +if.end164: ; preds = %if.end161, %land.lhs.true141, %land.lhs.true135, %land.lhs.true131, %if.end125 + store i8 48, i8* %c, align 1 + br label %sw.epilog564 + +if.else: ; preds = %sw.bb83 + %99 = load i32, i32* %flags.addr, align 4 + %and165 = and i32 %99, 1 + %tobool166 = icmp ne i32 %and165, 0 + br i1 %tobool166, label %for.inc673, label %sw.epilog564 + +sw.bb170: ; preds = %NodeBlock230 + %100 = load i32, i32* %quoting_style.addr, align 4 + br label %NodeBlock237 + +NodeBlock237: ; preds = %sw.bb170 + %case.cmp238 = icmp eq i32 %100, 2 + br i1 %case.cmp238, label %sw.bb171, label %NodeBlock235 + +NodeBlock235: ; preds = %NodeBlock237 + %case.cmp236 = icmp eq i32 %100, 5 + br i1 %case.cmp236, label %sw.bb175, label %newDefault234 + +sw.bb171: ; preds = %NodeBlock237 + %101 = load i8, i8* %elide_outer_quotes, align 1 + %tobool172 = trunc i8 %101 to i1 + br i1 %tobool172, label %force_outer_quoting_style, label %sw.epilog564 + +sw.bb175: ; preds = %NodeBlock235 + %102 = load i32, i32* %flags.addr, align 4 + %and176 = and i32 %102, 4 + %tobool177 = icmp ne i32 %and176, 0 + br i1 %tobool177, label %land.lhs.true178, label %sw.epilog564 + +land.lhs.true178: ; preds = %sw.bb175 + %103 = load i64, i64* %i, align 8 + %add179 = add i64 %103, 2 + %104 = load i64, i64* %argsize.addr, align 8 + %cmp180 = icmp ult i64 %add179, %104 + br i1 %cmp180, label %land.lhs.true182, label %sw.epilog564 + +land.lhs.true182: ; preds = %land.lhs.true178 + %105 = load i8*, i8** %arg.addr, align 8 + %106 = load i64, i64* %i, align 8 + %add183 = add i64 %106, 1 + %arrayidx184 = getelementptr inbounds i8, i8* %105, i64 %add183 + %107 = load i8, i8* %arrayidx184, align 1 + %conv185 = sext i8 %107 to i32 + %cmp186 = icmp eq i32 %conv185, 63 + br i1 %cmp186, label %if.then188, label %sw.epilog564 + +if.then188: ; preds = %land.lhs.true182 + %108 = load i8*, i8** %arg.addr, align 8 + %109 = load i64, i64* %i, align 8 + %add189 = add i64 %109, 2 + %arrayidx190 = getelementptr inbounds i8, i8* %108, i64 %add189 + %110 = load i8, i8* %arrayidx190, align 1 + %conv191 = sext i8 %110 to i32 + br label %NodeBlock256 + +NodeBlock256: ; preds = %if.then188 + %case.cmp257 = icmp eq i32 %conv191, 33 + br i1 %case.cmp257, label %sw.bb192, label %NodeBlock254 + +NodeBlock254: ; preds = %NodeBlock256 + %case.cmp255 = icmp eq i32 %conv191, 39 + br i1 %case.cmp255, label %sw.bb192, label %NodeBlock252 + +NodeBlock252: ; preds = %NodeBlock254 + %case.cmp253 = icmp eq i32 %conv191, 40 + br i1 %case.cmp253, label %sw.bb192, label %NodeBlock250 + +NodeBlock250: ; preds = %NodeBlock252 + %case.cmp251 = icmp eq i32 %conv191, 41 + br i1 %case.cmp251, label %sw.bb192, label %NodeBlock248 + +NodeBlock248: ; preds = %NodeBlock250 + %case.cmp249 = icmp eq i32 %conv191, 45 + br i1 %case.cmp249, label %sw.bb192, label %NodeBlock246 + +NodeBlock246: ; preds = %NodeBlock248 + %case.cmp247 = icmp eq i32 %conv191, 47 + br i1 %case.cmp247, label %sw.bb192, label %NodeBlock244 + +NodeBlock244: ; preds = %NodeBlock246 + %case.cmp245 = icmp eq i32 %conv191, 60 + br i1 %case.cmp245, label %sw.bb192, label %NodeBlock242 + +NodeBlock242: ; preds = %NodeBlock244 + %case.cmp243 = icmp eq i32 %conv191, 61 + br i1 %case.cmp243, label %sw.bb192, label %NodeBlock240 + +NodeBlock240: ; preds = %NodeBlock242 + %case.cmp241 = icmp eq i32 %conv191, 62 + br i1 %case.cmp241, label %sw.bb192, label %newDefault239 + +sw.bb192: ; preds = %NodeBlock256, %NodeBlock254, %NodeBlock252, %NodeBlock250, %NodeBlock248, %NodeBlock246, %NodeBlock244, %NodeBlock242, %NodeBlock240 + %111 = load i8, i8* %elide_outer_quotes, align 1 + %tobool193 = trunc i8 %111 to i1 + br i1 %tobool193, label %force_outer_quoting_style, label %if.end195 + +if.end195: ; preds = %sw.bb192 + %112 = load i8*, i8** %arg.addr, align 8 + %113 = load i64, i64* %i, align 8 + %add196 = add i64 %113, 2 + %arrayidx197 = getelementptr inbounds i8, i8* %112, i64 %add196 + %114 = load i8, i8* %arrayidx197, align 1 + store i8 %114, i8* %c, align 1 + %115 = load i64, i64* %i, align 8 + %add198 = add i64 %115, 2 + store i64 %add198, i64* %i, align 8 + %116 = load i64, i64* %len, align 8 + %117 = load i64, i64* %buffersize.addr, align 8 + %cmp200 = icmp ult i64 %116, %117 + br i1 %cmp200, label %if.then202, label %if.end204 + +if.then202: ; preds = %if.end195 + %118 = load i8*, i8** %buffer.addr, align 8 + %119 = load i64, i64* %len, align 8 + %arrayidx203 = getelementptr inbounds i8, i8* %118, i64 %119 + store i8 63, i8* %arrayidx203, align 1 + br label %if.end204 + +if.end204: ; preds = %if.then202, %if.end195 + %120 = load i64, i64* %len, align 8 + %inc205 = add i64 %120, 1 + store i64 %inc205, i64* %len, align 8 + %121 = load i64, i64* %len, align 8 + %122 = load i64, i64* %buffersize.addr, align 8 + %cmp208 = icmp ult i64 %121, %122 + br i1 %cmp208, label %if.then210, label %if.end212 + +if.then210: ; preds = %if.end204 + %123 = load i8*, i8** %buffer.addr, align 8 + %124 = load i64, i64* %len, align 8 + %arrayidx211 = getelementptr inbounds i8, i8* %123, i64 %124 + store i8 34, i8* %arrayidx211, align 1 + br label %if.end212 + +if.end212: ; preds = %if.then210, %if.end204 + %125 = load i64, i64* %len, align 8 + %inc213 = add i64 %125, 1 + store i64 %inc213, i64* %len, align 8 + %126 = load i64, i64* %len, align 8 + %127 = load i64, i64* %buffersize.addr, align 8 + %cmp216 = icmp ult i64 %126, %127 + br i1 %cmp216, label %if.then218, label %if.end220 + +if.then218: ; preds = %if.end212 + %128 = load i8*, i8** %buffer.addr, align 8 + %129 = load i64, i64* %len, align 8 + %arrayidx219 = getelementptr inbounds i8, i8* %128, i64 %129 + store i8 34, i8* %arrayidx219, align 1 + br label %if.end220 + +if.end220: ; preds = %if.then218, %if.end212 + %130 = load i64, i64* %len, align 8 + %inc221 = add i64 %130, 1 + store i64 %inc221, i64* %len, align 8 + %131 = load i64, i64* %len, align 8 + %132 = load i64, i64* %buffersize.addr, align 8 + %cmp224 = icmp ult i64 %131, %132 + br i1 %cmp224, label %if.then226, label %if.end228 + +if.then226: ; preds = %if.end220 + %133 = load i8*, i8** %buffer.addr, align 8 + %134 = load i64, i64* %len, align 8 + %arrayidx227 = getelementptr inbounds i8, i8* %133, i64 %134 + store i8 63, i8* %arrayidx227, align 1 + br label %if.end228 + +if.end228: ; preds = %if.then226, %if.end220 + %135 = load i64, i64* %len, align 8 + %inc229 = add i64 %135, 1 + store i64 %inc229, i64* %len, align 8 + br label %sw.epilog564 + +sw.bb236: ; preds = %NodeBlock228 + store i8 97, i8* %esc, align 1 + br label %c_escape + +sw.bb237: ; preds = %NodeBlock226 + store i8 98, i8* %esc, align 1 + br label %c_escape + +sw.bb238: ; preds = %NodeBlock224 + store i8 102, i8* %esc, align 1 + br label %c_escape + +sw.bb239: ; preds = %NodeBlock222 + store i8 110, i8* %esc, align 1 + br label %c_and_shell_escape + +sw.bb240: ; preds = %NodeBlock220 + store i8 114, i8* %esc, align 1 + br label %c_and_shell_escape + +sw.bb241: ; preds = %NodeBlock218 + store i8 116, i8* %esc, align 1 + br label %c_and_shell_escape + +sw.bb242: ; preds = %NodeBlock216 + store i8 118, i8* %esc, align 1 + br label %c_escape + +sw.bb243: ; preds = %NodeBlock214 + %136 = load i8, i8* %c, align 1 + store i8 %136, i8* %esc, align 1 + %137 = load i32, i32* %quoting_style.addr, align 4 + %cmp244 = icmp eq i32 %137, 2 + br i1 %cmp244, label %if.then246, label %if.end250 + +if.then246: ; preds = %sw.bb243 + %138 = load i8, i8* %elide_outer_quotes, align 1 + %tobool247 = trunc i8 %138 to i1 + br i1 %tobool247, label %force_outer_quoting_style, label %do.body634 + +if.end250: ; preds = %sw.bb243 + %139 = load i8, i8* %backslash_escapes, align 1 + %tobool251 = trunc i8 %139 to i1 + br i1 %tobool251, label %land.lhs.true253, label %c_and_shell_escape + +land.lhs.true253: ; preds = %if.end250 + %140 = load i8, i8* %elide_outer_quotes, align 1 + %tobool254 = trunc i8 %140 to i1 + %141 = load i64, i64* %quote_string_len, align 8 + %tobool257 = icmp ne i64 %141, 0 + %or.cond3 = and i1 %tobool254, %tobool257 + br i1 %or.cond3, label %do.body634, label %c_and_shell_escape + +c_and_shell_escape: ; preds = %if.end250, %land.lhs.true253, %sw.bb241, %sw.bb240, %sw.bb239 + %142 = load i32, i32* %quoting_style.addr, align 4 + %cmp260 = icmp eq i32 %142, 2 + br i1 %cmp260, label %land.lhs.true262, label %c_escape + +land.lhs.true262: ; preds = %c_and_shell_escape + %143 = load i8, i8* %elide_outer_quotes, align 1 + %tobool263 = trunc i8 %143 to i1 + br i1 %tobool263, label %force_outer_quoting_style, label %c_escape + +c_escape: ; preds = %c_and_shell_escape, %land.lhs.true262, %sw.bb242, %sw.bb238, %sw.bb237, %sw.bb236 + %144 = load i8, i8* %backslash_escapes, align 1 + %tobool267 = trunc i8 %144 to i1 + br i1 %tobool267, label %if.then268, label %sw.epilog564 + +if.then268: ; preds = %c_escape + %145 = load i8, i8* %esc, align 1 + store i8 %145, i8* %c, align 1 + br label %do.body586 + +sw.bb270: ; preds = %NodeBlock212, %NodeBlock210 + %146 = load i64, i64* %argsize.addr, align 8 + %cmp271 = icmp eq i64 %146, -1 + br i1 %cmp271, label %cond.true273, label %cond.false278 + +cond.true273: ; preds = %sw.bb270 + %147 = load i8*, i8** %arg.addr, align 8 + %arrayidx274 = getelementptr inbounds i8, i8* %147, i64 1 + %148 = load i8, i8* %arrayidx274, align 1 + %conv275 = sext i8 %148 to i32 + %cmp276 = icmp eq i32 %conv275, 0 + br i1 %cmp276, label %sw.bb283, label %sw.epilog564 + +cond.false278: ; preds = %sw.bb270 + %149 = load i64, i64* %argsize.addr, align 8 + %cmp279 = icmp eq i64 %149, 1 + br i1 %cmp279, label %sw.bb283, label %sw.epilog564 + +sw.bb283: ; preds = %NodeBlock208, %NodeBlock206, %cond.true273, %cond.false278 + %150 = load i64, i64* %i, align 8 + %cmp284 = icmp ne i64 %150, 0 + br i1 %cmp284, label %sw.epilog564, label %sw.bb288 + +sw.bb288: ; preds = %NodeBlock204, %sw.bb283 + store i8 1, i8* %c_and_shell_quote_compat, align 1 + br label %sw.bb289 + +sw.bb289: ; preds = %NodeBlock202, %NodeBlock200, %NodeBlock198, %NodeBlock196, %NodeBlock194, %NodeBlock192, %NodeBlock190, %NodeBlock188, %NodeBlock186, %NodeBlock184, %NodeBlock182, %NodeBlock180, %NodeBlock178, %NodeBlock176, %NodeBlock174, %sw.bb288 + %151 = load i32, i32* %quoting_style.addr, align 4 + %cmp290 = icmp eq i32 %151, 2 + br i1 %cmp290, label %land.lhs.true292, label %sw.epilog564 + +land.lhs.true292: ; preds = %sw.bb289 + %152 = load i8, i8* %elide_outer_quotes, align 1 + %tobool293 = trunc i8 %152 to i1 + br i1 %tobool293, label %force_outer_quoting_style, label %sw.epilog564 + +sw.bb297: ; preds = %NodeBlock172 + store i8 1, i8* %encountered_single_quote, align 1 + store i8 1, i8* %c_and_shell_quote_compat, align 1 + %153 = load i32, i32* %quoting_style.addr, align 4 + %cmp298 = icmp eq i32 %153, 2 + br i1 %cmp298, label %if.then300, label %sw.epilog564 + +if.then300: ; preds = %sw.bb297 + %154 = load i8, i8* %elide_outer_quotes, align 1 + %tobool301 = trunc i8 %154 to i1 + br i1 %tobool301, label %force_outer_quoting_style, label %if.end303 + +if.end303: ; preds = %if.then300 + %155 = load i64, i64* %buffersize.addr, align 8 + %tobool304 = icmp eq i64 %155, 0 + %156 = load i64, i64* %orig_buffersize, align 8 + %tobool306 = icmp ne i64 %156, 0 + %or.cond4 = or i1 %tobool304, %tobool306 + br i1 %or.cond4, label %do.body309, label %if.then307 + +if.then307: ; preds = %if.end303 + %157 = load i64, i64* %buffersize.addr, align 8 + store i64 %157, i64* %orig_buffersize, align 8 + store i64 0, i64* %buffersize.addr, align 8 + br label %do.body309 + +do.body309: ; preds = %if.then307, %if.end303 + %158 = load i64, i64* %len, align 8 + %159 = load i64, i64* %buffersize.addr, align 8 + %cmp310 = icmp ult i64 %158, %159 + br i1 %cmp310, label %if.then312, label %if.end314 + +if.then312: ; preds = %do.body309 + %160 = load i8*, i8** %buffer.addr, align 8 + %161 = load i64, i64* %len, align 8 + %arrayidx313 = getelementptr inbounds i8, i8* %160, i64 %161 + store i8 39, i8* %arrayidx313, align 1 + br label %if.end314 + +if.end314: ; preds = %if.then312, %do.body309 + %162 = load i64, i64* %len, align 8 + %inc315 = add i64 %162, 1 + store i64 %inc315, i64* %len, align 8 + %163 = load i64, i64* %len, align 8 + %164 = load i64, i64* %buffersize.addr, align 8 + %cmp318 = icmp ult i64 %163, %164 + br i1 %cmp318, label %if.then320, label %if.end322 + +if.then320: ; preds = %if.end314 + %165 = load i8*, i8** %buffer.addr, align 8 + %166 = load i64, i64* %len, align 8 + %arrayidx321 = getelementptr inbounds i8, i8* %165, i64 %166 + store i8 92, i8* %arrayidx321, align 1 + br label %if.end322 + +if.end322: ; preds = %if.then320, %if.end314 + %167 = load i64, i64* %len, align 8 + %inc323 = add i64 %167, 1 + store i64 %inc323, i64* %len, align 8 + %168 = load i64, i64* %len, align 8 + %169 = load i64, i64* %buffersize.addr, align 8 + %cmp326 = icmp ult i64 %168, %169 + br i1 %cmp326, label %if.then328, label %if.end330 + +if.then328: ; preds = %if.end322 + %170 = load i8*, i8** %buffer.addr, align 8 + %171 = load i64, i64* %len, align 8 + %arrayidx329 = getelementptr inbounds i8, i8* %170, i64 %171 + store i8 39, i8* %arrayidx329, align 1 + br label %if.end330 + +if.end330: ; preds = %if.then328, %if.end322 + %172 = load i64, i64* %len, align 8 + %inc331 = add i64 %172, 1 + store i64 %inc331, i64* %len, align 8 + store i8 0, i8* %pending_shell_escape_end, align 1 + br label %sw.epilog564 + +sw.bb334: ; preds = %NodeBlock170, %NodeBlock168, %NodeBlock166, %NodeBlock164, %NodeBlock162, %NodeBlock160, %NodeBlock158, %NodeBlock156, %NodeBlock154, %NodeBlock152, %NodeBlock150, %NodeBlock148, %NodeBlock146, %NodeBlock144, %NodeBlock142, %NodeBlock140, %NodeBlock138, %NodeBlock136, %NodeBlock134, %NodeBlock132, %NodeBlock130, %NodeBlock128, %NodeBlock126, %NodeBlock124, %NodeBlock122, %NodeBlock120, %NodeBlock118, %NodeBlock116, %NodeBlock114, %NodeBlock112, %NodeBlock110, %NodeBlock108, %NodeBlock106, %NodeBlock104, %NodeBlock102, %NodeBlock100, %NodeBlock98, %NodeBlock96, %NodeBlock94, %NodeBlock92, %NodeBlock90, %NodeBlock88, %NodeBlock86, %NodeBlock84, %NodeBlock82, %NodeBlock80, %NodeBlock78, %NodeBlock76, %NodeBlock74, %NodeBlock72, %NodeBlock70, %NodeBlock68, %NodeBlock66, %NodeBlock64, %NodeBlock62, %NodeBlock60, %NodeBlock58, %NodeBlock56, %NodeBlock54, %NodeBlock52, %NodeBlock50, %NodeBlock48, %NodeBlock46, %NodeBlock44, %NodeBlock42, %NodeBlock40, %NodeBlock38, %NodeBlock36, %NodeBlock34, %NodeBlock32, %NodeBlock30 + store i8 1, i8* %c_and_shell_quote_compat, align 1 + br label %sw.epilog564 + +newDefault29: ; preds = %NodeBlock30 + br label %sw.default335 + +sw.default335: ; preds = %newDefault29 + %173 = load i8, i8* %unibyte_locale, align 1 + %tobool336 = trunc i8 %173 to i1 + br i1 %tobool336, label %if.then337, label %if.else346 + +if.then337: ; preds = %sw.default335 + store i64 1, i64* %m, align 8 + %call338 = call i16** @__ctype_b_loc() #26 + %174 = load i16*, i16** %call338, align 8 + %175 = load i8, i8* %c, align 1 + %conv339 = zext i8 %175 to i32 + %idxprom = sext i32 %conv339 to i64 + %arrayidx340 = getelementptr inbounds i16, i16* %174, i64 %idxprom + %176 = load i16, i16* %arrayidx340, align 2 + %conv341 = zext i16 %176 to i32 + %and342 = and i32 %conv341, 16384 + %cmp343 = icmp ne i32 %and342, 0 + %frombool345 = zext i1 %cmp343 to i8 + store i8 %frombool345, i8* %printable, align 1 + br label %if.end410 + +if.else346: ; preds = %sw.default335 + %177 = bitcast %struct.__mbstate_t* %mbstate to i8* + %178 = call i8* @memset(i8* %177, i32 0, i64 8) + store i64 0, i64* %m, align 8 + store i8 1, i8* %printable, align 1 + %179 = load i64, i64* %argsize.addr, align 8 + %cmp347 = icmp eq i64 %179, -1 + br i1 %cmp347, label %if.then349, label %if.end351 + +if.then349: ; preds = %if.else346 + %180 = load i8*, i8** %arg.addr, align 8 + %call350 = call i64 @strlen(i8* %180) #24 + store i64 %call350, i64* %argsize.addr, align 8 + br label %if.end351 + +if.end351: ; preds = %if.then349, %if.else346 + br label %do.body352 + +do.body352: ; preds = %if.end401, %if.end351 + %181 = load i8*, i8** %arg.addr, align 8 + %182 = load i64, i64* %i, align 8 + %183 = load i64, i64* %m, align 8 + %add353 = add i64 %182, %183 + %arrayidx354 = getelementptr inbounds i8, i8* %181, i64 %add353 + %184 = load i64, i64* %argsize.addr, align 8 + %185 = load i64, i64* %i, align 8 + %186 = load i64, i64* %m, align 8 + %add355 = add i64 %185, %186 + %sub = sub i64 %184, %add355 + %call356 = call i64 @rpl_mbrtowc(i32* %w, i8* %arrayidx354, i64 %sub, %struct.__mbstate_t* %mbstate) + store i64 %call356, i64* %bytes, align 8 + %187 = load i64, i64* %bytes, align 8 + %cmp357 = icmp eq i64 %187, 0 + br i1 %cmp357, label %if.end410, label %if.else360 + +if.else360: ; preds = %do.body352 + %188 = load i64, i64* %bytes, align 8 + %cmp361 = icmp eq i64 %188, -1 + br i1 %cmp361, label %if.then363, label %if.else364 + +if.then363: ; preds = %if.else360 + store i8 0, i8* %printable, align 1 + br label %if.end410 + +if.else364: ; preds = %if.else360 + %189 = load i64, i64* %bytes, align 8 + %cmp365 = icmp eq i64 %189, -2 + br i1 %cmp365, label %if.then367, label %if.else376 + +if.then367: ; preds = %if.else364 + store i8 0, i8* %printable, align 1 + br label %while.cond + +while.cond: ; preds = %while.body, %if.then367 + %190 = load i64, i64* %i, align 8 + %191 = load i64, i64* %m, align 8 + %add368 = add i64 %190, %191 + %192 = load i64, i64* %argsize.addr, align 8 + %cmp369 = icmp ult i64 %add368, %192 + br i1 %cmp369, label %land.rhs, label %if.end410 + +land.rhs: ; preds = %while.cond + %193 = load i8*, i8** %arg.addr, align 8 + %194 = load i64, i64* %i, align 8 + %195 = load i64, i64* %m, align 8 + %add371 = add i64 %194, %195 + %arrayidx372 = getelementptr inbounds i8, i8* %193, i64 %add371 + %196 = load i8, i8* %arrayidx372, align 1 + %conv373 = sext i8 %196 to i32 + %tobool374 = icmp ne i32 %conv373, 0 + br i1 %tobool374, label %while.body, label %if.end410 + +while.body: ; preds = %land.rhs + %197 = load i64, i64* %m, align 8 + %inc375 = add i64 %197, 1 + store i64 %inc375, i64* %m, align 8 + br label %while.cond + +if.else376: ; preds = %if.else364 + %198 = load i8, i8* %elide_outer_quotes, align 1 + %tobool377 = trunc i8 %198 to i1 + %199 = load i32, i32* %quoting_style.addr, align 4 + %cmp380 = icmp eq i32 %199, 2 + %or.cond5 = and i1 %tobool377, %cmp380 + br i1 %or.cond5, label %if.then382, label %if.end397 + +if.then382: ; preds = %if.else376 + store i64 1, i64* %j, align 8 + br label %for.cond383 + +for.cond383: ; preds = %for.inc394, %if.then382 + %200 = load i64, i64* %j, align 8 + %201 = load i64, i64* %bytes, align 8 + %cmp384 = icmp ult i64 %200, %201 + br i1 %cmp384, label %for.body386, label %if.end397 + +for.body386: ; preds = %for.cond383 + %202 = load i8*, i8** %arg.addr, align 8 + %203 = load i64, i64* %i, align 8 + %204 = load i64, i64* %m, align 8 + %add387 = add i64 %203, %204 + %205 = load i64, i64* %j, align 8 + %add388 = add i64 %add387, %205 + %arrayidx389 = getelementptr inbounds i8, i8* %202, i64 %add388 + %206 = load i8, i8* %arrayidx389, align 1 + %conv390 = sext i8 %206 to i32 + br label %NodeBlock267 + +NodeBlock267: ; preds = %for.body386 + %case.cmp268 = icmp eq i32 %conv390, 91 + br i1 %case.cmp268, label %force_outer_quoting_style, label %NodeBlock265 + +NodeBlock265: ; preds = %NodeBlock267 + %case.cmp266 = icmp eq i32 %conv390, 92 + br i1 %case.cmp266, label %force_outer_quoting_style, label %NodeBlock263 + +NodeBlock263: ; preds = %NodeBlock265 + %case.cmp264 = icmp eq i32 %conv390, 94 + br i1 %case.cmp264, label %force_outer_quoting_style, label %NodeBlock261 + +NodeBlock261: ; preds = %NodeBlock263 + %case.cmp262 = icmp eq i32 %conv390, 96 + br i1 %case.cmp262, label %force_outer_quoting_style, label %NodeBlock259 + +NodeBlock259: ; preds = %NodeBlock261 + %case.cmp260 = icmp eq i32 %conv390, 124 + br i1 %case.cmp260, label %force_outer_quoting_style, label %newDefault258 + +newDefault258: ; preds = %NodeBlock259 + br label %for.inc394 + +for.inc394: ; preds = %newDefault258 + %207 = load i64, i64* %j, align 8 + %inc395 = add i64 %207, 1 + store i64 %inc395, i64* %j, align 8 + br label %for.cond383 + +if.end397: ; preds = %for.cond383, %if.else376 + %208 = load i32, i32* %w, align 4 + %call398 = call i32 @iswprint(i32 %208) #11 + %tobool399 = icmp ne i32 %call398, 0 + br i1 %tobool399, label %if.end401, label %if.then400 + +if.then400: ; preds = %if.end397 + store i8 0, i8* %printable, align 1 + br label %if.end401 + +if.end401: ; preds = %if.then400, %if.end397 + %209 = load i64, i64* %bytes, align 8 + %210 = load i64, i64* %m, align 8 + %add402 = add i64 %210, %209 + store i64 %add402, i64* %m, align 8 + %call406 = call i32 bitcast (i32 (%struct.__mbstate_t.512*)* @mbsinit to i32 (%struct.__mbstate_t*)*)(%struct.__mbstate_t* %mbstate) #24 + %tobool407 = icmp ne i32 %call406, 0 + %lnot408 = xor i1 %tobool407, true + br i1 %lnot408, label %do.body352, label %if.end410 + +if.end410: ; preds = %if.then363, %if.end401, %do.body352, %while.cond, %land.rhs, %if.then337 + %211 = load i8, i8* %printable, align 1 + %tobool411 = trunc i8 %211 to i1 + %frombool412 = zext i1 %tobool411 to i8 + store i8 %frombool412, i8* %c_and_shell_quote_compat, align 1 + %212 = load i64, i64* %m, align 8 + %cmp413 = icmp ult i64 1, %212 + br i1 %cmp413, label %if.then419, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end410 + %213 = load i8, i8* %backslash_escapes, align 1 + %tobool415 = trunc i8 %213 to i1 + br i1 %tobool415, label %land.lhs.true417, label %sw.epilog564 + +land.lhs.true417: ; preds = %lor.lhs.false + %214 = load i8, i8* %printable, align 1 + %tobool418 = trunc i8 %214 to i1 + br i1 %tobool418, label %sw.epilog564, label %if.then419 + +if.then419: ; preds = %land.lhs.true417, %if.end410 + %215 = load i64, i64* %i, align 8 + %216 = load i64, i64* %m, align 8 + %add420 = add i64 %215, %216 + store i64 %add420, i64* %ilim, align 8 + br label %for.cond421 + +for.cond421: ; preds = %if.end556, %if.then419 + %217 = load i8, i8* %backslash_escapes, align 1 + %tobool422 = trunc i8 %217 to i1 + br i1 %tobool422, label %land.lhs.true424, label %if.else505 + +land.lhs.true424: ; preds = %for.cond421 + %218 = load i8, i8* %printable, align 1 + %tobool425 = trunc i8 %218 to i1 + br i1 %tobool425, label %if.else505, label %do.body427 + +do.body427: ; preds = %land.lhs.true424 + %219 = load i8, i8* %elide_outer_quotes, align 1 + %tobool428 = trunc i8 %219 to i1 + br i1 %tobool428, label %force_outer_quoting_style, label %if.end430 + +if.end430: ; preds = %do.body427 + store i8 1, i8* %escaping, align 1 + %220 = load i32, i32* %quoting_style.addr, align 4 + %cmp431 = icmp eq i32 %220, 2 + br i1 %cmp431, label %land.lhs.true433, label %do.body464 + +land.lhs.true433: ; preds = %if.end430 + %221 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool434 = trunc i8 %221 to i1 + br i1 %tobool434, label %do.body464, label %do.body436 + +do.body436: ; preds = %land.lhs.true433 + %222 = load i64, i64* %len, align 8 + %223 = load i64, i64* %buffersize.addr, align 8 + %cmp437 = icmp ult i64 %222, %223 + br i1 %cmp437, label %if.then439, label %if.end441 + +if.then439: ; preds = %do.body436 + %224 = load i8*, i8** %buffer.addr, align 8 + %225 = load i64, i64* %len, align 8 + %arrayidx440 = getelementptr inbounds i8, i8* %224, i64 %225 + store i8 39, i8* %arrayidx440, align 1 + br label %if.end441 + +if.end441: ; preds = %if.then439, %do.body436 + %226 = load i64, i64* %len, align 8 + %inc442 = add i64 %226, 1 + store i64 %inc442, i64* %len, align 8 + %227 = load i64, i64* %len, align 8 + %228 = load i64, i64* %buffersize.addr, align 8 + %cmp446 = icmp ult i64 %227, %228 + br i1 %cmp446, label %if.then448, label %if.end450 + +if.then448: ; preds = %if.end441 + %229 = load i8*, i8** %buffer.addr, align 8 + %230 = load i64, i64* %len, align 8 + %arrayidx449 = getelementptr inbounds i8, i8* %229, i64 %230 + store i8 36, i8* %arrayidx449, align 1 + br label %if.end450 + +if.end450: ; preds = %if.then448, %if.end441 + %231 = load i64, i64* %len, align 8 + %inc451 = add i64 %231, 1 + store i64 %inc451, i64* %len, align 8 + %232 = load i64, i64* %len, align 8 + %233 = load i64, i64* %buffersize.addr, align 8 + %cmp455 = icmp ult i64 %232, %233 + br i1 %cmp455, label %if.then457, label %if.end459 + +if.then457: ; preds = %if.end450 + %234 = load i8*, i8** %buffer.addr, align 8 + %235 = load i64, i64* %len, align 8 + %arrayidx458 = getelementptr inbounds i8, i8* %234, i64 %235 + store i8 39, i8* %arrayidx458, align 1 + br label %if.end459 + +if.end459: ; preds = %if.then457, %if.end450 + %236 = load i64, i64* %len, align 8 + %inc460 = add i64 %236, 1 + store i64 %inc460, i64* %len, align 8 + store i8 1, i8* %pending_shell_escape_end, align 1 + br label %do.body464 + +do.body464: ; preds = %if.end430, %land.lhs.true433, %if.end459 + %237 = load i64, i64* %len, align 8 + %238 = load i64, i64* %buffersize.addr, align 8 + %cmp465 = icmp ult i64 %237, %238 + br i1 %cmp465, label %if.then467, label %if.end469 + +if.then467: ; preds = %do.body464 + %239 = load i8*, i8** %buffer.addr, align 8 + %240 = load i64, i64* %len, align 8 + %arrayidx468 = getelementptr inbounds i8, i8* %239, i64 %240 + store i8 92, i8* %arrayidx468, align 1 + br label %if.end469 + +if.end469: ; preds = %if.then467, %do.body464 + %241 = load i64, i64* %len, align 8 + %inc470 = add i64 %241, 1 + store i64 %inc470, i64* %len, align 8 + %242 = load i64, i64* %len, align 8 + %243 = load i64, i64* %buffersize.addr, align 8 + %cmp476 = icmp ult i64 %242, %243 + br i1 %cmp476, label %if.then478, label %if.end483 + +if.then478: ; preds = %if.end469 + %244 = load i8, i8* %c, align 1 + %conv479 = zext i8 %244 to i32 + %shr = ashr i32 %conv479, 6 + %add480 = add nsw i32 48, %shr + %conv481 = trunc i32 %add480 to i8 + %245 = load i8*, i8** %buffer.addr, align 8 + %246 = load i64, i64* %len, align 8 + %arrayidx482 = getelementptr inbounds i8, i8* %245, i64 %246 + store i8 %conv481, i8* %arrayidx482, align 1 + br label %if.end483 + +if.end483: ; preds = %if.then478, %if.end469 + %247 = load i64, i64* %len, align 8 + %inc484 = add i64 %247, 1 + store i64 %inc484, i64* %len, align 8 + %248 = load i64, i64* %len, align 8 + %249 = load i64, i64* %buffersize.addr, align 8 + %cmp488 = icmp ult i64 %248, %249 + br i1 %cmp488, label %if.then490, label %if.end497 + +if.then490: ; preds = %if.end483 + %250 = load i8, i8* %c, align 1 + %conv491 = zext i8 %250 to i32 + %shr492 = ashr i32 %conv491, 3 + %and493 = and i32 %shr492, 7 + %add494 = add nsw i32 48, %and493 + %conv495 = trunc i32 %add494 to i8 + %251 = load i8*, i8** %buffer.addr, align 8 + %252 = load i64, i64* %len, align 8 + %arrayidx496 = getelementptr inbounds i8, i8* %251, i64 %252 + store i8 %conv495, i8* %arrayidx496, align 1 + br label %if.end497 + +if.end497: ; preds = %if.then490, %if.end483 + %253 = load i64, i64* %len, align 8 + %inc498 = add i64 %253, 1 + store i64 %inc498, i64* %len, align 8 + %254 = load i8, i8* %c, align 1 + %conv501 = zext i8 %254 to i32 + %and502 = and i32 %conv501, 7 + %add503 = add nsw i32 48, %and502 + %conv504 = trunc i32 %add503 to i8 + store i8 %conv504, i8* %c, align 1 + br label %if.end518 + +if.else505: ; preds = %land.lhs.true424, %for.cond421 + %255 = load i8, i8* %is_right_quote, align 1 + %tobool506 = trunc i8 %255 to i1 + br i1 %tobool506, label %do.body508, label %if.end518 + +do.body508: ; preds = %if.else505 + %256 = load i64, i64* %len, align 8 + %257 = load i64, i64* %buffersize.addr, align 8 + %cmp509 = icmp ult i64 %256, %257 + br i1 %cmp509, label %if.then511, label %if.end513 + +if.then511: ; preds = %do.body508 + %258 = load i8*, i8** %buffer.addr, align 8 + %259 = load i64, i64* %len, align 8 + %arrayidx512 = getelementptr inbounds i8, i8* %258, i64 %259 + store i8 92, i8* %arrayidx512, align 1 + br label %if.end513 + +if.end513: ; preds = %if.then511, %do.body508 + %260 = load i64, i64* %len, align 8 + %inc514 = add i64 %260, 1 + store i64 %inc514, i64* %len, align 8 + store i8 0, i8* %is_right_quote, align 1 + br label %if.end518 + +if.end518: ; preds = %if.else505, %if.end513, %if.end497 + %261 = load i64, i64* %ilim, align 8 + %262 = load i64, i64* %i, align 8 + %add519 = add i64 %262, 1 + %cmp520 = icmp ule i64 %261, %add519 + br i1 %cmp520, label %do.body634, label %do.body524 + +do.body524: ; preds = %if.end518 + %263 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool525 = trunc i8 %263 to i1 + br i1 %tobool525, label %land.lhs.true527, label %do.body551 + +land.lhs.true527: ; preds = %do.body524 + %264 = load i8, i8* %escaping, align 1 + %tobool528 = trunc i8 %264 to i1 + br i1 %tobool528, label %do.body551, label %do.body530 + +do.body530: ; preds = %land.lhs.true527 + %265 = load i64, i64* %len, align 8 + %266 = load i64, i64* %buffersize.addr, align 8 + %cmp531 = icmp ult i64 %265, %266 + br i1 %cmp531, label %if.then533, label %if.end535 + +if.then533: ; preds = %do.body530 + %267 = load i8*, i8** %buffer.addr, align 8 + %268 = load i64, i64* %len, align 8 + %arrayidx534 = getelementptr inbounds i8, i8* %267, i64 %268 + store i8 39, i8* %arrayidx534, align 1 + br label %if.end535 + +if.end535: ; preds = %if.then533, %do.body530 + %269 = load i64, i64* %len, align 8 + %inc536 = add i64 %269, 1 + store i64 %inc536, i64* %len, align 8 + %270 = load i64, i64* %len, align 8 + %271 = load i64, i64* %buffersize.addr, align 8 + %cmp540 = icmp ult i64 %270, %271 + br i1 %cmp540, label %if.then542, label %if.end544 + +if.then542: ; preds = %if.end535 + %272 = load i8*, i8** %buffer.addr, align 8 + %273 = load i64, i64* %len, align 8 + %arrayidx543 = getelementptr inbounds i8, i8* %272, i64 %273 + store i8 39, i8* %arrayidx543, align 1 + br label %if.end544 + +if.end544: ; preds = %if.then542, %if.end535 + %274 = load i64, i64* %len, align 8 + %inc545 = add i64 %274, 1 + store i64 %inc545, i64* %len, align 8 + store i8 0, i8* %pending_shell_escape_end, align 1 + br label %do.body551 + +do.body551: ; preds = %if.end544, %land.lhs.true527, %do.body524 + %275 = load i64, i64* %len, align 8 + %276 = load i64, i64* %buffersize.addr, align 8 + %cmp552 = icmp ult i64 %275, %276 + br i1 %cmp552, label %if.then554, label %if.end556 + +if.then554: ; preds = %do.body551 + %277 = load i8, i8* %c, align 1 + %278 = load i8*, i8** %buffer.addr, align 8 + %279 = load i64, i64* %len, align 8 + %arrayidx555 = getelementptr inbounds i8, i8* %278, i64 %279 + store i8 %277, i8* %arrayidx555, align 1 + br label %if.end556 + +if.end556: ; preds = %if.then554, %do.body551 + %280 = load i64, i64* %len, align 8 + %inc557 = add i64 %280, 1 + store i64 %inc557, i64* %len, align 8 + %281 = load i8*, i8** %arg.addr, align 8 + %282 = load i64, i64* %i, align 8 + %inc560 = add i64 %282, 1 + store i64 %inc560, i64* %i, align 8 + %arrayidx561 = getelementptr inbounds i8, i8* %281, i64 %inc560 + %283 = load i8, i8* %arrayidx561, align 1 + store i8 %283, i8* %c, align 1 + br label %for.cond421 + +newDefault234: ; preds = %NodeBlock235 + br label %sw.epilog564 + +newDefault239: ; preds = %NodeBlock240 + br label %sw.epilog564 + +sw.epilog564: ; preds = %newDefault239, %newDefault234, %lor.lhs.false, %land.lhs.true417, %sw.bb297, %if.end330, %sw.bb289, %land.lhs.true292, %sw.bb283, %cond.true273, %cond.false278, %c_escape, %sw.bb171, %if.end228, %land.lhs.true182, %land.lhs.true178, %sw.bb175, %if.end164, %if.else, %sw.bb334 + %284 = load i8, i8* %backslash_escapes, align 1 + %tobool565 = trunc i8 %284 to i1 + %285 = load i32, i32* %quoting_style.addr, align 4 + %cmp568 = icmp ne i32 %285, 2 + %or.cond6 = and i1 %tobool565, %cmp568 + br i1 %or.cond6, label %land.lhs.true573, label %lor.lhs.false570 + +lor.lhs.false570: ; preds = %sw.epilog564 + %286 = load i8, i8* %elide_outer_quotes, align 1 + %tobool571 = trunc i8 %286 to i1 + br i1 %tobool571, label %land.lhs.true573, label %land.lhs.true582 + +land.lhs.true573: ; preds = %sw.epilog564, %lor.lhs.false570 + %287 = load i32*, i32** %quote_these_too.addr, align 8 + %tobool574 = icmp ne i32* %287, null + br i1 %tobool574, label %land.lhs.true575, label %land.lhs.true582 + +land.lhs.true575: ; preds = %land.lhs.true573 + %288 = load i32*, i32** %quote_these_too.addr, align 8 + %289 = load i8, i8* %c, align 1 + %conv576 = zext i8 %289 to i64 + %div = udiv i64 %conv576, 32 + %arrayidx577 = getelementptr inbounds i32, i32* %288, i64 %div + %290 = load i32, i32* %arrayidx577, align 4 + %291 = load i8, i8* %c, align 1 + %conv578 = zext i8 %291 to i64 + %rem = urem i64 %conv578, 32 + %sh_prom = trunc i64 %rem to i32 + %shr579 = lshr i32 %290, %sh_prom + %and580 = and i32 %shr579, 1 + %tobool581 = icmp ne i32 %and580, 0 + br i1 %tobool581, label %do.body586, label %land.lhs.true582 + +land.lhs.true582: ; preds = %land.lhs.true575, %land.lhs.true573, %lor.lhs.false570 + %292 = load i8, i8* %is_right_quote, align 1 + %tobool583 = trunc i8 %292 to i1 + br i1 %tobool583, label %do.body586, label %do.body634 + +do.body586: ; preds = %if.then268, %land.lhs.true582, %land.lhs.true575 + %293 = load i8, i8* %elide_outer_quotes, align 1 + %tobool587 = trunc i8 %293 to i1 + br i1 %tobool587, label %force_outer_quoting_style, label %if.end589 + +if.end589: ; preds = %do.body586 + store i8 1, i8* %escaping, align 1 + %294 = load i32, i32* %quoting_style.addr, align 4 + %cmp590 = icmp eq i32 %294, 2 + br i1 %cmp590, label %land.lhs.true592, label %do.body623 + +land.lhs.true592: ; preds = %if.end589 + %295 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool593 = trunc i8 %295 to i1 + br i1 %tobool593, label %do.body623, label %do.body595 + +do.body595: ; preds = %land.lhs.true592 + %296 = load i64, i64* %len, align 8 + %297 = load i64, i64* %buffersize.addr, align 8 + %cmp596 = icmp ult i64 %296, %297 + br i1 %cmp596, label %if.then598, label %if.end600 + +if.then598: ; preds = %do.body595 + %298 = load i8*, i8** %buffer.addr, align 8 + %299 = load i64, i64* %len, align 8 + %arrayidx599 = getelementptr inbounds i8, i8* %298, i64 %299 + store i8 39, i8* %arrayidx599, align 1 + br label %if.end600 + +if.end600: ; preds = %if.then598, %do.body595 + %300 = load i64, i64* %len, align 8 + %inc601 = add i64 %300, 1 + store i64 %inc601, i64* %len, align 8 + %301 = load i64, i64* %len, align 8 + %302 = load i64, i64* %buffersize.addr, align 8 + %cmp605 = icmp ult i64 %301, %302 + br i1 %cmp605, label %if.then607, label %if.end609 + +if.then607: ; preds = %if.end600 + %303 = load i8*, i8** %buffer.addr, align 8 + %304 = load i64, i64* %len, align 8 + %arrayidx608 = getelementptr inbounds i8, i8* %303, i64 %304 + store i8 36, i8* %arrayidx608, align 1 + br label %if.end609 + +if.end609: ; preds = %if.then607, %if.end600 + %305 = load i64, i64* %len, align 8 + %inc610 = add i64 %305, 1 + store i64 %inc610, i64* %len, align 8 + %306 = load i64, i64* %len, align 8 + %307 = load i64, i64* %buffersize.addr, align 8 + %cmp614 = icmp ult i64 %306, %307 + br i1 %cmp614, label %if.then616, label %if.end618 + +if.then616: ; preds = %if.end609 + %308 = load i8*, i8** %buffer.addr, align 8 + %309 = load i64, i64* %len, align 8 + %arrayidx617 = getelementptr inbounds i8, i8* %308, i64 %309 + store i8 39, i8* %arrayidx617, align 1 + br label %if.end618 + +if.end618: ; preds = %if.then616, %if.end609 + %310 = load i64, i64* %len, align 8 + %inc619 = add i64 %310, 1 + store i64 %inc619, i64* %len, align 8 + store i8 1, i8* %pending_shell_escape_end, align 1 + br label %do.body623 + +do.body623: ; preds = %if.end589, %land.lhs.true592, %if.end618 + %311 = load i64, i64* %len, align 8 + %312 = load i64, i64* %buffersize.addr, align 8 + %cmp624 = icmp ult i64 %311, %312 + br i1 %cmp624, label %if.then626, label %if.end628 + +if.then626: ; preds = %do.body623 + %313 = load i8*, i8** %buffer.addr, align 8 + %314 = load i64, i64* %len, align 8 + %arrayidx627 = getelementptr inbounds i8, i8* %313, i64 %314 + store i8 92, i8* %arrayidx627, align 1 + br label %if.end628 + +if.end628: ; preds = %if.then626, %do.body623 + %315 = load i64, i64* %len, align 8 + %inc629 = add i64 %315, 1 + store i64 %inc629, i64* %len, align 8 + br label %do.body634 + +do.body634: ; preds = %if.end628, %if.then246, %land.lhs.true253, %if.end518, %land.lhs.true582 + %316 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool635 = trunc i8 %316 to i1 + br i1 %tobool635, label %land.lhs.true637, label %do.body661 + +land.lhs.true637: ; preds = %do.body634 + %317 = load i8, i8* %escaping, align 1 + %tobool638 = trunc i8 %317 to i1 + br i1 %tobool638, label %do.body661, label %do.body640 + +do.body640: ; preds = %land.lhs.true637 + %318 = load i64, i64* %len, align 8 + %319 = load i64, i64* %buffersize.addr, align 8 + %cmp641 = icmp ult i64 %318, %319 + br i1 %cmp641, label %if.then643, label %if.end645 + +if.then643: ; preds = %do.body640 + %320 = load i8*, i8** %buffer.addr, align 8 + %321 = load i64, i64* %len, align 8 + %arrayidx644 = getelementptr inbounds i8, i8* %320, i64 %321 + store i8 39, i8* %arrayidx644, align 1 + br label %if.end645 + +if.end645: ; preds = %if.then643, %do.body640 + %322 = load i64, i64* %len, align 8 + %inc646 = add i64 %322, 1 + store i64 %inc646, i64* %len, align 8 + %323 = load i64, i64* %len, align 8 + %324 = load i64, i64* %buffersize.addr, align 8 + %cmp650 = icmp ult i64 %323, %324 + br i1 %cmp650, label %if.then652, label %if.end654 + +if.then652: ; preds = %if.end645 + %325 = load i8*, i8** %buffer.addr, align 8 + %326 = load i64, i64* %len, align 8 + %arrayidx653 = getelementptr inbounds i8, i8* %325, i64 %326 + store i8 39, i8* %arrayidx653, align 1 + br label %if.end654 + +if.end654: ; preds = %if.then652, %if.end645 + %327 = load i64, i64* %len, align 8 + %inc655 = add i64 %327, 1 + store i64 %inc655, i64* %len, align 8 + store i8 0, i8* %pending_shell_escape_end, align 1 + br label %do.body661 + +do.body661: ; preds = %if.end654, %land.lhs.true637, %do.body634 + %328 = load i64, i64* %len, align 8 + %329 = load i64, i64* %buffersize.addr, align 8 + %cmp662 = icmp ult i64 %328, %329 + br i1 %cmp662, label %if.then664, label %if.end666 + +if.then664: ; preds = %do.body661 + %330 = load i8, i8* %c, align 1 + %331 = load i8*, i8** %buffer.addr, align 8 + %332 = load i64, i64* %len, align 8 + %arrayidx665 = getelementptr inbounds i8, i8* %331, i64 %332 + store i8 %330, i8* %arrayidx665, align 1 + br label %if.end666 + +if.end666: ; preds = %if.then664, %do.body661 + %333 = load i64, i64* %len, align 8 + %inc667 = add i64 %333, 1 + store i64 %inc667, i64* %len, align 8 + %334 = load i8, i8* %c_and_shell_quote_compat, align 1 + %tobool670 = trunc i8 %334 to i1 + br i1 %tobool670, label %for.inc673, label %if.then671 + +if.then671: ; preds = %if.end666 + store i8 0, i8* %all_c_and_shell_quote_compat, align 1 + br label %for.inc673 + +for.inc673: ; preds = %if.end666, %if.then671, %if.else + %335 = load i64, i64* %i, align 8 + %inc674 = add i64 %335, 1 + store i64 %inc674, i64* %i, align 8 + br label %for.cond44 + +for.end675: ; preds = %cond.end + %336 = load i64, i64* %len, align 8 + %cmp676 = icmp eq i64 %336, 0 + %337 = load i32, i32* %quoting_style.addr, align 4 + %cmp679 = icmp eq i32 %337, 2 + %or.cond7 = and i1 %cmp676, %cmp679 + br i1 %or.cond7, label %land.lhs.true681, label %if.end685 + +land.lhs.true681: ; preds = %for.end675 + %338 = load i8, i8* %elide_outer_quotes, align 1 + %tobool682 = trunc i8 %338 to i1 + br i1 %tobool682, label %force_outer_quoting_style, label %if.end685 + +if.end685: ; preds = %land.lhs.true681, %for.end675 + %339 = load i32, i32* %quoting_style.addr, align 4 + %cmp686 = icmp eq i32 %339, 2 + br i1 %cmp686, label %land.lhs.true688, label %if.end704 + +land.lhs.true688: ; preds = %if.end685 + %340 = load i8, i8* %elide_outer_quotes, align 1 + %tobool689 = trunc i8 %340 to i1 + br i1 %tobool689, label %if.end704, label %land.lhs.true690 + +land.lhs.true690: ; preds = %land.lhs.true688 + %341 = load i8, i8* %encountered_single_quote, align 1 + %tobool691 = trunc i8 %341 to i1 + br i1 %tobool691, label %if.then693, label %if.end704 + +if.then693: ; preds = %land.lhs.true690 + %342 = load i8, i8* %all_c_and_shell_quote_compat, align 1 + %tobool694 = trunc i8 %342 to i1 + br i1 %tobool694, label %if.then695, label %if.else697 + +if.then695: ; preds = %if.then693 + %343 = load i8*, i8** %buffer.addr, align 8 + %344 = load i64, i64* %orig_buffersize, align 8 + %345 = load i8*, i8** %arg.addr, align 8 + %346 = load i64, i64* %argsize.addr, align 8 + %347 = load i32, i32* %flags.addr, align 4 + %348 = load i32*, i32** %quote_these_too.addr, align 8 + %349 = load i8*, i8** %left_quote.addr, align 8 + %350 = load i8*, i8** %right_quote.addr, align 8 + %call696 = call i64 @quotearg_buffer_restyled(i8* %343, i64 %344, i8* %345, i64 %346, i32 5, i32 %347, i32* %348, i8* %349, i8* %350) + store i64 %call696, i64* %retval, align 8 + br label %return + +if.else697: ; preds = %if.then693 + %351 = load i64, i64* %buffersize.addr, align 8 + %tobool698 = icmp eq i64 %351, 0 + %352 = load i64, i64* %orig_buffersize, align 8 + %tobool700 = icmp ne i64 %352, 0 + %or.cond8 = and i1 %tobool698, %tobool700 + br i1 %or.cond8, label %if.then701, label %if.end704 + +if.then701: ; preds = %if.else697 + %353 = load i64, i64* %orig_buffersize, align 8 + store i64 %353, i64* %buffersize.addr, align 8 + store i64 0, i64* %len, align 8 + br label %process_input + +if.end704: ; preds = %if.else697, %land.lhs.true690, %land.lhs.true688, %if.end685 + %354 = load i8*, i8** %quote_string, align 8 + %tobool705 = icmp ne i8* %354, null + br i1 %tobool705, label %land.lhs.true706, label %if.end724 + +land.lhs.true706: ; preds = %if.end704 + %355 = load i8, i8* %elide_outer_quotes, align 1 + %tobool707 = trunc i8 %355 to i1 + br i1 %tobool707, label %if.end724, label %for.cond709 + +for.cond709: ; preds = %land.lhs.true706, %if.end717 + %356 = load i8*, i8** %quote_string, align 8 + %357 = load i8, i8* %356, align 1 + %tobool710 = icmp ne i8 %357, 0 + br i1 %tobool710, label %do.body712, label %if.end724 + +do.body712: ; preds = %for.cond709 + %358 = load i64, i64* %len, align 8 + %359 = load i64, i64* %buffersize.addr, align 8 + %cmp713 = icmp ult i64 %358, %359 + br i1 %cmp713, label %if.then715, label %if.end717 + +if.then715: ; preds = %do.body712 + %360 = load i8*, i8** %quote_string, align 8 + %361 = load i8, i8* %360, align 1 + %362 = load i8*, i8** %buffer.addr, align 8 + %363 = load i64, i64* %len, align 8 + %arrayidx716 = getelementptr inbounds i8, i8* %362, i64 %363 + store i8 %361, i8* %arrayidx716, align 1 + br label %if.end717 + +if.end717: ; preds = %if.then715, %do.body712 + %364 = load i64, i64* %len, align 8 + %inc718 = add i64 %364, 1 + store i64 %inc718, i64* %len, align 8 + %365 = load i8*, i8** %quote_string, align 8 + %incdec.ptr722 = getelementptr inbounds i8, i8* %365, i32 1 + store i8* %incdec.ptr722, i8** %quote_string, align 8 + br label %for.cond709 + +if.end724: ; preds = %for.cond709, %land.lhs.true706, %if.end704 + %366 = load i64, i64* %len, align 8 + %367 = load i64, i64* %buffersize.addr, align 8 + %cmp725 = icmp ult i64 %366, %367 + br i1 %cmp725, label %if.then727, label %if.end729 + +if.then727: ; preds = %if.end724 + %368 = load i8*, i8** %buffer.addr, align 8 + %369 = load i64, i64* %len, align 8 + %arrayidx728 = getelementptr inbounds i8, i8* %368, i64 %369 + store i8 0, i8* %arrayidx728, align 1 + br label %if.end729 + +if.end729: ; preds = %if.then727, %if.end724 + %370 = load i64, i64* %len, align 8 + store i64 %370, i64* %retval, align 8 + br label %return + +force_outer_quoting_style: ; preds = %NodeBlock267, %NodeBlock265, %NodeBlock263, %NodeBlock261, %NodeBlock259, %land.lhs.true681, %do.body586, %do.body427, %if.then300, %land.lhs.true292, %land.lhs.true262, %if.then246, %sw.bb192, %sw.bb171, %do.body86, %if.then76 + %371 = load i32, i32* %quoting_style.addr, align 4 + %cmp730 = icmp eq i32 %371, 2 + br i1 %cmp730, label %land.lhs.true732, label %if.end736 + +land.lhs.true732: ; preds = %force_outer_quoting_style + %372 = load i8, i8* %backslash_escapes, align 1 + %tobool733 = trunc i8 %372 to i1 + br i1 %tobool733, label %if.then735, label %if.end736 + +if.then735: ; preds = %land.lhs.true732 + store i32 4, i32* %quoting_style.addr, align 4 + br label %if.end736 + +if.end736: ; preds = %if.then735, %land.lhs.true732, %force_outer_quoting_style + %373 = load i8*, i8** %buffer.addr, align 8 + %374 = load i64, i64* %buffersize.addr, align 8 + %375 = load i8*, i8** %arg.addr, align 8 + %376 = load i64, i64* %argsize.addr, align 8 + %377 = load i32, i32* %quoting_style.addr, align 4 + %378 = load i32, i32* %flags.addr, align 4 + %and737 = and i32 %378, -3 + %379 = load i8*, i8** %left_quote.addr, align 8 + %380 = load i8*, i8** %right_quote.addr, align 8 + %call738 = call i64 @quotearg_buffer_restyled(i8* %373, i64 %374, i8* %375, i64 %376, i32 %377, i32 %and737, i32* null, i8* %379, i8* %380) + store i64 %call738, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end736, %if.end729, %if.then695 + %381 = load i64, i64* %retval, align 8 + ret i64 %381 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xcharalloc(i64 %n) #3 { +entry: + %n.addr = alloca i64, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @xmalloc(i64 %0) + ret i8* %call +} + +; Function Attrs: nounwind +declare dso_local i64 @__ctype_get_mb_cur_max() #4 + +; Function Attrs: noinline nounwind uwtable +define internal i8* @gettext_quote(i8* %msgid, i32 %s) #3 { +entry: + %retval = alloca i8*, align 8 + %msgid.addr = alloca i8*, align 8 + %s.addr = alloca i32, align 4 + %translation = alloca i8*, align 8 + %locale_code = alloca i8*, align 8 + store i8* %msgid, i8** %msgid.addr, align 8 + store i32 %s, i32* %s.addr, align 4 + %0 = load i8*, i8** %msgid.addr, align 8 + store i8* %0, i8** %translation, align 8 + %1 = load i8*, i8** %translation, align 8 + %2 = load i8*, i8** %msgid.addr, align 8 + %cmp = icmp ne i8* %1, %2 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %3 = load i8*, i8** %translation, align 8 + store i8* %3, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %call = call i8* @locale_charset() + store i8* %call, i8** %locale_code, align 8 + %4 = load i8*, i8** %locale_code, align 8 + %call1 = call i32 @c_strcasecmp(i8* %4, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.13.82, i64 0, i64 0)) #24 + %cmp2 = icmp eq i32 %call1, 0 + br i1 %cmp2, label %if.then3, label %if.end6 + +if.then3: ; preds = %if.end + %5 = load i8*, i8** %msgid.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 0 + %6 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %6 to i32 + %cmp4 = icmp eq i32 %conv, 96 + %7 = zext i1 %cmp4 to i64 + %cond = select i1 %cmp4, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.14.83, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.15.84, i64 0, i64 0) + store i8* %cond, i8** %retval, align 8 + br label %return + +if.end6: ; preds = %if.end + %8 = load i8*, i8** %locale_code, align 8 + %call7 = call i32 @c_strcasecmp(i8* %8, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.16.85, i64 0, i64 0)) #24 + %cmp8 = icmp eq i32 %call7, 0 + br i1 %cmp8, label %if.then10, label %if.end16 + +if.then10: ; preds = %if.end6 + %9 = load i8*, i8** %msgid.addr, align 8 + %arrayidx11 = getelementptr inbounds i8, i8* %9, i64 0 + %10 = load i8, i8* %arrayidx11, align 1 + %conv12 = sext i8 %10 to i32 + %cmp13 = icmp eq i32 %conv12, 96 + %11 = zext i1 %cmp13 to i64 + %cond15 = select i1 %cmp13, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.17.86, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.18.87, i64 0, i64 0) + store i8* %cond15, i8** %retval, align 8 + br label %return + +if.end16: ; preds = %if.end6 + %12 = load i32, i32* %s.addr, align 4 + %cmp17 = icmp eq i32 %12, 9 + %13 = zext i1 %cmp17 to i64 + %cond19 = select i1 %cmp17, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10.79, i64 0, i64 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.81, i64 0, i64 0) + store i8* %cond19, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end16, %if.then10, %if.then3, %if.then + %14 = load i8*, i8** %retval, align 8 + ret i8* %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @rpl_mbrtowc(i32* %pwc, i8* %s, i64 %n, %struct.__mbstate_t* %ps) #3 { +entry: + %retval = alloca i64, align 8 + %pwc.addr = alloca i32*, align 8 + %s.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t*, align 8 + %ret = alloca i64, align 8 + %wc = alloca i32, align 4 + %uc = alloca i8, align 1 + store i32* %pwc, i32** %pwc.addr, align 8 + store i8* %s, i8** %s.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__mbstate_t* %ps, %struct.__mbstate_t** %ps.addr, align 8 + %0 = load i32*, i32** %pwc.addr, align 8 + %tobool = icmp ne i32* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i32* %wc, i32** %pwc.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i32*, i32** %pwc.addr, align 8 + %2 = load i8*, i8** %s.addr, align 8 + %3 = load i64, i64* %n.addr, align 8 + %4 = load %struct.__mbstate_t*, %struct.__mbstate_t** %ps.addr, align 8 + %call = call i64 bitcast (i64 (i32*, i8*, i64, %struct.__mbstate_t.512*)* @mbrtowc to i64 (i32*, i8*, i64, %struct.__mbstate_t*)*)(i32* %1, i8* %2, i64 %3, %struct.__mbstate_t* %4) #11 + store i64 %call, i64* %ret, align 8 + %5 = load i64, i64* %ret, align 8 + %cmp = icmp ule i64 -2, %5 + %6 = load i64, i64* %n.addr, align 8 + %cmp1 = icmp ne i64 %6, 0 + %or.cond = and i1 %cmp, %cmp1 + br i1 %or.cond, label %land.lhs.true2, label %if.end5 + +land.lhs.true2: ; preds = %if.end + %call3 = call zeroext i1 @hard_locale(i32 0) + br i1 %call3, label %if.end5, label %if.then4 + +if.then4: ; preds = %land.lhs.true2 + %7 = load i8*, i8** %s.addr, align 8 + %8 = load i8, i8* %7, align 1 + store i8 %8, i8* %uc, align 1 + %9 = load i8, i8* %uc, align 1 + %conv = zext i8 %9 to i32 + %10 = load i32*, i32** %pwc.addr, align 8 + store i32 %conv, i32* %10, align 4 + store i64 1, i64* %retval, align 8 + br label %return + +if.end5: ; preds = %land.lhs.true2, %if.end + %11 = load i64, i64* %ret, align 8 + store i64 %11, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end5, %if.then4 + %12 = load i64, i64* %retval, align 8 + ret i64 %12 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @hard_locale(i32 %category) #3 { +entry: + %retval = alloca i1, align 1 + %category.addr = alloca i32, align 4 + %locale = alloca [257 x i8], align 16 + store i32 %category, i32* %category.addr, align 4 + %0 = load i32, i32* %category.addr, align 4 + %arraydecay = getelementptr inbounds [257 x i8], [257 x i8]* %locale, i64 0, i64 0 + %call = call i32 @setlocale_null_r(i32 %0, i8* %arraydecay, i64 257) + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +if.end: ; preds = %entry + %arraydecay1 = getelementptr inbounds [257 x i8], [257 x i8]* %locale, i64 0, i64 0 + %call2 = call i32 @strcmp(i8* %arraydecay1, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.158, i64 0, i64 0)) #24 + %cmp = icmp eq i32 %call2, 0 + br i1 %cmp, label %lor.end, label %lor.rhs + +lor.rhs: ; preds = %if.end + %arraydecay3 = getelementptr inbounds [257 x i8], [257 x i8]* %locale, i64 0, i64 0 + %call4 = call i32 @strcmp(i8* %arraydecay3, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1.159, i64 0, i64 0)) #24 + %cmp5 = icmp eq i32 %call4, 0 + br label %lor.end + +lor.end: ; preds = %lor.rhs, %if.end + %1 = phi i1 [ true, %if.end ], [ %cmp5, %lor.rhs ] + %lnot = xor i1 %1, true + store i1 %lnot, i1* %retval, align 1 + br label %return + +return: ; preds = %lor.end, %if.then + %2 = load i1, i1* %retval, align 1 + ret i1 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @setlocale_null_r(i32 %category, i8* nonnull %buf, i64 %bufsize) #3 { +entry: + %category.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + store i32 %category, i32* %category.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i32, i32* %category.addr, align 4 + %1 = load i8*, i8** %buf.addr, align 8 + %2 = load i64, i64* %bufsize.addr, align 8 + %call = call i32 @setlocale_null_unlocked(i32 %0, i8* %1, i64 %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @setlocale_null_unlocked(i32 %category, i8* %buf, i64 %bufsize) #3 { +entry: + %retval = alloca i32, align 4 + %category.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %result = alloca i8*, align 8 + %length = alloca i64, align 8 + store i32 %category, i32* %category.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i32, i32* %category.addr, align 4 + %call = call i8* @setlocale_null_androidfix(i32 %0) + store i8* %call, i8** %result, align 8 + %1 = load i8*, i8** %result, align 8 + %cmp = icmp eq i8* %1, null + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %2 = load i64, i64* %bufsize.addr, align 8 + %cmp1 = icmp ugt i64 %2, 0 + br i1 %cmp1, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + %3 = load i8*, i8** %buf.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %3, i64 0 + store i8 0, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + store i32 22, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %4 = load i8*, i8** %result, align 8 + %call3 = call i64 @strlen(i8* %4) #24 + store i64 %call3, i64* %length, align 8 + %5 = load i64, i64* %length, align 8 + %6 = load i64, i64* %bufsize.addr, align 8 + %cmp4 = icmp ult i64 %5, %6 + br i1 %cmp4, label %if.then5, label %if.else6 + +if.then5: ; preds = %if.else + %7 = load i8*, i8** %buf.addr, align 8 + %8 = load i8*, i8** %result, align 8 + %9 = load i64, i64* %length, align 8 + %add = add i64 %9, 1 + %10 = call i8* @memcpy(i8* %7, i8* %8, i64 %add) + store i32 0, i32* %retval, align 4 + br label %return + +if.else6: ; preds = %if.else + %11 = load i64, i64* %bufsize.addr, align 8 + %cmp7 = icmp ugt i64 %11, 0 + br i1 %cmp7, label %if.then8, label %if.end11 + +if.then8: ; preds = %if.else6 + %12 = load i8*, i8** %buf.addr, align 8 + %13 = load i8*, i8** %result, align 8 + %14 = load i64, i64* %bufsize.addr, align 8 + %sub = sub i64 %14, 1 + %15 = call i8* @memcpy(i8* %12, i8* %13, i64 %sub) + %16 = load i8*, i8** %buf.addr, align 8 + %17 = load i64, i64* %bufsize.addr, align 8 + %sub9 = sub i64 %17, 1 + %arrayidx10 = getelementptr inbounds i8, i8* %16, i64 %sub9 + store i8 0, i8* %arrayidx10, align 1 + br label %if.end11 + +if.end11: ; preds = %if.then8, %if.else6 + store i32 34, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end11, %if.then5, %if.end + %18 = load i32, i32* %retval, align 4 + ret i32 %18 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @setlocale_null_androidfix(i32 %category) #3 { +entry: + %category.addr = alloca i32, align 4 + %result = alloca i8*, align 8 + store i32 %category, i32* %category.addr, align 4 + %0 = load i32, i32* %category.addr, align 4 + %call = call i8* @setlocale(i32 %0, i8* null) #11 + store i8* %call, i8** %result, align 8 + %1 = load i8*, i8** %result, align 8 + ret i8* %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @locale_charset() #3 { +entry: + %codeset = alloca i8*, align 8 + %call = call i8* @nl_langinfo(i32 14) #11 + store i8* %call, i8** %codeset, align 8 + %0 = load i8*, i8** %codeset, align 8 + %cmp = icmp eq i8* %0, null + %spec.store.select = select i1 %cmp, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.162, i64 0, i64 0), i8* %call + store i8* %spec.store.select, i8** %codeset, align 8 + %1 = load i8*, i8** %codeset, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %2 to i32 + %cmp1 = icmp eq i32 %conv, 0 + %spec.store.select1 = select i1 %cmp1, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1.163, i64 0, i64 0), i8* %spec.store.select + store i8* %spec.store.select1, i8** %codeset, align 8 + %3 = load i8*, i8** %codeset, align 8 + ret i8* %3 +} + +; Function Attrs: noinline nounwind readonly uwtable +define dso_local i32 @c_strcasecmp(i8* %s1, i8* %s2) #16 { +entry: + %retval = alloca i32, align 4 + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %p1 = alloca i8*, align 8 + %p2 = alloca i8*, align 8 + %c1 = alloca i8, align 1 + %c2 = alloca i8, align 1 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %p1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %p2, align 8 + %2 = load i8*, i8** %p1, align 8 + %3 = load i8*, i8** %p2, align 8 + %cmp = icmp eq i8* %2, %3 + br i1 %cmp, label %if.then, label %do.body + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +do.body: ; preds = %entry, %if.end9 + %4 = load i8*, i8** %p1, align 8 + %5 = load i8, i8* %4, align 1 + %conv = zext i8 %5 to i32 + %call = call i32 @c_tolower(i32 %conv) + %conv1 = trunc i32 %call to i8 + store i8 %conv1, i8* %c1, align 1 + %6 = load i8*, i8** %p2, align 8 + %7 = load i8, i8* %6, align 1 + %conv2 = zext i8 %7 to i32 + %call3 = call i32 @c_tolower(i32 %conv2) + %conv4 = trunc i32 %call3 to i8 + store i8 %conv4, i8* %c2, align 1 + %8 = load i8, i8* %c1, align 1 + %conv5 = zext i8 %8 to i32 + %cmp6 = icmp eq i32 %conv5, 0 + br i1 %cmp6, label %do.end, label %if.end9 + +if.end9: ; preds = %do.body + %9 = load i8*, i8** %p1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %p1, align 8 + %10 = load i8*, i8** %p2, align 8 + %incdec.ptr10 = getelementptr inbounds i8, i8* %10, i32 1 + store i8* %incdec.ptr10, i8** %p2, align 8 + %11 = load i8, i8* %c1, align 1 + %conv11 = zext i8 %11 to i32 + %12 = load i8, i8* %c2, align 1 + %conv12 = zext i8 %12 to i32 + %cmp13 = icmp eq i32 %conv11, %conv12 + br i1 %cmp13, label %do.body, label %do.end + +do.end: ; preds = %do.body, %if.end9 + %13 = load i8, i8* %c1, align 1 + %conv15 = zext i8 %13 to i32 + %14 = load i8, i8* %c2, align 1 + %conv16 = zext i8 %14 to i32 + %sub = sub nsw i32 %conv15, %conv16 + store i32 %sub, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end, %if.then + %15 = load i32, i32* %retval, align 4 + ret i32 %15 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @c_tolower(i32 %c) #3 { +entry: + %retval = alloca i32, align 4 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -65 + %switch = icmp ult i32 %.off, 26 + %1 = load i32, i32* %c.addr, align 4 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + %sub = sub nsw i32 %1, 65 + %add = add nsw i32 %sub, 97 + store i32 %add, i32* %retval, align 4 + br label %return + +sw.default: ; preds = %entry + store i32 %1, i32* %retval, align 4 + br label %return + +return: ; preds = %sw.default, %sw.bb + %2 = load i32, i32* %retval, align 4 + ret i32 %2 +} + +; Function Attrs: nounwind +declare dso_local i8* @realloc(i8*, i64) #4 + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @set_binary_mode(i32 %fd, i32 %mode) #3 { +entry: + %fd.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i32, i32* %mode.addr, align 4 + %call = call i32 @__gl_setmode(i32 %0, i32 %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @xset_binary_mode_error() #3 { +entry: + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__gl_setmode(i32 %fd, i32 %mode) #3 { +entry: + %fd.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote_n(i32 %n, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quote_n_mem(i32 %0, i8* %1, i64 -1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote_n_mem(i32 %n, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %2 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %0, i8* %1, i64 %2, %struct.quoting_options* @quote_quoting_options) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc_va(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, %struct.__va_list_tag.0* %authors) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors.addr = alloca %struct.__va_list_tag.0*, align 8 + %n_authors = alloca i64, align 8 + %authtab = alloca [10 x i8*], align 16 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + store %struct.__va_list_tag.0* %authors, %struct.__va_list_tag.0** %authors.addr, align 8 + store i64 0, i64* %n_authors, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i64, i64* %n_authors, align 8 + %cmp = icmp ult i64 %0, 10 + br i1 %cmp, label %land.rhs, label %for.end + +land.rhs: ; preds = %for.cond + %1 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %authors.addr, align 8 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %1, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 8 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %land.rhs + %2 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %1, i32 0, i32 3 + %reg_save_area = load i8*, i8** %2, align 8 + %3 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %4 = bitcast i8* %3 to i8** + %5 = add i32 %gp_offset, 8 + store i32 %5, i32* %gp_offset_p, align 8 + br label %vaarg.end + +vaarg.in_mem: ; preds = %land.rhs + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %1, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %6 = bitcast i8* %overflow_arg_area to i8** + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i8** [ %4, %vaarg.in_reg ], [ %6, %vaarg.in_mem ] + %7 = load i8*, i8** %vaarg.addr, align 8 + %8 = load i64, i64* %n_authors, align 8 + %arrayidx = getelementptr inbounds [10 x i8*], [10 x i8*]* %authtab, i64 0, i64 %8 + store i8* %7, i8** %arrayidx, align 8 + %cmp1 = icmp ne i8* %7, null + br i1 %cmp1, label %for.inc, label %for.end + +for.inc: ; preds = %vaarg.end + %9 = load i64, i64* %n_authors, align 8 + %inc = add i64 %9, 1 + store i64 %inc, i64* %n_authors, align 8 + br label %for.cond + +for.end: ; preds = %for.cond, %vaarg.end + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %11 = load i8*, i8** %command_name.addr, align 8 + %12 = load i8*, i8** %package.addr, align 8 + %13 = load i8*, i8** %version.addr, align 8 + %arraydecay = getelementptr inbounds [10 x i8*], [10 x i8*]* %authtab, i64 0, i64 0 + %14 = load i64, i64* %n_authors, align 8 + call void @version_etc_arn(%struct._IO_FILE* %10, i8* %11, i8* %12, i8* %13, i8** %arraydecay, i64 %14) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc_arn(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, i8** %authors, i64 %n_authors) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors.addr = alloca i8**, align 8 + %n_authors.addr = alloca i64, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + store i8** %authors, i8*** %authors.addr, align 8 + store i64 %n_authors, i64* %n_authors.addr, align 8 + %0 = load i8*, i8** %command_name.addr, align 8 + %tobool = icmp ne i8* %0, null + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %entry + %2 = load i8*, i8** %command_name.addr, align 8 + %3 = load i8*, i8** %package.addr, align 8 + %4 = load i8*, i8** %version.addr, align 8 + %call = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %1, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.94, i64 0, i64 0), i8* %2, i8* %3, i8* %4) + br label %if.end + +if.else: ; preds = %entry + %5 = load i8*, i8** %package.addr, align 8 + %6 = load i8*, i8** %version.addr, align 8 + %call1 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %1, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.95, i64 0, i64 0), i8* %5, i8* %6) + br label %if.end + +if.end: ; preds = %if.else, %if.then + %7 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call2 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %7, i8* getelementptr inbounds ([47 x i8], [47 x i8]* @version_etc_copyright, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2.96, i64 0, i64 0), i32 2020) + %8 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call3 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.97, i64 0, i64 0), %struct._IO_FILE* %8) + %9 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call4 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %9, i8* getelementptr inbounds ([171 x i8], [171 x i8]* @.str.4.98, i64 0, i64 0), i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.5.99, i64 0, i64 0)) + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call5 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.97, i64 0, i64 0), %struct._IO_FILE* %10) + %11 = load i64, i64* %n_authors.addr, align 8 + br label %NodeBlock17 + +NodeBlock17: ; preds = %if.end + %case.cmp18 = icmp eq i64 %11, 0 + br i1 %case.cmp18, label %sw.epilog, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i64 %11, 1 + br i1 %case.cmp16, label %sw.bb6, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i64 %11, 2 + br i1 %case.cmp14, label %sw.bb8, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i64 %11, 3 + br i1 %case.cmp12, label %sw.bb12, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i64 %11, 4 + br i1 %case.cmp10, label %sw.bb17, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i64 %11, 5 + br i1 %case.cmp8, label %sw.bb23, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i64 %11, 6 + br i1 %case.cmp6, label %sw.bb30, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i64 %11, 7 + br i1 %case.cmp4, label %sw.bb38, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i64 %11, 8 + br i1 %case.cmp2, label %sw.bb47, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i64 %11, 9 + br i1 %case.cmp, label %sw.bb57, label %newDefault + +sw.bb6: ; preds = %NodeBlock15 + %12 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %13 = load i8**, i8*** %authors.addr, align 8 + %arrayidx = getelementptr inbounds i8*, i8** %13, i64 0 + %14 = load i8*, i8** %arrayidx, align 8 + %call7 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %12, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.6.100, i64 0, i64 0), i8* %14) + br label %sw.epilog + +sw.bb8: ; preds = %NodeBlock13 + %15 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %16 = load i8**, i8*** %authors.addr, align 8 + %arrayidx9 = getelementptr inbounds i8*, i8** %16, i64 0 + %17 = load i8*, i8** %arrayidx9, align 8 + %18 = load i8**, i8*** %authors.addr, align 8 + %arrayidx10 = getelementptr inbounds i8*, i8** %18, i64 1 + %19 = load i8*, i8** %arrayidx10, align 8 + %call11 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %15, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.7.101, i64 0, i64 0), i8* %17, i8* %19) + br label %sw.epilog + +sw.bb12: ; preds = %NodeBlock11 + %20 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %21 = load i8**, i8*** %authors.addr, align 8 + %arrayidx13 = getelementptr inbounds i8*, i8** %21, i64 0 + %22 = load i8*, i8** %arrayidx13, align 8 + %23 = load i8**, i8*** %authors.addr, align 8 + %arrayidx14 = getelementptr inbounds i8*, i8** %23, i64 1 + %24 = load i8*, i8** %arrayidx14, align 8 + %25 = load i8**, i8*** %authors.addr, align 8 + %arrayidx15 = getelementptr inbounds i8*, i8** %25, i64 2 + %26 = load i8*, i8** %arrayidx15, align 8 + %call16 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %20, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.8.102, i64 0, i64 0), i8* %22, i8* %24, i8* %26) + br label %sw.epilog + +sw.bb17: ; preds = %NodeBlock9 + %27 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %28 = load i8**, i8*** %authors.addr, align 8 + %arrayidx18 = getelementptr inbounds i8*, i8** %28, i64 0 + %29 = load i8*, i8** %arrayidx18, align 8 + %30 = load i8**, i8*** %authors.addr, align 8 + %arrayidx19 = getelementptr inbounds i8*, i8** %30, i64 1 + %31 = load i8*, i8** %arrayidx19, align 8 + %32 = load i8**, i8*** %authors.addr, align 8 + %arrayidx20 = getelementptr inbounds i8*, i8** %32, i64 2 + %33 = load i8*, i8** %arrayidx20, align 8 + %34 = load i8**, i8*** %authors.addr, align 8 + %arrayidx21 = getelementptr inbounds i8*, i8** %34, i64 3 + %35 = load i8*, i8** %arrayidx21, align 8 + %call22 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %27, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.9.103, i64 0, i64 0), i8* %29, i8* %31, i8* %33, i8* %35) + br label %sw.epilog + +sw.bb23: ; preds = %NodeBlock7 + %36 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %37 = load i8**, i8*** %authors.addr, align 8 + %arrayidx24 = getelementptr inbounds i8*, i8** %37, i64 0 + %38 = load i8*, i8** %arrayidx24, align 8 + %39 = load i8**, i8*** %authors.addr, align 8 + %arrayidx25 = getelementptr inbounds i8*, i8** %39, i64 1 + %40 = load i8*, i8** %arrayidx25, align 8 + %41 = load i8**, i8*** %authors.addr, align 8 + %arrayidx26 = getelementptr inbounds i8*, i8** %41, i64 2 + %42 = load i8*, i8** %arrayidx26, align 8 + %43 = load i8**, i8*** %authors.addr, align 8 + %arrayidx27 = getelementptr inbounds i8*, i8** %43, i64 3 + %44 = load i8*, i8** %arrayidx27, align 8 + %45 = load i8**, i8*** %authors.addr, align 8 + %arrayidx28 = getelementptr inbounds i8*, i8** %45, i64 4 + %46 = load i8*, i8** %arrayidx28, align 8 + %call29 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %36, i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.10.104, i64 0, i64 0), i8* %38, i8* %40, i8* %42, i8* %44, i8* %46) + br label %sw.epilog + +sw.bb30: ; preds = %NodeBlock5 + %47 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %48 = load i8**, i8*** %authors.addr, align 8 + %arrayidx31 = getelementptr inbounds i8*, i8** %48, i64 0 + %49 = load i8*, i8** %arrayidx31, align 8 + %50 = load i8**, i8*** %authors.addr, align 8 + %arrayidx32 = getelementptr inbounds i8*, i8** %50, i64 1 + %51 = load i8*, i8** %arrayidx32, align 8 + %52 = load i8**, i8*** %authors.addr, align 8 + %arrayidx33 = getelementptr inbounds i8*, i8** %52, i64 2 + %53 = load i8*, i8** %arrayidx33, align 8 + %54 = load i8**, i8*** %authors.addr, align 8 + %arrayidx34 = getelementptr inbounds i8*, i8** %54, i64 3 + %55 = load i8*, i8** %arrayidx34, align 8 + %56 = load i8**, i8*** %authors.addr, align 8 + %arrayidx35 = getelementptr inbounds i8*, i8** %56, i64 4 + %57 = load i8*, i8** %arrayidx35, align 8 + %58 = load i8**, i8*** %authors.addr, align 8 + %arrayidx36 = getelementptr inbounds i8*, i8** %58, i64 5 + %59 = load i8*, i8** %arrayidx36, align 8 + %call37 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %47, i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.11.105, i64 0, i64 0), i8* %49, i8* %51, i8* %53, i8* %55, i8* %57, i8* %59) + br label %sw.epilog + +sw.bb38: ; preds = %NodeBlock3 + %60 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %61 = load i8**, i8*** %authors.addr, align 8 + %arrayidx39 = getelementptr inbounds i8*, i8** %61, i64 0 + %62 = load i8*, i8** %arrayidx39, align 8 + %63 = load i8**, i8*** %authors.addr, align 8 + %arrayidx40 = getelementptr inbounds i8*, i8** %63, i64 1 + %64 = load i8*, i8** %arrayidx40, align 8 + %65 = load i8**, i8*** %authors.addr, align 8 + %arrayidx41 = getelementptr inbounds i8*, i8** %65, i64 2 + %66 = load i8*, i8** %arrayidx41, align 8 + %67 = load i8**, i8*** %authors.addr, align 8 + %arrayidx42 = getelementptr inbounds i8*, i8** %67, i64 3 + %68 = load i8*, i8** %arrayidx42, align 8 + %69 = load i8**, i8*** %authors.addr, align 8 + %arrayidx43 = getelementptr inbounds i8*, i8** %69, i64 4 + %70 = load i8*, i8** %arrayidx43, align 8 + %71 = load i8**, i8*** %authors.addr, align 8 + %arrayidx44 = getelementptr inbounds i8*, i8** %71, i64 5 + %72 = load i8*, i8** %arrayidx44, align 8 + %73 = load i8**, i8*** %authors.addr, align 8 + %arrayidx45 = getelementptr inbounds i8*, i8** %73, i64 6 + %74 = load i8*, i8** %arrayidx45, align 8 + %call46 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %60, i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.12.106, i64 0, i64 0), i8* %62, i8* %64, i8* %66, i8* %68, i8* %70, i8* %72, i8* %74) + br label %sw.epilog + +sw.bb47: ; preds = %NodeBlock1 + %75 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %76 = load i8**, i8*** %authors.addr, align 8 + %arrayidx48 = getelementptr inbounds i8*, i8** %76, i64 0 + %77 = load i8*, i8** %arrayidx48, align 8 + %78 = load i8**, i8*** %authors.addr, align 8 + %arrayidx49 = getelementptr inbounds i8*, i8** %78, i64 1 + %79 = load i8*, i8** %arrayidx49, align 8 + %80 = load i8**, i8*** %authors.addr, align 8 + %arrayidx50 = getelementptr inbounds i8*, i8** %80, i64 2 + %81 = load i8*, i8** %arrayidx50, align 8 + %82 = load i8**, i8*** %authors.addr, align 8 + %arrayidx51 = getelementptr inbounds i8*, i8** %82, i64 3 + %83 = load i8*, i8** %arrayidx51, align 8 + %84 = load i8**, i8*** %authors.addr, align 8 + %arrayidx52 = getelementptr inbounds i8*, i8** %84, i64 4 + %85 = load i8*, i8** %arrayidx52, align 8 + %86 = load i8**, i8*** %authors.addr, align 8 + %arrayidx53 = getelementptr inbounds i8*, i8** %86, i64 5 + %87 = load i8*, i8** %arrayidx53, align 8 + %88 = load i8**, i8*** %authors.addr, align 8 + %arrayidx54 = getelementptr inbounds i8*, i8** %88, i64 6 + %89 = load i8*, i8** %arrayidx54, align 8 + %90 = load i8**, i8*** %authors.addr, align 8 + %arrayidx55 = getelementptr inbounds i8*, i8** %90, i64 7 + %91 = load i8*, i8** %arrayidx55, align 8 + %call56 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %75, i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.13.107, i64 0, i64 0), i8* %77, i8* %79, i8* %81, i8* %83, i8* %85, i8* %87, i8* %89, i8* %91) + br label %sw.epilog + +sw.bb57: ; preds = %NodeBlock + %92 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %93 = load i8**, i8*** %authors.addr, align 8 + %arrayidx58 = getelementptr inbounds i8*, i8** %93, i64 0 + %94 = load i8*, i8** %arrayidx58, align 8 + %95 = load i8**, i8*** %authors.addr, align 8 + %arrayidx59 = getelementptr inbounds i8*, i8** %95, i64 1 + %96 = load i8*, i8** %arrayidx59, align 8 + %97 = load i8**, i8*** %authors.addr, align 8 + %arrayidx60 = getelementptr inbounds i8*, i8** %97, i64 2 + %98 = load i8*, i8** %arrayidx60, align 8 + %99 = load i8**, i8*** %authors.addr, align 8 + %arrayidx61 = getelementptr inbounds i8*, i8** %99, i64 3 + %100 = load i8*, i8** %arrayidx61, align 8 + %101 = load i8**, i8*** %authors.addr, align 8 + %arrayidx62 = getelementptr inbounds i8*, i8** %101, i64 4 + %102 = load i8*, i8** %arrayidx62, align 8 + %103 = load i8**, i8*** %authors.addr, align 8 + %arrayidx63 = getelementptr inbounds i8*, i8** %103, i64 5 + %104 = load i8*, i8** %arrayidx63, align 8 + %105 = load i8**, i8*** %authors.addr, align 8 + %arrayidx64 = getelementptr inbounds i8*, i8** %105, i64 6 + %106 = load i8*, i8** %arrayidx64, align 8 + %107 = load i8**, i8*** %authors.addr, align 8 + %arrayidx65 = getelementptr inbounds i8*, i8** %107, i64 7 + %108 = load i8*, i8** %arrayidx65, align 8 + %109 = load i8**, i8*** %authors.addr, align 8 + %arrayidx66 = getelementptr inbounds i8*, i8** %109, i64 8 + %110 = load i8*, i8** %arrayidx66, align 8 + %call67 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %92, i8* getelementptr inbounds ([52 x i8], [52 x i8]* @.str.14.108, i64 0, i64 0), i8* %94, i8* %96, i8* %98, i8* %100, i8* %102, i8* %104, i8* %106, i8* %108, i8* %110) + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + %111 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %112 = load i8**, i8*** %authors.addr, align 8 + %arrayidx68 = getelementptr inbounds i8*, i8** %112, i64 0 + %113 = load i8*, i8** %arrayidx68, align 8 + %114 = load i8**, i8*** %authors.addr, align 8 + %arrayidx69 = getelementptr inbounds i8*, i8** %114, i64 1 + %115 = load i8*, i8** %arrayidx69, align 8 + %116 = load i8**, i8*** %authors.addr, align 8 + %arrayidx70 = getelementptr inbounds i8*, i8** %116, i64 2 + %117 = load i8*, i8** %arrayidx70, align 8 + %118 = load i8**, i8*** %authors.addr, align 8 + %arrayidx71 = getelementptr inbounds i8*, i8** %118, i64 3 + %119 = load i8*, i8** %arrayidx71, align 8 + %120 = load i8**, i8*** %authors.addr, align 8 + %arrayidx72 = getelementptr inbounds i8*, i8** %120, i64 4 + %121 = load i8*, i8** %arrayidx72, align 8 + %122 = load i8**, i8*** %authors.addr, align 8 + %arrayidx73 = getelementptr inbounds i8*, i8** %122, i64 5 + %123 = load i8*, i8** %arrayidx73, align 8 + %124 = load i8**, i8*** %authors.addr, align 8 + %arrayidx74 = getelementptr inbounds i8*, i8** %124, i64 6 + %125 = load i8*, i8** %arrayidx74, align 8 + %126 = load i8**, i8*** %authors.addr, align 8 + %arrayidx75 = getelementptr inbounds i8*, i8** %126, i64 7 + %127 = load i8*, i8** %arrayidx75, align 8 + %128 = load i8**, i8*** %authors.addr, align 8 + %arrayidx76 = getelementptr inbounds i8*, i8** %128, i64 8 + %129 = load i8*, i8** %arrayidx76, align 8 + %call77 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %111, i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.15.109, i64 0, i64 0), i8* %113, i8* %115, i8* %117, i8* %119, i8* %121, i8* %123, i8* %125, i8* %127, i8* %129) + br label %sw.epilog + +sw.epilog: ; preds = %NodeBlock17, %sw.default, %sw.bb57, %sw.bb47, %sw.bb38, %sw.bb30, %sw.bb23, %sw.bb17, %sw.bb12, %sw.bb8, %sw.bb6 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @xnumtoumax(i8* %n_str, i32 %base, i64 %min, i64 %max, i8* %suffixes, i8* %err, i32 %err_exit) #3 { +entry: + %n_str.addr = alloca i8*, align 8 + %base.addr = alloca i32, align 4 + %min.addr = alloca i64, align 8 + %max.addr = alloca i64, align 8 + %suffixes.addr = alloca i8*, align 8 + %err.addr = alloca i8*, align 8 + %err_exit.addr = alloca i32, align 4 + %s_err = alloca i32, align 4 + %tnum = alloca i64, align 8 + store i8* %n_str, i8** %n_str.addr, align 8 + store i32 %base, i32* %base.addr, align 4 + store i64 %min, i64* %min.addr, align 8 + store i64 %max, i64* %max.addr, align 8 + store i8* %suffixes, i8** %suffixes.addr, align 8 + store i8* %err, i8** %err.addr, align 8 + store i32 %err_exit, i32* %err_exit.addr, align 4 + %0 = load i8*, i8** %n_str.addr, align 8 + %1 = load i32, i32* %base.addr, align 4 + %2 = load i8*, i8** %suffixes.addr, align 8 + %call = call i32 @xstrtoumax(i8* %0, i8** null, i32 %1, i64* %tnum, i8* %2) + store i32 %call, i32* %s_err, align 4 + %3 = load i32, i32* %s_err, align 4 + %cmp = icmp eq i32 %3, 0 + br i1 %cmp, label %if.then, label %if.else9 + +if.then: ; preds = %entry + %4 = load i64, i64* %tnum, align 8 + %5 = load i64, i64* %min.addr, align 8 + %cmp1 = icmp ult i64 %4, %5 + br i1 %cmp1, label %if.then3, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then + %6 = load i64, i64* %max.addr, align 8 + %7 = load i64, i64* %tnum, align 8 + %cmp2 = icmp ult i64 %6, %7 + br i1 %cmp2, label %if.then3, label %if.end19 + +if.then3: ; preds = %lor.lhs.false, %if.then + store i32 1, i32* %s_err, align 4 + %8 = load i64, i64* %tnum, align 8 + %cmp4 = icmp ugt i64 %8, 1073741823 + %call6 = call i32* @__errno_location() #26 + br i1 %cmp4, label %if.then5, label %if.else + +if.then5: ; preds = %if.then3 + store i32 75, i32* %call6, align 4 + br label %if.end19 + +if.else: ; preds = %if.then3 + store i32 34, i32* %call6, align 4 + br label %if.end19 + +if.else9: ; preds = %entry + %9 = load i32, i32* %s_err, align 4 + %cmp10 = icmp eq i32 %9, 1 + br i1 %cmp10, label %if.then11, label %if.else13 + +if.then11: ; preds = %if.else9 + %call12 = call i32* @__errno_location() #26 + store i32 75, i32* %call12, align 4 + br label %if.end19 + +if.else13: ; preds = %if.else9 + %10 = load i32, i32* %s_err, align 4 + %cmp14 = icmp eq i32 %10, 3 + br i1 %cmp14, label %if.then15, label %if.end19 + +if.then15: ; preds = %if.else13 + %call16 = call i32* @__errno_location() #26 + store i32 0, i32* %call16, align 4 + br label %if.end19 + +if.end19: ; preds = %if.then11, %if.then15, %if.else13, %lor.lhs.false, %if.else, %if.then5 + %11 = load i32, i32* %s_err, align 4 + %cmp20 = icmp ne i32 %11, 0 + br i1 %cmp20, label %if.then21, label %if.end30 + +if.then21: ; preds = %if.end19 + %12 = load i32, i32* %err_exit.addr, align 4 + %tobool = icmp ne i32 %12, 0 + %13 = load i32, i32* %err_exit.addr, align 4 + %cond = select i1 %tobool, i32 %13, i32 1 + %call22 = call i32* @__errno_location() #26 + %14 = load i32, i32* %call22, align 4 + %cmp23 = icmp eq i32 %14, 22 + br i1 %cmp23, label %cond.end27, label %cond.false25 + +cond.false25: ; preds = %if.then21 + %call26 = call i32* @__errno_location() #26 + %15 = load i32, i32* %call26, align 4 + br label %cond.end27 + +cond.end27: ; preds = %if.then21, %cond.false25 + %cond28 = phi i32 [ %15, %cond.false25 ], [ 0, %if.then21 ] + %16 = load i8*, i8** %err.addr, align 8 + %17 = load i8*, i8** %n_str.addr, align 8 + %call29 = call i8* @quote(i8* %17) + call void (i32, i32, i8*, ...) @error(i32 %cond, i32 %cond28, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.135, i64 0, i64 0), i8* %16, i8* %call29) + br label %if.end30 + +if.end30: ; preds = %cond.end27, %if.end19 + %18 = load i64, i64* %tnum, align 8 + ret i64 %18 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @xstrtoumax(i8* %s, i8** %ptr, i32 %strtol_base, i64* %val, i8* %valid_suffixes) #3 { +entry: + %retval = alloca i32, align 4 + %s.addr = alloca i8*, align 8 + %ptr.addr = alloca i8**, align 8 + %strtol_base.addr = alloca i32, align 4 + %val.addr = alloca i64*, align 8 + %valid_suffixes.addr = alloca i8*, align 8 + %t_ptr = alloca i8*, align 8 + %p = alloca i8**, align 8 + %tmp = alloca i64, align 8 + %err = alloca i32, align 4 + %q = alloca i8*, align 8 + %ch = alloca i8, align 1 + %base = alloca i32, align 4 + %suffixes = alloca i32, align 4 + %overflow = alloca i32, align 4 + store i8* %s, i8** %s.addr, align 8 + store i8** %ptr, i8*** %ptr.addr, align 8 + store i32 %strtol_base, i32* %strtol_base.addr, align 4 + store i64* %val, i64** %val.addr, align 8 + store i8* %valid_suffixes, i8** %valid_suffixes.addr, align 8 + store i32 0, i32* %err, align 4 + %0 = load i32, i32* %strtol_base.addr, align 4 + %cmp = icmp sle i32 0, %0 + %1 = load i32, i32* %strtol_base.addr, align 4 + %cmp1 = icmp sle i32 %1, 36 + %or.cond = and i1 %cmp, %cmp1 + br i1 %or.cond, label %if.end, label %if.else + +if.else: ; preds = %entry + call void @__assert_fail(i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.140, i64 0, i64 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.1.141, i64 0, i64 0), i32 84, i8* getelementptr inbounds ([79 x i8], [79 x i8]* @__PRETTY_FUNCTION__.xstrtoumax, i64 0, i64 0)) #27 + unreachable + +if.end: ; preds = %entry + %2 = load i8**, i8*** %ptr.addr, align 8 + %tobool = icmp ne i8** %2, null + %3 = load i8**, i8*** %ptr.addr, align 8 + %cond = select i1 %tobool, i8** %3, i8** %t_ptr + store i8** %cond, i8*** %p, align 8 + %call = call i32* @__errno_location() #26 + store i32 0, i32* %call, align 4 + %4 = load i8*, i8** %s.addr, align 8 + store i8* %4, i8** %q, align 8 + %5 = load i8*, i8** %q, align 8 + %6 = load i8, i8* %5, align 1 + store i8 %6, i8* %ch, align 1 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end + %call2 = call i16** @__ctype_b_loc() #26 + %7 = load i16*, i16** %call2, align 8 + %8 = load i8, i8* %ch, align 1 + %conv = zext i8 %8 to i32 + %idxprom = sext i32 %conv to i64 + %arrayidx = getelementptr inbounds i16, i16* %7, i64 %idxprom + %9 = load i16, i16* %arrayidx, align 2 + %conv3 = zext i16 %9 to i32 + %and = and i32 %conv3, 8192 + %tobool4 = icmp ne i32 %and, 0 + br i1 %tobool4, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %10 = load i8*, i8** %q, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %10, i32 1 + store i8* %incdec.ptr, i8** %q, align 8 + %11 = load i8, i8* %incdec.ptr, align 1 + store i8 %11, i8* %ch, align 1 + br label %while.cond + +while.end: ; preds = %while.cond + %12 = load i8, i8* %ch, align 1 + %conv5 = zext i8 %12 to i32 + %cmp6 = icmp eq i32 %conv5, 45 + br i1 %cmp6, label %if.then8, label %if.end9 + +if.then8: ; preds = %while.end + store i32 4, i32* %retval, align 4 + br label %return + +if.end9: ; preds = %while.end + %13 = load i8*, i8** %s.addr, align 8 + %14 = load i8**, i8*** %p, align 8 + %15 = load i32, i32* %strtol_base.addr, align 4 + %call10 = call i64 @strtoumax(i8* %13, i8** %14, i32 %15) #11 + store i64 %call10, i64* %tmp, align 8 + %16 = load i8**, i8*** %p, align 8 + %17 = load i8*, i8** %16, align 8 + %18 = load i8*, i8** %s.addr, align 8 + %cmp11 = icmp eq i8* %17, %18 + br i1 %cmp11, label %if.then13, label %if.else25 + +if.then13: ; preds = %if.end9 + %19 = load i8*, i8** %valid_suffixes.addr, align 8 + %tobool14 = icmp ne i8* %19, null + br i1 %tobool14, label %land.lhs.true15, label %if.else23 + +land.lhs.true15: ; preds = %if.then13 + %20 = load i8**, i8*** %p, align 8 + %21 = load i8*, i8** %20, align 8 + %22 = load i8, i8* %21, align 1 + %conv16 = sext i8 %22 to i32 + %tobool17 = icmp ne i32 %conv16, 0 + br i1 %tobool17, label %land.lhs.true18, label %if.else23 + +land.lhs.true18: ; preds = %land.lhs.true15 + %23 = load i8*, i8** %valid_suffixes.addr, align 8 + %24 = load i8**, i8*** %p, align 8 + %25 = load i8*, i8** %24, align 8 + %26 = load i8, i8* %25, align 1 + %conv19 = sext i8 %26 to i32 + %call20 = call i8* @strchr(i8* %23, i32 %conv19) #24 + %tobool21 = icmp ne i8* %call20, null + br i1 %tobool21, label %if.then22, label %if.else23 + +if.then22: ; preds = %land.lhs.true18 + store i64 1, i64* %tmp, align 8 + br label %if.end36 + +if.else23: ; preds = %land.lhs.true18, %land.lhs.true15, %if.then13 + store i32 4, i32* %retval, align 4 + br label %return + +if.else25: ; preds = %if.end9 + %call26 = call i32* @__errno_location() #26 + %27 = load i32, i32* %call26, align 4 + %cmp27 = icmp ne i32 %27, 0 + br i1 %cmp27, label %if.then29, label %if.end36 + +if.then29: ; preds = %if.else25 + %call30 = call i32* @__errno_location() #26 + %28 = load i32, i32* %call30, align 4 + %cmp31 = icmp ne i32 %28, 34 + br i1 %cmp31, label %if.then33, label %if.end34 + +if.then33: ; preds = %if.then29 + store i32 4, i32* %retval, align 4 + br label %return + +if.end34: ; preds = %if.then29 + store i32 1, i32* %err, align 4 + br label %if.end36 + +if.end36: ; preds = %if.else25, %if.end34, %if.then22 + %29 = load i8*, i8** %valid_suffixes.addr, align 8 + %tobool37 = icmp ne i8* %29, null + br i1 %tobool37, label %if.end39, label %if.then38 + +if.then38: ; preds = %if.end36 + %30 = load i64, i64* %tmp, align 8 + %31 = load i64*, i64** %val.addr, align 8 + store i64 %30, i64* %31, align 8 + %32 = load i32, i32* %err, align 4 + store i32 %32, i32* %retval, align 4 + br label %return + +if.end39: ; preds = %if.end36 + %33 = load i8**, i8*** %p, align 8 + %34 = load i8*, i8** %33, align 8 + %35 = load i8, i8* %34, align 1 + %conv40 = sext i8 %35 to i32 + %cmp41 = icmp ne i32 %conv40, 0 + br i1 %cmp41, label %if.then43, label %if.end98 + +if.then43: ; preds = %if.end39 + store i32 1024, i32* %base, align 4 + store i32 1, i32* %suffixes, align 4 + %36 = load i8*, i8** %valid_suffixes.addr, align 8 + %37 = load i8**, i8*** %p, align 8 + %38 = load i8*, i8** %37, align 8 + %39 = load i8, i8* %38, align 1 + %conv44 = sext i8 %39 to i32 + %call45 = call i8* @strchr(i8* %36, i32 %conv44) #24 + %tobool46 = icmp ne i8* %call45, null + br i1 %tobool46, label %if.end48, label %if.then47 + +if.then47: ; preds = %if.then43 + %40 = load i64, i64* %tmp, align 8 + %41 = load i64*, i64** %val.addr, align 8 + store i64 %40, i64* %41, align 8 + %42 = load i32, i32* %err, align 4 + %or = or i32 %42, 2 + store i32 %or, i32* %retval, align 4 + br label %return + +if.end48: ; preds = %if.then43 + %43 = load i8**, i8*** %p, align 8 + %44 = load i8*, i8** %43, align 8 + %45 = load i8, i8* %44, align 1 + %conv49 = sext i8 %45 to i32 + br label %NodeBlock21 + +NodeBlock21: ; preds = %if.end48 + %case.cmp22 = icmp eq i32 %conv49, 69 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %conv49, 71 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %conv49, 103 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %conv49, 107 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %conv49, 75 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %conv49, 77 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %conv49, 109 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %conv49, 80 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %conv49, 84 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %conv49, 116 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %conv49, 89 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %conv49, 90 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + %46 = load i8*, i8** %valid_suffixes.addr, align 8 + %call50 = call i8* @strchr(i8* %46, i32 48) #24 + %tobool51 = icmp ne i8* %call50, null + br i1 %tobool51, label %if.then52, label %sw.epilog66 + +if.then52: ; preds = %sw.bb + %47 = load i8**, i8*** %p, align 8 + %arrayidx53 = getelementptr inbounds i8*, i8** %47, i64 0 + %48 = load i8*, i8** %arrayidx53, align 8 + %arrayidx54 = getelementptr inbounds i8, i8* %48, i64 1 + %49 = load i8, i8* %arrayidx54, align 1 + %conv55 = sext i8 %49 to i32 + br label %NodeBlock28 + +NodeBlock28: ; preds = %if.then52 + %case.cmp29 = icmp eq i32 %conv55, 105 + br i1 %case.cmp29, label %sw.bb56, label %NodeBlock26 + +NodeBlock26: ; preds = %NodeBlock28 + %case.cmp27 = icmp eq i32 %conv55, 66 + br i1 %case.cmp27, label %sw.bb64, label %NodeBlock24 + +NodeBlock24: ; preds = %NodeBlock26 + %case.cmp25 = icmp eq i32 %conv55, 68 + br i1 %case.cmp25, label %sw.bb64, label %newDefault23 + +sw.bb56: ; preds = %NodeBlock28 + %50 = load i8**, i8*** %p, align 8 + %arrayidx57 = getelementptr inbounds i8*, i8** %50, i64 0 + %51 = load i8*, i8** %arrayidx57, align 8 + %arrayidx58 = getelementptr inbounds i8, i8* %51, i64 2 + %52 = load i8, i8* %arrayidx58, align 1 + %conv59 = sext i8 %52 to i32 + %cmp60 = icmp eq i32 %conv59, 66 + br i1 %cmp60, label %if.then62, label %sw.epilog66 + +if.then62: ; preds = %sw.bb56 + %53 = load i32, i32* %suffixes, align 4 + %add = add nsw i32 %53, 2 + store i32 %add, i32* %suffixes, align 4 + br label %sw.epilog66 + +sw.bb64: ; preds = %NodeBlock26, %NodeBlock24 + store i32 1000, i32* %base, align 4 + %54 = load i32, i32* %suffixes, align 4 + %inc = add nsw i32 %54, 1 + store i32 %inc, i32* %suffixes, align 4 + br label %sw.epilog66 + +newDefault: ; preds = %NodeBlock + br label %sw.epilog66 + +newDefault23: ; preds = %NodeBlock24 + br label %sw.epilog66 + +sw.epilog66: ; preds = %newDefault23, %newDefault, %sw.bb, %sw.bb56, %if.then62, %sw.bb64 + %55 = load i8**, i8*** %p, align 8 + %56 = load i8*, i8** %55, align 8 + %57 = load i8, i8* %56, align 1 + %conv67 = sext i8 %57 to i32 + br label %NodeBlock61 + +NodeBlock61: ; preds = %sw.epilog66 + %case.cmp62 = icmp eq i32 %conv67, 98 + br i1 %case.cmp62, label %sw.bb68, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %conv67, 66 + br i1 %case.cmp60, label %sw.bb70, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %conv67, 99 + br i1 %case.cmp58, label %sw.bb72, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %conv67, 69 + br i1 %case.cmp56, label %sw.bb73, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %conv67, 71 + br i1 %case.cmp54, label %sw.bb75, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %conv67, 103 + br i1 %case.cmp52, label %sw.bb75, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %conv67, 107 + br i1 %case.cmp50, label %sw.bb77, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %conv67, 75 + br i1 %case.cmp48, label %sw.bb77, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %conv67, 77 + br i1 %case.cmp46, label %sw.bb79, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %conv67, 109 + br i1 %case.cmp44, label %sw.bb79, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %conv67, 80 + br i1 %case.cmp42, label %sw.bb81, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %conv67, 84 + br i1 %case.cmp40, label %sw.bb83, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %conv67, 116 + br i1 %case.cmp38, label %sw.bb83, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %conv67, 119 + br i1 %case.cmp36, label %sw.bb85, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %conv67, 89 + br i1 %case.cmp34, label %sw.bb87, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %conv67, 90 + br i1 %case.cmp32, label %sw.bb89, label %newDefault30 + +sw.bb68: ; preds = %NodeBlock61 + %call69 = call i32 @bkm_scale(i64* %tmp, i32 512) + store i32 %call69, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb70: ; preds = %NodeBlock59 + %call71 = call i32 @bkm_scale(i64* %tmp, i32 1024) + store i32 %call71, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb72: ; preds = %NodeBlock57 + store i32 0, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb73: ; preds = %NodeBlock55 + %58 = load i32, i32* %base, align 4 + %call74 = call i32 @bkm_scale_by_power(i64* %tmp, i32 %58, i32 6) + store i32 %call74, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb75: ; preds = %NodeBlock53, %NodeBlock51 + %59 = load i32, i32* %base, align 4 + %call76 = call i32 @bkm_scale_by_power(i64* %tmp, i32 %59, i32 3) + store i32 %call76, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb77: ; preds = %NodeBlock49, %NodeBlock47 + %60 = load i32, i32* %base, align 4 + %call78 = call i32 @bkm_scale_by_power(i64* %tmp, i32 %60, i32 1) + store i32 %call78, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb79: ; preds = %NodeBlock45, %NodeBlock43 + %61 = load i32, i32* %base, align 4 + %call80 = call i32 @bkm_scale_by_power(i64* %tmp, i32 %61, i32 2) + store i32 %call80, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb81: ; preds = %NodeBlock41 + %62 = load i32, i32* %base, align 4 + %call82 = call i32 @bkm_scale_by_power(i64* %tmp, i32 %62, i32 5) + store i32 %call82, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb83: ; preds = %NodeBlock39, %NodeBlock37 + %63 = load i32, i32* %base, align 4 + %call84 = call i32 @bkm_scale_by_power(i64* %tmp, i32 %63, i32 4) + store i32 %call84, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb85: ; preds = %NodeBlock35 + %call86 = call i32 @bkm_scale(i64* %tmp, i32 2) + store i32 %call86, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb87: ; preds = %NodeBlock33 + %64 = load i32, i32* %base, align 4 + %call88 = call i32 @bkm_scale_by_power(i64* %tmp, i32 %64, i32 8) + store i32 %call88, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb89: ; preds = %NodeBlock31 + %65 = load i32, i32* %base, align 4 + %call90 = call i32 @bkm_scale_by_power(i64* %tmp, i32 %65, i32 7) + store i32 %call90, i32* %overflow, align 4 + br label %sw.epilog92 + +newDefault30: ; preds = %NodeBlock31 + br label %sw.default + +sw.default: ; preds = %newDefault30 + %66 = load i64, i64* %tmp, align 8 + %67 = load i64*, i64** %val.addr, align 8 + store i64 %66, i64* %67, align 8 + %68 = load i32, i32* %err, align 4 + %or91 = or i32 %68, 2 + store i32 %or91, i32* %retval, align 4 + br label %return + +sw.epilog92: ; preds = %sw.bb89, %sw.bb87, %sw.bb85, %sw.bb83, %sw.bb81, %sw.bb79, %sw.bb77, %sw.bb75, %sw.bb73, %sw.bb72, %sw.bb70, %sw.bb68 + %69 = load i32, i32* %overflow, align 4 + %70 = load i32, i32* %err, align 4 + %or93 = or i32 %70, %69 + store i32 %or93, i32* %err, align 4 + %71 = load i32, i32* %suffixes, align 4 + %72 = load i8**, i8*** %p, align 8 + %73 = load i8*, i8** %72, align 8 + %idx.ext = sext i32 %71 to i64 + %add.ptr = getelementptr inbounds i8, i8* %73, i64 %idx.ext + store i8* %add.ptr, i8** %72, align 8 + %74 = load i8**, i8*** %p, align 8 + %75 = load i8*, i8** %74, align 8 + %76 = load i8, i8* %75, align 1 + %tobool94 = icmp ne i8 %76, 0 + br i1 %tobool94, label %if.then95, label %if.end98 + +if.then95: ; preds = %sw.epilog92 + %77 = load i32, i32* %err, align 4 + %or96 = or i32 %77, 2 + store i32 %or96, i32* %err, align 4 + br label %if.end98 + +if.end98: ; preds = %sw.epilog92, %if.then95, %if.end39 + %78 = load i64, i64* %tmp, align 8 + %79 = load i64*, i64** %val.addr, align 8 + store i64 %78, i64* %79, align 8 + %80 = load i32, i32* %err, align 4 + store i32 %80, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end98, %sw.default, %if.then47, %if.then38, %if.then33, %if.else23, %if.then8 + %81 = load i32, i32* %retval, align 4 + ret i32 %81 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @bkm_scale(i64* %x, i32 %scale_factor) #3 { +entry: + %retval = alloca i32, align 4 + %x.addr = alloca i64*, align 8 + %scale_factor.addr = alloca i32, align 4 + store i64* %x, i64** %x.addr, align 8 + store i32 %scale_factor, i32* %scale_factor.addr, align 4 + %0 = load i32, i32* %scale_factor.addr, align 4 + %conv = sext i32 %0 to i64 + %div = udiv i64 -1, %conv + %1 = load i64*, i64** %x.addr, align 8 + %2 = load i64, i64* %1, align 8 + %cmp = icmp ult i64 %div, %2 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %3 = load i64*, i64** %x.addr, align 8 + store i64 -1, i64* %3, align 8 + store i32 1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %4 = load i32, i32* %scale_factor.addr, align 4 + %conv2 = sext i32 %4 to i64 + %5 = load i64*, i64** %x.addr, align 8 + %6 = load i64, i64* %5, align 8 + %mul = mul i64 %6, %conv2 + store i64 %mul, i64* %5, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %7 = load i32, i32* %retval, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @bkm_scale_by_power(i64* %x, i32 %base, i32 %power) #3 { +entry: + %x.addr = alloca i64*, align 8 + %base.addr = alloca i32, align 4 + %power.addr = alloca i32, align 4 + %err = alloca i32, align 4 + store i64* %x, i64** %x.addr, align 8 + store i32 %base, i32* %base.addr, align 4 + store i32 %power, i32* %power.addr, align 4 + store i32 0, i32* %err, align 4 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %0 = load i32, i32* %power.addr, align 4 + %dec = add nsw i32 %0, -1 + store i32 %dec, i32* %power.addr, align 4 + %tobool = icmp ne i32 %0, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %1 = load i64*, i64** %x.addr, align 8 + %2 = load i32, i32* %base.addr, align 4 + %call = call i32 @bkm_scale(i64* %1, i32 %2) + %3 = load i32, i32* %err, align 4 + %or = or i32 %3, %call + store i32 %or, i32* %err, align 4 + br label %while.cond + +while.end: ; preds = %while.cond + %4 = load i32, i32* %err, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @close_stream(%struct._IO_FILE* %stream) #3 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct._IO_FILE*, align 8 + %some_pending = alloca i8, align 1 + %prev_fail = alloca i8, align 1 + %fclose_fail = alloca i8, align 1 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.513*)* @__fpending to i64 (%struct._IO_FILE*)*)(%struct._IO_FILE* %0) #11 + %cmp = icmp ne i64 %call, 0 + %frombool = zext i1 %cmp to i8 + store i8 %frombool, i8* %some_pending, align 1 + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call1 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.592*)* @ferror_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %1) #11 + %cmp2 = icmp ne i32 %call1, 0 + %frombool3 = zext i1 %cmp2 to i8 + store i8 %frombool3, i8* %prev_fail, align 1 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call4 = call i32 @rpl_fclose(%struct._IO_FILE* %2) + %cmp5 = icmp ne i32 %call4, 0 + %frombool6 = zext i1 %cmp5 to i8 + store i8 %frombool6, i8* %fclose_fail, align 1 + %3 = load i8, i8* %prev_fail, align 1 + %tobool = trunc i8 %3 to i1 + br i1 %tobool, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %4 = load i8, i8* %fclose_fail, align 1 + %tobool7 = trunc i8 %4 to i1 + br i1 %tobool7, label %land.lhs.true, label %if.end15 + +land.lhs.true: ; preds = %lor.lhs.false + %5 = load i8, i8* %some_pending, align 1 + %tobool8 = trunc i8 %5 to i1 + br i1 %tobool8, label %if.then, label %lor.lhs.false9 + +lor.lhs.false9: ; preds = %land.lhs.true + %call10 = call i32* @__errno_location() #26 + %6 = load i32, i32* %call10, align 4 + %cmp11 = icmp ne i32 %6, 9 + br i1 %cmp11, label %if.then, label %if.end15 + +if.then: ; preds = %lor.lhs.false9, %land.lhs.true, %entry + %7 = load i8, i8* %fclose_fail, align 1 + %tobool12 = trunc i8 %7 to i1 + br i1 %tobool12, label %if.end, label %if.then13 + +if.then13: ; preds = %if.then + %call14 = call i32* @__errno_location() #26 + store i32 0, i32* %call14, align 4 + br label %if.end + +if.end: ; preds = %if.then13, %if.then + store i32 -1, i32* %retval, align 4 + br label %return + +if.end15: ; preds = %lor.lhs.false9, %lor.lhs.false + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end15, %if.end + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_colon(i8* %arg) #3 { +entry: + %arg.addr = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_char(i8* %0, i8 signext 58) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_char(i8* %arg, i8 signext %ch) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %ch.addr = alloca i8, align 1 + store i8* %arg, i8** %arg.addr, align 8 + store i8 %ch, i8* %ch.addr, align 1 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i8, i8* %ch.addr, align 1 + %call = call i8* @quotearg_char_mem(i8* %0, i64 -1, i8 signext %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_char_mem(i8* %arg, i64 %argsize, i8 signext %ch) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %ch.addr = alloca i8, align 1 + %options = alloca %struct.quoting_options, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store i8 %ch, i8* %ch.addr, align 1 + %0 = bitcast %struct.quoting_options* %options to i8* + %1 = call i8* @memcpy(i8* %0, i8* bitcast (%struct.quoting_options* @default_quoting_options to i8*), i64 56) + %2 = load i8, i8* %ch.addr, align 1 + %call = call i32 @set_char_quoting(%struct.quoting_options* %options, i8 signext %2, i32 1) + %3 = load i8*, i8** %arg.addr, align 8 + %4 = load i64, i64* %argsize.addr, align 8 + %call1 = call i8* @quotearg_n_options(i32 0, i8* %3, i64 %4, %struct.quoting_options* %options) + ret i8* %call1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @base32_encode_alloc(i8* %in, i64 %inlen, i8** %out) #3 { +entry: + %retval = alloca i64, align 8 + %in.addr = alloca i8*, align 8 + %inlen.addr = alloca i64, align 8 + %out.addr = alloca i8**, align 8 + %outlen = alloca i64, align 8 + store i8* %in, i8** %in.addr, align 8 + store i64 %inlen, i64* %inlen.addr, align 8 + store i8** %out, i8*** %out.addr, align 8 + %0 = load i64, i64* %inlen.addr, align 8 + %add = add i64 %0, 4 + %div = udiv i64 %add, 5 + %mul = mul i64 %div, 8 + %add1 = add i64 1, %mul + store i64 %add1, i64* %outlen, align 8 + %1 = load i64, i64* %inlen.addr, align 8 + %2 = load i64, i64* %outlen, align 8 + %cmp = icmp ugt i64 %1, %2 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %3 = load i8**, i8*** %out.addr, align 8 + store i8* null, i8** %3, align 8 + store i64 0, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %4 = load i64, i64* %outlen, align 8 + %call = call noalias i8* @malloc(i64 %4) #11 + %5 = load i8**, i8*** %out.addr, align 8 + store i8* %call, i8** %5, align 8 + %6 = load i8**, i8*** %out.addr, align 8 + %7 = load i8*, i8** %6, align 8 + %tobool = icmp ne i8* %7, null + br i1 %tobool, label %if.end3, label %if.then2 + +if.then2: ; preds = %if.end + %8 = load i64, i64* %outlen, align 8 + store i64 %8, i64* %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %9 = load i8*, i8** %in.addr, align 8 + %10 = load i64, i64* %inlen.addr, align 8 + %11 = load i8**, i8*** %out.addr, align 8 + %12 = load i8*, i8** %11, align 8 + %13 = load i64, i64* %outlen, align 8 + call void @base32_encode(i8* %9, i64 %10, i8* %12, i64 %13) + %14 = load i64, i64* %outlen, align 8 + %sub = sub i64 %14, 1 + store i64 %sub, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end3, %if.then2, %if.then + %15 = load i64, i64* %retval, align 8 + ret i64 %15 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @base32_decode_alloc_ctx(%struct.base32_decode_context* %ctx, i8* %in, i64 %inlen, i8** %out, i64* %outlen) #3 { +entry: + %retval = alloca i1, align 1 + %ctx.addr = alloca %struct.base32_decode_context*, align 8 + %in.addr = alloca i8*, align 8 + %inlen.addr = alloca i64, align 8 + %out.addr = alloca i8**, align 8 + %outlen.addr = alloca i64*, align 8 + %needlen = alloca i64, align 8 + store %struct.base32_decode_context* %ctx, %struct.base32_decode_context** %ctx.addr, align 8 + store i8* %in, i8** %in.addr, align 8 + store i64 %inlen, i64* %inlen.addr, align 8 + store i8** %out, i8*** %out.addr, align 8 + store i64* %outlen, i64** %outlen.addr, align 8 + %0 = load i64, i64* %inlen.addr, align 8 + %div = udiv i64 %0, 8 + %mul = mul i64 5, %div + %add = add i64 %mul, 5 + store i64 %add, i64* %needlen, align 8 + %1 = load i64, i64* %needlen, align 8 + %call = call noalias i8* @malloc(i64 %1) #11 + %2 = load i8**, i8*** %out.addr, align 8 + store i8* %call, i8** %2, align 8 + %3 = load i8**, i8*** %out.addr, align 8 + %4 = load i8*, i8** %3, align 8 + %tobool = icmp ne i8* %4, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +if.end: ; preds = %entry + %5 = load %struct.base32_decode_context*, %struct.base32_decode_context** %ctx.addr, align 8 + %6 = load i8*, i8** %in.addr, align 8 + %7 = load i64, i64* %inlen.addr, align 8 + %8 = load i8**, i8*** %out.addr, align 8 + %9 = load i8*, i8** %8, align 8 + %call1 = call zeroext i1 @base32_decode_ctx(%struct.base32_decode_context* %5, i8* %6, i64 %7, i8* %9, i64* %needlen) + br i1 %call1, label %if.end3, label %if.then2 + +if.then2: ; preds = %if.end + %10 = load i8**, i8*** %out.addr, align 8 + %11 = load i8*, i8** %10, align 8 + call void @free(i8* %11) #11 + %12 = load i8**, i8*** %out.addr, align 8 + store i8* null, i8** %12, align 8 + store i1 false, i1* %retval, align 1 + br label %return + +if.end3: ; preds = %if.end + %13 = load i64*, i64** %outlen.addr, align 8 + %tobool4 = icmp ne i64* %13, null + br i1 %tobool4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end3 + %14 = load i64, i64* %needlen, align 8 + %15 = load i64*, i64** %outlen.addr, align 8 + store i64 %14, i64* %15, align 8 + br label %if.end6 + +if.end6: ; preds = %if.then5, %if.end3 + store i1 true, i1* %retval, align 1 + br label %return + +return: ; preds = %if.end6, %if.then2, %if.then + %16 = load i1, i1* %retval, align 1 + ret i1 %16 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @close_stdout_set_file_name(i8* %file) #3 { +entry: + %file.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + store i8* %0, i8** @file_name, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @close_stdout_set_ignore_EPIPE(i1 zeroext %ignore) #3 { +entry: + %ignore.addr = alloca i8, align 1 + %frombool = zext i1 %ignore to i8 + store i8 %frombool, i8* %ignore.addr, align 1 + %0 = load i8, i8* %ignore.addr, align 1 + %tobool = trunc i8 %0 to i1 + %frombool1 = zext i1 %tobool to i8 + store i8 %frombool1, i8* @ignore_EPIPE, align 1 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local %struct.quoting_options* @clone_quoting_options(%struct.quoting_options* %o) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %p = alloca %struct.quoting_options*, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %call = call i32* @__errno_location() #26 + %0 = load i32, i32* %call, align 4 + store i32 %0, i32* %e, align 4 + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %1, null + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %2, %struct.quoting_options* @default_quoting_options + %3 = bitcast %struct.quoting_options* %cond to i8* + %call1 = call i8* @xmemdup(i8* %3, i64 56) + %4 = bitcast i8* %call1 to %struct.quoting_options* + store %struct.quoting_options* %4, %struct.quoting_options** %p, align 8 + %5 = load i32, i32* %e, align 4 + %call2 = call i32* @__errno_location() #26 + store i32 %5, i32* %call2, align 4 + %6 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + ret %struct.quoting_options* %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @xmemdup(i8* %p, i64 %s) #3 { +entry: + %p.addr = alloca i8*, align 8 + %s.addr = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %call = call noalias i8* @xmalloc(i64 %0) + %1 = load i8*, i8** %p.addr, align 8 + %2 = load i64, i64* %s.addr, align 8 + %3 = call i8* @memcpy(i8* %call, i8* %1, i64 %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @get_quoting_style(%struct.quoting_options* %o) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %1, %struct.quoting_options* @default_quoting_options + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %cond, i32 0, i32 0 + %2 = load i32, i32* %style, align 8 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_quoting_style(%struct.quoting_options* %o, i32 %s) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %s.addr = alloca i32, align 4 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i32 %s, i32* %s.addr, align 4 + %0 = load i32, i32* %s.addr, align 4 + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %1, null + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %2, %struct.quoting_options* @default_quoting_options + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %cond, i32 0, i32 0 + store i32 %0, i32* %style, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @set_quoting_flags(%struct.quoting_options* %o, i32 %i) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %i.addr = alloca i32, align 4 + %r = alloca i32, align 4 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i32 %i, i32* %i.addr, align 4 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store %struct.quoting_options* @default_quoting_options, %struct.quoting_options** %o.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %flags = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %1, i32 0, i32 1 + %2 = load i32, i32* %flags, align 4 + store i32 %2, i32* %r, align 4 + %3 = load i32, i32* %i.addr, align 4 + %4 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %flags1 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %4, i32 0, i32 1 + store i32 %3, i32* %flags1, align 4 + %5 = load i32, i32* %r, align 4 + ret i32 %5 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_custom_quoting(%struct.quoting_options* %o, i8* %left_quote, i8* %right_quote) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store %struct.quoting_options* @default_quoting_options, %struct.quoting_options** %o.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %1, i32 0, i32 0 + store i32 10, i32* %style, align 8 + %2 = load i8*, i8** %left_quote.addr, align 8 + %tobool1 = icmp ne i8* %2, null + %3 = load i8*, i8** %right_quote.addr, align 8 + %tobool2 = icmp ne i8* %3, null + %or.cond = and i1 %tobool1, %tobool2 + br i1 %or.cond, label %if.end4, label %if.then3 + +if.then3: ; preds = %if.end + call void @abort() #27 + unreachable + +if.end4: ; preds = %if.end + %4 = load i8*, i8** %left_quote.addr, align 8 + %5 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %left_quote5 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %5, i32 0, i32 3 + store i8* %4, i8** %left_quote5, align 8 + %6 = load i8*, i8** %right_quote.addr, align 8 + %7 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %right_quote6 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %7, i32 0, i32 4 + store i8* %6, i8** %right_quote6, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @quotearg_buffer(i8* %buffer, i64 %buffersize, i8* %arg, i64 %argsize, %struct.quoting_options* %o) #3 { +entry: + %buffer.addr = alloca i8*, align 8 + %buffersize.addr = alloca i64, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o.addr = alloca %struct.quoting_options*, align 8 + %p = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %r = alloca i64, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %buffersize, i64* %buffersize.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %1, %struct.quoting_options* @default_quoting_options + store %struct.quoting_options* %cond, %struct.quoting_options** %p, align 8 + %call = call i32* @__errno_location() #26 + %2 = load i32, i32* %call, align 4 + store i32 %2, i32* %e, align 4 + %3 = load i8*, i8** %buffer.addr, align 8 + %4 = load i64, i64* %buffersize.addr, align 8 + %5 = load i8*, i8** %arg.addr, align 8 + %6 = load i64, i64* %argsize.addr, align 8 + %7 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %7, i32 0, i32 0 + %8 = load i32, i32* %style, align 8 + %9 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %flags = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %9, i32 0, i32 1 + %10 = load i32, i32* %flags, align 4 + %11 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %11, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %12 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %left_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %12, i32 0, i32 3 + %13 = load i8*, i8** %left_quote, align 8 + %14 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %right_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %14, i32 0, i32 4 + %15 = load i8*, i8** %right_quote, align 8 + %call1 = call i64 @quotearg_buffer_restyled(i8* %3, i64 %4, i8* %5, i64 %6, i32 %8, i32 %10, i32* %arraydecay, i8* %13, i8* %15) + store i64 %call1, i64* %r, align 8 + %16 = load i32, i32* %e, align 4 + %call2 = call i32* @__errno_location() #26 + store i32 %16, i32* %call2, align 4 + %17 = load i64, i64* %r, align 8 + ret i64 %17 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_alloc(i8* %arg, i64 %argsize, %struct.quoting_options* %o) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o.addr = alloca %struct.quoting_options*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %call = call i8* @quotearg_alloc_mem(i8* %0, i64 %1, i64* null, %struct.quoting_options* %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_alloc_mem(i8* %arg, i64 %argsize, i64* %size, %struct.quoting_options* %o) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %size.addr = alloca i64*, align 8 + %o.addr = alloca %struct.quoting_options*, align 8 + %p = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %flags = alloca i32, align 4 + %bufsize = alloca i64, align 8 + %buf = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store i64* %size, i64** %size.addr, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %1, %struct.quoting_options* @default_quoting_options + store %struct.quoting_options* %cond, %struct.quoting_options** %p, align 8 + %call = call i32* @__errno_location() #26 + %2 = load i32, i32* %call, align 4 + store i32 %2, i32* %e, align 4 + %3 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %flags1 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %3, i32 0, i32 1 + %4 = load i32, i32* %flags1, align 4 + %5 = load i64*, i64** %size.addr, align 8 + %tobool2 = icmp ne i64* %5, null + %6 = zext i1 %tobool2 to i64 + %cond3 = select i1 %tobool2, i32 0, i32 1 + %or = or i32 %4, %cond3 + store i32 %or, i32* %flags, align 4 + %7 = load i8*, i8** %arg.addr, align 8 + %8 = load i64, i64* %argsize.addr, align 8 + %9 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %9, i32 0, i32 0 + %10 = load i32, i32* %style, align 8 + %11 = load i32, i32* %flags, align 4 + %12 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %12, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %13 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %left_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %13, i32 0, i32 3 + %14 = load i8*, i8** %left_quote, align 8 + %15 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %right_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %15, i32 0, i32 4 + %16 = load i8*, i8** %right_quote, align 8 + %call4 = call i64 @quotearg_buffer_restyled(i8* null, i64 0, i8* %7, i64 %8, i32 %10, i32 %11, i32* %arraydecay, i8* %14, i8* %16) + %add = add i64 %call4, 1 + store i64 %add, i64* %bufsize, align 8 + %17 = load i64, i64* %bufsize, align 8 + %call5 = call noalias i8* @xcharalloc(i64 %17) + store i8* %call5, i8** %buf, align 8 + %18 = load i8*, i8** %buf, align 8 + %19 = load i64, i64* %bufsize, align 8 + %20 = load i8*, i8** %arg.addr, align 8 + %21 = load i64, i64* %argsize.addr, align 8 + %22 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %style6 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %22, i32 0, i32 0 + %23 = load i32, i32* %style6, align 8 + %24 = load i32, i32* %flags, align 4 + %25 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %quote_these_too7 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %25, i32 0, i32 2 + %arraydecay8 = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too7, i64 0, i64 0 + %26 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %left_quote9 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %26, i32 0, i32 3 + %27 = load i8*, i8** %left_quote9, align 8 + %28 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %right_quote10 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %28, i32 0, i32 4 + %29 = load i8*, i8** %right_quote10, align 8 + %call11 = call i64 @quotearg_buffer_restyled(i8* %18, i64 %19, i8* %20, i64 %21, i32 %23, i32 %24, i32* %arraydecay8, i8* %27, i8* %29) + %30 = load i32, i32* %e, align 4 + %call12 = call i32* @__errno_location() #26 + store i32 %30, i32* %call12, align 4 + %31 = load i64*, i64** %size.addr, align 8 + %tobool13 = icmp ne i64* %31, null + br i1 %tobool13, label %if.then, label %if.end + +if.then: ; preds = %entry + %32 = load i64, i64* %bufsize, align 8 + %sub = sub i64 %32, 1 + %33 = load i64*, i64** %size.addr, align 8 + store i64 %sub, i64* %33, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %34 = load i8*, i8** %buf, align 8 + ret i8* %34 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @quotearg_free() #3 { +entry: + %sv = alloca %struct.slotvec*, align 8 + %i = alloca i32, align 4 + %0 = load %struct.slotvec*, %struct.slotvec** @slotvec, align 8 + store %struct.slotvec* %0, %struct.slotvec** %sv, align 8 + store i32 1, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %1 = load i32, i32* %i, align 4 + %2 = load i32, i32* @nslots, align 4 + %cmp = icmp slt i32 %1, %2 + %3 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %4 = load i32, i32* %i, align 4 + %idxprom = sext i32 %4 to i64 + %arrayidx = getelementptr inbounds %struct.slotvec, %struct.slotvec* %3, i64 %idxprom + %val = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx, i32 0, i32 1 + %5 = load i8*, i8** %val, align 8 + call void @free(i8* %5) #11 + %6 = load i32, i32* %i, align 4 + %inc = add nsw i32 %6, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %arrayidx1 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %3, i64 0 + %val2 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx1, i32 0, i32 1 + %7 = load i8*, i8** %val2, align 8 + %cmp3 = icmp ne i8* %7, getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i64 0, i64 0) + br i1 %cmp3, label %if.then, label %if.end + +if.then: ; preds = %for.end + %8 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %arrayidx4 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %8, i64 0 + %val5 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx4, i32 0, i32 1 + %9 = load i8*, i8** %val5, align 8 + call void @free(i8* %9) #11 + store i64 256, i64* getelementptr inbounds (%struct.slotvec, %struct.slotvec* @slotvec0, i32 0, i32 0), align 8 + store i8* getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i64 0, i64 0), i8** getelementptr inbounds (%struct.slotvec, %struct.slotvec* @slotvec0, i32 0, i32 1), align 8 + br label %if.end + +if.end: ; preds = %if.then, %for.end + %10 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %cmp6 = icmp ne %struct.slotvec* %10, @slotvec0 + br i1 %cmp6, label %if.then7, label %if.end8 + +if.then7: ; preds = %if.end + %11 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %12 = bitcast %struct.slotvec* %11 to i8* + call void @free(i8* %12) #11 + store %struct.slotvec* @slotvec0, %struct.slotvec** @slotvec, align 8 + br label %if.end8 + +if.end8: ; preds = %if.then7, %if.end + store i32 1, i32* @nslots, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n(i32 %n, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %0, i8* %1, i64 -1, %struct.quoting_options* @default_quoting_options) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_mem(i32 %n, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %2 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %0, i8* %1, i64 %2, %struct.quoting_options* @default_quoting_options) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg(i8* %arg) #3 { +entry: + %arg.addr = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n(i32 0, i8* %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_mem(i8* %arg, i64 %argsize) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_mem(i32 0, i8* %0, i64 %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_style(i32 %n, i32 %s, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %o = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + call void @quoting_options_from_style(%struct.quoting_options* sret align 8 %o, i32 %0) + %1 = load i32, i32* %n.addr, align 4 + %2 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %1, i8* %2, i64 -1, %struct.quoting_options* %o) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_style_mem(i32 %n, i32 %s, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + call void @quoting_options_from_style(%struct.quoting_options* sret align 8 %o, i32 %0) + %1 = load i32, i32* %n.addr, align 4 + %2 = load i8*, i8** %arg.addr, align 8 + %3 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %1, i8* %2, i64 %3, %struct.quoting_options* %o) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_style(i32 %s, i8* %arg) #3 { +entry: + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_style(i32 0, i32 %0, i8* %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_style_mem(i32 %s, i8* %arg, i64 %argsize) #3 { +entry: + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %2 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_style_mem(i32 0, i32 %0, i8* %1, i64 %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_colon_mem(i8* %arg, i64 %argsize) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_char_mem(i8* %0, i64 %1, i8 signext 58) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_custom(i32 %n, i8* %left_quote, i8* %right_quote, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %left_quote.addr, align 8 + %2 = load i8*, i8** %right_quote.addr, align 8 + %3 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_custom_mem(i32 %0, i8* %1, i8* %2, i8* %3, i64 -1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_custom_mem(i32 %n, i8* %left_quote, i8* %right_quote, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = bitcast %struct.quoting_options* %o to i8* + %1 = call i8* @memcpy(i8* %0, i8* bitcast (%struct.quoting_options* @default_quoting_options to i8*), i64 56) + %2 = load i8*, i8** %left_quote.addr, align 8 + %3 = load i8*, i8** %right_quote.addr, align 8 + call void @set_custom_quoting(%struct.quoting_options* %o, i8* %2, i8* %3) + %4 = load i32, i32* %n.addr, align 4 + %5 = load i8*, i8** %arg.addr, align 8 + %6 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %4, i8* %5, i64 %6, %struct.quoting_options* %o) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_custom(i8* %left_quote, i8* %right_quote, i8* %arg) #3 { +entry: + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %left_quote.addr, align 8 + %1 = load i8*, i8** %right_quote.addr, align 8 + %2 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_custom(i32 0, i8* %0, i8* %1, i8* %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_custom_mem(i8* %left_quote, i8* %right_quote, i8* %arg, i64 %argsize) #3 { +entry: + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %left_quote.addr, align 8 + %1 = load i8*, i8** %right_quote.addr, align 8 + %2 = load i8*, i8** %arg.addr, align 8 + %3 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_custom_mem(i32 0, i8* %0, i8* %1, i8* %2, i64 %3) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote_mem(i8* %arg, i64 %argsize) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quote_n_mem(i32 0, i8* %0, i64 %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc_ar(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, i8** %authors) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors.addr = alloca i8**, align 8 + %n_authors = alloca i64, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + store i8** %authors, i8*** %authors.addr, align 8 + store i64 0, i64* %n_authors, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i8**, i8*** %authors.addr, align 8 + %1 = load i64, i64* %n_authors, align 8 + %arrayidx = getelementptr inbounds i8*, i8** %0, i64 %1 + %2 = load i8*, i8** %arrayidx, align 8 + %tobool = icmp ne i8* %2, null + br i1 %tobool, label %for.inc, label %for.end + +for.inc: ; preds = %for.cond + %3 = load i64, i64* %n_authors, align 8 + %inc = add i64 %3, 1 + store i64 %inc, i64* %n_authors, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %5 = load i8*, i8** %command_name.addr, align 8 + %6 = load i8*, i8** %package.addr, align 8 + %7 = load i8*, i8** %version.addr, align 8 + %8 = load i8**, i8*** %authors.addr, align 8 + %9 = load i64, i64* %n_authors, align 8 + call void @version_etc_arn(%struct._IO_FILE* %4, i8* %5, i8* %6, i8* %7, i8** %8, i64 %9) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @emit_bug_reporting_address() #3 { +entry: + %0 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.97, i64 0, i64 0), %struct._IO_FILE* %0) + %call1 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.16.112, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.17.113, i64 0, i64 0)) + %call2 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.18.114, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.19.115, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.20.116, i64 0, i64 0)) + %call3 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.21.117, i64 0, i64 0), i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.22.118, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xnmalloc(i64 %n, i64 %s) #3 { +entry: + %n.addr = alloca i64, align 8 + %s.addr = alloca i64, align 8 + store i64 %n, i64* %n.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %div = udiv i64 9223372036854775807, %0 + %1 = load i64, i64* %n.addr, align 8 + %cmp = icmp ult i64 %div, %1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xalloc_die() #25 + unreachable + +if.end: ; preds = %entry + %2 = load i64, i64* %n.addr, align 8 + %3 = load i64, i64* %s.addr, align 8 + %mul = mul i64 %2, %3 + %call = call noalias i8* @xmalloc(i64 %mul) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @xnrealloc(i8* %p, i64 %n, i64 %s) #3 { +entry: + %p.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %s.addr = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %div = udiv i64 9223372036854775807, %0 + %1 = load i64, i64* %n.addr, align 8 + %cmp = icmp ult i64 %div, %1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xalloc_die() #25 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %p.addr, align 8 + %3 = load i64, i64* %n.addr, align 8 + %4 = load i64, i64* %s.addr, align 8 + %mul = mul i64 %3, %4 + %call = call i8* @xrealloc(i8* %2, i64 %mul) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @x2nrealloc(i8* %p, i64* %pn, i64 %s) #3 { +entry: + %p.addr = alloca i8*, align 8 + %pn.addr = alloca i64*, align 8 + %s.addr = alloca i64, align 8 + %n = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64* %pn, i64** %pn.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64*, i64** %pn.addr, align 8 + %1 = load i64, i64* %0, align 8 + store i64 %1, i64* %n, align 8 + %2 = load i8*, i8** %p.addr, align 8 + %tobool = icmp ne i8* %2, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %3 = load i64, i64* %n, align 8 + %tobool1 = icmp ne i64 %3, 0 + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + %4 = load i64, i64* %s.addr, align 8 + %div = udiv i64 128, %4 + store i64 %div, i64* %n, align 8 + %5 = load i64, i64* %n, align 8 + %tobool3 = icmp ne i64 %5, 0 + %lnot = xor i1 %tobool3, true + %lnot.ext = zext i1 %lnot to i32 + %conv = sext i32 %lnot.ext to i64 + %6 = load i64, i64* %n, align 8 + %add = add i64 %6, %conv + store i64 %add, i64* %n, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %7 = load i64, i64* %s.addr, align 8 + %div4 = udiv i64 9223372036854775807, %7 + %8 = load i64, i64* %n, align 8 + %cmp = icmp ult i64 %div4, %8 + br i1 %cmp, label %if.then6, label %if.end16 + +if.then6: ; preds = %if.end + call void @xalloc_die() #25 + unreachable + +if.else: ; preds = %entry + %9 = load i64, i64* %s.addr, align 8 + %div8 = udiv i64 6148914691236517204, %9 + %10 = load i64, i64* %n, align 8 + %cmp9 = icmp ule i64 %div8, %10 + br i1 %cmp9, label %if.then11, label %if.end12 + +if.then11: ; preds = %if.else + call void @xalloc_die() #25 + unreachable + +if.end12: ; preds = %if.else + %11 = load i64, i64* %n, align 8 + %div13 = udiv i64 %11, 2 + %add14 = add i64 %div13, 1 + %12 = load i64, i64* %n, align 8 + %add15 = add i64 %12, %add14 + store i64 %add15, i64* %n, align 8 + br label %if.end16 + +if.end16: ; preds = %if.end, %if.end12 + %13 = load i64, i64* %n, align 8 + %14 = load i64*, i64** %pn.addr, align 8 + store i64 %13, i64* %14, align 8 + %15 = load i8*, i8** %p.addr, align 8 + %16 = load i64, i64* %n, align 8 + %17 = load i64, i64* %s.addr, align 8 + %mul = mul i64 %16, %17 + %call = call i8* @xrealloc(i8* %15, i64 %mul) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @x2realloc(i8* %p, i64* %pn) #3 { +entry: + %p.addr = alloca i8*, align 8 + %pn.addr = alloca i64*, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64* %pn, i64** %pn.addr, align 8 + %0 = load i8*, i8** %p.addr, align 8 + %1 = load i64*, i64** %pn.addr, align 8 + %call = call i8* @x2nrealloc(i8* %0, i64* %1, i64 1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xzalloc(i64 %n) #3 { +entry: + %n.addr = alloca i64, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @xcalloc(i64 %0, i64 1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xcalloc(i64 %n, i64 %s) #3 { +entry: + %n.addr = alloca i64, align 8 + %s.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i64 %n, i64* %n.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %div = udiv i64 9223372036854775807, %0 + %1 = load i64, i64* %n.addr, align 8 + %cmp = icmp ult i64 %div, %1 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load i64, i64* %n.addr, align 8 + %3 = load i64, i64* %s.addr, align 8 + %call = call noalias i8* @calloc(i64 %2, i64 %3) #11 + store i8* %call, i8** %p, align 8 + %tobool = icmp ne i8* %call, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %lor.lhs.false, %entry + call void @xalloc_die() #25 + unreachable + +if.end: ; preds = %lor.lhs.false + %4 = load i8*, i8** %p, align 8 + ret i8* %4 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xstrdup(i8* %string) #3 { +entry: + %string.addr = alloca i8*, align 8 + store i8* %string, i8** %string.addr, align 8 + %0 = load i8*, i8** %string.addr, align 8 + %1 = load i8*, i8** %string.addr, align 8 + %call = call i64 @strlen(i8* %1) #24 + %add = add i64 %call, 1 + %call1 = call i8* @xmemdup(i8* %0, i64 %add) + ret i8* %call1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @setlocale_null(i32 %category) #3 { +entry: + %category.addr = alloca i32, align 4 + store i32 %category, i32* %category.addr, align 4 + %0 = load i32, i32* %category.addr, align 4 + %call = call i8* @setlocale_null_androidfix(i32 %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isalnum(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock121 + +NodeBlock121: ; preds = %entry + %case.cmp122 = icmp eq i32 %0, 48 + br i1 %case.cmp122, label %sw.bb, label %NodeBlock119 + +NodeBlock119: ; preds = %NodeBlock121 + %case.cmp120 = icmp eq i32 %0, 49 + br i1 %case.cmp120, label %sw.bb, label %NodeBlock117 + +NodeBlock117: ; preds = %NodeBlock119 + %case.cmp118 = icmp eq i32 %0, 50 + br i1 %case.cmp118, label %sw.bb, label %NodeBlock115 + +NodeBlock115: ; preds = %NodeBlock117 + %case.cmp116 = icmp eq i32 %0, 51 + br i1 %case.cmp116, label %sw.bb, label %NodeBlock113 + +NodeBlock113: ; preds = %NodeBlock115 + %case.cmp114 = icmp eq i32 %0, 52 + br i1 %case.cmp114, label %sw.bb, label %NodeBlock111 + +NodeBlock111: ; preds = %NodeBlock113 + %case.cmp112 = icmp eq i32 %0, 53 + br i1 %case.cmp112, label %sw.bb, label %NodeBlock109 + +NodeBlock109: ; preds = %NodeBlock111 + %case.cmp110 = icmp eq i32 %0, 54 + br i1 %case.cmp110, label %sw.bb, label %NodeBlock107 + +NodeBlock107: ; preds = %NodeBlock109 + %case.cmp108 = icmp eq i32 %0, 55 + br i1 %case.cmp108, label %sw.bb, label %NodeBlock105 + +NodeBlock105: ; preds = %NodeBlock107 + %case.cmp106 = icmp eq i32 %0, 56 + br i1 %case.cmp106, label %sw.bb, label %NodeBlock103 + +NodeBlock103: ; preds = %NodeBlock105 + %case.cmp104 = icmp eq i32 %0, 57 + br i1 %case.cmp104, label %sw.bb, label %NodeBlock101 + +NodeBlock101: ; preds = %NodeBlock103 + %case.cmp102 = icmp eq i32 %0, 97 + br i1 %case.cmp102, label %sw.bb, label %NodeBlock99 + +NodeBlock99: ; preds = %NodeBlock101 + %case.cmp100 = icmp eq i32 %0, 98 + br i1 %case.cmp100, label %sw.bb, label %NodeBlock97 + +NodeBlock97: ; preds = %NodeBlock99 + %case.cmp98 = icmp eq i32 %0, 99 + br i1 %case.cmp98, label %sw.bb, label %NodeBlock95 + +NodeBlock95: ; preds = %NodeBlock97 + %case.cmp96 = icmp eq i32 %0, 100 + br i1 %case.cmp96, label %sw.bb, label %NodeBlock93 + +NodeBlock93: ; preds = %NodeBlock95 + %case.cmp94 = icmp eq i32 %0, 101 + br i1 %case.cmp94, label %sw.bb, label %NodeBlock91 + +NodeBlock91: ; preds = %NodeBlock93 + %case.cmp92 = icmp eq i32 %0, 102 + br i1 %case.cmp92, label %sw.bb, label %NodeBlock89 + +NodeBlock89: ; preds = %NodeBlock91 + %case.cmp90 = icmp eq i32 %0, 103 + br i1 %case.cmp90, label %sw.bb, label %NodeBlock87 + +NodeBlock87: ; preds = %NodeBlock89 + %case.cmp88 = icmp eq i32 %0, 104 + br i1 %case.cmp88, label %sw.bb, label %NodeBlock85 + +NodeBlock85: ; preds = %NodeBlock87 + %case.cmp86 = icmp eq i32 %0, 105 + br i1 %case.cmp86, label %sw.bb, label %NodeBlock83 + +NodeBlock83: ; preds = %NodeBlock85 + %case.cmp84 = icmp eq i32 %0, 106 + br i1 %case.cmp84, label %sw.bb, label %NodeBlock81 + +NodeBlock81: ; preds = %NodeBlock83 + %case.cmp82 = icmp eq i32 %0, 107 + br i1 %case.cmp82, label %sw.bb, label %NodeBlock79 + +NodeBlock79: ; preds = %NodeBlock81 + %case.cmp80 = icmp eq i32 %0, 108 + br i1 %case.cmp80, label %sw.bb, label %NodeBlock77 + +NodeBlock77: ; preds = %NodeBlock79 + %case.cmp78 = icmp eq i32 %0, 109 + br i1 %case.cmp78, label %sw.bb, label %NodeBlock75 + +NodeBlock75: ; preds = %NodeBlock77 + %case.cmp76 = icmp eq i32 %0, 110 + br i1 %case.cmp76, label %sw.bb, label %NodeBlock73 + +NodeBlock73: ; preds = %NodeBlock75 + %case.cmp74 = icmp eq i32 %0, 111 + br i1 %case.cmp74, label %sw.bb, label %NodeBlock71 + +NodeBlock71: ; preds = %NodeBlock73 + %case.cmp72 = icmp eq i32 %0, 112 + br i1 %case.cmp72, label %sw.bb, label %NodeBlock69 + +NodeBlock69: ; preds = %NodeBlock71 + %case.cmp70 = icmp eq i32 %0, 113 + br i1 %case.cmp70, label %sw.bb, label %NodeBlock67 + +NodeBlock67: ; preds = %NodeBlock69 + %case.cmp68 = icmp eq i32 %0, 114 + br i1 %case.cmp68, label %sw.bb, label %NodeBlock65 + +NodeBlock65: ; preds = %NodeBlock67 + %case.cmp66 = icmp eq i32 %0, 115 + br i1 %case.cmp66, label %sw.bb, label %NodeBlock63 + +NodeBlock63: ; preds = %NodeBlock65 + %case.cmp64 = icmp eq i32 %0, 116 + br i1 %case.cmp64, label %sw.bb, label %NodeBlock61 + +NodeBlock61: ; preds = %NodeBlock63 + %case.cmp62 = icmp eq i32 %0, 117 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 118 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 119 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 120 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 121 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 122 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 65 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 66 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 67 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 68 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 69 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 70 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 71 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 72 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 73 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 74 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 75 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 76 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 77 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 78 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 79 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 80 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 81 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 82 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 83 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 84 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 85 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 86 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 87 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 88 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 89 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 90 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock121, %NodeBlock119, %NodeBlock117, %NodeBlock115, %NodeBlock113, %NodeBlock111, %NodeBlock109, %NodeBlock107, %NodeBlock105, %NodeBlock103, %NodeBlock101, %NodeBlock99, %NodeBlock97, %NodeBlock95, %NodeBlock93, %NodeBlock91, %NodeBlock89, %NodeBlock87, %NodeBlock85, %NodeBlock83, %NodeBlock81, %NodeBlock79, %NodeBlock77, %NodeBlock75, %NodeBlock73, %NodeBlock71, %NodeBlock69, %NodeBlock67, %NodeBlock65, %NodeBlock63, %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isalpha(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock101 + +NodeBlock101: ; preds = %entry + %case.cmp102 = icmp eq i32 %0, 97 + br i1 %case.cmp102, label %sw.bb, label %NodeBlock99 + +NodeBlock99: ; preds = %NodeBlock101 + %case.cmp100 = icmp eq i32 %0, 98 + br i1 %case.cmp100, label %sw.bb, label %NodeBlock97 + +NodeBlock97: ; preds = %NodeBlock99 + %case.cmp98 = icmp eq i32 %0, 99 + br i1 %case.cmp98, label %sw.bb, label %NodeBlock95 + +NodeBlock95: ; preds = %NodeBlock97 + %case.cmp96 = icmp eq i32 %0, 100 + br i1 %case.cmp96, label %sw.bb, label %NodeBlock93 + +NodeBlock93: ; preds = %NodeBlock95 + %case.cmp94 = icmp eq i32 %0, 101 + br i1 %case.cmp94, label %sw.bb, label %NodeBlock91 + +NodeBlock91: ; preds = %NodeBlock93 + %case.cmp92 = icmp eq i32 %0, 102 + br i1 %case.cmp92, label %sw.bb, label %NodeBlock89 + +NodeBlock89: ; preds = %NodeBlock91 + %case.cmp90 = icmp eq i32 %0, 103 + br i1 %case.cmp90, label %sw.bb, label %NodeBlock87 + +NodeBlock87: ; preds = %NodeBlock89 + %case.cmp88 = icmp eq i32 %0, 104 + br i1 %case.cmp88, label %sw.bb, label %NodeBlock85 + +NodeBlock85: ; preds = %NodeBlock87 + %case.cmp86 = icmp eq i32 %0, 105 + br i1 %case.cmp86, label %sw.bb, label %NodeBlock83 + +NodeBlock83: ; preds = %NodeBlock85 + %case.cmp84 = icmp eq i32 %0, 106 + br i1 %case.cmp84, label %sw.bb, label %NodeBlock81 + +NodeBlock81: ; preds = %NodeBlock83 + %case.cmp82 = icmp eq i32 %0, 107 + br i1 %case.cmp82, label %sw.bb, label %NodeBlock79 + +NodeBlock79: ; preds = %NodeBlock81 + %case.cmp80 = icmp eq i32 %0, 108 + br i1 %case.cmp80, label %sw.bb, label %NodeBlock77 + +NodeBlock77: ; preds = %NodeBlock79 + %case.cmp78 = icmp eq i32 %0, 109 + br i1 %case.cmp78, label %sw.bb, label %NodeBlock75 + +NodeBlock75: ; preds = %NodeBlock77 + %case.cmp76 = icmp eq i32 %0, 110 + br i1 %case.cmp76, label %sw.bb, label %NodeBlock73 + +NodeBlock73: ; preds = %NodeBlock75 + %case.cmp74 = icmp eq i32 %0, 111 + br i1 %case.cmp74, label %sw.bb, label %NodeBlock71 + +NodeBlock71: ; preds = %NodeBlock73 + %case.cmp72 = icmp eq i32 %0, 112 + br i1 %case.cmp72, label %sw.bb, label %NodeBlock69 + +NodeBlock69: ; preds = %NodeBlock71 + %case.cmp70 = icmp eq i32 %0, 113 + br i1 %case.cmp70, label %sw.bb, label %NodeBlock67 + +NodeBlock67: ; preds = %NodeBlock69 + %case.cmp68 = icmp eq i32 %0, 114 + br i1 %case.cmp68, label %sw.bb, label %NodeBlock65 + +NodeBlock65: ; preds = %NodeBlock67 + %case.cmp66 = icmp eq i32 %0, 115 + br i1 %case.cmp66, label %sw.bb, label %NodeBlock63 + +NodeBlock63: ; preds = %NodeBlock65 + %case.cmp64 = icmp eq i32 %0, 116 + br i1 %case.cmp64, label %sw.bb, label %NodeBlock61 + +NodeBlock61: ; preds = %NodeBlock63 + %case.cmp62 = icmp eq i32 %0, 117 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 118 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 119 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 120 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 121 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 122 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 65 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 66 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 67 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 68 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 69 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 70 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 71 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 72 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 73 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 74 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 75 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 76 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 77 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 78 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 79 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 80 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 81 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 82 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 83 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 84 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 85 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 86 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 87 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 88 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 89 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 90 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock101, %NodeBlock99, %NodeBlock97, %NodeBlock95, %NodeBlock93, %NodeBlock91, %NodeBlock89, %NodeBlock87, %NodeBlock85, %NodeBlock83, %NodeBlock81, %NodeBlock79, %NodeBlock77, %NodeBlock75, %NodeBlock73, %NodeBlock71, %NodeBlock69, %NodeBlock67, %NodeBlock65, %NodeBlock63, %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isascii(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %switch = icmp ult i32 %0, 128 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isblank(i32 %c) #3 { +entry: + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %cmp = icmp eq i32 %0, 32 + %1 = load i32, i32* %c.addr, align 4 + %cmp1 = icmp eq i32 %1, 9 + %2 = select i1 %cmp, i1 true, i1 %cmp1 + ret i1 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_iscntrl(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock63 + +NodeBlock63: ; preds = %entry + %case.cmp64 = icmp eq i32 %0, 7 + br i1 %case.cmp64, label %sw.bb, label %NodeBlock61 + +NodeBlock61: ; preds = %NodeBlock63 + %case.cmp62 = icmp eq i32 %0, 8 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 12 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 10 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 13 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 9 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 11 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 0 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 1 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 2 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 3 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 4 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 5 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 6 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 14 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 15 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 16 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 17 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 18 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 19 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 20 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 21 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 22 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 23 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 24 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 25 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 26 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 27 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 28 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 29 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 30 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 31 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 127 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock63, %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isdigit(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -48 + %switch = icmp ult i32 %.off, 10 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isgraph(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -33 + %switch = icmp ult i32 %.off, 94 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_islower(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -97 + %switch = icmp ult i32 %.off, 26 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isprint(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -32 + %switch = icmp ult i32 %.off, 95 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_ispunct(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock61 + +NodeBlock61: ; preds = %entry + %case.cmp62 = icmp eq i32 %0, 33 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 34 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 35 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 36 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 37 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 38 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 39 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 40 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 41 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 42 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 43 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 44 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 45 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 46 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 47 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 58 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 59 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 60 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 61 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 62 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 63 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 64 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 91 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 92 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 93 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 94 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 95 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 96 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 123 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 124 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 125 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 126 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isspace(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock9 + +NodeBlock9: ; preds = %entry + %case.cmp10 = icmp eq i32 %0, 32 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 9 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 10 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 11 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 12 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 13 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isupper(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -65 + %switch = icmp ult i32 %.off, 26 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isxdigit(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock41 + +NodeBlock41: ; preds = %entry + %case.cmp42 = icmp eq i32 %0, 48 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 49 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 50 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 51 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 52 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 53 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 54 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 55 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 56 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 57 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 97 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 98 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 99 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 100 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 101 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 102 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 65 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 66 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 67 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 68 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 69 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 70 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @c_toupper(i32 %c) #3 { +entry: + %retval = alloca i32, align 4 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -97 + %switch = icmp ult i32 %.off, 26 + %1 = load i32, i32* %c.addr, align 4 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + %sub = sub nsw i32 %1, 97 + %add = add nsw i32 %sub, 65 + store i32 %add, i32* %retval, align 4 + br label %return + +sw.default: ; preds = %entry + store i32 %1, i32* %retval, align 4 + br label %return + +return: ; preds = %sw.default, %sw.bb + %2 = load i32, i32* %retval, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @klee_init_fds(i32 %n_files, i32 %file_length, i32 %stdin_length, i32 %sym_stdout_flag, i32 %save_all_writes_flag, i32 %max_failures) #3 { +entry: + %n_files.addr = alloca i32, align 4 + %file_length.addr = alloca i32, align 4 + %stdin_length.addr = alloca i32, align 4 + %sym_stdout_flag.addr = alloca i32, align 4 + %save_all_writes_flag.addr = alloca i32, align 4 + %max_failures.addr = alloca i32, align 4 + %k = alloca i32, align 4 + %name = alloca [7 x i8], align 1 + %s = alloca %struct.stat64, align 8 + store i32 %n_files, i32* %n_files.addr, align 4 + store i32 %file_length, i32* %file_length.addr, align 4 + store i32 %stdin_length, i32* %stdin_length.addr, align 4 + store i32 %sym_stdout_flag, i32* %sym_stdout_flag.addr, align 4 + store i32 %save_all_writes_flag, i32* %save_all_writes_flag.addr, align 4 + store i32 %max_failures, i32* %max_failures.addr, align 4 + %0 = bitcast [7 x i8]* %name to i8* + %1 = call i8* @memcpy(i8* %0, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @__const.klee_init_fds.name, i32 0, i32 0), i64 7) + %call = call i32 @stat64(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.139, i64 0, i64 0), %struct.stat64* %s) #11 + %2 = load i32, i32* %n_files.addr, align 4 + store i32 %2, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %3 = load i32, i32* %n_files.addr, align 4 + %conv = zext i32 %3 to i64 + %mul = mul i64 24, %conv + %call1 = call noalias i8* @malloc(i64 %mul) #11 + %4 = bitcast i8* %call1 to %struct.exe_disk_file_t* + store %struct.exe_disk_file_t* %4, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %5 = load i32, i32* %n_files.addr, align 4 + %tobool = icmp eq i32 %5, 0 + %6 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %6, null + %or.cond = or i1 %tobool, %tobool2 + br i1 %or.cond, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @gs_report_error.143(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.140, i64 0, i64 0), i32 124, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.141, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.142, i64 0, i64 0)) #25 + unreachable + +if.end: ; preds = %entry + store i32 0, i32* %k, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %7 = load i32, i32* %k, align 4 + %8 = load i32, i32* %n_files.addr, align 4 + %cmp = icmp ult i32 %7, %8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %9 = load i32, i32* %k, align 4 + %add = add i32 65, %9 + %conv4 = trunc i32 %add to i8 + %arrayidx = getelementptr inbounds [7 x i8], [7 x i8]* %name, i64 0, i64 0 + store i8 %conv4, i8* %arrayidx, align 1 + %10 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %11 = load i32, i32* %k, align 4 + %idxprom = zext i32 %11 to i64 + %arrayidx5 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %10, i64 %idxprom + %12 = load i32, i32* %file_length.addr, align 4 + %arraydecay = getelementptr inbounds [7 x i8], [7 x i8]* %name, i64 0, i64 0 + call void @__create_new_dfile(%struct.exe_disk_file_t* %arrayidx5, i32 %12, i8* %arraydecay, %struct.stat64* %s) + %13 = load i32, i32* %k, align 4 + %inc = add i32 %13, 1 + store i32 %inc, i32* %k, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %14 = load i32, i32* %stdin_length.addr, align 4 + %tobool6 = icmp ne i32 %14, 0 + br i1 %tobool6, label %if.then7, label %if.else + +if.then7: ; preds = %for.end + %call8 = call noalias i8* @malloc(i64 24) #11 + %15 = bitcast i8* %call8 to %struct.exe_disk_file_t* + store %struct.exe_disk_file_t* %15, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + %16 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + %tobool9 = icmp ne %struct.exe_disk_file_t* %16, null + br i1 %tobool9, label %if.end11, label %if.then10 + +if.then10: ; preds = %if.then7 + call void @gs_report_error.143(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.140, i64 0, i64 0), i32 135, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.141, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.142, i64 0, i64 0)) #25 + unreachable + +if.end11: ; preds = %if.then7 + %17 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + %18 = load i32, i32* %stdin_length.addr, align 4 + call void @__create_new_dfile(%struct.exe_disk_file_t* %17, i32 %18, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.4.144, i64 0, i64 0), %struct.stat64* %s) + %19 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + store %struct.exe_disk_file_t* %19, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0, i64 0, i32 3), align 8 + br label %if.end12 + +if.else: ; preds = %for.end + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + br label %if.end12 + +if.end12: ; preds = %if.else, %if.end11 + %20 = load i32, i32* %max_failures.addr, align 4 + store i32 %20, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %21 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool13 = icmp ne i32 %21, 0 + br i1 %tobool13, label %if.then14, label %if.end31 + +if.then14: ; preds = %if.end12 + %call15 = call noalias i8* @malloc(i64 4) #11 + %22 = bitcast i8* %call15 to i32* + store i32* %22, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %call16 = call noalias i8* @malloc(i64 4) #11 + %23 = bitcast i8* %call16 to i32* + store i32* %23, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %call17 = call noalias i8* @malloc(i64 4) #11 + %24 = bitcast i8* %call17 to i32* + store i32* %24, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %call18 = call noalias i8* @malloc(i64 4) #11 + %25 = bitcast i8* %call18 to i32* + store i32* %25, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %call19 = call noalias i8* @malloc(i64 4) #11 + %26 = bitcast i8* %call19 to i32* + store i32* %26, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %27 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %tobool20 = icmp ne i32* %27, null + %28 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %tobool22 = icmp ne i32* %28, null + %or.cond1 = and i1 %tobool20, %tobool22 + %29 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %tobool24 = icmp ne i32* %29, null + %or.cond2 = and i1 %or.cond1, %tobool24 + %30 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %tobool26 = icmp ne i32* %30, null + %or.cond3 = and i1 %or.cond2, %tobool26 + %31 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %tobool28 = icmp ne i32* %31, null + %or.cond4 = and i1 %or.cond3, %tobool28 + br i1 %or.cond4, label %if.end30, label %if.then29 + +if.then29: ; preds = %if.then14 + call void @gs_report_error.143(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.140, i64 0, i64 0), i32 150, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.141, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.142, i64 0, i64 0)) #25 + unreachable + +if.end30: ; preds = %if.then14 + %32 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %33 = bitcast i32* %32 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %33, i64 4, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.5.145, i64 0, i64 0)) + %34 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %35 = bitcast i32* %34 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %35, i64 4, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.6.146, i64 0, i64 0)) + %36 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %37 = bitcast i32* %36 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %37, i64 4, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.7.147, i64 0, i64 0)) + %38 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %39 = bitcast i32* %38 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %39, i64 4, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.8.148, i64 0, i64 0)) + %40 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %41 = bitcast i32* %40 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %41, i64 4, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.9.149, i64 0, i64 0)) + br label %if.end31 + +if.end31: ; preds = %if.end30, %if.end12 + %42 = load i32, i32* %sym_stdout_flag.addr, align 4 + %tobool32 = icmp ne i32 %42, 0 + br i1 %tobool32, label %if.then33, label %if.else38 + +if.then33: ; preds = %if.end31 + %call34 = call noalias i8* @malloc(i64 24) #11 + %43 = bitcast i8* %call34 to %struct.exe_disk_file_t* + store %struct.exe_disk_file_t* %43, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + %44 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + %tobool35 = icmp ne %struct.exe_disk_file_t* %44, null + br i1 %tobool35, label %if.end37, label %if.then36 + +if.then36: ; preds = %if.then33 + call void @gs_report_error.143(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.140, i64 0, i64 0), i32 163, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.141, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.142, i64 0, i64 0)) #25 + unreachable + +if.end37: ; preds = %if.then33 + %45 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + call void @__create_new_dfile(%struct.exe_disk_file_t* %45, i32 1024, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.10.150, i64 0, i64 0), %struct.stat64* %s) + %46 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + store %struct.exe_disk_file_t* %46, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0, i64 1, i32 3), align 8 + store i32 0, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 3), align 8 + br label %if.end39 + +if.else38: ; preds = %if.end31 + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + br label %if.end39 + +if.end39: ; preds = %if.else38, %if.end37 + %47 = load i32, i32* %save_all_writes_flag.addr, align 4 + store i32 %47, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 3), align 8 + %call40 = call i32 @__sym_uint32(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.11.151, i64 0, i64 0)) + store i32 %call40, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 2), align 4 + %48 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 2), align 4 + %cmp41 = icmp eq i32 %48, 1 + call void @gs_assume(i1 zeroext %cmp41) + ret void +} + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error.143(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.154, i64 0, i64 0)) + call void @stop(i32 -1) #25 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__create_new_dfile(%struct.exe_disk_file_t* %dfile, i32 %size, i8* %name, %struct.stat64* %defaults) #3 { +entry: + %dfile.addr = alloca %struct.exe_disk_file_t*, align 8 + %size.addr = alloca i32, align 4 + %name.addr = alloca i8*, align 8 + %defaults.addr = alloca %struct.stat64*, align 8 + %s = alloca %struct.stat64*, align 8 + %sp = alloca i8*, align 8 + %sname = alloca [64 x i8], align 16 + store %struct.exe_disk_file_t* %dfile, %struct.exe_disk_file_t** %dfile.addr, align 8 + store i32 %size, i32* %size.addr, align 4 + store i8* %name, i8** %name.addr, align 8 + store %struct.stat64* %defaults, %struct.stat64** %defaults.addr, align 8 + %call = call noalias i8* @malloc(i64 144) #11 + %0 = bitcast i8* %call to %struct.stat64* + store %struct.stat64* %0, %struct.stat64** %s, align 8 + %1 = load %struct.stat64*, %struct.stat64** %s, align 8 + %tobool = icmp ne %struct.stat64* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @gs_report_error.143(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.140, i64 0, i64 0), i32 47, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.141, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.142, i64 0, i64 0)) #25 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %name.addr, align 8 + store i8* %2, i8** %sp, align 8 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %3 = load i8*, i8** %sp, align 8 + %4 = load i8, i8* %3, align 1 + %tobool1 = icmp ne i8 %4, 0 + %5 = load i8*, i8** %sp, align 8 + br i1 %tobool1, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %6 = load i8, i8* %5, align 1 + %7 = load i8*, i8** %sp, align 8 + %8 = load i8*, i8** %name.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %8 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %arrayidx = getelementptr inbounds [64 x i8], [64 x i8]* %sname, i64 0, i64 %sub.ptr.sub + store i8 %6, i8* %arrayidx, align 1 + %9 = load i8*, i8** %sp, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %sp, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %10 = load i8*, i8** %name.addr, align 8 + %sub.ptr.lhs.cast2 = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast3 = ptrtoint i8* %10 to i64 + %sub.ptr.sub4 = sub i64 %sub.ptr.lhs.cast2, %sub.ptr.rhs.cast3 + %arrayidx5 = getelementptr inbounds [64 x i8], [64 x i8]* %sname, i64 0, i64 %sub.ptr.sub4 + %11 = call i8* @memcpy(i8* %arrayidx5, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.13.152, i64 0, i64 0), i64 6) + %12 = load i32, i32* %size.addr, align 4 + %tobool6 = icmp ne i32 %12, 0 + br i1 %tobool6, label %if.end8, label %if.else + +if.else: ; preds = %for.end + call void @__assert_fail(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.14.153, i64 0, i64 0), i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.140, i64 0, i64 0), i32 55, i8* getelementptr inbounds ([88 x i8], [88 x i8]* @__PRETTY_FUNCTION__.__create_new_dfile, i64 0, i64 0)) #27 + unreachable + +if.end8: ; preds = %for.end + %13 = load i32, i32* %size.addr, align 4 + %14 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size9 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %14, i32 0, i32 0 + store i32 %13, i32* %size9, align 8 + %15 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size10 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %15, i32 0, i32 0 + %16 = load i32, i32* %size10, align 8 + %conv = zext i32 %16 to i64 + %call11 = call noalias i8* @malloc(i64 %conv) #11 + %17 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %contents = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %17, i32 0, i32 1 + store i8* %call11, i8** %contents, align 8 + %18 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %contents12 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %18, i32 0, i32 1 + %19 = load i8*, i8** %contents12, align 8 + %tobool13 = icmp ne i8* %19, null + br i1 %tobool13, label %if.end15, label %if.then14 + +if.then14: ; preds = %if.end8 + call void @gs_report_error.143(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.140, i64 0, i64 0), i32 60, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.141, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.142, i64 0, i64 0)) #25 + unreachable + +if.end15: ; preds = %if.end8 + %20 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %contents16 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %20, i32 0, i32 1 + %21 = load i8*, i8** %contents16, align 8 + %22 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size17 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %22, i32 0, i32 0 + %23 = load i32, i32* %size17, align 8 + %conv18 = zext i32 %23 to i64 + %24 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %21, i64 %conv18, i8* %24) + %25 = load %struct.stat64*, %struct.stat64** %s, align 8 + %26 = bitcast %struct.stat64* %25 to i8* + %arraydecay = getelementptr inbounds [64 x i8], [64 x i8]* %sname, i64 0, i64 0 + call void (i8*, i64, ...) @make_symbolic(i8* %26, i64 144, i8* %arraydecay) + %27 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %27, i32 0, i32 1 + %28 = load i64, i64* %st_ino, align 8 + %call19 = call i32 @gs_is_symbolic(i64 %28) + %tobool20 = icmp ne i32 %call19, 0 + br i1 %tobool20, label %if.end26, label %land.lhs.true + +land.lhs.true: ; preds = %if.end15 + %29 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino21 = getelementptr inbounds %struct.stat64, %struct.stat64* %29, i32 0, i32 1 + %30 = load i64, i64* %st_ino21, align 8 + %and = and i64 %30, 2147483647 + %cmp = icmp eq i64 %and, 0 + br i1 %cmp, label %if.then23, label %if.end26 + +if.then23: ; preds = %land.lhs.true + %31 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_ino24 = getelementptr inbounds %struct.stat64, %struct.stat64* %31, i32 0, i32 1 + %32 = load i64, i64* %st_ino24, align 8 + %33 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino25 = getelementptr inbounds %struct.stat64, %struct.stat64* %33, i32 0, i32 1 + store i64 %32, i64* %st_ino25, align 8 + br label %if.end26 + +if.end26: ; preds = %if.then23, %land.lhs.true, %if.end15 + %34 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino27 = getelementptr inbounds %struct.stat64, %struct.stat64* %34, i32 0, i32 1 + %35 = load i64, i64* %st_ino27, align 8 + %and28 = and i64 %35, 2147483647 + %cmp29 = icmp ne i64 %and28, 0 + call void @gs_assume(i1 zeroext %cmp29) + %36 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_blksize = getelementptr inbounds %struct.stat64, %struct.stat64* %36, i32 0, i32 9 + %37 = load i64, i64* %st_blksize, align 8 + %and31 = and i64 %37, -65536 + %cmp32 = icmp eq i64 %and31, 0 + call void @gs_assume(i1 zeroext %cmp32) + %38 = load %struct.stat64*, %struct.stat64** %s, align 8 + %39 = bitcast %struct.stat64* %38 to i8* + %40 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %40, i32 0, i32 3 + %41 = load i32, i32* %st_mode, align 8 + %and34 = and i32 %41, -61952 + %tobool35 = icmp ne i32 %and34, 0 + %lnot = xor i1 %tobool35, true + call void @gs_prefer_cex(i8* %39, i1 zeroext %lnot) + %42 = load %struct.stat64*, %struct.stat64** %s, align 8 + %43 = bitcast %struct.stat64* %42 to i8* + %44 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_dev = getelementptr inbounds %struct.stat64, %struct.stat64* %44, i32 0, i32 0 + %45 = load i64, i64* %st_dev, align 8 + %46 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_dev36 = getelementptr inbounds %struct.stat64, %struct.stat64* %46, i32 0, i32 0 + %47 = load i64, i64* %st_dev36, align 8 + %cmp37 = icmp eq i64 %45, %47 + call void @gs_prefer_cex(i8* %43, i1 zeroext %cmp37) + %48 = load %struct.stat64*, %struct.stat64** %s, align 8 + %49 = bitcast %struct.stat64* %48 to i8* + %50 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_rdev = getelementptr inbounds %struct.stat64, %struct.stat64* %50, i32 0, i32 7 + %51 = load i64, i64* %st_rdev, align 8 + %52 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_rdev39 = getelementptr inbounds %struct.stat64, %struct.stat64* %52, i32 0, i32 7 + %53 = load i64, i64* %st_rdev39, align 8 + %cmp40 = icmp eq i64 %51, %53 + call void @gs_prefer_cex(i8* %49, i1 zeroext %cmp40) + %54 = load %struct.stat64*, %struct.stat64** %s, align 8 + %55 = bitcast %struct.stat64* %54 to i8* + %56 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode42 = getelementptr inbounds %struct.stat64, %struct.stat64* %56, i32 0, i32 3 + %57 = load i32, i32* %st_mode42, align 8 + %and43 = and i32 %57, 448 + %cmp44 = icmp eq i32 %and43, 384 + call void @gs_prefer_cex(i8* %55, i1 zeroext %cmp44) + %58 = load %struct.stat64*, %struct.stat64** %s, align 8 + %59 = bitcast %struct.stat64* %58 to i8* + %60 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode46 = getelementptr inbounds %struct.stat64, %struct.stat64* %60, i32 0, i32 3 + %61 = load i32, i32* %st_mode46, align 8 + %and47 = and i32 %61, 56 + %cmp48 = icmp eq i32 %and47, 32 + call void @gs_prefer_cex(i8* %59, i1 zeroext %cmp48) + %62 = load %struct.stat64*, %struct.stat64** %s, align 8 + %63 = bitcast %struct.stat64* %62 to i8* + %64 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode50 = getelementptr inbounds %struct.stat64, %struct.stat64* %64, i32 0, i32 3 + %65 = load i32, i32* %st_mode50, align 8 + %and51 = and i32 %65, 7 + %cmp52 = icmp eq i32 %and51, 4 + call void @gs_prefer_cex(i8* %63, i1 zeroext %cmp52) + %66 = load %struct.stat64*, %struct.stat64** %s, align 8 + %67 = bitcast %struct.stat64* %66 to i8* + %68 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode54 = getelementptr inbounds %struct.stat64, %struct.stat64* %68, i32 0, i32 3 + %69 = load i32, i32* %st_mode54, align 8 + %and55 = and i32 %69, 61440 + %cmp56 = icmp eq i32 %and55, 32768 + call void @gs_prefer_cex(i8* %67, i1 zeroext %cmp56) + %70 = load %struct.stat64*, %struct.stat64** %s, align 8 + %71 = bitcast %struct.stat64* %70 to i8* + %72 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_nlink = getelementptr inbounds %struct.stat64, %struct.stat64* %72, i32 0, i32 2 + %73 = load i64, i64* %st_nlink, align 8 + %cmp58 = icmp eq i64 %73, 1 + call void @gs_prefer_cex(i8* %71, i1 zeroext %cmp58) + %74 = load %struct.stat64*, %struct.stat64** %s, align 8 + %75 = bitcast %struct.stat64* %74 to i8* + %76 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_uid = getelementptr inbounds %struct.stat64, %struct.stat64* %76, i32 0, i32 4 + %77 = load i32, i32* %st_uid, align 4 + %78 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_uid60 = getelementptr inbounds %struct.stat64, %struct.stat64* %78, i32 0, i32 4 + %79 = load i32, i32* %st_uid60, align 4 + %cmp61 = icmp eq i32 %77, %79 + call void @gs_prefer_cex(i8* %75, i1 zeroext %cmp61) + %80 = load %struct.stat64*, %struct.stat64** %s, align 8 + %81 = bitcast %struct.stat64* %80 to i8* + %82 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_gid = getelementptr inbounds %struct.stat64, %struct.stat64* %82, i32 0, i32 5 + %83 = load i32, i32* %st_gid, align 8 + %84 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_gid63 = getelementptr inbounds %struct.stat64, %struct.stat64* %84, i32 0, i32 5 + %85 = load i32, i32* %st_gid63, align 8 + %cmp64 = icmp eq i32 %83, %85 + call void @gs_prefer_cex(i8* %81, i1 zeroext %cmp64) + %86 = load %struct.stat64*, %struct.stat64** %s, align 8 + %87 = bitcast %struct.stat64* %86 to i8* + %88 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_blksize66 = getelementptr inbounds %struct.stat64, %struct.stat64* %88, i32 0, i32 9 + %89 = load i64, i64* %st_blksize66, align 8 + %cmp67 = icmp eq i64 %89, 4096 + call void @gs_prefer_cex(i8* %87, i1 zeroext %cmp67) + %90 = load %struct.stat64*, %struct.stat64** %s, align 8 + %91 = bitcast %struct.stat64* %90 to i8* + %92 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_atim = getelementptr inbounds %struct.stat64, %struct.stat64* %92, i32 0, i32 11 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim, i32 0, i32 0 + %93 = load i64, i64* %tv_sec, align 8 + %94 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_atim69 = getelementptr inbounds %struct.stat64, %struct.stat64* %94, i32 0, i32 11 + %tv_sec70 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim69, i32 0, i32 0 + %95 = load i64, i64* %tv_sec70, align 8 + %cmp71 = icmp eq i64 %93, %95 + call void @gs_prefer_cex(i8* %91, i1 zeroext %cmp71) + %96 = load %struct.stat64*, %struct.stat64** %s, align 8 + %97 = bitcast %struct.stat64* %96 to i8* + %98 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mtim = getelementptr inbounds %struct.stat64, %struct.stat64* %98, i32 0, i32 12 + %tv_sec73 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim, i32 0, i32 0 + %99 = load i64, i64* %tv_sec73, align 8 + %100 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_mtim74 = getelementptr inbounds %struct.stat64, %struct.stat64* %100, i32 0, i32 12 + %tv_sec75 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim74, i32 0, i32 0 + %101 = load i64, i64* %tv_sec75, align 8 + %cmp76 = icmp eq i64 %99, %101 + call void @gs_prefer_cex(i8* %97, i1 zeroext %cmp76) + %102 = load %struct.stat64*, %struct.stat64** %s, align 8 + %103 = bitcast %struct.stat64* %102 to i8* + %104 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ctim = getelementptr inbounds %struct.stat64, %struct.stat64* %104, i32 0, i32 13 + %tv_sec78 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim, i32 0, i32 0 + %105 = load i64, i64* %tv_sec78, align 8 + %106 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_ctim79 = getelementptr inbounds %struct.stat64, %struct.stat64* %106, i32 0, i32 13 + %tv_sec80 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim79, i32 0, i32 0 + %107 = load i64, i64* %tv_sec80, align 8 + %cmp81 = icmp eq i64 %105, %107 + call void @gs_prefer_cex(i8* %103, i1 zeroext %cmp81) + %108 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size83 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %108, i32 0, i32 0 + %109 = load i32, i32* %size83, align 8 + %conv84 = zext i32 %109 to i64 + %110 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_size = getelementptr inbounds %struct.stat64, %struct.stat64* %110, i32 0, i32 8 + store i64 %conv84, i64* %st_size, align 8 + %111 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_blocks = getelementptr inbounds %struct.stat64, %struct.stat64* %111, i32 0, i32 10 + store i64 8, i64* %st_blocks, align 8 + %112 = load %struct.stat64*, %struct.stat64** %s, align 8 + %113 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %113, i32 0, i32 2 + store %struct.stat64* %112, %struct.stat64** %stat, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__sym_uint32(i8* %name) #3 { +entry: + %name.addr = alloca i8*, align 8 + %x = alloca i32, align 4 + store i8* %name, i8** %name.addr, align 8 + %0 = bitcast i32* %x to i8* + %1 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %0, i64 4, i8* %1) + %2 = load i32, i32* %x, align 4 + ret i32 %2 +} + +declare dso_local void @gs_prefer_cex(i8*, i1 zeroext) #5 + +; Function Attrs: noinline nounwind uwtable +define weak hidden i32 @__syscall_rt_sigaction(i32 %signum, %struct.sigaction.800* %act, %struct.sigaction.800* %oldact, i64 %_something) #3 { +entry: + %signum.addr = alloca i32, align 4 + %act.addr = alloca %struct.sigaction.800*, align 8 + %oldact.addr = alloca %struct.sigaction.800*, align 8 + %_something.addr = alloca i64, align 8 + store i32 %signum, i32* %signum.addr, align 4 + store %struct.sigaction.800* %act, %struct.sigaction.800** %act.addr, align 8 + store %struct.sigaction.800* %oldact, %struct.sigaction.800** %oldact.addr, align 8 + store i64 %_something, i64* %_something.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.155, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @sigaction(i32 %signum, %struct.sigaction.800* %act, %struct.sigaction.800* %oldact) #3 { +entry: + %signum.addr = alloca i32, align 4 + %act.addr = alloca %struct.sigaction.800*, align 8 + %oldact.addr = alloca %struct.sigaction.800*, align 8 + store i32 %signum, i32* %signum.addr, align 4 + store %struct.sigaction.800* %act, %struct.sigaction.800** %act.addr, align 8 + store %struct.sigaction.800* %oldact, %struct.sigaction.800** %oldact.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.155, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @sigprocmask(i32 %how, %struct.fd_set* %set, %struct.fd_set* %oldset) #3 { +entry: + %how.addr = alloca i32, align 4 + %set.addr = alloca %struct.fd_set*, align 8 + %oldset.addr = alloca %struct.fd_set*, align 8 + store i32 %how, i32* %how.addr, align 4 + store %struct.fd_set* %set, %struct.fd_set** %set.addr, align 8 + store %struct.fd_set* %oldset, %struct.fd_set** %oldset.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.155, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @fdatasync(i32 %fd) #3 { +entry: + %fd.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local void @sync() #3 { +entry: + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @__socketcall(i32 %type, i32* %args) #3 { +entry: + %type.addr = alloca i32, align 4 + %args.addr = alloca i32*, align 8 + store i32 %type, i32* %type.addr, align 4 + store i32* %args, i32** %args.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.1.160, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 97, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @gs_warning.161(i8* %message) #3 { +entry: + %message.addr = alloca i8*, align 8 + store i8* %message, i8** %message.addr, align 8 + %0 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %0) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.11.162, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @_IO_getc(%struct._IO_FILE* %f) #3 { +entry: + %f.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %f, %struct._IO_FILE** %f.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %f.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %0) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @_IO_putc(i32 %c, %struct._IO_FILE* %f) #3 { +entry: + %c.addr = alloca i32, align 4 + %f.addr = alloca %struct._IO_FILE*, align 8 + store i32 %c, i32* %c.addr, align 4 + store %struct._IO_FILE* %f, %struct._IO_FILE** %f.addr, align 8 + %0 = load i32, i32* %c.addr, align 4 + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %f.addr, align 8 + %call = call i32 bitcast (i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked to i32 (i32, %struct._IO_FILE*)*)(i32 %0, %struct._IO_FILE* %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mkdir(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2.165, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 5, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mkfifo(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2.165, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 5, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mknod(i8* nonnull %pathname, i32 %mode, i64 %dev) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + %dev.addr = alloca i64, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + store i64 %dev, i64* %dev.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2.165, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 5, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @pipe(i32* %filedes) #3 { +entry: + %filedes.addr = alloca i32*, align 8 + store i32* %filedes, i32** %filedes.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.3.166, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 23, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @link(i8* nonnull %oldpath, i8* nonnull %newpath) #3 { +entry: + %oldpath.addr = alloca i8*, align 8 + %newpath.addr = alloca i8*, align 8 + store i8* %oldpath, i8** %oldpath.addr, align 8 + store i8* %newpath, i8** %newpath.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @symlink(i8* nonnull %oldpath, i8* nonnull %newpath) #3 { +entry: + %oldpath.addr = alloca i8*, align 8 + %newpath.addr = alloca i8*, align 8 + store i8* %oldpath, i8** %oldpath.addr, align 8 + store i8* %newpath, i8** %newpath.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @rename(i8* %oldpath, i8* %newpath) #3 { +entry: + %oldpath.addr = alloca i8*, align 8 + %newpath.addr = alloca i8*, align 8 + store i8* %oldpath, i8** %oldpath.addr, align 8 + store i8* %newpath, i8** %newpath.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @nanosleep(%struct.timespec* %req, %struct.timespec* %rem) #3 { +entry: + %req.addr = alloca %struct.timespec*, align 8 + %rem.addr = alloca %struct.timespec*, align 8 + store %struct.timespec* %req, %struct.timespec** %req.addr, align 8 + store %struct.timespec* %rem, %struct.timespec** %rem.addr, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @clock_gettime(i32 %clk_id, %struct.timespec* %res) #3 { +entry: + %clk_id.addr = alloca i32, align 4 + %res.addr = alloca %struct.timespec*, align 8 + %tv = alloca %struct.timespec, align 8 + store i32 %clk_id, i32* %clk_id.addr, align 4 + store %struct.timespec* %res, %struct.timespec** %res.addr, align 8 + %call = call i32 @gettimeofday(%struct.timespec* %tv, i8* null) #11 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %0 = load i64, i64* %tv_sec, align 8 + %1 = load %struct.timespec*, %struct.timespec** %res.addr, align 8 + %tv_sec1 = getelementptr inbounds %struct.timespec, %struct.timespec* %1, i32 0, i32 0 + store i64 %0, i64* %tv_sec1, align 8 + %tv_usec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 1 + %2 = load i64, i64* %tv_usec, align 8 + %mul = mul nsw i64 %2, 1000 + %3 = load %struct.timespec*, %struct.timespec** %res.addr, align 8 + %tv_nsec = getelementptr inbounds %struct.timespec, %struct.timespec* %3, i32 0, i32 1 + store i64 %mul, i64* %tv_nsec, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @clock_settime(i32 %clk_id, %struct.timespec* %res) #3 { +entry: + %clk_id.addr = alloca i32, align 4 + %res.addr = alloca %struct.timespec*, align 8 + store i32 %clk_id, i32* %clk_id.addr, align 4 + store %struct.timespec* %res, %struct.timespec** %res.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @time(i64* %t) #3 { +entry: + %t.addr = alloca i64*, align 8 + %tv = alloca %struct.timespec, align 8 + store i64* %t, i64** %t.addr, align 8 + %call = call i32 @gettimeofday(%struct.timespec* %tv, i8* null) #11 + %0 = load i64*, i64** %t.addr, align 8 + %tobool = icmp ne i64* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %1 = load i64, i64* %tv_sec, align 8 + %2 = load i64*, i64** %t.addr, align 8 + store i64 %1, i64* %2, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %tv_sec1 = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %3 = load i64, i64* %tv_sec1, align 8 + ret i64 %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @times(%struct.tms* %buf) #3 { +entry: + %buf.addr = alloca %struct.tms*, align 8 + store %struct.tms* %buf, %struct.tms** %buf.addr, align 8 + %0 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tobool = icmp ne %struct.tms* %0, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + call void @gs_warning.161(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.5.168, i64 0, i64 0)) + br label %if.end + +if.else: ; preds = %entry + call void @gs_warning.161(i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.6.169, i64 0, i64 0)) + %1 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_utime = getelementptr inbounds %struct.tms, %struct.tms* %1, i32 0, i32 0 + store i64 0, i64* %tms_utime, align 8 + %2 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_stime = getelementptr inbounds %struct.tms, %struct.tms* %2, i32 0, i32 1 + store i64 0, i64* %tms_stime, align 8 + %3 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_cutime = getelementptr inbounds %struct.tms, %struct.tms* %3, i32 0, i32 2 + store i64 0, i64* %tms_cutime, align 8 + %4 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_cstime = getelementptr inbounds %struct.tms, %struct.tms* %4, i32 0, i32 3 + store i64 0, i64* %tms_cstime, align 8 + br label %if.end + +if.end: ; preds = %if.else, %if.then + ret i64 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local %struct.utmpx* @getutxent() #3 { +entry: + %call = call %struct.utmp* bitcast (%struct.utmp.323* ()* @getutent to %struct.utmp* ()*)() #11 + %0 = bitcast %struct.utmp* %call to %struct.utmpx* + ret %struct.utmpx* %0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local void @setutxent() #3 { +entry: + call void @setutent() #11 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local void @endutxent() #3 { +entry: + call void @endutent() #11 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @utmpxname(i8* %file) #3 { +entry: + %file.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + %call = call i32 @utmpname(i8* %0) #11 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @euidaccess(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %1 = load i32, i32* %mode.addr, align 4 + %call = call i32 @access(i8* %0, i32 %1) #11 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @eaccess(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %1 = load i32, i32* %mode.addr, align 4 + %call = call i32 @euidaccess(i8* %0, i32 %1) #11 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @group_member(i32 %__gid) #3 { +entry: + %__gid.addr = alloca i32, align 4 + store i32 %__gid, i32* %__gid.addr, align 4 + %0 = load i32, i32* %__gid.addr, align 4 + %call = call i32 @getgid() #11 + %cmp = icmp eq i32 %0, %call + br i1 %cmp, label %lor.end, label %lor.rhs + +lor.rhs: ; preds = %entry + %1 = load i32, i32* %__gid.addr, align 4 + %call1 = call i32 @getegid() #11 + %cmp2 = icmp eq i32 %1, %call1 + br label %lor.end + +lor.end: ; preds = %lor.rhs, %entry + %2 = phi i1 [ true, %entry ], [ %cmp2, %lor.rhs ] + %lor.ext = zext i1 %2 to i32 + ret i32 %lor.ext +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @utime(i8* nonnull %filename, %struct.timespec* %buf) #3 { +entry: + %filename.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.timespec*, align 8 + store i8* %filename, i8** %filename.addr, align 8 + store %struct.timespec* %buf, %struct.timespec** %buf.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @futimes(i32 %fd, %struct.timespec* %times) #3 { +entry: + %fd.addr = alloca i32, align 4 + %times.addr = alloca %struct.timespec*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.timespec* %times, %struct.timespec** %times.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.7.170, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 9, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind readonly uwtable +define dso_local i32 @strverscmp(i8* nonnull %__s1, i8* nonnull %__s2) #16 { +entry: + %__s1.addr = alloca i8*, align 8 + %__s2.addr = alloca i8*, align 8 + store i8* %__s1, i8** %__s1.addr, align 8 + store i8* %__s2, i8** %__s2.addr, align 8 + %0 = load i8*, i8** %__s1.addr, align 8 + %1 = load i8*, i8** %__s2.addr, align 8 + %call = call i32 @strcmp(i8* %0, i8* %1) #24 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @gnu_dev_major(i64 %__dev) #3 { +entry: + %__dev.addr = alloca i64, align 8 + store i64 %__dev, i64* %__dev.addr, align 8 + %0 = load i64, i64* %__dev.addr, align 8 + %shr = lshr i64 %0, 8 + %and = and i64 %shr, 4095 + %1 = load i64, i64* %__dev.addr, align 8 + %shr1 = lshr i64 %1, 32 + %conv = trunc i64 %shr1 to i32 + %and2 = and i32 %conv, -4096 + %conv3 = zext i32 %and2 to i64 + %or = or i64 %and, %conv3 + %conv4 = trunc i64 %or to i32 + ret i32 %conv4 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @gnu_dev_minor(i64 %__dev) #3 { +entry: + %__dev.addr = alloca i64, align 8 + store i64 %__dev, i64* %__dev.addr, align 8 + %0 = load i64, i64* %__dev.addr, align 8 + %and = and i64 %0, 255 + %1 = load i64, i64* %__dev.addr, align 8 + %shr = lshr i64 %1, 12 + %conv = trunc i64 %shr to i32 + %and1 = and i32 %conv, -256 + %conv2 = zext i32 %and1 to i64 + %or = or i64 %and, %conv2 + %conv3 = trunc i64 %or to i32 + ret i32 %conv3 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i64 @gnu_dev_makedev(i32 %__major, i32 %__minor) #3 { +entry: + %__major.addr = alloca i32, align 4 + %__minor.addr = alloca i32, align 4 + store i32 %__major, i32* %__major.addr, align 4 + store i32 %__minor, i32* %__minor.addr, align 4 + %0 = load i32, i32* %__minor.addr, align 4 + %and = and i32 %0, 255 + %1 = load i32, i32* %__major.addr, align 4 + %and1 = and i32 %1, 4095 + %shl = shl i32 %and1, 8 + %or = or i32 %and, %shl + %conv = zext i32 %or to i64 + %2 = load i32, i32* %__minor.addr, align 4 + %and2 = and i32 %2, -256 + %conv3 = zext i32 %and2 to i64 + %shl4 = shl i64 %conv3, 12 + %or5 = or i64 %conv, %shl4 + %3 = load i32, i32* %__major.addr, align 4 + %and6 = and i32 %3, -4096 + %conv7 = zext i32 %and6 to i64 + %shl8 = shl i64 %conv7, 32 + %or9 = or i64 %or5, %shl8 + ret i64 %or9 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i8* @canonicalize_file_name(i8* nonnull %name) #3 { +entry: + %retval = alloca i8*, align 8 + %name.addr = alloca i8*, align 8 + %resolved_name = alloca i8*, align 8 + store i8* %name, i8** %name.addr, align 8 + %call = call noalias i8* @malloc(i64 4096) #11 + store i8* %call, i8** %resolved_name, align 8 + %0 = load i8*, i8** %resolved_name, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %name.addr, align 8 + %2 = load i8*, i8** %resolved_name, align 8 + %call1 = call i8* @realpath(i8* %1, i8* %2) #11 + %tobool2 = icmp ne i8* %call1, null + %3 = load i8*, i8** %resolved_name, align 8 + br i1 %tobool2, label %if.end4, label %if.then3 + +if.then3: ; preds = %if.end + call void @free(i8* %3) #11 + store i8* null, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %if.end + store i8* %3, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %4 = load i8*, i8** %retval, align 8 + ret i8* %4 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @getloadavg(double* nonnull %loadavg, i32 %nelem) #3 { +entry: + %loadavg.addr = alloca double*, align 8 + %nelem.addr = alloca i32, align 4 + store double* %loadavg, double** %loadavg.addr, align 8 + store i32 %nelem, i32* %nelem.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.8.173, i64 0, i64 0)) + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @wait(i32* %status) #3 { +entry: + %status.addr = alloca i32*, align 8 + store i32* %status, i32** %status.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.174, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @wait3(i32* %status, i32 %options, %struct.rusage* %rusage) #3 { +entry: + %status.addr = alloca i32*, align 8 + %options.addr = alloca i32, align 4 + %rusage.addr = alloca %struct.rusage*, align 8 + store i32* %status, i32** %status.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + store %struct.rusage* %rusage, %struct.rusage** %rusage.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.174, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @wait4(i32 %pid, i32* %status, i32 %options, %struct.rusage* %rusage) #3 { +entry: + %pid.addr = alloca i32, align 4 + %status.addr = alloca i32*, align 8 + %options.addr = alloca i32, align 4 + %rusage.addr = alloca %struct.rusage*, align 8 + store i32 %pid, i32* %pid.addr, align 4 + store i32* %status, i32** %status.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + store %struct.rusage* %rusage, %struct.rusage** %rusage.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.174, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @waitpid(i32 %pid, i32* %status, i32 %options) #3 { +entry: + %pid.addr = alloca i32, align 4 + %status.addr = alloca i32*, align 8 + %options.addr = alloca i32, align 4 + store i32 %pid, i32* %pid.addr, align 4 + store i32* %status, i32** %status.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.174, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @waitid(i32 %idtype, i32 %id, %struct.siginfo_t* %infop, i32 %options) #3 { +entry: + %idtype.addr = alloca i32, align 4 + %id.addr = alloca i32, align 4 + %infop.addr = alloca %struct.siginfo_t*, align 8 + %options.addr = alloca i32, align 4 + store i32 %idtype, i32* %idtype.addr, align 4 + store i32 %id, i32* %id.addr, align 4 + store %struct.siginfo_t* %infop, %struct.siginfo_t** %infop.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.174, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mount(i8* %source, i8* %target, i8* %filesystemtype, i64 %mountflags, i8* %data) #3 { +entry: + %source.addr = alloca i8*, align 8 + %target.addr = alloca i8*, align 8 + %filesystemtype.addr = alloca i8*, align 8 + %mountflags.addr = alloca i64, align 8 + %data.addr = alloca i8*, align 8 + store i8* %source, i8** %source.addr, align 8 + store i8* %target, i8** %target.addr, align 8 + store i8* %filesystemtype, i8** %filesystemtype.addr, align 8 + store i64 %mountflags, i64* %mountflags.addr, align 8 + store i8* %data, i8** %data.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @umount(i8* %target) #3 { +entry: + %target.addr = alloca i8*, align 8 + store i8* %target, i8** %target.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @umount2(i8* %target, i32 %flags) #3 { +entry: + %target.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + store i8* %target, i8** %target.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @swapon(i8* %path, i32 %swapflags) #3 { +entry: + %path.addr = alloca i8*, align 8 + %swapflags.addr = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store i32 %swapflags, i32* %swapflags.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @swapoff(i8* %path) #3 { +entry: + %path.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setgid(i32 %gid) #3 { +entry: + %gid.addr = alloca i32, align 4 + store i32 %gid, i32* %gid.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.10.175, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setgroups(i64 %size, i32* %list) #3 { +entry: + %size.addr = alloca i64, align 8 + %list.addr = alloca i32*, align 8 + store i64 %size, i64* %size.addr, align 8 + store i32* %list, i32** %list.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @sethostname(i8* nonnull %name, i64 %len) #3 { +entry: + %name.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + store i8* %name, i8** %name.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setpgid(i32 %pid, i32 %pgid) #3 { +entry: + %pid.addr = alloca i32, align 4 + %pgid.addr = alloca i32, align 4 + store i32 %pid, i32* %pid.addr, align 4 + store i32 %pgid, i32* %pgid.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setpgrp() #3 { +entry: + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setpriority(i32 %which, i32 %who, i32 %prio) #3 { +entry: + %which.addr = alloca i32, align 4 + %who.addr = alloca i32, align 4 + %prio.addr = alloca i32, align 4 + store i32 %which, i32* %which.addr, align 4 + store i32 %who, i32* %who.addr, align 4 + store i32 %prio, i32* %prio.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setresgid(i32 %rgid, i32 %egid, i32 %sgid) #3 { +entry: + %rgid.addr = alloca i32, align 4 + %egid.addr = alloca i32, align 4 + %sgid.addr = alloca i32, align 4 + store i32 %rgid, i32* %rgid.addr, align 4 + store i32 %egid, i32* %egid.addr, align 4 + store i32 %sgid, i32* %sgid.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setresuid(i32 %ruid, i32 %euid, i32 %suid) #3 { +entry: + %ruid.addr = alloca i32, align 4 + %euid.addr = alloca i32, align 4 + %suid.addr = alloca i32, align 4 + store i32 %ruid, i32* %ruid.addr, align 4 + store i32 %euid, i32* %euid.addr, align 4 + store i32 %suid, i32* %suid.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setrlimit(i32 %resource, %struct.timespec* %rlim) #3 { +entry: + %resource.addr = alloca i32, align 4 + %rlim.addr = alloca %struct.timespec*, align 8 + store i32 %resource, i32* %resource.addr, align 4 + store %struct.timespec* %rlim, %struct.timespec** %rlim.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setrlimit64(i32 %resource, %struct.timespec* %rlim) #3 { +entry: + %resource.addr = alloca i32, align 4 + %rlim.addr = alloca %struct.timespec*, align 8 + store i32 %resource, i32* %resource.addr, align 4 + store %struct.timespec* %rlim, %struct.timespec** %rlim.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setsid() #3 { +entry: + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @settimeofday(%struct.timespec* %tv, %struct.__mbstate_t.512* %tz) #3 { +entry: + %tv.addr = alloca %struct.timespec*, align 8 + %tz.addr = alloca %struct.__mbstate_t.512*, align 8 + store %struct.timespec* %tv, %struct.timespec** %tv.addr, align 8 + store %struct.__mbstate_t.512* %tz, %struct.__mbstate_t.512** %tz.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setuid(i32 %uid) #3 { +entry: + %uid.addr = alloca i32, align 4 + store i32 %uid, i32* %uid.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.10.175, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @reboot(i32 %flag) #3 { +entry: + %flag.addr = alloca i32, align 4 + store i32 %flag, i32* %flag.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mlock(i8* %addr, i64 %len) #3 { +entry: + %addr.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + store i8* %addr, i8** %addr.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @munlock(i8* %addr, i64 %len) #3 { +entry: + %addr.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + store i8* %addr, i8** %addr.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @pause() #3 { +entry: + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i64 @readahead(i32 %fd, i64* %offset, i64 %count) #3 { +entry: + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64*, align 8 + %count.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64* %offset, i64** %offset.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i64 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i8* @mmap(i8* %start, i64 %length, i32 %prot, i32 %flags, i32 %fd, i64 %offset) #3 { +entry: + %start.addr = alloca i8*, align 8 + %length.addr = alloca i64, align 8 + %prot.addr = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + store i8* %start, i8** %start.addr, align 8 + store i64 %length, i64* %length.addr, align 8 + store i32 %prot, i32* %prot.addr, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i8* inttoptr (i64 -1 to i8*) +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i8* @mmap64(i8* %start, i64 %length, i32 %prot, i32 %flags, i32 %fd, i64 %offset) #3 { +entry: + %start.addr = alloca i8*, align 8 + %length.addr = alloca i64, align 8 + %prot.addr = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + store i8* %start, i8** %start.addr, align 8 + store i64 %length, i64* %length.addr, align 8 + store i32 %prot, i32* %prot.addr, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i8* inttoptr (i64 -1 to i8*) +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @munmap(i8* %start, i64 %length) #3 { +entry: + %start.addr = alloca i8*, align 8 + %length.addr = alloca i64, align 8 + store i8* %start, i8** %start.addr, align 8 + store i64 %length, i64* %length.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__locale_mbrtowc_l(i32* noalias %dst, i8* noalias %src, %struct.__uclibc_locale_struct.201* %loc) #0 { +entry: + %retval = alloca i32, align 4 + %dst.addr = alloca i32*, align 8 + %src.addr = alloca i8*, align 8 + %loc.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %ps = alloca %struct.__mbstate_t.512, align 4 + %p = alloca i8*, align 8 + %r = alloca i64, align 8 + %wc = alloca i32, align 4 + store i32* %dst, i32** %dst.addr, align 8 + store i8* %src, i8** %src.addr, align 8 + store %struct.__uclibc_locale_struct.201* %loc, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 9 + %1 = load i8, i8* %encoding, align 8 + %conv = zext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 1 + %2 = load i8*, i8** %src.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i8* %2, i8** %p, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %ps, i32 0, i32 0 + store i32 0, i32* %__mask, align 4 + %3 = load i32*, i32** %dst.addr, align 8 + %call = call i64 @_wchar_utf8sntowcs(i32* %3, i64 1, i8** %p, i64 -1, %struct.__mbstate_t.512* %ps, i32 1) #19 + store i64 %call, i64* %r, align 8 + %4 = load i64, i64* %r, align 8 + %cmp2 = icmp eq i64 %4, 1 + %5 = load i8*, i8** %p, align 8 + %6 = load i8*, i8** %src.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %6 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %7 = load i64, i64* %r, align 8 + %cond = select i1 %cmp2, i64 %sub.ptr.sub, i64 %7 + %conv4 = trunc i64 %cond to i32 + store i32 %conv4, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load i8, i8* %2, align 1 + %conv5 = zext i8 %8 to i32 + %9 = load i32*, i32** %dst.addr, align 8 + store i32 %conv5, i32* %9, align 4 + %cmp6 = icmp slt i32 %conv5, 128 + br i1 %cmp6, label %if.then8, label %if.end12 + +if.then8: ; preds = %if.end + %10 = load i8*, i8** %src.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv9 = sext i8 %11 to i32 + %cmp10 = icmp ne i32 %conv9, 0 + %conv11 = zext i1 %cmp10 to i32 + store i32 %conv11, i32* %retval, align 4 + br label %return + +if.end12: ; preds = %if.end + %12 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %encoding13 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %12, i32 0, i32 9 + %13 = load i8, i8* %encoding13, align 8 + %conv14 = zext i8 %13 to i32 + %cmp15 = icmp eq i32 %conv14, 2 + br i1 %cmp15, label %if.then17, label %if.end24 + +if.then17: ; preds = %if.end12 + %14 = load i32*, i32** %dst.addr, align 8 + %15 = load i32, i32* %14, align 4 + %sub = sub nsw i32 %15, 128 + store i32 %sub, i32* %wc, align 4 + %16 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %tbl8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %16, i32 0, i32 17 + %17 = load i16*, i16** %tbl8c2wc, align 8 + %18 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %idx8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %18, i32 0, i32 16 + %19 = load i8*, i8** %idx8c2wc, align 8 + %20 = load i32, i32* %wc, align 4 + %shr = ashr i32 %20, 3 + %idxprom = sext i32 %shr to i64 + %arrayidx = getelementptr inbounds i8, i8* %19, i64 %idxprom + %21 = load i8, i8* %arrayidx, align 1 + %conv18 = zext i8 %21 to i32 + %shl = shl i32 %conv18, 3 + %22 = load i32, i32* %wc, align 4 + %and = and i32 %22, 7 + %add = add nsw i32 %shl, %and + %idxprom19 = sext i32 %add to i64 + %arrayidx20 = getelementptr inbounds i16, i16* %17, i64 %idxprom19 + %23 = load i16, i16* %arrayidx20, align 2 + %conv21 = zext i16 %23 to i32 + %24 = load i32*, i32** %dst.addr, align 8 + store i32 %conv21, i32* %24, align 4 + %25 = load i32*, i32** %dst.addr, align 8 + %26 = load i32, i32* %25, align 4 + %tobool = icmp ne i32 %26, 0 + br i1 %tobool, label %if.then22, label %if.end24 + +if.then22: ; preds = %if.then17 + store i32 1, i32* %retval, align 4 + br label %return + +if.end24: ; preds = %if.then17, %if.end12 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end24, %if.then22, %if.then8, %if.then + %27 = load i32, i32* %retval, align 4 + ret i32 %27 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__raise(i32 %signo) #0 { +entry: + %signo.addr = alloca i32, align 4 + store i32 %signo, i32* %signo.addr, align 4 + %call = call i32 @getpid() #20 + %0 = load i32, i32* %signo.addr, align 4 + %call1 = call i32 @kill(i32 %call, i32 %0) #20 + ret i32 %call1 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__libc_sigaction(i32 %sig, %struct.sigaction.800* %act, %struct.sigaction.800* %oact) #0 { +entry: + %sig.addr = alloca i32, align 4 + %act.addr = alloca %struct.sigaction.800*, align 8 + %oact.addr = alloca %struct.sigaction.800*, align 8 + %result = alloca i32, align 4 + %kact = alloca %struct.kernel_sigaction, align 8 + %koact = alloca %struct.kernel_sigaction, align 8 + store i32 %sig, i32* %sig.addr, align 4 + store %struct.sigaction.800* %act, %struct.sigaction.800** %act.addr, align 8 + store %struct.sigaction.800* %oact, %struct.sigaction.800** %oact.addr, align 8 + %0 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %tobool = icmp ne %struct.sigaction.800* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %__sigaction_handler = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %1, i32 0, i32 0 + %sa_handler = bitcast %union.anon.799* %__sigaction_handler to void (i32)** + %2 = load void (i32)*, void (i32)** %sa_handler, align 8 + %k_sa_handler = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 0 + store void (i32)* %2, void (i32)** %k_sa_handler, align 8 + %sa_mask = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 3 + %3 = bitcast %struct.fd_set* %sa_mask to i8* + %4 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %sa_mask1 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %4, i32 0, i32 1 + %5 = bitcast %struct.fd_set* %sa_mask1 to i8* + %call = call i8* @memcpy(i8* %3, i8* %5, i64 128) #20 + %6 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %sa_flags = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %6, i32 0, i32 2 + %7 = load i32, i32* %sa_flags, align 8 + %conv = sext i32 %7 to i64 + %sa_flags2 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 1 + store i64 %conv, i64* %sa_flags2, align 8 + %8 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %sa_restorer = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %8, i32 0, i32 3 + %9 = load void ()*, void ()** %sa_restorer, align 8 + %sa_restorer3 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 2 + store void ()* %9, void ()** %sa_restorer3, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %10 = load i32, i32* %sig.addr, align 4 + %11 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %tobool4 = icmp ne %struct.sigaction.800* %11, null + %kact. = select i1 %tobool4, %struct.kernel_sigaction* %kact, %struct.kernel_sigaction* null + %12 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %tobool5 = icmp ne %struct.sigaction.800* %12, null + %cond9 = select i1 %tobool5, %struct.kernel_sigaction* %koact, %struct.kernel_sigaction* null + %call10 = call i32 bitcast (i32 (i32, %struct.sigaction.800*, %struct.sigaction.800*, i64)* @__syscall_rt_sigaction to i32 (i32, %struct.kernel_sigaction*, %struct.kernel_sigaction*, i64)*)(i32 %10, %struct.kernel_sigaction* %kact., %struct.kernel_sigaction* %cond9, i64 8) #19 + store i32 %call10, i32* %result, align 4 + %13 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %tobool11 = icmp ne %struct.sigaction.800* %13, null + %14 = load i32, i32* %result, align 4 + %cmp = icmp sge i32 %14, 0 + %or.cond = and i1 %tobool11, %cmp + br i1 %or.cond, label %if.then13, label %if.end25 + +if.then13: ; preds = %if.end + %k_sa_handler14 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 0 + %15 = load void (i32)*, void (i32)** %k_sa_handler14, align 8 + %16 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %__sigaction_handler15 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %16, i32 0, i32 0 + %sa_handler16 = bitcast %union.anon.799* %__sigaction_handler15 to void (i32)** + store void (i32)* %15, void (i32)** %sa_handler16, align 8 + %17 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %sa_mask17 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %17, i32 0, i32 1 + %18 = bitcast %struct.fd_set* %sa_mask17 to i8* + %sa_mask18 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 3 + %19 = bitcast %struct.fd_set* %sa_mask18 to i8* + %call19 = call i8* @memcpy(i8* %18, i8* %19, i64 128) #20 + %sa_flags20 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 1 + %20 = load i64, i64* %sa_flags20, align 8 + %conv21 = trunc i64 %20 to i32 + %21 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %sa_flags22 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %21, i32 0, i32 2 + store i32 %conv21, i32* %sa_flags22, align 8 + %sa_restorer23 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 2 + %22 = load void ()*, void ()** %sa_restorer23, align 8 + %23 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %sa_restorer24 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %23, i32 0, i32 3 + store void ()* %22, void ()** %sa_restorer24, align 8 + br label %if.end25 + +if.end25: ; preds = %if.then13, %if.end + %24 = load i32, i32* %result, align 4 + ret i32 %24 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__sigismember(%struct.fd_set* %__set, i32 %__sig) #0 { +entry: + %__set.addr = alloca %struct.fd_set*, align 8 + %__sig.addr = alloca i32, align 4 + %__mask = alloca i64, align 8 + %__word = alloca i64, align 8 + store %struct.fd_set* %__set, %struct.fd_set** %__set.addr, align 8 + store i32 %__sig, i32* %__sig.addr, align 4 + %0 = load i32, i32* %__sig.addr, align 4 + %sub = sub nsw i32 %0, 1 + %conv = sext i32 %sub to i64 + %rem = urem i64 %conv, 64 + %shl = shl i64 1, %rem + store i64 %shl, i64* %__mask, align 8 + %1 = load i32, i32* %__sig.addr, align 4 + %sub1 = sub nsw i32 %1, 1 + %conv2 = sext i32 %sub1 to i64 + %div = udiv i64 %conv2, 64 + store i64 %div, i64* %__word, align 8 + %2 = load %struct.fd_set*, %struct.fd_set** %__set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %2, i32 0, i32 0 + %3 = load i64, i64* %__word, align 8 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 %3 + %4 = load i64, i64* %arrayidx, align 8 + %5 = load i64, i64* %__mask, align 8 + %and = and i64 %4, %5 + %tobool = icmp ne i64 %and, 0 + %6 = zext i1 %tobool to i64 + %cond = select i1 %tobool, i32 1, i32 0 + ret i32 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__sigaddset(%struct.fd_set* %__set, i32 %__sig) #0 { +entry: + %__set.addr = alloca %struct.fd_set*, align 8 + %__sig.addr = alloca i32, align 4 + %__mask = alloca i64, align 8 + %__word = alloca i64, align 8 + store %struct.fd_set* %__set, %struct.fd_set** %__set.addr, align 8 + store i32 %__sig, i32* %__sig.addr, align 4 + %0 = load i32, i32* %__sig.addr, align 4 + %sub = sub nsw i32 %0, 1 + %conv = sext i32 %sub to i64 + %rem = urem i64 %conv, 64 + %shl = shl i64 1, %rem + store i64 %shl, i64* %__mask, align 8 + %1 = load i32, i32* %__sig.addr, align 4 + %sub1 = sub nsw i32 %1, 1 + %conv2 = sext i32 %sub1 to i64 + %div = udiv i64 %conv2, 64 + store i64 %div, i64* %__word, align 8 + %2 = load i64, i64* %__mask, align 8 + %3 = load %struct.fd_set*, %struct.fd_set** %__set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %3, i32 0, i32 0 + %4 = load i64, i64* %__word, align 8 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 %4 + %5 = load i64, i64* %arrayidx, align 8 + %or = or i64 %5, %2 + store i64 %or, i64* %arrayidx, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__sigdelset(%struct.fd_set* %__set, i32 %__sig) #0 { +entry: + %__set.addr = alloca %struct.fd_set*, align 8 + %__sig.addr = alloca i32, align 4 + %__mask = alloca i64, align 8 + %__word = alloca i64, align 8 + store %struct.fd_set* %__set, %struct.fd_set** %__set.addr, align 8 + store i32 %__sig, i32* %__sig.addr, align 4 + %0 = load i32, i32* %__sig.addr, align 4 + %sub = sub nsw i32 %0, 1 + %conv = sext i32 %sub to i64 + %rem = urem i64 %conv, 64 + %shl = shl i64 1, %rem + store i64 %shl, i64* %__mask, align 8 + %1 = load i32, i32* %__sig.addr, align 4 + %sub1 = sub nsw i32 %1, 1 + %conv2 = sext i32 %sub1 to i64 + %div = udiv i64 %conv2, 64 + store i64 %div, i64* %__word, align 8 + %2 = load i64, i64* %__mask, align 8 + %neg = xor i64 %2, -1 + %3 = load %struct.fd_set*, %struct.fd_set** %__set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %3, i32 0, i32 0 + %4 = load i64, i64* %__word, align 8 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 %4 + %5 = load i64, i64* %arrayidx, align 8 + %and = and i64 %5, %neg + store i64 %and, i64* %arrayidx, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %bufsize = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 5 + %1 = load i8*, i8** %__bufpos, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 3 + %3 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %1 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %3 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %bufsize, align 8 + %cmp = icmp ne i64 %sub.ptr.sub, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 3 + %5 = load i8*, i8** %__bufstart1, align 8 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 5 + store i8* %5, i8** %__bufpos2, align 8 + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart3 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 3 + %9 = load i8*, i8** %__bufstart3, align 8 + %10 = load i64, i64* %bufsize, align 8 + %call = call i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %7, i8* %9, i64 %10) #19 + br label %if.end + +if.end: ; preds = %if.then, %entry + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos4 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 5 + %12 = load i8*, i8** %__bufpos4, align 8 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart5 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 3 + %14 = load i8*, i8** %__bufstart5, align 8 + %sub.ptr.lhs.cast6 = ptrtoint i8* %12 to i64 + %sub.ptr.rhs.cast7 = ptrtoint i8* %14 to i64 + %sub.ptr.sub8 = sub i64 %sub.ptr.lhs.cast6, %sub.ptr.rhs.cast7 + ret i64 %sub.ptr.sub8 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__fgetc_unlocked(%struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %uc = alloca i8, align 1 + %uc56 = alloca i8, align 1 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 5 + %1 = load i8*, i8** %__bufpos, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 7 + %3 = load i8*, i8** %__bufgetc_u, align 8 + %cmp = icmp ult i8* %1, %3 + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 5 + %5 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + %6 = load i8, i8* %5, align 1 + %conv = zext i8 %6 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 0 + %7 = load i16, i16* %__modeflags, align 8 + %conv2 = zext i16 %7 to i32 + %and = and i32 %conv2, 131 + %cmp3 = icmp ugt i32 %and, 128 + br i1 %cmp3, label %if.then5, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2r_o(%struct.__STDIO_FILE_STRUCT.568* %8, i32 128) #19 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end63, label %if.then5 + +if.then5: ; preds = %lor.lhs.false, %if.end + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %9, i32 0, i32 0 + %10 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %10 to i32 + %and8 = and i32 %conv7, 2 + %tobool9 = icmp ne i32 %and8, 0 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %tobool9, label %if.then10, label %if.end18 + +if.then10: ; preds = %if.then5 + %__ungot = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 10 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags11 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags11, align 8 + %dec = add i16 %13, -1 + store i16 %dec, i16* %__modeflags11, align 8 + %conv12 = zext i16 %13 to i32 + %and13 = and i32 %conv12, 1 + %idxprom = sext i32 %and13 to i64 + %arrayidx = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot, i64 0, i64 %idxprom + %14 = load i32, i32* %arrayidx, align 4 + %conv14 = trunc i32 %14 to i8 + store i8 %conv14, i8* %uc, align 1 + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__ungot15 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 10 + %arrayidx16 = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot15, i64 0, i64 1 + store i32 0, i32* %arrayidx16, align 4 + %16 = load i8, i8* %uc, align 1 + %conv17 = zext i8 %16 to i32 + store i32 %conv17, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %if.then5 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 6 + %17 = load i8*, i8** %__bufread, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos19 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 5 + %19 = load i8*, i8** %__bufpos19, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %17 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool20 = icmp ne i64 %sub.ptr.sub, 0 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %tobool20, label %if.then21, label %if.end25 + +if.then21: ; preds = %if.end18 + %__bufpos22 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 5 + %21 = load i8*, i8** %__bufpos22, align 8 + %incdec.ptr23 = getelementptr inbounds i8, i8* %21, i32 1 + store i8* %incdec.ptr23, i8** %__bufpos22, align 8 + %22 = load i8, i8* %21, align 1 + %conv24 = zext i8 %22 to i32 + store i32 %conv24, i32* %retval, align 4 + br label %return + +if.end25: ; preds = %if.end18 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 2 + %23 = load i32, i32* %__filedes, align 4 + %cmp26 = icmp eq i32 %23, -2 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags29 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 0 + %25 = load i16, i16* %__modeflags29, align 8 + %conv30 = zext i16 %25 to i32 + br i1 %cmp26, label %if.then28, label %if.end32 + +if.then28: ; preds = %if.end25 + %or = or i32 %conv30, 4 + %conv31 = trunc i32 %or to i16 + store i16 %conv31, i16* %__modeflags29, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end32: ; preds = %if.end25 + %and35 = and i32 %conv30, 768 + %tobool36 = icmp ne i32 %and35, 0 + br i1 %tobool36, label %if.then37, label %if.end39 + +if.then37: ; preds = %if.end32 + %call38 = call i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.568* bitcast (%struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist to %struct.__STDIO_FILE_STRUCT.568*)) #19 + br label %if.end39 + +if.end39: ; preds = %if.then37, %if.end32 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 4 + %27 = load i8*, i8** %__bufend, align 8 + %28 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %28, i32 0, i32 3 + %29 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast40 = ptrtoint i8* %27 to i64 + %sub.ptr.rhs.cast41 = ptrtoint i8* %29 to i64 + %sub.ptr.sub42 = sub i64 %sub.ptr.lhs.cast40, %sub.ptr.rhs.cast41 + %tobool43 = icmp ne i64 %sub.ptr.sub42, 0 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %tobool43, label %if.then44, label %if.else + +if.then44: ; preds = %if.end39 + %__bufstart45 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %30, i32 0, i32 3 + %31 = load i8*, i8** %__bufstart45, align 8 + %32 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u46 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %32, i32 0, i32 7 + store i8* %31, i8** %__bufgetc_u46, align 8 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call47 = call i64 @__stdio_rfill(%struct.__STDIO_FILE_STRUCT.568* %33) #19 + %tobool48 = icmp ne i64 %call47, 0 + br i1 %tobool48, label %if.then49, label %if.end63 + +if.then49: ; preds = %if.then44 + %34 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread50 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %34, i32 0, i32 6 + %35 = load i8*, i8** %__bufread50, align 8 + %36 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u51 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %36, i32 0, i32 7 + store i8* %35, i8** %__bufgetc_u51, align 8 + %37 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos52 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %37, i32 0, i32 5 + %38 = load i8*, i8** %__bufpos52, align 8 + %incdec.ptr53 = getelementptr inbounds i8, i8* %38, i32 1 + store i8* %incdec.ptr53, i8** %__bufpos52, align 8 + %39 = load i8, i8* %38, align 1 + %conv54 = zext i8 %39 to i32 + store i32 %conv54, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.end39 + %call57 = call i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.568* %30, i8* %uc56, i64 1) #19 + %tobool58 = icmp ne i64 %call57, 0 + br i1 %tobool58, label %if.then59, label %if.end63 + +if.then59: ; preds = %if.else + %40 = load i8, i8* %uc56, align 1 + %conv60 = zext i8 %40 to i32 + store i32 %conv60, i32* %retval, align 4 + br label %return + +if.end63: ; preds = %if.then44, %if.else, %lor.lhs.false + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end63, %if.then59, %if.then49, %if.then28, %if.then21, %if.then10, %if.then + %41 = load i32, i32* %retval, align 4 + ret i32 %41 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @sprintf(i8* noalias %buf, i8* noalias %format, ...) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %format.addr = alloca i8*, align 8 + %arg = alloca [1 x %struct.__va_list_tag.0], align 16 + %rv = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load i8*, i8** %buf.addr, align 8 + %1 = load i8*, i8** %format.addr, align 8 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %call = call i32 @vsnprintf(i8* %0, i64 -1, i8* %1, %struct.__va_list_tag.0* %arraydecay2) #20 + store i32 %call, i32* %rv, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + %2 = load i32, i32* %rv, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @strcmp(i8* nonnull %s1, i8* nonnull %s2) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %r = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + br label %while.cond + +while.cond: ; preds = %land.rhs, %entry + %0 = load i8*, i8** %s1.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = zext i8 %1 to i32 + %2 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %2, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %3 = load i8, i8* %2, align 1 + %conv1 = zext i8 %3 to i32 + %sub = sub nsw i32 %conv, %conv1 + store i32 %sub, i32* %r, align 4 + %cmp = icmp eq i32 %sub, 0 + br i1 %cmp, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %4 = load i8*, i8** %s1.addr, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr3, i8** %s1.addr, align 8 + %5 = load i8, i8* %4, align 1 + %conv4 = sext i8 %5 to i32 + %tobool = icmp ne i32 %conv4, 0 + br i1 %tobool, label %while.cond, label %while.end + +while.end: ; preds = %while.cond, %land.rhs + %6 = load i32, i32* %r, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i64 @strlen(i8* nonnull %s) #14 { +entry: + %s.addr = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load i8*, i8** %p, align 8 + %2 = load i8, i8* %1, align 1 + %tobool = icmp ne i8 %2, 0 + %3 = load i8*, i8** %p, align 8 + br i1 %tobool, label %for.inc, label %for.end + +for.inc: ; preds = %for.cond + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %4 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %3 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %4 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @strncmp(i8* nonnull %s1, i8* nonnull %s2, i64 %n) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i32 0, i32* %r, align 4 + br label %while.cond + +while.cond: ; preds = %land.rhs, %entry + %0 = load i64, i64* %n.addr, align 8 + %dec = add i64 %0, -1 + store i64 %dec, i64* %n.addr, align 8 + %tobool = icmp ne i64 %0, 0 + br i1 %tobool, label %land.lhs.true, label %while.end + +land.lhs.true: ; preds = %while.cond + %1 = load i8*, i8** %s1.addr, align 8 + %2 = load i8, i8* %1, align 1 + %conv = zext i8 %2 to i32 + %3 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %4 = load i8, i8* %3, align 1 + %conv1 = zext i8 %4 to i32 + %sub = sub nsw i32 %conv, %conv1 + store i32 %sub, i32* %r, align 4 + %cmp = icmp eq i32 %sub, 0 + br i1 %cmp, label %land.rhs, label %while.end + +land.rhs: ; preds = %land.lhs.true + %5 = load i8*, i8** %s1.addr, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr3, i8** %s1.addr, align 8 + %6 = load i8, i8* %5, align 1 + %conv4 = sext i8 %6 to i32 + %tobool5 = icmp ne i32 %conv4, 0 + br i1 %tobool5, label %while.cond, label %while.end + +while.end: ; preds = %while.cond, %land.lhs.true, %land.rhs + %7 = load i32, i32* %r, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @isatty(i32 %fd) #0 { +entry: + %fd.addr = alloca i32, align 4 + %term = alloca %struct.termios, align 4 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 @tcgetattr(i32 %0, %struct.termios* %term) #20 + %cmp = icmp eq i32 %call, 0 + %conv = zext i1 %cmp to i32 + ret i32 %conv +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @open64(i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i8*, i8** %pathname.addr, align 8 + %8 = load i32, i32* %flags.addr, align 4 + %9 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_open(i8* %7, i32 %8, i32 %9) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @openat64(i32 %fd, i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %fd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i32, i32* %fd.addr, align 4 + %8 = load i8*, i8** %pathname.addr, align 8 + %9 = load i32, i32* %flags.addr, align 4 + %10 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_openat(i32 %7, i8* %8, i32 %9, i32 %10) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @lseek64(i32 %fd, i64 %offset, i32 %whence) #3 { +entry: + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %offset.addr, align 8 + %2 = load i32, i32* %whence.addr, align 4 + %call = call i64 @__fd_lseek(i32 %0, i64 %1, i32 %2) + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__xstat64(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @stat64(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__lxstat64(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @lstat64(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fxstat64(i32 %vers, i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %vers, i32* %vers.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstat64(i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @ftruncate64(i32 %fd, i64 %length) #3 { +entry: + %fd.addr = alloca i32, align 4 + %length.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %length, i64* %length.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %length.addr, align 8 + %call = call i32 @__fd_ftruncate(i32 %0, i64 %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @statfs64(i8* nonnull %path, %struct.statfs* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.statfs*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.statfs* %buf, %struct.statfs** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.statfs*, %struct.statfs** %buf.addr, align 8 + %call = call i32 @__fd_statfs(i8* %0, %struct.statfs* %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @getdents64(i32 %fd, i8* nonnull %dirp, i64 %count) #3 { +entry: + %fd.addr = alloca i32, align 4 + %dirp.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %dirp, i8** %dirp.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i8*, i8** %dirp.addr, align 8 + %2 = bitcast i8* %1 to %struct.dirent64* + %3 = load i64, i64* %count.addr, align 8 + %conv = trunc i64 %3 to i32 + %call = call i32 @__fd_getdents(i32 %0, %struct.dirent64* %2, i32 %conv) + %conv1 = sext i32 %call to i64 + ret i64 %conv1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @kill(i32 %pid, i32 %sig) #3 { +entry: + %pid.addr = alloca i32, align 4 + %sig.addr = alloca i32, align 4 + store i32 %pid, i32* %pid.addr, align 4 + store i32 %sig, i32* %sig.addr, align 4 + call void @gs_warning.215(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.214, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @gs_warning.215(i8* %message) #3 { +entry: + %message.addr = alloca i8*, align 8 + store i8* %message, i8** %message.addr, align 8 + %0 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %0) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.7.216, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind returns_twice uwtable +define weak dso_local i32 @_setjmp(%struct.__jmp_buf_tag* %__env) #17 { +entry: + %__env.addr = alloca %struct.__jmp_buf_tag*, align 8 + store %struct.__jmp_buf_tag* %__env, %struct.__jmp_buf_tag** %__env.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1.217, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline noreturn nounwind uwtable +define dso_local void @longjmp(%struct.__jmp_buf_tag* %env, i32 %val) #6 { +entry: + %env.addr = alloca %struct.__jmp_buf_tag*, align 8 + %val.addr = alloca i32, align 4 + store %struct.__jmp_buf_tag* %env, %struct.__jmp_buf_tag** %env.addr, align 8 + store i32 %val, i32* %val.addr, align 4 + call void @gs_report_error.221(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.2.218, i64 0, i64 0), i32 37, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.3.219, i64 0, i64 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.4.220, i64 0, i64 0)) #25 + unreachable +} + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error.221(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.7.216, i64 0, i64 0)) + call void @stop(i32 -1) #25 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execl(i8* nonnull %path, i8* nonnull %arg, ...) #3 { +entry: + %path.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + call void @gs_warning.215(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.222, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execlp(i8* nonnull %file, i8* nonnull %arg, ...) #3 { +entry: + %file.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + call void @gs_warning.215(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.222, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execle(i8* nonnull %path, i8* nonnull %arg, ...) #3 { +entry: + %path.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + call void @gs_warning.215(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.222, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execv(i8* nonnull %path, i8** nonnull %argv) #3 { +entry: + %path.addr = alloca i8*, align 8 + %argv.addr = alloca i8**, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + call void @gs_warning.215(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.222, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execvp(i8* nonnull %file, i8** nonnull %argv) #3 { +entry: + %file.addr = alloca i8*, align 8 + %argv.addr = alloca i8**, align 8 + store i8* %file, i8** %file.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + call void @gs_warning.215(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.222, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execve(i8* nonnull %file, i8** nonnull %argv, i8** %envp) #3 { +entry: + %file.addr = alloca i8*, align 8 + %argv.addr = alloca i8**, align 8 + %envp.addr = alloca i8**, align 8 + store i8* %file, i8** %file.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + store i8** %envp, i8*** %envp.addr, align 8 + call void @gs_warning.215(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.222, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fork() #3 { +entry: + call void @gs_warning.215(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.6.223, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 12, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind returns_twice uwtable +define dso_local i32 @vfork() #17 { +entry: + %call = call i32 @fork() #11 + ret i32 %call +} + +; Function Attrs: noinline nounwind readnone uwtable +define i16** @__ctype_b_loc() #12 { +entry: + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 0 + ret i16** %__ctype_b +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @__error(i32 %status, i32 %errnum, i8* %message, ...) #0 { +entry: + %status.addr = alloca i32, align 4 + %errnum.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %args = alloca [1 x %struct.__va_list_tag.0], align 16 + %__S = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %tmp = alloca i32, align 4 + store i32 %status, i32* %status.addr, align 4 + store i32 %errnum, i32* %errnum.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdout, align 8 + %call = call i32 @fflush(%struct.__STDIO_FILE_STRUCT.568* %0) #19 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %2 = load i8*, i8** %message.addr, align 8 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %call3 = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %1, i8* %2, %struct.__va_list_tag.0* %arraydecay2) #19 + %arraydecay4 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay45 = bitcast %struct.__va_list_tag.0* %arraydecay4 to i8* + call void @llvm.va_end(i8* %arraydecay45) + %3 = load i32, i32* @error_message_count, align 4 + %inc = add i32 %3, 1 + store i32 %inc, i32* @error_message_count, align 4 + %4 = load i32, i32* %errnum.addr, align 4 + %tobool = icmp ne i32 %4, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %6 = load i32, i32* %errnum.addr, align 4 + %call6 = call i8* @strerror(i32 %6) #20 + %call7 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %5, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.226, i64 0, i64 0), i8* %call6) #19 + br label %if.end + +if.end: ; preds = %if.then, %entry + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %7, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 5 + %9 = load i8*, i8** %__bufpos, align 8 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 8 + %11 = load i8*, i8** %__bufputc_u, align 8 + %cmp = icmp ult i8* %9, %11 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %if.end + %__bufpos8 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 5 + %13 = load i8*, i8** %__bufpos8, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %13, i32 1 + store i8* %incdec.ptr, i8** %__bufpos8, align 8 + store i8 10, i8* %13, align 1 + br label %cond.end + +cond.false: ; preds = %if.end + %call9 = call i32 @__fputc_unlocked(i32 10, %struct.__STDIO_FILE_STRUCT.568* %12) #19 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ 10, %cond.true ], [ %call9, %cond.false ] + store i32 %cond, i32* %tmp, align 4 + %14 = load i32, i32* %tmp, align 4 + %15 = load i32, i32* %status.addr, align 4 + %tobool10 = icmp ne i32 %15, 0 + br i1 %tobool10, label %if.then11, label %if.end12 + +if.then11: ; preds = %cond.end + %16 = load i32, i32* %status.addr, align 4 + call void @exit(i32 %16) #23 + unreachable + +if.end12: ; preds = %cond.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @__error_at_line(i32 %status, i32 %errnum, i8* %file_name, i32 %line_number, i8* %message, ...) #0 { +entry: + %status.addr = alloca i32, align 4 + %errnum.addr = alloca i32, align 4 + %file_name.addr = alloca i8*, align 8 + %line_number.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %args = alloca [1 x %struct.__va_list_tag.0], align 16 + %__S = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %tmp = alloca i32, align 4 + store i32 %status, i32* %status.addr, align 4 + store i32 %errnum, i32* %errnum.addr, align 4 + store i8* %file_name, i8** %file_name.addr, align 8 + store i32 %line_number, i32* %line_number.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + %0 = load i32, i32* @error_one_per_line, align 4 + %tobool = icmp ne i32 %0, 0 + br i1 %tobool, label %if.then, label %if.end4 + +if.then: ; preds = %entry + %1 = load i32, i32* @__error_at_line.old_line_number, align 4 + %2 = load i32, i32* %line_number.addr, align 4 + %cmp = icmp eq i32 %1, %2 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %if.then + %3 = load i8*, i8** %file_name.addr, align 8 + %4 = load i8*, i8** @__error_at_line.old_file_name, align 8 + %cmp1 = icmp eq i8* %3, %4 + br i1 %cmp1, label %if.end25, label %lor.lhs.false + +lor.lhs.false: ; preds = %land.lhs.true + %5 = load i8*, i8** @__error_at_line.old_file_name, align 8 + %6 = load i8*, i8** %file_name.addr, align 8 + %call = call i32 @strcmp(i8* %5, i8* %6) #21 + %tobool2 = icmp ne i32 %call, 0 + br i1 %tobool2, label %if.end, label %if.end25 + +if.end: ; preds = %lor.lhs.false, %if.then + %7 = load i8*, i8** %file_name.addr, align 8 + store i8* %7, i8** @__error_at_line.old_file_name, align 8 + %8 = load i32, i32* %line_number.addr, align 4 + store i32 %8, i32* @__error_at_line.old_line_number, align 4 + br label %if.end4 + +if.end4: ; preds = %if.end, %entry + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdout, align 8 + %call5 = call i32 @fflush(%struct.__STDIO_FILE_STRUCT.568* %9) #19 + %10 = load i8*, i8** %file_name.addr, align 8 + %cmp6 = icmp ne i8* %10, null + br i1 %cmp6, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end4 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %12 = load i8*, i8** %file_name.addr, align 8 + %13 = load i32, i32* %line_number.addr, align 4 + %call8 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %11, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1.227, i64 0, i64 0), i8* %12, i32 %13) #19 + br label %if.end9 + +if.end9: ; preds = %if.then7, %if.end4 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay10 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay10) + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %15 = load i8*, i8** %message.addr, align 8 + %arraydecay11 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %call12 = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %14, i8* %15, %struct.__va_list_tag.0* %arraydecay11) #19 + %arraydecay13 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay1314 = bitcast %struct.__va_list_tag.0* %arraydecay13 to i8* + call void @llvm.va_end(i8* %arraydecay1314) + %16 = load i32, i32* @error_message_count, align 4 + %inc = add i32 %16, 1 + store i32 %inc, i32* @error_message_count, align 4 + %17 = load i32, i32* %errnum.addr, align 4 + %tobool15 = icmp ne i32 %17, 0 + br i1 %tobool15, label %if.then16, label %if.end19 + +if.then16: ; preds = %if.end9 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %19 = load i32, i32* %errnum.addr, align 4 + %call17 = call i8* @strerror(i32 %19) #20 + %call18 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %18, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.226, i64 0, i64 0), i8* %call17) #19 + br label %if.end19 + +if.end19: ; preds = %if.then16, %if.end9 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %20, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %21 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %21, i32 0, i32 5 + %22 = load i8*, i8** %__bufpos, align 8 + %23 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %23, i32 0, i32 8 + %24 = load i8*, i8** %__bufputc_u, align 8 + %cmp20 = icmp ult i8* %22, %24 + %25 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + br i1 %cmp20, label %cond.true, label %cond.false + +cond.true: ; preds = %if.end19 + %__bufpos21 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %25, i32 0, i32 5 + %26 = load i8*, i8** %__bufpos21, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %26, i32 1 + store i8* %incdec.ptr, i8** %__bufpos21, align 8 + store i8 10, i8* %26, align 1 + br label %cond.end + +cond.false: ; preds = %if.end19 + %call22 = call i32 @__fputc_unlocked(i32 10, %struct.__STDIO_FILE_STRUCT.568* %25) #19 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ 10, %cond.true ], [ %call22, %cond.false ] + store i32 %cond, i32* %tmp, align 4 + %27 = load i32, i32* %tmp, align 4 + %28 = load i32, i32* %status.addr, align 4 + %tobool23 = icmp ne i32 %28, 0 + br i1 %tobool23, label %if.then24, label %if.end25 + +if.then24: ; preds = %cond.end + %29 = load i32, i32* %status.addr, align 4 + call void @exit(i32 %29) #23 + unreachable + +if.end25: ; preds = %land.lhs.true, %lor.lhs.false, %cond.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i8* @nl_langinfo(i32 %item) #0 { +entry: + %item.addr = alloca i32, align 4 + store i32 %item, i32* %item.addr, align 4 + %0 = load i32, i32* %item.addr, align 4 + %1 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %call = call i8* @nl_langinfo_l(i32 %0, %struct.__uclibc_locale_struct.201* %1) #19 + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define i8* @setlocale(i32 %category, i8* %locale) #0 { +entry: + %retval = alloca i8*, align 8 + %category.addr = alloca i32, align 4 + %locale.addr = alloca i8*, align 8 + store i32 %category, i32* %category.addr, align 4 + store i8* %locale, i8** %locale.addr, align 8 + %0 = load i32, i32* %category.addr, align 4 + %cmp = icmp ugt i32 %0, 6 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %locale.addr, align 8 + %cmp1 = icmp ne i8* %1, null + br i1 %cmp1, label %if.then2, label %if.end5 + +if.then2: ; preds = %if.end + %2 = load i32, i32* %category.addr, align 4 + %shl = shl i32 1, %2 + %3 = load i8*, i8** %locale.addr, align 8 + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__global_locale, align 8 + %call = call %struct.__uclibc_locale_struct.201* @newlocale(i32 %shl, i8* %3, %struct.__uclibc_locale_struct.201* %4) #20 + %tobool = icmp ne %struct.__uclibc_locale_struct.201* %call, null + br i1 %tobool, label %if.end4, label %if.then3 + +if.then3: ; preds = %if.then2 + store i8* null, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %if.then2 + %5 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__global_locale, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %5, i32 0, i32 6 + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + call void @update_hr_locale(i8* %arraydecay) #19 + br label %if.end5 + +if.end5: ; preds = %if.end4, %if.end + %6 = load i32, i32* %category.addr, align 4 + %mul = mul nsw i32 %6, 32 + %idx.ext = sext i32 %mul to i64 + %add.ptr = getelementptr inbounds i8, i8* getelementptr inbounds ([448 x i8], [448 x i8]* @hr_locale, i64 0, i64 0), i64 %idx.ext + store i8* %add.ptr, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %7 = load i8*, i8** %retval, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @update_hr_locale(i8* %spec) #0 { +entry: + %spec.addr = alloca i8*, align 8 + %loc = alloca i8*, align 8 + %s = alloca i8*, align 8 + %n = alloca i8*, align 8 + %i = alloca i32, align 4 + %category = alloca i32, align 4 + %done = alloca i32, align 4 + %at = alloca i8, align 1 + %q = alloca i8*, align 8 + store i8* %spec, i8** %spec.addr, align 8 + store i32 0, i32* %category, align 4 + store i32 0, i32* %done, align 4 + br label %do.body + +do.body: ; preds = %do.end127, %entry + %0 = load i8*, i8** %spec.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %0, i64 1 + store i8* %add.ptr, i8** %s, align 8 + %1 = load i32, i32* %category, align 4 + %mul = mul nsw i32 %1, 32 + %idx.ext = sext i32 %mul to i64 + %add.ptr1 = getelementptr inbounds i8, i8* getelementptr inbounds ([448 x i8], [448 x i8]* @hr_locale, i64 0, i64 0), i64 %idx.ext + store i8* %add.ptr1, i8** %n, align 8 + %2 = load i32, i32* %category, align 4 + %cmp = icmp eq i32 %2, 6 + br i1 %cmp, label %if.then, label %SKIP + +if.then: ; preds = %do.body + store i32 1, i32* %done, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.then + %3 = load i32, i32* %i, align 4 + %cmp2 = icmp slt i32 %3, 5 + br i1 %cmp2, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %4 = load i8*, i8** %s, align 8 + %5 = load i32, i32* %i, align 4 + %idxprom = sext i32 %5 to i64 + %arrayidx = getelementptr inbounds i8, i8* %4, i64 %idxprom + %6 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %6 to i32 + %7 = load i8*, i8** %s, align 8 + %8 = load i32, i32* %i, align 4 + %add = add nsw i32 %8, 2 + %idxprom3 = sext i32 %add to i64 + %arrayidx4 = getelementptr inbounds i8, i8* %7, i64 %idxprom3 + %9 = load i8, i8* %arrayidx4, align 1 + %conv5 = zext i8 %9 to i32 + %cmp6 = icmp ne i32 %conv, %conv5 + br i1 %cmp6, label %SKIP, label %lor.lhs.false + +lor.lhs.false: ; preds = %for.body + %10 = load i8*, i8** %s, align 8 + %11 = load i32, i32* %i, align 4 + %add8 = add nsw i32 %11, 1 + %idxprom9 = sext i32 %add8 to i64 + %arrayidx10 = getelementptr inbounds i8, i8* %10, i64 %idxprom9 + %12 = load i8, i8* %arrayidx10, align 1 + %conv11 = zext i8 %12 to i32 + %13 = load i8*, i8** %s, align 8 + %14 = load i32, i32* %i, align 4 + %add12 = add nsw i32 %14, 3 + %idxprom13 = sext i32 %add12 to i64 + %arrayidx14 = getelementptr inbounds i8, i8* %13, i64 %idxprom13 + %15 = load i8, i8* %arrayidx14, align 1 + %conv15 = zext i8 %15 to i32 + %cmp16 = icmp ne i32 %conv11, %conv15 + br i1 %cmp16, label %SKIP, label %for.inc + +for.inc: ; preds = %lor.lhs.false + %16 = load i32, i32* %i, align 4 + %add19 = add nsw i32 %16, 2 + store i32 %add19, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + store i32 0, i32* %category, align 4 + br label %SKIP + +SKIP: ; preds = %do.body, %for.end, %for.body, %lor.lhs.false + %17 = load i32, i32* %category, align 4 + %cmp21 = icmp eq i32 %17, 6 + %18 = load i32, i32* %category, align 4 + %cond = select i1 %cmp21, i32 0, i32 %18 + store i32 %cond, i32* %i, align 4 + %19 = load i32, i32* %i, align 4 + %mul23 = mul nsw i32 2, %19 + %20 = load i8*, i8** %s, align 8 + %idx.ext24 = sext i32 %mul23 to i64 + %add.ptr25 = getelementptr inbounds i8, i8* %20, i64 %idx.ext24 + store i8* %add.ptr25, i8** %s, align 8 + br label %do.body26 + +do.body26: ; preds = %if.end122, %SKIP + %21 = load i8*, i8** %s, align 8 + %22 = load i8, i8* %21, align 1 + %conv27 = zext i8 %22 to i32 + %cmp28 = icmp ne i32 %conv27, 255 + br i1 %cmp28, label %if.then35, label %lor.lhs.false30 + +lor.lhs.false30: ; preds = %do.body26 + %23 = load i8*, i8** %s, align 8 + %arrayidx31 = getelementptr inbounds i8, i8* %23, i64 1 + %24 = load i8, i8* %arrayidx31, align 1 + %conv32 = zext i8 %24 to i32 + %cmp33 = icmp ne i32 %conv32, 255 + br i1 %cmp33, label %if.then35, label %if.end122 + +if.then35: ; preds = %lor.lhs.false30, %do.body26 + %25 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %25, i32 0, i32 31 + %arraydecay = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales, i64 0, i64 0 + %26 = load i8*, i8** %s, align 8 + %27 = load i8, i8* %26, align 1 + %conv36 = zext i8 %27 to i32 + %and = and i32 %conv36, 127 + %shl = shl i32 %and, 7 + %28 = load i8*, i8** %s, align 8 + %arrayidx37 = getelementptr inbounds i8, i8* %28, i64 1 + %29 = load i8, i8* %arrayidx37, align 1 + %conv38 = zext i8 %29 to i32 + %and39 = and i32 %conv38, 127 + %add40 = add nsw i32 %shl, %and39 + %mul41 = mul nsw i32 9, %add40 + %idx.ext42 = sext i32 %mul41 to i64 + %add.ptr43 = getelementptr inbounds i8, i8* %arraydecay, i64 %idx.ext42 + store i8* %add.ptr43, i8** %loc, align 8 + %30 = load i32, i32* %category, align 4 + %cmp44 = icmp eq i32 %30, 6 + br i1 %cmp44, label %if.then46, label %if.end54 + +if.then46: ; preds = %if.then35 + %31 = load i8*, i8** %n, align 8 + %32 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %32, i32 0, i32 34 + %arraydecay47 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names, i64 0, i64 0 + %33 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names48 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %33, i32 0, i32 34 + %34 = load i32, i32* %i, align 4 + %idxprom49 = sext i32 %34 to i64 + %arrayidx50 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names48, i64 0, i64 %idxprom49 + %35 = load i8, i8* %arrayidx50, align 1 + %conv51 = zext i8 %35 to i32 + %idx.ext52 = sext i32 %conv51 to i64 + %add.ptr53 = getelementptr inbounds i8, i8* %arraydecay47, i64 %idx.ext52 + %call = call i8* @stpcpy(i8* %31, i8* %add.ptr53) #20 + store i8* %call, i8** %n, align 8 + %36 = load i8*, i8** %n, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %36, i32 1 + store i8* %incdec.ptr, i8** %n, align 8 + store i8 61, i8* %36, align 1 + br label %if.end54 + +if.end54: ; preds = %if.then46, %if.then35 + %37 = load i8*, i8** %loc, align 8 + %38 = load i8, i8* %37, align 1 + %conv55 = zext i8 %38 to i32 + %cmp56 = icmp eq i32 %conv55, 0 + br i1 %cmp56, label %if.then58, label %if.else + +if.then58: ; preds = %if.end54 + %39 = load i8*, i8** %n, align 8 + %incdec.ptr59 = getelementptr inbounds i8, i8* %39, i32 1 + store i8* %incdec.ptr59, i8** %n, align 8 + store i8 67, i8* %39, align 1 + %40 = load i8*, i8** %n, align 8 + store i8 0, i8* %40, align 1 + br label %if.end120 + +if.else: ; preds = %if.end54 + store i8 0, i8* %at, align 1 + %41 = load i8*, i8** %n, align 8 + %42 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_names5 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %42, i32 0, i32 32 + %arraydecay60 = getelementptr inbounds [835 x i8], [835 x i8]* %locale_names5, i64 0, i64 0 + %43 = load i8*, i8** %loc, align 8 + %44 = load i8, i8* %43, align 1 + %conv61 = zext i8 %44 to i32 + %sub = sub nsw i32 %conv61, 1 + %mul62 = mul nsw i32 5, %sub + %idx.ext63 = sext i32 %mul62 to i64 + %add.ptr64 = getelementptr inbounds i8, i8* %arraydecay60, i64 %idx.ext63 + %call65 = call i8* @memcpy(i8* %41, i8* %add.ptr64, i64 5) #20 + %45 = load i8*, i8** %n, align 8 + %arrayidx66 = getelementptr inbounds i8, i8* %45, i64 2 + %46 = load i8, i8* %arrayidx66, align 1 + %conv67 = sext i8 %46 to i32 + %cmp68 = icmp ne i32 %conv67, 95 + br i1 %cmp68, label %if.then70, label %if.end73 + +if.then70: ; preds = %if.else + %47 = load i8*, i8** %n, align 8 + %arrayidx71 = getelementptr inbounds i8, i8* %47, i64 2 + %48 = load i8, i8* %arrayidx71, align 1 + store i8 %48, i8* %at, align 1 + %49 = load i8*, i8** %n, align 8 + %arrayidx72 = getelementptr inbounds i8, i8* %49, i64 2 + store i8 95, i8* %arrayidx72, align 1 + br label %if.end73 + +if.end73: ; preds = %if.then70, %if.else + %50 = load i8*, i8** %n, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %50, i64 5 + store i8* %add.ptr74, i8** %n, align 8 + %51 = load i8*, i8** %n, align 8 + %incdec.ptr75 = getelementptr inbounds i8, i8* %51, i32 1 + store i8* %incdec.ptr75, i8** %n, align 8 + store i8 46, i8* %51, align 1 + %52 = load i8*, i8** %loc, align 8 + %arrayidx76 = getelementptr inbounds i8, i8* %52, i64 2 + %53 = load i8, i8* %arrayidx76, align 1 + %conv77 = zext i8 %53 to i32 + %cmp78 = icmp eq i32 %conv77, 2 + br i1 %cmp78, label %if.then80, label %if.else82 + +if.then80: ; preds = %if.end73 + %54 = load i8*, i8** %n, align 8 + %call81 = call i8* @stpcpy(i8* %54, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf8.234, i64 0, i64 0)) #20 + store i8* %call81, i8** %n, align 8 + br label %if.end100 + +if.else82: ; preds = %if.end73 + %55 = load i8*, i8** %loc, align 8 + %arrayidx83 = getelementptr inbounds i8, i8* %55, i64 2 + %56 = load i8, i8* %arrayidx83, align 1 + %conv84 = zext i8 %56 to i32 + %cmp85 = icmp sge i32 %conv84, 3 + br i1 %cmp85, label %if.then87, label %if.end100 + +if.then87: ; preds = %if.else82 + %57 = load i8*, i8** %n, align 8 + %58 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %58, i32 0, i32 35 + %arraydecay88 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list, i64 0, i64 0 + %59 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list89 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %59, i32 0, i32 35 + %60 = load i8*, i8** %loc, align 8 + %arrayidx90 = getelementptr inbounds i8, i8* %60, i64 2 + %61 = load i8, i8* %arrayidx90, align 1 + %conv91 = zext i8 %61 to i32 + %sub92 = sub nsw i32 %conv91, 3 + %idxprom93 = sext i32 %sub92 to i64 + %arrayidx94 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list89, i64 0, i64 %idxprom93 + %62 = load i8, i8* %arrayidx94, align 1 + %conv95 = zext i8 %62 to i32 + %idx.ext96 = sext i32 %conv95 to i64 + %add.ptr97 = getelementptr inbounds i8, i8* %arraydecay88, i64 %idx.ext96 + %call98 = call i8* @stpcpy(i8* %57, i8* %add.ptr97) #20 + store i8* %call98, i8** %n, align 8 + br label %if.end100 + +if.end100: ; preds = %if.else82, %if.then87, %if.then80 + %63 = load i8, i8* %at, align 1 + %tobool = icmp ne i8 %63, 0 + br i1 %tobool, label %if.then101, label %if.end120 + +if.then101: ; preds = %if.end100 + %64 = load i8*, i8** %n, align 8 + %incdec.ptr102 = getelementptr inbounds i8, i8* %64, i32 1 + store i8* %incdec.ptr102, i8** %n, align 8 + store i8 64, i8* %64, align 1 + %65 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_at_modifiers = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %65, i32 0, i32 33 + %arraydecay103 = getelementptr inbounds [18 x i8], [18 x i8]* %locale_at_modifiers, i64 0, i64 0 + store i8* %arraydecay103, i8** %q, align 8 + br label %do.body104 + +do.body104: ; preds = %if.end113, %if.then101 + %66 = load i8*, i8** %q, align 8 + %arrayidx105 = getelementptr inbounds i8, i8* %66, i64 1 + %67 = load i8, i8* %arrayidx105, align 1 + %conv106 = sext i8 %67 to i32 + %68 = load i8, i8* %at, align 1 + %conv107 = sext i8 %68 to i32 + %cmp108 = icmp eq i32 %conv106, %conv107 + br i1 %cmp108, label %if.then110, label %if.end113 + +if.then110: ; preds = %do.body104 + %69 = load i8*, i8** %n, align 8 + %70 = load i8*, i8** %q, align 8 + %add.ptr111 = getelementptr inbounds i8, i8* %70, i64 2 + %call112 = call i8* @stpcpy(i8* %69, i8* %add.ptr111) #20 + store i8* %call112, i8** %n, align 8 + br label %if.end120 + +if.end113: ; preds = %do.body104 + %71 = load i8*, i8** %q, align 8 + %72 = load i8, i8* %71, align 1 + %conv114 = sext i8 %72 to i32 + %add115 = add nsw i32 2, %conv114 + %73 = load i8*, i8** %q, align 8 + %idx.ext116 = sext i32 %add115 to i64 + %add.ptr117 = getelementptr inbounds i8, i8* %73, i64 %idx.ext116 + store i8* %add.ptr117, i8** %q, align 8 + %74 = load i8*, i8** %q, align 8 + %75 = load i8, i8* %74, align 1 + %tobool118 = icmp ne i8 %75, 0 + br i1 %tobool118, label %do.body104, label %if.end120 + +if.end120: ; preds = %if.end100, %if.end113, %if.then110, %if.then58 + %76 = load i8*, i8** %n, align 8 + %incdec.ptr121 = getelementptr inbounds i8, i8* %76, i32 1 + store i8* %incdec.ptr121, i8** %n, align 8 + store i8 59, i8* %76, align 1 + br label %if.end122 + +if.end122: ; preds = %if.end120, %lor.lhs.false30 + %77 = load i8*, i8** %s, align 8 + %add.ptr123 = getelementptr inbounds i8, i8* %77, i64 2 + store i8* %add.ptr123, i8** %s, align 8 + %78 = load i32, i32* %i, align 4 + %inc = add nsw i32 %78, 1 + store i32 %inc, i32* %i, align 4 + %79 = load i32, i32* %category, align 4 + %cmp125 = icmp slt i32 %inc, %79 + br i1 %cmp125, label %do.body26, label %do.end127 + +do.end127: ; preds = %if.end122 + %80 = load i8*, i8** %n, align 8 + %incdec.ptr128 = getelementptr inbounds i8, i8* %80, i32 -1 + store i8* %incdec.ptr128, i8** %n, align 8 + store i8 0, i8* %incdec.ptr128, align 1 + %81 = load i32, i32* %category, align 4 + %inc129 = add nsw i32 %81, 1 + store i32 %inc129, i32* %category, align 4 + %82 = load i32, i32* %done, align 4 + %tobool131 = icmp ne i32 %82, 0 + %lnot = xor i1 %tobool131, true + br i1 %lnot, label %do.body, label %do.end132 + +do.end132: ; preds = %do.end127 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define void @setutent() #0 { +entry: + call void @__setutent() #19 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__setutent() #0 { +entry: + %ret = alloca i32, align 4 + %0 = load i32, i32* @static_fd, align 4 + %cmp = icmp eq i32 %0, -1 + br i1 %cmp, label %if.then, label %if.end16 + +if.then: ; preds = %entry + %1 = load i8*, i8** @static_ut_name, align 8 + %call = call i32 (i8*, i32, ...) @open(i8* %1, i32 2) #19 + store i32 %call, i32* @static_fd, align 4 + %cmp1 = icmp slt i32 %call, 0 + br i1 %cmp1, label %if.then2, label %if.end6 + +if.then2: ; preds = %if.then + %2 = load i8*, i8** @static_ut_name, align 8 + %call3 = call i32 (i8*, i32, ...) @open(i8* %2, i32 0) #19 + store i32 %call3, i32* @static_fd, align 4 + %cmp4 = icmp slt i32 %call3, 0 + br i1 %cmp4, label %bummer, label %if.end6 + +if.end6: ; preds = %if.then2, %if.then + %3 = load i32, i32* @static_fd, align 4 + %call7 = call i32 (i32, i32, ...) @fcntl(i32 %3, i32 1, i32 0) #19 + store i32 %call7, i32* %ret, align 4 + %4 = load i32, i32* %ret, align 4 + %cmp8 = icmp sge i32 %4, 0 + br i1 %cmp8, label %if.then9, label %if.end11 + +if.then9: ; preds = %if.end6 + %5 = load i32, i32* @static_fd, align 4 + %6 = load i32, i32* %ret, align 4 + %or = or i32 %6, 1 + %call10 = call i32 (i32, i32, ...) @fcntl(i32 %5, i32 2, i32 %or) #19 + store i32 %call10, i32* %ret, align 4 + br label %if.end11 + +if.end11: ; preds = %if.then9, %if.end6 + %7 = load i32, i32* %ret, align 4 + %cmp12 = icmp slt i32 %7, 0 + br i1 %cmp12, label %bummer, label %if.end16 + +bummer: ; preds = %if.end11, %if.then2 + store i32 -1, i32* @static_fd, align 4 + %8 = load i32, i32* @static_fd, align 4 + %call14 = call i32 @close(i32 %8) #19 + br label %return + +if.end16: ; preds = %if.end11, %entry + %9 = load i32, i32* @static_fd, align 4 + %call17 = call i64 @lseek(i32 %9, i64 0, i32 0) #20 + br label %return + +return: ; preds = %if.end16, %bummer + ret void +} + +; Function Attrs: noinline nounwind uwtable +define void @endutent() #0 { +entry: + %0 = load i32, i32* @static_fd, align 4 + %cmp = icmp ne i32 %0, -1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load i32, i32* @static_fd, align 4 + %call = call i32 @close(i32 %1) #19 + br label %if.end + +if.end: ; preds = %if.then, %entry + store i32 -1, i32* @static_fd, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @getutent() #0 { +entry: + %ret = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* null, %struct.utmp.323** %ret, align 8 + %0 = load i32, i32* @static_fd, align 4 + %call = call %struct.utmp.323* @__getutent(i32 %0) #19 + store %struct.utmp.323* %call, %struct.utmp.323** %ret, align 8 + %1 = load %struct.utmp.323*, %struct.utmp.323** %ret, align 8 + ret %struct.utmp.323* %1 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.utmp.323* @__getutent(i32 %utmp_fd) #0 { +entry: + %retval = alloca %struct.utmp.323*, align 8 + %utmp_fd.addr = alloca i32, align 4 + %ret = alloca %struct.utmp.323*, align 8 + store i32 %utmp_fd, i32* %utmp_fd.addr, align 4 + store %struct.utmp.323* null, %struct.utmp.323** %ret, align 8 + %0 = load i32, i32* %utmp_fd.addr, align 4 + %cmp = icmp eq i32 %0, -1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @__setutent() #19 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i32, i32* %utmp_fd.addr, align 4 + %cmp1 = icmp eq i32 %1, -1 + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + store %struct.utmp.323* null, %struct.utmp.323** %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %2 = load i32, i32* %utmp_fd.addr, align 4 + %call = call i64 @read(i32 %2, i8* bitcast (%struct.utmp.323* @static_utmp to i8*), i64 400) #19 + %cmp4 = icmp eq i64 %call, 400 + br i1 %cmp4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end3 + store %struct.utmp.323* @static_utmp, %struct.utmp.323** %ret, align 8 + br label %if.end6 + +if.end6: ; preds = %if.then5, %if.end3 + %3 = load %struct.utmp.323*, %struct.utmp.323** %ret, align 8 + store %struct.utmp.323* %3, %struct.utmp.323** %retval, align 8 + br label %return + +return: ; preds = %if.end6, %if.then2 + %4 = load %struct.utmp.323*, %struct.utmp.323** %retval, align 8 + ret %struct.utmp.323* %4 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @getutid(%struct.utmp.323* %utmp_entry) #0 { +entry: + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + %ret = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + store %struct.utmp.323* null, %struct.utmp.323** %ret, align 8 + %0 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %call = call %struct.utmp.323* @__getutid(%struct.utmp.323* %0) #19 + store %struct.utmp.323* %call, %struct.utmp.323** %ret, align 8 + %1 = load %struct.utmp.323*, %struct.utmp.323** %ret, align 8 + ret %struct.utmp.323* %1 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.utmp.323* @__getutid(%struct.utmp.323* %utmp_entry) #0 { +entry: + %retval = alloca %struct.utmp.323*, align 8 + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + %lutmp = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end47, %entry + %0 = load i32, i32* @static_fd, align 4 + %call = call %struct.utmp.323* @__getutent(i32 %0) #19 + store %struct.utmp.323* %call, %struct.utmp.323** %lutmp, align 8 + %cmp = icmp ne %struct.utmp.323* %call, null + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %1 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %1, i32 0, i32 0 + %2 = load i16, i16* %ut_type, align 8 + %conv = sext i16 %2 to i32 + %cmp1 = icmp eq i32 %conv, 1 + br i1 %cmp1, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.body + %3 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type3 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %3, i32 0, i32 0 + %4 = load i16, i16* %ut_type3, align 8 + %conv4 = sext i16 %4 to i32 + %cmp5 = icmp eq i32 %conv4, 2 + br i1 %cmp5, label %land.lhs.true, label %lor.lhs.false7 + +lor.lhs.false7: ; preds = %lor.lhs.false + %5 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type8 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %5, i32 0, i32 0 + %6 = load i16, i16* %ut_type8, align 8 + %conv9 = sext i16 %6 to i32 + %cmp10 = icmp eq i32 %conv9, 3 + br i1 %cmp10, label %land.lhs.true, label %lor.lhs.false12 + +lor.lhs.false12: ; preds = %lor.lhs.false7 + %7 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type13 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %7, i32 0, i32 0 + %8 = load i16, i16* %ut_type13, align 8 + %conv14 = sext i16 %8 to i32 + %cmp15 = icmp eq i32 %conv14, 4 + br i1 %cmp15, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %lor.lhs.false12, %lor.lhs.false7, %lor.lhs.false, %while.body + %9 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_type17 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %9, i32 0, i32 0 + %10 = load i16, i16* %ut_type17, align 8 + %conv18 = sext i16 %10 to i32 + %11 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type19 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %11, i32 0, i32 0 + %12 = load i16, i16* %ut_type19, align 8 + %conv20 = sext i16 %12 to i32 + %cmp21 = icmp eq i32 %conv18, %conv20 + br i1 %cmp21, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %13 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + store %struct.utmp.323* %13, %struct.utmp.323** %retval, align 8 + br label %return + +if.end: ; preds = %land.lhs.true, %lor.lhs.false12 + %14 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type23 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %14, i32 0, i32 0 + %15 = load i16, i16* %ut_type23, align 8 + %conv24 = sext i16 %15 to i32 + %cmp25 = icmp eq i32 %conv24, 5 + br i1 %cmp25, label %land.lhs.true42, label %lor.lhs.false27 + +lor.lhs.false27: ; preds = %if.end + %16 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type28 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %16, i32 0, i32 0 + %17 = load i16, i16* %ut_type28, align 8 + %conv29 = sext i16 %17 to i32 + %cmp30 = icmp eq i32 %conv29, 8 + br i1 %cmp30, label %land.lhs.true42, label %lor.lhs.false32 + +lor.lhs.false32: ; preds = %lor.lhs.false27 + %18 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type33 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %18, i32 0, i32 0 + %19 = load i16, i16* %ut_type33, align 8 + %conv34 = sext i16 %19 to i32 + %cmp35 = icmp eq i32 %conv34, 6 + br i1 %cmp35, label %land.lhs.true42, label %lor.lhs.false37 + +lor.lhs.false37: ; preds = %lor.lhs.false32 + %20 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type38 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %20, i32 0, i32 0 + %21 = load i16, i16* %ut_type38, align 8 + %conv39 = sext i16 %21 to i32 + %cmp40 = icmp eq i32 %conv39, 7 + br i1 %cmp40, label %land.lhs.true42, label %if.end47 + +land.lhs.true42: ; preds = %lor.lhs.false37, %lor.lhs.false32, %lor.lhs.false27, %if.end + %22 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_id = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %22, i32 0, i32 3 + %arraydecay = getelementptr inbounds [4 x i8], [4 x i8]* %ut_id, i64 0, i64 0 + %23 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_id43 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %23, i32 0, i32 3 + %arraydecay44 = getelementptr inbounds [4 x i8], [4 x i8]* %ut_id43, i64 0, i64 0 + %call45 = call i32 @strncmp(i8* %arraydecay, i8* %arraydecay44, i64 4) #21 + %tobool = icmp ne i32 %call45, 0 + br i1 %tobool, label %if.end47, label %if.then46 + +if.then46: ; preds = %land.lhs.true42 + %24 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + store %struct.utmp.323* %24, %struct.utmp.323** %retval, align 8 + br label %return + +if.end47: ; preds = %land.lhs.true42, %lor.lhs.false37 + br label %while.cond + +while.end: ; preds = %while.cond + store %struct.utmp.323* null, %struct.utmp.323** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then46, %if.then + %25 = load %struct.utmp.323*, %struct.utmp.323** %retval, align 8 + ret %struct.utmp.323* %25 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @getutline(%struct.utmp.323* %utmp_entry) #0 { +entry: + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + %lutmp = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + store %struct.utmp.323* null, %struct.utmp.323** %lutmp, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %0 = load i32, i32* @static_fd, align 4 + %call = call %struct.utmp.323* @__getutent(i32 %0) #19 + store %struct.utmp.323* %call, %struct.utmp.323** %lutmp, align 8 + %cmp = icmp ne %struct.utmp.323* %call, null + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %1 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_type = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %1, i32 0, i32 0 + %2 = load i16, i16* %ut_type, align 8 + %conv = sext i16 %2 to i32 + %cmp1 = icmp eq i32 %conv, 7 + br i1 %cmp1, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.body + %3 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_type3 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %3, i32 0, i32 0 + %4 = load i16, i16* %ut_type3, align 8 + %conv4 = sext i16 %4 to i32 + %cmp5 = icmp eq i32 %conv4, 6 + br i1 %cmp5, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %lor.lhs.false, %while.body + %5 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_line = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %5, i32 0, i32 2 + %arraydecay = getelementptr inbounds [32 x i8], [32 x i8]* %ut_line, i64 0, i64 0 + %6 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_line7 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %6, i32 0, i32 2 + %arraydecay8 = getelementptr inbounds [32 x i8], [32 x i8]* %ut_line7, i64 0, i64 0 + %call9 = call i32 @strcmp(i8* %arraydecay, i8* %arraydecay8) #21 + %tobool = icmp ne i32 %call9, 0 + br i1 %tobool, label %if.end, label %while.end + +if.end: ; preds = %land.lhs.true, %lor.lhs.false + br label %while.cond + +while.end: ; preds = %land.lhs.true, %while.cond + %7 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + ret %struct.utmp.323* %7 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @pututline(%struct.utmp.323* %utmp_entry) #0 { +entry: + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + %0 = load i32, i32* @static_fd, align 4 + %call = call i64 @lseek(i32 %0, i64 -400, i32 1) #20 + %1 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %call1 = call %struct.utmp.323* @__getutid(%struct.utmp.323* %1) #19 + %cmp = icmp ne %struct.utmp.323* %call1, null + %2 = load i32, i32* @static_fd, align 4 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %call2 = call i64 @lseek(i32 %2, i64 -400, i32 1) #20 + br label %if.end + +if.else: ; preds = %entry + %call3 = call i64 @lseek(i32 %2, i64 0, i32 2) #20 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %3 = load i32, i32* @static_fd, align 4 + %4 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %5 = bitcast %struct.utmp.323* %4 to i8* + %call4 = call i64 @write(i32 %3, i8* %5, i64 400) #19 + %cmp5 = icmp ne i64 %call4, 400 + br i1 %cmp5, label %if.then6, label %if.end7 + +if.then6: ; preds = %if.end + store %struct.utmp.323* null, %struct.utmp.323** %utmp_entry.addr, align 8 + br label %if.end7 + +if.end7: ; preds = %if.then6, %if.end + %6 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + ret %struct.utmp.323* %6 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @utmpname(i8* %new_ut_name) #0 { +entry: + %new_ut_name.addr = alloca i8*, align 8 + store i8* %new_ut_name, i8** %new_ut_name.addr, align 8 + %0 = load i8*, i8** %new_ut_name.addr, align 8 + %cmp = icmp ne i8* %0, null + br i1 %cmp, label %if.then, label %if.end6 + +if.then: ; preds = %entry + %1 = load i8*, i8** @static_ut_name, align 8 + %cmp1 = icmp ne i8* %1, getelementptr inbounds ([14 x i8], [14 x i8]* @default_file_name, i64 0, i64 0) + br i1 %cmp1, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + %2 = load i8*, i8** @static_ut_name, align 8 + call void @free(i8* %2) #20 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %3 = load i8*, i8** %new_ut_name.addr, align 8 + %call = call noalias i8* @strdup(i8* %3) #20 + store i8* %call, i8** @static_ut_name, align 8 + %4 = load i8*, i8** @static_ut_name, align 8 + %cmp3 = icmp eq i8* %4, null + %spec.store.select = select i1 %cmp3, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @default_file_name, i64 0, i64 0), i8* %call + store i8* %spec.store.select, i8** @static_ut_name, align 8 + br label %if.end6 + +if.end6: ; preds = %if.end, %entry + %5 = load i32, i32* @static_fd, align 4 + %cmp7 = icmp ne i32 %5, -1 + br i1 %cmp7, label %if.then8, label %if.end10 + +if.then8: ; preds = %if.end6 + %6 = load i32, i32* @static_fd, align 4 + %call9 = call i32 @close(i32 %6) #19 + br label %if.end10 + +if.end10: ; preds = %if.then8, %if.end6 + store i32 -1, i32* @static_fd, align 4 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_wchar_utf8sntowcs(i32* noalias %pwc, i64 %wn, i8** noalias %src, i64 %n, %struct.__mbstate_t.512* %ps, i32 %allow_continuation) #0 { +entry: + %retval = alloca i64, align 8 + %pwc.addr = alloca i32*, align 8 + %wn.addr = alloca i64, align 8 + %src.addr = alloca i8**, align 8 + %n.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %allow_continuation.addr = alloca i32, align 4 + %s = alloca i8*, align 8 + %mask = alloca i32, align 4 + %wc = alloca i32, align 4 + %wcbuf = alloca [1 x i32], align 4 + %count = alloca i64, align 8 + %incr = alloca i32, align 4 + store i32* %pwc, i32** %pwc.addr, align 8 + store i64 %wn, i64* %wn.addr, align 8 + store i8** %src, i8*** %src.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + store i32 %allow_continuation, i32* %allow_continuation.addr, align 4 + %0 = load i8**, i8*** %src.addr, align 8 + %1 = load i8*, i8** %0, align 8 + store i8* %1, i8** %s, align 8 + store i32 1, i32* %incr, align 4 + %2 = load i32*, i32** %pwc.addr, align 8 + %tobool = icmp ne i32* %2, null + br i1 %tobool, label %lor.lhs.false, label %if.then + +lor.lhs.false: ; preds = %entry + %3 = load i32*, i32** %pwc.addr, align 8 + %4 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %5 = bitcast %struct.__mbstate_t.512* %4 to i32* + %cmp = icmp eq i32* %3, %5 + br i1 %cmp, label %if.then, label %if.end3 + +if.then: ; preds = %lor.lhs.false, %entry + %6 = load i32*, i32** %pwc.addr, align 8 + %tobool1 = icmp ne i32* %6, null + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + store i64 -1, i64* %wn.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %arraydecay = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay, i32** %pwc.addr, align 8 + store i32 0, i32* %incr, align 4 + br label %if.end3 + +if.end3: ; preds = %if.end, %lor.lhs.false + %7 = load i64, i64* %wn.addr, align 8 + store i64 %7, i64* %count, align 8 + %tobool4 = icmp ne i64 %7, 0 + br i1 %tobool4, label %if.end6, label %if.then5 + +if.then5: ; preds = %if.end3 + store i64 0, i64* %retval, align 8 + br label %return + +if.end6: ; preds = %if.end3 + %8 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %8, i32 0, i32 0 + %9 = load i32, i32* %__mask, align 4 + store i32 %9, i32* %mask, align 4 + %cmp7 = icmp ne i32 %9, 0 + br i1 %cmp7, label %if.then8, label %do.body + +if.then8: ; preds = %if.end6 + %10 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %10, i32 0, i32 1 + %11 = load i32, i32* %__wc, align 4 + store i32 %11, i32* %wc, align 4 + %cmp9 = icmp ne i32 %11, 65535 + br i1 %cmp9, label %if.then10, label %if.end14 + +if.then10: ; preds = %if.then8 + %12 = load i64, i64* %n.addr, align 8 + %tobool11 = icmp ne i64 %12, 0 + br i1 %tobool11, label %while.cond, label %DONE + +if.end14: ; preds = %if.then8 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +do.body: ; preds = %if.end6, %land.rhs + %13 = load i64, i64* %n.addr, align 8 + %tobool16 = icmp ne i64 %13, 0 + br i1 %tobool16, label %if.end18, label %DONE + +if.end18: ; preds = %do.body + %14 = load i64, i64* %n.addr, align 8 + %dec = add i64 %14, -1 + store i64 %dec, i64* %n.addr, align 8 + %15 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %15, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %16 = load i8, i8* %15, align 1 + %conv = zext i8 %16 to i32 + store i32 %conv, i32* %wc, align 4 + %cmp19 = icmp uge i32 %conv, 128 + br i1 %cmp19, label %if.then21, label %COMPLETE + +if.then21: ; preds = %if.end18 + store i32 64, i32* %mask, align 4 + %17 = load i8*, i8** %s, align 8 + %arrayidx = getelementptr inbounds i8, i8* %17, i64 -1 + %18 = load i8, i8* %arrayidx, align 1 + %conv22 = sext i8 %18 to i32 + %sub = sub nsw i32 %conv22, 192 + %conv23 = trunc i32 %sub to i8 + %conv24 = zext i8 %conv23 to i32 + %cmp25 = icmp slt i32 %conv24, 62 + br i1 %cmp25, label %START, label %BAD + +BAD: ; preds = %if.end52, %lor.lhs.false55, %lor.lhs.false59, %while.body, %if.then21 + %19 = load i32, i32* %mask, align 4 + %20 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask29 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %20, i32 0, i32 0 + store i32 %19, i32* %__mask29, align 4 + %21 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc30 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %21, i32 0, i32 1 + store i32 65535, i32* %__wc30, align 4 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +while.cond: ; preds = %START, %if.then10 + %22 = load i64, i64* %n.addr, align 8 + %tobool31 = icmp ne i64 %22, 0 + br i1 %tobool31, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %23 = load i64, i64* %n.addr, align 8 + %dec32 = add i64 %23, -1 + store i64 %dec32, i64* %n.addr, align 8 + %24 = load i8*, i8** %s, align 8 + %25 = load i8, i8* %24, align 1 + %conv33 = sext i8 %25 to i32 + %and = and i32 %conv33, 192 + %cmp34 = icmp ne i32 %and, 128 + br i1 %cmp34, label %BAD, label %if.end37 + +if.end37: ; preds = %while.body + %26 = load i32, i32* %mask, align 4 + %shl = shl i32 %26, 5 + store i32 %shl, i32* %mask, align 4 + %27 = load i32, i32* %wc, align 4 + %shl38 = shl i32 %27, 6 + store i32 %shl38, i32* %wc, align 4 + %28 = load i8*, i8** %s, align 8 + %29 = load i8, i8* %28, align 1 + %conv39 = sext i8 %29 to i32 + %and40 = and i32 %conv39, 63 + %30 = load i32, i32* %wc, align 4 + %add = add i32 %30, %and40 + store i32 %add, i32* %wc, align 4 + %31 = load i8*, i8** %s, align 8 + %incdec.ptr41 = getelementptr inbounds i8, i8* %31, i32 1 + store i8* %incdec.ptr41, i8** %s, align 8 + br label %START + +START: ; preds = %if.then21, %if.end37 + %32 = load i32, i32* %mask, align 4 + %shl42 = shl i32 %32, 1 + %neg = xor i32 %shl42, -1 + %33 = load i32, i32* %wc, align 4 + %and43 = and i32 %33, %neg + store i32 %and43, i32* %wc, align 4 + %34 = load i32, i32* %wc, align 4 + %35 = load i32, i32* %mask, align 4 + %and44 = and i32 %34, %35 + %cmp45 = icmp eq i32 %and44, 0 + br i1 %cmp45, label %if.then47, label %while.cond + +if.then47: ; preds = %START + %36 = load i32, i32* %mask, align 4 + %shr = lshr i32 %36, 5 + store i32 %shr, i32* %mask, align 4 + %cmp48 = icmp eq i32 %shr, 64 + br i1 %cmp48, label %if.then50, label %if.end52 + +if.then50: ; preds = %if.then47 + %37 = load i32, i32* %mask, align 4 + %38 = load i32, i32* %mask, align 4 + %add51 = add i32 %38, %37 + store i32 %add51, i32* %mask, align 4 + br label %if.end52 + +if.end52: ; preds = %if.then50, %if.then47 + %39 = load i32, i32* %wc, align 4 + %40 = load i32, i32* %mask, align 4 + %cmp53 = icmp ult i32 %39, %40 + br i1 %cmp53, label %BAD, label %lor.lhs.false55 + +lor.lhs.false55: ; preds = %if.end52 + %41 = load i32, i32* %wc, align 4 + %sub56 = sub i32 %41, 65534 + %cmp57 = icmp ult i32 %sub56, 2 + br i1 %cmp57, label %BAD, label %lor.lhs.false59 + +lor.lhs.false59: ; preds = %lor.lhs.false55 + %42 = load i32, i32* %wc, align 4 + %sub60 = sub i32 %42, 55296 + %cmp61 = icmp ult i32 %sub60, 2048 + br i1 %cmp61, label %BAD, label %COMPLETE + +while.end: ; preds = %while.cond + %43 = load i32, i32* %allow_continuation.addr, align 4 + %tobool66 = icmp ne i32 %43, 0 + br i1 %tobool66, label %if.end77, label %if.then67 + +if.then67: ; preds = %while.end + %44 = load i64, i64* %count, align 8 + %45 = load i64, i64* %wn.addr, align 8 + %cmp68 = icmp ne i64 %44, %45 + br i1 %cmp68, label %if.then70, label %do.body72 + +if.then70: ; preds = %if.then67 + store i64 0, i64* %retval, align 8 + br label %return + +do.body72: ; preds = %if.then67, %do.body72 + %46 = load i8*, i8** %s, align 8 + %incdec.ptr73 = getelementptr inbounds i8, i8* %46, i32 -1 + store i8* %incdec.ptr73, i8** %s, align 8 + %47 = load i32, i32* %mask, align 4 + %shr74 = lshr i32 %47, 5 + store i32 %shr74, i32* %mask, align 4 + %cmp75 = icmp uge i32 %shr74, 64 + br i1 %cmp75, label %do.body72, label %DONE + +if.end77: ; preds = %while.end + %48 = load i32, i32* %mask, align 4 + %49 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask78 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %49, i32 0, i32 0 + store i32 %48, i32* %__mask78, align 4 + %50 = load i32, i32* %wc, align 4 + %51 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc79 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %51, i32 0, i32 1 + store i32 %50, i32* %__wc79, align 4 + %52 = load i8*, i8** %s, align 8 + %53 = load i8**, i8*** %src.addr, align 8 + store i8* %52, i8** %53, align 8 + store i64 -2, i64* %retval, align 8 + br label %return + +COMPLETE: ; preds = %if.end18, %lor.lhs.false59 + %54 = load i32, i32* %wc, align 4 + %55 = load i32*, i32** %pwc.addr, align 8 + store i32 %54, i32* %55, align 4 + %56 = load i32, i32* %incr, align 4 + %57 = load i32*, i32** %pwc.addr, align 8 + %idx.ext = sext i32 %56 to i64 + %add.ptr = getelementptr inbounds i32, i32* %57, i64 %idx.ext + store i32* %add.ptr, i32** %pwc.addr, align 8 + %58 = load i32, i32* %wc, align 4 + %tobool82 = icmp ne i32 %58, 0 + br i1 %tobool82, label %land.rhs, label %do.end85 + +land.rhs: ; preds = %COMPLETE + %59 = load i64, i64* %count, align 8 + %dec83 = add i64 %59, -1 + store i64 %dec83, i64* %count, align 8 + %tobool84 = icmp ne i64 %dec83, 0 + br i1 %tobool84, label %do.body, label %do.end85 + +do.end85: ; preds = %COMPLETE, %land.rhs + %60 = load i32, i32* %wc, align 4 + %tobool86 = icmp ne i32 %60, 0 + br i1 %tobool86, label %DONE, label %if.then87 + +if.then87: ; preds = %do.end85 + store i8* null, i8** %s, align 8 + br label %DONE + +DONE: ; preds = %do.end85, %if.then87, %do.body72, %do.body, %if.then10 + %61 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask89 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %61, i32 0, i32 0 + store i32 0, i32* %__mask89, align 4 + %62 = load i32*, i32** %pwc.addr, align 8 + %arraydecay90 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %cmp91 = icmp ne i32* %62, %arraydecay90 + br i1 %cmp91, label %if.then93, label %if.end94 + +if.then93: ; preds = %DONE + %63 = load i8*, i8** %s, align 8 + %64 = load i8**, i8*** %src.addr, align 8 + store i8* %63, i8** %64, align 8 + br label %if.end94 + +if.end94: ; preds = %if.then93, %DONE + %65 = load i64, i64* %wn.addr, align 8 + %66 = load i64, i64* %count, align 8 + %sub95 = sub i64 %65, %66 + store i64 %sub95, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end94, %if.end77, %if.then70, %BAD, %if.end14, %if.then5 + %67 = load i64, i64* %retval, align 8 + ret i64 %67 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @mbrtowc(i32* noalias %pwc, i8* noalias %s, i64 %n, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %retval = alloca i64, align 8 + %pwc.addr = alloca i32*, align 8 + %s.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %wcbuf = alloca [1 x i32], align 4 + %p = alloca i8*, align 8 + %r = alloca i64, align 8 + %empty_string = alloca [1 x i8], align 1 + store i32* %pwc, i32** %pwc.addr, align 8 + store i8* %s, i8** %s.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %tobool = icmp ne %struct.__mbstate_t.512* %0, null + %spec.store.select = select i1 %tobool, %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512* @mbrtowc.mbstate + store %struct.__mbstate_t.512* %spec.store.select, %struct.__mbstate_t.512** %ps.addr, align 8 + %1 = load i8*, i8** %s.addr, align 8 + %tobool1 = icmp ne i8* %1, null + br i1 %tobool1, label %if.else, label %if.then2 + +if.then2: ; preds = %entry + %2 = load i8*, i8** %s.addr, align 8 + %3 = bitcast i8* %2 to i32* + store i32* %3, i32** %pwc.addr, align 8 + %arrayidx = getelementptr inbounds [1 x i8], [1 x i8]* %empty_string, i64 0, i64 0 + store i8 0, i8* %arrayidx, align 1 + %arraydecay = getelementptr inbounds [1 x i8], [1 x i8]* %empty_string, i64 0, i64 0 + store i8* %arraydecay, i8** %s.addr, align 8 + store i64 1, i64* %n.addr, align 8 + br label %if.end7 + +if.else: ; preds = %entry + %4 = load i64, i64* %n.addr, align 8 + %tobool3 = icmp ne i64 %4, 0 + br i1 %tobool3, label %if.end7, label %if.then4 + +if.then4: ; preds = %if.else + %5 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %5, i32 0, i32 0 + %6 = load i32, i32* %__mask, align 4 + %tobool5 = icmp ne i32 %6, 0 + br i1 %tobool5, label %land.rhs, label %land.end + +land.rhs: ; preds = %if.then4 + %7 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %7, i32 0, i32 1 + %8 = load i32, i32* %__wc, align 4 + %cmp = icmp eq i32 %8, 65535 + br label %land.end + +land.end: ; preds = %land.rhs, %if.then4 + %9 = phi i1 [ false, %if.then4 ], [ %cmp, %land.rhs ] + %10 = zext i1 %9 to i64 + %cond = select i1 %9, i64 -1, i64 -2 + store i64 %cond, i64* %retval, align 8 + br label %return + +if.end7: ; preds = %if.else, %if.then2 + %11 = load i8*, i8** %s.addr, align 8 + store i8* %11, i8** %p, align 8 + %12 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %12, i32 0, i32 9 + %13 = load i8, i8* %encoding, align 8 + %conv = zext i8 %13 to i32 + %cmp8 = icmp eq i32 %conv, 1 + br i1 %cmp8, label %if.then10, label %if.end18 + +if.then10: ; preds = %if.end7 + %14 = load i32*, i32** %pwc.addr, align 8 + %tobool11 = icmp ne i32* %14, null + br i1 %tobool11, label %if.end14, label %if.then12 + +if.then12: ; preds = %if.then10 + %arraydecay13 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay13, i32** %pwc.addr, align 8 + br label %if.end14 + +if.end14: ; preds = %if.then12, %if.then10 + %15 = load i32*, i32** %pwc.addr, align 8 + %16 = load i64, i64* %n.addr, align 8 + %17 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @_wchar_utf8sntowcs(i32* %15, i64 1, i8** %p, i64 %16, %struct.__mbstate_t.512* %17, i32 1) #19 + store i64 %call, i64* %r, align 8 + %18 = load i64, i64* %r, align 8 + %cmp15 = icmp eq i64 %18, 1 + %19 = load i8*, i8** %p, align 8 + %20 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %20 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %21 = load i64, i64* %r, align 8 + %cond17 = select i1 %cmp15, i64 %sub.ptr.sub, i64 %21 + store i64 %cond17, i64* %retval, align 8 + br label %return + +if.end18: ; preds = %if.end7 + %arraydecay19 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %22 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call20 = call i64 @mbsnrtowcs(i32* %arraydecay19, i8** %p, i64 -1, i64 1, %struct.__mbstate_t.512* %22) #20 + store i64 %call20, i64* %r, align 8 + %23 = load i64, i64* %r, align 8 + %cmp21 = icmp sge i64 %23, 0 + %24 = load i32*, i32** %pwc.addr, align 8 + %tobool24 = icmp ne i32* %24, null + %or.cond = and i1 %cmp21, %tobool24 + br i1 %or.cond, label %if.then25, label %if.end28 + +if.then25: ; preds = %if.end18 + %arraydecay26 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %25 = load i32, i32* %arraydecay26, align 4 + %26 = load i32*, i32** %pwc.addr, align 8 + store i32 %25, i32* %26, align 4 + br label %if.end28 + +if.end28: ; preds = %if.then25, %if.end18 + %27 = load i64, i64* %r, align 8 + store i64 %27, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end28, %if.end14, %land.end + %28 = load i64, i64* %retval, align 8 + ret i64 %28 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @mbsinit(%struct.__mbstate_t.512* %ps) #14 { +entry: + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %tobool = icmp ne %struct.__mbstate_t.512* %0, null + br i1 %tobool, label %lor.rhs, label %lor.end + +lor.rhs: ; preds = %entry + %1 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %1, i32 0, i32 0 + %2 = load i32, i32* %__mask, align 4 + %tobool1 = icmp ne i32 %2, 0 + %lnot = xor i1 %tobool1, true + br label %lor.end + +lor.end: ; preds = %lor.rhs, %entry + %3 = phi i1 [ true, %entry ], [ %lnot, %lor.rhs ] + %lor.ext = zext i1 %3 to i32 + ret i32 %lor.ext +} + +; Function Attrs: noinline nounwind uwtable +define i32 @iswprint(i32 %wc) #0 { +entry: + %wc.addr = alloca i32, align 4 + store i32 %wc, i32* %wc.addr, align 4 + %0 = load i32, i32* %wc.addr, align 4 + %call = call i32 @iswctype(i32 %0, i32 8) #20 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.568* %stream, i8* %buf, i64 %bufsize) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %rv = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + store i64 0, i64* %rv, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 4 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end18, label %if.then + +if.then: ; preds = %entry + %2 = load i64, i64* %bufsize.addr, align 8 + %cmp = icmp ugt i64 %2, 9223372036854775807 + br i1 %cmp, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + store i64 9223372036854775807, i64* %bufsize.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 2 + %4 = load i32, i32* %__filedes, align 4 + %5 = load i8*, i8** %buf.addr, align 8 + %6 = load i64, i64* %bufsize.addr, align 8 + %call = call i64 @read(i32 %4, i8* %5, i64 %6) #19 + store i64 %call, i64* %rv, align 8 + %cmp3 = icmp sle i64 %call, 0 + br i1 %cmp3, label %if.then5, label %if.end18 + +if.then5: ; preds = %if.end + %7 = load i64, i64* %rv, align 8 + %cmp6 = icmp eq i64 %7, 0 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags9 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags9, align 8 + %conv10 = zext i16 %9 to i32 + br i1 %cmp6, label %if.then8, label %if.else + +if.then8: ; preds = %if.then5 + %or = or i32 %conv10, 4 + %conv11 = trunc i32 %or to i16 + store i16 %conv11, i16* %__modeflags9, align 8 + br label %if.end18 + +if.else: ; preds = %if.then5 + %or14 = or i32 %conv10, 8 + %conv15 = trunc i32 %or14 to i16 + store i16 %conv15, i16* %__modeflags9, align 8 + store i64 0, i64* %rv, align 8 + br label %if.end18 + +if.end18: ; preds = %if.end, %if.else, %if.then8, %entry + %10 = load i64, i64* %rv, align 8 + ret i64 %10 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %stream, i8* %buf, i64 %bufsize) #0 { +entry: + %retval = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %todo = alloca i64, align 8 + %rv = alloca i64, align 8 + %stodo = alloca i64, align 8 + %s = alloca i8*, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i64, i64* %bufsize.addr, align 8 + store i64 %0, i64* %todo, align 8 + br label %do.body + +do.body: ; preds = %if.then3, %entry + %1 = load i64, i64* %todo, align 8 + %cmp = icmp eq i64 %1, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %do.body + %2 = load i64, i64* %bufsize.addr, align 8 + store i64 %2, i64* %retval, align 8 + br label %do.end32 + +if.end: ; preds = %do.body + %3 = load i64, i64* %todo, align 8 + %cmp1 = icmp ule i64 %3, 9223372036854775807 + %4 = load i64, i64* %todo, align 8 + %cond = select i1 %cmp1, i64 %4, i64 9223372036854775807 + store i64 %cond, i64* %stodo, align 8 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 2 + %6 = load i32, i32* %__filedes, align 4 + %7 = load i8*, i8** %buf.addr, align 8 + %8 = load i64, i64* %stodo, align 8 + %call = call i64 @write(i32 %6, i8* %7, i64 %8) #19 + store i64 %call, i64* %rv, align 8 + %cmp2 = icmp sge i64 %call, 0 + br i1 %cmp2, label %if.then3, label %if.else + +if.then3: ; preds = %if.end + %9 = load i64, i64* %rv, align 8 + %10 = load i64, i64* %todo, align 8 + %sub = sub i64 %10, %9 + store i64 %sub, i64* %todo, align 8 + %11 = load i64, i64* %rv, align 8 + %12 = load i8*, i8** %buf.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %12, i64 %11 + store i8* %add.ptr, i8** %buf.addr, align 8 + br label %do.body + +if.else: ; preds = %if.end + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 0 + %14 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %14 to i32 + %or = or i32 %conv, 8 + %conv4 = trunc i32 %or to i16 + store i16 %conv4, i16* %__modeflags, align 8 + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 4 + %16 = load i8*, i8** %__bufend, align 8 + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 3 + %18 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %16 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %18 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %stodo, align 8 + %cmp5 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %cmp5, label %if.then7, label %if.end28 + +if.then7: ; preds = %if.else + %19 = load i64, i64* %stodo, align 8 + %20 = load i64, i64* %todo, align 8 + %cmp8 = icmp ugt i64 %19, %20 + br i1 %cmp8, label %if.then10, label %if.end11 + +if.then10: ; preds = %if.then7 + %21 = load i64, i64* %todo, align 8 + store i64 %21, i64* %stodo, align 8 + br label %if.end11 + +if.end11: ; preds = %if.then10, %if.then7 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart12 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 3 + %23 = load i8*, i8** %__bufstart12, align 8 + store i8* %23, i8** %s, align 8 + br label %do.body13 + +do.body13: ; preds = %if.end20, %if.end11 + %24 = load i8*, i8** %buf.addr, align 8 + %25 = load i8, i8* %24, align 1 + %26 = load i8*, i8** %s, align 8 + store i8 %25, i8* %26, align 1 + %conv14 = zext i8 %25 to i32 + %cmp15 = icmp eq i32 %conv14, 10 + br i1 %cmp15, label %land.lhs.true, label %if.end20 + +land.lhs.true: ; preds = %do.body13 + %27 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %27, i32 0, i32 0 + %28 = load i16, i16* %__modeflags17, align 8 + %conv18 = zext i16 %28 to i32 + %and = and i32 %conv18, 256 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %do.end, label %if.end20 + +if.end20: ; preds = %land.lhs.true, %do.body13 + %29 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %29, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %30 = load i8*, i8** %buf.addr, align 8 + %incdec.ptr21 = getelementptr inbounds i8, i8* %30, i32 1 + store i8* %incdec.ptr21, i8** %buf.addr, align 8 + %31 = load i64, i64* %stodo, align 8 + %dec = add nsw i64 %31, -1 + store i64 %dec, i64* %stodo, align 8 + %tobool22 = icmp ne i64 %dec, 0 + br i1 %tobool22, label %do.body13, label %do.end + +do.end: ; preds = %land.lhs.true, %if.end20 + %32 = load i8*, i8** %s, align 8 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %33, i32 0, i32 5 + store i8* %32, i8** %__bufpos, align 8 + %34 = load i8*, i8** %s, align 8 + %35 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart23 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %35, i32 0, i32 3 + %36 = load i8*, i8** %__bufstart23, align 8 + %sub.ptr.lhs.cast24 = ptrtoint i8* %34 to i64 + %sub.ptr.rhs.cast25 = ptrtoint i8* %36 to i64 + %sub.ptr.sub26 = sub i64 %sub.ptr.lhs.cast24, %sub.ptr.rhs.cast25 + %37 = load i64, i64* %todo, align 8 + %sub27 = sub i64 %37, %sub.ptr.sub26 + store i64 %sub27, i64* %todo, align 8 + br label %if.end28 + +if.end28: ; preds = %do.end, %if.else + %38 = load i64, i64* %bufsize.addr, align 8 + %39 = load i64, i64* %todo, align 8 + %sub29 = sub i64 %38, %39 + store i64 %sub29, i64* %retval, align 8 + br label %do.end32 + +do.end32: ; preds = %if.then, %if.end28 + %40 = load i64, i64* %retval, align 8 + ret i64 %40 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__freading(%struct.__STDIO_FILE_STRUCT.519* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.519*, align 8 + store %struct.__STDIO_FILE_STRUCT.519* %stream, %struct.__STDIO_FILE_STRUCT.519** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.519*, %struct.__STDIO_FILE_STRUCT.519** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.519, %struct.__STDIO_FILE_STRUCT.519* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 35 + ret i32 %and +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_rfill(%struct.__STDIO_FILE_STRUCT.568* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %rv = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %1, i32 0, i32 3 + %2 = load i8*, i8** %__bufstart, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 4 + %4 = load i8*, i8** %__bufend, align 8 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 3 + %6 = load i8*, i8** %__bufstart1, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %4 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %6 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %call = call i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.568* %0, i8* %2, i64 %sub.ptr.sub) #19 + store i64 %call, i64* %rv, align 8 + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %7, i32 0, i32 3 + %8 = load i8*, i8** %__bufstart2, align 8 + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %9, i32 0, i32 5 + store i8* %8, i8** %__bufpos, align 8 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart3 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 3 + %11 = load i8*, i8** %__bufstart3, align 8 + %12 = load i64, i64* %rv, align 8 + %add.ptr = getelementptr inbounds i8, i8* %11, i64 %12 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 6 + store i8* %add.ptr, i8** %__bufread, align 8 + %14 = load i64, i64* %rv, align 8 + ret i64 %14 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_trans2r_o(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %oflag) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %oflag.addr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %oflag, i32* %oflag.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %2 = load i32, i32* %oflag.addr, align 4 + %and = and i32 %conv, %2 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end9, label %if.then + +if.then: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 0 + %4 = load i16, i16* %__modeflags1, align 8 + %conv2 = zext i16 %4 to i32 + %and3 = and i32 %conv2, 2176 + %tobool4 = icmp ne i32 %and3, 0 + br i1 %tobool4, label %DO_EBADF, label %if.end + +if.end: ; preds = %if.then + %5 = load i32, i32* %oflag.addr, align 4 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 0 + %7 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %7 to i32 + %or = or i32 %conv7, %5 + %conv8 = trunc i32 %or to i16 + store i16 %conv8, i16* %__modeflags6, align 8 + br label %if.end9 + +if.end9: ; preds = %if.end, %entry + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags10, align 8 + %conv11 = zext i16 %9 to i32 + %and12 = and i32 %conv11, 16 + %tobool13 = icmp ne i32 %and12, 0 + br i1 %tobool13, label %DO_EBADF, label %if.end19 + +DO_EBADF: ; preds = %if.end9, %if.then + store i32 9, i32* @errno, align 4 + br label %ERROR + +ERROR: ; preds = %if.then24, %DO_EBADF + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags15 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 0 + %11 = load i16, i16* %__modeflags15, align 8 + %conv16 = zext i16 %11 to i32 + %or17 = or i32 %conv16, 8 + %conv18 = trunc i32 %or17 to i16 + store i16 %conv18, i16* %__modeflags15, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end19: ; preds = %if.end9 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags20 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags20, align 8 + %conv21 = zext i16 %13 to i32 + %and22 = and i32 %conv21, 64 + %tobool23 = icmp ne i32 %and22, 0 + br i1 %tobool23, label %if.then24, label %if.end32 + +if.then24: ; preds = %if.end19 + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %14) #19 + %tobool25 = icmp ne i64 %call, 0 + br i1 %tobool25, label %ERROR, label %if.end27 + +if.end27: ; preds = %if.then24 + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 3 + %16 = load i8*, i8** %__bufstart, align 8 + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 8 + store i8* %16, i8** %__bufputc_u, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags28 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 0 + %19 = load i16, i16* %__modeflags28, align 8 + %conv29 = zext i16 %19 to i32 + %and30 = and i32 %conv29, -65 + %conv31 = trunc i32 %and30 to i16 + store i16 %conv31, i16* %__modeflags28, align 8 + br label %if.end32 + +if.end32: ; preds = %if.end27, %if.end19 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags33 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 0 + %21 = load i16, i16* %__modeflags33, align 8 + %conv34 = zext i16 %21 to i32 + %or35 = or i32 %conv34, 1 + %conv36 = trunc i32 %or35 to i16 + store i16 %conv36, i16* %__modeflags33, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end32, %ERROR + %22 = load i32, i32* %retval, align 4 + ret i32 %22 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fclose(%struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %rv = alloca i32, align 4 + %ptr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 0, i32* %rv, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %0, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %1, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp = icmp eq %struct.__STDIO_FILE_STRUCT.568* %1, %2 + br i1 %cmp, label %if.then, label %while.cond + +if.then: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 9 + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %4, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + br label %if.end7 + +while.cond: ; preds = %entry, %if.end + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %5, null + br i1 %tobool, label %while.body, label %if.end7 + +while.body: ; preds = %while.cond + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 9 + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen1, align 8 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp2 = icmp eq %struct.__STDIO_FILE_STRUCT.568* %7, %8 + br i1 %cmp2, label %if.then3, label %if.end + +if.then3: ; preds = %while.body + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen4 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %9, i32 0, i32 9 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen4, align 8 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen5 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 9 + store %struct.__STDIO_FILE_STRUCT.568* %10, %struct.__STDIO_FILE_STRUCT.568** %__nextopen5, align 8 + br label %if.end7 + +if.end: ; preds = %while.body + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 9 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen6, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %13, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + br label %while.cond + +if.end7: ; preds = %while.cond, %if.then3, %if.then + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %14, i32 0, i32 0 + %15 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %15 to i32 + %and = and i32 %conv, 64 + %tobool8 = icmp ne i32 %and, 0 + br i1 %tobool8, label %if.then9, label %if.end10 + +if.then9: ; preds = %if.end7 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.568* %16) #19 + store i32 %call, i32* %rv, align 4 + br label %if.end10 + +if.end10: ; preds = %if.then9, %if.end7 + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 2 + %18 = load i32, i32* %__filedes, align 4 + %call11 = call i32 @close(i32 %18) #19 + %cmp12 = icmp slt i32 %call11, 0 + br i1 %cmp12, label %if.then14, label %if.end15 + +if.then14: ; preds = %if.end10 + store i32 -1, i32* %rv, align 4 + br label %if.end15 + +if.end15: ; preds = %if.then14, %if.end10 + %19 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes16 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %19, i32 0, i32 2 + store i32 -1, i32* %__filedes16, align 4 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 0 + %21 = load i16, i16* %__modeflags17, align 8 + %conv18 = zext i16 %21 to i32 + %and19 = and i32 %conv18, 24576 + %conv20 = trunc i32 %and19 to i16 + store i16 %conv20, i16* %__modeflags17, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags21 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 0 + %23 = load i16, i16* %__modeflags21, align 8 + %conv22 = zext i16 %23 to i32 + %or = or i32 %conv22, 48 + %conv23 = trunc i32 %or to i16 + store i16 %conv23, i16* %__modeflags21, align 8 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags24 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 0 + %25 = load i16, i16* %__modeflags24, align 8 + %conv25 = zext i16 %25 to i32 + %and26 = and i32 %conv25, 16384 + %tobool27 = icmp ne i32 %and26, 0 + br i1 %tobool27, label %if.then28, label %do.body30 + +if.then28: ; preds = %if.end15 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 3 + %27 = load i8*, i8** %__bufstart, align 8 + call void @free(i8* %27) #20 + br label %do.body30 + +do.body30: ; preds = %if.then28, %if.end15 + %28 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags31 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %28, i32 0, i32 0 + %29 = load i16, i16* %__modeflags31, align 8 + %conv32 = zext i16 %29 to i32 + %and33 = and i32 %conv32, 8192 + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %if.then35, label %do.end37 + +if.then35: ; preds = %do.body30 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %31 = bitcast %struct.__STDIO_FILE_STRUCT.568* %30 to i8* + call void @free(i8* %31) #20 + br label %do.end37 + +do.end37: ; preds = %do.body30, %if.then35 + %32 = load i32, i32* %rv, align 4 + ret i32 %32 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @feof_unlocked(%struct.__STDIO_FILE_STRUCT.590* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.590*, align 8 + store %struct.__STDIO_FILE_STRUCT.590* %stream, %struct.__STDIO_FILE_STRUCT.590** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.590*, %struct.__STDIO_FILE_STRUCT.590** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.590, %struct.__STDIO_FILE_STRUCT.590* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 4 + ret i32 %and +} + +; Function Attrs: noinline nounwind uwtable +define i32 @ferror_unlocked(%struct.__STDIO_FILE_STRUCT.592* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.592*, align 8 + store %struct.__STDIO_FILE_STRUCT.592* %stream, %struct.__STDIO_FILE_STRUCT.592** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.592*, %struct.__STDIO_FILE_STRUCT.592** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.592, %struct.__STDIO_FILE_STRUCT.592* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 8 + ret i32 %and +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %retval1 = alloca i32, align 4 + %bufmask = alloca i16, align 2 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 0, i32* %retval1, align 4 + store i16 256, i16* %bufmask, align 2 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp = icmp eq %struct.__STDIO_FILE_STRUCT.568* %0, bitcast (%struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist to %struct.__STDIO_FILE_STRUCT.568*) + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store %struct.__STDIO_FILE_STRUCT.568* null, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i16 0, i16* %bufmask, align 2 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %1, null + br i1 %tobool, label %if.else21, label %if.then2 + +if.then2: ; preds = %if.end + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %2, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end20, %if.then2 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %tobool3 = icmp ne %struct.__STDIO_FILE_STRUCT.568* %3, null + br i1 %tobool3, label %while.body, label %if.end39 + +while.body: ; preds = %while.cond + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 0 + %5 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %5 to i32 + %and = and i32 %conv, 64 + %tobool4 = icmp ne i32 %and, 0 + br i1 %tobool4, label %if.then5, label %if.end20 + +if.then5: ; preds = %while.body + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 0 + %7 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %7 to i32 + %8 = load i16, i16* %bufmask, align 2 + %conv8 = zext i16 %8 to i32 + %or = or i32 %conv7, %conv8 + %xor = xor i32 %or, 320 + %and9 = and i32 %xor, 832 + %tobool10 = icmp ne i32 %and9, 0 + br i1 %tobool10, label %if.end20, label %if.then11 + +if.then11: ; preds = %if.then5 + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %9) #19 + %tobool12 = icmp ne i64 %call, 0 + br i1 %tobool12, label %if.else, label %if.then13 + +if.then13: ; preds = %if.then11 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 3 + %11 = load i8*, i8** %__bufstart, align 8 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 8 + store i8* %11, i8** %__bufputc_u, align 8 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags14 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 0 + %14 = load i16, i16* %__modeflags14, align 8 + %conv15 = zext i16 %14 to i32 + %and16 = and i32 %conv15, -65 + %conv17 = trunc i32 %and16 to i16 + store i16 %conv17, i16* %__modeflags14, align 8 + br label %if.end20 + +if.else: ; preds = %if.then11 + store i32 -1, i32* %retval1, align 4 + br label %if.end20 + +if.end20: ; preds = %if.then5, %if.else, %if.then13, %while.body + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 9 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %16, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br label %while.cond + +if.else21: ; preds = %if.end + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags22 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 0 + %18 = load i16, i16* %__modeflags22, align 8 + %conv23 = zext i16 %18 to i32 + %and24 = and i32 %conv23, 64 + %tobool25 = icmp ne i32 %and24, 0 + br i1 %tobool25, label %if.then26, label %if.end39 + +if.then26: ; preds = %if.else21 + %19 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call27 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %19) #19 + %tobool28 = icmp ne i64 %call27, 0 + br i1 %tobool28, label %if.else36, label %if.then29 + +if.then29: ; preds = %if.then26 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart30 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 3 + %21 = load i8*, i8** %__bufstart30, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u31 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 8 + store i8* %21, i8** %__bufputc_u31, align 8 + %23 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags32 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %23, i32 0, i32 0 + %24 = load i16, i16* %__modeflags32, align 8 + %conv33 = zext i16 %24 to i32 + %and34 = and i32 %conv33, -65 + %conv35 = trunc i32 %and34 to i16 + store i16 %conv35, i16* %__modeflags32, align 8 + br label %if.end39 + +if.else36: ; preds = %if.then26 + store i32 -1, i32* %retval1, align 4 + br label %if.end39 + +if.end39: ; preds = %if.else21, %if.else36, %if.then29, %while.cond + %25 = load i32, i32* %retval1, align 4 + ret i32 %25 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fileno_unlocked(%struct.__STDIO_FILE_STRUCT.608* %stream) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.608*, align 8 + store %struct.__STDIO_FILE_STRUCT.608* %stream, %struct.__STDIO_FILE_STRUCT.608** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.608*, %struct.__STDIO_FILE_STRUCT.608** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.608, %struct.__STDIO_FILE_STRUCT.608* %0, i32 0, i32 2 + %1 = load i32, i32* %__filedes, align 4 + %cmp = icmp sge i32 %1, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.608*, %struct.__STDIO_FILE_STRUCT.608** %stream.addr, align 8 + %__filedes1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.608, %struct.__STDIO_FILE_STRUCT.608* %2, i32 0, i32 2 + %3 = load i32, i32* %__filedes1, align 4 + store i32 %3, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + store i32 9, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.__STDIO_FILE_STRUCT.612* @fopen(i8* noalias %filename, i8* noalias %mode) #0 { +entry: + %filename.addr = alloca i8*, align 8 + %mode.addr = alloca i8*, align 8 + store i8* %filename, i8** %filename.addr, align 8 + store i8* %mode, i8** %mode.addr, align 8 + %0 = load i8*, i8** %filename.addr, align 8 + %1 = ptrtoint i8* %0 to i64 + %2 = load i8*, i8** %mode.addr, align 8 + %call = call %struct.__STDIO_FILE_STRUCT.612* bitcast (%struct.__STDIO_FILE_STRUCT.568* (i64, i8*, %struct.__STDIO_FILE_STRUCT.568*, i32)* @_stdio_fopen to %struct.__STDIO_FILE_STRUCT.612* (i64, i8*, %struct.__STDIO_FILE_STRUCT.612*, i32)*)(i64 %1, i8* %2, %struct.__STDIO_FILE_STRUCT.612* null, i32 -1) #19 + ret %struct.__STDIO_FILE_STRUCT.612* %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fprintf(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i8* noalias %format, ...) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %format.addr = alloca i8*, align 8 + %arg = alloca [1 x %struct.__va_list_tag.0], align 16 + %rv = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdout, align 8 + %cmp = icmp eq %struct.__STDIO_FILE_STRUCT.568* %0, %1 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %cmp2 = icmp eq %struct.__STDIO_FILE_STRUCT.568* %2, %3 + br i1 %cmp2, label %if.then, label %if.else + +if.then: ; preds = %lor.lhs.false, %entry + %4 = load i8*, i8** %format.addr, align 8 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %call = call i32 @vprintf(i8* %4, %struct.__va_list_tag.0* %arraydecay3) #19 + store i32 %call, i32* %rv, align 4 + br label %if.end + +if.else: ; preds = %lor.lhs.false + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %6 = load i8*, i8** %format.addr, align 8 + %arraydecay4 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %call5 = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %5, i8* %6, %struct.__va_list_tag.0* %arraydecay4) #19 + store i32 %call5, i32* %rv, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %arraydecay6 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay67 = bitcast %struct.__va_list_tag.0* %arraydecay6 to i8* + call void @llvm.va_end(i8* %arraydecay67) + %7 = load i32, i32* %rv, align 4 + ret i32 %7 +} + +declare i32 @vprintf(i8*, %struct.__va_list_tag.0*) #18 + +; Function Attrs: noinline nounwind uwtable +define i32 @__fputc_unlocked(i32 %c, %struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %retval = alloca i32, align 4 + %c.addr = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %uc = alloca i8, align 1 + store i32 %c, i32* %c.addr, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 5 + %1 = load i8*, i8** %__bufpos, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 8 + %3 = load i8*, i8** %__bufputc_u, align 8 + %cmp = icmp ult i8* %1, %3 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %4 = load i32, i32* %c.addr, align 4 + %conv = trunc i32 %4 to i8 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 5 + %6 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + store i8 %conv, i8* %6, align 1 + %7 = load i32, i32* %c.addr, align 4 + %conv2 = trunc i32 %7 to i8 + %conv3 = zext i8 %conv2 to i32 + store i32 %conv3, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags, align 8 + %conv4 = zext i16 %9 to i32 + %and = and i32 %conv4, 192 + %cmp5 = icmp eq i32 %and, 192 + br i1 %cmp5, label %if.then7, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* %10, i32 128) #19 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %BAD, label %if.then7 + +if.then7: ; preds = %lor.lhs.false, %if.end + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 2 + %12 = load i32, i32* %__filedes, align 4 + %cmp8 = icmp eq i32 %12, -2 + br i1 %cmp8, label %if.then10, label %if.end13 + +if.then10: ; preds = %if.then7 + %13 = load i32, i32* %c.addr, align 4 + %conv11 = trunc i32 %13 to i8 + %conv12 = zext i8 %conv11 to i32 + store i32 %conv12, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.then7 + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %14, i32 0, i32 4 + %15 = load i8*, i8** %__bufend, align 8 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %16, i32 0, i32 3 + %17 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %15 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %17 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool14 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %tobool14, label %if.then15, label %if.else + +if.then15: ; preds = %if.end13 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend16 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 4 + %19 = load i8*, i8** %__bufend16, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 5 + %21 = load i8*, i8** %__bufpos17, align 8 + %sub.ptr.lhs.cast18 = ptrtoint i8* %19 to i64 + %sub.ptr.rhs.cast19 = ptrtoint i8* %21 to i64 + %sub.ptr.sub20 = sub i64 %sub.ptr.lhs.cast18, %sub.ptr.rhs.cast19 + %tobool21 = icmp ne i64 %sub.ptr.sub20, 0 + br i1 %tobool21, label %if.end25, label %land.lhs.true + +land.lhs.true: ; preds = %if.then15 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call22 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %22) #19 + %tobool23 = icmp ne i64 %call22, 0 + br i1 %tobool23, label %BAD, label %if.end25 + +if.end25: ; preds = %land.lhs.true, %if.then15 + %23 = load i32, i32* %c.addr, align 4 + %conv26 = trunc i32 %23 to i8 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos27 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 5 + %25 = load i8*, i8** %__bufpos27, align 8 + %incdec.ptr28 = getelementptr inbounds i8, i8* %25, i32 1 + store i8* %incdec.ptr28, i8** %__bufpos27, align 8 + store i8 %conv26, i8* %25, align 1 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags29 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 0 + %27 = load i16, i16* %__modeflags29, align 8 + %conv30 = zext i16 %27 to i32 + %and31 = and i32 %conv30, 256 + %tobool32 = icmp ne i32 %and31, 0 + br i1 %tobool32, label %if.then33, label %if.end51 + +if.then33: ; preds = %if.end25 + %28 = load i32, i32* %c.addr, align 4 + %conv34 = trunc i32 %28 to i8 + %conv35 = zext i8 %conv34 to i32 + %cmp36 = icmp eq i32 %conv35, 10 + br i1 %cmp36, label %land.lhs.true38, label %if.end51 + +land.lhs.true38: ; preds = %if.then33 + %29 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call39 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %29) #19 + %tobool40 = icmp ne i64 %call39, 0 + br i1 %tobool40, label %if.then41, label %if.end51 + +if.then41: ; preds = %land.lhs.true38 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos42 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %30, i32 0, i32 5 + %31 = load i8*, i8** %__bufpos42, align 8 + %incdec.ptr43 = getelementptr inbounds i8, i8* %31, i32 -1 + store i8* %incdec.ptr43, i8** %__bufpos42, align 8 + br label %BAD + +if.else: ; preds = %if.end13 + %32 = load i32, i32* %c.addr, align 4 + %conv46 = trunc i32 %32 to i8 + store i8 %conv46, i8* %uc, align 1 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call47 = call i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %33, i8* %uc, i64 1) #19 + %tobool48 = icmp ne i64 %call47, 0 + br i1 %tobool48, label %if.end51, label %BAD + +if.end51: ; preds = %if.else, %if.end25, %land.lhs.true38, %if.then33 + %34 = load i32, i32* %c.addr, align 4 + %conv52 = trunc i32 %34 to i8 + %conv53 = zext i8 %conv52 to i32 + store i32 %conv53, i32* %retval, align 4 + br label %return + +BAD: ; preds = %lor.lhs.false, %if.else, %land.lhs.true, %if.then41 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %BAD, %if.end51, %if.then10, %if.then + %35 = load i32, i32* %retval, align 4 + ret i32 %35 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fputs_unlocked(i8* noalias %s, %struct.__STDIO_FILE_STRUCT.621* noalias %stream) #0 { +entry: + %s.addr = alloca i8*, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.621*, align 8 + %n = alloca i64, align 8 + store i8* %s, i8** %s.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.621* %stream, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %call = call i64 @strlen(i8* %0) #21 + store i64 %call, i64* %n, align 8 + %1 = load i8*, i8** %s.addr, align 8 + %2 = load i64, i64* %n, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %call1 = call i64 bitcast (i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*)* @fwrite_unlocked to i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.621*)*)(i8* %1, i64 1, i64 %2, %struct.__STDIO_FILE_STRUCT.621* %3) #19 + %4 = load i64, i64* %n, align 8 + %cmp = icmp eq i64 %call1, %4 + %5 = load i64, i64* %n, align 8 + %cond = select i1 %cmp, i64 %5, i64 -1 + %conv = trunc i64 %cond to i32 + ret i32 %conv +} + +; Function Attrs: noinline nounwind uwtable +define i64 @fread_unlocked(i8* noalias %ptr, i64 %size, i64 %nmemb, %struct.__STDIO_FILE_STRUCT.568* noalias %stream) #0 { +entry: + %retval = alloca i64, align 8 + %ptr.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %nmemb.addr = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %buffer = alloca i8*, align 8 + %todo = alloca i64, align 8 + %bytes = alloca i64, align 8 + %avail = alloca i64, align 8 + store i8* %ptr, i8** %ptr.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + store i64 %nmemb, i64* %nmemb.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 131 + %cmp = icmp ugt i32 %and, 128 + br i1 %cmp, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2r_o(%struct.__STDIO_FILE_STRUCT.568* %2, i32 128) #19 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end60, label %land.lhs.true + +land.lhs.true: ; preds = %lor.lhs.false, %entry + %3 = load i64, i64* %size.addr, align 8 + %tobool2 = icmp ne i64 %3, 0 + %4 = load i64, i64* %nmemb.addr, align 8 + %tobool4 = icmp ne i64 %4, 0 + %or.cond = and i1 %tobool2, %tobool4 + br i1 %or.cond, label %if.then, label %if.end60 + +if.then: ; preds = %land.lhs.true + %5 = load i64, i64* %nmemb.addr, align 8 + %6 = load i64, i64* %size.addr, align 8 + %div = udiv i64 -1, %6 + %cmp5 = icmp ule i64 %5, %div + br i1 %cmp5, label %if.then7, label %if.end56 + +if.then7: ; preds = %if.then + %7 = load i8*, i8** %ptr.addr, align 8 + store i8* %7, i8** %buffer, align 8 + %8 = load i64, i64* %size.addr, align 8 + %9 = load i64, i64* %nmemb.addr, align 8 + %mul = mul i64 %8, %9 + store i64 %mul, i64* %bytes, align 8 + store i64 %mul, i64* %todo, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.then7 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags8 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 0 + %11 = load i16, i16* %__modeflags8, align 8 + %conv9 = zext i16 %11 to i32 + %and10 = and i32 %conv9, 2 + %tobool11 = icmp ne i32 %and10, 0 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %tobool11, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %__ungot = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 10 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags12 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 0 + %14 = load i16, i16* %__modeflags12, align 8 + %dec = add i16 %14, -1 + store i16 %dec, i16* %__modeflags12, align 8 + %conv13 = zext i16 %14 to i32 + %and14 = and i32 %conv13, 1 + %idxprom = sext i32 %and14 to i64 + %arrayidx = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot, i64 0, i64 %idxprom + %15 = load i32, i32* %arrayidx, align 4 + %conv15 = trunc i32 %15 to i8 + %16 = load i8*, i8** %buffer, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %16, i32 1 + store i8* %incdec.ptr, i8** %buffer, align 8 + store i8 %conv15, i8* %16, align 1 + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__ungot16 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 10 + %arrayidx17 = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot16, i64 0, i64 1 + store i32 0, i32* %arrayidx17, align 4 + %18 = load i64, i64* %todo, align 8 + %dec18 = add i64 %18, -1 + store i64 %dec18, i64* %todo, align 8 + %tobool19 = icmp ne i64 %dec18, 0 + br i1 %tobool19, label %while.cond, label %DONE + +while.end: ; preds = %while.cond + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 6 + %19 = load i8*, i8** %__bufread, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 5 + %21 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %21 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %avail, align 8 + %cmp21 = icmp ugt i64 %sub.ptr.sub, 0 + br i1 %cmp21, label %if.then23, label %if.end35 + +if.then23: ; preds = %while.end + %22 = load i64, i64* %avail, align 8 + %23 = load i64, i64* %todo, align 8 + %cmp24 = icmp ugt i64 %22, %23 + br i1 %cmp24, label %if.then26, label %if.end27 + +if.then26: ; preds = %if.then23 + %24 = load i64, i64* %todo, align 8 + store i64 %24, i64* %avail, align 8 + br label %if.end27 + +if.end27: ; preds = %if.then26, %if.then23 + %25 = load i8*, i8** %buffer, align 8 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos28 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 5 + %27 = load i8*, i8** %__bufpos28, align 8 + %28 = load i64, i64* %avail, align 8 + %call29 = call i8* @memcpy(i8* %25, i8* %27, i64 %28) #20 + %29 = load i64, i64* %avail, align 8 + %30 = load i8*, i8** %buffer, align 8 + %add.ptr = getelementptr inbounds i8, i8* %30, i64 %29 + store i8* %add.ptr, i8** %buffer, align 8 + %31 = load i64, i64* %avail, align 8 + %32 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos30 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %32, i32 0, i32 5 + %33 = load i8*, i8** %__bufpos30, align 8 + %add.ptr31 = getelementptr inbounds i8, i8* %33, i64 %31 + store i8* %add.ptr31, i8** %__bufpos30, align 8 + %34 = load i64, i64* %avail, align 8 + %35 = load i64, i64* %todo, align 8 + %sub = sub i64 %35, %34 + store i64 %sub, i64* %todo, align 8 + %tobool32 = icmp ne i64 %sub, 0 + br i1 %tobool32, label %if.end35, label %DONE + +if.end35: ; preds = %if.end27, %while.end + %36 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags36 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %36, i32 0, i32 0 + %37 = load i16, i16* %__modeflags36, align 8 + %conv37 = zext i16 %37 to i32 + %and38 = and i32 %conv37, 768 + %tobool39 = icmp ne i32 %and38, 0 + br i1 %tobool39, label %if.then40, label %if.end42 + +if.then40: ; preds = %if.end35 + %call41 = call i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.568* bitcast (%struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist to %struct.__STDIO_FILE_STRUCT.568*)) #19 + br label %if.end42 + +if.end42: ; preds = %if.then40, %if.end35 + br label %while.cond43 + +while.cond43: ; preds = %while.body47, %if.end42 + %38 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %39 = load i8*, i8** %buffer, align 8 + %40 = load i64, i64* %todo, align 8 + %call44 = call i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.568* %38, i8* %39, i64 %40) #19 + store i64 %call44, i64* %avail, align 8 + %cmp45 = icmp ugt i64 %call44, 0 + br i1 %cmp45, label %while.body47, label %DONE + +while.body47: ; preds = %while.cond43 + %41 = load i64, i64* %avail, align 8 + %42 = load i8*, i8** %buffer, align 8 + %add.ptr48 = getelementptr inbounds i8, i8* %42, i64 %41 + store i8* %add.ptr48, i8** %buffer, align 8 + %43 = load i64, i64* %avail, align 8 + %44 = load i64, i64* %todo, align 8 + %sub49 = sub i64 %44, %43 + store i64 %sub49, i64* %todo, align 8 + %tobool50 = icmp ne i64 %sub49, 0 + br i1 %tobool50, label %while.cond43, label %DONE + +DONE: ; preds = %while.cond43, %while.body47, %if.end27, %while.body + %45 = load i64, i64* %bytes, align 8 + %46 = load i64, i64* %todo, align 8 + %sub54 = sub i64 %45, %46 + %47 = load i64, i64* %size.addr, align 8 + %div55 = udiv i64 %sub54, %47 + store i64 %div55, i64* %retval, align 8 + br label %return + +if.end56: ; preds = %if.then + %48 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags57 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %48, i32 0, i32 0 + %49 = load i16, i16* %__modeflags57, align 8 + %conv58 = zext i16 %49 to i32 + %or = or i32 %conv58, 8 + %conv59 = trunc i32 %or to i16 + store i16 %conv59, i16* %__modeflags57, align 8 + store i32 22, i32* @errno, align 4 + br label %if.end60 + +if.end60: ; preds = %if.end56, %land.lhs.true, %lor.lhs.false + store i64 0, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end60, %DONE + %50 = load i64, i64* %retval, align 8 + ret i64 %50 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fseek(%struct.__STDIO_FILE_STRUCT.636* %stream, i64 %offset, i32 %whence) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %1 = load i64, i64* %offset.addr, align 8 + %2 = load i32, i32* %whence.addr, align 4 + %call = call i32 @fseeko64(%struct.__STDIO_FILE_STRUCT.636* %0, i64 %1, i32 %2) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i64 @fwrite_unlocked(i8* noalias %ptr, i64 %size, i64 %nmemb, %struct.__STDIO_FILE_STRUCT.568* noalias %stream) #0 { +entry: + %retval = alloca i64, align 8 + %ptr.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %nmemb.addr = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + store i8* %ptr, i8** %ptr.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + store i64 %nmemb, i64* %nmemb.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 192 + %cmp = icmp eq i32 %and, 192 + br i1 %cmp, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* %2, i32 128) #19 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end13, label %land.lhs.true + +land.lhs.true: ; preds = %lor.lhs.false, %entry + %3 = load i64, i64* %size.addr, align 8 + %tobool2 = icmp ne i64 %3, 0 + %4 = load i64, i64* %nmemb.addr, align 8 + %tobool4 = icmp ne i64 %4, 0 + %or.cond = and i1 %tobool2, %tobool4 + br i1 %or.cond, label %if.then, label %if.end13 + +if.then: ; preds = %land.lhs.true + %5 = load i64, i64* %nmemb.addr, align 8 + %6 = load i64, i64* %size.addr, align 8 + %div = udiv i64 -1, %6 + %cmp5 = icmp ule i64 %5, %div + br i1 %cmp5, label %if.then7, label %if.end + +if.then7: ; preds = %if.then + %7 = load i8*, i8** %ptr.addr, align 8 + %8 = load i64, i64* %size.addr, align 8 + %9 = load i64, i64* %nmemb.addr, align 8 + %mul = mul i64 %8, %9 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call8 = call i64 @__stdio_fwrite(i8* %7, i64 %mul, %struct.__STDIO_FILE_STRUCT.568* %10) #19 + %11 = load i64, i64* %size.addr, align 8 + %div9 = udiv i64 %call8, %11 + store i64 %div9, i64* %retval, align 8 + br label %return + +if.end: ; preds = %if.then + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags10, align 8 + %conv11 = zext i16 %13 to i32 + %or = or i32 %conv11, 8 + %conv12 = trunc i32 %or to i16 + store i16 %conv12, i16* %__modeflags10, align 8 + store i32 22, i32* @errno, align 4 + br label %if.end13 + +if.end13: ; preds = %if.end, %land.lhs.true, %lor.lhs.false + store i64 0, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end13, %if.then7 + %14 = load i64, i64* %retval, align 8 + ret i64 %14 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @vsnprintf(i8* noalias %buf, i64 %size, i8* noalias %format, %struct.__va_list_tag.0* %arg) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %format.addr = alloca i8*, align 8 + %arg.addr = alloca %struct.__va_list_tag.0*, align 8 + %f = alloca %struct.__STDIO_FILE_STRUCT.568, align 8 + %rv = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + store %struct.__va_list_tag.0* %arg, %struct.__va_list_tag.0** %arg.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 2 + store i32 -2, i32* %__filedes, align 4 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 0 + store i16 208, i16* %__modeflags, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 1 + %arrayidx = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 0 + store i8 0, i8* %arrayidx, align 2 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + store i32 0, i32* %__mask, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 9 + store %struct.__STDIO_FILE_STRUCT.568* null, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + %0 = load i64, i64* %size.addr, align 8 + %1 = load i8*, i8** %buf.addr, align 8 + %2 = ptrtoint i8* %1 to i64 + %sub = sub i64 -1, %2 + %cmp = icmp ugt i64 %0, %sub + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %3 = load i8*, i8** %buf.addr, align 8 + %4 = ptrtoint i8* %3 to i64 + %sub1 = sub i64 -1, %4 + store i64 %sub1, i64* %size.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %5 = load i8*, i8** %buf.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 3 + store i8* %5, i8** %__bufstart, align 8 + %6 = load i8*, i8** %buf.addr, align 8 + %7 = load i64, i64* %size.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %6, i64 %7 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 4 + store i8* %add.ptr, i8** %__bufend, align 8 + %__bufstart2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 3 + %8 = load i8*, i8** %__bufstart2, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + store i8* %8, i8** %__bufpos, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 6 + store i8* %8, i8** %__bufread, align 8 + %__bufstart3 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 3 + %9 = load i8*, i8** %__bufstart3, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 7 + store i8* %9, i8** %__bufgetc_u, align 8 + %__bufend4 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 4 + %10 = load i8*, i8** %__bufend4, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 8 + store i8* %10, i8** %__bufputc_u, align 8 + %11 = load i8*, i8** %format.addr, align 8 + %12 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %arg.addr, align 8 + %call = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %f, i8* %11, %struct.__va_list_tag.0* %12) #19 + store i32 %call, i32* %rv, align 4 + %13 = load i64, i64* %size.addr, align 8 + %tobool = icmp ne i64 %13, 0 + br i1 %tobool, label %if.then5, label %if.end13 + +if.then5: ; preds = %if.end + %__bufpos6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + %14 = load i8*, i8** %__bufpos6, align 8 + %__bufend7 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 4 + %15 = load i8*, i8** %__bufend7, align 8 + %cmp8 = icmp eq i8* %14, %15 + br i1 %cmp8, label %if.then9, label %if.end11 + +if.then9: ; preds = %if.then5 + %__bufpos10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + %16 = load i8*, i8** %__bufpos10, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %16, i32 -1 + store i8* %incdec.ptr, i8** %__bufpos10, align 8 + br label %if.end11 + +if.end11: ; preds = %if.then9, %if.then5 + %__bufpos12 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + %17 = load i8*, i8** %__bufpos12, align 8 + store i8 0, i8* %17, align 1 + br label %if.end13 + +if.end13: ; preds = %if.end11, %if.end + %18 = load i32, i32* %rv, align 4 + ret i32 %18 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @atexit(void ()* nonnull %func) #0 { +entry: + %func.addr = alloca void ()*, align 8 + store void ()* %func, void ()** %func.addr, align 8 + %0 = load void ()*, void ()** %func.addr, align 8 + %1 = bitcast void ()* %0 to void (i8*)* + br i1 icmp eq (i8** @__dso_handle, i8** null), label %cond.end, label %cond.false + +cond.false: ; preds = %entry + %2 = load i8*, i8** @__dso_handle, align 8 + br label %cond.end + +cond.end: ; preds = %entry, %cond.false + %cond = phi i8* [ %2, %cond.false ], [ null, %entry ] + %call = call i32 @__cxa_atexit(void (i8*)* %1, i8* null, i8* %cond) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i8* @realpath(i8* %path, i8* nonnull %got_path) #0 { +entry: + %retval = alloca i8*, align 8 + %path.addr = alloca i8*, align 8 + %got_path.addr = alloca i8*, align 8 + %copy_path = alloca [4096 x i8], align 16 + %max_path = alloca i8*, align 8 + %new_path = alloca i8*, align 8 + %path_len = alloca i64, align 8 + %readlinks = alloca i32, align 4 + %link_len = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store i8* %got_path, i8** %got_path.addr, align 8 + store i32 0, i32* %readlinks, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %cmp = icmp eq i8* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 22, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %path.addr, align 8 + %2 = load i8, i8* %1, align 1 + %conv = sext i8 %2 to i32 + %cmp1 = icmp eq i32 %conv, 0 + br i1 %cmp1, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.end + store i32 2, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %if.end + %3 = load i8*, i8** %path.addr, align 8 + %call = call i64 @strlen(i8* %3) #21 + store i64 %call, i64* %path_len, align 8 + %4 = load i64, i64* %path_len, align 8 + %cmp5 = icmp uge i64 %4, 4094 + br i1 %cmp5, label %if.then7, label %if.end8 + +if.then7: ; preds = %if.end4 + store i32 36, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end8: ; preds = %if.end4 + %arraydecay = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 4095 + %5 = load i64, i64* %path_len, align 8 + %idx.neg = sub i64 0, %5 + %add.ptr9 = getelementptr inbounds i8, i8* %add.ptr, i64 %idx.neg + %6 = load i8*, i8** %path.addr, align 8 + %call10 = call i8* @strcpy(i8* %add.ptr9, i8* %6) #20 + %arraydecay11 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr12 = getelementptr inbounds i8, i8* %arraydecay11, i64 4095 + %7 = load i64, i64* %path_len, align 8 + %idx.neg13 = sub i64 0, %7 + %add.ptr14 = getelementptr inbounds i8, i8* %add.ptr12, i64 %idx.neg13 + store i8* %add.ptr14, i8** %path.addr, align 8 + %8 = load i8*, i8** %got_path.addr, align 8 + %add.ptr15 = getelementptr inbounds i8, i8* %8, i64 4096 + %add.ptr16 = getelementptr inbounds i8, i8* %add.ptr15, i64 -2 + store i8* %add.ptr16, i8** %max_path, align 8 + %9 = load i8*, i8** %got_path.addr, align 8 + store i8* %9, i8** %new_path, align 8 + %10 = load i8*, i8** %path.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv17 = sext i8 %11 to i32 + %cmp18 = icmp ne i32 %conv17, 47 + %12 = load i8*, i8** %new_path, align 8 + br i1 %cmp18, label %if.then20, label %if.else + +if.then20: ; preds = %if.end8 + %call21 = call i8* @getcwd(i8* %12, i64 4095) #20 + %tobool = icmp ne i8* %call21, null + br i1 %tobool, label %if.end23, label %if.then22 + +if.then22: ; preds = %if.then20 + store i8* null, i8** %retval, align 8 + br label %return + +if.end23: ; preds = %if.then20 + %13 = load i8*, i8** %new_path, align 8 + %call24 = call i64 @strlen(i8* %13) #21 + %14 = load i8*, i8** %new_path, align 8 + %add.ptr25 = getelementptr inbounds i8, i8* %14, i64 %call24 + store i8* %add.ptr25, i8** %new_path, align 8 + %15 = load i8*, i8** %new_path, align 8 + %arrayidx = getelementptr inbounds i8, i8* %15, i64 -1 + %16 = load i8, i8* %arrayidx, align 1 + %conv26 = sext i8 %16 to i32 + %cmp27 = icmp ne i32 %conv26, 47 + br i1 %cmp27, label %if.then29, label %if.end33 + +if.then29: ; preds = %if.end23 + %17 = load i8*, i8** %new_path, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %17, i32 1 + store i8* %incdec.ptr, i8** %new_path, align 8 + store i8 47, i8* %17, align 1 + br label %if.end33 + +if.else: ; preds = %if.end8 + %incdec.ptr31 = getelementptr inbounds i8, i8* %12, i32 1 + store i8* %incdec.ptr31, i8** %new_path, align 8 + store i8 47, i8* %12, align 1 + %18 = load i8*, i8** %path.addr, align 8 + %incdec.ptr32 = getelementptr inbounds i8, i8* %18, i32 1 + store i8* %incdec.ptr32, i8** %path.addr, align 8 + br label %if.end33 + +if.end33: ; preds = %if.end23, %if.then29, %if.else + br label %while.cond + +while.cond: ; preds = %while.cond79, %if.then72, %if.end155, %if.then55, %if.then40, %if.end33 + %19 = load i8*, i8** %path.addr, align 8 + %20 = load i8, i8* %19, align 1 + %conv34 = sext i8 %20 to i32 + %cmp35 = icmp ne i32 %conv34, 0 + br i1 %cmp35, label %while.body, label %while.end157 + +while.body: ; preds = %while.cond + %21 = load i8*, i8** %path.addr, align 8 + %22 = load i8, i8* %21, align 1 + %conv37 = sext i8 %22 to i32 + %cmp38 = icmp eq i32 %conv37, 47 + %23 = load i8*, i8** %path.addr, align 8 + br i1 %cmp38, label %if.then40, label %if.end42 + +if.then40: ; preds = %while.body + %incdec.ptr41 = getelementptr inbounds i8, i8* %23, i32 1 + store i8* %incdec.ptr41, i8** %path.addr, align 8 + br label %while.cond + +if.end42: ; preds = %while.body + %24 = load i8, i8* %23, align 1 + %conv43 = sext i8 %24 to i32 + %cmp44 = icmp eq i32 %conv43, 46 + br i1 %cmp44, label %if.then46, label %if.end88 + +if.then46: ; preds = %if.end42 + %25 = load i8*, i8** %path.addr, align 8 + %arrayidx47 = getelementptr inbounds i8, i8* %25, i64 1 + %26 = load i8, i8* %arrayidx47, align 1 + %conv48 = sext i8 %26 to i32 + %cmp49 = icmp eq i32 %conv48, 0 + br i1 %cmp49, label %if.then55, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then46 + %27 = load i8*, i8** %path.addr, align 8 + %arrayidx51 = getelementptr inbounds i8, i8* %27, i64 1 + %28 = load i8, i8* %arrayidx51, align 1 + %conv52 = sext i8 %28 to i32 + %cmp53 = icmp eq i32 %conv52, 47 + br i1 %cmp53, label %if.then55, label %if.end57 + +if.then55: ; preds = %lor.lhs.false, %if.then46 + %29 = load i8*, i8** %path.addr, align 8 + %incdec.ptr56 = getelementptr inbounds i8, i8* %29, i32 1 + store i8* %incdec.ptr56, i8** %path.addr, align 8 + br label %while.cond + +if.end57: ; preds = %lor.lhs.false + %30 = load i8*, i8** %path.addr, align 8 + %arrayidx58 = getelementptr inbounds i8, i8* %30, i64 1 + %31 = load i8, i8* %arrayidx58, align 1 + %conv59 = sext i8 %31 to i32 + %cmp60 = icmp eq i32 %conv59, 46 + br i1 %cmp60, label %if.then62, label %if.end88 + +if.then62: ; preds = %if.end57 + %32 = load i8*, i8** %path.addr, align 8 + %arrayidx63 = getelementptr inbounds i8, i8* %32, i64 2 + %33 = load i8, i8* %arrayidx63, align 1 + %conv64 = sext i8 %33 to i32 + %cmp65 = icmp eq i32 %conv64, 0 + br i1 %cmp65, label %if.then72, label %lor.lhs.false67 + +lor.lhs.false67: ; preds = %if.then62 + %34 = load i8*, i8** %path.addr, align 8 + %arrayidx68 = getelementptr inbounds i8, i8* %34, i64 2 + %35 = load i8, i8* %arrayidx68, align 1 + %conv69 = sext i8 %35 to i32 + %cmp70 = icmp eq i32 %conv69, 47 + br i1 %cmp70, label %if.then72, label %if.end88 + +if.then72: ; preds = %lor.lhs.false67, %if.then62 + %36 = load i8*, i8** %path.addr, align 8 + %add.ptr73 = getelementptr inbounds i8, i8* %36, i64 2 + store i8* %add.ptr73, i8** %path.addr, align 8 + %37 = load i8*, i8** %new_path, align 8 + %38 = load i8*, i8** %got_path.addr, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %38, i64 1 + %cmp75 = icmp eq i8* %37, %add.ptr74 + br i1 %cmp75, label %while.cond, label %while.cond79 + +while.cond79: ; preds = %while.cond79, %if.then72 + %39 = load i8*, i8** %new_path, align 8 + %incdec.ptr80 = getelementptr inbounds i8, i8* %39, i32 -1 + store i8* %incdec.ptr80, i8** %new_path, align 8 + %arrayidx81 = getelementptr inbounds i8, i8* %incdec.ptr80, i64 -1 + %40 = load i8, i8* %arrayidx81, align 1 + %conv82 = sext i8 %40 to i32 + %cmp83 = icmp ne i32 %conv82, 47 + br i1 %cmp83, label %while.cond79, label %while.cond + +if.end88: ; preds = %if.end57, %lor.lhs.false67, %if.end42 + br label %while.cond89 + +while.cond89: ; preds = %if.end100, %if.end88 + %41 = load i8*, i8** %path.addr, align 8 + %42 = load i8, i8* %41, align 1 + %conv90 = sext i8 %42 to i32 + %cmp91 = icmp ne i32 %conv90, 0 + br i1 %cmp91, label %land.rhs, label %while.end103 + +land.rhs: ; preds = %while.cond89 + %43 = load i8*, i8** %path.addr, align 8 + %44 = load i8, i8* %43, align 1 + %conv93 = sext i8 %44 to i32 + %cmp94 = icmp ne i32 %conv93, 47 + br i1 %cmp94, label %while.body96, label %while.end103 + +while.body96: ; preds = %land.rhs + %45 = load i8*, i8** %new_path, align 8 + %46 = load i8*, i8** %max_path, align 8 + %cmp97 = icmp ugt i8* %45, %46 + br i1 %cmp97, label %if.then99, label %if.end100 + +if.then99: ; preds = %while.body96 + store i32 36, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end100: ; preds = %while.body96 + %47 = load i8*, i8** %path.addr, align 8 + %incdec.ptr101 = getelementptr inbounds i8, i8* %47, i32 1 + store i8* %incdec.ptr101, i8** %path.addr, align 8 + %48 = load i8, i8* %47, align 1 + %49 = load i8*, i8** %new_path, align 8 + %incdec.ptr102 = getelementptr inbounds i8, i8* %49, i32 1 + store i8* %incdec.ptr102, i8** %new_path, align 8 + store i8 %48, i8* %49, align 1 + br label %while.cond89 + +while.end103: ; preds = %while.cond89, %land.rhs + %50 = load i32, i32* %readlinks, align 4 + %inc = add nsw i32 %50, 1 + store i32 %inc, i32* %readlinks, align 4 + %cmp104 = icmp sgt i32 %50, 32 + br i1 %cmp104, label %if.then106, label %if.end107 + +if.then106: ; preds = %while.end103 + store i32 40, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end107: ; preds = %while.end103 + %51 = load i8*, i8** %path.addr, align 8 + %call108 = call i64 @strlen(i8* %51) #21 + store i64 %call108, i64* %path_len, align 8 + %52 = load i8*, i8** %new_path, align 8 + store i8 0, i8* %52, align 1 + %53 = load i8*, i8** %got_path.addr, align 8 + %arraydecay109 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %call110 = call i64 @readlink(i8* %53, i8* %arraydecay109, i64 4095) #20 + %conv111 = trunc i64 %call110 to i32 + store i32 %conv111, i32* %link_len, align 4 + %54 = load i32, i32* %link_len, align 4 + %cmp112 = icmp slt i32 %54, 0 + br i1 %cmp112, label %if.then114, label %if.else119 + +if.then114: ; preds = %if.end107 + %55 = load i32, i32* @errno, align 4 + %cmp115 = icmp ne i32 %55, 22 + br i1 %cmp115, label %if.then117, label %if.end155 + +if.then117: ; preds = %if.then114 + store i8* null, i8** %retval, align 8 + br label %return + +if.else119: ; preds = %if.end107 + %56 = load i64, i64* %path_len, align 8 + %57 = load i32, i32* %link_len, align 4 + %conv120 = sext i32 %57 to i64 + %add = add i64 %56, %conv120 + %cmp121 = icmp uge i64 %add, 4094 + br i1 %cmp121, label %if.then123, label %if.end124 + +if.then123: ; preds = %if.else119 + store i32 36, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end124: ; preds = %if.else119 + %arraydecay125 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %58 = load i8, i8* %arraydecay125, align 16 + %conv126 = sext i8 %58 to i32 + %cmp127 = icmp eq i32 %conv126, 47 + br i1 %cmp127, label %if.then129, label %while.cond131 + +if.then129: ; preds = %if.end124 + %59 = load i8*, i8** %got_path.addr, align 8 + store i8* %59, i8** %new_path, align 8 + br label %if.end138 + +while.cond131: ; preds = %while.cond131, %if.end124 + %60 = load i8*, i8** %new_path, align 8 + %incdec.ptr132 = getelementptr inbounds i8, i8* %60, i32 -1 + store i8* %incdec.ptr132, i8** %new_path, align 8 + %61 = load i8, i8* %incdec.ptr132, align 1 + %conv133 = sext i8 %61 to i32 + %cmp134 = icmp ne i32 %conv133, 47 + br i1 %cmp134, label %while.cond131, label %if.end138 + +if.end138: ; preds = %while.cond131, %if.then129 + %arraydecay139 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr140 = getelementptr inbounds i8, i8* %arraydecay139, i64 4095 + %62 = load i32, i32* %link_len, align 4 + %idx.ext = sext i32 %62 to i64 + %idx.neg141 = sub i64 0, %idx.ext + %add.ptr142 = getelementptr inbounds i8, i8* %add.ptr140, i64 %idx.neg141 + %63 = load i64, i64* %path_len, align 8 + %idx.neg143 = sub i64 0, %63 + %add.ptr144 = getelementptr inbounds i8, i8* %add.ptr142, i64 %idx.neg143 + %arraydecay145 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %64 = load i32, i32* %link_len, align 4 + %conv146 = sext i32 %64 to i64 + %call147 = call i8* @memmove(i8* %add.ptr144, i8* %arraydecay145, i64 %conv146) #20 + %arraydecay148 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr149 = getelementptr inbounds i8, i8* %arraydecay148, i64 4095 + %65 = load i32, i32* %link_len, align 4 + %idx.ext150 = sext i32 %65 to i64 + %idx.neg151 = sub i64 0, %idx.ext150 + %add.ptr152 = getelementptr inbounds i8, i8* %add.ptr149, i64 %idx.neg151 + %66 = load i64, i64* %path_len, align 8 + %idx.neg153 = sub i64 0, %66 + %add.ptr154 = getelementptr inbounds i8, i8* %add.ptr152, i64 %idx.neg153 + store i8* %add.ptr154, i8** %path.addr, align 8 + br label %if.end155 + +if.end155: ; preds = %if.then114, %if.end138 + %67 = load i8*, i8** %new_path, align 8 + %incdec.ptr156 = getelementptr inbounds i8, i8* %67, i32 1 + store i8* %incdec.ptr156, i8** %new_path, align 8 + store i8 47, i8* %67, align 1 + br label %while.cond + +while.end157: ; preds = %while.cond + %68 = load i8*, i8** %new_path, align 8 + %69 = load i8*, i8** %got_path.addr, align 8 + %add.ptr158 = getelementptr inbounds i8, i8* %69, i64 1 + %cmp159 = icmp ne i8* %68, %add.ptr158 + br i1 %cmp159, label %land.lhs.true, label %if.end167 + +land.lhs.true: ; preds = %while.end157 + %70 = load i8*, i8** %new_path, align 8 + %arrayidx161 = getelementptr inbounds i8, i8* %70, i64 -1 + %71 = load i8, i8* %arrayidx161, align 1 + %conv162 = sext i8 %71 to i32 + %cmp163 = icmp eq i32 %conv162, 47 + br i1 %cmp163, label %if.then165, label %if.end167 + +if.then165: ; preds = %land.lhs.true + %72 = load i8*, i8** %new_path, align 8 + %incdec.ptr166 = getelementptr inbounds i8, i8* %72, i32 -1 + store i8* %incdec.ptr166, i8** %new_path, align 8 + br label %if.end167 + +if.end167: ; preds = %if.then165, %land.lhs.true, %while.end157 + %73 = load i8*, i8** %new_path, align 8 + store i8 0, i8* %73, align 1 + %74 = load i8*, i8** %got_path.addr, align 8 + store i8* %74, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end167, %if.then123, %if.then117, %if.then106, %if.then99, %if.then22, %if.then7, %if.then3, %if.then + %75 = load i8*, i8** %retval, align 8 + ret i8* %75 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @strtoul(i8* noalias nonnull %str, i8** noalias %endptr, i32 %base) #0 { +entry: + %str.addr = alloca i8*, align 8 + %endptr.addr = alloca i8**, align 8 + %base.addr = alloca i32, align 4 + store i8* %str, i8** %str.addr, align 8 + store i8** %endptr, i8*** %endptr.addr, align 8 + store i32 %base, i32* %base.addr, align 4 + %0 = load i8*, i8** %str.addr, align 8 + %1 = load i8**, i8*** %endptr.addr, align 8 + %2 = load i32, i32* %base.addr, align 4 + %call = call i64 @_stdlib_strto_l(i8* %0, i8** %1, i32 %2, i32 0) #19 + ret i64 %call +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @memchr(i8* nonnull %s, i32 %c, i64 %n) #14 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %n.addr = alloca i64, align 8 + %r = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %r, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %1 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %2 = load i8*, i8** %r, align 8 + %3 = load i8, i8* %2, align 1 + %conv = zext i8 %3 to i32 + %4 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %4 to i8 + %conv2 = zext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + %5 = load i8*, i8** %r, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + store i8* %5, i8** %retval, align 8 + br label %return + +if.end: ; preds = %while.body + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %r, align 8 + %6 = load i64, i64* %n.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then + %7 = load i8*, i8** %retval, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @memcmp(i8* nonnull %s1, i8* nonnull %s2, i64 %n) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r1 = alloca i8*, align 8 + %r2 = alloca i8*, align 8 + %r = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %r1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %r2, align 8 + store i32 0, i32* %r, align 4 + br label %while.cond + +while.cond: ; preds = %land.rhs, %entry + %2 = load i64, i64* %n.addr, align 8 + %dec = add i64 %2, -1 + store i64 %dec, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %3 = load i8*, i8** %r1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %r1, align 8 + %4 = load i8, i8* %3, align 1 + %conv = zext i8 %4 to i32 + %5 = load i8*, i8** %r2, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr1, i8** %r2, align 8 + %6 = load i8, i8* %5, align 1 + %conv2 = zext i8 %6 to i32 + %sub = sub nsw i32 %conv, %conv2 + store i32 %sub, i32* %r, align 4 + %cmp = icmp eq i32 %sub, 0 + br i1 %cmp, label %while.cond, label %while.end + +while.end: ; preds = %while.cond, %land.rhs + %7 = load i32, i32* %r, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @strchr(i8* nonnull %s, i32 %c) #14 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %entry + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %2 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %2 to i8 + %conv2 = sext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + %3 = load i8*, i8** %s.addr, align 8 + br i1 %cmp, label %if.then, label %do.cond + +if.then: ; preds = %do.body + store i8* %3, i8** %retval, align 8 + br label %return + +do.cond: ; preds = %do.body + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %s.addr, align 8 + %4 = load i8, i8* %3, align 1 + %tobool = icmp ne i8 %4, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %do.end, %if.then + %5 = load i8*, i8** %retval, align 8 + ret i8* %5 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @tcgetattr(i32 %fd, %struct.termios* %termios_p) #0 { +entry: + %fd.addr = alloca i32, align 4 + %termios_p.addr = alloca %struct.termios*, align 8 + %k_termios = alloca %struct.__kernel_termios, align 4 + %retval1 = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.termios* %termios_p, %struct.termios** %termios_p.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 (i32, i64, ...) @ioctl(i32 %0, i64 21505, %struct.__kernel_termios* %k_termios) #20 + store i32 %call, i32* %retval1, align 4 + %c_iflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 0 + %1 = load i32, i32* %c_iflag, align 4 + %2 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_iflag2 = getelementptr inbounds %struct.termios, %struct.termios* %2, i32 0, i32 0 + store i32 %1, i32* %c_iflag2, align 4 + %c_oflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 1 + %3 = load i32, i32* %c_oflag, align 4 + %4 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_oflag3 = getelementptr inbounds %struct.termios, %struct.termios* %4, i32 0, i32 1 + store i32 %3, i32* %c_oflag3, align 4 + %c_cflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 2 + %5 = load i32, i32* %c_cflag, align 4 + %6 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_cflag4 = getelementptr inbounds %struct.termios, %struct.termios* %6, i32 0, i32 2 + store i32 %5, i32* %c_cflag4, align 4 + %c_lflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 3 + %7 = load i32, i32* %c_lflag, align 4 + %8 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_lflag5 = getelementptr inbounds %struct.termios, %struct.termios* %8, i32 0, i32 3 + store i32 %7, i32* %c_lflag5, align 4 + %c_line = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 4 + %9 = load i8, i8* %c_line, align 4 + %10 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_line6 = getelementptr inbounds %struct.termios, %struct.termios* %10, i32 0, i32 4 + store i8 %9, i8* %c_line6, align 4 + %11 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_cc = getelementptr inbounds %struct.termios, %struct.termios* %11, i32 0, i32 5 + %arrayidx = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc, i64 0, i64 0 + %c_cc7 = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 5 + %arrayidx8 = getelementptr inbounds [19 x i8], [19 x i8]* %c_cc7, i64 0, i64 0 + %call9 = call i8* @mempcpy(i8* %arrayidx, i8* %arrayidx8, i64 19) #20 + %call10 = call i8* @memset(i8* %call9, i32 0, i64 13) #20 + %12 = load i32, i32* %retval1, align 4 + ret i32 %12 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_getopt_internal(i32 %argc, i8** %argv, i8* %optstring, %struct.option* %longopts, i32* %longind, i32 %long_only) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + %longopts.addr = alloca %struct.option*, align 8 + %longind.addr = alloca i32*, align 8 + %long_only.addr = alloca i32, align 4 + %result = alloca i32, align 4 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + store %struct.option* %longopts, %struct.option** %longopts.addr, align 8 + store i32* %longind, i32** %longind.addr, align 8 + store i32 %long_only, i32* %long_only.addr, align 4 + %0 = load i32, i32* @optind, align 4 + store i32 %0, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 0), align 8 + %1 = load i32, i32* @opterr, align 4 + store i32 %1, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 1), align 4 + %2 = load i32, i32* %argc.addr, align 4 + %3 = load i8**, i8*** %argv.addr, align 8 + %4 = load i8*, i8** %optstring.addr, align 8 + %5 = load %struct.option*, %struct.option** %longopts.addr, align 8 + %6 = load i32*, i32** %longind.addr, align 8 + %7 = load i32, i32* %long_only.addr, align 4 + %call = call i32 @_getopt_internal_r(i32 %2, i8** %3, i8* %4, %struct.option* %5, i32* %6, i32 %7, %struct._getopt_data* @getopt_data) #19 + store i32 %call, i32* %result, align 4 + %8 = load i32, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 0), align 8 + store i32 %8, i32* @optind, align 4 + %9 = load i8*, i8** getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 3), align 8 + store i8* %9, i8** @optarg, align 8 + %10 = load i32, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 2), align 8 + store i32 %10, i32* @optopt, align 4 + %11 = load i32, i32* %result, align 4 + ret i32 %11 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_getopt_internal_r(i32 %argc, i8** %argv, i8* %optstring, %struct.option* %longopts, i32* %longind, i32 %long_only, %struct._getopt_data* %d) #0 { +entry: + %retval = alloca i32, align 4 + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + %longopts.addr = alloca %struct.option*, align 8 + %longind.addr = alloca i32*, align 8 + %long_only.addr = alloca i32, align 4 + %d.addr = alloca %struct._getopt_data*, align 8 + %print_errors = alloca i32, align 4 + %nameend = alloca i8*, align 8 + %p = alloca %struct.option*, align 8 + %pfound = alloca %struct.option*, align 8 + %exact = alloca i32, align 4 + %ambig = alloca i32, align 4 + %indfound = alloca i32, align 4 + %option_index = alloca i32, align 4 + %c = alloca i8, align 1 + %temp = alloca i8*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + store %struct.option* %longopts, %struct.option** %longopts.addr, align 8 + store i32* %longind, i32** %longind.addr, align 8 + store i32 %long_only, i32* %long_only.addr, align 4 + store %struct._getopt_data* %d, %struct._getopt_data** %d.addr, align 8 + %0 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %opterr = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %0, i32 0, i32 1 + %1 = load i32, i32* %opterr, align 4 + store i32 %1, i32* %print_errors, align 4 + %2 = load i8*, i8** %optstring.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %2, i64 0 + %3 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %3 to i32 + %cmp = icmp eq i32 %conv, 58 + %spec.store.select = select i1 %cmp, i32 0, i32 %1 + store i32 %spec.store.select, i32* %print_errors, align 4 + %4 = load i32, i32* %argc.addr, align 4 + %cmp2 = icmp slt i32 %4, 1 + br i1 %cmp2, label %if.then4, label %if.end5 + +if.then4: ; preds = %entry + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %entry + %5 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %5, i32 0, i32 3 + store i8* null, i8** %optarg, align 8 + %6 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %6, i32 0, i32 0 + %7 = load i32, i32* %optind, align 8 + %cmp6 = icmp eq i32 %7, 0 + br i1 %cmp6, label %if.then8, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end5 + %8 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__initialized = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %8, i32 0, i32 4 + %9 = load i32, i32* %__initialized, align 8 + %tobool = icmp ne i32 %9, 0 + br i1 %tobool, label %if.end16, label %if.then8 + +if.then8: ; preds = %lor.lhs.false, %if.end5 + %10 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind9 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %10, i32 0, i32 0 + %11 = load i32, i32* %optind9, align 8 + %cmp10 = icmp eq i32 %11, 0 + br i1 %cmp10, label %if.then12, label %if.end14 + +if.then12: ; preds = %if.then8 + %12 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind13 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %12, i32 0, i32 0 + store i32 1, i32* %optind13, align 8 + br label %if.end14 + +if.end14: ; preds = %if.then12, %if.then8 + %13 = load i32, i32* %argc.addr, align 4 + %14 = load i8**, i8*** %argv.addr, align 8 + %15 = load i8*, i8** %optstring.addr, align 8 + %16 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %call = call i8* @_getopt_initialize(i32 %13, i8** %14, i8* %15, %struct._getopt_data* %16) #19 + store i8* %call, i8** %optstring.addr, align 8 + %17 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__initialized15 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %17, i32 0, i32 4 + store i32 1, i32* %__initialized15, align 8 + br label %if.end16 + +if.end16: ; preds = %if.end14, %lor.lhs.false + %18 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %18, i32 0, i32 5 + %19 = load i8*, i8** %__nextchar, align 8 + %cmp17 = icmp eq i8* %19, null + br i1 %cmp17, label %if.then24, label %lor.lhs.false19 + +lor.lhs.false19: ; preds = %if.end16 + %20 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar20 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %20, i32 0, i32 5 + %21 = load i8*, i8** %__nextchar20, align 8 + %22 = load i8, i8* %21, align 1 + %conv21 = sext i8 %22 to i32 + %cmp22 = icmp eq i32 %conv21, 0 + br i1 %cmp22, label %if.then24, label %if.end171 + +if.then24: ; preds = %lor.lhs.false19, %if.end16 + %23 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %23, i32 0, i32 9 + %24 = load i32, i32* %__last_nonopt, align 4 + %25 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind25 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %25, i32 0, i32 0 + %26 = load i32, i32* %optind25, align 8 + %cmp26 = icmp sgt i32 %24, %26 + br i1 %cmp26, label %if.then28, label %if.end31 + +if.then28: ; preds = %if.then24 + %27 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind29 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %27, i32 0, i32 0 + %28 = load i32, i32* %optind29, align 8 + %29 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt30 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %29, i32 0, i32 9 + store i32 %28, i32* %__last_nonopt30, align 4 + br label %if.end31 + +if.end31: ; preds = %if.then28, %if.then24 + %30 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %30, i32 0, i32 8 + %31 = load i32, i32* %__first_nonopt, align 8 + %32 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind32 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %32, i32 0, i32 0 + %33 = load i32, i32* %optind32, align 8 + %cmp33 = icmp sgt i32 %31, %33 + br i1 %cmp33, label %if.then35, label %if.end38 + +if.then35: ; preds = %if.end31 + %34 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind36 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %34, i32 0, i32 0 + %35 = load i32, i32* %optind36, align 8 + %36 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt37 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %36, i32 0, i32 8 + store i32 %35, i32* %__first_nonopt37, align 8 + br label %if.end38 + +if.end38: ; preds = %if.then35, %if.end31 + %37 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %37, i32 0, i32 6 + %38 = load i32, i32* %__ordering, align 8 + %cmp39 = icmp eq i32 %38, 1 + br i1 %cmp39, label %if.then41, label %if.end79 + +if.then41: ; preds = %if.end38 + %39 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt42 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %39, i32 0, i32 8 + %40 = load i32, i32* %__first_nonopt42, align 8 + %41 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt43 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %41, i32 0, i32 9 + %42 = load i32, i32* %__last_nonopt43, align 4 + %cmp44 = icmp ne i32 %40, %42 + br i1 %cmp44, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %if.then41 + %43 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt46 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %43, i32 0, i32 9 + %44 = load i32, i32* %__last_nonopt46, align 4 + %45 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind47 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %45, i32 0, i32 0 + %46 = load i32, i32* %optind47, align 8 + %cmp48 = icmp ne i32 %44, %46 + br i1 %cmp48, label %if.then50, label %if.else + +if.then50: ; preds = %land.lhs.true + %47 = load i8**, i8*** %argv.addr, align 8 + %48 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + call void @exchange(i8** %47, %struct._getopt_data* %48) #19 + br label %if.end59 + +if.else: ; preds = %land.lhs.true, %if.then41 + %49 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt51 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %49, i32 0, i32 9 + %50 = load i32, i32* %__last_nonopt51, align 4 + %51 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind52 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %51, i32 0, i32 0 + %52 = load i32, i32* %optind52, align 8 + %cmp53 = icmp ne i32 %50, %52 + br i1 %cmp53, label %if.then55, label %if.end59 + +if.then55: ; preds = %if.else + %53 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind56 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %53, i32 0, i32 0 + %54 = load i32, i32* %optind56, align 8 + %55 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt57 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %55, i32 0, i32 8 + store i32 %54, i32* %__first_nonopt57, align 8 + br label %if.end59 + +if.end59: ; preds = %if.else, %if.then55, %if.then50 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end59 + %56 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind60 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %56, i32 0, i32 0 + %57 = load i32, i32* %optind60, align 8 + %58 = load i32, i32* %argc.addr, align 4 + %cmp61 = icmp slt i32 %57, %58 + br i1 %cmp61, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %59 = load i8**, i8*** %argv.addr, align 8 + %60 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind63 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %60, i32 0, i32 0 + %61 = load i32, i32* %optind63, align 8 + %idxprom = sext i32 %61 to i64 + %arrayidx64 = getelementptr inbounds i8*, i8** %59, i64 %idxprom + %62 = load i8*, i8** %arrayidx64, align 8 + %arrayidx65 = getelementptr inbounds i8, i8* %62, i64 0 + %63 = load i8, i8* %arrayidx65, align 1 + %conv66 = sext i8 %63 to i32 + %cmp67 = icmp ne i32 %conv66, 45 + br i1 %cmp67, label %land.end, label %lor.rhs + +lor.rhs: ; preds = %land.rhs + %64 = load i8**, i8*** %argv.addr, align 8 + %65 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind69 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %65, i32 0, i32 0 + %66 = load i32, i32* %optind69, align 8 + %idxprom70 = sext i32 %66 to i64 + %arrayidx71 = getelementptr inbounds i8*, i8** %64, i64 %idxprom70 + %67 = load i8*, i8** %arrayidx71, align 8 + %arrayidx72 = getelementptr inbounds i8, i8* %67, i64 1 + %68 = load i8, i8* %arrayidx72, align 1 + %conv73 = sext i8 %68 to i32 + %cmp74 = icmp eq i32 %conv73, 0 + br label %land.end + +land.end: ; preds = %land.rhs, %lor.rhs, %while.cond + %69 = phi i1 [ false, %while.cond ], [ true, %land.rhs ], [ %cmp74, %lor.rhs ] + %70 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind76 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %70, i32 0, i32 0 + %71 = load i32, i32* %optind76, align 8 + br i1 %69, label %while.body, label %while.end + +while.body: ; preds = %land.end + %inc = add nsw i32 %71, 1 + store i32 %inc, i32* %optind76, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %72 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt78 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %72, i32 0, i32 9 + store i32 %71, i32* %__last_nonopt78, align 4 + br label %if.end79 + +if.end79: ; preds = %while.end, %if.end38 + %73 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind80 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %73, i32 0, i32 0 + %74 = load i32, i32* %optind80, align 8 + %75 = load i32, i32* %argc.addr, align 4 + %cmp81 = icmp ne i32 %74, %75 + br i1 %cmp81, label %land.lhs.true83, label %if.end114 + +land.lhs.true83: ; preds = %if.end79 + %76 = load i8**, i8*** %argv.addr, align 8 + %77 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind84 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %77, i32 0, i32 0 + %78 = load i32, i32* %optind84, align 8 + %idxprom85 = sext i32 %78 to i64 + %arrayidx86 = getelementptr inbounds i8*, i8** %76, i64 %idxprom85 + %79 = load i8*, i8** %arrayidx86, align 8 + %call87 = call i32 @strcmp(i8* %79, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.311, i64 0, i64 0)) #21 + %tobool88 = icmp ne i32 %call87, 0 + br i1 %tobool88, label %if.end114, label %if.then89 + +if.then89: ; preds = %land.lhs.true83 + %80 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind90 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %80, i32 0, i32 0 + %81 = load i32, i32* %optind90, align 8 + %inc91 = add nsw i32 %81, 1 + store i32 %inc91, i32* %optind90, align 8 + %82 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt92 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %82, i32 0, i32 8 + %83 = load i32, i32* %__first_nonopt92, align 8 + %84 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt93 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %84, i32 0, i32 9 + %85 = load i32, i32* %__last_nonopt93, align 4 + %cmp94 = icmp ne i32 %83, %85 + br i1 %cmp94, label %land.lhs.true96, label %if.else102 + +land.lhs.true96: ; preds = %if.then89 + %86 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt97 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %86, i32 0, i32 9 + %87 = load i32, i32* %__last_nonopt97, align 4 + %88 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind98 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %88, i32 0, i32 0 + %89 = load i32, i32* %optind98, align 8 + %cmp99 = icmp ne i32 %87, %89 + br i1 %cmp99, label %if.then101, label %if.else102 + +if.then101: ; preds = %land.lhs.true96 + %90 = load i8**, i8*** %argv.addr, align 8 + %91 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + call void @exchange(i8** %90, %struct._getopt_data* %91) #19 + br label %if.end111 + +if.else102: ; preds = %land.lhs.true96, %if.then89 + %92 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt103 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %92, i32 0, i32 8 + %93 = load i32, i32* %__first_nonopt103, align 8 + %94 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt104 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %94, i32 0, i32 9 + %95 = load i32, i32* %__last_nonopt104, align 4 + %cmp105 = icmp eq i32 %93, %95 + br i1 %cmp105, label %if.then107, label %if.end111 + +if.then107: ; preds = %if.else102 + %96 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind108 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %96, i32 0, i32 0 + %97 = load i32, i32* %optind108, align 8 + %98 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt109 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %98, i32 0, i32 8 + store i32 %97, i32* %__first_nonopt109, align 8 + br label %if.end111 + +if.end111: ; preds = %if.else102, %if.then107, %if.then101 + %99 = load i32, i32* %argc.addr, align 4 + %100 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt112 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %100, i32 0, i32 9 + store i32 %99, i32* %__last_nonopt112, align 4 + %101 = load i32, i32* %argc.addr, align 4 + %102 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind113 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %102, i32 0, i32 0 + store i32 %101, i32* %optind113, align 8 + br label %if.end114 + +if.end114: ; preds = %if.end111, %land.lhs.true83, %if.end79 + %103 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind115 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %103, i32 0, i32 0 + %104 = load i32, i32* %optind115, align 8 + %105 = load i32, i32* %argc.addr, align 4 + %cmp116 = icmp eq i32 %104, %105 + br i1 %cmp116, label %if.then118, label %if.end127 + +if.then118: ; preds = %if.end114 + %106 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt119 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %106, i32 0, i32 8 + %107 = load i32, i32* %__first_nonopt119, align 8 + %108 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt120 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %108, i32 0, i32 9 + %109 = load i32, i32* %__last_nonopt120, align 4 + %cmp121 = icmp ne i32 %107, %109 + br i1 %cmp121, label %if.then123, label %if.end126 + +if.then123: ; preds = %if.then118 + %110 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt124 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %110, i32 0, i32 8 + %111 = load i32, i32* %__first_nonopt124, align 8 + %112 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind125 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %112, i32 0, i32 0 + store i32 %111, i32* %optind125, align 8 + br label %if.end126 + +if.end126: ; preds = %if.then123, %if.then118 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end127: ; preds = %if.end114 + %113 = load i8**, i8*** %argv.addr, align 8 + %114 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind128 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %114, i32 0, i32 0 + %115 = load i32, i32* %optind128, align 8 + %idxprom129 = sext i32 %115 to i64 + %arrayidx130 = getelementptr inbounds i8*, i8** %113, i64 %idxprom129 + %116 = load i8*, i8** %arrayidx130, align 8 + %arrayidx131 = getelementptr inbounds i8, i8* %116, i64 0 + %117 = load i8, i8* %arrayidx131, align 1 + %conv132 = sext i8 %117 to i32 + %cmp133 = icmp ne i32 %conv132, 45 + br i1 %cmp133, label %if.then143, label %lor.lhs.false135 + +lor.lhs.false135: ; preds = %if.end127 + %118 = load i8**, i8*** %argv.addr, align 8 + %119 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind136 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %119, i32 0, i32 0 + %120 = load i32, i32* %optind136, align 8 + %idxprom137 = sext i32 %120 to i64 + %arrayidx138 = getelementptr inbounds i8*, i8** %118, i64 %idxprom137 + %121 = load i8*, i8** %arrayidx138, align 8 + %arrayidx139 = getelementptr inbounds i8, i8* %121, i64 1 + %122 = load i8, i8* %arrayidx139, align 1 + %conv140 = sext i8 %122 to i32 + %cmp141 = icmp eq i32 %conv140, 0 + br i1 %cmp141, label %if.then143, label %if.end154 + +if.then143: ; preds = %lor.lhs.false135, %if.end127 + %123 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering144 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %123, i32 0, i32 6 + %124 = load i32, i32* %__ordering144, align 8 + %cmp145 = icmp eq i32 %124, 0 + br i1 %cmp145, label %if.then147, label %if.end148 + +if.then147: ; preds = %if.then143 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end148: ; preds = %if.then143 + %125 = load i8**, i8*** %argv.addr, align 8 + %126 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind149 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %126, i32 0, i32 0 + %127 = load i32, i32* %optind149, align 8 + %inc150 = add nsw i32 %127, 1 + store i32 %inc150, i32* %optind149, align 8 + %idxprom151 = sext i32 %127 to i64 + %arrayidx152 = getelementptr inbounds i8*, i8** %125, i64 %idxprom151 + %128 = load i8*, i8** %arrayidx152, align 8 + %129 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg153 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %129, i32 0, i32 3 + store i8* %128, i8** %optarg153, align 8 + store i32 1, i32* %retval, align 4 + br label %return + +if.end154: ; preds = %lor.lhs.false135 + %130 = load i8**, i8*** %argv.addr, align 8 + %131 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind155 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %131, i32 0, i32 0 + %132 = load i32, i32* %optind155, align 8 + %idxprom156 = sext i32 %132 to i64 + %arrayidx157 = getelementptr inbounds i8*, i8** %130, i64 %idxprom156 + %133 = load i8*, i8** %arrayidx157, align 8 + %add.ptr = getelementptr inbounds i8, i8* %133, i64 1 + %134 = load %struct.option*, %struct.option** %longopts.addr, align 8 + %cmp158 = icmp ne %struct.option* %134, null + br i1 %cmp158, label %land.rhs160, label %land.end168 + +land.rhs160: ; preds = %if.end154 + %135 = load i8**, i8*** %argv.addr, align 8 + %136 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind161 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %136, i32 0, i32 0 + %137 = load i32, i32* %optind161, align 8 + %idxprom162 = sext i32 %137 to i64 + %arrayidx163 = getelementptr inbounds i8*, i8** %135, i64 %idxprom162 + %138 = load i8*, i8** %arrayidx163, align 8 + %arrayidx164 = getelementptr inbounds i8, i8* %138, i64 1 + %139 = load i8, i8* %arrayidx164, align 1 + %conv165 = sext i8 %139 to i32 + %cmp166 = icmp eq i32 %conv165, 45 + br label %land.end168 + +land.end168: ; preds = %land.rhs160, %if.end154 + %140 = phi i1 [ false, %if.end154 ], [ %cmp166, %land.rhs160 ] + %land.ext = zext i1 %140 to i32 + %idx.ext = sext i32 %land.ext to i64 + %add.ptr169 = getelementptr inbounds i8, i8* %add.ptr, i64 %idx.ext + %141 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar170 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %141, i32 0, i32 5 + store i8* %add.ptr169, i8** %__nextchar170, align 8 + br label %if.end171 + +if.end171: ; preds = %land.end168, %lor.lhs.false19 + %142 = load %struct.option*, %struct.option** %longopts.addr, align 8 + %cmp172 = icmp ne %struct.option* %142, null + br i1 %cmp172, label %land.lhs.true174, label %if.end418 + +land.lhs.true174: ; preds = %if.end171 + %143 = load i8**, i8*** %argv.addr, align 8 + %144 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind175 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %144, i32 0, i32 0 + %145 = load i32, i32* %optind175, align 8 + %idxprom176 = sext i32 %145 to i64 + %arrayidx177 = getelementptr inbounds i8*, i8** %143, i64 %idxprom176 + %146 = load i8*, i8** %arrayidx177, align 8 + %arrayidx178 = getelementptr inbounds i8, i8* %146, i64 1 + %147 = load i8, i8* %arrayidx178, align 1 + %conv179 = sext i8 %147 to i32 + %cmp180 = icmp eq i32 %conv179, 45 + br i1 %cmp180, label %if.then199, label %lor.lhs.false182 + +lor.lhs.false182: ; preds = %land.lhs.true174 + %148 = load i32, i32* %long_only.addr, align 4 + %tobool183 = icmp ne i32 %148, 0 + br i1 %tobool183, label %land.lhs.true184, label %if.end418 + +land.lhs.true184: ; preds = %lor.lhs.false182 + %149 = load i8**, i8*** %argv.addr, align 8 + %150 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind185 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %150, i32 0, i32 0 + %151 = load i32, i32* %optind185, align 8 + %idxprom186 = sext i32 %151 to i64 + %arrayidx187 = getelementptr inbounds i8*, i8** %149, i64 %idxprom186 + %152 = load i8*, i8** %arrayidx187, align 8 + %arrayidx188 = getelementptr inbounds i8, i8* %152, i64 2 + %153 = load i8, i8* %arrayidx188, align 1 + %conv189 = sext i8 %153 to i32 + %tobool190 = icmp ne i32 %conv189, 0 + br i1 %tobool190, label %if.then199, label %lor.lhs.false191 + +lor.lhs.false191: ; preds = %land.lhs.true184 + %154 = load i8*, i8** %optstring.addr, align 8 + %155 = load i8**, i8*** %argv.addr, align 8 + %156 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind192 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %156, i32 0, i32 0 + %157 = load i32, i32* %optind192, align 8 + %idxprom193 = sext i32 %157 to i64 + %arrayidx194 = getelementptr inbounds i8*, i8** %155, i64 %idxprom193 + %158 = load i8*, i8** %arrayidx194, align 8 + %arrayidx195 = getelementptr inbounds i8, i8* %158, i64 1 + %159 = load i8, i8* %arrayidx195, align 1 + %conv196 = sext i8 %159 to i32 + %call197 = call i8* @strchr(i8* %154, i32 %conv196) #21 + %tobool198 = icmp ne i8* %call197, null + br i1 %tobool198, label %if.end418, label %if.then199 + +if.then199: ; preds = %lor.lhs.false191, %land.lhs.true184, %land.lhs.true174 + store %struct.option* null, %struct.option** %pfound, align 8 + store i32 0, i32* %exact, align 4 + store i32 0, i32* %ambig, align 4 + store i32 -1, i32* %indfound, align 4 + %160 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar200 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %160, i32 0, i32 5 + %161 = load i8*, i8** %__nextchar200, align 8 + store i8* %161, i8** %nameend, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.then199 + %162 = load i8*, i8** %nameend, align 8 + %163 = load i8, i8* %162, align 1 + %conv201 = sext i8 %163 to i32 + %tobool202 = icmp ne i32 %conv201, 0 + br i1 %tobool202, label %land.rhs203, label %for.end + +land.rhs203: ; preds = %for.cond + %164 = load i8*, i8** %nameend, align 8 + %165 = load i8, i8* %164, align 1 + %conv204 = sext i8 %165 to i32 + %cmp205 = icmp ne i32 %conv204, 61 + br i1 %cmp205, label %for.inc, label %for.end + +for.inc: ; preds = %land.rhs203 + %166 = load i8*, i8** %nameend, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %166, i32 1 + store i8* %incdec.ptr, i8** %nameend, align 8 + br label %for.cond + +for.end: ; preds = %for.cond, %land.rhs203 + %167 = load %struct.option*, %struct.option** %longopts.addr, align 8 + store %struct.option* %167, %struct.option** %p, align 8 + store i32 0, i32* %option_index, align 4 + br label %for.cond209 + +for.cond209: ; preds = %for.inc252, %for.end + %168 = load %struct.option*, %struct.option** %p, align 8 + %name = getelementptr inbounds %struct.option, %struct.option* %168, i32 0, i32 0 + %169 = load i8*, i8** %name, align 8 + %tobool210 = icmp ne i8* %169, null + br i1 %tobool210, label %for.body211, label %for.end255 + +for.body211: ; preds = %for.cond209 + %170 = load %struct.option*, %struct.option** %p, align 8 + %name212 = getelementptr inbounds %struct.option, %struct.option* %170, i32 0, i32 0 + %171 = load i8*, i8** %name212, align 8 + %172 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar213 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %172, i32 0, i32 5 + %173 = load i8*, i8** %__nextchar213, align 8 + %174 = load i8*, i8** %nameend, align 8 + %175 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar214 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %175, i32 0, i32 5 + %176 = load i8*, i8** %__nextchar214, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %174 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %176 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %call215 = call i32 @strncmp(i8* %171, i8* %173, i64 %sub.ptr.sub) #21 + %tobool216 = icmp ne i32 %call215, 0 + br i1 %tobool216, label %for.inc252, label %if.then217 + +if.then217: ; preds = %for.body211 + %177 = load i8*, i8** %nameend, align 8 + %178 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar218 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %178, i32 0, i32 5 + %179 = load i8*, i8** %__nextchar218, align 8 + %sub.ptr.lhs.cast219 = ptrtoint i8* %177 to i64 + %sub.ptr.rhs.cast220 = ptrtoint i8* %179 to i64 + %sub.ptr.sub221 = sub i64 %sub.ptr.lhs.cast219, %sub.ptr.rhs.cast220 + %conv222 = trunc i64 %sub.ptr.sub221 to i32 + %180 = load %struct.option*, %struct.option** %p, align 8 + %name223 = getelementptr inbounds %struct.option, %struct.option* %180, i32 0, i32 0 + %181 = load i8*, i8** %name223, align 8 + %call224 = call i64 @strlen(i8* %181) #21 + %conv225 = trunc i64 %call224 to i32 + %cmp226 = icmp eq i32 %conv222, %conv225 + br i1 %cmp226, label %if.then228, label %if.else229 + +if.then228: ; preds = %if.then217 + %182 = load %struct.option*, %struct.option** %p, align 8 + store %struct.option* %182, %struct.option** %pfound, align 8 + %183 = load i32, i32* %option_index, align 4 + store i32 %183, i32* %indfound, align 4 + store i32 1, i32* %exact, align 4 + br label %for.end255 + +if.else229: ; preds = %if.then217 + %184 = load %struct.option*, %struct.option** %pfound, align 8 + %cmp230 = icmp eq %struct.option* %184, null + br i1 %cmp230, label %if.then232, label %if.else233 + +if.then232: ; preds = %if.else229 + %185 = load %struct.option*, %struct.option** %p, align 8 + store %struct.option* %185, %struct.option** %pfound, align 8 + %186 = load i32, i32* %option_index, align 4 + store i32 %186, i32* %indfound, align 4 + br label %for.inc252 + +if.else233: ; preds = %if.else229 + %187 = load i32, i32* %long_only.addr, align 4 + %tobool234 = icmp ne i32 %187, 0 + br i1 %tobool234, label %if.then247, label %lor.lhs.false235 + +lor.lhs.false235: ; preds = %if.else233 + %188 = load %struct.option*, %struct.option** %pfound, align 8 + %has_arg = getelementptr inbounds %struct.option, %struct.option* %188, i32 0, i32 1 + %189 = load i32, i32* %has_arg, align 8 + %190 = load %struct.option*, %struct.option** %p, align 8 + %has_arg236 = getelementptr inbounds %struct.option, %struct.option* %190, i32 0, i32 1 + %191 = load i32, i32* %has_arg236, align 8 + %cmp237 = icmp ne i32 %189, %191 + br i1 %cmp237, label %if.then247, label %lor.lhs.false239 + +lor.lhs.false239: ; preds = %lor.lhs.false235 + %192 = load %struct.option*, %struct.option** %pfound, align 8 + %flag = getelementptr inbounds %struct.option, %struct.option* %192, i32 0, i32 2 + %193 = load i32*, i32** %flag, align 8 + %194 = load %struct.option*, %struct.option** %p, align 8 + %flag240 = getelementptr inbounds %struct.option, %struct.option* %194, i32 0, i32 2 + %195 = load i32*, i32** %flag240, align 8 + %cmp241 = icmp ne i32* %193, %195 + br i1 %cmp241, label %if.then247, label %lor.lhs.false243 + +lor.lhs.false243: ; preds = %lor.lhs.false239 + %196 = load %struct.option*, %struct.option** %pfound, align 8 + %val = getelementptr inbounds %struct.option, %struct.option* %196, i32 0, i32 3 + %197 = load i32, i32* %val, align 8 + %198 = load %struct.option*, %struct.option** %p, align 8 + %val244 = getelementptr inbounds %struct.option, %struct.option* %198, i32 0, i32 3 + %199 = load i32, i32* %val244, align 8 + %cmp245 = icmp ne i32 %197, %199 + br i1 %cmp245, label %if.then247, label %for.inc252 + +if.then247: ; preds = %lor.lhs.false243, %lor.lhs.false239, %lor.lhs.false235, %if.else233 + store i32 1, i32* %ambig, align 4 + br label %for.inc252 + +for.inc252: ; preds = %for.body211, %if.then232, %if.then247, %lor.lhs.false243 + %200 = load %struct.option*, %struct.option** %p, align 8 + %incdec.ptr253 = getelementptr inbounds %struct.option, %struct.option* %200, i32 1 + store %struct.option* %incdec.ptr253, %struct.option** %p, align 8 + %201 = load i32, i32* %option_index, align 4 + %inc254 = add nsw i32 %201, 1 + store i32 %inc254, i32* %option_index, align 4 + br label %for.cond209 + +for.end255: ; preds = %if.then228, %for.cond209 + %202 = load i32, i32* %ambig, align 4 + %tobool256 = icmp eq i32 %202, 0 + %203 = load i32, i32* %exact, align 4 + %tobool258 = icmp ne i32 %203, 0 + %or.cond = or i1 %tobool256, %tobool258 + br i1 %or.cond, label %if.end274, label %if.then259 + +if.then259: ; preds = %for.end255 + %204 = load i32, i32* %print_errors, align 4 + %tobool260 = icmp ne i32 %204, 0 + br i1 %tobool260, label %if.then261, label %if.end267 + +if.then261: ; preds = %if.then259 + %205 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %206 = load i8**, i8*** %argv.addr, align 8 + %arrayidx262 = getelementptr inbounds i8*, i8** %206, i64 0 + %207 = load i8*, i8** %arrayidx262, align 8 + %208 = load i8**, i8*** %argv.addr, align 8 + %209 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind263 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %209, i32 0, i32 0 + %210 = load i32, i32* %optind263, align 8 + %idxprom264 = sext i32 %210 to i64 + %arrayidx265 = getelementptr inbounds i8*, i8** %208, i64 %idxprom264 + %211 = load i8*, i8** %arrayidx265, align 8 + %call266 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %205, i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.1.312, i64 0, i64 0), i8* %207, i8* %211) #19 + br label %if.end267 + +if.end267: ; preds = %if.then261, %if.then259 + %212 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar268 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %212, i32 0, i32 5 + %213 = load i8*, i8** %__nextchar268, align 8 + %call269 = call i64 @strlen(i8* %213) #21 + %214 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar270 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %214, i32 0, i32 5 + %215 = load i8*, i8** %__nextchar270, align 8 + %add.ptr271 = getelementptr inbounds i8, i8* %215, i64 %call269 + store i8* %add.ptr271, i8** %__nextchar270, align 8 + %216 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind272 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %216, i32 0, i32 0 + %217 = load i32, i32* %optind272, align 8 + %inc273 = add nsw i32 %217, 1 + store i32 %inc273, i32* %optind272, align 8 + %218 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %218, i32 0, i32 2 + store i32 0, i32* %optopt, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.end274: ; preds = %for.end255 + %219 = load %struct.option*, %struct.option** %pfound, align 8 + %cmp275 = icmp ne %struct.option* %219, null + br i1 %cmp275, label %if.then277, label %if.end372 + +if.then277: ; preds = %if.end274 + %220 = load i32, i32* %indfound, align 4 + store i32 %220, i32* %option_index, align 4 + %221 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind278 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %221, i32 0, i32 0 + %222 = load i32, i32* %optind278, align 8 + %inc279 = add nsw i32 %222, 1 + store i32 %inc279, i32* %optind278, align 8 + %223 = load i8*, i8** %nameend, align 8 + %224 = load i8, i8* %223, align 1 + %tobool280 = icmp ne i8 %224, 0 + %225 = load %struct.option*, %struct.option** %pfound, align 8 + %has_arg282 = getelementptr inbounds %struct.option, %struct.option* %225, i32 0, i32 1 + %226 = load i32, i32* %has_arg282, align 8 + br i1 %tobool280, label %if.then281, label %if.else320 + +if.then281: ; preds = %if.then277 + %tobool283 = icmp ne i32 %226, 0 + br i1 %tobool283, label %if.then284, label %if.else287 + +if.then284: ; preds = %if.then281 + %227 = load i8*, i8** %nameend, align 8 + %add.ptr285 = getelementptr inbounds i8, i8* %227, i64 1 + %228 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg286 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %228, i32 0, i32 3 + store i8* %add.ptr285, i8** %optarg286, align 8 + br label %if.end356 + +if.else287: ; preds = %if.then281 + %229 = load i32, i32* %print_errors, align 4 + %tobool288 = icmp ne i32 %229, 0 + br i1 %tobool288, label %if.then289, label %if.end312 + +if.then289: ; preds = %if.else287 + %230 = load i8**, i8*** %argv.addr, align 8 + %231 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind290 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %231, i32 0, i32 0 + %232 = load i32, i32* %optind290, align 8 + %sub = sub nsw i32 %232, 1 + %idxprom291 = sext i32 %sub to i64 + %arrayidx292 = getelementptr inbounds i8*, i8** %230, i64 %idxprom291 + %233 = load i8*, i8** %arrayidx292, align 8 + %arrayidx293 = getelementptr inbounds i8, i8* %233, i64 1 + %234 = load i8, i8* %arrayidx293, align 1 + %conv294 = sext i8 %234 to i32 + %cmp295 = icmp eq i32 %conv294, 45 + %235 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %236 = load i8**, i8*** %argv.addr, align 8 + %arrayidx298 = getelementptr inbounds i8*, i8** %236, i64 0 + %237 = load i8*, i8** %arrayidx298, align 8 + br i1 %cmp295, label %if.then297, label %if.else301 + +if.then297: ; preds = %if.then289 + %238 = load %struct.option*, %struct.option** %pfound, align 8 + %name299 = getelementptr inbounds %struct.option, %struct.option* %238, i32 0, i32 0 + %239 = load i8*, i8** %name299, align 8 + %call300 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %235, i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.2.313, i64 0, i64 0), i8* %237, i8* %239) #19 + br label %if.end312 + +if.else301: ; preds = %if.then289 + %240 = load i8**, i8*** %argv.addr, align 8 + %241 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind303 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %241, i32 0, i32 0 + %242 = load i32, i32* %optind303, align 8 + %sub304 = sub nsw i32 %242, 1 + %idxprom305 = sext i32 %sub304 to i64 + %arrayidx306 = getelementptr inbounds i8*, i8** %240, i64 %idxprom305 + %243 = load i8*, i8** %arrayidx306, align 8 + %arrayidx307 = getelementptr inbounds i8, i8* %243, i64 0 + %244 = load i8, i8* %arrayidx307, align 1 + %conv308 = sext i8 %244 to i32 + %245 = load %struct.option*, %struct.option** %pfound, align 8 + %name309 = getelementptr inbounds %struct.option, %struct.option* %245, i32 0, i32 0 + %246 = load i8*, i8** %name309, align 8 + %call310 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %235, i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.3.314, i64 0, i64 0), i8* %237, i32 %conv308, i8* %246) #19 + br label %if.end312 + +if.end312: ; preds = %if.then297, %if.else301, %if.else287 + %247 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar313 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %247, i32 0, i32 5 + %248 = load i8*, i8** %__nextchar313, align 8 + %call314 = call i64 @strlen(i8* %248) #21 + %249 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar315 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %249, i32 0, i32 5 + %250 = load i8*, i8** %__nextchar315, align 8 + %add.ptr316 = getelementptr inbounds i8, i8* %250, i64 %call314 + store i8* %add.ptr316, i8** %__nextchar315, align 8 + %251 = load %struct.option*, %struct.option** %pfound, align 8 + %val317 = getelementptr inbounds %struct.option, %struct.option* %251, i32 0, i32 3 + %252 = load i32, i32* %val317, align 8 + %253 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt318 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %253, i32 0, i32 2 + store i32 %252, i32* %optopt318, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.else320: ; preds = %if.then277 + %cmp322 = icmp eq i32 %226, 1 + br i1 %cmp322, label %if.then324, label %if.end356 + +if.then324: ; preds = %if.else320 + %254 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind325 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %254, i32 0, i32 0 + %255 = load i32, i32* %optind325, align 8 + %256 = load i32, i32* %argc.addr, align 4 + %cmp326 = icmp slt i32 %255, %256 + br i1 %cmp326, label %if.then328, label %if.else334 + +if.then328: ; preds = %if.then324 + %257 = load i8**, i8*** %argv.addr, align 8 + %258 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind329 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %258, i32 0, i32 0 + %259 = load i32, i32* %optind329, align 8 + %inc330 = add nsw i32 %259, 1 + store i32 %inc330, i32* %optind329, align 8 + %idxprom331 = sext i32 %259 to i64 + %arrayidx332 = getelementptr inbounds i8*, i8** %257, i64 %idxprom331 + %260 = load i8*, i8** %arrayidx332, align 8 + %261 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg333 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %261, i32 0, i32 3 + store i8* %260, i8** %optarg333, align 8 + br label %if.end356 + +if.else334: ; preds = %if.then324 + %262 = load i32, i32* %print_errors, align 4 + %tobool335 = icmp ne i32 %262, 0 + br i1 %tobool335, label %if.then336, label %if.end343 + +if.then336: ; preds = %if.else334 + %263 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %264 = load i8**, i8*** %argv.addr, align 8 + %arrayidx337 = getelementptr inbounds i8*, i8** %264, i64 0 + %265 = load i8*, i8** %arrayidx337, align 8 + %266 = load i8**, i8*** %argv.addr, align 8 + %267 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind338 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %267, i32 0, i32 0 + %268 = load i32, i32* %optind338, align 8 + %sub339 = sub nsw i32 %268, 1 + %idxprom340 = sext i32 %sub339 to i64 + %arrayidx341 = getelementptr inbounds i8*, i8** %266, i64 %idxprom340 + %269 = load i8*, i8** %arrayidx341, align 8 + %call342 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %263, i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.4.315, i64 0, i64 0), i8* %265, i8* %269) #19 + br label %if.end343 + +if.end343: ; preds = %if.then336, %if.else334 + %270 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar344 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %270, i32 0, i32 5 + %271 = load i8*, i8** %__nextchar344, align 8 + %call345 = call i64 @strlen(i8* %271) #21 + %272 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar346 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %272, i32 0, i32 5 + %273 = load i8*, i8** %__nextchar346, align 8 + %add.ptr347 = getelementptr inbounds i8, i8* %273, i64 %call345 + store i8* %add.ptr347, i8** %__nextchar346, align 8 + %274 = load %struct.option*, %struct.option** %pfound, align 8 + %val348 = getelementptr inbounds %struct.option, %struct.option* %274, i32 0, i32 3 + %275 = load i32, i32* %val348, align 8 + %276 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt349 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %276, i32 0, i32 2 + store i32 %275, i32* %optopt349, align 8 + %277 = load i8*, i8** %optstring.addr, align 8 + %arrayidx350 = getelementptr inbounds i8, i8* %277, i64 0 + %278 = load i8, i8* %arrayidx350, align 1 + %conv351 = sext i8 %278 to i32 + %cmp352 = icmp eq i32 %conv351, 58 + %279 = zext i1 %cmp352 to i64 + %cond = select i1 %cmp352, i32 58, i32 63 + store i32 %cond, i32* %retval, align 4 + br label %return + +if.end356: ; preds = %if.else320, %if.then328, %if.then284 + %280 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar357 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %280, i32 0, i32 5 + %281 = load i8*, i8** %__nextchar357, align 8 + %call358 = call i64 @strlen(i8* %281) #21 + %282 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar359 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %282, i32 0, i32 5 + %283 = load i8*, i8** %__nextchar359, align 8 + %add.ptr360 = getelementptr inbounds i8, i8* %283, i64 %call358 + store i8* %add.ptr360, i8** %__nextchar359, align 8 + %284 = load i32*, i32** %longind.addr, align 8 + %cmp361 = icmp ne i32* %284, null + br i1 %cmp361, label %if.then363, label %if.end364 + +if.then363: ; preds = %if.end356 + %285 = load i32, i32* %option_index, align 4 + %286 = load i32*, i32** %longind.addr, align 8 + store i32 %285, i32* %286, align 4 + br label %if.end364 + +if.end364: ; preds = %if.then363, %if.end356 + %287 = load %struct.option*, %struct.option** %pfound, align 8 + %flag365 = getelementptr inbounds %struct.option, %struct.option* %287, i32 0, i32 2 + %288 = load i32*, i32** %flag365, align 8 + %tobool366 = icmp ne i32* %288, null + %289 = load %struct.option*, %struct.option** %pfound, align 8 + %val368 = getelementptr inbounds %struct.option, %struct.option* %289, i32 0, i32 3 + %290 = load i32, i32* %val368, align 8 + br i1 %tobool366, label %if.then367, label %if.end370 + +if.then367: ; preds = %if.end364 + %291 = load %struct.option*, %struct.option** %pfound, align 8 + %flag369 = getelementptr inbounds %struct.option, %struct.option* %291, i32 0, i32 2 + %292 = load i32*, i32** %flag369, align 8 + store i32 %290, i32* %292, align 4 + store i32 0, i32* %retval, align 4 + br label %return + +if.end370: ; preds = %if.end364 + store i32 %290, i32* %retval, align 4 + br label %return + +if.end372: ; preds = %if.end274 + %293 = load i32, i32* %long_only.addr, align 4 + %tobool373 = icmp ne i32 %293, 0 + br i1 %tobool373, label %lor.lhs.false374, label %if.then388 + +lor.lhs.false374: ; preds = %if.end372 + %294 = load i8**, i8*** %argv.addr, align 8 + %295 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind375 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %295, i32 0, i32 0 + %296 = load i32, i32* %optind375, align 8 + %idxprom376 = sext i32 %296 to i64 + %arrayidx377 = getelementptr inbounds i8*, i8** %294, i64 %idxprom376 + %297 = load i8*, i8** %arrayidx377, align 8 + %arrayidx378 = getelementptr inbounds i8, i8* %297, i64 1 + %298 = load i8, i8* %arrayidx378, align 1 + %conv379 = sext i8 %298 to i32 + %cmp380 = icmp eq i32 %conv379, 45 + br i1 %cmp380, label %if.then388, label %lor.lhs.false382 + +lor.lhs.false382: ; preds = %lor.lhs.false374 + %299 = load i8*, i8** %optstring.addr, align 8 + %300 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar383 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %300, i32 0, i32 5 + %301 = load i8*, i8** %__nextchar383, align 8 + %302 = load i8, i8* %301, align 1 + %conv384 = sext i8 %302 to i32 + %call385 = call i8* @strchr(i8* %299, i32 %conv384) #21 + %cmp386 = icmp eq i8* %call385, null + br i1 %cmp386, label %if.then388, label %if.end418 + +if.then388: ; preds = %lor.lhs.false382, %lor.lhs.false374, %if.end372 + %303 = load i32, i32* %print_errors, align 4 + %tobool389 = icmp ne i32 %303, 0 + br i1 %tobool389, label %if.then390, label %if.end412 + +if.then390: ; preds = %if.then388 + %304 = load i8**, i8*** %argv.addr, align 8 + %305 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind391 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %305, i32 0, i32 0 + %306 = load i32, i32* %optind391, align 8 + %idxprom392 = sext i32 %306 to i64 + %arrayidx393 = getelementptr inbounds i8*, i8** %304, i64 %idxprom392 + %307 = load i8*, i8** %arrayidx393, align 8 + %arrayidx394 = getelementptr inbounds i8, i8* %307, i64 1 + %308 = load i8, i8* %arrayidx394, align 1 + %conv395 = sext i8 %308 to i32 + %cmp396 = icmp eq i32 %conv395, 45 + %309 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %310 = load i8**, i8*** %argv.addr, align 8 + %arrayidx399 = getelementptr inbounds i8*, i8** %310, i64 0 + %311 = load i8*, i8** %arrayidx399, align 8 + br i1 %cmp396, label %if.then398, label %if.else402 + +if.then398: ; preds = %if.then390 + %312 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar400 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %312, i32 0, i32 5 + %313 = load i8*, i8** %__nextchar400, align 8 + %call401 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %309, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.5.316, i64 0, i64 0), i8* %311, i8* %313) #19 + br label %if.end412 + +if.else402: ; preds = %if.then390 + %314 = load i8**, i8*** %argv.addr, align 8 + %315 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind404 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %315, i32 0, i32 0 + %316 = load i32, i32* %optind404, align 8 + %idxprom405 = sext i32 %316 to i64 + %arrayidx406 = getelementptr inbounds i8*, i8** %314, i64 %idxprom405 + %317 = load i8*, i8** %arrayidx406, align 8 + %arrayidx407 = getelementptr inbounds i8, i8* %317, i64 0 + %318 = load i8, i8* %arrayidx407, align 1 + %conv408 = sext i8 %318 to i32 + %319 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar409 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %319, i32 0, i32 5 + %320 = load i8*, i8** %__nextchar409, align 8 + %call410 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %309, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.6.317, i64 0, i64 0), i8* %311, i32 %conv408, i8* %320) #19 + br label %if.end412 + +if.end412: ; preds = %if.then398, %if.else402, %if.then388 + %321 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar413 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %321, i32 0, i32 5 + store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.7.318, i64 0, i64 0), i8** %__nextchar413, align 8 + %322 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind414 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %322, i32 0, i32 0 + %323 = load i32, i32* %optind414, align 8 + %inc415 = add nsw i32 %323, 1 + store i32 %inc415, i32* %optind414, align 8 + %324 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt416 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %324, i32 0, i32 2 + store i32 0, i32* %optopt416, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.end418: ; preds = %lor.lhs.false382, %lor.lhs.false191, %lor.lhs.false182, %if.end171 + %325 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar419 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %325, i32 0, i32 5 + %326 = load i8*, i8** %__nextchar419, align 8 + %incdec.ptr420 = getelementptr inbounds i8, i8* %326, i32 1 + store i8* %incdec.ptr420, i8** %__nextchar419, align 8 + %327 = load i8, i8* %326, align 1 + store i8 %327, i8* %c, align 1 + %328 = load i8*, i8** %optstring.addr, align 8 + %329 = load i8, i8* %c, align 1 + %conv421 = sext i8 %329 to i32 + %call422 = call i8* @strchr(i8* %328, i32 %conv421) #21 + store i8* %call422, i8** %temp, align 8 + %330 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar423 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %330, i32 0, i32 5 + %331 = load i8*, i8** %__nextchar423, align 8 + %332 = load i8, i8* %331, align 1 + %conv424 = sext i8 %332 to i32 + %cmp425 = icmp eq i32 %conv424, 0 + br i1 %cmp425, label %if.then427, label %if.end430 + +if.then427: ; preds = %if.end418 + %333 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind428 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %333, i32 0, i32 0 + %334 = load i32, i32* %optind428, align 8 + %inc429 = add nsw i32 %334, 1 + store i32 %inc429, i32* %optind428, align 8 + br label %if.end430 + +if.end430: ; preds = %if.then427, %if.end418 + %335 = load i8*, i8** %temp, align 8 + %cmp431 = icmp eq i8* %335, null + br i1 %cmp431, label %if.then437, label %lor.lhs.false433 + +lor.lhs.false433: ; preds = %if.end430 + %336 = load i8, i8* %c, align 1 + %conv434 = sext i8 %336 to i32 + %cmp435 = icmp eq i32 %conv434, 58 + br i1 %cmp435, label %if.then437, label %if.end453 + +if.then437: ; preds = %lor.lhs.false433, %if.end430 + %337 = load i32, i32* %print_errors, align 4 + %tobool438 = icmp ne i32 %337, 0 + br i1 %tobool438, label %if.then439, label %if.end450 + +if.then439: ; preds = %if.then437 + %338 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__posixly_correct = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %338, i32 0, i32 7 + %339 = load i32, i32* %__posixly_correct, align 4 + %tobool440 = icmp ne i32 %339, 0 + %340 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %341 = load i8**, i8*** %argv.addr, align 8 + %arrayidx442 = getelementptr inbounds i8*, i8** %341, i64 0 + %342 = load i8*, i8** %arrayidx442, align 8 + %343 = load i8, i8* %c, align 1 + %conv443 = sext i8 %343 to i32 + br i1 %tobool440, label %if.then441, label %if.else445 + +if.then441: ; preds = %if.then439 + %call444 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %340, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.8.319, i64 0, i64 0), i8* %342, i32 %conv443) #19 + br label %if.end450 + +if.else445: ; preds = %if.then439 + %call448 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %340, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.9.320, i64 0, i64 0), i8* %342, i32 %conv443) #19 + br label %if.end450 + +if.end450: ; preds = %if.then441, %if.else445, %if.then437 + %344 = load i8, i8* %c, align 1 + %conv451 = sext i8 %344 to i32 + %345 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt452 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %345, i32 0, i32 2 + store i32 %conv451, i32* %optopt452, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.end453: ; preds = %lor.lhs.false433 + %346 = load i8*, i8** %temp, align 8 + %arrayidx454 = getelementptr inbounds i8, i8* %346, i64 1 + %347 = load i8, i8* %arrayidx454, align 1 + %conv455 = sext i8 %347 to i32 + %cmp456 = icmp eq i32 %conv455, 58 + br i1 %cmp456, label %if.then458, label %if.end517 + +if.then458: ; preds = %if.end453 + %348 = load i8*, i8** %temp, align 8 + %arrayidx459 = getelementptr inbounds i8, i8* %348, i64 2 + %349 = load i8, i8* %arrayidx459, align 1 + %conv460 = sext i8 %349 to i32 + %cmp461 = icmp eq i32 %conv460, 58 + %350 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar464 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %350, i32 0, i32 5 + %351 = load i8*, i8** %__nextchar464, align 8 + %352 = load i8, i8* %351, align 1 + %conv465 = sext i8 %352 to i32 + %cmp466 = icmp ne i32 %conv465, 0 + %353 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + br i1 %cmp461, label %if.then463, label %if.else477 + +if.then463: ; preds = %if.then458 + br i1 %cmp466, label %if.then468, label %if.else473 + +if.then468: ; preds = %if.then463 + %__nextchar469 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 5 + %354 = load i8*, i8** %__nextchar469, align 8 + %355 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg470 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %355, i32 0, i32 3 + store i8* %354, i8** %optarg470, align 8 + %356 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind471 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %356, i32 0, i32 0 + %357 = load i32, i32* %optind471, align 8 + %inc472 = add nsw i32 %357, 1 + store i32 %inc472, i32* %optind471, align 8 + br label %if.end475 + +if.else473: ; preds = %if.then463 + %optarg474 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 3 + store i8* null, i8** %optarg474, align 8 + br label %if.end475 + +if.end475: ; preds = %if.else473, %if.then468 + %358 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar476 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %358, i32 0, i32 5 + store i8* null, i8** %__nextchar476, align 8 + br label %if.end517 + +if.else477: ; preds = %if.then458 + br i1 %cmp466, label %if.then482, label %if.else487 + +if.then482: ; preds = %if.else477 + %__nextchar483 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 5 + %359 = load i8*, i8** %__nextchar483, align 8 + %360 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg484 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %360, i32 0, i32 3 + store i8* %359, i8** %optarg484, align 8 + %361 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind485 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %361, i32 0, i32 0 + %362 = load i32, i32* %optind485, align 8 + %inc486 = add nsw i32 %362, 1 + store i32 %inc486, i32* %optind485, align 8 + br label %if.end514 + +if.else487: ; preds = %if.else477 + %optind488 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 0 + %363 = load i32, i32* %optind488, align 8 + %364 = load i32, i32* %argc.addr, align 4 + %cmp489 = icmp eq i32 %363, %364 + br i1 %cmp489, label %if.then491, label %if.else507 + +if.then491: ; preds = %if.else487 + %365 = load i32, i32* %print_errors, align 4 + %tobool492 = icmp ne i32 %365, 0 + br i1 %tobool492, label %if.then493, label %if.end497 + +if.then493: ; preds = %if.then491 + %366 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %367 = load i8**, i8*** %argv.addr, align 8 + %arrayidx494 = getelementptr inbounds i8*, i8** %367, i64 0 + %368 = load i8*, i8** %arrayidx494, align 8 + %369 = load i8, i8* %c, align 1 + %conv495 = sext i8 %369 to i32 + %call496 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %366, i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.10.321, i64 0, i64 0), i8* %368, i32 %conv495) #19 + br label %if.end497 + +if.end497: ; preds = %if.then493, %if.then491 + %370 = load i8, i8* %c, align 1 + %conv498 = sext i8 %370 to i32 + %371 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt499 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %371, i32 0, i32 2 + store i32 %conv498, i32* %optopt499, align 8 + %372 = load i8*, i8** %optstring.addr, align 8 + %arrayidx500 = getelementptr inbounds i8, i8* %372, i64 0 + %373 = load i8, i8* %arrayidx500, align 1 + %conv501 = sext i8 %373 to i32 + %cmp502 = icmp eq i32 %conv501, 58 + br i1 %cmp502, label %if.then504, label %if.else505 + +if.then504: ; preds = %if.end497 + store i8 58, i8* %c, align 1 + br label %if.end514 + +if.else505: ; preds = %if.end497 + store i8 63, i8* %c, align 1 + br label %if.end514 + +if.else507: ; preds = %if.else487 + %374 = load i8**, i8*** %argv.addr, align 8 + %375 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind508 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %375, i32 0, i32 0 + %376 = load i32, i32* %optind508, align 8 + %inc509 = add nsw i32 %376, 1 + store i32 %inc509, i32* %optind508, align 8 + %idxprom510 = sext i32 %376 to i64 + %arrayidx511 = getelementptr inbounds i8*, i8** %374, i64 %idxprom510 + %377 = load i8*, i8** %arrayidx511, align 8 + %378 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg512 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %378, i32 0, i32 3 + store i8* %377, i8** %optarg512, align 8 + br label %if.end514 + +if.end514: ; preds = %if.else507, %if.else505, %if.then504, %if.then482 + %379 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar515 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %379, i32 0, i32 5 + store i8* null, i8** %__nextchar515, align 8 + br label %if.end517 + +if.end517: ; preds = %if.end475, %if.end514, %if.end453 + %380 = load i8, i8* %c, align 1 + %conv518 = sext i8 %380 to i32 + store i32 %conv518, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end517, %if.end450, %if.end412, %if.end370, %if.then367, %if.end343, %if.end312, %if.end267, %if.end148, %if.then147, %if.end126, %if.then4 + %381 = load i32, i32* %retval, align 4 + ret i32 %381 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @_getopt_initialize(i32 %argc, i8** %argv, i8* %optstring, %struct._getopt_data* %d) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + %d.addr = alloca %struct._getopt_data*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + store %struct._getopt_data* %d, %struct._getopt_data** %d.addr, align 8 + %0 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %0, i32 0, i32 0 + %1 = load i32, i32* %optind, align 8 + %2 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %2, i32 0, i32 9 + store i32 %1, i32* %__last_nonopt, align 4 + %3 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %3, i32 0, i32 8 + store i32 %1, i32* %__first_nonopt, align 8 + %4 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %4, i32 0, i32 5 + store i8* null, i8** %__nextchar, align 8 + %call = call i8* @getenv(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.11.322, i64 0, i64 0)) #20 + %tobool = icmp ne i8* %call, null + %lnot = xor i1 %tobool, true + %lnot1 = xor i1 %lnot, true + %lnot.ext = zext i1 %lnot1 to i32 + %5 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__posixly_correct = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %5, i32 0, i32 7 + store i32 %lnot.ext, i32* %__posixly_correct, align 4 + %6 = load i8*, i8** %optstring.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %6, i64 0 + %7 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %7 to i32 + %cmp = icmp eq i32 %conv, 45 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %8 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %8, i32 0, i32 6 + store i32 2, i32* %__ordering, align 8 + %9 = load i8*, i8** %optstring.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %optstring.addr, align 8 + br label %if.end18 + +if.else: ; preds = %entry + %10 = load i8*, i8** %optstring.addr, align 8 + %arrayidx3 = getelementptr inbounds i8, i8* %10, i64 0 + %11 = load i8, i8* %arrayidx3, align 1 + %conv4 = sext i8 %11 to i32 + %cmp5 = icmp eq i32 %conv4, 43 + %12 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + br i1 %cmp5, label %if.then7, label %if.else10 + +if.then7: ; preds = %if.else + %__ordering8 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %12, i32 0, i32 6 + store i32 0, i32* %__ordering8, align 8 + %13 = load i8*, i8** %optstring.addr, align 8 + %incdec.ptr9 = getelementptr inbounds i8, i8* %13, i32 1 + store i8* %incdec.ptr9, i8** %optstring.addr, align 8 + br label %if.end18 + +if.else10: ; preds = %if.else + %__posixly_correct11 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %12, i32 0, i32 7 + %14 = load i32, i32* %__posixly_correct11, align 4 + %tobool12 = icmp ne i32 %14, 0 + %15 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering14 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %15, i32 0, i32 6 + br i1 %tobool12, label %if.then13, label %if.else15 + +if.then13: ; preds = %if.else10 + store i32 0, i32* %__ordering14, align 8 + br label %if.end18 + +if.else15: ; preds = %if.else10 + store i32 1, i32* %__ordering14, align 8 + br label %if.end18 + +if.end18: ; preds = %if.then7, %if.else15, %if.then13, %if.then + %16 = load i8*, i8** %optstring.addr, align 8 + ret i8* %16 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @exchange(i8** %argv, %struct._getopt_data* %d) #0 { +entry: + %argv.addr = alloca i8**, align 8 + %d.addr = alloca %struct._getopt_data*, align 8 + %bottom = alloca i32, align 4 + %middle = alloca i32, align 4 + %top = alloca i32, align 4 + %tem = alloca i8*, align 8 + %len = alloca i32, align 4 + %i = alloca i32, align 4 + %len20 = alloca i32, align 4 + %i22 = alloca i32, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store %struct._getopt_data* %d, %struct._getopt_data** %d.addr, align 8 + %0 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %0, i32 0, i32 8 + %1 = load i32, i32* %__first_nonopt, align 8 + store i32 %1, i32* %bottom, align 4 + %2 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %2, i32 0, i32 9 + %3 = load i32, i32* %__last_nonopt, align 4 + store i32 %3, i32* %middle, align 4 + %4 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %4, i32 0, i32 0 + %5 = load i32, i32* %optind, align 8 + store i32 %5, i32* %top, align 4 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %6 = load i32, i32* %top, align 4 + %7 = load i32, i32* %middle, align 4 + %cmp = icmp sgt i32 %6, %7 + %8 = load i32, i32* %middle, align 4 + %9 = load i32, i32* %bottom, align 4 + %cmp1 = icmp sgt i32 %8, %9 + %10 = select i1 %cmp, i1 %cmp1, i1 false + br i1 %10, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %11 = load i32, i32* %top, align 4 + %12 = load i32, i32* %middle, align 4 + %sub = sub nsw i32 %11, %12 + %13 = load i32, i32* %middle, align 4 + %14 = load i32, i32* %bottom, align 4 + %sub2 = sub nsw i32 %13, %14 + %cmp3 = icmp sgt i32 %sub, %sub2 + br i1 %cmp3, label %if.then, label %if.else + +if.then: ; preds = %while.body + %15 = load i32, i32* %middle, align 4 + %16 = load i32, i32* %bottom, align 4 + %sub4 = sub nsw i32 %15, %16 + store i32 %sub4, i32* %len, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.then + %17 = load i32, i32* %i, align 4 + %18 = load i32, i32* %len, align 4 + %cmp5 = icmp slt i32 %17, %18 + br i1 %cmp5, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %19 = load i8**, i8*** %argv.addr, align 8 + %20 = load i32, i32* %bottom, align 4 + %21 = load i32, i32* %i, align 4 + %add = add nsw i32 %20, %21 + %idxprom = sext i32 %add to i64 + %arrayidx = getelementptr inbounds i8*, i8** %19, i64 %idxprom + %22 = load i8*, i8** %arrayidx, align 8 + store i8* %22, i8** %tem, align 8 + %23 = load i8**, i8*** %argv.addr, align 8 + %24 = load i32, i32* %top, align 4 + %25 = load i32, i32* %middle, align 4 + %26 = load i32, i32* %bottom, align 4 + %sub6 = sub nsw i32 %25, %26 + %sub7 = sub nsw i32 %24, %sub6 + %27 = load i32, i32* %i, align 4 + %add8 = add nsw i32 %sub7, %27 + %idxprom9 = sext i32 %add8 to i64 + %arrayidx10 = getelementptr inbounds i8*, i8** %23, i64 %idxprom9 + %28 = load i8*, i8** %arrayidx10, align 8 + %29 = load i8**, i8*** %argv.addr, align 8 + %30 = load i32, i32* %bottom, align 4 + %31 = load i32, i32* %i, align 4 + %add11 = add nsw i32 %30, %31 + %idxprom12 = sext i32 %add11 to i64 + %arrayidx13 = getelementptr inbounds i8*, i8** %29, i64 %idxprom12 + store i8* %28, i8** %arrayidx13, align 8 + %32 = load i8*, i8** %tem, align 8 + %33 = load i8**, i8*** %argv.addr, align 8 + %34 = load i32, i32* %top, align 4 + %35 = load i32, i32* %middle, align 4 + %36 = load i32, i32* %bottom, align 4 + %sub14 = sub nsw i32 %35, %36 + %sub15 = sub nsw i32 %34, %sub14 + %37 = load i32, i32* %i, align 4 + %add16 = add nsw i32 %sub15, %37 + %idxprom17 = sext i32 %add16 to i64 + %arrayidx18 = getelementptr inbounds i8*, i8** %33, i64 %idxprom17 + store i8* %32, i8** %arrayidx18, align 8 + %38 = load i32, i32* %i, align 4 + %inc = add nsw i32 %38, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %39 = load i32, i32* %len, align 4 + %40 = load i32, i32* %top, align 4 + %sub19 = sub nsw i32 %40, %39 + store i32 %sub19, i32* %top, align 4 + br label %if.end + +if.else: ; preds = %while.body + %41 = load i32, i32* %top, align 4 + %42 = load i32, i32* %middle, align 4 + %sub21 = sub nsw i32 %41, %42 + store i32 %sub21, i32* %len20, align 4 + store i32 0, i32* %i22, align 4 + br label %for.cond23 + +for.cond23: ; preds = %for.body25, %if.else + %43 = load i32, i32* %i22, align 4 + %44 = load i32, i32* %len20, align 4 + %cmp24 = icmp slt i32 %43, %44 + br i1 %cmp24, label %for.body25, label %for.end40 + +for.body25: ; preds = %for.cond23 + %45 = load i8**, i8*** %argv.addr, align 8 + %46 = load i32, i32* %bottom, align 4 + %47 = load i32, i32* %i22, align 4 + %add26 = add nsw i32 %46, %47 + %idxprom27 = sext i32 %add26 to i64 + %arrayidx28 = getelementptr inbounds i8*, i8** %45, i64 %idxprom27 + %48 = load i8*, i8** %arrayidx28, align 8 + store i8* %48, i8** %tem, align 8 + %49 = load i8**, i8*** %argv.addr, align 8 + %50 = load i32, i32* %middle, align 4 + %51 = load i32, i32* %i22, align 4 + %add29 = add nsw i32 %50, %51 + %idxprom30 = sext i32 %add29 to i64 + %arrayidx31 = getelementptr inbounds i8*, i8** %49, i64 %idxprom30 + %52 = load i8*, i8** %arrayidx31, align 8 + %53 = load i8**, i8*** %argv.addr, align 8 + %54 = load i32, i32* %bottom, align 4 + %55 = load i32, i32* %i22, align 4 + %add32 = add nsw i32 %54, %55 + %idxprom33 = sext i32 %add32 to i64 + %arrayidx34 = getelementptr inbounds i8*, i8** %53, i64 %idxprom33 + store i8* %52, i8** %arrayidx34, align 8 + %56 = load i8*, i8** %tem, align 8 + %57 = load i8**, i8*** %argv.addr, align 8 + %58 = load i32, i32* %middle, align 4 + %59 = load i32, i32* %i22, align 4 + %add35 = add nsw i32 %58, %59 + %idxprom36 = sext i32 %add35 to i64 + %arrayidx37 = getelementptr inbounds i8*, i8** %57, i64 %idxprom36 + store i8* %56, i8** %arrayidx37, align 8 + %60 = load i32, i32* %i22, align 4 + %inc39 = add nsw i32 %60, 1 + store i32 %inc39, i32* %i22, align 4 + br label %for.cond23 + +for.end40: ; preds = %for.cond23 + %61 = load i32, i32* %len20, align 4 + %62 = load i32, i32* %bottom, align 4 + %add41 = add nsw i32 %62, %61 + store i32 %add41, i32* %bottom, align 4 + br label %if.end + +if.end: ; preds = %for.end40, %for.end + br label %while.cond + +while.end: ; preds = %while.cond + %63 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind42 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %63, i32 0, i32 0 + %64 = load i32, i32* %optind42, align 8 + %65 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt43 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %65, i32 0, i32 9 + %66 = load i32, i32* %__last_nonopt43, align 4 + %sub44 = sub nsw i32 %64, %66 + %67 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt45 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %67, i32 0, i32 8 + %68 = load i32, i32* %__first_nonopt45, align 8 + %add46 = add nsw i32 %68, %sub44 + store i32 %add46, i32* %__first_nonopt45, align 8 + %69 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind47 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %69, i32 0, i32 0 + %70 = load i32, i32* %optind47, align 8 + %71 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt48 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %71, i32 0, i32 9 + store i32 %70, i32* %__last_nonopt48, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getopt(i32 %argc, i8** %argv, i8* %optstring) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + %0 = load i32, i32* %argc.addr, align 4 + %1 = load i8**, i8*** %argv.addr, align 8 + %2 = load i8*, i8** %optstring.addr, align 8 + %call = call i32 @_getopt_internal(i32 %0, i8** %1, i8* %2, %struct.option* null, i32* null, i32 0) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getopt_long(i32 %argc, i8** %argv, i8* %options, %struct.option* %long_options, i32* %opt_index) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %options.addr = alloca i8*, align 8 + %long_options.addr = alloca %struct.option*, align 8 + %opt_index.addr = alloca i32*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %options, i8** %options.addr, align 8 + store %struct.option* %long_options, %struct.option** %long_options.addr, align 8 + store i32* %opt_index, i32** %opt_index.addr, align 8 + %0 = load i32, i32* %argc.addr, align 4 + %1 = load i8**, i8*** %argv.addr, align 8 + %2 = load i8*, i8** %options.addr, align 8 + %3 = load %struct.option*, %struct.option** %long_options.addr, align 8 + %4 = load i32*, i32** %opt_index.addr, align 8 + %call = call i32 @_getopt_internal(i32 %0, i8** %1, i8* %2, %struct.option* %3, i32* %4, i32 0) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getopt_long_only(i32 %argc, i8** %argv, i8* %options, %struct.option* %long_options, i32* %opt_index) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %options.addr = alloca i8*, align 8 + %long_options.addr = alloca %struct.option*, align 8 + %opt_index.addr = alloca i32*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %options, i8** %options.addr, align 8 + store %struct.option* %long_options, %struct.option** %long_options.addr, align 8 + store i32* %opt_index, i32** %opt_index.addr, align 8 + %0 = load i32, i32* %argc.addr, align 4 + %1 = load i8**, i8*** %argv.addr, align 8 + %2 = load i8*, i8** %options.addr, align 8 + %3 = load %struct.option*, %struct.option** %long_options.addr, align 8 + %4 = load i32*, i32** %opt_index.addr, align 8 + %call = call i32 @_getopt_internal(i32 %0, i8** %1, i8* %2, %struct.option* %3, i32* %4, i32 1) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define %struct.__uclibc_locale_struct.201* @newlocale(i32 %category_mask, i8* %locale, %struct.__uclibc_locale_struct.201* %base) #0 { +entry: + %retval = alloca %struct.__uclibc_locale_struct.201*, align 8 + %category_mask.addr = alloca i32, align 4 + %locale.addr = alloca i8*, align 8 + %base.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %p = alloca i8*, align 8 + %i = alloca i32, align 4 + %j = alloca i32, align 4 + %k = alloca i32, align 4 + %new_selector = alloca [14 x i8], align 1 + store i32 %category_mask, i32* %category_mask.addr, align 4 + store i8* %locale, i8** %locale.addr, align 8 + store %struct.__uclibc_locale_struct.201* %base, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %0 = load i32, i32* %category_mask.addr, align 4 + %cmp = icmp eq i32 %0, 64 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 8127, i32* %category_mask.addr, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i8*, i8** %locale.addr, align 8 + %tobool = icmp eq i8* %1, null + %2 = load i32, i32* %category_mask.addr, align 4 + %cmp1 = icmp ugt i32 %2, 8127 + %or.cond = or i1 %tobool, %cmp1 + br i1 %or.cond, label %INVALID, label %if.end3 + +INVALID: ; preds = %if.else, %do.end, %if.end + store i32 22, i32* @errno, align 4 + store %struct.__uclibc_locale_struct.201* null, %struct.__uclibc_locale_struct.201** %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %3 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tobool4 = icmp ne %struct.__uclibc_locale_struct.201* %3, null + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %4, i32 0, i32 6 + %arraydecay5 = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + %cond = select i1 %tobool4, i8* %arraydecay5, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.327, i64 0, i64 0) + %call = call i8* @strcpy(i8* %arraydecay, i8* %cond) #20 + %5 = load i8*, i8** %locale.addr, align 8 + %6 = load i8, i8* %5, align 1 + %tobool6 = icmp ne i8 %6, 0 + br i1 %tobool6, label %if.else, label %if.then7 + +if.then7: ; preds = %if.end3 + store i32 1, i32* %i, align 4 + store i32 0, i32* %k, align 4 + br label %do.body + +do.body: ; preds = %if.end25, %if.then7 + %7 = load i32, i32* %category_mask.addr, align 4 + %8 = load i32, i32* %i, align 4 + %and = and i32 %7, %8 + %tobool8 = icmp ne i32 %and, 0 + br i1 %tobool8, label %if.then9, label %if.end25 + +if.then9: ; preds = %do.body + %9 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %9, i32 0, i32 34 + %arraydecay10 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names, i64 0, i64 0 + %10 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names11 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %10, i32 0, i32 34 + %11 = load i32, i32* %k, align 4 + %idxprom = sext i32 %11 to i64 + %arrayidx = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names11, i64 0, i64 %idxprom + %12 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %12 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay10, i64 %idx.ext + store i8* %add.ptr, i8** getelementptr inbounds ([4 x i8*], [4 x i8*]* @newlocale.envstr, i64 0, i64 1), align 8 + store i32 0, i32* %j, align 4 + br label %do.body12 + +do.body12: ; preds = %land.rhs, %lor.rhs, %if.then9 + %13 = load i32, i32* %j, align 4 + %idxprom13 = sext i32 %13 to i64 + %arrayidx14 = getelementptr inbounds [4 x i8*], [4 x i8*]* @newlocale.envstr, i64 0, i64 %idxprom13 + %14 = load i8*, i8** %arrayidx14, align 8 + store i8* %14, i8** %p, align 8 + %15 = load i32, i32* %j, align 4 + %inc = add nsw i32 %15, 1 + store i32 %inc, i32* %j, align 4 + %cmp15 = icmp slt i32 %inc, 4 + br i1 %cmp15, label %land.rhs, label %do.end + +land.rhs: ; preds = %do.body12 + %16 = load i8*, i8** %p, align 8 + %call17 = call i8* @getenv(i8* %16) #20 + store i8* %call17, i8** %p, align 8 + %tobool18 = icmp ne i8* %call17, null + br i1 %tobool18, label %lor.rhs, label %do.body12 + +lor.rhs: ; preds = %land.rhs + %17 = load i8*, i8** %p, align 8 + %18 = load i8, i8* %17, align 1 + %tobool19 = icmp ne i8 %18, 0 + %lnot = xor i1 %tobool19, true + br i1 %lnot, label %do.body12, label %do.end + +do.end: ; preds = %do.body12, %lor.rhs + %19 = load i32, i32* %i, align 4 + %20 = load i8*, i8** %p, align 8 + %arraydecay20 = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %call21 = call i32 @find_locale(i32 %19, i8* %20, i8* %arraydecay20) #19 + %tobool22 = icmp ne i32 %call21, 0 + br i1 %tobool22, label %if.end25, label %INVALID + +if.end25: ; preds = %do.end, %do.body + %21 = load i32, i32* %i, align 4 + %22 = load i32, i32* %i, align 4 + %add = add nsw i32 %22, %21 + store i32 %add, i32* %i, align 4 + %23 = load i32, i32* %k, align 4 + %inc27 = add nsw i32 %23, 1 + store i32 %inc27, i32* %k, align 4 + %cmp28 = icmp slt i32 %inc27, 6 + br i1 %cmp28, label %do.body, label %if.end36 + +if.else: ; preds = %if.end3 + %24 = load i32, i32* %category_mask.addr, align 4 + %25 = load i8*, i8** %locale.addr, align 8 + %arraydecay31 = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %call32 = call i8* @composite_locale(i32 %24, i8* %25, i8* %arraydecay31) #19 + %tobool33 = icmp ne i8* %call32, null + br i1 %tobool33, label %if.end36, label %INVALID + +if.end36: ; preds = %if.else, %if.end25 + %26 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tobool37 = icmp ne %struct.__uclibc_locale_struct.201* %26, null + br i1 %tobool37, label %if.end44, label %if.then38 + +if.then38: ; preds = %if.end36 + %call39 = call noalias i8* @calloc(i64 1, i64 3320) #20 + %27 = bitcast i8* %call39 to %struct.__uclibc_locale_struct.201* + store %struct.__uclibc_locale_struct.201* %27, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cmp40 = icmp eq %struct.__uclibc_locale_struct.201* %27, null + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + br i1 %cmp40, label %if.then42, label %if.end43 + +if.then42: ; preds = %if.then38 + store %struct.__uclibc_locale_struct.201* %28, %struct.__uclibc_locale_struct.201** %retval, align 8 + br label %return + +if.end43: ; preds = %if.then38 + call void @_locale_init_l(%struct.__uclibc_locale_struct.201* %28) #19 + br label %if.end44 + +if.end44: ; preds = %if.end43, %if.end36 + %arraydecay45 = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %29 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call46 = call i32 @_locale_set_l(i8* %arraydecay45, %struct.__uclibc_locale_struct.201* %29) #19 + %30 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + store %struct.__uclibc_locale_struct.201* %30, %struct.__uclibc_locale_struct.201** %retval, align 8 + br label %return + +return: ; preds = %if.end44, %if.then42, %INVALID + %31 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %retval, align 8 + ret %struct.__uclibc_locale_struct.201* %31 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @find_locale(i32 %category_mask, i8* %p, i8* %new_locale) #0 { +entry: + %retval = alloca i32, align 4 + %category_mask.addr = alloca i32, align 4 + %p.addr = alloca i8*, align 8 + %new_locale.addr = alloca i8*, align 8 + %i = alloca i32, align 4 + %s = alloca i8*, align 8 + %n = alloca i16, align 2 + %lang_cult = alloca i8, align 1 + %codeset = alloca i8, align 1 + %buf = alloca [18 x i8], align 16 + %q = alloca i8*, align 8 + store i32 %category_mask, i32* %category_mask.addr, align 4 + store i8* %p, i8** %p.addr, align 8 + store i8* %new_locale, i8** %new_locale.addr, align 8 + %0 = load i8*, i8** %p.addr, align 8 + %call = call i8* @strchr(i8* %0, i32 64) #21 + store i8* %call, i8** %q, align 8 + %cmp = icmp ne i8* %call, null + br i1 %cmp, label %if.then, label %if.end27 + +if.then: ; preds = %entry + %1 = load i8*, i8** %q, align 8 + %2 = load i8*, i8** %p.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %1 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %2 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %sub = sub nsw i64 %sub.ptr.sub, 5 + %cmp1 = icmp ugt i64 %sub, 13 + br i1 %cmp1, label %if.then4, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then + %3 = load i8*, i8** %p.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %3, i64 2 + %4 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %4 to i32 + %cmp2 = icmp ne i32 %conv, 95 + br i1 %cmp2, label %if.then4, label %if.end + +if.then4: ; preds = %lor.lhs.false, %if.then + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %lor.lhs.false + %5 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_at_modifiers = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %5, i32 0, i32 33 + %arraydecay = getelementptr inbounds [18 x i8], [18 x i8]* %locale_at_modifiers, i64 0, i64 0 + store i8* %arraydecay, i8** %s, align 8 + br label %do.body + +do.body: ; preds = %if.end8, %if.end + %6 = load i8*, i8** %s, align 8 + %add.ptr = getelementptr inbounds i8, i8* %6, i64 2 + %7 = load i8*, i8** %q, align 8 + %add.ptr5 = getelementptr inbounds i8, i8* %7, i64 1 + %call6 = call i32 @strcmp(i8* %add.ptr, i8* %add.ptr5) #21 + %tobool = icmp ne i32 %call6, 0 + br i1 %tobool, label %if.end8, label %do.end + +if.end8: ; preds = %do.body + %8 = load i8*, i8** %s, align 8 + %9 = load i8, i8* %8, align 1 + %conv9 = zext i8 %9 to i32 + %add = add nsw i32 2, %conv9 + %10 = load i8*, i8** %s, align 8 + %idx.ext = sext i32 %add to i64 + %add.ptr10 = getelementptr inbounds i8, i8* %10, i64 %idx.ext + store i8* %add.ptr10, i8** %s, align 8 + %11 = load i8*, i8** %s, align 8 + %12 = load i8, i8* %11, align 1 + %tobool11 = icmp ne i8 %12, 0 + br i1 %tobool11, label %do.body, label %do.end + +do.end: ; preds = %do.body, %if.end8 + %13 = load i8*, i8** %s, align 8 + %14 = load i8, i8* %13, align 1 + %tobool12 = icmp ne i8 %14, 0 + br i1 %tobool12, label %if.end14, label %if.then13 + +if.then13: ; preds = %do.end + store i32 0, i32* %retval, align 4 + br label %return + +if.end14: ; preds = %do.end + %arraydecay15 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 0 + %15 = load i8*, i8** %p.addr, align 8 + %16 = load i8*, i8** %q, align 8 + %17 = load i8*, i8** %p.addr, align 8 + %sub.ptr.lhs.cast16 = ptrtoint i8* %16 to i64 + %sub.ptr.rhs.cast17 = ptrtoint i8* %17 to i64 + %sub.ptr.sub18 = sub i64 %sub.ptr.lhs.cast16, %sub.ptr.rhs.cast17 + %call19 = call i8* @memcpy(i8* %arraydecay15, i8* %15, i64 %sub.ptr.sub18) #20 + %18 = load i8*, i8** %q, align 8 + %19 = load i8*, i8** %p.addr, align 8 + %sub.ptr.lhs.cast20 = ptrtoint i8* %18 to i64 + %sub.ptr.rhs.cast21 = ptrtoint i8* %19 to i64 + %sub.ptr.sub22 = sub i64 %sub.ptr.lhs.cast20, %sub.ptr.rhs.cast21 + %arrayidx23 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 %sub.ptr.sub22 + store i8 0, i8* %arrayidx23, align 1 + %20 = load i8*, i8** %s, align 8 + %arrayidx24 = getelementptr inbounds i8, i8* %20, i64 1 + %21 = load i8, i8* %arrayidx24, align 1 + %arrayidx25 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 2 + store i8 %21, i8* %arrayidx25, align 2 + %arraydecay26 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay26, i8** %p.addr, align 8 + br label %if.end27 + +if.end27: ; preds = %if.end14, %entry + store i8 0, i8* %codeset, align 1 + store i8 0, i8* %lang_cult, align 1 + %22 = load i8*, i8** %p.addr, align 8 + %23 = load i8, i8* %22, align 1 + %conv28 = sext i8 %23 to i32 + %cmp29 = icmp eq i32 %conv28, 67 + br i1 %cmp29, label %land.lhs.true, label %lor.lhs.false33 + +land.lhs.true: ; preds = %if.end27 + %24 = load i8*, i8** %p.addr, align 8 + %arrayidx31 = getelementptr inbounds i8, i8* %24, i64 1 + %25 = load i8, i8* %arrayidx31, align 1 + %tobool32 = icmp ne i8 %25, 0 + br i1 %tobool32, label %lor.lhs.false33, label %FIND_LOCALE + +lor.lhs.false33: ; preds = %land.lhs.true, %if.end27 + %26 = load i8*, i8** %p.addr, align 8 + %call34 = call i32 @strcmp(i8* %26, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @posix, i64 0, i64 0)) #21 + %tobool35 = icmp ne i32 %call34, 0 + br i1 %tobool35, label %if.end37, label %FIND_LOCALE + +if.end37: ; preds = %lor.lhs.false33 + %27 = load i8*, i8** %p.addr, align 8 + %call38 = call i64 @strlen(i8* %27) #21 + %cmp39 = icmp ugt i64 %call38, 5 + br i1 %cmp39, label %land.lhs.true41, label %FIND_LANG_CULT + +land.lhs.true41: ; preds = %if.end37 + %28 = load i8*, i8** %p.addr, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %28, i64 5 + %29 = load i8, i8* %arrayidx42, align 1 + %conv43 = sext i8 %29 to i32 + %cmp44 = icmp eq i32 %conv43, 46 + br i1 %cmp44, label %if.then46, label %FIND_LANG_CULT + +if.then46: ; preds = %land.lhs.true41 + store i8 2, i8* %codeset, align 1 + %30 = load i8*, i8** %p.addr, align 8 + %add.ptr47 = getelementptr inbounds i8, i8* %30, i64 6 + %call48 = call i32 @strcmp(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf8.330, i64 0, i64 0), i8* %add.ptr47) #21 + %cmp49 = icmp ne i32 %call48, 0 + br i1 %cmp49, label %if.then51, label %FIND_LANG_CULT + +if.then51: ; preds = %if.then46 + %31 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %31, i32 0, i32 35 + %arraydecay52 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list, i64 0, i64 0 + store i8* %arraydecay52, i8** %s, align 8 + br label %do.body53 + +do.body53: ; preds = %do.cond64, %if.then51 + %32 = load i8, i8* %codeset, align 1 + %inc = add i8 %32, 1 + store i8 %inc, i8* %codeset, align 1 + %33 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list54 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %33, i32 0, i32 35 + %arraydecay55 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list54, i64 0, i64 0 + %34 = load i8*, i8** %s, align 8 + %35 = load i8, i8* %34, align 1 + %conv56 = zext i8 %35 to i32 + %idx.ext57 = sext i32 %conv56 to i64 + %add.ptr58 = getelementptr inbounds i8, i8* %arraydecay55, i64 %idx.ext57 + %36 = load i8*, i8** %p.addr, align 8 + %add.ptr59 = getelementptr inbounds i8, i8* %36, i64 6 + %call60 = call i32 @strcmp(i8* %add.ptr58, i8* %add.ptr59) #21 + %tobool61 = icmp ne i32 %call60, 0 + br i1 %tobool61, label %do.cond64, label %FIND_LANG_CULT + +do.cond64: ; preds = %do.body53 + %37 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %37, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %38 = load i8, i8* %incdec.ptr, align 1 + %tobool65 = icmp ne i8 %38, 0 + br i1 %tobool65, label %do.body53, label %do.end66 + +do.end66: ; preds = %do.cond64 + store i32 0, i32* %retval, align 4 + br label %return + +FIND_LANG_CULT: ; preds = %if.end37, %land.lhs.true41, %if.then46, %do.body53 + %39 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_names5 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %39, i32 0, i32 32 + %arraydecay69 = getelementptr inbounds [835 x i8], [835 x i8]* %locale_names5, i64 0, i64 0 + store i8* %arraydecay69, i8** %s, align 8 + br label %do.body70 + +do.body70: ; preds = %if.end75, %FIND_LANG_CULT + %40 = load i8, i8* %lang_cult, align 1 + %inc71 = add i8 %40, 1 + store i8 %inc71, i8* %lang_cult, align 1 + %41 = load i8*, i8** %s, align 8 + %42 = load i8*, i8** %p.addr, align 8 + %call72 = call i32 @strncmp(i8* %41, i8* %42, i64 5) #21 + %tobool73 = icmp ne i32 %call72, 0 + br i1 %tobool73, label %if.end75, label %FIND_LOCALE + +if.end75: ; preds = %do.body70 + %43 = load i8*, i8** %s, align 8 + %add.ptr76 = getelementptr inbounds i8, i8* %43, i64 5 + store i8* %add.ptr76, i8** %s, align 8 + %44 = load i8, i8* %lang_cult, align 1 + %conv78 = zext i8 %44 to i32 + %cmp79 = icmp slt i32 %conv78, 167 + br i1 %cmp79, label %do.body70, label %do.end81 + +do.end81: ; preds = %if.end75 + store i32 0, i32* %retval, align 4 + br label %return + +FIND_LOCALE: ; preds = %do.body70, %land.lhs.true, %lor.lhs.false33 + %45 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %45, i32 0, i32 31 + %arraydecay82 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales, i64 0, i64 0 + store i8* %arraydecay82, i8** %s, align 8 + store i16 0, i16* %n, align 2 + br label %do.body83 + +do.body83: ; preds = %if.end120, %FIND_LOCALE + %46 = load i8, i8* %lang_cult, align 1 + %conv84 = zext i8 %46 to i32 + %47 = load i8*, i8** %s, align 8 + %48 = load i8, i8* %47, align 1 + %conv85 = zext i8 %48 to i32 + %cmp86 = icmp eq i32 %conv84, %conv85 + br i1 %cmp86, label %land.lhs.true88, label %if.end120 + +land.lhs.true88: ; preds = %do.body83 + %49 = load i8, i8* %codeset, align 1 + %conv89 = zext i8 %49 to i32 + %50 = load i8*, i8** %s, align 8 + %arrayidx90 = getelementptr inbounds i8, i8* %50, i64 1 + %51 = load i8, i8* %arrayidx90, align 1 + %conv91 = zext i8 %51 to i32 + %cmp92 = icmp eq i32 %conv89, %conv91 + br i1 %cmp92, label %if.then100, label %lor.lhs.false94 + +lor.lhs.false94: ; preds = %land.lhs.true88 + %52 = load i8, i8* %codeset, align 1 + %conv95 = zext i8 %52 to i32 + %53 = load i8*, i8** %s, align 8 + %arrayidx96 = getelementptr inbounds i8, i8* %53, i64 2 + %54 = load i8, i8* %arrayidx96, align 1 + %conv97 = zext i8 %54 to i32 + %cmp98 = icmp eq i32 %conv95, %conv97 + br i1 %cmp98, label %if.then100, label %if.end120 + +if.then100: ; preds = %lor.lhs.false94, %land.lhs.true88 + store i32 1, i32* %i, align 4 + %55 = load i8*, i8** %new_locale.addr, align 8 + %add.ptr101 = getelementptr inbounds i8, i8* %55, i64 1 + store i8* %add.ptr101, i8** %s, align 8 + br label %do.body102 + +do.body102: ; preds = %if.end113, %if.then100 + %56 = load i32, i32* %category_mask.addr, align 4 + %57 = load i32, i32* %i, align 4 + %and = and i32 %56, %57 + %tobool103 = icmp ne i32 %and, 0 + br i1 %tobool103, label %if.then104, label %if.end113 + +if.then104: ; preds = %do.body102 + %58 = load i16, i16* %n, align 2 + %conv105 = zext i16 %58 to i32 + %shr = ashr i32 %conv105, 7 + %or = or i32 %shr, 128 + %conv106 = trunc i32 %or to i8 + %59 = load i8*, i8** %s, align 8 + %arrayidx107 = getelementptr inbounds i8, i8* %59, i64 0 + store i8 %conv106, i8* %arrayidx107, align 1 + %60 = load i16, i16* %n, align 2 + %conv108 = zext i16 %60 to i32 + %and109 = and i32 %conv108, 127 + %or110 = or i32 %and109, 128 + %conv111 = trunc i32 %or110 to i8 + %61 = load i8*, i8** %s, align 8 + %arrayidx112 = getelementptr inbounds i8, i8* %61, i64 1 + store i8 %conv111, i8* %arrayidx112, align 1 + br label %if.end113 + +if.end113: ; preds = %if.then104, %do.body102 + %62 = load i8*, i8** %s, align 8 + %add.ptr114 = getelementptr inbounds i8, i8* %62, i64 2 + store i8* %add.ptr114, i8** %s, align 8 + %63 = load i32, i32* %i, align 4 + %64 = load i32, i32* %i, align 4 + %add115 = add nsw i32 %64, %63 + store i32 %add115, i32* %i, align 4 + %65 = load i32, i32* %i, align 4 + %cmp117 = icmp slt i32 %65, 64 + br i1 %cmp117, label %do.body102, label %do.end119 + +do.end119: ; preds = %if.end113 + %66 = load i32, i32* %i, align 4 + store i32 %66, i32* %retval, align 4 + br label %return + +if.end120: ; preds = %lor.lhs.false94, %do.body83 + %67 = load i8*, i8** %s, align 8 + %add.ptr121 = getelementptr inbounds i8, i8* %67, i64 9 + store i8* %add.ptr121, i8** %s, align 8 + %68 = load i16, i16* %n, align 2 + %inc122 = add i16 %68, 1 + store i16 %inc122, i16* %n, align 2 + %69 = load i16, i16* %n, align 2 + %conv124 = zext i16 %69 to i32 + %cmp125 = icmp sle i32 %conv124, 314 + br i1 %cmp125, label %do.body83, label %do.end127 + +do.end127: ; preds = %if.end120 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end127, %do.end119, %do.end81, %do.end66, %if.then13, %if.then4 + %70 = load i32, i32* %retval, align 4 + ret i32 %70 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @composite_locale(i32 %category_mask, i8* %locale, i8* %new_locale) #0 { +entry: + %retval = alloca i8*, align 8 + %category_mask.addr = alloca i32, align 4 + %locale.addr = alloca i8*, align 8 + %new_locale.addr = alloca i8*, align 8 + %buf = alloca [256 x i8], align 16 + %t = alloca i8*, align 8 + %e = alloca i8*, align 8 + %c = alloca i32, align 4 + %component_mask = alloca i32, align 4 + store i32 %category_mask, i32* %category_mask.addr, align 4 + store i8* %locale, i8** %locale.addr, align 8 + store i8* %new_locale, i8** %new_locale.addr, align 8 + %0 = load i8*, i8** %locale.addr, align 8 + %call = call i8* @strchr(i8* %0, i32 61) #21 + %tobool = icmp ne i8* %call, null + br i1 %tobool, label %if.end4, label %if.then + +if.then: ; preds = %entry + %1 = load i32, i32* %category_mask.addr, align 4 + %2 = load i8*, i8** %locale.addr, align 8 + %3 = load i8*, i8** %new_locale.addr, align 8 + %call1 = call i32 @find_locale(i32 %1, i8* %2, i8* %3) #19 + %tobool2 = icmp ne i32 %call1, 0 + br i1 %tobool2, label %if.end, label %if.then3 + +if.then3: ; preds = %if.then + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %if.then + %4 = load i8*, i8** %new_locale.addr, align 8 + store i8* %4, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %entry + %5 = load i8*, i8** %locale.addr, align 8 + %call5 = call i64 @strlen(i8* %5) #21 + %cmp = icmp uge i64 %call5, 256 + br i1 %cmp, label %if.then6, label %if.end7 + +if.then6: ; preds = %if.end4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end7: ; preds = %if.end4 + %arraydecay = getelementptr inbounds [256 x i8], [256 x i8]* %buf, i64 0, i64 0 + %6 = load i8*, i8** %locale.addr, align 8 + %call8 = call i8* @stpcpy(i8* %arraydecay, i8* %6) #20 + store i32 0, i32* %component_mask, align 4 + %arraydecay9 = getelementptr inbounds [256 x i8], [256 x i8]* %buf, i64 0, i64 0 + %call10 = call i8* @strtok_r(i8* %arraydecay9, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.328, i64 0, i64 0), i8** %e) #20 + store i8* %call10, i8** %t, align 8 + br label %do.body + +do.body: ; preds = %do.cond, %if.end7 + store i32 0, i32* %c, align 4 + br label %while.cond + +while.cond: ; preds = %while.body, %do.body + %7 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %7, i32 0, i32 34 + %arraydecay11 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names, i64 0, i64 0 + %8 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names12 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %8, i32 0, i32 34 + %9 = load i32, i32* %c, align 4 + %idxprom = sext i32 %9 to i64 + %arrayidx = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names12, i64 0, i64 %idxprom + %10 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %10 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay11, i64 %idx.ext + %11 = load i8*, i8** %t, align 8 + %call13 = call i32 @strcmp(i8* %add.ptr, i8* %11) #21 + %tobool14 = icmp ne i32 %call13, 0 + br i1 %tobool14, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %12 = load i32, i32* %c, align 4 + %inc = add nsw i32 %12, 1 + store i32 %inc, i32* %c, align 4 + %cmp15 = icmp eq i32 %inc, 6 + br i1 %cmp15, label %if.then17, label %while.cond + +if.then17: ; preds = %while.body + store i8* null, i8** %retval, align 8 + br label %return + +while.end: ; preds = %while.cond + %call19 = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.4.329, i64 0, i64 0), i8** %e) #20 + store i8* %call19, i8** %t, align 8 + %13 = load i32, i32* %c, align 4 + %shl = shl i32 1, %13 + store i32 %shl, i32* %c, align 4 + %14 = load i32, i32* %component_mask, align 4 + %15 = load i32, i32* %c, align 4 + %and = and i32 %14, %15 + %tobool20 = icmp ne i32 %and, 0 + br i1 %tobool20, label %if.then21, label %if.end22 + +if.then21: ; preds = %while.end + store i8* null, i8** %retval, align 8 + br label %return + +if.end22: ; preds = %while.end + %16 = load i32, i32* %c, align 4 + %17 = load i32, i32* %component_mask, align 4 + %or = or i32 %17, %16 + store i32 %or, i32* %component_mask, align 4 + %18 = load i32, i32* %category_mask.addr, align 4 + %19 = load i32, i32* %c, align 4 + %and23 = and i32 %18, %19 + %tobool24 = icmp ne i32 %and23, 0 + br i1 %tobool24, label %land.lhs.true, label %do.cond + +land.lhs.true: ; preds = %if.end22 + %20 = load i8*, i8** %t, align 8 + %tobool25 = icmp ne i8* %20, null + br i1 %tobool25, label %lor.lhs.false, label %if.then28 + +lor.lhs.false: ; preds = %land.lhs.true + %21 = load i32, i32* %c, align 4 + %22 = load i8*, i8** %t, align 8 + %23 = load i8*, i8** %new_locale.addr, align 8 + %call26 = call i32 @find_locale(i32 %21, i8* %22, i8* %23) #19 + %tobool27 = icmp ne i32 %call26, 0 + br i1 %tobool27, label %do.cond, label %if.then28 + +if.then28: ; preds = %lor.lhs.false, %land.lhs.true + store i8* null, i8** %retval, align 8 + br label %return + +do.cond: ; preds = %if.end22, %lor.lhs.false + %call30 = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.328, i64 0, i64 0), i8** %e) #20 + store i8* %call30, i8** %t, align 8 + %cmp31 = icmp ne i8* %call30, null + br i1 %cmp31, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %24 = load i32, i32* %category_mask.addr, align 4 + %25 = load i32, i32* %component_mask, align 4 + %neg = xor i32 %25, -1 + %and33 = and i32 %24, %neg + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %if.then35, label %if.end36 + +if.then35: ; preds = %do.end + store i8* null, i8** %retval, align 8 + br label %return + +if.end36: ; preds = %do.end + %26 = load i8*, i8** %new_locale.addr, align 8 + store i8* %26, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end36, %if.then35, %if.then28, %if.then21, %if.then17, %if.then6, %if.end, %if.then3 + %27 = load i8*, i8** %retval, align 8 + ret i8* %27 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @nl_langinfo_l(i32 %item, %struct.__uclibc_locale_struct.201* %locale_arg) #0 { +entry: + %retval = alloca i8*, align 8 + %item.addr = alloca i32, align 4 + %locale_arg.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %c = alloca i32, align 4 + %i = alloca i32, align 4 + store i32 %item, i32* %item.addr, align 4 + store %struct.__uclibc_locale_struct.201* %locale_arg, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %0 = load i32, i32* %item.addr, align 4 + %shr = ashr i32 %0, 8 + store i32 %shr, i32* %c, align 4 + %1 = load i32, i32* %item.addr, align 4 + %and = and i32 %1, 255 + store i32 %and, i32* %i, align 4 + %2 = load i32, i32* %c, align 4 + %cmp = icmp ult i32 %2, 6 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %3 = load i32, i32* %i, align 4 + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %category_item_count = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %4, i32 0, i32 8 + %5 = load i32, i32* %c, align 4 + %idxprom = zext i32 %5 to i64 + %arrayidx = getelementptr inbounds [6 x i8], [6 x i8]* %category_item_count, i64 0, i64 %idxprom + %6 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %6 to i32 + %cmp1 = icmp ult i32 %3, %conv + br i1 %cmp1, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %7 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %8 = bitcast %struct.__uclibc_locale_struct.201* %7 to i8* + %9 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %category_offsets = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %9, i32 0, i32 7 + %10 = load i32, i32* %c, align 4 + %idxprom3 = zext i32 %10 to i64 + %arrayidx4 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets, i64 0, i64 %idxprom3 + %11 = load i16, i16* %arrayidx4, align 2 + %conv5 = zext i16 %11 to i32 + %idx.ext = sext i32 %conv5 to i64 + %add.ptr = getelementptr inbounds i8, i8* %8, i64 %idx.ext + %12 = bitcast i8* %add.ptr to i8** + %13 = load i32, i32* %i, align 4 + %idxprom6 = zext i32 %13 to i64 + %arrayidx7 = getelementptr inbounds i8*, i8** %12, i64 %idxprom6 + %14 = load i8*, i8** %arrayidx7, align 8 + store i8* %14, i8** %retval, align 8 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @empty, i64 0, i64 0), i8** %retval, align 8 + br label %return + +return: ; preds = %if.end, %if.then + %15 = load i8*, i8** %retval, align 8 + ret i8* %15 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @mbsnrtowcs(i32* noalias %dst, i8** noalias %src, i64 %NMC, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %retval = alloca i64, align 8 + %dst.addr = alloca i32*, align 8 + %src.addr = alloca i8**, align 8 + %NMC.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %wcbuf = alloca [1 x i32], align 4 + %s = alloca i8*, align 8 + %count = alloca i64, align 8 + %incr = alloca i32, align 4 + %r = alloca i64, align 8 + %wc = alloca i32, align 4 + store i32* %dst, i32** %dst.addr, align 8 + store i8** %src, i8*** %src.addr, align 8 + store i64 %NMC, i64* %NMC.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %tobool = icmp ne %struct.__mbstate_t.512* %0, null + %spec.store.select = select i1 %tobool, %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512* @mbsnrtowcs.mbstate + store %struct.__mbstate_t.512* %spec.store.select, %struct.__mbstate_t.512** %ps.addr, align 8 + %1 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %1, i32 0, i32 9 + %2 = load i8, i8* %encoding, align 8 + %conv = zext i8 %2 to i32 + %cmp = icmp eq i32 %conv, 1 + br i1 %cmp, label %if.then2, label %if.end5 + +if.then2: ; preds = %entry + %3 = load i32*, i32** %dst.addr, align 8 + %4 = load i64, i64* %len.addr, align 8 + %5 = load i8**, i8*** %src.addr, align 8 + %6 = load i64, i64* %NMC.addr, align 8 + %7 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @_wchar_utf8sntowcs(i32* %3, i64 %4, i8** %5, i64 %6, %struct.__mbstate_t.512* %7, i32 1) #19 + store i64 %call, i64* %r, align 8 + %cmp3 = icmp ne i64 %call, -2 + %8 = load i64, i64* %r, align 8 + %cond = select i1 %cmp3, i64 %8, i64 0 + store i64 %cond, i64* %retval, align 8 + br label %return + +if.end5: ; preds = %entry + store i32 1, i32* %incr, align 4 + %9 = load i32*, i32** %dst.addr, align 8 + %tobool6 = icmp ne i32* %9, null + br i1 %tobool6, label %lor.lhs.false, label %if.then9 + +lor.lhs.false: ; preds = %if.end5 + %10 = load i32*, i32** %dst.addr, align 8 + %11 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %12 = bitcast %struct.__mbstate_t.512* %11 to i32* + %cmp7 = icmp eq i32* %10, %12 + br i1 %cmp7, label %if.then9, label %if.end13 + +if.then9: ; preds = %lor.lhs.false, %if.end5 + %13 = load i32*, i32** %dst.addr, align 8 + %tobool10 = icmp ne i32* %13, null + br i1 %tobool10, label %if.end12, label %if.then11 + +if.then11: ; preds = %if.then9 + store i64 -1, i64* %len.addr, align 8 + br label %if.end12 + +if.end12: ; preds = %if.then11, %if.then9 + %arraydecay = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay, i32** %dst.addr, align 8 + store i32 0, i32* %incr, align 4 + br label %if.end13 + +if.end13: ; preds = %if.end12, %lor.lhs.false + %14 = load i64, i64* %len.addr, align 8 + %15 = load i64, i64* %NMC.addr, align 8 + %cmp14 = icmp ugt i64 %14, %15 + br i1 %cmp14, label %if.then16, label %if.end17 + +if.then16: ; preds = %if.end13 + %16 = load i64, i64* %NMC.addr, align 8 + store i64 %16, i64* %len.addr, align 8 + br label %if.end17 + +if.end17: ; preds = %if.then16, %if.end13 + %17 = load i64, i64* %len.addr, align 8 + store i64 %17, i64* %count, align 8 + %18 = load i8**, i8*** %src.addr, align 8 + %19 = load i8*, i8** %18, align 8 + store i8* %19, i8** %s, align 8 + %20 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding18 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %20, i32 0, i32 9 + %21 = load i8, i8* %encoding18, align 8 + %conv19 = zext i8 %21 to i32 + %cmp20 = icmp eq i32 %conv19, 2 + br i1 %cmp20, label %while.cond, label %while.cond46 + +while.cond: ; preds = %if.end17, %if.end38 + %22 = load i64, i64* %count, align 8 + %tobool23 = icmp ne i64 %22, 0 + br i1 %tobool23, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %23 = load i8*, i8** %s, align 8 + %24 = load i8, i8* %23, align 1 + %conv24 = zext i8 %24 to i32 + store i32 %conv24, i32* %wc, align 4 + %cmp25 = icmp sge i32 %conv24, 128 + br i1 %cmp25, label %if.then27, label %if.end35 + +if.then27: ; preds = %while.body + %25 = load i32, i32* %wc, align 4 + %sub = sub nsw i32 %25, 128 + store i32 %sub, i32* %wc, align 4 + %26 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %tbl8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %26, i32 0, i32 17 + %27 = load i16*, i16** %tbl8c2wc, align 8 + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %idx8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %28, i32 0, i32 16 + %29 = load i8*, i8** %idx8c2wc, align 8 + %30 = load i32, i32* %wc, align 4 + %shr = ashr i32 %30, 3 + %idxprom = sext i32 %shr to i64 + %arrayidx = getelementptr inbounds i8, i8* %29, i64 %idxprom + %31 = load i8, i8* %arrayidx, align 1 + %conv28 = zext i8 %31 to i32 + %shl = shl i32 %conv28, 3 + %32 = load i32, i32* %wc, align 4 + %and = and i32 %32, 7 + %add = add nsw i32 %shl, %and + %idxprom29 = sext i32 %add to i64 + %arrayidx30 = getelementptr inbounds i16, i16* %27, i64 %idxprom29 + %33 = load i16, i16* %arrayidx30, align 2 + %conv31 = zext i16 %33 to i32 + store i32 %conv31, i32* %wc, align 4 + %34 = load i32, i32* %wc, align 4 + %tobool32 = icmp ne i32 %34, 0 + br i1 %tobool32, label %if.end35, label %BAD + +if.end35: ; preds = %if.then27, %while.body + %35 = load i32, i32* %wc, align 4 + %36 = load i32*, i32** %dst.addr, align 8 + store i32 %35, i32* %36, align 4 + %tobool36 = icmp ne i32 %35, 0 + br i1 %tobool36, label %if.end38, label %if.then37 + +if.then37: ; preds = %if.end35 + store i8* null, i8** %s, align 8 + br label %while.end + +if.end38: ; preds = %if.end35 + %37 = load i32, i32* %incr, align 4 + %38 = load i32*, i32** %dst.addr, align 8 + %idx.ext = sext i32 %37 to i64 + %add.ptr = getelementptr inbounds i32, i32* %38, i64 %idx.ext + store i32* %add.ptr, i32** %dst.addr, align 8 + %39 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %39, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %40 = load i64, i64* %count, align 8 + %dec = add i64 %40, -1 + store i64 %dec, i64* %count, align 8 + br label %while.cond + +while.end: ; preds = %if.then37, %while.cond + %41 = load i32*, i32** %dst.addr, align 8 + %arraydecay39 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %cmp40 = icmp ne i32* %41, %arraydecay39 + br i1 %cmp40, label %if.then42, label %if.end43 + +if.then42: ; preds = %while.end + %42 = load i8*, i8** %s, align 8 + %43 = load i8**, i8*** %src.addr, align 8 + store i8* %42, i8** %43, align 8 + br label %if.end43 + +if.end43: ; preds = %if.then42, %while.end + %44 = load i64, i64* %len.addr, align 8 + %45 = load i64, i64* %count, align 8 + %sub44 = sub i64 %44, %45 + store i64 %sub44, i64* %retval, align 8 + br label %return + +while.cond46: ; preds = %if.end17, %if.end57 + %46 = load i64, i64* %count, align 8 + %tobool47 = icmp ne i64 %46, 0 + br i1 %tobool47, label %while.body48, label %while.end62 + +while.body48: ; preds = %while.cond46 + %47 = load i8*, i8** %s, align 8 + %48 = load i8, i8* %47, align 1 + %conv49 = zext i8 %48 to i32 + %49 = load i32*, i32** %dst.addr, align 8 + store i32 %conv49, i32* %49, align 4 + %cmp50 = icmp eq i32 %conv49, 0 + br i1 %cmp50, label %if.then52, label %if.end53 + +if.then52: ; preds = %while.body48 + store i8* null, i8** %s, align 8 + br label %while.end62 + +if.end53: ; preds = %while.body48 + %50 = load i32*, i32** %dst.addr, align 8 + %51 = load i32, i32* %50, align 4 + %cmp54 = icmp sge i32 %51, 128 + br i1 %cmp54, label %BAD, label %if.end57 + +BAD: ; preds = %if.end53, %if.then27 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end57: ; preds = %if.end53 + %52 = load i8*, i8** %s, align 8 + %incdec.ptr58 = getelementptr inbounds i8, i8* %52, i32 1 + store i8* %incdec.ptr58, i8** %s, align 8 + %53 = load i32, i32* %incr, align 4 + %54 = load i32*, i32** %dst.addr, align 8 + %idx.ext59 = sext i32 %53 to i64 + %add.ptr60 = getelementptr inbounds i32, i32* %54, i64 %idx.ext59 + store i32* %add.ptr60, i32** %dst.addr, align 8 + %55 = load i64, i64* %count, align 8 + %dec61 = add i64 %55, -1 + store i64 %dec61, i64* %count, align 8 + br label %while.cond46 + +while.end62: ; preds = %if.then52, %while.cond46 + %56 = load i32*, i32** %dst.addr, align 8 + %arraydecay63 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %cmp64 = icmp ne i32* %56, %arraydecay63 + br i1 %cmp64, label %if.then66, label %if.end67 + +if.then66: ; preds = %while.end62 + %57 = load i8*, i8** %s, align 8 + %58 = load i8**, i8*** %src.addr, align 8 + store i8* %57, i8** %58, align 8 + br label %if.end67 + +if.end67: ; preds = %if.then66, %while.end62 + %59 = load i64, i64* %len.addr, align 8 + %60 = load i64, i64* %count, align 8 + %sub68 = sub i64 %59, %60 + store i64 %sub68, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end67, %BAD, %if.end43, %if.then2 + %61 = load i64, i64* %retval, align 8 + ret i64 %61 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @iswctype(i32 %wc, i32 %desc) #0 { +entry: + %wc.addr = alloca i32, align 4 + %desc.addr = alloca i32, align 4 + store i32 %wc, i32* %wc.addr, align 4 + store i32 %desc, i32* %desc.addr, align 4 + %0 = load i32, i32* %wc.addr, align 4 + %1 = load i32, i32* %desc.addr, align 4 + %2 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %call = call i32 @iswctype_l(i32 %0, i32 %1, %struct.__uclibc_locale_struct.201* %2) #20 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define hidden %struct.__STDIO_FILE_STRUCT.568* @_stdio_fopen(i64 %fname_or_mode, i8* noalias %mode, %struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %filedes) #0 { +entry: + %retval = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %fname_or_mode.addr = alloca i64, align 8 + %mode.addr = alloca i8*, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %filedes.addr = alloca i32, align 4 + %open_mode = alloca i32, align 4 + %i = alloca i32, align 4 + store i64 %fname_or_mode, i64* %fname_or_mode.addr, align 8 + store i8* %mode, i8** %mode.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %filedes, i32* %filedes.addr, align 4 + store i32 0, i32* %open_mode, align 4 + %0 = load i8*, i8** %mode.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %cmp = icmp ne i32 %conv, 114 + br i1 %cmp, label %if.then, label %if.end17 + +if.then: ; preds = %entry + store i32 577, i32* %open_mode, align 4 + %2 = load i8*, i8** %mode.addr, align 8 + %3 = load i8, i8* %2, align 1 + %conv2 = sext i8 %3 to i32 + %cmp3 = icmp ne i32 %conv2, 119 + br i1 %cmp3, label %if.then5, label %if.end17 + +if.then5: ; preds = %if.then + store i32 1089, i32* %open_mode, align 4 + %4 = load i8*, i8** %mode.addr, align 8 + %5 = load i8, i8* %4, align 1 + %conv6 = sext i8 %5 to i32 + %cmp7 = icmp ne i32 %conv6, 97 + br i1 %cmp7, label %DO_EINVAL, label %if.end17 + +DO_EINVAL: ; preds = %if.then40, %land.lhs.true, %if.then5 + store i32 22, i32* @errno, align 4 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %6, null + br i1 %tobool, label %do.body, label %if.end14 + +do.body: ; preds = %if.end62, %DO_EINVAL + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %7, i32 0, i32 0 + %8 = load i16, i16* %__modeflags, align 8 + %conv11 = zext i16 %8 to i32 + %and = and i32 %conv11, 8192 + %tobool12 = icmp ne i32 %and, 0 + br i1 %tobool12, label %if.then13, label %if.end14 + +if.then13: ; preds = %do.body + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %10 = bitcast %struct.__STDIO_FILE_STRUCT.568* %9 to i8* + call void @free(i8* %10) #20 + br label %if.end14 + +if.end14: ; preds = %if.then13, %do.body, %DO_EINVAL + store %struct.__STDIO_FILE_STRUCT.568* null, %struct.__STDIO_FILE_STRUCT.568** %retval, align 8 + br label %return + +if.end17: ; preds = %if.then, %if.then5, %entry + %11 = load i8*, i8** %mode.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %11, i64 1 + %12 = load i8, i8* %arrayidx, align 1 + %conv18 = sext i8 %12 to i32 + %cmp19 = icmp eq i32 %conv18, 98 + br i1 %cmp19, label %if.then21, label %if.end22 + +if.then21: ; preds = %if.end17 + %13 = load i8*, i8** %mode.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %13, i32 1 + store i8* %incdec.ptr, i8** %mode.addr, align 8 + br label %if.end22 + +if.end22: ; preds = %if.then21, %if.end17 + %14 = load i8*, i8** %mode.addr, align 8 + %arrayidx23 = getelementptr inbounds i8, i8* %14, i64 1 + %15 = load i8, i8* %arrayidx23, align 1 + %conv24 = sext i8 %15 to i32 + %cmp25 = icmp eq i32 %conv24, 43 + br i1 %cmp25, label %if.then27, label %if.end29 + +if.then27: ; preds = %if.end22 + %16 = load i8*, i8** %mode.addr, align 8 + %incdec.ptr28 = getelementptr inbounds i8, i8* %16, i32 1 + store i8* %incdec.ptr28, i8** %mode.addr, align 8 + %17 = load i32, i32* %open_mode, align 4 + %or = or i32 %17, 1 + store i32 %or, i32* %open_mode, align 4 + %18 = load i32, i32* %open_mode, align 4 + %add = add i32 %18, 1 + store i32 %add, i32* %open_mode, align 4 + br label %if.end29 + +if.end29: ; preds = %if.then27, %if.end22 + %19 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %tobool30 = icmp ne %struct.__STDIO_FILE_STRUCT.568* %19, null + br i1 %tobool30, label %if.end37, label %if.then31 + +if.then31: ; preds = %if.end29 + %call = call noalias i8* @malloc(i64 88) #20 + %20 = bitcast i8* %call to %struct.__STDIO_FILE_STRUCT.568* + store %struct.__STDIO_FILE_STRUCT.568* %20, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp32 = icmp eq %struct.__STDIO_FILE_STRUCT.568* %20, null + %21 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %cmp32, label %if.then34, label %if.end35 + +if.then34: ; preds = %if.then31 + store %struct.__STDIO_FILE_STRUCT.568* %21, %struct.__STDIO_FILE_STRUCT.568** %retval, align 8 + br label %return + +if.end35: ; preds = %if.then31 + %__modeflags36 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %21, i32 0, i32 0 + store i16 8192, i16* %__modeflags36, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 3 + store i8* null, i8** %__bufstart, align 8 + br label %if.end37 + +if.end37: ; preds = %if.end35, %if.end29 + %23 = load i32, i32* %filedes.addr, align 4 + %cmp38 = icmp sge i32 %23, 0 + %24 = load i32, i32* %filedes.addr, align 4 + br i1 %cmp38, label %if.then40, label %if.else + +if.then40: ; preds = %if.end37 + %25 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %25, i32 0, i32 2 + store i32 %24, i32* %__filedes, align 4 + %26 = load i32, i32* %open_mode, align 4 + %and41 = and i32 %26, 3 + %add42 = add i32 %and41, 1 + store i32 %add42, i32* %i, align 4 + %27 = load i32, i32* %i, align 4 + %28 = load i64, i64* %fname_or_mode.addr, align 8 + %conv43 = trunc i64 %28 to i32 + %add44 = add nsw i32 %conv43, 1 + %and45 = and i32 %27, %add44 + %29 = load i32, i32* %i, align 4 + %cmp46 = icmp ne i32 %and45, %29 + br i1 %cmp46, label %DO_EINVAL, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then40 + %30 = load i32, i32* %open_mode, align 4 + %31 = load i64, i64* %fname_or_mode.addr, align 8 + %conv48 = trunc i64 %31 to i32 + %neg = xor i32 %conv48, -1 + %and49 = and i32 %30, %neg + %and50 = and i32 %and49, 1024 + %tobool51 = icmp ne i32 %and50, 0 + br i1 %tobool51, label %land.lhs.true, label %if.end55 + +land.lhs.true: ; preds = %lor.lhs.false + %32 = load i32, i32* %filedes.addr, align 4 + %call52 = call i32 (i32, i32, ...) @fcntl(i32 %32, i32 4, i32 1024) #19 + %tobool53 = icmp ne i32 %call52, 0 + br i1 %tobool53, label %DO_EINVAL, label %if.end55 + +if.end55: ; preds = %land.lhs.true, %lor.lhs.false + %33 = load i64, i64* %fname_or_mode.addr, align 8 + %conv56 = trunc i64 %33 to i32 + %and57 = and i32 %conv56, 0 + %34 = load i32, i32* %open_mode, align 4 + %or58 = or i32 %34, %and57 + store i32 %or58, i32* %open_mode, align 4 + br label %if.end69 + +if.else: ; preds = %if.end37 + %cmp59 = icmp slt i32 %24, -1 + br i1 %cmp59, label %if.then61, label %if.end62 + +if.then61: ; preds = %if.else + %35 = load i32, i32* %open_mode, align 4 + store i32 %35, i32* %open_mode, align 4 + br label %if.end62 + +if.end62: ; preds = %if.then61, %if.else + %36 = load i64, i64* %fname_or_mode.addr, align 8 + %37 = inttoptr i64 %36 to i8* + %38 = load i32, i32* %open_mode, align 4 + %call63 = call i32 (i8*, i32, ...) @open(i8* %37, i32 %38, i32 438) #19 + %39 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes64 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %39, i32 0, i32 2 + store i32 %call63, i32* %__filedes64, align 4 + %cmp65 = icmp slt i32 %call63, 0 + br i1 %cmp65, label %do.body, label %if.end69 + +if.end69: ; preds = %if.end62, %if.end55 + %40 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags70 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %40, i32 0, i32 0 + %41 = load i16, i16* %__modeflags70, align 8 + %conv71 = zext i16 %41 to i32 + %and72 = and i32 %conv71, 8192 + %conv73 = trunc i32 %and72 to i16 + store i16 %conv73, i16* %__modeflags70, align 8 + %42 = load i32, i32* %open_mode, align 4 + %and74 = and i32 %42, 1024 + %43 = load i32, i32* %open_mode, align 4 + %and75 = and i32 %43, 3 + %add76 = add i32 %and75, 1 + %xor = xor i32 %add76, 3 + %mul = mul i32 %xor, 16 + %or77 = or i32 %and74, %mul + %44 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags78 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %44, i32 0, i32 0 + %45 = load i16, i16* %__modeflags78, align 8 + %conv79 = zext i16 %45 to i32 + %or80 = or i32 %conv79, %or77 + %conv81 = trunc i32 %or80 to i16 + store i16 %conv81, i16* %__modeflags78, align 8 + %46 = load i32, i32* @errno, align 4 + store i32 %46, i32* %i, align 4 + %47 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes82 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %47, i32 0, i32 2 + %48 = load i32, i32* %__filedes82, align 4 + %call83 = call i32 @isatty(i32 %48) #20 + %mul84 = mul i32 %call83, 256 + %49 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags85 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %49, i32 0, i32 0 + %50 = load i16, i16* %__modeflags85, align 8 + %conv86 = zext i16 %50 to i32 + %or87 = or i32 %conv86, %mul84 + %conv88 = trunc i32 %or87 to i16 + store i16 %conv88, i16* %__modeflags85, align 8 + %51 = load i32, i32* %i, align 4 + store i32 %51, i32* @errno, align 4 + %52 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart89 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %52, i32 0, i32 3 + %53 = load i8*, i8** %__bufstart89, align 8 + %tobool90 = icmp ne i8* %53, null + br i1 %tobool90, label %if.end106, label %if.then91 + +if.then91: ; preds = %if.end69 + %call92 = call noalias i8* @malloc(i64 4096) #20 + %54 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart93 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %54, i32 0, i32 3 + store i8* %call92, i8** %__bufstart93, align 8 + %cmp94 = icmp ne i8* %call92, null + %55 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart97 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %55, i32 0, i32 3 + %56 = load i8*, i8** %__bufstart97, align 8 + br i1 %cmp94, label %if.then96, label %if.else102 + +if.then96: ; preds = %if.then91 + %add.ptr = getelementptr inbounds i8, i8* %56, i64 4096 + %57 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %57, i32 0, i32 4 + store i8* %add.ptr, i8** %__bufend, align 8 + %58 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags98 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %58, i32 0, i32 0 + %59 = load i16, i16* %__modeflags98, align 8 + %conv99 = zext i16 %59 to i32 + %or100 = or i32 %conv99, 16384 + %conv101 = trunc i32 %or100 to i16 + store i16 %conv101, i16* %__modeflags98, align 8 + br label %if.end106 + +if.else102: ; preds = %if.then91 + %60 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend104 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %60, i32 0, i32 4 + store i8* %56, i8** %__bufend104, align 8 + br label %if.end106 + +if.end106: ; preds = %if.then96, %if.else102, %if.end69 + %61 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart107 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %61, i32 0, i32 3 + %62 = load i8*, i8** %__bufstart107, align 8 + %63 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %63, i32 0, i32 7 + store i8* %62, i8** %__bufgetc_u, align 8 + %64 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart108 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %64, i32 0, i32 3 + %65 = load i8*, i8** %__bufstart108, align 8 + %66 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %66, i32 0, i32 8 + store i8* %65, i8** %__bufputc_u, align 8 + %67 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart109 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %67, i32 0, i32 3 + %68 = load i8*, i8** %__bufstart109, align 8 + %69 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %69, i32 0, i32 5 + store i8* %68, i8** %__bufpos, align 8 + %70 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %70, i32 0, i32 6 + store i8* %68, i8** %__bufread, align 8 + %71 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %71, i32 0, i32 1 + %arrayidx110 = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 0 + store i8 0, i8* %arrayidx110, align 2 + %72 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %72, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + store i32 0, i32* %__mask, align 8 + %73 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + %74 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %74, i32 0, i32 9 + store %struct.__STDIO_FILE_STRUCT.568* %73, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + %75 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %75, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + %76 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %76, %struct.__STDIO_FILE_STRUCT.568** %retval, align 8 + br label %return + +return: ; preds = %if.end106, %if.then34, %if.end14 + %77 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %retval, align 8 + ret %struct.__STDIO_FILE_STRUCT.568* %77 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_fwrite(i8* noalias %buffer, i64 %bytes, %struct.__STDIO_FILE_STRUCT.568* noalias %stream) #0 { +entry: + %retval = alloca i64, align 8 + %buffer.addr = alloca i8*, align 8 + %bytes.addr = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %pending = alloca i64, align 8 + %p = alloca i8*, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %bytes, i64* %bytes.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 512 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end63, label %if.then + +if.then: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 2 + %3 = load i32, i32* %__filedes, align 4 + %cmp = icmp eq i32 %3, -2 + br i1 %cmp, label %if.then2, label %if.end8 + +if.then2: ; preds = %if.then + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 4 + %5 = load i8*, i8** %__bufend, align 8 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 5 + %7 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %pending, align 8 + %8 = load i64, i64* %pending, align 8 + %9 = load i64, i64* %bytes.addr, align 8 + %cmp3 = icmp ugt i64 %8, %9 + br i1 %cmp3, label %if.then5, label %if.end + +if.then5: ; preds = %if.then2 + %10 = load i64, i64* %bytes.addr, align 8 + store i64 %10, i64* %pending, align 8 + br label %if.end + +if.end: ; preds = %if.then5, %if.then2 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 5 + %12 = load i8*, i8** %__bufpos6, align 8 + %13 = load i8*, i8** %buffer.addr, align 8 + %14 = load i64, i64* %pending, align 8 + %call = call i8* @memcpy(i8* %12, i8* %13, i64 %14) #20 + %15 = load i64, i64* %pending, align 8 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos7 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %16, i32 0, i32 5 + %17 = load i8*, i8** %__bufpos7, align 8 + %add.ptr = getelementptr inbounds i8, i8* %17, i64 %15 + store i8* %add.ptr, i8** %__bufpos7, align 8 + %18 = load i64, i64* %bytes.addr, align 8 + store i64 %18, i64* %retval, align 8 + br label %return + +if.end8: ; preds = %if.then + %19 = load i64, i64* %bytes.addr, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend9 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 4 + %21 = load i8*, i8** %__bufend9, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 5 + %23 = load i8*, i8** %__bufpos10, align 8 + %sub.ptr.lhs.cast11 = ptrtoint i8* %21 to i64 + %sub.ptr.rhs.cast12 = ptrtoint i8* %23 to i64 + %sub.ptr.sub13 = sub i64 %sub.ptr.lhs.cast11, %sub.ptr.rhs.cast12 + %cmp14 = icmp ule i64 %19, %sub.ptr.sub13 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 5 + %25 = load i8*, i8** %__bufpos17, align 8 + br i1 %cmp14, label %if.then16, label %if.end51 + +if.then16: ; preds = %if.end8 + %26 = load i8*, i8** %buffer.addr, align 8 + %27 = load i64, i64* %bytes.addr, align 8 + %call18 = call i8* @memcpy(i8* %25, i8* %26, i64 %27) #20 + %28 = load i64, i64* %bytes.addr, align 8 + %29 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos19 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %29, i32 0, i32 5 + %30 = load i8*, i8** %__bufpos19, align 8 + %add.ptr20 = getelementptr inbounds i8, i8* %30, i64 %28 + store i8* %add.ptr20, i8** %__bufpos19, align 8 + %31 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags21 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %31, i32 0, i32 0 + %32 = load i16, i16* %__modeflags21, align 8 + %conv22 = zext i16 %32 to i32 + %and23 = and i32 %conv22, 256 + %tobool24 = icmp ne i32 %and23, 0 + br i1 %tobool24, label %land.lhs.true, label %if.end50 + +land.lhs.true: ; preds = %if.then16 + %33 = load i8*, i8** %buffer.addr, align 8 + %34 = load i64, i64* %bytes.addr, align 8 + %call25 = call i8* @memrchr(i8* %33, i32 10, i64 %34) #21 + %tobool26 = icmp ne i8* %call25, null + br i1 %tobool26, label %if.then27, label %if.end50 + +if.then27: ; preds = %land.lhs.true + %35 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call28 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %35) #19 + store i64 %call28, i64* %pending, align 8 + %cmp29 = icmp ugt i64 %call28, 0 + br i1 %cmp29, label %if.then31, label %if.end50 + +if.then31: ; preds = %if.then27 + %36 = load i64, i64* %pending, align 8 + %37 = load i64, i64* %bytes.addr, align 8 + %cmp32 = icmp ugt i64 %36, %37 + br i1 %cmp32, label %if.then34, label %if.end35 + +if.then34: ; preds = %if.then31 + %38 = load i64, i64* %bytes.addr, align 8 + store i64 %38, i64* %pending, align 8 + br label %if.end35 + +if.end35: ; preds = %if.then34, %if.then31 + %39 = load i64, i64* %bytes.addr, align 8 + %40 = load i64, i64* %pending, align 8 + %sub = sub i64 %39, %40 + %41 = load i8*, i8** %buffer.addr, align 8 + %add.ptr36 = getelementptr inbounds i8, i8* %41, i64 %sub + store i8* %add.ptr36, i8** %buffer.addr, align 8 + %42 = load i8*, i8** %buffer.addr, align 8 + %43 = load i64, i64* %pending, align 8 + %call37 = call i8* @memchr(i8* %42, i32 10, i64 %43) #21 + store i8* %call37, i8** %p, align 8 + %cmp38 = icmp ne i8* %call37, null + br i1 %cmp38, label %if.then40, label %if.end50 + +if.then40: ; preds = %if.end35 + %44 = load i8*, i8** %buffer.addr, align 8 + %45 = load i64, i64* %pending, align 8 + %add.ptr41 = getelementptr inbounds i8, i8* %44, i64 %45 + %46 = load i8*, i8** %p, align 8 + %sub.ptr.lhs.cast42 = ptrtoint i8* %add.ptr41 to i64 + %sub.ptr.rhs.cast43 = ptrtoint i8* %46 to i64 + %sub.ptr.sub44 = sub i64 %sub.ptr.lhs.cast42, %sub.ptr.rhs.cast43 + store i64 %sub.ptr.sub44, i64* %pending, align 8 + %47 = load i64, i64* %pending, align 8 + %48 = load i64, i64* %bytes.addr, align 8 + %sub45 = sub i64 %48, %47 + store i64 %sub45, i64* %bytes.addr, align 8 + %49 = load i64, i64* %pending, align 8 + %50 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos46 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %50, i32 0, i32 5 + %51 = load i8*, i8** %__bufpos46, align 8 + %idx.neg = sub i64 0, %49 + %add.ptr47 = getelementptr inbounds i8, i8* %51, i64 %idx.neg + store i8* %add.ptr47, i8** %__bufpos46, align 8 + br label %if.end50 + +if.end50: ; preds = %if.then27, %if.then40, %if.end35, %land.lhs.true, %if.then16 + %52 = load i64, i64* %bytes.addr, align 8 + store i64 %52, i64* %retval, align 8 + br label %return + +if.end51: ; preds = %if.end8 + %53 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %53, i32 0, i32 3 + %54 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast53 = ptrtoint i8* %25 to i64 + %sub.ptr.rhs.cast54 = ptrtoint i8* %54 to i64 + %sub.ptr.sub55 = sub i64 %sub.ptr.lhs.cast53, %sub.ptr.rhs.cast54 + %tobool56 = icmp ne i64 %sub.ptr.sub55, 0 + br i1 %tobool56, label %if.then57, label %if.end63 + +if.then57: ; preds = %if.end51 + %55 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call58 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %55) #19 + %tobool59 = icmp ne i64 %call58, 0 + br i1 %tobool59, label %if.then60, label %if.end63 + +if.then60: ; preds = %if.then57 + store i64 0, i64* %retval, align 8 + br label %return + +if.end63: ; preds = %if.end51, %if.then57, %entry + %56 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %57 = load i8*, i8** %buffer.addr, align 8 + %58 = load i64, i64* %bytes.addr, align 8 + %call64 = call i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %56, i8* %57, i64 %58) #19 + store i64 %call64, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end63, %if.then60, %if.end50, %if.end + %59 = load i64, i64* %retval, align 8 + ret i64 %59 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %oflag) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %oflag.addr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %oflag, i32* %oflag.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %2 = load i32, i32* %oflag.addr, align 4 + %and = and i32 %conv, %2 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end9, label %if.then + +if.then: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 0 + %4 = load i16, i16* %__modeflags1, align 8 + %conv2 = zext i16 %4 to i32 + %and3 = and i32 %conv2, 2176 + %tobool4 = icmp ne i32 %and3, 0 + br i1 %tobool4, label %DO_EBADF, label %if.end + +if.end: ; preds = %if.then + %5 = load i32, i32* %oflag.addr, align 4 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 0 + %7 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %7 to i32 + %or = or i32 %conv7, %5 + %conv8 = trunc i32 %or to i16 + store i16 %conv8, i16* %__modeflags6, align 8 + br label %if.end9 + +if.end9: ; preds = %if.end, %entry + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags10, align 8 + %conv11 = zext i16 %9 to i32 + %and12 = and i32 %conv11, 32 + %tobool13 = icmp ne i32 %and12, 0 + br i1 %tobool13, label %DO_EBADF, label %if.end19 + +DO_EBADF: ; preds = %if.end9, %if.then + store i32 9, i32* @errno, align 4 + br label %ERROR + +ERROR: ; preds = %land.lhs.true, %DO_EBADF + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags15 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 0 + %11 = load i16, i16* %__modeflags15, align 8 + %conv16 = zext i16 %11 to i32 + %or17 = or i32 %conv16, 8 + %conv18 = trunc i32 %or17 to i16 + store i16 %conv18, i16* %__modeflags15, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end19: ; preds = %if.end9 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags20 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags20, align 8 + %conv21 = zext i16 %13 to i32 + %and22 = and i32 %conv21, 3 + %tobool23 = icmp ne i32 %and22, 0 + br i1 %tobool23, label %if.then24, label %if.end50 + +if.then24: ; preds = %if.end19 + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags25 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %14, i32 0, i32 0 + %15 = load i16, i16* %__modeflags25, align 8 + %conv26 = zext i16 %15 to i32 + %and27 = and i32 %conv26, 4 + %tobool28 = icmp ne i32 %and27, 0 + br i1 %tobool28, label %if.end42, label %if.then29 + +if.then29: ; preds = %if.then24 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %16, i32 0, i32 6 + %17 = load i8*, i8** %__bufread, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 5 + %19 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %17 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool30 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %tobool30, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then29 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags31 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 0 + %21 = load i16, i16* %__modeflags31, align 8 + %conv32 = zext i16 %21 to i32 + %and33 = and i32 %conv32, 2 + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %land.lhs.true, label %if.end42 + +land.lhs.true: ; preds = %lor.lhs.false, %if.then29 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %23 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags35 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %23, i32 0, i32 0 + %24 = load i16, i16* %__modeflags35, align 8 + %conv36 = zext i16 %24 to i32 + %and37 = and i32 %conv36, 1024 + %tobool38 = icmp ne i32 %and37, 0 + %25 = zext i1 %tobool38 to i64 + %cond = select i1 %tobool38, i32 2, i32 1 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32)* @fseek to i32 (%struct.__STDIO_FILE_STRUCT.568*, i64, i32)*)(%struct.__STDIO_FILE_STRUCT.568* %22, i64 0, i32 %cond) #19 + %tobool39 = icmp ne i32 %call, 0 + br i1 %tobool39, label %ERROR, label %if.end42 + +if.end42: ; preds = %lor.lhs.false, %land.lhs.true, %if.then24 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags43 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 0 + %27 = load i16, i16* %__modeflags43, align 8 + %conv44 = zext i16 %27 to i32 + %and45 = and i32 %conv44, -4 + %conv46 = trunc i32 %and45 to i16 + store i16 %conv46, i16* %__modeflags43, align 8 + %28 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %28, i32 0, i32 3 + %29 = load i8*, i8** %__bufstart, align 8 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %30, i32 0, i32 7 + store i8* %29, i8** %__bufgetc_u, align 8 + %31 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart47 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %31, i32 0, i32 3 + %32 = load i8*, i8** %__bufstart47, align 8 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos48 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %33, i32 0, i32 5 + store i8* %32, i8** %__bufpos48, align 8 + %34 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread49 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %34, i32 0, i32 6 + store i8* %32, i8** %__bufread49, align 8 + br label %if.end50 + +if.end50: ; preds = %if.end42, %if.end19 + %35 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags51 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %35, i32 0, i32 0 + %36 = load i16, i16* %__modeflags51, align 8 + %conv52 = zext i16 %36 to i32 + %or53 = or i32 %conv52, 64 + %conv54 = trunc i32 %or53 to i16 + store i16 %conv54, i16* %__modeflags51, align 8 + %37 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags55 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %37, i32 0, i32 0 + %38 = load i16, i16* %__modeflags55, align 8 + %conv56 = zext i16 %38 to i32 + %and57 = and i32 %conv56, 2816 + %tobool58 = icmp ne i32 %and57, 0 + br i1 %tobool58, label %if.end60, label %if.then59 + +if.then59: ; preds = %if.end50 + %39 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %39, i32 0, i32 4 + %40 = load i8*, i8** %__bufend, align 8 + %41 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %41, i32 0, i32 8 + store i8* %40, i8** %__bufputc_u, align 8 + br label %if.end60 + +if.end60: ; preds = %if.then59, %if.end50 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end60, %ERROR + %42 = load i32, i32* %retval, align 4 + ret i32 %42 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fseeko64(%struct.__STDIO_FILE_STRUCT.636* %stream, i64 %offset, i32 %whence) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + %pos = alloca i64, align 8 + %retval1 = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i64, i64* %offset.addr, align 8 + store i64 %0, i64* %pos, align 8 + store i32 -1, i32* %retval1, align 4 + %1 = load i32, i32* %whence.addr, align 4 + %cmp = icmp ugt i32 %1, 2 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + store i32 22, i32* @errno, align 4 + br label %if.end20 + +if.else: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %2, i32 0, i32 0 + %3 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %3 to i32 + %and = and i32 %conv, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %lor.lhs.false, label %land.lhs.true + +lor.lhs.false: ; preds = %if.else + %4 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %call = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.568*)* @__stdio_wcommit to i64 (%struct.__STDIO_FILE_STRUCT.636*)*)(%struct.__STDIO_FILE_STRUCT.636* %4) #19 + %tobool2 = icmp ne i64 %call, 0 + br i1 %tobool2, label %if.end20, label %land.lhs.true + +land.lhs.true: ; preds = %lor.lhs.false, %if.else + %5 = load i32, i32* %whence.addr, align 4 + %cmp3 = icmp ne i32 %5, 1 + br i1 %cmp3, label %land.lhs.true9, label %lor.lhs.false5 + +lor.lhs.false5: ; preds = %land.lhs.true + %6 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %call6 = call i32 @__stdio_adjust_position(%struct.__STDIO_FILE_STRUCT.636* %6, i64* %pos) #19 + %cmp7 = icmp sge i32 %call6, 0 + br i1 %cmp7, label %land.lhs.true9, label %if.end20 + +land.lhs.true9: ; preds = %lor.lhs.false5, %land.lhs.true + %7 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %8 = load i32, i32* %whence.addr, align 4 + %call10 = call i32 @__stdio_seek(%struct.__STDIO_FILE_STRUCT.636* %7, i64* %pos, i32 %8) #19 + %cmp11 = icmp sge i32 %call10, 0 + br i1 %cmp11, label %if.then13, label %if.end20 + +if.then13: ; preds = %land.lhs.true9 + %9 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags14 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %9, i32 0, i32 0 + %10 = load i16, i16* %__modeflags14, align 8 + %conv15 = zext i16 %10 to i32 + %and16 = and i32 %conv15, -72 + %conv17 = trunc i32 %and16 to i16 + store i16 %conv17, i16* %__modeflags14, align 8 + %11 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %11, i32 0, i32 3 + %12 = load i8*, i8** %__bufstart, align 8 + %13 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %13, i32 0, i32 5 + store i8* %12, i8** %__bufpos, align 8 + %14 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %14, i32 0, i32 6 + store i8* %12, i8** %__bufread, align 8 + %15 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufstart18 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %15, i32 0, i32 3 + %16 = load i8*, i8** %__bufstart18, align 8 + %17 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %17, i32 0, i32 7 + store i8* %16, i8** %__bufgetc_u, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufstart19 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %18, i32 0, i32 3 + %19 = load i8*, i8** %__bufstart19, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %20, i32 0, i32 8 + store i8* %19, i8** %__bufputc_u, align 8 + %21 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %21, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + store i32 0, i32* %__mask, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %22, i32 0, i32 1 + %arrayidx = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 0 + store i8 0, i8* %arrayidx, align 2 + store i32 0, i32* %retval1, align 4 + br label %if.end20 + +if.end20: ; preds = %lor.lhs.false, %lor.lhs.false5, %land.lhs.true9, %if.then13, %if.then + %23 = load i32, i32* %retval1, align 4 + ret i32 %23 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i8* noalias %format, %struct.__va_list_tag.0* %arg) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %format.addr = alloca i8*, align 8 + %arg.addr = alloca %struct.__va_list_tag.0*, align 8 + %ppfs = alloca %struct.ppfs_t.722, align 8 + %count = alloca i32, align 4 + %r = alloca i32, align 4 + %s = alloca i8*, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + store %struct.__va_list_tag.0* %arg, %struct.__va_list_tag.0** %arg.addr, align 8 + store i32 0, i32* %count, align 4 + %0 = load i8*, i8** %format.addr, align 8 + store i8* %0, i8** %s, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %1, i32 0, i32 0 + %2 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %2 to i32 + %and = and i32 %conv, 192 + %cmp = icmp eq i32 %and, 192 + br i1 %cmp, label %if.else, label %land.lhs.true + +land.lhs.true: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* %3, i32 128) #19 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %land.lhs.true + store i32 -1, i32* %count, align 4 + br label %if.end65 + +if.else: ; preds = %land.lhs.true, %entry + %4 = load i8*, i8** %format.addr, align 8 + %call2 = call i32 @_ppfs_init(%struct.ppfs_t.722* %ppfs, i8* %4) #19 + %cmp3 = icmp slt i32 %call2, 0 + br i1 %cmp3, label %if.then5, label %if.else13 + +if.then5: ; preds = %if.else + %fmtpos = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %5 = load i8*, i8** %fmtpos, align 8 + %call6 = call i64 @strlen(i8* %5) #21 + %cmp7 = icmp ugt i64 %call6, 0 + br i1 %cmp7, label %cond.true, label %cond.end + +cond.true: ; preds = %if.then5 + %fmtpos9 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %6 = load i8*, i8** %fmtpos9, align 8 + %fmtpos10 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %7 = load i8*, i8** %fmtpos10, align 8 + %call11 = call i64 @strlen(i8* %7) #21 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call12 = call i64 @__stdio_fwrite(i8* %6, i64 %call11, %struct.__STDIO_FILE_STRUCT.568* %8) #19 + br label %cond.end + +cond.end: ; preds = %if.then5, %cond.true + %cond = phi i64 [ %call12, %cond.true ], [ 0, %if.then5 ] + store i32 -1, i32* %count, align 4 + br label %if.end65 + +if.else13: ; preds = %if.else + %9 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %arg.addr, align 8 + call void @_ppfs_prepargs(%struct.ppfs_t.722* %ppfs, %struct.__va_list_tag.0* %9) #19 + br label %do.body + +do.body: ; preds = %do.cond, %if.else13 + br label %while.cond + +while.cond: ; preds = %while.body, %do.body + %10 = load i8*, i8** %format.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv14 = sext i8 %11 to i32 + %tobool15 = icmp ne i32 %conv14, 0 + br i1 %tobool15, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %12 = load i8*, i8** %format.addr, align 8 + %13 = load i8, i8* %12, align 1 + %conv16 = sext i8 %13 to i32 + %cmp17 = icmp ne i32 %conv16, 37 + br label %land.end + +land.end: ; preds = %land.rhs, %while.cond + %14 = phi i1 [ false, %while.cond ], [ %cmp17, %land.rhs ] + %15 = load i8*, i8** %format.addr, align 8 + br i1 %14, label %while.body, label %while.end + +while.body: ; preds = %land.end + %incdec.ptr = getelementptr inbounds i8, i8* %15, i32 1 + store i8* %incdec.ptr, i8** %format.addr, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %16 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %15 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %16 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool19 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %tobool19, label %if.then20, label %if.end42 + +if.then20: ; preds = %while.end + %17 = load i8*, i8** %format.addr, align 8 + %18 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast21 = ptrtoint i8* %17 to i64 + %sub.ptr.rhs.cast22 = ptrtoint i8* %18 to i64 + %sub.ptr.sub23 = sub i64 %sub.ptr.lhs.cast21, %sub.ptr.rhs.cast22 + %cmp24 = icmp sgt i64 %sub.ptr.sub23, 0 + br i1 %cmp24, label %cond.true26, label %cond.end32 + +cond.true26: ; preds = %if.then20 + %19 = load i8*, i8** %s, align 8 + %20 = load i8*, i8** %format.addr, align 8 + %21 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast27 = ptrtoint i8* %20 to i64 + %sub.ptr.rhs.cast28 = ptrtoint i8* %21 to i64 + %sub.ptr.sub29 = sub i64 %sub.ptr.lhs.cast27, %sub.ptr.rhs.cast28 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call30 = call i64 @__stdio_fwrite(i8* %19, i64 %sub.ptr.sub29, %struct.__STDIO_FILE_STRUCT.568* %22) #19 + br label %cond.end32 + +cond.end32: ; preds = %if.then20, %cond.true26 + %cond33 = phi i64 [ %call30, %cond.true26 ], [ 0, %if.then20 ] + %conv34 = trunc i64 %cond33 to i32 + store i32 %conv34, i32* %r, align 4 + %conv35 = sext i32 %conv34 to i64 + %23 = load i8*, i8** %format.addr, align 8 + %24 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast36 = ptrtoint i8* %23 to i64 + %sub.ptr.rhs.cast37 = ptrtoint i8* %24 to i64 + %sub.ptr.sub38 = sub i64 %sub.ptr.lhs.cast36, %sub.ptr.rhs.cast37 + %cmp39 = icmp ne i64 %conv35, %sub.ptr.sub38 + br i1 %cmp39, label %if.then41, label %if.end + +if.then41: ; preds = %cond.end32 + store i32 -1, i32* %count, align 4 + br label %do.end + +if.end: ; preds = %cond.end32 + %25 = load i32, i32* %r, align 4 + %26 = load i32, i32* %count, align 4 + %add = add nsw i32 %26, %25 + store i32 %add, i32* %count, align 4 + br label %if.end42 + +if.end42: ; preds = %if.end, %while.end + %27 = load i8*, i8** %format.addr, align 8 + %28 = load i8, i8* %27, align 1 + %tobool43 = icmp ne i8 %28, 0 + br i1 %tobool43, label %if.end45, label %do.end + +if.end45: ; preds = %if.end42 + %29 = load i8*, i8** %format.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %29, i64 1 + %30 = load i8, i8* %arrayidx, align 1 + %conv46 = sext i8 %30 to i32 + %cmp47 = icmp ne i32 %conv46, 37 + %31 = load i8*, i8** %format.addr, align 8 + %incdec.ptr50 = getelementptr inbounds i8, i8* %31, i32 1 + store i8* %incdec.ptr50, i8** %format.addr, align 8 + br i1 %cmp47, label %if.then49, label %if.else58 + +if.then49: ; preds = %if.end45 + %fmtpos51 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + store i8* %incdec.ptr50, i8** %fmtpos51, align 8 + %32 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call52 = call i32 @_do_one_spec(%struct.__STDIO_FILE_STRUCT.568* %32, %struct.ppfs_t.722* %ppfs, i32* %count) #19 + store i32 %call52, i32* %r, align 4 + %cmp53 = icmp slt i32 %call52, 0 + br i1 %cmp53, label %if.then55, label %if.end56 + +if.then55: ; preds = %if.then49 + store i32 -1, i32* %count, align 4 + br label %do.end + +if.end56: ; preds = %if.then49 + %fmtpos57 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %33 = load i8*, i8** %fmtpos57, align 8 + store i8* %33, i8** %format.addr, align 8 + store i8* %33, i8** %s, align 8 + br label %do.cond + +if.else58: ; preds = %if.end45 + store i8* %incdec.ptr50, i8** %s, align 8 + %34 = load i8*, i8** %format.addr, align 8 + %incdec.ptr60 = getelementptr inbounds i8, i8* %34, i32 1 + store i8* %incdec.ptr60, i8** %format.addr, align 8 + br label %do.cond + +do.cond: ; preds = %if.end56, %if.else58 + br label %do.body + +do.end: ; preds = %if.end42, %if.then55, %if.then41 + %arg62 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 7 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg62, i64 0, i64 0 + %arraydecay63 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_end(i8* %arraydecay63) + br label %if.end65 + +if.end65: ; preds = %cond.end, %do.end, %if.then + %35 = load i32, i32* %count, align 4 + ret i32 %35 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_do_one_spec(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, %struct.ppfs_t.722* %ppfs, i32* %count) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %count.addr = alloca i32*, align 8 + %argptr = alloca [1 x i8*], align 8 + %argtype = alloca i32*, align 8 + %ws = alloca i32*, align 8 + %mbstate = alloca %struct.__mbstate_t.512, align 4 + %slen = alloca i64, align 8 + %base = alloca i32, align 4 + %numpad = alloca i32, align 4 + %alphacase = alloca i32, align 4 + %numfill = alloca i32, align 4 + %prefix_num = alloca i32, align 4 + %padchar = alloca i8, align 1 + %buf = alloca [128 x i8], align 16 + %p = alloca %union.anon.193*, align 8 + %i = alloca i32, align 4 + %s = alloca i8*, align 8 + %nf = alloca i64, align 8 + %t = alloca i64, align 8 + %t351 = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store i32* %count, i32** %count.addr, align 8 + store i32* null, i32** %ws, align 8 + store i32 0, i32* %numfill, align 4 + store i32 11, i32* %prefix_num, align 4 + store i8 32, i8* %padchar, align 1 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %call = call i32 @_ppfs_parsespec(%struct.ppfs_t.722* %0) #19 + %1 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + call void @_ppfs_setargs(%struct.ppfs_t.722* %1) #19 + %2 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype1 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %2, i32 0, i32 6 + %arraydecay = getelementptr inbounds [9 x i32], [9 x i32]* %argtype1, i64 0, i64 0 + %3 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %3, i32 0, i32 5 + %arrayidx = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber, i64 0, i64 2 + %4 = load i8, i8* %arrayidx, align 2 + %conv = zext i8 %4 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds i32, i32* %arraydecay, i64 %idx.ext + %add.ptr2 = getelementptr inbounds i32, i32* %add.ptr, i64 -1 + store i32* %add.ptr2, i32** %argtype, align 8 + %5 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argvalue = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %5, i32 0, i32 8 + %arraydecay3 = getelementptr inbounds [9 x %union.anon.193], [9 x %union.anon.193]* %argvalue, i64 0, i64 0 + store %union.anon.193* %arraydecay3, %union.anon.193** %p, align 8 + %6 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %6, i32 0, i32 2 + %7 = load i32, i32* %maxposarg, align 4 + %cmp = icmp sgt i32 %7, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %8 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber5 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %8, i32 0, i32 5 + %arrayidx6 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber5, i64 0, i64 2 + %9 = load i8, i8* %arrayidx6, align 2 + %conv7 = zext i8 %9 to i32 + %sub = sub nsw i32 %conv7, 1 + %10 = load %union.anon.193*, %union.anon.193** %p, align 8 + %idx.ext8 = sext i32 %sub to i64 + %add.ptr9 = getelementptr inbounds %union.anon.193, %union.anon.193* %10, i64 %idx.ext8 + store %union.anon.193* %add.ptr9, %union.anon.193** %p, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %11 = load i32, i32* %i, align 4 + %12 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %12, i32 0, i32 3 + %13 = load i32, i32* %num_data_args, align 8 + %cmp10 = icmp slt i32 %11, %13 + br i1 %cmp10, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %14 = load %union.anon.193*, %union.anon.193** %p, align 8 + %incdec.ptr = getelementptr inbounds %union.anon.193, %union.anon.193* %14, i32 1 + store %union.anon.193* %incdec.ptr, %union.anon.193** %p, align 8 + %15 = bitcast %union.anon.193* %14 to i8* + %16 = load i32, i32* %i, align 4 + %idxprom = sext i32 %16 to i64 + %arrayidx12 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 %idxprom + store i8* %15, i8** %arrayidx12, align 8 + %17 = load i32, i32* %i, align 4 + %inc = add nsw i32 %17, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + store i8* null, i8** %s, align 8 + %18 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %18, i32 0, i32 4 + %19 = load i32, i32* %conv_num, align 4 + %cmp13 = icmp eq i32 %19, 0 + br i1 %cmp13, label %if.then15, label %if.end18 + +if.then15: ; preds = %for.end + %arraydecay16 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %20 = load i8*, i8** %arraydecay16, align 8 + %21 = bitcast i8* %20 to i8** + %22 = load i8*, i8** %21, align 8 + %23 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %23, i32 0, i32 1 + %_flags = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 3 + %24 = load i32, i32* %_flags, align 4 + %and = and i32 %24, 3840 + %25 = load i32*, i32** %count.addr, align 8 + %26 = load i32, i32* %25, align 4 + %conv17 = sext i32 %26 to i64 + call void @_store_inttype(i8* %22, i32 %and, i64 %conv17) #19 + store i32 0, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %for.end + %27 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num19 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %27, i32 0, i32 4 + %28 = load i32, i32* %conv_num19, align 4 + %cmp20 = icmp ule i32 %28, 7 + br i1 %cmp20, label %if.then22, label %if.else179 + +if.then22: ; preds = %if.end18 + store i32 87, i32* %alphacase, align 4 + %29 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num23 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %29, i32 0, i32 4 + %30 = load i32, i32* %conv_num23, align 4 + %sub24 = sub i32 %30, 1 + %idxprom25 = sext i32 %sub24 to i64 + %arrayidx26 = getelementptr inbounds [7 x i8], [7 x i8]* @_do_one_spec.spec_base, i64 0, i64 %idxprom25 + %31 = load i8, i8* %arrayidx26, align 1 + %conv27 = sext i8 %31 to i32 + store i32 %conv27, i32* %base, align 4 + %cmp28 = icmp eq i32 %conv27, 10 + br i1 %cmp28, label %if.then30, label %if.end42 + +if.then30: ; preds = %if.then22 + %32 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info31 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %32, i32 0, i32 1 + %_flags32 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info31, i32 0, i32 3 + %33 = load i32, i32* %_flags32, align 4 + %and33 = and i32 %33, 32 + %tobool = icmp ne i32 %and33, 0 + br i1 %tobool, label %if.then34, label %if.end35 + +if.then34: ; preds = %if.then30 + store i32 44, i32* %alphacase, align 4 + br label %if.end35 + +if.end35: ; preds = %if.then34, %if.then30 + %34 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info36 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %34, i32 0, i32 1 + %_flags37 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info36, i32 0, i32 3 + %35 = load i32, i32* %_flags37, align 4 + %and38 = and i32 %35, 64 + %tobool39 = icmp ne i32 %and38, 0 + br i1 %tobool39, label %if.then40, label %if.end42 + +if.then40: ; preds = %if.end35 + %36 = load i32, i32* %alphacase, align 4 + %or = or i32 %36, 128 + store i32 %or, i32* %alphacase, align 4 + br label %if.end42 + +if.end42: ; preds = %if.end35, %if.then40, %if.then22 + %37 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num43 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %37, i32 0, i32 4 + %38 = load i32, i32* %conv_num43, align 4 + %cmp44 = icmp ule i32 %38, 5 + br i1 %cmp44, label %if.then46, label %if.else57 + +if.then46: ; preds = %if.end42 + %39 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num47 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %39, i32 0, i32 4 + %40 = load i32, i32* %conv_num47, align 4 + %cmp48 = icmp eq i32 %40, 3 + br i1 %cmp48, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.then46 + store i32 55, i32* %alphacase, align 4 + br label %if.end51 + +if.end51: ; preds = %if.then50, %if.then46 + %41 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num52 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %41, i32 0, i32 4 + %42 = load i32, i32* %conv_num52, align 4 + %cmp53 = icmp eq i32 %42, 1 + br i1 %cmp53, label %if.then55, label %if.end59 + +if.then55: ; preds = %if.end51 + store i32 6, i32* %prefix_num, align 4 + br label %if.end59 + +if.else57: ; preds = %if.end42 + %43 = load i32, i32* %base, align 4 + %sub58 = sub nsw i32 0, %43 + store i32 %sub58, i32* %base, align 4 + br label %if.end59 + +if.end59: ; preds = %if.then55, %if.end51, %if.else57 + %44 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info60 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %44, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info60, i32 0, i32 0 + %45 = load i32, i32* %prec, align 8 + %cmp61 = icmp slt i32 %45, 0 + br i1 %cmp61, label %if.then63, label %if.end66 + +if.then63: ; preds = %if.end59 + %46 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info64 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %46, i32 0, i32 1 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info64, i32 0, i32 4 + %47 = load i32, i32* %pad, align 8 + %conv65 = trunc i32 %47 to i8 + store i8 %conv65, i8* %padchar, align 1 + br label %if.end66 + +if.end66: ; preds = %if.then63, %if.end59 + %arraydecay67 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %add.ptr68 = getelementptr inbounds i8, i8* %arraydecay67, i64 128 + %add.ptr69 = getelementptr inbounds i8, i8* %add.ptr68, i64 -1 + %48 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num70 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %48, i32 0, i32 4 + %49 = load i32, i32* %conv_num70, align 4 + %cmp71 = icmp eq i32 %49, 1 + br i1 %cmp71, label %cond.end, label %cond.false + +cond.false: ; preds = %if.end66 + %50 = load i32*, i32** %argtype, align 8 + %51 = load i32, i32* %50, align 4 + %and73 = and i32 %51, 3840 + br label %cond.end + +cond.end: ; preds = %if.end66, %cond.false + %cond = phi i32 [ %and73, %cond.false ], [ 1024, %if.end66 ] + %arraydecay74 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %52 = load i8*, i8** %arraydecay74, align 8 + %53 = load i32, i32* %base, align 4 + %call75 = call i64 @_load_inttype(i32 %cond, i8* %52, i32 %53) #19 + %54 = load i32, i32* %base, align 4 + %55 = load i32, i32* %alphacase, align 4 + %call76 = call i8* @_uintmaxtostr(i8* %add.ptr69, i64 %call75, i32 %54, i32 %55) #19 + store i8* %call76, i8** %s, align 8 + %56 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num77 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %56, i32 0, i32 4 + %57 = load i32, i32* %conv_num77, align 4 + %cmp78 = icmp ugt i32 %57, 5 + br i1 %cmp78, label %if.then80, label %if.end104 + +if.then80: ; preds = %cond.end + %58 = load i8*, i8** %s, align 8 + %59 = load i8, i8* %58, align 1 + %conv81 = sext i8 %59 to i32 + %cmp82 = icmp eq i32 %conv81, 45 + %60 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info85 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %60, i32 0, i32 1 + %_flags86 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info85, i32 0, i32 3 + %61 = load i32, i32* %_flags86, align 4 + br i1 %cmp82, label %if.then84, label %if.else89 + +if.then84: ; preds = %if.then80 + %or87 = or i32 %61, 2 + store i32 %or87, i32* %_flags86, align 4 + %62 = load i8*, i8** %s, align 8 + %incdec.ptr88 = getelementptr inbounds i8, i8* %62, i32 1 + store i8* %incdec.ptr88, i8** %s, align 8 + store i32 2, i32* %prefix_num, align 4 + br label %if.end104 + +if.else89: ; preds = %if.then80 + %and92 = and i32 %61, 2 + %tobool93 = icmp ne i32 %and92, 0 + br i1 %tobool93, label %if.then94, label %if.else95 + +if.then94: ; preds = %if.else89 + store i32 0, i32* %prefix_num, align 4 + br label %if.end104 + +if.else95: ; preds = %if.else89 + %63 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info96 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %63, i32 0, i32 1 + %_flags97 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info96, i32 0, i32 3 + %64 = load i32, i32* %_flags97, align 4 + %and98 = and i32 %64, 1 + %tobool99 = icmp ne i32 %and98, 0 + br i1 %tobool99, label %if.then100, label %if.end104 + +if.then100: ; preds = %if.else95 + store i32 4, i32* %prefix_num, align 4 + br label %if.end104 + +if.end104: ; preds = %if.then84, %if.else95, %if.then100, %if.then94, %cond.end + %arraydecay105 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %add.ptr106 = getelementptr inbounds i8, i8* %arraydecay105, i64 128 + %add.ptr107 = getelementptr inbounds i8, i8* %add.ptr106, i64 -1 + %65 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %add.ptr107 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %65 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %slen, align 8 + %66 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info108 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %66, i32 0, i32 1 + %prec109 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info108, i32 0, i32 0 + %67 = load i32, i32* %prec109, align 8 + %cmp110 = icmp slt i32 %67, 0 + br i1 %cmp110, label %cond.end116, label %cond.false113 + +cond.false113: ; preds = %if.end104 + %68 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info114 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %68, i32 0, i32 1 + %prec115 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info114, i32 0, i32 0 + %69 = load i32, i32* %prec115, align 8 + br label %cond.end116 + +cond.end116: ; preds = %if.end104, %cond.false113 + %cond117 = phi i32 [ %69, %cond.false113 ], [ 1, %if.end104 ] + store i32 %cond117, i32* %numfill, align 4 + %70 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info118 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %70, i32 0, i32 1 + %_flags119 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info118, i32 0, i32 3 + %71 = load i32, i32* %_flags119, align 4 + %and120 = and i32 %71, 16 + %tobool121 = icmp ne i32 %and120, 0 + br i1 %tobool121, label %if.then122, label %if.end149 + +if.then122: ; preds = %cond.end116 + %72 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num123 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %72, i32 0, i32 4 + %73 = load i32, i32* %conv_num123, align 4 + %cmp124 = icmp ule i32 %73, 2 + br i1 %cmp124, label %if.then126, label %if.end127 + +if.then126: ; preds = %if.then122 + store i32 6, i32* %prefix_num, align 4 + br label %if.end127 + +if.end127: ; preds = %if.then126, %if.then122 + %74 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num128 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %74, i32 0, i32 4 + %75 = load i32, i32* %conv_num128, align 4 + %cmp129 = icmp eq i32 %75, 3 + br i1 %cmp129, label %if.then131, label %if.end132 + +if.then131: ; preds = %if.end127 + store i32 9, i32* %prefix_num, align 4 + br label %if.end132 + +if.end132: ; preds = %if.then131, %if.end127 + %76 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num133 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %76, i32 0, i32 4 + %77 = load i32, i32* %conv_num133, align 4 + %cmp134 = icmp eq i32 %77, 4 + br i1 %cmp134, label %land.lhs.true, label %if.end149 + +land.lhs.true: ; preds = %if.end132 + %78 = load i32, i32* %numfill, align 4 + %conv136 = sext i32 %78 to i64 + %79 = load i64, i64* %slen, align 8 + %cmp137 = icmp ule i64 %conv136, %79 + br i1 %cmp137, label %if.then139, label %if.end149 + +if.then139: ; preds = %land.lhs.true + %80 = load i8*, i8** %s, align 8 + %81 = load i8, i8* %80, align 1 + %conv140 = sext i8 %81 to i32 + %cmp141 = icmp eq i32 %conv140, 48 + %82 = load i64, i64* %slen, align 8 + %add = add i64 %82, 1 + %cond146 = select i1 %cmp141, i64 1, i64 %add + %conv147 = trunc i64 %cond146 to i32 + store i32 %conv147, i32* %numfill, align 4 + br label %if.end149 + +if.end149: ; preds = %if.end132, %land.lhs.true, %if.then139, %cond.end116 + %83 = load i8*, i8** %s, align 8 + %84 = load i8, i8* %83, align 1 + %conv150 = sext i8 %84 to i32 + %cmp151 = icmp eq i32 %conv150, 48 + br i1 %cmp151, label %if.then153, label %if.end168 + +if.then153: ; preds = %if.end149 + %85 = load i32, i32* %prefix_num, align 4 + %cmp154 = icmp sge i32 %85, 6 + br i1 %cmp154, label %if.then156, label %if.end157 + +if.then156: ; preds = %if.then153 + store i32 11, i32* %prefix_num, align 4 + br label %if.end157 + +if.end157: ; preds = %if.then156, %if.then153 + %86 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num158 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %86, i32 0, i32 4 + %87 = load i32, i32* %conv_num158, align 4 + %cmp159 = icmp eq i32 %87, 1 + br i1 %cmp159, label %if.then161, label %if.else162 + +if.then161: ; preds = %if.end157 + store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.349, i64 0, i64 0), i8** %s, align 8 + store i64 5, i64* %slen, align 8 + store i32 0, i32* %numfill, align 4 + br label %if.end168 + +if.else162: ; preds = %if.end157 + %88 = load i32, i32* %numfill, align 4 + %cmp163 = icmp eq i32 %88, 0 + br i1 %cmp163, label %if.then165, label %if.end168 + +if.then165: ; preds = %if.else162 + store i64 0, i64* %slen, align 8 + br label %if.end168 + +if.end168: ; preds = %if.then161, %if.then165, %if.else162, %if.end149 + %89 = load i32, i32* %numfill, align 4 + %conv169 = sext i32 %89 to i64 + %90 = load i64, i64* %slen, align 8 + %cmp170 = icmp ugt i64 %conv169, %90 + %91 = load i32, i32* %numfill, align 4 + %conv173 = sext i32 %91 to i64 + %92 = load i64, i64* %slen, align 8 + %sub174 = sub i64 %conv173, %92 + %cond177 = select i1 %cmp170, i64 %sub174, i64 0 + %conv178 = trunc i64 %cond177 to i32 + store i32 %conv178, i32* %numfill, align 4 + br label %if.end278 + +if.else179: ; preds = %if.end18 + %93 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num180 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %93, i32 0, i32 4 + %94 = load i32, i32* %conv_num180, align 4 + %cmp181 = icmp ule i32 %94, 15 + br i1 %cmp181, label %if.then183, label %if.else203 + +if.then183: ; preds = %if.else179 + %95 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %arraydecay189 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %96 = load i8*, i8** %arraydecay189, align 8 + %97 = bitcast i8* %96 to double* + %98 = load double, double* %97, align 8 + %99 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info194 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %99, i32 0, i32 1 + %call195 = call i64 @_fpmaxtostr(%struct.__STDIO_FILE_STRUCT.568* %95, double %98, %struct.printf_info.720* %info194, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)* @_fp_out_narrow) #19 + store i64 %call195, i64* %nf, align 8 + %100 = load i64, i64* %nf, align 8 + %cmp196 = icmp slt i64 %100, 0 + br i1 %cmp196, label %if.then198, label %if.end199 + +if.then198: ; preds = %if.then183 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end199: ; preds = %if.then183 + %101 = load i64, i64* %nf, align 8 + %102 = load i32*, i32** %count.addr, align 8 + %103 = load i32, i32* %102, align 4 + %conv200 = sext i32 %103 to i64 + %add201 = add nsw i64 %conv200, %101 + %conv202 = trunc i64 %add201 to i32 + store i32 %conv202, i32* %102, align 4 + store i32 0, i32* %retval, align 4 + br label %return + +if.else203: ; preds = %if.else179 + %104 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num204 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %104, i32 0, i32 4 + %105 = load i32, i32* %conv_num204, align 4 + %cmp205 = icmp ule i32 %105, 17 + br i1 %cmp205, label %if.then207, label %if.else242 + +if.then207: ; preds = %if.else203 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %mbstate, i32 0, i32 0 + store i32 0, i32* %__mask, align 4 + %106 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num208 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %106, i32 0, i32 4 + %107 = load i32, i32* %conv_num208, align 4 + %cmp209 = icmp eq i32 %107, 17 + br i1 %cmp209, label %if.then211, label %if.else232 + +if.then211: ; preds = %if.then207 + %arraydecay212 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %108 = load i8*, i8** %arraydecay212, align 8 + %109 = bitcast i8* %108 to i32** + %110 = load i32*, i32** %109, align 8 + store i32* %110, i32** %ws, align 8 + %tobool213 = icmp ne i32* %110, null + br i1 %tobool213, label %if.end215, label %NULL_STRING + +if.end215: ; preds = %if.then211 + %111 = bitcast i32** %ws to i8* + %112 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info216 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %112, i32 0, i32 1 + %prec217 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info216, i32 0, i32 0 + %113 = load i32, i32* %prec217, align 8 + %cmp218 = icmp sge i32 %113, 0 + br i1 %cmp218, label %cond.true220, label %cond.end225 + +cond.true220: ; preds = %if.end215 + %114 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info221 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %114, i32 0, i32 1 + %prec222 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info221, i32 0, i32 0 + %115 = load i32, i32* %prec222, align 8 + %conv223 = sext i32 %115 to i64 + br label %cond.end225 + +cond.end225: ; preds = %if.end215, %cond.true220 + %cond226 = phi i64 [ %conv223, %cond.true220 ], [ -1, %if.end215 ] + %call227 = call i64 @wcsrtombs(i8* %111, i32** %ws, i64 %cond226, %struct.__mbstate_t.512* %mbstate) #20 + store i64 %call227, i64* %slen, align 8 + %cmp228 = icmp eq i64 %call227, -1 + br i1 %cmp228, label %if.then230, label %if.end278 + +if.then230: ; preds = %cond.end225 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else232: ; preds = %if.then207 + %arraydecay233 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay233, i8** %s, align 8 + %116 = load i8*, i8** %s, align 8 + %arraydecay234 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %117 = load i8*, i8** %arraydecay234, align 8 + %118 = bitcast i8* %117 to i32* + %119 = load i32, i32* %118, align 4 + %call235 = call i64 @wcrtomb(i8* %116, i32 %119, %struct.__mbstate_t.512* %mbstate) #20 + store i64 %call235, i64* %slen, align 8 + %120 = load i64, i64* %slen, align 8 + %cmp236 = icmp eq i64 %120, -1 + br i1 %cmp236, label %if.then238, label %if.end239 + +if.then238: ; preds = %if.else232 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end239: ; preds = %if.else232 + %121 = load i8*, i8** %s, align 8 + %122 = load i64, i64* %slen, align 8 + %arrayidx240 = getelementptr inbounds i8, i8* %121, i64 %122 + store i8 0, i8* %arrayidx240, align 1 + br label %if.end278 + +if.else242: ; preds = %if.else203 + %123 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num243 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %123, i32 0, i32 4 + %124 = load i32, i32* %conv_num243, align 4 + %cmp244 = icmp ule i32 %124, 19 + br i1 %cmp244, label %if.then246, label %if.else274 + +if.then246: ; preds = %if.else242 + %125 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num247 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %125, i32 0, i32 4 + %126 = load i32, i32* %conv_num247, align 4 + %cmp248 = icmp eq i32 %126, 19 + br i1 %cmp248, label %if.then250, label %if.else268 + +if.then250: ; preds = %if.then246 + %arraydecay251 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %127 = load i8*, i8** %arraydecay251, align 8 + %128 = bitcast i8* %127 to i8** + %129 = load i8*, i8** %128, align 8 + store i8* %129, i8** %s, align 8 + %130 = load i8*, i8** %s, align 8 + %tobool252 = icmp ne i8* %130, null + br i1 %tobool252, label %if.then253, label %NULL_STRING + +if.then253: ; preds = %if.then250 + %131 = load i8*, i8** %s, align 8 + %132 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info254 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %132, i32 0, i32 1 + %prec255 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info254, i32 0, i32 0 + %133 = load i32, i32* %prec255, align 8 + %cmp256 = icmp sge i32 %133, 0 + br i1 %cmp256, label %cond.true258, label %cond.end263 + +cond.true258: ; preds = %if.then253 + %134 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info259 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %134, i32 0, i32 1 + %prec260 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info259, i32 0, i32 0 + %135 = load i32, i32* %prec260, align 8 + %conv261 = sext i32 %135 to i64 + br label %cond.end263 + +cond.end263: ; preds = %if.then253, %cond.true258 + %cond264 = phi i64 [ %conv261, %cond.true258 ], [ -1, %if.then253 ] + %call265 = call i64 @strnlen(i8* %131, i64 %cond264) #21 + store i64 %call265, i64* %slen, align 8 + br label %if.end278 + +NULL_STRING: ; preds = %if.then250, %if.then211 + store i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.350, i64 0, i64 0), i8** %s, align 8 + store i64 6, i64* %slen, align 8 + br label %if.end278 + +if.else268: ; preds = %if.then246 + %arraydecay269 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay269, i8** %s, align 8 + %arraydecay270 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %136 = load i8*, i8** %arraydecay270, align 8 + %137 = bitcast i8* %136 to i32* + %138 = load i32, i32* %137, align 4 + %conv271 = trunc i32 %138 to i8 + %139 = load i8*, i8** %s, align 8 + store i8 %conv271, i8* %139, align 1 + %140 = load i8*, i8** %s, align 8 + %arrayidx272 = getelementptr inbounds i8, i8* %140, i64 1 + store i8 0, i8* %arrayidx272, align 1 + store i64 1, i64* %slen, align 8 + br label %if.end278 + +if.else274: ; preds = %if.else242 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end278: ; preds = %cond.end263, %NULL_STRING, %if.else268, %if.end239, %cond.end225, %if.end168 + %141 = load i64, i64* %slen, align 8 + %142 = load i32, i32* %numfill, align 4 + %conv279 = sext i32 %142 to i64 + %add280 = add i64 %141, %conv279 + store i64 %add280, i64* %t, align 8 + %143 = load i32, i32* %prefix_num, align 4 + %cmp281 = icmp ne i32 %143, 11 + br i1 %cmp281, label %if.then283, label %if.end289 + +if.then283: ; preds = %if.end278 + %144 = load i32, i32* %prefix_num, align 4 + %cmp284 = icmp slt i32 %144, 6 + %145 = zext i1 %cmp284 to i64 + %cond286 = select i1 %cmp284, i32 1, i32 2 + %conv287 = sext i32 %cond286 to i64 + %146 = load i64, i64* %t, align 8 + %add288 = add i64 %146, %conv287 + store i64 %add288, i64* %t, align 8 + br label %if.end289 + +if.end289: ; preds = %if.then283, %if.end278 + %147 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info290 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %147, i32 0, i32 1 + %width = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info290, i32 0, i32 1 + %148 = load i32, i32* %width, align 4 + %conv291 = sext i32 %148 to i64 + %149 = load i64, i64* %t, align 8 + %cmp292 = icmp ugt i64 %conv291, %149 + br i1 %cmp292, label %cond.true294, label %cond.end300 + +cond.true294: ; preds = %if.end289 + %150 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info295 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %150, i32 0, i32 1 + %width296 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info295, i32 0, i32 1 + %151 = load i32, i32* %width296, align 4 + %conv297 = sext i32 %151 to i64 + %152 = load i64, i64* %t, align 8 + %sub298 = sub i64 %conv297, %152 + br label %cond.end300 + +cond.end300: ; preds = %if.end289, %cond.true294 + %cond301 = phi i64 [ %sub298, %cond.true294 ], [ 0, %if.end289 ] + %conv302 = trunc i64 %cond301 to i32 + store i32 %conv302, i32* %numpad, align 4 + %153 = load i64, i64* %t, align 8 + %154 = load i32, i32* %numpad, align 4 + %conv303 = sext i32 %154 to i64 + %add304 = add i64 %153, %conv303 + %155 = load i32*, i32** %count.addr, align 8 + %156 = load i32, i32* %155, align 4 + %conv305 = sext i32 %156 to i64 + %add306 = add i64 %conv305, %add304 + %conv307 = trunc i64 %add306 to i32 + store i32 %conv307, i32* %155, align 4 + %157 = load i8, i8* %padchar, align 1 + %conv308 = sext i8 %157 to i32 + %cmp309 = icmp eq i32 %conv308, 48 + br i1 %cmp309, label %if.then311, label %if.end313 + +if.then311: ; preds = %cond.end300 + %158 = load i32, i32* %numpad, align 4 + %159 = load i32, i32* %numfill, align 4 + %add312 = add nsw i32 %159, %158 + store i32 %add312, i32* %numfill, align 4 + store i32 0, i32* %numpad, align 4 + br label %if.end313 + +if.end313: ; preds = %if.then311, %cond.end300 + %160 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info314 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %160, i32 0, i32 1 + %_flags315 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info314, i32 0, i32 3 + %161 = load i32, i32* %_flags315, align 4 + %and316 = and i32 %161, 8 + %tobool317 = icmp ne i32 %and316, 0 + br i1 %tobool317, label %if.end326, label %if.then318 + +if.then318: ; preds = %if.end313 + %162 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %163 = load i32, i32* %numpad, align 4 + %conv319 = sext i32 %163 to i64 + %call320 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %162, i32 32, i64 %conv319) #19 + %164 = load i32, i32* %numpad, align 4 + %conv321 = sext i32 %164 to i64 + %cmp322 = icmp ne i64 %call320, %conv321 + br i1 %cmp322, label %if.then324, label %if.end325 + +if.then324: ; preds = %if.then318 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end325: ; preds = %if.then318 + store i32 0, i32* %numpad, align 4 + br label %if.end326 + +if.end326: ; preds = %if.end325, %if.end313 + %165 = load i32, i32* %prefix_num, align 4 + %idx.ext327 = sext i32 %165 to i64 + %add.ptr328 = getelementptr inbounds i8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @_do_one_spec.prefix, i64 0, i64 0), i64 %idx.ext327 + %166 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call329 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct.__STDIO_FILE_STRUCT.568*)*)(i8* %add.ptr328, %struct.__STDIO_FILE_STRUCT.568* %166) #19 + %167 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %168 = load i32, i32* %numfill, align 4 + %conv330 = sext i32 %168 to i64 + %call331 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %167, i32 48, i64 %conv330) #19 + %169 = load i32, i32* %numfill, align 4 + %conv332 = sext i32 %169 to i64 + %cmp333 = icmp ne i64 %call331, %conv332 + br i1 %cmp333, label %if.then335, label %if.end336 + +if.then335: ; preds = %if.end326 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end336: ; preds = %if.end326 + %170 = load i32*, i32** %ws, align 8 + %tobool337 = icmp ne i32* %170, null + br i1 %tobool337, label %if.else350, label %if.then338 + +if.then338: ; preds = %if.end336 + %171 = load i64, i64* %slen, align 8 + %cmp339 = icmp ugt i64 %171, 0 + br i1 %cmp339, label %cond.true341, label %cond.end344 + +cond.true341: ; preds = %if.then338 + %172 = load i8*, i8** %s, align 8 + %173 = load i64, i64* %slen, align 8 + %174 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call342 = call i64 @__stdio_fwrite(i8* %172, i64 %173, %struct.__STDIO_FILE_STRUCT.568* %174) #19 + br label %cond.end344 + +cond.end344: ; preds = %if.then338, %cond.true341 + %cond345 = phi i64 [ %call342, %cond.true341 ], [ 0, %if.then338 ] + %175 = load i64, i64* %slen, align 8 + %cmp346 = icmp ne i64 %cond345, %175 + br i1 %cmp346, label %if.then348, label %if.end375 + +if.then348: ; preds = %cond.end344 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else350: ; preds = %if.end336 + %__mask352 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %mbstate, i32 0, i32 0 + store i32 0, i32* %__mask352, align 4 + br label %while.cond + +while.cond: ; preds = %if.end373, %if.else350 + %176 = load i64, i64* %slen, align 8 + %tobool353 = icmp ne i64 %176, 0 + br i1 %tobool353, label %while.body, label %if.end375 + +while.body: ; preds = %while.cond + %177 = load i64, i64* %slen, align 8 + %cmp354 = icmp ule i64 %177, 128 + %178 = load i64, i64* %slen, align 8 + %cond359 = select i1 %cmp354, i64 %178, i64 128 + store i64 %cond359, i64* %t351, align 8 + %arraydecay360 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %179 = load i64, i64* %t351, align 8 + %call361 = call i64 @wcsrtombs(i8* %arraydecay360, i32** %ws, i64 %179, %struct.__mbstate_t.512* %mbstate) #20 + store i64 %call361, i64* %t351, align 8 + %180 = load i64, i64* %t351, align 8 + %cmp362 = icmp ugt i64 %180, 0 + br i1 %cmp362, label %cond.true364, label %cond.end368 + +cond.true364: ; preds = %while.body + %arraydecay365 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %181 = load i64, i64* %t351, align 8 + %182 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call366 = call i64 @__stdio_fwrite(i8* %arraydecay365, i64 %181, %struct.__STDIO_FILE_STRUCT.568* %182) #19 + br label %cond.end368 + +cond.end368: ; preds = %while.body, %cond.true364 + %cond369 = phi i64 [ %call366, %cond.true364 ], [ 0, %while.body ] + %183 = load i64, i64* %t351, align 8 + %cmp370 = icmp ne i64 %cond369, %183 + br i1 %cmp370, label %if.then372, label %if.end373 + +if.then372: ; preds = %cond.end368 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end373: ; preds = %cond.end368 + %184 = load i64, i64* %t351, align 8 + %185 = load i64, i64* %slen, align 8 + %sub374 = sub i64 %185, %184 + store i64 %sub374, i64* %slen, align 8 + br label %while.cond + +if.end375: ; preds = %while.cond, %cond.end344 + %186 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %187 = load i32, i32* %numpad, align 4 + %conv376 = sext i32 %187 to i64 + %call377 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %186, i32 32, i64 %conv376) #19 + %188 = load i32, i32* %numpad, align 4 + %conv378 = sext i32 %188 to i64 + %cmp379 = icmp ne i64 %call377, %conv378 + br i1 %cmp379, label %if.then381, label %if.end382 + +if.then381: ; preds = %if.end375 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end382: ; preds = %if.end375 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end382, %if.then381, %if.then372, %if.then348, %if.then335, %if.then324, %if.else274, %if.then238, %if.then230, %if.end199, %if.then198, %if.then15 + %189 = load i32, i32* %retval, align 4 + ret i32 %189 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @_fp_out_narrow(%struct.__STDIO_FILE_STRUCT.568* %fp, i64 %type, i64 %len, i64 %buf) #0 { +entry: + %retval = alloca i64, align 8 + %fp.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %type.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %buf.addr = alloca i64, align 8 + %r = alloca i64, align 8 + %buflen = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %fp, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + store i64 %type, i64* %type.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store i64 %buf, i64* %buf.addr, align 8 + store i64 0, i64* %r, align 8 + %0 = load i64, i64* %type.addr, align 8 + %and = and i64 %0, 128 + %tobool = icmp ne i64 %and, 0 + br i1 %tobool, label %if.then, label %if.end12 + +if.then: ; preds = %entry + %1 = load i64, i64* %buf.addr, align 8 + %2 = inttoptr i64 %1 to i8* + %call = call i64 @strlen(i8* %2) #21 + %conv = trunc i64 %call to i32 + store i32 %conv, i32* %buflen, align 4 + %3 = load i32, i32* %buflen, align 4 + %conv1 = sext i32 %3 to i64 + %4 = load i64, i64* %len.addr, align 8 + %sub = sub nsw i64 %4, %conv1 + store i64 %sub, i64* %len.addr, align 8 + %cmp = icmp sgt i64 %sub, 0 + br i1 %cmp, label %if.then3, label %if.end10 + +if.then3: ; preds = %if.then + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + %6 = load i64, i64* %type.addr, align 8 + %and4 = and i64 %6, 127 + %conv5 = trunc i64 %and4 to i32 + %7 = load i64, i64* %len.addr, align 8 + %call6 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %5, i32 %conv5, i64 %7) #19 + store i64 %call6, i64* %r, align 8 + %8 = load i64, i64* %len.addr, align 8 + %cmp7 = icmp ne i64 %call6, %8 + br i1 %cmp7, label %if.then9, label %if.end10 + +if.then9: ; preds = %if.then3 + %9 = load i64, i64* %r, align 8 + store i64 %9, i64* %retval, align 8 + br label %return + +if.end10: ; preds = %if.then3, %if.then + %10 = load i32, i32* %buflen, align 4 + %conv11 = sext i32 %10 to i64 + store i64 %conv11, i64* %len.addr, align 8 + br label %if.end12 + +if.end12: ; preds = %if.end10, %entry + %11 = load i64, i64* %r, align 8 + %12 = load i64, i64* %len.addr, align 8 + %cmp13 = icmp sgt i64 %12, 0 + br i1 %cmp13, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end12 + %13 = load i64, i64* %buf.addr, align 8 + %14 = inttoptr i64 %13 to i8* + %15 = load i64, i64* %len.addr, align 8 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + %call15 = call i64 @__stdio_fwrite(i8* %14, i64 %15, %struct.__STDIO_FILE_STRUCT.568* %16) #19 + br label %cond.end + +cond.end: ; preds = %if.end12, %cond.true + %cond = phi i64 [ %call15, %cond.true ], [ 0, %if.end12 ] + %add = add i64 %11, %cond + store i64 %add, i64* %retval, align 8 + br label %return + +return: ; preds = %cond.end, %if.then9 + %17 = load i64, i64* %retval, align 8 + ret i64 %17 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %padchar, i64 %numpad) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %padchar.addr = alloca i32, align 4 + %numpad.addr = alloca i64, align 8 + %todo = alloca i64, align 8 + %pad = alloca [1 x i8], align 1 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %padchar, i32* %padchar.addr, align 4 + store i64 %numpad, i64* %numpad.addr, align 8 + %0 = load i64, i64* %numpad.addr, align 8 + store i64 %0, i64* %todo, align 8 + %1 = load i32, i32* %padchar.addr, align 4 + %conv = trunc i32 %1 to i8 + %arraydecay = getelementptr inbounds [1 x i8], [1 x i8]* %pad, i64 0, i64 0 + store i8 %conv, i8* %arraydecay, align 1 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %2 = load i64, i64* %todo, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %arraydecay1 = getelementptr inbounds [1 x i8], [1 x i8]* %pad, i64 0, i64 0 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i64 @__stdio_fwrite(i8* %arraydecay1, i64 1, %struct.__STDIO_FILE_STRUCT.568* %3) #19 + %cmp = icmp eq i64 %call, 1 + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %land.rhs + %4 = load i64, i64* %todo, align 8 + %dec = add i64 %4, -1 + store i64 %dec, i64* %todo, align 8 + br label %while.cond + +while.end: ; preds = %while.cond, %land.rhs + %5 = load i64, i64* %numpad.addr, align 8 + %6 = load i64, i64* %todo, align 8 + %sub = sub i64 %5, %6 + ret i64 %sub +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__cxa_atexit(void (i8*)* %func, i8* %arg, i8* %dso_handle) #0 { +entry: + %retval = alloca i32, align 4 + %func.addr = alloca void (i8*)*, align 8 + %arg.addr = alloca i8*, align 8 + %dso_handle.addr = alloca i8*, align 8 + %efp = alloca %struct.exit_function*, align 8 + store void (i8*)* %func, void (i8*)** %func.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i8* %dso_handle, i8** %dso_handle.addr, align 8 + %0 = load void (i8*)*, void (i8*)** %func.addr, align 8 + %cmp = icmp eq void (i8*)* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %call = call %struct.exit_function* @__new_exitfn() #19 + store %struct.exit_function* %call, %struct.exit_function** %efp, align 8 + %1 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %cmp1 = icmp eq %struct.exit_function* %1, null + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + store i32 -1, i32* %retval, align 4 + br label %return + +if.end3: ; preds = %if.end + %2 = load void (i8*)*, void (i8*)** %func.addr, align 8 + %3 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs = getelementptr inbounds %struct.exit_function, %struct.exit_function* %3, i32 0, i32 1 + %cxa_atexit = bitcast %union.anon.772* %funcs to %struct.anon.0.771* + %func4 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit, i32 0, i32 0 + store void (i8*)* %2, void (i8*)** %func4, align 8 + %4 = load i8*, i8** %arg.addr, align 8 + %5 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs5 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %5, i32 0, i32 1 + %cxa_atexit6 = bitcast %union.anon.772* %funcs5 to %struct.anon.0.771* + %arg7 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit6, i32 0, i32 1 + store i8* %4, i8** %arg7, align 8 + %6 = load i8*, i8** %dso_handle.addr, align 8 + %7 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs8 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %7, i32 0, i32 1 + %cxa_atexit9 = bitcast %union.anon.772* %funcs8 to %struct.anon.0.771* + %dso_handle10 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit9, i32 0, i32 2 + store i8* %6, i8** %dso_handle10, align 8 + %8 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %type = getelementptr inbounds %struct.exit_function, %struct.exit_function* %8, i32 0, i32 0 + store i64 3, i64* %type, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end3, %if.then2, %if.then + %9 = load i32, i32* %retval, align 4 + ret i32 %9 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_stdlib_strto_l(i8* noalias %str, i8** noalias %endptr, i32 %base, i32 %sflag) #0 { +entry: + %str.addr = alloca i8*, align 8 + %endptr.addr = alloca i8**, align 8 + %base.addr = alloca i32, align 4 + %sflag.addr = alloca i32, align 4 + store i8* %str, i8** %str.addr, align 8 + store i8** %endptr, i8*** %endptr.addr, align 8 + store i32 %base, i32* %base.addr, align 4 + store i32 %sflag, i32* %sflag.addr, align 4 + %0 = load i8*, i8** %str.addr, align 8 + %1 = load i8**, i8*** %endptr.addr, align 8 + %2 = load i32, i32* %base.addr, align 4 + %3 = load i32, i32* %sflag.addr, align 4 + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %call = call i64 @_stdlib_strto_l_l(i8* %0, i8** %1, i32 %2, i32 %3, %struct.__uclibc_locale_struct.201* %4) #19 + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define i8* @getenv(i8* nonnull %var) #0 { +entry: + %retval = alloca i8*, align 8 + %var.addr = alloca i8*, align 8 + %len = alloca i32, align 4 + %ep = alloca i8**, align 8 + store i8* %var, i8** %var.addr, align 8 + %0 = load i8**, i8*** @__environ, align 8 + store i8** %0, i8*** %ep, align 8 + %tobool = icmp ne i8** %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %var.addr, align 8 + %call = call i64 @strlen(i8* %1) #21 + %conv = trunc i64 %call to i32 + store i32 %conv, i32* %len, align 4 + br label %while.cond + +while.cond: ; preds = %if.end10, %if.end + %2 = load i8**, i8*** %ep, align 8 + %3 = load i8*, i8** %2, align 8 + %tobool1 = icmp ne i8* %3, null + br i1 %tobool1, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i8*, i8** %var.addr, align 8 + %5 = load i8**, i8*** %ep, align 8 + %6 = load i8*, i8** %5, align 8 + %7 = load i32, i32* %len, align 4 + %conv2 = sext i32 %7 to i64 + %call3 = call i32 @memcmp(i8* %4, i8* %6, i64 %conv2) #21 + %cmp = icmp eq i32 %call3, 0 + br i1 %cmp, label %land.lhs.true, label %if.end10 + +land.lhs.true: ; preds = %while.body + %8 = load i8**, i8*** %ep, align 8 + %9 = load i8*, i8** %8, align 8 + %10 = load i32, i32* %len, align 4 + %idxprom = sext i32 %10 to i64 + %arrayidx = getelementptr inbounds i8, i8* %9, i64 %idxprom + %11 = load i8, i8* %arrayidx, align 1 + %conv5 = sext i8 %11 to i32 + %cmp6 = icmp eq i32 %conv5, 61 + br i1 %cmp6, label %if.then8, label %if.end10 + +if.then8: ; preds = %land.lhs.true + %12 = load i8**, i8*** %ep, align 8 + %13 = load i8*, i8** %12, align 8 + %14 = load i32, i32* %len, align 4 + %idx.ext = sext i32 %14 to i64 + %add.ptr = getelementptr inbounds i8, i8* %13, i64 %idx.ext + %add.ptr9 = getelementptr inbounds i8, i8* %add.ptr, i64 1 + store i8* %add.ptr9, i8** %retval, align 8 + br label %return + +if.end10: ; preds = %land.lhs.true, %while.body + %15 = load i8**, i8*** %ep, align 8 + %incdec.ptr = getelementptr inbounds i8*, i8** %15, i32 1 + store i8** %incdec.ptr, i8*** %ep, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then8, %if.then + %16 = load i8*, i8** %retval, align 8 + ret i8* %16 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @memmove(i8* nonnull %s1, i8* nonnull %s2, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %p, align 8 + %2 = load i8*, i8** %p, align 8 + %3 = load i8*, i8** %s, align 8 + %cmp = icmp uge i8* %2, %3 + br i1 %cmp, label %while.cond, label %while.cond2 + +while.cond: ; preds = %entry, %while.body + %4 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %4, 0 + br i1 %tobool, label %while.body, label %if.end + +while.body: ; preds = %while.cond + %5 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %6 = load i8, i8* %5, align 1 + %7 = load i8*, i8** %s, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %7, i32 1 + store i8* %incdec.ptr1, i8** %s, align 8 + store i8 %6, i8* %7, align 1 + %8 = load i64, i64* %n.addr, align 8 + %dec = add i64 %8, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.cond2: ; preds = %entry, %while.body4 + %9 = load i64, i64* %n.addr, align 8 + %tobool3 = icmp ne i64 %9, 0 + br i1 %tobool3, label %while.body4, label %if.end + +while.body4: ; preds = %while.cond2 + %10 = load i64, i64* %n.addr, align 8 + %dec5 = add i64 %10, -1 + store i64 %dec5, i64* %n.addr, align 8 + %11 = load i8*, i8** %p, align 8 + %12 = load i64, i64* %n.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %11, i64 %12 + %13 = load i8, i8* %arrayidx, align 1 + %14 = load i8*, i8** %s, align 8 + %15 = load i64, i64* %n.addr, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %14, i64 %15 + store i8 %13, i8* %arrayidx6, align 1 + br label %while.cond2 + +if.end: ; preds = %while.cond2, %while.cond + %16 = load i8*, i8** %s1.addr, align 8 + ret i8* %16 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @mempcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r1 = alloca i8*, align 8 + %r2 = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %r1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %r2, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %2 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load i8*, i8** %r2, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %r2, align 8 + %4 = load i8, i8* %3, align 1 + %5 = load i8*, i8** %r1, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr1, i8** %r1, align 8 + store i8 %4, i8* %5, align 1 + %6 = load i64, i64* %n.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %7 = load i8*, i8** %r1, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @stpcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + br label %while.cond + +while.cond: ; preds = %while.cond, %entry + %0 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %0, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %1 = load i8, i8* %0, align 1 + %2 = load i8*, i8** %s1.addr, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %2, i32 1 + store i8* %incdec.ptr1, i8** %s1.addr, align 8 + store i8 %1, i8* %2, align 1 + %conv = sext i8 %1 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %while.cond, label %while.end + +while.end: ; preds = %while.cond + %3 = load i8*, i8** %s1.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %3, i64 -1 + ret i8* %add.ptr +} + +; Function Attrs: noinline nounwind uwtable +define i8* @strcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + br label %while.cond + +while.cond: ; preds = %while.cond, %entry + %1 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %1, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %2 = load i8, i8* %1, align 1 + %3 = load i8*, i8** %s, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr1, i8** %s, align 8 + store i8 %2, i8* %3, align 1 + %conv = sext i8 %2 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %while.cond, label %while.end + +while.end: ; preds = %while.cond + %4 = load i8*, i8** %s1.addr, align 8 + ret i8* %4 +} + +; Function Attrs: noinline nounwind uwtable +define noalias i8* @strdup(i8* nonnull %s1) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + %l = alloca i64, align 8 + store i8* %s1, i8** %s1.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + %call = call i64 @strlen(i8* %0) #21 + %add = add i64 %call, 1 + %mul = mul i64 %add, 1 + store i64 %mul, i64* %l, align 8 + %1 = load i64, i64* %l, align 8 + %call1 = call noalias i8* @malloc(i64 %1) #20 + store i8* %call1, i8** %s, align 8 + %cmp = icmp ne i8* %call1, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load i8*, i8** %s, align 8 + %3 = load i8*, i8** %s1.addr, align 8 + %4 = load i64, i64* %l, align 8 + %call2 = call i8* @memcpy(i8* %2, i8* %3, i64 %4) #20 + br label %if.end + +if.end: ; preds = %if.then, %entry + %5 = load i8*, i8** %s, align 8 + ret i8* %5 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @strerror(i32 %errnum) #0 { +entry: + %errnum.addr = alloca i32, align 4 + store i32 %errnum, i32* %errnum.addr, align 4 + %0 = load i32, i32* %errnum.addr, align 4 + %call = call i32 @__xpg_strerror_r(i32 %0, i8* getelementptr inbounds ([50 x i8], [50 x i8]* @strerror.buf, i64 0, i64 0), i64 50) #19 + ret i8* getelementptr inbounds ([50 x i8], [50 x i8]* @strerror.buf, i64 0, i64 0) +} + +; Function Attrs: noinline nounwind uwtable +define i64 @wcrtomb(i8* noalias %s, i32 %wc, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %s.addr = alloca i8*, align 8 + %wc.addr = alloca i32, align 4 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %wcbuf = alloca [1 x i32], align 4 + %pwc = alloca i32*, align 8 + %r = alloca i64, align 8 + %buf = alloca [16 x i8], align 16 + store i8* %s, i8** %s.addr, align 8 + store i32 %wc, i32* %wc.addr, align 4 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay, i8** %s.addr, align 8 + store i32 0, i32* %wc.addr, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %arraydecay1 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay1, i32** %pwc, align 8 + %1 = load i32, i32* %wc.addr, align 4 + %arrayidx = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32 %1, i32* %arrayidx, align 4 + %2 = load i8*, i8** %s.addr, align 8 + %3 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @wcsnrtombs(i8* %2, i32** %pwc, i64 1, i64 16, %struct.__mbstate_t.512* %3) #20 + store i64 %call, i64* %r, align 8 + %4 = load i64, i64* %r, align 8 + %cmp = icmp ne i64 %4, 0 + %5 = load i64, i64* %r, align 8 + %cond = select i1 %cmp, i64 %5, i64 1 + ret i64 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i64 @wcsrtombs(i8* noalias %dst, i32** noalias %src, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %dst.addr = alloca i8*, align 8 + %src.addr = alloca i32**, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + store i8* %dst, i8** %dst.addr, align 8 + store i32** %src, i32*** %src.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load i8*, i8** %dst.addr, align 8 + %1 = load i32**, i32*** %src.addr, align 8 + %2 = load i64, i64* %len.addr, align 8 + %3 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @wcsnrtombs(i8* %0, i32** %1, i64 -1, i64 %2, %struct.__mbstate_t.512* %3) #20 + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @iswctype_l(i32 %wc, i32 %desc, %struct.__uclibc_locale_struct.201* %locale) #0 { +entry: + %retval = alloca i32, align 4 + %wc.addr = alloca i32, align 4 + %desc.addr = alloca i32, align 4 + %locale.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %sc = alloca i32, align 4 + %n = alloca i32, align 4 + %i0 = alloca i32, align 4 + %i1 = alloca i32, align 4 + %d = alloca i8, align 1 + store i32 %wc, i32* %wc.addr, align 4 + store i32 %desc, i32* %desc.addr, align 4 + store %struct.__uclibc_locale_struct.201* %locale, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + store i8 0, i8* %d, align 1 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 9 + %1 = load i8, i8* %encoding, align 8 + %conv = zext i8 %1 to i32 + %cmp = icmp ne i32 %conv, 0 + %2 = load i32, i32* %wc.addr, align 4 + %cmp2 = icmp ule i32 %2, 127 + %or.cond = or i1 %cmp, %cmp2 + br i1 %or.cond, label %if.then, label %if.end78 + +if.then: ; preds = %entry + %3 = load i32, i32* %desc.addr, align 4 + %cmp4 = icmp ult i32 %3, 12 + br i1 %cmp4, label %if.then6, label %if.end58 + +if.then6: ; preds = %if.then + %4 = load i32, i32* %wc.addr, align 4 + %cmp7 = icmp ule i32 %4, 196607 + %5 = load i32, i32* %wc.addr, align 4 + br i1 %cmp7, label %if.then9, label %if.else + +if.then9: ; preds = %if.then6 + %and = and i32 %5, 7 + store i32 %and, i32* %sc, align 4 + %6 = load i32, i32* %wc.addr, align 4 + %shr = lshr i32 %6, 3 + store i32 %shr, i32* %wc.addr, align 4 + %7 = load i32, i32* %wc.addr, align 4 + %and10 = and i32 %7, 31 + store i32 %and10, i32* %n, align 4 + %8 = load i32, i32* %wc.addr, align 4 + %shr11 = lshr i32 %8, 5 + store i32 %shr11, i32* %wc.addr, align 4 + %9 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %tblwctype = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %9, i32 0, i32 21 + %10 = load i8*, i8** %tblwctype, align 8 + %11 = load i32, i32* %wc.addr, align 4 + %idxprom = zext i32 %11 to i64 + %arrayidx = getelementptr inbounds i8, i8* %10, i64 %idxprom + %12 = load i8, i8* %arrayidx, align 1 + %conv12 = zext i8 %12 to i32 + store i32 %conv12, i32* %i0, align 4 + %13 = load i32, i32* %i0, align 4 + %shl = shl i32 %13, 5 + store i32 %shl, i32* %i0, align 4 + %14 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %tblwctype13 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %14, i32 0, i32 21 + %15 = load i8*, i8** %tblwctype13, align 8 + %16 = load i32, i32* %i0, align 4 + %add = add i32 768, %16 + %17 = load i32, i32* %n, align 4 + %add14 = add i32 %add, %17 + %idxprom15 = zext i32 %add14 to i64 + %arrayidx16 = getelementptr inbounds i8, i8* %15, i64 %idxprom15 + %18 = load i8, i8* %arrayidx16, align 1 + %conv17 = zext i8 %18 to i32 + store i32 %conv17, i32* %i1, align 4 + %19 = load i32, i32* %i1, align 4 + %shl18 = shl i32 %19, 2 + store i32 %shl18, i32* %i1, align 4 + %20 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %tblwctype19 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %20, i32 0, i32 21 + %21 = load i8*, i8** %tblwctype19, align 8 + %22 = load i32, i32* %i1, align 4 + %add20 = add i32 2656, %22 + %23 = load i32, i32* %sc, align 4 + %shr21 = lshr i32 %23, 1 + %add22 = add i32 %add20, %shr21 + %idxprom23 = zext i32 %add22 to i64 + %arrayidx24 = getelementptr inbounds i8, i8* %21, i64 %idxprom23 + %24 = load i8, i8* %arrayidx24, align 1 + store i8 %24, i8* %d, align 1 + %25 = load i32, i32* %sc, align 4 + %and25 = and i32 %25, 1 + %tobool = icmp ne i32 %and25, 0 + %26 = load i8, i8* %d, align 1 + %conv26 = zext i8 %26 to i32 + %shr27 = ashr i32 %conv26, 4 + %and29 = and i32 %conv26, 15 + %cond = select i1 %tobool, i32 %shr27, i32 %and29 + %conv30 = trunc i32 %cond to i8 + store i8 %conv30, i8* %d, align 1 + br label %if.end50 + +if.else: ; preds = %if.then6 + %conv31 = zext i32 %5 to i64 + %sub = sub i64 %conv31, 917536 + %conv32 = trunc i64 %sub to i32 + %cmp33 = icmp ule i32 %conv32, 95 + br i1 %cmp33, label %if.then49, label %lor.lhs.false35 + +lor.lhs.false35: ; preds = %if.else + %27 = load i32, i32* %wc.addr, align 4 + %conv36 = zext i32 %27 to i64 + %cmp37 = icmp eq i64 %conv36, 917505 + br i1 %cmp37, label %if.then49, label %lor.lhs.false39 + +lor.lhs.false39: ; preds = %lor.lhs.false35 + %28 = load i32, i32* %wc.addr, align 4 + %conv40 = zext i32 %28 to i64 + %sub41 = sub i64 %conv40, 983040 + %conv42 = trunc i64 %sub41 to i32 + %conv43 = zext i32 %conv42 to i64 + %cmp44 = icmp ult i64 %conv43, 131072 + br i1 %cmp44, label %land.lhs.true, label %if.end50 + +land.lhs.true: ; preds = %lor.lhs.false39 + %29 = load i32, i32* %wc.addr, align 4 + %and46 = and i32 %29, 65535 + %cmp47 = icmp ule i32 %and46, 65533 + br i1 %cmp47, label %if.then49, label %if.end50 + +if.then49: ; preds = %land.lhs.true, %lor.lhs.false35, %if.else + store i8 6, i8* %d, align 1 + br label %if.end50 + +if.end50: ; preds = %lor.lhs.false39, %land.lhs.true, %if.then49, %if.then9 + %30 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %code2flag = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %30, i32 0, i32 20 + %31 = load i16*, i16** %code2flag, align 8 + %32 = load i8, i8* %d, align 1 + %idxprom51 = zext i8 %32 to i64 + %arrayidx52 = getelementptr inbounds i16, i16* %31, i64 %idxprom51 + %33 = load i16, i16* %arrayidx52, align 2 + %conv53 = zext i16 %33 to i32 + %34 = load i32, i32* %desc.addr, align 4 + %idxprom54 = zext i32 %34 to i64 + %arrayidx55 = getelementptr inbounds [13 x i16], [13 x i16]* @desc2flag, i64 0, i64 %idxprom54 + %35 = load i16, i16* %arrayidx55, align 2 + %conv56 = zext i16 %35 to i32 + %and57 = and i32 %conv53, %conv56 + store i32 %and57, i32* %retval, align 4 + br label %return + +if.end58: ; preds = %if.then + %36 = load i32, i32* %desc.addr, align 4 + %cmp59 = icmp eq i32 %36, 12 + br i1 %cmp59, label %cond.false68, label %cond.end76 + +cond.false68: ; preds = %if.end58 + %37 = load i32, i32* %wc.addr, align 4 + %sub69 = sub i32 %37, 48 + %cmp70 = icmp ult i32 %sub69, 10 + %38 = load i32, i32* %wc.addr, align 4 + %or = or i32 %38, 32 + %sub72 = sub i32 %or, 97 + %cmp73 = icmp ult i32 %sub72, 6 + %39 = select i1 %cmp70, i1 true, i1 %cmp73 + %lor.ext = zext i1 %39 to i32 + br label %cond.end76 + +cond.end76: ; preds = %if.end58, %cond.false68 + %cond77 = phi i32 [ %lor.ext, %cond.false68 ], [ 0, %if.end58 ] + store i32 %cond77, i32* %retval, align 4 + br label %return + +if.end78: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end78, %cond.end76, %if.end50 + %40 = load i32, i32* %retval, align 4 + ret i32 %40 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_adjust_position(%struct.__STDIO_FILE_STRUCT.636* noalias %stream, i64* %pos) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %pos.addr = alloca i64*, align 8 + %oldpos = alloca i64, align 8 + %corr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64* %pos, i64** %pos.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 3 + store i32 %and, i32* %corr, align 4 + %cmp = icmp ne i32 %and, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load i32, i32* %corr, align 4 + %dec = add nsw i32 %2, -1 + store i32 %dec, i32* %corr, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %3 = load i32, i32* %corr, align 4 + %tobool = icmp ne i32 %3, 0 + br i1 %tobool, label %land.lhs.true, label %if.end22 + +land.lhs.true: ; preds = %if.end + %4 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %4, i32 0, i32 0 + %5 = load i16, i16* %__modeflags2, align 8 + %conv3 = zext i16 %5 to i32 + %and4 = and i32 %conv3, 2048 + %tobool5 = icmp ne i32 %and4, 0 + br i1 %tobool5, label %if.then6, label %if.end22 + +if.then6: ; preds = %land.lhs.true + %6 = load i32, i32* %corr, align 4 + %cmp7 = icmp sgt i32 %6, 1 + br i1 %cmp7, label %if.then10, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then6 + %7 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %7, i32 0, i32 10 + %arrayidx = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot, i64 0, i64 1 + %8 = load i32, i32* %arrayidx, align 4 + %tobool9 = icmp ne i32 %8, 0 + br i1 %tobool9, label %if.then10, label %if.end11 + +if.then10: ; preds = %lor.lhs.false, %if.then6 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end11: ; preds = %lor.lhs.false + %9 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %9, i32 0, i32 1 + %arrayidx12 = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 1 + %10 = load i8, i8* %arrayidx12, align 1 + %conv13 = zext i8 %10 to i32 + %add = add nsw i32 1, %conv13 + %11 = load i32, i32* %corr, align 4 + %sub = sub nsw i32 %11, %add + store i32 %sub, i32* %corr, align 4 + %12 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %12, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + %13 = load i32, i32* %__mask, align 8 + %cmp14 = icmp sgt i32 %13, 0 + br i1 %cmp14, label %if.then16, label %if.end22 + +if.then16: ; preds = %if.end11 + %14 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot_width17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %14, i32 0, i32 1 + %arrayidx18 = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width17, i64 0, i64 0 + %15 = load i8, i8* %arrayidx18, align 2 + %conv19 = zext i8 %15 to i32 + %16 = load i32, i32* %corr, align 4 + %sub20 = sub nsw i32 %16, %conv19 + store i32 %sub20, i32* %corr, align 4 + br label %if.end22 + +if.end22: ; preds = %if.end11, %if.then16, %land.lhs.true, %if.end + %17 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags23 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %17, i32 0, i32 0 + %18 = load i16, i16* %__modeflags23, align 8 + %conv24 = zext i16 %18 to i32 + %and25 = and i32 %conv24, 64 + %tobool26 = icmp ne i32 %and25, 0 + %19 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + br i1 %tobool26, label %cond.true, label %cond.false + +cond.true: ; preds = %if.end22 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %19, i32 0, i32 3 + %20 = load i8*, i8** %__bufstart, align 8 + br label %cond.end + +cond.false: ; preds = %if.end22 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %19, i32 0, i32 6 + %21 = load i8*, i8** %__bufread, align 8 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i8* [ %20, %cond.true ], [ %21, %cond.false ] + %22 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %22, i32 0, i32 5 + %23 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %cond to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %23 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %24 = load i32, i32* %corr, align 4 + %conv27 = sext i32 %24 to i64 + %add28 = add nsw i64 %conv27, %sub.ptr.sub + %conv29 = trunc i64 %add28 to i32 + store i32 %conv29, i32* %corr, align 4 + %25 = load i64*, i64** %pos.addr, align 8 + %26 = load i64, i64* %25, align 8 + store i64 %26, i64* %oldpos, align 8 + %27 = load i32, i32* %corr, align 4 + %conv30 = sext i32 %27 to i64 + %28 = load i64*, i64** %pos.addr, align 8 + %29 = load i64, i64* %28, align 8 + %sub31 = sub nsw i64 %29, %conv30 + store i64 %sub31, i64* %28, align 8 + %30 = load i64, i64* %oldpos, align 8 + %cmp32 = icmp sgt i64 %sub31, %30 + br i1 %cmp32, label %if.then34, label %if.end36 + +if.then34: ; preds = %cond.end + %31 = load i32, i32* %corr, align 4 + %sub35 = sub nsw i32 0, %31 + store i32 %sub35, i32* %corr, align 4 + br label %if.end36 + +if.end36: ; preds = %if.then34, %cond.end + %32 = load i32, i32* %corr, align 4 + %cmp37 = icmp slt i32 %32, 0 + br i1 %cmp37, label %if.then39, label %if.end40 + +if.then39: ; preds = %if.end36 + store i32 75, i32* @errno, align 4 + br label %if.end40 + +if.end40: ; preds = %if.then39, %if.end36 + %33 = load i32, i32* %corr, align 4 + store i32 %33, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end40, %if.then10 + %34 = load i32, i32* %retval, align 4 + ret i32 %34 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_seek(%struct.__STDIO_FILE_STRUCT.636* %stream, i64* %pos, i32 %whence) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %pos.addr = alloca i64*, align 8 + %whence.addr = alloca i32, align 4 + %res = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64* %pos, i64** %pos.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %0, i32 0, i32 2 + %1 = load i32, i32* %__filedes, align 4 + %2 = load i64*, i64** %pos.addr, align 8 + %3 = load i64, i64* %2, align 8 + %4 = load i32, i32* %whence.addr, align 4 + %call = call i64 @lseek64(i32 %1, i64 %3, i32 %4) #20 + store i64 %call, i64* %res, align 8 + %5 = load i64, i64* %res, align 8 + %cmp = icmp sge i64 %5, 0 + %6 = load i64, i64* %res, align 8 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %entry + %7 = load i64*, i64** %pos.addr, align 8 + store i64 %6, i64* %7, align 8 + br label %cond.end + +cond.false: ; preds = %entry + %conv = trunc i64 %6 to i32 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ 0, %cond.true ], [ %conv, %cond.false ] + ret i32 %cond +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_fpmaxtostr(%struct.__STDIO_FILE_STRUCT.568* %fp, double %x, %struct.printf_info.720* %info, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)* %fp_outfunc) #0 { +entry: + %retval = alloca i64, align 8 + %fp.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %x.addr = alloca double, align 8 + %info.addr = alloca %struct.printf_info.720*, align 8 + %fp_outfunc.addr = alloca i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)*, align 8 + %round = alloca i32, align 4 + %o_exp = alloca i32, align 4 + %exp = alloca i32, align 4 + %width = alloca i32, align 4 + %preci = alloca i32, align 4 + %cnt = alloca i32, align 4 + %s = alloca i8*, align 8 + %e = alloca i8*, align 8 + %pc_fwi = alloca [24 x i64], align 16 + %ppc = alloca i64*, align 8 + %ppc_last = alloca i64*, align 8 + %exp_buf = alloca [16 x i8], align 16 + %buf = alloca [21 x i8], align 16 + %sign_str = alloca [6 x i8], align 1 + %o_mode = alloca i8, align 1 + %mode = alloca i8, align 1 + %i = alloca i32, align 4 + %j = alloca i32, align 4 + %exp_neg = alloca i32, align 4 + %i92 = alloca i32, align 4 + %j93 = alloca i32, align 4 + %digit_block = alloca i64, align 8 + %i151 = alloca i32, align 4 + %i218 = alloca i32, align 4 + %p = alloca i8*, align 8 + %j329 = alloca i32, align 4 + %exp_char = alloca i8, align 1 + %exp_sign = alloca i8, align 1 + %i359 = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %fp, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + store double %x, double* %x.addr, align 8 + store %struct.printf_info.720* %info, %struct.printf_info.720** %info.addr, align 8 + store i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)* %fp_outfunc, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)** %fp_outfunc.addr, align 8 + %0 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %width1 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %0, i32 0, i32 1 + %1 = load i32, i32* %width1, align 4 + store i32 %1, i32* %width, align 4 + %2 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %2, i32 0, i32 0 + %3 = load i32, i32* %prec, align 4 + store i32 %3, i32* %preci, align 4 + %4 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %spec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %4, i32 0, i32 2 + %5 = load i32, i32* %spec, align 4 + %conv = trunc i32 %5 to i8 + store i8 %conv, i8* %mode, align 1 + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + store i8 101, i8* %arraydecay, align 16 + %6 = load i8, i8* %mode, align 1 + %conv2 = sext i8 %6 to i32 + %or = or i32 %conv2, 32 + %cmp = icmp eq i32 %or, 97 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %7 = load i8, i8* %mode, align 1 + %conv4 = sext i8 %7 to i32 + %add = add nsw i32 %conv4, 6 + %conv5 = trunc i32 %add to i8 + store i8 %conv5, i8* %mode, align 1 + br label %if.end + +if.end: ; preds = %if.then, %entry + %8 = load i32, i32* %preci, align 4 + %cmp6 = icmp slt i32 %8, 0 + br i1 %cmp6, label %if.then8, label %if.end9 + +if.then8: ; preds = %if.end + store i32 6, i32* %preci, align 4 + br label %if.end9 + +if.end9: ; preds = %if.then8, %if.end + %arraydecay10 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 0, i8* %arraydecay10, align 1 + %9 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %showsign = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %9, i32 0, i32 3 + %bf.load = load i32, i32* %showsign, align 4 + %bf.lshr = lshr i32 %bf.load, 1 + %bf.clear = and i32 %bf.lshr, 1 + %tobool = icmp ne i32 %bf.clear, 0 + br i1 %tobool, label %if.then11, label %if.else + +if.then11: ; preds = %if.end9 + %arraydecay12 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 43, i8* %arraydecay12, align 1 + br label %if.end19 + +if.else: ; preds = %if.end9 + %10 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %space = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %10, i32 0, i32 3 + %bf.load13 = load i32, i32* %space, align 4 + %bf.clear14 = and i32 %bf.load13, 1 + %tobool15 = icmp ne i32 %bf.clear14, 0 + br i1 %tobool15, label %if.then16, label %if.end19 + +if.then16: ; preds = %if.else + %arraydecay17 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 32, i8* %arraydecay17, align 1 + br label %if.end19 + +if.end19: ; preds = %if.else, %if.then16, %if.then11 + %arraydecay20 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay20, i64 1 + store i8 0, i8* %add.ptr, align 1 + %arrayidx = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 0, i64* %arrayidx, align 8 + %11 = load double, double* %x.addr, align 8 + %12 = load double, double* %x.addr, align 8 + %cmp21 = fcmp une double %11, %12 + br i1 %cmp21, label %if.then23, label %if.end25 + +if.then23: ; preds = %if.end19 + %arrayidx24 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 8, i64* %arrayidx24, align 8 + br label %INF_NAN + +if.end25: ; preds = %if.end19 + %13 = load double, double* %x.addr, align 8 + %cmp26 = fcmp oeq double %13, 0.000000e+00 + %14 = load double, double* %x.addr, align 8 + br i1 %cmp26, label %if.then28, label %if.end34 + +if.then28: ; preds = %if.end25 + %div = fdiv double 1.000000e+00, %14 + %cmp29 = fcmp olt double %div, 0.000000e+00 + br i1 %cmp29, label %if.then31, label %if.end33 + +if.then31: ; preds = %if.then28 + %arraydecay32 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 45, i8* %arraydecay32, align 1 + br label %if.end33 + +if.end33: ; preds = %if.then31, %if.then28 + store i32 -1, i32* %exp, align 4 + br label %GENERATE_DIGITS + +if.end34: ; preds = %if.end25 + %cmp35 = fcmp olt double %14, 0.000000e+00 + br i1 %cmp35, label %if.then37, label %if.end39 + +if.then37: ; preds = %if.end34 + %arraydecay38 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 45, i8* %arraydecay38, align 1 + %15 = load double, double* %x.addr, align 8 + %fneg = fneg double %15 + store double %fneg, double* %x.addr, align 8 + br label %if.end39 + +if.end39: ; preds = %if.then37, %if.end34 + %16 = load double, double* %x.addr, align 8 + %17 = load double, double* %x.addr, align 8 + %div40 = fdiv double %17, 4.000000e+00 + %cmp41 = fcmp oeq double %16, %div40 + br i1 %cmp41, label %INF_NAN, label %if.end58 + +INF_NAN: ; preds = %if.end39, %if.then23 + %18 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %18, i32 0, i32 4 + store i32 32, i32* %pad, align 4 + %arraydecay44 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + %add.ptr45 = getelementptr inbounds i64, i64* %arraydecay44, i64 6 + store i64* %add.ptr45, i64** %ppc, align 8 + %arrayidx46 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 3 + store i64 112, i64* %arrayidx46, align 8 + %arrayidx47 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 4 + store i64 3, i64* %arrayidx47, align 16 + %19 = load i8, i8* %mode, align 1 + %conv48 = sext i8 %19 to i32 + %cmp49 = icmp slt i32 %conv48, 97 + br i1 %cmp49, label %if.then51, label %if.end54 + +if.then51: ; preds = %INF_NAN + %arrayidx52 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + %20 = load i64, i64* %arrayidx52, align 8 + %add53 = add nsw i64 %20, 4 + store i64 %add53, i64* %arrayidx52, align 8 + br label %if.end54 + +if.end54: ; preds = %if.then51, %INF_NAN + %arrayidx55 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + %21 = load i64, i64* %arrayidx55, align 8 + %add.ptr56 = getelementptr inbounds i8, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 0), i64 %21 + %22 = ptrtoint i8* %add.ptr56 to i64 + %arrayidx57 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 %22, i64* %arrayidx57, align 8 + br label %EXIT_SPECIAL + +if.end58: ; preds = %if.end39 + store i32 8, i32* %exp, align 4 + store i32 9, i32* %i, align 4 + store i32 256, i32* %j, align 4 + store i32 0, i32* %exp_neg, align 4 + %23 = load double, double* %x.addr, align 8 + %cmp59 = fcmp olt double %23, 1.000000e+08 + br i1 %cmp59, label %if.then61, label %if.end62 + +if.then61: ; preds = %if.end58 + store i32 1, i32* %exp_neg, align 4 + br label %if.end62 + +if.end62: ; preds = %if.then61, %if.end58 + br label %do.body + +do.body: ; preds = %if.end85, %if.end62 + %24 = load i32, i32* %i, align 4 + %dec = add nsw i32 %24, -1 + store i32 %dec, i32* %i, align 4 + %25 = load i32, i32* %exp_neg, align 4 + %tobool63 = icmp ne i32 %25, 0 + %26 = load double, double* %x.addr, align 8 + %27 = load i32, i32* %i, align 4 + %idxprom = sext i32 %27 to i64 + %arrayidx65 = getelementptr inbounds [9 x double], [9 x double]* @exp10_table, i64 0, i64 %idxprom + %28 = load double, double* %arrayidx65, align 8 + br i1 %tobool63, label %if.then64, label %if.else73 + +if.then64: ; preds = %do.body + %mul = fmul double %26, %28 + %cmp66 = fcmp olt double %mul, 1.000000e+09 + br i1 %cmp66, label %if.then68, label %if.end85 + +if.then68: ; preds = %if.then64 + %29 = load i32, i32* %i, align 4 + %idxprom69 = sext i32 %29 to i64 + %arrayidx70 = getelementptr inbounds [9 x double], [9 x double]* @exp10_table, i64 0, i64 %idxprom69 + %30 = load double, double* %arrayidx70, align 8 + %31 = load double, double* %x.addr, align 8 + %mul71 = fmul double %31, %30 + store double %mul71, double* %x.addr, align 8 + %32 = load i32, i32* %j, align 4 + %33 = load i32, i32* %exp, align 4 + %sub = sub nsw i32 %33, %32 + store i32 %sub, i32* %exp, align 4 + br label %if.end85 + +if.else73: ; preds = %do.body + %div76 = fdiv double %26, %28 + %cmp77 = fcmp oge double %div76, 1.000000e+08 + br i1 %cmp77, label %if.then79, label %if.end85 + +if.then79: ; preds = %if.else73 + %34 = load i32, i32* %i, align 4 + %idxprom80 = sext i32 %34 to i64 + %arrayidx81 = getelementptr inbounds [9 x double], [9 x double]* @exp10_table, i64 0, i64 %idxprom80 + %35 = load double, double* %arrayidx81, align 8 + %36 = load double, double* %x.addr, align 8 + %div82 = fdiv double %36, %35 + store double %div82, double* %x.addr, align 8 + %37 = load i32, i32* %j, align 4 + %38 = load i32, i32* %exp, align 4 + %add83 = add nsw i32 %38, %37 + store i32 %add83, i32* %exp, align 4 + br label %if.end85 + +if.end85: ; preds = %if.else73, %if.then79, %if.then64, %if.then68 + %39 = load i32, i32* %j, align 4 + %shr = ashr i32 %39, 1 + store i32 %shr, i32* %j, align 4 + %40 = load i32, i32* %i, align 4 + %tobool86 = icmp ne i32 %40, 0 + br i1 %tobool86, label %do.body, label %do.end + +do.end: ; preds = %if.end85 + %41 = load double, double* %x.addr, align 8 + %cmp87 = fcmp oge double %41, 1.000000e+09 + br i1 %cmp87, label %if.then89, label %GENERATE_DIGITS + +if.then89: ; preds = %do.end + %42 = load double, double* getelementptr inbounds ([9 x double], [9 x double]* @exp10_table, i64 0, i64 0), align 16 + %43 = load double, double* %x.addr, align 8 + %div90 = fdiv double %43, %42 + store double %div90, double* %x.addr, align 8 + %44 = load i32, i32* %exp, align 4 + %inc = add nsw i32 %44, 1 + store i32 %inc, i32* %exp, align 4 + br label %GENERATE_DIGITS + +GENERATE_DIGITS: ; preds = %do.end, %if.then89, %if.end33 + %arraydecay94 = getelementptr inbounds [21 x i8], [21 x i8]* %buf, i64 0, i64 0 + %add.ptr95 = getelementptr inbounds i8, i8* %arraydecay94, i64 2 + store i8* %add.ptr95, i8** %s, align 8 + store i32 0, i32* %i92, align 4 + br label %do.body96 + +do.body96: ; preds = %do.cond114, %GENERATE_DIGITS + %45 = load double, double* %x.addr, align 8 + %conv97 = fptoui double %45 to i64 + store i64 %conv97, i64* %digit_block, align 8 + %46 = load double, double* %x.addr, align 8 + %47 = load i64, i64* %digit_block, align 8 + %conv98 = uitofp i64 %47 to double + %sub99 = fsub double %46, %conv98 + %mul100 = fmul double %sub99, 1.000000e+09 + store double %mul100, double* %x.addr, align 8 + %48 = load i8*, i8** %s, align 8 + %add.ptr101 = getelementptr inbounds i8, i8* %48, i64 9 + store i8* %add.ptr101, i8** %s, align 8 + store i32 0, i32* %j93, align 4 + br label %do.body102 + +do.body102: ; preds = %do.body102, %do.body96 + %49 = load i64, i64* %digit_block, align 8 + %rem = urem i64 %49, 10 + %add103 = add i64 48, %rem + %conv104 = trunc i64 %add103 to i8 + %50 = load i8*, i8** %s, align 8 + %51 = load i32, i32* %j93, align 4 + %inc105 = add nsw i32 %51, 1 + store i32 %inc105, i32* %j93, align 4 + %sub106 = sub nsw i32 0, %inc105 + %idxprom107 = sext i32 %sub106 to i64 + %arrayidx108 = getelementptr inbounds i8, i8* %50, i64 %idxprom107 + store i8 %conv104, i8* %arrayidx108, align 1 + %52 = load i64, i64* %digit_block, align 8 + %div109 = udiv i64 %52, 10 + store i64 %div109, i64* %digit_block, align 8 + %53 = load i32, i32* %j93, align 4 + %cmp111 = icmp slt i32 %53, 9 + br i1 %cmp111, label %do.body102, label %do.cond114 + +do.cond114: ; preds = %do.body102 + %54 = load i32, i32* %i92, align 4 + %inc115 = add nsw i32 %54, 1 + store i32 %inc115, i32* %i92, align 4 + %cmp116 = icmp slt i32 %inc115, 2 + br i1 %cmp116, label %do.body96, label %do.end118 + +do.end118: ; preds = %do.cond114 + %55 = load i8, i8* %mode, align 1 + %conv119 = sext i8 %55 to i32 + %cmp120 = icmp slt i32 %conv119, 97 + br i1 %cmp120, label %if.then122, label %if.end130 + +if.then122: ; preds = %do.end118 + %arraydecay123 = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + %56 = load i8, i8* %arraydecay123, align 16 + %conv124 = sext i8 %56 to i32 + %sub125 = sub nsw i32 %conv124, 32 + %conv126 = trunc i32 %sub125 to i8 + store i8 %conv126, i8* %arraydecay123, align 16 + %57 = load i8, i8* %mode, align 1 + %conv127 = sext i8 %57 to i32 + %add128 = add nsw i32 %conv127, 32 + %conv129 = trunc i32 %add128 to i8 + store i8 %conv129, i8* %mode, align 1 + br label %if.end130 + +if.end130: ; preds = %if.then122, %do.end118 + %58 = load i8, i8* %mode, align 1 + store i8 %58, i8* %o_mode, align 1 + %59 = load i8, i8* %mode, align 1 + %conv131 = sext i8 %59 to i32 + %cmp132 = icmp eq i32 %conv131, 103 + %60 = load i32, i32* %preci, align 4 + %cmp134 = icmp sgt i32 %60, 0 + %or.cond = and i1 %cmp132, %cmp134 + br i1 %or.cond, label %if.then136, label %if.end138 + +if.then136: ; preds = %if.end130 + %61 = load i32, i32* %preci, align 4 + %dec137 = add nsw i32 %61, -1 + store i32 %dec137, i32* %preci, align 4 + br label %if.end138 + +if.end138: ; preds = %if.then136, %if.end130 + %62 = load i32, i32* %preci, align 4 + store i32 %62, i32* %round, align 4 + %63 = load i8, i8* %mode, align 1 + %conv139 = sext i8 %63 to i32 + %cmp140 = icmp eq i32 %conv139, 102 + br i1 %cmp140, label %if.then142, label %if.end149 + +if.then142: ; preds = %if.end138 + %64 = load i32, i32* %exp, align 4 + %65 = load i32, i32* %round, align 4 + %add143 = add nsw i32 %65, %64 + store i32 %add143, i32* %round, align 4 + %66 = load i32, i32* %round, align 4 + %cmp144 = icmp slt i32 %66, -1 + br i1 %cmp144, label %if.then146, label %if.end149 + +if.then146: ; preds = %if.then142 + %arraydecay147 = getelementptr inbounds [21 x i8], [21 x i8]* %buf, i64 0, i64 0 + %call = call i8* @memset(i8* %arraydecay147, i32 48, i64 17) #20 + store i32 -1, i32* %exp, align 4 + store i32 -1, i32* %round, align 4 + br label %if.end149 + +if.end149: ; preds = %if.then142, %if.then146, %if.end138 + %arraydecay150 = getelementptr inbounds [21 x i8], [21 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay150, i8** %s, align 8 + %67 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %67, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + store i8 0, i8* %67, align 1 + %68 = load i8*, i8** %s, align 8 + store i8 48, i8* %68, align 1 + store i32 0, i32* %i151, align 4 + %69 = load i8*, i8** %s, align 8 + %add.ptr152 = getelementptr inbounds i8, i8* %69, i64 17 + %add.ptr153 = getelementptr inbounds i8, i8* %add.ptr152, i64 1 + store i8* %add.ptr153, i8** %e, align 8 + %70 = load i32, i32* %round, align 4 + %cmp154 = icmp slt i32 %70, 17 + br i1 %cmp154, label %if.then156, label %if.end164 + +if.then156: ; preds = %if.end149 + %71 = load i8*, i8** %s, align 8 + %72 = load i32, i32* %round, align 4 + %idx.ext = sext i32 %72 to i64 + %add.ptr157 = getelementptr inbounds i8, i8* %71, i64 %idx.ext + %add.ptr158 = getelementptr inbounds i8, i8* %add.ptr157, i64 2 + store i8* %add.ptr158, i8** %e, align 8 + %73 = load i8*, i8** %e, align 8 + %74 = load i8, i8* %73, align 1 + %conv159 = sext i8 %74 to i32 + %cmp160 = icmp sge i32 %conv159, 53 + br i1 %cmp160, label %if.then162, label %if.end164 + +if.then162: ; preds = %if.then156 + store i32 1, i32* %i151, align 4 + br label %if.end164 + +if.end164: ; preds = %if.then156, %if.then162, %if.end149 + br label %do.body165 + +do.body165: ; preds = %do.body165, %lor.rhs, %if.end164 + %75 = load i32, i32* %i151, align 4 + %76 = load i8*, i8** %e, align 8 + %incdec.ptr166 = getelementptr inbounds i8, i8* %76, i32 -1 + store i8* %incdec.ptr166, i8** %e, align 8 + %77 = load i8, i8* %incdec.ptr166, align 1 + %conv167 = sext i8 %77 to i32 + %add168 = add nsw i32 %conv167, %75 + %conv169 = trunc i32 %add168 to i8 + store i8 %conv169, i8* %incdec.ptr166, align 1 + %78 = load i8*, i8** %e, align 8 + %79 = load i8, i8* %78, align 1 + %conv171 = sext i8 %79 to i32 + %cmp172 = icmp eq i32 %conv171, 48 + br i1 %cmp172, label %do.body165, label %lor.rhs + +lor.rhs: ; preds = %do.body165 + %80 = load i8*, i8** %e, align 8 + %81 = load i8, i8* %80, align 1 + %conv174 = sext i8 %81 to i32 + %cmp175 = icmp sgt i32 %conv174, 57 + br i1 %cmp175, label %do.body165, label %do.end177 + +do.end177: ; preds = %lor.rhs + %82 = load i32, i32* %exp, align 4 + store i32 %82, i32* %o_exp, align 4 + %83 = load i8*, i8** %e, align 8 + %84 = load i8*, i8** %s, align 8 + %cmp178 = icmp ule i8* %83, %84 + br i1 %cmp178, label %if.then180, label %if.else182 + +if.then180: ; preds = %do.end177 + %85 = load i32, i32* %o_exp, align 4 + %inc181 = add nsw i32 %85, 1 + store i32 %inc181, i32* %o_exp, align 4 + %86 = load i8*, i8** %s, align 8 + store i8* %86, i8** %e, align 8 + br label %if.end184 + +if.else182: ; preds = %do.end177 + %87 = load i8*, i8** %s, align 8 + %incdec.ptr183 = getelementptr inbounds i8, i8* %87, i32 1 + store i8* %incdec.ptr183, i8** %s, align 8 + br label %if.end184 + +if.end184: ; preds = %if.else182, %if.then180 + %88 = load i8*, i8** %e, align 8 + %incdec.ptr185 = getelementptr inbounds i8, i8* %88, i32 1 + store i8* %incdec.ptr185, i8** %e, align 8 + store i8 0, i8* %incdec.ptr185, align 1 + %89 = load i8, i8* %mode, align 1 + %conv186 = sext i8 %89 to i32 + %cmp187 = icmp eq i32 %conv186, 103 + %90 = load i32, i32* %o_exp, align 4 + %cmp190 = icmp sge i32 %90, -4 + %or.cond1 = and i1 %cmp187, %cmp190 + br i1 %or.cond1, label %land.lhs.true192, label %if.end197 + +land.lhs.true192: ; preds = %if.end184 + %91 = load i32, i32* %o_exp, align 4 + %92 = load i32, i32* %round, align 4 + %cmp193 = icmp sle i32 %91, %92 + br i1 %cmp193, label %if.then195, label %if.end197 + +if.then195: ; preds = %land.lhs.true192 + store i8 102, i8* %mode, align 1 + %93 = load i32, i32* %round, align 4 + %94 = load i32, i32* %o_exp, align 4 + %sub196 = sub nsw i32 %93, %94 + store i32 %sub196, i32* %preci, align 4 + br label %if.end197 + +if.end197: ; preds = %if.then195, %land.lhs.true192, %if.end184 + %95 = load i32, i32* %o_exp, align 4 + store i32 %95, i32* %exp, align 4 + %96 = load i8, i8* %mode, align 1 + %conv198 = sext i8 %96 to i32 + %cmp199 = icmp ne i32 %conv198, 102 + br i1 %cmp199, label %if.then201, label %if.end202 + +if.then201: ; preds = %if.end197 + store i32 0, i32* %o_exp, align 4 + br label %if.end202 + +if.end202: ; preds = %if.then201, %if.end197 + %97 = load i32, i32* %o_exp, align 4 + %cmp203 = icmp slt i32 %97, 0 + br i1 %cmp203, label %if.then205, label %if.end207 + +if.then205: ; preds = %if.end202 + %98 = load i8*, i8** %s, align 8 + %incdec.ptr206 = getelementptr inbounds i8, i8* %98, i32 -1 + store i8* %incdec.ptr206, i8** %s, align 8 + store i8 48, i8* %incdec.ptr206, align 1 + br label %if.end207 + +if.end207: ; preds = %if.then205, %if.end202 + %arrayidx208 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 3 + store i64 176, i64* %arrayidx208, align 8 + %arrayidx209 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 4 + store i64 1, i64* %arrayidx209, align 16 + %arraydecay210 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %add.ptr211 = getelementptr inbounds i8, i8* %arraydecay210, i64 4 + %99 = ptrtoint i8* %add.ptr211 to i64 + %arrayidx212 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 %99, i64* %arrayidx212, align 8 + %100 = load i8*, i8** %s, align 8 + %incdec.ptr213 = getelementptr inbounds i8, i8* %100, i32 1 + store i8* %incdec.ptr213, i8** %s, align 8 + %101 = load i8, i8* %100, align 1 + %arrayidx214 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 4 + store i8 %101, i8* %arrayidx214, align 1 + %arrayidx215 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 5 + store i8 0, i8* %arrayidx215, align 1 + %arraydecay216 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + %add.ptr217 = getelementptr inbounds i64, i64* %arraydecay216, i64 6 + store i64* %add.ptr217, i64** %ppc, align 8 + %102 = load i8*, i8** %e, align 8 + %103 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %102 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %103 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %conv219 = trunc i64 %sub.ptr.sub to i32 + store i32 %conv219, i32* %i218, align 4 + %104 = load i32, i32* %o_exp, align 4 + %cmp220 = icmp sge i32 %104, 0 + br i1 %cmp220, label %if.then222, label %if.end253 + +if.then222: ; preds = %if.end207 + %105 = load i64*, i64** %ppc, align 8 + %arrayidx223 = getelementptr inbounds i64, i64* %105, i64 0 + store i64 112, i64* %arrayidx223, align 8 + %106 = load i8*, i8** %s, align 8 + %107 = ptrtoint i8* %106 to i64 + %108 = load i64*, i64** %ppc, align 8 + %arrayidx224 = getelementptr inbounds i64, i64* %108, i64 2 + store i64 %107, i64* %arrayidx224, align 8 + %109 = load i32, i32* %o_exp, align 4 + %110 = load i32, i32* %i218, align 4 + %cmp225 = icmp sge i32 %109, %110 + br i1 %cmp225, label %if.then227, label %if.else241 + +if.then227: ; preds = %if.then222 + %111 = load i32, i32* %i218, align 4 + %conv228 = sext i32 %111 to i64 + %112 = load i64*, i64** %ppc, align 8 + %arrayidx229 = getelementptr inbounds i64, i64* %112, i64 1 + store i64 %conv228, i64* %arrayidx229, align 8 + %113 = load i64*, i64** %ppc, align 8 + %add.ptr230 = getelementptr inbounds i64, i64* %113, i64 3 + store i64* %add.ptr230, i64** %ppc, align 8 + %114 = load i32, i32* %i218, align 4 + %115 = load i32, i32* %o_exp, align 4 + %sub231 = sub nsw i32 %115, %114 + store i32 %sub231, i32* %o_exp, align 4 + store i32 0, i32* %i218, align 4 + %116 = load i32, i32* %o_exp, align 4 + %cmp232 = icmp sgt i32 %116, 0 + br i1 %cmp232, label %if.then234, label %if.end252 + +if.then234: ; preds = %if.then227 + %117 = load i64*, i64** %ppc, align 8 + %arrayidx235 = getelementptr inbounds i64, i64* %117, i64 0 + store i64 176, i64* %arrayidx235, align 8 + %118 = load i32, i32* %o_exp, align 4 + %conv236 = sext i32 %118 to i64 + %119 = load i64*, i64** %ppc, align 8 + %arrayidx237 = getelementptr inbounds i64, i64* %119, i64 1 + store i64 %conv236, i64* %arrayidx237, align 8 + %120 = load i64*, i64** %ppc, align 8 + %arrayidx238 = getelementptr inbounds i64, i64* %120, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx238, align 8 + %121 = load i64*, i64** %ppc, align 8 + %add.ptr239 = getelementptr inbounds i64, i64* %121, i64 3 + store i64* %add.ptr239, i64** %ppc, align 8 + br label %if.end252 + +if.else241: ; preds = %if.then222 + %122 = load i32, i32* %o_exp, align 4 + %cmp242 = icmp sgt i32 %122, 0 + br i1 %cmp242, label %if.then244, label %if.end252 + +if.then244: ; preds = %if.else241 + %123 = load i32, i32* %o_exp, align 4 + %conv245 = sext i32 %123 to i64 + %124 = load i64*, i64** %ppc, align 8 + %arrayidx246 = getelementptr inbounds i64, i64* %124, i64 1 + store i64 %conv245, i64* %arrayidx246, align 8 + %125 = load i64*, i64** %ppc, align 8 + %add.ptr247 = getelementptr inbounds i64, i64* %125, i64 3 + store i64* %add.ptr247, i64** %ppc, align 8 + %126 = load i32, i32* %o_exp, align 4 + %127 = load i8*, i8** %s, align 8 + %idx.ext248 = sext i32 %126 to i64 + %add.ptr249 = getelementptr inbounds i8, i8* %127, i64 %idx.ext248 + store i8* %add.ptr249, i8** %s, align 8 + %128 = load i32, i32* %o_exp, align 4 + %129 = load i32, i32* %i218, align 4 + %sub250 = sub nsw i32 %129, %128 + store i32 %sub250, i32* %i218, align 4 + br label %if.end252 + +if.end252: ; preds = %if.else241, %if.then244, %if.then227, %if.then234 + store i32 -1, i32* %o_exp, align 4 + br label %if.end253 + +if.end253: ; preds = %if.end252, %if.end207 + %130 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %alt = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %130, i32 0, i32 3 + %bf.load254 = load i32, i32* %alt, align 4 + %bf.lshr255 = lshr i32 %bf.load254, 4 + %bf.clear256 = and i32 %bf.lshr255, 1 + %tobool257 = icmp ne i32 %bf.clear256, 0 + %131 = load i32, i32* %i218, align 4 + %tobool258 = icmp ne i32 %131, 0 + %or.cond2 = or i1 %tobool257, %tobool258 + br i1 %or.cond2, label %if.then266, label %lor.lhs.false259 + +lor.lhs.false259: ; preds = %if.end253 + %132 = load i8, i8* %o_mode, align 1 + %conv260 = sext i8 %132 to i32 + %cmp261 = icmp ne i32 %conv260, 103 + %133 = load i32, i32* %preci, align 4 + %cmp264 = icmp sgt i32 %133, 0 + %or.cond3 = and i1 %cmp261, %cmp264 + br i1 %or.cond3, label %if.then266, label %if.end281 + +if.then266: ; preds = %lor.lhs.false259, %if.end253 + %134 = load i64*, i64** %ppc, align 8 + %arrayidx267 = getelementptr inbounds i64, i64* %134, i64 0 + store i64 112, i64* %arrayidx267, align 8 + %135 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %wide = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %135, i32 0, i32 3 + %bf.load268 = load i32, i32* %wide, align 4 + %bf.lshr269 = lshr i32 %bf.load268, 7 + %bf.clear270 = and i32 %bf.lshr269, 1 + %tobool271 = icmp ne i32 %bf.clear270, 0 + br i1 %tobool271, label %if.then272, label %if.else275 + +if.then272: ; preds = %if.then266 + %136 = load i64*, i64** %ppc, align 8 + %arrayidx273 = getelementptr inbounds i64, i64* %136, i64 1 + store i64 1, i64* %arrayidx273, align 8 + %137 = load i64*, i64** %ppc, align 8 + %arrayidx274 = getelementptr inbounds i64, i64* %137, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 16) to i64), i64* %arrayidx274, align 8 + br label %if.end279 + +if.else275: ; preds = %if.then266 + %138 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %decimal_point_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %138, i32 0, i32 26 + %139 = load i32, i32* %decimal_point_len, align 8 + %conv276 = sext i32 %139 to i64 + %140 = load i64*, i64** %ppc, align 8 + %arrayidx277 = getelementptr inbounds i64, i64* %140, i64 1 + store i64 %conv276, i64* %arrayidx277, align 8 + %141 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %decimal_point = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %141, i32 0, i32 39 + %142 = load i8*, i8** %decimal_point, align 8 + %143 = ptrtoint i8* %142 to i64 + %144 = load i64*, i64** %ppc, align 8 + %arrayidx278 = getelementptr inbounds i64, i64* %144, i64 2 + store i64 %143, i64* %arrayidx278, align 8 + br label %if.end279 + +if.end279: ; preds = %if.else275, %if.then272 + %145 = load i64*, i64** %ppc, align 8 + %add.ptr280 = getelementptr inbounds i64, i64* %145, i64 3 + store i64* %add.ptr280, i64** %ppc, align 8 + br label %if.end281 + +if.end281: ; preds = %if.end279, %lor.lhs.false259 + %146 = load i32, i32* %o_exp, align 4 + %inc282 = add nsw i32 %146, 1 + store i32 %inc282, i32* %o_exp, align 4 + %cmp283 = icmp slt i32 %inc282, 0 + br i1 %cmp283, label %if.then285, label %if.end292 + +if.then285: ; preds = %if.end281 + %147 = load i64*, i64** %ppc, align 8 + %arrayidx286 = getelementptr inbounds i64, i64* %147, i64 0 + store i64 176, i64* %arrayidx286, align 8 + %148 = load i32, i32* %o_exp, align 4 + %sub287 = sub nsw i32 0, %148 + %conv288 = sext i32 %sub287 to i64 + %149 = load i64*, i64** %ppc, align 8 + %arrayidx289 = getelementptr inbounds i64, i64* %149, i64 1 + store i64 %conv288, i64* %arrayidx289, align 8 + %150 = load i64*, i64** %ppc, align 8 + %arrayidx290 = getelementptr inbounds i64, i64* %150, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx290, align 8 + %151 = load i64*, i64** %ppc, align 8 + %add.ptr291 = getelementptr inbounds i64, i64* %151, i64 3 + store i64* %add.ptr291, i64** %ppc, align 8 + br label %if.end292 + +if.end292: ; preds = %if.then285, %if.end281 + %152 = load i32, i32* %i218, align 4 + %tobool293 = icmp ne i32 %152, 0 + br i1 %tobool293, label %if.then294, label %if.end300 + +if.then294: ; preds = %if.end292 + %153 = load i64*, i64** %ppc, align 8 + %arrayidx295 = getelementptr inbounds i64, i64* %153, i64 0 + store i64 112, i64* %arrayidx295, align 8 + %154 = load i32, i32* %i218, align 4 + %conv296 = sext i32 %154 to i64 + %155 = load i64*, i64** %ppc, align 8 + %arrayidx297 = getelementptr inbounds i64, i64* %155, i64 1 + store i64 %conv296, i64* %arrayidx297, align 8 + %156 = load i8*, i8** %s, align 8 + %157 = ptrtoint i8* %156 to i64 + %158 = load i64*, i64** %ppc, align 8 + %arrayidx298 = getelementptr inbounds i64, i64* %158, i64 2 + store i64 %157, i64* %arrayidx298, align 8 + %159 = load i64*, i64** %ppc, align 8 + %add.ptr299 = getelementptr inbounds i64, i64* %159, i64 3 + store i64* %add.ptr299, i64** %ppc, align 8 + br label %if.end300 + +if.end300: ; preds = %if.then294, %if.end292 + %160 = load i8, i8* %o_mode, align 1 + %conv301 = sext i8 %160 to i32 + %cmp302 = icmp ne i32 %conv301, 103 + br i1 %cmp302, label %if.then310, label %lor.lhs.false304 + +lor.lhs.false304: ; preds = %if.end300 + %161 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %alt305 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %161, i32 0, i32 3 + %bf.load306 = load i32, i32* %alt305, align 4 + %bf.lshr307 = lshr i32 %bf.load306, 4 + %bf.clear308 = and i32 %bf.lshr307, 1 + %tobool309 = icmp ne i32 %bf.clear308, 0 + br i1 %tobool309, label %if.then310, label %if.end322 + +if.then310: ; preds = %lor.lhs.false304, %if.end300 + %162 = load i32, i32* %o_exp, align 4 + %163 = load i32, i32* %i218, align 4 + %sub311 = sub nsw i32 %163, %162 + store i32 %sub311, i32* %i218, align 4 + %164 = load i32, i32* %i218, align 4 + %165 = load i32, i32* %preci, align 4 + %cmp312 = icmp slt i32 %164, %165 + br i1 %cmp312, label %if.then314, label %if.end322 + +if.then314: ; preds = %if.then310 + %166 = load i32, i32* %preci, align 4 + %167 = load i32, i32* %i218, align 4 + %sub315 = sub nsw i32 %166, %167 + store i32 %sub315, i32* %i218, align 4 + %168 = load i64*, i64** %ppc, align 8 + %arrayidx316 = getelementptr inbounds i64, i64* %168, i64 0 + store i64 176, i64* %arrayidx316, align 8 + %169 = load i32, i32* %i218, align 4 + %conv317 = sext i32 %169 to i64 + %170 = load i64*, i64** %ppc, align 8 + %arrayidx318 = getelementptr inbounds i64, i64* %170, i64 1 + store i64 %conv317, i64* %arrayidx318, align 8 + %171 = load i64*, i64** %ppc, align 8 + %arrayidx319 = getelementptr inbounds i64, i64* %171, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx319, align 8 + %172 = load i64*, i64** %ppc, align 8 + %add.ptr320 = getelementptr inbounds i64, i64* %172, i64 3 + store i64* %add.ptr320, i64** %ppc, align 8 + br label %if.end322 + +if.end322: ; preds = %if.then310, %if.then314, %lor.lhs.false304 + %173 = load i8, i8* %mode, align 1 + %conv323 = sext i8 %173 to i32 + %cmp324 = icmp ne i32 %conv323, 102 + br i1 %cmp324, label %if.then326, label %EXIT_SPECIAL + +if.then326: ; preds = %if.end322 + %arraydecay327 = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + %add.ptr328 = getelementptr inbounds i8, i8* %arraydecay327, i64 16 + store i8* %add.ptr328, i8** %p, align 8 + %arraydecay330 = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + %174 = load i8, i8* %arraydecay330, align 16 + store i8 %174, i8* %exp_char, align 1 + store i8 43, i8* %exp_sign, align 1 + %175 = load i32, i32* %exp, align 4 + %cmp331 = icmp slt i32 %175, 0 + br i1 %cmp331, label %if.then333, label %if.end335 + +if.then333: ; preds = %if.then326 + store i8 45, i8* %exp_sign, align 1 + %176 = load i32, i32* %exp, align 4 + %sub334 = sub nsw i32 0, %176 + store i32 %sub334, i32* %exp, align 4 + br label %if.end335 + +if.end335: ; preds = %if.then333, %if.then326 + %177 = load i8*, i8** %p, align 8 + %incdec.ptr336 = getelementptr inbounds i8, i8* %177, i32 -1 + store i8* %incdec.ptr336, i8** %p, align 8 + store i8 0, i8* %incdec.ptr336, align 1 + store i32 2, i32* %j329, align 4 + br label %do.body337 + +do.body337: ; preds = %do.body337, %if.end335 + %178 = load i32, i32* %exp, align 4 + %rem338 = srem i32 %178, 10 + %add339 = add nsw i32 48, %rem338 + %conv340 = trunc i32 %add339 to i8 + %179 = load i8*, i8** %p, align 8 + %incdec.ptr341 = getelementptr inbounds i8, i8* %179, i32 -1 + store i8* %incdec.ptr341, i8** %p, align 8 + store i8 %conv340, i8* %incdec.ptr341, align 1 + %180 = load i32, i32* %exp, align 4 + %div342 = sdiv i32 %180, 10 + store i32 %div342, i32* %exp, align 4 + %181 = load i32, i32* %j329, align 4 + %inc344 = add nsw i32 %181, 1 + store i32 %inc344, i32* %j329, align 4 + %cmp345 = icmp slt i32 %inc344, 4 + %182 = load i32, i32* %exp, align 4 + %tobool348 = icmp ne i32 %182, 0 + %183 = select i1 %cmp345, i1 true, i1 %tobool348 + br i1 %183, label %do.body337, label %do.end350 + +do.end350: ; preds = %do.body337 + %184 = load i8, i8* %exp_sign, align 1 + %185 = load i8*, i8** %p, align 8 + %incdec.ptr351 = getelementptr inbounds i8, i8* %185, i32 -1 + store i8* %incdec.ptr351, i8** %p, align 8 + store i8 %184, i8* %incdec.ptr351, align 1 + %186 = load i8, i8* %exp_char, align 1 + %187 = load i8*, i8** %p, align 8 + %incdec.ptr352 = getelementptr inbounds i8, i8* %187, i32 -1 + store i8* %incdec.ptr352, i8** %p, align 8 + store i8 %186, i8* %incdec.ptr352, align 1 + %188 = load i64*, i64** %ppc, align 8 + %arrayidx353 = getelementptr inbounds i64, i64* %188, i64 0 + store i64 112, i64* %arrayidx353, align 8 + %189 = load i32, i32* %j329, align 4 + %conv354 = sext i32 %189 to i64 + %190 = load i64*, i64** %ppc, align 8 + %arrayidx355 = getelementptr inbounds i64, i64* %190, i64 1 + store i64 %conv354, i64* %arrayidx355, align 8 + %191 = load i8*, i8** %p, align 8 + %192 = ptrtoint i8* %191 to i64 + %193 = load i64*, i64** %ppc, align 8 + %arrayidx356 = getelementptr inbounds i64, i64* %193, i64 2 + store i64 %192, i64* %arrayidx356, align 8 + %194 = load i64*, i64** %ppc, align 8 + %add.ptr357 = getelementptr inbounds i64, i64* %194, i64 3 + store i64* %add.ptr357, i64** %ppc, align 8 + br label %EXIT_SPECIAL + +EXIT_SPECIAL: ; preds = %if.end322, %do.end350, %if.end54 + %195 = load i64*, i64** %ppc, align 8 + store i64* %195, i64** %ppc_last, align 8 + %arraydecay360 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + %add.ptr361 = getelementptr inbounds i64, i64* %arraydecay360, i64 4 + store i64* %add.ptr361, i64** %ppc, align 8 + br label %do.body362 + +do.body362: ; preds = %do.body362, %EXIT_SPECIAL + %196 = load i64*, i64** %ppc, align 8 + %197 = load i64, i64* %196, align 8 + %198 = load i32, i32* %width, align 4 + %conv363 = sext i32 %198 to i64 + %sub364 = sub nsw i64 %conv363, %197 + %conv365 = trunc i64 %sub364 to i32 + store i32 %conv365, i32* %width, align 4 + %199 = load i64*, i64** %ppc, align 8 + %add.ptr366 = getelementptr inbounds i64, i64* %199, i64 3 + store i64* %add.ptr366, i64** %ppc, align 8 + %200 = load i64*, i64** %ppc, align 8 + %201 = load i64*, i64** %ppc_last, align 8 + %cmp368 = icmp ult i64* %200, %201 + br i1 %cmp368, label %do.body362, label %do.end370 + +do.end370: ; preds = %do.body362 + %arraydecay371 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + store i64* %arraydecay371, i64** %ppc, align 8 + %202 = load i64*, i64** %ppc, align 8 + %arrayidx372 = getelementptr inbounds i64, i64* %202, i64 0 + store i64 160, i64* %arrayidx372, align 8 + %arraydecay373 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %203 = load i8, i8* %arraydecay373, align 1 + %conv374 = sext i8 %203 to i32 + %cmp375 = icmp ne i32 %conv374, 0 + %conv376 = zext i1 %cmp375 to i32 + store i32 %conv376, i32* %i359, align 4 + %conv377 = sext i32 %conv376 to i64 + %204 = load i64*, i64** %ppc, align 8 + %arrayidx378 = getelementptr inbounds i64, i64* %204, i64 1 + store i64 %conv377, i64* %arrayidx378, align 8 + %arraydecay379 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %205 = ptrtoint i8* %arraydecay379 to i64 + %206 = load i64*, i64** %ppc, align 8 + %arrayidx380 = getelementptr inbounds i64, i64* %206, i64 2 + store i64 %205, i64* %arrayidx380, align 8 + %207 = load i32, i32* %i359, align 4 + %208 = load i32, i32* %width, align 4 + %sub381 = sub nsw i32 %208, %207 + store i32 %sub381, i32* %width, align 4 + %cmp382 = icmp sgt i32 %sub381, 0 + br i1 %cmp382, label %if.then384, label %if.end409 + +if.then384: ; preds = %do.end370 + %209 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %left = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %209, i32 0, i32 3 + %bf.load385 = load i32, i32* %left, align 4 + %bf.lshr386 = lshr i32 %bf.load385, 3 + %bf.clear387 = and i32 %bf.lshr386, 1 + %tobool388 = icmp ne i32 %bf.clear387, 0 + br i1 %tobool388, label %if.then389, label %if.else395 + +if.then389: ; preds = %if.then384 + %210 = load i64*, i64** %ppc_last, align 8 + %arrayidx390 = getelementptr inbounds i64, i64* %210, i64 0 + store i64 160, i64* %arrayidx390, align 8 + %211 = load i32, i32* %width, align 4 + %conv391 = sext i32 %211 to i64 + %212 = load i64*, i64** %ppc_last, align 8 + %arrayidx392 = getelementptr inbounds i64, i64* %212, i64 1 + store i64 %conv391, i64* %arrayidx392, align 8 + %213 = load i64*, i64** %ppc_last, align 8 + %arrayidx393 = getelementptr inbounds i64, i64* %213, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx393, align 8 + %214 = load i64*, i64** %ppc_last, align 8 + %add.ptr394 = getelementptr inbounds i64, i64* %214, i64 3 + store i64* %add.ptr394, i64** %ppc_last, align 8 + br label %if.end409 + +if.else395: ; preds = %if.then384 + %215 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %pad396 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %215, i32 0, i32 4 + %216 = load i32, i32* %pad396, align 4 + %cmp397 = icmp eq i32 %216, 48 + %217 = load i32, i32* %width, align 4 + %conv400 = sext i32 %217 to i64 + %218 = load i64*, i64** %ppc, align 8 + br i1 %cmp397, label %if.then399, label %if.else403 + +if.then399: ; preds = %if.else395 + %arrayidx401 = getelementptr inbounds i64, i64* %218, i64 4 + %219 = load i64, i64* %arrayidx401, align 8 + %add402 = add nsw i64 %219, %conv400 + store i64 %add402, i64* %arrayidx401, align 8 + br label %if.end409 + +if.else403: ; preds = %if.else395 + %arrayidx405 = getelementptr inbounds i64, i64* %218, i64 1 + %220 = load i64, i64* %arrayidx405, align 8 + %add406 = add nsw i64 %220, %conv400 + store i64 %add406, i64* %arrayidx405, align 8 + br label %if.end409 + +if.end409: ; preds = %if.then389, %if.else403, %if.then399, %do.end370 + store i32 0, i32* %cnt, align 4 + br label %do.body410 + +do.body410: ; preds = %if.end418, %if.end409 + %221 = load i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)*, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)** %fp_outfunc.addr, align 8 + %222 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + %223 = load i64*, i64** %ppc, align 8 + %224 = load i64, i64* %223, align 8 + %225 = load i64*, i64** %ppc, align 8 + %arrayidx411 = getelementptr inbounds i64, i64* %225, i64 1 + %226 = load i64, i64* %arrayidx411, align 8 + %227 = load i64*, i64** %ppc, align 8 + %arrayidx412 = getelementptr inbounds i64, i64* %227, i64 2 + %228 = load i64, i64* %arrayidx412, align 8 + %call413 = call i64 %221(%struct.__STDIO_FILE_STRUCT.568* %222, i64 %224, i64 %226, i64 %228) #19 + %229 = load i64*, i64** %ppc, align 8 + %arrayidx414 = getelementptr inbounds i64, i64* %229, i64 1 + %230 = load i64, i64* %arrayidx414, align 8 + %cmp415 = icmp ne i64 %call413, %230 + br i1 %cmp415, label %if.then417, label %if.end418 + +if.then417: ; preds = %do.body410 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end418: ; preds = %do.body410 + %231 = load i64*, i64** %ppc, align 8 + %arrayidx419 = getelementptr inbounds i64, i64* %231, i64 1 + %232 = load i64, i64* %arrayidx419, align 8 + %233 = load i32, i32* %cnt, align 4 + %conv420 = sext i32 %233 to i64 + %add421 = add nsw i64 %conv420, %232 + %conv422 = trunc i64 %add421 to i32 + store i32 %conv422, i32* %cnt, align 4 + %234 = load i64*, i64** %ppc, align 8 + %add.ptr423 = getelementptr inbounds i64, i64* %234, i64 3 + store i64* %add.ptr423, i64** %ppc, align 8 + %235 = load i64*, i64** %ppc, align 8 + %236 = load i64*, i64** %ppc_last, align 8 + %cmp425 = icmp ult i64* %235, %236 + br i1 %cmp425, label %do.body410, label %do.end427 + +do.end427: ; preds = %if.end418 + %237 = load i32, i32* %cnt, align 4 + %conv428 = sext i32 %237 to i64 + store i64 %conv428, i64* %retval, align 8 + br label %return + +return: ; preds = %do.end427, %if.then417 + %238 = load i64, i64* %retval, align 8 + ret i64 %238 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_load_inttype(i32 %desttype, i8* %src, i32 %uflag) #0 { +entry: + %retval = alloca i64, align 8 + %desttype.addr = alloca i32, align 4 + %src.addr = alloca i8*, align 8 + %uflag.addr = alloca i32, align 4 + %x = alloca i32, align 4 + %x24 = alloca i32, align 4 + store i32 %desttype, i32* %desttype.addr, align 4 + store i8* %src, i8** %src.addr, align 8 + store i32 %uflag, i32* %uflag.addr, align 4 + %0 = load i32, i32* %uflag.addr, align 4 + %cmp = icmp sge i32 %0, 0 + %1 = load i32, i32* %desttype.addr, align 4 + %and = and i32 %1, 3072 + %tobool = icmp ne i32 %and, 0 + %2 = load i8*, i8** %src.addr, align 8 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + br i1 %tobool, label %if.then1, label %if.end4 + +if.then1: ; preds = %if.then + %3 = bitcast i8* %2 to i64* + %4 = load i64, i64* %3, align 8 + store i64 %4, i64* %retval, align 8 + br label %return + +if.end4: ; preds = %if.then + %5 = bitcast i8* %2 to i32* + %6 = load i32, i32* %5, align 4 + store i32 %6, i32* %x, align 4 + %7 = load i32, i32* %desttype.addr, align 4 + %cmp5 = icmp eq i32 %7, 256 + br i1 %cmp5, label %if.then6, label %if.end8 + +if.then6: ; preds = %if.end4 + %8 = load i32, i32* %x, align 4 + %conv = trunc i32 %8 to i8 + %conv7 = zext i8 %conv to i32 + store i32 %conv7, i32* %x, align 4 + br label %if.end8 + +if.end8: ; preds = %if.then6, %if.end4 + %9 = load i32, i32* %desttype.addr, align 4 + %cmp9 = icmp eq i32 %9, 512 + br i1 %cmp9, label %if.then11, label %if.end14 + +if.then11: ; preds = %if.end8 + %10 = load i32, i32* %x, align 4 + %conv12 = trunc i32 %10 to i16 + %conv13 = zext i16 %conv12 to i32 + store i32 %conv13, i32* %x, align 4 + br label %if.end14 + +if.end14: ; preds = %if.then11, %if.end8 + %11 = load i32, i32* %x, align 4 + %conv15 = zext i32 %11 to i64 + store i64 %conv15, i64* %retval, align 8 + br label %return + +if.else: ; preds = %entry + br i1 %tobool, label %if.then18, label %if.end23 + +if.then18: ; preds = %if.else + %12 = bitcast i8* %2 to i64* + %13 = load i64, i64* %12, align 8 + store i64 %13, i64* %retval, align 8 + br label %return + +if.end23: ; preds = %if.else + %14 = bitcast i8* %2 to i32* + %15 = load i32, i32* %14, align 4 + store i32 %15, i32* %x24, align 4 + %16 = load i32, i32* %desttype.addr, align 4 + %cmp25 = icmp eq i32 %16, 256 + br i1 %cmp25, label %if.then27, label %if.end30 + +if.then27: ; preds = %if.end23 + %17 = load i32, i32* %x24, align 4 + %conv28 = trunc i32 %17 to i8 + %conv29 = sext i8 %conv28 to i32 + store i32 %conv29, i32* %x24, align 4 + br label %if.end30 + +if.end30: ; preds = %if.then27, %if.end23 + %18 = load i32, i32* %desttype.addr, align 4 + %cmp31 = icmp eq i32 %18, 512 + br i1 %cmp31, label %if.then33, label %if.end36 + +if.then33: ; preds = %if.end30 + %19 = load i32, i32* %x24, align 4 + %conv34 = trunc i32 %19 to i16 + %conv35 = sext i16 %conv34 to i32 + store i32 %conv35, i32* %x24, align 4 + br label %if.end36 + +if.end36: ; preds = %if.then33, %if.end30 + %20 = load i32, i32* %x24, align 4 + %conv37 = sext i32 %20 to i64 + store i64 %conv37, i64* %retval, align 8 + br label %return + +return: ; preds = %if.then18, %if.then1, %if.end36, %if.end14 + %21 = load i64, i64* %retval, align 8 + ret i64 %21 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_ppfs_init(%struct.ppfs_t.722* %ppfs, i8* %fmt0) #0 { +entry: + %retval = alloca i32, align 4 + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %fmt0.addr = alloca i8*, align 8 + %r = alloca i32, align 4 + %mbstate = alloca %struct.__mbstate_t.512, align 4 + %p = alloca i8*, align 8 + %p8 = alloca i32*, align 8 + %fmt = alloca i8*, align 8 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store i8* %fmt0, i8** %fmt0.addr, align 8 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %1 = bitcast %struct.ppfs_t.722* %0 to i8* + %call = call i8* @memset(i8* %1, i32 0, i64 176) #20 + %2 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %2, i32 0, i32 2 + %3 = load i32, i32* %maxposarg, align 4 + %dec = add nsw i32 %3, -1 + store i32 %dec, i32* %maxposarg, align 4 + %4 = load i8*, i8** %fmt0.addr, align 8 + %5 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %5, i32 0, i32 0 + store i8* %4, i8** %fmtpos, align 8 + %6 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %6, i32 0, i32 9 + %7 = load i8, i8* %encoding, align 8 + %conv = zext i8 %7 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %if.then, label %if.end7 + +if.then: ; preds = %entry + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %mbstate, i32 0, i32 0 + store i32 0, i32* %__mask, align 4 + %8 = load i8*, i8** %fmt0.addr, align 8 + store i8* %8, i8** %p, align 8 + %call2 = call i64 @mbsrtowcs(i32* null, i8** %p, i64 -1, %struct.__mbstate_t.512* %mbstate) #20 + %cmp3 = icmp eq i64 %call2, -1 + br i1 %cmp3, label %if.then5, label %if.end7 + +if.then5: ; preds = %if.then + %9 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos6 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %9, i32 0, i32 0 + store i8* getelementptr inbounds ([33 x i8], [33 x i8]* @_ppfs_init.invalid_mbs, i64 0, i64 0), i8** %fmtpos6, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end7: ; preds = %if.then, %entry + %10 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %10, i32 0, i32 6 + %arraydecay = getelementptr inbounds [9 x i32], [9 x i32]* %argtype, i64 0, i64 0 + store i32* %arraydecay, i32** %p8, align 8 + store i32 9, i32* %r, align 4 + br label %do.body + +do.body: ; preds = %do.body, %if.end7 + %11 = load i32*, i32** %p8, align 8 + %incdec.ptr = getelementptr inbounds i32, i32* %11, i32 1 + store i32* %incdec.ptr, i32** %p8, align 8 + store i32 8, i32* %11, align 4 + %12 = load i32, i32* %r, align 4 + %dec9 = add nsw i32 %12, -1 + store i32 %dec9, i32* %r, align 4 + %tobool = icmp ne i32 %dec9, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.body + %13 = load i8*, i8** %fmt0.addr, align 8 + store i8* %13, i8** %fmt, align 8 + br label %while.cond + +while.cond: ; preds = %if.end27, %do.end + %14 = load i8*, i8** %fmt, align 8 + %15 = load i8, i8* %14, align 1 + %tobool10 = icmp ne i8 %15, 0 + br i1 %tobool10, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %16 = load i8*, i8** %fmt, align 8 + %17 = load i8, i8* %16, align 1 + %conv11 = sext i8 %17 to i32 + %cmp12 = icmp eq i32 %conv11, 37 + br i1 %cmp12, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %while.body + %18 = load i8*, i8** %fmt, align 8 + %incdec.ptr14 = getelementptr inbounds i8, i8* %18, i32 1 + store i8* %incdec.ptr14, i8** %fmt, align 8 + %19 = load i8, i8* %incdec.ptr14, align 1 + %conv15 = sext i8 %19 to i32 + %cmp16 = icmp ne i32 %conv15, 37 + br i1 %cmp16, label %if.then18, label %if.else + +if.then18: ; preds = %land.lhs.true + %20 = load i8*, i8** %fmt, align 8 + %21 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos19 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %21, i32 0, i32 0 + store i8* %20, i8** %fmtpos19, align 8 + %22 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %call20 = call i32 @_ppfs_parsespec(%struct.ppfs_t.722* %22) #19 + store i32 %call20, i32* %r, align 4 + %cmp21 = icmp slt i32 %call20, 0 + br i1 %cmp21, label %if.then23, label %if.end24 + +if.then23: ; preds = %if.then18 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end24: ; preds = %if.then18 + %23 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos25 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %23, i32 0, i32 0 + %24 = load i8*, i8** %fmtpos25, align 8 + store i8* %24, i8** %fmt, align 8 + br label %if.end27 + +if.else: ; preds = %land.lhs.true, %while.body + %25 = load i8*, i8** %fmt, align 8 + %incdec.ptr26 = getelementptr inbounds i8, i8* %25, i32 1 + store i8* %incdec.ptr26, i8** %fmt, align 8 + br label %if.end27 + +if.end27: ; preds = %if.else, %if.end24 + br label %while.cond + +while.end: ; preds = %while.cond + %26 = load i8*, i8** %fmt0.addr, align 8 + %27 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos28 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %27, i32 0, i32 0 + store i8* %26, i8** %fmtpos28, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %while.end, %if.then23, %if.then5 + %28 = load i32, i32* %retval, align 4 + ret i32 %28 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_ppfs_parsespec(%struct.ppfs_t.722* %ppfs) #0 { +entry: + %retval = alloca i32, align 4 + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %fmt = alloca i8*, align 8 + %p = alloca i8*, align 8 + %preci = alloca i32, align 4 + %width = alloca i32, align 4 + %flags = alloca i32, align 4 + %dataargtype = alloca i32, align 4 + %i = alloca i32, align 4 + %dpoint = alloca i32, align 4 + %maxposarg = alloca i32, align 4 + %p_m_spec_chars = alloca i32, align 4 + %n = alloca i32, align 4 + %argtype = alloca [3 x i32], align 4 + %argnumber = alloca [3 x i32], align 4 + %buf = alloca [32 x i8], align 16 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store i32 -1, i32* %preci, align 4 + %arrayidx = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 0 + store i32 0, i32* %arrayidx, align 4 + %arrayidx1 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 1 + store i32 0, i32* %arrayidx1, align 4 + %arrayidx2 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 0 + store i32 8, i32* %arrayidx2, align 4 + %arrayidx3 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 1 + store i32 8, i32* %arrayidx3, align 4 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg4 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %0, i32 0, i32 2 + %1 = load i32, i32* %maxposarg4, align 4 + store i32 %1, i32* %maxposarg, align 4 + store i32 0, i32* %dpoint, align 4 + store i32 0, i32* %width, align 4 + %2 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %2, i32 0, i32 1 + %_flags = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 3 + %3 = load i32, i32* %_flags, align 4 + %and = and i32 %3, 128 + store i32 %and, i32* %flags, align 4 + %cmp = icmp eq i32 %and, 0 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %4 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %4, i32 0, i32 0 + %5 = load i8*, i8** %fmtpos, align 8 + store i8* %5, i8** %fmt, align 8 + br label %if.end20 + +if.else: ; preds = %entry + %arraydecay = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 1 + store i8* %add.ptr, i8** %fmt, align 8 + store i32 0, i32* %i, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %if.else + %6 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos5 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %6, i32 0, i32 0 + %7 = load i8*, i8** %fmtpos5, align 8 + %8 = bitcast i8* %7 to i32* + %9 = load i32, i32* %i, align 4 + %sub = sub nsw i32 %9, 1 + %idxprom = sext i32 %sub to i64 + %arrayidx6 = getelementptr inbounds i32, i32* %8, i64 %idxprom + %10 = load i32, i32* %arrayidx6, align 4 + %conv = trunc i32 %10 to i8 + %11 = load i32, i32* %i, align 4 + %idxprom7 = sext i32 %11 to i64 + %arrayidx8 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 %idxprom7 + store i8 %conv, i8* %arrayidx8, align 1 + %conv9 = sext i8 %conv to i32 + %12 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos10 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %12, i32 0, i32 0 + %13 = load i8*, i8** %fmtpos10, align 8 + %14 = bitcast i8* %13 to i32* + %15 = load i32, i32* %i, align 4 + %sub11 = sub nsw i32 %15, 1 + %idxprom12 = sext i32 %sub11 to i64 + %arrayidx13 = getelementptr inbounds i32, i32* %14, i64 %idxprom12 + %16 = load i32, i32* %arrayidx13, align 4 + %cmp14 = icmp ne i32 %conv9, %16 + br i1 %cmp14, label %if.then16, label %do.cond + +if.then16: ; preds = %do.body + store i32 -1, i32* %retval, align 4 + br label %return + +do.cond: ; preds = %do.body + %17 = load i32, i32* %i, align 4 + %inc = add nsw i32 %17, 1 + store i32 %inc, i32* %i, align 4 + %idxprom17 = sext i32 %17 to i64 + %arrayidx18 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 %idxprom17 + %18 = load i8, i8* %arrayidx18, align 1 + %tobool = icmp ne i8 %18, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %arrayidx19 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 31 + store i8 0, i8* %arrayidx19, align 1 + br label %if.end20 + +if.end20: ; preds = %do.end, %if.then + br label %width_precision + +width_precision: ; preds = %do.end89, %if.then129, %if.end20 + %19 = load i8*, i8** %fmt, align 8 + store i8* %19, i8** %p, align 8 + %20 = load i8*, i8** %fmt, align 8 + %21 = load i8, i8* %20, align 1 + %conv21 = sext i8 %21 to i32 + %cmp22 = icmp eq i32 %conv21, 42 + br i1 %cmp22, label %if.then24, label %if.end28 + +if.then24: ; preds = %width_precision + %22 = load i32, i32* %dpoint, align 4 + %sub25 = sub nsw i32 0, %22 + %idxprom26 = sext i32 %sub25 to i64 + %arrayidx27 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 %idxprom26 + store i32 0, i32* %arrayidx27, align 4 + %23 = load i8*, i8** %fmt, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %23, i32 1 + store i8* %incdec.ptr, i8** %fmt, align 8 + br label %if.end28 + +if.end28: ; preds = %if.then24, %width_precision + store i32 0, i32* %i, align 4 + br label %while.cond + +while.cond: ; preds = %if.end40, %if.end28 + %call = call i16** @__ctype_b_loc() #22 + %24 = load i16*, i16** %call, align 8 + %25 = load i8*, i8** %fmt, align 8 + %26 = load i8, i8* %25, align 1 + %conv29 = sext i8 %26 to i32 + %idxprom30 = sext i32 %conv29 to i64 + %arrayidx31 = getelementptr inbounds i16, i16* %24, i64 %idxprom30 + %27 = load i16, i16* %arrayidx31, align 2 + %conv32 = zext i16 %27 to i32 + %and33 = and i32 %conv32, 2048 + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %28 = load i32, i32* %i, align 4 + %cmp35 = icmp slt i32 %28, 4095 + br i1 %cmp35, label %if.then37, label %if.end40 + +if.then37: ; preds = %while.body + %29 = load i32, i32* %i, align 4 + %mul = mul nsw i32 %29, 10 + %30 = load i8*, i8** %fmt, align 8 + %31 = load i8, i8* %30, align 1 + %conv38 = sext i8 %31 to i32 + %sub39 = sub nsw i32 %conv38, 48 + %add = add nsw i32 %mul, %sub39 + store i32 %add, i32* %i, align 4 + br label %if.end40 + +if.end40: ; preds = %if.then37, %while.body + %32 = load i8*, i8** %fmt, align 8 + %incdec.ptr41 = getelementptr inbounds i8, i8* %32, i32 1 + store i8* %incdec.ptr41, i8** %fmt, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %33 = load i8*, i8** %p, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %33, i64 -1 + %34 = load i8, i8* %arrayidx42, align 1 + %conv43 = sext i8 %34 to i32 + %cmp44 = icmp eq i32 %conv43, 37 + br i1 %cmp44, label %if.then46, label %PREC_WIDTH + +if.then46: ; preds = %while.end + %35 = load i8*, i8** %fmt, align 8 + %36 = load i8, i8* %35, align 1 + %conv47 = sext i8 %36 to i32 + %cmp48 = icmp eq i32 %conv47, 36 + %37 = load i32, i32* %i, align 4 + %cmp50 = icmp sgt i32 %37, 0 + %or.cond = and i1 %cmp48, %cmp50 + br i1 %or.cond, label %if.then52, label %if.else63 + +if.then52: ; preds = %if.then46 + %38 = load i8*, i8** %fmt, align 8 + %incdec.ptr53 = getelementptr inbounds i8, i8* %38, i32 1 + store i8* %incdec.ptr53, i8** %fmt, align 8 + %39 = load i32, i32* %maxposarg, align 4 + %cmp54 = icmp eq i32 %39, 0 + br i1 %cmp54, label %if.then56, label %if.end57 + +if.then56: ; preds = %if.then52 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end57: ; preds = %if.then52 + %40 = load i32, i32* %i, align 4 + %arrayidx58 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 2 + store i32 %40, i32* %arrayidx58, align 4 + %41 = load i32, i32* %maxposarg, align 4 + %cmp59 = icmp sgt i32 %40, %41 + br i1 %cmp59, label %if.then61, label %if.end76 + +if.then61: ; preds = %if.end57 + %42 = load i32, i32* %i, align 4 + store i32 %42, i32* %maxposarg, align 4 + br label %if.end76 + +if.else63: ; preds = %if.then46 + %43 = load i32, i32* %maxposarg, align 4 + %cmp64 = icmp sgt i32 %43, 0 + br i1 %cmp64, label %if.then66, label %if.end67 + +if.then66: ; preds = %if.else63 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end67: ; preds = %if.else63 + store i32 0, i32* %maxposarg, align 4 + %44 = load i8*, i8** %fmt, align 8 + %45 = load i8*, i8** %p, align 8 + %cmp68 = icmp ugt i8* %44, %45 + br i1 %cmp68, label %land.lhs.true70, label %if.end75 + +land.lhs.true70: ; preds = %if.end67 + %46 = load i8*, i8** %p, align 8 + %47 = load i8, i8* %46, align 1 + %conv71 = sext i8 %47 to i32 + %cmp72 = icmp ne i32 %conv71, 48 + br i1 %cmp72, label %PREC_WIDTH, label %if.end75 + +if.end75: ; preds = %land.lhs.true70, %if.end67 + %48 = load i8*, i8** %p, align 8 + store i8* %48, i8** %fmt, align 8 + br label %if.end76 + +if.end76: ; preds = %if.end57, %if.then61, %if.end75 + br label %restart_flags + +restart_flags: ; preds = %if.then83, %if.end76 + store i32 1, i32* %i, align 4 + store i8* getelementptr inbounds ([8 x i8], [8 x i8]* @_ppfs_parsespec.spec_flags, i64 0, i64 0), i8** %p, align 8 + br label %do.body77 + +do.body77: ; preds = %if.end85, %restart_flags + %49 = load i8*, i8** %fmt, align 8 + %50 = load i8, i8* %49, align 1 + %conv78 = sext i8 %50 to i32 + %51 = load i8*, i8** %p, align 8 + %incdec.ptr79 = getelementptr inbounds i8, i8* %51, i32 1 + store i8* %incdec.ptr79, i8** %p, align 8 + %52 = load i8, i8* %51, align 1 + %conv80 = sext i8 %52 to i32 + %cmp81 = icmp eq i32 %conv78, %conv80 + br i1 %cmp81, label %if.then83, label %if.end85 + +if.then83: ; preds = %do.body77 + %53 = load i8*, i8** %fmt, align 8 + %incdec.ptr84 = getelementptr inbounds i8, i8* %53, i32 1 + store i8* %incdec.ptr84, i8** %fmt, align 8 + %54 = load i32, i32* %i, align 4 + %55 = load i32, i32* %flags, align 4 + %or = or i32 %55, %54 + store i32 %or, i32* %flags, align 4 + br label %restart_flags + +if.end85: ; preds = %do.body77 + %56 = load i32, i32* %i, align 4 + %57 = load i32, i32* %i, align 4 + %add86 = add nsw i32 %57, %56 + store i32 %add86, i32* %i, align 4 + %58 = load i8*, i8** %p, align 8 + %59 = load i8, i8* %58, align 1 + %tobool88 = icmp ne i8 %59, 0 + br i1 %tobool88, label %do.body77, label %do.end89 + +do.end89: ; preds = %if.end85 + store i32 0, i32* %i, align 4 + %60 = load i32, i32* %flags, align 4 + %and90 = and i32 %60, 10 + %shr = ashr i32 %and90, 1 + %neg = xor i32 %shr, -1 + %61 = load i32, i32* %flags, align 4 + %and91 = and i32 %61, %neg + store i32 %and91, i32* %flags, align 4 + %62 = load i8*, i8** %fmt, align 8 + %arrayidx92 = getelementptr inbounds i8, i8* %62, i64 -1 + %63 = load i8, i8* %arrayidx92, align 1 + %conv93 = sext i8 %63 to i32 + %cmp94 = icmp ne i32 %conv93, 37 + br i1 %cmp94, label %width_precision, label %PREC_WIDTH + +PREC_WIDTH: ; preds = %while.end, %do.end89, %land.lhs.true70 + %64 = load i8*, i8** %p, align 8 + %65 = load i8, i8* %64, align 1 + %conv99 = sext i8 %65 to i32 + %cmp100 = icmp eq i32 %conv99, 42 + br i1 %cmp100, label %if.then102, label %if.end123 + +if.then102: ; preds = %PREC_WIDTH + %66 = load i32, i32* %maxposarg, align 4 + %tobool103 = icmp ne i32 %66, 0 + br i1 %tobool103, label %if.then104, label %if.else116 + +if.then104: ; preds = %if.then102 + %67 = load i8*, i8** %fmt, align 8 + %incdec.ptr105 = getelementptr inbounds i8, i8* %67, i32 1 + store i8* %incdec.ptr105, i8** %fmt, align 8 + %68 = load i8, i8* %67, align 1 + %conv106 = sext i8 %68 to i32 + %cmp107 = icmp ne i32 %conv106, 36 + %69 = load i32, i32* %i, align 4 + %cmp109 = icmp sle i32 %69, 0 + %or.cond1 = or i1 %cmp107, %cmp109 + br i1 %or.cond1, label %if.then111, label %if.end112 + +if.then111: ; preds = %if.then104 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end112: ; preds = %if.then104 + %70 = load i32, i32* %i, align 4 + %71 = load i32, i32* %dpoint, align 4 + %sub113 = sub nsw i32 0, %71 + %idxprom114 = sext i32 %sub113 to i64 + %arrayidx115 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 %idxprom114 + store i32 %70, i32* %arrayidx115, align 4 + br label %if.end122 + +if.else116: ; preds = %if.then102 + %72 = load i8*, i8** %p, align 8 + %incdec.ptr117 = getelementptr inbounds i8, i8* %72, i32 1 + store i8* %incdec.ptr117, i8** %p, align 8 + %73 = load i8*, i8** %fmt, align 8 + %cmp118 = icmp ne i8* %incdec.ptr117, %73 + br i1 %cmp118, label %if.then120, label %if.end122 + +if.then120: ; preds = %if.else116 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end122: ; preds = %if.else116, %if.end112 + store i32 -2147483648, i32* %i, align 4 + br label %if.end123 + +if.end123: ; preds = %if.end122, %PREC_WIDTH + %74 = load i32, i32* %dpoint, align 4 + %tobool124 = icmp ne i32 %74, 0 + %75 = load i32, i32* %i, align 4 + br i1 %tobool124, label %if.else132, label %if.then125 + +if.then125: ; preds = %if.end123 + store i32 %75, i32* %width, align 4 + %76 = load i8*, i8** %fmt, align 8 + %77 = load i8, i8* %76, align 1 + %conv126 = sext i8 %77 to i32 + %cmp127 = icmp eq i32 %conv126, 46 + br i1 %cmp127, label %if.then129, label %if.end133 + +if.then129: ; preds = %if.then125 + %78 = load i8*, i8** %fmt, align 8 + %incdec.ptr130 = getelementptr inbounds i8, i8* %78, i32 1 + store i8* %incdec.ptr130, i8** %fmt, align 8 + store i32 -1, i32* %dpoint, align 4 + br label %width_precision + +if.else132: ; preds = %if.end123 + store i32 %75, i32* %preci, align 4 + br label %if.end133 + +if.end133: ; preds = %if.then125, %if.else132 + store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @_ppfs_parsespec.qual_chars, i64 0, i64 0), i8** %p, align 8 + br label %do.body134 + +do.body134: ; preds = %do.cond142, %if.end133 + %79 = load i8*, i8** %fmt, align 8 + %80 = load i8, i8* %79, align 1 + %conv135 = sext i8 %80 to i32 + %81 = load i8*, i8** %p, align 8 + %82 = load i8, i8* %81, align 1 + %conv136 = sext i8 %82 to i32 + %cmp137 = icmp eq i32 %conv135, %conv136 + br i1 %cmp137, label %if.then139, label %do.cond142 + +if.then139: ; preds = %do.body134 + %83 = load i8*, i8** %fmt, align 8 + %incdec.ptr140 = getelementptr inbounds i8, i8* %83, i32 1 + store i8* %incdec.ptr140, i8** %fmt, align 8 + br label %do.end145 + +do.cond142: ; preds = %do.body134 + %84 = load i8*, i8** %p, align 8 + %incdec.ptr143 = getelementptr inbounds i8, i8* %84, i32 1 + store i8* %incdec.ptr143, i8** %p, align 8 + %85 = load i8, i8* %incdec.ptr143, align 1 + %tobool144 = icmp ne i8 %85, 0 + br i1 %tobool144, label %do.body134, label %do.end145 + +do.end145: ; preds = %do.cond142, %if.then139 + %86 = load i8*, i8** %p, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %86 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, ptrtoint ([20 x i8]* @_ppfs_parsespec.qual_chars to i64) + %cmp146 = icmp slt i64 %sub.ptr.sub, 2 + br i1 %cmp146, label %land.lhs.true148, label %if.end156 + +land.lhs.true148: ; preds = %do.end145 + %87 = load i8*, i8** %fmt, align 8 + %88 = load i8, i8* %87, align 1 + %conv149 = sext i8 %88 to i32 + %89 = load i8*, i8** %p, align 8 + %90 = load i8, i8* %89, align 1 + %conv150 = sext i8 %90 to i32 + %cmp151 = icmp eq i32 %conv149, %conv150 + br i1 %cmp151, label %if.then153, label %if.end156 + +if.then153: ; preds = %land.lhs.true148 + %91 = load i8*, i8** %p, align 8 + %add.ptr154 = getelementptr inbounds i8, i8* %91, i64 9 + store i8* %add.ptr154, i8** %p, align 8 + %92 = load i8*, i8** %fmt, align 8 + %incdec.ptr155 = getelementptr inbounds i8, i8* %92, i32 1 + store i8* %incdec.ptr155, i8** %fmt, align 8 + br label %if.end156 + +if.end156: ; preds = %if.then153, %land.lhs.true148, %do.end145 + %93 = load i8*, i8** %p, align 8 + %arrayidx157 = getelementptr inbounds i8, i8* %93, i64 9 + %94 = load i8, i8* %arrayidx157, align 1 + %conv158 = sext i8 %94 to i32 + %shl = shl i32 %conv158, 8 + store i32 %shl, i32* %dataargtype, align 4 + %95 = load i8*, i8** %fmt, align 8 + %96 = load i8, i8* %95, align 1 + %tobool159 = icmp ne i8 %96, 0 + br i1 %tobool159, label %if.end161, label %if.then160 + +if.then160: ; preds = %if.end156 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end161: ; preds = %if.end156 + store i8* getelementptr inbounds ([21 x i8], [21 x i8]* @_ppfs_parsespec.spec_chars, i64 0, i64 0), i8** %p, align 8 + br label %do.body162 + +do.body162: ; preds = %do.cond199, %if.end161 + %97 = load i8*, i8** %fmt, align 8 + %98 = load i8, i8* %97, align 1 + %conv163 = sext i8 %98 to i32 + %99 = load i8*, i8** %p, align 8 + %100 = load i8, i8* %99, align 1 + %conv164 = sext i8 %100 to i32 + %cmp165 = icmp eq i32 %conv163, %conv164 + %101 = load i8*, i8** %p, align 8 + br i1 %cmp165, label %if.then167, label %do.cond199 + +if.then167: ; preds = %do.body162 + %sub.ptr.lhs.cast168 = ptrtoint i8* %101 to i64 + %sub.ptr.sub169 = sub i64 %sub.ptr.lhs.cast168, ptrtoint ([21 x i8]* @_ppfs_parsespec.spec_chars to i64) + %conv170 = trunc i64 %sub.ptr.sub169 to i32 + store i32 %conv170, i32* %p_m_spec_chars, align 4 + %102 = load i32, i32* %p_m_spec_chars, align 4 + %cmp171 = icmp sge i32 %102, 18 + br i1 %cmp171, label %land.lhs.true173, label %if.end178 + +land.lhs.true173: ; preds = %if.then167 + %103 = load i32, i32* %dataargtype, align 4 + %and174 = and i32 %103, 1024 + %tobool175 = icmp ne i32 %and174, 0 + br i1 %tobool175, label %if.then176, label %if.end178 + +if.then176: ; preds = %land.lhs.true173 + %104 = load i32, i32* %p_m_spec_chars, align 4 + %sub177 = sub nsw i32 %104, 2 + store i32 %sub177, i32* %p_m_spec_chars, align 4 + br label %if.end178 + +if.end178: ; preds = %if.then176, %land.lhs.true173, %if.then167 + %105 = load i32, i32* %p_m_spec_chars, align 4 + %106 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %106, i32 0, i32 4 + store i32 %105, i32* %conv_num, align 4 + store i8* getelementptr inbounds (i8, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @_ppfs_parsespec.spec_ranges, i64 0, i64 0), i64 -1), i8** %p, align 8 + br label %while.cond179 + +while.cond179: ; preds = %while.cond179, %if.end178 + %107 = load i32, i32* %p_m_spec_chars, align 4 + %108 = load i8*, i8** %p, align 8 + %incdec.ptr180 = getelementptr inbounds i8, i8* %108, i32 1 + store i8* %incdec.ptr180, i8** %p, align 8 + %109 = load i8, i8* %incdec.ptr180, align 1 + %conv181 = sext i8 %109 to i32 + %cmp182 = icmp sgt i32 %107, %conv181 + br i1 %cmp182, label %while.cond179, label %while.end185 + +while.end185: ; preds = %while.cond179 + %110 = load i8*, i8** %p, align 8 + %sub.ptr.lhs.cast186 = ptrtoint i8* %110 to i64 + %sub.ptr.sub187 = sub i64 %sub.ptr.lhs.cast186, ptrtoint ([9 x i8]* @_ppfs_parsespec.spec_ranges to i64) + %conv188 = trunc i64 %sub.ptr.sub187 to i32 + store i32 %conv188, i32* %i, align 4 + %111 = load i32, i32* %dataargtype, align 4 + %112 = load i32, i32* %i, align 4 + %idxprom189 = sext i32 %112 to i64 + %arrayidx190 = getelementptr inbounds [8 x i16], [8 x i16]* @_ppfs_parsespec.spec_or_mask, i64 0, i64 %idxprom189 + %113 = load i16, i16* %arrayidx190, align 2 + %conv191 = sext i16 %113 to i32 + %or192 = or i32 %111, %conv191 + %114 = load i32, i32* %i, align 4 + %idxprom193 = sext i32 %114 to i64 + %arrayidx194 = getelementptr inbounds [8 x i16], [8 x i16]* @_ppfs_parsespec.spec_and_mask, i64 0, i64 %idxprom193 + %115 = load i16, i16* %arrayidx194, align 2 + %conv195 = sext i16 %115 to i32 + %and196 = and i32 %or192, %conv195 + %arrayidx197 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 2 + store i32 %and196, i32* %arrayidx197, align 4 + store i8* getelementptr inbounds ([21 x i8], [21 x i8]* @_ppfs_parsespec.spec_chars, i64 0, i64 0), i8** %p, align 8 + br label %do.end202 + +do.cond199: ; preds = %do.body162 + %incdec.ptr200 = getelementptr inbounds i8, i8* %101, i32 1 + store i8* %incdec.ptr200, i8** %p, align 8 + %116 = load i8, i8* %incdec.ptr200, align 1 + %tobool201 = icmp ne i8 %116, 0 + br i1 %tobool201, label %do.body162, label %do.end202 + +do.end202: ; preds = %do.cond199, %while.end185 + %117 = load i8*, i8** %fmt, align 8 + %118 = load i8, i8* %117, align 1 + %conv203 = sext i8 %118 to i32 + %119 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info204 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %119, i32 0, i32 1 + %spec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info204, i32 0, i32 2 + store i32 %conv203, i32* %spec, align 8 + %120 = load i32, i32* %preci, align 4 + %121 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info205 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %121, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info205, i32 0, i32 0 + store i32 %120, i32* %prec, align 8 + %122 = load i32, i32* %width, align 4 + %123 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info206 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %123, i32 0, i32 1 + %width207 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info206, i32 0, i32 1 + store i32 %122, i32* %width207, align 4 + %124 = load i32, i32* %flags, align 4 + %and208 = and i32 %124, 4 + %tobool209 = icmp ne i32 %and208, 0 + %125 = zext i1 %tobool209 to i64 + %cond = select i1 %tobool209, i32 48, i32 32 + %126 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info210 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %126, i32 0, i32 1 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info210, i32 0, i32 4 + store i32 %cond, i32* %pad, align 8 + %127 = load i32, i32* %flags, align 4 + %and211 = and i32 %127, -5 + %128 = load i32, i32* %dataargtype, align 4 + %and212 = and i32 %128, 3840 + %or213 = or i32 %and211, %and212 + %129 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info214 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %129, i32 0, i32 1 + %_flags215 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info214, i32 0, i32 3 + store i32 %or213, i32* %_flags215, align 4 + %130 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %130, i32 0, i32 3 + store i32 1, i32* %num_data_args, align 8 + %131 = load i8*, i8** %p, align 8 + %132 = load i8, i8* %131, align 1 + %tobool216 = icmp ne i8 %132, 0 + br i1 %tobool216, label %if.end218, label %if.then217 + +if.then217: ; preds = %do.end202 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end218: ; preds = %do.end202 + %133 = load i32, i32* %maxposarg, align 4 + %cmp219 = icmp sgt i32 %133, 0 + br i1 %cmp219, label %if.then221, label %if.else265 + +if.then221: ; preds = %if.end218 + store i32 0, i32* %i, align 4 + br label %do.body222 + +do.body222: ; preds = %do.cond258, %if.then221 + %134 = load i32, i32* %i, align 4 + %cmp223 = icmp sle i32 %134, 2 + br i1 %cmp223, label %cond.true, label %cond.false + +cond.true: ; preds = %do.body222 + %135 = load i32, i32* %i, align 4 + %idxprom225 = sext i32 %135 to i64 + %arrayidx226 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 %idxprom225 + %136 = load i32, i32* %arrayidx226, align 4 + %conv227 = trunc i32 %136 to i8 + %137 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber228 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %137, i32 0, i32 5 + %138 = load i32, i32* %i, align 4 + %idxprom229 = sext i32 %138 to i64 + %arrayidx230 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber228, i64 0, i64 %idxprom229 + store i8 %conv227, i8* %arrayidx230, align 1 + %conv231 = zext i8 %conv227 to i32 + br label %cond.end + +cond.false: ; preds = %do.body222 + %arrayidx232 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 2 + %139 = load i32, i32* %arrayidx232, align 4 + %140 = load i32, i32* %i, align 4 + %sub233 = sub nsw i32 %140, 2 + %add234 = add nsw i32 %139, %sub233 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond235 = phi i32 [ %conv231, %cond.true ], [ %add234, %cond.false ] + store i32 %cond235, i32* %n, align 4 + %141 = load i32, i32* %n, align 4 + %142 = load i32, i32* %maxposarg, align 4 + %cmp236 = icmp sgt i32 %141, %142 + br i1 %cmp236, label %if.then238, label %if.end243 + +if.then238: ; preds = %cond.end + %143 = load i32, i32* %n, align 4 + store i32 %143, i32* %maxposarg, align 4 + %cmp239 = icmp sgt i32 %143, 9 + br i1 %cmp239, label %if.then241, label %if.end243 + +if.then241: ; preds = %if.then238 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end243: ; preds = %if.then238, %cond.end + %144 = load i32, i32* %n, align 4 + %dec = add nsw i32 %144, -1 + store i32 %dec, i32* %n, align 4 + %145 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype244 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %145, i32 0, i32 6 + %146 = load i32, i32* %n, align 4 + %idxprom245 = sext i32 %146 to i64 + %arrayidx246 = getelementptr inbounds [9 x i32], [9 x i32]* %argtype244, i64 0, i64 %idxprom245 + %147 = load i32, i32* %arrayidx246, align 4 + %148 = load i32, i32* %i, align 4 + %idxprom247 = sext i32 %148 to i64 + %arrayidx248 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 %idxprom247 + %149 = load i32, i32* %arrayidx248, align 4 + %call249 = call i32 @_is_equal_or_bigger_arg(i32 %147, i32 %149) #19 + %tobool250 = icmp ne i32 %call249, 0 + br i1 %tobool250, label %if.then251, label %do.cond258 + +if.then251: ; preds = %if.end243 + %150 = load i32, i32* %i, align 4 + %idxprom252 = sext i32 %150 to i64 + %arrayidx253 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 %idxprom252 + %151 = load i32, i32* %arrayidx253, align 4 + %152 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype254 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %152, i32 0, i32 6 + %153 = load i32, i32* %n, align 4 + %idxprom255 = sext i32 %153 to i64 + %arrayidx256 = getelementptr inbounds [9 x i32], [9 x i32]* %argtype254, i64 0, i64 %idxprom255 + store i32 %151, i32* %arrayidx256, align 4 + br label %do.cond258 + +do.cond258: ; preds = %if.end243, %if.then251 + %154 = load i32, i32* %i, align 4 + %inc259 = add nsw i32 %154, 1 + store i32 %inc259, i32* %i, align 4 + %155 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args260 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %155, i32 0, i32 3 + %156 = load i32, i32* %num_data_args260, align 8 + %add261 = add nsw i32 %156, 2 + %cmp262 = icmp slt i32 %inc259, %add261 + br i1 %cmp262, label %do.body222, label %if.end276 + +if.else265: ; preds = %if.end218 + %157 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber266 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %157, i32 0, i32 5 + %arrayidx267 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber266, i64 0, i64 2 + store i8 1, i8* %arrayidx267, align 2 + %158 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype268 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %158, i32 0, i32 6 + %arraydecay269 = getelementptr inbounds [9 x i32], [9 x i32]* %argtype268, i64 0, i64 0 + %159 = bitcast i32* %arraydecay269 to i8* + %arraydecay270 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 0 + %add.ptr271 = getelementptr inbounds i32, i32* %arraydecay270, i64 2 + %160 = bitcast i32* %add.ptr271 to i8* + %161 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args272 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %161, i32 0, i32 3 + %162 = load i32, i32* %num_data_args272, align 8 + %conv273 = sext i32 %162 to i64 + %mul274 = mul i64 %conv273, 4 + %call275 = call i8* @memcpy(i8* %159, i8* %160, i64 %mul274) #20 + br label %if.end276 + +if.end276: ; preds = %do.cond258, %if.else265 + %163 = load i32, i32* %maxposarg, align 4 + %164 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg277 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %164, i32 0, i32 2 + store i32 %163, i32* %maxposarg277, align 4 + %165 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info278 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %165, i32 0, i32 1 + %_flags279 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info278, i32 0, i32 3 + %166 = load i32, i32* %_flags279, align 4 + %and280 = and i32 %166, 128 + store i32 %and280, i32* %flags, align 4 + %cmp281 = icmp eq i32 %and280, 0 + br i1 %cmp281, label %if.then283, label %if.else286 + +if.then283: ; preds = %if.end276 + %167 = load i8*, i8** %fmt, align 8 + %incdec.ptr284 = getelementptr inbounds i8, i8* %167, i32 1 + store i8* %incdec.ptr284, i8** %fmt, align 8 + %168 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos285 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %168, i32 0, i32 0 + store i8* %incdec.ptr284, i8** %fmtpos285, align 8 + br label %if.end293 + +if.else286: ; preds = %if.end276 + %169 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos287 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %169, i32 0, i32 0 + %170 = load i8*, i8** %fmtpos287, align 8 + %171 = bitcast i8* %170 to i32* + %172 = load i8*, i8** %fmt, align 8 + %arraydecay288 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 0 + %sub.ptr.lhs.cast289 = ptrtoint i8* %172 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %arraydecay288 to i64 + %sub.ptr.sub290 = sub i64 %sub.ptr.lhs.cast289, %sub.ptr.rhs.cast + %add.ptr291 = getelementptr inbounds i32, i32* %171, i64 %sub.ptr.sub290 + %173 = bitcast i32* %add.ptr291 to i8* + %174 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos292 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %174, i32 0, i32 0 + store i8* %173, i8** %fmtpos292, align 8 + br label %if.end293 + +if.end293: ; preds = %if.else286, %if.then283 + %175 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args294 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %175, i32 0, i32 3 + %176 = load i32, i32* %num_data_args294, align 8 + %add295 = add nsw i32 %176, 2 + store i32 %add295, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end293, %if.then241, %if.then217, %if.then160, %if.then120, %if.then111, %if.then66, %if.then56, %if.then16 + %177 = load i32, i32* %retval, align 4 + ret i32 %177 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_is_equal_or_bigger_arg(i32 %curtype, i32 %newtype) #0 { +entry: + %retval = alloca i32, align 4 + %curtype.addr = alloca i32, align 4 + %newtype.addr = alloca i32, align 4 + store i32 %curtype, i32* %curtype.addr, align 4 + store i32 %newtype, i32* %newtype.addr, align 4 + %0 = load i32, i32* %newtype.addr, align 4 + %cmp = icmp eq i32 %0, 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %1 = load i32, i32* %curtype.addr, align 4 + %cmp1 = icmp eq i32 %1, 8 + br i1 %cmp1, label %if.then3, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %2 = load i32, i32* %curtype.addr, align 4 + %3 = load i32, i32* %newtype.addr, align 4 + %cmp2 = icmp eq i32 %2, %3 + br i1 %cmp2, label %if.then3, label %if.end4 + +if.then3: ; preds = %lor.lhs.false, %if.end + store i32 1, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %lor.lhs.false + %4 = load i32, i32* %curtype.addr, align 4 + %call = call i32 @_promoted_size(i32 %4) #19 + %5 = load i32, i32* %newtype.addr, align 4 + %call5 = call i32 @_promoted_size(i32 %5) #19 + %cmp6 = icmp sle i32 %call, %call5 + %conv = zext i1 %cmp6 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_promoted_size(i32 %argtype) #0 { +entry: + %argtype.addr = alloca i32, align 4 + %p = alloca i16*, align 8 + store i32 %argtype, i32* %argtype.addr, align 4 + store i16* getelementptr inbounds (i16, i16* getelementptr inbounds ([12 x i16], [12 x i16]* @type_codes, i64 0, i64 0), i64 12), i16** %p, align 8 + br label %do.body + +do.body: ; preds = %do.body, %entry + %0 = load i16*, i16** %p, align 8 + %incdec.ptr = getelementptr inbounds i16, i16* %0, i32 -1 + store i16* %incdec.ptr, i16** %p, align 8 + %1 = load i16, i16* %incdec.ptr, align 2 + %conv = sext i16 %1 to i32 + %2 = load i32, i32* %argtype.addr, align 4 + %cmp = icmp ne i32 %conv, %2 + %3 = load i16*, i16** %p, align 8 + %cmp2 = icmp ugt i16* %3, getelementptr inbounds ([12 x i16], [12 x i16]* @type_codes, i64 0, i64 0) + %or.cond = and i1 %cmp, %cmp2 + br i1 %or.cond, label %do.body, label %do.end + +do.end: ; preds = %do.body + %4 = load i16*, i16** %p, align 8 + %sub.ptr.lhs.cast = ptrtoint i16* %4 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, ptrtoint ([12 x i16]* @type_codes to i64) + %sub.ptr.div = sdiv exact i64 %sub.ptr.sub, 2 + %conv4 = trunc i64 %sub.ptr.div to i32 + %idxprom = sext i32 %conv4 to i64 + %arrayidx = getelementptr inbounds [12 x i8], [12 x i8]* @type_sizes, i64 0, i64 %idxprom + %5 = load i8, i8* %arrayidx, align 1 + %conv5 = zext i8 %5 to i32 + ret i32 %conv5 +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_ppfs_prepargs(%struct.ppfs_t.722* %ppfs, %struct.__va_list_tag.0* %arg) #0 { +entry: + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %arg.addr = alloca %struct.__va_list_tag.0*, align 8 + %i = alloca i32, align 4 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store %struct.__va_list_tag.0* %arg, %struct.__va_list_tag.0** %arg.addr, align 8 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg1 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %0, i32 0, i32 7 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg1, i64 0, i64 0 + %1 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %arg.addr, align 8 + %2 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + %3 = bitcast %struct.__va_list_tag.0* %1 to i8* + %vacopy.cast.dst = bitcast i8* %2 to i64* + %vacopy.cast.src = bitcast i8* %3 to i64* + %4 = load i64, i64* %vacopy.cast.src, align 8 + store volatile i64 %4, i64* %vacopy.cast.dst, align 8 + %5 = getelementptr i64, i64* %vacopy.cast.dst, i64 1 + %6 = getelementptr i64, i64* %vacopy.cast.src, i64 1 + %7 = load i64, i64* %6, align 8 + store i64 %7, i64* %5, align 8 + %8 = getelementptr i64, i64* %5, i64 1 + %9 = getelementptr i64, i64* %6, i64 1 + %10 = load i64, i64* %9, align 8 + store i64 %10, i64* %8, align 8 + %11 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %11, i32 0, i32 2 + %12 = load i32, i32* %maxposarg, align 4 + store i32 %12, i32* %i, align 4 + %cmp = icmp sgt i32 %12, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %13 = load i32, i32* %i, align 4 + %14 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %14, i32 0, i32 3 + store i32 %13, i32* %num_data_args, align 8 + %15 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg2 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %15, i32 0, i32 2 + store i32 0, i32* %maxposarg2, align 4 + %16 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %16, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 0 + store i32 0, i32* %prec, align 8 + %17 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info3 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %17, i32 0, i32 1 + %width = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info3, i32 0, i32 1 + store i32 0, i32* %width, align 4 + %18 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + call void @_ppfs_setargs(%struct.ppfs_t.722* %18) #19 + %19 = load i32, i32* %i, align 4 + %20 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg4 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %20, i32 0, i32 2 + store i32 %19, i32* %maxposarg4, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + ret void +} + +; Function Attrs: nounwind +declare void @llvm.va_copy(i8*, i8*) #11 + +; Function Attrs: noinline nounwind uwtable +define hidden void @_ppfs_setargs(%struct.ppfs_t.722* %ppfs) #0 { +entry: + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %p = alloca %union.anon.193*, align 8 + %i = alloca i32, align 4 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argvalue = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %0, i32 0, i32 8 + %arraydecay = getelementptr inbounds [9 x %union.anon.193], [9 x %union.anon.193]* %argvalue, i64 0, i64 0 + store %union.anon.193* %arraydecay, %union.anon.193** %p, align 8 + %1 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %1, i32 0, i32 2 + %2 = load i32, i32* %maxposarg, align 4 + %cmp = icmp eq i32 %2, 0 + %3 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %3, i32 0, i32 1 + %width = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 1 + %4 = load i32, i32* %width, align 4 + %cmp1 = icmp eq i32 %4, -2147483648 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + br i1 %cmp1, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + %5 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %5, i32 0, i32 7 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 8 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then2 + %6 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 3 + %reg_save_area = load i8*, i8** %6, align 8 + %7 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %8 = bitcast i8* %7 to i32* + %9 = add i32 %gp_offset, 8 + store i32 %9, i32* %gp_offset_p, align 8 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then2 + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %10 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %8, %vaarg.in_reg ], [ %10, %vaarg.in_mem ] + %11 = load i32, i32* %vaarg.addr, align 4 + %12 = load %union.anon.193*, %union.anon.193** %p, align 8 + %u = bitcast %union.anon.193* %12 to i32* + store i32 %11, i32* %u, align 8 + %13 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info4 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %13, i32 0, i32 1 + %width5 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info4, i32 0, i32 1 + store i32 %11, i32* %width5, align 4 + br label %if.end + +if.end: ; preds = %vaarg.end, %if.then + %14 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info6 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %14, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info6, i32 0, i32 0 + %15 = load i32, i32* %prec, align 8 + %cmp7 = icmp eq i32 %15, -2147483648 + br i1 %cmp7, label %if.then8, label %if.end25 + +if.then8: ; preds = %if.end + %16 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg9 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %16, i32 0, i32 7 + %arraydecay10 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg9, i64 0, i64 0 + %gp_offset_p11 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay10, i32 0, i32 0 + %gp_offset12 = load i32, i32* %gp_offset_p11, align 8 + %fits_in_gp13 = icmp ule i32 %gp_offset12, 40 + br i1 %fits_in_gp13, label %vaarg.in_reg14, label %vaarg.in_mem16 + +vaarg.in_reg14: ; preds = %if.then8 + %17 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay10, i32 0, i32 3 + %reg_save_area15 = load i8*, i8** %17, align 8 + %18 = getelementptr i8, i8* %reg_save_area15, i32 %gp_offset12 + %19 = bitcast i8* %18 to i32* + %20 = add i32 %gp_offset12, 8 + store i32 %20, i32* %gp_offset_p11, align 8 + br label %vaarg.end20 + +vaarg.in_mem16: ; preds = %if.then8 + %overflow_arg_area_p17 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay10, i32 0, i32 2 + %overflow_arg_area18 = load i8*, i8** %overflow_arg_area_p17, align 8 + %21 = bitcast i8* %overflow_arg_area18 to i32* + %overflow_arg_area.next19 = getelementptr i8, i8* %overflow_arg_area18, i32 8 + store i8* %overflow_arg_area.next19, i8** %overflow_arg_area_p17, align 8 + br label %vaarg.end20 + +vaarg.end20: ; preds = %vaarg.in_mem16, %vaarg.in_reg14 + %vaarg.addr21 = phi i32* [ %19, %vaarg.in_reg14 ], [ %21, %vaarg.in_mem16 ] + %22 = load i32, i32* %vaarg.addr21, align 4 + %23 = load %union.anon.193*, %union.anon.193** %p, align 8 + %u22 = bitcast %union.anon.193* %23 to i32* + store i32 %22, i32* %u22, align 8 + %24 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info23 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %24, i32 0, i32 1 + %prec24 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info23, i32 0, i32 0 + store i32 %22, i32* %prec24, align 8 + br label %if.end25 + +if.end25: ; preds = %vaarg.end20, %if.end + store i32 0, i32* %i, align 4 + br label %while.cond + +while.cond: ; preds = %NodeBlock, %sw.epilog, %if.end25 + %25 = load i32, i32* %i, align 4 + %26 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %26, i32 0, i32 3 + %27 = load i32, i32* %num_data_args, align 8 + %cmp26 = icmp slt i32 %25, %27 + br i1 %cmp26, label %while.body, label %if.end149 + +while.body: ; preds = %while.cond + %28 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %28, i32 0, i32 6 + %29 = load i32, i32* %i, align 4 + %inc = add nsw i32 %29, 1 + store i32 %inc, i32* %i, align 4 + %idxprom = sext i32 %29 to i64 + %arrayidx = getelementptr inbounds [9 x i32], [9 x i32]* %argtype, i64 0, i64 %idxprom + %30 = load i32, i32* %arrayidx, align 4 + br label %NodeBlock17 + +NodeBlock17: ; preds = %while.body + %case.cmp18 = icmp eq i32 %30, 2048 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %30, 1024 + br i1 %case.cmp16, label %sw.bb40, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %30, 1 + br i1 %case.cmp14, label %sw.bb54, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %30, 256 + br i1 %case.cmp12, label %sw.bb54, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %30, 512 + br i1 %case.cmp10, label %sw.bb54, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %30, 0 + br i1 %case.cmp8, label %sw.bb54, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %30, 2 + br i1 %case.cmp6, label %sw.bb69, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %30, 7 + br i1 %case.cmp4, label %sw.bb83, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %30, 2055 + br i1 %case.cmp2, label %sw.bb94, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %30, 8 + br i1 %case.cmp, label %while.cond, label %newDefault + +sw.bb: ; preds = %NodeBlock17 + %31 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg27 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %31, i32 0, i32 7 + %arraydecay28 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg27, i64 0, i64 0 + %gp_offset_p29 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay28, i32 0, i32 0 + %gp_offset30 = load i32, i32* %gp_offset_p29, align 8 + %fits_in_gp31 = icmp ule i32 %gp_offset30, 40 + br i1 %fits_in_gp31, label %vaarg.in_reg32, label %vaarg.in_mem34 + +vaarg.in_reg32: ; preds = %sw.bb + %32 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay28, i32 0, i32 3 + %reg_save_area33 = load i8*, i8** %32, align 8 + %33 = getelementptr i8, i8* %reg_save_area33, i32 %gp_offset30 + %34 = bitcast i8* %33 to i64* + %35 = add i32 %gp_offset30, 8 + store i32 %35, i32* %gp_offset_p29, align 8 + br label %vaarg.end38 + +vaarg.in_mem34: ; preds = %sw.bb + %overflow_arg_area_p35 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay28, i32 0, i32 2 + %overflow_arg_area36 = load i8*, i8** %overflow_arg_area_p35, align 8 + %36 = bitcast i8* %overflow_arg_area36 to i64* + %overflow_arg_area.next37 = getelementptr i8, i8* %overflow_arg_area36, i32 8 + store i8* %overflow_arg_area.next37, i8** %overflow_arg_area_p35, align 8 + br label %vaarg.end38 + +vaarg.end38: ; preds = %vaarg.in_mem34, %vaarg.in_reg32 + %vaarg.addr39 = phi i64* [ %34, %vaarg.in_reg32 ], [ %36, %vaarg.in_mem34 ] + %37 = load i64, i64* %vaarg.addr39, align 8 + %38 = load %union.anon.193*, %union.anon.193** %p, align 8 + %ull = bitcast %union.anon.193* %38 to i64* + store i64 %37, i64* %ull, align 8 + br label %sw.epilog + +sw.bb40: ; preds = %NodeBlock15 + %39 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg41 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %39, i32 0, i32 7 + %arraydecay42 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg41, i64 0, i64 0 + %gp_offset_p43 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay42, i32 0, i32 0 + %gp_offset44 = load i32, i32* %gp_offset_p43, align 8 + %fits_in_gp45 = icmp ule i32 %gp_offset44, 40 + br i1 %fits_in_gp45, label %vaarg.in_reg46, label %vaarg.in_mem48 + +vaarg.in_reg46: ; preds = %sw.bb40 + %40 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay42, i32 0, i32 3 + %reg_save_area47 = load i8*, i8** %40, align 8 + %41 = getelementptr i8, i8* %reg_save_area47, i32 %gp_offset44 + %42 = bitcast i8* %41 to i64* + %43 = add i32 %gp_offset44, 8 + store i32 %43, i32* %gp_offset_p43, align 8 + br label %vaarg.end52 + +vaarg.in_mem48: ; preds = %sw.bb40 + %overflow_arg_area_p49 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay42, i32 0, i32 2 + %overflow_arg_area50 = load i8*, i8** %overflow_arg_area_p49, align 8 + %44 = bitcast i8* %overflow_arg_area50 to i64* + %overflow_arg_area.next51 = getelementptr i8, i8* %overflow_arg_area50, i32 8 + store i8* %overflow_arg_area.next51, i8** %overflow_arg_area_p49, align 8 + br label %vaarg.end52 + +vaarg.end52: ; preds = %vaarg.in_mem48, %vaarg.in_reg46 + %vaarg.addr53 = phi i64* [ %42, %vaarg.in_reg46 ], [ %44, %vaarg.in_mem48 ] + %45 = load i64, i64* %vaarg.addr53, align 8 + %46 = load %union.anon.193*, %union.anon.193** %p, align 8 + %ul = bitcast %union.anon.193* %46 to i64* + store i64 %45, i64* %ul, align 8 + br label %sw.epilog + +sw.bb54: ; preds = %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7 + %47 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg55 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %47, i32 0, i32 7 + %arraydecay56 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg55, i64 0, i64 0 + %gp_offset_p57 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay56, i32 0, i32 0 + %gp_offset58 = load i32, i32* %gp_offset_p57, align 8 + %fits_in_gp59 = icmp ule i32 %gp_offset58, 40 + br i1 %fits_in_gp59, label %vaarg.in_reg60, label %vaarg.in_mem62 + +vaarg.in_reg60: ; preds = %sw.bb54 + %48 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay56, i32 0, i32 3 + %reg_save_area61 = load i8*, i8** %48, align 8 + %49 = getelementptr i8, i8* %reg_save_area61, i32 %gp_offset58 + %50 = bitcast i8* %49 to i32* + %51 = add i32 %gp_offset58, 8 + store i32 %51, i32* %gp_offset_p57, align 8 + br label %vaarg.end66 + +vaarg.in_mem62: ; preds = %sw.bb54 + %overflow_arg_area_p63 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay56, i32 0, i32 2 + %overflow_arg_area64 = load i8*, i8** %overflow_arg_area_p63, align 8 + %52 = bitcast i8* %overflow_arg_area64 to i32* + %overflow_arg_area.next65 = getelementptr i8, i8* %overflow_arg_area64, i32 8 + store i8* %overflow_arg_area.next65, i8** %overflow_arg_area_p63, align 8 + br label %vaarg.end66 + +vaarg.end66: ; preds = %vaarg.in_mem62, %vaarg.in_reg60 + %vaarg.addr67 = phi i32* [ %50, %vaarg.in_reg60 ], [ %52, %vaarg.in_mem62 ] + %53 = load i32, i32* %vaarg.addr67, align 4 + %54 = load %union.anon.193*, %union.anon.193** %p, align 8 + %u68 = bitcast %union.anon.193* %54 to i32* + store i32 %53, i32* %u68, align 8 + br label %sw.epilog + +sw.bb69: ; preds = %NodeBlock5 + %55 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg70 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %55, i32 0, i32 7 + %arraydecay71 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg70, i64 0, i64 0 + %gp_offset_p72 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay71, i32 0, i32 0 + %gp_offset73 = load i32, i32* %gp_offset_p72, align 8 + %fits_in_gp74 = icmp ule i32 %gp_offset73, 40 + br i1 %fits_in_gp74, label %vaarg.in_reg75, label %vaarg.in_mem77 + +vaarg.in_reg75: ; preds = %sw.bb69 + %56 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay71, i32 0, i32 3 + %reg_save_area76 = load i8*, i8** %56, align 8 + %57 = getelementptr i8, i8* %reg_save_area76, i32 %gp_offset73 + %58 = bitcast i8* %57 to i32* + %59 = add i32 %gp_offset73, 8 + store i32 %59, i32* %gp_offset_p72, align 8 + br label %vaarg.end81 + +vaarg.in_mem77: ; preds = %sw.bb69 + %overflow_arg_area_p78 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay71, i32 0, i32 2 + %overflow_arg_area79 = load i8*, i8** %overflow_arg_area_p78, align 8 + %60 = bitcast i8* %overflow_arg_area79 to i32* + %overflow_arg_area.next80 = getelementptr i8, i8* %overflow_arg_area79, i32 8 + store i8* %overflow_arg_area.next80, i8** %overflow_arg_area_p78, align 8 + br label %vaarg.end81 + +vaarg.end81: ; preds = %vaarg.in_mem77, %vaarg.in_reg75 + %vaarg.addr82 = phi i32* [ %58, %vaarg.in_reg75 ], [ %60, %vaarg.in_mem77 ] + %61 = load i32, i32* %vaarg.addr82, align 4 + %62 = load %union.anon.193*, %union.anon.193** %p, align 8 + %wc = bitcast %union.anon.193* %62 to i32* + store i32 %61, i32* %wc, align 8 + br label %sw.epilog + +sw.bb83: ; preds = %NodeBlock3 + %63 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg84 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %63, i32 0, i32 7 + %arraydecay85 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg84, i64 0, i64 0 + %fp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay85, i32 0, i32 1 + %fp_offset = load i32, i32* %fp_offset_p, align 4 + %fits_in_fp = icmp ule i32 %fp_offset, 160 + br i1 %fits_in_fp, label %vaarg.in_reg86, label %vaarg.in_mem88 + +vaarg.in_reg86: ; preds = %sw.bb83 + %64 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay85, i32 0, i32 3 + %reg_save_area87 = load i8*, i8** %64, align 8 + %65 = getelementptr i8, i8* %reg_save_area87, i32 %fp_offset + %66 = bitcast i8* %65 to double* + %67 = add i32 %fp_offset, 16 + store i32 %67, i32* %fp_offset_p, align 4 + br label %vaarg.end92 + +vaarg.in_mem88: ; preds = %sw.bb83 + %overflow_arg_area_p89 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay85, i32 0, i32 2 + %overflow_arg_area90 = load i8*, i8** %overflow_arg_area_p89, align 8 + %68 = bitcast i8* %overflow_arg_area90 to double* + %overflow_arg_area.next91 = getelementptr i8, i8* %overflow_arg_area90, i32 8 + store i8* %overflow_arg_area.next91, i8** %overflow_arg_area_p89, align 8 + br label %vaarg.end92 + +vaarg.end92: ; preds = %vaarg.in_mem88, %vaarg.in_reg86 + %vaarg.addr93 = phi double* [ %66, %vaarg.in_reg86 ], [ %68, %vaarg.in_mem88 ] + %69 = load double, double* %vaarg.addr93, align 8 + %70 = load %union.anon.193*, %union.anon.193** %p, align 8 + %d = bitcast %union.anon.193* %70 to double* + store double %69, double* %d, align 8 + br label %sw.epilog + +sw.bb94: ; preds = %NodeBlock1 + %71 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg95 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %71, i32 0, i32 7 + %arraydecay96 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg95, i64 0, i64 0 + %fp_offset_p97 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay96, i32 0, i32 1 + %fp_offset98 = load i32, i32* %fp_offset_p97, align 4 + %fits_in_fp99 = icmp ule i32 %fp_offset98, 160 + br i1 %fits_in_fp99, label %vaarg.in_reg100, label %vaarg.in_mem102 + +vaarg.in_reg100: ; preds = %sw.bb94 + %72 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay96, i32 0, i32 3 + %reg_save_area101 = load i8*, i8** %72, align 8 + %73 = getelementptr i8, i8* %reg_save_area101, i32 %fp_offset98 + %74 = bitcast i8* %73 to double* + %75 = add i32 %fp_offset98, 16 + store i32 %75, i32* %fp_offset_p97, align 4 + br label %vaarg.end106 + +vaarg.in_mem102: ; preds = %sw.bb94 + %overflow_arg_area_p103 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay96, i32 0, i32 2 + %overflow_arg_area104 = load i8*, i8** %overflow_arg_area_p103, align 8 + %76 = bitcast i8* %overflow_arg_area104 to double* + %overflow_arg_area.next105 = getelementptr i8, i8* %overflow_arg_area104, i32 8 + store i8* %overflow_arg_area.next105, i8** %overflow_arg_area_p103, align 8 + br label %vaarg.end106 + +vaarg.end106: ; preds = %vaarg.in_mem102, %vaarg.in_reg100 + %vaarg.addr107 = phi double* [ %74, %vaarg.in_reg100 ], [ %76, %vaarg.in_mem102 ] + %77 = load double, double* %vaarg.addr107, align 8 + %78 = load %union.anon.193*, %union.anon.193** %p, align 8 + %ld = bitcast %union.anon.193* %78 to double* + store double %77, double* %ld, align 8 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.bb108 + +sw.bb108: ; preds = %newDefault + %79 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg109 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %79, i32 0, i32 7 + %arraydecay110 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg109, i64 0, i64 0 + %gp_offset_p111 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay110, i32 0, i32 0 + %gp_offset112 = load i32, i32* %gp_offset_p111, align 8 + %fits_in_gp113 = icmp ule i32 %gp_offset112, 40 + br i1 %fits_in_gp113, label %vaarg.in_reg114, label %vaarg.in_mem116 + +vaarg.in_reg114: ; preds = %sw.bb108 + %80 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay110, i32 0, i32 3 + %reg_save_area115 = load i8*, i8** %80, align 8 + %81 = getelementptr i8, i8* %reg_save_area115, i32 %gp_offset112 + %82 = bitcast i8* %81 to i8** + %83 = add i32 %gp_offset112, 8 + store i32 %83, i32* %gp_offset_p111, align 8 + br label %vaarg.end120 + +vaarg.in_mem116: ; preds = %sw.bb108 + %overflow_arg_area_p117 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay110, i32 0, i32 2 + %overflow_arg_area118 = load i8*, i8** %overflow_arg_area_p117, align 8 + %84 = bitcast i8* %overflow_arg_area118 to i8** + %overflow_arg_area.next119 = getelementptr i8, i8* %overflow_arg_area118, i32 8 + store i8* %overflow_arg_area.next119, i8** %overflow_arg_area_p117, align 8 + br label %vaarg.end120 + +vaarg.end120: ; preds = %vaarg.in_mem116, %vaarg.in_reg114 + %vaarg.addr121 = phi i8** [ %82, %vaarg.in_reg114 ], [ %84, %vaarg.in_mem116 ] + %85 = load i8*, i8** %vaarg.addr121, align 8 + %86 = load %union.anon.193*, %union.anon.193** %p, align 8 + %p122 = bitcast %union.anon.193* %86 to i8** + store i8* %85, i8** %p122, align 8 + br label %sw.epilog + +sw.epilog: ; preds = %vaarg.end120, %vaarg.end106, %vaarg.end92, %vaarg.end81, %vaarg.end66, %vaarg.end52, %vaarg.end38 + %87 = load %union.anon.193*, %union.anon.193** %p, align 8 + %incdec.ptr = getelementptr inbounds %union.anon.193, %union.anon.193* %87, i32 1 + store %union.anon.193* %incdec.ptr, %union.anon.193** %p, align 8 + br label %while.cond + +if.else: ; preds = %entry + br i1 %cmp1, label %if.then127, label %if.end133 + +if.then127: ; preds = %if.else + %88 = load %union.anon.193*, %union.anon.193** %p, align 8 + %89 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %89, i32 0, i32 5 + %arrayidx128 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber, i64 0, i64 0 + %90 = load i8, i8* %arrayidx128, align 8 + %conv = zext i8 %90 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds %union.anon.193, %union.anon.193* %88, i64 %idx.ext + %add.ptr129 = getelementptr inbounds %union.anon.193, %union.anon.193* %add.ptr, i64 -1 + %u130 = bitcast %union.anon.193* %add.ptr129 to i32* + %91 = load i32, i32* %u130, align 8 + %92 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info131 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %92, i32 0, i32 1 + %width132 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info131, i32 0, i32 1 + store i32 %91, i32* %width132, align 4 + br label %if.end133 + +if.end133: ; preds = %if.then127, %if.else + %93 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info134 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %93, i32 0, i32 1 + %prec135 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info134, i32 0, i32 0 + %94 = load i32, i32* %prec135, align 8 + %cmp136 = icmp eq i32 %94, -2147483648 + br i1 %cmp136, label %if.then138, label %if.end149 + +if.then138: ; preds = %if.end133 + %95 = load %union.anon.193*, %union.anon.193** %p, align 8 + %96 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber139 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %96, i32 0, i32 5 + %arrayidx140 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber139, i64 0, i64 1 + %97 = load i8, i8* %arrayidx140, align 1 + %conv141 = zext i8 %97 to i32 + %idx.ext142 = sext i32 %conv141 to i64 + %add.ptr143 = getelementptr inbounds %union.anon.193, %union.anon.193* %95, i64 %idx.ext142 + %add.ptr144 = getelementptr inbounds %union.anon.193, %union.anon.193* %add.ptr143, i64 -1 + %u145 = bitcast %union.anon.193* %add.ptr144 to i32* + %98 = load i32, i32* %u145, align 8 + %99 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info146 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %99, i32 0, i32 1 + %prec147 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info146, i32 0, i32 0 + store i32 %98, i32* %prec147, align 8 + br label %if.end149 + +if.end149: ; preds = %if.end133, %if.then138, %while.cond + %100 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info150 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %100, i32 0, i32 1 + %width151 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info150, i32 0, i32 1 + %101 = load i32, i32* %width151, align 4 + %cmp152 = icmp slt i32 %101, 0 + br i1 %cmp152, label %if.then154, label %if.end163 + +if.then154: ; preds = %if.end149 + %102 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info155 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %102, i32 0, i32 1 + %width156 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info155, i32 0, i32 1 + %103 = load i32, i32* %width156, align 4 + %sub = sub nsw i32 0, %103 + %104 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info157 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %104, i32 0, i32 1 + %width158 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info157, i32 0, i32 1 + store i32 %sub, i32* %width158, align 4 + %105 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info159 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %105, i32 0, i32 1 + %_flags = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info159, i32 0, i32 3 + %106 = load i32, i32* %_flags, align 4 + %or = or i32 %106, 8 + store i32 %or, i32* %_flags, align 4 + %107 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info160 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %107, i32 0, i32 1 + %_flags161 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info160, i32 0, i32 3 + %108 = load i32, i32* %_flags161, align 4 + %and = and i32 %108, -2 + store i32 %and, i32* %_flags161, align 4 + %109 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info162 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %109, i32 0, i32 1 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info162, i32 0, i32 4 + store i32 32, i32* %pad, align 8 + br label %if.end163 + +if.end163: ; preds = %if.then154, %if.end149 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_store_inttype(i8* %dest, i32 %desttype, i64 %val) #0 { +entry: + %dest.addr = alloca i8*, align 8 + %desttype.addr = alloca i32, align 4 + %val.addr = alloca i64, align 8 + store i8* %dest, i8** %dest.addr, align 8 + store i32 %desttype, i32* %desttype.addr, align 4 + store i64 %val, i64* %val.addr, align 8 + %0 = load i32, i32* %desttype.addr, align 4 + %cmp = icmp eq i32 %0, 256 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load i64, i64* %val.addr, align 8 + %conv = trunc i64 %1 to i8 + %2 = load i8*, i8** %dest.addr, align 8 + store i8 %conv, i8* %2, align 1 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* %desttype.addr, align 4 + %cmp1 = icmp eq i32 %3, 2048 + br i1 %cmp1, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.end + %4 = load i64, i64* %val.addr, align 8 + %5 = load i8*, i8** %dest.addr, align 8 + %6 = bitcast i8* %5 to i64* + store i64 %4, i64* %6, align 8 + br label %return + +if.end4: ; preds = %if.end + %7 = load i32, i32* %desttype.addr, align 4 + %cmp5 = icmp eq i32 %7, 512 + br i1 %cmp5, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end4 + %8 = load i64, i64* %val.addr, align 8 + %conv8 = trunc i64 %8 to i16 + %9 = load i8*, i8** %dest.addr, align 8 + %10 = bitcast i8* %9 to i16* + store i16 %conv8, i16* %10, align 2 + br label %return + +if.end9: ; preds = %if.end4 + %11 = load i32, i32* %desttype.addr, align 4 + %cmp10 = icmp eq i32 %11, 1024 + %12 = load i64, i64* %val.addr, align 8 + br i1 %cmp10, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.end9 + %13 = load i8*, i8** %dest.addr, align 8 + %14 = bitcast i8* %13 to i64* + store i64 %12, i64* %14, align 8 + br label %return + +if.end13: ; preds = %if.end9 + %conv14 = trunc i64 %12 to i32 + %15 = load i8*, i8** %dest.addr, align 8 + %16 = bitcast i8* %15 to i32* + store i32 %conv14, i32* %16, align 4 + br label %return + +return: ; preds = %if.end13, %if.then12, %if.then7, %if.then3, %if.then + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden i8* @_uintmaxtostr(i8* noalias %bufend, i64 %uval, i32 %base, i32 %alphacase) #0 { +entry: + %bufend.addr = alloca i8*, align 8 + %uval.addr = alloca i64, align 8 + %base.addr = alloca i32, align 4 + %alphacase.addr = alloca i32, align 4 + %negative = alloca i32, align 4 + %digit = alloca i32, align 4 + %H = alloca i32, align 4 + %L = alloca i32, align 4 + %high = alloca i32, align 4 + %low = alloca i32, align 4 + %rh = alloca i32, align 4 + %grouping = alloca i32, align 4 + %outdigit = alloca i32, align 4 + %g = alloca i8*, align 8 + store i8* %bufend, i8** %bufend.addr, align 8 + store i64 %uval, i64* %uval.addr, align 8 + store i32 %base, i32* %base.addr, align 4 + store i32 %alphacase, i32* %alphacase.addr, align 4 + store i32 0, i32* %negative, align 4 + %0 = load i32, i32* %base.addr, align 4 + %cmp = icmp slt i32 %0, 0 + br i1 %cmp, label %if.then, label %if.end4 + +if.then: ; preds = %entry + %1 = load i32, i32* %base.addr, align 4 + %sub = sub nsw i32 0, %1 + store i32 %sub, i32* %base.addr, align 4 + %2 = load i64, i64* %uval.addr, align 8 + %cmp1 = icmp ugt i64 %2, 9223372036854775807 + br i1 %cmp1, label %if.then2, label %if.end4 + +if.then2: ; preds = %if.then + %3 = load i64, i64* %uval.addr, align 8 + %sub3 = sub i64 0, %3 + store i64 %sub3, i64* %uval.addr, align 8 + store i32 1, i32* %negative, align 4 + br label %if.end4 + +if.end4: ; preds = %if.then, %if.then2, %entry + store i32 -1, i32* %grouping, align 4 + %4 = load i32, i32* %alphacase.addr, align 4 + %and = and i32 128, %4 + store i32 %and, i32* %outdigit, align 4 + %5 = load i32, i32* %outdigit, align 4 + %6 = load i32, i32* %alphacase.addr, align 4 + %xor = xor i32 %6, %5 + store i32 %xor, i32* %alphacase.addr, align 4 + %7 = load i32, i32* %alphacase.addr, align 4 + %cmp5 = icmp eq i32 %7, 44 + br i1 %cmp5, label %if.then6, label %if.end10 + +if.then6: ; preds = %if.end4 + %8 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %grouping7 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %8, i32 0, i32 41 + %9 = load i8*, i8** %grouping7, align 8 + store i8* %9, i8** %g, align 8 + %10 = load i8, i8* %9, align 1 + %tobool = icmp ne i8 %10, 0 + br i1 %tobool, label %if.then8, label %if.end10 + +if.then8: ; preds = %if.then6 + %11 = load i8*, i8** %g, align 8 + %12 = load i8, i8* %11, align 1 + %conv = sext i8 %12 to i32 + store i32 %conv, i32* %grouping, align 4 + br label %if.end10 + +if.end10: ; preds = %if.then6, %if.then8, %if.end4 + %13 = load i8*, i8** %bufend.addr, align 8 + store i8 0, i8* %13, align 1 + %14 = load i32, i32* %base.addr, align 4 + %div = udiv i32 -1, %14 + store i32 %div, i32* %H, align 4 + %15 = load i32, i32* %base.addr, align 4 + %rem = urem i32 -1, %15 + %add = add i32 %rem, 1 + store i32 %add, i32* %L, align 4 + %16 = load i32, i32* %L, align 4 + %17 = load i32, i32* %base.addr, align 4 + %cmp11 = icmp eq i32 %16, %17 + br i1 %cmp11, label %if.then13, label %if.end14 + +if.then13: ; preds = %if.end10 + %18 = load i32, i32* %H, align 4 + %inc = add i32 %18, 1 + store i32 %inc, i32* %H, align 4 + store i32 0, i32* %L, align 4 + br label %if.end14 + +if.end14: ; preds = %if.then13, %if.end10 + %19 = load i64, i64* %uval.addr, align 8 + %conv15 = trunc i64 %19 to i32 + store i32 %conv15, i32* %low, align 4 + %20 = load i64, i64* %uval.addr, align 8 + %shr = lshr i64 %20, 32 + %conv16 = trunc i64 %shr to i32 + store i32 %conv16, i32* %high, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %if.end14 + %21 = load i32, i32* %grouping, align 4 + %tobool17 = icmp ne i32 %21, 0 + br i1 %tobool17, label %if.end27, label %if.then18 + +if.then18: ; preds = %do.body + %22 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %thousands_sep_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %22, i32 0, i32 27 + %23 = load i32, i32* %thousands_sep_len, align 4 + %24 = load i8*, i8** %bufend.addr, align 8 + %idx.ext = sext i32 %23 to i64 + %idx.neg = sub i64 0, %idx.ext + %add.ptr = getelementptr inbounds i8, i8* %24, i64 %idx.neg + store i8* %add.ptr, i8** %bufend.addr, align 8 + %25 = load i8*, i8** %bufend.addr, align 8 + %26 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %thousands_sep = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %26, i32 0, i32 40 + %27 = load i8*, i8** %thousands_sep, align 8 + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %thousands_sep_len19 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %28, i32 0, i32 27 + %29 = load i32, i32* %thousands_sep_len19, align 4 + %conv20 = sext i32 %29 to i64 + %call = call i8* @memcpy(i8* %25, i8* %27, i64 %conv20) #20 + %30 = load i8*, i8** %g, align 8 + %arrayidx = getelementptr inbounds i8, i8* %30, i64 1 + %31 = load i8, i8* %arrayidx, align 1 + %conv21 = sext i8 %31 to i32 + %cmp22 = icmp ne i32 %conv21, 0 + br i1 %cmp22, label %if.then24, label %if.end25 + +if.then24: ; preds = %if.then18 + %32 = load i8*, i8** %g, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %32, i32 1 + store i8* %incdec.ptr, i8** %g, align 8 + br label %if.end25 + +if.end25: ; preds = %if.then24, %if.then18 + %33 = load i8*, i8** %g, align 8 + %34 = load i8, i8* %33, align 1 + %conv26 = sext i8 %34 to i32 + store i32 %conv26, i32* %grouping, align 4 + br label %if.end27 + +if.end27: ; preds = %if.end25, %do.body + %35 = load i32, i32* %grouping, align 4 + %dec = add nsw i32 %35, -1 + store i32 %dec, i32* %grouping, align 4 + %36 = load i32, i32* %high, align 4 + %tobool28 = icmp ne i32 %36, 0 + %lnot = xor i1 %tobool28, true + %lnot29 = xor i1 %lnot, true + %lnot.ext = zext i1 %lnot29 to i32 + %conv30 = sext i32 %lnot.ext to i64 + %tobool31 = icmp ne i64 %conv30, 0 + br i1 %tobool31, label %if.then32, label %if.else + +if.then32: ; preds = %if.end27 + %37 = load i32, i32* %high, align 4 + %38 = load i32, i32* %base.addr, align 4 + %rem33 = urem i32 %37, %38 + store i32 %rem33, i32* %rh, align 4 + %39 = load i32, i32* %base.addr, align 4 + %40 = load i32, i32* %high, align 4 + %div34 = udiv i32 %40, %39 + store i32 %div34, i32* %high, align 4 + %41 = load i32, i32* %low, align 4 + %42 = load i32, i32* %base.addr, align 4 + %rem35 = urem i32 %41, %42 + %43 = load i32, i32* %L, align 4 + %44 = load i32, i32* %rh, align 4 + %mul = mul i32 %43, %44 + %add36 = add i32 %rem35, %mul + store i32 %add36, i32* %digit, align 4 + %45 = load i32, i32* %low, align 4 + %46 = load i32, i32* %base.addr, align 4 + %div37 = udiv i32 %45, %46 + %47 = load i32, i32* %H, align 4 + %48 = load i32, i32* %rh, align 4 + %mul38 = mul i32 %47, %48 + %add39 = add i32 %div37, %mul38 + %49 = load i32, i32* %digit, align 4 + %50 = load i32, i32* %base.addr, align 4 + %div40 = udiv i32 %49, %50 + %add41 = add i32 %add39, %div40 + store i32 %add41, i32* %low, align 4 + %51 = load i32, i32* %base.addr, align 4 + %52 = load i32, i32* %digit, align 4 + %rem42 = urem i32 %52, %51 + store i32 %rem42, i32* %digit, align 4 + br label %if.end45 + +if.else: ; preds = %if.end27 + %53 = load i32, i32* %low, align 4 + %54 = load i32, i32* %base.addr, align 4 + %rem43 = urem i32 %53, %54 + store i32 %rem43, i32* %digit, align 4 + %55 = load i32, i32* %base.addr, align 4 + %56 = load i32, i32* %low, align 4 + %div44 = udiv i32 %56, %55 + store i32 %div44, i32* %low, align 4 + br label %if.end45 + +if.end45: ; preds = %if.else, %if.then32 + %57 = load i32, i32* %outdigit, align 4 + %tobool46 = icmp ne i32 %57, 0 + %lnot47 = xor i1 %tobool46, true + %lnot49 = xor i1 %lnot47, true + %lnot.ext50 = zext i1 %lnot49 to i32 + %conv51 = sext i32 %lnot.ext50 to i64 + %tobool52 = icmp ne i64 %conv51, 0 + br i1 %tobool52, label %if.then53, label %if.else66 + +if.then53: ; preds = %if.end45 + %58 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %outdigit_length = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %58, i32 0, i32 11 + %59 = load i32, i32* %digit, align 4 + %idxprom = zext i32 %59 to i64 + %arrayidx54 = getelementptr inbounds [10 x i8], [10 x i8]* %outdigit_length, i64 0, i64 %idxprom + %60 = load i8, i8* %arrayidx54, align 1 + %conv55 = zext i8 %60 to i32 + %61 = load i8*, i8** %bufend.addr, align 8 + %idx.ext56 = sext i32 %conv55 to i64 + %idx.neg57 = sub i64 0, %idx.ext56 + %add.ptr58 = getelementptr inbounds i8, i8* %61, i64 %idx.neg57 + store i8* %add.ptr58, i8** %bufend.addr, align 8 + %62 = load i8*, i8** %bufend.addr, align 8 + %63 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %outdigit0_mb = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %63, i32 0, i32 28 + %64 = load i32, i32* %digit, align 4 + %idxprom59 = zext i32 %64 to i64 + %arrayidx60 = getelementptr inbounds i8*, i8** %outdigit0_mb, i64 %idxprom59 + %65 = load i8*, i8** %arrayidx60, align 8 + %66 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %outdigit_length61 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %66, i32 0, i32 11 + %67 = load i32, i32* %digit, align 4 + %idxprom62 = zext i32 %67 to i64 + %arrayidx63 = getelementptr inbounds [10 x i8], [10 x i8]* %outdigit_length61, i64 0, i64 %idxprom62 + %68 = load i8, i8* %arrayidx63, align 1 + %conv64 = zext i8 %68 to i64 + %call65 = call i8* @memcpy(i8* %62, i8* %65, i64 %conv64) #20 + br label %do.cond + +if.else66: ; preds = %if.end45 + %69 = load i32, i32* %digit, align 4 + %cmp67 = icmp ult i32 %69, 10 + %70 = load i32, i32* %digit, align 4 + %add69 = add i32 %70, 48 + %71 = load i32, i32* %alphacase.addr, align 4 + %add70 = add i32 %70, %71 + %cond = select i1 %cmp67, i32 %add69, i32 %add70 + %conv71 = trunc i32 %cond to i8 + %72 = load i8*, i8** %bufend.addr, align 8 + %incdec.ptr72 = getelementptr inbounds i8, i8* %72, i32 -1 + store i8* %incdec.ptr72, i8** %bufend.addr, align 8 + store i8 %conv71, i8* %incdec.ptr72, align 1 + br label %do.cond + +do.cond: ; preds = %if.then53, %if.else66 + %73 = load i32, i32* %low, align 4 + %74 = load i32, i32* %high, align 4 + %or = or i32 %73, %74 + %tobool74 = icmp ne i32 %or, 0 + br i1 %tobool74, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %75 = load i32, i32* %negative, align 4 + %tobool75 = icmp ne i32 %75, 0 + br i1 %tobool75, label %if.then76, label %if.end78 + +if.then76: ; preds = %do.end + %76 = load i8*, i8** %bufend.addr, align 8 + %incdec.ptr77 = getelementptr inbounds i8, i8* %76, i32 -1 + store i8* %incdec.ptr77, i8** %bufend.addr, align 8 + store i8 45, i8* %incdec.ptr77, align 1 + br label %if.end78 + +if.end78: ; preds = %if.then76, %do.end + %77 = load i8*, i8** %bufend.addr, align 8 + ret i8* %77 +} + +; Function Attrs: noinline nounwind uwtable +define hidden %struct.exit_function* @__new_exitfn() #0 { +entry: + %efp = alloca %struct.exit_function*, align 8 + %0 = load i32, i32* @__exit_slots, align 4 + %1 = load i32, i32* @__exit_count, align 4 + %add = add nsw i32 %1, 1 + %cmp = icmp slt i32 %0, %add + br i1 %cmp, label %if.then, label %if.end6 + +if.then: ; preds = %entry + %2 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + %3 = bitcast %struct.exit_function* %2 to i8* + %4 = load i32, i32* @__exit_slots, align 4 + %add1 = add nsw i32 %4, 20 + %conv = sext i32 %add1 to i64 + %mul = mul i64 %conv, 32 + %call = call noalias i8* @realloc(i8* %3, i64 %mul) #20 + %5 = bitcast i8* %call to %struct.exit_function* + store %struct.exit_function* %5, %struct.exit_function** %efp, align 8 + %6 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %cmp2 = icmp eq %struct.exit_function* %6, null + br i1 %cmp2, label %if.then4, label %if.end + +if.then4: ; preds = %if.then + store i32 12, i32* @errno, align 4 + br label %DONE + +if.end: ; preds = %if.then + %7 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + store %struct.exit_function* %7, %struct.exit_function** @__exit_function_table, align 8 + %8 = load i32, i32* @__exit_slots, align 4 + %add5 = add nsw i32 %8, 20 + store i32 %add5, i32* @__exit_slots, align 4 + br label %if.end6 + +if.end6: ; preds = %if.end, %entry + store void (i32)* @__exit_handler, void (i32)** @__exit_cleanup, align 8 + %9 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + %10 = load i32, i32* @__exit_count, align 4 + %inc = add nsw i32 %10, 1 + store i32 %inc, i32* @__exit_count, align 4 + %idxprom = sext i32 %10 to i64 + %arrayidx = getelementptr inbounds %struct.exit_function, %struct.exit_function* %9, i64 %idxprom + store %struct.exit_function* %arrayidx, %struct.exit_function** %efp, align 8 + %11 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %type = getelementptr inbounds %struct.exit_function, %struct.exit_function* %11, i32 0, i32 0 + store i64 1, i64* %type, align 8 + br label %DONE + +DONE: ; preds = %if.end6, %if.then4 + %12 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + ret %struct.exit_function* %12 +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @__exit_handler(i32 %status) #0 { +entry: + %status.addr = alloca i32, align 4 + %efp = alloca %struct.exit_function*, align 8 + store i32 %status, i32* %status.addr, align 4 + br label %while.cond + +while.cond: ; preds = %sw.epilog, %entry + %0 = load i32, i32* @__exit_count, align 4 + %tobool = icmp ne i32 %0, 0 + %1 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %2 = load i32, i32* @__exit_count, align 4 + %dec = add nsw i32 %2, -1 + store i32 %dec, i32* @__exit_count, align 4 + %idxprom = sext i32 %dec to i64 + %arrayidx = getelementptr inbounds %struct.exit_function, %struct.exit_function* %1, i64 %idxprom + store %struct.exit_function* %arrayidx, %struct.exit_function** %efp, align 8 + %3 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %type = getelementptr inbounds %struct.exit_function, %struct.exit_function* %3, i32 0, i32 0 + %4 = load i64, i64* %type, align 8 + br label %NodeBlock1 + +NodeBlock1: ; preds = %while.body + %case.cmp2 = icmp eq i64 %4, 2 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i64 %4, 3 + br i1 %case.cmp, label %sw.bb7, label %newDefault + +sw.bb: ; preds = %NodeBlock1 + %5 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs = getelementptr inbounds %struct.exit_function, %struct.exit_function* %5, i32 0, i32 1 + %on_exit = bitcast %union.anon.772* %funcs to %struct.anon.779* + %func = getelementptr inbounds %struct.anon.779, %struct.anon.779* %on_exit, i32 0, i32 0 + %6 = load void (i32, i8*)*, void (i32, i8*)** %func, align 8 + %tobool1 = icmp ne void (i32, i8*)* %6, null + br i1 %tobool1, label %if.then, label %sw.epilog + +if.then: ; preds = %sw.bb + %7 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs2 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %7, i32 0, i32 1 + %on_exit3 = bitcast %union.anon.772* %funcs2 to %struct.anon.779* + %func4 = getelementptr inbounds %struct.anon.779, %struct.anon.779* %on_exit3, i32 0, i32 0 + %8 = load void (i32, i8*)*, void (i32, i8*)** %func4, align 8 + %9 = load i32, i32* %status.addr, align 4 + %10 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs5 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %10, i32 0, i32 1 + %on_exit6 = bitcast %union.anon.772* %funcs5 to %struct.anon.779* + %arg = getelementptr inbounds %struct.anon.779, %struct.anon.779* %on_exit6, i32 0, i32 1 + %11 = load i8*, i8** %arg, align 8 + call void %8(i32 %9, i8* %11) #19 + br label %sw.epilog + +sw.bb7: ; preds = %NodeBlock + %12 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs8 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %12, i32 0, i32 1 + %cxa_atexit = bitcast %union.anon.772* %funcs8 to %struct.anon.0.771* + %func9 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit, i32 0, i32 0 + %13 = load void (i8*)*, void (i8*)** %func9, align 8 + %tobool10 = icmp ne void (i8*)* %13, null + br i1 %tobool10, label %if.then11, label %sw.epilog + +if.then11: ; preds = %sw.bb7 + %14 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs12 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %14, i32 0, i32 1 + %cxa_atexit13 = bitcast %union.anon.772* %funcs12 to %struct.anon.0.771* + %func14 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit13, i32 0, i32 0 + %15 = load void (i8*)*, void (i8*)** %func14, align 8 + %16 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs15 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %16, i32 0, i32 1 + %cxa_atexit16 = bitcast %union.anon.772* %funcs15 to %struct.anon.0.771* + %arg17 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit16, i32 0, i32 1 + %17 = load i8*, i8** %arg17, align 8 + call void %15(i8* %17) #19 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.epilog + +sw.epilog: ; preds = %newDefault, %sw.bb7, %if.then11, %sw.bb, %if.then + br label %while.cond + +while.end: ; preds = %while.cond + %tobool19 = icmp ne %struct.exit_function* %1, null + br i1 %tobool19, label %if.then20, label %if.end21 + +if.then20: ; preds = %while.end + %18 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + %19 = bitcast %struct.exit_function* %18 to i8* + call void @free(i8* %19) #20 + br label %if.end21 + +if.end21: ; preds = %if.then20, %while.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_stdlib_strto_l_l(i8* noalias %str, i8** noalias %endptr, i32 %base, i32 %sflag, %struct.__uclibc_locale_struct.201* %locale_arg) #0 { +entry: + %str.addr = alloca i8*, align 8 + %endptr.addr = alloca i8**, align 8 + %base.addr = alloca i32, align 4 + %sflag.addr = alloca i32, align 4 + %locale_arg.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %number = alloca i64, align 8 + %cutoff = alloca i64, align 8 + %fail_char = alloca i8*, align 8 + %negative = alloca i8, align 1 + %digit = alloca i8, align 1 + %cutoff_digit = alloca i8, align 1 + %tmp = alloca i64, align 8 + store i8* %str, i8** %str.addr, align 8 + store i8** %endptr, i8*** %endptr.addr, align 8 + store i32 %base, i32* %base.addr, align 4 + store i32 %sflag, i32* %sflag.addr, align 4 + store %struct.__uclibc_locale_struct.201* %locale_arg, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %0 = load i8*, i8** %str.addr, align 8 + store i8* %0, i8** %fail_char, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %1 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %1, i32 0, i32 0 + %2 = load i16*, i16** %__ctype_b, align 8 + %3 = load i8*, i8** %str.addr, align 8 + %4 = load i8, i8* %3, align 1 + %conv = sext i8 %4 to i32 + %idxprom = sext i32 %conv to i64 + %arrayidx = getelementptr inbounds i16, i16* %2, i64 %idxprom + %5 = load i16, i16* %arrayidx, align 2 + %conv1 = zext i16 %5 to i32 + %and = and i32 %conv1, 8192 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %6 = load i8*, i8** %str.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %str.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8 0, i8* %negative, align 1 + %7 = load i8*, i8** %str.addr, align 8 + %8 = load i8, i8* %7, align 1 + %conv2 = sext i8 %8 to i32 + br label %NodeBlock1 + +NodeBlock1: ; preds = %while.end + %case.cmp2 = icmp eq i32 %conv2, 45 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %conv2, 43 + br i1 %case.cmp, label %sw.bb3, label %newDefault + +sw.bb: ; preds = %NodeBlock1 + store i8 1, i8* %negative, align 1 + br label %sw.bb3 + +sw.bb3: ; preds = %NodeBlock, %sw.bb + %9 = load i8*, i8** %str.addr, align 8 + %incdec.ptr4 = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr4, i8** %str.addr, align 8 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.epilog + +sw.epilog: ; preds = %newDefault, %sw.bb3 + %10 = load i32, i32* %base.addr, align 4 + %and5 = and i32 %10, -17 + %tobool6 = icmp ne i32 %and5, 0 + br i1 %tobool6, label %if.end22, label %if.then + +if.then: ; preds = %sw.epilog + %11 = load i32, i32* %base.addr, align 4 + %add = add nsw i32 %11, 10 + store i32 %add, i32* %base.addr, align 4 + %12 = load i8*, i8** %str.addr, align 8 + %13 = load i8, i8* %12, align 1 + %conv7 = sext i8 %13 to i32 + %cmp = icmp eq i32 %conv7, 48 + br i1 %cmp, label %if.then9, label %if.end17 + +if.then9: ; preds = %if.then + %14 = load i8*, i8** %str.addr, align 8 + %incdec.ptr10 = getelementptr inbounds i8, i8* %14, i32 1 + store i8* %incdec.ptr10, i8** %str.addr, align 8 + store i8* %incdec.ptr10, i8** %fail_char, align 8 + %15 = load i32, i32* %base.addr, align 4 + %sub = sub nsw i32 %15, 2 + store i32 %sub, i32* %base.addr, align 4 + %16 = load i8*, i8** %str.addr, align 8 + %17 = load i8, i8* %16, align 1 + %conv11 = sext i8 %17 to i32 + %or = or i32 32, %conv11 + %cmp12 = icmp eq i32 %or, 120 + br i1 %cmp12, label %if.then14, label %if.end17 + +if.then14: ; preds = %if.then9 + %18 = load i8*, i8** %str.addr, align 8 + %incdec.ptr15 = getelementptr inbounds i8, i8* %18, i32 1 + store i8* %incdec.ptr15, i8** %str.addr, align 8 + %19 = load i32, i32* %base.addr, align 4 + %20 = load i32, i32* %base.addr, align 4 + %add16 = add nsw i32 %20, %19 + store i32 %add16, i32* %base.addr, align 4 + br label %if.end17 + +if.end17: ; preds = %if.then9, %if.then14, %if.then + %21 = load i32, i32* %base.addr, align 4 + %cmp18 = icmp sgt i32 %21, 16 + br i1 %cmp18, label %if.then20, label %if.end22 + +if.then20: ; preds = %if.end17 + store i32 16, i32* %base.addr, align 4 + br label %if.end22 + +if.end22: ; preds = %if.end17, %if.then20, %sw.epilog + store i64 0, i64* %number, align 8 + %22 = load i32, i32* %base.addr, align 4 + %sub23 = sub nsw i32 %22, 2 + %cmp24 = icmp ult i32 %sub23, 35 + br i1 %cmp24, label %if.then26, label %if.end72 + +if.then26: ; preds = %if.end22 + %23 = load i32, i32* %base.addr, align 4 + %conv27 = sext i32 %23 to i64 + %rem = urem i64 -1, %conv27 + %conv28 = trunc i64 %rem to i8 + store i8 %conv28, i8* %cutoff_digit, align 1 + %24 = load i32, i32* %base.addr, align 4 + %conv29 = sext i32 %24 to i64 + %div = udiv i64 -1, %conv29 + store i64 %div, i64* %cutoff, align 8 + br label %do.body + +do.body: ; preds = %do.cond, %if.then26 + %25 = load i8*, i8** %str.addr, align 8 + %26 = load i8, i8* %25, align 1 + %conv30 = sext i8 %26 to i32 + %sub31 = sub nsw i32 %conv30, 48 + %conv32 = trunc i32 %sub31 to i8 + %conv33 = zext i8 %conv32 to i32 + %cmp34 = icmp sle i32 %conv33, 9 + %27 = load i8*, i8** %str.addr, align 8 + %28 = load i8, i8* %27, align 1 + %conv36 = sext i8 %28 to i32 + br i1 %cmp34, label %cond.true, label %cond.false + +cond.true: ; preds = %do.body + %sub37 = sub nsw i32 %conv36, 48 + br label %cond.end47 + +cond.false: ; preds = %do.body + %cmp39 = icmp sge i32 %conv36, 65 + br i1 %cmp39, label %cond.true41, label %cond.end47 + +cond.true41: ; preds = %cond.false + %29 = load i8*, i8** %str.addr, align 8 + %30 = load i8, i8* %29, align 1 + %conv42 = sext i8 %30 to i32 + %or43 = or i32 32, %conv42 + %sub44 = sub nsw i32 %or43, 97 + %add45 = add nsw i32 %sub44, 10 + br label %cond.end47 + +cond.end47: ; preds = %cond.true41, %cond.false, %cond.true + %cond48 = phi i32 [ %sub37, %cond.true ], [ %add45, %cond.true41 ], [ 40, %cond.false ] + %conv49 = trunc i32 %cond48 to i8 + store i8 %conv49, i8* %digit, align 1 + %31 = load i8, i8* %digit, align 1 + %conv50 = zext i8 %31 to i32 + %32 = load i32, i32* %base.addr, align 4 + %cmp51 = icmp sge i32 %conv50, %32 + br i1 %cmp51, label %if.end72, label %if.end54 + +if.end54: ; preds = %cond.end47 + %33 = load i8*, i8** %str.addr, align 8 + %incdec.ptr55 = getelementptr inbounds i8, i8* %33, i32 1 + store i8* %incdec.ptr55, i8** %str.addr, align 8 + store i8* %incdec.ptr55, i8** %fail_char, align 8 + %34 = load i64, i64* %number, align 8 + %35 = load i64, i64* %cutoff, align 8 + %cmp56 = icmp ugt i64 %34, %35 + br i1 %cmp56, label %if.then64, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end54 + %36 = load i64, i64* %number, align 8 + %37 = load i64, i64* %cutoff, align 8 + %cmp58 = icmp eq i64 %36, %37 + br i1 %cmp58, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %lor.lhs.false + %38 = load i8, i8* %digit, align 1 + %conv60 = zext i8 %38 to i32 + %39 = load i8, i8* %cutoff_digit, align 1 + %conv61 = zext i8 %39 to i32 + %cmp62 = icmp sgt i32 %conv60, %conv61 + br i1 %cmp62, label %if.then64, label %if.else + +if.then64: ; preds = %land.lhs.true, %if.end54 + store i64 -1, i64* %number, align 8 + %40 = load i32, i32* %sflag.addr, align 4 + %41 = load i8, i8* %negative, align 1 + %conv65 = zext i8 %41 to i32 + %and66 = and i32 %conv65, %40 + %conv67 = trunc i32 %and66 to i8 + store i8 %conv67, i8* %negative, align 1 + store i32 34, i32* @errno, align 4 + br label %do.cond + +if.else: ; preds = %land.lhs.true, %lor.lhs.false + %42 = load i64, i64* %number, align 8 + %43 = load i32, i32* %base.addr, align 4 + %conv68 = sext i32 %43 to i64 + %mul = mul i64 %42, %conv68 + %44 = load i8, i8* %digit, align 1 + %conv69 = zext i8 %44 to i64 + %add70 = add i64 %mul, %conv69 + store i64 %add70, i64* %number, align 8 + br label %do.cond + +do.cond: ; preds = %if.then64, %if.else + br label %do.body + +if.end72: ; preds = %cond.end47, %if.end22 + %45 = load i8**, i8*** %endptr.addr, align 8 + %tobool73 = icmp ne i8** %45, null + br i1 %tobool73, label %if.then74, label %if.end75 + +if.then74: ; preds = %if.end72 + %46 = load i8*, i8** %fail_char, align 8 + %47 = load i8**, i8*** %endptr.addr, align 8 + store i8* %46, i8** %47, align 8 + br label %if.end75 + +if.end75: ; preds = %if.then74, %if.end72 + %48 = load i8, i8* %negative, align 1 + %conv76 = zext i8 %48 to i32 + %tobool77 = icmp ne i32 %conv76, 0 + %49 = zext i1 %tobool77 to i64 + %cond78 = select i1 %tobool77, i64 -9223372036854775808, i64 9223372036854775807 + store i64 %cond78, i64* %tmp, align 8 + %50 = load i32, i32* %sflag.addr, align 4 + %tobool79 = icmp ne i32 %50, 0 + br i1 %tobool79, label %land.lhs.true80, label %if.end84 + +land.lhs.true80: ; preds = %if.end75 + %51 = load i64, i64* %number, align 8 + %52 = load i64, i64* %tmp, align 8 + %cmp81 = icmp ugt i64 %51, %52 + br i1 %cmp81, label %if.then83, label %if.end84 + +if.then83: ; preds = %land.lhs.true80 + %53 = load i64, i64* %tmp, align 8 + store i64 %53, i64* %number, align 8 + store i32 34, i32* @errno, align 4 + br label %if.end84 + +if.end84: ; preds = %if.then83, %land.lhs.true80, %if.end75 + %54 = load i8, i8* %negative, align 1 + %conv85 = zext i8 %54 to i32 + %tobool86 = icmp ne i32 %conv85, 0 + %55 = load i64, i64* %number, align 8 + %sub88 = sub nsw i64 0, %55 + %cond91 = select i1 %tobool86, i64 %sub88, i64 %55 + ret i64 %cond91 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__xpg_strerror_r(i32 %errnum, i8* %strerrbuf, i64 %buflen) #0 { +entry: + %errnum.addr = alloca i32, align 4 + %strerrbuf.addr = alloca i8*, align 8 + %buflen.addr = alloca i64, align 8 + %s = alloca i8*, align 8 + %i = alloca i32, align 4 + %retval1 = alloca i32, align 4 + %buf = alloca [50 x i8], align 16 + store i32 %errnum, i32* %errnum.addr, align 4 + store i8* %strerrbuf, i8** %strerrbuf.addr, align 8 + store i64 %buflen, i64* %buflen.addr, align 8 + store i32 22, i32* %retval1, align 4 + %0 = load i32, i32* %errnum.addr, align 4 + store i32 %0, i32* %i, align 4 + %1 = load i32, i32* %i, align 4 + %cmp = icmp ult i32 %1, 125 + br i1 %cmp, label %if.then, label %if.end7 + +if.then: ; preds = %entry + store i8* getelementptr inbounds ([2906 x i8], [2906 x i8]* @_string_syserrmsgs, i64 0, i64 0), i8** %s, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.then + %2 = load i32, i32* %i, align 4 + %tobool = icmp ne i32 %2, 0 + %3 = load i8*, i8** %s, align 8 + %4 = load i8, i8* %3, align 1 + %tobool2 = icmp ne i8 %4, 0 + br i1 %tobool, label %for.body, label %for.end + +for.body: ; preds = %for.cond + br i1 %tobool2, label %for.inc, label %if.then3 + +if.then3: ; preds = %for.body + %5 = load i32, i32* %i, align 4 + %dec = add nsw i32 %5, -1 + store i32 %dec, i32* %i, align 4 + br label %for.inc + +for.inc: ; preds = %for.body, %if.then3 + %6 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + br i1 %tobool2, label %if.then5, label %if.end7 + +if.then5: ; preds = %for.end + store i32 0, i32* %retval1, align 4 + br label %GOT_MESG + +if.end7: ; preds = %for.end, %entry + %arraydecay = getelementptr inbounds [50 x i8], [50 x i8]* %buf, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 50 + %add.ptr8 = getelementptr inbounds i8, i8* %add.ptr, i64 -1 + %7 = load i32, i32* %errnum.addr, align 4 + %conv = sext i32 %7 to i64 + %call = call i8* @_uintmaxtostr(i8* %add.ptr8, i64 %conv, i32 -10, i32 0) #19 + %add.ptr9 = getelementptr inbounds i8, i8* %call, i64 -14 + store i8* %add.ptr9, i8** %s, align 8 + %8 = load i8*, i8** %s, align 8 + %call10 = call i8* @memcpy(i8* %8, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @__xpg_strerror_r.unknown, i64 0, i64 0), i64 14) #20 + br label %GOT_MESG + +GOT_MESG: ; preds = %if.end7, %if.then5 + %9 = load i8*, i8** %strerrbuf.addr, align 8 + %tobool11 = icmp ne i8* %9, null + br i1 %tobool11, label %if.end13, label %if.then12 + +if.then12: ; preds = %GOT_MESG + store i64 0, i64* %buflen.addr, align 8 + br label %if.end13 + +if.end13: ; preds = %if.then12, %GOT_MESG + %10 = load i8*, i8** %s, align 8 + %call14 = call i64 @strlen(i8* %10) #21 + %add = add i64 %call14, 1 + %conv15 = trunc i64 %add to i32 + store i32 %conv15, i32* %i, align 4 + %11 = load i32, i32* %i, align 4 + %conv16 = sext i32 %11 to i64 + %12 = load i64, i64* %buflen.addr, align 8 + %cmp17 = icmp ugt i64 %conv16, %12 + br i1 %cmp17, label %if.then19, label %if.end21 + +if.then19: ; preds = %if.end13 + %13 = load i64, i64* %buflen.addr, align 8 + %conv20 = trunc i64 %13 to i32 + store i32 %conv20, i32* %i, align 4 + store i32 34, i32* %retval1, align 4 + br label %if.end21 + +if.end21: ; preds = %if.then19, %if.end13 + %14 = load i32, i32* %i, align 4 + %tobool22 = icmp ne i32 %14, 0 + br i1 %tobool22, label %if.then23, label %if.end26 + +if.then23: ; preds = %if.end21 + %15 = load i8*, i8** %strerrbuf.addr, align 8 + %16 = load i8*, i8** %s, align 8 + %17 = load i32, i32* %i, align 4 + %conv24 = sext i32 %17 to i64 + %call25 = call i8* @memcpy(i8* %15, i8* %16, i64 %conv24) #20 + %18 = load i8*, i8** %strerrbuf.addr, align 8 + %19 = load i32, i32* %i, align 4 + %sub = sub nsw i32 %19, 1 + %idxprom = sext i32 %sub to i64 + %arrayidx = getelementptr inbounds i8, i8* %18, i64 %idxprom + store i8 0, i8* %arrayidx, align 1 + br label %if.end26 + +if.end26: ; preds = %if.then23, %if.end21 + %20 = load i32, i32* %retval1, align 4 + %tobool27 = icmp ne i32 %20, 0 + br i1 %tobool27, label %if.then28, label %if.end29 + +if.then28: ; preds = %if.end26 + %21 = load i32, i32* %retval1, align 4 + store i32 %21, i32* @errno, align 4 + br label %if.end29 + +if.end29: ; preds = %if.then28, %if.end26 + %22 = load i32, i32* %retval1, align 4 + ret i32 %22 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @memrchr(i8* nonnull %s, i32 %c, i64 %n) #14 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %n.addr = alloca i64, align 8 + %r = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i64, i64* %n.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %0, i64 %1 + store i8* %add.ptr, i8** %r, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %2 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load i8*, i8** %r, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 -1 + store i8* %incdec.ptr, i8** %r, align 8 + %4 = load i8, i8* %incdec.ptr, align 1 + %conv = zext i8 %4 to i32 + %5 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %5 to i8 + %conv2 = zext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + %6 = load i8*, i8** %r, align 8 + store i8* %6, i8** %retval, align 8 + br label %return + +if.end: ; preds = %while.body + %7 = load i64, i64* %n.addr, align 8 + %dec = add i64 %7, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then + %8 = load i8*, i8** %retval, align 8 + ret i8* %8 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i64 @strnlen(i8* nonnull %s, i64 %max) #14 { +entry: + %s.addr = alloca i8*, align 8 + %max.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i64 %max, i64* %max.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %1 = load i64, i64* %max.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %2 = load i8*, i8** %p, align 8 + %3 = load i8, i8* %2, align 1 + %conv = sext i8 %3 to i32 + %tobool1 = icmp ne i32 %conv, 0 + br label %land.end + +land.end: ; preds = %land.rhs, %while.cond + %4 = phi i1 [ false, %while.cond ], [ %tobool1, %land.rhs ] + %5 = load i8*, i8** %p, align 8 + br i1 %4, label %while.body, label %while.end + +while.body: ; preds = %land.end + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %6 = load i64, i64* %max.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %max.addr, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %7 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind uwtable +define i8* @strtok_r(i8* noalias %s1, i8* noalias nonnull %s2, i8** noalias nonnull %next_start) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %next_start.addr = alloca i8**, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i8** %next_start, i8*** %next_start.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + %cmp = icmp ne i8* %0, null + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %1 = load i8**, i8*** %next_start.addr, align 8 + %2 = load i8*, i8** %1, align 8 + store i8* %2, i8** %s, align 8 + %cmp1 = icmp ne i8* %2, null + br i1 %cmp1, label %if.then, label %if.end7 + +if.then: ; preds = %lor.lhs.false, %entry + %3 = load i8*, i8** %s, align 8 + %4 = load i8*, i8** %s2.addr, align 8 + %call = call i64 @strspn(i8* %3, i8* %4) #21 + %5 = load i8*, i8** %s, align 8 + %add.ptr = getelementptr inbounds i8, i8* %5, i64 %call + store i8* %add.ptr, i8** %s, align 8 + %6 = load i8, i8* %add.ptr, align 1 + %tobool = icmp ne i8 %6, 0 + br i1 %tobool, label %if.then2, label %if.else + +if.then2: ; preds = %if.then + %7 = load i8*, i8** %s, align 8 + %8 = load i8*, i8** %s2.addr, align 8 + %call3 = call i8* @strpbrk(i8* %7, i8* %8) #21 + store i8* %call3, i8** %p, align 8 + %cmp4 = icmp ne i8* %call3, null + br i1 %cmp4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.then2 + %9 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + store i8 0, i8* %9, align 1 + br label %if.end6 + +if.else: ; preds = %if.then + store i8* null, i8** %s, align 8 + store i8* null, i8** %p, align 8 + br label %if.end6 + +if.end6: ; preds = %if.then2, %if.then5, %if.else + %10 = load i8*, i8** %p, align 8 + %11 = load i8**, i8*** %next_start.addr, align 8 + store i8* %10, i8** %11, align 8 + br label %if.end7 + +if.end7: ; preds = %if.end6, %lor.lhs.false + %12 = load i8*, i8** %s, align 8 + ret i8* %12 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @mbsrtowcs(i32* noalias %dst, i8** noalias %src, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %dst.addr = alloca i32*, align 8 + %src.addr = alloca i8**, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + store i32* %dst, i32** %dst.addr, align 8 + store i8** %src, i8*** %src.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load i32*, i32** %dst.addr, align 8 + %1 = load i8**, i8*** %src.addr, align 8 + %2 = load i64, i64* %len.addr, align 8 + %3 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %cmp = icmp ne %struct.__mbstate_t.512* %3, null + %4 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %cond = select i1 %cmp, %struct.__mbstate_t.512* %4, %struct.__mbstate_t.512* @mbsrtowcs.mbstate + %call = call i64 @mbsnrtowcs(i32* %0, i8** %1, i64 -1, i64 %2, %struct.__mbstate_t.512* %cond) #20 + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define i64 @wcsnrtombs(i8* noalias %dst, i32** noalias %src, i64 %NWC, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %retval = alloca i64, align 8 + %dst.addr = alloca i8*, align 8 + %src.addr = alloca i32**, align 8 + %NWC.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %s = alloca i32*, align 8 + %count = alloca i64, align 8 + %incr = alloca i32, align 4 + %buf = alloca [16 x i8], align 16 + %wc = alloca i32, align 4 + %u = alloca i32, align 4 + store i8* %dst, i8** %dst.addr, align 8 + store i32** %src, i32*** %src.addr, align 8 + store i64 %NWC, i64* %NWC.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 9 + %1 = load i8, i8* %encoding, align 8 + %conv = zext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load i8*, i8** %dst.addr, align 8 + %3 = load i64, i64* %len.addr, align 8 + %4 = load i32**, i32*** %src.addr, align 8 + %5 = load i64, i64* %NWC.addr, align 8 + %call = call i64 @_wchar_wcsntoutf8s(i8* %2, i64 %3, i32** %4, i64 %5) #19 + store i64 %call, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + store i32 1, i32* %incr, align 4 + %6 = load i8*, i8** %dst.addr, align 8 + %tobool = icmp ne i8* %6, null + br i1 %tobool, label %lor.lhs.false, label %if.then4 + +lor.lhs.false: ; preds = %if.end + %7 = load i8*, i8** %dst.addr, align 8 + %8 = load i32**, i32*** %src.addr, align 8 + %9 = bitcast i32** %8 to i8* + %cmp2 = icmp eq i8* %7, %9 + br i1 %cmp2, label %if.then4, label %if.end8 + +if.then4: ; preds = %lor.lhs.false, %if.end + %10 = load i8*, i8** %dst.addr, align 8 + %tobool5 = icmp ne i8* %10, null + br i1 %tobool5, label %if.end7, label %if.then6 + +if.then6: ; preds = %if.then4 + store i64 -1, i64* %len.addr, align 8 + br label %if.end7 + +if.end7: ; preds = %if.then6, %if.then4 + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay, i8** %dst.addr, align 8 + store i32 0, i32* %incr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end7, %lor.lhs.false + %11 = load i64, i64* %len.addr, align 8 + %12 = load i64, i64* %NWC.addr, align 8 + %cmp9 = icmp ugt i64 %11, %12 + br i1 %cmp9, label %if.then11, label %if.end12 + +if.then11: ; preds = %if.end8 + %13 = load i64, i64* %NWC.addr, align 8 + store i64 %13, i64* %len.addr, align 8 + br label %if.end12 + +if.end12: ; preds = %if.then11, %if.end8 + %14 = load i64, i64* %len.addr, align 8 + store i64 %14, i64* %count, align 8 + %15 = load i32**, i32*** %src.addr, align 8 + %16 = load i32*, i32** %15, align 8 + store i32* %16, i32** %s, align 8 + %17 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding13 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %17, i32 0, i32 9 + %18 = load i8, i8* %encoding13, align 8 + %conv14 = zext i8 %18 to i32 + %cmp15 = icmp eq i32 %conv14, 2 + br i1 %cmp15, label %while.cond, label %while.cond52 + +while.cond: ; preds = %if.end12, %if.end45 + %19 = load i64, i64* %count, align 8 + %tobool18 = icmp ne i64 %19, 0 + br i1 %tobool18, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %20 = load i32*, i32** %s, align 8 + %21 = load i32, i32* %20, align 4 + store i32 %21, i32* %wc, align 4 + %cmp19 = icmp ule i32 %21, 127 + br i1 %cmp19, label %if.then21, label %if.else + +if.then21: ; preds = %while.body + %22 = load i32, i32* %wc, align 4 + %conv22 = trunc i32 %22 to i8 + %23 = load i8*, i8** %dst.addr, align 8 + store i8 %conv22, i8* %23, align 1 + %tobool23 = icmp ne i8 %conv22, 0 + br i1 %tobool23, label %if.end45, label %if.then24 + +if.then24: ; preds = %if.then21 + store i32* null, i32** %s, align 8 + br label %while.end + +if.else: ; preds = %while.body + store i32 0, i32* %u, align 4 + %24 = load i32, i32* %wc, align 4 + %cmp26 = icmp ule i32 %24, 9727 + br i1 %cmp26, label %if.then28, label %if.end42 + +if.then28: ; preds = %if.else + %25 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %idx8wc2c = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %25, i32 0, i32 18 + %26 = load i8*, i8** %idx8wc2c, align 8 + %27 = load i32, i32* %wc, align 4 + %shr = lshr i32 %27, 8 + %idxprom = zext i32 %shr to i64 + %arrayidx = getelementptr inbounds i8, i8* %26, i64 %idxprom + %28 = load i8, i8* %arrayidx, align 1 + %conv29 = zext i8 %28 to i32 + store i32 %conv29, i32* %u, align 4 + %29 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %tbl8wc2c = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %29, i32 0, i32 19 + %30 = load i8*, i8** %tbl8wc2c, align 8 + %31 = load i32, i32* %u, align 4 + %shl = shl i32 %31, 4 + %32 = load i32, i32* %wc, align 4 + %shr30 = lshr i32 %32, 4 + %and = and i32 %shr30, 15 + %add = add i32 %shl, %and + %idxprom31 = zext i32 %add to i64 + %arrayidx32 = getelementptr inbounds i8, i8* %30, i64 %idxprom31 + %33 = load i8, i8* %arrayidx32, align 1 + %conv33 = zext i8 %33 to i32 + store i32 %conv33, i32* %u, align 4 + %34 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %tbl8wc2c34 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %34, i32 0, i32 19 + %35 = load i8*, i8** %tbl8wc2c34, align 8 + %36 = load i32, i32* %u, align 4 + %shl35 = shl i32 %36, 4 + %add36 = add i32 1072, %shl35 + %37 = load i32, i32* %wc, align 4 + %and37 = and i32 %37, 15 + %add38 = add i32 %add36, %and37 + %idxprom39 = zext i32 %add38 to i64 + %arrayidx40 = getelementptr inbounds i8, i8* %35, i64 %idxprom39 + %38 = load i8, i8* %arrayidx40, align 1 + %conv41 = zext i8 %38 to i32 + store i32 %conv41, i32* %u, align 4 + br label %if.end42 + +if.end42: ; preds = %if.then28, %if.else + %39 = load i32, i32* %u, align 4 + %tobool43 = icmp ne i32 %39, 0 + %40 = load i32, i32* %u, align 4 + %cond = select i1 %tobool43, i32 %40, i32 63 + %conv44 = trunc i32 %cond to i8 + %41 = load i8*, i8** %dst.addr, align 8 + store i8 %conv44, i8* %41, align 1 + br label %if.end45 + +if.end45: ; preds = %if.then21, %if.end42 + %42 = load i32*, i32** %s, align 8 + %incdec.ptr = getelementptr inbounds i32, i32* %42, i32 1 + store i32* %incdec.ptr, i32** %s, align 8 + %43 = load i32, i32* %incr, align 4 + %44 = load i8*, i8** %dst.addr, align 8 + %idx.ext = sext i32 %43 to i64 + %add.ptr = getelementptr inbounds i8, i8* %44, i64 %idx.ext + store i8* %add.ptr, i8** %dst.addr, align 8 + %45 = load i64, i64* %count, align 8 + %dec = add i64 %45, -1 + store i64 %dec, i64* %count, align 8 + br label %while.cond + +while.end: ; preds = %if.then24, %while.cond + %46 = load i8*, i8** %dst.addr, align 8 + %arraydecay46 = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + %cmp47 = icmp ne i8* %46, %arraydecay46 + br i1 %cmp47, label %if.then49, label %if.end50 + +if.then49: ; preds = %while.end + %47 = load i32*, i32** %s, align 8 + %48 = load i32**, i32*** %src.addr, align 8 + store i32* %47, i32** %48, align 8 + br label %if.end50 + +if.end50: ; preds = %if.then49, %while.end + %49 = load i64, i64* %len.addr, align 8 + %50 = load i64, i64* %count, align 8 + %sub = sub i64 %49, %50 + store i64 %sub, i64* %retval, align 8 + br label %return + +while.cond52: ; preds = %if.end12, %if.end64 + %51 = load i64, i64* %count, align 8 + %tobool53 = icmp ne i64 %51, 0 + br i1 %tobool53, label %while.body54, label %while.end69 + +while.body54: ; preds = %while.cond52 + %52 = load i32*, i32** %s, align 8 + %53 = load i32, i32* %52, align 4 + %cmp55 = icmp uge i32 %53, 128 + br i1 %cmp55, label %if.then57, label %if.end58 + +if.then57: ; preds = %while.body54 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end58: ; preds = %while.body54 + %54 = load i32*, i32** %s, align 8 + %55 = load i32, i32* %54, align 4 + %conv59 = trunc i32 %55 to i8 + %56 = load i8*, i8** %dst.addr, align 8 + store i8 %conv59, i8* %56, align 1 + %conv60 = sext i8 %conv59 to i32 + %cmp61 = icmp eq i32 %conv60, 0 + br i1 %cmp61, label %if.then63, label %if.end64 + +if.then63: ; preds = %if.end58 + store i32* null, i32** %s, align 8 + br label %while.end69 + +if.end64: ; preds = %if.end58 + %57 = load i32*, i32** %s, align 8 + %incdec.ptr65 = getelementptr inbounds i32, i32* %57, i32 1 + store i32* %incdec.ptr65, i32** %s, align 8 + %58 = load i32, i32* %incr, align 4 + %59 = load i8*, i8** %dst.addr, align 8 + %idx.ext66 = sext i32 %58 to i64 + %add.ptr67 = getelementptr inbounds i8, i8* %59, i64 %idx.ext66 + store i8* %add.ptr67, i8** %dst.addr, align 8 + %60 = load i64, i64* %count, align 8 + %dec68 = add i64 %60, -1 + store i64 %dec68, i64* %count, align 8 + br label %while.cond52 + +while.end69: ; preds = %if.then63, %while.cond52 + %61 = load i8*, i8** %dst.addr, align 8 + %arraydecay70 = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + %cmp71 = icmp ne i8* %61, %arraydecay70 + br i1 %cmp71, label %if.then73, label %if.end74 + +if.then73: ; preds = %while.end69 + %62 = load i32*, i32** %s, align 8 + %63 = load i32**, i32*** %src.addr, align 8 + store i32* %62, i32** %63, align 8 + br label %if.end74 + +if.end74: ; preds = %if.then73, %while.end69 + %64 = load i64, i64* %len.addr, align 8 + %65 = load i64, i64* %count, align 8 + %sub75 = sub i64 %64, %65 + store i64 %sub75, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end74, %if.then57, %if.end50, %if.then + %66 = load i64, i64* %retval, align 8 + ret i64 %66 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @strpbrk(i8* nonnull %s1, i8* nonnull %s2) #14 { +entry: + %retval = alloca i8*, align 8 + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc6, %entry + %1 = load i8*, i8** %s, align 8 + %2 = load i8, i8* %1, align 1 + %tobool = icmp ne i8 %2, 0 + br i1 %tobool, label %for.body, label %for.end8 + +for.body: ; preds = %for.cond + %3 = load i8*, i8** %s2.addr, align 8 + store i8* %3, i8** %p, align 8 + br label %for.cond1 + +for.cond1: ; preds = %for.inc, %for.body + %4 = load i8*, i8** %p, align 8 + %5 = load i8, i8* %4, align 1 + %tobool2 = icmp ne i8 %5, 0 + br i1 %tobool2, label %for.body3, label %for.inc6 + +for.body3: ; preds = %for.cond1 + %6 = load i8*, i8** %p, align 8 + %7 = load i8, i8* %6, align 1 + %conv = sext i8 %7 to i32 + %8 = load i8*, i8** %s, align 8 + %9 = load i8, i8* %8, align 1 + %conv4 = sext i8 %9 to i32 + %cmp = icmp eq i32 %conv, %conv4 + br i1 %cmp, label %if.then, label %for.inc + +if.then: ; preds = %for.body3 + %10 = load i8*, i8** %s, align 8 + store i8* %10, i8** %retval, align 8 + br label %return + +for.inc: ; preds = %for.body3 + %11 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %11, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + br label %for.cond1 + +for.inc6: ; preds = %for.cond1 + %12 = load i8*, i8** %s, align 8 + %incdec.ptr7 = getelementptr inbounds i8, i8* %12, i32 1 + store i8* %incdec.ptr7, i8** %s, align 8 + br label %for.cond + +for.end8: ; preds = %for.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %for.end8, %if.then + %13 = load i8*, i8** %retval, align 8 + ret i8* %13 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i64 @strspn(i8* nonnull %s1, i8* nonnull %s2) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %2 = load i8*, i8** %p, align 8 + %3 = load i8, i8* %2, align 1 + %tobool = icmp ne i8 %3, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %5 = load i8, i8* %4, align 1 + %conv = sext i8 %5 to i32 + %6 = load i8*, i8** %s, align 8 + %7 = load i8, i8* %6, align 1 + %conv1 = sext i8 %7 to i32 + %cmp = icmp eq i32 %conv, %conv1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + %8 = load i8*, i8** %s, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %8, i32 1 + store i8* %incdec.ptr3, i8** %s, align 8 + %9 = load i8*, i8** %s2.addr, align 8 + store i8* %9, i8** %p, align 8 + br label %if.end + +if.end: ; preds = %if.then, %while.body + br label %while.cond + +while.end: ; preds = %while.cond + %10 = load i8*, i8** %s, align 8 + %11 = load i8*, i8** %s1.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %10 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %11 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_wchar_wcsntoutf8s(i8* noalias %s, i64 %n, i32** noalias %src, i64 %wn) #0 { +entry: + %retval = alloca i64, align 8 + %s.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %src.addr = alloca i32**, align 8 + %wn.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + %len = alloca i64, align 8 + %t = alloca i64, align 8 + %wc = alloca i32, align 4 + %swc = alloca i32*, align 8 + %store = alloca i32, align 4 + %buf = alloca [16 x i8], align 16 + %m = alloca i8, align 1 + store i8* %s, i8** %s.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i32** %src, i32*** %src.addr, align 8 + store i64 %wn, i64* %wn.addr, align 8 + store i32 1, i32* %store, align 4 + %0 = load i8*, i8** %s.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %lor.lhs.false, label %if.then + +lor.lhs.false: ; preds = %entry + %1 = load i8*, i8** %s.addr, align 8 + %2 = load i32**, i32*** %src.addr, align 8 + %3 = bitcast i32** %2 to i8* + %cmp = icmp eq i8* %1, %3 + br i1 %cmp, label %if.then, label %if.end3 + +if.then: ; preds = %lor.lhs.false, %entry + %4 = load i8*, i8** %s.addr, align 8 + %tobool1 = icmp ne i8* %4, null + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + store i64 -1, i64* %n.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay, i8** %s.addr, align 8 + store i32 0, i32* %store, align 4 + br label %if.end3 + +if.end3: ; preds = %if.end, %lor.lhs.false + %5 = load i64, i64* %n.addr, align 8 + store i64 %5, i64* %t, align 8 + %6 = load i32**, i32*** %src.addr, align 8 + %7 = load i32*, i32** %6, align 8 + store i32* %7, i32** %swc, align 8 + br label %while.cond + +while.cond: ; preds = %if.end51, %if.end3 + %8 = load i64, i64* %wn.addr, align 8 + %tobool4 = icmp ne i64 %8, 0 + %9 = load i64, i64* %t, align 8 + %tobool5 = icmp ne i64 %9, 0 + %10 = select i1 %tobool4, i1 %tobool5, i1 false + br i1 %10, label %while.body, label %while.end52 + +while.body: ; preds = %while.cond + %11 = load i32*, i32** %swc, align 8 + %12 = load i32, i32* %11, align 4 + store i32 %12, i32* %wc, align 4 + %13 = load i32, i32* %wc, align 4 + %conv = trunc i32 %13 to i8 + %14 = load i8*, i8** %s.addr, align 8 + store i8 %conv, i8* %14, align 1 + store i64 1, i64* %len, align 8 + %15 = load i32, i32* %wc, align 4 + %cmp6 = icmp uge i32 %15, 128 + %16 = load i32, i32* %wc, align 4 + br i1 %cmp6, label %if.then8, label %if.else + +if.then8: ; preds = %while.body + %conv9 = zext i32 %16 to i64 + %cmp10 = icmp ugt i64 %conv9, 2147483647 + br i1 %cmp10, label %if.then19, label %lor.lhs.false12 + +lor.lhs.false12: ; preds = %if.then8 + %17 = load i32, i32* %wc, align 4 + %sub = sub i32 %17, 65534 + %cmp13 = icmp ult i32 %sub, 2 + br i1 %cmp13, label %if.then19, label %lor.lhs.false15 + +lor.lhs.false15: ; preds = %lor.lhs.false12 + %18 = load i32, i32* %wc, align 4 + %sub16 = sub i32 %18, 55296 + %cmp17 = icmp ult i32 %sub16, 2048 + br i1 %cmp17, label %if.then19, label %if.end20 + +if.then19: ; preds = %lor.lhs.false15, %lor.lhs.false12, %if.then8 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end20: ; preds = %lor.lhs.false15 + %19 = load i32, i32* %wc, align 4 + %shr = lshr i32 %19, 1 + store i32 %shr, i32* %wc, align 4 + %20 = load i8*, i8** %s.addr, align 8 + store i8* %20, i8** %p, align 8 + br label %do.body + +do.body: ; preds = %do.body, %if.end20 + %21 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %21, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %22 = load i32, i32* %wc, align 4 + %shr21 = lshr i32 %22, 5 + store i32 %shr21, i32* %wc, align 4 + %tobool22 = icmp ne i32 %shr21, 0 + br i1 %tobool22, label %do.body, label %do.end + +do.end: ; preds = %do.body + %23 = load i32*, i32** %swc, align 8 + %24 = load i32, i32* %23, align 4 + store i32 %24, i32* %wc, align 4 + %25 = load i8*, i8** %p, align 8 + %26 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %25 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %26 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %len, align 8 + %27 = load i64, i64* %t, align 8 + %cmp23 = icmp ugt i64 %sub.ptr.sub, %27 + br i1 %cmp23, label %while.end52, label %if.end26 + +if.end26: ; preds = %do.end + store i8 -128, i8* %m, align 1 + br label %while.cond27 + +while.cond27: ; preds = %while.body30, %if.end26 + %28 = load i8*, i8** %p, align 8 + %29 = load i8*, i8** %s.addr, align 8 + %cmp28 = icmp ugt i8* %28, %29 + %30 = load i8, i8* %m, align 1 + %conv31 = sext i8 %30 to i32 + br i1 %cmp28, label %while.body30, label %while.end + +while.body30: ; preds = %while.cond27 + %shr32 = ashr i32 %conv31, 1 + %or = or i32 %shr32, 128 + %conv33 = trunc i32 %or to i8 + store i8 %conv33, i8* %m, align 1 + %31 = load i32, i32* %wc, align 4 + %and = and i32 %31, 63 + %or34 = or i32 %and, 128 + %conv35 = trunc i32 %or34 to i8 + %32 = load i8*, i8** %p, align 8 + %incdec.ptr36 = getelementptr inbounds i8, i8* %32, i32 -1 + store i8* %incdec.ptr36, i8** %p, align 8 + store i8 %conv35, i8* %incdec.ptr36, align 1 + %33 = load i32, i32* %wc, align 4 + %shr37 = lshr i32 %33, 6 + store i32 %shr37, i32* %wc, align 4 + br label %while.cond27 + +while.end: ; preds = %while.cond27 + %shl = shl i32 %conv31, 1 + %34 = load i8*, i8** %s.addr, align 8 + %35 = load i8, i8* %34, align 1 + %conv39 = sext i8 %35 to i32 + %or40 = or i32 %conv39, %shl + %conv41 = trunc i32 %or40 to i8 + store i8 %conv41, i8* %34, align 1 + br label %if.end46 + +if.else: ; preds = %while.body + %cmp42 = icmp eq i32 %16, 0 + br i1 %cmp42, label %if.then44, label %if.end46 + +if.then44: ; preds = %if.else + store i32* null, i32** %swc, align 8 + br label %while.end52 + +if.end46: ; preds = %if.else, %while.end + %36 = load i32*, i32** %swc, align 8 + %incdec.ptr47 = getelementptr inbounds i32, i32* %36, i32 1 + store i32* %incdec.ptr47, i32** %swc, align 8 + %37 = load i64, i64* %wn.addr, align 8 + %dec = add i64 %37, -1 + store i64 %dec, i64* %wn.addr, align 8 + %38 = load i64, i64* %len, align 8 + %39 = load i64, i64* %t, align 8 + %sub48 = sub i64 %39, %38 + store i64 %sub48, i64* %t, align 8 + %40 = load i32, i32* %store, align 4 + %tobool49 = icmp ne i32 %40, 0 + br i1 %tobool49, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.end46 + %41 = load i64, i64* %len, align 8 + %42 = load i8*, i8** %s.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %42, i64 %41 + store i8* %add.ptr, i8** %s.addr, align 8 + br label %if.end51 + +if.end51: ; preds = %if.then50, %if.end46 + br label %while.cond + +while.end52: ; preds = %do.end, %if.then44, %while.cond + %43 = load i32, i32* %store, align 4 + %tobool53 = icmp ne i32 %43, 0 + br i1 %tobool53, label %if.then54, label %if.end55 + +if.then54: ; preds = %while.end52 + %44 = load i32*, i32** %swc, align 8 + %45 = load i32**, i32*** %src.addr, align 8 + store i32* %44, i32** %45, align 8 + br label %if.end55 + +if.end55: ; preds = %if.then54, %while.end52 + %46 = load i64, i64* %n.addr, align 8 + %47 = load i64, i64* %t, align 8 + %sub56 = sub i64 %46, %47 + store i64 %sub56, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end55, %if.then19 + %48 = load i64, i64* %retval, align 8 + ret i64 %48 +} + +attributes #0 = { noinline nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #1 = { noinline noreturn nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #2 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #3 = { noinline nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #4 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #5 = { "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #6 = { noinline noreturn nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #7 = { noreturn "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #8 = { argmemonly nounwind willreturn writeonly } +attributes #9 = { argmemonly nounwind willreturn } +attributes #10 = { noreturn nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #11 = { nounwind } +attributes #12 = { noinline nounwind readnone uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #13 = { noreturn "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #14 = { noinline nounwind readonly uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #15 = { noinline nounwind readnone uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #16 = { noinline nounwind readonly uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #17 = { noinline nounwind returns_twice uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #18 = { "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #19 = { nobuiltin "no-builtins" } +attributes #20 = { nobuiltin nounwind "no-builtins" } +attributes #21 = { nobuiltin nounwind readonly "no-builtins" } +attributes #22 = { nobuiltin nounwind readnone "no-builtins" } +attributes #23 = { nobuiltin noreturn nounwind "no-builtins" } +attributes #24 = { nounwind readonly } +attributes #25 = { noreturn } +attributes #26 = { nounwind readnone } +attributes #27 = { noreturn nounwind } +attributes #28 = { nobuiltin noreturn "no-builtins" } + +!llvm.module.flags = !{!0, !1} +!llvm.ident = !{!2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2} + +!0 = !{i32 1, !"wchar_size", i32 4} +!1 = !{i32 7, !"PIC Level", i32 2} +!2 = !{!"clang version 11.1.0 (https://github.com/llvm/llvm-project.git 1fdec59bffc11ae37eb51a1b9869f0696bfd5312)"} diff --git a/benchmarks/coreutils/gensym_posix/base64.ll b/benchmarks/coreutils/gensym_posix/base64.ll new file mode 100644 index 000000000..90f27bed7 --- /dev/null +++ b/benchmarks/coreutils/gensym_posix/base64.ll @@ -0,0 +1,33766 @@ +; ModuleID = '__uClibc_main.os' +source_filename = "libc/misc/internals/__uClibc_main.c" +target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" +target triple = "x86_64-unknown-linux-gnu" + +module asm ".section .gnu.warning.siggetmask" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.__fpending" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.gets" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.tmpnam" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.mktemp" +module asm "\09.previous" + +%struct.__uclibc_locale_struct.201 = type { i16*, i16*, i16*, [384 x i16], [384 x i16], [384 x i16], [14 x i8], [6 x i16], [6 x i8], i8, i8, [10 x i8], i8*, i8*, i8*, i8*, i8*, i16*, i8*, i8*, i16*, i8*, i8*, i16*, i32, i32, i32, i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__collate_t.200 } +%struct.__collate_t.200 = type { i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16*, i16*, i16*, i16*, i16*, i16*, i16*, i16*, i16*, i16 } +%struct.__STDIO_FILE_STRUCT.568 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.568*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__mbstate_t.512 = type { i32, i32 } +%struct.quoting_options = type { i32, i32, [8 x i32], i8*, i8* } +%struct.infomap = type { i8*, i8* } +%struct.option = type { i8*, i32, i32*, i32 } +%struct.slotvec = type { i64, i8* } +%struct.exe_file_t = type { i32, i32, i64, %struct.exe_disk_file_t* } +%struct.exe_disk_file_t = type { i32, i8*, %struct.stat64* } +%struct.stat64 = type { i64, i64, i64, i32, i32, i32, i32, i64, i64, i64, i64, %struct.timespec, %struct.timespec, %struct.timespec, [3 x i64] } +%struct.timespec = type { i64, i64 } +%struct.exe_file_system_t = type { i32, %struct.exe_disk_file_t*, %struct.exe_disk_file_t*, i32, %struct.exe_disk_file_t*, i32, i32*, i32*, i32*, i32*, i32*, i32*, i32* } +%struct.__locale_mmap_t.203 = type { [420 x i8], [504 x i8], [1760 x i16], [4528 x i8], [3604 x i8], [1680 x i8], [196 x i16], [51 x i8], [28 x i8], [1646 x i8], [28353 x i8], [1804 x i8], [23 x %struct.__codeset_8_bit_t.202], [20 x i8], [10 x i16], [20 x i16], [45 x i8], [3 x i16], [15 x i16], [3894 x i8], [22 x i16], [407 x i16], [8250 x i8], [50 x i16], [3429 x i16], [372 x i8], [4 x i16], [200 x i16], [91141 x i16], [6 x i8], [24 x i64], [2826 x i8], [835 x i8], [18 x i8], [69 x i8], [255 x i8] } +%struct.__codeset_8_bit_t.202 = type { [16 x i8], [16 x i8], [16 x i8], [38 x i8] } +%struct.utmp.323 = type { i16, i32, [32 x i8], [4 x i8], [32 x i8], [256 x i8], %struct.exit_status, i64, %struct.timespec, [4 x i32], [20 x i8] } +%struct.exit_status = type { i16, i16 } +%struct._getopt_data = type { i32, i32, i32, i8*, i32, i8*, i32, i32, i32, i32 } +%struct.exit_function = type { i64, %union.anon.772 } +%union.anon.772 = type { %struct.anon.0.771 } +%struct.anon.0.771 = type { void (i8*)*, i8*, i8* } +%struct.dirent64 = type { i64, i64, i16, i8, [256 x i8] } +%struct.__STDIO_FILE_STRUCT.590 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.590*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.592 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.592*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.608 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.608*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.621 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.621*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.636 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.636*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.Elf64_auxv_t = type { i64, %union.anon.193 } +%union.anon.193 = type { i64 } +%struct.stat.192 = type { i64, i64, i64, i32, i32, i32, i32, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, [3 x i64] } +%struct.__STDIO_FILE_STRUCT.513 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.513*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.exe_sym_env_t = type { [32 x %struct.exe_file_t], i32, i32, i32 } +%struct.__va_list_tag.0 = type { i32, i32, i8*, i8* } +%struct.termios = type { i32, i32, i32, i32, i8, [32 x i8], i32, i32 } +%struct.winsize = type { i16, i16, i16, i16 } +%struct.flock = type { i16, i16, i64, i64, i32 } +%struct.statfs = type { i64, i64, i64, i64, i64, i64, i64, %struct.__fsid_t, i64, i64, i64, [4 x i64] } +%struct.__fsid_t = type { [2 x i32] } +%struct.fd_set = type { [16 x i64] } +%struct.coldata_header_t = type { i16, i16, i16, i16, i16, i16, i16, i16 } +%struct.coldata_base_t = type { i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16 } +%struct._IO_FILE = type { i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct._IO_marker*, %struct._IO_FILE*, i32, i32, i64, i16, i8, [1 x i8], i8*, i64, %struct._IO_codecvt*, %struct._IO_wide_data*, %struct._IO_FILE*, i8*, i64, i32, [20 x i8] } +%struct._IO_marker = type opaque +%struct._IO_codecvt = type opaque +%struct._IO_wide_data = type opaque +%struct.base64_decode_context = type { i32, [4 x i8] } +%struct.__mbstate_t = type { i32, %union.anon } +%union.anon = type { i32 } +%struct.sigaction.800 = type { %union.anon.799, %struct.fd_set, i32, void ()* } +%union.anon.799 = type { void (i32)* } +%struct.tms = type { i64, i64, i64, i64 } +%struct.utmpx = type opaque +%struct.utmp = type { i16, i32, [32 x i8], [4 x i8], [32 x i8], [256 x i8], %struct.exit_status, i32, %struct.__mbstate_t.512, [4 x i32], [20 x i8] } +%struct.rusage = type { %struct.timespec, %struct.timespec, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193 } +%struct.siginfo_t = type { i32, i32, i32, i32, %union.anon.0 } +%union.anon.0 = type { %struct.anon.3, [80 x i8] } +%struct.anon.3 = type { i32, i32, i32, i64, i64 } +%struct.kernel_sigaction = type { void (i32)*, i64, void ()*, %struct.fd_set } +%struct.__jmp_buf_tag = type { [8 x i64], i32, %struct.fd_set } +%struct.__STDIO_FILE_STRUCT.519 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.519*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.612 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.612*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__kernel_termios = type { i32, i32, i32, i32, i8, [19 x i8] } +%struct.ppfs_t.722 = type { i8*, %struct.printf_info.720, i32, i32, i32, [4 x i8], [9 x i32], [1 x %struct.__va_list_tag.0], [9 x %union.anon.193] } +%struct.printf_info.720 = type { i32, i32, i32, i32, i32 } +%struct.anon.779 = type { void (i32, i8*)*, i8* } + +@__libc_stack_end = global i8* null, align 8 +@.str = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@__uclibc_progname = hidden global i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i32 0, i32 0), align 8 +@program_invocation_short_name = global i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i32 0, i32 0), align 8 +@program_invocation_name = global i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i32 0, i32 0), align 8 +@__environ = global i8** null, align 8 +@__pagesize = global i64 0, align 8 +@__uClibc_init.been_there_done_that = internal global i32 0, align 4 +@__app_fini = hidden global void ()* null, align 8 +@__rtld_fini = hidden global void ()* null, align 8 +@.str.1 = private unnamed_addr constant [10 x i8] c"/dev/null\00", align 1 +@llvm.used = appending global [5 x i8*] [i8* getelementptr inbounds ([57 x i8], [57 x i8]* @__evoke_link_warning_siggetmask, i32 0, i32 0), i8* getelementptr inbounds ([167 x i8], [167 x i8]* @__evoke_link_warning___fpending, i32 0, i32 0), i8* getelementptr inbounds ([57 x i8], [57 x i8]* @__evoke_link_warning_gets, i32 0, i32 0), i8* getelementptr inbounds ([55 x i8], [55 x i8]* @__evoke_link_warning_tmpnam, i32 0, i32 0), i8* getelementptr inbounds ([55 x i8], [55 x i8]* @__evoke_link_warning_mktemp, i32 0, i32 0)], section "llvm.metadata" +@__evoke_link_warning_siggetmask = internal constant [57 x i8] c"warning: `siggetmask' is obsolete; `sigprocmask' is best\00", section ".gnu.warning.siggetmask\0A#APP\0A\09#", align 16 +@__evoke_link_warning___fpending = internal constant [167 x i8] c"This version of __fpending returns bytes remaining in buffer for both narrow and wide streams. glibc's version returns wide chars in buffer for the wide stream case.\00", section ".gnu.warning.__fpending\0A#APP\0A\09#", align 16 +@__evoke_link_warning_gets = internal constant [57 x i8] c"the 'gets' function is dangerous and should not be used.\00", section ".gnu.warning.gets\0A#APP\0A\09#", align 16 +@__evoke_link_warning_tmpnam = internal constant [55 x i8] c"the use of `tmpnam' is dangerous, better use `mkstemp'\00", section ".gnu.warning.tmpnam\0A#APP\0A\09#", align 16 +@tmpnam_buffer = internal global [20 x i8] zeroinitializer, align 16 +@__evoke_link_warning_mktemp = internal constant [55 x i8] c"the use of `mktemp' is dangerous, better use `mkstemp'\00", section ".gnu.warning.mktemp\0A#APP\0A\09#", align 16 +@.str.4 = private unnamed_addr constant [77 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/fd.c\00", align 1 +@.str.27 = private unnamed_addr constant [37 x i8] c"ERROR: concretizing symbolic pointer\00", align 1 +@.str.28 = private unnamed_addr constant [9 x i8] c"user.err\00", align 1 +@.str.25 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@getcwd.n_calls = internal global i32 0, align 4 +@.str.5 = private unnamed_addr constant [46 x i8] c"Undefined call to open(): O_TRUNC | O_RDONLY\0A\00", align 1 +@.str.1.6 = private unnamed_addr constant [47 x i8] c"Undefined call to open(): O_EXCL w/o O_RDONLY\0A\00", align 1 +@.str.2 = private unnamed_addr constant [44 x i8] c"symbolic file descriptor, ignoring (ENOENT)\00", align 1 +@close.n_calls = internal global i32 0, align 4 +@read.n_calls = internal global i32 0, align 4 +@.str.3 = private unnamed_addr constant [12 x i8] c"f->off >= 0\00", align 1 +@__PRETTY_FUNCTION__.read = private unnamed_addr constant [34 x i8] c"ssize_t read(int, void *, size_t)\00", align 1 +@write.n_calls = internal global i32 0, align 4 +@.str.5.7 = private unnamed_addr constant [7 x i8] c"r >= 0\00", align 1 +@__PRETTY_FUNCTION__.write = private unnamed_addr constant [41 x i8] c"ssize_t write(int, const void *, size_t)\00", align 1 +@.str.6 = private unnamed_addr constant [2 x i8] c"0\00", align 1 +@.str.7 = private unnamed_addr constant [24 x i8] c"write() ignores bytes.\0A\00", align 1 +@.str.8 = private unnamed_addr constant [18 x i8] c"new_off == f->off\00", align 1 +@__PRETTY_FUNCTION__.__fd_lseek = private unnamed_addr constant [38 x i8] c"off64_t __fd_lseek(int, off64_t, int)\00", align 1 +@.str.9 = private unnamed_addr constant [33 x i8] c"symbolic file, ignoring (ENOENT)\00", align 1 +@chmod.n_calls = internal global i32 0, align 4 +@fchmod.n_calls = internal global i32 0, align 4 +@.str.26 = private unnamed_addr constant [32 x i8] c"symbolic file, ignoring (EPERM)\00", align 1 +@__fd_ftruncate.n_calls = internal global i32 0, align 4 +@.str.10 = private unnamed_addr constant [30 x i8] c"symbolic file, ignoring (EIO)\00", align 1 +@.str.11 = private unnamed_addr constant [33 x i8] c"symbolic file, ignoring (EINVAL)\00", align 1 +@.str.12 = private unnamed_addr constant [18 x i8] c"s != (off64_t) -1\00", align 1 +@__PRETTY_FUNCTION__.__fd_getdents = private unnamed_addr constant [65 x i8] c"int __fd_getdents(unsigned int, struct dirent64 *, unsigned int)\00", align 1 +@.str.13 = private unnamed_addr constant [22 x i8] c"f->off != (off64_t)-1\00", align 1 +@.str.14 = private unnamed_addr constant [41 x i8] c"(TCGETS) symbolic file, incomplete model\00", align 1 +@.str.15 = private unnamed_addr constant [42 x i8] c"(TCSETS) symbolic file, silently ignoring\00", align 1 +@.str.16 = private unnamed_addr constant [43 x i8] c"(TCSETSW) symbolic file, silently ignoring\00", align 1 +@.str.17 = private unnamed_addr constant [43 x i8] c"(TCSETSF) symbolic file, silently ignoring\00", align 1 +@.str.18 = private unnamed_addr constant [45 x i8] c"(TIOCGWINSZ) symbolic file, incomplete model\00", align 1 +@.str.19 = private unnamed_addr constant [46 x i8] c"(TIOCSWINSZ) symbolic file, ignoring (EINVAL)\00", align 1 +@.str.20 = private unnamed_addr constant [43 x i8] c"(FIONREAD) symbolic file, incomplete model\00", align 1 +@.str.21 = private unnamed_addr constant [44 x i8] c"(MTIOCGET) symbolic file, ignoring (EINVAL)\00", align 1 +@.str.22 = private unnamed_addr constant [32 x i8] c"symbolic file, ignoring (EBADF)\00", align 1 +@.str.23 = private unnamed_addr constant [17 x i8] c"ignoring (EPERM)\00", align 1 +@.str.24 = private unnamed_addr constant [18 x i8] c"ignoring (ENOENT)\00", align 1 +@__const.klee_init_env.sym_arg_name = private unnamed_addr constant [6 x i8] c"arg\00\00\00", align 1 +@.str.29 = private unnamed_addr constant [7 x i8] c"--help\00", align 1 +@.str.1.30 = private unnamed_addr constant [964 x i8] c"klee_init_env\0A\0Ausage: (klee_init_env) [options] [program arguments]\0A -sym-arg - Replace by a symbolic argument with length N\0A -sym-args - Replace by at least MIN arguments and at most\0A MAX arguments, each with maximum length N\0A -sym-files - Make NUM symbolic files ('A', 'B', 'C', etc.),\0A each with size N\0A -sym-stdin - Make stdin symbolic with size N.\0A -sym-stdout - Make stdout symbolic.\0A -save-all-writes - Allow write operations to execute as expected\0A even if they exceed the file size. If set to 0, all\0A writes exceeding the initial file size are discarded.\0A Note: file offset is always incremented.\0A -max-fail - Allow up to N injected failures\0A -fd-fail - Shortcut for '-max-fail 1'\0A\0A\00", align 1 +@.str.2.31 = private unnamed_addr constant [10 x i8] c"--sym-arg\00", align 1 +@.str.3.32 = private unnamed_addr constant [9 x i8] c"-sym-arg\00", align 1 +@.str.4.33 = private unnamed_addr constant [48 x i8] c"--sym-arg expects an integer argument \00", align 1 +@.str.5.34 = private unnamed_addr constant [45 x i8] c"No more than 100 symbolic arguments allowed.\00", align 1 +@.str.6.35 = private unnamed_addr constant [11 x i8] c"--sym-args\00", align 1 +@.str.7.36 = private unnamed_addr constant [10 x i8] c"-sym-args\00", align 1 +@.str.8.37 = private unnamed_addr constant [77 x i8] c"--sym-args expects three integer arguments \00", align 1 +@.str.9.38 = private unnamed_addr constant [28 x i8] c"Invalid range to --sym-args\00", align 1 +@.str.10.39 = private unnamed_addr constant [7 x i8] c"n_args\00", align 1 +@.str.11.40 = private unnamed_addr constant [12 x i8] c"--sym-files\00", align 1 +@.str.12.41 = private unnamed_addr constant [11 x i8] c"-sym-files\00", align 1 +@.str.13.42 = private unnamed_addr constant [72 x i8] c"--sym-files expects two integer arguments \00", align 1 +@.str.14.43 = private unnamed_addr constant [39 x i8] c"Multiple --sym-files are not allowed.\0A\00", align 1 +@.str.15.44 = private unnamed_addr constant [65 x i8] c"The first argument to --sym-files (number of files) cannot be 0\0A\00", align 1 +@.str.16.45 = private unnamed_addr constant [60 x i8] c"The second argument to --sym-files (file size) cannot be 0\0A\00", align 1 +@.str.17.46 = private unnamed_addr constant [12 x i8] c"--sym-stdin\00", align 1 +@.str.18.47 = private unnamed_addr constant [11 x i8] c"-sym-stdin\00", align 1 +@.str.19.48 = private unnamed_addr constant [57 x i8] c"--sym-stdin expects one integer argument \00", align 1 +@.str.20.49 = private unnamed_addr constant [13 x i8] c"--sym-stdout\00", align 1 +@.str.21.50 = private unnamed_addr constant [12 x i8] c"-sym-stdout\00", align 1 +@.str.22.51 = private unnamed_addr constant [18 x i8] c"--save-all-writes\00", align 1 +@.str.23.52 = private unnamed_addr constant [17 x i8] c"-save-all-writes\00", align 1 +@.str.24.53 = private unnamed_addr constant [10 x i8] c"--fd-fail\00", align 1 +@.str.25.54 = private unnamed_addr constant [9 x i8] c"-fd-fail\00", align 1 +@.str.26.55 = private unnamed_addr constant [12 x i8] c"--bout-file\00", align 1 +@.str.27.56 = private unnamed_addr constant [11 x i8] c"-bout-file\00", align 1 +@.str.28.57 = private unnamed_addr constant [11 x i8] c"--max-fail\00", align 1 +@.str.29.58 = private unnamed_addr constant [10 x i8] c"-max-fail\00", align 1 +@.str.30 = private unnamed_addr constant [54 x i8] c"--max-fail expects an integer argument \00", align 1 +@.str.31 = private unnamed_addr constant [31 x i8] c"out of memory in klee_init_env\00", align 1 +@.str.35 = private unnamed_addr constant [37 x i8] c"too many arguments for klee_init_env\00", align 1 +@.str.32 = private unnamed_addr constant [88 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/klee_init_env.c\00", align 1 +@.str.33 = private unnamed_addr constant [9 x i8] c"user.err\00", align 1 +@.str.34 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.68 = private unnamed_addr constant [5 x i8] c"file\00", align 1 +@.str.1.69 = private unnamed_addr constant [5 x i8] c"/tmp\00", align 1 +@.str.2.70 = private unnamed_addr constant [16 x i8] c"%.*s/%.*sXXXXXX\00", align 1 +@.str.3.73 = private unnamed_addr constant [7 x i8] c"XXXXXX\00", align 1 +@letters = internal constant [63 x i8] c"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\00", align 16 +@brain_damaged_fillrand.value = internal global i64 0, align 8 +@.str.4.74 = private unnamed_addr constant [13 x i8] c"/dev/urandom\00", align 1 +@.str.5.75 = private unnamed_addr constant [12 x i8] c"/dev/random\00", align 1 +@__global_locale_data = global %struct.__uclibc_locale_struct.201 zeroinitializer, align 8 +@__global_locale = global %struct.__uclibc_locale_struct.201* @__global_locale_data, align 8 +@__curlocale_var = global %struct.__uclibc_locale_struct.201* @__global_locale_data, align 8 +@utf8 = internal constant [6 x i8] c"UTF-8\00", align 1 +@ascii = internal constant [6 x i8] c"ASCII\00", align 1 +@__code2flag = internal constant [16 x i16] [i16 0, i16 -15352, i16 -14840, i16 -14584, i16 -15096, i16 -14328, i16 -16380, i16 -16384, i16 24576, i16 24577, i16 8192, i16 8193, i16 8194, i16 8195, i16 2, i16 0], align 16 +@.str.76 = private unnamed_addr constant [14 x i8] c"#\80\80\80\80\80\80\80\80\80\80\80\80\00", align 1 +@stdin = global %struct.__STDIO_FILE_STRUCT.568* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i32 0, i32 0), align 8 +@_stdio_streams = internal global [3 x %struct.__STDIO_FILE_STRUCT.568] [%struct.__STDIO_FILE_STRUCT.568 { i16 544, [2 x i8] zeroinitializer, i32 0, i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 88) to %struct.__STDIO_FILE_STRUCT.568*), [2 x i32] zeroinitializer, %struct.__mbstate_t.512 zeroinitializer, i8* null }, %struct.__STDIO_FILE_STRUCT.568 { i16 528, [2 x i8] zeroinitializer, i32 1, i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 176) to %struct.__STDIO_FILE_STRUCT.568*), [2 x i32] zeroinitializer, %struct.__mbstate_t.512 zeroinitializer, i8* null }, %struct.__STDIO_FILE_STRUCT.568 { i16 528, [2 x i8] zeroinitializer, i32 2, i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, %struct.__STDIO_FILE_STRUCT.568* null, [2 x i32] zeroinitializer, %struct.__mbstate_t.512 zeroinitializer, i8* null }], align 16 +@stdout = global %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 88) to %struct.__STDIO_FILE_STRUCT.568*), align 8 +@stderr = global %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 176) to %struct.__STDIO_FILE_STRUCT.568*), align 8 +@__stdin = global %struct.__STDIO_FILE_STRUCT.568* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i32 0, i32 0), align 8 +@__stdout = global %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 88) to %struct.__STDIO_FILE_STRUCT.568*), align 8 +@_stdio_openlist = global %struct.__STDIO_FILE_STRUCT.568* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i32 0, i32 0), align 8 +@been_there_done_that = internal global i32 0, align 4 +@__exit_cleanup = hidden global void (i32)* null, align 8 +@Version = dso_local global i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.44, i32 0, i32 0), align 8 +@.str.44 = private unnamed_addr constant [5 x i8] c"8.32\00", align 1 +@exit_failure = dso_local global i32 1, align 4 +@program_name = dso_local global i8* null, align 8 +@quoting_style_args = dso_local constant [11 x i8*] [i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.69, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1.70, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2.71, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.3.72, i32 0, i32 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.4.73, i32 0, i32 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.5.74, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.6.75, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.7.76, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.8.77, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.9.78, i32 0, i32 0), i8* null], align 16 +@.str.69 = private unnamed_addr constant [8 x i8] c"literal\00", align 1 +@.str.1.70 = private unnamed_addr constant [6 x i8] c"shell\00", align 1 +@.str.2.71 = private unnamed_addr constant [13 x i8] c"shell-always\00", align 1 +@.str.3.72 = private unnamed_addr constant [13 x i8] c"shell-escape\00", align 1 +@.str.4.73 = private unnamed_addr constant [20 x i8] c"shell-escape-always\00", align 1 +@.str.5.74 = private unnamed_addr constant [2 x i8] c"c\00", align 1 +@.str.6.75 = private unnamed_addr constant [8 x i8] c"c-maybe\00", align 1 +@.str.7.76 = private unnamed_addr constant [7 x i8] c"escape\00", align 1 +@.str.8.77 = private unnamed_addr constant [7 x i8] c"locale\00", align 1 +@.str.9.78 = private unnamed_addr constant [8 x i8] c"clocale\00", align 1 +@quoting_style_vals = dso_local constant [10 x i32] [i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9], align 16 +@quote_quoting_options = dso_local global %struct.quoting_options { i32 8, i32 0, [8 x i32] zeroinitializer, i8* null, i8* null }, align 8 +@version_etc_copyright = dso_local constant [47 x i8] c"Copyright %s %d Free Software Foundation, Inc.\00", align 16 +@.str.95 = private unnamed_addr constant [39 x i8] c"Try '%s --help' for more information.\0A\00", align 1 +@.str.1.96 = private unnamed_addr constant [30 x i8] c"Usage: %s [OPTION]... [FILE]\0A\00", align 1 +@.str.2.97 = private unnamed_addr constant [70 x i8] c"Base%d encode or decode FILE, or standard input, to standard output.\0A\00", align 1 +@.str.3.98 = private unnamed_addr constant [243 x i8] c" -d, --decode decode data\0A -i, --ignore-garbage when decoding, ignore non-alphabet characters\0A -w, --wrap=COLS wrap encoded lines after COLS character (default 76).\0A Use 0 to disable line wrapping\0A\0A\00", align 1 +@.str.4.99 = private unnamed_addr constant [45 x i8] c" --help display this help and exit\0A\00", align 1 +@.str.5.100 = private unnamed_addr constant [54 x i8] c" --version output version information and exit\0A\00", align 1 +@.str.6.101 = private unnamed_addr constant [268 x i8] c"\0AThe data are encoded as described for the %s alphabet in RFC 4648.\0AWhen decoding, the input may contain newlines in addition to the bytes of\0Athe formal %s alphabet. Use --ignore-garbage to attempt to recover\0Afrom any other non-alphabet bytes in the encoded stream.\0A\00", align 1 +@.str.7.102 = private unnamed_addr constant [7 x i8] c"base64\00", align 1 +@__const.emit_ancillary_info.infomap = private unnamed_addr constant [7 x %struct.infomap] [%struct.infomap { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.20.112, i32 0, i32 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.21.113, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.22.114, i32 0, i32 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.23.115, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.24.116, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.25.117, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.26.118, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.25.117, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.27.119, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.25.117, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.28.120, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.25.117, i32 0, i32 0) }, %struct.infomap zeroinitializer], align 16 +@.str.29.103 = private unnamed_addr constant [23 x i8] c"\0A%s online help: <%s>\0A\00", align 1 +@.str.11.104 = private unnamed_addr constant [14 x i8] c"GNU coreutils\00", align 1 +@.str.30.105 = private unnamed_addr constant [40 x i8] c"https://www.gnu.org/software/coreutils/\00", align 1 +@.str.31.106 = private unnamed_addr constant [4 x i8] c"en_\00", align 1 +@.str.32.107 = private unnamed_addr constant [71 x i8] c"Report any translation bugs to \0A\00", align 1 +@.str.33.108 = private unnamed_addr constant [27 x i8] c"Full documentation <%s%s>\0A\00", align 1 +@.str.35.109 = private unnamed_addr constant [12 x i8] c" invocation\00", align 1 +@.str.8.110 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@.str.34.111 = private unnamed_addr constant [51 x i8] c"or available locally via: info '(coreutils) %s%s'\0A\00", align 1 +@.str.20.112 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@.str.21.113 = private unnamed_addr constant [16 x i8] c"test invocation\00", align 1 +@.str.22.114 = private unnamed_addr constant [10 x i8] c"coreutils\00", align 1 +@.str.23.115 = private unnamed_addr constant [22 x i8] c"Multi-call invocation\00", align 1 +@.str.24.116 = private unnamed_addr constant [10 x i8] c"sha224sum\00", align 1 +@.str.25.117 = private unnamed_addr constant [15 x i8] c"sha2 utilities\00", align 1 +@.str.26.118 = private unnamed_addr constant [10 x i8] c"sha256sum\00", align 1 +@.str.27.119 = private unnamed_addr constant [10 x i8] c"sha384sum\00", align 1 +@.str.28.120 = private unnamed_addr constant [10 x i8] c"sha512sum\00", align 1 +@.str.19.121 = private unnamed_addr constant [75 x i8] c"\0AMandatory arguments to long options are mandatory for short options too.\0A\00", align 1 +@.str.18.122 = private unnamed_addr constant [56 x i8] c"\0AWith no FILE, or when FILE is -, read standard input.\0A\00", align 1 +@.str.9.125 = private unnamed_addr constant [5 x i8] c"diw:\00", align 1 +@long_options = internal constant [6 x %struct.option] [%struct.option { i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.36, i32 0, i32 0), i32 0, i32* null, i32 100 }, %struct.option { i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.37, i32 0, i32 0), i32 1, i32* null, i32 119 }, %struct.option { i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.38, i32 0, i32 0), i32 0, i32* null, i32 105 }, %struct.option { i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.39, i32 0, i32 0), i32 0, i32* null, i32 -130 }, %struct.option { i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.40, i32 0, i32 0), i32 0, i32* null, i32 -131 }, %struct.option zeroinitializer], align 16 +@.str.10.126 = private unnamed_addr constant [18 x i8] c"invalid wrap size\00", align 1 +@.str.12.127 = private unnamed_addr constant [16 x i8] c"Simon Josefsson\00", align 1 +@.str.13.128 = private unnamed_addr constant [17 x i8] c"extra operand %s\00", align 1 +@.str.14.129 = private unnamed_addr constant [2 x i8] c"-\00", align 1 +@.str.15.130 = private unnamed_addr constant [3 x i8] c"rb\00", align 1 +@.str.16.131 = private unnamed_addr constant [3 x i8] c"%s\00", align 1 +@.str.17.132 = private unnamed_addr constant [23 x i8] c"closing standard input\00", align 1 +@.str.42 = private unnamed_addr constant [12 x i8] c"write error\00", align 1 +@.str.41 = private unnamed_addr constant [11 x i8] c"read error\00", align 1 +@b64c = internal constant [64 x i8] c"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", align 16 +@.str.131 = private unnamed_addr constant [3 x i8] c"%s\00", align 1 +@.str.1.132 = private unnamed_addr constant [17 x i8] c"memory exhausted\00", align 1 +@.str.43 = private unnamed_addr constant [14 x i8] c"invalid input\00", align 1 +@b64 = internal constant [256 x i8] c"\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF>\FF\FF\FF?456789:;<=\FF\FF\FF\FF\FF\FF\FF\00\01\02\03\04\05\06\07\08\09\0A\0B\0C\0D\0E\0F\10\11\12\13\14\15\16\17\18\19\FF\FF\FF\FF\FF\FF\1A\1B\1C\1D\1E\1F !\22#$%&'()*+,-./0123\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF", align 16 +@slotvec = internal global %struct.slotvec* @slotvec0, align 8 +@nslots = internal global i32 1, align 4 +@slotvec0 = internal global %struct.slotvec { i64 256, i8* getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i32 0, i32 0) }, align 8 +@slot0 = internal global [256 x i8] zeroinitializer, align 16 +@.str.10.79 = private unnamed_addr constant [2 x i8] c"\22\00", align 1 +@.str.11.80 = private unnamed_addr constant [2 x i8] c"`\00", align 1 +@.str.12.81 = private unnamed_addr constant [2 x i8] c"'\00", align 1 +@.str.158 = private unnamed_addr constant [2 x i8] c"C\00", align 1 +@.str.1.159 = private unnamed_addr constant [6 x i8] c"POSIX\00", align 1 +@.str.13.82 = private unnamed_addr constant [6 x i8] c"UTF-8\00", align 1 +@.str.14.83 = private unnamed_addr constant [4 x i8] c"\E2\80\98\00", align 1 +@.str.15.84 = private unnamed_addr constant [4 x i8] c"\E2\80\99\00", align 1 +@.str.16.85 = private unnamed_addr constant [8 x i8] c"GB18030\00", align 1 +@.str.17.86 = private unnamed_addr constant [4 x i8] c"\A1\07e\00", align 1 +@.str.18.87 = private unnamed_addr constant [3 x i8] c"\A1\AF\00", align 1 +@.str.162 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@.str.1.163 = private unnamed_addr constant [6 x i8] c"ASCII\00", align 1 +@default_quoting_options = internal global %struct.quoting_options zeroinitializer, align 8 +@.str.94 = private unnamed_addr constant [12 x i8] c"%s (%s) %s\0A\00", align 1 +@.str.1.95 = private unnamed_addr constant [7 x i8] c"%s %s\0A\00", align 1 +@.str.2.96 = private unnamed_addr constant [4 x i8] c"(C)\00", align 1 +@.str.3.97 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.4.98 = private unnamed_addr constant [171 x i8] c"License GPLv3+: GNU GPL version 3 or later <%s>.\0AThis is free software: you are free to change and redistribute it.\0AThere is NO WARRANTY, to the extent permitted by law.\0A\00", align 1 +@.str.5.99 = private unnamed_addr constant [34 x i8] c"https://gnu.org/licenses/gpl.html\00", align 1 +@.str.6.100 = private unnamed_addr constant [16 x i8] c"Written by %s.\0A\00", align 1 +@.str.7.101 = private unnamed_addr constant [23 x i8] c"Written by %s and %s.\0A\00", align 1 +@.str.8.102 = private unnamed_addr constant [28 x i8] c"Written by %s, %s, and %s.\0A\00", align 1 +@.str.9.103 = private unnamed_addr constant [32 x i8] c"Written by %s, %s, %s,\0Aand %s.\0A\00", align 1 +@.str.10.104 = private unnamed_addr constant [36 x i8] c"Written by %s, %s, %s,\0A%s, and %s.\0A\00", align 1 +@.str.11.105 = private unnamed_addr constant [40 x i8] c"Written by %s, %s, %s,\0A%s, %s, and %s.\0A\00", align 1 +@.str.12.106 = private unnamed_addr constant [44 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, and %s.\0A\00", align 1 +@.str.13.107 = private unnamed_addr constant [48 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, %s,\0Aand %s.\0A\00", align 1 +@.str.14.108 = private unnamed_addr constant [52 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, %s,\0A%s, and %s.\0A\00", align 1 +@.str.15.109 = private unnamed_addr constant [60 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, %s,\0A%s, %s, and others.\0A\00", align 1 +@.str.135 = private unnamed_addr constant [7 x i8] c"%s: %s\00", align 1 +@.str.140 = private unnamed_addr constant [38 x i8] c"0 <= strtol_base && strtol_base <= 36\00", align 1 +@.str.1.141 = private unnamed_addr constant [17 x i8] c"../lib/xstrtol.c\00", align 1 +@__PRETTY_FUNCTION__.xstrtoumax = private unnamed_addr constant [79 x i8] c"strtol_error xstrtoumax(const char *, char **, int, uintmax_t *, const char *)\00", align 1 +@.str.36 = private unnamed_addr constant [7 x i8] c"decode\00", align 1 +@.str.37 = private unnamed_addr constant [5 x i8] c"wrap\00", align 1 +@.str.38 = private unnamed_addr constant [15 x i8] c"ignore-garbage\00", align 1 +@.str.39 = private unnamed_addr constant [5 x i8] c"help\00", align 1 +@.str.40 = private unnamed_addr constant [8 x i8] c"version\00", align 1 +@ignore_EPIPE = internal global i8 0, align 1 +@.str.55 = private unnamed_addr constant [12 x i8] c"write error\00", align 1 +@file_name = internal global i8* null, align 8 +@.str.1.56 = private unnamed_addr constant [7 x i8] c"%s: %s\00", align 1 +@.str.2.57 = private unnamed_addr constant [3 x i8] c"%s\00", align 1 +@.str.66 = private unnamed_addr constant [56 x i8] c"A NULL argv[0] was passed through an exec system call.\0A\00", align 1 +@.str.1.67 = private unnamed_addr constant [8 x i8] c"/.libs/\00", align 1 +@.str.2.68 = private unnamed_addr constant [4 x i8] c"lt-\00", align 1 +@.str.16.112 = private unnamed_addr constant [20 x i8] c"Report bugs to: %s\0A\00", align 1 +@.str.17.113 = private unnamed_addr constant [22 x i8] c"bug-coreutils@gnu.org\00", align 1 +@.str.18.114 = private unnamed_addr constant [20 x i8] c"%s home page: <%s>\0A\00", align 1 +@.str.19.115 = private unnamed_addr constant [14 x i8] c"GNU coreutils\00", align 1 +@.str.20.116 = private unnamed_addr constant [40 x i8] c"https://www.gnu.org/software/coreutils/\00", align 1 +@.str.21.117 = private unnamed_addr constant [39 x i8] c"General help using GNU software: <%s>\0A\00", align 1 +@.str.22.118 = private unnamed_addr constant [29 x i8] c"https://www.gnu.org/gethelp/\00", align 1 +@__exe_env = dso_local global { <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] } { <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }> <{ %struct.exe_file_t { i32 0, i32 5, i64 0, %struct.exe_disk_file_t* null }, %struct.exe_file_t { i32 1, i32 9, i64 0, %struct.exe_disk_file_t* null }, %struct.exe_file_t { i32 2, i32 9, i64 0, %struct.exe_disk_file_t* null }, [29 x %struct.exe_file_t] zeroinitializer }>, i32 18, i32 0, i32 0, [4 x i8] undef }, align 8 +@__exe_fs = dso_local global %struct.exe_file_system_t zeroinitializer, align 8 +@__const.klee_init_fds.name = private unnamed_addr constant [7 x i8] c"?-data\00", align 1 +@.str.139 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@.str.1.140 = private unnamed_addr constant [82 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/fd_init.c\00", align 1 +@.str.2.141 = private unnamed_addr constant [31 x i8] c"out of memory in klee_init_env\00", align 1 +@.str.3.142 = private unnamed_addr constant [9 x i8] c"user.err\00", align 1 +@.str.4.144 = private unnamed_addr constant [6 x i8] c"stdin\00", align 1 +@.str.5.145 = private unnamed_addr constant [10 x i8] c"read_fail\00", align 1 +@.str.6.146 = private unnamed_addr constant [11 x i8] c"write_fail\00", align 1 +@.str.7.147 = private unnamed_addr constant [11 x i8] c"close_fail\00", align 1 +@.str.8.148 = private unnamed_addr constant [15 x i8] c"ftruncate_fail\00", align 1 +@.str.9.149 = private unnamed_addr constant [12 x i8] c"getcwd_fail\00", align 1 +@.str.10.150 = private unnamed_addr constant [7 x i8] c"stdout\00", align 1 +@.str.11.151 = private unnamed_addr constant [14 x i8] c"model_version\00", align 1 +@.str.13.152 = private unnamed_addr constant [6 x i8] c"-stat\00", align 1 +@.str.14.153 = private unnamed_addr constant [5 x i8] c"size\00", align 1 +@__PRETTY_FUNCTION__.__create_new_dfile = private unnamed_addr constant [88 x i8] c"void __create_new_dfile(exe_disk_file_t *, unsigned int, const char *, struct stat64 *)\00", align 1 +@.str.12.154 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.155 = private unnamed_addr constant [18 x i8] c"silently ignoring\00", align 1 +@.str.1.160 = private unnamed_addr constant [24 x i8] c"ignoring (EAFNOSUPPORT)\00", align 1 +@.str.11.162 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.2.165 = private unnamed_addr constant [15 x i8] c"ignoring (EIO)\00", align 1 +@.str.3.166 = private unnamed_addr constant [18 x i8] c"ignoring (ENFILE)\00", align 1 +@.str.4.167 = private unnamed_addr constant [17 x i8] c"ignoring (EPERM)\00", align 1 +@.str.5.168 = private unnamed_addr constant [13 x i8] c"returning 0\0A\00", align 1 +@.str.6.169 = private unnamed_addr constant [40 x i8] c"setting all times to 0 and returning 0\0A\00", align 1 +@.str.7.170 = private unnamed_addr constant [17 x i8] c"ignoring (EBADF)\00", align 1 +@.str.8.173 = private unnamed_addr constant [21 x i8] c"ignoring (-1 result)\00", align 1 +@.str.9.174 = private unnamed_addr constant [18 x i8] c"ignoring (ECHILD)\00", align 1 +@.str.10.175 = private unnamed_addr constant [32 x i8] c"silently ignoring (returning 0)\00", align 1 +@__locale_mmap = global %struct.__locale_mmap_t.203* @locale_mmap, align 8 +@locale_mmap = internal constant %struct.__locale_mmap_t.203 { [420 x i8] c"\EE\EE\EE\EE\06afffffff$$$$$$$$$$\06\00\00\00\00D&fffdDDbfff`b\22\22FBFfddfFf$\22fbbB\22DDDD\22\22\22\22\06&fff`\00\00`fffff&ff`ffff\11a\06\00\00\00\11\11\11\11\11\01`\06\EE&fffd\E4\EEnffffb\E2Nfaff\11\11\11\22\22\22\22bDDDdDDD$FDDdDDdD&\22\22b\22\22b\22\22\22\22\12bbf&Fb$dd$dF$$$F\22BB\22fffdbaffff$fba$dFBfdbddBf$df\22b$$FFFdFDdD&&&b&\22b\22Ff\06dFDd@&f&b&\22b D\04DD@DDd\22\02\22\22 \22\22bFAFdFDdd&\22B\22FDDD&\22\22\22\06\00\06\00\00\00f\00\00`\00`\10\11\11\11\11\01\00\00\11afff\06\00\00ff\00ff`f`DddDADDDD@DDDD\22\22!\22\22\22\22\22\22\02\06ffffff\06\00\00\00`f&fffFff\22Fff`b$\04dfff``\00\00 $&f\00`f\06fF@f``\00`f&b\22fFdDffFf\11\11\11a\11\01\00`\11\11\11\16\11f\00\00", [504 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00{}\00\00\00{\00\7F\7F\00\00\00\00\00\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\00\00\F0\FE\00\FE\00\00\00\00\00\00\F0\00\F0\F0\F0\F0\F0\00\00\00\00\00\00\00\00\FF\FF\E7\00\F1\00\00\F0\00\F0\00\00\00\00\F0\00\00\FF\FF\F1\00\00\00\F0\00\F0\00\E7\FF\FF\F0\E0\E0\E0\E0\E0\E0\E0\E0\00\00\F0\00\F0\00\00\00\00\00\F0\00\F0\00\00\A0\00\00\00\00\00\00\00\A0\E0\E0\E0\E0\E0\E0\E0\00\00\F0\F0\F0\F0\F0\F0\00\F0\F0\F0\F0\F0\00\F0\F0\00\FF\FF\00\FF\FF\FB\00\F0\00\F0\FB\F0\00\00\B0\FF\FF\FF\FF\FF\FF\00\FE\F0\FE\F0\FC\F0\FF\FF\FC\E0\E0\E0\E0\E0\E0\E0\B0\00\00\00\00\00\00\FE\00\FE\00\00\00\00\00\00\00\00\00\00\00\FC\00\00\00\FC\00\00\00\FF\FF\BF\00\E0\E0\E0\E0\E0\E0\E0\BF\00\FF\FF\F0\00\00\FE\00\FE\00\F0\00\FE\00\FE\F0\00\00\F9\F0\FC\00\00\00\FC\F9\F0\00\FF\FF\BF\F0\00\F0\00\F0\00\F0\F0\00\00\F0\F0\F0\F0\00\F0\F0\00\F0\00\00\00\00\F0\00\00@\F0\F0\F0\00\00\F0\00\90\F0\F0\F0\00\00\F0\E0\E0\E0\00\E0\E0\E0\E0\00\E0\E0\E0\E0\E0\E0\00\00\F0\F0\F0\F0\00\F0\00\00\F0\F0\F0\F0\FE\F0\FE\00\B0\B0\B0\B0\B0\B0\B0\B0\B0\B0\B0\B0\00\B0\B0\00\00\00\00\00\00\DA\00\DB\DB\DB\00\C0\00\C1\C1\00\E0\E0\E0\E0\E0\E0\E0\E0\E0\00\E0\E0\E0\E0\E0\E0\E0\E0\E0\DA\DB\DB\DB\E0\E0\E1\E0\E0\E0\E0\E0\E0\E0\E0\E0\C0\C1\C1\00\E0\E0\E0\E0\E0t\E0\00\E0\E0\E0\E0\E0L\E0\00\00\00\00\10\00\00\00\00 \10\02\00\02\00\00\00\00\00\00\02\00\02\01\01\00\10\00\00\00\00\00\00\00\00\01\01\10\00\10\00\00\00\00\00\10\00\10\00\00\00\00\00\10\10\00\10\10\00\00\00\00\00\10\00\00", [1760 x i16] [i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 0, i16 1415, i16 1417, i16 41, i16 40, i16 187, i16 171, i16 8212, i16 46, i16 1373, i16 44, i16 45, i16 1418, i16 8230, i16 1372, i16 1371, i16 1374, i16 1329, i16 1377, i16 1330, i16 1378, i16 1331, i16 1379, i16 1332, i16 1380, i16 1333, i16 1381, i16 1334, i16 1382, i16 1335, i16 1383, i16 1336, i16 1384, i16 1337, i16 1385, i16 1338, i16 1386, i16 1339, i16 1387, i16 1340, i16 1388, i16 1341, i16 1389, i16 1342, i16 1390, i16 1343, i16 1391, i16 1344, i16 1392, i16 1345, i16 1393, i16 1346, i16 1394, i16 1347, i16 1395, i16 1348, i16 1396, i16 1349, i16 1397, i16 1350, i16 1398, i16 1351, i16 1399, i16 1352, i16 1400, i16 1353, i16 1401, i16 1354, i16 1402, i16 1355, i16 1403, i16 1356, i16 1404, i16 1357, i16 1405, i16 1358, i16 1406, i16 1359, i16 1407, i16 1360, i16 1408, i16 1361, i16 1409, i16 1362, i16 1410, i16 1363, i16 1411, i16 1364, i16 1412, i16 1365, i16 1413, i16 1366, i16 1414, i16 1370, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1026, i16 1027, i16 8218, i16 1107, i16 8222, i16 8230, i16 8224, i16 8225, i16 8364, i16 8240, i16 1033, i16 8249, i16 1034, i16 1036, i16 1035, i16 1039, i16 1106, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 0, i16 8482, i16 1113, i16 8250, i16 1114, i16 1116, i16 1115, i16 1119, i16 160, i16 1038, i16 1118, i16 1032, i16 164, i16 1168, i16 166, i16 167, i16 1025, i16 169, i16 1028, i16 171, i16 172, i16 173, i16 174, i16 1031, i16 176, i16 177, i16 1030, i16 1110, i16 1169, i16 181, i16 182, i16 183, i16 1105, i16 8470, i16 1108, i16 187, i16 1112, i16 1029, i16 1109, i16 1111, i16 1040, i16 1041, i16 1042, i16 1043, i16 1044, i16 1045, i16 1046, i16 1047, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 1058, i16 1059, i16 1060, i16 1061, i16 1062, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1070, i16 1071, i16 1072, i16 1073, i16 1074, i16 1075, i16 1076, i16 1077, i16 1078, i16 1079, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1088, i16 1089, i16 1090, i16 1091, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1099, i16 1100, i16 1101, i16 1102, i16 1103, i16 8364, i16 0, i16 8218, i16 402, i16 8222, i16 8230, i16 8224, i16 8225, i16 710, i16 8240, i16 0, i16 8249, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 732, i16 8482, i16 0, i16 8250, i16 0, i16 0, i16 0, i16 0, i16 160, i16 161, i16 162, i16 163, i16 8362, i16 165, i16 166, i16 167, i16 168, i16 169, i16 215, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 247, i16 187, i16 188, i16 189, i16 190, i16 191, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 0, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 0, i16 0, i16 8206, i16 8207, i16 0, i16 128, i16 129, i16 8218, i16 402, i16 8222, i16 8230, i16 8224, i16 8225, i16 710, i16 8240, i16 352, i16 8249, i16 338, i16 141, i16 142, i16 143, i16 144, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 732, i16 8482, i16 353, i16 8250, i16 339, i16 157, i16 158, i16 376, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 4304, i16 4305, i16 4306, i16 4307, i16 4308, i16 4309, i16 4310, i16 4337, i16 4311, i16 4312, i16 4313, i16 4314, i16 4315, i16 4316, i16 4338, i16 4317, i16 4318, i16 4319, i16 4320, i16 4321, i16 4322, i16 4339, i16 4323, i16 4324, i16 4325, i16 4326, i16 4327, i16 4328, i16 4329, i16 4330, i16 4331, i16 4332, i16 4333, i16 4334, i16 4340, i16 4335, i16 4336, i16 4341, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 160, i16 260, i16 274, i16 290, i16 298, i16 296, i16 310, i16 167, i16 315, i16 272, i16 352, i16 358, i16 381, i16 173, i16 362, i16 330, i16 176, i16 261, i16 275, i16 291, i16 299, i16 297, i16 311, i16 183, i16 316, i16 273, i16 353, i16 359, i16 382, i16 8213, i16 363, i16 331, i16 256, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 302, i16 268, i16 201, i16 280, i16 203, i16 278, i16 205, i16 206, i16 207, i16 208, i16 325, i16 332, i16 211, i16 212, i16 213, i16 214, i16 360, i16 216, i16 370, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 257, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 303, i16 269, i16 233, i16 281, i16 235, i16 279, i16 237, i16 238, i16 239, i16 240, i16 326, i16 333, i16 243, i16 244, i16 245, i16 246, i16 361, i16 248, i16 371, i16 250, i16 251, i16 252, i16 253, i16 254, i16 312, i16 160, i16 8221, i16 162, i16 163, i16 164, i16 8222, i16 166, i16 167, i16 216, i16 169, i16 342, i16 171, i16 172, i16 173, i16 174, i16 198, i16 176, i16 177, i16 178, i16 179, i16 8220, i16 181, i16 182, i16 183, i16 248, i16 185, i16 343, i16 187, i16 188, i16 189, i16 190, i16 230, i16 260, i16 302, i16 256, i16 262, i16 196, i16 197, i16 280, i16 274, i16 268, i16 201, i16 377, i16 278, i16 290, i16 310, i16 298, i16 315, i16 352, i16 323, i16 325, i16 211, i16 332, i16 213, i16 214, i16 215, i16 370, i16 321, i16 346, i16 362, i16 220, i16 379, i16 381, i16 223, i16 261, i16 303, i16 257, i16 263, i16 228, i16 229, i16 281, i16 275, i16 269, i16 233, i16 378, i16 279, i16 291, i16 311, i16 299, i16 316, i16 353, i16 324, i16 326, i16 243, i16 333, i16 245, i16 246, i16 247, i16 371, i16 322, i16 347, i16 363, i16 252, i16 380, i16 382, i16 8217, i16 160, i16 7682, i16 7683, i16 163, i16 266, i16 267, i16 7690, i16 167, i16 7808, i16 169, i16 7810, i16 7691, i16 7922, i16 173, i16 174, i16 376, i16 7710, i16 7711, i16 288, i16 289, i16 7744, i16 7745, i16 182, i16 7766, i16 7809, i16 7767, i16 7811, i16 7776, i16 7923, i16 7812, i16 7813, i16 7777, i16 372, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 7786, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 374, i16 223, i16 373, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 7787, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 375, i16 255, i16 160, i16 161, i16 162, i16 163, i16 8364, i16 165, i16 352, i16 167, i16 353, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 381, i16 181, i16 182, i16 183, i16 382, i16 185, i16 186, i16 187, i16 338, i16 339, i16 376, i16 191, i16 160, i16 260, i16 261, i16 321, i16 8364, i16 171, i16 352, i16 167, i16 353, i16 169, i16 536, i16 8222, i16 377, i16 173, i16 378, i16 379, i16 176, i16 177, i16 268, i16 322, i16 381, i16 8221, i16 182, i16 183, i16 382, i16 269, i16 537, i16 187, i16 338, i16 339, i16 376, i16 380, i16 192, i16 193, i16 194, i16 258, i16 196, i16 262, i16 198, i16 199, i16 272, i16 323, i16 210, i16 211, i16 212, i16 336, i16 214, i16 346, i16 368, i16 217, i16 218, i16 219, i16 220, i16 280, i16 538, i16 223, i16 224, i16 225, i16 226, i16 259, i16 228, i16 263, i16 230, i16 231, i16 273, i16 324, i16 242, i16 243, i16 244, i16 337, i16 246, i16 347, i16 369, i16 249, i16 250, i16 251, i16 252, i16 281, i16 539, i16 255, i16 160, i16 260, i16 728, i16 321, i16 164, i16 317, i16 346, i16 167, i16 168, i16 352, i16 350, i16 356, i16 377, i16 173, i16 381, i16 379, i16 176, i16 261, i16 731, i16 322, i16 180, i16 318, i16 347, i16 711, i16 184, i16 353, i16 351, i16 357, i16 378, i16 733, i16 382, i16 380, i16 340, i16 193, i16 194, i16 258, i16 196, i16 313, i16 262, i16 199, i16 268, i16 201, i16 280, i16 203, i16 282, i16 205, i16 206, i16 270, i16 272, i16 323, i16 327, i16 211, i16 212, i16 336, i16 214, i16 215, i16 344, i16 366, i16 218, i16 368, i16 220, i16 221, i16 354, i16 223, i16 341, i16 225, i16 226, i16 259, i16 228, i16 314, i16 263, i16 231, i16 269, i16 233, i16 281, i16 235, i16 283, i16 237, i16 238, i16 271, i16 273, i16 324, i16 328, i16 243, i16 244, i16 337, i16 246, i16 247, i16 345, i16 367, i16 250, i16 369, i16 252, i16 253, i16 355, i16 729, i16 160, i16 294, i16 728, i16 163, i16 164, i16 0, i16 292, i16 167, i16 168, i16 304, i16 350, i16 286, i16 308, i16 173, i16 0, i16 379, i16 176, i16 295, i16 178, i16 179, i16 180, i16 181, i16 293, i16 183, i16 184, i16 305, i16 351, i16 287, i16 309, i16 189, i16 0, i16 380, i16 192, i16 193, i16 194, i16 0, i16 196, i16 266, i16 264, i16 199, i16 0, i16 209, i16 210, i16 211, i16 212, i16 288, i16 214, i16 215, i16 284, i16 217, i16 218, i16 219, i16 220, i16 364, i16 348, i16 223, i16 224, i16 225, i16 226, i16 0, i16 228, i16 267, i16 265, i16 231, i16 0, i16 241, i16 242, i16 243, i16 244, i16 289, i16 246, i16 247, i16 285, i16 249, i16 250, i16 251, i16 252, i16 365, i16 349, i16 729, i16 160, i16 260, i16 312, i16 342, i16 164, i16 296, i16 315, i16 167, i16 168, i16 352, i16 274, i16 290, i16 358, i16 173, i16 381, i16 175, i16 176, i16 261, i16 731, i16 343, i16 180, i16 297, i16 316, i16 711, i16 184, i16 353, i16 275, i16 291, i16 359, i16 330, i16 382, i16 331, i16 268, i16 201, i16 280, i16 203, i16 278, i16 205, i16 206, i16 298, i16 272, i16 325, i16 332, i16 310, i16 212, i16 213, i16 214, i16 215, i16 216, i16 370, i16 218, i16 219, i16 220, i16 360, i16 362, i16 223, i16 269, i16 233, i16 281, i16 235, i16 279, i16 237, i16 238, i16 299, i16 273, i16 326, i16 333, i16 311, i16 244, i16 245, i16 246, i16 247, i16 248, i16 371, i16 250, i16 251, i16 252, i16 361, i16 363, i16 729, i16 160, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 173, i16 1038, i16 1039, i16 8470, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 167, i16 1118, i16 1119, i16 160, i16 0, i16 0, i16 0, i16 164, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1548, i16 173, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1563, i16 0, i16 0, i16 0, i16 1567, i16 0, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1611, i16 1612, i16 1613, i16 1614, i16 1615, i16 1616, i16 1617, i16 1618, i16 0, i16 0, i16 0, i16 0, i16 0, i16 160, i16 8216, i16 8217, i16 163, i16 0, i16 0, i16 166, i16 167, i16 168, i16 169, i16 0, i16 171, i16 172, i16 173, i16 0, i16 8213, i16 176, i16 177, i16 178, i16 179, i16 900, i16 901, i16 902, i16 183, i16 904, i16 905, i16 906, i16 187, i16 908, i16 189, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 918, i16 919, i16 920, i16 921, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 929, i16 0, i16 931, i16 932, i16 933, i16 934, i16 935, i16 936, i16 937, i16 938, i16 939, i16 940, i16 941, i16 942, i16 943, i16 944, i16 945, i16 946, i16 947, i16 948, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 964, i16 965, i16 966, i16 967, i16 968, i16 969, i16 970, i16 971, i16 972, i16 973, i16 974, i16 0, i16 160, i16 0, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 184, i16 185, i16 247, i16 187, i16 188, i16 189, i16 190, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8215, i16 286, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 304, i16 350, i16 223, i16 287, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 305, i16 351, i16 255, i16 9472, i16 9474, i16 9484, i16 9488, i16 9492, i16 9496, i16 9500, i16 9508, i16 9516, i16 9524, i16 9532, i16 9600, i16 9604, i16 9608, i16 9612, i16 9616, i16 9617, i16 9618, i16 9619, i16 8992, i16 9632, i16 8729, i16 8730, i16 8776, i16 8804, i16 8805, i16 160, i16 8993, i16 176, i16 178, i16 183, i16 247, i16 9552, i16 9553, i16 9554, i16 1105, i16 9555, i16 9556, i16 9557, i16 9558, i16 9559, i16 9560, i16 9561, i16 9562, i16 9563, i16 9564, i16 9565, i16 9566, i16 9567, i16 9568, i16 9569, i16 1025, i16 9570, i16 9571, i16 9572, i16 9573, i16 9574, i16 9575, i16 9576, i16 9577, i16 9578, i16 9579, i16 9580, i16 169, i16 1102, i16 1072, i16 1073, i16 1094, i16 1076, i16 1077, i16 1092, i16 1075, i16 1093, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1103, i16 1088, i16 1089, i16 1090, i16 1091, i16 1078, i16 1074, i16 1100, i16 1099, i16 1079, i16 1096, i16 1101, i16 1097, i16 1095, i16 1098, i16 1070, i16 1040, i16 1041, i16 1062, i16 1044, i16 1045, i16 1060, i16 1043, i16 1061, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1071, i16 1056, i16 1057, i16 1058, i16 1059, i16 1046, i16 1042, i16 1068, i16 1067, i16 1047, i16 1064, i16 1069, i16 1065, i16 1063, i16 1066, i16 1179, i16 1171, i16 8218, i16 1170, i16 8222, i16 8230, i16 8224, i16 8225, i16 0, i16 8240, i16 1203, i16 8249, i16 1202, i16 1207, i16 1206, i16 0, i16 1178, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 0, i16 8482, i16 0, i16 8250, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1263, i16 1262, i16 1105, i16 164, i16 1251, i16 166, i16 167, i16 0, i16 0, i16 0, i16 171, i16 172, i16 173, i16 174, i16 0, i16 176, i16 177, i16 178, i16 1025, i16 0, i16 1250, i16 182, i16 183, i16 0, i16 8470, i16 0, i16 187, i16 0, i16 0, i16 0, i16 169, i16 9552, i16 9553, i16 9554, i16 1105, i16 1108, i16 9556, i16 1110, i16 1111, i16 9559, i16 9560, i16 9561, i16 9562, i16 9563, i16 1169, i16 9565, i16 9566, i16 9567, i16 9568, i16 9569, i16 1025, i16 1028, i16 9571, i16 1030, i16 1031, i16 9574, i16 9575, i16 9576, i16 9577, i16 9578, i16 1168, i16 9580, i16 169, i16 0, i16 3585, i16 3586, i16 3587, i16 3588, i16 3589, i16 3590, i16 3591, i16 3592, i16 3593, i16 3594, i16 3595, i16 3596, i16 3597, i16 3598, i16 3599, i16 3600, i16 3601, i16 3602, i16 3603, i16 3604, i16 3605, i16 3606, i16 3607, i16 3608, i16 3609, i16 3610, i16 3611, i16 3612, i16 3613, i16 3614, i16 3615, i16 3616, i16 3617, i16 3618, i16 3619, i16 3620, i16 3621, i16 3622, i16 3623, i16 3624, i16 3625, i16 3626, i16 3627, i16 3628, i16 3629, i16 3630, i16 3631, i16 3632, i16 3633, i16 3634, i16 3635, i16 3636, i16 3637, i16 3638, i16 3639, i16 3640, i16 3641, i16 3642, i16 0, i16 0, i16 0, i16 0, i16 3647, i16 3648, i16 3649, i16 3650, i16 3651, i16 3652, i16 3653, i16 3654, i16 3655, i16 3656, i16 3657, i16 3658, i16 3659, i16 3660, i16 3661, i16 3662, i16 3663, i16 3664, i16 3665, i16 3666, i16 3667, i16 3668, i16 3669, i16 3670, i16 3671, i16 3672, i16 3673, i16 3674, i16 3675, i16 0, i16 0, i16 0, i16 0], [4528 x i8] c"\00\00\01\00\00\00\00\00\02\03\04\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\06\07\08\09\0A\0B\00\00\00\00\00\00\00\00\0C\0D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\0F\00\00\00\00\10\11\12\13\14\15\00\00\00\16\00\00\00\00\00\00\00\17\18\19\00\00\00\00\00\00\1A\00\00\00\00\00\00\1B\1C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\1D\1E\00\1F\00 \00\00\00\00\00\00\00\00\00!\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\22#\00\00\00\00\00\00\00\00\00\00\00\00\00$%\13&'(\17\18\19\00\00\00\00\00\00)\00\00\00\00\00\00\00\1C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00*+,-\00\00.\14\00\00\00\00\00/01\00!\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00234\00\17\18\19\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03,-\11\12\13\14\00\00\00\00\00\00\00\00\02\0356789:;<=>?\00@A\00\00\00\00\00\00\00\00\00B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03CDEFGHIJKLMNOP\00\00\00\00\00\00\00\00\00Q\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03RS\11T\13UV\00W\00\00\00\00X\00\00\00\00\00\00\00\00YZ\00\00[\\]\00^\00\00\00\00\00\00_\00\00\00\00\00\00\00\00\02\03`a\11\12\13\14\00\00\00\00\00bcd\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00e\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03fghijklm\00\00nocp\00\00\00\00\00\00\00\00\00q\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00r\00\00\00\00\00\00\00\00e\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03stuvwxyz\00{|}~\7F\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\81\00\00\00\00\00\00\00\00\00\00\02\03\82\83\84\85\86\87\88\89\8A\8B\00\8C\8D\8E\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\8F\00\00\00\00\00\00\00\00\00\00\02\03\90t\91\92\93\94;\95\96\97\98\99\9A\9B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\9C\00\00\00\00\00\00\00\00\00\00\02\03\9D\00\00\00\00\00\9E-\11\12\13\9F\00\00\00\00\00\00\00\00\00\00\00\A0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03\A1\00\00\00\00\00\A2\A3\A4\A5\13\A6\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03\A7\A8\00\00\00\00\00\00\00\00\00\00\00\00\A9\11\AA\13\AB\00\00\00\00\AC\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03\AD\AE\00\1F\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\13&\00(\AF\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03,-\11\B0\13\B1\00\B2\00\B3\00\B4\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B5\B6\00\00\00\B7\B8\B9\BA\BB\BC\BD\00\00\00\00\00\00\00\00\00\00\00\BE\00\00\BF\00\C0\00\00\00\00\00\00\00\00\00\00\00\C1\00\00\00\00\00\00\00\00\00\00\00\00\00\C2\C3\C4\C5\00\C6\C7\00\C8\C9\CA\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\CB\CC\00\00\00\00\B8\B9\BA\BB\BC\BD\00\00\00\CD\00\CE\00\00\CF\00\D0\B9\BA\BB\BC\D1\00\00\00\D2\00\00\00\00\00\00\C2\C3\C4\C5\00\D3\D4\00\C8\C9\CA\00\00\00\00\00\D5-\11\D6\13\D7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A5\A4\00\00\AB\AC\A9\00\80\81\82\83\84\85\86\87\88\89\8A\8B\8C\8D\8E\8F\90\91\92\93\94\95\96\97\98\99\9A\9B\9C\9D\9E\9F\A0\00\00\00\00\00\00\00\00\00\00\A7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A6\00\00\00\00\00\B2\B4\B6\B8\BA\BC\BE\C0\C2\C4\C6\C8\CA\CC\CE\D0\D2\D4\D6\D8\DA\DC\DE\E0\E2\E4\E6\E8\EA\EC\EE\F0\F2\F4\F6\F8\FA\FC\00\00\00\FE\B0\AF\AA\B1\00\00\B3\B5\B7\B9\BB\BD\BF\C1\C3\C5\C7\C9\CB\CD\CF\D1\D3\D5\D7\D9\DB\DD\DF\E1\E3\E5\E7\E9\EB\ED\EF\F1\F3\F5\F7\F9\FB\FD\A2\00\A3\AD\00\00\00\00\00\00\00\00\00\A8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\AE\00\00\00\00\00\00\00\00\00\A0\00\00\00\A4\00\A6\A7\00\A9\00\AB\AC\AD\AE\00\B0\B1\00\00\00\B5\B6\B7\00\00\00\BB\00\00\00\00\00\A8\80\81\AA\BD\B2\AF\A3\8A\8C\8E\8D\00\A1\8F\C0\C1\C2\C3\C4\C5\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\E0\E1\E2\E3\E4\E5\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\FD\FE\FF\00\B8\90\83\BA\BE\B3\BF\BC\9A\9C\9E\9D\00\A2\9F\A5\B4\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\96\97\00\00\00\91\92\82\00\93\94\84\00\86\87\95\00\00\00\85\00\00\00\00\00\00\00\00\00\89\00\00\00\00\00\00\00\00\8B\9B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\88\00\00\00\00\00\00\00\00\00\B9\00\00\00\00\00\00\00\00\00\00\00\99\00\00\00\00\00\00\00\00\00\00\00\00\00\A0\A1\A2\A3\00\A5\A6\A7\A8\A9\00\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\00\BB\BC\BD\BE\BF\00\00\00\00\00\00\00\AA\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\BA\00\00\00\00\00\00\00\00\00\00\83\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\88\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\98\00\00\00\C0\C1\C2\C3\C4\C5\C6\C7\C8\C9\00\CB\CC\CD\CE\CF\D0\D1\D2\D3\00\00\00\00\00\00\00\00\00\00\00\00\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\00\00\00\00\00\D4\D5\D6\D7\D8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\FD\FE\00\00\00\00\00\00\00\00\00\00\A4\00\80\00\00\00\80\81\00\00\00\00\00\00\00\00\00\00\00\8D\8E\8F\90\00\00\00\00\00\00\00\00\00\00\00\00\9D\9E\00\A0\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\BF\00\00\00\00\00\00\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\00\00\8C\9C\00\00\00\00\00\00\00\00\00\00\00\00\8A\9A\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\9F\00\00\00\00\00\00\00\C0\C1\C2\C3\C4\C5\C6\C8\C9\CA\CB\CC\CD\CF\D0\D1\D2\D3\D4\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\E0\E1\E3\E4\C7\CE\D5\E2\E5\00\00\00\00\00\00\00\00\00\00\A0\00\00\00\00\00\00\A7\00\00\00\00\00\AD\00\00\B0\00\00\00\00\00\00\B7\00\00\00\00\00\00\00\00\00\C1\C2\C3\C4\C5\C6\00\00\C9\00\CB\00\CD\CE\CF\D0\00\00\D3\D4\D5\D6\00\D8\00\DA\DB\DC\DD\DE\DF\00\E1\E2\E3\E4\E5\E6\00\00\E9\00\EB\00\ED\EE\EF\F0\00\00\F3\F4\F5\F6\00\F8\00\FA\FB\FC\FD\FE\00\C0\E0\00\00\A1\B1\00\00\00\00\00\00\C8\E8\00\00\A9\B9\A2\B2\00\00\CC\EC\CA\EA\00\00\00\00\00\00\00\00\A3\B3\00\00\00\00\A5\B5\A4\B4\00\00\C7\E7\00\00\00\00\00\00\A6\B6\FF\00\00\A8\B8\00\00\00\00\00\00\00\00\D1\F1\00\00\00\AF\BF\D2\F2\00\00\AA\BA\00\00\00\00\AB\BB\D7\F7\AE\BE\00\00\00\00\00\00\D9\F9\00\00\00\00\00\00\00\00\00\AC\BC\00\00\00\00\00\00\BD\00\00\00\00\00\00\00\00\00\00\A0\00\A2\A3\A4\00\A6\A7\00\A9\00\AB\AC\AD\AE\00\B0\B1\B2\B3\00\B5\B6\B7\00\B9\00\BB\BC\BD\BE\00\00\00\00\00\C4\C5\AF\00\00\C9\00\00\00\00\00\00\00\00\00\D3\00\D5\D6\D7\A8\00\00\00\DC\00\00\DF\00\00\00\00\E4\E5\BF\00\00\E9\00\00\00\00\00\00\00\00\00\F3\00\F5\F6\F7\B8\00\00\00\FC\00\00\00\C2\E2\00\00\C0\E0\C3\E3\00\00\00\00\C8\E8\00\00\00\00\C7\E7\00\00\CB\EB\C6\E6\00\00\00\00\00\00\00\00\CC\EC\00\00\00\00\00\00\CE\EE\00\00\C1\E1\00\00\00\00\00\00\CD\ED\00\00\00\CF\EF\00\00\00\00\D9\F9\D1\F1\D2\F2\00\00\00\00\00\D4\F4\00\00\00\00\00\00\00\00\AA\BA\00\00\DA\FA\00\00\00\00\D0\F0\00\00\00\00\00\00\00\00\DB\FB\00\00\00\00\00\00\D8\F8\00\00\00\00\00\CA\EA\DD\FD\DE\FE\00\00\00\00\00\00\00\00\00\00\FF\00\00\B4\A1\A5\00\A0\00\00\A3\00\00\00\A7\00\A9\00\00\00\AD\AE\00\00\00\00\00\00\00\B6\00\00\00\00\00\00\00\00\00\00\D1\D2\D3\D4\D5\D6\00\D8\D9\DA\DB\DC\DD\00\DF\00\F1\F2\F3\F4\F5\F6\00\F8\F9\FA\FB\FC\FD\00\FF\00\00\00\00\00\00\00\00\00\00\A4\A5\00\00\00\00\B2\B3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\D0\F0\DE\FE\AF\00\00\00\00\00\00\00\00\00\A1\A2\00\00\00\00\00\00\A6\AB\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B0\B1\B4\B5\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B7\B9\00\00\00\00\00\00\00\00\BB\BF\00\00\00\00\00\00\00\00\D7\F7\00\00\00\00\A8\B8\AA\BA\BD\BE\00\00\00\00\00\00\00\00\00\00\00\00\AC\BC\00\00\00\00\00\00\00\00\00\00\00\00\A0\A1\A2\A3\00\A5\00\A7\00\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B3\00\B5\B6\B7\00\B9\BA\BB\00\00\00\BF\00\00\BC\BD\00\00\00\00\00\00\00\00\00\00\00\00\A6\A8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\BE\00\00\00\00\B4\B8\00\00\00\00\00\00\00\00\00\00\00\00\00\A4\00\00\00\A0\00\00\00\00\00\00\A7\00\A9\00\A5\00\AD\00\00\B0\B1\00\00\00\00\B6\B7\00\00\00\BB\00\00\00\00\C0\C1\C2\00\C4\00\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\00\00\D2\D3\D4\00\D6\00\00\D9\DA\DB\DC\00\00\DF\E0\E1\E2\00\E4\00\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\00\00\F2\F3\F4\00\F6\00\00\F9\FA\FB\FC\00\00\FF\00\00\C3\E3\A1\A2\C5\E5\00\00\00\00\B2\B9\00\00\D0\F0\00\00\00\00\00\00\DD\FD\00\00\00\00\00\00\00\A3\B3\D1\F1\00\00\00\00\00\00\00\00\00\00\00\D5\F5\BC\BD\00\00\00\00\00\00\D7\F7\00\00\00\00\D8\F8\00\00\00\00\00\00\BE\AC\AE\AF\BF\B4\B8\00\00\00\00\00\00\00\00\00\AA\BA\DE\FE\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B5\AB\00\A0\00\00\00\A4\00\00\A7\A8\00\00\00\00\AD\00\00\B0\00\00\00\B4\00\00\00\B8\00\00\00\00\00\00\00\00\C1\C2\00\C4\00\00\C7\00\C9\00\CB\00\CD\CE\00\00\00\00\D3\D4\00\D6\D7\00\00\DA\00\DC\DD\00\DF\00\E1\E2\00\E4\00\00\E7\00\E9\00\EB\00\ED\EE\00\00\00\00\F3\F4\00\F6\F7\00\00\FA\00\FC\FD\00\00\00\00\C3\E3\A1\B1\C6\E6\00\00\00\00\C8\E8\CF\EF\D0\F0\00\00\00\00\00\00\CA\EA\CC\EC\00\00\00\00\00\00\00\00\00\00\00\00\00\C5\E5\00\00\A5\B5\00\00\A3\B3\D1\F1\00\00\D2\F2\00\00\00\00\00\00\00\D5\F5\00\00\C0\E0\00\00\D8\F8\A6\B6\00\00\AA\BA\A9\B9\DE\FE\AB\BB\00\00\00\00\00\00\00\00\D9\F9\DB\FB\00\00\00\00\00\00\00\AC\BC\AF\BF\AE\BE\00\00\00\00\00\00\00\00\B7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A2\FF\00\B2\00\BD\00\00\A0\00\00\A3\A4\00\00\A7\A8\00\00\00\00\AD\00\00\B0\00\B2\B3\B4\B5\00\B7\B8\00\00\00\00\BD\00\00\C0\C1\C2\00\C4\00\00\C7\C8\C9\CA\CB\CC\CD\CE\CF\00\D1\D2\D3\D4\00\D6\D7\00\D9\DA\DB\DC\00\00\DF\E0\E1\E2\00\E4\00\00\E7\E8\E9\EA\EB\EC\ED\EE\EF\00\F1\F2\F3\F4\00\F6\F7\00\F9\FA\FB\FC\00\00\00\00\00\00\00\00\00\00\00\C6\E6\C5\E5\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\D8\F8\AB\BB\D5\F5\00\00\A6\B6\A1\B1\00\00\00\00\00\00\00\00\A9\B9\00\00\AC\BC\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\DE\FE\AA\BA\00\00\00\00\00\00\00\00\00\00\00\00\DD\FD\00\00\00\00\00\00\00\00\00\00\00\00\00\AF\BF\00\00\00\00\00\00\00\00\00\00\00\A2\FF\00\00\00\00\00\00\A0\00\00\00\A4\00\00\A7\A8\00\00\00\00\AD\00\AF\00\C1\C2\C3\C4\C5\C6\00\00\C9\00\CB\00\CD\CE\00\00\00\00\00\D4\D5\D6\D7\D8\00\DA\DB\DC\00\00\DF\00\E1\E2\E3\E4\E5\E6\00\00\E9\00\EB\00\ED\EE\00\00\00\00\00\F4\F5\F6\F7\F8\00\FA\FB\FC\00\00\00\D0\F0\AA\BA\00\00\CC\EC\CA\EA\00\00\00\00\00\00\00\00\AB\BB\00\00\00\00\A5\B5\CF\EF\00\00\C7\E7\00\00\00\00\00\00\D3\F3\A2\00\00\A6\B6\00\00\00\00\00\00\00\00\D1\F1\00\00\00\BD\BF\D2\F2\00\00\00\00\00\00\00\00\A3\B3\00\00\00\00\00\00\00\00\A9\B9\00\00\00\00\AC\BC\DD\FD\DE\FE\00\00\00\00\00\00\D9\F9\00\00\00\00\00\00\00\00\00\AE\BE\00\00\00\00\00\00\00\00\00\00\FF\00\B2\00\00\00\00\A0\00\00\00\00\00\00\FD\00\00\00\00\00\AD\00\00\00\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\00\AE\AF\00\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\00\FE\FF\00\00\00\00\00\00\F0\00\00\00\00\00\00\00\00\00\A0\00\00\00\A4\00\00\00\00\00\00\00\00\AD\00\00\00\00\00\00\00\00\00\00\00\00\00\00\AC\00\00\00\00\00\00\00\00\00\00\00\00\00\00\BB\00\00\00\BF\00\C1\C2\C3\C4\C5\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\00\00\00\00\00\F0\F1\F2\00\00\00\00\00\00\00\00\00\00\00\00\00\A0\00\00\A3\00\00\A6\A7\A8\A9\00\AB\AC\AD\00\00\B0\B1\B2\B3\00\00\00\B7\00\00\00\BB\00\BD\00\00\00\00\00\00\B4\B5\B6\00\B8\B9\BA\00\BC\00\BE\BF\D0\D1\00\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\FD\FE\00\00\00\00\00\00\AF\00\00\A1\A2\00\00\00\00\00\00\A0\00\A2\A3\A4\A5\A6\A7\A8\A9\00\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\00\BB\BC\BD\BE\00\00\00\00\00\00\00\00\DF\00\00\00\00\00\00\00\00\00\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\00\00\DF\00\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\00\00\FF\00\00\00\00\00\00\00\00\00\00\00\00\00\00\D0\F0\DD\FD\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\DE\FE\9A\00\00\00\00\00\00\00\00\BF\00\00\00\00\00\00\9C\00\9D\00\00\00\00\9E\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\9F\00\00\00\00\00\00\00\00\00\B3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E1\E2\F7\E7\E4\E5\F6\FA\E9\EA\EB\EC\ED\EE\EF\F0\F2\F3\F4\F5\E6\E8\E3\FE\FB\FD\FF\F9\F8\FC\E0\F1\C1\C2\D7\C7\C4\C5\D6\DA\C9\CA\CB\CC\CD\CE\CF\D0\D2\D3\D4\D5\C6\C8\C3\DE\DB\DD\DF\D9\D8\DC\C0\D1\00\A3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\95\96\00\00\00\00\00\00\00\00\00\00\00\00\00\97\00\00\00\00\00\00\00\00\00\00\00\98\99\00\00\00\00\00\00\00\00\00\00\93\9B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\00\81\00\00\00\00\00\00\00\00\00\82\00\00\00\83\00\00\00\84\00\00\00\85\00\00\00\86\00\00\00\00\00\00\00\87\00\00\00\00\00\00\00\88\00\00\00\00\00\00\00\89\00\00\00\00\00\00\00\8A\00\00\00\A0\A1\A2\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\00\00\00\8B\00\00\00\8C\00\00\00\8D\00\00\00\8E\00\00\00\8F\90\91\92\00\00\00\00\00\00\00\00\00\00\00\00\94\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A4\00\A6\A7\00\BF\00\AB\AC\AD\AE\00\B0\B1\B2\00\00\00\B6\B7\00\00\00\BB\00\00\00\00\00\00\83\81\00\00\00\00\00\00\90\80\00\00\00\00\00\00\8C\8A\00\00\8E\8D\00\00\00\00\00\00\00\00\00\00\B5\A5\00\00\00\00\00\00\00\00\00\00\A2\A1\00\B3\00\00\B4\00\B6\B7\00\00\00\00\00\00\00\00\00\A3\00\00\A4\00\A6\A7\00\00\00\00\00\00\00\00\BD\AD\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A0\A1\A2\00\A5\00\00\A8\A9\AA\AB\AC\00\AE\AF\B0\B1\B2\00\B5\00\00\B8\B9\BA\BB\BC\00\BE\00\00\00\00\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\00\00\00\00\DF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\00\00\00\00", [3604 x i8] c":!\1F2#\1E\02,\00'\04%&\05\07)\0F\12\09\0C\06\19\1A\0B+\00\00\00\00\00 \1D9*7407.$777\00\00\00\0158\03/3\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\17\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\16\19\19\19\19\13\00\00\00\00\00\00\00\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\14\00\00\00\00\00\00\00\007777777777777777777777777\19\10\08\19\1B-(\00\00\00\0E\22\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0061\00\00\11\0A\15\1C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\18\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\19\19\0D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E4\E4\E4\CD\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\D0\00\00\07\00\1A5UU>Uj\DE\00UovUUUUUUUUUUUZ\E4\DA\DEU\\\08UUUUI5UUUUUUUUUUS\E4\E4UUU\00\00\00\00\00\00\00UU\12?#UU(%;\C4-\002\03U\C7\00\B6PGUU(&=\E3\CC\1F\00 U\00\00\1DL(UU(U:\D2.\04\009U\00\00\1DUS\17UUGOS\11\D5\E4\00\00\1C\005UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU5UUUUXUAVXUk\00\00\00\00/\22\0B54\16\BC\CBJ\DEU<\00\00\00\00S\00\14\09U\BBSJDUUUUUUUUUUUUU7\00\00\00\14UUUUUSUUUUUUUS'S'UUUUS'UUUS'S'SSUUSUUTBLLUUUFJ\17(UUUUUUUUUUUUUUUUUUUUUULm\00UUn\00UUk\00UL*\00UUUUUU`\E4\E4\E4\E2\D3U7\00\00US'SUUUUSUU>\B9vp\D4\00\00\00\00UUUUUUUUUUI\00UUUR\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00UUUS\D0\00UUU>\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00UUUUG1\C5\C0UpY\C0\00\00\00\00\00\00\00\00UUUUR\00UUUUU)UUUUURUUUUUUU>\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00UUUUUUUUUULUUUUUUUUL\103UE&UUUUUUUUUUUUUUUUUU8UUUUUUUU>UUUUUUUUUU7UUUUUUUUUUUUUUUUUI\E4\E4\E4\E4\E4\E4\E0\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUH\00\00\00\00\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUHUUU\BBUUhUUUhUUUUUUUUUUUUUUUUUUUUR\00\00\00\00\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUUUR\00\00\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUUUUUUUS\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU^S\00xUUgUUUUUUUUUi\1F\00UUUUUUUY\00\00UUUUUUUU\17UUUUUU\00\00\00\00\00UNUU]UUU]UUXUUUXUUU\BBUUU\BBUUh9UUUUUU\86\AA\83\A7\86\AA\86\AA\83\A7{\96\86\AA\86\83\86\AA\86\AA\86\AA\82\AE\C9\AF}\AC\7F\AF\19\AD\92\92\00\00\00\00\97\AA\AA\AA\A86y\86\86\86\85\B4\B9\E4\CD\E4\E4\CD\D4\00UUU>g\00\92\92\92\92+\92\8F\00\00\00ezq~bUqraUURU\BDp\E4p\E4_\DF\00\00\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\91d\92\92\92\92\92\92\92\92\92\92\92\8C\92\92\92\92\92\92\92\9A\9Fs\92\92\92\92\92\A5\99\A0\A4\8E\93\9C\A1\8D[\8B\9F\9D\92\92\98\92\AA\AA\AA\AA\A7\86\86\86\86\83\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\AA\AA\AA\AA\AA\AA\86\86\86\86\86\86\92\92\92\92\94\CA\92\92\92\92\92\92\9A\9E\92\92\92\92\90\8C\B5\C1\E4\E4\E4\B9\E4\E4\E4\DC\C3\E0\B9\E4\E4\E4\E4\E4\D4\E4\E4\E4\B9\E0\00\00\E4\E4\E4\D0\E4\E4\B6K#UU($=\D1-\05\0A9U,\00\18@'0\13@T:\C5.\04\00\02U\C2\00\B6L(UU(Q:\D7.\0C\009U\00\00\1DL(UU(Q:\D7.\0C\019U\00\00\B6UUUUUU=\E4\DE\BEUoU,\00\B6K#UU(!;\D6-\04\0AlUp\C2\B9\E4Up\B1\AA\AA\B0\95\86\86\88\E1UUUUUUUUUUS\17\17\17\15\E0\E0\00\B8\BF\E4\E4\E4Up\E4\E4U5UUU>\B9\E4\E4H\E4\B9\E4\E4\E4\D7\E4\D6\00\00\00\00\00\00\CE\C8Zw\DDfcC\D9k\1B\E4\AA\AA\86\86H\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E0U7UUUUUUUUUUU\00UUUUU\BA\00\00\00\00\00\00\00\00\00\00\E4\E3\BBUUI\E4\E4\E4\C2\00\00\00\00\00\00UUUUY\E4t\00\00\00\00\00\00\00\00\00\E4\E4\00\00\D0\00\E4\E4\E5\B9\C6\E4\E0\D0LUUUUUUUUUUUUUUUUM\E4\E4\D2\B9\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\E4\C0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E4\E4\E4\D4\E4\E4\E4\E4\D0\00\B9\E4\E4\E4\E4\D1\E4\E4\E4\E4\E4\E4\E4\E4\E4\D0\E4\E4\E4\E4\E4\E0\E4\E4\E4\E4\E0\00\00\00\E4\C2\00\00\E4\E4\E4\E4\E4\E4\E4\D8UUW\AA\AA\AA\86\86\86\8A\E4\E0\E4\E4\E4\E4\E0\1E\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\00\00\00\00\E4\E4\E4\E4\E4\E4\E4\E4\DB\E4\00\00\E4\E4\0D\0F\0E\A2\9B\AA\A3\A6|\86\86\84\80\92\92\92\81\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E0\1B\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\E4\E4\E4\E0\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E0\00\00\00\00\00\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\00\00\00\E4\D0\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E6\E4\E4\E4vpw_5UUUUUUUUUS\B7vUUUUUUUUUUh\E9\E8\E4\E4\E4\EA\E4\E4\E4\E4\C4\06\D0\1Eu\E2\E4\E0\00\00\E4\E4\C0\00\00\00\E4\E4\E4\C2\00\00\EC\EB\EC\EC\E7\E4\B2\B3\B1\AA\AA\B0\95\86\86\89\EC\EC\EC\EC\E4\CF\DB\CF\AA\AA\AB\A9\86\86\87\86\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\11\00\00\00`\00\00\00f\00\00\00\90\00\00\06\00\00\00\10\11\00\00\10\16\00\00\11\10\00\00\11\11\00\00`\06\00\00f\00\00\00fd\00\01\00\06\00\01\10\01\00\06\00`\00\06\10\11\00\10\01\00\00\10\11\11\00\11\01\00\00\11\10\11\00\11\11\11\00\16\10\11\00!\01\11\00`\00`\00`ff\00f\06\00\00f\10\11\00fff\01\00\00\00\01\00\00\11\01\01\00\11\01\01\10\00\01\10\11\11\01\11\00\11\01\11\10\01\01\11\10\11\01\11\11\00\01\11\11\11\01`\00\00\01f\00\00\04$$$\06\00\00\00\06`f\00\06ff\00\10\01\01\10\10\01\01\11\10\01ff\10\11\01\01\10\11\01\11\10\11\10\10\10\11\11\11\10fff\11\00\00\00\11\00\00\10\11\00\00\11\11\00\00f\11\00\06f\11\00\11\00\11\00\16f\11\01\00\00\11\01\00\10\11\01\00\11\11\01\00`\11\01\10\11\11\06\10\11\11\10\01\11\11\10\10\11\11\10\11\01\11\10\11\11\11\11\00\00\11\11\01\00\11\11\01\01\11\11\01\10\11\11\01\11\11\11\01`\11\11\06\00\11\11\10\00\11\11\10\10\11\11\10\11\11\11\11\00\11\11\11\01\11\11\11\10\11\11\11\11\11\11\11\16\11\11\11D\11\11\11a\11\11\11f\11\11\16f\11\114B\11\11a\06\11\11a\11\11\11a\16\11\11af\11\11ff\11\12\11\11\11\12!\11\11\16\11\11\11!\00\00\11!\12\22\11D\11\16\11a\06\00\11a\11\11\11af\11\11aff\11f\00\00\11f\00\11\11f\06\00\11ff\06\11ff\11\11fff\12!\11\11\12\22\11\11\12$$$\16\00\00\00\16\00ff\16\11\11\11\16\11\11f\19\11\11\11 \22\22\22!!\11\11!!!!!\22\22\22\22\11\00\11\22\11\11!\22\11!\11\22\11!\12\22\12$\06\22!\01\11\22\22\22\00\22\22\22\02\22\22\22\12\22\22\22\22\22\22\22b\22bff\22bf\E6\22fff#4BB$\00\00\00$\11$!$\11DB$$\00\00$$$\00$$$\11$$$$$$$D$ff\06&\22\22\22@@@@@DDDA#$DA$$DABBBADDDB\11$DBB\22$BBB\02BBBBBD\12DBDBBD\04\04DD@DDDB$DDBB\22DD\22\22DDD\00DDD\04DDD$DDDDDDDdDD`fDDd\06DDdbDDdfDdffFDDDUUUUUfff`\06\00\00`f\06f`f\10\11`f\16\11`ff\00`fffa\00\00\00a\11\11\11a\11ffa\16\11\11af\06\00affff\00\00\00f\00fff\06\00\00f\06\00\06f\06\00`f\06\00ff\06fff\11\01\00f\11\11\11f!\01\11f$$$f`\16\00f`f\00f`fffaf\16faffff\00\00ff\00`ff\00fff\01\00ff\06\00ff\06\06ff\06`ff\06fff\11\11ff\16\11ff\16aff&fff``ffadfff\00fff\01fff\06fff\11fff\16fff`ffffffv\07if\16\11ifff\99\99ff\99\99\99i\CCfff\DE\CC\CC\EE\EE\EE\EE\EE", [1680 x i8] c"\04\06\07\00\00\00\00\00\00\00\00\00\00\00\00\05\01\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\00\00\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\0D\00\00\00\00\00\00QQRR\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\1B\1B\19\0F\1F\1F\1D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\03SSSUUUT\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\1B\1B\19\0F\1F\1F\1D\00\00\00\00\00\00\04\00\1B\1B\1A\1A\1F\1F\1E ((((((1\10,*(((((2\11.3%)/0$\064,-((\12((((((((((((((((((('\08(((((((((((#GIFHGIGIFH\16\17GIMNGIGIGIEJ\09OCKDL\09P((((5(&\00\00\00\07\1367\0B\0089\0C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\01:\0E\1B\18\1C\0F\1F\22!;(((<\00>>\1B\1B\1B\1B\1F\1F\1F\1F==((((#\0A((((((\10+(((('#((\00\00\00\00\14@@@?\00\15BBBA\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00WWWWVYYYYX\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\001\00\00\00\00\00\00\00Y\00\00\00\00\00\00\00^^\00\00\00\00\00\03\00\00\00\00\00\00\000\00\00\00\00\00\00\1C\1D\1E\1C\00\00\00#$\00%%\00\00\00E\00\00\00\00\00\00\00N\00\00\00\00\00\00\05\06\05\06\05\06\00\00+\00\00,\00\00\00\00/\00\00\00\00\00\00\00Z[\00\00\00\00\00\01\01\01\01\01\01\01\00\02\02\02\02\02\02\02\00\05\06\05\06\05\06\05\00\0B\05\06\05\06\0C\05\00\1C\1D\1E\05\06 !\00&\00'\00\00\00\00\00CCCCCCC\00DDDDDDD\00F\00F\00F\00F\00G\00G\00G\00G\01\01\00\01\01\01\01\01\01\01\01\00\00\00\00\00\01\01\01\01\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\015666\02\02\02\00\00\00\00\00\02\02\02\02\02\02\02\00\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\04\02\02\02\02899\00\02\027\02\02\02\02\02\05\06\00\00\00\00\00\00\05\06\00\00\05\06\00\1B\05\06\00\00\13\15\16\17\05\06\05\06\00\00\00\00\05\06\05\06\05\06\00\00\05\06\05\06\05\06\05\06\05\06\05\06\05\06\18\05\06\00\05\06\05\06\05\06\06\05\06\05\06\05\06\00\06\05\06\05\06\05\06\05\06\05\06\05\06\1F\05\06\06\0D\0D\05\06\00\0E\0F\06\18\00\00\05\06\18\05\06\19\19\05\06\05\06\1A\07\08\05\06\05\06\05\06\09\05\06\05\06\05\06\0A\10\05\06\0D\11\12\13\14\1D\1E\1C\1D\1E\05\06\05\22\00\05\06\05\06\05\06%\00\00(\00\00\00\00)*\00\00\00\00\00*-\00\00-\00\00\00\00-\00..\00\00\00\00222\003\0044:;\00\00\00<=\00>?\1F\00@A\00\00????????BBBBBBBBCCCCCCC\00CCCCCCCCDDDDDDD\00DDDDDDDDFF\00\00\00\00\00\00FF\00\00\00T\00\00FF\00N\00\00\00\00FFFFFF\00\00FFFFFFFFGGGGGG\00\00GGGGGGGGGGOOP\00Q\00GGSS\00\00\00\00GGUUV\00\00\00HHIIIIJJKKLLMM\00\00RRRRP\00\00\00WWXXP\00\00\00\\\\\\\\\\\\\\\\]]]]]]]]^^^^^^^^__\00\00\00\00\00\00________``````\00\00````````aaaaaa\00\00aaaaaaaa", [196 x i16] [i16 0, i16 0, i16 0, i16 32, i16 -32, i16 0, i16 743, i16 0, i16 121, i16 0, i16 0, i16 1, i16 -1, i16 0, i16 0, i16 -199, i16 -232, i16 0, i16 0, i16 -121, i16 -300, i16 0, i16 0, i16 210, i16 0, i16 206, i16 0, i16 205, i16 0, i16 79, i16 0, i16 202, i16 0, i16 203, i16 0, i16 207, i16 97, i16 0, i16 0, i16 211, i16 0, i16 209, i16 0, i16 213, i16 130, i16 0, i16 0, i16 214, i16 0, i16 218, i16 0, i16 217, i16 0, i16 219, i16 56, i16 0, i16 0, i16 2, i16 -1, i16 1, i16 -2, i16 0, i16 -79, i16 0, i16 0, i16 -97, i16 0, i16 -56, i16 0, i16 -130, i16 -210, i16 0, i16 -206, i16 0, i16 -205, i16 0, i16 -202, i16 0, i16 -203, i16 0, i16 -207, i16 0, i16 -209, i16 0, i16 -211, i16 0, i16 -213, i16 0, i16 -214, i16 0, i16 -218, i16 0, i16 -217, i16 0, i16 -219, i16 0, i16 84, i16 0, i16 0, i16 38, i16 0, i16 37, i16 0, i16 64, i16 0, i16 63, i16 -38, i16 0, i16 -37, i16 0, i16 -31, i16 0, i16 -64, i16 0, i16 -63, i16 0, i16 -62, i16 0, i16 -57, i16 0, i16 -47, i16 0, i16 -54, i16 0, i16 -86, i16 0, i16 -80, i16 0, i16 0, i16 -60, i16 -96, i16 0, i16 0, i16 80, i16 0, i16 48, i16 -48, i16 0, i16 -59, i16 0, i16 8, i16 0, i16 0, i16 -8, i16 74, i16 0, i16 86, i16 0, i16 100, i16 0, i16 128, i16 0, i16 112, i16 0, i16 126, i16 0, i16 9, i16 0, i16 0, i16 -74, i16 0, i16 -9, i16 -7205, i16 0, i16 0, i16 -86, i16 0, i16 -100, i16 7, i16 0, i16 0, i16 -112, i16 0, i16 -7, i16 0, i16 -128, i16 0, i16 -126, i16 0, i16 -7517, i16 0, i16 -8383, i16 0, i16 -8262, i16 0, i16 16, i16 -16, i16 0, i16 0, i16 26, i16 -26, i16 0, i16 0, i16 40, i16 -40, i16 0], [51 x i8] c"\000\001\002\003\004\005\006\007\008\009\00\DB\B0\00\DB\B1\00\DB\B2\00\DB\B3\00\DB\B4\00\DB\B5\00\DB\B6\00\DB\B7\00\DB\B8\00\DB\B9\00", [28 x i8] c"\00.\00,\00\03\00\03\02\00\A0\00\C2\A0\00 \00\D9\AB\00\D9\AC\00'\00\02\03\00", [1646 x i8] c"\00\7F\00-\00ZAR \00R\00,\00.\00\03\00\02\00\01\00-R\00ETB \00$\00-$\00AED \00\CF.\C5.\00-\CF.\C5.\00\D8\AF.\D8\A5.\00-\D8\AF.\D8\A5.\00BHD \00\CF.\C8.\00-\CF.\C8.\00\D8\AF.\D8\A8.\00-\D8\AF.\D8\A8.\00DZD \00\CF.\CC.\00-\CF.\CC.\00\D8\AF.\D8\AC.\00-\D8\AF.\D8\AC.\00EGP \00\CC.\E5.\00-\CC.\E5.\00\D8\AC.\D9\85.\00-\D8\AC.\D9\85.\00INR \00\E2\82\A8\00\03\02\00-\E2\82\A8\00IQD \00\CF.\D9.\00-\CF.\D9.\00\D8\AF.\D8\B9.\00-\D8\AF.\D8\B9.\00JOD \00\CF.\C3.\00-\CF.\C3.\00\D8\AF.\D8\A3.\00-\D8\AF.\D8\A3.\00KWD \00\CF.\E3.\00-\CF.\E3.\00\D8\AF.\D9\83.\00-\D8\AF.\D9\83.\00LBP \00\E4.\E4.\00-\E4.\E4.\00\D9\84.\D9\84.\00-\D9\84.\D9\84.\00LYD \00\CF.\E4.\00-\CF.\E4.\00\D8\AF.\D9\84.\00-\D8\AF.\D9\84.\00MAD \00\CF.\E5.\00-\CF.\E5.\00\D8\AF.\D9\85.\00-\D8\AF.\D9\85.\00OMR \00\D1.\D9.\00-\D1.\D9.\00\D8\B1.\D8\B9.\00-\D8\B1.\D8\B9.\00QAR \00\D1.\E2.\00-\D1.\E2.\00\D8\B1.\D9\82.\00-\D8\B1.\D9\82.\00SAR \00\D1\EA\C7\E4\00+\D1\EA\C7\E4\00\D8\B1\D9\8A\D8\A7\D9\84\00+\D8\B1\D9\8A\D8\A7\D9\84\00SDP \00\CC.\D3.\00-\CC.\D3.\00\D8\AC.\D8\B3.\00-\D8\AC.\D8\B3.\00SYP \00\E4.\D3.\00-\E4.\D3.\00\D9\84.\D8\B3.\00-\D9\84.\D8\B3.\00TND \00\CF.\CA.\00-\CF.\CA.\00\D8\AF.\D8\AA.\00-\D8\AF.\D8\AA.\00YER \00\D1.\EA.\00-\D1.\EA.\00\D8\B1.\D9\8A.\00-\D8\B1.\D9\8A.\00AZM \00man.\00 \00+man.\00BYR \00\F0\F3\E1\00+\F0\F3\E1\00\D1\80\D1\83\D0\B1\00+\D1\80\D1\83\D0\B1\00BGL \00\EB\E2\00\A0\00+\EB\E2\00\D0\BB\D0\B2\00\C2\A0\00+\D0\BB\D0\B2\00\E0\A7\B3\00-\E0\A7\B3\00\E0\A6\9F\E0\A6\BE\E0\A6\95\E0\A6\BE\00\02\03\00-\E0\A6\9F\E0\A6\BE\E0\A6\95\E0\A6\BE\00EUR \00EUR\00+EUR\00\E2\82\AC\00+\E2\82\AC\00BAK \00KM\00-KM\00-EUR\00-\E2\82\AC\00\A4\00-\A4\00CZK \00K\E8\00+K\E8\00K\C4\8D\00+K\C4\8D\00GBP \00\A3\00-\A3\00\C2\A3\00-\C2\A3\00DKK \00kr\00\04\00-kr\00CHF \00Fr.\00-Fr.\00+\A4\00AUD \00BWP \00Pu\00-Pu\00CAD \00\C2\A4\00-\C2\A4\00HKD \00HK$\00-HK$\00NZD \00PHP \00Php\00-Php\00SGD \00USD \00ZWD \00Z$\00-Z$\00-EUR \00ARS \00BOB \00$b\00-$b\00CLP \00COP \00CRC \00C\00-C\00DOP \00ECS \00GTQ \00Q\00-Q\00HNL \00L.\00-L.\00MXP \00NIO \00$C\00-$C\00PAB \00B/\00-B/\00PEN \00S/\00-S/\00PYG \00Gs.\00-Gs.\00SVC \00\A2\00-\A2\00\C2\A2\00-\C2\A2\00UYU \00N$\00-N$\00VEB \00Bs.\00-Bs.\00EEK \00IRR \00\D8\B1\DB\8C\D8\A7\D9\84\00\D9\AB\00\D9\AC\00+\D8\B1\DB\8C\D8\A7\D9\84\00+$\00ILS \00\F9\E7\00-\F9\E7\00\D7\A9\D7\97\00-\D7\A9\D7\97\00\E0\A4\B0\E0\A5\82\00-\E0\A4\B0\E0\A5\82\00HRK \00Kn\00-Kn\00HUF \00Ft\00+Ft\00AMD \00\B8\00-\B8\00\D4\B4\00-\D4\B4\00IDR \00Rp\00-Rp\00ISK \00+kr\00JPY \00\EF\BF\A5\00-\EF\BF\A5\00GEL \00\CB\00-\CB\00\E1\83\9A\00-\E1\83\9A\00KRW \00\EF\BF\A6\00-\EF\BF\A6\00LTL \00Lt\00+Lt\00LVL \00Ls\00-Ls\00MKD \00\D4\D5\DD\00+\D4\D5\DD\00\D0\B4\D0\B5\D0\BD\00+\D0\B4\D0\B5\D0\BD\00\E0\A4\B0\E0\A5\81\00-\E0\A4\B0\E0\A5\81\00MYR \00RM\00-RM\00MTL \00Lm\00-Lm\00NOK \00PLN \00Z\B3\00-Z\B3\00Z\C5\82\00-Z\C5\82\00BRL \00R$\00+R$\00ROL \00Lei\00-Lei\00RUR \00\D2\D5\C2\00+\D2\D5\C2\00\E0\E3\D1\00+\E0\E3\D1\00UAH \00\C7\D2\00+\C7\D2\00\D0\B3\D1\80\00+\D0\B3\D1\80\00 ru\00- ru\00SKK \00Sk\00+Sk\00SIT \00SIT\00+SIT\00ALL \00Lek\00-Lek\00YUN \00din\00-din\00\D4\D8\DD\00-\D4\D8\DD\00\D0\B4\D0\B8\D0\BD\00-\D0\B4\D0\B8\D0\BD\00SEK \00THB \00\DF\00-\DF\00\E0\B8\BF\00-\E0\B8\BF\00ERB \00PhP\00-PhP\00TRL \00TL\00+TL\00PKR \00Rs\00-Rs\00UZS \00so'm\00-so'm\00VND \00\E2\82\AB\00+\E2\82\AB\00CNY \00TWD \00NT$\00-NT$\00", [28353 x i8] c"\00Sun\00Mon\00Tue\00Wed\00Thu\00Fri\00Sat\00Sunday\00Monday\00Tuesday\00Wednesday\00Thursday\00Friday\00Saturday\00Jan\00Feb\00Mar\00Apr\00May\00Jun\00Jul\00Aug\00Sep\00Oct\00Nov\00Dec\00January\00February\00March\00April\00June\00July\00August\00September\00October\00November\00December\00AM\00PM\00%a %b %e %H:%M:%S %Y\00%m/%d/%y\00%H:%M:%S\00%I:%M:%S %p\00So\00Ma\00Di\00Wo\00Do\00Vr\00Sa\00Sondag\00Maandag\00Dinsdag\00Woensdag\00Donderdag\00Vrydag\00Saterdag\00Mei\00Okt\00Des\00Januarie\00Februarie\00Maart\00Junie\00Julie\00Augustus\00Oktober\00Desember\00VM\00NM\00%a %d %b %Y %T %Z\00%d/%m/%y\00%T\00\E1\8A\A5\E1\88\91\E1\8B\B5\00\E1\88\B0\E1\8A\9E\00\E1\88\9B\E1\8A\AD\E1\88\B0\E1\8A\9E\00\E1\88\A8\E1\89\A1\E1\8B\95\00\E1\88\90\E1\88\99\E1\88\B5\00\E1\8B\93\E1\88\AD\E1\89\A5\00\E1\89\85\E1\8B\B3\E1\88\9C\00\E1\8C\83\E1\8A\95\E1\8B\A9\00\E1\8D\8C\E1\89\A5\E1\88\A9\00\E1\88\9B\E1\88\AD\E1\89\BD\00\E1\8A\A4\E1\8D\95\E1\88\A8\00\E1\88\9C\E1\8B\AD\00\E1\8C\81\E1\8A\95\00\E1\8C\81\E1\88\8B\E1\8B\AD\00\E1\8A\A6\E1\8C\88\E1\88\B5\00\E1\88\B4\E1\8D\95\E1\89\B4\00\E1\8A\A6\E1\8A\AD\E1\89\B0\00\E1\8A\96\E1\89\AC\E1\88\9D\00\E1\8B\B2\E1\88\B4\E1\88\9D\00\E1\8C\83\E1\8A\95\E1\8B\A9\E1\8B\88\E1\88\AA\00\E1\8D\8C\E1\89\A5\E1\88\A9\E1\8B\88\E1\88\AA\00\E1\8A\A4\E1\8D\95\E1\88\A8\E1\88\8D\00\E1\8A\A6\E1\8C\88\E1\88\B5\E1\89\B5\00\E1\88\B4\E1\8D\95\E1\89\B4\E1\88\9D\E1\89\A0\E1\88\AD\00\E1\8A\A6\E1\8A\AD\E1\89\B0\E1\8B\8D\E1\89\A0\E1\88\AD\00\E1\8A\96\E1\89\AC\E1\88\9D\E1\89\A0\E1\88\AD\00\E1\8B\B2\E1\88\B4\E1\88\9D\E1\89\A0\E1\88\AD\00\E1\8C\A0\E1\8B\8B\E1\89\B5\00\E1\8A\A8\E1\88\B3\E1\8B\93\E1\89\B5\00%A\E1\8D\A3 %b %e \E1\89\80\E1\8A\95 %l:%M:%S %Z %Y\00%d/%m/%Y\00%r\00\CD\00\E6\00\CB\00\D1\00\CE\00\CC\00\D3\00\C7\E4\C3\CD\CF\00\C7\E4\C7\CB\E6\EA\E6\00\C7\E4\CB\E4\C7\CB\C7\C1\00\C7\E4\C3\D1\C8\D9\C7\C1\00\C7\E4\CE\E5\EA\D3\00\C7\E4\CC\E5\D9\C9\00\C7\E4\D3\C8\CA \00\EA\E6\C7\00\E1\C8\D1\00\E5\C7\D1\00\C3\C8\D1\00\E5\C7\EA\00\EA\E8\E6\00\EA\E8\E4\00\C3\DA\D3\00\D3\C8\CA\00\C3\E3\CA\00\E6\E8\E1\00\CF\EA\D3\00\EA\E6\C7\EA\D1\00\E1\C8\D1\C7\EA\D1\00\E5\C7\D1\D3\00\C3\C8\D1\EA\E4\00\E5\C7\EA\E8\00\EA\E8\E6\EA\E8\00\EA\E8\E4\EA\E8\00\C3\DA\D3\D7\D3\00\D3\C8\CA\E5\C8\D1\00\C3\E3\CA\E8\C8\D1\00\E6\E8\E1\E5\C8\D1\00\CF\EA\D3\E5\C8\D1\00\D5\00\E5\00%d %b, %Y %Z %I:%M:%S %p\00%d %b, %Y\00%Z %I:%M:%S \00%Z %I:%M:%S %p\00\D8\AD\00\D9\86\00\D8\AB\00\D8\B1\00\D8\AE\00\D8\AC\00\D8\B3\00\D8\A7\D9\84\D8\A3\D8\AD\D8\AF\00\D8\A7\D9\84\D8\A7\D8\AB\D9\86\D9\8A\D9\86\00\D8\A7\D9\84\D8\AB\D9\84\D8\A7\D8\AB\D8\A7\D8\A1\00\D8\A7\D9\84\D8\A3\D8\B1\D8\A8\D8\B9\D8\A7\D8\A1\00\D8\A7\D9\84\D8\AE\D9\85\D9\8A\D8\B3\00\D8\A7\D9\84\D8\AC\D9\85\D8\B9\D8\A9\00\D8\A7\D9\84\D8\B3\D8\A8\D8\AA \00\D9\8A\D9\86\D8\A7\00\D9\81\D8\A8\D8\B1\00\D9\85\D8\A7\D8\B1\00\D8\A3\D8\A8\D8\B1\00\D9\85\D8\A7\D9\8A\00\D9\8A\D9\88\D9\86\00\D9\8A\D9\88\D9\84\00\D8\A3\D8\BA\D8\B3\00\D8\B3\D8\A8\D8\AA\00\D8\A3\D9\83\D8\AA\00\D9\86\D9\88\D9\81\00\D8\AF\D9\8A\D8\B3\00\D9\8A\D9\86\D8\A7\D9\8A\D8\B1\00\D9\81\D8\A8\D8\B1\D8\A7\D9\8A\D8\B1\00\D9\85\D8\A7\D8\B1\D8\B3\00\D8\A3\D8\A8\D8\B1\D9\8A\D9\84\00\D9\85\D8\A7\D9\8A\D9\88\00\D9\8A\D9\88\D9\86\D9\8A\D9\88\00\D9\8A\D9\88\D9\84\D9\8A\D9\88\00\D8\A3\D8\BA\D8\B3\D8\B7\D8\B3\00\D8\B3\D8\A8\D8\AA\D9\85\D8\A8\D8\B1\00\D8\A3\D9\83\D8\AA\D9\88\D8\A8\D8\B1\00\D9\86\D9\88\D9\81\D9\85\D8\A8\D8\B1\00\D8\AF\D9\8A\D8\B3\D9\85\D8\A8\D8\B1\00\D8\B5\00\D9\85\00\C7\E4\D3\C8\CA\00\D8\A7\D9\84\D8\B3\D8\A8\D8\AA\00%A %d %B %Y %I:%M:%S %p %Z\00%A %d %B %Y\00%I:%M:%S %Z\00%I:%M:%S %p %Z\00\E3\C7\E6\E8\E6 \C7\E4\CB\C7\E6\EA\00\D4\C8\C7\D7\00\C2\D0\C7\D1\00\E6\EA\D3\C7\E6\00\E6\E8\C7\D1\00\CD\D2\EA\D1\C7\E6\00\CA\E5\E8\D2\00\C2\C8\00\C3\EA\E4\E8\E4\00\CA\D4\D1\EA\E6 \C7\E4\C3\E8\E4\00\CA\D4\D1\EA\E6 \C7\E4\CB\C7\E6\EA\00\E3\C7\E6\E8\E6 \C7\E4\C3\E8\E4\00\D9\83\D8\A7\D9\86\D9\88\D9\86 \D8\A7\D9\84\D8\AB\D8\A7\D9\86\D9\8A\00\D8\B4\D8\A8\D8\A7\D8\B7\00\D8\A2\D8\B0\D8\A7\D8\B1\00\D9\86\D9\8A\D8\B3\D8\A7\D9\86\00\D9\86\D9\88\D8\A7\D8\B1\00\D8\AD\D8\B2\D9\8A\D8\B1\D8\A7\D9\86\00\D8\AA\D9\85\D9\88\D8\B2\00\D8\A2\D8\A8\00\D8\A3\D9\8A\D9\84\D9\88\D9\84\00\D8\AA\D8\B4\D8\B1\D9\8A\D9\86 \D8\A7\D9\84\D8\A3\D9\88\D9\84\00\D8\AA\D8\B4\D8\B1\D9\8A\D9\86 \D8\A7\D9\84\D8\AB\D8\A7\D9\86\D9\8A\00\D9\83\D8\A7\D9\86\D9\88\D9\86 \D8\A7\D9\84\D8\A3\D9\88\D9\84\00\C7\E4\C5\CB\E6\EA\E6\00\C7\E4\CC\E5\D9\E0\C9\00\E6\EA\D3\E0\C7\E6\00\C3\EA\C7\D1\00\CA\E0\E5\E0\E8\D2\00%A %.1d %B %Y %.1H:%M:%S\00%A %.1d %B %Y\00%.1H:%M:%S\00\D8\A7\D9\84\D8\A5\D8\AB\D9\86\D9\8A\D9\86\00\D8\A7\D9\84\D8\AC\D9\85\D8\B9\D9\80\D8\A9\00\D9\86\D9\8A\D8\B3\D9\80\D8\A7\D9\86\00\D8\A3\D9\8A\D8\A7\D8\B1\00\D8\AA\D9\80\D9\85\D9\80\D9\88\D8\B2\00\E6\E8\C7\D1\C7\E6\00\CD\D2\EA\D1\00\D9\86\D9\88\D8\A7\D8\B1\D8\A7\D9\86\00\D8\AD\D8\B2\D9\8A\D8\B1\00baz\00bir\00iki\00\FC\E7\FC\00d\F6r\00be\FE\00alt\00bazar g\FCn\FC\00birinci g\FCn\00ikinci g\FCn\00\FC\E7\FCnc\FC g\FCn\00d\F6rd\FCnc\FC g\FCn\00be\FEinci g\FCn\00alt\FDnc\FD g\FCn\00Yan\00Fev\00\DDyn\00\DDyl\00Avq\00Sen\00Noy\00Dek\00yanvar\00fevral\00mart\00aprel\00may\00iyun\00iyul\00avqust\00sentyabr\00oktyabr\00noyabr\00dekabr\00%A, %d %B %Y %T\00%d.%m.%Y\00\C3\BC\C3\A7\C3\BC\00d\C3\B6r\00be\C5\9F\00bazar g\C3\BCn\C3\BC\00birinci g\C3\BCn\00ikinci g\C3\BCn\00\C3\BC\C3\A7\C3\BCnc\C3\BC g\C3\BCn\00d\C3\B6rd\C3\BCnc\C3\BC g\C3\BCn\00be\C5\9Finci g\C3\BCn\00alt\C4\B1nc\C4\B1 g\C3\BCn\00\C4\B0yn\00\C4\B0yl\00\CD\FF\E4\00\CF\E0\ED\00\C0\A2\F2\00\D1\F0\E4\00\D7\F6\E2\00\CF\FF\F2\00\D1\F3\E1\00\CD\FF\E4\E7\E5\EB\FF\00\CF\E0\ED\FF\E4\E7\E5\EB\E0\EA\00\C0\A2\F2\EE\F0\E0\EA\00\D1\E5\F0\E0\E4\E0\00\D7\E0\F6\E2\E5\F0\00\CF\FF\F2\ED\B3\F6\E0\00\D1\F3\E1\EE\F2\E0\00\D1\F2\E4\00\CB\FE\F2\00\D1\E0\EA\00\CA\F0\F1\00\D2\F0\E0\00\D7\FD\F0\00\CB\B3\EF\00\C6\ED\E2\00\C2\F0\F1\00\CA\F1\F2\00\CB\B3\F1\00\D1\ED\E6\00\D1\F2\F3\E4\E7\E5\ED\FC\00\CB\FE\F2\FB\00\D1\E0\EA\E0\E2\B3\EA\00\CA\F0\E0\F1\E0\E2\B3\EA\00\D2\F0\E0\E2\E5\ED\FC\00\D7\FD\F0\E2\E5\ED\FC\00\CB\B3\EF\E5\ED\FC\00\C6\ED\B3\E2\E5\ED\FC\00\C2\E5\F0\E0\F1\E5\ED\FC\00\CA\E0\F1\F2\F0\FB\F7\ED\B3\EA\00\CB\B3\F1\F2\E0\EF\E0\E4\00\D1\ED\E5\E6\E0\ED\FC\00%a %d %b %Y %T\00\D0\9D\D1\8F\D0\B4\00\D0\9F\D0\B0\D0\BD\00\D0\90\D1\9E\D1\82\00\D0\A1\D1\80\D0\B4\00\D0\A7\D1\86\D0\B2\00\D0\9F\D1\8F\D1\82\00\D0\A1\D1\83\D0\B1\00\D0\9D\D1\8F\D0\B4\D0\B7\D0\B5\D0\BB\D1\8F\00\D0\9F\D0\B0\D0\BD\D1\8F\D0\B4\D0\B7\D0\B5\D0\BB\D0\B0\D0\BA\00\D0\90\D1\9E\D1\82\D0\BE\D1\80\D0\B0\D0\BA\00\D0\A1\D0\B5\D1\80\D0\B0\D0\B4\D0\B0\00\D0\A7\D0\B0\D1\86\D0\B2\D0\B5\D1\80\00\D0\9F\D1\8F\D1\82\D0\BD\D1\96\D1\86\D0\B0\00\D0\A1\D1\83\D0\B1\D0\BE\D1\82\D0\B0\00\D0\A1\D1\82\D0\B4\00\D0\9B\D1\8E\D1\82\00\D0\A1\D0\B0\D0\BA\00\D0\9A\D1\80\D1\81\00\D0\A2\D1\80\D0\B0\00\D0\A7\D1\8D\D1\80\00\D0\9B\D1\96\D0\BF\00\D0\96\D0\BD\D0\B2\00\D0\92\D1\80\D1\81\00\D0\9A\D1\81\D1\82\00\D0\9B\D1\96\D1\81\00\D0\A1\D0\BD\D0\B6\00\D0\A1\D1\82\D1\83\D0\B4\D0\B7\D0\B5\D0\BD\D1\8C\00\D0\9B\D1\8E\D1\82\D1\8B\00\D0\A1\D0\B0\D0\BA\D0\B0\D0\B2\D1\96\D0\BA\00\D0\9A\D1\80\D0\B0\D1\81\D0\B0\D0\B2\D1\96\D0\BA\00\D0\A2\D1\80\D0\B0\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\A7\D1\8D\D1\80\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\9B\D1\96\D0\BF\D0\B5\D0\BD\D1\8C\00\D0\96\D0\BD\D1\96\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\92\D0\B5\D1\80\D0\B0\D1\81\D0\B5\D0\BD\D1\8C\00\D0\9A\D0\B0\D1\81\D1\82\D1\80\D1\8B\D1\87\D0\BD\D1\96\D0\BA\00\D0\9B\D1\96\D1\81\D1\82\D0\B0\D0\BF\D0\B0\D0\B4\00\D0\A1\D0\BD\D0\B5\D0\B6\D0\B0\D0\BD\D1\8C\00\ED\E4\00\EF\ED\00\E2\F2\00\F1\F0\00\F7\F2\00\EF\F2\00\F1\E1\00\ED\E5\E4\E5\EB\FF\00\EF\EE\ED\E5\E4\E5\EB\ED\E8\EA\00\E2\F2\EE\F0\ED\E8\EA\00\F1\F0\FF\E4\E0\00\F7\E5\F2\E2\FA\F0\F2\FA\EA\00\EF\E5\F2\FA\EA\00\F1\FA\E1\EE\F2\E0\00\FF\ED\F3\00\F4\E5\E2\00\EC\E0\F0\00\E0\EF\F0\00\EC\E0\E9\00\FE\ED\E8\00\FE\EB\E8\00\E0\E2\E3\00\F1\E5\EF\00\EE\EA\F2\00\ED\EE\E5\00\E4\E5\EA\00\FF\ED\F3\E0\F0\E8\00\F4\E5\E2\F0\F3\E0\F0\E8\00\EC\E0\F0\F2\00\E0\EF\F0\E8\EB\00\E0\E2\E3\F3\F1\F2\00\F1\E5\EF\F2\E5\EC\E2\F0\E8\00\EE\EA\F2\EE\EC\E2\F0\E8\00\ED\EE\E5\EC\E2\F0\E8\00\E4\E5\EA\E5\EC\E2\F0\E8\00%x (%a) %X %Z\00%e.%m.%Y\00%k,%M,%S\00%l,%M,%S\00\D0\BD\D0\B4\00\D0\BF\D0\BD\00\D0\B2\D1\82\00\D1\81\D1\80\00\D1\87\D1\82\00\D0\BF\D1\82\00\D1\81\D0\B1\00\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D1\8F\00\D0\BF\D0\BE\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D0\BD\D0\B8\D0\BA\00\D0\B2\D1\82\D0\BE\D1\80\D0\BD\D0\B8\D0\BA\00\D1\81\D1\80\D1\8F\D0\B4\D0\B0\00\D1\87\D0\B5\D1\82\D0\B2\D1\8A\D1\80\D1\82\D1\8A\D0\BA\00\D0\BF\D0\B5\D1\82\D1\8A\D0\BA\00\D1\81\D1\8A\D0\B1\D0\BE\D1\82\D0\B0\00\D1\8F\D0\BD\D1\83\00\D1\84\D0\B5\D0\B2\00\D0\BC\D0\B0\D1\80\00\D0\B0\D0\BF\D1\80\00\D0\BC\D0\B0\D0\B9\00\D1\8E\D0\BD\D0\B8\00\D1\8E\D0\BB\D0\B8\00\D0\B0\D0\B2\D0\B3\00\D1\81\D0\B5\D0\BF\00\D0\BE\D0\BA\D1\82\00\D0\BD\D0\BE\D0\B5\00\D0\B4\D0\B5\D0\BA\00\D1\8F\D0\BD\D1\83\D0\B0\D1\80\D0\B8\00\D1\84\D0\B5\D0\B2\D1\80\D1\83\D0\B0\D1\80\D0\B8\00\D0\BC\D0\B0\D1\80\D1\82\00\D0\B0\D0\BF\D1\80\D0\B8\D0\BB\00\D0\B0\D0\B2\D0\B3\D1\83\D1\81\D1\82\00\D1\81\D0\B5\D0\BF\D1\82\D0\B5\D0\BC\D0\B2\D1\80\D0\B8\00\D0\BE\D0\BA\D1\82\D0\BE\D0\BC\D0\B2\D1\80\D0\B8\00\D0\BD\D0\BE\D0\B5\D0\BC\D0\B2\D1\80\D0\B8\00\D0\B4\D0\B5\D0\BA\D0\B5\D0\BC\D0\B2\D1\80\D0\B8\00\E0\A6\B0\E0\A6\AC\E0\A6\BF\00\E0\A6\B8\E0\A7\8B\E0\A6\AE\00\E0\A6\AE\E0\A6\99\E0\A6\97\E0\A6\B2\00\E0\A6\AC\E0\A7\81\E0\A6\A7\00\E0\A6\AC\E0\A7\83\E0\A6\B9\E0\A6\B8\E0\A7\8D\E0\A6\AA\E0\A6\A4\E0\A6\BF\00\E0\A6\B6\E0\A7\81\E0\A6\95\E0\A7\8D\E0\A6\B0\00\E0\A6\B6\E0\A6\A8\E0\A6\BF\00\E0\A6\B0\E0\A6\AC\E0\A6\BF\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B8\E0\A7\8B\E0\A6\AE\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\AE\E0\A6\99\E0\A6\97\E0\A6\B2\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\AC\E0\A7\81\E0\A6\A7\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\AC\E0\A7\83\E0\A6\B9\E0\A6\B8\E0\A7\8D\E0\A6\AA\E0\A6\A4\E0\A6\BF\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B6\E0\A7\81\E0\A6\95\E0\A7\8D\E0\A6\B0\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B6\E0\A6\A8\E0\A6\BF\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\9C\E0\A6\BE\E0\A6\A8\00\E0\A6\AB\E0\A7\87\E0\A6\AC\00\E0\A6\AE\E0\A6\BE\E0\A6\B0\00\E0\A6\8F\E0\A6\AA\E0\A7\8D\E0\A6\B0\00\E0\A6\AE\E0\A7\87\00\E0\A6\9C\E0\A7\81\E0\A6\A8\00\E0\A6\9C\E0\A7\81\E0\A6\B2\00\E0\A6\86\E0\A6\97\00\E0\A6\B8\E0\A7\87\E0\A6\AA\00\E0\A6\85\E0\A6\95\E0\A7\8D\E0\A6\9F\E0\A7\8B\E0\A6\AC\E0\A6\B0\00\E0\A6\A8\E0\A6\AD\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\B0\00\E0\A6\A1\E0\A6\BF\E0\A6\B8\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\B0\00\E0\A6\9C\E0\A6\BE\E0\A6\A8\E0\A7\81\E0\A7\9F\E0\A6\BE\E0\A6\B0\E0\A7\80\00\E0\A6\AB\E0\A7\87\E0\A6\AC\E0\A7\8D\E0\A6\B0\E0\A7\81\E0\A7\9F\E0\A6\BE\E0\A6\B0\E0\A7\80\00\E0\A6\AE\E0\A6\BE\E0\A6\B0\E0\A7\8D\E0\A6\9A\00\E0\A6\8F\E0\A6\AA\E0\A7\8D\E0\A6\B0\E0\A6\BF\E0\A6\B2\00\E0\A6\9C\E0\A7\81\E0\A6\B2\E0\A6\BE\E0\A6\87\00\E0\A6\86\E0\A6\97\E0\A6\B8\E0\A7\8D\E0\A6\9F\00\E0\A6\B8\E0\A7\87\E0\A6\AA\E0\A7\8D\E0\A6\9F\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\85\E0\A6\95\E0\A7\8D\E0\A6\9F\E0\A7\8B\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\A8\E0\A6\AD\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\A1\E0\A6\BF\E0\A6\B8\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B8\E0\A6\95\E0\A6\BE\E0\A6\B2\00\E0\A6\AC\E0\A6\BF\E0\A6\95\E0\A6\BE\E0\A6\B2\00%A %d %b %Y %I:%M:%S %p %Z\00%A %d %b %Y\00\E0\A6\B8\E0\A7\87\E0\A6\AA\E0\A7\8D\E0\A6\9F\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\B0\00\E0\A6\AA\E0\A7\82\E0\A6\B0\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B9\E0\A7\8D\E0\A6\A3\00\E0\A6\85\E0\A6\AA\E0\A6\B0\E0\A6\BE\E0\A6\B9\E0\A7\8D\E0\A6\A3\00sul\00lun\00meu\00mer\00yao\00gwe\00sad\00meurzh\00merc'her\00yaou\00gwener\00sadorn\00Gen \00C'hw\00Meu \00Ebr \00Mae \00Eve \00Gou \00Eos \00Gwe \00Her \00Du \00Ker \00Genver\00C'hwevrer\00Meurzh\00Ebrel\00Mae\00Mezheven\00Gouere\00Eost\00Gwengolo\00Here\00Du\00Kerzu\00 \00D'ar %A %d a viz %B %Y\00%Ie%M:%S %p\00Ned\00Pon\00Uto\00Sri\00\C8et\00Pet\00Sub\00Nedjelja\00Ponedjeljak\00Utorak\00Srijeda\00\C8etvrtak\00Petak\00Subota\00Maj\00Januar\00Februar\00Mart\00Juni\00Juli\00Septembar\00Oktobar\00Novembar\00Decembar\00\C4\8Cet\00\C4\8Cetvrtak\00dg\00dl\00dt\00dc\00dj\00dv\00ds\00diumenge\00dilluns\00dimarts\00dimecres\00dijous\00divendres\00dissabte\00gen\00feb\00mar\00abr\00mai\00jun\00jul\00ago\00set\00oct\00nov\00des\00gener\00febrer\00mar\E7\00abril\00maig\00juny\00juliol\00agost\00setembre\00octubre\00novembre\00desembre\00mar\C3\A7\00Ne\00Po\00\DAt\00St\00\C8t\00P\E1\00Ned\ECle\00Pond\ECl\ED\00\DAter\FD\00St\F8eda\00\C8tvrtek\00P\E1tek\00Sobota\00led\00\FAno\00b\F8e\00dub\00kv\EC\00\E8en\00\E8ec\00srp\00z\E1\F8\00\F8\EDj\00lis\00pro\00leden\00\FAnor\00b\F8ezen\00duben\00kv\ECten\00\E8erven\00\E8ervenec\00srpen\00z\E1\F8\ED\00\F8\EDjen\00listopad\00prosinec\00%a\A0%e.\A0%B\A0%Y,\A0%H:%M:%S\A0%Z\00%I:%M:%S\00\C3\9At\00\C4\8Ct\00P\C3\A1\00Ned\C4\9Ble\00Pond\C4\9Bl\C3\AD\00\C3\9Ater\C3\BD\00St\C5\99eda\00\C4\8Ctvrtek\00P\C3\A1tek\00\C3\BAno\00b\C5\99e\00kv\C4\9B\00\C4\8Den\00\C4\8Dec\00z\C3\A1\C5\99\00\C5\99\C3\ADj\00\C3\BAnor\00b\C5\99ezen\00kv\C4\9Bten\00\C4\8Derven\00\C4\8Dervenec\00z\C3\A1\C5\99\C3\AD\00\C5\99\C3\ADjen\00%a\C2\A0%e.\C2\A0%B\C2\A0%Y,\C2\A0%H:%M:%S\C2\A0%Z\00Sul\00Llu\00Maw\00Mer\00Iau\00Gwe\00Sad\00Llun\00Mawrth\00Mercher\00Gwener\00Sadwrn\00Ion\00Chw\00Ebr\00Mai\00Meh\00Gor\00Aws\00Med\00Hyd\00Tach\00Rha\00Ionawr\00Chwefror\00Ebrill\00Mehefin\00Gorffennaf\00Awst\00Medi\00Hydref\00Tachwedd\00Rhagfyr\00Dydd %A %d a viz %B %Y %T %Z\00%d.%m.%y\00s\F8n\00man\00tir\00ons\00tor\00fre\00l\F8r\00s\F8ndag\00mandag\00tirsdag\00onsdag\00torsdag\00fredag\00l\F8rdag\00jan\00apr\00maj\00aug\00sep\00okt\00dec\00januar\00februar\00marts\00april\00juni\00juli\00august\00september\00oktober\00november\00december\00%d-%m-%Y\00s\C3\B8n\00l\C3\B8r\00s\C3\B8ndag\00l\C3\B8rdag\00Son\00Die\00Mit\00Don\00Fre\00Sam\00Sonntag\00Montag\00Dienstag\00Mittwoch\00Donnerstag\00Freitag\00Samstag\00J\E4n\00M\E4r\00Dez\00J\E4nner\00Feber\00M\E4rz\00Dezember\00%Y-%m-%d\00J\C3\A4n\00M\C3\A4r\00J\C3\A4nner\00M\C3\A4rz\00\CA\F5\F1\00\C4\E5\F5\00\D4\F1\E9\00\D4\E5\F4\00\D0\E5\EC\00\D0\E1\F1\00\D3\E1\E2\00\CA\F5\F1\E9\E1\EA\DE\00\C4\E5\F5\F4\DD\F1\E1\00\D4\F1\DF\F4\E7\00\D4\E5\F4\DC\F1\F4\E7\00\D0\DD\EC\F0\F4\E7\00\D0\E1\F1\E1\F3\EA\E5\F5\DE\00\D3\DC\E2\E2\E1\F4\EF\00\C9\E1\ED\00\D6\E5\E2\00\CC\DC\F1\00\C1\F0\F1\00\CC\DC\E9\00\C9\EF\FD\ED\00\C9\EF\FD\EB\00\C1\FD\E3\00\D3\E5\F0\00\CF\EA\F4\00\CD\EF\DD\00\C4\E5\EA\00\C9\E1\ED\EF\F5\DC\F1\E9\EF\F2\00\D6\E5\E2\F1\EF\F5\DC\F1\E9\EF\F2\00\CC\DC\F1\F4\E9\EF\F2\00\C1\F0\F1\DF\EB\E9\EF\F2\00\CC\DC\E9\EF\F2\00\C9\EF\FD\ED\E9\EF\F2\00\C9\EF\FD\EB\E9\EF\F2\00\C1\FD\E3\EF\F5\F3\F4\EF\F2\00\D3\E5\F0\F4\DD\EC\E2\F1\E9\EF\F2\00\CF\EA\F4\FE\E2\F1\E9\EF\F2\00\CD\EF\DD\EC\E2\F1\E9\EF\F2\00\C4\E5\EA\DD\EC\E2\F1\E9\EF\F2\00\CE\9A\CF\85\CF\81\00\CE\94\CE\B5\CF\85\00\CE\A4\CF\81\CE\B9\00\CE\A4\CE\B5\CF\84\00\CE\A0\CE\B5\CE\BC\00\CE\A0\CE\B1\CF\81\00\CE\A3\CE\B1\CE\B2\00\CE\9A\CF\85\CF\81\CE\B9\CE\B1\CE\BA\CE\AE\00\CE\94\CE\B5\CF\85\CF\84\CE\AD\CF\81\CE\B1\00\CE\A4\CF\81\CE\AF\CF\84\CE\B7\00\CE\A4\CE\B5\CF\84\CE\AC\CF\81\CF\84\CE\B7\00\CE\A0\CE\AD\CE\BC\CF\80\CF\84\CE\B7\00\CE\A0\CE\B1\CF\81\CE\B1\CF\83\CE\BA\CE\B5\CF\85\CE\AE\00\CE\A3\CE\AC\CE\B2\CE\B2\CE\B1\CF\84\CE\BF\00\CE\99\CE\B1\CE\BD\00\CE\A6\CE\B5\CE\B2\00\CE\9C\CE\AC\CF\81\00\CE\91\CF\80\CF\81\00\CE\9C\CE\AC\CE\B9\00\CE\99\CE\BF\CF\8D\CE\BD\00\CE\99\CE\BF\CF\8D\CE\BB\00\CE\91\CF\8D\CE\B3\00\CE\A3\CE\B5\CF\80\00\CE\9F\CE\BA\CF\84\00\CE\9D\CE\BF\CE\AD\00\CE\94\CE\B5\CE\BA\00\CE\99\CE\B1\CE\BD\CE\BF\CF\85\CE\AC\CF\81\CE\B9\CE\BF\CF\82\00\CE\A6\CE\B5\CE\B2\CF\81\CE\BF\CF\85\CE\AC\CF\81\CE\B9\CE\BF\CF\82\00\CE\9C\CE\AC\CF\81\CF\84\CE\B9\CE\BF\CF\82\00\CE\91\CF\80\CF\81\CE\AF\CE\BB\CE\B9\CE\BF\CF\82\00\CE\9C\CE\AC\CE\B9\CE\BF\CF\82\00\CE\99\CE\BF\CF\8D\CE\BD\CE\B9\CE\BF\CF\82\00\CE\99\CE\BF\CF\8D\CE\BB\CE\B9\CE\BF\CF\82\00\CE\91\CF\8D\CE\B3\CE\BF\CF\85\CF\83\CF\84\CE\BF\CF\82\00\CE\A3\CE\B5\CF\80\CF\84\CE\AD\CE\BC\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00\CE\9F\CE\BA\CF\84\CF\8E\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00\CE\9D\CE\BF\CE\AD\CE\BC\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00\CE\94\CE\B5\CE\BA\CE\AD\CE\BC\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00%a %d %b %Y %r %Z\00%Y-%m-%dT%T %Z\00%A, %B %d, %Y %p%I:%M:%S %Z\00%A, %B %d, %Y\00%I:%M:%S %Z\00%p%I:%M:%S %Z\00%A, %d %B, %Y %I:%M:%S %p %Z\00%A, %d %B, %Y\00%A %d,%B,%Y %I:%M:%S %p %Z\00%A %d,%B,%Y\00%m/%d/%Y\00dim\00\C4\B5a\C5\AD\00ven\00sab\00diman\C4\89o\00lundo\00mardo\00merkredo\00\C4\B5a\C5\ADdo\00vendredo\00sabato\00A\C5\ADg\00Januaro\00Februaro\00Marto\00Aprilo\00Majo\00Junio\00Julio\00A\C5\ADgusto\00Septembro\00Oktobro\00Novembro\00Decembro\00%a %d %b %Y %T %z\00dom\00mi\E9\00jue\00vie\00s\E1b\00domingo\00lunes\00martes\00mi\E9rcoles\00jueves\00viernes\00s\E1bado\00ene\00dic\00enero\00febrero\00marzo\00mayo\00junio\00julio\00agosto\00septiembre\00noviembre\00diciembre\00mi\C3\A9\00s\C3\A1b\00mi\C3\A9rcoles\00s\C3\A1bado\00P\00E\00T\00K\00N\00R\00L\00p\FChap\E4ev\00esmasp\E4ev\00teisip\E4ev\00kolmap\E4ev\00neljap\E4ev\00reede\00laup\E4ev\00jaan \00veebr\00m\E4rts\00apr \00mai \00juuni\00juuli\00aug \00sept \00okt \00nov \00dets \00jaanuar\00veebruar\00aprill\00oktoober\00detsember\00p\C3\BChap\C3\A4ev\00esmasp\C3\A4ev\00teisip\C3\A4ev\00kolmap\C3\A4ev\00neljap\C3\A4ev\00laup\C3\A4ev\00m\C3\A4rts\00ig.\00al.\00ar.\00az.\00og.\00or.\00lr.\00igandea\00astelehena\00asteartea\00asteazkena\00osteguna\00ostirala\00larunbata\00urt\00ots\00api\00eka\00uzt\00abu\00ira\00urr\00aza\00abe\00urtarrila\00otsaila\00martxoa\00apirila\00maiatza\00ekaina\00uztaila\00abuztua\00iraila\00urria\00azaroa\00abendua\00%y-%m-%d %T %Z\00%a, %Y.eko %bren %da\00\DB\8C.\00\D8\AF.\00\D8\B3.\00\DA\86.\00\D9\BE.\00\D8\AC.\00\D8\B4.\00\DB\8C\DA\A9\E2\80\8C\D8\B4\D9\86\D8\A8\D9\87\00\D8\AF\D9\88\D8\B4\D9\86\D8\A8\D9\87\00\D8\B3\D9\87\E2\80\8C\D8\B4\D9\86\D8\A8\D9\87\00\DA\86\D9\87\D8\A7\D8\B1\D8\B4\D9\86\D8\A8\D9\87\00\D9\BE\D9\86\D8\AC\E2\80\8C\D8\B4\D9\86\D8\A8\D9\87\00\D8\AC\D9\85\D8\B9\D9\87\00\D8\B4\D9\86\D8\A8\D9\87\00\DA\98\D8\A7\D9\86\00\D9\81\D9\88\D8\B1\00\D8\A2\D9\88\D8\B1\00\D9\85\D9\80\D9\87\00\DA\98\D9\88\D9\86\00\DA\98\D9\88\DB\8C\00\D8\A7\D9\88\D8\AA\00\D8\B3\D9\BE\D8\AA\00\D8\A7\D9\83\D8\AA\00\D9\86\D9\88\D8\A7\00\D8\AF\D8\B3\D8\A7\00\DA\98\D8\A7\D9\86\D9\88\DB\8C\D9\87\00\D9\81\D9\88\D8\B1\DB\8C\D9\87\00\D8\A2\D9\88\D8\B1\DB\8C\D9\84\00\D9\85\D9\87\00\DA\98\D9\88\D8\A6\D9\86\00\DA\98\D9\88\D8\A6\DB\8C\D9\87\00\D8\B3\D9\BE\D8\AA\D8\A7\D9\85\D8\A8\D8\B1\00\D8\A7\D9\83\D8\AA\D8\A8\D8\B1\00\D9\86\D9\88\D8\A7\D9\85\D8\A8\D8\B1\00\D8\AF\D8\B3\D8\A7\D9\85\D8\A8\D8\B1\00\D8\B5\D8\A8\D8\AD\00\D8\B9\D8\B5\D8\B1\00\E2\80\AB%A %e %B %Y\D8\8C %I:%M:%S %p\E2\80\AC\00%Y/%m/%d\00\E2\80\AB%I:%M:%S %p\E2\80\AC\00su\00ma\00ti\00ke\00to\00pe\00la\00sunnuntai\00maanantai\00tiistai\00keskiviikko\00torstai\00perjantai\00lauantai\00tammi\A0\00helmi\A0\00maalis\00huhti\A0\00touko\A0\00kes\E4\A0\A0\00hein\E4\A0\00elo\A0\A0\A0\00syys\A0\A0\00loka\A0\A0\00marras\00joulu\A0\00tammikuu\00helmikuu\00maaliskuu\00huhtikuu\00toukokuu\00kes\E4kuu\00hein\E4kuu\00elokuu\00syyskuu\00lokakuu\00marraskuu\00joulukuu\00%a %e %B %Y %T\00tammi\C2\A0\00helmi\C2\A0\00huhti\C2\A0\00touko\C2\A0\00kes\C3\A4\C2\A0\C2\A0\00hein\C3\A4\C2\A0\00elo\C2\A0\C2\A0\C2\A0\00syys\C2\A0\C2\A0\00loka\C2\A0\C2\A0\00joulu\C2\A0\00kes\C3\A4kuu\00hein\C3\A4kuu\00sun\00m\E1n\00t\FDs\00mik\00h\F3s\00fr\ED\00ley\00sunnudagur\00m\E1nadagur\00t\FDsdagur\00mikudagur\00h\F3sdagur\00fr\EDggjadagur\00leygardagur\00mars\00apr\EDl\00desember\00%d/%m-%Y\00m\C3\A1n\00t\C3\BDs\00h\C3\B3s\00fr\C3\AD\00m\C3\A1nadagur\00t\C3\BDsdagur\00h\C3\B3sdagur\00fr\C3\ADggjadagur\00apr\C3\ADl\00jeu\00sam\00dimanche\00lundi\00mardi\00mercredi\00jeudi\00vendredi\00samedi\00f\E9v\00avr\00jui\00ao\FB\00d\E9c\00janvier\00f\E9vrier\00avril\00juin\00juillet\00ao\FBt\00septembre\00octobre\00d\E9cembre\00f\C3\A9v\00ao\C3\BB\00d\C3\A9c\00f\C3\A9vrier\00ao\C3\BBt\00d\C3\A9cembre\00%d. %m. %y\00Domh\00Luan\00M\E1irt\00C\E9ad\00D\E9ar\00Aoine\00Sath\00D\E9 Domhnaigh\00D\E9 Luain\00D\E9 M\E1irt\00D\E9 C\E9adaoin\00D\E9ardaoin\00D\E9 hAoine\00D\E9 Sathairn\00Ean\00Feabh\00M\E1rta\00Aib\00Beal\00Meith\00I\FAil\00L\FAn\00MF\F3mh\00DF\F3mh\00Samh\00Noll\00Ean\E1ir\00Feabhra\00Aibre\E1n\00M\ED na Bealtaine\00L\FAnasa\00Me\E1n F\F3mhair\00Deireadh F\F3mhair\00M\ED na Samhna\00M\ED na Nollag\00M\C3\A1irt\00C\C3\A9ad\00D\C3\A9ar\00D\C3\A9 Domhnaigh\00D\C3\A9 Luain\00D\C3\A9 M\C3\A1irt\00D\C3\A9 C\C3\A9adaoin\00D\C3\A9ardaoin\00D\C3\A9 hAoine\00D\C3\A9 Sathairn\00M\C3\A1rta\00I\C3\BAil\00L\C3\BAn\00MF\C3\B3mh\00DF\C3\B3mh\00Ean\C3\A1ir\00Aibre\C3\A1n\00M\C3\AD na Bealtaine\00L\C3\BAnasa\00Me\C3\A1n F\C3\B3mhair\00Deireadh F\C3\B3mhair\00M\C3\AD na Samhna\00M\C3\AD na Nollag\00Dido\00Dilu\00Dim\00Dic\00Diar\00Diha\00Disa\00Did\F2mhnaich\00Diluain\00Dim\E0irt\00Diciadain\00Diardaoin\00Dihaoine\00Disathairne\00Fao\00Gea\00M\E0r\00Gib\00Mh\E0\00OgM\00luc\00L\F9n\00Dam\00D\F9b\00Am Faoilteach\00An Gearran\00Am M\E0rt\00An Giblean\00A' Mh\E0igh\00An t-Mh\ECos\00An t-luchar\00An L\F9nasdal\00An t-Sultain\00An Damhair\00An t-Samhain\00An D\F9bhlachd\00Did\C3\B2mhnaich\00Dim\C3\A0irt\00M\C3\A0r\00Mh\C3\A0\00L\C3\B9n\00D\C3\B9b\00Am M\C3\A0rt\00A' Mh\C3\A0igh\00An t-Mh\C3\ACos\00An L\C3\B9nasdal\00An D\C3\B9bhlachd\00Dom\00Lun\00M\E9r\00Xov\00Ven\00S\E1b\00Domingo\00Luns\00Martes\00M\E9rcores\00Xoves\00Venres\00S\E1bado\00Xan\00Abr\00Xu\F1\00Xul\00Ago\00Set\00Out\00Xaneiro\00Febreiro\00Marzo\00Abril\00Maio\00Xu\F1o\00Xullo\00Agosto\00Setembro\00Outubro\00M\C3\A9r\00S\C3\A1b\00M\C3\A9rcores\00S\C3\A1bado\00Xu\C3\B1\00Xu\C3\B1o\00Jed\00Jel\00Jem\00Jerc\00Jerd\00Jeh\00Jes\00Jedoonee\00Jelhein\00Jemayrt\00Jercean\00Jerdein\00Jeheiney\00Jesarn\00J-guer\00T-arree\00Mayrnt\00Avrril\00Boaldyn\00M-souree\00J-souree\00Luanistyn\00M-fouyir\00J-fouyir\00M.Houney\00M.Nollick\00Jerrey-geuree\00Toshiaght-arree\00Averil\00Mean-souree\00Jerrey-souree\00Mean-fouyir\00Jerrey-fouyir\00Mee Houney\00Mee ny Nollick\00\E0'\00\E1'\00\E2'\00\E3'\00\E4'\00\E5'\00\F9'\00\F8\E0\F9\E5\EF\00\F9\F0\E9\00\F9\EC\E9\F9\E9\00\F8\E1\E9\F2\E9\00\E7\EE\E9\F9\E9\00\F9\E9\F9\E9\00\F9\E1\FA\00\E9\F0\E5\00\F4\E1\F8\00\EE\F8\F5\00\E0\F4\F8\00\EE\E0\E9\00\E9\E5\F0\00\E9\E5\EC\00\E0\E5\E2\00\F1\F4\E8\00\E0\E5\F7\00\F0\E5\E1\00\E3\F6\EE\00\E9\F0\E5\E0\F8\00\F4\E1\F8\E5\E0\F8\00\E0\F4\F8\E9\EC\00\E9\E5\F0\E9\00\E9\E5\EC\E9\00\E0\E5\E2\E5\F1\E8\00\F1\F4\E8\EE\E1\F8\00\E0\E5\F7\E8\E5\E1\F8\00\F0\E5\E1\EE\E1\F8\00\E3\F6\EE\E1\F8\00%Z %H:%M:%S %Y %b %d %a\00%I:%M:%S %P\00\D7\90'\00\D7\91'\00\D7\92'\00\D7\93'\00\D7\94'\00\D7\95'\00\D7\A9'\00\D7\A8\D7\90\D7\A9\D7\95\D7\9F\00\D7\A9\D7\A0\D7\99\00\D7\A9\D7\9C\D7\99\D7\A9\D7\99\00\D7\A8\D7\91\D7\99\D7\A2\D7\99\00\D7\97\D7\9E\D7\99\D7\A9\D7\99\00\D7\A9\D7\99\D7\A9\D7\99\00\D7\A9\D7\91\D7\AA\00\D7\99\D7\A0\D7\95\00\D7\A4\D7\91\D7\A8\00\D7\9E\D7\A8\D7\A5\00\D7\90\D7\A4\D7\A8\00\D7\9E\D7\90\D7\99\00\D7\99\D7\95\D7\A0\00\D7\99\D7\95\D7\9C\00\D7\90\D7\95\D7\92\00\D7\A1\D7\A4\D7\98\00\D7\90\D7\95\D7\A7\00\D7\A0\D7\95\D7\91\00\D7\93\D7\A6\D7\9E\00\D7\99\D7\A0\D7\95\D7\90\D7\A8\00\D7\A4\D7\91\D7\A8\D7\95\D7\90\D7\A8\00\D7\90\D7\A4\D7\A8\D7\99\D7\9C\00\D7\99\D7\95\D7\A0\D7\99\00\D7\99\D7\95\D7\9C\D7\99\00\D7\90\D7\95\D7\92\D7\95\D7\A1\D7\98\00\D7\A1\D7\A4\D7\98\D7\9E\D7\91\D7\A8\00\D7\90\D7\95\D7\A7\D7\98\D7\95\D7\91\D7\A8\00\D7\A0\D7\95\D7\91\D7\9E\D7\91\D7\A8\00\D7\93\D7\A6\D7\9E\D7\91\D7\A8\00\E0\A4\B0\E0\A4\B5\E0\A4\BF \00\E0\A4\B8\E0\A5\8B\E0\A4\AE \00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B2 \00\E0\A4\AC\E0\A5\81\E0\A4\A7 \00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81 \00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0 \00\E0\A4\B6\E0\A4\A8\E0\A4\BF \00\E0\A4\B0\E0\A4\B5\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\B8\E0\A5\8B\E0\A4\AE\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B2\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\AC\E0\A5\81\E0\A4\A7\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\B6\E0\A4\A8\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\9C\E0\A4\A8\E0\A4\B5\E0\A4\B0\E0\A5\80\00\E0\A4\AB\E0\A4\BC\E0\A4\B0\E0\A4\B5\E0\A4\B0\E0\A5\80\00\E0\A4\AE\E0\A4\BE\E0\A4\B0\E0\A5\8D\E0\A4\9A\00\E0\A4\85\E0\A4\AA\E0\A5\8D\E0\A4\B0\E0\A5\87\E0\A4\B2\00\E0\A4\AE\E0\A4\88\00\E0\A4\9C\E0\A5\82\E0\A4\A8\00\E0\A4\9C\E0\A5\81\E0\A4\B2\E0\A4\BE\E0\A4\88\00\E0\A4\85\E0\A4\97\E0\A4\B8\E0\A5\8D\E0\A4\A4\00\E0\A4\B8\E0\A4\BF\E0\A4\A4\E0\A4\AE\E0\A5\8D\E0\A4\AC\E0\A4\B0\00\E0\A4\85\E0\A4\95\E0\A5\8D\E0\A4\9F\E0\A5\82\E0\A4\AC\E0\A4\B0\00\E0\A4\A8\E0\A4\B5\E0\A4\AE\E0\A5\8D\E0\A4\AC\E0\A4\B0\00\E0\A4\A6\E0\A4\BF\E0\A4\B8\E0\A4\AE\E0\A5\8D\E0\A4\AC\E0\A4\B0\00\E0\A4\AA\E0\A5\82\E0\A4\B0\E0\A5\8D\E0\A4\B5\E0\A4\BE\E0\A4\B9\E0\A5\8D\E0\A4\A8\00\E0\A4\85\E0\A4\AA\E0\A4\B0\E0\A4\BE\E0\A4\B9\E0\A5\8D\E0\A4\A8\00Sij\00Vel\00O\BEu\00Tra\00Svi\00Lip\00Srp\00Kol\00Ruj\00Lis\00Stu\00Pro\00Sije\E8anj\00Velja\E8a\00O\BEujak\00Travanj\00Svibanj\00Lipanj\00Srpanj\00Kolovoz\00Rujan\00Listopad\00Studeni\00Prosinac\00O\C5\BEu\00Sije\C4\8Danj\00Velja\C4\8Da\00O\C5\BEujak\00v\00h\00k\00sze\00cs\00p\00szo\00vas\E1rnap\00h\E9tf\F5\00kedd\00szerda\00cs\FCt\F6rt\F6k\00p\E9ntek\00szombat\00m\E1r\00\E1pr\00m\E1j\00j\FAn\00j\FAl\00janu\E1r\00febru\E1r\00m\E1rcius\00\E1prilis\00m\E1jus\00j\FAnius\00j\FAlius\00augusztus\00szeptember\00okt\F3ber\00%Y. %b. %e., %A, %H.%M.%S %Z\00%H.%M.%S\00vas\C3\A1rnap\00h\C3\A9tf\C5\91\00cs\C3\BCt\C3\B6rt\C3\B6k\00p\C3\A9ntek\00m\C3\A1r\00\C3\A1pr\00m\C3\A1j\00j\C3\BAn\00j\C3\BAl\00janu\C3\A1r\00febru\C3\A1r\00m\C3\A1rcius\00\C3\A1prilis\00m\C3\A1jus\00j\C3\BAnius\00j\C3\BAlius\00okt\C3\B3ber\00\CE\F1\CF\00\BA\F1\CF\00\BA\F1\F9\00\E2\F1\F9\00\D0\DD\B7\00\E0\F5\F1\00\DE\B5\C3\00\CE\C7\F1\B3\CF\C7\00\BA\F1\CF\E1\F5\DF\B3\B5\C3\C7\00\BA\F1\BB\F9\DF\B3\B5\C3\C7\00\E2\E1\F1\BB\F9\DF\B3\B5\C3\C7\00\D0\C7\DD\B7\DF\B3\B5\C3\C7\00\E0\F5\F1\B5\B3\C3\00\DE\B3\B5\B3\C3\00\D0\DD\ED\00\F6\EF\F1\00\D8\B3\F1\00\B2\E5\F1\00\D8\B3\DB\00\D0\DD\EB\00\D0\C9\EB\00\FA\B7\EB\00\EA\BB\E5\00\D0\E1\CF\00\DC\D9\B5\00\B8\BB\CF\00\D0\E1\F5\DD\ED\B3\F1\C7\00\F6\BB\EF\F1\ED\B3\F1\C7\00\D8\B3\F1\EF\C7\00\B2\E5\F1\C7\C9\C7\00\D8\B3\DB\C7\EB\C7\00\D0\E1\F5\DD\C7\EB\C7\00\D0\E1\F5\C9\C7\EB\C7\00\FA\B7\E1\EB\EF\E1\EB\C7\00\EA\BB\E5\EF\BB\D9\B5\BB\F1\C7\00\D0\E1\CF\EF\BB\D9\B5\BB\F1\C7\00\DC\E1\DB\BB\D9\B5\BB\F1\C7\00\B8\BB\CF\EF\BB\D9\B5\BB\F1\C7\00\D4\BF\D6\80\D5\AF\00\D4\B5\D6\80\D5\AF\00\D4\B5\D6\80\D6\84\00\D5\89\D6\80\D6\84\00\D5\80\D5\B6\D5\A3\00\D5\88\D6\82\D6\80\00\D5\87\D5\A2\D5\A9\00\D4\BF\D5\AB\D6\80\D5\A1\D5\AF\D5\AB\00\D4\B5\D6\80\D5\AF\D5\B8\D6\82\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D4\B5\D6\80\D5\A5\D6\84\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D5\89\D5\B8\D6\80\D5\A5\D6\84\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D5\80\D5\AB\D5\B6\D5\A3\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D5\88\D6\82\D6\80\D5\A2\D5\A1\D5\A9\00\D5\87\D5\A1\D5\A2\D5\A1\D5\A9\00\D5\80\D5\B6\D5\BE\00\D5\93\D5\BF\D6\80\00\D5\84\D5\A1\D6\80\00\D4\B1\D5\BA\D6\80\00\D5\84\D5\A1\D5\B5\00\D5\80\D5\B6\D5\BD\00\D5\80\D5\AC\D5\BD\00\D5\95\D5\A3\D5\BD\00\D5\8D\D5\A5\D5\BA\00\D5\80\D5\B8\D5\AF\00\D5\86\D5\B4\D5\A2\00\D4\B4\D5\A5\D5\AF\00\D5\80\D5\B8\D6\82\D5\B6\D5\BE\D5\A1\D6\80\D5\AB\00\D5\93\D5\A5\D5\BF\D6\80\D5\BE\D5\A1\D6\80\D5\AB\00\D5\84\D5\A1\D6\80\D5\BF\D5\AB\00\D4\B1\D5\BA\D6\80\D5\AB\D5\AC\D5\AB\00\D5\84\D5\A1\D5\B5\D5\AB\D5\BD\D5\AB\00\D5\80\D5\B8\D6\82\D5\B6\D5\AB\D5\BD\D5\AB\00\D5\80\D5\B8\D6\82\D5\AC\D5\AB\D5\BD\D5\AB\00\D5\95\D5\A3\D5\B8\D5\BD\D5\BF\D5\B8\D5\BD\D5\AB\00\D5\8D\D5\A5\D5\BA\D5\BF\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00\D5\80\D5\B8\D5\AF\D5\BF\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00\D5\86\D5\B8\D5\B5\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00\D4\B4\D5\A5\D5\AF\D5\BF\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00Min\00Sel\00Rab\00Kam\00Jum\00Sab\00Minggu\00Senin\00Selasa\00Rabu\00Kamis\00Jumat\00Sabtu\00Peb\00Agu\00Januari\00Pebruari\00Maret\00Agustus\00M\E1n\00\DEri\00Mi\F0\00Fim\00F\F6s\00Lau\00Sunnudagur\00M\E1nudagur\00\DEri\F0judagur\00Mi\F0vikudagur\00Fimmtudagur\00F\F6studagur\00Laugardagur\00Ma\ED\00J\FAn\00J\FAl\00\C1g\FA\00N\F3v\00Jan\FAar\00Febr\FAar\00Mars\00Apr\EDl\00J\FAn\ED\00J\FAl\ED\00\C1g\FAst\00Okt\F3ber\00N\F3vember\00fh\00eh\00%a %e.%b %Y, %T %Z\00%a %e.%b %Y\00M\C3\A1n\00\C3\9Eri\00Mi\C3\B0\00F\C3\B6s\00M\C3\A1nudagur\00\C3\9Eri\C3\B0judagur\00Mi\C3\B0vikudagur\00F\C3\B6studagur\00Ma\C3\AD\00J\C3\BAn\00J\C3\BAl\00\C3\81g\C3\BA\00N\C3\B3v\00Jan\C3\BAar\00Febr\C3\BAar\00Apr\C3\ADl\00J\C3\BAn\C3\AD\00J\C3\BAl\C3\AD\00\C3\81g\C3\BAst\00Okt\C3\B3ber\00N\C3\B3vember\00gio\00domenica\00luned\EC\00marted\EC\00mercoled\EC\00gioved\EC\00venerd\EC\00mag\00giu\00lug\00ott\00gennaio\00febbraio\00aprile\00maggio\00giugno\00luglio\00settembre\00ottobre\00dicembre\00luned\C3\AC\00marted\C3\AC\00mercoled\C3\AC\00gioved\C3\AC\00venerd\C3\AC\00\E6\97\A5\00\E6\9C\88\00\E7\81\AB\00\E6\B0\B4\00\E6\9C\A8\00\E9\87\91\00\E5\9C\9F\00\E6\97\A5\E6\9B\9C\E6\97\A5\00\E6\9C\88\E6\9B\9C\E6\97\A5\00\E7\81\AB\E6\9B\9C\E6\97\A5\00\E6\B0\B4\E6\9B\9C\E6\97\A5\00\E6\9C\A8\E6\9B\9C\E6\97\A5\00\E9\87\91\E6\9B\9C\E6\97\A5\00\E5\9C\9F\E6\9B\9C\E6\97\A5\00 1\E6\9C\88\00 2\E6\9C\88\00 3\E6\9C\88\00 4\E6\9C\88\00 5\E6\9C\88\00 6\E6\9C\88\00 7\E6\9C\88\00 8\E6\9C\88\00 9\E6\9C\88\0010\E6\9C\88\0011\E6\9C\88\0012\E6\9C\88\001\E6\9C\88\002\E6\9C\88\003\E6\9C\88\004\E6\9C\88\005\E6\9C\88\006\E6\9C\88\007\E6\9C\88\008\E6\9C\88\009\E6\9C\88\00\E5\8D\88\E5\89\8D\00\E5\8D\88\E5\BE\8C\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %H\E6\99\82%M\E5\88\86%S\E7\A7\92\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5\00%H\E6\99\82%M\E5\88\86%S\E7\A7\92\00%p%I\E6\99\82%M\E5\88\86%S\E7\A7\92\00+:2:1990/01/01:+*:\E5\B9\B3\E6\88\90:%EC%Ey\E5\B9\B4\00+:1:1989/01/08:1989/12/31:\E5\B9\B3\E6\88\90:%EC\E5\85\83\E5\B9\B4\00+:2:1927/01/01:1989/01/07:\E6\98\AD\E5\92\8C:%EC%Ey\E5\B9\B4\00+:1:1926/12/25:1926/12/31:\E6\98\AD\E5\92\8C:%EC\E5\85\83\E5\B9\B4\00+:2:1913/01/01:1926/12/24:\E5\A4\A7\E6\AD\A3:%EC%Ey\E5\B9\B4\00+:2:1912/07/30:1912/12/31:\E5\A4\A7\E6\AD\A3:%EC\E5\85\83\E5\B9\B4\00+:6:1873/01/01:1912/07/29:\E6\98\8E\E6\B2\BB:%EC%Ey\E5\B9\B4\00+:1:0001/01/01:1872/12/31:\E8\A5\BF\E6\9A\A6:%EC%Ey\E5\B9\B4\00+:1:-0001/12/31:-*:\E7\B4\80\E5\85\83\E5\89\8D:%EC%Ey\E5\B9\B4\00\00%EY%m\E6\9C\88%d\E6\97\A5\00\E3\80\87\00\E4\B8\80\00\E4\BA\8C\00\E4\B8\89\00\E5\9B\9B\00\E4\BA\94\00\E5\85\AD\00\E4\B8\83\00\E5\85\AB\00\E4\B9\9D\00\E5\8D\81\00\E5\8D\81\E4\B8\80\00\E5\8D\81\E4\BA\8C\00\E5\8D\81\E4\B8\89\00\E5\8D\81\E5\9B\9B\00\E5\8D\81\E4\BA\94\00\E5\8D\81\E5\85\AD\00\E5\8D\81\E4\B8\83\00\E5\8D\81\E5\85\AB\00\E5\8D\81\E4\B9\9D\00\E4\BA\8C\E5\8D\81\00\E4\BA\8C\E5\8D\81\E4\B8\80\00\E4\BA\8C\E5\8D\81\E4\BA\8C\00\E4\BA\8C\E5\8D\81\E4\B8\89\00\E4\BA\8C\E5\8D\81\E5\9B\9B\00\E4\BA\8C\E5\8D\81\E4\BA\94\00\E4\BA\8C\E5\8D\81\E5\85\AD\00\E4\BA\8C\E5\8D\81\E4\B8\83\00\E4\BA\8C\E5\8D\81\E5\85\AB\00\E4\BA\8C\E5\8D\81\E4\B9\9D\00\E4\B8\89\E5\8D\81\00\E4\B8\89\E5\8D\81\E4\B8\80\00\E4\B8\89\E5\8D\81\E4\BA\8C\00\E4\B8\89\E5\8D\81\E4\B8\89\00\E4\B8\89\E5\8D\81\E5\9B\9B\00\E4\B8\89\E5\8D\81\E4\BA\94\00\E4\B8\89\E5\8D\81\E5\85\AD\00\E4\B8\89\E5\8D\81\E4\B8\83\00\E4\B8\89\E5\8D\81\E5\85\AB\00\E4\B8\89\E5\8D\81\E4\B9\9D\00\E5\9B\9B\E5\8D\81\00\E5\9B\9B\E5\8D\81\E4\B8\80\00\E5\9B\9B\E5\8D\81\E4\BA\8C\00\E5\9B\9B\E5\8D\81\E4\B8\89\00\E5\9B\9B\E5\8D\81\E5\9B\9B\00\E5\9B\9B\E5\8D\81\E4\BA\94\00\E5\9B\9B\E5\8D\81\E5\85\AD\00\E5\9B\9B\E5\8D\81\E4\B8\83\00\E5\9B\9B\E5\8D\81\E5\85\AB\00\E5\9B\9B\E5\8D\81\E4\B9\9D\00\E4\BA\94\E5\8D\81\00\E4\BA\94\E5\8D\81\E4\B8\80\00\E4\BA\94\E5\8D\81\E4\BA\8C\00\E4\BA\94\E5\8D\81\E4\B8\89\00\E4\BA\94\E5\8D\81\E5\9B\9B\00\E4\BA\94\E5\8D\81\E4\BA\94\00\E4\BA\94\E5\8D\81\E5\85\AD\00\E4\BA\94\E5\8D\81\E4\B8\83\00\E4\BA\94\E5\8D\81\E5\85\AB\00\E4\BA\94\E5\8D\81\E4\B9\9D\00\E5\85\AD\E5\8D\81\00\E5\85\AD\E5\8D\81\E4\B8\80\00\E5\85\AD\E5\8D\81\E4\BA\8C\00\E5\85\AD\E5\8D\81\E4\B8\89\00\E5\85\AD\E5\8D\81\E5\9B\9B\00\E5\85\AD\E5\8D\81\E4\BA\94\00\E5\85\AD\E5\8D\81\E5\85\AD\00\E5\85\AD\E5\8D\81\E4\B8\83\00\E5\85\AD\E5\8D\81\E5\85\AB\00\E5\85\AD\E5\8D\81\E4\B9\9D\00\E4\B8\83\E5\8D\81\00\E4\B8\83\E5\8D\81\E4\B8\80\00\E4\B8\83\E5\8D\81\E4\BA\8C\00\E4\B8\83\E5\8D\81\E4\B8\89\00\E4\B8\83\E5\8D\81\E5\9B\9B\00\E4\B8\83\E5\8D\81\E4\BA\94\00\E4\B8\83\E5\8D\81\E5\85\AD\00\E4\B8\83\E5\8D\81\E4\B8\83\00\E4\B8\83\E5\8D\81\E5\85\AB\00\E4\B8\83\E5\8D\81\E4\B9\9D\00\E5\85\AB\E5\8D\81\00\E5\85\AB\E5\8D\81\E4\B8\80\00\E5\85\AB\E5\8D\81\E4\BA\8C\00\E5\85\AB\E5\8D\81\E4\B8\89\00\E5\85\AB\E5\8D\81\E5\9B\9B\00\E5\85\AB\E5\8D\81\E4\BA\94\00\E5\85\AB\E5\8D\81\E5\85\AD\00\E5\85\AB\E5\8D\81\E4\B8\83\00\E5\85\AB\E5\8D\81\E5\85\AB\00\E5\85\AB\E5\8D\81\E4\B9\9D\00\E4\B9\9D\E5\8D\81\00\E4\B9\9D\E5\8D\81\E4\B8\80\00\E4\B9\9D\E5\8D\81\E4\BA\8C\00\E4\B9\9D\E5\8D\81\E4\B8\89\00\E4\B9\9D\E5\8D\81\E5\9B\9B\00\E4\B9\9D\E5\8D\81\E4\BA\94\00\E4\B9\9D\E5\8D\81\E5\85\AD\00\E4\B9\9D\E5\8D\81\E4\B8\83\00\E4\B9\9D\E5\8D\81\E5\85\AB\00\E4\B9\9D\E5\8D\81\E4\B9\9D\00%EY%m\E6\9C\88%d\E6\97\A5 %H\E6\99\82%M\E5\88\86%S\E7\A7\92\00\CA\C5\C9\00\CF\D2\DB\00\D3\C0\CC\00\CF\C8\E1\00\E1\D6\C8\00\D0\C0\D2\00\DB\C0\C1\00\CA\C5\C9\D2\C0\00\CF\D2\DB\C0\C1\C0\C8\C9\00\D3\C0\CC\DB\C0\C1\C0\C8\C9\00\CF\C8\E1\DB\C0\C1\C0\C8\C9\00\E1\D6\C8\DB\C0\C1\C0\C8\C9\00\D0\C0\D2\C0\D3\CA\C4\C5\C9\00\DB\C0\C1\C0\C8\C9\00\C9\C0\CD\00\C8\C4\C1\00\CC\C0\D2\00\C0\D0\D2\00\CC\C0\C9\00\C9\C5\CD\00\C9\C5\CB\00\C0\C2\C5\00\D3\C4\D8\00\CF\D8\D4\00\CD\CF\C4\00\C3\C4\CA\00\C9\C0\CD\C5\C0\D2\C9\00\C8\C4\C1\C4\D2\C5\C0\CB\C9\00\CC\C0\D2\D4\C9\00\C0\D0\D2\C9\CB\C9\00\CC\C0\C9\D3\C9\00\C9\C5\CD\C9\D3\C9\00\C9\C5\CB\C9\D3\C9\00\C0\C2\C5\C9\D3\D4\CF\00\D3\C4\D8\D4\C4\CC\C1\C4\D2\C9\00\CF\D8\D4\CF\CC\C1\C4\D2\C9\00\CD\CF\C4\CC\C1\C4\D2\C9\00\C3\C4\CA\C4\CC\C1\C4\D2\C9\00%Y \DF\CB\C9\D3 %d %B, %T %Z\00\E1\83\99\E1\83\95\E1\83\98\00\E1\83\9D\E1\83\A0\E1\83\A8\00\E1\83\A1\E1\83\90\E1\83\9B\00\E1\83\9D\E1\83\97\E1\83\AE\00\E1\83\AE\E1\83\A3\E1\83\97\00\E1\83\9E\E1\83\90\E1\83\A0\00\E1\83\A8\E1\83\90\E1\83\91\00\E1\83\99\E1\83\95\E1\83\98\E1\83\A0\E1\83\90\00\E1\83\9D\E1\83\A0\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\A1\E1\83\90\E1\83\9B\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\9D\E1\83\97\E1\83\AE\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\AE\E1\83\A3\E1\83\97\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\9E\E1\83\90\E1\83\A0\E1\83\90\E1\83\A1\E1\83\99\E1\83\94\E1\83\95\E1\83\98\00\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\98\E1\83\90\E1\83\9C\00\E1\83\97\E1\83\94\E1\83\91\00\E1\83\9B\E1\83\90\E1\83\A0\00\E1\83\90\E1\83\9E\E1\83\A0\00\E1\83\9B\E1\83\90\E1\83\98\00\E1\83\98\E1\83\95\E1\83\9C\00\E1\83\98\E1\83\95\E1\83\9A\00\E1\83\90\E1\83\92\E1\83\95\00\E1\83\A1\E1\83\94\E1\83\A5\00\E1\83\9D\E1\83\A5\E1\83\A2\00\E1\83\9C\E1\83\9D\E1\83\94\00\E1\83\93\E1\83\94\E1\83\99\00\E1\83\98\E1\83\90\E1\83\9C\E1\83\95\E1\83\90\E1\83\A0\E1\83\98\00\E1\83\97\E1\83\94\E1\83\91\E1\83\94\E1\83\A0\E1\83\95\E1\83\90\E1\83\9A\E1\83\98\00\E1\83\9B\E1\83\90\E1\83\A0\E1\83\A2\E1\83\98\00\E1\83\90\E1\83\9E\E1\83\A0\E1\83\98\E1\83\9A\E1\83\98\00\E1\83\9B\E1\83\90\E1\83\98\E1\83\A1\E1\83\98\00\E1\83\98\E1\83\95\E1\83\9C\E1\83\98\E1\83\A1\E1\83\98\00\E1\83\98\E1\83\95\E1\83\9A\E1\83\98\E1\83\A1\E1\83\98\00\E1\83\90\E1\83\92\E1\83\95\E1\83\98\E1\83\A1\E1\83\A2\E1\83\9D\00\E1\83\A1\E1\83\94\E1\83\A5\E1\83\A2\E1\83\94\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00\E1\83\9D\E1\83\A5\E1\83\A2\E1\83\9D\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00\E1\83\9C\E1\83\9D\E1\83\94\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00\E1\83\93\E1\83\94\E1\83\99\E1\83\94\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00%Y \E1\83\AC\E1\83\9A\E1\83\98\E1\83\A1 %d %B, %T %Z\00ata\00pin\00sis\00tal\00arf\00sabaat\00ataasinngorneq\00marlunngorneq\00pingasunngorneq\00sisamanngorneq\00tallimanngorneq\00arfininngorneq\00januari\00februari\00martsi\00aprili\00maji\00augustusi\00septemberi\00oktoberi\00novemberi\00decemberi\00%d %b %Y\00\EC\9D\BC\00\EC\9B\94\00\ED\99\94\00\EC\88\98\00\EB\AA\A9\00\EA\B8\88\00\ED\86\A0\00\EC\9D\BC\EC\9A\94\EC\9D\BC\00\EC\9B\94\EC\9A\94\EC\9D\BC\00\ED\99\94\EC\9A\94\EC\9D\BC\00\EC\88\98\EC\9A\94\EC\9D\BC\00\EB\AA\A9\EC\9A\94\EC\9D\BC\00\EA\B8\88\EC\9A\94\EC\9D\BC\00\ED\86\A0\EC\9A\94\EC\9D\BC\00 1\EC\9B\94\00 2\EC\9B\94\00 3\EC\9B\94\00 4\EC\9B\94\00 5\EC\9B\94\00 6\EC\9B\94\00 7\EC\9B\94\00 8\EC\9B\94\00 9\EC\9B\94\0010\EC\9B\94\0011\EC\9B\94\0012\EC\9B\94\00\EC\9D\BC\EC\9B\94\00\EC\9D\B4\EC\9B\94\00\EC\82\BC\EC\9B\94\00\EC\82\AC\EC\9B\94\00\EC\98\A4\EC\9B\94\00\EC\9C\A0\EC\9B\94\00\EC\B9\A0\EC\9B\94\00\ED\8C\94\EC\9B\94\00\EA\B5\AC\EC\9B\94\00\EC\8B\9C\EC\9B\94\00\EC\8B\AD\EC\9D\BC\EC\9B\94\00\EC\8B\AD\EC\9D\B4\EC\9B\94\00\EC\98\A4\EC\A0\84\00\EC\98\A4\ED\9B\84\00%x (%a) %r\00%Y\EB\85\84 %m\EC\9B\94 %d\EC\9D\BC\00%H\EC\8B\9C %M\EB\B6\84 %S\EC\B4\88\00%p %I\EC\8B\9C %M\EB\B6\84 %S\EC\B4\88\00Mth\00Mhr\00Yow\00De Sul\00De Lun\00De Merth\00De Merher\00De Yow\00De Gwener\00De Sadorn\00Gen\00Whe>\00Me\00Evn\00Est\00Gwn\00Hed\00Kev\00Mys Genver\00Mys Whevrel\00Mys Merth\00Mys Ebrel\00Mys Me\00Mys Evan\00Mys Gortheren\00Mye Est\00Mys Gwyngala\00Mys Hedra\00Mys Du\00Mys Kevardhu\00Sk\00Pr\00An\00Tr\00Kt\00Pn\00\D0t\00Sekmadienis\00Pirmadienis\00Antradienis\00Tre\E8iadienis\00Ketvirtadienis\00Penktadienis\00\D0e\F0tadienis\00Sau\00Vas\00Kov\00Bal\00Geg\00Bir\00Lie\00Rgp\00Rgs\00Spa\00Lap\00Grd\00sausio\00vasario\00kovo\00baland\FEio\00gegu\FE\EBs\00bir\FEelio\00liepos\00rugpj\FB\E8io\00rugs\EBjo\00spalio\00lapkri\E8io\00gruod\FEio\00%Y m. %B %d d. %T\00%Y.%m.%d\00\C5\A0t\00Tre\C4\8Diadienis\00\C5\A0e\C5\A1tadienis\00baland\C5\BEio\00gegu\C5\BE\C4\97s\00bir\C5\BEelio\00rugpj\C5\AB\C4\8Dio\00rugs\C4\97jo\00lapkri\C4\8Dio\00gruod\C5\BEio\00Sv\00P\A0\00O\A0\00T\A0\00C\A0\00Pk\00S\A0\00sv\E7tdiena\00pirmdiena\00otrdiena\00tre\F0diena\00ceturtdiena\00piektdiena\00sestdiena\00j\FBn\00j\FBl\00janv\E2ris\00febru\E2ris\00apr\EElis\00maijs\00j\FBnijs\00j\FBlijs\00augusts\00septembris\00oktobris\00novembris\00decembris\00%A, %Y. gada %e. %B, plkst. %H un %M\00%Y.%m.%d.\00P\C2\A0\00O\C2\A0\00T\C2\A0\00C\C2\A0\00S\C2\A0\00sv\C4\93tdiena\00tre\C5\A1diena\00j\C5\ABn\00j\C5\ABl\00janv\C4\81ris\00febru\C4\81ris\00apr\C4\ABlis\00j\C5\ABnijs\00j\C5\ABlijs\00Ta\00T\FB\00We\00T\E2i\00Pa\00H\E2\00R\E2tapu\00Mane\00T\FBrei\00Wenerei\00T\E2ite\00Paraire\00H\E2tarei\00Kohi\00Hui\00Pou\00Pae\00Hara\00Pipi\00H\F4ngoi\00Mahu\00Whi-nu\00Whi-ra\00Haki\00Kohi-t\E2tea\00Hui-tanguru\00Pout\FB-te-rangi\00Paenga-wh\E2wh\E2\00Haratua\00Pipiri\00H\F4ngoingoi\00Here-turi-k\F4k\E2\00Mahuru\00Whiringa-\E2-nuku\00Whiringa-\E2-rangi\00Hakihea\00Te %A, te %d o %B, %Y %T %Z\00T\C5\AB\00T\C4\81i\00H\C4\81\00R\C4\81tapu\00T\C5\ABrei\00T\C4\81ite\00H\C4\81tarei\00H\C5\8Dngoi\00Kohi-t\C4\81tea\00Pout\C5\AB-te-rangi\00Paenga-wh\C4\81wh\C4\81\00H\C5\8Dngoingoi\00Here-turi-k\C5\8Dk\C4\81\00Whiringa-\C4\81-nuku\00Whiringa-\C4\81-rangi\00\DD\D5\D4\00\DF\DE\DD\00\D2\E2\DE\00\E1\E0\D5\00\E7\D5\E2\00\DF\D5\E2\00\E1\D0\D1\00\DD\D5\D4\D5\DB\D0\00\DF\DE\DD\D5\D4\D5\DB\DD\D8\DA\00\D2\E2\DE\E0\DD\D8\DA\00\E1\E0\D5\D4\D0\00\E7\D5\E2\D2\E0\E2\DE\DA\00\DF\D5\E2\DE\DA\00\E1\D0\D1\DE\E2\D0\00\F8\D0\DD\00\E4\D5\D2\00\DC\D0\E0\00\D0\DF\E0\00\DC\D0\F8\00\F8\E3\DD\00\F8\E3\DB\00\D0\D2\D3\00\E1\D5\DF\00\DE\DA\E2\00\DD\DE\D5\00\D4\D5\DA\00\F8\D0\DD\E3\D0\E0\D8\00\E4\D5\D2\E0\E3\D0\E0\D8\00\DC\D0\E0\E2\00\D0\DF\E0\D8\DB\00\F8\E3\DD\D8\00\F8\E3\DB\D8\00\D0\D2\D3\E3\E1\E2\00\E1\D5\DF\E2\D5\DC\D2\E0\D8\00\DE\DA\E2\DE\DC\D2\E0\D8\00\DD\DE\D5\DC\D2\E0\D8\00\D4\D5\DA\D5\DC\D2\E0\D8\00%a, %d %b %Y %T %Z\00\D0\BD\D0\B5\D0\B4\00\D0\BF\D0\BE\D0\BD\00\D0\B2\D1\82\D0\BE\00\D1\81\D1\80\D0\B5\00\D1\87\D0\B5\D1\82\00\D0\BF\D0\B5\D1\82\00\D1\81\D0\B0\D0\B1\00\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D0\B0\00\D1\81\D1\80\D0\B5\D0\B4\D0\B0\00\D1\87\D0\B5\D1\82\D0\B2\D1\80\D1\82\D0\BE\D0\BA\00\D0\BF\D0\B5\D1\82\D0\BE\D0\BA\00\D1\81\D0\B0\D0\B1\D0\BE\D1\82\D0\B0\00\D1\98\D0\B0\D0\BD\00\D0\BC\D0\B0\D1\98\00\D1\98\D1\83\D0\BD\00\D1\98\D1\83\D0\BB\00\D1\98\D0\B0\D0\BD\D1\83\D0\B0\D1\80\D0\B8\00\D1\98\D1\83\D0\BD\D0\B8\00\D1\98\D1\83\D0\BB\D0\B8\00\E0\A4\B0\E0\A4\B5\E0\A4\BF\00\E0\A4\B8\E0\A5\8B\E0\A4\AE\00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B3\00\E0\A4\AC\E0\A5\81\E0\A4\A7\00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81\00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0\00\E0\A4\B6\E0\A4\A8\E0\A4\BF\00\E0\A4\B0\E0\A4\B5\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\B8\E0\A5\8B\E0\A4\AE\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B3\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\B6\E0\A4\A8\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\9C\E0\A4\BE\E0\A4\A8\E0\A5\87\E0\A4\B5\E0\A4\BE\E0\A4\B0\E0\A5\80\00\E0\A4\AB\E0\A5\87\E0\A4\AC\E0\A5\83\E0\A4\B5\E0\A4\BE\E0\A4\B0\E0\A5\80\00\E0\A4\8F\E0\A4\AA\E0\A5\8D\E0\A4\B0\E0\A4\BF\E0\A4\B2\00\E0\A4\AE\E0\A5\87\00\E0\A4\9C\E0\A5\81\E0\A4\B2\E0\A5\88\00\E0\A4\93\E0\A4\97\E0\A4\B8\E0\A5\8D\E0\A4\9F\00\E0\A4\B8\E0\A5\87\E0\A4\AA\E0\A5\8D\E0\A4\9F\E0\A5\87\E0\A4\82\E0\A4\AC\E0\A4\B0\00\E0\A4\93\E0\A4\95\E0\A5\8D\E0\A4\9F\E0\A5\8B\E0\A4\AC\E0\A4\B0\00\E0\A4\A8\E0\A5\8B\E0\A4\B5\E0\A5\8D\E0\A4\B9\E0\A5\87\E0\A4\82\E0\A4\AC\E0\A4\B0\00\E0\A4\A1\E0\A4\BF\E0\A4\B8\E0\A5\87\E0\A4\82\E0\A4\AC\E0\A4\B0\00\E0\A4\AE.\E0\A4\AA\E0\A5\82.\00\E0\A4\AE.\E0\A4\A8\E0\A4\82.\00Ahd\00Isn\00Kha\00Ahad\00Isnin\00Khamis\00Jumaat\00Mac\00Ogos\00Dis\00Februari\00Julai\00Disember\00\A1ad\00Tne\00Tli\00Erb\00\A1am\00\D5im\00Sib\00il-\A1add\00it-Tnejn\00it-Tlieta\00l-Erbg\B1a\00il-\A1amis\00il-\D5img\B1a\00is-Sibt\00Fra\00Mej\00\D5un\00Lul\00Awi\00Ott\00Di\E5\00Jannar\00Frar\00Marzu\00Mejju\00\D5unju\00Lulju\00Awissu\00Settembru\00Ottubru\00Novembru\00Di\E5embru \00%A, %d ta %b, %Y %I:%M:%S %p %Z\00%A, %d ta %b, %Y\00\C4\A6ad\00\C4\A6am\00\C4\A0im\00il-\C4\A6add\00l-Erbg\C4\A7a\00il-\C4\A6amis\00il-\C4\A0img\C4\A7a\00\C4\A0un\00Di\C4\8B\00\C4\A0unju\00Di\C4\8Bembru \00zo\00di\00wo\00do\00vr\00za\00zondag\00maandag\00dinsdag\00woensdag\00donderdag\00vrijdag\00zaterdag\00mrt\00mei\00maart\00augustus\00%d-%m-%y\00su \00m\E5 \00ty \00on \00to \00fr \00lau \00sundag \00m\E5ndag \00tysdag \00onsdag \00torsdag \00fredag \00laurdag \00%d. %b %Y kl %H.%M %Z\00%d. %b %Y\00kl %H.%M %Z\00m\C3\A5 \00m\C3\A5ndag \00%a %d-%m-%Y %T %Z\00mec\00j\F3u\00dimenge\00diluns\00dimars\00dij\F3us\00disabte\00ag\F3\00geni\E8r\00febri\E8r\00abrial\00junh\00julhet\00ag\F3st\00decembre\00j\C3\B3u\00dij\C3\B3us\00ag\C3\B3\00geni\C3\A8r\00febri\C3\A8r\00ag\C3\B3st\00nie\00pon\00wto\00\B6ro\00czw\00pi\B1\00sob\00niedziela\00poniedzia\B3ek\00wtorek\00\B6roda\00czwartek\00pi\B1tek\00sobota\00sty\00lut\00kwi\00cze\00lip\00sie\00wrz\00pa\BC\00gru\00stycze\F1\00luty\00marzec\00kwiecie\F1\00czerwiec\00lipiec\00sierpie\F1\00wrzesie\F1\00pa\BCdziernik\00grudzie\F1\00\C5\9Bro\00pi\C4\85\00poniedzia\C5\82ek\00\C5\9Broda\00pi\C4\85tek\00pa\C5\BA\00stycze\C5\84\00kwiecie\C5\84\00sierpie\C5\84\00wrzesie\C5\84\00pa\C5\BAdziernik\00grudzie\C5\84\00Seg\00Ter\00Qua\00Qui\00Sex\00segunda\00ter\E7a\00quarta\00quinta\00sexta\00janeiro\00fevereiro\00mar\E7o\00maio\00junho\00julho\00setembro\00outubro\00novembro\00dezembro\00ter\C3\A7a\00mar\C3\A7o\00Segunda\00Ter\E7a\00Quarta\00Quinta\00Sexta\00Janeiro\00Fevereiro\00Mar\E7o\00Junho\00Julho\00Dezembro\00Ter\C3\A7a\00Mar\C3\A7o\00Lu\00Mi\00Jo\00Vi\00S\EE\00Duminic\C3\00Luni\00Mar\FEi\00Miercuri\00Joi\00Vineri\00S\EEmb\C3t\C3\00ian\00iun\00iul\00Ianuarie\00Martie\00Aprilie\00Iunie\00Iulie\00Septembrie\00Octombrie\00Noiembrie\00Decembrie\00S\C3\AE\00Duminic\C4\82\00Mar\C5\A3i\00S\C3\AEmb\C4\82t\C4\82\00\F7\D3\CB\00\F0\CE\C4\00\F7\D4\D2\00\F3\D2\C4\00\FE\D4\D7\00\F0\D4\CE\00\F3\C2\D4\00\F7\CF\D3\CB\D2\C5\D3\C5\CE\D8\C5\00\F0\CF\CE\C5\C4\C5\CC\D8\CE\C9\CB\00\F7\D4\CF\D2\CE\C9\CB\00\F3\D2\C5\C4\C1\00\FE\C5\D4\D7\C5\D2\C7\00\F0\D1\D4\CE\C9\C3\C1\00\F3\D5\C2\C2\CF\D4\C1\00\F1\CE\D7\00\E6\C5\D7\00\ED\C1\D2\00\E1\D0\D2\00\ED\C1\CA\00\E9\C0\CE\00\E9\C0\CC\00\E1\D7\C7\00\F3\C5\CE\00\EF\CB\D4\00\EE\CF\D1\00\E4\C5\CB\00\F1\CE\D7\C1\D2\D1\00\E6\C5\D7\D2\C1\CC\D1\00\ED\C1\D2\D4\C1\00\E1\D0\D2\C5\CC\D1\00\ED\C1\D1\00\E9\C0\CE\D1\00\E9\C0\CC\D1\00\E1\D7\C7\D5\D3\D4\C1\00\F3\C5\CE\D4\D1\C2\D2\D1\00\EF\CB\D4\D1\C2\D2\D1\00\EE\CF\D1\C2\D2\D1\00\E4\C5\CB\C1\C2\D2\D1\00\B2\E1\DA\00\BF\DD\D4\00\B2\E2\E0\00\C1\E0\D4\00\C7\E2\D2\00\BF\E2\DD\00\C1\D1\E2\00\B2\DE\E1\DA\E0\D5\E1\D5\DD\EC\D5\00\BF\DE\DD\D5\D4\D5\DB\EC\DD\D8\DA\00\B2\E2\DE\E0\DD\D8\DA\00\C1\E0\D5\D4\D0\00\C7\D5\E2\D2\D5\E0\D3\00\BF\EF\E2\DD\D8\E6\D0\00\C1\E3\D1\D1\DE\E2\D0\00\CF\DD\D2\00\C4\D5\D2\00\BC\D0\E0\00\B0\DF\E0\00\BC\D0\D9\00\B8\EE\DD\00\B8\EE\DB\00\B0\D2\D3\00\C1\D5\DD\00\BE\DA\E2\00\BD\DE\EF\00\B4\D5\DA\00\CF\DD\D2\D0\E0\EF\00\C4\D5\D2\E0\D0\DB\EF\00\BC\D0\E0\E2\D0\00\B0\DF\E0\D5\DB\EF\00\BC\D0\EF\00\B8\EE\DD\EF\00\B8\EE\DB\EF\00\B0\D2\D3\E3\E1\E2\D0\00\C1\D5\DD\E2\EF\D1\E0\EF\00\BE\DA\E2\EF\D1\E0\EF\00\BD\DE\EF\D1\E0\EF\00\B4\D5\DA\D0\D1\E0\EF\00\D0\92\D1\81\D0\BA\00\D0\9F\D0\BD\D0\B4\00\D0\92\D1\82\D1\80\00\D0\A7\D1\82\D0\B2\00\D0\9F\D1\82\D0\BD\00\D0\A1\D0\B1\D1\82\00\D0\92\D0\BE\D1\81\D0\BA\D1\80\D0\B5\D1\81\D0\B5\D0\BD\D1\8C\D0\B5\00\D0\9F\D0\BE\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D1\8C\D0\BD\D0\B8\D0\BA\00\D0\92\D1\82\D0\BE\D1\80\D0\BD\D0\B8\D0\BA\00\D0\A1\D1\80\D0\B5\D0\B4\D0\B0\00\D0\A7\D0\B5\D1\82\D0\B2\D0\B5\D1\80\D0\B3\00\D0\9F\D1\8F\D1\82\D0\BD\D0\B8\D1\86\D0\B0\00\D0\A1\D1\83\D0\B1\D0\B1\D0\BE\D1\82\D0\B0\00\D0\AF\D0\BD\D0\B2\00\D0\A4\D0\B5\D0\B2\00\D0\9C\D0\B0\D1\80\00\D0\90\D0\BF\D1\80\00\D0\9C\D0\B0\D0\B9\00\D0\98\D1\8E\D0\BD\00\D0\98\D1\8E\D0\BB\00\D0\90\D0\B2\D0\B3\00\D0\A1\D0\B5\D0\BD\00\D0\9E\D0\BA\D1\82\00\D0\9D\D0\BE\D1\8F\00\D0\94\D0\B5\D0\BA\00\D0\AF\D0\BD\D0\B2\D0\B0\D1\80\D1\8F\00\D0\A4\D0\B5\D0\B2\D1\80\D0\B0\D0\BB\D1\8F\00\D0\9C\D0\B0\D1\80\D1\82\D0\B0\00\D0\90\D0\BF\D1\80\D0\B5\D0\BB\D1\8F\00\D0\9C\D0\B0\D1\8F\00\D0\98\D1\8E\D0\BD\D1\8F\00\D0\98\D1\8E\D0\BB\D1\8F\00\D0\90\D0\B2\D0\B3\D1\83\D1\81\D1\82\D0\B0\00\D0\A1\D0\B5\D0\BD\D1\82\D1\8F\D0\B1\D1\80\D1\8F\00\D0\9E\D0\BA\D1\82\D1\8F\D0\B1\D1\80\D1\8F\00\D0\9D\D0\BE\D1\8F\D0\B1\D1\80\D1\8F\00\D0\94\D0\B5\D0\BA\D0\B0\D0\B1\D1\80\D1\8F\00\F7\D4\CF\00\F3\D5\C2\00\F1\CE\D7\C1\D2\D8\00\E6\C5\D7\D2\C1\CC\D8\00\ED\C1\D2\D4\00\E1\D0\D2\C5\CC\D8\00\E9\C0\CE\D8\00\E9\C0\CC\D8\00\E1\D7\C7\D5\D3\D4\00\F3\C5\CE\D4\D1\C2\D2\D8\00\EF\CB\D4\D1\C2\D2\D8\00\EE\CF\D1\C2\D2\D8\00\E4\C5\CB\C1\C2\D2\D8\00\D0\92\D1\82\D0\BE\00\D0\AF\D0\BD\D0\B2\D0\B0\D1\80\D1\8C\00\D0\A4\D0\B5\D0\B2\D1\80\D0\B0\D0\BB\D1\8C\00\D0\9C\D0\B0\D1\80\D1\82\00\D0\90\D0\BF\D1\80\D0\B5\D0\BB\D1\8C\00\D0\98\D1\8E\D0\BD\D1\8C\00\D0\98\D1\8E\D0\BB\D1\8C\00\D0\90\D0\B2\D0\B3\D1\83\D1\81\D1\82\00\D0\A1\D0\B5\D0\BD\D1\82\D1\8F\D0\B1\D1\80\D1\8C\00\D0\9E\D0\BA\D1\82\D1\8F\D0\B1\D1\80\D1\8C\00\D0\9D\D0\BE\D1\8F\D0\B1\D1\80\D1\8C\00\D0\94\D0\B5\D0\BA\D0\B0\D0\B1\D1\80\D1\8C\00sotn\00vuos\00ma\C5\8B\00gask\00duor\00bear\00l\C3\A1v\00sotnabeaivi\00vuoss\C3\A1rga\00ma\C5\8B\C5\8Bebarga\00gaskavahkku\00duorasdat\00bearjadat\00l\C3\A1vvardat\00o\C4\91\C4\91j\00guov\00njuk\00cuo\C5\8B\00mies\00geas\00suoi\00borg\00\C4\8Dak\C4\8D\00golg\00sk\C3\A1b\00juov\00o\C4\91\C4\91ajagem\C3\A1nu\00guovvam\C3\A1nu\00njuk\C4\8Dam\C3\A1nu\00cuo\C5\8Bom\C3\A1nu\00miessem\C3\A1nu\00geassem\C3\A1nu\00suoidnem\C3\A1nu\00borgem\C3\A1nu\00\C4\8Dak\C4\8Dam\C3\A1nu\00golggotm\C3\A1nu\00sk\C3\A1bmam\C3\A1nu\00juovlam\C3\A1nu\00%a, %b %e. b. %Y %T %Z\00Ut\00\A9t\00Pi\00Nede\B5a\00Pondelok\00Utorok\00Streda\00\A9tvrtok\00Piatok\00marec\00Nede\C4\BEa\00\C5\A0tvrtok\00ned\00sre\00\E8et\00pet\00nedelja\00ponedeljek\00torek\00sreda\00\E8etrtek\00petek\00avg\00junij\00julij\00avgust\00\C4\8Det\00\C4\8Detrtek\00Die \00H\EBn \00Mar \00M\EBr \00Enj \00Pre \00Sht \00e diel \00e h\EBn\EB \00e mart\EB \00e m\EBrkur\EB \00e enjte \00e premte \00e shtun\EB \00Shk\00Pri\00Qer\00Kor\00Gsh\00Sht\00Tet\00N\EBn\00Dhj\00janar\00shkurt\00prill\00qershor\00korrik\00gusht\00shtator\00tetor\00n\EBntor\00dhjetor\00PD\00MD\00%Y-%b-%d %I.%M.%S.%p %Z\00%Y-%b-%d\00%I.%M.%S. %Z\00%I.%M.%S.%p %Z\00H\C3\ABn \00M\C3\ABr \00e h\C3\ABn\C3\AB \00e mart\C3\AB \00e m\C3\ABrkur\C3\AB \00e shtun\C3\AB \00N\C3\ABn\00n\C3\ABntor\00uto\00sub\00ponedeljak\00utorak\00\E8etvrtak\00petak\00subota\00septembar\00oktobar\00novembar\00decembar\00%d-%m-%Y.\00\C4\8Detvrtak\00\E3\E2\DE\00\E1\E3\D1\00\DD\D5\D4\D5\F9a\00\DF\DE\DD\D5\D4\D5\F9\D0\DA\00\E3\E2\DE\E0\D0\DA\00\E7\D5\E2\D2\E0\E2\D0\DA\00\DF\D5\E2\D0\DA\00\E1\E3\D1\DE\E2\D0\00\E4\D5\D1\00\DD\DE\D2\00\D4\D5\E6\00\F8\D0\DD\E3\D0\E0\00\E4\D5\D1\E0\E3\D0\E0\00\E1\D5\DF\E2\D5\DC\D1\D0\E0\00\DE\DA\E2\DE\D1\D0\E0\00\DD\DE\D2\D5\DC\D1\D0\E0\00\D4\D5\E6\D5\DC\D1\D0\E0\00+%a %d %b %Y %T %Z\00\D1\83\D1\82\D0\BE\00\D1\81\D1\83\D0\B1\00\D0\BD\D0\B5\D0\B4\D0\B5\D1\99a\00\D0\BF\D0\BE\D0\BD\D0\B5\D0\B4\D0\B5\D1\99\D0\B0\D0\BA\00\D1\83\D1\82\D0\BE\D1\80\D0\B0\D0\BA\00\D1\87\D0\B5\D1\82\D0\B2\D1\80\D1\82\D0\B0\D0\BA\00\D0\BF\D0\B5\D1\82\D0\B0\D0\BA\00\D1\81\D1\83\D0\B1\D0\BE\D1\82\D0\B0\00\D1\84\D0\B5\D0\B1\00\D0\BD\D0\BE\D0\B2\00\D0\B4\D0\B5\D1\86\00\D1\98\D0\B0\D0\BD\D1\83\D0\B0\D1\80\00\D1\84\D0\B5\D0\B1\D1\80\D1\83\D0\B0\D1\80\00\D1\81\D0\B5\D0\BF\D1\82\D0\B5\D0\BC\D0\B1\D0\B0\D1\80\00\D0\BE\D0\BA\D1\82\D0\BE\D0\B1\D0\B0\D1\80\00\D0\BD\D0\BE\D0\B2\D0\B5\D0\BC\D0\B1\D0\B0\D1\80\00\D0\B4\D0\B5\D1\86\D0\B5\D0\BC\D0\B1\D0\B0\D1\80\00s\F6n\00m\E5n\00tis\00l\F6r\00s\F6ndag\00m\E5ndag\00tisdag\00l\F6rdag\00augusti\00%a %e %b %Y %H.%M.%S\00s\C3\B6n\00m\C3\A5n\00l\C3\B6r\00s\C3\B6ndag\00m\C3\A5ndag\00l\C3\B6rdag\00\E0\AE\9E\00\E0\AE\A4\00\E0\AE\9A\00\E0\AE\AA\00\E0\AE\B5\00\E0\AE\9E\E0\AE\BE\E0\AE\AF\E0\AE\BF\E0\AE\B1\E0\AF\81\00\E0\AE\A4\E0\AE\BF\E0\AE\99\E0\AF\8D\E0\AE\95\E0\AE\B3\E0\AF\8D\00\E0\AE\9A\E0\AF\86\E0\AE\B5\E0\AF\8D\E0\AE\B5\E0\AE\BE\E0\AE\AF\E0\AF\8D\00\E0\AE\AA\E0\AF\81\E0\AE\A4\E0\AE\A9\E0\AF\8D\00\E0\AE\B5\E0\AE\BF\E0\AE\AF\E0\AE\BE\E0\AE\B4\E0\AE\A9\E0\AF\8D\00\E0\AE\B5\E0\AF\86\E0\AE\B3\E0\AF\8D\E0\AE\B3\E0\AE\BF\00\E0\AE\9A\E0\AE\A9\E0\AE\BF\00\E0\AE\9C\E0\AE\A9\E0\AE\B5\E0\AE\B0\E0\AE\BF\00\E0\AE\AA\E0\AF\86\E0\AE\AA\E0\AF\8D\E0\AE\B0\E0\AE\B5\E0\AE\B0\E0\AE\BF\00\E0\AE\AE\E0\AE\BE\E0\AE\B0\E0\AF\8D\E0\AE\9A\E0\AF\8D\00\E0\AE\8F\E0\AE\AA\E0\AF\8D\E0\AE\B0\E0\AE\B2\E0\AF\8D\00\E0\AE\AE\E0\AF\87\00\E0\AE\9C\E0\AF\82\E0\AE\A9\E0\AF\8D\00\E0\AE\9C\E0\AF\82\E0\AE\B2\E0\AF\88\00\E0\AE\86\E0\AE\95\E0\AE\B8\E0\AF\8D\E0\AE\9F\E0\AF\8D\00\E0\AE\9A\E0\AF\86\E0\AE\AA\E0\AF\8D\E0\AE\9F\E0\AE\AE\E0\AF\8D\E0\AE\AA\E0\AE\B0\E0\AF\8D\00\E0\AE\85\E0\AE\95\E0\AF\8D\E0\AE\9F\E0\AF\8B\E0\AE\AA\E0\AE\B0\E0\AF\8D\00\E0\AE\A8\E0\AE\B5\E0\AE\AE\E0\AF\8D\E0\AE\AA\E0\AE\B0\E0\AF\8D\00\E0\AE\9F\E0\AE\BF\E0\AE\9A\E0\AE\AE\E0\AF\8D\E0\AE\AA\E0\AE\B0\E0\AF\8Dr\00\E0\AE\95\E0\AE\BE\E0\AE\B2\E0\AF\88\00\E0\AE\AE\E0\AE\BE\E0\AE\B2\E0\AF\88\00\E0\B0\86\E0\B0\A6\E0\B0\BF\00\E0\B0\B8\E0\B1\8B\E0\B0\AE\00\E0\B0\AE\E0\B0\82\E0\B0\97\E0\B0\B3\00\E0\B0\AC\E0\B1\81\E0\B0\A7\00\E0\B0\97\E0\B1\81\E0\B0\B0\E0\B1\81\00\E0\B0\B6\E0\B1\81\E0\B0\95\E0\B1\8D\E0\B0\B0\00\E0\B0\B6\E0\B0\A8\E0\B0\BF\00\E0\B0\86\E0\B0\A6\E0\B0\BF\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\B8\E0\B1\8B\E0\B0\AE\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\AE\E0\B0\82\E0\B0\97\E0\B0\B3\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\AC\E0\B1\81\E0\B0\A7\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\97\E0\B1\81\E0\B0\B0\E0\B1\81\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\B6\E0\B1\81\E0\B0\95\E0\B1\8D\E0\B0\B0\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\B6\E0\B0\A8\E0\B0\BF\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\9C\E0\B0\A8\E0\B0\B5\E0\B0\B0\E0\B0\BF\00\E0\B0\AB\E0\B0\BF\E0\B0\AC\E0\B1\8D\E0\B0\B0\E0\B0\B5\E0\B0\B0\E0\B0\BF\00\E0\B0\AE\E0\B0\BE\E0\B0\B0\E0\B1\8D\E0\B0\9A\E0\B0\BF\00\E0\B0\8F\E0\B0\AA\E0\B1\8D\E0\B0\B0\E0\B0\BF\E0\B0\B2\E0\B1\8D\00\E0\B0\AE\E0\B1\87\00\E0\B0\9C\E0\B1\82\E0\B0\A8\E0\B1\8D\00\E0\B0\9C\E0\B1\82\E0\B0\B2\E0\B1\88\00\E0\B0\86\E0\B0\97\E0\B0\B8\E0\B1\8D\E0\B0\9F\E0\B1\81\00\E0\B0\B8\E0\B1\86\E0\B0\AA\E0\B1\8D\E0\B0\9F\E0\B1\86\E0\B0\82\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\85\E0\B0\95\E0\B1\8D\E0\B0\9F\E0\B1\8B\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\A8\E0\B0\B5\E0\B0\82\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\A1\E0\B0\BF\E0\B0\B8\E0\B1\86\E0\B0\82\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\AA\E0\B1\82\E0\B0\B0\E0\B1\8D\E0\B0\B5\E0\B0\BE\E0\B0\B9\E0\B1\8D\E0\B0\A8\00\E0\B0\85\E0\B0\AA\E0\B0\B0\E0\B0\BE\E0\B0\B9\E0\B1\8D\E0\B0\A8\00\CD\D2.\00\A8.\00\CD.\00\BE.\00\BE\C4.\00\C8.\00\CA.\00\CD\D2\B7\D4\B5\C2\EC\00\A8\D1\B9\B7\C3\EC\00\CD\D1\A7\A4\D2\C3\00\BE\D8\B8\00\BE\C4\CB\D1\CA\BA\B4\D5\00\C8\D8\A1\C3\EC\00\E0\CA\D2\C3\EC\00\C1.\A4.\00\A1.\BE.\00\C1\D5.\A4.\00\E0\C1.\C2.\00\BE.\A4.\00\C1\D4.\C2.\00\A1.\A4.\00\CA.\A4.\00\A1.\C2.\00\B5.\A4.\00\BE.\C2.\00\B8.\A4.\00\C1\A1\C3\D2\A4\C1\00\A1\D8\C1\C0\D2\BE\D1\B9\B8\EC\00\C1\D5\B9\D2\A4\C1\00\E0\C1\C9\D2\C2\B9\00\BE\C4\C9\C0\D2\A4\C1\00\C1\D4\B6\D8\B9\D2\C2\B9\00\A1\C3\A1\AE\D2\A4\C1\00\CA\D4\A7\CB\D2\A4\C1\00\A1\D1\B9\C2\D2\C2\B9\00\B5\D8\C5\D2\A4\C1\00\BE\C4\C8\A8\D4\A1\D2\C2\B9\00\B8\D1\B9\C7\D2\A4\C1\00%a %e %b %Ey, %H:%M:%S\00%d/%m/%Ey\00+:1:-543/01/01:+*:\BE.\C8.:%EC %Ey\00\00%e %b %Ey\00\C7\D1\B9%A\B7\D5\E8 %e %B %EC %Ey, %H.%M.%S \B9.\00%H.%M.%S \B9.\00\E0\B8\AD\E0\B8\B2.\00\E0\B8\88.\00\E0\B8\AD.\00\E0\B8\9E.\00\E0\B8\9E\E0\B8\A4.\00\E0\B8\A8.\00\E0\B8\AA.\00\E0\B8\AD\E0\B8\B2\E0\B8\97\E0\B8\B4\E0\B8\95\E0\B8\A2\E0\B9\8C\00\E0\B8\88\E0\B8\B1\E0\B8\99\E0\B8\97\E0\B8\A3\E0\B9\8C\00\E0\B8\AD\E0\B8\B1\E0\B8\87\E0\B8\84\E0\B8\B2\E0\B8\A3\00\E0\B8\9E\E0\B8\B8\E0\B8\98\00\E0\B8\9E\E0\B8\A4\E0\B8\AB\E0\B8\B1\E0\B8\AA\E0\B8\9A\E0\B8\94\E0\B8\B5\00\E0\B8\A8\E0\B8\B8\E0\B8\81\E0\B8\A3\E0\B9\8C\00\E0\B9\80\E0\B8\AA\E0\B8\B2\E0\B8\A3\E0\B9\8C\00\E0\B8\A1.\E0\B8\84.\00\E0\B8\81.\E0\B8\9E.\00\E0\B8\A1\E0\B8\B5.\E0\B8\84.\00\E0\B9\80\E0\B8\A1.\E0\B8\A2.\00\E0\B8\9E.\E0\B8\84.\00\E0\B8\A1\E0\B8\B4.\E0\B8\A2.\00\E0\B8\81.\E0\B8\84.\00\E0\B8\AA.\E0\B8\84.\00\E0\B8\81.\E0\B8\A2.\00\E0\B8\95.\E0\B8\84.\00\E0\B8\9E.\E0\B8\A2.\00\E0\B8\98.\E0\B8\84.\00\E0\B8\A1\E0\B8\81\E0\B8\A3\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\81\E0\B8\B8\E0\B8\A1\E0\B8\A0\E0\B8\B2\E0\B8\9E\E0\B8\B1\E0\B8\99\E0\B8\98\E0\B9\8C\00\E0\B8\A1\E0\B8\B5\E0\B8\99\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B9\80\E0\B8\A1\E0\B8\A9\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\9E\E0\B8\A4\E0\B8\A9\E0\B8\A0\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\A1\E0\B8\B4\E0\B8\96\E0\B8\B8\E0\B8\99\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\81\E0\B8\A3\E0\B8\81\E0\B8\8E\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\AA\E0\B8\B4\E0\B8\87\E0\B8\AB\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\81\E0\B8\B1\E0\B8\99\E0\B8\A2\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\95\E0\B8\B8\E0\B8\A5\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\9E\E0\B8\A4\E0\B8\A8\E0\B8\88\E0\B8\B4\E0\B8\81\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\98\E0\B8\B1\E0\B8\99\E0\B8\A7\E0\B8\B2\E0\B8\84\E0\B8\A1\00+:1:-543/01/01:+*:\E0\B8\9E.\E0\B8\A8.:%EC %Ey\00\00\E0\B8\A7\E0\B8\B1\E0\B8\99%A\E0\B8\97\E0\B8\B5\E0\B9\88 %e %B %EC %Ey, %H.%M.%S \E0\B8\99.\00%H.%M.%S \E0\B8\99.\00\E1\88\B0\E1\8A\95\E1\89\A0\E1\89\B5\00\E1\88\B0\E1\8A\91\E1\8B\AD\00\E1\88\B0\E1\88\89\E1\88\B5\00\E1\88\93\E1\88\99\E1\88\B5\00\E1\8B\93\E1\88\AD\E1\89\A2\00\E1\89\80\E1\8B\B3\E1\88\9D\00\E1\8C\A5\E1\88\AA\00\E1\88\88\E1\8A\AB\E1\89\B2\00\E1\88\98\E1\8C\8B\E1\89\A2\00\E1\88\9A\E1\8B\AB\E1\8B\9D\00\E1\8C\8D\E1\8A\95\E1\89\A6\00\E1\88\B0\E1\8A\90\00\E1\88\93\E1\88\9D\E1\88\88\00\E1\8A\90\E1\88\93\E1\88\B0\00\E1\88\98\E1\88\B5\E1\8A\A8\00\E1\8C\A5\E1\89\85\E1\88\9D\00\E1\88\95\E1\8B\B3\E1\88\AD\00\E1\89\B3\E1\88\95\E1\88\B3\00\E1\88\88\E1\8A\AB\E1\89\B2\E1\89\B5\00\E1\88\98\E1\8C\8B\E1\89\A2\E1\89\B5\00\E1\88\9A\E1\8B\AB\E1\8B\9D\E1\8B\AB\00\E1\8C\8D\E1\8A\95\E1\89\A6\E1\89\B5\00\E1\88\98\E1\88\B5\E1\8A\A8\E1\88\A8\E1\88\9D\00\E1\8C\A5\E1\89\85\E1\88\9D\E1\89\B2\00\E1\89\B3\E1\88\95\E1\88\B3\E1\88\B5\00\E1\8A\95\E1\8C\89\E1\88\86 \E1\88\B0\E1\8B\93\E1\89\B0\00\E1\8B\B5\E1\88\95\E1\88\AD \E1\88\B0\E1\8B\93\E1\89\B5\00%A\E1\8D\A3 %b %e \E1\88\98\E1\8B\93\E1\88\8D\E1\89\B2 %l:%M:%S %Z %Y\00Lin\00Miy\00Huw\00Biy\00Linggo\00Lunes\00Miyerkoles\00Huwebes\00Biyernes\00Sabado\00Ene\00Hun\00Hul\00Nob\00Enero\00Pebrero\00Marso\00Mayo\00Hunyo\00Hulyo\00Septiyembre\00Oktubre\00Nobiyembre\00Disyembre\00Paz\00Pzt\00Sal\00\C7r\FE\00Pr\FE\00Cum\00Cts\00Pazar\00Pazartesi\00Sal\FD\00\C7ar\FEamba\00Per\FEembe\00Cuma\00Cumartesi\00Oca\00\DEub\00Nis\00Haz\00Tem\00A\F0u\00Eyl\00Eki\00Kas\00Ara\00Ocak\00\DEubat\00Nisan\00May\FDs\00Haziran\00Temmuz\00A\F0ustos\00Eyl\FCl\00Ekim\00Kas\FDm\00Aral\FDk\00\D6\D6\00\D6S\00\C3\87r\C5\9F\00Pr\C5\9F\00Sal\C4\B1\00\C3\87ar\C5\9Famba\00Per\C5\9Fembe\00\C5\9Eub\00A\C4\9Fu\00\C5\9Eubat\00May\C4\B1s\00A\C4\9Fustos\00Eyl\C3\BCl\00Kas\C4\B1m\00Aral\C4\B1k\00\C3\96\C3\96\00\C3\96S\00\D0\AF\D0\BA\D1\88\00\D0\94\D1\8B\D1\88\00\D0\A1\D0\B8\D1\88\00\D0\A7\D3\99\D1\80\D1\88\00\D0\9F\D3\99\D0\BD\D2\97\00\D2\96\D0\BE\D0\BC\00\D0\A8\D0\B8\D0\BC\00\D0\AF\D0\BA\D1\88\D3\99\D0\BC\D0\B1\D0\B5\00\D0\94\D1\8B\D1\88\D3\99\D0\BC\D0\B1\D0\B5\00\D0\A1\D0\B8\D1\88\D3\99\D0\BC\D0\B1\D0\B5\00\D0\A7\D3\99\D1\80\D1\88\D3\99\D3\99\D0\BC\D0\B1\D0\B5\00\D0\9F\D3\99\D0\BD\D2\97\D0\B5\D1\88\D0\BC\D0\B1\D0\B5\00\D2\96\D0\BE\D0\BC\D0\B3\D0\B0\00\D0\A8\D0\B8\D0\BC\D0\B1\D3\99\00\EE\C4\CC\00\EE\C5\C4\A6\CC\D1\00\F0\CF\CE\C5\C4\A6\CC\CF\CB\00\F7\A6\D7\D4\CF\D2\CF\CB\00\F3\C5\D2\C5\C4\C1\00\FE\C5\D4\D7\C5\D2\00\F0'\D1\D4\CE\C9\C3\D1\00\F3\D5\C2\CF\D4\C1\00\F3\A6\DE\00\EC\C0\D4\00\E2\C5\D2\00\EB\D7\A6\00\F4\D2\C1\00\FE\C5\D2\00\EC\C9\D0\00\F3\C5\D2\00\F7\C5\D2\00\F6\CF\D7\00\EC\C9\D3\00\E7\D2\D5\00\F3\A6\DE\C5\CE\D8\00\EC\C0\D4\C9\CA\00\E2\C5\D2\C5\DA\C5\CE\D8\00\EB\D7\A6\D4\C5\CE\D8\00\F4\D2\C1\D7\C5\CE\D8\00\FE\C5\D2\D7\C5\CE\D8\00\EC\C9\D0\C5\CE\D8\00\F3\C5\D2\D0\C5\CE\D8\00\F7\C5\D2\C5\D3\C5\CE\D8\00\F6\CF\D7\D4\C5\CE\D8\00\EC\C9\D3\D4\CF\D0\C1\C4\00\E7\D2\D5\C4\C5\CE\D8\00\D0\9D\D0\B4\D0\BB\00\D0\9D\D0\B5\D0\B4\D1\96\D0\BB\D1\8F\00\D0\9F\D0\BE\D0\BD\D0\B5\D0\B4\D1\96\D0\BB\D0\BE\D0\BA\00\D0\92\D1\96\D0\B2\D1\82\D0\BE\D1\80\D0\BE\D0\BA\00\D0\A1\D0\B5\D1\80\D0\B5\D0\B4\D0\B0\00\D0\A7\D0\B5\D1\82\D0\B2\D0\B5\D1\80\00\D0\9F'\D1\8F\D1\82\D0\BD\D0\B8\D1\86\D1\8F\00\D0\A1\D1\96\D1\87\00\D0\91\D0\B5\D1\80\00\D0\9A\D0\B2\D1\96\00\D0\A7\D0\B5\D1\80\00\D0\9B\D0\B8\D0\BF\00\D0\A1\D0\B5\D1\80\00\D0\92\D0\B5\D1\80\00\D0\96\D0\BE\D0\B2\00\D0\9B\D0\B8\D1\81\00\D0\93\D1\80\D1\83\00\D0\A1\D1\96\D1\87\D0\B5\D0\BD\D1\8C\00\D0\9B\D1\8E\D1\82\D0\B8\D0\B9\00\D0\91\D0\B5\D1\80\D0\B5\D0\B7\D0\B5\D0\BD\D1\8C\00\D0\9A\D0\B2\D1\96\D1\82\D0\B5\D0\BD\D1\8C\00\D0\A7\D0\B5\D1\80\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\9B\D0\B8\D0\BF\D0\B5\D0\BD\D1\8C\00\D0\A1\D0\B5\D1\80\D0\BF\D0\B5\D0\BD\D1\8C\00\D0\92\D0\B5\D1\80\D0\B5\D1\81\D0\B5\D0\BD\D1\8C\00\D0\96\D0\BE\D0\B2\D1\82\D0\B5\D0\BD\D1\8C\00\D0\9B\D0\B8\D1\81\D1\82\D0\BE\D0\BF\D0\B0\D0\B4\00\D0\93\D1\80\D1\83\D0\B4\D0\B5\D0\BD\D1\8C\00\D8\A7\D8\AA\D9\88\D8\A7\D8\B1\00\D9\BE\D9\8A\D8\B1\00\D9\85\D9\86\DA\AF\D9\84\00\D8\A8\D8\AF\DA\BE\00\D8\AC\D9\85\D8\B9\D8\B1\D8\A7\D8\AA\00\D9\87\D9\81\D8\AA\D9\87\00\D8\AC\D9\86\D9\88\D8\B1\D9\8A\00\D9\81\D8\B1\D9\88\D8\B1\D9\8A\00\D9\85\D8\A7\D8\B1\DA\86\00\D8\A7\D9\BE\D8\B1\D9\8A\D9\84\00\D9\85\D9\93\DB\8C\00\D8\AC\D9\88\D9\86\00\D8\AC\D9\88\D9\84\D8\A7\D9\8A\00\D8\A7\DA\AF\D8\B3\D8\AA\00\D8\B3\D8\AA\D9\85\D8\A8\D8\B1\00\D8\A7\D9\83\D8\AA\D9\88\D8\A8\D8\B1\00\D9\86\D9\88\D9\85\D8\A8\D8\B1\00\D8\AF\D8\B3\D9\85\D8\A8\D8\B1\00\D8\B4\00\D9\88 %H:%M:%S %Z \D8\AA %d %B %Y\00%P %I:%M:%S\00Yak\00Se\00Cho\00Pay\00Ju\00Sha\00yakshanba\00dushanba\00seshanba\00chorshanba\00payshanba\00juma\00shanba\00Yav\00Iyn\00Iyl\00Avg\00senyabr\00%T, %d %B, %Y yil, %A\00CN \00Th 2 \00Th 3 \00Th 4 \00Th 5 \00Th 6 \00Th 7 \00Chu\CC\89 nh\C3\A2\CC\A3t \00Th\C6\B0\CC\81 hai \00Th\C6\B0\CC\81 ba \00Th\C6\B0\CC\81 t\C6\B0 \00Th\C6\B0\CC\81 n\C4\83m \00Th\C6\B0\CC\81 s\C3\A1u \00Th\C6\B0\CC\81 ba\CC\89y \00Thg 1\00Thg 2\00Thg 3\00Thg 4\00Thg 5\00Thg 6\00Thg 7\00Thg 8\00Thg 9\00Thg 10\00Thg 11\00Thg 12\00Th\C3\A1ng m\C3\B4\CC\A3t\00Th\C3\A1ng hai\00Th\C3\A1ng ba\00Th\C3\A1ng t\C6\B0\00Th\C3\A1ng n\C4\83m\00Th\C3\A1ng s\C3\A1u\00Th\C3\A1ng ba\CC\89y\00Th\C3\A1ng t\C3\A1m\00Th\C3\A1ng ch\C3\ADn\00Th\C3\A1ng m\C6\B0\C6\A1\CC\80i\00Th\C3\A1ng m\C6\B0\C6\A1\CC\80i m\C3\B4\CC\A3t\00Th\C3\A1ng m\C6\B0\C6\A1\CC\80i hai\00%H:%M:%S %Z %A %d %b %Y\00%H:%M:%S %Z\00d\EEm\00lon\00m\E5r\00dju\00vin\00sem\00d\EEmegne\00londi\00m\E5rdi\00merkidi\00djudi\00vinrdi\00semdi\00dja\00fev\00m\E5s\00djn\00djl\00awo\00n\F4v\00djanv\EE\00fevr\EE\00m\E5ss\00avri\00djun\00djulete\00awousse\00setimbe\00oct\F4be\00n\F4vimbe\00decimbe\00Li %A %d di %B %Y %T %Z\00d\C3\AEm\00m\C3\A5r\00d\C3\AEmegne\00m\C3\A5rdi\00m\C3\A5s\00n\C3\B4v\00djanv\C3\AE\00fevr\C3\AE\00m\C3\A5ss\00oct\C3\B4be\00n\C3\B4vimbe\00\E6\E5\F0'\00\EE\E0\C8\F0'\00\E3\E9\F0'\00\EE\E9\E8'\00\E3\E0\C8\F0'\00\F4\CF\F8\D6\C7'\00\E6\E5\F0\E8\E9\F7\00\EE\E0\C8\F0\E8\E9\F7\00\E3\E9\F0\F1\E8\E9\F7\00\EE\E9\E8\D4\E0\C8\EA\00\E3\E0\C8\F0\F2\F8\F9\E8\E9\F7\00\F4\CF\F8\D6\C7\E8\E9\F7\00\E9\E0\C7\F0'\00\F4\CF\F2\E1'\00\EE\E0\C7\F8'\00\E0\C7\F4\CC\F8'\00\EE\D6\C7\00\E9\E5\F0'\00\E9\E5\EC'\00\E0\D5\E2'\00\F1\F2\F4\CC'\00\E0\C8\F7\E8'\00\F0\E0\C8\D4'\00\E3\F2\F6'\00\E9\E0\C7\F0\E5\E0\C7\F8\00\F4\CF\F2\E1\F8\E5\E0\C7\F8\00\EE\E0\C7\F8\F5\00\E0\C7\F4\CC\F8\E9\EC\00\E0\D5\E2\F1\E8\00\F1\F2\F4\CC\E8\F2\EE\E1\F2\F8\00\E0\C8\F7\E8\E0\C8\E1\F2\F8\00\F0A\C8\D4\F2\EE\E1\F2\F8\00\D7\96\D7\95\D7\A0'\00\D7\9E\D7\90\D6\B8\D7\A0'\00\D7\93\D7\99\D7\A0'\00\D7\9E\D7\99\D7\98'\00\D7\93\D7\90\D6\B8\D7\A0'\00\D7\A4\D6\BF\D7\A8\D7\B2\D6\B7'\00\D7\96\D7\95\D7\A0\D7\98\D7\99\D7\A7\00\D7\9E\D7\90\D6\B8\D7\A0\D7\98\D7\99\D7\A7\00\D7\93\D7\99\D7\A0\D7\A1\D7\98\D7\99\D7\A7\00\D7\9E\D7\99\D7\98\D7\B0\D7\90\D6\B8\D7\9A\00\D7\93\D7\90\D6\B8\D7\A0\D7\A2\D7\A8\D7\A9\D7\98\D7\99\D7\A7\00\D7\A4\D6\BF\D7\A8\D7\B2\D6\B7\D7\98\D7\99\D7\A7\00\D7\99\D7\90\D6\B7\D7\A0'\00\D7\A4\D6\BF\D7\A2\D7\91'\00\D7\9E\D7\90\D6\B7\D7\A8'\00\D7\90\D6\B7\D7\A4\D6\BC\D7\A8'\00\D7\9E\D7\B2\D6\B7\00\D7\99\D7\95\D7\A0'\00\D7\99\D7\95\D7\9C'\00\D7\90\D7\B1\D7\92'\00\D7\A1\D7\A2\D7\A4\D6\BC'\00\D7\90\D6\B8\D7\A7\D7\98'\00\D7\A0\D7\90\D6\B8\D7\B0'\00\D7\93\D7\A2\D7\A6'\00\D7\99\D7\90\D6\B7\D7\A0\D7\95\D7\90\D6\B7\D7\A8\00\D7\A4\D6\BF\D7\A2\D7\91\D7\A8\D7\95\D7\90\D6\B7\D7\A8\00\D7\9E\D7\90\D6\B7\D7\A8\D7\A5\00\D7\90\D6\B7\D7\A4\D6\BC\D7\A8\D7\99\D7\9C\00\D7\90\D7\B1\D7\92\D7\A1\D7\98\00\D7\A1\D7\A2\D7\A4\D6\BC\D7\98\D7\A2\D7\9E\D7\91\D7\A2\D7\A8\00\D7\90\D6\B8\D7\A7\D7\98\D7\90\D6\B8\D7\91\D7\A2\D7\A8\00\D7\A0A\D6\B8\D7\B0\D7\A2\D7\9E\D7\91\D7\A2\D7\A8\00\E4\B8\80\00\E4\BA\8C\00\E4\B8\89\00\E5\9B\9B\00\E4\BA\94\00\E5\85\AD\00\E6\98\9F\E6\9C\9F\E6\97\A5\00\E6\98\9F\E6\9C\9F\E4\B8\80\00\E6\98\9F\E6\9C\9F\E4\BA\8C\00\E6\98\9F\E6\9C\9F\E4\B8\89\00\E6\98\9F\E6\9C\9F\E5\9B\9B\00\E6\98\9F\E6\9C\9F\E4\BA\94\00\E6\98\9F\E6\9C\9F\E5\85\AD\00\E4\B8\80\E6\9C\88\00\E4\BA\8C\E6\9C\88\00\E4\B8\89\E6\9C\88\00\E5\9B\9B\E6\9C\88\00\E4\BA\94\E6\9C\88\00\E5\85\AD\E6\9C\88\00\E4\B8\83\E6\9C\88\00\E5\85\AB\E6\9C\88\00\E4\B9\9D\E6\9C\88\00\E5\8D\81\E6\9C\88\00\E5\8D\81\E4\B8\80\E6\9C\88\00\E5\8D\81\E4\BA\8C\E6\9C\88\00\E4\B8\8A\E5\8D\88\00\E4\B8\8B\E5\8D\88\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %A %H\E6\97\B6%M\E5\88\86%S\E7\A7\92\00%H\E6\97\B6%M\E5\88\86%S\E7\A7\92\00%p %I\E6\97\B6%M\E5\88\86%S\E7\A7\92\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %A %H:%M:%S\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %A\00%I\E6\99\82%M\E5\88\86%S\E7\A7\92 %Z\00%p %I:%M:%S\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %H\E6\97\B6%M\E5\88\86%S\E7\A7\92 %Z\00%H\E6\97\B6%M\E5\88\86%S\E7\A7\92 %Z\00\E9\80\B1\E6\97\A5\00\E9\80\B1\E4\B8\80\00\E9\80\B1\E4\BA\8C\00\E9\80\B1\E4\B8\89\00\E9\80\B1\E5\9B\9B\00\E9\80\B1\E4\BA\94\00\E9\80\B1\E5\85\AD\00\E8\A5\BF\E5\85\83%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 (%A) %H\E6\99\82%M\E5\88\86%S\E7\A7\92\00\E8\A5\BF\E5\85\83%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5\00%p %I\E6\99\82%M\E5\88\86%S\E7\A7\92\00", [1804 x i8] c"\00^[yY]\00^[nN]\00[jJ].*\00[nN].*\00^[yY].*\00^[nN].*\00^[\E6].*\00^[\E4].*\00^[\D9\86].*\00^[\D9\84].*\00^[\D9\86]\00^[\D9\84]\00\D9\86\D8\B9\D9\85\00\D9\84\D8\A7\00^(\E6|\E6\D9\E5)\00^(\E4|\E4\C7)\00\E6\D9\E5\00\E4\C7\00^(\D9\86|\D9\86\D8\B9\D9\85)\00^(\D9\84|\D9\84\D8\A7)\00^[Bb].*\00^[YyNn].*\00yox\00b\C9\99li\00^[\C4\E4Yy].*\00^[\CD\EDNn].*\00^[\D0\94\D0\B4Yy].*\00^[\D0\9D\D0\BDNn].*\00^[+1\C4\E4DdYyOo].*\00^[-0\CD\EDNnKk].*\00^[+1\D0\94\D0\B4DdYyOo].*\00^[-0\D0\9D\D0\BDNnKk].*\00[yYsS\D5\A1\D4\B1].*\00[nN\D5\B8\D5\88].*\00\D5\A1\D5\B5\D5\B8\00\D5\B8\D5\B9\00^[\E0\A6\B9\E0\A7\8D\E0\A6\AF\E0\A6\BE\E0\A6\81]\00^[\E0\A6\A8\E0\A6\BE]\00\E0\A6\B9\E0\A7\8D\E0\A6\AF\E0\A6\BE\E0\A6\81\00\E0\A6\A8\E0\A6\BE\00[oOyY].*\00^[dDyY]*.\00^[nN]*.\00[sSyY].*\00^[aAyY].*\00ano\00ne\00[iItTyY].*\00ie\00na\00^[1JjYy].*\00^[0Nn].*\00^[jJyY].*\00^[\ED\CDyY].*\00^[\EF\CFnN].*\00^[\CE\BD\CE\9DyY].*\00^[\CE\BF\CE\9FnN].*\00[yY].*\00^[yYoO].*\00^[1JjsSyYoO].*\00^[0nN].*\00Yes\00No\00^[JjYy].*\00^[sSyY].*\00^[EeNn].*\00^[bBsSyY].*\00^[eEnN].*\00[yY\D8\A8f].*\00[nN\D8\AE\D9\86o].*\00^[KkJjYy].*\00^[NnEe].*\00^[Nn].*\00^[oOjJyY1].*\00^[nN0].*\00^[oOyY].*\00^[OojJsSyY].*\00^[tTyY].*\00^[Yy\EB].*\00^[Nn\EC].*\00^[Yy\D7\9B].*\00^[Nn\D7\9C].*\00^[dDyY].*\00^[IiYy].*\00[yYsS\B3\B2].*\00[nN\E1\E0].*\00\B3\DB\E1\00\E1\E3\00[tTnN].*\00^[sSjJoOyY].*\00^([yY\EF\BD\99\EF\BC\B9]|\E3\81\AF\E3\81\84|\E3\83\8F\E3\82\A4)\00^([nN\EF\BD\8E\EF\BC\AE]|\E3\81\84\E3\81\84\E3\81\88|\E3\82\A4\E3\82\A4\E3\82\A8)\00\E3\81\AF\E3\81\84\00\E3\81\84\E3\81\84\E3\81\88\00[1yYkKxX\E1].*\00[0nNaA\C0].*\00[1yYkKxX\E1\83\AE].*\00[0nNaA\E1\83\90].*\00^[JjYyAa].*\00^[yY\EC\98\88]\00^[nN\EC\95\84\EB\8B\88\EC\98\A4]\00[eE].*\00^[TtYy].*\00^[1yY\E2\C2\E4\C4aA].*\00^[0nNkK].*\00\E2e\00k\E2ore\00^[1yY\C4\81\C4\80\C3\A4\C3\84aA].*\00\C4\81e\00k\C4\81ore\00[\B4\D4DdYy1].*\00[\BD\DDNn0].*\00\D4\D0\00\DD\D5\00[\D0\94\D0\B4DdYy1].*\00[\D0\9D\D0\BDNn0].*\00\D0\B4\D0\B0\00\D0\BD\D0\B5\00^(Yes|[yY])\00^(No|[nN])\00^[tT]\00Ya\00Tidak\00[oOsS].*\00^[SsyY].*\00^[DdYy].*\00^[\E4\C4Yy].*\00^[\EE\CENn].*\00^[\B4\D4Yy].*\00^[\BD\DDNn].*\00[\E4\C4Yy].*\00[\EE\CENn].*\00[\D0\94\D0\B4Yy].*\00[\D0\9D\D0\BDNn].*\00^[Ii].*\00[aA\E1\C1yY].*\00\E1no\00nie\00[aA\C3\A1\C3\81yY].*\00\C3\A1no\00^[YyJj].*\00[dDyY1].*\00[nN0].*\00[\B4\D4Yy].*\00[\BD\DDNn].*\00^[\E0\AE\86\E0\AE\AE\E0\AF\8D]\00^[\E0\AE\87\E0\AE\B2\E0\AF\8D\E0\AE\B2\E0\AF\88]\00\E0\AE\86\E0\AE\AE\E0\AF\8D\00\E0\AE\87\E0\AE\B2\E0\AF\8D\E0\AE\B2\E0\AF\88\00^[\E0\B0\85]\00^[\E0\B0\95]\00\E0\B0\85\E0\B0\B5\E0\B0\A8\E0\B1\81\00\E0\B0\95\E0\B0\BE\E0\B0\A6\E0\B1\81\00\C4\C1\00\CE\C5\D4\00\D0\BD\D0\B5\D1\82\00^[yY\AA]\00^[nN\C1]\00\E3\AA\E8\00\E4\C1\E8\E3\AA\E8\00^[yY\E0\B8\8A]\00^[nN\E0\B8\A1]\00\E0\B9\83\E0\B8\8A\E0\B9\88\00\E0\B9\84\E0\B8\A1\E0\B9\88\E0\B9\83\E0\B8\8A\E0\B9\88\00^[eE].*\00^[hH].*\00evet\00hay\FDr\00hay\C4\B1r\00\D3\98\D0\B9\D0\B5\00\D0\AE\D0\BA\00[\F4\D4Yy].*\00[\D0\A2\D1\82Yy].*\00[yY\D9\87\D8\A8f].*\00[nN\D9\86o].*\00\D8\A8\D9\84\D9\83\D9\84\00\D9\86\D9\87\D9\8A\DA\BA\00^[YyHh].*\00^[JjNn].*\00Ha\00Yo'q\00[oOyYaAwW].*\00Oyi\00Neni\00^[Yy\E9].*\00^[Nn\F0\F7].*\00\E9\E0\C7\00\F7\D6\EF\00^[Yy\D7\99].*\00^[Nn\D7\A0\D7\A7].*\00\D7\99\D7\90\D6\B7\00\D7\A7\D7\B2\D7\9F\00^[yY\E6\98\AF]\00^[nN\E4\B8\8D\E5\90\A6]\00", [23 x %struct.__codeset_8_bit_t.202] [%struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\01\02\03\04\04\04\04\04\04\04\04\05", [16 x i8] c"\00\00\00\00\01\02\03\04\04\04\04\04\04\04\04\05", [16 x i8] c"\00\01\02\03\04\05\06\07\08\09\0A\0B\0C\0D\0E\0F", [38 x i8] c"\00\01\01\01\01\02\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\03\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06", [16 x i8] zeroinitializer, [16 x i8] c"\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10", [38 x i8] c"\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\07\08\09\0A\0B\0C\0D\0E\0F\0F\0F\0F\10\10\10\10", [16 x i8] c"\06\07\08\07\09\0A\0B\0C\0D\0D\0D\0D\0D\0D\0D\0D", [16 x i8] c"\11\12\13\14\15\16\17\18\19\1A\1B\1C\1D\1E\1F ", [38 x i8] c"\04\01\01\01\05\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\06\07\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\11\12\13\12\02\02\14\02\02\15\16\17\18\18\18\19", [16 x i8] zeroinitializer, [16 x i8] c"!\22#$%&'()*+,-./0", [38 x i8] c"\08\09\0A\01\01\0B\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\0C\0D\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\1A\1B\1C\1D\02\1E\14\1E\18\18\18\18\1F\10 \10", [16 x i8] c"\00\0E\00\0F\00\00\00\00\00\00\00\00\00\00\00\10", [16 x i8] c"123456'789:;<=>?", [38 x i8] c"\0E\0F\0A\01\01\01\01\01\01\01\01\01\01\01\01\01\10\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\11\0D\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\02\1E\14\1E\0F\0F!\22\10\10 \10", [16 x i8] c"\00\00\00\00\00\00\00\00\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\0356'7@ABCD=>?", [38 x i8] c"\12\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00#$%&\0F\0F\0F\22\10\10\10'", [16 x i8] c"\00\00\00\00\12\13\12\13\0D\0D\0D\11\0D\0D\0D\11", [16 x i8] c"\00\01\02\03EFGHIJKLMNOP", [38 x i8] c"\13\14\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\15\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\02\0C\14(\0F\0F!\22\10\10 ", [16 x i8] c"\00\00\00\00\00\0A\00\0A\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\03QRSTUVWXYZ[\\", [38 x i8] c"\16\17\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\18\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00)*+,\0F\0F\0F\22\10\10\10\10", [16 x i8] c"\00\00\00\00\14\15\16\17\0D\0D\0D\11\0D\0D\0D\18", [16 x i8] c"\00\01\02\03]^_`@AabD=cd", [38 x i8] c"\19\1A\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\1B\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00-./0\0F\0F!\22\10\10 \10", [16 x i8] c"\00\00\00\00\19\1A\1B\1C\0D\0D\11\11\0D\0D\11\1D", [16 x i8] c"\00\01\02\03efgh@ABCD=>?", [38 x i8] c"\1C\1D\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\1E\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\001234\0F\0F\0F\22\10\10\10\10", [16 x i8] c"\00\00\00\00\1E\1F !\0D\0D\0D\11\0D\0D\0D\1D", [16 x i8] c"\00\01\02\03ijklmAnop=qr", [38 x i8] c"\1F !\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\22\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\005678\0F\0F!\22\10\10 ", [16 x i8] c"\00\00\00\00\22#\22#\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\03stuvwxyz{|}~", [38 x i8] c"#$%\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\009:;<=\0F>\22?\10@ ", [16 x i8] c"\00\00\00\00$%$&'\0D(\11'\0D(\11", [16 x i8] c"\00\01\02\03\7F\80\81\82\83A\84\85\86=\87\88", [38 x i8] c"&'(\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00AB7C\0F\0F!\22\10\10 ", [16 x i8] c"\00\00\00\00\22)\22*\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\03\89\8A\8B\8CI\8D\8E\8FM\90\91\92", [38 x i8] c")*+\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00D$\0F\0F\0F\0F\10\10\10\10E&", [16 x i8] c"\00\00\00\00+,\0D\0D\0D\0D\0D\0D\0D\0D+,", [16 x i8] c"\00\01\02\03\93\94\19\1A\1B\1C\1D\1E\1F \95\96", [38 x i8] c",\01\01\01-\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01.\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00FG\06HI\18\18J\18KL\06", [16 x i8] zeroinitializer, [16 x i8] c"\00\01\02\03\97\98\10\99\9A\9B\9C\9D\9E\9F\A0\10", [38 x i8] c"/\01\01\01\01\010\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00MN-OP\0FQRS\10\10T", [16 x i8] c"\00\00\00\00\00\00-./\0D01/\0D23", [16 x i8] c"\00\01\02\03\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC", [38 x i8] c"1\01\012\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\013\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00U\02\14V\06\06\06W\18\18\18\19", [16 x i8] zeroinitializer, [16 x i8] c"\00\01\02\03\AD&'\AE\10\10\10\AF-./0", [38 x i8] c"4\01\01\01\015\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\016\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\02\1E\14\1E\0F\0F!\22\10\10 \10", [16 x i8] c"\00\00\00\00\00\00\00\00\0D\0D\114\0D\0D\115", [16 x i8] c"\00\01\02\0356'7@A\B0\B1D=\B2\B3", [38 x i8] c"78\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\02\02\02\02X\02Y\02\10\10\10\10\0F\0F\0F\0F", [16 x i8] c"\00\00\00\006\006\0077777777", [16 x i8] c"\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\BF\C0\C1\C2\C3", [38 x i8] c"9\01\01\01:\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01;<\01=" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"Z[\\]^_`a\10\10\10\10\0F\0F\0F\0F", [16 x i8] c"89:\00;\00<\0077777777", [16 x i8] c"\C4\C5\C6\C7\C8\C9\CA\CB\BC\BD\BE\BF\C0\C1\C2\C3", [38 x i8] c">\01\01\01?\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\11\07\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\02\02\02\02b\14cd\10\10\10\10\0F\0F\0F\0F", [16 x i8] c"\00\00\00\00=>=>77777777", [16 x i8] c"\B4\B5\B6\B7\CC\CD\CE\CF\BC\BD\BE\BF\C0\C1\C2\C3", [38 x i8] c"9\01\01\01@\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01;<\01A" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\06\06\06\06I\18\18\18\18e\18fge\18h", [16 x i8] zeroinitializer, [16 x i8] c"\10\10\10\10\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB", [38 x i8] c"\01\01\01\01\01\01\01\01\01\01\01\01\01\01B\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }], [20 x i8] c"\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\01\01\01\01\01", [10 x i16] [i16 0, i16 2, i16 4, i16 6, i16 8, i16 10, i16 12, i16 14, i16 16, i16 18], [20 x i16] [i16 1, i16 21, i16 3, i16 24, i16 5, i16 27, i16 7, i16 30, i16 9, i16 33, i16 11, i16 36, i16 13, i16 39, i16 15, i16 42, i16 17, i16 45, i16 19, i16 48], [45 x i8] c"\00\00\00\01\01\01\00\02\01\00\02\02\01\00\01\01\00\00\01\03\01\01\04\01\00\05\01\01\01\00\02\06\01\01\05\00\01\07\01\01\05\01\00\02\03", [3 x i16] [i16 0, i16 3, i16 11], [15 x i16] [i16 1, i16 3, i16 17, i16 0, i16 1, i16 3, i16 10, i16 12, i16 15, i16 20, i16 23, i16 0, i16 5, i16 7, i16 25], [3894 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\03\03\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\03\03\04\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\04\04\05\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\05\04\06\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\06\05\07\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\07\05\08\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\08\06\09\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\09\06\0A\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0A\07\0B\02\02\02\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\0B\08\0C\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0C\08\0D\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0D\09\0E\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0E\09\0F\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0F\0A\10\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\10\0A\11\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\11\0B\12\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\12\0B\13\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\13\0C\14\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\14\0C\15\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\15\0D\16\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\16\0D\17\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\17\0E\18\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\18\0E\19\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\19\0F\1A\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1A\0F\1B\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1B\10\1C\02\00\00\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01\1C\10\1D\02\00\00\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01\1D\11\1E\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1E\11\1F\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1F\12 \02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02 \12!\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02!\13\22\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\22\13#\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02#\14$\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02$\14%\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02%\15&\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01&\16'\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01'\16(\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01(\17)\01\04\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01)\17*\01\05\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01*\00+\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01+\07,\02\02\03\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01,\18-\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01-\18.\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01.\19/\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01/\18-\01\01\03\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\01\03\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\011\180\01\01\03\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\012\1A1\01\04\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\013\1A2\01\05\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\014\1B3\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\015\1B4\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\016\1C5\01\01\01\00\01\01\01\01\03\01\03\02\03\01\03\01\03\02\037\18-\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\011\180\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\012\18-\01\01\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\030\18.\01\01\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\031\180\01\01\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\032\1D6\02\03\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\038\18-\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01-\18.\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01.\180\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\019\18-\01\01\01\00\01\04\04\02\01\01\01\01\01\02\01\01\01\01\01-\18.\01\01\01\00\01\04\04\02\01\01\01\01\01\02\01\01\01\01\01.\1E\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\1F7\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01: \02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\1C0\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\012\1C8\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01;!9\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04<\18-\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\010\18.\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\011\180\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\012\22\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02#:\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04=$\02\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04\02%\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\01\01\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01&;\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01>\18<\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01?'\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02(=\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01@)\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02*\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02+>\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01A,\02\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02-\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02\18-\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\011\180\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\012.?\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01B/@\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01C0\02\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\021A\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01D2B\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01E3C\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01F%\02\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\024D\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01G5E\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01H5F\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01I6G\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01J7H\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01K85\01\04\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01785\01\05\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\017\18-\01\01\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\01\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\011\180\01\01\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\0129I\03\06\01\00\01\03\03\02\02\02\02\01\01\02\02\02\02\01\01L\18-\01\01\01\00\01\01\01\02\03\02\03\01\01\02\03\02\03\01\01-\18.\01\01\01\00\01\01\01\02\03\02\03\01\01\02\03\02\03\01\01.\180\01\01\01\00\01\01\01\02\03\02\03\01\01\02\03\02\03\01\019 \02\01\03\01\00\01\01\01\02\02\02\02\01\04\02\02\02\02\01\04M\180\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\019:J\02\02\01\00\01\01\01\01\02\01\02\03\02\01\02\01\02\03\02N:K\02\02\01\00\01\01\01\01\02\01\02\03\02\01\02\01\02\03\02O\07L\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01P;M\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01QQ\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01U?5\01\01\01\00\01\03\03\02\02\02\02\01\01\02\02\02\02\01\01V@R\02\02\01\00\01\03\03\01\01\01\01\01\03\01\01\01\01\01\03WAS\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01XAT\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01YBU\02\02\01\00\01\03\03\01\01\01\01\01\03\01\01\01\01\01\03ZCV\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01[DW\01\04\01\00\01\01\01\01\02\01\02\04\05\01\02\01\02\04\05\\DW\01\05\01\00\01\01\01\01\02\01\02\04\05\01\02\01\02\04\05\\EX\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01]EY\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01^\07Z\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01_F[\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04`G\\\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04a\18-\01\03\01\00\01\01\01\01\02\01\02\01\02\01\02\01\02\01\020\18.\01\03\01\00\01\01\01\01\02\01\02\01\02\01\02\01\02\01\021\180\01\03\01\00\01\01\01\01\02\01\02\01\02\01\02\01\02\01\022H5\01\04\01\00\01\01\01\01\02\01\01\01\05\01\02\01\01\01\057H5\01\05\01\00\01\01\01\01\02\01\01\01\05\01\02\01\01\01\057H5\01\01\01\00\01\01\01\01\01\01\01\02\03\01\01\01\01\02\037I]\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01bI^\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01cJ_\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01d\18-\04\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01-\18.\04\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01.\180\04\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\019K`\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01eLa\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01fLb\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01gL(\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01(Mc\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01hMd\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01iHe\01\01\01\00\01\01\01\01\01\01\01\02\03\01\01\01\01\02\03jNf\01\04\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01kNf\01\05\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01kOg\01\03\01\00\01\01\01\02\03\02\03\03\02\02\03\02\03\03\02lPh\01\01\01\00\01\02\02\01\01\01\01\01\01\01\01\01\01\01\01mQi\01\03\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\01nQj\01\03\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\01oQk\01\03\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\01pR5\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01V\07L\02\02\03\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01PSl\02\02\01\00\01\01\01\01\03\01\03\02\03\01\03\01\03\02\03qSm\02\02\01\00\01\01\01\01\03\01\03\02\03\01\03\01\03\02\03rT\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02#n\02\02\01\00\01\01\01\01\01\01\02\01\01\01\01\01\02\01\01sUo\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01tVp\02\02\01\00\01\01\01\01\02\01\01\03\01\01\02\01\01\03\01uWq\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01vXr\01\01\01\00\01\01\01\02\01\01\01\01\01\02\01\01\01\01\01w%\02\02\02\01\00\01\01\01\01\02\01\02\03\02\01\02\01\02\03\02\02YR\02\02\01\00\01\01\01\01\01\01\01\02\03\01\01\01\01\01\01WZs\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01x", [22 x i16] [i16 0, i16 91, i16 207, i16 212, i16 219, i16 223, i16 224, i16 226, i16 231, i16 236, i16 239, i16 243, i16 246, i16 250, i16 255, i16 261, i16 264, i16 268, i16 271, i16 275, i16 280, i16 286], [407 x i16] [i16 0, i16 5, i16 25, i16 35, i16 66, i16 97, i16 128, i16 159, i16 176, i16 207, i16 238, i16 269, i16 300, i16 331, i16 362, i16 393, i16 424, i16 459, i16 490, i16 521, i16 552, i16 583, i16 601, i16 630, i16 697, i16 720, i16 747, i16 768, i16 785, i16 799, i16 816, i16 821, i16 833, i16 845, i16 859, i16 864, i16 878, i16 883, i16 888, i16 906, i16 911, i16 923, i16 928, i16 933, i16 943, i16 948, i16 953, i16 963, i16 975, i16 980, i16 992, i16 1004, i16 1016, i16 1030, i16 1047, i16 1059, i16 1073, i16 1078, i16 1111, i16 1149, i16 1161, i16 1173, i16 1190, i16 1202, i16 1211, i16 1225, i16 1244, i16 1258, i16 1270, i16 1282, i16 1326, i16 1338, i16 1350, i16 1355, i16 1376, i16 1388, i16 1402, i16 1425, i16 1457, i16 1469, i16 1483, i16 1497, i16 1535, i16 1540, i16 1559, i16 1573, i16 1585, i16 1597, i16 1613, i16 1627, i16 1632, i16 0, i16 10, i16 30, i16 40, i16 51, i16 71, i16 82, i16 102, i16 113, i16 133, i16 144, i16 164, i16 181, i16 192, i16 212, i16 223, i16 243, i16 254, i16 274, i16 285, i16 305, i16 316, i16 336, i16 347, i16 367, i16 378, i16 398, i16 409, i16 429, i16 440, i16 464, i16 475, i16 495, i16 506, i16 526, i16 537, i16 557, i16 568, i16 588, i16 606, i16 615, i16 635, i16 644, i16 658, i16 667, i16 702, i16 711, i16 725, i16 742, i16 752, i16 759, i16 773, i16 778, i16 790, i16 804, i16 826, i16 838, i16 850, i16 869, i16 893, i16 697, i16 916, i16 938, i16 958, i16 968, i16 985, i16 997, i16 1009, i16 1021, i16 1035, i16 1040, i16 1052, i16 1064, i16 1083, i16 1116, i16 1123, i16 1134, i16 1154, i16 1166, i16 1178, i16 1183, i16 1195, i16 1216, i16 1230, i16 1235, i16 1249, i16 1263, i16 1275, i16 1287, i16 1296, i16 1311, i16 1331, i16 1343, i16 1360, i16 1367, i16 1381, i16 1393, i16 1407, i16 1416, i16 1430, i16 1437, i16 1448, i16 1462, i16 1474, i16 1488, i16 1502, i16 1511, i16 1520, i16 1545, i16 1550, i16 1564, i16 1578, i16 1590, i16 1602, i16 1618, i16 1637, i16 0, i16 12, i16 14, i16 1092, i16 30, i16 0, i16 14, i16 12, i16 593, i16 638, i16 649, i16 1095, i16 0, i16 16, i16 168, i16 680, i16 0, i16 0, i16 3, i16 1, i16 18, i16 16, i16 0, i16 793, i16 1, i16 18, i16 16, i16 0, i16 793, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 793, i16 18, i16 16, i16 1, i16 20, i16 18, i16 793, i16 0, i16 16, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 793, i16 18, i16 16, i16 1, i16 20, i16 18, i16 793, i16 0, i16 16, i16 3, i16 22, i16 32, i16 45, i16 58, i16 76, i16 89, i16 107, i16 120, i16 138, i16 151, i16 171, i16 186, i16 199, i16 217, i16 230, i16 248, i16 261, i16 279, i16 292, i16 310, i16 323, i16 341, i16 354, i16 372, i16 385, i16 403, i16 416, i16 434, i16 449, i16 469, i16 482, i16 500, i16 513, i16 531, i16 544, i16 562, i16 575, i16 595, i16 610, i16 622, i16 640, i16 652, i16 662, i16 683, i16 706, i16 715, i16 728, i16 732, i16 737, i16 744, i16 755, i16 763, i16 775, i16 781, i16 795, i16 808, i16 813, i16 829, i16 841, i16 854, i16 873, i16 896, i16 900, i16 919, i16 940, i16 960, i16 971, i16 988, i16 1000, i16 1012, i16 1025, i16 1037, i16 1043, i16 1055, i16 1068, i16 1098, i16 1108, i16 1119, i16 1128, i16 1141, i16 1157, i16 1169, i16 1180, i16 1186, i16 1198, i16 1207, i16 1220, i16 1232, i16 1239, i16 1253, i16 1266, i16 1278, i16 1291, i16 1303, i16 1318, i16 1334, i16 1346, i16 1363, i16 1371, i16 1384, i16 1397, i16 1411, i16 1420, i16 1433, i16 1442, i16 1452, i16 1465, i16 1478, i16 1492, i16 1506, i16 1515, i16 1527, i16 1547, i16 1554, i16 1568, i16 1581, i16 1593, i16 1607, i16 1622, i16 1641], [8250 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\00\00\00\00\01\00\00\00\00\01\00\01\01\01\01\00\01\01\01\01\00\01\00\01\01\01\01\01\01\01\00\00\00\00\00\00\02\02\02\02\02\02\02\02\02\02\02\02\02\02\01\01\01\01\02\01\01\01\01\02\01\02\02\02\02\01\02\02\02\02\01\02\01\02\02\02\02\02\02\00\00\00\00\00\00\00\03\03\03\03\03\03\03\03\03\03\03\03\03\03\02\02\02\02\03\02\02\02\02\03\02\03\03\03\03\02\03\03\03\03\02\03\02\03\03\03\03\03\03\02\00\00\00\00\00\00\04\04\04\04\04\04\04\04\04\04\04\04\04\04\03\03\03\03\04\03\03\03\03\04\03\04\04\04\04\03\04\04\04\04\03\04\03\04\04\04\03\03\03\02\00\00\00\00\00\00\03\03\03\03\03\03\03\03\03\03\03\03\03\05\02\02\02\02\03\02\02\02\02\03\02\03\03\03\03\02\03\03\03\03\02\03\02\03\03\03\03\03\03\02\00\00\00\00\00\00\04\04\04\04\04\04\04\04\04\04\04\04\04\06\03\03\03\03\04\03\03\03\03\04\03\04\04\04\04\03\04\04\04\04\03\04\03\04\04\04\03\03\03\02\00\00\00\00\00\00\04\04\04\04\04\04\04\04\04\04\04\04\04\06\03\03\03\03\04\03\03\03\03\04\03\04\04\04\04\03\04\04\04\04\03\04\03\04\04\04\04\04\04\03\00\00\00\00\00\00\05\05\05\05\05\05\05\03\03\03\03\03\03\05\04\04\04\04\05\04\04\04\04\05\04\05\05\05\05\04\05\05\05\05\04\05\04\05\03\03\03\03\03\02\00\00\00\00\00\00\06\06\06\06\06\06\06\04\04\04\04\04\04\06\05\05\05\05\06\05\05\05\05\06\05\06\06\06\06\05\06\06\06\06\05\06\05\06\04\04\03\03\03\02\00\00\00\00\00\00\00\00\00\00\00\00\00\03\05\03\03\03\05\05\00\00\00\00\00\00\00\00\00\00\00\00\05\05\05\06\07\05\07\05\04\05\04\05\05\05\05\05\05\04\00\00\00\00\00\00\00\00\00\00\00\00\00\04\06\04\04\04\06\06\00\00\00\00\00\00\00\00\00\00\00\00\06\06\06\07\08\06\08\06\05\06\05\06\05\05\05\05\05\04\00\00\00\00\00\00\05\05\05\05\05\05\05\03\03\03\03\03\03\05\04\04\04\04\05\04\04\04\04\05\04\05\05\05\05\04\09\07\05\05\04\05\04\05\03\03\03\03\03\02\00\00\00\00\00\00\06\06\06\06\06\06\06\04\04\04\04\04\04\06\05\05\05\05\06\05\05\05\05\06\05\06\06\06\06\05\0A\08\06\06\05\06\05\06\04\04\03\03\03\02\00\00\00\00\00\00\07\07\07\07\07\07\07\05\07\05\05\05\07\07\06\06\00\00\00\06\06\06\06\01\06\07\07\07\07\08\0B\09\09\07\06\07\06\07\05\05\06\06\01\01\00\00\00\00\00\00\07\07\07\08\08\08\07\06\08\06\06\06\08\08\06\06\00\00\00\07\07\06\06\01\06\07\07\07\07\08\0B\09\09\07\06\07\06\07\05\05\06\06\01\01\00\00\00\00\00\00\08\08\08\09\09\09\08\07\09\07\07\07\09\09\07\07\06\06\07\08\08\07\07\07\07\08\08\08\08\09\0C\0A\0A\08\07\08\07\08\05\05\07\06\01\01\00\00\00\00\00\00\09\09\09\0A\0A\0A\09\08\0A\08\08\08\0A\0A\08\08\07\07\08\09\09\08\08\08\08\09\09\09\09\0A\0D\0B\0B\09\08\09\08\09\05\05\07\06\01\01\00\00\00\00\00\00\0A\0A\0A\0B\0B\0B\0A\09\0B\09\09\09\0B\0B\09\09\08\08\09\0A\0A\09\09\09\09\0A\0A\0A\0A\0B\0E\0C\0C\0A\09\0A\09\0A\05\05\08\07\06\05\00\00\00\00\00\00\0B\0B\0B\0C\0C\0C\0B\0A\0C\0A\0A\0A\0C\0C\0A\0A\09\09\0A\0B\0B\0A\0A\0A\0A\0B\0B\0B\0B\0C\0F\0D\0D\0B\0A\0B\0A\0B\05\05\08\07\06\05\00\00\00\00\00\00\0C\0C\0C\0D\0D\0D\0C\0B\0D\0B\0B\0B\0D\0D\0B\0B\0A\0A\0B\0C\0C\0B\0B\0B\0B\0C\0C\0C\0C\0D\10\0E\0E\0C\0B\0C\0B\0C\06\06\09\08\04\03\00\00\00\00\00\00\0C\0C\0C\0D\0D\0D\0C\0B\0D\0B\0B\0B\0D\0D\0C\0C\0B\0B\0B\0C\0D\0C\0C\0B\0B\0C\0C\0C\0C\0D\10\0E\0E\0C\0C\0D\0C\0D\07\07\09\08\04\03\00\00\00\00\00\00\0D\0D\0D\0E\0E\0E\0D\0C\0E\0C\0C\0C\0E\0E\0D\0D\0C\0C\0C\0D\0E\0D\0D\0C\0C\0D\0D\0D\0D\0E\11\0F\0F\0D\0D\0E\0D\0E\08\08\0A\06\01\06\00\00\00\00\00\00\0E\0E\0E\0F\0F\0F\0E\0D\0F\0D\0D\0D\0F\0F\00\00\00\00\0D\00\00\00\00\01\00\00\0E\0E\0E\00\12\10\10\00\0E\0F\0E\0F\05\05\07\06\01\01\00\00\00\00\00\00\0E\0E\0E\0F\10\0F\0E\0D\0F\0D\0D\0E\0F\0F\00\00\00\00\0D\00\00\00\00\01\00\00\0E\0E\0E\00\12\10\10\00\0E\0F\0E\0F\05\05\07\06\01\01\00\00\00\00\00\00\0F\0F\0F\10\11\10\0F\0E\10\0E\0E\0F\10\10\0E\0E\0D\0D\0E\0E\0F\0E\0E\0D\0D\0E\0F\0F\0F\0F\13\11\11\0E\0F\10\0F\10\05\05\01\01\01\01\00\00\00\00\00\00\0F\0F\0F\10\11\10\0F\0E\10\0E\0E\0F\10\10\0E\0E\0D\0D\0E\0E\0F\0E\0E\0D\0D\0E\0F\0F\10\0F\13\11\11\0E\0F\10\0F\10\05\05\01\01\01\01\00\00\00\00\00\00\10\10\10\11\12\11\10\0F\11\0F\0F\10\11\11\0F\0F\0E\0E\0F\0F\10\0F\0F\0E\0E\0F\10\10\11\10\14\12\12\0F\10\11\10\11\05\05\0B\06\00\07\00\00\00\00\00\00\10\10\11\11\13\12\10\10\12\10\10\11\12\11\0F\10\0F\0E\10\10\11\0F\10\0F\0E\0F\10\11\12\10\15\13\13\0F\11\12\10\11\05\05\0C\06\00\07\00\00\00\00\00\00\11\11\12\12\14\13\11\11\13\11\11\12\13\12\10\11\10\0F\11\11\12\10\11\10\0F\10\11\12\13\11\16\14\14\10\12\13\11\12\05\05\0D\09\01\01\00\00\00\00\00\00\12\12\13\13\15\14\12\12\14\12\12\13\14\13\11\0E\0D\10\12\0E\0F\11\12\11\0D\11\12\13\14\12\17\15\15\11\13\14\12\13\05\05\01\0A\01\01\00\00\00\00\00\00\13\12\13\13\15\14\13\13\14\12\12\13\14\14\11\0E\0D\10\12\0E\0F\11\12\11\0D\11\12\13\14\12\17\15\15\11\13\14\12\13\05\05\01\0A\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\12\00\11\00\11\00\00\00\00\01\00\12\13\14\15\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\13\00\12\00\11\00\00\00\00\01\00\12\14\14\16\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\11\00\11\00\00\00\00\01\00\12\0E\0E\15\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\12\00\11\00\00\00\00\01\00\12\0E\0E\16\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\11\00\11\00\00\00\00\01\00\12\0E\0E\15\00\16\10\10\00\00\01\00\14\05\05\01\06\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\12\00\11\00\00\00\00\01\00\12\0E\0E\16\00\16\10\10\00\00\01\00\14\05\05\01\06\01\01\00\00\00\00\00\00\15\13\15\15\17\16\15\15\16\14\14\15\16\16\14\12\13\11\13\12\13\12\13\12\10\13\15\15\17\13\18\16\16\12\14\15\13\15\05\05\01\02\01\01\00\00\00\00\00\00\16\14\16\16\18\17\16\16\17\15\15\16\17\17\15\13\14\12\14\13\14\13\14\13\11\14\16\16\18\14\19\17\17\13\15\16\14\16\05\05\01\02\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\05\01\01\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\01\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\05\0F\0B\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\10\0C\07\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\04\04\04\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\11\0D\04\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\12\0E\04\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\0F\02\00\00\00\00\00\00\00\17\0D\17\0E\19\18\17\17\18\16\16\17\18\18\00\00\00\00\0D\00\00\14\00\01\00\00\17\17\19\15\1A\18\18\14\16\17\15\17\05\05\13\0B\01\01\00\00\00\00\00\00\18\0D\17\17\1A\19\18\18\19\17\17\18\19\19\16\0E\0D\0D\15\0E\0F\0E\12\0D\0D\15\18\18\1A\0F\1B\19\19\15\17\10\16\18\05\05\01\01\01\01\00\00\00\00\00\00\18\0D\17\18\1A\19\19\18\19\17\18\18\19\1A\16\0E\0D\0D\15\0E\0F\0E\12\0D\0D\15\18\18\1A\0F\1B\19\19\15\17\10\16\18\05\05\01\01\01\01\00\00\00\00\00\00\19\15\18\19\1B\1A\1A\19\1A\18\19\19\1A\1B\17\14\15\13\16\14\15\15\15\14\12\16\19\19\1B\16\1C\1A\1A\11\13\18\12\19\05\05\01\06\01\01\00\00\00\00\00\00\19\15\18\19\1B\1A\1A\1A\1B\19\1A\1A\1A\1C\17\14\16\13\16\14\15\15\15\14\12\16\19\19\1C\16\1C\1A\1A\11\13\18\12\19\05\05\01\06\01\01\00\00\00\00\00\00\1A\16\19\1A\1C\1B\1B\1B\1C\1A\1B\1B\1B\1D\18\15\0D\14\0E\15\16\16\16\15\13\17\1A\1A\1D\17\1D\1B\1B\16\18\19\17\1A\05\05\14\10\01\01\00\00\00\00\00\00\1B\17\1A\1B\1D\1C\1C\1C\1D\1B\1C\1C\1C\1E\19\16\03\15\17\16\17\17\17\16\14\18\1B\1B\04\18\1E\1C\1C\17\19\1A\18\1B\09\09\15\11\00\09\00\00\00\00\00\00\1C\18\1B\1C\1E\1D\1D\1D\1E\1C\1D\1D\1D\1F\1A\17\17\16\18\17\18\18\18\17\15\19\1C\1C\1E\19\1F\1D\1D\18\1A\1B\19\1C\05\05\16\06\01\01\00\00\00\00\00\00\1C\18\1B\1C\1E\1D\1D\1D\1E\1C\1D\1D\1D\1F\1B\18\17\17\19\18\19\19\19\18\15\1A\1C\1C\1E\19\1F\1E\1E\18\1A\1B\19\1C\05\05\16\06\01\01\00\00\00\00\00\00\1D\19\1C\1D\1F\1E\1E\1E\1F\1D\1E\1E\1E \11\0E\0D\10\0E\0E\0F\11\12\11\0D\0E\12\13\1F\1A\1C\15\15\11\13\14\12\1D\05\05\01\12\01\01\00\00\00\00\00\00\1D\1A\1D\1D \1F\1E\1E \1E\1E\1F\1F \11\0E\0D\10\0E\0E\0F\11\12\11\0D\0E\12\13\1F\1B\1C\15\15\11\13\14\12\1D\05\05\01\12\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\01\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\01\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\0B\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\0B\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\13\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\13\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\06\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\06\01\01\00\00\00\00\00\00\1E\1B\1E\1E\22 \22 !!\22\1C\1B\18\19\1A\19\1B\1C\1A\19\16\1D\1E\1F \1D \1B\1C\1D\1A \05\05\01\09\01\01\00\00\00\00\00\00\1E\1B\1F\1F# !#!!\22\22#\1C\1B\19\19\1A\19\1C\1D\1B\1A\16\1D\1F\1F!\1E! !\1C\1D\1E\1B!\05\05\01\09\01\01\00\00\00\00\00\00\1F\1C $!!\22$\22\22##$\1D\1C\1A\1A\1B\1A\1D\1E\1C\1B\17\1E \22\1F\22!\22\1D\1E\1F\1C\22\05\05\01\01\01\01\00\00\00\00\00\00\1F\1C $!!#$#\22##$\1D\1C\1B\1A\1C\1A\1D\1F\1C\1B\17\1F #\1F#\22\22\1E\1E\1F\1C#\05\05\01\01\01\01\00\00\00\00\00\00 \1D!!%\22\22$%$#$$%\1E\00\00\1B\11\1B\1E \1D\1C\00\00!!$ $##\1F\1F \15\17\05\05\01\01\01\01\00\00\00\00\00\00 \1D!\22%\22#$%$$$$&\1E\00\00\1B\11\1C\1E \1D\1C\00\00!!$ $$#\1F\1F \15\17\05\05\01\01\01\01\00\00\00\00\00\00!\1E\22#&#$%&%%%%'\1F\1D\1C\1C\1D\1D\1F!\1E\1D\18 \22\22%!%%$ !\1D$\05\05\01\01\01\01\00\00\00\00\00\00\22\1F#$'$%&'&&&&( \1E\1D\1D\1E\1E \22\1F\1E\19!##&\22&&%!!\22\1E%\00\00\17\01\00\0A\00\00\00\00\00\00# $%(%&'('''')!\1F\1E\1E\1F\1F!# \1F\1A\22$$'#''&\22\22#\1F&\00\00\17\01\00\0A\00\00\00\00\00\00$!%&)&'()((((*\22 \1F\1F \22$! \1B#%%($(('##$ '\0A\0A\09\08\04\03\00\00\00\00\00\00\0E\0E\0E\0F\0F\0F\0E\0D\0F\0D\0D\0D\0F\0F#! !!#%\22!\1C$&&)%))($$%!(\05\05\07\06\01\01\00\00\00\00\00\00\0E\0E\0E\0F\10\0F\0E\0D\0F\0D\0D\0E\0F\0F#!! !!#%\22!\1C$''*%))($$%!(\05\05\07\06\01\01\00\00\00\00\00\00%\22&'*'()*))))+\11\0E\22!\22\22$\11#\11\0D\11((+&**)%%&\12\13\05\05\18\0B\08\0B\00\00\00\00\00\00%\22&'*'(*+))**+\11\0E#\22##%\11#\11\0D\11)),'++*%%'\12\13\05\05\18\0B\08\0B\00\00\00\00\00\00&#'(+()+,**++,$\22$#$$&&$\22\1D%**-(,,+&&(\22)\05\05\0E\00\02\01\00\00\00\00\00\00'$(),)*,-++,,-%#%$%%''%#\1E&++.)--,'')#*\05\05\0E\00\02\01\00\00\00\00\00\00(%)*-*+-.,,--.\00$\00\00\01\00\00(\00\01\00\01,,/\00\01\10\10(\00\01\00\01\05\05\0E\01\01\01\00\00\00\00\00\00\00&*+.+,./--../\00\00\00\00&&()\00\01\1F\01--0*..-)\00*$\01\0B\0B\19\14\01\01\00\00\00\00\00\00\00'+,.,,.0...//\00\00\00\00'')*\00\01 \01..0+//.*\00+%\01\0B\0B\19\14\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/1///0\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\13\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/20001\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\13\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/1///0\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\02\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/20001\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\02\01\01\00\00\00\00\00\00)(,-0--0311120&%&%))++&%!'001-110+)-&,\0C\0C\1A\15\09\0C\01\00\01\01\01\00*)-.1..1422231'&'&**,,'&\22(112.221,*.'-\05\05\1B\0F\01\01\00\00\00\00\00\00+*./2//2533342('('++--('#)223/332-+/(.\05\05\1C\0F\01\01\00\00\00\00\00\00,+\1703003644453\11\0E\0D\10\12\0E\0F\11\12\11\0D\1133404\15\15.,0)/\05\05\01\16\01\01\00\00\00\00\00\00-,/14114755564)()(,,..)($*4451543/-1*0\0D\0D\1D\17\0A\0D\00\00\00\00\00\00\11\1D025\13\115866675*)*\0F--\12/*)%+55626540.2+1\05\05\01\01\01\01\00\00\00\00\00\00.-136226977786+*+)../0+*&,66737651/3,2\05\05\1E\18\01\01\00\00\00\00\00\00.-136236978787+*+)../0+*&,6674875203-3\05\05\1E\18\01\01\00\00\00\00\00\00/.247347:89898\11\0E\0D\10\0E/0\11\12\11\0D\1177\145986314.4\05\05\1F\19\01\01\00\00\00\00\00\00//358358:8:898\11\0E\0D\10\0E01\11\12\11\0D\1188\146997314.4\05\05\1F\19\01\01\00\00\00\00\00\000\01469469;9;9:9,+,*/121,+'-9987::8425/5\05\05 \01\01\01\00\00\00\00\00\000\0156:47:;:;:::,+,*/131,+'-:998::952605\05\05 \01\01\01\00\00\00\00\00\001067;58;<;<;;;-,-+0242-,(.;::9;;:63716\05\05!\06\01\01\00\00\00\00\00\002178<69<\0C\0A=<<<.\0A\09\09135\0A\0A\0A\0A\0B<\0B\0B\0C<<;\0B\0A\0B\0A\0B\05\05!\06\01\01\00\00\00\00\00\003289=7:==<>===/-\1F,2 63.-)/=;(:=(<74827\0E\0E\09\08\04\03\00\00\00\00\00\0043)*>*+>>,,>>.\00\00.\00\01\00\004\00\01\000,<;\00\01==8\00\01\008\05\05\09\08\04\03\00\00\00\00\00\00549:?8;??=???>\00.\00\003475\1D.\001>=<\00>>>95939\05\05\22\1A\04\03\00\00\00\00\00\00649:@9;@?=@@@>\00.\00\003575\1D.\002>=<\00>?>9593:\05\05\22\1A\04\03\00\00\00\00\00\007\18:;A:AAA?\11\0E/\104\0E\0F\11\12\11\0D\1133=\12?\15\15:\13\14\12\13\05\05\01\1B\01\01\00\00\00\00\00\0085;\0F;\1C@?;\0F\1C\0F;\05\05\01\06\01\01\00\00\00\00\00\00\17\0D\17=D\18\17CC@\0ED\10A\0E\0E\0D\0D\0E\0E\0F7\0E\0D\0D\11@?\10;\1C@?<\0F\1C\0F;\05\05\01\06\01\01\00\00\00\00\00\0097<>E<>DDACECB0/\0D-\12688//\0E3A@><\17A@=6:\10<\05\05\01\0B\01\01\00\00\00\00\00\0097DEADEDB0/\0D-\12688/0\0E3B@>=\17A@>7;\10=\05\05\01\0B\01\01\00\00\00\00\00\00 8=@F>\22\18FBEFE\19\00\06\00\1B\11\00\00 \1D\1C\00\12CA?\0F@BA\158<4>\05\05\01\0A\01\01\00\00\00\00\00\00 8=@F>#\18FCEFE\1A\00\06\00\1B\11\00\00 \1D\1C\00\12CA@\0F@BA\158<4>\05\05\01\0A\01\01\00\00\00\00\00\00 8=@F>\22$GDFGF%\00\06\00\1B\11\00\00 \1D\1C\00\12DBA $CB\1F\1F \15?\05\05\01\0A\01\01\00\00\00\00\00\00 8=@F>#$GEFGF&\00\06\00\1B\11\00\00 \1D\1C\00\12DBB $CB\1F\1F \15?\05\05\01\0A\01\01\00\00\00\00\00\00:9>AG??EHFGHGC1\0E\0D\10\0E79\11\12\0D\0D\11E\01C>\16DC\009=5@\05\05\01\0B\01\01\00\00\00\00\00\00:9>AG?@FHGGHGD1\0E\0D\10\0E79\11\12\0D\0D\11E\01C>\16DC\009=5@\05\05\01\0B\01\01\00\00\00\00\00\00;:?BH@AGIHHIHE200.58:901*4FCD?AED?:>6A\05\05\07\06\01\01\00\00\00\00\00\00<;@CIABHJIIJIF311/69;:12+5GDE@BFE@;?7B\05\05\07\06\01\01\00\00\00\00\00\00=B:E\05\05\07\06\01\01\00\00\00\00\00\00>=DDKCEJLKKLKH53318;=<34-7KHIDFJID?C;F\05\05%\0B\01\01\00\00\00\00\00\00\10\10E\11LD\10KMLLML\11\11\0E\0D\10\22\22$\11\12\11\0D\11((J\1AGKJ\11\13&\12\13\05\05\0B\06\00\07\00\00\00\00\00\00\10\10E\11MD\10LMLLNL\11\11\0E\0D\10##%\11\12\11\0D\11))J\1BHLK\11\13'\12\13\05\05\0C\06\00\07\00\00\00\00\00\00?7FENE>MNMMOMB\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13J\12\17MLE\13\14\12\13\05\05\01\06\01\01\00\00\00\00\00\00?7FEOE>MNMMPMB\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13J\12\17MLE\13\14\12\13\05\05\01\06\01\01\00\00\00\00\00\00@>GFPFFNONNQNI\004\002\0D<>>45.8LI\1FE\17NMF@D>45/8LI\1FE\17NMF@D=G\0F\0F&\1D\0C\0E\00\00\00\00\00\00?7HENEGMQPMROK\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13\07\12\17\15\15EAE>H\05\05\01\1E\01\01\00\00\00\00\00\00?7HEOEGMQPMSOK\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13\07\12\17\15\15EAE>H\05\05\01\1E\01\01\00\00\00\00\00\0010I7;5HORQ@@673RONILTSKGKDN\00\00)\1F\00\00\03\00\02\00\03\02GFP\02UKPWZX\02ZVT:;87=ACC9:6?SPOJMUTLHLEO\12\12*\02\02\00\00\00\00\00\00\00GFP\02UKPWZX\02ZVT\01\01\01\01\02\01\01\01\01\02\01\02\02\02\02\01\02\02\02\02\01\02\01\02\12\12*\02\02\00\00\00\00\00\00\00H\1D!LVL+X[$T[WU;$\00\1B\00BD \00\0170TQP NVU\1FIMFP\00\00\0E\00\02\00\00\00\00\00\00\00IGQMWMQY\\YU\\XV<<\008\00CED:;8@UR\0EKOWVMJNGQ\13\13\01\0A\01\00\00\00\00\00\00\00IGQNXMQY\\ZV]XV<=\008\00CEE:;8@US\0EKPWVNKNHR\14\14\01\0A\01\00\00\00\00\00\00\00JHROYNRZ][W^YW42207:<;23,6HEFACGFA<@8C\05\05\07\06\01\01\00\00\00\00\00\00K:?BH@A[^\\X_ZX=>99>DFF;<9AVTQLQXWOLOIS\05\05\07\06\01\01\00\00\00\00\00\00L\08::\08EGG<=:BWURM\0DYXPMPJT\05\05\07\06\01\01\00\00\00\00\00\00MISPZOS]`^Za\1CY??;;?FHH=>;CXVSNRZYQNQKU\04\15+\02\00\0F\00\00\00\00\00\00NJTQ[PT^a_[b\\Z@\06\00\00\00GII\06\01\06\07\07\07\07\08\0B\09\09EO\07\06\07\05\05,\01\01\01\00\00\00\00\00\00OKUR\\QU_b`\\c][A@<<@HJJ>?\18\15IKK\0E\0D>\11[YVP\0B\\[SQTNW\00\00.\02\00\00\00\00\00\00\00\00RMXS^SWbdc^e_(CB?=AJLL?@?E\\ZWQT&%TRUO%\00\00\17\01\00\0A\00\00\00\00\00\00SNYT_TXced_f`)DC@>BKMM@A@F][XRU'&USVP&\00\00\17\01\00\0A\00\00\00\00\00\00)OZU`UYdfe`ga]&%&%))++&%!'^\\YSV]\\VTWQX\15\16/\15\0E\10\00\00\00\00\00\00)OZU`UYdfe`ga]EDA?CLNNA%!'^\\YSV]\\VTWQX\15\160 \0F\11\00\00\00\00\00\00TP[VaVZdfe`ga]FEB@DMOOBBAG^\\YSV]\\VTWQX\15\161\15\10\01\00\00\00\00\00\00)OZU`UYegfahb^&%&%))++&%!'^\\YSV]\\VTWQX\15\162!\09\12\00\00\00\00\00\00", [50 x i16] [i16 0, i16 85, i16 166, i16 258, i16 345, i16 443, i16 530, i16 621, i16 723, i16 827, i16 930, i16 1028, i16 1133, i16 1232, i16 1327, i16 1398, i16 1468, i16 1535, i16 1600, i16 1669, i16 1747, i16 1827, i16 1907, i16 1974, i16 2041, i16 2107, i16 2179, i16 2274, i16 2367, i16 2457, i16 2541, i16 2628, i16 2722, i16 2815, i16 2902, i16 2987, i16 3075, i16 3157, i16 3246, i16 3268, i16 3291, i16 3342, i16 3376, i16 3393, i16 3412, i16 3416, i16 3417, i16 3420, i16 3422, i16 3426], [3429 x i16] [i16 1, i16 273, i16 463, i16 844, i16 1101, i16 858, i16 1122, i16 1977, i16 2348, i16 2594, i16 3018, i16 3253, i16 3606, i16 4397, i16 4635, i16 4806, i16 5023, i16 5441, i16 5662, i16 5858, i16 5884, i16 6040, i16 6288, i16 6938, i16 7125, i16 7310, i16 7573, i16 7838, i16 8226, i16 8624, i16 9025, i16 9539, i16 9921, i16 10130, i16 10434, i16 10640, i16 10937, i16 11606, i16 11946, i16 12190, i16 12640, i16 13317, i16 14931, i16 15189, i16 6952, i16 16066, i16 16636, i16 17024, i16 17365, i16 17819, i16 18049, i16 18224, i16 18661, i16 18735, i16 18983, i16 19067, i16 19176, i16 19479, i16 4589, i16 20213, i16 20433, i16 20653, i16 21280, i16 21712, i16 21810, i16 22607, i16 22680, i16 22719, i16 23133, i16 23665, i16 24019, i16 24674, i16 25025, i16 25183, i16 25483, i16 25641, i16 25844, i16 26175, i16 26395, i16 26524, i16 26932, i16 27130, i16 27204, i16 27426, i16 27844, i16 5, i16 276, i16 473, i16 846, i16 1104, i16 864, i16 1133, i16 1981, i16 2352, i16 2601, i16 3021, i16 3258, i16 3616, i16 4401, i16 4639, i16 4809, i16 5026, i16 5445, i16 5666, i16 6044, i16 6295, i16 7312, i16 7577, i16 7842, i16 8229, i16 8628, i16 8755, i16 9030, i16 9544, i16 9925, i16 10134, i16 10437, i16 10644, i16 10948, i16 11608, i16 11950, i16 12197, i16 2107, i16 12746, i16 12967, i16 13321, i16 14935, i16 15199, i16 15853, i16 16070, i16 16639, i16 17027, i16 17267, i16 17823, i16 18056, i16 18234, i16 18665, i16 18739, i16 19180, i16 19307, i16 19483, i16 19792, i16 20029, i16 20217, i16 20437, i16 20660, i16 21285, i16 21815, i16 22082, i16 22611, i16 22685, i16 22723, i16 23143, i16 23669, i16 24027, i16 24687, i16 25187, i16 25490, i16 26186, i16 4589, i16 26528, i16 26936, i16 27209, i16 27434, i16 27820, i16 27854, i16 9, i16 279, i16 480, i16 848, i16 1107, i16 872, i16 1148, i16 1985, i16 2356, i16 2608, i16 3024, i16 3263, i16 3626, i16 4405, i16 4643, i16 4812, i16 5029, i16 5255, i16 5449, i16 5670, i16 5888, i16 6048, i16 6302, i16 4895, i16 7314, i16 7581, i16 7846, i16 8232, i16 8632, i16 8760, i16 9035, i16 9301, i16 9549, i16 94, i16 10138, i16 10440, i16 10648, i16 10959, i16 11610, i16 11954, i16 12204, i16 12644, i16 12750, i16 12972, i16 13325, i16 14939, i16 15209, i16 16074, i16 16408, i16 16642, i16 17030, i16 17271, i16 17368, i16 17659, i16 17827, i16 18063, i16 18244, i16 18743, i16 19070, i16 19184, i16 19487, i16 19796, i16 276, i16 20221, i16 20441, i16 20667, i16 21048, i16 21132, i16 21290, i16 21635, i16 5678, i16 21820, i16 22151, i16 22255, i16 22391, i16 22615, i16 22727, i16 23153, i16 23672, i16 24032, i16 24697, i16 25191, i16 25497, i16 26193, i16 26399, i16 26534, i16 26940, i16 27135, i16 27215, i16 27444, i16 27824, i16 27864, i16 13, i16 282, i16 493, i16 850, i16 1110, i16 881, i16 1165, i16 1989, i16 2221, i16 2360, i16 2615, i16 3027, i16 3268, i16 3639, i16 4409, i16 4647, i16 4815, i16 5032, i16 5453, i16 5674, i16 5892, i16 6052, i16 6309, i16 7129, i16 7281, i16 7316, i16 7585, i16 7850, i16 8235, i16 8636, i16 9041, i16 9308, i16 9553, i16 9929, i16 10091, i16 10142, i16 10443, i16 10652, i16 10973, i16 11612, i16 11958, i16 12211, i16 12648, i16 12754, i16 12977, i16 13329, i16 14943, i16 15219, i16 15857, i16 16078, i16 16412, i16 16645, i16 17033, i16 17275, i16 17371, i16 17831, i16 18070, i16 18257, i16 18747, i16 19073, i16 19188, i16 19339, i16 19491, i16 19686, i16 19800, i16 20032, i16 20225, i16 20445, i16 21295, i16 21716, i16 21825, i16 22088, i16 22731, i16 23166, i16 23675, i16 24037, i16 25029, i16 25195, i16 25381, i16 25504, i16 26202, i16 26402, i16 26540, i16 27220, i16 27452, i16 27828, i16 27874, i16 17, i16 285, i16 503, i16 852, i16 1113, i16 890, i16 1182, i16 1993, i16 2228, i16 2364, i16 2622, i16 3030, i16 3273, i16 3649, i16 4413, i16 4651, i16 4791, i16 4818, i16 5035, i16 5259, i16 5457, i16 5678, i16 5896, i16 6056, i16 6316, i16 6942, i16 7133, i16 7318, i16 7589, i16 7854, i16 8238, i16 8640, i16 8765, i16 8827, i16 9046, i16 9314, i16 9557, i16 9933, i16 10147, i16 10446, i16 10656, i16 10984, i16 11616, i16 11962, i16 12218, i16 12652, i16 12758, i16 13129, i16 13333, i16 14947, i16 15229, i16 15861, i16 16082, i16 16416, i16 16648, i16 17036, i16 17279, i16 17374, i16 17663, i16 17835, i16 18077, i16 18267, i16 18669, i16 18751, i16 18988, i16 19076, i16 19192, i16 19343, i16 19437, i16 19495, i16 19804, i16 20035, i16 20229, i16 20449, i16 20674, i16 21300, i16 21638, i16 16919, i16 21720, i16 21796, i16 21830, i16 22735, i16 23176, i16 23678, i16 24042, i16 24707, i16 25033, i16 25199, i16 25387, i16 25513, i16 26209, i16 26406, i16 26546, i16 26944, i16 27225, i16 27460, i16 27832, i16 27884, i16 21, i16 288, i16 513, i16 854, i16 1116, i16 897, i16 1195, i16 1997, i16 2233, i16 2368, i16 2629, i16 3033, i16 3278, i16 3674, i16 4417, i16 4655, i16 4821, i16 5038, i16 5263, i16 5461, i16 5682, i16 5900, i16 6060, i16 6323, i16 6948, i16 7137, i16 7320, i16 7593, i16 7858, i16 8241, i16 8644, i16 8770, i16 9051, i16 9562, i16 9937, i16 10152, i16 10449, i16 10660, i16 10998, i16 11619, i16 11966, i16 12225, i16 12656, i16 12762, i16 12982, i16 13337, i16 14951, i16 15239, i16 15865, i16 16086, i16 16651, i16 17039, i16 17378, i16 17839, i16 18084, i16 18280, i16 18755, i16 18993, i16 19079, i16 19196, i16 19499, i16 19691, i16 19808, i16 20038, i16 20233, i16 20453, i16 20681, i16 21305, i16 21641, i16 21724, i16 21835, i16 22735, i16 23189, i16 23682, i16 24050, i16 24717, i16 25037, i16 25203, i16 25522, i16 7946, i16 26410, i16 26552, i16 26948, i16 27231, i16 27470, i16 27836, i16 27894, i16 25, i16 291, i16 523, i16 856, i16 1119, i16 1448, i16 1454, i16 2001, i16 2372, i16 2636, i16 3036, i16 3283, i16 3690, i16 4421, i16 4659, i16 4824, i16 273, i16 5465, i16 5686, i16 5863, i16 5904, i16 6064, i16 6330, i16 6952, i16 7141, i16 7286, i16 7322, i16 7597, i16 7862, i16 8244, i16 8648, i16 8831, i16 9057, i16 9567, i16 9941, i16 10096, i16 10156, i16 10452, i16 10664, i16 11015, i16 11621, i16 11970, i16 12232, i16 12660, i16 12766, i16 13341, i16 14955, i16 15249, i16 15869, i16 16090, i16 16654, i16 16919, i16 17042, i16 17283, i16 17381, i16 17668, i16 17843, i16 18091, i16 18296, i16 18759, i16 19082, i16 19200, i16 19503, i16 20041, i16 20181, i16 20237, i16 20457, i16 20688, i16 21052, i16 21310, i16 21840, i16 22155, i16 22259, i16 22398, i16 22619, i16 22690, i16 22727, i16 23205, i16 23685, i16 24055, i16 24727, i16 25207, i16 25529, i16 26222, i16 26413, i16 26558, i16 26952, i16 10488, i16 10728, i16 27840, i16 27904, i16 29, i16 294, i16 463, i16 858, i16 1122, i16 2005, i16 2238, i16 2376, i16 2643, i16 3039, i16 3288, i16 3700, i16 4397, i16 4663, i16 4827, i16 5041, i16 5267, i16 5441, i16 5690, i16 5868, i16 5908, i16 6068, i16 6337, i16 6956, i16 7145, i16 7324, i16 7502, i16 7601, i16 7866, i16 8247, i16 8652, i16 8835, i16 9062, i16 9320, i16 9572, i16 9820, i16 9945, i16 10160, i16 10455, i16 10668, i16 11026, i16 11625, i16 11815, i16 11974, i16 12239, i16 12664, i16 12770, i16 13133, i16 13345, i16 14959, i16 15259, i16 15873, i16 16094, i16 16420, i16 16657, i16 17045, i16 17287, i16 17384, i16 17672, i16 17847, i16 18098, i16 18306, i16 18673, i16 18763, i16 18998, i16 19085, i16 19205, i16 19347, i16 19507, i16 20044, i16 20185, i16 20241, i16 20461, i16 20695, i16 21315, i16 21644, i16 21695, i16 21728, i16 21845, i16 22263, i16 22405, i16 22623, i16 22695, i16 22739, i16 23215, i16 23688, i16 24060, i16 24674, i16 25041, i16 25211, i16 25536, i16 25645, i16 25851, i16 26175, i16 26417, i16 26564, i16 26956, i16 27140, i16 27238, i16 27482, i16 27844, i16 28220, i16 36, i16 301, i16 473, i16 864, i16 1133, i16 1792, i16 1878, i16 2016, i16 2251, i16 2384, i16 2658, i16 3046, i16 3301, i16 3719, i16 4401, i16 4672, i16 4836, i16 5048, i16 5275, i16 5469, i16 5697, i16 5916, i16 6076, i16 6352, i16 6965, i16 7153, i16 7333, i16 7513, i16 7609, i16 7882, i16 8257, i16 8663, i16 8775, i16 8844, i16 9075, i16 9334, i16 9584, i16 9953, i16 10169, i16 10461, i16 10679, i16 11046, i16 11634, i16 11825, i16 11981, i16 12252, i16 12671, i16 12781, i16 12987, i16 13142, i16 13271, i16 13355, i16 14965, i16 15275, i16 15880, i16 16104, i16 16427, i16 16669, i16 17055, i16 17391, i16 17854, i16 18325, i16 18678, i16 18771, i16 19092, i16 19213, i16 19312, i16 19355, i16 19517, i16 19696, i16 19812, i16 19936, i16 20053, i16 20253, i16 20473, i16 20718, i16 21327, i16 21651, i16 21736, i16 21853, i16 22094, i16 22159, i16 22270, i16 22417, i16 22630, i16 22703, i16 22758, i16 23237, i16 23696, i16 24082, i16 24687, i16 25048, i16 25217, i16 25551, i16 25652, i16 25864, i16 26186, i16 26427, i16 26579, i16 26964, i16 27245, i16 27495, i16 27854, i16 28227, i16 43, i16 309, i16 480, i16 872, i16 1148, i16 2028, i16 2264, i16 2395, i16 2679, i16 3057, i16 3322, i16 3738, i16 4425, i16 4684, i16 4844, i16 5056, i16 5285, i16 5474, i16 5704, i16 5923, i16 6084, i16 6367, i16 6971, i16 7159, i16 7343, i16 7524, i16 7620, i16 7895, i16 8267, i16 8673, i16 8786, i16 8850, i16 9084, i16 9344, i16 9592, i16 9833, i16 9958, i16 10177, i16 10465, i16 10686, i16 11066, i16 11640, i16 11992, i16 12273, i16 12677, i16 12791, i16 12998, i16 13149, i16 13279, i16 13365, i16 14974, i16 15300, i16 15895, i16 16114, i16 16434, i16 16681, i16 17065, i16 17396, i16 17680, i16 17865, i16 18344, i16 18780, i16 19100, i16 19221, i16 19362, i16 19530, i16 19820, i16 19922, i16 19944, i16 20015, i16 20058, i16 20195, i16 20265, i16 20485, i16 20741, i16 21338, i16 21660, i16 21747, i16 21861, i16 22104, i16 22170, i16 22280, i16 22436, i16 22637, i16 22780, i16 23259, i16 23703, i16 24101, i16 24697, i16 25227, i16 25392, i16 25566, i16 25662, i16 25883, i16 26193, i16 26436, i16 26591, i16 26970, i16 27149, i16 27253, i16 27510, i16 27864, i16 28234, i16 51, i16 317, i16 493, i16 881, i16 1165, i16 2039, i16 2276, i16 2403, i16 2694, i16 3065, i16 3337, i16 3760, i16 4432, i16 4691, i16 4852, i16 5062, i16 5293, i16 5481, i16 5712, i16 5932, i16 6090, i16 6378, i16 6977, i16 7166, i16 7291, i16 7353, i16 7535, i16 7630, i16 7911, i16 8275, i16 8682, i16 8856, i16 9093, i16 9355, i16 9600, i16 9965, i16 10101, i16 10185, i16 10471, i16 10697, i16 11089, i16 11645, i16 12002, i16 12292, i16 12684, i16 12803, i16 13012, i16 13157, i16 13288, i16 13375, i16 14984, i16 15328, i16 15909, i16 16124, i16 16443, i16 16693, i16 16923, i16 17074, i16 17298, i16 17402, i16 17873, i16 18111, i16 18344, i16 18790, i16 19007, i16 19108, i16 19229, i16 19537, i16 19710, i16 19826, i16 19950, i16 20064, i16 20273, i16 20493, i16 20756, i16 21351, i16 21667, i16 21753, i16 21870, i16 22114, i16 22805, i16 23284, i16 23710, i16 24120, i16 25054, i16 25232, i16 25398, i16 25581, i16 25671, i16 25900, i16 26202, i16 26445, i16 26602, i16 26976, i16 27261, i16 27525, i16 27874, i16 28241, i16 61, i16 326, i16 503, i16 890, i16 1182, i16 2050, i16 2292, i16 2410, i16 2707, i16 3071, i16 3348, i16 3779, i16 4441, i16 4699, i16 4796, i16 4861, i16 5069, i16 5301, i16 5457, i16 5719, i16 5941, i16 6098, i16 6393, i16 6986, i16 7176, i16 7363, i16 7546, i16 7641, i16 7928, i16 8287, i16 8692, i16 8796, i16 8865, i16 9105, i16 9369, i16 9610, i16 9974, i16 10193, i16 10477, i16 10708, i16 11109, i16 11652, i16 11833, i16 12013, i16 12313, i16 12689, i16 12816, i16 13167, i16 13299, i16 13385, i16 14994, i16 15356, i16 15925, i16 16134, i16 16453, i16 16706, i16 17084, i16 17410, i16 17687, i16 17879, i16 18122, i16 18366, i16 18684, i16 18799, i16 19017, i16 19117, i16 19237, i16 19369, i16 19442, i16 19543, i16 19833, i16 19957, i16 20073, i16 20279, i16 20499, i16 20767, i16 21363, i16 21674, i16 21703, i16 21759, i16 21801, i16 21881, i16 22177, i16 22245, i16 22287, i16 22449, i16 22821, i16 23306, i16 23714, i16 24130, i16 24707, i16 25065, i16 25241, i16 25409, i16 25600, i16 25678, i16 25913, i16 26209, i16 26456, i16 26614, i16 26984, i16 27269, i16 27540, i16 27884, i16 28248, i16 70, i16 336, i16 513, i16 897, i16 1195, i16 1800, i16 1893, i16 2063, i16 2309, i16 2417, i16 2720, i16 3081, i16 3367, i16 3813, i16 4446, i16 4708, i16 4868, i16 5077, i16 5310, i16 5489, i16 5727, i16 5952, i16 6105, i16 6406, i16 6994, i16 7183, i16 7373, i16 7650, i16 7946, i16 8295, i16 8701, i16 8806, i16 8871, i16 9115, i16 9380, i16 9620, i16 9980, i16 10201, i16 10483, i16 10719, i16 11132, i16 11662, i16 11846, i16 12023, i16 12332, i16 12695, i16 12828, i16 13026, i16 13175, i16 13308, i16 13395, i16 15004, i16 15384, i16 15940, i16 16144, i16 16460, i16 16721, i16 17096, i16 17416, i16 17888, i16 18139, i16 18388, i16 18691, i16 18808, i16 19027, i16 19127, i16 19246, i16 19552, i16 19717, i16 19840, i16 19964, i16 20077, i16 20287, i16 20507, i16 20782, i16 21373, i16 21682, i16 21767, i16 21890, i16 22186, i16 22296, i16 22466, i16 22843, i16 23331, i16 23723, i16 24155, i16 24717, i16 25073, i16 25250, i16 25619, i16 25685, i16 25926, i16 26466, i16 26627, i16 26990, i16 27280, i16 27561, i16 27894, i16 28255, i16 77, i16 343, i16 523, i16 904, i16 1208, i16 1448, i16 1454, i16 2075, i16 2323, i16 2425, i16 2735, i16 3087, i16 3378, i16 3838, i16 4453, i16 4714, i16 4878, i16 5083, i16 5496, i16 5734, i16 5876, i16 5960, i16 6115, i16 6425, i16 7003, i16 7191, i16 7302, i16 7379, i16 7557, i16 7659, i16 7955, i16 8305, i16 8714, i16 8880, i16 9125, i16 9391, i16 9629, i16 9987, i16 10111, i16 10210, i16 10488, i16 10728, i16 11158, i16 11669, i16 12030, i16 12345, i16 12701, i16 12839, i16 13405, i16 15014, i16 15412, i16 15956, i16 16154, i16 16470, i16 16734, i16 16937, i16 17107, i16 17424, i16 17694, i16 17894, i16 18150, i16 18413, i16 18818, i16 19135, i16 19254, i16 19376, i16 19559, i16 20084, i16 20202, i16 20295, i16 20515, i16 20797, i16 21383, i16 21900, i16 22127, i16 22192, i16 22302, i16 22477, i16 22644, i16 22711, i16 22862, i16 23359, i16 23729, i16 24171, i16 24727, i16 25082, i16 25255, i16 25630, i16 25694, i16 26222, i16 26471, i16 26640, i16 26997, i16 27904, i16 28262, i16 86, i16 533, i16 911, i16 1220, i16 1532, i16 1624, i16 2087, i16 2432, i16 2748, i16 3094, i16 3391, i16 3857, i16 4013, i16 4460, i16 4887, i16 5090, i16 5503, i16 5741, i16 5968, i16 6016, i16 6123, i16 6440, i16 7198, i16 7387, i16 7669, i16 7964, i16 8314, i16 8518, i16 9137, i16 9641, i16 9994, i16 10217, i16 10492, i16 10735, i16 11178, i16 11432, i16 12036, i16 12356, i16 13415, i16 15021, i16 15431, i16 16164, i16 16480, i16 16746, i16 17432, i16 17901, i16 18163, i16 18432, i16 19566, i16 20092, i16 20303, i16 20523, i16 20812, i16 21394, i16 22872, i16 23381, i16 23735, i16 24187, i16 24737, i16 25089, i16 25265, i16 25701, i16 25942, i16 26231, i16 26478, i16 26654, i16 27003, i16 27289, i16 27578, i16 13487, i16 27914, i16 90, i16 543, i16 915, i16 1227, i16 1545, i16 1648, i16 2091, i16 2436, i16 2755, i16 3098, i16 3398, i16 3867, i16 4038, i16 4465, i16 4891, i16 5094, i16 5317, i16 5507, i16 6127, i16 6447, i16 7393, i16 7673, i16 7971, i16 8321, i16 8526, i16 8887, i16 8974, i16 9141, i16 9645, i16 10224, i16 10496, i16 10742, i16 11194, i16 11436, i16 12040, i16 12363, i16 12707, i16 13421, i16 15025, i16 15441, i16 16170, i16 16484, i16 16750, i16 17437, i16 17905, i16 18457, i16 18826, i16 19570, i16 20307, i16 20527, i16 20819, i16 21401, i16 21910, i16 22309, i16 22490, i16 22888, i16 23397, i16 23740, i16 24196, i16 24744, i16 25269, i16 25419, i16 25705, i16 26242, i16 26660, i16 27007, i16 27295, i16 27588, i16 13492, i16 27921, i16 94, i16 553, i16 919, i16 1234, i16 1550, i16 1657, i16 2440, i16 2762, i16 3102, i16 3405, i16 3877, i16 4069, i16 4470, i16 4895, i16 5098, i16 5322, i16 5449, i16 5972, i16 6021, i16 6131, i16 6454, i16 7399, i16 7566, i16 8328, i16 9147, i16 9404, i16 9649, i16 9842, i16 10232, i16 10500, i16 10749, i16 11213, i16 11440, i16 11574, i16 11677, i16 11854, i16 12044, i16 12370, i16 13427, i16 15029, i16 15451, i16 16176, i16 5453, i16 16754, i16 17441, i16 17909, i16 18698, i16 19144, i16 20311, i16 20531, i16 20826, i16 21406, i16 22913, i16 23422, i16 23745, i16 24205, i16 24754, i16 25709, i16 25949, i16 26253, i16 26666, i16 27011, i16 27156, i16 27301, i16 27598, i16 13497, i16 27928, i16 98, i16 563, i16 923, i16 1241, i16 1555, i16 1666, i16 2444, i16 2769, i16 3106, i16 3412, i16 3887, i16 4085, i16 4475, i16 4899, i16 5102, i16 5511, i16 5745, i16 6135, i16 6461, i16 7405, i16 7677, i16 7978, i16 8335, i16 8534, i16 8891, i16 9153, i16 9653, i16 9998, i16 10239, i16 10504, i16 10756, i16 11229, i16 11444, i16 11681, i16 11859, i16 12048, i16 12377, i16 13433, i16 15033, i16 15461, i16 16182, i16 16758, i16 17445, i16 17913, i16 18482, i16 19574, i16 20315, i16 20535, i16 20833, i16 21411, i16 21914, i16 22932, i16 23441, i16 23751, i16 24217, i16 24764, i16 25273, i16 25713, i16 25956, i16 26262, i16 26672, i16 27307, i16 27608, i16 13502, i16 27935, i16 102, i16 352, i16 573, i16 927, i16 1248, i16 1561, i16 1677, i16 2448, i16 2776, i16 3110, i16 3419, i16 3900, i16 4480, i16 4721, i16 4903, i16 5106, i16 5327, i16 5515, i16 5749, i16 6139, i16 6468, i16 2144, i16 7411, i16 7985, i16 8342, i16 8542, i16 9157, i16 9657, i16 9847, i16 10246, i16 10508, i16 10763, i16 11248, i16 11448, i16 11685, i16 11864, i16 12052, i16 12384, i16 12851, i16 13038, i16 13183, i16 13439, i16 15037, i16 15471, i16 16188, i16 16489, i16 16762, i16 17449, i16 17917, i16 18170, i16 18501, i16 18830, i16 19148, i16 20319, i16 20539, i16 20840, i16 21417, i16 22951, i16 23463, i16 23757, i16 24229, i16 24774, i16 25717, i16 26273, i16 26678, i16 27314, i16 27620, i16 13507, i16 27942, i16 106, i16 580, i16 931, i16 1255, i16 1566, i16 1686, i16 2095, i16 2338, i16 2452, i16 2783, i16 3114, i16 3426, i16 3907, i16 4485, i16 4907, i16 5110, i16 5332, i16 5519, i16 6143, i16 6475, i16 7417, i16 7681, i16 7992, i16 8349, i16 8550, i16 9162, i16 9661, i16 10002, i16 10119, i16 10254, i16 10512, i16 10770, i16 11255, i16 11452, i16 11689, i16 11869, i16 12056, i16 12391, i16 12855, i16 13043, i16 13187, i16 13445, i16 15041, i16 15481, i16 16194, i16 16492, i16 16766, i16 17117, i16 17309, i16 17454, i16 17921, i16 18177, i16 18834, i16 19039, i16 19578, i16 20096, i16 20323, i16 20543, i16 20847, i16 21422, i16 21918, i16 22958, i16 23470, i16 23762, i16 24238, i16 24784, i16 25093, i16 25277, i16 25721, i16 25963, i16 26280, i16 26482, i16 26684, i16 27015, i16 27318, i16 27627, i16 13512, i16 27949, i16 110, i16 587, i16 935, i16 1262, i16 1573, i16 1699, i16 2099, i16 2343, i16 2456, i16 2790, i16 3118, i16 3433, i16 3917, i16 4104, i16 4490, i16 4911, i16 5114, i16 5337, i16 5523, i16 6148, i16 6484, i16 7423, i16 7685, i16 7999, i16 8356, i16 8560, i16 8895, i16 9168, i16 9411, i16 9665, i16 10006, i16 10263, i16 10516, i16 10777, i16 11265, i16 11456, i16 11693, i16 11874, i16 12060, i16 12398, i16 12859, i16 13048, i16 13191, i16 13451, i16 15045, i16 15491, i16 16200, i16 16770, i16 17121, i16 17314, i16 17459, i16 17703, i16 17925, i16 18184, i16 18508, i16 18838, i16 19582, i16 20100, i16 20327, i16 20547, i16 20854, i16 21427, i16 21922, i16 22971, i16 23483, i16 23768, i16 24250, i16 24791, i16 25097, i16 25281, i16 25725, i16 25970, i16 26287, i16 26486, i16 26690, i16 27019, i16 27323, i16 27635, i16 13517, i16 27956, i16 114, i16 597, i16 939, i16 1269, i16 1578, i16 1708, i16 2103, i16 2460, i16 2797, i16 3122, i16 3440, i16 3927, i16 4120, i16 4495, i16 4915, i16 5118, i16 5527, i16 5753, i16 6153, i16 6493, i16 7010, i16 7429, i16 7689, i16 8006, i16 8363, i16 8569, i16 8899, i16 8979, i16 9173, i16 9417, i16 9669, i16 9852, i16 10010, i16 10272, i16 10520, i16 10784, i16 11281, i16 11460, i16 12064, i16 12405, i16 12711, i16 12863, i16 13053, i16 13457, i16 15049, i16 15501, i16 16206, i16 16496, i16 16774, i16 4584, i16 17929, i16 18521, i16 18702, i16 18842, i16 19384, i16 19450, i16 19586, i16 20331, i16 20551, i16 20861, i16 21432, i16 21773, i16 21926, i16 22984, i16 23496, i16 23773, i16 24259, i16 24801, i16 25285, i16 25424, i16 25729, i16 25977, i16 26298, i16 26490, i16 26696, i16 27023, i16 27328, i16 27643, i16 13522, i16 27963, i16 118, i16 607, i16 943, i16 1276, i16 1581, i16 1713, i16 2107, i16 2464, i16 2804, i16 3126, i16 3447, i16 3934, i16 4316, i16 4500, i16 4919, i16 5122, i16 5342, i16 5531, i16 5757, i16 6157, i16 6500, i16 7435, i16 7693, i16 8013, i16 8370, i16 8579, i16 9177, i16 9422, i16 5441, i16 10014, i16 10282, i16 10524, i16 10791, i16 11297, i16 11464, i16 11612, i16 12068, i16 12412, i16 13463, i16 15053, i16 15511, i16 16212, i16 16500, i16 16778, i16 17466, i16 17933, i16 18537, i16 19590, i16 20335, i16 20555, i16 20868, i16 21437, i16 21930, i16 23003, i16 23515, i16 23778, i16 24268, i16 24811, i16 25289, i16 25733, i16 25984, i16 26307, i16 26702, i16 27333, i16 27651, i16 13527, i16 27970, i16 122, i16 356, i16 617, i16 947, i16 1283, i16 1587, i16 1724, i16 2468, i16 2811, i16 3130, i16 3454, i16 3944, i16 4505, i16 4923, i16 5126, i16 5348, i16 5535, i16 5761, i16 6161, i16 6507, i16 7441, i16 7697, i16 8020, i16 8377, i16 8588, i16 9183, i16 9429, i16 9673, i16 10018, i16 10291, i16 10528, i16 10798, i16 11319, i16 11468, i16 12072, i16 12419, i16 13195, i16 13469, i16 15057, i16 15521, i16 16218, i16 16504, i16 16782, i16 17471, i16 17937, i16 18565, i16 18846, i16 19594, i16 19725, i16 20339, i16 20559, i16 20875, i16 21444, i16 21934, i16 23034, i16 23546, i16 23783, i16 24277, i16 24821, i16 25293, i16 25737, i16 25991, i16 26318, i16 26708, i16 27339, i16 27661, i16 27977, i16 126, i16 627, i16 951, i16 1290, i16 1599, i16 1746, i16 2111, i16 2472, i16 2818, i16 3134, i16 3461, i16 3966, i16 4510, i16 4927, i16 5130, i16 5539, i16 6165, i16 6514, i16 7447, i16 7701, i16 8027, i16 8384, i16 9189, i16 5904, i16 10300, i16 10532, i16 10805, i16 11341, i16 11472, i16 12076, i16 12426, i16 12867, i16 13059, i16 13475, i16 15061, i16 15531, i16 16224, i16 4589, i16 16786, i16 17478, i16 17941, i16 18587, i16 20343, i16 20563, i16 20882, i16 21449, i16 21938, i16 22138, i16 22313, i16 22497, i16 23059, i16 23571, i16 23788, i16 24286, i16 24831, i16 25101, i16 25297, i16 25741, i16 25998, i16 26331, i16 26715, i16 27027, i16 27161, i16 27345, i16 27671, i16 27984, i16 130, i16 360, i16 637, i16 955, i16 1297, i16 1612, i16 1770, i16 2115, i16 2476, i16 2825, i16 3138, i16 3468, i16 3988, i16 4515, i16 4931, i16 5134, i16 5544, i16 5765, i16 5976, i16 6169, i16 6521, i16 7202, i16 7453, i16 7705, i16 8034, i16 8391, i16 8597, i16 8903, i16 8984, i16 9194, i16 9677, i16 9857, i16 10309, i16 10536, i16 10812, i16 11360, i16 11476, i16 12080, i16 12433, i16 13481, i16 15065, i16 15541, i16 16230, i16 16508, i16 16790, i16 17485, i16 17945, i16 18615, i16 18707, i16 18850, i16 19044, i16 19598, i16 20347, i16 20567, i16 20889, i16 21455, i16 21942, i16 22317, i16 22504, i16 23081, i16 23590, i16 23793, i16 24295, i16 24841, i16 25301, i16 25745, i16 26005, i16 26342, i16 26722, i16 27351, i16 27681, i16 27994, i16 134, i16 364, i16 647, i16 959, i16 1304, i16 1532, i16 1624, i16 2119, i16 2480, i16 2832, i16 3142, i16 3475, i16 4013, i16 4520, i16 4725, i16 4935, i16 5138, i16 5548, i16 5769, i16 5980, i16 6026, i16 6173, i16 6528, i16 7015, i16 7206, i16 7459, i16 7709, i16 8041, i16 8398, i16 8907, i16 9199, i16 9436, i16 9681, i16 10022, i16 10319, i16 10540, i16 10819, i16 11178, i16 11480, i16 11579, i16 11697, i16 11879, i16 12084, i16 12440, i16 12715, i16 12871, i16 13064, i16 13199, i16 13487, i16 15069, i16 15551, i16 15971, i16 16236, i16 16512, i16 16794, i16 17125, i16 17319, i16 17490, i16 17711, i16 17949, i16 18191, i16 18432, i16 18854, i16 19388, i16 19455, i16 19602, i16 19730, i16 19846, i16 19970, i16 20104, i16 20351, i16 20571, i16 20896, i16 21056, i16 21139, i16 21460, i16 21946, i16 22321, i16 22511, i16 22872, i16 23381, i16 23798, i16 24304, i16 24737, i16 25105, i16 25305, i16 25749, i16 26012, i16 26231, i16 26729, i16 27031, i16 27166, i16 27356, i16 27689, i16 27914, i16 142, i16 373, i16 663, i16 965, i16 1315, i16 1545, i16 1648, i16 2126, i16 2489, i16 2849, i16 3149, i16 3488, i16 4038, i16 4527, i16 4732, i16 4941, i16 5144, i16 5354, i16 5555, i16 5776, i16 5987, i16 6184, i16 6549, i16 7023, i16 7212, i16 7467, i16 7719, i16 8054, i16 8407, i16 8915, i16 8989, i16 9206, i16 9695, i16 10030, i16 10333, i16 10546, i16 10830, i16 11194, i16 11489, i16 11589, i16 11704, i16 11887, i16 12093, i16 12457, i16 12723, i16 12878, i16 13072, i16 13207, i16 13492, i16 15077, i16 15573, i16 15979, i16 16243, i16 16523, i16 16801, i16 17134, i16 17329, i16 17501, i16 17957, i16 18457, i16 18711, i16 18861, i16 19395, i16 19463, i16 19610, i16 19854, i16 19978, i16 20358, i16 20578, i16 20909, i16 21063, i16 21152, i16 21476, i16 21952, i16 22328, i16 22524, i16 22888, i16 23397, i16 23805, i16 24323, i16 24851, i16 25111, i16 25310, i16 25429, i16 25756, i16 26025, i16 26242, i16 26743, i16 27038, i16 27174, i16 27365, i16 27706, i16 27921, i16 151, i16 383, i16 553, i16 972, i16 1328, i16 1550, i16 1657, i16 2133, i16 2494, i16 2858, i16 3158, i16 3505, i16 4069, i16 4537, i16 4740, i16 4948, i16 5017, i16 5149, i16 5360, i16 5474, i16 5784, i16 5993, i16 6034, i16 6196, i16 6572, i16 7032, i16 7220, i16 7399, i16 7566, i16 7727, i16 8416, i16 8726, i16 9147, i16 9404, i16 9706, i16 9862, i16 10039, i16 10232, i16 10500, i16 10749, i16 11213, i16 11497, i16 11598, i16 11712, i16 11896, i16 12102, i16 12474, i16 12732, i16 12886, i16 13497, i16 15087, i16 15601, i16 15988, i16 16250, i16 16535, i16 16809, i16 17513, i16 17723, i16 17966, i16 18698, i16 18866, i16 19152, i16 19615, i16 19864, i16 19929, i16 19988, i16 20022, i16 20113, i16 20366, i16 20586, i16 20924, i16 21071, i16 21167, i16 21488, i16 21689, i16 22913, i16 23422, i16 23816, i16 24354, i16 24864, i16 25119, i16 25762, i16 26036, i16 26253, i16 26754, i16 27044, i16 27181, i16 27375, i16 27725, i16 27928, i16 157, i16 679, i16 977, i16 1337, i16 1555, i16 1666, i16 1808, i16 1908, i16 2138, i16 2502, i16 2873, i16 3163, i16 3514, i16 4085, i16 4544, i16 4953, i16 5156, i16 5564, i16 5790, i16 6204, i16 6587, i16 7038, i16 7476, i16 7735, i16 8065, i16 8426, i16 8731, i16 8820, i16 8923, i16 9214, i16 9444, i16 9714, i16 10045, i16 10349, i16 10553, i16 10843, i16 11229, i16 11504, i16 11720, i16 11905, i16 12108, i16 12485, i16 12891, i16 13081, i16 13216, i16 13502, i16 15093, i16 15617, i16 15995, i16 16257, i16 16545, i16 16814, i16 16951, i16 17144, i16 17340, i16 17528, i16 17739, i16 17971, i16 18482, i16 19403, i16 19622, i16 19739, i16 20120, i16 20372, i16 20592, i16 20935, i16 21076, i16 21176, i16 21501, i16 21959, i16 22932, i16 23441, i16 23823, i16 24373, i16 24877, i16 25316, i16 25771, i16 26053, i16 26262, i16 26764, i16 27049, i16 27381, i16 27736, i16 27935, i16 102, i16 352, i16 573, i16 983, i16 1348, i16 1561, i16 1677, i16 1815, i16 1921, i16 1943, i16 1955, i16 2144, i16 2511, i16 2890, i16 3110, i16 3419, i16 3900, i16 4550, i16 4721, i16 4959, i16 5162, i16 5368, i16 5515, i16 5749, i16 6213, i16 6604, i16 7045, i16 7226, i16 4903, i16 7743, i16 8076, i16 8435, i16 9222, i16 9453, i16 9725, i16 9871, i16 10051, i16 10246, i16 10508, i16 10763, i16 11248, i16 11512, i16 11728, i16 11914, i16 12115, i16 12498, i16 12851, i16 13038, i16 13223, i16 13507, i16 15100, i16 15636, i16 16002, i16 16264, i16 16555, i16 16824, i16 16962, i16 17152, i16 17542, i16 17917, i16 18170, i16 18501, i16 18872, i16 19148, i16 19870, i16 20379, i16 20599, i16 20948, i16 20319, i16 20840, i16 21513, i16 11685, i16 11864, i16 22951, i16 23463, i16 23830, i16 24392, i16 24890, i16 25125, i16 25322, i16 25436, i16 25779, i16 26273, i16 26775, i16 27314, i16 27620, i16 27942, i16 163, i16 389, i16 580, i16 988, i16 1357, i16 1566, i16 1686, i16 1950, i16 1968, i16 2148, i16 2519, i16 2905, i16 3114, i16 3426, i16 3907, i16 4554, i16 4745, i16 4964, i16 5169, i16 5376, i16 5571, i16 5796, i16 6219, i16 6615, i16 7050, i16 7231, i16 7417, i16 7751, i16 8081, i16 8444, i16 8605, i16 8929, i16 9162, i16 9735, i16 9882, i16 10056, i16 10124, i16 10356, i16 10559, i16 10854, i16 11255, i16 11520, i16 11734, i16 11921, i16 12122, i16 12511, i16 12897, i16 13088, i16 13230, i16 13512, i16 15106, i16 15652, i16 16271, i16 16562, i16 16832, i16 16972, i16 17158, i16 17349, i16 17550, i16 17977, i16 18206, i16 106, i16 18878, i16 19049, i16 19410, i16 19631, i16 19875, i16 19994, i16 20128, i16 20383, i16 20603, i16 20955, i16 21083, i16 21189, i16 21525, i16 11689, i16 11869, i16 21777, i16 21965, i16 17921, i16 18177, i16 22958, i16 23470, i16 23838, i16 24414, i16 24784, i16 25130, i16 25328, i16 25787, i16 26068, i16 26280, i16 26787, i16 27054, i16 27949, i16 168, i16 395, i16 587, i16 994, i16 1368, i16 1573, i16 1699, i16 1820, i16 1930, i16 2153, i16 2527, i16 2920, i16 3118, i16 3433, i16 4104, i16 4563, i16 4750, i16 4969, i16 5176, i16 5384, i16 5579, i16 5801, i16 6227, i16 6630, i16 7056, i16 7237, i16 7423, i16 7758, i16 8090, i16 8452, i16 8614, i16 8934, i16 9168, i16 9411, i16 9746, i16 10061, i16 10368, i16 10564, i16 10863, i16 11265, i16 11527, i16 11741, i16 11929, i16 12130, i16 12526, i16 12902, i16 13095, i16 13237, i16 13517, i16 15113, i16 15671, i16 16278, i16 16571, i16 16841, i16 17165, i16 17357, i16 17557, i16 17755, i16 17982, i16 18215, i16 18508, i16 18720, i16 18884, i16 19415, i16 19640, i16 19881, i16 20000, i16 20134, i16 20388, i16 20608, i16 20964, i16 21088, i16 21198, i16 21537, i16 11693, i16 11874, i16 21783, i16 21973, i16 17925, i16 18184, i16 22971, i16 23483, i16 23847, i16 24439, i16 24791, i16 25136, i16 25336, i16 25795, i16 26083, i16 26287, i16 26799, i16 27059, i16 27956, i16 173, i16 401, i16 692, i16 1000, i16 1379, i16 1578, i16 1708, i16 2158, i16 2534, i16 2933, i16 3169, i16 3525, i16 4120, i16 4570, i16 4976, i16 5185, i16 5590, i16 5806, i16 6235, i16 6645, i16 7062, i16 7243, i16 7766, i16 8006, i16 8461, i16 8942, i16 8998, i16 9238, i16 9470, i16 9758, i16 9894, i16 10067, i16 10272, i16 10569, i16 10872, i16 11281, i16 11534, i16 11748, i16 12138, i16 12541, i16 12738, i16 12907, i16 13102, i16 13522, i16 15120, i16 15690, i16 16007, i16 16285, i16 16585, i16 16848, i16 16982, i16 17172, i16 17568, i16 17767, i16 17987, i16 18521, i16 18702, i16 18890, i16 19158, i16 19422, i16 19472, i16 19647, i16 19749, i16 20393, i16 20613, i16 20973, i16 21093, i16 21207, i16 21550, i16 21789, i16 21980, i16 22651, i16 22984, i16 23496, i16 23855, i16 24461, i16 24801, i16 25343, i16 25443, i16 25802, i16 26096, i16 26298, i16 26812, i16 27067, i16 27389, i16 27751, i16 27963, i16 180, i16 705, i16 1006, i16 1390, i16 1581, i16 1713, i16 2165, i16 2542, i16 2948, i16 3176, i16 3538, i16 4136, i16 4316, i16 4575, i16 4755, i16 4982, i16 5191, i16 5394, i16 5595, i16 5813, i16 6245, i16 6664, i16 7071, i16 7250, i16 7774, i16 8101, i16 8468, i16 8947, i16 9245, i16 9478, i16 9770, i16 10074, i16 10382, i16 10576, i16 10885, i16 11297, i16 11542, i16 11758, i16 12147, i16 12558, i16 13244, i16 13527, i16 15128, i16 15712, i16 16017, i16 16292, i16 16593, i16 16858, i16 16994, i16 17180, i16 17583, i16 17994, i16 18537, i16 18897, i16 19656, i16 19759, i16 19887, i16 20140, i16 20401, i16 20621, i16 20988, i16 21100, i16 21220, i16 21561, i16 21986, i16 22199, i16 22336, i16 22539, i16 23003, i16 23515, i16 23863, i16 24483, i16 24903, i16 25142, i16 25351, i16 25452, i16 25810, i16 26111, i16 26307, i16 26494, i16 26824, i16 27075, i16 27395, i16 27762, i16 27970, i16 190, i16 410, i16 724, i16 1013, i16 1403, i16 1587, i16 1724, i16 2174, i16 2551, i16 2965, i16 3186, i16 3557, i16 4170, i16 3944, i16 4584, i16 4765, i16 4991, i16 5196, i16 5402, i16 5600, i16 5823, i16 6257, i16 6687, i16 7081, i16 7483, i16 7781, i16 8116, i16 8476, i16 8957, i16 9258, i16 9493, i16 9783, i16 10083, i16 10394, i16 10583, i16 10898, i16 11319, i16 11548, i16 11769, i16 11937, i16 12158, i16 12579, i16 12913, i16 13110, i16 13254, i16 13469, i16 15139, i16 15743, i16 16028, i16 16299, i16 16606, i16 16866, i16 17191, i16 17590, i16 17784, i16 18004, i16 18565, i16 18907, i16 19665, i16 19769, i16 19896, i16 20151, i16 20410, i16 20630, i16 21005, i16 21109, i16 21237, i16 21574, i16 21994, i16 22209, i16 22346, i16 22558, i16 23034, i16 23546, i16 23871, i16 24505, i16 24919, i16 25154, i16 25357, i16 25819, i16 26128, i16 26318, i16 26837, i16 27083, i16 27187, i16 27406, i16 27783, i16 27977, i16 198, i16 743, i16 1020, i16 1416, i16 1599, i16 1746, i16 2182, i16 2562, i16 2986, i16 3195, i16 3574, i16 4195, i16 3966, i16 4589, i16 4773, i16 4999, i16 5202, i16 5607, i16 5831, i16 6267, i16 6706, i16 7089, i16 7261, i16 7787, i16 8127, i16 8484, i16 9275, i16 9511, i16 9794, i16 10408, i16 10591, i16 10913, i16 11341, i16 11557, i16 12169, i16 12600, i16 12921, i16 13119, i16 13475, i16 15149, i16 15771, i16 16037, i16 16306, i16 16616, i16 16873, i16 17003, i16 17200, i16 17606, i16 17801, i16 18013, i16 18587, i16 18915, i16 19904, i16 20161, i16 20418, i16 20638, i16 21020, i16 21117, i16 21252, i16 21587, i16 22000, i16 22143, i16 22217, i16 22354, i16 22573, i16 23059, i16 23571, i16 23878, i16 24524, i16 24831, i16 25162, i16 25362, i16 25459, i16 25827, i16 26143, i16 26331, i16 26853, i16 27090, i16 27195, i16 27416, i16 27802, i16 27984, i16 207, i16 418, i16 759, i16 1027, i16 1429, i16 1612, i16 1770, i16 2189, i16 2571, i16 3003, i16 3203, i16 3589, i16 4220, i16 3988, i16 4592, i16 4782, i16 5008, i16 5211, i16 5616, i16 5840, i16 5998, i16 6277, i16 6725, i16 7098, i16 7271, i16 7492, i16 7794, i16 8140, i16 8494, i16 8737, i16 8965, i16 9004, i16 9288, i16 9525, i16 9807, i16 9907, i16 10419, i16 10598, i16 10926, i16 11360, i16 11565, i16 12179, i16 12619, i16 13262, i16 13481, i16 15158, i16 15796, i16 16047, i16 16316, i16 16623, i16 16883, i16 17014, i16 17210, i16 17623, i16 18021, i16 18615, i16 18726, i16 18924, i16 19056, i16 19428, i16 19677, i16 19782, i16 19913, i16 20006, i16 20171, i16 20425, i16 20645, i16 21033, i16 21124, i16 21265, i16 21600, i16 22007, i16 22226, i16 22363, i16 22590, i16 23081, i16 23590, i16 23888, i16 24552, i16 24932, i16 25173, i16 25368, i16 25466, i16 25836, i16 26160, i16 26342, i16 26876, i16 27098, i16 27994, i16 216, i16 427, i16 775, i16 1034, i16 1442, i16 0, i16 4248, i16 4347, i16 4598, i16 8153, i16 11382, i16 12930, i16 13532, i16 16326, i16 18637, i16 22015, i16 23107, i16 23615, i16 24945, i16 25375, i16 25474, i16 28004, i16 219, i16 430, i16 785, i16 1036, i16 1445, i16 0, i16 4261, i16 4375, i16 4598, i16 8160, i16 11410, i16 12933, i16 13539, i16 16333, i16 18649, i16 22018, i16 23120, i16 23643, i16 24965, i16 25378, i16 25479, i16 26353, i16 28011, i16 222, i16 433, i16 798, i16 1038, i16 1465, i16 1827, i16 2196, i16 2579, i16 3212, i16 4277, i16 4600, i16 5220, i16 5410, i16 5624, i16 6746, i16 6764, i16 6779, i16 6847, i16 6890, i16 7107, i16 7802, i16 8167, i16 8503, i16 10604, i16 11777, i16 12936, i16 13546, i16 15168, i16 15824, i16 16340, i16 16892, i16 17220, i16 17631, i16 18030, i16 18934, i16 19263, i16 19321, i16 21612, i16 22021, i16 22372, i16 22659, i16 23896, i16 24985, i16 26356, i16 26502, i16 26896, i16 27106, i16 28018, i16 28088, i16 28166, i16 28269, i16 243, i16 451, i16 832, i16 1063, i16 1492, i16 1853, i16 2212, i16 3226, i16 4304, i16 5653, i16 5849, i16 6007, i16 6807, i16 6876, i16 6917, i16 6929, i16 7817, i16 8199, i16 8746, i16 9014, i16 12955, i16 13578, i16 16057, i16 16351, i16 16910, i16 17257, i16 18966, i16 19167, i16 19285, i16 22045, i16 22235, i16 23919, i16 28116, i16 28312, i16 252, i16 460, i16 841, i16 1073, i16 1504, i16 1867, i16 3235, i16 6821, i16 11806, i16 13594, i16 16369, i16 19295, i16 22054, i16 26920, i16 28053, i16 28135, i16 28201, i16 261, i16 0, i16 1086, i16 1517, i16 1867, i16 3244, i16 4623, i16 5246, i16 6833, i16 8208, i16 10628, i16 11806, i16 13610, i16 16387, i16 22067, i16 26383, i16 28069, i16 28154, i16 28334, i16 0, i16 13628, i16 23929, i16 24574, i16 0, i16 0, i16 14004, i16 23961, i16 0, i16 14018, i16 0, i16 14901, i16 23971, i16 24610, i16 0, i16 24007, i16 24660], [372 x i8] c"\00\00\00\00\01\01\00\00\02\02\00\00\03\03\00\00\04\04\00\00\05\05\01\01\06\06\02\02\07\07\01\01\08\08\00\00\09\09\00\00\0A\0A\00\03\0A\0A\03\03\0B\0B\00\00\0C\0C\00\00\0D\0D\00\00\0E\0E\00\00\0F\0F\04\04\10\10\05\05\11\01\00\00\12\11\00\00\13\01\00\00\14\02\06\06\15\01\07\07\16\12\00\00\17\02\00\00\18\13\00\00\19\14\00\00\1A\01\00\00\1B\02\00\00\1C\15\00\00\00\00\08\08\1D\02\00\00\1E\02\00\00\1D\16\00\00\1F\17\00\00 \18\00\00!\19\00\00\1D\1A\00\00\22\1B\00\00#\02\00\00$\02\00\00%\02\00\00&\1C\00\00'\1D\00\00(\02\00\00)\02\00\00*\1E\09\09\1A\1F\00\00+\02\00\00, \0A\0A-!\00\00.\22\00\00/\1A\00\000#\00\001\01\00\002\1A\00\003$\0B\0B4$\0C\0C5%\0D\0D6&\0E\0E7'\00\00\00(\0F\0F8\01\00\002\02\00\009\02\00\00:\02\00\00;)\00\00<*\00\00=+\00\00>,\00\00\1D-\00\00?\01\10\10@\01\11\10A\1A\00\00B.\00\00C/\00\00D0\12\11E1\13\12;)\14\13\0C\0C\0E\14F2\15\15G3\16\16H4\17\17H4\17\18\0C\0C\18\19I+\00\00J,\00\00K5\19\1AL6\1A\1BM\01\1B\1CN7\1C\1DO8\1D\1EP9\00\00", [4 x i16] [i16 0, i16 81, i16 139, i16 169], [200 x i16] [i16 1, i16 13, i16 27, i16 43, i16 57, i16 73, i16 97, i16 121, i16 114, i16 85, i16 145, i16 173, i16 193, i16 217, i16 247, i16 281, i16 317, i16 369, i16 378, i16 396, i16 405, i16 422, i16 439, i16 459, i16 469, i16 489, i16 513, i16 520, i16 530, i16 561, i16 571, i16 591, i16 613, i16 635, i16 665, i16 687, i16 697, i16 711, i16 721, i16 739, i16 759, i16 769, i16 779, i16 815, i16 829, i16 908, i16 932, i16 960, i16 972, i16 996, i16 1003, i16 1013, i16 1048, i16 1078, i16 1106, i16 1142, i16 1180, i16 1189, i16 1199, i16 1209, i16 1229, i16 1249, i16 1267, i16 1297, i16 1316, i16 1334, i16 1344, i16 1362, i16 1380, i16 1438, i16 1492, i16 1517, i16 1564, i16 1610, i16 1619, i16 1630, i16 1670, i16 1698, i16 1720, i16 1747, i16 1783, i16 7, i16 20, i16 35, i16 50, i16 65, i16 79, i16 106, i16 134, i16 118, i16 92, i16 153, i16 183, i16 205, i16 233, i16 265, i16 294, i16 336, i16 388, i16 450, i16 479, i16 501, i16 545, i16 581, i16 603, i16 623, i16 647, i16 657, i16 678, i16 730, i16 749, i16 790, i16 806, i16 857, i16 921, i16 947, i16 981, i16 1028, i16 1090, i16 1120, i16 1154, i16 1165, i16 1219, i16 1239, i16 1258, i16 1278, i16 1289, i16 1354, i16 1371, i16 1393, i16 1445, i16 1499, i16 1526, i16 1572, i16 1642, i16 1680, i16 1729, i16 1757, i16 1792, i16 0, i16 85, i16 114, i16 167, i16 305, i16 346, i16 415, i16 433, i16 554, i16 799, i16 891, i16 1039, i16 1067, i16 1100, i16 1132, i16 1171, i16 1308, i16 1329, i16 1412, i16 1452, i16 1478, i16 1506, i16 1535, i16 1580, i16 1598, i16 1652, i16 1690, i16 1711, i16 1739, i16 1769, i16 0, i16 92, i16 118, i16 163, i16 312, i16 362, i16 419, i16 436, i16 558, i16 803, i16 898, i16 1042, i16 1071, i16 1103, i16 1137, i16 1174, i16 1312, i16 1422, i16 1465, i16 1481, i16 1485, i16 1510, i16 1545, i16 1585, i16 1591, i16 1605, i16 1661, i16 1693, i16 1715, i16 1743, i16 1776], [91141 x i16] [i16 7, i16 145, i16 4, i16 5352, i16 1159, i16 2868, i16 9485, i16 12504, i16 4, i16 38, i16 5, i16 3, i16 256, i16 576, i16 22623, i16 1154, i16 1623, i16 0, i16 19968, i16 20901, i16 1708, i16 747, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4, i16 10, i16 5, i16 4, i16 128, i16 480, i16 2038, i16 1693, i16 1947, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1154, i16 1154, i16 1986, i16 2440, i16 0, i16 4, i16 2, i16 5, i16 4, i16 128, i16 480, i16 1886, i16 1885, i16 1886, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2847, i16 2847, i16 2178, i16 5976, i16 0, i16 2, i16 0, i16 5, i16 6, i16 32, i16 64, i16 213, i16 212, i16 213, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4732, i16 4732, i16 0, i16 9496, i16 0, i16 4, i16 5, i16 5, i16 5, i16 64, i16 96, i16 409, i16 408, i16 409, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4944, i16 4944, i16 2193, i16 9976, i16 0, i16 1, i16 0, i16 4, i16 5, i16 128, i16 816, i16 13169, i16 13168, i16 13169, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5352, i16 5352, i16 0, i16 10360, i16 0, i16 1, i16 0, i16 5, i16 2, i16 512, i16 6176, i16 17172, i16 5999, i16 17172, i16 0, i16 -21504, i16 11171, i16 1111, i16 3125, i16 5352, i16 5352, i16 0, i16 -32216, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 5, i16 114, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 55, i16 246, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 92, i16 0, i16 0, i16 1155, i16 274, i16 372, i16 0, i16 1155, i16 300, i16 0, i16 0, i16 1155, i16 300, i16 0, i16 0, i16 1155, i16 331, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 390, i16 0, i16 0, i16 1155, i16 448, i16 498, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 547, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 730, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 798, i16 648, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 875, i16 786, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 916, i16 0, i16 0, i16 1155, i16 1075, i16 924, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 1433, i16 1502, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 1721, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 1780, i16 1634, i16 0, i16 1155, i16 1915, i16 498, i16 0, i16 1155, i16 2012, i16 1844, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 2049, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 2235, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 300, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 1, i16 680, i16 2383, i16 1986, i16 1, i16 680, i16 2880, i16 1986, i16 1, i16 680, i16 3369, i16 1986, i16 1, i16 680, i16 3871, i16 1986, i16 1, i16 680, i16 4373, i16 2016, i16 1, i16 680, i16 4869, i16 1986, i16 1, i16 680, i16 5366, i16 1986, i16 1, i16 680, i16 5868, i16 2016, i16 1, i16 680, i16 6369, i16 1986, i16 1, i16 680, i16 6952, i16 2058, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7976, i16 1986, i16 1, i16 680, i16 5868, i16 2016, i16 1, i16 680, i16 2880, i16 1986, i16 1, i16 680, i16 8476, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 8967, i16 2124, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 8967, i16 2124, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7976, i16 1986, i16 1, i16 680, i16 5868, i16 2016, i16 1, i16 680, i16 7478, i16 1986, i16 2, i16 1338, i16 3, i16 2178, i16 2, i16 1338, i16 3, i16 2178, i16 3, i16 212, i16 3, i16 0, i16 4, i16 6, i16 3, i16 2193, i16 5, i16 13168, i16 3, i16 0, i16 6, i16 17171, i16 3, i16 0, i16 1, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 21, i16 22, i16 23, i16 24, i16 30, i16 40, i16 44, i16 45, i16 50, i16 51, i16 52, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 120, i16 125, i16 126, i16 135, i16 137, i16 144, i16 157, i16 159, i16 160, i16 162, i16 167, i16 170, i16 172, i16 175, i16 177, i16 182, i16 183, i16 186, i16 188, i16 193, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 236, i16 237, i16 240, i16 241, i16 242, i16 243, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 458, i16 459, i16 460, i16 461, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 640, i16 651, i16 652, i16 654, i16 655, i16 669, i16 683, i16 685, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 698, i16 708, i16 711, i16 719, i16 720, i16 722, i16 724, i16 725, i16 726, i16 727, i16 728, i16 731, i16 732, i16 733, i16 735, i16 742, i16 743, i16 744, i16 745, i16 746, i16 747, i16 748, i16 756, i16 757, i16 758, i16 759, i16 761, i16 764, i16 765, i16 766, i16 767, i16 768, i16 774, i16 775, i16 776, i16 779, i16 780, i16 783, i16 784, i16 785, i16 786, i16 793, i16 798, i16 805, i16 806, i16 808, i16 810, i16 811, i16 812, i16 816, i16 818, i16 819, i16 820, i16 821, i16 826, i16 827, i16 828, i16 830, i16 831, i16 832, i16 833, i16 840, i16 843, i16 844, i16 859, i16 860, i16 862, i16 863, i16 877, i16 891, i16 893, i16 895, i16 896, i16 897, i16 898, i16 899, i16 900, i16 901, i16 902, i16 903, i16 906, i16 916, i16 919, i16 927, i16 928, i16 930, i16 932, i16 933, i16 934, i16 935, i16 936, i16 939, i16 940, i16 942, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 955, i16 963, i16 964, i16 965, i16 967, i16 970, i16 971, i16 972, i16 973, i16 979, i16 980, i16 981, i16 984, i16 985, i16 988, i16 989, i16 990, i16 991, i16 998, i16 1002, i16 1009, i16 1010, i16 1012, i16 1014, i16 1015, i16 1016, i16 1020, i16 1022, i16 1023, i16 1024, i16 1025, i16 1030, i16 1031, i16 1032, i16 1034, i16 1035, i16 1036, i16 1037, i16 1044, i16 1047, i16 1108, i16 1109, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 1117, i16 1118, i16 1119, i16 1120, i16 1121, i16 1122, i16 1123, i16 1124, i16 1125, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1132, i16 1133, i16 1134, i16 1139, i16 1140, i16 1141, i16 1142, i16 1143, i16 1147, i16 1157, i16 1158, i16 1183, i16 1184, i16 1185, i16 1186, i16 1187, i16 1188, i16 1189, i16 1190, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1206, i16 1207, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1235, i16 1236, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1242, i16 1243, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 1251, i16 1252, i16 1253, i16 1254, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1263, i16 1264, i16 1265, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1318, i16 1319, i16 1348, i16 1349, i16 1350, i16 1351, i16 1356, i16 1357, i16 1358, i16 1359, i16 1368, i16 1369, i16 1371, i16 1372, i16 1373, i16 1374, i16 1377, i16 1378, i16 1379, i16 1380, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 1390, i16 1391, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1400, i16 1403, i16 1404, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1418, i16 1419, i16 1420, i16 1421, i16 1422, i16 1423, i16 1424, i16 1425, i16 1426, i16 1427, i16 1428, i16 1429, i16 1430, i16 1431, i16 1432, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1440, i16 1441, i16 1442, i16 1443, i16 1444, i16 1445, i16 1446, i16 1447, i16 1448, i16 1449, i16 1450, i16 1451, i16 1452, i16 1453, i16 1454, i16 1455, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1481, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1507, i16 1513, i16 1520, i16 1521, i16 1523, i16 1529, i16 1530, i16 1531, i16 1533, i16 1536, i16 1537, i16 1540, i16 1542, i16 1543, i16 1544, i16 1545, i16 1548, i16 1551, i16 1552, i16 1554, i16 1555, i16 1558, i16 1559, i16 1560, i16 1562, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1571, i16 1578, i16 1584, i16 1585, i16 1587, i16 1593, i16 1596, i16 1598, i16 1601, i16 1602, i16 1605, i16 1607, i16 1608, i16 1609, i16 1610, i16 1613, i16 1616, i16 1617, i16 1619, i16 1620, i16 1623, i16 1624, i16 1625, i16 1627, i16 1629, i16 1630, i16 2, i16 25, i16 26, i16 27, i16 28, i16 29, i16 41, i16 48, i16 49, i16 132, i16 141, i16 151, i16 153, i16 155, i16 169, i16 185, i16 199, i16 200, i16 235, i16 299, i16 300, i16 301, i16 302, i16 304, i16 305, i16 307, i16 308, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 317, i16 318, i16 319, i16 320, i16 321, i16 323, i16 324, i16 325, i16 326, i16 328, i16 329, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 339, i16 341, i16 342, i16 344, i16 345, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 641, i16 642, i16 643, i16 644, i16 648, i16 649, i16 650, i16 653, i16 662, i16 663, i16 664, i16 665, i16 666, i16 682, i16 684, i16 705, i16 706, i16 707, i16 714, i16 715, i16 716, i16 721, i16 723, i16 730, i16 755, i16 760, i16 771, i16 772, i16 773, i16 794, i16 795, i16 796, i16 797, i16 807, i16 814, i16 815, i16 817, i16 823, i16 841, i16 842, i16 849, i16 850, i16 851, i16 852, i16 856, i16 857, i16 858, i16 861, i16 870, i16 871, i16 872, i16 873, i16 874, i16 890, i16 892, i16 913, i16 914, i16 915, i16 922, i16 923, i16 924, i16 929, i16 931, i16 938, i16 962, i16 966, i16 976, i16 977, i16 978, i16 999, i16 1000, i16 1001, i16 1011, i16 1018, i16 1019, i16 1021, i16 1027, i16 1045, i16 1046, i16 1048, i16 1084, i16 1085, i16 1086, i16 1087, i16 1088, i16 1089, i16 1090, i16 1091, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1099, i16 1100, i16 1101, i16 1102, i16 1103, i16 1104, i16 1105, i16 1106, i16 1107, i16 1110, i16 1137, i16 1138, i16 1144, i16 1145, i16 1146, i16 1154, i16 1155, i16 1156, i16 1159, i16 1175, i16 1176, i16 1177, i16 1178, i16 1179, i16 1180, i16 1181, i16 1182, i16 1191, i16 1192, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1310, i16 1311, i16 1312, i16 1313, i16 1314, i16 1315, i16 1316, i16 1317, i16 1346, i16 1347, i16 1352, i16 1353, i16 1354, i16 1355, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 1367, i16 1511, i16 1517, i16 1518, i16 1519, i16 1522, i16 1527, i16 1528, i16 1535, i16 1539, i16 1546, i16 1547, i16 1550, i16 1557, i16 1561, i16 1563, i16 1575, i16 1577, i16 1582, i16 1583, i16 1586, i16 1591, i16 1592, i16 1595, i16 1600, i16 1604, i16 1611, i16 1612, i16 1615, i16 1622, i16 1626, i16 1628, i16 4, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 322, i16 323, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 446, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 460, i16 464, i16 468, i16 472, i16 474, i16 475, i16 477, i16 478, i16 480, i16 482, i16 483, i16 485, i16 486, i16 488, i16 489, i16 490, i16 493, i16 494, i16 496, i16 497, i16 498, i16 501, i16 502, i16 504, i16 505, i16 506, i16 508, i16 509, i16 511, i16 512, i16 513, i16 514, i16 515, i16 516, i16 517, i16 518, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 714, i16 715, i16 716, i16 717, i16 718, i16 719, i16 720, i16 721, i16 722, i16 723, i16 724, i16 725, i16 726, i16 727, i16 728, i16 729, i16 730, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 737, i16 738, i16 739, i16 740, i16 741, i16 742, i16 743, i16 744, i16 745, i16 746, i16 747, i16 748, i16 749, i16 750, i16 751, i16 752, i16 755, i16 783, i16 784, i16 785, i16 788, i16 789, i16 790, i16 791, i16 792, i16 793, i16 794, i16 795, i16 796, i16 797, i16 798, i16 799, i16 800, i16 801, i16 802, i16 803, i16 804, i16 805, i16 806, i16 807, i16 808, i16 809, i16 810, i16 811, i16 812, i16 813, i16 814, i16 815, i16 816, i16 817, i16 818, i16 819, i16 824, i16 825, i16 828, i16 829, i16 830, i16 831, i16 832, i16 833, i16 834, i16 835, i16 840, i16 841, i16 842, i16 851, i16 852, i16 853, i16 854, i16 855, i16 856, i16 857, i16 858, i16 859, i16 860, i16 861, i16 864, i16 865, i16 868, i16 869, i16 870, i16 871, i16 874, i16 875, i16 876, i16 881, i16 882, i16 883, i16 884, i16 885, i16 886, i16 887, i16 888, i16 891, i16 892, i16 893, i16 894, i16 895, i16 896, i16 897, i16 904, i16 905, i16 908, i16 909, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 918, i16 919, i16 920, i16 921, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 929, i16 930, i16 931, i16 932, i16 933, i16 934, i16 935, i16 936, i16 937, i16 938, i16 939, i16 940, i16 941, i16 942, i16 943, i16 948, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 964, i16 965, i16 966, i16 967, i16 968, i16 969, i16 970, i16 971, i16 972, i16 977, i16 978, i16 979, i16 980, i16 981, i16 982, i16 983, i16 984, i16 987, i16 988, i16 989, i16 992, i16 993, i16 994, i16 995, i16 996, i16 997, i16 998, i16 999, i16 1000, i16 1001, i16 1002, i16 1003, i16 1004, i16 1005, i16 1006, i16 1007, i16 1008, i16 1012, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1023, i16 1024, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 1039, i16 1040, i16 1041, i16 1042, i16 1045, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 1058, i16 1059, i16 1060, i16 1061, i16 1062, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1072, i16 1073, i16 1074, i16 1078, i16 1079, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1103, i16 1104, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1112, i16 1113, i16 1116, i16 1117, i16 1120, i16 1121, i16 1122, i16 1123, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1138, i16 1139, i16 1140, i16 1143, i16 1144, i16 1145, i16 1146, i16 1147, i16 1148, i16 1149, i16 1150, i16 1151, i16 1152, i16 1153, i16 1154, i16 1155, i16 1156, i16 1157, i16 1158, i16 1159, i16 1160, i16 1161, i16 1162, i16 1163, i16 1164, i16 1169, i16 1170, i16 1173, i16 1174, i16 1175, i16 1176, i16 1177, i16 1178, i16 1183, i16 1184, i16 1185, i16 1186, i16 1189, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1244, i16 1245, i16 1246, i16 1249, i16 1250, i16 1251, i16 1252, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1265, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1281, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1298, i16 1299, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1314, i16 1315, i16 1318, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1328, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 1336, i16 1337, i16 1338, i16 1339, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 1360, i16 1369, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1404, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1427, i16 1428, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1481, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 1528, i16 1529, i16 1530, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 1539, i16 1540, i16 1541, i16 1542, i16 1543, i16 1544, i16 1545, i16 1546, i16 1547, i16 1548, i16 1549, i16 1550, i16 1551, i16 1552, i16 1553, i16 1554, i16 1555, i16 1556, i16 1557, i16 1558, i16 1559, i16 1560, i16 1561, i16 1562, i16 1563, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 1595, i16 1596, i16 1597, i16 1598, i16 1599, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1611, i16 1612, i16 1613, i16 1614, i16 1615, i16 1616, i16 1617, i16 1618, i16 1619, i16 1620, i16 1621, i16 1622, i16 1623, i16 1624, i16 1625, i16 1626, i16 1627, i16 1628, i16 1629, i16 1630, i16 1631, i16 1632, i16 1633, i16 1634, i16 1635, i16 1636, i16 1637, i16 1638, i16 1639, i16 1640, i16 1641, i16 1642, i16 1643, i16 1644, i16 1645, i16 1646, i16 1647, i16 1648, i16 1649, i16 1650, i16 1651, i16 1652, i16 1653, i16 1654, i16 1655, i16 1656, i16 1657, i16 1658, i16 1659, i16 1660, i16 1661, i16 1662, i16 1663, i16 1664, i16 1665, i16 1666, i16 1667, i16 1668, i16 1669, i16 1670, i16 1671, i16 1672, i16 1673, i16 1674, i16 1675, i16 1676, i16 1677, i16 1678, i16 1679, i16 1680, i16 1681, i16 1682, i16 1683, i16 1684, i16 1685, i16 1686, i16 1687, i16 1688, i16 1689, i16 1690, i16 1691, i16 1692, i16 1693, i16 1694, i16 1695, i16 1696, i16 1697, i16 1698, i16 1699, i16 1700, i16 1701, i16 1702, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 1717, i16 1718, i16 1719, i16 1720, i16 1721, i16 1722, i16 1723, i16 1724, i16 1725, i16 1726, i16 1727, i16 1728, i16 1729, i16 1730, i16 1731, i16 1732, i16 1733, i16 1734, i16 1735, i16 1736, i16 1737, i16 1738, i16 1739, i16 1740, i16 1741, i16 1742, i16 1743, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 1749, i16 1750, i16 1751, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 1758, i16 1759, i16 1760, i16 1761, i16 1762, i16 1763, i16 1764, i16 1765, i16 1766, i16 1767, i16 1768, i16 1769, i16 1770, i16 1771, i16 1772, i16 1773, i16 1774, i16 1775, i16 1776, i16 1777, i16 1778, i16 1779, i16 1780, i16 1781, i16 1782, i16 1783, i16 1784, i16 1785, i16 1786, i16 1787, i16 1788, i16 1789, i16 1790, i16 1791, i16 1792, i16 1793, i16 1794, i16 1795, i16 1796, i16 1797, i16 1798, i16 1799, i16 1800, i16 1801, i16 1802, i16 1803, i16 1804, i16 1805, i16 1806, i16 1807, i16 1808, i16 1809, i16 1810, i16 1811, i16 1812, i16 1813, i16 1814, i16 1815, i16 1816, i16 1817, i16 1818, i16 1819, i16 1820, i16 1821, i16 1822, i16 1823, i16 1824, i16 1825, i16 1826, i16 1827, i16 1828, i16 1829, i16 1830, i16 1831, i16 1832, i16 1833, i16 1834, i16 1835, i16 1836, i16 1837, i16 1838, i16 1839, i16 1840, i16 1841, i16 1842, i16 1843, i16 1844, i16 1845, i16 1846, i16 1847, i16 1848, i16 1849, i16 1850, i16 1851, i16 1852, i16 1853, i16 1854, i16 1855, i16 1856, i16 1857, i16 1858, i16 1859, i16 1860, i16 1861, i16 1862, i16 1863, i16 1864, i16 1865, i16 1866, i16 1867, i16 1868, i16 1869, i16 1870, i16 1871, i16 1872, i16 1873, i16 1874, i16 1875, i16 1876, i16 1877, i16 1878, i16 1879, i16 1880, i16 1881, i16 1882, i16 1883, i16 1884, i16 1885, i16 1886, i16 1887, i16 1888, i16 1889, i16 1890, i16 1891, i16 1892, i16 1893, i16 1894, i16 1895, i16 1896, i16 1897, i16 1898, i16 1899, i16 1900, i16 1901, i16 1902, i16 1903, i16 1904, i16 1905, i16 1906, i16 1907, i16 1908, i16 1909, i16 1910, i16 1911, i16 1912, i16 1913, i16 1914, i16 1915, i16 1916, i16 1917, i16 1918, i16 1919, i16 1920, i16 1921, i16 1922, i16 1923, i16 1924, i16 1925, i16 1926, i16 1927, i16 1928, i16 1929, i16 1930, i16 1931, i16 1932, i16 1933, i16 1934, i16 1935, i16 1936, i16 1937, i16 1938, i16 1939, i16 1940, i16 1941, i16 1942, i16 1943, i16 1944, i16 1945, i16 1946, i16 1947, i16 1948, i16 1949, i16 1950, i16 1951, i16 1952, i16 1953, i16 1954, i16 1955, i16 1956, i16 1957, i16 1958, i16 1959, i16 1960, i16 1961, i16 1962, i16 1963, i16 1964, i16 1965, i16 1966, i16 1967, i16 1968, i16 1969, i16 1970, i16 1971, i16 1972, i16 1973, i16 1974, i16 1975, i16 1976, i16 1977, i16 1978, i16 1979, i16 1980, i16 1981, i16 1982, i16 1983, i16 1984, i16 1985, i16 1986, i16 1987, i16 1988, i16 1989, i16 1990, i16 1991, i16 1992, i16 1993, i16 1994, i16 1995, i16 1996, i16 1997, i16 1998, i16 1999, i16 2000, i16 2001, i16 2002, i16 2003, i16 2004, i16 2005, i16 2006, i16 2007, i16 2008, i16 2009, i16 2010, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 458, i16 459, i16 460, i16 461, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 482, i16 483, i16 484, i16 485, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 494, i16 495, i16 496, i16 497, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 520, i16 521, i16 522, i16 523, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 714, i16 715, i16 716, i16 717, i16 718, i16 719, i16 720, i16 721, i16 722, i16 723, i16 724, i16 725, i16 726, i16 727, i16 728, i16 729, i16 730, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 737, i16 738, i16 739, i16 740, i16 741, i16 742, i16 743, i16 744, i16 745, i16 746, i16 747, i16 748, i16 749, i16 750, i16 751, i16 752, i16 753, i16 754, i16 755, i16 756, i16 757, i16 758, i16 759, i16 760, i16 761, i16 762, i16 763, i16 764, i16 765, i16 766, i16 767, i16 768, i16 769, i16 770, i16 771, i16 772, i16 773, i16 774, i16 775, i16 776, i16 777, i16 778, i16 779, i16 780, i16 781, i16 782, i16 783, i16 784, i16 785, i16 786, i16 787, i16 788, i16 789, i16 790, i16 791, i16 792, i16 793, i16 794, i16 795, i16 796, i16 797, i16 798, i16 799, i16 800, i16 801, i16 802, i16 803, i16 804, i16 805, i16 806, i16 807, i16 808, i16 809, i16 810, i16 811, i16 812, i16 813, i16 814, i16 815, i16 816, i16 817, i16 818, i16 819, i16 820, i16 821, i16 822, i16 823, i16 824, i16 825, i16 826, i16 827, i16 828, i16 829, i16 830, i16 831, i16 832, i16 833, i16 834, i16 835, i16 836, i16 837, i16 838, i16 839, i16 840, i16 841, i16 842, i16 843, i16 844, i16 845, i16 846, i16 847, i16 848, i16 849, i16 850, i16 851, i16 852, i16 853, i16 854, i16 855, i16 856, i16 857, i16 858, i16 859, i16 860, i16 861, i16 862, i16 863, i16 864, i16 865, i16 866, i16 867, i16 868, i16 869, i16 870, i16 871, i16 872, i16 873, i16 874, i16 875, i16 876, i16 877, i16 878, i16 879, i16 880, i16 881, i16 882, i16 883, i16 884, i16 885, i16 886, i16 887, i16 888, i16 889, i16 890, i16 891, i16 892, i16 893, i16 894, i16 895, i16 896, i16 897, i16 898, i16 899, i16 900, i16 901, i16 902, i16 903, i16 904, i16 905, i16 906, i16 907, i16 908, i16 909, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 918, i16 919, i16 920, i16 921, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 929, i16 930, i16 931, i16 932, i16 933, i16 934, i16 935, i16 936, i16 937, i16 938, i16 939, i16 940, i16 941, i16 942, i16 943, i16 944, i16 945, i16 946, i16 947, i16 948, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 964, i16 965, i16 966, i16 967, i16 968, i16 969, i16 970, i16 971, i16 972, i16 973, i16 974, i16 975, i16 976, i16 977, i16 978, i16 979, i16 980, i16 981, i16 982, i16 983, i16 984, i16 985, i16 986, i16 987, i16 988, i16 989, i16 990, i16 991, i16 992, i16 993, i16 994, i16 995, i16 996, i16 997, i16 998, i16 999, i16 1000, i16 1001, i16 1002, i16 1003, i16 1004, i16 1005, i16 1006, i16 1007, i16 1008, i16 1009, i16 1010, i16 1011, i16 1012, i16 1013, i16 1014, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1023, i16 1024, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 1037, i16 1038, i16 1039, i16 1040, i16 1041, i16 1042, i16 1043, i16 1044, i16 1045, i16 1046, i16 1047, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 1058, i16 1059, i16 1060, i16 1061, i16 1062, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1070, i16 1071, i16 1072, i16 1073, i16 1074, i16 1075, i16 1076, i16 1077, i16 1078, i16 1079, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1088, i16 1089, i16 1090, i16 1091, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1099, i16 1100, i16 1101, i16 1102, i16 1103, i16 1104, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 1117, i16 1118, i16 1119, i16 1120, i16 1121, i16 1122, i16 1123, i16 1124, i16 1125, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1132, i16 1133, i16 1134, i16 1135, i16 1136, i16 1137, i16 1138, i16 1139, i16 1140, i16 1141, i16 1142, i16 1143, i16 1144, i16 1145, i16 1146, i16 1147, i16 1148, i16 1149, i16 1150, i16 1151, i16 1152, i16 1153, i16 1154, i16 1155, i16 1156, i16 1157, i16 1158, i16 1159, i16 1160, i16 1161, i16 1162, i16 1163, i16 1164, i16 1165, i16 1166, i16 1167, i16 1168, i16 1169, i16 1170, i16 1171, i16 1172, i16 1173, i16 1174, i16 1175, i16 1176, i16 1177, i16 1178, i16 1179, i16 1180, i16 1181, i16 1182, i16 1183, i16 1184, i16 1185, i16 1186, i16 1187, i16 1188, i16 1189, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1206, i16 1207, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1235, i16 1236, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1242, i16 1243, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 1251, i16 1252, i16 1253, i16 1254, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1263, i16 1264, i16 1265, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1281, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1314, i16 1315, i16 1316, i16 1317, i16 1318, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 1367, i16 1368, i16 1369, i16 1370, i16 1371, i16 1372, i16 1373, i16 1374, i16 1375, i16 1376, i16 1377, i16 1378, i16 1379, i16 1380, i16 1381, i16 1382, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 1390, i16 1391, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1400, i16 1401, i16 1402, i16 1403, i16 1404, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1418, i16 1419, i16 1420, i16 1421, i16 1422, i16 1423, i16 1424, i16 1425, i16 1426, i16 1427, i16 1428, i16 1429, i16 1430, i16 1431, i16 1432, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1440, i16 1441, i16 1442, i16 1443, i16 1444, i16 1445, i16 1446, i16 1447, i16 1448, i16 1449, i16 1450, i16 1451, i16 1452, i16 1453, i16 1454, i16 1455, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1481, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 1528, i16 1529, i16 1530, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 1539, i16 1540, i16 1541, i16 1542, i16 1543, i16 1544, i16 1545, i16 1546, i16 1547, i16 1548, i16 1549, i16 1550, i16 1551, i16 1552, i16 1553, i16 1554, i16 1555, i16 1556, i16 1557, i16 1558, i16 1559, i16 1560, i16 1561, i16 1562, i16 1563, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 1595, i16 1596, i16 1597, i16 1598, i16 1599, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1611, i16 1612, i16 1613, i16 1614, i16 1615, i16 1616, i16 1617, i16 1618, i16 1619, i16 1620, i16 1621, i16 1622, i16 1623, i16 1624, i16 1625, i16 1626, i16 1627, i16 1628, i16 1629, i16 1630, i16 1631, i16 1632, i16 1633, i16 1634, i16 1635, i16 1636, i16 1637, i16 1638, i16 1639, i16 1640, i16 1641, i16 1642, i16 1643, i16 1644, i16 1645, i16 1646, i16 1647, i16 1648, i16 1649, i16 1650, i16 1651, i16 1652, i16 1653, i16 1654, i16 1655, i16 1656, i16 1657, i16 1658, i16 1659, i16 1660, i16 1661, i16 1662, i16 1663, i16 1664, i16 1665, i16 1666, i16 1667, i16 1668, i16 1669, i16 1670, i16 1671, i16 1672, i16 1673, i16 1674, i16 1675, i16 1676, i16 1677, i16 1678, i16 1679, i16 1680, i16 1681, i16 1682, i16 1683, i16 1684, i16 1685, i16 1686, i16 1687, i16 1688, i16 1689, i16 1690, i16 1691, i16 1692, i16 1693, i16 1694, i16 1695, i16 1696, i16 1697, i16 1698, i16 1699, i16 1700, i16 1701, i16 1702, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 1717, i16 1718, i16 1719, i16 1720, i16 1721, i16 1722, i16 1723, i16 1724, i16 1725, i16 1726, i16 1727, i16 1728, i16 1729, i16 1730, i16 1731, i16 1732, i16 1733, i16 1734, i16 1735, i16 1736, i16 1737, i16 1738, i16 1739, i16 1740, i16 1741, i16 1742, i16 1743, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 1749, i16 1750, i16 1751, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 1758, i16 1759, i16 1760, i16 1761, i16 1762, i16 1763, i16 1764, i16 1765, i16 1766, i16 1767, i16 1768, i16 1769, i16 1770, i16 1771, i16 1772, i16 1773, i16 1774, i16 1775, i16 1776, i16 1777, i16 1778, i16 1779, i16 1780, i16 1781, i16 1782, i16 1783, i16 1784, i16 1785, i16 1786, i16 1787, i16 1788, i16 1789, i16 1790, i16 1791, i16 1792, i16 1793, i16 1794, i16 1795, i16 1796, i16 1797, i16 1798, i16 1799, i16 1800, i16 1801, i16 1802, i16 1803, i16 1804, i16 1805, i16 1806, i16 1807, i16 1808, i16 1809, i16 1810, i16 1811, i16 1812, i16 1813, i16 1814, i16 1815, i16 1816, i16 1817, i16 1818, i16 1819, i16 1820, i16 1821, i16 1822, i16 1823, i16 1824, i16 1825, i16 1826, i16 1827, i16 1828, i16 1829, i16 1830, i16 1831, i16 1832, i16 1833, i16 1834, i16 1835, i16 1836, i16 1837, i16 1838, i16 1839, i16 1840, i16 1841, i16 1842, i16 1843, i16 1844, i16 1845, i16 1846, i16 1847, i16 1848, i16 1849, i16 1850, i16 1851, i16 1852, i16 1853, i16 1854, i16 1855, i16 1856, i16 1857, i16 1858, i16 1859, i16 1860, i16 1861, i16 1862, i16 1863, i16 1864, i16 1865, i16 1866, i16 1867, i16 1868, i16 1869, i16 1870, i16 1871, i16 1872, i16 1873, i16 1874, i16 1875, i16 1876, i16 1877, i16 1878, i16 1879, i16 1880, i16 1881, i16 1882, i16 1883, i16 1884, i16 1885, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 2, i16 1, i16 3, i16 1, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 457, i16 458, i16 459, i16 460, i16 461, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 482, i16 483, i16 484, i16 485, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 494, i16 495, i16 496, i16 497, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 520, i16 521, i16 522, i16 523, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 714, i16 715, i16 716, i16 717, i16 718, i16 719, i16 720, i16 721, i16 722, i16 723, i16 724, i16 725, i16 726, i16 727, i16 728, i16 729, i16 730, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 737, i16 738, i16 739, i16 740, i16 741, i16 742, i16 743, i16 744, i16 745, i16 746, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1188, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1206, i16 1207, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1235, i16 1236, i16 1187, i16 1190, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1242, i16 1243, i16 1187, i16 1190, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 1251, i16 1252, i16 1187, i16 1190, i16 1253, i16 1254, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1263, i16 1264, i16 1265, i16 1187, i16 1190, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1281, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1187, i16 1190, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1187, i16 1314, i16 1315, i16 1316, i16 1317, i16 1318, i16 1190, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1329, i16 1330, i16 1331, i16 1187, i16 1190, i16 1332, i16 1333, i16 1334, i16 1335, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 1187, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 1367, i16 1368, i16 1369, i16 1370, i16 1371, i16 1372, i16 1373, i16 1187, i16 1374, i16 1375, i16 1190, i16 1376, i16 1377, i16 1378, i16 1187, i16 1190, i16 1379, i16 1380, i16 1381, i16 1382, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 1187, i16 1190, i16 1390, i16 1391, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1400, i16 1401, i16 1402, i16 1403, i16 1404, i16 1187, i16 1190, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1187, i16 1190, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1418, i16 1419, i16 1420, i16 1421, i16 1422, i16 1423, i16 1187, i16 1190, i16 1424, i16 1425, i16 1426, i16 1427, i16 1428, i16 1429, i16 1430, i16 1431, i16 1432, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1440, i16 1441, i16 1442, i16 1443, i16 1444, i16 1445, i16 1446, i16 1447, i16 1448, i16 1449, i16 1450, i16 1451, i16 1452, i16 1453, i16 1454, i16 1455, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1187, i16 1190, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1187, i16 1190, i16 1481, i16 1187, i16 1190, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1187, i16 1190, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1187, i16 1513, i16 1514, i16 1515, i16 1190, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 1528, i16 1529, i16 1530, i16 1187, i16 1190, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 1539, i16 1540, i16 1541, i16 1542, i16 1543, i16 1544, i16 1545, i16 1546, i16 1547, i16 1548, i16 1549, i16 1550, i16 1551, i16 1552, i16 1553, i16 1554, i16 1555, i16 1556, i16 1557, i16 1558, i16 1559, i16 1560, i16 1561, i16 1562, i16 1563, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1187, i16 1187, i16 1187, i16 1190, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1187, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 1595, i16 1596, i16 1597, i16 1598, i16 1599, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1187, i16 1611, i16 1612, i16 1613, i16 1614, i16 1611, i16 1615, i16 1611, i16 1616, i16 1611, i16 1617, i16 1611, i16 1618, i16 1619, i16 1620, i16 1611, i16 1621, i16 1611, i16 1622, i16 1623, i16 1624, i16 1611, i16 1625, i16 1611, i16 1626, i16 1627, i16 1628, i16 1629, i16 1630, i16 1631, i16 1611, i16 1632, i16 1611, i16 1633, i16 1611, i16 1634, i16 1611, i16 1635, i16 1611, i16 1636, i16 1611, i16 1637, i16 1638, i16 1639, i16 1611, i16 1640, i16 1611, i16 1641, i16 1611, i16 1642, i16 1643, i16 1611, i16 1644, i16 1611, i16 1645, i16 1646, i16 1647, i16 1648, i16 1649, i16 1650, i16 1611, i16 1651, i16 1611, i16 1652, i16 1611, i16 1653, i16 1611, i16 1654, i16 1655, i16 1656, i16 1657, i16 1658, i16 1657, i16 1659, i16 1657, i16 1660, i16 1657, i16 1661, i16 1657, i16 1662, i16 1657, i16 1663, i16 1657, i16 1664, i16 1657, i16 1665, i16 1657, i16 1666, i16 1657, i16 1667, i16 1657, i16 1668, i16 1657, i16 1669, i16 1657, i16 1670, i16 1657, i16 1671, i16 1657, i16 1672, i16 1657, i16 1673, i16 1657, i16 1674, i16 1657, i16 1675, i16 1657, i16 1676, i16 1657, i16 1677, i16 1657, i16 1678, i16 1657, i16 1679, i16 1657, i16 1680, i16 1657, i16 1681, i16 1657, i16 1682, i16 1657, i16 1683, i16 1657, i16 1684, i16 1657, i16 1685, i16 1657, i16 1686, i16 1657, i16 1687, i16 1657, i16 1688, i16 1657, i16 1689, i16 1657, i16 1690, i16 1657, i16 1691, i16 1657, i16 1692, i16 1657, i16 1693, i16 1657, i16 1694, i16 1657, i16 1695, i16 1657, i16 1696, i16 1657, i16 1697, i16 1657, i16 1698, i16 1699, i16 1700, i16 1657, i16 1701, i16 1699, i16 1702, i16 1657, i16 1703, i16 1657, i16 1704, i16 1657, i16 1705, i16 1657, i16 1706, i16 1657, i16 1707, i16 1657, i16 1708, i16 1657, i16 1709, i16 1657, i16 1710, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1189, i16 1189, i16 1189, i16 1189, i16 1712, i16 1712, i16 1713, i16 1714, i16 1714, i16 1714, i16 1714, i16 1714, i16 1714, i16 1712, i16 1712, i16 1715, i16 1715, i16 1715, i16 1712, i16 1716, i16 1716, i16 1716, i16 1716, i16 1712, i16 1712, i16 1712, i16 1717, i16 1717, i16 1717, i16 1717, i16 1717, i16 1717, i16 1717, i16 1712, i16 1718, i16 1718, i16 1718, i16 1718, i16 1712, i16 1719, i16 1719, i16 1719, i16 1719, i16 1712, i16 1720, i16 1720, i16 1720, i16 1720, i16 1712, i16 1721, i16 1721, i16 1721, i16 1721, i16 1712, i16 1722, i16 1722, i16 1712, i16 1723, i16 1723, i16 1712, i16 1724, i16 1724, i16 1712, i16 1725, i16 1725, i16 1712, i16 1726, i16 1726, i16 1726, i16 1726, i16 1712, i16 1727, i16 1727, i16 1727, i16 1727, i16 1712, i16 1728, i16 1728, i16 1728, i16 1728, i16 1712, i16 1729, i16 1729, i16 1729, i16 1729, i16 1712, i16 1730, i16 1730, i16 1730, i16 1730, i16 1712, i16 1731, i16 1731, i16 1731, i16 1731, i16 1712, i16 1732, i16 1732, i16 1732, i16 1732, i16 1712, i16 1733, i16 1733, i16 1733, i16 1733, i16 1712, i16 1734, i16 1734, i16 1734, i16 1734, i16 1712, i16 1735, i16 1735, i16 1735, i16 1735, i16 1712, i16 1736, i16 1736, i16 1736, i16 1736, i16 1712, i16 1737, i16 1737, i16 1737, i16 1737, i16 1712, i16 1738, i16 1738, i16 1738, i16 1738, i16 1712, i16 1739, i16 1739, i16 1739, i16 1739, i16 1712, i16 1740, i16 1740, i16 1740, i16 1740, i16 1712, i16 1741, i16 1741, i16 1712, i16 1742, i16 1742, i16 1712, i16 1743, i16 1743, i16 1743, i16 1743, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 1749, i16 1750, i16 1751, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 1758, i16 1759, i16 1760, i16 1761, i16 1762, i16 1712, i16 1763, i16 1763, i16 1763, i16 1712, i16 1764, i16 1764, i16 1764, i16 1712, i16 1765, i16 1765, i16 1765, i16 1765, i16 1712, i16 1766, i16 1766, i16 1766, i16 1712, i16 1767, i16 1767, i16 1767, i16 1712, i16 1768, i16 1768, i16 1768, i16 1768, i16 1712, i16 1769, i16 1769, i16 1769, i16 1712, i16 1770, i16 1770, i16 1770, i16 1712, i16 1771, i16 1771, i16 1771, i16 1771, i16 1712, i16 1772, i16 1772, i16 1772, i16 1712, i16 1773, i16 1773, i16 1773, i16 1712, i16 1774, i16 1774, i16 1774, i16 1712, i16 1775, i16 1775, i16 1775, i16 1712, i16 1776, i16 1776, i16 1776, i16 1712, i16 1777, i16 1777, i16 1777, i16 1712, i16 1778, i16 1778, i16 1778, i16 1712, i16 1779, i16 1779, i16 1779, i16 1712, i16 1780, i16 1780, i16 1780, i16 1780, i16 1780, i16 1712, i16 1781, i16 1781, i16 1781, i16 1712, i16 1782, i16 1782, i16 1782, i16 1712, i16 1783, i16 1712, i16 1784, i16 1712, i16 1785, i16 1712, i16 1786, i16 1712, i16 1787, i16 1712, i16 1788, i16 1788, i16 1788, i16 1788, i16 1788, i16 1712, i16 1789, i16 1789, i16 1789, i16 1789, i16 1789, i16 1712, i16 1790, i16 1790, i16 1790, i16 1790, i16 1790, i16 1712, i16 1791, i16 1791, i16 1791, i16 1791, i16 1791, i16 1712, i16 1792, i16 1792, i16 1792, i16 1792, i16 1792, i16 1712, i16 1793, i16 1712, i16 1794, i16 1712, i16 1795, i16 1712, i16 1796, i16 1712, i16 1797, i16 1712, i16 1798, i16 1798, i16 1798, i16 1712, i16 1799, i16 1799, i16 1799, i16 1712, i16 1800, i16 1800, i16 1800, i16 1712, i16 1801, i16 1712, i16 1802, i16 1712, i16 1803, i16 1712, i16 1804, i16 1712, i16 1805, i16 1712, i16 1806, i16 1806, i16 1806, i16 1712, i16 1807, i16 1712, i16 1808, i16 1712, i16 1809, i16 1712, i16 1810, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2093, i16 2094, i16 2095, i16 2096, i16 2097, i16 2098, i16 2099, i16 2100, i16 2101, i16 2102, i16 2103, i16 2104, i16 2105, i16 2106, i16 2107, i16 2108, i16 2109, i16 2110, i16 2111, i16 2112, i16 2113, i16 2114, i16 2115, i16 2116, i16 2117, i16 2118, i16 2119, i16 2120, i16 2121, i16 2122, i16 2123, i16 2124, i16 2125, i16 2126, i16 2127, i16 2128, i16 2129, i16 2130, i16 2131, i16 2132, i16 2133, i16 2134, i16 2135, i16 2136, i16 2137, i16 2138, i16 2139, i16 2140, i16 2141, i16 2142, i16 2143, i16 2144, i16 2145, i16 2146, i16 2147, i16 2148, i16 2149, i16 2150, i16 2151, i16 2091, i16 2152, i16 2153, i16 2154, i16 2155, i16 2156, i16 2157, i16 2093, i16 2158, i16 2159, i16 2160, i16 2161, i16 2162, i16 2163, i16 2164, i16 2091, i16 2093, i16 2165, i16 2166, i16 2167, i16 2168, i16 2169, i16 2170, i16 2171, i16 2172, i16 2173, i16 2174, i16 2175, i16 2176, i16 2177, i16 2178, i16 2179, i16 2091, i16 2093, i16 2180, i16 2181, i16 2182, i16 2183, i16 2184, i16 2185, i16 2186, i16 2187, i16 2188, i16 2189, i16 2190, i16 2191, i16 2192, i16 2193, i16 2194, i16 2091, i16 2093, i16 2195, i16 2196, i16 2197, i16 2198, i16 2199, i16 2200, i16 2201, i16 2202, i16 2203, i16 2204, i16 2205, i16 2206, i16 2207, i16 2208, i16 2209, i16 2210, i16 2211, i16 2212, i16 2213, i16 2214, i16 2215, i16 2216, i16 2217, i16 2218, i16 2219, i16 2220, i16 2221, i16 2222, i16 2223, i16 2224, i16 2225, i16 2226, i16 2227, i16 2228, i16 2229, i16 2230, i16 2231, i16 2232, i16 2233, i16 2234, i16 2235, i16 2236, i16 2237, i16 2238, i16 2239, i16 2240, i16 2241, i16 2242, i16 2243, i16 2091, i16 2093, i16 2244, i16 2245, i16 2246, i16 2247, i16 2248, i16 2091, i16 2249, i16 2250, i16 2251, i16 2252, i16 2253, i16 2093, i16 2254, i16 2255, i16 2256, i16 2257, i16 2258, i16 2259, i16 2260, i16 2261, i16 2262, i16 2263, i16 2264, i16 2265, i16 2266, i16 2267, i16 2268, i16 2269, i16 2270, i16 2091, i16 2093, i16 2271, i16 2272, i16 2273, i16 2274, i16 2275, i16 2276, i16 2277, i16 2278, i16 2279, i16 2280, i16 2281, i16 2282, i16 2283, i16 2284, i16 2285, i16 2091, i16 2093, i16 2286, i16 2287, i16 2093, i16 2288, i16 2289, i16 2290, i16 2291, i16 2292, i16 2293, i16 2294, i16 2295, i16 2296, i16 2297, i16 2298, i16 2299, i16 2300, i16 2301, i16 2302, i16 2303, i16 2304, i16 2305, i16 2306, i16 2307, i16 2308, i16 2309, i16 2310, i16 2311, i16 2312, i16 2313, i16 2314, i16 2315, i16 2316, i16 2317, i16 2318, i16 2319, i16 2320, i16 2091, i16 2321, i16 2322, i16 2093, i16 2323, i16 2324, i16 2325, i16 2091, i16 2093, i16 2326, i16 2327, i16 2328, i16 2329, i16 2330, i16 2331, i16 2332, i16 2333, i16 2334, i16 2335, i16 2336, i16 2337, i16 2338, i16 2091, i16 2339, i16 2093, i16 2340, i16 2341, i16 2342, i16 2343, i16 2344, i16 2345, i16 2346, i16 2347, i16 2348, i16 2349, i16 2350, i16 2351, i16 2352, i16 2353, i16 2354, i16 2355, i16 2356, i16 2357, i16 2358, i16 2091, i16 2093, i16 2359, i16 2360, i16 2361, i16 2362, i16 2363, i16 2364, i16 2365, i16 2091, i16 2093, i16 2366, i16 2367, i16 2368, i16 2369, i16 2370, i16 2371, i16 2372, i16 2373, i16 2374, i16 2375, i16 2376, i16 2377, i16 2378, i16 2379, i16 2380, i16 2381, i16 2382, i16 2383, i16 2091, i16 2384, i16 2385, i16 2093, i16 2386, i16 2387, i16 2388, i16 2389, i16 2390, i16 2391, i16 2392, i16 2393, i16 2394, i16 2395, i16 2396, i16 2397, i16 2398, i16 2399, i16 2400, i16 2401, i16 2402, i16 2403, i16 2404, i16 2405, i16 2406, i16 2407, i16 2408, i16 2409, i16 2410, i16 2411, i16 2412, i16 2413, i16 2414, i16 2415, i16 2416, i16 2417, i16 2418, i16 2419, i16 2420, i16 2421, i16 2422, i16 2423, i16 2424, i16 2425, i16 2426, i16 2427, i16 2428, i16 2429, i16 2430, i16 2431, i16 2432, i16 2433, i16 2434, i16 2435, i16 2436, i16 2437, i16 2438, i16 2439, i16 2440, i16 2441, i16 2442, i16 2443, i16 2444, i16 2445, i16 2446, i16 2447, i16 2448, i16 2449, i16 2450, i16 2451, i16 2091, i16 2452, i16 2453, i16 2093, i16 2454, i16 2455, i16 2456, i16 2457, i16 2458, i16 2091, i16 2093, i16 2459, i16 2091, i16 2093, i16 2460, i16 2461, i16 2462, i16 2463, i16 2464, i16 2465, i16 2466, i16 2467, i16 2468, i16 2469, i16 2470, i16 2471, i16 2472, i16 2473, i16 2474, i16 2475, i16 2476, i16 2178, i16 2477, i16 2091, i16 2093, i16 2478, i16 2479, i16 2480, i16 2481, i16 2482, i16 2483, i16 2484, i16 2485, i16 2486, i16 2487, i16 2488, i16 2489, i16 2490, i16 2491, i16 2492, i16 2493, i16 2178, i16 2494, i16 2495, i16 2496, i16 2091, i16 2497, i16 2498, i16 2499, i16 2093, i16 2500, i16 2501, i16 2502, i16 2503, i16 2504, i16 2505, i16 2506, i16 2507, i16 2508, i16 2509, i16 2510, i16 2511, i16 2512, i16 2513, i16 2514, i16 2091, i16 2515, i16 2516, i16 2093, i16 2517, i16 2518, i16 2519, i16 2520, i16 2521, i16 2522, i16 2523, i16 2524, i16 2525, i16 2526, i16 2527, i16 2528, i16 2529, i16 2530, i16 2531, i16 2532, i16 2533, i16 2534, i16 2535, i16 2536, i16 2537, i16 2538, i16 2539, i16 2540, i16 2541, i16 2542, i16 2543, i16 2544, i16 2545, i16 2546, i16 2547, i16 2548, i16 2549, i16 2550, i16 2551, i16 2552, i16 2553, i16 2554, i16 2555, i16 2556, i16 2557, i16 2558, i16 2559, i16 2560, i16 2561, i16 2562, i16 2563, i16 2564, i16 2565, i16 2566, i16 2567, i16 2568, i16 2569, i16 2570, i16 2571, i16 2572, i16 2573, i16 2574, i16 2575, i16 2576, i16 2577, i16 2091, i16 2093, i16 2578, i16 2579, i16 2580, i16 2581, i16 2582, i16 2091, i16 2093, i16 2583, i16 2584, i16 2585, i16 2586, i16 2587, i16 2588, i16 2589, i16 2590, i16 2591, i16 2592, i16 2593, i16 2594, i16 2595, i16 2091, i16 2093, i16 2596, i16 2597, i16 2598, i16 2599, i16 2600, i16 2091, i16 2093, i16 2601, i16 2602, i16 2603, i16 2604, i16 2605, i16 2606, i16 2607, i16 2608, i16 2609, i16 2610, i16 2611, i16 2612, i16 2613, i16 2614, i16 2615, i16 2616, i16 2617, i16 2091, i16 2093, i16 2618, i16 2619, i16 2620, i16 2621, i16 2622, i16 2623, i16 2624, i16 2625, i16 2626, i16 2627, i16 2628, i16 2629, i16 2630, i16 2091, i16 2178, i16 2631, i16 2632, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2634, i16 2635, i16 2636, i16 2637, i16 2638, i16 2639, i16 2640, i16 2641, i16 2642, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2643, i16 2092, i16 2644, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2645, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2646, i16 2647, i16 2648, i16 2649, i16 2650, i16 2647, i16 2651, i16 2647, i16 2652, i16 2647, i16 2653, i16 2647, i16 2654, i16 2655, i16 2656, i16 2647, i16 2657, i16 2647, i16 2658, i16 2659, i16 2660, i16 2647, i16 2661, i16 2647, i16 2662, i16 2663, i16 2664, i16 2665, i16 2666, i16 2667, i16 2647, i16 2668, i16 2647, i16 2669, i16 2647, i16 2670, i16 2647, i16 2671, i16 2647, i16 2672, i16 2647, i16 2673, i16 2674, i16 2675, i16 2647, i16 2676, i16 2647, i16 2677, i16 2647, i16 2678, i16 2679, i16 2647, i16 2680, i16 2647, i16 2681, i16 2682, i16 2683, i16 2684, i16 2685, i16 2686, i16 2647, i16 2687, i16 2647, i16 2688, i16 2647, i16 2689, i16 2647, i16 2690, i16 2691, i16 2692, i16 2693, i16 2694, i16 2693, i16 2695, i16 2693, i16 2696, i16 2693, i16 2697, i16 2693, i16 2698, i16 2693, i16 2699, i16 2693, i16 2700, i16 2693, i16 2701, i16 2693, i16 2702, i16 2693, i16 2703, i16 2693, i16 2704, i16 2693, i16 2705, i16 2693, i16 2706, i16 2693, i16 2707, i16 2693, i16 2708, i16 2693, i16 2709, i16 2693, i16 2710, i16 2693, i16 2711, i16 2693, i16 2712, i16 2693, i16 2713, i16 2693, i16 2714, i16 2693, i16 2715, i16 2693, i16 2716, i16 2693, i16 2717, i16 2693, i16 2718, i16 2693, i16 2719, i16 2693, i16 2720, i16 2693, i16 2721, i16 2693, i16 2722, i16 2693, i16 2723, i16 2693, i16 2724, i16 2693, i16 2725, i16 2693, i16 2726, i16 2693, i16 2727, i16 2693, i16 2728, i16 2693, i16 2729, i16 2693, i16 2730, i16 2693, i16 2731, i16 2693, i16 2732, i16 2693, i16 2733, i16 2693, i16 2734, i16 2735, i16 2736, i16 2693, i16 2737, i16 2735, i16 2738, i16 2693, i16 2739, i16 2693, i16 2740, i16 2693, i16 2741, i16 2693, i16 2742, i16 2693, i16 2743, i16 2693, i16 2744, i16 2693, i16 2745, i16 2693, i16 2746, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2092, i16 2092, i16 2092, i16 2092, i16 2632, i16 2632, i16 2748, i16 2749, i16 2749, i16 2749, i16 2749, i16 2749, i16 2749, i16 2632, i16 2632, i16 2750, i16 2750, i16 2750, i16 2632, i16 2751, i16 2751, i16 2751, i16 2751, i16 2632, i16 2632, i16 2632, i16 2752, i16 2752, i16 2752, i16 2752, i16 2752, i16 2752, i16 2752, i16 2632, i16 2753, i16 2753, i16 2753, i16 2753, i16 2632, i16 2754, i16 2754, i16 2754, i16 2754, i16 2632, i16 2755, i16 2755, i16 2755, i16 2755, i16 2632, i16 2756, i16 2756, i16 2756, i16 2756, i16 2632, i16 2757, i16 2757, i16 2632, i16 2758, i16 2758, i16 2632, i16 2759, i16 2759, i16 2632, i16 2760, i16 2760, i16 2632, i16 2761, i16 2761, i16 2761, i16 2761, i16 2632, i16 2762, i16 2762, i16 2762, i16 2762, i16 2632, i16 2763, i16 2763, i16 2763, i16 2763, i16 2632, i16 2764, i16 2764, i16 2764, i16 2764, i16 2632, i16 2765, i16 2765, i16 2765, i16 2765, i16 2632, i16 2766, i16 2766, i16 2766, i16 2766, i16 2632, i16 2767, i16 2767, i16 2767, i16 2767, i16 2632, i16 2768, i16 2768, i16 2768, i16 2768, i16 2632, i16 2769, i16 2769, i16 2769, i16 2769, i16 2632, i16 2770, i16 2770, i16 2770, i16 2770, i16 2632, i16 2771, i16 2771, i16 2771, i16 2771, i16 2632, i16 2772, i16 2772, i16 2772, i16 2772, i16 2632, i16 2773, i16 2773, i16 2773, i16 2773, i16 2632, i16 2774, i16 2774, i16 2774, i16 2774, i16 2632, i16 2775, i16 2775, i16 2775, i16 2775, i16 2632, i16 2776, i16 2776, i16 2632, i16 2777, i16 2777, i16 2632, i16 2778, i16 2778, i16 2778, i16 2778, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2633, i16 2634, i16 2635, i16 2636, i16 2637, i16 2638, i16 2639, i16 2640, i16 2641, i16 2642, i16 2780, i16 2781, i16 2782, i16 2783, i16 2784, i16 2785, i16 2786, i16 2787, i16 2632, i16 2788, i16 2788, i16 2788, i16 2632, i16 2789, i16 2789, i16 2789, i16 2632, i16 2790, i16 2790, i16 2790, i16 2790, i16 2632, i16 2791, i16 2791, i16 2791, i16 2632, i16 2792, i16 2792, i16 2792, i16 2632, i16 2793, i16 2793, i16 2793, i16 2793, i16 2632, i16 2794, i16 2794, i16 2794, i16 2632, i16 2795, i16 2795, i16 2795, i16 2632, i16 2796, i16 2796, i16 2796, i16 2796, i16 2632, i16 2797, i16 2797, i16 2797, i16 2632, i16 2798, i16 2798, i16 2798, i16 2632, i16 2799, i16 2799, i16 2799, i16 2632, i16 2800, i16 2800, i16 2800, i16 2632, i16 2801, i16 2801, i16 2801, i16 2632, i16 2802, i16 2802, i16 2802, i16 2632, i16 2803, i16 2803, i16 2803, i16 2632, i16 2804, i16 2804, i16 2804, i16 2632, i16 2805, i16 2805, i16 2805, i16 2805, i16 2805, i16 2632, i16 2806, i16 2806, i16 2806, i16 2632, i16 2807, i16 2807, i16 2807, i16 2632, i16 2808, i16 2632, i16 2809, i16 2632, i16 2810, i16 2632, i16 2811, i16 2632, i16 2812, i16 2632, i16 2813, i16 2813, i16 2813, i16 2813, i16 2813, i16 2632, i16 2814, i16 2814, i16 2814, i16 2814, i16 2814, i16 2632, i16 2815, i16 2815, i16 2815, i16 2815, i16 2815, i16 2632, i16 2816, i16 2816, i16 2816, i16 2816, i16 2816, i16 2632, i16 2817, i16 2817, i16 2817, i16 2817, i16 2817, i16 2632, i16 2818, i16 2632, i16 2819, i16 2632, i16 2820, i16 2632, i16 2821, i16 2632, i16 2822, i16 2632, i16 2823, i16 2823, i16 2823, i16 2632, i16 2824, i16 2824, i16 2824, i16 2632, i16 2825, i16 2825, i16 2825, i16 2632, i16 2826, i16 2632, i16 2827, i16 2632, i16 2828, i16 2632, i16 2829, i16 2632, i16 2830, i16 2632, i16 2831, i16 2831, i16 2831, i16 2632, i16 2832, i16 2632, i16 2833, i16 2632, i16 2834, i16 2632, i16 2835, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2837, i16 2836, i16 2838, i16 2836, i16 2839, i16 2836, i16 2840, i16 2836, i16 2841, i16 2836, i16 2842, i16 2836, i16 2843, i16 2836, i16 2844, i16 2836, i16 2845, i16 2836, i16 2846, i16 2836, i16 2847, i16 2836, i16 2848, i16 2836, i16 2849, i16 2836, i16 2850, i16 2836, i16 2851, i16 2836, i16 2852, i16 2836, i16 2853, i16 2836, i16 2854, i16 2836, i16 2855, i16 2836, i16 2856, i16 2836, i16 2857, i16 2836, i16 2858, i16 2836, i16 2859, i16 2836, i16 2860, i16 2836, i16 2861, i16 2836, i16 2862, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2836, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2646, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2866, i16 2867, i16 2866, i16 2868, i16 2866, i16 2869, i16 2866, i16 2870, i16 2866, i16 2871, i16 2866, i16 2872, i16 2866, i16 2873, i16 2866, i16 2874, i16 2866, i16 2875, i16 2866, i16 2876, i16 2877, i16 2878, i16 2877, i16 2879, i16 2877, i16 2880, i16 2877, i16 2881, i16 2877, i16 2882, i16 2877, i16 2883, i16 2877, i16 2884, i16 2877, i16 2885, i16 2877, i16 2886, i16 2877, i16 2887, i16 2877, i16 2888, i16 2877, i16 2889, i16 2877, i16 2890, i16 2877, i16 2891, i16 2877, i16 2892, i16 2877, i16 2893, i16 2877, i16 2894, i16 2877, i16 2895, i16 2877, i16 2896, i16 2877, i16 2897, i16 2877, i16 2898, i16 2877, i16 2899, i16 2877, i16 2900, i16 2877, i16 2901, i16 2877, i16 2902, i16 2877, i16 2903, i16 2866, i16 2904, i16 2905, i16 2906, i16 2907, i16 2908, i16 2866, i16 2909, i16 2910, i16 2911, i16 2912, i16 2913, i16 2866, i16 2914, i16 2915, i16 2916, i16 2917, i16 2918, i16 2866, i16 2919, i16 2920, i16 2921, i16 2922, i16 2923, i16 2866, i16 2924, i16 2925, i16 2926, i16 2927, i16 2928, i16 2866, i16 2929, i16 2930, i16 2931, i16 2932, i16 2933, i16 2866, i16 2934, i16 2935, i16 2936, i16 2937, i16 2938, i16 2866, i16 2939, i16 2940, i16 2941, i16 2942, i16 2943, i16 2866, i16 2944, i16 2945, i16 2946, i16 2947, i16 2948, i16 2866, i16 2949, i16 2950, i16 2951, i16 2952, i16 2953, i16 2866, i16 2954, i16 2955, i16 2956, i16 2957, i16 2958, i16 2866, i16 2959, i16 2960, i16 2961, i16 2962, i16 2963, i16 2866, i16 2964, i16 2965, i16 2966, i16 2967, i16 2968, i16 2866, i16 2969, i16 2970, i16 2971, i16 2972, i16 2973, i16 2866, i16 2974, i16 2975, i16 2976, i16 2977, i16 2978, i16 2866, i16 2979, i16 2980, i16 2981, i16 2982, i16 2983, i16 2866, i16 2984, i16 2985, i16 2986, i16 2987, i16 2988, i16 2866, i16 2989, i16 2990, i16 2991, i16 2992, i16 2993, i16 2866, i16 2994, i16 2995, i16 2996, i16 2997, i16 2998, i16 2866, i16 2999, i16 3000, i16 3001, i16 3002, i16 3003, i16 2866, i16 3004, i16 3005, i16 3006, i16 3007, i16 3008, i16 2866, i16 3009, i16 3010, i16 3011, i16 3012, i16 3013, i16 2866, i16 3014, i16 3015, i16 3016, i16 3017, i16 3018, i16 2866, i16 3019, i16 3020, i16 3021, i16 3022, i16 3023, i16 2866, i16 3024, i16 3025, i16 3026, i16 3027, i16 3028, i16 2866, i16 3029, i16 3030, i16 3031, i16 3032, i16 3033, i16 2866, i16 3034, i16 3035, i16 3036, i16 3037, i16 3038, i16 2866, i16 3039, i16 3040, i16 3041, i16 3042, i16 3043, i16 2866, i16 3044, i16 3045, i16 3046, i16 3047, i16 3048, i16 2866, i16 3049, i16 3050, i16 3051, i16 3052, i16 3053, i16 2866, i16 3054, i16 3055, i16 3056, i16 3057, i16 3058, i16 2866, i16 3059, i16 3060, i16 3061, i16 3062, i16 3063, i16 2866, i16 3064, i16 3065, i16 3066, i16 3067, i16 3068, i16 2866, i16 3069, i16 3070, i16 3071, i16 3072, i16 3073, i16 2866, i16 3074, i16 3075, i16 3076, i16 3077, i16 3078, i16 2866, i16 2866, i16 3079, i16 3080, i16 3081, i16 3082, i16 3083, i16 2866, i16 2866, i16 3084, i16 3085, i16 3086, i16 3087, i16 3088, i16 2866, i16 3089, i16 3090, i16 3091, i16 3092, i16 3093, i16 2866, i16 3094, i16 3095, i16 3096, i16 3097, i16 3098, i16 2866, i16 3099, i16 3100, i16 3101, i16 3102, i16 3103, i16 2866, i16 3104, i16 3105, i16 3106, i16 3107, i16 3108, i16 2866, i16 3109, i16 3110, i16 3111, i16 3112, i16 3113, i16 2866, i16 3114, i16 3115, i16 3116, i16 3117, i16 3118, i16 2866, i16 3119, i16 3120, i16 3121, i16 3122, i16 3123, i16 2866, i16 2866, i16 2866, i16 2866, i16 3124, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 99, i16 104, i16 112, i16 117, i16 122, i16 124, i16 126, i16 128, i16 130, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 1162, i16 296, i16 0, i16 704, i16 0, i16 1166, i16 293, i16 0, i16 714, i16 0, i16 1168, i16 296, i16 0, i16 1167, i16 293, i16 0, i16 723, i16 0, i16 1169, i16 299, i16 0, i16 728, i16 0, i16 1170, i16 293, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 49, i16 51, i16 53, i16 55, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 83, i16 85, i16 87, i16 89, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 1174, i16 169, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 1176, i16 169, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 1173, i16 169, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 1175, i16 169, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 1222, i16 411, i16 0, i16 1221, i16 491, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 1219, i16 411, i16 0, i16 1220, i16 491, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 48, i16 50, i16 52, i16 54, i16 62, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 94, i16 96, i16 98, i16 100, i16 108, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 138, i16 140, i16 142, i16 144, i16 146, i16 148, i16 478, i16 0, i16 1265, i16 1008, i16 0, i16 1264, i16 1047, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 1269, i16 421, i16 0, i16 1268, i16 501, i16 0, i16 504, i16 0, i16 1273, i16 421, i16 0, i16 1272, i16 501, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 1262, i16 1008, i16 0, i16 1263, i16 1047, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 1266, i16 421, i16 0, i16 1267, i16 501, i16 0, i16 425, i16 0, i16 1270, i16 421, i16 0, i16 1271, i16 501, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 52, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 92, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 1318, i16 989, i16 0, i16 1317, i16 1029, i16 0, i16 491, i16 0, i16 1322, i16 401, i16 0, i16 1321, i16 481, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 1315, i16 989, i16 0, i16 1316, i16 1029, i16 0, i16 411, i16 0, i16 1319, i16 401, i16 0, i16 1320, i16 481, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 1222, i16 411, i16 0, i16 1221, i16 491, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1328, i16 413, i16 0, i16 1327, i16 493, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 1219, i16 411, i16 0, i16 1220, i16 491, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1325, i16 413, i16 0, i16 1326, i16 493, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 62, i16 142, i16 144, i16 168, i16 170, i16 194, i16 218, i16 220, i16 222, i16 224, i16 248, i16 272, i16 274, i16 298, i16 322, i16 402, i16 404, i16 428, i16 430, i16 454, i16 478, i16 480, i16 482, i16 484, i16 508, i16 532, i16 534, i16 558, i16 560, i16 562, i16 564, i16 566, i16 568, i16 570, i16 572, i16 574, i16 576, i16 1425, i16 451, i16 0, i16 1429, i16 398, i16 451, i16 0, i16 1428, i16 398, i16 528, i16 0, i16 1424, i16 528, i16 0, i16 1427, i16 478, i16 451, i16 0, i16 1426, i16 478, i16 528, i16 0, i16 478, i16 0, i16 1451, i16 471, i16 451, i16 0, i16 1450, i16 471, i16 528, i16 0, i16 1437, i16 471, i16 0, i16 1459, i16 399, i16 471, i16 451, i16 0, i16 1458, i16 399, i16 471, i16 528, i16 0, i16 1441, i16 399, i16 471, i16 0, i16 1457, i16 399, i16 548, i16 451, i16 0, i16 1456, i16 399, i16 548, i16 528, i16 0, i16 1440, i16 399, i16 548, i16 0, i16 1449, i16 548, i16 451, i16 0, i16 1448, i16 548, i16 528, i16 0, i16 1436, i16 548, i16 0, i16 1455, i16 479, i16 471, i16 451, i16 0, i16 1454, i16 479, i16 471, i16 528, i16 0, i16 1439, i16 479, i16 471, i16 0, i16 1453, i16 479, i16 548, i16 451, i16 0, i16 1452, i16 479, i16 548, i16 528, i16 0, i16 1438, i16 479, i16 548, i16 0, i16 479, i16 0, i16 490, i16 0, i16 1473, i16 467, i16 0, i16 1477, i16 411, i16 467, i16 0, i16 1476, i16 411, i16 544, i16 0, i16 1472, i16 544, i16 0, i16 1475, i16 491, i16 467, i16 0, i16 1474, i16 491, i16 544, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 1485, i16 467, i16 0, i16 1489, i16 425, i16 467, i16 0, i16 1488, i16 425, i16 544, i16 0, i16 1484, i16 544, i16 0, i16 1487, i16 504, i16 467, i16 0, i16 1486, i16 504, i16 544, i16 0, i16 504, i16 0, i16 1497, i16 467, i16 0, i16 1501, i16 432, i16 467, i16 0, i16 1500, i16 432, i16 544, i16 0, i16 1496, i16 544, i16 0, i16 1499, i16 511, i16 467, i16 0, i16 1498, i16 511, i16 544, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 1509, i16 471, i16 0, i16 1513, i16 451, i16 471, i16 0, i16 1512, i16 451, i16 548, i16 0, i16 1508, i16 548, i16 0, i16 1511, i16 528, i16 471, i16 0, i16 1510, i16 528, i16 548, i16 0, i16 528, i16 0, i16 1521, i16 467, i16 0, i16 1525, i16 453, i16 467, i16 0, i16 1524, i16 453, i16 544, i16 0, i16 1520, i16 544, i16 0, i16 1523, i16 530, i16 467, i16 0, i16 1522, i16 530, i16 544, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 1537, i16 471, i16 451, i16 0, i16 1536, i16 471, i16 528, i16 0, i16 1533, i16 451, i16 0, i16 1535, i16 548, i16 451, i16 0, i16 1534, i16 548, i16 528, i16 0, i16 1532, i16 528, i16 0, i16 548, i16 0, i16 1431, i16 451, i16 0, i16 1435, i16 398, i16 451, i16 0, i16 1434, i16 398, i16 528, i16 0, i16 1430, i16 528, i16 0, i16 1433, i16 478, i16 451, i16 0, i16 1432, i16 478, i16 528, i16 0, i16 398, i16 0, i16 1463, i16 471, i16 451, i16 0, i16 1462, i16 471, i16 528, i16 0, i16 1443, i16 471, i16 0, i16 1471, i16 399, i16 471, i16 451, i16 0, i16 1470, i16 399, i16 471, i16 528, i16 0, i16 1447, i16 399, i16 471, i16 0, i16 1469, i16 399, i16 548, i16 451, i16 0, i16 1468, i16 399, i16 548, i16 528, i16 0, i16 1446, i16 399, i16 548, i16 0, i16 1461, i16 548, i16 451, i16 0, i16 1460, i16 548, i16 528, i16 0, i16 1442, i16 548, i16 0, i16 1467, i16 479, i16 471, i16 451, i16 0, i16 1466, i16 479, i16 471, i16 528, i16 0, i16 1445, i16 479, i16 471, i16 0, i16 1465, i16 479, i16 548, i16 451, i16 0, i16 1464, i16 479, i16 548, i16 528, i16 0, i16 1444, i16 479, i16 548, i16 0, i16 399, i16 0, i16 410, i16 0, i16 1478, i16 467, i16 0, i16 1483, i16 411, i16 467, i16 0, i16 1482, i16 411, i16 544, i16 0, i16 1479, i16 544, i16 0, i16 1481, i16 491, i16 467, i16 0, i16 1480, i16 491, i16 544, i16 0, i16 411, i16 0, i16 990, i16 0, i16 1490, i16 467, i16 0, i16 1495, i16 425, i16 467, i16 0, i16 1494, i16 425, i16 544, i16 0, i16 1491, i16 544, i16 0, i16 1493, i16 504, i16 467, i16 0, i16 1492, i16 504, i16 544, i16 0, i16 425, i16 0, i16 1502, i16 467, i16 0, i16 1507, i16 432, i16 467, i16 0, i16 1506, i16 432, i16 544, i16 0, i16 1503, i16 544, i16 0, i16 1505, i16 511, i16 467, i16 0, i16 1504, i16 511, i16 544, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 1515, i16 471, i16 0, i16 1519, i16 451, i16 471, i16 0, i16 1518, i16 451, i16 548, i16 0, i16 1514, i16 548, i16 0, i16 1517, i16 528, i16 471, i16 0, i16 1516, i16 528, i16 548, i16 0, i16 451, i16 0, i16 1527, i16 467, i16 0, i16 1531, i16 453, i16 467, i16 0, i16 1530, i16 453, i16 544, i16 0, i16 1526, i16 544, i16 0, i16 1529, i16 530, i16 467, i16 0, i16 1528, i16 530, i16 544, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 1543, i16 471, i16 451, i16 0, i16 1542, i16 471, i16 528, i16 0, i16 1539, i16 451, i16 0, i16 1541, i16 548, i16 451, i16 0, i16 1540, i16 548, i16 528, i16 0, i16 1538, i16 528, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 112, i16 117, i16 122, i16 127, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1559, i16 1554, i16 0, i16 1556, i16 1552, i16 0, i16 1073, i16 0, i16 1560, i16 1553, i16 0, i16 582, i16 0, i16 1562, i16 1553, i16 0, i16 1080, i16 0, i16 1563, i16 1553, i16 0, i16 1082, i16 0, i16 1561, i16 1553, i16 0, i16 1564, i16 0, i16 38, i16 46, i16 54, i16 62, i16 64, i16 66, i16 74, i16 82, i16 84, i16 92, i16 100, i16 102, i16 110, i16 112, i16 114, i16 122, i16 130, i16 138, i16 140, i16 142, i16 150, i16 158, i16 160, i16 168, i16 176, i16 178, i16 186, i16 188, i16 190, i16 192, i16 194, i16 196, i16 198, i16 200, i16 202, i16 204, i16 206, i16 208, i16 1591, i16 413, i16 0, i16 1590, i16 493, i16 0, i16 478, i16 0, i16 1595, i16 399, i16 0, i16 1594, i16 479, i16 0, i16 479, i16 0, i16 1599, i16 410, i16 0, i16 1598, i16 490, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 1603, i16 425, i16 0, i16 1602, i16 504, i16 0, i16 504, i16 0, i16 1222, i16 411, i16 0, i16 1221, i16 491, i16 0, i16 511, i16 0, i16 515, i16 0, i16 1607, i16 413, i16 0, i16 1606, i16 493, i16 0, i16 522, i16 0, i16 1611, i16 413, i16 0, i16 1610, i16 493, i16 0, i16 524, i16 0, i16 528, i16 0, i16 1615, i16 413, i16 0, i16 1614, i16 493, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 1588, i16 413, i16 0, i16 1589, i16 493, i16 0, i16 398, i16 0, i16 1592, i16 399, i16 0, i16 1593, i16 479, i16 0, i16 399, i16 0, i16 1596, i16 410, i16 0, i16 1597, i16 490, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 1600, i16 425, i16 0, i16 1601, i16 504, i16 0, i16 425, i16 0, i16 1219, i16 411, i16 0, i16 1220, i16 491, i16 0, i16 432, i16 0, i16 437, i16 0, i16 1604, i16 413, i16 0, i16 1605, i16 493, i16 0, i16 445, i16 0, i16 1608, i16 413, i16 0, i16 1609, i16 493, i16 0, i16 447, i16 0, i16 451, i16 0, i16 1612, i16 413, i16 0, i16 1613, i16 493, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 138, i16 140, i16 1591, i16 413, i16 0, i16 1590, i16 493, i16 0, i16 1621, i16 169, i16 413, i16 0, i16 1620, i16 169, i16 493, i16 0, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 1588, i16 413, i16 0, i16 1589, i16 493, i16 0, i16 1618, i16 169, i16 413, i16 0, i16 1619, i16 169, i16 493, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 10, i16 12, i16 14, i16 16, i16 18, i16 20, i16 22, i16 24, i16 26, i16 28, i16 681, i16 0, i16 738, i16 0, i16 749, i16 0, i16 901, i16 0, i16 927, i16 0, i16 682, i16 0, i16 739, i16 0, i16 750, i16 0, i16 902, i16 0, i16 928, i16 0, i16 10, i16 18, i16 20, i16 22, i16 24, i16 26, i16 34, i16 36, i16 38, i16 40, i16 1884, i16 682, i16 0, i16 1883, i16 681, i16 0, i16 681, i16 0, i16 738, i16 0, i16 749, i16 0, i16 901, i16 0, i16 927, i16 0, i16 1886, i16 682, i16 0, i16 1885, i16 681, i16 0, i16 682, i16 0, i16 739, i16 0, i16 750, i16 0, i16 902, i16 0, i16 928, i16 0, i16 10, i16 12, i16 14, i16 22, i16 30, i16 38, i16 40, i16 42, i16 50, i16 58, i16 681, i16 0, i16 738, i16 0, i16 1928, i16 1880, i16 0, i16 1927, i16 1879, i16 0, i16 749, i16 0, i16 1932, i16 884, i16 0, i16 1931, i16 883, i16 0, i16 901, i16 0, i16 1936, i16 884, i16 0, i16 1935, i16 883, i16 0, i16 927, i16 0, i16 682, i16 0, i16 739, i16 0, i16 1930, i16 1880, i16 0, i16 1929, i16 1879, i16 0, i16 750, i16 0, i16 1934, i16 884, i16 0, i16 1933, i16 883, i16 0, i16 902, i16 0, i16 1938, i16 884, i16 0, i16 1937, i16 883, i16 0, i16 928, i16 0, i16 10, i16 12, i16 20, i16 22, i16 30, i16 32, i16 34, i16 42, i16 44, i16 52, i16 681, i16 0, i16 1940, i16 837, i16 0, i16 1939, i16 836, i16 0, i16 738, i16 0, i16 749, i16 0, i16 1944, i16 902, i16 0, i16 1943, i16 901, i16 0, i16 901, i16 0, i16 927, i16 0, i16 682, i16 0, i16 1942, i16 837, i16 0, i16 1941, i16 836, i16 0, i16 739, i16 0, i16 750, i16 0, i16 1946, i16 902, i16 0, i16 1945, i16 901, i16 0, i16 902, i16 0, i16 928, i16 0, i16 2, i16 10, i16 295, i16 278, i16 0, i16 294, i16 277, i16 0, i16 161, i16 0, i16 296, i16 278, i16 0, i16 162, i16 0, i16 5, i16 139, i16 273, i16 407, i16 541, i16 387, i16 386, i16 0, i16 381, i16 380, i16 0, i16 375, i16 374, i16 0, i16 369, i16 368, i16 0, i16 363, i16 362, i16 0, i16 357, i16 356, i16 0, i16 351, i16 350, i16 0, i16 345, i16 344, i16 0, i16 338, i16 337, i16 0, i16 331, i16 330, i16 0, i16 325, i16 324, i16 0, i16 319, i16 318, i16 0, i16 313, i16 312, i16 0, i16 307, i16 306, i16 0, i16 301, i16 300, i16 0, i16 295, i16 294, i16 0, i16 289, i16 288, i16 0, i16 283, i16 282, i16 0, i16 277, i16 276, i16 0, i16 271, i16 270, i16 0, i16 265, i16 264, i16 0, i16 259, i16 258, i16 0, i16 253, i16 252, i16 0, i16 247, i16 246, i16 0, i16 241, i16 240, i16 0, i16 235, i16 234, i16 0, i16 229, i16 228, i16 0, i16 223, i16 222, i16 0, i16 217, i16 216, i16 0, i16 211, i16 210, i16 0, i16 205, i16 204, i16 0, i16 199, i16 198, i16 0, i16 193, i16 192, i16 0, i16 187, i16 186, i16 0, i16 181, i16 180, i16 0, i16 175, i16 174, i16 0, i16 169, i16 168, i16 0, i16 163, i16 162, i16 0, i16 157, i16 156, i16 0, i16 151, i16 150, i16 0, i16 145, i16 144, i16 0, i16 139, i16 138, i16 0, i16 133, i16 132, i16 0, i16 127, i16 126, i16 0, i16 404, i16 0, i16 388, i16 386, i16 0, i16 382, i16 380, i16 0, i16 376, i16 374, i16 0, i16 370, i16 368, i16 0, i16 364, i16 362, i16 0, i16 358, i16 356, i16 0, i16 352, i16 350, i16 0, i16 346, i16 344, i16 0, i16 339, i16 337, i16 0, i16 332, i16 330, i16 0, i16 326, i16 324, i16 0, i16 320, i16 318, i16 0, i16 314, i16 312, i16 0, i16 308, i16 306, i16 0, i16 302, i16 300, i16 0, i16 296, i16 294, i16 0, i16 290, i16 288, i16 0, i16 284, i16 282, i16 0, i16 278, i16 276, i16 0, i16 272, i16 270, i16 0, i16 266, i16 264, i16 0, i16 260, i16 258, i16 0, i16 254, i16 252, i16 0, i16 248, i16 246, i16 0, i16 242, i16 240, i16 0, i16 236, i16 234, i16 0, i16 230, i16 228, i16 0, i16 224, i16 222, i16 0, i16 218, i16 216, i16 0, i16 212, i16 210, i16 0, i16 206, i16 204, i16 0, i16 200, i16 198, i16 0, i16 194, i16 192, i16 0, i16 188, i16 186, i16 0, i16 182, i16 180, i16 0, i16 176, i16 174, i16 0, i16 170, i16 168, i16 0, i16 164, i16 162, i16 0, i16 158, i16 156, i16 0, i16 152, i16 150, i16 0, i16 146, i16 144, i16 0, i16 140, i16 138, i16 0, i16 134, i16 132, i16 0, i16 128, i16 126, i16 0, i16 405, i16 0, i16 389, i16 386, i16 0, i16 383, i16 380, i16 0, i16 377, i16 374, i16 0, i16 371, i16 368, i16 0, i16 365, i16 362, i16 0, i16 359, i16 356, i16 0, i16 353, i16 350, i16 0, i16 347, i16 344, i16 0, i16 340, i16 337, i16 0, i16 333, i16 330, i16 0, i16 327, i16 324, i16 0, i16 321, i16 318, i16 0, i16 315, i16 312, i16 0, i16 309, i16 306, i16 0, i16 303, i16 300, i16 0, i16 297, i16 294, i16 0, i16 291, i16 288, i16 0, i16 285, i16 282, i16 0, i16 279, i16 276, i16 0, i16 273, i16 270, i16 0, i16 267, i16 264, i16 0, i16 261, i16 258, i16 0, i16 255, i16 252, i16 0, i16 249, i16 246, i16 0, i16 243, i16 240, i16 0, i16 237, i16 234, i16 0, i16 231, i16 228, i16 0, i16 225, i16 222, i16 0, i16 219, i16 216, i16 0, i16 213, i16 210, i16 0, i16 207, i16 204, i16 0, i16 201, i16 198, i16 0, i16 195, i16 192, i16 0, i16 189, i16 186, i16 0, i16 183, i16 180, i16 0, i16 177, i16 174, i16 0, i16 171, i16 168, i16 0, i16 165, i16 162, i16 0, i16 159, i16 156, i16 0, i16 153, i16 150, i16 0, i16 147, i16 144, i16 0, i16 141, i16 138, i16 0, i16 135, i16 132, i16 0, i16 129, i16 126, i16 0, i16 406, i16 0, i16 390, i16 386, i16 0, i16 384, i16 380, i16 0, i16 378, i16 374, i16 0, i16 372, i16 368, i16 0, i16 366, i16 362, i16 0, i16 360, i16 356, i16 0, i16 354, i16 350, i16 0, i16 348, i16 344, i16 0, i16 341, i16 337, i16 0, i16 334, i16 330, i16 0, i16 328, i16 324, i16 0, i16 322, i16 318, i16 0, i16 316, i16 312, i16 0, i16 310, i16 306, i16 0, i16 304, i16 300, i16 0, i16 298, i16 294, i16 0, i16 292, i16 288, i16 0, i16 286, i16 282, i16 0, i16 280, i16 276, i16 0, i16 274, i16 270, i16 0, i16 268, i16 264, i16 0, i16 262, i16 258, i16 0, i16 256, i16 252, i16 0, i16 250, i16 246, i16 0, i16 244, i16 240, i16 0, i16 238, i16 234, i16 0, i16 232, i16 228, i16 0, i16 226, i16 222, i16 0, i16 220, i16 216, i16 0, i16 214, i16 210, i16 0, i16 208, i16 204, i16 0, i16 202, i16 198, i16 0, i16 196, i16 192, i16 0, i16 190, i16 186, i16 0, i16 184, i16 180, i16 0, i16 178, i16 174, i16 0, i16 172, i16 168, i16 0, i16 166, i16 162, i16 0, i16 160, i16 156, i16 0, i16 154, i16 150, i16 0, i16 148, i16 144, i16 0, i16 142, i16 138, i16 0, i16 136, i16 132, i16 0, i16 130, i16 126, i16 0, i16 407, i16 0, i16 391, i16 386, i16 0, i16 385, i16 380, i16 0, i16 379, i16 374, i16 0, i16 373, i16 368, i16 0, i16 367, i16 362, i16 0, i16 361, i16 356, i16 0, i16 355, i16 350, i16 0, i16 349, i16 344, i16 0, i16 342, i16 337, i16 0, i16 335, i16 330, i16 0, i16 329, i16 324, i16 0, i16 323, i16 318, i16 0, i16 317, i16 312, i16 0, i16 311, i16 306, i16 0, i16 305, i16 300, i16 0, i16 299, i16 294, i16 0, i16 293, i16 288, i16 0, i16 287, i16 282, i16 0, i16 281, i16 276, i16 0, i16 275, i16 270, i16 0, i16 269, i16 264, i16 0, i16 263, i16 258, i16 0, i16 257, i16 252, i16 0, i16 251, i16 246, i16 0, i16 245, i16 240, i16 0, i16 239, i16 234, i16 0, i16 233, i16 228, i16 0, i16 227, i16 222, i16 0, i16 221, i16 216, i16 0, i16 215, i16 210, i16 0, i16 209, i16 204, i16 0, i16 203, i16 198, i16 0, i16 197, i16 192, i16 0, i16 191, i16 186, i16 0, i16 185, i16 180, i16 0, i16 179, i16 174, i16 0, i16 173, i16 168, i16 0, i16 167, i16 162, i16 0, i16 161, i16 156, i16 0, i16 155, i16 150, i16 0, i16 149, i16 144, i16 0, i16 143, i16 138, i16 0, i16 137, i16 132, i16 0, i16 131, i16 126, i16 0, i16 408, i16 0, i16 1, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 263, i16 1158, i16 0, i16 1159, i16 0, i16 2, i16 272, i16 1160, i16 0, i16 1161, i16 0, i16 2, i16 1375, i16 1163, i16 748, i16 1164, i16 749, i16 2, i16 1381, i16 1165, i16 750, i16 1166, i16 751, i16 2, i16 1392, i16 1167, i16 752, i16 1168, i16 753, i16 2, i16 1401, i16 1169, i16 754, i16 1170, i16 755, i16 1, i16 1156, i16 244, i16 0, i16 1157, i16 253, i16 0, i16 1162, i16 1370, i16 756, i16 1155, i16 22611, i16 1, i16 0, i16 1, i16 1171, i16 142, i16 0, i16 1172, i16 163, i16 0, i16 1173, i16 699, i16 757, i16 1174, i16 907, i16 758, i16 1175, i16 762, i16 759, i16 1176, i16 968, i16 760, i16 1155, i16 22611, i16 1, i16 0, i16 1, i16 1177, i16 306, i16 0, i16 1178, i16 1512, i16 761, i16 1179, i16 1576, i16 762, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 145, i16 900, i16 0, i16 1183, i16 0, i16 901, i16 0, i16 902, i16 0, i16 903, i16 0, i16 2, i16 636, i16 1196, i16 763, i16 974, i16 764, i16 2, i16 845, i16 1197, i16 765, i16 1014, i16 766, i16 2, i16 712, i16 992, i16 767, i16 990, i16 768, i16 2, i16 920, i16 1030, i16 769, i16 1032, i16 770, i16 2, i16 749, i16 995, i16 771, i16 994, i16 772, i16 2, i16 956, i16 1035, i16 773, i16 1034, i16 774, i16 2, i16 762, i16 1198, i16 775, i16 996, i16 775, i16 2, i16 968, i16 1199, i16 776, i16 1036, i16 776, i16 1, i16 1180, i16 121, i16 0, i16 1181, i16 127, i16 0, i16 1182, i16 142, i16 0, i16 1184, i16 161, i16 0, i16 1185, i16 163, i16 0, i16 1186, i16 173, i16 0, i16 1187, i16 178, i16 0, i16 1188, i16 303, i16 0, i16 1189, i16 309, i16 0, i16 1190, i16 322, i16 0, i16 1191, i16 327, i16 0, i16 1192, i16 330, i16 0, i16 1193, i16 340, i16 0, i16 1194, i16 343, i16 0, i16 1195, i16 346, i16 0, i16 978, i16 656, i16 777, i16 1018, i16 864, i16 778, i16 985, i16 699, i16 779, i16 1025, i16 907, i16 780, i16 1001, i16 787, i16 781, i16 1041, i16 992, i16 782, i16 1004, i16 809, i16 783, i16 1043, i16 1013, i16 784, i16 1200, i16 1506, i16 785, i16 1201, i16 1570, i16 786, i16 1202, i16 1514, i16 787, i16 1203, i16 1579, i16 788, i16 1204, i16 1532, i16 789, i16 1205, i16 1597, i16 790, i16 1206, i16 1538, i16 791, i16 1207, i16 1603, i16 792, i16 1208, i16 1541, i16 793, i16 1209, i16 1606, i16 794, i16 1210, i16 1549, i16 795, i16 1211, i16 1614, i16 796, i16 1212, i16 1553, i16 797, i16 1213, i16 1618, i16 798, i16 1214, i16 1556, i16 799, i16 1215, i16 1621, i16 800, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 749, i16 1219, i16 801, i16 1220, i16 802, i16 2, i16 956, i16 1221, i16 803, i16 1222, i16 804, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1218, i16 161, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 12, i16 22611, i16 1223, i16 805, i16 1224, i16 805, i16 1225, i16 805, i16 1226, i16 805, i16 1227, i16 805, i16 1228, i16 805, i16 1229, i16 805, i16 1230, i16 805, i16 1231, i16 805, i16 1232, i16 805, i16 1233, i16 805, i16 1234, i16 805, i16 1, i16 1155, i16 22623, i16 1, i16 0, i16 1, i16 1188, i16 303, i16 0, i16 1235, i16 316, i16 0, i16 1236, i16 322, i16 0, i16 1237, i16 338, i16 0, i16 1238, i16 343, i16 0, i16 1239, i16 346, i16 0, i16 1200, i16 1506, i16 785, i16 1201, i16 1570, i16 786, i16 1240, i16 1524, i16 806, i16 1241, i16 1588, i16 807, i16 1242, i16 1532, i16 808, i16 1243, i16 1597, i16 809, i16 1244, i16 1549, i16 810, i16 1245, i16 1614, i16 811, i16 1246, i16 1553, i16 812, i16 1247, i16 1618, i16 813, i16 1248, i16 1556, i16 814, i16 1249, i16 1621, i16 815, i16 1155, i16 22611, i16 1, i16 0, i16 4, i16 189, i16 1250, i16 0, i16 1251, i16 0, i16 1252, i16 0, i16 1253, i16 0, i16 3, i16 645, i16 974, i16 816, i16 975, i16 817, i16 977, i16 818, i16 2, i16 769, i16 996, i16 819, i16 997, i16 820, i16 3, i16 853, i16 1014, i16 821, i16 1015, i16 822, i16 1017, i16 823, i16 2, i16 974, i16 1036, i16 824, i16 1037, i16 825, i16 1, i16 895, i16 53, i16 0, i16 1046, i16 1026, i16 826, i16 1007, i16 822, i16 827, i16 1004, i16 813, i16 828, i16 1043, i16 1017, i16 829, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 127, i16 1254, i16 0, i16 1255, i16 0, i16 898, i16 0, i16 1256, i16 0, i16 1257, i16 0, i16 2, i16 656, i16 979, i16 830, i16 981, i16 831, i16 2, i16 864, i16 1019, i16 832, i16 1021, i16 833, i16 3, i16 670, i16 1262, i16 834, i16 1263, i16 835, i16 984, i16 836, i16 3, i16 878, i16 1264, i16 837, i16 1265, i16 838, i16 1024, i16 839, i16 2, i16 736, i16 1266, i16 840, i16 1267, i16 841, i16 2, i16 943, i16 1268, i16 842, i16 1269, i16 843, i16 2, i16 749, i16 1270, i16 844, i16 1271, i16 845, i16 2, i16 956, i16 1272, i16 846, i16 1273, i16 847, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1258, i16 158, i16 0, i16 1259, i16 161, i16 0, i16 1260, i16 173, i16 0, i16 1261, i16 189, i16 0, i16 1000, i16 787, i16 848, i16 1040, i16 992, i16 849, i16 1008, i16 834, i16 850, i16 1047, i16 1038, i16 851, i16 1155, i16 22611, i16 1, i16 0, i16 4, i16 121, i16 1274, i16 0, i16 1275, i16 0, i16 1276, i16 0, i16 1277, i16 0, i16 4, i16 127, i16 1255, i16 0, i16 1278, i16 0, i16 1279, i16 0, i16 1280, i16 0, i16 2, i16 133, i16 1281, i16 0, i16 1282, i16 0, i16 2, i16 142, i16 1284, i16 0, i16 1285, i16 0, i16 2, i16 173, i16 1287, i16 0, i16 1260, i16 0, i16 5, i16 194, i16 1288, i16 0, i16 1253, i16 0, i16 1250, i16 0, i16 1289, i16 0, i16 1252, i16 0, i16 4, i16 636, i16 971, i16 852, i16 970, i16 853, i16 972, i16 854, i16 973, i16 855, i16 4, i16 845, i16 1011, i16 856, i16 1010, i16 857, i16 1012, i16 858, i16 1013, i16 859, i16 2, i16 656, i16 978, i16 860, i16 981, i16 861, i16 2, i16 864, i16 1018, i16 862, i16 1021, i16 863, i16 2, i16 667, i16 1290, i16 864, i16 1291, i16 865, i16 2, i16 875, i16 1292, i16 864, i16 1293, i16 866, i16 2, i16 670, i16 983, i16 867, i16 984, i16 868, i16 2, i16 878, i16 1023, i16 869, i16 1024, i16 870, i16 2, i16 709, i16 1295, i16 871, i16 1296, i16 872, i16 2, i16 917, i16 1297, i16 871, i16 1298, i16 872, i16 3, i16 992, i16 1002, i16 873, i16 1000, i16 874, i16 1040, i16 875, i16 3, i16 645, i16 974, i16 876, i16 975, i16 817, i16 977, i16 877, i16 2, i16 769, i16 996, i16 819, i16 997, i16 820, i16 3, i16 853, i16 1014, i16 878, i16 1015, i16 822, i16 1017, i16 879, i16 2, i16 974, i16 1036, i16 824, i16 1037, i16 825, i16 1, i16 889, i16 16, i16 0, i16 1283, i16 138, i16 0, i16 1286, i16 156, i16 0, i16 1294, i16 696, i16 880, i16 1299, i16 734, i16 881, i16 1300, i16 941, i16 882, i16 1004, i16 813, i16 828, i16 1043, i16 1017, i16 829, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 46, i16 897, i16 0, i16 896, i16 0, i16 2, i16 121, i16 1301, i16 0, i16 1302, i16 0, i16 2, i16 636, i16 972, i16 883, i16 976, i16 884, i16 2, i16 845, i16 1012, i16 885, i16 1016, i16 886, i16 2, i16 787, i16 1305, i16 781, i16 1001, i16 781, i16 2, i16 992, i16 1306, i16 781, i16 1041, i16 782, i16 2, i16 799, i16 1307, i16 887, i16 1003, i16 887, i16 2, i16 1003, i16 1308, i16 887, i16 1042, i16 888, i16 1, i16 1303, i16 152, i16 0, i16 1186, i16 173, i16 0, i16 1304, i16 176, i16 0, i16 991, i16 717, i16 889, i16 1031, i16 925, i16 890, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 699, i16 1315, i16 891, i16 1316, i16 892, i16 2, i16 907, i16 1317, i16 893, i16 1318, i16 894, i16 2, i16 717, i16 1319, i16 895, i16 1320, i16 896, i16 2, i16 925, i16 1321, i16 897, i16 1322, i16 898, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1309, i16 127, i16 0, i16 1310, i16 138, i16 0, i16 1311, i16 142, i16 0, i16 1312, i16 145, i16 0, i16 1313, i16 152, i16 0, i16 1314, i16 187, i16 0, i16 982, i16 656, i16 899, i16 1022, i16 864, i16 900, i16 987, i16 696, i16 901, i16 1027, i16 904, i16 902, i16 989, i16 712, i16 903, i16 1029, i16 920, i16 904, i16 1009, i16 829, i16 905, i16 1048, i16 1033, i16 906, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 749, i16 1219, i16 907, i16 1220, i16 908, i16 2, i16 956, i16 1221, i16 909, i16 1222, i16 910, i16 2, i16 824, i16 1325, i16 911, i16 1326, i16 912, i16 2, i16 1028, i16 1327, i16 913, i16 1328, i16 914, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1323, i16 161, i16 0, i16 1324, i16 184, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 76, i16 1632, i16 1329, i16 915, i16 1330, i16 915, i16 1331, i16 915, i16 1332, i16 915, i16 1333, i16 915, i16 1334, i16 915, i16 1335, i16 915, i16 1336, i16 915, i16 1337, i16 915, i16 1338, i16 915, i16 1339, i16 915, i16 1340, i16 915, i16 1341, i16 915, i16 1342, i16 915, i16 1343, i16 915, i16 1344, i16 915, i16 1345, i16 915, i16 1346, i16 915, i16 1347, i16 915, i16 1348, i16 915, i16 1349, i16 915, i16 1350, i16 915, i16 1351, i16 915, i16 1352, i16 915, i16 1353, i16 915, i16 1354, i16 915, i16 1355, i16 915, i16 1356, i16 915, i16 1357, i16 915, i16 1358, i16 915, i16 1359, i16 915, i16 1360, i16 915, i16 1361, i16 915, i16 1362, i16 915, i16 1363, i16 915, i16 1364, i16 915, i16 1365, i16 915, i16 1366, i16 915, i16 1367, i16 916, i16 1368, i16 916, i16 1369, i16 916, i16 1370, i16 916, i16 1371, i16 916, i16 1372, i16 916, i16 1373, i16 916, i16 1374, i16 916, i16 1375, i16 916, i16 1376, i16 916, i16 1377, i16 916, i16 1378, i16 916, i16 1379, i16 916, i16 1380, i16 916, i16 1381, i16 916, i16 1382, i16 916, i16 1383, i16 916, i16 1384, i16 916, i16 1385, i16 916, i16 1386, i16 916, i16 1387, i16 916, i16 1388, i16 916, i16 1389, i16 916, i16 1390, i16 916, i16 1391, i16 916, i16 1392, i16 916, i16 1393, i16 916, i16 1394, i16 916, i16 1395, i16 916, i16 1396, i16 916, i16 1397, i16 916, i16 1398, i16 916, i16 1399, i16 916, i16 1400, i16 916, i16 1401, i16 916, i16 1402, i16 916, i16 1403, i16 916, i16 1404, i16 916, i16 1, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 3, i16 1216, i16 0, i16 1405, i16 0, i16 1406, i16 0, i16 1407, i16 0, i16 1408, i16 0, i16 5, i16 16, i16 1217, i16 0, i16 1409, i16 0, i16 1410, i16 0, i16 1411, i16 0, i16 1412, i16 0, i16 2, i16 133, i16 1414, i16 0, i16 1415, i16 0, i16 4, i16 163, i16 996, i16 917, i16 998, i16 918, i16 1036, i16 919, i16 1038, i16 920, i16 4, i16 178, i16 1004, i16 921, i16 1006, i16 922, i16 1043, i16 923, i16 1045, i16 924, i16 6, i16 864, i16 1424, i16 925, i16 1425, i16 926, i16 1426, i16 927, i16 1427, i16 928, i16 1428, i16 929, i16 1429, i16 930, i16 6, i16 656, i16 1430, i16 931, i16 1431, i16 932, i16 1432, i16 933, i16 1433, i16 934, i16 1434, i16 935, i16 1435, i16 936, i16 6, i16 878, i16 1436, i16 937, i16 1437, i16 938, i16 1438, i16 939, i16 1439, i16 940, i16 1440, i16 941, i16 1441, i16 942, i16 6, i16 670, i16 1442, i16 943, i16 1443, i16 944, i16 1444, i16 945, i16 1445, i16 946, i16 1446, i16 947, i16 1447, i16 948, i16 12, i16 878, i16 1448, i16 949, i16 1449, i16 950, i16 1450, i16 951, i16 1451, i16 952, i16 1452, i16 953, i16 1453, i16 954, i16 1454, i16 955, i16 1455, i16 956, i16 1456, i16 953, i16 1457, i16 954, i16 1458, i16 955, i16 1459, i16 956, i16 12, i16 670, i16 1460, i16 957, i16 1461, i16 958, i16 1462, i16 959, i16 1463, i16 960, i16 1464, i16 961, i16 1465, i16 962, i16 1466, i16 963, i16 1467, i16 964, i16 1468, i16 961, i16 1469, i16 962, i16 1470, i16 963, i16 1471, i16 964, i16 6, i16 907, i16 1472, i16 965, i16 1473, i16 966, i16 1474, i16 967, i16 1475, i16 968, i16 1476, i16 969, i16 1477, i16 970, i16 6, i16 699, i16 1478, i16 971, i16 1479, i16 972, i16 1480, i16 973, i16 1481, i16 974, i16 1482, i16 975, i16 1483, i16 976, i16 6, i16 943, i16 1484, i16 977, i16 1485, i16 978, i16 1486, i16 979, i16 1487, i16 980, i16 1488, i16 981, i16 1489, i16 982, i16 6, i16 736, i16 1490, i16 983, i16 1491, i16 984, i16 1492, i16 985, i16 1493, i16 986, i16 1494, i16 987, i16 1495, i16 988, i16 6, i16 956, i16 1496, i16 989, i16 1497, i16 990, i16 1498, i16 991, i16 1499, i16 992, i16 1500, i16 993, i16 1501, i16 994, i16 6, i16 749, i16 1502, i16 995, i16 1503, i16 996, i16 1504, i16 997, i16 1505, i16 998, i16 1506, i16 999, i16 1507, i16 1000, i16 6, i16 992, i16 1508, i16 1001, i16 1509, i16 1002, i16 1510, i16 1003, i16 1511, i16 1004, i16 1512, i16 1005, i16 1513, i16 1006, i16 6, i16 787, i16 1514, i16 1007, i16 1515, i16 1008, i16 1516, i16 1009, i16 1517, i16 1010, i16 1518, i16 1011, i16 1519, i16 1012, i16 6, i16 1003, i16 1520, i16 1013, i16 1521, i16 1014, i16 1522, i16 1015, i16 1523, i16 1016, i16 1524, i16 1017, i16 1525, i16 1018, i16 6, i16 799, i16 1526, i16 1019, i16 1527, i16 1020, i16 1528, i16 1021, i16 1529, i16 1022, i16 1530, i16 1023, i16 1531, i16 1024, i16 6, i16 1038, i16 1532, i16 1025, i16 1533, i16 1026, i16 1534, i16 1027, i16 1535, i16 1028, i16 1536, i16 1029, i16 1537, i16 1030, i16 6, i16 834, i16 1538, i16 1031, i16 1539, i16 1032, i16 1540, i16 1033, i16 1541, i16 1034, i16 1542, i16 1035, i16 1543, i16 1036, i16 1, i16 1413, i16 127, i16 0, i16 1416, i16 142, i16 0, i16 1417, i16 158, i16 0, i16 1418, i16 161, i16 0, i16 1419, i16 163, i16 0, i16 1420, i16 173, i16 0, i16 1421, i16 176, i16 0, i16 1422, i16 178, i16 0, i16 1423, i16 189, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 9, i16 31, i16 890, i16 0, i16 892, i16 0, i16 1544, i16 0, i16 891, i16 0, i16 1545, i16 0, i16 1546, i16 0, i16 1547, i16 0, i16 893, i16 0, i16 894, i16 0, i16 2, i16 42, i16 1548, i16 0, i16 1549, i16 0, i16 3, i16 194, i16 1550, i16 0, i16 906, i16 0, i16 905, i16 0, i16 2, i16 238, i16 907, i16 0, i16 1551, i16 0, i16 16, i16 482, i16 961, i16 1037, i16 962, i16 1037, i16 963, i16 1037, i16 967, i16 1037, i16 968, i16 1037, i16 969, i16 1037, i16 964, i16 1037, i16 965, i16 1037, i16 966, i16 1037, i16 954, i16 1037, i16 955, i16 1037, i16 956, i16 1037, i16 959, i16 1037, i16 960, i16 1037, i16 957, i16 1037, i16 958, i16 1037, i16 4, i16 520, i16 1552, i16 1037, i16 1553, i16 1037, i16 1554, i16 1037, i16 1555, i16 1037, i16 35, i16 1049, i16 1050, i16 641, i16 1049, i16 642, i16 1052, i16 643, i16 1051, i16 644, i16 1054, i16 645, i16 1053, i16 646, i16 1056, i16 647, i16 1055, i16 648, i16 1058, i16 649, i16 1057, i16 650, i16 1060, i16 651, i16 1059, i16 652, i16 1062, i16 653, i16 1061, i16 654, i16 1064, i16 655, i16 1063, i16 656, i16 1066, i16 657, i16 1065, i16 658, i16 1068, i16 659, i16 1067, i16 660, i16 1070, i16 1038, i16 1556, i16 1038, i16 1073, i16 665, i16 1557, i16 1039, i16 1069, i16 661, i16 1071, i16 1040, i16 1558, i16 1040, i16 1072, i16 1041, i16 1559, i16 1041, i16 1079, i16 1042, i16 1560, i16 1042, i16 1081, i16 1043, i16 1561, i16 1044, i16 1562, i16 1045, i16 1563, i16 1043, i16 2, i16 1135, i16 1076, i16 667, i16 1075, i16 1046, i16 6, i16 1148, i16 1077, i16 669, i16 1074, i16 1047, i16 1078, i16 1048, i16 1564, i16 1049, i16 1080, i16 1050, i16 1082, i16 1051, i16 15, i16 1160, i16 1084, i16 1052, i16 1085, i16 1053, i16 1090, i16 1054, i16 1091, i16 1055, i16 1565, i16 1056, i16 1566, i16 1057, i16 1083, i16 1058, i16 1086, i16 1059, i16 1087, i16 1060, i16 1088, i16 1061, i16 1089, i16 1062, i16 1108, i16 1063, i16 1109, i16 1064, i16 1567, i16 1065, i16 1568, i16 1066, i16 8, i16 1276, i16 1098, i16 1067, i16 1099, i16 1068, i16 1100, i16 1069, i16 1101, i16 1070, i16 1094, i16 1071, i16 1095, i16 1072, i16 1096, i16 1073, i16 1097, i16 1074, i16 26, i16 1320, i16 1102, i16 1075, i16 1103, i16 1076, i16 1104, i16 1077, i16 1105, i16 1078, i16 1092, i16 1079, i16 1093, i16 1080, i16 1106, i16 1081, i16 1107, i16 1082, i16 1570, i16 1083, i16 1571, i16 1084, i16 1572, i16 1085, i16 1573, i16 1086, i16 1110, i16 1087, i16 1111, i16 1088, i16 1112, i16 1089, i16 1113, i16 1090, i16 1114, i16 1091, i16 1115, i16 1092, i16 1116, i16 1093, i16 1117, i16 1094, i16 1118, i16 1095, i16 1119, i16 1096, i16 1120, i16 1097, i16 1121, i16 1098, i16 1122, i16 1099, i16 1123, i16 1100, i16 1, i16 1569, i16 1229, i16 1101, i16 1155, i16 22611, i16 1, i16 0, i16 1, i16 1574, i16 127, i16 0, i16 1575, i16 142, i16 0, i16 1576, i16 145, i16 0, i16 1577, i16 154, i16 0, i16 1578, i16 173, i16 0, i16 1579, i16 178, i16 0, i16 1020, i16 864, i16 1102, i16 980, i16 656, i16 1103, i16 1026, i16 907, i16 1104, i16 986, i16 699, i16 1105, i16 1028, i16 920, i16 1106, i16 988, i16 712, i16 1107, i16 1033, i16 937, i16 1108, i16 993, i16 729, i16 1109, i16 1039, i16 992, i16 1110, i16 999, i16 787, i16 1111, i16 1044, i16 1013, i16 1112, i16 1005, i16 809, i16 1113, i16 1155, i16 22611, i16 1, i16 0, i16 3, i16 127, i16 1580, i16 0, i16 898, i16 0, i16 1581, i16 0, i16 3, i16 138, i16 1582, i16 0, i16 899, i16 0, i16 1583, i16 0, i16 2, i16 656, i16 1588, i16 1114, i16 1589, i16 1115, i16 2, i16 864, i16 1590, i16 1116, i16 1591, i16 1117, i16 2, i16 670, i16 1592, i16 1118, i16 1593, i16 1119, i16 2, i16 878, i16 1594, i16 1120, i16 1595, i16 1121, i16 2, i16 696, i16 1596, i16 1122, i16 1597, i16 1123, i16 2, i16 904, i16 1598, i16 1124, i16 1599, i16 1125, i16 2, i16 699, i16 1219, i16 1126, i16 1220, i16 1127, i16 2, i16 907, i16 1221, i16 1128, i16 1222, i16 1129, i16 2, i16 736, i16 1600, i16 1130, i16 1601, i16 1131, i16 2, i16 943, i16 1602, i16 1132, i16 1603, i16 1133, i16 2, i16 777, i16 1604, i16 1134, i16 1605, i16 1135, i16 2, i16 982, i16 1606, i16 1136, i16 1607, i16 1137, i16 2, i16 781, i16 1608, i16 1138, i16 1609, i16 1139, i16 2, i16 986, i16 1610, i16 1140, i16 1611, i16 1141, i16 2, i16 799, i16 1612, i16 1142, i16 1613, i16 1143, i16 2, i16 1003, i16 1614, i16 1144, i16 1615, i16 1145, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1584, i16 158, i16 0, i16 1585, i16 168, i16 0, i16 1586, i16 171, i16 0, i16 1587, i16 176, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 127, i16 1254, i16 0, i16 1255, i16 0, i16 898, i16 0, i16 1256, i16 0, i16 1257, i16 0, i16 2, i16 656, i16 979, i16 830, i16 981, i16 831, i16 2, i16 864, i16 1019, i16 832, i16 1021, i16 833, i16 3, i16 670, i16 1262, i16 834, i16 1263, i16 835, i16 984, i16 836, i16 5, i16 878, i16 1264, i16 837, i16 1265, i16 838, i16 1024, i16 839, i16 1266, i16 840, i16 1267, i16 841, i16 2, i16 943, i16 1268, i16 842, i16 1269, i16 843, i16 2, i16 749, i16 1270, i16 844, i16 1271, i16 845, i16 2, i16 956, i16 1272, i16 846, i16 1273, i16 847, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1258, i16 158, i16 0, i16 1259, i16 161, i16 0, i16 1260, i16 173, i16 0, i16 1261, i16 189, i16 0, i16 1000, i16 787, i16 848, i16 1040, i16 992, i16 849, i16 1008, i16 834, i16 850, i16 1047, i16 1038, i16 851, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 127, i16 1616, i16 0, i16 1617, i16 0, i16 4, i16 656, i16 1588, i16 1146, i16 1589, i16 1147, i16 1618, i16 1148, i16 1619, i16 1149, i16 4, i16 864, i16 1590, i16 1150, i16 1591, i16 1151, i16 1620, i16 1152, i16 1621, i16 1153, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 46, i16 74, i16 908, i16 0, i16 909, i16 0, i16 910, i16 0, i16 911, i16 0, i16 912, i16 0, i16 913, i16 0, i16 914, i16 0, i16 915, i16 0, i16 916, i16 0, i16 917, i16 0, i16 918, i16 0, i16 919, i16 0, i16 920, i16 0, i16 921, i16 0, i16 922, i16 0, i16 923, i16 0, i16 924, i16 0, i16 925, i16 0, i16 926, i16 0, i16 927, i16 0, i16 928, i16 0, i16 929, i16 0, i16 930, i16 0, i16 931, i16 0, i16 932, i16 0, i16 933, i16 0, i16 934, i16 0, i16 935, i16 0, i16 936, i16 0, i16 937, i16 0, i16 938, i16 0, i16 939, i16 0, i16 940, i16 0, i16 941, i16 0, i16 942, i16 0, i16 943, i16 0, i16 944, i16 0, i16 945, i16 0, i16 946, i16 0, i16 947, i16 0, i16 948, i16 0, i16 949, i16 0, i16 950, i16 0, i16 951, i16 0, i16 952, i16 0, i16 953, i16 0, i16 3, i16 1508, i16 1125, i16 1154, i16 1136, i16 1155, i16 1128, i16 1156, i16 3, i16 1514, i16 1126, i16 1157, i16 1127, i16 1158, i16 1138, i16 1159, i16 3, i16 1524, i16 1144, i16 1160, i16 1130, i16 1161, i16 1137, i16 1162, i16 3, i16 1572, i16 1140, i16 1163, i16 1152, i16 1164, i16 1143, i16 1165, i16 3, i16 1579, i16 1141, i16 1166, i16 1142, i16 1167, i16 1154, i16 1168, i16 3, i16 1588, i16 1129, i16 1169, i16 1145, i16 1170, i16 1153, i16 1171, i16 1, i16 1124, i16 1506, i16 1172, i16 1133, i16 1532, i16 1173, i16 1131, i16 1534, i16 1174, i16 1132, i16 1538, i16 1175, i16 1135, i16 1549, i16 1176, i16 1134, i16 1556, i16 1177, i16 1139, i16 1570, i16 1178, i16 1146, i16 1594, i16 1179, i16 1149, i16 1597, i16 1180, i16 1147, i16 1599, i16 1181, i16 1148, i16 1603, i16 1182, i16 1151, i16 1614, i16 1183, i16 1150, i16 1621, i16 1184, i16 1155, i16 22611, i16 1, i16 0, i16 6, i16 145, i16 904, i16 0, i16 900, i16 0, i16 1183, i16 0, i16 901, i16 0, i16 902, i16 0, i16 903, i16 0, i16 2, i16 712, i16 992, i16 767, i16 990, i16 768, i16 2, i16 920, i16 1030, i16 769, i16 1032, i16 770, i16 1, i16 1181, i16 127, i16 0, i16 1180, i16 136, i16 0, i16 1182, i16 142, i16 0, i16 1622, i16 163, i16 0, i16 1186, i16 173, i16 0, i16 1187, i16 178, i16 0, i16 1188, i16 303, i16 0, i16 1189, i16 309, i16 0, i16 1190, i16 322, i16 0, i16 1192, i16 330, i16 0, i16 1193, i16 340, i16 0, i16 1194, i16 343, i16 0, i16 1195, i16 346, i16 0, i16 978, i16 656, i16 777, i16 1018, i16 864, i16 778, i16 1196, i16 686, i16 763, i16 1197, i16 894, i16 765, i16 985, i16 699, i16 779, i16 1025, i16 907, i16 780, i16 996, i16 762, i16 1185, i16 1036, i16 968, i16 1186, i16 1001, i16 787, i16 781, i16 1041, i16 992, i16 782, i16 1004, i16 809, i16 783, i16 1043, i16 1013, i16 784, i16 1200, i16 1506, i16 785, i16 1201, i16 1570, i16 786, i16 1202, i16 1514, i16 787, i16 1203, i16 1579, i16 788, i16 1204, i16 1532, i16 789, i16 1205, i16 1597, i16 790, i16 1208, i16 1541, i16 793, i16 1209, i16 1606, i16 794, i16 1210, i16 1549, i16 795, i16 1211, i16 1614, i16 796, i16 1212, i16 1553, i16 797, i16 1213, i16 1618, i16 798, i16 1214, i16 1556, i16 799, i16 1215, i16 1621, i16 800, i16 1155, i16 22611, i16 1, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 877, i16 1780, i16 1190, i16 1781, i16 1833, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 990, i16 1792, i16 1190, i16 1793, i16 1844, i16 3, i16 1009, i16 1794, i16 1845, i16 1795, i16 1846, i16 1796, i16 1847, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 4, i16 1206, i16 1828, i16 1190, i16 1829, i16 1878, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1266, i16 1838, i16 1190, i16 1839, i16 1887, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 8, i16 1361, i16 1848, i16 1190, i16 1849, i16 1896, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1803, i16 1075, i16 1925, i16 0, i16 2, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 20, i16 1370, i16 1850, i16 1934, i16 1851, i16 1935, i16 1852, i16 1936, i16 1853, i16 1937, i16 1854, i16 1938, i16 1855, i16 1939, i16 1856, i16 1934, i16 1857, i16 1940, i16 1858, i16 1941, i16 1859, i16 1942, i16 1860, i16 1943, i16 1861, i16 1944, i16 1862, i16 1945, i16 1863, i16 1946, i16 1864, i16 1947, i16 1865, i16 1948, i16 1866, i16 1949, i16 1867, i16 1950, i16 1868, i16 1951, i16 1869, i16 1952, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 7, i16 1418, i16 1874, i16 1187, i16 1848, i16 1953, i16 1849, i16 1954, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 20, i16 1440, i16 1760, i16 1190, i16 1761, i16 1955, i16 1762, i16 1956, i16 1763, i16 1957, i16 1764, i16 1190, i16 1765, i16 1958, i16 1770, i16 1959, i16 1771, i16 1960, i16 1772, i16 1959, i16 1773, i16 1961, i16 1774, i16 1959, i16 1775, i16 1962, i16 1828, i16 1190, i16 1829, i16 1878, i16 1822, i16 1963, i16 1823, i16 1964, i16 1824, i16 1963, i16 1825, i16 1965, i16 1820, i16 1966, i16 1821, i16 1967, i16 27, i16 2011, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 1, i16 1696, i16 1, i16 1187, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 877, i16 1778, i16 1968, i16 1779, i16 1846, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1836, i16 1971, i16 1837, i16 1846, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 2, i16 1429, i16 1881, i16 1923, i16 1882, i16 1924, i16 2, i16 1440, i16 1879, i16 1974, i16 1880, i16 1846, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 2, i16 836, i16 1768, i16 1821, i16 1769, i16 1822, i16 8, i16 843, i16 1766, i16 1190, i16 1767, i16 1975, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 877, i16 1776, i16 1190, i16 1777, i16 1976, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 2, i16 944, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 955, i16 1786, i16 1190, i16 1787, i16 1977, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 2, i16 1088, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1099, i16 1804, i16 1190, i16 1805, i16 1978, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 4, i16 1132, i16 1808, i16 1190, i16 1809, i16 1979, i16 1814, i16 1864, i16 1815, i16 1865, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 4, i16 1206, i16 1816, i16 1190, i16 1817, i16 1980, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1834, i16 1190, i16 1835, i16 1981, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 3, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 2, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 4, i16 1440, i16 1877, i16 1190, i16 1878, i16 1982, i16 1881, i16 1190, i16 1882, i16 1983, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 9, i16 1418, i16 1874, i16 1187, i16 1848, i16 1984, i16 1849, i16 1985, i16 1844, i16 1984, i16 1845, i16 1986, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 24, i16 1440, i16 1770, i16 1190, i16 1771, i16 1987, i16 1772, i16 1988, i16 1773, i16 1989, i16 1774, i16 1990, i16 1775, i16 1991, i16 1764, i16 1992, i16 1765, i16 1993, i16 1822, i16 1190, i16 1823, i16 1994, i16 1824, i16 1995, i16 1825, i16 1996, i16 1828, i16 1997, i16 1829, i16 1998, i16 1818, i16 1999, i16 1819, i16 2000, i16 1760, i16 1190, i16 1761, i16 1955, i16 1883, i16 2001, i16 1884, i16 2002, i16 1885, i16 2003, i16 1886, i16 2004, i16 1762, i16 2001, i16 1763, i16 2005, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 2, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 8, i16 843, i16 1768, i16 1190, i16 1769, i16 2006, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 877, i16 1778, i16 1190, i16 1779, i16 2007, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 2, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 2, i16 955, i16 1788, i16 1190, i16 1789, i16 2008, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 990, i16 1790, i16 1190, i16 1791, i16 2009, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 7, i16 1046, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 1874, i16 1187, i16 1799, i16 1190, i16 1800, i16 2010, i16 3, i16 1075, i16 1801, i16 1190, i16 1802, i16 2011, i16 1803, i16 1925, i16 2, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 2, i16 1099, i16 1806, i16 1190, i16 1807, i16 2012, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 4, i16 1132, i16 1812, i16 1190, i16 1813, i16 2013, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 4, i16 1206, i16 1826, i16 1190, i16 1827, i16 2014, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1242, i16 1832, i16 1190, i16 1833, i16 2015, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1836, i16 1190, i16 1837, i16 2016, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 8, i16 1361, i16 1846, i16 1190, i16 1847, i16 2017, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1418, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 2, i16 1429, i16 1881, i16 1923, i16 1882, i16 1924, i16 2, i16 1440, i16 1879, i16 1190, i16 1880, i16 2018, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1046, i16 1870, i16 1190, i16 1871, i16 1915, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 2, i16 1400, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 81, i16 1697, i16 1712, i16 1698, i16 2019, i16 1699, i16 2019, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 898, i16 1887, i16 2020, i16 1888, i16 2021, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 9, i16 1418, i16 1874, i16 1187, i16 1848, i16 1984, i16 1849, i16 1985, i16 1844, i16 1984, i16 1845, i16 1986, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 24, i16 1440, i16 1770, i16 1190, i16 1771, i16 1987, i16 1772, i16 1988, i16 1773, i16 1989, i16 1774, i16 1990, i16 1775, i16 1991, i16 1764, i16 1992, i16 1765, i16 1993, i16 1822, i16 1190, i16 1823, i16 1994, i16 1824, i16 1995, i16 1825, i16 1996, i16 1828, i16 1997, i16 1829, i16 1998, i16 1818, i16 1999, i16 1819, i16 2000, i16 1760, i16 1190, i16 1761, i16 1955, i16 1883, i16 2001, i16 1884, i16 2002, i16 1885, i16 2003, i16 1886, i16 2004, i16 1762, i16 2001, i16 1763, i16 2005, i16 1, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1220, i16 2022, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1892, i16 1189, i16 1893, i16 1189, i16 1894, i16 1189, i16 3, i16 461, i16 1895, i16 1189, i16 1896, i16 1189, i16 1897, i16 1189, i16 3, i16 465, i16 1898, i16 1189, i16 1899, i16 1189, i16 1900, i16 1189, i16 3, i16 469, i16 1901, i16 1189, i16 1902, i16 1189, i16 1903, i16 1189, i16 2, i16 491, i16 1910, i16 1189, i16 1911, i16 1189, i16 2, i16 499, i16 1913, i16 1189, i16 1914, i16 1189, i16 29, i16 519, i16 1918, i16 1189, i16 1703, i16 1189, i16 1704, i16 1189, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 1717, i16 1189, i16 1718, i16 1189, i16 1719, i16 1189, i16 1720, i16 1189, i16 1721, i16 1189, i16 1722, i16 1189, i16 1723, i16 1189, i16 1724, i16 1189, i16 1725, i16 1189, i16 1726, i16 1189, i16 1727, i16 1189, i16 1728, i16 1189, i16 1729, i16 1189, i16 1730, i16 1189, i16 2, i16 753, i16 1919, i16 1189, i16 1920, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1759, i16 1846, i16 1758, i16 2023, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 898, i16 1888, i16 1846, i16 1887, i16 2024, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 955, i16 1785, i16 1846, i16 1784, i16 2025, i16 4, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 1921, i16 2026, i16 1922, i16 2027, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1046, i16 1798, i16 1846, i16 1797, i16 2028, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 2029, i16 1815, i16 2030, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 2, i16 1179, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1817, i16 1846, i16 1816, i16 2031, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 8, i16 1361, i16 1843, i16 1846, i16 1842, i16 2032, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 2, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 7, i16 1418, i16 1874, i16 1187, i16 1873, i16 1846, i16 1872, i16 2033, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 10, i16 1440, i16 1841, i16 1846, i16 1840, i16 2034, i16 1771, i16 1846, i16 1770, i16 2035, i16 1831, i16 2036, i16 1830, i16 2037, i16 1829, i16 1846, i16 1828, i16 2038, i16 1823, i16 2039, i16 1822, i16 2040, i16 4, i16 2011, i16 1923, i16 1744, i16 1924, i16 2041, i16 1925, i16 2042, i16 1926, i16 2043, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1702, i16 205, i16 1189, i16 1701, i16 221, i16 1189, i16 1700, i16 324, i16 1189, i16 1889, i16 371, i16 1189, i16 1890, i16 445, i16 1189, i16 1891, i16 447, i16 1189, i16 1904, i16 473, i16 1189, i16 1905, i16 476, i16 1189, i16 1906, i16 479, i16 1189, i16 1907, i16 481, i16 1189, i16 1908, i16 484, i16 1189, i16 1909, i16 487, i16 1189, i16 1912, i16 495, i16 1189, i16 1915, i16 503, i16 1189, i16 1916, i16 507, i16 1189, i16 1917, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 4, i16 877, i16 1778, i16 1190, i16 1779, i16 2007, i16 1776, i16 1190, i16 1777, i16 1976, i16 6, i16 898, i16 1927, i16 1190, i16 1928, i16 2044, i16 1929, i16 2045, i16 1930, i16 2046, i16 1782, i16 1190, i16 1783, i16 2047, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 4, i16 1099, i16 1931, i16 1190, i16 1932, i16 2048, i16 1933, i16 2049, i16 1934, i16 2050, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 6, i16 1132, i16 1935, i16 1190, i16 1936, i16 2051, i16 1937, i16 2052, i16 1938, i16 2053, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1836, i16 1190, i16 1837, i16 2016, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 2, i16 1429, i16 1881, i16 1923, i16 1882, i16 1924, i16 2, i16 1440, i16 1879, i16 1190, i16 1880, i16 2018, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 4, i16 1132, i16 1810, i16 1190, i16 1811, i16 2054, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 10, i16 1266, i16 1836, i16 2055, i16 1837, i16 2056, i16 1875, i16 2057, i16 1876, i16 2058, i16 1877, i16 2059, i16 1878, i16 2060, i16 1881, i16 2061, i16 1882, i16 2062, i16 1879, i16 2063, i16 1880, i16 2064, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 22, i16 1370, i16 1856, i16 2065, i16 1857, i16 2066, i16 1858, i16 2067, i16 1859, i16 2068, i16 1860, i16 2069, i16 1861, i16 2070, i16 1862, i16 2071, i16 1863, i16 2072, i16 1868, i16 2073, i16 1869, i16 2074, i16 1866, i16 2075, i16 1867, i16 2076, i16 1864, i16 2077, i16 1865, i16 2078, i16 1820, i16 2079, i16 1821, i16 2080, i16 1764, i16 2081, i16 1765, i16 2082, i16 1828, i16 2081, i16 1829, i16 2083, i16 1848, i16 2081, i16 1849, i16 2084, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 1874, i16 1418, i16 1187, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 4, i16 877, i16 1939, i16 1190, i16 1940, i16 2085, i16 1941, i16 2086, i16 1942, i16 2087, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 4, i16 1099, i16 1943, i16 1190, i16 1944, i16 2088, i16 1945, i16 2089, i16 1946, i16 2090, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 4, i16 1132, i16 1810, i16 1190, i16 1811, i16 2054, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 32766, i16 32766, i16 32766, i16 -2, i16 16384, i16 0, i16 16384, i16 -2, i16 16384, i16 0, i16 16384, i16 -16206, i16 16384, i16 0, i16 16384, i16 -16204, i16 16384, i16 0, i16 16384, i16 -16353, i16 16384, i16 0, i16 16384, i16 -16352, i16 16384, i16 0, i16 16384, i16 -16351, i16 16384, i16 0, i16 16384, i16 -16350, i16 16384, i16 0, i16 16384, i16 -16349, i16 16384, i16 0, i16 16384, i16 -16348, i16 16384, i16 0, i16 16384, i16 -16347, i16 16384, i16 0, i16 16384, i16 -16346, i16 16384, i16 0, i16 16384, i16 -16345, i16 16384, i16 0, i16 16384, i16 -16344, i16 16384, i16 0, i16 16384, i16 -16343, i16 16384, i16 0, i16 16384, i16 -16342, i16 16384, i16 0, i16 16384, i16 -16341, i16 16384, i16 0, i16 16384, i16 -15486, i16 16384, i16 0, i16 16384, i16 -16340, i16 16384, i16 0, i16 16384, i16 -16339, i16 16384, i16 0, i16 16384, i16 -15485, i16 16384, i16 0, i16 16384, i16 -16338, i16 16384, i16 0, i16 16384, i16 -15484, i16 16384, i16 0, i16 16384, i16 -15483, i16 16384, i16 0, i16 16384, i16 -15482, i16 16384, i16 0, i16 16384, i16 -16337, i16 16384, i16 0, i16 16384, i16 -16336, i16 16384, i16 0, i16 16384, i16 -16335, i16 16384, i16 0, i16 16384, i16 -16334, i16 16384, i16 0, i16 16384, i16 -16333, i16 16384, i16 0, i16 16384, i16 -15481, i16 16384, i16 0, i16 16384, i16 -16332, i16 16384, i16 0, i16 16384, i16 -16331, i16 16384, i16 0, i16 16384, i16 -16330, i16 16384, i16 0, i16 16384, i16 -16329, i16 16384, i16 0, i16 16384, i16 -16328, i16 16384, i16 0, i16 16384, i16 -16327, i16 16384, i16 0, i16 16384, i16 -15480, i16 16384, i16 0, i16 16384, i16 -16326, i16 16384, i16 0, i16 16384, i16 -16325, i16 16534, i16 14, i16 17273, i16 -16384, i16 16415, i16 14, i16 17273, i16 -16384, i16 16416, i16 14, i16 17273, i16 -16384, i16 16417, i16 14, i16 17273, i16 -16384, i16 16418, i16 14, i16 17273, i16 -16384, i16 16419, i16 14, i16 17273, i16 -16384, i16 16420, i16 14, i16 17273, i16 -16384, i16 16421, i16 14, i16 17273, i16 -16384, i16 16422, i16 14, i16 17273, i16 -16384, i16 16423, i16 14, i16 17273, i16 -16384, i16 16424, i16 14, i16 17273, i16 -16384, i16 16415, i16 17, i16 17273, i16 -16384, i16 16415, i16 896, i16 17273, i16 -16384, i16 16415, i16 897, i16 17273, i16 -16384, i16 16415, i16 19, i16 17273, i16 -16384, i16 16415, i16 21, i16 17273, i16 -16384, i16 16415, i16 18, i16 17273, i16 -16384, i16 16415, i16 20, i16 17273, i16 -16384, i16 16415, i16 14, i16 16392, i16 -16384, i16 16416, i16 14, i16 16392, i16 -16384, i16 16417, i16 14, i16 16392, i16 -16384, i16 16418, i16 14, i16 16392, i16 -16384, i16 16419, i16 14, i16 16392, i16 -16384, i16 16420, i16 14, i16 16392, i16 -16384, i16 16421, i16 14, i16 16392, i16 -16384, i16 16422, i16 14, i16 16392, i16 -16384, i16 16423, i16 14, i16 16392, i16 -16384, i16 16424, i16 14, i16 16392, i16 -16384, i16 16425, i16 14, i16 17273, i16 -16384, i16 16425, i16 15, i16 16392, i16 -16384, i16 16425, i16 26, i16 17273, i16 -16384, i16 16425, i16 27, i16 17273, i16 -16384, i16 16426, i16 14, i16 17273, i16 -16384, i16 16427, i16 14, i16 17273, i16 -16384, i16 17282, i16 14, i16 17273, i16 -16384, i16 17282, i16 18, i16 17273, i16 -16384, i16 16428, i16 14, i16 17273, i16 -16384, i16 16428, i16 16, i16 17273, i16 -16384, i16 16428, i16 17, i16 17273, i16 -16384, i16 16428, i16 897, i16 17273, i16 -16384, i16 16428, i16 20, i16 17273, i16 -16384, i16 16428, i16 18, i16 17273, i16 -16384, i16 16428, i16 23, i16 17273, i16 -16384, i16 16428, i16 26, i16 17273, i16 -16384, i16 16428, i16 27, i16 17273, i16 -16384, i16 16429, i16 14, i16 17273, i16 -16384, i16 17283, i16 14, i16 17273, i16 -16384, i16 17283, i16 25, i16 17273, i16 -16384, i16 16430, i16 14, i16 17273, i16 -16384, i16 17284, i16 16, i16 17273, i16 -16384, i16 17284, i16 17, i16 17273, i16 -16384, i16 17284, i16 20, i16 17273, i16 -16384, i16 17284, i16 22, i16 17273, i16 -16384, i16 17284, i16 26, i16 17273, i16 -16384, i16 17284, i16 27, i16 17273, i16 -16384, i16 18009, i16 1628, i16 18015, i16 -16384, i16 17285, i16 14, i16 17273, i16 -16384, i16 17286, i16 14, i16 17273, i16 -16384, i16 17286, i16 15, i16 17273, i16 -16384, i16 17286, i16 25, i16 17273, i16 -16384, i16 16431, i16 14, i16 17273, i16 -16384, i16 16431, i16 16, i16 17273, i16 -16384, i16 16431, i16 18, i16 17273, i16 -16384, i16 16431, i16 24, i16 17273, i16 -16384, i16 16431, i16 25, i16 17273, i16 -16384, i16 16431, i16 23, i16 17273, i16 -16384, i16 16432, i16 14, i16 17273, i16 -16384, i16 16433, i16 14, i16 17273, i16 -16384, i16 16433, i16 15, i16 17273, i16 -16384, i16 16433, i16 16, i16 17273, i16 -16384, i16 16433, i16 18, i16 17273, i16 -16384, i16 16433, i16 25, i16 17273, i16 -16384, i16 16434, i16 14, i16 17273, i16 -16384, i16 16434, i16 15, i16 16392, i16 -16384, i16 16434, i16 16, i16 17273, i16 -16384, i16 16434, i16 17, i16 17273, i16 -16384, i16 16434, i16 897, i16 17273, i16 -16384, i16 16434, i16 22, i16 17273, i16 -16384, i16 16434, i16 27, i16 17273, i16 -16384, i16 18018, i16 1628, i16 18015, i16 -16384, i16 16435, i16 14, i16 17273, i16 -16384, i16 17287, i16 14, i16 17273, i16 -16384, i16 16436, i16 14, i16 17273, i16 -16384, i16 16436, i16 16, i16 17273, i16 -16384, i16 16436, i16 18, i16 17273, i16 -16384, i16 16436, i16 25, i16 17273, i16 -16384, i16 16437, i16 14, i16 17273, i16 -16384, i16 16437, i16 16, i16 17273, i16 -16384, i16 16438, i16 14, i16 17273, i16 -16384, i16 16438, i16 18, i16 17273, i16 -16384, i16 16438, i16 24, i16 17273, i16 -16384, i16 16439, i16 14, i16 17273, i16 -16384, i16 16439, i16 16, i16 17273, i16 -16384, i16 16439, i16 17, i16 17273, i16 -16384, i16 16439, i16 897, i16 17273, i16 -16384, i16 16439, i16 19, i16 17273, i16 -16384, i16 16439, i16 22, i16 17273, i16 -16384, i16 16439, i16 26, i16 17273, i16 -16384, i16 16439, i16 27, i16 17273, i16 -16384, i16 16440, i16 14, i16 17273, i16 -16384, i16 16441, i16 897, i16 17273, i16 -16384, i16 17288, i16 14, i16 17273, i16 -16384, i16 16442, i16 14, i16 17273, i16 -16384, i16 16442, i16 16, i16 17273, i16 -16384, i16 16442, i16 20, i16 17273, i16 -16384, i16 16442, i16 897, i16 17273, i16 -16384, i16 16443, i16 14, i16 17273, i16 -16384, i16 16443, i16 16, i16 17273, i16 -16384, i16 16444, i16 14, i16 17273, i16 -16384, i16 16425, i16 14, i16 16393, i16 -16384, i16 16425, i16 26, i16 16393, i16 -16384, i16 16425, i16 27, i16 16393, i16 -16384, i16 16426, i16 14, i16 16393, i16 -16384, i16 16427, i16 14, i16 16393, i16 -16384, i16 17282, i16 14, i16 16393, i16 -16384, i16 17282, i16 18, i16 16393, i16 -16384, i16 16428, i16 14, i16 16393, i16 -16384, i16 16428, i16 16, i16 16393, i16 -16384, i16 16428, i16 17, i16 16393, i16 -16384, i16 16428, i16 897, i16 16393, i16 -16384, i16 16428, i16 20, i16 16393, i16 -16384, i16 16428, i16 18, i16 16393, i16 -16384, i16 16428, i16 23, i16 16393, i16 -16384, i16 16428, i16 26, i16 16393, i16 -16384, i16 16428, i16 27, i16 16393, i16 -16384, i16 16429, i16 14, i16 16393, i16 -16384, i16 17283, i16 14, i16 16393, i16 -16384, i16 17283, i16 25, i16 16393, i16 -16384, i16 16430, i16 14, i16 16393, i16 -16384, i16 17284, i16 16, i16 16393, i16 -16384, i16 17284, i16 17, i16 16393, i16 -16384, i16 17284, i16 20, i16 16393, i16 -16384, i16 17284, i16 22, i16 16393, i16 -16384, i16 17284, i16 26, i16 16393, i16 -16384, i16 17284, i16 27, i16 16393, i16 -16384, i16 18009, i16 1628, i16 18021, i16 -16384, i16 17285, i16 14, i16 16393, i16 -16384, i16 17286, i16 14, i16 16393, i16 -16384, i16 17286, i16 25, i16 16393, i16 -16384, i16 16431, i16 14, i16 16393, i16 -16384, i16 16431, i16 16, i16 16393, i16 -16384, i16 16431, i16 18, i16 16393, i16 -16384, i16 16431, i16 24, i16 16393, i16 -16384, i16 16431, i16 25, i16 16393, i16 -16384, i16 16431, i16 23, i16 16393, i16 -16384, i16 16432, i16 14, i16 16393, i16 -16384, i16 16433, i16 14, i16 16393, i16 -16384, i16 16433, i16 16, i16 16393, i16 -16384, i16 16433, i16 18, i16 16393, i16 -16384, i16 16433, i16 25, i16 16393, i16 -16384, i16 16434, i16 14, i16 16393, i16 -16384, i16 16434, i16 16, i16 16393, i16 -16384, i16 16434, i16 17, i16 16393, i16 -16384, i16 16434, i16 897, i16 16393, i16 -16384, i16 16434, i16 22, i16 16393, i16 -16384, i16 16434, i16 27, i16 16393, i16 -16384, i16 18018, i16 1628, i16 18021, i16 -16384, i16 16435, i16 14, i16 16393, i16 -16384, i16 17287, i16 14, i16 16393, i16 -16384, i16 16436, i16 14, i16 16393, i16 -16384, i16 16436, i16 16, i16 16393, i16 -16384, i16 16436, i16 18, i16 16393, i16 -16384, i16 16436, i16 25, i16 16393, i16 -16384, i16 16437, i16 14, i16 16393, i16 -16384, i16 16437, i16 16, i16 16393, i16 -16384, i16 16438, i16 14, i16 16393, i16 -16384, i16 16438, i16 18, i16 16393, i16 -16384, i16 16438, i16 24, i16 16393, i16 -16384, i16 16439, i16 14, i16 16393, i16 -16384, i16 16439, i16 16, i16 16393, i16 -16384, i16 16439, i16 17, i16 16393, i16 -16384, i16 16439, i16 897, i16 16393, i16 -16384, i16 16439, i16 19, i16 16393, i16 -16384, i16 16439, i16 22, i16 16393, i16 -16384, i16 16439, i16 26, i16 16393, i16 -16384, i16 16439, i16 27, i16 16393, i16 -16384, i16 16440, i16 14, i16 16393, i16 -16384, i16 16441, i16 897, i16 16393, i16 -16384, i16 17288, i16 14, i16 16393, i16 -16384, i16 16442, i16 14, i16 16393, i16 -16384, i16 16442, i16 16, i16 16393, i16 -16384, i16 16442, i16 897, i16 16393, i16 -16384, i16 16442, i16 20, i16 16393, i16 -16384, i16 16443, i16 14, i16 16393, i16 -16384, i16 16443, i16 16, i16 16393, i16 -16384, i16 16444, i16 14, i16 16393, i16 -16384, i16 16445, i16 16398, i16 17273, i16 -16384, i16 16446, i16 16398, i16 17273, i16 -16384, i16 16448, i16 16398, i16 17273, i16 -16384, i16 16449, i16 16398, i16 17273, i16 -16384, i16 16450, i16 16398, i16 17273, i16 -16384, i16 16451, i16 16398, i16 17273, i16 -16384, i16 16452, i16 16398, i16 17273, i16 -16384, i16 16453, i16 16398, i16 17273, i16 -16384, i16 16454, i16 16398, i16 17273, i16 -16384, i16 16455, i16 16398, i16 17273, i16 -16384, i16 16456, i16 16398, i16 17273, i16 -16384, i16 16457, i16 16398, i16 17273, i16 -16384, i16 16458, i16 16398, i16 17273, i16 -16384, i16 16459, i16 16398, i16 17273, i16 -16384, i16 16460, i16 16398, i16 17273, i16 -16384, i16 16461, i16 16398, i16 17273, i16 -16384, i16 16462, i16 16398, i16 17273, i16 -16384, i16 16463, i16 16398, i16 17273, i16 -16384, i16 16464, i16 16398, i16 17273, i16 -16384, i16 16465, i16 16398, i16 17273, i16 -16384, i16 16466, i16 16398, i16 17273, i16 -16384, i16 16467, i16 16398, i16 17273, i16 -16384, i16 16468, i16 16398, i16 17273, i16 -16384, i16 16469, i16 16398, i16 17273, i16 -16384, i16 16470, i16 16398, i16 17273, i16 -16384, i16 16471, i16 16398, i16 17273, i16 -16384, i16 16474, i16 16398, i16 17273, i16 -16384, i16 16475, i16 16398, i16 17273, i16 -16384, i16 16476, i16 16398, i16 17273, i16 -16384, i16 16477, i16 16398, i16 17273, i16 -16384, i16 16478, i16 16398, i16 17273, i16 -16384, i16 16480, i16 16398, i16 17273, i16 -16384, i16 16482, i16 17278, i16 17273, i16 -16384, i16 16482, i16 16398, i16 17273, i16 -16384, i16 61, i16 14, i16 3, i16 -16384, i16 61, i16 14, i16 4, i16 -16384, i16 61, i16 14, i16 5, i16 -16384, i16 61, i16 14, i16 6, i16 -16384, i16 62, i16 14, i16 3, i16 -16384, i16 62, i16 14, i16 4, i16 -16384, i16 62, i16 14, i16 5, i16 -16384, i16 62, i16 14, i16 6, i16 -16384, i16 64, i16 14, i16 3, i16 -16384, i16 64, i16 14, i16 4, i16 -16384, i16 64, i16 14, i16 5, i16 -16384, i16 64, i16 14, i16 6, i16 -16384, i16 65, i16 14, i16 3, i16 -16384, i16 65, i16 14, i16 4, i16 -16384, i16 65, i16 14, i16 5, i16 -16384, i16 65, i16 14, i16 6, i16 -16384, i16 66, i16 14, i16 3, i16 -16384, i16 66, i16 14, i16 4, i16 -16384, i16 66, i16 14, i16 5, i16 -16384, i16 66, i16 14, i16 6, i16 -16384, i16 67, i16 14, i16 3, i16 -16384, i16 67, i16 14, i16 4, i16 -16384, i16 67, i16 14, i16 5, i16 -16384, i16 67, i16 14, i16 6, i16 -16384, i16 68, i16 14, i16 3, i16 -16384, i16 68, i16 14, i16 4, i16 -16384, i16 68, i16 14, i16 5, i16 -16384, i16 68, i16 14, i16 6, i16 -16384, i16 69, i16 14, i16 3, i16 -16384, i16 69, i16 14, i16 4, i16 -16384, i16 69, i16 14, i16 5, i16 -16384, i16 69, i16 14, i16 6, i16 -16384, i16 70, i16 14, i16 3, i16 -16384, i16 70, i16 14, i16 4, i16 -16384, i16 70, i16 14, i16 5, i16 -16384, i16 70, i16 14, i16 6, i16 -16384, i16 71, i16 14, i16 3, i16 -16384, i16 71, i16 14, i16 4, i16 -16384, i16 72, i16 14, i16 3, i16 -16384, i16 72, i16 14, i16 4, i16 -16384, i16 73, i16 14, i16 3, i16 -16384, i16 73, i16 14, i16 4, i16 -16384, i16 74, i16 14, i16 3, i16 -16384, i16 74, i16 14, i16 4, i16 -16384, i16 75, i16 14, i16 3, i16 -16384, i16 75, i16 14, i16 4, i16 -16384, i16 76, i16 14, i16 3, i16 -16384, i16 76, i16 14, i16 4, i16 -16384, i16 77, i16 14, i16 3, i16 -16384, i16 77, i16 14, i16 4, i16 -16384, i16 78, i16 14, i16 3, i16 -16384, i16 78, i16 14, i16 4, i16 -16384, i16 78, i16 14, i16 5, i16 -16384, i16 78, i16 14, i16 6, i16 -16384, i16 79, i16 14, i16 3, i16 -16384, i16 79, i16 14, i16 4, i16 -16384, i16 79, i16 14, i16 5, i16 -16384, i16 79, i16 14, i16 6, i16 -16384, i16 80, i16 14, i16 3, i16 -16384, i16 80, i16 14, i16 4, i16 -16384, i16 80, i16 14, i16 5, i16 -16384, i16 80, i16 14, i16 6, i16 -16384, i16 81, i16 14, i16 3, i16 -16384, i16 81, i16 14, i16 4, i16 -16384, i16 81, i16 14, i16 5, i16 -16384, i16 81, i16 14, i16 6, i16 -16384, i16 82, i16 14, i16 3, i16 -16384, i16 82, i16 14, i16 4, i16 -16384, i16 82, i16 14, i16 5, i16 -16384, i16 82, i16 14, i16 6, i16 -16384, i16 83, i16 14, i16 3, i16 -16384, i16 83, i16 14, i16 4, i16 -16384, i16 83, i16 14, i16 5, i16 -16384, i16 83, i16 14, i16 6, i16 -16384, i16 84, i16 14, i16 3, i16 -16384, i16 84, i16 14, i16 4, i16 -16384, i16 84, i16 14, i16 5, i16 -16384, i16 84, i16 14, i16 6, i16 -16384, i16 85, i16 14, i16 3, i16 -16384, i16 85, i16 14, i16 4, i16 -16384, i16 85, i16 14, i16 5, i16 -16384, i16 85, i16 14, i16 6, i16 -16384, i16 86, i16 14, i16 3, i16 -16384, i16 86, i16 14, i16 4, i16 -16384, i16 86, i16 14, i16 5, i16 -16384, i16 86, i16 14, i16 6, i16 -16384, i16 87, i16 14, i16 3, i16 -16384, i16 87, i16 14, i16 4, i16 -16384, i16 87, i16 14, i16 5, i16 -16384, i16 87, i16 14, i16 6, i16 -16384, i16 90, i16 14, i16 3, i16 -16384, i16 90, i16 14, i16 4, i16 -16384, i16 90, i16 14, i16 5, i16 -16384, i16 90, i16 14, i16 6, i16 -16384, i16 91, i16 14, i16 3, i16 -16384, i16 91, i16 14, i16 4, i16 -16384, i16 91, i16 14, i16 5, i16 -16384, i16 91, i16 14, i16 6, i16 -16384, i16 92, i16 14, i16 3, i16 -16384, i16 92, i16 14, i16 4, i16 -16384, i16 92, i16 14, i16 5, i16 -16384, i16 92, i16 14, i16 6, i16 -16384, i16 93, i16 14, i16 3, i16 -16384, i16 93, i16 14, i16 4, i16 -16384, i16 93, i16 14, i16 5, i16 -16384, i16 93, i16 14, i16 6, i16 -16384, i16 94, i16 14, i16 3, i16 -16384, i16 94, i16 14, i16 4, i16 -16384, i16 96, i16 14, i16 3, i16 -16384, i16 96, i16 14, i16 4, i16 -16384, i16 1640, i16 1643, i16 1646, i16 -16384, i16 1640, i16 1643, i16 1649, i16 -16384, i16 1640, i16 1643, i16 1652, i16 -16384, i16 1640, i16 1643, i16 1655, i16 -16384, i16 98, i16 894, i16 3, i16 -16384, i16 98, i16 894, i16 4, i16 -16384, i16 98, i16 14, i16 3, i16 -16384, i16 98, i16 14, i16 4, i16 -16384, i16 16483, i16 16398, i16 16384, i16 -16384, i16 16484, i16 16398, i16 16384, i16 -16384, i16 16485, i16 16398, i16 16384, i16 -16384, i16 16486, i16 16398, i16 16384, i16 -16384, i16 16487, i16 16398, i16 16384, i16 -16384, i16 16488, i16 16398, i16 16384, i16 -16384, i16 16489, i16 16398, i16 16384, i16 -16384, i16 16490, i16 16398, i16 16384, i16 -16384, i16 16491, i16 16398, i16 16384, i16 -16384, i16 16492, i16 16398, i16 16384, i16 -16384, i16 16493, i16 16398, i16 16384, i16 -16384, i16 16494, i16 16398, i16 16384, i16 -16384, i16 16495, i16 16398, i16 16384, i16 -16384, i16 16496, i16 16398, i16 16384, i16 -16384, i16 16497, i16 16398, i16 16384, i16 -16384, i16 16498, i16 16398, i16 16384, i16 -16384, i16 16499, i16 16398, i16 16384, i16 -16384, i16 16500, i16 16398, i16 16384, i16 -16384, i16 16501, i16 16398, i16 16384, i16 -16384, i16 16502, i16 16398, i16 16384, i16 -16384, i16 16503, i16 16398, i16 16384, i16 -16384, i16 16504, i16 16398, i16 16384, i16 -16384, i16 16505, i16 16398, i16 16384, i16 -16384, i16 16506, i16 16398, i16 16384, i16 -16384, i16 16507, i16 16398, i16 16384, i16 -16384, i16 16508, i16 16398, i16 16384, i16 -16384, i16 16509, i16 16398, i16 16384, i16 -16384, i16 16510, i16 14, i16 16393, i16 -16384, i16 16510, i16 28, i16 16393, i16 -16384, i16 16511, i16 14, i16 16393, i16 -16384, i16 16512, i16 14, i16 16393, i16 -16384, i16 16512, i16 15, i16 16393, i16 -16384, i16 16513, i16 14, i16 16393, i16 -16384, i16 16513, i16 15, i16 16393, i16 -16384, i16 16514, i16 14, i16 16393, i16 -16384, i16 16514, i16 28, i16 16393, i16 -16384, i16 16515, i16 14, i16 16393, i16 -16384, i16 16515, i16 15, i16 16393, i16 -16384, i16 16516, i16 14, i16 16393, i16 -16384, i16 16516, i16 28, i16 16393, i16 -16384, i16 16517, i16 14, i16 16393, i16 -16384, i16 16518, i16 14, i16 16393, i16 -16384, i16 16518, i16 28, i16 16393, i16 -16384, i16 16518, i16 29, i16 16393, i16 -16384, i16 16519, i16 14, i16 16393, i16 -16384, i16 16519, i16 15, i16 16393, i16 -16384, i16 16519, i16 895, i16 16393, i16 -16384, i16 16520, i16 14, i16 16393, i16 -16384, i16 16521, i16 14, i16 16393, i16 -16384, i16 16522, i16 14, i16 16393, i16 -16384, i16 16523, i16 14, i16 16393, i16 -16384, i16 16524, i16 14, i16 16393, i16 -16384, i16 16524, i16 28, i16 16393, i16 -16384, i16 16525, i16 14, i16 16393, i16 -16384, i16 16526, i16 14, i16 16393, i16 -16384, i16 16527, i16 14, i16 16393, i16 -16384, i16 16527, i16 15, i16 16393, i16 -16384, i16 16527, i16 895, i16 16393, i16 -16384, i16 16528, i16 14, i16 16393, i16 -16384, i16 16528, i16 15, i16 16393, i16 -16384, i16 16529, i16 14, i16 16393, i16 -16384, i16 16529, i16 28, i16 16393, i16 -16384, i16 16529, i16 29, i16 16393, i16 -16384, i16 16529, i16 30, i16 16393, i16 -16384, i16 16529, i16 26, i16 16393, i16 -16384, i16 16529, i16 27, i16 16393, i16 -16384, i16 16530, i16 14, i16 16393, i16 -16384, i16 16530, i16 895, i16 16393, i16 -16384, i16 16531, i16 14, i16 16393, i16 -16384, i16 16531, i16 15, i16 16393, i16 -16384, i16 16532, i16 14, i16 16393, i16 -16384, i16 16532, i16 15, i16 16393, i16 -16384, i16 16533, i16 14, i16 16393, i16 -16384, i16 16533, i16 28, i16 16393, i16 -16384, i16 16510, i16 14, i16 16396, i16 -16384, i16 16510, i16 28, i16 16396, i16 -16384, i16 16511, i16 14, i16 16396, i16 -16384, i16 16511, i16 15, i16 16396, i16 -16384, i16 16512, i16 14, i16 16396, i16 -16384, i16 16513, i16 14, i16 16396, i16 -16384, i16 16514, i16 14, i16 16396, i16 -16384, i16 16514, i16 28, i16 16396, i16 -16384, i16 16515, i16 14, i16 16396, i16 -16384, i16 16515, i16 15, i16 16396, i16 -16384, i16 16516, i16 14, i16 16396, i16 -16384, i16 16516, i16 28, i16 16396, i16 -16384, i16 16517, i16 14, i16 16396, i16 -16384, i16 16517, i16 15, i16 16396, i16 -16384, i16 16518, i16 14, i16 16396, i16 -16384, i16 16518, i16 28, i16 16396, i16 -16384, i16 16518, i16 29, i16 16396, i16 -16384, i16 16518, i16 30, i16 16396, i16 -16384, i16 16518, i16 26, i16 16396, i16 -16384, i16 16519, i16 14, i16 16396, i16 -16384, i16 16519, i16 15, i16 16396, i16 -16384, i16 16519, i16 895, i16 16396, i16 -16384, i16 16520, i16 14, i16 16396, i16 -16384, i16 16521, i16 14, i16 16396, i16 -16384, i16 16522, i16 14, i16 16396, i16 -16384, i16 16523, i16 14, i16 16396, i16 -16384, i16 16524, i16 14, i16 16396, i16 -16384, i16 16524, i16 28, i16 16396, i16 -16384, i16 16525, i16 14, i16 16396, i16 -16384, i16 16525, i16 15, i16 16396, i16 -16384, i16 16526, i16 15, i16 16396, i16 -16384, i16 16527, i16 14, i16 16396, i16 -16384, i16 16527, i16 15, i16 16396, i16 -16384, i16 16527, i16 895, i16 16396, i16 -16384, i16 16527, i16 26, i16 16396, i16 -16384, i16 16528, i16 14, i16 16396, i16 -16384, i16 16528, i16 15, i16 16396, i16 -16384, i16 16529, i16 14, i16 16396, i16 -16384, i16 16529, i16 28, i16 16396, i16 -16384, i16 16529, i16 29, i16 16396, i16 -16384, i16 16529, i16 30, i16 16396, i16 -16384, i16 16530, i16 14, i16 16396, i16 -16384, i16 16530, i16 15, i16 16396, i16 -16384, i16 16530, i16 895, i16 16396, i16 -16384, i16 16531, i16 14, i16 16396, i16 -16384, i16 16532, i16 14, i16 16396, i16 -16384, i16 16532, i16 15, i16 16396, i16 -16384, i16 16533, i16 14, i16 16396, i16 -16384, i16 16533, i16 28, i16 16396, i16 -16384, i16 17292, i16 16398, i16 17273, i16 -16384, i16 17293, i16 16398, i16 17273, i16 -16384, i16 17294, i16 16398, i16 17273, i16 -16384, i16 17295, i16 16398, i16 17273, i16 -16384, i16 17296, i16 16398, i16 17273, i16 -16384, i16 17299, i16 16398, i16 17273, i16 -16384, i16 17302, i16 16398, i16 17273, i16 -16384, i16 17303, i16 16398, i16 17273, i16 -16384, i16 17305, i16 16398, i16 17273, i16 -16384, i16 17308, i16 16398, i16 17273, i16 -16384, i16 17309, i16 16398, i16 17273, i16 -16384, i16 17310, i16 16398, i16 17273, i16 -16384, i16 17311, i16 16398, i16 17273, i16 -16384, i16 17313, i16 16398, i16 17273, i16 -16384, i16 17314, i16 16398, i16 17273, i16 -16384, i16 17316, i16 16398, i16 17273, i16 -16384, i16 17317, i16 16398, i16 17273, i16 -16384, i16 17318, i16 16398, i16 17273, i16 -16384, i16 17319, i16 16398, i16 17273, i16 -16384, i16 17320, i16 16398, i16 17273, i16 -16384, i16 17323, i16 16398, i16 17273, i16 -16384, i16 17325, i16 16398, i16 17273, i16 -16384, i16 17326, i16 16398, i16 17273, i16 -16384, i16 17327, i16 16398, i16 17273, i16 -16384, i16 17328, i16 16398, i16 17273, i16 -16384, i16 17330, i16 16398, i16 17273, i16 -16384, i16 17331, i16 16398, i16 17273, i16 -16384, i16 17332, i16 16398, i16 17273, i16 -16384, i16 17334, i16 16398, i16 17273, i16 -16384, i16 17336, i16 16398, i16 17273, i16 -16384, i16 17337, i16 16398, i16 17273, i16 -16384, i16 17292, i16 16398, i16 16393, i16 -16384, i16 17293, i16 16398, i16 16393, i16 -16384, i16 17294, i16 16398, i16 16393, i16 -16384, i16 17295, i16 16398, i16 16393, i16 -16384, i16 17296, i16 16398, i16 16393, i16 -16384, i16 17299, i16 16398, i16 16393, i16 -16384, i16 17302, i16 16398, i16 16393, i16 -16384, i16 17303, i16 16398, i16 16393, i16 -16384, i16 17305, i16 16398, i16 16393, i16 -16384, i16 17308, i16 16398, i16 16393, i16 -16384, i16 17310, i16 16398, i16 16393, i16 -16384, i16 17311, i16 16398, i16 16393, i16 -16384, i16 17313, i16 16398, i16 16393, i16 -16384, i16 17314, i16 16398, i16 16393, i16 -16384, i16 17316, i16 16398, i16 16393, i16 -16384, i16 17317, i16 16398, i16 16393, i16 -16384, i16 17318, i16 16398, i16 16393, i16 -16384, i16 17319, i16 16398, i16 16393, i16 -16384, i16 17320, i16 16398, i16 16393, i16 -16384, i16 17323, i16 16398, i16 16393, i16 -16384, i16 17325, i16 16398, i16 16393, i16 -16384, i16 17326, i16 16398, i16 16393, i16 -16384, i16 17327, i16 16398, i16 16393, i16 -16384, i16 17328, i16 16398, i16 16393, i16 -16384, i16 17330, i16 16398, i16 16393, i16 -16384, i16 17331, i16 16398, i16 16393, i16 -16384, i16 17332, i16 16398, i16 16393, i16 -16384, i16 17334, i16 16398, i16 16393, i16 -16384, i16 17336, i16 16398, i16 16393, i16 -16384, i16 17337, i16 16398, i16 16393, i16 -16384, i16 16425, i16 16, i16 17273, i16 -16384, i16 16425, i16 17, i16 17273, i16 -16384, i16 16425, i16 897, i16 17273, i16 -16384, i16 16425, i16 22, i16 17273, i16 -16384, i16 16425, i16 20, i16 17273, i16 -16384, i16 16425, i16 19, i16 17273, i16 -16384, i16 16425, i16 896, i16 17273, i16 -16384, i16 18042, i16 1628, i16 18015, i16 -16384, i16 16427, i16 25, i16 17273, i16 -16384, i16 16427, i16 16, i16 17273, i16 -16384, i16 16427, i16 897, i16 17273, i16 -16384, i16 16427, i16 18, i16 17273, i16 -16384, i16 16427, i16 23, i16 17273, i16 -16384, i16 17282, i16 15, i16 17273, i16 -16384, i16 17282, i16 24, i16 17273, i16 -16384, i16 17283, i16 896, i16 17273, i16 -16384, i16 17283, i16 897, i16 17273, i16 -16384, i16 17283, i16 23, i16 17273, i16 -16384, i16 16430, i16 897, i16 17273, i16 -16384, i16 16430, i16 24, i16 17273, i16 -16384, i16 17284, i16 14, i16 17273, i16 -16384, i16 17284, i16 897, i16 17273, i16 -16384, i16 17284, i16 15, i16 17273, i16 -16384, i16 17285, i16 897, i16 17273, i16 -16384, i16 16433, i16 22, i16 17273, i16 -16384, i16 18045, i16 1628, i16 18015, i16 -16384, i16 16434, i16 20, i16 17273, i16 -16384, i16 16434, i16 24, i16 17273, i16 -16384, i16 16434, i16 21, i16 17273, i16 -16384, i16 16437, i16 897, i16 17273, i16 -16384, i16 16437, i16 18, i16 17273, i16 -16384, i16 16437, i16 25, i16 17273, i16 -16384, i16 18048, i16 1628, i16 18015, i16 -16384, i16 16438, i16 25, i16 17273, i16 -16384, i16 16439, i16 20, i16 17273, i16 -16384, i16 16439, i16 896, i16 17273, i16 -16384, i16 16439, i16 21, i16 17273, i16 -16384, i16 16441, i16 14, i16 17273, i16 -16384, i16 16443, i16 18, i16 17273, i16 -16384, i16 16443, i16 23, i16 17273, i16 -16384, i16 16425, i16 16, i16 16393, i16 -16384, i16 16425, i16 17, i16 16393, i16 -16384, i16 16425, i16 897, i16 16393, i16 -16384, i16 16425, i16 22, i16 16393, i16 -16384, i16 16425, i16 20, i16 16393, i16 -16384, i16 16425, i16 19, i16 16393, i16 -16384, i16 16425, i16 896, i16 16393, i16 -16384, i16 18042, i16 1628, i16 18021, i16 -16384, i16 16427, i16 25, i16 16393, i16 -16384, i16 16427, i16 16, i16 16393, i16 -16384, i16 16427, i16 897, i16 16393, i16 -16384, i16 16427, i16 18, i16 16393, i16 -16384, i16 16427, i16 23, i16 16393, i16 -16384, i16 17282, i16 15, i16 16393, i16 -16384, i16 17282, i16 24, i16 16393, i16 -16384, i16 17283, i16 896, i16 16393, i16 -16384, i16 17283, i16 897, i16 16393, i16 -16384, i16 17283, i16 23, i16 16393, i16 -16384, i16 16430, i16 897, i16 16393, i16 -16384, i16 16430, i16 24, i16 16393, i16 -16384, i16 17284, i16 14, i16 16393, i16 -16384, i16 17284, i16 897, i16 16393, i16 -16384, i16 17284, i16 15, i16 16393, i16 -16384, i16 17285, i16 897, i16 16393, i16 -16384, i16 16433, i16 22, i16 16393, i16 -16384, i16 18045, i16 1628, i16 18021, i16 -16384, i16 16434, i16 20, i16 16393, i16 -16384, i16 16434, i16 24, i16 16393, i16 -16384, i16 16434, i16 21, i16 16393, i16 -16384, i16 16437, i16 897, i16 16393, i16 -16384, i16 16437, i16 18, i16 16393, i16 -16384, i16 16437, i16 25, i16 16393, i16 -16384, i16 16438, i16 25, i16 16393, i16 -16384, i16 16439, i16 20, i16 16393, i16 -16384, i16 16439, i16 896, i16 16393, i16 -16384, i16 16439, i16 21, i16 16393, i16 -16384, i16 16441, i16 14, i16 16393, i16 -16384, i16 16443, i16 18, i16 16393, i16 -16384, i16 16443, i16 23, i16 16393, i16 -16384, i16 16415, i16 16398, i16 17273, i16 -16384, i16 16415, i16 16399, i16 17273, i16 -16384, i16 16416, i16 16398, i16 17273, i16 -16384, i16 16416, i16 16399, i16 17273, i16 -16384, i16 16417, i16 16398, i16 17273, i16 -16384, i16 16417, i16 16399, i16 17273, i16 -16384, i16 16418, i16 16398, i16 17273, i16 -16384, i16 16418, i16 16399, i16 17273, i16 -16384, i16 16419, i16 16398, i16 17273, i16 -16384, i16 16419, i16 16399, i16 17273, i16 -16384, i16 16420, i16 16398, i16 17273, i16 -16384, i16 16420, i16 16399, i16 17273, i16 -16384, i16 16421, i16 16398, i16 17273, i16 -16384, i16 16421, i16 16399, i16 17273, i16 -16384, i16 16422, i16 16398, i16 17273, i16 -16384, i16 16422, i16 16399, i16 17273, i16 -16384, i16 16423, i16 16398, i16 17273, i16 -16384, i16 16423, i16 16399, i16 17273, i16 -16384, i16 16424, i16 16398, i16 17273, i16 -16384, i16 16424, i16 16399, i16 17273, i16 -16384, i16 17289, i16 16398, i16 17273, i16 -16384, i16 17290, i16 16397, i16 17273, i16 -16384, i16 17290, i16 17274, i16 17273, i16 -16384, i16 17290, i16 17276, i16 17273, i16 -16384, i16 17290, i16 16398, i16 17273, i16 -16384, i16 16447, i16 16398, i16 17273, i16 -16384, i16 16472, i16 16398, i16 17273, i16 -16384, i16 16473, i16 16398, i16 17273, i16 -16384, i16 17291, i16 16398, i16 17273, i16 -16384, i16 16479, i16 16398, i16 17273, i16 -16384, i16 16480, i16 17275, i16 17273, i16 -16384, i16 16481, i16 16398, i16 17273, i16 -16384, i16 18051, i16 18054, i16 18015, i16 -16384, i16 16481, i16 17277, i16 17273, i16 -16384, i16 905, i16 14, i16 3, i16 -16384, i16 906, i16 13, i16 3, i16 -16384, i16 906, i16 13, i16 4, i16 -16384, i16 906, i16 890, i16 3, i16 -16384, i16 906, i16 890, i16 4, i16 -16384, i16 906, i16 892, i16 3, i16 -16384, i16 906, i16 892, i16 4, i16 -16384, i16 906, i16 14, i16 3, i16 -16384, i16 906, i16 14, i16 4, i16 -16384, i16 63, i16 14, i16 3, i16 -16384, i16 63, i16 14, i16 4, i16 -16384, i16 88, i16 14, i16 3, i16 -16384, i16 88, i16 14, i16 4, i16 -16384, i16 88, i16 14, i16 5, i16 -16384, i16 88, i16 14, i16 6, i16 -16384, i16 89, i16 14, i16 3, i16 -16384, i16 89, i16 14, i16 4, i16 -16384, i16 89, i16 14, i16 5, i16 -16384, i16 89, i16 14, i16 6, i16 -16384, i16 907, i16 14, i16 3, i16 -16384, i16 907, i16 14, i16 4, i16 -16384, i16 907, i16 14, i16 5, i16 -16384, i16 907, i16 14, i16 6, i16 -16384, i16 95, i16 14, i16 3, i16 -16384, i16 95, i16 14, i16 4, i16 -16384, i16 96, i16 891, i16 3, i16 -16384, i16 96, i16 891, i16 4, i16 -16384, i16 97, i16 14, i16 3, i16 -16384, i16 97, i16 14, i16 4, i16 -16384, i16 97, i16 893, i16 3, i16 -16384, i16 97, i16 893, i16 4, i16 -16384, i16 97, i16 893, i16 5, i16 -16384, i16 97, i16 893, i16 6, i16 -16384, i16 1673, i16 1676, i16 1679, i16 -16384, i16 1673, i16 1676, i16 1682, i16 -16384, i16 1673, i16 1685, i16 1679, i16 -16384, i16 1673, i16 1685, i16 1682, i16 -16384, i16 1673, i16 1688, i16 1679, i16 -16384, i16 1673, i16 1688, i16 1682, i16 -16384, i16 1673, i16 1643, i16 1679, i16 -16384, i16 1673, i16 1643, i16 1682, i16 -16384, i16 17297, i16 16398, i16 17273, i16 -16384, i16 17298, i16 16398, i16 17273, i16 -16384, i16 17300, i16 16398, i16 17273, i16 -16384, i16 17301, i16 16398, i16 17273, i16 -16384, i16 17304, i16 16398, i16 17273, i16 -16384, i16 17306, i16 16398, i16 17273, i16 -16384, i16 17307, i16 16398, i16 17273, i16 -16384, i16 17312, i16 16398, i16 17273, i16 -16384, i16 17315, i16 16398, i16 17273, i16 -16384, i16 17321, i16 16398, i16 17273, i16 -16384, i16 17322, i16 16398, i16 17273, i16 -16384, i16 17324, i16 16398, i16 17273, i16 -16384, i16 17329, i16 16398, i16 17273, i16 -16384, i16 17333, i16 16398, i16 17273, i16 -16384, i16 17335, i16 16398, i16 17273, i16 -16384, i16 17297, i16 16398, i16 16393, i16 -16384, i16 17298, i16 16398, i16 16393, i16 -16384, i16 17300, i16 16398, i16 16393, i16 -16384, i16 17301, i16 16398, i16 16393, i16 -16384, i16 17304, i16 16398, i16 16393, i16 -16384, i16 17306, i16 16398, i16 16393, i16 -16384, i16 17307, i16 16398, i16 16393, i16 -16384, i16 17309, i16 16398, i16 16393, i16 -16384, i16 17312, i16 16398, i16 16393, i16 -16384, i16 17315, i16 16398, i16 16393, i16 -16384, i16 17321, i16 16398, i16 16393, i16 -16384, i16 17322, i16 16398, i16 16393, i16 -16384, i16 17324, i16 16398, i16 16393, i16 -16384, i16 17329, i16 16398, i16 16393, i16 -16384, i16 17333, i16 16398, i16 16393, i16 -16384, i16 17335, i16 16398, i16 16393, i16 -16384, i16 32767, i16 16384, i16 16384, i16 -16384, i16 18075, i16 18078, i16 16384, i16 -16384, i16 18081, i16 18078, i16 16384, i16 -16384, i16 18084, i16 18078, i16 16384, i16 -16384, i16 17541, i16 16407, i16 17273, i16 -16384, i16 17542, i16 16407, i16 17273, i16 -16384, i16 17543, i16 16407, i16 17273, i16 -16384, i16 17544, i16 16407, i16 17273, i16 -16384, i16 17545, i16 16407, i16 17273, i16 -16384, i16 17540, i16 16407, i16 17273, i16 -16384, i16 17555, i16 16399, i16 17273, i16 -16384, i16 17555, i16 16399, i16 16393, i16 -16384, i16 17556, i16 16399, i16 17273, i16 -16384, i16 17556, i16 16399, i16 16393, i16 -16384, i16 17561, i16 16398, i16 17273, i16 -16384, i16 17561, i16 16398, i16 16393, i16 -16384, i16 17564, i16 16399, i16 17273, i16 -16384, i16 17564, i16 16404, i16 17273, i16 -16384, i16 17564, i16 16399, i16 16393, i16 -16384, i16 17564, i16 16404, i16 16393, i16 -16384, i16 17284, i16 16398, i16 17273, i16 -16384, i16 17567, i16 16407, i16 17273, i16 -16384, i16 17284, i16 16398, i16 16393, i16 -16384, i16 17567, i16 16407, i16 16393, i16 -16384, i16 17568, i16 16399, i16 17273, i16 -16384, i16 17568, i16 16406, i16 17273, i16 -16384, i16 17568, i16 16399, i16 16393, i16 -16384, i16 17568, i16 16406, i16 16393, i16 -16384, i16 17569, i16 16404, i16 17273, i16 -16384, i16 17569, i16 16404, i16 16393, i16 -16384, i16 17565, i16 16409, i16 17273, i16 -16384, i16 17565, i16 16409, i16 16393, i16 -16384, i16 17566, i16 17280, i16 17273, i16 -16384, i16 17566, i16 17280, i16 16393, i16 -16384, i16 17570, i16 16409, i16 17273, i16 -16384, i16 17570, i16 16409, i16 16393, i16 -16384, i16 17571, i16 16404, i16 17273, i16 -16384, i16 17571, i16 16404, i16 16393, i16 -16384, i16 17572, i16 16399, i16 17273, i16 -16384, i16 17572, i16 16399, i16 16393, i16 -16384, i16 17573, i16 16399, i16 17273, i16 -16384, i16 17573, i16 16399, i16 16393, i16 -16384, i16 17574, i16 16399, i16 17273, i16 -16384, i16 17574, i16 16399, i16 16393, i16 -16384, i16 17575, i16 16399, i16 17273, i16 -16384, i16 17575, i16 16399, i16 16393, i16 -16384, i16 17576, i16 16399, i16 17273, i16 -16384, i16 17576, i16 16399, i16 16393, i16 -16384, i16 17577, i16 16399, i16 17273, i16 -16384, i16 17577, i16 16399, i16 16393, i16 -16384, i16 17578, i16 16399, i16 17273, i16 -16384, i16 17578, i16 16399, i16 16393, i16 -16384, i16 17579, i16 16399, i16 17273, i16 -16384, i16 17579, i16 16399, i16 16393, i16 -16384, i16 17602, i16 16407, i16 17273, i16 -16384, i16 17602, i16 16407, i16 17600, i16 -16384, i16 17602, i16 16407, i16 16393, i16 -16384, i16 17602, i16 16407, i16 17601, i16 -16384, i16 32766, i16 16384, i16 16384, i16 16384, i16 17619, i16 16399, i16 17273, i16 -16384, i16 17619, i16 16399, i16 16393, i16 -16384, i16 17620, i16 16399, i16 17273, i16 -16384, i16 17620, i16 16399, i16 16393, i16 -16384, i16 17621, i16 16399, i16 17273, i16 -16384, i16 17621, i16 16399, i16 16393, i16 -16384, i16 17622, i16 16399, i16 17273, i16 -16384, i16 17622, i16 16399, i16 16393, i16 -16384, i16 17623, i16 16399, i16 17273, i16 -16384, i16 17623, i16 16399, i16 16393, i16 -16384, i16 17635, i16 16404, i16 17273, i16 -16384, i16 17634, i16 16403, i16 17273, i16 -16384, i16 17635, i16 17279, i16 17273, i16 -16384, i16 17636, i16 16404, i16 17273, i16 -16384, i16 17637, i16 16408, i16 17273, i16 -16384, i16 17635, i16 16404, i16 16393, i16 -16384, i16 17634, i16 16403, i16 16393, i16 -16384, i16 17635, i16 17279, i16 16393, i16 -16384, i16 17636, i16 16404, i16 16393, i16 -16384, i16 17637, i16 16408, i16 16393, i16 -16384, i16 16440, i16 16398, i16 16393, i16 -16327, i16 16440, i16 16398, i16 17273, i16 -16327, i16 16442, i16 16404, i16 17273, i16 -16384, i16 16442, i16 16404, i16 16393, i16 -16384, i16 17638, i16 16407, i16 17273, i16 -16384, i16 17639, i16 16407, i16 17273, i16 -16384, i16 17638, i16 16407, i16 16393, i16 -16384, i16 17639, i16 16407, i16 16393, i16 -16384, i16 17640, i16 16407, i16 17273, i16 -16384, i16 17640, i16 16407, i16 17600, i16 -16384, i16 17641, i16 16407, i16 17273, i16 -16384, i16 17640, i16 16407, i16 16393, i16 -16384, i16 17640, i16 16407, i16 17601, i16 -16384, i16 17641, i16 16407, i16 16393, i16 -16384, i16 17642, i16 16407, i16 17273, i16 -16384, i16 17642, i16 16407, i16 17600, i16 -16384, i16 17642, i16 16407, i16 16393, i16 -16384, i16 17642, i16 16407, i16 17601, i16 -16384, i16 17643, i16 16407, i16 17273, i16 -16384, i16 17643, i16 16407, i16 17600, i16 -16384, i16 17643, i16 16407, i16 16393, i16 -16384, i16 17643, i16 16407, i16 17601, i16 -16384, i16 17644, i16 16407, i16 17273, i16 -16384, i16 17644, i16 16407, i16 16393, i16 -16384, i16 17645, i16 16407, i16 17273, i16 -16384, i16 17645, i16 16407, i16 16393, i16 -16384, i16 17658, i16 16401, i16 17273, i16 -16384, i16 17660, i16 16400, i16 17273, i16 -16384, i16 17661, i16 17281, i16 17273, i16 -16384, i16 17659, i16 16406, i16 17273, i16 -16384, i16 17658, i16 16401, i16 16393, i16 -16384, i16 17660, i16 16400, i16 16393, i16 -16384, i16 17661, i16 17281, i16 16393, i16 -16384, i16 17659, i16 16406, i16 16393, i16 -16384, i16 17662, i16 16409, i16 17273, i16 -16384, i16 17639, i16 16402, i16 17273, i16 -16384, i16 17662, i16 16409, i16 16393, i16 -16384, i16 17639, i16 16402, i16 16393, i16 -16384, i16 17663, i16 16398, i16 17273, i16 -16384, i16 17664, i16 16402, i16 17273, i16 -16384, i16 17664, i16 16402, i16 16393, i16 -16384, i16 17666, i16 16399, i16 17273, i16 -16384, i16 17665, i16 16408, i16 17273, i16 -16384, i16 17666, i16 16399, i16 16393, i16 -16384, i16 17665, i16 16408, i16 16393, i16 -16384, i16 17668, i16 16402, i16 17273, i16 -16384, i16 17669, i16 16408, i16 17273, i16 -16384, i16 17671, i16 18078, i16 18015, i16 -16384, i16 17644, i16 16402, i16 17273, i16 -16384, i16 17644, i16 16402, i16 16393, i16 -16384, i16 17673, i16 16404, i16 17273, i16 -16384, i16 17672, i16 17279, i16 17273, i16 -16384, i16 17673, i16 16404, i16 16393, i16 -16384, i16 17672, i16 17279, i16 16393, i16 -16384, i16 17667, i16 16398, i16 17273, i16 -16384, i16 17670, i16 16402, i16 17273, i16 -16384, i16 17670, i16 16402, i16 16393, i16 -16384, i16 17685, i16 17281, i16 17273, i16 -16384, i16 17686, i16 17280, i16 17273, i16 -16384, i16 17685, i16 17281, i16 16393, i16 -16384, i16 17686, i16 17280, i16 16393, i16 -16384, i16 17688, i16 16409, i16 17273, i16 -16384, i16 17688, i16 16409, i16 16393, i16 -16384, i16 17687, i16 17281, i16 17273, i16 -16384, i16 17687, i16 17281, i16 16393, i16 -16384, i16 17695, i16 16399, i16 17273, i16 -16384, i16 17695, i16 16399, i16 17600, i16 -16384, i16 17695, i16 16399, i16 16393, i16 -16384, i16 17695, i16 16399, i16 17601, i16 -16384, i16 17697, i16 16399, i16 17273, i16 -16384, i16 17697, i16 16399, i16 17600, i16 -16384, i16 17697, i16 16399, i16 16393, i16 -16384, i16 17697, i16 16399, i16 17601, i16 -16384, i16 17693, i16 16407, i16 17273, i16 -16384, i16 17693, i16 16407, i16 16393, i16 -16384, i16 17694, i16 16407, i16 17273, i16 -16384, i16 17694, i16 16407, i16 16393, i16 -16384, i16 17696, i16 16408, i16 17273, i16 -16384, i16 17696, i16 16408, i16 16393, i16 -16384, i16 17698, i16 16407, i16 17273, i16 -16384, i16 17698, i16 16407, i16 16393, i16 -16384, i16 17707, i16 16407, i16 17273, i16 -16384, i16 17707, i16 16407, i16 17600, i16 -16384, i16 17707, i16 16407, i16 16393, i16 -16384, i16 17707, i16 16407, i16 17601, i16 -16384, i16 17708, i16 16407, i16 17273, i16 -16384, i16 17708, i16 16407, i16 17600, i16 -16384, i16 17708, i16 16407, i16 16393, i16 -16384, i16 17708, i16 16407, i16 17601, i16 -16384, i16 32766, i16 16398, i16 17273, i16 -16384, i16 32766, i16 16398, i16 16393, i16 -16384, i16 17803, i16 16404, i16 17273, i16 -16384, i16 17803, i16 16405, i16 17273, i16 -16384, i16 17803, i16 16404, i16 16393, i16 -16384, i16 17803, i16 16405, i16 16393, i16 -16384, i16 17806, i16 16404, i16 17273, i16 -16384, i16 17806, i16 16405, i16 17273, i16 -16384, i16 17806, i16 16404, i16 16393, i16 -16384, i16 17806, i16 16405, i16 16393, i16 -16384, i16 17797, i16 16398, i16 16393, i16 -16384, i16 17797, i16 16398, i16 17601, i16 -16384, i16 18087, i16 18054, i16 18021, i16 -16384, i16 18087, i16 18054, i16 18090, i16 -16384, i16 18087, i16 18054, i16 18093, i16 -16384, i16 18087, i16 18054, i16 18096, i16 -16384, i16 17797, i16 16398, i16 17600, i16 -16384, i16 17797, i16 16398, i16 17273, i16 -16384, i16 18087, i16 18054, i16 18099, i16 -16384, i16 18087, i16 18054, i16 18102, i16 -16384, i16 18087, i16 18054, i16 18105, i16 -16384, i16 18087, i16 18054, i16 18015, i16 -16384, i16 17798, i16 16398, i16 16393, i16 -16384, i16 17798, i16 16398, i16 17601, i16 -16384, i16 18108, i16 18054, i16 18021, i16 -16384, i16 18108, i16 18054, i16 18090, i16 -16384, i16 18108, i16 18054, i16 18093, i16 -16384, i16 18108, i16 18054, i16 18096, i16 -16384, i16 17798, i16 16398, i16 17600, i16 -16384, i16 17798, i16 16398, i16 17273, i16 -16384, i16 18108, i16 18054, i16 18099, i16 -16384, i16 18108, i16 18054, i16 18102, i16 -16384, i16 18108, i16 18054, i16 18105, i16 -16384, i16 18108, i16 18054, i16 18015, i16 -16384, i16 17799, i16 16398, i16 17796, i16 -16384, i16 17799, i16 16398, i16 17795, i16 -16384, i16 17799, i16 16398, i16 17794, i16 -16384, i16 17799, i16 16398, i16 17793, i16 -16384, i16 18111, i16 18054, i16 18114, i16 -16384, i16 18111, i16 18054, i16 18117, i16 -16384, i16 18111, i16 18054, i16 18120, i16 -16384, i16 18111, i16 18054, i16 18123, i16 -16384, i16 17799, i16 16398, i16 17792, i16 -16384, i16 17799, i16 16398, i16 17791, i16 -16384, i16 17799, i16 16398, i16 17790, i16 -16384, i16 17799, i16 16398, i16 17789, i16 -16384, i16 18111, i16 18054, i16 18126, i16 -16384, i16 18111, i16 18054, i16 18129, i16 -16384, i16 18111, i16 18054, i16 18132, i16 -16384, i16 18111, i16 18054, i16 18135, i16 -16384, i16 17800, i16 16398, i16 16393, i16 -16384, i16 17800, i16 16398, i16 17601, i16 -16384, i16 18138, i16 18054, i16 18021, i16 -16384, i16 18138, i16 18054, i16 18090, i16 -16384, i16 18138, i16 18054, i16 18093, i16 -16384, i16 18138, i16 18054, i16 18096, i16 -16384, i16 17800, i16 16398, i16 17273, i16 -16384, i16 17800, i16 16398, i16 17600, i16 -16384, i16 18138, i16 18054, i16 18099, i16 -16384, i16 18138, i16 18054, i16 18102, i16 -16384, i16 18138, i16 18054, i16 18105, i16 -16384, i16 18138, i16 18054, i16 18015, i16 -16384, i16 17801, i16 16398, i16 16393, i16 -16384, i16 17801, i16 16398, i16 17601, i16 -16384, i16 18141, i16 18054, i16 18021, i16 -16384, i16 18141, i16 18054, i16 18090, i16 -16384, i16 18141, i16 18054, i16 18093, i16 -16384, i16 18141, i16 18054, i16 18096, i16 -16384, i16 17801, i16 16398, i16 17273, i16 -16384, i16 17801, i16 16398, i16 17600, i16 -16384, i16 18141, i16 18054, i16 18099, i16 -16384, i16 18141, i16 18054, i16 18102, i16 -16384, i16 18141, i16 18054, i16 18105, i16 -16384, i16 18141, i16 18054, i16 18015, i16 -16384, i16 17802, i16 16398, i16 16393, i16 -16384, i16 17802, i16 16398, i16 17601, i16 -16384, i16 18144, i16 18054, i16 18021, i16 -16384, i16 18144, i16 18054, i16 18090, i16 -16384, i16 18144, i16 18054, i16 18093, i16 -16384, i16 18144, i16 18054, i16 18096, i16 -16384, i16 17802, i16 16398, i16 17273, i16 -16384, i16 17802, i16 16398, i16 17600, i16 -16384, i16 18144, i16 18054, i16 18099, i16 -16384, i16 18144, i16 18054, i16 18102, i16 -16384, i16 18144, i16 18054, i16 18105, i16 -16384, i16 18144, i16 18054, i16 18015, i16 -16384, i16 17804, i16 16398, i16 16393, i16 -16384, i16 17804, i16 16398, i16 17601, i16 -16384, i16 18147, i16 18054, i16 18021, i16 -16384, i16 18147, i16 18054, i16 18090, i16 -16384, i16 18147, i16 18054, i16 18093, i16 -16384, i16 18147, i16 18054, i16 18096, i16 -16384, i16 17804, i16 16398, i16 17600, i16 -16384, i16 17804, i16 16398, i16 17273, i16 -16384, i16 18147, i16 18054, i16 18099, i16 -16384, i16 18147, i16 18054, i16 18102, i16 -16384, i16 18147, i16 18054, i16 18105, i16 -16384, i16 18147, i16 18054, i16 18015, i16 -16384, i16 17805, i16 16398, i16 16393, i16 -16384, i16 17805, i16 16398, i16 17601, i16 -16384, i16 18150, i16 18054, i16 18021, i16 -16384, i16 18150, i16 18054, i16 18090, i16 -16384, i16 18150, i16 18054, i16 18093, i16 -16384, i16 18150, i16 18054, i16 18096, i16 -16384, i16 17805, i16 16398, i16 17600, i16 -16384, i16 17805, i16 16398, i16 17273, i16 -16384, i16 18150, i16 18054, i16 18099, i16 -16384, i16 18150, i16 18054, i16 18102, i16 -16384, i16 18150, i16 18054, i16 18105, i16 -16384, i16 18150, i16 18054, i16 18015, i16 -16384, i16 17807, i16 16398, i16 16393, i16 -16384, i16 17807, i16 16398, i16 17601, i16 -16384, i16 18153, i16 18054, i16 18021, i16 -16384, i16 18153, i16 18054, i16 18090, i16 -16384, i16 18153, i16 18054, i16 18093, i16 -16384, i16 18153, i16 18054, i16 18096, i16 -16384, i16 17807, i16 16398, i16 17600, i16 -16384, i16 17807, i16 16398, i16 17273, i16 -16384, i16 18153, i16 18054, i16 18099, i16 -16384, i16 18153, i16 18054, i16 18102, i16 -16384, i16 18153, i16 18054, i16 18105, i16 -16384, i16 18153, i16 18054, i16 18015, i16 -16384, i16 16384, i16 16384, i16 16384, i16 -2, i16 17934, i16 16398, i16 17273, i16 -16384, i16 17290, i16 17928, i16 17273, i16 -16384, i16 17289, i16 17274, i16 17273, i16 -16384, i16 17289, i16 17276, i16 17273, i16 -16384, i16 17289, i16 17275, i16 17273, i16 -16384, i16 17289, i16 17929, i16 17273, i16 -16384, i16 17289, i16 17929, i16 17932, i16 -16384, i16 17289, i16 17929, i16 17933, i16 -16384, i16 16472, i16 16399, i16 17273, i16 -16384, i16 17291, i16 17931, i16 17273, i16 -16384, i16 17291, i16 17274, i16 17273, i16 -16384, i16 17935, i16 16398, i16 17273, i16 -16384, i16 17935, i16 17930, i16 17273, i16 -16384, i16 17935, i16 17277, i16 17273, i16 -16384, i16 17934, i16 16398, i16 16387, i16 -16384, i16 17934, i16 16398, i16 16388, i16 -16384, i16 17290, i16 16398, i16 16387, i16 -16384, i16 17290, i16 16398, i16 16388, i16 -16384, i16 17290, i16 17928, i16 16387, i16 -16384, i16 17290, i16 17928, i16 16388, i16 -16384, i16 17289, i16 16398, i16 16387, i16 -16384, i16 17289, i16 17274, i16 16387, i16 -16384, i16 17289, i16 17274, i16 16388, i16 -16384, i16 17289, i16 17276, i16 16387, i16 -16384, i16 17289, i16 17276, i16 16388, i16 -16384, i16 17289, i16 17275, i16 16387, i16 -16384, i16 17289, i16 17275, i16 16388, i16 -16384, i16 17289, i16 17929, i16 16387, i16 -16384, i16 17289, i16 17929, i16 16388, i16 -16384, i16 16472, i16 16398, i16 16387, i16 -16384, i16 16472, i16 16398, i16 16388, i16 -16384, i16 16472, i16 16398, i16 16389, i16 -16384, i16 16472, i16 16398, i16 16390, i16 -16384, i16 16472, i16 16399, i16 16387, i16 -16384, i16 16472, i16 16399, i16 16388, i16 -16384, i16 16472, i16 16399, i16 16389, i16 -16384, i16 16472, i16 16399, i16 16390, i16 -16384, i16 17291, i16 16398, i16 16387, i16 -16384, i16 17291, i16 16398, i16 16388, i16 -16384, i16 17291, i16 16398, i16 16389, i16 -16384, i16 17291, i16 16398, i16 16390, i16 -16384, i16 17291, i16 17931, i16 16387, i16 -16384, i16 17291, i16 17931, i16 16388, i16 -16384, i16 17291, i16 17274, i16 16387, i16 -16384, i16 17291, i16 17274, i16 16388, i16 -16384, i16 17935, i16 16398, i16 16387, i16 -16384, i16 17935, i16 16398, i16 16388, i16 -16384, i16 17935, i16 16398, i16 16389, i16 -16384, i16 17935, i16 16398, i16 16390, i16 -16384, i16 17935, i16 17930, i16 16387, i16 -16384, i16 17935, i16 17930, i16 16388, i16 -16384, i16 17935, i16 17277, i16 16387, i16 -16384, i16 17935, i16 17277, i16 16388, i16 -16384, i16 17935, i16 17277, i16 16389, i16 -16384, i16 17935, i16 17277, i16 16390, i16 -16384, i16 18156, i16 18054, i16 18159, i16 -16384, i16 18156, i16 18054, i16 18162, i16 -16384, i16 18165, i16 18168, i16 18159, i16 -16384, i16 18165, i16 18168, i16 18162, i16 -16384, i16 18165, i16 18171, i16 18159, i16 -16384, i16 18165, i16 18171, i16 18162, i16 -16384, i16 18174, i16 18054, i16 18159, i16 -16384, i16 18174, i16 18054, i16 18162, i16 -16384, i16 18177, i16 18182, i16 18187, i16 -16384, i16 17958, i16 17281, i16 16393, i16 -16384, i16 17958, i16 17281, i16 17273, i16 -16384, i16 17959, i16 17281, i16 16393, i16 -16384, i16 17959, i16 17281, i16 17273, i16 -16384, i16 17960, i16 17281, i16 16393, i16 -16384, i16 17960, i16 17281, i16 17273, i16 -16384, i16 17961, i16 17281, i16 16393, i16 -16384, i16 17961, i16 17281, i16 17273, i16 -16384, i16 17962, i16 17281, i16 16393, i16 -16384, i16 17962, i16 17281, i16 17273, i16 -16384, i16 17963, i16 17280, i16 16393, i16 -16384, i16 17963, i16 17280, i16 17273, i16 -16384, i16 17964, i16 16407, i16 17273, i16 -16384, i16 17964, i16 16407, i16 17600, i16 -16384, i16 17964, i16 16407, i16 16393, i16 -16384, i16 17964, i16 16407, i16 17601, i16 -16384, i16 17965, i16 16407, i16 17273, i16 -16384, i16 17965, i16 16407, i16 17600, i16 -16384, i16 17965, i16 16407, i16 16393, i16 -16384, i16 17965, i16 16407, i16 17601, i16 -16384, i16 17966, i16 16407, i16 17273, i16 -16384, i16 17966, i16 16407, i16 17600, i16 -16384, i16 17966, i16 16407, i16 16393, i16 -16384, i16 17966, i16 16407, i16 17601, i16 -16384, i16 17967, i16 16407, i16 17273, i16 -16384, i16 17967, i16 16407, i16 17600, i16 -16384, i16 17967, i16 16407, i16 16393, i16 -16384, i16 17967, i16 16407, i16 17601, i16 -16384, i16 17968, i16 16407, i16 17273, i16 -16384, i16 17968, i16 16407, i16 17600, i16 -16384, i16 17968, i16 16407, i16 16393, i16 -16384, i16 17968, i16 16407, i16 17601, i16 -16384, i16 17969, i16 16407, i16 17273, i16 -16384, i16 17969, i16 16407, i16 17600, i16 -16384, i16 17969, i16 16407, i16 16393, i16 -16384, i16 17969, i16 16407, i16 17601, i16 -16384, i16 17970, i16 16407, i16 17273, i16 -16384, i16 17970, i16 16407, i16 17600, i16 -16384, i16 17970, i16 16407, i16 16393, i16 -16384, i16 17970, i16 16407, i16 17601, i16 -16384, i16 17971, i16 16407, i16 17273, i16 -16384, i16 17971, i16 16407, i16 17600, i16 -16384, i16 17971, i16 16407, i16 16393, i16 -16384, i16 17971, i16 16407, i16 17601, i16 -16384, i16 18000, i16 16407, i16 17273, i16 -16384, i16 18000, i16 16407, i16 17600, i16 -16384, i16 18001, i16 16407, i16 17273, i16 -16384, i16 18001, i16 16407, i16 17600, i16 -16384, i16 18000, i16 16407, i16 16393, i16 -16384, i16 18000, i16 16407, i16 17601, i16 -16384, i16 18001, i16 16407, i16 16393, i16 -16384, i16 18001, i16 16407, i16 17601, i16 -16384, i16 18192, i16 18078, i16 18015, i16 -16384, i16 18192, i16 18195, i16 18015, i16 -16384, i16 18198, i16 18078, i16 18015, i16 -16384, i16 17299, i16 17300, i16 17273, i16 -16384, i16 17299, i16 17301, i16 17273, i16 -16384, i16 17299, i16 17335, i16 17273, i16 -16384, i16 17305, i16 17306, i16 17273, i16 -16384, i16 17305, i16 17307, i16 17273, i16 -16384, i16 17305, i16 17333, i16 17273, i16 -16384, i16 18192, i16 18078, i16 18021, i16 -16384, i16 18192, i16 18195, i16 18021, i16 -16384, i16 18198, i16 18078, i16 18021, i16 -16384, i16 17299, i16 17300, i16 16393, i16 -16384, i16 17299, i16 17301, i16 16393, i16 -16384, i16 17299, i16 17335, i16 16393, i16 -16384, i16 17305, i16 17306, i16 16393, i16 -16384, i16 17305, i16 17307, i16 16393, i16 -16384, i16 17305, i16 17333, i16 16393, i16 -16384, i16 17295, i16 17297, i16 17273, i16 -16384, i16 17310, i16 17321, i16 17273, i16 -16384, i16 18201, i16 18078, i16 18015, i16 -16384, i16 18204, i16 18078, i16 18015, i16 -16384, i16 17323, i16 17324, i16 17273, i16 -16384, i16 17328, i16 17322, i16 17273, i16 -16384, i16 17295, i16 17297, i16 16393, i16 -16384, i16 17308, i16 17309, i16 16393, i16 -16384, i16 17310, i16 17321, i16 16393, i16 -16384, i16 18201, i16 18078, i16 18021, i16 -16384, i16 18204, i16 18078, i16 18021, i16 -16384, i16 17323, i16 17324, i16 16393, i16 -16384, i16 17328, i16 17322, i16 16393, i16 -16384, i16 18006, i16 16404, i16 17273, i16 -16384, i16 18006, i16 16404, i16 16393, i16 -16384, i16 32766, i16 16382, i16 32766, i16 -16386, i16 32766, i16 16382, i16 32766, i16 -32768, i16 16384, i16 0, i16 16384, i16 -16386, i16 32766, i16 2, i16 16385, i16 -32768, i16 17065, i16 2, i16 18080, i16 -32768, i16 17065, i16 2, i16 32766, i16 -32768, i16 17065, i16 5, i16 16385, i16 -32768, i16 17065, i16 5, i16 18080, i16 -32768, i16 17065, i16 6, i16 16385, i16 -32768, i16 17065, i16 6, i16 18080, i16 -32768, i16 17065, i16 7, i16 16385, i16 -32768, i16 17065, i16 7, i16 18080, i16 -32768, i16 17065, i16 8, i16 16385, i16 -32768, i16 17065, i16 8, i16 18080, i16 -32768, i16 17065, i16 9, i16 16385, i16 -32768, i16 17065, i16 9, i16 18080, i16 -32768, i16 17065, i16 11, i16 16385, i16 -32768, i16 17065, i16 11, i16 18080, i16 -32768, i16 17065, i16 12, i16 16385, i16 -32768, i16 17065, i16 12, i16 18080, i16 -32768, i16 17065, i16 13, i16 16385, i16 -32768, i16 17065, i16 13, i16 18080, i16 -32768, i16 17065, i16 15, i16 16385, i16 -32768, i16 17065, i16 15, i16 18080, i16 -32768, i16 17065, i16 16, i16 16385, i16 -32768, i16 17065, i16 16, i16 18080, i16 -32768, i16 17065, i16 17, i16 16385, i16 -32768, i16 17065, i16 17, i16 18080, i16 -32768, i16 17065, i16 18, i16 16385, i16 -32768, i16 17065, i16 18, i16 18080, i16 -32768, i16 17065, i16 19, i16 16385, i16 -32768, i16 17065, i16 19, i16 18080, i16 -32768, i16 17065, i16 20, i16 16385, i16 -32768, i16 17065, i16 20, i16 18080, i16 -32768, i16 17065, i16 21, i16 16385, i16 -32768, i16 17065, i16 21, i16 18080, i16 -32768, i16 17065, i16 22, i16 16385, i16 -32768, i16 17065, i16 22, i16 18080, i16 -32768, i16 17065, i16 27, i16 16385, i16 -32768, i16 17065, i16 27, i16 18080, i16 -32768, i16 17065, i16 29, i16 16385, i16 -32768, i16 17065, i16 29, i16 18080, i16 -32768, i16 17065, i16 34, i16 16385, i16 -32768, i16 17065, i16 34, i16 18080, i16 -32768, i16 17065, i16 35, i16 16385, i16 -32768, i16 17065, i16 35, i16 18080, i16 -32768, i16 17065, i16 40, i16 16385, i16 -32768, i16 17065, i16 40, i16 18080, i16 -32768, i16 17065, i16 55, i16 16385, i16 -32768, i16 17065, i16 55, i16 18080, i16 -32768, i16 17113, i16 2, i16 18080, i16 -32768, i16 17113, i16 39, i16 16385, i16 -32768, i16 17113, i16 39, i16 18080, i16 -32768, i16 17113, i16 40, i16 16385, i16 -32768, i16 17113, i16 40, i16 18080, i16 -32768, i16 17113, i16 58, i16 16385, i16 -32768, i16 17113, i16 58, i16 18080, i16 -32768, i16 17122, i16 2, i16 18080, i16 -32768, i16 17122, i16 16, i16 16385, i16 -32768, i16 17122, i16 16, i16 18080, i16 -32768, i16 17122, i16 34, i16 16385, i16 -32768, i16 17122, i16 34, i16 18080, i16 -32768, i16 17122, i16 39, i16 16385, i16 -32768, i16 17122, i16 39, i16 18080, i16 -32768, i16 17122, i16 45, i16 16385, i16 -32768, i16 17122, i16 45, i16 18080, i16 -32768, i16 17133, i16 2, i16 18080, i16 -32768, i16 17133, i16 22, i16 16385, i16 -32768, i16 17133, i16 22, i16 18080, i16 -32768, i16 17133, i16 39, i16 16385, i16 -32768, i16 17133, i16 39, i16 18080, i16 -32768, i16 17133, i16 40, i16 16385, i16 -32768, i16 17133, i16 40, i16 18080, i16 -32768, i16 17133, i16 44, i16 16385, i16 -32768, i16 17133, i16 44, i16 18080, i16 -32768, i16 17133, i16 57, i16 16385, i16 -32768, i16 17133, i16 57, i16 18080, i16 -32768, i16 17133, i16 58, i16 16385, i16 -32768, i16 17133, i16 58, i16 18080, i16 -32768, i16 17148, i16 2, i16 18080, i16 -32768, i16 17148, i16 5, i16 16385, i16 -32768, i16 17148, i16 5, i16 18080, i16 -32768, i16 17148, i16 6, i16 16385, i16 -32768, i16 17148, i16 6, i16 18080, i16 -32768, i16 17148, i16 7, i16 16385, i16 -32768, i16 17148, i16 7, i16 18080, i16 -32768, i16 17148, i16 15, i16 16385, i16 -32768, i16 17148, i16 15, i16 18080, i16 -32768, i16 17148, i16 16, i16 16385, i16 -32768, i16 17148, i16 16, i16 18080, i16 -32768, i16 17148, i16 17, i16 16385, i16 -32768, i16 17148, i16 17, i16 18080, i16 -32768, i16 17148, i16 18, i16 16385, i16 -32768, i16 17148, i16 18, i16 18080, i16 -32768, i16 17148, i16 19, i16 16385, i16 -32768, i16 17148, i16 19, i16 18080, i16 -32768, i16 17148, i16 20, i16 16385, i16 -32768, i16 17148, i16 20, i16 18080, i16 -32768, i16 17148, i16 21, i16 16385, i16 -32768, i16 17148, i16 21, i16 18080, i16 -32768, i16 17148, i16 22, i16 16385, i16 -32768, i16 17148, i16 22, i16 18080, i16 -32768, i16 17148, i16 28, i16 16385, i16 -32768, i16 17148, i16 28, i16 18080, i16 -32768, i16 17148, i16 34, i16 16385, i16 -32768, i16 17148, i16 34, i16 18080, i16 -32768, i16 17148, i16 35, i16 16385, i16 -32768, i16 17148, i16 35, i16 18080, i16 -32768, i16 17148, i16 38, i16 16385, i16 -32768, i16 17148, i16 38, i16 18080, i16 -32768, i16 17148, i16 39, i16 16385, i16 -32768, i16 17148, i16 39, i16 18080, i16 -32768, i16 17148, i16 40, i16 16385, i16 -32768, i16 17148, i16 40, i16 18080, i16 -32768, i16 17148, i16 47, i16 16385, i16 -32768, i16 17148, i16 47, i16 18080, i16 -32768, i16 17148, i16 51, i16 16385, i16 -32768, i16 17148, i16 51, i16 18080, i16 -32768, i16 17148, i16 52, i16 16385, i16 -32768, i16 17148, i16 52, i16 18080, i16 -32768, i16 17148, i16 57, i16 16385, i16 -32768, i16 17148, i16 57, i16 18080, i16 -32768, i16 17193, i16 2, i16 18080, i16 -32768, i16 17193, i16 34, i16 16385, i16 -32768, i16 17193, i16 34, i16 18080, i16 -32768, i16 17193, i16 39, i16 16385, i16 -32768, i16 17193, i16 39, i16 18080, i16 -32768, i16 18531, i16 2150, i16 18537, i16 -32768, i16 18540, i16 2150, i16 18543, i16 -32768, i16 18546, i16 2150, i16 18549, i16 -32768, i16 18552, i16 2172, i16 18560, i16 -32768, i16 18564, i16 2172, i16 18568, i16 -32768, i16 17205, i16 2, i16 18080, i16 -32768, i16 17205, i16 3, i16 16385, i16 -32768, i16 17205, i16 3, i16 18080, i16 -32768, i16 17205, i16 16, i16 16385, i16 -32768, i16 17205, i16 16, i16 18080, i16 -32768, i16 17205, i16 22, i16 16385, i16 -32768, i16 17205, i16 22, i16 18080, i16 -32768, i16 17205, i16 39, i16 16385, i16 -32768, i16 17205, i16 39, i16 18080, i16 -32768, i16 17205, i16 42, i16 16385, i16 -32768, i16 17205, i16 42, i16 18080, i16 -32768, i16 17205, i16 50, i16 16385, i16 -32768, i16 17205, i16 50, i16 18080, i16 -32768, i16 17220, i16 2, i16 18080, i16 -32768, i16 17220, i16 14, i16 16385, i16 -32768, i16 17220, i16 14, i16 18080, i16 -32768, i16 17220, i16 16, i16 16385, i16 -32768, i16 17220, i16 16, i16 18080, i16 -32768, i16 17220, i16 28, i16 16385, i16 -32768, i16 17220, i16 28, i16 18080, i16 -32768, i16 17220, i16 39, i16 16385, i16 -32768, i16 17220, i16 39, i16 18080, i16 -32768, i16 17220, i16 40, i16 16385, i16 -32768, i16 17220, i16 40, i16 18080, i16 -32768, i16 17220, i16 42, i16 16385, i16 -32768, i16 17220, i16 42, i16 18080, i16 -32768, i16 17220, i16 44, i16 16385, i16 -32768, i16 17220, i16 44, i16 18080, i16 -32768, i16 18178, i16 2, i16 18080, i16 -32768, i16 18178, i16 5, i16 16385, i16 -32768, i16 18178, i16 5, i16 18080, i16 -32768, i16 18178, i16 6, i16 16385, i16 -32768, i16 18178, i16 6, i16 18080, i16 -32768, i16 18178, i16 7, i16 16385, i16 -32768, i16 18178, i16 7, i16 18080, i16 -32768, i16 18178, i16 15, i16 16385, i16 -32768, i16 18178, i16 15, i16 18080, i16 -32768, i16 18178, i16 16, i16 16385, i16 -32768, i16 18178, i16 16, i16 18080, i16 -32768, i16 18178, i16 22, i16 16385, i16 -32768, i16 18178, i16 22, i16 18080, i16 -32768, i16 18178, i16 28, i16 16385, i16 -32768, i16 18178, i16 28, i16 18080, i16 -32768, i16 18178, i16 30, i16 16385, i16 -32768, i16 18178, i16 30, i16 18080, i16 -32768, i16 18178, i16 34, i16 16385, i16 -32768, i16 18178, i16 34, i16 18080, i16 -32768, i16 18178, i16 35, i16 16385, i16 -32768, i16 18178, i16 35, i16 18080, i16 -32768, i16 18178, i16 38, i16 16385, i16 -32768, i16 18178, i16 38, i16 18080, i16 -32768, i16 18178, i16 40, i16 16385, i16 -32768, i16 18178, i16 40, i16 18080, i16 -32768, i16 18178, i16 48, i16 16385, i16 -32768, i16 18178, i16 48, i16 18080, i16 -32768, i16 18572, i16 2191, i16 18578, i16 -32768, i16 18572, i16 2191, i16 18581, i16 -32768, i16 17267, i16 2, i16 18080, i16 -32768, i16 17267, i16 16, i16 16385, i16 -32768, i16 17267, i16 16, i16 18080, i16 -32768, i16 17272, i16 2, i16 18080, i16 -32768, i16 17272, i16 3, i16 16385, i16 -32768, i16 17272, i16 3, i16 18080, i16 -32768, i16 17272, i16 22, i16 16385, i16 -32768, i16 17272, i16 22, i16 18080, i16 -32768, i16 17272, i16 34, i16 16385, i16 -32768, i16 17272, i16 34, i16 18080, i16 -32768, i16 17272, i16 40, i16 16385, i16 -32768, i16 17272, i16 40, i16 18080, i16 -32768, i16 17272, i16 58, i16 16385, i16 -32768, i16 17272, i16 58, i16 18080, i16 -32768, i16 17285, i16 2, i16 18080, i16 -32768, i16 17285, i16 3, i16 16385, i16 -32768, i16 17285, i16 3, i16 18080, i16 -32768, i16 17285, i16 22, i16 16385, i16 -32768, i16 17285, i16 22, i16 18080, i16 -32768, i16 17285, i16 39, i16 16385, i16 -32768, i16 17285, i16 39, i16 18080, i16 -32768, i16 17285, i16 40, i16 16385, i16 -32768, i16 17285, i16 40, i16 18080, i16 -32768, i16 17285, i16 56, i16 16385, i16 -32768, i16 17285, i16 56, i16 18080, i16 -32768, i16 17285, i16 57, i16 16385, i16 -32768, i16 17285, i16 57, i16 18080, i16 -32768, i16 17285, i16 58, i16 16385, i16 -32768, i16 17285, i16 58, i16 18080, i16 -32768, i16 17302, i16 2, i16 18080, i16 -32768, i16 17302, i16 3, i16 16385, i16 -32768, i16 17302, i16 3, i16 18080, i16 -32768, i16 17302, i16 39, i16 16385, i16 -32768, i16 17302, i16 39, i16 18080, i16 -32768, i16 17302, i16 40, i16 16385, i16 -32768, i16 17302, i16 40, i16 18080, i16 -32768, i16 17311, i16 2, i16 18080, i16 -32768, i16 17311, i16 22, i16 16385, i16 -32768, i16 17311, i16 22, i16 18080, i16 -32768, i16 17311, i16 39, i16 16385, i16 -32768, i16 17311, i16 39, i16 18080, i16 -32768, i16 17311, i16 40, i16 16385, i16 -32768, i16 17311, i16 40, i16 18080, i16 -32768, i16 17311, i16 57, i16 16385, i16 -32768, i16 17311, i16 57, i16 18080, i16 -32768, i16 17311, i16 58, i16 16385, i16 -32768, i16 17311, i16 58, i16 18080, i16 -32768, i16 17311, i16 65, i16 18080, i16 -32768, i16 17325, i16 2, i16 18080, i16 -32768, i16 17325, i16 2, i16 32766, i16 -32768, i16 17325, i16 5, i16 16385, i16 -32768, i16 17325, i16 5, i16 18080, i16 -32768, i16 17325, i16 6, i16 16385, i16 -32768, i16 17325, i16 6, i16 18080, i16 -32768, i16 17325, i16 7, i16 16385, i16 -32768, i16 17325, i16 7, i16 18080, i16 -32768, i16 17325, i16 15, i16 16385, i16 -32768, i16 17325, i16 15, i16 18080, i16 -32768, i16 17325, i16 16, i16 16385, i16 -32768, i16 17325, i16 16, i16 18080, i16 -32768, i16 17325, i16 17, i16 16385, i16 -32768, i16 17325, i16 17, i16 18080, i16 -32768, i16 17325, i16 18, i16 16385, i16 -32768, i16 17325, i16 18, i16 18080, i16 -32768, i16 17325, i16 19, i16 16385, i16 -32768, i16 17325, i16 19, i16 18080, i16 -32768, i16 17325, i16 20, i16 16385, i16 -32768, i16 17325, i16 20, i16 18080, i16 -32768, i16 17325, i16 21, i16 16385, i16 -32768, i16 17325, i16 21, i16 18080, i16 -32768, i16 17325, i16 22, i16 16385, i16 -32768, i16 17325, i16 22, i16 18080, i16 -32768, i16 17325, i16 34, i16 16385, i16 -32768, i16 17325, i16 34, i16 18080, i16 -32768, i16 17325, i16 36, i16 16385, i16 -32768, i16 17325, i16 36, i16 18080, i16 -32768, i16 17325, i16 37, i16 16385, i16 -32768, i16 17325, i16 37, i16 18080, i16 -32768, i16 17325, i16 40, i16 16385, i16 -32768, i16 17325, i16 40, i16 18080, i16 -32768, i16 17325, i16 48, i16 16385, i16 -32768, i16 17325, i16 48, i16 18080, i16 -32768, i16 17325, i16 49, i16 16385, i16 -32768, i16 17325, i16 49, i16 18080, i16 -32768, i16 17325, i16 51, i16 16385, i16 -32768, i16 17325, i16 51, i16 18080, i16 -32768, i16 17325, i16 52, i16 16385, i16 -32768, i16 17325, i16 52, i16 18080, i16 -32768, i16 17325, i16 59, i16 16385, i16 -32768, i16 17325, i16 59, i16 18080, i16 -32768, i16 17325, i16 60, i16 16385, i16 -32768, i16 17325, i16 60, i16 18080, i16 -32768, i16 17325, i16 61, i16 16385, i16 -32768, i16 17325, i16 61, i16 18080, i16 -32768, i16 17325, i16 62, i16 16385, i16 -32768, i16 17325, i16 62, i16 18080, i16 -32768, i16 17325, i16 63, i16 16385, i16 -32768, i16 17325, i16 63, i16 18080, i16 -32768, i16 17325, i16 64, i16 16385, i16 -32768, i16 17325, i16 64, i16 18080, i16 -32768, i16 17379, i16 2, i16 18080, i16 -32768, i16 17379, i16 3, i16 16385, i16 -32768, i16 17379, i16 3, i16 18080, i16 -32768, i16 17379, i16 39, i16 16385, i16 -32768, i16 17379, i16 39, i16 18080, i16 -32768, i16 17386, i16 2, i16 18080, i16 -32768, i16 17389, i16 2, i16 18080, i16 -32768, i16 17389, i16 3, i16 16385, i16 -32768, i16 17389, i16 3, i16 18080, i16 -32768, i16 17389, i16 6, i16 16385, i16 -32768, i16 17389, i16 6, i16 18080, i16 -32768, i16 17389, i16 15, i16 16385, i16 -32768, i16 17389, i16 15, i16 18080, i16 -32768, i16 17389, i16 22, i16 16385, i16 -32768, i16 17389, i16 22, i16 18080, i16 -32768, i16 17389, i16 39, i16 16385, i16 -32768, i16 17389, i16 39, i16 18080, i16 -32768, i16 17389, i16 40, i16 16385, i16 -32768, i16 17389, i16 40, i16 18080, i16 -32768, i16 17389, i16 56, i16 16385, i16 -32768, i16 17389, i16 56, i16 18080, i16 -32768, i16 17389, i16 58, i16 16385, i16 -32768, i16 17389, i16 58, i16 18080, i16 -32768, i16 17408, i16 2, i16 18080, i16 -32768, i16 18584, i16 2150, i16 18587, i16 -32768, i16 17408, i16 4, i16 16385, i16 -32768, i16 17408, i16 4, i16 18080, i16 -32768, i16 17408, i16 16, i16 16385, i16 -32768, i16 17408, i16 16, i16 18080, i16 -32768, i16 17408, i16 24, i16 16385, i16 -32768, i16 17408, i16 24, i16 18080, i16 -32768, i16 17408, i16 39, i16 16385, i16 -32768, i16 17408, i16 39, i16 18080, i16 -32768, i16 17408, i16 40, i16 16385, i16 -32768, i16 17408, i16 40, i16 18080, i16 -32768, i16 17408, i16 41, i16 16385, i16 -32768, i16 17408, i16 41, i16 18080, i16 -32768, i16 17408, i16 16382, i16 18080, i16 -32768, i16 18590, i16 2150, i16 18593, i16 -32768, i16 18584, i16 2150, i16 18596, i16 -32768, i16 17427, i16 2, i16 18080, i16 -32768, i16 17427, i16 22, i16 16385, i16 -32768, i16 17427, i16 22, i16 18080, i16 -32768, i16 17427, i16 39, i16 16385, i16 -32768, i16 17427, i16 39, i16 18080, i16 -32768, i16 17427, i16 40, i16 16385, i16 -32768, i16 17427, i16 40, i16 18080, i16 -32768, i16 17427, i16 42, i16 16385, i16 -32768, i16 17427, i16 42, i16 18080, i16 -32768, i16 17427, i16 44, i16 16385, i16 -32768, i16 17427, i16 44, i16 18080, i16 -32768, i16 17427, i16 57, i16 16385, i16 -32768, i16 17427, i16 57, i16 18080, i16 -32768, i16 17427, i16 58, i16 16385, i16 -32768, i16 17427, i16 58, i16 18080, i16 -32768, i16 17444, i16 2, i16 18080, i16 -32768, i16 17444, i16 5, i16 16385, i16 -32768, i16 17444, i16 5, i16 18080, i16 -32768, i16 17444, i16 6, i16 16385, i16 -32768, i16 17444, i16 6, i16 18080, i16 -32768, i16 17444, i16 7, i16 16385, i16 -32768, i16 17444, i16 7, i16 18080, i16 -32768, i16 17444, i16 15, i16 16385, i16 -32768, i16 17444, i16 15, i16 18080, i16 -32768, i16 17444, i16 16, i16 16385, i16 -32768, i16 17444, i16 16, i16 18080, i16 -32768, i16 17444, i16 22, i16 16385, i16 -32768, i16 17444, i16 22, i16 18080, i16 -32768, i16 17444, i16 25, i16 16385, i16 -32768, i16 17444, i16 25, i16 18080, i16 -32768, i16 17444, i16 29, i16 16385, i16 -32768, i16 17444, i16 29, i16 18080, i16 -32768, i16 17444, i16 30, i16 16385, i16 -32768, i16 17444, i16 30, i16 18080, i16 -32768, i16 17444, i16 31, i16 16385, i16 -32768, i16 17444, i16 31, i16 18080, i16 -32768, i16 17444, i16 32, i16 16385, i16 -32768, i16 17444, i16 32, i16 18080, i16 -32768, i16 17444, i16 34, i16 16385, i16 -32768, i16 17444, i16 34, i16 18080, i16 -32768, i16 17444, i16 35, i16 16385, i16 -32768, i16 17444, i16 35, i16 18080, i16 -32768, i16 17444, i16 36, i16 16385, i16 -32768, i16 17444, i16 36, i16 18080, i16 -32768, i16 17444, i16 38, i16 16385, i16 -32768, i16 17444, i16 38, i16 18080, i16 -32768, i16 17444, i16 40, i16 16385, i16 -32768, i16 17444, i16 40, i16 18080, i16 -32768, i16 17444, i16 48, i16 16385, i16 -32768, i16 17444, i16 48, i16 18080, i16 -32768, i16 17444, i16 53, i16 16385, i16 -32768, i16 17444, i16 53, i16 18080, i16 -32768, i16 17444, i16 54, i16 16385, i16 -32768, i16 17444, i16 54, i16 18080, i16 -32768, i16 17444, i16 57, i16 16385, i16 -32768, i16 17444, i16 57, i16 18080, i16 -32768, i16 17444, i16 59, i16 16385, i16 -32768, i16 17444, i16 59, i16 18080, i16 -32768, i16 17444, i16 60, i16 16385, i16 -32768, i16 17444, i16 60, i16 18080, i16 -32768, i16 17444, i16 61, i16 16385, i16 -32768, i16 17444, i16 61, i16 18080, i16 -32768, i16 17444, i16 62, i16 16385, i16 -32768, i16 17444, i16 62, i16 18080, i16 -32768, i16 17444, i16 63, i16 16385, i16 -32768, i16 17444, i16 63, i16 18080, i16 -32768, i16 17444, i16 64, i16 16385, i16 -32768, i16 17444, i16 64, i16 18080, i16 -32768, i16 17501, i16 2, i16 18080, i16 -32768, i16 17501, i16 28, i16 16385, i16 -32768, i16 17501, i16 28, i16 18080, i16 -32768, i16 17501, i16 39, i16 16385, i16 -32768, i16 17501, i16 39, i16 18080, i16 -32768, i16 18254, i16 5, i16 16385, i16 -32768, i16 18254, i16 5, i16 18080, i16 -32768, i16 18254, i16 16, i16 16385, i16 -32768, i16 18254, i16 16, i16 18080, i16 -32768, i16 18254, i16 28, i16 16385, i16 -32768, i16 18254, i16 28, i16 18080, i16 -32768, i16 18254, i16 34, i16 16385, i16 -32768, i16 18254, i16 34, i16 18080, i16 -32768, i16 18254, i16 35, i16 16385, i16 -32768, i16 18254, i16 35, i16 18080, i16 -32768, i16 18254, i16 39, i16 16385, i16 -32768, i16 18254, i16 39, i16 18080, i16 -32768, i16 18254, i16 40, i16 16385, i16 -32768, i16 18254, i16 40, i16 18080, i16 -32768, i16 18259, i16 16, i16 16385, i16 -32768, i16 18259, i16 16, i16 18080, i16 -32768, i16 18259, i16 40, i16 16385, i16 -32768, i16 18259, i16 40, i16 18080, i16 -32768, i16 18259, i16 42, i16 16385, i16 -32768, i16 18259, i16 42, i16 18080, i16 -32768, i16 18259, i16 58, i16 16385, i16 -32768, i16 18259, i16 58, i16 18080, i16 -32768, i16 32766, i16 1, i16 16450, i16 -32768, i16 17531, i16 1, i16 16451, i16 -32768, i16 17531, i16 1696, i16 16450, i16 -32768, i16 17531, i16 1696, i16 16451, i16 -32768, i16 17535, i16 1696, i16 16450, i16 -32768, i16 17537, i16 1696, i16 16450, i16 -32768, i16 17539, i16 1696, i16 16450, i16 -32768, i16 17541, i16 1, i16 16451, i16 -32768, i16 17541, i16 1696, i16 16450, i16 -32768, i16 17541, i16 1696, i16 16451, i16 -32768, i16 17545, i16 1696, i16 16450, i16 -32768, i16 17547, i16 1, i16 16451, i16 -32768, i16 17547, i16 1696, i16 16450, i16 -32768, i16 17547, i16 1696, i16 16451, i16 -32768, i16 17551, i16 1696, i16 16450, i16 -32768, i16 17553, i16 1, i16 16451, i16 -32768, i16 17553, i16 1, i16 16452, i16 -32768, i16 17553, i16 1696, i16 16450, i16 -32768, i16 17553, i16 1696, i16 16451, i16 -32768, i16 17553, i16 1696, i16 16452, i16 -32768, i16 17553, i16 1696, i16 16453, i16 -32768, i16 17560, i16 1696, i16 16450, i16 -32768, i16 17562, i16 1696, i16 16450, i16 -32768, i16 17564, i16 1696, i16 16450, i16 -32768, i16 17566, i16 1696, i16 16450, i16 -32768, i16 17568, i16 1696, i16 16450, i16 -32768, i16 17570, i16 1, i16 16451, i16 -32768, i16 17570, i16 1696, i16 16450, i16 -32768, i16 17570, i16 1696, i16 16451, i16 -32768, i16 17574, i16 1696, i16 16450, i16 -32768, i16 17576, i16 1696, i16 16450, i16 -32768, i16 17578, i16 1696, i16 16450, i16 -32768, i16 17578, i16 1696, i16 32766, i16 -32768, i16 17581, i16 1696, i16 16450, i16 -32768, i16 17583, i16 1, i16 16451, i16 -32768, i16 17583, i16 1, i16 16452, i16 -32768, i16 17583, i16 1696, i16 16450, i16 -32768, i16 17583, i16 1696, i16 16451, i16 -32768, i16 17583, i16 1696, i16 16452, i16 -32768, i16 17583, i16 1696, i16 16453, i16 -32768, i16 17590, i16 1696, i16 16450, i16 -32768, i16 17592, i16 1696, i16 16450, i16 -32768, i16 17594, i16 1696, i16 16450, i16 -32768, i16 17596, i16 1, i16 16451, i16 -32768, i16 17596, i16 1696, i16 16450, i16 -32768, i16 17596, i16 1696, i16 16451, i16 -32768, i16 32766, i16 70, i16 16385, i16 -32768, i16 17600, i16 70, i16 18080, i16 -32768, i16 17602, i16 70, i16 18080, i16 -32768, i16 17604, i16 70, i16 18080, i16 -32768, i16 17606, i16 70, i16 18080, i16 -32768, i16 17608, i16 70, i16 18080, i16 -32768, i16 17610, i16 70, i16 18080, i16 -32768, i16 17612, i16 70, i16 18080, i16 -32768, i16 17614, i16 70, i16 18080, i16 -32768, i16 17616, i16 70, i16 18080, i16 -32768, i16 17618, i16 70, i16 18080, i16 -32768, i16 17620, i16 70, i16 18080, i16 -32768, i16 17622, i16 70, i16 18080, i16 -32768, i16 17624, i16 70, i16 18080, i16 -32768, i16 17626, i16 70, i16 18080, i16 -32768, i16 17628, i16 70, i16 18080, i16 -32768, i16 17630, i16 70, i16 18080, i16 -32768, i16 17632, i16 70, i16 18080, i16 -32768, i16 17634, i16 70, i16 18080, i16 -32768, i16 17636, i16 70, i16 18080, i16 -32768, i16 17638, i16 70, i16 18080, i16 -32768, i16 17640, i16 70, i16 18080, i16 -32768, i16 17642, i16 70, i16 18080, i16 -32768, i16 17644, i16 70, i16 18080, i16 -32768, i16 17646, i16 70, i16 18080, i16 -32768, i16 17648, i16 70, i16 18080, i16 -32768, i16 17650, i16 70, i16 18080, i16 -32768, i16 17652, i16 70, i16 18080, i16 -32768, i16 17654, i16 70, i16 18080, i16 -32768, i16 17656, i16 70, i16 18080, i16 -32768, i16 17658, i16 70, i16 18080, i16 -32768, i16 17660, i16 70, i16 18080, i16 -32768, i16 17662, i16 70, i16 18080, i16 -32768, i16 17664, i16 70, i16 18080, i16 -32768, i16 17666, i16 70, i16 18080, i16 -32768, i16 17668, i16 70, i16 18080, i16 -32768, i16 17670, i16 70, i16 18080, i16 -32768, i16 17672, i16 70, i16 18080, i16 -32768, i16 17674, i16 70, i16 18080, i16 -32768, i16 17676, i16 70, i16 18080, i16 -32768, i16 17678, i16 70, i16 18080, i16 -32768, i16 17680, i16 70, i16 18080, i16 -32768, i16 32766, i16 70, i16 18080, i16 -32768, i16 17682, i16 70, i16 16385, i16 -32768, i16 17684, i16 70, i16 18080, i16 -32768, i16 17686, i16 70, i16 16385, i16 -32768, i16 17688, i16 70, i16 18080, i16 -32768, i16 17690, i16 70, i16 18080, i16 -32768, i16 17692, i16 70, i16 18080, i16 -32768, i16 17694, i16 70, i16 18080, i16 -32768, i16 17696, i16 70, i16 18080, i16 -32768, i16 17698, i16 70, i16 18080, i16 -32768, i16 17700, i16 70, i16 18080, i16 -32768, i16 17702, i16 70, i16 18080, i16 -32768, i16 32766, i16 0, i16 16384, i16 -32768, i16 32766, i16 16382, i16 16384, i16 -32768, i16 17736, i16 16382, i16 16384, i16 -32768, i16 17735, i16 16382, i16 16384, i16 -32768, i16 17745, i16 16382, i16 16384, i16 -32768, i16 17749, i16 16382, i16 16384, i16 -32768, i16 17756, i16 16382, i16 16384, i16 -32768, i16 17764, i16 16382, i16 16384, i16 -32768, i16 17769, i16 16382, i16 16384, i16 -32768, i16 17774, i16 16382, i16 16384, i16 -32768, i16 17779, i16 16382, i16 16384, i16 -32768, i16 17784, i16 16382, i16 16384, i16 -32768, i16 17787, i16 16382, i16 16384, i16 -32768, i16 17790, i16 16382, i16 16384, i16 -32768, i16 17793, i16 16382, i16 16384, i16 -32768, i16 17796, i16 16382, i16 16384, i16 -32768, i16 17801, i16 16382, i16 16384, i16 -32768, i16 17806, i16 16382, i16 16384, i16 -32768, i16 17811, i16 16382, i16 16384, i16 -32768, i16 17816, i16 16382, i16 16384, i16 -32768, i16 17821, i16 16382, i16 16384, i16 -32768, i16 17826, i16 16382, i16 16384, i16 -32768, i16 17831, i16 16382, i16 16384, i16 -32768, i16 17836, i16 16382, i16 16384, i16 -32768, i16 17841, i16 16382, i16 16384, i16 -32768, i16 17846, i16 16382, i16 16384, i16 -32768, i16 17851, i16 16382, i16 16384, i16 -32768, i16 17856, i16 16382, i16 16384, i16 -32768, i16 17861, i16 16382, i16 16384, i16 -32768, i16 17866, i16 16382, i16 16384, i16 -32768, i16 17871, i16 16382, i16 16384, i16 -32768, i16 17874, i16 16382, i16 16384, i16 -32768, i16 17877, i16 16382, i16 16384, i16 -32768, i16 16384, i16 0, i16 32766, i16 -32768, i16 18115, i16 16382, i16 16384, i16 -32768, i16 18124, i16 16382, i16 16384, i16 -32768, i16 18125, i16 16382, i16 16384, i16 -32768, i16 18126, i16 16382, i16 16384, i16 -32768, i16 18127, i16 16382, i16 16384, i16 -32768, i16 18128, i16 16382, i16 16384, i16 -32768, i16 18129, i16 16382, i16 16384, i16 -32768, i16 18130, i16 16382, i16 16384, i16 -32768, i16 18131, i16 16382, i16 16384, i16 -32768, i16 18132, i16 16382, i16 16384, i16 -32768, i16 18599, i16 2218, i16 18605, i16 -32768, i16 18599, i16 2224, i16 18611, i16 -32768, i16 18614, i16 2233, i16 18620, i16 -32768, i16 18614, i16 2239, i16 18626, i16 -32768, i16 18629, i16 2248, i16 18635, i16 -32768, i16 18629, i16 2254, i16 18641, i16 -32768, i16 18644, i16 2263, i16 18650, i16 -32768, i16 18644, i16 2269, i16 18656, i16 -32768, i16 17909, i16 16382, i16 16384, i16 -32768, i16 17913, i16 16382, i16 16384, i16 -32768, i16 17917, i16 16382, i16 16384, i16 -32768, i16 17922, i16 16382, i16 16384, i16 -32768, i16 17926, i16 16382, i16 16384, i16 -32768, i16 17930, i16 16382, i16 16384, i16 -32768, i16 17935, i16 16382, i16 16384, i16 -32768, i16 17939, i16 16382, i16 16384, i16 -32768, i16 17943, i16 16382, i16 16384, i16 -32768, i16 17948, i16 16382, i16 16384, i16 -32768, i16 17952, i16 16382, i16 16384, i16 -32768, i16 17956, i16 16382, i16 16384, i16 -32768, i16 17960, i16 16382, i16 16384, i16 -32768, i16 17964, i16 16382, i16 16384, i16 -32768, i16 17968, i16 16382, i16 16384, i16 -32768, i16 17972, i16 16382, i16 16384, i16 -32768, i16 17976, i16 16382, i16 16384, i16 -32768, i16 17980, i16 16382, i16 16384, i16 -32768, i16 17986, i16 16382, i16 16384, i16 -32768, i16 17990, i16 16382, i16 16384, i16 -32768, i16 17994, i16 16382, i16 16384, i16 -32768, i16 17996, i16 16382, i16 16384, i16 -32768, i16 17998, i16 16382, i16 16384, i16 -32768, i16 18000, i16 16382, i16 16384, i16 -32768, i16 18002, i16 16382, i16 16384, i16 -32768, i16 18004, i16 16382, i16 16384, i16 -32768, i16 18010, i16 16382, i16 16384, i16 -32768, i16 18016, i16 16382, i16 16384, i16 -32768, i16 18022, i16 16382, i16 16384, i16 -32768, i16 18028, i16 16382, i16 16384, i16 -32768, i16 18034, i16 16382, i16 16384, i16 -32768, i16 18036, i16 16382, i16 16384, i16 -32768, i16 18038, i16 16382, i16 16384, i16 -32768, i16 18040, i16 16382, i16 16384, i16 -32768, i16 18042, i16 16382, i16 16384, i16 -32768, i16 18044, i16 16382, i16 16384, i16 -32768, i16 18048, i16 16382, i16 16384, i16 -32768, i16 18052, i16 16382, i16 16384, i16 -32768, i16 18056, i16 16382, i16 16384, i16 -32768, i16 18058, i16 16382, i16 16384, i16 -32768, i16 18060, i16 16382, i16 16384, i16 -32768, i16 18062, i16 16382, i16 16384, i16 -32768, i16 18064, i16 16382, i16 16384, i16 -32768, i16 18066, i16 16382, i16 16384, i16 -32768, i16 18070, i16 16382, i16 16384, i16 -32768, i16 18072, i16 16382, i16 16384, i16 -32768, i16 18074, i16 16382, i16 16384, i16 -32768, i16 18076, i16 16382, i16 16384, i16 -32768, i16 17065, i16 3, i16 16385, i16 -32768, i16 17065, i16 3, i16 18080, i16 -32768, i16 17065, i16 25, i16 16385, i16 -32768, i16 17065, i16 25, i16 18080, i16 -32768, i16 17065, i16 26, i16 16385, i16 -32768, i16 17065, i16 26, i16 18080, i16 -32768, i16 17065, i16 28, i16 16385, i16 -32768, i16 17065, i16 28, i16 18080, i16 -32768, i16 17065, i16 48, i16 16385, i16 -32768, i16 17065, i16 48, i16 18080, i16 -32768, i16 17065, i16 50, i16 16385, i16 -32768, i16 17065, i16 50, i16 18080, i16 -32768, i16 18659, i16 2278, i16 18578, i16 -32768, i16 18659, i16 2278, i16 18581, i16 -32768, i16 18659, i16 2281, i16 18578, i16 -32768, i16 18659, i16 2281, i16 18581, i16 -32768, i16 18659, i16 2284, i16 18578, i16 -32768, i16 18659, i16 2284, i16 18581, i16 -32768, i16 17122, i16 3, i16 16385, i16 -32768, i16 17122, i16 3, i16 18080, i16 -32768, i16 17122, i16 22, i16 16385, i16 -32768, i16 17122, i16 22, i16 18080, i16 -32768, i16 18164, i16 2, i16 18080, i16 -32768, i16 17133, i16 42, i16 16385, i16 -32768, i16 17133, i16 42, i16 18080, i16 -32768, i16 17148, i16 3, i16 16385, i16 -32768, i16 17148, i16 3, i16 18080, i16 -32768, i16 17148, i16 48, i16 16385, i16 -32768, i16 17148, i16 48, i16 18080, i16 -32768, i16 17148, i16 50, i16 16385, i16 -32768, i16 17148, i16 50, i16 18080, i16 -32768, i16 17205, i16 44, i16 16385, i16 -32768, i16 17205, i16 44, i16 18080, i16 -32768, i16 18176, i16 2, i16 18080, i16 -32768, i16 18179, i16 2, i16 16385, i16 -32768, i16 32766, i16 2, i16 18080, i16 -32768, i16 18178, i16 2, i16 16385, i16 -32768, i16 18178, i16 3, i16 16385, i16 -32768, i16 18178, i16 3, i16 18080, i16 -32768, i16 18178, i16 50, i16 16385, i16 -32768, i16 18178, i16 50, i16 18080, i16 -32768, i16 17272, i16 44, i16 16385, i16 -32768, i16 17272, i16 44, i16 18080, i16 -32768, i16 17285, i16 42, i16 16385, i16 -32768, i16 17285, i16 42, i16 18080, i16 -32768, i16 17285, i16 44, i16 16385, i16 -32768, i16 17285, i16 44, i16 18080, i16 -32768, i16 17311, i16 3, i16 16385, i16 -32768, i16 17311, i16 3, i16 18080, i16 -32768, i16 17311, i16 35, i16 16385, i16 -32768, i16 17311, i16 35, i16 18080, i16 -32768, i16 17311, i16 44, i16 16385, i16 -32768, i16 17311, i16 44, i16 18080, i16 -32768, i16 18671, i16 2290, i16 18578, i16 -32768, i16 18671, i16 2290, i16 18581, i16 -32768, i16 17325, i16 3, i16 16385, i16 -32768, i16 17325, i16 3, i16 18080, i16 -32768, i16 17325, i16 33, i16 16385, i16 -32768, i16 17325, i16 33, i16 18080, i16 -32768, i16 17325, i16 35, i16 16385, i16 -32768, i16 17325, i16 35, i16 18080, i16 -32768, i16 17325, i16 42, i16 16385, i16 -32768, i16 17325, i16 42, i16 18080, i16 -32768, i16 17325, i16 43, i16 16385, i16 -32768, i16 17325, i16 43, i16 18080, i16 -32768, i16 17325, i16 50, i16 16385, i16 -32768, i16 17325, i16 50, i16 18080, i16 -32768, i16 18212, i16 2, i16 18080, i16 -32768, i16 18677, i16 2296, i16 18578, i16 -32768, i16 18677, i16 2296, i16 18581, i16 -32768, i16 17389, i16 44, i16 16385, i16 -32768, i16 17389, i16 44, i16 18080, i16 -32768, i16 17408, i16 3, i16 16385, i16 -32768, i16 17408, i16 3, i16 18080, i16 -32768, i16 17408, i16 22, i16 16385, i16 -32768, i16 17408, i16 22, i16 18080, i16 -32768, i16 18222, i16 2, i16 18080, i16 -32768, i16 18683, i16 2302, i16 18578, i16 -32768, i16 18683, i16 2302, i16 18581, i16 -32768, i16 17444, i16 3, i16 16385, i16 -32768, i16 17444, i16 3, i16 18080, i16 -32768, i16 17444, i16 33, i16 16385, i16 -32768, i16 17444, i16 33, i16 18080, i16 -32768, i16 17444, i16 50, i16 16385, i16 -32768, i16 17444, i16 50, i16 18080, i16 -32768, i16 18232, i16 2, i16 18080, i16 -32768, i16 18234, i16 2, i16 18080, i16 -32768, i16 18234, i16 35, i16 16385, i16 -32768, i16 18234, i16 35, i16 18080, i16 -32768, i16 18234, i16 40, i16 16385, i16 -32768, i16 18234, i16 40, i16 18080, i16 -32768, i16 18240, i16 2, i16 18080, i16 -32768, i16 18240, i16 3, i16 16385, i16 -32768, i16 18240, i16 3, i16 18080, i16 -32768, i16 18240, i16 5, i16 16385, i16 -32768, i16 18240, i16 5, i16 18080, i16 -32768, i16 18240, i16 16, i16 16385, i16 -32768, i16 18240, i16 16, i16 18080, i16 -32768, i16 18240, i16 28, i16 16385, i16 -32768, i16 18240, i16 28, i16 18080, i16 -32768, i16 18240, i16 39, i16 16385, i16 -32768, i16 18240, i16 39, i16 18080, i16 -32768, i16 18240, i16 40, i16 16385, i16 -32768, i16 18240, i16 40, i16 18080, i16 -32768, i16 18254, i16 2, i16 18080, i16 -32768, i16 18254, i16 3, i16 16385, i16 -32768, i16 18254, i16 3, i16 18080, i16 -32768, i16 18259, i16 2, i16 18080, i16 -32768, i16 18259, i16 3, i16 16385, i16 -32768, i16 18259, i16 3, i16 18080, i16 -32768, i16 18259, i16 22, i16 16385, i16 -32768, i16 18259, i16 22, i16 18080, i16 -32768, i16 18259, i16 39, i16 16385, i16 -32768, i16 18259, i16 39, i16 18080, i16 -32768, i16 17272, i16 16382, i16 18080, i16 -32768, i16 17122, i16 44, i16 16385, i16 -32768, i16 17122, i16 44, i16 18080, i16 -32768, i16 17205, i16 7, i16 16385, i16 -32768, i16 17205, i16 7, i16 18080, i16 -32768, i16 18178, i16 39, i16 16385, i16 -32768, i16 18178, i16 39, i16 18080, i16 -32768, i16 17408, i16 44, i16 16385, i16 -32768, i16 17408, i16 44, i16 18080, i16 -32768, i16 32766, i16 16382, i16 16386, i16 -32767, i16 18234, i16 1850, i16 16386, i16 -31072, i16 18234, i16 1850, i16 16419, i16 -32767, i16 18234, i16 1850, i16 16419, i16 -31072, i16 18234, i16 1850, i16 16424, i16 -32767, i16 18234, i16 1850, i16 16424, i16 -31072, i16 18240, i16 1856, i16 16386, i16 -31072, i16 18240, i16 1856, i16 16387, i16 -32767, i16 18240, i16 1856, i16 16387, i16 -31072, i16 18240, i16 1856, i16 16389, i16 -32767, i16 18240, i16 1856, i16 16389, i16 -31072, i16 18240, i16 1856, i16 16400, i16 -32767, i16 18240, i16 1856, i16 16400, i16 -31072, i16 18240, i16 1856, i16 16412, i16 -32767, i16 18240, i16 1856, i16 16412, i16 -31072, i16 18240, i16 1856, i16 16423, i16 -32767, i16 18240, i16 1856, i16 16423, i16 -31072, i16 18240, i16 1856, i16 16424, i16 -32767, i16 18240, i16 1856, i16 16424, i16 -31072, i16 18254, i16 73, i16 16385, i16 -32768, i16 18254, i16 73, i16 18080, i16 -32768, i16 18144, i16 2, i16 18080, i16 -32768, i16 18144, i16 3, i16 16385, i16 -32768, i16 18144, i16 3, i16 18080, i16 -32768, i16 18148, i16 2, i16 18080, i16 -32768, i16 18148, i16 16382, i16 16385, i16 -32768, i16 18148, i16 1770, i16 18080, i16 -32768, i16 18148, i16 1772, i16 18080, i16 -32768, i16 18148, i16 1774, i16 18080, i16 -32768, i16 18212, i16 16382, i16 16385, i16 -32768, i16 18212, i16 1822, i16 18080, i16 -32768, i16 18212, i16 1824, i16 18080, i16 -32768, i16 18212, i16 35, i16 16385, i16 -32768, i16 18212, i16 35, i16 18080, i16 -32768, i16 18163, i16 2, i16 16385, i16 -32768, i16 17325, i16 28, i16 16385, i16 -32768, i16 17325, i16 28, i16 18080, i16 -32768, i16 18221, i16 2, i16 16385, i16 -32768, i16 17444, i16 28, i16 16385, i16 -32768, i16 17444, i16 28, i16 18080, i16 -32768, i16 18264, i16 2, i16 16385, i16 -32768, i16 18150, i16 2, i16 18080, i16 -32768, i16 18160, i16 2, i16 18080, i16 -32768, i16 18170, i16 2, i16 18080, i16 -32768, i16 18188, i16 2, i16 18080, i16 -32768, i16 18192, i16 2, i16 18080, i16 -32768, i16 18200, i16 2, i16 18080, i16 -32768, i16 18218, i16 2, i16 18080, i16 -32768, i16 18261, i16 2, i16 18080, i16 -32768, i16 18265, i16 2, i16 18080, i16 -32768, i16 18254, i16 16382, i16 16385, i16 -32768, i16 18254, i16 1848, i16 18080, i16 -32768, i16 18254, i16 1844, i16 18080, i16 -32768, i16 18154, i16 2, i16 18080, i16 -32768, i16 18154, i16 3, i16 16385, i16 -32768, i16 18154, i16 3, i16 18080, i16 -32768, i16 18154, i16 50, i16 16385, i16 -32768, i16 18154, i16 50, i16 18080, i16 -32768, i16 18154, i16 73, i16 16385, i16 -32768, i16 18154, i16 73, i16 18080, i16 -32768, i16 18206, i16 2, i16 18080, i16 -32768, i16 18206, i16 3, i16 16385, i16 -32768, i16 18206, i16 3, i16 18080, i16 -32768, i16 18206, i16 28, i16 16385, i16 -32768, i16 18206, i16 28, i16 18080, i16 -32768, i16 18206, i16 33, i16 16385, i16 -32768, i16 18206, i16 33, i16 18080, i16 -32768, i16 18144, i16 16382, i16 16385, i16 -32768, i16 18144, i16 1883, i16 18078, i16 -32768, i16 18144, i16 1883, i16 18079, i16 -32768, i16 18144, i16 1883, i16 18080, i16 -32768, i16 18144, i16 1762, i16 18080, i16 -32768, i16 18152, i16 2, i16 18080, i16 -32768, i16 18162, i16 2, i16 18080, i16 -32768, i16 18172, i16 2, i16 18080, i16 -32768, i16 18174, i16 2, i16 18080, i16 -32768, i16 18183, i16 2, i16 18080, i16 -32768, i16 18185, i16 2, i16 18080, i16 -32768, i16 18190, i16 2, i16 18080, i16 -32768, i16 18196, i16 2, i16 18080, i16 -32768, i16 18210, i16 2, i16 18080, i16 -32768, i16 18216, i16 2, i16 18080, i16 -32768, i16 18220, i16 2, i16 18080, i16 -32768, i16 18230, i16 2, i16 18080, i16 -32768, i16 18263, i16 2, i16 18080, i16 -32768, i16 18081, i16 16382, i16 16384, i16 -32768, i16 17133, i16 16382, i16 16385, i16 -32768, i16 17133, i16 1887, i16 18080, i16 -32768, i16 17386, i16 73, i16 18080, i16 -32768, i16 18143, i16 2, i16 16385, i16 -32768, i16 18272, i16 2, i16 16385, i16 -32768, i16 18169, i16 2, i16 16385, i16 -32768, i16 17205, i16 8, i16 16385, i16 -32768, i16 17205, i16 8, i16 18080, i16 -32768, i16 18182, i16 2, i16 16385, i16 -32768, i16 17311, i16 16382, i16 16385, i16 -32768, i16 17311, i16 1814, i16 18080, i16 -32768, i16 18201, i16 2, i16 16385, i16 -32768, i16 18227, i16 2, i16 16385, i16 -32768, i16 18257, i16 2, i16 16385, i16 -32768, i16 18225, i16 2, i16 16385, i16 -32768, i16 18155, i16 2, i16 16385, i16 -32768, i16 18155, i16 73, i16 18080, i16 -32768, i16 18155, i16 73, i16 16385, i16 -32768, i16 18213, i16 2, i16 16385, i16 -32768, i16 18213, i16 73, i16 18080, i16 -32768, i16 18213, i16 73, i16 16385, i16 -32768, i16 16384, i16 0, i16 16400, i16 -32768, i16 16384, i16 0, i16 16434, i16 -32768, i16 16384, i16 0, i16 16389, i16 -32768, i16 18311, i16 2, i16 18078, i16 -32768, i16 18311, i16 2, i16 18079, i16 -32768, i16 18311, i16 2, i16 18080, i16 -32768, i16 18166, i16 2, i16 18080, i16 -32768, i16 18315, i16 2, i16 18078, i16 -32768, i16 18315, i16 2, i16 18079, i16 -32768, i16 18315, i16 2, i16 18080, i16 -32768, i16 18319, i16 2, i16 18078, i16 -32768, i16 18319, i16 2, i16 18079, i16 -32768, i16 18319, i16 2, i16 18080, i16 -32768, i16 18194, i16 2, i16 18080, i16 -32768, i16 32766, i16 22, i16 16385, i16 -16386, i16 18220, i16 22, i16 18080, i16 -16386, i16 32766, i16 2, i16 16385, i16 -16386, i16 18259, i16 2, i16 18080, i16 -16386, i16 18259, i16 3, i16 16385, i16 -16386, i16 18259, i16 3, i16 18080, i16 -16386, i16 18259, i16 39, i16 16385, i16 -16386, i16 18259, i16 39, i16 18080, i16 -16386, i16 18259, i16 22, i16 16385, i16 -16386, i16 18259, i16 22, i16 18080, i16 -16386, i16 18234, i16 16382, i16 16386, i16 -32767, i16 18234, i16 1856, i16 16386, i16 -31072, i16 18234, i16 1856, i16 16387, i16 -32767, i16 18234, i16 1856, i16 16387, i16 -31072, i16 18234, i16 1856, i16 16389, i16 -32767, i16 18234, i16 1856, i16 16389, i16 -31072, i16 18234, i16 1856, i16 16400, i16 -32767, i16 18234, i16 1856, i16 16400, i16 -31072, i16 18234, i16 1856, i16 16434, i16 -32767, i16 18234, i16 1856, i16 16434, i16 -31072, i16 18234, i16 1856, i16 16423, i16 -32767, i16 18234, i16 1856, i16 16423, i16 -31072, i16 18234, i16 1856, i16 16412, i16 -32767, i16 18234, i16 1856, i16 16412, i16 -31072, i16 32766, i16 35, i16 16385, i16 -16386, i16 18204, i16 35, i16 18080, i16 -16386, i16 32766, i16 28, i16 16385, i16 -16386, i16 18148, i16 28, i16 18080, i16 -16386, i16 18212, i16 28, i16 18080, i16 -16386, i16 18232, i16 28, i16 18080, i16 -16386, i16 18323, i16 2, i16 18078, i16 -32768, i16 18323, i16 2, i16 18079, i16 -32768, i16 18323, i16 2, i16 18080, i16 -32768, i16 18327, i16 2, i16 18078, i16 -32768, i16 18327, i16 2, i16 18079, i16 -32768, i16 18327, i16 2, i16 18080, i16 -32768, i16 32766, i16 32766, i16 32766, i16 32766, i16 16384, i16 16384, i16 16384, i16 32766, i16 32766, i16 16389, i16 16385, i16 32766, i16 16470, i16 16389, i16 16388, i16 16470, i16 16470, i16 16389, i16 32766, i16 16470, i16 16470, i16 16392, i16 16385, i16 16470, i16 16470, i16 16392, i16 16388, i16 16470, i16 16470, i16 16393, i16 16385, i16 16470, i16 16470, i16 16393, i16 16388, i16 16470, i16 16470, i16 16405, i16 16385, i16 16470, i16 16470, i16 16405, i16 16388, i16 16470, i16 16470, i16 16397, i16 16385, i16 16470, i16 16470, i16 16397, i16 16388, i16 16470, i16 16470, i16 16408, i16 16385, i16 16470, i16 16470, i16 16408, i16 16388, i16 16470, i16 16470, i16 16409, i16 16385, i16 16470, i16 16470, i16 16409, i16 16388, i16 16470, i16 16470, i16 16411, i16 16385, i16 16470, i16 16470, i16 16411, i16 16388, i16 16470, i16 16470, i16 16410, i16 16385, i16 16470, i16 16470, i16 16410, i16 16388, i16 16470, i16 16470, i16 16435, i16 16385, i16 16470, i16 16470, i16 16435, i16 16388, i16 16470, i16 16470, i16 16398, i16 16385, i16 16470, i16 16470, i16 16398, i16 16388, i16 16470, i16 16470, i16 16394, i16 16385, i16 16470, i16 16470, i16 16394, i16 16388, i16 16470, i16 16470, i16 16412, i16 16385, i16 16470, i16 16470, i16 16412, i16 16388, i16 16470, i16 16470, i16 16413, i16 16385, i16 16470, i16 16470, i16 16413, i16 16388, i16 16470, i16 16470, i16 16415, i16 16385, i16 16470, i16 16470, i16 16415, i16 16388, i16 16470, i16 16470, i16 16414, i16 16385, i16 16470, i16 16470, i16 16414, i16 16388, i16 16470, i16 16470, i16 16436, i16 16385, i16 16470, i16 16470, i16 16436, i16 16388, i16 16470, i16 16470, i16 16395, i16 16385, i16 16470, i16 16470, i16 16395, i16 16388, i16 16470, i16 16470, i16 16399, i16 16385, i16 16470, i16 16470, i16 16399, i16 16388, i16 16470, i16 16470, i16 16417, i16 16385, i16 16470, i16 16470, i16 16417, i16 16388, i16 16470, i16 16470, i16 16450, i16 16385, i16 16470, i16 16470, i16 16450, i16 16388, i16 16470, i16 16470, i16 16402, i16 16385, i16 16470, i16 16470, i16 16402, i16 16388, i16 16470, i16 16470, i16 16426, i16 16385, i16 16470, i16 16470, i16 16426, i16 16388, i16 16470, i16 16470, i16 16400, i16 16385, i16 16470, i16 16470, i16 16400, i16 16388, i16 16470, i16 16470, i16 16396, i16 16385, i16 16470, i16 16470, i16 16396, i16 16388, i16 16470, i16 16470, i16 16444, i16 16385, i16 16470, i16 16470, i16 16444, i16 16388, i16 16470, i16 16470, i16 16449, i16 16385, i16 16470, i16 16470, i16 16449, i16 16388, i16 16470, i16 16470, i16 16391, i16 16385, i16 16470, i16 16470, i16 16391, i16 16388, i16 16470, i16 16470, i16 16418, i16 16385, i16 16470, i16 16470, i16 16418, i16 16388, i16 16470, i16 18628, i16 18631, i16 18517, i16 18628, i16 18628, i16 18631, i16 18425, i16 18628, i16 18628, i16 18634, i16 18517, i16 18628, i16 18628, i16 18634, i16 18425, i16 18628, i16 18628, i16 18637, i16 18517, i16 18628, i16 18628, i16 18637, i16 18425, i16 18628, i16 16536, i16 16389, i16 16388, i16 16536, i16 16536, i16 16390, i16 16385, i16 16536, i16 16536, i16 16390, i16 16388, i16 16536, i16 16536, i16 16444, i16 16385, i16 16536, i16 16536, i16 16444, i16 16388, i16 16536, i16 16536, i16 16445, i16 16385, i16 16536, i16 16536, i16 16445, i16 16388, i16 16536, i16 16545, i16 16389, i16 16388, i16 16545, i16 16545, i16 16392, i16 16385, i16 16545, i16 16545, i16 16392, i16 16388, i16 16545, i16 16545, i16 16394, i16 16385, i16 16545, i16 16545, i16 16394, i16 16388, i16 16545, i16 16545, i16 16400, i16 16385, i16 16545, i16 16545, i16 16400, i16 16388, i16 16545, i16 16545, i16 16390, i16 16385, i16 16545, i16 16545, i16 16390, i16 16388, i16 16545, i16 16545, i16 16448, i16 16385, i16 16545, i16 16545, i16 16448, i16 16388, i16 16545, i16 16545, i16 16437, i16 16385, i16 16545, i16 16545, i16 16437, i16 16388, i16 16545, i16 32766, i16 16395, i16 16385, i16 32766, i16 16559, i16 16395, i16 16388, i16 16559, i16 16562, i16 16389, i16 16388, i16 16562, i16 16562, i16 16395, i16 16385, i16 16562, i16 16562, i16 16395, i16 16388, i16 16562, i16 16562, i16 16390, i16 16385, i16 16562, i16 16562, i16 16390, i16 16388, i16 16562, i16 16562, i16 16444, i16 16385, i16 16562, i16 16562, i16 16444, i16 16388, i16 16562, i16 16562, i16 16452, i16 16385, i16 16562, i16 16562, i16 16452, i16 16388, i16 16562, i16 16562, i16 16448, i16 16385, i16 16562, i16 16562, i16 16448, i16 16388, i16 16562, i16 16562, i16 16421, i16 16385, i16 16562, i16 16562, i16 16421, i16 16388, i16 16562, i16 16562, i16 16445, i16 16385, i16 16562, i16 16562, i16 16445, i16 16388, i16 16562, i16 16579, i16 16389, i16 16388, i16 16579, i16 16579, i16 16392, i16 16385, i16 16579, i16 16579, i16 16392, i16 16388, i16 16579, i16 16579, i16 16393, i16 16385, i16 16579, i16 16579, i16 16393, i16 16388, i16 16579, i16 16579, i16 16405, i16 16385, i16 16579, i16 16579, i16 16405, i16 16388, i16 16579, i16 16579, i16 16397, i16 16385, i16 16579, i16 16579, i16 16397, i16 16388, i16 16579, i16 16579, i16 16398, i16 16385, i16 16579, i16 16579, i16 16398, i16 16388, i16 16579, i16 16579, i16 16394, i16 16385, i16 16579, i16 16579, i16 16394, i16 16388, i16 16579, i16 16579, i16 16412, i16 16385, i16 16579, i16 16579, i16 16412, i16 16388, i16 16579, i16 16579, i16 16413, i16 16385, i16 16579, i16 16579, i16 16413, i16 16388, i16 16579, i16 16579, i16 16415, i16 16385, i16 16579, i16 16579, i16 16415, i16 16388, i16 16579, i16 16579, i16 16414, i16 16385, i16 16579, i16 16579, i16 16414, i16 16388, i16 16579, i16 16579, i16 16436, i16 16385, i16 16579, i16 16579, i16 16436, i16 16388, i16 16579, i16 16579, i16 16395, i16 16385, i16 16579, i16 16579, i16 16395, i16 16388, i16 16579, i16 16579, i16 16402, i16 16385, i16 16579, i16 16579, i16 16402, i16 16388, i16 16579, i16 16579, i16 16400, i16 16385, i16 16579, i16 16579, i16 16400, i16 16388, i16 16579, i16 16579, i16 16396, i16 16385, i16 16579, i16 16579, i16 16396, i16 16388, i16 16579, i16 16579, i16 16446, i16 16385, i16 16579, i16 16579, i16 16446, i16 16388, i16 16579, i16 16579, i16 16390, i16 16385, i16 16579, i16 16579, i16 16390, i16 16388, i16 16579, i16 16579, i16 16444, i16 16385, i16 16579, i16 16579, i16 16444, i16 16388, i16 16579, i16 16579, i16 16439, i16 16385, i16 16579, i16 16579, i16 16439, i16 16388, i16 16579, i16 16579, i16 16449, i16 16385, i16 16579, i16 16579, i16 16449, i16 16388, i16 16579, i16 16579, i16 16391, i16 16385, i16 16579, i16 16579, i16 16391, i16 16388, i16 16579, i16 16579, i16 16419, i16 16385, i16 16579, i16 16579, i16 16419, i16 16388, i16 16579, i16 16579, i16 16420, i16 16385, i16 16579, i16 16579, i16 16420, i16 16388, i16 16579, i16 16579, i16 16421, i16 16385, i16 16579, i16 16579, i16 16421, i16 16388, i16 16579, i16 16630, i16 16389, i16 16388, i16 16630, i16 16630, i16 16400, i16 16385, i16 16630, i16 16630, i16 16400, i16 16388, i16 16630, i16 16630, i16 16390, i16 16385, i16 16630, i16 16630, i16 16390, i16 16388, i16 16630, i16 18640, i16 18643, i16 18646, i16 18640, i16 18649, i16 18643, i16 18652, i16 18649, i16 18655, i16 18643, i16 18658, i16 18655, i16 18661, i16 18665, i16 18669, i16 18661, i16 18673, i16 18665, i16 18677, i16 18673, i16 16642, i16 16389, i16 16388, i16 16642, i16 16642, i16 16392, i16 16385, i16 16642, i16 16642, i16 16392, i16 16388, i16 16642, i16 16642, i16 16397, i16 16385, i16 16642, i16 16642, i16 16397, i16 16388, i16 16642, i16 16642, i16 16394, i16 16385, i16 16642, i16 16642, i16 16394, i16 16388, i16 16642, i16 16642, i16 16395, i16 16385, i16 16642, i16 16642, i16 16395, i16 16388, i16 16642, i16 16642, i16 16390, i16 16385, i16 16642, i16 16642, i16 16390, i16 16388, i16 16642, i16 16642, i16 16452, i16 16385, i16 16642, i16 16642, i16 16452, i16 16388, i16 16642, i16 16642, i16 16448, i16 16385, i16 16642, i16 16642, i16 16448, i16 16388, i16 16642, i16 16642, i16 16391, i16 16385, i16 16642, i16 16642, i16 16391, i16 16388, i16 16642, i16 16661, i16 16389, i16 16388, i16 16661, i16 16661, i16 16447, i16 16385, i16 16661, i16 16661, i16 16447, i16 16388, i16 16661, i16 16661, i16 16394, i16 16385, i16 16661, i16 16661, i16 16394, i16 16388, i16 16661, i16 16661, i16 16402, i16 16385, i16 16661, i16 16661, i16 16402, i16 16388, i16 16661, i16 16661, i16 16390, i16 16385, i16 16661, i16 16661, i16 16390, i16 16388, i16 16661, i16 16661, i16 16444, i16 16385, i16 16661, i16 16661, i16 16444, i16 16388, i16 16661, i16 16661, i16 16452, i16 16385, i16 16661, i16 16661, i16 16452, i16 16388, i16 16661, i16 16661, i16 16448, i16 16385, i16 16661, i16 16661, i16 16448, i16 16388, i16 16661, i16 16678, i16 16389, i16 16386, i16 16678, i16 16678, i16 16389, i16 16388, i16 16678, i16 16681, i16 16389, i16 16388, i16 16681, i16 16681, i16 16392, i16 16385, i16 16681, i16 16681, i16 16392, i16 16388, i16 16681, i16 16681, i16 16393, i16 16385, i16 16681, i16 16681, i16 16393, i16 16388, i16 16681, i16 16681, i16 16405, i16 16385, i16 16681, i16 16681, i16 16405, i16 16388, i16 16681, i16 16681, i16 16397, i16 16385, i16 16681, i16 16681, i16 16397, i16 16388, i16 16681, i16 16681, i16 16398, i16 16385, i16 16681, i16 16681, i16 16398, i16 16388, i16 16681, i16 16681, i16 16394, i16 16385, i16 16681, i16 16681, i16 16394, i16 16388, i16 16681, i16 16681, i16 16395, i16 16385, i16 16681, i16 16681, i16 16395, i16 16388, i16 16681, i16 16681, i16 16402, i16 16385, i16 16681, i16 16681, i16 16402, i16 16388, i16 16681, i16 16681, i16 16427, i16 16385, i16 16681, i16 16681, i16 16427, i16 16388, i16 16681, i16 16681, i16 16400, i16 16385, i16 16681, i16 16681, i16 16400, i16 16388, i16 16681, i16 16681, i16 16396, i16 16385, i16 16681, i16 16681, i16 16396, i16 16388, i16 16681, i16 16681, i16 16446, i16 16385, i16 16681, i16 16681, i16 16446, i16 16388, i16 16681, i16 16681, i16 16390, i16 16385, i16 16681, i16 16681, i16 16390, i16 16388, i16 16681, i16 16681, i16 16444, i16 16385, i16 16681, i16 16681, i16 16444, i16 16388, i16 16681, i16 16681, i16 16449, i16 16385, i16 16681, i16 16681, i16 16449, i16 16388, i16 16681, i16 16681, i16 16391, i16 16385, i16 16681, i16 16681, i16 16391, i16 16388, i16 16681, i16 18681, i16 18684, i16 18517, i16 18681, i16 18681, i16 18684, i16 18425, i16 18681, i16 16718, i16 16389, i16 16388, i16 16718, i16 16718, i16 16394, i16 16385, i16 16718, i16 16718, i16 16394, i16 16388, i16 16718, i16 16723, i16 16389, i16 16388, i16 16723, i16 16723, i16 16392, i16 16385, i16 16723, i16 16723, i16 16392, i16 16388, i16 16723, i16 16723, i16 16395, i16 16385, i16 16723, i16 16723, i16 16395, i16 16388, i16 16723, i16 16723, i16 16400, i16 16385, i16 16723, i16 16723, i16 16400, i16 16388, i16 16723, i16 16723, i16 16444, i16 16385, i16 16723, i16 16723, i16 16444, i16 16388, i16 16723, i16 16723, i16 16448, i16 16385, i16 16723, i16 16723, i16 16448, i16 16388, i16 16723, i16 16723, i16 16445, i16 16385, i16 16723, i16 16723, i16 16445, i16 16388, i16 16723, i16 16723, i16 32766, i16 16388, i16 16723, i16 16739, i16 16389, i16 16388, i16 16739, i16 16739, i16 16392, i16 16385, i16 16739, i16 16739, i16 16392, i16 16388, i16 16739, i16 16739, i16 16395, i16 16385, i16 16739, i16 16739, i16 16395, i16 16388, i16 16739, i16 16739, i16 16390, i16 16385, i16 16739, i16 16739, i16 16390, i16 16388, i16 16739, i16 16739, i16 16444, i16 16385, i16 16739, i16 16739, i16 16444, i16 16388, i16 16739, i16 16739, i16 16452, i16 16385, i16 16739, i16 16739, i16 16452, i16 16388, i16 16739, i16 16739, i16 16448, i16 16385, i16 16739, i16 16739, i16 16448, i16 16388, i16 16739, i16 16739, i16 16434, i16 16385, i16 16739, i16 16739, i16 16434, i16 16388, i16 16739, i16 16739, i16 16421, i16 16385, i16 16739, i16 16739, i16 16421, i16 16388, i16 16739, i16 16739, i16 16445, i16 16385, i16 16739, i16 16739, i16 16445, i16 16388, i16 16739, i16 16760, i16 16389, i16 16388, i16 16760, i16 16760, i16 16392, i16 16385, i16 16760, i16 16760, i16 16392, i16 16388, i16 16760, i16 16760, i16 16390, i16 16385, i16 16760, i16 16760, i16 16390, i16 16388, i16 16760, i16 16760, i16 16444, i16 16385, i16 16760, i16 16760, i16 16444, i16 16388, i16 16760, i16 16769, i16 16389, i16 16388, i16 16769, i16 16769, i16 16392, i16 16385, i16 16769, i16 16769, i16 16392, i16 16388, i16 16769, i16 16769, i16 16395, i16 16385, i16 16769, i16 16769, i16 16395, i16 16388, i16 16769, i16 16769, i16 16396, i16 16385, i16 16769, i16 16769, i16 16396, i16 16388, i16 16769, i16 16769, i16 16390, i16 16385, i16 16769, i16 16769, i16 16390, i16 16388, i16 16769, i16 16769, i16 16444, i16 16385, i16 16769, i16 16769, i16 16444, i16 16388, i16 16769, i16 16769, i16 16448, i16 16385, i16 16769, i16 16769, i16 16448, i16 16388, i16 16769, i16 16769, i16 16421, i16 16385, i16 16769, i16 16769, i16 16421, i16 16388, i16 16769, i16 16769, i16 16445, i16 16385, i16 16769, i16 16769, i16 16445, i16 16388, i16 16769, i16 16769, i16 16451, i16 16388, i16 16769, i16 18687, i16 18690, i16 18517, i16 18687, i16 18687, i16 18690, i16 18425, i16 18687, i16 16791, i16 16389, i16 16388, i16 16791, i16 16791, i16 16389, i16 32766, i16 16791, i16 16791, i16 16392, i16 16385, i16 16791, i16 16791, i16 16392, i16 16388, i16 16791, i16 16791, i16 16393, i16 16385, i16 16791, i16 16791, i16 16393, i16 16388, i16 16791, i16 16791, i16 16405, i16 16385, i16 16791, i16 16791, i16 16405, i16 16388, i16 16791, i16 16791, i16 16397, i16 16385, i16 16791, i16 16791, i16 16397, i16 16388, i16 16791, i16 16791, i16 16398, i16 16385, i16 16791, i16 16791, i16 16398, i16 16388, i16 16791, i16 16791, i16 16394, i16 16385, i16 16791, i16 16791, i16 16394, i16 16388, i16 16791, i16 16791, i16 16412, i16 16385, i16 16791, i16 16791, i16 16412, i16 16388, i16 16791, i16 16791, i16 16413, i16 16385, i16 16791, i16 16791, i16 16413, i16 16388, i16 16791, i16 16791, i16 16415, i16 16385, i16 16791, i16 16791, i16 16415, i16 16388, i16 16791, i16 16791, i16 16414, i16 16385, i16 16791, i16 16791, i16 16414, i16 16388, i16 16791, i16 16791, i16 16436, i16 16385, i16 16791, i16 16791, i16 16436, i16 16388, i16 16791, i16 16791, i16 16395, i16 16385, i16 16791, i16 16791, i16 16395, i16 16388, i16 16791, i16 16791, i16 16402, i16 16385, i16 16791, i16 16791, i16 16402, i16 16388, i16 16791, i16 16791, i16 16404, i16 16385, i16 16791, i16 16791, i16 16404, i16 16388, i16 16791, i16 16791, i16 16400, i16 16385, i16 16791, i16 16791, i16 16400, i16 16388, i16 16791, i16 16791, i16 16396, i16 16385, i16 16791, i16 16791, i16 16396, i16 16388, i16 16791, i16 16791, i16 16406, i16 16385, i16 16791, i16 16791, i16 16406, i16 16388, i16 16791, i16 16791, i16 16431, i16 16385, i16 16791, i16 16791, i16 16431, i16 16388, i16 16791, i16 16791, i16 16444, i16 16385, i16 16791, i16 16791, i16 16444, i16 16388, i16 16791, i16 16791, i16 16452, i16 16385, i16 16791, i16 16791, i16 16452, i16 16388, i16 16791, i16 16791, i16 16443, i16 16385, i16 16791, i16 16791, i16 16443, i16 16388, i16 16791, i16 16791, i16 16449, i16 16385, i16 16791, i16 16791, i16 16449, i16 16388, i16 16791, i16 16791, i16 16440, i16 16385, i16 16791, i16 16791, i16 16440, i16 16388, i16 16791, i16 16791, i16 16391, i16 16385, i16 16791, i16 16791, i16 16391, i16 16388, i16 16791, i16 16791, i16 16419, i16 16385, i16 16791, i16 16791, i16 16419, i16 16388, i16 16791, i16 16791, i16 16420, i16 16385, i16 16791, i16 16791, i16 16420, i16 16388, i16 16791, i16 16791, i16 16401, i16 16385, i16 16791, i16 16791, i16 16401, i16 16388, i16 16791, i16 16791, i16 16422, i16 16385, i16 16791, i16 16791, i16 16422, i16 16388, i16 16791, i16 16791, i16 16423, i16 16385, i16 16791, i16 16791, i16 16423, i16 16388, i16 16791, i16 16791, i16 16425, i16 16385, i16 16791, i16 16791, i16 16425, i16 16388, i16 16791, i16 16791, i16 16424, i16 16385, i16 16791, i16 16791, i16 16424, i16 16388, i16 16791, i16 16791, i16 16441, i16 16385, i16 16791, i16 16791, i16 16441, i16 16388, i16 16791, i16 18693, i16 18696, i16 18517, i16 18693, i16 18693, i16 18696, i16 18425, i16 18693, i16 16861, i16 16389, i16 16388, i16 16861, i16 16861, i16 16392, i16 16385, i16 16861, i16 16861, i16 16392, i16 16388, i16 16861, i16 16861, i16 16390, i16 16385, i16 16861, i16 16861, i16 16390, i16 16388, i16 16861, i16 16868, i16 16389, i16 16388, i16 16868, i16 16871, i16 16389, i16 16388, i16 16871, i16 16871, i16 16392, i16 16385, i16 16871, i16 16871, i16 16392, i16 16388, i16 16871, i16 16871, i16 16405, i16 16385, i16 16871, i16 16871, i16 16405, i16 16388, i16 16871, i16 16871, i16 16398, i16 16385, i16 16871, i16 16871, i16 16398, i16 16388, i16 16871, i16 16871, i16 16390, i16 16385, i16 16871, i16 16871, i16 16390, i16 16388, i16 16871, i16 16871, i16 16444, i16 16385, i16 16871, i16 16871, i16 16444, i16 16388, i16 16871, i16 16871, i16 16448, i16 16385, i16 16871, i16 16871, i16 16448, i16 16388, i16 16871, i16 16871, i16 16434, i16 16385, i16 16871, i16 16871, i16 16434, i16 16388, i16 16871, i16 16871, i16 16445, i16 16385, i16 16871, i16 16871, i16 16445, i16 16388, i16 16871, i16 16889, i16 16395, i16 16388, i16 16889, i16 16892, i16 16389, i16 16388, i16 16892, i16 18699, i16 18643, i16 18702, i16 18699, i16 16892, i16 16392, i16 16385, i16 16892, i16 16892, i16 16392, i16 16388, i16 16892, i16 16892, i16 16403, i16 16385, i16 16892, i16 16892, i16 16403, i16 16388, i16 16892, i16 16892, i16 16394, i16 16385, i16 16892, i16 16892, i16 16394, i16 16388, i16 16892, i16 16892, i16 16390, i16 16385, i16 16892, i16 16892, i16 16390, i16 16388, i16 16892, i16 16892, i16 16444, i16 16385, i16 16892, i16 16892, i16 16444, i16 16388, i16 16892, i16 16892, i16 16433, i16 16385, i16 16892, i16 16892, i16 16433, i16 16388, i16 16892, i16 16892, i16 16448, i16 16385, i16 16892, i16 16892, i16 16448, i16 16388, i16 16892, i16 16909, i16 16395, i16 16388, i16 16909, i16 16909, i16 16416, i16 16385, i16 16909, i16 16909, i16 16416, i16 16388, i16 16909, i16 16892, i16 32766, i16 16388, i16 16892, i16 18705, i16 18643, i16 18708, i16 18705, i16 18699, i16 18643, i16 18711, i16 16384, i16 16917, i16 16389, i16 16388, i16 16917, i16 16917, i16 16395, i16 16385, i16 16917, i16 16917, i16 16395, i16 16388, i16 16917, i16 16917, i16 16390, i16 16385, i16 16917, i16 16917, i16 16390, i16 16388, i16 16917, i16 16917, i16 16444, i16 16385, i16 16917, i16 16917, i16 16444, i16 16388, i16 16917, i16 16917, i16 16452, i16 16385, i16 16917, i16 16917, i16 16452, i16 16388, i16 16917, i16 16917, i16 16448, i16 16385, i16 16917, i16 16917, i16 16448, i16 16388, i16 16917, i16 16917, i16 16421, i16 16385, i16 16917, i16 16917, i16 16421, i16 16388, i16 16917, i16 16917, i16 16445, i16 16385, i16 16917, i16 16917, i16 16445, i16 16388, i16 16917, i16 18714, i16 18717, i16 18517, i16 18714, i16 18714, i16 18717, i16 18425, i16 18714, i16 16936, i16 16389, i16 16388, i16 16936, i16 16936, i16 16392, i16 16385, i16 16936, i16 16936, i16 16392, i16 16388, i16 16936, i16 16936, i16 16393, i16 16385, i16 16936, i16 16936, i16 16393, i16 16388, i16 16936, i16 16936, i16 16405, i16 16385, i16 16936, i16 16936, i16 16405, i16 16388, i16 16936, i16 16936, i16 16397, i16 16385, i16 16936, i16 16936, i16 16397, i16 16388, i16 16936, i16 16936, i16 16398, i16 16385, i16 16936, i16 16936, i16 16398, i16 16388, i16 16936, i16 16936, i16 16394, i16 16385, i16 16936, i16 16936, i16 16394, i16 16388, i16 16936, i16 16936, i16 16395, i16 16385, i16 16936, i16 16936, i16 16395, i16 16388, i16 16936, i16 16936, i16 16399, i16 16385, i16 16936, i16 16936, i16 16399, i16 16388, i16 16936, i16 16936, i16 16402, i16 16385, i16 16936, i16 16936, i16 16402, i16 16388, i16 16936, i16 16936, i16 16426, i16 16385, i16 16936, i16 16936, i16 16426, i16 16388, i16 16936, i16 16936, i16 16427, i16 16385, i16 16936, i16 16936, i16 16427, i16 16388, i16 16936, i16 16936, i16 16428, i16 16385, i16 16936, i16 16936, i16 16428, i16 16388, i16 16936, i16 16936, i16 16429, i16 16385, i16 16936, i16 16936, i16 16429, i16 16388, i16 16936, i16 16936, i16 16404, i16 16385, i16 16936, i16 16936, i16 16404, i16 16388, i16 16936, i16 16936, i16 16400, i16 16385, i16 16936, i16 16936, i16 16400, i16 16388, i16 16936, i16 16936, i16 16396, i16 16385, i16 16936, i16 16936, i16 16396, i16 16388, i16 16936, i16 16936, i16 16406, i16 16385, i16 16936, i16 16936, i16 16406, i16 16388, i16 16936, i16 16936, i16 16446, i16 16385, i16 16936, i16 16936, i16 16446, i16 16388, i16 16936, i16 16936, i16 16444, i16 16385, i16 16936, i16 16936, i16 16444, i16 16388, i16 16936, i16 16936, i16 16449, i16 16385, i16 16936, i16 16936, i16 16449, i16 16388, i16 16936, i16 16936, i16 16391, i16 16385, i16 16936, i16 16936, i16 16391, i16 16388, i16 16936, i16 16936, i16 16430, i16 16385, i16 16936, i16 16936, i16 16430, i16 16388, i16 16936, i16 16936, i16 16442, i16 16385, i16 16936, i16 16936, i16 16442, i16 16388, i16 16936, i16 16936, i16 16421, i16 16385, i16 16936, i16 16936, i16 16421, i16 16388, i16 16936, i16 16936, i16 16401, i16 16385, i16 16936, i16 16936, i16 16401, i16 16388, i16 16936, i16 16936, i16 16422, i16 16385, i16 16936, i16 16936, i16 16422, i16 16388, i16 16936, i16 16936, i16 16423, i16 16385, i16 16936, i16 16936, i16 16423, i16 16388, i16 16936, i16 16936, i16 16425, i16 16385, i16 16936, i16 16936, i16 16425, i16 16388, i16 16936, i16 16936, i16 16424, i16 16385, i16 16936, i16 16936, i16 16424, i16 16388, i16 16936, i16 16936, i16 16441, i16 16385, i16 16936, i16 16936, i16 16441, i16 16388, i16 16936, i16 16999, i16 16389, i16 16388, i16 16999, i16 16999, i16 16396, i16 16385, i16 16999, i16 16999, i16 16396, i16 16388, i16 16999, i16 16999, i16 16444, i16 16385, i16 16999, i16 16999, i16 16444, i16 16388, i16 16999, i16 17006, i16 16389, i16 16388, i16 17006, i16 17006, i16 16392, i16 16385, i16 17006, i16 17006, i16 16392, i16 16388, i16 17006, i16 17006, i16 16393, i16 16385, i16 17006, i16 17006, i16 16393, i16 16388, i16 17006, i16 17006, i16 16394, i16 16385, i16 17006, i16 17006, i16 16394, i16 16388, i16 17006, i16 17006, i16 16402, i16 16385, i16 17006, i16 17006, i16 16402, i16 16388, i16 17006, i16 17006, i16 16390, i16 16385, i16 17006, i16 17006, i16 16390, i16 16388, i16 17006, i16 17006, i16 16444, i16 16385, i16 17006, i16 17006, i16 16444, i16 16388, i16 17006, i16 17021, i16 16389, i16 16388, i16 17021, i16 17021, i16 16402, i16 16385, i16 17021, i16 17021, i16 16402, i16 16388, i16 17021, i16 17021, i16 16390, i16 16385, i16 17021, i16 17021, i16 16390, i16 16388, i16 17021, i16 17028, i16 16389, i16 16388, i16 17028, i16 17028, i16 16392, i16 16385, i16 17028, i16 17028, i16 16392, i16 16388, i16 17028, i16 17028, i16 16393, i16 16385, i16 17028, i16 17028, i16 16393, i16 16388, i16 17028, i16 17028, i16 16394, i16 16385, i16 17028, i16 17028, i16 16394, i16 16388, i16 17028, i16 17028, i16 16402, i16 16385, i16 17028, i16 17028, i16 16402, i16 16388, i16 17028, i16 17028, i16 16400, i16 16385, i16 17028, i16 17028, i16 16400, i16 16388, i16 17028, i16 17028, i16 16396, i16 16385, i16 17028, i16 17028, i16 16396, i16 16388, i16 17028, i16 17028, i16 16390, i16 16385, i16 17028, i16 17028, i16 16390, i16 16388, i16 17028, i16 17028, i16 16444, i16 16385, i16 17028, i16 17028, i16 16444, i16 16388, i16 17028, i16 17047, i16 16389, i16 16388, i16 17047, i16 17047, i16 16392, i16 16385, i16 17047, i16 17047, i16 16392, i16 16388, i16 17047, i16 17047, i16 16394, i16 16385, i16 17047, i16 17047, i16 16394, i16 16388, i16 17047, i16 17047, i16 16390, i16 16385, i16 17047, i16 17047, i16 16390, i16 16388, i16 17047, i16 17047, i16 16444, i16 16385, i16 17047, i16 17047, i16 16444, i16 16388, i16 17047, i16 17047, i16 16452, i16 16385, i16 17047, i16 17047, i16 16452, i16 16388, i16 17047, i16 17047, i16 16445, i16 16385, i16 17047, i16 17047, i16 16445, i16 16388, i16 17047, i16 17062, i16 16395, i16 16388, i16 17062, i16 32766, i16 32766, i16 16384, i16 32766, i16 17064, i16 32766, i16 16384, i16 17064, i16 17073, i16 32766, i16 16384, i16 17073, i16 17074, i16 32766, i16 16384, i16 17074, i16 17075, i16 32766, i16 16384, i16 17075, i16 17076, i16 32766, i16 16384, i16 17076, i16 17077, i16 32766, i16 16384, i16 17077, i16 17078, i16 32766, i16 16384, i16 17078, i16 17079, i16 32766, i16 16384, i16 17079, i16 17080, i16 32766, i16 16384, i16 17080, i16 17081, i16 32766, i16 16384, i16 17081, i16 16384, i16 16384, i16 16384, i16 17133, i16 16384, i16 16384, i16 16384, i16 17135, i16 16384, i16 16384, i16 16384, i16 17197, i16 16384, i16 16384, i16 16384, i16 16384, i16 32766, i16 16385, i16 16453, i16 32766, i16 17723, i16 16385, i16 16454, i16 17723, i16 17723, i16 16388, i16 16453, i16 17723, i16 17723, i16 16388, i16 16454, i16 17723, i16 17727, i16 16388, i16 16453, i16 17727, i16 17729, i16 16388, i16 16453, i16 17729, i16 17731, i16 16388, i16 16453, i16 17731, i16 17733, i16 16385, i16 16454, i16 17733, i16 17733, i16 16388, i16 16453, i16 17733, i16 17733, i16 16388, i16 16454, i16 17733, i16 17737, i16 16388, i16 16453, i16 17737, i16 17739, i16 16385, i16 16454, i16 17739, i16 17739, i16 16388, i16 16453, i16 17739, i16 17739, i16 16388, i16 16454, i16 17739, i16 17743, i16 16388, i16 16453, i16 17743, i16 17745, i16 16385, i16 16454, i16 17745, i16 17745, i16 16385, i16 16455, i16 17745, i16 17745, i16 16388, i16 16453, i16 17745, i16 17745, i16 16388, i16 16454, i16 17745, i16 17745, i16 16388, i16 16455, i16 17745, i16 17745, i16 16388, i16 16456, i16 17745, i16 17752, i16 16388, i16 16453, i16 17752, i16 17754, i16 16388, i16 16453, i16 17754, i16 17756, i16 16388, i16 16453, i16 17756, i16 17758, i16 16388, i16 16453, i16 17758, i16 17760, i16 16388, i16 16453, i16 17760, i16 17762, i16 16385, i16 16454, i16 17762, i16 17762, i16 16388, i16 16453, i16 17762, i16 17762, i16 16388, i16 16454, i16 17762, i16 17766, i16 16388, i16 16453, i16 17766, i16 17768, i16 16388, i16 16453, i16 17768, i16 17770, i16 16388, i16 16453, i16 17770, i16 17770, i16 16388, i16 32766, i16 17770, i16 17773, i16 16388, i16 16453, i16 17773, i16 17775, i16 16385, i16 16454, i16 17775, i16 17775, i16 16385, i16 16455, i16 17775, i16 17775, i16 16388, i16 16453, i16 17775, i16 17775, i16 16388, i16 16454, i16 17775, i16 17775, i16 16388, i16 16455, i16 17775, i16 17775, i16 16388, i16 16456, i16 17775, i16 17782, i16 16388, i16 16453, i16 17782, i16 17784, i16 16388, i16 16453, i16 17784, i16 17786, i16 16388, i16 16453, i16 17786, i16 17788, i16 16385, i16 16454, i16 17788, i16 17788, i16 16388, i16 16453, i16 17788, i16 17788, i16 16388, i16 16454, i16 17788, i16 32766, i16 16457, i16 16385, i16 32766, i16 17792, i16 16457, i16 16388, i16 17792, i16 17794, i16 16457, i16 16388, i16 17794, i16 17796, i16 16457, i16 16388, i16 17796, i16 17798, i16 16457, i16 16388, i16 17798, i16 17800, i16 16457, i16 16388, i16 17800, i16 17802, i16 16457, i16 16388, i16 17802, i16 17804, i16 16457, i16 16388, i16 17804, i16 17806, i16 16457, i16 16388, i16 17806, i16 17808, i16 16457, i16 16388, i16 17808, i16 17810, i16 16457, i16 16388, i16 17810, i16 17812, i16 16457, i16 16388, i16 17812, i16 17814, i16 16457, i16 16388, i16 17814, i16 17816, i16 16457, i16 16388, i16 17816, i16 17818, i16 16457, i16 16388, i16 17818, i16 17820, i16 16457, i16 16388, i16 17820, i16 17822, i16 16457, i16 16388, i16 17822, i16 17824, i16 16457, i16 16388, i16 17824, i16 17826, i16 16457, i16 16388, i16 17826, i16 17828, i16 16457, i16 16388, i16 17828, i16 17830, i16 16457, i16 16388, i16 17830, i16 17832, i16 16457, i16 16388, i16 17832, i16 17834, i16 16457, i16 16388, i16 17834, i16 17836, i16 16457, i16 16388, i16 17836, i16 17838, i16 16457, i16 16388, i16 17838, i16 17840, i16 16457, i16 16388, i16 17840, i16 17842, i16 16457, i16 16388, i16 17842, i16 17844, i16 16457, i16 16388, i16 17844, i16 17846, i16 16457, i16 16388, i16 17846, i16 17848, i16 16457, i16 16388, i16 17848, i16 17850, i16 16457, i16 16388, i16 17850, i16 17852, i16 16457, i16 16388, i16 17852, i16 17854, i16 16457, i16 16388, i16 17854, i16 17856, i16 16457, i16 16388, i16 17856, i16 17858, i16 16457, i16 16388, i16 17858, i16 17860, i16 16457, i16 16388, i16 17860, i16 17862, i16 16457, i16 16388, i16 17862, i16 17864, i16 16457, i16 16388, i16 17864, i16 17866, i16 16457, i16 16388, i16 17866, i16 17868, i16 16457, i16 16388, i16 17868, i16 17870, i16 16457, i16 16388, i16 17870, i16 17872, i16 16457, i16 16388, i16 17872, i16 32766, i16 16457, i16 16388, i16 32766, i16 17874, i16 16457, i16 16385, i16 17874, i16 17876, i16 16457, i16 16388, i16 17876, i16 17878, i16 16457, i16 16385, i16 17878, i16 17880, i16 16457, i16 16388, i16 17880, i16 17882, i16 16457, i16 16388, i16 17882, i16 17884, i16 16457, i16 16388, i16 17884, i16 17886, i16 16457, i16 16388, i16 17886, i16 17888, i16 16457, i16 16388, i16 17888, i16 17890, i16 16457, i16 16388, i16 17890, i16 17892, i16 16457, i16 16388, i16 17892, i16 17894, i16 16457, i16 16388, i16 17894, i16 32766, i16 16384, i16 16384, i16 32766, i16 17928, i16 32766, i16 16384, i16 17928, i16 17927, i16 32766, i16 16384, i16 17927, i16 17937, i16 32766, i16 16384, i16 17937, i16 17941, i16 32766, i16 16384, i16 17941, i16 17948, i16 32766, i16 16384, i16 17948, i16 17956, i16 32766, i16 16384, i16 17956, i16 17961, i16 32766, i16 16384, i16 17961, i16 17966, i16 32766, i16 16384, i16 17966, i16 17971, i16 32766, i16 16384, i16 17971, i16 17976, i16 32766, i16 16384, i16 17976, i16 17979, i16 32766, i16 16384, i16 17979, i16 17982, i16 32766, i16 16384, i16 17982, i16 17985, i16 32766, i16 16384, i16 17985, i16 17988, i16 32766, i16 16384, i16 17988, i16 17993, i16 32766, i16 16384, i16 17993, i16 17998, i16 32766, i16 16384, i16 17998, i16 18003, i16 32766, i16 16384, i16 18003, i16 18008, i16 32766, i16 16384, i16 18008, i16 18013, i16 32766, i16 16384, i16 18013, i16 18018, i16 32766, i16 16384, i16 18018, i16 18023, i16 32766, i16 16384, i16 18023, i16 18028, i16 32766, i16 16384, i16 18028, i16 18033, i16 32766, i16 16384, i16 18033, i16 18038, i16 32766, i16 16384, i16 18038, i16 18043, i16 32766, i16 16384, i16 18043, i16 18048, i16 32766, i16 16384, i16 18048, i16 18053, i16 32766, i16 16384, i16 18053, i16 18058, i16 32766, i16 16384, i16 18058, i16 18063, i16 32766, i16 16384, i16 18063, i16 18066, i16 32766, i16 16384, i16 18066, i16 18069, i16 32766, i16 16384, i16 18069, i16 16384, i16 16384, i16 32766, i16 32766, i16 18720, i16 18720, i16 18723, i16 18720, i16 18720, i16 18726, i16 18729, i16 18720, i16 18732, i16 18732, i16 18735, i16 18732, i16 18732, i16 18738, i16 18741, i16 18732, i16 18744, i16 18744, i16 18747, i16 18744, i16 18744, i16 18750, i16 18753, i16 18744, i16 18756, i16 18759, i16 18762, i16 18756, i16 18756, i16 18765, i16 18768, i16 18756, i16 18101, i16 32766, i16 16384, i16 18101, i16 18105, i16 32766, i16 16384, i16 18105, i16 18109, i16 32766, i16 16384, i16 18109, i16 18114, i16 32766, i16 16384, i16 18114, i16 18118, i16 32766, i16 16384, i16 18118, i16 18122, i16 32766, i16 16384, i16 18122, i16 18127, i16 32766, i16 16384, i16 18127, i16 18131, i16 32766, i16 16384, i16 18131, i16 18135, i16 32766, i16 16384, i16 18135, i16 18140, i16 32766, i16 16384, i16 18140, i16 18144, i16 32766, i16 16384, i16 18144, i16 18148, i16 32766, i16 16384, i16 18148, i16 18152, i16 32766, i16 16384, i16 18152, i16 18156, i16 32766, i16 16384, i16 18156, i16 18160, i16 32766, i16 16384, i16 18160, i16 18164, i16 32766, i16 16384, i16 18164, i16 18168, i16 32766, i16 16384, i16 18168, i16 18172, i16 32766, i16 16384, i16 18172, i16 18178, i16 32766, i16 16384, i16 18178, i16 18182, i16 32766, i16 16384, i16 18182, i16 18186, i16 32766, i16 16384, i16 18186, i16 18188, i16 32766, i16 16384, i16 18188, i16 18190, i16 32766, i16 16384, i16 18190, i16 18192, i16 32766, i16 16384, i16 18192, i16 18194, i16 32766, i16 16384, i16 18194, i16 18196, i16 32766, i16 16384, i16 18196, i16 18202, i16 32766, i16 16384, i16 18202, i16 18208, i16 32766, i16 16384, i16 18208, i16 18214, i16 32766, i16 16384, i16 18214, i16 18220, i16 32766, i16 16384, i16 18220, i16 18226, i16 32766, i16 16384, i16 18226, i16 18228, i16 32766, i16 16384, i16 18228, i16 18230, i16 32766, i16 16384, i16 18230, i16 18232, i16 32766, i16 16384, i16 18232, i16 18234, i16 32766, i16 16384, i16 18234, i16 18236, i16 32766, i16 16384, i16 18236, i16 18240, i16 32766, i16 16384, i16 18240, i16 18244, i16 32766, i16 16384, i16 18244, i16 18248, i16 32766, i16 16384, i16 18248, i16 18250, i16 32766, i16 16384, i16 18250, i16 18252, i16 32766, i16 16384, i16 18252, i16 18254, i16 32766, i16 16384, i16 18254, i16 18256, i16 32766, i16 16384, i16 18256, i16 18258, i16 32766, i16 16384, i16 18258, i16 18262, i16 32766, i16 16384, i16 18262, i16 18264, i16 32766, i16 16384, i16 18264, i16 18266, i16 32766, i16 16384, i16 18266, i16 18268, i16 32766, i16 16384, i16 18268, i16 32766, i16 32766, i16 16384, i16 16384, i16 16396, i16 32766, i16 16384, i16 16384, i16 16398, i16 32766, i16 16384, i16 16384, i16 16400, i16 32766, i16 16384, i16 16384, i16 16402, i16 32766, i16 16384, i16 16384, i16 16404, i16 32766, i16 16384, i16 16384, i16 16406, i16 32766, i16 16384, i16 16384, i16 16408, i16 32766, i16 16384, i16 16384, i16 16410, i16 32766, i16 16384, i16 16384, i16 16412, i16 32766, i16 16384, i16 16384, i16 16414, i16 32766, i16 16384, i16 16384, i16 16416, i16 32766, i16 16384, i16 16384, i16 16418, i16 32766, i16 16384, i16 16384, i16 16420, i16 32766, i16 16384, i16 16384, i16 16422, i16 32766, i16 16384, i16 16384, i16 16424, i16 32766, i16 16384, i16 16384, i16 16426, i16 32766, i16 16384, i16 16384, i16 16428, i16 32766, i16 16384, i16 16384, i16 16430, i16 32766, i16 16384, i16 16384, i16 16432, i16 32766, i16 16384, i16 16384, i16 16434, i16 32766, i16 16384, i16 16384, i16 16436, i16 32766, i16 16384, i16 16384, i16 16438, i16 32766, i16 16384, i16 16384, i16 16440, i16 32766, i16 16384, i16 16384, i16 16442, i16 32766, i16 16384, i16 16384, i16 16444, i16 32766, i16 16384, i16 16384, i16 16446, i16 32766, i16 16384, i16 16384, i16 16384, i16 32766, i16 16384, i16 16384, i16 16384, i16 16384, i16 32766, i16 16384, i16 16384, i16 32766, i16 16385, i16 16385, i16 32766, i16 16385, i16 16385, i16 16385, i16 16438, i16 16386, i16 16385, i16 16385, i16 16440, i16 16386, i16 16385, i16 16385, i16 16442, i16 16386, i16 16385, i16 16385, i16 16444, i16 16386, i16 16385, i16 16385, i16 16446, i16 16386, i16 16385, i16 16385, i16 16448, i16 16386, i16 16385, i16 16385, i16 16450, i16 16386, i16 16385, i16 16385, i16 16452, i16 16386, i16 16385, i16 16385, i16 16454, i16 16386, i16 16385, i16 16385, i16 16456, i16 16386, i16 16385, i16 16385, i16 32766, i16 16385, i16 16385, i16 16387, i16 16458, i16 16385, i16 16385, i16 16388, i16 16460, i16 16385, i16 16385, i16 16388, i16 16462, i16 16385, i16 16385, i16 16388, i16 16464, i16 16385, i16 16385, i16 16388, i16 16466, i16 16385, i16 16385, i16 16388, i16 16468, i16 16385, i16 16385, i16 16388, i16 16470, i16 16385, i16 16385, i16 16388, i16 16472, i16 16385, i16 16385, i16 16388, i16 16474, i16 16385, i16 16385, i16 16388, i16 16476, i16 16385, i16 16385, i16 16388, i16 16478, i16 16385, i16 16385, i16 16388, i16 16480, i16 16385, i16 16385, i16 16388, i16 16482, i16 16385, i16 16385, i16 16388, i16 16484, i16 16385, i16 16385, i16 16388, i16 16486, i16 16385, i16 16385, i16 16388, i16 16488, i16 16385, i16 16385, i16 16388, i16 16490, i16 16385, i16 16385, i16 16388, i16 16492, i16 16385, i16 16385, i16 16388, i16 16494, i16 16385, i16 16385, i16 16388, i16 16496, i16 16385, i16 16385, i16 16388, i16 16498, i16 16385, i16 16385, i16 16388, i16 16500, i16 16385, i16 16385, i16 16388, i16 16502, i16 16385, i16 16385, i16 16388, i16 16504, i16 16385, i16 16385, i16 16388, i16 16506, i16 16385, i16 16385, i16 16388, i16 16508, i16 16385, i16 16385, i16 16388, i16 17294, i16 16385, i16 16385, i16 16385, i16 17297, i16 16385, i16 16385, i16 16385, i16 17300, i16 16385, i16 16385, i16 16385, i16 17303, i16 16385, i16 16385, i16 16385, i16 17306, i16 16385, i16 16385, i16 16385, i16 17309, i16 16385, i16 16385, i16 16385, i16 17312, i16 16385, i16 16385, i16 16385, i16 17315, i16 16385, i16 16385, i16 16385, i16 17318, i16 16385, i16 16385, i16 16385, i16 17321, i16 16385, i16 16385, i16 16385, i16 17324, i16 16385, i16 16385, i16 16385, i16 17327, i16 16385, i16 16385, i16 16385, i16 17330, i16 16385, i16 16385, i16 16385, i16 17333, i16 16385, i16 16385, i16 16385, i16 17336, i16 16385, i16 16385, i16 16385, i16 17339, i16 16385, i16 16385, i16 16385, i16 17342, i16 16385, i16 16385, i16 16385, i16 17345, i16 16385, i16 16385, i16 16385, i16 17348, i16 16385, i16 16385, i16 16385, i16 17351, i16 16385, i16 16385, i16 16385, i16 17354, i16 16385, i16 16385, i16 16385, i16 17357, i16 16385, i16 16385, i16 16385, i16 17360, i16 16385, i16 16385, i16 16385, i16 17363, i16 16385, i16 16385, i16 16385, i16 17366, i16 16385, i16 16385, i16 16385, i16 17369, i16 16385, i16 16385, i16 16385, i16 17372, i16 16385, i16 16385, i16 16385, i16 17375, i16 16385, i16 16385, i16 16385, i16 17378, i16 16385, i16 16385, i16 16385, i16 17381, i16 16385, i16 16385, i16 16385, i16 17384, i16 16385, i16 16385, i16 16385, i16 17387, i16 16385, i16 16385, i16 16385, i16 17390, i16 16385, i16 16385, i16 16385, i16 17393, i16 16385, i16 16385, i16 16385, i16 17396, i16 16385, i16 16385, i16 16385, i16 17399, i16 16385, i16 16385, i16 16385, i16 17402, i16 16385, i16 16385, i16 16385, i16 17405, i16 16385, i16 16385, i16 16385, i16 17408, i16 16385, i16 16385, i16 16385, i16 17411, i16 16385, i16 16385, i16 16385, i16 17414, i16 16385, i16 16385, i16 16385, i16 17417, i16 16385, i16 16385, i16 16385, i16 17420, i16 16385, i16 16385, i16 16385, i16 17423, i16 16385, i16 16385, i16 16385, i16 17426, i16 16385, i16 16385, i16 16385, i16 17429, i16 16385, i16 16385, i16 16385, i16 17432, i16 16385, i16 16385, i16 16385, i16 17435, i16 16385, i16 16385, i16 16385, i16 17438, i16 16385, i16 16385, i16 16385, i16 17441, i16 16385, i16 16385, i16 16385, i16 17444, i16 16385, i16 16385, i16 16385, i16 17447, i16 16385, i16 16385, i16 16385, i16 17450, i16 16385, i16 16385, i16 16385, i16 17453, i16 16385, i16 16385, i16 16385, i16 17456, i16 16385, i16 16385, i16 16385, i16 17459, i16 16385, i16 16385, i16 16385, i16 17462, i16 16385, i16 16385, i16 16385, i16 17465, i16 16385, i16 16385, i16 16385, i16 17468, i16 16385, i16 16385, i16 16385, i16 17471, i16 16385, i16 16385, i16 16385, i16 17474, i16 16385, i16 16385, i16 16385, i16 17477, i16 16385, i16 16385, i16 16385, i16 17480, i16 16385, i16 16385, i16 16385, i16 17483, i16 16385, i16 16385, i16 16385, i16 17486, i16 16385, i16 16385, i16 16385, i16 17489, i16 16385, i16 16385, i16 16385, i16 17492, i16 16385, i16 16385, i16 16385, i16 17495, i16 16385, i16 16385, i16 16385, i16 17498, i16 16385, i16 16385, i16 16385, i16 17501, i16 16385, i16 16385, i16 16385, i16 17504, i16 16385, i16 16385, i16 16385, i16 17507, i16 16385, i16 16385, i16 16385, i16 17510, i16 16385, i16 16385, i16 16385, i16 17513, i16 16385, i16 16385, i16 16385, i16 17516, i16 16385, i16 16385, i16 16385, i16 17519, i16 16385, i16 16385, i16 16385, i16 17522, i16 16385, i16 16385, i16 16385, i16 17525, i16 16385, i16 16385, i16 16385, i16 17528, i16 16385, i16 16385, i16 16385, i16 17531, i16 16385, i16 16385, i16 16385, i16 17534, i16 16385, i16 16385, i16 16385, i16 17537, i16 16385, i16 16385, i16 16385, i16 17540, i16 16385, i16 16385, i16 16385, i16 17543, i16 16385, i16 16385, i16 16385, i16 17546, i16 16385, i16 16385, i16 16385, i16 17549, i16 16385, i16 16385, i16 16385, i16 17552, i16 16385, i16 16385, i16 16385, i16 17555, i16 16385, i16 16385, i16 16385, i16 17558, i16 16385, i16 16385, i16 16385, i16 17561, i16 16385, i16 16385, i16 16385, i16 17564, i16 16385, i16 16385, i16 16385, i16 17567, i16 16385, i16 16385, i16 16385, i16 17570, i16 16385, i16 16385, i16 16385, i16 17573, i16 16385, i16 16385, i16 16385, i16 17576, i16 16385, i16 16385, i16 16385, i16 17579, i16 16385, i16 16385, i16 16385, i16 17582, i16 16385, i16 16385, i16 16385, i16 17585, i16 16385, i16 16385, i16 16385, i16 17588, i16 16385, i16 16385, i16 16385, i16 17591, i16 16385, i16 16385, i16 16385, i16 17594, i16 16385, i16 16385, i16 16385, i16 17597, i16 16385, i16 16385, i16 16385, i16 17600, i16 16385, i16 16385, i16 16385, i16 17603, i16 16385, i16 16385, i16 16385, i16 17606, i16 16385, i16 16385, i16 16385, i16 17609, i16 16385, i16 16385, i16 16385, i16 17612, i16 16385, i16 16385, i16 16385, i16 17615, i16 16385, i16 16385, i16 16385, i16 17618, i16 16385, i16 16385, i16 16385, i16 17621, i16 16385, i16 16385, i16 16385, i16 17624, i16 16385, i16 16385, i16 16385, i16 17627, i16 16385, i16 16385, i16 16385, i16 17630, i16 16385, i16 16385, i16 16385, i16 17633, i16 16385, i16 16385, i16 16385, i16 17636, i16 16385, i16 16385, i16 16385, i16 17639, i16 16385, i16 16385, i16 16385, i16 17642, i16 16385, i16 16385, i16 16385, i16 17645, i16 16385, i16 16385, i16 16385, i16 17648, i16 16385, i16 16385, i16 16385, i16 17651, i16 16385, i16 16385, i16 16385, i16 17654, i16 16385, i16 16385, i16 16385, i16 17657, i16 16385, i16 16385, i16 16385, i16 17660, i16 16385, i16 16385, i16 16385, i16 17663, i16 16385, i16 16385, i16 16385, i16 17666, i16 16385, i16 16385, i16 16385, i16 17669, i16 16385, i16 16385, i16 16385, i16 17672, i16 16385, i16 16385, i16 16385, i16 17675, i16 16385, i16 16385, i16 16385, i16 17678, i16 16385, i16 16385, i16 16385, i16 17681, i16 16385, i16 16385, i16 16385, i16 17684, i16 16385, i16 16385, i16 16385, i16 17687, i16 16385, i16 16385, i16 16385, i16 17690, i16 16385, i16 16385, i16 16385, i16 17693, i16 16385, i16 16385, i16 16385, i16 17696, i16 16385, i16 16385, i16 16385, i16 17699, i16 16385, i16 16385, i16 16385, i16 17702, i16 16385, i16 16385, i16 16385, i16 17705, i16 16385, i16 16385, i16 16385, i16 17708, i16 16385, i16 16385, i16 16385, i16 17711, i16 16385, i16 16385, i16 16385, i16 17714, i16 16385, i16 16385, i16 16385, i16 17717, i16 16385, i16 16385, i16 16385, i16 17720, i16 16385, i16 16385, i16 16385, i16 17723, i16 16385, i16 16385, i16 16385, i16 17726, i16 16385, i16 16385, i16 16385, i16 17729, i16 16385, i16 16385, i16 16385, i16 17732, i16 16385, i16 16385, i16 16385, i16 17735, i16 16385, i16 16385, i16 16385, i16 17738, i16 16385, i16 16385, i16 16385, i16 17741, i16 16385, i16 16385, i16 16385, i16 17744, i16 16385, i16 16385, i16 16385, i16 17747, i16 16385, i16 16385, i16 16385, i16 17750, i16 16385, i16 16385, i16 16385, i16 17753, i16 16385, i16 16385, i16 16385, i16 17756, i16 16385, i16 16385, i16 16385, i16 17759, i16 16385, i16 16385, i16 16385, i16 17762, i16 16385, i16 16385, i16 16385, i16 17765, i16 16385, i16 16385, i16 16385, i16 17768, i16 16385, i16 16385, i16 16385, i16 17771, i16 16385, i16 16385, i16 16385, i16 17774, i16 16385, i16 16385, i16 16385, i16 17777, i16 16385, i16 16385, i16 16385, i16 17780, i16 16385, i16 16385, i16 16385, i16 17783, i16 16385, i16 16385, i16 16385, i16 17786, i16 16385, i16 16385, i16 16385, i16 17789, i16 16385, i16 16385, i16 16385, i16 17792, i16 16385, i16 16385, i16 16385, i16 17795, i16 16385, i16 16385, i16 16385, i16 17798, i16 16385, i16 16385, i16 16385, i16 17801, i16 16385, i16 16385, i16 16385, i16 17804, i16 16385, i16 16385, i16 16385, i16 17807, i16 16385, i16 16385, i16 16385, i16 17810, i16 16385, i16 16385, i16 16385, i16 17813, i16 16385, i16 16385, i16 16385, i16 17816, i16 16385, i16 16385, i16 16385, i16 17819, i16 16385, i16 16385, i16 16385, i16 17822, i16 16385, i16 16385, i16 16385, i16 17825, i16 16385, i16 16385, i16 16385, i16 17828, i16 16385, i16 16385, i16 16385, i16 17831, i16 16385, i16 16385, i16 16385, i16 17834, i16 16385, i16 16385, i16 16385, i16 17837, i16 16385, i16 16385, i16 16385, i16 17840, i16 16385, i16 16385, i16 16385, i16 17843, i16 16385, i16 16385, i16 16385, i16 17846, i16 16385, i16 16385, i16 16385, i16 17849, i16 16385, i16 16385, i16 16385, i16 17852, i16 16385, i16 16385, i16 16385, i16 17855, i16 16385, i16 16385, i16 16385, i16 17858, i16 16385, i16 16385, i16 16385, i16 17861, i16 16385, i16 16385, i16 16385, i16 17864, i16 16385, i16 16385, i16 16385, i16 17867, i16 16385, i16 16385, i16 16385, i16 17870, i16 16385, i16 16385, i16 16385, i16 17873, i16 16385, i16 16385, i16 16385, i16 17876, i16 16385, i16 16385, i16 16385, i16 17879, i16 16385, i16 16385, i16 16385, i16 17882, i16 16385, i16 16385, i16 16385, i16 17885, i16 16385, i16 16385, i16 16385, i16 17888, i16 16385, i16 16385, i16 16385, i16 17891, i16 16385, i16 16385, i16 16385, i16 17894, i16 16385, i16 16385, i16 16385, i16 17897, i16 16385, i16 16385, i16 16385, i16 17900, i16 16385, i16 16385, i16 16385, i16 17903, i16 16385, i16 16385, i16 16385, i16 17906, i16 16385, i16 16385, i16 16385, i16 17909, i16 16385, i16 16385, i16 16385, i16 17912, i16 16385, i16 16385, i16 16385, i16 17915, i16 16385, i16 16385, i16 16385, i16 17918, i16 16385, i16 16385, i16 16385, i16 17921, i16 16385, i16 16385, i16 16385, i16 17924, i16 16385, i16 16385, i16 16385, i16 17927, i16 16385, i16 16385, i16 16385, i16 17930, i16 16385, i16 16385, i16 16385, i16 17933, i16 16385, i16 16385, i16 16385, i16 17936, i16 16385, i16 16385, i16 16385, i16 17939, i16 16385, i16 16385, i16 16385, i16 17942, i16 16385, i16 16385, i16 16385, i16 17945, i16 16385, i16 16385, i16 16385, i16 17948, i16 16385, i16 16385, i16 16385, i16 17951, i16 16385, i16 16385, i16 16385, i16 16779, i16 16385, i16 16385, i16 16389, i16 32767, i16 16384, i16 16384, i16 16384, i16 17284, i16 17285, i16 0, i16 895, i16 895, i16 0, i16 17273, i16 17273, i16 0, i16 16434, i16 16428, i16 0, i16 16393, i16 16393, i16 0, i16 97, i16 905, i16 0, i16 14, i16 14, i16 0, i16 3, i16 3, i16 0, i16 4, i16 3, i16 0, i16 5, i16 3, i16 0, i16 6, i16 3, i16 0, i16 16425, i16 16428, i16 0, i16 16433, i16 17283, i16 0, i16 16437, i16 16437, i16 0, i16 16481, i16 17289, i16 0, i16 16398, i16 16398, i16 0, i16 91, i16 906, i16 0, i16 14, i16 13, i16 0, i16 3, i16 4, i16 0, i16 4, i16 4, i16 0, i16 14, i16 890, i16 0, i16 14, i16 892, i16 0, i16 16488, i16 16488, i16 0, i16 17279, i16 17279, i16 0, i16 16488, i16 16492, i16 0, i16 16492, i16 16492, i16 0, i16 17797, i16 17797, i16 0, i16 16393, i16 17601, i16 0, i16 16393, i16 17600, i16 0, i16 16393, i16 17273, i16 0, i16 17273, i16 16393, i16 0, i16 17273, i16 17601, i16 0, i16 17273, i16 17600, i16 0, i16 17798, i16 17798, i16 0, i16 17799, i16 17799, i16 0, i16 16393, i16 17796, i16 0, i16 16393, i16 17795, i16 0, i16 16393, i16 17794, i16 0, i16 16393, i16 17793, i16 0, i16 17273, i16 17796, i16 0, i16 17273, i16 17795, i16 0, i16 17273, i16 17794, i16 0, i16 17273, i16 17793, i16 0, i16 17800, i16 17800, i16 0, i16 17801, i16 17801, i16 0, i16 17802, i16 17802, i16 0, i16 17804, i16 17804, i16 0, i16 17805, i16 17805, i16 0, i16 17807, i16 17807, i16 0, i16 16475, i16 17934, i16 0, i16 16387, i16 16388, i16 0, i16 16388, i16 16388, i16 0, i16 16475, i16 17289, i16 0, i16 16398, i16 17274, i16 0, i16 16398, i16 17276, i16 0, i16 16475, i16 17290, i16 0, i16 16458, i16 17935, i16 17290, i16 16475, i16 0, i16 17279, i16 17279, i16 17279, i16 17279, i16 0, i16 16389, i16 16390, i16 16388, i16 16387, i16 0, i16 17296, i16 17302, i16 0, i16 17329, i16 17279, i16 0, i16 17296, i16 17303, i16 0, i16 17311, i16 17334, i16 0, i16 17314, i16 17334, i16 0, i16 17193, i16 17193, i16 0, i16 2, i16 2, i16 0, i16 17200, i16 17200, i16 0, i16 17193, i16 18178, i16 0, i16 17201, i16 17201, i16 0, i16 17193, i16 17285, i16 0, i16 17202, i16 17202, i16 0, i16 17193, i16 17193, i16 18178, i16 0, i16 2, i16 2, i16 2, i16 0, i16 17203, i16 17203, i16 17203, i16 0, i16 17193, i16 17193, i16 17285, i16 0, i16 17204, i16 17204, i16 17204, i16 0, i16 18178, i16 17267, i16 0, i16 881, i16 881, i16 0, i16 16385, i16 16385, i16 0, i16 18080, i16 18080, i16 0, i16 17408, i16 17427, i16 0, i16 17410, i16 17410, i16 0, i16 17408, i16 17408, i16 0, i16 18080, i16 17425, i16 0, i16 17426, i16 17426, i16 0, i16 17851, i16 17736, i16 0, i16 1467, i16 1352, i16 0, i16 17901, i16 17901, i16 0, i16 1467, i16 1353, i16 0, i16 17902, i16 17902, i16 0, i16 17851, i16 17738, i16 0, i16 1467, i16 1354, i16 0, i16 17903, i16 17903, i16 0, i16 1467, i16 1355, i16 0, i16 17904, i16 17904, i16 0, i16 17851, i16 17741, i16 0, i16 1467, i16 1357, i16 0, i16 17905, i16 17905, i16 0, i16 1467, i16 1358, i16 0, i16 17906, i16 17906, i16 0, i16 17851, i16 17745, i16 0, i16 1467, i16 1362, i16 0, i16 17907, i16 17907, i16 0, i16 1467, i16 1363, i16 0, i16 17908, i16 17908, i16 0, i16 17065, i16 17148, i16 0, i16 1770, i16 1770, i16 0, i16 1772, i16 1772, i16 0, i16 1774, i16 1774, i16 0, i16 17311, i16 17205, i16 0, i16 1814, i16 1814, i16 0, i16 17325, i16 17148, i16 0, i16 1830, i16 1830, i16 0, i16 17427, i16 17220, i16 0, i16 1840, i16 1840, i16 0, i16 16470, i16 16579, i16 0, i16 16530, i16 16530, i16 0, i16 16532, i16 16532, i16 0, i16 16534, i16 16534, i16 0, i16 16630, i16 16630, i16 0, i16 16389, i16 16389, i16 0, i16 16637, i16 16637, i16 0, i16 16630, i16 16681, i16 0, i16 16638, i16 16638, i16 0, i16 16630, i16 16739, i16 0, i16 16639, i16 16639, i16 0, i16 16630, i16 16630, i16 16681, i16 0, i16 16389, i16 16389, i16 16389, i16 0, i16 16640, i16 16640, i16 16640, i16 0, i16 16630, i16 16630, i16 16739, i16 0, i16 16641, i16 16641, i16 16641, i16 0, i16 16681, i16 16718, i16 0, i16 16716, i16 16716, i16 0, i16 16769, i16 16642, i16 0, i16 16789, i16 16789, i16 0, i16 16791, i16 16579, i16 0, i16 16859, i16 16859, i16 0, i16 16892, i16 16917, i16 0, i16 16894, i16 16894, i16 0, i16 16892, i16 16892, i16 0, i16 16388, i16 16915, i16 0, i16 16916, i16 16916, i16 0, i16 16917, i16 16661, i16 0, i16 16934, i16 16934, i16 0, i16 18043, i16 17928, i16 0, i16 18093, i16 18093, i16 0, i16 18043, i16 17929, i16 0, i16 18094, i16 18094, i16 0, i16 18043, i16 17930, i16 0, i16 18095, i16 18095, i16 0, i16 18043, i16 17931, i16 0, i16 18096, i16 18096, i16 0, i16 18043, i16 17933, i16 0, i16 18097, i16 18097, i16 0, i16 18043, i16 17934, i16 0, i16 18098, i16 18098, i16 0, i16 18043, i16 17937, i16 0, i16 18043, i16 17938, i16 0, i16 18099, i16 18099, i16 0, i16 18043, i16 17939, i16 0, i16 18100, i16 18100, i16 0, i16 16510, i16 16788, i16 0, i16 16510, i16 16789, i16 0, i16 16510, i16 16790, i16 0, i16 16510, i16 16791, i16 0, i16 16510, i16 16792, i16 0, i16 16516, i16 16788, i16 0, i16 16516, i16 16789, i16 0, i16 16516, i16 16790, i16 0, i16 16516, i16 16791, i16 0, i16 16516, i16 16792, i16 0, i16 16522, i16 16788, i16 0, i16 16522, i16 16789, i16 0, i16 16522, i16 16790, i16 0, i16 16522, i16 16791, i16 0, i16 16522, i16 16792, i16 0, i16 16528, i16 16788, i16 0, i16 16528, i16 16789, i16 0, i16 16528, i16 16790, i16 0, i16 16528, i16 16791, i16 0, i16 16528, i16 16792, i16 0, i16 16534, i16 16788, i16 0, i16 16534, i16 16789, i16 0, i16 16534, i16 16790, i16 0, i16 16534, i16 16791, i16 0, i16 16534, i16 16792, i16 0, i16 16540, i16 16788, i16 0, i16 16540, i16 16789, i16 0, i16 16540, i16 16790, i16 0, i16 16540, i16 16791, i16 0, i16 16540, i16 16792, i16 0, i16 16546, i16 16788, i16 0, i16 16546, i16 16789, i16 0, i16 16546, i16 16790, i16 0, i16 16546, i16 16791, i16 0, i16 16546, i16 16792, i16 0, i16 16552, i16 16788, i16 0, i16 16552, i16 16789, i16 0, i16 16552, i16 16790, i16 0, i16 16552, i16 16791, i16 0, i16 16552, i16 16792, i16 0, i16 16558, i16 16788, i16 0, i16 16558, i16 16789, i16 0, i16 16558, i16 16790, i16 0, i16 16558, i16 16791, i16 0, i16 16558, i16 16792, i16 0, i16 16564, i16 16788, i16 0, i16 16564, i16 16789, i16 0, i16 16564, i16 16790, i16 0, i16 16564, i16 16791, i16 0, i16 16564, i16 16792, i16 0, i16 16570, i16 16788, i16 0, i16 16570, i16 16789, i16 0, i16 16570, i16 16790, i16 0, i16 16570, i16 16791, i16 0, i16 16570, i16 16792, i16 0, i16 16576, i16 16788, i16 0, i16 16576, i16 16789, i16 0, i16 16576, i16 16790, i16 0, i16 16576, i16 16791, i16 0, i16 16576, i16 16792, i16 0, i16 16582, i16 16788, i16 0, i16 16582, i16 16789, i16 0, i16 16582, i16 16790, i16 0, i16 16582, i16 16791, i16 0, i16 16582, i16 16792, i16 0, i16 16588, i16 16788, i16 0, i16 16588, i16 16789, i16 0, i16 16588, i16 16790, i16 0, i16 16588, i16 16791, i16 0, i16 16588, i16 16792, i16 0, i16 16594, i16 16788, i16 0, i16 16594, i16 16789, i16 0, i16 16594, i16 16790, i16 0, i16 16594, i16 16791, i16 0, i16 16594, i16 16792, i16 0, i16 16600, i16 16788, i16 0, i16 16600, i16 16789, i16 0, i16 16600, i16 16790, i16 0, i16 16600, i16 16791, i16 0, i16 16600, i16 16792, i16 0, i16 16606, i16 16788, i16 0, i16 16606, i16 16789, i16 0, i16 16606, i16 16790, i16 0, i16 16606, i16 16791, i16 0, i16 16606, i16 16792, i16 0, i16 16612, i16 16788, i16 0, i16 16612, i16 16789, i16 0, i16 16612, i16 16790, i16 0, i16 16612, i16 16791, i16 0, i16 16612, i16 16792, i16 0, i16 16618, i16 16788, i16 0, i16 16618, i16 16789, i16 0, i16 16618, i16 16790, i16 0, i16 16618, i16 16791, i16 0, i16 16618, i16 16792, i16 0, i16 16624, i16 16788, i16 0, i16 16624, i16 16789, i16 0, i16 16624, i16 16790, i16 0, i16 16624, i16 16791, i16 0, i16 16624, i16 16792, i16 0, i16 16630, i16 16788, i16 0, i16 16630, i16 16789, i16 0, i16 16630, i16 16790, i16 0, i16 16630, i16 16791, i16 0, i16 16630, i16 16792, i16 0, i16 16636, i16 16788, i16 0, i16 16636, i16 16789, i16 0, i16 16636, i16 16790, i16 0, i16 16636, i16 16791, i16 0, i16 16636, i16 16792, i16 0, i16 16642, i16 16788, i16 0, i16 16642, i16 16789, i16 0, i16 16642, i16 16790, i16 0, i16 16642, i16 16791, i16 0, i16 16642, i16 16792, i16 0, i16 16648, i16 16788, i16 0, i16 16648, i16 16789, i16 0, i16 16648, i16 16790, i16 0, i16 16648, i16 16791, i16 0, i16 16648, i16 16792, i16 0, i16 16654, i16 16788, i16 0, i16 16654, i16 16789, i16 0, i16 16654, i16 16790, i16 0, i16 16654, i16 16791, i16 0, i16 16654, i16 16792, i16 0, i16 16660, i16 16788, i16 0, i16 16660, i16 16789, i16 0, i16 16660, i16 16790, i16 0, i16 16660, i16 16791, i16 0, i16 16660, i16 16792, i16 0, i16 16666, i16 16788, i16 0, i16 16666, i16 16789, i16 0, i16 16666, i16 16790, i16 0, i16 16666, i16 16791, i16 0, i16 16666, i16 16792, i16 0, i16 16672, i16 16788, i16 0, i16 16672, i16 16789, i16 0, i16 16672, i16 16790, i16 0, i16 16672, i16 16791, i16 0, i16 16672, i16 16792, i16 0, i16 16678, i16 16788, i16 0, i16 16678, i16 16789, i16 0, i16 16678, i16 16790, i16 0, i16 16678, i16 16791, i16 0, i16 16678, i16 16792, i16 0, i16 16684, i16 16788, i16 0, i16 16684, i16 16789, i16 0, i16 16684, i16 16790, i16 0, i16 16684, i16 16791, i16 0, i16 16684, i16 16792, i16 0, i16 16690, i16 16788, i16 0, i16 16690, i16 16789, i16 0, i16 16690, i16 16790, i16 0, i16 16690, i16 16791, i16 0, i16 16690, i16 16792, i16 0, i16 16696, i16 16788, i16 0, i16 16696, i16 16789, i16 0, i16 16696, i16 16790, i16 0, i16 16696, i16 16791, i16 0, i16 16696, i16 16792, i16 0, i16 16702, i16 16788, i16 0, i16 16702, i16 16789, i16 0, i16 16702, i16 16790, i16 0, i16 16702, i16 16791, i16 0, i16 16702, i16 16792, i16 0, i16 16708, i16 16788, i16 0, i16 16708, i16 16789, i16 0, i16 16708, i16 16790, i16 0, i16 16708, i16 16791, i16 0, i16 16708, i16 16792, i16 0, i16 16714, i16 16788, i16 0, i16 16714, i16 16789, i16 0, i16 16714, i16 16790, i16 0, i16 16714, i16 16791, i16 0, i16 16714, i16 16792, i16 0, i16 16721, i16 16788, i16 0, i16 16721, i16 16789, i16 0, i16 16721, i16 16790, i16 0, i16 16721, i16 16791, i16 0, i16 16721, i16 16792, i16 0, i16 16728, i16 16788, i16 0, i16 16728, i16 16789, i16 0, i16 16728, i16 16790, i16 0, i16 16728, i16 16791, i16 0, i16 16728, i16 16792, i16 0, i16 16734, i16 16788, i16 0, i16 16734, i16 16789, i16 0, i16 16734, i16 16790, i16 0, i16 16734, i16 16791, i16 0, i16 16734, i16 16792, i16 0, i16 16740, i16 16788, i16 0, i16 16740, i16 16789, i16 0, i16 16740, i16 16790, i16 0, i16 16740, i16 16791, i16 0, i16 16740, i16 16792, i16 0, i16 16746, i16 16788, i16 0, i16 16746, i16 16789, i16 0, i16 16746, i16 16790, i16 0, i16 16746, i16 16791, i16 0, i16 16746, i16 16792, i16 0, i16 16752, i16 16788, i16 0, i16 16752, i16 16789, i16 0, i16 16752, i16 16790, i16 0, i16 16752, i16 16791, i16 0, i16 16752, i16 16792, i16 0, i16 16758, i16 16788, i16 0, i16 16758, i16 16789, i16 0, i16 16758, i16 16790, i16 0, i16 16758, i16 16791, i16 0, i16 16758, i16 16792, i16 0, i16 16764, i16 16788, i16 0, i16 16764, i16 16789, i16 0, i16 16764, i16 16790, i16 0, i16 16764, i16 16791, i16 0, i16 16764, i16 16792, i16 0, i16 16770, i16 16788, i16 0, i16 16770, i16 16789, i16 0, i16 16770, i16 16790, i16 0, i16 16770, i16 16791, i16 0, i16 16770, i16 16792, i16 0, i16 14, i16 17, i16 8, i16 13, i16 15, i16 6, i16 12, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5, i16 10, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9, i16 7, i16 11, i16 0, i16 0, i16 16, i16 3, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4, i16 0, i16 1, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 15, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 168, i16 173, i16 100, i16 105, i16 110, i16 116, i16 125, i16 131, i16 140, i16 144, i16 146, i16 148, i16 151, i16 154, i16 160, i16 163, i16 120, i16 124, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 26, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 82, i16 114, i16 5, i16 119, i16 0, i16 32, i16 0, i16 136, i16 111, i16 6, i16 17, i16 8, i16 167, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 16, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 36, i16 0, i16 37, i16 0, i16 0, i16 0, i16 0, i16 0, i16 38, i16 0, i16 0, i16 0, i16 0, i16 39, i16 0, i16 40, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 55, i16 123, i16 129, i16 134, i16 139, i16 0, i16 52, i16 99, i16 104, i16 109, i16 115, i16 0, i16 0, i16 0, i16 0, i16 0, i16 77, i16 85, i16 89, i16 0, i16 170, i16 174, i16 178, i16 180, i16 147, i16 0, i16 0, i16 0, i16 0, i16 0, i16 35, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 25, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 61, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 80, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 58, i16 0, i16 0, i16 12, i16 0, i16 0, i16 0, i16 28, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 159, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 143, i16 145, i16 0, i16 0, i16 0, i16 0, i16 172, i16 177, i16 0, i16 0, i16 0, i16 0, i16 47, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 41, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 191, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 13, i16 0, i16 24, i16 51, i16 87, i16 93, i16 102, i16 70, i16 142, i16 175, i16 0, i16 76, i16 90, i16 72, i16 49, i16 4, i16 92, i16 53, i16 96, i16 0, i16 54, i16 0, i16 30, i16 97, i16 18, i16 31, i16 0, i16 0, i16 0, i16 79, i16 91, i16 10, i16 45, i16 0, i16 0, i16 0, i16 158, i16 33, i16 155, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9, i16 184, i16 81, i16 189, i16 196, i16 64, i16 94, i16 75, i16 88, i16 98, i16 66, i16 46, i16 63, i16 187, i16 84, i16 0, i16 50, i16 95, i16 101, i16 106, i16 150, i16 162, i16 133, i16 138, i16 169, i16 192, i16 126, i16 83, i16 183, i16 153, i16 135, i16 179, i16 112, i16 117, i16 122, i16 128, i16 132, i16 185, i16 194, i16 156, i16 195, i16 186, i16 200, i16 67, i16 176, i16 149, i16 181, i16 188, i16 57, i16 141, i16 121, i16 127, i16 130, i16 137, i16 103, i16 107, i16 113, i16 118, i16 56, i16 108, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 152, i16 43, i16 34, i16 7, i16 44, i16 171, i16 0, i16 0, i16 0, i16 165, i16 42, i16 166, i16 0, i16 0, i16 59, i16 19, i16 197, i16 199, i16 22, i16 20, i16 23, i16 21, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 48, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 27, i16 0, i16 0, i16 0, i16 182, i16 198, i16 60, i16 190, i16 62, i16 193, i16 65, i16 157, i16 161, i16 164, i16 69, i16 68, i16 71, i16 78, i16 74, i16 86, i16 0, i16 2, i16 29, i16 3, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 14, i16 73, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1292, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1197, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1199, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 557, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 597, i16 598, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 691, i16 692, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1211, i16 1210, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 701, i16 702, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 731, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 223, i16 230, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 245, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1198, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 268, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1298, i16 1296, i16 1297, i16 1295, i16 0, i16 0, i16 0, i16 0, i16 1569, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1570, i16 1571, i16 1572, i16 1573, i16 0, i16 0, i16 0, i16 0, i16 1106, i16 1107, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1661, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 246, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 247, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 250, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 251, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 253, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 269, i16 0, i16 0, i16 0, i16 270, i16 0, i16 0, i16 0, i16 376, i16 378, i16 379, i16 380, i16 0, i16 0, i16 0, i16 263, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 266, i16 267, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1290, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 581, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 584, i16 583, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 609, i16 610, i16 611, i16 612, i16 0, i16 0, i16 0, i16 0, i16 152, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1207, i16 1206, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 189, i16 0, i16 0, i16 0, i16 244, i16 0, i16 0, i16 0, i16 1224, i16 0, i16 0, i16 1223, i16 0, i16 0, i16 0, i16 0, i16 1226, i16 0, i16 0, i16 1225, i16 0, i16 0, i16 0, i16 0, i16 1228, i16 0, i16 0, i16 1227, i16 0, i16 0, i16 0, i16 0, i16 1230, i16 0, i16 0, i16 1229, i16 0, i16 0, i16 0, i16 0, i16 1232, i16 0, i16 0, i16 1231, i16 0, i16 0, i16 0, i16 0, i16 1234, i16 0, i16 0, i16 1233, i16 0, i16 0, i16 0, i16 0, i16 1241, i16 1240, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1243, i16 1242, i16 1205, i16 1204, i16 0, i16 0, i16 0, i16 0, i16 1247, i16 1246, i16 0, i16 0, i16 1249, i16 1248, i16 0, i16 0, i16 226, i16 228, i16 225, i16 0, i16 0, i16 0, i16 0, i16 0, i16 760, i16 0, i16 734, i16 0, i16 748, i16 0, i16 0, i16 260, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 264, i16 265, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 554, i16 0, i16 0, i16 0, i16 0, i16 552, i16 0, i16 0, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 0, i16 1069, i16 1070, i16 1071, i16 1079, i16 1072, i16 1081, i16 1657, i16 0, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 0, i16 564, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1076, i16 0, i16 0, i16 0, i16 0, i16 0, i16 577, i16 0, i16 1367, i16 1368, i16 1369, i16 1370, i16 1371, i16 1372, i16 1373, i16 0, i16 1127, i16 1125, i16 1124, i16 1126, i16 1128, i16 1129, i16 1130, i16 0, i16 1142, i16 1140, i16 1139, i16 1141, i16 1143, i16 1144, i16 1145, i16 0, i16 1196, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 256, i16 257, i16 255, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1024, i16 984, i16 489, i16 409, i16 0, i16 0, i16 487, i16 407, i16 258, i16 261, i16 259, i16 262, i16 0, i16 0, i16 0, i16 0, i16 1027, i16 987, i16 492, i16 412, i16 1028, i16 988, i16 1029, i16 989, i16 773, i16 0, i16 775, i16 825, i16 771, i16 822, i16 749, i16 800, i16 774, i16 776, i16 746, i16 766, i16 779, i16 786, i16 790, i16 794, i16 1032, i16 992, i16 500, i16 420, i16 1033, i16 993, i16 503, i16 424, i16 781, i16 792, i16 768, i16 769, i16 767, i16 821, i16 808, i16 0, i16 1037, i16 535, i16 534, i16 536, i16 1043, i16 545, i16 550, i16 1002, i16 526, i16 449, i16 529, i16 452, i16 1039, i16 999, i16 1041, i16 1001, i16 1038, i16 998, i16 521, i16 444, i16 525, i16 448, i16 527, i16 450, i16 271, i16 575, i16 576, i16 1075, i16 578, i16 579, i16 580, i16 1077, i16 1040, i16 1000, i16 1042, i16 1003, i16 531, i16 454, i16 532, i16 455, i16 1555, i16 1557, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1300, i16 1299, i16 0, i16 0, i16 0, i16 0, i16 1293, i16 1291, i16 1045, i16 1006, i16 539, i16 462, i16 542, i16 465, i16 546, i16 470, i16 791, i16 793, i16 798, i16 801, i16 802, i16 803, i16 804, i16 805, i16 1049, i16 1051, i16 1053, i16 1055, i16 1057, i16 1059, i16 1061, i16 1063, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 538, i16 461, i16 540, i16 463, i16 1044, i16 1005, i16 537, i16 460, i16 1050, i16 1052, i16 1054, i16 1056, i16 1058, i16 1060, i16 1062, i16 1064, i16 1306, i16 1305, i16 1308, i16 1307, i16 0, i16 0, i16 0, i16 0, i16 796, i16 730, i16 732, i16 733, i16 735, i16 737, i16 739, i16 741, i16 1565, i16 1566, i16 0, i16 0, i16 0, i16 0, i16 589, i16 590, i16 543, i16 544, i16 1637, i16 181, i16 213, i16 182, i16 224, i16 151, i16 799, i16 809, i16 813, i16 797, i16 0, i16 0, i16 0, i16 0, i16 290, i16 291, i16 0, i16 292, i16 293, i16 294, i16 295, i16 296, i16 547, i16 549, i16 472, i16 1048, i16 1009, i16 1047, i16 1008, i16 0, i16 551, i16 1074, i16 553, i16 555, i16 556, i16 558, i16 559, i16 560, i16 807, i16 758, i16 811, i16 810, i16 814, i16 816, i16 820, i16 823, i16 297, i16 298, i16 299, i16 300, i16 0, i16 0, i16 0, i16 0, i16 1065, i16 1067, i16 272, i16 273, i16 274, i16 275, i16 0, i16 0, i16 1066, i16 1068, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 561, i16 1567, i16 1568, i16 0, i16 0, i16 0, i16 0, i16 0, i16 562, i16 563, i16 565, i16 567, i16 568, i16 569, i16 570, i16 571, i16 819, i16 778, i16 780, i16 782, i16 783, i16 785, i16 787, i16 789, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 566, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1078, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 824, i16 826, i16 795, i16 818, i16 806, i16 817, i16 827, i16 0, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1108, i16 1109, i16 1088, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 572, i16 573, i16 574, i16 0, i16 0, i16 0, i16 0, i16 0, i16 828, i16 829, i16 830, i16 831, i16 832, i16 833, i16 834, i16 835, i16 1344, i16 1345, i16 1346, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1089, i16 695, i16 696, i16 697, i16 698, i16 1090, i16 1091, i16 585, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 836, i16 837, i16 839, i16 840, i16 841, i16 842, i16 843, i16 844, i16 838, i16 1131, i16 1132, i16 1134, i16 1133, i16 0, i16 1135, i16 1136, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 586, i16 587, i16 588, i16 1092, i16 1093, i16 593, i16 594, i16 595, i16 1100, i16 1101, i16 675, i16 676, i16 677, i16 678, i16 0, i16 0, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 845, i16 846, i16 847, i16 848, i16 849, i16 850, i16 851, i16 852, i16 591, i16 592, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 0, i16 596, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 853, i16 854, i16 855, i16 1137, i16 856, i16 1138, i16 857, i16 858, i16 599, i16 600, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 1117, i16 1118, i16 859, i16 860, i16 861, i16 862, i16 863, i16 864, i16 865, i16 866, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 1374, i16 1375, i16 1376, i16 1377, i16 1378, i16 1379, i16 1380, i16 1381, i16 1119, i16 1120, i16 1121, i16 1122, i16 1123, i16 0, i16 0, i16 0, i16 608, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 1632, i16 523, i16 1633, i16 1634, i16 1635, i16 533, i16 541, i16 1636, i16 867, i16 868, i16 869, i16 870, i16 871, i16 872, i16 873, i16 874, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 1382, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 875, i16 876, i16 877, i16 878, i16 879, i16 880, i16 881, i16 882, i16 620, i16 621, i16 622, i16 625, i16 626, i16 627, i16 628, i16 631, i16 365, i16 160, i16 192, i16 194, i16 191, i16 195, i16 241, i16 185, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 1390, i16 1391, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1646, i16 446, i16 1647, i16 1648, i16 1649, i16 456, i16 464, i16 1650, i16 623, i16 624, i16 633, i16 634, i16 629, i16 630, i16 1098, i16 1099, i16 883, i16 884, i16 885, i16 1153, i16 886, i16 1154, i16 887, i16 888, i16 374, i16 375, i16 158, i16 157, i16 234, i16 236, i16 238, i16 161, i16 1398, i16 1399, i16 1400, i16 1401, i16 1402, i16 1403, i16 1404, i16 0, i16 632, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 1146, i16 1147, i16 1148, i16 1150, i16 1149, i16 0, i16 1151, i16 1152, i16 1658, i16 1659, i16 1660, i16 954, i16 957, i16 959, i16 961, i16 964, i16 383, i16 0, i16 0, i16 0, i16 387, i16 388, i16 389, i16 390, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 391, i16 392, i16 219, i16 217, i16 0, i16 178, i16 180, i16 0, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 1163, i16 1164, i16 1165, i16 0, i16 0, i16 0, i16 0, i16 0, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 403, i16 402, i16 404, i16 405, i16 415, i16 414, i16 991, i16 416, i16 150, i16 159, i16 172, i16 215, i16 193, i16 216, i16 214, i16 169, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 1179, i16 1178, i16 1201, i16 1200, i16 0, i16 0, i16 0, i16 0, i16 413, i16 1642, i16 421, i16 422, i16 1643, i16 431, i16 1644, i16 1645, i16 674, i16 1094, i16 1095, i16 1096, i16 1097, i16 679, i16 680, i16 681, i16 164, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 167, i16 384, i16 438, i16 176, i16 377, i16 381, i16 382, i16 162, i16 423, i16 505, i16 426, i16 508, i16 429, i16 506, i16 427, i16 509, i16 168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 170, i16 171, i16 0, i16 0, i16 173, i16 174, i16 0, i16 0, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 430, i16 507, i16 428, i16 512, i16 434, i16 514, i16 436, i16 513, i16 177, i16 179, i16 212, i16 218, i16 156, i16 155, i16 165, i16 163, i16 690, i16 1102, i16 1103, i16 1104, i16 1105, i16 693, i16 694, i16 1110, i16 435, i16 433, i16 1035, i16 995, i16 520, i16 443, i16 0, i16 0, i16 1203, i16 1202, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1209, i16 1208, i16 0, i16 0, i16 0, i16 0, i16 1245, i16 1244, i16 699, i16 700, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 955, i16 956, i16 958, i16 0, i16 960, i16 0, i16 962, i16 963, i16 190, i16 474, i16 477, i16 1624, i16 1625, i16 481, i16 1626, i16 1627, i16 703, i16 1652, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 1215, i16 1214, i16 1213, i16 1212, i16 0, i16 0, i16 0, i16 0, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 965, i16 966, i16 968, i16 969, i16 277, i16 278, i16 280, i16 281, i16 711, i16 712, i16 713, i16 1653, i16 715, i16 716, i16 717, i16 718, i16 967, i16 276, i16 279, i16 1552, i16 1553, i16 1554, i16 0, i16 0, i16 971, i16 970, i16 972, i16 973, i16 974, i16 975, i16 977, i16 978, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 719, i16 720, i16 721, i16 722, i16 1654, i16 724, i16 725, i16 726, i16 466, i16 467, i16 1651, i16 183, i16 240, i16 184, i16 229, i16 332, i16 727, i16 1655, i16 1656, i16 0, i16 0, i16 0, i16 0, i16 0, i16 983, i16 994, i16 440, i16 439, i16 441, i16 442, i16 996, i16 231, i16 476, i16 396, i16 1016, i16 976, i16 475, i16 395, i16 1019, i16 979, i16 222, i16 393, i16 397, i16 1638, i16 1639, i16 401, i16 1640, i16 1641, i16 738, i16 742, i16 745, i16 0, i16 755, i16 0, i16 765, i16 777, i16 227, i16 187, i16 394, i16 175, i16 239, i16 154, i16 188, i16 153, i16 483, i16 482, i16 484, i16 485, i16 495, i16 494, i16 1031, i16 496, i16 740, i16 788, i16 736, i16 784, i16 761, i16 812, i16 763, i16 815, i16 997, i16 458, i16 457, i16 459, i16 1004, i16 468, i16 473, i16 469, i16 743, i16 744, i16 747, i16 750, i16 751, i16 752, i16 753, i16 754, i16 488, i16 408, i16 486, i16 406, i16 1026, i16 986, i16 1025, i16 985, i16 233, i16 0, i16 0, i16 0, i16 235, i16 237, i16 0, i16 0, i16 493, i16 1628, i16 501, i16 502, i16 1629, i16 510, i16 1630, i16 1631, i16 497, i16 417, i16 499, i16 419, i16 0, i16 0, i16 498, i16 418, i16 242, i16 220, i16 385, i16 386, i16 221, i16 243, i16 186, i16 166, i16 1011, i16 1010, i16 1012, i16 1013, i16 1014, i16 1015, i16 1017, i16 1018, i16 756, i16 757, i16 0, i16 759, i16 762, i16 764, i16 770, i16 772, i16 248, i16 0, i16 0, i16 0, i16 252, i16 0, i16 0, i16 0, i16 1020, i16 980, i16 1022, i16 982, i16 1021, i16 981, i16 480, i16 400, i16 254, i16 0, i16 0, i16 0, i16 249, i16 0, i16 0, i16 0, i16 1023, i16 1034, i16 517, i16 516, i16 518, i16 519, i16 1036, i16 232, i16 8, i16 13, i16 9, i16 5, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 14, i16 7, i16 11, i16 3, i16 6, i16 0, i16 0, i16 0, i16 0, i16 10, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 81, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8, i16 42, i16 98, i16 109, i16 122, i16 130, i16 140, i16 151, i16 164, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 35, i16 0, i16 108, i16 0, i16 110, i16 120, i16 125, i16 133, i16 0, i16 0, i16 0, i16 0, i16 15, i16 0, i16 141, i16 148, i16 112, i16 117, i16 160, i16 139, i16 149, i16 57, i16 167, i16 170, i16 174, i16 47, i16 60, i16 61, i16 39, i16 0, i16 0, i16 11, i16 92, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 43, i16 18, i16 0, i16 0, i16 10, i16 12, i16 51, i16 119, i16 93, i16 169, i16 172, i16 96, i16 0, i16 0, i16 28, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 23, i16 9, i16 0, i16 14, i16 66, i16 0, i16 67, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 32, i16 75, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 46, i16 147, i16 152, i16 156, i16 31, i16 0, i16 0, i16 157, i16 161, i16 0, i16 36, i16 0, i16 0, i16 0, i16 0, i16 0, i16 37, i16 22, i16 176, i16 0, i16 0, i16 38, i16 181, i16 63, i16 70, i16 48, i16 17, i16 0, i16 73, i16 74, i16 0, i16 0, i16 52, i16 102, i16 135, i16 155, i16 114, i16 171, i16 101, i16 173, i16 111, i16 121, i16 94, i16 127, i16 142, i16 103, i16 143, i16 104, i16 175, i16 180, i16 89, i16 62, i16 124, i16 71, i16 80, i16 83, i16 20, i16 49, i16 166, i16 95, i16 7, i16 106, i16 165, i16 26, i16 55, i16 153, i16 179, i16 154, i16 182, i16 56, i16 40, i16 41, i16 77, i16 158, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 79, i16 86, i16 0, i16 76, i16 82, i16 88, i16 0, i16 59, i16 69, i16 85, i16 99, i16 116, i16 131, i16 58, i16 68, i16 84, i16 97, i16 115, i16 128, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 78, i16 50, i16 87, i16 27, i16 33, i16 34, i16 123, i16 0, i16 44, i16 16, i16 24, i16 0, i16 25, i16 0, i16 3, i16 0, i16 45, i16 105, i16 107, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 126, i16 54, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 144, i16 177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 13, i16 21, i16 19, i16 0, i16 0, i16 53, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 29, i16 30, i16 129, i16 137, i16 146, i16 138, i16 134, i16 0, i16 0, i16 159, i16 178, i16 90, i16 118, i16 132, i16 163, i16 64, i16 72, i16 91, i16 113, i16 162, i16 145, i16 65, i16 150, i16 168, i16 100, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 136, i16 5, i16 6, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 592, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 161, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 172, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 167, i16 168, i16 169, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 170, i16 0, i16 171, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 714, i16 715, i16 864, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1505, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 524, i16 0, i16 525, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 581, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1348, i16 0, i16 0, i16 0, i16 1349, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1923, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 526, i16 527, i16 528, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 427, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 343, i16 344, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 290, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 594, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 742, i16 743, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1924, i16 146, i16 0, i16 1925, i16 0, i16 1926, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 232, i16 233, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 234, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 520, i16 521, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 522, i16 523, i16 0, i16 0, i16 0, i16 0, i16 0, i16 345, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 823, i16 824, i16 0, i16 0, i16 0, i16 0, i16 1762, i16 1763, i16 1772, i16 1773, i16 1824, i16 1825, i16 0, i16 0, i16 0, i16 0, i16 323, i16 324, i16 325, i16 326, i16 0, i16 0, i16 0, i16 0, i16 327, i16 0, i16 328, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1371, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 153, i16 154, i16 0, i16 0, i16 0, i16 0, i16 155, i16 0, i16 0, i16 0, i16 156, i16 0, i16 0, i16 0, i16 0, i16 0, i16 157, i16 158, i16 1148, i16 159, i16 1158, i16 1164, i16 1170, i16 0, i16 1187, i16 0, i16 1200, i16 1213, i16 0, i16 0, i16 0, i16 0, i16 1701, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 546, i16 0, i16 0, i16 0, i16 547, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 329, i16 0, i16 330, i16 0, i16 0, i16 331, i16 0, i16 0, i16 0, i16 332, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 333, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 358, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 225, i16 226, i16 0, i16 0, i16 227, i16 0, i16 228, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 229, i16 0, i16 230, i16 0, i16 0, i16 0, i16 231, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 1733, i16 1735, i16 1737, i16 1739, i16 0, i16 0, i16 0, i16 517, i16 518, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 519, i16 0, i16 0, i16 1310, i16 1311, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1312, i16 1313, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1314, i16 1315, i16 1316, i16 1317, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1353, i16 0, i16 1355, i16 0, i16 0, i16 0, i16 1358, i16 0, i16 0, i16 0, i16 0, i16 1362, i16 1363, i16 1366, i16 0, i16 0, i16 593, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 339, i16 340, i16 0, i16 0, i16 341, i16 342, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 348, i16 0, i16 0, i16 0, i16 0, i16 0, i16 349, i16 350, i16 351, i16 352, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 173, i16 174, i16 175, i16 176, i16 177, i16 0, i16 0, i16 180, i16 181, i16 0, i16 0, i16 0, i16 178, i16 179, i16 0, i16 0, i16 499, i16 500, i16 0, i16 0, i16 0, i16 501, i16 0, i16 0, i16 502, i16 0, i16 503, i16 504, i16 0, i16 0, i16 0, i16 282, i16 0, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 811, i16 812, i16 0, i16 0, i16 0, i16 0, i16 0, i16 894, i16 895, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 304, i16 305, i16 306, i16 307, i16 0, i16 0, i16 308, i16 309, i16 1700, i16 310, i16 0, i16 0, i16 311, i16 312, i16 313, i16 0, i16 1351, i16 1352, i16 1354, i16 1356, i16 1357, i16 1359, i16 1361, i16 1365, i16 1372, i16 1375, i16 1380, i16 1385, i16 1390, i16 1395, i16 1400, i16 0, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 75, i16 78, i16 76, i16 79, i16 77, i16 604, i16 605, i16 0, i16 658, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 672, i16 673, i16 674, i16 675, i16 676, i16 1364, i16 677, i16 678, i16 679, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1234, i16 1230, i16 1224, i16 1236, i16 1288, i16 1244, i16 1246, i16 1248, i16 1258, i16 1264, i16 1276, i16 1254, i16 0, i16 1280, i16 1292, i16 0, i16 1235, i16 1231, i16 1225, i16 1237, i16 1289, i16 1245, i16 1247, i16 1249, i16 1259, i16 1265, i16 1277, i16 1255, i16 0, i16 1281, i16 1293, i16 0, i16 476, i16 477, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1525, i16 1527, i16 1529, i16 1531, i16 1533, i16 1535, i16 1538, i16 1540, i16 1542, i16 1544, i16 1547, i16 1549, i16 1551, i16 1553, i16 1555, i16 0, i16 1526, i16 1528, i16 1530, i16 1532, i16 1534, i16 1536, i16 1539, i16 1541, i16 1543, i16 1545, i16 1548, i16 1550, i16 1552, i16 1554, i16 1556, i16 0, i16 505, i16 0, i16 0, i16 506, i16 0, i16 507, i16 508, i16 0, i16 0, i16 509, i16 510, i16 0, i16 0, i16 511, i16 512, i16 513, i16 514, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 515, i16 516, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1796, i16 1795, i16 881, i16 882, i16 885, i16 886, i16 1801, i16 1802, i16 1803, i16 903, i16 904, i16 1806, i16 1807, i16 905, i16 906, i16 907, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 1033, i16 1034, i16 1035, i16 1036, i16 1027, i16 1028, i16 1031, i16 1032, i16 1037, i16 1038, i16 1047, i16 1048, i16 1049, i16 1050, i16 1057, i16 1058, i16 778, i16 779, i16 780, i16 781, i16 782, i16 783, i16 784, i16 785, i16 870, i16 871, i16 876, i16 877, i16 972, i16 973, i16 966, i16 967, i16 529, i16 0, i16 530, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 0, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 1557, i16 1560, i16 1562, i16 1564, i16 1566, i16 1568, i16 1570, i16 1572, i16 1574, i16 1576, i16 1578, i16 1580, i16 1582, i16 1584, i16 1586, i16 1588, i16 1558, i16 1561, i16 1563, i16 1565, i16 1567, i16 1569, i16 1571, i16 1573, i16 1575, i16 1577, i16 1579, i16 1581, i16 1583, i16 1585, i16 1587, i16 1589, i16 279, i16 280, i16 281, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1818, i16 1819, i16 1830, i16 1831, i16 1007, i16 1008, i16 1832, i16 1833, i16 1013, i16 1014, i16 1834, i16 1835, i16 1029, i16 1030, i16 1838, i16 1839, i16 1055, i16 1056, i16 1098, i16 1099, i16 1090, i16 1091, i16 1100, i16 1101, i16 1088, i16 1089, i16 1096, i16 1097, i16 1852, i16 1853, i16 1854, i16 1855, i16 291, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 292, i16 0, i16 293, i16 0, i16 294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 548, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 0, i16 0, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 1318, i16 1319, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 295, i16 0, i16 296, i16 297, i16 0, i16 298, i16 299, i16 300, i16 301, i16 0, i16 0, i16 302, i16 0, i16 0, i16 0, i16 303, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 1836, i16 1837, i16 1053, i16 1054, i16 1045, i16 1046, i16 1051, i16 1052, i16 1086, i16 1087, i16 1846, i16 1847, i16 1066, i16 1067, i16 1074, i16 1075, i16 816, i16 817, i16 818, i16 819, i16 820, i16 1042, i16 1026, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 0, i16 0, i16 0, i16 0, i16 571, i16 0, i16 0, i16 0, i16 1844, i16 1845, i16 1094, i16 1095, i16 1862, i16 1863, i16 1126, i16 1127, i16 1128, i16 1877, i16 1878, i16 1881, i16 1882, i16 1879, i16 1880, i16 1040, i16 1590, i16 1592, i16 1594, i16 1596, i16 1598, i16 1600, i16 1602, i16 1604, i16 1606, i16 1608, i16 1610, i16 1612, i16 1614, i16 1616, i16 1618, i16 1620, i16 1591, i16 1593, i16 1595, i16 1597, i16 1599, i16 1601, i16 1603, i16 1605, i16 1607, i16 1609, i16 1611, i16 1613, i16 1615, i16 1617, i16 1619, i16 1621, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 314, i16 0, i16 0, i16 0, i16 0, i16 315, i16 0, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 0, i16 322, i16 0, i16 572, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 829, i16 830, i16 1790, i16 1791, i16 840, i16 841, i16 848, i16 849, i16 872, i16 873, i16 1799, i16 1800, i16 858, i16 859, i16 878, i16 879, i16 833, i16 834, i16 844, i16 845, i16 846, i16 847, i16 842, i16 843, i16 850, i16 851, i16 838, i16 839, i16 874, i16 875, i16 868, i16 869, i16 1860, i16 1861, i16 1858, i16 1859, i16 1864, i16 1865, i16 1866, i16 1867, i16 1868, i16 1869, i16 1121, i16 1122, i16 1119, i16 1120, i16 1134, i16 1135, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1350, i16 1452, i16 1457, i16 1462, i16 1467, i16 1472, i16 1477, i16 1482, i16 1487, i16 1490, i16 1493, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 74, i16 87, i16 120, i16 122, i16 119, i16 123, i16 143, i16 114, i16 94, i16 116, i16 683, i16 104, i16 141, i16 82, i16 117, i16 81, i16 1103, i16 0, i16 0, i16 0, i16 0, i16 1142, i16 1143, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1360, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1370, i16 0, i16 1622, i16 1624, i16 1626, i16 1628, i16 1630, i16 1632, i16 1634, i16 1636, i16 1638, i16 1640, i16 1642, i16 1644, i16 1646, i16 1648, i16 1650, i16 1652, i16 1367, i16 1368, i16 1369, i16 1373, i16 1374, i16 1376, i16 1377, i16 1378, i16 1379, i16 1381, i16 1382, i16 1383, i16 1384, i16 1386, i16 1387, i16 1388, i16 1623, i16 1625, i16 1627, i16 1629, i16 1631, i16 1633, i16 1635, i16 1637, i16 1639, i16 1641, i16 1643, i16 1645, i16 1647, i16 1649, i16 1651, i16 1653, i16 1112, i16 1113, i16 1124, i16 1125, i16 1136, i16 1137, i16 1130, i16 1131, i16 1132, i16 1133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 92, i16 1953, i16 730, i16 1954, i16 1955, i16 765, i16 810, i16 822, i16 837, i16 853, i16 884, i16 889, i16 1956, i16 919, i16 1957, i16 942, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 1887, i16 1810, i16 944, i16 1816, i16 952, i16 1820, i16 1828, i16 134, i16 1822, i16 1062, i16 1842, i16 1070, i16 1848, i16 1872, i16 1840, i16 1041, i16 1888, i16 1811, i16 945, i16 1817, i16 953, i16 1821, i16 1829, i16 133, i16 1823, i16 1063, i16 1843, i16 1071, i16 1849, i16 1873, i16 1841, i16 1129, i16 353, i16 0, i16 354, i16 0, i16 0, i16 355, i16 0, i16 0, i16 1889, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 865, i16 964, i16 965, i16 1072, i16 1073, i16 1076, i16 1077, i16 1078, i16 1079, i16 1082, i16 1083, i16 1080, i16 1081, i16 0, i16 718, i16 719, i16 356, i16 357, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 359, i16 360, i16 361, i16 362, i16 0, i16 0, i16 363, i16 364, i16 365, i16 366, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1389, i16 1391, i16 1392, i16 1393, i16 1394, i16 1396, i16 1397, i16 1398, i16 1399, i16 1401, i16 1402, i16 1404, i16 1405, i16 1407, i16 1408, i16 1410, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 1905, i16 445, i16 446, i16 1906, i16 447, i16 1907, i16 448, i16 449, i16 1908, i16 450, i16 451, i16 1909, i16 452, i16 453, i16 454, i16 1910, i16 1138, i16 1139, i16 1140, i16 1141, i16 1144, i16 1145, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 118, i16 1948, i16 729, i16 1949, i16 1950, i16 764, i16 809, i16 821, i16 836, i16 1794, i16 883, i16 888, i16 1951, i16 918, i16 1952, i16 941, i16 1654, i16 1656, i16 1658, i16 1660, i16 1662, i16 1664, i16 1666, i16 1668, i16 1670, i16 1672, i16 1674, i16 1676, i16 1678, i16 1680, i16 1682, i16 1684, i16 1655, i16 1657, i16 1659, i16 1661, i16 1663, i16 1665, i16 1667, i16 1669, i16 1671, i16 1673, i16 1675, i16 1677, i16 1679, i16 1681, i16 1683, i16 1685, i16 1911, i16 455, i16 456, i16 1912, i16 457, i16 458, i16 459, i16 1913, i16 1914, i16 460, i16 461, i16 1915, i16 462, i16 463, i16 464, i16 1916, i16 890, i16 891, i16 896, i16 897, i16 898, i16 899, i16 909, i16 910, i16 911, i16 912, i16 915, i16 916, i16 913, i16 914, i16 920, i16 921, i16 1403, i16 1406, i16 1409, i16 1412, i16 1417, i16 1422, i16 1427, i16 1432, i16 1437, i16 1442, i16 1447, i16 0, i16 0, i16 0, i16 0, i16 0, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 1411, i16 1413, i16 1414, i16 1415, i16 1416, i16 1418, i16 1419, i16 1420, i16 1421, i16 1423, i16 1424, i16 1425, i16 1426, i16 1428, i16 1429, i16 1430, i16 135, i16 334, i16 0, i16 0, i16 137, i16 139, i16 0, i16 0, i16 0, i16 0, i16 335, i16 336, i16 0, i16 0, i16 337, i16 338, i16 908, i16 1804, i16 1805, i16 1808, i16 1809, i16 1812, i16 1813, i16 929, i16 930, i16 939, i16 1814, i16 1815, i16 1826, i16 1827, i16 948, i16 949, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 655, i16 656, i16 657, i16 0, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 144, i16 132, i16 1750, i16 1751, i16 91, i16 145, i16 115, i16 96, i16 97, i16 1749, i16 943, i16 105, i16 1734, i16 1736, i16 1738, i16 89, i16 1686, i16 1688, i16 1690, i16 1692, i16 1537, i16 1546, i16 1559, i16 0, i16 0, i16 0, i16 0, i16 577, i16 578, i16 579, i16 580, i16 0, i16 1175, i16 1147, i16 1151, i16 1153, i16 1155, i16 1157, i16 1161, i16 1163, i16 1167, i16 1169, i16 1176, i16 1178, i16 1180, i16 1182, i16 1184, i16 1186, i16 1431, i16 1433, i16 1434, i16 1435, i16 1436, i16 1438, i16 1439, i16 1440, i16 1441, i16 1443, i16 1444, i16 1445, i16 1446, i16 1448, i16 1449, i16 1450, i16 1687, i16 1689, i16 1691, i16 1693, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 573, i16 574, i16 575, i16 576, i16 0, i16 922, i16 923, i16 924, i16 925, i16 931, i16 932, i16 933, i16 934, i16 937, i16 938, i16 935, i16 936, i16 968, i16 969, i16 970, i16 971, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 0, i16 0, i16 0, i16 0, i16 160, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1697, i16 86, i16 101, i16 127, i16 121, i16 128, i16 126, i16 98, i16 106, i16 108, i16 124, i16 130, i16 83, i16 1698, i16 90, i16 1699, i16 162, i16 163, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 164, i16 165, i16 166, i16 1190, i16 1192, i16 0, i16 1194, i16 1197, i16 1199, i16 1206, i16 1208, i16 1210, i16 1212, i16 1171, i16 1201, i16 1150, i16 1160, i16 1166, i16 1173, i16 1191, i16 1193, i16 1196, i16 1195, i16 1198, i16 1202, i16 1207, i16 1209, i16 1211, i16 1214, i16 1174, i16 1204, i16 1189, i16 1203, i16 1215, i16 0, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 1717, i16 1718, i16 1451, i16 1453, i16 1454, i16 1455, i16 1456, i16 1458, i16 1459, i16 1460, i16 1461, i16 1463, i16 1464, i16 1465, i16 1466, i16 1468, i16 1469, i16 1470, i16 428, i16 1890, i16 429, i16 1891, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 1892, i16 1893, i16 1894, i16 684, i16 1758, i16 702, i16 722, i16 1764, i16 1760, i16 1770, i16 1780, i16 766, i16 1784, i16 774, i16 788, i16 854, i16 1797, i16 862, i16 866, i16 685, i16 1759, i16 703, i16 723, i16 1765, i16 1761, i16 1771, i16 1781, i16 767, i16 1785, i16 775, i16 789, i16 855, i16 1798, i16 863, i16 867, i16 686, i16 687, i16 700, i16 701, i16 768, i16 769, i16 772, i16 773, i16 856, i16 857, i16 860, i16 861, i16 946, i16 947, i16 950, i16 951, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 798, i16 799, i16 790, i16 791, i16 792, i16 793, i16 776, i16 777, i16 1205, i16 1149, i16 1152, i16 1154, i16 1156, i16 1159, i16 1162, i16 1165, i16 1168, i16 1172, i16 1177, i16 1179, i16 1181, i16 1183, i16 1185, i16 1188, i16 182, i16 0, i16 0, i16 183, i16 184, i16 185, i16 186, i16 187, i16 99, i16 100, i16 188, i16 189, i16 102, i16 103, i16 190, i16 191, i16 439, i16 1895, i16 1896, i16 1897, i16 440, i16 1898, i16 1899, i16 1900, i16 441, i16 1901, i16 1902, i16 1903, i16 442, i16 1904, i16 443, i16 444, i16 1719, i16 1720, i16 1721, i16 1722, i16 1723, i16 1724, i16 1725, i16 1726, i16 1727, i16 1728, i16 1729, i16 1730, i16 475, i16 0, i16 0, i16 0, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 984, i16 985, i16 986, i16 987, i16 988, i16 989, i16 1471, i16 1473, i16 1474, i16 1475, i16 1476, i16 1478, i16 1479, i16 1480, i16 1481, i16 1483, i16 1484, i16 1485, i16 1486, i16 1488, i16 1489, i16 1491, i16 192, i16 193, i16 1702, i16 0, i16 0, i16 194, i16 195, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1216, i16 1218, i16 1220, i16 1222, i16 1228, i16 1232, i16 1238, i16 1240, i16 1242, i16 1250, i16 1252, i16 1256, i16 1260, i16 1262, i16 1266, i16 1268, i16 1217, i16 1219, i16 1221, i16 1223, i16 1229, i16 1233, i16 1239, i16 1241, i16 1243, i16 1251, i16 1253, i16 1257, i16 1261, i16 1263, i16 1267, i16 1269, i16 1731, i16 1740, i16 1741, i16 1742, i16 1743, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 85, i16 84, i16 136, i16 138, i16 140, i16 88, i16 196, i16 0, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 0, i16 208, i16 0, i16 1732, i16 0, i16 0, i16 0, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 131, i16 129, i16 209, i16 107, i16 109, i16 0, i16 1226, i16 1227, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 716, i16 717, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 746, i16 747, i16 753, i16 754, i16 755, i16 756, i16 761, i16 762, i16 465, i16 466, i16 1917, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 1918, i16 0, i16 0, i16 0, i16 0, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 0, i16 724, i16 725, i16 720, i16 721, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 690, i16 691, i16 980, i16 981, i16 978, i16 979, i16 997, i16 998, i16 999, i16 1000, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1492, i16 1494, i16 1495, i16 1496, i16 1497, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 0, i16 0, i16 0, i16 726, i16 727, i16 1774, i16 1775, i16 831, i16 832, i16 827, i16 828, i16 892, i16 893, i16 974, i16 975, i16 976, i16 977, i16 0, i16 0, i16 982, i16 983, i16 1921, i16 1922, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1102, i16 478, i16 0, i16 0, i16 0, i16 479, i16 0, i16 0, i16 0, i16 480, i16 0, i16 0, i16 0, i16 481, i16 0, i16 0, i16 0, i16 990, i16 991, i16 992, i16 993, i16 1092, i16 1093, i16 1084, i16 1085, i16 1104, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1503, i16 1504, i16 1506, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 482, i16 483, i16 484, i16 485, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 995, i16 1002, i16 1005, i16 1024, i16 1043, i16 1060, i16 1850, i16 1856, i16 1117, i16 1870, i16 1875, i16 110, i16 125, i16 111, i16 93, i16 80, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 996, i16 1003, i16 1006, i16 1025, i16 1044, i16 1061, i16 1851, i16 1857, i16 1118, i16 1871, i16 1876, i16 112, i16 142, i16 113, i16 95, i16 622, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 494, i16 495, i16 496, i16 0, i16 497, i16 498, i16 0, i16 0, i16 1768, i16 1769, i16 688, i16 689, i16 1766, i16 1767, i16 1776, i16 1777, i16 740, i16 741, i16 744, i16 745, i16 1778, i16 1779, i16 751, i16 752, i16 235, i16 0, i16 236, i16 0, i16 0, i16 0, i16 237, i16 0, i16 0, i16 0, i16 0, i16 238, i16 0, i16 0, i16 0, i16 0, i16 1009, i16 1010, i16 1011, i16 1012, i16 1064, i16 1065, i16 1068, i16 1069, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 757, i16 758, i16 759, i16 760, i16 804, i16 805, i16 802, i16 803, i16 806, i16 807, i16 794, i16 795, i16 800, i16 801, i16 813, i16 814, i16 1270, i16 1272, i16 1274, i16 1278, i16 1282, i16 1284, i16 1286, i16 1290, i16 1294, i16 1296, i16 1299, i16 1300, i16 1303, i16 1304, i16 1306, i16 1308, i16 1782, i16 1783, i16 1788, i16 1789, i16 770, i16 771, i16 796, i16 797, i16 1786, i16 1787, i16 786, i16 787, i16 825, i16 826, i16 1792, i16 1793, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 1271, i16 1273, i16 1275, i16 1279, i16 1283, i16 1285, i16 1287, i16 1291, i16 1295, i16 1297, i16 1298, i16 1301, i16 1302, i16 1305, i16 1307, i16 1309, i16 9, i16 11, i16 8, i16 5, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12, i16 7, i16 13, i16 3, i16 6, i16 0, i16 0, i16 0, i16 0, i16 14, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 181, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8, i16 38, i16 76, i16 84, i16 94, i16 104, i16 117, i16 126, i16 135, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 36, i16 0, i16 170, i16 0, i16 171, i16 176, i16 66, i16 74, i16 0, i16 0, i16 0, i16 0, i16 13, i16 0, i16 81, i16 86, i16 49, i16 50, i16 112, i16 82, i16 96, i16 51, i16 118, i16 120, i16 123, i16 40, i16 54, i16 134, i16 41, i16 0, i16 0, i16 11, i16 165, i16 0, i16 0, i16 0, i16 0, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 46, i16 18, i16 0, i16 0, i16 9, i16 12, i16 47, i16 90, i16 67, i16 138, i16 141, i16 71, i16 0, i16 0, i16 26, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 22, i16 10, i16 0, i16 14, i16 142, i16 0, i16 145, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 34, i16 150, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 39, i16 169, i16 98, i16 100, i16 29, i16 0, i16 0, i16 147, i16 110, i16 0, i16 37, i16 0, i16 0, i16 0, i16 0, i16 0, i16 32, i16 21, i16 65, i16 0, i16 0, i16 33, i16 122, i16 129, i16 136, i16 57, i16 17, i16 0, i16 139, i16 140, i16 0, i16 0, i16 55, i16 127, i16 149, i16 128, i16 151, i16 56, i16 44, i16 45, i16 172, i16 131, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 173, i16 179, i16 0, i16 61, i16 175, i16 99, i16 146, i16 180, i16 167, i16 160, i16 168, i16 63, i16 73, i16 97, i16 83, i16 106, i16 52, i16 108, i16 53, i16 132, i16 154, i16 68, i16 93, i16 116, i16 148, i16 70, i16 95, i16 20, i16 62, i16 158, i16 107, i16 7, i16 89, i16 133, i16 25, i16 80, i16 85, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 109, i16 174, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 19, i16 16, i16 0, i16 0, i16 48, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 27, i16 28, i16 103, i16 114, i16 121, i16 115, i16 91, i16 0, i16 0, i16 125, i16 155, i16 72, i16 101, i16 124, i16 157, i16 64, i16 79, i16 119, i16 137, i16 130, i16 111, i16 161, i16 143, i16 163, i16 113, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 92, i16 5, i16 6, i16 3, i16 144, i16 58, i16 152, i16 30, i16 31, i16 35, i16 78, i16 0, i16 42, i16 15, i16 23, i16 0, i16 24, i16 0, i16 4, i16 0, i16 43, i16 69, i16 166, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 153, i16 156, i16 159, i16 0, i16 60, i16 164, i16 178, i16 77, i16 88, i16 105, i16 59, i16 162, i16 177, i16 75, i16 87, i16 102, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 831, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1251, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 842, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 979, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 837, i16 838, i16 839, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 840, i16 0, i16 841, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 121, i16 122, i16 311, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1697, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1539, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1183, i16 0, i16 1184, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1240, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1540, i16 0, i16 0, i16 0, i16 1541, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1058, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1185, i16 1186, i16 1187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 975, i16 976, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 816, i16 811, i16 819, i16 818, i16 800, i16 821, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 929, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1253, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 815, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 167, i16 168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 771, i16 772, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 877, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1179, i16 1180, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1181, i16 1182, i16 0, i16 0, i16 0, i16 0, i16 0, i16 977, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 978, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 260, i16 261, i16 0, i16 0, i16 0, i16 0, i16 125, i16 126, i16 148, i16 149, i16 450, i16 451, i16 0, i16 0, i16 0, i16 0, i16 1563, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 823, i16 824, i16 0, i16 0, i16 0, i16 0, i16 825, i16 0, i16 0, i16 0, i16 826, i16 0, i16 0, i16 0, i16 0, i16 0, i16 827, i16 828, i16 1340, i16 829, i16 1350, i16 1356, i16 1362, i16 0, i16 1379, i16 0, i16 1392, i16 1405, i16 0, i16 0, i16 0, i16 0, i16 946, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 961, i16 962, i16 963, i16 964, i16 0, i16 0, i16 0, i16 0, i16 803, i16 0, i16 965, i16 0, i16 0, i16 0, i16 0, i16 804, i16 0, i16 805, i16 0, i16 0, i16 806, i16 0, i16 0, i16 0, i16 802, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 808, i16 0, i16 876, i16 0, i16 0, i16 0, i16 809, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 878, i16 879, i16 880, i16 881, i16 882, i16 883, i16 884, i16 885, i16 682, i16 684, i16 686, i16 688, i16 0, i16 0, i16 0, i16 0, i16 1205, i16 0, i16 0, i16 0, i16 1206, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 966, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 989, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 767, i16 768, i16 0, i16 0, i16 769, i16 0, i16 770, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1545, i16 0, i16 1547, i16 0, i16 0, i16 0, i16 1550, i16 0, i16 0, i16 0, i16 0, i16 1554, i16 1555, i16 1558, i16 0, i16 0, i16 79, i16 80, i16 81, i16 82, i16 83, i16 0, i16 0, i16 84, i16 85, i16 0, i16 0, i16 0, i16 843, i16 844, i16 0, i16 0, i16 1158, i16 1159, i16 0, i16 0, i16 0, i16 1160, i16 0, i16 0, i16 1161, i16 0, i16 1162, i16 1163, i16 0, i16 0, i16 0, i16 0, i16 1176, i16 1177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1178, i16 0, i16 0, i16 971, i16 972, i16 0, i16 0, i16 973, i16 974, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 980, i16 0, i16 0, i16 0, i16 0, i16 0, i16 981, i16 982, i16 983, i16 984, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1502, i16 1503, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1504, i16 1505, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1506, i16 1507, i16 1508, i16 1509, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1252, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1543, i16 1544, i16 1546, i16 1548, i16 1549, i16 1551, i16 1553, i16 1557, i16 1564, i16 1567, i16 1572, i16 1577, i16 1582, i16 1587, i16 1592, i16 0, i16 1317, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1092, i16 1093, i16 0, i16 1095, i16 0, i16 1097, i16 1098, i16 0, i16 1100, i16 1101, i16 0, i16 1103, i16 1104, i16 1105, i16 0, i16 0, i16 1108, i16 1109, i16 0, i16 1111, i16 1112, i16 1113, i16 0, i16 0, i16 1116, i16 1117, i16 0, i16 1119, i16 1120, i16 1121, i16 0, i16 0, i16 1135, i16 1136, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 391, i16 412, i16 410, i16 420, i16 440, i16 434, i16 791, i16 448, i16 556, i16 554, i16 564, i16 570, i16 646, i16 550, i16 531, i16 0, i16 392, i16 413, i16 411, i16 421, i16 441, i16 435, i16 787, i16 449, i16 557, i16 555, i16 565, i16 571, i16 647, i16 551, i16 653, i16 0, i16 1164, i16 0, i16 0, i16 1165, i16 0, i16 1166, i16 1167, i16 0, i16 0, i16 1168, i16 1169, i16 0, i16 0, i16 1170, i16 1171, i16 0, i16 1426, i16 1422, i16 1416, i16 1428, i16 1480, i16 1436, i16 1438, i16 1440, i16 1450, i16 1456, i16 1468, i16 1446, i16 0, i16 1472, i16 1484, i16 0, i16 1427, i16 1423, i16 1417, i16 1429, i16 1481, i16 1437, i16 1439, i16 1441, i16 1451, i16 1457, i16 1469, i16 1447, i16 0, i16 1473, i16 1485, i16 0, i16 921, i16 0, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 943, i16 735, i16 944, i16 945, i16 0, i16 0, i16 793, i16 947, i16 847, i16 788, i16 0, i16 0, i16 949, i16 950, i16 951, i16 0, i16 1717, i16 1719, i16 1721, i16 1723, i16 1725, i16 1727, i16 1730, i16 1732, i16 1734, i16 1736, i16 1739, i16 1741, i16 1743, i16 1745, i16 1747, i16 0, i16 1718, i16 1720, i16 1722, i16 1724, i16 1726, i16 1728, i16 1731, i16 1733, i16 1735, i16 1737, i16 1740, i16 1742, i16 1744, i16 1746, i16 1748, i16 0, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 707, i16 710, i16 708, i16 711, i16 709, i16 1263, i16 1264, i16 0, i16 248, i16 249, i16 0, i16 0, i16 0, i16 0, i16 0, i16 345, i16 346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 517, i16 518, i16 519, i16 520, i16 513, i16 514, i16 527, i16 528, i16 521, i16 522, i16 537, i16 538, i16 539, i16 540, i16 547, i16 548, i16 773, i16 0, i16 774, i16 0, i16 0, i16 0, i16 775, i16 0, i16 0, i16 0, i16 0, i16 776, i16 0, i16 0, i16 0, i16 0, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 1037, i16 1038, i16 1039, i16 1040, i16 1041, i16 1042, i16 1043, i16 1044, i16 1045, i16 1542, i16 1644, i16 1649, i16 1654, i16 1659, i16 1664, i16 1669, i16 1674, i16 1679, i16 1682, i16 1685, i16 1690, i16 1691, i16 1692, i16 1693, i16 1694, i16 268, i16 269, i16 272, i16 273, i16 281, i16 282, i16 289, i16 290, i16 319, i16 320, i16 329, i16 330, i16 305, i16 306, i16 327, i16 328, i16 780, i16 0, i16 985, i16 0, i16 0, i16 986, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 525, i16 526, i16 543, i16 544, i16 535, i16 536, i16 541, i16 542, i16 584, i16 585, i16 594, i16 595, i16 560, i16 561, i16 568, i16 569, i16 1552, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1562, i16 0, i16 274, i16 275, i16 285, i16 286, i16 287, i16 288, i16 283, i16 284, i16 291, i16 292, i16 279, i16 280, i16 321, i16 322, i16 315, i16 316, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1046, i16 1047, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 0, i16 0, i16 0, i16 0, i16 1814, i16 1816, i16 1818, i16 1820, i16 1822, i16 1824, i16 1826, i16 1828, i16 1830, i16 1832, i16 1834, i16 1836, i16 1838, i16 1840, i16 1842, i16 1844, i16 1559, i16 1560, i16 1561, i16 1565, i16 1566, i16 1568, i16 1569, i16 1570, i16 1571, i16 1573, i16 1574, i16 1575, i16 1576, i16 1578, i16 1579, i16 1580, i16 1815, i16 1817, i16 1819, i16 1821, i16 1823, i16 1825, i16 1827, i16 1829, i16 1831, i16 1833, i16 1835, i16 1837, i16 1839, i16 1841, i16 1843, i16 1845, i16 795, i16 784, i16 0, i16 0, i16 796, i16 797, i16 0, i16 0, i16 0, i16 0, i16 967, i16 968, i16 0, i16 0, i16 969, i16 970, i16 545, i16 546, i16 598, i16 599, i16 588, i16 589, i16 600, i16 601, i16 586, i16 587, i16 596, i16 597, i16 617, i16 618, i16 619, i16 620, i16 1314, i16 1315, i16 1316, i16 0, i16 1318, i16 801, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1059, i16 0, i16 1061, i16 0, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1070, i16 1071, i16 0, i16 0, i16 0, i16 1060, i16 1062, i16 1072, i16 1073, i16 1074, i16 1076, i16 1077, i16 1078, i16 1080, i16 1081, i16 1082, i16 1084, i16 1085, i16 1086, i16 1088, i16 1091, i16 807, i16 794, i16 699, i16 700, i16 814, i16 766, i16 762, i16 822, i16 817, i16 698, i16 409, i16 786, i16 683, i16 685, i16 687, i16 716, i16 1581, i16 1583, i16 1584, i16 1585, i16 1586, i16 1588, i16 1589, i16 1590, i16 1591, i16 1593, i16 1594, i16 1596, i16 1597, i16 1599, i16 1600, i16 1602, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1556, i16 1335, i16 1336, i16 1337, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1075, i16 0, i16 0, i16 0, i16 1079, i16 0, i16 0, i16 0, i16 1083, i16 0, i16 0, i16 0, i16 1087, i16 0, i16 1089, i16 1090, i16 1846, i16 1848, i16 1850, i16 1852, i16 1854, i16 1856, i16 1858, i16 1860, i16 1862, i16 1864, i16 1866, i16 1868, i16 1870, i16 1872, i16 1874, i16 1876, i16 1847, i16 1849, i16 1851, i16 1853, i16 1855, i16 1857, i16 1859, i16 1861, i16 1863, i16 1865, i16 1867, i16 1869, i16 1871, i16 1873, i16 1875, i16 1877, i16 312, i16 432, i16 433, i16 566, i16 567, i16 572, i16 573, i16 574, i16 575, i16 578, i16 579, i16 576, i16 577, i16 0, i16 131, i16 132, i16 1595, i16 1598, i16 1601, i16 1604, i16 1609, i16 1614, i16 1619, i16 1624, i16 1629, i16 1634, i16 1639, i16 0, i16 0, i16 0, i16 0, i16 0, i16 830, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 832, i16 833, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 834, i16 835, i16 836, i16 323, i16 324, i16 332, i16 333, i16 336, i16 337, i16 349, i16 350, i16 354, i16 357, i16 358, i16 367, i16 368, i16 359, i16 360, i16 361, i16 1603, i16 1605, i16 1606, i16 1607, i16 1608, i16 1610, i16 1611, i16 1612, i16 1613, i16 1615, i16 1616, i16 1617, i16 1618, i16 1620, i16 1621, i16 1622, i16 580, i16 581, i16 592, i16 593, i16 628, i16 629, i16 650, i16 651, i16 652, i16 665, i16 666, i16 669, i16 670, i16 678, i16 679, i16 530, i16 1094, i16 1096, i16 1099, i16 1102, i16 1106, i16 1107, i16 1110, i16 1114, i16 1115, i16 1118, i16 1122, i16 1125, i16 1134, i16 0, i16 0, i16 0, i16 77, i16 718, i16 764, i16 756, i16 810, i16 765, i16 739, i16 757, i16 820, i16 761, i16 88, i16 785, i16 781, i16 733, i16 760, i16 812, i16 845, i16 846, i16 948, i16 0, i16 0, i16 848, i16 849, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 78, i16 717, i16 720, i16 798, i16 759, i16 758, i16 755, i16 721, i16 743, i16 745, i16 792, i16 789, i16 713, i16 731, i16 712, i16 741, i16 850, i16 0, i16 851, i16 852, i16 853, i16 854, i16 855, i16 856, i16 857, i16 750, i16 752, i16 858, i16 859, i16 0, i16 813, i16 0, i16 341, i16 342, i16 347, i16 348, i16 351, i16 352, i16 363, i16 364, i16 369, i16 370, i16 373, i16 374, i16 371, i16 372, i16 378, i16 379, i16 1878, i16 1880, i16 1882, i16 1884, i16 1729, i16 1738, i16 1751, i16 0, i16 0, i16 0, i16 0, i16 1236, i16 1237, i16 1238, i16 1239, i16 0, i16 1367, i16 1339, i16 1343, i16 1345, i16 1347, i16 1349, i16 1353, i16 1355, i16 1359, i16 1361, i16 1368, i16 1370, i16 1372, i16 1374, i16 1376, i16 1378, i16 1623, i16 1625, i16 1626, i16 1627, i16 1628, i16 1630, i16 1631, i16 1632, i16 1633, i16 1635, i16 1636, i16 1637, i16 1638, i16 1640, i16 1641, i16 1642, i16 1879, i16 1881, i16 1883, i16 1885, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1232, i16 1233, i16 1234, i16 1235, i16 0, i16 91, i16 89, i16 109, i16 135, i16 129, i16 123, i16 146, i16 171, i16 199, i16 197, i16 207, i16 221, i16 301, i16 299, i16 309, i16 313, i16 603, i16 0, i16 0, i16 0, i16 0, i16 673, i16 674, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 92, i16 90, i16 110, i16 136, i16 130, i16 124, i16 147, i16 172, i16 200, i16 198, i16 208, i16 222, i16 302, i16 300, i16 310, i16 314, i16 93, i16 94, i16 107, i16 108, i16 201, i16 202, i16 205, i16 206, i16 303, i16 304, i16 307, i16 308, i16 414, i16 415, i16 418, i16 419, i16 861, i16 862, i16 863, i16 864, i16 865, i16 866, i16 867, i16 868, i16 869, i16 870, i16 871, i16 872, i16 873, i16 874, i16 875, i16 0, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 231, i16 232, i16 223, i16 224, i16 225, i16 226, i16 209, i16 210, i16 1123, i16 1124, i16 0, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1132, i16 1133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 612, i16 613, i16 648, i16 649, i16 660, i16 661, i16 654, i16 655, i16 656, i16 657, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1382, i16 1384, i16 0, i16 1386, i16 1389, i16 1391, i16 1398, i16 1400, i16 1402, i16 1404, i16 1363, i16 1393, i16 1342, i16 1352, i16 1358, i16 1365, i16 1383, i16 1385, i16 1388, i16 1387, i16 1390, i16 1394, i16 1399, i16 1401, i16 1403, i16 1406, i16 1366, i16 1396, i16 1381, i16 1395, i16 1407, i16 0, i16 362, i16 365, i16 366, i16 387, i16 388, i16 397, i16 398, i16 389, i16 390, i16 403, i16 405, i16 406, i16 456, i16 457, i16 416, i16 417, i16 1643, i16 1645, i16 1646, i16 1647, i16 1648, i16 1650, i16 1651, i16 1652, i16 1653, i16 1655, i16 1656, i16 1657, i16 1658, i16 1660, i16 1661, i16 1662, i16 1137, i16 0, i16 0, i16 0, i16 1138, i16 0, i16 0, i16 0, i16 1139, i16 0, i16 0, i16 0, i16 1140, i16 0, i16 0, i16 0, i16 626, i16 627, i16 624, i16 625, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 641, i16 642, i16 639, i16 640, i16 658, i16 659, i16 1141, i16 1142, i16 1143, i16 1144, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1397, i16 1341, i16 1344, i16 1346, i16 1348, i16 1351, i16 1354, i16 1357, i16 1360, i16 1364, i16 1369, i16 1371, i16 1373, i16 1375, i16 1377, i16 1380, i16 886, i16 887, i16 888, i16 889, i16 890, i16 891, i16 892, i16 893, i16 894, i16 895, i16 896, i16 897, i16 898, i16 899, i16 900, i16 901, i16 1145, i16 1146, i16 1147, i16 1148, i16 1149, i16 1150, i16 1151, i16 1152, i16 1153, i16 1154, i16 1155, i16 0, i16 1156, i16 1157, i16 0, i16 0, i16 380, i16 381, i16 382, i16 383, i16 393, i16 394, i16 395, i16 396, i16 401, i16 402, i16 399, i16 400, i16 442, i16 443, i16 444, i16 445, i16 127, i16 128, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 173, i16 174, i16 182, i16 183, i16 184, i16 185, i16 192, i16 193, i16 1663, i16 1665, i16 1666, i16 1667, i16 1668, i16 1670, i16 1671, i16 1672, i16 1673, i16 1675, i16 1676, i16 1677, i16 1678, i16 1680, i16 1681, i16 1683, i16 1408, i16 1410, i16 1412, i16 1414, i16 1420, i16 1424, i16 1430, i16 1432, i16 1434, i16 1442, i16 1444, i16 1448, i16 1452, i16 1454, i16 1458, i16 1460, i16 1409, i16 1411, i16 1413, i16 1415, i16 1421, i16 1425, i16 1431, i16 1433, i16 1435, i16 1443, i16 1445, i16 1449, i16 1453, i16 1455, i16 1459, i16 1461, i16 902, i16 903, i16 904, i16 905, i16 906, i16 907, i16 908, i16 909, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 137, i16 138, i16 133, i16 134, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 97, i16 98, i16 1418, i16 1419, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 141, i16 142, i16 95, i16 96, i16 139, i16 140, i16 163, i16 164, i16 165, i16 166, i16 169, i16 170, i16 175, i16 176, i16 180, i16 181, i16 143, i16 144, i16 150, i16 151, i16 270, i16 271, i16 266, i16 267, i16 343, i16 344, i16 452, i16 453, i16 454, i16 455, i16 0, i16 0, i16 1172, i16 1173, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1174, i16 1175, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1684, i16 1686, i16 1687, i16 1688, i16 1689, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 0, i16 0, i16 0, i16 918, i16 919, i16 920, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 667, i16 668, i16 671, i16 672, i16 675, i16 676, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1695, i16 1696, i16 1698, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 930, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 931, i16 0, i16 932, i16 0, i16 933, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1699, i16 1700, i16 1701, i16 1702, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1188, i16 0, i16 1189, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 934, i16 0, i16 935, i16 936, i16 0, i16 937, i16 938, i16 939, i16 940, i16 0, i16 0, i16 941, i16 0, i16 0, i16 0, i16 942, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 0, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 680, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 719, i16 714, i16 749, i16 778, i16 751, i16 715, i16 681, i16 0, i16 0, i16 0, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 790, i16 732, i16 860, i16 744, i16 746, i16 0, i16 436, i16 437, i16 475, i16 476, i16 489, i16 490, i16 499, i16 500, i16 505, i16 506, i16 511, i16 512, i16 515, i16 516, i16 523, i16 524, i16 1462, i16 1464, i16 1466, i16 1470, i16 1474, i16 1476, i16 1478, i16 1482, i16 1486, i16 1488, i16 1491, i16 1492, i16 1495, i16 1496, i16 1498, i16 1500, i16 1207, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1463, i16 1465, i16 1467, i16 1471, i16 1475, i16 1477, i16 1479, i16 1483, i16 1487, i16 1489, i16 1490, i16 1493, i16 1494, i16 1497, i16 1499, i16 1501, i16 952, i16 0, i16 0, i16 0, i16 0, i16 953, i16 0, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 0, i16 960, i16 0, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 0, i16 0, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 186, i16 187, i16 237, i16 238, i16 203, i16 204, i16 229, i16 230, i16 235, i16 236, i16 219, i16 220, i16 264, i16 265, i16 262, i16 263, i16 188, i16 189, i16 190, i16 191, i16 241, i16 242, i16 239, i16 240, i16 243, i16 244, i16 227, i16 228, i16 233, i16 234, i16 250, i16 251, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 0, i16 0, i16 0, i16 0, i16 1230, i16 0, i16 0, i16 0, i16 460, i16 461, i16 458, i16 459, i16 479, i16 480, i16 481, i16 482, i16 495, i16 496, i16 497, i16 498, i16 501, i16 502, i16 503, i16 504, i16 462, i16 463, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 602, i16 1231, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 722, i16 87, i16 153, i16 1888, i16 179, i16 196, i16 247, i16 259, i16 278, i16 298, i16 335, i16 340, i16 356, i16 377, i16 386, i16 408, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 317, i16 318, i16 325, i16 326, i16 446, i16 447, i16 438, i16 439, i16 1749, i16 1752, i16 1754, i16 1756, i16 1758, i16 1760, i16 1762, i16 1764, i16 1766, i16 1768, i16 1770, i16 1772, i16 1774, i16 1776, i16 1778, i16 1780, i16 470, i16 471, i16 472, i16 473, i16 590, i16 591, i16 582, i16 583, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 1750, i16 1753, i16 1755, i16 1757, i16 1759, i16 1761, i16 1763, i16 1765, i16 1767, i16 1769, i16 1771, i16 1773, i16 1775, i16 1777, i16 1779, i16 1781, i16 1241, i16 1242, i16 1243, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 987, i16 988, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 477, i16 484, i16 487, i16 508, i16 533, i16 552, i16 615, i16 622, i16 637, i16 644, i16 663, i16 747, i16 742, i16 748, i16 779, i16 777, i16 478, i16 485, i16 488, i16 509, i16 534, i16 553, i16 616, i16 623, i16 638, i16 645, i16 664, i16 753, i16 740, i16 754, i16 799, i16 1281, i16 734, i16 0, i16 0, i16 736, i16 737, i16 738, i16 782, i16 783, i16 729, i16 730, i16 723, i16 728, i16 726, i16 727, i16 724, i16 725, i16 990, i16 991, i16 992, i16 993, i16 0, i16 0, i16 994, i16 995, i16 996, i16 997, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 998, i16 999, i16 1000, i16 1001, i16 1002, i16 1003, i16 1004, i16 1005, i16 1006, i16 1007, i16 1008, i16 1009, i16 1010, i16 1011, i16 1012, i16 1013, i16 1510, i16 1511, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 491, i16 492, i16 493, i16 494, i16 558, i16 559, i16 562, i16 563, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1265, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1014, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1023, i16 1024, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1782, i16 1784, i16 1786, i16 1788, i16 1790, i16 1792, i16 1794, i16 1796, i16 1798, i16 1800, i16 1802, i16 1804, i16 1806, i16 1808, i16 1810, i16 1812, i16 1783, i16 1785, i16 1787, i16 1789, i16 1791, i16 1793, i16 1795, i16 1797, i16 1799, i16 1801, i16 1803, i16 1805, i16 1807, i16 1809, i16 1811, i16 1813, i16 1528, i16 1529, i16 1530, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 0, i16 0, i16 0, i16 0, i16 0, i16 763, i16 86, i16 152, i16 1887, i16 178, i16 195, i16 246, i16 258, i16 277, i16 297, i16 334, i16 339, i16 355, i16 376, i16 385, i16 407, i16 253, i16 254, i16 255, i16 256, i16 257, i16 532, i16 510, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 3, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 5, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 134, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 136, i16 0, i16 0, i16 0, i16 137, i16 0, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 1, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 12, i16 14, i16 16, i16 18, i16 20, i16 22, i16 24, i16 26, i16 28, i16 30, i16 32, i16 34, i16 36, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 13, i16 15, i16 17, i16 19, i16 21, i16 23, i16 25, i16 27, i16 29, i16 31, i16 33, i16 35, i16 37, i16 39, i16 41, i16 43, i16 45, i16 47, i16 49, i16 51, i16 53, i16 55, i16 57, i16 59, i16 61, i16 63, i16 92, i16 93, i16 94, i16 95, i16 202, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 96, i16 0, i16 0, i16 0, i16 133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 135, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 203, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 5, i16 6, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 4, i16 3, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 126, i16 132, i16 138, i16 144, i16 150, i16 156, i16 162, i16 168, i16 174, i16 180, i16 186, i16 192, i16 198, i16 204, i16 210, i16 216, i16 222, i16 228, i16 234, i16 240, i16 246, i16 252, i16 258, i16 264, i16 270, i16 276, i16 282, i16 288, i16 294, i16 300, i16 306, i16 7, i16 13, i16 23, i16 39, i16 32, i16 40, i16 38, i16 22, i16 24, i16 29, i16 36, i16 41, i16 10, i16 9, i16 16, i16 15, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 12, i16 11, i16 42, i16 43, i16 44, i16 14, i16 19, i16 75, i16 77, i16 79, i16 81, i16 83, i16 85, i16 87, i16 89, i16 91, i16 93, i16 95, i16 97, i16 99, i16 101, i16 103, i16 105, i16 107, i16 109, i16 111, i16 113, i16 115, i16 117, i16 119, i16 121, i16 123, i16 125, i16 26, i16 45, i16 27, i16 21, i16 0, i16 30, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 25, i16 37, i16 28, i16 20, i16 8, i16 312, i16 318, i16 324, i16 330, i16 336, i16 337, i16 343, i16 344, i16 350, i16 356, i16 362, i16 368, i16 374, i16 380, i16 386, i16 17, i16 393, i16 394, i16 395, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 47, i16 0, i16 0, i16 0, i16 0, i16 31, i16 410, i16 411, i16 412, i16 413, i16 414, i16 396, i16 18, i16 49, i16 50, i16 51, i16 52, i16 53, i16 48, i16 392, i16 46, i16 33, i16 55, i16 57, i16 59, i16 61, i16 63, i16 65, i16 67, i16 69, i16 71, i16 73, i16 34, i16 35, i16 0, i16 0, i16 0, i16 0, i16 32, i16 3, i16 45, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7, i16 37, i16 2, i16 12, i16 0, i16 0, i16 0, i16 0, i16 27, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 25, i16 33, i16 28, i16 44, i16 11, i16 14, i16 29, i16 40, i16 23, i16 9, i16 20, i16 10, i16 38, i16 22, i16 42, i16 31, i16 49, i16 36, i16 43, i16 16, i16 15, i16 26, i16 21, i16 35, i16 17, i16 18, i16 13, i16 47, i16 24, i16 6, i16 34, i16 4, i16 39, i16 19, i16 8, i16 41, i16 5, i16 48, i16 50, i16 46, i16 30, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 266, i16 373, i16 661, i16 236, i16 595, i16 0, i16 0, i16 94, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 615, i16 647, i16 136, i16 0, i16 0, i16 390, i16 36, i16 15, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 31, i16 0, i16 0, i16 0, i16 0, i16 0, i16 60, i16 455, i16 499, i16 0, i16 0, i16 4, i16 259, i16 192, i16 133, i16 445, i16 669, i16 550, i16 172, i16 0, i16 0, i16 62, i16 153, i16 389, i16 409, i16 145, i16 1, i16 180, i16 570, i16 258, i16 261, i16 414, i16 610, i16 140, i16 566, i16 280, i16 150, i16 468, i16 333, i16 655, i16 176, i16 402, i16 260, i16 173, i16 607, i16 281, i16 293, i16 306, i16 319, i16 267, i16 168, i16 368, i16 382, i16 456, i16 249, i16 437, i16 500, i16 95, i16 14, i16 465, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 68, i16 129, i16 0, i16 0, i16 12, i16 0, i16 9, i16 0, i16 533, i16 84, i16 587, i16 606, i16 447, i16 652, i16 668, i16 291, i16 318, i16 459, i16 61, i16 659, i16 395, i16 195, i16 202, i16 186, i16 30, i16 590, i16 617, i16 422, i16 209, i16 535, i16 137, i16 485, i16 511, i16 222, i16 165, i16 337, i16 355, i16 371, i16 385, i16 190, i16 35, i16 627, i16 98, i16 660, i16 85, i16 278, i16 244, i16 376, i16 391, i16 101, i16 69, i16 377, i16 185, i16 401, i16 205, i16 453, i16 38, i16 24, i16 331, i16 352, i16 644, i16 649, i16 662, i16 398, i16 673, i16 454, i16 287, i16 152, i16 223, i16 307, i16 294, i16 419, i16 39, i16 0, i16 357, i16 22, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 296, i16 160, i16 363, i16 342, i16 360, i16 378, i16 42, i16 415, i16 434, i16 206, i16 431, i16 13, i16 490, i16 462, i16 521, i16 486, i16 304, i16 593, i16 525, i16 253, i16 622, i16 645, i16 234, i16 269, i16 104, i16 279, i16 63, i16 425, i16 199, i16 78, i16 174, i16 72, i16 569, i16 295, i16 620, i16 161, i16 340, i16 658, i16 273, i16 680, i16 289, i16 404, i16 361, i16 359, i16 372, i16 423, i16 73, i16 417, i16 315, i16 132, i16 356, i16 362, i16 381, i16 412, i16 26, i16 594, i16 87, i16 471, i16 497, i16 601, i16 227, i16 118, i16 542, i16 557, i16 317, i16 353, i16 265, i16 182, i16 188, i16 0, i16 0, i16 0, i16 0, i16 5, i16 74, i16 544, i16 448, i16 211, i16 475, i16 575, i16 599, i16 524, i16 545, i16 552, i16 239, i16 157, i16 66, i16 585, i16 103, i16 614, i16 48, i16 632, i16 687, i16 282, i16 308, i16 329, i16 604, i16 514, i16 183, i16 537, i16 530, i16 326, i16 177, i16 226, i16 380, i16 406, i16 76, i16 204, i16 208, i16 215, i16 584, i16 247, i16 605, i16 428, i16 679, i16 634, i16 637, i16 37, i16 138, i16 316, i16 196, i16 34, i16 230, i16 44, i16 286, i16 676, i16 312, i16 603, i16 609, i16 549, i16 513, i16 310, i16 325, i16 346, i16 77, i16 388, i16 128, i16 399, i16 411, i16 418, i16 54, i16 444, i16 299, i16 480, i16 113, i16 197, i16 602, i16 89, i16 158, i16 635, i16 59, i16 670, i16 493, i16 276, i16 105, i16 416, i16 429, i16 334, i16 159, i16 110, i16 370, i16 384, i16 684, i16 248, i16 424, i16 301, i16 156, i16 343, i16 242, i16 214, i16 504, i16 515, i16 556, i16 403, i16 81, i16 364, i16 374, i16 189, i16 413, i16 427, i16 28, i16 207, i16 473, i16 494, i16 672, i16 228, i16 540, i16 283, i16 100, i16 586, i16 323, i16 344, i16 375, i16 155, i16 630, i16 124, i16 626, i16 526, i16 613, i16 665, i16 677, i16 16, i16 305, i16 290, i16 167, i16 339, i16 383, i16 408, i16 122, i16 449, i16 80, i16 467, i16 169, i16 218, i16 200, i16 532, i16 543, i16 561, i16 508, i16 510, i16 553, i16 256, i16 582, i16 653, i16 643, i16 0, i16 241, i16 619, i16 666, i16 147, i16 348, i16 397, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 648, i16 141, i16 82, i16 292, i16 309, i16 608, i16 354, i16 410, i16 386, i16 311, i16 439, i16 321, i16 109, i16 460, i16 481, i16 498, i16 394, i16 495, i16 461, i16 112, i16 19, i16 457, i16 254, i16 489, i16 503, i16 221, i16 512, i16 86, i16 527, i16 139, i16 568, i16 580, i16 143, i16 0, i16 0, i16 7, i16 300, i16 49, i16 57, i16 528, i16 102, i16 430, i16 194, i16 564, i16 17, i16 579, i16 0, i16 0, i16 144, i16 83, i16 531, i16 324, i16 229, i16 154, i16 179, i16 387, i16 53, i16 43, i16 277, i16 201, i16 108, i16 21, i16 625, i16 483, i16 146, i16 347, i16 396, i16 446, i16 505, i16 252, i16 336, i16 477, i16 351, i16 379, i16 322, i16 436, i16 0, i16 0, i16 18, i16 8, i16 420, i16 250, i16 450, i16 472, i16 633, i16 518, i16 529, i16 119, i16 631, i16 268, i16 674, i16 142, i16 686, i16 458, i16 134, i16 328, i16 678, i16 488, i16 509, i16 491, i16 541, i16 657, i16 120, i16 563, i16 675, i16 583, i16 245, i16 91, i16 618, i16 0, i16 0, i16 0, i16 683, i16 516, i16 314, i16 681, i16 193, i16 572, i16 358, i16 443, i16 611, i16 421, i16 646, i16 262, i16 272, i16 107, i16 99, i16 538, i16 685, i16 288, i16 64, i16 70, i16 166, i16 50, i16 25, i16 52, i16 71, i16 392, i16 191, i16 426, i16 433, i16 442, i16 451, i16 441, i16 435, i16 438, i16 11, i16 338, i16 106, i16 40, i16 0, i16 0, i16 10, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 440, i16 466, i16 478, i16 501, i16 523, i16 536, i16 554, i16 522, i16 592, i16 581, i16 233, i16 555, i16 251, i16 476, i16 636, i16 264, i16 203, i16 452, i16 474, i16 365, i16 178, i16 187, i16 539, i16 126, i16 565, i16 578, i16 600, i16 220, i16 2, i16 624, i16 639, i16 654, i16 212, i16 562, i16 407, i16 616, i16 33, i16 650, i16 47, i16 332, i16 271, i16 131, i16 97, i16 298, i16 162, i16 341, i16 65, i16 367, i16 213, i16 149, i16 151, i16 302, i16 163, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3, i16 484, i16 345, i16 67, i16 591, i16 469, i16 487, i16 51, i16 171, i16 303, i16 400, i16 175, i16 58, i16 125, i16 598, i16 79, i16 628, i16 463, i16 651, i16 350, i16 274, i16 470, i16 56, i16 464, i16 520, i16 612, i16 640, i16 238, i16 507, i16 123, i16 127, i16 88, i16 623, i16 642, i16 664, i16 548, i16 547, i16 216, i16 682, i16 492, i16 116, i16 519, i16 240, i16 667, i16 588, i16 597, i16 23, i16 559, i16 641, i16 577, i16 93, i16 270, i16 96, i16 225, i16 534, i16 589, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 482, i16 184, i16 224, i16 393, i16 0, i16 0, i16 0, i16 41, i16 121, i16 75, i16 198, i16 517, i16 90, i16 263, i16 210, i16 671, i16 231, i16 496, i16 45, i16 574, i16 246, i16 235, i16 621, i16 32, i16 479, i16 237, i16 560, i16 284, i16 571, i16 327, i16 217, i16 366, i16 232, i16 432, i16 55, i16 111, i16 0, i16 27, i16 114, i16 219, i16 115, i16 573, i16 546, i16 567, i16 6, i16 46, i16 243, i16 130, i16 502, i16 320, i16 92, i16 117, i16 369, i16 551, i16 558, i16 20, i16 164, i16 576, i16 275, i16 257, i16 297, i16 656, i16 596, i16 506, i16 255, i16 629, i16 638, i16 135, i16 0, i16 29, i16 663, i16 285, i16 313, i16 349, i16 148, i16 181, i16 405, i16 330, i16 335, i16 170, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3171, i16 12478, i16 12479, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2196, i16 6503, i16 11985, i16 1886, i16 6504, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2650, i16 12441, i16 12442, i16 0, i16 0, i16 0, i16 0, i16 12443, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2542, i16 11756, i16 11757, i16 6356, i16 0, i16 0, i16 11758, i16 11759, i16 6358, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1165, i16 0, i16 5777, i16 0, i16 5778, i16 10826, i16 10825, i16 10827, i16 10828, i16 10829, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1956, i16 6848, i16 6849, i16 1656, i16 0, i16 12717, i16 0, i16 12718, i16 0, i16 12719, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7035, i16 0, i16 0, i16 1517, i16 7036, i16 13063, i16 13064, i16 13065, i16 7037, i16 0, i16 1888, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7306, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 341, i16 0, i16 342, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 351, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 326, i16 327, i16 325, i16 328, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11125, i16 0, i16 0, i16 5992, i16 0, i16 5993, i16 0, i16 990, i16 11126, i16 0, i16 0, i16 947, i16 5990, i16 11127, i16 0, i16 11128, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 251, i16 0, i16 0, i16 0, i16 0, i16 250, i16 255, i16 0, i16 259, i16 260, i16 0, i16 0, i16 261, i16 262, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 368, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7427, i16 2983, i16 3748, i16 7428, i16 0, i16 7430, i16 3029, i16 7431, i16 3631, i16 7432, i16 2168, i16 7433, i16 1818, i16 7434, i16 1866, i16 965, i16 7435, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3587, i16 0, i16 13156, i16 13157, i16 13158, i16 13159, i16 0, i16 13160, i16 7092, i16 13161, i16 13162, i16 0, i16 0, i16 0, i16 0, i16 7093, i16 5548, i16 13163, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7201, i16 7287, i16 7229, i16 7315, i16 7247, i16 7332, i16 7265, i16 7350, i16 7274, i16 7359, i16 7271, i16 7356, i16 7273, i16 7358, i16 7272, i16 7357, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8287, i16 0, i16 0, i16 0, i16 0, i16 8288, i16 0, i16 2969, i16 8289, i16 0, i16 0, i16 8290, i16 0, i16 0, i16 8291, i16 4207, i16 3113, i16 8292, i16 0, i16 8293, i16 8294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9649, i16 5112, i16 9650, i16 9651, i16 5118, i16 0, i16 0, i16 5116, i16 0, i16 2728, i16 0, i16 0, i16 5123, i16 5113, i16 9652, i16 0, i16 9653, i16 0, i16 9654, i16 5114, i16 5090, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9574, i16 0, i16 9575, i16 0, i16 0, i16 1049, i16 0, i16 0, i16 892, i16 0, i16 9576, i16 5056, i16 0, i16 9577, i16 5059, i16 9578, i16 0, i16 0, i16 3600, i16 9579, i16 0, i16 9580, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 364, i16 0, i16 0, i16 363, i16 0, i16 362, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7882, i16 7883, i16 0, i16 0, i16 4012, i16 3474, i16 0, i16 2068, i16 7884, i16 4018, i16 0, i16 7885, i16 7886, i16 0, i16 4017, i16 4008, i16 0, i16 7887, i16 7888, i16 7889, i16 2472, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 995, i16 0, i16 0, i16 7950, i16 0, i16 0, i16 4058, i16 7951, i16 2153, i16 4054, i16 7952, i16 4052, i16 7953, i16 4053, i16 7954, i16 4055, i16 7955, i16 0, i16 7956, i16 7957, i16 7958, i16 0, i16 7959, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3650, i16 0, i16 9772, i16 5182, i16 0, i16 0, i16 0, i16 847, i16 0, i16 9773, i16 0, i16 9774, i16 9775, i16 9776, i16 9777, i16 0, i16 9778, i16 5184, i16 0, i16 0, i16 9779, i16 5183, i16 0, i16 5181, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10072, i16 10073, i16 5305, i16 0, i16 10074, i16 0, i16 0, i16 5306, i16 10075, i16 0, i16 0, i16 10076, i16 5307, i16 0, i16 0, i16 0, i16 10077, i16 0, i16 10078, i16 10079, i16 866, i16 0, i16 10080, i16 10081, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3182, i16 0, i16 6816, i16 12656, i16 0, i16 12657, i16 12658, i16 6817, i16 12659, i16 6818, i16 0, i16 0, i16 12660, i16 0, i16 6819, i16 12661, i16 12662, i16 0, i16 12663, i16 12664, i16 0, i16 0, i16 0, i16 12665, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11391, i16 0, i16 1000, i16 6110, i16 6111, i16 11358, i16 0, i16 0, i16 0, i16 11359, i16 0, i16 6106, i16 0, i16 1808, i16 11360, i16 0, i16 11361, i16 0, i16 11362, i16 0, i16 11363, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1683, i16 0, i16 12778, i16 0, i16 12779, i16 6888, i16 12780, i16 12781, i16 6889, i16 0, i16 12782, i16 0, i16 12783, i16 12784, i16 12785, i16 0, i16 1055, i16 12786, i16 0, i16 12787, i16 6890, i16 0, i16 12788, i16 12789, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8637, i16 0, i16 0, i16 8638, i16 0, i16 0, i16 8639, i16 4435, i16 4441, i16 4433, i16 0, i16 2779, i16 8640, i16 8641, i16 4438, i16 3156, i16 8642, i16 8643, i16 4432, i16 8644, i16 4437, i16 3636, i16 1834, i16 0, i16 8645, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7102, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7101, i16 7104, i16 7108, i16 7107, i16 0, i16 7105, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11222, i16 0, i16 0, i16 11223, i16 0, i16 3292, i16 0, i16 3660, i16 11224, i16 11225, i16 11226, i16 11227, i16 0, i16 6049, i16 0, i16 0, i16 11228, i16 0, i16 0, i16 11230, i16 11231, i16 6056, i16 11232, i16 0, i16 6048, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8409, i16 8410, i16 0, i16 8411, i16 0, i16 4283, i16 0, i16 0, i16 8412, i16 1205, i16 4284, i16 8413, i16 0, i16 4285, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8414, i16 0, i16 8415, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4599, i16 752, i16 8844, i16 8845, i16 1720, i16 0, i16 8846, i16 0, i16 2177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8847, i16 8848, i16 0, i16 0, i16 8849, i16 2707, i16 0, i16 8850, i16 3053, i16 4605, i16 2405, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4632, i16 0, i16 0, i16 8909, i16 8910, i16 0, i16 0, i16 2464, i16 0, i16 4639, i16 8911, i16 0, i16 8912, i16 4633, i16 8913, i16 0, i16 4630, i16 4637, i16 8914, i16 0, i16 0, i16 0, i16 4607, i16 0, i16 8915, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 316, i16 315, i16 0, i16 0, i16 0, i16 312, i16 0, i16 0, i16 314, i16 313, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8817, i16 0, i16 8818, i16 0, i16 0, i16 3069, i16 4663, i16 0, i16 0, i16 0, i16 0, i16 3279, i16 0, i16 8819, i16 0, i16 2706, i16 8820, i16 8821, i16 0, i16 3368, i16 8822, i16 4583, i16 934, i16 2605, i16 8823, i16 8824, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7940, i16 2549, i16 0, i16 7941, i16 970, i16 7942, i16 0, i16 0, i16 7943, i16 7944, i16 7945, i16 7946, i16 7947, i16 7948, i16 0, i16 4042, i16 0, i16 4044, i16 2069, i16 858, i16 7949, i16 0, i16 4047, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 311, i16 310, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2652, i16 12969, i16 6980, i16 0, i16 3024, i16 0, i16 6985, i16 6981, i16 0, i16 0, i16 0, i16 6982, i16 0, i16 12970, i16 3300, i16 3413, i16 0, i16 2861, i16 12971, i16 0, i16 12972, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1124, i16 11078, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11079, i16 920, i16 5954, i16 3639, i16 2498, i16 11080, i16 0, i16 3131, i16 0, i16 5966, i16 11081, i16 988, i16 5964, i16 0, i16 5962, i16 5953, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2662, i16 9547, i16 9548, i16 9549, i16 883, i16 1622, i16 5035, i16 0, i16 0, i16 9551, i16 9552, i16 0, i16 9553, i16 1974, i16 5040, i16 0, i16 5039, i16 5034, i16 0, i16 5037, i16 9554, i16 0, i16 1099, i16 9555, i16 5036, i16 2948, i16 9556, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8864, i16 8865, i16 3280, i16 1919, i16 4620, i16 0, i16 4619, i16 8866, i16 8867, i16 2243, i16 0, i16 0, i16 8868, i16 1497, i16 0, i16 8869, i16 8870, i16 4613, i16 2086, i16 8871, i16 0, i16 2885, i16 2924, i16 8872, i16 8873, i16 0, i16 8874, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11173, i16 6028, i16 11174, i16 11175, i16 3524, i16 11176, i16 0, i16 0, i16 11177, i16 3575, i16 11178, i16 0, i16 11179, i16 11180, i16 0, i16 0, i16 0, i16 11181, i16 2619, i16 11182, i16 11183, i16 11184, i16 1102, i16 11185, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6850, i16 12720, i16 0, i16 1057, i16 0, i16 0, i16 0, i16 2954, i16 6851, i16 6852, i16 0, i16 12721, i16 12722, i16 12723, i16 2589, i16 2888, i16 12724, i16 0, i16 0, i16 0, i16 12725, i16 12726, i16 0, i16 6853, i16 12727, i16 0, i16 12728, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4292, i16 0, i16 4294, i16 0, i16 8425, i16 0, i16 8426, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8427, i16 0, i16 0, i16 0, i16 0, i16 8429, i16 0, i16 4295, i16 0, i16 0, i16 0, i16 8428, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10961, i16 5874, i16 10962, i16 0, i16 0, i16 10963, i16 5872, i16 10964, i16 0, i16 2208, i16 0, i16 3164, i16 5877, i16 10965, i16 5876, i16 1639, i16 3710, i16 0, i16 10966, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5893, i16 0, i16 0, i16 0, i16 0, i16 13078, i16 7046, i16 3001, i16 0, i16 13079, i16 7047, i16 7049, i16 0, i16 13080, i16 7050, i16 13081, i16 13082, i16 13083, i16 0, i16 0, i16 13084, i16 13085, i16 13086, i16 0, i16 0, i16 7048, i16 1668, i16 3422, i16 3350, i16 4361, i16 0, i16 4996, i16 3374, i16 0, i16 0, i16 0, i16 0, i16 9766, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9767, i16 5177, i16 2557, i16 5180, i16 5175, i16 9768, i16 9769, i16 0, i16 5179, i16 9770, i16 0, i16 0, i16 9771, i16 5178, i16 2751, i16 802, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4915, i16 9346, i16 9347, i16 4920, i16 4924, i16 9348, i16 9349, i16 1331, i16 0, i16 0, i16 9350, i16 0, i16 9351, i16 9352, i16 9353, i16 0, i16 0, i16 9354, i16 9355, i16 0, i16 1259, i16 4922, i16 0, i16 9356, i16 0, i16 0, i16 0, i16 1216, i16 0, i16 0, i16 0, i16 0, i16 9780, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5176, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3286, i16 9781, i16 0, i16 0, i16 5186, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9539, i16 0, i16 0, i16 9540, i16 0, i16 0, i16 9541, i16 3517, i16 5042, i16 0, i16 9542, i16 9543, i16 0, i16 9544, i16 5041, i16 9545, i16 0, i16 0, i16 0, i16 2335, i16 0, i16 5038, i16 9546, i16 3547, i16 0, i16 0, i16 2835, i16 5032, i16 0, i16 0, i16 0, i16 0, i16 10582, i16 0, i16 3236, i16 986, i16 0, i16 10583, i16 0, i16 5611, i16 0, i16 5608, i16 10584, i16 5613, i16 10585, i16 10586, i16 5612, i16 0, i16 2990, i16 3384, i16 10587, i16 1806, i16 5606, i16 5615, i16 5610, i16 10588, i16 5609, i16 5605, i16 10589, i16 5607, i16 0, i16 0, i16 0, i16 0, i16 12640, i16 0, i16 6807, i16 12641, i16 0, i16 0, i16 12642, i16 6809, i16 2511, i16 1086, i16 1087, i16 6808, i16 0, i16 12643, i16 12644, i16 12645, i16 1194, i16 1515, i16 12646, i16 12647, i16 1195, i16 12648, i16 12649, i16 2750, i16 0, i16 0, i16 3629, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9849, i16 0, i16 0, i16 0, i16 5220, i16 0, i16 2687, i16 9850, i16 5222, i16 5221, i16 0, i16 9851, i16 5223, i16 0, i16 5224, i16 0, i16 9852, i16 1936, i16 3162, i16 0, i16 9853, i16 9854, i16 3453, i16 5225, i16 5226, i16 2397, i16 1877, i16 5227, i16 0, i16 0, i16 0, i16 0, i16 944, i16 0, i16 13087, i16 0, i16 13088, i16 0, i16 0, i16 13089, i16 7052, i16 1263, i16 7053, i16 7054, i16 7055, i16 0, i16 1676, i16 0, i16 7056, i16 13090, i16 0, i16 0, i16 5266, i16 3436, i16 0, i16 2504, i16 7057, i16 7059, i16 7058, i16 13091, i16 0, i16 0, i16 0, i16 0, i16 9393, i16 0, i16 0, i16 9394, i16 3008, i16 0, i16 4946, i16 0, i16 9395, i16 0, i16 0, i16 0, i16 9396, i16 9397, i16 9398, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4950, i16 4947, i16 9399, i16 9400, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1215, i16 9243, i16 4856, i16 0, i16 9244, i16 3418, i16 4831, i16 1214, i16 9245, i16 4838, i16 0, i16 9246, i16 9247, i16 9248, i16 3315, i16 9249, i16 4839, i16 4841, i16 9250, i16 4845, i16 4833, i16 9251, i16 2541, i16 0, i16 9252, i16 9253, i16 0, i16 2798, i16 0, i16 0, i16 0, i16 0, i16 7110, i16 7111, i16 7122, i16 0, i16 7123, i16 7124, i16 7125, i16 0, i16 7127, i16 0, i16 7128, i16 7130, i16 7136, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 0, i16 0, i16 0, i16 0, i16 6623, i16 0, i16 0, i16 12326, i16 12327, i16 12328, i16 0, i16 2886, i16 0, i16 2772, i16 0, i16 0, i16 12329, i16 12330, i16 12331, i16 0, i16 2680, i16 12332, i16 6636, i16 12333, i16 12334, i16 0, i16 12335, i16 2566, i16 6632, i16 0, i16 12336, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2303, i16 11822, i16 1920, i16 6405, i16 0, i16 11823, i16 0, i16 1077, i16 11824, i16 6406, i16 11825, i16 0, i16 2429, i16 6407, i16 0, i16 6408, i16 3170, i16 0, i16 0, i16 1230, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11826, i16 0, i16 0, i16 0, i16 8200, i16 905, i16 0, i16 8201, i16 1202, i16 2877, i16 3273, i16 0, i16 0, i16 0, i16 0, i16 4173, i16 2396, i16 4172, i16 1435, i16 8202, i16 8203, i16 3342, i16 4171, i16 0, i16 2788, i16 4175, i16 8204, i16 4174, i16 8205, i16 0, i16 8206, i16 8207, i16 8208, i16 0, i16 0, i16 0, i16 9739, i16 9740, i16 0, i16 0, i16 0, i16 9741, i16 9742, i16 9743, i16 9744, i16 5111, i16 0, i16 9749, i16 0, i16 0, i16 5171, i16 0, i16 0, i16 9745, i16 9746, i16 0, i16 0, i16 2884, i16 0, i16 0, i16 0, i16 0, i16 9747, i16 9748, i16 0, i16 0, i16 0, i16 0, i16 8486, i16 0, i16 0, i16 0, i16 8487, i16 0, i16 4332, i16 0, i16 8488, i16 1185, i16 4333, i16 8490, i16 0, i16 8489, i16 0, i16 4335, i16 4334, i16 0, i16 0, i16 4336, i16 0, i16 8491, i16 8492, i16 0, i16 4337, i16 0, i16 2327, i16 1970, i16 0, i16 0, i16 0, i16 0, i16 808, i16 5862, i16 0, i16 2563, i16 0, i16 10928, i16 0, i16 0, i16 0, i16 2963, i16 10929, i16 2496, i16 10930, i16 0, i16 0, i16 10931, i16 0, i16 10932, i16 10933, i16 5864, i16 10934, i16 10935, i16 5860, i16 5863, i16 5858, i16 0, i16 5861, i16 3289, i16 0, i16 0, i16 0, i16 0, i16 6698, i16 0, i16 0, i16 12462, i16 784, i16 12463, i16 12464, i16 6696, i16 12465, i16 6700, i16 6699, i16 0, i16 0, i16 12466, i16 12467, i16 12468, i16 12469, i16 6702, i16 6701, i16 6703, i16 0, i16 2827, i16 12470, i16 12471, i16 0, i16 6704, i16 12472, i16 12473, i16 12474, i16 0, i16 0, i16 0, i16 299, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7121, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9006, i16 0, i16 1543, i16 0, i16 9007, i16 4685, i16 9008, i16 0, i16 0, i16 0, i16 4688, i16 0, i16 3145, i16 9009, i16 1278, i16 9010, i16 0, i16 9011, i16 4687, i16 4686, i16 2959, i16 4689, i16 1330, i16 0, i16 0, i16 0, i16 4691, i16 4690, i16 9012, i16 0, i16 0, i16 0, i16 5172, i16 9750, i16 9751, i16 0, i16 0, i16 0, i16 0, i16 0, i16 981, i16 9752, i16 0, i16 9753, i16 2803, i16 1032, i16 0, i16 0, i16 0, i16 0, i16 9754, i16 9755, i16 0, i16 1283, i16 0, i16 0, i16 0, i16 1935, i16 1735, i16 9756, i16 0, i16 0, i16 0, i16 0, i16 9782, i16 9783, i16 9784, i16 9785, i16 9786, i16 0, i16 5185, i16 0, i16 9787, i16 9788, i16 0, i16 0, i16 9789, i16 0, i16 0, i16 0, i16 0, i16 914, i16 0, i16 0, i16 0, i16 0, i16 5188, i16 3207, i16 0, i16 5187, i16 0, i16 9790, i16 0, i16 0, i16 0, i16 0, i16 8247, i16 8248, i16 863, i16 1136, i16 8249, i16 4189, i16 0, i16 3414, i16 3112, i16 0, i16 0, i16 8250, i16 8251, i16 0, i16 8252, i16 8253, i16 0, i16 8254, i16 0, i16 753, i16 8255, i16 0, i16 0, i16 0, i16 834, i16 0, i16 0, i16 0, i16 1828, i16 0, i16 0, i16 0, i16 10308, i16 0, i16 0, i16 0, i16 5464, i16 0, i16 10309, i16 0, i16 0, i16 0, i16 5465, i16 0, i16 0, i16 0, i16 10310, i16 10311, i16 0, i16 0, i16 10312, i16 0, i16 5466, i16 0, i16 10313, i16 5467, i16 3400, i16 5468, i16 0, i16 10314, i16 10315, i16 0, i16 0, i16 0, i16 10830, i16 10831, i16 5779, i16 0, i16 10832, i16 0, i16 0, i16 0, i16 0, i16 5780, i16 5781, i16 5782, i16 10833, i16 5783, i16 5784, i16 10834, i16 10835, i16 5786, i16 5785, i16 0, i16 0, i16 5787, i16 0, i16 0, i16 10836, i16 10837, i16 10838, i16 0, i16 5788, i16 0, i16 0, i16 0, i16 6991, i16 0, i16 0, i16 6989, i16 0, i16 1118, i16 0, i16 6988, i16 1891, i16 942, i16 0, i16 0, i16 12981, i16 12982, i16 0, i16 12983, i16 12984, i16 12985, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12986, i16 1658, i16 12987, i16 12989, i16 6998, i16 6997, i16 0, i16 0, i16 0, i16 12117, i16 0, i16 0, i16 0, i16 12118, i16 12119, i16 2864, i16 6566, i16 1989, i16 1937, i16 2966, i16 2612, i16 12120, i16 0, i16 0, i16 1955, i16 12121, i16 2231, i16 0, i16 6567, i16 12122, i16 6568, i16 12123, i16 12124, i16 12125, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1113, i16 5562, i16 5561, i16 10536, i16 5565, i16 5558, i16 10537, i16 5566, i16 3574, i16 10538, i16 5567, i16 10539, i16 5568, i16 0, i16 10540, i16 4170, i16 5570, i16 0, i16 5569, i16 0, i16 0, i16 0, i16 5571, i16 5572, i16 10541, i16 3586, i16 5573, i16 0, i16 6797, i16 0, i16 0, i16 0, i16 4186, i16 8227, i16 2474, i16 0, i16 8228, i16 3307, i16 0, i16 0, i16 0, i16 2761, i16 8229, i16 8230, i16 8231, i16 8232, i16 0, i16 4187, i16 8233, i16 0, i16 0, i16 0, i16 8234, i16 0, i16 3352, i16 8235, i16 1727, i16 8236, i16 0, i16 2071, i16 0, i16 0, i16 0, i16 0, i16 4961, i16 0, i16 0, i16 9421, i16 4960, i16 0, i16 4962, i16 9422, i16 0, i16 979, i16 9423, i16 2554, i16 0, i16 4963, i16 0, i16 9424, i16 1152, i16 4965, i16 0, i16 9425, i16 0, i16 9426, i16 4964, i16 0, i16 4966, i16 0, i16 9427, i16 0, i16 4967, i16 0, i16 0, i16 0, i16 10341, i16 10342, i16 5477, i16 0, i16 10343, i16 10344, i16 0, i16 0, i16 0, i16 10345, i16 0, i16 10346, i16 0, i16 0, i16 0, i16 10347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10348, i16 2104, i16 10349, i16 0, i16 0, i16 0, i16 0, i16 2175, i16 8612, i16 3107, i16 0, i16 8613, i16 8614, i16 8615, i16 0, i16 8616, i16 1208, i16 2913, i16 0, i16 0, i16 8617, i16 8618, i16 8619, i16 8620, i16 8621, i16 0, i16 4422, i16 1833, i16 3309, i16 3310, i16 0, i16 0, i16 933, i16 4427, i16 8622, i16 0, i16 0, i16 0, i16 0, i16 2695, i16 3881, i16 7678, i16 0, i16 2444, i16 0, i16 7679, i16 1764, i16 3882, i16 3883, i16 2359, i16 0, i16 3880, i16 0, i16 0, i16 0, i16 0, i16 3885, i16 7680, i16 3305, i16 7681, i16 7682, i16 0, i16 7683, i16 1659, i16 7684, i16 0, i16 3884, i16 7685, i16 0, i16 0, i16 0, i16 5002, i16 5001, i16 0, i16 9479, i16 9480, i16 9481, i16 0, i16 0, i16 0, i16 9482, i16 0, i16 9483, i16 0, i16 0, i16 0, i16 0, i16 9484, i16 2224, i16 9485, i16 9486, i16 3120, i16 881, i16 0, i16 9487, i16 9488, i16 0, i16 0, i16 3038, i16 9489, i16 0, i16 0, i16 0, i16 12200, i16 12201, i16 12202, i16 12203, i16 0, i16 12204, i16 6671, i16 0, i16 0, i16 6599, i16 0, i16 12205, i16 12206, i16 12207, i16 0, i16 0, i16 12208, i16 3640, i16 12209, i16 12210, i16 1555, i16 12211, i16 12212, i16 12213, i16 0, i16 12214, i16 0, i16 12215, i16 6609, i16 0, i16 0, i16 0, i16 1469, i16 0, i16 8946, i16 0, i16 8947, i16 4649, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8948, i16 8949, i16 8950, i16 1800, i16 4646, i16 0, i16 4645, i16 0, i16 0, i16 8951, i16 8952, i16 2925, i16 8953, i16 0, i16 8954, i16 2834, i16 8955, i16 0, i16 0, i16 0, i16 1223, i16 1538, i16 4235, i16 1083, i16 0, i16 8338, i16 4236, i16 0, i16 2462, i16 0, i16 0, i16 8339, i16 8340, i16 4237, i16 4277, i16 0, i16 4238, i16 0, i16 4239, i16 0, i16 0, i16 4240, i16 0, i16 4242, i16 0, i16 8341, i16 8342, i16 8343, i16 8344, i16 0, i16 0, i16 0, i16 5320, i16 5319, i16 5321, i16 10092, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5322, i16 5324, i16 5323, i16 0, i16 0, i16 1680, i16 10093, i16 5326, i16 0, i16 5325, i16 10094, i16 10095, i16 1158, i16 0, i16 2206, i16 0, i16 2747, i16 0, i16 5327, i16 2273, i16 0, i16 0, i16 0, i16 9928, i16 1677, i16 1845, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9929, i16 5264, i16 5265, i16 9930, i16 0, i16 9931, i16 0, i16 0, i16 0, i16 9932, i16 5267, i16 9933, i16 0, i16 0, i16 0, i16 0, i16 9934, i16 9935, i16 9936, i16 0, i16 0, i16 0, i16 4811, i16 0, i16 0, i16 0, i16 3111, i16 0, i16 0, i16 0, i16 9216, i16 0, i16 0, i16 9217, i16 9218, i16 9219, i16 9220, i16 9221, i16 0, i16 4823, i16 9222, i16 952, i16 4812, i16 0, i16 9223, i16 9224, i16 9225, i16 9226, i16 0, i16 4829, i16 4813, i16 0, i16 0, i16 0, i16 13009, i16 13010, i16 0, i16 13011, i16 7009, i16 0, i16 7008, i16 13012, i16 0, i16 0, i16 13013, i16 13014, i16 1463, i16 0, i16 0, i16 13015, i16 13016, i16 0, i16 13017, i16 13018, i16 13019, i16 13020, i16 0, i16 7013, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11738, i16 0, i16 0, i16 1460, i16 0, i16 0, i16 0, i16 0, i16 6342, i16 6344, i16 11739, i16 0, i16 6345, i16 1251, i16 5811, i16 2150, i16 0, i16 6346, i16 0, i16 11740, i16 1575, i16 11741, i16 11742, i16 0, i16 0, i16 11743, i16 6347, i16 11744, i16 0, i16 0, i16 0, i16 0, i16 5086, i16 9609, i16 9610, i16 0, i16 0, i16 9611, i16 9612, i16 3388, i16 9613, i16 0, i16 5084, i16 5088, i16 9614, i16 0, i16 9615, i16 9616, i16 9617, i16 9618, i16 0, i16 1545, i16 9619, i16 2098, i16 0, i16 0, i16 2556, i16 9620, i16 9621, i16 9622, i16 5078, i16 0, i16 0, i16 0, i16 7917, i16 7918, i16 0, i16 0, i16 1489, i16 4034, i16 4032, i16 2394, i16 1257, i16 1321, i16 7919, i16 4029, i16 0, i16 1393, i16 0, i16 7920, i16 0, i16 0, i16 0, i16 875, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7921, i16 0, i16 0, i16 0, i16 238, i16 0, i16 300, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1015, i16 0, i16 11621, i16 2163, i16 6275, i16 0, i16 11622, i16 0, i16 11623, i16 0, i16 11624, i16 0, i16 0, i16 0, i16 11625, i16 0, i16 11626, i16 6276, i16 0, i16 11627, i16 0, i16 6277, i16 11628, i16 0, i16 0, i16 0, i16 11629, i16 0, i16 11630, i16 0, i16 0, i16 7936, i16 1823, i16 4040, i16 0, i16 0, i16 0, i16 0, i16 7937, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7938, i16 4043, i16 0, i16 4048, i16 0, i16 0, i16 0, i16 4046, i16 4045, i16 7939, i16 0, i16 0, i16 8448, i16 8449, i16 0, i16 0, i16 8450, i16 0, i16 8451, i16 0, i16 8455, i16 4317, i16 4314, i16 0, i16 4316, i16 0, i16 3553, i16 8453, i16 4315, i16 0, i16 0, i16 8452, i16 0, i16 0, i16 0, i16 8454, i16 0, i16 0, i16 4305, i16 0, i16 0, i16 8456, i16 0, i16 0, i16 2310, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8927, i16 0, i16 0, i16 4643, i16 8928, i16 0, i16 8929, i16 8930, i16 8931, i16 8932, i16 0, i16 0, i16 0, i16 2725, i16 0, i16 8933, i16 8934, i16 8935, i16 8936, i16 0, i16 8937, i16 0, i16 0, i16 10759, i16 10760, i16 10761, i16 10762, i16 10763, i16 5714, i16 0, i16 0, i16 1368, i16 3077, i16 10764, i16 10765, i16 10766, i16 2420, i16 0, i16 3613, i16 2046, i16 0, i16 0, i16 5762, i16 0, i16 10767, i16 5724, i16 10768, i16 2343, i16 0, i16 5720, i16 5725, i16 5727, i16 0, i16 0, i16 0, i16 6161, i16 11432, i16 11433, i16 11434, i16 11435, i16 11436, i16 11437, i16 11438, i16 0, i16 11439, i16 11440, i16 3498, i16 0, i16 0, i16 11441, i16 0, i16 0, i16 11442, i16 0, i16 11443, i16 0, i16 11444, i16 11445, i16 11446, i16 0, i16 0, i16 0, i16 0, i16 11447, i16 6160, i16 0, i16 0, i16 8998, i16 4677, i16 4676, i16 0, i16 8999, i16 0, i16 0, i16 9000, i16 4644, i16 4678, i16 4666, i16 0, i16 9001, i16 1836, i16 0, i16 9002, i16 0, i16 0, i16 4679, i16 4680, i16 4682, i16 4681, i16 4683, i16 1027, i16 9003, i16 1613, i16 9004, i16 9005, i16 3281, i16 2264, i16 0, i16 0, i16 13103, i16 13104, i16 0, i16 0, i16 0, i16 7071, i16 7072, i16 13105, i16 0, i16 0, i16 0, i16 0, i16 2723, i16 13106, i16 13107, i16 13108, i16 13109, i16 1558, i16 13110, i16 7074, i16 13111, i16 13112, i16 0, i16 13113, i16 13114, i16 13115, i16 0, i16 0, i16 0, i16 13116, i16 0, i16 0, i16 1852, i16 10946, i16 0, i16 1337, i16 2289, i16 3697, i16 3391, i16 5865, i16 2301, i16 10947, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10948, i16 10949, i16 10950, i16 0, i16 1266, i16 5868, i16 10951, i16 0, i16 10952, i16 0, i16 0, i16 0, i16 4159, i16 0, i16 0, i16 8181, i16 8182, i16 0, i16 0, i16 3238, i16 4160, i16 8183, i16 8184, i16 0, i16 0, i16 971, i16 4161, i16 0, i16 8185, i16 8186, i16 8187, i16 3499, i16 1043, i16 0, i16 3939, i16 2007, i16 2468, i16 4162, i16 3452, i16 8189, i16 0, i16 0, i16 0, i16 0, i16 9280, i16 0, i16 0, i16 9281, i16 0, i16 0, i16 0, i16 9282, i16 3515, i16 0, i16 0, i16 0, i16 9283, i16 0, i16 0, i16 0, i16 0, i16 3181, i16 4862, i16 2479, i16 0, i16 9284, i16 0, i16 4868, i16 2374, i16 9285, i16 4859, i16 4872, i16 4871, i16 0, i16 0, i16 0, i16 334, i16 335, i16 0, i16 0, i16 332, i16 333, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5718, i16 5712, i16 0, i16 0, i16 10752, i16 10753, i16 0, i16 0, i16 10754, i16 5716, i16 1963, i16 806, i16 5711, i16 5719, i16 5723, i16 1634, i16 3431, i16 10755, i16 2679, i16 5713, i16 10756, i16 10757, i16 5721, i16 10758, i16 5710, i16 2561, i16 0, i16 5715, i16 774, i16 3419, i16 0, i16 0, i16 9566, i16 0, i16 0, i16 5052, i16 0, i16 9567, i16 2096, i16 0, i16 0, i16 0, i16 3487, i16 0, i16 5049, i16 0, i16 0, i16 9568, i16 9569, i16 5044, i16 9570, i16 5050, i16 9571, i16 9572, i16 9573, i16 3627, i16 0, i16 2802, i16 2847, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3942, i16 7777, i16 3458, i16 0, i16 0, i16 7778, i16 7779, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7780, i16 0, i16 0, i16 0, i16 0, i16 7781, i16 7782, i16 0, i16 3943, i16 0, i16 3615, i16 7783, i16 1589, i16 0, i16 0, i16 7784, i16 0, i16 1519, i16 0, i16 0, i16 9320, i16 0, i16 0, i16 9321, i16 0, i16 4903, i16 4896, i16 0, i16 0, i16 4909, i16 0, i16 4907, i16 9322, i16 9323, i16 0, i16 9324, i16 4902, i16 9325, i16 0, i16 9326, i16 0, i16 0, i16 0, i16 4901, i16 0, i16 2673, i16 0, i16 2412, i16 9327, i16 4899, i16 0, i16 0, i16 12650, i16 12651, i16 0, i16 12652, i16 12653, i16 1557, i16 0, i16 0, i16 12654, i16 6810, i16 12655, i16 0, i16 0, i16 6811, i16 6812, i16 6813, i16 0, i16 6815, i16 6814, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4205, i16 8279, i16 0, i16 8280, i16 3151, i16 8281, i16 0, i16 0, i16 4206, i16 0, i16 4201, i16 8282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8283, i16 0, i16 0, i16 8284, i16 8285, i16 0, i16 0, i16 8286, i16 3404, i16 0, i16 0, i16 2671, i16 2855, i16 880, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2331, i16 9194, i16 0, i16 2269, i16 1413, i16 0, i16 9195, i16 0, i16 0, i16 0, i16 9196, i16 4801, i16 9197, i16 0, i16 0, i16 12666, i16 6821, i16 6820, i16 12667, i16 6822, i16 0, i16 12668, i16 0, i16 0, i16 0, i16 12669, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3085, i16 5822, i16 0, i16 0, i16 2164, i16 0, i16 0, i16 12678, i16 6825, i16 0, i16 3440, i16 0, i16 12679, i16 12680, i16 6826, i16 3531, i16 0, i16 873, i16 0, i16 0, i16 0, i16 1812, i16 12681, i16 6827, i16 1011, i16 6828, i16 12682, i16 12683, i16 12684, i16 6829, i16 0, i16 12685, i16 12686, i16 12687, i16 6831, i16 6832, i16 12688, i16 0, i16 0, i16 7827, i16 0, i16 7828, i16 0, i16 7829, i16 7830, i16 1967, i16 7831, i16 1959, i16 7832, i16 0, i16 7833, i16 7834, i16 0, i16 3977, i16 3975, i16 0, i16 3380, i16 7835, i16 3972, i16 3981, i16 3976, i16 0, i16 0, i16 0, i16 3979, i16 1535, i16 3408, i16 0, i16 7836, i16 0, i16 0, i16 9623, i16 9624, i16 0, i16 0, i16 0, i16 3486, i16 9625, i16 0, i16 0, i16 5081, i16 0, i16 0, i16 5074, i16 2801, i16 0, i16 0, i16 5077, i16 9626, i16 0, i16 0, i16 5083, i16 0, i16 0, i16 0, i16 0, i16 9627, i16 0, i16 9628, i16 3708, i16 1903, i16 0, i16 0, i16 10135, i16 5355, i16 10136, i16 5354, i16 0, i16 0, i16 0, i16 0, i16 0, i16 893, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5363, i16 3073, i16 5357, i16 10137, i16 5359, i16 0, i16 0, i16 5361, i16 2185, i16 10138, i16 0, i16 5362, i16 5360, i16 1905, i16 10139, i16 0, i16 0, i16 7585, i16 3813, i16 7586, i16 3811, i16 7587, i16 2389, i16 7588, i16 7589, i16 0, i16 0, i16 0, i16 3812, i16 3814, i16 7590, i16 0, i16 7591, i16 7603, i16 0, i16 0, i16 3816, i16 7592, i16 0, i16 0, i16 3815, i16 7593, i16 3229, i16 0, i16 0, i16 7594, i16 0, i16 0, i16 0, i16 6307, i16 11695, i16 6305, i16 0, i16 11696, i16 2575, i16 11697, i16 11698, i16 11699, i16 2282, i16 1171, i16 6306, i16 0, i16 2214, i16 0, i16 11700, i16 3607, i16 11701, i16 11702, i16 11703, i16 3691, i16 11704, i16 0, i16 0, i16 6308, i16 6319, i16 2646, i16 11705, i16 6318, i16 11706, i16 0, i16 0, i16 12974, i16 6986, i16 0, i16 0, i16 6987, i16 2843, i16 6984, i16 6983, i16 0, i16 12973, i16 0, i16 0, i16 943, i16 0, i16 0, i16 12975, i16 6995, i16 0, i16 0, i16 6994, i16 0, i16 12976, i16 12977, i16 0, i16 0, i16 924, i16 12978, i16 12979, i16 12980, i16 6992, i16 0, i16 0, i16 1714, i16 0, i16 0, i16 10326, i16 10327, i16 0, i16 0, i16 10328, i16 0, i16 0, i16 5472, i16 10329, i16 10330, i16 0, i16 0, i16 10331, i16 5473, i16 0, i16 1503, i16 1738, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10332, i16 0, i16 0, i16 0, i16 0, i16 9906, i16 0, i16 9907, i16 9908, i16 0, i16 9909, i16 0, i16 0, i16 5255, i16 9910, i16 0, i16 9911, i16 0, i16 0, i16 0, i16 0, i16 9912, i16 9913, i16 0, i16 0, i16 5257, i16 5254, i16 9914, i16 9915, i16 0, i16 3429, i16 5256, i16 5258, i16 9916, i16 3601, i16 0, i16 0, i16 4280, i16 7388, i16 0, i16 0, i16 0, i16 0, i16 7389, i16 7390, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3551, i16 0, i16 2906, i16 7391, i16 7392, i16 0, i16 0, i16 0, i16 7393, i16 0, i16 0, i16 0, i16 0, i16 1126, i16 7394, i16 0, i16 0, i16 9401, i16 9402, i16 3554, i16 4948, i16 9403, i16 9404, i16 0, i16 9405, i16 4900, i16 0, i16 0, i16 0, i16 0, i16 9406, i16 9407, i16 9408, i16 4951, i16 0, i16 0, i16 0, i16 4952, i16 9409, i16 0, i16 0, i16 0, i16 9410, i16 0, i16 860, i16 9411, i16 4954, i16 0, i16 0, i16 2749, i16 6472, i16 0, i16 0, i16 0, i16 0, i16 11939, i16 0, i16 0, i16 6475, i16 0, i16 11946, i16 11940, i16 0, i16 11941, i16 11942, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11943, i16 1893, i16 11944, i16 11945, i16 6474, i16 6473, i16 1461, i16 6476, i16 0, i16 0, i16 0, i16 9917, i16 0, i16 9918, i16 5262, i16 0, i16 9919, i16 9920, i16 5261, i16 2617, i16 2920, i16 9921, i16 0, i16 1502, i16 5260, i16 0, i16 9922, i16 9923, i16 0, i16 5259, i16 9924, i16 3488, i16 3489, i16 0, i16 0, i16 9925, i16 9926, i16 0, i16 9927, i16 5263, i16 917, i16 0, i16 0, i16 5579, i16 0, i16 5592, i16 0, i16 5582, i16 10551, i16 1287, i16 0, i16 5581, i16 5594, i16 0, i16 0, i16 0, i16 5580, i16 0, i16 2109, i16 0, i16 0, i16 10552, i16 0, i16 0, i16 0, i16 5584, i16 5585, i16 0, i16 2730, i16 0, i16 0, i16 5586, i16 10553, i16 0, i16 0, i16 7119, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 360, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6868, i16 0, i16 0, i16 0, i16 0, i16 12737, i16 0, i16 0, i16 12738, i16 12739, i16 12740, i16 6859, i16 6860, i16 0, i16 12741, i16 6861, i16 6862, i16 0, i16 12742, i16 12743, i16 0, i16 0, i16 6864, i16 12744, i16 0, i16 6863, i16 0, i16 12745, i16 12746, i16 2024, i16 0, i16 0, i16 4310, i16 8439, i16 8440, i16 0, i16 8441, i16 8442, i16 0, i16 3277, i16 0, i16 8438, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8443, i16 0, i16 0, i16 8444, i16 0, i16 0, i16 0, i16 0, i16 8445, i16 0, i16 0, i16 0, i16 8446, i16 0, i16 8447, i16 0, i16 0, i16 2523, i16 0, i16 10008, i16 5286, i16 10009, i16 0, i16 10010, i16 10011, i16 10012, i16 10013, i16 10014, i16 10015, i16 10016, i16 10017, i16 10018, i16 10019, i16 5288, i16 3619, i16 1364, i16 3093, i16 2949, i16 0, i16 0, i16 10020, i16 5289, i16 0, i16 0, i16 0, i16 0, i16 5291, i16 0, i16 0, i16 6368, i16 0, i16 0, i16 6370, i16 11784, i16 11785, i16 0, i16 6369, i16 6371, i16 11786, i16 3321, i16 6372, i16 6373, i16 0, i16 11787, i16 0, i16 11788, i16 11789, i16 6374, i16 0, i16 0, i16 0, i16 6376, i16 11790, i16 0, i16 11791, i16 11792, i16 1040, i16 2696, i16 0, i16 0, i16 0, i16 7648, i16 0, i16 2257, i16 3861, i16 2025, i16 0, i16 7649, i16 3862, i16 0, i16 2623, i16 3596, i16 2783, i16 0, i16 7650, i16 0, i16 7651, i16 7652, i16 7653, i16 0, i16 7654, i16 3935, i16 0, i16 7655, i16 0, i16 0, i16 3863, i16 7099, i16 1346, i16 7656, i16 0, i16 0, i16 0, i16 6882, i16 0, i16 6884, i16 6883, i16 0, i16 0, i16 0, i16 6885, i16 6887, i16 6886, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 745, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 735, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8685, i16 0, i16 8686, i16 2141, i16 4477, i16 2868, i16 8687, i16 8688, i16 8689, i16 8690, i16 0, i16 0, i16 8691, i16 8692, i16 0, i16 3698, i16 0, i16 4473, i16 8693, i16 8694, i16 0, i16 0, i16 4479, i16 8695, i16 1682, i16 8696, i16 2292, i16 8697, i16 8698, i16 797, i16 0, i16 0, i16 4592, i16 0, i16 8825, i16 2551, i16 4586, i16 4593, i16 4588, i16 4595, i16 4591, i16 0, i16 4590, i16 2986, i16 8826, i16 4584, i16 1026, i16 4582, i16 1296, i16 2520, i16 4578, i16 8827, i16 8828, i16 4581, i16 1611, i16 2308, i16 8829, i16 2084, i16 4589, i16 2957, i16 0, i16 0, i16 0, i16 0, i16 1265, i16 2324, i16 1901, i16 3479, i16 4245, i16 0, i16 8355, i16 8356, i16 0, i16 0, i16 8357, i16 8358, i16 1275, i16 8359, i16 1728, i16 8360, i16 8361, i16 1045, i16 906, i16 2073, i16 973, i16 8362, i16 4246, i16 3509, i16 8363, i16 0, i16 8364, i16 0, i16 0, i16 2008, i16 0, i16 0, i16 3570, i16 2894, i16 0, i16 0, i16 0, i16 0, i16 850, i16 12532, i16 2316, i16 1895, i16 0, i16 0, i16 0, i16 12533, i16 3212, i16 12534, i16 871, i16 0, i16 0, i16 0, i16 3642, i16 3546, i16 0, i16 6745, i16 12535, i16 2756, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7672, i16 0, i16 3030, i16 3233, i16 0, i16 3875, i16 7673, i16 3559, i16 3876, i16 0, i16 0, i16 0, i16 3877, i16 0, i16 2813, i16 7674, i16 7675, i16 3878, i16 0, i16 7676, i16 2258, i16 1779, i16 1487, i16 3879, i16 1820, i16 1670, i16 7677, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3834, i16 0, i16 7631, i16 2907, i16 7632, i16 0, i16 2363, i16 3836, i16 3837, i16 3013, i16 1585, i16 3686, i16 3838, i16 0, i16 0, i16 1315, i16 0, i16 0, i16 0, i16 3217, i16 2459, i16 1390, i16 2740, i16 0, i16 0, i16 0, i16 1486, i16 0, i16 7633, i16 0, i16 0, i16 0, i16 13052, i16 0, i16 0, i16 0, i16 0, i16 13053, i16 0, i16 0, i16 13051, i16 0, i16 0, i16 0, i16 13054, i16 0, i16 13055, i16 13056, i16 13057, i16 0, i16 0, i16 13058, i16 13059, i16 0, i16 0, i16 13060, i16 7032, i16 7033, i16 13061, i16 13062, i16 7034, i16 0, i16 0, i16 0, i16 9469, i16 0, i16 9470, i16 9471, i16 0, i16 0, i16 4997, i16 9472, i16 0, i16 0, i16 0, i16 9473, i16 9474, i16 1844, i16 9475, i16 3394, i16 9476, i16 4998, i16 4999, i16 0, i16 0, i16 1219, i16 0, i16 9477, i16 0, i16 5000, i16 0, i16 0, i16 0, i16 9478, i16 0, i16 2304, i16 0, i16 6423, i16 11858, i16 11859, i16 0, i16 11860, i16 1554, i16 0, i16 6420, i16 6421, i16 11861, i16 0, i16 0, i16 3668, i16 11862, i16 11864, i16 11865, i16 2648, i16 11866, i16 2352, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6424, i16 11867, i16 0, i16 6427, i16 0, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 0, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 520, i16 521, i16 522, i16 523, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 0, i16 1028, i16 1703, i16 6923, i16 6922, i16 3382, i16 0, i16 0, i16 12844, i16 0, i16 0, i16 12845, i16 12846, i16 6925, i16 6926, i16 6924, i16 0, i16 6927, i16 0, i16 0, i16 3349, i16 12847, i16 12848, i16 12849, i16 6928, i16 0, i16 1306, i16 12850, i16 0, i16 0, i16 12851, i16 0, i16 0, i16 6661, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6659, i16 0, i16 0, i16 12412, i16 12413, i16 0, i16 12414, i16 12415, i16 12416, i16 12417, i16 6660, i16 6658, i16 0, i16 2525, i16 0, i16 6662, i16 12418, i16 0, i16 12420, i16 0, i16 12419, i16 0, i16 12549, i16 6764, i16 12550, i16 6761, i16 0, i16 6762, i16 0, i16 6763, i16 6765, i16 12551, i16 0, i16 0, i16 0, i16 12552, i16 12553, i16 0, i16 0, i16 2285, i16 0, i16 0, i16 12554, i16 3464, i16 12555, i16 12556, i16 2286, i16 12557, i16 12558, i16 6766, i16 0, i16 3084, i16 0, i16 0, i16 6663, i16 0, i16 12421, i16 6665, i16 12422, i16 0, i16 0, i16 12423, i16 0, i16 12424, i16 0, i16 12425, i16 0, i16 0, i16 0, i16 0, i16 1174, i16 6664, i16 3467, i16 0, i16 12426, i16 0, i16 0, i16 0, i16 12427, i16 6676, i16 6666, i16 12428, i16 0, i16 6669, i16 12429, i16 0, i16 4105, i16 8057, i16 0, i16 1690, i16 8058, i16 2550, i16 8059, i16 8060, i16 4102, i16 2683, i16 8061, i16 0, i16 8062, i16 8063, i16 8064, i16 8065, i16 8066, i16 0, i16 8067, i16 8068, i16 8069, i16 0, i16 8070, i16 0, i16 8071, i16 8072, i16 8073, i16 8074, i16 0, i16 8075, i16 4106, i16 0, i16 6409, i16 11827, i16 0, i16 11828, i16 2647, i16 0, i16 0, i16 11829, i16 0, i16 898, i16 0, i16 0, i16 11830, i16 0, i16 0, i16 11831, i16 11832, i16 0, i16 0, i16 0, i16 11833, i16 0, i16 0, i16 0, i16 6410, i16 0, i16 0, i16 0, i16 0, i16 11834, i16 11835, i16 0, i16 3338, i16 2521, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3370, i16 0, i16 0, i16 5024, i16 0, i16 9517, i16 5025, i16 9518, i16 980, i16 9519, i16 0, i16 0, i16 0, i16 3197, i16 3470, i16 5027, i16 1876, i16 2095, i16 5020, i16 5026, i16 911, i16 0, i16 3595, i16 0, i16 7373, i16 7374, i16 0, i16 3223, i16 0, i16 7375, i16 0, i16 3714, i16 7376, i16 0, i16 2601, i16 7377, i16 7378, i16 7379, i16 3715, i16 1399, i16 0, i16 0, i16 7380, i16 3716, i16 0, i16 1182, i16 2547, i16 0, i16 1944, i16 3717, i16 0, i16 0, i16 3718, i16 0, i16 4364, i16 4365, i16 2956, i16 0, i16 0, i16 8542, i16 0, i16 4366, i16 3652, i16 3672, i16 8544, i16 8543, i16 0, i16 8545, i16 4368, i16 4367, i16 8546, i16 8547, i16 1066, i16 8548, i16 8549, i16 4369, i16 0, i16 0, i16 0, i16 4372, i16 4373, i16 8550, i16 4371, i16 8551, i16 3127, i16 0, i16 1549, i16 1851, i16 0, i16 0, i16 3079, i16 10923, i16 10924, i16 0, i16 1507, i16 3318, i16 10925, i16 5857, i16 5855, i16 0, i16 1637, i16 0, i16 1638, i16 818, i16 0, i16 1757, i16 0, i16 0, i16 0, i16 10926, i16 10927, i16 2964, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3599, i16 9227, i16 4820, i16 9228, i16 2970, i16 9229, i16 0, i16 9230, i16 0, i16 0, i16 0, i16 0, i16 4828, i16 0, i16 4815, i16 0, i16 0, i16 0, i16 765, i16 4817, i16 0, i16 9231, i16 1619, i16 9232, i16 0, i16 9233, i16 4819, i16 9234, i16 4818, i16 0, i16 4814, i16 0, i16 4879, i16 0, i16 4887, i16 0, i16 9315, i16 0, i16 7096, i16 9316, i16 0, i16 4884, i16 1620, i16 2665, i16 2411, i16 4882, i16 0, i16 4877, i16 9317, i16 0, i16 4880, i16 0, i16 0, i16 9318, i16 9319, i16 3516, i16 3357, i16 0, i16 0, i16 0, i16 4885, i16 4895, i16 0, i16 0, i16 11023, i16 11024, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11025, i16 5925, i16 1641, i16 5926, i16 3045, i16 0, i16 5940, i16 0, i16 0, i16 0, i16 11026, i16 5928, i16 11027, i16 2478, i16 2992, i16 1528, i16 5927, i16 2348, i16 11028, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5395, i16 5396, i16 0, i16 10200, i16 10201, i16 0, i16 5400, i16 5397, i16 5398, i16 5399, i16 0, i16 5401, i16 10202, i16 10203, i16 10204, i16 5402, i16 10205, i16 5403, i16 0, i16 10206, i16 0, i16 5404, i16 0, i16 5405, i16 0, i16 3016, i16 2767, i16 5406, i16 2989, i16 3115, i16 0, i16 0, i16 8468, i16 4323, i16 8469, i16 4322, i16 0, i16 0, i16 4321, i16 8470, i16 0, i16 8471, i16 2791, i16 4300, i16 0, i16 0, i16 0, i16 4329, i16 0, i16 8472, i16 8473, i16 8474, i16 8475, i16 0, i16 0, i16 0, i16 8476, i16 0, i16 8477, i16 0, i16 4325, i16 0, i16 8478, i16 0, i16 6679, i16 0, i16 12440, i16 12439, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1304, i16 3121, i16 0, i16 9655, i16 0, i16 1904, i16 0, i16 9656, i16 1678, i16 9657, i16 0, i16 9658, i16 9659, i16 0, i16 3678, i16 0, i16 5110, i16 0, i16 5122, i16 912, i16 2413, i16 9660, i16 0, i16 9661, i16 0, i16 9662, i16 9663, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8729, i16 4504, i16 0, i16 4505, i16 8730, i16 8731, i16 4494, i16 1871, i16 8732, i16 4498, i16 2491, i16 1609, i16 4480, i16 2176, i16 0, i16 0, i16 0, i16 0, i16 4518, i16 0, i16 3262, i16 0, i16 0, i16 4508, i16 4509, i16 4510, i16 0, i16 0, i16 4517, i16 8733, i16 4516, i16 0, i16 9757, i16 0, i16 0, i16 0, i16 9758, i16 9759, i16 0, i16 0, i16 3666, i16 2225, i16 0, i16 0, i16 0, i16 913, i16 0, i16 0, i16 0, i16 5174, i16 0, i16 9760, i16 9761, i16 9762, i16 9763, i16 9764, i16 5173, i16 0, i16 9765, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7458, i16 7459, i16 1127, i16 7460, i16 7461, i16 3762, i16 0, i16 3754, i16 7462, i16 7463, i16 3632, i16 7464, i16 1867, i16 7465, i16 3755, i16 7466, i16 3760, i16 7467, i16 7468, i16 7469, i16 0, i16 3763, i16 7470, i16 3756, i16 7471, i16 7472, i16 1310, i16 0, i16 790, i16 7473, i16 7474, i16 0, i16 11555, i16 6226, i16 0, i16 6231, i16 0, i16 11556, i16 3192, i16 0, i16 0, i16 6233, i16 0, i16 6232, i16 11557, i16 11558, i16 11559, i16 1103, i16 0, i16 3294, i16 6234, i16 0, i16 11560, i16 11561, i16 0, i16 11562, i16 11563, i16 11564, i16 0, i16 11565, i16 6246, i16 6236, i16 0, i16 0, i16 1572, i16 0, i16 0, i16 0, i16 0, i16 5480, i16 2711, i16 0, i16 0, i16 10359, i16 0, i16 5483, i16 1050, i16 5478, i16 10360, i16 0, i16 3075, i16 0, i16 855, i16 10361, i16 1761, i16 0, i16 3709, i16 10362, i16 0, i16 5482, i16 0, i16 0, i16 10364, i16 10365, i16 10366, i16 0, i16 6950, i16 6947, i16 6946, i16 6948, i16 12905, i16 0, i16 12906, i16 1466, i16 0, i16 12907, i16 12908, i16 0, i16 0, i16 0, i16 12909, i16 6954, i16 6953, i16 6952, i16 12910, i16 0, i16 764, i16 0, i16 12911, i16 12912, i16 12913, i16 12914, i16 0, i16 0, i16 12915, i16 0, i16 12916, i16 0, i16 2856, i16 4921, i16 0, i16 9357, i16 0, i16 4923, i16 9358, i16 0, i16 0, i16 9359, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9360, i16 4917, i16 9361, i16 0, i16 0, i16 0, i16 0, i16 4919, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9362, i16 1091, i16 0, i16 11816, i16 0, i16 11817, i16 6393, i16 6394, i16 0, i16 6396, i16 2440, i16 11818, i16 6395, i16 1191, i16 0, i16 6398, i16 0, i16 6397, i16 6399, i16 0, i16 11819, i16 6401, i16 6403, i16 0, i16 6404, i16 11820, i16 0, i16 0, i16 0, i16 11821, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6188, i16 6187, i16 6118, i16 0, i16 0, i16 0, i16 6192, i16 11497, i16 0, i16 0, i16 0, i16 0, i16 11498, i16 11499, i16 0, i16 11500, i16 6189, i16 11501, i16 0, i16 0, i16 11502, i16 6190, i16 0, i16 0, i16 6191, i16 11503, i16 6193, i16 11504, i16 0, i16 0, i16 0, i16 0, i16 8237, i16 0, i16 8238, i16 8239, i16 0, i16 4188, i16 0, i16 8240, i16 1827, i16 8241, i16 1826, i16 0, i16 8242, i16 0, i16 0, i16 770, i16 1537, i16 8243, i16 2260, i16 794, i16 0, i16 0, i16 0, i16 0, i16 4192, i16 4193, i16 0, i16 4190, i16 8244, i16 8245, i16 8246, i16 0, i16 4912, i16 4937, i16 4936, i16 0, i16 0, i16 9383, i16 0, i16 9385, i16 9384, i16 0, i16 0, i16 9386, i16 0, i16 0, i16 0, i16 9387, i16 4942, i16 0, i16 3665, i16 9388, i16 9389, i16 9390, i16 0, i16 0, i16 0, i16 4945, i16 1400, i16 9391, i16 9392, i16 4941, i16 4943, i16 0, i16 12592, i16 0, i16 6789, i16 12593, i16 12594, i16 6790, i16 12595, i16 6791, i16 12596, i16 12597, i16 6792, i16 12598, i16 12599, i16 12600, i16 0, i16 12601, i16 12602, i16 0, i16 1179, i16 12603, i16 0, i16 0, i16 12604, i16 12605, i16 12606, i16 0, i16 12610, i16 6793, i16 12607, i16 12608, i16 0, i16 0, i16 819, i16 0, i16 12066, i16 12067, i16 12068, i16 0, i16 12069, i16 12070, i16 0, i16 1648, i16 0, i16 12064, i16 0, i16 3685, i16 0, i16 0, i16 0, i16 12079, i16 0, i16 0, i16 12071, i16 0, i16 12072, i16 12073, i16 12074, i16 0, i16 6560, i16 12075, i16 12076, i16 0, i16 12077, i16 0, i16 6451, i16 11911, i16 11912, i16 6454, i16 6453, i16 0, i16 6452, i16 0, i16 11913, i16 6456, i16 6455, i16 0, i16 3463, i16 0, i16 0, i16 11914, i16 6458, i16 11915, i16 6457, i16 6459, i16 11916, i16 0, i16 0, i16 0, i16 6460, i16 11917, i16 11918, i16 0, i16 11919, i16 11920, i16 0, i16 0, i16 1332, i16 9520, i16 0, i16 5017, i16 5022, i16 9521, i16 0, i16 0, i16 2333, i16 2988, i16 0, i16 3072, i16 9522, i16 0, i16 9523, i16 9524, i16 9525, i16 9526, i16 5019, i16 9527, i16 3284, i16 9528, i16 5021, i16 0, i16 5030, i16 9529, i16 5028, i16 9530, i16 5023, i16 0, i16 0, i16 0, i16 6708, i16 12480, i16 0, i16 12481, i16 12482, i16 12483, i16 0, i16 6709, i16 0, i16 1754, i16 0, i16 12484, i16 0, i16 6710, i16 6711, i16 0, i16 12485, i16 3324, i16 12486, i16 0, i16 0, i16 0, i16 12487, i16 12488, i16 12489, i16 12490, i16 2386, i16 12491, i16 12492, i16 0, i16 749, i16 0, i16 12852, i16 0, i16 12853, i16 0, i16 12854, i16 12855, i16 0, i16 12856, i16 0, i16 12857, i16 12858, i16 12859, i16 12860, i16 12861, i16 3664, i16 0, i16 0, i16 0, i16 12862, i16 6929, i16 12863, i16 0, i16 12864, i16 12865, i16 12866, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12867, i16 0, i16 10805, i16 10806, i16 0, i16 0, i16 10807, i16 5742, i16 5750, i16 0, i16 5758, i16 5757, i16 10808, i16 0, i16 3373, i16 10809, i16 10810, i16 1414, i16 0, i16 0, i16 10811, i16 0, i16 0, i16 0, i16 0, i16 10812, i16 5756, i16 0, i16 5760, i16 5759, i16 5763, i16 10813, i16 5765, i16 0, i16 2872, i16 2230, i16 12031, i16 12032, i16 2588, i16 0, i16 1397, i16 0, i16 6536, i16 3494, i16 870, i16 12033, i16 3244, i16 998, i16 6531, i16 6532, i16 6533, i16 6534, i16 2840, i16 2534, i16 812, i16 6538, i16 0, i16 6539, i16 7097, i16 0, i16 12034, i16 2466, i16 12035, i16 6540, i16 0, i16 0, i16 6969, i16 12928, i16 12929, i16 6968, i16 6967, i16 12930, i16 12931, i16 12932, i16 12933, i16 12934, i16 0, i16 0, i16 3136, i16 6965, i16 828, i16 6970, i16 12935, i16 6972, i16 0, i16 0, i16 12936, i16 12937, i16 12938, i16 0, i16 1106, i16 6951, i16 862, i16 0, i16 12939, i16 6974, i16 0, i16 0, i16 9018, i16 4694, i16 4695, i16 0, i16 9019, i16 0, i16 3213, i16 4241, i16 2287, i16 9020, i16 0, i16 3139, i16 0, i16 1741, i16 0, i16 3070, i16 3036, i16 9021, i16 0, i16 0, i16 9022, i16 0, i16 2764, i16 9023, i16 3598, i16 0, i16 4697, i16 1921, i16 9024, i16 0, i16 4698, i16 0, i16 1341, i16 12391, i16 0, i16 6651, i16 6645, i16 12392, i16 12393, i16 6644, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12395, i16 12396, i16 12394, i16 12397, i16 12398, i16 0, i16 12399, i16 0, i16 0, i16 0, i16 6462, i16 11921, i16 0, i16 0, i16 0, i16 0, i16 11922, i16 0, i16 11923, i16 6461, i16 2195, i16 6463, i16 11924, i16 11925, i16 1386, i16 6464, i16 6466, i16 0, i16 11926, i16 0, i16 11927, i16 0, i16 0, i16 0, i16 0, i16 11928, i16 11929, i16 0, i16 0, i16 6467, i16 0, i16 0, i16 10814, i16 1807, i16 5761, i16 0, i16 0, i16 10815, i16 10816, i16 5766, i16 5767, i16 10817, i16 0, i16 5768, i16 10818, i16 5774, i16 2746, i16 5770, i16 10819, i16 5769, i16 5771, i16 5772, i16 10820, i16 5773, i16 0, i16 10821, i16 0, i16 10822, i16 5775, i16 5776, i16 10823, i16 10824, i16 0, i16 0, i16 11328, i16 6096, i16 0, i16 0, i16 0, i16 0, i16 11329, i16 0, i16 11330, i16 0, i16 0, i16 0, i16 3557, i16 0, i16 5430, i16 6098, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11331, i16 0, i16 11332, i16 0, i16 11333, i16 0, i16 11334, i16 11335, i16 0, i16 6099, i16 0, i16 8772, i16 8773, i16 4542, i16 0, i16 8776, i16 4541, i16 8774, i16 0, i16 8775, i16 0, i16 0, i16 8777, i16 8778, i16 0, i16 8779, i16 0, i16 0, i16 2633, i16 0, i16 4545, i16 0, i16 4543, i16 4533, i16 1495, i16 0, i16 4544, i16 0, i16 4548, i16 4547, i16 4549, i16 4546, i16 0, i16 9798, i16 0, i16 0, i16 0, i16 9799, i16 9800, i16 9801, i16 0, i16 3656, i16 9802, i16 9803, i16 5194, i16 0, i16 2338, i16 0, i16 9804, i16 0, i16 9805, i16 0, i16 0, i16 5190, i16 5195, i16 9806, i16 0, i16 915, i16 9807, i16 0, i16 9808, i16 0, i16 9809, i16 0, i16 0, i16 2122, i16 6364, i16 11773, i16 11774, i16 0, i16 11775, i16 0, i16 11776, i16 11777, i16 1666, i16 3724, i16 6365, i16 11778, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11779, i16 0, i16 11780, i16 11781, i16 0, i16 6366, i16 3126, i16 6367, i16 11782, i16 6375, i16 0, i16 11783, i16 0, i16 0, i16 1355, i16 1412, i16 5657, i16 0, i16 0, i16 10668, i16 10669, i16 0, i16 3209, i16 0, i16 2227, i16 0, i16 3393, i16 0, i16 10670, i16 5658, i16 0, i16 3584, i16 0, i16 10671, i16 2991, i16 0, i16 2381, i16 2927, i16 0, i16 0, i16 2012, i16 0, i16 0, i16 10672, i16 777, i16 0, i16 13131, i16 0, i16 13132, i16 13133, i16 13134, i16 13135, i16 13136, i16 0, i16 0, i16 7078, i16 5519, i16 0, i16 0, i16 6400, i16 6795, i16 0, i16 0, i16 7079, i16 13137, i16 7080, i16 13138, i16 13139, i16 13140, i16 13141, i16 0, i16 13142, i16 0, i16 0, i16 13143, i16 13144, i16 7082, i16 0, i16 12365, i16 0, i16 12366, i16 12367, i16 0, i16 12368, i16 1054, i16 12369, i16 12375, i16 0, i16 12370, i16 6638, i16 6639, i16 2660, i16 0, i16 6637, i16 0, i16 0, i16 0, i16 12371, i16 12372, i16 12373, i16 0, i16 0, i16 6641, i16 12374, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1872, i16 4600, i16 8835, i16 8836, i16 0, i16 0, i16 1835, i16 4601, i16 781, i16 8837, i16 8838, i16 4596, i16 8839, i16 0, i16 0, i16 8840, i16 2634, i16 0, i16 8841, i16 0, i16 0, i16 8842, i16 0, i16 8843, i16 1298, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1329, i16 0, i16 1618, i16 1119, i16 0, i16 0, i16 0, i16 0, i16 9199, i16 9198, i16 4803, i16 1111, i16 4809, i16 9200, i16 9201, i16 0, i16 9202, i16 9203, i16 9204, i16 4806, i16 9205, i16 2332, i16 0, i16 0, i16 0, i16 1070, i16 1697, i16 0, i16 9206, i16 1069, i16 1732, i16 0, i16 9207, i16 0, i16 6996, i16 12990, i16 12991, i16 6993, i16 12988, i16 6999, i16 12992, i16 7000, i16 0, i16 12993, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7005, i16 7004, i16 0, i16 12994, i16 12995, i16 0, i16 0, i16 0, i16 0, i16 7006, i16 0, i16 0, i16 852, i16 7001, i16 7002, i16 12996, i16 0, i16 4182, i16 2908, i16 3063, i16 3426, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2912, i16 8220, i16 8221, i16 4191, i16 8222, i16 0, i16 0, i16 0, i16 8223, i16 1239, i16 0, i16 8224, i16 3508, i16 8225, i16 0, i16 3392, i16 0, i16 4286, i16 0, i16 4183, i16 0, i16 8226, i16 0, i16 1880, i16 0, i16 0, i16 0, i16 5494, i16 5489, i16 10378, i16 10379, i16 10380, i16 5495, i16 5490, i16 10381, i16 0, i16 10382, i16 0, i16 3057, i16 5488, i16 10383, i16 10384, i16 5491, i16 10385, i16 10386, i16 0, i16 0, i16 0, i16 5498, i16 10388, i16 0, i16 0, i16 0, i16 10389, i16 0, i16 9560, i16 0, i16 5043, i16 5045, i16 9561, i16 865, i16 9562, i16 0, i16 1623, i16 3677, i16 0, i16 1056, i16 0, i16 3161, i16 9563, i16 9564, i16 0, i16 0, i16 0, i16 3536, i16 0, i16 0, i16 1031, i16 2182, i16 5047, i16 0, i16 0, i16 9565, i16 0, i16 0, i16 0, i16 0, i16 12376, i16 0, i16 6647, i16 12377, i16 12378, i16 12379, i16 12380, i16 6650, i16 12381, i16 12382, i16 12383, i16 12384, i16 12385, i16 0, i16 0, i16 6649, i16 2732, i16 0, i16 12386, i16 0, i16 0, i16 6642, i16 6643, i16 6646, i16 12387, i16 0, i16 0, i16 12388, i16 6648, i16 12389, i16 12390, i16 0, i16 11868, i16 0, i16 0, i16 11869, i16 11870, i16 11871, i16 0, i16 6425, i16 6426, i16 3528, i16 11872, i16 0, i16 0, i16 0, i16 2820, i16 6430, i16 11873, i16 0, i16 0, i16 11874, i16 0, i16 11875, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6428, i16 6429, i16 6431, i16 0, i16 12126, i16 2216, i16 6569, i16 12127, i16 6570, i16 0, i16 12128, i16 0, i16 6571, i16 3550, i16 0, i16 1990, i16 12129, i16 0, i16 0, i16 0, i16 0, i16 6573, i16 6572, i16 12130, i16 1649, i16 0, i16 1674, i16 1811, i16 12131, i16 12132, i16 12133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4703, i16 9033, i16 4701, i16 4704, i16 3590, i16 4702, i16 0, i16 9034, i16 9035, i16 0, i16 2340, i16 4705, i16 0, i16 9036, i16 2455, i16 9037, i16 0, i16 4706, i16 0, i16 9038, i16 0, i16 9039, i16 1211, i16 9040, i16 4708, i16 0, i16 4707, i16 0, i16 0, i16 0, i16 9041, i16 0, i16 11104, i16 11105, i16 5986, i16 0, i16 0, i16 0, i16 0, i16 826, i16 0, i16 0, i16 5977, i16 11106, i16 11107, i16 11108, i16 5976, i16 11109, i16 5971, i16 5970, i16 11110, i16 5968, i16 5967, i16 2598, i16 11111, i16 2528, i16 5973, i16 11112, i16 0, i16 11113, i16 11114, i16 0, i16 0, i16 0, i16 11364, i16 0, i16 6107, i16 2941, i16 0, i16 11365, i16 11366, i16 11367, i16 6108, i16 6109, i16 6119, i16 0, i16 11368, i16 0, i16 6113, i16 6116, i16 11369, i16 0, i16 11370, i16 11371, i16 11372, i16 6112, i16 11373, i16 11374, i16 11375, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11376, i16 0, i16 12134, i16 6576, i16 12135, i16 0, i16 12136, i16 12137, i16 2037, i16 0, i16 6575, i16 12138, i16 6574, i16 0, i16 2510, i16 12139, i16 0, i16 1576, i16 12140, i16 2284, i16 12141, i16 12142, i16 12143, i16 0, i16 3017, i16 12144, i16 0, i16 0, i16 0, i16 1992, i16 0, i16 12145, i16 0, i16 0, i16 4458, i16 8665, i16 4461, i16 4463, i16 0, i16 8666, i16 0, i16 8667, i16 1902, i16 8668, i16 4469, i16 2705, i16 4459, i16 8669, i16 0, i16 0, i16 8670, i16 4467, i16 8671, i16 1022, i16 8672, i16 4465, i16 4466, i16 8673, i16 0, i16 4462, i16 4464, i16 0, i16 8674, i16 8675, i16 1568, i16 0, i16 7018, i16 7024, i16 13030, i16 7017, i16 0, i16 7022, i16 13031, i16 0, i16 13032, i16 13033, i16 0, i16 0, i16 0, i16 0, i16 7023, i16 0, i16 0, i16 0, i16 7026, i16 13034, i16 13035, i16 13036, i16 13037, i16 0, i16 7025, i16 13038, i16 0, i16 0, i16 0, i16 13039, i16 13040, i16 0, i16 10858, i16 10859, i16 5804, i16 1421, i16 0, i16 10860, i16 0, i16 2345, i16 1248, i16 10861, i16 0, i16 0, i16 10862, i16 5808, i16 5805, i16 0, i16 0, i16 5806, i16 0, i16 10863, i16 0, i16 5809, i16 0, i16 5810, i16 5807, i16 0, i16 0, i16 10864, i16 848, i16 0, i16 10865, i16 0, i16 3180, i16 2325, i16 0, i16 1918, i16 4261, i16 2074, i16 4262, i16 4263, i16 796, i16 2463, i16 2205, i16 8379, i16 4264, i16 2832, i16 2075, i16 0, i16 2076, i16 0, i16 4265, i16 0, i16 0, i16 2326, i16 8380, i16 0, i16 0, i16 2077, i16 0, i16 0, i16 0, i16 8381, i16 8382, i16 0, i16 12400, i16 12401, i16 6655, i16 12402, i16 0, i16 0, i16 6656, i16 12403, i16 12404, i16 0, i16 0, i16 0, i16 12405, i16 12406, i16 12407, i16 6657, i16 0, i16 0, i16 6654, i16 6653, i16 12408, i16 12409, i16 12410, i16 2127, i16 2823, i16 6652, i16 0, i16 0, i16 0, i16 0, i16 12411, i16 0, i16 8562, i16 8563, i16 8564, i16 8565, i16 3456, i16 1522, i16 1541, i16 8566, i16 4392, i16 0, i16 8567, i16 8568, i16 4393, i16 8569, i16 4399, i16 8570, i16 1942, i16 0, i16 0, i16 8571, i16 2630, i16 8572, i16 1324, i16 4394, i16 0, i16 0, i16 8573, i16 3106, i16 8574, i16 2569, i16 8575, i16 0, i16 12146, i16 6577, i16 0, i16 2124, i16 0, i16 12147, i16 0, i16 12148, i16 0, i16 6580, i16 6578, i16 12149, i16 12150, i16 12151, i16 6579, i16 12152, i16 12153, i16 12154, i16 12155, i16 6582, i16 6581, i16 12156, i16 0, i16 2151, i16 0, i16 6583, i16 12157, i16 12158, i16 12159, i16 0, i16 12160, i16 0, i16 3960, i16 7810, i16 1256, i16 1065, i16 0, i16 0, i16 0, i16 1662, i16 1255, i16 2688, i16 844, i16 2830, i16 3407, i16 1592, i16 3560, i16 2758, i16 1591, i16 0, i16 7811, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7812, i16 1418, i16 0, i16 3969, i16 0, i16 1376, i16 0, i16 3705, i16 11299, i16 0, i16 0, i16 0, i16 0, i16 11300, i16 0, i16 6080, i16 11301, i16 11302, i16 0, i16 3556, i16 11303, i16 6082, i16 6084, i16 0, i16 0, i16 0, i16 0, i16 6085, i16 0, i16 0, i16 11305, i16 0, i16 11306, i16 0, i16 6088, i16 6086, i16 0, i16 11307, i16 0, i16 10363, i16 0, i16 5484, i16 10367, i16 0, i16 0, i16 3232, i16 10368, i16 2306, i16 5486, i16 0, i16 10369, i16 10370, i16 0, i16 5487, i16 10371, i16 10372, i16 10373, i16 10374, i16 0, i16 5485, i16 0, i16 0, i16 0, i16 0, i16 1073, i16 10375, i16 5493, i16 10376, i16 5492, i16 10377, i16 0, i16 12670, i16 1233, i16 12671, i16 0, i16 12672, i16 12673, i16 12674, i16 0, i16 6823, i16 12675, i16 6824, i16 0, i16 3910, i16 4959, i16 3052, i16 0, i16 0, i16 836, i16 12676, i16 772, i16 0, i16 12677, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1863, i16 3299, i16 2155, i16 0, i16 0, i16 1408, i16 6500, i16 6501, i16 6502, i16 11984, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8328, i16 2139, i16 0, i16 0, i16 8329, i16 0, i16 0, i16 0, i16 0, i16 4225, i16 0, i16 2685, i16 8330, i16 0, i16 0, i16 876, i16 0, i16 4223, i16 0, i16 8324, i16 0, i16 4226, i16 0, i16 8331, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4227, i16 0, i16 0, i16 4489, i16 8720, i16 0, i16 0, i16 0, i16 0, i16 4497, i16 4496, i16 0, i16 8721, i16 8722, i16 4501, i16 0, i16 0, i16 0, i16 8723, i16 8724, i16 0, i16 0, i16 4502, i16 8725, i16 8726, i16 8727, i16 0, i16 8728, i16 0, i16 0, i16 4500, i16 4503, i16 4495, i16 4499, i16 0, i16 8076, i16 2221, i16 8077, i16 0, i16 0, i16 0, i16 0, i16 4104, i16 4107, i16 0, i16 1434, i16 8078, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4108, i16 8079, i16 8088, i16 0, i16 8080, i16 0, i16 8081, i16 8082, i16 0, i16 8083, i16 8084, i16 8085, i16 8086, i16 0, i16 12940, i16 0, i16 12941, i16 12942, i16 12943, i16 6973, i16 6971, i16 2544, i16 12944, i16 12945, i16 0, i16 0, i16 0, i16 12946, i16 12947, i16 12948, i16 0, i16 3363, i16 12949, i16 12950, i16 0, i16 12951, i16 3623, i16 12952, i16 0, i16 6975, i16 12953, i16 12960, i16 12954, i16 12955, i16 12956, i16 0, i16 654, i16 7143, i16 7144, i16 7145, i16 7146, i16 7147, i16 7148, i16 7149, i16 7150, i16 7151, i16 7152, i16 7153, i16 0, i16 7154, i16 7155, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 0, i16 1423, i16 6557, i16 0, i16 6558, i16 12078, i16 0, i16 0, i16 3179, i16 0, i16 0, i16 12081, i16 0, i16 1079, i16 0, i16 12082, i16 12083, i16 0, i16 0, i16 0, i16 12084, i16 3496, i16 12080, i16 1340, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2771, i16 12085, i16 12086, i16 0, i16 10127, i16 5350, i16 0, i16 0, i16 10128, i16 5345, i16 5346, i16 0, i16 5349, i16 5348, i16 3100, i16 0, i16 0, i16 2377, i16 2376, i16 10129, i16 1246, i16 10130, i16 10131, i16 5351, i16 10132, i16 0, i16 0, i16 0, i16 10133, i16 5352, i16 0, i16 10134, i16 5353, i16 0, i16 0, i16 0, i16 11407, i16 0, i16 11408, i16 0, i16 6142, i16 0, i16 0, i16 11409, i16 6143, i16 0, i16 0, i16 0, i16 0, i16 11410, i16 11411, i16 0, i16 11412, i16 11413, i16 0, i16 6138, i16 0, i16 0, i16 6140, i16 0, i16 11414, i16 11415, i16 6141, i16 11416, i16 11417, i16 11418, i16 6139, i16 0, i16 5010, i16 5007, i16 3535, i16 0, i16 9507, i16 9508, i16 9509, i16 2657, i16 9510, i16 0, i16 0, i16 2870, i16 5008, i16 0, i16 0, i16 5016, i16 0, i16 5015, i16 1406, i16 9511, i16 9512, i16 946, i16 9513, i16 9514, i16 1712, i16 5009, i16 5011, i16 9515, i16 0, i16 0, i16 9516, i16 0, i16 8851, i16 8852, i16 8853, i16 8854, i16 0, i16 8855, i16 0, i16 0, i16 2447, i16 8856, i16 8857, i16 1790, i16 4606, i16 8858, i16 4608, i16 4604, i16 0, i16 8859, i16 8860, i16 8861, i16 3254, i16 0, i16 2654, i16 8862, i16 0, i16 0, i16 8863, i16 2403, i16 0, i16 0, i16 0, i16 0, i16 11163, i16 0, i16 6002, i16 2839, i16 0, i16 11164, i16 6007, i16 0, i16 0, i16 11165, i16 6004, i16 3291, i16 6010, i16 809, i16 11166, i16 0, i16 11167, i16 0, i16 5998, i16 0, i16 11168, i16 0, i16 0, i16 0, i16 11169, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3228, i16 2651, i16 1687, i16 0, i16 1655, i16 2038, i16 12619, i16 2215, i16 0, i16 12620, i16 0, i16 6801, i16 12622, i16 12623, i16 6800, i16 3505, i16 1193, i16 3051, i16 2873, i16 12624, i16 0, i16 12625, i16 2247, i16 3611, i16 12621, i16 1462, i16 0, i16 12626, i16 0, i16 12627, i16 0, i16 0, i16 4765, i16 0, i16 0, i16 0, i16 9146, i16 4768, i16 9147, i16 9148, i16 2244, i16 0, i16 0, i16 9149, i16 0, i16 3562, i16 786, i16 1749, i16 2465, i16 0, i16 1934, i16 9150, i16 9151, i16 2144, i16 0, i16 0, i16 4771, i16 0, i16 0, i16 2765, i16 9152, i16 4769, i16 2448, i16 0, i16 3230, i16 8167, i16 0, i16 8165, i16 4143, i16 0, i16 2568, i16 8168, i16 0, i16 1018, i16 0, i16 2138, i16 8169, i16 8170, i16 0, i16 8171, i16 4145, i16 8172, i16 4144, i16 8173, i16 1663, i16 8174, i16 4146, i16 4148, i16 4147, i16 8175, i16 0, i16 4150, i16 8176, i16 4139, i16 4152, i16 0, i16 6046, i16 0, i16 0, i16 0, i16 0, i16 11204, i16 0, i16 11205, i16 11206, i16 11207, i16 0, i16 0, i16 6024, i16 0, i16 11208, i16 0, i16 11209, i16 1114, i16 0, i16 11210, i16 0, i16 0, i16 0, i16 2149, i16 6035, i16 11211, i16 6040, i16 2426, i16 11212, i16 11213, i16 6036, i16 0, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 0, i16 6047, i16 11241, i16 11242, i16 11243, i16 11244, i16 2678, i16 11245, i16 0, i16 0, i16 11246, i16 11247, i16 6052, i16 839, i16 0, i16 11248, i16 0, i16 0, i16 11229, i16 11249, i16 11250, i16 2439, i16 11251, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3224, i16 0, i16 11252, i16 0, i16 9892, i16 1333, i16 5243, i16 5245, i16 0, i16 5244, i16 9893, i16 0, i16 9894, i16 0, i16 0, i16 9895, i16 0, i16 5246, i16 0, i16 1546, i16 0, i16 5247, i16 0, i16 0, i16 9896, i16 9897, i16 1382, i16 9898, i16 2375, i16 0, i16 1684, i16 0, i16 0, i16 0, i16 9899, i16 0, i16 10918, i16 0, i16 0, i16 5849, i16 5851, i16 5850, i16 3006, i16 10919, i16 2902, i16 0, i16 3689, i16 3010, i16 0, i16 10920, i16 0, i16 0, i16 0, i16 0, i16 5853, i16 0, i16 0, i16 2112, i16 0, i16 3105, i16 0, i16 5854, i16 5852, i16 10921, i16 1167, i16 10922, i16 0, i16 0, i16 7848, i16 3986, i16 0, i16 3995, i16 3988, i16 7849, i16 7850, i16 3992, i16 7851, i16 7852, i16 3993, i16 3989, i16 7853, i16 7854, i16 4022, i16 0, i16 7855, i16 1758, i16 1044, i16 0, i16 0, i16 0, i16 7856, i16 3987, i16 7857, i16 7858, i16 7859, i16 3997, i16 831, i16 3996, i16 7860, i16 0, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 458, i16 459, i16 460, i16 461, i16 0, i16 3248, i16 8554, i16 4385, i16 3673, i16 0, i16 8555, i16 8556, i16 8557, i16 4386, i16 3221, i16 4389, i16 3711, i16 3727, i16 8558, i16 1889, i16 2898, i16 4390, i16 0, i16 1276, i16 2629, i16 835, i16 4391, i16 3195, i16 1607, i16 8559, i16 0, i16 2579, i16 8560, i16 8561, i16 0, i16 2704, i16 0, i16 3000, i16 0, i16 12729, i16 2481, i16 895, i16 1387, i16 0, i16 1388, i16 12730, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2614, i16 6858, i16 1389, i16 12731, i16 12732, i16 1012, i16 0, i16 0, i16 6857, i16 12733, i16 12734, i16 6855, i16 12735, i16 6856, i16 12736, i16 6854, i16 0, i16 3513, i16 4657, i16 0, i16 8965, i16 4653, i16 0, i16 4654, i16 0, i16 8966, i16 8967, i16 8968, i16 8969, i16 2407, i16 8970, i16 0, i16 8971, i16 8972, i16 4652, i16 0, i16 4587, i16 8973, i16 0, i16 8974, i16 4656, i16 0, i16 4651, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6334, i16 11726, i16 11727, i16 11728, i16 11729, i16 11730, i16 0, i16 11731, i16 6338, i16 0, i16 0, i16 6335, i16 11736, i16 6337, i16 6336, i16 0, i16 0, i16 11732, i16 11733, i16 11734, i16 0, i16 6339, i16 0, i16 1890, i16 11735, i16 6341, i16 6340, i16 3167, i16 0, i16 11737, i16 6343, i16 0, i16 11198, i16 6026, i16 0, i16 6021, i16 11199, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2114, i16 0, i16 0, i16 0, i16 0, i16 1982, i16 0, i16 11200, i16 11201, i16 1885, i16 11202, i16 0, i16 0, i16 0, i16 3433, i16 0, i16 0, i16 3134, i16 0, i16 11203, i16 6037, i16 0, i16 6591, i16 0, i16 2689, i16 12170, i16 12171, i16 3336, i16 1401, i16 0, i16 12172, i16 12173, i16 0, i16 12174, i16 12175, i16 12176, i16 12177, i16 12178, i16 12179, i16 0, i16 0, i16 0, i16 6594, i16 6595, i16 12180, i16 0, i16 12181, i16 0, i16 12182, i16 6593, i16 12183, i16 0, i16 6597, i16 0, i16 3009, i16 4355, i16 3219, i16 4356, i16 0, i16 0, i16 0, i16 8521, i16 0, i16 8522, i16 8523, i16 8524, i16 8525, i16 8526, i16 0, i16 8527, i16 0, i16 1140, i16 3220, i16 2922, i16 4358, i16 4359, i16 0, i16 1603, i16 1141, i16 4360, i16 1521, i16 3507, i16 3480, i16 1207, i16 4362, i16 0, i16 3526, i16 0, i16 6257, i16 0, i16 0, i16 3193, i16 2945, i16 6258, i16 11600, i16 6259, i16 1508, i16 0, i16 11601, i16 0, i16 1227, i16 11602, i16 0, i16 0, i16 6260, i16 11603, i16 11604, i16 1854, i16 2940, i16 6261, i16 0, i16 1075, i16 11605, i16 11606, i16 0, i16 0, i16 11607, i16 0, i16 3783, i16 7516, i16 3268, i16 2576, i16 3779, i16 1484, i16 7517, i16 3776, i16 3784, i16 3778, i16 3614, i16 3785, i16 3692, i16 7518, i16 0, i16 7519, i16 0, i16 7520, i16 7521, i16 0, i16 7522, i16 1379, i16 0, i16 0, i16 1483, i16 0, i16 7546, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9159, i16 0, i16 0, i16 9160, i16 4783, i16 0, i16 3091, i16 0, i16 4774, i16 0, i16 4780, i16 4779, i16 0, i16 9161, i16 9162, i16 2296, i16 9163, i16 0, i16 9164, i16 0, i16 3360, i16 9165, i16 3616, i16 9166, i16 9167, i16 3354, i16 9168, i16 977, i16 1841, i16 0, i16 0, i16 0, i16 7112, i16 302, i16 303, i16 7120, i16 0, i16 7113, i16 309, i16 236, i16 7117, i16 7116, i16 0, i16 340, i16 0, i16 7118, i16 7106, i16 296, i16 283, i16 0, i16 0, i16 234, i16 0, i16 367, i16 0, i16 7103, i16 0, i16 7115, i16 0, i16 0, i16 0, i16 0, i16 7114, i16 0, i16 8138, i16 4127, i16 0, i16 8139, i16 0, i16 0, i16 8140, i16 8141, i16 925, i16 0, i16 2741, i16 0, i16 0, i16 0, i16 0, i16 4129, i16 0, i16 4125, i16 0, i16 0, i16 2203, i16 0, i16 0, i16 8142, i16 4133, i16 0, i16 0, i16 8143, i16 0, i16 2013, i16 8144, i16 0, i16 972, i16 4211, i16 0, i16 8307, i16 0, i16 8308, i16 0, i16 8309, i16 1900, i16 0, i16 4210, i16 1492, i16 0, i16 0, i16 8310, i16 4224, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4217, i16 4214, i16 0, i16 0, i16 8311, i16 0, i16 8312, i16 0, i16 0, i16 0, i16 0, i16 6865, i16 12747, i16 12748, i16 12749, i16 6867, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12750, i16 12751, i16 0, i16 1234, i16 6866, i16 12752, i16 12753, i16 2434, i16 1516, i16 0, i16 0, i16 12754, i16 0, i16 0, i16 6869, i16 0, i16 0, i16 0, i16 0, i16 12755, i16 0, i16 0, i16 10449, i16 0, i16 0, i16 0, i16 0, i16 1305, i16 5518, i16 10450, i16 10451, i16 5520, i16 10452, i16 0, i16 0, i16 5521, i16 10453, i16 2916, i16 10454, i16 0, i16 5522, i16 10455, i16 0, i16 0, i16 0, i16 10456, i16 5523, i16 5524, i16 10457, i16 0, i16 1366, i16 984, i16 2850, i16 0, i16 9683, i16 9684, i16 0, i16 2032, i16 0, i16 5139, i16 0, i16 9685, i16 0, i16 0, i16 0, i16 9686, i16 5132, i16 2637, i16 5129, i16 2682, i16 0, i16 0, i16 0, i16 5164, i16 0, i16 0, i16 0, i16 5126, i16 0, i16 5125, i16 0, i16 5134, i16 9687, i16 9688, i16 0, i16 0, i16 12499, i16 840, i16 2211, i16 2059, i16 1178, i16 6721, i16 0, i16 0, i16 0, i16 2977, i16 0, i16 6723, i16 0, i16 12500, i16 0, i16 841, i16 0, i16 6722, i16 2661, i16 12501, i16 3610, i16 2824, i16 6716, i16 3571, i16 0, i16 1514, i16 12502, i16 12503, i16 3530, i16 12504, i16 12505, i16 0, i16 6357, i16 0, i16 0, i16 0, i16 11760, i16 2819, i16 11761, i16 6359, i16 11762, i16 3296, i16 11763, i16 6360, i16 0, i16 6361, i16 11764, i16 6362, i16 11765, i16 0, i16 11766, i16 11767, i16 6363, i16 0, i16 11768, i16 11769, i16 11772, i16 2871, i16 11770, i16 0, i16 11771, i16 0, i16 0, i16 0, i16 11480, i16 0, i16 11481, i16 0, i16 6158, i16 11482, i16 0, i16 0, i16 11483, i16 11484, i16 11485, i16 0, i16 6178, i16 6182, i16 6177, i16 11486, i16 6184, i16 11488, i16 11489, i16 11490, i16 6186, i16 6185, i16 0, i16 11491, i16 11487, i16 11492, i16 11493, i16 11494, i16 0, i16 11495, i16 11496, i16 0, i16 12506, i16 12507, i16 12508, i16 12509, i16 1398, i16 3585, i16 0, i16 1411, i16 12510, i16 2503, i16 5873, i16 0, i16 6724, i16 1039, i16 2234, i16 0, i16 12511, i16 0, i16 0, i16 1081, i16 6726, i16 12512, i16 6727, i16 6725, i16 1471, i16 12513, i16 1746, i16 2128, i16 12514, i16 0, i16 12515, i16 0, i16 3548, i16 773, i16 5703, i16 0, i16 10730, i16 1290, i16 10731, i16 5700, i16 0, i16 10732, i16 0, i16 0, i16 0, i16 5701, i16 0, i16 10733, i16 2812, i16 5699, i16 5696, i16 0, i16 1035, i16 2317, i16 0, i16 10734, i16 1505, i16 10735, i16 10736, i16 0, i16 5708, i16 0, i16 10737, i16 0, i16 13021, i16 0, i16 0, i16 7014, i16 0, i16 0, i16 0, i16 0, i16 7015, i16 13022, i16 7010, i16 13023, i16 0, i16 13024, i16 6990, i16 0, i16 13025, i16 7016, i16 0, i16 2690, i16 13026, i16 0, i16 0, i16 7020, i16 13027, i16 7021, i16 7019, i16 13028, i16 0, i16 0, i16 13029, i16 0, i16 9187, i16 4794, i16 0, i16 4791, i16 0, i16 9188, i16 4799, i16 0, i16 4789, i16 0, i16 0, i16 4787, i16 0, i16 4795, i16 4785, i16 9189, i16 2607, i16 9190, i16 3465, i16 1911, i16 1769, i16 9191, i16 9192, i16 0, i16 9176, i16 0, i16 1711, i16 0, i16 0, i16 3362, i16 1060, i16 0, i16 3044, i16 0, i16 5746, i16 10797, i16 10798, i16 5741, i16 10799, i16 0, i16 0, i16 2344, i16 1453, i16 0, i16 1978, i16 10800, i16 0, i16 10801, i16 0, i16 10802, i16 0, i16 2160, i16 2365, i16 5752, i16 0, i16 10803, i16 5754, i16 5755, i16 0, i16 0, i16 5751, i16 5753, i16 10804, i16 0, i16 231, i16 0, i16 305, i16 301, i16 304, i16 306, i16 0, i16 263, i16 264, i16 307, i16 281, i16 225, i16 0, i16 226, i16 252, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 228, i16 229, i16 288, i16 286, i16 289, i16 230, i16 0, i16 3568, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11549, i16 6229, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11550, i16 11551, i16 11552, i16 6230, i16 2117, i16 6228, i16 11553, i16 0, i16 11554, i16 3542, i16 6225, i16 0, i16 0, i16 6227, i16 2278, i16 2249, i16 0, i16 0, i16 3824, i16 0, i16 7611, i16 0, i16 0, i16 0, i16 7612, i16 7613, i16 0, i16 3476, i16 0, i16 7614, i16 7615, i16 0, i16 7616, i16 0, i16 7617, i16 3434, i16 7618, i16 7619, i16 7620, i16 0, i16 3826, i16 7621, i16 7622, i16 3825, i16 3828, i16 3827, i16 0, i16 0, i16 3829, i16 0, i16 8177, i16 8178, i16 0, i16 4151, i16 4149, i16 0, i16 0, i16 0, i16 8179, i16 0, i16 1825, i16 2204, i16 0, i16 2395, i16 4153, i16 2277, i16 822, i16 2975, i16 8180, i16 0, i16 0, i16 0, i16 2684, i16 0, i16 4155, i16 4154, i16 4156, i16 4157, i16 4158, i16 0, i16 0, i16 0, i16 7922, i16 0, i16 7923, i16 4038, i16 4036, i16 7924, i16 4093, i16 0, i16 7925, i16 0, i16 7926, i16 7927, i16 0, i16 7928, i16 0, i16 0, i16 7929, i16 7930, i16 7931, i16 4041, i16 0, i16 0, i16 7932, i16 7933, i16 0, i16 4035, i16 7934, i16 4039, i16 0, i16 7935, i16 4037, i16 0, i16 8434, i16 0, i16 0, i16 0, i16 0, i16 8435, i16 2237, i16 0, i16 0, i16 0, i16 4302, i16 0, i16 8436, i16 1759, i16 0, i16 0, i16 4308, i16 8437, i16 0, i16 4309, i16 4303, i16 1046, i16 4304, i16 4313, i16 4312, i16 4311, i16 4307, i16 0, i16 0, i16 0, i16 4306, i16 0, i16 10738, i16 10739, i16 10740, i16 0, i16 10741, i16 10742, i16 0, i16 10743, i16 5705, i16 0, i16 10744, i16 10745, i16 10746, i16 0, i16 5707, i16 0, i16 10747, i16 0, i16 5704, i16 0, i16 0, i16 10748, i16 10749, i16 0, i16 1452, i16 2456, i16 5709, i16 2421, i16 10750, i16 10751, i16 5722, i16 0, i16 10227, i16 5421, i16 2961, i16 0, i16 10228, i16 3346, i16 0, i16 885, i16 10229, i16 894, i16 10230, i16 10231, i16 5422, i16 10232, i16 0, i16 0, i16 0, i16 5424, i16 0, i16 10233, i16 0, i16 5423, i16 2799, i16 0, i16 10234, i16 0, i16 2274, i16 4957, i16 0, i16 5425, i16 3410, i16 0, i16 9460, i16 0, i16 9461, i16 0, i16 0, i16 9462, i16 9463, i16 0, i16 0, i16 0, i16 4993, i16 4992, i16 0, i16 9464, i16 4995, i16 0, i16 9465, i16 0, i16 4994, i16 0, i16 0, i16 0, i16 9466, i16 0, i16 9467, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9468, i16 0, i16 5109, i16 0, i16 0, i16 0, i16 1156, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9674, i16 0, i16 9675, i16 9676, i16 9677, i16 1476, i16 0, i16 0, i16 9678, i16 5135, i16 9679, i16 9680, i16 5130, i16 2337, i16 9681, i16 9682, i16 1094, i16 0, i16 4855, i16 4834, i16 4854, i16 0, i16 4847, i16 4835, i16 0, i16 4851, i16 0, i16 4852, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4869, i16 9275, i16 0, i16 9276, i16 2859, i16 9277, i16 4842, i16 0, i16 9278, i16 4865, i16 0, i16 9279, i16 0, i16 4867, i16 0, i16 2681, i16 0, i16 3579, i16 0, i16 0, i16 2145, i16 2334, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9557, i16 0, i16 5048, i16 5046, i16 0, i16 3140, i16 0, i16 9558, i16 9559, i16 0, i16 8956, i16 0, i16 8957, i16 2736, i16 4647, i16 8958, i16 0, i16 8959, i16 4648, i16 0, i16 3174, i16 8960, i16 2944, i16 1782, i16 0, i16 2330, i16 0, i16 3331, i16 8961, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1068, i16 0, i16 4655, i16 4650, i16 8962, i16 8963, i16 8964, i16 0, i16 8190, i16 3397, i16 8191, i16 8192, i16 4164, i16 0, i16 2508, i16 8193, i16 2742, i16 2469, i16 3150, i16 4165, i16 4166, i16 930, i16 8194, i16 8195, i16 1899, i16 4167, i16 8196, i16 0, i16 8197, i16 8198, i16 793, i16 4168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4169, i16 8199, i16 0, i16 12543, i16 12544, i16 12545, i16 6755, i16 0, i16 0, i16 3401, i16 12546, i16 0, i16 6756, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6757, i16 12547, i16 3669, i16 12548, i16 0, i16 0, i16 0, i16 0, i16 4761, i16 6758, i16 0, i16 0, i16 0, i16 6759, i16 6760, i16 0, i16 11520, i16 1644, i16 6199, i16 810, i16 11521, i16 0, i16 0, i16 0, i16 3124, i16 11522, i16 0, i16 6200, i16 0, i16 0, i16 0, i16 0, i16 2229, i16 11523, i16 6207, i16 0, i16 0, i16 6204, i16 0, i16 2610, i16 0, i16 11524, i16 0, i16 11525, i16 0, i16 6205, i16 6202, i16 1371, i16 5889, i16 0, i16 10986, i16 5892, i16 5891, i16 0, i16 0, i16 0, i16 3319, i16 5895, i16 0, i16 0, i16 0, i16 0, i16 10987, i16 0, i16 5896, i16 0, i16 10988, i16 2366, i16 10989, i16 5897, i16 0, i16 0, i16 5899, i16 0, i16 5903, i16 10990, i16 0, i16 5900, i16 5898, i16 2938, i16 6145, i16 11425, i16 0, i16 6156, i16 11426, i16 11427, i16 993, i16 0, i16 6152, i16 0, i16 6157, i16 0, i16 0, i16 0, i16 6153, i16 11428, i16 0, i16 11429, i16 11430, i16 0, i16 6150, i16 0, i16 2644, i16 0, i16 6147, i16 0, i16 0, i16 11431, i16 0, i16 0, i16 0, i16 2979, i16 11265, i16 11266, i16 11267, i16 6058, i16 11268, i16 0, i16 0, i16 0, i16 3706, i16 2815, i16 3178, i16 11269, i16 0, i16 6071, i16 0, i16 11270, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6077, i16 0, i16 11271, i16 11272, i16 11273, i16 0, i16 11274, i16 6078, i16 11275, i16 12802, i16 0, i16 6898, i16 6899, i16 12803, i16 12804, i16 6900, i16 12805, i16 0, i16 12806, i16 3018, i16 6902, i16 12807, i16 3101, i16 6903, i16 6901, i16 0, i16 6905, i16 12808, i16 12809, i16 6904, i16 12810, i16 0, i16 6906, i16 0, i16 12811, i16 12812, i16 6907, i16 0, i16 12813, i16 0, i16 12814, i16 4611, i16 0, i16 8875, i16 2404, i16 8876, i16 0, i16 0, i16 8877, i16 1961, i16 4616, i16 8878, i16 0, i16 2085, i16 0, i16 4610, i16 4615, i16 8879, i16 0, i16 2958, i16 0, i16 8880, i16 8881, i16 4609, i16 0, i16 1404, i16 8882, i16 8883, i16 1088, i16 0, i16 0, i16 8884, i16 4617, i16 4100, i16 0, i16 1753, i16 0, i16 0, i16 8052, i16 8053, i16 1358, i16 0, i16 0, i16 3306, i16 0, i16 8054, i16 8055, i16 4098, i16 4101, i16 1718, i16 1594, i16 8056, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9732, i16 0, i16 0, i16 9733, i16 0, i16 0, i16 2616, i16 2514, i16 0, i16 0, i16 0, i16 0, i16 2254, i16 0, i16 0, i16 9734, i16 5168, i16 0, i16 5170, i16 0, i16 9735, i16 0, i16 0, i16 9736, i16 0, i16 9737, i16 0, i16 0, i16 9738, i16 0, i16 5169, i16 0, i16 10244, i16 2103, i16 0, i16 0, i16 5434, i16 0, i16 10245, i16 5433, i16 5432, i16 3094, i16 10246, i16 1160, i16 1506, i16 0, i16 10247, i16 0, i16 0, i16 0, i16 10248, i16 0, i16 10249, i16 10250, i16 0, i16 10251, i16 0, i16 10252, i16 10253, i16 5440, i16 10254, i16 0, i16 5437, i16 2186, i16 7429, i16 0, i16 0, i16 7447, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3758, i16 7448, i16 0, i16 7449, i16 0, i16 7450, i16 3761, i16 3759, i16 7451, i16 0, i16 967, i16 0, i16 3216, i16 3753, i16 7452, i16 7453, i16 7454, i16 7455, i16 3757, i16 1580, i16 7456, i16 7457, i16 1819, i16 12293, i16 12294, i16 0, i16 12295, i16 2058, i16 12296, i16 0, i16 12297, i16 12298, i16 6620, i16 3252, i16 0, i16 12299, i16 891, i16 12300, i16 0, i16 12301, i16 0, i16 3133, i16 2613, i16 0, i16 0, i16 0, i16 0, i16 1303, i16 12302, i16 6622, i16 12303, i16 1652, i16 0, i16 0, i16 12304, i16 7686, i16 7687, i16 0, i16 1488, i16 1747, i16 2984, i16 7688, i16 0, i16 0, i16 3888, i16 3886, i16 0, i16 0, i16 0, i16 7689, i16 3186, i16 2135, i16 3895, i16 1095, i16 3889, i16 3887, i16 2390, i16 0, i16 7690, i16 7691, i16 7692, i16 0, i16 0, i16 0, i16 3891, i16 0, i16 3890, i16 11526, i16 6201, i16 6208, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1425, i16 0, i16 0, i16 2499, i16 0, i16 6214, i16 0, i16 0, i16 0, i16 0, i16 6210, i16 0, i16 0, i16 0, i16 2458, i16 6209, i16 11527, i16 6212, i16 11528, i16 11529, i16 11530, i16 0, i16 6203, i16 11531, i16 4103, i16 0, i16 0, i16 4114, i16 0, i16 0, i16 4115, i16 8095, i16 8096, i16 0, i16 0, i16 3351, i16 8097, i16 0, i16 2136, i16 8098, i16 0, i16 0, i16 4117, i16 4118, i16 4116, i16 8099, i16 4120, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2931, i16 8100, i16 8101, i16 817, i16 5383, i16 5384, i16 5385, i16 10177, i16 5386, i16 10178, i16 10179, i16 5382, i16 0, i16 10180, i16 0, i16 0, i16 0, i16 10181, i16 0, i16 0, i16 5388, i16 0, i16 10182, i16 10183, i16 5387, i16 10184, i16 0, i16 0, i16 10185, i16 10186, i16 10187, i16 5389, i16 10188, i16 0, i16 0, i16 0, i16 11015, i16 5917, i16 5918, i16 11016, i16 0, i16 5919, i16 0, i16 5920, i16 1338, i16 4660, i16 5921, i16 0, i16 2318, i16 5922, i16 1916, i16 11017, i16 5923, i16 0, i16 3726, i16 11018, i16 11019, i16 0, i16 5924, i16 3251, i16 1181, i16 11020, i16 11021, i16 2347, i16 2023, i16 11022, i16 3176, i16 1981, i16 5128, i16 5127, i16 5133, i16 9689, i16 2250, i16 0, i16 5124, i16 9690, i16 9691, i16 0, i16 0, i16 9692, i16 9693, i16 9694, i16 5136, i16 0, i16 9695, i16 5137, i16 9696, i16 9697, i16 9698, i16 0, i16 9699, i16 1155, i16 0, i16 0, i16 9700, i16 0, i16 0, i16 0, i16 0, i16 9701, i16 8457, i16 8458, i16 8459, i16 0, i16 8460, i16 0, i16 0, i16 0, i16 0, i16 2238, i16 8461, i16 0, i16 4318, i16 8462, i16 0, i16 1708, i16 8463, i16 0, i16 0, i16 4319, i16 0, i16 0, i16 4320, i16 0, i16 0, i16 8464, i16 8465, i16 0, i16 0, i16 0, i16 8466, i16 8467, i16 2314, i16 5617, i16 10602, i16 0, i16 3048, i16 10603, i16 5621, i16 3240, i16 10604, i16 2590, i16 10605, i16 5616, i16 5618, i16 0, i16 0, i16 5619, i16 0, i16 0, i16 0, i16 0, i16 10606, i16 0, i16 10607, i16 10608, i16 0, i16 10609, i16 10610, i16 10611, i16 0, i16 5622, i16 0, i16 0, i16 13066, i16 7038, i16 13067, i16 13068, i16 13069, i16 13070, i16 0, i16 13071, i16 7039, i16 0, i16 0, i16 7040, i16 7041, i16 0, i16 13072, i16 13073, i16 0, i16 7044, i16 7042, i16 3687, i16 0, i16 7043, i16 13074, i16 3644, i16 13075, i16 0, i16 0, i16 13076, i16 0, i16 7045, i16 13077, i16 3624, i16 4363, i16 0, i16 8531, i16 0, i16 8532, i16 8533, i16 2776, i16 1719, i16 8534, i16 0, i16 8535, i16 1540, i16 8536, i16 2702, i16 0, i16 0, i16 0, i16 8537, i16 0, i16 8538, i16 0, i16 780, i16 2045, i16 1606, i16 3510, i16 0, i16 0, i16 0, i16 0, i16 8539, i16 8540, i16 8541, i16 6667, i16 12430, i16 6668, i16 12431, i16 0, i16 0, i16 0, i16 0, i16 12432, i16 0, i16 6670, i16 12433, i16 0, i16 12434, i16 12435, i16 12436, i16 6672, i16 12437, i16 12438, i16 0, i16 0, i16 6673, i16 0, i16 6674, i16 0, i16 0, i16 0, i16 0, i16 6677, i16 6675, i16 6678, i16 6680, i16 2572, i16 9363, i16 0, i16 9364, i16 4930, i16 0, i16 9365, i16 9366, i16 0, i16 9367, i16 0, i16 9368, i16 0, i16 4928, i16 1570, i16 0, i16 4927, i16 9369, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4933, i16 0, i16 0, i16 0, i16 9370, i16 4800, i16 9371, i16 9372, i16 9373, i16 3340, i16 0, i16 2831, i16 8114, i16 8115, i16 1491, i16 2484, i16 0, i16 8116, i16 8117, i16 4119, i16 4122, i16 8119, i16 8120, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2473, i16 0, i16 0, i16 0, i16 4123, i16 0, i16 8121, i16 0, i16 4124, i16 8122, i16 8123, i16 7436, i16 0, i16 7437, i16 2674, i16 0, i16 0, i16 2533, i16 3752, i16 7438, i16 7439, i16 0, i16 7440, i16 7441, i16 789, i16 2692, i16 1994, i16 1705, i16 3475, i16 7442, i16 2483, i16 7443, i16 964, i16 7444, i16 3751, i16 7445, i16 3501, i16 3747, i16 3749, i16 1763, i16 3750, i16 4184, i16 7446, i16 11532, i16 0, i16 6213, i16 0, i16 6215, i16 0, i16 0, i16 0, i16 11533, i16 0, i16 11534, i16 3080, i16 0, i16 0, i16 6211, i16 0, i16 6216, i16 6218, i16 0, i16 0, i16 1548, i16 6206, i16 0, i16 778, i16 0, i16 0, i16 11535, i16 0, i16 0, i16 11536, i16 11537, i16 6217, i16 4109, i16 8087, i16 1595, i16 1059, i16 4111, i16 0, i16 0, i16 8089, i16 8090, i16 8091, i16 4112, i16 0, i16 8092, i16 0, i16 0, i16 0, i16 4113, i16 0, i16 0, i16 4110, i16 0, i16 0, i16 0, i16 0, i16 8093, i16 0, i16 0, i16 0, i16 0, i16 8094, i16 0, i16 0, i16 5901, i16 0, i16 5902, i16 10992, i16 0, i16 10993, i16 951, i16 0, i16 5909, i16 5904, i16 10994, i16 10991, i16 0, i16 5905, i16 10995, i16 10996, i16 0, i16 5906, i16 0, i16 2438, i16 0, i16 10997, i16 0, i16 10998, i16 5908, i16 5907, i16 5910, i16 10999, i16 0, i16 11000, i16 11001, i16 5911, i16 7693, i16 0, i16 7694, i16 1063, i16 0, i16 7695, i16 0, i16 1467, i16 3896, i16 3578, i16 7696, i16 0, i16 7697, i16 3892, i16 0, i16 0, i16 0, i16 3897, i16 3894, i16 7698, i16 3893, i16 7699, i16 7700, i16 7701, i16 7702, i16 0, i16 7703, i16 3612, i16 7704, i16 0, i16 0, i16 1586, i16 10510, i16 5545, i16 5546, i16 2148, i16 0, i16 10511, i16 0, i16 10512, i16 0, i16 5547, i16 10513, i16 1074, i16 0, i16 10514, i16 0, i16 0, i16 5549, i16 0, i16 0, i16 0, i16 1477, i16 10515, i16 1285, i16 0, i16 10516, i16 5550, i16 1394, i16 0, i16 0, i16 5551, i16 10517, i16 2341, i16 2063, i16 1318, i16 0, i16 3924, i16 0, i16 7751, i16 0, i16 7752, i16 7753, i16 7754, i16 3060, i16 7755, i16 7756, i16 7757, i16 0, i16 3925, i16 7758, i16 3926, i16 7759, i16 3927, i16 0, i16 7760, i16 0, i16 0, i16 3928, i16 3099, i16 1381, i16 814, i16 7761, i16 7762, i16 7763, i16 2844, i16 4623, i16 8891, i16 0, i16 2460, i16 4629, i16 8892, i16 4624, i16 0, i16 8893, i16 4626, i16 0, i16 0, i16 0, i16 0, i16 8894, i16 3128, i16 2708, i16 8895, i16 4627, i16 8896, i16 8897, i16 8898, i16 3483, i16 0, i16 0, i16 0, i16 3511, i16 1146, i16 8899, i16 0, i16 0, i16 0, i16 12815, i16 12816, i16 12817, i16 12818, i16 12819, i16 12820, i16 6908, i16 0, i16 12821, i16 12822, i16 0, i16 12823, i16 12824, i16 12825, i16 12826, i16 0, i16 12827, i16 0, i16 12828, i16 0, i16 0, i16 0, i16 12829, i16 0, i16 6909, i16 12830, i16 6910, i16 12831, i16 12832, i16 0, i16 0, i16 6911, i16 5648, i16 0, i16 0, i16 5645, i16 0, i16 0, i16 10645, i16 0, i16 0, i16 0, i16 10646, i16 0, i16 5644, i16 2299, i16 0, i16 5647, i16 5649, i16 10648, i16 10649, i16 10650, i16 5646, i16 10647, i16 5653, i16 0, i16 5650, i16 10651, i16 10652, i16 10653, i16 10654, i16 10655, i16 10656, i16 5651, i16 10000, i16 10001, i16 0, i16 1284, i16 10002, i16 5284, i16 3564, i16 10003, i16 0, i16 3581, i16 10004, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10005, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10006, i16 10007, i16 0, i16 0, i16 0, i16 0, i16 1297, i16 1067, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8830, i16 0, i16 1098, i16 2156, i16 4597, i16 4602, i16 0, i16 4598, i16 8831, i16 1496, i16 8832, i16 4603, i16 1781, i16 1664, i16 0, i16 0, i16 0, i16 0, i16 8833, i16 8834, i16 1973, i16 4585, i16 10769, i16 918, i16 0, i16 0, i16 2889, i16 5731, i16 0, i16 0, i16 10781, i16 5738, i16 5732, i16 5739, i16 0, i16 0, i16 0, i16 0, i16 10782, i16 10783, i16 5735, i16 0, i16 0, i16 10784, i16 0, i16 10785, i16 0, i16 0, i16 0, i16 2998, i16 10786, i16 10787, i16 1915, i16 5737, i16 12305, i16 0, i16 12306, i16 0, i16 0, i16 0, i16 1791, i16 0, i16 12307, i16 0, i16 0, i16 0, i16 0, i16 12308, i16 0, i16 6621, i16 2232, i16 12309, i16 0, i16 0, i16 12310, i16 12311, i16 0, i16 0, i16 2233, i16 6625, i16 6627, i16 0, i16 12312, i16 12313, i16 12314, i16 12315, i16 11538, i16 1744, i16 3651, i16 6219, i16 6220, i16 2428, i16 0, i16 0, i16 0, i16 0, i16 11539, i16 11540, i16 11541, i16 11542, i16 11543, i16 3567, i16 0, i16 11544, i16 11545, i16 11546, i16 6221, i16 3492, i16 0, i16 0, i16 6222, i16 6223, i16 0, i16 11547, i16 3257, i16 6224, i16 11548, i16 1717, i16 1299, i16 2766, i16 9602, i16 5080, i16 5089, i16 760, i16 857, i16 9603, i16 0, i16 958, i16 0, i16 5082, i16 2449, i16 5073, i16 5075, i16 1624, i16 0, i16 0, i16 9604, i16 0, i16 0, i16 0, i16 9605, i16 0, i16 5092, i16 9606, i16 5087, i16 9607, i16 9608, i16 0, i16 5079, i16 0, i16 2323, i16 7769, i16 0, i16 7770, i16 0, i16 7771, i16 1424, i16 0, i16 0, i16 3937, i16 0, i16 0, i16 7772, i16 7773, i16 3938, i16 851, i16 830, i16 1198, i16 7774, i16 2445, i16 1264, i16 3552, i16 0, i16 3941, i16 956, i16 7775, i16 0, i16 3940, i16 0, i16 0, i16 7776, i16 1319, i16 7188, i16 7173, i16 7187, i16 7239, i16 7324, i16 7241, i16 7326, i16 7240, i16 7325, i16 7189, i16 7175, i16 7190, i16 7249, i16 7334, i16 0, i16 0, i16 7248, i16 7333, i16 7177, i16 7192, i16 7251, i16 7336, i16 7253, i16 7338, i16 7252, i16 7337, i16 7254, i16 7339, i16 7255, i16 7340, i16 7257, i16 7342, i16 6165, i16 11458, i16 0, i16 0, i16 6169, i16 0, i16 6172, i16 6171, i16 11459, i16 11460, i16 11461, i16 6163, i16 0, i16 0, i16 11462, i16 0, i16 6166, i16 0, i16 6183, i16 0, i16 0, i16 11463, i16 11464, i16 0, i16 0, i16 11465, i16 11466, i16 0, i16 11467, i16 0, i16 0, i16 11468, i16 2582, i16 0, i16 5005, i16 0, i16 0, i16 0, i16 0, i16 9550, i16 5013, i16 0, i16 5006, i16 9499, i16 0, i16 9500, i16 0, i16 9501, i16 2470, i16 0, i16 1281, i16 5014, i16 9502, i16 0, i16 9503, i16 0, i16 9504, i16 9505, i16 1475, i16 9506, i16 0, i16 1220, i16 5012, i16 0, i16 10518, i16 2858, i16 10519, i16 2313, i16 1770, i16 10520, i16 10521, i16 0, i16 5552, i16 0, i16 10522, i16 10523, i16 0, i16 0, i16 0, i16 0, i16 10524, i16 10525, i16 2597, i16 2418, i16 10526, i16 5554, i16 5556, i16 5553, i16 5555, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10527, i16 1405, i16 12054, i16 12055, i16 12056, i16 2878, i16 0, i16 12057, i16 3297, i16 0, i16 6553, i16 0, i16 1930, i16 0, i16 0, i16 0, i16 0, i16 6554, i16 12058, i16 6555, i16 12059, i16 12060, i16 12061, i16 6556, i16 12062, i16 0, i16 2720, i16 0, i16 0, i16 0, i16 0, i16 12063, i16 12065, i16 0, i16 11287, i16 0, i16 11288, i16 0, i16 6066, i16 11289, i16 2349, i16 11290, i16 6070, i16 1786, i16 2192, i16 1419, i16 3461, i16 11304, i16 3466, i16 2049, i16 0, i16 0, i16 0, i16 0, i16 11291, i16 0, i16 11292, i16 11293, i16 11294, i16 6083, i16 6081, i16 0, i16 11295, i16 11296, i16 11297, i16 11298, i16 3864, i16 3345, i16 7657, i16 0, i16 0, i16 7658, i16 2039, i16 2529, i16 0, i16 3866, i16 2881, i16 0, i16 0, i16 3867, i16 7659, i16 0, i16 3868, i16 1041, i16 7660, i16 7661, i16 7662, i16 3869, i16 1316, i16 7663, i16 2857, i16 929, i16 2015, i16 0, i16 0, i16 3002, i16 3870, i16 0, i16 5912, i16 11002, i16 0, i16 2190, i16 11003, i16 1006, i16 0, i16 5913, i16 3620, i16 0, i16 1884, i16 11004, i16 11005, i16 1980, i16 0, i16 0, i16 11006, i16 11007, i16 11008, i16 1853, i16 2586, i16 11009, i16 11010, i16 0, i16 11011, i16 11012, i16 5914, i16 5915, i16 856, i16 11013, i16 5916, i16 11014, i16 6936, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12883, i16 12884, i16 6937, i16 12885, i16 3361, i16 1792, i16 12886, i16 1775, i16 2358, i16 0, i16 12887, i16 12888, i16 12889, i16 0, i16 6938, i16 0, i16 0, i16 12890, i16 12891, i16 6941, i16 0, i16 12892, i16 12893, i16 0, i16 12894, i16 12895, i16 7960, i16 7961, i16 868, i16 7962, i16 7963, i16 0, i16 7964, i16 0, i16 0, i16 7965, i16 0, i16 7966, i16 2368, i16 7967, i16 4049, i16 7968, i16 4050, i16 0, i16 0, i16 0, i16 7969, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1117, i16 0, i16 0, i16 7970, i16 0, i16 2842, i16 1323, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1002, i16 4296, i16 4301, i16 0, i16 0, i16 4299, i16 8430, i16 3276, i16 3275, i16 8431, i16 8432, i16 0, i16 8433, i16 0, i16 2790, i16 0, i16 0, i16 0, i16 4298, i16 2019, i16 0, i16 4297, i16 0, i16 0, i16 12570, i16 6777, i16 0, i16 0, i16 1110, i16 6775, i16 6779, i16 0, i16 0, i16 12571, i16 0, i16 6780, i16 0, i16 785, i16 0, i16 6781, i16 6782, i16 0, i16 0, i16 0, i16 0, i16 12572, i16 12573, i16 12574, i16 2129, i16 12575, i16 12576, i16 0, i16 6783, i16 0, i16 12577, i16 12578, i16 4891, i16 9304, i16 0, i16 0, i16 0, i16 9305, i16 9306, i16 4888, i16 9307, i16 0, i16 0, i16 9308, i16 0, i16 9309, i16 4876, i16 9310, i16 0, i16 4905, i16 4875, i16 0, i16 4894, i16 0, i16 0, i16 9311, i16 9312, i16 0, i16 9313, i16 4886, i16 9314, i16 0, i16 4881, i16 4878, i16 6939, i16 12896, i16 0, i16 0, i16 0, i16 0, i16 6942, i16 12897, i16 12898, i16 1578, i16 6940, i16 0, i16 0, i16 0, i16 12899, i16 6943, i16 12900, i16 6944, i16 6945, i16 0, i16 6949, i16 0, i16 1789, i16 12901, i16 12902, i16 0, i16 0, i16 2505, i16 0, i16 12903, i16 0, i16 12904, i16 7197, i16 7196, i16 7199, i16 7205, i16 7198, i16 7204, i16 7169, i16 7209, i16 7213, i16 7212, i16 7215, i16 7214, i16 7226, i16 7225, i16 7228, i16 7227, i16 0, i16 7242, i16 7244, i16 7243, i16 7246, i16 7250, i16 7245, i16 284, i16 7176, i16 7261, i16 7260, i16 7263, i16 7262, i16 7276, i16 7179, i16 7193, i16 8734, i16 0, i16 3376, i16 1144, i16 0, i16 4514, i16 0, i16 1440, i16 1047, i16 0, i16 0, i16 4511, i16 8735, i16 0, i16 3589, i16 4513, i16 799, i16 4515, i16 8736, i16 4506, i16 4512, i16 4519, i16 1439, i16 4507, i16 8737, i16 0, i16 0, i16 8738, i16 8739, i16 0, i16 3532, i16 8740, i16 287, i16 350, i16 0, i16 0, i16 0, i16 0, i16 290, i16 291, i16 0, i16 0, i16 352, i16 353, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1311, i16 966, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4185, i16 0, i16 3372, i16 3173, i16 1581, i16 0, i16 0, i16 7475, i16 0, i16 0, i16 2170, i16 3588, i16 7476, i16 0, i16 7477, i16 0, i16 7478, i16 7479, i16 7480, i16 7481, i16 3245, i16 5407, i16 10207, i16 0, i16 5408, i16 2729, i16 10208, i16 1034, i16 1627, i16 5409, i16 0, i16 0, i16 5410, i16 10209, i16 10210, i16 5411, i16 0, i16 1788, i16 0, i16 0, i16 5413, i16 0, i16 10211, i16 5412, i16 0, i16 0, i16 5414, i16 5415, i16 10212, i16 10213, i16 10214, i16 0, i16 10215, i16 8479, i16 0, i16 4324, i16 0, i16 0, i16 0, i16 0, i16 8480, i16 0, i16 0, i16 0, i16 8481, i16 4326, i16 0, i16 4327, i16 0, i16 8482, i16 0, i16 12526, i16 0, i16 8483, i16 0, i16 0, i16 4330, i16 8484, i16 8485, i16 3635, i16 0, i16 4331, i16 4328, i16 0, i16 0, i16 11039, i16 0, i16 5936, i16 11040, i16 5935, i16 0, i16 1168, i16 11041, i16 5937, i16 0, i16 5938, i16 5939, i16 0, i16 11042, i16 1702, i16 3606, i16 0, i16 5941, i16 2162, i16 0, i16 11043, i16 0, i16 919, i16 5942, i16 5943, i16 0, i16 0, i16 11044, i16 0, i16 11045, i16 5944, i16 11046, i16 2080, i16 4375, i16 4374, i16 4370, i16 0, i16 8552, i16 0, i16 0, i16 4376, i16 4377, i16 0, i16 8553, i16 4378, i16 0, i16 0, i16 0, i16 4381, i16 4379, i16 0, i16 4380, i16 4382, i16 0, i16 907, i16 2703, i16 4383, i16 0, i16 1493, i16 1019, i16 2929, i16 0, i16 4384, i16 2904, i16 6176, i16 0, i16 11469, i16 11470, i16 11471, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11472, i16 11473, i16 0, i16 11474, i16 0, i16 6174, i16 0, i16 11475, i16 6175, i16 11476, i16 0, i16 0, i16 6180, i16 6181, i16 11477, i16 1037, i16 11478, i16 1249, i16 0, i16 0, i16 6179, i16 11479, i16 6688, i16 12452, i16 1177, i16 1080, i16 1653, i16 3023, i16 12453, i16 6690, i16 6689, i16 12454, i16 0, i16 12455, i16 12456, i16 6691, i16 0, i16 0, i16 0, i16 0, i16 899, i16 0, i16 12457, i16 0, i16 12458, i16 0, i16 0, i16 6694, i16 12459, i16 6693, i16 6692, i16 12460, i16 6695, i16 12461, i16 10528, i16 0, i16 0, i16 10529, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5557, i16 1409, i16 0, i16 10530, i16 0, i16 1286, i16 3521, i16 5559, i16 0, i16 0, i16 10531, i16 0, i16 10532, i16 5560, i16 0, i16 0, i16 10533, i16 853, i16 10534, i16 10535, i16 0, i16 0, i16 5563, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 12833, i16 0, i16 6912, i16 6913, i16 0, i16 6914, i16 12834, i16 6915, i16 6916, i16 6917, i16 6918, i16 12835, i16 0, i16 12836, i16 6919, i16 6920, i16 0, i16 4953, i16 6921, i16 12837, i16 12838, i16 12839, i16 0, i16 12840, i16 0, i16 12841, i16 12842, i16 5678, i16 1235, i16 12843, i16 0, i16 0, i16 4130, i16 0, i16 0, i16 9454, i16 9455, i16 1218, i16 4988, i16 0, i16 0, i16 9456, i16 0, i16 4989, i16 9457, i16 3265, i16 3355, i16 0, i16 0, i16 0, i16 2852, i16 4990, i16 3071, i16 0, i16 9458, i16 0, i16 3092, i16 0, i16 9459, i16 3428, i16 0, i16 0, i16 0, i16 4991, i16 7202, i16 7288, i16 7200, i16 7286, i16 7203, i16 7289, i16 7206, i16 7292, i16 7207, i16 7293, i16 7210, i16 7296, i16 7208, i16 7294, i16 7211, i16 7297, i16 7170, i16 7181, i16 7218, i16 7304, i16 0, i16 0, i16 7217, i16 7303, i16 7219, i16 7305, i16 7216, i16 7302, i16 7220, i16 7307, i16 7221, i16 7308, i16 7971, i16 7972, i16 7973, i16 7974, i16 4057, i16 0, i16 7975, i16 0, i16 1200, i16 7976, i16 4060, i16 4056, i16 4059, i16 7977, i16 0, i16 7978, i16 0, i16 7979, i16 7980, i16 0, i16 3203, i16 7981, i16 0, i16 0, i16 2866, i16 0, i16 3025, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10788, i16 5734, i16 5740, i16 5733, i16 0, i16 0, i16 2003, i16 10789, i16 10790, i16 0, i16 0, i16 3288, i16 10791, i16 10792, i16 2011, i16 10793, i16 0, i16 5736, i16 5748, i16 10794, i16 0, i16 5744, i16 10795, i16 5747, i16 0, i16 5745, i16 5749, i16 5743, i16 0, i16 5717, i16 2300, i16 10796, i16 7717, i16 3904, i16 0, i16 3337, i16 7718, i16 2653, i16 7719, i16 3477, i16 7720, i16 3246, i16 0, i16 0, i16 7721, i16 3905, i16 0, i16 7722, i16 0, i16 7723, i16 6771, i16 0, i16 7724, i16 2829, i16 7725, i16 3906, i16 1131, i16 3396, i16 0, i16 7726, i16 7727, i16 2062, i16 3907, i16 3260, i16 8741, i16 8742, i16 3482, i16 8743, i16 8744, i16 0, i16 0, i16 4522, i16 0, i16 0, i16 4526, i16 8745, i16 0, i16 8746, i16 2437, i16 0, i16 3654, i16 4527, i16 8747, i16 8748, i16 4524, i16 0, i16 4521, i16 8749, i16 8750, i16 4520, i16 4525, i16 0, i16 8751, i16 8752, i16 0, i16 8753, i16 10021, i16 5294, i16 0, i16 10022, i16 10023, i16 0, i16 10024, i16 10025, i16 0, i16 0, i16 0, i16 10026, i16 0, i16 10027, i16 0, i16 0, i16 0, i16 10028, i16 10029, i16 0, i16 0, i16 5290, i16 0, i16 10030, i16 0, i16 5293, i16 1571, i16 884, i16 5295, i16 10031, i16 2235, i16 5292, i16 295, i16 0, i16 294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5671, i16 0, i16 5673, i16 0, i16 10682, i16 5672, i16 0, i16 10683, i16 10684, i16 10685, i16 1547, i16 0, i16 0, i16 10686, i16 2367, i16 10687, i16 0, i16 0, i16 5675, i16 10688, i16 10689, i16 10690, i16 2811, i16 10691, i16 5674, i16 10692, i16 10693, i16 0, i16 5676, i16 10694, i16 3210, i16 2419, i16 10279, i16 2226, i16 10280, i16 2849, i16 10281, i16 5448, i16 3334, i16 10282, i16 5445, i16 0, i16 10283, i16 5446, i16 10284, i16 0, i16 0, i16 0, i16 10285, i16 0, i16 10286, i16 10287, i16 10288, i16 0, i16 0, i16 0, i16 0, i16 5451, i16 10289, i16 0, i16 0, i16 10290, i16 5450, i16 5449, i16 11047, i16 11048, i16 0, i16 11049, i16 11050, i16 0, i16 0, i16 11051, i16 0, i16 11052, i16 11053, i16 827, i16 0, i16 5945, i16 11054, i16 0, i16 0, i16 11055, i16 5946, i16 0, i16 11056, i16 0, i16 11057, i16 0, i16 11058, i16 3166, i16 11059, i16 11060, i16 0, i16 1912, i16 0, i16 5948, i16 2600, i16 0, i16 10266, i16 0, i16 0, i16 10267, i16 10268, i16 5443, i16 0, i16 0, i16 10269, i16 0, i16 0, i16 10270, i16 10271, i16 10272, i16 0, i16 0, i16 10273, i16 0, i16 0, i16 0, i16 10274, i16 10275, i16 0, i16 0, i16 5444, i16 5447, i16 10276, i16 0, i16 10277, i16 10278, i16 3625, i16 0, i16 10032, i16 5298, i16 7098, i16 0, i16 10033, i16 10034, i16 10035, i16 5296, i16 5299, i16 10036, i16 0, i16 10037, i16 10038, i16 5285, i16 5297, i16 10039, i16 10040, i16 1713, i16 0, i16 0, i16 5300, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5301, i16 0, i16 5929, i16 0, i16 0, i16 11029, i16 11030, i16 11031, i16 11032, i16 2715, i16 0, i16 0, i16 0, i16 11033, i16 0, i16 0, i16 11034, i16 11035, i16 0, i16 11036, i16 0, i16 0, i16 0, i16 0, i16 11037, i16 0, i16 5931, i16 5930, i16 5933, i16 0, i16 11038, i16 5932, i16 0, i16 5934, i16 2604, i16 8623, i16 8624, i16 0, i16 4424, i16 0, i16 0, i16 0, i16 8625, i16 8626, i16 8627, i16 1020, i16 8628, i16 8629, i16 8630, i16 8631, i16 4475, i16 4426, i16 8632, i16 8633, i16 0, i16 2923, i16 8634, i16 0, i16 4425, i16 0, i16 8635, i16 4423, i16 8636, i16 1681, i16 0, i16 4429, i16 6444, i16 11900, i16 11901, i16 6446, i16 6443, i16 0, i16 0, i16 0, i16 0, i16 11902, i16 0, i16 0, i16 11903, i16 11904, i16 0, i16 11905, i16 11906, i16 11907, i16 6449, i16 0, i16 1986, i16 0, i16 6448, i16 0, i16 0, i16 11908, i16 11909, i16 11910, i16 6450, i16 0, i16 0, i16 0, i16 11308, i16 0, i16 0, i16 0, i16 2816, i16 6087, i16 11309, i16 0, i16 11310, i16 3046, i16 6074, i16 0, i16 0, i16 11311, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11312, i16 0, i16 0, i16 11313, i16 2050, i16 0, i16 6089, i16 6094, i16 2427, i16 11314, i16 0, i16 6093, i16 11315, i16 8493, i16 2035, i16 0, i16 2410, i16 8494, i16 1600, i16 1709, i16 1601, i16 1295, i16 8495, i16 0, i16 4338, i16 0, i16 0, i16 1710, i16 0, i16 0, i16 1539, i16 4339, i16 3383, i16 2942, i16 4340, i16 0, i16 1602, i16 8496, i16 8497, i16 0, i16 1133, i16 0, i16 2538, i16 1359, i16 0, i16 11566, i16 0, i16 0, i16 0, i16 0, i16 6237, i16 11567, i16 11568, i16 11569, i16 0, i16 6238, i16 6239, i16 0, i16 0, i16 0, i16 0, i16 11570, i16 11571, i16 11572, i16 0, i16 0, i16 11573, i16 6243, i16 0, i16 6244, i16 11574, i16 11575, i16 6242, i16 0, i16 0, i16 11576, i16 0, i16 3377, i16 0, i16 5093, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3015, i16 9629, i16 0, i16 5105, i16 1524, i16 0, i16 0, i16 9630, i16 0, i16 0, i16 2031, i16 0, i16 5095, i16 9631, i16 0, i16 0, i16 3580, i16 1625, i16 0, i16 5108, i16 8498, i16 0, i16 1831, i16 3154, i16 0, i16 0, i16 3034, i16 8499, i16 0, i16 0, i16 0, i16 4341, i16 1206, i16 8500, i16 0, i16 0, i16 0, i16 4344, i16 8501, i16 0, i16 8502, i16 8503, i16 2626, i16 0, i16 8504, i16 4343, i16 4342, i16 4345, i16 0, i16 2700, i16 0, i16 8505, i16 8754, i16 0, i16 0, i16 0, i16 3205, i16 8755, i16 0, i16 2833, i16 8756, i16 1441, i16 8757, i16 4528, i16 4523, i16 8758, i16 4529, i16 0, i16 0, i16 0, i16 1494, i16 0, i16 0, i16 0, i16 950, i16 0, i16 8759, i16 8760, i16 4537, i16 0, i16 8761, i16 0, i16 1145, i16 0, i16 10291, i16 0, i16 0, i16 0, i16 10292, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5453, i16 10293, i16 10294, i16 5452, i16 0, i16 0, i16 5454, i16 0, i16 0, i16 10295, i16 10296, i16 10297, i16 0, i16 0, i16 0, i16 10298, i16 0, i16 0, i16 0, i16 5456, i16 10299, i16 308, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 267, i16 253, i16 268, i16 237, i16 239, i16 11316, i16 0, i16 6062, i16 0, i16 11317, i16 11318, i16 6095, i16 2384, i16 0, i16 0, i16 6090, i16 6092, i16 0, i16 11319, i16 11320, i16 0, i16 11321, i16 11322, i16 11323, i16 6091, i16 0, i16 0, i16 4949, i16 4934, i16 11324, i16 11325, i16 6097, i16 11326, i16 0, i16 0, i16 11327, i16 0, i16 821, i16 2621, i16 7367, i16 1896, i16 7368, i16 7369, i16 0, i16 3375, i16 2131, i16 1795, i16 2130, i16 961, i16 7370, i16 3147, i16 3502, i16 0, i16 3712, i16 854, i16 7371, i16 0, i16 1105, i16 3713, i16 2253, i16 3932, i16 1269, i16 3215, i16 0, i16 0, i16 0, i16 0, i16 2132, i16 7372, i16 4661, i16 4662, i16 2726, i16 4664, i16 8975, i16 8976, i16 1783, i16 4659, i16 0, i16 8977, i16 8978, i16 0, i16 1243, i16 8979, i16 0, i16 4665, i16 8980, i16 4658, i16 4669, i16 0, i16 4668, i16 8981, i16 4667, i16 8982, i16 0, i16 0, i16 4670, i16 8983, i16 0, i16 4672, i16 2142, i16 8984, i16 9013, i16 0, i16 1147, i16 1801, i16 0, i16 0, i16 2869, i16 9014, i16 0, i16 0, i16 0, i16 9015, i16 1444, i16 0, i16 0, i16 0, i16 2239, i16 0, i16 4692, i16 0, i16 2265, i16 2727, i16 0, i16 3158, i16 4693, i16 0, i16 9016, i16 0, i16 0, i16 9017, i16 0, i16 0, i16 11061, i16 11062, i16 0, i16 11063, i16 11064, i16 1036, i16 763, i16 11065, i16 11066, i16 11067, i16 11068, i16 5947, i16 5950, i16 2953, i16 11069, i16 2191, i16 11070, i16 987, i16 11071, i16 3290, i16 11072, i16 0, i16 0, i16 11073, i16 1464, i16 1369, i16 11074, i16 5949, i16 11075, i16 1007, i16 11076, i16 11077, i16 7223, i16 7309, i16 7222, i16 0, i16 7224, i16 7310, i16 7171, i16 7183, i16 7233, i16 7318, i16 7231, i16 7316, i16 0, i16 0, i16 7232, i16 7317, i16 7230, i16 7184, i16 7172, i16 7185, i16 7234, i16 7319, i16 7235, i16 7320, i16 7186, i16 7236, i16 7321, i16 7238, i16 7323, i16 7237, i16 7322, i16 7174, i16 12087, i16 0, i16 6561, i16 0, i16 12088, i16 12089, i16 12090, i16 0, i16 12091, i16 0, i16 0, i16 0, i16 0, i16 12092, i16 0, i16 0, i16 12093, i16 0, i16 6562, i16 0, i16 12094, i16 0, i16 12095, i16 12096, i16 12097, i16 6563, i16 12098, i16 0, i16 12099, i16 0, i16 12100, i16 0, i16 10041, i16 10042, i16 0, i16 3565, i16 0, i16 10043, i16 10044, i16 10045, i16 0, i16 10046, i16 0, i16 5302, i16 0, i16 0, i16 0, i16 10047, i16 10048, i16 10049, i16 10050, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10051, i16 10052, i16 10053, i16 0, i16 10054, i16 0, i16 5303, i16 10055, i16 11577, i16 6240, i16 11578, i16 6235, i16 6241, i16 11579, i16 11580, i16 0, i16 0, i16 11581, i16 0, i16 0, i16 6245, i16 6741, i16 0, i16 11582, i16 0, i16 0, i16 11583, i16 0, i16 0, i16 0, i16 941, i16 11584, i16 0, i16 0, i16 11585, i16 11586, i16 11587, i16 0, i16 6248, i16 1372, i16 7482, i16 7483, i16 1427, i16 2442, i16 1001, i16 7484, i16 7485, i16 0, i16 7486, i16 7487, i16 2018, i16 7488, i16 7489, i16 7490, i16 3767, i16 7491, i16 3772, i16 3770, i16 7492, i16 0, i16 3765, i16 0, i16 0, i16 2452, i16 3768, i16 0, i16 3771, i16 3769, i16 7493, i16 3250, i16 0, i16 3766, i16 8506, i16 0, i16 0, i16 0, i16 0, i16 2222, i16 0, i16 0, i16 8508, i16 0, i16 0, i16 1832, i16 0, i16 2291, i16 8507, i16 2488, i16 1217, i16 0, i16 8509, i16 2627, i16 0, i16 8510, i16 4346, i16 4347, i16 2140, i16 0, i16 0, i16 0, i16 0, i16 3308, i16 8511, i16 0, i16 8762, i16 8763, i16 8764, i16 4535, i16 0, i16 0, i16 4536, i16 1694, i16 4534, i16 4532, i16 4531, i16 4538, i16 4530, i16 4540, i16 8765, i16 8766, i16 1024, i16 0, i16 0, i16 0, i16 0, i16 8767, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8768, i16 8769, i16 8770, i16 8771, i16 7739, i16 3449, i16 2900, i16 7740, i16 0, i16 3270, i16 3916, i16 0, i16 3917, i16 0, i16 7741, i16 7742, i16 7743, i16 3919, i16 0, i16 3921, i16 3920, i16 7744, i16 0, i16 7745, i16 0, i16 3922, i16 962, i16 3327, i16 7746, i16 1777, i16 3923, i16 7747, i16 7748, i16 2400, i16 7749, i16 7750, i16 9531, i16 3285, i16 2947, i16 1282, i16 0, i16 2724, i16 0, i16 9532, i16 2608, i16 9533, i16 5031, i16 9534, i16 9535, i16 0, i16 9536, i16 5029, i16 2494, i16 5018, i16 9537, i16 882, i16 9538, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2108, i16 5574, i16 5575, i16 2022, i16 0, i16 2837, i16 5576, i16 0, i16 10542, i16 10543, i16 2539, i16 10544, i16 10545, i16 5577, i16 0, i16 2559, i16 5578, i16 10546, i16 0, i16 0, i16 10547, i16 0, i16 1314, i16 0, i16 3835, i16 2592, i16 1892, i16 10548, i16 0, i16 10549, i16 10550, i16 1161, i16 11836, i16 0, i16 0, i16 1954, i16 0, i16 0, i16 11837, i16 0, i16 2241, i16 0, i16 0, i16 11838, i16 11839, i16 0, i16 0, i16 11840, i16 0, i16 0, i16 11841, i16 2450, i16 0, i16 11842, i16 0, i16 11843, i16 0, i16 11844, i16 6413, i16 11845, i16 11863, i16 0, i16 6412, i16 0, i16 318, i16 317, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 320, i16 319, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 322, i16 321, i16 0, i16 0, i16 4671, i16 8985, i16 0, i16 0, i16 8986, i16 4675, i16 0, i16 0, i16 8987, i16 8988, i16 8989, i16 0, i16 0, i16 0, i16 0, i16 8990, i16 0, i16 0, i16 0, i16 8991, i16 8992, i16 0, i16 8993, i16 0, i16 4673, i16 8994, i16 0, i16 8995, i16 4674, i16 4636, i16 8996, i16 8997, i16 9791, i16 3398, i16 0, i16 0, i16 0, i16 0, i16 2100, i16 0, i16 0, i16 0, i16 0, i16 9792, i16 0, i16 9793, i16 0, i16 9794, i16 9795, i16 9796, i16 0, i16 0, i16 0, i16 0, i16 2362, i16 0, i16 9797, i16 0, i16 0, i16 0, i16 2099, i16 0, i16 0, i16 0, i16 6976, i16 0, i16 0, i16 12957, i16 0, i16 0, i16 0, i16 6977, i16 12962, i16 12958, i16 12959, i16 12961, i16 0, i16 0, i16 12963, i16 0, i16 12964, i16 0, i16 12965, i16 0, i16 0, i16 12966, i16 6978, i16 12967, i16 6979, i16 0, i16 0, i16 12968, i16 0, i16 0, i16 0, i16 0, i16 8256, i16 795, i16 0, i16 748, i16 8257, i16 0, i16 0, i16 0, i16 0, i16 4198, i16 0, i16 0, i16 8258, i16 8259, i16 8260, i16 0, i16 0, i16 4196, i16 8261, i16 8262, i16 0, i16 0, i16 0, i16 0, i16 3405, i16 0, i16 4199, i16 0, i16 4197, i16 0, i16 8263, i16 4195, i16 12352, i16 12353, i16 12354, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12355, i16 0, i16 12356, i16 12357, i16 1116, i16 12358, i16 0, i16 12359, i16 0, i16 0, i16 12360, i16 0, i16 6640, i16 12361, i16 1716, i16 2432, i16 12362, i16 0, i16 2667, i16 12363, i16 0, i16 0, i16 12364, i16 0, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 0, i16 0, i16 0, i16 0, i16 227, i16 249, i16 240, i16 241, i16 0, i16 833, i16 8016, i16 0, i16 2567, i16 8017, i16 8018, i16 8019, i16 8020, i16 8021, i16 0, i16 0, i16 8023, i16 0, i16 8024, i16 4081, i16 0, i16 1689, i16 8022, i16 792, i16 2217, i16 0, i16 0, i16 8025, i16 8026, i16 0, i16 4082, i16 1536, i16 0, i16 0, i16 1672, i16 0, i16 4084, i16 1089, i16 0, i16 0, i16 10554, i16 0, i16 2213, i16 3163, i16 10555, i16 5588, i16 10556, i16 10557, i16 10558, i16 2509, i16 10559, i16 10560, i16 10561, i16 10562, i16 10563, i16 0, i16 5583, i16 10564, i16 5587, i16 5589, i16 0, i16 0, i16 1776, i16 0, i16 0, i16 0, i16 10565, i16 0, i16 10566, i16 4929, i16 0, i16 4931, i16 4932, i16 0, i16 9374, i16 0, i16 0, i16 0, i16 0, i16 4944, i16 9375, i16 4940, i16 0, i16 4821, i16 9376, i16 9377, i16 9378, i16 0, i16 4939, i16 9379, i16 0, i16 0, i16 0, i16 4938, i16 0, i16 0, i16 4935, i16 0, i16 9380, i16 9381, i16 9382, i16 9025, i16 767, i16 0, i16 9026, i16 1361, i16 2294, i16 9027, i16 3159, i16 0, i16 0, i16 0, i16 4699, i16 1813, i16 2570, i16 9028, i16 1838, i16 2178, i16 0, i16 9029, i16 9030, i16 9031, i16 0, i16 0, i16 4700, i16 0, i16 3282, i16 0, i16 0, i16 926, i16 1839, i16 0, i16 9032, i16 12609, i16 12611, i16 0, i16 0, i16 12612, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6794, i16 2910, i16 12613, i16 0, i16 12614, i16 6796, i16 960, i16 12615, i16 6799, i16 6798, i16 12616, i16 12617, i16 0, i16 12618, i16 843, i16 0, i16 0, i16 0, i16 1342, i16 4418, i16 1567, i16 8603, i16 0, i16 8606, i16 0, i16 0, i16 8604, i16 4419, i16 3187, i16 2026, i16 8605, i16 8607, i16 4420, i16 3090, i16 8608, i16 8609, i16 8610, i16 0, i16 2846, i16 2632, i16 0, i16 0, i16 0, i16 8611, i16 2735, i16 0, i16 0, i16 4421, i16 1226, i16 0, i16 0, i16 3395, i16 0, i16 10255, i16 0, i16 5436, i16 5438, i16 5439, i16 0, i16 10256, i16 5435, i16 0, i16 0, i16 0, i16 10257, i16 10258, i16 10259, i16 0, i16 0, i16 0, i16 0, i16 10260, i16 10261, i16 10262, i16 5441, i16 5442, i16 10263, i16 2640, i16 0, i16 1188, i16 10264, i16 10265, i16 0, i16 12868, i16 0, i16 0, i16 6931, i16 12869, i16 12870, i16 12871, i16 12872, i16 0, i16 12873, i16 12874, i16 12875, i16 0, i16 12876, i16 775, i16 12877, i16 12878, i16 6932, i16 3200, i16 6930, i16 12879, i16 0, i16 6933, i16 6934, i16 0, i16 0, i16 12880, i16 0, i16 0, i16 12881, i16 12882, i16 6935, i16 12101, i16 0, i16 12103, i16 12104, i16 0, i16 12102, i16 0, i16 12105, i16 0, i16 12106, i16 0, i16 0, i16 0, i16 2721, i16 12107, i16 12108, i16 6565, i16 12109, i16 6564, i16 0, i16 12110, i16 0, i16 12111, i16 12112, i16 0, i16 12113, i16 12114, i16 0, i16 12115, i16 12116, i16 0, i16 0, i16 1350, i16 4271, i16 0, i16 0, i16 0, i16 1294, i16 4272, i16 0, i16 1403, i16 0, i16 2860, i16 949, i16 0, i16 1830, i16 4273, i16 4276, i16 4275, i16 1402, i16 0, i16 4274, i16 0, i16 2743, i16 0, i16 0, i16 0, i16 8393, i16 8394, i16 0, i16 8395, i16 0, i16 2453, i16 0, i16 7494, i16 2169, i16 7495, i16 3366, i16 3773, i16 3774, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1971, i16 3787, i16 7496, i16 0, i16 7497, i16 2955, i16 0, i16 3117, i16 3782, i16 0, i16 3269, i16 0, i16 955, i16 0, i16 7498, i16 7499, i16 3786, i16 7500, i16 11846, i16 0, i16 6411, i16 0, i16 0, i16 11847, i16 11848, i16 11849, i16 11850, i16 0, i16 11851, i16 6419, i16 6417, i16 0, i16 11852, i16 6414, i16 0, i16 11853, i16 0, i16 0, i16 11854, i16 11855, i16 6416, i16 11856, i16 0, i16 11857, i16 6415, i16 6418, i16 0, i16 1302, i16 0, i16 6422, i16 3911, i16 7728, i16 2259, i16 3908, i16 1357, i16 7729, i16 3909, i16 1132, i16 7730, i16 7731, i16 7732, i16 0, i16 7733, i16 0, i16 0, i16 0, i16 7734, i16 7735, i16 1417, i16 3912, i16 7736, i16 3913, i16 7737, i16 7738, i16 3914, i16 3915, i16 1932, i16 0, i16 0, i16 0, i16 1588, i16 3439, i16 10567, i16 10568, i16 0, i16 0, i16 0, i16 5596, i16 3109, i16 10569, i16 3007, i16 2808, i16 0, i16 1367, i16 5595, i16 5593, i16 10570, i16 3022, i16 5590, i16 2593, i16 2810, i16 0, i16 2809, i16 10571, i16 1771, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5614, i16 0, i16 0, i16 10056, i16 10057, i16 5283, i16 10058, i16 0, i16 0, i16 10059, i16 5304, i16 10060, i16 10061, i16 10062, i16 10063, i16 0, i16 0, i16 10064, i16 10065, i16 1157, i16 10066, i16 10067, i16 0, i16 0, i16 10068, i16 0, i16 0, i16 0, i16 10069, i16 0, i16 10070, i16 0, i16 1878, i16 0, i16 10071, i16 11336, i16 8188, i16 11337, i16 0, i16 0, i16 0, i16 11338, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6100, i16 1552, i16 0, i16 1267, i16 0, i16 11339, i16 11340, i16 6102, i16 3865, i16 11341, i16 11342, i16 11343, i16 11344, i16 1300, i16 0, i16 3591, i16 11345, i16 1392, i16 6103, i16 842, i16 0, i16 0, i16 3622, i16 12516, i16 12517, i16 12518, i16 6729, i16 6544, i16 12519, i16 6728, i16 0, i16 0, i16 0, i16 12520, i16 12521, i16 6732, i16 6730, i16 6731, i16 12522, i16 6733, i16 0, i16 6734, i16 3641, i16 6735, i16 6736, i16 12523, i16 2290, i16 3028, i16 0, i16 0, i16 0, i16 11082, i16 5951, i16 11083, i16 5952, i16 11084, i16 1940, i16 1385, i16 2618, i16 11085, i16 0, i16 11086, i16 2862, i16 0, i16 11087, i16 0, i16 11088, i16 0, i16 888, i16 0, i16 5956, i16 5955, i16 0, i16 11089, i16 11090, i16 0, i16 5961, i16 5957, i16 5960, i16 0, i16 11091, i16 11092, i16 0, i16 2892, i16 4870, i16 2887, i16 9286, i16 9287, i16 9288, i16 9289, i16 0, i16 9290, i16 9291, i16 4874, i16 4861, i16 9292, i16 1349, i16 4864, i16 2028, i16 9293, i16 9294, i16 9295, i16 2971, i16 4866, i16 1352, i16 0, i16 4858, i16 4860, i16 4857, i16 9296, i16 9297, i16 3675, i16 1085, i16 4863, i16 9298, i16 10316, i16 0, i16 3457, i16 5469, i16 10317, i16 2577, i16 10318, i16 2981, i16 0, i16 1384, i16 10319, i16 0, i16 10320, i16 2558, i16 5470, i16 1335, i16 10321, i16 10322, i16 0, i16 2297, i16 10323, i16 0, i16 0, i16 0, i16 10324, i16 0, i16 0, i16 10325, i16 5471, i16 0, i16 0, i16 0, i16 10572, i16 0, i16 0, i16 0, i16 10573, i16 5598, i16 10574, i16 5600, i16 0, i16 10575, i16 10576, i16 0, i16 5603, i16 10577, i16 5604, i16 10578, i16 5601, i16 5602, i16 10579, i16 10580, i16 5599, i16 5597, i16 0, i16 10581, i16 0, i16 0, i16 5591, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3149, i16 8118, i16 0, i16 4121, i16 8102, i16 0, i16 8103, i16 8104, i16 0, i16 8105, i16 0, i16 0, i16 0, i16 8106, i16 0, i16 0, i16 8107, i16 0, i16 0, i16 0, i16 2154, i16 8108, i16 8109, i16 1898, i16 8110, i16 2968, i16 1201, i16 0, i16 1760, i16 8111, i16 8112, i16 8113, i16 7501, i16 7502, i16 0, i16 0, i16 7503, i16 3780, i16 3789, i16 7504, i16 0, i16 2393, i16 7505, i16 1533, i16 7506, i16 2967, i16 7507, i16 5253, i16 7508, i16 3788, i16 2780, i16 7509, i16 3777, i16 0, i16 1583, i16 7510, i16 7511, i16 1582, i16 3775, i16 7512, i16 7513, i16 7514, i16 7515, i16 1931, i16 2382, i16 3317, i16 1772, i16 10710, i16 0, i16 0, i16 10711, i16 0, i16 0, i16 0, i16 10712, i16 1850, i16 2686, i16 10713, i16 5691, i16 3628, i16 1742, i16 10714, i16 5692, i16 2189, i16 0, i16 5694, i16 0, i16 0, i16 0, i16 2111, i16 1701, i16 0, i16 10715, i16 10716, i16 10717, i16 5693, i16 4431, i16 8660, i16 1023, i16 4451, i16 4453, i16 2580, i16 0, i16 8661, i16 1693, i16 957, i16 4445, i16 4456, i16 4455, i16 1328, i16 0, i16 2446, i16 1097, i16 8662, i16 0, i16 0, i16 0, i16 1438, i16 0, i16 4446, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8663, i16 8664, i16 5455, i16 0, i16 10300, i16 0, i16 0, i16 3234, i16 0, i16 10301, i16 0, i16 0, i16 10302, i16 0, i16 2021, i16 3603, i16 10303, i16 10304, i16 5457, i16 10305, i16 0, i16 2836, i16 0, i16 10306, i16 5458, i16 0, i16 0, i16 5459, i16 0, i16 5463, i16 5461, i16 5462, i16 10307, i16 5460, i16 8528, i16 2628, i16 0, i16 1604, i16 2078, i16 0, i16 0, i16 3064, i16 0, i16 0, i16 2079, i16 8529, i16 0, i16 0, i16 8530, i16 2055, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2701, i16 3278, i16 2744, i16 0, i16 0, i16 1605, i16 0, i16 3155, i16 0, i16 0, i16 0, i16 4177, i16 8209, i16 4176, i16 8210, i16 0, i16 931, i16 0, i16 4178, i16 2070, i16 4180, i16 2536, i16 8211, i16 4179, i16 8212, i16 3208, i16 8213, i16 0, i16 0, i16 8214, i16 2054, i16 2778, i16 8215, i16 8216, i16 0, i16 4181, i16 8217, i16 0, i16 8218, i16 8219, i16 1596, i16 0, i16 0, i16 9810, i16 0, i16 5193, i16 0, i16 2972, i16 5189, i16 5192, i16 2101, i16 9811, i16 3050, i16 0, i16 0, i16 5196, i16 0, i16 1922, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9812, i16 0, i16 0, i16 0, i16 2339, i16 0, i16 0, i16 11346, i16 11347, i16 11348, i16 11349, i16 11350, i16 0, i16 0, i16 6104, i16 0, i16 11351, i16 0, i16 2609, i16 11352, i16 0, i16 0, i16 11353, i16 0, i16 6105, i16 0, i16 0, i16 0, i16 11354, i16 11355, i16 11356, i16 0, i16 2903, i16 11357, i16 771, i16 0, i16 0, i16 0, i16 0, i16 8787, i16 4558, i16 8788, i16 8789, i16 0, i16 0, i16 2328, i16 8790, i16 0, i16 8791, i16 4559, i16 8792, i16 0, i16 0, i16 4560, i16 1241, i16 4561, i16 0, i16 4562, i16 4563, i16 2492, i16 0, i16 0, i16 0, i16 1542, i16 8793, i16 0, i16 3442, i16 0, i16 8794, i16 0, i16 3311, i16 9299, i16 4873, i16 1048, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1756, i16 0, i16 0, i16 9300, i16 900, i16 0, i16 0, i16 4890, i16 9301, i16 0, i16 3676, i16 4893, i16 9302, i16 0, i16 9303, i16 0, i16 0, i16 2181, i16 4892, i16 0, i16 0, i16 0, i16 2388, i16 7075, i16 13117, i16 0, i16 0, i16 0, i16 13118, i16 0, i16 0, i16 0, i16 13119, i16 13120, i16 7076, i16 0, i16 0, i16 13121, i16 0, i16 13122, i16 13123, i16 0, i16 13124, i16 0, i16 0, i16 13125, i16 0, i16 13126, i16 13127, i16 3096, i16 13128, i16 13129, i16 7077, i16 13130, i16 5972, i16 0, i16 11115, i16 11116, i16 11117, i16 5975, i16 0, i16 11118, i16 0, i16 2423, i16 1456, i16 0, i16 0, i16 11119, i16 11120, i16 872, i16 5974, i16 11121, i16 1642, i16 11156, i16 11099, i16 11122, i16 11123, i16 11124, i16 2424, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12628, i16 6804, i16 0, i16 12629, i16 6803, i16 12638, i16 12630, i16 0, i16 0, i16 0, i16 0, i16 12631, i16 3326, i16 2825, i16 12632, i16 12633, i16 12634, i16 0, i16 12635, i16 12636, i16 887, i16 12637, i16 0, i16 6805, i16 6802, i16 0, i16 0, i16 3144, i16 3545, i16 6806, i16 12639, i16 0, i16 9813, i16 0, i16 0, i16 0, i16 5199, i16 9814, i16 0, i16 9815, i16 5191, i16 0, i16 1410, i16 0, i16 9816, i16 0, i16 0, i16 5197, i16 0, i16 0, i16 9817, i16 0, i16 3519, i16 5200, i16 0, i16 0, i16 0, i16 7100, i16 9818, i16 9819, i16 0, i16 0, i16 0, i16 2014, i16 11093, i16 11094, i16 3425, i16 5959, i16 989, i16 1120, i16 5963, i16 11095, i16 11096, i16 5965, i16 11097, i16 11098, i16 0, i16 0, i16 1455, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5969, i16 5978, i16 5979, i16 0, i16 0, i16 11100, i16 756, i16 11101, i16 11102, i16 11103, i16 343, i16 0, i16 348, i16 344, i16 0, i16 0, i16 0, i16 349, i16 330, i16 0, i16 0, i16 331, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 354, i16 0, i16 0, i16 356, i16 292, i16 0, i16 7256, i16 7341, i16 7259, i16 7344, i16 7258, i16 7343, i16 7178, i16 7194, i16 7270, i16 7355, i16 7267, i16 7352, i16 7264, i16 7349, i16 7269, i16 7354, i16 7266, i16 7351, i16 7268, i16 7353, i16 7275, i16 7360, i16 7278, i16 7363, i16 7277, i16 7279, i16 7364, i16 7281, i16 7366, i16 7280, i16 7365, i16 0, i16 11608, i16 6262, i16 0, i16 0, i16 0, i16 11609, i16 6264, i16 3558, i16 0, i16 6263, i16 2193, i16 0, i16 6265, i16 0, i16 0, i16 6266, i16 11610, i16 0, i16 6267, i16 1170, i16 11611, i16 11612, i16 11613, i16 11614, i16 0, i16 0, i16 6268, i16 0, i16 11615, i16 6269, i16 0, i16 6270, i16 345, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 338, i16 339, i16 337, i16 336, i16 358, i16 359, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 293, i16 357, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 355, i16 0, i16 0, i16 3929, i16 1996, i16 7764, i16 2322, i16 0, i16 3931, i16 3930, i16 2064, i16 1562, i16 3933, i16 3031, i16 7766, i16 7765, i16 3934, i16 0, i16 0, i16 0, i16 3061, i16 2457, i16 2515, i16 1317, i16 0, i16 0, i16 2891, i16 2548, i16 7767, i16 2985, i16 7768, i16 3329, i16 0, i16 3936, i16 0, i16 9049, i16 0, i16 1614, i16 4714, i16 9050, i16 0, i16 1696, i16 2087, i16 9051, i16 9052, i16 4713, i16 0, i16 2088, i16 9053, i16 3409, i16 1695, i16 0, i16 9054, i16 9055, i16 800, i16 2295, i16 9056, i16 9057, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4720, i16 9058, i16 9059, i16 2266, i16 5210, i16 0, i16 0, i16 0, i16 0, i16 2414, i16 1803, i16 5212, i16 0, i16 0, i16 0, i16 0, i16 5211, i16 2159, i16 3955, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5213, i16 0, i16 0, i16 9838, i16 5215, i16 0, i16 5198, i16 5214, i16 0, i16 9839, i16 5216, i16 9820, i16 0, i16 9821, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5201, i16 0, i16 0, i16 0, i16 5202, i16 0, i16 0, i16 9822, i16 9823, i16 2921, i16 9824, i16 9825, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5204, i16 9826, i16 0, i16 0, i16 0, i16 5205, i16 9827, i16 1630, i16 0, i16 5677, i16 0, i16 0, i16 0, i16 10695, i16 3605, i16 0, i16 10696, i16 0, i16 10697, i16 0, i16 0, i16 0, i16 5679, i16 0, i16 0, i16 5680, i16 0, i16 5681, i16 10698, i16 5682, i16 0, i16 1848, i16 0, i16 5683, i16 1450, i16 0, i16 0, i16 1289, i16 0, i16 10590, i16 1162, i16 0, i16 0, i16 0, i16 10591, i16 0, i16 0, i16 0, i16 0, i16 2560, i16 0, i16 10592, i16 2342, i16 0, i16 10593, i16 10594, i16 3003, i16 10595, i16 0, i16 5620, i16 10596, i16 10597, i16 0, i16 3005, i16 0, i16 10598, i16 10599, i16 10600, i16 10601, i16 0, i16 0, i16 3168, i16 1751, i16 1646, i16 0, i16 11793, i16 0, i16 0, i16 3142, i16 996, i16 3047, i16 6379, i16 1172, i16 2302, i16 6378, i16 6383, i16 2620, i16 3444, i16 0, i16 6381, i16 6382, i16 1229, i16 0, i16 6384, i16 2974, i16 2500, i16 11794, i16 11795, i16 3082, i16 2748, i16 6380, i16 0, i16 3322, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 1377, i16 0, i16 0, i16 2005, i16 0, i16 2841, i16 0, i16 0, i16 12248, i16 12249, i16 12250, i16 0, i16 0, i16 12251, i16 12252, i16 0, i16 0, i16 2356, i16 12253, i16 6614, i16 0, i16 6608, i16 6613, i16 12254, i16 3412, i16 12255, i16 2649, i16 6615, i16 6612, i16 0, i16 0, i16 12256, i16 10849, i16 0, i16 5794, i16 5796, i16 0, i16 3540, i16 5795, i16 5798, i16 5797, i16 0, i16 3522, i16 10850, i16 5799, i16 10851, i16 3095, i16 10852, i16 10853, i16 10854, i16 0, i16 0, i16 5800, i16 0, i16 10855, i16 10856, i16 0, i16 0, i16 5803, i16 0, i16 10857, i16 5802, i16 5801, i16 0, i16 5475, i16 10333, i16 10334, i16 10335, i16 0, i16 2773, i16 1739, i16 1261, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10336, i16 10337, i16 0, i16 10338, i16 0, i16 3287, i16 0, i16 2950, i16 10339, i16 0, i16 10340, i16 0, i16 0, i16 2774, i16 0, i16 0, i16 0, i16 0, i16 1651, i16 7523, i16 7524, i16 7525, i16 3790, i16 0, i16 7526, i16 7527, i16 3791, i16 3795, i16 791, i16 7528, i16 0, i16 7529, i16 0, i16 7530, i16 3237, i16 3794, i16 7531, i16 7532, i16 7533, i16 0, i16 3793, i16 3797, i16 7534, i16 0, i16 7535, i16 3796, i16 0, i16 2693, i16 0, i16 0, i16 7536, i16 9828, i16 9829, i16 0, i16 2926, i16 9830, i16 0, i16 0, i16 0, i16 2804, i16 5207, i16 0, i16 9831, i16 9832, i16 0, i16 5209, i16 0, i16 3618, i16 0, i16 5206, i16 9833, i16 5208, i16 916, i16 9834, i16 5203, i16 0, i16 9835, i16 9836, i16 0, i16 9837, i16 0, i16 0, i16 4051, i16 11876, i16 11877, i16 11878, i16 11879, i16 0, i16 0, i16 11880, i16 11881, i16 0, i16 0, i16 6445, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6434, i16 11882, i16 0, i16 11883, i16 6435, i16 6433, i16 11884, i16 11885, i16 11886, i16 11887, i16 0, i16 0, i16 0, i16 11888, i16 0, i16 0, i16 4709, i16 4710, i16 1212, i16 0, i16 0, i16 2905, i16 2553, i16 1291, i16 1840, i16 2408, i16 0, i16 0, i16 2027, i16 761, i16 0, i16 0, i16 9042, i16 4711, i16 9043, i16 0, i16 9044, i16 9045, i16 0, i16 0, i16 0, i16 9046, i16 935, i16 4715, i16 0, i16 0, i16 9047, i16 9048, i16 8037, i16 0, i16 8038, i16 8039, i16 8040, i16 8041, i16 4095, i16 766, i16 1748, i16 8042, i16 8043, i16 0, i16 8044, i16 1432, i16 8045, i16 8046, i16 2578, i16 0, i16 0, i16 8047, i16 8048, i16 0, i16 0, i16 4096, i16 4097, i16 0, i16 0, i16 4099, i16 0, i16 8049, i16 8050, i16 8051, i16 615, i16 616, i16 0, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 7126, i16 7129, i16 7131, i16 7132, i16 7133, i16 7134, i16 7141, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 6247, i16 11588, i16 11589, i16 11590, i16 6250, i16 0, i16 6249, i16 0, i16 0, i16 0, i16 6252, i16 11591, i16 0, i16 6251, i16 11592, i16 6253, i16 11593, i16 0, i16 1984, i16 11594, i16 6254, i16 11595, i16 0, i16 6255, i16 0, i16 0, i16 11596, i16 11597, i16 11598, i16 11599, i16 6256, i16 2279, i16 8295, i16 0, i16 8296, i16 0, i16 0, i16 0, i16 0, i16 8297, i16 0, i16 0, i16 0, i16 0, i16 8298, i16 0, i16 0, i16 0, i16 0, i16 8299, i16 8300, i16 8301, i16 0, i16 8302, i16 0, i16 0, i16 8303, i16 0, i16 8304, i16 8305, i16 4208, i16 4212, i16 4209, i16 8306, i16 1128, i16 7640, i16 3851, i16 7641, i16 3849, i16 3406, i16 3850, i16 0, i16 3153, i16 3852, i16 3853, i16 3854, i16 2782, i16 7642, i16 0, i16 0, i16 3858, i16 3856, i16 3857, i16 3855, i16 1752, i16 3859, i16 3451, i16 3633, i16 7643, i16 0, i16 7644, i16 0, i16 7645, i16 3860, i16 7646, i16 7647, i16 2152, i16 12316, i16 6626, i16 6628, i16 12317, i16 12318, i16 1360, i16 12319, i16 3132, i16 12320, i16 12321, i16 1939, i16 3662, i16 0, i16 6624, i16 1773, i16 0, i16 0, i16 3690, i16 12322, i16 12323, i16 6630, i16 12324, i16 12325, i16 0, i16 0, i16 6629, i16 6631, i16 0, i16 0, i16 0, i16 0, i16 3944, i16 7785, i16 0, i16 0, i16 7786, i16 3946, i16 3945, i16 0, i16 2218, i16 864, i16 7787, i16 7788, i16 0, i16 901, i16 3947, i16 7789, i16 3948, i16 0, i16 7790, i16 1520, i16 7791, i16 7792, i16 3949, i16 7793, i16 7794, i16 0, i16 7795, i16 1293, i16 0, i16 7796, i16 0, i16 0, i16 4200, i16 3671, i16 0, i16 0, i16 8271, i16 8272, i16 2951, i16 8273, i16 8274, i16 4202, i16 0, i16 0, i16 8275, i16 0, i16 0, i16 0, i16 8276, i16 0, i16 0, i16 0, i16 0, i16 8277, i16 0, i16 0, i16 0, i16 0, i16 1692, i16 0, i16 0, i16 0, i16 8278, i16 0, i16 5994, i16 0, i16 5984, i16 0, i16 0, i16 0, i16 11142, i16 11143, i16 5996, i16 11144, i16 5982, i16 2999, i16 11145, i16 11170, i16 0, i16 0, i16 0, i16 3544, i16 0, i16 0, i16 0, i16 5991, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6013, i16 11146, i16 11147, i16 4972, i16 0, i16 9436, i16 4974, i16 4973, i16 9437, i16 3339, i16 0, i16 0, i16 2029, i16 1949, i16 1815, i16 0, i16 4975, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4977, i16 2158, i16 9438, i16 4976, i16 0, i16 0, i16 9439, i16 0, i16 0, i16 4978, i16 9440, i16 5228, i16 9855, i16 9856, i16 9857, i16 0, i16 9858, i16 5229, i16 3239, i16 3040, i16 0, i16 0, i16 5230, i16 2962, i16 0, i16 9859, i16 9860, i16 9861, i16 0, i16 2638, i16 9862, i16 0, i16 9863, i16 9864, i16 0, i16 5231, i16 1004, i16 9865, i16 1292, i16 9866, i16 3415, i16 9867, i16 3399, i16 365, i16 366, i16 0, i16 0, i16 0, i16 258, i16 257, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 361, i16 0, i16 297, i16 298, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 323, i16 0, i16 0, i16 0, i16 0, i16 878, i16 9060, i16 9061, i16 9062, i16 9063, i16 2020, i16 9064, i16 3353, i16 1767, i16 9065, i16 9066, i16 9067, i16 9068, i16 2089, i16 9069, i16 2256, i16 9070, i16 9071, i16 0, i16 9072, i16 4719, i16 4717, i16 4718, i16 9074, i16 0, i16 9073, i16 0, i16 0, i16 2606, i16 0, i16 0, i16 4750, i16 10350, i16 10351, i16 0, i16 10352, i16 10353, i16 0, i16 0, i16 0, i16 10354, i16 0, i16 10355, i16 3583, i16 1628, i16 0, i16 10356, i16 1504, i16 0, i16 0, i16 3004, i16 0, i16 5479, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10357, i16 0, i16 5481, i16 0, i16 10358, i16 0, i16 6767, i16 7051, i16 3421, i16 12559, i16 6768, i16 0, i16 6769, i16 12560, i16 6770, i16 1082, i16 12561, i16 6772, i16 0, i16 2212, i16 12562, i16 0, i16 0, i16 6773, i16 0, i16 12563, i16 1407, i16 0, i16 12564, i16 12565, i16 12566, i16 6774, i16 6778, i16 12567, i16 6776, i16 12568, i16 0, i16 12569, i16 9328, i16 9329, i16 4897, i16 9330, i16 0, i16 4904, i16 0, i16 0, i16 0, i16 0, i16 4910, i16 3086, i16 4916, i16 0, i16 0, i16 9331, i16 0, i16 9332, i16 4911, i16 4914, i16 4908, i16 9333, i16 0, i16 2615, i16 0, i16 3119, i16 9334, i16 4898, i16 0, i16 9335, i16 4906, i16 2093, i16 9840, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2997, i16 9841, i16 9842, i16 9843, i16 0, i16 0, i16 0, i16 5217, i16 0, i16 0, i16 5218, i16 0, i16 0, i16 9844, i16 0, i16 0, i16 0, i16 9845, i16 0, i16 0, i16 9846, i16 5219, i16 0, i16 9847, i16 0, i16 9848, i16 10096, i16 10097, i16 0, i16 1805, i16 10098, i16 928, i16 5328, i16 10099, i16 3520, i16 10100, i16 10101, i16 3256, i16 5329, i16 0, i16 0, i16 10102, i16 2755, i16 3490, i16 1626, i16 2184, i16 0, i16 0, i16 10103, i16 2574, i16 3918, i16 10104, i16 2639, i16 1005, i16 5330, i16 10105, i16 10106, i16 10107, i16 7537, i16 0, i16 7538, i16 7539, i16 0, i16 1485, i16 7540, i16 7541, i16 0, i16 0, i16 7542, i16 0, i16 3798, i16 7543, i16 0, i16 0, i16 7544, i16 7545, i16 1910, i16 0, i16 2443, i16 2694, i16 1395, i16 0, i16 3799, i16 0, i16 0, i16 0, i16 0, i16 1237, i16 0, i16 0, i16 11377, i16 11378, i16 0, i16 11379, i16 6114, i16 11380, i16 6115, i16 1929, i16 0, i16 6117, i16 0, i16 2564, i16 0, i16 1457, i16 1061, i16 0, i16 0, i16 11381, i16 11382, i16 0, i16 6120, i16 11383, i16 0, i16 11384, i16 0, i16 1058, i16 11385, i16 6125, i16 11386, i16 0, i16 6121, i16 6124, i16 11889, i16 11890, i16 6432, i16 0, i16 2718, i16 0, i16 0, i16 6437, i16 6441, i16 6438, i16 6436, i16 11891, i16 6439, i16 11892, i16 11893, i16 11894, i16 6440, i16 0, i16 0, i16 0, i16 11895, i16 6447, i16 0, i16 0, i16 0, i16 6442, i16 0, i16 11896, i16 11897, i16 11898, i16 11899, i16 2305, i16 10866, i16 940, i16 0, i16 10867, i16 0, i16 5812, i16 5813, i16 0, i16 10868, i16 0, i16 5814, i16 0, i16 3537, i16 0, i16 10869, i16 10870, i16 0, i16 0, i16 1979, i16 0, i16 5816, i16 5815, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10871, i16 0, i16 0, i16 0, i16 10872, i16 3699, i16 4782, i16 2240, i16 0, i16 0, i16 0, i16 4781, i16 0, i16 0, i16 4776, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1544, i16 9169, i16 9170, i16 9171, i16 4788, i16 4786, i16 9172, i16 978, i16 4784, i16 4790, i16 4796, i16 0, i16 9173, i16 9174, i16 9175, i16 0, i16 0, i16 7283, i16 7282, i16 7285, i16 7291, i16 7284, i16 7290, i16 7180, i16 7295, i16 7299, i16 7298, i16 7301, i16 7300, i16 7312, i16 7311, i16 7314, i16 7313, i16 7182, i16 7327, i16 7329, i16 7328, i16 7331, i16 7335, i16 7330, i16 285, i16 7191, i16 7346, i16 7345, i16 7348, i16 7347, i16 7361, i16 7195, i16 7362, i16 9075, i16 4724, i16 1873, i16 1615, i16 4722, i16 9076, i16 9077, i16 0, i16 0, i16 4723, i16 9078, i16 2179, i16 9079, i16 0, i16 9081, i16 4721, i16 0, i16 9080, i16 1794, i16 0, i16 0, i16 0, i16 0, i16 9082, i16 9083, i16 9084, i16 0, i16 9085, i16 9086, i16 4726, i16 4725, i16 4730, i16 1908, i16 0, i16 11233, i16 11234, i16 0, i16 0, i16 6015, i16 11235, i16 0, i16 0, i16 0, i16 0, i16 11236, i16 0, i16 11237, i16 0, i16 11238, i16 3235, i16 0, i16 3379, i16 6055, i16 6054, i16 0, i16 6050, i16 6051, i16 0, i16 861, i16 0, i16 11239, i16 0, i16 11240, i16 6053, i16 1909, i16 0, i16 0, i16 0, i16 2851, i16 5627, i16 5626, i16 0, i16 10612, i16 5623, i16 10613, i16 0, i16 0, i16 3681, i16 0, i16 0, i16 0, i16 0, i16 10614, i16 5632, i16 10615, i16 10616, i16 5636, i16 5633, i16 10617, i16 10618, i16 10619, i16 0, i16 10620, i16 0, i16 10621, i16 0, i16 7797, i16 0, i16 1797, i16 3950, i16 0, i16 7798, i16 0, i16 0, i16 3367, i16 1706, i16 1273, i16 3478, i16 2391, i16 3032, i16 1966, i16 7799, i16 0, i16 0, i16 7800, i16 7801, i16 2006, i16 7802, i16 1945, i16 1958, i16 0, i16 2053, i16 7803, i16 3033, i16 0, i16 7804, i16 7805, i16 3953, i16 12917, i16 0, i16 12918, i16 0, i16 6964, i16 0, i16 6960, i16 0, i16 6961, i16 6957, i16 6963, i16 12919, i16 6959, i16 1093, i16 0, i16 12920, i16 3703, i16 12921, i16 6962, i16 6958, i16 6956, i16 6955, i16 12922, i16 0, i16 12923, i16 12924, i16 12925, i16 6966, i16 12926, i16 0, i16 12927, i16 0, i16 9590, i16 2555, i16 9591, i16 0, i16 5069, i16 9592, i16 5058, i16 0, i16 5064, i16 9593, i16 5071, i16 837, i16 5061, i16 0, i16 5072, i16 9594, i16 9595, i16 2183, i16 0, i16 2030, i16 9596, i16 3194, i16 9597, i16 1699, i16 0, i16 5053, i16 5067, i16 2745, i16 9598, i16 0, i16 0, i16 0, i16 3448, i16 0, i16 6681, i16 2357, i16 12444, i16 0, i16 0, i16 6682, i16 12445, i16 3225, i16 6683, i16 1038, i16 12446, i16 12447, i16 12448, i16 867, i16 0, i16 1176, i16 0, i16 1175, i16 6684, i16 0, i16 6685, i16 0, i16 6686, i16 6687, i16 0, i16 0, i16 0, i16 12449, i16 12450, i16 12451, i16 4472, i16 4470, i16 8699, i16 2401, i16 0, i16 8700, i16 0, i16 4460, i16 1799, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2475, i16 4491, i16 8701, i16 2402, i16 4486, i16 8702, i16 4483, i16 4484, i16 8703, i16 1943, i16 4487, i16 4490, i16 8704, i16 8705, i16 0, i16 0, i16 6008, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11157, i16 3267, i16 11158, i16 5999, i16 0, i16 0, i16 0, i16 991, i16 1551, i16 3104, i16 6009, i16 0, i16 5997, i16 0, i16 11159, i16 6006, i16 11160, i16 11161, i16 0, i16 6016, i16 11162, i16 6001, i16 0, i16 0, i16 9336, i16 3424, i16 4926, i16 4913, i16 9337, i16 0, i16 0, i16 0, i16 9338, i16 1499, i16 936, i16 1090, i16 0, i16 0, i16 4889, i16 0, i16 9339, i16 0, i16 9340, i16 0, i16 9341, i16 2094, i16 4918, i16 9342, i16 4925, i16 1962, i16 1109, i16 9343, i16 0, i16 2545, i16 9344, i16 9345, i16 11640, i16 0, i16 11641, i16 1480, i16 11642, i16 6284, i16 11643, i16 0, i16 0, i16 0, i16 3295, i16 11644, i16 11645, i16 2312, i16 0, i16 11646, i16 0, i16 1301, i16 0, i16 3462, i16 2385, i16 11647, i16 6285, i16 11648, i16 0, i16 0, i16 2194, i16 2611, i16 2119, i16 11649, i16 11650, i16 0, i16 8313, i16 2599, i16 0, i16 4213, i16 0, i16 8314, i16 4215, i16 0, i16 0, i16 4216, i16 8315, i16 0, i16 0, i16 0, i16 8316, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8317, i16 8318, i16 0, i16 0, i16 0, i16 4218, i16 4219, i16 0, i16 8319, i16 0, i16 0, i16 11129, i16 0, i16 11130, i16 0, i16 11131, i16 5980, i16 11132, i16 5988, i16 0, i16 5995, i16 5989, i16 0, i16 0, i16 11133, i16 5987, i16 0, i16 0, i16 0, i16 11134, i16 5958, i16 11135, i16 11136, i16 5985, i16 0, i16 11137, i16 11138, i16 5981, i16 11139, i16 11140, i16 11141, i16 1169, i16 5983, i16 890, i16 11664, i16 6294, i16 1459, i16 0, i16 11665, i16 1857, i16 11666, i16 0, i16 1856, i16 0, i16 3704, i16 6293, i16 6292, i16 2350, i16 0, i16 1260, i16 3694, i16 1053, i16 2121, i16 0, i16 11667, i16 11668, i16 11669, i16 0, i16 11670, i16 11671, i16 11672, i16 6291, i16 0, i16 11673, i16 11674, i16 3962, i16 0, i16 3663, i16 7821, i16 7822, i16 0, i16 3271, i16 7823, i16 2697, i16 1563, i16 1671, i16 0, i16 0, i16 7824, i16 3970, i16 7825, i16 0, i16 2874, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7826, i16 3974, i16 3707, i16 4830, i16 0, i16 0, i16 4844, i16 801, i16 9267, i16 0, i16 4832, i16 9268, i16 9269, i16 3403, i16 4837, i16 2157, i16 2664, i16 4827, i16 9270, i16 9271, i16 4843, i16 9272, i16 0, i16 0, i16 9273, i16 9274, i16 0, i16 2245, i16 4853, i16 1108, i16 1498, i16 0, i16 0, i16 0, i16 11387, i16 0, i16 0, i16 11388, i16 3027, i16 11389, i16 0, i16 11390, i16 0, i16 6122, i16 0, i16 0, i16 6123, i16 3135, i16 3059, i16 6126, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2530, i16 6136, i16 11392, i16 6132, i16 11393, i16 11394, i16 1008, i16 0, i16 2172, i16 0, i16 0, i16 8264, i16 8265, i16 4194, i16 0, i16 8266, i16 8267, i16 3247, i16 8268, i16 0, i16 0, i16 8269, i16 0, i16 1565, i16 8270, i16 0, i16 0, i16 0, i16 0, i16 4203, i16 4204, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2072, i16 0, i16 0, i16 0, i16 6012, i16 0, i16 6011, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2982, i16 6018, i16 0, i16 6029, i16 0, i16 0, i16 11171, i16 0, i16 1121, i16 0, i16 0, i16 0, i16 6032, i16 0, i16 0, i16 6014, i16 11172, i16 0, i16 0, i16 6019, i16 3549, i16 0, i16 0, i16 10108, i16 0, i16 0, i16 10109, i16 5331, i16 0, i16 5336, i16 10110, i16 10111, i16 5334, i16 5333, i16 4684, i16 1033, i16 5332, i16 10112, i16 803, i16 10113, i16 3011, i16 10114, i16 0, i16 3043, i16 0, i16 0, i16 10115, i16 0, i16 3582, i16 5337, i16 5335, i16 2591, i16 2255, i16 10116, i16 10117, i16 7806, i16 874, i16 2392, i16 1590, i16 1534, i16 1380, i16 7807, i16 7808, i16 3957, i16 2532, i16 2531, i16 1320, i16 2065, i16 3958, i16 3956, i16 969, i16 2507, i16 1897, i16 1822, i16 845, i16 0, i16 7809, i16 1107, i16 1661, i16 1821, i16 0, i16 3959, i16 0, i16 0, i16 0, i16 0, i16 0, i16 639, i16 640, i16 7138, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 7135, i16 7140, i16 7137, i16 7139, i16 7142, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6271, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1076, i16 0, i16 11616, i16 11617, i16 11618, i16 11619, i16 11620, i16 0, i16 6272, i16 0, i16 6273, i16 6274, i16 0, i16 0, i16 9087, i16 9088, i16 4731, i16 0, i16 4727, i16 0, i16 1029, i16 4728, i16 4729, i16 3054, i16 9090, i16 9091, i16 9092, i16 0, i16 3160, i16 1445, i16 4732, i16 0, i16 0, i16 9094, i16 2267, i16 9095, i16 2090, i16 9097, i16 9098, i16 9099, i16 2581, i16 9100, i16 9102, i16 0, i16 9093, i16 9096, i16 9599, i16 0, i16 0, i16 0, i16 9600, i16 2271, i16 0, i16 1100, i16 1734, i16 2097, i16 5055, i16 2001, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1447, i16 0, i16 5054, i16 0, i16 0, i16 0, i16 5076, i16 2044, i16 1523, i16 0, i16 5091, i16 9601, i16 5085, i16 8320, i16 8321, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8322, i16 1203, i16 0, i16 4221, i16 4220, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4222, i16 8323, i16 0, i16 8325, i16 0, i16 8326, i16 0, i16 8327, i16 0, i16 0, i16 8576, i16 4395, i16 0, i16 0, i16 8577, i16 8578, i16 0, i16 8579, i16 4396, i16 0, i16 1325, i16 0, i16 4397, i16 8580, i16 4398, i16 0, i16 8581, i16 4400, i16 0, i16 2805, i16 8582, i16 0, i16 4401, i16 4402, i16 8583, i16 4403, i16 0, i16 8584, i16 4388, i16 4387, i16 0, i16 0, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 0, i16 0, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 1665, i16 2915, i16 0, i16 0, i16 5051, i16 0, i16 0, i16 0, i16 9719, i16 9720, i16 0, i16 3555, i16 5149, i16 0, i16 5153, i16 2522, i16 9721, i16 5152, i16 0, i16 5131, i16 0, i16 9722, i16 6697, i16 0, i16 0, i16 9723, i16 5157, i16 0, i16 9724, i16 9725, i16 5161, i16 0, i16 5249, i16 5250, i16 5248, i16 0, i16 0, i16 9900, i16 0, i16 0, i16 0, i16 1950, i16 0, i16 0, i16 2853, i16 1334, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9901, i16 9902, i16 0, i16 0, i16 5252, i16 2543, i16 5251, i16 9903, i16 9904, i16 3680, i16 2973, i16 9905, i16 0, i16 5507, i16 1426, i16 0, i16 0, i16 10420, i16 10421, i16 10422, i16 1247, i16 1222, i16 1846, i16 10423, i16 10424, i16 0, i16 0, i16 0, i16 10425, i16 3491, i16 10426, i16 0, i16 5513, i16 10427, i16 5512, i16 2379, i16 5509, i16 10428, i16 0, i16 5511, i16 10429, i16 10430, i16 2010, i16 2187, i16 5510, i16 11651, i16 6286, i16 0, i16 11652, i16 0, i16 11653, i16 6289, i16 11654, i16 6290, i16 11655, i16 0, i16 0, i16 0, i16 11656, i16 11657, i16 0, i16 1715, i16 2471, i16 6288, i16 11658, i16 2120, i16 3125, i16 11659, i16 11660, i16 11661, i16 0, i16 0, i16 6287, i16 11662, i16 11663, i16 1855, i16 0, i16 5508, i16 0, i16 2917, i16 0, i16 0, i16 2106, i16 0, i16 10431, i16 3123, i16 10432, i16 0, i16 10433, i16 0, i16 1740, i16 0, i16 0, i16 0, i16 0, i16 10434, i16 0, i16 0, i16 0, i16 0, i16 2807, i16 0, i16 10435, i16 5514, i16 10436, i16 10437, i16 0, i16 10438, i16 5515, i16 4485, i16 1972, i16 8706, i16 4488, i16 0, i16 0, i16 4482, i16 8707, i16 3469, i16 3468, i16 8708, i16 0, i16 8709, i16 4492, i16 4493, i16 798, i16 8710, i16 8711, i16 8712, i16 8713, i16 8714, i16 4481, i16 8715, i16 8716, i16 0, i16 8717, i16 1391, i16 751, i16 8718, i16 0, i16 8719, i16 1143, i16 4230, i16 8332, i16 0, i16 4228, i16 0, i16 4229, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8333, i16 8334, i16 0, i16 0, i16 0, i16 1829, i16 4231, i16 8335, i16 0, i16 1597, i16 4232, i16 8336, i16 1869, i16 2461, i16 0, i16 4233, i16 4234, i16 1837, i16 1598, i16 8337, i16 3427, i16 1673, i16 0, i16 3259, i16 5542, i16 10499, i16 10500, i16 3335, i16 10501, i16 10502, i16 5544, i16 0, i16 0, i16 10503, i16 2298, i16 886, i16 959, i16 757, i16 0, i16 0, i16 0, i16 0, i16 10504, i16 10505, i16 5543, i16 0, i16 10506, i16 0, i16 0, i16 10507, i16 10508, i16 0, i16 10509, i16 2441, i16 6521, i16 754, i16 3661, i16 0, i16 0, i16 0, i16 6526, i16 12021, i16 12022, i16 12024, i16 0, i16 12025, i16 12026, i16 2502, i16 12023, i16 0, i16 1988, i16 2197, i16 12027, i16 12028, i16 6528, i16 6527, i16 12029, i16 824, i16 6529, i16 0, i16 0, i16 3110, i16 0, i16 6537, i16 12030, i16 8585, i16 4404, i16 1436, i16 8586, i16 8587, i16 0, i16 3102, i16 8588, i16 0, i16 1729, i16 3118, i16 2631, i16 3138, i16 4405, i16 0, i16 8589, i16 2081, i16 877, i16 8590, i16 4406, i16 8591, i16 8592, i16 0, i16 4407, i16 8593, i16 3459, i16 8594, i16 0, i16 3065, i16 8595, i16 8596, i16 4410, i16 10634, i16 1163, i16 0, i16 5637, i16 0, i16 10635, i16 10636, i16 5638, i16 10637, i16 0, i16 5639, i16 5642, i16 10638, i16 0, i16 0, i16 0, i16 0, i16 10639, i16 0, i16 10640, i16 10641, i16 0, i16 10642, i16 5641, i16 3087, i16 10643, i16 10644, i16 0, i16 0, i16 5643, i16 3657, i16 3266, i16 1675, i16 3402, i16 12998, i16 12997, i16 7003, i16 12999, i16 0, i16 0, i16 0, i16 13000, i16 13001, i16 13002, i16 3301, i16 0, i16 0, i16 7011, i16 13003, i16 0, i16 7007, i16 0, i16 0, i16 0, i16 13004, i16 13005, i16 0, i16 0, i16 7012, i16 13006, i16 13007, i16 0, i16 13008, i16 0, i16 7563, i16 7564, i16 7565, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7566, i16 0, i16 1722, i16 3506, i16 0, i16 7567, i16 7568, i16 0, i16 3804, i16 3807, i16 3803, i16 1721, i16 0, i16 2060, i16 0, i16 7569, i16 7570, i16 0, i16 0, i16 7571, i16 1428, i16 0, i16 3980, i16 7837, i16 0, i16 7838, i16 3982, i16 7839, i16 3984, i16 0, i16 7840, i16 7841, i16 0, i16 1765, i16 3693, i16 7842, i16 3973, i16 3971, i16 3983, i16 7843, i16 3978, i16 0, i16 0, i16 7844, i16 7845, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7846, i16 0, i16 0, i16 7847, i16 9868, i16 953, i16 3679, i16 9869, i16 0, i16 0, i16 0, i16 3333, i16 9870, i16 3199, i16 0, i16 9871, i16 0, i16 0, i16 9872, i16 9873, i16 0, i16 9874, i16 2272, i16 0, i16 5232, i16 0, i16 0, i16 9875, i16 9876, i16 2848, i16 0, i16 9877, i16 9878, i16 1500, i16 5233, i16 9879, i16 11148, i16 6005, i16 0, i16 0, i16 0, i16 2246, i16 0, i16 11149, i16 0, i16 11150, i16 1253, i16 0, i16 1370, i16 0, i16 6000, i16 11151, i16 11152, i16 11153, i16 0, i16 992, i16 11154, i16 0, i16 2113, i16 0, i16 6003, i16 0, i16 0, i16 0, i16 1743, i16 11155, i16 0, i16 2768, i16 4749, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4751, i16 0, i16 9131, i16 4752, i16 0, i16 9132, i16 9133, i16 0, i16 9134, i16 0, i16 4753, i16 0, i16 1351, i16 879, i16 1616, i16 4754, i16 0, i16 4755, i16 2048, i16 2409, i16 9135, i16 9089, i16 3954, i16 2373, i16 2372, i16 2493, i16 9101, i16 1348, i16 0, i16 4733, i16 4737, i16 0, i16 0, i16 976, i16 4734, i16 4736, i16 0, i16 9103, i16 9104, i16 9105, i16 4735, i16 0, i16 9106, i16 2042, i16 9107, i16 0, i16 0, i16 0, i16 2571, i16 782, i16 4738, i16 9108, i16 9109, i16 9110, i16 9111, i16 4739, i16 0, i16 9112, i16 10897, i16 5830, i16 0, i16 0, i16 10898, i16 0, i16 10899, i16 0, i16 5831, i16 0, i16 0, i16 0, i16 10900, i16 0, i16 10901, i16 0, i16 10902, i16 0, i16 0, i16 1883, i16 10903, i16 10904, i16 3454, i16 10905, i16 0, i16 10906, i16 10907, i16 5833, i16 10908, i16 2562, i16 10909, i16 5832, i16 3218, i16 3626, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8131, i16 1017, i16 4128, i16 8132, i16 8133, i16 0, i16 8134, i16 8135, i16 2369, i16 4131, i16 0, i16 2786, i16 8136, i16 0, i16 2760, i16 2787, i16 3026, i16 2670, i16 0, i16 0, i16 0, i16 1726, i16 8137, i16 3731, i16 3303, i16 3732, i16 0, i16 1579, i16 816, i16 3365, i16 0, i16 1307, i16 0, i16 0, i16 1308, i16 1309, i16 2691, i16 3593, i16 7399, i16 3733, i16 0, i16 0, i16 3734, i16 0, i16 0, i16 3735, i16 0, i16 0, i16 7400, i16 2200, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4243, i16 8345, i16 0, i16 4244, i16 8346, i16 2517, i16 8347, i16 846, i16 1946, i16 779, i16 8348, i16 2398, i16 1137, i16 1894, i16 8349, i16 1599, i16 8350, i16 8351, i16 0, i16 8352, i16 8353, i16 2789, i16 8354, i16 1968, i16 1138, i16 2603, i16 2699, i16 769, i16 1240, i16 3274, i16 0, i16 1907, i16 7060, i16 0, i16 0, i16 0, i16 13092, i16 7061, i16 0, i16 13093, i16 7062, i16 0, i16 0, i16 0, i16 13094, i16 13095, i16 13096, i16 7063, i16 13097, i16 13098, i16 13099, i16 0, i16 7064, i16 13100, i16 7065, i16 7066, i16 13101, i16 7067, i16 0, i16 7068, i16 7069, i16 7070, i16 0, i16 13102, i16 7572, i16 0, i16 3808, i16 7573, i16 7574, i16 1356, i16 0, i16 7575, i16 0, i16 3805, i16 3806, i16 0, i16 7576, i16 2828, i16 7577, i16 2435, i16 7578, i16 1312, i16 0, i16 7579, i16 7580, i16 3328, i16 3809, i16 0, i16 7581, i16 0, i16 3594, i16 0, i16 7582, i16 7583, i16 3810, i16 7584, i16 6549, i16 6548, i16 6546, i16 5564, i16 1173, i16 12043, i16 0, i16 6514, i16 12044, i16 6551, i16 6550, i16 12045, i16 12046, i16 0, i16 12047, i16 6552, i16 12048, i16 3495, i16 0, i16 0, i16 0, i16 12049, i16 0, i16 12050, i16 12051, i16 12052, i16 0, i16 12053, i16 0, i16 0, i16 0, i16 0, i16 2710, i16 2000, i16 1280, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9490, i16 9491, i16 0, i16 9492, i16 3039, i16 9493, i16 1887, i16 0, i16 9494, i16 0, i16 9495, i16 5004, i16 0, i16 1153, i16 0, i16 9496, i16 927, i16 9497, i16 9498, i16 2895, i16 5003, i16 1621, i16 10390, i16 10391, i16 0, i16 0, i16 10387, i16 0, i16 10392, i16 5497, i16 3348, i16 0, i16 10393, i16 0, i16 5496, i16 0, i16 0, i16 820, i16 0, i16 0, i16 10394, i16 10395, i16 5500, i16 0, i16 10397, i16 10398, i16 0, i16 0, i16 10399, i16 10400, i16 0, i16 5499, i16 0, i16 10401, i16 12184, i16 12185, i16 0, i16 0, i16 12186, i16 12187, i16 12188, i16 12189, i16 0, i16 12190, i16 12191, i16 0, i16 12192, i16 2876, i16 1062, i16 0, i16 12193, i16 6601, i16 12194, i16 12195, i16 6598, i16 6600, i16 12196, i16 0, i16 12197, i16 0, i16 0, i16 0, i16 12198, i16 12199, i16 6596, i16 0, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 3481, i16 0, i16 8676, i16 1142, i16 8677, i16 8678, i16 896, i16 4468, i16 8679, i16 2933, i16 758, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8680, i16 8681, i16 3066, i16 4428, i16 4474, i16 4478, i16 3446, i16 8682, i16 4471, i16 0, i16 0, i16 8683, i16 2792, i16 4476, i16 8684, i16 0, i16 9113, i16 0, i16 2635, i16 0, i16 9114, i16 0, i16 3646, i16 0, i16 0, i16 0, i16 0, i16 1814, i16 0, i16 9115, i16 3264, i16 0, i16 0, i16 9116, i16 9117, i16 0, i16 3312, i16 9118, i16 0, i16 0, i16 4746, i16 4741, i16 0, i16 9119, i16 4744, i16 0, i16 4743, i16 9120, i16 922, i16 2387, i16 12036, i16 1512, i16 0, i16 3529, i16 12037, i16 12038, i16 6541, i16 2731, i16 0, i16 0, i16 12039, i16 2431, i16 1928, i16 6542, i16 12040, i16 0, i16 6545, i16 0, i16 12041, i16 2036, i16 6543, i16 2354, i16 2353, i16 12042, i16 813, i16 0, i16 3608, i16 6547, i16 0, i16 3083, i16 2714, i16 5730, i16 10770, i16 0, i16 5726, i16 10771, i16 10772, i16 0, i16 3241, i16 1164, i16 10773, i16 10774, i16 3420, i16 10775, i16 0, i16 807, i16 0, i16 10776, i16 5729, i16 0, i16 3658, i16 10777, i16 10778, i16 0, i16 0, i16 10779, i16 10780, i16 5728, i16 0, i16 0, i16 0, i16 0, i16 11930, i16 11931, i16 0, i16 11932, i16 11933, i16 6468, i16 6465, i16 11934, i16 6469, i16 0, i16 1927, i16 6470, i16 1231, i16 1422, i16 0, i16 11935, i16 0, i16 11936, i16 1511, i16 0, i16 11937, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6471, i16 11938, i16 0, i16 0, i16 2893, i16 11419, i16 0, i16 0, i16 11420, i16 0, i16 11421, i16 0, i16 0, i16 0, i16 2319, i16 0, i16 3684, i16 6148, i16 11422, i16 6149, i16 0, i16 0, i16 0, i16 0, i16 6155, i16 0, i16 2165, i16 0, i16 6151, i16 11423, i16 6154, i16 0, i16 0, i16 0, i16 11424, i16 0, i16 6146, i16 11675, i16 0, i16 6296, i16 11676, i16 6297, i16 6295, i16 11677, i16 1553, i16 0, i16 3503, i16 0, i16 11678, i16 1858, i16 2914, i16 0, i16 11679, i16 11680, i16 6300, i16 11681, i16 2281, i16 0, i16 2565, i16 11682, i16 11683, i16 3493, i16 11684, i16 6303, i16 0, i16 0, i16 0, i16 1573, i16 11685, i16 10140, i16 10141, i16 5356, i16 5358, i16 10142, i16 3129, i16 10143, i16 2102, i16 0, i16 0, i16 5365, i16 0, i16 10144, i16 5364, i16 10145, i16 10146, i16 0, i16 0, i16 5366, i16 0, i16 1879, i16 1700, i16 0, i16 10147, i16 2806, i16 5367, i16 0, i16 2668, i16 10148, i16 0, i16 5369, i16 10149, i16 10396, i16 2105, i16 0, i16 0, i16 0, i16 0, i16 10402, i16 5501, i16 0, i16 0, i16 0, i16 0, i16 10403, i16 0, i16 2378, i16 0, i16 10404, i16 5503, i16 5502, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5504, i16 10405, i16 0, i16 10406, i16 0, i16 10407, i16 10408, i16 5789, i16 10839, i16 0, i16 10840, i16 10841, i16 10842, i16 10843, i16 5792, i16 5790, i16 5791, i16 1750, i16 1454, i16 0, i16 10844, i16 2585, i16 0, i16 3020, i16 10845, i16 2047, i16 0, i16 0, i16 2952, i16 0, i16 3078, i16 5793, i16 4539, i16 0, i16 0, i16 0, i16 10846, i16 10847, i16 10848, i16 10910, i16 0, i16 0, i16 0, i16 10911, i16 0, i16 5835, i16 0, i16 0, i16 0, i16 5834, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5836, i16 0, i16 0, i16 0, i16 2276, i16 0, i16 5837, i16 0, i16 5838, i16 0, i16 0, i16 0, i16 3214, i16 5839, i16 12702, i16 12703, i16 6839, i16 0, i16 0, i16 6841, i16 12704, i16 12705, i16 12706, i16 6840, i16 0, i16 6843, i16 6846, i16 12707, i16 12708, i16 0, i16 6842, i16 6844, i16 6845, i16 0, i16 12709, i16 6847, i16 0, i16 1343, i16 12710, i16 12711, i16 0, i16 12712, i16 12713, i16 0, i16 12714, i16 12715, i16 1951, i16 9987, i16 0, i16 9988, i16 0, i16 5280, i16 9989, i16 9990, i16 0, i16 9991, i16 1433, i16 0, i16 0, i16 3042, i16 5281, i16 0, i16 0, i16 5308, i16 0, i16 0, i16 9992, i16 9993, i16 0, i16 9994, i16 5287, i16 9995, i16 9996, i16 9997, i16 0, i16 9998, i16 1526, i16 9999, i16 5279, i16 0, i16 982, i16 0, i16 0, i16 9976, i16 9977, i16 0, i16 5275, i16 9978, i16 1804, i16 9979, i16 9980, i16 2658, i16 5277, i16 9981, i16 0, i16 0, i16 9982, i16 9983, i16 0, i16 0, i16 9984, i16 0, i16 0, i16 9985, i16 0, i16 0, i16 0, i16 9986, i16 5282, i16 0, i16 5535, i16 10488, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10489, i16 0, i16 0, i16 0, i16 10490, i16 0, i16 10491, i16 1952, i16 10492, i16 10493, i16 5538, i16 825, i16 0, i16 10494, i16 10495, i16 0, i16 5541, i16 10496, i16 10497, i16 10498, i16 5539, i16 985, i16 1449, i16 5540, i16 1629, i16 2976, i16 11805, i16 1510, i16 6388, i16 6387, i16 0, i16 3169, i16 0, i16 11806, i16 0, i16 1906, i16 0, i16 11807, i16 2769, i16 0, i16 11808, i16 11809, i16 0, i16 11810, i16 0, i16 0, i16 11811, i16 0, i16 11812, i16 11813, i16 0, i16 6391, i16 6392, i16 1647, i16 6390, i16 11814, i16 11815, i16 9632, i16 0, i16 823, i16 0, i16 0, i16 5106, i16 0, i16 9633, i16 0, i16 0, i16 5094, i16 0, i16 0, i16 9634, i16 9635, i16 5100, i16 0, i16 9636, i16 5102, i16 9637, i16 0, i16 0, i16 3518, i16 5097, i16 0, i16 0, i16 2733, i16 9638, i16 0, i16 5099, i16 0, i16 9639, i16 10912, i16 2422, i16 5840, i16 0, i16 10913, i16 0, i16 10914, i16 0, i16 5841, i16 0, i16 0, i16 0, i16 0, i16 10915, i16 0, i16 3659, i16 5844, i16 10916, i16 5843, i16 5842, i16 2641, i16 10917, i16 5845, i16 2161, i16 0, i16 5846, i16 0, i16 0, i16 0, i16 5847, i16 3683, i16 5848, i16 5537, i16 1365, i16 0, i16 0, i16 3688, i16 2364, i16 0, i16 0, i16 0, i16 0, i16 5516, i16 10439, i16 10440, i16 983, i16 2712, i16 3190, i16 0, i16 10441, i16 0, i16 10442, i16 10443, i16 10444, i16 10445, i16 0, i16 10446, i16 0, i16 0, i16 10447, i16 10448, i16 5517, i16 0, i16 0, i16 9121, i16 4740, i16 9122, i16 9123, i16 4745, i16 0, i16 0, i16 2875, i16 9124, i16 4742, i16 0, i16 0, i16 9125, i16 0, i16 9126, i16 9127, i16 0, i16 0, i16 0, i16 0, i16 9128, i16 0, i16 4747, i16 0, i16 0, i16 2043, i16 4748, i16 9129, i16 3514, i16 2995, i16 0, i16 9130, i16 4770, i16 2143, i16 3438, i16 4772, i16 4773, i16 3543, i16 9153, i16 0, i16 0, i16 0, i16 4778, i16 0, i16 9154, i16 1617, i16 9155, i16 2960, i16 4775, i16 2795, i16 4712, i16 4716, i16 9156, i16 1262, i16 9157, i16 2946, i16 0, i16 0, i16 0, i16 9158, i16 4777, i16 0, i16 2091, i16 3037, i16 932, i16 2261, i16 4409, i16 4408, i16 1437, i16 2489, i16 0, i16 4414, i16 4412, i16 8597, i16 4411, i16 3572, i16 1566, i16 8598, i16 0, i16 8599, i16 2056, i16 4413, i16 2763, i16 1997, i16 0, i16 0, i16 8600, i16 2845, i16 4417, i16 4416, i16 0, i16 0, i16 8601, i16 8602, i16 4415, i16 0, i16 10150, i16 10151, i16 3566, i16 5368, i16 10152, i16 0, i16 0, i16 10153, i16 0, i16 2416, i16 0, i16 0, i16 10154, i16 0, i16 10155, i16 10156, i16 5374, i16 10157, i16 5376, i16 5377, i16 2583, i16 0, i16 0, i16 0, i16 0, i16 10158, i16 5375, i16 0, i16 5372, i16 0, i16 5370, i16 5371, i16 9640, i16 9641, i16 5107, i16 9642, i16 5101, i16 3416, i16 0, i16 9643, i16 9644, i16 5096, i16 9645, i16 1875, i16 5120, i16 9646, i16 9647, i16 9648, i16 0, i16 1101, i16 0, i16 5098, i16 5103, i16 5104, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2513, i16 2495, i16 0, i16 4009, i16 7890, i16 0, i16 0, i16 2516, i16 4014, i16 2067, i16 7891, i16 0, i16 7892, i16 7893, i16 0, i16 4011, i16 7894, i16 0, i16 3445, i16 7895, i16 7896, i16 0, i16 1431, i16 0, i16 0, i16 4015, i16 4016, i16 7897, i16 0, i16 7898, i16 7899, i16 4013, i16 4019, i16 7900, i16 0, i16 6057, i16 6061, i16 0, i16 3058, i16 0, i16 0, i16 11253, i16 0, i16 6060, i16 2115, i16 1914, i16 6063, i16 0, i16 0, i16 1339, i16 11254, i16 11255, i16 11256, i16 11257, i16 11258, i16 0, i16 6064, i16 11259, i16 3184, i16 6059, i16 11260, i16 6020, i16 0, i16 11261, i16 11262, i16 11263, i16 11264, i16 10409, i16 0, i16 0, i16 0, i16 0, i16 10410, i16 5474, i16 10411, i16 0, i16 10412, i16 5476, i16 5506, i16 5505, i16 10413, i16 0, i16 0, i16 0, i16 10414, i16 0, i16 0, i16 10415, i16 10416, i16 0, i16 0, i16 0, i16 0, i16 1881, i16 10417, i16 3638, i16 10418, i16 1923, i16 10419, i16 4266, i16 0, i16 4267, i16 8383, i16 3441, i16 0, i16 8384, i16 0, i16 4268, i16 8385, i16 0, i16 8386, i16 8387, i16 1347, i16 8388, i16 0, i16 8389, i16 1969, i16 8390, i16 0, i16 0, i16 8391, i16 8392, i16 0, i16 4269, i16 4270, i16 1933, i16 2167, i16 2897, i16 2207, i16 3089, i16 2909, i16 6315, i16 6323, i16 6316, i16 0, i16 6312, i16 0, i16 2717, i16 6311, i16 0, i16 0, i16 0, i16 6309, i16 11707, i16 3472, i16 1859, i16 0, i16 11708, i16 6313, i16 0, i16 6310, i16 11709, i16 11710, i16 11711, i16 6317, i16 2051, i16 0, i16 1530, i16 0, i16 11712, i16 0, i16 2527, i16 11713, i16 7083, i16 7084, i16 3645, i16 7081, i16 0, i16 0, i16 7085, i16 7086, i16 13145, i16 13146, i16 7088, i16 0, i16 7087, i16 13147, i16 13148, i16 13149, i16 13150, i16 13151, i16 7090, i16 13152, i16 0, i16 13153, i16 7091, i16 7089, i16 0, i16 0, i16 13154, i16 0, i16 0, i16 13155, i16 0, i16 0, i16 11947, i16 0, i16 11948, i16 1078, i16 0, i16 6478, i16 0, i16 11949, i16 11950, i16 1745, i16 6477, i16 0, i16 6486, i16 0, i16 0, i16 11951, i16 11952, i16 0, i16 6480, i16 6482, i16 3258, i16 6479, i16 11953, i16 11954, i16 11955, i16 6481, i16 0, i16 6485, i16 6483, i16 1232, i16 11956, i16 6484, i16 1964, i16 0, i16 12536, i16 12537, i16 6746, i16 12538, i16 6747, i16 2199, i16 6748, i16 12539, i16 3643, i16 0, i16 0, i16 6743, i16 6750, i16 6752, i16 0, i16 6751, i16 0, i16 6749, i16 0, i16 0, i16 6753, i16 0, i16 0, i16 6754, i16 12540, i16 12541, i16 2433, i16 12542, i16 999, i16 0, i16 12716, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8365, i16 8366, i16 1941, i16 4247, i16 1204, i16 2863, i16 3386, i16 4248, i16 0, i16 4249, i16 0, i16 0, i16 3152, i16 8367, i16 0, i16 8368, i16 4251, i16 0, i16 1129, i16 1396, i16 4250, i16 0, i16 8369, i16 8370, i16 8371, i16 8372, i16 8373, i16 1139, i16 0, i16 2173, i16 4255, i16 1780, i16 10159, i16 5373, i16 10160, i16 10161, i16 10162, i16 0, i16 0, i16 10163, i16 10164, i16 5380, i16 10165, i16 5378, i16 10166, i16 5379, i16 0, i16 10167, i16 0, i16 0, i16 10168, i16 10169, i16 0, i16 10170, i16 10171, i16 0, i16 0, i16 10172, i16 0, i16 10173, i16 10174, i16 10175, i16 10176, i16 5381, i16 2480, i16 12493, i16 6712, i16 0, i16 3172, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6715, i16 6713, i16 1654, i16 0, i16 6714, i16 1531, i16 0, i16 12494, i16 0, i16 12495, i16 0, i16 12496, i16 12497, i16 12498, i16 0, i16 0, i16 3226, i16 6717, i16 6719, i16 6718, i16 6720, i16 6065, i16 11276, i16 0, i16 0, i16 2993, i16 11277, i16 11278, i16 6075, i16 6067, i16 11279, i16 6069, i16 11280, i16 11281, i16 0, i16 0, i16 11282, i16 6079, i16 6068, i16 0, i16 11283, i16 6072, i16 0, i16 0, i16 921, i16 11284, i16 2882, i16 0, i16 6073, i16 6076, i16 11285, i16 0, i16 11286, i16 10673, i16 5663, i16 5661, i16 0, i16 5659, i16 1122, i16 10674, i16 2110, i16 5664, i16 0, i16 0, i16 5662, i16 0, i16 5660, i16 5668, i16 0, i16 10675, i16 5667, i16 5666, i16 5665, i16 0, i16 0, i16 10676, i16 10677, i16 0, i16 5669, i16 10678, i16 10679, i16 10680, i16 5670, i16 2275, i16 10681, i16 6834, i16 6830, i16 12689, i16 0, i16 6833, i16 0, i16 12690, i16 12691, i16 1180, i16 0, i16 0, i16 12692, i16 6835, i16 0, i16 6836, i16 0, i16 0, i16 12693, i16 12694, i16 12695, i16 12696, i16 12697, i16 0, i16 0, i16 0, i16 12698, i16 12699, i16 12700, i16 12701, i16 6837, i16 6838, i16 0, i16 11186, i16 3177, i16 6034, i16 2814, i16 11187, i16 11188, i16 762, i16 11189, i16 0, i16 6027, i16 11190, i16 6023, i16 2425, i16 6017, i16 6025, i16 6030, i16 11191, i16 2919, i16 0, i16 11192, i16 11193, i16 755, i16 11194, i16 6022, i16 11195, i16 6031, i16 3183, i16 0, i16 11196, i16 11197, i16 0, i16 0, i16 2228, i16 5817, i16 0, i16 10873, i16 0, i16 10874, i16 5818, i16 0, i16 10875, i16 5819, i16 0, i16 1190, i16 10876, i16 0, i16 10877, i16 10878, i16 1166, i16 0, i16 10879, i16 5820, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5821, i16 10880, i16 3344, i16 3538, i16 10881, i16 10882, i16 10883, i16 2996, i16 0, i16 1154, i16 3655, i16 0, i16 0, i16 9664, i16 0, i16 0, i16 9665, i16 9666, i16 3378, i16 2675, i16 9673, i16 0, i16 9667, i16 9668, i16 5117, i16 5119, i16 9669, i16 0, i16 0, i16 9670, i16 0, i16 2361, i16 0, i16 0, i16 9671, i16 9672, i16 0, i16 5121, i16 5115, i16 4021, i16 7906, i16 7907, i16 4031, i16 2360, i16 0, i16 7908, i16 4033, i16 7909, i16 1593, i16 4023, i16 2624, i16 0, i16 0, i16 7910, i16 7911, i16 0, i16 7912, i16 7913, i16 7914, i16 7915, i16 0, i16 0, i16 7916, i16 4027, i16 4020, i16 1134, i16 0, i16 1199, i16 1096, i16 4028, i16 4024, i16 11957, i16 11958, i16 0, i16 11959, i16 0, i16 11960, i16 6487, i16 11961, i16 11962, i16 2965, i16 3621, i16 0, i16 11963, i16 11964, i16 11965, i16 1987, i16 0, i16 0, i16 0, i16 6488, i16 11966, i16 11967, i16 11968, i16 11969, i16 3473, i16 6490, i16 11970, i16 6489, i16 0, i16 0, i16 6493, i16 3504, i16 7094, i16 13164, i16 13165, i16 13166, i16 0, i16 13167, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8374, i16 974, i16 4254, i16 0, i16 4252, i16 4256, i16 4253, i16 2918, i16 4883, i16 2174, i16 0, i16 4257, i16 0, i16 0, i16 3597, i16 8375, i16 4258, i16 8376, i16 0, i16 4260, i16 8377, i16 2625, i16 4259, i16 0, i16 2252, i16 0, i16 1870, i16 0, i16 0, i16 8378, i16 2485, i16 1960, i16 9142, i16 0, i16 9143, i16 0, i16 0, i16 0, i16 4759, i16 4760, i16 3435, i16 0, i16 3381, i16 3369, i16 3343, i16 1784, i16 4762, i16 0, i16 0, i16 1948, i16 0, i16 9144, i16 3332, i16 0, i16 4764, i16 4767, i16 4766, i16 0, i16 1210, i16 0, i16 0, i16 1279, i16 9145, i16 4763, i16 1975, i16 1847, i16 10458, i16 0, i16 10459, i16 0, i16 0, i16 10460, i16 10461, i16 5525, i16 10462, i16 1976, i16 0, i16 0, i16 0, i16 10463, i16 0, i16 975, i16 3130, i16 0, i16 10464, i16 5526, i16 10465, i16 0, i16 3076, i16 0, i16 10466, i16 0, i16 0, i16 10467, i16 10468, i16 2380, i16 6327, i16 3527, i16 0, i16 0, i16 0, i16 0, i16 6330, i16 0, i16 6333, i16 0, i16 0, i16 6331, i16 3116, i16 11722, i16 0, i16 0, i16 11723, i16 0, i16 0, i16 6328, i16 0, i16 0, i16 0, i16 11724, i16 0, i16 1373, i16 0, i16 0, i16 11725, i16 0, i16 6332, i16 0, i16 6584, i16 6585, i16 12161, i16 12162, i16 0, i16 12163, i16 3049, i16 1736, i16 1938, i16 6586, i16 0, i16 6587, i16 3569, i16 2004, i16 3455, i16 3609, i16 6588, i16 1375, i16 0, i16 12164, i16 12165, i16 0, i16 6589, i16 12166, i16 2722, i16 12167, i16 12168, i16 6592, i16 1115, i16 2198, i16 12169, i16 6590, i16 10936, i16 1550, i16 0, i16 0, i16 838, i16 5859, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10937, i16 10938, i16 5866, i16 10939, i16 5867, i16 10940, i16 10941, i16 2838, i16 0, i16 10942, i16 0, i16 1336, i16 10943, i16 10944, i16 0, i16 5878, i16 2936, i16 10945, i16 0, i16 11448, i16 0, i16 6159, i16 11449, i16 0, i16 0, i16 0, i16 11450, i16 0, i16 0, i16 0, i16 6168, i16 11451, i16 11452, i16 11453, i16 6162, i16 0, i16 11454, i16 0, i16 6170, i16 0, i16 11455, i16 0, i16 0, i16 0, i16 0, i16 3541, i16 6173, i16 0, i16 6164, i16 11456, i16 11457, i16 12216, i16 0, i16 12217, i16 12218, i16 2739, i16 6604, i16 12219, i16 12220, i16 6607, i16 6605, i16 12221, i16 6610, i16 0, i16 12222, i16 12223, i16 12224, i16 6611, i16 12225, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6603, i16 12226, i16 12227, i16 6616, i16 923, i16 12228, i16 12229, i16 6602, i16 0, i16 7865, i16 832, i16 4007, i16 0, i16 0, i16 3999, i16 4000, i16 0, i16 2066, i16 3356, i16 7866, i16 0, i16 7867, i16 4005, i16 4004, i16 7868, i16 0, i16 0, i16 2734, i16 0, i16 0, i16 0, i16 7869, i16 0, i16 0, i16 0, i16 4006, i16 0, i16 7870, i16 4003, i16 7871, i16 7872, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 0, i16 687, i16 7156, i16 7157, i16 7158, i16 7159, i16 7160, i16 7161, i16 7162, i16 7163, i16 7164, i16 7165, i16 7166, i16 0, i16 7167, i16 7168, i16 2490, i16 4430, i16 0, i16 0, i16 8646, i16 1277, i16 4440, i16 2262, i16 908, i16 4434, i16 1021, i16 4439, i16 0, i16 8647, i16 0, i16 1326, i16 0, i16 4436, i16 0, i16 8648, i16 0, i16 8649, i16 0, i16 0, i16 0, i16 0, i16 4442, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12475, i16 6705, i16 6707, i16 0, i16 12476, i16 6706, i16 12477, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1724, i16 0, i16 0, i16 3792, i16 0, i16 9136, i16 0, i16 9137, i16 1481, i16 3484, i16 0, i16 3283, i16 0, i16 3189, i16 9138, i16 4756, i16 0, i16 0, i16 0, i16 9139, i16 1768, i16 2656, i16 4757, i16 3674, i16 0, i16 9140, i16 0, i16 3313, i16 9141, i16 2636, i16 4758, i16 1213, i16 8124, i16 4126, i16 0, i16 0, i16 2698, i16 0, i16 8125, i16 8126, i16 0, i16 0, i16 1135, i16 0, i16 0, i16 8127, i16 0, i16 7095, i16 904, i16 3272, i16 8128, i16 0, i16 2137, i16 2759, i16 0, i16 0, i16 0, i16 8129, i16 1755, i16 0, i16 0, i16 4132, i16 0, i16 8130, i16 5309, i16 0, i16 3122, i16 5310, i16 10082, i16 0, i16 1125, i16 5311, i16 10083, i16 5312, i16 10084, i16 10085, i16 0, i16 0, i16 5313, i16 10086, i16 5315, i16 5316, i16 5314, i16 0, i16 10087, i16 0, i16 3146, i16 5318, i16 5317, i16 0, i16 10088, i16 10089, i16 10090, i16 0, i16 0, i16 10091, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 1470, i16 2526, i16 5138, i16 2934, i16 0, i16 9713, i16 5145, i16 9714, i16 9715, i16 0, i16 9716, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5150, i16 5148, i16 0, i16 0, i16 5151, i16 0, i16 9717, i16 5154, i16 0, i16 0, i16 9718, i16 5147, i16 7873, i16 7874, i16 0, i16 0, i16 859, i16 7875, i16 1707, i16 2171, i16 7876, i16 7877, i16 0, i16 0, i16 7878, i16 7879, i16 7880, i16 4001, i16 2785, i16 0, i16 0, i16 0, i16 4002, i16 7881, i16 747, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1474, i16 1874, i16 0, i16 1362, i16 9412, i16 0, i16 0, i16 937, i16 9413, i16 0, i16 0, i16 9414, i16 9415, i16 0, i16 0, i16 9416, i16 0, i16 0, i16 3534, i16 0, i16 0, i16 9417, i16 9418, i16 4956, i16 4955, i16 4958, i16 1244, i16 9419, i16 0, i16 1363, i16 1151, i16 9420, i16 3523, i16 3682, i16 0, i16 1636, i16 5824, i16 1925, i16 5823, i16 10884, i16 10885, i16 0, i16 10886, i16 5825, i16 1882, i16 10887, i16 10888, i16 10889, i16 2486, i16 10890, i16 5826, i16 10891, i16 10892, i16 1635, i16 10893, i16 3432, i16 5827, i16 5828, i16 0, i16 0, i16 5829, i16 10894, i16 10895, i16 10896, i16 11971, i16 11972, i16 6492, i16 11973, i16 1104, i16 6491, i16 6496, i16 11974, i16 0, i16 6495, i16 0, i16 0, i16 6494, i16 2737, i16 6497, i16 11975, i16 0, i16 11976, i16 11977, i16 11978, i16 11979, i16 11980, i16 0, i16 6498, i16 11981, i16 0, i16 0, i16 0, i16 6499, i16 11982, i16 11983, i16 1667, i16 3012, i16 10118, i16 3108, i16 0, i16 5339, i16 3577, i16 1448, i16 5340, i16 0, i16 5338, i16 3055, i16 5341, i16 0, i16 5342, i16 0, i16 10119, i16 804, i16 10120, i16 0, i16 2147, i16 5347, i16 0, i16 5344, i16 2890, i16 5343, i16 10121, i16 10122, i16 10123, i16 10124, i16 10125, i16 10126, i16 1221, i16 4804, i16 1472, i16 1446, i16 2796, i16 9208, i16 9209, i16 4802, i16 0, i16 783, i16 0, i16 9210, i16 0, i16 9211, i16 4805, i16 4807, i16 0, i16 1354, i16 1415, i16 9193, i16 1149, i16 1258, i16 9212, i16 0, i16 9213, i16 9214, i16 4810, i16 0, i16 9215, i16 1774, i16 3364, i16 0, i16 1802, i16 8900, i16 759, i16 0, i16 4625, i16 0, i16 8901, i16 0, i16 0, i16 0, i16 4622, i16 8902, i16 0, i16 8903, i16 0, i16 1209, i16 0, i16 0, i16 0, i16 8904, i16 8905, i16 910, i16 8906, i16 4628, i16 0, i16 8907, i16 8908, i16 3512, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2501, i16 2430, i16 12015, i16 2821, i16 12016, i16 6516, i16 1268, i16 0, i16 12017, i16 0, i16 0, i16 6525, i16 12018, i16 6522, i16 6535, i16 2822, i16 2595, i16 6519, i16 0, i16 2719, i16 2770, i16 6520, i16 6524, i16 2219, i16 12019, i16 2978, i16 2669, i16 12020, i16 0, i16 2283, i16 6523, i16 2451, i16 4550, i16 8780, i16 0, i16 8781, i16 8782, i16 0, i16 0, i16 8783, i16 4551, i16 4552, i16 3263, i16 0, i16 4554, i16 4553, i16 1998, i16 0, i16 2263, i16 1003, i16 1025, i16 8784, i16 4555, i16 8785, i16 776, i16 0, i16 0, i16 0, i16 2293, i16 4556, i16 8786, i16 6377, i16 4557, i16 1468, i16 12230, i16 12231, i16 3014, i16 0, i16 6606, i16 12232, i16 2125, i16 12233, i16 12234, i16 12235, i16 0, i16 0, i16 0, i16 0, i16 12236, i16 12237, i16 12238, i16 1650, i16 0, i16 0, i16 0, i16 12239, i16 12240, i16 12241, i16 12242, i16 12243, i16 0, i16 12244, i16 12245, i16 12246, i16 3323, i16 12247, i16 1479, i16 11505, i16 6195, i16 11506, i16 6194, i16 11507, i16 1983, i16 0, i16 11508, i16 11509, i16 11510, i16 11511, i16 1643, i16 5033, i16 11512, i16 0, i16 0, i16 11513, i16 6196, i16 2016, i16 0, i16 11514, i16 11515, i16 1052, i16 11516, i16 6197, i16 11517, i16 889, i16 11518, i16 2116, i16 6198, i16 11519, i16 968, i16 0, i16 0, i16 3649, i16 7705, i16 7706, i16 7707, i16 7708, i16 0, i16 2052, i16 2775, i16 1660, i16 3900, i16 3901, i16 0, i16 7709, i16 7710, i16 3634, i16 0, i16 0, i16 3670, i16 3903, i16 7711, i16 7712, i16 7713, i16 1587, i16 7714, i16 7715, i16 3902, i16 7716, i16 1042, i16 0, i16 1224, i16 0, i16 10478, i16 10479, i16 0, i16 0, i16 0, i16 10480, i16 5531, i16 10481, i16 10482, i16 2713, i16 10483, i16 5532, i16 2288, i16 0, i16 0, i16 10484, i16 0, i16 0, i16 3390, i16 10485, i16 0, i16 3098, i16 5533, i16 5534, i16 2584, i16 10486, i16 3604, i16 0, i16 10487, i16 5536, i16 2248, i16 1192, i16 0, i16 0, i16 3497, i16 1010, i16 1991, i16 1556, i16 0, i16 6739, i16 12524, i16 6738, i16 1862, i16 6740, i16 6737, i16 0, i16 0, i16 1787, i16 12525, i16 0, i16 0, i16 6744, i16 6167, i16 0, i16 12527, i16 3952, i16 12528, i16 2242, i16 6742, i16 12529, i16 12530, i16 12531, i16 1225, i16 0, i16 5685, i16 10699, i16 3460, i16 1631, i16 5684, i16 10700, i16 10701, i16 10702, i16 5688, i16 3447, i16 0, i16 2935, i16 0, i16 10703, i16 3114, i16 10704, i16 10705, i16 10706, i16 2034, i16 5687, i16 10707, i16 1924, i16 1632, i16 1849, i16 1288, i16 3211, i16 5686, i16 10708, i16 10709, i16 0, i16 1737, i16 5235, i16 5234, i16 0, i16 9880, i16 0, i16 0, i16 5236, i16 0, i16 9881, i16 0, i16 0, i16 0, i16 9882, i16 9883, i16 0, i16 0, i16 0, i16 5237, i16 9884, i16 0, i16 0, i16 5238, i16 0, i16 0, i16 0, i16 0, i16 9885, i16 0, i16 0, i16 0, i16 0, i16 1993, i16 2201, i16 3740, i16 7401, i16 3738, i16 0, i16 3739, i16 1271, i16 0, i16 0, i16 1688, i16 1013, i16 0, i16 3737, i16 3736, i16 3198, i16 7402, i16 0, i16 0, i16 0, i16 1817, i16 1816, i16 2467, i16 3741, i16 3148, i16 2320, i16 7403, i16 7404, i16 0, i16 245, i16 3742, i16 3744, i16 10953, i16 0, i16 0, i16 5870, i16 10954, i16 0, i16 0, i16 10955, i16 0, i16 5869, i16 0, i16 0, i16 10956, i16 0, i16 0, i16 5871, i16 10957, i16 2537, i16 0, i16 2937, i16 0, i16 10958, i16 0, i16 0, i16 0, i16 2642, i16 10959, i16 0, i16 10960, i16 0, i16 5875, i16 0, i16 714, i16 725, i16 715, i16 726, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 716, i16 0, i16 0, i16 727, i16 717, i16 0, i16 0, i16 728, i16 719, i16 0, i16 0, i16 730, i16 718, i16 0, i16 0, i16 729, i16 720, i16 741, i16 0, i16 0, i16 2762, i16 1913, i16 8396, i16 8397, i16 2399, i16 3561, i16 0, i16 8398, i16 8399, i16 8400, i16 0, i16 0, i16 4278, i16 8401, i16 4279, i16 2867, i16 8402, i16 1798, i16 0, i16 0, i16 8403, i16 8404, i16 4281, i16 0, i16 0, i16 4282, i16 8405, i16 8406, i16 8407, i16 8408, i16 0, i16 0, i16 8650, i16 4444, i16 4454, i16 4452, i16 0, i16 0, i16 4449, i16 8651, i16 8652, i16 8653, i16 4448, i16 3653, i16 8654, i16 4450, i16 0, i16 0, i16 1327, i16 8655, i16 1608, i16 0, i16 8656, i16 2057, i16 8657, i16 8658, i16 0, i16 4457, i16 4443, i16 0, i16 0, i16 8659, i16 0, i16 4447, i16 6348, i16 11745, i16 0, i16 1809, i16 11746, i16 11747, i16 0, i16 0, i16 0, i16 0, i16 4696, i16 11748, i16 6349, i16 11749, i16 6350, i16 11750, i16 1985, i16 0, i16 6351, i16 6352, i16 11751, i16 11752, i16 6353, i16 0, i16 0, i16 6354, i16 6355, i16 0, i16 11753, i16 0, i16 11754, i16 11755, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 482, i16 483, i16 484, i16 485, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 10190, i16 10191, i16 3602, i16 10192, i16 10193, i16 10194, i16 5392, i16 5390, i16 5391, i16 10195, i16 10189, i16 10196, i16 1187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3471, i16 0, i16 0, i16 10197, i16 3231, i16 0, i16 5394, i16 10198, i16 0, i16 0, i16 5393, i16 0, i16 0, i16 10199, i16 11214, i16 6043, i16 11215, i16 0, i16 2594, i16 0, i16 6044, i16 11216, i16 11217, i16 3525, i16 6033, i16 1051, i16 11218, i16 6039, i16 0, i16 11219, i16 6042, i16 3389, i16 0, i16 11220, i16 0, i16 0, i16 6045, i16 0, i16 0, i16 6038, i16 6041, i16 0, i16 11221, i16 0, i16 0, i16 0, i16 8145, i16 8146, i16 0, i16 1322, i16 0, i16 4134, i16 0, i16 8147, i16 8148, i16 8149, i16 8150, i16 0, i16 8151, i16 8152, i16 0, i16 8153, i16 8154, i16 0, i16 0, i16 3261, i16 8155, i16 0, i16 8156, i16 2436, i16 0, i16 0, i16 0, i16 0, i16 2663, i16 8157, i16 0, i16 4136, i16 9937, i16 0, i16 0, i16 2002, i16 0, i16 0, i16 9938, i16 9939, i16 5269, i16 9940, i16 5268, i16 9941, i16 9942, i16 0, i16 9943, i16 9944, i16 5270, i16 9945, i16 1072, i16 0, i16 0, i16 5272, i16 0, i16 9946, i16 5271, i16 9947, i16 5274, i16 5273, i16 9948, i16 0, i16 0, i16 0, i16 11986, i16 11987, i16 0, i16 6505, i16 11988, i16 11989, i16 11990, i16 3899, i16 3898, i16 0, i16 0, i16 0, i16 0, i16 6506, i16 5764, i16 6507, i16 2535, i16 2166, i16 2939, i16 0, i16 0, i16 11991, i16 11992, i16 6508, i16 11993, i16 0, i16 3242, i16 2677, i16 1685, i16 0, i16 11994, i16 2540, i16 3539, i16 0, i16 0, i16 0, i16 9581, i16 5066, i16 5060, i16 5057, i16 9582, i16 0, i16 9583, i16 3617, i16 5063, i16 0, i16 9584, i16 9585, i16 0, i16 2009, i16 5065, i16 0, i16 0, i16 5070, i16 9586, i16 0, i16 2800, i16 5068, i16 0, i16 9587, i16 0, i16 9588, i16 5062, i16 9589, i16 1236, i16 0, i16 3722, i16 0, i16 0, i16 3723, i16 3592, i16 0, i16 3500, i16 2415, i16 3725, i16 1865, i16 2896, i16 7395, i16 3728, i16 0, i16 0, i16 869, i16 1560, i16 0, i16 1559, i16 815, i16 7396, i16 7397, i16 3702, i16 3701, i16 0, i16 1704, i16 746, i16 7398, i16 3729, i16 3730, i16 8916, i16 0, i16 8917, i16 0, i16 8918, i16 8919, i16 4634, i16 0, i16 4638, i16 8920, i16 8921, i16 0, i16 3035, i16 2794, i16 0, i16 8922, i16 8923, i16 0, i16 0, i16 0, i16 4631, i16 8924, i16 4635, i16 0, i16 0, i16 0, i16 1443, i16 0, i16 0, i16 8925, i16 1766, i16 8926, i16 9428, i16 4968, i16 1842, i16 2270, i16 1686, i16 0, i16 3175, i16 9429, i16 0, i16 3255, i16 3695, i16 9430, i16 0, i16 0, i16 9431, i16 1864, i16 9432, i16 0, i16 0, i16 1733, i16 3647, i16 9433, i16 0, i16 0, i16 4969, i16 4970, i16 0, i16 1843, i16 0, i16 9434, i16 9435, i16 4971, i16 12756, i16 0, i16 12757, i16 12758, i16 12759, i16 0, i16 0, i16 12760, i16 2482, i16 0, i16 0, i16 6870, i16 0, i16 12761, i16 12762, i16 0, i16 2826, i16 0, i16 0, i16 12763, i16 0, i16 12764, i16 12765, i16 6871, i16 12766, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6876, i16 0, i16 7381, i16 7382, i16 3719, i16 2928, i16 7383, i16 1270, i16 0, i16 7384, i16 0, i16 0, i16 0, i16 2930, i16 0, i16 2880, i16 1532, i16 3302, i16 0, i16 7385, i16 0, i16 0, i16 0, i16 6101, i16 3720, i16 2133, i16 3721, i16 954, i16 7386, i16 0, i16 7387, i16 1378, i16 1577, i16 3450, i16 1238, i16 3818, i16 3819, i16 7595, i16 948, i16 0, i16 7596, i16 7597, i16 7598, i16 3817, i16 0, i16 7599, i16 7600, i16 7601, i16 7602, i16 0, i16 7604, i16 0, i16 1957, i16 0, i16 3822, i16 3821, i16 3820, i16 7605, i16 3764, i16 7606, i16 3823, i16 7607, i16 7608, i16 7609, i16 7610, i16 2061, i16 10967, i16 10968, i16 0, i16 0, i16 0, i16 5881, i16 5882, i16 10969, i16 10970, i16 10971, i16 0, i16 1953, i16 0, i16 10972, i16 5880, i16 10973, i16 1679, i16 5879, i16 0, i16 0, i16 5883, i16 0, i16 0, i16 10974, i16 2643, i16 3191, i16 2346, i16 0, i16 0, i16 0, i16 0, i16 2497, i16 3800, i16 7547, i16 0, i16 7548, i16 7549, i16 3802, i16 7550, i16 0, i16 0, i16 0, i16 7551, i16 0, i16 0, i16 3304, i16 7552, i16 7553, i16 7554, i16 1473, i16 7555, i16 7556, i16 7557, i16 0, i16 7558, i16 0, i16 1796, i16 3088, i16 3801, i16 7559, i16 7560, i16 0, i16 7561, i16 7562, i16 4569, i16 0, i16 0, i16 4567, i16 8807, i16 0, i16 0, i16 0, i16 4570, i16 0, i16 0, i16 0, i16 0, i16 8808, i16 3206, i16 8809, i16 0, i16 768, i16 0, i16 8810, i16 0, i16 0, i16 3157, i16 0, i16 0, i16 3068, i16 8811, i16 0, i16 4571, i16 8812, i16 4574, i16 2082, i16 4825, i16 9235, i16 2092, i16 9236, i16 0, i16 9237, i16 4163, i16 1569, i16 3563, i16 9238, i16 9239, i16 0, i16 0, i16 4816, i16 9240, i16 2709, i16 1030, i16 1698, i16 9241, i16 4808, i16 0, i16 4824, i16 1092, i16 0, i16 0, i16 4822, i16 4826, i16 9242, i16 2797, i16 0, i16 0, i16 0, i16 9177, i16 2477, i16 9178, i16 9179, i16 3222, i16 9180, i16 4798, i16 0, i16 9181, i16 9182, i16 3097, i16 0, i16 0, i16 0, i16 4797, i16 2987, i16 3314, i16 1148, i16 9183, i16 2336, i16 1999, i16 0, i16 0, i16 9184, i16 2676, i16 9185, i16 3485, i16 0, i16 9186, i16 4793, i16 4792, i16 0, i16 1242, i16 0, i16 4572, i16 4579, i16 2083, i16 0, i16 0, i16 0, i16 0, i16 4573, i16 2943, i16 0, i16 0, i16 8813, i16 8814, i16 8815, i16 8816, i16 3533, i16 4575, i16 4576, i16 4580, i16 2793, i16 4577, i16 1610, i16 2311, i16 0, i16 0, i16 4594, i16 3021, i16 0, i16 2519, i16 0, i16 6874, i16 12768, i16 6873, i16 6875, i16 12769, i16 6872, i16 0, i16 12767, i16 0, i16 0, i16 12770, i16 12771, i16 12772, i16 6878, i16 12773, i16 0, i16 0, i16 12774, i16 0, i16 0, i16 12775, i16 6877, i16 12776, i16 6880, i16 0, i16 0, i16 1344, i16 6879, i16 0, i16 12777, i16 0, i16 6881, i16 11995, i16 11996, i16 849, i16 0, i16 3371, i16 2210, i16 11997, i16 0, i16 0, i16 0, i16 11998, i16 11999, i16 0, i16 12000, i16 1465, i16 0, i16 12001, i16 1374, i16 12002, i16 12003, i16 3243, i16 12004, i16 0, i16 0, i16 0, i16 0, i16 6509, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1245, i16 0, i16 5239, i16 0, i16 0, i16 0, i16 0, i16 5240, i16 9886, i16 0, i16 0, i16 0, i16 1501, i16 9887, i16 9888, i16 3041, i16 0, i16 9889, i16 5242, i16 0, i16 9890, i16 0, i16 2146, i16 0, i16 0, i16 5241, i16 0, i16 0, i16 0, i16 0, i16 9891, i16 0, i16 7901, i16 7902, i16 0, i16 4010, i16 7903, i16 0, i16 7904, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4025, i16 4030, i16 0, i16 4026, i16 7905, i16 9949, i16 9950, i16 0, i16 9951, i16 1525, i16 9952, i16 9953, i16 3573, i16 0, i16 1353, i16 0, i16 939, i16 0, i16 0, i16 9954, i16 0, i16 9955, i16 0, i16 0, i16 9956, i16 0, i16 9957, i16 1383, i16 9958, i16 9959, i16 0, i16 0, i16 0, i16 9960, i16 0, i16 9961, i16 9962, i16 222, i16 223, i16 224, i16 244, i16 0, i16 246, i16 247, i16 248, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 324, i16 329, i16 265, i16 266, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 254, i16 0, i16 0, i16 0, i16 4062, i16 0, i16 0, i16 0, i16 7982, i16 7983, i16 4061, i16 1064, i16 7984, i16 0, i16 4063, i16 7985, i16 7986, i16 0, i16 0, i16 4066, i16 0, i16 0, i16 0, i16 0, i16 4065, i16 7987, i16 0, i16 0, i16 0, i16 7988, i16 7989, i16 0, i16 0, i16 7990, i16 7991, i16 7992, i16 8158, i16 8159, i16 8160, i16 0, i16 0, i16 0, i16 8161, i16 0, i16 3330, i16 8162, i16 0, i16 4137, i16 0, i16 0, i16 4142, i16 0, i16 0, i16 8163, i16 8164, i16 3204, i16 0, i16 0, i16 0, i16 0, i16 4141, i16 4135, i16 4138, i16 4140, i16 8166, i16 0, i16 1691, i16 0, i16 10718, i16 10719, i16 1977, i16 1527, i16 2383, i16 5689, i16 5695, i16 10720, i16 10721, i16 0, i16 0, i16 5690, i16 1451, i16 10722, i16 5698, i16 5702, i16 1478, i16 10723, i16 0, i16 10724, i16 0, i16 0, i16 5697, i16 10725, i16 0, i16 10726, i16 10727, i16 5706, i16 10728, i16 10729, i16 1633, i16 0, i16 736, i16 0, i16 0, i16 731, i16 722, i16 743, i16 0, i16 0, i16 738, i16 0, i16 0, i16 733, i16 721, i16 0, i16 0, i16 737, i16 742, i16 0, i16 0, i16 732, i16 723, i16 0, i16 0, i16 739, i16 744, i16 0, i16 0, i16 734, i16 724, i16 0, i16 0, i16 740, i16 2784, i16 7664, i16 7665, i16 2202, i16 3871, i16 7666, i16 3201, i16 2307, i16 1123, i16 0, i16 1130, i16 3872, i16 0, i16 0, i16 3874, i16 0, i16 0, i16 1429, i16 7667, i16 7668, i16 3873, i16 7669, i16 7670, i16 3648, i16 7671, i16 0, i16 0, i16 0, i16 0, i16 2040, i16 0, i16 0, i16 4064, i16 0, i16 2932, i16 0, i16 0, i16 4067, i16 7993, i16 7994, i16 7995, i16 7996, i16 0, i16 7997, i16 7998, i16 7999, i16 4068, i16 0, i16 0, i16 8000, i16 0, i16 8001, i16 4070, i16 0, i16 4069, i16 8002, i16 0, i16 0, i16 0, i16 0, i16 4072, i16 0, i16 8003, i16 0, i16 8416, i16 945, i16 8417, i16 8418, i16 0, i16 0, i16 8419, i16 0, i16 2370, i16 1189, i16 8420, i16 4287, i16 3385, i16 0, i16 0, i16 0, i16 0, i16 2487, i16 8421, i16 1084, i16 8422, i16 8423, i16 4289, i16 4291, i16 1184, i16 0, i16 8424, i16 4288, i16 4290, i16 0, i16 4293, i16 0, i16 9441, i16 0, i16 9442, i16 9443, i16 4979, i16 0, i16 0, i16 0, i16 9444, i16 9445, i16 4980, i16 4981, i16 9446, i16 9447, i16 9448, i16 4982, i16 9449, i16 4984, i16 4983, i16 4985, i16 938, i16 2573, i16 0, i16 4986, i16 9450, i16 9451, i16 1785, i16 1071, i16 4987, i16 9452, i16 9453, i16 2753, i16 12257, i16 0, i16 0, i16 0, i16 12258, i16 12259, i16 0, i16 12260, i16 12261, i16 0, i16 0, i16 12262, i16 0, i16 2355, i16 0, i16 12263, i16 0, i16 0, i16 12264, i16 0, i16 0, i16 0, i16 12265, i16 6619, i16 12266, i16 6618, i16 12267, i16 12268, i16 12269, i16 12270, i16 0, i16 12271, i16 10469, i16 5529, i16 10470, i16 5530, i16 2980, i16 10471, i16 2188, i16 5527, i16 0, i16 2596, i16 10472, i16 10473, i16 5528, i16 10474, i16 0, i16 0, i16 2107, i16 10475, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10476, i16 0, i16 0, i16 805, i16 10477, i16 0, i16 0, i16 0, i16 12005, i16 0, i16 6511, i16 12006, i16 12007, i16 6510, i16 997, i16 0, i16 12008, i16 2899, i16 6512, i16 2994, i16 0, i16 2738, i16 12009, i16 6513, i16 2017, i16 12010, i16 0, i16 0, i16 6515, i16 12011, i16 12012, i16 3411, i16 6530, i16 6517, i16 6518, i16 12013, i16 0, i16 2666, i16 12014, i16 0, i16 1254, i16 0, i16 12579, i16 6786, i16 0, i16 0, i16 6785, i16 0, i16 6784, i16 0, i16 0, i16 6329, i16 12580, i16 3249, i16 12581, i16 0, i16 0, i16 12582, i16 12583, i16 6787, i16 6788, i16 12584, i16 12585, i16 0, i16 12586, i16 12587, i16 12588, i16 0, i16 12589, i16 0, i16 12590, i16 12591, i16 9702, i16 5142, i16 0, i16 5141, i16 5143, i16 9703, i16 9704, i16 9705, i16 9706, i16 0, i16 5146, i16 0, i16 0, i16 0, i16 9707, i16 9708, i16 9709, i16 2754, i16 0, i16 5140, i16 0, i16 9710, i16 9711, i16 0, i16 0, i16 5144, i16 0, i16 0, i16 9712, i16 0, i16 0, i16 0, i16 2280, i16 6299, i16 0, i16 6304, i16 1574, i16 6301, i16 6302, i16 11686, i16 6298, i16 11687, i16 0, i16 0, i16 2315, i16 2854, i16 11688, i16 11689, i16 2546, i16 0, i16 994, i16 11690, i16 0, i16 0, i16 11691, i16 11692, i16 0, i16 3081, i16 0, i16 11693, i16 1250, i16 0, i16 11694, i16 2645, i16 10216, i16 0, i16 10217, i16 10218, i16 10219, i16 10220, i16 10221, i16 10222, i16 10223, i16 0, i16 10224, i16 0, i16 0, i16 10225, i16 3074, i16 0, i16 5416, i16 0, i16 0, i16 0, i16 5417, i16 0, i16 0, i16 7073, i16 5418, i16 5419, i16 5420, i16 0, i16 0, i16 10226, i16 0, i16 1793, i16 6633, i16 0, i16 0, i16 0, i16 12337, i16 12338, i16 0, i16 12339, i16 0, i16 12340, i16 12341, i16 0, i16 1416, i16 12342, i16 6635, i16 12343, i16 12344, i16 12345, i16 0, i16 12346, i16 12347, i16 1513, i16 12348, i16 0, i16 0, i16 0, i16 12349, i16 0, i16 6634, i16 12350, i16 2126, i16 12351, i16 8938, i16 8939, i16 0, i16 8940, i16 0, i16 0, i16 0, i16 4640, i16 0, i16 3347, i16 0, i16 0, i16 0, i16 8941, i16 0, i16 4641, i16 0, i16 0, i16 0, i16 8942, i16 8943, i16 0, i16 4642, i16 0, i16 3423, i16 0, i16 2251, i16 8944, i16 0, i16 8945, i16 0, i16 0, i16 235, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 269, i16 256, i16 270, i16 7109, i16 0, i16 4075, i16 4073, i16 4071, i16 4074, i16 0, i16 8004, i16 0, i16 0, i16 4076, i16 8005, i16 8006, i16 8007, i16 8010, i16 8011, i16 4077, i16 8008, i16 8009, i16 4078, i16 0, i16 4079, i16 0, i16 0, i16 0, i16 4080, i16 3841, i16 8012, i16 1965, i16 1824, i16 8013, i16 8014, i16 1016, i16 8015, i16 6891, i16 12790, i16 0, i16 12791, i16 2236, i16 0, i16 12792, i16 0, i16 12793, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12794, i16 6892, i16 12795, i16 6893, i16 12796, i16 6894, i16 6895, i16 12797, i16 12798, i16 12799, i16 1657, i16 0, i16 0, i16 12800, i16 12801, i16 0, i16 6896, i16 6897, i16 9963, i16 0, i16 9964, i16 0, i16 0, i16 9965, i16 9966, i16 0, i16 0, i16 1186, i16 9967, i16 9968, i16 0, i16 9969, i16 0, i16 0, i16 0, i16 0, i16 3637, i16 5276, i16 0, i16 9970, i16 0, i16 9971, i16 0, i16 9972, i16 0, i16 5278, i16 9973, i16 9974, i16 0, i16 9975, i16 7405, i16 7406, i16 7407, i16 2506, i16 3630, i16 787, i16 0, i16 0, i16 7408, i16 0, i16 0, i16 0, i16 0, i16 3743, i16 963, i16 7409, i16 1345, i16 7410, i16 2602, i16 7411, i16 0, i16 7412, i16 1482, i16 3745, i16 0, i16 0, i16 0, i16 2911, i16 0, i16 7413, i16 7414, i16 7415, i16 494, i16 495, i16 496, i16 497, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 232, i16 233, i16 242, i16 243, i16 0, i16 750, i16 3137, i16 3994, i16 0, i16 3990, i16 0, i16 7861, i16 3985, i16 3991, i16 1725, i16 7862, i16 0, i16 0, i16 7863, i16 7864, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3998, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12272, i16 12273, i16 12274, i16 12275, i16 0, i16 12276, i16 12277, i16 12278, i16 12279, i16 0, i16 0, i16 12280, i16 12281, i16 12282, i16 12283, i16 6617, i16 12284, i16 0, i16 3298, i16 12285, i16 0, i16 12286, i16 0, i16 12287, i16 12288, i16 12289, i16 0, i16 0, i16 12290, i16 12291, i16 0, i16 12292, i16 1009, i16 6386, i16 3667, i16 2659, i16 3696, i16 11796, i16 11797, i16 1860, i16 6385, i16 11798, i16 2454, i16 11799, i16 0, i16 6402, i16 2351, i16 11800, i16 0, i16 2901, i16 0, i16 3143, i16 0, i16 11802, i16 11801, i16 0, i16 0, i16 11803, i16 6389, i16 1810, i16 1861, i16 11804, i16 2123, i16 0, i16 4849, i16 4836, i16 0, i16 4846, i16 0, i16 9254, i16 0, i16 4840, i16 9255, i16 0, i16 9256, i16 9257, i16 9258, i16 9259, i16 2180, i16 4850, i16 9260, i16 9261, i16 2268, i16 0, i16 0, i16 9262, i16 9263, i16 0, i16 0, i16 4848, i16 1150, i16 9264, i16 9265, i16 9266, i16 0, i16 0, i16 13041, i16 0, i16 0, i16 0, i16 0, i16 13042, i16 7028, i16 13043, i16 0, i16 13044, i16 0, i16 13045, i16 0, i16 7029, i16 13046, i16 7030, i16 13047, i16 0, i16 3700, i16 13048, i16 13049, i16 0, i16 0, i16 0, i16 7027, i16 2512, i16 1762, i16 0, i16 0, i16 7031, i16 13050, i16 0, i16 6130, i16 0, i16 3293, i16 6131, i16 11395, i16 11396, i16 6128, i16 11397, i16 6129, i16 6134, i16 6137, i16 11398, i16 0, i16 6135, i16 11399, i16 11400, i16 11401, i16 6133, i16 6127, i16 11402, i16 11403, i16 0, i16 0, i16 0, i16 2587, i16 11404, i16 6144, i16 0, i16 3387, i16 0, i16 11405, i16 11406, i16 4083, i16 8027, i16 8028, i16 3253, i16 4085, i16 0, i16 0, i16 8029, i16 4087, i16 4086, i16 8030, i16 4088, i16 8031, i16 4089, i16 0, i16 1490, i16 0, i16 8032, i16 903, i16 4090, i16 0, i16 8033, i16 4092, i16 0, i16 4091, i16 0, i16 8034, i16 8035, i16 4094, i16 8036, i16 0, i16 2777, i16 3830, i16 829, i16 7623, i16 1518, i16 1430, i16 1995, i16 2622, i16 1313, i16 2321, i16 1584, i16 7624, i16 1669, i16 3832, i16 3417, i16 2757, i16 7625, i16 1868, i16 0, i16 3831, i16 7626, i16 3833, i16 7627, i16 0, i16 7628, i16 7629, i16 0, i16 2781, i16 0, i16 1112, i16 0, i16 0, i16 7630, i16 3320, i16 897, i16 811, i16 0, i16 2818, i16 11714, i16 11715, i16 6321, i16 0, i16 0, i16 11721, i16 11716, i16 6320, i16 0, i16 2883, i16 0, i16 6325, i16 11717, i16 0, i16 0, i16 6314, i16 0, i16 6324, i16 6326, i16 0, i16 1509, i16 6322, i16 1645, i16 11718, i16 1926, i16 11719, i16 11720, i16 3576, i16 1731, i16 2552, i16 4614, i16 8885, i16 2309, i16 8886, i16 1612, i16 2223, i16 909, i16 2371, i16 4612, i16 1252, i16 8887, i16 8888, i16 8889, i16 0, i16 0, i16 1442, i16 0, i16 2672, i16 4618, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2406, i16 0, i16 8890, i16 4621, i16 0, i16 7416, i16 1196, i16 7417, i16 7418, i16 0, i16 0, i16 0, i16 0, i16 7419, i16 3746, i16 788, i16 7420, i16 7421, i16 1561, i16 1197, i16 3185, i16 3019, i16 1272, i16 7422, i16 0, i16 0, i16 7423, i16 7424, i16 7425, i16 0, i16 7426, i16 1014, i16 0, i16 3781, i16 2752, i16 0, i16 0, i16 1529, i16 0, i16 2716, i16 6278, i16 11631, i16 11632, i16 0, i16 11633, i16 1458, i16 0, i16 2209, i16 0, i16 6281, i16 0, i16 2817, i16 11634, i16 6280, i16 11635, i16 11636, i16 1420, i16 11637, i16 11638, i16 6279, i16 2524, i16 1228, i16 0, i16 0, i16 6282, i16 0, i16 6283, i16 11639, i16 2118, i16 2041, i16 4564, i16 8795, i16 8796, i16 8797, i16 0, i16 8798, i16 2329, i16 6559, i16 3067, i16 0, i16 1947, i16 8799, i16 1730, i16 4565, i16 0, i16 8800, i16 8801, i16 8802, i16 2476, i16 8803, i16 3196, i16 8804, i16 0, i16 2518, i16 0, i16 8805, i16 4568, i16 8806, i16 0, i16 4566, i16 0, i16 10235, i16 5426, i16 0, i16 1159, i16 3056, i16 5427, i16 10236, i16 5428, i16 10237, i16 0, i16 5429, i16 0, i16 10238, i16 0, i16 3437, i16 0, i16 10239, i16 10240, i16 3430, i16 0, i16 2655, i16 0, i16 10241, i16 0, i16 2417, i16 10242, i16 0, i16 5431, i16 10243, i16 0, i16 2033, i16 0, i16 5628, i16 10657, i16 0, i16 10658, i16 5652, i16 5654, i16 0, i16 10659, i16 0, i16 10660, i16 0, i16 0, i16 5655, i16 10661, i16 10662, i16 0, i16 10663, i16 0, i16 10664, i16 3227, i16 0, i16 5656, i16 0, i16 0, i16 0, i16 10665, i16 0, i16 0, i16 10666, i16 10667, i16 3443, i16 0, i16 3325, i16 7813, i16 0, i16 0, i16 0, i16 0, i16 3062, i16 7814, i16 7815, i16 3968, i16 7816, i16 1183, i16 3963, i16 3964, i16 3966, i16 7817, i16 0, i16 7818, i16 0, i16 0, i16 7819, i16 7820, i16 3967, i16 0, i16 1274, i16 2220, i16 0, i16 3202, i16 3965, i16 3961, i16 1564, i16 0, i16 5629, i16 10622, i16 10623, i16 10624, i16 10625, i16 0, i16 10626, i16 5630, i16 0, i16 10627, i16 0, i16 10628, i16 10629, i16 5635, i16 10630, i16 10631, i16 0, i16 5624, i16 3951, i16 5631, i16 5625, i16 0, i16 0, i16 5634, i16 0, i16 10632, i16 0, i16 10633, i16 0, i16 0, i16 0, i16 5640, i16 4350, i16 0, i16 0, i16 4349, i16 4348, i16 3188, i16 0, i16 4357, i16 0, i16 8514, i16 0, i16 8512, i16 3341, i16 0, i16 4351, i16 0, i16 8513, i16 8515, i16 0, i16 0, i16 4353, i16 3358, i16 8516, i16 4352, i16 8517, i16 0, i16 0, i16 8518, i16 8519, i16 0, i16 8520, i16 4354, i16 9726, i16 5159, i16 0, i16 0, i16 0, i16 9727, i16 9728, i16 9729, i16 0, i16 5155, i16 0, i16 5156, i16 0, i16 9730, i16 0, i16 5160, i16 0, i16 5158, i16 0, i16 0, i16 0, i16 3141, i16 0, i16 9731, i16 5166, i16 0, i16 5163, i16 5162, i16 0, i16 5165, i16 2865, i16 5167, i16 3839, i16 0, i16 3840, i16 7634, i16 7635, i16 2879, i16 902, i16 0, i16 0, i16 3843, i16 1778, i16 7636, i16 3842, i16 1723, i16 7637, i16 3844, i16 5856, i16 3845, i16 3316, i16 3846, i16 0, i16 3847, i16 3848, i16 2134, i16 7638, i16 1917, i16 0, i16 0, i16 0, i16 7639, i16 0, i16 0, i16 5887, i16 10975, i16 5888, i16 5884, i16 10977, i16 10978, i16 10979, i16 0, i16 5885, i16 0, i16 5886, i16 10980, i16 0, i16 0, i16 10981, i16 1640, i16 10976, i16 0, i16 0, i16 5894, i16 0, i16 5890, i16 10982, i16 0, i16 10983, i16 0, i16 3165, i16 10984, i16 3359, i16 3103, i16 10985, i16 0, i16 120, i16 12, i16 25, i16 0, i16 0, i16 5, i16 0, i16 23, i16 156, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 17, i16 157, i16 107, i16 21, i16 147, i16 174, i16 24, i16 0, i16 3, i16 173, i16 137, i16 30, i16 88, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 143, i16 145, i16 8, i16 117, i16 132, i16 0, i16 0, i16 177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 187, i16 95, i16 182, i16 161, i16 129, i16 127, i16 97, i16 135, i16 103, i16 108, i16 83, i16 86, i16 166, i16 139, i16 89, i16 172, i16 56, i16 77, i16 106, i16 162, i16 189, i16 155, i16 41, i16 141, i16 124, i16 28, i16 74, i16 68, i16 113, i16 27, i16 67, i16 85, i16 144, i16 70, i16 126, i16 96, i16 35, i16 61, i16 190, i16 123, i16 176, i16 171, i16 148, i16 183, i16 38, i16 54, i16 142, i16 186, i16 87, i16 75, i16 94, i16 76, i16 32, i16 98, i16 163, i16 20, i16 133, i16 154, i16 66, i16 138, i16 52, i16 101, i16 44, i16 63, i16 19, i16 22, i16 164, i16 191, i16 136, i16 80, i16 65, i16 91, i16 114, i16 181, i16 51, i16 79, i16 184, i16 116, i16 151, i16 92, i16 140, i16 64, i16 167, i16 50, i16 110, i16 130, i16 192, i16 152, i16 100, i16 99, i16 36, i16 93, i16 72, i16 146, i16 131, i16 33, i16 47, i16 119, i16 7, i16 73, i16 185, i16 57, i16 160, i16 150, i16 78, i16 45, i16 118, i16 49, i16 115, i16 29, i16 31, i16 69, i16 188, i16 53, i16 149, i16 121, i16 55, i16 109, i16 82, i16 153, i16 178, i16 90, i16 122, i16 104, i16 6, i16 175, i16 60, i16 59, i16 43, i16 180, i16 125, i16 16, i16 179, i16 102, i16 134, i16 62, i16 37, i16 158, i16 71, i16 40, i16 84, i16 0, i16 1, i16 159, i16 13, i16 81, i16 111, i16 46, i16 105, i16 9, i16 128, i16 18, i16 170, i16 11, i16 15, i16 39, i16 34, i16 2, i16 48, i16 10, i16 14, i16 26, i16 58, i16 42, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 169, i16 112, i16 168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 165, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 84, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1270, i16 1950, i16 0, i16 426, i16 2786, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3365, i16 3389, i16 3410, i16 1975, i16 0, i16 2471, i16 2480, i16 2502, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2924, i16 1668, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 408, i16 0, i16 0, i16 3296, i16 0, i16 3249, i16 1864, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 141, i16 0, i16 51, i16 1513, i16 1049, i16 2968, i16 2294, i16 0, i16 1390, i16 979, i16 0, i16 1886, i16 0, i16 617, i16 0, i16 0, i16 0, i16 1282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 471, i16 2852, i16 0, i16 0, i16 0, i16 0, i16 3275, i16 2769, i16 2449, i16 0, i16 0, i16 0, i16 0, i16 693, i16 657, i16 2725, i16 1421, i16 1123, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1524, i16 2708, i16 2736, i16 2762, i16 2793, i16 2808, i16 2834, i16 2854, i16 2870, i16 2890, i16 2909, i16 2932, i16 2958, i16 2983, i16 3003, i16 3025, i16 3042, i16 3062, i16 3085, i16 3108, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2374, i16 367, i16 1664, i16 0, i16 0, i16 0, i16 0, i16 2342, i16 0, i16 0, i16 0, i16 0, i16 165, i16 2704, i16 1683, i16 0, i16 0, i16 1370, i16 0, i16 2875, i16 0, i16 2939, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1678, i16 423, i16 0, i16 2585, i16 0, i16 0, i16 0, i16 2178, i16 0, i16 0, i16 0, i16 463, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 603, i16 0, i16 3282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2510, i16 0, i16 0, i16 0, i16 2978, i16 0, i16 0, i16 0, i16 0, i16 0, i16 454, i16 3047, i16 2404, i16 0, i16 0, i16 1652, i16 0, i16 628, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1882, i16 3318, i16 2723, i16 1548, i16 2895, i16 3235, i16 3268, i16 2013, i16 0, i16 899, i16 0, i16 0, i16 2999, i16 270, i16 3031, i16 926, i16 0, i16 511, i16 0, i16 0, i16 2064, i16 271, i16 2107, i16 537, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2071, i16 1576, i16 0, i16 1014, i16 610, i16 703, i16 0, i16 89, i16 277, i16 2618, i16 2078, i16 373, i16 2562, i16 2653, i16 0, i16 20, i16 2792, i16 1006, i16 1991, i16 745, i16 0, i16 2504, i16 1920, i16 3246, i16 1187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1040, i16 538, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1639, i16 1552, i16 1656, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1084, i16 0, i16 0, i16 343, i16 947, i16 0, i16 1748, i16 0, i16 0, i16 2269, i16 1677, i16 2648, i16 0, i16 455, i16 0, i16 2224, i16 572, i16 0, i16 0, i16 0, i16 0, i16 272, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 218, i16 2385, i16 42, i16 1008, i16 2883, i16 1666, i16 3317, i16 0, i16 0, i16 0, i16 845, i16 1527, i16 0, i16 966, i16 1411, i16 2278, i16 0, i16 0, i16 0, i16 529, i16 764, i16 1103, i16 2200, i16 446, i16 1517, i16 1958, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1554, i16 2767, i16 2782, i16 2040, i16 1538, i16 0, i16 0, i16 3329, i16 0, i16 320, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2561, i16 0, i16 183, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1077, i16 1744, i16 1381, i16 0, i16 1821, i16 2017, i16 2216, i16 1487, i16 2180, i16 1772, i16 0, i16 1191, i16 0, i16 0, i16 0, i16 2697, i16 1177, i16 1167, i16 1491, i16 0, i16 0, i16 0, i16 1684, i16 1161, i16 0, i16 0, i16 261, i16 0, i16 0, i16 0, i16 0, i16 0, i16 353, i16 1482, i16 385, i16 2859, i16 2317, i16 136, i16 2314, i16 598, i16 2350, i16 2114, i16 3321, i16 177, i16 3325, i16 740, i16 1376, i16 0, i16 564, i16 3237, i16 2522, i16 0, i16 220, i16 451, i16 896, i16 985, i16 0, i16 931, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1514, i16 391, i16 2423, i16 0, i16 1547, i16 0, i16 904, i16 0, i16 3173, i16 265, i16 0, i16 1255, i16 0, i16 406, i16 3030, i16 2947, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2682, i16 0, i16 0, i16 0, i16 90, i16 1190, i16 0, i16 0, i16 0, i16 0, i16 3076, i16 3092, i16 2084, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1002, i16 3212, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3169, i16 789, i16 0, i16 3187, i16 948, i16 1953, i16 530, i16 245, i16 1845, i16 769, i16 646, i16 0, i16 670, i16 2443, i16 1563, i16 2644, i16 1508, i16 2949, i16 0, i16 0, i16 0, i16 0, i16 0, i16 330, i16 0, i16 2594, i16 2182, i16 696, i16 0, i16 0, i16 0, i16 0, i16 1906, i16 3349, i16 3372, i16 3395, i16 3415, i16 1974, i16 1997, i16 0, i16 1128, i16 2030, i16 2057, i16 2085, i16 2106, i16 2126, i16 2152, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 884, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1151, i16 0, i16 0, i16 0, i16 0, i16 907, i16 0, i16 0, i16 1164, i16 0, i16 2089, i16 328, i16 2093, i16 0, i16 1196, i16 0, i16 921, i16 0, i16 0, i16 0, i16 0, i16 929, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 910, i16 152, i16 0, i16 1679, i16 0, i16 1452, i16 0, i16 0, i16 0, i16 1992, i16 65, i16 1016, i16 259, i16 0, i16 0, i16 1174, i16 1900, i16 3026, i16 3184, i16 2125, i16 0, i16 0, i16 2720, i16 0, i16 0, i16 3373, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2737, i16 0, i16 0, i16 0, i16 1427, i16 0, i16 1750, i16 2491, i16 1564, i16 1184, i16 2996, i16 889, i16 3105, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1290, i16 0, i16 3191, i16 0, i16 2844, i16 401, i16 3231, i16 3156, i16 241, i16 1896, i16 0, i16 0, i16 0, i16 0, i16 699, i16 0, i16 1035, i16 0, i16 0, i16 2360, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1115, i16 3123, i16 1925, i16 3287, i16 0, i16 0, i16 0, i16 0, i16 1450, i16 803, i16 1267, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3280, i16 2450, i16 1696, i16 3032, i16 1377, i16 0, i16 0, i16 0, i16 568, i16 0, i16 2921, i16 2479, i16 2955, i16 2063, i16 1546, i16 1367, i16 1641, i16 0, i16 1039, i16 0, i16 0, i16 0, i16 0, i16 3264, i16 0, i16 2136, i16 0, i16 3056, i16 0, i16 0, i16 0, i16 0, i16 467, i16 0, i16 0, i16 0, i16 3041, i16 1967, i16 1980, i16 0, i16 932, i16 1066, i16 0, i16 3061, i16 3344, i16 920, i16 3399, i16 915, i16 3409, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1520, i16 3160, i16 3104, i16 973, i16 1426, i16 1893, i16 0, i16 2838, i16 0, i16 0, i16 0, i16 1137, i16 1473, i16 0, i16 1810, i16 942, i16 331, i16 0, i16 1150, i16 0, i16 43, i16 0, i16 2179, i16 1614, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 508, i16 487, i16 0, i16 0, i16 1726, i16 0, i16 734, i16 308, i16 0, i16 0, i16 2990, i16 3063, i16 2991, i16 0, i16 3011, i16 1074, i16 3210, i16 3037, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1827, i16 0, i16 897, i16 0, i16 75, i16 0, i16 0, i16 0, i16 1030, i16 462, i16 0, i16 0, i16 2414, i16 2898, i16 0, i16 0, i16 3253, i16 1468, i16 2833, i16 3273, i16 1955, i16 0, i16 127, i16 913, i16 0, i16 0, i16 507, i16 2716, i16 1126, i16 3029, i16 0, i16 3382, i16 2668, i16 0, i16 2555, i16 128, i16 0, i16 0, i16 0, i16 0, i16 1127, i16 2981, i16 1437, i16 0, i16 0, i16 0, i16 1500, i16 0, i16 0, i16 480, i16 0, i16 114, i16 0, i16 0, i16 205, i16 1655, i16 0, i16 0, i16 34, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 370, i16 500, i16 528, i16 0, i16 2690, i16 2876, i16 1477, i16 3133, i16 333, i16 0, i16 0, i16 0, i16 0, i16 1793, i16 0, i16 0, i16 1529, i16 2550, i16 1096, i16 1112, i16 1588, i16 820, i16 3267, i16 2595, i16 1977, i16 3394, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 125, i16 1589, i16 0, i16 1933, i16 847, i16 2168, i16 468, i16 0, i16 3405, i16 0, i16 0, i16 1506, i16 0, i16 0, i16 683, i16 1939, i16 2846, i16 2878, i16 2642, i16 0, i16 0, i16 2377, i16 0, i16 0, i16 2596, i16 0, i16 1532, i16 0, i16 1107, i16 0, i16 0, i16 0, i16 1919, i16 3021, i16 120, i16 0, i16 644, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2732, i16 501, i16 279, i16 2509, i16 1644, i16 1863, i16 0, i16 0, i16 395, i16 246, i16 1025, i16 626, i16 3384, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1675, i16 0, i16 2734, i16 0, i16 3140, i16 990, i16 0, i16 0, i16 2169, i16 0, i16 0, i16 1027, i16 552, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2583, i16 0, i16 3286, i16 0, i16 1212, i16 316, i16 0, i16 0, i16 2830, i16 0, i16 0, i16 0, i16 0, i16 909, i16 1229, i16 0, i16 0, i16 335, i16 0, i16 0, i16 359, i16 647, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1153, i16 0, i16 0, i16 901, i16 0, i16 0, i16 0, i16 2492, i16 2027, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3219, i16 0, i16 2744, i16 476, i16 0, i16 11, i16 243, i16 0, i16 2327, i16 3098, i16 0, i16 0, i16 0, i16 97, i16 0, i16 0, i16 0, i16 1523, i16 0, i16 0, i16 783, i16 1121, i16 3144, i16 0, i16 0, i16 0, i16 496, i16 0, i16 0, i16 0, i16 0, i16 0, i16 158, i16 0, i16 2711, i16 1954, i16 3311, i16 886, i16 239, i16 1528, i16 1343, i16 1531, i16 225, i16 0, i16 1047, i16 0, i16 2311, i16 3385, i16 607, i16 2571, i16 2130, i16 848, i16 0, i16 2750, i16 440, i16 794, i16 2102, i16 460, i16 2018, i16 2208, i16 1181, i16 0, i16 0, i16 0, i16 1755, i16 2493, i16 1397, i16 0, i16 3417, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 780, i16 206, i16 2759, i16 0, i16 0, i16 834, i16 0, i16 0, i16 672, i16 0, i16 2241, i16 1359, i16 0, i16 0, i16 584, i16 1978, i16 3009, i16 0, i16 0, i16 0, i16 1160, i16 211, i16 2666, i16 0, i16 0, i16 0, i16 0, i16 2074, i16 0, i16 0, i16 0, i16 0, i16 17, i16 2606, i16 1737, i16 202, i16 1812, i16 1007, i16 0, i16 1841, i16 1345, i16 0, i16 738, i16 1162, i16 2860, i16 1943, i16 1814, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1674, i16 2556, i16 66, i16 542, i16 1205, i16 3419, i16 0, i16 2603, i16 2500, i16 425, i16 0, i16 0, i16 278, i16 1961, i16 680, i16 0, i16 1124, i16 1758, i16 0, i16 1555, i16 1446, i16 2210, i16 1405, i16 350, i16 3028, i16 2892, i16 0, i16 0, i16 0, i16 0, i16 1826, i16 2907, i16 21, i16 558, i16 1600, i16 1932, i16 0, i16 0, i16 1779, i16 0, i16 0, i16 1295, i16 0, i16 0, i16 28, i16 1725, i16 0, i16 0, i16 0, i16 0, i16 1981, i16 0, i16 2384, i16 1942, i16 0, i16 0, i16 0, i16 0, i16 0, i16 795, i16 452, i16 0, i16 208, i16 0, i16 0, i16 3044, i16 0, i16 0, i16 0, i16 0, i16 166, i16 836, i16 340, i16 337, i16 0, i16 0, i16 1875, i16 0, i16 0, i16 1159, i16 32, i16 1879, i16 1304, i16 0, i16 414, i16 515, i16 1347, i16 365, i16 0, i16 1884, i16 1521, i16 970, i16 0, i16 0, i16 858, i16 3141, i16 0, i16 717, i16 1866, i16 0, i16 1280, i16 1791, i16 2234, i16 0, i16 1414, i16 2147, i16 0, i16 0, i16 1645, i16 0, i16 0, i16 0, i16 404, i16 0, i16 0, i16 984, i16 3122, i16 0, i16 0, i16 0, i16 145, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1803, i16 0, i16 0, i16 1651, i16 2447, i16 0, i16 0, i16 2291, i16 472, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1134, i16 838, i16 0, i16 470, i16 2650, i16 606, i16 1065, i16 0, i16 1130, i16 0, i16 0, i16 0, i16 0, i16 1374, i16 1694, i16 1572, i16 1648, i16 2386, i16 200, i16 694, i16 0, i16 2530, i16 0, i16 0, i16 1752, i16 159, i16 2351, i16 3097, i16 1410, i16 1125, i16 0, i16 0, i16 412, i16 0, i16 1556, i16 0, i16 0, i16 625, i16 0, i16 1649, i16 0, i16 2100, i16 2469, i16 0, i16 273, i16 3016, i16 0, i16 0, i16 0, i16 0, i16 0, i16 399, i16 276, i16 2646, i16 671, i16 1732, i16 1888, i16 1382, i16 57, i16 0, i16 0, i16 0, i16 0, i16 0, i16 999, i16 0, i16 0, i16 681, i16 190, i16 2424, i16 0, i16 1319, i16 1454, i16 0, i16 0, i16 539, i16 0, i16 761, i16 0, i16 2021, i16 0, i16 0, i16 2189, i16 54, i16 0, i16 0, i16 0, i16 0, i16 3073, i16 0, i16 3049, i16 1501, i16 3198, i16 0, i16 0, i16 0, i16 2802, i16 255, i16 1960, i16 0, i16 0, i16 0, i16 263, i16 0, i16 0, i16 0, i16 0, i16 3168, i16 3007, i16 784, i16 3164, i16 0, i16 0, i16 788, i16 2164, i16 1711, i16 1088, i16 1328, i16 3024, i16 0, i16 2497, i16 1825, i16 2888, i16 1003, i16 986, i16 1603, i16 0, i16 0, i16 1012, i16 2473, i16 329, i16 0, i16 0, i16 0, i16 189, i16 2254, i16 1348, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 283, i16 155, i16 0, i16 0, i16 2908, i16 1209, i16 346, i16 0, i16 2765, i16 0, i16 1957, i16 0, i16 0, i16 0, i16 828, i16 0, i16 0, i16 2807, i16 0, i16 1676, i16 0, i16 1091, i16 768, i16 0, i16 2818, i16 349, i16 1789, i16 2193, i16 0, i16 164, i16 0, i16 1171, i16 2810, i16 938, i16 1163, i16 719, i16 2554, i16 2822, i16 0, i16 1575, i16 1200, i16 0, i16 2598, i16 753, i16 2532, i16 972, i16 689, i16 0, i16 1284, i16 0, i16 0, i16 0, i16 0, i16 0, i16 64, i16 800, i16 0, i16 0, i16 0, i16 1307, i16 509, i16 106, i16 0, i16 3278, i16 819, i16 0, i16 3013, i16 1015, i16 26, i16 1631, i16 1202, i16 1117, i16 0, i16 2326, i16 0, i16 3046, i16 49, i16 0, i16 736, i16 0, i16 776, i16 1109, i16 0, i16 0, i16 3182, i16 0, i16 0, i16 0, i16 0, i16 0, i16 217, i16 510, i16 2212, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 341, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2689, i16 0, i16 0, i16 2117, i16 0, i16 0, i16 0, i16 2825, i16 1273, i16 2948, i16 0, i16 977, i16 268, i16 1266, i16 1283, i16 1369, i16 1795, i16 207, i16 1685, i16 3014, i16 497, i16 0, i16 437, i16 2505, i16 0, i16 2563, i16 0, i16 0, i16 732, i16 553, i16 1247, i16 2372, i16 0, i16 0, i16 1637, i16 3251, i16 3313, i16 1308, i16 0, i16 10, i16 2912, i16 1061, i16 131, i16 0, i16 0, i16 0, i16 2111, i16 0, i16 0, i16 0, i16 0, i16 0, i16 169, i16 0, i16 0, i16 0, i16 490, i16 642, i16 677, i16 0, i16 0, i16 180, i16 1565, i16 148, i16 569, i16 2201, i16 0, i16 315, i16 0, i16 0, i16 0, i16 1818, i16 1021, i16 0, i16 0, i16 0, i16 1244, i16 0, i16 76, i16 0, i16 3406, i16 0, i16 93, i16 0, i16 513, i16 960, i16 0, i16 859, i16 96, i16 1964, i16 0, i16 0, i16 386, i16 1629, i16 1510, i16 0, i16 2656, i16 269, i16 321, i16 0, i16 0, i16 0, i16 0, i16 3106, i16 2930, i16 1402, i16 80, i16 867, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2660, i16 368, i16 0, i16 2661, i16 2045, i16 0, i16 0, i16 0, i16 1581, i16 1544, i16 3381, i16 0, i16 2853, i16 891, i16 449, i16 2010, i16 3277, i16 0, i16 0, i16 2382, i16 2172, i16 2069, i16 2897, i16 0, i16 1773, i16 0, i16 0, i16 1291, i16 0, i16 645, i16 2135, i16 2034, i16 0, i16 0, i16 0, i16 2584, i16 772, i16 1898, i16 0, i16 0, i16 48, i16 1245, i16 1113, i16 747, i16 0, i16 0, i16 1973, i16 0, i16 0, i16 209, i16 2281, i16 1289, i16 2785, i16 0, i16 0, i16 2118, i16 176, i16 1248, i16 2037, i16 2043, i16 339, i16 3293, i16 2066, i16 86, i16 248, i16 857, i16 0, i16 0, i16 1433, i16 0, i16 0, i16 0, i16 1585, i16 2756, i16 2680, i16 1650, i16 1718, i16 0, i16 0, i16 0, i16 0, i16 0, i16 394, i16 1024, i16 1537, i16 0, i16 0, i16 3170, i16 2362, i16 40, i16 53, i16 1101, i16 0, i16 2933, i16 900, i16 1447, i16 0, i16 3179, i16 833, i16 1566, i16 1494, i16 2973, i16 0, i16 0, i16 2609, i16 0, i16 927, i16 2303, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 650, i16 0, i16 0, i16 1075, i16 235, i16 823, i16 565, i16 3079, i16 0, i16 785, i16 777, i16 186, i16 2969, i16 1860, i16 2232, i16 0, i16 873, i16 741, i16 3125, i16 3257, i16 2239, i16 0, i16 3121, i16 1242, i16 2791, i16 0, i16 0, i16 1435, i16 974, i16 1780, i16 961, i16 0, i16 0, i16 2874, i16 757, i16 0, i16 0, i16 0, i16 400, i16 1432, i16 2766, i16 3039, i16 1001, i16 1507, i16 2972, i16 0, i16 2514, i16 1512, i16 2046, i16 0, i16 0, i16 0, i16 1253, i16 0, i16 2098, i16 545, i16 2165, i16 531, i16 555, i16 0, i16 0, i16 3371, i16 0, i16 0, i16 0, i16 742, i16 0, i16 807, i16 1931, i16 0, i16 1076, i16 0, i16 2026, i16 3245, i16 0, i16 0, i16 117, i16 1467, i16 2104, i16 631, i16 0, i16 754, i16 156, i16 2258, i16 307, i16 0, i16 60, i16 0, i16 1260, i16 1371, i16 3328, i16 1870, i16 0, i16 0, i16 61, i16 1241, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 424, i16 2403, i16 2148, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1231, i16 2367, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1596, i16 3096, i16 2202, i16 363, i16 1609, i16 2710, i16 2582, i16 791, i16 2705, i16 0, i16 2543, i16 2319, i16 2558, i16 2597, i16 1, i16 2495, i16 2730, i16 0, i16 3374, i16 2485, i16 2487, i16 0, i16 581, i16 1476, i16 3359, i16 2499, i16 2719, i16 0, i16 1876, i16 3240, i16 0, i16 0, i16 2110, i16 0, i16 198, i16 1488, i16 2262, i16 140, i16 0, i16 0, i16 782, i16 3157, i16 27, i16 3136, i16 0, i16 1092, i16 0, i16 1302, i16 0, i16 1912, i16 1217, i16 0, i16 1642, i16 0, i16 2457, i16 0, i16 3400, i16 1530, i16 0, i16 0, i16 167, i16 524, i16 221, i16 0, i16 2119, i16 998, i16 461, i16 0, i16 1358, i16 1037, i16 3378, i16 3206, i16 841, i16 68, i16 1762, i16 0, i16 1756, i16 2665, i16 482, i16 1004, i16 0, i16 2501, i16 0, i16 3204, i16 918, i16 724, i16 322, i16 2401, i16 0, i16 0, i16 2412, i16 306, i16 733, i16 863, i16 0, i16 0, i16 2904, i16 0, i16 0, i16 1979, i16 0, i16 1985, i16 556, i16 3312, i16 2987, i16 3045, i16 643, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3128, i16 1729, i16 0, i16 2970, i16 161, i16 0, i16 0, i16 0, i16 0, i16 602, i16 0, i16 1682, i16 0, i16 2523, i16 0, i16 92, i16 0, i16 0, i16 583, i16 0, i16 0, i16 697, i16 1263, i16 253, i16 504, i16 0, i16 0, i16 0, i16 0, i16 1636, i16 56, i16 0, i16 0, i16 2617, i16 0, i16 0, i16 0, i16 0, i16 2960, i16 2884, i16 0, i16 1999, i16 438, i16 0, i16 0, i16 0, i16 0, i16 1116, i16 2929, i16 2605, i16 0, i16 2323, i16 774, i16 1032, i16 0, i16 2015, i16 2336, i16 0, i16 520, i16 0, i16 2016, i16 1634, i16 1182, i16 1362, i16 850, i16 2906, i16 596, i16 3274, i16 0, i16 199, i16 2242, i16 0, i16 1934, i16 0, i16 2635, i16 0, i16 1746, i16 2915, i16 0, i16 1375, i16 1118, i16 3004, i16 0, i16 477, i16 0, i16 0, i16 0, i16 0, i16 715, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3185, i16 0, i16 0, i16 0, i16 3248, i16 2541, i16 2340, i16 3258, i16 24, i16 2230, i16 1654, i16 0, i16 3421, i16 1923, i16 2565, i16 2280, i16 0, i16 3167, i16 3149, i16 895, i16 3306, i16 994, i16 2009, i16 1543, i16 2273, i16 0, i16 14, i16 814, i16 540, i16 2243, i16 1384, i16 969, i16 0, i16 2914, i16 1698, i16 0, i16 0, i16 995, i16 1119, i16 2474, i16 2855, i16 498, i16 0, i16 0, i16 2312, i16 3331, i16 2002, i16 2324, i16 0, i16 111, i16 1281, i16 410, i16 2158, i16 1404, i16 708, i16 2625, i16 0, i16 0, i16 0, i16 82, i16 1965, i16 486, i16 3228, i16 661, i16 0, i16 2961, i16 0, i16 197, i16 2842, i16 2060, i16 517, i16 1518, i16 0, i16 0, i16 1853, i16 2257, i16 3392, i16 2419, i16 251, i16 975, i16 0, i16 883, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1423, i16 0, i16 2521, i16 0, i16 2305, i16 0, i16 3380, i16 0, i16 0, i16 1054, i16 1108, i16 1842, i16 0, i16 943, i16 811, i16 2963, i16 0, i16 0, i16 0, i16 2455, i16 0, i16 1511, i16 0, i16 0, i16 1907, i16 3408, i16 2431, i16 516, i16 0, i16 238, i16 2124, i16 1483, i16 0, i16 825, i16 2271, i16 0, i16 1475, i16 1297, i16 0, i16 2001, i16 1346, i16 0, i16 0, i16 0, i16 0, i16 1387, i16 0, i16 0, i16 2629, i16 0, i16 614, i16 1274, i16 839, i16 3154, i16 1005, i16 0, i16 3189, i16 1136, i16 1000, i16 0, i16 2727, i16 2848, i16 3, i16 0, i16 112, i16 1234, i16 1459, i16 770, i16 0, i16 1828, i16 0, i16 2065, i16 0, i16 1106, i16 2444, i16 0, i16 830, i16 1457, i16 1764, i16 2604, i16 3057, i16 1098, i16 1223, i16 0, i16 362, i16 1460, i16 1840, i16 0, i16 1913, i16 580, i16 829, i16 958, i16 0, i16 3337, i16 0, i16 1833, i16 2778, i16 387, i16 2865, i16 310, i16 193, i16 3403, i16 0, i16 0, i16 0, i16 2614, i16 466, i16 0, i16 0, i16 2428, i16 1646, i16 0, i16 0, i16 0, i16 0, i16 1917, i16 0, i16 1908, i16 1859, i16 0, i16 1660, i16 804, i16 1592, i16 0, i16 3094, i16 3216, i16 2295, i16 33, i16 443, i16 3358, i16 0, i16 1394, i16 250, i16 213, i16 0, i16 1971, i16 3080, i16 1354, i16 3360, i16 0, i16 1265, i16 1584, i16 2053, i16 512, i16 0, i16 2928, i16 409, i16 2225, i16 779, i16 1186, i16 0, i16 0, i16 381, i16 0, i16 0, i16 2369, i16 0, i16 3368, i16 0, i16 0, i16 1479, i16 924, i16 0, i16 0, i16 599, i16 3139, i16 0, i16 1492, i16 2101, i16 0, i16 0, i16 0, i16 0, i16 0, i16 184, i16 0, i16 2197, i16 651, i16 0, i16 601, i16 0, i16 0, i16 29, i16 0, i16 1149, i16 3302, i16 1156, i16 3111, i16 1269, i16 1298, i16 0, i16 2073, i16 0, i16 615, i16 262, i16 0, i16 0, i16 1349, i16 118, i16 3159, i16 3178, i16 3316, i16 1252, i16 1277, i16 3301, i16 493, i16 3119, i16 2977, i16 842, i16 2399, i16 318, i16 2940, i16 2123, i16 0, i16 1620, i16 0, i16 2951, i16 0, i16 0, i16 0, i16 0, i16 2453, i16 0, i16 0, i16 1323, i16 288, i16 0, i16 0, i16 1615, i16 2715, i16 0, i16 0, i16 2691, i16 0, i16 0, i16 1388, i16 0, i16 280, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1250, i16 0, i16 392, i16 275, i16 0, i16 0, i16 0, i16 0, i16 1926, i16 3008, i16 0, i16 620, i16 0, i16 0, i16 0, i16 2971, i16 3401, i16 0, i16 0, i16 0, i16 1314, i16 608, i16 944, i16 0, i16 1534, i16 1131, i16 1430, i16 2835, i16 525, i16 1559, i16 3115, i16 0, i16 1672, i16 0, i16 3232, i16 0, i16 0, i16 382, i16 0, i16 3377, i16 352, i16 2301, i16 1207, i16 0, i16 1611, i16 0, i16 0, i16 260, i16 0, i16 94, i16 0, i16 2795, i16 1197, i16 0, i16 3402, i16 45, i16 0, i16 1816, i16 2185, i16 1216, i16 2678, i16 2866, i16 0, i16 2677, i16 0, i16 0, i16 687, i16 1342, i16 2420, i16 2163, i16 2142, i16 0, i16 876, i16 2989, i16 1172, i16 3393, i16 1550, i16 2506, i16 3017, i16 879, i16 0, i16 1169, i16 2729, i16 1817, i16 323, i16 0, i16 0, i16 1562, i16 1436, i16 0, i16 3397, i16 2616, i16 922, i16 44, i16 2966, i16 3135, i16 0, i16 0, i16 1713, i16 0, i16 491, i16 0, i16 0, i16 0, i16 2024, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2943, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3364, i16 3355, i16 2004, i16 2105, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3262, i16 0, i16 1082, i16 2663, i16 0, i16 0, i16 2379, i16 0, i16 0, i16 0, i16 2, i16 1330, i16 1747, i16 0, i16 731, i16 0, i16 2639, i16 0, i16 393, i16 18, i16 722, i16 0, i16 813, i16 223, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3353, i16 0, i16 1504, i16 0, i16 3099, i16 30, i16 1574, i16 2218, i16 566, i16 2621, i16 1989, i16 2917, i16 0, i16 3305, i16 0, i16 1398, i16 2651, i16 843, i16 2159, i16 317, i16 1335, i16 640, i16 865, i16 62, i16 2937, i16 1385, i16 919, i16 1034, i16 1233, i16 1850, i16 792, i16 1972, i16 987, i16 0, i16 2529, i16 1717, i16 364, i16 1095, i16 2696, i16 1142, i16 5, i16 1029, i16 0, i16 0, i16 1962, i16 1595, i16 0, i16 1145, i16 637, i16 1662, i16 0, i16 3386, i16 925, i16 2076, i16 2672, i16 0, i16 338, i16 0, i16 1198, i16 0, i16 1846, i16 0, i16 0, i16 366, i16 2622, i16 0, i16 739, i16 869, i16 799, i16 1480, i16 0, i16 0, i16 1721, i16 0, i16 1542, i16 160, i16 0, i16 1195, i16 1891, i16 2526, i16 3236, i16 502, i16 1697, i16 0, i16 1577, i16 514, i16 2373, i16 3289, i16 0, i16 478, i16 0, i16 0, i16 0, i16 2591, i16 2383, i16 660, i16 2297, i16 0, i16 234, i16 267, i16 124, i16 0, i16 2077, i16 534, i16 1838, i16 1568, i16 0, i16 0, i16 1619, i16 1873, i16 2033, i16 2484, i16 0, i16 2964, i16 2787, i16 1147, i16 0, i16 721, i16 0, i16 0, i16 0, i16 2815, i16 3086, i16 1622, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3336, i16 0, i16 3239, i16 1796, i16 0, i16 2976, i16 139, i16 1176, i16 0, i16 888, i16 2919, i16 3196, i16 1440, i16 2044, i16 574, i16 1754, i16 0, i16 586, i16 1760, i16 1087, i16 2331, i16 544, i16 0, i16 3279, i16 0, i16 0, i16 0, i16 1602, i16 2985, i16 1366, i16 91, i16 894, i16 523, i16 911, i16 2345, i16 2669, i16 3067, i16 3292, i16 2638, i16 806, i16 1341, i16 2986, i16 3363, i16 3227, i16 0, i16 659, i16 868, i16 0, i16 2794, i16 2296, i16 713, i16 1832, i16 0, i16 3217, i16 3304, i16 1811, i16 231, i16 2657, i16 0, i16 0, i16 3127, i16 852, i16 358, i16 0, i16 2318, i16 1570, i16 817, i16 3069, i16 3420, i16 447, i16 2520, i16 638, i16 2299, i16 0, i16 2693, i16 1043, i16 0, i16 1140, i16 1591, i16 1837, i16 236, i16 1355, i16 0, i16 2763, i16 0, i16 1022, i16 2422, i16 0, i16 2138, i16 0, i16 179, i16 0, i16 0, i16 1100, i16 0, i16 1326, i16 2574, i16 2211, i16 1702, i16 0, i16 1089, i16 0, i16 0, i16 377, i16 1687, i16 0, i16 793, i16 0, i16 667, i16 126, i16 934, i16 2300, i16 2079, i16 3370, i16 2233, i16 2862, i16 810, i16 0, i16 0, i16 3263, i16 756, i16 1809, i16 2714, i16 2518, i16 1422, i16 1665, i16 2722, i16 3194, i16 1296, i16 1412, i16 0, i16 138, i16 101, i16 2353, i16 0, i16 1179, i16 1225, i16 458, i16 3413, i16 1579, i16 2090, i16 1561, i16 0, i16 0, i16 0, i16 2809, i16 1497, i16 1389, i16 1019, i16 1329, i16 2421, i16 396, i16 2695, i16 6, i16 2095, i16 950, i16 489, i16 0, i16 1661, i16 0, i16 1808, i16 2171, i16 2511, i16 0, i16 1086, i16 1219, i16 2006, i16 25, i16 0, i16 0, i16 1201, i16 522, i16 0, i16 0, i16 618, i16 0, i16 0, i16 2235, i16 880, i16 0, i16 0, i16 334, i16 1305, i16 1705, i16 2204, i16 1858, i16 1013, i16 1306, i16 0, i16 1085, i16 1533, i16 87, i16 2067, i16 1502, i16 2290, i16 1799, i16 0, i16 3146, i16 1794, i16 3346, i16 2192, i16 0, i16 0, i16 653, i16 1429, i16 887, i16 314, i16 2041, i16 2436, i16 875, i16 1331, i16 1481, i16 0, i16 403, i16 0, i16 0, i16 1910, i16 0, i16 1155, i16 0, i16 2072, i16 3266, i16 1165, i16 1857, i16 1557, i16 1801, i16 2496, i16 3131, i16 2926, i16 2643, i16 1582, i16 0, i16 0, i16 0, i16 122, i16 686, i16 168, i16 0, i16 2398, i16 2749, i16 1553, i16 2413, i16 1541, i16 2440, i16 134, i16 1578, i16 247, i16 0, i16 1193, i16 1321, i16 2575, i16 570, i16 2894, i16 0, i16 0, i16 0, i16 2581, i16 2636, i16 2270, i16 12, i16 1424, i16 1188, i16 1383, i16 0, i16 485, i16 700, i16 3254, i16 149, i16 2922, i16 1627, i16 2545, i16 0, i16 1693, i16 0, i16 953, i16 0, i16 0, i16 0, i16 0, i16 600, i16 1138, i16 0, i16 2059, i16 1525, i16 0, i16 1657, i16 0, i16 1727, i16 2841, i16 532, i16 3176, i16 993, i16 1930, i16 192, i16 0, i16 1740, i16 0, i16 3192, i16 1927, i16 802, i16 2849, i16 1064, i16 2109, i16 0, i16 324, i16 144, i16 881, i16 2133, i16 0, i16 2610, i16 171, i16 1129, i16 1378, i16 0, i16 1835, i16 435, i16 760, i16 1324, i16 0, i16 1251, i16 3100, i16 0, i16 835, i16 0, i16 3310, i16 636, i16 594, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2333, i16 1632, i16 3379, i16 3018, i16 3285, i16 388, i16 2748, i16 0, i16 0, i16 0, i16 0, i16 1905, i16 3354, i16 0, i16 2014, i16 0, i16 0, i16 763, i16 0, i16 2011, i16 0, i16 3033, i16 3223, i16 1009, i16 0, i16 1287, i16 292, i16 413, i16 0, i16 0, i16 0, i16 0, i16 31, i16 2143, i16 2128, i16 1878, i16 956, i16 822, i16 2430, i16 311, i16 0, i16 0, i16 2313, i16 1256, i16 2956, i16 0, i16 224, i16 0, i16 2965, i16 109, i16 634, i16 1431, i16 2465, i16 0, i16 0, i16 0, i16 1775, i16 2462, i16 1090, i16 778, i16 3271, i16 1819, i16 0, i16 2645, i16 291, i16 0, i16 1904, i16 0, i16 182, i16 536, i16 0, i16 0, i16 1203, i16 827, i16 294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8, i16 2005, i16 15, i16 2031, i16 3269, i16 3297, i16 3319, i16 0, i16 3213, i16 3241, i16 3259, i16 0, i16 295, i16 133, i16 2811, i16 1707, i16 1915, i16 0, i16 154, i16 174, i16 3416, i16 2448, i16 1144, i16 0, i16 0, i16 0, i16 0, i16 890, i16 1865, i16 1368, i16 1496, i16 1868, i16 1050, i16 1823, i16 2389, i16 1264, i16 752, i16 2456, i16 0, i16 0, i16 356, i16 1336, i16 2116, i16 978, i16 1831, i16 0, i16 2068, i16 1215, i16 705, i16 1044, i16 0, i16 702, i16 0, i16 0, i16 129, i16 0, i16 0, i16 2364, i16 0, i16 0, i16 1312, i16 0, i16 0, i16 16, i16 0, i16 3244, i16 1133, i16 3078, i16 1139, i16 0, i16 2478, i16 0, i16 422, i16 2573, i16 2007, i16 1097, i16 812, i16 0, i16 0, i16 0, i16 665, i16 0, i16 0, i16 0, i16 0, i16 1736, i16 0, i16 2157, i16 549, i16 3165, i16 0, i16 0, i16 0, i16 1271, i16 0, i16 219, i16 0, i16 0, i16 0, i16 1783, i16 0, i16 0, i16 397, i16 3383, i16 0, i16 0, i16 0, i16 2279, i16 3375, i16 1052, i16 0, i16 0, i16 1712, i16 546, i16 1798, i16 3309, i16 0, i16 380, i16 0, i16 0, i16 3038, i16 0, i16 1621, i16 1122, i16 711, i16 3222, i16 2742, i16 0, i16 1701, i16 1053, i16 0, i16 3327, i16 1922, i16 0, i16 1800, i16 1731, i16 0, i16 2516, i16 655, i16 0, i16 2358, i16 2393, i16 2464, i16 2494, i16 2580, i16 2679, i16 2743, i16 2788, i16 2824, i16 2858, i16 2935, i16 2982, i16 3101, i16 3153, i16 3276, i16 2438, i16 2488, i16 2757, i16 2052, i16 2144, i16 2286, i16 2337, i16 2400, i16 2452, i16 2738, i16 2779, i16 2845, i16 2887, i16 3020, i16 3134, i16 3188, i16 3102, i16 1847, i16 2733, i16 2758, i16 1560, i16 1535, i16 824, i16 1822, i16 0, i16 0, i16 2816, i16 2380, i16 0, i16 1228, i16 0, i16 2366, i16 2378, i16 1968, i16 1599, i16 2042, i16 1318, i16 1338, i16 1569, i16 300, i16 0, i16 2873, i16 2320, i16 0, i16 2893, i16 1706, i16 0, i16 1916, i16 0, i16 3129, i16 590, i16 0, i16 0, i16 2836, i16 0, i16 37, i16 0, i16 0, i16 0, i16 551, i16 3155, i16 3177, i16 1951, i16 1056, i16 1855, i16 3247, i16 562, i16 3208, i16 3294, i16 862, i16 0, i16 3055, i16 1453, i16 1626, i16 296, i16 1871, i16 0, i16 1069, i16 0, i16 1767, i16 1776, i16 58, i16 2992, i16 611, i16 2607, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1941, i16 2347, i16 1813, i16 0, i16 2203, i16 1148, i16 0, i16 0, i16 1667, i16 0, i16 0, i16 162, i16 108, i16 0, i16 1211, i16 1063, i16 83, i16 2249, i16 0, i16 1288, i16 832, i16 0, i16 826, i16 88, i16 1434, i16 0, i16 0, i16 0, i16 2087, i16 2773, i16 1852, i16 1921, i16 2220, i16 0, i16 2627, i16 1333, i16 1120, i16 1902, i16 0, i16 1079, i16 1073, i16 305, i16 0, i16 3074, i16 2755, i16 2628, i16 2244, i16 547, i16 0, i16 527, i16 0, i16 428, i16 0, i16 0, i16 3130, i16 3158, i16 3180, i16 3200, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1601, i16 2058, i16 1332, i16 0, i16 0, i16 242, i16 0, i16 0, i16 0, i16 0, i16 3335, i16 374, i16 1877, i16 2903, i16 2726, i16 0, i16 2131, i16 325, i16 1807, i16 378, i16 1606, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 429, i16 172, i16 201, i16 0, i16 585, i16 0, i16 0, i16 2913, i16 351, i16 698, i16 2264, i16 2187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1104, i16 1114, i16 2003, i16 2029, i16 2056, i16 2083, i16 2103, i16 2120, i16 2145, i16 2173, i16 2195, i16 2228, i16 2256, i16 2277, i16 2302, i16 2328, i16 2346, i16 2363, i16 2388, i16 2408, i16 2429, i16 2454, i16 2472, i16 1406, i16 2507, i16 2533, i16 2553, i16 2578, i16 2601, i16 2623, i16 2640, i16 2667, i16 597, i16 0, i16 0, i16 1363, i16 0, i16 0, i16 0, i16 244, i16 474, i16 0, i16 0, i16 0, i16 229, i16 0, i16 481, i16 0, i16 0, i16 2531, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2275, i16 0, i16 0, i16 2357, i16 548, i16 0, i16 1670, i16 701, i16 2901, i16 3404, i16 0, i16 1067, i16 2008, i16 2577, i16 1844, i16 1659, i16 2564, i16 0, i16 2905, i16 3220, i16 442, i16 0, i16 1407, i16 0, i16 1416, i16 0, i16 1663, i16 1036, i16 0, i16 0, i16 2548, i16 3088, i16 0, i16 473, i16 0, i16 2486, i16 2659, i16 3143, i16 0, i16 1861, i16 1881, i16 0, i16 629, i16 840, i16 2519, i16 3068, i16 2012, i16 0, i16 0, i16 2149, i16 1739, i16 3303, i16 949, i16 577, i16 725, i16 658, i16 146, i16 67, i16 2916, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 945, i16 0, i16 0, i16 505, i16 469, i16 3166, i16 3209, i16 1883, i16 0, i16 0, i16 0, i16 1540, i16 0, i16 3332, i16 3072, i16 2593, i16 1610, i16 1257, i16 0, i16 0, i16 578, i16 0, i16 2394, i16 1766, i16 959, i16 1218, i16 0, i16 0, i16 0, i16 632, i16 0, i16 623, i16 1068, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 348, i16 1624, i16 1315, i16 0, i16 878, i16 3095, i16 116, i16 2426, i16 0, i16 737, i16 1466, i16 13, i16 212, i16 0, i16 3315, i16 831, i16 0, i16 2670, i16 1635, i16 1612, i16 0, i16 0, i16 0, i16 1357, i16 709, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1630, i16 2934, i16 488, i16 157, i16 1327, i16 2054, i16 2407, i16 450, i16 0, i16 981, i16 1135, i16 0, i16 1918, i16 1189, i16 729, i16 2427, i16 0, i16 0, i16 2739, i16 3291, i16 0, i16 675, i16 1834, i16 0, i16 1080, i16 589, i16 1415, i16 2537, i16 2406, i16 119, i16 1393, i16 2387, i16 2910, i16 1897, i16 0, i16 1310, i16 1690, i16 0, i16 2988, i16 0, i16 0, i16 0, i16 0, i16 3322, i16 1048, i16 1399, i16 0, i16 1023, i16 0, i16 1361, i16 1617, i16 375, i16 1699, i16 1778, i16 914, i16 1033, i16 0, i16 1334, i16 0, i16 1279, i16 0, i16 0, i16 1952, i16 210, i16 354, i16 0, i16 1738, i16 2881, i16 2283, i16 0, i16 2451, i16 861, i16 3006, i16 0, i16 2800, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1313, i16 1417, i16 2287, i16 1703, i16 2137, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 866, i16 622, i16 1316, i16 1408, i16 1820, i16 898, i16 1728, i16 2600, i16 1320, i16 2332, i16 2813, i16 2630, i16 0, i16 0, i16 427, i16 0, i16 69, i16 459, i16 3043, i16 445, i16 0, i16 1640, i16 706, i16 3050, i16 0, i16 1658, i16 0, i16 0, i16 0, i16 2288, i16 3051, i16 0, i16 1638, i16 402, i16 0, i16 2886, i16 1350, i16 74, i16 0, i16 0, i16 105, i16 266, i16 1214, i16 0, i16 0, i16 0, i16 723, i16 2198, i16 1895, i16 1356, i16 893, i16 535, i16 2248, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2209, i16 3391, i16 0, i16 1254, i16 72, i16 0, i16 2918, i16 3376, i16 2631, i16 1889, i16 2329, i16 2112, i16 2967, i16 0, i16 2831, i16 0, i16 433, i16 2626, i16 2664, i16 1403, i16 1604, i16 0, i16 656, i16 2227, i16 0, i16 0, i16 3181, i16 0, i16 0, i16 933, i16 1146, i16 750, i16 2439, i16 503, i16 1715, i16 885, i16 1784, i16 432, i16 2153, i16 2176, i16 2206, i16 2237, i16 2265, i16 2284, i16 2308, i16 2121, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3054, i16 3082, i16 3103, i16 3126, i16 3151, i16 3171, i16 3193, i16 36, i16 877, i16 0, i16 758, i16 0, i16 1301, i16 147, i16 1262, i16 1072, i16 1616, i16 0, i16 0, i16 0, i16 0, i16 1774, i16 2051, i16 1567, i16 0, i16 2435, i16 2483, i16 0, i16 905, i16 0, i16 2397, i16 256, i16 1851, i16 0, i16 303, i16 0, i16 0, i16 0, i16 0, i16 0, i16 882, i16 0, i16 0, i16 0, i16 1094, i16 1733, i16 1409, i16 0, i16 0, i16 464, i16 0, i16 1880, i16 707, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1243, i16 1963, i16 767, i16 0, i16 0, i16 0, i16 992, i16 0, i16 1571, i16 3334, i16 0, i16 1719, i16 3036, i16 0, i16 2676, i16 624, i16 728, i16 1261, i16 798, i16 1493, i16 0, i16 0, i16 2702, i16 1526, i16 746, i16 3183, i16 0, i16 1046, i16 0, i16 1462, i16 0, i16 2576, i16 1293, i16 3333, i16 0, i16 0, i16 0, i16 3324, i16 1549, i16 0, i16 0, i16 0, i16 2681, i16 1041, i16 2798, i16 1516, i16 1143, i16 1949, i16 1598, i16 390, i16 1236, i16 1448, i16 2829, i16 2432, i16 298, i16 304, i16 2980, i16 336, i16 0, i16 284, i16 0, i16 533, i16 0, i16 0, i16 0, i16 2741, i16 3407, i16 0, i16 2760, i16 1224, i16 100, i16 0, i16 151, i16 0, i16 2885, i16 0, i16 3272, i16 3398, i16 2167, i16 0, i16 0, i16 2175, i16 2184, i16 2196, i16 2191, i16 2205, i16 2307, i16 2222, i16 2322, i16 2214, i16 2343, i16 2229, i16 2348, i16 2236, i16 2490, i16 2508, i16 2534, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 376, i16 3202, i16 1158, i16 0, i16 0, i16 712, i16 1994, i16 906, i16 0, i16 0, i16 0, i16 751, i16 692, i16 1372, i16 936, i16 2146, i16 1829, i16 1474, i16 357, i16 1618, i16 930, i16 2381, i16 2392, i16 0, i16 0, i16 0, i16 46, i16 3256, i16 0, i16 0, i16 0, i16 0, i16 2425, i16 519, i16 0, i16 2466, i16 3340, i16 0, i16 0, i16 0, i16 0, i16 2559, i16 3233, i16 2995, i16 281, i16 0, i16 2685, i16 1680, i16 3175, i16 2402, i16 2752, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1770, i16 1105, i16 3059, i16 1340, i16 801, i16 0, i16 521, i16 0, i16 2170, i16 0, i16 0, i16 1154, i16 0, i16 0, i16 1583, i16 22, i16 2652, i16 3211, i16 0, i16 0, i16 0, i16 0, i16 361, i16 0, i16 928, i16 0, i16 0, i16 3089, i16 557, i16 815, i16 0, i16 0, i16 1325, i16 2950, i16 1110, i16 2310, i16 2113, i16 0, i16 2115, i16 2330, i16 635, i16 2418, i16 967, i16 0, i16 230, i16 666, i16 1709, i16 0, i16 0, i16 1456, i16 2370, i16 3060, i16 0, i16 0, i16 1392, i16 851, i16 342, i16 805, i16 1854, i16 0, i16 2433, i16 3281, i16 1787, i16 2535, i16 0, i16 576, i16 2700, i16 1987, i16 0, i16 0, i16 2549, i16 407, i16 2174, i16 2957, i16 0, i16 0, i16 0, i16 0, i16 1993, i16 1413, i16 175, i16 0, i16 912, i16 2161, i16 0, i16 976, i16 2039, i16 649, i16 0, i16 1239, i16 2979, i16 1111, i16 1849, i16 1078, i16 0, i16 662, i16 668, i16 964, i16 0, i16 3314, i16 595, i16 3120, i16 3152, i16 592, i16 2687, i16 0, i16 2804, i16 2828, i16 2847, i16 2796, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1465, i16 2612, i16 2633, i16 2655, i16 2675, i16 2699, i16 2724, i16 2747, i16 2774, i16 2799, i16 2821, i16 2840, i16 2864, i16 2882, i16 2899, i16 2925, i16 641, i16 781, i16 0, i16 1996, i16 1613, i16 856, i16 1929, i16 1924, i16 0, i16 1781, i16 240, i16 1192, i16 35, i16 787, i16 3197, i16 1593, i16 3081, i16 2927, i16 0, i16 2686, i16 0, i16 1235, i16 0, i16 104, i16 1505, i16 0, i16 0, i16 0, i16 579, i16 3412, i16 2998, i16 1990, i16 2945, i16 2975, i16 2994, i16 3015, i16 3035, i16 0, i16 0, i16 0, i16 1742, i16 3070, i16 3093, i16 3116, i16 3137, i16 3162, i16 3186, i16 3203, i16 3226, i16 3250, i16 3270, i16 3298, i16 3320, i16 3345, i16 3366, i16 3390, i16 3411, i16 1976, i16 1998, i16 2025, i16 2049, i16 2075, i16 0, i16 0, i16 142, i16 0, i16 1213, i16 0, i16 560, i16 1166, i16 3001, i16 290, i16 0, i16 1536, i16 0, i16 633, i16 1309, i16 0, i16 1856, i16 1026, i16 0, i16 0, i16 591, i16 0, i16 0, i16 773, i16 0, i16 571, i16 2590, i16 110, i16 0, i16 0, i16 0, i16 0, i16 41, i16 621, i16 3218, i16 312, i16 3150, i16 431, i16 1894, i16 0, i16 963, i16 1790, i16 2952, i16 1558, i16 3199, i16 3142, i16 0, i16 2889, i16 0, i16 2761, i16 0, i16 0, i16 0, i16 0, i16 892, i16 0, i16 0, i16 0, i16 2869, i16 2877, i16 955, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1688, i16 313, i16 1710, i16 0, i16 1647, i16 0, i16 0, i16 0, i16 0, i16 0, i16 150, i16 383, i16 0, i16 0, i16 957, i16 1268, i16 0, i16 0, i16 1199, i16 3255, i16 2586, i16 1183, i16 0, i16 0, i16 0, i16 405, i16 2764, i16 818, i16 543, i16 293, i16 1017, i16 4, i16 3225, i16 0, i16 1984, i16 0, i16 0, i16 0, i16 3091, i16 2000, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 639, i16 0, i16 1428, i16 0, i16 444, i16 0, i16 718, i16 2251, i16 0, i16 0, i16 2306, i16 2181, i16 0, i16 2458, i16 0, i16 3083, i16 99, i16 0, i16 0, i16 479, i16 2260, i16 3064, i16 0, i16 3343, i16 0, i16 103, i16 1210, i16 727, i16 1469, i16 3339, i16 582, i16 0, i16 1956, i16 0, i16 0, i16 2223, i16 63, i16 203, i16 1208, i16 2141, i16 1238, i16 344, i16 2415, i16 796, i16 3323, i16 1692, i16 3117, i16 0, i16 0, i16 1653, i16 1175, i16 2446, i16 448, i16 327, i16 1928, i16 2706, i16 2713, i16 2826, i16 421, i16 2832, i16 0, i16 0, i16 113, i16 0, i16 2108, i16 1607, i16 2217, i16 1839, i16 2023, i16 679, i16 1275, i16 766, i16 252, i16 2789, i16 1391, i16 2872, i16 274, i16 1438, i16 0, i16 0, i16 1396, i16 1625, i16 0, i16 0, i16 0, i16 0, i16 561, i16 616, i16 790, i16 1691, i16 0, i16 1628, i16 1443, i16 3221, i16 0, i16 1700, i16 0, i16 1495, i16 1353, i16 2437, i16 59, i16 0, i16 2539, i16 1940, i16 0, i16 0, i16 0, i16 254, i16 0, i16 1439, i16 988, i16 369, i16 102, i16 195, i16 682, i16 0, i16 0, i16 1765, i16 0, i16 1704, i16 0, i16 704, i16 0, i16 554, i16 1222, i16 2784, i16 0, i16 0, i16 0, i16 559, i16 0, i16 0, i16 0, i16 302, i16 0, i16 0, i16 0, i16 0, i16 3284, i16 3234, i16 0, i16 2463, i16 3071, i16 1802, i16 1232, i16 0, i16 264, i16 0, i16 2868, i16 908, i16 0, i16 0, i16 0, i16 178, i16 0, i16 228, i16 0, i16 871, i16 0, i16 0, i16 0, i16 257, i16 0, i16 673, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 952, i16 416, i16 0, i16 419, i16 1936, i16 1503, i16 0, i16 319, i16 0, i16 0, i16 3342, i16 0, i16 0, i16 3174, i16 735, i16 39, i16 0, i16 1062, i16 573, i16 1594, i16 1168, i16 0, i16 962, i16 1441, i16 1173, i16 3084, i16 864, i16 0, i16 1970, i16 227, i16 3114, i16 0, i16 0, i16 1753, i16 1761, i16 1194, i16 0, i16 0, i16 0, i16 2094, i16 2122, i16 2154, i16 2177, i16 2207, i16 2238, i16 2266, i16 2285, i16 2309, i16 2335, i16 2355, i16 2376, i16 2396, i16 2417, i16 2442, i16 2468, i16 1292, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1451, i16 2589, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1401, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2475, i16 1869, i16 0, i16 0, i16 1317, i16 1059, i16 2777, i16 2728, i16 0, i16 0, i16 0, i16 0, i16 417, i16 1081, i16 1911, i16 0, i16 0, i16 0, i16 0, i16 3307, i16 1038, i16 0, i16 0, i16 0, i16 0, i16 2099, i16 575, i16 0, i16 0, i16 0, i16 2896, i16 2637, i16 3243, i16 0, i16 1141, i16 123, i16 1498, i16 1988, i16 2513, i16 0, i16 55, i16 2772, i16 2356, i16 1373, i16 1605, i16 0, i16 287, i16 3052, i16 0, i16 355, i16 765, i16 0, i16 0, i16 2781, i16 0, i16 2797, i16 1573, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 941, i16 1909, i16 2552, i16 0, i16 0, i16 0, i16 2276, i16 0, i16 38, i16 0, i16 1874, i16 50, i16 0, i16 0, i16 1380, i16 684, i16 0, i16 0, i16 411, i16 755, i16 1983, i16 2613, i16 0, i16 0, i16 0, i16 1478, i16 137, i16 0, i16 2544, i16 0, i16 2219, i16 332, i16 1455, i16 3350, i16 2325, i16 1294, i16 1946, i16 1028, i16 2062, i16 1445, i16 0, i16 0, i16 0, i16 797, i16 0, i16 1395, i16 0, i16 441, i16 499, i16 2823, i16 1890, i16 495, i16 1490, i16 3148, i16 1071, i16 1716, i16 3295, i16 0, i16 0, i16 937, i16 1797, i16 1246, i16 3205, i16 0, i16 946, i16 0, i16 2731, i16 0, i16 285, i16 0, i16 0, i16 0, i16 2459, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 384, i16 204, i16 2735, i16 716, i16 0, i16 0, i16 0, i16 153, i16 3347, i16 0, i16 0, i16 0, i16 2489, i16 2482, i16 1419, i16 2703, i16 2226, i16 1471, i16 0, i16 1418, i16 951, i16 0, i16 0, i16 0, i16 0, i16 232, i16 0, i16 0, i16 3326, i16 0, i16 0, i16 1470, i16 0, i16 0, i16 494, i16 0, i16 107, i16 2409, i16 1769, i16 1058, i16 3261, i16 0, i16 3147, i16 1285, i16 0, i16 1351, i16 3362, i16 0, i16 1204, i16 695, i16 0, i16 360, i16 1539, i16 2634, i16 0, i16 0, i16 2250, i16 0, i16 95, i16 3034, i16 1815, i16 0, i16 2993, i16 52, i16 1722, i16 0, i16 0, i16 0, i16 1276, i16 3172, i16 2199, i16 808, i16 786, i16 2361, i16 0, i16 1458, i16 2215, i16 0, i16 483, i16 3230, i16 1206, i16 2183, i16 2213, i16 2245, i16 2268, i16 2289, i16 2315, i16 2339, i16 2354, i16 2375, i16 2395, i16 2416, i16 2441, i16 2467, i16 2477, i16 2753, i16 2517, i16 2547, i16 2566, i16 2587, i16 2611, i16 2632, i16 2654, i16 2674, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 439, i16 2127, i16 2746, i16 3195, i16 2974, i16 0, i16 9, i16 1157, i16 1986, i16 1055, i16 1178, i16 0, i16 436, i16 0, i16 3388, i16 3048, i16 654, i16 0, i16 3058, i16 0, i16 1545, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2515, i16 0, i16 1221, i16 1099, i16 187, i16 2092, i16 1463, i16 2647, i16 2803, i16 0, i16 0, i16 0, i16 0, i16 1031, i16 2658, i16 0, i16 1836, i16 0, i16 0, i16 47, i16 2879, i16 3019, i16 2166, i16 0, i16 0, i16 1843, i16 0, i16 0, i16 398, i16 0, i16 1848, i16 874, i16 297, i16 0, i16 0, i16 0, i16 1686, i16 613, i16 3002, i16 2931, i16 2867, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2754, i16 2503, i16 2391, i16 3065, i16 3110, i16 3138, i16 3163, i16 3190, i16 3229, i16 3288, i16 3338, i16 3357, i16 2036, i16 2070, i16 2097, i16 2129, i16 2156, i16 2186, i16 2247, i16 2274, i16 2298, i16 2344, i16 2365, i16 2019, i16 2801, i16 2684, i16 2405, i16 3341, i16 3027, i16 3348, i16 3422, i16 2091, i16 1485, i16 0, i16 3010, i16 902, i16 0, i16 0, i16 1948, i16 0, i16 0, i16 0, i16 309, i16 0, i16 3418, i16 484, i16 0, i16 0, i16 2567, i16 1944, i16 0, i16 1724, i16 0, i16 1777, i16 492, i16 81, i16 688, i16 1714, i16 1499, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2770, i16 3075, i16 1804, i16 0, i16 1227, i16 1751, i16 2936, i16 0, i16 0, i16 0, i16 121, i16 0, i16 1180, i16 1364, i16 1322, i16 3112, i16 588, i16 347, i16 1982, i16 2162, i16 2938, i16 2304, i16 3215, i16 2528, i16 0, i16 0, i16 0, i16 2814, i16 1442, i16 71, i16 0, i16 593, i16 2775, i16 2240, i16 1741, i16 0, i16 0, i16 0, i16 2692, i16 1966, i16 0, i16 379, i16 1102, i16 3000, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1745, i16 0, i16 0, i16 0, i16 3161, i16 1057, i16 2683, i16 222, i16 2338, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1749, i16 2524, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2334, i16 2349, i16 2368, i16 2390, i16 2411, i16 2434, i16 2461, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3214, i16 3242, i16 3260, i16 3283, i16 3308, i16 3330, i16 3352, i16 0, i16 0, i16 0, i16 0, i16 0, i16 989, i16 982, i16 0, i16 0, i16 0, i16 0, i16 1938, i16 0, i16 0, i16 1681, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 991, i16 0, i16 730, i16 2911, i16 0, i16 0, i16 0, i16 1899, i16 2028, i16 185, i16 2512, i16 2569, i16 2673, i16 2267, i16 2806, i16 2941, i16 2540, i16 2923, i16 2086, i16 0, i16 1892, i16 0, i16 903, i16 2920, i16 2592, i16 2751, i16 1093, i16 1708, i16 0, i16 3005, i16 19, i16 3356, i16 2527, i16 216, i16 2619, i16 2188, i16 2557, i16 627, i16 748, i16 135, i16 1344, i16 0, i16 872, i16 1018, i16 2790, i16 2776, i16 0, i16 669, i16 2721, i16 73, i16 2139, i16 1278, i16 188, i16 0, i16 2662, i16 0, i16 0, i16 0, i16 0, i16 550, i16 1484, i16 1083, i16 1303, i16 3238, i16 2783, i16 2805, i16 2688, i16 2891, i16 2839, i16 2863, i16 2572, i16 2624, i16 2641, i16 2588, i16 2709, i16 2944, i16 2718, i16 2740, i16 2768, i16 2820, i16 2871, i16 2579, i16 2698, i16 215, i16 2959, i16 844, i16 2151, i16 2984, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2272, i16 0, i16 2155, i16 2445, i16 371, i16 1070, i16 2953, i16 1633, i16 389, i16 1272, i16 691, i16 1365, i16 1759, i16 2857, i16 1045, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2902, i16 2263, i16 170, i16 855, i16 3113, i16 685, i16 1379, i16 1226, i16 2082, i16 1311, i16 1643, i16 0, i16 3040, i16 1768, i16 1995, i16 1623, i16 2088, i16 3022, i16 1425, i16 1170, i16 2282, i16 0, i16 0, i16 923, i16 1515, i16 1300, i16 3090, i16 2476, i16 1914, i16 289, i16 587, i16 1937, i16 2546, i16 2536, i16 1449, i16 2962, i16 3207, i16 0, i16 1519, i16 1259, i16 968, i16 1590, i16 2371, i16 3066, i16 1249, i16 173, i16 759, i16 1945, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 526, i16 2096, i16 0, i16 0, i16 0, i16 0, i16 3367, i16 0, i16 541, i16 2231, i16 954, i16 0, i16 0, i16 237, i16 0, i16 0, i16 430, i16 0, i16 0, i16 0, i16 2081, i16 726, i16 2020, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 939, i16 23, i16 0, i16 3109, i16 0, i16 0, i16 0, i16 0, i16 3252, i16 2599, i16 0, i16 965, i16 2221, i16 420, i16 1386, i16 0, i16 1734, i16 0, i16 1824, i16 0, i16 0, i16 0, i16 1969, i16 2259, i16 1509, i16 0, i16 1580, i16 1887, i16 2712, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 194, i16 0, i16 2134, i16 2568, i16 2649, i16 226, i16 663, i16 2048, i16 1862, i16 2460, i16 1400, i16 1299, i16 3369, i16 0, i16 0, i16 1867, i16 465, i16 2620, i16 916, i16 771, i16 940, i16 233, i16 0, i16 3132, i16 2132, i16 720, i16 1020, i16 2050, i16 0, i16 2316, i16 1723, i16 3351, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2246, i16 2032, i16 0, i16 326, i16 3387, i16 714, i16 475, i16 0, i16 1673, i16 0, i16 0, i16 1743, i16 0, i16 3145, i16 0, i16 0, i16 1258, i16 1240, i16 1830, i16 0, i16 70, i16 0, i16 163, i16 0, i16 2817, i16 1230, i16 2481, i16 2253, i16 2880, i16 2551, i16 2701, i16 115, i16 2851, i16 2292, i16 434, i16 0, i16 0, i16 1420, i16 1152, i16 2150, i16 3201, i16 2498, i16 3224, i16 77, i16 0, i16 0, i16 0, i16 690, i16 2538, i16 1903, i16 1901, i16 2812, i16 3396, i16 1959, i16 3023, i16 0, i16 0, i16 0, i16 0, i16 1671, i16 258, i16 1060, i16 0, i16 1587, i16 191, i16 775, i16 935, i16 0, i16 0, i16 743, i16 2615, i16 1010, i16 0, i16 0, i16 0, i16 181, i16 3300, i16 372, i16 0, i16 1689, i16 749, i16 1695, i16 0, i16 2542, i16 2359, i16 418, i16 1730, i16 2771, i16 1735, i16 2470, i16 453, i16 2352, i16 2608, i16 143, i16 1337, i16 2160, i16 1339, i16 1352, i16 78, i16 3124, i16 983, i16 249, i16 0, i16 0, i16 3087, i16 1757, i16 2997, i16 2038, i16 1472, i16 2837, i16 619, i16 3414, i16 3053, i16 79, i16 2061, i16 1885, i16 1132, i16 2055, i16 3118, i16 604, i16 0, i16 0, i16 0, i16 1608, i16 744, i16 0, i16 2560, i16 0, i16 980, i16 1785, i16 301, i16 1489, i16 0, i16 853, i16 2293, i16 1792, i16 0, i16 0, i16 98, i16 1805, i16 456, i16 997, i16 0, i16 849, i16 1011, i16 821, i16 518, i16 0, i16 0, i16 605, i16 630, i16 0, i16 0, i16 0, i16 0, i16 1185, i16 0, i16 0, i16 0, i16 7, i16 0, i16 0, i16 0, i16 609, i16 2570, i16 2946, i16 345, i16 2856, i16 0, i16 415, i16 0, i16 0, i16 0, i16 0, i16 1360, i16 0, i16 2035, i16 1771, i16 2525, i16 0, i16 0, i16 0, i16 0, i16 846, i16 1720, i16 3361, i16 648, i16 132, i16 2252, i16 2080, i16 506, i16 0, i16 0, i16 0, i16 860, i16 214, i16 1522, i16 2819, i16 2671, i16 1051, i16 1551, i16 3107, i16 0, i16 0, i16 0, i16 1806, i16 1286, i16 2745, i16 1782, i16 870, i16 2022, i16 1935, i16 0, i16 1669, i16 809, i16 130, i16 0, i16 299, i16 0, i16 0, i16 2707, i16 2410, i16 0, i16 2602, i16 762, i16 3290, i16 3265, i16 2717, i16 85, i16 1597, i16 2341, i16 1763, i16 612, i16 2140, i16 2694, i16 664, i16 3299, i16 1042, i16 0, i16 1486, i16 1786, i16 2047, i16 2827, i16 1464, i16 3012, i16 2190, i16 0, i16 0, i16 196, i16 2942, i16 0, i16 837, i16 1586, i16 0, i16 1461, i16 710, i16 3077, i16 0, i16 996, i16 0, i16 0, i16 1237, i16 917, i16 457, i16 2194, i16 2954, i16 1220, i16 2780, i16 1444, i16 0, i16 0, i16 676, i16 1788, i16 0, i16 0, i16 971, i16 0, i16 652, i16 0, i16 0, i16 0, i16 0, i16 678, i16 2261, i16 0, i16 0, i16 674, i16 816, i16 2843, i16 286, i16 2900, i16 0, i16 2861, i16 563, i16 567, i16 2255, i16 2850, i16 1872, i16 2321, i16 1947, i16 0, i16 0, i16 854, i16 282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 14592, i16 0, i16 0, i16 0, i16 15360, i16 0, i16 0, i16 0, i16 13825, i16 0, i16 0, i16 0, i16 14338, i16 0, i16 0, i16 0, i16 14595, i16 0, i16 0, i16 0, i16 15620, i16 0, i16 0, i16 0, i16 13317, i16 0, i16 0, i16 0, i16 774, i16 0, i16 0, i16 0, i16 12806, i16 0, i16 0, i16 0, i16 15110, i16 0, i16 0, i16 0, i16 16903, i16 0, i16 0, i16 0, i16 13320, i16 0, i16 0, i16 0, i16 16136, i16 0, i16 0, i16 0, i16 15625, i16 0, i16 0, i16 0, i16 778, i16 0, i16 0, i16 0, i16 13578, i16 0, i16 0, i16 0, i16 14859, i16 0, i16 0, i16 0, i16 12556, i16 0, i16 0, i16 0, i16 14092, i16 0, i16 0, i16 0, i16 16652, i16 0, i16 0, i16 0, i16 12302, i16 0, i16 0, i16 0, i16 15118, i16 0, i16 0, i16 0, i16 17166, i16 0, i16 0, i16 0, i16 12559, i16 0, i16 0, i16 0, i16 12815, i16 0, i16 0, i16 0, i16 12304, i16 0, i16 0, i16 0, i16 14353, i16 0, i16 0, i16 0, i16 16913, i16 0, i16 0, i16 0, i16 14354, i16 0, i16 0, i16 0, i16 14355, i16 0, i16 0, i16 0, i16 16659, i16 0, i16 0, i16 0, i16 13844, i16 0, i16 0, i16 0, i16 13590, i16 0, i16 0, i16 0, i16 13591, i16 0, i16 0, i16 0, i16 15639, i16 0, i16 0, i16 0, i16 280, i16 0, i16 0, i16 0, i16 13336, i16 0, i16 0, i16 0, i16 14616, i16 0, i16 0, i16 0, i16 14105, i16 0, i16 0, i16 0, i16 13594, i16 0, i16 0, i16 0, i16 12571, i16 0, i16 0, i16 0, i16 13340, i16 0, i16 0, i16 0, i16 14620, i16 0, i16 0, i16 0, i16 14365, i16 0, i16 0, i16 0, i16 13854, i16 0, i16 0, i16 0, i16 16926, i16 0, i16 0, i16 0, i16 12831, i16 0, i16 0, i16 0, i16 14623, i16 0, i16 0, i16 0, i16 16415, i16 0, i16 0, i16 0, i16 16671, i16 0, i16 0, i16 0, i16 12576, i16 0, i16 0, i16 0, i16 15648, i16 0, i16 0, i16 0, i16 16928, i16 0, i16 0, i16 0, i16 12833, i16 0, i16 0, i16 0, i16 12322, i16 0, i16 0, i16 0, i16 13346, i16 0, i16 0, i16 0, i16 14370, i16 0, i16 0, i16 0, i16 16418, i16 0, i16 0, i16 0, i16 15907, i16 0, i16 0, i16 0, i16 14631, i16 0, i16 0, i16 0, i16 14632, i16 0, i16 0, i16 0, i16 15400, i16 0, i16 0, i16 0, i16 15656, i16 0, i16 0, i16 0, i16 13353, i16 0, i16 0, i16 0, i16 13609, i16 0, i16 0, i16 0, i16 15145, i16 0, i16 0, i16 0, i16 12330, i16 0, i16 0, i16 0, i16 12587, i16 0, i16 0, i16 0, i16 14891, i16 0, i16 0, i16 0, i16 15147, i16 0, i16 0, i16 0, i16 12588, i16 0, i16 0, i16 0, i16 13868, i16 0, i16 0, i16 0, i16 14381, i16 0, i16 0, i16 0, i16 15149, i16 0, i16 0, i16 0, i16 12334, i16 0, i16 0, i16 0, i16 16430, i16 0, i16 0, i16 0, i16 13359, i16 0, i16 0, i16 0, i16 14383, i16 0, i16 0, i16 0, i16 13616, i16 0, i16 0, i16 0, i16 15664, i16 0, i16 0, i16 0, i16 16432, i16 0, i16 0, i16 0, i16 12593, i16 0, i16 0, i16 0, i16 16945, i16 0, i16 0, i16 0, i16 15666, i16 0, i16 0, i16 0, i16 16690, i16 0, i16 0, i16 0, i16 15923, i16 0, i16 0, i16 0, i16 12340, i16 0, i16 0, i16 0, i16 14388, i16 0, i16 0, i16 0, i16 15924, i16 0, i16 0, i16 0, i16 12853, i16 0, i16 0, i16 0, i16 13112, i16 0, i16 0, i16 0, i16 15928, i16 0, i16 0, i16 0, i16 15929, i16 0, i16 0, i16 0, i16 16185, i16 0, i16 0, i16 0, i16 13626, i16 0, i16 0, i16 0, i16 13882, i16 0, i16 0, i16 0, i16 15930, i16 0, i16 0, i16 0, i16 12347, i16 0, i16 0, i16 0, i16 12603, i16 0, i16 0, i16 0, i16 13627, i16 0, i16 0, i16 0, i16 15675, i16 0, i16 0, i16 0, i16 12860, i16 0, i16 0, i16 0, i16 14396, i16 0, i16 0, i16 0, i16 16444, i16 0, i16 0, i16 0, i16 12351, i16 0, i16 0, i16 0, i16 13631, i16 0, i16 0, i16 0, i16 16703, i16 0, i16 0, i16 0, i16 12353, i16 0, i16 0, i16 0, i16 12865, i16 0, i16 0, i16 0, i16 13377, i16 0, i16 0, i16 0, i16 14145, i16 0, i16 0, i16 0, i16 15425, i16 0, i16 0, i16 0, i16 12866, i16 0, i16 0, i16 0, i16 13634, i16 0, i16 0, i16 0, i16 16962, i16 0, i16 0, i16 0, i16 13380, i16 0, i16 0, i16 0, i16 14916, i16 0, i16 0, i16 0, i16 13125, i16 0, i16 0, i16 0, i16 13893, i16 0, i16 0, i16 0, i16 15429, i16 0, i16 0, i16 0, i16 16709, i16 0, i16 0, i16 0, i16 13638, i16 0, i16 0, i16 0, i16 15430, i16 0, i16 0, i16 0, i16 15686, i16 0, i16 0, i16 0, i16 16966, i16 0, i16 0, i16 0, i16 13383, i16 0, i16 0, i16 0, i16 16455, i16 0, i16 0, i16 0, i16 16456, i16 0, i16 0, i16 0, i16 16712, i16 0, i16 0, i16 0, i16 12361, i16 0, i16 0, i16 0, i16 12617, i16 0, i16 0, i16 0, i16 15177, i16 0, i16 0, i16 0, i16 12874, i16 0, i16 0, i16 0, i16 16970, i16 0, i16 0, i16 0, i16 12875, i16 0, i16 0, i16 0, i16 14412, i16 0, i16 0, i16 0, i16 15948, i16 0, i16 0, i16 0, i16 12621, i16 0, i16 0, i16 0, i16 13646, i16 0, i16 0, i16 0, i16 14414, i16 0, i16 0, i16 0, i16 12623, i16 0, i16 0, i16 0, i16 14159, i16 0, i16 0, i16 0, i16 13136, i16 0, i16 0, i16 0, i16 16464, i16 0, i16 0, i16 0, i16 16976, i16 0, i16 0, i16 0, i16 12882, i16 0, i16 0, i16 0, i16 15698, i16 0, i16 0, i16 0, i16 14419, i16 0, i16 0, i16 0, i16 12373, i16 0, i16 0, i16 0, i16 15957, i16 0, i16 0, i16 0, i16 16981, i16 0, i16 0, i16 0, i16 13398, i16 0, i16 0, i16 0, i16 14934, i16 0, i16 0, i16 0, i16 13400, i16 0, i16 0, i16 0, i16 13145, i16 0, i16 0, i16 0, i16 13402, i16 0, i16 0, i16 0, i16 14682, i16 0, i16 0, i16 0, i16 16730, i16 0, i16 0, i16 0, i16 16986, i16 0, i16 0, i16 0, i16 14939, i16 0, i16 0, i16 0, i16 13148, i16 0, i16 0, i16 0, i16 15708, i16 0, i16 0, i16 0, i16 16476, i16 0, i16 0, i16 0, i16 13149, i16 0, i16 0, i16 0, i16 14173, i16 0, i16 0, i16 0, i16 15453, i16 0, i16 0, i16 0, i16 15709, i16 0, i16 0, i16 0, i16 16733, i16 0, i16 0, i16 0, i16 14174, i16 0, i16 0, i16 0, i16 15710, i16 0, i16 0, i16 0, i16 12383, i16 0, i16 0, i16 0, i16 16735, i16 0, i16 0, i16 0, i16 15712, i16 0, i16 0, i16 0, i16 12641, i16 0, i16 0, i16 0, i16 13409, i16 0, i16 0, i16 0, i16 16226, i16 0, i16 0, i16 0, i16 13923, i16 0, i16 0, i16 0, i16 14179, i16 0, i16 0, i16 0, i16 16483, i16 0, i16 0, i16 0, i16 15716, i16 0, i16 0, i16 0, i16 13414, i16 0, i16 0, i16 0, i16 615, i16 0, i16 0, i16 0, i16 871, i16 0, i16 0, i16 0, i16 12906, i16 0, i16 0, i16 0, i16 14186, i16 0, i16 0, i16 0, i16 14442, i16 0, i16 0, i16 0, i16 14698, i16 0, i16 0, i16 0, i16 16490, i16 0, i16 0, i16 0, i16 12651, i16 0, i16 0, i16 0, i16 13675, i16 0, i16 0, i16 0, i16 13164, i16 0, i16 0, i16 0, i16 13420, i16 0, i16 0, i16 0, i16 15980, i16 0, i16 0, i16 0, i16 13935, i16 0, i16 0, i16 0, i16 13680, i16 0, i16 0, i16 0, i16 16752, i16 0, i16 0, i16 0, i16 13938, i16 0, i16 0, i16 0, i16 15475, i16 0, i16 0, i16 0, i16 15731, i16 0, i16 0, i16 0, i16 12660, i16 0, i16 0, i16 0, i16 15732, i16 0, i16 0, i16 0, i16 14453, i16 0, i16 0, i16 0, i16 14709, i16 0, i16 0, i16 0, i16 15221, i16 0, i16 0, i16 0, i16 12406, i16 0, i16 0, i16 0, i16 13174, i16 0, i16 0, i16 0, i16 12919, i16 0, i16 0, i16 0, i16 16759, i16 0, i16 0, i16 0, i16 15480, i16 0, i16 0, i16 0, i16 14201, i16 0, i16 0, i16 0, i16 15737, i16 0, i16 0, i16 0, i16 15993, i16 0, i16 0, i16 0, i16 16250, i16 0, i16 0, i16 0, i16 12411, i16 0, i16 0, i16 0, i16 636, i16 0, i16 0, i16 0, i16 13180, i16 0, i16 0, i16 0, i16 14460, i16 0, i16 0, i16 0, i16 14716, i16 0, i16 0, i16 0, i16 14972, i16 0, i16 0, i16 0, i16 15228, i16 0, i16 0, i16 0, i16 12669, i16 0, i16 0, i16 0, i16 14205, i16 0, i16 0, i16 0, i16 16765, i16 0, i16 0, i16 0, i16 12926, i16 0, i16 0, i16 0, i16 15486, i16 0, i16 0, i16 0, i16 15742, i16 0, i16 0, i16 0, i16 14207, i16 0, i16 0, i16 0, i16 16767, i16 0, i16 0, i16 0, i16 13185, i16 0, i16 0, i16 0, i16 12931, i16 0, i16 0, i16 0, i16 13187, i16 0, i16 0, i16 0, i16 13699, i16 0, i16 0, i16 0, i16 14467, i16 0, i16 0, i16 0, i16 12421, i16 0, i16 0, i16 0, i16 13701, i16 0, i16 0, i16 0, i16 14725, i16 0, i16 0, i16 0, i16 14981, i16 0, i16 0, i16 0, i16 16261, i16 0, i16 0, i16 0, i16 13190, i16 0, i16 0, i16 0, i16 14214, i16 0, i16 0, i16 0, i16 16006, i16 0, i16 0, i16 0, i16 13703, i16 0, i16 0, i16 0, i16 12425, i16 0, i16 0, i16 0, i16 13705, i16 0, i16 0, i16 0, i16 14473, i16 0, i16 0, i16 0, i16 14985, i16 0, i16 0, i16 0, i16 13962, i16 0, i16 0, i16 0, i16 16266, i16 0, i16 0, i16 0, i16 12939, i16 0, i16 0, i16 0, i16 13453, i16 0, i16 0, i16 0, i16 14221, i16 0, i16 0, i16 0, i16 16013, i16 0, i16 0, i16 0, i16 17037, i16 0, i16 0, i16 0, i16 15503, i16 0, i16 0, i16 0, i16 14737, i16 0, i16 0, i16 0, i16 12946, i16 0, i16 0, i16 0, i16 13458, i16 0, i16 0, i16 0, i16 15506, i16 0, i16 0, i16 0, i16 17042, i16 0, i16 0, i16 0, i16 12435, i16 0, i16 0, i16 0, i16 16019, i16 0, i16 0, i16 0, i16 17043, i16 0, i16 0, i16 0, i16 12948, i16 0, i16 0, i16 0, i16 13972, i16 0, i16 0, i16 0, i16 16532, i16 0, i16 0, i16 0, i16 13975, i16 0, i16 0, i16 0, i16 15768, i16 0, i16 0, i16 0, i16 16793, i16 0, i16 0, i16 0, i16 13466, i16 0, i16 0, i16 0, i16 155, i16 0, i16 0, i16 0, i16 156, i16 0, i16 0, i16 0, i16 13469, i16 0, i16 0, i16 0, i16 16285, i16 0, i16 0, i16 0, i16 12958, i16 0, i16 0, i16 0, i16 13215, i16 0, i16 0, i16 0, i16 13727, i16 0, i16 0, i16 0, i16 14751, i16 0, i16 0, i16 0, i16 15263, i16 0, i16 0, i16 0, i16 15775, i16 0, i16 0, i16 0, i16 12704, i16 0, i16 0, i16 0, i16 16800, i16 0, i16 0, i16 0, i16 13473, i16 0, i16 0, i16 0, i16 14241, i16 0, i16 0, i16 0, i16 15521, i16 0, i16 0, i16 0, i16 16801, i16 0, i16 0, i16 0, i16 12962, i16 0, i16 0, i16 0, i16 15010, i16 0, i16 0, i16 0, i16 15778, i16 0, i16 0, i16 0, i16 15267, i16 0, i16 0, i16 0, i16 14500, i16 0, i16 0, i16 0, i16 165, i16 0, i16 0, i16 0, i16 15781, i16 0, i16 0, i16 0, i16 16293, i16 0, i16 0, i16 0, i16 166, i16 0, i16 0, i16 0, i16 17063, i16 0, i16 0, i16 0, i16 13736, i16 0, i16 0, i16 0, i16 16296, i16 0, i16 0, i16 0, i16 16808, i16 0, i16 0, i16 0, i16 12713, i16 0, i16 0, i16 0, i16 13993, i16 0, i16 0, i16 0, i16 16041, i16 0, i16 0, i16 0, i16 16810, i16 0, i16 0, i16 0, i16 17066, i16 0, i16 0, i16 0, i16 13483, i16 0, i16 0, i16 0, i16 13484, i16 0, i16 0, i16 0, i16 16300, i16 0, i16 0, i16 0, i16 13741, i16 0, i16 0, i16 0, i16 15277, i16 0, i16 0, i16 0, i16 12462, i16 0, i16 0, i16 0, i16 13999, i16 0, i16 0, i16 0, i16 16559, i16 0, i16 0, i16 0, i16 176, i16 0, i16 0, i16 0, i16 16048, i16 0, i16 0, i16 0, i16 13233, i16 0, i16 0, i16 0, i16 14769, i16 0, i16 0, i16 0, i16 16049, i16 0, i16 0, i16 0, i16 16305, i16 0, i16 0, i16 0, i16 13746, i16 0, i16 0, i16 0, i16 13747, i16 0, i16 0, i16 0, i16 180, i16 0, i16 0, i16 0, i16 13237, i16 0, i16 0, i16 0, i16 13749, i16 0, i16 0, i16 0, i16 14773, i16 0, i16 0, i16 0, i16 16309, i16 0, i16 0, i16 0, i16 16821, i16 0, i16 0, i16 0, i16 13750, i16 0, i16 0, i16 0, i16 14263, i16 0, i16 0, i16 0, i16 696, i16 0, i16 0, i16 0, i16 15544, i16 0, i16 0, i16 0, i16 16312, i16 0, i16 0, i16 0, i16 15290, i16 0, i16 0, i16 0, i16 16570, i16 0, i16 0, i16 0, i16 12475, i16 0, i16 0, i16 0, i16 13755, i16 0, i16 0, i16 0, i16 14779, i16 0, i16 0, i16 0, i16 15035, i16 0, i16 0, i16 0, i16 16828, i16 0, i16 0, i16 0, i16 15037, i16 0, i16 0, i16 0, i16 14526, i16 0, i16 0, i16 0, i16 15294, i16 0, i16 0, i16 0, i16 16832, i16 0, i16 0, i16 0, i16 15809, i16 0, i16 0, i16 0, i16 13506, i16 0, i16 0, i16 0, i16 16066, i16 0, i16 0, i16 0, i16 16834, i16 0, i16 0, i16 0, i16 12739, i16 0, i16 0, i16 0, i16 13763, i16 0, i16 0, i16 0, i16 12740, i16 0, i16 0, i16 0, i16 13764, i16 0, i16 0, i16 0, i16 16068, i16 0, i16 0, i16 0, i16 15045, i16 0, i16 0, i16 0, i16 15301, i16 0, i16 0, i16 0, i16 14278, i16 0, i16 0, i16 0, i16 12743, i16 0, i16 0, i16 0, i16 14791, i16 0, i16 0, i16 0, i16 17095, i16 0, i16 0, i16 0, i16 13768, i16 0, i16 0, i16 0, i16 15560, i16 0, i16 0, i16 0, i16 12745, i16 0, i16 0, i16 0, i16 13513, i16 0, i16 0, i16 0, i16 13514, i16 0, i16 0, i16 0, i16 13770, i16 0, i16 0, i16 0, i16 14027, i16 0, i16 0, i16 0, i16 17099, i16 0, i16 0, i16 0, i16 13516, i16 0, i16 0, i16 0, i16 17100, i16 0, i16 0, i16 0, i16 14285, i16 0, i16 0, i16 0, i16 16845, i16 0, i16 0, i16 0, i16 12494, i16 0, i16 0, i16 0, i16 14798, i16 0, i16 0, i16 0, i16 17102, i16 0, i16 0, i16 0, i16 16079, i16 0, i16 0, i16 0, i16 13520, i16 0, i16 0, i16 0, i16 14032, i16 0, i16 0, i16 0, i16 14288, i16 0, i16 0, i16 0, i16 14800, i16 0, i16 0, i16 0, i16 14289, i16 0, i16 0, i16 0, i16 15569, i16 0, i16 0, i16 0, i16 17105, i16 0, i16 0, i16 0, i16 13778, i16 0, i16 0, i16 0, i16 14034, i16 0, i16 0, i16 0, i16 14803, i16 0, i16 0, i16 0, i16 16083, i16 0, i16 0, i16 0, i16 14805, i16 0, i16 0, i16 0, i16 15829, i16 0, i16 0, i16 0, i16 16597, i16 0, i16 0, i16 0, i16 16853, i16 0, i16 0, i16 0, i16 16598, i16 0, i16 0, i16 0, i16 12503, i16 0, i16 0, i16 0, i16 13527, i16 0, i16 0, i16 0, i16 16088, i16 0, i16 0, i16 0, i16 12761, i16 0, i16 0, i16 0, i16 13785, i16 0, i16 0, i16 0, i16 14809, i16 0, i16 0, i16 0, i16 12508, i16 0, i16 0, i16 0, i16 13276, i16 0, i16 0, i16 0, i16 13532, i16 0, i16 0, i16 0, i16 15836, i16 0, i16 0, i16 0, i16 16348, i16 0, i16 0, i16 0, i16 17116, i16 0, i16 0, i16 0, i16 14045, i16 0, i16 0, i16 0, i16 15837, i16 0, i16 0, i16 0, i16 14558, i16 0, i16 0, i16 0, i16 15326, i16 0, i16 0, i16 0, i16 14047, i16 0, i16 0, i16 0, i16 12768, i16 0, i16 0, i16 0, i16 15584, i16 0, i16 0, i16 0, i16 225, i16 0, i16 0, i16 0, i16 13793, i16 0, i16 0, i16 0, i16 13027, i16 0, i16 0, i16 0, i16 14819, i16 0, i16 0, i16 0, i16 16099, i16 0, i16 0, i16 0, i16 16867, i16 0, i16 0, i16 0, i16 14052, i16 0, i16 0, i16 0, i16 17124, i16 0, i16 0, i16 0, i16 14821, i16 0, i16 0, i16 0, i16 15077, i16 0, i16 0, i16 0, i16 13286, i16 0, i16 0, i16 0, i16 12519, i16 0, i16 0, i16 0, i16 12775, i16 0, i16 0, i16 0, i16 13031, i16 0, i16 0, i16 0, i16 14311, i16 0, i16 0, i16 0, i16 14823, i16 0, i16 0, i16 0, i16 13800, i16 0, i16 0, i16 0, i16 16616, i16 0, i16 0, i16 0, i16 14057, i16 0, i16 0, i16 0, i16 14826, i16 0, i16 0, i16 0, i16 15594, i16 0, i16 0, i16 0, i16 13291, i16 0, i16 0, i16 0, i16 16108, i16 0, i16 0, i16 0, i16 237, i16 0, i16 0, i16 0, i16 12781, i16 0, i16 0, i16 0, i16 15597, i16 0, i16 0, i16 0, i16 15342, i16 0, i16 0, i16 0, i16 14063, i16 0, i16 0, i16 0, i16 15087, i16 0, i16 0, i16 0, i16 15344, i16 0, i16 0, i16 0, i16 13809, i16 0, i16 0, i16 0, i16 17138, i16 0, i16 0, i16 0, i16 15091, i16 0, i16 0, i16 0, i16 16627, i16 0, i16 0, i16 0, i16 12788, i16 0, i16 0, i16 0, i16 14580, i16 0, i16 0, i16 0, i16 15348, i16 0, i16 0, i16 0, i16 16628, i16 0, i16 0, i16 0, i16 13813, i16 0, i16 0, i16 0, i16 13302, i16 0, i16 0, i16 0, i16 14326, i16 0, i16 0, i16 0, i16 15094, i16 0, i16 0, i16 0, i16 15863, i16 0, i16 0, i16 0, i16 16375, i16 0, i16 0, i16 0, i16 15353, i16 0, i16 0, i16 0, i16 15609, i16 0, i16 0, i16 0, i16 14586, i16 0, i16 0, i16 0, i16 15354, i16 0, i16 0, i16 0, i16 15355, i16 0, i16 0, i16 0, i16 15867, i16 0, i16 0, i16 0, i16 15100, i16 0, i16 0, i16 0, i16 12285, i16 0, i16 0, i16 0, i16 13053, i16 0, i16 0, i16 0, i16 14333, i16 0, i16 0, i16 0, i16 12542, i16 0, i16 0, i16 0, i16 12798, i16 0, i16 0, i16 0, i16 13310, i16 0, i16 0, i16 0, i16 14846, i16 0, i16 0, i16 0, i16 15103, i16 0, i16 0, i16 256, i16 0, i16 0, i16 0, i16 14080, i16 0, i16 0, i16 0, i16 13313, i16 17049, i16 0, i16 0, i16 12546, i16 0, i16 0, i16 0, i16 14082, i16 0, i16 0, i16 0, i16 15618, i16 0, i16 0, i16 0, i16 12547, i16 0, i16 0, i16 0, i16 16899, i16 0, i16 0, i16 0, i16 14852, i16 17003, i16 0, i16 0, i16 16388, i16 0, i16 0, i16 0, i16 16644, i16 0, i16 0, i16 0, i16 13573, i16 0, i16 0, i16 0, i16 14085, i16 0, i16 0, i16 0, i16 15109, i16 0, i16 0, i16 0, i16 13318, i16 0, i16 0, i16 0, i16 15366, i16 0, i16 0, i16 0, i16 15622, i16 0, i16 0, i16 0, i16 16390, i16 14495, i16 0, i16 0, i16 16902, i16 13005, i16 0, i16 0, i16 12295, i16 12296, i16 0, i16 0, i16 14343, i16 13546, i16 0, i16 0, i16 16647, i16 0, i16 0, i16 0, i16 14344, i16 0, i16 0, i16 0, i16 15880, i16 15683, i16 0, i16 0, i16 265, i16 264, i16 0, i16 0, i16 12553, i16 14944, i16 0, i16 0, i16 13833, i16 0, i16 0, i16 0, i16 14857, i16 0, i16 0, i16 0, i16 15881, i16 0, i16 0, i16 0, i16 16137, i16 0, i16 0, i16 0, i16 16649, i16 0, i16 0, i16 0, i16 17162, i16 0, i16 0, i16 0, i16 12555, i16 16345, i16 0, i16 0, i16 13067, i16 0, i16 0, i16 0, i16 15115, i16 0, i16 0, i16 0, i16 12300, i16 0, i16 0, i16 0, i16 14348, i16 0, i16 0, i16 0, i16 15628, i16 14483, i16 0, i16 0, i16 16140, i16 0, i16 0, i16 0, i16 12557, i16 0, i16 0, i16 0, i16 14349, i16 0, i16 0, i16 0, i16 14605, i16 15757, i16 0, i16 0, i16 15629, i16 0, i16 0, i16 0, i16 15885, i16 0, i16 0, i16 0, i16 782, i16 0, i16 0, i16 0, i16 13582, i16 13021, i16 0, i16 0, i16 14094, i16 0, i16 0, i16 0, i16 14862, i16 0, i16 0, i16 0, i16 16398, i16 14978, i16 0, i16 0, i16 14352, i16 0, i16 0, i16 0, i16 15376, i16 0, i16 0, i16 0, i16 15121, i16 0, i16 0, i16 0, i16 16657, i16 0, i16 0, i16 0, i16 17169, i16 0, i16 0, i16 0, i16 16658, i16 0, i16 0, i16 0, i16 12819, i16 15198, i16 0, i16 0, i16 13331, i16 0, i16 0, i16 0, i16 13588, i16 15915, i16 0, i16 0, i16 16148, i16 0, i16 0, i16 0, i16 13589, i16 14715, i16 0, i16 0, i16 15125, i16 0, i16 0, i16 0, i16 16661, i16 0, i16 0, i16 0, i16 12310, i16 0, i16 0, i16 0, i16 12566, i16 15116, i16 0, i16 0, i16 13334, i16 0, i16 0, i16 0, i16 14102, i16 15783, i16 0, i16 0, i16 13335, i16 0, i16 0, i16 0, i16 16152, i16 0, i16 0, i16 0, i16 12569, i16 0, i16 0, i16 0, i16 282, i16 0, i16 0, i16 0, i16 794, i16 0, i16 0, i16 0, i16 13338, i16 0, i16 0, i16 0, i16 15386, i16 15387, i16 0, i16 0, i16 15643, i16 16909, i16 0, i16 0, i16 16155, i16 14782, i16 0, i16 0, i16 16667, i16 0, i16 0, i16 0, i16 12828, i16 0, i16 0, i16 0, i16 15644, i16 0, i16 0, i16 0, i16 12829, i16 0, i16 0, i16 0, i16 13597, i16 0, i16 0, i16 0, i16 15133, i16 0, i16 0, i16 0, i16 16413, i16 0, i16 0, i16 0, i16 16669, i16 0, i16 0, i16 0, i16 14110, i16 0, i16 0, i16 0, i16 15902, i16 0, i16 0, i16 0, i16 16158, i16 0, i16 0, i16 0, i16 16670, i16 0, i16 0, i16 0, i16 12320, i16 0, i16 0, i16 0, i16 13344, i16 0, i16 0, i16 0, i16 14624, i16 13170, i16 0, i16 0, i16 15392, i16 0, i16 0, i16 0, i16 16672, i16 12786, i16 0, i16 0, i16 12321, i16 0, i16 0, i16 0, i16 13601, i16 0, i16 0, i16 0, i16 14881, i16 17167, i16 0, i16 0, i16 15649, i16 16630, i16 0, i16 0, i16 15905, i16 16062, i16 0, i16 0, i16 16929, i16 0, i16 0, i16 0, i16 14114, i16 0, i16 0, i16 0, i16 14882, i16 0, i16 0, i16 0, i16 15906, i16 12444, i16 0, i16 0, i16 16674, i16 0, i16 0, i16 0, i16 16163, i16 0, i16 0, i16 0, i16 13860, i16 13824, i16 0, i16 0, i16 14116, i16 15911, i16 0, i16 0, i16 14884, i16 0, i16 0, i16 0, i16 12325, i16 0, i16 0, i16 0, i16 12837, i16 0, i16 0, i16 0, i16 16678, i16 0, i16 0, i16 0, i16 12327, i16 0, i16 0, i16 0, i16 14887, i16 0, i16 0, i16 0, i16 16423, i16 0, i16 0, i16 0, i16 12328, i16 16639, i16 0, i16 0, i16 16425, i16 0, i16 0, i16 0, i16 13610, i16 16180, i16 0, i16 0, i16 14890, i16 0, i16 0, i16 0, i16 16170, i16 0, i16 0, i16 0, i16 15403, i16 0, i16 0, i16 0, i16 16171, i16 0, i16 0, i16 0, i16 12332, i16 0, i16 0, i16 0, i16 15404, i16 15291, i16 0, i16 0, i16 14125, i16 0, i16 0, i16 0, i16 14893, i16 15274, i16 0, i16 0, i16 16685, i16 0, i16 0, i16 0, i16 16941, i16 0, i16 0, i16 0, i16 14382, i16 0, i16 0, i16 0, i16 14638, i16 12998, i16 0, i16 0, i16 16174, i16 0, i16 0, i16 0, i16 12591, i16 0, i16 0, i16 0, i16 14639, i16 0, i16 0, i16 0, i16 13360, i16 0, i16 0, i16 0, i16 14384, i16 0, i16 0, i16 0, i16 14640, i16 0, i16 0, i16 0, i16 13361, i16 0, i16 0, i16 0, i16 14641, i16 0, i16 0, i16 0, i16 15409, i16 0, i16 0, i16 0, i16 16433, i16 0, i16 0, i16 0, i16 14642, i16 0, i16 0, i16 0, i16 14898, i16 13976, i16 0, i16 0, i16 15154, i16 0, i16 0, i16 0, i16 12851, i16 15968, i16 0, i16 0, i16 13619, i16 0, i16 0, i16 0, i16 16947, i16 0, i16 0, i16 0, i16 15156, i16 0, i16 0, i16 0, i16 13365, i16 0, i16 0, i16 0, i16 13621, i16 12675, i16 0, i16 0, i16 12598, i16 15066, i16 0, i16 0, i16 12343, i16 13378, i16 0, i16 0, i16 14135, i16 0, i16 0, i16 0, i16 14391, i16 0, i16 0, i16 0, i16 16951, i16 15075, i16 0, i16 0, i16 12856, i16 0, i16 0, i16 0, i16 15160, i16 13821, i16 0, i16 0, i16 14905, i16 0, i16 0, i16 0, i16 12858, i16 0, i16 0, i16 0, i16 13370, i16 0, i16 0, i16 0, i16 14138, i16 0, i16 0, i16 0, i16 14907, i16 0, i16 0, i16 0, i16 13628, i16 0, i16 0, i16 0, i16 13884, i16 0, i16 0, i16 0, i16 16956, i16 0, i16 0, i16 0, i16 13885, i16 0, i16 0, i16 0, i16 14141, i16 0, i16 0, i16 0, i16 14398, i16 0, i16 0, i16 0, i16 15166, i16 0, i16 0, i16 0, i16 16958, i16 0, i16 0, i16 0, i16 13375, i16 0, i16 0, i16 0, i16 13889, i16 0, i16 0, i16 0, i16 14913, i16 14137, i16 0, i16 0, i16 16193, i16 0, i16 0, i16 0, i16 16449, i16 0, i16 0, i16 0, i16 15938, i16 0, i16 0, i16 0, i16 12355, i16 0, i16 0, i16 0, i16 13379, i16 0, i16 0, i16 0, i16 14660, i16 16660, i16 0, i16 0, i16 15684, i16 0, i16 0, i16 0, i16 12613, i16 16161, i16 0, i16 0, i16 12869, i16 0, i16 0, i16 0, i16 16965, i16 0, i16 0, i16 0, i16 13126, i16 0, i16 0, i16 0, i16 14406, i16 0, i16 0, i16 0, i16 12359, i16 0, i16 0, i16 0, i16 13895, i16 15817, i16 0, i16 0, i16 16711, i16 0, i16 0, i16 0, i16 13640, i16 0, i16 0, i16 0, i16 14920, i16 0, i16 0, i16 0, i16 15944, i16 0, i16 0, i16 0, i16 13385, i16 0, i16 0, i16 0, i16 13641, i16 0, i16 0, i16 0, i16 15945, i16 16859, i16 0, i16 0, i16 16457, i16 0, i16 0, i16 0, i16 12362, i16 0, i16 0, i16 0, i16 13130, i16 0, i16 0, i16 0, i16 14154, i16 0, i16 0, i16 0, i16 14666, i16 0, i16 0, i16 0, i16 16202, i16 0, i16 0, i16 0, i16 13131, i16 15689, i16 0, i16 0, i16 13387, i16 0, i16 0, i16 0, i16 14155, i16 0, i16 0, i16 0, i16 15179, i16 12896, i16 0, i16 0, i16 15691, i16 0, i16 0, i16 0, i16 12364, i16 14260, i16 0, i16 0, i16 13388, i16 13894, i16 0, i16 0, i16 13901, i16 0, i16 0, i16 0, i16 14669, i16 15472, i16 0, i16 0, i16 15949, i16 0, i16 0, i16 0, i16 13390, i16 16026, i16 0, i16 0, i16 14670, i16 0, i16 0, i16 0, i16 13135, i16 16906, i16 0, i16 0, i16 13391, i16 0, i16 0, i16 0, i16 16463, i16 0, i16 0, i16 0, i16 13392, i16 13404, i16 0, i16 0, i16 16720, i16 0, i16 0, i16 0, i16 13649, i16 0, i16 0, i16 0, i16 16209, i16 0, i16 0, i16 0, i16 14674, i16 0, i16 0, i16 0, i16 16722, i16 0, i16 0, i16 0, i16 14163, i16 0, i16 0, i16 0, i16 14675, i16 0, i16 0, i16 0, i16 15699, i16 0, i16 0, i16 0, i16 12628, i16 14648, i16 0, i16 0, i16 13396, i16 0, i16 0, i16 0, i16 15188, i16 0, i16 0, i16 0, i16 12886, i16 0, i16 0, i16 0, i16 13910, i16 0, i16 0, i16 0, i16 14422, i16 0, i16 0, i16 0, i16 15958, i16 12707, i16 0, i16 0, i16 16214, i16 0, i16 0, i16 0, i16 16470, i16 0, i16 0, i16 0, i16 12631, i16 13625, i16 0, i16 0, i16 13143, i16 0, i16 0, i16 0, i16 14423, i16 0, i16 0, i16 0, i16 13656, i16 0, i16 0, i16 0, i16 13912, i16 0, i16 0, i16 0, i16 14424, i16 0, i16 0, i16 0, i16 12633, i16 0, i16 0, i16 0, i16 13913, i16 0, i16 0, i16 0, i16 12890, i16 0, i16 0, i16 0, i16 13146, i16 0, i16 0, i16 0, i16 15962, i16 0, i16 0, i16 0, i16 13147, i16 0, i16 0, i16 0, i16 13659, i16 0, i16 0, i16 0, i16 13405, i16 0, i16 0, i16 0, i16 13150, i16 0, i16 0, i16 0, i16 13406, i16 0, i16 0, i16 0, i16 14686, i16 0, i16 0, i16 0, i16 12895, i16 12407, i16 0, i16 0, i16 15455, i16 0, i16 0, i16 0, i16 14176, i16 0, i16 0, i16 0, i16 14432, i16 0, i16 0, i16 0, i16 15200, i16 0, i16 0, i16 0, i16 16736, i16 0, i16 0, i16 0, i16 12897, i16 0, i16 0, i16 0, i16 13921, i16 0, i16 0, i16 0, i16 14689, i16 0, i16 0, i16 0, i16 13154, i16 0, i16 0, i16 0, i16 16994, i16 16995, i16 0, i16 0, i16 15971, i16 15754, i16 0, i16 0, i16 13156, i16 0, i16 0, i16 0, i16 14692, i16 0, i16 0, i16 0, i16 15460, i16 0, i16 0, i16 0, i16 16228, i16 0, i16 0, i16 0, i16 12389, i16 0, i16 0, i16 0, i16 13669, i16 0, i16 0, i16 0, i16 16486, i16 0, i16 0, i16 0, i16 13927, i16 12380, i16 0, i16 0, i16 14951, i16 15813, i16 0, i16 0, i16 15975, i16 0, i16 0, i16 0, i16 16487, i16 0, i16 0, i16 0, i16 12904, i16 12905, i16 0, i16 0, i16 13416, i16 14004, i16 0, i16 0, i16 15977, i16 0, i16 0, i16 0, i16 12394, i16 15982, i16 0, i16 0, i16 15978, i16 0, i16 0, i16 0, i16 13676, i16 0, i16 0, i16 0, i16 15212, i16 0, i16 0, i16 0, i16 14445, i16 0, i16 0, i16 0, i16 12654, i16 0, i16 0, i16 0, i16 13934, i16 0, i16 0, i16 0, i16 13679, i16 0, i16 0, i16 0, i16 14449, i16 0, i16 0, i16 0, i16 16241, i16 0, i16 0, i16 0, i16 13426, i16 16648, i16 0, i16 0, i16 12915, i16 0, i16 0, i16 0, i16 13427, i16 14180, i16 0, i16 0, i16 14451, i16 15717, i16 0, i16 0, i16 16243, i16 0, i16 0, i16 0, i16 14452, i16 0, i16 0, i16 0, i16 14708, i16 0, i16 0, i16 0, i16 12917, i16 0, i16 0, i16 0, i16 14966, i16 0, i16 0, i16 0, i16 13944, i16 0, i16 0, i16 0, i16 15992, i16 0, i16 0, i16 0, i16 16760, i16 0, i16 0, i16 0, i16 17016, i16 15317, i16 0, i16 0, i16 15225, i16 0, i16 0, i16 0, i16 12666, i16 0, i16 0, i16 0, i16 15738, i16 13848, i16 0, i16 0, i16 17018, i16 0, i16 0, i16 0, i16 13947, i16 0, i16 0, i16 0, i16 15996, i16 0, i16 0, i16 0, i16 13181, i16 0, i16 0, i16 0, i16 15229, i16 0, i16 0, i16 0, i16 13438, i16 13197, i16 0, i16 0, i16 15743, i16 0, i16 0, i16 0, i16 17023, i16 0, i16 0, i16 0, i16 13184, i16 0, i16 0, i16 0, i16 13440, i16 0, i16 0, i16 0, i16 13442, i16 0, i16 0, i16 0, i16 16515, i16 0, i16 0, i16 0, i16 12420, i16 0, i16 0, i16 0, i16 13189, i16 0, i16 0, i16 0, i16 13445, i16 13494, i16 0, i16 0, i16 15237, i16 0, i16 0, i16 0, i16 13958, i16 0, i16 0, i16 0, i16 16262, i16 0, i16 0, i16 0, i16 15239, i16 0, i16 0, i16 0, i16 13960, i16 0, i16 0, i16 0, i16 16776, i16 0, i16 0, i16 0, i16 17032, i16 0, i16 0, i16 0, i16 13193, i16 0, i16 0, i16 0, i16 13961, i16 0, i16 0, i16 0, i16 16010, i16 0, i16 0, i16 0, i16 13451, i16 0, i16 0, i16 0, i16 12428, i16 14380, i16 0, i16 0, i16 14732, i16 16704, i16 0, i16 0, i16 15244, i16 0, i16 0, i16 0, i16 16524, i16 15420, i16 0, i16 0, i16 16269, i16 0, i16 0, i16 0, i16 13198, i16 16103, i16 0, i16 0, i16 13710, i16 17081, i16 0, i16 0, i16 13711, i16 0, i16 0, i16 0, i16 14479, i16 14478, i16 0, i16 0, i16 16015, i16 13394, i16 0, i16 0, i16 16271, i16 0, i16 0, i16 0, i16 12688, i16 0, i16 0, i16 0, i16 16784, i16 0, i16 0, i16 0, i16 13201, i16 14579, i16 0, i16 0, i16 13713, i16 0, i16 0, i16 0, i16 14738, i16 0, i16 0, i16 0, i16 12947, i16 0, i16 0, i16 0, i16 13459, i16 14369, i16 0, i16 0, i16 15251, i16 14807, i16 0, i16 0, i16 14740, i16 0, i16 0, i16 0, i16 17044, i16 0, i16 0, i16 0, i16 14229, i16 0, i16 0, i16 0, i16 14741, i16 0, i16 0, i16 0, i16 13718, i16 0, i16 0, i16 0, i16 13974, i16 0, i16 0, i16 0, i16 14230, i16 0, i16 0, i16 0, i16 17046, i16 13544, i16 0, i16 0, i16 12439, i16 0, i16 0, i16 0, i16 16023, i16 0, i16 0, i16 0, i16 17047, i16 15588, i16 0, i16 0, i16 13464, i16 14488, i16 0, i16 0, i16 13209, i16 0, i16 0, i16 0, i16 15257, i16 13925, i16 0, i16 0, i16 16281, i16 0, i16 0, i16 0, i16 16794, i16 13906, i16 0, i16 0, i16 12955, i16 13571, i16 0, i16 0, i16 668, i16 0, i16 0, i16 0, i16 14748, i16 0, i16 0, i16 0, i16 15004, i16 0, i16 0, i16 0, i16 12701, i16 0, i16 0, i16 0, i16 15773, i16 14925, i16 0, i16 0, i16 16029, i16 0, i16 0, i16 0, i16 17053, i16 0, i16 0, i16 0, i16 12446, i16 0, i16 0, i16 0, i16 13982, i16 0, i16 0, i16 0, i16 14494, i16 0, i16 0, i16 0, i16 17054, i16 16165, i16 0, i16 0, i16 14239, i16 0, i16 0, i16 0, i16 15007, i16 0, i16 0, i16 0, i16 16031, i16 0, i16 0, i16 0, i16 13216, i16 15956, i16 0, i16 0, i16 12705, i16 0, i16 0, i16 0, i16 16289, i16 0, i16 0, i16 0, i16 674, i16 0, i16 0, i16 0, i16 15266, i16 0, i16 0, i16 0, i16 16290, i16 0, i16 0, i16 0, i16 16546, i16 0, i16 0, i16 0, i16 16802, i16 0, i16 0, i16 0, i16 12451, i16 0, i16 0, i16 0, i16 15523, i16 0, i16 0, i16 0, i16 16291, i16 0, i16 0, i16 0, i16 12452, i16 12408, i16 0, i16 0, i16 12708, i16 0, i16 0, i16 0, i16 12964, i16 0, i16 0, i16 0, i16 14244, i16 0, i16 0, i16 0, i16 16292, i16 0, i16 0, i16 0, i16 15269, i16 0, i16 0, i16 0, i16 16037, i16 0, i16 0, i16 0, i16 16549, i16 0, i16 0, i16 0, i16 12710, i16 15019, i16 0, i16 0, i16 15782, i16 0, i16 0, i16 0, i16 16294, i16 0, i16 0, i16 0, i16 12455, i16 17045, i16 0, i16 0, i16 12711, i16 13480, i16 0, i16 0, i16 13479, i16 0, i16 0, i16 0, i16 13991, i16 0, i16 0, i16 0, i16 14503, i16 0, i16 0, i16 0, i16 15527, i16 0, i16 0, i16 0, i16 16295, i16 16721, i16 0, i16 0, i16 12456, i16 0, i16 0, i16 0, i16 13224, i16 12838, i16 0, i16 0, i16 15784, i16 0, i16 0, i16 0, i16 13737, i16 0, i16 0, i16 0, i16 13738, i16 0, i16 0, i16 0, i16 13739, i16 0, i16 0, i16 0, i16 13995, i16 14438, i16 0, i16 0, i16 14763, i16 0, i16 0, i16 0, i16 16299, i16 13632, i16 0, i16 0, i16 13996, i16 14799, i16 0, i16 0, i16 15788, i16 13599, i16 0, i16 0, i16 14253, i16 12873, i16 0, i16 0, i16 14765, i16 0, i16 0, i16 0, i16 17069, i16 0, i16 0, i16 0, i16 174, i16 0, i16 0, i16 0, i16 15790, i16 0, i16 0, i16 0, i16 13743, i16 0, i16 0, i16 0, i16 15279, i16 16077, i16 0, i16 0, i16 13744, i16 13482, i16 0, i16 0, i16 15792, i16 0, i16 0, i16 0, i16 16816, i16 0, i16 0, i16 0, i16 14513, i16 15755, i16 0, i16 0, i16 178, i16 0, i16 0, i16 0, i16 13490, i16 16151, i16 0, i16 0, i16 14514, i16 16601, i16 0, i16 0, i16 15026, i16 0, i16 0, i16 0, i16 15538, i16 16535, i16 0, i16 0, i16 16562, i16 0, i16 0, i16 0, i16 16818, i16 0, i16 0, i16 0, i16 691, i16 0, i16 0, i16 0, i16 14515, i16 0, i16 0, i16 0, i16 16307, i16 0, i16 0, i16 0, i16 12980, i16 12981, i16 0, i16 0, i16 13492, i16 0, i16 0, i16 0, i16 15028, i16 0, i16 0, i16 0, i16 15284, i16 14607, i16 0, i16 0, i16 15285, i16 0, i16 0, i16 0, i16 694, i16 785, i16 0, i16 0, i16 12470, i16 15646, i16 0, i16 0, i16 15798, i16 0, i16 0, i16 0, i16 12983, i16 13478, i16 0, i16 0, i16 13495, i16 0, i16 0, i16 0, i16 12728, i16 16993, i16 0, i16 0, i16 12984, i16 14160, i16 0, i16 0, i16 13496, i16 0, i16 0, i16 0, i16 185, i16 184, i16 0, i16 0, i16 12985, i16 0, i16 0, i16 0, i16 15033, i16 0, i16 0, i16 0, i16 13498, i16 0, i16 0, i16 0, i16 16314, i16 16812, i16 0, i16 0, i16 187, i16 186, i16 0, i16 0, i16 699, i16 792, i16 0, i16 0, i16 14011, i16 12526, i16 0, i16 0, i16 16315, i16 0, i16 0, i16 0, i16 16571, i16 0, i16 0, i16 0, i16 13500, i16 0, i16 0, i16 0, i16 701, i16 793, i16 0, i16 0, i16 12733, i16 0, i16 0, i16 0, i16 13501, i16 0, i16 0, i16 0, i16 702, i16 795, i16 0, i16 0, i16 13246, i16 15414, i16 0, i16 0, i16 14014, i16 0, i16 0, i16 0, i16 191, i16 190, i16 0, i16 0, i16 12735, i16 0, i16 0, i16 0, i16 12991, i16 0, i16 0, i16 0, i16 13503, i16 0, i16 0, i16 0, i16 14271, i16 0, i16 0, i16 0, i16 14527, i16 14060, i16 0, i16 0, i16 12480, i16 0, i16 0, i16 0, i16 13249, i16 0, i16 0, i16 0, i16 15553, i16 14199, i16 0, i16 0, i16 16065, i16 0, i16 0, i16 0, i16 12738, i16 0, i16 0, i16 0, i16 14530, i16 14206, i16 0, i16 0, i16 14786, i16 0, i16 0, i16 0, i16 12995, i16 0, i16 0, i16 0, i16 14531, i16 0, i16 0, i16 0, i16 16579, i16 0, i16 0, i16 0, i16 15556, i16 0, i16 0, i16 0, i16 16836, i16 0, i16 0, i16 0, i16 14277, i16 0, i16 0, i16 0, i16 16325, i16 0, i16 0, i16 0, i16 16837, i16 0, i16 0, i16 0, i16 12742, i16 0, i16 0, i16 0, i16 16839, i16 0, i16 0, i16 0, i16 200, i16 201, i16 0, i16 0, i16 15304, i16 15303, i16 0, i16 0, i16 15816, i16 14955, i16 0, i16 0, i16 16328, i16 0, i16 0, i16 0, i16 16584, i16 0, i16 0, i16 0, i16 16073, i16 0, i16 0, i16 0, i16 16329, i16 0, i16 0, i16 0, i16 17097, i16 0, i16 0, i16 0, i16 202, i16 0, i16 0, i16 0, i16 13258, i16 0, i16 0, i16 0, i16 14794, i16 0, i16 0, i16 0, i16 15050, i16 0, i16 0, i16 0, i16 15562, i16 0, i16 0, i16 0, i16 16074, i16 0, i16 0, i16 0, i16 13260, i16 0, i16 0, i16 0, i16 13772, i16 15199, i16 0, i16 0, i16 16332, i16 0, i16 0, i16 0, i16 16588, i16 0, i16 0, i16 0, i16 13517, i16 0, i16 0, i16 0, i16 13262, i16 0, i16 0, i16 0, i16 15822, i16 0, i16 0, i16 0, i16 14543, i16 12589, i16 0, i16 0, i16 16335, i16 0, i16 0, i16 0, i16 12752, i16 13794, i16 0, i16 0, i16 13264, i16 0, i16 0, i16 0, i16 15057, i16 13046, i16 0, i16 0, i16 16849, i16 16921, i16 0, i16 0, i16 210, i16 211, i16 0, i16 0, i16 13522, i16 0, i16 0, i16 0, i16 14802, i16 0, i16 0, i16 0, i16 15314, i16 13029, i16 0, i16 0, i16 12499, i16 0, i16 0, i16 0, i16 13011, i16 0, i16 0, i16 0, i16 14035, i16 16620, i16 0, i16 0, i16 212, i16 213, i16 0, i16 0, i16 16084, i16 0, i16 0, i16 0, i16 16340, i16 0, i16 0, i16 0, i16 16342, i16 0, i16 0, i16 0, i16 13783, i16 0, i16 0, i16 0, i16 13016, i16 14788, i16 0, i16 0, i16 14808, i16 0, i16 0, i16 0, i16 15064, i16 0, i16 0, i16 0, i16 14041, i16 14269, i16 0, i16 0, i16 14297, i16 0, i16 0, i16 0, i16 15065, i16 0, i16 0, i16 0, i16 15833, i16 0, i16 0, i16 0, i16 13018, i16 0, i16 0, i16 0, i16 219, i16 0, i16 0, i16 0, i16 13787, i16 0, i16 0, i16 0, i16 14299, i16 0, i16 0, i16 0, i16 14811, i16 0, i16 0, i16 0, i16 15324, i16 16112, i16 0, i16 0, i16 13277, i16 0, i16 0, i16 0, i16 16605, i16 0, i16 0, i16 0, i16 13534, i16 0, i16 0, i16 0, i16 13790, i16 0, i16 0, i16 0, i16 15070, i16 0, i16 0, i16 0, i16 13791, i16 0, i16 0, i16 0, i16 14559, i16 0, i16 0, i16 0, i16 16607, i16 0, i16 0, i16 0, i16 16863, i16 14628, i16 0, i16 0, i16 17119, i16 0, i16 0, i16 0, i16 13024, i16 13060, i16 0, i16 0, i16 13536, i16 0, i16 0, i16 0, i16 14048, i16 0, i16 0, i16 0, i16 14816, i16 0, i16 0, i16 0, i16 15328, i16 0, i16 0, i16 0, i16 16352, i16 16046, i16 0, i16 0, i16 12513, i16 0, i16 0, i16 0, i16 14817, i16 0, i16 0, i16 0, i16 15329, i16 0, i16 0, i16 0, i16 15841, i16 0, i16 0, i16 0, i16 17121, i16 0, i16 0, i16 0, i16 13538, i16 0, i16 0, i16 0, i16 14050, i16 0, i16 0, i16 0, i16 15842, i16 14561, i16 0, i16 0, i16 16098, i16 0, i16 0, i16 0, i16 14564, i16 0, i16 0, i16 0, i16 15332, i16 0, i16 0, i16 0, i16 15845, i16 12345, i16 0, i16 0, i16 13798, i16 15306, i16 0, i16 0, i16 17126, i16 12973, i16 0, i16 0, i16 12520, i16 0, i16 0, i16 0, i16 14056, i16 0, i16 0, i16 0, i16 14568, i16 0, i16 0, i16 0, i16 14824, i16 0, i16 0, i16 0, i16 17129, i16 0, i16 0, i16 0, i16 12522, i16 12391, i16 0, i16 0, i16 13802, i16 0, i16 0, i16 0, i16 14570, i16 16105, i16 0, i16 0, i16 16106, i16 15989, i16 0, i16 0, i16 14827, i16 13366, i16 0, i16 0, i16 16875, i16 0, i16 0, i16 0, i16 15084, i16 15744, i16 0, i16 0, i16 13293, i16 0, i16 0, i16 0, i16 13549, i16 0, i16 0, i16 0, i16 14317, i16 0, i16 0, i16 0, i16 15853, i16 16114, i16 0, i16 0, i16 15854, i16 0, i16 0, i16 0, i16 13039, i16 0, i16 0, i16 0, i16 14064, i16 0, i16 0, i16 0, i16 14832, i16 17077, i16 0, i16 0, i16 15088, i16 0, i16 0, i16 0, i16 13553, i16 0, i16 0, i16 0, i16 14577, i16 0, i16 0, i16 0, i16 14833, i16 0, i16 0, i16 0, i16 15857, i16 0, i16 0, i16 0, i16 15090, i16 15635, i16 0, i16 0, i16 15346, i16 0, i16 0, i16 0, i16 15858, i16 14520, i16 0, i16 0, i16 16882, i16 0, i16 0, i16 0, i16 244, i16 243, i16 0, i16 0, i16 13812, i16 0, i16 0, i16 0, i16 14068, i16 0, i16 0, i16 0, i16 14325, i16 0, i16 0, i16 0, i16 17141, i16 16512, i16 0, i16 0, i16 13558, i16 0, i16 0, i16 0, i16 16374, i16 15645, i16 0, i16 0, i16 12535, i16 0, i16 0, i16 0, i16 16120, i16 0, i16 0, i16 0, i16 16376, i16 0, i16 0, i16 0, i16 17144, i16 16840, i16 0, i16 0, i16 14585, i16 0, i16 0, i16 0, i16 15097, i16 16614, i16 0, i16 0, i16 16121, i16 0, i16 0, i16 0, i16 16889, i16 0, i16 0, i16 0, i16 12794, i16 14493, i16 0, i16 0, i16 13562, i16 0, i16 0, i16 0, i16 14074, i16 0, i16 0, i16 0, i16 14587, i16 0, i16 0, i16 0, i16 12540, i16 0, i16 0, i16 0, i16 16124, i16 16211, i16 0, i16 0, i16 13565, i16 16820, i16 0, i16 0, i16 15101, i16 0, i16 0, i16 0, i16 15357, i16 0, i16 0, i16 0, i16 16638, i16 0, i16 0, i16 0, i16 13055, i16 0, i16 0, i16 0, i16 15871, i16 0, i16 0, i16 0, i16 16127, i16 0, i16 0, i16 0, i16 16383, i16 0, i16 0, i16 0, i16 16895, i16 0, i16 0, i16 14336, i16 0, i16 0, i16 0, i16 15872, i16 0, i16 0, i16 0, i16 16896, i16 12854, i16 0, i16 0, i16 12289, i16 0, i16 0, i16 0, i16 13057, i16 0, i16 0, i16 0, i16 14593, i16 0, i16 0, i16 0, i16 15361, i16 14291, i16 12990, i16 0, i16 16129, i16 0, i16 0, i16 0, i16 2, i16 3, i16 0, i16 0, i16 12290, i16 0, i16 0, i16 0, i16 13826, i16 14262, i16 0, i16 0, i16 15106, i16 0, i16 0, i16 0, i16 17154, i16 0, i16 0, i16 0, i16 12291, i16 0, i16 0, i16 0, i16 13315, i16 0, i16 0, i16 0, i16 14339, i16 12729, i16 13820, i16 0, i16 14851, i16 0, i16 0, i16 0, i16 15875, i16 0, i16 0, i16 0, i16 4, i16 5, i16 6, i16 0, i16 12292, i16 14533, i16 0, i16 0, i16 13316, i16 0, i16 0, i16 0, i16 16900, i16 12787, i16 15477, i16 0, i16 17156, i16 0, i16 14379, i16 0, i16 14341, i16 0, i16 0, i16 0, i16 14597, i16 0, i16 0, i16 0, i16 12550, i16 0, i16 0, i16 0, i16 15878, i16 0, i16 0, i16 0, i16 13575, i16 0, i16 0, i16 0, i16 14087, i16 13298, i16 0, i16 0, i16 14599, i16 0, i16 0, i16 0, i16 16135, i16 13144, i16 0, i16 0, i16 16391, i16 0, i16 0, i16 0, i16 520, i16 521, i16 522, i16 0, i16 13832, i16 0, i16 0, i16 0, i16 14088, i16 14747, i16 13614, i16 0, i16 14600, i16 14465, i16 0, i16 0, i16 16392, i16 0, i16 0, i16 0, i16 12809, i16 0, i16 0, i16 0, i16 13577, i16 15658, i16 0, i16 0, i16 13066, i16 0, i16 0, i16 0, i16 15114, i16 0, i16 15163, i16 0, i16 16650, i16 0, i16 15347, i16 0, i16 12811, i16 0, i16 0, i16 0, i16 13579, i16 0, i16 0, i16 0, i16 16139, i16 0, i16 13204, i16 0, i16 16651, i16 0, i16 12426, i16 0, i16 17163, i16 0, i16 0, i16 0, i16 14860, i16 0, i16 0, i16 0, i16 15884, i16 13063, i16 12474, i16 0, i16 17164, i16 17165, i16 0, i16 0, i16 13325, i16 16860, i16 0, i16 0, i16 16397, i16 0, i16 0, i16 0, i16 13326, i16 0, i16 0, i16 0, i16 16654, i16 0, i16 0, i16 0, i16 16910, i16 0, i16 0, i16 0, i16 783, i16 0, i16 0, i16 0, i16 13071, i16 16937, i16 15040, i16 0, i16 13583, i16 0, i16 0, i16 0, i16 14863, i16 0, i16 0, i16 0, i16 15119, i16 0, i16 16996, i16 0, i16 16655, i16 0, i16 16656, i16 0, i16 13584, i16 0, i16 15449, i16 0, i16 14608, i16 14546, i16 0, i16 0, i16 15120, i16 0, i16 0, i16 0, i16 16400, i16 0, i16 0, i16 0, i16 13329, i16 0, i16 0, i16 0, i16 14609, i16 17131, i16 0, i16 0, i16 15889, i16 12524, i16 0, i16 0, i16 786, i16 695, i16 787, i16 0, i16 12818, i16 12650, i16 0, i16 0, i16 13843, i16 0, i16 15910, i16 0, i16 14099, i16 0, i16 0, i16 0, i16 15123, i16 0, i16 13134, i16 0, i16 15891, i16 14665, i16 17026, i16 0, i16 14356, i16 13443, i16 14504, i16 0, i16 15124, i16 0, i16 0, i16 0, i16 16404, i16 0, i16 13658, i16 0, i16 16917, i16 0, i16 0, i16 0, i16 14358, i16 13399, i16 0, i16 0, i16 15126, i16 0, i16 0, i16 0, i16 15894, i16 12941, i16 12942, i16 0, i16 12311, i16 0, i16 0, i16 0, i16 14103, i16 0, i16 16763, i16 0, i16 15895, i16 0, i16 17074, i16 0, i16 16663, i16 0, i16 0, i16 0, i16 16919, i16 0, i16 0, i16 0, i16 15128, i16 0, i16 0, i16 0, i16 16664, i16 0, i16 0, i16 0, i16 16920, i16 0, i16 13816, i16 0, i16 13337, i16 0, i16 0, i16 0, i16 13849, i16 0, i16 15779, i16 0, i16 14873, i16 0, i16 0, i16 0, i16 15129, i16 0, i16 0, i16 0, i16 15641, i16 0, i16 0, i16 0, i16 15897, i16 0, i16 12885, i16 0, i16 13850, i16 0, i16 0, i16 0, i16 14362, i16 0, i16 0, i16 0, i16 16666, i16 16590, i16 15456, i16 0, i16 1051, i16 0, i16 0, i16 0, i16 16668, i16 16710, i16 12369, i16 0, i16 797, i16 703, i16 796, i16 0, i16 13853, i16 0, i16 0, i16 0, i16 15901, i16 16166, i16 14550, i16 0, i16 16157, i16 0, i16 0, i16 0, i16 13342, i16 16181, i16 12441, i16 0, i16 15134, i16 15135, i16 0, i16 0, i16 16414, i16 0, i16 0, i16 0, i16 287, i16 284, i16 0, i16 0, i16 14879, i16 16693, i16 0, i16 0, i16 16927, i16 13356, i16 0, i16 0, i16 288, i16 289, i16 290, i16 0, i16 12832, i16 16729, i16 0, i16 0, i16 15136, i16 0, i16 15657, i16 0, i16 15137, i16 0, i16 15988, i16 0, i16 16417, i16 0, i16 0, i16 0, i16 16673, i16 0, i16 13283, i16 0, i16 13602, i16 0, i16 0, i16 0, i16 14115, i16 0, i16 0, i16 0, i16 14371, i16 0, i16 0, i16 0, i16 16675, i16 0, i16 0, i16 0, i16 12580, i16 16042, i16 12849, i16 0, i16 13348, i16 14712, i16 15662, i16 0, i16 15140, i16 0, i16 0, i16 0, i16 15909, i16 0, i16 0, i16 0, i16 16933, i16 0, i16 13345, i16 0, i16 12582, i16 0, i16 13797, i16 0, i16 13350, i16 0, i16 0, i16 0, i16 13862, i16 0, i16 0, i16 0, i16 16934, i16 0, i16 0, i16 0, i16 15143, i16 16324, i16 0, i16 0, i16 12840, i16 15772, i16 0, i16 0, i16 14888, i16 14337, i16 0, i16 0, i16 16424, i16 0, i16 0, i16 0, i16 16680, i16 0, i16 0, i16 0, i16 16936, i16 12953, i16 0, i16 0, i16 14633, i16 0, i16 0, i16 0, i16 14889, i16 12899, i16 0, i16 0, i16 15401, i16 15603, i16 0, i16 0, i16 15146, i16 0, i16 0, i16 0, i16 13611, i16 0, i16 0, i16 0, i16 16684, i16 0, i16 0, i16 0, i16 14637, i16 0, i16 0, i16 0, i16 16429, i16 0, i16 0, i16 0, i16 12590, i16 0, i16 0, i16 0, i16 13358, i16 13570, i16 14553, i16 0, i16 14126, i16 0, i16 0, i16 0, i16 14894, i16 0, i16 0, i16 0, i16 15407, i16 15848, i16 16384, i16 0, i16 15919, i16 0, i16 0, i16 0, i16 16431, i16 0, i16 16343, i16 0, i16 16687, i16 0, i16 0, i16 0, i16 16943, i16 0, i16 0, i16 0, i16 15408, i16 0, i16 14373, i16 0, i16 15920, i16 0, i16 0, i16 0, i16 16176, i16 0, i16 16162, i16 0, i16 16688, i16 0, i16 16319, i16 0, i16 13617, i16 0, i16 0, i16 0, i16 14385, i16 0, i16 0, i16 0, i16 12338, i16 0, i16 0, i16 0, i16 12594, i16 0, i16 13859, i16 0, i16 12850, i16 0, i16 0, i16 0, i16 13618, i16 0, i16 0, i16 0, i16 14386, i16 0, i16 12777, i16 0, i16 15922, i16 16156, i16 13300, i16 0, i16 13363, i16 12934, i16 0, i16 0, i16 15668, i16 0, i16 0, i16 0, i16 16692, i16 0, i16 0, i16 0, i16 12341, i16 0, i16 0, i16 0, i16 14645, i16 13454, i16 13712, i16 0, i16 15925, i16 14582, i16 0, i16 0, i16 12342, i16 0, i16 0, i16 0, i16 13110, i16 0, i16 0, i16 0, i16 13622, i16 16877, i16 0, i16 0, i16 14134, i16 16977, i16 14101, i16 0, i16 15926, i16 0, i16 14100, i16 0, i16 12855, i16 0, i16 0, i16 0, i16 13111, i16 0, i16 0, i16 0, i16 15415, i16 0, i16 13550, i16 0, i16 12344, i16 14324, i16 0, i16 0, i16 13368, i16 17123, i16 0, i16 0, i16 13880, i16 0, i16 0, i16 0, i16 14136, i16 15933, i16 16499, i16 0, i16 15672, i16 0, i16 0, i16 0, i16 16184, i16 0, i16 0, i16 0, i16 14649, i16 17057, i16 12572, i16 0, i16 15161, i16 0, i16 13899, i16 0, i16 16697, i16 14679, i16 0, i16 0, i16 12602, i16 16064, i16 0, i16 0, i16 14650, i16 0, i16 0, i16 0, i16 14906, i16 15697, i16 14606, i16 0, i16 16186, i16 0, i16 0, i16 0, i16 16954, i16 0, i16 12615, i16 0, i16 12859, i16 0, i16 0, i16 0, i16 13883, i16 0, i16 0, i16 0, i16 16443, i16 0, i16 0, i16 0, i16 16955, i16 0, i16 0, i16 0, i16 1084, i16 0, i16 0, i16 0, i16 13372, i16 0, i16 15883, i16 0, i16 14652, i16 0, i16 15961, i16 0, i16 12605, i16 16723, i16 0, i16 0, i16 13373, i16 0, i16 0, i16 0, i16 14397, i16 0, i16 0, i16 0, i16 14653, i16 0, i16 0, i16 0, i16 14909, i16 15552, i16 14122, i16 0, i16 12862, i16 0, i16 0, i16 0, i16 13374, i16 0, i16 13511, i16 0, i16 12607, i16 0, i16 0, i16 0, i16 14143, i16 0, i16 0, i16 0, i16 15679, i16 0, i16 16861, i16 0, i16 16191, i16 0, i16 0, i16 0, i16 12352, i16 0, i16 13142, i16 0, i16 12608, i16 0, i16 0, i16 0, i16 13120, i16 0, i16 0, i16 0, i16 13376, i16 16172, i16 12431, i16 0, i16 13888, i16 0, i16 0, i16 0, i16 14400, i16 0, i16 0, i16 0, i16 15680, i16 13424, i16 0, i16 0, i16 13633, i16 0, i16 0, i16 0, i16 15170, i16 0, i16 0, i16 0, i16 15682, i16 0, i16 0, i16 0, i16 16194, i16 0, i16 12409, i16 0, i16 14403, i16 0, i16 15776, i16 0, i16 14659, i16 14658, i16 0, i16 0, i16 15171, i16 0, i16 0, i16 0, i16 16195, i16 0, i16 13887, i16 0, i16 13124, i16 0, i16 0, i16 0, i16 13636, i16 0, i16 0, i16 0, i16 14404, i16 0, i16 0, i16 0, i16 16196, i16 0, i16 0, i16 0, i16 16452, i16 0, i16 0, i16 0, i16 16964, i16 0, i16 14108, i16 0, i16 14661, i16 0, i16 12817, i16 0, i16 14917, i16 16969, i16 12392, i16 0, i16 15941, i16 0, i16 15896, i16 0, i16 16197, i16 0, i16 0, i16 0, i16 16454, i16 0, i16 0, i16 0, i16 13639, i16 0, i16 0, i16 0, i16 14919, i16 0, i16 0, i16 0, i16 15175, i16 0, i16 14644, i16 0, i16 15687, i16 0, i16 16380, i16 0, i16 13384, i16 0, i16 0, i16 0, i16 13896, i16 0, i16 0, i16 0, i16 14408, i16 0, i16 0, i16 0, i16 13897, i16 0, i16 0, i16 0, i16 12618, i16 17068, i16 0, i16 0, i16 13642, i16 16781, i16 0, i16 0, i16 13898, i16 16924, i16 0, i16 0, i16 15178, i16 14797, i16 0, i16 0, i16 12363, i16 0, i16 0, i16 0, i16 14411, i16 16971, i16 0, i16 0, i16 14923, i16 0, i16 15843, i16 0, i16 15947, i16 0, i16 0, i16 0, i16 16459, i16 0, i16 0, i16 0, i16 16715, i16 0, i16 0, i16 0, i16 14156, i16 0, i16 0, i16 0, i16 12877, i16 0, i16 16806, i16 0, i16 13389, i16 0, i16 0, i16 0, i16 14157, i16 0, i16 0, i16 0, i16 16461, i16 0, i16 16018, i16 0, i16 16717, i16 0, i16 0, i16 0, i16 13902, i16 0, i16 0, i16 0, i16 14926, i16 0, i16 12720, i16 0, i16 15694, i16 0, i16 15793, i16 0, i16 15950, i16 0, i16 0, i16 0, i16 16974, i16 0, i16 0, i16 0, i16 12879, i16 0, i16 0, i16 0, i16 14671, i16 0, i16 0, i16 0, i16 15439, i16 0, i16 0, i16 0, i16 15695, i16 0, i16 0, i16 0, i16 14416, i16 0, i16 0, i16 0, i16 15696, i16 0, i16 16589, i16 0, i16 14673, i16 0, i16 0, i16 0, i16 16465, i16 0, i16 15220, i16 0, i16 14162, i16 0, i16 0, i16 0, i16 16466, i16 15454, i16 13875, i16 0, i16 12627, i16 0, i16 0, i16 0, i16 13139, i16 0, i16 15444, i16 0, i16 13395, i16 0, i16 0, i16 0, i16 13651, i16 0, i16 0, i16 0, i16 16979, i16 0, i16 0, i16 0, i16 13140, i16 0, i16 0, i16 0, i16 13908, i16 0, i16 0, i16 0, i16 14420, i16 0, i16 0, i16 0, i16 14676, i16 0, i16 0, i16 0, i16 16212, i16 0, i16 0, i16 0, i16 16724, i16 0, i16 0, i16 0, i16 13141, i16 15167, i16 12734, i16 0, i16 13653, i16 0, i16 0, i16 0, i16 14421, i16 0, i16 12527, i16 0, i16 14677, i16 0, i16 0, i16 0, i16 15701, i16 0, i16 0, i16 0, i16 16213, i16 0, i16 0, i16 0, i16 12374, i16 12375, i16 0, i16 0, i16 12630, i16 0, i16 0, i16 0, i16 14678, i16 0, i16 0, i16 0, i16 16982, i16 13183, i16 0, i16 0, i16 13655, i16 0, i16 16233, i16 0, i16 14935, i16 0, i16 0, i16 0, i16 15447, i16 0, i16 0, i16 0, i16 16471, i16 13382, i16 0, i16 0, i16 16983, i16 15838, i16 14030, i16 0, i16 12376, i16 0, i16 0, i16 0, i16 14168, i16 0, i16 0, i16 0, i16 16216, i16 0, i16 14287, i16 0, i16 16728, i16 0, i16 0, i16 0, i16 89, i16 0, i16 0, i16 0, i16 14425, i16 0, i16 0, i16 0, i16 15705, i16 0, i16 0, i16 0, i16 16473, i16 0, i16 13593, i16 0, i16 16985, i16 0, i16 13907, i16 0, i16 90, i16 91, i16 92, i16 0, i16 12891, i16 0, i16 0, i16 0, i16 13915, i16 0, i16 0, i16 0, i16 14171, i16 0, i16 0, i16 0, i16 15707, i16 0, i16 0, i16 0, i16 12892, i16 0, i16 0, i16 0, i16 13660, i16 0, i16 0, i16 0, i16 14428, i16 0, i16 0, i16 0, i16 14940, i16 0, i16 0, i16 0, i16 16220, i16 16689, i16 15887, i16 0, i16 16988, i16 0, i16 0, i16 0, i16 12893, i16 0, i16 12842, i16 0, i16 14685, i16 16372, i16 0, i16 0, i16 13918, i16 12927, i16 0, i16 0, i16 16734, i16 0, i16 15318, i16 0, i16 13663, i16 0, i16 16595, i16 0, i16 12640, i16 0, i16 0, i16 0, i16 14945, i16 0, i16 0, i16 0, i16 15457, i16 0, i16 0, i16 0, i16 15713, i16 16567, i16 0, i16 0, i16 16225, i16 0, i16 15660, i16 0, i16 12386, i16 0, i16 0, i16 0, i16 14690, i16 0, i16 17039, i16 0, i16 16482, i16 0, i16 0, i16 0, i16 12643, i16 15955, i16 12727, i16 0, i16 13155, i16 12358, i16 0, i16 0, i16 13411, i16 17107, i16 0, i16 0, i16 16227, i16 0, i16 0, i16 0, i16 13412, i16 0, i16 15652, i16 0, i16 13924, i16 14113, i16 0, i16 0, i16 15972, i16 17161, i16 14439, i16 0, i16 16740, i16 0, i16 0, i16 0, i16 12901, i16 0, i16 0, i16 0, i16 15205, i16 0, i16 13167, i16 0, i16 15973, i16 0, i16 0, i16 0, i16 16741, i16 0, i16 14792, i16 0, i16 12646, i16 0, i16 12827, i16 0, i16 12902, i16 16984, i16 13252, i16 0, i16 14182, i16 0, i16 0, i16 0, i16 15462, i16 0, i16 0, i16 0, i16 12903, i16 0, i16 0, i16 0, i16 13159, i16 0, i16 0, i16 0, i16 14183, i16 0, i16 0, i16 0, i16 15207, i16 0, i16 0, i16 0, i16 15719, i16 0, i16 0, i16 0, i16 872, i16 873, i16 874, i16 0, i16 13672, i16 0, i16 0, i16 0, i16 14184, i16 0, i16 13723, i16 0, i16 14440, i16 15702, i16 13754, i16 0, i16 14696, i16 0, i16 12323, i16 0, i16 16488, i16 0, i16 0, i16 0, i16 12649, i16 0, i16 0, i16 0, i16 13161, i16 15899, i16 0, i16 0, i16 14185, i16 0, i16 0, i16 0, i16 14441, i16 0, i16 0, i16 0, i16 13162, i16 0, i16 0, i16 0, i16 13419, i16 0, i16 0, i16 0, i16 14443, i16 0, i16 0, i16 0, i16 15979, i16 16623, i16 0, i16 0, i16 876, i16 877, i16 878, i16 0, i16 13932, i16 13543, i16 0, i16 0, i16 17004, i16 16055, i16 15825, i16 0, i16 12397, i16 13647, i16 0, i16 0, i16 13165, i16 17058, i16 13093, i16 0, i16 14957, i16 0, i16 16405, i16 0, i16 15469, i16 0, i16 0, i16 0, i16 16749, i16 0, i16 0, i16 0, i16 13166, i16 0, i16 13950, i16 0, i16 15470, i16 12770, i16 0, i16 0, i16 16494, i16 13846, i16 16862, i16 0, i16 12655, i16 16472, i16 0, i16 0, i16 12911, i16 0, i16 14435, i16 0, i16 14447, i16 13098, i16 0, i16 0, i16 15215, i16 0, i16 0, i16 0, i16 15471, i16 0, i16 0, i16 0, i16 15727, i16 15044, i16 0, i16 0, i16 17007, i16 15700, i16 12367, i16 0, i16 12400, i16 0, i16 0, i16 0, i16 12912, i16 0, i16 0, i16 0, i16 14192, i16 0, i16 0, i16 0, i16 16240, i16 15211, i16 0, i16 0, i16 16496, i16 0, i16 16462, i16 0, i16 12401, i16 0, i16 0, i16 0, i16 14193, i16 16914, i16 16725, i16 0, i16 15217, i16 0, i16 12511, i16 0, i16 16497, i16 0, i16 14251, i16 0, i16 12402, i16 0, i16 0, i16 0, i16 13682, i16 0, i16 15219, i16 0, i16 14962, i16 0, i16 16960, i16 0, i16 12659, i16 16333, i16 0, i16 0, i16 13683, i16 0, i16 0, i16 0, i16 13684, i16 0, i16 12944, i16 0, i16 16756, i16 16757, i16 12346, i16 0, i16 17012, i16 13397, i16 0, i16 0, i16 17013, i16 0, i16 0, i16 0, i16 13430, i16 0, i16 0, i16 0, i16 14454, i16 0, i16 0, i16 0, i16 15222, i16 0, i16 0, i16 0, i16 15990, i16 0, i16 12661, i16 0, i16 13943, i16 13179, i16 16645, i16 0, i16 14455, i16 0, i16 0, i16 0, i16 14967, i16 0, i16 0, i16 0, i16 17015, i16 0, i16 15677, i16 0, i16 12920, i16 0, i16 0, i16 0, i16 15736, i16 0, i16 14401, i16 0, i16 13433, i16 12583, i16 0, i16 0, i16 13945, i16 0, i16 0, i16 0, i16 17017, i16 0, i16 0, i16 0, i16 15226, i16 0, i16 0, i16 0, i16 15994, i16 16110, i16 0, i16 0, i16 16762, i16 0, i16 0, i16 0, i16 15739, i16 0, i16 0, i16 0, i16 16507, i16 0, i16 0, i16 0, i16 15740, i16 0, i16 0, i16 0, i16 13693, i16 0, i16 13630, i16 0, i16 13949, i16 0, i16 14130, i16 0, i16 14461, i16 0, i16 0, i16 0, i16 15741, i16 0, i16 0, i16 0, i16 382, i16 383, i16 384, i16 0, i16 12670, i16 0, i16 0, i16 0, i16 13694, i16 0, i16 0, i16 0, i16 14718, i16 0, i16 0, i16 0, i16 16254, i16 16540, i16 14067, i16 0, i16 17022, i16 0, i16 0, i16 0, i16 13951, i16 14569, i16 0, i16 0, i16 14719, i16 0, i16 0, i16 0, i16 14975, i16 0, i16 0, i16 0, i16 15999, i16 16395, i16 0, i16 0, i16 16255, i16 15970, i16 0, i16 0, i16 14464, i16 0, i16 0, i16 0, i16 16000, i16 0, i16 15654, i16 0, i16 16768, i16 0, i16 0, i16 0, i16 129, i16 130, i16 0, i16 0, i16 12417, i16 0, i16 0, i16 0, i16 14209, i16 0, i16 0, i16 0, i16 16257, i16 13839, i16 0, i16 0, i16 12418, i16 0, i16 0, i16 0, i16 13698, i16 0, i16 0, i16 0, i16 14722, i16 0, i16 0, i16 0, i16 16514, i16 0, i16 0, i16 0, i16 15236, i16 0, i16 12423, i16 0, i16 17028, i16 0, i16 14146, i16 0, i16 133, i16 0, i16 0, i16 0, i16 13957, i16 0, i16 0, i16 0, i16 14469, i16 0, i16 14664, i16 0, i16 15749, i16 15089, i16 0, i16 0, i16 16773, i16 0, i16 0, i16 0, i16 17029, i16 16890, i16 0, i16 0, i16 134, i16 0, i16 0, i16 0, i16 12422, i16 16944, i16 0, i16 0, i16 13702, i16 0, i16 0, i16 0, i16 14726, i16 12950, i16 15112, i16 0, i16 135, i16 0, i16 216, i16 0, i16 12935, i16 15489, i16 14213, i16 0, i16 13191, i16 13212, i16 14463, i16 0, i16 13959, i16 13804, i16 0, i16 0, i16 16007, i16 0, i16 16851, i16 0, i16 17031, i16 0, i16 15590, i16 0, i16 13192, i16 0, i16 14757, i16 0, i16 13448, i16 0, i16 0, i16 0, i16 14728, i16 0, i16 14610, i16 0, i16 16008, i16 0, i16 0, i16 0, i16 12681, i16 0, i16 0, i16 0, i16 15753, i16 0, i16 0, i16 0, i16 13194, i16 0, i16 14601, i16 0, i16 13706, i16 13328, i16 0, i16 0, i16 12683, i16 0, i16 0, i16 0, i16 16267, i16 13977, i16 0, i16 0, i16 16523, i16 0, i16 0, i16 0, i16 13196, i16 16505, i16 0, i16 0, i16 16268, i16 0, i16 0, i16 0, i16 15501, i16 0, i16 0, i16 0, i16 13966, i16 0, i16 14225, i16 0, i16 14222, i16 0, i16 15866, i16 0, i16 16782, i16 15483, i16 12909, i16 0, i16 14991, i16 0, i16 0, i16 0, i16 14224, i16 16057, i16 16615, i16 0, i16 14480, i16 0, i16 0, i16 0, i16 14736, i16 0, i16 16389, i16 0, i16 14992, i16 0, i16 12530, i16 0, i16 15760, i16 0, i16 15102, i16 0, i16 16528, i16 0, i16 12544, i16 0, i16 12689, i16 0, i16 0, i16 0, i16 14481, i16 0, i16 0, i16 0, i16 16017, i16 0, i16 16265, i16 0, i16 16273, i16 0, i16 0, i16 0, i16 17041, i16 12577, i16 0, i16 0, i16 13714, i16 0, i16 17088, i16 0, i16 13970, i16 0, i16 0, i16 0, i16 14994, i16 0, i16 0, i16 0, i16 13203, i16 0, i16 15248, i16 0, i16 13715, i16 0, i16 0, i16 0, i16 14227, i16 0, i16 14729, i16 0, i16 12436, i16 12560, i16 0, i16 0, i16 15508, i16 0, i16 0, i16 0, i16 16020, i16 13774, i16 13965, i16 0, i16 16788, i16 0, i16 13922, i16 0, i16 12949, i16 14112, i16 0, i16 0, i16 14485, i16 12372, i16 0, i16 0, i16 14997, i16 0, i16 0, i16 0, i16 15509, i16 17038, i16 0, i16 0, i16 15765, i16 0, i16 13172, i16 0, i16 16021, i16 0, i16 0, i16 0, i16 16533, i16 17065, i16 15937, i16 0, i16 14742, i16 0, i16 0, i16 0, i16 14998, i16 0, i16 0, i16 0, i16 16278, i16 12741, i16 0, i16 0, i16 16534, i16 0, i16 0, i16 0, i16 14487, i16 0, i16 0, i16 0, i16 16279, i16 0, i16 0, i16 0, i16 13720, i16 0, i16 14858, i16 0, i16 16280, i16 14376, i16 0, i16 0, i16 13721, i16 0, i16 13661, i16 0, i16 15769, i16 0, i16 0, i16 0, i16 16025, i16 0, i16 12517, i16 0, i16 13978, i16 0, i16 0, i16 0, i16 14234, i16 0, i16 0, i16 0, i16 14490, i16 0, i16 16578, i16 0, i16 13467, i16 0, i16 0, i16 0, i16 15259, i16 0, i16 0, i16 0, i16 13724, i16 13489, i16 0, i16 0, i16 14492, i16 0, i16 0, i16 0, i16 15260, i16 0, i16 0, i16 0, i16 12445, i16 0, i16 0, i16 0, i16 13981, i16 0, i16 0, i16 0, i16 14749, i16 0, i16 15349, i16 0, i16 16797, i16 14625, i16 0, i16 0, i16 14750, i16 0, i16 14516, i16 0, i16 15262, i16 0, i16 0, i16 0, i16 15774, i16 0, i16 0, i16 0, i16 16286, i16 13429, i16 14081, i16 0, i16 12703, i16 0, i16 0, i16 0, i16 12959, i16 0, i16 0, i16 0, i16 13471, i16 0, i16 0, i16 0, i16 16799, i16 0, i16 0, i16 0, i16 14240, i16 0, i16 0, i16 0, i16 15264, i16 0, i16 0, i16 0, i16 16288, i16 0, i16 0, i16 0, i16 12449, i16 0, i16 0, i16 0, i16 14754, i16 0, i16 0, i16 0, i16 16034, i16 0, i16 14965, i16 0, i16 13219, i16 0, i16 0, i16 0, i16 13475, i16 12802, i16 0, i16 0, i16 13987, i16 0, i16 0, i16 0, i16 14499, i16 0, i16 14961, i16 0, i16 14755, i16 0, i16 0, i16 0, i16 15011, i16 0, i16 0, i16 0, i16 16035, i16 0, i16 0, i16 0, i16 16803, i16 0, i16 14505, i16 0, i16 13988, i16 0, i16 0, i16 0, i16 15012, i16 0, i16 13477, i16 0, i16 15268, i16 0, i16 0, i16 0, i16 12453, i16 0, i16 0, i16 0, i16 14245, i16 0, i16 0, i16 0, i16 15270, i16 13548, i16 0, i16 0, i16 13223, i16 12676, i16 0, i16 0, i16 15015, i16 0, i16 14969, i16 0, i16 16039, i16 0, i16 0, i16 0, i16 16551, i16 0, i16 0, i16 0, i16 13992, i16 12922, i16 12751, i16 0, i16 14248, i16 0, i16 13984, i16 0, i16 15016, i16 0, i16 0, i16 0, i16 169, i16 347, i16 0, i16 0, i16 14761, i16 0, i16 0, i16 0, i16 16809, i16 0, i16 15476, i16 0, i16 12970, i16 0, i16 0, i16 0, i16 14506, i16 12454, i16 0, i16 0, i16 14762, i16 0, i16 0, i16 0, i16 15786, i16 16009, i16 0, i16 0, i16 14507, i16 0, i16 13835, i16 0, i16 16555, i16 14270, i16 15187, i16 0, i16 12716, i16 16963, i16 13886, i16 0, i16 13740, i16 0, i16 0, i16 0, i16 14252, i16 0, i16 13592, i16 0, i16 15532, i16 0, i16 0, i16 0, i16 173, i16 0, i16 0, i16 0, i16 12461, i16 0, i16 0, i16 0, i16 14510, i16 12978, i16 0, i16 0, i16 16814, i16 0, i16 0, i16 0, i16 12719, i16 15416, i16 0, i16 0, i16 13231, i16 0, i16 0, i16 0, i16 13487, i16 0, i16 0, i16 0, i16 16047, i16 0, i16 0, i16 0, i16 16303, i16 13486, i16 15435, i16 0, i16 12464, i16 0, i16 0, i16 0, i16 13232, i16 0, i16 14864, i16 0, i16 14000, i16 0, i16 0, i16 0, i16 15280, i16 0, i16 0, i16 0, i16 16304, i16 0, i16 0, i16 0, i16 17072, i16 0, i16 13786, i16 0, i16 13745, i16 0, i16 0, i16 0, i16 14001, i16 0, i16 16036, i16 0, i16 17073, i16 0, i16 0, i16 0, i16 12722, i16 0, i16 0, i16 0, i16 14002, i16 13056, i16 16377, i16 0, i16 16306, i16 0, i16 0, i16 0, i16 12467, i16 0, i16 0, i16 0, i16 12979, i16 15210, i16 0, i16 0, i16 13235, i16 16467, i16 0, i16 0, i16 14003, i16 0, i16 12539, i16 0, i16 14259, i16 0, i16 0, i16 0, i16 12468, i16 0, i16 0, i16 0, i16 13236, i16 0, i16 0, i16 0, i16 13748, i16 0, i16 0, i16 0, i16 14772, i16 0, i16 0, i16 0, i16 14261, i16 0, i16 16750, i16 0, i16 15797, i16 0, i16 15079, i16 0, i16 182, i16 181, i16 0, i16 0, i16 12982, i16 0, i16 0, i16 0, i16 16566, i16 14236, i16 12396, i16 0, i16 14007, i16 0, i16 14200, i16 0, i16 15287, i16 15298, i16 0, i16 0, i16 16311, i16 0, i16 0, i16 0, i16 17079, i16 0, i16 16957, i16 0, i16 14008, i16 0, i16 0, i16 0, i16 14264, i16 0, i16 0, i16 0, i16 15032, i16 0, i16 0, i16 0, i16 15800, i16 0, i16 12647, i16 0, i16 17080, i16 0, i16 0, i16 0, i16 14777, i16 0, i16 12653, i16 0, i16 12730, i16 13939, i16 0, i16 0, i16 13242, i16 0, i16 0, i16 0, i16 17082, i16 15463, i16 0, i16 0, i16 13243, i16 0, i16 0, i16 0, i16 13499, i16 0, i16 12619, i16 0, i16 15547, i16 0, i16 0, i16 0, i16 16059, i16 0, i16 0, i16 0, i16 16827, i16 0, i16 0, i16 0, i16 12732, i16 0, i16 0, i16 0, i16 14780, i16 0, i16 0, i16 0, i16 16060, i16 16222, i16 16477, i16 0, i16 14013, i16 0, i16 0, i16 0, i16 16829, i16 14875, i16 0, i16 0, i16 12478, i16 0, i16 13819, i16 0, i16 16318, i16 0, i16 0, i16 0, i16 17086, i16 16766, i16 0, i16 0, i16 959, i16 960, i16 961, i16 0, i16 12479, i16 17114, i16 0, i16 0, i16 16831, i16 0, i16 0, i16 0, i16 17087, i16 0, i16 14320, i16 0, i16 12736, i16 0, i16 0, i16 0, i16 14784, i16 0, i16 0, i16 0, i16 15296, i16 0, i16 0, i16 0, i16 14529, i16 15967, i16 0, i16 0, i16 14785, i16 0, i16 14535, i16 0, i16 16577, i16 0, i16 16787, i16 0, i16 14018, i16 0, i16 12889, i16 0, i16 15554, i16 16918, i16 14331, i16 0, i16 17090, i16 0, i16 0, i16 0, i16 13507, i16 0, i16 0, i16 0, i16 14787, i16 14334, i16 12388, i16 0, i16 15555, i16 13137, i16 0, i16 0, i16 16067, i16 0, i16 14279, i16 0, i16 16835, i16 0, i16 0, i16 0, i16 14276, i16 0, i16 0, i16 0, i16 14532, i16 0, i16 0, i16 0, i16 15812, i16 0, i16 0, i16 0, i16 16580, i16 0, i16 16561, i16 0, i16 17092, i16 13324, i16 0, i16 0, i16 12485, i16 0, i16 0, i16 0, i16 13509, i16 0, i16 0, i16 0, i16 16581, i16 0, i16 0, i16 0, i16 17093, i16 14943, i16 0, i16 0, i16 13766, i16 16326, i16 0, i16 0, i16 15302, i16 0, i16 0, i16 0, i16 12487, i16 16568, i16 0, i16 0, i16 15559, i16 0, i16 0, i16 0, i16 15815, i16 0, i16 13257, i16 0, i16 16327, i16 0, i16 0, i16 0, i16 16583, i16 0, i16 0, i16 0, i16 12488, i16 0, i16 0, i16 0, i16 12744, i16 0, i16 16842, i16 0, i16 14024, i16 17150, i16 0, i16 0, i16 15048, i16 0, i16 0, i16 0, i16 13769, i16 0, i16 0, i16 0, i16 14537, i16 0, i16 0, i16 0, i16 14538, i16 0, i16 0, i16 0, i16 16330, i16 0, i16 0, i16 0, i16 12491, i16 0, i16 0, i16 0, i16 12747, i16 0, i16 0, i16 0, i16 14283, i16 0, i16 0, i16 0, i16 15563, i16 15180, i16 0, i16 0, i16 16331, i16 0, i16 0, i16 0, i16 16587, i16 16365, i16 0, i16 0, i16 204, i16 160, i16 0, i16 0, i16 12492, i16 0, i16 0, i16 0, i16 12748, i16 12463, i16 14825, i16 0, i16 15564, i16 14603, i16 14662, i16 0, i16 16076, i16 16453, i16 0, i16 0, i16 12493, i16 13904, i16 0, i16 0, i16 14029, i16 0, i16 0, i16 0, i16 12750, i16 0, i16 13916, i16 0, i16 15054, i16 0, i16 0, i16 0, i16 16334, i16 0, i16 0, i16 0, i16 16846, i16 0, i16 0, i16 0, i16 15312, i16 16790, i16 14958, i16 0, i16 15824, i16 0, i16 0, i16 0, i16 12497, i16 0, i16 0, i16 0, i16 12498, i16 16586, i16 0, i16 0, i16 13266, i16 0, i16 0, i16 0, i16 16082, i16 0, i16 0, i16 0, i16 16338, i16 16898, i16 0, i16 0, i16 13267, i16 0, i16 0, i16 0, i16 15571, i16 0, i16 13048, i16 0, i16 16339, i16 0, i16 0, i16 0, i16 13268, i16 0, i16 16251, i16 0, i16 14548, i16 0, i16 13322, i16 0, i16 17108, i16 0, i16 0, i16 0, i16 13525, i16 0, i16 0, i16 0, i16 14549, i16 16208, i16 0, i16 0, i16 15061, i16 16355, i16 12754, i16 0, i16 16085, i16 0, i16 16086, i16 0, i16 16341, i16 0, i16 0, i16 0, i16 12758, i16 0, i16 0, i16 0, i16 13782, i16 13206, i16 0, i16 0, i16 14038, i16 0, i16 0, i16 0, i16 14294, i16 0, i16 0, i16 0, i16 13271, i16 15273, i16 0, i16 0, i16 14551, i16 0, i16 0, i16 0, i16 15063, i16 0, i16 0, i16 0, i16 15319, i16 15008, i16 0, i16 0, i16 16087, i16 0, i16 0, i16 0, i16 16855, i16 0, i16 0, i16 0, i16 17111, i16 0, i16 0, i16 0, i16 13528, i16 0, i16 0, i16 0, i16 15320, i16 13709, i16 0, i16 0, i16 15576, i16 0, i16 0, i16 0, i16 15832, i16 0, i16 0, i16 0, i16 17112, i16 0, i16 15491, i16 0, i16 15577, i16 15748, i16 0, i16 0, i16 16857, i16 0, i16 0, i16 0, i16 17113, i16 0, i16 0, i16 0, i16 12506, i16 0, i16 0, i16 0, i16 13530, i16 0, i16 16095, i16 0, i16 15834, i16 16856, i16 0, i16 0, i16 16090, i16 0, i16 15381, i16 0, i16 16346, i16 0, i16 0, i16 0, i16 16858, i16 0, i16 0, i16 0, i16 12507, i16 15526, i16 12403, i16 0, i16 16091, i16 0, i16 0, i16 0, i16 16347, i16 14430, i16 0, i16 0, i16 14044, i16 0, i16 0, i16 0, i16 14556, i16 0, i16 13251, i16 0, i16 12765, i16 0, i16 0, i16 0, i16 17117, i16 0, i16 0, i16 0, i16 14302, i16 0, i16 0, i16 0, i16 16094, i16 0, i16 12956, i16 0, i16 12767, i16 0, i16 0, i16 0, i16 15583, i16 0, i16 14655, i16 0, i16 14304, i16 15497, i16 0, i16 0, i16 14560, i16 0, i16 0, i16 0, i16 15840, i16 0, i16 16260, i16 0, i16 13281, i16 0, i16 0, i16 0, i16 14049, i16 0, i16 0, i16 0, i16 16097, i16 0, i16 12370, i16 0, i16 15074, i16 0, i16 0, i16 0, i16 15330, i16 15690, i16 15960, i16 0, i16 16866, i16 0, i16 0, i16 0, i16 227, i16 0, i16 0, i16 0, i16 12515, i16 0, i16 13876, i16 0, i16 14563, i16 0, i16 0, i16 0, i16 16611, i16 0, i16 0, i16 0, i16 12516, i16 0, i16 0, i16 0, i16 13284, i16 0, i16 0, i16 0, i16 13540, i16 0, i16 0, i16 0, i16 13796, i16 0, i16 0, i16 0, i16 14308, i16 0, i16 0, i16 0, i16 14309, i16 0, i16 0, i16 0, i16 14565, i16 0, i16 16525, i16 0, i16 16101, i16 14818, i16 0, i16 0, i16 16357, i16 14010, i16 0, i16 0, i16 14566, i16 0, i16 0, i16 0, i16 15334, i16 0, i16 0, i16 0, i16 16102, i16 16942, i16 15214, i16 0, i16 15847, i16 0, i16 0, i16 0, i16 16359, i16 15252, i16 0, i16 0, i16 232, i16 0, i16 0, i16 0, i16 15336, i16 0, i16 15165, i16 0, i16 16361, i16 15730, i16 0, i16 0, i16 14058, i16 0, i16 0, i16 0, i16 14314, i16 0, i16 0, i16 0, i16 15082, i16 12921, i16 14023, i16 0, i16 12779, i16 0, i16 0, i16 0, i16 13035, i16 0, i16 0, i16 0, i16 15083, i16 16001, i16 0, i16 0, i16 15595, i16 0, i16 0, i16 0, i16 16107, i16 0, i16 14187, i16 0, i16 16363, i16 0, i16 0, i16 0, i16 236, i16 0, i16 0, i16 0, i16 15596, i16 0, i16 0, i16 0, i16 16876, i16 0, i16 0, i16 0, i16 14061, i16 0, i16 0, i16 0, i16 14829, i16 14436, i16 16437, i16 0, i16 16621, i16 15846, i16 0, i16 0, i16 17133, i16 0, i16 0, i16 0, i16 12782, i16 0, i16 0, i16 0, i16 14318, i16 0, i16 14389, i16 0, i16 15598, i16 12969, i16 0, i16 0, i16 239, i16 0, i16 0, i16 0, i16 13295, i16 0, i16 0, i16 0, i16 496, i16 497, i16 498, i16 0, i16 12784, i16 0, i16 14922, i16 0, i16 16624, i16 0, i16 0, i16 0, i16 16880, i16 16428, i16 16881, i16 0, i16 14322, i16 15067, i16 0, i16 0, i16 14578, i16 0, i16 0, i16 0, i16 15602, i16 0, i16 0, i16 0, i16 12531, i16 0, i16 0, i16 0, i16 13299, i16 14574, i16 0, i16 0, i16 15859, i16 12469, i16 0, i16 0, i16 17139, i16 0, i16 0, i16 0, i16 12532, i16 0, i16 0, i16 0, i16 14836, i16 0, i16 0, i16 0, i16 13301, i16 0, i16 0, i16 0, i16 13557, i16 13244, i16 16772, i16 0, i16 12534, i16 0, i16 13973, i16 0, i16 13814, i16 13690, i16 0, i16 0, i16 14070, i16 0, i16 0, i16 0, i16 15862, i16 0, i16 0, i16 0, i16 16118, i16 0, i16 0, i16 0, i16 13303, i16 0, i16 0, i16 0, i16 13559, i16 14258, i16 0, i16 0, i16 14327, i16 14477, i16 0, i16 0, i16 16119, i16 0, i16 13937, i16 0, i16 16887, i16 0, i16 0, i16 0, i16 17143, i16 12677, i16 0, i16 0, i16 14840, i16 12604, i16 15706, i16 0, i16 14329, i16 0, i16 15728, i16 0, i16 16633, i16 0, i16 15151, i16 0, i16 13818, i16 16626, i16 15466, i16 0, i16 14330, i16 0, i16 0, i16 0, i16 16634, i16 12664, i16 0, i16 0, i16 251, i16 0, i16 0, i16 0, i16 13307, i16 0, i16 12887, i16 0, i16 16123, i16 0, i16 0, i16 0, i16 16379, i16 0, i16 0, i16 0, i16 16635, i16 0, i16 0, i16 0, i16 17147, i16 16591, i16 0, i16 0, i16 12796, i16 0, i16 0, i16 0, i16 14844, i16 0, i16 0, i16 0, i16 15356, i16 0, i16 0, i16 0, i16 15868, i16 0, i16 0, i16 0, i16 16636, i16 0, i16 0, i16 0, i16 16892, i16 13247, i16 0, i16 0, i16 12797, i16 0, i16 0, i16 0, i16 15613, i16 14079, i16 0, i16 0, i16 12286, i16 0, i16 13968, i16 0, i16 14078, i16 0, i16 0, i16 0, i16 14590, i16 13127, i16 0, i16 0, i16 15614, i16 13555, i16 13688, i16 0, i16 15870, i16 0, i16 0, i16 0, i16 16126, i16 0, i16 0, i16 0, i16 16382, i16 0, i16 0, i16 0, i16 12543, i16 0, i16 13728, i16 0, i16 13823, i16 0, i16 13674, i16 0, i16 15615, i16 12820, i16 0, i16 15104, i16 0, i16 0, i16 0, i16 15616, i16 13933, i16 15995, i16 0, i16 16128, i16 0, i16 0, i16 12308, i16 16640, i16 0, i16 0, i16 16054, i16 17152, i16 12348, i16 0, i16 0, i16 257, i16 258, i16 261, i16 260, i16 12801, i16 0, i16 0, i16 0, i16 13569, i16 16879, i16 0, i16 0, i16 14849, i16 0, i16 0, i16 0, i16 15617, i16 14776, i16 0, i16 0, i16 15873, i16 0, i16 14896, i16 0, i16 16385, i16 0, i16 0, i16 0, i16 514, i16 515, i16 516, i16 517, i16 770, i16 771, i16 772, i16 0, i16 1026, i16 1027, i16 1028, i16 1029, i16 13058, i16 12645, i16 0, i16 14683, i16 15874, i16 0, i16 0, i16 12460, i16 16386, i16 0, i16 0, i16 0, i16 259, i16 262, i16 0, i16 0, i16 12803, i16 0, i16 0, i16 0, i16 13059, i16 13351, i16 0, i16 0, i16 14083, i16 14084, i16 0, i16 0, i16 15107, i16 0, i16 0, i16 0, i16 16387, i16 0, i16 15688, i16 0, i16 16643, i16 0, i16 0, i16 0, i16 17155, i16 0, i16 16783, i16 0, i16 13828, i16 0, i16 0, i16 0, i16 15108, i16 12610, i16 14517, i16 0, i16 15364, i16 15365, i16 12936, i16 0, i16 15876, i16 0, i16 0, i16 0, i16 12805, i16 13691, i16 0, i16 0, i16 14853, i16 0, i16 0, i16 0, i16 15621, i16 0, i16 0, i16 0, i16 16901, i16 0, i16 0, i16 16677, i16 17157, i16 0, i16 0, i16 0, i16 518, i16 519, i16 0, i16 0, i16 1030, i16 1031, i16 1032, i16 1033, i16 13574, i16 0, i16 0, i16 0, i16 13830, i16 0, i16 0, i16 0, i16 14086, i16 0, i16 0, i16 0, i16 14342, i16 15893, i16 15892, i16 0, i16 7, i16 8, i16 9, i16 10, i16 263, i16 277, i16 278, i16 0, i16 775, i16 0, i16 0, i16 0, i16 12807, i16 0, i16 0, i16 0, i16 13319, i16 0, i16 0, i16 0, i16 13831, i16 0, i16 0, i16 0, i16 14855, i16 0, i16 0, i16 0, i16 15367, i16 0, i16 0, i16 17002, i16 15879, i16 14820, i16 14767, i16 0, i16 17159, i16 17158, i16 16518, i16 0, i16 776, i16 773, i16 777, i16 233, i16 12552, i16 16573, i16 0, i16 14188, i16 12808, i16 0, i16 0, i16 0, i16 13576, i16 12432, i16 0, i16 0, i16 16904, i16 0, i16 0, i16 0, i16 13065, i16 0, i16 0, i16 0, i16 13321, i16 13327, i16 13330, i16 13434, i16 14345, i16 13568, i16 0, i16 0, i16 15113, i16 14228, i16 0, i16 0, i16 15369, i16 15370, i16 0, i16 0, i16 16393, i16 13771, i16 0, i16 0, i16 266, i16 0, i16 267, i16 0, i16 1034, i16 1035, i16 1036, i16 1037, i16 12298, i16 0, i16 16519, i16 0, i16 12554, i16 0, i16 0, i16 0, i16 14090, i16 15681, i16 12652, i16 0, i16 11, i16 12, i16 13, i16 14, i16 523, i16 524, i16 525, i16 526, i16 779, i16 780, i16 781, i16 0, i16 15371, i16 0, i16 12852, i16 0, i16 15627, i16 0, i16 0, i16 0, i16 16907, i16 14760, i16 0, i16 0, i16 12812, i16 0, i16 13177, i16 0, i16 13068, i16 13069, i16 13070, i16 13072, i16 13580, i16 16024, i16 14835, i16 13381, i16 14604, i16 15275, i16 0, i16 0, i16 15372, i16 12415, i16 0, i16 12648, i16 269, i16 270, i16 0, i16 0, i16 12301, i16 12570, i16 0, i16 12599, i16 12813, i16 0, i16 0, i16 15111, i16 13581, i16 12989, i16 0, i16 0, i16 13837, i16 0, i16 16492, i16 0, i16 14093, i16 0, i16 0, i16 12975, i16 14861, i16 0, i16 15592, i16 0, i16 16141, i16 0, i16 0, i16 0, i16 16653, i16 0, i16 0, i16 0, i16 1038, i16 1039, i16 1040, i16 1041, i16 12814, i16 0, i16 0, i16 12706, i16 13838, i16 14545, i16 16980, i16 0, i16 15374, i16 15377, i16 15382, i16 15384, i16 15630, i16 0, i16 0, i16 0, i16 15886, i16 15536, i16 0, i16 14123, i16 16142, i16 14132, i16 14450, i16 0, i16 15, i16 16, i16 17, i16 18, i16 527, i16 528, i16 529, i16 530, i16 12303, i16 13730, i16 0, i16 0, i16 14095, i16 0, i16 0, i16 0, i16 15375, i16 0, i16 0, i16 0, i16 15631, i16 14274, i16 14286, i16 16727, i16 16143, i16 0, i16 0, i16 12638, i16 16399, i16 0, i16 14372, i16 0, i16 784, i16 0, i16 0, i16 0, i16 13840, i16 0, i16 12299, i16 0, i16 14096, i16 16478, i16 0, i16 0, i16 17168, i16 0, i16 0, i16 0, i16 12305, i16 0, i16 0, i16 13199, i16 12561, i16 0, i16 0, i16 0, i16 13073, i16 13074, i16 13075, i16 13076, i16 14097, i16 0, i16 0, i16 0, i16 14865, i16 0, i16 0, i16 0, i16 15633, i16 12694, i16 0, i16 12377, i16 16401, i16 0, i16 12835, i16 0, i16 1042, i16 1043, i16 1044, i16 0, i16 13586, i16 0, i16 14476, i16 0, i16 13842, i16 12965, i16 0, i16 14265, i16 14098, i16 0, i16 0, i16 0, i16 15122, i16 15419, i16 0, i16 15300, i16 15634, i16 13210, i16 0, i16 0, i16 16402, i16 0, i16 0, i16 12309, i16 17170, i16 16987, i16 16811, i16 14313, i16 19, i16 20, i16 21, i16 0, i16 275, i16 273, i16 0, i16 0, i16 531, i16 532, i16 533, i16 534, i16 12307, i16 0, i16 15734, i16 0, i16 13587, i16 0, i16 0, i16 0, i16 16403, i16 12791, i16 0, i16 0, i16 788, i16 0, i16 0, i16 0, i16 12564, i16 12629, i16 0, i16 14470, i16 14868, i16 14870, i16 14874, i16 14910, i16 16916, i16 13696, i16 0, i16 0, i16 789, i16 697, i16 790, i16 0, i16 1045, i16 1046, i16 1047, i16 1048, i16 12565, i16 0, i16 0, i16 0, i16 12821, i16 0, i16 0, i16 0, i16 13077, i16 13079, i16 13080, i16 13081, i16 13333, i16 0, i16 0, i16 0, i16 14357, i16 0, i16 0, i16 0, i16 14613, i16 13502, i16 0, i16 0, i16 14869, i16 0, i16 0, i16 0, i16 15637, i16 14361, i16 14107, i16 0, i16 22, i16 0, i16 23, i16 24, i16 16150, i16 14012, i16 13767, i16 0, i16 279, i16 276, i16 0, i16 0, i16 535, i16 536, i16 0, i16 537, i16 791, i16 0, i16 0, i16 0, i16 12567, i16 0, i16 0, i16 15172, i16 12823, i16 16179, i16 15581, i16 12312, i16 13847, i16 0, i16 0, i16 13811, i16 14359, i16 0, i16 0, i16 0, i16 14615, i16 0, i16 0, i16 14235, i16 15127, i16 0, i16 15766, i16 0, i16 15383, i16 0, i16 13753, i16 0, i16 12568, i16 0, i16 0, i16 13306, i16 12824, i16 0, i16 15607, i16 12864, i16 14104, i16 0, i16 0, i16 0, i16 14872, i16 0, i16 0, i16 0, i16 15640, i16 0, i16 0, i16 14139, i16 25, i16 26, i16 27, i16 28, i16 281, i16 0, i16 0, i16 0, i16 1049, i16 1050, i16 1052, i16 1053, i16 12313, i16 13332, i16 0, i16 12825, i16 14617, i16 0, i16 13773, i16 15987, i16 16409, i16 0, i16 15799, i16 0, i16 538, i16 539, i16 540, i16 541, i16 12314, i16 0, i16 0, i16 0, i16 12826, i16 0, i16 0, i16 12800, i16 13082, i16 13083, i16 13084, i16 13085, i16 14106, i16 16843, i16 0, i16 16575, i16 14618, i16 0, i16 0, i16 0, i16 15642, i16 0, i16 0, i16 0, i16 13339, i16 15747, i16 0, i16 0, i16 13851, i16 0, i16 13432, i16 0, i16 14363, i16 0, i16 0, i16 15368, i16 14619, i16 0, i16 0, i16 0, i16 15131, i16 0, i16 0, i16 16830, i16 16411, i16 0, i16 0, i16 0, i16 16923, i16 14142, i16 0, i16 14540, i16 12316, i16 0, i16 0, i16 16908, i16 13596, i16 0, i16 15599, i16 0, i16 14364, i16 17134, i16 0, i16 0, i16 14876, i16 0, i16 0, i16 0, i16 15388, i16 15391, i16 15393, i16 15394, i16 29, i16 30, i16 31, i16 32, i16 12317, i16 0, i16 0, i16 15758, i16 12573, i16 0, i16 0, i16 0, i16 13341, i16 0, i16 0, i16 0, i16 14109, i16 0, i16 0, i16 13273, i16 15389, i16 0, i16 14346, i16 14634, i16 286, i16 0, i16 0, i16 679, i16 542, i16 543, i16 0, i16 0, i16 798, i16 799, i16 800, i16 801, i16 1054, i16 1055, i16 1056, i16 1057, i16 12574, i16 0, i16 14714, i16 0, i16 13086, i16 13087, i16 13088, i16 13089, i16 13598, i16 0, i16 0, i16 0, i16 14366, i16 0, i16 0, i16 13288, i16 14622, i16 0, i16 0, i16 13168, i16 14878, i16 14663, i16 0, i16 0, i16 13343, i16 0, i16 0, i16 16050, i16 13855, i16 13834, i16 0, i16 12997, i16 14111, i16 12898, i16 0, i16 14936, i16 14367, i16 0, i16 0, i16 0, i16 15647, i16 0, i16 0, i16 0, i16 16159, i16 0, i16 0, i16 0, i16 544, i16 555, i16 545, i16 556, i16 13600, i16 0, i16 0, i16 0, i16 13856, i16 16531, i16 0, i16 0, i16 14880, i16 0, i16 0, i16 0, i16 16160, i16 0, i16 0, i16 0, i16 16416, i16 0, i16 13817, i16 0, i16 33, i16 34, i16 35, i16 36, i16 13857, i16 0, i16 0, i16 0, i16 546, i16 583, i16 582, i16 557, i16 802, i16 803, i16 804, i16 805, i16 1058, i16 1059, i16 1060, i16 1061, i16 12578, i16 0, i16 0, i16 0, i16 12834, i16 16537, i16 13775, i16 0, i16 14626, i16 0, i16 0, i16 0, i16 15138, i16 0, i16 0, i16 0, i16 16930, i16 0, i16 0, i16 0, i16 291, i16 292, i16 293, i16 294, i16 547, i16 577, i16 576, i16 558, i16 12579, i16 12755, i16 0, i16 0, i16 13091, i16 13092, i16 13096, i16 13097, i16 13347, i16 0, i16 0, i16 0, i16 14627, i16 14539, i16 15436, i16 0, i16 15651, i16 0, i16 15105, i16 0, i16 16931, i16 0, i16 0, i16 12335, i16 548, i16 579, i16 578, i16 559, i16 15908, i16 0, i16 0, i16 0, i16 16164, i16 0, i16 13836, i16 0, i16 16932, i16 15385, i16 0, i16 0, i16 37, i16 38, i16 39, i16 40, i16 549, i16 581, i16 580, i16 560, i16 13349, i16 0, i16 0, i16 0, i16 13605, i16 0, i16 0, i16 0, i16 13861, i16 0, i16 14594, i16 15626, i16 14629, i16 0, i16 12476, i16 0, i16 14885, i16 0, i16 0, i16 0, i16 15141, i16 0, i16 0, i16 12717, i16 15397, i16 0, i16 0, i16 0, i16 15653, i16 0, i16 0, i16 16014, i16 550, i16 571, i16 584, i16 585, i16 806, i16 807, i16 808, i16 809, i16 1062, i16 1063, i16 1064, i16 1065, i16 12326, i16 0, i16 0, i16 0, i16 13606, i16 0, i16 0, i16 0, i16 14118, i16 16596, i16 15068, i16 14731, i16 14886, i16 0, i16 12514, i16 0, i16 16422, i16 0, i16 14654, i16 0, i16 295, i16 296, i16 297, i16 298, i16 551, i16 592, i16 593, i16 567, i16 12839, i16 0, i16 0, i16 0, i16 13607, i16 14883, i16 16707, i16 0, i16 13863, i16 0, i16 0, i16 0, i16 15399, i16 0, i16 0, i16 0, i16 15655, i16 14031, i16 14395, i16 0, i16 16167, i16 0, i16 15903, i16 0, i16 16935, i16 0, i16 0, i16 0, i16 552, i16 573, i16 588, i16 589, i16 13352, i16 0, i16 0, i16 0, i16 13608, i16 0, i16 0, i16 0, i16 14120, i16 0, i16 15293, i16 0, i16 15144, i16 0, i16 0, i16 0, i16 15912, i16 12541, i16 13870, i16 0, i16 41, i16 42, i16 43, i16 44, i16 553, i16 596, i16 597, i16 569, i16 12585, i16 0, i16 0, i16 0, i16 12841, i16 12810, i16 0, i16 0, i16 13865, i16 0, i16 0, i16 13462, i16 14377, i16 12693, i16 0, i16 12872, i16 15913, i16 0, i16 0, i16 0, i16 16169, i16 12857, i16 0, i16 13290, i16 554, i16 600, i16 601, i16 570, i16 810, i16 811, i16 812, i16 813, i16 1066, i16 1067, i16 1068, i16 1069, i16 13866, i16 0, i16 14612, i16 0, i16 14378, i16 0, i16 16272, i16 13312, i16 15402, i16 0, i16 0, i16 0, i16 16426, i16 14161, i16 0, i16 0, i16 16682, i16 0, i16 0, i16 0, i16 16938, i16 0, i16 16694, i16 16603, i16 299, i16 300, i16 301, i16 302, i16 12331, i16 0, i16 0, i16 0, i16 13099, i16 13100, i16 13102, i16 13103, i16 13867, i16 0, i16 0, i16 0, i16 15659, i16 0, i16 0, i16 14841, i16 13612, i16 0, i16 16751, i16 13410, i16 14636, i16 0, i16 0, i16 0, i16 14892, i16 14009, i16 0, i16 0, i16 15148, i16 0, i16 15943, i16 12679, i16 15916, i16 0, i16 0, i16 0, i16 16940, i16 16394, i16 14706, i16 0, i16 45, i16 46, i16 47, i16 48, i16 12333, i16 0, i16 0, i16 12297, i16 12845, i16 0, i16 0, i16 14223, i16 13357, i16 16618, i16 0, i16 0, i16 13613, i16 14635, i16 0, i16 0, i16 13869, i16 0, i16 0, i16 0, i16 15661, i16 0, i16 0, i16 0, i16 15917, i16 16642, i16 0, i16 0, i16 16173, i16 0, i16 0, i16 13254, i16 814, i16 815, i16 816, i16 817, i16 1070, i16 1071, i16 1072, i16 1073, i16 12846, i16 0, i16 16637, i16 13664, i16 303, i16 304, i16 305, i16 306, i16 12847, i16 0, i16 0, i16 0, i16 13615, i16 0, i16 13985, i16 0, i16 13871, i16 0, i16 0, i16 0, i16 14895, i16 0, i16 15844, i16 14089, i16 12592, i16 0, i16 16205, i16 0, i16 13104, i16 13105, i16 13106, i16 13107, i16 13872, i16 0, i16 0, i16 0, i16 15152, i16 0, i16 12319, i16 12545, i16 49, i16 50, i16 51, i16 52, i16 13873, i16 0, i16 0, i16 0, i16 14129, i16 0, i16 0, i16 0, i16 14897, i16 0, i16 0, i16 0, i16 15665, i16 0, i16 16344, i16 16912, i16 15921, i16 16016, i16 14055, i16 13417, i16 16177, i16 0, i16 0, i16 14753, i16 818, i16 819, i16 820, i16 821, i16 1074, i16 1075, i16 1076, i16 1077, i16 15410, i16 15411, i16 15413, i16 15417, i16 16178, i16 14405, i16 0, i16 0, i16 16434, i16 15807, i16 15243, i16 0, i16 307, i16 308, i16 309, i16 310, i16 12339, i16 0, i16 0, i16 15839, i16 14131, i16 0, i16 0, i16 0, i16 14387, i16 0, i16 0, i16 0, i16 14643, i16 15448, i16 0, i16 0, i16 15155, i16 0, i16 0, i16 0, i16 15667, i16 0, i16 0, i16 0, i16 16435, i16 0, i16 0, i16 12749, i16 12596, i16 0, i16 0, i16 0, i16 13108, i16 13109, i16 13114, i16 13115, i16 13364, i16 14877, i16 0, i16 0, i16 14900, i16 0, i16 0, i16 0, i16 16436, i16 0, i16 0, i16 0, i16 53, i16 54, i16 55, i16 56, i16 12597, i16 0, i16 0, i16 16939, i16 13877, i16 0, i16 16491, i16 15185, i16 14901, i16 0, i16 0, i16 0, i16 16949, i16 0, i16 15802, i16 0, i16 566, i16 586, i16 587, i16 561, i16 822, i16 823, i16 824, i16 825, i16 1078, i16 1079, i16 1080, i16 1081, i16 14390, i16 0, i16 0, i16 0, i16 14902, i16 0, i16 0, i16 12930, i16 15158, i16 0, i16 12620, i16 15062, i16 15670, i16 0, i16 0, i16 0, i16 16438, i16 15340, i16 0, i16 16791, i16 311, i16 312, i16 313, i16 314, i16 13367, i16 16221, i16 16526, i16 0, i16 13879, i16 14764, i16 15132, i16 0, i16 15159, i16 15814, i16 0, i16 0, i16 15671, i16 0, i16 0, i16 16804, i16 16439, i16 13563, i16 0, i16 0, i16 16695, i16 0, i16 0, i16 0, i16 568, i16 590, i16 591, i16 563, i16 12600, i16 0, i16 0, i16 0, i16 13624, i16 0, i16 16032, i16 16310, i16 16440, i16 0, i16 12692, i16 13449, i16 16696, i16 0, i16 0, i16 14281, i16 16952, i16 16111, i16 0, i16 0, i16 57, i16 58, i16 59, i16 60, i16 13113, i16 0, i16 0, i16 0, i16 13881, i16 13940, i16 13941, i16 0, i16 15673, i16 16353, i16 0, i16 16691, i16 16441, i16 0, i16 12822, i16 15936, i16 16953, i16 16871, i16 15856, i16 12551, i16 826, i16 827, i16 828, i16 829, i16 1082, i16 1083, i16 1085, i16 1086, i16 14394, i16 15473, i16 0, i16 0, i16 15418, i16 15422, i16 15423, i16 15428, i16 16442, i16 0, i16 0, i16 0, i16 315, i16 316, i16 317, i16 318, i16 15931, i16 0, i16 14069, i16 0, i16 16187, i16 16188, i16 0, i16 0, i16 16699, i16 0, i16 0, i16 16698, i16 572, i16 594, i16 595, i16 562, i16 13116, i16 13117, i16 13118, i16 13119, i16 14908, i16 0, i16 0, i16 14194, i16 61, i16 62, i16 63, i16 64, i16 13629, i16 0, i16 0, i16 0, i16 574, i16 598, i16 599, i16 564, i16 830, i16 831, i16 832, i16 833, i16 12350, i16 0, i16 15031, i16 0, i16 12606, i16 13556, i16 14165, i16 0, i16 16190, i16 0, i16 0, i16 14219, i16 16446, i16 0, i16 0, i16 12529, i16 319, i16 320, i16 321, i16 322, i16 1087, i16 1088, i16 1089, i16 1090, i16 12863, i16 0, i16 0, i16 0, i16 14399, i16 0, i16 0, i16 15204, i16 14911, i16 14912, i16 14914, i16 14915, i16 14144, i16 13858, i16 0, i16 0, i16 14656, i16 0, i16 0, i16 0, i16 15424, i16 0, i16 0, i16 0, i16 16448, i16 14368, i16 17076, i16 12951, i16 65, i16 66, i16 67, i16 68, i16 12609, i16 0, i16 0, i16 0, i16 13121, i16 13122, i16 13292, i16 13314, i16 14657, i16 15421, i16 16239, i16 12586, i16 15169, i16 0, i16 0, i16 16147, i16 834, i16 835, i16 836, i16 837, i16 12354, i16 0, i16 16676, i16 14020, i16 13890, i16 0, i16 0, i16 0, i16 14402, i16 0, i16 15406, i16 0, i16 15426, i16 14351, i16 0, i16 0, i16 16450, i16 17137, i16 0, i16 0, i16 16706, i16 0, i16 0, i16 0, i16 323, i16 324, i16 325, i16 326, i16 1091, i16 1092, i16 1093, i16 1094, i16 12867, i16 0, i16 0, i16 0, i16 13123, i16 0, i16 13799, i16 13101, i16 13635, i16 0, i16 0, i16 0, i16 13891, i16 0, i16 0, i16 0, i16 14147, i16 0, i16 14148, i16 14149, i16 15939, i16 0, i16 14140, i16 13205, i16 16451, i16 0, i16 0, i16 0, i16 12356, i16 0, i16 0, i16 12804, i16 12612, i16 0, i16 0, i16 0, i16 12868, i16 0, i16 0, i16 0, i16 16708, i16 0, i16 0, i16 14124, i16 69, i16 70, i16 71, i16 72, i16 12357, i16 13758, i16 0, i16 17094, i16 838, i16 839, i16 840, i16 841, i16 12870, i16 12894, i16 12907, i16 12992, i16 14150, i16 0, i16 0, i16 13722, i16 14918, i16 14921, i16 14927, i16 14929, i16 16198, i16 0, i16 0, i16 0, i16 327, i16 328, i16 329, i16 330, i16 1095, i16 1096, i16 1097, i16 1098, i16 12871, i16 13304, i16 0, i16 0, i16 14151, i16 15380, i16 0, i16 16447, i16 14407, i16 0, i16 0, i16 0, i16 15431, i16 15432, i16 15433, i16 15434, i16 16199, i16 0, i16 16646, i16 12696, i16 16967, i16 0, i16 0, i16 0, i16 12360, i16 0, i16 0, i16 0, i16 12616, i16 0, i16 0, i16 0, i16 14152, i16 14254, i16 14256, i16 14275, i16 16200, i16 15023, i16 0, i16 0, i16 16968, i16 0, i16 0, i16 15490, i16 73, i16 74, i16 75, i16 76, i16 14409, i16 16493, i16 0, i16 12457, i16 16201, i16 0, i16 0, i16 12412, i16 842, i16 843, i16 844, i16 845, i16 13386, i16 0, i16 0, i16 0, i16 14410, i16 0, i16 0, i16 0, i16 15946, i16 0, i16 0, i16 0, i16 16458, i16 0, i16 0, i16 0, i16 331, i16 332, i16 333, i16 334, i16 1099, i16 1100, i16 1101, i16 1102, i16 13643, i16 0, i16 0, i16 0, i16 14667, i16 16229, i16 14220, i16 0, i16 16203, i16 0, i16 13697, i16 16959, i16 12876, i16 0, i16 14128, i16 0, i16 13644, i16 13645, i16 0, i16 0, i16 13900, i16 0, i16 0, i16 0, i16 14668, i16 15935, i16 0, i16 0, i16 15692, i16 0, i16 0, i16 0, i16 16460, i16 17118, i16 13652, i16 16277, i16 16716, i16 0, i16 0, i16 0, i16 16972, i16 13323, i16 0, i16 0, i16 77, i16 78, i16 79, i16 80, i16 13133, i16 0, i16 0, i16 0, i16 14413, i16 14238, i16 0, i16 0, i16 15437, i16 13403, i16 15831, i16 14474, i16 15693, i16 12584, i16 0, i16 14433, i16 846, i16 847, i16 848, i16 849, i16 12366, i16 0, i16 0, i16 0, i16 12622, i16 0, i16 0, i16 0, i16 14158, i16 0, i16 0, i16 0, i16 15182, i16 15183, i16 15189, i16 15191, i16 15438, i16 0, i16 15541, i16 0, i16 16718, i16 0, i16 0, i16 0, i16 335, i16 336, i16 337, i16 338, i16 1103, i16 1104, i16 1105, i16 1106, i16 16207, i16 13692, i16 0, i16 0, i16 16719, i16 16092, i16 0, i16 12318, i16 16975, i16 0, i16 16560, i16 0, i16 12368, i16 0, i16 14730, i16 16284, i16 12624, i16 13779, i16 0, i16 0, i16 12880, i16 0, i16 0, i16 0, i16 13648, i16 16754, i16 0, i16 0, i16 14672, i16 0, i16 0, i16 0, i16 14928, i16 0, i16 0, i16 0, i16 15440, i16 15484, i16 15485, i16 15488, i16 15952, i16 0, i16 0, i16 0, i16 81, i16 82, i16 83, i16 84, i16 12625, i16 0, i16 0, i16 0, i16 12881, i16 0, i16 0, i16 0, i16 13393, i16 15069, i16 0, i16 0, i16 13905, i16 0, i16 0, i16 0, i16 15441, i16 0, i16 12759, i16 15305, i16 15953, i16 15242, i16 0, i16 0, i16 850, i16 851, i16 0, i16 0, i16 12626, i16 0, i16 16516, i16 0, i16 13138, i16 0, i16 0, i16 0, i16 14930, i16 14931, i16 14933, i16 14937, i16 15954, i16 12429, i16 0, i16 0, i16 16978, i16 0, i16 12756, i16 0, i16 339, i16 340, i16 341, i16 342, i16 1107, i16 1108, i16 1109, i16 1110, i16 12371, i16 0, i16 0, i16 13280, i16 12883, i16 16244, i16 0, i16 14076, i16 852, i16 853, i16 854, i16 855, i16 85, i16 86, i16 87, i16 88, i16 13909, i16 0, i16 0, i16 0, i16 15190, i16 16683, i16 0, i16 0, i16 15446, i16 0, i16 0, i16 16364, i16 16726, i16 0, i16 15405, i16 0, i16 343, i16 344, i16 345, i16 346, i16 14167, i16 0, i16 0, i16 0, i16 16215, i16 0, i16 0, i16 16946, i16 856, i16 857, i16 858, i16 859, i16 12632, i16 0, i16 12954, i16 14051, i16 14680, i16 0, i16 0, i16 16133, i16 15192, i16 0, i16 0, i16 12731, i16 15704, i16 0, i16 0, i16 0, i16 13657, i16 0, i16 16746, i16 15249, i16 14169, i16 0, i16 0, i16 14941, i16 14681, i16 0, i16 0, i16 13062, i16 15193, i16 15196, i16 15203, i16 15208, i16 16217, i16 0, i16 0, i16 0, i16 602, i16 603, i16 575, i16 604, i16 12378, i16 0, i16 0, i16 0, i16 12634, i16 0, i16 0, i16 0, i16 13914, i16 0, i16 0, i16 0, i16 14938, i16 14942, i16 14950, i16 14952, i16 16218, i16 0, i16 15720, i16 15308, i16 16474, i16 0, i16 0, i16 0, i16 12635, i16 0, i16 15162, i16 0, i16 15195, i16 15117, i16 0, i16 0, i16 16219, i16 14723, i16 0, i16 14210, i16 16475, i16 16878, i16 0, i16 0, i16 16731, i16 13425, i16 13354, i16 0, i16 860, i16 861, i16 862, i16 863, i16 12636, i16 12671, i16 12843, i16 12848, i16 15452, i16 0, i16 0, i16 16113, i16 15964, i16 0, i16 0, i16 0, i16 16732, i16 15276, i16 0, i16 0, i16 93, i16 94, i16 95, i16 96, i16 605, i16 606, i16 607, i16 608, i16 12381, i16 0, i16 0, i16 0, i16 12637, i16 0, i16 0, i16 0, i16 15197, i16 0, i16 0, i16 0, i16 16989, i16 16604, i16 16529, i16 12685, i16 12382, i16 0, i16 0, i16 0, i16 13662, i16 17008, i16 17091, i16 15900, i16 15966, i16 0, i16 15965, i16 0, i16 16990, i16 0, i16 0, i16 15548, i16 351, i16 352, i16 353, i16 354, i16 12639, i16 13535, i16 16905, i16 0, i16 13407, i16 14189, i16 0, i16 0, i16 13919, i16 14215, i16 0, i16 0, i16 14175, i16 0, i16 16825, i16 0, i16 14687, i16 0, i16 15830, i16 17030, i16 16479, i16 0, i16 15951, i16 0, i16 864, i16 865, i16 866, i16 0, i16 12384, i16 15412, i16 14756, i16 0, i16 13152, i16 16096, i16 0, i16 0, i16 13408, i16 0, i16 0, i16 0, i16 13920, i16 0, i16 0, i16 0, i16 14688, i16 0, i16 0, i16 0, i16 16224, i16 0, i16 0, i16 0, i16 16480, i16 0, i16 0, i16 0, i16 16992, i16 0, i16 0, i16 0, i16 97, i16 98, i16 99, i16 100, i16 609, i16 610, i16 611, i16 565, i16 12385, i16 15963, i16 0, i16 0, i16 13153, i16 15352, i16 0, i16 0, i16 14177, i16 16622, i16 0, i16 0, i16 15201, i16 13463, i16 0, i16 12601, i16 16481, i16 0, i16 16100, i16 14801, i16 16737, i16 14119, i16 13491, i16 15570, i16 12642, i16 15578, i16 0, i16 15586, i16 14178, i16 0, i16 0, i16 0, i16 14434, i16 0, i16 12816, i16 0, i16 15202, i16 12458, i16 0, i16 0, i16 15714, i16 0, i16 0, i16 0, i16 16738, i16 17040, i16 0, i16 13241, i16 355, i16 356, i16 357, i16 358, i16 14691, i16 0, i16 13169, i16 0, i16 14947, i16 0, i16 0, i16 15534, i16 12644, i16 0, i16 16786, i16 0, i16 12900, i16 14153, i16 16593, i16 0, i16 13668, i16 0, i16 16247, i16 0, i16 101, i16 102, i16 103, i16 104, i16 13157, i16 0, i16 0, i16 0, i16 13413, i16 0, i16 0, i16 0, i16 14181, i16 0, i16 0, i16 0, i16 14437, i16 14744, i16 12562, i16 0, i16 14949, i16 14462, i16 12293, i16 0, i16 16485, i16 0, i16 0, i16 0, i16 16997, i16 13129, i16 0, i16 15959, i16 870, i16 0, i16 0, i16 0, i16 13670, i16 12405, i16 0, i16 0, i16 13926, i16 0, i16 16547, i16 0, i16 15206, i16 0, i16 0, i16 0, i16 16742, i16 0, i16 15362, i16 0, i16 359, i16 360, i16 361, i16 362, i16 13671, i16 0, i16 0, i16 16700, i16 14695, i16 0, i16 14197, i16 0, i16 16231, i16 0, i16 0, i16 15711, i16 16743, i16 0, i16 0, i16 0, i16 16999, i16 12558, i16 0, i16 0, i16 616, i16 622, i16 623, i16 624, i16 13928, i16 13929, i16 0, i16 0, i16 15464, i16 16002, i16 0, i16 0, i16 15976, i16 0, i16 0, i16 16852, i16 16232, i16 0, i16 16003, i16 0, i16 16744, i16 0, i16 14502, i16 13911, i16 105, i16 106, i16 107, i16 108, i16 617, i16 675, i16 690, i16 283, i16 14953, i16 14956, i16 14964, i16 14968, i16 15209, i16 13666, i16 16813, i16 14575, i16 15465, i16 0, i16 0, i16 0, i16 15721, i16 0, i16 0, i16 0, i16 16489, i16 13095, i16 0, i16 14300, i16 16745, i16 0, i16 0, i16 0, i16 14954, i16 0, i16 0, i16 0, i16 363, i16 364, i16 365, i16 366, i16 619, i16 620, i16 621, i16 640, i16 875, i16 0, i16 0, i16 0, i16 12395, i16 0, i16 0, i16 0, i16 13163, i16 0, i16 13604, i16 0, i16 13931, i16 0, i16 16865, i16 13665, i16 14699, i16 0, i16 0, i16 0, i16 15723, i16 0, i16 0, i16 0, i16 16747, i16 15442, i16 12315, i16 0, i16 14444, i16 0, i16 14347, i16 0, i16 14700, i16 15223, i16 0, i16 0, i16 15468, i16 0, i16 0, i16 0, i16 15724, i16 0, i16 0, i16 0, i16 16236, i16 0, i16 12512, i16 16144, i16 109, i16 110, i16 111, i16 112, i16 14701, i16 0, i16 12413, i16 15310, i16 15213, i16 0, i16 0, i16 16807, i16 15981, i16 0, i16 0, i16 14611, i16 12398, i16 0, i16 13810, i16 0, i16 13422, i16 0, i16 0, i16 0, i16 13678, i16 16641, i16 15345, i16 0, i16 14702, i16 0, i16 0, i16 0, i16 15726, i16 0, i16 12419, i16 17035, i16 16238, i16 0, i16 14062, i16 0, i16 367, i16 368, i16 369, i16 370, i16 879, i16 880, i16 881, i16 882, i16 12399, i16 15153, i16 0, i16 0, i16 13423, i16 0, i16 0, i16 17122, i16 14191, i16 0, i16 16427, i16 0, i16 14703, i16 13623, i16 0, i16 16506, i16 15983, i16 15729, i16 0, i16 0, i16 16495, i16 0, i16 16714, i16 0, i16 12656, i16 0, i16 13762, i16 0, i16 13936, i16 0, i16 0, i16 12284, i16 14448, i16 12575, i16 0, i16 13776, i16 14704, i16 0, i16 13229, i16 15194, i16 113, i16 114, i16 115, i16 116, i16 625, i16 626, i16 627, i16 628, i16 12657, i16 16053, i16 0, i16 0, i16 15985, i16 0, i16 16183, i16 13515, i16 17009, i16 0, i16 14554, i16 0, i16 12658, i16 0, i16 0, i16 0, i16 15474, i16 0, i16 16770, i16 0, i16 16498, i16 15164, i16 0, i16 0, i16 17010, i16 0, i16 13788, i16 13789, i16 371, i16 372, i16 373, i16 374, i16 883, i16 884, i16 885, i16 886, i16 14963, i16 15898, i16 0, i16 0, i16 16755, i16 0, i16 0, i16 0, i16 17011, i16 0, i16 0, i16 15514, i16 12404, i16 0, i16 0, i16 0, i16 12916, i16 0, i16 0, i16 14195, i16 16500, i16 0, i16 14290, i16 0, i16 117, i16 118, i16 119, i16 120, i16 629, i16 630, i16 631, i16 618, i16 13173, i16 0, i16 16230, i16 0, i16 13685, i16 13795, i16 16412, i16 0, i16 16245, i16 0, i16 16891, i16 0, i16 16501, i16 0, i16 0, i16 0, i16 12918, i16 0, i16 0, i16 0, i16 13686, i16 0, i16 0, i16 0, i16 13942, i16 13667, i16 0, i16 0, i16 14198, i16 12283, i16 0, i16 0, i16 14710, i16 0, i16 0, i16 0, i16 15478, i16 0, i16 15445, i16 15918, i16 16246, i16 16210, i16 13864, i16 0, i16 16758, i16 0, i16 0, i16 0, i16 375, i16 376, i16 377, i16 378, i16 887, i16 888, i16 889, i16 890, i16 12663, i16 0, i16 0, i16 0, i16 13431, i16 15482, i16 0, i16 0, i16 13687, i16 0, i16 0, i16 0, i16 15479, i16 0, i16 0, i16 0, i16 15735, i16 0, i16 14247, i16 0, i16 15991, i16 0, i16 0, i16 12861, i16 16503, i16 0, i16 0, i16 0, i16 13176, i16 0, i16 0, i16 0, i16 14456, i16 0, i16 0, i16 14707, i16 15224, i16 0, i16 0, i16 0, i16 16248, i16 0, i16 0, i16 0, i16 121, i16 122, i16 123, i16 124, i16 13689, i16 0, i16 0, i16 15343, i16 15481, i16 0, i16 15241, i16 0, i16 16761, i16 15321, i16 0, i16 0, i16 13178, i16 0, i16 16356, i16 0, i16 13946, i16 14970, i16 0, i16 0, i16 14458, i16 0, i16 0, i16 15513, i16 379, i16 380, i16 224, i16 0, i16 891, i16 892, i16 893, i16 894, i16 12923, i16 0, i16 0, i16 0, i16 14203, i16 0, i16 0, i16 0, i16 14459, i16 16609, i16 0, i16 12288, i16 14971, i16 14974, i16 14977, i16 14979, i16 15227, i16 17075, i16 14960, i16 0, i16 17019, i16 12410, i16 0, i16 0, i16 12668, i16 0, i16 12416, i16 0, i16 12924, i16 0, i16 0, i16 16146, i16 13948, i16 13979, i16 14073, i16 14121, i16 16764, i16 0, i16 0, i16 0, i16 17020, i16 0, i16 0, i16 0, i16 125, i16 126, i16 127, i16 132, i16 637, i16 638, i16 671, i16 672, i16 12925, i16 0, i16 0, i16 17153, i16 13437, i16 14216, i16 0, i16 0, i16 15997, i16 0, i16 0, i16 0, i16 16253, i16 17110, i16 16998, i16 0, i16 17021, i16 14028, i16 14602, i16 0, i16 12414, i16 0, i16 0, i16 15940, i16 13182, i16 0, i16 0, i16 0, i16 15230, i16 0, i16 0, i16 0, i16 15998, i16 13078, i16 12795, i16 0, i16 639, i16 688, i16 632, i16 0, i16 895, i16 896, i16 897, i16 898, i16 15487, i16 0, i16 16117, i16 0, i16 16511, i16 0, i16 13967, i16 0, i16 12672, i16 0, i16 0, i16 0, i16 12928, i16 0, i16 0, i16 0, i16 13952, i16 0, i16 0, i16 14693, i16 14720, i16 15363, i16 17000, i16 0, i16 15232, i16 0, i16 0, i16 14017, i16 17024, i16 0, i16 0, i16 0, i16 385, i16 386, i16 387, i16 388, i16 641, i16 680, i16 681, i16 682, i16 12673, i16 15969, i16 15810, i16 15142, i16 12929, i16 14360, i16 15168, i16 0, i16 13953, i16 17120, i16 0, i16 0, i16 15233, i16 0, i16 0, i16 0, i16 15745, i16 13371, i16 15358, i16 16608, i16 16513, i16 0, i16 0, i16 0, i16 16769, i16 0, i16 14392, i16 0, i16 17025, i16 0, i16 0, i16 0, i16 642, i16 643, i16 644, i16 645, i16 12674, i16 0, i16 13497, i16 16005, i16 13186, i16 0, i16 0, i16 0, i16 14466, i16 16629, i16 0, i16 0, i16 15746, i16 0, i16 0, i16 0, i16 131, i16 0, i16 693, i16 0, i16 899, i16 900, i16 901, i16 902, i16 13955, i16 0, i16 14350, i16 0, i16 15235, i16 14924, i16 0, i16 0, i16 16259, i16 0, i16 12776, i16 15255, i16 16771, i16 0, i16 0, i16 0, i16 17027, i16 0, i16 0, i16 0, i16 12932, i16 15535, i16 13829, i16 12760, i16 13188, i16 0, i16 0, i16 16888, i16 13444, i16 0, i16 0, i16 0, i16 14212, i16 0, i16 0, i16 15638, i16 14468, i16 0, i16 15186, i16 13221, i16 16004, i16 0, i16 0, i16 13654, i16 389, i16 390, i16 391, i16 392, i16 12933, i16 15624, i16 0, i16 0, i16 15493, i16 15494, i16 15495, i16 15496, i16 16517, i16 0, i16 12390, i16 0, i16 646, i16 647, i16 648, i16 649, i16 12678, i16 0, i16 0, i16 0, i16 13446, i16 0, i16 0, i16 0, i16 14982, i16 14983, i16 14984, i16 14986, i16 15238, i16 0, i16 14524, i16 0, i16 15750, i16 0, i16 14589, i16 0, i16 16774, i16 12986, i16 15718, i16 0, i16 903, i16 904, i16 905, i16 906, i16 13447, i16 0, i16 0, i16 0, i16 14471, i16 12595, i16 16282, i16 14959, i16 15751, i16 0, i16 14208, i16 0, i16 16263, i16 0, i16 14091, i16 0, i16 16775, i16 15669, i16 0, i16 0, i16 136, i16 348, i16 349, i16 350, i16 12424, i16 12430, i16 12447, i16 12611, i16 12680, i16 0, i16 16168, i16 0, i16 14472, i16 14429, i16 0, i16 0, i16 15240, i16 15283, i16 15323, i16 15359, i16 15752, i16 15337, i16 15932, i16 14724, i16 16264, i16 0, i16 0, i16 0, i16 16520, i16 0, i16 0, i16 0, i16 137, i16 203, i16 0, i16 0, i16 393, i16 394, i16 395, i16 396, i16 12937, i16 15537, i16 0, i16 0, i16 14217, i16 0, i16 0, i16 0, i16 16777, i16 0, i16 0, i16 0, i16 17033, i16 0, i16 15761, i16 0, i16 138, i16 139, i16 0, i16 0, i16 650, i16 651, i16 657, i16 658, i16 12682, i16 0, i16 0, i16 0, i16 12938, i16 0, i16 0, i16 0, i16 14218, i16 0, i16 0, i16 16130, i16 16778, i16 13956, i16 0, i16 0, i16 17034, i16 0, i16 13841, i16 12533, i16 907, i16 908, i16 909, i16 910, i16 12427, i16 0, i16 0, i16 0, i16 13195, i16 0, i16 16922, i16 0, i16 13707, i16 0, i16 0, i16 0, i16 14475, i16 0, i16 0, i16 0, i16 15499, i16 15502, i16 15504, i16 15510, i16 16011, i16 0, i16 0, i16 16509, i16 16779, i16 12836, i16 16582, i16 0, i16 140, i16 141, i16 0, i16 0, i16 652, i16 653, i16 654, i16 655, i16 12684, i16 0, i16 0, i16 0, i16 13452, i16 12433, i16 0, i16 0, i16 13708, i16 0, i16 14987, i16 0, i16 13964, i16 0, i16 15770, i16 16631, i16 14988, i16 14989, i16 14990, i16 14993, i16 15500, i16 0, i16 0, i16 0, i16 15756, i16 17160, i16 0, i16 0, i16 16012, i16 0, i16 0, i16 0, i16 16780, i16 14427, i16 14651, i16 16249, i16 397, i16 398, i16 399, i16 400, i16 14733, i16 15528, i16 0, i16 0, i16 15245, i16 16145, i16 12910, i16 15246, i16 142, i16 143, i16 0, i16 0, i16 12686, i16 0, i16 0, i16 0, i16 16270, i16 15176, i16 16407, i16 0, i16 911, i16 912, i16 913, i16 914, i16 12687, i16 0, i16 0, i16 0, i16 13455, i16 13547, i16 13572, i16 13917, i16 15759, i16 0, i16 0, i16 0, i16 16527, i16 13808, i16 0, i16 12337, i16 144, i16 145, i16 146, i16 147, i16 656, i16 0, i16 0, i16 0, i16 13200, i16 0, i16 0, i16 14170, i16 13456, i16 0, i16 0, i16 0, i16 401, i16 402, i16 403, i16 404, i16 12945, i16 13998, i16 0, i16 0, i16 13457, i16 16256, i16 0, i16 16553, i16 13969, i16 13521, i16 0, i16 0, i16 15505, i16 0, i16 0, i16 0, i16 12434, i16 0, i16 15058, i16 13539, i16 12690, i16 14684, i16 12987, i16 16033, i16 14482, i16 0, i16 0, i16 0, i16 15250, i16 0, i16 0, i16 0, i16 15762, i16 14596, i16 16510, i16 0, i16 16274, i16 13878, i16 0, i16 0, i16 16530, i16 0, i16 0, i16 13211, i16 659, i16 660, i16 661, i16 662, i16 915, i16 916, i16 917, i16 918, i16 13971, i16 0, i16 12440, i16 0, i16 14739, i16 0, i16 0, i16 0, i16 14995, i16 14996, i16 14999, i16 15000, i16 15507, i16 14598, i16 14237, i16 15914, i16 15763, i16 15390, i16 12379, i16 14705, i16 16275, i16 0, i16 0, i16 0, i16 148, i16 149, i16 150, i16 151, i16 13460, i16 0, i16 16753, i16 15034, i16 13716, i16 13717, i16 15801, i16 0, i16 14484, i16 13903, i16 14323, i16 0, i16 15764, i16 0, i16 15835, i16 0, i16 16276, i16 16223, i16 0, i16 0, i16 405, i16 406, i16 407, i16 408, i16 12437, i16 0, i16 0, i16 13759, i16 13461, i16 0, i16 0, i16 0, i16 15253, i16 0, i16 0, i16 0, i16 14486, i16 15451, i16 0, i16 16104, i16 663, i16 664, i16 665, i16 666, i16 919, i16 920, i16 921, i16 922, i16 13207, i16 0, i16 0, i16 15529, i16 13719, i16 12365, i16 16469, i16 15002, i16 14231, i16 12961, i16 0, i16 0, i16 14743, i16 0, i16 0, i16 0, i16 15511, i16 15515, i16 15516, i16 15519, i16 15767, i16 14614, i16 0, i16 13954, i16 152, i16 153, i16 0, i16 199, i16 12952, i16 0, i16 0, i16 0, i16 13208, i16 0, i16 0, i16 0, i16 14232, i16 0, i16 0, i16 0, i16 15256, i16 13725, i16 0, i16 16406, i16 16792, i16 0, i16 12502, i16 0, i16 17048, i16 0, i16 16613, i16 0, i16 409, i16 410, i16 411, i16 412, i16 12697, i16 0, i16 0, i16 0, i16 13465, i16 0, i16 15265, i16 16948, i16 14489, i16 0, i16 12306, i16 0, i16 15001, i16 15003, i16 15009, i16 15014, i16 12442, i16 13226, i16 0, i16 14226, i16 12698, i16 15313, i16 0, i16 17014, i16 15258, i16 0, i16 0, i16 0, i16 16538, i16 13681, i16 16557, i16 0, i16 667, i16 612, i16 613, i16 614, i16 923, i16 924, i16 925, i16 926, i16 12443, i16 16521, i16 0, i16 16894, i16 16539, i16 16116, i16 14202, i16 15247, i16 16795, i16 16796, i16 16864, i16 16991, i16 17052, i16 0, i16 0, i16 0, i16 157, i16 177, i16 0, i16 0, i16 413, i16 414, i16 415, i16 416, i16 669, i16 670, i16 285, i16 687, i16 12957, i16 0, i16 12393, i16 0, i16 13213, i16 0, i16 13510, i16 0, i16 15005, i16 0, i16 0, i16 0, i16 15517, i16 0, i16 0, i16 0, i16 16541, i16 15492, i16 0, i16 0, i16 158, i16 159, i16 0, i16 0, i16 12702, i16 16396, i16 16565, i16 0, i16 13726, i16 0, i16 15904, i16 0, i16 15006, i16 0, i16 0, i16 13595, i16 15518, i16 0, i16 0, i16 0, i16 927, i16 928, i16 929, i16 930, i16 13983, i16 0, i16 0, i16 0, i16 16287, i16 0, i16 0, i16 0, i16 17055, i16 0, i16 0, i16 0, i16 13472, i16 14810, i16 14523, i16 0, i16 15520, i16 15531, i16 15539, i16 15540, i16 16544, i16 0, i16 12913, i16 0, i16 161, i16 205, i16 0, i16 0, i16 417, i16 418, i16 419, i16 420, i16 673, i16 633, i16 634, i16 635, i16 13729, i16 14746, i16 0, i16 15579, i16 14497, i16 0, i16 0, i16 13296, i16 16545, i16 0, i16 0, i16 15030, i16 162, i16 154, i16 868, i16 869, i16 12450, i16 0, i16 0, i16 0, i16 13218, i16 16234, i16 0, i16 0, i16 13474, i16 0, i16 15986, i16 0, i16 931, i16 932, i16 933, i16 934, i16 12963, i16 16061, i16 0, i16 0, i16 13731, i16 14781, i16 15351, i16 0, i16 14243, i16 0, i16 0, i16 0, i16 17059, i16 15542, i16 13128, i16 0, i16 13476, i16 0, i16 0, i16 0, i16 13732, i16 0, i16 0, i16 15733, i16 15524, i16 0, i16 13441, i16 0, i16 16548, i16 16337, i16 0, i16 13756, i16 17060, i16 0, i16 0, i16 0, i16 421, i16 422, i16 423, i16 424, i16 12709, i16 0, i16 0, i16 0, i16 13733, i16 0, i16 0, i16 0, i16 13989, i16 0, i16 0, i16 0, i16 14501, i16 0, i16 0, i16 15771, i16 15013, i16 0, i16 13401, i16 13158, i16 15525, i16 0, i16 0, i16 0, i16 16805, i16 15459, i16 15096, i16 13761, i16 17061, i16 0, i16 14417, i16 0, i16 12966, i16 0, i16 15984, i16 0, i16 13734, i16 0, i16 13803, i16 13637, i16 14246, i16 0, i16 14315, i16 0, i16 16038, i16 0, i16 0, i16 14842, i16 16550, i16 12792, i16 0, i16 0, i16 17062, i16 0, i16 0, i16 15604, i16 167, i16 168, i16 218, i16 381, i16 935, i16 936, i16 937, i16 938, i16 13735, i16 0, i16 13742, i16 13171, i16 14759, i16 16681, i16 0, i16 13892, i16 15271, i16 15272, i16 14418, i16 0, i16 12968, i16 0, i16 14867, i16 0, i16 16040, i16 0, i16 16175, i16 0, i16 16552, i16 16563, i16 16665, i16 16686, i16 425, i16 426, i16 427, i16 428, i16 13225, i16 15942, i16 13512, i16 0, i16 13481, i16 0, i16 0, i16 0, i16 15017, i16 15018, i16 15020, i16 15021, i16 15785, i16 0, i16 0, i16 16662, i16 16297, i16 0, i16 0, i16 0, i16 12714, i16 0, i16 12438, i16 16242, i16 14250, i16 16679, i16 14694, i16 0, i16 15530, i16 15333, i16 0, i16 0, i16 16298, i16 15512, i16 0, i16 13777, i16 16554, i16 0, i16 0, i16 13450, i16 171, i16 0, i16 170, i16 0, i16 683, i16 676, i16 677, i16 678, i16 939, i16 940, i16 941, i16 942, i16 12459, i16 16235, i16 0, i16 0, i16 12715, i16 0, i16 0, i16 0, i16 12971, i16 0, i16 0, i16 0, i16 13227, i16 0, i16 0, i16 0, i16 15787, i16 0, i16 0, i16 0, i16 17067, i16 0, i16 0, i16 0, i16 172, i16 0, i16 0, i16 0, i16 12972, i16 0, i16 0, i16 15139, i16 13228, i16 0, i16 0, i16 0, i16 14508, i16 0, i16 13704, i16 0, i16 16044, i16 0, i16 0, i16 0, i16 16556, i16 0, i16 0, i16 0, i16 429, i16 430, i16 431, i16 432, i16 685, i16 0, i16 0, i16 686, i16 13485, i16 0, i16 0, i16 0, i16 13997, i16 0, i16 0, i16 0, i16 14509, i16 13175, i16 16316, i16 0, i16 15533, i16 0, i16 0, i16 0, i16 15789, i16 17036, i16 0, i16 0, i16 16045, i16 0, i16 16600, i16 0, i16 16301, i16 0, i16 15820, i16 12844, i16 12718, i16 16063, i16 12914, i16 14117, i16 12974, i16 0, i16 16705, i16 0, i16 13230, i16 0, i16 15623, i16 13677, i16 14766, i16 0, i16 0, i16 0, i16 15022, i16 0, i16 13436, i16 0, i16 15278, i16 0, i16 14272, i16 0, i16 16302, i16 14904, i16 16258, i16 16283, i16 16558, i16 16824, i16 0, i16 0, i16 943, i16 944, i16 945, i16 946, i16 14255, i16 16131, i16 0, i16 13355, i16 15791, i16 0, i16 0, i16 0, i16 16815, i16 0, i16 0, i16 0, i16 17071, i16 0, i16 0, i16 0, i16 13488, i16 0, i16 0, i16 0, i16 14768, i16 0, i16 14039, i16 0, i16 15024, i16 15039, i16 15041, i16 15046, i16 433, i16 434, i16 435, i16 436, i16 689, i16 684, i16 0, i16 0, i16 12465, i16 13274, i16 0, i16 13752, i16 12721, i16 16798, i16 14932, i16 0, i16 12977, i16 0, i16 12908, i16 0, i16 14257, i16 14133, i16 0, i16 0, i16 15025, i16 0, i16 0, i16 0, i16 16817, i16 12884, i16 0, i16 0, i16 12466, i16 16789, i16 12563, i16 13222, i16 13234, i16 0, i16 0, i16 0, i16 15794, i16 0, i16 0, i16 0, i16 947, i16 948, i16 949, i16 950, i16 12723, i16 0, i16 0, i16 0, i16 14771, i16 0, i16 13435, i16 0, i16 16051, i16 15890, i16 0, i16 0, i16 16819, i16 12329, i16 0, i16 17001, i16 692, i16 0, i16 0, i16 0, i16 12724, i16 0, i16 13132, i16 0, i16 15796, i16 0, i16 0, i16 0, i16 16308, i16 16502, i16 16504, i16 16536, i16 437, i16 438, i16 439, i16 440, i16 12725, i16 0, i16 0, i16 0, i16 13493, i16 0, i16 0, i16 0, i16 14005, i16 0, i16 0, i16 0, i16 15029, i16 0, i16 0, i16 0, i16 12726, i16 0, i16 15184, i16 0, i16 13238, i16 16154, i16 16911, i16 0, i16 14006, i16 0, i16 0, i16 0, i16 14774, i16 0, i16 0, i16 0, i16 15286, i16 0, i16 0, i16 0, i16 16822, i16 14980, i16 0, i16 0, i16 17078, i16 0, i16 0, i16 0, i16 951, i16 952, i16 953, i16 954, i16 12471, i16 0, i16 0, i16 12778, i16 13751, i16 0, i16 16204, i16 0, i16 14519, i16 0, i16 0, i16 0, i16 14775, i16 0, i16 0, i16 0, i16 15543, i16 15546, i16 15549, i16 15550, i16 12472, i16 16606, i16 14284, i16 0, i16 13240, i16 12549, i16 0, i16 13294, i16 15288, i16 0, i16 0, i16 0, i16 16056, i16 0, i16 0, i16 0, i16 441, i16 442, i16 443, i16 444, i16 12473, i16 0, i16 0, i16 0, i16 14521, i16 14717, i16 14727, i16 14735, i16 15289, i16 12888, i16 0, i16 16378, i16 16313, i16 13827, i16 0, i16 14976, i16 16569, i16 16206, i16 0, i16 0, i16 698, i16 0, i16 0, i16 0, i16 14266, i16 0, i16 0, i16 0, i16 14778, i16 0, i16 0, i16 0, i16 16058, i16 0, i16 0, i16 0, i16 955, i16 956, i16 957, i16 958, i16 14267, i16 0, i16 0, i16 0, i16 12988, i16 0, i16 0, i16 0, i16 14268, i16 0, i16 13468, i16 0, i16 15036, i16 0, i16 0, i16 0, i16 16572, i16 14518, i16 12691, i16 13239, i16 189, i16 188, i16 0, i16 253, i16 445, i16 446, i16 447, i16 448, i16 12477, i16 15331, i16 0, i16 0, i16 13245, i16 0, i16 0, i16 0, i16 13757, i16 0, i16 0, i16 14374, i16 14525, i16 0, i16 13038, i16 0, i16 16317, i16 0, i16 0, i16 0, i16 17085, i16 0, i16 15086, i16 0, i16 15038, i16 0, i16 17064, i16 0, i16 15806, i16 0, i16 0, i16 0, i16 16574, i16 0, i16 0, i16 0, i16 14783, i16 0, i16 0, i16 0, i16 15551, i16 15803, i16 0, i16 16468, i16 704, i16 705, i16 706, i16 707, i16 13248, i16 14745, i16 0, i16 15254, i16 13504, i16 0, i16 0, i16 0, i16 14016, i16 15498, i16 16826, i16 0, i16 15808, i16 0, i16 12581, i16 0, i16 16320, i16 0, i16 0, i16 0, i16 16576, i16 0, i16 0, i16 0, i16 193, i16 192, i16 0, i16 0, i16 449, i16 450, i16 451, i16 452, i16 12481, i16 15674, i16 0, i16 0, i16 12737, i16 0, i16 0, i16 16125, i16 12993, i16 12996, i16 12999, i16 13000, i16 13505, i16 12448, i16 0, i16 16713, i16 15297, i16 15282, i16 16915, i16 0, i16 16321, i16 0, i16 0, i16 0, i16 17089, i16 0, i16 0, i16 0, i16 962, i16 963, i16 964, i16 965, i16 12482, i16 0, i16 0, i16 0, i16 12994, i16 0, i16 0, i16 14948, i16 13250, i16 0, i16 17056, i16 0, i16 15042, i16 0, i16 0, i16 0, i16 16322, i16 0, i16 0, i16 0, i16 195, i16 196, i16 194, i16 197, i16 12483, i16 16508, i16 13428, i16 13090, i16 14019, i16 15663, i16 0, i16 14242, i16 15043, i16 0, i16 15522, i16 0, i16 15299, i16 14752, i16 16138, i16 12614, i16 15811, i16 0, i16 0, i16 0, i16 708, i16 709, i16 710, i16 711, i16 12484, i16 0, i16 13845, i16 0, i16 13508, i16 12695, i16 0, i16 0, i16 453, i16 454, i16 455, i16 456, i16 13253, i16 0, i16 0, i16 0, i16 13765, i16 0, i16 0, i16 12940, i16 14021, i16 0, i16 0, i16 0, i16 14789, i16 0, i16 12336, i16 0, i16 15557, i16 0, i16 0, i16 0, i16 16069, i16 0, i16 14166, i16 0, i16 198, i16 271, i16 274, i16 272, i16 966, i16 967, i16 968, i16 969, i16 12486, i16 15292, i16 0, i16 0, i16 14022, i16 12548, i16 0, i16 0, i16 14534, i16 14770, i16 0, i16 14512, i16 14790, i16 0, i16 0, i16 0, i16 15558, i16 0, i16 0, i16 0, i16 16070, i16 15545, i16 0, i16 0, i16 13255, i16 0, i16 0, i16 0, i16 15047, i16 15051, i16 15053, i16 15055, i16 16071, i16 16132, i16 16153, i16 16237, i16 712, i16 713, i16 714, i16 715, i16 14280, i16 0, i16 15295, i16 0, i16 14536, i16 0, i16 0, i16 0, i16 16072, i16 16419, i16 0, i16 15427, i16 17096, i16 0, i16 0, i16 0, i16 457, i16 458, i16 459, i16 460, i16 12489, i16 0, i16 0, i16 13963, i16 13001, i16 13002, i16 13003, i16 13004, i16 14025, i16 0, i16 0, i16 0, i16 14793, i16 16370, i16 0, i16 0, i16 15049, i16 0, i16 14621, i16 15073, i16 15561, i16 0, i16 0, i16 15636, i16 16585, i16 0, i16 0, i16 16785, i16 970, i16 971, i16 972, i16 973, i16 12490, i16 0, i16 0, i16 0, i16 12746, i16 13990, i16 0, i16 0, i16 14026, i16 0, i16 13980, i16 0, i16 15818, i16 15722, i16 0, i16 14075, i16 17098, i16 0, i16 0, i16 0, i16 14795, i16 0, i16 0, i16 0, i16 15307, i16 0, i16 0, i16 0, i16 15819, i16 0, i16 0, i16 15927, i16 16075, i16 0, i16 0, i16 0, i16 716, i16 717, i16 718, i16 719, i16 14796, i16 0, i16 16022, i16 0, i16 15052, i16 0, i16 13418, i16 12665, i16 16844, i16 0, i16 0, i16 0, i16 461, i16 462, i16 463, i16 464, i16 13261, i16 0, i16 0, i16 0, i16 14541, i16 13220, i16 0, i16 0, i16 15309, i16 0, i16 12712, i16 0, i16 15565, i16 15566, i16 15568, i16 15573, i16 15821, i16 0, i16 16052, i16 0, i16 17101, i16 0, i16 0, i16 0, i16 974, i16 975, i16 976, i16 977, i16 13006, i16 13007, i16 13008, i16 13009, i16 13518, i16 0, i16 0, i16 14415, i16 14542, i16 0, i16 0, i16 0, i16 16078, i16 14393, i16 0, i16 0, i16 207, i16 0, i16 235, i16 0, i16 12495, i16 0, i16 0, i16 16950, i16 13519, i16 0, i16 0, i16 0, i16 15311, i16 0, i16 14830, i16 14282, i16 15567, i16 0, i16 0, i16 16619, i16 15823, i16 0, i16 0, i16 16027, i16 16847, i16 0, i16 0, i16 14496, i16 17103, i16 17115, i16 0, i16 0, i16 208, i16 0, i16 0, i16 209, i16 720, i16 721, i16 722, i16 723, i16 14544, i16 0, i16 0, i16 0, i16 15056, i16 15059, i16 15071, i16 15076, i16 16336, i16 0, i16 0, i16 0, i16 16592, i16 15685, i16 0, i16 0, i16 16848, i16 0, i16 13214, i16 0, i16 17104, i16 14273, i16 14711, i16 0, i16 465, i16 466, i16 467, i16 468, i16 12753, i16 14734, i16 0, i16 16252, i16 14033, i16 0, i16 0, i16 15601, i16 16081, i16 0, i16 0, i16 0, i16 978, i16 979, i16 980, i16 981, i16 13010, i16 13012, i16 13013, i16 13014, i16 15826, i16 16028, i16 12772, i16 0, i16 16594, i16 0, i16 0, i16 0, i16 16850, i16 0, i16 16189, i16 0, i16 17106, i16 0, i16 0, i16 12294, i16 14547, i16 0, i16 0, i16 14190, i16 15315, i16 0, i16 0, i16 0, i16 15827, i16 0, i16 0, i16 12830, i16 724, i16 725, i16 726, i16 727, i16 12500, i16 0, i16 0, i16 16134, i16 13524, i16 0, i16 0, i16 0, i16 13780, i16 13256, i16 0, i16 0, i16 14804, i16 16701, i16 0, i16 0, i16 15060, i16 0, i16 12324, i16 0, i16 15316, i16 0, i16 15341, i16 0, i16 15572, i16 0, i16 0, i16 14646, i16 15828, i16 0, i16 13541, i16 15450, i16 469, i16 470, i16 471, i16 472, i16 12501, i16 0, i16 0, i16 0, i16 12757, i16 0, i16 0, i16 14292, i16 13269, i16 0, i16 0, i16 0, i16 13781, i16 0, i16 0, i16 13202, i16 14293, i16 0, i16 0, i16 14850, i16 982, i16 983, i16 984, i16 985, i16 13526, i16 12773, i16 0, i16 13700, i16 15574, i16 15575, i16 15650, i16 15725, i16 16854, i16 0, i16 15593, i16 14511, i16 13015, i16 13017, i16 13019, i16 13020, i16 14295, i16 0, i16 0, i16 0, i16 16599, i16 13986, i16 0, i16 0, i16 728, i16 729, i16 730, i16 731, i16 12504, i16 0, i16 0, i16 0, i16 13272, i16 13695, i16 17084, i16 13561, i16 14040, i16 16182, i16 16408, i16 0, i16 14296, i16 0, i16 0, i16 0, i16 14552, i16 0, i16 13151, i16 16838, i16 217, i16 215, i16 214, i16 206, i16 473, i16 474, i16 475, i16 0, i16 13529, i16 0, i16 15231, i16 0, i16 16089, i16 0, i16 16543, i16 0, i16 986, i16 987, i16 988, i16 989, i16 12762, i16 0, i16 0, i16 12667, i16 14042, i16 0, i16 14899, i16 0, i16 14298, i16 0, i16 0, i16 0, i16 15322, i16 14491, i16 0, i16 12496, i16 16602, i16 0, i16 0, i16 0, i16 12763, i16 0, i16 0, i16 15467, i16 13275, i16 14301, i16 0, i16 17006, i16 13531, i16 0, i16 14555, i16 0, i16 220, i16 0, i16 0, i16 0, i16 476, i16 477, i16 478, i16 479, i16 732, i16 733, i16 734, i16 735, i16 12764, i16 15934, i16 0, i16 16323, i16 14812, i16 12878, i16 0, i16 15877, i16 15580, i16 14196, i16 16484, i16 15632, i16 221, i16 0, i16 175, i16 222, i16 12509, i16 0, i16 0, i16 0, i16 13533, i16 0, i16 0, i16 0, i16 14557, i16 14233, i16 0, i16 0, i16 14813, i16 0, i16 0, i16 0, i16 15325, i16 0, i16 15780, i16 0, i16 16093, i16 16897, i16 13603, i16 0, i16 16349, i16 0, i16 14054, i16 14713, i16 990, i16 991, i16 992, i16 993, i16 12510, i16 15805, i16 13369, i16 0, i16 12766, i16 0, i16 0, i16 0, i16 13022, i16 13026, i16 13030, i16 13032, i16 13278, i16 14015, i16 13585, i16 0, i16 14046, i16 0, i16 0, i16 0, i16 14814, i16 0, i16 0, i16 0, i16 15582, i16 0, i16 0, i16 16043, i16 16350, i16 0, i16 0, i16 0, i16 223, i16 0, i16 268, i16 128, i16 13279, i16 15703, i16 16122, i16 0, i16 14303, i16 0, i16 0, i16 13160, i16 14815, i16 0, i16 0, i16 14647, i16 15327, i16 15373, i16 0, i16 14127, i16 16351, i16 0, i16 14211, i16 0, i16 480, i16 481, i16 482, i16 483, i16 736, i16 737, i16 738, i16 739, i16 13792, i16 0, i16 0, i16 14426, i16 15072, i16 15398, i16 0, i16 0, i16 12769, i16 0, i16 0, i16 0, i16 13537, i16 0, i16 0, i16 0, i16 14305, i16 0, i16 0, i16 0, i16 15585, i16 16868, i16 0, i16 0, i16 226, i16 229, i16 228, i16 231, i16 994, i16 995, i16 996, i16 997, i16 13282, i16 0, i16 0, i16 0, i16 14306, i16 0, i16 12700, i16 0, i16 14562, i16 15395, i16 0, i16 0, i16 16354, i16 0, i16 14249, i16 0, i16 16610, i16 0, i16 0, i16 13023, i16 12771, i16 0, i16 0, i16 0, i16 14307, i16 0, i16 0, i16 0, i16 15587, i16 17070, i16 0, i16 13673, i16 484, i16 485, i16 0, i16 0, i16 740, i16 741, i16 742, i16 743, i16 13028, i16 15378, i16 15379, i16 13805, i16 16612, i16 0, i16 14204, i16 16080, i16 13285, i16 0, i16 0, i16 0, i16 14053, i16 0, i16 13415, i16 0, i16 15589, i16 0, i16 12505, i16 16542, i16 16869, i16 0, i16 12780, i16 0, i16 17125, i16 16445, i16 0, i16 0, i16 230, i16 867, i16 700, i16 0, i16 486, i16 487, i16 488, i16 489, i16 998, i16 999, i16 1000, i16 1001, i16 12518, i16 0, i16 0, i16 0, i16 12774, i16 0, i16 0, i16 0, i16 13542, i16 0, i16 12967, i16 16522, i16 14310, i16 17148, i16 0, i16 0, i16 14822, i16 0, i16 0, i16 0, i16 15078, i16 15095, i16 15173, i16 15174, i16 16358, i16 0, i16 0, i16 13564, i16 16870, i16 0, i16 0, i16 0, i16 13287, i16 0, i16 12943, i16 14498, i16 14567, i16 0, i16 0, i16 0, i16 15335, i16 0, i16 0, i16 0, i16 17127, i16 15461, i16 13470, i16 0, i16 744, i16 745, i16 746, i16 747, i16 14312, i16 0, i16 0, i16 0, i16 15080, i16 15157, i16 13874, i16 13265, i16 16360, i16 0, i16 0, i16 0, i16 16872, i16 0, i16 0, i16 0, i16 13033, i16 13034, i16 13036, i16 13037, i16 13289, i16 12536, i16 0, i16 16564, i16 13545, i16 0, i16 0, i16 15443, i16 13801, i16 0, i16 13620, i16 0, i16 15081, i16 15804, i16 0, i16 0, i16 15849, i16 0, i16 0, i16 0, i16 16617, i16 0, i16 0, i16 0, i16 16873, i16 14697, i16 0, i16 0, i16 234, i16 0, i16 0, i16 0, i16 490, i16 491, i16 492, i16 493, i16 1002, i16 1003, i16 1004, i16 1005, i16 15338, i16 0, i16 0, i16 0, i16 16362, i16 0, i16 14446, i16 15234, i16 16874, i16 0, i16 0, i16 13025, i16 17130, i16 0, i16 0, i16 0, i16 12523, i16 0, i16 13760, i16 0, i16 14059, i16 14375, i16 0, i16 0, i16 14571, i16 0, i16 12662, i16 0, i16 15339, i16 14340, i16 0, i16 0, i16 15851, i16 0, i16 0, i16 16883, i16 748, i16 749, i16 750, i16 751, i16 14316, i16 0, i16 16739, i16 0, i16 14572, i16 0, i16 16192, i16 14871, i16 14828, i16 0, i16 0, i16 0, i16 15852, i16 12976, i16 15777, i16 0, i16 17132, i16 0, i16 0, i16 0, i16 12525, i16 14854, i16 0, i16 0, i16 14573, i16 14036, i16 0, i16 14037, i16 15085, i16 17109, i16 13852, i16 0, i16 16109, i16 15216, i16 13094, i16 0, i16 238, i16 0, i16 0, i16 179, i16 494, i16 495, i16 0, i16 0, i16 1006, i16 1007, i16 1008, i16 1009, i16 13806, i16 15676, i16 16961, i16 0, i16 16366, i16 15218, i16 0, i16 0, i16 12783, i16 0, i16 15396, i16 0, i16 13551, i16 15458, i16 17151, i16 0, i16 13807, i16 0, i16 0, i16 0, i16 14831, i16 0, i16 0, i16 0, i16 15855, i16 0, i16 14172, i16 0, i16 16367, i16 0, i16 14806, i16 12387, i16 240, i16 0, i16 163, i16 164, i16 752, i16 753, i16 754, i16 755, i16 12528, i16 0, i16 0, i16 12349, i16 13040, i16 0, i16 0, i16 15092, i16 13552, i16 13270, i16 0, i16 0, i16 14576, i16 0, i16 0, i16 0, i16 15600, i16 0, i16 0, i16 13650, i16 16368, i16 0, i16 0, i16 17051, i16 17136, i16 15591, i16 12699, i16 0, i16 13041, i16 13042, i16 13043, i16 13044, i16 13297, i16 0, i16 14164, i16 0, i16 14065, i16 0, i16 0, i16 0, i16 14321, i16 14328, i16 14431, i16 14457, i16 16369, i16 0, i16 16030, i16 16833, i16 16625, i16 0, i16 0, i16 0, i16 242, i16 241, i16 0, i16 0, i16 1010, i16 1011, i16 1012, i16 1013, i16 13554, i16 0, i16 0, i16 16702, i16 14066, i16 0, i16 0, i16 0, i16 14834, i16 14837, i16 14838, i16 14845, i16 499, i16 500, i16 501, i16 502, i16 16115, i16 0, i16 13362, i16 0, i16 16371, i16 14903, i16 15888, i16 0, i16 756, i16 757, i16 0, i16 0, i16 15860, i16 0, i16 0, i16 0, i16 16884, i16 0, i16 0, i16 0, i16 245, i16 248, i16 0, i16 249, i16 12789, i16 14319, i16 0, i16 0, i16 13045, i16 13047, i16 13052, i16 13064, i16 14581, i16 0, i16 16841, i16 0, i16 15093, i16 15181, i16 14721, i16 13061, i16 15605, i16 15130, i16 15715, i16 0, i16 15861, i16 0, i16 0, i16 14946, i16 16373, i16 15027, i16 0, i16 0, i16 16885, i16 0, i16 0, i16 16823, i16 246, i16 247, i16 0, i16 250, i16 758, i16 759, i16 760, i16 761, i16 1014, i16 1015, i16 1016, i16 1017, i16 12790, i16 0, i16 0, i16 0, i16 15350, i16 13930, i16 0, i16 0, i16 15606, i16 0, i16 0, i16 0, i16 16886, i16 16410, i16 15882, i16 17128, i16 17142, i16 16149, i16 0, i16 17135, i16 503, i16 504, i16 505, i16 506, i16 13815, i16 0, i16 0, i16 0, i16 14071, i16 0, i16 0, i16 0, i16 14583, i16 0, i16 0, i16 0, i16 14839, i16 16973, i16 15261, i16 17140, i16 13560, i16 0, i16 17083, i16 0, i16 14072, i16 0, i16 0, i16 0, i16 14584, i16 0, i16 15281, i16 0, i16 15608, i16 0, i16 0, i16 0, i16 15864, i16 16748, i16 0, i16 0, i16 16632, i16 15150, i16 0, i16 0, i16 12537, i16 0, i16 0, i16 14973, i16 12793, i16 14630, i16 15850, i16 0, i16 13049, i16 14043, i16 0, i16 0, i16 13305, i16 13263, i16 0, i16 0, i16 15865, i16 0, i16 0, i16 0, i16 17145, i16 16421, i16 0, i16 13784, i16 762, i16 763, i16 764, i16 765, i16 1018, i16 1019, i16 1020, i16 1021, i16 12538, i16 0, i16 0, i16 12960, i16 13050, i16 15974, i16 0, i16 13523, i16 15610, i16 0, i16 0, i16 0, i16 17146, i16 0, i16 0, i16 0, i16 507, i16 508, i16 509, i16 510, i16 13051, i16 0, i16 0, i16 0, i16 15099, i16 17005, i16 17050, i16 16925, i16 15611, i16 15678, i16 0, i16 0, i16 252, i16 0, i16 0, i16 183, i16 13308, i16 14843, i16 0, i16 0, i16 14332, i16 14758, i16 0, i16 0, i16 14588, i16 0, i16 16420, i16 14528, i16 15612, i16 15795, i16 0, i16 0, i16 13309, i16 0, i16 0, i16 0, i16 15869, i16 13439, i16 0, i16 0, i16 16381, i16 0, i16 0, i16 0, i16 16893, i16 14522, i16 0, i16 0, i16 17149, i16 0, i16 12785, i16 0, i16 254, i16 255, i16 0, i16 0, i16 766, i16 767, i16 768, i16 769, i16 1022, i16 1023, i16 1024, i16 1025, i16 13054, i16 0, i16 0, i16 13994, i16 13566, i16 0, i16 0, i16 0, i16 13822, i16 13259, i16 0, i16 15098, i16 511, i16 512, i16 0, i16 513, i16 12287, i16 0, i16 0, i16 13421, i16 12799, i16 0, i16 0, i16 0, i16 13311, i16 0, i16 0, i16 0, i16 13567, i16 0, i16 14077, i16 0, i16 14335, i16 12521, i16 13217, i16 0, i16 14591, i16 15619, i16 0, i16 0, i16 14847, i16 14848, i16 14856, i16 14866], [6 x i8] c"\0A\03\162\00\04", [24 x i64] [i64 48508, i64 48528, i64 48548, i64 14648, i64 48588, i64 48634, i64 48640, i64 14699, i64 48670, i64 52564, i64 52608, i64 14727, i64 53422, i64 61672, i64 61772, i64 16373, i64 0, i64 0, i64 0, i64 0, i64 68630, i64 69002, i64 69010, i64 44726], [2826 x i8] c"\00\00\01\00\00\00\00\00\00\01\00\08\00\01\01\01e\01\01\02\02\00\01\01\01e\01\02\00\02\00\02\02\02d\02\03\00\12\00\02\03\03c\03\03\02\02\00\02\04\04c\04\04\00\12\00\02\05\05b\03\04\02\02\00\02\06\06b\04\05\00\12\00\02\07\05a\03\05\02\02\00\02\08\06a\04\06\00\12\00\02\09\05`\03\06\02\02\00\02\0A\06`\04\07\00\02\00\03\0B\07_\05\08\00\12\00\02\0C\05^\03\08\02\02\00\02\0D\06^\04\09\00\12\00\02\0E\08]\03\09\02\02\00\02\0F\09]\04\0A\00\12\00\02\10\05\\\03\0A\02\02\00\02\11\06\\\04\0B\00\12\00\02\12\08[\03\0B\02\02\00\02\13\09[\04\0C\00\12\00\02\14\05Z\03\0C\02\02\00\02\15\06Z\04\0D\00\12\00\02\16\05Y\03\0D\02\02\00\02\17\06Y\04\0E\00\12\00\02\18\05X\03\0E\02\02\00\02\19\06X\04\0F\00\12\00\02\1A\05W\03\0F\02\02\00\02\1B\06W\04\10\00\12\00\00\1C\0A\8E\06\10\02\02\00\00\1D\0B\8E\07\11\00\12\00\02\1E\05V\03\11\02\02\00\02\1F\06V\04\12\00\12\00\02 \0CU\03\12\02\02\00\02!\0DU\04\13\00\12\00\02\22\05T\08\13\02\02\00\02#\06T\09\14\00\12\00\02$\05S\08\14\02\02\00\02%\06S\09\15\00\15\00\01&\0ER\0A\15\02\02\00\01&\0FR\0B\16\00\05\00\01'\10Q\0C\16\02\02\00\01(\11Q\0D\17\00\05\00\04)\12P\0E\17\02\02\00\04*\13P\0F\18\00\02\00\02+\14O\10\19\00\02\00\03,\15N\11\1A\00\08\00\05-\16M\12\1A\02\02\00\05.\16M\12\1B\00\0E\00\05/\17L\13\1B\02\02\00\05/\18L\13\1C\00\08\00\050\19\8B\14\1C\02\02\00\051\1A\8B\14\1D\00\0C\00\052\19\8B\14\1D\02\02\00\051\1A\8B\14\1E\00\0E\00\063\1B\8C\15\1E\02\02\00\074\1C\8C\15\1F\00\0B\00\025\1DK\16\1F\02\02\00\026\1DK\16 \00\08\00\017\1E\8A\17 \02\02\00\017\1F\8A\17!\00\08\00\058 J\18!\02\02\00\059!J\18\22\00\0C\00\05: J\18\22\02\02\00\059!J\18#\00\08\00\01;\22I\18#\02\02\00\01<#I\18$\00\0C\00\01=\22I\18$\02\02\00\01<#I\18%\00\08\00\08>$H\18%\02\02\00\08>%H\18&\00\08\00\01?$G\18&\02\02\00\01@%G\18'\00\0C\00\01A$G\18'\02\02\00\01@%G\18(\00\08\00\01;\22F\18(\02\02\00\01<#F\18)\00\0C\00\01=\22F\18)\02\02\00\01<#F\18*\00\13\00\09B&E\19*\02\02\00\09C'E\1A+\00\08\00\02D(D\02+\02\02\00\02D(D\02,\00\08\00\02E)C\1B,\02\02\00\02E)C\1B-\00\08\00\02F*\89\1C-\02\02\00\02F*\89\1C.\00\08\00\01G+B\1D.\02\02\00\01H+B\1D/\00\08\00\025)A\02/\02\02\00\026)A\020\00\08\00\02I,@\1E0\02\02\00\02I,@\1E1\00\08\00\02J)?\021\02\02\00\02K)?\022\00\0C\00\02L)?\022\02\02\00\02K)?\023\00\02\00\03\0B->\1E4\00\08\00\02M)=\024\02\02\00\02M)=\025\00\08\00\02N.<\1E5\02\02\00\02N.<\1E6\00\08\00\02O/;\1E6\02\02\00\02O/;\1E7\00\08\00\02P0:\027\02\02\00\02P0:\028\00\08\00\02Q)9\1B8\02\02\00\02Q)9\1B9\00\08\00\02R)8\1B9\02\02\00\02R)8\1B:\02\02\00\05S17\1F;\00\08\00\01T2\88 ;\02\02\00\01T3\88 <\00\08\00\05U2\87 <\02\02\00\05U3\87 =\00\08\00\05V2\86 =\02\02\00\05V3\86 >\00\08\00\05W2\85 >\02\02\00\05W3\85 ?\00\08\00\00X2\84 ?\02\02\00\00X3\84 @\00\08\00\00Y2\83 @\02\02\00\00Y3\83 A\00\08\00\05Z2\82 A\02\02\00\05Z3\82 B\00\08\00\05[2\81 B\02\02\00\05\\3\81 C\00\0C\00\05]2\81 C\02\02\00\05\\3\81 D\00\08\00\00^2\80 D\02\02\00\00^3\80 E\00\08\00\00_2\7F E\02\02\00\00_3\7F F\00\08\00\00`2~ F\02\02\00\00`3~ G\00\08\00\00a2} G\02\02\00\00a3} H\00\08\00\00b2| H\02\02\00\00b3| I\00\08\00\00c2{ I\02\02\00\00c3{ J\00\08\00\00d2z J\02\02\00\00d3z K\00\08\00\05e2y K\02\02\00\05e3y L\00\08\00\00f2x L\02\02\00\00g3x M\00\08\00\02P2w M\02\02\00\02P3w N\00\08\00\05h2v N\02\02\00\05h3v O\00\08\00\05i2u O\02\02\00\05i3u P\00\08\00\06j4t!P\02\02\00\07k5t!Q\00\08\00\05l66\22Q\02\02\00\05m66\22R\00\0C\00\05n66\22R\02\02\00\05m66\22S\02\02\01\0Ao75#S\00\02\01\0Ao75#T\00\08\00\01p8s$T\02\02\00\01q9s$U\00\0C\00\01r8s$U\02\02\00\01q9s$V\00\08\00\017:r%V\02\02\00\017;r%W\00\08\00\09?<4&W\02\02\00\09@=4&X\00\0C\00\09A<4&X\02\02\00\09@=4&Y\00\08\00\0Bs>q'Y\02\02\00\0Bs?q'Z\00\08\00\05>@3(Z\02\02\00\05>A3([\00\08\00\05-B2'[\02\02\00\05.C2'\\\00\0C\00\05tB2'\\\02\02\00\05.C2']\00\08\00\05-B1']\02\02\00\05.C1'^\00\0C\00\05tB1'^\02\02\00\05.C1'_\00\08\00\02JD0)_\02\02\00\02KE0)`\00\0C\00\02LD0)`\02\02\00\02KE0)a\00\0C\00\025F/\1Ba\02\02\00\026G/\1Bb\00\08\00\05lHp b\02\02\00\05mIp c\00\0C\00\05nHp c\02\02\00\05mIp d\00\08\00\025J.\1Bd\02\02\00\026J.\1Be\00\14\00\02uK-*e\02\02\00\02vL-+f\02\02\00\02wM,\02f\00\02\00\02wM,\02g\00\0E\00\05xNo,g\02\02\00\05xOo,h\00\0E\00\01yP+-h\02\02\00\01yQ+-i\00\03\00\02zR*.i\02\02\00\02{S*\10j\00\08\00\01|T)/j\02\02\00\01|T)/k\00\08\00\01}Un\18k\02\02\00\01}Vn\18l\00\08\00\0C>W(0l\02\02\00\0C>X(0m\00\08\00\05lY' m\02\02\00\05mZ' n\00\0C\00\05nY' n\02\02\00\05mZ' o\00\14\00\02uK&*o\02\02\00\02vL&+p\02\02\00\02~[\901q\00\07\00\01\7F\\%2q\02\02\00\01\80]%3r\00\08\00\017^m4r\02\02\00\017^m4s\02\02\00\02\81_\915t\00\08\00\025`$6t\02\02\00\026`$6u\00\0A\00\01\82al7u\02\02\00\01\82bl7v\00\0A\00\06\83ck%v\02\02\00\07\84dk%w\00\0A\00\02Me#8w\02\02\00\02Mf#9x\00\11\00\0D\85g\22:x\02\02\00\0D\86h\22;y\02\02\00\02\87i!\82\02\02\00\05.s\1B>\83\00\0E\00\05\90ti?\83\02\02\00\05\91ui?\84\00\08\00\05\92v\1A@\84\02\02\00\05\92w\1A@\85\00\08\00\05\93x\19@\85\02\02\00\05\94y\19@\86\00\0C\00\05\95x\19@\86\02\02\00\05\94y\19@\87\00\0E\00\05\96z\18A\87\02\02\00\05\96{\18A\88\16\16\00\01\97|\17B\88\00\11\00\01\98}\17C\88\02\02\00\01\99~\17\0D\89\00\18\00\01\9A\7F\16D\89\02\02\00\01\9B\80\16E\8A\00\02\00\01\9C\81\15F\8B\00\0E\00\06\9D\82\8DG\8B\02\02\00\07\9E\83\8DH\8C\00\0E\00\0B\9F\84hI\8C\02\02\00\0B\9F\85hI\8D\00\08\00\01\A0\86\14\02\8D\02\02\00\01\A0\87\14\02\8E\00\0E\00\05\A1\88\13J\8E\02\02\00\05\A1\89\13J\8F\00\11\00\05\A2\8A\13K\8F\02\02\00\05\A3\8B\13E\90\00\08\00\01p\8Cg\18\90\02\02\00\01q\8Dg\18\91\00\0C\00\01r\8Cg\18\91\02\02\00\01q\8Dg\18\92\00\08\00\0D\A4\8C\12\18\92\02\02\00\0D\A4\8D\12\18\93\00\02\00\03\0B\8E\11L\94\00\02\00\0E\A5\8F\10M\95\00\17\00\01\97|\0FN\95\02\02\00\01\99~\0FO\96\00\19\00\02\A6\90\8FP\96\02\02\00\02\A7\91\8FQ\97\00\02\00\02\A8\92\0E\02\98\00\02\00\02\02\93\0D\02\99\00\08\00\02\A9\94\0C\02\99\02\02\00\02\A9\94\0C\02\9A\00\15\00\00\AA\95fR\9A\02\02\00\00\AA\96fS\9B\02\02\00\01\99\97\0BT\9C\00\18\00\01\9A\98\0AU\9C\02\02\00\01\9B\99\0AV\9D\00\02\00\02\AB\9A\09W\9E\00\08\00\02\AC\9B\08X\9E\02\02\00\02\AC\9B\08X\9F\02\02\00\01\AD\9C\07\02\9F\00\02\00\01\AD\9C\07\02\A0\00\08\00\09?\9D\06Y\A0\02\02\00\09@\9E\06Y\A1\00\0C\00\09A\9D\06Y\A2\00\06\00\02\AE\9F\05Z\A2\02\02\00\02\AE\A0\05[\A3\02\02\00\02\AF\A1\04\\\A4\02\02\00\02I\A2\03\\\A5\00\02\00\02O\A3\02\1E\A6\02\02\00\02\B0\A4\01\\", [835 x i8] c"af_ZAam_ETar_AEar_BHar_DZar_EGar_INar_IQar_JOar_KWar_LBar_LYar_MAar_OMar_QAar_SAar_SDar_SYar_TNar_YEaz_AZbe_BYbg_BGbn_BDbn_INbr_FRbs_BAca_EScaeEScs_CZcy_GBda_DKde_ATdeeATde_BEdeeBEde_CHde_DEdeeDEde_LUdeeLUel_GRen_AUen_BWen_CAen_DKen_GBen_HKen_IEeneIEen_INen_NZen_PHen_SGen_USen_ZAen_ZWeo_EOes_ARes_BOes_CLes_COes_CRes_DOes_ECes_ESeseESes_GTes_HNes_MXes_NIes_PAes_PEes_PRes_PYes_SVes_USes_UYes_VEet_EEeu_ESeueESfa_IRfi_FIfieFIfo_FOfr_BEfreBEfr_CAfr_CHfr_FRfreFRfr_LUfreLUga_IEgaeIEgd_GBgl_ESgleESgv_GBhe_ILhi_INhr_HRhu_HUhy_AMid_IDis_ISit_CHit_ITiteITiw_ILja_JPka_GEkl_GLko_KRkw_GBlt_LTlv_LVmi_NZmk_MKmr_INms_MYmt_MTnl_BEnleBEnl_NLnleNLnn_NOno_NOoc_FRpl_PLpt_BRpt_PTptePTro_ROru_RUru_UAse_NOsk_SKsl_SIsq_ALsr_YUsrcYUsv_FIsveFIsv_SEta_INte_INtg_TJth_THti_ERti_ETtl_PHtr_TRtt_RUuk_UAur_PKuz_UZvi_VNwa_BEwaeBEyi_USzh_CNzh_HKzh_SGzh_TW\00\00\00\00\00", [18 x i8] c"\05eeuro\00\09ccyrillic\00", [69 x i8] c"\06\0F\1A&.9LC_CTYPE\00LC_NUMERIC\00LC_MONETARY\00LC_TIME\00LC_COLLATE\00LC_MESSAGES\00", [255 x i8] c"\18\22(/6BMYeq}\89\94\9F\AA\B5\C0\CB\D6\E1\E8\EF\F6\00ARMSCII-8\00ASCII\00CP1251\00CP1255\00GEORGIAN-PS\00ISO-8859-1\00ISO-8859-10\00ISO-8859-13\00ISO-8859-14\00ISO-8859-15\00ISO-8859-16\00ISO-8859-2\00ISO-8859-3\00ISO-8859-4\00ISO-8859-5\00ISO-8859-6\00ISO-8859-7\00ISO-8859-8\00ISO-8859-9\00KOI8-R\00KOI8-T\00KOI8-U\00TIS-620\00\00" }, align 8 +@__C_ctype_b_data = constant <{ [256 x i16], [128 x i16] }> <{ [256 x i16] [i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 8195, i16 8194, i16 8194, i16 8194, i16 8194, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 24577, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -11000, i16 -11000, i16 -11000, i16 -11000, i16 -11000, i16 -11000, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -10744, i16 -10744, i16 -10744, i16 -10744, i16 -10744, i16 -10744, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 2], [128 x i16] zeroinitializer }>, align 16 +@__C_ctype_b = global i16* bitcast (i8* getelementptr (i8, i8* bitcast (<{ [256 x i16], [128 x i16] }>* @__C_ctype_b_data to i8*), i64 256) to i16*), align 8 +@__C_ctype_tolower_data = constant [384 x i16] [i16 -128, i16 -127, i16 -126, i16 -125, i16 -124, i16 -123, i16 -122, i16 -121, i16 -120, i16 -119, i16 -118, i16 -117, i16 -116, i16 -115, i16 -114, i16 -113, i16 -112, i16 -111, i16 -110, i16 -109, i16 -108, i16 -107, i16 -106, i16 -105, i16 -104, i16 -103, i16 -102, i16 -101, i16 -100, i16 -99, i16 -98, i16 -97, i16 -96, i16 -95, i16 -94, i16 -93, i16 -92, i16 -91, i16 -90, i16 -89, i16 -88, i16 -87, i16 -86, i16 -85, i16 -84, i16 -83, i16 -82, i16 -81, i16 -80, i16 -79, i16 -78, i16 -77, i16 -76, i16 -75, i16 -74, i16 -73, i16 -72, i16 -71, i16 -70, i16 -69, i16 -68, i16 -67, i16 -66, i16 -65, i16 -64, i16 -63, i16 -62, i16 -61, i16 -60, i16 -59, i16 -58, i16 -57, i16 -56, i16 -55, i16 -54, i16 -53, i16 -52, i16 -51, i16 -50, i16 -49, i16 -48, i16 -47, i16 -46, i16 -45, i16 -44, i16 -43, i16 -42, i16 -41, i16 -40, i16 -39, i16 -38, i16 -37, i16 -36, i16 -35, i16 -34, i16 -33, i16 -32, i16 -31, i16 -30, i16 -29, i16 -28, i16 -27, i16 -26, i16 -25, i16 -24, i16 -23, i16 -22, i16 -21, i16 -20, i16 -19, i16 -18, i16 -17, i16 -16, i16 -15, i16 -14, i16 -13, i16 -12, i16 -11, i16 -10, i16 -9, i16 -8, i16 -7, i16 -6, i16 -5, i16 -4, i16 -3, i16 -2, i16 -1, i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255], align 16 +@__C_ctype_tolower = global i16* bitcast (i8* getelementptr (i8, i8* bitcast ([384 x i16]* @__C_ctype_tolower_data to i8*), i64 256) to i16*), align 8 +@__C_ctype_toupper_data = constant [384 x i16] [i16 -128, i16 -127, i16 -126, i16 -125, i16 -124, i16 -123, i16 -122, i16 -121, i16 -120, i16 -119, i16 -118, i16 -117, i16 -116, i16 -115, i16 -114, i16 -113, i16 -112, i16 -111, i16 -110, i16 -109, i16 -108, i16 -107, i16 -106, i16 -105, i16 -104, i16 -103, i16 -102, i16 -101, i16 -100, i16 -99, i16 -98, i16 -97, i16 -96, i16 -95, i16 -94, i16 -93, i16 -92, i16 -91, i16 -90, i16 -89, i16 -88, i16 -87, i16 -86, i16 -85, i16 -84, i16 -83, i16 -82, i16 -81, i16 -80, i16 -79, i16 -78, i16 -77, i16 -76, i16 -75, i16 -74, i16 -73, i16 -72, i16 -71, i16 -70, i16 -69, i16 -68, i16 -67, i16 -66, i16 -65, i16 -64, i16 -63, i16 -62, i16 -61, i16 -60, i16 -59, i16 -58, i16 -57, i16 -56, i16 -55, i16 -54, i16 -53, i16 -52, i16 -51, i16 -50, i16 -49, i16 -48, i16 -47, i16 -46, i16 -45, i16 -44, i16 -43, i16 -42, i16 -41, i16 -40, i16 -39, i16 -38, i16 -37, i16 -36, i16 -35, i16 -34, i16 -33, i16 -32, i16 -31, i16 -30, i16 -29, i16 -28, i16 -27, i16 -26, i16 -25, i16 -24, i16 -23, i16 -22, i16 -21, i16 -20, i16 -19, i16 -18, i16 -17, i16 -16, i16 -15, i16 -14, i16 -13, i16 -12, i16 -11, i16 -10, i16 -9, i16 -8, i16 -7, i16 -6, i16 -5, i16 -4, i16 -3, i16 -2, i16 -1, i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255], align 16 +@__C_ctype_toupper = global i16* bitcast (i8* getelementptr (i8, i8* bitcast ([384 x i16]* @__C_ctype_toupper_data to i8*), i64 256) to i16*), align 8 +@errno = global i32 0, align 4 +@h_errno = global i32 0, align 4 +@.str.214 = private unnamed_addr constant [17 x i8] c"ignoring (EPERM)\00", align 1 +@.str.7.216 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.1.217 = private unnamed_addr constant [9 x i8] c"ignoring\00", align 1 +@.str.2.218 = private unnamed_addr constant [82 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/illegal.c\00", align 1 +@.str.3.219 = private unnamed_addr constant [20 x i8] c"longjmp unsupported\00", align 1 +@.str.4.220 = private unnamed_addr constant [8 x i8] c"xxx.err\00", align 1 +@.str.5.222 = private unnamed_addr constant [18 x i8] c"ignoring (EACCES)\00", align 1 +@.str.6.223 = private unnamed_addr constant [18 x i8] c"ignoring (ENOMEM)\00", align 1 +@error_message_count = global i32 0, align 4 +@error_one_per_line = global i32 0, align 4 +@.str.226 = private unnamed_addr constant [5 x i8] c": %s\00", align 1 +@__error_at_line.old_line_number = internal global i32 0, align 4 +@__error_at_line.old_file_name = internal global i8* null, align 8 +@.str.1.227 = private unnamed_addr constant [8 x i8] c"%s:%d: \00", align 1 +@hr_locale = internal global [448 x i8] zeroinitializer, align 16 +@utf8.234 = internal constant [6 x i8] c"UTF-8\00", align 1 +@static_fd = internal global i32 -1, align 4 +@static_ut_name = internal global i8* getelementptr inbounds ([14 x i8], [14 x i8]* @default_file_name, i32 0, i32 0), align 8 +@default_file_name = internal constant [14 x i8] c"/var/run/utmp\00", align 1 +@static_utmp = internal global %struct.utmp.323 zeroinitializer, align 8 +@mbrtowc.mbstate = internal global %struct.__mbstate_t.512 zeroinitializer, align 4 +@__dso_handle = extern_weak global i8*, align 8 +@optind = global i32 1, align 4 +@opterr = global i32 1, align 4 +@optopt = global i32 63, align 4 +@optarg = global i8* null, align 8 +@getopt_data = internal global %struct._getopt_data zeroinitializer, align 8 +@.str.311 = private unnamed_addr constant [3 x i8] c"--\00", align 1 +@.str.1.312 = private unnamed_addr constant [30 x i8] c"%s: option `%s' is ambiguous\0A\00", align 1 +@.str.2.313 = private unnamed_addr constant [45 x i8] c"%s: option `--%s' doesn't allow an argument\0A\00", align 1 +@.str.3.314 = private unnamed_addr constant [45 x i8] c"%s: option `%c%s' doesn't allow an argument\0A\00", align 1 +@.str.4.315 = private unnamed_addr constant [38 x i8] c"%s: option `%s' requires an argument\0A\00", align 1 +@.str.5.316 = private unnamed_addr constant [32 x i8] c"%s: unrecognized option `--%s'\0A\00", align 1 +@.str.6.317 = private unnamed_addr constant [32 x i8] c"%s: unrecognized option `%c%s'\0A\00", align 1 +@.str.7.318 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@.str.8.319 = private unnamed_addr constant [26 x i8] c"%s: illegal option -- %c\0A\00", align 1 +@.str.9.320 = private unnamed_addr constant [26 x i8] c"%s: invalid option -- %c\0A\00", align 1 +@.str.10.321 = private unnamed_addr constant [39 x i8] c"%s: option requires an argument -- %c\0A\00", align 1 +@.str.11.322 = private unnamed_addr constant [16 x i8] c"POSIXLY_CORRECT\00", align 1 +@.str.327 = private unnamed_addr constant [14 x i8] c"#\80\80\80\80\80\80\80\80\80\80\80\80\00", align 1 +@newlocale.envstr = internal global [4 x i8*] [i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.331, i32 0, i32 0), i8* null, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.2.332, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @posix, i32 0, i32 0)], align 16 +@.str.3.328 = private unnamed_addr constant [2 x i8] c"=\00", align 1 +@.str.4.329 = private unnamed_addr constant [2 x i8] c";\00", align 1 +@posix = internal constant [6 x i8] c"POSIX\00", align 1 +@utf8.330 = internal constant [6 x i8] c"UTF-8\00", align 1 +@.str.1.331 = private unnamed_addr constant [7 x i8] c"LC_ALL\00", align 1 +@.str.2.332 = private unnamed_addr constant [5 x i8] c"LANG\00", align 1 +@empty = internal constant [1 x i8] zeroinitializer, align 1 +@mbsnrtowcs.mbstate = internal global %struct.__mbstate_t.512 zeroinitializer, align 4 +@_do_one_spec.spec_base = internal constant [7 x i8] c"\10\10\10\08\0A\0A\0A", align 1 +@.str.349 = private unnamed_addr constant [6 x i8] c"(nil)\00", align 1 +@.str.1.350 = private unnamed_addr constant [7 x i8] c"(null)\00", align 1 +@_do_one_spec.prefix = internal constant [12 x i8] c"+\00-\00 \000x\000X\00", align 1 +@strerror.buf = internal global [50 x i8] zeroinitializer, align 16 +@desc2flag = internal constant [13 x i16] [i16 0, i16 2048, i16 4, i16 256, i16 512, i16 8, i16 128, i16 2, i16 64, i16 1024, i16 32, i16 1, i16 16], align 16 +@fmt = internal constant [20 x i8] c"inf\00INF\00nan\00NAN\00.\00,\00", align 16 +@exp10_table = internal constant [9 x double] [double 1.000000e+01, double 1.000000e+02, double 1.000000e+04, double 1.000000e+08, double 1.000000e+16, double 1.000000e+32, double 1.000000e+64, double 1.000000e+128, double 1.000000e+256], align 16 +@_ppfs_init.invalid_mbs = internal constant [33 x i8] c"Invalid multibyte format string.\00", align 16 +@_ppfs_parsespec.spec_flags = internal constant [8 x i8] c" +0-#'I\00", align 1 +@_ppfs_parsespec.qual_chars = internal constant [20 x i8] c"hlLjztqZ\00\02\04\08\04\04\04\08\04\00\01\08", align 16 +@_ppfs_parsespec.spec_chars = internal constant [21 x i8] c"npxXoudifFeEgGaACScs\00", align 16 +@_ppfs_parsespec.spec_ranges = internal constant [9 x i8] c"\00\01\07\0F\10\11\12\13\14", align 1 +@_ppfs_parsespec.spec_or_mask = internal constant [8 x i16] [i16 4096, i16 5, i16 0, i16 7, i16 2, i16 4, i16 1, i16 3], align 16 +@_ppfs_parsespec.spec_and_mask = internal constant [8 x i16] [i16 7936, i16 5, i16 3840, i16 2055, i16 2, i16 4, i16 1, i16 3], align 16 +@type_codes = internal constant [12 x i16] [i16 8, i16 5, i16 3, i16 4, i16 1, i16 512, i16 0, i16 1024, i16 2048, i16 2, i16 7, i16 2055], align 16 +@type_sizes = internal constant [12 x i8] c"\00\01\01\01\04\02\01\01\01\01\01\01", align 1 +@__exit_count = hidden global i32 0, align 4 +@__exit_function_table = hidden global %struct.exit_function* null, align 8 +@__exit_slots = hidden global i32 0, align 4 +@__xpg_strerror_r.unknown = internal constant [14 x i8] c"Unknown error ", align 1 +@mbsrtowcs.mbstate = internal global %struct.__mbstate_t.512 zeroinitializer, align 4 +@_string_syserrmsgs = hidden constant [2906 x i8] c"Success\00Operation not permitted\00No such file or directory\00No such process\00Interrupted system call\00Input/output error\00No such device or address\00Argument list too long\00Exec format error\00Bad file descriptor\00No child processes\00Resource temporarily unavailable\00Cannot allocate memory\00Permission denied\00Bad address\00Block device required\00Device or resource busy\00File exists\00Invalid cross-device link\00No such device\00Not a directory\00Is a directory\00Invalid argument\00Too many open files in system\00Too many open files\00Inappropriate ioctl for device\00Text file busy\00File too large\00No space left on device\00Illegal seek\00Read-only file system\00Too many links\00Broken pipe\00Numerical argument out of domain\00Numerical result out of range\00Resource deadlock avoided\00File name too long\00No locks available\00Function not implemented\00Directory not empty\00Too many levels of symbolic links\00\00No message of desired type\00Identifier removed\00Channel number out of range\00Level 2 not synchronized\00Level 3 halted\00Level 3 reset\00Link number out of range\00Protocol driver not attached\00No CSI structure available\00Level 2 halted\00Invalid exchange\00Invalid request descriptor\00Exchange full\00No anode\00Invalid request code\00Invalid slot\00\00Bad font file format\00Device not a stream\00No data available\00Timer expired\00Out of streams resources\00Machine is not on the network\00Package not installed\00Object is remote\00Link has been severed\00Advertise error\00Srmount error\00Communication error on send\00Protocol error\00Multihop attempted\00RFS specific error\00Bad message\00Value too large for defined data type\00Name not unique on network\00File descriptor in bad state\00Remote address changed\00Can not access a needed shared library\00Accessing a corrupted shared library\00.lib section in a.out corrupted\00Attempting to link in too many shared libraries\00Cannot exec a shared library directly\00Invalid or incomplete multibyte or wide character\00Interrupted system call should be restarted\00Streams pipe error\00Too many users\00Socket operation on non-socket\00Destination address required\00Message too long\00Protocol wrong type for socket\00Protocol not available\00Protocol not supported\00Socket type not supported\00Operation not supported\00Protocol family not supported\00Address family not supported by protocol\00Address already in use\00Cannot assign requested address\00Network is down\00Network is unreachable\00Network dropped connection on reset\00Software caused connection abort\00Connection reset by peer\00No buffer space available\00Transport endpoint is already connected\00Transport endpoint is not connected\00Cannot send after transport endpoint shutdown\00Too many references: cannot splice\00Connection timed out\00Connection refused\00Host is down\00No route to host\00Operation already in progress\00Operation now in progress\00Stale NFS file handle\00Structure needs cleaning\00Not a XENIX named type file\00No XENIX semaphores available\00Is a named type file\00Remote I/O error\00Disk quota exceeded\00No medium found\00Wrong medium type\00", align 16 + +@__progname = weak alias i8*, i8** @program_invocation_short_name +@__progname_full = weak alias i8*, i8** @program_invocation_name +@environ = weak alias i8**, i8*** @__environ +@__getdents = dso_local alias i64 (i32, %struct.dirent64*, i64), i64 (i32, %struct.dirent64*, i64)* @getdents +@getchar = alias i32 (), i32 ()* @getchar_unlocked +@raise = weak alias i32 (i32), i32 (i32)* @__raise +@fgetc_unlocked = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@getc_unlocked = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@fgetc = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@getc = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@__getdents64 = dso_local alias i64 (i32, i8*, i64), i64 (i32, i8*, i64)* @getdents64 +@error = weak alias void (i32, i32, i8*, ...), void (i32, i32, i8*, ...)* @__error +@error_at_line = weak alias void (i32, i32, i8*, i32, i8*, ...), void (i32, i32, i8*, i32, i8*, ...)* @__error_at_line +@feof = alias i32 (%struct.__STDIO_FILE_STRUCT.590*), i32 (%struct.__STDIO_FILE_STRUCT.590*)* @feof_unlocked +@ferror = alias i32 (%struct.__STDIO_FILE_STRUCT.592*), i32 (%struct.__STDIO_FILE_STRUCT.592*)* @ferror_unlocked +@fflush = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fflush_unlocked +@fileno = alias i32 (%struct.__STDIO_FILE_STRUCT.608*), i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno_unlocked +@fputc_unlocked = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@putc_unlocked = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@fputc = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@putc = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@fputs = alias i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*), i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked +@fread = alias i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*), i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*)* @fread_unlocked +@fseeko = alias i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32), i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32)* @fseek +@fwrite = alias i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*), i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*)* @fwrite_unlocked +@strtoumax = alias i64 (i8*, i8**, i32), i64 (i8*, i8**, i32)* @strtoul +@strtoull = alias i64 (i8*, i8**, i32), i64 (i8*, i8**, i32)* @strtoul +@strerror_r = weak alias i32 (i32, i8*, i64), i32 (i32, i8*, i64)* @__xpg_strerror_r + +; Function Attrs: noinline nounwind uwtable +define void @__uClibc_init() #0 { +entry: + %0 = load i32, i32* @__uClibc_init.been_there_done_that, align 4 + %tobool = icmp ne i32 %0, 0 + br i1 %tobool, label %if.end4, label %if.end + +if.end: ; preds = %entry + %1 = load i32, i32* @__uClibc_init.been_there_done_that, align 4 + %inc = add nsw i32 %1, 1 + store i32 %inc, i32* @__uClibc_init.been_there_done_that, align 4 + store i64 4096, i64* @__pagesize, align 8 + call void @_locale_init() #19 + call void @_stdio_init() #19 + br label %if.end4 + +if.end4: ; preds = %entry, %if.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define void @__uClibc_fini() #0 { +entry: + %0 = load void ()*, void ()** @__app_fini, align 8 + %cmp = icmp ne void ()* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load void ()*, void ()** @__app_fini, align 8 + call void %1() #19 + br label %if.end + +if.end: ; preds = %if.then, %entry + %2 = load void ()*, void ()** @__rtld_fini, align 8 + %cmp1 = icmp ne void ()* %2, null + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + %3 = load void ()*, void ()** @__rtld_fini, align 8 + call void %3() #19 + br label %if.end3 + +if.end3: ; preds = %if.then2, %if.end + ret void +} + +; Function Attrs: noinline noreturn nounwind uwtable +define void @__uClibc_main(i32 (i32, i8**, i8**)* %main, i32 %argc, i8** %argv, void ()* %app_init, void ()* %app_fini, void ()* %rtld_fini, i8* %stack_end) #1 { +entry: + %main.addr = alloca i32 (i32, i8**, i8**)*, align 8 + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %app_init.addr = alloca void ()*, align 8 + %app_fini.addr = alloca void ()*, align 8 + %rtld_fini.addr = alloca void ()*, align 8 + %stack_end.addr = alloca i8*, align 8 + %aux_dat = alloca i64*, align 8 + %auxvt = alloca [15 x %struct.Elf64_auxv_t], align 16 + %auxv_entry = alloca %struct.Elf64_auxv_t*, align 8 + store i32 (i32, i8**, i8**)* %main, i32 (i32, i8**, i8**)** %main.addr, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store void ()* %app_init, void ()** %app_init.addr, align 8 + store void ()* %app_fini, void ()** %app_fini.addr, align 8 + store void ()* %rtld_fini, void ()** %rtld_fini.addr, align 8 + store i8* %stack_end, i8** %stack_end.addr, align 8 + %0 = load i8*, i8** %stack_end.addr, align 8 + store i8* %0, i8** @__libc_stack_end, align 8 + %1 = load void ()*, void ()** %rtld_fini.addr, align 8 + store void ()* %1, void ()** @__rtld_fini, align 8 + %2 = load i8**, i8*** %argv.addr, align 8 + %3 = load i32, i32* %argc.addr, align 4 + %add = add nsw i32 %3, 1 + %idxprom = sext i32 %add to i64 + %arrayidx = getelementptr inbounds i8*, i8** %2, i64 %idxprom + store i8** %arrayidx, i8*** @__environ, align 8 + %4 = load i8**, i8*** @__environ, align 8 + %5 = bitcast i8** %4 to i8* + %6 = load i8**, i8*** %argv.addr, align 8 + %7 = load i8*, i8** %6, align 8 + %cmp = icmp eq i8* %5, %7 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %8 = load i8**, i8*** %argv.addr, align 8 + %9 = load i32, i32* %argc.addr, align 4 + %idxprom1 = sext i32 %9 to i64 + %arrayidx2 = getelementptr inbounds i8*, i8** %8, i64 %idxprom1 + store i8** %arrayidx2, i8*** @__environ, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %arraydecay = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 0 + %10 = bitcast %struct.Elf64_auxv_t* %arraydecay to i8* + %call = call i8* @memset(i8* %10, i32 0, i64 240) #20 + %11 = load i8**, i8*** @__environ, align 8 + %12 = bitcast i8** %11 to i64* + store i64* %12, i64** %aux_dat, align 8 + br label %while.cond + +while.cond: ; preds = %while.cond, %if.end + %13 = load i64*, i64** %aux_dat, align 8 + %14 = load i64, i64* %13, align 8 + %tobool = icmp ne i64 %14, 0 + %15 = load i64*, i64** %aux_dat, align 8 + %incdec.ptr = getelementptr inbounds i64, i64* %15, i32 1 + store i64* %incdec.ptr, i64** %aux_dat, align 8 + br i1 %tobool, label %while.cond, label %while.cond4 + +while.cond4: ; preds = %while.cond, %if.end12 + %16 = load i64*, i64** %aux_dat, align 8 + %17 = load i64, i64* %16, align 8 + %tobool5 = icmp ne i64 %17, 0 + br i1 %tobool5, label %while.body6, label %while.end13 + +while.body6: ; preds = %while.cond4 + %18 = load i64*, i64** %aux_dat, align 8 + %19 = bitcast i64* %18 to %struct.Elf64_auxv_t* + store %struct.Elf64_auxv_t* %19, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %20 = load %struct.Elf64_auxv_t*, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %a_type = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %20, i32 0, i32 0 + %21 = load i64, i64* %a_type, align 8 + %cmp7 = icmp ule i64 %21, 14 + br i1 %cmp7, label %if.then8, label %if.end12 + +if.then8: ; preds = %while.body6 + %22 = load %struct.Elf64_auxv_t*, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %a_type9 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %22, i32 0, i32 0 + %23 = load i64, i64* %a_type9, align 8 + %arrayidx10 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 %23 + %24 = bitcast %struct.Elf64_auxv_t* %arrayidx10 to i8* + %25 = load %struct.Elf64_auxv_t*, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %26 = bitcast %struct.Elf64_auxv_t* %25 to i8* + %call11 = call i8* @memcpy(i8* %24, i8* %26, i64 16) #20 + br label %if.end12 + +if.end12: ; preds = %if.then8, %while.body6 + %27 = load i64*, i64** %aux_dat, align 8 + %add.ptr = getelementptr inbounds i64, i64* %27, i64 2 + store i64* %add.ptr, i64** %aux_dat, align 8 + br label %while.cond4 + +while.end13: ; preds = %while.cond4 + call void @__uClibc_init() #19 + %arrayidx14 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 6 + %a_un = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx14, i32 0, i32 1 + %a_val = bitcast %union.anon.193* %a_un to i64* + %28 = load i64, i64* %a_val, align 8 + %tobool15 = icmp ne i64 %28, 0 + %arrayidx16 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 6 + %a_un17 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx16, i32 0, i32 1 + %a_val18 = bitcast %union.anon.193* %a_un17 to i64* + %29 = load i64, i64* %a_val18, align 8 + %cond = select i1 %tobool15, i64 %29, i64 4096 + store i64 %cond, i64* @__pagesize, align 8 + %arrayidx19 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 11 + %a_un20 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx19, i32 0, i32 1 + %a_val21 = bitcast %union.anon.193* %a_un20 to i64* + %30 = load i64, i64* %a_val21, align 8 + %cmp22 = icmp eq i64 %30, -1 + br i1 %cmp22, label %land.lhs.true, label %lor.lhs.false + +land.lhs.true: ; preds = %while.end13 + %call23 = call i32 @__check_suid() #19 + %tobool24 = icmp ne i32 %call23, 0 + br i1 %tobool24, label %if.then45, label %lor.lhs.false + +lor.lhs.false: ; preds = %land.lhs.true, %while.end13 + %arrayidx25 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 11 + %a_un26 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx25, i32 0, i32 1 + %a_val27 = bitcast %union.anon.193* %a_un26 to i64* + %31 = load i64, i64* %a_val27, align 8 + %cmp28 = icmp ne i64 %31, -1 + br i1 %cmp28, label %land.lhs.true29, label %if.end46 + +land.lhs.true29: ; preds = %lor.lhs.false + %arrayidx30 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 11 + %a_un31 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx30, i32 0, i32 1 + %a_val32 = bitcast %union.anon.193* %a_un31 to i64* + %32 = load i64, i64* %a_val32, align 8 + %arrayidx33 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 12 + %a_un34 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx33, i32 0, i32 1 + %a_val35 = bitcast %union.anon.193* %a_un34 to i64* + %33 = load i64, i64* %a_val35, align 8 + %cmp36 = icmp ne i64 %32, %33 + br i1 %cmp36, label %if.then45, label %lor.lhs.false37 + +lor.lhs.false37: ; preds = %land.lhs.true29 + %arrayidx38 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 13 + %a_un39 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx38, i32 0, i32 1 + %a_val40 = bitcast %union.anon.193* %a_un39 to i64* + %34 = load i64, i64* %a_val40, align 8 + %arrayidx41 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 14 + %a_un42 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx41, i32 0, i32 1 + %a_val43 = bitcast %union.anon.193* %a_un42 to i64* + %35 = load i64, i64* %a_val43, align 8 + %cmp44 = icmp ne i64 %34, %35 + br i1 %cmp44, label %if.then45, label %if.end46 + +if.then45: ; preds = %lor.lhs.false37, %land.lhs.true29, %land.lhs.true + call void @__check_one_fd(i32 0, i32 131072) #19 + call void @__check_one_fd(i32 1, i32 131074) #19 + call void @__check_one_fd(i32 2, i32 131074) #19 + br label %if.end46 + +if.end46: ; preds = %if.then45, %lor.lhs.false37, %lor.lhs.false + %36 = load i8**, i8*** %argv.addr, align 8 + %37 = load i8*, i8** %36, align 8 + store i8* %37, i8** @__uclibc_progname, align 8 + %38 = load i8**, i8*** %argv.addr, align 8 + %39 = load i8*, i8** %38, align 8 + store i8* %39, i8** @program_invocation_name, align 8 + %40 = load i8**, i8*** %argv.addr, align 8 + %41 = load i8*, i8** %40, align 8 + %call47 = call i8* @strrchr(i8* %41, i32 47) #21 + store i8* %call47, i8** @program_invocation_short_name, align 8 + %42 = load i8*, i8** @program_invocation_short_name, align 8 + %cmp48 = icmp ne i8* %42, null + br i1 %cmp48, label %if.then49, label %if.else + +if.then49: ; preds = %if.end46 + %43 = load i8*, i8** @program_invocation_short_name, align 8 + %incdec.ptr50 = getelementptr inbounds i8, i8* %43, i32 1 + store i8* %incdec.ptr50, i8** @program_invocation_short_name, align 8 + br label %if.end51 + +if.else: ; preds = %if.end46 + %44 = load i8*, i8** @program_invocation_name, align 8 + store i8* %44, i8** @program_invocation_short_name, align 8 + br label %if.end51 + +if.end51: ; preds = %if.else, %if.then49 + %45 = load void ()*, void ()** %app_fini.addr, align 8 + store void ()* %45, void ()** @__app_fini, align 8 + %46 = load void ()*, void ()** %app_init.addr, align 8 + %cmp52 = icmp ne void ()* %46, null + br i1 %cmp52, label %if.then53, label %if.then55 + +if.then53: ; preds = %if.end51 + %47 = load void ()*, void ()** %app_init.addr, align 8 + call void %47() #19 + br label %if.then55 + +if.then55: ; preds = %if.end51, %if.then53 + %call56 = call i32* @__errno_location() #22 + store i32 0, i32* %call56, align 4 + %call59 = call i32* @__h_errno_location() #22 + store i32 0, i32* %call59, align 4 + %48 = load i32 (i32, i8**, i8**)*, i32 (i32, i8**, i8**)** %main.addr, align 8 + %49 = load i32, i32* %argc.addr, align 4 + %50 = load i8**, i8*** %argv.addr, align 8 + %51 = load i8**, i8*** @__environ, align 8 + %call61 = call i32 %48(i32 %49, i8** %50, i8** %51) #19 + call void @exit(i32 %call61) #23 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__check_suid() #0 { +entry: + %retval = alloca i32, align 4 + %uid = alloca i32, align 4 + %euid = alloca i32, align 4 + %gid = alloca i32, align 4 + %egid = alloca i32, align 4 + %call = call i32 @getuid() #20 + store i32 %call, i32* %uid, align 4 + %call1 = call i32 @geteuid() #20 + store i32 %call1, i32* %euid, align 4 + %call2 = call i32 @getgid() #20 + store i32 %call2, i32* %gid, align 4 + %call3 = call i32 @getegid() #20 + store i32 %call3, i32* %egid, align 4 + %0 = load i32, i32* %uid, align 4 + %1 = load i32, i32* %euid, align 4 + %cmp = icmp eq i32 %0, %1 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %2 = load i32, i32* %gid, align 4 + %3 = load i32, i32* %egid, align 4 + %cmp4 = icmp eq i32 %2, %3 + br i1 %cmp4, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__check_one_fd(i32 %fd, i32 %mode) #0 { +entry: + %fd.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %st = alloca %struct.stat.192, align 8 + %nullfd = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 (i32, i32, ...) @fcntl(i32 %0, i32 1) #19 + %cmp = icmp eq i32 %call, -1 + br i1 %cmp, label %land.rhs, label %land.end + +land.rhs: ; preds = %entry + %call1 = call i32* @__errno_location() #22 + %1 = load i32, i32* %call1, align 4 + %cmp2 = icmp eq i32 %1, 9 + br label %land.end + +land.end: ; preds = %land.rhs, %entry + %2 = phi i1 [ false, %entry ], [ %cmp2, %land.rhs ] + %lnot = xor i1 %2, true + %lnot3 = xor i1 %lnot, true + %lnot.ext = zext i1 %lnot3 to i32 + %conv = sext i32 %lnot.ext to i64 + %tobool = icmp ne i64 %conv, 0 + br i1 %tobool, label %if.then, label %if.end17 + +if.then: ; preds = %land.end + %3 = load i32, i32* %mode.addr, align 4 + %call4 = call i32 (i8*, i32, ...) @open(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.1, i64 0, i64 0), i32 %3) #19 + store i32 %call4, i32* %nullfd, align 4 + %4 = load i32, i32* %nullfd, align 4 + %5 = load i32, i32* %fd.addr, align 4 + %cmp5 = icmp ne i32 %4, %5 + br i1 %cmp5, label %if.then16, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then + %6 = load i32, i32* %fd.addr, align 4 + %call7 = call i32 bitcast (i32 (i32, %struct.stat64*)* @fstat to i32 (i32, %struct.stat.192*)*)(i32 %6, %struct.stat.192* %st) #20 + %tobool8 = icmp ne i32 %call7, 0 + br i1 %tobool8, label %if.then16, label %lor.lhs.false9 + +lor.lhs.false9: ; preds = %lor.lhs.false + %st_mode = getelementptr inbounds %struct.stat.192, %struct.stat.192* %st, i32 0, i32 3 + %7 = load i32, i32* %st_mode, align 8 + %and = and i32 %7, 61440 + %cmp10 = icmp eq i32 %and, 8192 + br i1 %cmp10, label %lor.lhs.false12, label %if.then16 + +lor.lhs.false12: ; preds = %lor.lhs.false9 + %st_rdev = getelementptr inbounds %struct.stat.192, %struct.stat.192* %st, i32 0, i32 7 + %8 = load i64, i64* %st_rdev, align 8 + %call13 = call i64 @gnu_dev_makedev.172(i32 1, i32 3) #20 + %cmp14 = icmp ne i64 %8, %call13 + br i1 %cmp14, label %if.then16, label %if.end17 + +if.then16: ; preds = %lor.lhs.false12, %lor.lhs.false9, %lor.lhs.false, %if.then + call void @abort() #23 + unreachable + +if.end17: ; preds = %lor.lhs.false12, %land.end + ret void +} + +; Function Attrs: nounwind +declare i32 @getuid() #2 + +; Function Attrs: nounwind +declare i32 @geteuid() #2 + +; Function Attrs: nounwind +declare i32 @getgid() #2 + +; Function Attrs: nounwind +declare i32 @getegid() #2 + +; Function Attrs: noinline nounwind uwtable +define internal i64 @gnu_dev_makedev.172(i32 %__major, i32 %__minor) #0 { +entry: + %__major.addr = alloca i32, align 4 + %__minor.addr = alloca i32, align 4 + store i32 %__major, i32* %__major.addr, align 4 + store i32 %__minor, i32* %__minor.addr, align 4 + %0 = load i32, i32* %__minor.addr, align 4 + %and = and i32 %0, 255 + %1 = load i32, i32* %__major.addr, align 4 + %and1 = and i32 %1, 4095 + %shl = shl i32 %and1, 8 + %or = or i32 %and, %shl + %conv = zext i32 %or to i64 + %2 = load i32, i32* %__minor.addr, align 4 + %and2 = and i32 %2, -256 + %conv3 = zext i32 %and2 to i64 + %shl4 = shl i64 %conv3, 12 + %or5 = or i64 %conv, %shl4 + %3 = load i32, i32* %__major.addr, align 4 + %and6 = and i32 %3, -4096 + %conv7 = zext i32 %and6 to i64 + %shl8 = shl i64 %conv7, 32 + %or9 = or i64 %or5, %shl8 + ret i64 %or9 +} + +define i32 @main(i32 %argc, i8** %argv) { +entry: + call void @__uClibc_main(i32 (i32, i8**, i8**)* @__user_main, i32 %argc, i8** %argv, void ()* null, void ()* null, void ()* null, i8* null) + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define i32 @siggetmask() #0 { +entry: + %call = call i32 @sigblock(i32 0) #20 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i64 @__fpending(%struct.__STDIO_FILE_STRUCT.513* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.513*, align 8 + store %struct.__STDIO_FILE_STRUCT.513* %stream, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.513*, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.513, %struct.__STDIO_FILE_STRUCT.513* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %cond.true, label %cond.end + +cond.true: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.513*, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.513, %struct.__STDIO_FILE_STRUCT.513* %2, i32 0, i32 5 + %3 = load i8*, i8** %__bufpos, align 8 + %4 = load %struct.__STDIO_FILE_STRUCT.513*, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.513, %struct.__STDIO_FILE_STRUCT.513* %4, i32 0, i32 3 + %5 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %3 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + br label %cond.end + +cond.end: ; preds = %entry, %cond.true + %cond = phi i64 [ %sub.ptr.sub, %cond.true ], [ 0, %entry ] + ret i64 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i8* @gets(i8* %s) #0 { +entry: + %s.addr = alloca i8*, align 8 + %p = alloca i8*, align 8 + %c = alloca i32, align 4 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %call = call i32 @getchar_unlocked() #19 + store i32 %call, i32* %c, align 4 + %cmp = icmp ne i32 %call, -1 + br i1 %cmp, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %1 = load i32, i32* %c, align 4 + %conv = trunc i32 %1 to i8 + %2 = load i8*, i8** %p, align 8 + store i8 %conv, i8* %2, align 1 + %conv1 = sext i8 %conv to i32 + %cmp2 = icmp ne i32 %conv1, 10 + br i1 %cmp2, label %while.body, label %while.end + +while.body: ; preds = %land.rhs + %3 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + br label %while.cond + +while.end: ; preds = %while.cond, %land.rhs + %4 = load i32, i32* %c, align 4 + %cmp4 = icmp eq i32 %4, -1 + br i1 %cmp4, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.end + %5 = load i8*, i8** %s.addr, align 8 + %6 = load i8*, i8** %p, align 8 + %cmp6 = icmp eq i8* %5, %6 + br i1 %cmp6, label %if.then, label %if.else + +if.then: ; preds = %lor.lhs.false, %while.end + store i8* null, i8** %s.addr, align 8 + br label %if.end + +if.else: ; preds = %lor.lhs.false + %7 = load i8*, i8** %p, align 8 + store i8 0, i8* %7, align 1 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %8 = load i8*, i8** %s.addr, align 8 + ret i8* %8 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @tmpnam(i8* %s) #0 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %tmpbufmem = alloca [20 x i8], align 16 + %tmpbuf = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %tobool = icmp ne i8* %0, null + %arraydecay = getelementptr inbounds [20 x i8], [20 x i8]* %tmpbufmem, i64 0, i64 0 + %cond = select i1 %tobool, i8* %0, i8* %arraydecay + store i8* %cond, i8** %tmpbuf, align 8 + %1 = load i8*, i8** %tmpbuf, align 8 + %call = call i32 @___path_search(i8* %1, i64 20, i8* null, i8* null) #19 + %conv = sext i32 %call to i64 + %tobool1 = icmp ne i64 %conv, 0 + br i1 %tobool1, label %if.then, label %if.end + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %tmpbuf, align 8 + %call2 = call i32 @__gen_tempname(i8* %2, i32 3) #19 + %conv3 = sext i32 %call2 to i64 + %tobool4 = icmp ne i64 %conv3, 0 + br i1 %tobool4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end + store i8* null, i8** %retval, align 8 + br label %return + +if.end6: ; preds = %if.end + %3 = load i8*, i8** %s.addr, align 8 + %cmp = icmp eq i8* %3, null + br i1 %cmp, label %if.then8, label %if.end10 + +if.then8: ; preds = %if.end6 + %4 = load i8*, i8** %tmpbuf, align 8 + %call9 = call i8* @memcpy(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @tmpnam_buffer, i64 0, i64 0), i8* %4, i64 20) #20 + store i8* %call9, i8** %retval, align 8 + br label %return + +if.end10: ; preds = %if.end6 + %5 = load i8*, i8** %s.addr, align 8 + store i8* %5, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end10, %if.then8, %if.then5, %if.then + %6 = load i8*, i8** %retval, align 8 + ret i8* %6 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @mktemp(i8* nonnull %template) #0 { +entry: + %template.addr = alloca i8*, align 8 + store i8* %template, i8** %template.addr, align 8 + %0 = load i8*, i8** %template.addr, align 8 + %call = call i32 @__gen_tempname(i8* %0, i32 3) #19 + %cmp = icmp slt i32 %call, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load i8*, i8** %template.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + store i8 0, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then, %entry + %2 = load i8*, i8** %template.addr, align 8 + ret i8* %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @access(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %pathname.addr, align 8 + %call1 = call i8* @__concretize_string(i8* %2) + %3 = load i32, i32* %mode.addr, align 4 + %call2 = call i64 (i64, ...) @syscall(i64 21, i8* %call1, i32 %3) #11 + %conv = trunc i64 %call2 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.exe_disk_file_t* @__get_sym_file(i8* %pathname) #3 { +entry: + %retval = alloca %struct.exe_disk_file_t*, align 8 + %pathname.addr = alloca i8*, align 8 + %cwd = alloca [1024 x i8], align 16 + %cwd_len = alloca i64, align 8 + %c = alloca i8, align 1 + %i = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + %0 = load i8*, i8** %pathname.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %pathname.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %2 to i32 + %cmp = icmp eq i32 %conv, 47 + br i1 %cmp, label %if.then2, label %if.end29 + +if.then2: ; preds = %if.end + %3 = bitcast [1024 x i8]* %cwd to i8* + %4 = call i8* @memset(i8* %3, i32 0, i64 1024) + %arraydecay = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 0 + %call = call i8* @getcwd(i8* %arraydecay, i64 1024) #11 + %tobool3 = icmp ne i8* %call, null + br i1 %tobool3, label %if.then4, label %if.end29 + +if.then4: ; preds = %if.then2 + %arraydecay5 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 0 + %call6 = call i64 @strlen(i8* %arraydecay5) #24 + store i64 %call6, i64* %cwd_len, align 8 + %5 = load i64, i64* %cwd_len, align 8 + %cmp7 = icmp ugt i64 %5, 0 + br i1 %cmp7, label %land.lhs.true, label %if.end15 + +land.lhs.true: ; preds = %if.then4 + %6 = load i64, i64* %cwd_len, align 8 + %sub = sub i64 %6, 1 + %arrayidx9 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 %sub + %7 = load i8, i8* %arrayidx9, align 1 + %conv10 = sext i8 %7 to i32 + %cmp11 = icmp eq i32 %conv10, 47 + br i1 %cmp11, label %if.then13, label %if.end15 + +if.then13: ; preds = %land.lhs.true + %8 = load i64, i64* %cwd_len, align 8 + %dec = add i64 %8, -1 + store i64 %dec, i64* %cwd_len, align 8 + %arrayidx14 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 %dec + store i8 0, i8* %arrayidx14, align 1 + br label %if.end15 + +if.end15: ; preds = %if.then13, %land.lhs.true, %if.then4 + %9 = load i8*, i8** %pathname.addr, align 8 + %arraydecay16 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 0 + %10 = load i64, i64* %cwd_len, align 8 + %call17 = call i32 @strncmp(i8* %9, i8* %arraydecay16, i64 %10) #24 + %cmp18 = icmp eq i32 %call17, 0 + br i1 %cmp18, label %if.then20, label %if.end29 + +if.then20: ; preds = %if.end15 + %11 = load i8*, i8** %pathname.addr, align 8 + %12 = load i64, i64* %cwd_len, align 8 + %arrayidx21 = getelementptr inbounds i8, i8* %11, i64 %12 + %13 = load i8, i8* %arrayidx21, align 1 + %conv22 = sext i8 %13 to i32 + %cmp23 = icmp ne i32 %conv22, 0 + br i1 %cmp23, label %if.then25, label %if.end29 + +if.then25: ; preds = %if.then20 + %14 = load i64, i64* %cwd_len, align 8 + %add = add i64 %14, 1 + %15 = load i8*, i8** %pathname.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %15, i64 %add + store i8* %add.ptr, i8** %pathname.addr, align 8 + br label %if.end29 + +if.end29: ; preds = %if.then2, %if.then20, %if.then25, %if.end15, %if.end + %16 = load i8*, i8** %pathname.addr, align 8 + %arrayidx30 = getelementptr inbounds i8, i8* %16, i64 0 + %17 = load i8, i8* %arrayidx30, align 1 + store i8 %17, i8* %c, align 1 + %18 = load i8, i8* %c, align 1 + %conv31 = sext i8 %18 to i32 + %cmp32 = icmp eq i32 %conv31, 0 + br i1 %cmp32, label %if.then38, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end29 + %19 = load i8*, i8** %pathname.addr, align 8 + %arrayidx34 = getelementptr inbounds i8, i8* %19, i64 1 + %20 = load i8, i8* %arrayidx34, align 1 + %conv35 = sext i8 %20 to i32 + %cmp36 = icmp ne i32 %conv35, 0 + br i1 %cmp36, label %if.then38, label %if.end39 + +if.then38: ; preds = %lor.lhs.false, %if.end29 + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +if.end39: ; preds = %lor.lhs.false + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end39 + %21 = load i32, i32* %i, align 4 + %22 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %cmp40 = icmp ult i32 %21, %22 + br i1 %cmp40, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %23 = load i8, i8* %c, align 1 + %conv42 = sext i8 %23 to i32 + %24 = load i32, i32* %i, align 4 + %conv43 = trunc i32 %24 to i8 + %conv44 = sext i8 %conv43 to i32 + %add45 = add nsw i32 65, %conv44 + %cmp46 = icmp eq i32 %conv42, %add45 + br i1 %cmp46, label %if.then48, label %for.inc + +if.then48: ; preds = %for.body + %25 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %26 = load i32, i32* %i, align 4 + %idxprom = zext i32 %26 to i64 + %arrayidx49 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %25, i64 %idxprom + store %struct.exe_disk_file_t* %arrayidx49, %struct.exe_disk_file_t** %df, align 8 + %27 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %27, i32 0, i32 2 + %28 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %28, i32 0, i32 1 + %29 = load i64, i64* %st_ino, align 8 + %cmp50 = icmp eq i64 %29, 0 + br i1 %cmp50, label %if.then52, label %if.end53 + +if.then52: ; preds = %if.then48 + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +if.end53: ; preds = %if.then48 + %30 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + store %struct.exe_disk_file_t* %30, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +for.inc: ; preds = %for.body + %31 = load i32, i32* %i, align 4 + %inc = add i32 %31, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +return: ; preds = %for.end, %if.end53, %if.then52, %if.then38, %if.then + %32 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %retval, align 8 + ret %struct.exe_disk_file_t* %32 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @__concretize_string(i8* %s) #3 { +entry: + %s.addr = alloca i8*, align 8 + %sc = alloca i8*, align 8 + %i = alloca i32, align 4 + %c = alloca i8, align 1 + %cc = alloca i8, align 1 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %call = call i8* @__concretize_ptr(i8* %0) + store i8* %call, i8** %sc, align 8 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load i8*, i8** %sc, align 8 + %2 = load i8, i8* %1, align 1 + store i8 %2, i8* %c, align 1 + %3 = load i8, i8* %c, align 1 + %conv = sext i8 %3 to i64 + %call1 = call i32 @gs_is_symbolic(i64 %conv) + %tobool = icmp ne i32 %call1, 0 + br i1 %tobool, label %if.end4, label %if.then + +if.then: ; preds = %for.cond + %4 = load i8, i8* %c, align 1 + %tobool2 = icmp ne i8 %4, 0 + br i1 %tobool2, label %for.inc, label %for.end + +if.end4: ; preds = %for.cond + %5 = load i32, i32* %i, align 4 + %6 = load i32, i32* %i, align 4 + %sub = sub i32 %6, 1 + %and = and i32 %5, %sub + %tobool5 = icmp ne i32 %and, 0 + %7 = load i8, i8* %c, align 1 + br i1 %tobool5, label %if.else14, label %if.then6 + +if.then6: ; preds = %if.end4 + %tobool7 = icmp ne i8 %7, 0 + br i1 %tobool7, label %if.else, label %if.then8 + +if.then8: ; preds = %if.then6 + %8 = load i8*, i8** %sc, align 8 + store i8 0, i8* %8, align 1 + br label %for.end + +if.else: ; preds = %if.then6 + %9 = load i8, i8* %c, align 1 + %conv9 = sext i8 %9 to i32 + %cmp = icmp eq i32 %conv9, 47 + br i1 %cmp, label %if.then11, label %for.inc + +if.then11: ; preds = %if.else + %10 = load i8*, i8** %sc, align 8 + store i8 47, i8* %10, align 1 + br label %for.inc + +if.else14: ; preds = %if.end4 + %conv15 = sext i8 %7 to i64 + %call16 = call i64 @gs_get_valuel(i64 %conv15) + %conv17 = trunc i64 %call16 to i8 + store i8 %conv17, i8* %cc, align 1 + %11 = load i8, i8* %cc, align 1 + %conv18 = sext i8 %11 to i32 + %12 = load i8, i8* %c, align 1 + %conv19 = sext i8 %12 to i32 + %cmp20 = icmp eq i32 %conv18, %conv19 + call void @gs_assume(i1 zeroext %cmp20) + %13 = load i8, i8* %cc, align 1 + %14 = load i8*, i8** %sc, align 8 + store i8 %13, i8* %14, align 1 + %15 = load i8, i8* %cc, align 1 + %tobool22 = icmp ne i8 %15, 0 + br i1 %tobool22, label %for.inc, label %for.end + +for.inc: ; preds = %if.else, %if.then11, %if.else14, %if.then + %16 = load i32, i32* %i, align 4 + %inc = add i32 %16, 1 + store i32 %inc, i32* %i, align 4 + %17 = load i8*, i8** %sc, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %17, i32 1 + store i8* %incdec.ptr, i8** %sc, align 8 + br label %for.cond + +for.end: ; preds = %if.else14, %if.then, %if.then8 + %18 = load i8*, i8** %s.addr, align 8 + ret i8* %18 +} + +; Function Attrs: nounwind +declare dso_local i64 @syscall(i64, ...) #4 + +; Function Attrs: noinline nounwind uwtable +define internal i8* @__concretize_ptr(i8* %p) #3 { +entry: + %p.addr = alloca i8*, align 8 + store i8* %p, i8** %p.addr, align 8 + %0 = load i8*, i8** %p.addr, align 8 + %1 = ptrtoint i8* %0 to i64 + %call = call i32 @gs_is_symbolic(i64 %1) + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @gs_report_error(i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 1386, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.27, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.28, i64 0, i64 0)) #25 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %p.addr, align 8 + ret i8* %2 +} + +declare dso_local i32 @gs_is_symbolic(i64) #5 + +declare dso_local i64 @gs_get_valuel(i64) #5 + +declare dso_local void @gs_assume(i1 zeroext) #5 + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.25, i64 0, i64 0)) + call void @stop(i32 -1) #25 + unreachable +} + +declare dso_local void @print_string(i8*) #5 + +declare dso_local void @sym_print(i32, ...) #5 + +; Function Attrs: noreturn +declare dso_local void @stop(i32) #7 + +; Function Attrs: argmemonly nounwind willreturn writeonly +declare void @llvm.memset.p0i8.i64(i8* nocapture writeonly, i8, i64, i1 immarg) #8 + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @getcwd(i8* %buf, i64 %size) #3 { +entry: + %retval = alloca i8*, align 8 + %buf.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %r = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + %0 = load i32, i32* @getcwd.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @getcwd.n_calls, align 4 + %1 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool = icmp ne i32 %1, 0 + br i1 %tobool, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %2 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %3 = load i32, i32* %2, align 4 + %4 = load i32, i32* @getcwd.n_calls, align 4 + %cmp = icmp eq i32 %3, %4 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %5 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %5, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call = call i32* @__errno_location() #26 + store i32 34, i32* %call, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + %6 = load i8*, i8** %buf.addr, align 8 + %tobool1 = icmp ne i8* %6, null + br i1 %tobool1, label %if.else, label %if.then2 + +if.then2: ; preds = %if.end + store i64 1024, i64* %size.addr, align 8 + %7 = load i64, i64* %size.addr, align 8 + %call3 = call noalias i8* @malloc(i64 %7) #11 + store i8* %call3, i8** %buf.addr, align 8 + %8 = load i8*, i8** %buf.addr, align 8 + %tobool4 = icmp ne i8* %8, null + br i1 %tobool4, label %if.end12, label %if.then5 + +if.then5: ; preds = %if.then2 + %call6 = call i32* @__errno_location() #26 + store i32 12, i32* %call6, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.else: ; preds = %if.end + %9 = load i64, i64* %size.addr, align 8 + %tobool8 = icmp ne i64 %9, 0 + br i1 %tobool8, label %if.end12, label %if.then9 + +if.then9: ; preds = %if.else + %call10 = call i32* @__errno_location() #26 + store i32 22, i32* %call10, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end12: ; preds = %if.else, %if.then2 + %10 = load i8*, i8** %buf.addr, align 8 + %call13 = call i8* @__concretize_ptr(i8* %10) + store i8* %call13, i8** %buf.addr, align 8 + %11 = load i64, i64* %size.addr, align 8 + %call14 = call i64 @__concretize_size(i64 %11) + store i64 %call14, i64* %size.addr, align 8 + %12 = load i8*, i8** %buf.addr, align 8 + %13 = load i64, i64* %size.addr, align 8 + %call15 = call i64 (i64, ...) @syscall(i64 79, i8* %12, i64 %13) #11 + %conv = trunc i64 %call15 to i32 + store i32 %conv, i32* %r, align 4 + %14 = load i32, i32* %r, align 4 + %cmp16 = icmp eq i32 %14, -1 + br i1 %cmp16, label %if.then18, label %if.end19 + +if.then18: ; preds = %if.end12 + store i8* null, i8** %retval, align 8 + br label %return + +if.end19: ; preds = %if.end12 + %15 = load i8*, i8** %buf.addr, align 8 + store i8* %15, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end19, %if.then18, %if.then9, %if.then5, %if.then + %16 = load i8*, i8** %retval, align 8 + ret i8* %16 +} + +; Function Attrs: nounwind +declare dso_local noalias i8* @malloc(i64) #4 + +; Function Attrs: noinline nounwind uwtable +define internal i64 @__concretize_size(i64 %s) #3 { +entry: + %s.addr = alloca i64, align 8 + %sc = alloca i64, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %call = call i64 @gs_get_valuel(i64 %0) + store i64 %call, i64* %sc, align 8 + %1 = load i64, i64* %sc, align 8 + %2 = load i64, i64* %s.addr, align 8 + %cmp = icmp eq i64 %1, %2 + call void @gs_assume(i1 zeroext %cmp) + %3 = load i64, i64* %sc, align 8 + ret i64 %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @umask(i32 %mask) #3 { +entry: + %mask.addr = alloca i32, align 4 + %r = alloca i32, align 4 + store i32 %mask, i32* %mask.addr, align 4 + %0 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 1), align 8 + store i32 %0, i32* %r, align 4 + %1 = load i32, i32* %mask.addr, align 4 + %and = and i32 %1, 511 + store i32 %and, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 1), align 8 + %2 = load i32, i32* %r, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_open(i8* %pathname, i32 %flags, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %fd = alloca i32, align 4 + %os_fd = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + store i32 0, i32* %fd, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %0, 32 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %1 = load i32, i32* %fd, align 4 + %idxprom = sext i32 %1 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + %flags1 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %arrayidx, i32 0, i32 1 + %2 = load i32, i32* %flags1, align 4 + %and = and i32 %2, 1 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %for.inc, label %for.end + +for.inc: ; preds = %for.body + %3 = load i32, i32* %fd, align 4 + %inc = add nsw i32 %3, 1 + store i32 %inc, i32* %fd, align 4 + br label %for.cond + +for.end: ; preds = %for.body, %for.cond + %4 = load i32, i32* %fd, align 4 + %cmp2 = icmp eq i32 %4, 32 + br i1 %cmp2, label %if.then3, label %if.end4 + +if.then3: ; preds = %for.end + %call = call i32* @__errno_location() #26 + store i32 24, i32* %call, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %for.end + %5 = load i32, i32* %fd, align 4 + %idxprom5 = sext i32 %5 to i64 + %arrayidx6 = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom5 + store %struct.exe_file_t* %arrayidx6, %struct.exe_file_t** %f, align 8 + %6 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %7 = bitcast %struct.exe_file_t* %6 to i8* + %8 = call i8* @memset(i8* %7, i32 0, i64 24) + %9 = load i8*, i8** %pathname.addr, align 8 + %call7 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %9) + store %struct.exe_disk_file_t* %call7, %struct.exe_disk_file_t** %df, align 8 + %10 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %tobool8 = icmp ne %struct.exe_disk_file_t* %10, null + br i1 %tobool8, label %if.then9, label %if.else45 + +if.then9: ; preds = %if.end4 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %12 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %12, i32 0, i32 3 + store %struct.exe_disk_file_t* %11, %struct.exe_disk_file_t** %dfile, align 8 + %13 = load i32, i32* %flags.addr, align 4 + %and10 = and i32 %13, 64 + %tobool11 = icmp ne i32 %and10, 0 + br i1 %tobool11, label %land.lhs.true, label %if.end16 + +land.lhs.true: ; preds = %if.then9 + %14 = load i32, i32* %flags.addr, align 4 + %and12 = and i32 %14, 128 + %tobool13 = icmp ne i32 %and12, 0 + br i1 %tobool13, label %if.then14, label %if.end16 + +if.then14: ; preds = %land.lhs.true + %call15 = call i32* @__errno_location() #26 + store i32 17, i32* %call15, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end16: ; preds = %land.lhs.true, %if.then9 + %15 = load i32, i32* %flags.addr, align 4 + %and17 = and i32 %15, 512 + %tobool18 = icmp ne i32 %and17, 0 + br i1 %tobool18, label %land.lhs.true19, label %if.end24 + +land.lhs.true19: ; preds = %if.end16 + %16 = load i32, i32* %flags.addr, align 4 + %and20 = and i32 %16, 0 + %tobool21 = icmp ne i32 %and20, 0 + br i1 %tobool21, label %if.then22, label %if.end24 + +if.then22: ; preds = %land.lhs.true19 + call void @gs_warning(i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.5, i64 0, i64 0)) + %call23 = call i32* @__errno_location() #26 + store i32 13, i32* %call23, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end24: ; preds = %land.lhs.true19, %if.end16 + %17 = load i32, i32* %flags.addr, align 4 + %and25 = and i32 %17, 128 + %tobool26 = icmp ne i32 %and25, 0 + br i1 %tobool26, label %land.lhs.true27, label %if.end32 + +land.lhs.true27: ; preds = %if.end24 + %18 = load i32, i32* %flags.addr, align 4 + %and28 = and i32 %18, 64 + %tobool29 = icmp ne i32 %and28, 0 + br i1 %tobool29, label %if.end32, label %if.then30 + +if.then30: ; preds = %land.lhs.true27 + call void @gs_warning(i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.1.6, i64 0, i64 0)) + %call31 = call i32* @__errno_location() #26 + store i32 13, i32* %call31, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end32: ; preds = %land.lhs.true27, %if.end24 + %19 = load i32, i32* %flags.addr, align 4 + %20 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %20, i32 0, i32 2 + %21 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %call33 = call i32 @has_permission(i32 %19, %struct.stat64* %21) + %tobool34 = icmp ne i32 %call33, 0 + br i1 %tobool34, label %if.else, label %if.then35 + +if.then35: ; preds = %if.end32 + %call36 = call i32* @__errno_location() #26 + store i32 13, i32* %call36, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.end32 + %22 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile37 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %22, i32 0, i32 3 + %23 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile37, align 8 + %stat38 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %23, i32 0, i32 2 + %24 = load %struct.stat64*, %struct.stat64** %stat38, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %24, i32 0, i32 3 + %25 = load i32, i32* %st_mode, align 8 + %and39 = and i32 %25, -512 + %26 = load i32, i32* %mode.addr, align 4 + %27 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 1), align 8 + %neg = xor i32 %27, -1 + %and40 = and i32 %26, %neg + %or = or i32 %and39, %and40 + %28 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile41 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %28, i32 0, i32 3 + %29 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile41, align 8 + %stat42 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %29, i32 0, i32 2 + %30 = load %struct.stat64*, %struct.stat64** %stat42, align 8 + %st_mode43 = getelementptr inbounds %struct.stat64, %struct.stat64* %30, i32 0, i32 3 + store i32 %or, i32* %st_mode43, align 8 + br label %if.end53 + +if.else45: ; preds = %if.end4 + %31 = load i8*, i8** %pathname.addr, align 8 + %call46 = call i8* @__concretize_string(i8* %31) + %32 = load i32, i32* %flags.addr, align 4 + %33 = load i32, i32* %mode.addr, align 4 + %call47 = call i64 (i64, ...) @syscall(i64 2, i8* %call46, i32 %32, i32 %33) #11 + %conv = trunc i64 %call47 to i32 + store i32 %conv, i32* %os_fd, align 4 + %34 = load i32, i32* %os_fd, align 4 + %cmp48 = icmp eq i32 %34, -1 + br i1 %cmp48, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.else45 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end51: ; preds = %if.else45 + %35 = load i32, i32* %os_fd, align 4 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd52 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 0 + store i32 %35, i32* %fd52, align 8 + br label %if.end53 + +if.end53: ; preds = %if.end51, %if.else + %37 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %37, i32 0, i32 1 + store i32 1, i32* %flags54, align 4 + %38 = load i32, i32* %flags.addr, align 4 + %and55 = and i32 %38, 3 + %cmp56 = icmp eq i32 %and55, 0 + br i1 %cmp56, label %if.then58, label %if.else61 + +if.then58: ; preds = %if.end53 + %39 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags59 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %39, i32 0, i32 1 + %40 = load i32, i32* %flags59, align 4 + %or60 = or i32 %40, 4 + store i32 %or60, i32* %flags59, align 4 + br label %if.end72 + +if.else61: ; preds = %if.end53 + %41 = load i32, i32* %flags.addr, align 4 + %and62 = and i32 %41, 3 + %cmp63 = icmp eq i32 %and62, 1 + %42 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags66 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %42, i32 0, i32 1 + %43 = load i32, i32* %flags66, align 4 + br i1 %cmp63, label %if.then65, label %if.else68 + +if.then65: ; preds = %if.else61 + %or67 = or i32 %43, 8 + store i32 %or67, i32* %flags66, align 4 + br label %if.end72 + +if.else68: ; preds = %if.else61 + %or70 = or i32 %43, 12 + store i32 %or70, i32* %flags66, align 4 + br label %if.end72 + +if.end72: ; preds = %if.then65, %if.else68, %if.then58 + %44 = load i32, i32* %fd, align 4 + store i32 %44, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end72, %if.then50, %if.then35, %if.then30, %if.then22, %if.then14, %if.then3 + %45 = load i32, i32* %retval, align 4 + ret i32 %45 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @gs_warning(i8* %message) #3 { +entry: + %message.addr = alloca i8*, align 8 + store i8* %message, i8** %message.addr, align 8 + %0 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %0) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.25, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @has_permission(i32 %flags, %struct.stat64* %s) #3 { +entry: + %retval = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %s.addr = alloca %struct.stat64*, align 8 + %write_access = alloca i32, align 4 + %read_access = alloca i32, align 4 + %mode = alloca i32, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store %struct.stat64* %s, %struct.stat64** %s.addr, align 8 + %0 = load %struct.stat64*, %struct.stat64** %s.addr, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %0, i32 0, i32 3 + %1 = load i32, i32* %st_mode, align 8 + store i32 %1, i32* %mode, align 4 + %2 = load i32, i32* %flags.addr, align 4 + %and = and i32 %2, 0 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %3 = load i32, i32* %flags.addr, align 4 + %and1 = and i32 %3, 2 + %tobool2 = icmp ne i32 %and1, 0 + br i1 %tobool2, label %if.then, label %if.else + +if.then: ; preds = %lor.lhs.false, %entry + store i32 1, i32* %read_access, align 4 + br label %if.end + +if.else: ; preds = %lor.lhs.false + store i32 0, i32* %read_access, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %4 = load i32, i32* %flags.addr, align 4 + %and3 = and i32 %4, 1 + %tobool4 = icmp ne i32 %and3, 0 + br i1 %tobool4, label %if.then8, label %lor.lhs.false5 + +lor.lhs.false5: ; preds = %if.end + %5 = load i32, i32* %flags.addr, align 4 + %and6 = and i32 %5, 2 + %tobool7 = icmp ne i32 %and6, 0 + br i1 %tobool7, label %if.then8, label %if.else9 + +if.then8: ; preds = %lor.lhs.false5, %if.end + store i32 1, i32* %write_access, align 4 + br label %if.end10 + +if.else9: ; preds = %lor.lhs.false5 + store i32 0, i32* %write_access, align 4 + br label %if.end10 + +if.end10: ; preds = %if.else9, %if.then8 + %6 = load i32, i32* %read_access, align 4 + %tobool11 = icmp ne i32 %6, 0 + br i1 %tobool11, label %land.lhs.true, label %if.end18 + +land.lhs.true: ; preds = %if.end10 + %7 = load i32, i32* %mode, align 4 + %and12 = and i32 %7, 256 + %8 = load i32, i32* %mode, align 4 + %and13 = and i32 %8, 32 + %or = or i32 %and12, %and13 + %9 = load i32, i32* %mode, align 4 + %and14 = and i32 %9, 4 + %or15 = or i32 %or, %and14 + %tobool16 = icmp ne i32 %or15, 0 + br i1 %tobool16, label %if.then17, label %if.end18 + +if.then17: ; preds = %land.lhs.true + store i32 0, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %land.lhs.true, %if.end10 + %10 = load i32, i32* %write_access, align 4 + %tobool19 = icmp ne i32 %10, 0 + br i1 %tobool19, label %land.lhs.true20, label %if.end28 + +land.lhs.true20: ; preds = %if.end18 + %11 = load i32, i32* %mode, align 4 + %and21 = and i32 %11, 128 + %12 = load i32, i32* %mode, align 4 + %and22 = and i32 %12, 16 + %or23 = or i32 %and21, %and22 + %13 = load i32, i32* %mode, align 4 + %and24 = and i32 %13, 2 + %or25 = or i32 %or23, %and24 + %tobool26 = icmp ne i32 %or25, 0 + br i1 %tobool26, label %if.end28, label %if.then27 + +if.then27: ; preds = %land.lhs.true20 + store i32 0, i32* %retval, align 4 + br label %return + +if.end28: ; preds = %land.lhs.true20, %if.end18 + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end28, %if.then27, %if.then17 + %14 = load i32, i32* %retval, align 4 + ret i32 %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_openat(i32 %basefd, i8* %pathname, i32 %flags, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %basefd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %fd = alloca i32, align 4 + %bf = alloca %struct.exe_file_t*, align 8 + %os_fd = alloca i32, align 4 + store i32 %basefd, i32* %basefd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %basefd.addr, align 4 + %cmp = icmp ne i32 %0, -100 + br i1 %cmp, label %if.then, label %if.end8 + +if.then: ; preds = %entry + %1 = load i32, i32* %basefd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %bf, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %bf, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.else, label %if.then1 + +if.then1: ; preds = %if.then + %call2 = call i32* @__errno_location() #26 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %bf, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 3 + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool3 = icmp ne %struct.exe_disk_file_t* %4, null + br i1 %tobool3, label %if.then4, label %if.end6 + +if.then4: ; preds = %if.else + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0)) + %call5 = call i32* @__errno_location() #26 + store i32 2, i32* %call5, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.else + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %bf, align 8 + %fd7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd7, align 8 + store i32 %6, i32* %basefd.addr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end6, %entry + %7 = load i8*, i8** %pathname.addr, align 8 + %call9 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %7) + %tobool10 = icmp ne %struct.exe_disk_file_t* %call9, null + br i1 %tobool10, label %if.then11, label %if.end13 + +if.then11: ; preds = %if.end8 + %8 = load i8*, i8** %pathname.addr, align 8 + %9 = load i32, i32* %flags.addr, align 4 + %10 = load i32, i32* %mode.addr, align 4 + %call12 = call i32 @__fd_open(i8* %8, i32 %9, i32 %10) + store i32 %call12, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.end8 + store i32 0, i32* %fd, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end13 + %11 = load i32, i32* %fd, align 4 + %cmp14 = icmp slt i32 %11, 32 + br i1 %cmp14, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %12 = load i32, i32* %fd, align 4 + %idxprom = sext i32 %12 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + %flags15 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %arrayidx, i32 0, i32 1 + %13 = load i32, i32* %flags15, align 4 + %and = and i32 %13, 1 + %tobool16 = icmp ne i32 %and, 0 + br i1 %tobool16, label %for.inc, label %for.end + +for.inc: ; preds = %for.body + %14 = load i32, i32* %fd, align 4 + %inc = add nsw i32 %14, 1 + store i32 %inc, i32* %fd, align 4 + br label %for.cond + +for.end: ; preds = %for.body, %for.cond + %15 = load i32, i32* %fd, align 4 + %cmp19 = icmp eq i32 %15, 32 + br i1 %cmp19, label %if.then20, label %if.end22 + +if.then20: ; preds = %for.end + %call21 = call i32* @__errno_location() #26 + store i32 24, i32* %call21, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end22: ; preds = %for.end + %16 = load i32, i32* %fd, align 4 + %idxprom23 = sext i32 %16 to i64 + %arrayidx24 = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom23 + store %struct.exe_file_t* %arrayidx24, %struct.exe_file_t** %f, align 8 + %17 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %18 = bitcast %struct.exe_file_t* %17 to i8* + %19 = call i8* @memset(i8* %18, i32 0, i64 24) + %20 = load i32, i32* %basefd.addr, align 4 + %conv = sext i32 %20 to i64 + %21 = load i8*, i8** %pathname.addr, align 8 + %call25 = call i8* @__concretize_string(i8* %21) + %22 = load i32, i32* %flags.addr, align 4 + %conv26 = sext i32 %22 to i64 + %23 = load i32, i32* %mode.addr, align 4 + %call27 = call i64 (i64, ...) @syscall(i64 257, i64 %conv, i8* %call25, i64 %conv26, i32 %23) #11 + %conv28 = trunc i64 %call27 to i32 + store i32 %conv28, i32* %os_fd, align 4 + %24 = load i32, i32* %os_fd, align 4 + %cmp29 = icmp eq i32 %24, -1 + br i1 %cmp29, label %if.then31, label %if.end32 + +if.then31: ; preds = %if.end22 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end32: ; preds = %if.end22 + %25 = load i32, i32* %os_fd, align 4 + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd33 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 0 + store i32 %25, i32* %fd33, align 8 + %27 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags34 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %27, i32 0, i32 1 + store i32 1, i32* %flags34, align 4 + %28 = load i32, i32* %flags.addr, align 4 + %and35 = and i32 %28, 3 + %cmp36 = icmp eq i32 %and35, 0 + br i1 %cmp36, label %if.then38, label %if.else40 + +if.then38: ; preds = %if.end32 + %29 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags39 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %29, i32 0, i32 1 + %30 = load i32, i32* %flags39, align 4 + %or = or i32 %30, 4 + store i32 %or, i32* %flags39, align 4 + br label %if.end51 + +if.else40: ; preds = %if.end32 + %31 = load i32, i32* %flags.addr, align 4 + %and41 = and i32 %31, 3 + %cmp42 = icmp eq i32 %and41, 1 + %32 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags45 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %32, i32 0, i32 1 + %33 = load i32, i32* %flags45, align 4 + br i1 %cmp42, label %if.then44, label %if.else47 + +if.then44: ; preds = %if.else40 + %or46 = or i32 %33, 8 + store i32 %or46, i32* %flags45, align 4 + br label %if.end51 + +if.else47: ; preds = %if.else40 + %or49 = or i32 %33, 12 + store i32 %or49, i32* %flags45, align 4 + br label %if.end51 + +if.end51: ; preds = %if.then44, %if.else47, %if.then38 + %34 = load i32, i32* %fd, align 4 + store i32 %34, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end51, %if.then31, %if.then20, %if.then11, %if.then4, %if.then1 + %35 = load i32, i32* %retval, align 4 + ret i32 %35 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.exe_file_t* @__get_file(i32 %fd) #3 { +entry: + %retval = alloca %struct.exe_file_t*, align 8 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %cmp = icmp sge i32 %0, 0 + %1 = load i32, i32* %fd.addr, align 4 + %cmp1 = icmp slt i32 %1, 32 + %or.cond = and i1 %cmp, %cmp1 + br i1 %or.cond, label %if.then, label %if.end3 + +if.then: ; preds = %entry + %2 = load i32, i32* %fd.addr, align 4 + %idxprom = sext i32 %2 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + store %struct.exe_file_t* %arrayidx, %struct.exe_file_t** %f, align 8 + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 1 + %4 = load i32, i32* %flags, align 4 + %and = and i32 %4, 1 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.then + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + store %struct.exe_file_t* %5, %struct.exe_file_t** %retval, align 8 + br label %return + +if.end3: ; preds = %if.then, %entry + store %struct.exe_file_t* null, %struct.exe_file_t** %retval, align 8 + br label %return + +return: ; preds = %if.end3, %if.then2 + %6 = load %struct.exe_file_t*, %struct.exe_file_t** %retval, align 8 + ret %struct.exe_file_t* %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @utimes(i8* nonnull %path, %struct.timespec* %times) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %times.addr = alloca %struct.timespec*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + %newTimes = alloca [2 x %struct.timespec], align 16 + store i8* %path, i8** %path.addr, align 8 + store %struct.timespec* %times, %struct.timespec** %times.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end12 + +if.then: ; preds = %entry + %2 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %tobool1 = icmp ne %struct.timespec* %2, null + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + %arrayidx = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 0 + %call3 = call i32 @gettimeofday(%struct.timespec* %arrayidx, i8* null) #11 + %arrayidx4 = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 1 + %arrayidx5 = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 0 + %3 = bitcast %struct.timespec* %arrayidx4 to i8* + %4 = bitcast %struct.timespec* %arrayidx5 to i8* + %5 = call i8* @memcpy(i8* %3, i8* %4, i64 16) + %arraydecay = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 0 + store %struct.timespec* %arraydecay, %struct.timespec** %times.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %6 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %arrayidx6 = getelementptr inbounds %struct.timespec, %struct.timespec* %6, i64 0 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %arrayidx6, i32 0, i32 0 + %7 = load i64, i64* %tv_sec, align 8 + %8 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %8, i32 0, i32 2 + %9 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_atim = getelementptr inbounds %struct.stat64, %struct.stat64* %9, i32 0, i32 11 + %tv_sec7 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim, i32 0, i32 0 + store i64 %7, i64* %tv_sec7, align 8 + %10 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %arrayidx8 = getelementptr inbounds %struct.timespec, %struct.timespec* %10, i64 1 + %tv_sec9 = getelementptr inbounds %struct.timespec, %struct.timespec* %arrayidx8, i32 0, i32 0 + %11 = load i64, i64* %tv_sec9, align 8 + %12 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat10 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %12, i32 0, i32 2 + %13 = load %struct.stat64*, %struct.stat64** %stat10, align 8 + %st_mtim = getelementptr inbounds %struct.stat64, %struct.stat64* %13, i32 0, i32 12 + %tv_sec11 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim, i32 0, i32 0 + store i64 %11, i64* %tv_sec11, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.end12: ; preds = %entry + %14 = load i8*, i8** %path.addr, align 8 + %call13 = call i8* @__concretize_string(i8* %14) + %15 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %call14 = call i64 (i64, ...) @syscall(i64 235, i8* %call13, %struct.timespec* %15) #11 + %conv = trunc i64 %call14 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end12, %if.end + %16 = load i32, i32* %retval, align 4 + ret i32 %16 +} + +; Function Attrs: nounwind +declare dso_local i32 @gettimeofday(%struct.timespec*, i8*) #4 + +; Function Attrs: argmemonly nounwind willreturn +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* noalias nocapture writeonly, i8* noalias nocapture readonly, i64, i1 immarg) #9 + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @futimesat(i32 %fd, i8* %path, %struct.timespec* %times) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %times.addr = alloca %struct.timespec*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.timespec* %times, %struct.timespec** %times.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %cmp = icmp ne i32 %0, -100 + br i1 %cmp, label %if.then, label %if.end8 + +if.then: ; preds = %entry + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.else, label %if.then1 + +if.then1: ; preds = %if.then + %call2 = call i32* @__errno_location() #26 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 3 + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool3 = icmp ne %struct.exe_disk_file_t* %4, null + br i1 %tobool3, label %if.then4, label %if.end6 + +if.then4: ; preds = %if.else + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0)) + %call5 = call i32* @__errno_location() #26 + store i32 2, i32* %call5, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.else + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd7, align 8 + store i32 %6, i32* %fd.addr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end6, %entry + %7 = load i8*, i8** %path.addr, align 8 + %call9 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %7) + %tobool10 = icmp ne %struct.exe_disk_file_t* %call9, null + br i1 %tobool10, label %if.then11, label %if.end13 + +if.then11: ; preds = %if.end8 + %8 = load i8*, i8** %path.addr, align 8 + %9 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %call12 = call i32 @utimes(i8* %8, %struct.timespec* %9) #11 + store i32 %call12, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.end8 + %10 = load i32, i32* %fd.addr, align 4 + %conv = sext i32 %10 to i64 + %11 = load i8*, i8** %path.addr, align 8 + %tobool14 = icmp ne i8* %11, null + br i1 %tobool14, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end13 + %12 = load i8*, i8** %path.addr, align 8 + %call15 = call i8* @__concretize_string(i8* %12) + br label %cond.end + +cond.end: ; preds = %if.end13, %cond.true + %cond = phi i8* [ %call15, %cond.true ], [ null, %if.end13 ] + %13 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %call16 = call i64 (i64, ...) @syscall(i64 261, i64 %conv, i8* %cond, %struct.timespec* %13) #11 + %conv17 = trunc i64 %call16 to i32 + store i32 %conv17, i32* %retval, align 4 + br label %return + +return: ; preds = %cond.end, %if.then11, %if.then4, %if.then1 + %14 = load i32, i32* %retval, align 4 + ret i32 %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @close(i32 %fd) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %r = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 0, i32* %r, align 4 + %0 = load i32, i32* @close.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @close.n_calls, align 4 + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #26 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @close.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #26 + store i32 5, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %9 = bitcast %struct.exe_file_t* %8 to i8* + %10 = call i8* @memset(i8* %9, i32 0, i64 24) + %11 = load i32, i32* %r, align 4 + store i32 %11, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %12 = load i32, i32* %retval, align 4 + ret i32 %12 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @read(i32 %fd, i8* %buf, i64 %count) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %r = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + %0 = load i32, i32* @read.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @read.n_calls, align 4 + %1 = load i64, i64* %count.addr, align 8 + %cmp = icmp eq i64 %1, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i64 0, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %buf.addr, align 8 + %cmp1 = icmp eq i8* %2, null + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + %call = call i32* @__errno_location() #26 + store i32 14, i32* %call, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %3 = load i32, i32* %fd.addr, align 4 + %call4 = call %struct.exe_file_t* @__get_file(i32 %3) + store %struct.exe_file_t* %call4, %struct.exe_file_t** %f, align 8 + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %4, null + br i1 %tobool, label %if.end7, label %if.then5 + +if.then5: ; preds = %if.end3 + %call6 = call i32* @__errno_location() #26 + store i32 9, i32* %call6, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end7: ; preds = %if.end3 + %5 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool8 = icmp ne i32 %5, 0 + br i1 %tobool8, label %land.lhs.true, label %if.end12 + +land.lhs.true: ; preds = %if.end7 + %6 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %7 = load i32, i32* %6, align 4 + %8 = load i32, i32* @read.n_calls, align 4 + %cmp9 = icmp eq i32 %7, %8 + br i1 %cmp9, label %if.then10, label %if.end12 + +if.then10: ; preds = %land.lhs.true + %9 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %9, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call11 = call i32* @__errno_location() #26 + store i32 5, i32* %call11, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end12: ; preds = %land.lhs.true, %if.end7 + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 3 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool13 = icmp ne %struct.exe_disk_file_t* %11, null + br i1 %tobool13, label %if.else38, label %if.then14 + +if.then14: ; preds = %if.end12 + %12 = load i8*, i8** %buf.addr, align 8 + %call15 = call i8* @__concretize_ptr(i8* %12) + store i8* %call15, i8** %buf.addr, align 8 + %13 = load i64, i64* %count.addr, align 8 + %call16 = call i64 @__concretize_size(i64 %13) + store i64 %call16, i64* %count.addr, align 8 + %14 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd17 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %14, i32 0, i32 0 + %15 = load i32, i32* %fd17, align 8 + %cmp18 = icmp eq i32 %15, 0 + %16 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd20 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %16, i32 0, i32 0 + %17 = load i32, i32* %fd20, align 8 + %18 = load i8*, i8** %buf.addr, align 8 + %19 = load i64, i64* %count.addr, align 8 + br i1 %cmp18, label %if.then19, label %if.else + +if.then19: ; preds = %if.then14 + %call21 = call i64 (i64, ...) @syscall(i64 0, i32 %17, i8* %18, i64 %19) #11 + %conv = trunc i64 %call21 to i32 + store i32 %conv, i32* %r, align 4 + br label %if.end25 + +if.else: ; preds = %if.then14 + %20 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %20, i32 0, i32 2 + %21 = load i64, i64* %off, align 8 + %call23 = call i64 (i64, ...) @syscall(i64 17, i32 %17, i8* %18, i64 %19, i64 %21) #11 + %conv24 = trunc i64 %call23 to i32 + store i32 %conv24, i32* %r, align 4 + br label %if.end25 + +if.end25: ; preds = %if.else, %if.then19 + %22 = load i32, i32* %r, align 4 + %cmp26 = icmp eq i32 %22, -1 + br i1 %cmp26, label %if.then28, label %if.end29 + +if.then28: ; preds = %if.end25 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end29: ; preds = %if.end25 + %23 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd30 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %23, i32 0, i32 0 + %24 = load i32, i32* %fd30, align 8 + %cmp31 = icmp ne i32 %24, 0 + br i1 %cmp31, label %if.then33, label %if.end36 + +if.then33: ; preds = %if.end29 + %25 = load i32, i32* %r, align 4 + %conv34 = sext i32 %25 to i64 + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off35 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 2 + %27 = load i64, i64* %off35, align 8 + %add = add nsw i64 %27, %conv34 + store i64 %add, i64* %off35, align 8 + br label %if.end36 + +if.end36: ; preds = %if.then33, %if.end29 + %28 = load i32, i32* %r, align 4 + %conv37 = sext i32 %28 to i64 + store i64 %conv37, i64* %retval, align 8 + br label %return + +if.else38: ; preds = %if.end12 + %29 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off39 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %29, i32 0, i32 2 + %30 = load i64, i64* %off39, align 8 + %cmp40 = icmp sge i64 %30, 0 + br i1 %cmp40, label %if.end44, label %if.else43 + +if.else43: ; preds = %if.else38 + call void @__assert_fail(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.3, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 393, i8* getelementptr inbounds ([34 x i8], [34 x i8]* @__PRETTY_FUNCTION__.read, i64 0, i64 0)) #27 + unreachable + +if.end44: ; preds = %if.else38 + %31 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile45 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %31, i32 0, i32 3 + %32 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile45, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %32, i32 0, i32 0 + %33 = load i32, i32* %size, align 8 + %conv46 = zext i32 %33 to i64 + %34 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off47 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %34, i32 0, i32 2 + %35 = load i64, i64* %off47, align 8 + %cmp48 = icmp slt i64 %conv46, %35 + br i1 %cmp48, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.end44 + store i64 0, i64* %retval, align 8 + br label %return + +if.end51: ; preds = %if.end44 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off52 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 2 + %37 = load i64, i64* %off52, align 8 + %38 = load i64, i64* %count.addr, align 8 + %add53 = add i64 %37, %38 + %39 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %39, i32 0, i32 3 + %40 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile54, align 8 + %size55 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %40, i32 0, i32 0 + %41 = load i32, i32* %size55, align 8 + %conv56 = zext i32 %41 to i64 + %cmp57 = icmp ugt i64 %add53, %conv56 + br i1 %cmp57, label %if.then59, label %if.end64 + +if.then59: ; preds = %if.end51 + %42 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile60 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %42, i32 0, i32 3 + %43 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile60, align 8 + %size61 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %43, i32 0, i32 0 + %44 = load i32, i32* %size61, align 8 + %conv62 = zext i32 %44 to i64 + %45 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off63 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %45, i32 0, i32 2 + %46 = load i64, i64* %off63, align 8 + %sub = sub nsw i64 %conv62, %46 + store i64 %sub, i64* %count.addr, align 8 + br label %if.end64 + +if.end64: ; preds = %if.then59, %if.end51 + %47 = load i8*, i8** %buf.addr, align 8 + %48 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile65 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %48, i32 0, i32 3 + %49 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile65, align 8 + %contents = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %49, i32 0, i32 1 + %50 = load i8*, i8** %contents, align 8 + %51 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off66 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %51, i32 0, i32 2 + %52 = load i64, i64* %off66, align 8 + %add.ptr = getelementptr inbounds i8, i8* %50, i64 %52 + %53 = load i64, i64* %count.addr, align 8 + %54 = call i8* @memcpy(i8* %47, i8* %add.ptr, i64 %53) + %55 = load i64, i64* %count.addr, align 8 + %56 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off67 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %56, i32 0, i32 2 + %57 = load i64, i64* %off67, align 8 + %add68 = add i64 %57, %55 + store i64 %add68, i64* %off67, align 8 + %58 = load i64, i64* %count.addr, align 8 + store i64 %58, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end64, %if.then50, %if.end36, %if.then28, %if.then10, %if.then5, %if.then2, %if.then + %59 = load i64, i64* %retval, align 8 + ret i64 %59 +} + +; Function Attrs: noreturn nounwind +declare dso_local void @__assert_fail(i8*, i8*, i32, i8*) #10 + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @write(i32 %fd, i8* %buf, i64 %count) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %r = alloca i32, align 4 + %actual_count = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + %0 = load i32, i32* @write.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @write.n_calls, align 4 + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #26 + store i32 9, i32* %call1, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @write.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #26 + store i32 5, i32* %call4, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + br i1 %tobool6, label %if.else42, label %if.then7 + +if.then7: ; preds = %if.end5 + %10 = load i8*, i8** %buf.addr, align 8 + %call8 = call i8* @__concretize_ptr(i8* %10) + store i8* %call8, i8** %buf.addr, align 8 + %11 = load i64, i64* %count.addr, align 8 + %call9 = call i64 @__concretize_size(i64 %11) + store i64 %call9, i64* %count.addr, align 8 + %12 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd10 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %12, i32 0, i32 0 + %13 = load i32, i32* %fd10, align 8 + %cmp11 = icmp eq i32 %13, 1 + br i1 %cmp11, label %if.then14, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then7 + %14 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd12 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %14, i32 0, i32 0 + %15 = load i32, i32* %fd12, align 8 + %cmp13 = icmp eq i32 %15, 2 + br i1 %cmp13, label %if.then14, label %if.else + +if.then14: ; preds = %lor.lhs.false, %if.then7 + %16 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd15 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %16, i32 0, i32 0 + %17 = load i32, i32* %fd15, align 8 + %18 = load i8*, i8** %buf.addr, align 8 + %19 = load i64, i64* %count.addr, align 8 + %call16 = call i64 (i64, ...) @syscall(i64 1, i32 %17, i8* %18, i64 %19) #11 + %conv = trunc i64 %call16 to i32 + store i32 %conv, i32* %r, align 4 + br label %if.end20 + +if.else: ; preds = %lor.lhs.false + %20 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd17 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %20, i32 0, i32 0 + %21 = load i32, i32* %fd17, align 8 + %22 = load i8*, i8** %buf.addr, align 8 + %23 = load i64, i64* %count.addr, align 8 + %24 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %24, i32 0, i32 2 + %25 = load i64, i64* %off, align 8 + %call18 = call i64 (i64, ...) @syscall(i64 18, i32 %21, i8* %22, i64 %23, i64 %25) #11 + %conv19 = trunc i64 %call18 to i32 + store i32 %conv19, i32* %r, align 4 + br label %if.end20 + +if.end20: ; preds = %if.else, %if.then14 + %26 = load i32, i32* %r, align 4 + %cmp21 = icmp eq i32 %26, -1 + br i1 %cmp21, label %if.then23, label %if.end24 + +if.then23: ; preds = %if.end20 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end24: ; preds = %if.end20 + %27 = load i32, i32* %r, align 4 + %cmp25 = icmp sge i32 %27, 0 + br i1 %cmp25, label %if.end29, label %if.else28 + +if.else28: ; preds = %if.end24 + call void @__assert_fail(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.5.7, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 445, i8* getelementptr inbounds ([41 x i8], [41 x i8]* @__PRETTY_FUNCTION__.write, i64 0, i64 0)) #27 + unreachable + +if.end29: ; preds = %if.end24 + %28 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd30 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %28, i32 0, i32 0 + %29 = load i32, i32* %fd30, align 8 + %cmp31 = icmp ne i32 %29, 1 + br i1 %cmp31, label %land.lhs.true33, label %if.end40 + +land.lhs.true33: ; preds = %if.end29 + %30 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd34 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %30, i32 0, i32 0 + %31 = load i32, i32* %fd34, align 8 + %cmp35 = icmp ne i32 %31, 2 + br i1 %cmp35, label %if.then37, label %if.end40 + +if.then37: ; preds = %land.lhs.true33 + %32 = load i32, i32* %r, align 4 + %conv38 = sext i32 %32 to i64 + %33 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off39 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %33, i32 0, i32 2 + %34 = load i64, i64* %off39, align 8 + %add = add nsw i64 %34, %conv38 + store i64 %add, i64* %off39, align 8 + br label %if.end40 + +if.end40: ; preds = %if.then37, %land.lhs.true33, %if.end29 + %35 = load i32, i32* %r, align 4 + %conv41 = sext i32 %35 to i64 + store i64 %conv41, i64* %retval, align 8 + br label %return + +if.else42: ; preds = %if.end5 + store i64 0, i64* %actual_count, align 8 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off43 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 2 + %37 = load i64, i64* %off43, align 8 + %38 = load i64, i64* %count.addr, align 8 + %add44 = add i64 %37, %38 + %39 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile45 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %39, i32 0, i32 3 + %40 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile45, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %40, i32 0, i32 0 + %41 = load i32, i32* %size, align 8 + %conv46 = zext i32 %41 to i64 + %cmp47 = icmp ule i64 %add44, %conv46 + br i1 %cmp47, label %if.then49, label %if.else50 + +if.then49: ; preds = %if.else42 + %42 = load i64, i64* %count.addr, align 8 + store i64 %42, i64* %actual_count, align 8 + br label %if.end67 + +if.else50: ; preds = %if.else42 + %43 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 3), align 8 + %tobool51 = icmp ne i32 %43, 0 + br i1 %tobool51, label %if.then52, label %if.else53 + +if.then52: ; preds = %if.else50 + call void @__assert_fail(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.6, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 458, i8* getelementptr inbounds ([41 x i8], [41 x i8]* @__PRETTY_FUNCTION__.write, i64 0, i64 0)) #27 + unreachable + +if.else53: ; preds = %if.else50 + %44 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %44, i32 0, i32 2 + %45 = load i64, i64* %off54, align 8 + %46 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile55 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %46, i32 0, i32 3 + %47 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile55, align 8 + %size56 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %47, i32 0, i32 0 + %48 = load i32, i32* %size56, align 8 + %conv57 = zext i32 %48 to i64 + %cmp58 = icmp slt i64 %45, %conv57 + br i1 %cmp58, label %if.then60, label %if.end67 + +if.then60: ; preds = %if.else53 + %49 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile61 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %49, i32 0, i32 3 + %50 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile61, align 8 + %size62 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %50, i32 0, i32 0 + %51 = load i32, i32* %size62, align 8 + %conv63 = zext i32 %51 to i64 + %52 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off64 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %52, i32 0, i32 2 + %53 = load i64, i64* %off64, align 8 + %sub = sub nsw i64 %conv63, %53 + store i64 %sub, i64* %actual_count, align 8 + br label %if.end67 + +if.end67: ; preds = %if.then60, %if.else53, %if.then49 + %54 = load i64, i64* %actual_count, align 8 + %tobool68 = icmp ne i64 %54, 0 + br i1 %tobool68, label %if.then69, label %if.end72 + +if.then69: ; preds = %if.end67 + %55 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile70 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %55, i32 0, i32 3 + %56 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile70, align 8 + %contents = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %56, i32 0, i32 1 + %57 = load i8*, i8** %contents, align 8 + %58 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off71 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %58, i32 0, i32 2 + %59 = load i64, i64* %off71, align 8 + %add.ptr = getelementptr inbounds i8, i8* %57, i64 %59 + %60 = load i8*, i8** %buf.addr, align 8 + %61 = load i64, i64* %actual_count, align 8 + %62 = call i8* @memcpy(i8* %add.ptr, i8* %60, i64 %61) + br label %if.end72 + +if.end72: ; preds = %if.then69, %if.end67 + %63 = load i64, i64* %count.addr, align 8 + %64 = load i64, i64* %actual_count, align 8 + %cmp73 = icmp ne i64 %63, %64 + br i1 %cmp73, label %if.then75, label %if.end76 + +if.then75: ; preds = %if.end72 + call void @gs_warning(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.7, i64 0, i64 0)) + br label %if.end76 + +if.end76: ; preds = %if.then75, %if.end72 + %65 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile77 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %65, i32 0, i32 3 + %66 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile77, align 8 + %67 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + %cmp78 = icmp eq %struct.exe_disk_file_t* %66, %67 + br i1 %cmp78, label %if.then80, label %if.end84 + +if.then80: ; preds = %if.end76 + %68 = load i64, i64* %actual_count, align 8 + %69 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 3), align 8 + %conv81 = zext i32 %69 to i64 + %add82 = add i64 %conv81, %68 + %conv83 = trunc i64 %add82 to i32 + store i32 %conv83, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 3), align 8 + br label %if.end84 + +if.end84: ; preds = %if.then80, %if.end76 + %70 = load i64, i64* %count.addr, align 8 + %71 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off85 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %71, i32 0, i32 2 + %72 = load i64, i64* %off85, align 8 + %add86 = add i64 %72, %70 + store i64 %add86, i64* %off85, align 8 + %73 = load i64, i64* %count.addr, align 8 + store i64 %73, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end84, %if.end40, %if.then23, %if.then3, %if.then + %74 = load i64, i64* %retval, align 8 + ret i64 %74 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @__fd_lseek(i32 %fd, i64 %offset, i32 %whence) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + %new_off = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #26 + store i32 9, i32* %call1, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + %4 = load i32, i32* %whence.addr, align 4 + br i1 %tobool2, label %if.end24, label %if.then3 + +if.then3: ; preds = %if.end + %cmp = icmp eq i32 %4, 0 + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd5 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd5, align 8 + br i1 %cmp, label %if.then4, label %if.else + +if.then4: ; preds = %if.then3 + %7 = load i64, i64* %offset.addr, align 8 + %call6 = call i64 (i64, ...) @syscall(i64 8, i32 %6, i64 %7, i32 0) #11 + store i64 %call6, i64* %new_off, align 8 + br label %if.end19 + +if.else: ; preds = %if.then3 + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 2 + %9 = load i64, i64* %off, align 8 + %call8 = call i64 (i64, ...) @syscall(i64 8, i32 %6, i64 %9, i32 0) #11 + store i64 %call8, i64* %new_off, align 8 + %10 = load i64, i64* %new_off, align 8 + %cmp9 = icmp ne i64 %10, -1 + br i1 %cmp9, label %if.then10, label %if.end19 + +if.then10: ; preds = %if.else + %11 = load i64, i64* %new_off, align 8 + %12 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off11 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %12, i32 0, i32 2 + %13 = load i64, i64* %off11, align 8 + %cmp12 = icmp eq i64 %11, %13 + br i1 %cmp12, label %if.end15, label %if.else14 + +if.else14: ; preds = %if.then10 + call void @__assert_fail(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.8, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 504, i8* getelementptr inbounds ([38 x i8], [38 x i8]* @__PRETTY_FUNCTION__.__fd_lseek, i64 0, i64 0)) #27 + unreachable + +if.end15: ; preds = %if.then10 + %14 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd16 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %14, i32 0, i32 0 + %15 = load i32, i32* %fd16, align 8 + %16 = load i64, i64* %offset.addr, align 8 + %17 = load i32, i32* %whence.addr, align 4 + %call17 = call i64 (i64, ...) @syscall(i64 8, i32 %15, i64 %16, i32 %17) #11 + store i64 %call17, i64* %new_off, align 8 + br label %if.end19 + +if.end19: ; preds = %if.else, %if.end15, %if.then4 + %18 = load i64, i64* %new_off, align 8 + %cmp20 = icmp eq i64 %18, -1 + br i1 %cmp20, label %if.then21, label %if.end22 + +if.then21: ; preds = %if.end19 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end22: ; preds = %if.end19 + %19 = load i64, i64* %new_off, align 8 + %20 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off23 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %20, i32 0, i32 2 + store i64 %19, i64* %off23, align 8 + %21 = load i64, i64* %new_off, align 8 + store i64 %21, i64* %retval, align 8 + br label %return + +if.end24: ; preds = %if.end + br label %NodeBlock3 + +NodeBlock3: ; preds = %if.end24 + %case.cmp4 = icmp eq i32 %4, 0 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %4, 1 + br i1 %case.cmp2, label %sw.bb25, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %4, 2 + br i1 %case.cmp, label %sw.bb27, label %newDefault + +sw.bb: ; preds = %NodeBlock3 + %22 = load i64, i64* %offset.addr, align 8 + store i64 %22, i64* %new_off, align 8 + br label %sw.epilog + +sw.bb25: ; preds = %NodeBlock1 + %23 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off26 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %23, i32 0, i32 2 + %24 = load i64, i64* %off26, align 8 + %25 = load i64, i64* %offset.addr, align 8 + %add = add nsw i64 %24, %25 + store i64 %add, i64* %new_off, align 8 + br label %sw.epilog + +sw.bb27: ; preds = %NodeBlock + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile28 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 3 + %27 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile28, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %27, i32 0, i32 0 + %28 = load i32, i32* %size, align 8 + %conv = zext i32 %28 to i64 + %29 = load i64, i64* %offset.addr, align 8 + %add29 = add nsw i64 %conv, %29 + store i64 %add29, i64* %new_off, align 8 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + %call30 = call i32* @__errno_location() #26 + store i32 22, i32* %call30, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +sw.epilog: ; preds = %sw.bb27, %sw.bb25, %sw.bb + %30 = load i64, i64* %new_off, align 8 + %cmp31 = icmp slt i64 %30, 0 + br i1 %cmp31, label %if.then33, label %if.end35 + +if.then33: ; preds = %sw.epilog + %call34 = call i32* @__errno_location() #26 + store i32 22, i32* %call34, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end35: ; preds = %sw.epilog + %31 = load i64, i64* %new_off, align 8 + %32 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off36 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %32, i32 0, i32 2 + store i64 %31, i64* %off36, align 8 + %33 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off37 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %33, i32 0, i32 2 + %34 = load i64, i64* %off37, align 8 + store i64 %34, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end35, %if.then33, %sw.default, %if.end22, %if.then21, %if.then + %35 = load i64, i64* %retval, align 8 + ret i64 %35 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_stat(i8* %path, %struct.stat64* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %3 = bitcast %struct.stat64* %2 to i8* + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %4, i32 0, i32 2 + %5 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %6 = bitcast %struct.stat64* %5 to i8* + %7 = call i8* @memcpy(i8* %3, i8* %6, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load i8*, i8** %path.addr, align 8 + %call1 = call i8* @__concretize_string(i8* %8) + %9 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %call2 = call i64 (i64, ...) @syscall(i64 4, i8* %call1, %struct.stat64* %9) #11 + %conv = trunc i64 %call2 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %10 = load i32, i32* %retval, align 4 + ret i32 %10 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstatat(i32 %fd, i8* nonnull %path, %struct.stat64* nonnull %buf, i32 %flags) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %flags.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %dfile9 = alloca %struct.exe_disk_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %cmp = icmp ne i32 %0, -100 + br i1 %cmp, label %if.then, label %if.end8 + +if.then: ; preds = %entry + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.else, label %if.then1 + +if.then1: ; preds = %if.then + %call2 = call i32* @__errno_location() #26 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 3 + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool3 = icmp ne %struct.exe_disk_file_t* %4, null + br i1 %tobool3, label %if.then4, label %if.end6 + +if.then4: ; preds = %if.else + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0)) + %call5 = call i32* @__errno_location() #26 + store i32 2, i32* %call5, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.else + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd7, align 8 + store i32 %6, i32* %fd.addr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end6, %entry + %7 = load i8*, i8** %path.addr, align 8 + %call10 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %7) + store %struct.exe_disk_file_t* %call10, %struct.exe_disk_file_t** %dfile9, align 8 + %8 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile9, align 8 + %tobool11 = icmp ne %struct.exe_disk_file_t* %8, null + br i1 %tobool11, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.end8 + %9 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %10 = bitcast %struct.stat64* %9 to i8* + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile9, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %11, i32 0, i32 2 + %12 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %13 = bitcast %struct.stat64* %12 to i8* + %14 = call i8* @memcpy(i8* %10, i8* %13, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.end8 + %15 = load i32, i32* %fd.addr, align 4 + %conv = sext i32 %15 to i64 + %16 = load i8*, i8** %path.addr, align 8 + %tobool14 = icmp ne i8* %16, null + br i1 %tobool14, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end13 + %17 = load i8*, i8** %path.addr, align 8 + %call15 = call i8* @__concretize_string(i8* %17) + br label %cond.end + +cond.end: ; preds = %if.end13, %cond.true + %cond = phi i8* [ %call15, %cond.true ], [ null, %if.end13 ] + %18 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %19 = load i32, i32* %flags.addr, align 4 + %conv16 = sext i32 %19 to i64 + %call17 = call i64 (i64, ...) @syscall(i64 262, i64 %conv, i8* %cond, %struct.stat64* %18, i64 %conv16) #11 + %conv18 = trunc i64 %call17 to i32 + store i32 %conv18, i32* %retval, align 4 + br label %return + +return: ; preds = %cond.end, %if.then12, %if.then4, %if.then1 + %20 = load i32, i32* %retval, align 4 + ret i32 %20 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_lstat(i8* %path, %struct.stat64* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %3 = bitcast %struct.stat64* %2 to i8* + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %4, i32 0, i32 2 + %5 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %6 = bitcast %struct.stat64* %5 to i8* + %7 = call i8* @memcpy(i8* %3, i8* %6, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load i8*, i8** %path.addr, align 8 + %call1 = call i8* @__concretize_string(i8* %8) + %9 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %call2 = call i64 (i64, ...) @syscall(i64 6, i8* %call1, %struct.stat64* %9) #11 + %conv = trunc i64 %call2 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %10 = load i32, i32* %retval, align 4 + ret i32 %10 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chdir(i8* nonnull %path) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0)) + %call1 = call i32* @__errno_location() #26 + store i32 2, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %2) + %call3 = call i64 (i64, ...) @syscall(i64 80, i8* %call2) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %3 = load i32, i32* %retval, align 4 + ret i32 %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fchdir(i32 %fd) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #26 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %if.end + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #26 + store i32 2, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd6, align 8 + %call7 = call i64 (i64, ...) @syscall(i64 81, i32 %5) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chmod(i8* nonnull %path, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load i32, i32* @chmod.n_calls, align 4 + %inc = add nsw i32 %1, 1 + store i32 %inc, i32* @chmod.n_calls, align 4 + %2 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool = icmp ne i32 %2, 0 + br i1 %tobool, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %3 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 11), align 8 + %4 = load i32, i32* %3, align 4 + %5 = load i32, i32* @chmod.n_calls, align 4 + %cmp = icmp eq i32 %4, %5 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %6 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %6, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call1 = call i32* @__errno_location() #26 + store i32 5, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + %7 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %7, null + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %if.end + %8 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %9 = load i32, i32* %mode.addr, align 4 + %call4 = call i32 @__df_chmod(%struct.exe_disk_file_t* %8, i32 %9) + store i32 %call4, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %if.end + %10 = load i8*, i8** %path.addr, align 8 + %call6 = call i8* @__concretize_string(i8* %10) + %11 = load i32, i32* %mode.addr, align 4 + %call7 = call i64 (i64, ...) @syscall(i64 90, i8* %call6, i32 %11) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %12 = load i32, i32* %retval, align 4 + ret i32 %12 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__df_chmod(%struct.exe_disk_file_t* %df, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %df.addr = alloca %struct.exe_disk_file_t*, align 8 + %mode.addr = alloca i32, align 4 + store %struct.exe_disk_file_t* %df, %struct.exe_disk_file_t** %df.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %call = call i32 @geteuid() #11 + %0 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %0, i32 0, i32 2 + %1 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_uid = getelementptr inbounds %struct.stat64, %struct.stat64* %1, i32 0, i32 4 + %2 = load i32, i32* %st_uid, align 4 + %cmp = icmp eq i32 %call, %2 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %call1 = call i32 @getgid() #11 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %3, i32 0, i32 2 + %4 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + %st_gid = getelementptr inbounds %struct.stat64, %struct.stat64* %4, i32 0, i32 5 + %5 = load i32, i32* %st_gid, align 8 + %cmp3 = icmp ne i32 %call1, %5 + br i1 %cmp3, label %if.then4, label %if.end + +if.then4: ; preds = %if.then + %6 = load i32, i32* %mode.addr, align 4 + %and = and i32 %6, -1025 + store i32 %and, i32* %mode.addr, align 4 + br label %if.end + +if.end: ; preds = %if.then4, %if.then + %7 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat5 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %7, i32 0, i32 2 + %8 = load %struct.stat64*, %struct.stat64** %stat5, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %8, i32 0, i32 3 + %9 = load i32, i32* %st_mode, align 8 + %and6 = and i32 %9, -4096 + %10 = load i32, i32* %mode.addr, align 4 + %and7 = and i32 %10, 4095 + %or = or i32 %and6, %and7 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat8 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %11, i32 0, i32 2 + %12 = load %struct.stat64*, %struct.stat64** %stat8, align 8 + %st_mode9 = getelementptr inbounds %struct.stat64, %struct.stat64* %12, i32 0, i32 3 + store i32 %or, i32* %st_mode9, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %call10 = call i32* @__errno_location() #26 + store i32 1, i32* %call10, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.else, %if.end + %13 = load i32, i32* %retval, align 4 + ret i32 %13 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fchmod(i32 %fd, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #26 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i32, i32* @fchmod.n_calls, align 4 + %inc = add nsw i32 %2, 1 + store i32 %inc, i32* @fchmod.n_calls, align 4 + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 12), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @fchmod.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #26 + store i32 5, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + br i1 %tobool6, label %if.then7, label %if.end10 + +if.then7: ; preds = %if.end5 + %dfile8 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 3 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile8, align 8 + %12 = load i32, i32* %mode.addr, align 4 + %call9 = call i32 @__df_chmod(%struct.exe_disk_file_t* %11, i32 %12) + store i32 %call9, i32* %retval, align 4 + br label %return + +if.end10: ; preds = %if.end5 + %fd11 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 0 + %13 = load i32, i32* %fd11, align 8 + %14 = load i32, i32* %mode.addr, align 4 + %call12 = call i64 (i64, ...) @syscall(i64 91, i32 %13, i32 %14) #11 + %conv = trunc i64 %call12 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end10, %if.then7, %if.then3, %if.then + %15 = load i32, i32* %retval, align 4 + ret i32 %15 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chown(i8* nonnull %path, i32 %owner, i32 %group) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %df, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %3 = load i32, i32* %owner.addr, align 4 + %4 = load i32, i32* %group.addr, align 4 + %call1 = call i32 @__df_chown(%struct.exe_disk_file_t* %2, i32 %3, i32 %4) + store i32 %call1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %5 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %5) + %6 = load i32, i32* %owner.addr, align 4 + %7 = load i32, i32* %group.addr, align 4 + %call3 = call i64 (i64, ...) @syscall(i64 92, i8* %call2, i32 %6, i32 %7) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__df_chown(%struct.exe_disk_file_t* %df, i32 %owner, i32 %group) #3 { +entry: + %df.addr = alloca %struct.exe_disk_file_t*, align 8 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + store %struct.exe_disk_file_t* %df, %struct.exe_disk_file_t** %df.addr, align 8 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + call void @gs_warning(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.26, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fchown(i32 %fd, i32 %owner, i32 %group) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #26 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end6 + +if.then3: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile4 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 3 + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile4, align 8 + %6 = load i32, i32* %owner.addr, align 4 + %7 = load i32, i32* %group.addr, align 4 + %call5 = call i32 @__df_chown(%struct.exe_disk_file_t* %5, i32 %6, i32 %7) + store i32 %call5, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.end + %8 = load i32, i32* %fd.addr, align 4 + %9 = load i32, i32* %owner.addr, align 4 + %10 = load i32, i32* %group.addr, align 4 + %call7 = call i64 (i64, ...) @syscall(i64 93, i32 %8, i32 %9, i32 %10) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end6, %if.then3, %if.then + %11 = load i32, i32* %retval, align 4 + ret i32 %11 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @lchown(i8* nonnull %path, i32 %owner, i32 %group) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %df, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %3 = load i32, i32* %owner.addr, align 4 + %4 = load i32, i32* %group.addr, align 4 + %call1 = call i32 @__df_chown(%struct.exe_disk_file_t* %2, i32 %3, i32 %4) + store i32 %call1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %5 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %5) + %6 = load i32, i32* %owner.addr, align 4 + %7 = load i32, i32* %group.addr, align 4 + %call3 = call i64 (i64, ...) @syscall(i64 92, i8* %call2, i32 %6, i32 %7) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_fstat(i32 %fd, %struct.stat64* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #26 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.end6, label %if.then3 + +if.then3: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd4 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd4, align 8 + %6 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %call5 = call i64 (i64, ...) @syscall(i64 5, i32 %5, %struct.stat64* %6) #11 + %conv = trunc i64 %call5 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.end + %7 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %8 = bitcast %struct.stat64* %7 to i8* + %9 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %9, i32 0, i32 3 + %10 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile7, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %10, i32 0, i32 2 + %11 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %12 = bitcast %struct.stat64* %11 to i8* + %13 = call i8* @memcpy(i8* %8, i8* %12, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end6, %if.then3, %if.then + %14 = load i32, i32* %retval, align 4 + ret i32 %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_ftruncate(i32 %fd, i64 %length) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %length.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %length, i64* %length.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load i32, i32* @__fd_ftruncate.n_calls, align 4 + %inc = add nsw i32 %1, 1 + store i32 %inc, i32* @__fd_ftruncate.n_calls, align 4 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #26 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @__fd_ftruncate.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #26 + store i32 5, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + br i1 %tobool6, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end5 + call void @gs_warning(i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.10, i64 0, i64 0)) + %call8 = call i32* @__errno_location() #26 + store i32 5, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end9: ; preds = %if.end5 + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd10 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 0 + %11 = load i32, i32* %fd10, align 8 + %12 = load i64, i64* %length.addr, align 8 + %call11 = call i64 (i64, ...) @syscall(i64 77, i32 %11, i64 %12) #11 + %conv = trunc i64 %call11 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end9, %if.then7, %if.then3, %if.then + %13 = load i32, i32* %retval, align 4 + ret i32 %13 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_getdents(i32 %fd, %struct.dirent64* %dirp, i32 %count) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %dirp.addr = alloca %struct.dirent64*, align 8 + %count.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %i = alloca i64, align 8 + %pad = alloca i64, align 8 + %bytes = alloca i64, align 8 + %df = alloca %struct.exe_disk_file_t*, align 8 + %os_pos = alloca i64, align 8 + %res = alloca i32, align 4 + %s = alloca i64, align 8 + %pos = alloca i32, align 4 + %dp = alloca %struct.dirent64*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.dirent64* %dirp, %struct.dirent64** %dirp.addr, align 8 + store i32 %count, i32* %count.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #26 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.else + +if.then3: ; preds = %if.end + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #26 + store i32 22, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 2 + %5 = load i64, i64* %off, align 8 + %cmp = icmp ult i64 %5, 4096 + br i1 %cmp, label %if.then5, label %if.else43 + +if.then5: ; preds = %if.else + store i64 0, i64* %bytes, align 8 + %6 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %6, i32 0, i32 2 + %7 = load i64, i64* %off6, align 8 + %div = udiv i64 %7, 280 + store i64 %div, i64* %i, align 8 + %8 = load i64, i64* %i, align 8 + %mul = mul i64 %8, 280 + %9 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %9, i32 0, i32 2 + %10 = load i64, i64* %off7, align 8 + %cmp8 = icmp ne i64 %mul, %10 + br i1 %cmp8, label %if.then11, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then5 + %11 = load i64, i64* %i, align 8 + %12 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %conv = zext i32 %12 to i64 + %cmp9 = icmp sgt i64 %11, %conv + br i1 %cmp9, label %if.then11, label %for.cond + +if.then11: ; preds = %lor.lhs.false, %if.then5 + %call12 = call i32* @__errno_location() #26 + store i32 22, i32* %call12, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +for.cond: ; preds = %lor.lhs.false, %for.body + %13 = load i64, i64* %i, align 8 + %14 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %conv14 = zext i32 %14 to i64 + %cmp15 = icmp slt i64 %13, %conv14 + br i1 %cmp15, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %15 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %16 = load i64, i64* %i, align 8 + %arrayidx = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %15, i64 %16 + store %struct.exe_disk_file_t* %arrayidx, %struct.exe_disk_file_t** %df, align 8 + %17 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %17, i32 0, i32 2 + %18 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %18, i32 0, i32 1 + %19 = load i64, i64* %st_ino, align 8 + %20 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_ino = getelementptr inbounds %struct.dirent64, %struct.dirent64* %20, i32 0, i32 0 + store i64 %19, i64* %d_ino, align 8 + %21 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen = getelementptr inbounds %struct.dirent64, %struct.dirent64* %21, i32 0, i32 2 + store i16 280, i16* %d_reclen, align 8 + %22 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat17 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %22, i32 0, i32 2 + %23 = load %struct.stat64*, %struct.stat64** %stat17, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %23, i32 0, i32 3 + %24 = load i32, i32* %st_mode, align 8 + %and = and i32 %24, 61440 + %shr = lshr i32 %and, 12 + %conv18 = trunc i32 %shr to i8 + %25 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_type = getelementptr inbounds %struct.dirent64, %struct.dirent64* %25, i32 0, i32 3 + store i8 %conv18, i8* %d_type, align 2 + %26 = load i64, i64* %i, align 8 + %add = add nsw i64 65, %26 + %conv19 = trunc i64 %add to i8 + %27 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_name = getelementptr inbounds %struct.dirent64, %struct.dirent64* %27, i32 0, i32 4 + %arrayidx20 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name, i64 0, i64 0 + store i8 %conv19, i8* %arrayidx20, align 1 + %28 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_name21 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %28, i32 0, i32 4 + %arrayidx22 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name21, i64 0, i64 1 + store i8 0, i8* %arrayidx22, align 1 + %29 = load i64, i64* %i, align 8 + %add23 = add nsw i64 %29, 1 + %mul24 = mul i64 %add23, 280 + %30 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_off = getelementptr inbounds %struct.dirent64, %struct.dirent64* %30, i32 0, i32 1 + store i64 %mul24, i64* %d_off, align 8 + %31 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen25 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %31, i32 0, i32 2 + %32 = load i16, i16* %d_reclen25, align 8 + %conv26 = zext i16 %32 to i64 + %33 = load i64, i64* %bytes, align 8 + %add27 = add nsw i64 %33, %conv26 + store i64 %add27, i64* %bytes, align 8 + %34 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %incdec.ptr = getelementptr inbounds %struct.dirent64, %struct.dirent64* %34, i32 1 + store %struct.dirent64* %incdec.ptr, %struct.dirent64** %dirp.addr, align 8 + %35 = load i64, i64* %i, align 8 + %inc = add nsw i64 %35, 1 + store i64 %inc, i64* %i, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %36 = load i32, i32* %count.addr, align 4 + %cmp28 = icmp uge i32 %36, 4096 + %37 = load i32, i32* %count.addr, align 4 + %cond = select i1 %cmp28, i32 4096, i32 %37 + %conv30 = zext i32 %cond to i64 + store i64 %conv30, i64* %pad, align 8 + %38 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_ino31 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %38, i32 0, i32 0 + store i64 0, i64* %d_ino31, align 8 + %39 = load i64, i64* %pad, align 8 + %40 = load i64, i64* %bytes, align 8 + %sub = sub nsw i64 %39, %40 + %conv32 = trunc i64 %sub to i16 + %41 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen33 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %41, i32 0, i32 2 + store i16 %conv32, i16* %d_reclen33, align 8 + %42 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_type34 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %42, i32 0, i32 3 + store i8 0, i8* %d_type34, align 2 + %43 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_name35 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %43, i32 0, i32 4 + %arrayidx36 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name35, i64 0, i64 0 + store i8 0, i8* %arrayidx36, align 1 + %44 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_off37 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %44, i32 0, i32 1 + store i64 4096, i64* %d_off37, align 8 + %45 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen38 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %45, i32 0, i32 2 + %46 = load i16, i16* %d_reclen38, align 8 + %conv39 = zext i16 %46 to i64 + %47 = load i64, i64* %bytes, align 8 + %add40 = add nsw i64 %47, %conv39 + store i64 %add40, i64* %bytes, align 8 + %48 = load i64, i64* %pad, align 8 + %49 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off41 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %49, i32 0, i32 2 + store i64 %48, i64* %off41, align 8 + %50 = load i64, i64* %bytes, align 8 + %conv42 = trunc i64 %50 to i32 + store i32 %conv42, i32* %retval, align 4 + br label %return + +if.else43: ; preds = %if.else + %51 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off44 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %51, i32 0, i32 2 + %52 = load i64, i64* %off44, align 8 + %sub45 = sub nsw i64 %52, 4096 + store i64 %sub45, i64* %os_pos, align 8 + store i64 0, i64* %s, align 8 + %53 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %54 = bitcast %struct.dirent64* %53 to i8* + %55 = load i32, i32* %count.addr, align 4 + %conv46 = zext i32 %55 to i64 + %56 = call i8* @memset(i8* %54, i32 0, i64 %conv46) + %57 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd47 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %57, i32 0, i32 0 + %58 = load i32, i32* %fd47, align 8 + %59 = load i64, i64* %os_pos, align 8 + %call48 = call i64 (i64, ...) @syscall(i64 8, i32 %58, i64 %59, i32 0) #11 + store i64 %call48, i64* %s, align 8 + %60 = load i64, i64* %s, align 8 + %cmp49 = icmp ne i64 %60, -1 + br i1 %cmp49, label %if.end53, label %if.else52 + +if.else52: ; preds = %if.else43 + call void @__assert_fail(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.12, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 840, i8* getelementptr inbounds ([65 x i8], [65 x i8]* @__PRETTY_FUNCTION__.__fd_getdents, i64 0, i64 0)) #27 + unreachable + +if.end53: ; preds = %if.else43 + %61 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %61, i32 0, i32 0 + %62 = load i32, i32* %fd54, align 8 + %63 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %64 = load i32, i32* %count.addr, align 4 + %call55 = call i64 (i64, ...) @syscall(i64 217, i32 %62, %struct.dirent64* %63, i32 %64) #11 + %conv56 = trunc i64 %call55 to i32 + store i32 %conv56, i32* %res, align 4 + %65 = load i32, i32* %res, align 4 + %cmp57 = icmp sgt i32 %65, -1 + br i1 %cmp57, label %if.then59, label %if.end78 + +if.then59: ; preds = %if.end53 + store i32 0, i32* %pos, align 4 + %66 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd60 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %66, i32 0, i32 0 + %67 = load i32, i32* %fd60, align 8 + %call61 = call i64 (i64, ...) @syscall(i64 8, i32 %67, i32 0, i32 1) #11 + %68 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off62 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %68, i32 0, i32 2 + store i64 %call61, i64* %off62, align 8 + %69 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off63 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %69, i32 0, i32 2 + %70 = load i64, i64* %off63, align 8 + %cmp64 = icmp ne i64 %70, -1 + br i1 %cmp64, label %if.end68, label %if.else67 + +if.else67: ; preds = %if.then59 + call void @__assert_fail(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.13, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 845, i8* getelementptr inbounds ([65 x i8], [65 x i8]* @__PRETTY_FUNCTION__.__fd_getdents, i64 0, i64 0)) #27 + unreachable + +if.end68: ; preds = %if.then59 + %71 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off69 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %71, i32 0, i32 2 + %72 = load i64, i64* %off69, align 8 + %add70 = add nsw i64 %72, 4096 + store i64 %add70, i64* %off69, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end68 + %73 = load i32, i32* %pos, align 4 + %74 = load i32, i32* %res, align 4 + %cmp71 = icmp slt i32 %73, %74 + br i1 %cmp71, label %while.body, label %if.end78 + +while.body: ; preds = %while.cond + %75 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %76 = bitcast %struct.dirent64* %75 to i8* + %77 = load i32, i32* %pos, align 4 + %idx.ext = sext i32 %77 to i64 + %add.ptr = getelementptr inbounds i8, i8* %76, i64 %idx.ext + %78 = bitcast i8* %add.ptr to %struct.dirent64* + store %struct.dirent64* %78, %struct.dirent64** %dp, align 8 + %79 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_off73 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %79, i32 0, i32 1 + %80 = load i64, i64* %d_off73, align 8 + %add74 = add nsw i64 %80, 4096 + store i64 %add74, i64* %d_off73, align 8 + %81 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_reclen75 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %81, i32 0, i32 2 + %82 = load i16, i16* %d_reclen75, align 8 + %conv76 = zext i16 %82 to i32 + %83 = load i32, i32* %pos, align 4 + %add77 = add nsw i32 %83, %conv76 + store i32 %add77, i32* %pos, align 4 + br label %while.cond + +if.end78: ; preds = %while.cond, %if.end53 + %84 = load i32, i32* %res, align 4 + store i32 %84, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end78, %for.end, %if.then11, %if.then3, %if.then + %85 = load i32, i32* %retval, align 4 + ret i32 %85 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @ioctl(i32 %fd, i64 %request, ...) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %request.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + %buf = alloca i8*, align 8 + %stat = alloca %struct.stat64*, align 8 + %ts = alloca %struct.termios*, align 8 + %ws = alloca %struct.winsize*, align 8 + %res = alloca i32*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %request, i64* %request.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #26 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay2 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay2) + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.end + %2 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 3 + %reg_save_area = load i8*, i8** %2, align 16 + %3 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %4 = bitcast i8* %3 to i8** + %5 = add i32 %gp_offset, 8 + store i32 %5, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.end + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %6 = bitcast i8* %overflow_arg_area to i8** + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i8** [ %4, %vaarg.in_reg ], [ %6, %vaarg.in_mem ] + %7 = load i8*, i8** %vaarg.addr, align 8 + store i8* %7, i8** %buf, align 8 + %arraydecay4 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay45 = bitcast %struct.__va_list_tag.0* %arraydecay4 to i8* + call void @llvm.va_end(i8* %arraydecay45) + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + br i1 %tobool6, label %if.then7, label %if.end103 + +if.then7: ; preds = %vaarg.end + %dfile8 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 3 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile8, align 8 + %stat9 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %11, i32 0, i32 2 + %12 = load %struct.stat64*, %struct.stat64** %stat9, align 8 + %13 = bitcast %struct.stat64* %12 to %struct.stat64* + store %struct.stat64* %13, %struct.stat64** %stat, align 8 + %14 = load i64, i64* %request.addr, align 8 + br label %NodeBlock13 + +NodeBlock13: ; preds = %if.then7 + %case.cmp14 = icmp eq i64 %14, 21505 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i64 %14, 21506 + br i1 %case.cmp12, label %sw.bb48, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i64 %14, 21507 + br i1 %case.cmp10, label %sw.bb55, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i64 %14, 21508 + br i1 %case.cmp8, label %sw.bb60, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i64 %14, 21523 + br i1 %case.cmp6, label %sw.bb67, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i64 %14, 21524 + br i1 %case.cmp4, label %sw.bb74, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i64 %14, 21531 + br i1 %case.cmp2, label %sw.bb82, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i64 %14, 2150657282 + br i1 %case.cmp, label %sw.bb100, label %newDefault + +sw.bb: ; preds = %NodeBlock13 + %15 = load i8*, i8** %buf, align 8 + %16 = bitcast i8* %15 to %struct.termios* + store %struct.termios* %16, %struct.termios** %ts, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.14, i64 0, i64 0)) + %17 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %17, i32 0, i32 3 + %18 = load i32, i32* %st_mode, align 8 + %and = and i32 %18, 61440 + %cmp = icmp eq i32 %and, 8192 + br i1 %cmp, label %if.then10, label %if.else + +if.then10: ; preds = %sw.bb + %19 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_iflag = getelementptr inbounds %struct.termios, %struct.termios* %19, i32 0, i32 0 + store i32 27906, i32* %c_iflag, align 4 + %20 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_oflag = getelementptr inbounds %struct.termios, %struct.termios* %20, i32 0, i32 1 + store i32 5, i32* %c_oflag, align 4 + %21 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cflag = getelementptr inbounds %struct.termios, %struct.termios* %21, i32 0, i32 2 + store i32 1215, i32* %c_cflag, align 4 + %22 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_lflag = getelementptr inbounds %struct.termios, %struct.termios* %22, i32 0, i32 3 + store i32 35287, i32* %c_lflag, align 4 + %23 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_line = getelementptr inbounds %struct.termios, %struct.termios* %23, i32 0, i32 4 + store i8 0, i8* %c_line, align 4 + %24 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc = getelementptr inbounds %struct.termios, %struct.termios* %24, i32 0, i32 5 + %arrayidx = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc, i64 0, i64 0 + store i8 3, i8* %arrayidx, align 1 + %25 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc11 = getelementptr inbounds %struct.termios, %struct.termios* %25, i32 0, i32 5 + %arrayidx12 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc11, i64 0, i64 1 + store i8 28, i8* %arrayidx12, align 1 + %26 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc13 = getelementptr inbounds %struct.termios, %struct.termios* %26, i32 0, i32 5 + %arrayidx14 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc13, i64 0, i64 2 + store i8 127, i8* %arrayidx14, align 1 + %27 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc15 = getelementptr inbounds %struct.termios, %struct.termios* %27, i32 0, i32 5 + %arrayidx16 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc15, i64 0, i64 3 + store i8 21, i8* %arrayidx16, align 1 + %28 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc17 = getelementptr inbounds %struct.termios, %struct.termios* %28, i32 0, i32 5 + %arrayidx18 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc17, i64 0, i64 4 + store i8 4, i8* %arrayidx18, align 1 + %29 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc19 = getelementptr inbounds %struct.termios, %struct.termios* %29, i32 0, i32 5 + %arrayidx20 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc19, i64 0, i64 5 + store i8 0, i8* %arrayidx20, align 1 + %30 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc21 = getelementptr inbounds %struct.termios, %struct.termios* %30, i32 0, i32 5 + %arrayidx22 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc21, i64 0, i64 6 + store i8 1, i8* %arrayidx22, align 1 + %31 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc23 = getelementptr inbounds %struct.termios, %struct.termios* %31, i32 0, i32 5 + %arrayidx24 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc23, i64 0, i64 7 + store i8 -1, i8* %arrayidx24, align 1 + %32 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc25 = getelementptr inbounds %struct.termios, %struct.termios* %32, i32 0, i32 5 + %arrayidx26 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc25, i64 0, i64 8 + store i8 17, i8* %arrayidx26, align 1 + %33 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc27 = getelementptr inbounds %struct.termios, %struct.termios* %33, i32 0, i32 5 + %arrayidx28 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc27, i64 0, i64 9 + store i8 19, i8* %arrayidx28, align 1 + %34 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc29 = getelementptr inbounds %struct.termios, %struct.termios* %34, i32 0, i32 5 + %arrayidx30 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc29, i64 0, i64 10 + store i8 26, i8* %arrayidx30, align 1 + %35 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc31 = getelementptr inbounds %struct.termios, %struct.termios* %35, i32 0, i32 5 + %arrayidx32 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc31, i64 0, i64 11 + store i8 -1, i8* %arrayidx32, align 1 + %36 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc33 = getelementptr inbounds %struct.termios, %struct.termios* %36, i32 0, i32 5 + %arrayidx34 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc33, i64 0, i64 12 + store i8 18, i8* %arrayidx34, align 1 + %37 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc35 = getelementptr inbounds %struct.termios, %struct.termios* %37, i32 0, i32 5 + %arrayidx36 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc35, i64 0, i64 13 + store i8 15, i8* %arrayidx36, align 1 + %38 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc37 = getelementptr inbounds %struct.termios, %struct.termios* %38, i32 0, i32 5 + %arrayidx38 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc37, i64 0, i64 14 + store i8 23, i8* %arrayidx38, align 1 + %39 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc39 = getelementptr inbounds %struct.termios, %struct.termios* %39, i32 0, i32 5 + %arrayidx40 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc39, i64 0, i64 15 + store i8 22, i8* %arrayidx40, align 1 + %40 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc41 = getelementptr inbounds %struct.termios, %struct.termios* %40, i32 0, i32 5 + %arrayidx42 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc41, i64 0, i64 16 + store i8 -1, i8* %arrayidx42, align 1 + %41 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc43 = getelementptr inbounds %struct.termios, %struct.termios* %41, i32 0, i32 5 + %arrayidx44 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc43, i64 0, i64 17 + store i8 0, i8* %arrayidx44, align 1 + %42 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc45 = getelementptr inbounds %struct.termios, %struct.termios* %42, i32 0, i32 5 + %arrayidx46 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc45, i64 0, i64 18 + store i8 0, i8* %arrayidx46, align 1 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %sw.bb + %call47 = call i32* @__errno_location() #26 + store i32 25, i32* %call47, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb48: ; preds = %NodeBlock11 + call void @gs_warning_once(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.15, i64 0, i64 0)) + %43 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode49 = getelementptr inbounds %struct.stat64, %struct.stat64* %43, i32 0, i32 3 + %44 = load i32, i32* %st_mode49, align 8 + %and50 = and i32 %44, 61440 + %cmp51 = icmp eq i32 %and50, 8192 + br i1 %cmp51, label %if.then52, label %if.else53 + +if.then52: ; preds = %sw.bb48 + store i32 0, i32* %retval, align 4 + br label %return + +if.else53: ; preds = %sw.bb48 + %call54 = call i32* @__errno_location() #26 + store i32 25, i32* %call54, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb55: ; preds = %NodeBlock9 + call void @gs_warning_once(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.16, i64 0, i64 0)) + %45 = load i32, i32* %fd.addr, align 4 + %cmp56 = icmp eq i32 %45, 0 + br i1 %cmp56, label %if.then57, label %if.else58 + +if.then57: ; preds = %sw.bb55 + store i32 0, i32* %retval, align 4 + br label %return + +if.else58: ; preds = %sw.bb55 + %call59 = call i32* @__errno_location() #26 + store i32 25, i32* %call59, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb60: ; preds = %NodeBlock7 + call void @gs_warning_once(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.17, i64 0, i64 0)) + %46 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode61 = getelementptr inbounds %struct.stat64, %struct.stat64* %46, i32 0, i32 3 + %47 = load i32, i32* %st_mode61, align 8 + %and62 = and i32 %47, 61440 + %cmp63 = icmp eq i32 %and62, 8192 + br i1 %cmp63, label %if.then64, label %if.else65 + +if.then64: ; preds = %sw.bb60 + store i32 0, i32* %retval, align 4 + br label %return + +if.else65: ; preds = %sw.bb60 + %call66 = call i32* @__errno_location() #26 + store i32 25, i32* %call66, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb67: ; preds = %NodeBlock5 + %48 = load i8*, i8** %buf, align 8 + %49 = bitcast i8* %48 to %struct.winsize* + store %struct.winsize* %49, %struct.winsize** %ws, align 8 + %50 = load %struct.winsize*, %struct.winsize** %ws, align 8 + %ws_row = getelementptr inbounds %struct.winsize, %struct.winsize* %50, i32 0, i32 0 + store i16 24, i16* %ws_row, align 2 + %51 = load %struct.winsize*, %struct.winsize** %ws, align 8 + %ws_col = getelementptr inbounds %struct.winsize, %struct.winsize* %51, i32 0, i32 1 + store i16 80, i16* %ws_col, align 2 + call void @gs_warning_once(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.18, i64 0, i64 0)) + %52 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode68 = getelementptr inbounds %struct.stat64, %struct.stat64* %52, i32 0, i32 3 + %53 = load i32, i32* %st_mode68, align 8 + %and69 = and i32 %53, 61440 + %cmp70 = icmp eq i32 %and69, 8192 + br i1 %cmp70, label %if.then71, label %if.else72 + +if.then71: ; preds = %sw.bb67 + store i32 0, i32* %retval, align 4 + br label %return + +if.else72: ; preds = %sw.bb67 + %call73 = call i32* @__errno_location() #26 + store i32 25, i32* %call73, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb74: ; preds = %NodeBlock3 + call void @gs_warning_once(i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.19, i64 0, i64 0)) + %54 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode75 = getelementptr inbounds %struct.stat64, %struct.stat64* %54, i32 0, i32 3 + %55 = load i32, i32* %st_mode75, align 8 + %and76 = and i32 %55, 61440 + %cmp77 = icmp eq i32 %and76, 8192 + %call79 = call i32* @__errno_location() #26 + br i1 %cmp77, label %if.then78, label %if.else80 + +if.then78: ; preds = %sw.bb74 + store i32 22, i32* %call79, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else80: ; preds = %sw.bb74 + store i32 25, i32* %call79, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb82: ; preds = %NodeBlock1 + %56 = load i8*, i8** %buf, align 8 + %57 = bitcast i8* %56 to i32* + store i32* %57, i32** %res, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.20, i64 0, i64 0)) + %58 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode83 = getelementptr inbounds %struct.stat64, %struct.stat64* %58, i32 0, i32 3 + %59 = load i32, i32* %st_mode83, align 8 + %and84 = and i32 %59, 61440 + %cmp85 = icmp eq i32 %and84, 8192 + br i1 %cmp85, label %if.then86, label %if.else98 + +if.then86: ; preds = %sw.bb82 + %60 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %60, i32 0, i32 2 + %61 = load i64, i64* %off, align 8 + %62 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile87 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %62, i32 0, i32 3 + %63 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile87, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %63, i32 0, i32 0 + %64 = load i32, i32* %size, align 8 + %conv = zext i32 %64 to i64 + %cmp88 = icmp slt i64 %61, %conv + br i1 %cmp88, label %if.then90, label %if.else96 + +if.then90: ; preds = %if.then86 + %65 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile91 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %65, i32 0, i32 3 + %66 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile91, align 8 + %size92 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %66, i32 0, i32 0 + %67 = load i32, i32* %size92, align 8 + %conv93 = zext i32 %67 to i64 + %68 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off94 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %68, i32 0, i32 2 + %69 = load i64, i64* %off94, align 8 + %sub = sub nsw i64 %conv93, %69 + %conv95 = trunc i64 %sub to i32 + %70 = load i32*, i32** %res, align 8 + store i32 %conv95, i32* %70, align 4 + br label %if.end97 + +if.else96: ; preds = %if.then86 + %71 = load i32*, i32** %res, align 8 + store i32 0, i32* %71, align 4 + br label %if.end97 + +if.end97: ; preds = %if.else96, %if.then90 + store i32 0, i32* %retval, align 4 + br label %return + +if.else98: ; preds = %sw.bb82 + %call99 = call i32* @__errno_location() #26 + store i32 25, i32* %call99, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb100: ; preds = %NodeBlock + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.21, i64 0, i64 0)) + %call101 = call i32* @__errno_location() #26 + store i32 22, i32* %call101, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0)) + %call102 = call i32* @__errno_location() #26 + store i32 22, i32* %call102, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end103: ; preds = %vaarg.end + %fd104 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 0 + %72 = load i32, i32* %fd104, align 8 + %73 = load i64, i64* %request.addr, align 8 + %74 = load i8*, i8** %buf, align 8 + %call105 = call i64 (i64, ...) @syscall(i64 16, i32 %72, i64 %73, i8* %74) #11 + %conv106 = trunc i64 %call105 to i32 + store i32 %conv106, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end103, %sw.default, %sw.bb100, %if.else98, %if.end97, %if.else80, %if.then78, %if.else72, %if.then71, %if.else65, %if.then64, %if.else58, %if.then57, %if.else53, %if.then52, %if.else, %if.then10, %if.then + %75 = load i32, i32* %retval, align 4 + ret i32 %75 +} + +; Function Attrs: nounwind +declare void @llvm.va_start(i8*) #11 + +; Function Attrs: nounwind +declare void @llvm.va_end(i8*) #11 + +declare dso_local void @gs_warning_once(i8*) #5 + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fcntl(i32 %fd, i32 %cmd, ...) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %cmd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + %arg = alloca i32, align 4 + %lock = alloca %struct.flock*, align 8 + %flags = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %cmd, i32* %cmd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #26 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i32, i32* %cmd.addr, align 4 + %cmp = icmp eq i32 %2, 1 + %3 = load i32, i32* %cmd.addr, align 4 + %cmp2 = icmp eq i32 %3, 3 + %or.cond = or i1 %cmp, %cmp2 + %4 = load i32, i32* %cmd.addr, align 4 + %cmp4 = icmp eq i32 %4, 9 + %or.cond1 = or i1 %or.cond, %cmp4 + %5 = load i32, i32* %cmd.addr, align 4 + %cmp6 = icmp eq i32 %5, 11 + %or.cond2 = or i1 %or.cond1, %cmp6 + %6 = load i32, i32* %cmd.addr, align 4 + %cmp8 = icmp eq i32 %6, 1025 + %or.cond3 = or i1 %or.cond2, %cmp8 + %7 = load i32, i32* %cmd.addr, align 4 + %cmp10 = icmp eq i32 %7, 1026 + %or.cond4 = or i1 %or.cond3, %cmp10 + br i1 %or.cond4, label %if.then11, label %if.else + +if.then11: ; preds = %if.end + store i32 0, i32* %arg, align 4 + br label %if.end40 + +if.else: ; preds = %if.end + %8 = load i32, i32* %cmd.addr, align 4 + %cmp12 = icmp eq i32 %8, 5 + %9 = load i32, i32* %cmd.addr, align 4 + %cmp14 = icmp eq i32 %9, 6 + %or.cond5 = or i1 %cmp12, %cmp14 + %10 = load i32, i32* %cmd.addr, align 4 + %cmp16 = icmp eq i32 %10, 7 + %or.cond6 = or i1 %or.cond5, %cmp16 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay18 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay18) + %arraydecay19 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %or.cond6, label %if.then17, label %if.else22 + +if.then17: ; preds = %if.else + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then17 + %11 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 3 + %reg_save_area = load i8*, i8** %11, align 16 + %12 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %13 = bitcast i8* %12 to %struct.flock** + %14 = add i32 %gp_offset, 8 + store i32 %14, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then17 + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %15 = bitcast i8* %overflow_arg_area to %struct.flock** + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi %struct.flock** [ %13, %vaarg.in_reg ], [ %15, %vaarg.in_mem ] + %16 = load %struct.flock*, %struct.flock** %vaarg.addr, align 8 + store %struct.flock* %16, %struct.flock** %lock, align 8 + %arraydecay20 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay2021 = bitcast %struct.__va_list_tag.0* %arraydecay20 to i8* + call void @llvm.va_end(i8* %arraydecay2021) + br label %if.end40 + +if.else22: ; preds = %if.else + br i1 %fits_in_gp, label %vaarg.in_reg29, label %vaarg.in_mem31 + +vaarg.in_reg29: ; preds = %if.else22 + %17 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 3 + %reg_save_area30 = load i8*, i8** %17, align 16 + %18 = getelementptr i8, i8* %reg_save_area30, i32 %gp_offset + %19 = bitcast i8* %18 to i32* + %20 = add i32 %gp_offset, 8 + store i32 %20, i32* %gp_offset_p, align 16 + br label %vaarg.end35 + +vaarg.in_mem31: ; preds = %if.else22 + %overflow_arg_area_p32 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 2 + %overflow_arg_area33 = load i8*, i8** %overflow_arg_area_p32, align 8 + %21 = bitcast i8* %overflow_arg_area33 to i32* + %overflow_arg_area.next34 = getelementptr i8, i8* %overflow_arg_area33, i32 8 + store i8* %overflow_arg_area.next34, i8** %overflow_arg_area_p32, align 8 + br label %vaarg.end35 + +vaarg.end35: ; preds = %vaarg.in_mem31, %vaarg.in_reg29 + %vaarg.addr36 = phi i32* [ %19, %vaarg.in_reg29 ], [ %21, %vaarg.in_mem31 ] + %22 = load i32, i32* %vaarg.addr36, align 4 + store i32 %22, i32* %arg, align 4 + %arraydecay37 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay3738 = bitcast %struct.__va_list_tag.0* %arraydecay37 to i8* + call void @llvm.va_end(i8* %arraydecay3738) + br label %if.end40 + +if.end40: ; preds = %vaarg.end, %vaarg.end35, %if.then11 + %23 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %23, i32 0, i32 3 + %24 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool41 = icmp ne %struct.exe_disk_file_t* %24, null + br i1 %tobool41, label %if.then42, label %if.end60 + +if.then42: ; preds = %if.end40 + %25 = load i32, i32* %cmd.addr, align 4 + br label %NodeBlock13 + +NodeBlock13: ; preds = %if.then42 + %case.cmp14 = icmp eq i32 %25, 1 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %25, 2 + br i1 %case.cmp12, label %sw.bb47, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %25, 3 + br i1 %case.cmp10, label %sw.bb56, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %25, 5 + br i1 %case.cmp8, label %sw.bb57, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock7 + %case.cmp = icmp eq i32 %25, 6 + br i1 %case.cmp, label %sw.bb58, label %newDefault + +sw.bb: ; preds = %NodeBlock13 + store i32 0, i32* %flags, align 4 + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags43 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 1 + %27 = load i32, i32* %flags43, align 4 + %and = and i32 %27, 2 + %tobool44 = icmp ne i32 %and, 0 + br i1 %tobool44, label %if.then45, label %if.end46 + +if.then45: ; preds = %sw.bb + %28 = load i32, i32* %flags, align 4 + %or = or i32 %28, 1 + store i32 %or, i32* %flags, align 4 + br label %if.end46 + +if.end46: ; preds = %if.then45, %sw.bb + %29 = load i32, i32* %flags, align 4 + store i32 %29, i32* %retval, align 4 + br label %return + +sw.bb47: ; preds = %NodeBlock11 + %30 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags48 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %30, i32 0, i32 1 + %31 = load i32, i32* %flags48, align 4 + %and49 = and i32 %31, -3 + store i32 %and49, i32* %flags48, align 4 + %32 = load i32, i32* %arg, align 4 + %and50 = and i32 %32, 1 + %tobool51 = icmp ne i32 %and50, 0 + br i1 %tobool51, label %if.then52, label %if.end55 + +if.then52: ; preds = %sw.bb47 + %33 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags53 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %33, i32 0, i32 1 + %34 = load i32, i32* %flags53, align 4 + %or54 = or i32 %34, 2 + store i32 %or54, i32* %flags53, align 4 + br label %if.end55 + +if.end55: ; preds = %if.then52, %sw.bb47 + store i32 0, i32* %retval, align 4 + br label %return + +sw.bb56: ; preds = %NodeBlock9 + store i32 0, i32* %retval, align 4 + br label %return + +sw.bb57: ; preds = %NodeBlock7 + %35 = load %struct.flock*, %struct.flock** %lock, align 8 + %l_type = getelementptr inbounds %struct.flock, %struct.flock* %35, i32 0, i32 0 + store i16 2, i16* %l_type, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +sw.bb58: ; preds = %NodeBlock + store i32 0, i32* %retval, align 4 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0)) + %call59 = call i32* @__errno_location() #26 + store i32 22, i32* %call59, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end60: ; preds = %if.end40 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd61 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 0 + %37 = load i32, i32* %fd61, align 8 + %38 = load i32, i32* %cmd.addr, align 4 + %39 = load i32, i32* %arg, align 4 + %call62 = call i64 (i64, ...) @syscall(i64 72, i32 %37, i32 %38, i32 %39) #11 + %conv = trunc i64 %call62 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end60, %sw.default, %sw.bb58, %sw.bb57, %sw.bb56, %if.end55, %if.end46, %if.then + %40 = load i32, i32* %retval, align 4 + ret i32 %40 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_statfs(i8* %path, %struct.statfs* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.statfs*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.statfs* %buf, %struct.statfs** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0)) + %call1 = call i32* @__errno_location() #26 + store i32 2, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %2) + %3 = load %struct.statfs*, %struct.statfs** %buf.addr, align 8 + %call3 = call i64 (i64, ...) @syscall(i64 137, i8* %call2, %struct.statfs* %3) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstatfs(i32 %fd, %struct.statfs* nonnull %buf) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.statfs*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.statfs* %buf, %struct.statfs** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #26 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %if.end + call void @gs_warning(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.22, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #26 + store i32 9, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd6, align 8 + %6 = load %struct.statfs*, %struct.statfs** %buf.addr, align 8 + %call7 = call i64 (i64, ...) @syscall(i64 138, i32 %5, %struct.statfs* %6) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %7 = load i32, i32* %retval, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fsync(i32 %fd) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #26 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.else + store i32 0, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %if.else + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd5 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd5, align 8 + %call6 = call i64 (i64, ...) @syscall(i64 74, i32 %5) #11 + %conv = trunc i64 %call6 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @dup2(i32 %oldfd, i32 %newfd) #3 { +entry: + %retval = alloca i32, align 4 + %oldfd.addr = alloca i32, align 4 + %newfd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %f2 = alloca %struct.exe_file_t*, align 8 + store i32 %oldfd, i32* %oldfd.addr, align 4 + store i32 %newfd, i32* %newfd.addr, align 4 + %0 = load i32, i32* %oldfd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + %2 = load i32, i32* %newfd.addr, align 4 + %cmp = icmp sge i32 %2, 0 + %or.cond = and i1 %tobool, %cmp + %3 = load i32, i32* %newfd.addr, align 4 + %cmp1 = icmp slt i32 %3, 32 + %or.cond1 = and i1 %or.cond, %cmp1 + br i1 %or.cond1, label %if.else, label %if.then + +if.then: ; preds = %entry + %call2 = call i32* @__errno_location() #26 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %4 = load i32, i32* %newfd.addr, align 4 + %idxprom = sext i32 %4 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + store %struct.exe_file_t* %arrayidx, %struct.exe_file_t** %f2, align 8 + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f2, align 8 + %flags = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 1 + %6 = load i32, i32* %flags, align 4 + %and = and i32 %6, 1 + %tobool3 = icmp ne i32 %and, 0 + br i1 %tobool3, label %if.then4, label %if.end + +if.then4: ; preds = %if.else + %7 = load i32, i32* %newfd.addr, align 4 + %call5 = call i32 @close(i32 %7) + br label %if.end + +if.end: ; preds = %if.then4, %if.else + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f2, align 8 + %9 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %10 = bitcast %struct.exe_file_t* %8 to i8* + %11 = bitcast %struct.exe_file_t* %9 to i8* + %12 = call i8* @memcpy(i8* %10, i8* %11, i64 24) + %13 = load %struct.exe_file_t*, %struct.exe_file_t** %f2, align 8 + %flags6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %13, i32 0, i32 1 + %14 = load i32, i32* %flags6, align 4 + %and7 = and i32 %14, -3 + store i32 %and7, i32* %flags6, align 4 + %15 = load i32, i32* %newfd.addr, align 4 + store i32 %15, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %16 = load i32, i32* %retval, align 4 + ret i32 %16 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @dup(i32 %oldfd) #3 { +entry: + %retval = alloca i32, align 4 + %oldfd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %fd = alloca i32, align 4 + store i32 %oldfd, i32* %oldfd.addr, align 4 + %0 = load i32, i32* %oldfd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #26 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + store i32 0, i32* %fd, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.else + %2 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %2, 32 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %3 = load i32, i32* %fd, align 4 + %idxprom = sext i32 %3 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + %flags = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %arrayidx, i32 0, i32 1 + %4 = load i32, i32* %flags, align 4 + %and = and i32 %4, 1 + %tobool2 = icmp ne i32 %and, 0 + br i1 %tobool2, label %for.inc, label %for.end + +for.inc: ; preds = %for.body + %5 = load i32, i32* %fd, align 4 + %inc = add nsw i32 %5, 1 + store i32 %inc, i32* %fd, align 4 + br label %for.cond + +for.end: ; preds = %for.body, %for.cond + %6 = load i32, i32* %fd, align 4 + %cmp4 = icmp eq i32 %6, 32 + br i1 %cmp4, label %if.then5, label %if.else7 + +if.then5: ; preds = %for.end + %call6 = call i32* @__errno_location() #26 + store i32 24, i32* %call6, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else7: ; preds = %for.end + %7 = load i32, i32* %oldfd.addr, align 4 + %8 = load i32, i32* %fd, align 4 + %call8 = call i32 @dup2(i32 %7, i32 %8) #11 + store i32 %call8, i32* %retval, align 4 + br label %return + +return: ; preds = %if.else7, %if.then5, %if.then + %9 = load i32, i32* %retval, align 4 + ret i32 %9 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rmdir(i8* nonnull %pathname) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 16384 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %5, i32 0, i32 2 + %6 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 1 + store i64 0, i64* %st_ino, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %call3 = call i32* @__errno_location() #26 + store i32 20, i32* %call3, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #26 + store i32 1, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.else, %if.then1 + %7 = load i32, i32* %retval, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @unlink(i8* nonnull %pathname) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 32768 + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %5, i32 0, i32 2 + %6 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 1 + store i64 0, i64* %st_ino, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %st_mode4 = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 3 + %7 = load i32, i32* %st_mode4, align 8 + %and5 = and i32 %7, 61440 + %cmp6 = icmp eq i32 %and5, 16384 + %call8 = call i32* @__errno_location() #26 + br i1 %cmp6, label %if.then7, label %if.else9 + +if.then7: ; preds = %if.else + store i32 21, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else9: ; preds = %if.else + store i32 1, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0)) + %call11 = call i32* @__errno_location() #26 + store i32 1, i32* %call11, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.else9, %if.then7, %if.then1 + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @unlinkat(i32 %dirfd, i8* nonnull %pathname, i32 %flags) #3 { +entry: + %retval = alloca i32, align 4 + %dirfd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i32 %dirfd, i32* %dirfd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 32768 + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %5, i32 0, i32 2 + %6 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 1 + store i64 0, i64* %st_ino, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %st_mode4 = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 3 + %7 = load i32, i32* %st_mode4, align 8 + %and5 = and i32 %7, 61440 + %cmp6 = icmp eq i32 %and5, 16384 + %call8 = call i32* @__errno_location() #26 + br i1 %cmp6, label %if.then7, label %if.else9 + +if.then7: ; preds = %if.else + store i32 21, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else9: ; preds = %if.else + store i32 1, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0)) + %call11 = call i32* @__errno_location() #26 + store i32 1, i32* %call11, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.else9, %if.then7, %if.then1 + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @readlink(i8* nonnull %path, i8* nonnull %buf, i64 %bufsize) #3 { +entry: + %retval = alloca i64, align 8 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end20 + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 40960 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %5 = load i8*, i8** %path.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 0 + %6 = load i8, i8* %arrayidx, align 1 + %7 = load i8*, i8** %buf.addr, align 8 + %arrayidx2 = getelementptr inbounds i8, i8* %7, i64 0 + store i8 %6, i8* %arrayidx2, align 1 + %8 = load i64, i64* %bufsize.addr, align 8 + %cmp3 = icmp ugt i64 %8, 1 + br i1 %cmp3, label %if.then4, label %if.end + +if.then4: ; preds = %if.then1 + %9 = load i8*, i8** %buf.addr, align 8 + %arrayidx5 = getelementptr inbounds i8, i8* %9, i64 1 + store i8 46, i8* %arrayidx5, align 1 + br label %if.end + +if.end: ; preds = %if.then4, %if.then1 + %10 = load i64, i64* %bufsize.addr, align 8 + %cmp6 = icmp ugt i64 %10, 2 + br i1 %cmp6, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end + %11 = load i8*, i8** %buf.addr, align 8 + %arrayidx8 = getelementptr inbounds i8, i8* %11, i64 2 + store i8 108, i8* %arrayidx8, align 1 + br label %if.end9 + +if.end9: ; preds = %if.then7, %if.end + %12 = load i64, i64* %bufsize.addr, align 8 + %cmp10 = icmp ugt i64 %12, 3 + br i1 %cmp10, label %if.then11, label %if.end13 + +if.then11: ; preds = %if.end9 + %13 = load i8*, i8** %buf.addr, align 8 + %arrayidx12 = getelementptr inbounds i8, i8* %13, i64 3 + store i8 110, i8* %arrayidx12, align 1 + br label %if.end13 + +if.end13: ; preds = %if.then11, %if.end9 + %14 = load i64, i64* %bufsize.addr, align 8 + %cmp14 = icmp ugt i64 %14, 4 + br i1 %cmp14, label %if.then15, label %if.end17 + +if.then15: ; preds = %if.end13 + %15 = load i8*, i8** %buf.addr, align 8 + %arrayidx16 = getelementptr inbounds i8, i8* %15, i64 4 + store i8 107, i8* %arrayidx16, align 1 + br label %if.end17 + +if.end17: ; preds = %if.then15, %if.end13 + %16 = load i64, i64* %bufsize.addr, align 8 + %cmp18 = icmp ugt i64 %16, 5 + %17 = load i64, i64* %bufsize.addr, align 8 + %cond = select i1 %cmp18, i64 5, i64 %17 + store i64 %cond, i64* %retval, align 8 + br label %return + +if.else: ; preds = %if.then + %call19 = call i32* @__errno_location() #26 + store i32 22, i32* %call19, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end20: ; preds = %entry + %18 = load i8*, i8** %path.addr, align 8 + %19 = load i8*, i8** %buf.addr, align 8 + %20 = load i64, i64* %bufsize.addr, align 8 + %call21 = call i64 (i64, ...) @syscall(i64 89, i8* %18, i8* %19, i64 %20) #11 + store i64 %call21, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end20, %if.else, %if.end17 + %21 = load i64, i64* %retval, align 8 + ret i64 %21 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @select(i32 %nfds, %struct.fd_set* %read, %struct.fd_set* %write, %struct.fd_set* %except, %struct.timespec* %timeout) #3 { +entry: + %retval = alloca i32, align 4 + %nfds.addr = alloca i32, align 4 + %read.addr = alloca %struct.fd_set*, align 8 + %write.addr = alloca %struct.fd_set*, align 8 + %except.addr = alloca %struct.fd_set*, align 8 + %timeout.addr = alloca %struct.timespec*, align 8 + %in_read = alloca %struct.fd_set, align 8 + %in_write = alloca %struct.fd_set, align 8 + %in_except = alloca %struct.fd_set, align 8 + %os_read = alloca %struct.fd_set, align 8 + %os_write = alloca %struct.fd_set, align 8 + %os_except = alloca %struct.fd_set, align 8 + %i = alloca i32, align 4 + %count = alloca i32, align 4 + %os_nfds = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %tv = alloca %struct.timespec, align 8 + %r = alloca i32, align 4 + %f182 = alloca %struct.exe_file_t*, align 8 + store i32 %nfds, i32* %nfds.addr, align 4 + store %struct.fd_set* %read, %struct.fd_set** %read.addr, align 8 + store %struct.fd_set* %write, %struct.fd_set** %write.addr, align 8 + store %struct.fd_set* %except, %struct.fd_set** %except.addr, align 8 + store %struct.timespec* %timeout, %struct.timespec** %timeout.addr, align 8 + store i32 0, i32* %count, align 4 + store i32 0, i32* %os_nfds, align 4 + %0 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %tobool = icmp ne %struct.fd_set* %0, null + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %entry + %1 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %2 = bitcast %struct.fd_set* %in_read to i8* + %3 = bitcast %struct.fd_set* %1 to i8* + %4 = call i8* @memcpy(i8* %2, i8* %3, i64 128) + %5 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %6 = bitcast %struct.fd_set* %5 to i8* + %7 = call i8* @memset(i8* %6, i32 0, i64 128) + br label %if.end + +if.else: ; preds = %entry + %8 = bitcast %struct.fd_set* %in_read to i8* + %9 = call i8* @memset(i8* %8, i32 0, i64 128) + br label %if.end + +if.end: ; preds = %if.else, %if.then + %10 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %tobool1 = icmp ne %struct.fd_set* %10, null + br i1 %tobool1, label %if.then2, label %if.else3 + +if.then2: ; preds = %if.end + %11 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %12 = bitcast %struct.fd_set* %in_write to i8* + %13 = bitcast %struct.fd_set* %11 to i8* + %14 = call i8* @memcpy(i8* %12, i8* %13, i64 128) + %15 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %16 = bitcast %struct.fd_set* %15 to i8* + %17 = call i8* @memset(i8* %16, i32 0, i64 128) + br label %if.end4 + +if.else3: ; preds = %if.end + %18 = bitcast %struct.fd_set* %in_write to i8* + %19 = call i8* @memset(i8* %18, i32 0, i64 128) + br label %if.end4 + +if.end4: ; preds = %if.else3, %if.then2 + %20 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %tobool5 = icmp ne %struct.fd_set* %20, null + br i1 %tobool5, label %if.then6, label %if.else7 + +if.then6: ; preds = %if.end4 + %21 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %22 = bitcast %struct.fd_set* %in_except to i8* + %23 = bitcast %struct.fd_set* %21 to i8* + %24 = call i8* @memcpy(i8* %22, i8* %23, i64 128) + %25 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %26 = bitcast %struct.fd_set* %25 to i8* + %27 = call i8* @memset(i8* %26, i32 0, i64 128) + br label %if.end8 + +if.else7: ; preds = %if.end4 + %28 = bitcast %struct.fd_set* %in_except to i8* + %29 = call i8* @memset(i8* %28, i32 0, i64 128) + br label %if.end8 + +if.end8: ; preds = %if.else7, %if.then6 + %30 = bitcast %struct.fd_set* %os_read to i8* + %31 = call i8* @memset(i8* %30, i32 0, i64 128) + %32 = bitcast %struct.fd_set* %os_write to i8* + %33 = call i8* @memset(i8* %32, i32 0, i64 128) + %34 = bitcast %struct.fd_set* %os_except to i8* + %35 = call i8* @memset(i8* %34, i32 0, i64 128) + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end8 + %36 = load i32, i32* %i, align 4 + %37 = load i32, i32* %nfds.addr, align 4 + %cmp = icmp slt i32 %36, %37 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %fds_bits = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_read, i32 0, i32 0 + %38 = load i32, i32* %i, align 4 + %div = sdiv i32 %38, 64 + %idxprom = sext i32 %div to i64 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits, i64 0, i64 %idxprom + %39 = load i64, i64* %arrayidx, align 8 + %40 = load i32, i32* %i, align 4 + %rem = srem i32 %40, 64 + %shl = shl i32 1, %rem + %conv = sext i32 %shl to i64 + %and = and i64 %39, %conv + %tobool9 = icmp ne i64 %and, 0 + br i1 %tobool9, label %if.then29, label %lor.lhs.false + +lor.lhs.false: ; preds = %for.body + %fds_bits10 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_write, i32 0, i32 0 + %41 = load i32, i32* %i, align 4 + %div11 = sdiv i32 %41, 64 + %idxprom12 = sext i32 %div11 to i64 + %arrayidx13 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits10, i64 0, i64 %idxprom12 + %42 = load i64, i64* %arrayidx13, align 8 + %43 = load i32, i32* %i, align 4 + %rem14 = srem i32 %43, 64 + %shl15 = shl i32 1, %rem14 + %conv16 = sext i32 %shl15 to i64 + %and17 = and i64 %42, %conv16 + %tobool18 = icmp ne i64 %and17, 0 + br i1 %tobool18, label %if.then29, label %lor.lhs.false19 + +lor.lhs.false19: ; preds = %lor.lhs.false + %fds_bits20 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_except, i32 0, i32 0 + %44 = load i32, i32* %i, align 4 + %div21 = sdiv i32 %44, 64 + %idxprom22 = sext i32 %div21 to i64 + %arrayidx23 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits20, i64 0, i64 %idxprom22 + %45 = load i64, i64* %arrayidx23, align 8 + %46 = load i32, i32* %i, align 4 + %rem24 = srem i32 %46, 64 + %shl25 = shl i32 1, %rem24 + %conv26 = sext i32 %shl25 to i64 + %and27 = and i64 %45, %conv26 + %tobool28 = icmp ne i64 %and27, 0 + br i1 %tobool28, label %if.then29, label %for.inc + +if.then29: ; preds = %lor.lhs.false19, %lor.lhs.false, %for.body + %47 = load i32, i32* %i, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %47) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %48 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool30 = icmp ne %struct.exe_file_t* %48, null + br i1 %tobool30, label %if.else33, label %if.then31 + +if.then31: ; preds = %if.then29 + %call32 = call i32* @__errno_location() #26 + store i32 9, i32* %call32, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else33: ; preds = %if.then29 + %49 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %49, i32 0, i32 3 + %50 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool34 = icmp ne %struct.exe_disk_file_t* %50, null + %fds_bits36 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_read, i32 0, i32 0 + %51 = load i32, i32* %i, align 4 + %div37 = sdiv i32 %51, 64 + %idxprom38 = sext i32 %div37 to i64 + %arrayidx39 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits36, i64 0, i64 %idxprom38 + %52 = load i64, i64* %arrayidx39, align 8 + %53 = load i32, i32* %i, align 4 + %rem40 = srem i32 %53, 64 + %shl41 = shl i32 1, %rem40 + %conv42 = sext i32 %shl41 to i64 + %and43 = and i64 %52, %conv42 + %tobool44 = icmp ne i64 %and43, 0 + br i1 %tobool34, label %if.then35, label %if.else92 + +if.then35: ; preds = %if.else33 + br i1 %tobool44, label %if.then45, label %if.end53 + +if.then45: ; preds = %if.then35 + %54 = load i32, i32* %i, align 4 + %rem46 = srem i32 %54, 64 + %shl47 = shl i32 1, %rem46 + %conv48 = sext i32 %shl47 to i64 + %55 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %fds_bits49 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %55, i32 0, i32 0 + %56 = load i32, i32* %i, align 4 + %div50 = sdiv i32 %56, 64 + %idxprom51 = sext i32 %div50 to i64 + %arrayidx52 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits49, i64 0, i64 %idxprom51 + %57 = load i64, i64* %arrayidx52, align 8 + %or = or i64 %57, %conv48 + store i64 %or, i64* %arrayidx52, align 8 + br label %if.end53 + +if.end53: ; preds = %if.then45, %if.then35 + %fds_bits54 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_write, i32 0, i32 0 + %58 = load i32, i32* %i, align 4 + %div55 = sdiv i32 %58, 64 + %idxprom56 = sext i32 %div55 to i64 + %arrayidx57 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits54, i64 0, i64 %idxprom56 + %59 = load i64, i64* %arrayidx57, align 8 + %60 = load i32, i32* %i, align 4 + %rem58 = srem i32 %60, 64 + %shl59 = shl i32 1, %rem58 + %conv60 = sext i32 %shl59 to i64 + %and61 = and i64 %59, %conv60 + %tobool62 = icmp ne i64 %and61, 0 + br i1 %tobool62, label %if.then63, label %if.end72 + +if.then63: ; preds = %if.end53 + %61 = load i32, i32* %i, align 4 + %rem64 = srem i32 %61, 64 + %shl65 = shl i32 1, %rem64 + %conv66 = sext i32 %shl65 to i64 + %62 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %fds_bits67 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %62, i32 0, i32 0 + %63 = load i32, i32* %i, align 4 + %div68 = sdiv i32 %63, 64 + %idxprom69 = sext i32 %div68 to i64 + %arrayidx70 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits67, i64 0, i64 %idxprom69 + %64 = load i64, i64* %arrayidx70, align 8 + %or71 = or i64 %64, %conv66 + store i64 %or71, i64* %arrayidx70, align 8 + br label %if.end72 + +if.end72: ; preds = %if.then63, %if.end53 + %fds_bits73 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_except, i32 0, i32 0 + %65 = load i32, i32* %i, align 4 + %div74 = sdiv i32 %65, 64 + %idxprom75 = sext i32 %div74 to i64 + %arrayidx76 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits73, i64 0, i64 %idxprom75 + %66 = load i64, i64* %arrayidx76, align 8 + %67 = load i32, i32* %i, align 4 + %rem77 = srem i32 %67, 64 + %shl78 = shl i32 1, %rem77 + %conv79 = sext i32 %shl78 to i64 + %and80 = and i64 %66, %conv79 + %tobool81 = icmp ne i64 %and80, 0 + br i1 %tobool81, label %if.then82, label %if.end91 + +if.then82: ; preds = %if.end72 + %68 = load i32, i32* %i, align 4 + %rem83 = srem i32 %68, 64 + %shl84 = shl i32 1, %rem83 + %conv85 = sext i32 %shl84 to i64 + %69 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %fds_bits86 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %69, i32 0, i32 0 + %70 = load i32, i32* %i, align 4 + %div87 = sdiv i32 %70, 64 + %idxprom88 = sext i32 %div87 to i64 + %arrayidx89 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits86, i64 0, i64 %idxprom88 + %71 = load i64, i64* %arrayidx89, align 8 + %or90 = or i64 %71, %conv85 + store i64 %or90, i64* %arrayidx89, align 8 + br label %if.end91 + +if.end91: ; preds = %if.then82, %if.end72 + %72 = load i32, i32* %count, align 4 + %inc = add nsw i32 %72, 1 + store i32 %inc, i32* %count, align 4 + br label %for.inc + +if.else92: ; preds = %if.else33 + br i1 %tobool44, label %if.then102, label %if.end112 + +if.then102: ; preds = %if.else92 + %73 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %73, i32 0, i32 0 + %74 = load i32, i32* %fd, align 8 + %rem103 = srem i32 %74, 64 + %shl104 = shl i32 1, %rem103 + %conv105 = sext i32 %shl104 to i64 + %fds_bits106 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_read, i32 0, i32 0 + %75 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd107 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %75, i32 0, i32 0 + %76 = load i32, i32* %fd107, align 8 + %div108 = sdiv i32 %76, 64 + %idxprom109 = sext i32 %div108 to i64 + %arrayidx110 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits106, i64 0, i64 %idxprom109 + %77 = load i64, i64* %arrayidx110, align 8 + %or111 = or i64 %77, %conv105 + store i64 %or111, i64* %arrayidx110, align 8 + br label %if.end112 + +if.end112: ; preds = %if.then102, %if.else92 + %fds_bits113 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_write, i32 0, i32 0 + %78 = load i32, i32* %i, align 4 + %div114 = sdiv i32 %78, 64 + %idxprom115 = sext i32 %div114 to i64 + %arrayidx116 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits113, i64 0, i64 %idxprom115 + %79 = load i64, i64* %arrayidx116, align 8 + %80 = load i32, i32* %i, align 4 + %rem117 = srem i32 %80, 64 + %shl118 = shl i32 1, %rem117 + %conv119 = sext i32 %shl118 to i64 + %and120 = and i64 %79, %conv119 + %tobool121 = icmp ne i64 %and120, 0 + br i1 %tobool121, label %if.then122, label %if.end133 + +if.then122: ; preds = %if.end112 + %81 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd123 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %81, i32 0, i32 0 + %82 = load i32, i32* %fd123, align 8 + %rem124 = srem i32 %82, 64 + %shl125 = shl i32 1, %rem124 + %conv126 = sext i32 %shl125 to i64 + %fds_bits127 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_write, i32 0, i32 0 + %83 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd128 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %83, i32 0, i32 0 + %84 = load i32, i32* %fd128, align 8 + %div129 = sdiv i32 %84, 64 + %idxprom130 = sext i32 %div129 to i64 + %arrayidx131 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits127, i64 0, i64 %idxprom130 + %85 = load i64, i64* %arrayidx131, align 8 + %or132 = or i64 %85, %conv126 + store i64 %or132, i64* %arrayidx131, align 8 + br label %if.end133 + +if.end133: ; preds = %if.then122, %if.end112 + %fds_bits134 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_except, i32 0, i32 0 + %86 = load i32, i32* %i, align 4 + %div135 = sdiv i32 %86, 64 + %idxprom136 = sext i32 %div135 to i64 + %arrayidx137 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits134, i64 0, i64 %idxprom136 + %87 = load i64, i64* %arrayidx137, align 8 + %88 = load i32, i32* %i, align 4 + %rem138 = srem i32 %88, 64 + %shl139 = shl i32 1, %rem138 + %conv140 = sext i32 %shl139 to i64 + %and141 = and i64 %87, %conv140 + %tobool142 = icmp ne i64 %and141, 0 + br i1 %tobool142, label %if.then143, label %if.end154 + +if.then143: ; preds = %if.end133 + %89 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd144 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %89, i32 0, i32 0 + %90 = load i32, i32* %fd144, align 8 + %rem145 = srem i32 %90, 64 + %shl146 = shl i32 1, %rem145 + %conv147 = sext i32 %shl146 to i64 + %fds_bits148 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_except, i32 0, i32 0 + %91 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd149 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %91, i32 0, i32 0 + %92 = load i32, i32* %fd149, align 8 + %div150 = sdiv i32 %92, 64 + %idxprom151 = sext i32 %div150 to i64 + %arrayidx152 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits148, i64 0, i64 %idxprom151 + %93 = load i64, i64* %arrayidx152, align 8 + %or153 = or i64 %93, %conv147 + store i64 %or153, i64* %arrayidx152, align 8 + br label %if.end154 + +if.end154: ; preds = %if.then143, %if.end133 + %94 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd155 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %94, i32 0, i32 0 + %95 = load i32, i32* %fd155, align 8 + %96 = load i32, i32* %os_nfds, align 4 + %cmp156 = icmp sge i32 %95, %96 + br i1 %cmp156, label %if.then158, label %for.inc + +if.then158: ; preds = %if.end154 + %97 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd159 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %97, i32 0, i32 0 + %98 = load i32, i32* %fd159, align 8 + %add = add nsw i32 %98, 1 + store i32 %add, i32* %os_nfds, align 4 + br label %for.inc + +for.inc: ; preds = %lor.lhs.false19, %if.end91, %if.then158, %if.end154 + %99 = load i32, i32* %i, align 4 + %inc164 = add nsw i32 %99, 1 + store i32 %inc164, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %100 = load i32, i32* %os_nfds, align 4 + %cmp165 = icmp sgt i32 %100, 0 + br i1 %cmp165, label %if.then167, label %if.end262 + +if.then167: ; preds = %for.end + %101 = bitcast %struct.timespec* %tv to i8* + %102 = call i8* @memset(i8* %101, i32 0, i64 16) + %103 = load i32, i32* %os_nfds, align 4 + %call168 = call i64 (i64, ...) @syscall(i64 23, i32 %103, %struct.fd_set* %os_read, %struct.fd_set* %os_write, %struct.fd_set* %os_except, %struct.timespec* %tv) #11 + %conv169 = trunc i64 %call168 to i32 + store i32 %conv169, i32* %r, align 4 + %104 = load i32, i32* %r, align 4 + %cmp170 = icmp eq i32 %104, -1 + br i1 %cmp170, label %if.then172, label %if.else176 + +if.then172: ; preds = %if.then167 + %105 = load i32, i32* %count, align 4 + %tobool173 = icmp ne i32 %105, 0 + br i1 %tobool173, label %if.end262, label %if.then174 + +if.then174: ; preds = %if.then172 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else176: ; preds = %if.then167 + %106 = load i32, i32* %r, align 4 + %107 = load i32, i32* %count, align 4 + %add177 = add nsw i32 %107, %106 + store i32 %add177, i32* %count, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond178 + +for.cond178: ; preds = %for.inc258, %if.else176 + %108 = load i32, i32* %i, align 4 + %109 = load i32, i32* %nfds.addr, align 4 + %cmp179 = icmp slt i32 %108, %109 + br i1 %cmp179, label %for.body181, label %if.end262 + +for.body181: ; preds = %for.cond178 + %110 = load i32, i32* %i, align 4 + %call183 = call %struct.exe_file_t* @__get_file(i32 %110) + store %struct.exe_file_t* %call183, %struct.exe_file_t** %f182, align 8 + %111 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %tobool184 = icmp ne %struct.exe_file_t* %111, null + br i1 %tobool184, label %land.lhs.true, label %for.inc258 + +land.lhs.true: ; preds = %for.body181 + %112 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %dfile185 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %112, i32 0, i32 3 + %113 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile185, align 8 + %tobool186 = icmp ne %struct.exe_disk_file_t* %113, null + br i1 %tobool186, label %for.inc258, label %if.then187 + +if.then187: ; preds = %land.lhs.true + %114 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %tobool188 = icmp ne %struct.fd_set* %114, null + br i1 %tobool188, label %land.lhs.true189, label %if.end210 + +land.lhs.true189: ; preds = %if.then187 + %fds_bits190 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_read, i32 0, i32 0 + %115 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd191 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %115, i32 0, i32 0 + %116 = load i32, i32* %fd191, align 8 + %div192 = sdiv i32 %116, 64 + %idxprom193 = sext i32 %div192 to i64 + %arrayidx194 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits190, i64 0, i64 %idxprom193 + %117 = load i64, i64* %arrayidx194, align 8 + %118 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd195 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %118, i32 0, i32 0 + %119 = load i32, i32* %fd195, align 8 + %rem196 = srem i32 %119, 64 + %shl197 = shl i32 1, %rem196 + %conv198 = sext i32 %shl197 to i64 + %and199 = and i64 %117, %conv198 + %tobool200 = icmp ne i64 %and199, 0 + br i1 %tobool200, label %if.then201, label %if.end210 + +if.then201: ; preds = %land.lhs.true189 + %120 = load i32, i32* %i, align 4 + %rem202 = srem i32 %120, 64 + %shl203 = shl i32 1, %rem202 + %conv204 = sext i32 %shl203 to i64 + %121 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %fds_bits205 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %121, i32 0, i32 0 + %122 = load i32, i32* %i, align 4 + %div206 = sdiv i32 %122, 64 + %idxprom207 = sext i32 %div206 to i64 + %arrayidx208 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits205, i64 0, i64 %idxprom207 + %123 = load i64, i64* %arrayidx208, align 8 + %or209 = or i64 %123, %conv204 + store i64 %or209, i64* %arrayidx208, align 8 + br label %if.end210 + +if.end210: ; preds = %if.then201, %land.lhs.true189, %if.then187 + %124 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %tobool211 = icmp ne %struct.fd_set* %124, null + br i1 %tobool211, label %land.lhs.true212, label %if.end233 + +land.lhs.true212: ; preds = %if.end210 + %fds_bits213 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_write, i32 0, i32 0 + %125 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd214 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %125, i32 0, i32 0 + %126 = load i32, i32* %fd214, align 8 + %div215 = sdiv i32 %126, 64 + %idxprom216 = sext i32 %div215 to i64 + %arrayidx217 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits213, i64 0, i64 %idxprom216 + %127 = load i64, i64* %arrayidx217, align 8 + %128 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd218 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %128, i32 0, i32 0 + %129 = load i32, i32* %fd218, align 8 + %rem219 = srem i32 %129, 64 + %shl220 = shl i32 1, %rem219 + %conv221 = sext i32 %shl220 to i64 + %and222 = and i64 %127, %conv221 + %tobool223 = icmp ne i64 %and222, 0 + br i1 %tobool223, label %if.then224, label %if.end233 + +if.then224: ; preds = %land.lhs.true212 + %130 = load i32, i32* %i, align 4 + %rem225 = srem i32 %130, 64 + %shl226 = shl i32 1, %rem225 + %conv227 = sext i32 %shl226 to i64 + %131 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %fds_bits228 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %131, i32 0, i32 0 + %132 = load i32, i32* %i, align 4 + %div229 = sdiv i32 %132, 64 + %idxprom230 = sext i32 %div229 to i64 + %arrayidx231 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits228, i64 0, i64 %idxprom230 + %133 = load i64, i64* %arrayidx231, align 8 + %or232 = or i64 %133, %conv227 + store i64 %or232, i64* %arrayidx231, align 8 + br label %if.end233 + +if.end233: ; preds = %if.then224, %land.lhs.true212, %if.end210 + %134 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %tobool234 = icmp ne %struct.fd_set* %134, null + br i1 %tobool234, label %land.lhs.true235, label %for.inc258 + +land.lhs.true235: ; preds = %if.end233 + %fds_bits236 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_except, i32 0, i32 0 + %135 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd237 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %135, i32 0, i32 0 + %136 = load i32, i32* %fd237, align 8 + %div238 = sdiv i32 %136, 64 + %idxprom239 = sext i32 %div238 to i64 + %arrayidx240 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits236, i64 0, i64 %idxprom239 + %137 = load i64, i64* %arrayidx240, align 8 + %138 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd241 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %138, i32 0, i32 0 + %139 = load i32, i32* %fd241, align 8 + %rem242 = srem i32 %139, 64 + %shl243 = shl i32 1, %rem242 + %conv244 = sext i32 %shl243 to i64 + %and245 = and i64 %137, %conv244 + %tobool246 = icmp ne i64 %and245, 0 + br i1 %tobool246, label %if.then247, label %for.inc258 + +if.then247: ; preds = %land.lhs.true235 + %140 = load i32, i32* %i, align 4 + %rem248 = srem i32 %140, 64 + %shl249 = shl i32 1, %rem248 + %conv250 = sext i32 %shl249 to i64 + %141 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %fds_bits251 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %141, i32 0, i32 0 + %142 = load i32, i32* %i, align 4 + %div252 = sdiv i32 %142, 64 + %idxprom253 = sext i32 %div252 to i64 + %arrayidx254 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits251, i64 0, i64 %idxprom253 + %143 = load i64, i64* %arrayidx254, align 8 + %or255 = or i64 %143, %conv250 + store i64 %or255, i64* %arrayidx254, align 8 + br label %for.inc258 + +for.inc258: ; preds = %for.body181, %land.lhs.true, %if.then247, %land.lhs.true235, %if.end233 + %144 = load i32, i32* %i, align 4 + %inc259 = add nsw i32 %144, 1 + store i32 %inc259, i32* %i, align 4 + br label %for.cond178 + +if.end262: ; preds = %if.then172, %for.cond178, %for.end + %145 = load i32, i32* %count, align 4 + store i32 %145, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end262, %if.then174, %if.then31 + %146 = load i32, i32* %retval, align 4 + ret i32 %146 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chroot(i8* nonnull %path) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %0, i64 0 + %1 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call = call i32* @__errno_location() #26 + store i32 2, i32* %call, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %path.addr, align 8 + %arrayidx2 = getelementptr inbounds i8, i8* %2, i64 0 + %3 = load i8, i8* %arrayidx2, align 1 + %conv3 = sext i8 %3 to i32 + %cmp4 = icmp eq i32 %conv3, 47 + br i1 %cmp4, label %land.lhs.true, label %if.end11 + +land.lhs.true: ; preds = %if.end + %4 = load i8*, i8** %path.addr, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %4, i64 1 + %5 = load i8, i8* %arrayidx6, align 1 + %conv7 = sext i8 %5 to i32 + %cmp8 = icmp eq i32 %conv7, 0 + br i1 %cmp8, label %if.then10, label %if.end11 + +if.then10: ; preds = %land.lhs.true + store i32 0, i32* %retval, align 4 + br label %return + +if.end11: ; preds = %land.lhs.true, %if.end + call void @gs_warning(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.24, i64 0, i64 0)) + %call12 = call i32* @__errno_location() #26 + store i32 2, i32* %call12, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end11, %if.then10, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @open(i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i8*, i8** %pathname.addr, align 8 + %8 = load i32, i32* %flags.addr, align 4 + %9 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_open(i8* %7, i32 %8, i32 %9) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @openat(i32 %fd, i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %fd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i32, i32* %fd.addr, align 4 + %8 = load i8*, i8** %pathname.addr, align 8 + %9 = load i32, i32* %flags.addr, align 4 + %10 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_openat(i32 %7, i8* %8, i32 %9, i32 %10) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @lseek(i32 %fd, i64 %off, i32 %whence) #3 { +entry: + %fd.addr = alloca i32, align 4 + %off.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %off, i64* %off.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %off.addr, align 8 + %2 = load i32, i32* %whence.addr, align 4 + %call = call i64 @__fd_lseek(i32 %0, i64 %1, i32 %2) + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__xstat(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__stat64_to_stat(%struct.stat64* %a, %struct.stat64* %b) #3 { +entry: + %a.addr = alloca %struct.stat64*, align 8 + %b.addr = alloca %struct.stat64*, align 8 + store %struct.stat64* %a, %struct.stat64** %a.addr, align 8 + store %struct.stat64* %b, %struct.stat64** %b.addr, align 8 + %0 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_dev = getelementptr inbounds %struct.stat64, %struct.stat64* %0, i32 0, i32 0 + %1 = load i64, i64* %st_dev, align 8 + %2 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_dev1 = getelementptr inbounds %struct.stat64, %struct.stat64* %2, i32 0, i32 0 + store i64 %1, i64* %st_dev1, align 8 + %3 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 1 + %4 = load i64, i64* %st_ino, align 8 + %5 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_ino2 = getelementptr inbounds %struct.stat64, %struct.stat64* %5, i32 0, i32 1 + store i64 %4, i64* %st_ino2, align 8 + %6 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 3 + %7 = load i32, i32* %st_mode, align 8 + %8 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_mode3 = getelementptr inbounds %struct.stat64, %struct.stat64* %8, i32 0, i32 3 + store i32 %7, i32* %st_mode3, align 8 + %9 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_nlink = getelementptr inbounds %struct.stat64, %struct.stat64* %9, i32 0, i32 2 + %10 = load i64, i64* %st_nlink, align 8 + %11 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_nlink4 = getelementptr inbounds %struct.stat64, %struct.stat64* %11, i32 0, i32 2 + store i64 %10, i64* %st_nlink4, align 8 + %12 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_uid = getelementptr inbounds %struct.stat64, %struct.stat64* %12, i32 0, i32 4 + %13 = load i32, i32* %st_uid, align 4 + %14 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_uid5 = getelementptr inbounds %struct.stat64, %struct.stat64* %14, i32 0, i32 4 + store i32 %13, i32* %st_uid5, align 4 + %15 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_gid = getelementptr inbounds %struct.stat64, %struct.stat64* %15, i32 0, i32 5 + %16 = load i32, i32* %st_gid, align 8 + %17 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_gid6 = getelementptr inbounds %struct.stat64, %struct.stat64* %17, i32 0, i32 5 + store i32 %16, i32* %st_gid6, align 8 + %18 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_rdev = getelementptr inbounds %struct.stat64, %struct.stat64* %18, i32 0, i32 7 + %19 = load i64, i64* %st_rdev, align 8 + %20 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_rdev7 = getelementptr inbounds %struct.stat64, %struct.stat64* %20, i32 0, i32 7 + store i64 %19, i64* %st_rdev7, align 8 + %21 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_size = getelementptr inbounds %struct.stat64, %struct.stat64* %21, i32 0, i32 8 + %22 = load i64, i64* %st_size, align 8 + %23 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_size8 = getelementptr inbounds %struct.stat64, %struct.stat64* %23, i32 0, i32 8 + store i64 %22, i64* %st_size8, align 8 + %24 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_atim = getelementptr inbounds %struct.stat64, %struct.stat64* %24, i32 0, i32 11 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim, i32 0, i32 0 + %25 = load i64, i64* %tv_sec, align 8 + %26 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_atim9 = getelementptr inbounds %struct.stat64, %struct.stat64* %26, i32 0, i32 11 + %tv_sec10 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim9, i32 0, i32 0 + store i64 %25, i64* %tv_sec10, align 8 + %27 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_mtim = getelementptr inbounds %struct.stat64, %struct.stat64* %27, i32 0, i32 12 + %tv_sec11 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim, i32 0, i32 0 + %28 = load i64, i64* %tv_sec11, align 8 + %29 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_mtim12 = getelementptr inbounds %struct.stat64, %struct.stat64* %29, i32 0, i32 12 + %tv_sec13 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim12, i32 0, i32 0 + store i64 %28, i64* %tv_sec13, align 8 + %30 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_ctim = getelementptr inbounds %struct.stat64, %struct.stat64* %30, i32 0, i32 13 + %tv_sec14 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim, i32 0, i32 0 + %31 = load i64, i64* %tv_sec14, align 8 + %32 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_ctim15 = getelementptr inbounds %struct.stat64, %struct.stat64* %32, i32 0, i32 13 + %tv_sec16 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim15, i32 0, i32 0 + store i64 %31, i64* %tv_sec16, align 8 + %33 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_blksize = getelementptr inbounds %struct.stat64, %struct.stat64* %33, i32 0, i32 9 + %34 = load i64, i64* %st_blksize, align 8 + %35 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_blksize17 = getelementptr inbounds %struct.stat64, %struct.stat64* %35, i32 0, i32 9 + store i64 %34, i64* %st_blksize17, align 8 + %36 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_blocks = getelementptr inbounds %struct.stat64, %struct.stat64* %36, i32 0, i32 10 + %37 = load i64, i64* %st_blocks, align 8 + %38 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_blocks18 = getelementptr inbounds %struct.stat64, %struct.stat64* %38, i32 0, i32 10 + store i64 %37, i64* %st_blocks18, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @stat(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__lxstat(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @lstat(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fxstat(i32 %vers, i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %vers, i32* %vers.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstat(i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @ftruncate(i32 %fd, i64 %length) #3 { +entry: + %fd.addr = alloca i32, align 4 + %length.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %length, i64* %length.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %length.addr, align 8 + %call = call i32 @__fd_ftruncate(i32 %0, i64 %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @statfs(i8* nonnull %path, %struct.statfs* nonnull %buf32) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf32.addr = alloca %struct.statfs*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.statfs* %buf32, %struct.statfs** %buf32.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.statfs*, %struct.statfs** %buf32.addr, align 8 + %call = call i32 @__fd_statfs(i8* %0, %struct.statfs* %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @getdents(i32 %fd, %struct.dirent64* %dirp, i64 %nbytes) #3 { +entry: + %fd.addr = alloca i32, align 4 + %dirp.addr = alloca %struct.dirent64*, align 8 + %nbytes.addr = alloca i64, align 8 + %dp64 = alloca %struct.dirent64*, align 8 + %res = alloca i64, align 8 + %end = alloca %struct.dirent64*, align 8 + %dp = alloca %struct.dirent64*, align 8 + %name_len = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.dirent64* %dirp, %struct.dirent64** %dirp.addr, align 8 + store i64 %nbytes, i64* %nbytes.addr, align 8 + %0 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %1 = bitcast %struct.dirent64* %0 to %struct.dirent64* + store %struct.dirent64* %1, %struct.dirent64** %dp64, align 8 + %2 = load i32, i32* %fd.addr, align 4 + %3 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %4 = load i64, i64* %nbytes.addr, align 8 + %conv = trunc i64 %4 to i32 + %call = call i32 @__fd_getdents(i32 %2, %struct.dirent64* %3, i32 %conv) + %conv1 = sext i32 %call to i64 + store i64 %conv1, i64* %res, align 8 + %5 = load i64, i64* %res, align 8 + %cmp = icmp sgt i64 %5, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %6 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %7 = bitcast %struct.dirent64* %6 to i8* + %8 = load i64, i64* %res, align 8 + %add.ptr = getelementptr inbounds i8, i8* %7, i64 %8 + %9 = bitcast i8* %add.ptr to %struct.dirent64* + store %struct.dirent64* %9, %struct.dirent64** %end, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.then + %10 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %11 = load %struct.dirent64*, %struct.dirent64** %end, align 8 + %cmp3 = icmp ult %struct.dirent64* %10, %11 + br i1 %cmp3, label %while.body, label %if.end + +while.body: ; preds = %while.cond + %12 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %13 = bitcast %struct.dirent64* %12 to %struct.dirent64* + store %struct.dirent64* %13, %struct.dirent64** %dp, align 8 + %14 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_reclen = getelementptr inbounds %struct.dirent64, %struct.dirent64* %14, i32 0, i32 2 + %15 = load i16, i16* %d_reclen, align 8 + %conv5 = zext i16 %15 to i64 + %sub = sub i64 %conv5, ptrtoint ([256 x i8]* getelementptr inbounds (%struct.dirent64, %struct.dirent64* null, i32 0, i32 4) to i64) + store i64 %sub, i64* %name_len, align 8 + %16 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_ino = getelementptr inbounds %struct.dirent64, %struct.dirent64* %16, i32 0, i32 0 + %17 = load i64, i64* %d_ino, align 8 + %18 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_ino6 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %18, i32 0, i32 0 + store i64 %17, i64* %d_ino6, align 8 + %19 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_off = getelementptr inbounds %struct.dirent64, %struct.dirent64* %19, i32 0, i32 1 + %20 = load i64, i64* %d_off, align 8 + %21 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_off7 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %21, i32 0, i32 1 + store i64 %20, i64* %d_off7, align 8 + %22 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_reclen8 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %22, i32 0, i32 2 + %23 = load i16, i16* %d_reclen8, align 8 + %24 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_reclen9 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %24, i32 0, i32 2 + store i16 %23, i16* %d_reclen9, align 8 + %25 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_type = getelementptr inbounds %struct.dirent64, %struct.dirent64* %25, i32 0, i32 3 + %26 = load i8, i8* %d_type, align 2 + %27 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_type10 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %27, i32 0, i32 3 + store i8 %26, i8* %d_type10, align 2 + %28 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_name = getelementptr inbounds %struct.dirent64, %struct.dirent64* %28, i32 0, i32 4 + %arraydecay = getelementptr inbounds [256 x i8], [256 x i8]* %d_name, i64 0, i64 0 + %29 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_name11 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %29, i32 0, i32 4 + %arraydecay12 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name11, i64 0, i64 0 + %30 = load i64, i64* %name_len, align 8 + %31 = call i8* @memmove(i8* %arraydecay, i8* %arraydecay12, i64 %30) + %32 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %33 = bitcast %struct.dirent64* %32 to i8* + %34 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_reclen13 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %34, i32 0, i32 2 + %35 = load i16, i16* %d_reclen13, align 8 + %conv14 = zext i16 %35 to i32 + %idx.ext = sext i32 %conv14 to i64 + %add.ptr15 = getelementptr inbounds i8, i8* %33, i64 %idx.ext + %36 = bitcast i8* %add.ptr15 to %struct.dirent64* + store %struct.dirent64* %36, %struct.dirent64** %dp64, align 8 + br label %while.cond + +if.end: ; preds = %while.cond, %entry + %37 = load i64, i64* %res, align 8 + ret i64 %37 +} + +; Function Attrs: argmemonly nounwind willreturn +declare void @llvm.memmove.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i1 immarg) #9 + +; Function Attrs: noinline nounwind uwtable +define dso_local void @klee_init_env(i32* %argcPtr, i8*** %argvPtr) #3 { +entry: + %argcPtr.addr = alloca i32*, align 8 + %argvPtr.addr = alloca i8***, align 8 + %argc = alloca i32, align 4 + %argv = alloca i8**, align 8 + %new_argc = alloca i32, align 4 + %n_args = alloca i32, align 4 + %new_argv = alloca [1024 x i8*], align 16 + %max_len = alloca i32, align 4 + %min_argvs = alloca i32, align 4 + %max_argvs = alloca i32, align 4 + %sym_files = alloca i32, align 4 + %sym_file_len = alloca i32, align 4 + %sym_stdin_len = alloca i32, align 4 + %sym_stdout_flag = alloca i32, align 4 + %save_all_writes_flag = alloca i32, align 4 + %fd_fail = alloca i32, align 4 + %final_argv = alloca i8**, align 8 + %sym_arg_name = alloca [6 x i8], align 1 + %sym_arg_num = alloca i32, align 4 + %k = alloca i32, align 4 + %i = alloca i32, align 4 + %msg = alloca i8*, align 8 + %msg40 = alloca i8*, align 8 + %msg105 = alloca i8*, align 8 + %msg145 = alloca i8*, align 8 + %msg215 = alloca i8*, align 8 + store i32* %argcPtr, i32** %argcPtr.addr, align 8 + store i8*** %argvPtr, i8**** %argvPtr.addr, align 8 + %0 = load i32*, i32** %argcPtr.addr, align 8 + %1 = load i32, i32* %0, align 4 + store i32 %1, i32* %argc, align 4 + %2 = load i8***, i8**** %argvPtr.addr, align 8 + %3 = load i8**, i8*** %2, align 8 + store i8** %3, i8*** %argv, align 8 + store i32 0, i32* %new_argc, align 4 + store i32 0, i32* %sym_files, align 4 + store i32 0, i32* %sym_file_len, align 4 + store i32 0, i32* %sym_stdin_len, align 4 + store i32 0, i32* %sym_stdout_flag, align 4 + store i32 0, i32* %save_all_writes_flag, align 4 + store i32 0, i32* %fd_fail, align 4 + %4 = bitcast [6 x i8]* %sym_arg_name to i8* + %5 = call i8* @memcpy(i8* %4, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @__const.klee_init_env.sym_arg_name, i32 0, i32 0), i64 6) + store i32 0, i32* %sym_arg_num, align 4 + store i32 0, i32* %k, align 4 + %arrayidx = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 5 + store i8 0, i8* %arrayidx, align 1 + %6 = load i32, i32* %argc, align 4 + %cmp = icmp eq i32 %6, 2 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %7 = load i8**, i8*** %argv, align 8 + %arrayidx1 = getelementptr inbounds i8*, i8** %7, i64 1 + %8 = load i8*, i8** %arrayidx1, align 8 + %call = call i32 @__streq(i8* %8, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.29, i64 0, i64 0)) + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + call void @__emit_error(i8* getelementptr inbounds ([964 x i8], [964 x i8]* @.str.1.30, i64 0, i64 0)) + br label %if.end + +if.end: ; preds = %if.then, %land.lhs.true, %entry + br label %while.cond + +while.cond: ; preds = %if.end239, %if.end + %9 = load i32, i32* %k, align 4 + %10 = load i32, i32* %argc, align 4 + %cmp2 = icmp slt i32 %9, %10 + br i1 %cmp2, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %11 = load i8**, i8*** %argv, align 8 + %12 = load i32, i32* %k, align 4 + %idxprom = sext i32 %12 to i64 + %arrayidx3 = getelementptr inbounds i8*, i8** %11, i64 %idxprom + %13 = load i8*, i8** %arrayidx3, align 8 + %call4 = call i32 @__streq(i8* %13, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.2.31, i64 0, i64 0)) + %tobool5 = icmp ne i32 %call4, 0 + br i1 %tobool5, label %if.then10, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.body + %14 = load i8**, i8*** %argv, align 8 + %15 = load i32, i32* %k, align 4 + %idxprom6 = sext i32 %15 to i64 + %arrayidx7 = getelementptr inbounds i8*, i8** %14, i64 %idxprom6 + %16 = load i8*, i8** %arrayidx7, align 8 + %call8 = call i32 @__streq(i8* %16, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.32, i64 0, i64 0)) + %tobool9 = icmp ne i32 %call8, 0 + br i1 %tobool9, label %if.then10, label %if.else + +if.then10: ; preds = %lor.lhs.false, %while.body + store i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.4.33, i64 0, i64 0), i8** %msg, align 8 + %17 = load i32, i32* %k, align 4 + %inc = add nsw i32 %17, 1 + store i32 %inc, i32* %k, align 4 + %18 = load i32, i32* %argc, align 4 + %cmp11 = icmp eq i32 %inc, %18 + br i1 %cmp11, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.then10 + %19 = load i8*, i8** %msg, align 8 + call void @__emit_error(i8* %19) + br label %if.end13 + +if.end13: ; preds = %if.then12, %if.then10 + %20 = load i8**, i8*** %argv, align 8 + %21 = load i32, i32* %k, align 4 + %inc14 = add nsw i32 %21, 1 + store i32 %inc14, i32* %k, align 4 + %idxprom15 = sext i32 %21 to i64 + %arrayidx16 = getelementptr inbounds i8*, i8** %20, i64 %idxprom15 + %22 = load i8*, i8** %arrayidx16, align 8 + %23 = load i8*, i8** %msg, align 8 + %call17 = call i64 @__str_to_int(i8* %22, i8* %23) + %conv = trunc i64 %call17 to i32 + store i32 %conv, i32* %max_len, align 4 + %24 = load i32, i32* %sym_arg_num, align 4 + %cmp18 = icmp ugt i32 %24, 99 + br i1 %cmp18, label %if.then20, label %if.end21 + +if.then20: ; preds = %if.end13 + call void @__emit_error(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.5.34, i64 0, i64 0)) + br label %if.end21 + +if.end21: ; preds = %if.then20, %if.end13 + %25 = load i32, i32* %sym_arg_num, align 4 + %div = udiv i32 %25, 10 + %add = add i32 48, %div + %conv22 = trunc i32 %add to i8 + %arrayidx23 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 3 + store i8 %conv22, i8* %arrayidx23, align 1 + %26 = load i32, i32* %sym_arg_num, align 4 + %rem = urem i32 %26, 10 + %add24 = add i32 48, %rem + %conv25 = trunc i32 %add24 to i8 + %arrayidx26 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 4 + store i8 %conv25, i8* %arrayidx26, align 1 + %27 = load i32, i32* %sym_arg_num, align 4 + %inc27 = add i32 %27, 1 + store i32 %inc27, i32* %sym_arg_num, align 4 + %arraydecay = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %28 = load i32, i32* %max_len, align 4 + %arraydecay28 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 0 + %call29 = call i8* @__get_sym_str(i32 %28, i8* %arraydecay28) + call void @__add_arg(i32* %new_argc, i8** %arraydecay, i8* %call29, i32 1024) + br label %if.end239 + +if.else: ; preds = %lor.lhs.false + %29 = load i8**, i8*** %argv, align 8 + %30 = load i32, i32* %k, align 4 + %idxprom30 = sext i32 %30 to i64 + %arrayidx31 = getelementptr inbounds i8*, i8** %29, i64 %idxprom30 + %31 = load i8*, i8** %arrayidx31, align 8 + %call32 = call i32 @__streq(i8* %31, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.6.35, i64 0, i64 0)) + %tobool33 = icmp ne i32 %call32, 0 + br i1 %tobool33, label %if.then39, label %lor.lhs.false34 + +lor.lhs.false34: ; preds = %if.else + %32 = load i8**, i8*** %argv, align 8 + %33 = load i32, i32* %k, align 4 + %idxprom35 = sext i32 %33 to i64 + %arrayidx36 = getelementptr inbounds i8*, i8** %32, i64 %idxprom35 + %34 = load i8*, i8** %arrayidx36, align 8 + %call37 = call i32 @__streq(i8* %34, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.7.36, i64 0, i64 0)) + %tobool38 = icmp ne i32 %call37, 0 + br i1 %tobool38, label %if.then39, label %if.else94 + +if.then39: ; preds = %lor.lhs.false34, %if.else + store i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.8.37, i64 0, i64 0), i8** %msg40, align 8 + %35 = load i32, i32* %k, align 4 + %add41 = add nsw i32 %35, 3 + %36 = load i32, i32* %argc, align 4 + %cmp42 = icmp sge i32 %add41, %36 + br i1 %cmp42, label %if.then44, label %if.end45 + +if.then44: ; preds = %if.then39 + %37 = load i8*, i8** %msg40, align 8 + call void @__emit_error(i8* %37) + br label %if.end45 + +if.end45: ; preds = %if.then44, %if.then39 + %38 = load i32, i32* %k, align 4 + %inc46 = add nsw i32 %38, 1 + store i32 %inc46, i32* %k, align 4 + %39 = load i8**, i8*** %argv, align 8 + %40 = load i32, i32* %k, align 4 + %inc47 = add nsw i32 %40, 1 + store i32 %inc47, i32* %k, align 4 + %idxprom48 = sext i32 %40 to i64 + %arrayidx49 = getelementptr inbounds i8*, i8** %39, i64 %idxprom48 + %41 = load i8*, i8** %arrayidx49, align 8 + %42 = load i8*, i8** %msg40, align 8 + %call50 = call i64 @__str_to_int(i8* %41, i8* %42) + %conv51 = trunc i64 %call50 to i32 + store i32 %conv51, i32* %min_argvs, align 4 + %43 = load i8**, i8*** %argv, align 8 + %44 = load i32, i32* %k, align 4 + %inc52 = add nsw i32 %44, 1 + store i32 %inc52, i32* %k, align 4 + %idxprom53 = sext i32 %44 to i64 + %arrayidx54 = getelementptr inbounds i8*, i8** %43, i64 %idxprom53 + %45 = load i8*, i8** %arrayidx54, align 8 + %46 = load i8*, i8** %msg40, align 8 + %call55 = call i64 @__str_to_int(i8* %45, i8* %46) + %conv56 = trunc i64 %call55 to i32 + store i32 %conv56, i32* %max_argvs, align 4 + %47 = load i8**, i8*** %argv, align 8 + %48 = load i32, i32* %k, align 4 + %inc57 = add nsw i32 %48, 1 + store i32 %inc57, i32* %k, align 4 + %idxprom58 = sext i32 %48 to i64 + %arrayidx59 = getelementptr inbounds i8*, i8** %47, i64 %idxprom58 + %49 = load i8*, i8** %arrayidx59, align 8 + %50 = load i8*, i8** %msg40, align 8 + %call60 = call i64 @__str_to_int(i8* %49, i8* %50) + %conv61 = trunc i64 %call60 to i32 + store i32 %conv61, i32* %max_len, align 4 + %51 = load i32, i32* %min_argvs, align 4 + %52 = load i32, i32* %max_argvs, align 4 + %cmp62 = icmp ugt i32 %51, %52 + br i1 %cmp62, label %if.then70, label %lor.lhs.false64 + +lor.lhs.false64: ; preds = %if.end45 + %53 = load i32, i32* %min_argvs, align 4 + %cmp65 = icmp eq i32 %53, 0 + %54 = load i32, i32* %max_argvs, align 4 + %cmp68 = icmp eq i32 %54, 0 + %or.cond = and i1 %cmp65, %cmp68 + br i1 %or.cond, label %if.then70, label %if.end71 + +if.then70: ; preds = %lor.lhs.false64, %if.end45 + call void @__emit_error(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.9.38, i64 0, i64 0)) + br label %if.end71 + +if.end71: ; preds = %if.then70, %lor.lhs.false64 + %55 = load i32, i32* %min_argvs, align 4 + %56 = load i32, i32* %max_argvs, align 4 + %add72 = add i32 %56, 1 + %call73 = call i32 @gs_range(i32 %55, i32 %add72, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.10.39, i64 0, i64 0)) + store i32 %call73, i32* %n_args, align 4 + %57 = load i32, i32* %sym_arg_num, align 4 + %58 = load i32, i32* %max_argvs, align 4 + %add74 = add i32 %57, %58 + %cmp75 = icmp ugt i32 %add74, 99 + br i1 %cmp75, label %if.then77, label %if.end78 + +if.then77: ; preds = %if.end71 + call void @__emit_error(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.5.34, i64 0, i64 0)) + br label %if.end78 + +if.end78: ; preds = %if.then77, %if.end71 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end78 + %59 = load i32, i32* %i, align 4 + %60 = load i32, i32* %n_args, align 4 + %cmp79 = icmp slt i32 %59, %60 + br i1 %cmp79, label %for.body, label %if.end239 + +for.body: ; preds = %for.cond + %61 = load i32, i32* %sym_arg_num, align 4 + %div81 = udiv i32 %61, 10 + %add82 = add i32 48, %div81 + %conv83 = trunc i32 %add82 to i8 + %arrayidx84 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 3 + store i8 %conv83, i8* %arrayidx84, align 1 + %62 = load i32, i32* %sym_arg_num, align 4 + %rem85 = urem i32 %62, 10 + %add86 = add i32 48, %rem85 + %conv87 = trunc i32 %add86 to i8 + %arrayidx88 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 4 + store i8 %conv87, i8* %arrayidx88, align 1 + %63 = load i32, i32* %sym_arg_num, align 4 + %inc89 = add i32 %63, 1 + store i32 %inc89, i32* %sym_arg_num, align 4 + %arraydecay90 = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %64 = load i32, i32* %max_len, align 4 + %arraydecay91 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 0 + %call92 = call i8* @__get_sym_str(i32 %64, i8* %arraydecay91) + call void @__add_arg(i32* %new_argc, i8** %arraydecay90, i8* %call92, i32 1024) + %65 = load i32, i32* %i, align 4 + %inc93 = add nsw i32 %65, 1 + store i32 %inc93, i32* %i, align 4 + br label %for.cond + +if.else94: ; preds = %lor.lhs.false34 + %66 = load i8**, i8*** %argv, align 8 + %67 = load i32, i32* %k, align 4 + %idxprom95 = sext i32 %67 to i64 + %arrayidx96 = getelementptr inbounds i8*, i8** %66, i64 %idxprom95 + %68 = load i8*, i8** %arrayidx96, align 8 + %call97 = call i32 @__streq(i8* %68, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.11.40, i64 0, i64 0)) + %tobool98 = icmp ne i32 %call97, 0 + br i1 %tobool98, label %if.then104, label %lor.lhs.false99 + +lor.lhs.false99: ; preds = %if.else94 + %69 = load i8**, i8*** %argv, align 8 + %70 = load i32, i32* %k, align 4 + %idxprom100 = sext i32 %70 to i64 + %arrayidx101 = getelementptr inbounds i8*, i8** %69, i64 %idxprom100 + %71 = load i8*, i8** %arrayidx101, align 8 + %call102 = call i32 @__streq(i8* %71, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.12.41, i64 0, i64 0)) + %tobool103 = icmp ne i32 %call102, 0 + br i1 %tobool103, label %if.then104, label %if.else134 + +if.then104: ; preds = %lor.lhs.false99, %if.else94 + store i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.13.42, i64 0, i64 0), i8** %msg105, align 8 + %72 = load i32, i32* %k, align 4 + %add106 = add nsw i32 %72, 2 + %73 = load i32, i32* %argc, align 4 + %cmp107 = icmp sge i32 %add106, %73 + br i1 %cmp107, label %if.then109, label %if.end110 + +if.then109: ; preds = %if.then104 + %74 = load i8*, i8** %msg105, align 8 + call void @__emit_error(i8* %74) + br label %if.end110 + +if.end110: ; preds = %if.then109, %if.then104 + %75 = load i32, i32* %sym_files, align 4 + %cmp111 = icmp ne i32 %75, 0 + br i1 %cmp111, label %if.then113, label %if.end114 + +if.then113: ; preds = %if.end110 + call void @__emit_error(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.14.43, i64 0, i64 0)) + br label %if.end114 + +if.end114: ; preds = %if.then113, %if.end110 + %76 = load i32, i32* %k, align 4 + %inc115 = add nsw i32 %76, 1 + store i32 %inc115, i32* %k, align 4 + %77 = load i8**, i8*** %argv, align 8 + %78 = load i32, i32* %k, align 4 + %inc116 = add nsw i32 %78, 1 + store i32 %inc116, i32* %k, align 4 + %idxprom117 = sext i32 %78 to i64 + %arrayidx118 = getelementptr inbounds i8*, i8** %77, i64 %idxprom117 + %79 = load i8*, i8** %arrayidx118, align 8 + %80 = load i8*, i8** %msg105, align 8 + %call119 = call i64 @__str_to_int(i8* %79, i8* %80) + %conv120 = trunc i64 %call119 to i32 + store i32 %conv120, i32* %sym_files, align 4 + %81 = load i8**, i8*** %argv, align 8 + %82 = load i32, i32* %k, align 4 + %inc121 = add nsw i32 %82, 1 + store i32 %inc121, i32* %k, align 4 + %idxprom122 = sext i32 %82 to i64 + %arrayidx123 = getelementptr inbounds i8*, i8** %81, i64 %idxprom122 + %83 = load i8*, i8** %arrayidx123, align 8 + %84 = load i8*, i8** %msg105, align 8 + %call124 = call i64 @__str_to_int(i8* %83, i8* %84) + %conv125 = trunc i64 %call124 to i32 + store i32 %conv125, i32* %sym_file_len, align 4 + %85 = load i32, i32* %sym_files, align 4 + %cmp126 = icmp eq i32 %85, 0 + br i1 %cmp126, label %if.then128, label %if.end129 + +if.then128: ; preds = %if.end114 + call void @__emit_error(i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.15.44, i64 0, i64 0)) + br label %if.end129 + +if.end129: ; preds = %if.then128, %if.end114 + %86 = load i32, i32* %sym_file_len, align 4 + %cmp130 = icmp eq i32 %86, 0 + br i1 %cmp130, label %if.then132, label %if.end239 + +if.then132: ; preds = %if.end129 + call void @__emit_error(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.16.45, i64 0, i64 0)) + br label %if.end239 + +if.else134: ; preds = %lor.lhs.false99 + %87 = load i8**, i8*** %argv, align 8 + %88 = load i32, i32* %k, align 4 + %idxprom135 = sext i32 %88 to i64 + %arrayidx136 = getelementptr inbounds i8*, i8** %87, i64 %idxprom135 + %89 = load i8*, i8** %arrayidx136, align 8 + %call137 = call i32 @__streq(i8* %89, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.17.46, i64 0, i64 0)) + %tobool138 = icmp ne i32 %call137, 0 + br i1 %tobool138, label %if.then144, label %lor.lhs.false139 + +lor.lhs.false139: ; preds = %if.else134 + %90 = load i8**, i8*** %argv, align 8 + %91 = load i32, i32* %k, align 4 + %idxprom140 = sext i32 %91 to i64 + %arrayidx141 = getelementptr inbounds i8*, i8** %90, i64 %idxprom140 + %92 = load i8*, i8** %arrayidx141, align 8 + %call142 = call i32 @__streq(i8* %92, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.18.47, i64 0, i64 0)) + %tobool143 = icmp ne i32 %call142, 0 + br i1 %tobool143, label %if.then144, label %if.else156 + +if.then144: ; preds = %lor.lhs.false139, %if.else134 + store i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.19.48, i64 0, i64 0), i8** %msg145, align 8 + %93 = load i32, i32* %k, align 4 + %inc146 = add nsw i32 %93, 1 + store i32 %inc146, i32* %k, align 4 + %94 = load i32, i32* %argc, align 4 + %cmp147 = icmp eq i32 %inc146, %94 + br i1 %cmp147, label %if.then149, label %if.end150 + +if.then149: ; preds = %if.then144 + %95 = load i8*, i8** %msg145, align 8 + call void @__emit_error(i8* %95) + br label %if.end150 + +if.end150: ; preds = %if.then149, %if.then144 + %96 = load i8**, i8*** %argv, align 8 + %97 = load i32, i32* %k, align 4 + %inc151 = add nsw i32 %97, 1 + store i32 %inc151, i32* %k, align 4 + %idxprom152 = sext i32 %97 to i64 + %arrayidx153 = getelementptr inbounds i8*, i8** %96, i64 %idxprom152 + %98 = load i8*, i8** %arrayidx153, align 8 + %99 = load i8*, i8** %msg145, align 8 + %call154 = call i64 @__str_to_int(i8* %98, i8* %99) + %conv155 = trunc i64 %call154 to i32 + store i32 %conv155, i32* %sym_stdin_len, align 4 + br label %if.end239 + +if.else156: ; preds = %lor.lhs.false139 + %100 = load i8**, i8*** %argv, align 8 + %101 = load i32, i32* %k, align 4 + %idxprom157 = sext i32 %101 to i64 + %arrayidx158 = getelementptr inbounds i8*, i8** %100, i64 %idxprom157 + %102 = load i8*, i8** %arrayidx158, align 8 + %call159 = call i32 @__streq(i8* %102, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.20.49, i64 0, i64 0)) + %tobool160 = icmp ne i32 %call159, 0 + br i1 %tobool160, label %if.then166, label %lor.lhs.false161 + +lor.lhs.false161: ; preds = %if.else156 + %103 = load i8**, i8*** %argv, align 8 + %104 = load i32, i32* %k, align 4 + %idxprom162 = sext i32 %104 to i64 + %arrayidx163 = getelementptr inbounds i8*, i8** %103, i64 %idxprom162 + %105 = load i8*, i8** %arrayidx163, align 8 + %call164 = call i32 @__streq(i8* %105, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.21.50, i64 0, i64 0)) + %tobool165 = icmp ne i32 %call164, 0 + br i1 %tobool165, label %if.then166, label %if.else168 + +if.then166: ; preds = %lor.lhs.false161, %if.else156 + store i32 1, i32* %sym_stdout_flag, align 4 + %106 = load i32, i32* %k, align 4 + %inc167 = add nsw i32 %106, 1 + store i32 %inc167, i32* %k, align 4 + br label %if.end239 + +if.else168: ; preds = %lor.lhs.false161 + %107 = load i8**, i8*** %argv, align 8 + %108 = load i32, i32* %k, align 4 + %idxprom169 = sext i32 %108 to i64 + %arrayidx170 = getelementptr inbounds i8*, i8** %107, i64 %idxprom169 + %109 = load i8*, i8** %arrayidx170, align 8 + %call171 = call i32 @__streq(i8* %109, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.22.51, i64 0, i64 0)) + %tobool172 = icmp ne i32 %call171, 0 + br i1 %tobool172, label %if.then178, label %lor.lhs.false173 + +lor.lhs.false173: ; preds = %if.else168 + %110 = load i8**, i8*** %argv, align 8 + %111 = load i32, i32* %k, align 4 + %idxprom174 = sext i32 %111 to i64 + %arrayidx175 = getelementptr inbounds i8*, i8** %110, i64 %idxprom174 + %112 = load i8*, i8** %arrayidx175, align 8 + %call176 = call i32 @__streq(i8* %112, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23.52, i64 0, i64 0)) + %tobool177 = icmp ne i32 %call176, 0 + br i1 %tobool177, label %if.then178, label %if.else180 + +if.then178: ; preds = %lor.lhs.false173, %if.else168 + store i32 1, i32* %save_all_writes_flag, align 4 + %113 = load i32, i32* %k, align 4 + %inc179 = add nsw i32 %113, 1 + store i32 %inc179, i32* %k, align 4 + br label %if.end239 + +if.else180: ; preds = %lor.lhs.false173 + %114 = load i8**, i8*** %argv, align 8 + %115 = load i32, i32* %k, align 4 + %idxprom181 = sext i32 %115 to i64 + %arrayidx182 = getelementptr inbounds i8*, i8** %114, i64 %idxprom181 + %116 = load i8*, i8** %arrayidx182, align 8 + %call183 = call i32 @__streq(i8* %116, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.24.53, i64 0, i64 0)) + %tobool184 = icmp ne i32 %call183, 0 + br i1 %tobool184, label %if.then190, label %lor.lhs.false185 + +lor.lhs.false185: ; preds = %if.else180 + %117 = load i8**, i8*** %argv, align 8 + %118 = load i32, i32* %k, align 4 + %idxprom186 = sext i32 %118 to i64 + %arrayidx187 = getelementptr inbounds i8*, i8** %117, i64 %idxprom186 + %119 = load i8*, i8** %arrayidx187, align 8 + %call188 = call i32 @__streq(i8* %119, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.25.54, i64 0, i64 0)) + %tobool189 = icmp ne i32 %call188, 0 + br i1 %tobool189, label %if.then190, label %if.else192 + +if.then190: ; preds = %lor.lhs.false185, %if.else180 + store i32 1, i32* %fd_fail, align 4 + %120 = load i32, i32* %k, align 4 + %inc191 = add nsw i32 %120, 1 + store i32 %inc191, i32* %k, align 4 + br label %if.end239 + +if.else192: ; preds = %lor.lhs.false185 + %121 = load i8**, i8*** %argv, align 8 + %122 = load i32, i32* %k, align 4 + %idxprom193 = sext i32 %122 to i64 + %arrayidx194 = getelementptr inbounds i8*, i8** %121, i64 %idxprom193 + %123 = load i8*, i8** %arrayidx194, align 8 + %call195 = call i32 @__streq(i8* %123, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.26.55, i64 0, i64 0)) + %tobool196 = icmp ne i32 %call195, 0 + br i1 %tobool196, label %if.then202, label %lor.lhs.false197 + +lor.lhs.false197: ; preds = %if.else192 + %124 = load i8**, i8*** %argv, align 8 + %125 = load i32, i32* %k, align 4 + %idxprom198 = sext i32 %125 to i64 + %arrayidx199 = getelementptr inbounds i8*, i8** %124, i64 %idxprom198 + %126 = load i8*, i8** %arrayidx199, align 8 + %call200 = call i32 @__streq(i8* %126, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.27.56, i64 0, i64 0)) + %tobool201 = icmp ne i32 %call200, 0 + br i1 %tobool201, label %if.then202, label %if.else204 + +if.then202: ; preds = %lor.lhs.false197, %if.else192 + %127 = load i32, i32* %k, align 4 + %add203 = add nsw i32 %127, 2 + store i32 %add203, i32* %k, align 4 + br label %if.end239 + +if.else204: ; preds = %lor.lhs.false197 + %128 = load i8**, i8*** %argv, align 8 + %129 = load i32, i32* %k, align 4 + %idxprom205 = sext i32 %129 to i64 + %arrayidx206 = getelementptr inbounds i8*, i8** %128, i64 %idxprom205 + %130 = load i8*, i8** %arrayidx206, align 8 + %call207 = call i32 @__streq(i8* %130, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.28.57, i64 0, i64 0)) + %tobool208 = icmp ne i32 %call207, 0 + br i1 %tobool208, label %if.then214, label %lor.lhs.false209 + +lor.lhs.false209: ; preds = %if.else204 + %131 = load i8**, i8*** %argv, align 8 + %132 = load i32, i32* %k, align 4 + %idxprom210 = sext i32 %132 to i64 + %arrayidx211 = getelementptr inbounds i8*, i8** %131, i64 %idxprom210 + %133 = load i8*, i8** %arrayidx211, align 8 + %call212 = call i32 @__streq(i8* %133, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.29.58, i64 0, i64 0)) + %tobool213 = icmp ne i32 %call212, 0 + br i1 %tobool213, label %if.then214, label %if.else226 + +if.then214: ; preds = %lor.lhs.false209, %if.else204 + store i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.30, i64 0, i64 0), i8** %msg215, align 8 + %134 = load i32, i32* %k, align 4 + %inc216 = add nsw i32 %134, 1 + store i32 %inc216, i32* %k, align 4 + %135 = load i32, i32* %argc, align 4 + %cmp217 = icmp eq i32 %inc216, %135 + br i1 %cmp217, label %if.then219, label %if.end220 + +if.then219: ; preds = %if.then214 + %136 = load i8*, i8** %msg215, align 8 + call void @__emit_error(i8* %136) + br label %if.end220 + +if.end220: ; preds = %if.then219, %if.then214 + %137 = load i8**, i8*** %argv, align 8 + %138 = load i32, i32* %k, align 4 + %inc221 = add nsw i32 %138, 1 + store i32 %inc221, i32* %k, align 4 + %idxprom222 = sext i32 %138 to i64 + %arrayidx223 = getelementptr inbounds i8*, i8** %137, i64 %idxprom222 + %139 = load i8*, i8** %arrayidx223, align 8 + %140 = load i8*, i8** %msg215, align 8 + %call224 = call i64 @__str_to_int(i8* %139, i8* %140) + %conv225 = trunc i64 %call224 to i32 + store i32 %conv225, i32* %fd_fail, align 4 + br label %if.end239 + +if.else226: ; preds = %lor.lhs.false209 + %arraydecay227 = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %141 = load i8**, i8*** %argv, align 8 + %142 = load i32, i32* %k, align 4 + %inc228 = add nsw i32 %142, 1 + store i32 %inc228, i32* %k, align 4 + %idxprom229 = sext i32 %142 to i64 + %arrayidx230 = getelementptr inbounds i8*, i8** %141, i64 %idxprom229 + %143 = load i8*, i8** %arrayidx230, align 8 + call void @__add_arg(i32* %new_argc, i8** %arraydecay227, i8* %143, i32 1024) + br label %if.end239 + +if.end239: ; preds = %for.cond, %if.end150, %if.then178, %if.then202, %if.else226, %if.end220, %if.then190, %if.then166, %if.end129, %if.then132, %if.end21 + br label %while.cond + +while.end: ; preds = %while.cond + %144 = load i32, i32* %new_argc, align 4 + %add240 = add nsw i32 %144, 1 + %conv241 = sext i32 %add240 to i64 + %mul = mul i64 %conv241, 8 + %call242 = call noalias i8* @malloc(i64 %mul) #11 + %145 = bitcast i8* %call242 to i8** + store i8** %145, i8*** %final_argv, align 8 + %146 = load i8**, i8*** %final_argv, align 8 + %tobool243 = icmp ne i8** %146, null + br i1 %tobool243, label %if.end245, label %if.then244 + +if.then244: ; preds = %while.end + call void @__emit_error(i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.31, i64 0, i64 0)) + br label %if.end245 + +if.end245: ; preds = %if.then244, %while.end + %147 = load i8**, i8*** %final_argv, align 8 + %148 = bitcast i8** %147 to i8* + %arraydecay246 = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %149 = bitcast i8** %arraydecay246 to i8* + %150 = load i32, i32* %new_argc, align 4 + %conv247 = sext i32 %150 to i64 + %mul248 = mul i64 %conv247, 8 + %151 = call i8* @memcpy(i8* %148, i8* %149, i64 %mul248) + %152 = load i8**, i8*** %final_argv, align 8 + %153 = load i32, i32* %new_argc, align 4 + %idxprom249 = sext i32 %153 to i64 + %arrayidx250 = getelementptr inbounds i8*, i8** %152, i64 %idxprom249 + store i8* null, i8** %arrayidx250, align 8 + %154 = load i32, i32* %new_argc, align 4 + %155 = load i32*, i32** %argcPtr.addr, align 8 + store i32 %154, i32* %155, align 4 + %156 = load i8**, i8*** %final_argv, align 8 + %157 = load i8***, i8**** %argvPtr.addr, align 8 + store i8** %156, i8*** %157, align 8 + %158 = load i32, i32* %sym_files, align 4 + %159 = load i32, i32* %sym_file_len, align 4 + %160 = load i32, i32* %sym_stdin_len, align 4 + %161 = load i32, i32* %sym_stdout_flag, align 4 + %162 = load i32, i32* %save_all_writes_flag, align 4 + %163 = load i32, i32* %fd_fail, align 4 + call void @klee_init_fds(i32 %158, i32 %159, i32 %160, i32 %161, i32 %162, i32 %163) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__streq(i8* %a, i8* %b) #3 { +entry: + %retval = alloca i32, align 4 + %a.addr = alloca i8*, align 8 + %b.addr = alloca i8*, align 8 + store i8* %a, i8** %a.addr, align 8 + store i8* %b, i8** %b.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %0 = load i8*, i8** %a.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %2 = load i8*, i8** %b.addr, align 8 + %3 = load i8, i8* %2, align 1 + %conv1 = sext i8 %3 to i32 + %cmp = icmp eq i32 %conv, %conv1 + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i8*, i8** %a.addr, align 8 + %5 = load i8, i8* %4, align 1 + %tobool = icmp ne i8 %5, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %while.body + store i32 1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %while.body + %6 = load i8*, i8** %a.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %a.addr, align 8 + %7 = load i8*, i8** %b.addr, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %7, i32 1 + store i8* %incdec.ptr3, i8** %b.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %while.end, %if.then + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__emit_error(i8* %msg) #3 { +entry: + %msg.addr = alloca i8*, align 8 + store i8* %msg, i8** %msg.addr, align 8 + %0 = load i8*, i8** %msg.addr, align 8 + call void @gs_report_error.59(i8* getelementptr inbounds ([88 x i8], [88 x i8]* @.str.32, i64 0, i64 0), i32 21, i8* %0, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.33, i64 0, i64 0)) #25 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @__str_to_int(i8* %s, i8* %error_msg) #3 { +entry: + %s.addr = alloca i8*, align 8 + %error_msg.addr = alloca i8*, align 8 + %res = alloca i64, align 8 + %c = alloca i8, align 1 + store i8* %s, i8** %s.addr, align 8 + store i8* %error_msg, i8** %error_msg.addr, align 8 + store i64 0, i64* %res, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i8, i8* %0, align 1 + %tobool = icmp ne i8 %1, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %2 = load i8*, i8** %error_msg.addr, align 8 + call void @__emit_error(i8* %2) + br label %if.end + +if.end: ; preds = %if.then, %entry + br label %while.cond + +while.cond: ; preds = %if.end9, %if.end + %3 = load i8*, i8** %s.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %s.addr, align 8 + %4 = load i8, i8* %3, align 1 + store i8 %4, i8* %c, align 1 + %tobool1 = icmp ne i8 %4, 0 + br i1 %tobool1, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %5 = load i8, i8* %c, align 1 + %conv = sext i8 %5 to i32 + %cmp = icmp sge i32 %conv, 48 + br i1 %cmp, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %while.body + %6 = load i8, i8* %c, align 1 + %conv3 = sext i8 %6 to i32 + %cmp4 = icmp sle i32 %conv3, 57 + br i1 %cmp4, label %if.then6, label %if.else + +if.then6: ; preds = %land.lhs.true + %7 = load i64, i64* %res, align 8 + %mul = mul nsw i64 %7, 10 + %8 = load i8, i8* %c, align 1 + %conv7 = sext i8 %8 to i32 + %sub = sub nsw i32 %conv7, 48 + %conv8 = sext i32 %sub to i64 + %add = add nsw i64 %mul, %conv8 + store i64 %add, i64* %res, align 8 + br label %if.end9 + +if.else: ; preds = %land.lhs.true, %while.body + %9 = load i8*, i8** %error_msg.addr, align 8 + call void @__emit_error(i8* %9) + br label %if.end9 + +if.end9: ; preds = %if.else, %if.then6 + br label %while.cond + +while.end: ; preds = %while.cond + %10 = load i64, i64* %res, align 8 + ret i64 %10 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @__get_sym_str(i32 %numChars, i8* %name) #3 { +entry: + %numChars.addr = alloca i32, align 4 + %name.addr = alloca i8*, align 8 + %i = alloca i32, align 4 + %s = alloca i8*, align 8 + store i32 %numChars, i32* %numChars.addr, align 4 + store i8* %name, i8** %name.addr, align 8 + %0 = load i32, i32* %numChars.addr, align 4 + %add = add nsw i32 %0, 1 + %conv = sext i32 %add to i64 + %call = call noalias i8* @malloc(i64 %conv) #11 + store i8* %call, i8** %s, align 8 + %1 = load i8*, i8** %s, align 8 + %tobool = icmp ne i8* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @__emit_error(i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.31, i64 0, i64 0)) + br label %if.end + +if.end: ; preds = %if.then, %entry + %2 = load i8*, i8** %s, align 8 + %3 = load i32, i32* %numChars.addr, align 4 + %add1 = add nsw i32 %3, 1 + %conv2 = sext i32 %add1 to i64 + %4 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %2, i64 %conv2, i8* %4) + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %5 = load i32, i32* %i, align 4 + %6 = load i32, i32* %numChars.addr, align 4 + %cmp = icmp slt i32 %5, %6 + %7 = load i8*, i8** %s, align 8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %8 = load i8*, i8** %s, align 8 + %9 = load i32, i32* %i, align 4 + %idxprom = sext i32 %9 to i64 + %arrayidx = getelementptr inbounds i8, i8* %8, i64 %idxprom + %10 = load i8, i8* %arrayidx, align 1 + %call4 = call i32 @__isprint(i8 signext %10) + %tobool5 = icmp ne i32 %call4, 0 + call void @gs_posix_prefer_cex(i8* %7, i1 zeroext %tobool5) + %11 = load i32, i32* %i, align 4 + %inc = add nsw i32 %11, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %12 = load i32, i32* %numChars.addr, align 4 + %idxprom6 = sext i32 %12 to i64 + %arrayidx7 = getelementptr inbounds i8, i8* %7, i64 %idxprom6 + store i8 0, i8* %arrayidx7, align 1 + %13 = load i8*, i8** %s, align 8 + ret i8* %13 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__add_arg(i32* %argc, i8** %argv, i8* %arg, i32 %argcMax) #3 { +entry: + %argc.addr = alloca i32*, align 8 + %argv.addr = alloca i8**, align 8 + %arg.addr = alloca i8*, align 8 + %argcMax.addr = alloca i32, align 4 + store i32* %argc, i32** %argc.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i32 %argcMax, i32* %argcMax.addr, align 4 + %0 = load i32*, i32** %argc.addr, align 8 + %1 = load i32, i32* %0, align 4 + %2 = load i32, i32* %argcMax.addr, align 4 + %cmp = icmp eq i32 %1, %2 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + call void @__emit_error(i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.35, i64 0, i64 0)) + br label %if.end + +if.else: ; preds = %entry + %3 = load i8*, i8** %arg.addr, align 8 + %4 = load i8**, i8*** %argv.addr, align 8 + %5 = load i32*, i32** %argc.addr, align 8 + %6 = load i32, i32* %5, align 4 + %idxprom = sext i32 %6 to i64 + %arrayidx = getelementptr inbounds i8*, i8** %4, i64 %idxprom + store i8* %3, i8** %arrayidx, align 8 + %7 = load i32*, i32** %argc.addr, align 8 + %8 = load i32, i32* %7, align 4 + %inc = add nsw i32 %8, 1 + store i32 %inc, i32* %7, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @gs_range(i32 %begin, i32 %end, i8* %name) #3 { +entry: + %begin.addr = alloca i32, align 4 + %end.addr = alloca i32, align 4 + %name.addr = alloca i8*, align 8 + %x = alloca i32, align 4 + store i32 %begin, i32* %begin.addr, align 4 + store i32 %end, i32* %end.addr, align 4 + store i8* %name, i8** %name.addr, align 8 + %0 = bitcast i32* %x to i8* + %1 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %0, i64 4, i8* %1) + %2 = load i32, i32* %x, align 4 + %3 = load i32, i32* %begin.addr, align 4 + %cmp = icmp sge i32 %2, %3 + call void @gs_assume(i1 zeroext %cmp) + %4 = load i32, i32* %x, align 4 + %5 = load i32, i32* %end.addr, align 4 + %cmp1 = icmp slt i32 %4, %5 + call void @gs_assume(i1 zeroext %cmp1) + %6 = load i32, i32* %x, align 4 + ret i32 %6 +} + +declare dso_local void @make_symbolic(i8*, i64, ...) #5 + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__isprint(i8 signext %c) #3 { +entry: + %c.addr = alloca i8, align 1 + store i8 %c, i8* %c.addr, align 1 + %0 = load i8, i8* %c.addr, align 1 + %conv = sext i8 %0 to i32 + %cmp = icmp sle i32 32, %conv + %conv1 = zext i1 %cmp to i32 + %1 = load i8, i8* %c.addr, align 1 + %conv2 = sext i8 %1 to i32 + %cmp3 = icmp sle i32 %conv2, 126 + %conv4 = zext i1 %cmp3 to i32 + %and = and i32 %conv1, %conv4 + ret i32 %and +} + +declare dso_local void @gs_posix_prefer_cex(i8*, i1 zeroext) #5 + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error.59(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.34, i64 0, i64 0)) + call void @stop(i32 -1) #25 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__user_main(i32 %argcPtr, i8** %argvPtr, i8** %envp) #3 { +entry: + %argcPtr.addr = alloca i32, align 4 + %argvPtr.addr = alloca i8**, align 8 + %envp.addr = alloca i8**, align 8 + store i32 %argcPtr, i32* %argcPtr.addr, align 4 + store i8** %argvPtr, i8*** %argvPtr.addr, align 8 + store i8** %envp, i8*** %envp.addr, align 8 + call void @klee_init_env(i32* %argcPtr.addr, i8*** %argvPtr.addr) + %0 = load i32, i32* %argcPtr.addr, align 4 + %1 = load i8**, i8*** %argvPtr.addr, align 8 + %2 = load i8**, i8*** %envp.addr, align 8 + %call = call i32 bitcast (i32 (i32, i8**)* @__klee_posix_wrapped_main to i32 (i32, i8**, i8**)*)(i32 %0, i8** %1, i8** %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind readnone uwtable +declare i32* @__errno_location() #12 + +; Function Attrs: noinline nounwind readnone uwtable +define weak i32* @__h_errno_location() #12 { +entry: + ret i32* @h_errno +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @___path_search(i8* %tmpl, i64 %tmpl_len, i8* %dir, i8* %pfx) #0 { +entry: + %retval = alloca i32, align 4 + %tmpl.addr = alloca i8*, align 8 + %tmpl_len.addr = alloca i64, align 8 + %dir.addr = alloca i8*, align 8 + %pfx.addr = alloca i8*, align 8 + %dlen = alloca i64, align 8 + %plen = alloca i64, align 8 + store i8* %tmpl, i8** %tmpl.addr, align 8 + store i64 %tmpl_len, i64* %tmpl_len.addr, align 8 + store i8* %dir, i8** %dir.addr, align 8 + store i8* %pfx, i8** %pfx.addr, align 8 + %0 = load i8*, i8** %pfx.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %lor.lhs.false, label %if.then + +lor.lhs.false: ; preds = %entry + %1 = load i8*, i8** %pfx.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %tobool1 = icmp ne i8 %2, 0 + br i1 %tobool1, label %if.else, label %if.then + +if.then: ; preds = %lor.lhs.false, %entry + store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.68, i64 0, i64 0), i8** %pfx.addr, align 8 + store i64 4, i64* %plen, align 8 + br label %if.end3 + +if.else: ; preds = %lor.lhs.false + %3 = load i8*, i8** %pfx.addr, align 8 + %call = call i64 @strlen(i8* %3) #21 + store i64 %call, i64* %plen, align 8 + %4 = load i64, i64* %plen, align 8 + %cmp = icmp ugt i64 %4, 5 + %spec.store.select = select i1 %cmp, i64 5, i64 %call + store i64 %spec.store.select, i64* %plen, align 8 + br label %if.end3 + +if.end3: ; preds = %if.else, %if.then + %5 = load i8*, i8** %dir.addr, align 8 + %cmp4 = icmp eq i8* %5, null + br i1 %cmp4, label %if.then5, label %if.end18 + +if.then5: ; preds = %if.end3 + %call6 = call i32 @direxists(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0)) #19 + %tobool7 = icmp ne i32 %call6, 0 + br i1 %tobool7, label %if.then8, label %if.else9 + +if.then8: ; preds = %if.then5 + store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0), i8** %dir.addr, align 8 + br label %if.end18 + +if.else9: ; preds = %if.then5 + %call10 = call i32 @strcmp(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0)) #21 + %cmp11 = icmp ne i32 %call10, 0 + br i1 %cmp11, label %land.lhs.true, label %if.else15 + +land.lhs.true: ; preds = %if.else9 + %call12 = call i32 @direxists(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0)) #19 + %tobool13 = icmp ne i32 %call12, 0 + br i1 %tobool13, label %if.then14, label %if.else15 + +if.then14: ; preds = %land.lhs.true + store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0), i8** %dir.addr, align 8 + br label %if.end18 + +if.else15: ; preds = %land.lhs.true, %if.else9 + store i32 2, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %if.then8, %if.then14, %if.end3 + %6 = load i8*, i8** %dir.addr, align 8 + %call19 = call i64 @strlen(i8* %6) #21 + store i64 %call19, i64* %dlen, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end18 + %7 = load i64, i64* %dlen, align 8 + %cmp20 = icmp ugt i64 %7, 1 + br i1 %cmp20, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %8 = load i8*, i8** %dir.addr, align 8 + %9 = load i64, i64* %dlen, align 8 + %sub = sub i64 %9, 1 + %arrayidx21 = getelementptr inbounds i8, i8* %8, i64 %sub + %10 = load i8, i8* %arrayidx21, align 1 + %conv = sext i8 %10 to i32 + %cmp22 = icmp eq i32 %conv, 47 + br i1 %cmp22, label %while.body, label %while.end + +while.body: ; preds = %land.rhs + %11 = load i64, i64* %dlen, align 8 + %dec = add i64 %11, -1 + store i64 %dec, i64* %dlen, align 8 + br label %while.cond + +while.end: ; preds = %while.cond, %land.rhs + %12 = load i64, i64* %tmpl_len.addr, align 8 + %13 = load i64, i64* %dlen, align 8 + %add = add i64 %13, 1 + %14 = load i64, i64* %plen, align 8 + %add24 = add i64 %add, %14 + %add25 = add i64 %add24, 6 + %add26 = add i64 %add25, 1 + %cmp27 = icmp ult i64 %12, %add26 + br i1 %cmp27, label %if.then29, label %if.end30 + +if.then29: ; preds = %while.end + store i32 22, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end30: ; preds = %while.end + %15 = load i8*, i8** %tmpl.addr, align 8 + %16 = load i64, i64* %dlen, align 8 + %17 = load i8*, i8** %dir.addr, align 8 + %18 = load i64, i64* %plen, align 8 + %19 = load i8*, i8** %pfx.addr, align 8 + %call31 = call i32 (i8*, i8*, ...) @sprintf(i8* %15, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.2.70, i64 0, i64 0), i64 %16, i8* %17, i64 %18, i8* %19) #20 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end30, %if.then29, %if.else15 + %20 = load i32, i32* %retval, align 4 + ret i32 %20 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @direxists(i8* %dir) #0 { +entry: + %dir.addr = alloca i8*, align 8 + %buf = alloca %struct.stat.192, align 8 + store i8* %dir, i8** %dir.addr, align 8 + %0 = load i8*, i8** %dir.addr, align 8 + %call = call i32 bitcast (i32 (i8*, %struct.stat64*)* @stat to i32 (i8*, %struct.stat.192*)*)(i8* %0, %struct.stat.192* %buf) #20 + %cmp = icmp eq i32 %call, 0 + %st_mode = getelementptr inbounds %struct.stat.192, %struct.stat.192* %buf, i32 0, i32 3 + %1 = load i32, i32* %st_mode, align 8 + %and = and i32 %1, 61440 + %cmp1 = icmp eq i32 %and, 16384 + %2 = select i1 %cmp, i1 %cmp1, i1 false + %land.ext = zext i1 %2 to i32 + ret i32 %land.ext +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__gen_tempname(i8* %tmpl, i32 %kind) #0 { +entry: + %retval = alloca i32, align 4 + %tmpl.addr = alloca i8*, align 8 + %kind.addr = alloca i32, align 4 + %XXXXXX = alloca i8*, align 8 + %i = alloca i32, align 4 + %fd = alloca i32, align 4 + %save_errno = alloca i32, align 4 + %randomness = alloca [6 x i8], align 1 + %len = alloca i64, align 8 + %j = alloca i32, align 4 + %st = alloca %struct.stat.192, align 8 + store i8* %tmpl, i8** %tmpl.addr, align 8 + store i32 %kind, i32* %kind.addr, align 4 + %0 = load i32, i32* @errno, align 4 + store i32 %0, i32* %save_errno, align 4 + %1 = load i8*, i8** %tmpl.addr, align 8 + %call = call i64 @strlen(i8* %1) #21 + store i64 %call, i64* %len, align 8 + %2 = load i8*, i8** %tmpl.addr, align 8 + %3 = load i64, i64* %len, align 8 + %add.ptr = getelementptr inbounds i8, i8* %2, i64 %3 + %add.ptr1 = getelementptr inbounds i8, i8* %add.ptr, i64 -6 + store i8* %add.ptr1, i8** %XXXXXX, align 8 + %4 = load i64, i64* %len, align 8 + %cmp = icmp ult i64 %4, 6 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %5 = load i8*, i8** %XXXXXX, align 8 + %call2 = call i32 @strcmp(i8* %5, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.3.73, i64 0, i64 0)) #21 + %tobool = icmp ne i32 %call2, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %lor.lhs.false, %entry + store i32 22, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %lor.lhs.false + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc44, %if.end + %6 = load i32, i32* %i, align 4 + %cmp3 = icmp ult i32 %6, 238328 + br i1 %cmp3, label %for.body, label %for.end46 + +for.body: ; preds = %for.cond + %arraydecay = getelementptr inbounds [6 x i8], [6 x i8]* %randomness, i64 0, i64 0 + %call4 = call i32 @fillrand(i8* %arraydecay, i32 6) #19 + %conv = zext i32 %call4 to i64 + %cmp5 = icmp ne i64 %conv, 6 + br i1 %cmp5, label %if.then7, label %if.end9 + +if.then7: ; preds = %for.body + %arraydecay8 = getelementptr inbounds [6 x i8], [6 x i8]* %randomness, i64 0, i64 0 + call void @brain_damaged_fillrand(i8* %arraydecay8, i32 6) #19 + br label %if.end9 + +if.end9: ; preds = %if.then7, %for.body + store i32 0, i32* %j, align 4 + br label %for.cond10 + +for.cond10: ; preds = %for.body14, %if.end9 + %7 = load i32, i32* %j, align 4 + %conv11 = sext i32 %7 to i64 + %cmp12 = icmp ult i64 %conv11, 6 + br i1 %cmp12, label %for.body14, label %for.end + +for.body14: ; preds = %for.cond10 + %8 = load i32, i32* %j, align 4 + %idxprom = sext i32 %8 to i64 + %arrayidx = getelementptr inbounds [6 x i8], [6 x i8]* %randomness, i64 0, i64 %idxprom + %9 = load i8, i8* %arrayidx, align 1 + %conv15 = zext i8 %9 to i32 + %rem = srem i32 %conv15, 62 + %idxprom16 = sext i32 %rem to i64 + %arrayidx17 = getelementptr inbounds [63 x i8], [63 x i8]* @letters, i64 0, i64 %idxprom16 + %10 = load i8, i8* %arrayidx17, align 1 + %11 = load i8*, i8** %XXXXXX, align 8 + %12 = load i32, i32* %j, align 4 + %idxprom18 = sext i32 %12 to i64 + %arrayidx19 = getelementptr inbounds i8, i8* %11, i64 %idxprom18 + store i8 %10, i8* %arrayidx19, align 1 + %13 = load i32, i32* %j, align 4 + %inc = add nsw i32 %13, 1 + store i32 %inc, i32* %j, align 4 + br label %for.cond10 + +for.end: ; preds = %for.cond10 + %14 = load i32, i32* %kind.addr, align 4 + br label %NodeBlock5 + +NodeBlock5: ; preds = %for.end + %case.cmp6 = icmp eq i32 %14, 3 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %14, 0 + br i1 %case.cmp4, label %sw.bb29, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %14, 1 + br i1 %case.cmp2, label %sw.bb31, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %14, 2 + br i1 %case.cmp, label %sw.bb33, label %newDefault + +sw.bb: ; preds = %NodeBlock5 + %15 = load i8*, i8** %tmpl.addr, align 8 + %call20 = call i32 bitcast (i32 (i8*, %struct.stat64*)* @stat to i32 (i8*, %struct.stat.192*)*)(i8* %15, %struct.stat.192* %st) #20 + %cmp21 = icmp slt i32 %call20, 0 + br i1 %cmp21, label %if.then23, label %if.else27 + +if.then23: ; preds = %sw.bb + %16 = load i32, i32* @errno, align 4 + %cmp24 = icmp eq i32 %16, 2 + br i1 %cmp24, label %if.then26, label %if.else + +if.then26: ; preds = %if.then23 + store i32 0, i32* %fd, align 4 + br label %restore_and_ret + +if.else: ; preds = %if.then23 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else27: ; preds = %sw.bb + store i32 0, i32* %fd, align 4 + br label %sw.bb29 + +sw.bb29: ; preds = %NodeBlock3, %if.else27 + %17 = load i8*, i8** %tmpl.addr, align 8 + %call30 = call i32 (i8*, i32, ...) @open(i8* %17, i32 194, i32 384) #19 + store i32 %call30, i32* %fd, align 4 + br label %sw.epilog + +sw.bb31: ; preds = %NodeBlock1 + %18 = load i8*, i8** %tmpl.addr, align 8 + %call32 = call i32 (i8*, i32, ...) @open64(i8* %18, i32 194, i32 384) #19 + store i32 %call32, i32* %fd, align 4 + br label %sw.epilog + +sw.bb33: ; preds = %NodeBlock + %19 = load i8*, i8** %tmpl.addr, align 8 + %call34 = call i32 @mkdir(i8* %19, i32 448) #20 + store i32 %call34, i32* %fd, align 4 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i32 -1, i32* %fd, align 4 + br label %sw.epilog + +sw.epilog: ; preds = %sw.default, %sw.bb33, %sw.bb31, %sw.bb29 + %20 = load i32, i32* %fd, align 4 + %cmp35 = icmp sge i32 %20, 0 + br i1 %cmp35, label %restore_and_ret, label %if.else38 + +restore_and_ret: ; preds = %sw.epilog, %if.then26 + %21 = load i32, i32* %save_errno, align 4 + store i32 %21, i32* @errno, align 4 + %22 = load i32, i32* %fd, align 4 + store i32 %22, i32* %retval, align 4 + br label %return + +if.else38: ; preds = %sw.epilog + %23 = load i32, i32* @errno, align 4 + %cmp39 = icmp ne i32 %23, 17 + br i1 %cmp39, label %if.then41, label %for.inc44 + +if.then41: ; preds = %if.else38 + store i32 -1, i32* %retval, align 4 + br label %return + +for.inc44: ; preds = %if.else38 + %24 = load i32, i32* %i, align 4 + %inc45 = add i32 %24, 1 + store i32 %inc45, i32* %i, align 4 + br label %for.cond + +for.end46: ; preds = %for.cond + store i32 17, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %for.end46, %if.then41, %restore_and_ret, %if.else, %if.then + %25 = load i32, i32* %retval, align 4 + ret i32 %25 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @fillrand(i8* %buf, i32 %len) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %len.addr = alloca i32, align 4 + %fd = alloca i32, align 4 + %result = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i32 %len, i32* %len.addr, align 4 + store i32 -1, i32* %result, align 4 + %call = call i32 (i8*, i32, ...) @open(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.4.74, i64 0, i64 0), i32 0) #19 + store i32 %call, i32* %fd, align 4 + %0 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %0, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call1 = call i32 (i8*, i32, ...) @open(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.5.75, i64 0, i64 0), i32 2048) #19 + store i32 %call1, i32* %fd, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i32, i32* %fd, align 4 + %cmp2 = icmp sge i32 %1, 0 + br i1 %cmp2, label %if.then3, label %if.end7 + +if.then3: ; preds = %if.end + %2 = load i32, i32* %fd, align 4 + %3 = load i8*, i8** %buf.addr, align 8 + %4 = load i32, i32* %len.addr, align 4 + %conv = zext i32 %4 to i64 + %call4 = call i64 @read(i32 %2, i8* %3, i64 %conv) #19 + %conv5 = trunc i64 %call4 to i32 + store i32 %conv5, i32* %result, align 4 + %5 = load i32, i32* %fd, align 4 + %call6 = call i32 @close(i32 %5) #19 + br label %if.end7 + +if.end7: ; preds = %if.then3, %if.end + %6 = load i32, i32* %result, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @brain_damaged_fillrand(i8* %buf, i32 %len) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %len.addr = alloca i32, align 4 + %i = alloca i32, align 4 + %k = alloca i32, align 4 + %tv = alloca %struct.timespec, align 8 + %high = alloca i32, align 4 + %low = alloca i32, align 4 + %rh = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i32 %len, i32* %len.addr, align 4 + %call = call i32 bitcast (i32 (%struct.timespec*, i8*)* @gettimeofday to i32 (%struct.timespec*, %struct.__mbstate_t.512*)*)(%struct.timespec* %tv, %struct.__mbstate_t.512* null) #20 + %tv_usec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 1 + %0 = load i64, i64* %tv_usec, align 8 + %shl = shl i64 %0, 16 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %1 = load i64, i64* %tv_sec, align 8 + %xor = xor i64 %shl, %1 + %call1 = call i32 @getpid() #20 + %conv = sext i32 %call1 to i64 + %xor2 = xor i64 %xor, %conv + %2 = load i64, i64* @brain_damaged_fillrand.value, align 8 + %add = add i64 %2, %xor2 + store i64 %add, i64* @brain_damaged_fillrand.value, align 8 + %3 = load i64, i64* @brain_damaged_fillrand.value, align 8 + %and = and i64 %3, 4294967295 + %conv3 = trunc i64 %and to i32 + store i32 %conv3, i32* %low, align 4 + %4 = load i64, i64* @brain_damaged_fillrand.value, align 8 + %shr = lshr i64 %4, 32 + %conv4 = trunc i64 %shr to i32 + store i32 %conv4, i32* %high, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %5 = load i32, i32* %i, align 4 + %6 = load i32, i32* %len.addr, align 4 + %cmp = icmp ult i32 %5, %6 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %7 = load i32, i32* %high, align 4 + %rem = urem i32 %7, 62 + store i32 %rem, i32* %rh, align 4 + %8 = load i32, i32* %high, align 4 + %div = udiv i32 %8, 62 + store i32 %div, i32* %high, align 4 + %9 = load i32, i32* %low, align 4 + %rem6 = urem i32 %9, 62 + %10 = load i32, i32* %rh, align 4 + %mul = mul i32 4, %10 + %add7 = add i32 %rem6, %mul + store i32 %add7, i32* %k, align 4 + %11 = load i32, i32* %low, align 4 + %div8 = udiv i32 %11, 62 + %12 = load i32, i32* %rh, align 4 + %mul9 = mul i32 69273666, %12 + %add10 = add i32 %div8, %mul9 + %13 = load i32, i32* %k, align 4 + %div11 = udiv i32 %13, 62 + %add12 = add i32 %add10, %div11 + store i32 %add12, i32* %low, align 4 + %14 = load i32, i32* %k, align 4 + %rem13 = urem i32 %14, 62 + store i32 %rem13, i32* %k, align 4 + %15 = load i32, i32* %k, align 4 + %idxprom = zext i32 %15 to i64 + %arrayidx = getelementptr inbounds [63 x i8], [63 x i8]* @letters, i64 0, i64 %idxprom + %16 = load i8, i8* %arrayidx, align 1 + %17 = load i8*, i8** %buf.addr, align 8 + %18 = load i32, i32* %i, align 4 + %idxprom14 = zext i32 %18 to i64 + %arrayidx15 = getelementptr inbounds i8, i8* %17, i64 %idxprom14 + store i8 %16, i8* %arrayidx15, align 1 + %19 = load i32, i32* %i, align 4 + %inc = add i32 %19, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + ret void +} + +; Function Attrs: nounwind +declare i32 @getpid() #2 + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_locale_set_l(i8* %p, %struct.__uclibc_locale_struct.201* %base) #0 { +entry: + %retval = alloca i32, align 4 + %p.addr = alloca i8*, align 8 + %base.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %x = alloca i8**, align 8 + %s = alloca i8*, align 8 + %stp = alloca i64*, align 8 + %r = alloca i8*, align 8 + %io = alloca i16*, align 8 + %ii = alloca i16*, align 8 + %d = alloca i8*, align 8 + %row = alloca i32, align 4 + %crow = alloca i32, align 4 + %len = alloca i32, align 4 + %c = alloca i32, align 4 + %i = alloca i32, align 4 + %newcol = alloca %struct.__collate_t.200, align 8 + %c8b = alloca %struct.__codeset_8_bit_t.202*, align 8 + %u = alloca i32, align 4 + %m = alloca i16, align 2 + store i8* %p, i8** %p.addr, align 8 + store %struct.__uclibc_locale_struct.201* %base, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 6 + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 1 + store i8* %add.ptr, i8** %s, align 8 + store i32 0, i32* %i, align 4 + %1 = load i8*, i8** %p.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %1, i32 1 + store i8* %incdec.ptr, i8** %p.addr, align 8 + %index2weight = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %newcol, i32 0, i32 23 + store i16* null, i16** %index2weight, align 8 + %2 = load i8*, i8** %p.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %2, i64 8 + %3 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %3 to i32 + %4 = load i8*, i8** %s, align 8 + %arrayidx1 = getelementptr inbounds i8, i8* %4, i64 8 + %5 = load i8, i8* %arrayidx1, align 1 + %conv2 = zext i8 %5 to i32 + %cmp = icmp ne i32 %conv, %conv2 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %6 = load i8*, i8** %p.addr, align 8 + %arrayidx4 = getelementptr inbounds i8, i8* %6, i64 9 + %7 = load i8, i8* %arrayidx4, align 1 + %conv5 = zext i8 %7 to i32 + %8 = load i8*, i8** %s, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %8, i64 9 + %9 = load i8, i8* %arrayidx6, align 1 + %conv7 = zext i8 %9 to i32 + %cmp8 = icmp ne i32 %conv5, %conv7 + br i1 %cmp8, label %if.then, label %if.end22 + +if.then: ; preds = %lor.lhs.false, %entry + %10 = load i8*, i8** %p.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv10 = zext i8 %11 to i32 + %and = and i32 %conv10, 127 + %shl = shl i32 %and, 7 + %12 = load i8*, i8** %p.addr, align 8 + %arrayidx11 = getelementptr inbounds i8, i8* %12, i64 1 + %13 = load i8, i8* %arrayidx11, align 1 + %conv12 = zext i8 %13 to i32 + %and13 = and i32 %conv12, 127 + %add = add nsw i32 %shl, %and13 + store i32 %add, i32* %row, align 4 + %14 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %14, i32 0, i32 31 + %15 = load i32, i32* %row, align 4 + %mul = mul nsw i32 9, %15 + %add14 = add nsw i32 %mul, 3 + %add15 = add nsw i32 %add14, 4 + %idxprom = sext i32 %add15 to i64 + %arrayidx16 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales, i64 0, i64 %idxprom + %16 = load i8, i8* %arrayidx16, align 1 + %conv17 = zext i8 %16 to i32 + %call = call i32 @init_cur_collate(i32 %conv17, %struct.__collate_t.200* %newcol) #19 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end, label %if.then18 + +if.then18: ; preds = %if.then + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %if.then + %17 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %collate = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %17, i32 0, i32 118 + %index2weight19 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate, i32 0, i32 23 + %18 = load i16*, i16** %index2weight19, align 8 + %19 = bitcast i16* %18 to i8* + call void @free(i8* %19) #20 + %20 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %collate20 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %20, i32 0, i32 118 + %21 = bitcast %struct.__collate_t.200* %collate20 to i8* + %22 = bitcast %struct.__collate_t.200* %newcol to i8* + %call21 = call i8* @memcpy(i8* %21, i8* %22, i64 112) #20 + br label %if.end22 + +if.end22: ; preds = %if.end, %lor.lhs.false + br label %do.body + +do.body: ; preds = %if.end313, %if.end22 + %23 = load i8*, i8** %p.addr, align 8 + %24 = load i8, i8* %23, align 1 + %conv23 = zext i8 %24 to i32 + %25 = load i8*, i8** %s, align 8 + %26 = load i8, i8* %25, align 1 + %conv24 = zext i8 %26 to i32 + %cmp25 = icmp ne i32 %conv23, %conv24 + br i1 %cmp25, label %if.then34, label %lor.lhs.false27 + +lor.lhs.false27: ; preds = %do.body + %27 = load i8*, i8** %p.addr, align 8 + %arrayidx28 = getelementptr inbounds i8, i8* %27, i64 1 + %28 = load i8, i8* %arrayidx28, align 1 + %conv29 = zext i8 %28 to i32 + %29 = load i8*, i8** %s, align 8 + %arrayidx30 = getelementptr inbounds i8, i8* %29, i64 1 + %30 = load i8, i8* %arrayidx30, align 1 + %conv31 = zext i8 %30 to i32 + %cmp32 = icmp ne i32 %conv29, %conv31 + br i1 %cmp32, label %if.then34, label %if.end313 + +if.then34: ; preds = %lor.lhs.false27, %do.body + %31 = load i8*, i8** %p.addr, align 8 + %32 = load i8, i8* %31, align 1 + %conv35 = zext i8 %32 to i32 + %and36 = and i32 %conv35, 127 + %shl37 = shl i32 %and36, 7 + %33 = load i8*, i8** %p.addr, align 8 + %arrayidx38 = getelementptr inbounds i8, i8* %33, i64 1 + %34 = load i8, i8* %arrayidx38, align 1 + %conv39 = zext i8 %34 to i32 + %and40 = and i32 %conv39, 127 + %add41 = add nsw i32 %shl37, %and40 + store i32 %add41, i32* %row, align 4 + %35 = load i8*, i8** %p.addr, align 8 + %36 = load i8, i8* %35, align 1 + %37 = load i8*, i8** %s, align 8 + store i8 %36, i8* %37, align 1 + %38 = load i8*, i8** %p.addr, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %38, i64 1 + %39 = load i8, i8* %arrayidx42, align 1 + %40 = load i8*, i8** %s, align 8 + %arrayidx43 = getelementptr inbounds i8, i8* %40, i64 1 + store i8 %39, i8* %arrayidx43, align 1 + %41 = load i32, i32* %i, align 4 + %cmp44 = icmp ne i32 %41, 4 + br i1 %cmp44, label %land.lhs.true, label %if.end92 + +land.lhs.true: ; preds = %if.then34 + %42 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_common_item_offsets_LEN = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %42, i32 0, i32 29 + %43 = load i32, i32* %i, align 4 + %idxprom46 = sext i32 %43 to i64 + %arrayidx47 = getelementptr inbounds [6 x i8], [6 x i8]* %lc_common_item_offsets_LEN, i64 0, i64 %idxprom46 + %44 = load i8, i8* %arrayidx47, align 1 + %conv48 = zext i8 %44 to i32 + store i32 %conv48, i32* %len, align 4 + %cmp49 = icmp ne i32 %conv48, 0 + br i1 %cmp49, label %if.then51, label %if.end92 + +if.then51: ; preds = %land.lhs.true + %45 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales52 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %45, i32 0, i32 31 + %46 = load i32, i32* %row, align 4 + %mul53 = mul nsw i32 9, %46 + %add54 = add nsw i32 %mul53, 3 + %47 = load i32, i32* %i, align 4 + %add55 = add nsw i32 %add54, %47 + %idxprom56 = sext i32 %add55 to i64 + %arrayidx57 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales52, i64 0, i64 %idxprom56 + %48 = load i8, i8* %arrayidx57, align 1 + %conv58 = zext i8 %48 to i32 + %49 = load i32, i32* %len, align 4 + %mul59 = mul nsw i32 %conv58, %49 + store i32 %mul59, i32* %crow, align 4 + %50 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %51 = bitcast %struct.__uclibc_locale_struct.201* %50 to i8* + %52 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %52, i32 0, i32 7 + %53 = load i32, i32* %i, align 4 + %idxprom60 = sext i32 %53 to i64 + %arrayidx61 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets, i64 0, i64 %idxprom60 + %54 = load i16, i16* %arrayidx61, align 2 + %conv62 = zext i16 %54 to i32 + %idx.ext = sext i32 %conv62 to i64 + %add.ptr63 = getelementptr inbounds i8, i8* %51, i64 %idx.ext + %55 = bitcast i8* %add.ptr63 to i8** + store i8** %55, i8*** %x, align 8 + %56 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_common_tbl_offsets = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %56, i32 0, i32 30 + %arraydecay64 = getelementptr inbounds [24 x i64], [24 x i64]* %lc_common_tbl_offsets, i64 0, i64 0 + %57 = load i32, i32* %i, align 4 + %mul65 = mul nsw i32 4, %57 + %idx.ext66 = sext i32 %mul65 to i64 + %add.ptr67 = getelementptr inbounds i64, i64* %arraydecay64, i64 %idx.ext66 + store i64* %add.ptr67, i64** %stp, align 8 + %58 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %59 = bitcast %struct.__locale_mmap_t.203* %58 to i8* + %60 = load i64*, i64** %stp, align 8 + %61 = load i64, i64* %60, align 8 + %add.ptr68 = getelementptr inbounds i8, i8* %59, i64 %61 + store i8* %add.ptr68, i8** %r, align 8 + %62 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %63 = bitcast %struct.__locale_mmap_t.203* %62 to i8* + %64 = load i64*, i64** %stp, align 8 + %incdec.ptr69 = getelementptr inbounds i64, i64* %64, i32 1 + store i64* %incdec.ptr69, i64** %stp, align 8 + %65 = load i64, i64* %incdec.ptr69, align 8 + %add.ptr70 = getelementptr inbounds i8, i8* %63, i64 %65 + %66 = bitcast i8* %add.ptr70 to i16* + store i16* %66, i16** %io, align 8 + %67 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %68 = bitcast %struct.__locale_mmap_t.203* %67 to i8* + %69 = load i64*, i64** %stp, align 8 + %incdec.ptr71 = getelementptr inbounds i64, i64* %69, i32 1 + store i64* %incdec.ptr71, i64** %stp, align 8 + %70 = load i64, i64* %incdec.ptr71, align 8 + %add.ptr72 = getelementptr inbounds i8, i8* %68, i64 %70 + %71 = bitcast i8* %add.ptr72 to i16* + store i16* %71, i16** %ii, align 8 + %72 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %73 = bitcast %struct.__locale_mmap_t.203* %72 to i8* + %74 = load i64*, i64** %stp, align 8 + %incdec.ptr73 = getelementptr inbounds i64, i64* %74, i32 1 + store i64* %incdec.ptr73, i64** %stp, align 8 + %75 = load i64, i64* %incdec.ptr73, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %73, i64 %75 + store i8* %add.ptr74, i8** %d, align 8 + store i32 0, i32* %c, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.then51 + %76 = load i32, i32* %c, align 4 + %77 = load i32, i32* %len, align 4 + %cmp75 = icmp slt i32 %76, %77 + br i1 %cmp75, label %for.body, label %if.end92 + +for.body: ; preds = %for.cond + %78 = load i8*, i8** %d, align 8 + %79 = load i16*, i16** %ii, align 8 + %80 = load i8*, i8** %r, align 8 + %81 = load i32, i32* %crow, align 4 + %82 = load i32, i32* %c, align 4 + %add77 = add nsw i32 %81, %82 + %idxprom78 = sext i32 %add77 to i64 + %arrayidx79 = getelementptr inbounds i8, i8* %80, i64 %idxprom78 + %83 = load i8, i8* %arrayidx79, align 1 + %conv80 = zext i8 %83 to i32 + %84 = load i16*, i16** %io, align 8 + %85 = load i32, i32* %c, align 4 + %idxprom81 = sext i32 %85 to i64 + %arrayidx82 = getelementptr inbounds i16, i16* %84, i64 %idxprom81 + %86 = load i16, i16* %arrayidx82, align 2 + %conv83 = zext i16 %86 to i32 + %add84 = add nsw i32 %conv80, %conv83 + %idxprom85 = sext i32 %add84 to i64 + %arrayidx86 = getelementptr inbounds i16, i16* %79, i64 %idxprom85 + %87 = load i16, i16* %arrayidx86, align 2 + %conv87 = zext i16 %87 to i32 + %idx.ext88 = sext i32 %conv87 to i64 + %add.ptr89 = getelementptr inbounds i8, i8* %78, i64 %idx.ext88 + %88 = load i8**, i8*** %x, align 8 + %89 = load i32, i32* %c, align 4 + %idx.ext90 = sext i32 %89 to i64 + %add.ptr91 = getelementptr inbounds i8*, i8** %88, i64 %idx.ext90 + store i8* %add.ptr89, i8** %add.ptr91, align 8 + %90 = load i32, i32* %c, align 4 + %inc = add nsw i32 %90, 1 + store i32 %inc, i32* %c, align 4 + br label %for.cond + +if.end92: ; preds = %for.cond, %land.lhs.true, %if.then34 + %91 = load i32, i32* %i, align 4 + %cmp93 = icmp eq i32 %91, 0 + br i1 %cmp93, label %if.then95, label %if.else295 + +if.then95: ; preds = %if.end92 + %92 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales96 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %92, i32 0, i32 31 + %93 = load i32, i32* %row, align 4 + %mul97 = mul nsw i32 9, %93 + %add98 = add nsw i32 %mul97, 2 + %idxprom99 = sext i32 %add98 to i64 + %arrayidx100 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales96, i64 0, i64 %idxprom99 + %94 = load i8, i8* %arrayidx100, align 1 + %conv101 = zext i8 %94 to i32 + store i32 %conv101, i32* %c, align 4 + %95 = load i32, i32* %c, align 4 + %cmp102 = icmp sle i32 %95, 2 + br i1 %cmp102, label %if.then104, label %if.else112 + +if.then104: ; preds = %if.then95 + %96 = load i32, i32* %c, align 4 + %cmp105 = icmp eq i32 %96, 2 + %97 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %codeset = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %97, i32 0, i32 38 + br i1 %cmp105, label %if.then107, label %if.else + +if.then107: ; preds = %if.then104 + store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf8, i64 0, i64 0), i8** %codeset, align 8 + %98 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %98, i32 0, i32 9 + store i8 1, i8* %encoding, align 8 + %99 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %mb_cur_max = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %99, i32 0, i32 10 + store i8 6, i8* %mb_cur_max, align 1 + br label %if.end280 + +if.else: ; preds = %if.then104 + store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @ascii, i64 0, i64 0), i8** %codeset, align 8 + %100 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %encoding109 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %100, i32 0, i32 9 + store i8 0, i8* %encoding109, align 8 + %101 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %mb_cur_max110 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %101, i32 0, i32 10 + store i8 1, i8* %mb_cur_max110, align 1 + br label %if.end280 + +if.else112: ; preds = %if.then95 + %102 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %102, i32 0, i32 35 + %arraydecay113 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list, i64 0, i64 0 + store i8* %arraydecay113, i8** %r, align 8 + %103 = load i8*, i8** %r, align 8 + %104 = load i8*, i8** %r, align 8 + %105 = load i32, i32* %c, align 4 + %sub = sub nsw i32 %105, 3 + store i32 %sub, i32* %c, align 4 + %idxprom114 = sext i32 %sub to i64 + %arrayidx115 = getelementptr inbounds i8, i8* %104, i64 %idxprom114 + %106 = load i8, i8* %arrayidx115, align 1 + %conv116 = zext i8 %106 to i32 + %idx.ext117 = sext i32 %conv116 to i64 + %add.ptr118 = getelementptr inbounds i8, i8* %103, i64 %idx.ext117 + %107 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %codeset119 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %107, i32 0, i32 38 + store i8* %add.ptr118, i8** %codeset119, align 8 + %108 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %encoding120 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %108, i32 0, i32 9 + store i8 2, i8* %encoding120, align 8 + %109 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %mb_cur_max121 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %109, i32 0, i32 10 + store i8 1, i8* %mb_cur_max121, align 1 + %110 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_8_bit = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %110, i32 0, i32 12 + %arraydecay122 = getelementptr inbounds [23 x %struct.__codeset_8_bit_t.202], [23 x %struct.__codeset_8_bit_t.202]* %codeset_8_bit, i64 0, i64 0 + %111 = load i32, i32* %c, align 4 + %idx.ext123 = sext i32 %111 to i64 + %add.ptr124 = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %arraydecay122, i64 %idx.ext123 + store %struct.__codeset_8_bit_t.202* %add.ptr124, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %112 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8ctype = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %112, i32 0, i32 0 + %arraydecay125 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8ctype, i64 0, i64 0 + %113 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8ctype126 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %113, i32 0, i32 12 + store i8* %arraydecay125, i8** %idx8ctype126, align 8 + %114 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8uplow = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %114, i32 0, i32 1 + %arraydecay127 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8uplow, i64 0, i64 0 + %115 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8uplow128 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %115, i32 0, i32 14 + store i8* %arraydecay127, i8** %idx8uplow128, align 8 + %116 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8c2wc = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %116, i32 0, i32 2 + %arraydecay129 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8c2wc, i64 0, i64 0 + %117 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8c2wc130 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %117, i32 0, i32 16 + store i8* %arraydecay129, i8** %idx8c2wc130, align 8 + %118 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8wc2c = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %118, i32 0, i32 3 + %arraydecay131 = getelementptr inbounds [38 x i8], [38 x i8]* %idx8wc2c, i64 0, i64 0 + %119 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8wc2c132 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %119, i32 0, i32 18 + store i8* %arraydecay131, i8** %idx8wc2c132, align 8 + %120 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b_data = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %120, i32 0, i32 3 + %arraydecay133 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data, i64 0, i64 0 + %121 = bitcast i16* %arraydecay133 to i8* + %122 = load i16*, i16** @__C_ctype_b, align 8 + %add.ptr134 = getelementptr inbounds i16, i16* %122, i64 -128 + %123 = bitcast i16* %add.ptr134 to i8* + %call135 = call i8* @memcpy(i8* %121, i8* %123, i64 768) #20 + %124 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %124, i32 0, i32 4 + %arraydecay136 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data, i64 0, i64 0 + %125 = bitcast i16* %arraydecay136 to i8* + %126 = load i16*, i16** @__C_ctype_tolower, align 8 + %add.ptr137 = getelementptr inbounds i16, i16* %126, i64 -128 + %127 = bitcast i16* %add.ptr137 to i8* + %call138 = call i8* @memcpy(i8* %125, i8* %127, i64 768) #20 + %128 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %128, i32 0, i32 5 + %arraydecay139 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data, i64 0, i64 0 + %129 = bitcast i16* %arraydecay139 to i8* + %130 = load i16*, i16** @__C_ctype_toupper, align 8 + %add.ptr140 = getelementptr inbounds i16, i16* %130, i64 -128 + %131 = bitcast i16* %add.ptr140 to i8* + %call141 = call i8* @memcpy(i8* %129, i8* %131, i64 768) #20 + store i32 0, i32* %u, align 4 + br label %for.cond142 + +for.cond142: ; preds = %for.inc268, %if.else112 + %132 = load i32, i32* %u, align 4 + %cmp143 = icmp slt i32 %132, 128 + %133 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + br i1 %cmp143, label %for.body145, label %for.end270 + +for.body145: ; preds = %for.cond142 + %tbl8ctype = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %133, i32 0, i32 13 + %134 = load i8*, i8** %tbl8ctype, align 8 + %135 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8ctype146 = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %135, i32 0, i32 0 + %136 = load i32, i32* %u, align 4 + %shr = ashr i32 %136, 3 + %idxprom147 = sext i32 %shr to i64 + %arrayidx148 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8ctype146, i64 0, i64 %idxprom147 + %137 = load i8, i8* %arrayidx148, align 1 + %conv149 = zext i8 %137 to i32 + %shl150 = shl i32 %conv149, 2 + %138 = load i32, i32* %u, align 4 + %and151 = and i32 %138, 7 + %shr152 = ashr i32 %and151, 1 + %add153 = add nsw i32 %shl150, %shr152 + %idxprom154 = sext i32 %add153 to i64 + %arrayidx155 = getelementptr inbounds i8, i8* %134, i64 %idxprom154 + %139 = load i8, i8* %arrayidx155, align 1 + %conv156 = zext i8 %139 to i32 + store i32 %conv156, i32* %c, align 4 + %140 = load i32, i32* %u, align 4 + %and157 = and i32 %140, 1 + %tobool158 = icmp ne i32 %and157, 0 + %141 = load i32, i32* %c, align 4 + %shr159 = ashr i32 %141, 4 + %and160 = and i32 %141, 15 + %cond = select i1 %tobool158, i32 %shr159, i32 %and160 + store i32 %cond, i32* %c, align 4 + %142 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %code2flag = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %142, i32 0, i32 20 + %143 = load i16*, i16** %code2flag, align 8 + %144 = load i32, i32* %c, align 4 + %idxprom161 = sext i32 %144 to i64 + %arrayidx162 = getelementptr inbounds i16, i16* %143, i64 %idxprom161 + %145 = load i16, i16* %arrayidx162, align 2 + store i16 %145, i16* %m, align 2 + %146 = load i16, i16* %m, align 2 + %147 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b_data163 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %147, i32 0, i32 3 + %148 = load i32, i32* %u, align 4 + %add164 = add nsw i32 256, %148 + %idxprom165 = sext i32 %add164 to i64 + %arrayidx166 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data163, i64 0, i64 %idxprom165 + store i16 %146, i16* %arrayidx166, align 2 + %149 = load i32, i32* %u, align 4 + %add167 = add nsw i32 128, %149 + %conv168 = trunc i32 %add167 to i8 + %conv169 = sext i8 %conv168 to i32 + %cmp170 = icmp ne i32 %conv169, -1 + br i1 %cmp170, label %if.then172, label %if.end180 + +if.then172: ; preds = %for.body145 + %150 = load i16, i16* %m, align 2 + %151 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b_data173 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %151, i32 0, i32 3 + %152 = load i32, i32* %u, align 4 + %add174 = add nsw i32 128, %152 + %conv175 = trunc i32 %add174 to i8 + %conv176 = sext i8 %conv175 to i32 + %add177 = add nsw i32 128, %conv176 + %idxprom178 = sext i32 %add177 to i64 + %arrayidx179 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data173, i64 0, i64 %idxprom178 + store i16 %150, i16* %arrayidx179, align 2 + br label %if.end180 + +if.end180: ; preds = %if.then172, %for.body145 + %153 = load i32, i32* %u, align 4 + %add181 = add nsw i32 128, %153 + %conv182 = trunc i32 %add181 to i16 + %154 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data183 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %154, i32 0, i32 4 + %155 = load i32, i32* %u, align 4 + %add184 = add nsw i32 256, %155 + %idxprom185 = sext i32 %add184 to i64 + %arrayidx186 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data183, i64 0, i64 %idxprom185 + store i16 %conv182, i16* %arrayidx186, align 2 + %156 = load i32, i32* %u, align 4 + %add187 = add nsw i32 128, %156 + %conv188 = trunc i32 %add187 to i16 + %157 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data189 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %157, i32 0, i32 5 + %158 = load i32, i32* %u, align 4 + %add190 = add nsw i32 256, %158 + %idxprom191 = sext i32 %add190 to i64 + %arrayidx192 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data189, i64 0, i64 %idxprom191 + store i16 %conv188, i16* %arrayidx192, align 2 + %159 = load i16, i16* %m, align 2 + %conv193 = zext i16 %159 to i32 + %and194 = and i32 %conv193, 768 + %tobool195 = icmp ne i32 %and194, 0 + br i1 %tobool195, label %if.then196, label %for.inc268 + +if.then196: ; preds = %if.end180 + %160 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8uplow = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %160, i32 0, i32 15 + %161 = load i8*, i8** %tbl8uplow, align 8 + %162 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8uplow197 = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %162, i32 0, i32 1 + %163 = load i32, i32* %u, align 4 + %shr198 = ashr i32 %163, 3 + %idxprom199 = sext i32 %shr198 to i64 + %arrayidx200 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8uplow197, i64 0, i64 %idxprom199 + %164 = load i8, i8* %arrayidx200, align 1 + %conv201 = zext i8 %164 to i32 + %shl202 = shl i32 %conv201, 3 + %165 = load i32, i32* %u, align 4 + %add203 = add nsw i32 128, %165 + %and204 = and i32 %add203, 7 + %add205 = add nsw i32 %shl202, %and204 + %idxprom206 = sext i32 %add205 to i64 + %arrayidx207 = getelementptr inbounds i8, i8* %161, i64 %idxprom206 + %166 = load i8, i8* %arrayidx207, align 1 + %conv208 = zext i8 %166 to i32 + store i32 %conv208, i32* %c, align 4 + %167 = load i16, i16* %m, align 2 + %conv209 = zext i16 %167 to i32 + %and210 = and i32 %conv209, 512 + %tobool211 = icmp ne i32 %and210, 0 + %168 = load i32, i32* %u, align 4 + %add213 = add nsw i32 128, %168 + %169 = load i32, i32* %c, align 4 + br i1 %tobool211, label %if.then212, label %if.else239 + +if.then212: ; preds = %if.then196 + %add214 = add nsw i32 %add213, %169 + %conv215 = trunc i32 %add214 to i8 + %conv216 = zext i8 %conv215 to i16 + %170 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data217 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %170, i32 0, i32 5 + %171 = load i32, i32* %u, align 4 + %add218 = add nsw i32 256, %171 + %idxprom219 = sext i32 %add218 to i64 + %arrayidx220 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data217, i64 0, i64 %idxprom219 + store i16 %conv216, i16* %arrayidx220, align 2 + %172 = load i32, i32* %u, align 4 + %add221 = add nsw i32 128, %172 + %conv222 = trunc i32 %add221 to i8 + %conv223 = sext i8 %conv222 to i32 + %cmp224 = icmp ne i32 %conv223, -1 + br i1 %cmp224, label %if.then226, label %for.inc268 + +if.then226: ; preds = %if.then212 + %173 = load i32, i32* %u, align 4 + %add227 = add nsw i32 128, %173 + %174 = load i32, i32* %c, align 4 + %add228 = add nsw i32 %add227, %174 + %conv229 = trunc i32 %add228 to i8 + %conv230 = zext i8 %conv229 to i16 + %175 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data231 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %175, i32 0, i32 5 + %176 = load i32, i32* %u, align 4 + %add232 = add nsw i32 128, %176 + %conv233 = trunc i32 %add232 to i8 + %conv234 = sext i8 %conv233 to i32 + %add235 = add nsw i32 128, %conv234 + %idxprom236 = sext i32 %add235 to i64 + %arrayidx237 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data231, i64 0, i64 %idxprom236 + store i16 %conv230, i16* %arrayidx237, align 2 + br label %for.inc268 + +if.else239: ; preds = %if.then196 + %sub241 = sub nsw i32 %add213, %169 + %conv242 = trunc i32 %sub241 to i8 + %conv243 = zext i8 %conv242 to i16 + %177 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data244 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %177, i32 0, i32 4 + %178 = load i32, i32* %u, align 4 + %add245 = add nsw i32 256, %178 + %idxprom246 = sext i32 %add245 to i64 + %arrayidx247 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data244, i64 0, i64 %idxprom246 + store i16 %conv243, i16* %arrayidx247, align 2 + %179 = load i32, i32* %u, align 4 + %add248 = add nsw i32 128, %179 + %conv249 = trunc i32 %add248 to i8 + %conv250 = sext i8 %conv249 to i32 + %cmp251 = icmp ne i32 %conv250, -1 + br i1 %cmp251, label %if.then253, label %for.inc268 + +if.then253: ; preds = %if.else239 + %180 = load i32, i32* %u, align 4 + %add254 = add nsw i32 128, %180 + %181 = load i32, i32* %c, align 4 + %sub255 = sub nsw i32 %add254, %181 + %conv256 = trunc i32 %sub255 to i8 + %conv257 = zext i8 %conv256 to i16 + %182 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data258 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %182, i32 0, i32 4 + %183 = load i32, i32* %u, align 4 + %add259 = add nsw i32 128, %183 + %conv260 = trunc i32 %add259 to i8 + %conv261 = sext i8 %conv260 to i32 + %add262 = add nsw i32 128, %conv261 + %idxprom263 = sext i32 %add262 to i64 + %arrayidx264 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data258, i64 0, i64 %idxprom263 + store i16 %conv257, i16* %arrayidx264, align 2 + br label %for.inc268 + +for.inc268: ; preds = %if.end180, %if.else239, %if.then253, %if.then212, %if.then226 + %184 = load i32, i32* %u, align 4 + %inc269 = add nsw i32 %184, 1 + store i32 %inc269, i32* %u, align 4 + br label %for.cond142 + +for.end270: ; preds = %for.cond142 + %__ctype_b_data271 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %133, i32 0, i32 3 + %arraydecay272 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data271, i64 0, i64 0 + %add.ptr273 = getelementptr inbounds i16, i16* %arraydecay272, i64 128 + %185 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %185, i32 0, i32 0 + store i16* %add.ptr273, i16** %__ctype_b, align 8 + %186 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data274 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %186, i32 0, i32 4 + %arraydecay275 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data274, i64 0, i64 0 + %add.ptr276 = getelementptr inbounds i16, i16* %arraydecay275, i64 128 + %187 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %187, i32 0, i32 1 + store i16* %add.ptr276, i16** %__ctype_tolower, align 8 + %188 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data277 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %188, i32 0, i32 5 + %arraydecay278 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data277, i64 0, i64 0 + %add.ptr279 = getelementptr inbounds i16, i16* %arraydecay278, i64 128 + %189 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %189, i32 0, i32 2 + store i16* %add.ptr279, i16** %__ctype_toupper, align 8 + br label %if.end280 + +if.end280: ; preds = %if.then107, %if.else, %for.end270 + %190 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %outdigit_length = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %190, i32 0, i32 11 + %arraydecay281 = getelementptr inbounds [10 x i8], [10 x i8]* %outdigit_length, i64 0, i64 0 + store i8* %arraydecay281, i8** %d, align 8 + %191 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %outdigit0_mb = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %191, i32 0, i32 28 + store i8** %outdigit0_mb, i8*** %x, align 8 + store i32 0, i32* %c, align 4 + br label %for.cond282 + +for.cond282: ; preds = %for.body285, %if.end280 + %192 = load i32, i32* %c, align 4 + %cmp283 = icmp slt i32 %192, 10 + br i1 %cmp283, label %for.body285, label %if.end313 + +for.body285: ; preds = %for.cond282 + %193 = load i8**, i8*** %x, align 8 + %194 = load i32, i32* %c, align 4 + %idxprom286 = sext i32 %194 to i64 + %arrayidx287 = getelementptr inbounds i8*, i8** %193, i64 %idxprom286 + %195 = load i8*, i8** %arrayidx287, align 8 + %call288 = call i64 @strlen(i8* %195) #21 + %conv289 = trunc i64 %call288 to i8 + %196 = load i8*, i8** %d, align 8 + %197 = load i32, i32* %c, align 4 + %idxprom290 = sext i32 %197 to i64 + %arrayidx291 = getelementptr inbounds i8, i8* %196, i64 %idxprom290 + store i8 %conv289, i8* %arrayidx291, align 1 + %198 = load i32, i32* %c, align 4 + %inc293 = add nsw i32 %198, 1 + store i32 %inc293, i32* %c, align 4 + br label %for.cond282 + +if.else295: ; preds = %if.end92 + %199 = load i32, i32* %i, align 4 + %cmp296 = icmp eq i32 %199, 1 + br i1 %cmp296, label %if.then298, label %if.end313 + +if.then298: ; preds = %if.else295 + %200 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %decimal_point_wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %200, i32 0, i32 24 + %201 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %decimal_point = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %201, i32 0, i32 39 + %202 = load i8*, i8** %decimal_point, align 8 + %203 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call299 = call i32 @__locale_mbrtowc_l(i32* %decimal_point_wc, i8* %202, %struct.__uclibc_locale_struct.201* %203) #19 + %204 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %decimal_point_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %204, i32 0, i32 26 + store i32 %call299, i32* %decimal_point_len, align 8 + %205 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %grouping = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %205, i32 0, i32 41 + %206 = load i8*, i8** %grouping, align 8 + %207 = load i8, i8* %206, align 1 + %tobool300 = icmp ne i8 %207, 0 + br i1 %tobool300, label %if.then301, label %if.end313 + +if.then301: ; preds = %if.then298 + %208 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep_wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %208, i32 0, i32 25 + %209 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %209, i32 0, i32 40 + %210 = load i8*, i8** %thousands_sep, align 8 + %211 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call302 = call i32 @__locale_mbrtowc_l(i32* %thousands_sep_wc, i8* %210, %struct.__uclibc_locale_struct.201* %211) #19 + %212 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %212, i32 0, i32 27 + store i32 %call302, i32* %thousands_sep_len, align 4 + %213 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep_len303 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %213, i32 0, i32 27 + %214 = load i32, i32* %thousands_sep_len303, align 4 + %cmp304 = icmp eq i32 %214, 0 + br i1 %cmp304, label %if.then306, label %if.end313 + +if.then306: ; preds = %if.then301 + %215 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep307 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %215, i32 0, i32 40 + %216 = load i8*, i8** %thousands_sep307, align 8 + %217 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %grouping308 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %217, i32 0, i32 41 + store i8* %216, i8** %grouping308, align 8 + br label %if.end313 + +if.end313: ; preds = %for.cond282, %if.then298, %if.then306, %if.then301, %if.else295, %lor.lhs.false27 + %218 = load i32, i32* %i, align 4 + %inc314 = add nsw i32 %218, 1 + store i32 %inc314, i32* %i, align 4 + %219 = load i8*, i8** %p.addr, align 8 + %add.ptr315 = getelementptr inbounds i8, i8* %219, i64 2 + store i8* %add.ptr315, i8** %p.addr, align 8 + %220 = load i8*, i8** %s, align 8 + %add.ptr316 = getelementptr inbounds i8, i8* %220, i64 2 + store i8* %add.ptr316, i8** %s, align 8 + %221 = load i32, i32* %i, align 4 + %cmp317 = icmp slt i32 %221, 6 + br i1 %cmp317, label %do.body, label %do.end + +do.end: ; preds = %if.end313 + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end, %if.then18 + %222 = load i32, i32* %retval, align 4 + ret i32 %222 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @init_cur_collate(i32 %der_num, %struct.__collate_t.200* %cur_collate) #0 { +entry: + %retval = alloca i32, align 4 + %der_num.addr = alloca i32, align 4 + %cur_collate.addr = alloca %struct.__collate_t.200*, align 8 + %__locale_collate_tbl = alloca i16*, align 8 + %cdh = alloca %struct.coldata_header_t*, align 8 + %cdb = alloca %struct.coldata_base_t*, align 8 + %cdd = alloca %struct.winsize*, align 8 + %p = alloca i16*, align 8 + %n = alloca i64, align 8 + %i = alloca i16, align 2 + %w = alloca i16, align 2 + store i32 %der_num, i32* %der_num.addr, align 4 + store %struct.__collate_t.200* %cur_collate, %struct.__collate_t.200** %cur_collate.addr, align 8 + %0 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %collate_data = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %0, i32 0, i32 28 + %arraydecay = getelementptr inbounds [91141 x i16], [91141 x i16]* %collate_data, i64 0, i64 0 + store i16* %arraydecay, i16** %__locale_collate_tbl, align 8 + %1 = load i32, i32* %der_num.addr, align 4 + %tobool = icmp ne i32 %1, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %2 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %num_weights = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %2, i32 0, i32 0 + store i16 0, i16* %num_weights, align 8 + store i32 1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* %der_num.addr, align 4 + %dec = add nsw i32 %3, -1 + store i32 %dec, i32* %der_num.addr, align 4 + %4 = load i16*, i16** %__locale_collate_tbl, align 8 + %5 = bitcast i16* %4 to %struct.coldata_header_t* + store %struct.coldata_header_t* %5, %struct.coldata_header_t** %cdh, align 8 + %6 = load i16*, i16** %__locale_collate_tbl, align 8 + %7 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_base = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %7, i32 0, i32 0 + %8 = load i16, i16* %num_base, align 2 + %conv = zext i16 %8 to i64 + %mul = mul i64 %conv, 38 + %add = add i64 16, %mul + %9 = load i32, i32* %der_num.addr, align 4 + %conv1 = sext i32 %9 to i64 + %mul2 = mul i64 %conv1, 8 + %add3 = add i64 %add, %mul2 + %div = udiv i64 %add3, 2 + %add.ptr = getelementptr inbounds i16, i16* %6, i64 %div + %10 = bitcast i16* %add.ptr to %struct.winsize* + store %struct.winsize* %10, %struct.winsize** %cdd, align 8 + %11 = load i16*, i16** %__locale_collate_tbl, align 8 + %12 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %base_idx = getelementptr inbounds %struct.winsize, %struct.winsize* %12, i32 0, i32 0 + %13 = load i16, i16* %base_idx, align 2 + %conv4 = zext i16 %13 to i64 + %mul5 = mul i64 %conv4, 38 + %add6 = add i64 16, %mul5 + %div7 = udiv i64 %add6, 2 + %add.ptr8 = getelementptr inbounds i16, i16* %11, i64 %div7 + %14 = bitcast i16* %add.ptr8 to %struct.coldata_base_t* + store %struct.coldata_base_t* %14, %struct.coldata_base_t** %cdb, align 8 + %15 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %16 = bitcast %struct.__collate_t.200* %15 to i8* + %17 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %18 = bitcast %struct.coldata_base_t* %17 to i8* + %call = call i8* @memcpy(i8* %16, i8* %18, i64 28) #20 + %19 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %undefined_idx = getelementptr inbounds %struct.winsize, %struct.winsize* %19, i32 0, i32 1 + %20 = load i16, i16* %undefined_idx, align 2 + %21 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %undefined_idx9 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %21, i32 0, i32 9 + store i16 %20, i16* %undefined_idx9, align 2 + %22 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ti_shift = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %22, i32 0, i32 3 + %23 = load i16, i16* %ti_shift, align 2 + %conv10 = zext i16 %23 to i32 + %shl = shl i32 1, %conv10 + %sub = sub nsw i32 %shl, 1 + %conv11 = trunc i32 %sub to i16 + %24 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ti_mask = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %24, i32 0, i32 15 + store i16 %conv11, i16* %ti_mask, align 2 + %25 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ii_shift = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %25, i32 0, i32 2 + %26 = load i16, i16* %ii_shift, align 4 + %conv12 = zext i16 %26 to i32 + %shl13 = shl i32 1, %conv12 + %sub14 = sub nsw i32 %shl13, 1 + %conv15 = trunc i32 %sub14 to i16 + %27 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ii_mask = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %27, i32 0, i32 14 + store i16 %conv15, i16* %ii_mask, align 4 + %28 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_base16 = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %28, i32 0, i32 0 + %29 = load i16, i16* %num_base16, align 2 + %conv17 = zext i16 %29 to i64 + %mul18 = mul i64 %conv17, 38 + %add19 = add i64 16, %mul18 + %30 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_der = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %30, i32 0, i32 1 + %31 = load i16, i16* %num_der, align 2 + %conv20 = zext i16 %31 to i64 + %mul21 = mul i64 %conv20, 8 + %add22 = add i64 %add19, %mul21 + %div23 = udiv i64 %add22, 2 + store i64 %div23, i64* %n, align 8 + %32 = load i16*, i16** %__locale_collate_tbl, align 8 + %33 = load i64, i64* %n, align 8 + %add.ptr24 = getelementptr inbounds i16, i16* %32, i64 %33 + %34 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %index2weight_offset = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %34, i32 0, i32 14 + %35 = load i16, i16* %index2weight_offset, align 2 + %conv25 = zext i16 %35 to i32 + %idx.ext = sext i32 %conv25 to i64 + %add.ptr26 = getelementptr inbounds i16, i16* %add.ptr24, i64 %idx.ext + %36 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %36, i32 0, i32 16 + store i16* %add.ptr26, i16** %index2weight_tbl, align 8 + %37 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_index2weight = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %37, i32 0, i32 3 + %38 = load i16, i16* %num_index2weight, align 2 + %conv27 = zext i16 %38 to i64 + %39 = load i64, i64* %n, align 8 + %add28 = add i64 %39, %conv27 + store i64 %add28, i64* %n, align 8 + %40 = load i16*, i16** %__locale_collate_tbl, align 8 + %41 = load i64, i64* %n, align 8 + %add.ptr29 = getelementptr inbounds i16, i16* %40, i64 %41 + %42 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %index2ruleidx_offset = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %42, i32 0, i32 15 + %43 = load i16, i16* %index2ruleidx_offset, align 2 + %conv30 = zext i16 %43 to i32 + %idx.ext31 = sext i32 %conv30 to i64 + %add.ptr32 = getelementptr inbounds i16, i16* %add.ptr29, i64 %idx.ext31 + %44 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %44, i32 0, i32 17 + store i16* %add.ptr32, i16** %index2ruleidx_tbl, align 8 + %45 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_index2weight33 = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %45, i32 0, i32 3 + %46 = load i16, i16* %num_index2weight33, align 2 + %conv34 = zext i16 %46 to i64 + %47 = load i64, i64* %n, align 8 + %add35 = add i64 %47, %conv34 + store i64 %add35, i64* %n, align 8 + %48 = load i16*, i16** %__locale_collate_tbl, align 8 + %49 = load i64, i64* %n, align 8 + %add.ptr36 = getelementptr inbounds i16, i16* %48, i64 %49 + %50 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %multistart_offset = getelementptr inbounds %struct.winsize, %struct.winsize* %50, i32 0, i32 3 + %51 = load i16, i16* %multistart_offset, align 2 + %conv37 = zext i16 %51 to i32 + %idx.ext38 = sext i32 %conv37 to i64 + %add.ptr39 = getelementptr inbounds i16, i16* %add.ptr36, i64 %idx.ext38 + %52 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %multistart_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %52, i32 0, i32 18 + store i16* %add.ptr39, i16** %multistart_tbl, align 8 + %53 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_multistart = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %53, i32 0, i32 5 + %54 = load i16, i16* %num_multistart, align 2 + %conv40 = zext i16 %54 to i64 + %55 = load i64, i64* %n, align 8 + %add41 = add i64 %55, %conv40 + store i64 %add41, i64* %n, align 8 + %56 = load i16*, i16** %__locale_collate_tbl, align 8 + %57 = load i64, i64* %n, align 8 + %add.ptr42 = getelementptr inbounds i16, i16* %56, i64 %57 + %58 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %overrides_offset = getelementptr inbounds %struct.winsize, %struct.winsize* %58, i32 0, i32 2 + %59 = load i16, i16* %overrides_offset, align 2 + %conv43 = zext i16 %59 to i32 + %idx.ext44 = sext i32 %conv43 to i64 + %add.ptr45 = getelementptr inbounds i16, i16* %add.ptr42, i64 %idx.ext44 + %60 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %overrides_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %60, i32 0, i32 20 + store i16* %add.ptr45, i16** %overrides_tbl, align 8 + %61 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_override = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %61, i32 0, i32 6 + %62 = load i16, i16* %num_override, align 2 + %conv46 = zext i16 %62 to i64 + %63 = load i64, i64* %n, align 8 + %add47 = add i64 %63, %conv46 + store i64 %add47, i64* %n, align 8 + %64 = load i16*, i16** %__locale_collate_tbl, align 8 + %65 = load i64, i64* %n, align 8 + %add.ptr48 = getelementptr inbounds i16, i16* %64, i64 %65 + %66 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ruletable = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %66, i32 0, i32 22 + store i16* %add.ptr48, i16** %ruletable, align 8 + %67 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_ruletable = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %67, i32 0, i32 7 + %68 = load i16, i16* %num_ruletable, align 2 + %conv49 = zext i16 %68 to i64 + %69 = load i64, i64* %n, align 8 + %add50 = add i64 %69, %conv49 + store i64 %add50, i64* %n, align 8 + %70 = load i16*, i16** %__locale_collate_tbl, align 8 + %71 = load i64, i64* %n, align 8 + %add.ptr51 = getelementptr inbounds i16, i16* %70, i64 %71 + %72 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %weightstr = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %72, i32 0, i32 21 + store i16* %add.ptr51, i16** %weightstr, align 8 + %73 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_weightstr = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %73, i32 0, i32 4 + %74 = load i16, i16* %num_weightstr, align 2 + %conv52 = zext i16 %74 to i64 + %75 = load i64, i64* %n, align 8 + %add53 = add i64 %75, %conv52 + store i64 %add53, i64* %n, align 8 + %76 = load i16*, i16** %__locale_collate_tbl, align 8 + %77 = load i64, i64* %n, align 8 + %add.ptr54 = getelementptr inbounds i16, i16* %76, i64 %77 + %78 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %wcs2colidt_offset_hi = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %78, i32 0, i32 18 + %79 = load i16, i16* %wcs2colidt_offset_hi, align 2 + %conv55 = zext i16 %79 to i64 + %shl56 = shl i64 %conv55, 16 + %add.ptr57 = getelementptr inbounds i16, i16* %add.ptr54, i64 %shl56 + %80 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %wcs2colidt_offset_low = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %80, i32 0, i32 17 + %81 = load i16, i16* %wcs2colidt_offset_low, align 2 + %conv58 = zext i16 %81 to i32 + %idx.ext59 = sext i32 %conv58 to i64 + %add.ptr60 = getelementptr inbounds i16, i16* %add.ptr57, i64 %idx.ext59 + %82 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %wcs2colidt_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %82, i32 0, i32 19 + store i16* %add.ptr60, i16** %wcs2colidt_tbl, align 8 + %83 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %MAX_WEIGHTS = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %83, i32 0, i32 2 + %84 = load i16, i16* %MAX_WEIGHTS, align 2 + %85 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %MAX_WEIGHTS61 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %85, i32 0, i32 25 + store i16 %84, i16* %MAX_WEIGHTS61, align 8 + %86 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %max_col_index = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %86, i32 0, i32 8 + %87 = load i16, i16* %max_col_index, align 8 + %conv62 = zext i16 %87 to i32 + %mul63 = mul nsw i32 2, %conv62 + %add64 = add nsw i32 %mul63, 2 + %conv65 = sext i32 %add64 to i64 + %call66 = call noalias i8* @calloc(i64 %conv65, i64 2) #20 + %88 = bitcast i8* %call66 to i16* + %89 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %89, i32 0, i32 23 + store i16* %88, i16** %index2weight, align 8 + %90 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight67 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %90, i32 0, i32 23 + %91 = load i16*, i16** %index2weight67, align 8 + %tobool68 = icmp ne i16* %91, null + br i1 %tobool68, label %if.end70, label %if.then69 + +if.then69: ; preds = %if.end + store i32 0, i32* %retval, align 4 + br label %return + +if.end70: ; preds = %if.end + %92 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight71 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %92, i32 0, i32 23 + %93 = load i16*, i16** %index2weight71, align 8 + %94 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %max_col_index72 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %94, i32 0, i32 8 + %95 = load i16, i16* %max_col_index72, align 8 + %conv73 = zext i16 %95 to i32 + %idx.ext74 = sext i32 %conv73 to i64 + %add.ptr75 = getelementptr inbounds i16, i16* %93, i64 %idx.ext74 + %add.ptr76 = getelementptr inbounds i16, i16* %add.ptr75, i64 1 + %96 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %96, i32 0, i32 24 + store i16* %add.ptr76, i16** %index2ruleidx, align 8 + %97 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight77 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %97, i32 0, i32 23 + %98 = load i16*, i16** %index2weight77, align 8 + %99 = bitcast i16* %98 to i8* + %100 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight_tbl78 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %100, i32 0, i32 16 + %101 = load i16*, i16** %index2weight_tbl78, align 8 + %102 = bitcast i16* %101 to i8* + %103 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %num_col_base = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %103, i32 0, i32 7 + %104 = load i16, i16* %num_col_base, align 2 + %conv79 = zext i16 %104 to i64 + %mul80 = mul i64 %conv79, 2 + %call81 = call i8* @memcpy(i8* %99, i8* %102, i64 %mul80) #20 + %105 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx82 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %105, i32 0, i32 24 + %106 = load i16*, i16** %index2ruleidx82, align 8 + %107 = bitcast i16* %106 to i8* + %108 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx_tbl83 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %108, i32 0, i32 17 + %109 = load i16*, i16** %index2ruleidx_tbl83, align 8 + %110 = bitcast i16* %109 to i8* + %111 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %num_col_base84 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %111, i32 0, i32 7 + %112 = load i16, i16* %num_col_base84, align 2 + %conv85 = zext i16 %112 to i64 + %mul86 = mul i64 %conv85, 2 + %call87 = call i8* @memcpy(i8* %107, i8* %110, i64 %mul86) #20 + %113 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %overrides_tbl88 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %113, i32 0, i32 20 + %114 = load i16*, i16** %overrides_tbl88, align 8 + store i16* %114, i16** %p, align 8 + br label %while.cond + +while.cond: ; preds = %do.body, %if.end70 + %115 = load i16*, i16** %p, align 8 + %116 = load i16, i16* %115, align 2 + %conv89 = zext i16 %116 to i32 + %cmp = icmp sgt i32 %conv89, 1 + br i1 %cmp, label %while.body, label %while.cond105 + +while.body: ; preds = %while.cond + %117 = load i16*, i16** %p, align 8 + %incdec.ptr = getelementptr inbounds i16, i16* %117, i32 1 + store i16* %incdec.ptr, i16** %p, align 8 + %118 = load i16, i16* %117, align 2 + %conv91 = zext i16 %118 to i64 + store i64 %conv91, i64* %n, align 8 + %119 = load i16*, i16** %p, align 8 + %incdec.ptr92 = getelementptr inbounds i16, i16* %119, i32 1 + store i16* %incdec.ptr92, i16** %p, align 8 + %120 = load i16, i16* %119, align 2 + store i16 %120, i16* %w, align 2 + br label %do.body + +do.body: ; preds = %do.body, %while.body + %121 = load i16*, i16** %p, align 8 + %incdec.ptr93 = getelementptr inbounds i16, i16* %121, i32 1 + store i16* %incdec.ptr93, i16** %p, align 8 + %122 = load i16, i16* %121, align 2 + store i16 %122, i16* %i, align 2 + %123 = load i16, i16* %w, align 2 + %inc = add i16 %123, 1 + store i16 %inc, i16* %w, align 2 + %124 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight94 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %124, i32 0, i32 23 + %125 = load i16*, i16** %index2weight94, align 8 + %126 = load i16, i16* %i, align 2 + %conv95 = zext i16 %126 to i32 + %sub96 = sub nsw i32 %conv95, 1 + %idxprom = sext i32 %sub96 to i64 + %arrayidx = getelementptr inbounds i16, i16* %125, i64 %idxprom + store i16 %123, i16* %arrayidx, align 2 + %127 = load i16*, i16** %p, align 8 + %incdec.ptr97 = getelementptr inbounds i16, i16* %127, i32 1 + store i16* %incdec.ptr97, i16** %p, align 8 + %128 = load i16, i16* %127, align 2 + %129 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx98 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %129, i32 0, i32 24 + %130 = load i16*, i16** %index2ruleidx98, align 8 + %131 = load i16, i16* %i, align 2 + %conv99 = zext i16 %131 to i32 + %sub100 = sub nsw i32 %conv99, 1 + %idxprom101 = sext i32 %sub100 to i64 + %arrayidx102 = getelementptr inbounds i16, i16* %130, i64 %idxprom101 + store i16 %128, i16* %arrayidx102, align 2 + %132 = load i64, i64* %n, align 8 + %dec103 = add i64 %132, -1 + store i64 %dec103, i64* %n, align 8 + %tobool104 = icmp ne i64 %dec103, 0 + br i1 %tobool104, label %do.body, label %while.cond + +while.cond105: ; preds = %while.cond, %while.body108 + %133 = load i16*, i16** %p, align 8 + %incdec.ptr106 = getelementptr inbounds i16, i16* %133, i32 1 + store i16* %incdec.ptr106, i16** %p, align 8 + %134 = load i16, i16* %incdec.ptr106, align 2 + %tobool107 = icmp ne i16 %134, 0 + br i1 %tobool107, label %while.body108, label %while.end121 + +while.body108: ; preds = %while.cond105 + %135 = load i16*, i16** %p, align 8 + %136 = load i16, i16* %135, align 2 + store i16 %136, i16* %i, align 2 + %137 = load i16*, i16** %p, align 8 + %incdec.ptr109 = getelementptr inbounds i16, i16* %137, i32 1 + store i16* %incdec.ptr109, i16** %p, align 8 + %138 = load i16, i16* %incdec.ptr109, align 2 + %139 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight110 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %139, i32 0, i32 23 + %140 = load i16*, i16** %index2weight110, align 8 + %141 = load i16, i16* %i, align 2 + %conv111 = zext i16 %141 to i32 + %sub112 = sub nsw i32 %conv111, 1 + %idxprom113 = sext i32 %sub112 to i64 + %arrayidx114 = getelementptr inbounds i16, i16* %140, i64 %idxprom113 + store i16 %138, i16* %arrayidx114, align 2 + %142 = load i16*, i16** %p, align 8 + %incdec.ptr115 = getelementptr inbounds i16, i16* %142, i32 1 + store i16* %incdec.ptr115, i16** %p, align 8 + %143 = load i16, i16* %incdec.ptr115, align 2 + %144 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx116 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %144, i32 0, i32 24 + %145 = load i16*, i16** %index2ruleidx116, align 8 + %146 = load i16, i16* %i, align 2 + %conv117 = zext i16 %146 to i32 + %sub118 = sub nsw i32 %conv117, 1 + %idxprom119 = sext i32 %sub118 to i64 + %arrayidx120 = getelementptr inbounds i16, i16* %145, i64 %idxprom119 + store i16 %143, i16* %arrayidx120, align 2 + br label %while.cond105 + +while.end121: ; preds = %while.cond105 + store i16 0, i16* %i, align 2 + br label %for.cond + +for.cond: ; preds = %for.inc, %while.end121 + %147 = load i16, i16* %i, align 2 + %conv122 = zext i16 %147 to i32 + %148 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %multistart_tbl123 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %148, i32 0, i32 18 + %149 = load i16*, i16** %multistart_tbl123, align 8 + %arrayidx124 = getelementptr inbounds i16, i16* %149, i64 0 + %150 = load i16, i16* %arrayidx124, align 2 + %conv125 = zext i16 %150 to i32 + %cmp126 = icmp slt i32 %conv122, %conv125 + br i1 %cmp126, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %151 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %multistart_tbl128 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %151, i32 0, i32 18 + %152 = load i16*, i16** %multistart_tbl128, align 8 + store i16* %152, i16** %p, align 8 + %153 = load i16*, i16** %p, align 8 + %154 = load i16, i16* %i, align 2 + %idxprom129 = zext i16 %154 to i64 + %arrayidx130 = getelementptr inbounds i16, i16* %153, i64 %idxprom129 + %155 = load i16, i16* %arrayidx130, align 2 + %conv131 = zext i16 %155 to i32 + %156 = load i16*, i16** %p, align 8 + %idx.ext132 = sext i32 %conv131 to i64 + %add.ptr133 = getelementptr inbounds i16, i16* %156, i64 %idx.ext132 + store i16* %add.ptr133, i16** %p, align 8 + br label %do.body134 + +do.body134: ; preds = %do.body141, %for.body + %157 = load i16*, i16** %p, align 8 + %incdec.ptr135 = getelementptr inbounds i16, i16* %157, i32 1 + store i16* %incdec.ptr135, i16** %p, align 8 + %158 = load i16, i16* %157, align 2 + %conv136 = zext i16 %158 to i64 + store i64 %conv136, i64* %n, align 8 + %159 = load i16*, i16** %p, align 8 + %160 = load i16, i16* %159, align 2 + %tobool138 = icmp ne i16 %160, 0 + br i1 %tobool138, label %do.body141, label %for.inc + +do.body141: ; preds = %do.body134, %do.body141 + %161 = load i16*, i16** %p, align 8 + %incdec.ptr143 = getelementptr inbounds i16, i16* %161, i32 1 + store i16* %incdec.ptr143, i16** %p, align 8 + %162 = load i16, i16* %161, align 2 + %tobool144 = icmp ne i16 %162, 0 + br i1 %tobool144, label %do.body141, label %do.body134 + +for.inc: ; preds = %do.body134 + %163 = load i16, i16* %i, align 2 + %inc150 = add i16 %163, 1 + store i16 %inc150, i16* %i, align 2 + br label %for.cond + +for.end: ; preds = %for.cond + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %for.end, %if.then69, %if.then + %164 = load i32, i32* %retval, align 4 + ret i32 %164 +} + +; Function Attrs: nounwind +declare void @free(i8*) #2 + +; Function Attrs: nounwind +declare noalias i8* @calloc(i64, i64) #2 + +; Function Attrs: noinline nounwind uwtable +define hidden void @_locale_init_l(%struct.__uclibc_locale_struct.201* %base) #0 { +entry: + %base.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + store %struct.__uclibc_locale_struct.201* %base, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 6 + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + %call = call i8* @memset(i8* %arraydecay, i32 0, i64 14) #20 + %1 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale1 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %1, i32 0, i32 6 + %arrayidx = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale1, i64 0, i64 0 + store i8 35, i8* %arrayidx, align 8 + %2 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_item_count = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %2, i32 0, i32 8 + %arraydecay2 = getelementptr inbounds [6 x i8], [6 x i8]* %category_item_count, i64 0, i64 0 + %3 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_common_item_offsets_LEN = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %3, i32 0, i32 29 + %arraydecay3 = getelementptr inbounds [6 x i8], [6 x i8]* %lc_common_item_offsets_LEN, i64 0, i64 0 + %call4 = call i8* @memcpy(i8* %arraydecay2, i8* %arraydecay3, i64 6) #20 + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_item_count5 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %4, i32 0, i32 8 + %arrayidx6 = getelementptr inbounds [6 x i8], [6 x i8]* %category_item_count5, i64 0, i64 0 + %5 = load i8, i8* %arrayidx6, align 2 + %inc = add i8 %5, 1 + store i8 %inc, i8* %arrayidx6, align 2 + %6 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %6, i32 0, i32 7 + %arrayidx7 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets, i64 0, i64 0 + store i16 2488, i16* %arrayidx7, align 2 + %7 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets8 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %7, i32 0, i32 7 + %arrayidx9 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets8, i64 0, i64 1 + store i16 2576, i16* %arrayidx9, align 2 + %8 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets10 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %8, i32 0, i32 7 + %arrayidx11 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets10, i64 0, i64 2 + store i16 2600, i16* %arrayidx11, align 2 + %9 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets12 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %9, i32 0, i32 7 + %arrayidx13 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets12, i64 0, i64 3 + store i16 2776, i16* %arrayidx13, align 2 + %10 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets14 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %10, i32 0, i32 7 + %arrayidx15 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets14, i64 0, i64 5 + store i16 3176, i16* %arrayidx15, align 2 + %11 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8ctype = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %11, i32 0, i32 0 + %12 = bitcast [420 x i8]* %tbl8ctype to i8* + %13 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8ctype16 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %13, i32 0, i32 13 + store i8* %12, i8** %tbl8ctype16, align 8 + %14 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8uplow = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %14, i32 0, i32 1 + %15 = bitcast [504 x i8]* %tbl8uplow to i8* + %16 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8uplow17 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %16, i32 0, i32 15 + store i8* %15, i8** %tbl8uplow17, align 8 + %17 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8c2wc = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %17, i32 0, i32 2 + %18 = bitcast [1760 x i16]* %tbl8c2wc to i16* + %19 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8c2wc18 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %19, i32 0, i32 17 + store i16* %18, i16** %tbl8c2wc18, align 8 + %20 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8wc2c = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %20, i32 0, i32 3 + %21 = bitcast [4528 x i8]* %tbl8wc2c to i8* + %22 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8wc2c19 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %22, i32 0, i32 19 + store i8* %21, i8** %tbl8wc2c19, align 8 + %23 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tblwctype = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %23, i32 0, i32 4 + %24 = bitcast [3604 x i8]* %tblwctype to i8* + %25 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tblwctype20 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %25, i32 0, i32 21 + store i8* %24, i8** %tblwctype20, align 8 + %26 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tblwuplow = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %26, i32 0, i32 5 + %27 = bitcast [1680 x i8]* %tblwuplow to i8* + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tblwuplow21 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %28, i32 0, i32 22 + store i8* %27, i8** %tblwuplow21, align 8 + %29 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tblwuplow_diff = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %29, i32 0, i32 6 + %30 = bitcast [196 x i16]* %tblwuplow_diff to i16* + %31 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tblwuplow_diff22 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %31, i32 0, i32 23 + store i16* %30, i16** %tblwuplow_diff22, align 8 + %32 = load i16*, i16** @__C_ctype_b, align 8 + %33 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %33, i32 0, i32 0 + store i16* %32, i16** %__ctype_b, align 8 + %34 = load i16*, i16** @__C_ctype_tolower, align 8 + %35 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %35, i32 0, i32 1 + store i16* %34, i16** %__ctype_tolower, align 8 + %36 = load i16*, i16** @__C_ctype_toupper, align 8 + %37 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %37, i32 0, i32 2 + store i16* %36, i16** %__ctype_toupper, align 8 + %38 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %code2flag = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %38, i32 0, i32 20 + store i16* getelementptr inbounds ([16 x i16], [16 x i16]* @__code2flag, i64 0, i64 0), i16** %code2flag, align 8 + %39 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call23 = call i32 @_locale_set_l(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.76, i64 0, i64 0), %struct.__uclibc_locale_struct.201* %39) #19 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_locale_init() #0 { +entry: + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__global_locale, align 8 + call void @_locale_init_l(%struct.__uclibc_locale_struct.201* %0) #19 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @sigblock(i32 %mask) #0 { +entry: + %retval = alloca i32, align 4 + %mask.addr = alloca i32, align 4 + %set = alloca %struct.fd_set, align 8 + %oset = alloca %struct.fd_set, align 8 + store i32 %mask, i32* %mask.addr, align 4 + %0 = load i32, i32* %mask.addr, align 4 + %call = call i32 @sigset_set_old_mask(%struct.fd_set* %set, i32 %0) #19 + %cmp = icmp slt i32 %call, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %call1 = call i32 @sigprocmask(i32 0, %struct.fd_set* %set, %struct.fd_set* %oset) #20 + %cmp2 = icmp slt i32 %call1, 0 + br i1 %cmp2, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.end + store i32 -1, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %if.end + %call5 = call i32 @sigset_get_old_mask(%struct.fd_set* %oset) #19 + store i32 %call5, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %1 = load i32, i32* %retval, align 4 + ret i32 %1 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @sigset_set_old_mask(%struct.fd_set* %set, i32 %mask) #0 { +entry: + %set.addr = alloca %struct.fd_set*, align 8 + %mask.addr = alloca i32, align 4 + %ptr = alloca i64*, align 8 + %cnt = alloca i32, align 4 + store %struct.fd_set* %set, %struct.fd_set** %set.addr, align 8 + store i32 %mask, i32* %mask.addr, align 4 + %0 = load %struct.fd_set*, %struct.fd_set** %set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %0, i32 0, i32 0 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 0 + store i64* %arrayidx, i64** %ptr, align 8 + %1 = load i32, i32* %mask.addr, align 4 + %conv = zext i32 %1 to i64 + %2 = load i64*, i64** %ptr, align 8 + %incdec.ptr = getelementptr inbounds i64, i64* %2, i32 1 + store i64* %incdec.ptr, i64** %ptr, align 8 + store i64 %conv, i64* %2, align 8 + store i32 14, i32* %cnt, align 4 + br label %do.body + +do.body: ; preds = %do.body, %entry + %3 = load i64*, i64** %ptr, align 8 + %incdec.ptr1 = getelementptr inbounds i64, i64* %3, i32 1 + store i64* %incdec.ptr1, i64** %ptr, align 8 + store i64 0, i64* %3, align 8 + %4 = load i32, i32* %cnt, align 4 + %dec = add nsw i32 %4, -1 + store i32 %dec, i32* %cnt, align 4 + %cmp = icmp sge i32 %dec, 0 + br i1 %cmp, label %do.body, label %do.end + +do.end: ; preds = %do.body + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @sigset_get_old_mask(%struct.fd_set* %set) #0 { +entry: + %set.addr = alloca %struct.fd_set*, align 8 + store %struct.fd_set* %set, %struct.fd_set** %set.addr, align 8 + %0 = load %struct.fd_set*, %struct.fd_set** %set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %0, i32 0, i32 0 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 0 + %1 = load i64, i64* %arrayidx, align 8 + %conv = trunc i64 %1 to i32 + ret i32 %conv +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_stdio_term() #0 { +entry: + %ptr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %0, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %1, null + br i1 %tobool, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 0 + %3 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %3 to i32 + %and = and i32 %conv, 64 + %tobool1 = icmp ne i32 %and, 0 + br i1 %tobool1, label %if.then, label %for.inc + +if.then: ; preds = %for.body + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %call = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %4) #19 + br label %for.inc + +for.inc: ; preds = %for.body, %if.then + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 9 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %6, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_stdio_init() #0 { +entry: + %old_errno = alloca i32, align 4 + %0 = load i32, i32* @errno, align 4 + store i32 %0, i32* %old_errno, align 4 + %call = call i32 @isatty(i32 0) #20 + %sub = sub nsw i32 1, %call + %mul = mul i32 %sub, 256 + %1 = load i16, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 0, i32 0), align 16 + %conv = zext i16 %1 to i32 + %xor = xor i32 %conv, %mul + %conv1 = trunc i32 %xor to i16 + store i16 %conv1, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 0, i32 0), align 16 + %call2 = call i32 @isatty(i32 1) #20 + %sub3 = sub nsw i32 1, %call2 + %mul4 = mul i32 %sub3, 256 + %2 = load i16, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 1, i32 0), align 8 + %conv5 = zext i16 %2 to i32 + %xor6 = xor i32 %conv5, %mul4 + %conv7 = trunc i32 %xor6 to i16 + store i16 %conv7, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 1, i32 0), align 8 + %3 = load i32, i32* %old_errno, align 4 + store i32 %3, i32* @errno, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getchar_unlocked() #0 { +entry: + %stream = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdin, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %0, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %1, i32 0, i32 5 + %2 = load i8*, i8** %__bufpos, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 7 + %4 = load i8*, i8** %__bufgetc_u, align 8 + %cmp = icmp ult i8* %2, %4 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %entry + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 5 + %6 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + %7 = load i8, i8* %6, align 1 + %conv = zext i8 %7 to i32 + br label %cond.end + +cond.false: ; preds = %entry + %call = call i32 @__fgetc_unlocked(%struct.__STDIO_FILE_STRUCT.568* %5) #19 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ %conv, %cond.true ], [ %call, %cond.false ] + ret i32 %cond +} + +; Function Attrs: noinline noreturn nounwind uwtable +declare void @abort() #1 + +; Function Attrs: noreturn +declare void @_exit(i32) #13 + +; Function Attrs: noinline noreturn nounwind uwtable +define void @exit(i32 %rv) #1 { +entry: + %rv.addr = alloca i32, align 4 + store i32 %rv, i32* %rv.addr, align 4 + %0 = load void (i32)*, void (i32)** @__exit_cleanup, align 8 + %tobool = icmp ne void (i32)* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load void (i32)*, void (i32)** @__exit_cleanup, align 8 + %2 = load i32, i32* %rv.addr, align 4 + call void %1(i32 %2) #19 + br label %if.end + +if.end: ; preds = %if.then, %entry + call void @__uClibc_fini() #19 + call void @_stdio_term() #19 + %3 = load i32, i32* %rv.addr, align 4 + call void @_exit(i32 %3) #28 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define i8* @memcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r1 = alloca i8*, align 8 + %r2 = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %r1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %r2, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %2 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load i8*, i8** %r2, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %r2, align 8 + %4 = load i8, i8* %3, align 1 + %5 = load i8*, i8** %r1, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr1, i8** %r1, align 8 + store i8 %4, i8* %5, align 1 + %6 = load i64, i64* %n.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %7 = load i8*, i8** %s1.addr, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @memset(i8* nonnull %s, i32 %c, i64 %n) #0 { +entry: + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %n.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %1 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %2 = load i32, i32* %c.addr, align 4 + %conv = trunc i32 %2 to i8 + %3 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + store i8 %conv, i8* %3, align 1 + %4 = load i64, i64* %n.addr, align 8 + %dec = add i64 %4, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %5 = load i8*, i8** %s.addr, align 8 + ret i8* %5 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @strrchr(i8* nonnull %s, i32 %c) #14 { +entry: + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i8* null, i8** %p, align 8 + br label %do.body + +do.body: ; preds = %do.cond, %entry + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %2 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %2 to i8 + %conv2 = sext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + br i1 %cmp, label %if.then, label %do.cond + +if.then: ; preds = %do.body + %3 = load i8*, i8** %s.addr, align 8 + store i8* %3, i8** %p, align 8 + br label %do.cond + +do.cond: ; preds = %do.body, %if.then + %4 = load i8*, i8** %s.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr, i8** %s.addr, align 8 + %5 = load i8, i8* %4, align 1 + %tobool = icmp ne i8 %5, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %6 = load i8*, i8** %p, align 8 + ret i8* %6 +} + +; Function Attrs: noinline noreturn nounwind uwtable +define dso_local void @usage(i32 %status) #6 { +entry: + %status.addr = alloca i32, align 4 + store i32 %status, i32* %status.addr, align 4 + %0 = load i32, i32* %status.addr, align 4 + %cmp = icmp ne i32 %0, 0 + br i1 %cmp, label %do.body, label %if.else + +do.body: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stderr to %struct._IO_FILE**), align 8 + %2 = load i8*, i8** @program_name, align 8 + %call = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %1, i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.95, i64 0, i64 0), i8* %2) + br label %if.end + +if.else: ; preds = %entry + %3 = load i8*, i8** @program_name, align 8 + %call1 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.1.96, i64 0, i64 0), i8* %3) + %call2 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.2.97, i64 0, i64 0), i32 64) + call void @emit_stdin_note() + call void @emit_mandatory_arg_note() + %4 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call3 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([243 x i8], [243 x i8]* @.str.3.98, i64 0, i64 0), %struct._IO_FILE* %4) + %5 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call4 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.4.99, i64 0, i64 0), %struct._IO_FILE* %5) + %6 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call5 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.5.100, i64 0, i64 0), %struct._IO_FILE* %6) + %call6 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([268 x i8], [268 x i8]* @.str.6.101, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.7.102, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.7.102, i64 0, i64 0)) + call void @emit_ancillary_info(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.7.102, i64 0, i64 0)) + br label %if.end + +if.end: ; preds = %if.else, %do.body + %7 = load i32, i32* %status.addr, align 4 + call void @exit(i32 %7) #27 + unreachable +} + +declare dso_local i32 @printf(i8*, ...) #5 + +; Function Attrs: noinline nounwind uwtable +define internal void @emit_stdin_note() #3 { +entry: + %0 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.18.122, i64 0, i64 0), %struct._IO_FILE* %0) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @emit_mandatory_arg_note() #3 { +entry: + %0 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([75 x i8], [75 x i8]* @.str.19.121, i64 0, i64 0), %struct._IO_FILE* %0) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @emit_ancillary_info(i8* %program) #3 { +entry: + %program.addr = alloca i8*, align 8 + %infomap = alloca [7 x %struct.infomap], align 16 + %node = alloca i8*, align 8 + %map_prog = alloca %struct.infomap*, align 8 + %lc_messages = alloca i8*, align 8 + store i8* %program, i8** %program.addr, align 8 + %0 = bitcast [7 x %struct.infomap]* %infomap to i8* + %1 = call i8* @memcpy(i8* %0, i8* bitcast ([7 x %struct.infomap]* @__const.emit_ancillary_info.infomap to i8*), i64 112) + %2 = load i8*, i8** %program.addr, align 8 + store i8* %2, i8** %node, align 8 + %arraydecay = getelementptr inbounds [7 x %struct.infomap], [7 x %struct.infomap]* %infomap, i64 0, i64 0 + store %struct.infomap* %arraydecay, %struct.infomap** %map_prog, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %3 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + %program1 = getelementptr inbounds %struct.infomap, %struct.infomap* %3, i32 0, i32 0 + %4 = load i8*, i8** %program1, align 8 + %tobool = icmp ne i8* %4, null + br i1 %tobool, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %5 = load i8*, i8** %program.addr, align 8 + %6 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + %program2 = getelementptr inbounds %struct.infomap, %struct.infomap* %6, i32 0, i32 0 + %7 = load i8*, i8** %program2, align 8 + %call = call i32 @strcmp(i8* %5, i8* %7) #24 + %cmp = icmp eq i32 %call, 0 + %lnot = xor i1 %cmp, true + br label %land.end + +land.end: ; preds = %land.rhs, %while.cond + %8 = phi i1 [ false, %while.cond ], [ %lnot, %land.rhs ] + %9 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + br i1 %8, label %while.body, label %while.end + +while.body: ; preds = %land.end + %incdec.ptr = getelementptr inbounds %struct.infomap, %struct.infomap* %9, i32 1 + store %struct.infomap* %incdec.ptr, %struct.infomap** %map_prog, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %node3 = getelementptr inbounds %struct.infomap, %struct.infomap* %9, i32 0, i32 1 + %10 = load i8*, i8** %node3, align 8 + %tobool4 = icmp ne i8* %10, null + br i1 %tobool4, label %if.then, label %if.end + +if.then: ; preds = %while.end + %11 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + %node5 = getelementptr inbounds %struct.infomap, %struct.infomap* %11, i32 0, i32 1 + %12 = load i8*, i8** %node5, align 8 + store i8* %12, i8** %node, align 8 + br label %if.end + +if.end: ; preds = %if.then, %while.end + %call6 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.29.103, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.11.104, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.30.105, i64 0, i64 0)) + %call7 = call i8* @setlocale(i32 5, i8* null) #11 + store i8* %call7, i8** %lc_messages, align 8 + %13 = load i8*, i8** %lc_messages, align 8 + %tobool8 = icmp ne i8* %13, null + br i1 %tobool8, label %land.lhs.true, label %if.end13 + +land.lhs.true: ; preds = %if.end + %14 = load i8*, i8** %lc_messages, align 8 + %call9 = call i32 @strncmp(i8* %14, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.31.106, i64 0, i64 0), i64 3) #24 + %tobool10 = icmp ne i32 %call9, 0 + br i1 %tobool10, label %if.then11, label %if.end13 + +if.then11: ; preds = %land.lhs.true + %15 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call12 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.32.107, i64 0, i64 0), %struct._IO_FILE* %15) + br label %if.end13 + +if.end13: ; preds = %if.then11, %land.lhs.true, %if.end + %16 = load i8*, i8** %program.addr, align 8 + %call14 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.33.108, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.30.105, i64 0, i64 0), i8* %16) + %17 = load i8*, i8** %node, align 8 + %18 = load i8*, i8** %node, align 8 + %19 = load i8*, i8** %program.addr, align 8 + %cmp15 = icmp eq i8* %18, %19 + %20 = zext i1 %cmp15 to i64 + %cond = select i1 %cmp15, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.35.109, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.8.110, i64 0, i64 0) + %call16 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([51 x i8], [51 x i8]* @.str.34.111, i64 0, i64 0), i8* %17, i8* %cond) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__klee_posix_wrapped_main(i32 %argc, i8** %argv) #3 { +entry: + %retval = alloca i32, align 4 + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %opt = alloca i32, align 4 + %input_fh = alloca %struct._IO_FILE*, align 8 + %infile = alloca i8*, align 8 + %decode = alloca i8, align 1 + %ignore_garbage = alloca i8, align 1 + %wrap_column = alloca i64, align 8 + store i32 0, i32* %retval, align 4 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8 0, i8* %decode, align 1 + store i8 0, i8* %ignore_garbage, align 1 + store i64 76, i64* %wrap_column, align 8 + %0 = load i8**, i8*** %argv.addr, align 8 + %arrayidx = getelementptr inbounds i8*, i8** %0, i64 0 + %1 = load i8*, i8** %arrayidx, align 8 + call void @set_program_name(i8* %1) + %call = call i8* @setlocale(i32 6, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.8.110, i64 0, i64 0)) #11 + %call1 = call i32 @atexit(void ()* @close_stdout) #11 + br label %while.cond + +while.cond: ; preds = %sw.epilog, %entry + %2 = load i32, i32* %argc.addr, align 4 + %3 = load i8**, i8*** %argv.addr, align 8 + %call2 = call i32 @getopt_long(i32 %2, i8** %3, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.9.125, i64 0, i64 0), %struct.option* getelementptr inbounds ([6 x %struct.option], [6 x %struct.option]* @long_options, i64 0, i64 0), i32* null) #11 + store i32 %call2, i32* %opt, align 4 + %cmp = icmp ne i32 %call2, -1 + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i32, i32* %opt, align 4 + br label %NodeBlock7 + +NodeBlock7: ; preds = %while.body + %case.cmp8 = icmp eq i32 %4, 100 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %4, 119 + br i1 %case.cmp6, label %sw.bb3, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %4, 105 + br i1 %case.cmp4, label %sw.bb5, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %4, -130 + br i1 %case.cmp2, label %sw.bb6, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %4, -131 + br i1 %case.cmp, label %sw.bb7, label %newDefault + +sw.bb: ; preds = %NodeBlock7 + store i8 1, i8* %decode, align 1 + br label %sw.epilog + +sw.bb3: ; preds = %NodeBlock5 + %5 = load i8*, i8** @optarg, align 8 + %call4 = call i64 @xdectoumax(i8* %5, i64 0, i64 -1, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.8.110, i64 0, i64 0), i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.10.126, i64 0, i64 0), i32 0) + store i64 %call4, i64* %wrap_column, align 8 + br label %sw.epilog + +sw.bb5: ; preds = %NodeBlock3 + store i8 1, i8* %ignore_garbage, align 1 + br label %sw.epilog + +sw.bb6: ; preds = %NodeBlock1 + call void @usage(i32 0) #25 + unreachable + +sw.bb7: ; preds = %NodeBlock + %6 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %7 = load i8*, i8** @Version, align 8 + call void (%struct._IO_FILE*, i8*, i8*, i8*, ...) @version_etc(%struct._IO_FILE* %6, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.7.102, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.11.104, i64 0, i64 0), i8* %7, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.12.127, i64 0, i64 0), i8* null) + call void @exit(i32 0) #27 + unreachable + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @usage(i32 1) #25 + unreachable + +sw.epilog: ; preds = %sw.bb5, %sw.bb3, %sw.bb + br label %while.cond + +while.end: ; preds = %while.cond + %8 = load i32, i32* %argc.addr, align 4 + %9 = load i32, i32* @optind, align 4 + %sub = sub nsw i32 %8, %9 + %cmp8 = icmp sgt i32 %sub, 1 + br i1 %cmp8, label %if.then, label %if.end + +if.then: ; preds = %while.end + %10 = load i8**, i8*** %argv.addr, align 8 + %11 = load i32, i32* @optind, align 4 + %add = add nsw i32 %11, 1 + %idxprom = sext i32 %add to i64 + %arrayidx9 = getelementptr inbounds i8*, i8** %10, i64 %idxprom + %12 = load i8*, i8** %arrayidx9, align 8 + %call10 = call i8* @quote(i8* %12) + call void (i32, i32, i8*, ...) @error(i32 0, i32 0, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.13.128, i64 0, i64 0), i8* %call10) + call void @usage(i32 1) #25 + unreachable + +if.end: ; preds = %while.end + %13 = load i32, i32* @optind, align 4 + %14 = load i32, i32* %argc.addr, align 4 + %cmp11 = icmp slt i32 %13, %14 + br i1 %cmp11, label %if.then12, label %if.else + +if.then12: ; preds = %if.end + %15 = load i8**, i8*** %argv.addr, align 8 + %16 = load i32, i32* @optind, align 4 + %idxprom13 = sext i32 %16 to i64 + %arrayidx14 = getelementptr inbounds i8*, i8** %15, i64 %idxprom13 + %17 = load i8*, i8** %arrayidx14, align 8 + store i8* %17, i8** %infile, align 8 + br label %if.end15 + +if.else: ; preds = %if.end + store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.14.129, i64 0, i64 0), i8** %infile, align 8 + br label %if.end15 + +if.end15: ; preds = %if.else, %if.then12 + %18 = load i8*, i8** %infile, align 8 + %call16 = call i32 @strcmp(i8* %18, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.14.129, i64 0, i64 0)) #24 + %cmp17 = icmp eq i32 %call16, 0 + br i1 %cmp17, label %if.then18, label %if.else19 + +if.then18: ; preds = %if.end15 + call void @xset_binary_mode(i32 0, i32 0) + %19 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdin to %struct._IO_FILE**), align 8 + store %struct._IO_FILE* %19, %struct._IO_FILE** %input_fh, align 8 + br label %if.end26 + +if.else19: ; preds = %if.end15 + %20 = load i8*, i8** %infile, align 8 + %call20 = call %struct._IO_FILE* bitcast (%struct.__STDIO_FILE_STRUCT.612* (i8*, i8*)* @fopen to %struct._IO_FILE* (i8*, i8*)*)(i8* %20, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.15.130, i64 0, i64 0)) + store %struct._IO_FILE* %call20, %struct._IO_FILE** %input_fh, align 8 + %21 = load %struct._IO_FILE*, %struct._IO_FILE** %input_fh, align 8 + %cmp21 = icmp eq %struct._IO_FILE* %21, null + br i1 %cmp21, label %if.then22, label %if.end26 + +if.then22: ; preds = %if.else19 + %call23 = call i32* @__errno_location() #26 + %22 = load i32, i32* %call23, align 4 + %23 = load i8*, i8** %infile, align 8 + %call24 = call i8* @quotearg_n_style_colon(i32 0, i32 3, i8* %23) + call void (i32, i32, i8*, ...) @error(i32 1, i32 %22, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.16.131, i64 0, i64 0), i8* %call24) + unreachable + +if.end26: ; preds = %if.else19, %if.then18 + %24 = load %struct._IO_FILE*, %struct._IO_FILE** %input_fh, align 8 + call void @fadvise(%struct._IO_FILE* %24, i32 2) + %25 = load i8, i8* %decode, align 1 + %tobool = trunc i8 %25 to i1 + %26 = load %struct._IO_FILE*, %struct._IO_FILE** %input_fh, align 8 + %27 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + br i1 %tobool, label %if.then27, label %if.else29 + +if.then27: ; preds = %if.end26 + %28 = load i8, i8* %ignore_garbage, align 1 + %tobool28 = trunc i8 %28 to i1 + call void @do_decode(%struct._IO_FILE* %26, %struct._IO_FILE* %27, i1 zeroext %tobool28) + br label %if.end30 + +if.else29: ; preds = %if.end26 + %29 = load i64, i64* %wrap_column, align 8 + call void @do_encode(%struct._IO_FILE* %26, %struct._IO_FILE* %27, i64 %29) + br label %if.end30 + +if.end30: ; preds = %if.else29, %if.then27 + %30 = load %struct._IO_FILE*, %struct._IO_FILE** %input_fh, align 8 + %call31 = call i32 @rpl_fclose(%struct._IO_FILE* %30) + %cmp32 = icmp eq i32 %call31, -1 + br i1 %cmp32, label %if.then33, label %if.end41 + +if.then33: ; preds = %if.end30 + %31 = load i8*, i8** %infile, align 8 + %call34 = call i32 @strcmp(i8* %31, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.14.129, i64 0, i64 0)) #24 + %cmp35 = icmp eq i32 %call34, 0 + %call37 = call i32* @__errno_location() #26 + %32 = load i32, i32* %call37, align 4 + br i1 %cmp35, label %if.then36, label %if.else38 + +if.then36: ; preds = %if.then33 + call void (i32, i32, i8*, ...) @error(i32 1, i32 %32, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.17.132, i64 0, i64 0)) + unreachable + +if.else38: ; preds = %if.then33 + %33 = load i8*, i8** %infile, align 8 + %call40 = call i8* @quotearg_n_style_colon(i32 0, i32 3, i8* %33) + call void (i32, i32, i8*, ...) @error(i32 1, i32 %32, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.16.131, i64 0, i64 0), i8* %call40) + unreachable + +if.end41: ; preds = %if.end30 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_program_name(i8* %argv0) #3 { +entry: + %argv0.addr = alloca i8*, align 8 + %slash = alloca i8*, align 8 + %base = alloca i8*, align 8 + store i8* %argv0, i8** %argv0.addr, align 8 + %0 = load i8*, i8** %argv0.addr, align 8 + %cmp = icmp eq i8* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stderr to %struct._IO_FILE**), align 8 + %call = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.66, i64 0, i64 0), %struct._IO_FILE* %1) + call void @abort() #27 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %argv0.addr, align 8 + %call1 = call i8* @strrchr(i8* %2, i32 47) #24 + store i8* %call1, i8** %slash, align 8 + %3 = load i8*, i8** %slash, align 8 + %cmp2 = icmp ne i8* %3, null + %4 = load i8*, i8** %slash, align 8 + %add.ptr = getelementptr inbounds i8, i8* %4, i64 1 + %5 = load i8*, i8** %argv0.addr, align 8 + %cond = select i1 %cmp2, i8* %add.ptr, i8* %5 + store i8* %cond, i8** %base, align 8 + %6 = load i8*, i8** %base, align 8 + %7 = load i8*, i8** %argv0.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %6 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %cmp3 = icmp sge i64 %sub.ptr.sub, 7 + br i1 %cmp3, label %land.lhs.true, label %if.end13 + +land.lhs.true: ; preds = %if.end + %8 = load i8*, i8** %base, align 8 + %add.ptr4 = getelementptr inbounds i8, i8* %8, i64 -7 + %call5 = call i32 @strncmp(i8* %add.ptr4, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1.67, i64 0, i64 0), i64 7) #24 + %cmp6 = icmp eq i32 %call5, 0 + br i1 %cmp6, label %if.then7, label %if.end13 + +if.then7: ; preds = %land.lhs.true + %9 = load i8*, i8** %base, align 8 + store i8* %9, i8** %argv0.addr, align 8 + %10 = load i8*, i8** %base, align 8 + %call8 = call i32 @strncmp(i8* %10, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2.68, i64 0, i64 0), i64 3) #24 + %cmp9 = icmp eq i32 %call8, 0 + br i1 %cmp9, label %if.then10, label %if.end13 + +if.then10: ; preds = %if.then7 + %11 = load i8*, i8** %base, align 8 + %add.ptr11 = getelementptr inbounds i8, i8* %11, i64 3 + store i8* %add.ptr11, i8** %argv0.addr, align 8 + %12 = load i8*, i8** %argv0.addr, align 8 + store i8* %12, i8** @program_invocation_short_name, align 8 + br label %if.end13 + +if.end13: ; preds = %if.then7, %if.then10, %land.lhs.true, %if.end + %13 = load i8*, i8** %argv0.addr, align 8 + store i8* %13, i8** @program_name, align 8 + %14 = load i8*, i8** %argv0.addr, align 8 + store i8* %14, i8** @program_invocation_name, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @close_stdout() #3 { +entry: + %write_error = alloca i8*, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call = call i32 @close_stream(%struct._IO_FILE* %0) + %cmp = icmp ne i32 %call, 0 + br i1 %cmp, label %land.lhs.true, label %if.end9 + +land.lhs.true: ; preds = %entry + %1 = load i8, i8* @ignore_EPIPE, align 1 + %tobool = trunc i8 %1 to i1 + br i1 %tobool, label %land.lhs.true1, label %if.then + +land.lhs.true1: ; preds = %land.lhs.true + %call2 = call i32* @__errno_location() #26 + %2 = load i32, i32* %call2, align 4 + %cmp3 = icmp eq i32 %2, 32 + br i1 %cmp3, label %if.end9, label %if.then + +if.then: ; preds = %land.lhs.true1, %land.lhs.true + store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.55, i64 0, i64 0), i8** %write_error, align 8 + %3 = load i8*, i8** @file_name, align 8 + %tobool4 = icmp ne i8* %3, null + %call6 = call i32* @__errno_location() #26 + %4 = load i32, i32* %call6, align 4 + br i1 %tobool4, label %if.then5, label %if.else + +if.then5: ; preds = %if.then + %5 = load i8*, i8** @file_name, align 8 + %call7 = call i8* @quotearg_colon(i8* %5) + %6 = load i8*, i8** %write_error, align 8 + call void (i32, i32, i8*, ...) @error(i32 0, i32 %4, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.56, i64 0, i64 0), i8* %call7, i8* %6) + br label %if.end + +if.else: ; preds = %if.then + %7 = load i8*, i8** %write_error, align 8 + call void (i32, i32, i8*, ...) @error(i32 0, i32 %4, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2.57, i64 0, i64 0), i8* %7) + br label %if.end + +if.end: ; preds = %if.else, %if.then5 + %8 = load volatile i32, i32* @exit_failure, align 4 + call void @_exit(i32 %8) #25 + unreachable + +if.end9: ; preds = %land.lhs.true1, %entry + %9 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stderr to %struct._IO_FILE**), align 8 + %call10 = call i32 @close_stream(%struct._IO_FILE* %9) + %cmp11 = icmp ne i32 %call10, 0 + br i1 %cmp11, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.end9 + %10 = load volatile i32, i32* @exit_failure, align 4 + call void @_exit(i32 %10) #25 + unreachable + +if.end13: ; preds = %if.end9 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @xdectoumax(i8* %n_str, i64 %min, i64 %max, i8* %suffixes, i8* %err, i32 %err_exit) #3 { +entry: + %n_str.addr = alloca i8*, align 8 + %min.addr = alloca i64, align 8 + %max.addr = alloca i64, align 8 + %suffixes.addr = alloca i8*, align 8 + %err.addr = alloca i8*, align 8 + %err_exit.addr = alloca i32, align 4 + store i8* %n_str, i8** %n_str.addr, align 8 + store i64 %min, i64* %min.addr, align 8 + store i64 %max, i64* %max.addr, align 8 + store i8* %suffixes, i8** %suffixes.addr, align 8 + store i8* %err, i8** %err.addr, align 8 + store i32 %err_exit, i32* %err_exit.addr, align 4 + %0 = load i8*, i8** %n_str.addr, align 8 + %1 = load i64, i64* %min.addr, align 8 + %2 = load i64, i64* %max.addr, align 8 + %3 = load i8*, i8** %suffixes.addr, align 8 + %4 = load i8*, i8** %err.addr, align 8 + %5 = load i32, i32* %err_exit.addr, align 4 + %call = call i64 @xnumtoumax(i8* %0, i32 10, i64 %1, i64 %2, i8* %3, i8* %4, i32 %5) + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, ...) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors = alloca [1 x %struct.__va_list_tag.0], align 16 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %authors, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %1 = load i8*, i8** %command_name.addr, align 8 + %2 = load i8*, i8** %package.addr, align 8 + %3 = load i8*, i8** %version.addr, align 8 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %authors, i64 0, i64 0 + call void @version_etc_va(%struct._IO_FILE* %0, i8* %1, i8* %2, i8* %3, %struct.__va_list_tag.0* %arraydecay2) + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %authors, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote(i8* %arg) #3 { +entry: + %arg.addr = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quote_n(i32 0, i8* %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @xset_binary_mode(i32 %fd, i32 %mode) #3 { +entry: + %fd.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i32, i32* %mode.addr, align 4 + %call = call i32 @set_binary_mode(i32 %0, i32 %1) + %cmp = icmp slt i32 %call, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xset_binary_mode_error() + br label %if.end + +if.end: ; preds = %if.then, %entry + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_style_colon(i32 %n, i32 %s, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %options = alloca %struct.quoting_options, align 8 + %tmp = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + call void @quoting_options_from_style(%struct.quoting_options* sret align 8 %tmp, i32 %0) + %1 = bitcast %struct.quoting_options* %options to i8* + %2 = bitcast %struct.quoting_options* %tmp to i8* + %3 = call i8* @memcpy(i8* %1, i8* %2, i64 56) + %call = call i32 @set_char_quoting(%struct.quoting_options* %options, i8 signext 58, i32 1) + %4 = load i32, i32* %n.addr, align 4 + %5 = load i8*, i8** %arg.addr, align 8 + %call1 = call i8* @quotearg_n_options(i32 %4, i8* %5, i64 -1, %struct.quoting_options* %options) + ret i8* %call1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @fadvise(%struct._IO_FILE* %fp, i32 %advice) #3 { +entry: + %fp.addr = alloca %struct._IO_FILE*, align 8 + %advice.addr = alloca i32, align 4 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + store i32 %advice, i32* %advice.addr, align 4 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %tobool = icmp ne %struct._IO_FILE* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %1) #11 + %2 = load i32, i32* %advice.addr, align 4 + call void @fdadvise(i32 %call, i64 0, i64 0, i32 %2) + br label %if.end + +if.end: ; preds = %if.then, %entry + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @do_decode(%struct._IO_FILE* %in, %struct._IO_FILE* %out, i1 zeroext %ignore_garbage) #3 { +entry: + %in.addr = alloca %struct._IO_FILE*, align 8 + %out.addr = alloca %struct._IO_FILE*, align 8 + %ignore_garbage.addr = alloca i8, align 1 + %inbuf = alloca i8*, align 8 + %outbuf = alloca i8*, align 8 + %sum = alloca i64, align 8 + %ctx = alloca %struct.base64_decode_context, align 4 + %ok = alloca i8, align 1 + %n = alloca i64, align 8 + %k = alloca i32, align 4 + %i = alloca i64, align 8 + store %struct._IO_FILE* %in, %struct._IO_FILE** %in.addr, align 8 + store %struct._IO_FILE* %out, %struct._IO_FILE** %out.addr, align 8 + %frombool = zext i1 %ignore_garbage to i8 + store i8 %frombool, i8* %ignore_garbage.addr, align 1 + %call = call noalias i8* @xmalloc(i64 4096) + store i8* %call, i8** %inbuf, align 8 + %call1 = call noalias i8* @xmalloc(i64 3072) + store i8* %call1, i8** %outbuf, align 8 + call void @base64_decode_ctx_init(%struct.base64_decode_context* %ctx) + br label %do.body + +do.body: ; preds = %do.cond61, %entry + store i64 0, i64* %sum, align 8 + br label %do.body2 + +do.body2: ; preds = %land.rhs26, %do.body + %0 = load i8*, i8** %inbuf, align 8 + %1 = load i64, i64* %sum, align 8 + %add.ptr = getelementptr inbounds i8, i8* %0, i64 %1 + %2 = load i64, i64* %sum, align 8 + %sub = sub i64 4096, %2 + %3 = load %struct._IO_FILE*, %struct._IO_FILE** %in.addr, align 8 + %call3 = call i64 bitcast (i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*)* @fread_unlocked to i64 (i8*, i64, i64, %struct._IO_FILE*)*)(i8* %add.ptr, i64 1, i64 %sub, %struct._IO_FILE* %3) + store i64 %call3, i64* %n, align 8 + %4 = load i8, i8* %ignore_garbage.addr, align 1 + %tobool = trunc i8 %4 to i1 + br i1 %tobool, label %if.then, label %if.end17 + +if.then: ; preds = %do.body2 + store i64 0, i64* %i, align 8 + br label %for.cond + +for.cond: ; preds = %if.end, %if.then + %5 = load i64, i64* %n, align 8 + %cmp = icmp ugt i64 %5, 0 + %6 = load i64, i64* %i, align 8 + %7 = load i64, i64* %n, align 8 + %cmp4 = icmp ult i64 %6, %7 + %8 = select i1 %cmp, i1 %cmp4, i1 false + br i1 %8, label %for.body, label %if.end17 + +for.body: ; preds = %for.cond + %9 = load i8*, i8** %inbuf, align 8 + %10 = load i64, i64* %sum, align 8 + %11 = load i64, i64* %i, align 8 + %add = add i64 %10, %11 + %arrayidx = getelementptr inbounds i8, i8* %9, i64 %add + %12 = load i8, i8* %arrayidx, align 1 + %call5 = call zeroext i1 @isbase64(i8 signext %12) #26 + br i1 %call5, label %if.then10, label %lor.lhs.false + +lor.lhs.false: ; preds = %for.body + %13 = load i8*, i8** %inbuf, align 8 + %14 = load i64, i64* %sum, align 8 + %15 = load i64, i64* %i, align 8 + %add6 = add i64 %14, %15 + %arrayidx7 = getelementptr inbounds i8, i8* %13, i64 %add6 + %16 = load i8, i8* %arrayidx7, align 1 + %conv = sext i8 %16 to i32 + %cmp8 = icmp eq i32 %conv, 61 + br i1 %cmp8, label %if.then10, label %if.else + +if.then10: ; preds = %lor.lhs.false, %for.body + %17 = load i64, i64* %i, align 8 + %inc = add i64 %17, 1 + store i64 %inc, i64* %i, align 8 + br label %if.end + +if.else: ; preds = %lor.lhs.false + %18 = load i8*, i8** %inbuf, align 8 + %19 = load i64, i64* %sum, align 8 + %add.ptr11 = getelementptr inbounds i8, i8* %18, i64 %19 + %20 = load i64, i64* %i, align 8 + %add.ptr12 = getelementptr inbounds i8, i8* %add.ptr11, i64 %20 + %21 = load i8*, i8** %inbuf, align 8 + %22 = load i64, i64* %sum, align 8 + %add.ptr13 = getelementptr inbounds i8, i8* %21, i64 %22 + %23 = load i64, i64* %i, align 8 + %add.ptr14 = getelementptr inbounds i8, i8* %add.ptr13, i64 %23 + %add.ptr15 = getelementptr inbounds i8, i8* %add.ptr14, i64 1 + %24 = load i64, i64* %n, align 8 + %dec = add i64 %24, -1 + store i64 %dec, i64* %n, align 8 + %25 = load i64, i64* %i, align 8 + %sub16 = sub i64 %dec, %25 + %26 = call i8* @memmove(i8* %add.ptr12, i8* %add.ptr15, i64 %sub16) + br label %if.end + +if.end: ; preds = %if.else, %if.then10 + br label %for.cond + +if.end17: ; preds = %for.cond, %do.body2 + %27 = load i64, i64* %n, align 8 + %28 = load i64, i64* %sum, align 8 + %add18 = add i64 %28, %27 + store i64 %add18, i64* %sum, align 8 + %29 = load %struct._IO_FILE*, %struct._IO_FILE** %in.addr, align 8 + %call19 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.592*)* @ferror_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %29) #11 + %tobool20 = icmp ne i32 %call19, 0 + br i1 %tobool20, label %if.then21, label %do.cond + +if.then21: ; preds = %if.end17 + %call22 = call i32* @__errno_location() #26 + %30 = load i32, i32* %call22, align 4 + call void (i32, i32, i8*, ...) @error(i32 1, i32 %30, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.41, i64 0, i64 0)) + unreachable + +do.cond: ; preds = %if.end17 + %31 = load i64, i64* %sum, align 8 + %cmp24 = icmp ult i64 %31, 4096 + br i1 %cmp24, label %land.rhs26, label %do.end + +land.rhs26: ; preds = %do.cond + %32 = load %struct._IO_FILE*, %struct._IO_FILE** %in.addr, align 8 + %call27 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.590*)* @feof_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %32) #11 + %tobool28 = icmp ne i32 %call27, 0 + %lnot = xor i1 %tobool28, true + br i1 %lnot, label %do.body2, label %do.end + +do.end: ; preds = %do.cond, %land.rhs26 + store i32 0, i32* %k, align 4 + br label %for.cond30 + +for.cond30: ; preds = %for.inc, %do.end + %33 = load i32, i32* %k, align 4 + %34 = load %struct._IO_FILE*, %struct._IO_FILE** %in.addr, align 8 + %call31 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.590*)* @feof_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %34) #11 + %tobool32 = icmp ne i32 %call31, 0 + %lnot33 = xor i1 %tobool32, true + %lnot34 = xor i1 %lnot33, true + %lnot.ext = zext i1 %lnot34 to i32 + %add35 = add nsw i32 1, %lnot.ext + %cmp36 = icmp ult i32 %33, %add35 + br i1 %cmp36, label %for.body38, label %do.cond61 + +for.body38: ; preds = %for.cond30 + %35 = load i32, i32* %k, align 4 + %cmp39 = icmp eq i32 %35, 1 + br i1 %cmp39, label %land.lhs.true, label %if.end45 + +land.lhs.true: ; preds = %for.body38 + %i41 = getelementptr inbounds %struct.base64_decode_context, %struct.base64_decode_context* %ctx, i32 0, i32 0 + %36 = load i32, i32* %i41, align 4 + %cmp42 = icmp eq i32 %36, 0 + br i1 %cmp42, label %do.cond61, label %if.end45 + +if.end45: ; preds = %land.lhs.true, %for.body38 + store i64 3072, i64* %n, align 8 + %37 = load i8*, i8** %inbuf, align 8 + %38 = load i32, i32* %k, align 4 + %cmp46 = icmp eq i32 %38, 0 + %39 = load i64, i64* %sum, align 8 + %cond = select i1 %cmp46, i64 %39, i64 0 + %40 = load i8*, i8** %outbuf, align 8 + %call48 = call zeroext i1 @base64_decode_ctx(%struct.base64_decode_context* %ctx, i8* %37, i64 %cond, i8* %40, i64* %n) + %frombool49 = zext i1 %call48 to i8 + store i8 %frombool49, i8* %ok, align 1 + %41 = load i8*, i8** %outbuf, align 8 + %42 = load i64, i64* %n, align 8 + %43 = load %struct._IO_FILE*, %struct._IO_FILE** %out.addr, align 8 + %call50 = call i64 bitcast (i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*)* @fwrite_unlocked to i64 (i8*, i64, i64, %struct._IO_FILE*)*)(i8* %41, i64 1, i64 %42, %struct._IO_FILE* %43) + %44 = load i64, i64* %n, align 8 + %cmp51 = icmp ult i64 %call50, %44 + br i1 %cmp51, label %if.then53, label %if.end55 + +if.then53: ; preds = %if.end45 + %call54 = call i32* @__errno_location() #26 + %45 = load i32, i32* %call54, align 4 + call void (i32, i32, i8*, ...) @error(i32 1, i32 %45, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.42, i64 0, i64 0)) + unreachable + +if.end55: ; preds = %if.end45 + %46 = load i8, i8* %ok, align 1 + %tobool56 = trunc i8 %46 to i1 + br i1 %tobool56, label %for.inc, label %if.then57 + +if.then57: ; preds = %if.end55 + call void (i32, i32, i8*, ...) @error(i32 1, i32 0, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.43, i64 0, i64 0)) + unreachable + +for.inc: ; preds = %if.end55 + %47 = load i32, i32* %k, align 4 + %inc59 = add i32 %47, 1 + store i32 %inc59, i32* %k, align 4 + br label %for.cond30 + +do.cond61: ; preds = %for.cond30, %land.lhs.true + %48 = load %struct._IO_FILE*, %struct._IO_FILE** %in.addr, align 8 + %call62 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.590*)* @feof_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %48) #11 + %tobool63 = icmp ne i32 %call62, 0 + %lnot64 = xor i1 %tobool63, true + br i1 %lnot64, label %do.body, label %do.end66 + +do.end66: ; preds = %do.cond61 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @do_encode(%struct._IO_FILE* %in, %struct._IO_FILE* %out, i64 %wrap_column) #3 { +entry: + %in.addr = alloca %struct._IO_FILE*, align 8 + %out.addr = alloca %struct._IO_FILE*, align 8 + %wrap_column.addr = alloca i64, align 8 + %current_column = alloca i64, align 8 + %inbuf = alloca i8*, align 8 + %outbuf = alloca i8*, align 8 + %sum = alloca i64, align 8 + %n = alloca i64, align 8 + store %struct._IO_FILE* %in, %struct._IO_FILE** %in.addr, align 8 + store %struct._IO_FILE* %out, %struct._IO_FILE** %out.addr, align 8 + store i64 %wrap_column, i64* %wrap_column.addr, align 8 + store i64 0, i64* %current_column, align 8 + %call = call noalias i8* @xmalloc(i64 30720) + store i8* %call, i8** %inbuf, align 8 + %call1 = call noalias i8* @xmalloc(i64 40960) + store i8* %call1, i8** %outbuf, align 8 + br label %do.body + +do.body: ; preds = %land.lhs.true15, %entry + store i64 0, i64* %sum, align 8 + br label %do.body2 + +do.body2: ; preds = %land.lhs.true, %do.body + %0 = load i8*, i8** %inbuf, align 8 + %1 = load i64, i64* %sum, align 8 + %add.ptr = getelementptr inbounds i8, i8* %0, i64 %1 + %2 = load i64, i64* %sum, align 8 + %sub = sub i64 30720, %2 + %3 = load %struct._IO_FILE*, %struct._IO_FILE** %in.addr, align 8 + %call3 = call i64 bitcast (i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*)* @fread_unlocked to i64 (i8*, i64, i64, %struct._IO_FILE*)*)(i8* %add.ptr, i64 1, i64 %sub, %struct._IO_FILE* %3) + store i64 %call3, i64* %n, align 8 + %4 = load i64, i64* %n, align 8 + %5 = load i64, i64* %sum, align 8 + %add = add i64 %5, %4 + store i64 %add, i64* %sum, align 8 + %6 = load %struct._IO_FILE*, %struct._IO_FILE** %in.addr, align 8 + %call4 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.590*)* @feof_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %6) #11 + %tobool = icmp ne i32 %call4, 0 + br i1 %tobool, label %do.end, label %land.lhs.true + +land.lhs.true: ; preds = %do.body2 + %7 = load %struct._IO_FILE*, %struct._IO_FILE** %in.addr, align 8 + %call5 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.592*)* @ferror_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %7) #11 + %tobool6 = icmp eq i32 %call5, 0 + %8 = load i64, i64* %sum, align 8 + %cmp = icmp ult i64 %8, 30720 + %or.cond3 = and i1 %tobool6, %cmp + br i1 %or.cond3, label %do.body2, label %do.end + +do.end: ; preds = %land.lhs.true, %do.body2 + %9 = load i64, i64* %sum, align 8 + %cmp7 = icmp ugt i64 %9, 0 + br i1 %cmp7, label %if.then, label %do.cond12 + +if.then: ; preds = %do.end + %10 = load i8*, i8** %inbuf, align 8 + %11 = load i64, i64* %sum, align 8 + %12 = load i8*, i8** %outbuf, align 8 + %13 = load i64, i64* %sum, align 8 + %add8 = add i64 %13, 2 + %div = udiv i64 %add8, 3 + %mul = mul i64 %div, 4 + call void @base64_encode(i8* %10, i64 %11, i8* %12, i64 %mul) + %14 = load i8*, i8** %outbuf, align 8 + %15 = load i64, i64* %sum, align 8 + %add9 = add i64 %15, 2 + %div10 = udiv i64 %add9, 3 + %mul11 = mul i64 %div10, 4 + %16 = load i64, i64* %wrap_column.addr, align 8 + %17 = load %struct._IO_FILE*, %struct._IO_FILE** %out.addr, align 8 + call void @wrap_write(i8* %14, i64 %mul11, i64 %16, i64* %current_column, %struct._IO_FILE* %17) + br label %do.cond12 + +do.cond12: ; preds = %do.end, %if.then + %18 = load %struct._IO_FILE*, %struct._IO_FILE** %in.addr, align 8 + %call13 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.590*)* @feof_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %18) #11 + %tobool14 = icmp ne i32 %call13, 0 + br i1 %tobool14, label %do.end21, label %land.lhs.true15 + +land.lhs.true15: ; preds = %do.cond12 + %19 = load %struct._IO_FILE*, %struct._IO_FILE** %in.addr, align 8 + %call16 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.592*)* @ferror_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %19) #11 + %tobool17 = icmp eq i32 %call16, 0 + %20 = load i64, i64* %sum, align 8 + %cmp19 = icmp eq i64 %20, 30720 + %or.cond4 = and i1 %tobool17, %cmp19 + br i1 %or.cond4, label %do.body, label %do.end21 + +do.end21: ; preds = %land.lhs.true15, %do.cond12 + %21 = load i64, i64* %wrap_column.addr, align 8 + %tobool22 = icmp ne i64 %21, 0 + %22 = load i64, i64* %current_column, align 8 + %cmp24 = icmp ugt i64 %22, 0 + %or.cond = and i1 %tobool22, %cmp24 + br i1 %or.cond, label %land.lhs.true25, label %if.end30 + +land.lhs.true25: ; preds = %do.end21 + %23 = load %struct._IO_FILE*, %struct._IO_FILE** %out.addr, align 8 + %call26 = call i32 bitcast (i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @fputc_unlocked to i32 (i32, %struct._IO_FILE*)*)(i32 10, %struct._IO_FILE* %23) + %cmp27 = icmp eq i32 %call26, -1 + br i1 %cmp27, label %if.then28, label %if.end30 + +if.then28: ; preds = %land.lhs.true25 + %call29 = call i32* @__errno_location() #26 + %24 = load i32, i32* %call29, align 4 + call void (i32, i32, i8*, ...) @error(i32 1, i32 %24, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.42, i64 0, i64 0)) + unreachable + +if.end30: ; preds = %land.lhs.true25, %do.end21 + %25 = load %struct._IO_FILE*, %struct._IO_FILE** %in.addr, align 8 + %call31 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.592*)* @ferror_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %25) #11 + %tobool32 = icmp ne i32 %call31, 0 + br i1 %tobool32, label %if.then33, label %if.end35 + +if.then33: ; preds = %if.end30 + %call34 = call i32* @__errno_location() #26 + %26 = load i32, i32* %call34, align 4 + call void (i32, i32, i8*, ...) @error(i32 1, i32 %26, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.41, i64 0, i64 0)) + unreachable + +if.end35: ; preds = %if.end30 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fclose(%struct._IO_FILE* nonnull %fp) #3 { +entry: + %retval = alloca i32, align 4 + %fp.addr = alloca %struct._IO_FILE*, align 8 + %saved_errno = alloca i32, align 4 + %fd = alloca i32, align 4 + %result = alloca i32, align 4 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + store i32 0, i32* %saved_errno, align 4 + store i32 0, i32* %result, align 4 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %0) #11 + store i32 %call, i32* %fd, align 4 + %1 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %1, 0 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call1 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fclose to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %2) + store i32 %call1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %call2 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.519*)* @__freading to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %2) #11 + %cmp3 = icmp ne i32 %call2, 0 + br i1 %cmp3, label %lor.lhs.false, label %land.lhs.true + +lor.lhs.false: ; preds = %if.end + %3 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call4 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %3) #11 + %call5 = call i64 @lseek(i32 %call4, i64 0, i32 1) #11 + %cmp6 = icmp ne i64 %call5, -1 + br i1 %cmp6, label %land.lhs.true, label %if.end10 + +land.lhs.true: ; preds = %lor.lhs.false, %if.end + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call7 = call i32 @rpl_fflush(%struct._IO_FILE* %4) + %tobool = icmp ne i32 %call7, 0 + br i1 %tobool, label %if.then8, label %if.end10 + +if.then8: ; preds = %land.lhs.true + %call9 = call i32* @__errno_location() #26 + %5 = load i32, i32* %call9, align 4 + store i32 %5, i32* %saved_errno, align 4 + br label %if.end10 + +if.end10: ; preds = %if.then8, %land.lhs.true, %lor.lhs.false + %6 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call11 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fclose to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %6) + store i32 %call11, i32* %result, align 4 + %7 = load i32, i32* %saved_errno, align 4 + %cmp12 = icmp ne i32 %7, 0 + br i1 %cmp12, label %if.then13, label %if.end15 + +if.then13: ; preds = %if.end10 + %8 = load i32, i32* %saved_errno, align 4 + %call14 = call i32* @__errno_location() #26 + store i32 %8, i32* %call14, align 4 + store i32 -1, i32* %result, align 4 + br label %if.end15 + +if.end15: ; preds = %if.then13, %if.end10 + %9 = load i32, i32* %result, align 4 + store i32 %9, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end15, %if.then + %10 = load i32, i32* %retval, align 4 + ret i32 %10 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fflush(%struct._IO_FILE* %stream) #3 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %cmp = icmp eq %struct._IO_FILE* %0, null + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.519*)* @__freading to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %1) #11 + %cmp1 = icmp ne i32 %call, 0 + br i1 %cmp1, label %if.end, label %if.then + +if.then: ; preds = %lor.lhs.false, %entry + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call2 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fflush to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %2) + store i32 %call2, i32* %retval, align 4 + br label %return + +if.end: ; preds = %lor.lhs.false + %3 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + call void @clear_ungetc_buffer_preserving_position(%struct._IO_FILE* %3) + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call3 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fflush to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %4) + store i32 %call3, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %5 = load i32, i32* %retval, align 4 + ret i32 %5 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @clear_ungetc_buffer_preserving_position(%struct._IO_FILE* %fp) #3 { +entry: + %fp.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_flags = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %0, i32 0, i32 0 + %1 = load i32, i32* %_flags, align 8 + %and = and i32 %1, 256 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 @rpl_fseeko(%struct._IO_FILE* %2, i64 0, i32 1) + br label %if.end + +if.end: ; preds = %if.then, %entry + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fseeko(%struct._IO_FILE* nonnull %fp, i64 %offset, i32 %whence) #3 { +entry: + %retval = alloca i32, align 4 + %fp.addr = alloca %struct._IO_FILE*, align 8 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + %pos = alloca i64, align 8 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_read_end = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %0, i32 0, i32 2 + %1 = load i8*, i8** %_IO_read_end, align 8 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_read_ptr = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %2, i32 0, i32 1 + %3 = load i8*, i8** %_IO_read_ptr, align 8 + %cmp = icmp eq i8* %1, %3 + br i1 %cmp, label %land.lhs.true, label %if.end7 + +land.lhs.true: ; preds = %entry + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_write_ptr = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %4, i32 0, i32 5 + %5 = load i8*, i8** %_IO_write_ptr, align 8 + %6 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_write_base = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %6, i32 0, i32 4 + %7 = load i8*, i8** %_IO_write_base, align 8 + %cmp1 = icmp eq i8* %5, %7 + br i1 %cmp1, label %land.lhs.true2, label %if.end7 + +land.lhs.true2: ; preds = %land.lhs.true + %8 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_save_base = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %8, i32 0, i32 9 + %9 = load i8*, i8** %_IO_save_base, align 8 + %cmp3 = icmp eq i8* %9, null + br i1 %cmp3, label %if.then, label %if.end7 + +if.then: ; preds = %land.lhs.true2 + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %10) #11 + %11 = load i64, i64* %offset.addr, align 8 + %12 = load i32, i32* %whence.addr, align 4 + %call4 = call i64 @lseek(i32 %call, i64 %11, i32 %12) #11 + store i64 %call4, i64* %pos, align 8 + %13 = load i64, i64* %pos, align 8 + %cmp5 = icmp eq i64 %13, -1 + br i1 %cmp5, label %if.then6, label %if.end + +if.then6: ; preds = %if.then + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %if.then + %14 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_flags = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %14, i32 0, i32 0 + %15 = load i32, i32* %_flags, align 8 + %and = and i32 %15, -17 + store i32 %and, i32* %_flags, align 8 + %16 = load i64, i64* %pos, align 8 + %17 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_offset = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %17, i32 0, i32 21 + store i64 %16, i64* %_offset, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.end7: ; preds = %land.lhs.true2, %land.lhs.true, %entry + %18 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %19 = load i64, i64* %offset.addr, align 8 + %20 = load i32, i32* %whence.addr, align 4 + %call8 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32)* @fseeko to i32 (%struct._IO_FILE*, i64, i32)*)(%struct._IO_FILE* %18, i64 %19, i32 %20) + store i32 %call8, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end7, %if.end, %if.then6 + %21 = load i32, i32* %retval, align 4 + ret i32 %21 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xmalloc(i64 %n) #3 { +entry: + %n.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @malloc(i64 %0) #11 + store i8* %call, i8** %p, align 8 + %1 = load i8*, i8** %p, align 8 + %tobool = icmp eq i8* %1, null + %2 = load i64, i64* %n.addr, align 8 + %cmp = icmp ne i64 %2, 0 + %or.cond = and i1 %tobool, %cmp + br i1 %or.cond, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xalloc_die() #25 + unreachable + +if.end: ; preds = %entry + %3 = load i8*, i8** %p, align 8 + ret i8* %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @base64_encode(i8* noalias %in, i64 %inlen, i8* noalias %out, i64 %outlen) #3 { +entry: + %in.addr = alloca i8*, align 8 + %inlen.addr = alloca i64, align 8 + %out.addr = alloca i8*, align 8 + %outlen.addr = alloca i64, align 8 + store i8* %in, i8** %in.addr, align 8 + store i64 %inlen, i64* %inlen.addr, align 8 + store i8* %out, i8** %out.addr, align 8 + store i64 %outlen, i64* %outlen.addr, align 8 + %0 = load i64, i64* %outlen.addr, align 8 + %rem = urem i64 %0, 4 + %cmp = icmp eq i64 %rem, 0 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %1 = load i64, i64* %inlen.addr, align 8 + %2 = load i64, i64* %outlen.addr, align 8 + %div = udiv i64 %2, 4 + %mul = mul i64 %div, 3 + %cmp1 = icmp eq i64 %1, %mul + br i1 %cmp1, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %3 = load i8*, i8** %in.addr, align 8 + %4 = load i64, i64* %inlen.addr, align 8 + %5 = load i8*, i8** %out.addr, align 8 + call void @base64_encode_fast(i8* %3, i64 %4, i8* %5) + br label %if.end81 + +if.end: ; preds = %land.lhs.true, %entry + br label %while.cond + +while.cond: ; preds = %if.end78, %if.end + %6 = load i64, i64* %inlen.addr, align 8 + %tobool = icmp ne i64 %6, 0 + %7 = load i64, i64* %outlen.addr, align 8 + %tobool2 = icmp ne i64 %7, 0 + %8 = select i1 %tobool, i1 %tobool2, i1 false + br i1 %8, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %9 = load i8*, i8** %in.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %9, i64 0 + %10 = load i8, i8* %arrayidx, align 1 + %call = call zeroext i8 @to_uchar(i8 signext %10) + %conv = zext i8 %call to i32 + %shr = ashr i32 %conv, 2 + %and = and i32 %shr, 63 + %idxprom = sext i32 %and to i64 + %arrayidx3 = getelementptr inbounds [64 x i8], [64 x i8]* @b64c, i64 0, i64 %idxprom + %11 = load i8, i8* %arrayidx3, align 1 + %12 = load i8*, i8** %out.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %12, i32 1 + store i8* %incdec.ptr, i8** %out.addr, align 8 + store i8 %11, i8* %12, align 1 + %13 = load i64, i64* %outlen.addr, align 8 + %dec = add i64 %13, -1 + store i64 %dec, i64* %outlen.addr, align 8 + %tobool4 = icmp ne i64 %dec, 0 + br i1 %tobool4, label %if.end6, label %while.end + +if.end6: ; preds = %while.body + %14 = load i8*, i8** %in.addr, align 8 + %arrayidx7 = getelementptr inbounds i8, i8* %14, i64 0 + %15 = load i8, i8* %arrayidx7, align 1 + %call8 = call zeroext i8 @to_uchar(i8 signext %15) + %conv9 = zext i8 %call8 to i32 + %shl = shl i32 %conv9, 4 + %16 = load i64, i64* %inlen.addr, align 8 + %dec10 = add i64 %16, -1 + store i64 %dec10, i64* %inlen.addr, align 8 + %tobool11 = icmp ne i64 %dec10, 0 + br i1 %tobool11, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end6 + %17 = load i8*, i8** %in.addr, align 8 + %arrayidx12 = getelementptr inbounds i8, i8* %17, i64 1 + %18 = load i8, i8* %arrayidx12, align 1 + %call13 = call zeroext i8 @to_uchar(i8 signext %18) + %conv14 = zext i8 %call13 to i32 + %shr15 = ashr i32 %conv14, 4 + br label %cond.end + +cond.end: ; preds = %if.end6, %cond.true + %cond = phi i32 [ %shr15, %cond.true ], [ 0, %if.end6 ] + %add = add nsw i32 %shl, %cond + %and16 = and i32 %add, 63 + %idxprom17 = sext i32 %and16 to i64 + %arrayidx18 = getelementptr inbounds [64 x i8], [64 x i8]* @b64c, i64 0, i64 %idxprom17 + %19 = load i8, i8* %arrayidx18, align 1 + %20 = load i8*, i8** %out.addr, align 8 + %incdec.ptr19 = getelementptr inbounds i8, i8* %20, i32 1 + store i8* %incdec.ptr19, i8** %out.addr, align 8 + store i8 %19, i8* %20, align 1 + %21 = load i64, i64* %outlen.addr, align 8 + %dec20 = add i64 %21, -1 + store i64 %dec20, i64* %outlen.addr, align 8 + %tobool21 = icmp ne i64 %dec20, 0 + br i1 %tobool21, label %if.end23, label %while.end + +if.end23: ; preds = %cond.end + %22 = load i64, i64* %inlen.addr, align 8 + %tobool24 = icmp ne i64 %22, 0 + br i1 %tobool24, label %cond.true25, label %cond.end46 + +cond.true25: ; preds = %if.end23 + %23 = load i8*, i8** %in.addr, align 8 + %arrayidx26 = getelementptr inbounds i8, i8* %23, i64 1 + %24 = load i8, i8* %arrayidx26, align 1 + %call27 = call zeroext i8 @to_uchar(i8 signext %24) + %conv28 = zext i8 %call27 to i32 + %shl29 = shl i32 %conv28, 2 + %25 = load i64, i64* %inlen.addr, align 8 + %dec30 = add i64 %25, -1 + store i64 %dec30, i64* %inlen.addr, align 8 + %tobool31 = icmp ne i64 %dec30, 0 + br i1 %tobool31, label %cond.true32, label %cond.end38 + +cond.true32: ; preds = %cond.true25 + %26 = load i8*, i8** %in.addr, align 8 + %arrayidx33 = getelementptr inbounds i8, i8* %26, i64 2 + %27 = load i8, i8* %arrayidx33, align 1 + %call34 = call zeroext i8 @to_uchar(i8 signext %27) + %conv35 = zext i8 %call34 to i32 + %shr36 = ashr i32 %conv35, 6 + br label %cond.end38 + +cond.end38: ; preds = %cond.true25, %cond.true32 + %cond39 = phi i32 [ %shr36, %cond.true32 ], [ 0, %cond.true25 ] + %add40 = add nsw i32 %shl29, %cond39 + %and41 = and i32 %add40, 63 + %idxprom42 = sext i32 %and41 to i64 + %arrayidx43 = getelementptr inbounds [64 x i8], [64 x i8]* @b64c, i64 0, i64 %idxprom42 + %28 = load i8, i8* %arrayidx43, align 1 + %conv44 = sext i8 %28 to i32 + br label %cond.end46 + +cond.end46: ; preds = %if.end23, %cond.end38 + %cond47 = phi i32 [ %conv44, %cond.end38 ], [ 61, %if.end23 ] + %conv48 = trunc i32 %cond47 to i8 + %29 = load i8*, i8** %out.addr, align 8 + %incdec.ptr49 = getelementptr inbounds i8, i8* %29, i32 1 + store i8* %incdec.ptr49, i8** %out.addr, align 8 + store i8 %conv48, i8* %29, align 1 + %30 = load i64, i64* %outlen.addr, align 8 + %dec50 = add i64 %30, -1 + store i64 %dec50, i64* %outlen.addr, align 8 + %tobool51 = icmp ne i64 %dec50, 0 + br i1 %tobool51, label %if.end53, label %while.end + +if.end53: ; preds = %cond.end46 + %31 = load i64, i64* %inlen.addr, align 8 + %tobool54 = icmp ne i64 %31, 0 + br i1 %tobool54, label %cond.true55, label %cond.end64 + +cond.true55: ; preds = %if.end53 + %32 = load i8*, i8** %in.addr, align 8 + %arrayidx56 = getelementptr inbounds i8, i8* %32, i64 2 + %33 = load i8, i8* %arrayidx56, align 1 + %call57 = call zeroext i8 @to_uchar(i8 signext %33) + %conv58 = zext i8 %call57 to i32 + %and59 = and i32 %conv58, 63 + %idxprom60 = sext i32 %and59 to i64 + %arrayidx61 = getelementptr inbounds [64 x i8], [64 x i8]* @b64c, i64 0, i64 %idxprom60 + %34 = load i8, i8* %arrayidx61, align 1 + %conv62 = sext i8 %34 to i32 + br label %cond.end64 + +cond.end64: ; preds = %if.end53, %cond.true55 + %cond65 = phi i32 [ %conv62, %cond.true55 ], [ 61, %if.end53 ] + %conv66 = trunc i32 %cond65 to i8 + %35 = load i8*, i8** %out.addr, align 8 + %incdec.ptr67 = getelementptr inbounds i8, i8* %35, i32 1 + store i8* %incdec.ptr67, i8** %out.addr, align 8 + store i8 %conv66, i8* %35, align 1 + %36 = load i64, i64* %outlen.addr, align 8 + %dec68 = add i64 %36, -1 + store i64 %dec68, i64* %outlen.addr, align 8 + %tobool69 = icmp ne i64 %dec68, 0 + br i1 %tobool69, label %if.end71, label %while.end + +if.end71: ; preds = %cond.end64 + %37 = load i64, i64* %inlen.addr, align 8 + %tobool72 = icmp ne i64 %37, 0 + br i1 %tobool72, label %if.then73, label %if.end75 + +if.then73: ; preds = %if.end71 + %38 = load i64, i64* %inlen.addr, align 8 + %dec74 = add i64 %38, -1 + store i64 %dec74, i64* %inlen.addr, align 8 + br label %if.end75 + +if.end75: ; preds = %if.then73, %if.end71 + %39 = load i64, i64* %inlen.addr, align 8 + %tobool76 = icmp ne i64 %39, 0 + br i1 %tobool76, label %if.then77, label %if.end78 + +if.then77: ; preds = %if.end75 + %40 = load i8*, i8** %in.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %40, i64 3 + store i8* %add.ptr, i8** %in.addr, align 8 + br label %if.end78 + +if.end78: ; preds = %if.then77, %if.end75 + br label %while.cond + +while.end: ; preds = %cond.end64, %cond.end46, %cond.end, %while.body, %while.cond + %41 = load i64, i64* %outlen.addr, align 8 + %tobool79 = icmp ne i64 %41, 0 + br i1 %tobool79, label %if.then80, label %if.end81 + +if.then80: ; preds = %while.end + %42 = load i8*, i8** %out.addr, align 8 + store i8 0, i8* %42, align 1 + br label %if.end81 + +if.end81: ; preds = %if.then, %if.then80, %while.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @wrap_write(i8* %buffer, i64 %len, i64 %wrap_column, i64* %current_column, %struct._IO_FILE* %out) #3 { +entry: + %buffer.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + %wrap_column.addr = alloca i64, align 8 + %current_column.addr = alloca i64*, align 8 + %out.addr = alloca %struct._IO_FILE*, align 8 + %written = alloca i64, align 8 + %cols_remaining = alloca i64, align 8 + %to_write = alloca i64, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store i64 %wrap_column, i64* %wrap_column.addr, align 8 + store i64* %current_column, i64** %current_column.addr, align 8 + store %struct._IO_FILE* %out, %struct._IO_FILE** %out.addr, align 8 + %0 = load i64, i64* %wrap_column.addr, align 8 + %cmp = icmp eq i64 %0, 0 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %1 = load i8*, i8** %buffer.addr, align 8 + %2 = load i64, i64* %len.addr, align 8 + %3 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call = call i64 bitcast (i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*)* @fwrite_unlocked to i64 (i8*, i64, i64, %struct._IO_FILE*)*)(i8* %1, i64 1, i64 %2, %struct._IO_FILE* %3) + %4 = load i64, i64* %len.addr, align 8 + %cmp1 = icmp ult i64 %call, %4 + br i1 %cmp1, label %if.then2, label %if.end28 + +if.then2: ; preds = %if.then + %call3 = call i32* @__errno_location() #26 + %5 = load i32, i32* %call3, align 4 + call void (i32, i32, i8*, ...) @error(i32 1, i32 %5, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.42, i64 0, i64 0)) + unreachable + +if.else: ; preds = %entry + store i64 0, i64* %written, align 8 + br label %for.cond + +for.cond: ; preds = %if.end27, %if.else + %6 = load i64, i64* %written, align 8 + %7 = load i64, i64* %len.addr, align 8 + %cmp4 = icmp ult i64 %6, %7 + br i1 %cmp4, label %for.body, label %if.end28 + +for.body: ; preds = %for.cond + %8 = load i64, i64* %wrap_column.addr, align 8 + %9 = load i64*, i64** %current_column.addr, align 8 + %10 = load i64, i64* %9, align 8 + %sub = sub i64 %8, %10 + store i64 %sub, i64* %cols_remaining, align 8 + %11 = load i64, i64* %cols_remaining, align 8 + %cmp5 = icmp ult i64 %11, -1 + %12 = load i64, i64* %cols_remaining, align 8 + %cond = select i1 %cmp5, i64 %12, i64 -1 + store i64 %cond, i64* %to_write, align 8 + %13 = load i64, i64* %to_write, align 8 + %14 = load i64, i64* %len.addr, align 8 + %15 = load i64, i64* %written, align 8 + %sub6 = sub i64 %14, %15 + %cmp7 = icmp ult i64 %13, %sub6 + %16 = load i64, i64* %to_write, align 8 + %17 = load i64, i64* %len.addr, align 8 + %18 = load i64, i64* %written, align 8 + %sub10 = sub i64 %17, %18 + %cond12 = select i1 %cmp7, i64 %16, i64 %sub10 + store i64 %cond12, i64* %to_write, align 8 + %19 = load i64, i64* %to_write, align 8 + %cmp13 = icmp eq i64 %19, 0 + br i1 %cmp13, label %if.then14, label %if.else20 + +if.then14: ; preds = %for.body + %20 = load %struct._IO_FILE*, %struct._IO_FILE** %out.addr, align 8 + %call15 = call i32 bitcast (i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @fputc_unlocked to i32 (i32, %struct._IO_FILE*)*)(i32 10, %struct._IO_FILE* %20) + %cmp16 = icmp eq i32 %call15, -1 + br i1 %cmp16, label %if.then17, label %if.end19 + +if.then17: ; preds = %if.then14 + %call18 = call i32* @__errno_location() #26 + %21 = load i32, i32* %call18, align 4 + call void (i32, i32, i8*, ...) @error(i32 1, i32 %21, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.42, i64 0, i64 0)) + unreachable + +if.end19: ; preds = %if.then14 + %22 = load i64*, i64** %current_column.addr, align 8 + store i64 0, i64* %22, align 8 + br label %if.end27 + +if.else20: ; preds = %for.body + %23 = load i8*, i8** %buffer.addr, align 8 + %24 = load i64, i64* %written, align 8 + %add.ptr = getelementptr inbounds i8, i8* %23, i64 %24 + %25 = load i64, i64* %to_write, align 8 + %26 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call21 = call i64 bitcast (i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*)* @fwrite_unlocked to i64 (i8*, i64, i64, %struct._IO_FILE*)*)(i8* %add.ptr, i64 1, i64 %25, %struct._IO_FILE* %26) + %27 = load i64, i64* %to_write, align 8 + %cmp22 = icmp ult i64 %call21, %27 + br i1 %cmp22, label %if.then23, label %if.end25 + +if.then23: ; preds = %if.else20 + %call24 = call i32* @__errno_location() #26 + %28 = load i32, i32* %call24, align 4 + call void (i32, i32, i8*, ...) @error(i32 1, i32 %28, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.42, i64 0, i64 0)) + unreachable + +if.end25: ; preds = %if.else20 + %29 = load i64, i64* %to_write, align 8 + %30 = load i64*, i64** %current_column.addr, align 8 + %31 = load i64, i64* %30, align 8 + %add = add i64 %31, %29 + store i64 %add, i64* %30, align 8 + %32 = load i64, i64* %to_write, align 8 + %33 = load i64, i64* %written, align 8 + %add26 = add i64 %33, %32 + store i64 %add26, i64* %written, align 8 + br label %if.end27 + +if.end27: ; preds = %if.end25, %if.end19 + br label %for.cond + +if.end28: ; preds = %for.cond, %if.then + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @base64_encode_fast(i8* noalias %in, i64 %inlen, i8* noalias %out) #3 { +entry: + %in.addr = alloca i8*, align 8 + %inlen.addr = alloca i64, align 8 + %out.addr = alloca i8*, align 8 + store i8* %in, i8** %in.addr, align 8 + store i64 %inlen, i64* %inlen.addr, align 8 + store i8* %out, i8** %out.addr, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %0 = load i64, i64* %inlen.addr, align 8 + %tobool = icmp ne i64 %0, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %1 = load i8*, i8** %in.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %call = call zeroext i8 @to_uchar(i8 signext %2) + %conv = zext i8 %call to i32 + %shr = ashr i32 %conv, 2 + %and = and i32 %shr, 63 + %idxprom = sext i32 %and to i64 + %arrayidx1 = getelementptr inbounds [64 x i8], [64 x i8]* @b64c, i64 0, i64 %idxprom + %3 = load i8, i8* %arrayidx1, align 1 + %4 = load i8*, i8** %out.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr, i8** %out.addr, align 8 + store i8 %3, i8* %4, align 1 + %5 = load i8*, i8** %in.addr, align 8 + %arrayidx2 = getelementptr inbounds i8, i8* %5, i64 0 + %6 = load i8, i8* %arrayidx2, align 1 + %call3 = call zeroext i8 @to_uchar(i8 signext %6) + %conv4 = zext i8 %call3 to i32 + %shl = shl i32 %conv4, 4 + %7 = load i8*, i8** %in.addr, align 8 + %arrayidx5 = getelementptr inbounds i8, i8* %7, i64 1 + %8 = load i8, i8* %arrayidx5, align 1 + %call6 = call zeroext i8 @to_uchar(i8 signext %8) + %conv7 = zext i8 %call6 to i32 + %shr8 = ashr i32 %conv7, 4 + %add = add nsw i32 %shl, %shr8 + %and9 = and i32 %add, 63 + %idxprom10 = sext i32 %and9 to i64 + %arrayidx11 = getelementptr inbounds [64 x i8], [64 x i8]* @b64c, i64 0, i64 %idxprom10 + %9 = load i8, i8* %arrayidx11, align 1 + %10 = load i8*, i8** %out.addr, align 8 + %incdec.ptr12 = getelementptr inbounds i8, i8* %10, i32 1 + store i8* %incdec.ptr12, i8** %out.addr, align 8 + store i8 %9, i8* %10, align 1 + %11 = load i8*, i8** %in.addr, align 8 + %arrayidx13 = getelementptr inbounds i8, i8* %11, i64 1 + %12 = load i8, i8* %arrayidx13, align 1 + %call14 = call zeroext i8 @to_uchar(i8 signext %12) + %conv15 = zext i8 %call14 to i32 + %shl16 = shl i32 %conv15, 2 + %13 = load i8*, i8** %in.addr, align 8 + %arrayidx17 = getelementptr inbounds i8, i8* %13, i64 2 + %14 = load i8, i8* %arrayidx17, align 1 + %call18 = call zeroext i8 @to_uchar(i8 signext %14) + %conv19 = zext i8 %call18 to i32 + %shr20 = ashr i32 %conv19, 6 + %add21 = add nsw i32 %shl16, %shr20 + %and22 = and i32 %add21, 63 + %idxprom23 = sext i32 %and22 to i64 + %arrayidx24 = getelementptr inbounds [64 x i8], [64 x i8]* @b64c, i64 0, i64 %idxprom23 + %15 = load i8, i8* %arrayidx24, align 1 + %16 = load i8*, i8** %out.addr, align 8 + %incdec.ptr25 = getelementptr inbounds i8, i8* %16, i32 1 + store i8* %incdec.ptr25, i8** %out.addr, align 8 + store i8 %15, i8* %16, align 1 + %17 = load i8*, i8** %in.addr, align 8 + %arrayidx26 = getelementptr inbounds i8, i8* %17, i64 2 + %18 = load i8, i8* %arrayidx26, align 1 + %call27 = call zeroext i8 @to_uchar(i8 signext %18) + %conv28 = zext i8 %call27 to i32 + %and29 = and i32 %conv28, 63 + %idxprom30 = sext i32 %and29 to i64 + %arrayidx31 = getelementptr inbounds [64 x i8], [64 x i8]* @b64c, i64 0, i64 %idxprom30 + %19 = load i8, i8* %arrayidx31, align 1 + %20 = load i8*, i8** %out.addr, align 8 + %incdec.ptr32 = getelementptr inbounds i8, i8* %20, i32 1 + store i8* %incdec.ptr32, i8** %out.addr, align 8 + store i8 %19, i8* %20, align 1 + %21 = load i64, i64* %inlen.addr, align 8 + %sub = sub i64 %21, 3 + store i64 %sub, i64* %inlen.addr, align 8 + %22 = load i8*, i8** %in.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %22, i64 3 + store i8* %add.ptr, i8** %in.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal zeroext i8 @to_uchar(i8 signext %ch) #3 { +entry: + %ch.addr = alloca i8, align 1 + store i8 %ch, i8* %ch.addr, align 1 + %0 = load i8, i8* %ch.addr, align 1 + ret i8 %0 +} + +; Function Attrs: noinline noreturn nounwind uwtable +define dso_local void @xalloc_die() #6 { +entry: + %0 = load volatile i32, i32* @exit_failure, align 4 + call void (i32, i32, i8*, ...) @error(i32 %0, i32 0, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.131, i64 0, i64 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.1.132, i64 0, i64 0)) + call void @abort() #27 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @base64_decode_ctx_init(%struct.base64_decode_context* %ctx) #3 { +entry: + %ctx.addr = alloca %struct.base64_decode_context*, align 8 + store %struct.base64_decode_context* %ctx, %struct.base64_decode_context** %ctx.addr, align 8 + %0 = load %struct.base64_decode_context*, %struct.base64_decode_context** %ctx.addr, align 8 + %i = getelementptr inbounds %struct.base64_decode_context, %struct.base64_decode_context* %0, i32 0, i32 0 + store i32 0, i32* %i, align 4 + ret void +} + +; Function Attrs: noinline nounwind readnone uwtable +define dso_local zeroext i1 @isbase64(i8 signext %ch) #15 { +entry: + %ch.addr = alloca i8, align 1 + store i8 %ch, i8* %ch.addr, align 1 + %0 = load i8, i8* %ch.addr, align 1 + %call = call zeroext i8 @to_uchar(i8 signext %0) + %idxprom = zext i8 %call to i64 + %arrayidx = getelementptr inbounds [256 x i8], [256 x i8]* @b64, i64 0, i64 %idxprom + %1 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %1 to i32 + %cmp = icmp sle i32 0, %conv + ret i1 %cmp +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @base64_decode_ctx(%struct.base64_decode_context* %ctx, i8* noalias %in, i64 %inlen, i8* noalias %out, i64* %outlen) #3 { +entry: + %ctx.addr = alloca %struct.base64_decode_context*, align 8 + %in.addr = alloca i8*, align 8 + %inlen.addr = alloca i64, align 8 + %out.addr = alloca i8*, align 8 + %outlen.addr = alloca i64*, align 8 + %outleft = alloca i64, align 8 + %ignore_newlines = alloca i8, align 1 + %flush_ctx = alloca i8, align 1 + %ctx_i = alloca i32, align 4 + %outleft_save = alloca i64, align 8 + %in_end = alloca i8*, align 8 + %non_nl = alloca i8*, align 8 + store %struct.base64_decode_context* %ctx, %struct.base64_decode_context** %ctx.addr, align 8 + store i8* %in, i8** %in.addr, align 8 + store i64 %inlen, i64* %inlen.addr, align 8 + store i8* %out, i8** %out.addr, align 8 + store i64* %outlen, i64** %outlen.addr, align 8 + %0 = load i64*, i64** %outlen.addr, align 8 + %1 = load i64, i64* %0, align 8 + store i64 %1, i64* %outleft, align 8 + %2 = load %struct.base64_decode_context*, %struct.base64_decode_context** %ctx.addr, align 8 + %cmp = icmp ne %struct.base64_decode_context* %2, null + %frombool = zext i1 %cmp to i8 + store i8 %frombool, i8* %ignore_newlines, align 1 + store i8 0, i8* %flush_ctx, align 1 + store i32 0, i32* %ctx_i, align 4 + %3 = load i8, i8* %ignore_newlines, align 1 + %tobool = trunc i8 %3 to i1 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %4 = load %struct.base64_decode_context*, %struct.base64_decode_context** %ctx.addr, align 8 + %i = getelementptr inbounds %struct.base64_decode_context, %struct.base64_decode_context* %4, i32 0, i32 0 + %5 = load i32, i32* %i, align 4 + store i32 %5, i32* %ctx_i, align 4 + %6 = load i64, i64* %inlen.addr, align 8 + %cmp1 = icmp eq i64 %6, 0 + %frombool2 = zext i1 %cmp1 to i8 + store i8 %frombool2, i8* %flush_ctx, align 1 + br label %if.end + +if.end: ; preds = %if.then, %entry + br label %while.body + +while.body: ; preds = %if.end, %if.then23, %if.end45 + %7 = load i64, i64* %outleft, align 8 + store i64 %7, i64* %outleft_save, align 8 + %8 = load i32, i32* %ctx_i, align 4 + %cmp3 = icmp eq i32 %8, 0 + br i1 %cmp3, label %land.lhs.true, label %if.end10 + +land.lhs.true: ; preds = %while.body + %9 = load i8, i8* %flush_ctx, align 1 + %tobool4 = trunc i8 %9 to i1 + br i1 %tobool4, label %if.end10, label %while.body7 + +while.body7: ; preds = %land.lhs.true, %if.end9 + %10 = load i64, i64* %outleft, align 8 + store i64 %10, i64* %outleft_save, align 8 + %11 = load i8*, i8** %in.addr, align 8 + %12 = load i64, i64* %inlen.addr, align 8 + %call = call zeroext i1 @decode_4(i8* %11, i64 %12, i8** %out.addr, i64* %outleft) + br i1 %call, label %if.end9, label %if.end10 + +if.end9: ; preds = %while.body7 + %13 = load i8*, i8** %in.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %13, i64 4 + store i8* %add.ptr, i8** %in.addr, align 8 + %14 = load i64, i64* %inlen.addr, align 8 + %sub = sub i64 %14, 4 + store i64 %sub, i64* %inlen.addr, align 8 + br label %while.body7 + +if.end10: ; preds = %while.body7, %land.lhs.true, %while.body + %15 = load i64, i64* %inlen.addr, align 8 + %cmp11 = icmp eq i64 %15, 0 + br i1 %cmp11, label %land.lhs.true12, label %if.end15 + +land.lhs.true12: ; preds = %if.end10 + %16 = load i8, i8* %flush_ctx, align 1 + %tobool13 = trunc i8 %16 to i1 + br i1 %tobool13, label %if.end15, label %while.end46 + +if.end15: ; preds = %land.lhs.true12, %if.end10 + %17 = load i64, i64* %inlen.addr, align 8 + %tobool16 = icmp ne i64 %17, 0 + br i1 %tobool16, label %land.lhs.true17, label %if.end24 + +land.lhs.true17: ; preds = %if.end15 + %18 = load i8*, i8** %in.addr, align 8 + %19 = load i8, i8* %18, align 1 + %conv = sext i8 %19 to i32 + %cmp18 = icmp eq i32 %conv, 10 + br i1 %cmp18, label %land.lhs.true20, label %if.end24 + +land.lhs.true20: ; preds = %land.lhs.true17 + %20 = load i8, i8* %ignore_newlines, align 1 + %tobool21 = trunc i8 %20 to i1 + br i1 %tobool21, label %if.then23, label %if.end24 + +if.then23: ; preds = %land.lhs.true20 + %21 = load i8*, i8** %in.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %21, i32 1 + store i8* %incdec.ptr, i8** %in.addr, align 8 + %22 = load i64, i64* %inlen.addr, align 8 + %dec = add i64 %22, -1 + store i64 %dec, i64* %inlen.addr, align 8 + br label %while.body + +if.end24: ; preds = %land.lhs.true20, %land.lhs.true17, %if.end15 + %23 = load i64, i64* %outleft_save, align 8 + %24 = load i64, i64* %outleft, align 8 + %sub25 = sub i64 %23, %24 + %25 = load i8*, i8** %out.addr, align 8 + %idx.neg = sub i64 0, %sub25 + %add.ptr26 = getelementptr inbounds i8, i8* %25, i64 %idx.neg + store i8* %add.ptr26, i8** %out.addr, align 8 + %26 = load i64, i64* %outleft_save, align 8 + store i64 %26, i64* %outleft, align 8 + %27 = load i8*, i8** %in.addr, align 8 + %28 = load i64, i64* %inlen.addr, align 8 + %add.ptr27 = getelementptr inbounds i8, i8* %27, i64 %28 + store i8* %add.ptr27, i8** %in_end, align 8 + %29 = load i8, i8* %ignore_newlines, align 1 + %tobool28 = trunc i8 %29 to i1 + br i1 %tobool28, label %if.then29, label %if.else + +if.then29: ; preds = %if.end24 + %30 = load %struct.base64_decode_context*, %struct.base64_decode_context** %ctx.addr, align 8 + %31 = load i8*, i8** %in_end, align 8 + %call30 = call i8* @get_4(%struct.base64_decode_context* %30, i8** %in.addr, i8* %31, i64* %inlen.addr) + store i8* %call30, i8** %non_nl, align 8 + br label %if.end31 + +if.else: ; preds = %if.end24 + %32 = load i8*, i8** %in.addr, align 8 + store i8* %32, i8** %non_nl, align 8 + br label %if.end31 + +if.end31: ; preds = %if.else, %if.then29 + %33 = load i64, i64* %inlen.addr, align 8 + %cmp32 = icmp eq i64 %33, 0 + br i1 %cmp32, label %if.then41, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end31 + %34 = load i64, i64* %inlen.addr, align 8 + %cmp34 = icmp ult i64 %34, 4 + br i1 %cmp34, label %land.lhs.true36, label %if.end42 + +land.lhs.true36: ; preds = %lor.lhs.false + %35 = load i8, i8* %flush_ctx, align 1 + %tobool37 = trunc i8 %35 to i1 + br i1 %tobool37, label %if.end42, label %land.lhs.true38 + +land.lhs.true38: ; preds = %land.lhs.true36 + %36 = load i8, i8* %ignore_newlines, align 1 + %tobool39 = trunc i8 %36 to i1 + br i1 %tobool39, label %if.then41, label %if.end42 + +if.then41: ; preds = %land.lhs.true38, %if.end31 + store i64 0, i64* %inlen.addr, align 8 + br label %while.end46 + +if.end42: ; preds = %land.lhs.true38, %land.lhs.true36, %lor.lhs.false + %37 = load i8*, i8** %non_nl, align 8 + %38 = load i64, i64* %inlen.addr, align 8 + %call43 = call zeroext i1 @decode_4(i8* %37, i64 %38, i8** %out.addr, i64* %outleft) + br i1 %call43, label %if.end45, label %while.end46 + +if.end45: ; preds = %if.end42 + %39 = load i8*, i8** %in_end, align 8 + %40 = load i8*, i8** %in.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %39 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %40 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %inlen.addr, align 8 + br label %while.body + +while.end46: ; preds = %if.end42, %land.lhs.true12, %if.then41 + %41 = load i64, i64* %outleft, align 8 + %42 = load i64*, i64** %outlen.addr, align 8 + %43 = load i64, i64* %42, align 8 + %sub47 = sub i64 %43, %41 + store i64 %sub47, i64* %42, align 8 + %44 = load i64, i64* %inlen.addr, align 8 + %cmp48 = icmp eq i64 %44, 0 + ret i1 %cmp48 +} + +; Function Attrs: noinline nounwind uwtable +define internal zeroext i1 @decode_4(i8* noalias %in, i64 %inlen, i8** %outp, i64* %outleft) #3 { +entry: + %retval = alloca i1, align 1 + %in.addr = alloca i8*, align 8 + %inlen.addr = alloca i64, align 8 + %outp.addr = alloca i8**, align 8 + %outleft.addr = alloca i64*, align 8 + %out = alloca i8*, align 8 + store i8* %in, i8** %in.addr, align 8 + store i64 %inlen, i64* %inlen.addr, align 8 + store i8** %outp, i8*** %outp.addr, align 8 + store i64* %outleft, i64** %outleft.addr, align 8 + %0 = load i8**, i8*** %outp.addr, align 8 + %1 = load i8*, i8** %0, align 8 + store i8* %1, i8** %out, align 8 + %2 = load i64, i64* %inlen.addr, align 8 + %cmp = icmp ult i64 %2, 2 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +if.end: ; preds = %entry + %3 = load i8*, i8** %in.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %3, i64 0 + %4 = load i8, i8* %arrayidx, align 1 + %call = call zeroext i1 @isbase64(i8 signext %4) #26 + br i1 %call, label %lor.lhs.false, label %if.then3 + +lor.lhs.false: ; preds = %if.end + %5 = load i8*, i8** %in.addr, align 8 + %arrayidx1 = getelementptr inbounds i8, i8* %5, i64 1 + %6 = load i8, i8* %arrayidx1, align 1 + %call2 = call zeroext i1 @isbase64(i8 signext %6) #26 + br i1 %call2, label %if.end4, label %if.then3 + +if.then3: ; preds = %lor.lhs.false, %if.end + store i1 false, i1* %retval, align 1 + br label %return + +if.end4: ; preds = %lor.lhs.false + %7 = load i64*, i64** %outleft.addr, align 8 + %8 = load i64, i64* %7, align 8 + %tobool = icmp ne i64 %8, 0 + br i1 %tobool, label %if.then5, label %if.end15 + +if.then5: ; preds = %if.end4 + %9 = load i8*, i8** %in.addr, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %9, i64 0 + %10 = load i8, i8* %arrayidx6, align 1 + %call7 = call zeroext i8 @to_uchar(i8 signext %10) + %idxprom = zext i8 %call7 to i64 + %arrayidx8 = getelementptr inbounds [256 x i8], [256 x i8]* @b64, i64 0, i64 %idxprom + %11 = load i8, i8* %arrayidx8, align 1 + %conv = sext i8 %11 to i32 + %shl = shl i32 %conv, 2 + %12 = load i8*, i8** %in.addr, align 8 + %arrayidx9 = getelementptr inbounds i8, i8* %12, i64 1 + %13 = load i8, i8* %arrayidx9, align 1 + %call10 = call zeroext i8 @to_uchar(i8 signext %13) + %idxprom11 = zext i8 %call10 to i64 + %arrayidx12 = getelementptr inbounds [256 x i8], [256 x i8]* @b64, i64 0, i64 %idxprom11 + %14 = load i8, i8* %arrayidx12, align 1 + %conv13 = sext i8 %14 to i32 + %shr = ashr i32 %conv13, 4 + %or = or i32 %shl, %shr + %conv14 = trunc i32 %or to i8 + %15 = load i8*, i8** %out, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %15, i32 1 + store i8* %incdec.ptr, i8** %out, align 8 + store i8 %conv14, i8* %15, align 1 + %16 = load i64*, i64** %outleft.addr, align 8 + %17 = load i64, i64* %16, align 8 + %dec = add i64 %17, -1 + store i64 %dec, i64* %16, align 8 + br label %if.end15 + +if.end15: ; preds = %if.then5, %if.end4 + %18 = load i64, i64* %inlen.addr, align 8 + %cmp16 = icmp eq i64 %18, 2 + br i1 %cmp16, label %do.body, label %if.end19 + +do.body: ; preds = %if.end15 + %19 = load i8*, i8** %out, align 8 + %20 = load i8**, i8*** %outp.addr, align 8 + store i8* %19, i8** %20, align 8 + store i1 false, i1* %retval, align 1 + br label %return + +if.end19: ; preds = %if.end15 + %21 = load i8*, i8** %in.addr, align 8 + %arrayidx20 = getelementptr inbounds i8, i8* %21, i64 2 + %22 = load i8, i8* %arrayidx20, align 1 + %conv21 = sext i8 %22 to i32 + %cmp22 = icmp eq i32 %conv21, 61 + br i1 %cmp22, label %if.then24, label %if.else + +if.then24: ; preds = %if.end19 + %23 = load i64, i64* %inlen.addr, align 8 + %cmp25 = icmp ne i64 %23, 4 + br i1 %cmp25, label %do.body28, label %if.end30 + +do.body28: ; preds = %if.then24 + %24 = load i8*, i8** %out, align 8 + %25 = load i8**, i8*** %outp.addr, align 8 + store i8* %24, i8** %25, align 8 + store i1 false, i1* %retval, align 1 + br label %return + +if.end30: ; preds = %if.then24 + %26 = load i8*, i8** %in.addr, align 8 + %arrayidx31 = getelementptr inbounds i8, i8* %26, i64 3 + %27 = load i8, i8* %arrayidx31, align 1 + %conv32 = sext i8 %27 to i32 + %cmp33 = icmp ne i32 %conv32, 61 + br i1 %cmp33, label %do.body36, label %if.end108 + +do.body36: ; preds = %if.end30 + %28 = load i8*, i8** %out, align 8 + %29 = load i8**, i8*** %outp.addr, align 8 + store i8* %28, i8** %29, align 8 + store i1 false, i1* %retval, align 1 + br label %return + +if.else: ; preds = %if.end19 + %30 = load i8*, i8** %in.addr, align 8 + %arrayidx39 = getelementptr inbounds i8, i8* %30, i64 2 + %31 = load i8, i8* %arrayidx39, align 1 + %call40 = call zeroext i1 @isbase64(i8 signext %31) #26 + br i1 %call40, label %if.end44, label %do.body42 + +do.body42: ; preds = %if.else + %32 = load i8*, i8** %out, align 8 + %33 = load i8**, i8*** %outp.addr, align 8 + store i8* %32, i8** %33, align 8 + store i1 false, i1* %retval, align 1 + br label %return + +if.end44: ; preds = %if.else + %34 = load i64*, i64** %outleft.addr, align 8 + %35 = load i64, i64* %34, align 8 + %tobool45 = icmp ne i64 %35, 0 + br i1 %tobool45, label %if.then46, label %if.end63 + +if.then46: ; preds = %if.end44 + %36 = load i8*, i8** %in.addr, align 8 + %arrayidx47 = getelementptr inbounds i8, i8* %36, i64 1 + %37 = load i8, i8* %arrayidx47, align 1 + %call48 = call zeroext i8 @to_uchar(i8 signext %37) + %idxprom49 = zext i8 %call48 to i64 + %arrayidx50 = getelementptr inbounds [256 x i8], [256 x i8]* @b64, i64 0, i64 %idxprom49 + %38 = load i8, i8* %arrayidx50, align 1 + %conv51 = sext i8 %38 to i32 + %shl52 = shl i32 %conv51, 4 + %and = and i32 %shl52, 240 + %39 = load i8*, i8** %in.addr, align 8 + %arrayidx53 = getelementptr inbounds i8, i8* %39, i64 2 + %40 = load i8, i8* %arrayidx53, align 1 + %call54 = call zeroext i8 @to_uchar(i8 signext %40) + %idxprom55 = zext i8 %call54 to i64 + %arrayidx56 = getelementptr inbounds [256 x i8], [256 x i8]* @b64, i64 0, i64 %idxprom55 + %41 = load i8, i8* %arrayidx56, align 1 + %conv57 = sext i8 %41 to i32 + %shr58 = ashr i32 %conv57, 2 + %or59 = or i32 %and, %shr58 + %conv60 = trunc i32 %or59 to i8 + %42 = load i8*, i8** %out, align 8 + %incdec.ptr61 = getelementptr inbounds i8, i8* %42, i32 1 + store i8* %incdec.ptr61, i8** %out, align 8 + store i8 %conv60, i8* %42, align 1 + %43 = load i64*, i64** %outleft.addr, align 8 + %44 = load i64, i64* %43, align 8 + %dec62 = add i64 %44, -1 + store i64 %dec62, i64* %43, align 8 + br label %if.end63 + +if.end63: ; preds = %if.then46, %if.end44 + %45 = load i64, i64* %inlen.addr, align 8 + %cmp64 = icmp eq i64 %45, 3 + br i1 %cmp64, label %do.body67, label %if.end69 + +do.body67: ; preds = %if.end63 + %46 = load i8*, i8** %out, align 8 + %47 = load i8**, i8*** %outp.addr, align 8 + store i8* %46, i8** %47, align 8 + store i1 false, i1* %retval, align 1 + br label %return + +if.end69: ; preds = %if.end63 + %48 = load i8*, i8** %in.addr, align 8 + %arrayidx70 = getelementptr inbounds i8, i8* %48, i64 3 + %49 = load i8, i8* %arrayidx70, align 1 + %conv71 = sext i8 %49 to i32 + %cmp72 = icmp eq i32 %conv71, 61 + br i1 %cmp72, label %if.then74, label %if.else81 + +if.then74: ; preds = %if.end69 + %50 = load i64, i64* %inlen.addr, align 8 + %cmp75 = icmp ne i64 %50, 4 + br i1 %cmp75, label %do.body78, label %if.end108 + +do.body78: ; preds = %if.then74 + %51 = load i8*, i8** %out, align 8 + %52 = load i8**, i8*** %outp.addr, align 8 + store i8* %51, i8** %52, align 8 + store i1 false, i1* %retval, align 1 + br label %return + +if.else81: ; preds = %if.end69 + %53 = load i8*, i8** %in.addr, align 8 + %arrayidx82 = getelementptr inbounds i8, i8* %53, i64 3 + %54 = load i8, i8* %arrayidx82, align 1 + %call83 = call zeroext i1 @isbase64(i8 signext %54) #26 + br i1 %call83, label %if.end87, label %do.body85 + +do.body85: ; preds = %if.else81 + %55 = load i8*, i8** %out, align 8 + %56 = load i8**, i8*** %outp.addr, align 8 + store i8* %55, i8** %56, align 8 + store i1 false, i1* %retval, align 1 + br label %return + +if.end87: ; preds = %if.else81 + %57 = load i64*, i64** %outleft.addr, align 8 + %58 = load i64, i64* %57, align 8 + %tobool88 = icmp ne i64 %58, 0 + br i1 %tobool88, label %if.then89, label %if.end108 + +if.then89: ; preds = %if.end87 + %59 = load i8*, i8** %in.addr, align 8 + %arrayidx90 = getelementptr inbounds i8, i8* %59, i64 2 + %60 = load i8, i8* %arrayidx90, align 1 + %call91 = call zeroext i8 @to_uchar(i8 signext %60) + %idxprom92 = zext i8 %call91 to i64 + %arrayidx93 = getelementptr inbounds [256 x i8], [256 x i8]* @b64, i64 0, i64 %idxprom92 + %61 = load i8, i8* %arrayidx93, align 1 + %conv94 = sext i8 %61 to i32 + %shl95 = shl i32 %conv94, 6 + %and96 = and i32 %shl95, 192 + %62 = load i8*, i8** %in.addr, align 8 + %arrayidx97 = getelementptr inbounds i8, i8* %62, i64 3 + %63 = load i8, i8* %arrayidx97, align 1 + %call98 = call zeroext i8 @to_uchar(i8 signext %63) + %idxprom99 = zext i8 %call98 to i64 + %arrayidx100 = getelementptr inbounds [256 x i8], [256 x i8]* @b64, i64 0, i64 %idxprom99 + %64 = load i8, i8* %arrayidx100, align 1 + %conv101 = sext i8 %64 to i32 + %or102 = or i32 %and96, %conv101 + %conv103 = trunc i32 %or102 to i8 + %65 = load i8*, i8** %out, align 8 + %incdec.ptr104 = getelementptr inbounds i8, i8* %65, i32 1 + store i8* %incdec.ptr104, i8** %out, align 8 + store i8 %conv103, i8* %65, align 1 + %66 = load i64*, i64** %outleft.addr, align 8 + %67 = load i64, i64* %66, align 8 + %dec105 = add i64 %67, -1 + store i64 %dec105, i64* %66, align 8 + br label %if.end108 + +if.end108: ; preds = %if.then74, %if.then89, %if.end87, %if.end30 + %68 = load i8*, i8** %out, align 8 + %69 = load i8**, i8*** %outp.addr, align 8 + store i8* %68, i8** %69, align 8 + store i1 true, i1* %retval, align 1 + br label %return + +return: ; preds = %if.end108, %do.body85, %do.body78, %do.body67, %do.body42, %do.body36, %do.body28, %do.body, %if.then3, %if.then + %70 = load i1, i1* %retval, align 1 + ret i1 %70 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @get_4(%struct.base64_decode_context* %ctx, i8** %in, i8* noalias %in_end, i64* %n_non_newline) #3 { +entry: + %retval = alloca i8*, align 8 + %ctx.addr = alloca %struct.base64_decode_context*, align 8 + %in.addr = alloca i8**, align 8 + %in_end.addr = alloca i8*, align 8 + %n_non_newline.addr = alloca i64*, align 8 + %t = alloca i8*, align 8 + %p = alloca i8*, align 8 + %c = alloca i8, align 1 + store %struct.base64_decode_context* %ctx, %struct.base64_decode_context** %ctx.addr, align 8 + store i8** %in, i8*** %in.addr, align 8 + store i8* %in_end, i8** %in_end.addr, align 8 + store i64* %n_non_newline, i64** %n_non_newline.addr, align 8 + %0 = load %struct.base64_decode_context*, %struct.base64_decode_context** %ctx.addr, align 8 + %i = getelementptr inbounds %struct.base64_decode_context, %struct.base64_decode_context* %0, i32 0, i32 0 + %1 = load i32, i32* %i, align 4 + %cmp = icmp eq i32 %1, 4 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.base64_decode_context*, %struct.base64_decode_context** %ctx.addr, align 8 + %i1 = getelementptr inbounds %struct.base64_decode_context, %struct.base64_decode_context* %2, i32 0, i32 0 + store i32 0, i32* %i1, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %3 = load %struct.base64_decode_context*, %struct.base64_decode_context** %ctx.addr, align 8 + %i2 = getelementptr inbounds %struct.base64_decode_context, %struct.base64_decode_context* %3, i32 0, i32 0 + %4 = load i32, i32* %i2, align 4 + %cmp3 = icmp eq i32 %4, 0 + br i1 %cmp3, label %if.then4, label %if.end9 + +if.then4: ; preds = %if.end + %5 = load i8**, i8*** %in.addr, align 8 + %6 = load i8*, i8** %5, align 8 + store i8* %6, i8** %t, align 8 + %7 = load i8*, i8** %in_end.addr, align 8 + %8 = load i8**, i8*** %in.addr, align 8 + %9 = load i8*, i8** %8, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %9 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %cmp5 = icmp sle i64 4, %sub.ptr.sub + br i1 %cmp5, label %land.lhs.true, label %if.end9 + +land.lhs.true: ; preds = %if.then4 + %10 = load i8*, i8** %t, align 8 + %call = call i8* @memchr(i8* %10, i32 10, i64 4) #24 + %cmp6 = icmp eq i8* %call, null + br i1 %cmp6, label %if.then7, label %if.end9 + +if.then7: ; preds = %land.lhs.true + %11 = load i8**, i8*** %in.addr, align 8 + %12 = load i8*, i8** %11, align 8 + %add.ptr = getelementptr inbounds i8, i8* %12, i64 4 + store i8* %add.ptr, i8** %11, align 8 + %13 = load i64*, i64** %n_non_newline.addr, align 8 + store i64 4, i64* %13, align 8 + %14 = load i8*, i8** %t, align 8 + store i8* %14, i8** %retval, align 8 + br label %return + +if.end9: ; preds = %if.then4, %land.lhs.true, %if.end + %15 = load i8**, i8*** %in.addr, align 8 + %16 = load i8*, i8** %15, align 8 + store i8* %16, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %if.end20, %if.end9 + %17 = load i8*, i8** %p, align 8 + %18 = load i8*, i8** %in_end.addr, align 8 + %cmp10 = icmp ult i8* %17, %18 + br i1 %cmp10, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %19 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %19, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %20 = load i8, i8* %19, align 1 + store i8 %20, i8* %c, align 1 + %21 = load i8, i8* %c, align 1 + %conv = sext i8 %21 to i32 + %cmp11 = icmp ne i32 %conv, 10 + br i1 %cmp11, label %if.then13, label %if.end20 + +if.then13: ; preds = %while.body + %22 = load i8, i8* %c, align 1 + %23 = load %struct.base64_decode_context*, %struct.base64_decode_context** %ctx.addr, align 8 + %buf = getelementptr inbounds %struct.base64_decode_context, %struct.base64_decode_context* %23, i32 0, i32 1 + %24 = load %struct.base64_decode_context*, %struct.base64_decode_context** %ctx.addr, align 8 + %i14 = getelementptr inbounds %struct.base64_decode_context, %struct.base64_decode_context* %24, i32 0, i32 0 + %25 = load i32, i32* %i14, align 4 + %inc = add i32 %25, 1 + store i32 %inc, i32* %i14, align 4 + %idxprom = zext i32 %25 to i64 + %arrayidx = getelementptr inbounds [4 x i8], [4 x i8]* %buf, i64 0, i64 %idxprom + store i8 %22, i8* %arrayidx, align 1 + %26 = load %struct.base64_decode_context*, %struct.base64_decode_context** %ctx.addr, align 8 + %i15 = getelementptr inbounds %struct.base64_decode_context, %struct.base64_decode_context* %26, i32 0, i32 0 + %27 = load i32, i32* %i15, align 4 + %cmp16 = icmp eq i32 %27, 4 + br i1 %cmp16, label %while.end, label %if.end20 + +if.end20: ; preds = %if.then13, %while.body + br label %while.cond + +while.end: ; preds = %if.then13, %while.cond + %28 = load i8*, i8** %p, align 8 + %29 = load i8**, i8*** %in.addr, align 8 + store i8* %28, i8** %29, align 8 + %30 = load %struct.base64_decode_context*, %struct.base64_decode_context** %ctx.addr, align 8 + %i21 = getelementptr inbounds %struct.base64_decode_context, %struct.base64_decode_context* %30, i32 0, i32 0 + %31 = load i32, i32* %i21, align 4 + %conv22 = zext i32 %31 to i64 + %32 = load i64*, i64** %n_non_newline.addr, align 8 + store i64 %conv22, i64* %32, align 8 + %33 = load %struct.base64_decode_context*, %struct.base64_decode_context** %ctx.addr, align 8 + %buf23 = getelementptr inbounds %struct.base64_decode_context, %struct.base64_decode_context* %33, i32 0, i32 1 + %arraydecay = getelementptr inbounds [4 x i8], [4 x i8]* %buf23, i64 0, i64 0 + store i8* %arraydecay, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then7 + %34 = load i8*, i8** %retval, align 8 + ret i8* %34 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @fdadvise(i32 %fd, i64 %offset, i64 %len, i32 %advice) #3 { +entry: + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %advice.addr = alloca i32, align 4 + %__x = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store i32 %advice, i32* %advice.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %offset.addr, align 8 + %2 = load i64, i64* %len.addr, align 8 + %3 = load i32, i32* %advice.addr, align 4 + %call = call i32 @posix_fadvise(i32 %0, i64 %1, i64 %2, i32 %3) #11 + store i32 %call, i32* %__x, align 4 + %4 = load i32, i32* %__x, align 4 + ret void +} + +; Function Attrs: nounwind +declare dso_local i32 @posix_fadvise(i32, i64, i64, i32) #4 + +; Function Attrs: noinline nounwind uwtable +define internal void @quoting_options_from_style(%struct.quoting_options* noalias sret align 8 %agg.result, i32 %style) #3 { +entry: + %style.addr = alloca i32, align 4 + store i32 %style, i32* %style.addr, align 4 + %0 = bitcast %struct.quoting_options* %agg.result to i8* + %1 = call i8* @memset(i8* %0, i32 0, i64 56) + %2 = load i32, i32* %style.addr, align 4 + %cmp = icmp eq i32 %2, 10 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @abort() #27 + unreachable + +if.end: ; preds = %entry + %3 = load i32, i32* %style.addr, align 4 + %style1 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %agg.result, i32 0, i32 0 + store i32 %3, i32* %style1, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @set_char_quoting(%struct.quoting_options* %o, i8 signext %c, i32 %i) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %c.addr = alloca i8, align 1 + %i.addr = alloca i32, align 4 + %uc = alloca i8, align 1 + %p = alloca i32*, align 8 + %shift = alloca i32, align 4 + %r = alloca i32, align 4 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i8 %c, i8* %c.addr, align 1 + store i32 %i, i32* %i.addr, align 4 + %0 = load i8, i8* %c.addr, align 1 + store i8 %0, i8* %uc, align 1 + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %1, null + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %2, %struct.quoting_options* @default_quoting_options + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %cond, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %3 = load i8, i8* %uc, align 1 + %conv = zext i8 %3 to i64 + %div = udiv i64 %conv, 32 + %add.ptr = getelementptr inbounds i32, i32* %arraydecay, i64 %div + store i32* %add.ptr, i32** %p, align 8 + %4 = load i8, i8* %uc, align 1 + %conv1 = zext i8 %4 to i64 + %rem = urem i64 %conv1, 32 + %conv2 = trunc i64 %rem to i32 + store i32 %conv2, i32* %shift, align 4 + %5 = load i32*, i32** %p, align 8 + %6 = load i32, i32* %5, align 4 + %7 = load i32, i32* %shift, align 4 + %shr = lshr i32 %6, %7 + %and = and i32 %shr, 1 + store i32 %and, i32* %r, align 4 + %8 = load i32, i32* %i.addr, align 4 + %and3 = and i32 %8, 1 + %9 = load i32, i32* %r, align 4 + %xor = xor i32 %and3, %9 + %10 = load i32, i32* %shift, align 4 + %shl = shl i32 %xor, %10 + %11 = load i32*, i32** %p, align 8 + %12 = load i32, i32* %11, align 4 + %xor4 = xor i32 %12, %shl + store i32 %xor4, i32* %11, align 4 + %13 = load i32, i32* %r, align 4 + ret i32 %13 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @quotearg_n_options(i32 %n, i8* %arg, i64 %argsize, %struct.quoting_options* %options) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %options.addr = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %sv = alloca %struct.slotvec*, align 8 + %preallocated = alloca i8, align 1 + %nmax = alloca i32, align 4 + %size = alloca i64, align 8 + %val = alloca i8*, align 8 + %flags = alloca i32, align 4 + %qsize = alloca i64, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store %struct.quoting_options* %options, %struct.quoting_options** %options.addr, align 8 + %call = call i32* @__errno_location() #26 + %0 = load i32, i32* %call, align 4 + store i32 %0, i32* %e, align 4 + %1 = load %struct.slotvec*, %struct.slotvec** @slotvec, align 8 + store %struct.slotvec* %1, %struct.slotvec** %sv, align 8 + %2 = load i32, i32* %n.addr, align 4 + %cmp = icmp slt i32 %2, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @abort() #27 + unreachable + +if.end: ; preds = %entry + %3 = load i32, i32* @nslots, align 4 + %4 = load i32, i32* %n.addr, align 4 + %cmp1 = icmp sle i32 %3, %4 + br i1 %cmp1, label %if.then2, label %if.end15 + +if.then2: ; preds = %if.end + %5 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %cmp3 = icmp eq %struct.slotvec* %5, @slotvec0 + %frombool = zext i1 %cmp3 to i8 + store i8 %frombool, i8* %preallocated, align 1 + store i32 2147483646, i32* %nmax, align 4 + %6 = load i32, i32* %nmax, align 4 + %7 = load i32, i32* %n.addr, align 4 + %cmp4 = icmp slt i32 %6, %7 + br i1 %cmp4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.then2 + call void @xalloc_die() #25 + unreachable + +if.end6: ; preds = %if.then2 + %8 = load i8, i8* %preallocated, align 1 + %tobool = trunc i8 %8 to i1 + %9 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %cond = select i1 %tobool, %struct.slotvec* null, %struct.slotvec* %9 + %10 = bitcast %struct.slotvec* %cond to i8* + %11 = load i32, i32* %n.addr, align 4 + %add = add nsw i32 %11, 1 + %conv = sext i32 %add to i64 + %mul = mul i64 %conv, 16 + %call7 = call i8* @xrealloc(i8* %10, i64 %mul) + %12 = bitcast i8* %call7 to %struct.slotvec* + store %struct.slotvec* %12, %struct.slotvec** %sv, align 8 + store %struct.slotvec* %12, %struct.slotvec** @slotvec, align 8 + %13 = load i8, i8* %preallocated, align 1 + %tobool8 = trunc i8 %13 to i1 + br i1 %tobool8, label %if.then9, label %if.end10 + +if.then9: ; preds = %if.end6 + %14 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %15 = bitcast %struct.slotvec* %14 to i8* + %16 = call i8* @memcpy(i8* %15, i8* bitcast (%struct.slotvec* @slotvec0 to i8*), i64 16) + br label %if.end10 + +if.end10: ; preds = %if.then9, %if.end6 + %17 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %18 = load i32, i32* @nslots, align 4 + %idx.ext = sext i32 %18 to i64 + %add.ptr = getelementptr inbounds %struct.slotvec, %struct.slotvec* %17, i64 %idx.ext + %19 = bitcast %struct.slotvec* %add.ptr to i8* + %20 = load i32, i32* %n.addr, align 4 + %add11 = add nsw i32 %20, 1 + %21 = load i32, i32* @nslots, align 4 + %sub = sub nsw i32 %add11, %21 + %conv12 = sext i32 %sub to i64 + %mul13 = mul i64 %conv12, 16 + %22 = call i8* @memset(i8* %19, i32 0, i64 %mul13) + %23 = load i32, i32* %n.addr, align 4 + %add14 = add nsw i32 %23, 1 + store i32 %add14, i32* @nslots, align 4 + br label %if.end15 + +if.end15: ; preds = %if.end10, %if.end + %24 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %25 = load i32, i32* %n.addr, align 4 + %idxprom = sext i32 %25 to i64 + %arrayidx = getelementptr inbounds %struct.slotvec, %struct.slotvec* %24, i64 %idxprom + %size16 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx, i32 0, i32 0 + %26 = load i64, i64* %size16, align 8 + store i64 %26, i64* %size, align 8 + %27 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %28 = load i32, i32* %n.addr, align 4 + %idxprom17 = sext i32 %28 to i64 + %arrayidx18 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %27, i64 %idxprom17 + %val19 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx18, i32 0, i32 1 + %29 = load i8*, i8** %val19, align 8 + store i8* %29, i8** %val, align 8 + %30 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %flags20 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %30, i32 0, i32 1 + %31 = load i32, i32* %flags20, align 4 + %or = or i32 %31, 1 + store i32 %or, i32* %flags, align 4 + %32 = load i8*, i8** %val, align 8 + %33 = load i64, i64* %size, align 8 + %34 = load i8*, i8** %arg.addr, align 8 + %35 = load i64, i64* %argsize.addr, align 8 + %36 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %36, i32 0, i32 0 + %37 = load i32, i32* %style, align 8 + %38 = load i32, i32* %flags, align 4 + %39 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %39, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %40 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %left_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %40, i32 0, i32 3 + %41 = load i8*, i8** %left_quote, align 8 + %42 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %right_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %42, i32 0, i32 4 + %43 = load i8*, i8** %right_quote, align 8 + %call21 = call i64 @quotearg_buffer_restyled(i8* %32, i64 %33, i8* %34, i64 %35, i32 %37, i32 %38, i32* %arraydecay, i8* %41, i8* %43) + store i64 %call21, i64* %qsize, align 8 + %44 = load i64, i64* %size, align 8 + %45 = load i64, i64* %qsize, align 8 + %cmp22 = icmp ule i64 %44, %45 + br i1 %cmp22, label %if.then24, label %if.end43 + +if.then24: ; preds = %if.end15 + %46 = load i64, i64* %qsize, align 8 + %add25 = add i64 %46, 1 + store i64 %add25, i64* %size, align 8 + %47 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %48 = load i32, i32* %n.addr, align 4 + %idxprom26 = sext i32 %48 to i64 + %arrayidx27 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %47, i64 %idxprom26 + %size28 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx27, i32 0, i32 0 + store i64 %add25, i64* %size28, align 8 + %49 = load i8*, i8** %val, align 8 + %cmp29 = icmp ne i8* %49, getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i64 0, i64 0) + br i1 %cmp29, label %if.then31, label %if.end32 + +if.then31: ; preds = %if.then24 + %50 = load i8*, i8** %val, align 8 + call void @free(i8* %50) #11 + br label %if.end32 + +if.end32: ; preds = %if.then31, %if.then24 + %51 = load i64, i64* %size, align 8 + %call33 = call noalias i8* @xcharalloc(i64 %51) + store i8* %call33, i8** %val, align 8 + %52 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %53 = load i32, i32* %n.addr, align 4 + %idxprom34 = sext i32 %53 to i64 + %arrayidx35 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %52, i64 %idxprom34 + %val36 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx35, i32 0, i32 1 + store i8* %call33, i8** %val36, align 8 + %54 = load i8*, i8** %val, align 8 + %55 = load i64, i64* %size, align 8 + %56 = load i8*, i8** %arg.addr, align 8 + %57 = load i64, i64* %argsize.addr, align 8 + %58 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %style37 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %58, i32 0, i32 0 + %59 = load i32, i32* %style37, align 8 + %60 = load i32, i32* %flags, align 4 + %61 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %quote_these_too38 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %61, i32 0, i32 2 + %arraydecay39 = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too38, i64 0, i64 0 + %62 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %left_quote40 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %62, i32 0, i32 3 + %63 = load i8*, i8** %left_quote40, align 8 + %64 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %right_quote41 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %64, i32 0, i32 4 + %65 = load i8*, i8** %right_quote41, align 8 + %call42 = call i64 @quotearg_buffer_restyled(i8* %54, i64 %55, i8* %56, i64 %57, i32 %59, i32 %60, i32* %arraydecay39, i8* %63, i8* %65) + br label %if.end43 + +if.end43: ; preds = %if.end32, %if.end15 + %66 = load i32, i32* %e, align 4 + %call44 = call i32* @__errno_location() #26 + store i32 %66, i32* %call44, align 4 + %67 = load i8*, i8** %val, align 8 + ret i8* %67 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @xrealloc(i8* %p, i64 %n) #3 { +entry: + %retval = alloca i8*, align 8 + %p.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %tobool = icmp eq i64 %0, 0 + %1 = load i8*, i8** %p.addr, align 8 + %tobool1 = icmp ne i8* %1, null + %or.cond = and i1 %tobool, %tobool1 + %2 = load i8*, i8** %p.addr, align 8 + br i1 %or.cond, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @free(i8* %2) #11 + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %3 = load i64, i64* %n.addr, align 8 + %call = call i8* @realloc(i8* %2, i64 %3) #11 + store i8* %call, i8** %p.addr, align 8 + %4 = load i8*, i8** %p.addr, align 8 + %tobool2 = icmp eq i8* %4, null + %5 = load i64, i64* %n.addr, align 8 + %tobool4 = icmp ne i64 %5, 0 + %or.cond1 = and i1 %tobool2, %tobool4 + br i1 %or.cond1, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end + call void @xalloc_die() #25 + unreachable + +if.end6: ; preds = %if.end + %6 = load i8*, i8** %p.addr, align 8 + store i8* %6, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end6, %if.then + %7 = load i8*, i8** %retval, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @quotearg_buffer_restyled(i8* %buffer, i64 %buffersize, i8* %arg, i64 %argsize, i32 %quoting_style, i32 %flags, i32* %quote_these_too, i8* %left_quote, i8* %right_quote) #3 { +entry: + %retval = alloca i64, align 8 + %buffer.addr = alloca i8*, align 8 + %buffersize.addr = alloca i64, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %quoting_style.addr = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %quote_these_too.addr = alloca i32*, align 8 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %i = alloca i64, align 8 + %len = alloca i64, align 8 + %orig_buffersize = alloca i64, align 8 + %quote_string = alloca i8*, align 8 + %quote_string_len = alloca i64, align 8 + %backslash_escapes = alloca i8, align 1 + %unibyte_locale = alloca i8, align 1 + %elide_outer_quotes = alloca i8, align 1 + %pending_shell_escape_end = alloca i8, align 1 + %encountered_single_quote = alloca i8, align 1 + %all_c_and_shell_quote_compat = alloca i8, align 1 + %c = alloca i8, align 1 + %esc = alloca i8, align 1 + %is_right_quote = alloca i8, align 1 + %escaping = alloca i8, align 1 + %c_and_shell_quote_compat = alloca i8, align 1 + %m = alloca i64, align 8 + %printable = alloca i8, align 1 + %mbstate = alloca %struct.__mbstate_t, align 4 + %w = alloca i32, align 4 + %bytes = alloca i64, align 8 + %j = alloca i64, align 8 + %ilim = alloca i64, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %buffersize, i64* %buffersize.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store i32 %quoting_style, i32* %quoting_style.addr, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store i32* %quote_these_too, i32** %quote_these_too.addr, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i64 0, i64* %len, align 8 + store i64 0, i64* %orig_buffersize, align 8 + store i8* null, i8** %quote_string, align 8 + store i64 0, i64* %quote_string_len, align 8 + store i8 0, i8* %backslash_escapes, align 1 + %call = call i64 @__ctype_get_mb_cur_max() #11 + %cmp = icmp eq i64 %call, 1 + %frombool = zext i1 %cmp to i8 + store i8 %frombool, i8* %unibyte_locale, align 1 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 2 + %cmp1 = icmp ne i32 %and, 0 + %frombool2 = zext i1 %cmp1 to i8 + store i8 %frombool2, i8* %elide_outer_quotes, align 1 + store i8 0, i8* %pending_shell_escape_end, align 1 + store i8 0, i8* %encountered_single_quote, align 1 + store i8 1, i8* %all_c_and_shell_quote_compat, align 1 + br label %process_input + +process_input: ; preds = %if.then701, %entry + %1 = load i32, i32* %quoting_style.addr, align 4 + br label %NodeBlock27 + +NodeBlock27: ; preds = %process_input + %case.cmp28 = icmp eq i32 %1, 6 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %1, 5 + br i1 %case.cmp26, label %sw.bb3, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %1, 7 + br i1 %case.cmp24, label %sw.bb7, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %1, 8 + br i1 %case.cmp22, label %sw.bb8, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %1, 9 + br i1 %case.cmp20, label %sw.bb8, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %1, 10 + br i1 %case.cmp18, label %sw.bb8, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %1, 3 + br i1 %case.cmp16, label %sw.bb26, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %1, 1 + br i1 %case.cmp14, label %sw.bb27, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %1, 4 + br i1 %case.cmp12, label %sw.bb28, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %1, 2 + br i1 %case.cmp10, label %sw.bb32, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock9 + %case.cmp = icmp eq i32 %1, 0 + br i1 %case.cmp, label %sw.bb43, label %newDefault + +sw.bb: ; preds = %NodeBlock27 + store i32 5, i32* %quoting_style.addr, align 4 + store i8 1, i8* %elide_outer_quotes, align 1 + br label %sw.bb3 + +sw.bb3: ; preds = %NodeBlock25, %sw.bb + %2 = load i8, i8* %elide_outer_quotes, align 1 + %tobool = trunc i8 %2 to i1 + br i1 %tobool, label %if.end6, label %do.body + +do.body: ; preds = %sw.bb3 + %3 = load i64, i64* %len, align 8 + %4 = load i64, i64* %buffersize.addr, align 8 + %cmp4 = icmp ult i64 %3, %4 + br i1 %cmp4, label %if.then5, label %if.end + +if.then5: ; preds = %do.body + %5 = load i8*, i8** %buffer.addr, align 8 + %6 = load i64, i64* %len, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 %6 + store i8 34, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then5, %do.body + %7 = load i64, i64* %len, align 8 + %inc = add i64 %7, 1 + store i64 %inc, i64* %len, align 8 + br label %if.end6 + +if.end6: ; preds = %if.end, %sw.bb3 + store i8 1, i8* %backslash_escapes, align 1 + store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10.79, i64 0, i64 0), i8** %quote_string, align 8 + store i64 1, i64* %quote_string_len, align 8 + br label %sw.epilog + +sw.bb7: ; preds = %NodeBlock23 + store i8 1, i8* %backslash_escapes, align 1 + store i8 0, i8* %elide_outer_quotes, align 1 + br label %sw.epilog + +sw.bb8: ; preds = %NodeBlock21, %NodeBlock19, %NodeBlock17 + %8 = load i32, i32* %quoting_style.addr, align 4 + %cmp9 = icmp ne i32 %8, 10 + br i1 %cmp9, label %if.then10, label %if.end13 + +if.then10: ; preds = %sw.bb8 + %9 = load i32, i32* %quoting_style.addr, align 4 + %call11 = call i8* @gettext_quote(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.11.80, i64 0, i64 0), i32 %9) + store i8* %call11, i8** %left_quote.addr, align 8 + %10 = load i32, i32* %quoting_style.addr, align 4 + %call12 = call i8* @gettext_quote(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.81, i64 0, i64 0), i32 %10) + store i8* %call12, i8** %right_quote.addr, align 8 + br label %if.end13 + +if.end13: ; preds = %if.then10, %sw.bb8 + %11 = load i8, i8* %elide_outer_quotes, align 1 + %tobool14 = trunc i8 %11 to i1 + br i1 %tobool14, label %if.end24, label %if.then15 + +if.then15: ; preds = %if.end13 + %12 = load i8*, i8** %left_quote.addr, align 8 + store i8* %12, i8** %quote_string, align 8 + br label %for.cond + +for.cond: ; preds = %if.end21, %if.then15 + %13 = load i8*, i8** %quote_string, align 8 + %14 = load i8, i8* %13, align 1 + %tobool16 = icmp ne i8 %14, 0 + br i1 %tobool16, label %do.body17, label %if.end24 + +do.body17: ; preds = %for.cond + %15 = load i64, i64* %len, align 8 + %16 = load i64, i64* %buffersize.addr, align 8 + %cmp18 = icmp ult i64 %15, %16 + br i1 %cmp18, label %if.then19, label %if.end21 + +if.then19: ; preds = %do.body17 + %17 = load i8*, i8** %quote_string, align 8 + %18 = load i8, i8* %17, align 1 + %19 = load i8*, i8** %buffer.addr, align 8 + %20 = load i64, i64* %len, align 8 + %arrayidx20 = getelementptr inbounds i8, i8* %19, i64 %20 + store i8 %18, i8* %arrayidx20, align 1 + br label %if.end21 + +if.end21: ; preds = %if.then19, %do.body17 + %21 = load i64, i64* %len, align 8 + %inc22 = add i64 %21, 1 + store i64 %inc22, i64* %len, align 8 + %22 = load i8*, i8** %quote_string, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %22, i32 1 + store i8* %incdec.ptr, i8** %quote_string, align 8 + br label %for.cond + +if.end24: ; preds = %for.cond, %if.end13 + store i8 1, i8* %backslash_escapes, align 1 + %23 = load i8*, i8** %right_quote.addr, align 8 + store i8* %23, i8** %quote_string, align 8 + %24 = load i8*, i8** %quote_string, align 8 + %call25 = call i64 @strlen(i8* %24) #24 + store i64 %call25, i64* %quote_string_len, align 8 + br label %sw.epilog + +sw.bb26: ; preds = %NodeBlock15 + store i8 1, i8* %backslash_escapes, align 1 + br label %sw.bb27 + +sw.bb27: ; preds = %NodeBlock13, %sw.bb26 + store i8 1, i8* %elide_outer_quotes, align 1 + br label %sw.bb28 + +sw.bb28: ; preds = %NodeBlock11, %sw.bb27 + %25 = load i8, i8* %elide_outer_quotes, align 1 + %tobool29 = trunc i8 %25 to i1 + br i1 %tobool29, label %sw.bb32, label %if.then30 + +if.then30: ; preds = %sw.bb28 + store i8 1, i8* %backslash_escapes, align 1 + br label %sw.bb32 + +sw.bb32: ; preds = %NodeBlock9, %sw.bb28, %if.then30 + store i32 2, i32* %quoting_style.addr, align 4 + %26 = load i8, i8* %elide_outer_quotes, align 1 + %tobool33 = trunc i8 %26 to i1 + br i1 %tobool33, label %if.end42, label %do.body35 + +do.body35: ; preds = %sw.bb32 + %27 = load i64, i64* %len, align 8 + %28 = load i64, i64* %buffersize.addr, align 8 + %cmp36 = icmp ult i64 %27, %28 + br i1 %cmp36, label %if.then37, label %if.end39 + +if.then37: ; preds = %do.body35 + %29 = load i8*, i8** %buffer.addr, align 8 + %30 = load i64, i64* %len, align 8 + %arrayidx38 = getelementptr inbounds i8, i8* %29, i64 %30 + store i8 39, i8* %arrayidx38, align 1 + br label %if.end39 + +if.end39: ; preds = %if.then37, %do.body35 + %31 = load i64, i64* %len, align 8 + %inc40 = add i64 %31, 1 + store i64 %inc40, i64* %len, align 8 + br label %if.end42 + +if.end42: ; preds = %if.end39, %sw.bb32 + store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.81, i64 0, i64 0), i8** %quote_string, align 8 + store i64 1, i64* %quote_string_len, align 8 + br label %sw.epilog + +sw.bb43: ; preds = %NodeBlock + store i8 0, i8* %elide_outer_quotes, align 1 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @abort() #27 + unreachable + +sw.epilog: ; preds = %sw.bb43, %if.end42, %if.end24, %sw.bb7, %if.end6 + store i64 0, i64* %i, align 8 + br label %for.cond44 + +for.cond44: ; preds = %for.inc673, %sw.epilog + %32 = load i64, i64* %argsize.addr, align 8 + %cmp45 = icmp eq i64 %32, -1 + br i1 %cmp45, label %cond.true, label %cond.false + +cond.true: ; preds = %for.cond44 + %33 = load i8*, i8** %arg.addr, align 8 + %34 = load i64, i64* %i, align 8 + %arrayidx46 = getelementptr inbounds i8, i8* %33, i64 %34 + %35 = load i8, i8* %arrayidx46, align 1 + %conv = sext i8 %35 to i32 + %cmp47 = icmp eq i32 %conv, 0 + %conv48 = zext i1 %cmp47 to i32 + br label %cond.end + +cond.false: ; preds = %for.cond44 + %36 = load i64, i64* %i, align 8 + %37 = load i64, i64* %argsize.addr, align 8 + %cmp49 = icmp eq i64 %36, %37 + %conv50 = zext i1 %cmp49 to i32 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ %conv48, %cond.true ], [ %conv50, %cond.false ] + %tobool51 = icmp ne i32 %cond, 0 + %lnot = xor i1 %tobool51, true + br i1 %lnot, label %for.body52, label %for.end675 + +for.body52: ; preds = %cond.end + store i8 0, i8* %is_right_quote, align 1 + store i8 0, i8* %escaping, align 1 + store i8 0, i8* %c_and_shell_quote_compat, align 1 + %38 = load i8, i8* %backslash_escapes, align 1 + %tobool53 = trunc i8 %38 to i1 + %39 = load i32, i32* %quoting_style.addr, align 4 + %cmp55 = icmp ne i32 %39, 2 + %or.cond = and i1 %tobool53, %cmp55 + %40 = load i64, i64* %quote_string_len, align 8 + %tobool58 = icmp ne i64 %40, 0 + %or.cond1 = and i1 %or.cond, %tobool58 + br i1 %or.cond1, label %land.lhs.true59, label %if.end80 + +land.lhs.true59: ; preds = %for.body52 + %41 = load i64, i64* %i, align 8 + %42 = load i64, i64* %quote_string_len, align 8 + %add = add i64 %41, %42 + %43 = load i64, i64* %argsize.addr, align 8 + %cmp60 = icmp eq i64 %43, -1 + %44 = load i64, i64* %quote_string_len, align 8 + %cmp63 = icmp ult i64 1, %44 + %or.cond2 = and i1 %cmp60, %cmp63 + br i1 %or.cond2, label %cond.true65, label %cond.false67 + +cond.true65: ; preds = %land.lhs.true59 + %45 = load i8*, i8** %arg.addr, align 8 + %call66 = call i64 @strlen(i8* %45) #24 + store i64 %call66, i64* %argsize.addr, align 8 + br label %cond.end68 + +cond.false67: ; preds = %land.lhs.true59 + %46 = load i64, i64* %argsize.addr, align 8 + br label %cond.end68 + +cond.end68: ; preds = %cond.false67, %cond.true65 + %cond69 = phi i64 [ %call66, %cond.true65 ], [ %46, %cond.false67 ] + %cmp70 = icmp ule i64 %add, %cond69 + br i1 %cmp70, label %land.lhs.true72, label %if.end80 + +land.lhs.true72: ; preds = %cond.end68 + %47 = load i8*, i8** %arg.addr, align 8 + %48 = load i64, i64* %i, align 8 + %add.ptr = getelementptr inbounds i8, i8* %47, i64 %48 + %49 = load i8*, i8** %quote_string, align 8 + %50 = load i64, i64* %quote_string_len, align 8 + %call73 = call i32 @memcmp(i8* %add.ptr, i8* %49, i64 %50) #24 + %cmp74 = icmp eq i32 %call73, 0 + br i1 %cmp74, label %if.then76, label %if.end80 + +if.then76: ; preds = %land.lhs.true72 + %51 = load i8, i8* %elide_outer_quotes, align 1 + %tobool77 = trunc i8 %51 to i1 + br i1 %tobool77, label %force_outer_quoting_style, label %if.end79 + +if.end79: ; preds = %if.then76 + store i8 1, i8* %is_right_quote, align 1 + br label %if.end80 + +if.end80: ; preds = %if.end79, %land.lhs.true72, %cond.end68, %for.body52 + %52 = load i8*, i8** %arg.addr, align 8 + %53 = load i64, i64* %i, align 8 + %arrayidx81 = getelementptr inbounds i8, i8* %52, i64 %53 + %54 = load i8, i8* %arrayidx81, align 1 + store i8 %54, i8* %c, align 1 + %55 = load i8, i8* %c, align 1 + %conv82 = zext i8 %55 to i32 + br label %NodeBlock232 + +NodeBlock232: ; preds = %if.end80 + %case.cmp233 = icmp eq i32 %conv82, 0 + br i1 %case.cmp233, label %sw.bb83, label %NodeBlock230 + +NodeBlock230: ; preds = %NodeBlock232 + %case.cmp231 = icmp eq i32 %conv82, 63 + br i1 %case.cmp231, label %sw.bb170, label %NodeBlock228 + +NodeBlock228: ; preds = %NodeBlock230 + %case.cmp229 = icmp eq i32 %conv82, 7 + br i1 %case.cmp229, label %sw.bb236, label %NodeBlock226 + +NodeBlock226: ; preds = %NodeBlock228 + %case.cmp227 = icmp eq i32 %conv82, 8 + br i1 %case.cmp227, label %sw.bb237, label %NodeBlock224 + +NodeBlock224: ; preds = %NodeBlock226 + %case.cmp225 = icmp eq i32 %conv82, 12 + br i1 %case.cmp225, label %sw.bb238, label %NodeBlock222 + +NodeBlock222: ; preds = %NodeBlock224 + %case.cmp223 = icmp eq i32 %conv82, 10 + br i1 %case.cmp223, label %sw.bb239, label %NodeBlock220 + +NodeBlock220: ; preds = %NodeBlock222 + %case.cmp221 = icmp eq i32 %conv82, 13 + br i1 %case.cmp221, label %sw.bb240, label %NodeBlock218 + +NodeBlock218: ; preds = %NodeBlock220 + %case.cmp219 = icmp eq i32 %conv82, 9 + br i1 %case.cmp219, label %sw.bb241, label %NodeBlock216 + +NodeBlock216: ; preds = %NodeBlock218 + %case.cmp217 = icmp eq i32 %conv82, 11 + br i1 %case.cmp217, label %sw.bb242, label %NodeBlock214 + +NodeBlock214: ; preds = %NodeBlock216 + %case.cmp215 = icmp eq i32 %conv82, 92 + br i1 %case.cmp215, label %sw.bb243, label %NodeBlock212 + +NodeBlock212: ; preds = %NodeBlock214 + %case.cmp213 = icmp eq i32 %conv82, 123 + br i1 %case.cmp213, label %sw.bb270, label %NodeBlock210 + +NodeBlock210: ; preds = %NodeBlock212 + %case.cmp211 = icmp eq i32 %conv82, 125 + br i1 %case.cmp211, label %sw.bb270, label %NodeBlock208 + +NodeBlock208: ; preds = %NodeBlock210 + %case.cmp209 = icmp eq i32 %conv82, 35 + br i1 %case.cmp209, label %sw.bb283, label %NodeBlock206 + +NodeBlock206: ; preds = %NodeBlock208 + %case.cmp207 = icmp eq i32 %conv82, 126 + br i1 %case.cmp207, label %sw.bb283, label %NodeBlock204 + +NodeBlock204: ; preds = %NodeBlock206 + %case.cmp205 = icmp eq i32 %conv82, 32 + br i1 %case.cmp205, label %sw.bb288, label %NodeBlock202 + +NodeBlock202: ; preds = %NodeBlock204 + %case.cmp203 = icmp eq i32 %conv82, 33 + br i1 %case.cmp203, label %sw.bb289, label %NodeBlock200 + +NodeBlock200: ; preds = %NodeBlock202 + %case.cmp201 = icmp eq i32 %conv82, 34 + br i1 %case.cmp201, label %sw.bb289, label %NodeBlock198 + +NodeBlock198: ; preds = %NodeBlock200 + %case.cmp199 = icmp eq i32 %conv82, 36 + br i1 %case.cmp199, label %sw.bb289, label %NodeBlock196 + +NodeBlock196: ; preds = %NodeBlock198 + %case.cmp197 = icmp eq i32 %conv82, 38 + br i1 %case.cmp197, label %sw.bb289, label %NodeBlock194 + +NodeBlock194: ; preds = %NodeBlock196 + %case.cmp195 = icmp eq i32 %conv82, 40 + br i1 %case.cmp195, label %sw.bb289, label %NodeBlock192 + +NodeBlock192: ; preds = %NodeBlock194 + %case.cmp193 = icmp eq i32 %conv82, 41 + br i1 %case.cmp193, label %sw.bb289, label %NodeBlock190 + +NodeBlock190: ; preds = %NodeBlock192 + %case.cmp191 = icmp eq i32 %conv82, 42 + br i1 %case.cmp191, label %sw.bb289, label %NodeBlock188 + +NodeBlock188: ; preds = %NodeBlock190 + %case.cmp189 = icmp eq i32 %conv82, 59 + br i1 %case.cmp189, label %sw.bb289, label %NodeBlock186 + +NodeBlock186: ; preds = %NodeBlock188 + %case.cmp187 = icmp eq i32 %conv82, 60 + br i1 %case.cmp187, label %sw.bb289, label %NodeBlock184 + +NodeBlock184: ; preds = %NodeBlock186 + %case.cmp185 = icmp eq i32 %conv82, 61 + br i1 %case.cmp185, label %sw.bb289, label %NodeBlock182 + +NodeBlock182: ; preds = %NodeBlock184 + %case.cmp183 = icmp eq i32 %conv82, 62 + br i1 %case.cmp183, label %sw.bb289, label %NodeBlock180 + +NodeBlock180: ; preds = %NodeBlock182 + %case.cmp181 = icmp eq i32 %conv82, 91 + br i1 %case.cmp181, label %sw.bb289, label %NodeBlock178 + +NodeBlock178: ; preds = %NodeBlock180 + %case.cmp179 = icmp eq i32 %conv82, 94 + br i1 %case.cmp179, label %sw.bb289, label %NodeBlock176 + +NodeBlock176: ; preds = %NodeBlock178 + %case.cmp177 = icmp eq i32 %conv82, 96 + br i1 %case.cmp177, label %sw.bb289, label %NodeBlock174 + +NodeBlock174: ; preds = %NodeBlock176 + %case.cmp175 = icmp eq i32 %conv82, 124 + br i1 %case.cmp175, label %sw.bb289, label %NodeBlock172 + +NodeBlock172: ; preds = %NodeBlock174 + %case.cmp173 = icmp eq i32 %conv82, 39 + br i1 %case.cmp173, label %sw.bb297, label %NodeBlock170 + +NodeBlock170: ; preds = %NodeBlock172 + %case.cmp171 = icmp eq i32 %conv82, 37 + br i1 %case.cmp171, label %sw.bb334, label %NodeBlock168 + +NodeBlock168: ; preds = %NodeBlock170 + %case.cmp169 = icmp eq i32 %conv82, 43 + br i1 %case.cmp169, label %sw.bb334, label %NodeBlock166 + +NodeBlock166: ; preds = %NodeBlock168 + %case.cmp167 = icmp eq i32 %conv82, 44 + br i1 %case.cmp167, label %sw.bb334, label %NodeBlock164 + +NodeBlock164: ; preds = %NodeBlock166 + %case.cmp165 = icmp eq i32 %conv82, 45 + br i1 %case.cmp165, label %sw.bb334, label %NodeBlock162 + +NodeBlock162: ; preds = %NodeBlock164 + %case.cmp163 = icmp eq i32 %conv82, 46 + br i1 %case.cmp163, label %sw.bb334, label %NodeBlock160 + +NodeBlock160: ; preds = %NodeBlock162 + %case.cmp161 = icmp eq i32 %conv82, 47 + br i1 %case.cmp161, label %sw.bb334, label %NodeBlock158 + +NodeBlock158: ; preds = %NodeBlock160 + %case.cmp159 = icmp eq i32 %conv82, 48 + br i1 %case.cmp159, label %sw.bb334, label %NodeBlock156 + +NodeBlock156: ; preds = %NodeBlock158 + %case.cmp157 = icmp eq i32 %conv82, 49 + br i1 %case.cmp157, label %sw.bb334, label %NodeBlock154 + +NodeBlock154: ; preds = %NodeBlock156 + %case.cmp155 = icmp eq i32 %conv82, 50 + br i1 %case.cmp155, label %sw.bb334, label %NodeBlock152 + +NodeBlock152: ; preds = %NodeBlock154 + %case.cmp153 = icmp eq i32 %conv82, 51 + br i1 %case.cmp153, label %sw.bb334, label %NodeBlock150 + +NodeBlock150: ; preds = %NodeBlock152 + %case.cmp151 = icmp eq i32 %conv82, 52 + br i1 %case.cmp151, label %sw.bb334, label %NodeBlock148 + +NodeBlock148: ; preds = %NodeBlock150 + %case.cmp149 = icmp eq i32 %conv82, 53 + br i1 %case.cmp149, label %sw.bb334, label %NodeBlock146 + +NodeBlock146: ; preds = %NodeBlock148 + %case.cmp147 = icmp eq i32 %conv82, 54 + br i1 %case.cmp147, label %sw.bb334, label %NodeBlock144 + +NodeBlock144: ; preds = %NodeBlock146 + %case.cmp145 = icmp eq i32 %conv82, 55 + br i1 %case.cmp145, label %sw.bb334, label %NodeBlock142 + +NodeBlock142: ; preds = %NodeBlock144 + %case.cmp143 = icmp eq i32 %conv82, 56 + br i1 %case.cmp143, label %sw.bb334, label %NodeBlock140 + +NodeBlock140: ; preds = %NodeBlock142 + %case.cmp141 = icmp eq i32 %conv82, 57 + br i1 %case.cmp141, label %sw.bb334, label %NodeBlock138 + +NodeBlock138: ; preds = %NodeBlock140 + %case.cmp139 = icmp eq i32 %conv82, 58 + br i1 %case.cmp139, label %sw.bb334, label %NodeBlock136 + +NodeBlock136: ; preds = %NodeBlock138 + %case.cmp137 = icmp eq i32 %conv82, 65 + br i1 %case.cmp137, label %sw.bb334, label %NodeBlock134 + +NodeBlock134: ; preds = %NodeBlock136 + %case.cmp135 = icmp eq i32 %conv82, 66 + br i1 %case.cmp135, label %sw.bb334, label %NodeBlock132 + +NodeBlock132: ; preds = %NodeBlock134 + %case.cmp133 = icmp eq i32 %conv82, 67 + br i1 %case.cmp133, label %sw.bb334, label %NodeBlock130 + +NodeBlock130: ; preds = %NodeBlock132 + %case.cmp131 = icmp eq i32 %conv82, 68 + br i1 %case.cmp131, label %sw.bb334, label %NodeBlock128 + +NodeBlock128: ; preds = %NodeBlock130 + %case.cmp129 = icmp eq i32 %conv82, 69 + br i1 %case.cmp129, label %sw.bb334, label %NodeBlock126 + +NodeBlock126: ; preds = %NodeBlock128 + %case.cmp127 = icmp eq i32 %conv82, 70 + br i1 %case.cmp127, label %sw.bb334, label %NodeBlock124 + +NodeBlock124: ; preds = %NodeBlock126 + %case.cmp125 = icmp eq i32 %conv82, 71 + br i1 %case.cmp125, label %sw.bb334, label %NodeBlock122 + +NodeBlock122: ; preds = %NodeBlock124 + %case.cmp123 = icmp eq i32 %conv82, 72 + br i1 %case.cmp123, label %sw.bb334, label %NodeBlock120 + +NodeBlock120: ; preds = %NodeBlock122 + %case.cmp121 = icmp eq i32 %conv82, 73 + br i1 %case.cmp121, label %sw.bb334, label %NodeBlock118 + +NodeBlock118: ; preds = %NodeBlock120 + %case.cmp119 = icmp eq i32 %conv82, 74 + br i1 %case.cmp119, label %sw.bb334, label %NodeBlock116 + +NodeBlock116: ; preds = %NodeBlock118 + %case.cmp117 = icmp eq i32 %conv82, 75 + br i1 %case.cmp117, label %sw.bb334, label %NodeBlock114 + +NodeBlock114: ; preds = %NodeBlock116 + %case.cmp115 = icmp eq i32 %conv82, 76 + br i1 %case.cmp115, label %sw.bb334, label %NodeBlock112 + +NodeBlock112: ; preds = %NodeBlock114 + %case.cmp113 = icmp eq i32 %conv82, 77 + br i1 %case.cmp113, label %sw.bb334, label %NodeBlock110 + +NodeBlock110: ; preds = %NodeBlock112 + %case.cmp111 = icmp eq i32 %conv82, 78 + br i1 %case.cmp111, label %sw.bb334, label %NodeBlock108 + +NodeBlock108: ; preds = %NodeBlock110 + %case.cmp109 = icmp eq i32 %conv82, 79 + br i1 %case.cmp109, label %sw.bb334, label %NodeBlock106 + +NodeBlock106: ; preds = %NodeBlock108 + %case.cmp107 = icmp eq i32 %conv82, 80 + br i1 %case.cmp107, label %sw.bb334, label %NodeBlock104 + +NodeBlock104: ; preds = %NodeBlock106 + %case.cmp105 = icmp eq i32 %conv82, 81 + br i1 %case.cmp105, label %sw.bb334, label %NodeBlock102 + +NodeBlock102: ; preds = %NodeBlock104 + %case.cmp103 = icmp eq i32 %conv82, 82 + br i1 %case.cmp103, label %sw.bb334, label %NodeBlock100 + +NodeBlock100: ; preds = %NodeBlock102 + %case.cmp101 = icmp eq i32 %conv82, 83 + br i1 %case.cmp101, label %sw.bb334, label %NodeBlock98 + +NodeBlock98: ; preds = %NodeBlock100 + %case.cmp99 = icmp eq i32 %conv82, 84 + br i1 %case.cmp99, label %sw.bb334, label %NodeBlock96 + +NodeBlock96: ; preds = %NodeBlock98 + %case.cmp97 = icmp eq i32 %conv82, 85 + br i1 %case.cmp97, label %sw.bb334, label %NodeBlock94 + +NodeBlock94: ; preds = %NodeBlock96 + %case.cmp95 = icmp eq i32 %conv82, 86 + br i1 %case.cmp95, label %sw.bb334, label %NodeBlock92 + +NodeBlock92: ; preds = %NodeBlock94 + %case.cmp93 = icmp eq i32 %conv82, 87 + br i1 %case.cmp93, label %sw.bb334, label %NodeBlock90 + +NodeBlock90: ; preds = %NodeBlock92 + %case.cmp91 = icmp eq i32 %conv82, 88 + br i1 %case.cmp91, label %sw.bb334, label %NodeBlock88 + +NodeBlock88: ; preds = %NodeBlock90 + %case.cmp89 = icmp eq i32 %conv82, 89 + br i1 %case.cmp89, label %sw.bb334, label %NodeBlock86 + +NodeBlock86: ; preds = %NodeBlock88 + %case.cmp87 = icmp eq i32 %conv82, 90 + br i1 %case.cmp87, label %sw.bb334, label %NodeBlock84 + +NodeBlock84: ; preds = %NodeBlock86 + %case.cmp85 = icmp eq i32 %conv82, 93 + br i1 %case.cmp85, label %sw.bb334, label %NodeBlock82 + +NodeBlock82: ; preds = %NodeBlock84 + %case.cmp83 = icmp eq i32 %conv82, 95 + br i1 %case.cmp83, label %sw.bb334, label %NodeBlock80 + +NodeBlock80: ; preds = %NodeBlock82 + %case.cmp81 = icmp eq i32 %conv82, 97 + br i1 %case.cmp81, label %sw.bb334, label %NodeBlock78 + +NodeBlock78: ; preds = %NodeBlock80 + %case.cmp79 = icmp eq i32 %conv82, 98 + br i1 %case.cmp79, label %sw.bb334, label %NodeBlock76 + +NodeBlock76: ; preds = %NodeBlock78 + %case.cmp77 = icmp eq i32 %conv82, 99 + br i1 %case.cmp77, label %sw.bb334, label %NodeBlock74 + +NodeBlock74: ; preds = %NodeBlock76 + %case.cmp75 = icmp eq i32 %conv82, 100 + br i1 %case.cmp75, label %sw.bb334, label %NodeBlock72 + +NodeBlock72: ; preds = %NodeBlock74 + %case.cmp73 = icmp eq i32 %conv82, 101 + br i1 %case.cmp73, label %sw.bb334, label %NodeBlock70 + +NodeBlock70: ; preds = %NodeBlock72 + %case.cmp71 = icmp eq i32 %conv82, 102 + br i1 %case.cmp71, label %sw.bb334, label %NodeBlock68 + +NodeBlock68: ; preds = %NodeBlock70 + %case.cmp69 = icmp eq i32 %conv82, 103 + br i1 %case.cmp69, label %sw.bb334, label %NodeBlock66 + +NodeBlock66: ; preds = %NodeBlock68 + %case.cmp67 = icmp eq i32 %conv82, 104 + br i1 %case.cmp67, label %sw.bb334, label %NodeBlock64 + +NodeBlock64: ; preds = %NodeBlock66 + %case.cmp65 = icmp eq i32 %conv82, 105 + br i1 %case.cmp65, label %sw.bb334, label %NodeBlock62 + +NodeBlock62: ; preds = %NodeBlock64 + %case.cmp63 = icmp eq i32 %conv82, 106 + br i1 %case.cmp63, label %sw.bb334, label %NodeBlock60 + +NodeBlock60: ; preds = %NodeBlock62 + %case.cmp61 = icmp eq i32 %conv82, 107 + br i1 %case.cmp61, label %sw.bb334, label %NodeBlock58 + +NodeBlock58: ; preds = %NodeBlock60 + %case.cmp59 = icmp eq i32 %conv82, 108 + br i1 %case.cmp59, label %sw.bb334, label %NodeBlock56 + +NodeBlock56: ; preds = %NodeBlock58 + %case.cmp57 = icmp eq i32 %conv82, 109 + br i1 %case.cmp57, label %sw.bb334, label %NodeBlock54 + +NodeBlock54: ; preds = %NodeBlock56 + %case.cmp55 = icmp eq i32 %conv82, 110 + br i1 %case.cmp55, label %sw.bb334, label %NodeBlock52 + +NodeBlock52: ; preds = %NodeBlock54 + %case.cmp53 = icmp eq i32 %conv82, 111 + br i1 %case.cmp53, label %sw.bb334, label %NodeBlock50 + +NodeBlock50: ; preds = %NodeBlock52 + %case.cmp51 = icmp eq i32 %conv82, 112 + br i1 %case.cmp51, label %sw.bb334, label %NodeBlock48 + +NodeBlock48: ; preds = %NodeBlock50 + %case.cmp49 = icmp eq i32 %conv82, 113 + br i1 %case.cmp49, label %sw.bb334, label %NodeBlock46 + +NodeBlock46: ; preds = %NodeBlock48 + %case.cmp47 = icmp eq i32 %conv82, 114 + br i1 %case.cmp47, label %sw.bb334, label %NodeBlock44 + +NodeBlock44: ; preds = %NodeBlock46 + %case.cmp45 = icmp eq i32 %conv82, 115 + br i1 %case.cmp45, label %sw.bb334, label %NodeBlock42 + +NodeBlock42: ; preds = %NodeBlock44 + %case.cmp43 = icmp eq i32 %conv82, 116 + br i1 %case.cmp43, label %sw.bb334, label %NodeBlock40 + +NodeBlock40: ; preds = %NodeBlock42 + %case.cmp41 = icmp eq i32 %conv82, 117 + br i1 %case.cmp41, label %sw.bb334, label %NodeBlock38 + +NodeBlock38: ; preds = %NodeBlock40 + %case.cmp39 = icmp eq i32 %conv82, 118 + br i1 %case.cmp39, label %sw.bb334, label %NodeBlock36 + +NodeBlock36: ; preds = %NodeBlock38 + %case.cmp37 = icmp eq i32 %conv82, 119 + br i1 %case.cmp37, label %sw.bb334, label %NodeBlock34 + +NodeBlock34: ; preds = %NodeBlock36 + %case.cmp35 = icmp eq i32 %conv82, 120 + br i1 %case.cmp35, label %sw.bb334, label %NodeBlock32 + +NodeBlock32: ; preds = %NodeBlock34 + %case.cmp33 = icmp eq i32 %conv82, 121 + br i1 %case.cmp33, label %sw.bb334, label %NodeBlock30 + +NodeBlock30: ; preds = %NodeBlock32 + %case.cmp31 = icmp eq i32 %conv82, 122 + br i1 %case.cmp31, label %sw.bb334, label %newDefault29 + +sw.bb83: ; preds = %NodeBlock232 + %56 = load i8, i8* %backslash_escapes, align 1 + %tobool84 = trunc i8 %56 to i1 + br i1 %tobool84, label %do.body86, label %if.else + +do.body86: ; preds = %sw.bb83 + %57 = load i8, i8* %elide_outer_quotes, align 1 + %tobool87 = trunc i8 %57 to i1 + br i1 %tobool87, label %force_outer_quoting_style, label %if.end89 + +if.end89: ; preds = %do.body86 + store i8 1, i8* %escaping, align 1 + %58 = load i32, i32* %quoting_style.addr, align 4 + %cmp90 = icmp eq i32 %58, 2 + br i1 %cmp90, label %land.lhs.true92, label %do.body120 + +land.lhs.true92: ; preds = %if.end89 + %59 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool93 = trunc i8 %59 to i1 + br i1 %tobool93, label %do.body120, label %do.body95 + +do.body95: ; preds = %land.lhs.true92 + %60 = load i64, i64* %len, align 8 + %61 = load i64, i64* %buffersize.addr, align 8 + %cmp96 = icmp ult i64 %60, %61 + br i1 %cmp96, label %if.then98, label %if.end100 + +if.then98: ; preds = %do.body95 + %62 = load i8*, i8** %buffer.addr, align 8 + %63 = load i64, i64* %len, align 8 + %arrayidx99 = getelementptr inbounds i8, i8* %62, i64 %63 + store i8 39, i8* %arrayidx99, align 1 + br label %if.end100 + +if.end100: ; preds = %if.then98, %do.body95 + %64 = load i64, i64* %len, align 8 + %inc101 = add i64 %64, 1 + store i64 %inc101, i64* %len, align 8 + %65 = load i64, i64* %len, align 8 + %66 = load i64, i64* %buffersize.addr, align 8 + %cmp104 = icmp ult i64 %65, %66 + br i1 %cmp104, label %if.then106, label %if.end108 + +if.then106: ; preds = %if.end100 + %67 = load i8*, i8** %buffer.addr, align 8 + %68 = load i64, i64* %len, align 8 + %arrayidx107 = getelementptr inbounds i8, i8* %67, i64 %68 + store i8 36, i8* %arrayidx107, align 1 + br label %if.end108 + +if.end108: ; preds = %if.then106, %if.end100 + %69 = load i64, i64* %len, align 8 + %inc109 = add i64 %69, 1 + store i64 %inc109, i64* %len, align 8 + %70 = load i64, i64* %len, align 8 + %71 = load i64, i64* %buffersize.addr, align 8 + %cmp112 = icmp ult i64 %70, %71 + br i1 %cmp112, label %if.then114, label %if.end116 + +if.then114: ; preds = %if.end108 + %72 = load i8*, i8** %buffer.addr, align 8 + %73 = load i64, i64* %len, align 8 + %arrayidx115 = getelementptr inbounds i8, i8* %72, i64 %73 + store i8 39, i8* %arrayidx115, align 1 + br label %if.end116 + +if.end116: ; preds = %if.then114, %if.end108 + %74 = load i64, i64* %len, align 8 + %inc117 = add i64 %74, 1 + store i64 %inc117, i64* %len, align 8 + store i8 1, i8* %pending_shell_escape_end, align 1 + br label %do.body120 + +do.body120: ; preds = %if.end89, %land.lhs.true92, %if.end116 + %75 = load i64, i64* %len, align 8 + %76 = load i64, i64* %buffersize.addr, align 8 + %cmp121 = icmp ult i64 %75, %76 + br i1 %cmp121, label %if.then123, label %if.end125 + +if.then123: ; preds = %do.body120 + %77 = load i8*, i8** %buffer.addr, align 8 + %78 = load i64, i64* %len, align 8 + %arrayidx124 = getelementptr inbounds i8, i8* %77, i64 %78 + store i8 92, i8* %arrayidx124, align 1 + br label %if.end125 + +if.end125: ; preds = %if.then123, %do.body120 + %79 = load i64, i64* %len, align 8 + %inc126 = add i64 %79, 1 + store i64 %inc126, i64* %len, align 8 + %80 = load i32, i32* %quoting_style.addr, align 4 + %cmp129 = icmp ne i32 %80, 2 + br i1 %cmp129, label %land.lhs.true131, label %if.end164 + +land.lhs.true131: ; preds = %if.end125 + %81 = load i64, i64* %i, align 8 + %add132 = add i64 %81, 1 + %82 = load i64, i64* %argsize.addr, align 8 + %cmp133 = icmp ult i64 %add132, %82 + br i1 %cmp133, label %land.lhs.true135, label %if.end164 + +land.lhs.true135: ; preds = %land.lhs.true131 + %83 = load i8*, i8** %arg.addr, align 8 + %84 = load i64, i64* %i, align 8 + %add136 = add i64 %84, 1 + %arrayidx137 = getelementptr inbounds i8, i8* %83, i64 %add136 + %85 = load i8, i8* %arrayidx137, align 1 + %conv138 = sext i8 %85 to i32 + %cmp139 = icmp sle i32 48, %conv138 + br i1 %cmp139, label %land.lhs.true141, label %if.end164 + +land.lhs.true141: ; preds = %land.lhs.true135 + %86 = load i8*, i8** %arg.addr, align 8 + %87 = load i64, i64* %i, align 8 + %add142 = add i64 %87, 1 + %arrayidx143 = getelementptr inbounds i8, i8* %86, i64 %add142 + %88 = load i8, i8* %arrayidx143, align 1 + %conv144 = sext i8 %88 to i32 + %cmp145 = icmp sle i32 %conv144, 57 + br i1 %cmp145, label %do.body148, label %if.end164 + +do.body148: ; preds = %land.lhs.true141 + %89 = load i64, i64* %len, align 8 + %90 = load i64, i64* %buffersize.addr, align 8 + %cmp149 = icmp ult i64 %89, %90 + br i1 %cmp149, label %if.then151, label %if.end153 + +if.then151: ; preds = %do.body148 + %91 = load i8*, i8** %buffer.addr, align 8 + %92 = load i64, i64* %len, align 8 + %arrayidx152 = getelementptr inbounds i8, i8* %91, i64 %92 + store i8 48, i8* %arrayidx152, align 1 + br label %if.end153 + +if.end153: ; preds = %if.then151, %do.body148 + %93 = load i64, i64* %len, align 8 + %inc154 = add i64 %93, 1 + store i64 %inc154, i64* %len, align 8 + %94 = load i64, i64* %len, align 8 + %95 = load i64, i64* %buffersize.addr, align 8 + %cmp157 = icmp ult i64 %94, %95 + br i1 %cmp157, label %if.then159, label %if.end161 + +if.then159: ; preds = %if.end153 + %96 = load i8*, i8** %buffer.addr, align 8 + %97 = load i64, i64* %len, align 8 + %arrayidx160 = getelementptr inbounds i8, i8* %96, i64 %97 + store i8 48, i8* %arrayidx160, align 1 + br label %if.end161 + +if.end161: ; preds = %if.then159, %if.end153 + %98 = load i64, i64* %len, align 8 + %inc162 = add i64 %98, 1 + store i64 %inc162, i64* %len, align 8 + br label %if.end164 + +if.end164: ; preds = %if.end161, %land.lhs.true141, %land.lhs.true135, %land.lhs.true131, %if.end125 + store i8 48, i8* %c, align 1 + br label %sw.epilog564 + +if.else: ; preds = %sw.bb83 + %99 = load i32, i32* %flags.addr, align 4 + %and165 = and i32 %99, 1 + %tobool166 = icmp ne i32 %and165, 0 + br i1 %tobool166, label %for.inc673, label %sw.epilog564 + +sw.bb170: ; preds = %NodeBlock230 + %100 = load i32, i32* %quoting_style.addr, align 4 + br label %NodeBlock237 + +NodeBlock237: ; preds = %sw.bb170 + %case.cmp238 = icmp eq i32 %100, 2 + br i1 %case.cmp238, label %sw.bb171, label %NodeBlock235 + +NodeBlock235: ; preds = %NodeBlock237 + %case.cmp236 = icmp eq i32 %100, 5 + br i1 %case.cmp236, label %sw.bb175, label %newDefault234 + +sw.bb171: ; preds = %NodeBlock237 + %101 = load i8, i8* %elide_outer_quotes, align 1 + %tobool172 = trunc i8 %101 to i1 + br i1 %tobool172, label %force_outer_quoting_style, label %sw.epilog564 + +sw.bb175: ; preds = %NodeBlock235 + %102 = load i32, i32* %flags.addr, align 4 + %and176 = and i32 %102, 4 + %tobool177 = icmp ne i32 %and176, 0 + br i1 %tobool177, label %land.lhs.true178, label %sw.epilog564 + +land.lhs.true178: ; preds = %sw.bb175 + %103 = load i64, i64* %i, align 8 + %add179 = add i64 %103, 2 + %104 = load i64, i64* %argsize.addr, align 8 + %cmp180 = icmp ult i64 %add179, %104 + br i1 %cmp180, label %land.lhs.true182, label %sw.epilog564 + +land.lhs.true182: ; preds = %land.lhs.true178 + %105 = load i8*, i8** %arg.addr, align 8 + %106 = load i64, i64* %i, align 8 + %add183 = add i64 %106, 1 + %arrayidx184 = getelementptr inbounds i8, i8* %105, i64 %add183 + %107 = load i8, i8* %arrayidx184, align 1 + %conv185 = sext i8 %107 to i32 + %cmp186 = icmp eq i32 %conv185, 63 + br i1 %cmp186, label %if.then188, label %sw.epilog564 + +if.then188: ; preds = %land.lhs.true182 + %108 = load i8*, i8** %arg.addr, align 8 + %109 = load i64, i64* %i, align 8 + %add189 = add i64 %109, 2 + %arrayidx190 = getelementptr inbounds i8, i8* %108, i64 %add189 + %110 = load i8, i8* %arrayidx190, align 1 + %conv191 = sext i8 %110 to i32 + br label %NodeBlock256 + +NodeBlock256: ; preds = %if.then188 + %case.cmp257 = icmp eq i32 %conv191, 33 + br i1 %case.cmp257, label %sw.bb192, label %NodeBlock254 + +NodeBlock254: ; preds = %NodeBlock256 + %case.cmp255 = icmp eq i32 %conv191, 39 + br i1 %case.cmp255, label %sw.bb192, label %NodeBlock252 + +NodeBlock252: ; preds = %NodeBlock254 + %case.cmp253 = icmp eq i32 %conv191, 40 + br i1 %case.cmp253, label %sw.bb192, label %NodeBlock250 + +NodeBlock250: ; preds = %NodeBlock252 + %case.cmp251 = icmp eq i32 %conv191, 41 + br i1 %case.cmp251, label %sw.bb192, label %NodeBlock248 + +NodeBlock248: ; preds = %NodeBlock250 + %case.cmp249 = icmp eq i32 %conv191, 45 + br i1 %case.cmp249, label %sw.bb192, label %NodeBlock246 + +NodeBlock246: ; preds = %NodeBlock248 + %case.cmp247 = icmp eq i32 %conv191, 47 + br i1 %case.cmp247, label %sw.bb192, label %NodeBlock244 + +NodeBlock244: ; preds = %NodeBlock246 + %case.cmp245 = icmp eq i32 %conv191, 60 + br i1 %case.cmp245, label %sw.bb192, label %NodeBlock242 + +NodeBlock242: ; preds = %NodeBlock244 + %case.cmp243 = icmp eq i32 %conv191, 61 + br i1 %case.cmp243, label %sw.bb192, label %NodeBlock240 + +NodeBlock240: ; preds = %NodeBlock242 + %case.cmp241 = icmp eq i32 %conv191, 62 + br i1 %case.cmp241, label %sw.bb192, label %newDefault239 + +sw.bb192: ; preds = %NodeBlock256, %NodeBlock254, %NodeBlock252, %NodeBlock250, %NodeBlock248, %NodeBlock246, %NodeBlock244, %NodeBlock242, %NodeBlock240 + %111 = load i8, i8* %elide_outer_quotes, align 1 + %tobool193 = trunc i8 %111 to i1 + br i1 %tobool193, label %force_outer_quoting_style, label %if.end195 + +if.end195: ; preds = %sw.bb192 + %112 = load i8*, i8** %arg.addr, align 8 + %113 = load i64, i64* %i, align 8 + %add196 = add i64 %113, 2 + %arrayidx197 = getelementptr inbounds i8, i8* %112, i64 %add196 + %114 = load i8, i8* %arrayidx197, align 1 + store i8 %114, i8* %c, align 1 + %115 = load i64, i64* %i, align 8 + %add198 = add i64 %115, 2 + store i64 %add198, i64* %i, align 8 + %116 = load i64, i64* %len, align 8 + %117 = load i64, i64* %buffersize.addr, align 8 + %cmp200 = icmp ult i64 %116, %117 + br i1 %cmp200, label %if.then202, label %if.end204 + +if.then202: ; preds = %if.end195 + %118 = load i8*, i8** %buffer.addr, align 8 + %119 = load i64, i64* %len, align 8 + %arrayidx203 = getelementptr inbounds i8, i8* %118, i64 %119 + store i8 63, i8* %arrayidx203, align 1 + br label %if.end204 + +if.end204: ; preds = %if.then202, %if.end195 + %120 = load i64, i64* %len, align 8 + %inc205 = add i64 %120, 1 + store i64 %inc205, i64* %len, align 8 + %121 = load i64, i64* %len, align 8 + %122 = load i64, i64* %buffersize.addr, align 8 + %cmp208 = icmp ult i64 %121, %122 + br i1 %cmp208, label %if.then210, label %if.end212 + +if.then210: ; preds = %if.end204 + %123 = load i8*, i8** %buffer.addr, align 8 + %124 = load i64, i64* %len, align 8 + %arrayidx211 = getelementptr inbounds i8, i8* %123, i64 %124 + store i8 34, i8* %arrayidx211, align 1 + br label %if.end212 + +if.end212: ; preds = %if.then210, %if.end204 + %125 = load i64, i64* %len, align 8 + %inc213 = add i64 %125, 1 + store i64 %inc213, i64* %len, align 8 + %126 = load i64, i64* %len, align 8 + %127 = load i64, i64* %buffersize.addr, align 8 + %cmp216 = icmp ult i64 %126, %127 + br i1 %cmp216, label %if.then218, label %if.end220 + +if.then218: ; preds = %if.end212 + %128 = load i8*, i8** %buffer.addr, align 8 + %129 = load i64, i64* %len, align 8 + %arrayidx219 = getelementptr inbounds i8, i8* %128, i64 %129 + store i8 34, i8* %arrayidx219, align 1 + br label %if.end220 + +if.end220: ; preds = %if.then218, %if.end212 + %130 = load i64, i64* %len, align 8 + %inc221 = add i64 %130, 1 + store i64 %inc221, i64* %len, align 8 + %131 = load i64, i64* %len, align 8 + %132 = load i64, i64* %buffersize.addr, align 8 + %cmp224 = icmp ult i64 %131, %132 + br i1 %cmp224, label %if.then226, label %if.end228 + +if.then226: ; preds = %if.end220 + %133 = load i8*, i8** %buffer.addr, align 8 + %134 = load i64, i64* %len, align 8 + %arrayidx227 = getelementptr inbounds i8, i8* %133, i64 %134 + store i8 63, i8* %arrayidx227, align 1 + br label %if.end228 + +if.end228: ; preds = %if.then226, %if.end220 + %135 = load i64, i64* %len, align 8 + %inc229 = add i64 %135, 1 + store i64 %inc229, i64* %len, align 8 + br label %sw.epilog564 + +sw.bb236: ; preds = %NodeBlock228 + store i8 97, i8* %esc, align 1 + br label %c_escape + +sw.bb237: ; preds = %NodeBlock226 + store i8 98, i8* %esc, align 1 + br label %c_escape + +sw.bb238: ; preds = %NodeBlock224 + store i8 102, i8* %esc, align 1 + br label %c_escape + +sw.bb239: ; preds = %NodeBlock222 + store i8 110, i8* %esc, align 1 + br label %c_and_shell_escape + +sw.bb240: ; preds = %NodeBlock220 + store i8 114, i8* %esc, align 1 + br label %c_and_shell_escape + +sw.bb241: ; preds = %NodeBlock218 + store i8 116, i8* %esc, align 1 + br label %c_and_shell_escape + +sw.bb242: ; preds = %NodeBlock216 + store i8 118, i8* %esc, align 1 + br label %c_escape + +sw.bb243: ; preds = %NodeBlock214 + %136 = load i8, i8* %c, align 1 + store i8 %136, i8* %esc, align 1 + %137 = load i32, i32* %quoting_style.addr, align 4 + %cmp244 = icmp eq i32 %137, 2 + br i1 %cmp244, label %if.then246, label %if.end250 + +if.then246: ; preds = %sw.bb243 + %138 = load i8, i8* %elide_outer_quotes, align 1 + %tobool247 = trunc i8 %138 to i1 + br i1 %tobool247, label %force_outer_quoting_style, label %do.body634 + +if.end250: ; preds = %sw.bb243 + %139 = load i8, i8* %backslash_escapes, align 1 + %tobool251 = trunc i8 %139 to i1 + br i1 %tobool251, label %land.lhs.true253, label %c_and_shell_escape + +land.lhs.true253: ; preds = %if.end250 + %140 = load i8, i8* %elide_outer_quotes, align 1 + %tobool254 = trunc i8 %140 to i1 + %141 = load i64, i64* %quote_string_len, align 8 + %tobool257 = icmp ne i64 %141, 0 + %or.cond3 = and i1 %tobool254, %tobool257 + br i1 %or.cond3, label %do.body634, label %c_and_shell_escape + +c_and_shell_escape: ; preds = %if.end250, %land.lhs.true253, %sw.bb241, %sw.bb240, %sw.bb239 + %142 = load i32, i32* %quoting_style.addr, align 4 + %cmp260 = icmp eq i32 %142, 2 + br i1 %cmp260, label %land.lhs.true262, label %c_escape + +land.lhs.true262: ; preds = %c_and_shell_escape + %143 = load i8, i8* %elide_outer_quotes, align 1 + %tobool263 = trunc i8 %143 to i1 + br i1 %tobool263, label %force_outer_quoting_style, label %c_escape + +c_escape: ; preds = %c_and_shell_escape, %land.lhs.true262, %sw.bb242, %sw.bb238, %sw.bb237, %sw.bb236 + %144 = load i8, i8* %backslash_escapes, align 1 + %tobool267 = trunc i8 %144 to i1 + br i1 %tobool267, label %if.then268, label %sw.epilog564 + +if.then268: ; preds = %c_escape + %145 = load i8, i8* %esc, align 1 + store i8 %145, i8* %c, align 1 + br label %do.body586 + +sw.bb270: ; preds = %NodeBlock212, %NodeBlock210 + %146 = load i64, i64* %argsize.addr, align 8 + %cmp271 = icmp eq i64 %146, -1 + br i1 %cmp271, label %cond.true273, label %cond.false278 + +cond.true273: ; preds = %sw.bb270 + %147 = load i8*, i8** %arg.addr, align 8 + %arrayidx274 = getelementptr inbounds i8, i8* %147, i64 1 + %148 = load i8, i8* %arrayidx274, align 1 + %conv275 = sext i8 %148 to i32 + %cmp276 = icmp eq i32 %conv275, 0 + br i1 %cmp276, label %sw.bb283, label %sw.epilog564 + +cond.false278: ; preds = %sw.bb270 + %149 = load i64, i64* %argsize.addr, align 8 + %cmp279 = icmp eq i64 %149, 1 + br i1 %cmp279, label %sw.bb283, label %sw.epilog564 + +sw.bb283: ; preds = %NodeBlock208, %NodeBlock206, %cond.true273, %cond.false278 + %150 = load i64, i64* %i, align 8 + %cmp284 = icmp ne i64 %150, 0 + br i1 %cmp284, label %sw.epilog564, label %sw.bb288 + +sw.bb288: ; preds = %NodeBlock204, %sw.bb283 + store i8 1, i8* %c_and_shell_quote_compat, align 1 + br label %sw.bb289 + +sw.bb289: ; preds = %NodeBlock202, %NodeBlock200, %NodeBlock198, %NodeBlock196, %NodeBlock194, %NodeBlock192, %NodeBlock190, %NodeBlock188, %NodeBlock186, %NodeBlock184, %NodeBlock182, %NodeBlock180, %NodeBlock178, %NodeBlock176, %NodeBlock174, %sw.bb288 + %151 = load i32, i32* %quoting_style.addr, align 4 + %cmp290 = icmp eq i32 %151, 2 + br i1 %cmp290, label %land.lhs.true292, label %sw.epilog564 + +land.lhs.true292: ; preds = %sw.bb289 + %152 = load i8, i8* %elide_outer_quotes, align 1 + %tobool293 = trunc i8 %152 to i1 + br i1 %tobool293, label %force_outer_quoting_style, label %sw.epilog564 + +sw.bb297: ; preds = %NodeBlock172 + store i8 1, i8* %encountered_single_quote, align 1 + store i8 1, i8* %c_and_shell_quote_compat, align 1 + %153 = load i32, i32* %quoting_style.addr, align 4 + %cmp298 = icmp eq i32 %153, 2 + br i1 %cmp298, label %if.then300, label %sw.epilog564 + +if.then300: ; preds = %sw.bb297 + %154 = load i8, i8* %elide_outer_quotes, align 1 + %tobool301 = trunc i8 %154 to i1 + br i1 %tobool301, label %force_outer_quoting_style, label %if.end303 + +if.end303: ; preds = %if.then300 + %155 = load i64, i64* %buffersize.addr, align 8 + %tobool304 = icmp eq i64 %155, 0 + %156 = load i64, i64* %orig_buffersize, align 8 + %tobool306 = icmp ne i64 %156, 0 + %or.cond4 = or i1 %tobool304, %tobool306 + br i1 %or.cond4, label %do.body309, label %if.then307 + +if.then307: ; preds = %if.end303 + %157 = load i64, i64* %buffersize.addr, align 8 + store i64 %157, i64* %orig_buffersize, align 8 + store i64 0, i64* %buffersize.addr, align 8 + br label %do.body309 + +do.body309: ; preds = %if.then307, %if.end303 + %158 = load i64, i64* %len, align 8 + %159 = load i64, i64* %buffersize.addr, align 8 + %cmp310 = icmp ult i64 %158, %159 + br i1 %cmp310, label %if.then312, label %if.end314 + +if.then312: ; preds = %do.body309 + %160 = load i8*, i8** %buffer.addr, align 8 + %161 = load i64, i64* %len, align 8 + %arrayidx313 = getelementptr inbounds i8, i8* %160, i64 %161 + store i8 39, i8* %arrayidx313, align 1 + br label %if.end314 + +if.end314: ; preds = %if.then312, %do.body309 + %162 = load i64, i64* %len, align 8 + %inc315 = add i64 %162, 1 + store i64 %inc315, i64* %len, align 8 + %163 = load i64, i64* %len, align 8 + %164 = load i64, i64* %buffersize.addr, align 8 + %cmp318 = icmp ult i64 %163, %164 + br i1 %cmp318, label %if.then320, label %if.end322 + +if.then320: ; preds = %if.end314 + %165 = load i8*, i8** %buffer.addr, align 8 + %166 = load i64, i64* %len, align 8 + %arrayidx321 = getelementptr inbounds i8, i8* %165, i64 %166 + store i8 92, i8* %arrayidx321, align 1 + br label %if.end322 + +if.end322: ; preds = %if.then320, %if.end314 + %167 = load i64, i64* %len, align 8 + %inc323 = add i64 %167, 1 + store i64 %inc323, i64* %len, align 8 + %168 = load i64, i64* %len, align 8 + %169 = load i64, i64* %buffersize.addr, align 8 + %cmp326 = icmp ult i64 %168, %169 + br i1 %cmp326, label %if.then328, label %if.end330 + +if.then328: ; preds = %if.end322 + %170 = load i8*, i8** %buffer.addr, align 8 + %171 = load i64, i64* %len, align 8 + %arrayidx329 = getelementptr inbounds i8, i8* %170, i64 %171 + store i8 39, i8* %arrayidx329, align 1 + br label %if.end330 + +if.end330: ; preds = %if.then328, %if.end322 + %172 = load i64, i64* %len, align 8 + %inc331 = add i64 %172, 1 + store i64 %inc331, i64* %len, align 8 + store i8 0, i8* %pending_shell_escape_end, align 1 + br label %sw.epilog564 + +sw.bb334: ; preds = %NodeBlock170, %NodeBlock168, %NodeBlock166, %NodeBlock164, %NodeBlock162, %NodeBlock160, %NodeBlock158, %NodeBlock156, %NodeBlock154, %NodeBlock152, %NodeBlock150, %NodeBlock148, %NodeBlock146, %NodeBlock144, %NodeBlock142, %NodeBlock140, %NodeBlock138, %NodeBlock136, %NodeBlock134, %NodeBlock132, %NodeBlock130, %NodeBlock128, %NodeBlock126, %NodeBlock124, %NodeBlock122, %NodeBlock120, %NodeBlock118, %NodeBlock116, %NodeBlock114, %NodeBlock112, %NodeBlock110, %NodeBlock108, %NodeBlock106, %NodeBlock104, %NodeBlock102, %NodeBlock100, %NodeBlock98, %NodeBlock96, %NodeBlock94, %NodeBlock92, %NodeBlock90, %NodeBlock88, %NodeBlock86, %NodeBlock84, %NodeBlock82, %NodeBlock80, %NodeBlock78, %NodeBlock76, %NodeBlock74, %NodeBlock72, %NodeBlock70, %NodeBlock68, %NodeBlock66, %NodeBlock64, %NodeBlock62, %NodeBlock60, %NodeBlock58, %NodeBlock56, %NodeBlock54, %NodeBlock52, %NodeBlock50, %NodeBlock48, %NodeBlock46, %NodeBlock44, %NodeBlock42, %NodeBlock40, %NodeBlock38, %NodeBlock36, %NodeBlock34, %NodeBlock32, %NodeBlock30 + store i8 1, i8* %c_and_shell_quote_compat, align 1 + br label %sw.epilog564 + +newDefault29: ; preds = %NodeBlock30 + br label %sw.default335 + +sw.default335: ; preds = %newDefault29 + %173 = load i8, i8* %unibyte_locale, align 1 + %tobool336 = trunc i8 %173 to i1 + br i1 %tobool336, label %if.then337, label %if.else346 + +if.then337: ; preds = %sw.default335 + store i64 1, i64* %m, align 8 + %call338 = call i16** @__ctype_b_loc() #26 + %174 = load i16*, i16** %call338, align 8 + %175 = load i8, i8* %c, align 1 + %conv339 = zext i8 %175 to i32 + %idxprom = sext i32 %conv339 to i64 + %arrayidx340 = getelementptr inbounds i16, i16* %174, i64 %idxprom + %176 = load i16, i16* %arrayidx340, align 2 + %conv341 = zext i16 %176 to i32 + %and342 = and i32 %conv341, 16384 + %cmp343 = icmp ne i32 %and342, 0 + %frombool345 = zext i1 %cmp343 to i8 + store i8 %frombool345, i8* %printable, align 1 + br label %if.end410 + +if.else346: ; preds = %sw.default335 + %177 = bitcast %struct.__mbstate_t* %mbstate to i8* + %178 = call i8* @memset(i8* %177, i32 0, i64 8) + store i64 0, i64* %m, align 8 + store i8 1, i8* %printable, align 1 + %179 = load i64, i64* %argsize.addr, align 8 + %cmp347 = icmp eq i64 %179, -1 + br i1 %cmp347, label %if.then349, label %if.end351 + +if.then349: ; preds = %if.else346 + %180 = load i8*, i8** %arg.addr, align 8 + %call350 = call i64 @strlen(i8* %180) #24 + store i64 %call350, i64* %argsize.addr, align 8 + br label %if.end351 + +if.end351: ; preds = %if.then349, %if.else346 + br label %do.body352 + +do.body352: ; preds = %if.end401, %if.end351 + %181 = load i8*, i8** %arg.addr, align 8 + %182 = load i64, i64* %i, align 8 + %183 = load i64, i64* %m, align 8 + %add353 = add i64 %182, %183 + %arrayidx354 = getelementptr inbounds i8, i8* %181, i64 %add353 + %184 = load i64, i64* %argsize.addr, align 8 + %185 = load i64, i64* %i, align 8 + %186 = load i64, i64* %m, align 8 + %add355 = add i64 %185, %186 + %sub = sub i64 %184, %add355 + %call356 = call i64 @rpl_mbrtowc(i32* %w, i8* %arrayidx354, i64 %sub, %struct.__mbstate_t* %mbstate) + store i64 %call356, i64* %bytes, align 8 + %187 = load i64, i64* %bytes, align 8 + %cmp357 = icmp eq i64 %187, 0 + br i1 %cmp357, label %if.end410, label %if.else360 + +if.else360: ; preds = %do.body352 + %188 = load i64, i64* %bytes, align 8 + %cmp361 = icmp eq i64 %188, -1 + br i1 %cmp361, label %if.then363, label %if.else364 + +if.then363: ; preds = %if.else360 + store i8 0, i8* %printable, align 1 + br label %if.end410 + +if.else364: ; preds = %if.else360 + %189 = load i64, i64* %bytes, align 8 + %cmp365 = icmp eq i64 %189, -2 + br i1 %cmp365, label %if.then367, label %if.else376 + +if.then367: ; preds = %if.else364 + store i8 0, i8* %printable, align 1 + br label %while.cond + +while.cond: ; preds = %while.body, %if.then367 + %190 = load i64, i64* %i, align 8 + %191 = load i64, i64* %m, align 8 + %add368 = add i64 %190, %191 + %192 = load i64, i64* %argsize.addr, align 8 + %cmp369 = icmp ult i64 %add368, %192 + br i1 %cmp369, label %land.rhs, label %if.end410 + +land.rhs: ; preds = %while.cond + %193 = load i8*, i8** %arg.addr, align 8 + %194 = load i64, i64* %i, align 8 + %195 = load i64, i64* %m, align 8 + %add371 = add i64 %194, %195 + %arrayidx372 = getelementptr inbounds i8, i8* %193, i64 %add371 + %196 = load i8, i8* %arrayidx372, align 1 + %conv373 = sext i8 %196 to i32 + %tobool374 = icmp ne i32 %conv373, 0 + br i1 %tobool374, label %while.body, label %if.end410 + +while.body: ; preds = %land.rhs + %197 = load i64, i64* %m, align 8 + %inc375 = add i64 %197, 1 + store i64 %inc375, i64* %m, align 8 + br label %while.cond + +if.else376: ; preds = %if.else364 + %198 = load i8, i8* %elide_outer_quotes, align 1 + %tobool377 = trunc i8 %198 to i1 + %199 = load i32, i32* %quoting_style.addr, align 4 + %cmp380 = icmp eq i32 %199, 2 + %or.cond5 = and i1 %tobool377, %cmp380 + br i1 %or.cond5, label %if.then382, label %if.end397 + +if.then382: ; preds = %if.else376 + store i64 1, i64* %j, align 8 + br label %for.cond383 + +for.cond383: ; preds = %for.inc394, %if.then382 + %200 = load i64, i64* %j, align 8 + %201 = load i64, i64* %bytes, align 8 + %cmp384 = icmp ult i64 %200, %201 + br i1 %cmp384, label %for.body386, label %if.end397 + +for.body386: ; preds = %for.cond383 + %202 = load i8*, i8** %arg.addr, align 8 + %203 = load i64, i64* %i, align 8 + %204 = load i64, i64* %m, align 8 + %add387 = add i64 %203, %204 + %205 = load i64, i64* %j, align 8 + %add388 = add i64 %add387, %205 + %arrayidx389 = getelementptr inbounds i8, i8* %202, i64 %add388 + %206 = load i8, i8* %arrayidx389, align 1 + %conv390 = sext i8 %206 to i32 + br label %NodeBlock267 + +NodeBlock267: ; preds = %for.body386 + %case.cmp268 = icmp eq i32 %conv390, 91 + br i1 %case.cmp268, label %force_outer_quoting_style, label %NodeBlock265 + +NodeBlock265: ; preds = %NodeBlock267 + %case.cmp266 = icmp eq i32 %conv390, 92 + br i1 %case.cmp266, label %force_outer_quoting_style, label %NodeBlock263 + +NodeBlock263: ; preds = %NodeBlock265 + %case.cmp264 = icmp eq i32 %conv390, 94 + br i1 %case.cmp264, label %force_outer_quoting_style, label %NodeBlock261 + +NodeBlock261: ; preds = %NodeBlock263 + %case.cmp262 = icmp eq i32 %conv390, 96 + br i1 %case.cmp262, label %force_outer_quoting_style, label %NodeBlock259 + +NodeBlock259: ; preds = %NodeBlock261 + %case.cmp260 = icmp eq i32 %conv390, 124 + br i1 %case.cmp260, label %force_outer_quoting_style, label %newDefault258 + +newDefault258: ; preds = %NodeBlock259 + br label %for.inc394 + +for.inc394: ; preds = %newDefault258 + %207 = load i64, i64* %j, align 8 + %inc395 = add i64 %207, 1 + store i64 %inc395, i64* %j, align 8 + br label %for.cond383 + +if.end397: ; preds = %for.cond383, %if.else376 + %208 = load i32, i32* %w, align 4 + %call398 = call i32 @iswprint(i32 %208) #11 + %tobool399 = icmp ne i32 %call398, 0 + br i1 %tobool399, label %if.end401, label %if.then400 + +if.then400: ; preds = %if.end397 + store i8 0, i8* %printable, align 1 + br label %if.end401 + +if.end401: ; preds = %if.then400, %if.end397 + %209 = load i64, i64* %bytes, align 8 + %210 = load i64, i64* %m, align 8 + %add402 = add i64 %210, %209 + store i64 %add402, i64* %m, align 8 + %call406 = call i32 bitcast (i32 (%struct.__mbstate_t.512*)* @mbsinit to i32 (%struct.__mbstate_t*)*)(%struct.__mbstate_t* %mbstate) #24 + %tobool407 = icmp ne i32 %call406, 0 + %lnot408 = xor i1 %tobool407, true + br i1 %lnot408, label %do.body352, label %if.end410 + +if.end410: ; preds = %if.then363, %if.end401, %do.body352, %while.cond, %land.rhs, %if.then337 + %211 = load i8, i8* %printable, align 1 + %tobool411 = trunc i8 %211 to i1 + %frombool412 = zext i1 %tobool411 to i8 + store i8 %frombool412, i8* %c_and_shell_quote_compat, align 1 + %212 = load i64, i64* %m, align 8 + %cmp413 = icmp ult i64 1, %212 + br i1 %cmp413, label %if.then419, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end410 + %213 = load i8, i8* %backslash_escapes, align 1 + %tobool415 = trunc i8 %213 to i1 + br i1 %tobool415, label %land.lhs.true417, label %sw.epilog564 + +land.lhs.true417: ; preds = %lor.lhs.false + %214 = load i8, i8* %printable, align 1 + %tobool418 = trunc i8 %214 to i1 + br i1 %tobool418, label %sw.epilog564, label %if.then419 + +if.then419: ; preds = %land.lhs.true417, %if.end410 + %215 = load i64, i64* %i, align 8 + %216 = load i64, i64* %m, align 8 + %add420 = add i64 %215, %216 + store i64 %add420, i64* %ilim, align 8 + br label %for.cond421 + +for.cond421: ; preds = %if.end556, %if.then419 + %217 = load i8, i8* %backslash_escapes, align 1 + %tobool422 = trunc i8 %217 to i1 + br i1 %tobool422, label %land.lhs.true424, label %if.else505 + +land.lhs.true424: ; preds = %for.cond421 + %218 = load i8, i8* %printable, align 1 + %tobool425 = trunc i8 %218 to i1 + br i1 %tobool425, label %if.else505, label %do.body427 + +do.body427: ; preds = %land.lhs.true424 + %219 = load i8, i8* %elide_outer_quotes, align 1 + %tobool428 = trunc i8 %219 to i1 + br i1 %tobool428, label %force_outer_quoting_style, label %if.end430 + +if.end430: ; preds = %do.body427 + store i8 1, i8* %escaping, align 1 + %220 = load i32, i32* %quoting_style.addr, align 4 + %cmp431 = icmp eq i32 %220, 2 + br i1 %cmp431, label %land.lhs.true433, label %do.body464 + +land.lhs.true433: ; preds = %if.end430 + %221 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool434 = trunc i8 %221 to i1 + br i1 %tobool434, label %do.body464, label %do.body436 + +do.body436: ; preds = %land.lhs.true433 + %222 = load i64, i64* %len, align 8 + %223 = load i64, i64* %buffersize.addr, align 8 + %cmp437 = icmp ult i64 %222, %223 + br i1 %cmp437, label %if.then439, label %if.end441 + +if.then439: ; preds = %do.body436 + %224 = load i8*, i8** %buffer.addr, align 8 + %225 = load i64, i64* %len, align 8 + %arrayidx440 = getelementptr inbounds i8, i8* %224, i64 %225 + store i8 39, i8* %arrayidx440, align 1 + br label %if.end441 + +if.end441: ; preds = %if.then439, %do.body436 + %226 = load i64, i64* %len, align 8 + %inc442 = add i64 %226, 1 + store i64 %inc442, i64* %len, align 8 + %227 = load i64, i64* %len, align 8 + %228 = load i64, i64* %buffersize.addr, align 8 + %cmp446 = icmp ult i64 %227, %228 + br i1 %cmp446, label %if.then448, label %if.end450 + +if.then448: ; preds = %if.end441 + %229 = load i8*, i8** %buffer.addr, align 8 + %230 = load i64, i64* %len, align 8 + %arrayidx449 = getelementptr inbounds i8, i8* %229, i64 %230 + store i8 36, i8* %arrayidx449, align 1 + br label %if.end450 + +if.end450: ; preds = %if.then448, %if.end441 + %231 = load i64, i64* %len, align 8 + %inc451 = add i64 %231, 1 + store i64 %inc451, i64* %len, align 8 + %232 = load i64, i64* %len, align 8 + %233 = load i64, i64* %buffersize.addr, align 8 + %cmp455 = icmp ult i64 %232, %233 + br i1 %cmp455, label %if.then457, label %if.end459 + +if.then457: ; preds = %if.end450 + %234 = load i8*, i8** %buffer.addr, align 8 + %235 = load i64, i64* %len, align 8 + %arrayidx458 = getelementptr inbounds i8, i8* %234, i64 %235 + store i8 39, i8* %arrayidx458, align 1 + br label %if.end459 + +if.end459: ; preds = %if.then457, %if.end450 + %236 = load i64, i64* %len, align 8 + %inc460 = add i64 %236, 1 + store i64 %inc460, i64* %len, align 8 + store i8 1, i8* %pending_shell_escape_end, align 1 + br label %do.body464 + +do.body464: ; preds = %if.end430, %land.lhs.true433, %if.end459 + %237 = load i64, i64* %len, align 8 + %238 = load i64, i64* %buffersize.addr, align 8 + %cmp465 = icmp ult i64 %237, %238 + br i1 %cmp465, label %if.then467, label %if.end469 + +if.then467: ; preds = %do.body464 + %239 = load i8*, i8** %buffer.addr, align 8 + %240 = load i64, i64* %len, align 8 + %arrayidx468 = getelementptr inbounds i8, i8* %239, i64 %240 + store i8 92, i8* %arrayidx468, align 1 + br label %if.end469 + +if.end469: ; preds = %if.then467, %do.body464 + %241 = load i64, i64* %len, align 8 + %inc470 = add i64 %241, 1 + store i64 %inc470, i64* %len, align 8 + %242 = load i64, i64* %len, align 8 + %243 = load i64, i64* %buffersize.addr, align 8 + %cmp476 = icmp ult i64 %242, %243 + br i1 %cmp476, label %if.then478, label %if.end483 + +if.then478: ; preds = %if.end469 + %244 = load i8, i8* %c, align 1 + %conv479 = zext i8 %244 to i32 + %shr = ashr i32 %conv479, 6 + %add480 = add nsw i32 48, %shr + %conv481 = trunc i32 %add480 to i8 + %245 = load i8*, i8** %buffer.addr, align 8 + %246 = load i64, i64* %len, align 8 + %arrayidx482 = getelementptr inbounds i8, i8* %245, i64 %246 + store i8 %conv481, i8* %arrayidx482, align 1 + br label %if.end483 + +if.end483: ; preds = %if.then478, %if.end469 + %247 = load i64, i64* %len, align 8 + %inc484 = add i64 %247, 1 + store i64 %inc484, i64* %len, align 8 + %248 = load i64, i64* %len, align 8 + %249 = load i64, i64* %buffersize.addr, align 8 + %cmp488 = icmp ult i64 %248, %249 + br i1 %cmp488, label %if.then490, label %if.end497 + +if.then490: ; preds = %if.end483 + %250 = load i8, i8* %c, align 1 + %conv491 = zext i8 %250 to i32 + %shr492 = ashr i32 %conv491, 3 + %and493 = and i32 %shr492, 7 + %add494 = add nsw i32 48, %and493 + %conv495 = trunc i32 %add494 to i8 + %251 = load i8*, i8** %buffer.addr, align 8 + %252 = load i64, i64* %len, align 8 + %arrayidx496 = getelementptr inbounds i8, i8* %251, i64 %252 + store i8 %conv495, i8* %arrayidx496, align 1 + br label %if.end497 + +if.end497: ; preds = %if.then490, %if.end483 + %253 = load i64, i64* %len, align 8 + %inc498 = add i64 %253, 1 + store i64 %inc498, i64* %len, align 8 + %254 = load i8, i8* %c, align 1 + %conv501 = zext i8 %254 to i32 + %and502 = and i32 %conv501, 7 + %add503 = add nsw i32 48, %and502 + %conv504 = trunc i32 %add503 to i8 + store i8 %conv504, i8* %c, align 1 + br label %if.end518 + +if.else505: ; preds = %land.lhs.true424, %for.cond421 + %255 = load i8, i8* %is_right_quote, align 1 + %tobool506 = trunc i8 %255 to i1 + br i1 %tobool506, label %do.body508, label %if.end518 + +do.body508: ; preds = %if.else505 + %256 = load i64, i64* %len, align 8 + %257 = load i64, i64* %buffersize.addr, align 8 + %cmp509 = icmp ult i64 %256, %257 + br i1 %cmp509, label %if.then511, label %if.end513 + +if.then511: ; preds = %do.body508 + %258 = load i8*, i8** %buffer.addr, align 8 + %259 = load i64, i64* %len, align 8 + %arrayidx512 = getelementptr inbounds i8, i8* %258, i64 %259 + store i8 92, i8* %arrayidx512, align 1 + br label %if.end513 + +if.end513: ; preds = %if.then511, %do.body508 + %260 = load i64, i64* %len, align 8 + %inc514 = add i64 %260, 1 + store i64 %inc514, i64* %len, align 8 + store i8 0, i8* %is_right_quote, align 1 + br label %if.end518 + +if.end518: ; preds = %if.else505, %if.end513, %if.end497 + %261 = load i64, i64* %ilim, align 8 + %262 = load i64, i64* %i, align 8 + %add519 = add i64 %262, 1 + %cmp520 = icmp ule i64 %261, %add519 + br i1 %cmp520, label %do.body634, label %do.body524 + +do.body524: ; preds = %if.end518 + %263 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool525 = trunc i8 %263 to i1 + br i1 %tobool525, label %land.lhs.true527, label %do.body551 + +land.lhs.true527: ; preds = %do.body524 + %264 = load i8, i8* %escaping, align 1 + %tobool528 = trunc i8 %264 to i1 + br i1 %tobool528, label %do.body551, label %do.body530 + +do.body530: ; preds = %land.lhs.true527 + %265 = load i64, i64* %len, align 8 + %266 = load i64, i64* %buffersize.addr, align 8 + %cmp531 = icmp ult i64 %265, %266 + br i1 %cmp531, label %if.then533, label %if.end535 + +if.then533: ; preds = %do.body530 + %267 = load i8*, i8** %buffer.addr, align 8 + %268 = load i64, i64* %len, align 8 + %arrayidx534 = getelementptr inbounds i8, i8* %267, i64 %268 + store i8 39, i8* %arrayidx534, align 1 + br label %if.end535 + +if.end535: ; preds = %if.then533, %do.body530 + %269 = load i64, i64* %len, align 8 + %inc536 = add i64 %269, 1 + store i64 %inc536, i64* %len, align 8 + %270 = load i64, i64* %len, align 8 + %271 = load i64, i64* %buffersize.addr, align 8 + %cmp540 = icmp ult i64 %270, %271 + br i1 %cmp540, label %if.then542, label %if.end544 + +if.then542: ; preds = %if.end535 + %272 = load i8*, i8** %buffer.addr, align 8 + %273 = load i64, i64* %len, align 8 + %arrayidx543 = getelementptr inbounds i8, i8* %272, i64 %273 + store i8 39, i8* %arrayidx543, align 1 + br label %if.end544 + +if.end544: ; preds = %if.then542, %if.end535 + %274 = load i64, i64* %len, align 8 + %inc545 = add i64 %274, 1 + store i64 %inc545, i64* %len, align 8 + store i8 0, i8* %pending_shell_escape_end, align 1 + br label %do.body551 + +do.body551: ; preds = %if.end544, %land.lhs.true527, %do.body524 + %275 = load i64, i64* %len, align 8 + %276 = load i64, i64* %buffersize.addr, align 8 + %cmp552 = icmp ult i64 %275, %276 + br i1 %cmp552, label %if.then554, label %if.end556 + +if.then554: ; preds = %do.body551 + %277 = load i8, i8* %c, align 1 + %278 = load i8*, i8** %buffer.addr, align 8 + %279 = load i64, i64* %len, align 8 + %arrayidx555 = getelementptr inbounds i8, i8* %278, i64 %279 + store i8 %277, i8* %arrayidx555, align 1 + br label %if.end556 + +if.end556: ; preds = %if.then554, %do.body551 + %280 = load i64, i64* %len, align 8 + %inc557 = add i64 %280, 1 + store i64 %inc557, i64* %len, align 8 + %281 = load i8*, i8** %arg.addr, align 8 + %282 = load i64, i64* %i, align 8 + %inc560 = add i64 %282, 1 + store i64 %inc560, i64* %i, align 8 + %arrayidx561 = getelementptr inbounds i8, i8* %281, i64 %inc560 + %283 = load i8, i8* %arrayidx561, align 1 + store i8 %283, i8* %c, align 1 + br label %for.cond421 + +newDefault234: ; preds = %NodeBlock235 + br label %sw.epilog564 + +newDefault239: ; preds = %NodeBlock240 + br label %sw.epilog564 + +sw.epilog564: ; preds = %newDefault239, %newDefault234, %lor.lhs.false, %land.lhs.true417, %sw.bb297, %if.end330, %sw.bb289, %land.lhs.true292, %sw.bb283, %cond.true273, %cond.false278, %c_escape, %sw.bb171, %if.end228, %land.lhs.true182, %land.lhs.true178, %sw.bb175, %if.end164, %if.else, %sw.bb334 + %284 = load i8, i8* %backslash_escapes, align 1 + %tobool565 = trunc i8 %284 to i1 + %285 = load i32, i32* %quoting_style.addr, align 4 + %cmp568 = icmp ne i32 %285, 2 + %or.cond6 = and i1 %tobool565, %cmp568 + br i1 %or.cond6, label %land.lhs.true573, label %lor.lhs.false570 + +lor.lhs.false570: ; preds = %sw.epilog564 + %286 = load i8, i8* %elide_outer_quotes, align 1 + %tobool571 = trunc i8 %286 to i1 + br i1 %tobool571, label %land.lhs.true573, label %land.lhs.true582 + +land.lhs.true573: ; preds = %sw.epilog564, %lor.lhs.false570 + %287 = load i32*, i32** %quote_these_too.addr, align 8 + %tobool574 = icmp ne i32* %287, null + br i1 %tobool574, label %land.lhs.true575, label %land.lhs.true582 + +land.lhs.true575: ; preds = %land.lhs.true573 + %288 = load i32*, i32** %quote_these_too.addr, align 8 + %289 = load i8, i8* %c, align 1 + %conv576 = zext i8 %289 to i64 + %div = udiv i64 %conv576, 32 + %arrayidx577 = getelementptr inbounds i32, i32* %288, i64 %div + %290 = load i32, i32* %arrayidx577, align 4 + %291 = load i8, i8* %c, align 1 + %conv578 = zext i8 %291 to i64 + %rem = urem i64 %conv578, 32 + %sh_prom = trunc i64 %rem to i32 + %shr579 = lshr i32 %290, %sh_prom + %and580 = and i32 %shr579, 1 + %tobool581 = icmp ne i32 %and580, 0 + br i1 %tobool581, label %do.body586, label %land.lhs.true582 + +land.lhs.true582: ; preds = %land.lhs.true575, %land.lhs.true573, %lor.lhs.false570 + %292 = load i8, i8* %is_right_quote, align 1 + %tobool583 = trunc i8 %292 to i1 + br i1 %tobool583, label %do.body586, label %do.body634 + +do.body586: ; preds = %if.then268, %land.lhs.true582, %land.lhs.true575 + %293 = load i8, i8* %elide_outer_quotes, align 1 + %tobool587 = trunc i8 %293 to i1 + br i1 %tobool587, label %force_outer_quoting_style, label %if.end589 + +if.end589: ; preds = %do.body586 + store i8 1, i8* %escaping, align 1 + %294 = load i32, i32* %quoting_style.addr, align 4 + %cmp590 = icmp eq i32 %294, 2 + br i1 %cmp590, label %land.lhs.true592, label %do.body623 + +land.lhs.true592: ; preds = %if.end589 + %295 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool593 = trunc i8 %295 to i1 + br i1 %tobool593, label %do.body623, label %do.body595 + +do.body595: ; preds = %land.lhs.true592 + %296 = load i64, i64* %len, align 8 + %297 = load i64, i64* %buffersize.addr, align 8 + %cmp596 = icmp ult i64 %296, %297 + br i1 %cmp596, label %if.then598, label %if.end600 + +if.then598: ; preds = %do.body595 + %298 = load i8*, i8** %buffer.addr, align 8 + %299 = load i64, i64* %len, align 8 + %arrayidx599 = getelementptr inbounds i8, i8* %298, i64 %299 + store i8 39, i8* %arrayidx599, align 1 + br label %if.end600 + +if.end600: ; preds = %if.then598, %do.body595 + %300 = load i64, i64* %len, align 8 + %inc601 = add i64 %300, 1 + store i64 %inc601, i64* %len, align 8 + %301 = load i64, i64* %len, align 8 + %302 = load i64, i64* %buffersize.addr, align 8 + %cmp605 = icmp ult i64 %301, %302 + br i1 %cmp605, label %if.then607, label %if.end609 + +if.then607: ; preds = %if.end600 + %303 = load i8*, i8** %buffer.addr, align 8 + %304 = load i64, i64* %len, align 8 + %arrayidx608 = getelementptr inbounds i8, i8* %303, i64 %304 + store i8 36, i8* %arrayidx608, align 1 + br label %if.end609 + +if.end609: ; preds = %if.then607, %if.end600 + %305 = load i64, i64* %len, align 8 + %inc610 = add i64 %305, 1 + store i64 %inc610, i64* %len, align 8 + %306 = load i64, i64* %len, align 8 + %307 = load i64, i64* %buffersize.addr, align 8 + %cmp614 = icmp ult i64 %306, %307 + br i1 %cmp614, label %if.then616, label %if.end618 + +if.then616: ; preds = %if.end609 + %308 = load i8*, i8** %buffer.addr, align 8 + %309 = load i64, i64* %len, align 8 + %arrayidx617 = getelementptr inbounds i8, i8* %308, i64 %309 + store i8 39, i8* %arrayidx617, align 1 + br label %if.end618 + +if.end618: ; preds = %if.then616, %if.end609 + %310 = load i64, i64* %len, align 8 + %inc619 = add i64 %310, 1 + store i64 %inc619, i64* %len, align 8 + store i8 1, i8* %pending_shell_escape_end, align 1 + br label %do.body623 + +do.body623: ; preds = %if.end589, %land.lhs.true592, %if.end618 + %311 = load i64, i64* %len, align 8 + %312 = load i64, i64* %buffersize.addr, align 8 + %cmp624 = icmp ult i64 %311, %312 + br i1 %cmp624, label %if.then626, label %if.end628 + +if.then626: ; preds = %do.body623 + %313 = load i8*, i8** %buffer.addr, align 8 + %314 = load i64, i64* %len, align 8 + %arrayidx627 = getelementptr inbounds i8, i8* %313, i64 %314 + store i8 92, i8* %arrayidx627, align 1 + br label %if.end628 + +if.end628: ; preds = %if.then626, %do.body623 + %315 = load i64, i64* %len, align 8 + %inc629 = add i64 %315, 1 + store i64 %inc629, i64* %len, align 8 + br label %do.body634 + +do.body634: ; preds = %if.end628, %if.then246, %land.lhs.true253, %if.end518, %land.lhs.true582 + %316 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool635 = trunc i8 %316 to i1 + br i1 %tobool635, label %land.lhs.true637, label %do.body661 + +land.lhs.true637: ; preds = %do.body634 + %317 = load i8, i8* %escaping, align 1 + %tobool638 = trunc i8 %317 to i1 + br i1 %tobool638, label %do.body661, label %do.body640 + +do.body640: ; preds = %land.lhs.true637 + %318 = load i64, i64* %len, align 8 + %319 = load i64, i64* %buffersize.addr, align 8 + %cmp641 = icmp ult i64 %318, %319 + br i1 %cmp641, label %if.then643, label %if.end645 + +if.then643: ; preds = %do.body640 + %320 = load i8*, i8** %buffer.addr, align 8 + %321 = load i64, i64* %len, align 8 + %arrayidx644 = getelementptr inbounds i8, i8* %320, i64 %321 + store i8 39, i8* %arrayidx644, align 1 + br label %if.end645 + +if.end645: ; preds = %if.then643, %do.body640 + %322 = load i64, i64* %len, align 8 + %inc646 = add i64 %322, 1 + store i64 %inc646, i64* %len, align 8 + %323 = load i64, i64* %len, align 8 + %324 = load i64, i64* %buffersize.addr, align 8 + %cmp650 = icmp ult i64 %323, %324 + br i1 %cmp650, label %if.then652, label %if.end654 + +if.then652: ; preds = %if.end645 + %325 = load i8*, i8** %buffer.addr, align 8 + %326 = load i64, i64* %len, align 8 + %arrayidx653 = getelementptr inbounds i8, i8* %325, i64 %326 + store i8 39, i8* %arrayidx653, align 1 + br label %if.end654 + +if.end654: ; preds = %if.then652, %if.end645 + %327 = load i64, i64* %len, align 8 + %inc655 = add i64 %327, 1 + store i64 %inc655, i64* %len, align 8 + store i8 0, i8* %pending_shell_escape_end, align 1 + br label %do.body661 + +do.body661: ; preds = %if.end654, %land.lhs.true637, %do.body634 + %328 = load i64, i64* %len, align 8 + %329 = load i64, i64* %buffersize.addr, align 8 + %cmp662 = icmp ult i64 %328, %329 + br i1 %cmp662, label %if.then664, label %if.end666 + +if.then664: ; preds = %do.body661 + %330 = load i8, i8* %c, align 1 + %331 = load i8*, i8** %buffer.addr, align 8 + %332 = load i64, i64* %len, align 8 + %arrayidx665 = getelementptr inbounds i8, i8* %331, i64 %332 + store i8 %330, i8* %arrayidx665, align 1 + br label %if.end666 + +if.end666: ; preds = %if.then664, %do.body661 + %333 = load i64, i64* %len, align 8 + %inc667 = add i64 %333, 1 + store i64 %inc667, i64* %len, align 8 + %334 = load i8, i8* %c_and_shell_quote_compat, align 1 + %tobool670 = trunc i8 %334 to i1 + br i1 %tobool670, label %for.inc673, label %if.then671 + +if.then671: ; preds = %if.end666 + store i8 0, i8* %all_c_and_shell_quote_compat, align 1 + br label %for.inc673 + +for.inc673: ; preds = %if.end666, %if.then671, %if.else + %335 = load i64, i64* %i, align 8 + %inc674 = add i64 %335, 1 + store i64 %inc674, i64* %i, align 8 + br label %for.cond44 + +for.end675: ; preds = %cond.end + %336 = load i64, i64* %len, align 8 + %cmp676 = icmp eq i64 %336, 0 + %337 = load i32, i32* %quoting_style.addr, align 4 + %cmp679 = icmp eq i32 %337, 2 + %or.cond7 = and i1 %cmp676, %cmp679 + br i1 %or.cond7, label %land.lhs.true681, label %if.end685 + +land.lhs.true681: ; preds = %for.end675 + %338 = load i8, i8* %elide_outer_quotes, align 1 + %tobool682 = trunc i8 %338 to i1 + br i1 %tobool682, label %force_outer_quoting_style, label %if.end685 + +if.end685: ; preds = %land.lhs.true681, %for.end675 + %339 = load i32, i32* %quoting_style.addr, align 4 + %cmp686 = icmp eq i32 %339, 2 + br i1 %cmp686, label %land.lhs.true688, label %if.end704 + +land.lhs.true688: ; preds = %if.end685 + %340 = load i8, i8* %elide_outer_quotes, align 1 + %tobool689 = trunc i8 %340 to i1 + br i1 %tobool689, label %if.end704, label %land.lhs.true690 + +land.lhs.true690: ; preds = %land.lhs.true688 + %341 = load i8, i8* %encountered_single_quote, align 1 + %tobool691 = trunc i8 %341 to i1 + br i1 %tobool691, label %if.then693, label %if.end704 + +if.then693: ; preds = %land.lhs.true690 + %342 = load i8, i8* %all_c_and_shell_quote_compat, align 1 + %tobool694 = trunc i8 %342 to i1 + br i1 %tobool694, label %if.then695, label %if.else697 + +if.then695: ; preds = %if.then693 + %343 = load i8*, i8** %buffer.addr, align 8 + %344 = load i64, i64* %orig_buffersize, align 8 + %345 = load i8*, i8** %arg.addr, align 8 + %346 = load i64, i64* %argsize.addr, align 8 + %347 = load i32, i32* %flags.addr, align 4 + %348 = load i32*, i32** %quote_these_too.addr, align 8 + %349 = load i8*, i8** %left_quote.addr, align 8 + %350 = load i8*, i8** %right_quote.addr, align 8 + %call696 = call i64 @quotearg_buffer_restyled(i8* %343, i64 %344, i8* %345, i64 %346, i32 5, i32 %347, i32* %348, i8* %349, i8* %350) + store i64 %call696, i64* %retval, align 8 + br label %return + +if.else697: ; preds = %if.then693 + %351 = load i64, i64* %buffersize.addr, align 8 + %tobool698 = icmp eq i64 %351, 0 + %352 = load i64, i64* %orig_buffersize, align 8 + %tobool700 = icmp ne i64 %352, 0 + %or.cond8 = and i1 %tobool698, %tobool700 + br i1 %or.cond8, label %if.then701, label %if.end704 + +if.then701: ; preds = %if.else697 + %353 = load i64, i64* %orig_buffersize, align 8 + store i64 %353, i64* %buffersize.addr, align 8 + store i64 0, i64* %len, align 8 + br label %process_input + +if.end704: ; preds = %if.else697, %land.lhs.true690, %land.lhs.true688, %if.end685 + %354 = load i8*, i8** %quote_string, align 8 + %tobool705 = icmp ne i8* %354, null + br i1 %tobool705, label %land.lhs.true706, label %if.end724 + +land.lhs.true706: ; preds = %if.end704 + %355 = load i8, i8* %elide_outer_quotes, align 1 + %tobool707 = trunc i8 %355 to i1 + br i1 %tobool707, label %if.end724, label %for.cond709 + +for.cond709: ; preds = %land.lhs.true706, %if.end717 + %356 = load i8*, i8** %quote_string, align 8 + %357 = load i8, i8* %356, align 1 + %tobool710 = icmp ne i8 %357, 0 + br i1 %tobool710, label %do.body712, label %if.end724 + +do.body712: ; preds = %for.cond709 + %358 = load i64, i64* %len, align 8 + %359 = load i64, i64* %buffersize.addr, align 8 + %cmp713 = icmp ult i64 %358, %359 + br i1 %cmp713, label %if.then715, label %if.end717 + +if.then715: ; preds = %do.body712 + %360 = load i8*, i8** %quote_string, align 8 + %361 = load i8, i8* %360, align 1 + %362 = load i8*, i8** %buffer.addr, align 8 + %363 = load i64, i64* %len, align 8 + %arrayidx716 = getelementptr inbounds i8, i8* %362, i64 %363 + store i8 %361, i8* %arrayidx716, align 1 + br label %if.end717 + +if.end717: ; preds = %if.then715, %do.body712 + %364 = load i64, i64* %len, align 8 + %inc718 = add i64 %364, 1 + store i64 %inc718, i64* %len, align 8 + %365 = load i8*, i8** %quote_string, align 8 + %incdec.ptr722 = getelementptr inbounds i8, i8* %365, i32 1 + store i8* %incdec.ptr722, i8** %quote_string, align 8 + br label %for.cond709 + +if.end724: ; preds = %for.cond709, %land.lhs.true706, %if.end704 + %366 = load i64, i64* %len, align 8 + %367 = load i64, i64* %buffersize.addr, align 8 + %cmp725 = icmp ult i64 %366, %367 + br i1 %cmp725, label %if.then727, label %if.end729 + +if.then727: ; preds = %if.end724 + %368 = load i8*, i8** %buffer.addr, align 8 + %369 = load i64, i64* %len, align 8 + %arrayidx728 = getelementptr inbounds i8, i8* %368, i64 %369 + store i8 0, i8* %arrayidx728, align 1 + br label %if.end729 + +if.end729: ; preds = %if.then727, %if.end724 + %370 = load i64, i64* %len, align 8 + store i64 %370, i64* %retval, align 8 + br label %return + +force_outer_quoting_style: ; preds = %NodeBlock267, %NodeBlock265, %NodeBlock263, %NodeBlock261, %NodeBlock259, %land.lhs.true681, %do.body586, %do.body427, %if.then300, %land.lhs.true292, %land.lhs.true262, %if.then246, %sw.bb192, %sw.bb171, %do.body86, %if.then76 + %371 = load i32, i32* %quoting_style.addr, align 4 + %cmp730 = icmp eq i32 %371, 2 + br i1 %cmp730, label %land.lhs.true732, label %if.end736 + +land.lhs.true732: ; preds = %force_outer_quoting_style + %372 = load i8, i8* %backslash_escapes, align 1 + %tobool733 = trunc i8 %372 to i1 + br i1 %tobool733, label %if.then735, label %if.end736 + +if.then735: ; preds = %land.lhs.true732 + store i32 4, i32* %quoting_style.addr, align 4 + br label %if.end736 + +if.end736: ; preds = %if.then735, %land.lhs.true732, %force_outer_quoting_style + %373 = load i8*, i8** %buffer.addr, align 8 + %374 = load i64, i64* %buffersize.addr, align 8 + %375 = load i8*, i8** %arg.addr, align 8 + %376 = load i64, i64* %argsize.addr, align 8 + %377 = load i32, i32* %quoting_style.addr, align 4 + %378 = load i32, i32* %flags.addr, align 4 + %and737 = and i32 %378, -3 + %379 = load i8*, i8** %left_quote.addr, align 8 + %380 = load i8*, i8** %right_quote.addr, align 8 + %call738 = call i64 @quotearg_buffer_restyled(i8* %373, i64 %374, i8* %375, i64 %376, i32 %377, i32 %and737, i32* null, i8* %379, i8* %380) + store i64 %call738, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end736, %if.end729, %if.then695 + %381 = load i64, i64* %retval, align 8 + ret i64 %381 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xcharalloc(i64 %n) #3 { +entry: + %n.addr = alloca i64, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @xmalloc(i64 %0) + ret i8* %call +} + +; Function Attrs: nounwind +declare dso_local i64 @__ctype_get_mb_cur_max() #4 + +; Function Attrs: noinline nounwind uwtable +define internal i8* @gettext_quote(i8* %msgid, i32 %s) #3 { +entry: + %retval = alloca i8*, align 8 + %msgid.addr = alloca i8*, align 8 + %s.addr = alloca i32, align 4 + %translation = alloca i8*, align 8 + %locale_code = alloca i8*, align 8 + store i8* %msgid, i8** %msgid.addr, align 8 + store i32 %s, i32* %s.addr, align 4 + %0 = load i8*, i8** %msgid.addr, align 8 + store i8* %0, i8** %translation, align 8 + %1 = load i8*, i8** %translation, align 8 + %2 = load i8*, i8** %msgid.addr, align 8 + %cmp = icmp ne i8* %1, %2 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %3 = load i8*, i8** %translation, align 8 + store i8* %3, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %call = call i8* @locale_charset() + store i8* %call, i8** %locale_code, align 8 + %4 = load i8*, i8** %locale_code, align 8 + %call1 = call i32 @c_strcasecmp(i8* %4, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.13.82, i64 0, i64 0)) #24 + %cmp2 = icmp eq i32 %call1, 0 + br i1 %cmp2, label %if.then3, label %if.end6 + +if.then3: ; preds = %if.end + %5 = load i8*, i8** %msgid.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 0 + %6 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %6 to i32 + %cmp4 = icmp eq i32 %conv, 96 + %7 = zext i1 %cmp4 to i64 + %cond = select i1 %cmp4, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.14.83, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.15.84, i64 0, i64 0) + store i8* %cond, i8** %retval, align 8 + br label %return + +if.end6: ; preds = %if.end + %8 = load i8*, i8** %locale_code, align 8 + %call7 = call i32 @c_strcasecmp(i8* %8, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.16.85, i64 0, i64 0)) #24 + %cmp8 = icmp eq i32 %call7, 0 + br i1 %cmp8, label %if.then10, label %if.end16 + +if.then10: ; preds = %if.end6 + %9 = load i8*, i8** %msgid.addr, align 8 + %arrayidx11 = getelementptr inbounds i8, i8* %9, i64 0 + %10 = load i8, i8* %arrayidx11, align 1 + %conv12 = sext i8 %10 to i32 + %cmp13 = icmp eq i32 %conv12, 96 + %11 = zext i1 %cmp13 to i64 + %cond15 = select i1 %cmp13, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.17.86, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.18.87, i64 0, i64 0) + store i8* %cond15, i8** %retval, align 8 + br label %return + +if.end16: ; preds = %if.end6 + %12 = load i32, i32* %s.addr, align 4 + %cmp17 = icmp eq i32 %12, 9 + %13 = zext i1 %cmp17 to i64 + %cond19 = select i1 %cmp17, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10.79, i64 0, i64 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.81, i64 0, i64 0) + store i8* %cond19, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end16, %if.then10, %if.then3, %if.then + %14 = load i8*, i8** %retval, align 8 + ret i8* %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @rpl_mbrtowc(i32* %pwc, i8* %s, i64 %n, %struct.__mbstate_t* %ps) #3 { +entry: + %retval = alloca i64, align 8 + %pwc.addr = alloca i32*, align 8 + %s.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t*, align 8 + %ret = alloca i64, align 8 + %wc = alloca i32, align 4 + %uc = alloca i8, align 1 + store i32* %pwc, i32** %pwc.addr, align 8 + store i8* %s, i8** %s.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__mbstate_t* %ps, %struct.__mbstate_t** %ps.addr, align 8 + %0 = load i32*, i32** %pwc.addr, align 8 + %tobool = icmp ne i32* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i32* %wc, i32** %pwc.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i32*, i32** %pwc.addr, align 8 + %2 = load i8*, i8** %s.addr, align 8 + %3 = load i64, i64* %n.addr, align 8 + %4 = load %struct.__mbstate_t*, %struct.__mbstate_t** %ps.addr, align 8 + %call = call i64 bitcast (i64 (i32*, i8*, i64, %struct.__mbstate_t.512*)* @mbrtowc to i64 (i32*, i8*, i64, %struct.__mbstate_t*)*)(i32* %1, i8* %2, i64 %3, %struct.__mbstate_t* %4) #11 + store i64 %call, i64* %ret, align 8 + %5 = load i64, i64* %ret, align 8 + %cmp = icmp ule i64 -2, %5 + %6 = load i64, i64* %n.addr, align 8 + %cmp1 = icmp ne i64 %6, 0 + %or.cond = and i1 %cmp, %cmp1 + br i1 %or.cond, label %land.lhs.true2, label %if.end5 + +land.lhs.true2: ; preds = %if.end + %call3 = call zeroext i1 @hard_locale(i32 0) + br i1 %call3, label %if.end5, label %if.then4 + +if.then4: ; preds = %land.lhs.true2 + %7 = load i8*, i8** %s.addr, align 8 + %8 = load i8, i8* %7, align 1 + store i8 %8, i8* %uc, align 1 + %9 = load i8, i8* %uc, align 1 + %conv = zext i8 %9 to i32 + %10 = load i32*, i32** %pwc.addr, align 8 + store i32 %conv, i32* %10, align 4 + store i64 1, i64* %retval, align 8 + br label %return + +if.end5: ; preds = %land.lhs.true2, %if.end + %11 = load i64, i64* %ret, align 8 + store i64 %11, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end5, %if.then4 + %12 = load i64, i64* %retval, align 8 + ret i64 %12 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @hard_locale(i32 %category) #3 { +entry: + %retval = alloca i1, align 1 + %category.addr = alloca i32, align 4 + %locale = alloca [257 x i8], align 16 + store i32 %category, i32* %category.addr, align 4 + %0 = load i32, i32* %category.addr, align 4 + %arraydecay = getelementptr inbounds [257 x i8], [257 x i8]* %locale, i64 0, i64 0 + %call = call i32 @setlocale_null_r(i32 %0, i8* %arraydecay, i64 257) + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +if.end: ; preds = %entry + %arraydecay1 = getelementptr inbounds [257 x i8], [257 x i8]* %locale, i64 0, i64 0 + %call2 = call i32 @strcmp(i8* %arraydecay1, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.158, i64 0, i64 0)) #24 + %cmp = icmp eq i32 %call2, 0 + br i1 %cmp, label %lor.end, label %lor.rhs + +lor.rhs: ; preds = %if.end + %arraydecay3 = getelementptr inbounds [257 x i8], [257 x i8]* %locale, i64 0, i64 0 + %call4 = call i32 @strcmp(i8* %arraydecay3, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1.159, i64 0, i64 0)) #24 + %cmp5 = icmp eq i32 %call4, 0 + br label %lor.end + +lor.end: ; preds = %lor.rhs, %if.end + %1 = phi i1 [ true, %if.end ], [ %cmp5, %lor.rhs ] + %lnot = xor i1 %1, true + store i1 %lnot, i1* %retval, align 1 + br label %return + +return: ; preds = %lor.end, %if.then + %2 = load i1, i1* %retval, align 1 + ret i1 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @setlocale_null_r(i32 %category, i8* nonnull %buf, i64 %bufsize) #3 { +entry: + %category.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + store i32 %category, i32* %category.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i32, i32* %category.addr, align 4 + %1 = load i8*, i8** %buf.addr, align 8 + %2 = load i64, i64* %bufsize.addr, align 8 + %call = call i32 @setlocale_null_unlocked(i32 %0, i8* %1, i64 %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @setlocale_null_unlocked(i32 %category, i8* %buf, i64 %bufsize) #3 { +entry: + %retval = alloca i32, align 4 + %category.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %result = alloca i8*, align 8 + %length = alloca i64, align 8 + store i32 %category, i32* %category.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i32, i32* %category.addr, align 4 + %call = call i8* @setlocale_null_androidfix(i32 %0) + store i8* %call, i8** %result, align 8 + %1 = load i8*, i8** %result, align 8 + %cmp = icmp eq i8* %1, null + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %2 = load i64, i64* %bufsize.addr, align 8 + %cmp1 = icmp ugt i64 %2, 0 + br i1 %cmp1, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + %3 = load i8*, i8** %buf.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %3, i64 0 + store i8 0, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + store i32 22, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %4 = load i8*, i8** %result, align 8 + %call3 = call i64 @strlen(i8* %4) #24 + store i64 %call3, i64* %length, align 8 + %5 = load i64, i64* %length, align 8 + %6 = load i64, i64* %bufsize.addr, align 8 + %cmp4 = icmp ult i64 %5, %6 + br i1 %cmp4, label %if.then5, label %if.else6 + +if.then5: ; preds = %if.else + %7 = load i8*, i8** %buf.addr, align 8 + %8 = load i8*, i8** %result, align 8 + %9 = load i64, i64* %length, align 8 + %add = add i64 %9, 1 + %10 = call i8* @memcpy(i8* %7, i8* %8, i64 %add) + store i32 0, i32* %retval, align 4 + br label %return + +if.else6: ; preds = %if.else + %11 = load i64, i64* %bufsize.addr, align 8 + %cmp7 = icmp ugt i64 %11, 0 + br i1 %cmp7, label %if.then8, label %if.end11 + +if.then8: ; preds = %if.else6 + %12 = load i8*, i8** %buf.addr, align 8 + %13 = load i8*, i8** %result, align 8 + %14 = load i64, i64* %bufsize.addr, align 8 + %sub = sub i64 %14, 1 + %15 = call i8* @memcpy(i8* %12, i8* %13, i64 %sub) + %16 = load i8*, i8** %buf.addr, align 8 + %17 = load i64, i64* %bufsize.addr, align 8 + %sub9 = sub i64 %17, 1 + %arrayidx10 = getelementptr inbounds i8, i8* %16, i64 %sub9 + store i8 0, i8* %arrayidx10, align 1 + br label %if.end11 + +if.end11: ; preds = %if.then8, %if.else6 + store i32 34, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end11, %if.then5, %if.end + %18 = load i32, i32* %retval, align 4 + ret i32 %18 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @setlocale_null_androidfix(i32 %category) #3 { +entry: + %category.addr = alloca i32, align 4 + %result = alloca i8*, align 8 + store i32 %category, i32* %category.addr, align 4 + %0 = load i32, i32* %category.addr, align 4 + %call = call i8* @setlocale(i32 %0, i8* null) #11 + store i8* %call, i8** %result, align 8 + %1 = load i8*, i8** %result, align 8 + ret i8* %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @locale_charset() #3 { +entry: + %codeset = alloca i8*, align 8 + %call = call i8* @nl_langinfo(i32 14) #11 + store i8* %call, i8** %codeset, align 8 + %0 = load i8*, i8** %codeset, align 8 + %cmp = icmp eq i8* %0, null + %spec.store.select = select i1 %cmp, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.162, i64 0, i64 0), i8* %call + store i8* %spec.store.select, i8** %codeset, align 8 + %1 = load i8*, i8** %codeset, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %2 to i32 + %cmp1 = icmp eq i32 %conv, 0 + %spec.store.select1 = select i1 %cmp1, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1.163, i64 0, i64 0), i8* %spec.store.select + store i8* %spec.store.select1, i8** %codeset, align 8 + %3 = load i8*, i8** %codeset, align 8 + ret i8* %3 +} + +; Function Attrs: noinline nounwind readonly uwtable +define dso_local i32 @c_strcasecmp(i8* %s1, i8* %s2) #16 { +entry: + %retval = alloca i32, align 4 + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %p1 = alloca i8*, align 8 + %p2 = alloca i8*, align 8 + %c1 = alloca i8, align 1 + %c2 = alloca i8, align 1 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %p1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %p2, align 8 + %2 = load i8*, i8** %p1, align 8 + %3 = load i8*, i8** %p2, align 8 + %cmp = icmp eq i8* %2, %3 + br i1 %cmp, label %if.then, label %do.body + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +do.body: ; preds = %entry, %if.end9 + %4 = load i8*, i8** %p1, align 8 + %5 = load i8, i8* %4, align 1 + %conv = zext i8 %5 to i32 + %call = call i32 @c_tolower(i32 %conv) + %conv1 = trunc i32 %call to i8 + store i8 %conv1, i8* %c1, align 1 + %6 = load i8*, i8** %p2, align 8 + %7 = load i8, i8* %6, align 1 + %conv2 = zext i8 %7 to i32 + %call3 = call i32 @c_tolower(i32 %conv2) + %conv4 = trunc i32 %call3 to i8 + store i8 %conv4, i8* %c2, align 1 + %8 = load i8, i8* %c1, align 1 + %conv5 = zext i8 %8 to i32 + %cmp6 = icmp eq i32 %conv5, 0 + br i1 %cmp6, label %do.end, label %if.end9 + +if.end9: ; preds = %do.body + %9 = load i8*, i8** %p1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %p1, align 8 + %10 = load i8*, i8** %p2, align 8 + %incdec.ptr10 = getelementptr inbounds i8, i8* %10, i32 1 + store i8* %incdec.ptr10, i8** %p2, align 8 + %11 = load i8, i8* %c1, align 1 + %conv11 = zext i8 %11 to i32 + %12 = load i8, i8* %c2, align 1 + %conv12 = zext i8 %12 to i32 + %cmp13 = icmp eq i32 %conv11, %conv12 + br i1 %cmp13, label %do.body, label %do.end + +do.end: ; preds = %do.body, %if.end9 + %13 = load i8, i8* %c1, align 1 + %conv15 = zext i8 %13 to i32 + %14 = load i8, i8* %c2, align 1 + %conv16 = zext i8 %14 to i32 + %sub = sub nsw i32 %conv15, %conv16 + store i32 %sub, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end, %if.then + %15 = load i32, i32* %retval, align 4 + ret i32 %15 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @c_tolower(i32 %c) #3 { +entry: + %retval = alloca i32, align 4 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -65 + %switch = icmp ult i32 %.off, 26 + %1 = load i32, i32* %c.addr, align 4 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + %sub = sub nsw i32 %1, 65 + %add = add nsw i32 %sub, 97 + store i32 %add, i32* %retval, align 4 + br label %return + +sw.default: ; preds = %entry + store i32 %1, i32* %retval, align 4 + br label %return + +return: ; preds = %sw.default, %sw.bb + %2 = load i32, i32* %retval, align 4 + ret i32 %2 +} + +; Function Attrs: nounwind +declare dso_local i8* @realloc(i8*, i64) #4 + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @set_binary_mode(i32 %fd, i32 %mode) #3 { +entry: + %fd.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i32, i32* %mode.addr, align 4 + %call = call i32 @__gl_setmode(i32 %0, i32 %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @xset_binary_mode_error() #3 { +entry: + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__gl_setmode(i32 %fd, i32 %mode) #3 { +entry: + %fd.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote_n(i32 %n, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quote_n_mem(i32 %0, i8* %1, i64 -1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote_n_mem(i32 %n, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %2 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %0, i8* %1, i64 %2, %struct.quoting_options* @quote_quoting_options) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc_va(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, %struct.__va_list_tag.0* %authors) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors.addr = alloca %struct.__va_list_tag.0*, align 8 + %n_authors = alloca i64, align 8 + %authtab = alloca [10 x i8*], align 16 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + store %struct.__va_list_tag.0* %authors, %struct.__va_list_tag.0** %authors.addr, align 8 + store i64 0, i64* %n_authors, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i64, i64* %n_authors, align 8 + %cmp = icmp ult i64 %0, 10 + br i1 %cmp, label %land.rhs, label %for.end + +land.rhs: ; preds = %for.cond + %1 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %authors.addr, align 8 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %1, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 8 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %land.rhs + %2 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %1, i32 0, i32 3 + %reg_save_area = load i8*, i8** %2, align 8 + %3 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %4 = bitcast i8* %3 to i8** + %5 = add i32 %gp_offset, 8 + store i32 %5, i32* %gp_offset_p, align 8 + br label %vaarg.end + +vaarg.in_mem: ; preds = %land.rhs + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %1, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %6 = bitcast i8* %overflow_arg_area to i8** + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i8** [ %4, %vaarg.in_reg ], [ %6, %vaarg.in_mem ] + %7 = load i8*, i8** %vaarg.addr, align 8 + %8 = load i64, i64* %n_authors, align 8 + %arrayidx = getelementptr inbounds [10 x i8*], [10 x i8*]* %authtab, i64 0, i64 %8 + store i8* %7, i8** %arrayidx, align 8 + %cmp1 = icmp ne i8* %7, null + br i1 %cmp1, label %for.inc, label %for.end + +for.inc: ; preds = %vaarg.end + %9 = load i64, i64* %n_authors, align 8 + %inc = add i64 %9, 1 + store i64 %inc, i64* %n_authors, align 8 + br label %for.cond + +for.end: ; preds = %for.cond, %vaarg.end + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %11 = load i8*, i8** %command_name.addr, align 8 + %12 = load i8*, i8** %package.addr, align 8 + %13 = load i8*, i8** %version.addr, align 8 + %arraydecay = getelementptr inbounds [10 x i8*], [10 x i8*]* %authtab, i64 0, i64 0 + %14 = load i64, i64* %n_authors, align 8 + call void @version_etc_arn(%struct._IO_FILE* %10, i8* %11, i8* %12, i8* %13, i8** %arraydecay, i64 %14) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc_arn(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, i8** %authors, i64 %n_authors) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors.addr = alloca i8**, align 8 + %n_authors.addr = alloca i64, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + store i8** %authors, i8*** %authors.addr, align 8 + store i64 %n_authors, i64* %n_authors.addr, align 8 + %0 = load i8*, i8** %command_name.addr, align 8 + %tobool = icmp ne i8* %0, null + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %entry + %2 = load i8*, i8** %command_name.addr, align 8 + %3 = load i8*, i8** %package.addr, align 8 + %4 = load i8*, i8** %version.addr, align 8 + %call = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %1, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.94, i64 0, i64 0), i8* %2, i8* %3, i8* %4) + br label %if.end + +if.else: ; preds = %entry + %5 = load i8*, i8** %package.addr, align 8 + %6 = load i8*, i8** %version.addr, align 8 + %call1 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %1, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.95, i64 0, i64 0), i8* %5, i8* %6) + br label %if.end + +if.end: ; preds = %if.else, %if.then + %7 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call2 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %7, i8* getelementptr inbounds ([47 x i8], [47 x i8]* @version_etc_copyright, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2.96, i64 0, i64 0), i32 2020) + %8 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call3 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.97, i64 0, i64 0), %struct._IO_FILE* %8) + %9 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call4 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %9, i8* getelementptr inbounds ([171 x i8], [171 x i8]* @.str.4.98, i64 0, i64 0), i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.5.99, i64 0, i64 0)) + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call5 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.97, i64 0, i64 0), %struct._IO_FILE* %10) + %11 = load i64, i64* %n_authors.addr, align 8 + br label %NodeBlock17 + +NodeBlock17: ; preds = %if.end + %case.cmp18 = icmp eq i64 %11, 0 + br i1 %case.cmp18, label %sw.epilog, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i64 %11, 1 + br i1 %case.cmp16, label %sw.bb6, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i64 %11, 2 + br i1 %case.cmp14, label %sw.bb8, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i64 %11, 3 + br i1 %case.cmp12, label %sw.bb12, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i64 %11, 4 + br i1 %case.cmp10, label %sw.bb17, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i64 %11, 5 + br i1 %case.cmp8, label %sw.bb23, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i64 %11, 6 + br i1 %case.cmp6, label %sw.bb30, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i64 %11, 7 + br i1 %case.cmp4, label %sw.bb38, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i64 %11, 8 + br i1 %case.cmp2, label %sw.bb47, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i64 %11, 9 + br i1 %case.cmp, label %sw.bb57, label %newDefault + +sw.bb6: ; preds = %NodeBlock15 + %12 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %13 = load i8**, i8*** %authors.addr, align 8 + %arrayidx = getelementptr inbounds i8*, i8** %13, i64 0 + %14 = load i8*, i8** %arrayidx, align 8 + %call7 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %12, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.6.100, i64 0, i64 0), i8* %14) + br label %sw.epilog + +sw.bb8: ; preds = %NodeBlock13 + %15 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %16 = load i8**, i8*** %authors.addr, align 8 + %arrayidx9 = getelementptr inbounds i8*, i8** %16, i64 0 + %17 = load i8*, i8** %arrayidx9, align 8 + %18 = load i8**, i8*** %authors.addr, align 8 + %arrayidx10 = getelementptr inbounds i8*, i8** %18, i64 1 + %19 = load i8*, i8** %arrayidx10, align 8 + %call11 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %15, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.7.101, i64 0, i64 0), i8* %17, i8* %19) + br label %sw.epilog + +sw.bb12: ; preds = %NodeBlock11 + %20 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %21 = load i8**, i8*** %authors.addr, align 8 + %arrayidx13 = getelementptr inbounds i8*, i8** %21, i64 0 + %22 = load i8*, i8** %arrayidx13, align 8 + %23 = load i8**, i8*** %authors.addr, align 8 + %arrayidx14 = getelementptr inbounds i8*, i8** %23, i64 1 + %24 = load i8*, i8** %arrayidx14, align 8 + %25 = load i8**, i8*** %authors.addr, align 8 + %arrayidx15 = getelementptr inbounds i8*, i8** %25, i64 2 + %26 = load i8*, i8** %arrayidx15, align 8 + %call16 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %20, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.8.102, i64 0, i64 0), i8* %22, i8* %24, i8* %26) + br label %sw.epilog + +sw.bb17: ; preds = %NodeBlock9 + %27 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %28 = load i8**, i8*** %authors.addr, align 8 + %arrayidx18 = getelementptr inbounds i8*, i8** %28, i64 0 + %29 = load i8*, i8** %arrayidx18, align 8 + %30 = load i8**, i8*** %authors.addr, align 8 + %arrayidx19 = getelementptr inbounds i8*, i8** %30, i64 1 + %31 = load i8*, i8** %arrayidx19, align 8 + %32 = load i8**, i8*** %authors.addr, align 8 + %arrayidx20 = getelementptr inbounds i8*, i8** %32, i64 2 + %33 = load i8*, i8** %arrayidx20, align 8 + %34 = load i8**, i8*** %authors.addr, align 8 + %arrayidx21 = getelementptr inbounds i8*, i8** %34, i64 3 + %35 = load i8*, i8** %arrayidx21, align 8 + %call22 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %27, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.9.103, i64 0, i64 0), i8* %29, i8* %31, i8* %33, i8* %35) + br label %sw.epilog + +sw.bb23: ; preds = %NodeBlock7 + %36 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %37 = load i8**, i8*** %authors.addr, align 8 + %arrayidx24 = getelementptr inbounds i8*, i8** %37, i64 0 + %38 = load i8*, i8** %arrayidx24, align 8 + %39 = load i8**, i8*** %authors.addr, align 8 + %arrayidx25 = getelementptr inbounds i8*, i8** %39, i64 1 + %40 = load i8*, i8** %arrayidx25, align 8 + %41 = load i8**, i8*** %authors.addr, align 8 + %arrayidx26 = getelementptr inbounds i8*, i8** %41, i64 2 + %42 = load i8*, i8** %arrayidx26, align 8 + %43 = load i8**, i8*** %authors.addr, align 8 + %arrayidx27 = getelementptr inbounds i8*, i8** %43, i64 3 + %44 = load i8*, i8** %arrayidx27, align 8 + %45 = load i8**, i8*** %authors.addr, align 8 + %arrayidx28 = getelementptr inbounds i8*, i8** %45, i64 4 + %46 = load i8*, i8** %arrayidx28, align 8 + %call29 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %36, i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.10.104, i64 0, i64 0), i8* %38, i8* %40, i8* %42, i8* %44, i8* %46) + br label %sw.epilog + +sw.bb30: ; preds = %NodeBlock5 + %47 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %48 = load i8**, i8*** %authors.addr, align 8 + %arrayidx31 = getelementptr inbounds i8*, i8** %48, i64 0 + %49 = load i8*, i8** %arrayidx31, align 8 + %50 = load i8**, i8*** %authors.addr, align 8 + %arrayidx32 = getelementptr inbounds i8*, i8** %50, i64 1 + %51 = load i8*, i8** %arrayidx32, align 8 + %52 = load i8**, i8*** %authors.addr, align 8 + %arrayidx33 = getelementptr inbounds i8*, i8** %52, i64 2 + %53 = load i8*, i8** %arrayidx33, align 8 + %54 = load i8**, i8*** %authors.addr, align 8 + %arrayidx34 = getelementptr inbounds i8*, i8** %54, i64 3 + %55 = load i8*, i8** %arrayidx34, align 8 + %56 = load i8**, i8*** %authors.addr, align 8 + %arrayidx35 = getelementptr inbounds i8*, i8** %56, i64 4 + %57 = load i8*, i8** %arrayidx35, align 8 + %58 = load i8**, i8*** %authors.addr, align 8 + %arrayidx36 = getelementptr inbounds i8*, i8** %58, i64 5 + %59 = load i8*, i8** %arrayidx36, align 8 + %call37 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %47, i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.11.105, i64 0, i64 0), i8* %49, i8* %51, i8* %53, i8* %55, i8* %57, i8* %59) + br label %sw.epilog + +sw.bb38: ; preds = %NodeBlock3 + %60 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %61 = load i8**, i8*** %authors.addr, align 8 + %arrayidx39 = getelementptr inbounds i8*, i8** %61, i64 0 + %62 = load i8*, i8** %arrayidx39, align 8 + %63 = load i8**, i8*** %authors.addr, align 8 + %arrayidx40 = getelementptr inbounds i8*, i8** %63, i64 1 + %64 = load i8*, i8** %arrayidx40, align 8 + %65 = load i8**, i8*** %authors.addr, align 8 + %arrayidx41 = getelementptr inbounds i8*, i8** %65, i64 2 + %66 = load i8*, i8** %arrayidx41, align 8 + %67 = load i8**, i8*** %authors.addr, align 8 + %arrayidx42 = getelementptr inbounds i8*, i8** %67, i64 3 + %68 = load i8*, i8** %arrayidx42, align 8 + %69 = load i8**, i8*** %authors.addr, align 8 + %arrayidx43 = getelementptr inbounds i8*, i8** %69, i64 4 + %70 = load i8*, i8** %arrayidx43, align 8 + %71 = load i8**, i8*** %authors.addr, align 8 + %arrayidx44 = getelementptr inbounds i8*, i8** %71, i64 5 + %72 = load i8*, i8** %arrayidx44, align 8 + %73 = load i8**, i8*** %authors.addr, align 8 + %arrayidx45 = getelementptr inbounds i8*, i8** %73, i64 6 + %74 = load i8*, i8** %arrayidx45, align 8 + %call46 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %60, i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.12.106, i64 0, i64 0), i8* %62, i8* %64, i8* %66, i8* %68, i8* %70, i8* %72, i8* %74) + br label %sw.epilog + +sw.bb47: ; preds = %NodeBlock1 + %75 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %76 = load i8**, i8*** %authors.addr, align 8 + %arrayidx48 = getelementptr inbounds i8*, i8** %76, i64 0 + %77 = load i8*, i8** %arrayidx48, align 8 + %78 = load i8**, i8*** %authors.addr, align 8 + %arrayidx49 = getelementptr inbounds i8*, i8** %78, i64 1 + %79 = load i8*, i8** %arrayidx49, align 8 + %80 = load i8**, i8*** %authors.addr, align 8 + %arrayidx50 = getelementptr inbounds i8*, i8** %80, i64 2 + %81 = load i8*, i8** %arrayidx50, align 8 + %82 = load i8**, i8*** %authors.addr, align 8 + %arrayidx51 = getelementptr inbounds i8*, i8** %82, i64 3 + %83 = load i8*, i8** %arrayidx51, align 8 + %84 = load i8**, i8*** %authors.addr, align 8 + %arrayidx52 = getelementptr inbounds i8*, i8** %84, i64 4 + %85 = load i8*, i8** %arrayidx52, align 8 + %86 = load i8**, i8*** %authors.addr, align 8 + %arrayidx53 = getelementptr inbounds i8*, i8** %86, i64 5 + %87 = load i8*, i8** %arrayidx53, align 8 + %88 = load i8**, i8*** %authors.addr, align 8 + %arrayidx54 = getelementptr inbounds i8*, i8** %88, i64 6 + %89 = load i8*, i8** %arrayidx54, align 8 + %90 = load i8**, i8*** %authors.addr, align 8 + %arrayidx55 = getelementptr inbounds i8*, i8** %90, i64 7 + %91 = load i8*, i8** %arrayidx55, align 8 + %call56 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %75, i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.13.107, i64 0, i64 0), i8* %77, i8* %79, i8* %81, i8* %83, i8* %85, i8* %87, i8* %89, i8* %91) + br label %sw.epilog + +sw.bb57: ; preds = %NodeBlock + %92 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %93 = load i8**, i8*** %authors.addr, align 8 + %arrayidx58 = getelementptr inbounds i8*, i8** %93, i64 0 + %94 = load i8*, i8** %arrayidx58, align 8 + %95 = load i8**, i8*** %authors.addr, align 8 + %arrayidx59 = getelementptr inbounds i8*, i8** %95, i64 1 + %96 = load i8*, i8** %arrayidx59, align 8 + %97 = load i8**, i8*** %authors.addr, align 8 + %arrayidx60 = getelementptr inbounds i8*, i8** %97, i64 2 + %98 = load i8*, i8** %arrayidx60, align 8 + %99 = load i8**, i8*** %authors.addr, align 8 + %arrayidx61 = getelementptr inbounds i8*, i8** %99, i64 3 + %100 = load i8*, i8** %arrayidx61, align 8 + %101 = load i8**, i8*** %authors.addr, align 8 + %arrayidx62 = getelementptr inbounds i8*, i8** %101, i64 4 + %102 = load i8*, i8** %arrayidx62, align 8 + %103 = load i8**, i8*** %authors.addr, align 8 + %arrayidx63 = getelementptr inbounds i8*, i8** %103, i64 5 + %104 = load i8*, i8** %arrayidx63, align 8 + %105 = load i8**, i8*** %authors.addr, align 8 + %arrayidx64 = getelementptr inbounds i8*, i8** %105, i64 6 + %106 = load i8*, i8** %arrayidx64, align 8 + %107 = load i8**, i8*** %authors.addr, align 8 + %arrayidx65 = getelementptr inbounds i8*, i8** %107, i64 7 + %108 = load i8*, i8** %arrayidx65, align 8 + %109 = load i8**, i8*** %authors.addr, align 8 + %arrayidx66 = getelementptr inbounds i8*, i8** %109, i64 8 + %110 = load i8*, i8** %arrayidx66, align 8 + %call67 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %92, i8* getelementptr inbounds ([52 x i8], [52 x i8]* @.str.14.108, i64 0, i64 0), i8* %94, i8* %96, i8* %98, i8* %100, i8* %102, i8* %104, i8* %106, i8* %108, i8* %110) + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + %111 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %112 = load i8**, i8*** %authors.addr, align 8 + %arrayidx68 = getelementptr inbounds i8*, i8** %112, i64 0 + %113 = load i8*, i8** %arrayidx68, align 8 + %114 = load i8**, i8*** %authors.addr, align 8 + %arrayidx69 = getelementptr inbounds i8*, i8** %114, i64 1 + %115 = load i8*, i8** %arrayidx69, align 8 + %116 = load i8**, i8*** %authors.addr, align 8 + %arrayidx70 = getelementptr inbounds i8*, i8** %116, i64 2 + %117 = load i8*, i8** %arrayidx70, align 8 + %118 = load i8**, i8*** %authors.addr, align 8 + %arrayidx71 = getelementptr inbounds i8*, i8** %118, i64 3 + %119 = load i8*, i8** %arrayidx71, align 8 + %120 = load i8**, i8*** %authors.addr, align 8 + %arrayidx72 = getelementptr inbounds i8*, i8** %120, i64 4 + %121 = load i8*, i8** %arrayidx72, align 8 + %122 = load i8**, i8*** %authors.addr, align 8 + %arrayidx73 = getelementptr inbounds i8*, i8** %122, i64 5 + %123 = load i8*, i8** %arrayidx73, align 8 + %124 = load i8**, i8*** %authors.addr, align 8 + %arrayidx74 = getelementptr inbounds i8*, i8** %124, i64 6 + %125 = load i8*, i8** %arrayidx74, align 8 + %126 = load i8**, i8*** %authors.addr, align 8 + %arrayidx75 = getelementptr inbounds i8*, i8** %126, i64 7 + %127 = load i8*, i8** %arrayidx75, align 8 + %128 = load i8**, i8*** %authors.addr, align 8 + %arrayidx76 = getelementptr inbounds i8*, i8** %128, i64 8 + %129 = load i8*, i8** %arrayidx76, align 8 + %call77 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %111, i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.15.109, i64 0, i64 0), i8* %113, i8* %115, i8* %117, i8* %119, i8* %121, i8* %123, i8* %125, i8* %127, i8* %129) + br label %sw.epilog + +sw.epilog: ; preds = %NodeBlock17, %sw.default, %sw.bb57, %sw.bb47, %sw.bb38, %sw.bb30, %sw.bb23, %sw.bb17, %sw.bb12, %sw.bb8, %sw.bb6 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @xnumtoumax(i8* %n_str, i32 %base, i64 %min, i64 %max, i8* %suffixes, i8* %err, i32 %err_exit) #3 { +entry: + %n_str.addr = alloca i8*, align 8 + %base.addr = alloca i32, align 4 + %min.addr = alloca i64, align 8 + %max.addr = alloca i64, align 8 + %suffixes.addr = alloca i8*, align 8 + %err.addr = alloca i8*, align 8 + %err_exit.addr = alloca i32, align 4 + %s_err = alloca i32, align 4 + %tnum = alloca i64, align 8 + store i8* %n_str, i8** %n_str.addr, align 8 + store i32 %base, i32* %base.addr, align 4 + store i64 %min, i64* %min.addr, align 8 + store i64 %max, i64* %max.addr, align 8 + store i8* %suffixes, i8** %suffixes.addr, align 8 + store i8* %err, i8** %err.addr, align 8 + store i32 %err_exit, i32* %err_exit.addr, align 4 + %0 = load i8*, i8** %n_str.addr, align 8 + %1 = load i32, i32* %base.addr, align 4 + %2 = load i8*, i8** %suffixes.addr, align 8 + %call = call i32 @xstrtoumax(i8* %0, i8** null, i32 %1, i64* %tnum, i8* %2) + store i32 %call, i32* %s_err, align 4 + %3 = load i32, i32* %s_err, align 4 + %cmp = icmp eq i32 %3, 0 + br i1 %cmp, label %if.then, label %if.else9 + +if.then: ; preds = %entry + %4 = load i64, i64* %tnum, align 8 + %5 = load i64, i64* %min.addr, align 8 + %cmp1 = icmp ult i64 %4, %5 + br i1 %cmp1, label %if.then3, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then + %6 = load i64, i64* %max.addr, align 8 + %7 = load i64, i64* %tnum, align 8 + %cmp2 = icmp ult i64 %6, %7 + br i1 %cmp2, label %if.then3, label %if.end19 + +if.then3: ; preds = %lor.lhs.false, %if.then + store i32 1, i32* %s_err, align 4 + %8 = load i64, i64* %tnum, align 8 + %cmp4 = icmp ugt i64 %8, 1073741823 + %call6 = call i32* @__errno_location() #26 + br i1 %cmp4, label %if.then5, label %if.else + +if.then5: ; preds = %if.then3 + store i32 75, i32* %call6, align 4 + br label %if.end19 + +if.else: ; preds = %if.then3 + store i32 34, i32* %call6, align 4 + br label %if.end19 + +if.else9: ; preds = %entry + %9 = load i32, i32* %s_err, align 4 + %cmp10 = icmp eq i32 %9, 1 + br i1 %cmp10, label %if.then11, label %if.else13 + +if.then11: ; preds = %if.else9 + %call12 = call i32* @__errno_location() #26 + store i32 75, i32* %call12, align 4 + br label %if.end19 + +if.else13: ; preds = %if.else9 + %10 = load i32, i32* %s_err, align 4 + %cmp14 = icmp eq i32 %10, 3 + br i1 %cmp14, label %if.then15, label %if.end19 + +if.then15: ; preds = %if.else13 + %call16 = call i32* @__errno_location() #26 + store i32 0, i32* %call16, align 4 + br label %if.end19 + +if.end19: ; preds = %if.then11, %if.then15, %if.else13, %lor.lhs.false, %if.else, %if.then5 + %11 = load i32, i32* %s_err, align 4 + %cmp20 = icmp ne i32 %11, 0 + br i1 %cmp20, label %if.then21, label %if.end30 + +if.then21: ; preds = %if.end19 + %12 = load i32, i32* %err_exit.addr, align 4 + %tobool = icmp ne i32 %12, 0 + %13 = load i32, i32* %err_exit.addr, align 4 + %cond = select i1 %tobool, i32 %13, i32 1 + %call22 = call i32* @__errno_location() #26 + %14 = load i32, i32* %call22, align 4 + %cmp23 = icmp eq i32 %14, 22 + br i1 %cmp23, label %cond.end27, label %cond.false25 + +cond.false25: ; preds = %if.then21 + %call26 = call i32* @__errno_location() #26 + %15 = load i32, i32* %call26, align 4 + br label %cond.end27 + +cond.end27: ; preds = %if.then21, %cond.false25 + %cond28 = phi i32 [ %15, %cond.false25 ], [ 0, %if.then21 ] + %16 = load i8*, i8** %err.addr, align 8 + %17 = load i8*, i8** %n_str.addr, align 8 + %call29 = call i8* @quote(i8* %17) + call void (i32, i32, i8*, ...) @error(i32 %cond, i32 %cond28, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.135, i64 0, i64 0), i8* %16, i8* %call29) + br label %if.end30 + +if.end30: ; preds = %cond.end27, %if.end19 + %18 = load i64, i64* %tnum, align 8 + ret i64 %18 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @xstrtoumax(i8* %s, i8** %ptr, i32 %strtol_base, i64* %val, i8* %valid_suffixes) #3 { +entry: + %retval = alloca i32, align 4 + %s.addr = alloca i8*, align 8 + %ptr.addr = alloca i8**, align 8 + %strtol_base.addr = alloca i32, align 4 + %val.addr = alloca i64*, align 8 + %valid_suffixes.addr = alloca i8*, align 8 + %t_ptr = alloca i8*, align 8 + %p = alloca i8**, align 8 + %tmp = alloca i64, align 8 + %err = alloca i32, align 4 + %q = alloca i8*, align 8 + %ch = alloca i8, align 1 + %base = alloca i32, align 4 + %suffixes = alloca i32, align 4 + %overflow = alloca i32, align 4 + store i8* %s, i8** %s.addr, align 8 + store i8** %ptr, i8*** %ptr.addr, align 8 + store i32 %strtol_base, i32* %strtol_base.addr, align 4 + store i64* %val, i64** %val.addr, align 8 + store i8* %valid_suffixes, i8** %valid_suffixes.addr, align 8 + store i32 0, i32* %err, align 4 + %0 = load i32, i32* %strtol_base.addr, align 4 + %cmp = icmp sle i32 0, %0 + %1 = load i32, i32* %strtol_base.addr, align 4 + %cmp1 = icmp sle i32 %1, 36 + %or.cond = and i1 %cmp, %cmp1 + br i1 %or.cond, label %if.end, label %if.else + +if.else: ; preds = %entry + call void @__assert_fail(i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.140, i64 0, i64 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.1.141, i64 0, i64 0), i32 84, i8* getelementptr inbounds ([79 x i8], [79 x i8]* @__PRETTY_FUNCTION__.xstrtoumax, i64 0, i64 0)) #27 + unreachable + +if.end: ; preds = %entry + %2 = load i8**, i8*** %ptr.addr, align 8 + %tobool = icmp ne i8** %2, null + %3 = load i8**, i8*** %ptr.addr, align 8 + %cond = select i1 %tobool, i8** %3, i8** %t_ptr + store i8** %cond, i8*** %p, align 8 + %call = call i32* @__errno_location() #26 + store i32 0, i32* %call, align 4 + %4 = load i8*, i8** %s.addr, align 8 + store i8* %4, i8** %q, align 8 + %5 = load i8*, i8** %q, align 8 + %6 = load i8, i8* %5, align 1 + store i8 %6, i8* %ch, align 1 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end + %call2 = call i16** @__ctype_b_loc() #26 + %7 = load i16*, i16** %call2, align 8 + %8 = load i8, i8* %ch, align 1 + %conv = zext i8 %8 to i32 + %idxprom = sext i32 %conv to i64 + %arrayidx = getelementptr inbounds i16, i16* %7, i64 %idxprom + %9 = load i16, i16* %arrayidx, align 2 + %conv3 = zext i16 %9 to i32 + %and = and i32 %conv3, 8192 + %tobool4 = icmp ne i32 %and, 0 + br i1 %tobool4, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %10 = load i8*, i8** %q, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %10, i32 1 + store i8* %incdec.ptr, i8** %q, align 8 + %11 = load i8, i8* %incdec.ptr, align 1 + store i8 %11, i8* %ch, align 1 + br label %while.cond + +while.end: ; preds = %while.cond + %12 = load i8, i8* %ch, align 1 + %conv5 = zext i8 %12 to i32 + %cmp6 = icmp eq i32 %conv5, 45 + br i1 %cmp6, label %if.then8, label %if.end9 + +if.then8: ; preds = %while.end + store i32 4, i32* %retval, align 4 + br label %return + +if.end9: ; preds = %while.end + %13 = load i8*, i8** %s.addr, align 8 + %14 = load i8**, i8*** %p, align 8 + %15 = load i32, i32* %strtol_base.addr, align 4 + %call10 = call i64 @strtoumax(i8* %13, i8** %14, i32 %15) #11 + store i64 %call10, i64* %tmp, align 8 + %16 = load i8**, i8*** %p, align 8 + %17 = load i8*, i8** %16, align 8 + %18 = load i8*, i8** %s.addr, align 8 + %cmp11 = icmp eq i8* %17, %18 + br i1 %cmp11, label %if.then13, label %if.else25 + +if.then13: ; preds = %if.end9 + %19 = load i8*, i8** %valid_suffixes.addr, align 8 + %tobool14 = icmp ne i8* %19, null + br i1 %tobool14, label %land.lhs.true15, label %if.else23 + +land.lhs.true15: ; preds = %if.then13 + %20 = load i8**, i8*** %p, align 8 + %21 = load i8*, i8** %20, align 8 + %22 = load i8, i8* %21, align 1 + %conv16 = sext i8 %22 to i32 + %tobool17 = icmp ne i32 %conv16, 0 + br i1 %tobool17, label %land.lhs.true18, label %if.else23 + +land.lhs.true18: ; preds = %land.lhs.true15 + %23 = load i8*, i8** %valid_suffixes.addr, align 8 + %24 = load i8**, i8*** %p, align 8 + %25 = load i8*, i8** %24, align 8 + %26 = load i8, i8* %25, align 1 + %conv19 = sext i8 %26 to i32 + %call20 = call i8* @strchr(i8* %23, i32 %conv19) #24 + %tobool21 = icmp ne i8* %call20, null + br i1 %tobool21, label %if.then22, label %if.else23 + +if.then22: ; preds = %land.lhs.true18 + store i64 1, i64* %tmp, align 8 + br label %if.end36 + +if.else23: ; preds = %land.lhs.true18, %land.lhs.true15, %if.then13 + store i32 4, i32* %retval, align 4 + br label %return + +if.else25: ; preds = %if.end9 + %call26 = call i32* @__errno_location() #26 + %27 = load i32, i32* %call26, align 4 + %cmp27 = icmp ne i32 %27, 0 + br i1 %cmp27, label %if.then29, label %if.end36 + +if.then29: ; preds = %if.else25 + %call30 = call i32* @__errno_location() #26 + %28 = load i32, i32* %call30, align 4 + %cmp31 = icmp ne i32 %28, 34 + br i1 %cmp31, label %if.then33, label %if.end34 + +if.then33: ; preds = %if.then29 + store i32 4, i32* %retval, align 4 + br label %return + +if.end34: ; preds = %if.then29 + store i32 1, i32* %err, align 4 + br label %if.end36 + +if.end36: ; preds = %if.else25, %if.end34, %if.then22 + %29 = load i8*, i8** %valid_suffixes.addr, align 8 + %tobool37 = icmp ne i8* %29, null + br i1 %tobool37, label %if.end39, label %if.then38 + +if.then38: ; preds = %if.end36 + %30 = load i64, i64* %tmp, align 8 + %31 = load i64*, i64** %val.addr, align 8 + store i64 %30, i64* %31, align 8 + %32 = load i32, i32* %err, align 4 + store i32 %32, i32* %retval, align 4 + br label %return + +if.end39: ; preds = %if.end36 + %33 = load i8**, i8*** %p, align 8 + %34 = load i8*, i8** %33, align 8 + %35 = load i8, i8* %34, align 1 + %conv40 = sext i8 %35 to i32 + %cmp41 = icmp ne i32 %conv40, 0 + br i1 %cmp41, label %if.then43, label %if.end98 + +if.then43: ; preds = %if.end39 + store i32 1024, i32* %base, align 4 + store i32 1, i32* %suffixes, align 4 + %36 = load i8*, i8** %valid_suffixes.addr, align 8 + %37 = load i8**, i8*** %p, align 8 + %38 = load i8*, i8** %37, align 8 + %39 = load i8, i8* %38, align 1 + %conv44 = sext i8 %39 to i32 + %call45 = call i8* @strchr(i8* %36, i32 %conv44) #24 + %tobool46 = icmp ne i8* %call45, null + br i1 %tobool46, label %if.end48, label %if.then47 + +if.then47: ; preds = %if.then43 + %40 = load i64, i64* %tmp, align 8 + %41 = load i64*, i64** %val.addr, align 8 + store i64 %40, i64* %41, align 8 + %42 = load i32, i32* %err, align 4 + %or = or i32 %42, 2 + store i32 %or, i32* %retval, align 4 + br label %return + +if.end48: ; preds = %if.then43 + %43 = load i8**, i8*** %p, align 8 + %44 = load i8*, i8** %43, align 8 + %45 = load i8, i8* %44, align 1 + %conv49 = sext i8 %45 to i32 + br label %NodeBlock21 + +NodeBlock21: ; preds = %if.end48 + %case.cmp22 = icmp eq i32 %conv49, 69 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %conv49, 71 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %conv49, 103 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %conv49, 107 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %conv49, 75 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %conv49, 77 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %conv49, 109 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %conv49, 80 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %conv49, 84 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %conv49, 116 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %conv49, 89 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %conv49, 90 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + %46 = load i8*, i8** %valid_suffixes.addr, align 8 + %call50 = call i8* @strchr(i8* %46, i32 48) #24 + %tobool51 = icmp ne i8* %call50, null + br i1 %tobool51, label %if.then52, label %sw.epilog66 + +if.then52: ; preds = %sw.bb + %47 = load i8**, i8*** %p, align 8 + %arrayidx53 = getelementptr inbounds i8*, i8** %47, i64 0 + %48 = load i8*, i8** %arrayidx53, align 8 + %arrayidx54 = getelementptr inbounds i8, i8* %48, i64 1 + %49 = load i8, i8* %arrayidx54, align 1 + %conv55 = sext i8 %49 to i32 + br label %NodeBlock28 + +NodeBlock28: ; preds = %if.then52 + %case.cmp29 = icmp eq i32 %conv55, 105 + br i1 %case.cmp29, label %sw.bb56, label %NodeBlock26 + +NodeBlock26: ; preds = %NodeBlock28 + %case.cmp27 = icmp eq i32 %conv55, 66 + br i1 %case.cmp27, label %sw.bb64, label %NodeBlock24 + +NodeBlock24: ; preds = %NodeBlock26 + %case.cmp25 = icmp eq i32 %conv55, 68 + br i1 %case.cmp25, label %sw.bb64, label %newDefault23 + +sw.bb56: ; preds = %NodeBlock28 + %50 = load i8**, i8*** %p, align 8 + %arrayidx57 = getelementptr inbounds i8*, i8** %50, i64 0 + %51 = load i8*, i8** %arrayidx57, align 8 + %arrayidx58 = getelementptr inbounds i8, i8* %51, i64 2 + %52 = load i8, i8* %arrayidx58, align 1 + %conv59 = sext i8 %52 to i32 + %cmp60 = icmp eq i32 %conv59, 66 + br i1 %cmp60, label %if.then62, label %sw.epilog66 + +if.then62: ; preds = %sw.bb56 + %53 = load i32, i32* %suffixes, align 4 + %add = add nsw i32 %53, 2 + store i32 %add, i32* %suffixes, align 4 + br label %sw.epilog66 + +sw.bb64: ; preds = %NodeBlock26, %NodeBlock24 + store i32 1000, i32* %base, align 4 + %54 = load i32, i32* %suffixes, align 4 + %inc = add nsw i32 %54, 1 + store i32 %inc, i32* %suffixes, align 4 + br label %sw.epilog66 + +newDefault: ; preds = %NodeBlock + br label %sw.epilog66 + +newDefault23: ; preds = %NodeBlock24 + br label %sw.epilog66 + +sw.epilog66: ; preds = %newDefault23, %newDefault, %sw.bb, %sw.bb56, %if.then62, %sw.bb64 + %55 = load i8**, i8*** %p, align 8 + %56 = load i8*, i8** %55, align 8 + %57 = load i8, i8* %56, align 1 + %conv67 = sext i8 %57 to i32 + br label %NodeBlock61 + +NodeBlock61: ; preds = %sw.epilog66 + %case.cmp62 = icmp eq i32 %conv67, 98 + br i1 %case.cmp62, label %sw.bb68, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %conv67, 66 + br i1 %case.cmp60, label %sw.bb70, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %conv67, 99 + br i1 %case.cmp58, label %sw.bb72, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %conv67, 69 + br i1 %case.cmp56, label %sw.bb73, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %conv67, 71 + br i1 %case.cmp54, label %sw.bb75, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %conv67, 103 + br i1 %case.cmp52, label %sw.bb75, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %conv67, 107 + br i1 %case.cmp50, label %sw.bb77, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %conv67, 75 + br i1 %case.cmp48, label %sw.bb77, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %conv67, 77 + br i1 %case.cmp46, label %sw.bb79, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %conv67, 109 + br i1 %case.cmp44, label %sw.bb79, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %conv67, 80 + br i1 %case.cmp42, label %sw.bb81, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %conv67, 84 + br i1 %case.cmp40, label %sw.bb83, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %conv67, 116 + br i1 %case.cmp38, label %sw.bb83, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %conv67, 119 + br i1 %case.cmp36, label %sw.bb85, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %conv67, 89 + br i1 %case.cmp34, label %sw.bb87, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %conv67, 90 + br i1 %case.cmp32, label %sw.bb89, label %newDefault30 + +sw.bb68: ; preds = %NodeBlock61 + %call69 = call i32 @bkm_scale(i64* %tmp, i32 512) + store i32 %call69, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb70: ; preds = %NodeBlock59 + %call71 = call i32 @bkm_scale(i64* %tmp, i32 1024) + store i32 %call71, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb72: ; preds = %NodeBlock57 + store i32 0, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb73: ; preds = %NodeBlock55 + %58 = load i32, i32* %base, align 4 + %call74 = call i32 @bkm_scale_by_power(i64* %tmp, i32 %58, i32 6) + store i32 %call74, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb75: ; preds = %NodeBlock53, %NodeBlock51 + %59 = load i32, i32* %base, align 4 + %call76 = call i32 @bkm_scale_by_power(i64* %tmp, i32 %59, i32 3) + store i32 %call76, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb77: ; preds = %NodeBlock49, %NodeBlock47 + %60 = load i32, i32* %base, align 4 + %call78 = call i32 @bkm_scale_by_power(i64* %tmp, i32 %60, i32 1) + store i32 %call78, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb79: ; preds = %NodeBlock45, %NodeBlock43 + %61 = load i32, i32* %base, align 4 + %call80 = call i32 @bkm_scale_by_power(i64* %tmp, i32 %61, i32 2) + store i32 %call80, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb81: ; preds = %NodeBlock41 + %62 = load i32, i32* %base, align 4 + %call82 = call i32 @bkm_scale_by_power(i64* %tmp, i32 %62, i32 5) + store i32 %call82, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb83: ; preds = %NodeBlock39, %NodeBlock37 + %63 = load i32, i32* %base, align 4 + %call84 = call i32 @bkm_scale_by_power(i64* %tmp, i32 %63, i32 4) + store i32 %call84, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb85: ; preds = %NodeBlock35 + %call86 = call i32 @bkm_scale(i64* %tmp, i32 2) + store i32 %call86, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb87: ; preds = %NodeBlock33 + %64 = load i32, i32* %base, align 4 + %call88 = call i32 @bkm_scale_by_power(i64* %tmp, i32 %64, i32 8) + store i32 %call88, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb89: ; preds = %NodeBlock31 + %65 = load i32, i32* %base, align 4 + %call90 = call i32 @bkm_scale_by_power(i64* %tmp, i32 %65, i32 7) + store i32 %call90, i32* %overflow, align 4 + br label %sw.epilog92 + +newDefault30: ; preds = %NodeBlock31 + br label %sw.default + +sw.default: ; preds = %newDefault30 + %66 = load i64, i64* %tmp, align 8 + %67 = load i64*, i64** %val.addr, align 8 + store i64 %66, i64* %67, align 8 + %68 = load i32, i32* %err, align 4 + %or91 = or i32 %68, 2 + store i32 %or91, i32* %retval, align 4 + br label %return + +sw.epilog92: ; preds = %sw.bb89, %sw.bb87, %sw.bb85, %sw.bb83, %sw.bb81, %sw.bb79, %sw.bb77, %sw.bb75, %sw.bb73, %sw.bb72, %sw.bb70, %sw.bb68 + %69 = load i32, i32* %overflow, align 4 + %70 = load i32, i32* %err, align 4 + %or93 = or i32 %70, %69 + store i32 %or93, i32* %err, align 4 + %71 = load i32, i32* %suffixes, align 4 + %72 = load i8**, i8*** %p, align 8 + %73 = load i8*, i8** %72, align 8 + %idx.ext = sext i32 %71 to i64 + %add.ptr = getelementptr inbounds i8, i8* %73, i64 %idx.ext + store i8* %add.ptr, i8** %72, align 8 + %74 = load i8**, i8*** %p, align 8 + %75 = load i8*, i8** %74, align 8 + %76 = load i8, i8* %75, align 1 + %tobool94 = icmp ne i8 %76, 0 + br i1 %tobool94, label %if.then95, label %if.end98 + +if.then95: ; preds = %sw.epilog92 + %77 = load i32, i32* %err, align 4 + %or96 = or i32 %77, 2 + store i32 %or96, i32* %err, align 4 + br label %if.end98 + +if.end98: ; preds = %sw.epilog92, %if.then95, %if.end39 + %78 = load i64, i64* %tmp, align 8 + %79 = load i64*, i64** %val.addr, align 8 + store i64 %78, i64* %79, align 8 + %80 = load i32, i32* %err, align 4 + store i32 %80, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end98, %sw.default, %if.then47, %if.then38, %if.then33, %if.else23, %if.then8 + %81 = load i32, i32* %retval, align 4 + ret i32 %81 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @bkm_scale(i64* %x, i32 %scale_factor) #3 { +entry: + %retval = alloca i32, align 4 + %x.addr = alloca i64*, align 8 + %scale_factor.addr = alloca i32, align 4 + store i64* %x, i64** %x.addr, align 8 + store i32 %scale_factor, i32* %scale_factor.addr, align 4 + %0 = load i32, i32* %scale_factor.addr, align 4 + %conv = sext i32 %0 to i64 + %div = udiv i64 -1, %conv + %1 = load i64*, i64** %x.addr, align 8 + %2 = load i64, i64* %1, align 8 + %cmp = icmp ult i64 %div, %2 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %3 = load i64*, i64** %x.addr, align 8 + store i64 -1, i64* %3, align 8 + store i32 1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %4 = load i32, i32* %scale_factor.addr, align 4 + %conv2 = sext i32 %4 to i64 + %5 = load i64*, i64** %x.addr, align 8 + %6 = load i64, i64* %5, align 8 + %mul = mul i64 %6, %conv2 + store i64 %mul, i64* %5, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %7 = load i32, i32* %retval, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @bkm_scale_by_power(i64* %x, i32 %base, i32 %power) #3 { +entry: + %x.addr = alloca i64*, align 8 + %base.addr = alloca i32, align 4 + %power.addr = alloca i32, align 4 + %err = alloca i32, align 4 + store i64* %x, i64** %x.addr, align 8 + store i32 %base, i32* %base.addr, align 4 + store i32 %power, i32* %power.addr, align 4 + store i32 0, i32* %err, align 4 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %0 = load i32, i32* %power.addr, align 4 + %dec = add nsw i32 %0, -1 + store i32 %dec, i32* %power.addr, align 4 + %tobool = icmp ne i32 %0, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %1 = load i64*, i64** %x.addr, align 8 + %2 = load i32, i32* %base.addr, align 4 + %call = call i32 @bkm_scale(i64* %1, i32 %2) + %3 = load i32, i32* %err, align 4 + %or = or i32 %3, %call + store i32 %or, i32* %err, align 4 + br label %while.cond + +while.end: ; preds = %while.cond + %4 = load i32, i32* %err, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @close_stream(%struct._IO_FILE* %stream) #3 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct._IO_FILE*, align 8 + %some_pending = alloca i8, align 1 + %prev_fail = alloca i8, align 1 + %fclose_fail = alloca i8, align 1 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.513*)* @__fpending to i64 (%struct._IO_FILE*)*)(%struct._IO_FILE* %0) #11 + %cmp = icmp ne i64 %call, 0 + %frombool = zext i1 %cmp to i8 + store i8 %frombool, i8* %some_pending, align 1 + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call1 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.592*)* @ferror_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %1) #11 + %cmp2 = icmp ne i32 %call1, 0 + %frombool3 = zext i1 %cmp2 to i8 + store i8 %frombool3, i8* %prev_fail, align 1 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call4 = call i32 @rpl_fclose(%struct._IO_FILE* %2) + %cmp5 = icmp ne i32 %call4, 0 + %frombool6 = zext i1 %cmp5 to i8 + store i8 %frombool6, i8* %fclose_fail, align 1 + %3 = load i8, i8* %prev_fail, align 1 + %tobool = trunc i8 %3 to i1 + br i1 %tobool, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %4 = load i8, i8* %fclose_fail, align 1 + %tobool7 = trunc i8 %4 to i1 + br i1 %tobool7, label %land.lhs.true, label %if.end15 + +land.lhs.true: ; preds = %lor.lhs.false + %5 = load i8, i8* %some_pending, align 1 + %tobool8 = trunc i8 %5 to i1 + br i1 %tobool8, label %if.then, label %lor.lhs.false9 + +lor.lhs.false9: ; preds = %land.lhs.true + %call10 = call i32* @__errno_location() #26 + %6 = load i32, i32* %call10, align 4 + %cmp11 = icmp ne i32 %6, 9 + br i1 %cmp11, label %if.then, label %if.end15 + +if.then: ; preds = %lor.lhs.false9, %land.lhs.true, %entry + %7 = load i8, i8* %fclose_fail, align 1 + %tobool12 = trunc i8 %7 to i1 + br i1 %tobool12, label %if.end, label %if.then13 + +if.then13: ; preds = %if.then + %call14 = call i32* @__errno_location() #26 + store i32 0, i32* %call14, align 4 + br label %if.end + +if.end: ; preds = %if.then13, %if.then + store i32 -1, i32* %retval, align 4 + br label %return + +if.end15: ; preds = %lor.lhs.false9, %lor.lhs.false + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end15, %if.end + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_colon(i8* %arg) #3 { +entry: + %arg.addr = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_char(i8* %0, i8 signext 58) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_char(i8* %arg, i8 signext %ch) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %ch.addr = alloca i8, align 1 + store i8* %arg, i8** %arg.addr, align 8 + store i8 %ch, i8* %ch.addr, align 1 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i8, i8* %ch.addr, align 1 + %call = call i8* @quotearg_char_mem(i8* %0, i64 -1, i8 signext %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_char_mem(i8* %arg, i64 %argsize, i8 signext %ch) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %ch.addr = alloca i8, align 1 + %options = alloca %struct.quoting_options, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store i8 %ch, i8* %ch.addr, align 1 + %0 = bitcast %struct.quoting_options* %options to i8* + %1 = call i8* @memcpy(i8* %0, i8* bitcast (%struct.quoting_options* @default_quoting_options to i8*), i64 56) + %2 = load i8, i8* %ch.addr, align 1 + %call = call i32 @set_char_quoting(%struct.quoting_options* %options, i8 signext %2, i32 1) + %3 = load i8*, i8** %arg.addr, align 8 + %4 = load i64, i64* %argsize.addr, align 8 + %call1 = call i8* @quotearg_n_options(i32 0, i8* %3, i64 %4, %struct.quoting_options* %options) + ret i8* %call1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @base64_encode_alloc(i8* %in, i64 %inlen, i8** %out) #3 { +entry: + %retval = alloca i64, align 8 + %in.addr = alloca i8*, align 8 + %inlen.addr = alloca i64, align 8 + %out.addr = alloca i8**, align 8 + %outlen = alloca i64, align 8 + store i8* %in, i8** %in.addr, align 8 + store i64 %inlen, i64* %inlen.addr, align 8 + store i8** %out, i8*** %out.addr, align 8 + %0 = load i64, i64* %inlen.addr, align 8 + %add = add i64 %0, 2 + %div = udiv i64 %add, 3 + %mul = mul i64 %div, 4 + %add1 = add i64 1, %mul + store i64 %add1, i64* %outlen, align 8 + %1 = load i64, i64* %inlen.addr, align 8 + %2 = load i64, i64* %outlen, align 8 + %cmp = icmp ugt i64 %1, %2 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %3 = load i8**, i8*** %out.addr, align 8 + store i8* null, i8** %3, align 8 + store i64 0, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %4 = load i64, i64* %outlen, align 8 + %call = call noalias i8* @malloc(i64 %4) #11 + %5 = load i8**, i8*** %out.addr, align 8 + store i8* %call, i8** %5, align 8 + %6 = load i8**, i8*** %out.addr, align 8 + %7 = load i8*, i8** %6, align 8 + %tobool = icmp ne i8* %7, null + br i1 %tobool, label %if.end3, label %if.then2 + +if.then2: ; preds = %if.end + %8 = load i64, i64* %outlen, align 8 + store i64 %8, i64* %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %9 = load i8*, i8** %in.addr, align 8 + %10 = load i64, i64* %inlen.addr, align 8 + %11 = load i8**, i8*** %out.addr, align 8 + %12 = load i8*, i8** %11, align 8 + %13 = load i64, i64* %outlen, align 8 + call void @base64_encode(i8* %9, i64 %10, i8* %12, i64 %13) + %14 = load i64, i64* %outlen, align 8 + %sub = sub i64 %14, 1 + store i64 %sub, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end3, %if.then2, %if.then + %15 = load i64, i64* %retval, align 8 + ret i64 %15 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @base64_decode_alloc_ctx(%struct.base64_decode_context* %ctx, i8* %in, i64 %inlen, i8** %out, i64* %outlen) #3 { +entry: + %retval = alloca i1, align 1 + %ctx.addr = alloca %struct.base64_decode_context*, align 8 + %in.addr = alloca i8*, align 8 + %inlen.addr = alloca i64, align 8 + %out.addr = alloca i8**, align 8 + %outlen.addr = alloca i64*, align 8 + %needlen = alloca i64, align 8 + store %struct.base64_decode_context* %ctx, %struct.base64_decode_context** %ctx.addr, align 8 + store i8* %in, i8** %in.addr, align 8 + store i64 %inlen, i64* %inlen.addr, align 8 + store i8** %out, i8*** %out.addr, align 8 + store i64* %outlen, i64** %outlen.addr, align 8 + %0 = load i64, i64* %inlen.addr, align 8 + %div = udiv i64 %0, 4 + %mul = mul i64 3, %div + %add = add i64 %mul, 3 + store i64 %add, i64* %needlen, align 8 + %1 = load i64, i64* %needlen, align 8 + %call = call noalias i8* @malloc(i64 %1) #11 + %2 = load i8**, i8*** %out.addr, align 8 + store i8* %call, i8** %2, align 8 + %3 = load i8**, i8*** %out.addr, align 8 + %4 = load i8*, i8** %3, align 8 + %tobool = icmp ne i8* %4, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +if.end: ; preds = %entry + %5 = load %struct.base64_decode_context*, %struct.base64_decode_context** %ctx.addr, align 8 + %6 = load i8*, i8** %in.addr, align 8 + %7 = load i64, i64* %inlen.addr, align 8 + %8 = load i8**, i8*** %out.addr, align 8 + %9 = load i8*, i8** %8, align 8 + %call1 = call zeroext i1 @base64_decode_ctx(%struct.base64_decode_context* %5, i8* %6, i64 %7, i8* %9, i64* %needlen) + br i1 %call1, label %if.end3, label %if.then2 + +if.then2: ; preds = %if.end + %10 = load i8**, i8*** %out.addr, align 8 + %11 = load i8*, i8** %10, align 8 + call void @free(i8* %11) #11 + %12 = load i8**, i8*** %out.addr, align 8 + store i8* null, i8** %12, align 8 + store i1 false, i1* %retval, align 1 + br label %return + +if.end3: ; preds = %if.end + %13 = load i64*, i64** %outlen.addr, align 8 + %tobool4 = icmp ne i64* %13, null + br i1 %tobool4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end3 + %14 = load i64, i64* %needlen, align 8 + %15 = load i64*, i64** %outlen.addr, align 8 + store i64 %14, i64* %15, align 8 + br label %if.end6 + +if.end6: ; preds = %if.then5, %if.end3 + store i1 true, i1* %retval, align 1 + br label %return + +return: ; preds = %if.end6, %if.then2, %if.then + %16 = load i1, i1* %retval, align 1 + ret i1 %16 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @close_stdout_set_file_name(i8* %file) #3 { +entry: + %file.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + store i8* %0, i8** @file_name, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @close_stdout_set_ignore_EPIPE(i1 zeroext %ignore) #3 { +entry: + %ignore.addr = alloca i8, align 1 + %frombool = zext i1 %ignore to i8 + store i8 %frombool, i8* %ignore.addr, align 1 + %0 = load i8, i8* %ignore.addr, align 1 + %tobool = trunc i8 %0 to i1 + %frombool1 = zext i1 %tobool to i8 + store i8 %frombool1, i8* @ignore_EPIPE, align 1 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local %struct.quoting_options* @clone_quoting_options(%struct.quoting_options* %o) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %p = alloca %struct.quoting_options*, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %call = call i32* @__errno_location() #26 + %0 = load i32, i32* %call, align 4 + store i32 %0, i32* %e, align 4 + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %1, null + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %2, %struct.quoting_options* @default_quoting_options + %3 = bitcast %struct.quoting_options* %cond to i8* + %call1 = call i8* @xmemdup(i8* %3, i64 56) + %4 = bitcast i8* %call1 to %struct.quoting_options* + store %struct.quoting_options* %4, %struct.quoting_options** %p, align 8 + %5 = load i32, i32* %e, align 4 + %call2 = call i32* @__errno_location() #26 + store i32 %5, i32* %call2, align 4 + %6 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + ret %struct.quoting_options* %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @xmemdup(i8* %p, i64 %s) #3 { +entry: + %p.addr = alloca i8*, align 8 + %s.addr = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %call = call noalias i8* @xmalloc(i64 %0) + %1 = load i8*, i8** %p.addr, align 8 + %2 = load i64, i64* %s.addr, align 8 + %3 = call i8* @memcpy(i8* %call, i8* %1, i64 %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @get_quoting_style(%struct.quoting_options* %o) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %1, %struct.quoting_options* @default_quoting_options + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %cond, i32 0, i32 0 + %2 = load i32, i32* %style, align 8 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_quoting_style(%struct.quoting_options* %o, i32 %s) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %s.addr = alloca i32, align 4 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i32 %s, i32* %s.addr, align 4 + %0 = load i32, i32* %s.addr, align 4 + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %1, null + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %2, %struct.quoting_options* @default_quoting_options + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %cond, i32 0, i32 0 + store i32 %0, i32* %style, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @set_quoting_flags(%struct.quoting_options* %o, i32 %i) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %i.addr = alloca i32, align 4 + %r = alloca i32, align 4 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i32 %i, i32* %i.addr, align 4 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store %struct.quoting_options* @default_quoting_options, %struct.quoting_options** %o.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %flags = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %1, i32 0, i32 1 + %2 = load i32, i32* %flags, align 4 + store i32 %2, i32* %r, align 4 + %3 = load i32, i32* %i.addr, align 4 + %4 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %flags1 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %4, i32 0, i32 1 + store i32 %3, i32* %flags1, align 4 + %5 = load i32, i32* %r, align 4 + ret i32 %5 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_custom_quoting(%struct.quoting_options* %o, i8* %left_quote, i8* %right_quote) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store %struct.quoting_options* @default_quoting_options, %struct.quoting_options** %o.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %1, i32 0, i32 0 + store i32 10, i32* %style, align 8 + %2 = load i8*, i8** %left_quote.addr, align 8 + %tobool1 = icmp ne i8* %2, null + %3 = load i8*, i8** %right_quote.addr, align 8 + %tobool2 = icmp ne i8* %3, null + %or.cond = and i1 %tobool1, %tobool2 + br i1 %or.cond, label %if.end4, label %if.then3 + +if.then3: ; preds = %if.end + call void @abort() #27 + unreachable + +if.end4: ; preds = %if.end + %4 = load i8*, i8** %left_quote.addr, align 8 + %5 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %left_quote5 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %5, i32 0, i32 3 + store i8* %4, i8** %left_quote5, align 8 + %6 = load i8*, i8** %right_quote.addr, align 8 + %7 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %right_quote6 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %7, i32 0, i32 4 + store i8* %6, i8** %right_quote6, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @quotearg_buffer(i8* %buffer, i64 %buffersize, i8* %arg, i64 %argsize, %struct.quoting_options* %o) #3 { +entry: + %buffer.addr = alloca i8*, align 8 + %buffersize.addr = alloca i64, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o.addr = alloca %struct.quoting_options*, align 8 + %p = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %r = alloca i64, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %buffersize, i64* %buffersize.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %1, %struct.quoting_options* @default_quoting_options + store %struct.quoting_options* %cond, %struct.quoting_options** %p, align 8 + %call = call i32* @__errno_location() #26 + %2 = load i32, i32* %call, align 4 + store i32 %2, i32* %e, align 4 + %3 = load i8*, i8** %buffer.addr, align 8 + %4 = load i64, i64* %buffersize.addr, align 8 + %5 = load i8*, i8** %arg.addr, align 8 + %6 = load i64, i64* %argsize.addr, align 8 + %7 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %7, i32 0, i32 0 + %8 = load i32, i32* %style, align 8 + %9 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %flags = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %9, i32 0, i32 1 + %10 = load i32, i32* %flags, align 4 + %11 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %11, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %12 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %left_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %12, i32 0, i32 3 + %13 = load i8*, i8** %left_quote, align 8 + %14 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %right_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %14, i32 0, i32 4 + %15 = load i8*, i8** %right_quote, align 8 + %call1 = call i64 @quotearg_buffer_restyled(i8* %3, i64 %4, i8* %5, i64 %6, i32 %8, i32 %10, i32* %arraydecay, i8* %13, i8* %15) + store i64 %call1, i64* %r, align 8 + %16 = load i32, i32* %e, align 4 + %call2 = call i32* @__errno_location() #26 + store i32 %16, i32* %call2, align 4 + %17 = load i64, i64* %r, align 8 + ret i64 %17 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_alloc(i8* %arg, i64 %argsize, %struct.quoting_options* %o) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o.addr = alloca %struct.quoting_options*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %call = call i8* @quotearg_alloc_mem(i8* %0, i64 %1, i64* null, %struct.quoting_options* %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_alloc_mem(i8* %arg, i64 %argsize, i64* %size, %struct.quoting_options* %o) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %size.addr = alloca i64*, align 8 + %o.addr = alloca %struct.quoting_options*, align 8 + %p = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %flags = alloca i32, align 4 + %bufsize = alloca i64, align 8 + %buf = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store i64* %size, i64** %size.addr, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %1, %struct.quoting_options* @default_quoting_options + store %struct.quoting_options* %cond, %struct.quoting_options** %p, align 8 + %call = call i32* @__errno_location() #26 + %2 = load i32, i32* %call, align 4 + store i32 %2, i32* %e, align 4 + %3 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %flags1 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %3, i32 0, i32 1 + %4 = load i32, i32* %flags1, align 4 + %5 = load i64*, i64** %size.addr, align 8 + %tobool2 = icmp ne i64* %5, null + %6 = zext i1 %tobool2 to i64 + %cond3 = select i1 %tobool2, i32 0, i32 1 + %or = or i32 %4, %cond3 + store i32 %or, i32* %flags, align 4 + %7 = load i8*, i8** %arg.addr, align 8 + %8 = load i64, i64* %argsize.addr, align 8 + %9 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %9, i32 0, i32 0 + %10 = load i32, i32* %style, align 8 + %11 = load i32, i32* %flags, align 4 + %12 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %12, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %13 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %left_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %13, i32 0, i32 3 + %14 = load i8*, i8** %left_quote, align 8 + %15 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %right_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %15, i32 0, i32 4 + %16 = load i8*, i8** %right_quote, align 8 + %call4 = call i64 @quotearg_buffer_restyled(i8* null, i64 0, i8* %7, i64 %8, i32 %10, i32 %11, i32* %arraydecay, i8* %14, i8* %16) + %add = add i64 %call4, 1 + store i64 %add, i64* %bufsize, align 8 + %17 = load i64, i64* %bufsize, align 8 + %call5 = call noalias i8* @xcharalloc(i64 %17) + store i8* %call5, i8** %buf, align 8 + %18 = load i8*, i8** %buf, align 8 + %19 = load i64, i64* %bufsize, align 8 + %20 = load i8*, i8** %arg.addr, align 8 + %21 = load i64, i64* %argsize.addr, align 8 + %22 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %style6 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %22, i32 0, i32 0 + %23 = load i32, i32* %style6, align 8 + %24 = load i32, i32* %flags, align 4 + %25 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %quote_these_too7 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %25, i32 0, i32 2 + %arraydecay8 = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too7, i64 0, i64 0 + %26 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %left_quote9 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %26, i32 0, i32 3 + %27 = load i8*, i8** %left_quote9, align 8 + %28 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %right_quote10 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %28, i32 0, i32 4 + %29 = load i8*, i8** %right_quote10, align 8 + %call11 = call i64 @quotearg_buffer_restyled(i8* %18, i64 %19, i8* %20, i64 %21, i32 %23, i32 %24, i32* %arraydecay8, i8* %27, i8* %29) + %30 = load i32, i32* %e, align 4 + %call12 = call i32* @__errno_location() #26 + store i32 %30, i32* %call12, align 4 + %31 = load i64*, i64** %size.addr, align 8 + %tobool13 = icmp ne i64* %31, null + br i1 %tobool13, label %if.then, label %if.end + +if.then: ; preds = %entry + %32 = load i64, i64* %bufsize, align 8 + %sub = sub i64 %32, 1 + %33 = load i64*, i64** %size.addr, align 8 + store i64 %sub, i64* %33, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %34 = load i8*, i8** %buf, align 8 + ret i8* %34 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @quotearg_free() #3 { +entry: + %sv = alloca %struct.slotvec*, align 8 + %i = alloca i32, align 4 + %0 = load %struct.slotvec*, %struct.slotvec** @slotvec, align 8 + store %struct.slotvec* %0, %struct.slotvec** %sv, align 8 + store i32 1, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %1 = load i32, i32* %i, align 4 + %2 = load i32, i32* @nslots, align 4 + %cmp = icmp slt i32 %1, %2 + %3 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %4 = load i32, i32* %i, align 4 + %idxprom = sext i32 %4 to i64 + %arrayidx = getelementptr inbounds %struct.slotvec, %struct.slotvec* %3, i64 %idxprom + %val = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx, i32 0, i32 1 + %5 = load i8*, i8** %val, align 8 + call void @free(i8* %5) #11 + %6 = load i32, i32* %i, align 4 + %inc = add nsw i32 %6, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %arrayidx1 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %3, i64 0 + %val2 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx1, i32 0, i32 1 + %7 = load i8*, i8** %val2, align 8 + %cmp3 = icmp ne i8* %7, getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i64 0, i64 0) + br i1 %cmp3, label %if.then, label %if.end + +if.then: ; preds = %for.end + %8 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %arrayidx4 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %8, i64 0 + %val5 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx4, i32 0, i32 1 + %9 = load i8*, i8** %val5, align 8 + call void @free(i8* %9) #11 + store i64 256, i64* getelementptr inbounds (%struct.slotvec, %struct.slotvec* @slotvec0, i32 0, i32 0), align 8 + store i8* getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i64 0, i64 0), i8** getelementptr inbounds (%struct.slotvec, %struct.slotvec* @slotvec0, i32 0, i32 1), align 8 + br label %if.end + +if.end: ; preds = %if.then, %for.end + %10 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %cmp6 = icmp ne %struct.slotvec* %10, @slotvec0 + br i1 %cmp6, label %if.then7, label %if.end8 + +if.then7: ; preds = %if.end + %11 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %12 = bitcast %struct.slotvec* %11 to i8* + call void @free(i8* %12) #11 + store %struct.slotvec* @slotvec0, %struct.slotvec** @slotvec, align 8 + br label %if.end8 + +if.end8: ; preds = %if.then7, %if.end + store i32 1, i32* @nslots, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n(i32 %n, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %0, i8* %1, i64 -1, %struct.quoting_options* @default_quoting_options) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_mem(i32 %n, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %2 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %0, i8* %1, i64 %2, %struct.quoting_options* @default_quoting_options) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg(i8* %arg) #3 { +entry: + %arg.addr = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n(i32 0, i8* %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_mem(i8* %arg, i64 %argsize) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_mem(i32 0, i8* %0, i64 %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_style(i32 %n, i32 %s, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %o = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + call void @quoting_options_from_style(%struct.quoting_options* sret align 8 %o, i32 %0) + %1 = load i32, i32* %n.addr, align 4 + %2 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %1, i8* %2, i64 -1, %struct.quoting_options* %o) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_style_mem(i32 %n, i32 %s, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + call void @quoting_options_from_style(%struct.quoting_options* sret align 8 %o, i32 %0) + %1 = load i32, i32* %n.addr, align 4 + %2 = load i8*, i8** %arg.addr, align 8 + %3 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %1, i8* %2, i64 %3, %struct.quoting_options* %o) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_style(i32 %s, i8* %arg) #3 { +entry: + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_style(i32 0, i32 %0, i8* %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_style_mem(i32 %s, i8* %arg, i64 %argsize) #3 { +entry: + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %2 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_style_mem(i32 0, i32 %0, i8* %1, i64 %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_colon_mem(i8* %arg, i64 %argsize) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_char_mem(i8* %0, i64 %1, i8 signext 58) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_custom(i32 %n, i8* %left_quote, i8* %right_quote, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %left_quote.addr, align 8 + %2 = load i8*, i8** %right_quote.addr, align 8 + %3 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_custom_mem(i32 %0, i8* %1, i8* %2, i8* %3, i64 -1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_custom_mem(i32 %n, i8* %left_quote, i8* %right_quote, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = bitcast %struct.quoting_options* %o to i8* + %1 = call i8* @memcpy(i8* %0, i8* bitcast (%struct.quoting_options* @default_quoting_options to i8*), i64 56) + %2 = load i8*, i8** %left_quote.addr, align 8 + %3 = load i8*, i8** %right_quote.addr, align 8 + call void @set_custom_quoting(%struct.quoting_options* %o, i8* %2, i8* %3) + %4 = load i32, i32* %n.addr, align 4 + %5 = load i8*, i8** %arg.addr, align 8 + %6 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %4, i8* %5, i64 %6, %struct.quoting_options* %o) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_custom(i8* %left_quote, i8* %right_quote, i8* %arg) #3 { +entry: + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %left_quote.addr, align 8 + %1 = load i8*, i8** %right_quote.addr, align 8 + %2 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_custom(i32 0, i8* %0, i8* %1, i8* %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_custom_mem(i8* %left_quote, i8* %right_quote, i8* %arg, i64 %argsize) #3 { +entry: + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %left_quote.addr, align 8 + %1 = load i8*, i8** %right_quote.addr, align 8 + %2 = load i8*, i8** %arg.addr, align 8 + %3 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_custom_mem(i32 0, i8* %0, i8* %1, i8* %2, i64 %3) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote_mem(i8* %arg, i64 %argsize) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quote_n_mem(i32 0, i8* %0, i64 %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc_ar(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, i8** %authors) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors.addr = alloca i8**, align 8 + %n_authors = alloca i64, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + store i8** %authors, i8*** %authors.addr, align 8 + store i64 0, i64* %n_authors, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i8**, i8*** %authors.addr, align 8 + %1 = load i64, i64* %n_authors, align 8 + %arrayidx = getelementptr inbounds i8*, i8** %0, i64 %1 + %2 = load i8*, i8** %arrayidx, align 8 + %tobool = icmp ne i8* %2, null + br i1 %tobool, label %for.inc, label %for.end + +for.inc: ; preds = %for.cond + %3 = load i64, i64* %n_authors, align 8 + %inc = add i64 %3, 1 + store i64 %inc, i64* %n_authors, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %5 = load i8*, i8** %command_name.addr, align 8 + %6 = load i8*, i8** %package.addr, align 8 + %7 = load i8*, i8** %version.addr, align 8 + %8 = load i8**, i8*** %authors.addr, align 8 + %9 = load i64, i64* %n_authors, align 8 + call void @version_etc_arn(%struct._IO_FILE* %4, i8* %5, i8* %6, i8* %7, i8** %8, i64 %9) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @emit_bug_reporting_address() #3 { +entry: + %0 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.97, i64 0, i64 0), %struct._IO_FILE* %0) + %call1 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.16.112, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.17.113, i64 0, i64 0)) + %call2 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.18.114, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.19.115, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.20.116, i64 0, i64 0)) + %call3 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.21.117, i64 0, i64 0), i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.22.118, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xnmalloc(i64 %n, i64 %s) #3 { +entry: + %n.addr = alloca i64, align 8 + %s.addr = alloca i64, align 8 + store i64 %n, i64* %n.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %div = udiv i64 9223372036854775807, %0 + %1 = load i64, i64* %n.addr, align 8 + %cmp = icmp ult i64 %div, %1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xalloc_die() #25 + unreachable + +if.end: ; preds = %entry + %2 = load i64, i64* %n.addr, align 8 + %3 = load i64, i64* %s.addr, align 8 + %mul = mul i64 %2, %3 + %call = call noalias i8* @xmalloc(i64 %mul) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @xnrealloc(i8* %p, i64 %n, i64 %s) #3 { +entry: + %p.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %s.addr = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %div = udiv i64 9223372036854775807, %0 + %1 = load i64, i64* %n.addr, align 8 + %cmp = icmp ult i64 %div, %1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xalloc_die() #25 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %p.addr, align 8 + %3 = load i64, i64* %n.addr, align 8 + %4 = load i64, i64* %s.addr, align 8 + %mul = mul i64 %3, %4 + %call = call i8* @xrealloc(i8* %2, i64 %mul) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @x2nrealloc(i8* %p, i64* %pn, i64 %s) #3 { +entry: + %p.addr = alloca i8*, align 8 + %pn.addr = alloca i64*, align 8 + %s.addr = alloca i64, align 8 + %n = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64* %pn, i64** %pn.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64*, i64** %pn.addr, align 8 + %1 = load i64, i64* %0, align 8 + store i64 %1, i64* %n, align 8 + %2 = load i8*, i8** %p.addr, align 8 + %tobool = icmp ne i8* %2, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %3 = load i64, i64* %n, align 8 + %tobool1 = icmp ne i64 %3, 0 + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + %4 = load i64, i64* %s.addr, align 8 + %div = udiv i64 128, %4 + store i64 %div, i64* %n, align 8 + %5 = load i64, i64* %n, align 8 + %tobool3 = icmp ne i64 %5, 0 + %lnot = xor i1 %tobool3, true + %lnot.ext = zext i1 %lnot to i32 + %conv = sext i32 %lnot.ext to i64 + %6 = load i64, i64* %n, align 8 + %add = add i64 %6, %conv + store i64 %add, i64* %n, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %7 = load i64, i64* %s.addr, align 8 + %div4 = udiv i64 9223372036854775807, %7 + %8 = load i64, i64* %n, align 8 + %cmp = icmp ult i64 %div4, %8 + br i1 %cmp, label %if.then6, label %if.end16 + +if.then6: ; preds = %if.end + call void @xalloc_die() #25 + unreachable + +if.else: ; preds = %entry + %9 = load i64, i64* %s.addr, align 8 + %div8 = udiv i64 6148914691236517204, %9 + %10 = load i64, i64* %n, align 8 + %cmp9 = icmp ule i64 %div8, %10 + br i1 %cmp9, label %if.then11, label %if.end12 + +if.then11: ; preds = %if.else + call void @xalloc_die() #25 + unreachable + +if.end12: ; preds = %if.else + %11 = load i64, i64* %n, align 8 + %div13 = udiv i64 %11, 2 + %add14 = add i64 %div13, 1 + %12 = load i64, i64* %n, align 8 + %add15 = add i64 %12, %add14 + store i64 %add15, i64* %n, align 8 + br label %if.end16 + +if.end16: ; preds = %if.end, %if.end12 + %13 = load i64, i64* %n, align 8 + %14 = load i64*, i64** %pn.addr, align 8 + store i64 %13, i64* %14, align 8 + %15 = load i8*, i8** %p.addr, align 8 + %16 = load i64, i64* %n, align 8 + %17 = load i64, i64* %s.addr, align 8 + %mul = mul i64 %16, %17 + %call = call i8* @xrealloc(i8* %15, i64 %mul) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @x2realloc(i8* %p, i64* %pn) #3 { +entry: + %p.addr = alloca i8*, align 8 + %pn.addr = alloca i64*, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64* %pn, i64** %pn.addr, align 8 + %0 = load i8*, i8** %p.addr, align 8 + %1 = load i64*, i64** %pn.addr, align 8 + %call = call i8* @x2nrealloc(i8* %0, i64* %1, i64 1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xzalloc(i64 %n) #3 { +entry: + %n.addr = alloca i64, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @xcalloc(i64 %0, i64 1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xcalloc(i64 %n, i64 %s) #3 { +entry: + %n.addr = alloca i64, align 8 + %s.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i64 %n, i64* %n.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %div = udiv i64 9223372036854775807, %0 + %1 = load i64, i64* %n.addr, align 8 + %cmp = icmp ult i64 %div, %1 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load i64, i64* %n.addr, align 8 + %3 = load i64, i64* %s.addr, align 8 + %call = call noalias i8* @calloc(i64 %2, i64 %3) #11 + store i8* %call, i8** %p, align 8 + %tobool = icmp ne i8* %call, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %lor.lhs.false, %entry + call void @xalloc_die() #25 + unreachable + +if.end: ; preds = %lor.lhs.false + %4 = load i8*, i8** %p, align 8 + ret i8* %4 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xstrdup(i8* %string) #3 { +entry: + %string.addr = alloca i8*, align 8 + store i8* %string, i8** %string.addr, align 8 + %0 = load i8*, i8** %string.addr, align 8 + %1 = load i8*, i8** %string.addr, align 8 + %call = call i64 @strlen(i8* %1) #24 + %add = add i64 %call, 1 + %call1 = call i8* @xmemdup(i8* %0, i64 %add) + ret i8* %call1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @setlocale_null(i32 %category) #3 { +entry: + %category.addr = alloca i32, align 4 + store i32 %category, i32* %category.addr, align 4 + %0 = load i32, i32* %category.addr, align 4 + %call = call i8* @setlocale_null_androidfix(i32 %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isalnum(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock121 + +NodeBlock121: ; preds = %entry + %case.cmp122 = icmp eq i32 %0, 48 + br i1 %case.cmp122, label %sw.bb, label %NodeBlock119 + +NodeBlock119: ; preds = %NodeBlock121 + %case.cmp120 = icmp eq i32 %0, 49 + br i1 %case.cmp120, label %sw.bb, label %NodeBlock117 + +NodeBlock117: ; preds = %NodeBlock119 + %case.cmp118 = icmp eq i32 %0, 50 + br i1 %case.cmp118, label %sw.bb, label %NodeBlock115 + +NodeBlock115: ; preds = %NodeBlock117 + %case.cmp116 = icmp eq i32 %0, 51 + br i1 %case.cmp116, label %sw.bb, label %NodeBlock113 + +NodeBlock113: ; preds = %NodeBlock115 + %case.cmp114 = icmp eq i32 %0, 52 + br i1 %case.cmp114, label %sw.bb, label %NodeBlock111 + +NodeBlock111: ; preds = %NodeBlock113 + %case.cmp112 = icmp eq i32 %0, 53 + br i1 %case.cmp112, label %sw.bb, label %NodeBlock109 + +NodeBlock109: ; preds = %NodeBlock111 + %case.cmp110 = icmp eq i32 %0, 54 + br i1 %case.cmp110, label %sw.bb, label %NodeBlock107 + +NodeBlock107: ; preds = %NodeBlock109 + %case.cmp108 = icmp eq i32 %0, 55 + br i1 %case.cmp108, label %sw.bb, label %NodeBlock105 + +NodeBlock105: ; preds = %NodeBlock107 + %case.cmp106 = icmp eq i32 %0, 56 + br i1 %case.cmp106, label %sw.bb, label %NodeBlock103 + +NodeBlock103: ; preds = %NodeBlock105 + %case.cmp104 = icmp eq i32 %0, 57 + br i1 %case.cmp104, label %sw.bb, label %NodeBlock101 + +NodeBlock101: ; preds = %NodeBlock103 + %case.cmp102 = icmp eq i32 %0, 97 + br i1 %case.cmp102, label %sw.bb, label %NodeBlock99 + +NodeBlock99: ; preds = %NodeBlock101 + %case.cmp100 = icmp eq i32 %0, 98 + br i1 %case.cmp100, label %sw.bb, label %NodeBlock97 + +NodeBlock97: ; preds = %NodeBlock99 + %case.cmp98 = icmp eq i32 %0, 99 + br i1 %case.cmp98, label %sw.bb, label %NodeBlock95 + +NodeBlock95: ; preds = %NodeBlock97 + %case.cmp96 = icmp eq i32 %0, 100 + br i1 %case.cmp96, label %sw.bb, label %NodeBlock93 + +NodeBlock93: ; preds = %NodeBlock95 + %case.cmp94 = icmp eq i32 %0, 101 + br i1 %case.cmp94, label %sw.bb, label %NodeBlock91 + +NodeBlock91: ; preds = %NodeBlock93 + %case.cmp92 = icmp eq i32 %0, 102 + br i1 %case.cmp92, label %sw.bb, label %NodeBlock89 + +NodeBlock89: ; preds = %NodeBlock91 + %case.cmp90 = icmp eq i32 %0, 103 + br i1 %case.cmp90, label %sw.bb, label %NodeBlock87 + +NodeBlock87: ; preds = %NodeBlock89 + %case.cmp88 = icmp eq i32 %0, 104 + br i1 %case.cmp88, label %sw.bb, label %NodeBlock85 + +NodeBlock85: ; preds = %NodeBlock87 + %case.cmp86 = icmp eq i32 %0, 105 + br i1 %case.cmp86, label %sw.bb, label %NodeBlock83 + +NodeBlock83: ; preds = %NodeBlock85 + %case.cmp84 = icmp eq i32 %0, 106 + br i1 %case.cmp84, label %sw.bb, label %NodeBlock81 + +NodeBlock81: ; preds = %NodeBlock83 + %case.cmp82 = icmp eq i32 %0, 107 + br i1 %case.cmp82, label %sw.bb, label %NodeBlock79 + +NodeBlock79: ; preds = %NodeBlock81 + %case.cmp80 = icmp eq i32 %0, 108 + br i1 %case.cmp80, label %sw.bb, label %NodeBlock77 + +NodeBlock77: ; preds = %NodeBlock79 + %case.cmp78 = icmp eq i32 %0, 109 + br i1 %case.cmp78, label %sw.bb, label %NodeBlock75 + +NodeBlock75: ; preds = %NodeBlock77 + %case.cmp76 = icmp eq i32 %0, 110 + br i1 %case.cmp76, label %sw.bb, label %NodeBlock73 + +NodeBlock73: ; preds = %NodeBlock75 + %case.cmp74 = icmp eq i32 %0, 111 + br i1 %case.cmp74, label %sw.bb, label %NodeBlock71 + +NodeBlock71: ; preds = %NodeBlock73 + %case.cmp72 = icmp eq i32 %0, 112 + br i1 %case.cmp72, label %sw.bb, label %NodeBlock69 + +NodeBlock69: ; preds = %NodeBlock71 + %case.cmp70 = icmp eq i32 %0, 113 + br i1 %case.cmp70, label %sw.bb, label %NodeBlock67 + +NodeBlock67: ; preds = %NodeBlock69 + %case.cmp68 = icmp eq i32 %0, 114 + br i1 %case.cmp68, label %sw.bb, label %NodeBlock65 + +NodeBlock65: ; preds = %NodeBlock67 + %case.cmp66 = icmp eq i32 %0, 115 + br i1 %case.cmp66, label %sw.bb, label %NodeBlock63 + +NodeBlock63: ; preds = %NodeBlock65 + %case.cmp64 = icmp eq i32 %0, 116 + br i1 %case.cmp64, label %sw.bb, label %NodeBlock61 + +NodeBlock61: ; preds = %NodeBlock63 + %case.cmp62 = icmp eq i32 %0, 117 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 118 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 119 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 120 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 121 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 122 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 65 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 66 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 67 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 68 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 69 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 70 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 71 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 72 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 73 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 74 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 75 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 76 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 77 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 78 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 79 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 80 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 81 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 82 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 83 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 84 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 85 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 86 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 87 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 88 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 89 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 90 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock121, %NodeBlock119, %NodeBlock117, %NodeBlock115, %NodeBlock113, %NodeBlock111, %NodeBlock109, %NodeBlock107, %NodeBlock105, %NodeBlock103, %NodeBlock101, %NodeBlock99, %NodeBlock97, %NodeBlock95, %NodeBlock93, %NodeBlock91, %NodeBlock89, %NodeBlock87, %NodeBlock85, %NodeBlock83, %NodeBlock81, %NodeBlock79, %NodeBlock77, %NodeBlock75, %NodeBlock73, %NodeBlock71, %NodeBlock69, %NodeBlock67, %NodeBlock65, %NodeBlock63, %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isalpha(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock101 + +NodeBlock101: ; preds = %entry + %case.cmp102 = icmp eq i32 %0, 97 + br i1 %case.cmp102, label %sw.bb, label %NodeBlock99 + +NodeBlock99: ; preds = %NodeBlock101 + %case.cmp100 = icmp eq i32 %0, 98 + br i1 %case.cmp100, label %sw.bb, label %NodeBlock97 + +NodeBlock97: ; preds = %NodeBlock99 + %case.cmp98 = icmp eq i32 %0, 99 + br i1 %case.cmp98, label %sw.bb, label %NodeBlock95 + +NodeBlock95: ; preds = %NodeBlock97 + %case.cmp96 = icmp eq i32 %0, 100 + br i1 %case.cmp96, label %sw.bb, label %NodeBlock93 + +NodeBlock93: ; preds = %NodeBlock95 + %case.cmp94 = icmp eq i32 %0, 101 + br i1 %case.cmp94, label %sw.bb, label %NodeBlock91 + +NodeBlock91: ; preds = %NodeBlock93 + %case.cmp92 = icmp eq i32 %0, 102 + br i1 %case.cmp92, label %sw.bb, label %NodeBlock89 + +NodeBlock89: ; preds = %NodeBlock91 + %case.cmp90 = icmp eq i32 %0, 103 + br i1 %case.cmp90, label %sw.bb, label %NodeBlock87 + +NodeBlock87: ; preds = %NodeBlock89 + %case.cmp88 = icmp eq i32 %0, 104 + br i1 %case.cmp88, label %sw.bb, label %NodeBlock85 + +NodeBlock85: ; preds = %NodeBlock87 + %case.cmp86 = icmp eq i32 %0, 105 + br i1 %case.cmp86, label %sw.bb, label %NodeBlock83 + +NodeBlock83: ; preds = %NodeBlock85 + %case.cmp84 = icmp eq i32 %0, 106 + br i1 %case.cmp84, label %sw.bb, label %NodeBlock81 + +NodeBlock81: ; preds = %NodeBlock83 + %case.cmp82 = icmp eq i32 %0, 107 + br i1 %case.cmp82, label %sw.bb, label %NodeBlock79 + +NodeBlock79: ; preds = %NodeBlock81 + %case.cmp80 = icmp eq i32 %0, 108 + br i1 %case.cmp80, label %sw.bb, label %NodeBlock77 + +NodeBlock77: ; preds = %NodeBlock79 + %case.cmp78 = icmp eq i32 %0, 109 + br i1 %case.cmp78, label %sw.bb, label %NodeBlock75 + +NodeBlock75: ; preds = %NodeBlock77 + %case.cmp76 = icmp eq i32 %0, 110 + br i1 %case.cmp76, label %sw.bb, label %NodeBlock73 + +NodeBlock73: ; preds = %NodeBlock75 + %case.cmp74 = icmp eq i32 %0, 111 + br i1 %case.cmp74, label %sw.bb, label %NodeBlock71 + +NodeBlock71: ; preds = %NodeBlock73 + %case.cmp72 = icmp eq i32 %0, 112 + br i1 %case.cmp72, label %sw.bb, label %NodeBlock69 + +NodeBlock69: ; preds = %NodeBlock71 + %case.cmp70 = icmp eq i32 %0, 113 + br i1 %case.cmp70, label %sw.bb, label %NodeBlock67 + +NodeBlock67: ; preds = %NodeBlock69 + %case.cmp68 = icmp eq i32 %0, 114 + br i1 %case.cmp68, label %sw.bb, label %NodeBlock65 + +NodeBlock65: ; preds = %NodeBlock67 + %case.cmp66 = icmp eq i32 %0, 115 + br i1 %case.cmp66, label %sw.bb, label %NodeBlock63 + +NodeBlock63: ; preds = %NodeBlock65 + %case.cmp64 = icmp eq i32 %0, 116 + br i1 %case.cmp64, label %sw.bb, label %NodeBlock61 + +NodeBlock61: ; preds = %NodeBlock63 + %case.cmp62 = icmp eq i32 %0, 117 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 118 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 119 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 120 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 121 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 122 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 65 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 66 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 67 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 68 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 69 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 70 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 71 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 72 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 73 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 74 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 75 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 76 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 77 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 78 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 79 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 80 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 81 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 82 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 83 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 84 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 85 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 86 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 87 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 88 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 89 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 90 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock101, %NodeBlock99, %NodeBlock97, %NodeBlock95, %NodeBlock93, %NodeBlock91, %NodeBlock89, %NodeBlock87, %NodeBlock85, %NodeBlock83, %NodeBlock81, %NodeBlock79, %NodeBlock77, %NodeBlock75, %NodeBlock73, %NodeBlock71, %NodeBlock69, %NodeBlock67, %NodeBlock65, %NodeBlock63, %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isascii(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %switch = icmp ult i32 %0, 128 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isblank(i32 %c) #3 { +entry: + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %cmp = icmp eq i32 %0, 32 + %1 = load i32, i32* %c.addr, align 4 + %cmp1 = icmp eq i32 %1, 9 + %2 = select i1 %cmp, i1 true, i1 %cmp1 + ret i1 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_iscntrl(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock63 + +NodeBlock63: ; preds = %entry + %case.cmp64 = icmp eq i32 %0, 7 + br i1 %case.cmp64, label %sw.bb, label %NodeBlock61 + +NodeBlock61: ; preds = %NodeBlock63 + %case.cmp62 = icmp eq i32 %0, 8 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 12 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 10 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 13 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 9 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 11 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 0 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 1 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 2 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 3 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 4 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 5 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 6 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 14 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 15 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 16 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 17 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 18 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 19 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 20 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 21 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 22 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 23 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 24 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 25 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 26 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 27 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 28 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 29 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 30 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 31 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 127 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock63, %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isdigit(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -48 + %switch = icmp ult i32 %.off, 10 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isgraph(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -33 + %switch = icmp ult i32 %.off, 94 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_islower(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -97 + %switch = icmp ult i32 %.off, 26 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isprint(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -32 + %switch = icmp ult i32 %.off, 95 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_ispunct(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock61 + +NodeBlock61: ; preds = %entry + %case.cmp62 = icmp eq i32 %0, 33 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 34 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 35 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 36 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 37 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 38 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 39 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 40 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 41 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 42 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 43 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 44 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 45 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 46 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 47 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 58 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 59 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 60 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 61 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 62 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 63 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 64 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 91 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 92 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 93 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 94 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 95 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 96 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 123 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 124 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 125 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 126 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isspace(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock9 + +NodeBlock9: ; preds = %entry + %case.cmp10 = icmp eq i32 %0, 32 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 9 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 10 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 11 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 12 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 13 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isupper(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -65 + %switch = icmp ult i32 %.off, 26 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isxdigit(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock41 + +NodeBlock41: ; preds = %entry + %case.cmp42 = icmp eq i32 %0, 48 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 49 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 50 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 51 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 52 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 53 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 54 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 55 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 56 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 57 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 97 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 98 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 99 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 100 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 101 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 102 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 65 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 66 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 67 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 68 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 69 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 70 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @c_toupper(i32 %c) #3 { +entry: + %retval = alloca i32, align 4 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -97 + %switch = icmp ult i32 %.off, 26 + %1 = load i32, i32* %c.addr, align 4 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + %sub = sub nsw i32 %1, 97 + %add = add nsw i32 %sub, 65 + store i32 %add, i32* %retval, align 4 + br label %return + +sw.default: ; preds = %entry + store i32 %1, i32* %retval, align 4 + br label %return + +return: ; preds = %sw.default, %sw.bb + %2 = load i32, i32* %retval, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @klee_init_fds(i32 %n_files, i32 %file_length, i32 %stdin_length, i32 %sym_stdout_flag, i32 %save_all_writes_flag, i32 %max_failures) #3 { +entry: + %n_files.addr = alloca i32, align 4 + %file_length.addr = alloca i32, align 4 + %stdin_length.addr = alloca i32, align 4 + %sym_stdout_flag.addr = alloca i32, align 4 + %save_all_writes_flag.addr = alloca i32, align 4 + %max_failures.addr = alloca i32, align 4 + %k = alloca i32, align 4 + %name = alloca [7 x i8], align 1 + %s = alloca %struct.stat64, align 8 + store i32 %n_files, i32* %n_files.addr, align 4 + store i32 %file_length, i32* %file_length.addr, align 4 + store i32 %stdin_length, i32* %stdin_length.addr, align 4 + store i32 %sym_stdout_flag, i32* %sym_stdout_flag.addr, align 4 + store i32 %save_all_writes_flag, i32* %save_all_writes_flag.addr, align 4 + store i32 %max_failures, i32* %max_failures.addr, align 4 + %0 = bitcast [7 x i8]* %name to i8* + %1 = call i8* @memcpy(i8* %0, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @__const.klee_init_fds.name, i32 0, i32 0), i64 7) + %call = call i32 @stat64(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.139, i64 0, i64 0), %struct.stat64* %s) #11 + %2 = load i32, i32* %n_files.addr, align 4 + store i32 %2, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %3 = load i32, i32* %n_files.addr, align 4 + %conv = zext i32 %3 to i64 + %mul = mul i64 24, %conv + %call1 = call noalias i8* @malloc(i64 %mul) #11 + %4 = bitcast i8* %call1 to %struct.exe_disk_file_t* + store %struct.exe_disk_file_t* %4, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %5 = load i32, i32* %n_files.addr, align 4 + %tobool = icmp eq i32 %5, 0 + %6 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %6, null + %or.cond = or i1 %tobool, %tobool2 + br i1 %or.cond, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @gs_report_error.143(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.140, i64 0, i64 0), i32 124, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.141, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.142, i64 0, i64 0)) #25 + unreachable + +if.end: ; preds = %entry + store i32 0, i32* %k, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %7 = load i32, i32* %k, align 4 + %8 = load i32, i32* %n_files.addr, align 4 + %cmp = icmp ult i32 %7, %8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %9 = load i32, i32* %k, align 4 + %add = add i32 65, %9 + %conv4 = trunc i32 %add to i8 + %arrayidx = getelementptr inbounds [7 x i8], [7 x i8]* %name, i64 0, i64 0 + store i8 %conv4, i8* %arrayidx, align 1 + %10 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %11 = load i32, i32* %k, align 4 + %idxprom = zext i32 %11 to i64 + %arrayidx5 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %10, i64 %idxprom + %12 = load i32, i32* %file_length.addr, align 4 + %arraydecay = getelementptr inbounds [7 x i8], [7 x i8]* %name, i64 0, i64 0 + call void @__create_new_dfile(%struct.exe_disk_file_t* %arrayidx5, i32 %12, i8* %arraydecay, %struct.stat64* %s) + %13 = load i32, i32* %k, align 4 + %inc = add i32 %13, 1 + store i32 %inc, i32* %k, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %14 = load i32, i32* %stdin_length.addr, align 4 + %tobool6 = icmp ne i32 %14, 0 + br i1 %tobool6, label %if.then7, label %if.else + +if.then7: ; preds = %for.end + %call8 = call noalias i8* @malloc(i64 24) #11 + %15 = bitcast i8* %call8 to %struct.exe_disk_file_t* + store %struct.exe_disk_file_t* %15, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + %16 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + %tobool9 = icmp ne %struct.exe_disk_file_t* %16, null + br i1 %tobool9, label %if.end11, label %if.then10 + +if.then10: ; preds = %if.then7 + call void @gs_report_error.143(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.140, i64 0, i64 0), i32 135, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.141, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.142, i64 0, i64 0)) #25 + unreachable + +if.end11: ; preds = %if.then7 + %17 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + %18 = load i32, i32* %stdin_length.addr, align 4 + call void @__create_new_dfile(%struct.exe_disk_file_t* %17, i32 %18, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.4.144, i64 0, i64 0), %struct.stat64* %s) + %19 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + store %struct.exe_disk_file_t* %19, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0, i64 0, i32 3), align 8 + br label %if.end12 + +if.else: ; preds = %for.end + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + br label %if.end12 + +if.end12: ; preds = %if.else, %if.end11 + %20 = load i32, i32* %max_failures.addr, align 4 + store i32 %20, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %21 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool13 = icmp ne i32 %21, 0 + br i1 %tobool13, label %if.then14, label %if.end31 + +if.then14: ; preds = %if.end12 + %call15 = call noalias i8* @malloc(i64 4) #11 + %22 = bitcast i8* %call15 to i32* + store i32* %22, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %call16 = call noalias i8* @malloc(i64 4) #11 + %23 = bitcast i8* %call16 to i32* + store i32* %23, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %call17 = call noalias i8* @malloc(i64 4) #11 + %24 = bitcast i8* %call17 to i32* + store i32* %24, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %call18 = call noalias i8* @malloc(i64 4) #11 + %25 = bitcast i8* %call18 to i32* + store i32* %25, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %call19 = call noalias i8* @malloc(i64 4) #11 + %26 = bitcast i8* %call19 to i32* + store i32* %26, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %27 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %tobool20 = icmp ne i32* %27, null + %28 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %tobool22 = icmp ne i32* %28, null + %or.cond1 = and i1 %tobool20, %tobool22 + %29 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %tobool24 = icmp ne i32* %29, null + %or.cond2 = and i1 %or.cond1, %tobool24 + %30 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %tobool26 = icmp ne i32* %30, null + %or.cond3 = and i1 %or.cond2, %tobool26 + %31 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %tobool28 = icmp ne i32* %31, null + %or.cond4 = and i1 %or.cond3, %tobool28 + br i1 %or.cond4, label %if.end30, label %if.then29 + +if.then29: ; preds = %if.then14 + call void @gs_report_error.143(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.140, i64 0, i64 0), i32 150, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.141, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.142, i64 0, i64 0)) #25 + unreachable + +if.end30: ; preds = %if.then14 + %32 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %33 = bitcast i32* %32 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %33, i64 4, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.5.145, i64 0, i64 0)) + %34 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %35 = bitcast i32* %34 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %35, i64 4, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.6.146, i64 0, i64 0)) + %36 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %37 = bitcast i32* %36 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %37, i64 4, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.7.147, i64 0, i64 0)) + %38 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %39 = bitcast i32* %38 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %39, i64 4, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.8.148, i64 0, i64 0)) + %40 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %41 = bitcast i32* %40 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %41, i64 4, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.9.149, i64 0, i64 0)) + br label %if.end31 + +if.end31: ; preds = %if.end30, %if.end12 + %42 = load i32, i32* %sym_stdout_flag.addr, align 4 + %tobool32 = icmp ne i32 %42, 0 + br i1 %tobool32, label %if.then33, label %if.else38 + +if.then33: ; preds = %if.end31 + %call34 = call noalias i8* @malloc(i64 24) #11 + %43 = bitcast i8* %call34 to %struct.exe_disk_file_t* + store %struct.exe_disk_file_t* %43, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + %44 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + %tobool35 = icmp ne %struct.exe_disk_file_t* %44, null + br i1 %tobool35, label %if.end37, label %if.then36 + +if.then36: ; preds = %if.then33 + call void @gs_report_error.143(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.140, i64 0, i64 0), i32 163, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.141, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.142, i64 0, i64 0)) #25 + unreachable + +if.end37: ; preds = %if.then33 + %45 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + call void @__create_new_dfile(%struct.exe_disk_file_t* %45, i32 1024, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.10.150, i64 0, i64 0), %struct.stat64* %s) + %46 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + store %struct.exe_disk_file_t* %46, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0, i64 1, i32 3), align 8 + store i32 0, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 3), align 8 + br label %if.end39 + +if.else38: ; preds = %if.end31 + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + br label %if.end39 + +if.end39: ; preds = %if.else38, %if.end37 + %47 = load i32, i32* %save_all_writes_flag.addr, align 4 + store i32 %47, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 3), align 8 + %call40 = call i32 @__sym_uint32(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.11.151, i64 0, i64 0)) + store i32 %call40, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 2), align 4 + %48 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 2), align 4 + %cmp41 = icmp eq i32 %48, 1 + call void @gs_assume(i1 zeroext %cmp41) + ret void +} + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error.143(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.154, i64 0, i64 0)) + call void @stop(i32 -1) #25 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__create_new_dfile(%struct.exe_disk_file_t* %dfile, i32 %size, i8* %name, %struct.stat64* %defaults) #3 { +entry: + %dfile.addr = alloca %struct.exe_disk_file_t*, align 8 + %size.addr = alloca i32, align 4 + %name.addr = alloca i8*, align 8 + %defaults.addr = alloca %struct.stat64*, align 8 + %s = alloca %struct.stat64*, align 8 + %sp = alloca i8*, align 8 + %sname = alloca [64 x i8], align 16 + store %struct.exe_disk_file_t* %dfile, %struct.exe_disk_file_t** %dfile.addr, align 8 + store i32 %size, i32* %size.addr, align 4 + store i8* %name, i8** %name.addr, align 8 + store %struct.stat64* %defaults, %struct.stat64** %defaults.addr, align 8 + %call = call noalias i8* @malloc(i64 144) #11 + %0 = bitcast i8* %call to %struct.stat64* + store %struct.stat64* %0, %struct.stat64** %s, align 8 + %1 = load %struct.stat64*, %struct.stat64** %s, align 8 + %tobool = icmp ne %struct.stat64* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @gs_report_error.143(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.140, i64 0, i64 0), i32 47, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.141, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.142, i64 0, i64 0)) #25 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %name.addr, align 8 + store i8* %2, i8** %sp, align 8 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %3 = load i8*, i8** %sp, align 8 + %4 = load i8, i8* %3, align 1 + %tobool1 = icmp ne i8 %4, 0 + %5 = load i8*, i8** %sp, align 8 + br i1 %tobool1, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %6 = load i8, i8* %5, align 1 + %7 = load i8*, i8** %sp, align 8 + %8 = load i8*, i8** %name.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %8 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %arrayidx = getelementptr inbounds [64 x i8], [64 x i8]* %sname, i64 0, i64 %sub.ptr.sub + store i8 %6, i8* %arrayidx, align 1 + %9 = load i8*, i8** %sp, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %sp, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %10 = load i8*, i8** %name.addr, align 8 + %sub.ptr.lhs.cast2 = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast3 = ptrtoint i8* %10 to i64 + %sub.ptr.sub4 = sub i64 %sub.ptr.lhs.cast2, %sub.ptr.rhs.cast3 + %arrayidx5 = getelementptr inbounds [64 x i8], [64 x i8]* %sname, i64 0, i64 %sub.ptr.sub4 + %11 = call i8* @memcpy(i8* %arrayidx5, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.13.152, i64 0, i64 0), i64 6) + %12 = load i32, i32* %size.addr, align 4 + %tobool6 = icmp ne i32 %12, 0 + br i1 %tobool6, label %if.end8, label %if.else + +if.else: ; preds = %for.end + call void @__assert_fail(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.14.153, i64 0, i64 0), i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.140, i64 0, i64 0), i32 55, i8* getelementptr inbounds ([88 x i8], [88 x i8]* @__PRETTY_FUNCTION__.__create_new_dfile, i64 0, i64 0)) #27 + unreachable + +if.end8: ; preds = %for.end + %13 = load i32, i32* %size.addr, align 4 + %14 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size9 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %14, i32 0, i32 0 + store i32 %13, i32* %size9, align 8 + %15 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size10 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %15, i32 0, i32 0 + %16 = load i32, i32* %size10, align 8 + %conv = zext i32 %16 to i64 + %call11 = call noalias i8* @malloc(i64 %conv) #11 + %17 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %contents = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %17, i32 0, i32 1 + store i8* %call11, i8** %contents, align 8 + %18 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %contents12 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %18, i32 0, i32 1 + %19 = load i8*, i8** %contents12, align 8 + %tobool13 = icmp ne i8* %19, null + br i1 %tobool13, label %if.end15, label %if.then14 + +if.then14: ; preds = %if.end8 + call void @gs_report_error.143(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.140, i64 0, i64 0), i32 60, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.141, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.142, i64 0, i64 0)) #25 + unreachable + +if.end15: ; preds = %if.end8 + %20 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %contents16 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %20, i32 0, i32 1 + %21 = load i8*, i8** %contents16, align 8 + %22 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size17 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %22, i32 0, i32 0 + %23 = load i32, i32* %size17, align 8 + %conv18 = zext i32 %23 to i64 + %24 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %21, i64 %conv18, i8* %24) + %25 = load %struct.stat64*, %struct.stat64** %s, align 8 + %26 = bitcast %struct.stat64* %25 to i8* + %arraydecay = getelementptr inbounds [64 x i8], [64 x i8]* %sname, i64 0, i64 0 + call void (i8*, i64, ...) @make_symbolic(i8* %26, i64 144, i8* %arraydecay) + %27 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %27, i32 0, i32 1 + %28 = load i64, i64* %st_ino, align 8 + %call19 = call i32 @gs_is_symbolic(i64 %28) + %tobool20 = icmp ne i32 %call19, 0 + br i1 %tobool20, label %if.end26, label %land.lhs.true + +land.lhs.true: ; preds = %if.end15 + %29 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino21 = getelementptr inbounds %struct.stat64, %struct.stat64* %29, i32 0, i32 1 + %30 = load i64, i64* %st_ino21, align 8 + %and = and i64 %30, 2147483647 + %cmp = icmp eq i64 %and, 0 + br i1 %cmp, label %if.then23, label %if.end26 + +if.then23: ; preds = %land.lhs.true + %31 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_ino24 = getelementptr inbounds %struct.stat64, %struct.stat64* %31, i32 0, i32 1 + %32 = load i64, i64* %st_ino24, align 8 + %33 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino25 = getelementptr inbounds %struct.stat64, %struct.stat64* %33, i32 0, i32 1 + store i64 %32, i64* %st_ino25, align 8 + br label %if.end26 + +if.end26: ; preds = %if.then23, %land.lhs.true, %if.end15 + %34 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino27 = getelementptr inbounds %struct.stat64, %struct.stat64* %34, i32 0, i32 1 + %35 = load i64, i64* %st_ino27, align 8 + %and28 = and i64 %35, 2147483647 + %cmp29 = icmp ne i64 %and28, 0 + call void @gs_assume(i1 zeroext %cmp29) + %36 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_blksize = getelementptr inbounds %struct.stat64, %struct.stat64* %36, i32 0, i32 9 + %37 = load i64, i64* %st_blksize, align 8 + %and31 = and i64 %37, -65536 + %cmp32 = icmp eq i64 %and31, 0 + call void @gs_assume(i1 zeroext %cmp32) + %38 = load %struct.stat64*, %struct.stat64** %s, align 8 + %39 = bitcast %struct.stat64* %38 to i8* + %40 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %40, i32 0, i32 3 + %41 = load i32, i32* %st_mode, align 8 + %and34 = and i32 %41, -61952 + %tobool35 = icmp ne i32 %and34, 0 + %lnot = xor i1 %tobool35, true + call void @gs_prefer_cex(i8* %39, i1 zeroext %lnot) + %42 = load %struct.stat64*, %struct.stat64** %s, align 8 + %43 = bitcast %struct.stat64* %42 to i8* + %44 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_dev = getelementptr inbounds %struct.stat64, %struct.stat64* %44, i32 0, i32 0 + %45 = load i64, i64* %st_dev, align 8 + %46 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_dev36 = getelementptr inbounds %struct.stat64, %struct.stat64* %46, i32 0, i32 0 + %47 = load i64, i64* %st_dev36, align 8 + %cmp37 = icmp eq i64 %45, %47 + call void @gs_prefer_cex(i8* %43, i1 zeroext %cmp37) + %48 = load %struct.stat64*, %struct.stat64** %s, align 8 + %49 = bitcast %struct.stat64* %48 to i8* + %50 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_rdev = getelementptr inbounds %struct.stat64, %struct.stat64* %50, i32 0, i32 7 + %51 = load i64, i64* %st_rdev, align 8 + %52 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_rdev39 = getelementptr inbounds %struct.stat64, %struct.stat64* %52, i32 0, i32 7 + %53 = load i64, i64* %st_rdev39, align 8 + %cmp40 = icmp eq i64 %51, %53 + call void @gs_prefer_cex(i8* %49, i1 zeroext %cmp40) + %54 = load %struct.stat64*, %struct.stat64** %s, align 8 + %55 = bitcast %struct.stat64* %54 to i8* + %56 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode42 = getelementptr inbounds %struct.stat64, %struct.stat64* %56, i32 0, i32 3 + %57 = load i32, i32* %st_mode42, align 8 + %and43 = and i32 %57, 448 + %cmp44 = icmp eq i32 %and43, 384 + call void @gs_prefer_cex(i8* %55, i1 zeroext %cmp44) + %58 = load %struct.stat64*, %struct.stat64** %s, align 8 + %59 = bitcast %struct.stat64* %58 to i8* + %60 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode46 = getelementptr inbounds %struct.stat64, %struct.stat64* %60, i32 0, i32 3 + %61 = load i32, i32* %st_mode46, align 8 + %and47 = and i32 %61, 56 + %cmp48 = icmp eq i32 %and47, 32 + call void @gs_prefer_cex(i8* %59, i1 zeroext %cmp48) + %62 = load %struct.stat64*, %struct.stat64** %s, align 8 + %63 = bitcast %struct.stat64* %62 to i8* + %64 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode50 = getelementptr inbounds %struct.stat64, %struct.stat64* %64, i32 0, i32 3 + %65 = load i32, i32* %st_mode50, align 8 + %and51 = and i32 %65, 7 + %cmp52 = icmp eq i32 %and51, 4 + call void @gs_prefer_cex(i8* %63, i1 zeroext %cmp52) + %66 = load %struct.stat64*, %struct.stat64** %s, align 8 + %67 = bitcast %struct.stat64* %66 to i8* + %68 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode54 = getelementptr inbounds %struct.stat64, %struct.stat64* %68, i32 0, i32 3 + %69 = load i32, i32* %st_mode54, align 8 + %and55 = and i32 %69, 61440 + %cmp56 = icmp eq i32 %and55, 32768 + call void @gs_prefer_cex(i8* %67, i1 zeroext %cmp56) + %70 = load %struct.stat64*, %struct.stat64** %s, align 8 + %71 = bitcast %struct.stat64* %70 to i8* + %72 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_nlink = getelementptr inbounds %struct.stat64, %struct.stat64* %72, i32 0, i32 2 + %73 = load i64, i64* %st_nlink, align 8 + %cmp58 = icmp eq i64 %73, 1 + call void @gs_prefer_cex(i8* %71, i1 zeroext %cmp58) + %74 = load %struct.stat64*, %struct.stat64** %s, align 8 + %75 = bitcast %struct.stat64* %74 to i8* + %76 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_uid = getelementptr inbounds %struct.stat64, %struct.stat64* %76, i32 0, i32 4 + %77 = load i32, i32* %st_uid, align 4 + %78 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_uid60 = getelementptr inbounds %struct.stat64, %struct.stat64* %78, i32 0, i32 4 + %79 = load i32, i32* %st_uid60, align 4 + %cmp61 = icmp eq i32 %77, %79 + call void @gs_prefer_cex(i8* %75, i1 zeroext %cmp61) + %80 = load %struct.stat64*, %struct.stat64** %s, align 8 + %81 = bitcast %struct.stat64* %80 to i8* + %82 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_gid = getelementptr inbounds %struct.stat64, %struct.stat64* %82, i32 0, i32 5 + %83 = load i32, i32* %st_gid, align 8 + %84 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_gid63 = getelementptr inbounds %struct.stat64, %struct.stat64* %84, i32 0, i32 5 + %85 = load i32, i32* %st_gid63, align 8 + %cmp64 = icmp eq i32 %83, %85 + call void @gs_prefer_cex(i8* %81, i1 zeroext %cmp64) + %86 = load %struct.stat64*, %struct.stat64** %s, align 8 + %87 = bitcast %struct.stat64* %86 to i8* + %88 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_blksize66 = getelementptr inbounds %struct.stat64, %struct.stat64* %88, i32 0, i32 9 + %89 = load i64, i64* %st_blksize66, align 8 + %cmp67 = icmp eq i64 %89, 4096 + call void @gs_prefer_cex(i8* %87, i1 zeroext %cmp67) + %90 = load %struct.stat64*, %struct.stat64** %s, align 8 + %91 = bitcast %struct.stat64* %90 to i8* + %92 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_atim = getelementptr inbounds %struct.stat64, %struct.stat64* %92, i32 0, i32 11 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim, i32 0, i32 0 + %93 = load i64, i64* %tv_sec, align 8 + %94 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_atim69 = getelementptr inbounds %struct.stat64, %struct.stat64* %94, i32 0, i32 11 + %tv_sec70 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim69, i32 0, i32 0 + %95 = load i64, i64* %tv_sec70, align 8 + %cmp71 = icmp eq i64 %93, %95 + call void @gs_prefer_cex(i8* %91, i1 zeroext %cmp71) + %96 = load %struct.stat64*, %struct.stat64** %s, align 8 + %97 = bitcast %struct.stat64* %96 to i8* + %98 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mtim = getelementptr inbounds %struct.stat64, %struct.stat64* %98, i32 0, i32 12 + %tv_sec73 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim, i32 0, i32 0 + %99 = load i64, i64* %tv_sec73, align 8 + %100 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_mtim74 = getelementptr inbounds %struct.stat64, %struct.stat64* %100, i32 0, i32 12 + %tv_sec75 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim74, i32 0, i32 0 + %101 = load i64, i64* %tv_sec75, align 8 + %cmp76 = icmp eq i64 %99, %101 + call void @gs_prefer_cex(i8* %97, i1 zeroext %cmp76) + %102 = load %struct.stat64*, %struct.stat64** %s, align 8 + %103 = bitcast %struct.stat64* %102 to i8* + %104 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ctim = getelementptr inbounds %struct.stat64, %struct.stat64* %104, i32 0, i32 13 + %tv_sec78 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim, i32 0, i32 0 + %105 = load i64, i64* %tv_sec78, align 8 + %106 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_ctim79 = getelementptr inbounds %struct.stat64, %struct.stat64* %106, i32 0, i32 13 + %tv_sec80 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim79, i32 0, i32 0 + %107 = load i64, i64* %tv_sec80, align 8 + %cmp81 = icmp eq i64 %105, %107 + call void @gs_prefer_cex(i8* %103, i1 zeroext %cmp81) + %108 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size83 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %108, i32 0, i32 0 + %109 = load i32, i32* %size83, align 8 + %conv84 = zext i32 %109 to i64 + %110 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_size = getelementptr inbounds %struct.stat64, %struct.stat64* %110, i32 0, i32 8 + store i64 %conv84, i64* %st_size, align 8 + %111 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_blocks = getelementptr inbounds %struct.stat64, %struct.stat64* %111, i32 0, i32 10 + store i64 8, i64* %st_blocks, align 8 + %112 = load %struct.stat64*, %struct.stat64** %s, align 8 + %113 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %113, i32 0, i32 2 + store %struct.stat64* %112, %struct.stat64** %stat, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__sym_uint32(i8* %name) #3 { +entry: + %name.addr = alloca i8*, align 8 + %x = alloca i32, align 4 + store i8* %name, i8** %name.addr, align 8 + %0 = bitcast i32* %x to i8* + %1 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %0, i64 4, i8* %1) + %2 = load i32, i32* %x, align 4 + ret i32 %2 +} + +declare dso_local void @gs_prefer_cex(i8*, i1 zeroext) #5 + +; Function Attrs: noinline nounwind uwtable +define weak hidden i32 @__syscall_rt_sigaction(i32 %signum, %struct.sigaction.800* %act, %struct.sigaction.800* %oldact, i64 %_something) #3 { +entry: + %signum.addr = alloca i32, align 4 + %act.addr = alloca %struct.sigaction.800*, align 8 + %oldact.addr = alloca %struct.sigaction.800*, align 8 + %_something.addr = alloca i64, align 8 + store i32 %signum, i32* %signum.addr, align 4 + store %struct.sigaction.800* %act, %struct.sigaction.800** %act.addr, align 8 + store %struct.sigaction.800* %oldact, %struct.sigaction.800** %oldact.addr, align 8 + store i64 %_something, i64* %_something.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.155, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @sigaction(i32 %signum, %struct.sigaction.800* %act, %struct.sigaction.800* %oldact) #3 { +entry: + %signum.addr = alloca i32, align 4 + %act.addr = alloca %struct.sigaction.800*, align 8 + %oldact.addr = alloca %struct.sigaction.800*, align 8 + store i32 %signum, i32* %signum.addr, align 4 + store %struct.sigaction.800* %act, %struct.sigaction.800** %act.addr, align 8 + store %struct.sigaction.800* %oldact, %struct.sigaction.800** %oldact.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.155, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @sigprocmask(i32 %how, %struct.fd_set* %set, %struct.fd_set* %oldset) #3 { +entry: + %how.addr = alloca i32, align 4 + %set.addr = alloca %struct.fd_set*, align 8 + %oldset.addr = alloca %struct.fd_set*, align 8 + store i32 %how, i32* %how.addr, align 4 + store %struct.fd_set* %set, %struct.fd_set** %set.addr, align 8 + store %struct.fd_set* %oldset, %struct.fd_set** %oldset.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.155, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @fdatasync(i32 %fd) #3 { +entry: + %fd.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local void @sync() #3 { +entry: + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @__socketcall(i32 %type, i32* %args) #3 { +entry: + %type.addr = alloca i32, align 4 + %args.addr = alloca i32*, align 8 + store i32 %type, i32* %type.addr, align 4 + store i32* %args, i32** %args.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.1.160, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 97, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @gs_warning.161(i8* %message) #3 { +entry: + %message.addr = alloca i8*, align 8 + store i8* %message, i8** %message.addr, align 8 + %0 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %0) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.11.162, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @_IO_getc(%struct._IO_FILE* %f) #3 { +entry: + %f.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %f, %struct._IO_FILE** %f.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %f.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %0) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @_IO_putc(i32 %c, %struct._IO_FILE* %f) #3 { +entry: + %c.addr = alloca i32, align 4 + %f.addr = alloca %struct._IO_FILE*, align 8 + store i32 %c, i32* %c.addr, align 4 + store %struct._IO_FILE* %f, %struct._IO_FILE** %f.addr, align 8 + %0 = load i32, i32* %c.addr, align 4 + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %f.addr, align 8 + %call = call i32 bitcast (i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked to i32 (i32, %struct._IO_FILE*)*)(i32 %0, %struct._IO_FILE* %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mkdir(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2.165, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 5, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mkfifo(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2.165, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 5, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mknod(i8* nonnull %pathname, i32 %mode, i64 %dev) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + %dev.addr = alloca i64, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + store i64 %dev, i64* %dev.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2.165, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 5, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @pipe(i32* %filedes) #3 { +entry: + %filedes.addr = alloca i32*, align 8 + store i32* %filedes, i32** %filedes.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.3.166, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 23, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @link(i8* nonnull %oldpath, i8* nonnull %newpath) #3 { +entry: + %oldpath.addr = alloca i8*, align 8 + %newpath.addr = alloca i8*, align 8 + store i8* %oldpath, i8** %oldpath.addr, align 8 + store i8* %newpath, i8** %newpath.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @symlink(i8* nonnull %oldpath, i8* nonnull %newpath) #3 { +entry: + %oldpath.addr = alloca i8*, align 8 + %newpath.addr = alloca i8*, align 8 + store i8* %oldpath, i8** %oldpath.addr, align 8 + store i8* %newpath, i8** %newpath.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @rename(i8* %oldpath, i8* %newpath) #3 { +entry: + %oldpath.addr = alloca i8*, align 8 + %newpath.addr = alloca i8*, align 8 + store i8* %oldpath, i8** %oldpath.addr, align 8 + store i8* %newpath, i8** %newpath.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @nanosleep(%struct.timespec* %req, %struct.timespec* %rem) #3 { +entry: + %req.addr = alloca %struct.timespec*, align 8 + %rem.addr = alloca %struct.timespec*, align 8 + store %struct.timespec* %req, %struct.timespec** %req.addr, align 8 + store %struct.timespec* %rem, %struct.timespec** %rem.addr, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @clock_gettime(i32 %clk_id, %struct.timespec* %res) #3 { +entry: + %clk_id.addr = alloca i32, align 4 + %res.addr = alloca %struct.timespec*, align 8 + %tv = alloca %struct.timespec, align 8 + store i32 %clk_id, i32* %clk_id.addr, align 4 + store %struct.timespec* %res, %struct.timespec** %res.addr, align 8 + %call = call i32 @gettimeofday(%struct.timespec* %tv, i8* null) #11 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %0 = load i64, i64* %tv_sec, align 8 + %1 = load %struct.timespec*, %struct.timespec** %res.addr, align 8 + %tv_sec1 = getelementptr inbounds %struct.timespec, %struct.timespec* %1, i32 0, i32 0 + store i64 %0, i64* %tv_sec1, align 8 + %tv_usec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 1 + %2 = load i64, i64* %tv_usec, align 8 + %mul = mul nsw i64 %2, 1000 + %3 = load %struct.timespec*, %struct.timespec** %res.addr, align 8 + %tv_nsec = getelementptr inbounds %struct.timespec, %struct.timespec* %3, i32 0, i32 1 + store i64 %mul, i64* %tv_nsec, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @clock_settime(i32 %clk_id, %struct.timespec* %res) #3 { +entry: + %clk_id.addr = alloca i32, align 4 + %res.addr = alloca %struct.timespec*, align 8 + store i32 %clk_id, i32* %clk_id.addr, align 4 + store %struct.timespec* %res, %struct.timespec** %res.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @time(i64* %t) #3 { +entry: + %t.addr = alloca i64*, align 8 + %tv = alloca %struct.timespec, align 8 + store i64* %t, i64** %t.addr, align 8 + %call = call i32 @gettimeofday(%struct.timespec* %tv, i8* null) #11 + %0 = load i64*, i64** %t.addr, align 8 + %tobool = icmp ne i64* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %1 = load i64, i64* %tv_sec, align 8 + %2 = load i64*, i64** %t.addr, align 8 + store i64 %1, i64* %2, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %tv_sec1 = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %3 = load i64, i64* %tv_sec1, align 8 + ret i64 %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @times(%struct.tms* %buf) #3 { +entry: + %buf.addr = alloca %struct.tms*, align 8 + store %struct.tms* %buf, %struct.tms** %buf.addr, align 8 + %0 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tobool = icmp ne %struct.tms* %0, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + call void @gs_warning.161(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.5.168, i64 0, i64 0)) + br label %if.end + +if.else: ; preds = %entry + call void @gs_warning.161(i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.6.169, i64 0, i64 0)) + %1 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_utime = getelementptr inbounds %struct.tms, %struct.tms* %1, i32 0, i32 0 + store i64 0, i64* %tms_utime, align 8 + %2 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_stime = getelementptr inbounds %struct.tms, %struct.tms* %2, i32 0, i32 1 + store i64 0, i64* %tms_stime, align 8 + %3 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_cutime = getelementptr inbounds %struct.tms, %struct.tms* %3, i32 0, i32 2 + store i64 0, i64* %tms_cutime, align 8 + %4 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_cstime = getelementptr inbounds %struct.tms, %struct.tms* %4, i32 0, i32 3 + store i64 0, i64* %tms_cstime, align 8 + br label %if.end + +if.end: ; preds = %if.else, %if.then + ret i64 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local %struct.utmpx* @getutxent() #3 { +entry: + %call = call %struct.utmp* bitcast (%struct.utmp.323* ()* @getutent to %struct.utmp* ()*)() #11 + %0 = bitcast %struct.utmp* %call to %struct.utmpx* + ret %struct.utmpx* %0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local void @setutxent() #3 { +entry: + call void @setutent() #11 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local void @endutxent() #3 { +entry: + call void @endutent() #11 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @utmpxname(i8* %file) #3 { +entry: + %file.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + %call = call i32 @utmpname(i8* %0) #11 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @euidaccess(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %1 = load i32, i32* %mode.addr, align 4 + %call = call i32 @access(i8* %0, i32 %1) #11 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @eaccess(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %1 = load i32, i32* %mode.addr, align 4 + %call = call i32 @euidaccess(i8* %0, i32 %1) #11 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @group_member(i32 %__gid) #3 { +entry: + %__gid.addr = alloca i32, align 4 + store i32 %__gid, i32* %__gid.addr, align 4 + %0 = load i32, i32* %__gid.addr, align 4 + %call = call i32 @getgid() #11 + %cmp = icmp eq i32 %0, %call + br i1 %cmp, label %lor.end, label %lor.rhs + +lor.rhs: ; preds = %entry + %1 = load i32, i32* %__gid.addr, align 4 + %call1 = call i32 @getegid() #11 + %cmp2 = icmp eq i32 %1, %call1 + br label %lor.end + +lor.end: ; preds = %lor.rhs, %entry + %2 = phi i1 [ true, %entry ], [ %cmp2, %lor.rhs ] + %lor.ext = zext i1 %2 to i32 + ret i32 %lor.ext +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @utime(i8* nonnull %filename, %struct.timespec* %buf) #3 { +entry: + %filename.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.timespec*, align 8 + store i8* %filename, i8** %filename.addr, align 8 + store %struct.timespec* %buf, %struct.timespec** %buf.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @futimes(i32 %fd, %struct.timespec* %times) #3 { +entry: + %fd.addr = alloca i32, align 4 + %times.addr = alloca %struct.timespec*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.timespec* %times, %struct.timespec** %times.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.7.170, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 9, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind readonly uwtable +define dso_local i32 @strverscmp(i8* nonnull %__s1, i8* nonnull %__s2) #16 { +entry: + %__s1.addr = alloca i8*, align 8 + %__s2.addr = alloca i8*, align 8 + store i8* %__s1, i8** %__s1.addr, align 8 + store i8* %__s2, i8** %__s2.addr, align 8 + %0 = load i8*, i8** %__s1.addr, align 8 + %1 = load i8*, i8** %__s2.addr, align 8 + %call = call i32 @strcmp(i8* %0, i8* %1) #24 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @gnu_dev_major(i64 %__dev) #3 { +entry: + %__dev.addr = alloca i64, align 8 + store i64 %__dev, i64* %__dev.addr, align 8 + %0 = load i64, i64* %__dev.addr, align 8 + %shr = lshr i64 %0, 8 + %and = and i64 %shr, 4095 + %1 = load i64, i64* %__dev.addr, align 8 + %shr1 = lshr i64 %1, 32 + %conv = trunc i64 %shr1 to i32 + %and2 = and i32 %conv, -4096 + %conv3 = zext i32 %and2 to i64 + %or = or i64 %and, %conv3 + %conv4 = trunc i64 %or to i32 + ret i32 %conv4 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @gnu_dev_minor(i64 %__dev) #3 { +entry: + %__dev.addr = alloca i64, align 8 + store i64 %__dev, i64* %__dev.addr, align 8 + %0 = load i64, i64* %__dev.addr, align 8 + %and = and i64 %0, 255 + %1 = load i64, i64* %__dev.addr, align 8 + %shr = lshr i64 %1, 12 + %conv = trunc i64 %shr to i32 + %and1 = and i32 %conv, -256 + %conv2 = zext i32 %and1 to i64 + %or = or i64 %and, %conv2 + %conv3 = trunc i64 %or to i32 + ret i32 %conv3 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i64 @gnu_dev_makedev(i32 %__major, i32 %__minor) #3 { +entry: + %__major.addr = alloca i32, align 4 + %__minor.addr = alloca i32, align 4 + store i32 %__major, i32* %__major.addr, align 4 + store i32 %__minor, i32* %__minor.addr, align 4 + %0 = load i32, i32* %__minor.addr, align 4 + %and = and i32 %0, 255 + %1 = load i32, i32* %__major.addr, align 4 + %and1 = and i32 %1, 4095 + %shl = shl i32 %and1, 8 + %or = or i32 %and, %shl + %conv = zext i32 %or to i64 + %2 = load i32, i32* %__minor.addr, align 4 + %and2 = and i32 %2, -256 + %conv3 = zext i32 %and2 to i64 + %shl4 = shl i64 %conv3, 12 + %or5 = or i64 %conv, %shl4 + %3 = load i32, i32* %__major.addr, align 4 + %and6 = and i32 %3, -4096 + %conv7 = zext i32 %and6 to i64 + %shl8 = shl i64 %conv7, 32 + %or9 = or i64 %or5, %shl8 + ret i64 %or9 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i8* @canonicalize_file_name(i8* nonnull %name) #3 { +entry: + %retval = alloca i8*, align 8 + %name.addr = alloca i8*, align 8 + %resolved_name = alloca i8*, align 8 + store i8* %name, i8** %name.addr, align 8 + %call = call noalias i8* @malloc(i64 4096) #11 + store i8* %call, i8** %resolved_name, align 8 + %0 = load i8*, i8** %resolved_name, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %name.addr, align 8 + %2 = load i8*, i8** %resolved_name, align 8 + %call1 = call i8* @realpath(i8* %1, i8* %2) #11 + %tobool2 = icmp ne i8* %call1, null + %3 = load i8*, i8** %resolved_name, align 8 + br i1 %tobool2, label %if.end4, label %if.then3 + +if.then3: ; preds = %if.end + call void @free(i8* %3) #11 + store i8* null, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %if.end + store i8* %3, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %4 = load i8*, i8** %retval, align 8 + ret i8* %4 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @getloadavg(double* nonnull %loadavg, i32 %nelem) #3 { +entry: + %loadavg.addr = alloca double*, align 8 + %nelem.addr = alloca i32, align 4 + store double* %loadavg, double** %loadavg.addr, align 8 + store i32 %nelem, i32* %nelem.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.8.173, i64 0, i64 0)) + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @wait(i32* %status) #3 { +entry: + %status.addr = alloca i32*, align 8 + store i32* %status, i32** %status.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.174, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @wait3(i32* %status, i32 %options, %struct.rusage* %rusage) #3 { +entry: + %status.addr = alloca i32*, align 8 + %options.addr = alloca i32, align 4 + %rusage.addr = alloca %struct.rusage*, align 8 + store i32* %status, i32** %status.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + store %struct.rusage* %rusage, %struct.rusage** %rusage.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.174, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @wait4(i32 %pid, i32* %status, i32 %options, %struct.rusage* %rusage) #3 { +entry: + %pid.addr = alloca i32, align 4 + %status.addr = alloca i32*, align 8 + %options.addr = alloca i32, align 4 + %rusage.addr = alloca %struct.rusage*, align 8 + store i32 %pid, i32* %pid.addr, align 4 + store i32* %status, i32** %status.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + store %struct.rusage* %rusage, %struct.rusage** %rusage.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.174, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @waitpid(i32 %pid, i32* %status, i32 %options) #3 { +entry: + %pid.addr = alloca i32, align 4 + %status.addr = alloca i32*, align 8 + %options.addr = alloca i32, align 4 + store i32 %pid, i32* %pid.addr, align 4 + store i32* %status, i32** %status.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.174, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @waitid(i32 %idtype, i32 %id, %struct.siginfo_t* %infop, i32 %options) #3 { +entry: + %idtype.addr = alloca i32, align 4 + %id.addr = alloca i32, align 4 + %infop.addr = alloca %struct.siginfo_t*, align 8 + %options.addr = alloca i32, align 4 + store i32 %idtype, i32* %idtype.addr, align 4 + store i32 %id, i32* %id.addr, align 4 + store %struct.siginfo_t* %infop, %struct.siginfo_t** %infop.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.174, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mount(i8* %source, i8* %target, i8* %filesystemtype, i64 %mountflags, i8* %data) #3 { +entry: + %source.addr = alloca i8*, align 8 + %target.addr = alloca i8*, align 8 + %filesystemtype.addr = alloca i8*, align 8 + %mountflags.addr = alloca i64, align 8 + %data.addr = alloca i8*, align 8 + store i8* %source, i8** %source.addr, align 8 + store i8* %target, i8** %target.addr, align 8 + store i8* %filesystemtype, i8** %filesystemtype.addr, align 8 + store i64 %mountflags, i64* %mountflags.addr, align 8 + store i8* %data, i8** %data.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @umount(i8* %target) #3 { +entry: + %target.addr = alloca i8*, align 8 + store i8* %target, i8** %target.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @umount2(i8* %target, i32 %flags) #3 { +entry: + %target.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + store i8* %target, i8** %target.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @swapon(i8* %path, i32 %swapflags) #3 { +entry: + %path.addr = alloca i8*, align 8 + %swapflags.addr = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store i32 %swapflags, i32* %swapflags.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @swapoff(i8* %path) #3 { +entry: + %path.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setgid(i32 %gid) #3 { +entry: + %gid.addr = alloca i32, align 4 + store i32 %gid, i32* %gid.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.10.175, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setgroups(i64 %size, i32* %list) #3 { +entry: + %size.addr = alloca i64, align 8 + %list.addr = alloca i32*, align 8 + store i64 %size, i64* %size.addr, align 8 + store i32* %list, i32** %list.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @sethostname(i8* nonnull %name, i64 %len) #3 { +entry: + %name.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + store i8* %name, i8** %name.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setpgid(i32 %pid, i32 %pgid) #3 { +entry: + %pid.addr = alloca i32, align 4 + %pgid.addr = alloca i32, align 4 + store i32 %pid, i32* %pid.addr, align 4 + store i32 %pgid, i32* %pgid.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setpgrp() #3 { +entry: + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setpriority(i32 %which, i32 %who, i32 %prio) #3 { +entry: + %which.addr = alloca i32, align 4 + %who.addr = alloca i32, align 4 + %prio.addr = alloca i32, align 4 + store i32 %which, i32* %which.addr, align 4 + store i32 %who, i32* %who.addr, align 4 + store i32 %prio, i32* %prio.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setresgid(i32 %rgid, i32 %egid, i32 %sgid) #3 { +entry: + %rgid.addr = alloca i32, align 4 + %egid.addr = alloca i32, align 4 + %sgid.addr = alloca i32, align 4 + store i32 %rgid, i32* %rgid.addr, align 4 + store i32 %egid, i32* %egid.addr, align 4 + store i32 %sgid, i32* %sgid.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setresuid(i32 %ruid, i32 %euid, i32 %suid) #3 { +entry: + %ruid.addr = alloca i32, align 4 + %euid.addr = alloca i32, align 4 + %suid.addr = alloca i32, align 4 + store i32 %ruid, i32* %ruid.addr, align 4 + store i32 %euid, i32* %euid.addr, align 4 + store i32 %suid, i32* %suid.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setrlimit(i32 %resource, %struct.timespec* %rlim) #3 { +entry: + %resource.addr = alloca i32, align 4 + %rlim.addr = alloca %struct.timespec*, align 8 + store i32 %resource, i32* %resource.addr, align 4 + store %struct.timespec* %rlim, %struct.timespec** %rlim.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setrlimit64(i32 %resource, %struct.timespec* %rlim) #3 { +entry: + %resource.addr = alloca i32, align 4 + %rlim.addr = alloca %struct.timespec*, align 8 + store i32 %resource, i32* %resource.addr, align 4 + store %struct.timespec* %rlim, %struct.timespec** %rlim.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setsid() #3 { +entry: + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @settimeofday(%struct.timespec* %tv, %struct.__mbstate_t.512* %tz) #3 { +entry: + %tv.addr = alloca %struct.timespec*, align 8 + %tz.addr = alloca %struct.__mbstate_t.512*, align 8 + store %struct.timespec* %tv, %struct.timespec** %tv.addr, align 8 + store %struct.__mbstate_t.512* %tz, %struct.__mbstate_t.512** %tz.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setuid(i32 %uid) #3 { +entry: + %uid.addr = alloca i32, align 4 + store i32 %uid, i32* %uid.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.10.175, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @reboot(i32 %flag) #3 { +entry: + %flag.addr = alloca i32, align 4 + store i32 %flag, i32* %flag.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mlock(i8* %addr, i64 %len) #3 { +entry: + %addr.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + store i8* %addr, i8** %addr.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @munlock(i8* %addr, i64 %len) #3 { +entry: + %addr.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + store i8* %addr, i8** %addr.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @pause() #3 { +entry: + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i64 @readahead(i32 %fd, i64* %offset, i64 %count) #3 { +entry: + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64*, align 8 + %count.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64* %offset, i64** %offset.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i64 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i8* @mmap(i8* %start, i64 %length, i32 %prot, i32 %flags, i32 %fd, i64 %offset) #3 { +entry: + %start.addr = alloca i8*, align 8 + %length.addr = alloca i64, align 8 + %prot.addr = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + store i8* %start, i8** %start.addr, align 8 + store i64 %length, i64* %length.addr, align 8 + store i32 %prot, i32* %prot.addr, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i8* inttoptr (i64 -1 to i8*) +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i8* @mmap64(i8* %start, i64 %length, i32 %prot, i32 %flags, i32 %fd, i64 %offset) #3 { +entry: + %start.addr = alloca i8*, align 8 + %length.addr = alloca i64, align 8 + %prot.addr = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + store i8* %start, i8** %start.addr, align 8 + store i64 %length, i64* %length.addr, align 8 + store i32 %prot, i32* %prot.addr, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i8* inttoptr (i64 -1 to i8*) +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @munmap(i8* %start, i64 %length) #3 { +entry: + %start.addr = alloca i8*, align 8 + %length.addr = alloca i64, align 8 + store i8* %start, i8** %start.addr, align 8 + store i64 %length, i64* %length.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__locale_mbrtowc_l(i32* noalias %dst, i8* noalias %src, %struct.__uclibc_locale_struct.201* %loc) #0 { +entry: + %retval = alloca i32, align 4 + %dst.addr = alloca i32*, align 8 + %src.addr = alloca i8*, align 8 + %loc.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %ps = alloca %struct.__mbstate_t.512, align 4 + %p = alloca i8*, align 8 + %r = alloca i64, align 8 + %wc = alloca i32, align 4 + store i32* %dst, i32** %dst.addr, align 8 + store i8* %src, i8** %src.addr, align 8 + store %struct.__uclibc_locale_struct.201* %loc, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 9 + %1 = load i8, i8* %encoding, align 8 + %conv = zext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 1 + %2 = load i8*, i8** %src.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i8* %2, i8** %p, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %ps, i32 0, i32 0 + store i32 0, i32* %__mask, align 4 + %3 = load i32*, i32** %dst.addr, align 8 + %call = call i64 @_wchar_utf8sntowcs(i32* %3, i64 1, i8** %p, i64 -1, %struct.__mbstate_t.512* %ps, i32 1) #19 + store i64 %call, i64* %r, align 8 + %4 = load i64, i64* %r, align 8 + %cmp2 = icmp eq i64 %4, 1 + %5 = load i8*, i8** %p, align 8 + %6 = load i8*, i8** %src.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %6 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %7 = load i64, i64* %r, align 8 + %cond = select i1 %cmp2, i64 %sub.ptr.sub, i64 %7 + %conv4 = trunc i64 %cond to i32 + store i32 %conv4, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load i8, i8* %2, align 1 + %conv5 = zext i8 %8 to i32 + %9 = load i32*, i32** %dst.addr, align 8 + store i32 %conv5, i32* %9, align 4 + %cmp6 = icmp slt i32 %conv5, 128 + br i1 %cmp6, label %if.then8, label %if.end12 + +if.then8: ; preds = %if.end + %10 = load i8*, i8** %src.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv9 = sext i8 %11 to i32 + %cmp10 = icmp ne i32 %conv9, 0 + %conv11 = zext i1 %cmp10 to i32 + store i32 %conv11, i32* %retval, align 4 + br label %return + +if.end12: ; preds = %if.end + %12 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %encoding13 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %12, i32 0, i32 9 + %13 = load i8, i8* %encoding13, align 8 + %conv14 = zext i8 %13 to i32 + %cmp15 = icmp eq i32 %conv14, 2 + br i1 %cmp15, label %if.then17, label %if.end24 + +if.then17: ; preds = %if.end12 + %14 = load i32*, i32** %dst.addr, align 8 + %15 = load i32, i32* %14, align 4 + %sub = sub nsw i32 %15, 128 + store i32 %sub, i32* %wc, align 4 + %16 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %tbl8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %16, i32 0, i32 17 + %17 = load i16*, i16** %tbl8c2wc, align 8 + %18 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %idx8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %18, i32 0, i32 16 + %19 = load i8*, i8** %idx8c2wc, align 8 + %20 = load i32, i32* %wc, align 4 + %shr = ashr i32 %20, 3 + %idxprom = sext i32 %shr to i64 + %arrayidx = getelementptr inbounds i8, i8* %19, i64 %idxprom + %21 = load i8, i8* %arrayidx, align 1 + %conv18 = zext i8 %21 to i32 + %shl = shl i32 %conv18, 3 + %22 = load i32, i32* %wc, align 4 + %and = and i32 %22, 7 + %add = add nsw i32 %shl, %and + %idxprom19 = sext i32 %add to i64 + %arrayidx20 = getelementptr inbounds i16, i16* %17, i64 %idxprom19 + %23 = load i16, i16* %arrayidx20, align 2 + %conv21 = zext i16 %23 to i32 + %24 = load i32*, i32** %dst.addr, align 8 + store i32 %conv21, i32* %24, align 4 + %25 = load i32*, i32** %dst.addr, align 8 + %26 = load i32, i32* %25, align 4 + %tobool = icmp ne i32 %26, 0 + br i1 %tobool, label %if.then22, label %if.end24 + +if.then22: ; preds = %if.then17 + store i32 1, i32* %retval, align 4 + br label %return + +if.end24: ; preds = %if.then17, %if.end12 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end24, %if.then22, %if.then8, %if.then + %27 = load i32, i32* %retval, align 4 + ret i32 %27 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__raise(i32 %signo) #0 { +entry: + %signo.addr = alloca i32, align 4 + store i32 %signo, i32* %signo.addr, align 4 + %call = call i32 @getpid() #20 + %0 = load i32, i32* %signo.addr, align 4 + %call1 = call i32 @kill(i32 %call, i32 %0) #20 + ret i32 %call1 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__libc_sigaction(i32 %sig, %struct.sigaction.800* %act, %struct.sigaction.800* %oact) #0 { +entry: + %sig.addr = alloca i32, align 4 + %act.addr = alloca %struct.sigaction.800*, align 8 + %oact.addr = alloca %struct.sigaction.800*, align 8 + %result = alloca i32, align 4 + %kact = alloca %struct.kernel_sigaction, align 8 + %koact = alloca %struct.kernel_sigaction, align 8 + store i32 %sig, i32* %sig.addr, align 4 + store %struct.sigaction.800* %act, %struct.sigaction.800** %act.addr, align 8 + store %struct.sigaction.800* %oact, %struct.sigaction.800** %oact.addr, align 8 + %0 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %tobool = icmp ne %struct.sigaction.800* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %__sigaction_handler = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %1, i32 0, i32 0 + %sa_handler = bitcast %union.anon.799* %__sigaction_handler to void (i32)** + %2 = load void (i32)*, void (i32)** %sa_handler, align 8 + %k_sa_handler = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 0 + store void (i32)* %2, void (i32)** %k_sa_handler, align 8 + %sa_mask = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 3 + %3 = bitcast %struct.fd_set* %sa_mask to i8* + %4 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %sa_mask1 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %4, i32 0, i32 1 + %5 = bitcast %struct.fd_set* %sa_mask1 to i8* + %call = call i8* @memcpy(i8* %3, i8* %5, i64 128) #20 + %6 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %sa_flags = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %6, i32 0, i32 2 + %7 = load i32, i32* %sa_flags, align 8 + %conv = sext i32 %7 to i64 + %sa_flags2 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 1 + store i64 %conv, i64* %sa_flags2, align 8 + %8 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %sa_restorer = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %8, i32 0, i32 3 + %9 = load void ()*, void ()** %sa_restorer, align 8 + %sa_restorer3 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 2 + store void ()* %9, void ()** %sa_restorer3, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %10 = load i32, i32* %sig.addr, align 4 + %11 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %tobool4 = icmp ne %struct.sigaction.800* %11, null + %kact. = select i1 %tobool4, %struct.kernel_sigaction* %kact, %struct.kernel_sigaction* null + %12 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %tobool5 = icmp ne %struct.sigaction.800* %12, null + %cond9 = select i1 %tobool5, %struct.kernel_sigaction* %koact, %struct.kernel_sigaction* null + %call10 = call i32 bitcast (i32 (i32, %struct.sigaction.800*, %struct.sigaction.800*, i64)* @__syscall_rt_sigaction to i32 (i32, %struct.kernel_sigaction*, %struct.kernel_sigaction*, i64)*)(i32 %10, %struct.kernel_sigaction* %kact., %struct.kernel_sigaction* %cond9, i64 8) #19 + store i32 %call10, i32* %result, align 4 + %13 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %tobool11 = icmp ne %struct.sigaction.800* %13, null + %14 = load i32, i32* %result, align 4 + %cmp = icmp sge i32 %14, 0 + %or.cond = and i1 %tobool11, %cmp + br i1 %or.cond, label %if.then13, label %if.end25 + +if.then13: ; preds = %if.end + %k_sa_handler14 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 0 + %15 = load void (i32)*, void (i32)** %k_sa_handler14, align 8 + %16 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %__sigaction_handler15 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %16, i32 0, i32 0 + %sa_handler16 = bitcast %union.anon.799* %__sigaction_handler15 to void (i32)** + store void (i32)* %15, void (i32)** %sa_handler16, align 8 + %17 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %sa_mask17 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %17, i32 0, i32 1 + %18 = bitcast %struct.fd_set* %sa_mask17 to i8* + %sa_mask18 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 3 + %19 = bitcast %struct.fd_set* %sa_mask18 to i8* + %call19 = call i8* @memcpy(i8* %18, i8* %19, i64 128) #20 + %sa_flags20 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 1 + %20 = load i64, i64* %sa_flags20, align 8 + %conv21 = trunc i64 %20 to i32 + %21 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %sa_flags22 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %21, i32 0, i32 2 + store i32 %conv21, i32* %sa_flags22, align 8 + %sa_restorer23 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 2 + %22 = load void ()*, void ()** %sa_restorer23, align 8 + %23 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %sa_restorer24 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %23, i32 0, i32 3 + store void ()* %22, void ()** %sa_restorer24, align 8 + br label %if.end25 + +if.end25: ; preds = %if.then13, %if.end + %24 = load i32, i32* %result, align 4 + ret i32 %24 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__sigismember(%struct.fd_set* %__set, i32 %__sig) #0 { +entry: + %__set.addr = alloca %struct.fd_set*, align 8 + %__sig.addr = alloca i32, align 4 + %__mask = alloca i64, align 8 + %__word = alloca i64, align 8 + store %struct.fd_set* %__set, %struct.fd_set** %__set.addr, align 8 + store i32 %__sig, i32* %__sig.addr, align 4 + %0 = load i32, i32* %__sig.addr, align 4 + %sub = sub nsw i32 %0, 1 + %conv = sext i32 %sub to i64 + %rem = urem i64 %conv, 64 + %shl = shl i64 1, %rem + store i64 %shl, i64* %__mask, align 8 + %1 = load i32, i32* %__sig.addr, align 4 + %sub1 = sub nsw i32 %1, 1 + %conv2 = sext i32 %sub1 to i64 + %div = udiv i64 %conv2, 64 + store i64 %div, i64* %__word, align 8 + %2 = load %struct.fd_set*, %struct.fd_set** %__set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %2, i32 0, i32 0 + %3 = load i64, i64* %__word, align 8 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 %3 + %4 = load i64, i64* %arrayidx, align 8 + %5 = load i64, i64* %__mask, align 8 + %and = and i64 %4, %5 + %tobool = icmp ne i64 %and, 0 + %6 = zext i1 %tobool to i64 + %cond = select i1 %tobool, i32 1, i32 0 + ret i32 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__sigaddset(%struct.fd_set* %__set, i32 %__sig) #0 { +entry: + %__set.addr = alloca %struct.fd_set*, align 8 + %__sig.addr = alloca i32, align 4 + %__mask = alloca i64, align 8 + %__word = alloca i64, align 8 + store %struct.fd_set* %__set, %struct.fd_set** %__set.addr, align 8 + store i32 %__sig, i32* %__sig.addr, align 4 + %0 = load i32, i32* %__sig.addr, align 4 + %sub = sub nsw i32 %0, 1 + %conv = sext i32 %sub to i64 + %rem = urem i64 %conv, 64 + %shl = shl i64 1, %rem + store i64 %shl, i64* %__mask, align 8 + %1 = load i32, i32* %__sig.addr, align 4 + %sub1 = sub nsw i32 %1, 1 + %conv2 = sext i32 %sub1 to i64 + %div = udiv i64 %conv2, 64 + store i64 %div, i64* %__word, align 8 + %2 = load i64, i64* %__mask, align 8 + %3 = load %struct.fd_set*, %struct.fd_set** %__set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %3, i32 0, i32 0 + %4 = load i64, i64* %__word, align 8 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 %4 + %5 = load i64, i64* %arrayidx, align 8 + %or = or i64 %5, %2 + store i64 %or, i64* %arrayidx, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__sigdelset(%struct.fd_set* %__set, i32 %__sig) #0 { +entry: + %__set.addr = alloca %struct.fd_set*, align 8 + %__sig.addr = alloca i32, align 4 + %__mask = alloca i64, align 8 + %__word = alloca i64, align 8 + store %struct.fd_set* %__set, %struct.fd_set** %__set.addr, align 8 + store i32 %__sig, i32* %__sig.addr, align 4 + %0 = load i32, i32* %__sig.addr, align 4 + %sub = sub nsw i32 %0, 1 + %conv = sext i32 %sub to i64 + %rem = urem i64 %conv, 64 + %shl = shl i64 1, %rem + store i64 %shl, i64* %__mask, align 8 + %1 = load i32, i32* %__sig.addr, align 4 + %sub1 = sub nsw i32 %1, 1 + %conv2 = sext i32 %sub1 to i64 + %div = udiv i64 %conv2, 64 + store i64 %div, i64* %__word, align 8 + %2 = load i64, i64* %__mask, align 8 + %neg = xor i64 %2, -1 + %3 = load %struct.fd_set*, %struct.fd_set** %__set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %3, i32 0, i32 0 + %4 = load i64, i64* %__word, align 8 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 %4 + %5 = load i64, i64* %arrayidx, align 8 + %and = and i64 %5, %neg + store i64 %and, i64* %arrayidx, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %bufsize = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 5 + %1 = load i8*, i8** %__bufpos, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 3 + %3 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %1 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %3 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %bufsize, align 8 + %cmp = icmp ne i64 %sub.ptr.sub, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 3 + %5 = load i8*, i8** %__bufstart1, align 8 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 5 + store i8* %5, i8** %__bufpos2, align 8 + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart3 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 3 + %9 = load i8*, i8** %__bufstart3, align 8 + %10 = load i64, i64* %bufsize, align 8 + %call = call i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %7, i8* %9, i64 %10) #19 + br label %if.end + +if.end: ; preds = %if.then, %entry + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos4 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 5 + %12 = load i8*, i8** %__bufpos4, align 8 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart5 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 3 + %14 = load i8*, i8** %__bufstart5, align 8 + %sub.ptr.lhs.cast6 = ptrtoint i8* %12 to i64 + %sub.ptr.rhs.cast7 = ptrtoint i8* %14 to i64 + %sub.ptr.sub8 = sub i64 %sub.ptr.lhs.cast6, %sub.ptr.rhs.cast7 + ret i64 %sub.ptr.sub8 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__fgetc_unlocked(%struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %uc = alloca i8, align 1 + %uc56 = alloca i8, align 1 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 5 + %1 = load i8*, i8** %__bufpos, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 7 + %3 = load i8*, i8** %__bufgetc_u, align 8 + %cmp = icmp ult i8* %1, %3 + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 5 + %5 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + %6 = load i8, i8* %5, align 1 + %conv = zext i8 %6 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 0 + %7 = load i16, i16* %__modeflags, align 8 + %conv2 = zext i16 %7 to i32 + %and = and i32 %conv2, 131 + %cmp3 = icmp ugt i32 %and, 128 + br i1 %cmp3, label %if.then5, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2r_o(%struct.__STDIO_FILE_STRUCT.568* %8, i32 128) #19 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end63, label %if.then5 + +if.then5: ; preds = %lor.lhs.false, %if.end + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %9, i32 0, i32 0 + %10 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %10 to i32 + %and8 = and i32 %conv7, 2 + %tobool9 = icmp ne i32 %and8, 0 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %tobool9, label %if.then10, label %if.end18 + +if.then10: ; preds = %if.then5 + %__ungot = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 10 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags11 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags11, align 8 + %dec = add i16 %13, -1 + store i16 %dec, i16* %__modeflags11, align 8 + %conv12 = zext i16 %13 to i32 + %and13 = and i32 %conv12, 1 + %idxprom = sext i32 %and13 to i64 + %arrayidx = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot, i64 0, i64 %idxprom + %14 = load i32, i32* %arrayidx, align 4 + %conv14 = trunc i32 %14 to i8 + store i8 %conv14, i8* %uc, align 1 + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__ungot15 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 10 + %arrayidx16 = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot15, i64 0, i64 1 + store i32 0, i32* %arrayidx16, align 4 + %16 = load i8, i8* %uc, align 1 + %conv17 = zext i8 %16 to i32 + store i32 %conv17, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %if.then5 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 6 + %17 = load i8*, i8** %__bufread, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos19 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 5 + %19 = load i8*, i8** %__bufpos19, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %17 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool20 = icmp ne i64 %sub.ptr.sub, 0 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %tobool20, label %if.then21, label %if.end25 + +if.then21: ; preds = %if.end18 + %__bufpos22 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 5 + %21 = load i8*, i8** %__bufpos22, align 8 + %incdec.ptr23 = getelementptr inbounds i8, i8* %21, i32 1 + store i8* %incdec.ptr23, i8** %__bufpos22, align 8 + %22 = load i8, i8* %21, align 1 + %conv24 = zext i8 %22 to i32 + store i32 %conv24, i32* %retval, align 4 + br label %return + +if.end25: ; preds = %if.end18 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 2 + %23 = load i32, i32* %__filedes, align 4 + %cmp26 = icmp eq i32 %23, -2 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags29 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 0 + %25 = load i16, i16* %__modeflags29, align 8 + %conv30 = zext i16 %25 to i32 + br i1 %cmp26, label %if.then28, label %if.end32 + +if.then28: ; preds = %if.end25 + %or = or i32 %conv30, 4 + %conv31 = trunc i32 %or to i16 + store i16 %conv31, i16* %__modeflags29, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end32: ; preds = %if.end25 + %and35 = and i32 %conv30, 768 + %tobool36 = icmp ne i32 %and35, 0 + br i1 %tobool36, label %if.then37, label %if.end39 + +if.then37: ; preds = %if.end32 + %call38 = call i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.568* bitcast (%struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist to %struct.__STDIO_FILE_STRUCT.568*)) #19 + br label %if.end39 + +if.end39: ; preds = %if.then37, %if.end32 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 4 + %27 = load i8*, i8** %__bufend, align 8 + %28 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %28, i32 0, i32 3 + %29 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast40 = ptrtoint i8* %27 to i64 + %sub.ptr.rhs.cast41 = ptrtoint i8* %29 to i64 + %sub.ptr.sub42 = sub i64 %sub.ptr.lhs.cast40, %sub.ptr.rhs.cast41 + %tobool43 = icmp ne i64 %sub.ptr.sub42, 0 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %tobool43, label %if.then44, label %if.else + +if.then44: ; preds = %if.end39 + %__bufstart45 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %30, i32 0, i32 3 + %31 = load i8*, i8** %__bufstart45, align 8 + %32 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u46 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %32, i32 0, i32 7 + store i8* %31, i8** %__bufgetc_u46, align 8 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call47 = call i64 @__stdio_rfill(%struct.__STDIO_FILE_STRUCT.568* %33) #19 + %tobool48 = icmp ne i64 %call47, 0 + br i1 %tobool48, label %if.then49, label %if.end63 + +if.then49: ; preds = %if.then44 + %34 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread50 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %34, i32 0, i32 6 + %35 = load i8*, i8** %__bufread50, align 8 + %36 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u51 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %36, i32 0, i32 7 + store i8* %35, i8** %__bufgetc_u51, align 8 + %37 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos52 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %37, i32 0, i32 5 + %38 = load i8*, i8** %__bufpos52, align 8 + %incdec.ptr53 = getelementptr inbounds i8, i8* %38, i32 1 + store i8* %incdec.ptr53, i8** %__bufpos52, align 8 + %39 = load i8, i8* %38, align 1 + %conv54 = zext i8 %39 to i32 + store i32 %conv54, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.end39 + %call57 = call i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.568* %30, i8* %uc56, i64 1) #19 + %tobool58 = icmp ne i64 %call57, 0 + br i1 %tobool58, label %if.then59, label %if.end63 + +if.then59: ; preds = %if.else + %40 = load i8, i8* %uc56, align 1 + %conv60 = zext i8 %40 to i32 + store i32 %conv60, i32* %retval, align 4 + br label %return + +if.end63: ; preds = %if.then44, %if.else, %lor.lhs.false + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end63, %if.then59, %if.then49, %if.then28, %if.then21, %if.then10, %if.then + %41 = load i32, i32* %retval, align 4 + ret i32 %41 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @sprintf(i8* noalias %buf, i8* noalias %format, ...) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %format.addr = alloca i8*, align 8 + %arg = alloca [1 x %struct.__va_list_tag.0], align 16 + %rv = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load i8*, i8** %buf.addr, align 8 + %1 = load i8*, i8** %format.addr, align 8 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %call = call i32 @vsnprintf(i8* %0, i64 -1, i8* %1, %struct.__va_list_tag.0* %arraydecay2) #20 + store i32 %call, i32* %rv, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + %2 = load i32, i32* %rv, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @strcmp(i8* nonnull %s1, i8* nonnull %s2) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %r = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + br label %while.cond + +while.cond: ; preds = %land.rhs, %entry + %0 = load i8*, i8** %s1.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = zext i8 %1 to i32 + %2 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %2, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %3 = load i8, i8* %2, align 1 + %conv1 = zext i8 %3 to i32 + %sub = sub nsw i32 %conv, %conv1 + store i32 %sub, i32* %r, align 4 + %cmp = icmp eq i32 %sub, 0 + br i1 %cmp, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %4 = load i8*, i8** %s1.addr, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr3, i8** %s1.addr, align 8 + %5 = load i8, i8* %4, align 1 + %conv4 = sext i8 %5 to i32 + %tobool = icmp ne i32 %conv4, 0 + br i1 %tobool, label %while.cond, label %while.end + +while.end: ; preds = %while.cond, %land.rhs + %6 = load i32, i32* %r, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i64 @strlen(i8* nonnull %s) #14 { +entry: + %s.addr = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load i8*, i8** %p, align 8 + %2 = load i8, i8* %1, align 1 + %tobool = icmp ne i8 %2, 0 + %3 = load i8*, i8** %p, align 8 + br i1 %tobool, label %for.inc, label %for.end + +for.inc: ; preds = %for.cond + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %4 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %3 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %4 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @strncmp(i8* nonnull %s1, i8* nonnull %s2, i64 %n) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i32 0, i32* %r, align 4 + br label %while.cond + +while.cond: ; preds = %land.rhs, %entry + %0 = load i64, i64* %n.addr, align 8 + %dec = add i64 %0, -1 + store i64 %dec, i64* %n.addr, align 8 + %tobool = icmp ne i64 %0, 0 + br i1 %tobool, label %land.lhs.true, label %while.end + +land.lhs.true: ; preds = %while.cond + %1 = load i8*, i8** %s1.addr, align 8 + %2 = load i8, i8* %1, align 1 + %conv = zext i8 %2 to i32 + %3 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %4 = load i8, i8* %3, align 1 + %conv1 = zext i8 %4 to i32 + %sub = sub nsw i32 %conv, %conv1 + store i32 %sub, i32* %r, align 4 + %cmp = icmp eq i32 %sub, 0 + br i1 %cmp, label %land.rhs, label %while.end + +land.rhs: ; preds = %land.lhs.true + %5 = load i8*, i8** %s1.addr, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr3, i8** %s1.addr, align 8 + %6 = load i8, i8* %5, align 1 + %conv4 = sext i8 %6 to i32 + %tobool5 = icmp ne i32 %conv4, 0 + br i1 %tobool5, label %while.cond, label %while.end + +while.end: ; preds = %while.cond, %land.lhs.true, %land.rhs + %7 = load i32, i32* %r, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @isatty(i32 %fd) #0 { +entry: + %fd.addr = alloca i32, align 4 + %term = alloca %struct.termios, align 4 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 @tcgetattr(i32 %0, %struct.termios* %term) #20 + %cmp = icmp eq i32 %call, 0 + %conv = zext i1 %cmp to i32 + ret i32 %conv +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @open64(i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i8*, i8** %pathname.addr, align 8 + %8 = load i32, i32* %flags.addr, align 4 + %9 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_open(i8* %7, i32 %8, i32 %9) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @openat64(i32 %fd, i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %fd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i32, i32* %fd.addr, align 4 + %8 = load i8*, i8** %pathname.addr, align 8 + %9 = load i32, i32* %flags.addr, align 4 + %10 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_openat(i32 %7, i8* %8, i32 %9, i32 %10) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @lseek64(i32 %fd, i64 %offset, i32 %whence) #3 { +entry: + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %offset.addr, align 8 + %2 = load i32, i32* %whence.addr, align 4 + %call = call i64 @__fd_lseek(i32 %0, i64 %1, i32 %2) + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__xstat64(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @stat64(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__lxstat64(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @lstat64(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fxstat64(i32 %vers, i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %vers, i32* %vers.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstat64(i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @ftruncate64(i32 %fd, i64 %length) #3 { +entry: + %fd.addr = alloca i32, align 4 + %length.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %length, i64* %length.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %length.addr, align 8 + %call = call i32 @__fd_ftruncate(i32 %0, i64 %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @statfs64(i8* nonnull %path, %struct.statfs* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.statfs*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.statfs* %buf, %struct.statfs** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.statfs*, %struct.statfs** %buf.addr, align 8 + %call = call i32 @__fd_statfs(i8* %0, %struct.statfs* %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @getdents64(i32 %fd, i8* nonnull %dirp, i64 %count) #3 { +entry: + %fd.addr = alloca i32, align 4 + %dirp.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %dirp, i8** %dirp.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i8*, i8** %dirp.addr, align 8 + %2 = bitcast i8* %1 to %struct.dirent64* + %3 = load i64, i64* %count.addr, align 8 + %conv = trunc i64 %3 to i32 + %call = call i32 @__fd_getdents(i32 %0, %struct.dirent64* %2, i32 %conv) + %conv1 = sext i32 %call to i64 + ret i64 %conv1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @kill(i32 %pid, i32 %sig) #3 { +entry: + %pid.addr = alloca i32, align 4 + %sig.addr = alloca i32, align 4 + store i32 %pid, i32* %pid.addr, align 4 + store i32 %sig, i32* %sig.addr, align 4 + call void @gs_warning.215(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.214, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @gs_warning.215(i8* %message) #3 { +entry: + %message.addr = alloca i8*, align 8 + store i8* %message, i8** %message.addr, align 8 + %0 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %0) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.7.216, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind returns_twice uwtable +define weak dso_local i32 @_setjmp(%struct.__jmp_buf_tag* %__env) #17 { +entry: + %__env.addr = alloca %struct.__jmp_buf_tag*, align 8 + store %struct.__jmp_buf_tag* %__env, %struct.__jmp_buf_tag** %__env.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1.217, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline noreturn nounwind uwtable +define dso_local void @longjmp(%struct.__jmp_buf_tag* %env, i32 %val) #6 { +entry: + %env.addr = alloca %struct.__jmp_buf_tag*, align 8 + %val.addr = alloca i32, align 4 + store %struct.__jmp_buf_tag* %env, %struct.__jmp_buf_tag** %env.addr, align 8 + store i32 %val, i32* %val.addr, align 4 + call void @gs_report_error.221(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.2.218, i64 0, i64 0), i32 37, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.3.219, i64 0, i64 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.4.220, i64 0, i64 0)) #25 + unreachable +} + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error.221(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.7.216, i64 0, i64 0)) + call void @stop(i32 -1) #25 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execl(i8* nonnull %path, i8* nonnull %arg, ...) #3 { +entry: + %path.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + call void @gs_warning.215(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.222, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execlp(i8* nonnull %file, i8* nonnull %arg, ...) #3 { +entry: + %file.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + call void @gs_warning.215(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.222, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execle(i8* nonnull %path, i8* nonnull %arg, ...) #3 { +entry: + %path.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + call void @gs_warning.215(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.222, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execv(i8* nonnull %path, i8** nonnull %argv) #3 { +entry: + %path.addr = alloca i8*, align 8 + %argv.addr = alloca i8**, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + call void @gs_warning.215(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.222, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execvp(i8* nonnull %file, i8** nonnull %argv) #3 { +entry: + %file.addr = alloca i8*, align 8 + %argv.addr = alloca i8**, align 8 + store i8* %file, i8** %file.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + call void @gs_warning.215(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.222, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execve(i8* nonnull %file, i8** nonnull %argv, i8** %envp) #3 { +entry: + %file.addr = alloca i8*, align 8 + %argv.addr = alloca i8**, align 8 + %envp.addr = alloca i8**, align 8 + store i8* %file, i8** %file.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + store i8** %envp, i8*** %envp.addr, align 8 + call void @gs_warning.215(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.222, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fork() #3 { +entry: + call void @gs_warning.215(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.6.223, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 12, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind returns_twice uwtable +define dso_local i32 @vfork() #17 { +entry: + %call = call i32 @fork() #11 + ret i32 %call +} + +; Function Attrs: noinline nounwind readnone uwtable +define i16** @__ctype_b_loc() #12 { +entry: + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 0 + ret i16** %__ctype_b +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @__error(i32 %status, i32 %errnum, i8* %message, ...) #0 { +entry: + %status.addr = alloca i32, align 4 + %errnum.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %args = alloca [1 x %struct.__va_list_tag.0], align 16 + %__S = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %tmp = alloca i32, align 4 + store i32 %status, i32* %status.addr, align 4 + store i32 %errnum, i32* %errnum.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdout, align 8 + %call = call i32 @fflush(%struct.__STDIO_FILE_STRUCT.568* %0) #19 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %2 = load i8*, i8** %message.addr, align 8 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %call3 = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %1, i8* %2, %struct.__va_list_tag.0* %arraydecay2) #19 + %arraydecay4 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay45 = bitcast %struct.__va_list_tag.0* %arraydecay4 to i8* + call void @llvm.va_end(i8* %arraydecay45) + %3 = load i32, i32* @error_message_count, align 4 + %inc = add i32 %3, 1 + store i32 %inc, i32* @error_message_count, align 4 + %4 = load i32, i32* %errnum.addr, align 4 + %tobool = icmp ne i32 %4, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %6 = load i32, i32* %errnum.addr, align 4 + %call6 = call i8* @strerror(i32 %6) #20 + %call7 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %5, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.226, i64 0, i64 0), i8* %call6) #19 + br label %if.end + +if.end: ; preds = %if.then, %entry + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %7, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 5 + %9 = load i8*, i8** %__bufpos, align 8 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 8 + %11 = load i8*, i8** %__bufputc_u, align 8 + %cmp = icmp ult i8* %9, %11 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %if.end + %__bufpos8 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 5 + %13 = load i8*, i8** %__bufpos8, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %13, i32 1 + store i8* %incdec.ptr, i8** %__bufpos8, align 8 + store i8 10, i8* %13, align 1 + br label %cond.end + +cond.false: ; preds = %if.end + %call9 = call i32 @__fputc_unlocked(i32 10, %struct.__STDIO_FILE_STRUCT.568* %12) #19 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ 10, %cond.true ], [ %call9, %cond.false ] + store i32 %cond, i32* %tmp, align 4 + %14 = load i32, i32* %tmp, align 4 + %15 = load i32, i32* %status.addr, align 4 + %tobool10 = icmp ne i32 %15, 0 + br i1 %tobool10, label %if.then11, label %if.end12 + +if.then11: ; preds = %cond.end + %16 = load i32, i32* %status.addr, align 4 + call void @exit(i32 %16) #23 + unreachable + +if.end12: ; preds = %cond.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @__error_at_line(i32 %status, i32 %errnum, i8* %file_name, i32 %line_number, i8* %message, ...) #0 { +entry: + %status.addr = alloca i32, align 4 + %errnum.addr = alloca i32, align 4 + %file_name.addr = alloca i8*, align 8 + %line_number.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %args = alloca [1 x %struct.__va_list_tag.0], align 16 + %__S = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %tmp = alloca i32, align 4 + store i32 %status, i32* %status.addr, align 4 + store i32 %errnum, i32* %errnum.addr, align 4 + store i8* %file_name, i8** %file_name.addr, align 8 + store i32 %line_number, i32* %line_number.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + %0 = load i32, i32* @error_one_per_line, align 4 + %tobool = icmp ne i32 %0, 0 + br i1 %tobool, label %if.then, label %if.end4 + +if.then: ; preds = %entry + %1 = load i32, i32* @__error_at_line.old_line_number, align 4 + %2 = load i32, i32* %line_number.addr, align 4 + %cmp = icmp eq i32 %1, %2 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %if.then + %3 = load i8*, i8** %file_name.addr, align 8 + %4 = load i8*, i8** @__error_at_line.old_file_name, align 8 + %cmp1 = icmp eq i8* %3, %4 + br i1 %cmp1, label %if.end25, label %lor.lhs.false + +lor.lhs.false: ; preds = %land.lhs.true + %5 = load i8*, i8** @__error_at_line.old_file_name, align 8 + %6 = load i8*, i8** %file_name.addr, align 8 + %call = call i32 @strcmp(i8* %5, i8* %6) #21 + %tobool2 = icmp ne i32 %call, 0 + br i1 %tobool2, label %if.end, label %if.end25 + +if.end: ; preds = %lor.lhs.false, %if.then + %7 = load i8*, i8** %file_name.addr, align 8 + store i8* %7, i8** @__error_at_line.old_file_name, align 8 + %8 = load i32, i32* %line_number.addr, align 4 + store i32 %8, i32* @__error_at_line.old_line_number, align 4 + br label %if.end4 + +if.end4: ; preds = %if.end, %entry + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdout, align 8 + %call5 = call i32 @fflush(%struct.__STDIO_FILE_STRUCT.568* %9) #19 + %10 = load i8*, i8** %file_name.addr, align 8 + %cmp6 = icmp ne i8* %10, null + br i1 %cmp6, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end4 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %12 = load i8*, i8** %file_name.addr, align 8 + %13 = load i32, i32* %line_number.addr, align 4 + %call8 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %11, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1.227, i64 0, i64 0), i8* %12, i32 %13) #19 + br label %if.end9 + +if.end9: ; preds = %if.then7, %if.end4 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay10 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay10) + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %15 = load i8*, i8** %message.addr, align 8 + %arraydecay11 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %call12 = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %14, i8* %15, %struct.__va_list_tag.0* %arraydecay11) #19 + %arraydecay13 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay1314 = bitcast %struct.__va_list_tag.0* %arraydecay13 to i8* + call void @llvm.va_end(i8* %arraydecay1314) + %16 = load i32, i32* @error_message_count, align 4 + %inc = add i32 %16, 1 + store i32 %inc, i32* @error_message_count, align 4 + %17 = load i32, i32* %errnum.addr, align 4 + %tobool15 = icmp ne i32 %17, 0 + br i1 %tobool15, label %if.then16, label %if.end19 + +if.then16: ; preds = %if.end9 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %19 = load i32, i32* %errnum.addr, align 4 + %call17 = call i8* @strerror(i32 %19) #20 + %call18 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %18, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.226, i64 0, i64 0), i8* %call17) #19 + br label %if.end19 + +if.end19: ; preds = %if.then16, %if.end9 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %20, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %21 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %21, i32 0, i32 5 + %22 = load i8*, i8** %__bufpos, align 8 + %23 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %23, i32 0, i32 8 + %24 = load i8*, i8** %__bufputc_u, align 8 + %cmp20 = icmp ult i8* %22, %24 + %25 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + br i1 %cmp20, label %cond.true, label %cond.false + +cond.true: ; preds = %if.end19 + %__bufpos21 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %25, i32 0, i32 5 + %26 = load i8*, i8** %__bufpos21, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %26, i32 1 + store i8* %incdec.ptr, i8** %__bufpos21, align 8 + store i8 10, i8* %26, align 1 + br label %cond.end + +cond.false: ; preds = %if.end19 + %call22 = call i32 @__fputc_unlocked(i32 10, %struct.__STDIO_FILE_STRUCT.568* %25) #19 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ 10, %cond.true ], [ %call22, %cond.false ] + store i32 %cond, i32* %tmp, align 4 + %27 = load i32, i32* %tmp, align 4 + %28 = load i32, i32* %status.addr, align 4 + %tobool23 = icmp ne i32 %28, 0 + br i1 %tobool23, label %if.then24, label %if.end25 + +if.then24: ; preds = %cond.end + %29 = load i32, i32* %status.addr, align 4 + call void @exit(i32 %29) #23 + unreachable + +if.end25: ; preds = %land.lhs.true, %lor.lhs.false, %cond.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i8* @nl_langinfo(i32 %item) #0 { +entry: + %item.addr = alloca i32, align 4 + store i32 %item, i32* %item.addr, align 4 + %0 = load i32, i32* %item.addr, align 4 + %1 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %call = call i8* @nl_langinfo_l(i32 %0, %struct.__uclibc_locale_struct.201* %1) #19 + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define i8* @setlocale(i32 %category, i8* %locale) #0 { +entry: + %retval = alloca i8*, align 8 + %category.addr = alloca i32, align 4 + %locale.addr = alloca i8*, align 8 + store i32 %category, i32* %category.addr, align 4 + store i8* %locale, i8** %locale.addr, align 8 + %0 = load i32, i32* %category.addr, align 4 + %cmp = icmp ugt i32 %0, 6 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %locale.addr, align 8 + %cmp1 = icmp ne i8* %1, null + br i1 %cmp1, label %if.then2, label %if.end5 + +if.then2: ; preds = %if.end + %2 = load i32, i32* %category.addr, align 4 + %shl = shl i32 1, %2 + %3 = load i8*, i8** %locale.addr, align 8 + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__global_locale, align 8 + %call = call %struct.__uclibc_locale_struct.201* @newlocale(i32 %shl, i8* %3, %struct.__uclibc_locale_struct.201* %4) #20 + %tobool = icmp ne %struct.__uclibc_locale_struct.201* %call, null + br i1 %tobool, label %if.end4, label %if.then3 + +if.then3: ; preds = %if.then2 + store i8* null, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %if.then2 + %5 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__global_locale, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %5, i32 0, i32 6 + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + call void @update_hr_locale(i8* %arraydecay) #19 + br label %if.end5 + +if.end5: ; preds = %if.end4, %if.end + %6 = load i32, i32* %category.addr, align 4 + %mul = mul nsw i32 %6, 32 + %idx.ext = sext i32 %mul to i64 + %add.ptr = getelementptr inbounds i8, i8* getelementptr inbounds ([448 x i8], [448 x i8]* @hr_locale, i64 0, i64 0), i64 %idx.ext + store i8* %add.ptr, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %7 = load i8*, i8** %retval, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @update_hr_locale(i8* %spec) #0 { +entry: + %spec.addr = alloca i8*, align 8 + %loc = alloca i8*, align 8 + %s = alloca i8*, align 8 + %n = alloca i8*, align 8 + %i = alloca i32, align 4 + %category = alloca i32, align 4 + %done = alloca i32, align 4 + %at = alloca i8, align 1 + %q = alloca i8*, align 8 + store i8* %spec, i8** %spec.addr, align 8 + store i32 0, i32* %category, align 4 + store i32 0, i32* %done, align 4 + br label %do.body + +do.body: ; preds = %do.end127, %entry + %0 = load i8*, i8** %spec.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %0, i64 1 + store i8* %add.ptr, i8** %s, align 8 + %1 = load i32, i32* %category, align 4 + %mul = mul nsw i32 %1, 32 + %idx.ext = sext i32 %mul to i64 + %add.ptr1 = getelementptr inbounds i8, i8* getelementptr inbounds ([448 x i8], [448 x i8]* @hr_locale, i64 0, i64 0), i64 %idx.ext + store i8* %add.ptr1, i8** %n, align 8 + %2 = load i32, i32* %category, align 4 + %cmp = icmp eq i32 %2, 6 + br i1 %cmp, label %if.then, label %SKIP + +if.then: ; preds = %do.body + store i32 1, i32* %done, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.then + %3 = load i32, i32* %i, align 4 + %cmp2 = icmp slt i32 %3, 5 + br i1 %cmp2, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %4 = load i8*, i8** %s, align 8 + %5 = load i32, i32* %i, align 4 + %idxprom = sext i32 %5 to i64 + %arrayidx = getelementptr inbounds i8, i8* %4, i64 %idxprom + %6 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %6 to i32 + %7 = load i8*, i8** %s, align 8 + %8 = load i32, i32* %i, align 4 + %add = add nsw i32 %8, 2 + %idxprom3 = sext i32 %add to i64 + %arrayidx4 = getelementptr inbounds i8, i8* %7, i64 %idxprom3 + %9 = load i8, i8* %arrayidx4, align 1 + %conv5 = zext i8 %9 to i32 + %cmp6 = icmp ne i32 %conv, %conv5 + br i1 %cmp6, label %SKIP, label %lor.lhs.false + +lor.lhs.false: ; preds = %for.body + %10 = load i8*, i8** %s, align 8 + %11 = load i32, i32* %i, align 4 + %add8 = add nsw i32 %11, 1 + %idxprom9 = sext i32 %add8 to i64 + %arrayidx10 = getelementptr inbounds i8, i8* %10, i64 %idxprom9 + %12 = load i8, i8* %arrayidx10, align 1 + %conv11 = zext i8 %12 to i32 + %13 = load i8*, i8** %s, align 8 + %14 = load i32, i32* %i, align 4 + %add12 = add nsw i32 %14, 3 + %idxprom13 = sext i32 %add12 to i64 + %arrayidx14 = getelementptr inbounds i8, i8* %13, i64 %idxprom13 + %15 = load i8, i8* %arrayidx14, align 1 + %conv15 = zext i8 %15 to i32 + %cmp16 = icmp ne i32 %conv11, %conv15 + br i1 %cmp16, label %SKIP, label %for.inc + +for.inc: ; preds = %lor.lhs.false + %16 = load i32, i32* %i, align 4 + %add19 = add nsw i32 %16, 2 + store i32 %add19, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + store i32 0, i32* %category, align 4 + br label %SKIP + +SKIP: ; preds = %do.body, %for.end, %for.body, %lor.lhs.false + %17 = load i32, i32* %category, align 4 + %cmp21 = icmp eq i32 %17, 6 + %18 = load i32, i32* %category, align 4 + %cond = select i1 %cmp21, i32 0, i32 %18 + store i32 %cond, i32* %i, align 4 + %19 = load i32, i32* %i, align 4 + %mul23 = mul nsw i32 2, %19 + %20 = load i8*, i8** %s, align 8 + %idx.ext24 = sext i32 %mul23 to i64 + %add.ptr25 = getelementptr inbounds i8, i8* %20, i64 %idx.ext24 + store i8* %add.ptr25, i8** %s, align 8 + br label %do.body26 + +do.body26: ; preds = %if.end122, %SKIP + %21 = load i8*, i8** %s, align 8 + %22 = load i8, i8* %21, align 1 + %conv27 = zext i8 %22 to i32 + %cmp28 = icmp ne i32 %conv27, 255 + br i1 %cmp28, label %if.then35, label %lor.lhs.false30 + +lor.lhs.false30: ; preds = %do.body26 + %23 = load i8*, i8** %s, align 8 + %arrayidx31 = getelementptr inbounds i8, i8* %23, i64 1 + %24 = load i8, i8* %arrayidx31, align 1 + %conv32 = zext i8 %24 to i32 + %cmp33 = icmp ne i32 %conv32, 255 + br i1 %cmp33, label %if.then35, label %if.end122 + +if.then35: ; preds = %lor.lhs.false30, %do.body26 + %25 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %25, i32 0, i32 31 + %arraydecay = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales, i64 0, i64 0 + %26 = load i8*, i8** %s, align 8 + %27 = load i8, i8* %26, align 1 + %conv36 = zext i8 %27 to i32 + %and = and i32 %conv36, 127 + %shl = shl i32 %and, 7 + %28 = load i8*, i8** %s, align 8 + %arrayidx37 = getelementptr inbounds i8, i8* %28, i64 1 + %29 = load i8, i8* %arrayidx37, align 1 + %conv38 = zext i8 %29 to i32 + %and39 = and i32 %conv38, 127 + %add40 = add nsw i32 %shl, %and39 + %mul41 = mul nsw i32 9, %add40 + %idx.ext42 = sext i32 %mul41 to i64 + %add.ptr43 = getelementptr inbounds i8, i8* %arraydecay, i64 %idx.ext42 + store i8* %add.ptr43, i8** %loc, align 8 + %30 = load i32, i32* %category, align 4 + %cmp44 = icmp eq i32 %30, 6 + br i1 %cmp44, label %if.then46, label %if.end54 + +if.then46: ; preds = %if.then35 + %31 = load i8*, i8** %n, align 8 + %32 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %32, i32 0, i32 34 + %arraydecay47 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names, i64 0, i64 0 + %33 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names48 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %33, i32 0, i32 34 + %34 = load i32, i32* %i, align 4 + %idxprom49 = sext i32 %34 to i64 + %arrayidx50 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names48, i64 0, i64 %idxprom49 + %35 = load i8, i8* %arrayidx50, align 1 + %conv51 = zext i8 %35 to i32 + %idx.ext52 = sext i32 %conv51 to i64 + %add.ptr53 = getelementptr inbounds i8, i8* %arraydecay47, i64 %idx.ext52 + %call = call i8* @stpcpy(i8* %31, i8* %add.ptr53) #20 + store i8* %call, i8** %n, align 8 + %36 = load i8*, i8** %n, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %36, i32 1 + store i8* %incdec.ptr, i8** %n, align 8 + store i8 61, i8* %36, align 1 + br label %if.end54 + +if.end54: ; preds = %if.then46, %if.then35 + %37 = load i8*, i8** %loc, align 8 + %38 = load i8, i8* %37, align 1 + %conv55 = zext i8 %38 to i32 + %cmp56 = icmp eq i32 %conv55, 0 + br i1 %cmp56, label %if.then58, label %if.else + +if.then58: ; preds = %if.end54 + %39 = load i8*, i8** %n, align 8 + %incdec.ptr59 = getelementptr inbounds i8, i8* %39, i32 1 + store i8* %incdec.ptr59, i8** %n, align 8 + store i8 67, i8* %39, align 1 + %40 = load i8*, i8** %n, align 8 + store i8 0, i8* %40, align 1 + br label %if.end120 + +if.else: ; preds = %if.end54 + store i8 0, i8* %at, align 1 + %41 = load i8*, i8** %n, align 8 + %42 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_names5 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %42, i32 0, i32 32 + %arraydecay60 = getelementptr inbounds [835 x i8], [835 x i8]* %locale_names5, i64 0, i64 0 + %43 = load i8*, i8** %loc, align 8 + %44 = load i8, i8* %43, align 1 + %conv61 = zext i8 %44 to i32 + %sub = sub nsw i32 %conv61, 1 + %mul62 = mul nsw i32 5, %sub + %idx.ext63 = sext i32 %mul62 to i64 + %add.ptr64 = getelementptr inbounds i8, i8* %arraydecay60, i64 %idx.ext63 + %call65 = call i8* @memcpy(i8* %41, i8* %add.ptr64, i64 5) #20 + %45 = load i8*, i8** %n, align 8 + %arrayidx66 = getelementptr inbounds i8, i8* %45, i64 2 + %46 = load i8, i8* %arrayidx66, align 1 + %conv67 = sext i8 %46 to i32 + %cmp68 = icmp ne i32 %conv67, 95 + br i1 %cmp68, label %if.then70, label %if.end73 + +if.then70: ; preds = %if.else + %47 = load i8*, i8** %n, align 8 + %arrayidx71 = getelementptr inbounds i8, i8* %47, i64 2 + %48 = load i8, i8* %arrayidx71, align 1 + store i8 %48, i8* %at, align 1 + %49 = load i8*, i8** %n, align 8 + %arrayidx72 = getelementptr inbounds i8, i8* %49, i64 2 + store i8 95, i8* %arrayidx72, align 1 + br label %if.end73 + +if.end73: ; preds = %if.then70, %if.else + %50 = load i8*, i8** %n, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %50, i64 5 + store i8* %add.ptr74, i8** %n, align 8 + %51 = load i8*, i8** %n, align 8 + %incdec.ptr75 = getelementptr inbounds i8, i8* %51, i32 1 + store i8* %incdec.ptr75, i8** %n, align 8 + store i8 46, i8* %51, align 1 + %52 = load i8*, i8** %loc, align 8 + %arrayidx76 = getelementptr inbounds i8, i8* %52, i64 2 + %53 = load i8, i8* %arrayidx76, align 1 + %conv77 = zext i8 %53 to i32 + %cmp78 = icmp eq i32 %conv77, 2 + br i1 %cmp78, label %if.then80, label %if.else82 + +if.then80: ; preds = %if.end73 + %54 = load i8*, i8** %n, align 8 + %call81 = call i8* @stpcpy(i8* %54, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf8.234, i64 0, i64 0)) #20 + store i8* %call81, i8** %n, align 8 + br label %if.end100 + +if.else82: ; preds = %if.end73 + %55 = load i8*, i8** %loc, align 8 + %arrayidx83 = getelementptr inbounds i8, i8* %55, i64 2 + %56 = load i8, i8* %arrayidx83, align 1 + %conv84 = zext i8 %56 to i32 + %cmp85 = icmp sge i32 %conv84, 3 + br i1 %cmp85, label %if.then87, label %if.end100 + +if.then87: ; preds = %if.else82 + %57 = load i8*, i8** %n, align 8 + %58 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %58, i32 0, i32 35 + %arraydecay88 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list, i64 0, i64 0 + %59 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list89 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %59, i32 0, i32 35 + %60 = load i8*, i8** %loc, align 8 + %arrayidx90 = getelementptr inbounds i8, i8* %60, i64 2 + %61 = load i8, i8* %arrayidx90, align 1 + %conv91 = zext i8 %61 to i32 + %sub92 = sub nsw i32 %conv91, 3 + %idxprom93 = sext i32 %sub92 to i64 + %arrayidx94 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list89, i64 0, i64 %idxprom93 + %62 = load i8, i8* %arrayidx94, align 1 + %conv95 = zext i8 %62 to i32 + %idx.ext96 = sext i32 %conv95 to i64 + %add.ptr97 = getelementptr inbounds i8, i8* %arraydecay88, i64 %idx.ext96 + %call98 = call i8* @stpcpy(i8* %57, i8* %add.ptr97) #20 + store i8* %call98, i8** %n, align 8 + br label %if.end100 + +if.end100: ; preds = %if.else82, %if.then87, %if.then80 + %63 = load i8, i8* %at, align 1 + %tobool = icmp ne i8 %63, 0 + br i1 %tobool, label %if.then101, label %if.end120 + +if.then101: ; preds = %if.end100 + %64 = load i8*, i8** %n, align 8 + %incdec.ptr102 = getelementptr inbounds i8, i8* %64, i32 1 + store i8* %incdec.ptr102, i8** %n, align 8 + store i8 64, i8* %64, align 1 + %65 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_at_modifiers = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %65, i32 0, i32 33 + %arraydecay103 = getelementptr inbounds [18 x i8], [18 x i8]* %locale_at_modifiers, i64 0, i64 0 + store i8* %arraydecay103, i8** %q, align 8 + br label %do.body104 + +do.body104: ; preds = %if.end113, %if.then101 + %66 = load i8*, i8** %q, align 8 + %arrayidx105 = getelementptr inbounds i8, i8* %66, i64 1 + %67 = load i8, i8* %arrayidx105, align 1 + %conv106 = sext i8 %67 to i32 + %68 = load i8, i8* %at, align 1 + %conv107 = sext i8 %68 to i32 + %cmp108 = icmp eq i32 %conv106, %conv107 + br i1 %cmp108, label %if.then110, label %if.end113 + +if.then110: ; preds = %do.body104 + %69 = load i8*, i8** %n, align 8 + %70 = load i8*, i8** %q, align 8 + %add.ptr111 = getelementptr inbounds i8, i8* %70, i64 2 + %call112 = call i8* @stpcpy(i8* %69, i8* %add.ptr111) #20 + store i8* %call112, i8** %n, align 8 + br label %if.end120 + +if.end113: ; preds = %do.body104 + %71 = load i8*, i8** %q, align 8 + %72 = load i8, i8* %71, align 1 + %conv114 = sext i8 %72 to i32 + %add115 = add nsw i32 2, %conv114 + %73 = load i8*, i8** %q, align 8 + %idx.ext116 = sext i32 %add115 to i64 + %add.ptr117 = getelementptr inbounds i8, i8* %73, i64 %idx.ext116 + store i8* %add.ptr117, i8** %q, align 8 + %74 = load i8*, i8** %q, align 8 + %75 = load i8, i8* %74, align 1 + %tobool118 = icmp ne i8 %75, 0 + br i1 %tobool118, label %do.body104, label %if.end120 + +if.end120: ; preds = %if.end100, %if.end113, %if.then110, %if.then58 + %76 = load i8*, i8** %n, align 8 + %incdec.ptr121 = getelementptr inbounds i8, i8* %76, i32 1 + store i8* %incdec.ptr121, i8** %n, align 8 + store i8 59, i8* %76, align 1 + br label %if.end122 + +if.end122: ; preds = %if.end120, %lor.lhs.false30 + %77 = load i8*, i8** %s, align 8 + %add.ptr123 = getelementptr inbounds i8, i8* %77, i64 2 + store i8* %add.ptr123, i8** %s, align 8 + %78 = load i32, i32* %i, align 4 + %inc = add nsw i32 %78, 1 + store i32 %inc, i32* %i, align 4 + %79 = load i32, i32* %category, align 4 + %cmp125 = icmp slt i32 %inc, %79 + br i1 %cmp125, label %do.body26, label %do.end127 + +do.end127: ; preds = %if.end122 + %80 = load i8*, i8** %n, align 8 + %incdec.ptr128 = getelementptr inbounds i8, i8* %80, i32 -1 + store i8* %incdec.ptr128, i8** %n, align 8 + store i8 0, i8* %incdec.ptr128, align 1 + %81 = load i32, i32* %category, align 4 + %inc129 = add nsw i32 %81, 1 + store i32 %inc129, i32* %category, align 4 + %82 = load i32, i32* %done, align 4 + %tobool131 = icmp ne i32 %82, 0 + %lnot = xor i1 %tobool131, true + br i1 %lnot, label %do.body, label %do.end132 + +do.end132: ; preds = %do.end127 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define void @setutent() #0 { +entry: + call void @__setutent() #19 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__setutent() #0 { +entry: + %ret = alloca i32, align 4 + %0 = load i32, i32* @static_fd, align 4 + %cmp = icmp eq i32 %0, -1 + br i1 %cmp, label %if.then, label %if.end16 + +if.then: ; preds = %entry + %1 = load i8*, i8** @static_ut_name, align 8 + %call = call i32 (i8*, i32, ...) @open(i8* %1, i32 2) #19 + store i32 %call, i32* @static_fd, align 4 + %cmp1 = icmp slt i32 %call, 0 + br i1 %cmp1, label %if.then2, label %if.end6 + +if.then2: ; preds = %if.then + %2 = load i8*, i8** @static_ut_name, align 8 + %call3 = call i32 (i8*, i32, ...) @open(i8* %2, i32 0) #19 + store i32 %call3, i32* @static_fd, align 4 + %cmp4 = icmp slt i32 %call3, 0 + br i1 %cmp4, label %bummer, label %if.end6 + +if.end6: ; preds = %if.then2, %if.then + %3 = load i32, i32* @static_fd, align 4 + %call7 = call i32 (i32, i32, ...) @fcntl(i32 %3, i32 1, i32 0) #19 + store i32 %call7, i32* %ret, align 4 + %4 = load i32, i32* %ret, align 4 + %cmp8 = icmp sge i32 %4, 0 + br i1 %cmp8, label %if.then9, label %if.end11 + +if.then9: ; preds = %if.end6 + %5 = load i32, i32* @static_fd, align 4 + %6 = load i32, i32* %ret, align 4 + %or = or i32 %6, 1 + %call10 = call i32 (i32, i32, ...) @fcntl(i32 %5, i32 2, i32 %or) #19 + store i32 %call10, i32* %ret, align 4 + br label %if.end11 + +if.end11: ; preds = %if.then9, %if.end6 + %7 = load i32, i32* %ret, align 4 + %cmp12 = icmp slt i32 %7, 0 + br i1 %cmp12, label %bummer, label %if.end16 + +bummer: ; preds = %if.end11, %if.then2 + store i32 -1, i32* @static_fd, align 4 + %8 = load i32, i32* @static_fd, align 4 + %call14 = call i32 @close(i32 %8) #19 + br label %return + +if.end16: ; preds = %if.end11, %entry + %9 = load i32, i32* @static_fd, align 4 + %call17 = call i64 @lseek(i32 %9, i64 0, i32 0) #20 + br label %return + +return: ; preds = %if.end16, %bummer + ret void +} + +; Function Attrs: noinline nounwind uwtable +define void @endutent() #0 { +entry: + %0 = load i32, i32* @static_fd, align 4 + %cmp = icmp ne i32 %0, -1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load i32, i32* @static_fd, align 4 + %call = call i32 @close(i32 %1) #19 + br label %if.end + +if.end: ; preds = %if.then, %entry + store i32 -1, i32* @static_fd, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @getutent() #0 { +entry: + %ret = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* null, %struct.utmp.323** %ret, align 8 + %0 = load i32, i32* @static_fd, align 4 + %call = call %struct.utmp.323* @__getutent(i32 %0) #19 + store %struct.utmp.323* %call, %struct.utmp.323** %ret, align 8 + %1 = load %struct.utmp.323*, %struct.utmp.323** %ret, align 8 + ret %struct.utmp.323* %1 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.utmp.323* @__getutent(i32 %utmp_fd) #0 { +entry: + %retval = alloca %struct.utmp.323*, align 8 + %utmp_fd.addr = alloca i32, align 4 + %ret = alloca %struct.utmp.323*, align 8 + store i32 %utmp_fd, i32* %utmp_fd.addr, align 4 + store %struct.utmp.323* null, %struct.utmp.323** %ret, align 8 + %0 = load i32, i32* %utmp_fd.addr, align 4 + %cmp = icmp eq i32 %0, -1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @__setutent() #19 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i32, i32* %utmp_fd.addr, align 4 + %cmp1 = icmp eq i32 %1, -1 + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + store %struct.utmp.323* null, %struct.utmp.323** %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %2 = load i32, i32* %utmp_fd.addr, align 4 + %call = call i64 @read(i32 %2, i8* bitcast (%struct.utmp.323* @static_utmp to i8*), i64 400) #19 + %cmp4 = icmp eq i64 %call, 400 + br i1 %cmp4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end3 + store %struct.utmp.323* @static_utmp, %struct.utmp.323** %ret, align 8 + br label %if.end6 + +if.end6: ; preds = %if.then5, %if.end3 + %3 = load %struct.utmp.323*, %struct.utmp.323** %ret, align 8 + store %struct.utmp.323* %3, %struct.utmp.323** %retval, align 8 + br label %return + +return: ; preds = %if.end6, %if.then2 + %4 = load %struct.utmp.323*, %struct.utmp.323** %retval, align 8 + ret %struct.utmp.323* %4 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @getutid(%struct.utmp.323* %utmp_entry) #0 { +entry: + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + %ret = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + store %struct.utmp.323* null, %struct.utmp.323** %ret, align 8 + %0 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %call = call %struct.utmp.323* @__getutid(%struct.utmp.323* %0) #19 + store %struct.utmp.323* %call, %struct.utmp.323** %ret, align 8 + %1 = load %struct.utmp.323*, %struct.utmp.323** %ret, align 8 + ret %struct.utmp.323* %1 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.utmp.323* @__getutid(%struct.utmp.323* %utmp_entry) #0 { +entry: + %retval = alloca %struct.utmp.323*, align 8 + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + %lutmp = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end47, %entry + %0 = load i32, i32* @static_fd, align 4 + %call = call %struct.utmp.323* @__getutent(i32 %0) #19 + store %struct.utmp.323* %call, %struct.utmp.323** %lutmp, align 8 + %cmp = icmp ne %struct.utmp.323* %call, null + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %1 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %1, i32 0, i32 0 + %2 = load i16, i16* %ut_type, align 8 + %conv = sext i16 %2 to i32 + %cmp1 = icmp eq i32 %conv, 1 + br i1 %cmp1, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.body + %3 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type3 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %3, i32 0, i32 0 + %4 = load i16, i16* %ut_type3, align 8 + %conv4 = sext i16 %4 to i32 + %cmp5 = icmp eq i32 %conv4, 2 + br i1 %cmp5, label %land.lhs.true, label %lor.lhs.false7 + +lor.lhs.false7: ; preds = %lor.lhs.false + %5 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type8 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %5, i32 0, i32 0 + %6 = load i16, i16* %ut_type8, align 8 + %conv9 = sext i16 %6 to i32 + %cmp10 = icmp eq i32 %conv9, 3 + br i1 %cmp10, label %land.lhs.true, label %lor.lhs.false12 + +lor.lhs.false12: ; preds = %lor.lhs.false7 + %7 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type13 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %7, i32 0, i32 0 + %8 = load i16, i16* %ut_type13, align 8 + %conv14 = sext i16 %8 to i32 + %cmp15 = icmp eq i32 %conv14, 4 + br i1 %cmp15, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %lor.lhs.false12, %lor.lhs.false7, %lor.lhs.false, %while.body + %9 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_type17 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %9, i32 0, i32 0 + %10 = load i16, i16* %ut_type17, align 8 + %conv18 = sext i16 %10 to i32 + %11 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type19 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %11, i32 0, i32 0 + %12 = load i16, i16* %ut_type19, align 8 + %conv20 = sext i16 %12 to i32 + %cmp21 = icmp eq i32 %conv18, %conv20 + br i1 %cmp21, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %13 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + store %struct.utmp.323* %13, %struct.utmp.323** %retval, align 8 + br label %return + +if.end: ; preds = %land.lhs.true, %lor.lhs.false12 + %14 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type23 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %14, i32 0, i32 0 + %15 = load i16, i16* %ut_type23, align 8 + %conv24 = sext i16 %15 to i32 + %cmp25 = icmp eq i32 %conv24, 5 + br i1 %cmp25, label %land.lhs.true42, label %lor.lhs.false27 + +lor.lhs.false27: ; preds = %if.end + %16 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type28 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %16, i32 0, i32 0 + %17 = load i16, i16* %ut_type28, align 8 + %conv29 = sext i16 %17 to i32 + %cmp30 = icmp eq i32 %conv29, 8 + br i1 %cmp30, label %land.lhs.true42, label %lor.lhs.false32 + +lor.lhs.false32: ; preds = %lor.lhs.false27 + %18 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type33 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %18, i32 0, i32 0 + %19 = load i16, i16* %ut_type33, align 8 + %conv34 = sext i16 %19 to i32 + %cmp35 = icmp eq i32 %conv34, 6 + br i1 %cmp35, label %land.lhs.true42, label %lor.lhs.false37 + +lor.lhs.false37: ; preds = %lor.lhs.false32 + %20 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type38 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %20, i32 0, i32 0 + %21 = load i16, i16* %ut_type38, align 8 + %conv39 = sext i16 %21 to i32 + %cmp40 = icmp eq i32 %conv39, 7 + br i1 %cmp40, label %land.lhs.true42, label %if.end47 + +land.lhs.true42: ; preds = %lor.lhs.false37, %lor.lhs.false32, %lor.lhs.false27, %if.end + %22 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_id = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %22, i32 0, i32 3 + %arraydecay = getelementptr inbounds [4 x i8], [4 x i8]* %ut_id, i64 0, i64 0 + %23 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_id43 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %23, i32 0, i32 3 + %arraydecay44 = getelementptr inbounds [4 x i8], [4 x i8]* %ut_id43, i64 0, i64 0 + %call45 = call i32 @strncmp(i8* %arraydecay, i8* %arraydecay44, i64 4) #21 + %tobool = icmp ne i32 %call45, 0 + br i1 %tobool, label %if.end47, label %if.then46 + +if.then46: ; preds = %land.lhs.true42 + %24 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + store %struct.utmp.323* %24, %struct.utmp.323** %retval, align 8 + br label %return + +if.end47: ; preds = %land.lhs.true42, %lor.lhs.false37 + br label %while.cond + +while.end: ; preds = %while.cond + store %struct.utmp.323* null, %struct.utmp.323** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then46, %if.then + %25 = load %struct.utmp.323*, %struct.utmp.323** %retval, align 8 + ret %struct.utmp.323* %25 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @getutline(%struct.utmp.323* %utmp_entry) #0 { +entry: + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + %lutmp = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + store %struct.utmp.323* null, %struct.utmp.323** %lutmp, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %0 = load i32, i32* @static_fd, align 4 + %call = call %struct.utmp.323* @__getutent(i32 %0) #19 + store %struct.utmp.323* %call, %struct.utmp.323** %lutmp, align 8 + %cmp = icmp ne %struct.utmp.323* %call, null + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %1 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_type = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %1, i32 0, i32 0 + %2 = load i16, i16* %ut_type, align 8 + %conv = sext i16 %2 to i32 + %cmp1 = icmp eq i32 %conv, 7 + br i1 %cmp1, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.body + %3 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_type3 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %3, i32 0, i32 0 + %4 = load i16, i16* %ut_type3, align 8 + %conv4 = sext i16 %4 to i32 + %cmp5 = icmp eq i32 %conv4, 6 + br i1 %cmp5, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %lor.lhs.false, %while.body + %5 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_line = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %5, i32 0, i32 2 + %arraydecay = getelementptr inbounds [32 x i8], [32 x i8]* %ut_line, i64 0, i64 0 + %6 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_line7 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %6, i32 0, i32 2 + %arraydecay8 = getelementptr inbounds [32 x i8], [32 x i8]* %ut_line7, i64 0, i64 0 + %call9 = call i32 @strcmp(i8* %arraydecay, i8* %arraydecay8) #21 + %tobool = icmp ne i32 %call9, 0 + br i1 %tobool, label %if.end, label %while.end + +if.end: ; preds = %land.lhs.true, %lor.lhs.false + br label %while.cond + +while.end: ; preds = %land.lhs.true, %while.cond + %7 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + ret %struct.utmp.323* %7 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @pututline(%struct.utmp.323* %utmp_entry) #0 { +entry: + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + %0 = load i32, i32* @static_fd, align 4 + %call = call i64 @lseek(i32 %0, i64 -400, i32 1) #20 + %1 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %call1 = call %struct.utmp.323* @__getutid(%struct.utmp.323* %1) #19 + %cmp = icmp ne %struct.utmp.323* %call1, null + %2 = load i32, i32* @static_fd, align 4 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %call2 = call i64 @lseek(i32 %2, i64 -400, i32 1) #20 + br label %if.end + +if.else: ; preds = %entry + %call3 = call i64 @lseek(i32 %2, i64 0, i32 2) #20 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %3 = load i32, i32* @static_fd, align 4 + %4 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %5 = bitcast %struct.utmp.323* %4 to i8* + %call4 = call i64 @write(i32 %3, i8* %5, i64 400) #19 + %cmp5 = icmp ne i64 %call4, 400 + br i1 %cmp5, label %if.then6, label %if.end7 + +if.then6: ; preds = %if.end + store %struct.utmp.323* null, %struct.utmp.323** %utmp_entry.addr, align 8 + br label %if.end7 + +if.end7: ; preds = %if.then6, %if.end + %6 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + ret %struct.utmp.323* %6 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @utmpname(i8* %new_ut_name) #0 { +entry: + %new_ut_name.addr = alloca i8*, align 8 + store i8* %new_ut_name, i8** %new_ut_name.addr, align 8 + %0 = load i8*, i8** %new_ut_name.addr, align 8 + %cmp = icmp ne i8* %0, null + br i1 %cmp, label %if.then, label %if.end6 + +if.then: ; preds = %entry + %1 = load i8*, i8** @static_ut_name, align 8 + %cmp1 = icmp ne i8* %1, getelementptr inbounds ([14 x i8], [14 x i8]* @default_file_name, i64 0, i64 0) + br i1 %cmp1, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + %2 = load i8*, i8** @static_ut_name, align 8 + call void @free(i8* %2) #20 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %3 = load i8*, i8** %new_ut_name.addr, align 8 + %call = call noalias i8* @strdup(i8* %3) #20 + store i8* %call, i8** @static_ut_name, align 8 + %4 = load i8*, i8** @static_ut_name, align 8 + %cmp3 = icmp eq i8* %4, null + %spec.store.select = select i1 %cmp3, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @default_file_name, i64 0, i64 0), i8* %call + store i8* %spec.store.select, i8** @static_ut_name, align 8 + br label %if.end6 + +if.end6: ; preds = %if.end, %entry + %5 = load i32, i32* @static_fd, align 4 + %cmp7 = icmp ne i32 %5, -1 + br i1 %cmp7, label %if.then8, label %if.end10 + +if.then8: ; preds = %if.end6 + %6 = load i32, i32* @static_fd, align 4 + %call9 = call i32 @close(i32 %6) #19 + br label %if.end10 + +if.end10: ; preds = %if.then8, %if.end6 + store i32 -1, i32* @static_fd, align 4 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_wchar_utf8sntowcs(i32* noalias %pwc, i64 %wn, i8** noalias %src, i64 %n, %struct.__mbstate_t.512* %ps, i32 %allow_continuation) #0 { +entry: + %retval = alloca i64, align 8 + %pwc.addr = alloca i32*, align 8 + %wn.addr = alloca i64, align 8 + %src.addr = alloca i8**, align 8 + %n.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %allow_continuation.addr = alloca i32, align 4 + %s = alloca i8*, align 8 + %mask = alloca i32, align 4 + %wc = alloca i32, align 4 + %wcbuf = alloca [1 x i32], align 4 + %count = alloca i64, align 8 + %incr = alloca i32, align 4 + store i32* %pwc, i32** %pwc.addr, align 8 + store i64 %wn, i64* %wn.addr, align 8 + store i8** %src, i8*** %src.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + store i32 %allow_continuation, i32* %allow_continuation.addr, align 4 + %0 = load i8**, i8*** %src.addr, align 8 + %1 = load i8*, i8** %0, align 8 + store i8* %1, i8** %s, align 8 + store i32 1, i32* %incr, align 4 + %2 = load i32*, i32** %pwc.addr, align 8 + %tobool = icmp ne i32* %2, null + br i1 %tobool, label %lor.lhs.false, label %if.then + +lor.lhs.false: ; preds = %entry + %3 = load i32*, i32** %pwc.addr, align 8 + %4 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %5 = bitcast %struct.__mbstate_t.512* %4 to i32* + %cmp = icmp eq i32* %3, %5 + br i1 %cmp, label %if.then, label %if.end3 + +if.then: ; preds = %lor.lhs.false, %entry + %6 = load i32*, i32** %pwc.addr, align 8 + %tobool1 = icmp ne i32* %6, null + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + store i64 -1, i64* %wn.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %arraydecay = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay, i32** %pwc.addr, align 8 + store i32 0, i32* %incr, align 4 + br label %if.end3 + +if.end3: ; preds = %if.end, %lor.lhs.false + %7 = load i64, i64* %wn.addr, align 8 + store i64 %7, i64* %count, align 8 + %tobool4 = icmp ne i64 %7, 0 + br i1 %tobool4, label %if.end6, label %if.then5 + +if.then5: ; preds = %if.end3 + store i64 0, i64* %retval, align 8 + br label %return + +if.end6: ; preds = %if.end3 + %8 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %8, i32 0, i32 0 + %9 = load i32, i32* %__mask, align 4 + store i32 %9, i32* %mask, align 4 + %cmp7 = icmp ne i32 %9, 0 + br i1 %cmp7, label %if.then8, label %do.body + +if.then8: ; preds = %if.end6 + %10 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %10, i32 0, i32 1 + %11 = load i32, i32* %__wc, align 4 + store i32 %11, i32* %wc, align 4 + %cmp9 = icmp ne i32 %11, 65535 + br i1 %cmp9, label %if.then10, label %if.end14 + +if.then10: ; preds = %if.then8 + %12 = load i64, i64* %n.addr, align 8 + %tobool11 = icmp ne i64 %12, 0 + br i1 %tobool11, label %while.cond, label %DONE + +if.end14: ; preds = %if.then8 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +do.body: ; preds = %if.end6, %land.rhs + %13 = load i64, i64* %n.addr, align 8 + %tobool16 = icmp ne i64 %13, 0 + br i1 %tobool16, label %if.end18, label %DONE + +if.end18: ; preds = %do.body + %14 = load i64, i64* %n.addr, align 8 + %dec = add i64 %14, -1 + store i64 %dec, i64* %n.addr, align 8 + %15 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %15, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %16 = load i8, i8* %15, align 1 + %conv = zext i8 %16 to i32 + store i32 %conv, i32* %wc, align 4 + %cmp19 = icmp uge i32 %conv, 128 + br i1 %cmp19, label %if.then21, label %COMPLETE + +if.then21: ; preds = %if.end18 + store i32 64, i32* %mask, align 4 + %17 = load i8*, i8** %s, align 8 + %arrayidx = getelementptr inbounds i8, i8* %17, i64 -1 + %18 = load i8, i8* %arrayidx, align 1 + %conv22 = sext i8 %18 to i32 + %sub = sub nsw i32 %conv22, 192 + %conv23 = trunc i32 %sub to i8 + %conv24 = zext i8 %conv23 to i32 + %cmp25 = icmp slt i32 %conv24, 62 + br i1 %cmp25, label %START, label %BAD + +BAD: ; preds = %if.end52, %lor.lhs.false55, %lor.lhs.false59, %while.body, %if.then21 + %19 = load i32, i32* %mask, align 4 + %20 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask29 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %20, i32 0, i32 0 + store i32 %19, i32* %__mask29, align 4 + %21 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc30 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %21, i32 0, i32 1 + store i32 65535, i32* %__wc30, align 4 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +while.cond: ; preds = %START, %if.then10 + %22 = load i64, i64* %n.addr, align 8 + %tobool31 = icmp ne i64 %22, 0 + br i1 %tobool31, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %23 = load i64, i64* %n.addr, align 8 + %dec32 = add i64 %23, -1 + store i64 %dec32, i64* %n.addr, align 8 + %24 = load i8*, i8** %s, align 8 + %25 = load i8, i8* %24, align 1 + %conv33 = sext i8 %25 to i32 + %and = and i32 %conv33, 192 + %cmp34 = icmp ne i32 %and, 128 + br i1 %cmp34, label %BAD, label %if.end37 + +if.end37: ; preds = %while.body + %26 = load i32, i32* %mask, align 4 + %shl = shl i32 %26, 5 + store i32 %shl, i32* %mask, align 4 + %27 = load i32, i32* %wc, align 4 + %shl38 = shl i32 %27, 6 + store i32 %shl38, i32* %wc, align 4 + %28 = load i8*, i8** %s, align 8 + %29 = load i8, i8* %28, align 1 + %conv39 = sext i8 %29 to i32 + %and40 = and i32 %conv39, 63 + %30 = load i32, i32* %wc, align 4 + %add = add i32 %30, %and40 + store i32 %add, i32* %wc, align 4 + %31 = load i8*, i8** %s, align 8 + %incdec.ptr41 = getelementptr inbounds i8, i8* %31, i32 1 + store i8* %incdec.ptr41, i8** %s, align 8 + br label %START + +START: ; preds = %if.then21, %if.end37 + %32 = load i32, i32* %mask, align 4 + %shl42 = shl i32 %32, 1 + %neg = xor i32 %shl42, -1 + %33 = load i32, i32* %wc, align 4 + %and43 = and i32 %33, %neg + store i32 %and43, i32* %wc, align 4 + %34 = load i32, i32* %wc, align 4 + %35 = load i32, i32* %mask, align 4 + %and44 = and i32 %34, %35 + %cmp45 = icmp eq i32 %and44, 0 + br i1 %cmp45, label %if.then47, label %while.cond + +if.then47: ; preds = %START + %36 = load i32, i32* %mask, align 4 + %shr = lshr i32 %36, 5 + store i32 %shr, i32* %mask, align 4 + %cmp48 = icmp eq i32 %shr, 64 + br i1 %cmp48, label %if.then50, label %if.end52 + +if.then50: ; preds = %if.then47 + %37 = load i32, i32* %mask, align 4 + %38 = load i32, i32* %mask, align 4 + %add51 = add i32 %38, %37 + store i32 %add51, i32* %mask, align 4 + br label %if.end52 + +if.end52: ; preds = %if.then50, %if.then47 + %39 = load i32, i32* %wc, align 4 + %40 = load i32, i32* %mask, align 4 + %cmp53 = icmp ult i32 %39, %40 + br i1 %cmp53, label %BAD, label %lor.lhs.false55 + +lor.lhs.false55: ; preds = %if.end52 + %41 = load i32, i32* %wc, align 4 + %sub56 = sub i32 %41, 65534 + %cmp57 = icmp ult i32 %sub56, 2 + br i1 %cmp57, label %BAD, label %lor.lhs.false59 + +lor.lhs.false59: ; preds = %lor.lhs.false55 + %42 = load i32, i32* %wc, align 4 + %sub60 = sub i32 %42, 55296 + %cmp61 = icmp ult i32 %sub60, 2048 + br i1 %cmp61, label %BAD, label %COMPLETE + +while.end: ; preds = %while.cond + %43 = load i32, i32* %allow_continuation.addr, align 4 + %tobool66 = icmp ne i32 %43, 0 + br i1 %tobool66, label %if.end77, label %if.then67 + +if.then67: ; preds = %while.end + %44 = load i64, i64* %count, align 8 + %45 = load i64, i64* %wn.addr, align 8 + %cmp68 = icmp ne i64 %44, %45 + br i1 %cmp68, label %if.then70, label %do.body72 + +if.then70: ; preds = %if.then67 + store i64 0, i64* %retval, align 8 + br label %return + +do.body72: ; preds = %if.then67, %do.body72 + %46 = load i8*, i8** %s, align 8 + %incdec.ptr73 = getelementptr inbounds i8, i8* %46, i32 -1 + store i8* %incdec.ptr73, i8** %s, align 8 + %47 = load i32, i32* %mask, align 4 + %shr74 = lshr i32 %47, 5 + store i32 %shr74, i32* %mask, align 4 + %cmp75 = icmp uge i32 %shr74, 64 + br i1 %cmp75, label %do.body72, label %DONE + +if.end77: ; preds = %while.end + %48 = load i32, i32* %mask, align 4 + %49 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask78 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %49, i32 0, i32 0 + store i32 %48, i32* %__mask78, align 4 + %50 = load i32, i32* %wc, align 4 + %51 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc79 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %51, i32 0, i32 1 + store i32 %50, i32* %__wc79, align 4 + %52 = load i8*, i8** %s, align 8 + %53 = load i8**, i8*** %src.addr, align 8 + store i8* %52, i8** %53, align 8 + store i64 -2, i64* %retval, align 8 + br label %return + +COMPLETE: ; preds = %if.end18, %lor.lhs.false59 + %54 = load i32, i32* %wc, align 4 + %55 = load i32*, i32** %pwc.addr, align 8 + store i32 %54, i32* %55, align 4 + %56 = load i32, i32* %incr, align 4 + %57 = load i32*, i32** %pwc.addr, align 8 + %idx.ext = sext i32 %56 to i64 + %add.ptr = getelementptr inbounds i32, i32* %57, i64 %idx.ext + store i32* %add.ptr, i32** %pwc.addr, align 8 + %58 = load i32, i32* %wc, align 4 + %tobool82 = icmp ne i32 %58, 0 + br i1 %tobool82, label %land.rhs, label %do.end85 + +land.rhs: ; preds = %COMPLETE + %59 = load i64, i64* %count, align 8 + %dec83 = add i64 %59, -1 + store i64 %dec83, i64* %count, align 8 + %tobool84 = icmp ne i64 %dec83, 0 + br i1 %tobool84, label %do.body, label %do.end85 + +do.end85: ; preds = %COMPLETE, %land.rhs + %60 = load i32, i32* %wc, align 4 + %tobool86 = icmp ne i32 %60, 0 + br i1 %tobool86, label %DONE, label %if.then87 + +if.then87: ; preds = %do.end85 + store i8* null, i8** %s, align 8 + br label %DONE + +DONE: ; preds = %do.end85, %if.then87, %do.body72, %do.body, %if.then10 + %61 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask89 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %61, i32 0, i32 0 + store i32 0, i32* %__mask89, align 4 + %62 = load i32*, i32** %pwc.addr, align 8 + %arraydecay90 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %cmp91 = icmp ne i32* %62, %arraydecay90 + br i1 %cmp91, label %if.then93, label %if.end94 + +if.then93: ; preds = %DONE + %63 = load i8*, i8** %s, align 8 + %64 = load i8**, i8*** %src.addr, align 8 + store i8* %63, i8** %64, align 8 + br label %if.end94 + +if.end94: ; preds = %if.then93, %DONE + %65 = load i64, i64* %wn.addr, align 8 + %66 = load i64, i64* %count, align 8 + %sub95 = sub i64 %65, %66 + store i64 %sub95, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end94, %if.end77, %if.then70, %BAD, %if.end14, %if.then5 + %67 = load i64, i64* %retval, align 8 + ret i64 %67 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @mbrtowc(i32* noalias %pwc, i8* noalias %s, i64 %n, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %retval = alloca i64, align 8 + %pwc.addr = alloca i32*, align 8 + %s.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %wcbuf = alloca [1 x i32], align 4 + %p = alloca i8*, align 8 + %r = alloca i64, align 8 + %empty_string = alloca [1 x i8], align 1 + store i32* %pwc, i32** %pwc.addr, align 8 + store i8* %s, i8** %s.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %tobool = icmp ne %struct.__mbstate_t.512* %0, null + %spec.store.select = select i1 %tobool, %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512* @mbrtowc.mbstate + store %struct.__mbstate_t.512* %spec.store.select, %struct.__mbstate_t.512** %ps.addr, align 8 + %1 = load i8*, i8** %s.addr, align 8 + %tobool1 = icmp ne i8* %1, null + br i1 %tobool1, label %if.else, label %if.then2 + +if.then2: ; preds = %entry + %2 = load i8*, i8** %s.addr, align 8 + %3 = bitcast i8* %2 to i32* + store i32* %3, i32** %pwc.addr, align 8 + %arrayidx = getelementptr inbounds [1 x i8], [1 x i8]* %empty_string, i64 0, i64 0 + store i8 0, i8* %arrayidx, align 1 + %arraydecay = getelementptr inbounds [1 x i8], [1 x i8]* %empty_string, i64 0, i64 0 + store i8* %arraydecay, i8** %s.addr, align 8 + store i64 1, i64* %n.addr, align 8 + br label %if.end7 + +if.else: ; preds = %entry + %4 = load i64, i64* %n.addr, align 8 + %tobool3 = icmp ne i64 %4, 0 + br i1 %tobool3, label %if.end7, label %if.then4 + +if.then4: ; preds = %if.else + %5 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %5, i32 0, i32 0 + %6 = load i32, i32* %__mask, align 4 + %tobool5 = icmp ne i32 %6, 0 + br i1 %tobool5, label %land.rhs, label %land.end + +land.rhs: ; preds = %if.then4 + %7 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %7, i32 0, i32 1 + %8 = load i32, i32* %__wc, align 4 + %cmp = icmp eq i32 %8, 65535 + br label %land.end + +land.end: ; preds = %land.rhs, %if.then4 + %9 = phi i1 [ false, %if.then4 ], [ %cmp, %land.rhs ] + %10 = zext i1 %9 to i64 + %cond = select i1 %9, i64 -1, i64 -2 + store i64 %cond, i64* %retval, align 8 + br label %return + +if.end7: ; preds = %if.else, %if.then2 + %11 = load i8*, i8** %s.addr, align 8 + store i8* %11, i8** %p, align 8 + %12 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %12, i32 0, i32 9 + %13 = load i8, i8* %encoding, align 8 + %conv = zext i8 %13 to i32 + %cmp8 = icmp eq i32 %conv, 1 + br i1 %cmp8, label %if.then10, label %if.end18 + +if.then10: ; preds = %if.end7 + %14 = load i32*, i32** %pwc.addr, align 8 + %tobool11 = icmp ne i32* %14, null + br i1 %tobool11, label %if.end14, label %if.then12 + +if.then12: ; preds = %if.then10 + %arraydecay13 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay13, i32** %pwc.addr, align 8 + br label %if.end14 + +if.end14: ; preds = %if.then12, %if.then10 + %15 = load i32*, i32** %pwc.addr, align 8 + %16 = load i64, i64* %n.addr, align 8 + %17 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @_wchar_utf8sntowcs(i32* %15, i64 1, i8** %p, i64 %16, %struct.__mbstate_t.512* %17, i32 1) #19 + store i64 %call, i64* %r, align 8 + %18 = load i64, i64* %r, align 8 + %cmp15 = icmp eq i64 %18, 1 + %19 = load i8*, i8** %p, align 8 + %20 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %20 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %21 = load i64, i64* %r, align 8 + %cond17 = select i1 %cmp15, i64 %sub.ptr.sub, i64 %21 + store i64 %cond17, i64* %retval, align 8 + br label %return + +if.end18: ; preds = %if.end7 + %arraydecay19 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %22 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call20 = call i64 @mbsnrtowcs(i32* %arraydecay19, i8** %p, i64 -1, i64 1, %struct.__mbstate_t.512* %22) #20 + store i64 %call20, i64* %r, align 8 + %23 = load i64, i64* %r, align 8 + %cmp21 = icmp sge i64 %23, 0 + %24 = load i32*, i32** %pwc.addr, align 8 + %tobool24 = icmp ne i32* %24, null + %or.cond = and i1 %cmp21, %tobool24 + br i1 %or.cond, label %if.then25, label %if.end28 + +if.then25: ; preds = %if.end18 + %arraydecay26 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %25 = load i32, i32* %arraydecay26, align 4 + %26 = load i32*, i32** %pwc.addr, align 8 + store i32 %25, i32* %26, align 4 + br label %if.end28 + +if.end28: ; preds = %if.then25, %if.end18 + %27 = load i64, i64* %r, align 8 + store i64 %27, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end28, %if.end14, %land.end + %28 = load i64, i64* %retval, align 8 + ret i64 %28 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @mbsinit(%struct.__mbstate_t.512* %ps) #14 { +entry: + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %tobool = icmp ne %struct.__mbstate_t.512* %0, null + br i1 %tobool, label %lor.rhs, label %lor.end + +lor.rhs: ; preds = %entry + %1 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %1, i32 0, i32 0 + %2 = load i32, i32* %__mask, align 4 + %tobool1 = icmp ne i32 %2, 0 + %lnot = xor i1 %tobool1, true + br label %lor.end + +lor.end: ; preds = %lor.rhs, %entry + %3 = phi i1 [ true, %entry ], [ %lnot, %lor.rhs ] + %lor.ext = zext i1 %3 to i32 + ret i32 %lor.ext +} + +; Function Attrs: noinline nounwind uwtable +define i32 @iswprint(i32 %wc) #0 { +entry: + %wc.addr = alloca i32, align 4 + store i32 %wc, i32* %wc.addr, align 4 + %0 = load i32, i32* %wc.addr, align 4 + %call = call i32 @iswctype(i32 %0, i32 8) #20 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.568* %stream, i8* %buf, i64 %bufsize) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %rv = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + store i64 0, i64* %rv, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 4 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end18, label %if.then + +if.then: ; preds = %entry + %2 = load i64, i64* %bufsize.addr, align 8 + %cmp = icmp ugt i64 %2, 9223372036854775807 + br i1 %cmp, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + store i64 9223372036854775807, i64* %bufsize.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 2 + %4 = load i32, i32* %__filedes, align 4 + %5 = load i8*, i8** %buf.addr, align 8 + %6 = load i64, i64* %bufsize.addr, align 8 + %call = call i64 @read(i32 %4, i8* %5, i64 %6) #19 + store i64 %call, i64* %rv, align 8 + %cmp3 = icmp sle i64 %call, 0 + br i1 %cmp3, label %if.then5, label %if.end18 + +if.then5: ; preds = %if.end + %7 = load i64, i64* %rv, align 8 + %cmp6 = icmp eq i64 %7, 0 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags9 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags9, align 8 + %conv10 = zext i16 %9 to i32 + br i1 %cmp6, label %if.then8, label %if.else + +if.then8: ; preds = %if.then5 + %or = or i32 %conv10, 4 + %conv11 = trunc i32 %or to i16 + store i16 %conv11, i16* %__modeflags9, align 8 + br label %if.end18 + +if.else: ; preds = %if.then5 + %or14 = or i32 %conv10, 8 + %conv15 = trunc i32 %or14 to i16 + store i16 %conv15, i16* %__modeflags9, align 8 + store i64 0, i64* %rv, align 8 + br label %if.end18 + +if.end18: ; preds = %if.end, %if.else, %if.then8, %entry + %10 = load i64, i64* %rv, align 8 + ret i64 %10 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %stream, i8* %buf, i64 %bufsize) #0 { +entry: + %retval = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %todo = alloca i64, align 8 + %rv = alloca i64, align 8 + %stodo = alloca i64, align 8 + %s = alloca i8*, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i64, i64* %bufsize.addr, align 8 + store i64 %0, i64* %todo, align 8 + br label %do.body + +do.body: ; preds = %if.then3, %entry + %1 = load i64, i64* %todo, align 8 + %cmp = icmp eq i64 %1, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %do.body + %2 = load i64, i64* %bufsize.addr, align 8 + store i64 %2, i64* %retval, align 8 + br label %do.end32 + +if.end: ; preds = %do.body + %3 = load i64, i64* %todo, align 8 + %cmp1 = icmp ule i64 %3, 9223372036854775807 + %4 = load i64, i64* %todo, align 8 + %cond = select i1 %cmp1, i64 %4, i64 9223372036854775807 + store i64 %cond, i64* %stodo, align 8 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 2 + %6 = load i32, i32* %__filedes, align 4 + %7 = load i8*, i8** %buf.addr, align 8 + %8 = load i64, i64* %stodo, align 8 + %call = call i64 @write(i32 %6, i8* %7, i64 %8) #19 + store i64 %call, i64* %rv, align 8 + %cmp2 = icmp sge i64 %call, 0 + br i1 %cmp2, label %if.then3, label %if.else + +if.then3: ; preds = %if.end + %9 = load i64, i64* %rv, align 8 + %10 = load i64, i64* %todo, align 8 + %sub = sub i64 %10, %9 + store i64 %sub, i64* %todo, align 8 + %11 = load i64, i64* %rv, align 8 + %12 = load i8*, i8** %buf.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %12, i64 %11 + store i8* %add.ptr, i8** %buf.addr, align 8 + br label %do.body + +if.else: ; preds = %if.end + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 0 + %14 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %14 to i32 + %or = or i32 %conv, 8 + %conv4 = trunc i32 %or to i16 + store i16 %conv4, i16* %__modeflags, align 8 + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 4 + %16 = load i8*, i8** %__bufend, align 8 + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 3 + %18 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %16 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %18 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %stodo, align 8 + %cmp5 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %cmp5, label %if.then7, label %if.end28 + +if.then7: ; preds = %if.else + %19 = load i64, i64* %stodo, align 8 + %20 = load i64, i64* %todo, align 8 + %cmp8 = icmp ugt i64 %19, %20 + br i1 %cmp8, label %if.then10, label %if.end11 + +if.then10: ; preds = %if.then7 + %21 = load i64, i64* %todo, align 8 + store i64 %21, i64* %stodo, align 8 + br label %if.end11 + +if.end11: ; preds = %if.then10, %if.then7 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart12 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 3 + %23 = load i8*, i8** %__bufstart12, align 8 + store i8* %23, i8** %s, align 8 + br label %do.body13 + +do.body13: ; preds = %if.end20, %if.end11 + %24 = load i8*, i8** %buf.addr, align 8 + %25 = load i8, i8* %24, align 1 + %26 = load i8*, i8** %s, align 8 + store i8 %25, i8* %26, align 1 + %conv14 = zext i8 %25 to i32 + %cmp15 = icmp eq i32 %conv14, 10 + br i1 %cmp15, label %land.lhs.true, label %if.end20 + +land.lhs.true: ; preds = %do.body13 + %27 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %27, i32 0, i32 0 + %28 = load i16, i16* %__modeflags17, align 8 + %conv18 = zext i16 %28 to i32 + %and = and i32 %conv18, 256 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %do.end, label %if.end20 + +if.end20: ; preds = %land.lhs.true, %do.body13 + %29 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %29, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %30 = load i8*, i8** %buf.addr, align 8 + %incdec.ptr21 = getelementptr inbounds i8, i8* %30, i32 1 + store i8* %incdec.ptr21, i8** %buf.addr, align 8 + %31 = load i64, i64* %stodo, align 8 + %dec = add nsw i64 %31, -1 + store i64 %dec, i64* %stodo, align 8 + %tobool22 = icmp ne i64 %dec, 0 + br i1 %tobool22, label %do.body13, label %do.end + +do.end: ; preds = %land.lhs.true, %if.end20 + %32 = load i8*, i8** %s, align 8 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %33, i32 0, i32 5 + store i8* %32, i8** %__bufpos, align 8 + %34 = load i8*, i8** %s, align 8 + %35 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart23 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %35, i32 0, i32 3 + %36 = load i8*, i8** %__bufstart23, align 8 + %sub.ptr.lhs.cast24 = ptrtoint i8* %34 to i64 + %sub.ptr.rhs.cast25 = ptrtoint i8* %36 to i64 + %sub.ptr.sub26 = sub i64 %sub.ptr.lhs.cast24, %sub.ptr.rhs.cast25 + %37 = load i64, i64* %todo, align 8 + %sub27 = sub i64 %37, %sub.ptr.sub26 + store i64 %sub27, i64* %todo, align 8 + br label %if.end28 + +if.end28: ; preds = %do.end, %if.else + %38 = load i64, i64* %bufsize.addr, align 8 + %39 = load i64, i64* %todo, align 8 + %sub29 = sub i64 %38, %39 + store i64 %sub29, i64* %retval, align 8 + br label %do.end32 + +do.end32: ; preds = %if.then, %if.end28 + %40 = load i64, i64* %retval, align 8 + ret i64 %40 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__freading(%struct.__STDIO_FILE_STRUCT.519* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.519*, align 8 + store %struct.__STDIO_FILE_STRUCT.519* %stream, %struct.__STDIO_FILE_STRUCT.519** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.519*, %struct.__STDIO_FILE_STRUCT.519** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.519, %struct.__STDIO_FILE_STRUCT.519* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 35 + ret i32 %and +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_rfill(%struct.__STDIO_FILE_STRUCT.568* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %rv = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %1, i32 0, i32 3 + %2 = load i8*, i8** %__bufstart, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 4 + %4 = load i8*, i8** %__bufend, align 8 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 3 + %6 = load i8*, i8** %__bufstart1, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %4 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %6 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %call = call i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.568* %0, i8* %2, i64 %sub.ptr.sub) #19 + store i64 %call, i64* %rv, align 8 + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %7, i32 0, i32 3 + %8 = load i8*, i8** %__bufstart2, align 8 + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %9, i32 0, i32 5 + store i8* %8, i8** %__bufpos, align 8 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart3 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 3 + %11 = load i8*, i8** %__bufstart3, align 8 + %12 = load i64, i64* %rv, align 8 + %add.ptr = getelementptr inbounds i8, i8* %11, i64 %12 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 6 + store i8* %add.ptr, i8** %__bufread, align 8 + %14 = load i64, i64* %rv, align 8 + ret i64 %14 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_trans2r_o(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %oflag) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %oflag.addr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %oflag, i32* %oflag.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %2 = load i32, i32* %oflag.addr, align 4 + %and = and i32 %conv, %2 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end9, label %if.then + +if.then: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 0 + %4 = load i16, i16* %__modeflags1, align 8 + %conv2 = zext i16 %4 to i32 + %and3 = and i32 %conv2, 2176 + %tobool4 = icmp ne i32 %and3, 0 + br i1 %tobool4, label %DO_EBADF, label %if.end + +if.end: ; preds = %if.then + %5 = load i32, i32* %oflag.addr, align 4 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 0 + %7 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %7 to i32 + %or = or i32 %conv7, %5 + %conv8 = trunc i32 %or to i16 + store i16 %conv8, i16* %__modeflags6, align 8 + br label %if.end9 + +if.end9: ; preds = %if.end, %entry + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags10, align 8 + %conv11 = zext i16 %9 to i32 + %and12 = and i32 %conv11, 16 + %tobool13 = icmp ne i32 %and12, 0 + br i1 %tobool13, label %DO_EBADF, label %if.end19 + +DO_EBADF: ; preds = %if.end9, %if.then + store i32 9, i32* @errno, align 4 + br label %ERROR + +ERROR: ; preds = %if.then24, %DO_EBADF + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags15 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 0 + %11 = load i16, i16* %__modeflags15, align 8 + %conv16 = zext i16 %11 to i32 + %or17 = or i32 %conv16, 8 + %conv18 = trunc i32 %or17 to i16 + store i16 %conv18, i16* %__modeflags15, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end19: ; preds = %if.end9 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags20 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags20, align 8 + %conv21 = zext i16 %13 to i32 + %and22 = and i32 %conv21, 64 + %tobool23 = icmp ne i32 %and22, 0 + br i1 %tobool23, label %if.then24, label %if.end32 + +if.then24: ; preds = %if.end19 + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %14) #19 + %tobool25 = icmp ne i64 %call, 0 + br i1 %tobool25, label %ERROR, label %if.end27 + +if.end27: ; preds = %if.then24 + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 3 + %16 = load i8*, i8** %__bufstart, align 8 + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 8 + store i8* %16, i8** %__bufputc_u, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags28 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 0 + %19 = load i16, i16* %__modeflags28, align 8 + %conv29 = zext i16 %19 to i32 + %and30 = and i32 %conv29, -65 + %conv31 = trunc i32 %and30 to i16 + store i16 %conv31, i16* %__modeflags28, align 8 + br label %if.end32 + +if.end32: ; preds = %if.end27, %if.end19 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags33 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 0 + %21 = load i16, i16* %__modeflags33, align 8 + %conv34 = zext i16 %21 to i32 + %or35 = or i32 %conv34, 1 + %conv36 = trunc i32 %or35 to i16 + store i16 %conv36, i16* %__modeflags33, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end32, %ERROR + %22 = load i32, i32* %retval, align 4 + ret i32 %22 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fclose(%struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %rv = alloca i32, align 4 + %ptr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 0, i32* %rv, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %0, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %1, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp = icmp eq %struct.__STDIO_FILE_STRUCT.568* %1, %2 + br i1 %cmp, label %if.then, label %while.cond + +if.then: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 9 + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %4, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + br label %if.end7 + +while.cond: ; preds = %entry, %if.end + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %5, null + br i1 %tobool, label %while.body, label %if.end7 + +while.body: ; preds = %while.cond + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 9 + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen1, align 8 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp2 = icmp eq %struct.__STDIO_FILE_STRUCT.568* %7, %8 + br i1 %cmp2, label %if.then3, label %if.end + +if.then3: ; preds = %while.body + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen4 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %9, i32 0, i32 9 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen4, align 8 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen5 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 9 + store %struct.__STDIO_FILE_STRUCT.568* %10, %struct.__STDIO_FILE_STRUCT.568** %__nextopen5, align 8 + br label %if.end7 + +if.end: ; preds = %while.body + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 9 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen6, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %13, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + br label %while.cond + +if.end7: ; preds = %while.cond, %if.then3, %if.then + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %14, i32 0, i32 0 + %15 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %15 to i32 + %and = and i32 %conv, 64 + %tobool8 = icmp ne i32 %and, 0 + br i1 %tobool8, label %if.then9, label %if.end10 + +if.then9: ; preds = %if.end7 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.568* %16) #19 + store i32 %call, i32* %rv, align 4 + br label %if.end10 + +if.end10: ; preds = %if.then9, %if.end7 + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 2 + %18 = load i32, i32* %__filedes, align 4 + %call11 = call i32 @close(i32 %18) #19 + %cmp12 = icmp slt i32 %call11, 0 + br i1 %cmp12, label %if.then14, label %if.end15 + +if.then14: ; preds = %if.end10 + store i32 -1, i32* %rv, align 4 + br label %if.end15 + +if.end15: ; preds = %if.then14, %if.end10 + %19 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes16 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %19, i32 0, i32 2 + store i32 -1, i32* %__filedes16, align 4 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 0 + %21 = load i16, i16* %__modeflags17, align 8 + %conv18 = zext i16 %21 to i32 + %and19 = and i32 %conv18, 24576 + %conv20 = trunc i32 %and19 to i16 + store i16 %conv20, i16* %__modeflags17, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags21 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 0 + %23 = load i16, i16* %__modeflags21, align 8 + %conv22 = zext i16 %23 to i32 + %or = or i32 %conv22, 48 + %conv23 = trunc i32 %or to i16 + store i16 %conv23, i16* %__modeflags21, align 8 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags24 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 0 + %25 = load i16, i16* %__modeflags24, align 8 + %conv25 = zext i16 %25 to i32 + %and26 = and i32 %conv25, 16384 + %tobool27 = icmp ne i32 %and26, 0 + br i1 %tobool27, label %if.then28, label %do.body30 + +if.then28: ; preds = %if.end15 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 3 + %27 = load i8*, i8** %__bufstart, align 8 + call void @free(i8* %27) #20 + br label %do.body30 + +do.body30: ; preds = %if.then28, %if.end15 + %28 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags31 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %28, i32 0, i32 0 + %29 = load i16, i16* %__modeflags31, align 8 + %conv32 = zext i16 %29 to i32 + %and33 = and i32 %conv32, 8192 + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %if.then35, label %do.end37 + +if.then35: ; preds = %do.body30 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %31 = bitcast %struct.__STDIO_FILE_STRUCT.568* %30 to i8* + call void @free(i8* %31) #20 + br label %do.end37 + +do.end37: ; preds = %do.body30, %if.then35 + %32 = load i32, i32* %rv, align 4 + ret i32 %32 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @feof_unlocked(%struct.__STDIO_FILE_STRUCT.590* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.590*, align 8 + store %struct.__STDIO_FILE_STRUCT.590* %stream, %struct.__STDIO_FILE_STRUCT.590** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.590*, %struct.__STDIO_FILE_STRUCT.590** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.590, %struct.__STDIO_FILE_STRUCT.590* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 4 + ret i32 %and +} + +; Function Attrs: noinline nounwind uwtable +define i32 @ferror_unlocked(%struct.__STDIO_FILE_STRUCT.592* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.592*, align 8 + store %struct.__STDIO_FILE_STRUCT.592* %stream, %struct.__STDIO_FILE_STRUCT.592** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.592*, %struct.__STDIO_FILE_STRUCT.592** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.592, %struct.__STDIO_FILE_STRUCT.592* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 8 + ret i32 %and +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %retval1 = alloca i32, align 4 + %bufmask = alloca i16, align 2 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 0, i32* %retval1, align 4 + store i16 256, i16* %bufmask, align 2 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp = icmp eq %struct.__STDIO_FILE_STRUCT.568* %0, bitcast (%struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist to %struct.__STDIO_FILE_STRUCT.568*) + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store %struct.__STDIO_FILE_STRUCT.568* null, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i16 0, i16* %bufmask, align 2 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %1, null + br i1 %tobool, label %if.else21, label %if.then2 + +if.then2: ; preds = %if.end + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %2, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end20, %if.then2 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %tobool3 = icmp ne %struct.__STDIO_FILE_STRUCT.568* %3, null + br i1 %tobool3, label %while.body, label %if.end39 + +while.body: ; preds = %while.cond + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 0 + %5 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %5 to i32 + %and = and i32 %conv, 64 + %tobool4 = icmp ne i32 %and, 0 + br i1 %tobool4, label %if.then5, label %if.end20 + +if.then5: ; preds = %while.body + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 0 + %7 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %7 to i32 + %8 = load i16, i16* %bufmask, align 2 + %conv8 = zext i16 %8 to i32 + %or = or i32 %conv7, %conv8 + %xor = xor i32 %or, 320 + %and9 = and i32 %xor, 832 + %tobool10 = icmp ne i32 %and9, 0 + br i1 %tobool10, label %if.end20, label %if.then11 + +if.then11: ; preds = %if.then5 + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %9) #19 + %tobool12 = icmp ne i64 %call, 0 + br i1 %tobool12, label %if.else, label %if.then13 + +if.then13: ; preds = %if.then11 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 3 + %11 = load i8*, i8** %__bufstart, align 8 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 8 + store i8* %11, i8** %__bufputc_u, align 8 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags14 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 0 + %14 = load i16, i16* %__modeflags14, align 8 + %conv15 = zext i16 %14 to i32 + %and16 = and i32 %conv15, -65 + %conv17 = trunc i32 %and16 to i16 + store i16 %conv17, i16* %__modeflags14, align 8 + br label %if.end20 + +if.else: ; preds = %if.then11 + store i32 -1, i32* %retval1, align 4 + br label %if.end20 + +if.end20: ; preds = %if.then5, %if.else, %if.then13, %while.body + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 9 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %16, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br label %while.cond + +if.else21: ; preds = %if.end + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags22 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 0 + %18 = load i16, i16* %__modeflags22, align 8 + %conv23 = zext i16 %18 to i32 + %and24 = and i32 %conv23, 64 + %tobool25 = icmp ne i32 %and24, 0 + br i1 %tobool25, label %if.then26, label %if.end39 + +if.then26: ; preds = %if.else21 + %19 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call27 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %19) #19 + %tobool28 = icmp ne i64 %call27, 0 + br i1 %tobool28, label %if.else36, label %if.then29 + +if.then29: ; preds = %if.then26 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart30 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 3 + %21 = load i8*, i8** %__bufstart30, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u31 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 8 + store i8* %21, i8** %__bufputc_u31, align 8 + %23 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags32 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %23, i32 0, i32 0 + %24 = load i16, i16* %__modeflags32, align 8 + %conv33 = zext i16 %24 to i32 + %and34 = and i32 %conv33, -65 + %conv35 = trunc i32 %and34 to i16 + store i16 %conv35, i16* %__modeflags32, align 8 + br label %if.end39 + +if.else36: ; preds = %if.then26 + store i32 -1, i32* %retval1, align 4 + br label %if.end39 + +if.end39: ; preds = %if.else21, %if.else36, %if.then29, %while.cond + %25 = load i32, i32* %retval1, align 4 + ret i32 %25 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fileno_unlocked(%struct.__STDIO_FILE_STRUCT.608* %stream) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.608*, align 8 + store %struct.__STDIO_FILE_STRUCT.608* %stream, %struct.__STDIO_FILE_STRUCT.608** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.608*, %struct.__STDIO_FILE_STRUCT.608** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.608, %struct.__STDIO_FILE_STRUCT.608* %0, i32 0, i32 2 + %1 = load i32, i32* %__filedes, align 4 + %cmp = icmp sge i32 %1, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.608*, %struct.__STDIO_FILE_STRUCT.608** %stream.addr, align 8 + %__filedes1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.608, %struct.__STDIO_FILE_STRUCT.608* %2, i32 0, i32 2 + %3 = load i32, i32* %__filedes1, align 4 + store i32 %3, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + store i32 9, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.__STDIO_FILE_STRUCT.612* @fopen(i8* noalias %filename, i8* noalias %mode) #0 { +entry: + %filename.addr = alloca i8*, align 8 + %mode.addr = alloca i8*, align 8 + store i8* %filename, i8** %filename.addr, align 8 + store i8* %mode, i8** %mode.addr, align 8 + %0 = load i8*, i8** %filename.addr, align 8 + %1 = ptrtoint i8* %0 to i64 + %2 = load i8*, i8** %mode.addr, align 8 + %call = call %struct.__STDIO_FILE_STRUCT.612* bitcast (%struct.__STDIO_FILE_STRUCT.568* (i64, i8*, %struct.__STDIO_FILE_STRUCT.568*, i32)* @_stdio_fopen to %struct.__STDIO_FILE_STRUCT.612* (i64, i8*, %struct.__STDIO_FILE_STRUCT.612*, i32)*)(i64 %1, i8* %2, %struct.__STDIO_FILE_STRUCT.612* null, i32 -1) #19 + ret %struct.__STDIO_FILE_STRUCT.612* %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fprintf(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i8* noalias %format, ...) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %format.addr = alloca i8*, align 8 + %arg = alloca [1 x %struct.__va_list_tag.0], align 16 + %rv = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdout, align 8 + %cmp = icmp eq %struct.__STDIO_FILE_STRUCT.568* %0, %1 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %cmp2 = icmp eq %struct.__STDIO_FILE_STRUCT.568* %2, %3 + br i1 %cmp2, label %if.then, label %if.else + +if.then: ; preds = %lor.lhs.false, %entry + %4 = load i8*, i8** %format.addr, align 8 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %call = call i32 @vprintf(i8* %4, %struct.__va_list_tag.0* %arraydecay3) #19 + store i32 %call, i32* %rv, align 4 + br label %if.end + +if.else: ; preds = %lor.lhs.false + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %6 = load i8*, i8** %format.addr, align 8 + %arraydecay4 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %call5 = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %5, i8* %6, %struct.__va_list_tag.0* %arraydecay4) #19 + store i32 %call5, i32* %rv, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %arraydecay6 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay67 = bitcast %struct.__va_list_tag.0* %arraydecay6 to i8* + call void @llvm.va_end(i8* %arraydecay67) + %7 = load i32, i32* %rv, align 4 + ret i32 %7 +} + +declare i32 @vprintf(i8*, %struct.__va_list_tag.0*) #18 + +; Function Attrs: noinline nounwind uwtable +define i32 @__fputc_unlocked(i32 %c, %struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %retval = alloca i32, align 4 + %c.addr = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %uc = alloca i8, align 1 + store i32 %c, i32* %c.addr, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 5 + %1 = load i8*, i8** %__bufpos, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 8 + %3 = load i8*, i8** %__bufputc_u, align 8 + %cmp = icmp ult i8* %1, %3 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %4 = load i32, i32* %c.addr, align 4 + %conv = trunc i32 %4 to i8 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 5 + %6 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + store i8 %conv, i8* %6, align 1 + %7 = load i32, i32* %c.addr, align 4 + %conv2 = trunc i32 %7 to i8 + %conv3 = zext i8 %conv2 to i32 + store i32 %conv3, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags, align 8 + %conv4 = zext i16 %9 to i32 + %and = and i32 %conv4, 192 + %cmp5 = icmp eq i32 %and, 192 + br i1 %cmp5, label %if.then7, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* %10, i32 128) #19 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %BAD, label %if.then7 + +if.then7: ; preds = %lor.lhs.false, %if.end + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 2 + %12 = load i32, i32* %__filedes, align 4 + %cmp8 = icmp eq i32 %12, -2 + br i1 %cmp8, label %if.then10, label %if.end13 + +if.then10: ; preds = %if.then7 + %13 = load i32, i32* %c.addr, align 4 + %conv11 = trunc i32 %13 to i8 + %conv12 = zext i8 %conv11 to i32 + store i32 %conv12, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.then7 + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %14, i32 0, i32 4 + %15 = load i8*, i8** %__bufend, align 8 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %16, i32 0, i32 3 + %17 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %15 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %17 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool14 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %tobool14, label %if.then15, label %if.else + +if.then15: ; preds = %if.end13 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend16 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 4 + %19 = load i8*, i8** %__bufend16, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 5 + %21 = load i8*, i8** %__bufpos17, align 8 + %sub.ptr.lhs.cast18 = ptrtoint i8* %19 to i64 + %sub.ptr.rhs.cast19 = ptrtoint i8* %21 to i64 + %sub.ptr.sub20 = sub i64 %sub.ptr.lhs.cast18, %sub.ptr.rhs.cast19 + %tobool21 = icmp ne i64 %sub.ptr.sub20, 0 + br i1 %tobool21, label %if.end25, label %land.lhs.true + +land.lhs.true: ; preds = %if.then15 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call22 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %22) #19 + %tobool23 = icmp ne i64 %call22, 0 + br i1 %tobool23, label %BAD, label %if.end25 + +if.end25: ; preds = %land.lhs.true, %if.then15 + %23 = load i32, i32* %c.addr, align 4 + %conv26 = trunc i32 %23 to i8 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos27 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 5 + %25 = load i8*, i8** %__bufpos27, align 8 + %incdec.ptr28 = getelementptr inbounds i8, i8* %25, i32 1 + store i8* %incdec.ptr28, i8** %__bufpos27, align 8 + store i8 %conv26, i8* %25, align 1 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags29 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 0 + %27 = load i16, i16* %__modeflags29, align 8 + %conv30 = zext i16 %27 to i32 + %and31 = and i32 %conv30, 256 + %tobool32 = icmp ne i32 %and31, 0 + br i1 %tobool32, label %if.then33, label %if.end51 + +if.then33: ; preds = %if.end25 + %28 = load i32, i32* %c.addr, align 4 + %conv34 = trunc i32 %28 to i8 + %conv35 = zext i8 %conv34 to i32 + %cmp36 = icmp eq i32 %conv35, 10 + br i1 %cmp36, label %land.lhs.true38, label %if.end51 + +land.lhs.true38: ; preds = %if.then33 + %29 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call39 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %29) #19 + %tobool40 = icmp ne i64 %call39, 0 + br i1 %tobool40, label %if.then41, label %if.end51 + +if.then41: ; preds = %land.lhs.true38 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos42 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %30, i32 0, i32 5 + %31 = load i8*, i8** %__bufpos42, align 8 + %incdec.ptr43 = getelementptr inbounds i8, i8* %31, i32 -1 + store i8* %incdec.ptr43, i8** %__bufpos42, align 8 + br label %BAD + +if.else: ; preds = %if.end13 + %32 = load i32, i32* %c.addr, align 4 + %conv46 = trunc i32 %32 to i8 + store i8 %conv46, i8* %uc, align 1 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call47 = call i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %33, i8* %uc, i64 1) #19 + %tobool48 = icmp ne i64 %call47, 0 + br i1 %tobool48, label %if.end51, label %BAD + +if.end51: ; preds = %if.else, %if.end25, %land.lhs.true38, %if.then33 + %34 = load i32, i32* %c.addr, align 4 + %conv52 = trunc i32 %34 to i8 + %conv53 = zext i8 %conv52 to i32 + store i32 %conv53, i32* %retval, align 4 + br label %return + +BAD: ; preds = %lor.lhs.false, %if.else, %land.lhs.true, %if.then41 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %BAD, %if.end51, %if.then10, %if.then + %35 = load i32, i32* %retval, align 4 + ret i32 %35 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fputs_unlocked(i8* noalias %s, %struct.__STDIO_FILE_STRUCT.621* noalias %stream) #0 { +entry: + %s.addr = alloca i8*, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.621*, align 8 + %n = alloca i64, align 8 + store i8* %s, i8** %s.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.621* %stream, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %call = call i64 @strlen(i8* %0) #21 + store i64 %call, i64* %n, align 8 + %1 = load i8*, i8** %s.addr, align 8 + %2 = load i64, i64* %n, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %call1 = call i64 bitcast (i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*)* @fwrite_unlocked to i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.621*)*)(i8* %1, i64 1, i64 %2, %struct.__STDIO_FILE_STRUCT.621* %3) #19 + %4 = load i64, i64* %n, align 8 + %cmp = icmp eq i64 %call1, %4 + %5 = load i64, i64* %n, align 8 + %cond = select i1 %cmp, i64 %5, i64 -1 + %conv = trunc i64 %cond to i32 + ret i32 %conv +} + +; Function Attrs: noinline nounwind uwtable +define i64 @fread_unlocked(i8* noalias %ptr, i64 %size, i64 %nmemb, %struct.__STDIO_FILE_STRUCT.568* noalias %stream) #0 { +entry: + %retval = alloca i64, align 8 + %ptr.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %nmemb.addr = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %buffer = alloca i8*, align 8 + %todo = alloca i64, align 8 + %bytes = alloca i64, align 8 + %avail = alloca i64, align 8 + store i8* %ptr, i8** %ptr.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + store i64 %nmemb, i64* %nmemb.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 131 + %cmp = icmp ugt i32 %and, 128 + br i1 %cmp, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2r_o(%struct.__STDIO_FILE_STRUCT.568* %2, i32 128) #19 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end60, label %land.lhs.true + +land.lhs.true: ; preds = %lor.lhs.false, %entry + %3 = load i64, i64* %size.addr, align 8 + %tobool2 = icmp ne i64 %3, 0 + %4 = load i64, i64* %nmemb.addr, align 8 + %tobool4 = icmp ne i64 %4, 0 + %or.cond = and i1 %tobool2, %tobool4 + br i1 %or.cond, label %if.then, label %if.end60 + +if.then: ; preds = %land.lhs.true + %5 = load i64, i64* %nmemb.addr, align 8 + %6 = load i64, i64* %size.addr, align 8 + %div = udiv i64 -1, %6 + %cmp5 = icmp ule i64 %5, %div + br i1 %cmp5, label %if.then7, label %if.end56 + +if.then7: ; preds = %if.then + %7 = load i8*, i8** %ptr.addr, align 8 + store i8* %7, i8** %buffer, align 8 + %8 = load i64, i64* %size.addr, align 8 + %9 = load i64, i64* %nmemb.addr, align 8 + %mul = mul i64 %8, %9 + store i64 %mul, i64* %bytes, align 8 + store i64 %mul, i64* %todo, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.then7 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags8 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 0 + %11 = load i16, i16* %__modeflags8, align 8 + %conv9 = zext i16 %11 to i32 + %and10 = and i32 %conv9, 2 + %tobool11 = icmp ne i32 %and10, 0 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %tobool11, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %__ungot = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 10 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags12 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 0 + %14 = load i16, i16* %__modeflags12, align 8 + %dec = add i16 %14, -1 + store i16 %dec, i16* %__modeflags12, align 8 + %conv13 = zext i16 %14 to i32 + %and14 = and i32 %conv13, 1 + %idxprom = sext i32 %and14 to i64 + %arrayidx = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot, i64 0, i64 %idxprom + %15 = load i32, i32* %arrayidx, align 4 + %conv15 = trunc i32 %15 to i8 + %16 = load i8*, i8** %buffer, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %16, i32 1 + store i8* %incdec.ptr, i8** %buffer, align 8 + store i8 %conv15, i8* %16, align 1 + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__ungot16 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 10 + %arrayidx17 = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot16, i64 0, i64 1 + store i32 0, i32* %arrayidx17, align 4 + %18 = load i64, i64* %todo, align 8 + %dec18 = add i64 %18, -1 + store i64 %dec18, i64* %todo, align 8 + %tobool19 = icmp ne i64 %dec18, 0 + br i1 %tobool19, label %while.cond, label %DONE + +while.end: ; preds = %while.cond + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 6 + %19 = load i8*, i8** %__bufread, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 5 + %21 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %21 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %avail, align 8 + %cmp21 = icmp ugt i64 %sub.ptr.sub, 0 + br i1 %cmp21, label %if.then23, label %if.end35 + +if.then23: ; preds = %while.end + %22 = load i64, i64* %avail, align 8 + %23 = load i64, i64* %todo, align 8 + %cmp24 = icmp ugt i64 %22, %23 + br i1 %cmp24, label %if.then26, label %if.end27 + +if.then26: ; preds = %if.then23 + %24 = load i64, i64* %todo, align 8 + store i64 %24, i64* %avail, align 8 + br label %if.end27 + +if.end27: ; preds = %if.then26, %if.then23 + %25 = load i8*, i8** %buffer, align 8 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos28 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 5 + %27 = load i8*, i8** %__bufpos28, align 8 + %28 = load i64, i64* %avail, align 8 + %call29 = call i8* @memcpy(i8* %25, i8* %27, i64 %28) #20 + %29 = load i64, i64* %avail, align 8 + %30 = load i8*, i8** %buffer, align 8 + %add.ptr = getelementptr inbounds i8, i8* %30, i64 %29 + store i8* %add.ptr, i8** %buffer, align 8 + %31 = load i64, i64* %avail, align 8 + %32 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos30 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %32, i32 0, i32 5 + %33 = load i8*, i8** %__bufpos30, align 8 + %add.ptr31 = getelementptr inbounds i8, i8* %33, i64 %31 + store i8* %add.ptr31, i8** %__bufpos30, align 8 + %34 = load i64, i64* %avail, align 8 + %35 = load i64, i64* %todo, align 8 + %sub = sub i64 %35, %34 + store i64 %sub, i64* %todo, align 8 + %tobool32 = icmp ne i64 %sub, 0 + br i1 %tobool32, label %if.end35, label %DONE + +if.end35: ; preds = %if.end27, %while.end + %36 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags36 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %36, i32 0, i32 0 + %37 = load i16, i16* %__modeflags36, align 8 + %conv37 = zext i16 %37 to i32 + %and38 = and i32 %conv37, 768 + %tobool39 = icmp ne i32 %and38, 0 + br i1 %tobool39, label %if.then40, label %if.end42 + +if.then40: ; preds = %if.end35 + %call41 = call i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.568* bitcast (%struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist to %struct.__STDIO_FILE_STRUCT.568*)) #19 + br label %if.end42 + +if.end42: ; preds = %if.then40, %if.end35 + br label %while.cond43 + +while.cond43: ; preds = %while.body47, %if.end42 + %38 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %39 = load i8*, i8** %buffer, align 8 + %40 = load i64, i64* %todo, align 8 + %call44 = call i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.568* %38, i8* %39, i64 %40) #19 + store i64 %call44, i64* %avail, align 8 + %cmp45 = icmp ugt i64 %call44, 0 + br i1 %cmp45, label %while.body47, label %DONE + +while.body47: ; preds = %while.cond43 + %41 = load i64, i64* %avail, align 8 + %42 = load i8*, i8** %buffer, align 8 + %add.ptr48 = getelementptr inbounds i8, i8* %42, i64 %41 + store i8* %add.ptr48, i8** %buffer, align 8 + %43 = load i64, i64* %avail, align 8 + %44 = load i64, i64* %todo, align 8 + %sub49 = sub i64 %44, %43 + store i64 %sub49, i64* %todo, align 8 + %tobool50 = icmp ne i64 %sub49, 0 + br i1 %tobool50, label %while.cond43, label %DONE + +DONE: ; preds = %while.cond43, %while.body47, %if.end27, %while.body + %45 = load i64, i64* %bytes, align 8 + %46 = load i64, i64* %todo, align 8 + %sub54 = sub i64 %45, %46 + %47 = load i64, i64* %size.addr, align 8 + %div55 = udiv i64 %sub54, %47 + store i64 %div55, i64* %retval, align 8 + br label %return + +if.end56: ; preds = %if.then + %48 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags57 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %48, i32 0, i32 0 + %49 = load i16, i16* %__modeflags57, align 8 + %conv58 = zext i16 %49 to i32 + %or = or i32 %conv58, 8 + %conv59 = trunc i32 %or to i16 + store i16 %conv59, i16* %__modeflags57, align 8 + store i32 22, i32* @errno, align 4 + br label %if.end60 + +if.end60: ; preds = %if.end56, %land.lhs.true, %lor.lhs.false + store i64 0, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end60, %DONE + %50 = load i64, i64* %retval, align 8 + ret i64 %50 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fseek(%struct.__STDIO_FILE_STRUCT.636* %stream, i64 %offset, i32 %whence) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %1 = load i64, i64* %offset.addr, align 8 + %2 = load i32, i32* %whence.addr, align 4 + %call = call i32 @fseeko64(%struct.__STDIO_FILE_STRUCT.636* %0, i64 %1, i32 %2) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i64 @fwrite_unlocked(i8* noalias %ptr, i64 %size, i64 %nmemb, %struct.__STDIO_FILE_STRUCT.568* noalias %stream) #0 { +entry: + %retval = alloca i64, align 8 + %ptr.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %nmemb.addr = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + store i8* %ptr, i8** %ptr.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + store i64 %nmemb, i64* %nmemb.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 192 + %cmp = icmp eq i32 %and, 192 + br i1 %cmp, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* %2, i32 128) #19 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end13, label %land.lhs.true + +land.lhs.true: ; preds = %lor.lhs.false, %entry + %3 = load i64, i64* %size.addr, align 8 + %tobool2 = icmp ne i64 %3, 0 + %4 = load i64, i64* %nmemb.addr, align 8 + %tobool4 = icmp ne i64 %4, 0 + %or.cond = and i1 %tobool2, %tobool4 + br i1 %or.cond, label %if.then, label %if.end13 + +if.then: ; preds = %land.lhs.true + %5 = load i64, i64* %nmemb.addr, align 8 + %6 = load i64, i64* %size.addr, align 8 + %div = udiv i64 -1, %6 + %cmp5 = icmp ule i64 %5, %div + br i1 %cmp5, label %if.then7, label %if.end + +if.then7: ; preds = %if.then + %7 = load i8*, i8** %ptr.addr, align 8 + %8 = load i64, i64* %size.addr, align 8 + %9 = load i64, i64* %nmemb.addr, align 8 + %mul = mul i64 %8, %9 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call8 = call i64 @__stdio_fwrite(i8* %7, i64 %mul, %struct.__STDIO_FILE_STRUCT.568* %10) #19 + %11 = load i64, i64* %size.addr, align 8 + %div9 = udiv i64 %call8, %11 + store i64 %div9, i64* %retval, align 8 + br label %return + +if.end: ; preds = %if.then + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags10, align 8 + %conv11 = zext i16 %13 to i32 + %or = or i32 %conv11, 8 + %conv12 = trunc i32 %or to i16 + store i16 %conv12, i16* %__modeflags10, align 8 + store i32 22, i32* @errno, align 4 + br label %if.end13 + +if.end13: ; preds = %if.end, %land.lhs.true, %lor.lhs.false + store i64 0, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end13, %if.then7 + %14 = load i64, i64* %retval, align 8 + ret i64 %14 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @vsnprintf(i8* noalias %buf, i64 %size, i8* noalias %format, %struct.__va_list_tag.0* %arg) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %format.addr = alloca i8*, align 8 + %arg.addr = alloca %struct.__va_list_tag.0*, align 8 + %f = alloca %struct.__STDIO_FILE_STRUCT.568, align 8 + %rv = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + store %struct.__va_list_tag.0* %arg, %struct.__va_list_tag.0** %arg.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 2 + store i32 -2, i32* %__filedes, align 4 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 0 + store i16 208, i16* %__modeflags, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 1 + %arrayidx = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 0 + store i8 0, i8* %arrayidx, align 2 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + store i32 0, i32* %__mask, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 9 + store %struct.__STDIO_FILE_STRUCT.568* null, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + %0 = load i64, i64* %size.addr, align 8 + %1 = load i8*, i8** %buf.addr, align 8 + %2 = ptrtoint i8* %1 to i64 + %sub = sub i64 -1, %2 + %cmp = icmp ugt i64 %0, %sub + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %3 = load i8*, i8** %buf.addr, align 8 + %4 = ptrtoint i8* %3 to i64 + %sub1 = sub i64 -1, %4 + store i64 %sub1, i64* %size.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %5 = load i8*, i8** %buf.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 3 + store i8* %5, i8** %__bufstart, align 8 + %6 = load i8*, i8** %buf.addr, align 8 + %7 = load i64, i64* %size.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %6, i64 %7 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 4 + store i8* %add.ptr, i8** %__bufend, align 8 + %__bufstart2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 3 + %8 = load i8*, i8** %__bufstart2, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + store i8* %8, i8** %__bufpos, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 6 + store i8* %8, i8** %__bufread, align 8 + %__bufstart3 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 3 + %9 = load i8*, i8** %__bufstart3, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 7 + store i8* %9, i8** %__bufgetc_u, align 8 + %__bufend4 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 4 + %10 = load i8*, i8** %__bufend4, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 8 + store i8* %10, i8** %__bufputc_u, align 8 + %11 = load i8*, i8** %format.addr, align 8 + %12 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %arg.addr, align 8 + %call = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %f, i8* %11, %struct.__va_list_tag.0* %12) #19 + store i32 %call, i32* %rv, align 4 + %13 = load i64, i64* %size.addr, align 8 + %tobool = icmp ne i64 %13, 0 + br i1 %tobool, label %if.then5, label %if.end13 + +if.then5: ; preds = %if.end + %__bufpos6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + %14 = load i8*, i8** %__bufpos6, align 8 + %__bufend7 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 4 + %15 = load i8*, i8** %__bufend7, align 8 + %cmp8 = icmp eq i8* %14, %15 + br i1 %cmp8, label %if.then9, label %if.end11 + +if.then9: ; preds = %if.then5 + %__bufpos10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + %16 = load i8*, i8** %__bufpos10, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %16, i32 -1 + store i8* %incdec.ptr, i8** %__bufpos10, align 8 + br label %if.end11 + +if.end11: ; preds = %if.then9, %if.then5 + %__bufpos12 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + %17 = load i8*, i8** %__bufpos12, align 8 + store i8 0, i8* %17, align 1 + br label %if.end13 + +if.end13: ; preds = %if.end11, %if.end + %18 = load i32, i32* %rv, align 4 + ret i32 %18 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @atexit(void ()* nonnull %func) #0 { +entry: + %func.addr = alloca void ()*, align 8 + store void ()* %func, void ()** %func.addr, align 8 + %0 = load void ()*, void ()** %func.addr, align 8 + %1 = bitcast void ()* %0 to void (i8*)* + br i1 icmp eq (i8** @__dso_handle, i8** null), label %cond.end, label %cond.false + +cond.false: ; preds = %entry + %2 = load i8*, i8** @__dso_handle, align 8 + br label %cond.end + +cond.end: ; preds = %entry, %cond.false + %cond = phi i8* [ %2, %cond.false ], [ null, %entry ] + %call = call i32 @__cxa_atexit(void (i8*)* %1, i8* null, i8* %cond) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i8* @realpath(i8* %path, i8* nonnull %got_path) #0 { +entry: + %retval = alloca i8*, align 8 + %path.addr = alloca i8*, align 8 + %got_path.addr = alloca i8*, align 8 + %copy_path = alloca [4096 x i8], align 16 + %max_path = alloca i8*, align 8 + %new_path = alloca i8*, align 8 + %path_len = alloca i64, align 8 + %readlinks = alloca i32, align 4 + %link_len = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store i8* %got_path, i8** %got_path.addr, align 8 + store i32 0, i32* %readlinks, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %cmp = icmp eq i8* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 22, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %path.addr, align 8 + %2 = load i8, i8* %1, align 1 + %conv = sext i8 %2 to i32 + %cmp1 = icmp eq i32 %conv, 0 + br i1 %cmp1, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.end + store i32 2, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %if.end + %3 = load i8*, i8** %path.addr, align 8 + %call = call i64 @strlen(i8* %3) #21 + store i64 %call, i64* %path_len, align 8 + %4 = load i64, i64* %path_len, align 8 + %cmp5 = icmp uge i64 %4, 4094 + br i1 %cmp5, label %if.then7, label %if.end8 + +if.then7: ; preds = %if.end4 + store i32 36, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end8: ; preds = %if.end4 + %arraydecay = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 4095 + %5 = load i64, i64* %path_len, align 8 + %idx.neg = sub i64 0, %5 + %add.ptr9 = getelementptr inbounds i8, i8* %add.ptr, i64 %idx.neg + %6 = load i8*, i8** %path.addr, align 8 + %call10 = call i8* @strcpy(i8* %add.ptr9, i8* %6) #20 + %arraydecay11 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr12 = getelementptr inbounds i8, i8* %arraydecay11, i64 4095 + %7 = load i64, i64* %path_len, align 8 + %idx.neg13 = sub i64 0, %7 + %add.ptr14 = getelementptr inbounds i8, i8* %add.ptr12, i64 %idx.neg13 + store i8* %add.ptr14, i8** %path.addr, align 8 + %8 = load i8*, i8** %got_path.addr, align 8 + %add.ptr15 = getelementptr inbounds i8, i8* %8, i64 4096 + %add.ptr16 = getelementptr inbounds i8, i8* %add.ptr15, i64 -2 + store i8* %add.ptr16, i8** %max_path, align 8 + %9 = load i8*, i8** %got_path.addr, align 8 + store i8* %9, i8** %new_path, align 8 + %10 = load i8*, i8** %path.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv17 = sext i8 %11 to i32 + %cmp18 = icmp ne i32 %conv17, 47 + %12 = load i8*, i8** %new_path, align 8 + br i1 %cmp18, label %if.then20, label %if.else + +if.then20: ; preds = %if.end8 + %call21 = call i8* @getcwd(i8* %12, i64 4095) #20 + %tobool = icmp ne i8* %call21, null + br i1 %tobool, label %if.end23, label %if.then22 + +if.then22: ; preds = %if.then20 + store i8* null, i8** %retval, align 8 + br label %return + +if.end23: ; preds = %if.then20 + %13 = load i8*, i8** %new_path, align 8 + %call24 = call i64 @strlen(i8* %13) #21 + %14 = load i8*, i8** %new_path, align 8 + %add.ptr25 = getelementptr inbounds i8, i8* %14, i64 %call24 + store i8* %add.ptr25, i8** %new_path, align 8 + %15 = load i8*, i8** %new_path, align 8 + %arrayidx = getelementptr inbounds i8, i8* %15, i64 -1 + %16 = load i8, i8* %arrayidx, align 1 + %conv26 = sext i8 %16 to i32 + %cmp27 = icmp ne i32 %conv26, 47 + br i1 %cmp27, label %if.then29, label %if.end33 + +if.then29: ; preds = %if.end23 + %17 = load i8*, i8** %new_path, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %17, i32 1 + store i8* %incdec.ptr, i8** %new_path, align 8 + store i8 47, i8* %17, align 1 + br label %if.end33 + +if.else: ; preds = %if.end8 + %incdec.ptr31 = getelementptr inbounds i8, i8* %12, i32 1 + store i8* %incdec.ptr31, i8** %new_path, align 8 + store i8 47, i8* %12, align 1 + %18 = load i8*, i8** %path.addr, align 8 + %incdec.ptr32 = getelementptr inbounds i8, i8* %18, i32 1 + store i8* %incdec.ptr32, i8** %path.addr, align 8 + br label %if.end33 + +if.end33: ; preds = %if.end23, %if.then29, %if.else + br label %while.cond + +while.cond: ; preds = %while.cond79, %if.then72, %if.end155, %if.then55, %if.then40, %if.end33 + %19 = load i8*, i8** %path.addr, align 8 + %20 = load i8, i8* %19, align 1 + %conv34 = sext i8 %20 to i32 + %cmp35 = icmp ne i32 %conv34, 0 + br i1 %cmp35, label %while.body, label %while.end157 + +while.body: ; preds = %while.cond + %21 = load i8*, i8** %path.addr, align 8 + %22 = load i8, i8* %21, align 1 + %conv37 = sext i8 %22 to i32 + %cmp38 = icmp eq i32 %conv37, 47 + %23 = load i8*, i8** %path.addr, align 8 + br i1 %cmp38, label %if.then40, label %if.end42 + +if.then40: ; preds = %while.body + %incdec.ptr41 = getelementptr inbounds i8, i8* %23, i32 1 + store i8* %incdec.ptr41, i8** %path.addr, align 8 + br label %while.cond + +if.end42: ; preds = %while.body + %24 = load i8, i8* %23, align 1 + %conv43 = sext i8 %24 to i32 + %cmp44 = icmp eq i32 %conv43, 46 + br i1 %cmp44, label %if.then46, label %if.end88 + +if.then46: ; preds = %if.end42 + %25 = load i8*, i8** %path.addr, align 8 + %arrayidx47 = getelementptr inbounds i8, i8* %25, i64 1 + %26 = load i8, i8* %arrayidx47, align 1 + %conv48 = sext i8 %26 to i32 + %cmp49 = icmp eq i32 %conv48, 0 + br i1 %cmp49, label %if.then55, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then46 + %27 = load i8*, i8** %path.addr, align 8 + %arrayidx51 = getelementptr inbounds i8, i8* %27, i64 1 + %28 = load i8, i8* %arrayidx51, align 1 + %conv52 = sext i8 %28 to i32 + %cmp53 = icmp eq i32 %conv52, 47 + br i1 %cmp53, label %if.then55, label %if.end57 + +if.then55: ; preds = %lor.lhs.false, %if.then46 + %29 = load i8*, i8** %path.addr, align 8 + %incdec.ptr56 = getelementptr inbounds i8, i8* %29, i32 1 + store i8* %incdec.ptr56, i8** %path.addr, align 8 + br label %while.cond + +if.end57: ; preds = %lor.lhs.false + %30 = load i8*, i8** %path.addr, align 8 + %arrayidx58 = getelementptr inbounds i8, i8* %30, i64 1 + %31 = load i8, i8* %arrayidx58, align 1 + %conv59 = sext i8 %31 to i32 + %cmp60 = icmp eq i32 %conv59, 46 + br i1 %cmp60, label %if.then62, label %if.end88 + +if.then62: ; preds = %if.end57 + %32 = load i8*, i8** %path.addr, align 8 + %arrayidx63 = getelementptr inbounds i8, i8* %32, i64 2 + %33 = load i8, i8* %arrayidx63, align 1 + %conv64 = sext i8 %33 to i32 + %cmp65 = icmp eq i32 %conv64, 0 + br i1 %cmp65, label %if.then72, label %lor.lhs.false67 + +lor.lhs.false67: ; preds = %if.then62 + %34 = load i8*, i8** %path.addr, align 8 + %arrayidx68 = getelementptr inbounds i8, i8* %34, i64 2 + %35 = load i8, i8* %arrayidx68, align 1 + %conv69 = sext i8 %35 to i32 + %cmp70 = icmp eq i32 %conv69, 47 + br i1 %cmp70, label %if.then72, label %if.end88 + +if.then72: ; preds = %lor.lhs.false67, %if.then62 + %36 = load i8*, i8** %path.addr, align 8 + %add.ptr73 = getelementptr inbounds i8, i8* %36, i64 2 + store i8* %add.ptr73, i8** %path.addr, align 8 + %37 = load i8*, i8** %new_path, align 8 + %38 = load i8*, i8** %got_path.addr, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %38, i64 1 + %cmp75 = icmp eq i8* %37, %add.ptr74 + br i1 %cmp75, label %while.cond, label %while.cond79 + +while.cond79: ; preds = %while.cond79, %if.then72 + %39 = load i8*, i8** %new_path, align 8 + %incdec.ptr80 = getelementptr inbounds i8, i8* %39, i32 -1 + store i8* %incdec.ptr80, i8** %new_path, align 8 + %arrayidx81 = getelementptr inbounds i8, i8* %incdec.ptr80, i64 -1 + %40 = load i8, i8* %arrayidx81, align 1 + %conv82 = sext i8 %40 to i32 + %cmp83 = icmp ne i32 %conv82, 47 + br i1 %cmp83, label %while.cond79, label %while.cond + +if.end88: ; preds = %if.end57, %lor.lhs.false67, %if.end42 + br label %while.cond89 + +while.cond89: ; preds = %if.end100, %if.end88 + %41 = load i8*, i8** %path.addr, align 8 + %42 = load i8, i8* %41, align 1 + %conv90 = sext i8 %42 to i32 + %cmp91 = icmp ne i32 %conv90, 0 + br i1 %cmp91, label %land.rhs, label %while.end103 + +land.rhs: ; preds = %while.cond89 + %43 = load i8*, i8** %path.addr, align 8 + %44 = load i8, i8* %43, align 1 + %conv93 = sext i8 %44 to i32 + %cmp94 = icmp ne i32 %conv93, 47 + br i1 %cmp94, label %while.body96, label %while.end103 + +while.body96: ; preds = %land.rhs + %45 = load i8*, i8** %new_path, align 8 + %46 = load i8*, i8** %max_path, align 8 + %cmp97 = icmp ugt i8* %45, %46 + br i1 %cmp97, label %if.then99, label %if.end100 + +if.then99: ; preds = %while.body96 + store i32 36, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end100: ; preds = %while.body96 + %47 = load i8*, i8** %path.addr, align 8 + %incdec.ptr101 = getelementptr inbounds i8, i8* %47, i32 1 + store i8* %incdec.ptr101, i8** %path.addr, align 8 + %48 = load i8, i8* %47, align 1 + %49 = load i8*, i8** %new_path, align 8 + %incdec.ptr102 = getelementptr inbounds i8, i8* %49, i32 1 + store i8* %incdec.ptr102, i8** %new_path, align 8 + store i8 %48, i8* %49, align 1 + br label %while.cond89 + +while.end103: ; preds = %while.cond89, %land.rhs + %50 = load i32, i32* %readlinks, align 4 + %inc = add nsw i32 %50, 1 + store i32 %inc, i32* %readlinks, align 4 + %cmp104 = icmp sgt i32 %50, 32 + br i1 %cmp104, label %if.then106, label %if.end107 + +if.then106: ; preds = %while.end103 + store i32 40, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end107: ; preds = %while.end103 + %51 = load i8*, i8** %path.addr, align 8 + %call108 = call i64 @strlen(i8* %51) #21 + store i64 %call108, i64* %path_len, align 8 + %52 = load i8*, i8** %new_path, align 8 + store i8 0, i8* %52, align 1 + %53 = load i8*, i8** %got_path.addr, align 8 + %arraydecay109 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %call110 = call i64 @readlink(i8* %53, i8* %arraydecay109, i64 4095) #20 + %conv111 = trunc i64 %call110 to i32 + store i32 %conv111, i32* %link_len, align 4 + %54 = load i32, i32* %link_len, align 4 + %cmp112 = icmp slt i32 %54, 0 + br i1 %cmp112, label %if.then114, label %if.else119 + +if.then114: ; preds = %if.end107 + %55 = load i32, i32* @errno, align 4 + %cmp115 = icmp ne i32 %55, 22 + br i1 %cmp115, label %if.then117, label %if.end155 + +if.then117: ; preds = %if.then114 + store i8* null, i8** %retval, align 8 + br label %return + +if.else119: ; preds = %if.end107 + %56 = load i64, i64* %path_len, align 8 + %57 = load i32, i32* %link_len, align 4 + %conv120 = sext i32 %57 to i64 + %add = add i64 %56, %conv120 + %cmp121 = icmp uge i64 %add, 4094 + br i1 %cmp121, label %if.then123, label %if.end124 + +if.then123: ; preds = %if.else119 + store i32 36, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end124: ; preds = %if.else119 + %arraydecay125 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %58 = load i8, i8* %arraydecay125, align 16 + %conv126 = sext i8 %58 to i32 + %cmp127 = icmp eq i32 %conv126, 47 + br i1 %cmp127, label %if.then129, label %while.cond131 + +if.then129: ; preds = %if.end124 + %59 = load i8*, i8** %got_path.addr, align 8 + store i8* %59, i8** %new_path, align 8 + br label %if.end138 + +while.cond131: ; preds = %while.cond131, %if.end124 + %60 = load i8*, i8** %new_path, align 8 + %incdec.ptr132 = getelementptr inbounds i8, i8* %60, i32 -1 + store i8* %incdec.ptr132, i8** %new_path, align 8 + %61 = load i8, i8* %incdec.ptr132, align 1 + %conv133 = sext i8 %61 to i32 + %cmp134 = icmp ne i32 %conv133, 47 + br i1 %cmp134, label %while.cond131, label %if.end138 + +if.end138: ; preds = %while.cond131, %if.then129 + %arraydecay139 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr140 = getelementptr inbounds i8, i8* %arraydecay139, i64 4095 + %62 = load i32, i32* %link_len, align 4 + %idx.ext = sext i32 %62 to i64 + %idx.neg141 = sub i64 0, %idx.ext + %add.ptr142 = getelementptr inbounds i8, i8* %add.ptr140, i64 %idx.neg141 + %63 = load i64, i64* %path_len, align 8 + %idx.neg143 = sub i64 0, %63 + %add.ptr144 = getelementptr inbounds i8, i8* %add.ptr142, i64 %idx.neg143 + %arraydecay145 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %64 = load i32, i32* %link_len, align 4 + %conv146 = sext i32 %64 to i64 + %call147 = call i8* @memmove(i8* %add.ptr144, i8* %arraydecay145, i64 %conv146) #20 + %arraydecay148 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr149 = getelementptr inbounds i8, i8* %arraydecay148, i64 4095 + %65 = load i32, i32* %link_len, align 4 + %idx.ext150 = sext i32 %65 to i64 + %idx.neg151 = sub i64 0, %idx.ext150 + %add.ptr152 = getelementptr inbounds i8, i8* %add.ptr149, i64 %idx.neg151 + %66 = load i64, i64* %path_len, align 8 + %idx.neg153 = sub i64 0, %66 + %add.ptr154 = getelementptr inbounds i8, i8* %add.ptr152, i64 %idx.neg153 + store i8* %add.ptr154, i8** %path.addr, align 8 + br label %if.end155 + +if.end155: ; preds = %if.then114, %if.end138 + %67 = load i8*, i8** %new_path, align 8 + %incdec.ptr156 = getelementptr inbounds i8, i8* %67, i32 1 + store i8* %incdec.ptr156, i8** %new_path, align 8 + store i8 47, i8* %67, align 1 + br label %while.cond + +while.end157: ; preds = %while.cond + %68 = load i8*, i8** %new_path, align 8 + %69 = load i8*, i8** %got_path.addr, align 8 + %add.ptr158 = getelementptr inbounds i8, i8* %69, i64 1 + %cmp159 = icmp ne i8* %68, %add.ptr158 + br i1 %cmp159, label %land.lhs.true, label %if.end167 + +land.lhs.true: ; preds = %while.end157 + %70 = load i8*, i8** %new_path, align 8 + %arrayidx161 = getelementptr inbounds i8, i8* %70, i64 -1 + %71 = load i8, i8* %arrayidx161, align 1 + %conv162 = sext i8 %71 to i32 + %cmp163 = icmp eq i32 %conv162, 47 + br i1 %cmp163, label %if.then165, label %if.end167 + +if.then165: ; preds = %land.lhs.true + %72 = load i8*, i8** %new_path, align 8 + %incdec.ptr166 = getelementptr inbounds i8, i8* %72, i32 -1 + store i8* %incdec.ptr166, i8** %new_path, align 8 + br label %if.end167 + +if.end167: ; preds = %if.then165, %land.lhs.true, %while.end157 + %73 = load i8*, i8** %new_path, align 8 + store i8 0, i8* %73, align 1 + %74 = load i8*, i8** %got_path.addr, align 8 + store i8* %74, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end167, %if.then123, %if.then117, %if.then106, %if.then99, %if.then22, %if.then7, %if.then3, %if.then + %75 = load i8*, i8** %retval, align 8 + ret i8* %75 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @strtoul(i8* noalias nonnull %str, i8** noalias %endptr, i32 %base) #0 { +entry: + %str.addr = alloca i8*, align 8 + %endptr.addr = alloca i8**, align 8 + %base.addr = alloca i32, align 4 + store i8* %str, i8** %str.addr, align 8 + store i8** %endptr, i8*** %endptr.addr, align 8 + store i32 %base, i32* %base.addr, align 4 + %0 = load i8*, i8** %str.addr, align 8 + %1 = load i8**, i8*** %endptr.addr, align 8 + %2 = load i32, i32* %base.addr, align 4 + %call = call i64 @_stdlib_strto_l(i8* %0, i8** %1, i32 %2, i32 0) #19 + ret i64 %call +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @memchr(i8* nonnull %s, i32 %c, i64 %n) #14 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %n.addr = alloca i64, align 8 + %r = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %r, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %1 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %2 = load i8*, i8** %r, align 8 + %3 = load i8, i8* %2, align 1 + %conv = zext i8 %3 to i32 + %4 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %4 to i8 + %conv2 = zext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + %5 = load i8*, i8** %r, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + store i8* %5, i8** %retval, align 8 + br label %return + +if.end: ; preds = %while.body + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %r, align 8 + %6 = load i64, i64* %n.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then + %7 = load i8*, i8** %retval, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @memcmp(i8* nonnull %s1, i8* nonnull %s2, i64 %n) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r1 = alloca i8*, align 8 + %r2 = alloca i8*, align 8 + %r = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %r1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %r2, align 8 + store i32 0, i32* %r, align 4 + br label %while.cond + +while.cond: ; preds = %land.rhs, %entry + %2 = load i64, i64* %n.addr, align 8 + %dec = add i64 %2, -1 + store i64 %dec, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %3 = load i8*, i8** %r1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %r1, align 8 + %4 = load i8, i8* %3, align 1 + %conv = zext i8 %4 to i32 + %5 = load i8*, i8** %r2, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr1, i8** %r2, align 8 + %6 = load i8, i8* %5, align 1 + %conv2 = zext i8 %6 to i32 + %sub = sub nsw i32 %conv, %conv2 + store i32 %sub, i32* %r, align 4 + %cmp = icmp eq i32 %sub, 0 + br i1 %cmp, label %while.cond, label %while.end + +while.end: ; preds = %while.cond, %land.rhs + %7 = load i32, i32* %r, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @strchr(i8* nonnull %s, i32 %c) #14 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %entry + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %2 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %2 to i8 + %conv2 = sext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + %3 = load i8*, i8** %s.addr, align 8 + br i1 %cmp, label %if.then, label %do.cond + +if.then: ; preds = %do.body + store i8* %3, i8** %retval, align 8 + br label %return + +do.cond: ; preds = %do.body + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %s.addr, align 8 + %4 = load i8, i8* %3, align 1 + %tobool = icmp ne i8 %4, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %do.end, %if.then + %5 = load i8*, i8** %retval, align 8 + ret i8* %5 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @tcgetattr(i32 %fd, %struct.termios* %termios_p) #0 { +entry: + %fd.addr = alloca i32, align 4 + %termios_p.addr = alloca %struct.termios*, align 8 + %k_termios = alloca %struct.__kernel_termios, align 4 + %retval1 = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.termios* %termios_p, %struct.termios** %termios_p.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 (i32, i64, ...) @ioctl(i32 %0, i64 21505, %struct.__kernel_termios* %k_termios) #20 + store i32 %call, i32* %retval1, align 4 + %c_iflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 0 + %1 = load i32, i32* %c_iflag, align 4 + %2 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_iflag2 = getelementptr inbounds %struct.termios, %struct.termios* %2, i32 0, i32 0 + store i32 %1, i32* %c_iflag2, align 4 + %c_oflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 1 + %3 = load i32, i32* %c_oflag, align 4 + %4 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_oflag3 = getelementptr inbounds %struct.termios, %struct.termios* %4, i32 0, i32 1 + store i32 %3, i32* %c_oflag3, align 4 + %c_cflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 2 + %5 = load i32, i32* %c_cflag, align 4 + %6 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_cflag4 = getelementptr inbounds %struct.termios, %struct.termios* %6, i32 0, i32 2 + store i32 %5, i32* %c_cflag4, align 4 + %c_lflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 3 + %7 = load i32, i32* %c_lflag, align 4 + %8 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_lflag5 = getelementptr inbounds %struct.termios, %struct.termios* %8, i32 0, i32 3 + store i32 %7, i32* %c_lflag5, align 4 + %c_line = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 4 + %9 = load i8, i8* %c_line, align 4 + %10 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_line6 = getelementptr inbounds %struct.termios, %struct.termios* %10, i32 0, i32 4 + store i8 %9, i8* %c_line6, align 4 + %11 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_cc = getelementptr inbounds %struct.termios, %struct.termios* %11, i32 0, i32 5 + %arrayidx = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc, i64 0, i64 0 + %c_cc7 = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 5 + %arrayidx8 = getelementptr inbounds [19 x i8], [19 x i8]* %c_cc7, i64 0, i64 0 + %call9 = call i8* @mempcpy(i8* %arrayidx, i8* %arrayidx8, i64 19) #20 + %call10 = call i8* @memset(i8* %call9, i32 0, i64 13) #20 + %12 = load i32, i32* %retval1, align 4 + ret i32 %12 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_getopt_internal(i32 %argc, i8** %argv, i8* %optstring, %struct.option* %longopts, i32* %longind, i32 %long_only) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + %longopts.addr = alloca %struct.option*, align 8 + %longind.addr = alloca i32*, align 8 + %long_only.addr = alloca i32, align 4 + %result = alloca i32, align 4 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + store %struct.option* %longopts, %struct.option** %longopts.addr, align 8 + store i32* %longind, i32** %longind.addr, align 8 + store i32 %long_only, i32* %long_only.addr, align 4 + %0 = load i32, i32* @optind, align 4 + store i32 %0, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 0), align 8 + %1 = load i32, i32* @opterr, align 4 + store i32 %1, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 1), align 4 + %2 = load i32, i32* %argc.addr, align 4 + %3 = load i8**, i8*** %argv.addr, align 8 + %4 = load i8*, i8** %optstring.addr, align 8 + %5 = load %struct.option*, %struct.option** %longopts.addr, align 8 + %6 = load i32*, i32** %longind.addr, align 8 + %7 = load i32, i32* %long_only.addr, align 4 + %call = call i32 @_getopt_internal_r(i32 %2, i8** %3, i8* %4, %struct.option* %5, i32* %6, i32 %7, %struct._getopt_data* @getopt_data) #19 + store i32 %call, i32* %result, align 4 + %8 = load i32, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 0), align 8 + store i32 %8, i32* @optind, align 4 + %9 = load i8*, i8** getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 3), align 8 + store i8* %9, i8** @optarg, align 8 + %10 = load i32, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 2), align 8 + store i32 %10, i32* @optopt, align 4 + %11 = load i32, i32* %result, align 4 + ret i32 %11 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_getopt_internal_r(i32 %argc, i8** %argv, i8* %optstring, %struct.option* %longopts, i32* %longind, i32 %long_only, %struct._getopt_data* %d) #0 { +entry: + %retval = alloca i32, align 4 + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + %longopts.addr = alloca %struct.option*, align 8 + %longind.addr = alloca i32*, align 8 + %long_only.addr = alloca i32, align 4 + %d.addr = alloca %struct._getopt_data*, align 8 + %print_errors = alloca i32, align 4 + %nameend = alloca i8*, align 8 + %p = alloca %struct.option*, align 8 + %pfound = alloca %struct.option*, align 8 + %exact = alloca i32, align 4 + %ambig = alloca i32, align 4 + %indfound = alloca i32, align 4 + %option_index = alloca i32, align 4 + %c = alloca i8, align 1 + %temp = alloca i8*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + store %struct.option* %longopts, %struct.option** %longopts.addr, align 8 + store i32* %longind, i32** %longind.addr, align 8 + store i32 %long_only, i32* %long_only.addr, align 4 + store %struct._getopt_data* %d, %struct._getopt_data** %d.addr, align 8 + %0 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %opterr = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %0, i32 0, i32 1 + %1 = load i32, i32* %opterr, align 4 + store i32 %1, i32* %print_errors, align 4 + %2 = load i8*, i8** %optstring.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %2, i64 0 + %3 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %3 to i32 + %cmp = icmp eq i32 %conv, 58 + %spec.store.select = select i1 %cmp, i32 0, i32 %1 + store i32 %spec.store.select, i32* %print_errors, align 4 + %4 = load i32, i32* %argc.addr, align 4 + %cmp2 = icmp slt i32 %4, 1 + br i1 %cmp2, label %if.then4, label %if.end5 + +if.then4: ; preds = %entry + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %entry + %5 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %5, i32 0, i32 3 + store i8* null, i8** %optarg, align 8 + %6 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %6, i32 0, i32 0 + %7 = load i32, i32* %optind, align 8 + %cmp6 = icmp eq i32 %7, 0 + br i1 %cmp6, label %if.then8, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end5 + %8 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__initialized = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %8, i32 0, i32 4 + %9 = load i32, i32* %__initialized, align 8 + %tobool = icmp ne i32 %9, 0 + br i1 %tobool, label %if.end16, label %if.then8 + +if.then8: ; preds = %lor.lhs.false, %if.end5 + %10 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind9 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %10, i32 0, i32 0 + %11 = load i32, i32* %optind9, align 8 + %cmp10 = icmp eq i32 %11, 0 + br i1 %cmp10, label %if.then12, label %if.end14 + +if.then12: ; preds = %if.then8 + %12 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind13 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %12, i32 0, i32 0 + store i32 1, i32* %optind13, align 8 + br label %if.end14 + +if.end14: ; preds = %if.then12, %if.then8 + %13 = load i32, i32* %argc.addr, align 4 + %14 = load i8**, i8*** %argv.addr, align 8 + %15 = load i8*, i8** %optstring.addr, align 8 + %16 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %call = call i8* @_getopt_initialize(i32 %13, i8** %14, i8* %15, %struct._getopt_data* %16) #19 + store i8* %call, i8** %optstring.addr, align 8 + %17 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__initialized15 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %17, i32 0, i32 4 + store i32 1, i32* %__initialized15, align 8 + br label %if.end16 + +if.end16: ; preds = %if.end14, %lor.lhs.false + %18 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %18, i32 0, i32 5 + %19 = load i8*, i8** %__nextchar, align 8 + %cmp17 = icmp eq i8* %19, null + br i1 %cmp17, label %if.then24, label %lor.lhs.false19 + +lor.lhs.false19: ; preds = %if.end16 + %20 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar20 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %20, i32 0, i32 5 + %21 = load i8*, i8** %__nextchar20, align 8 + %22 = load i8, i8* %21, align 1 + %conv21 = sext i8 %22 to i32 + %cmp22 = icmp eq i32 %conv21, 0 + br i1 %cmp22, label %if.then24, label %if.end171 + +if.then24: ; preds = %lor.lhs.false19, %if.end16 + %23 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %23, i32 0, i32 9 + %24 = load i32, i32* %__last_nonopt, align 4 + %25 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind25 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %25, i32 0, i32 0 + %26 = load i32, i32* %optind25, align 8 + %cmp26 = icmp sgt i32 %24, %26 + br i1 %cmp26, label %if.then28, label %if.end31 + +if.then28: ; preds = %if.then24 + %27 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind29 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %27, i32 0, i32 0 + %28 = load i32, i32* %optind29, align 8 + %29 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt30 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %29, i32 0, i32 9 + store i32 %28, i32* %__last_nonopt30, align 4 + br label %if.end31 + +if.end31: ; preds = %if.then28, %if.then24 + %30 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %30, i32 0, i32 8 + %31 = load i32, i32* %__first_nonopt, align 8 + %32 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind32 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %32, i32 0, i32 0 + %33 = load i32, i32* %optind32, align 8 + %cmp33 = icmp sgt i32 %31, %33 + br i1 %cmp33, label %if.then35, label %if.end38 + +if.then35: ; preds = %if.end31 + %34 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind36 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %34, i32 0, i32 0 + %35 = load i32, i32* %optind36, align 8 + %36 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt37 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %36, i32 0, i32 8 + store i32 %35, i32* %__first_nonopt37, align 8 + br label %if.end38 + +if.end38: ; preds = %if.then35, %if.end31 + %37 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %37, i32 0, i32 6 + %38 = load i32, i32* %__ordering, align 8 + %cmp39 = icmp eq i32 %38, 1 + br i1 %cmp39, label %if.then41, label %if.end79 + +if.then41: ; preds = %if.end38 + %39 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt42 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %39, i32 0, i32 8 + %40 = load i32, i32* %__first_nonopt42, align 8 + %41 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt43 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %41, i32 0, i32 9 + %42 = load i32, i32* %__last_nonopt43, align 4 + %cmp44 = icmp ne i32 %40, %42 + br i1 %cmp44, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %if.then41 + %43 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt46 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %43, i32 0, i32 9 + %44 = load i32, i32* %__last_nonopt46, align 4 + %45 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind47 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %45, i32 0, i32 0 + %46 = load i32, i32* %optind47, align 8 + %cmp48 = icmp ne i32 %44, %46 + br i1 %cmp48, label %if.then50, label %if.else + +if.then50: ; preds = %land.lhs.true + %47 = load i8**, i8*** %argv.addr, align 8 + %48 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + call void @exchange(i8** %47, %struct._getopt_data* %48) #19 + br label %if.end59 + +if.else: ; preds = %land.lhs.true, %if.then41 + %49 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt51 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %49, i32 0, i32 9 + %50 = load i32, i32* %__last_nonopt51, align 4 + %51 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind52 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %51, i32 0, i32 0 + %52 = load i32, i32* %optind52, align 8 + %cmp53 = icmp ne i32 %50, %52 + br i1 %cmp53, label %if.then55, label %if.end59 + +if.then55: ; preds = %if.else + %53 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind56 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %53, i32 0, i32 0 + %54 = load i32, i32* %optind56, align 8 + %55 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt57 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %55, i32 0, i32 8 + store i32 %54, i32* %__first_nonopt57, align 8 + br label %if.end59 + +if.end59: ; preds = %if.else, %if.then55, %if.then50 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end59 + %56 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind60 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %56, i32 0, i32 0 + %57 = load i32, i32* %optind60, align 8 + %58 = load i32, i32* %argc.addr, align 4 + %cmp61 = icmp slt i32 %57, %58 + br i1 %cmp61, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %59 = load i8**, i8*** %argv.addr, align 8 + %60 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind63 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %60, i32 0, i32 0 + %61 = load i32, i32* %optind63, align 8 + %idxprom = sext i32 %61 to i64 + %arrayidx64 = getelementptr inbounds i8*, i8** %59, i64 %idxprom + %62 = load i8*, i8** %arrayidx64, align 8 + %arrayidx65 = getelementptr inbounds i8, i8* %62, i64 0 + %63 = load i8, i8* %arrayidx65, align 1 + %conv66 = sext i8 %63 to i32 + %cmp67 = icmp ne i32 %conv66, 45 + br i1 %cmp67, label %land.end, label %lor.rhs + +lor.rhs: ; preds = %land.rhs + %64 = load i8**, i8*** %argv.addr, align 8 + %65 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind69 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %65, i32 0, i32 0 + %66 = load i32, i32* %optind69, align 8 + %idxprom70 = sext i32 %66 to i64 + %arrayidx71 = getelementptr inbounds i8*, i8** %64, i64 %idxprom70 + %67 = load i8*, i8** %arrayidx71, align 8 + %arrayidx72 = getelementptr inbounds i8, i8* %67, i64 1 + %68 = load i8, i8* %arrayidx72, align 1 + %conv73 = sext i8 %68 to i32 + %cmp74 = icmp eq i32 %conv73, 0 + br label %land.end + +land.end: ; preds = %land.rhs, %lor.rhs, %while.cond + %69 = phi i1 [ false, %while.cond ], [ true, %land.rhs ], [ %cmp74, %lor.rhs ] + %70 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind76 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %70, i32 0, i32 0 + %71 = load i32, i32* %optind76, align 8 + br i1 %69, label %while.body, label %while.end + +while.body: ; preds = %land.end + %inc = add nsw i32 %71, 1 + store i32 %inc, i32* %optind76, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %72 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt78 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %72, i32 0, i32 9 + store i32 %71, i32* %__last_nonopt78, align 4 + br label %if.end79 + +if.end79: ; preds = %while.end, %if.end38 + %73 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind80 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %73, i32 0, i32 0 + %74 = load i32, i32* %optind80, align 8 + %75 = load i32, i32* %argc.addr, align 4 + %cmp81 = icmp ne i32 %74, %75 + br i1 %cmp81, label %land.lhs.true83, label %if.end114 + +land.lhs.true83: ; preds = %if.end79 + %76 = load i8**, i8*** %argv.addr, align 8 + %77 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind84 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %77, i32 0, i32 0 + %78 = load i32, i32* %optind84, align 8 + %idxprom85 = sext i32 %78 to i64 + %arrayidx86 = getelementptr inbounds i8*, i8** %76, i64 %idxprom85 + %79 = load i8*, i8** %arrayidx86, align 8 + %call87 = call i32 @strcmp(i8* %79, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.311, i64 0, i64 0)) #21 + %tobool88 = icmp ne i32 %call87, 0 + br i1 %tobool88, label %if.end114, label %if.then89 + +if.then89: ; preds = %land.lhs.true83 + %80 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind90 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %80, i32 0, i32 0 + %81 = load i32, i32* %optind90, align 8 + %inc91 = add nsw i32 %81, 1 + store i32 %inc91, i32* %optind90, align 8 + %82 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt92 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %82, i32 0, i32 8 + %83 = load i32, i32* %__first_nonopt92, align 8 + %84 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt93 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %84, i32 0, i32 9 + %85 = load i32, i32* %__last_nonopt93, align 4 + %cmp94 = icmp ne i32 %83, %85 + br i1 %cmp94, label %land.lhs.true96, label %if.else102 + +land.lhs.true96: ; preds = %if.then89 + %86 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt97 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %86, i32 0, i32 9 + %87 = load i32, i32* %__last_nonopt97, align 4 + %88 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind98 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %88, i32 0, i32 0 + %89 = load i32, i32* %optind98, align 8 + %cmp99 = icmp ne i32 %87, %89 + br i1 %cmp99, label %if.then101, label %if.else102 + +if.then101: ; preds = %land.lhs.true96 + %90 = load i8**, i8*** %argv.addr, align 8 + %91 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + call void @exchange(i8** %90, %struct._getopt_data* %91) #19 + br label %if.end111 + +if.else102: ; preds = %land.lhs.true96, %if.then89 + %92 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt103 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %92, i32 0, i32 8 + %93 = load i32, i32* %__first_nonopt103, align 8 + %94 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt104 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %94, i32 0, i32 9 + %95 = load i32, i32* %__last_nonopt104, align 4 + %cmp105 = icmp eq i32 %93, %95 + br i1 %cmp105, label %if.then107, label %if.end111 + +if.then107: ; preds = %if.else102 + %96 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind108 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %96, i32 0, i32 0 + %97 = load i32, i32* %optind108, align 8 + %98 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt109 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %98, i32 0, i32 8 + store i32 %97, i32* %__first_nonopt109, align 8 + br label %if.end111 + +if.end111: ; preds = %if.else102, %if.then107, %if.then101 + %99 = load i32, i32* %argc.addr, align 4 + %100 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt112 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %100, i32 0, i32 9 + store i32 %99, i32* %__last_nonopt112, align 4 + %101 = load i32, i32* %argc.addr, align 4 + %102 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind113 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %102, i32 0, i32 0 + store i32 %101, i32* %optind113, align 8 + br label %if.end114 + +if.end114: ; preds = %if.end111, %land.lhs.true83, %if.end79 + %103 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind115 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %103, i32 0, i32 0 + %104 = load i32, i32* %optind115, align 8 + %105 = load i32, i32* %argc.addr, align 4 + %cmp116 = icmp eq i32 %104, %105 + br i1 %cmp116, label %if.then118, label %if.end127 + +if.then118: ; preds = %if.end114 + %106 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt119 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %106, i32 0, i32 8 + %107 = load i32, i32* %__first_nonopt119, align 8 + %108 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt120 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %108, i32 0, i32 9 + %109 = load i32, i32* %__last_nonopt120, align 4 + %cmp121 = icmp ne i32 %107, %109 + br i1 %cmp121, label %if.then123, label %if.end126 + +if.then123: ; preds = %if.then118 + %110 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt124 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %110, i32 0, i32 8 + %111 = load i32, i32* %__first_nonopt124, align 8 + %112 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind125 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %112, i32 0, i32 0 + store i32 %111, i32* %optind125, align 8 + br label %if.end126 + +if.end126: ; preds = %if.then123, %if.then118 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end127: ; preds = %if.end114 + %113 = load i8**, i8*** %argv.addr, align 8 + %114 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind128 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %114, i32 0, i32 0 + %115 = load i32, i32* %optind128, align 8 + %idxprom129 = sext i32 %115 to i64 + %arrayidx130 = getelementptr inbounds i8*, i8** %113, i64 %idxprom129 + %116 = load i8*, i8** %arrayidx130, align 8 + %arrayidx131 = getelementptr inbounds i8, i8* %116, i64 0 + %117 = load i8, i8* %arrayidx131, align 1 + %conv132 = sext i8 %117 to i32 + %cmp133 = icmp ne i32 %conv132, 45 + br i1 %cmp133, label %if.then143, label %lor.lhs.false135 + +lor.lhs.false135: ; preds = %if.end127 + %118 = load i8**, i8*** %argv.addr, align 8 + %119 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind136 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %119, i32 0, i32 0 + %120 = load i32, i32* %optind136, align 8 + %idxprom137 = sext i32 %120 to i64 + %arrayidx138 = getelementptr inbounds i8*, i8** %118, i64 %idxprom137 + %121 = load i8*, i8** %arrayidx138, align 8 + %arrayidx139 = getelementptr inbounds i8, i8* %121, i64 1 + %122 = load i8, i8* %arrayidx139, align 1 + %conv140 = sext i8 %122 to i32 + %cmp141 = icmp eq i32 %conv140, 0 + br i1 %cmp141, label %if.then143, label %if.end154 + +if.then143: ; preds = %lor.lhs.false135, %if.end127 + %123 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering144 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %123, i32 0, i32 6 + %124 = load i32, i32* %__ordering144, align 8 + %cmp145 = icmp eq i32 %124, 0 + br i1 %cmp145, label %if.then147, label %if.end148 + +if.then147: ; preds = %if.then143 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end148: ; preds = %if.then143 + %125 = load i8**, i8*** %argv.addr, align 8 + %126 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind149 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %126, i32 0, i32 0 + %127 = load i32, i32* %optind149, align 8 + %inc150 = add nsw i32 %127, 1 + store i32 %inc150, i32* %optind149, align 8 + %idxprom151 = sext i32 %127 to i64 + %arrayidx152 = getelementptr inbounds i8*, i8** %125, i64 %idxprom151 + %128 = load i8*, i8** %arrayidx152, align 8 + %129 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg153 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %129, i32 0, i32 3 + store i8* %128, i8** %optarg153, align 8 + store i32 1, i32* %retval, align 4 + br label %return + +if.end154: ; preds = %lor.lhs.false135 + %130 = load i8**, i8*** %argv.addr, align 8 + %131 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind155 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %131, i32 0, i32 0 + %132 = load i32, i32* %optind155, align 8 + %idxprom156 = sext i32 %132 to i64 + %arrayidx157 = getelementptr inbounds i8*, i8** %130, i64 %idxprom156 + %133 = load i8*, i8** %arrayidx157, align 8 + %add.ptr = getelementptr inbounds i8, i8* %133, i64 1 + %134 = load %struct.option*, %struct.option** %longopts.addr, align 8 + %cmp158 = icmp ne %struct.option* %134, null + br i1 %cmp158, label %land.rhs160, label %land.end168 + +land.rhs160: ; preds = %if.end154 + %135 = load i8**, i8*** %argv.addr, align 8 + %136 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind161 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %136, i32 0, i32 0 + %137 = load i32, i32* %optind161, align 8 + %idxprom162 = sext i32 %137 to i64 + %arrayidx163 = getelementptr inbounds i8*, i8** %135, i64 %idxprom162 + %138 = load i8*, i8** %arrayidx163, align 8 + %arrayidx164 = getelementptr inbounds i8, i8* %138, i64 1 + %139 = load i8, i8* %arrayidx164, align 1 + %conv165 = sext i8 %139 to i32 + %cmp166 = icmp eq i32 %conv165, 45 + br label %land.end168 + +land.end168: ; preds = %land.rhs160, %if.end154 + %140 = phi i1 [ false, %if.end154 ], [ %cmp166, %land.rhs160 ] + %land.ext = zext i1 %140 to i32 + %idx.ext = sext i32 %land.ext to i64 + %add.ptr169 = getelementptr inbounds i8, i8* %add.ptr, i64 %idx.ext + %141 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar170 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %141, i32 0, i32 5 + store i8* %add.ptr169, i8** %__nextchar170, align 8 + br label %if.end171 + +if.end171: ; preds = %land.end168, %lor.lhs.false19 + %142 = load %struct.option*, %struct.option** %longopts.addr, align 8 + %cmp172 = icmp ne %struct.option* %142, null + br i1 %cmp172, label %land.lhs.true174, label %if.end418 + +land.lhs.true174: ; preds = %if.end171 + %143 = load i8**, i8*** %argv.addr, align 8 + %144 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind175 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %144, i32 0, i32 0 + %145 = load i32, i32* %optind175, align 8 + %idxprom176 = sext i32 %145 to i64 + %arrayidx177 = getelementptr inbounds i8*, i8** %143, i64 %idxprom176 + %146 = load i8*, i8** %arrayidx177, align 8 + %arrayidx178 = getelementptr inbounds i8, i8* %146, i64 1 + %147 = load i8, i8* %arrayidx178, align 1 + %conv179 = sext i8 %147 to i32 + %cmp180 = icmp eq i32 %conv179, 45 + br i1 %cmp180, label %if.then199, label %lor.lhs.false182 + +lor.lhs.false182: ; preds = %land.lhs.true174 + %148 = load i32, i32* %long_only.addr, align 4 + %tobool183 = icmp ne i32 %148, 0 + br i1 %tobool183, label %land.lhs.true184, label %if.end418 + +land.lhs.true184: ; preds = %lor.lhs.false182 + %149 = load i8**, i8*** %argv.addr, align 8 + %150 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind185 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %150, i32 0, i32 0 + %151 = load i32, i32* %optind185, align 8 + %idxprom186 = sext i32 %151 to i64 + %arrayidx187 = getelementptr inbounds i8*, i8** %149, i64 %idxprom186 + %152 = load i8*, i8** %arrayidx187, align 8 + %arrayidx188 = getelementptr inbounds i8, i8* %152, i64 2 + %153 = load i8, i8* %arrayidx188, align 1 + %conv189 = sext i8 %153 to i32 + %tobool190 = icmp ne i32 %conv189, 0 + br i1 %tobool190, label %if.then199, label %lor.lhs.false191 + +lor.lhs.false191: ; preds = %land.lhs.true184 + %154 = load i8*, i8** %optstring.addr, align 8 + %155 = load i8**, i8*** %argv.addr, align 8 + %156 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind192 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %156, i32 0, i32 0 + %157 = load i32, i32* %optind192, align 8 + %idxprom193 = sext i32 %157 to i64 + %arrayidx194 = getelementptr inbounds i8*, i8** %155, i64 %idxprom193 + %158 = load i8*, i8** %arrayidx194, align 8 + %arrayidx195 = getelementptr inbounds i8, i8* %158, i64 1 + %159 = load i8, i8* %arrayidx195, align 1 + %conv196 = sext i8 %159 to i32 + %call197 = call i8* @strchr(i8* %154, i32 %conv196) #21 + %tobool198 = icmp ne i8* %call197, null + br i1 %tobool198, label %if.end418, label %if.then199 + +if.then199: ; preds = %lor.lhs.false191, %land.lhs.true184, %land.lhs.true174 + store %struct.option* null, %struct.option** %pfound, align 8 + store i32 0, i32* %exact, align 4 + store i32 0, i32* %ambig, align 4 + store i32 -1, i32* %indfound, align 4 + %160 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar200 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %160, i32 0, i32 5 + %161 = load i8*, i8** %__nextchar200, align 8 + store i8* %161, i8** %nameend, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.then199 + %162 = load i8*, i8** %nameend, align 8 + %163 = load i8, i8* %162, align 1 + %conv201 = sext i8 %163 to i32 + %tobool202 = icmp ne i32 %conv201, 0 + br i1 %tobool202, label %land.rhs203, label %for.end + +land.rhs203: ; preds = %for.cond + %164 = load i8*, i8** %nameend, align 8 + %165 = load i8, i8* %164, align 1 + %conv204 = sext i8 %165 to i32 + %cmp205 = icmp ne i32 %conv204, 61 + br i1 %cmp205, label %for.inc, label %for.end + +for.inc: ; preds = %land.rhs203 + %166 = load i8*, i8** %nameend, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %166, i32 1 + store i8* %incdec.ptr, i8** %nameend, align 8 + br label %for.cond + +for.end: ; preds = %for.cond, %land.rhs203 + %167 = load %struct.option*, %struct.option** %longopts.addr, align 8 + store %struct.option* %167, %struct.option** %p, align 8 + store i32 0, i32* %option_index, align 4 + br label %for.cond209 + +for.cond209: ; preds = %for.inc252, %for.end + %168 = load %struct.option*, %struct.option** %p, align 8 + %name = getelementptr inbounds %struct.option, %struct.option* %168, i32 0, i32 0 + %169 = load i8*, i8** %name, align 8 + %tobool210 = icmp ne i8* %169, null + br i1 %tobool210, label %for.body211, label %for.end255 + +for.body211: ; preds = %for.cond209 + %170 = load %struct.option*, %struct.option** %p, align 8 + %name212 = getelementptr inbounds %struct.option, %struct.option* %170, i32 0, i32 0 + %171 = load i8*, i8** %name212, align 8 + %172 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar213 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %172, i32 0, i32 5 + %173 = load i8*, i8** %__nextchar213, align 8 + %174 = load i8*, i8** %nameend, align 8 + %175 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar214 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %175, i32 0, i32 5 + %176 = load i8*, i8** %__nextchar214, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %174 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %176 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %call215 = call i32 @strncmp(i8* %171, i8* %173, i64 %sub.ptr.sub) #21 + %tobool216 = icmp ne i32 %call215, 0 + br i1 %tobool216, label %for.inc252, label %if.then217 + +if.then217: ; preds = %for.body211 + %177 = load i8*, i8** %nameend, align 8 + %178 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar218 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %178, i32 0, i32 5 + %179 = load i8*, i8** %__nextchar218, align 8 + %sub.ptr.lhs.cast219 = ptrtoint i8* %177 to i64 + %sub.ptr.rhs.cast220 = ptrtoint i8* %179 to i64 + %sub.ptr.sub221 = sub i64 %sub.ptr.lhs.cast219, %sub.ptr.rhs.cast220 + %conv222 = trunc i64 %sub.ptr.sub221 to i32 + %180 = load %struct.option*, %struct.option** %p, align 8 + %name223 = getelementptr inbounds %struct.option, %struct.option* %180, i32 0, i32 0 + %181 = load i8*, i8** %name223, align 8 + %call224 = call i64 @strlen(i8* %181) #21 + %conv225 = trunc i64 %call224 to i32 + %cmp226 = icmp eq i32 %conv222, %conv225 + br i1 %cmp226, label %if.then228, label %if.else229 + +if.then228: ; preds = %if.then217 + %182 = load %struct.option*, %struct.option** %p, align 8 + store %struct.option* %182, %struct.option** %pfound, align 8 + %183 = load i32, i32* %option_index, align 4 + store i32 %183, i32* %indfound, align 4 + store i32 1, i32* %exact, align 4 + br label %for.end255 + +if.else229: ; preds = %if.then217 + %184 = load %struct.option*, %struct.option** %pfound, align 8 + %cmp230 = icmp eq %struct.option* %184, null + br i1 %cmp230, label %if.then232, label %if.else233 + +if.then232: ; preds = %if.else229 + %185 = load %struct.option*, %struct.option** %p, align 8 + store %struct.option* %185, %struct.option** %pfound, align 8 + %186 = load i32, i32* %option_index, align 4 + store i32 %186, i32* %indfound, align 4 + br label %for.inc252 + +if.else233: ; preds = %if.else229 + %187 = load i32, i32* %long_only.addr, align 4 + %tobool234 = icmp ne i32 %187, 0 + br i1 %tobool234, label %if.then247, label %lor.lhs.false235 + +lor.lhs.false235: ; preds = %if.else233 + %188 = load %struct.option*, %struct.option** %pfound, align 8 + %has_arg = getelementptr inbounds %struct.option, %struct.option* %188, i32 0, i32 1 + %189 = load i32, i32* %has_arg, align 8 + %190 = load %struct.option*, %struct.option** %p, align 8 + %has_arg236 = getelementptr inbounds %struct.option, %struct.option* %190, i32 0, i32 1 + %191 = load i32, i32* %has_arg236, align 8 + %cmp237 = icmp ne i32 %189, %191 + br i1 %cmp237, label %if.then247, label %lor.lhs.false239 + +lor.lhs.false239: ; preds = %lor.lhs.false235 + %192 = load %struct.option*, %struct.option** %pfound, align 8 + %flag = getelementptr inbounds %struct.option, %struct.option* %192, i32 0, i32 2 + %193 = load i32*, i32** %flag, align 8 + %194 = load %struct.option*, %struct.option** %p, align 8 + %flag240 = getelementptr inbounds %struct.option, %struct.option* %194, i32 0, i32 2 + %195 = load i32*, i32** %flag240, align 8 + %cmp241 = icmp ne i32* %193, %195 + br i1 %cmp241, label %if.then247, label %lor.lhs.false243 + +lor.lhs.false243: ; preds = %lor.lhs.false239 + %196 = load %struct.option*, %struct.option** %pfound, align 8 + %val = getelementptr inbounds %struct.option, %struct.option* %196, i32 0, i32 3 + %197 = load i32, i32* %val, align 8 + %198 = load %struct.option*, %struct.option** %p, align 8 + %val244 = getelementptr inbounds %struct.option, %struct.option* %198, i32 0, i32 3 + %199 = load i32, i32* %val244, align 8 + %cmp245 = icmp ne i32 %197, %199 + br i1 %cmp245, label %if.then247, label %for.inc252 + +if.then247: ; preds = %lor.lhs.false243, %lor.lhs.false239, %lor.lhs.false235, %if.else233 + store i32 1, i32* %ambig, align 4 + br label %for.inc252 + +for.inc252: ; preds = %for.body211, %if.then232, %if.then247, %lor.lhs.false243 + %200 = load %struct.option*, %struct.option** %p, align 8 + %incdec.ptr253 = getelementptr inbounds %struct.option, %struct.option* %200, i32 1 + store %struct.option* %incdec.ptr253, %struct.option** %p, align 8 + %201 = load i32, i32* %option_index, align 4 + %inc254 = add nsw i32 %201, 1 + store i32 %inc254, i32* %option_index, align 4 + br label %for.cond209 + +for.end255: ; preds = %if.then228, %for.cond209 + %202 = load i32, i32* %ambig, align 4 + %tobool256 = icmp eq i32 %202, 0 + %203 = load i32, i32* %exact, align 4 + %tobool258 = icmp ne i32 %203, 0 + %or.cond = or i1 %tobool256, %tobool258 + br i1 %or.cond, label %if.end274, label %if.then259 + +if.then259: ; preds = %for.end255 + %204 = load i32, i32* %print_errors, align 4 + %tobool260 = icmp ne i32 %204, 0 + br i1 %tobool260, label %if.then261, label %if.end267 + +if.then261: ; preds = %if.then259 + %205 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %206 = load i8**, i8*** %argv.addr, align 8 + %arrayidx262 = getelementptr inbounds i8*, i8** %206, i64 0 + %207 = load i8*, i8** %arrayidx262, align 8 + %208 = load i8**, i8*** %argv.addr, align 8 + %209 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind263 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %209, i32 0, i32 0 + %210 = load i32, i32* %optind263, align 8 + %idxprom264 = sext i32 %210 to i64 + %arrayidx265 = getelementptr inbounds i8*, i8** %208, i64 %idxprom264 + %211 = load i8*, i8** %arrayidx265, align 8 + %call266 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %205, i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.1.312, i64 0, i64 0), i8* %207, i8* %211) #19 + br label %if.end267 + +if.end267: ; preds = %if.then261, %if.then259 + %212 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar268 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %212, i32 0, i32 5 + %213 = load i8*, i8** %__nextchar268, align 8 + %call269 = call i64 @strlen(i8* %213) #21 + %214 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar270 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %214, i32 0, i32 5 + %215 = load i8*, i8** %__nextchar270, align 8 + %add.ptr271 = getelementptr inbounds i8, i8* %215, i64 %call269 + store i8* %add.ptr271, i8** %__nextchar270, align 8 + %216 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind272 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %216, i32 0, i32 0 + %217 = load i32, i32* %optind272, align 8 + %inc273 = add nsw i32 %217, 1 + store i32 %inc273, i32* %optind272, align 8 + %218 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %218, i32 0, i32 2 + store i32 0, i32* %optopt, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.end274: ; preds = %for.end255 + %219 = load %struct.option*, %struct.option** %pfound, align 8 + %cmp275 = icmp ne %struct.option* %219, null + br i1 %cmp275, label %if.then277, label %if.end372 + +if.then277: ; preds = %if.end274 + %220 = load i32, i32* %indfound, align 4 + store i32 %220, i32* %option_index, align 4 + %221 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind278 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %221, i32 0, i32 0 + %222 = load i32, i32* %optind278, align 8 + %inc279 = add nsw i32 %222, 1 + store i32 %inc279, i32* %optind278, align 8 + %223 = load i8*, i8** %nameend, align 8 + %224 = load i8, i8* %223, align 1 + %tobool280 = icmp ne i8 %224, 0 + %225 = load %struct.option*, %struct.option** %pfound, align 8 + %has_arg282 = getelementptr inbounds %struct.option, %struct.option* %225, i32 0, i32 1 + %226 = load i32, i32* %has_arg282, align 8 + br i1 %tobool280, label %if.then281, label %if.else320 + +if.then281: ; preds = %if.then277 + %tobool283 = icmp ne i32 %226, 0 + br i1 %tobool283, label %if.then284, label %if.else287 + +if.then284: ; preds = %if.then281 + %227 = load i8*, i8** %nameend, align 8 + %add.ptr285 = getelementptr inbounds i8, i8* %227, i64 1 + %228 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg286 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %228, i32 0, i32 3 + store i8* %add.ptr285, i8** %optarg286, align 8 + br label %if.end356 + +if.else287: ; preds = %if.then281 + %229 = load i32, i32* %print_errors, align 4 + %tobool288 = icmp ne i32 %229, 0 + br i1 %tobool288, label %if.then289, label %if.end312 + +if.then289: ; preds = %if.else287 + %230 = load i8**, i8*** %argv.addr, align 8 + %231 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind290 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %231, i32 0, i32 0 + %232 = load i32, i32* %optind290, align 8 + %sub = sub nsw i32 %232, 1 + %idxprom291 = sext i32 %sub to i64 + %arrayidx292 = getelementptr inbounds i8*, i8** %230, i64 %idxprom291 + %233 = load i8*, i8** %arrayidx292, align 8 + %arrayidx293 = getelementptr inbounds i8, i8* %233, i64 1 + %234 = load i8, i8* %arrayidx293, align 1 + %conv294 = sext i8 %234 to i32 + %cmp295 = icmp eq i32 %conv294, 45 + %235 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %236 = load i8**, i8*** %argv.addr, align 8 + %arrayidx298 = getelementptr inbounds i8*, i8** %236, i64 0 + %237 = load i8*, i8** %arrayidx298, align 8 + br i1 %cmp295, label %if.then297, label %if.else301 + +if.then297: ; preds = %if.then289 + %238 = load %struct.option*, %struct.option** %pfound, align 8 + %name299 = getelementptr inbounds %struct.option, %struct.option* %238, i32 0, i32 0 + %239 = load i8*, i8** %name299, align 8 + %call300 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %235, i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.2.313, i64 0, i64 0), i8* %237, i8* %239) #19 + br label %if.end312 + +if.else301: ; preds = %if.then289 + %240 = load i8**, i8*** %argv.addr, align 8 + %241 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind303 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %241, i32 0, i32 0 + %242 = load i32, i32* %optind303, align 8 + %sub304 = sub nsw i32 %242, 1 + %idxprom305 = sext i32 %sub304 to i64 + %arrayidx306 = getelementptr inbounds i8*, i8** %240, i64 %idxprom305 + %243 = load i8*, i8** %arrayidx306, align 8 + %arrayidx307 = getelementptr inbounds i8, i8* %243, i64 0 + %244 = load i8, i8* %arrayidx307, align 1 + %conv308 = sext i8 %244 to i32 + %245 = load %struct.option*, %struct.option** %pfound, align 8 + %name309 = getelementptr inbounds %struct.option, %struct.option* %245, i32 0, i32 0 + %246 = load i8*, i8** %name309, align 8 + %call310 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %235, i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.3.314, i64 0, i64 0), i8* %237, i32 %conv308, i8* %246) #19 + br label %if.end312 + +if.end312: ; preds = %if.then297, %if.else301, %if.else287 + %247 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar313 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %247, i32 0, i32 5 + %248 = load i8*, i8** %__nextchar313, align 8 + %call314 = call i64 @strlen(i8* %248) #21 + %249 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar315 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %249, i32 0, i32 5 + %250 = load i8*, i8** %__nextchar315, align 8 + %add.ptr316 = getelementptr inbounds i8, i8* %250, i64 %call314 + store i8* %add.ptr316, i8** %__nextchar315, align 8 + %251 = load %struct.option*, %struct.option** %pfound, align 8 + %val317 = getelementptr inbounds %struct.option, %struct.option* %251, i32 0, i32 3 + %252 = load i32, i32* %val317, align 8 + %253 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt318 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %253, i32 0, i32 2 + store i32 %252, i32* %optopt318, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.else320: ; preds = %if.then277 + %cmp322 = icmp eq i32 %226, 1 + br i1 %cmp322, label %if.then324, label %if.end356 + +if.then324: ; preds = %if.else320 + %254 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind325 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %254, i32 0, i32 0 + %255 = load i32, i32* %optind325, align 8 + %256 = load i32, i32* %argc.addr, align 4 + %cmp326 = icmp slt i32 %255, %256 + br i1 %cmp326, label %if.then328, label %if.else334 + +if.then328: ; preds = %if.then324 + %257 = load i8**, i8*** %argv.addr, align 8 + %258 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind329 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %258, i32 0, i32 0 + %259 = load i32, i32* %optind329, align 8 + %inc330 = add nsw i32 %259, 1 + store i32 %inc330, i32* %optind329, align 8 + %idxprom331 = sext i32 %259 to i64 + %arrayidx332 = getelementptr inbounds i8*, i8** %257, i64 %idxprom331 + %260 = load i8*, i8** %arrayidx332, align 8 + %261 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg333 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %261, i32 0, i32 3 + store i8* %260, i8** %optarg333, align 8 + br label %if.end356 + +if.else334: ; preds = %if.then324 + %262 = load i32, i32* %print_errors, align 4 + %tobool335 = icmp ne i32 %262, 0 + br i1 %tobool335, label %if.then336, label %if.end343 + +if.then336: ; preds = %if.else334 + %263 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %264 = load i8**, i8*** %argv.addr, align 8 + %arrayidx337 = getelementptr inbounds i8*, i8** %264, i64 0 + %265 = load i8*, i8** %arrayidx337, align 8 + %266 = load i8**, i8*** %argv.addr, align 8 + %267 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind338 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %267, i32 0, i32 0 + %268 = load i32, i32* %optind338, align 8 + %sub339 = sub nsw i32 %268, 1 + %idxprom340 = sext i32 %sub339 to i64 + %arrayidx341 = getelementptr inbounds i8*, i8** %266, i64 %idxprom340 + %269 = load i8*, i8** %arrayidx341, align 8 + %call342 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %263, i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.4.315, i64 0, i64 0), i8* %265, i8* %269) #19 + br label %if.end343 + +if.end343: ; preds = %if.then336, %if.else334 + %270 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar344 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %270, i32 0, i32 5 + %271 = load i8*, i8** %__nextchar344, align 8 + %call345 = call i64 @strlen(i8* %271) #21 + %272 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar346 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %272, i32 0, i32 5 + %273 = load i8*, i8** %__nextchar346, align 8 + %add.ptr347 = getelementptr inbounds i8, i8* %273, i64 %call345 + store i8* %add.ptr347, i8** %__nextchar346, align 8 + %274 = load %struct.option*, %struct.option** %pfound, align 8 + %val348 = getelementptr inbounds %struct.option, %struct.option* %274, i32 0, i32 3 + %275 = load i32, i32* %val348, align 8 + %276 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt349 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %276, i32 0, i32 2 + store i32 %275, i32* %optopt349, align 8 + %277 = load i8*, i8** %optstring.addr, align 8 + %arrayidx350 = getelementptr inbounds i8, i8* %277, i64 0 + %278 = load i8, i8* %arrayidx350, align 1 + %conv351 = sext i8 %278 to i32 + %cmp352 = icmp eq i32 %conv351, 58 + %279 = zext i1 %cmp352 to i64 + %cond = select i1 %cmp352, i32 58, i32 63 + store i32 %cond, i32* %retval, align 4 + br label %return + +if.end356: ; preds = %if.else320, %if.then328, %if.then284 + %280 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar357 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %280, i32 0, i32 5 + %281 = load i8*, i8** %__nextchar357, align 8 + %call358 = call i64 @strlen(i8* %281) #21 + %282 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar359 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %282, i32 0, i32 5 + %283 = load i8*, i8** %__nextchar359, align 8 + %add.ptr360 = getelementptr inbounds i8, i8* %283, i64 %call358 + store i8* %add.ptr360, i8** %__nextchar359, align 8 + %284 = load i32*, i32** %longind.addr, align 8 + %cmp361 = icmp ne i32* %284, null + br i1 %cmp361, label %if.then363, label %if.end364 + +if.then363: ; preds = %if.end356 + %285 = load i32, i32* %option_index, align 4 + %286 = load i32*, i32** %longind.addr, align 8 + store i32 %285, i32* %286, align 4 + br label %if.end364 + +if.end364: ; preds = %if.then363, %if.end356 + %287 = load %struct.option*, %struct.option** %pfound, align 8 + %flag365 = getelementptr inbounds %struct.option, %struct.option* %287, i32 0, i32 2 + %288 = load i32*, i32** %flag365, align 8 + %tobool366 = icmp ne i32* %288, null + %289 = load %struct.option*, %struct.option** %pfound, align 8 + %val368 = getelementptr inbounds %struct.option, %struct.option* %289, i32 0, i32 3 + %290 = load i32, i32* %val368, align 8 + br i1 %tobool366, label %if.then367, label %if.end370 + +if.then367: ; preds = %if.end364 + %291 = load %struct.option*, %struct.option** %pfound, align 8 + %flag369 = getelementptr inbounds %struct.option, %struct.option* %291, i32 0, i32 2 + %292 = load i32*, i32** %flag369, align 8 + store i32 %290, i32* %292, align 4 + store i32 0, i32* %retval, align 4 + br label %return + +if.end370: ; preds = %if.end364 + store i32 %290, i32* %retval, align 4 + br label %return + +if.end372: ; preds = %if.end274 + %293 = load i32, i32* %long_only.addr, align 4 + %tobool373 = icmp ne i32 %293, 0 + br i1 %tobool373, label %lor.lhs.false374, label %if.then388 + +lor.lhs.false374: ; preds = %if.end372 + %294 = load i8**, i8*** %argv.addr, align 8 + %295 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind375 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %295, i32 0, i32 0 + %296 = load i32, i32* %optind375, align 8 + %idxprom376 = sext i32 %296 to i64 + %arrayidx377 = getelementptr inbounds i8*, i8** %294, i64 %idxprom376 + %297 = load i8*, i8** %arrayidx377, align 8 + %arrayidx378 = getelementptr inbounds i8, i8* %297, i64 1 + %298 = load i8, i8* %arrayidx378, align 1 + %conv379 = sext i8 %298 to i32 + %cmp380 = icmp eq i32 %conv379, 45 + br i1 %cmp380, label %if.then388, label %lor.lhs.false382 + +lor.lhs.false382: ; preds = %lor.lhs.false374 + %299 = load i8*, i8** %optstring.addr, align 8 + %300 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar383 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %300, i32 0, i32 5 + %301 = load i8*, i8** %__nextchar383, align 8 + %302 = load i8, i8* %301, align 1 + %conv384 = sext i8 %302 to i32 + %call385 = call i8* @strchr(i8* %299, i32 %conv384) #21 + %cmp386 = icmp eq i8* %call385, null + br i1 %cmp386, label %if.then388, label %if.end418 + +if.then388: ; preds = %lor.lhs.false382, %lor.lhs.false374, %if.end372 + %303 = load i32, i32* %print_errors, align 4 + %tobool389 = icmp ne i32 %303, 0 + br i1 %tobool389, label %if.then390, label %if.end412 + +if.then390: ; preds = %if.then388 + %304 = load i8**, i8*** %argv.addr, align 8 + %305 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind391 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %305, i32 0, i32 0 + %306 = load i32, i32* %optind391, align 8 + %idxprom392 = sext i32 %306 to i64 + %arrayidx393 = getelementptr inbounds i8*, i8** %304, i64 %idxprom392 + %307 = load i8*, i8** %arrayidx393, align 8 + %arrayidx394 = getelementptr inbounds i8, i8* %307, i64 1 + %308 = load i8, i8* %arrayidx394, align 1 + %conv395 = sext i8 %308 to i32 + %cmp396 = icmp eq i32 %conv395, 45 + %309 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %310 = load i8**, i8*** %argv.addr, align 8 + %arrayidx399 = getelementptr inbounds i8*, i8** %310, i64 0 + %311 = load i8*, i8** %arrayidx399, align 8 + br i1 %cmp396, label %if.then398, label %if.else402 + +if.then398: ; preds = %if.then390 + %312 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar400 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %312, i32 0, i32 5 + %313 = load i8*, i8** %__nextchar400, align 8 + %call401 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %309, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.5.316, i64 0, i64 0), i8* %311, i8* %313) #19 + br label %if.end412 + +if.else402: ; preds = %if.then390 + %314 = load i8**, i8*** %argv.addr, align 8 + %315 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind404 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %315, i32 0, i32 0 + %316 = load i32, i32* %optind404, align 8 + %idxprom405 = sext i32 %316 to i64 + %arrayidx406 = getelementptr inbounds i8*, i8** %314, i64 %idxprom405 + %317 = load i8*, i8** %arrayidx406, align 8 + %arrayidx407 = getelementptr inbounds i8, i8* %317, i64 0 + %318 = load i8, i8* %arrayidx407, align 1 + %conv408 = sext i8 %318 to i32 + %319 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar409 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %319, i32 0, i32 5 + %320 = load i8*, i8** %__nextchar409, align 8 + %call410 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %309, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.6.317, i64 0, i64 0), i8* %311, i32 %conv408, i8* %320) #19 + br label %if.end412 + +if.end412: ; preds = %if.then398, %if.else402, %if.then388 + %321 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar413 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %321, i32 0, i32 5 + store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.7.318, i64 0, i64 0), i8** %__nextchar413, align 8 + %322 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind414 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %322, i32 0, i32 0 + %323 = load i32, i32* %optind414, align 8 + %inc415 = add nsw i32 %323, 1 + store i32 %inc415, i32* %optind414, align 8 + %324 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt416 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %324, i32 0, i32 2 + store i32 0, i32* %optopt416, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.end418: ; preds = %lor.lhs.false382, %lor.lhs.false191, %lor.lhs.false182, %if.end171 + %325 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar419 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %325, i32 0, i32 5 + %326 = load i8*, i8** %__nextchar419, align 8 + %incdec.ptr420 = getelementptr inbounds i8, i8* %326, i32 1 + store i8* %incdec.ptr420, i8** %__nextchar419, align 8 + %327 = load i8, i8* %326, align 1 + store i8 %327, i8* %c, align 1 + %328 = load i8*, i8** %optstring.addr, align 8 + %329 = load i8, i8* %c, align 1 + %conv421 = sext i8 %329 to i32 + %call422 = call i8* @strchr(i8* %328, i32 %conv421) #21 + store i8* %call422, i8** %temp, align 8 + %330 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar423 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %330, i32 0, i32 5 + %331 = load i8*, i8** %__nextchar423, align 8 + %332 = load i8, i8* %331, align 1 + %conv424 = sext i8 %332 to i32 + %cmp425 = icmp eq i32 %conv424, 0 + br i1 %cmp425, label %if.then427, label %if.end430 + +if.then427: ; preds = %if.end418 + %333 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind428 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %333, i32 0, i32 0 + %334 = load i32, i32* %optind428, align 8 + %inc429 = add nsw i32 %334, 1 + store i32 %inc429, i32* %optind428, align 8 + br label %if.end430 + +if.end430: ; preds = %if.then427, %if.end418 + %335 = load i8*, i8** %temp, align 8 + %cmp431 = icmp eq i8* %335, null + br i1 %cmp431, label %if.then437, label %lor.lhs.false433 + +lor.lhs.false433: ; preds = %if.end430 + %336 = load i8, i8* %c, align 1 + %conv434 = sext i8 %336 to i32 + %cmp435 = icmp eq i32 %conv434, 58 + br i1 %cmp435, label %if.then437, label %if.end453 + +if.then437: ; preds = %lor.lhs.false433, %if.end430 + %337 = load i32, i32* %print_errors, align 4 + %tobool438 = icmp ne i32 %337, 0 + br i1 %tobool438, label %if.then439, label %if.end450 + +if.then439: ; preds = %if.then437 + %338 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__posixly_correct = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %338, i32 0, i32 7 + %339 = load i32, i32* %__posixly_correct, align 4 + %tobool440 = icmp ne i32 %339, 0 + %340 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %341 = load i8**, i8*** %argv.addr, align 8 + %arrayidx442 = getelementptr inbounds i8*, i8** %341, i64 0 + %342 = load i8*, i8** %arrayidx442, align 8 + %343 = load i8, i8* %c, align 1 + %conv443 = sext i8 %343 to i32 + br i1 %tobool440, label %if.then441, label %if.else445 + +if.then441: ; preds = %if.then439 + %call444 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %340, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.8.319, i64 0, i64 0), i8* %342, i32 %conv443) #19 + br label %if.end450 + +if.else445: ; preds = %if.then439 + %call448 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %340, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.9.320, i64 0, i64 0), i8* %342, i32 %conv443) #19 + br label %if.end450 + +if.end450: ; preds = %if.then441, %if.else445, %if.then437 + %344 = load i8, i8* %c, align 1 + %conv451 = sext i8 %344 to i32 + %345 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt452 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %345, i32 0, i32 2 + store i32 %conv451, i32* %optopt452, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.end453: ; preds = %lor.lhs.false433 + %346 = load i8*, i8** %temp, align 8 + %arrayidx454 = getelementptr inbounds i8, i8* %346, i64 1 + %347 = load i8, i8* %arrayidx454, align 1 + %conv455 = sext i8 %347 to i32 + %cmp456 = icmp eq i32 %conv455, 58 + br i1 %cmp456, label %if.then458, label %if.end517 + +if.then458: ; preds = %if.end453 + %348 = load i8*, i8** %temp, align 8 + %arrayidx459 = getelementptr inbounds i8, i8* %348, i64 2 + %349 = load i8, i8* %arrayidx459, align 1 + %conv460 = sext i8 %349 to i32 + %cmp461 = icmp eq i32 %conv460, 58 + %350 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar464 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %350, i32 0, i32 5 + %351 = load i8*, i8** %__nextchar464, align 8 + %352 = load i8, i8* %351, align 1 + %conv465 = sext i8 %352 to i32 + %cmp466 = icmp ne i32 %conv465, 0 + %353 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + br i1 %cmp461, label %if.then463, label %if.else477 + +if.then463: ; preds = %if.then458 + br i1 %cmp466, label %if.then468, label %if.else473 + +if.then468: ; preds = %if.then463 + %__nextchar469 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 5 + %354 = load i8*, i8** %__nextchar469, align 8 + %355 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg470 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %355, i32 0, i32 3 + store i8* %354, i8** %optarg470, align 8 + %356 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind471 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %356, i32 0, i32 0 + %357 = load i32, i32* %optind471, align 8 + %inc472 = add nsw i32 %357, 1 + store i32 %inc472, i32* %optind471, align 8 + br label %if.end475 + +if.else473: ; preds = %if.then463 + %optarg474 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 3 + store i8* null, i8** %optarg474, align 8 + br label %if.end475 + +if.end475: ; preds = %if.else473, %if.then468 + %358 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar476 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %358, i32 0, i32 5 + store i8* null, i8** %__nextchar476, align 8 + br label %if.end517 + +if.else477: ; preds = %if.then458 + br i1 %cmp466, label %if.then482, label %if.else487 + +if.then482: ; preds = %if.else477 + %__nextchar483 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 5 + %359 = load i8*, i8** %__nextchar483, align 8 + %360 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg484 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %360, i32 0, i32 3 + store i8* %359, i8** %optarg484, align 8 + %361 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind485 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %361, i32 0, i32 0 + %362 = load i32, i32* %optind485, align 8 + %inc486 = add nsw i32 %362, 1 + store i32 %inc486, i32* %optind485, align 8 + br label %if.end514 + +if.else487: ; preds = %if.else477 + %optind488 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 0 + %363 = load i32, i32* %optind488, align 8 + %364 = load i32, i32* %argc.addr, align 4 + %cmp489 = icmp eq i32 %363, %364 + br i1 %cmp489, label %if.then491, label %if.else507 + +if.then491: ; preds = %if.else487 + %365 = load i32, i32* %print_errors, align 4 + %tobool492 = icmp ne i32 %365, 0 + br i1 %tobool492, label %if.then493, label %if.end497 + +if.then493: ; preds = %if.then491 + %366 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %367 = load i8**, i8*** %argv.addr, align 8 + %arrayidx494 = getelementptr inbounds i8*, i8** %367, i64 0 + %368 = load i8*, i8** %arrayidx494, align 8 + %369 = load i8, i8* %c, align 1 + %conv495 = sext i8 %369 to i32 + %call496 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %366, i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.10.321, i64 0, i64 0), i8* %368, i32 %conv495) #19 + br label %if.end497 + +if.end497: ; preds = %if.then493, %if.then491 + %370 = load i8, i8* %c, align 1 + %conv498 = sext i8 %370 to i32 + %371 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt499 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %371, i32 0, i32 2 + store i32 %conv498, i32* %optopt499, align 8 + %372 = load i8*, i8** %optstring.addr, align 8 + %arrayidx500 = getelementptr inbounds i8, i8* %372, i64 0 + %373 = load i8, i8* %arrayidx500, align 1 + %conv501 = sext i8 %373 to i32 + %cmp502 = icmp eq i32 %conv501, 58 + br i1 %cmp502, label %if.then504, label %if.else505 + +if.then504: ; preds = %if.end497 + store i8 58, i8* %c, align 1 + br label %if.end514 + +if.else505: ; preds = %if.end497 + store i8 63, i8* %c, align 1 + br label %if.end514 + +if.else507: ; preds = %if.else487 + %374 = load i8**, i8*** %argv.addr, align 8 + %375 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind508 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %375, i32 0, i32 0 + %376 = load i32, i32* %optind508, align 8 + %inc509 = add nsw i32 %376, 1 + store i32 %inc509, i32* %optind508, align 8 + %idxprom510 = sext i32 %376 to i64 + %arrayidx511 = getelementptr inbounds i8*, i8** %374, i64 %idxprom510 + %377 = load i8*, i8** %arrayidx511, align 8 + %378 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg512 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %378, i32 0, i32 3 + store i8* %377, i8** %optarg512, align 8 + br label %if.end514 + +if.end514: ; preds = %if.else507, %if.else505, %if.then504, %if.then482 + %379 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar515 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %379, i32 0, i32 5 + store i8* null, i8** %__nextchar515, align 8 + br label %if.end517 + +if.end517: ; preds = %if.end475, %if.end514, %if.end453 + %380 = load i8, i8* %c, align 1 + %conv518 = sext i8 %380 to i32 + store i32 %conv518, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end517, %if.end450, %if.end412, %if.end370, %if.then367, %if.end343, %if.end312, %if.end267, %if.end148, %if.then147, %if.end126, %if.then4 + %381 = load i32, i32* %retval, align 4 + ret i32 %381 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @_getopt_initialize(i32 %argc, i8** %argv, i8* %optstring, %struct._getopt_data* %d) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + %d.addr = alloca %struct._getopt_data*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + store %struct._getopt_data* %d, %struct._getopt_data** %d.addr, align 8 + %0 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %0, i32 0, i32 0 + %1 = load i32, i32* %optind, align 8 + %2 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %2, i32 0, i32 9 + store i32 %1, i32* %__last_nonopt, align 4 + %3 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %3, i32 0, i32 8 + store i32 %1, i32* %__first_nonopt, align 8 + %4 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %4, i32 0, i32 5 + store i8* null, i8** %__nextchar, align 8 + %call = call i8* @getenv(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.11.322, i64 0, i64 0)) #20 + %tobool = icmp ne i8* %call, null + %lnot = xor i1 %tobool, true + %lnot1 = xor i1 %lnot, true + %lnot.ext = zext i1 %lnot1 to i32 + %5 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__posixly_correct = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %5, i32 0, i32 7 + store i32 %lnot.ext, i32* %__posixly_correct, align 4 + %6 = load i8*, i8** %optstring.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %6, i64 0 + %7 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %7 to i32 + %cmp = icmp eq i32 %conv, 45 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %8 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %8, i32 0, i32 6 + store i32 2, i32* %__ordering, align 8 + %9 = load i8*, i8** %optstring.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %optstring.addr, align 8 + br label %if.end18 + +if.else: ; preds = %entry + %10 = load i8*, i8** %optstring.addr, align 8 + %arrayidx3 = getelementptr inbounds i8, i8* %10, i64 0 + %11 = load i8, i8* %arrayidx3, align 1 + %conv4 = sext i8 %11 to i32 + %cmp5 = icmp eq i32 %conv4, 43 + %12 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + br i1 %cmp5, label %if.then7, label %if.else10 + +if.then7: ; preds = %if.else + %__ordering8 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %12, i32 0, i32 6 + store i32 0, i32* %__ordering8, align 8 + %13 = load i8*, i8** %optstring.addr, align 8 + %incdec.ptr9 = getelementptr inbounds i8, i8* %13, i32 1 + store i8* %incdec.ptr9, i8** %optstring.addr, align 8 + br label %if.end18 + +if.else10: ; preds = %if.else + %__posixly_correct11 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %12, i32 0, i32 7 + %14 = load i32, i32* %__posixly_correct11, align 4 + %tobool12 = icmp ne i32 %14, 0 + %15 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering14 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %15, i32 0, i32 6 + br i1 %tobool12, label %if.then13, label %if.else15 + +if.then13: ; preds = %if.else10 + store i32 0, i32* %__ordering14, align 8 + br label %if.end18 + +if.else15: ; preds = %if.else10 + store i32 1, i32* %__ordering14, align 8 + br label %if.end18 + +if.end18: ; preds = %if.then7, %if.else15, %if.then13, %if.then + %16 = load i8*, i8** %optstring.addr, align 8 + ret i8* %16 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @exchange(i8** %argv, %struct._getopt_data* %d) #0 { +entry: + %argv.addr = alloca i8**, align 8 + %d.addr = alloca %struct._getopt_data*, align 8 + %bottom = alloca i32, align 4 + %middle = alloca i32, align 4 + %top = alloca i32, align 4 + %tem = alloca i8*, align 8 + %len = alloca i32, align 4 + %i = alloca i32, align 4 + %len20 = alloca i32, align 4 + %i22 = alloca i32, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store %struct._getopt_data* %d, %struct._getopt_data** %d.addr, align 8 + %0 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %0, i32 0, i32 8 + %1 = load i32, i32* %__first_nonopt, align 8 + store i32 %1, i32* %bottom, align 4 + %2 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %2, i32 0, i32 9 + %3 = load i32, i32* %__last_nonopt, align 4 + store i32 %3, i32* %middle, align 4 + %4 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %4, i32 0, i32 0 + %5 = load i32, i32* %optind, align 8 + store i32 %5, i32* %top, align 4 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %6 = load i32, i32* %top, align 4 + %7 = load i32, i32* %middle, align 4 + %cmp = icmp sgt i32 %6, %7 + %8 = load i32, i32* %middle, align 4 + %9 = load i32, i32* %bottom, align 4 + %cmp1 = icmp sgt i32 %8, %9 + %10 = select i1 %cmp, i1 %cmp1, i1 false + br i1 %10, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %11 = load i32, i32* %top, align 4 + %12 = load i32, i32* %middle, align 4 + %sub = sub nsw i32 %11, %12 + %13 = load i32, i32* %middle, align 4 + %14 = load i32, i32* %bottom, align 4 + %sub2 = sub nsw i32 %13, %14 + %cmp3 = icmp sgt i32 %sub, %sub2 + br i1 %cmp3, label %if.then, label %if.else + +if.then: ; preds = %while.body + %15 = load i32, i32* %middle, align 4 + %16 = load i32, i32* %bottom, align 4 + %sub4 = sub nsw i32 %15, %16 + store i32 %sub4, i32* %len, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.then + %17 = load i32, i32* %i, align 4 + %18 = load i32, i32* %len, align 4 + %cmp5 = icmp slt i32 %17, %18 + br i1 %cmp5, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %19 = load i8**, i8*** %argv.addr, align 8 + %20 = load i32, i32* %bottom, align 4 + %21 = load i32, i32* %i, align 4 + %add = add nsw i32 %20, %21 + %idxprom = sext i32 %add to i64 + %arrayidx = getelementptr inbounds i8*, i8** %19, i64 %idxprom + %22 = load i8*, i8** %arrayidx, align 8 + store i8* %22, i8** %tem, align 8 + %23 = load i8**, i8*** %argv.addr, align 8 + %24 = load i32, i32* %top, align 4 + %25 = load i32, i32* %middle, align 4 + %26 = load i32, i32* %bottom, align 4 + %sub6 = sub nsw i32 %25, %26 + %sub7 = sub nsw i32 %24, %sub6 + %27 = load i32, i32* %i, align 4 + %add8 = add nsw i32 %sub7, %27 + %idxprom9 = sext i32 %add8 to i64 + %arrayidx10 = getelementptr inbounds i8*, i8** %23, i64 %idxprom9 + %28 = load i8*, i8** %arrayidx10, align 8 + %29 = load i8**, i8*** %argv.addr, align 8 + %30 = load i32, i32* %bottom, align 4 + %31 = load i32, i32* %i, align 4 + %add11 = add nsw i32 %30, %31 + %idxprom12 = sext i32 %add11 to i64 + %arrayidx13 = getelementptr inbounds i8*, i8** %29, i64 %idxprom12 + store i8* %28, i8** %arrayidx13, align 8 + %32 = load i8*, i8** %tem, align 8 + %33 = load i8**, i8*** %argv.addr, align 8 + %34 = load i32, i32* %top, align 4 + %35 = load i32, i32* %middle, align 4 + %36 = load i32, i32* %bottom, align 4 + %sub14 = sub nsw i32 %35, %36 + %sub15 = sub nsw i32 %34, %sub14 + %37 = load i32, i32* %i, align 4 + %add16 = add nsw i32 %sub15, %37 + %idxprom17 = sext i32 %add16 to i64 + %arrayidx18 = getelementptr inbounds i8*, i8** %33, i64 %idxprom17 + store i8* %32, i8** %arrayidx18, align 8 + %38 = load i32, i32* %i, align 4 + %inc = add nsw i32 %38, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %39 = load i32, i32* %len, align 4 + %40 = load i32, i32* %top, align 4 + %sub19 = sub nsw i32 %40, %39 + store i32 %sub19, i32* %top, align 4 + br label %if.end + +if.else: ; preds = %while.body + %41 = load i32, i32* %top, align 4 + %42 = load i32, i32* %middle, align 4 + %sub21 = sub nsw i32 %41, %42 + store i32 %sub21, i32* %len20, align 4 + store i32 0, i32* %i22, align 4 + br label %for.cond23 + +for.cond23: ; preds = %for.body25, %if.else + %43 = load i32, i32* %i22, align 4 + %44 = load i32, i32* %len20, align 4 + %cmp24 = icmp slt i32 %43, %44 + br i1 %cmp24, label %for.body25, label %for.end40 + +for.body25: ; preds = %for.cond23 + %45 = load i8**, i8*** %argv.addr, align 8 + %46 = load i32, i32* %bottom, align 4 + %47 = load i32, i32* %i22, align 4 + %add26 = add nsw i32 %46, %47 + %idxprom27 = sext i32 %add26 to i64 + %arrayidx28 = getelementptr inbounds i8*, i8** %45, i64 %idxprom27 + %48 = load i8*, i8** %arrayidx28, align 8 + store i8* %48, i8** %tem, align 8 + %49 = load i8**, i8*** %argv.addr, align 8 + %50 = load i32, i32* %middle, align 4 + %51 = load i32, i32* %i22, align 4 + %add29 = add nsw i32 %50, %51 + %idxprom30 = sext i32 %add29 to i64 + %arrayidx31 = getelementptr inbounds i8*, i8** %49, i64 %idxprom30 + %52 = load i8*, i8** %arrayidx31, align 8 + %53 = load i8**, i8*** %argv.addr, align 8 + %54 = load i32, i32* %bottom, align 4 + %55 = load i32, i32* %i22, align 4 + %add32 = add nsw i32 %54, %55 + %idxprom33 = sext i32 %add32 to i64 + %arrayidx34 = getelementptr inbounds i8*, i8** %53, i64 %idxprom33 + store i8* %52, i8** %arrayidx34, align 8 + %56 = load i8*, i8** %tem, align 8 + %57 = load i8**, i8*** %argv.addr, align 8 + %58 = load i32, i32* %middle, align 4 + %59 = load i32, i32* %i22, align 4 + %add35 = add nsw i32 %58, %59 + %idxprom36 = sext i32 %add35 to i64 + %arrayidx37 = getelementptr inbounds i8*, i8** %57, i64 %idxprom36 + store i8* %56, i8** %arrayidx37, align 8 + %60 = load i32, i32* %i22, align 4 + %inc39 = add nsw i32 %60, 1 + store i32 %inc39, i32* %i22, align 4 + br label %for.cond23 + +for.end40: ; preds = %for.cond23 + %61 = load i32, i32* %len20, align 4 + %62 = load i32, i32* %bottom, align 4 + %add41 = add nsw i32 %62, %61 + store i32 %add41, i32* %bottom, align 4 + br label %if.end + +if.end: ; preds = %for.end40, %for.end + br label %while.cond + +while.end: ; preds = %while.cond + %63 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind42 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %63, i32 0, i32 0 + %64 = load i32, i32* %optind42, align 8 + %65 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt43 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %65, i32 0, i32 9 + %66 = load i32, i32* %__last_nonopt43, align 4 + %sub44 = sub nsw i32 %64, %66 + %67 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt45 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %67, i32 0, i32 8 + %68 = load i32, i32* %__first_nonopt45, align 8 + %add46 = add nsw i32 %68, %sub44 + store i32 %add46, i32* %__first_nonopt45, align 8 + %69 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind47 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %69, i32 0, i32 0 + %70 = load i32, i32* %optind47, align 8 + %71 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt48 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %71, i32 0, i32 9 + store i32 %70, i32* %__last_nonopt48, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getopt(i32 %argc, i8** %argv, i8* %optstring) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + %0 = load i32, i32* %argc.addr, align 4 + %1 = load i8**, i8*** %argv.addr, align 8 + %2 = load i8*, i8** %optstring.addr, align 8 + %call = call i32 @_getopt_internal(i32 %0, i8** %1, i8* %2, %struct.option* null, i32* null, i32 0) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getopt_long(i32 %argc, i8** %argv, i8* %options, %struct.option* %long_options, i32* %opt_index) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %options.addr = alloca i8*, align 8 + %long_options.addr = alloca %struct.option*, align 8 + %opt_index.addr = alloca i32*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %options, i8** %options.addr, align 8 + store %struct.option* %long_options, %struct.option** %long_options.addr, align 8 + store i32* %opt_index, i32** %opt_index.addr, align 8 + %0 = load i32, i32* %argc.addr, align 4 + %1 = load i8**, i8*** %argv.addr, align 8 + %2 = load i8*, i8** %options.addr, align 8 + %3 = load %struct.option*, %struct.option** %long_options.addr, align 8 + %4 = load i32*, i32** %opt_index.addr, align 8 + %call = call i32 @_getopt_internal(i32 %0, i8** %1, i8* %2, %struct.option* %3, i32* %4, i32 0) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getopt_long_only(i32 %argc, i8** %argv, i8* %options, %struct.option* %long_options, i32* %opt_index) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %options.addr = alloca i8*, align 8 + %long_options.addr = alloca %struct.option*, align 8 + %opt_index.addr = alloca i32*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %options, i8** %options.addr, align 8 + store %struct.option* %long_options, %struct.option** %long_options.addr, align 8 + store i32* %opt_index, i32** %opt_index.addr, align 8 + %0 = load i32, i32* %argc.addr, align 4 + %1 = load i8**, i8*** %argv.addr, align 8 + %2 = load i8*, i8** %options.addr, align 8 + %3 = load %struct.option*, %struct.option** %long_options.addr, align 8 + %4 = load i32*, i32** %opt_index.addr, align 8 + %call = call i32 @_getopt_internal(i32 %0, i8** %1, i8* %2, %struct.option* %3, i32* %4, i32 1) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define %struct.__uclibc_locale_struct.201* @newlocale(i32 %category_mask, i8* %locale, %struct.__uclibc_locale_struct.201* %base) #0 { +entry: + %retval = alloca %struct.__uclibc_locale_struct.201*, align 8 + %category_mask.addr = alloca i32, align 4 + %locale.addr = alloca i8*, align 8 + %base.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %p = alloca i8*, align 8 + %i = alloca i32, align 4 + %j = alloca i32, align 4 + %k = alloca i32, align 4 + %new_selector = alloca [14 x i8], align 1 + store i32 %category_mask, i32* %category_mask.addr, align 4 + store i8* %locale, i8** %locale.addr, align 8 + store %struct.__uclibc_locale_struct.201* %base, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %0 = load i32, i32* %category_mask.addr, align 4 + %cmp = icmp eq i32 %0, 64 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 8127, i32* %category_mask.addr, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i8*, i8** %locale.addr, align 8 + %tobool = icmp eq i8* %1, null + %2 = load i32, i32* %category_mask.addr, align 4 + %cmp1 = icmp ugt i32 %2, 8127 + %or.cond = or i1 %tobool, %cmp1 + br i1 %or.cond, label %INVALID, label %if.end3 + +INVALID: ; preds = %if.else, %do.end, %if.end + store i32 22, i32* @errno, align 4 + store %struct.__uclibc_locale_struct.201* null, %struct.__uclibc_locale_struct.201** %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %3 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tobool4 = icmp ne %struct.__uclibc_locale_struct.201* %3, null + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %4, i32 0, i32 6 + %arraydecay5 = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + %cond = select i1 %tobool4, i8* %arraydecay5, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.327, i64 0, i64 0) + %call = call i8* @strcpy(i8* %arraydecay, i8* %cond) #20 + %5 = load i8*, i8** %locale.addr, align 8 + %6 = load i8, i8* %5, align 1 + %tobool6 = icmp ne i8 %6, 0 + br i1 %tobool6, label %if.else, label %if.then7 + +if.then7: ; preds = %if.end3 + store i32 1, i32* %i, align 4 + store i32 0, i32* %k, align 4 + br label %do.body + +do.body: ; preds = %if.end25, %if.then7 + %7 = load i32, i32* %category_mask.addr, align 4 + %8 = load i32, i32* %i, align 4 + %and = and i32 %7, %8 + %tobool8 = icmp ne i32 %and, 0 + br i1 %tobool8, label %if.then9, label %if.end25 + +if.then9: ; preds = %do.body + %9 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %9, i32 0, i32 34 + %arraydecay10 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names, i64 0, i64 0 + %10 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names11 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %10, i32 0, i32 34 + %11 = load i32, i32* %k, align 4 + %idxprom = sext i32 %11 to i64 + %arrayidx = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names11, i64 0, i64 %idxprom + %12 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %12 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay10, i64 %idx.ext + store i8* %add.ptr, i8** getelementptr inbounds ([4 x i8*], [4 x i8*]* @newlocale.envstr, i64 0, i64 1), align 8 + store i32 0, i32* %j, align 4 + br label %do.body12 + +do.body12: ; preds = %land.rhs, %lor.rhs, %if.then9 + %13 = load i32, i32* %j, align 4 + %idxprom13 = sext i32 %13 to i64 + %arrayidx14 = getelementptr inbounds [4 x i8*], [4 x i8*]* @newlocale.envstr, i64 0, i64 %idxprom13 + %14 = load i8*, i8** %arrayidx14, align 8 + store i8* %14, i8** %p, align 8 + %15 = load i32, i32* %j, align 4 + %inc = add nsw i32 %15, 1 + store i32 %inc, i32* %j, align 4 + %cmp15 = icmp slt i32 %inc, 4 + br i1 %cmp15, label %land.rhs, label %do.end + +land.rhs: ; preds = %do.body12 + %16 = load i8*, i8** %p, align 8 + %call17 = call i8* @getenv(i8* %16) #20 + store i8* %call17, i8** %p, align 8 + %tobool18 = icmp ne i8* %call17, null + br i1 %tobool18, label %lor.rhs, label %do.body12 + +lor.rhs: ; preds = %land.rhs + %17 = load i8*, i8** %p, align 8 + %18 = load i8, i8* %17, align 1 + %tobool19 = icmp ne i8 %18, 0 + %lnot = xor i1 %tobool19, true + br i1 %lnot, label %do.body12, label %do.end + +do.end: ; preds = %do.body12, %lor.rhs + %19 = load i32, i32* %i, align 4 + %20 = load i8*, i8** %p, align 8 + %arraydecay20 = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %call21 = call i32 @find_locale(i32 %19, i8* %20, i8* %arraydecay20) #19 + %tobool22 = icmp ne i32 %call21, 0 + br i1 %tobool22, label %if.end25, label %INVALID + +if.end25: ; preds = %do.end, %do.body + %21 = load i32, i32* %i, align 4 + %22 = load i32, i32* %i, align 4 + %add = add nsw i32 %22, %21 + store i32 %add, i32* %i, align 4 + %23 = load i32, i32* %k, align 4 + %inc27 = add nsw i32 %23, 1 + store i32 %inc27, i32* %k, align 4 + %cmp28 = icmp slt i32 %inc27, 6 + br i1 %cmp28, label %do.body, label %if.end36 + +if.else: ; preds = %if.end3 + %24 = load i32, i32* %category_mask.addr, align 4 + %25 = load i8*, i8** %locale.addr, align 8 + %arraydecay31 = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %call32 = call i8* @composite_locale(i32 %24, i8* %25, i8* %arraydecay31) #19 + %tobool33 = icmp ne i8* %call32, null + br i1 %tobool33, label %if.end36, label %INVALID + +if.end36: ; preds = %if.else, %if.end25 + %26 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tobool37 = icmp ne %struct.__uclibc_locale_struct.201* %26, null + br i1 %tobool37, label %if.end44, label %if.then38 + +if.then38: ; preds = %if.end36 + %call39 = call noalias i8* @calloc(i64 1, i64 3320) #20 + %27 = bitcast i8* %call39 to %struct.__uclibc_locale_struct.201* + store %struct.__uclibc_locale_struct.201* %27, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cmp40 = icmp eq %struct.__uclibc_locale_struct.201* %27, null + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + br i1 %cmp40, label %if.then42, label %if.end43 + +if.then42: ; preds = %if.then38 + store %struct.__uclibc_locale_struct.201* %28, %struct.__uclibc_locale_struct.201** %retval, align 8 + br label %return + +if.end43: ; preds = %if.then38 + call void @_locale_init_l(%struct.__uclibc_locale_struct.201* %28) #19 + br label %if.end44 + +if.end44: ; preds = %if.end43, %if.end36 + %arraydecay45 = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %29 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call46 = call i32 @_locale_set_l(i8* %arraydecay45, %struct.__uclibc_locale_struct.201* %29) #19 + %30 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + store %struct.__uclibc_locale_struct.201* %30, %struct.__uclibc_locale_struct.201** %retval, align 8 + br label %return + +return: ; preds = %if.end44, %if.then42, %INVALID + %31 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %retval, align 8 + ret %struct.__uclibc_locale_struct.201* %31 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @find_locale(i32 %category_mask, i8* %p, i8* %new_locale) #0 { +entry: + %retval = alloca i32, align 4 + %category_mask.addr = alloca i32, align 4 + %p.addr = alloca i8*, align 8 + %new_locale.addr = alloca i8*, align 8 + %i = alloca i32, align 4 + %s = alloca i8*, align 8 + %n = alloca i16, align 2 + %lang_cult = alloca i8, align 1 + %codeset = alloca i8, align 1 + %buf = alloca [18 x i8], align 16 + %q = alloca i8*, align 8 + store i32 %category_mask, i32* %category_mask.addr, align 4 + store i8* %p, i8** %p.addr, align 8 + store i8* %new_locale, i8** %new_locale.addr, align 8 + %0 = load i8*, i8** %p.addr, align 8 + %call = call i8* @strchr(i8* %0, i32 64) #21 + store i8* %call, i8** %q, align 8 + %cmp = icmp ne i8* %call, null + br i1 %cmp, label %if.then, label %if.end27 + +if.then: ; preds = %entry + %1 = load i8*, i8** %q, align 8 + %2 = load i8*, i8** %p.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %1 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %2 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %sub = sub nsw i64 %sub.ptr.sub, 5 + %cmp1 = icmp ugt i64 %sub, 13 + br i1 %cmp1, label %if.then4, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then + %3 = load i8*, i8** %p.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %3, i64 2 + %4 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %4 to i32 + %cmp2 = icmp ne i32 %conv, 95 + br i1 %cmp2, label %if.then4, label %if.end + +if.then4: ; preds = %lor.lhs.false, %if.then + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %lor.lhs.false + %5 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_at_modifiers = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %5, i32 0, i32 33 + %arraydecay = getelementptr inbounds [18 x i8], [18 x i8]* %locale_at_modifiers, i64 0, i64 0 + store i8* %arraydecay, i8** %s, align 8 + br label %do.body + +do.body: ; preds = %if.end8, %if.end + %6 = load i8*, i8** %s, align 8 + %add.ptr = getelementptr inbounds i8, i8* %6, i64 2 + %7 = load i8*, i8** %q, align 8 + %add.ptr5 = getelementptr inbounds i8, i8* %7, i64 1 + %call6 = call i32 @strcmp(i8* %add.ptr, i8* %add.ptr5) #21 + %tobool = icmp ne i32 %call6, 0 + br i1 %tobool, label %if.end8, label %do.end + +if.end8: ; preds = %do.body + %8 = load i8*, i8** %s, align 8 + %9 = load i8, i8* %8, align 1 + %conv9 = zext i8 %9 to i32 + %add = add nsw i32 2, %conv9 + %10 = load i8*, i8** %s, align 8 + %idx.ext = sext i32 %add to i64 + %add.ptr10 = getelementptr inbounds i8, i8* %10, i64 %idx.ext + store i8* %add.ptr10, i8** %s, align 8 + %11 = load i8*, i8** %s, align 8 + %12 = load i8, i8* %11, align 1 + %tobool11 = icmp ne i8 %12, 0 + br i1 %tobool11, label %do.body, label %do.end + +do.end: ; preds = %do.body, %if.end8 + %13 = load i8*, i8** %s, align 8 + %14 = load i8, i8* %13, align 1 + %tobool12 = icmp ne i8 %14, 0 + br i1 %tobool12, label %if.end14, label %if.then13 + +if.then13: ; preds = %do.end + store i32 0, i32* %retval, align 4 + br label %return + +if.end14: ; preds = %do.end + %arraydecay15 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 0 + %15 = load i8*, i8** %p.addr, align 8 + %16 = load i8*, i8** %q, align 8 + %17 = load i8*, i8** %p.addr, align 8 + %sub.ptr.lhs.cast16 = ptrtoint i8* %16 to i64 + %sub.ptr.rhs.cast17 = ptrtoint i8* %17 to i64 + %sub.ptr.sub18 = sub i64 %sub.ptr.lhs.cast16, %sub.ptr.rhs.cast17 + %call19 = call i8* @memcpy(i8* %arraydecay15, i8* %15, i64 %sub.ptr.sub18) #20 + %18 = load i8*, i8** %q, align 8 + %19 = load i8*, i8** %p.addr, align 8 + %sub.ptr.lhs.cast20 = ptrtoint i8* %18 to i64 + %sub.ptr.rhs.cast21 = ptrtoint i8* %19 to i64 + %sub.ptr.sub22 = sub i64 %sub.ptr.lhs.cast20, %sub.ptr.rhs.cast21 + %arrayidx23 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 %sub.ptr.sub22 + store i8 0, i8* %arrayidx23, align 1 + %20 = load i8*, i8** %s, align 8 + %arrayidx24 = getelementptr inbounds i8, i8* %20, i64 1 + %21 = load i8, i8* %arrayidx24, align 1 + %arrayidx25 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 2 + store i8 %21, i8* %arrayidx25, align 2 + %arraydecay26 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay26, i8** %p.addr, align 8 + br label %if.end27 + +if.end27: ; preds = %if.end14, %entry + store i8 0, i8* %codeset, align 1 + store i8 0, i8* %lang_cult, align 1 + %22 = load i8*, i8** %p.addr, align 8 + %23 = load i8, i8* %22, align 1 + %conv28 = sext i8 %23 to i32 + %cmp29 = icmp eq i32 %conv28, 67 + br i1 %cmp29, label %land.lhs.true, label %lor.lhs.false33 + +land.lhs.true: ; preds = %if.end27 + %24 = load i8*, i8** %p.addr, align 8 + %arrayidx31 = getelementptr inbounds i8, i8* %24, i64 1 + %25 = load i8, i8* %arrayidx31, align 1 + %tobool32 = icmp ne i8 %25, 0 + br i1 %tobool32, label %lor.lhs.false33, label %FIND_LOCALE + +lor.lhs.false33: ; preds = %land.lhs.true, %if.end27 + %26 = load i8*, i8** %p.addr, align 8 + %call34 = call i32 @strcmp(i8* %26, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @posix, i64 0, i64 0)) #21 + %tobool35 = icmp ne i32 %call34, 0 + br i1 %tobool35, label %if.end37, label %FIND_LOCALE + +if.end37: ; preds = %lor.lhs.false33 + %27 = load i8*, i8** %p.addr, align 8 + %call38 = call i64 @strlen(i8* %27) #21 + %cmp39 = icmp ugt i64 %call38, 5 + br i1 %cmp39, label %land.lhs.true41, label %FIND_LANG_CULT + +land.lhs.true41: ; preds = %if.end37 + %28 = load i8*, i8** %p.addr, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %28, i64 5 + %29 = load i8, i8* %arrayidx42, align 1 + %conv43 = sext i8 %29 to i32 + %cmp44 = icmp eq i32 %conv43, 46 + br i1 %cmp44, label %if.then46, label %FIND_LANG_CULT + +if.then46: ; preds = %land.lhs.true41 + store i8 2, i8* %codeset, align 1 + %30 = load i8*, i8** %p.addr, align 8 + %add.ptr47 = getelementptr inbounds i8, i8* %30, i64 6 + %call48 = call i32 @strcmp(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf8.330, i64 0, i64 0), i8* %add.ptr47) #21 + %cmp49 = icmp ne i32 %call48, 0 + br i1 %cmp49, label %if.then51, label %FIND_LANG_CULT + +if.then51: ; preds = %if.then46 + %31 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %31, i32 0, i32 35 + %arraydecay52 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list, i64 0, i64 0 + store i8* %arraydecay52, i8** %s, align 8 + br label %do.body53 + +do.body53: ; preds = %do.cond64, %if.then51 + %32 = load i8, i8* %codeset, align 1 + %inc = add i8 %32, 1 + store i8 %inc, i8* %codeset, align 1 + %33 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list54 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %33, i32 0, i32 35 + %arraydecay55 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list54, i64 0, i64 0 + %34 = load i8*, i8** %s, align 8 + %35 = load i8, i8* %34, align 1 + %conv56 = zext i8 %35 to i32 + %idx.ext57 = sext i32 %conv56 to i64 + %add.ptr58 = getelementptr inbounds i8, i8* %arraydecay55, i64 %idx.ext57 + %36 = load i8*, i8** %p.addr, align 8 + %add.ptr59 = getelementptr inbounds i8, i8* %36, i64 6 + %call60 = call i32 @strcmp(i8* %add.ptr58, i8* %add.ptr59) #21 + %tobool61 = icmp ne i32 %call60, 0 + br i1 %tobool61, label %do.cond64, label %FIND_LANG_CULT + +do.cond64: ; preds = %do.body53 + %37 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %37, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %38 = load i8, i8* %incdec.ptr, align 1 + %tobool65 = icmp ne i8 %38, 0 + br i1 %tobool65, label %do.body53, label %do.end66 + +do.end66: ; preds = %do.cond64 + store i32 0, i32* %retval, align 4 + br label %return + +FIND_LANG_CULT: ; preds = %if.end37, %land.lhs.true41, %if.then46, %do.body53 + %39 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_names5 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %39, i32 0, i32 32 + %arraydecay69 = getelementptr inbounds [835 x i8], [835 x i8]* %locale_names5, i64 0, i64 0 + store i8* %arraydecay69, i8** %s, align 8 + br label %do.body70 + +do.body70: ; preds = %if.end75, %FIND_LANG_CULT + %40 = load i8, i8* %lang_cult, align 1 + %inc71 = add i8 %40, 1 + store i8 %inc71, i8* %lang_cult, align 1 + %41 = load i8*, i8** %s, align 8 + %42 = load i8*, i8** %p.addr, align 8 + %call72 = call i32 @strncmp(i8* %41, i8* %42, i64 5) #21 + %tobool73 = icmp ne i32 %call72, 0 + br i1 %tobool73, label %if.end75, label %FIND_LOCALE + +if.end75: ; preds = %do.body70 + %43 = load i8*, i8** %s, align 8 + %add.ptr76 = getelementptr inbounds i8, i8* %43, i64 5 + store i8* %add.ptr76, i8** %s, align 8 + %44 = load i8, i8* %lang_cult, align 1 + %conv78 = zext i8 %44 to i32 + %cmp79 = icmp slt i32 %conv78, 167 + br i1 %cmp79, label %do.body70, label %do.end81 + +do.end81: ; preds = %if.end75 + store i32 0, i32* %retval, align 4 + br label %return + +FIND_LOCALE: ; preds = %do.body70, %land.lhs.true, %lor.lhs.false33 + %45 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %45, i32 0, i32 31 + %arraydecay82 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales, i64 0, i64 0 + store i8* %arraydecay82, i8** %s, align 8 + store i16 0, i16* %n, align 2 + br label %do.body83 + +do.body83: ; preds = %if.end120, %FIND_LOCALE + %46 = load i8, i8* %lang_cult, align 1 + %conv84 = zext i8 %46 to i32 + %47 = load i8*, i8** %s, align 8 + %48 = load i8, i8* %47, align 1 + %conv85 = zext i8 %48 to i32 + %cmp86 = icmp eq i32 %conv84, %conv85 + br i1 %cmp86, label %land.lhs.true88, label %if.end120 + +land.lhs.true88: ; preds = %do.body83 + %49 = load i8, i8* %codeset, align 1 + %conv89 = zext i8 %49 to i32 + %50 = load i8*, i8** %s, align 8 + %arrayidx90 = getelementptr inbounds i8, i8* %50, i64 1 + %51 = load i8, i8* %arrayidx90, align 1 + %conv91 = zext i8 %51 to i32 + %cmp92 = icmp eq i32 %conv89, %conv91 + br i1 %cmp92, label %if.then100, label %lor.lhs.false94 + +lor.lhs.false94: ; preds = %land.lhs.true88 + %52 = load i8, i8* %codeset, align 1 + %conv95 = zext i8 %52 to i32 + %53 = load i8*, i8** %s, align 8 + %arrayidx96 = getelementptr inbounds i8, i8* %53, i64 2 + %54 = load i8, i8* %arrayidx96, align 1 + %conv97 = zext i8 %54 to i32 + %cmp98 = icmp eq i32 %conv95, %conv97 + br i1 %cmp98, label %if.then100, label %if.end120 + +if.then100: ; preds = %lor.lhs.false94, %land.lhs.true88 + store i32 1, i32* %i, align 4 + %55 = load i8*, i8** %new_locale.addr, align 8 + %add.ptr101 = getelementptr inbounds i8, i8* %55, i64 1 + store i8* %add.ptr101, i8** %s, align 8 + br label %do.body102 + +do.body102: ; preds = %if.end113, %if.then100 + %56 = load i32, i32* %category_mask.addr, align 4 + %57 = load i32, i32* %i, align 4 + %and = and i32 %56, %57 + %tobool103 = icmp ne i32 %and, 0 + br i1 %tobool103, label %if.then104, label %if.end113 + +if.then104: ; preds = %do.body102 + %58 = load i16, i16* %n, align 2 + %conv105 = zext i16 %58 to i32 + %shr = ashr i32 %conv105, 7 + %or = or i32 %shr, 128 + %conv106 = trunc i32 %or to i8 + %59 = load i8*, i8** %s, align 8 + %arrayidx107 = getelementptr inbounds i8, i8* %59, i64 0 + store i8 %conv106, i8* %arrayidx107, align 1 + %60 = load i16, i16* %n, align 2 + %conv108 = zext i16 %60 to i32 + %and109 = and i32 %conv108, 127 + %or110 = or i32 %and109, 128 + %conv111 = trunc i32 %or110 to i8 + %61 = load i8*, i8** %s, align 8 + %arrayidx112 = getelementptr inbounds i8, i8* %61, i64 1 + store i8 %conv111, i8* %arrayidx112, align 1 + br label %if.end113 + +if.end113: ; preds = %if.then104, %do.body102 + %62 = load i8*, i8** %s, align 8 + %add.ptr114 = getelementptr inbounds i8, i8* %62, i64 2 + store i8* %add.ptr114, i8** %s, align 8 + %63 = load i32, i32* %i, align 4 + %64 = load i32, i32* %i, align 4 + %add115 = add nsw i32 %64, %63 + store i32 %add115, i32* %i, align 4 + %65 = load i32, i32* %i, align 4 + %cmp117 = icmp slt i32 %65, 64 + br i1 %cmp117, label %do.body102, label %do.end119 + +do.end119: ; preds = %if.end113 + %66 = load i32, i32* %i, align 4 + store i32 %66, i32* %retval, align 4 + br label %return + +if.end120: ; preds = %lor.lhs.false94, %do.body83 + %67 = load i8*, i8** %s, align 8 + %add.ptr121 = getelementptr inbounds i8, i8* %67, i64 9 + store i8* %add.ptr121, i8** %s, align 8 + %68 = load i16, i16* %n, align 2 + %inc122 = add i16 %68, 1 + store i16 %inc122, i16* %n, align 2 + %69 = load i16, i16* %n, align 2 + %conv124 = zext i16 %69 to i32 + %cmp125 = icmp sle i32 %conv124, 314 + br i1 %cmp125, label %do.body83, label %do.end127 + +do.end127: ; preds = %if.end120 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end127, %do.end119, %do.end81, %do.end66, %if.then13, %if.then4 + %70 = load i32, i32* %retval, align 4 + ret i32 %70 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @composite_locale(i32 %category_mask, i8* %locale, i8* %new_locale) #0 { +entry: + %retval = alloca i8*, align 8 + %category_mask.addr = alloca i32, align 4 + %locale.addr = alloca i8*, align 8 + %new_locale.addr = alloca i8*, align 8 + %buf = alloca [256 x i8], align 16 + %t = alloca i8*, align 8 + %e = alloca i8*, align 8 + %c = alloca i32, align 4 + %component_mask = alloca i32, align 4 + store i32 %category_mask, i32* %category_mask.addr, align 4 + store i8* %locale, i8** %locale.addr, align 8 + store i8* %new_locale, i8** %new_locale.addr, align 8 + %0 = load i8*, i8** %locale.addr, align 8 + %call = call i8* @strchr(i8* %0, i32 61) #21 + %tobool = icmp ne i8* %call, null + br i1 %tobool, label %if.end4, label %if.then + +if.then: ; preds = %entry + %1 = load i32, i32* %category_mask.addr, align 4 + %2 = load i8*, i8** %locale.addr, align 8 + %3 = load i8*, i8** %new_locale.addr, align 8 + %call1 = call i32 @find_locale(i32 %1, i8* %2, i8* %3) #19 + %tobool2 = icmp ne i32 %call1, 0 + br i1 %tobool2, label %if.end, label %if.then3 + +if.then3: ; preds = %if.then + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %if.then + %4 = load i8*, i8** %new_locale.addr, align 8 + store i8* %4, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %entry + %5 = load i8*, i8** %locale.addr, align 8 + %call5 = call i64 @strlen(i8* %5) #21 + %cmp = icmp uge i64 %call5, 256 + br i1 %cmp, label %if.then6, label %if.end7 + +if.then6: ; preds = %if.end4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end7: ; preds = %if.end4 + %arraydecay = getelementptr inbounds [256 x i8], [256 x i8]* %buf, i64 0, i64 0 + %6 = load i8*, i8** %locale.addr, align 8 + %call8 = call i8* @stpcpy(i8* %arraydecay, i8* %6) #20 + store i32 0, i32* %component_mask, align 4 + %arraydecay9 = getelementptr inbounds [256 x i8], [256 x i8]* %buf, i64 0, i64 0 + %call10 = call i8* @strtok_r(i8* %arraydecay9, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.328, i64 0, i64 0), i8** %e) #20 + store i8* %call10, i8** %t, align 8 + br label %do.body + +do.body: ; preds = %do.cond, %if.end7 + store i32 0, i32* %c, align 4 + br label %while.cond + +while.cond: ; preds = %while.body, %do.body + %7 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %7, i32 0, i32 34 + %arraydecay11 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names, i64 0, i64 0 + %8 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names12 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %8, i32 0, i32 34 + %9 = load i32, i32* %c, align 4 + %idxprom = sext i32 %9 to i64 + %arrayidx = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names12, i64 0, i64 %idxprom + %10 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %10 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay11, i64 %idx.ext + %11 = load i8*, i8** %t, align 8 + %call13 = call i32 @strcmp(i8* %add.ptr, i8* %11) #21 + %tobool14 = icmp ne i32 %call13, 0 + br i1 %tobool14, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %12 = load i32, i32* %c, align 4 + %inc = add nsw i32 %12, 1 + store i32 %inc, i32* %c, align 4 + %cmp15 = icmp eq i32 %inc, 6 + br i1 %cmp15, label %if.then17, label %while.cond + +if.then17: ; preds = %while.body + store i8* null, i8** %retval, align 8 + br label %return + +while.end: ; preds = %while.cond + %call19 = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.4.329, i64 0, i64 0), i8** %e) #20 + store i8* %call19, i8** %t, align 8 + %13 = load i32, i32* %c, align 4 + %shl = shl i32 1, %13 + store i32 %shl, i32* %c, align 4 + %14 = load i32, i32* %component_mask, align 4 + %15 = load i32, i32* %c, align 4 + %and = and i32 %14, %15 + %tobool20 = icmp ne i32 %and, 0 + br i1 %tobool20, label %if.then21, label %if.end22 + +if.then21: ; preds = %while.end + store i8* null, i8** %retval, align 8 + br label %return + +if.end22: ; preds = %while.end + %16 = load i32, i32* %c, align 4 + %17 = load i32, i32* %component_mask, align 4 + %or = or i32 %17, %16 + store i32 %or, i32* %component_mask, align 4 + %18 = load i32, i32* %category_mask.addr, align 4 + %19 = load i32, i32* %c, align 4 + %and23 = and i32 %18, %19 + %tobool24 = icmp ne i32 %and23, 0 + br i1 %tobool24, label %land.lhs.true, label %do.cond + +land.lhs.true: ; preds = %if.end22 + %20 = load i8*, i8** %t, align 8 + %tobool25 = icmp ne i8* %20, null + br i1 %tobool25, label %lor.lhs.false, label %if.then28 + +lor.lhs.false: ; preds = %land.lhs.true + %21 = load i32, i32* %c, align 4 + %22 = load i8*, i8** %t, align 8 + %23 = load i8*, i8** %new_locale.addr, align 8 + %call26 = call i32 @find_locale(i32 %21, i8* %22, i8* %23) #19 + %tobool27 = icmp ne i32 %call26, 0 + br i1 %tobool27, label %do.cond, label %if.then28 + +if.then28: ; preds = %lor.lhs.false, %land.lhs.true + store i8* null, i8** %retval, align 8 + br label %return + +do.cond: ; preds = %if.end22, %lor.lhs.false + %call30 = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.328, i64 0, i64 0), i8** %e) #20 + store i8* %call30, i8** %t, align 8 + %cmp31 = icmp ne i8* %call30, null + br i1 %cmp31, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %24 = load i32, i32* %category_mask.addr, align 4 + %25 = load i32, i32* %component_mask, align 4 + %neg = xor i32 %25, -1 + %and33 = and i32 %24, %neg + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %if.then35, label %if.end36 + +if.then35: ; preds = %do.end + store i8* null, i8** %retval, align 8 + br label %return + +if.end36: ; preds = %do.end + %26 = load i8*, i8** %new_locale.addr, align 8 + store i8* %26, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end36, %if.then35, %if.then28, %if.then21, %if.then17, %if.then6, %if.end, %if.then3 + %27 = load i8*, i8** %retval, align 8 + ret i8* %27 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @nl_langinfo_l(i32 %item, %struct.__uclibc_locale_struct.201* %locale_arg) #0 { +entry: + %retval = alloca i8*, align 8 + %item.addr = alloca i32, align 4 + %locale_arg.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %c = alloca i32, align 4 + %i = alloca i32, align 4 + store i32 %item, i32* %item.addr, align 4 + store %struct.__uclibc_locale_struct.201* %locale_arg, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %0 = load i32, i32* %item.addr, align 4 + %shr = ashr i32 %0, 8 + store i32 %shr, i32* %c, align 4 + %1 = load i32, i32* %item.addr, align 4 + %and = and i32 %1, 255 + store i32 %and, i32* %i, align 4 + %2 = load i32, i32* %c, align 4 + %cmp = icmp ult i32 %2, 6 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %3 = load i32, i32* %i, align 4 + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %category_item_count = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %4, i32 0, i32 8 + %5 = load i32, i32* %c, align 4 + %idxprom = zext i32 %5 to i64 + %arrayidx = getelementptr inbounds [6 x i8], [6 x i8]* %category_item_count, i64 0, i64 %idxprom + %6 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %6 to i32 + %cmp1 = icmp ult i32 %3, %conv + br i1 %cmp1, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %7 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %8 = bitcast %struct.__uclibc_locale_struct.201* %7 to i8* + %9 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %category_offsets = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %9, i32 0, i32 7 + %10 = load i32, i32* %c, align 4 + %idxprom3 = zext i32 %10 to i64 + %arrayidx4 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets, i64 0, i64 %idxprom3 + %11 = load i16, i16* %arrayidx4, align 2 + %conv5 = zext i16 %11 to i32 + %idx.ext = sext i32 %conv5 to i64 + %add.ptr = getelementptr inbounds i8, i8* %8, i64 %idx.ext + %12 = bitcast i8* %add.ptr to i8** + %13 = load i32, i32* %i, align 4 + %idxprom6 = zext i32 %13 to i64 + %arrayidx7 = getelementptr inbounds i8*, i8** %12, i64 %idxprom6 + %14 = load i8*, i8** %arrayidx7, align 8 + store i8* %14, i8** %retval, align 8 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @empty, i64 0, i64 0), i8** %retval, align 8 + br label %return + +return: ; preds = %if.end, %if.then + %15 = load i8*, i8** %retval, align 8 + ret i8* %15 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @mbsnrtowcs(i32* noalias %dst, i8** noalias %src, i64 %NMC, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %retval = alloca i64, align 8 + %dst.addr = alloca i32*, align 8 + %src.addr = alloca i8**, align 8 + %NMC.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %wcbuf = alloca [1 x i32], align 4 + %s = alloca i8*, align 8 + %count = alloca i64, align 8 + %incr = alloca i32, align 4 + %r = alloca i64, align 8 + %wc = alloca i32, align 4 + store i32* %dst, i32** %dst.addr, align 8 + store i8** %src, i8*** %src.addr, align 8 + store i64 %NMC, i64* %NMC.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %tobool = icmp ne %struct.__mbstate_t.512* %0, null + %spec.store.select = select i1 %tobool, %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512* @mbsnrtowcs.mbstate + store %struct.__mbstate_t.512* %spec.store.select, %struct.__mbstate_t.512** %ps.addr, align 8 + %1 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %1, i32 0, i32 9 + %2 = load i8, i8* %encoding, align 8 + %conv = zext i8 %2 to i32 + %cmp = icmp eq i32 %conv, 1 + br i1 %cmp, label %if.then2, label %if.end5 + +if.then2: ; preds = %entry + %3 = load i32*, i32** %dst.addr, align 8 + %4 = load i64, i64* %len.addr, align 8 + %5 = load i8**, i8*** %src.addr, align 8 + %6 = load i64, i64* %NMC.addr, align 8 + %7 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @_wchar_utf8sntowcs(i32* %3, i64 %4, i8** %5, i64 %6, %struct.__mbstate_t.512* %7, i32 1) #19 + store i64 %call, i64* %r, align 8 + %cmp3 = icmp ne i64 %call, -2 + %8 = load i64, i64* %r, align 8 + %cond = select i1 %cmp3, i64 %8, i64 0 + store i64 %cond, i64* %retval, align 8 + br label %return + +if.end5: ; preds = %entry + store i32 1, i32* %incr, align 4 + %9 = load i32*, i32** %dst.addr, align 8 + %tobool6 = icmp ne i32* %9, null + br i1 %tobool6, label %lor.lhs.false, label %if.then9 + +lor.lhs.false: ; preds = %if.end5 + %10 = load i32*, i32** %dst.addr, align 8 + %11 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %12 = bitcast %struct.__mbstate_t.512* %11 to i32* + %cmp7 = icmp eq i32* %10, %12 + br i1 %cmp7, label %if.then9, label %if.end13 + +if.then9: ; preds = %lor.lhs.false, %if.end5 + %13 = load i32*, i32** %dst.addr, align 8 + %tobool10 = icmp ne i32* %13, null + br i1 %tobool10, label %if.end12, label %if.then11 + +if.then11: ; preds = %if.then9 + store i64 -1, i64* %len.addr, align 8 + br label %if.end12 + +if.end12: ; preds = %if.then11, %if.then9 + %arraydecay = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay, i32** %dst.addr, align 8 + store i32 0, i32* %incr, align 4 + br label %if.end13 + +if.end13: ; preds = %if.end12, %lor.lhs.false + %14 = load i64, i64* %len.addr, align 8 + %15 = load i64, i64* %NMC.addr, align 8 + %cmp14 = icmp ugt i64 %14, %15 + br i1 %cmp14, label %if.then16, label %if.end17 + +if.then16: ; preds = %if.end13 + %16 = load i64, i64* %NMC.addr, align 8 + store i64 %16, i64* %len.addr, align 8 + br label %if.end17 + +if.end17: ; preds = %if.then16, %if.end13 + %17 = load i64, i64* %len.addr, align 8 + store i64 %17, i64* %count, align 8 + %18 = load i8**, i8*** %src.addr, align 8 + %19 = load i8*, i8** %18, align 8 + store i8* %19, i8** %s, align 8 + %20 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding18 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %20, i32 0, i32 9 + %21 = load i8, i8* %encoding18, align 8 + %conv19 = zext i8 %21 to i32 + %cmp20 = icmp eq i32 %conv19, 2 + br i1 %cmp20, label %while.cond, label %while.cond46 + +while.cond: ; preds = %if.end17, %if.end38 + %22 = load i64, i64* %count, align 8 + %tobool23 = icmp ne i64 %22, 0 + br i1 %tobool23, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %23 = load i8*, i8** %s, align 8 + %24 = load i8, i8* %23, align 1 + %conv24 = zext i8 %24 to i32 + store i32 %conv24, i32* %wc, align 4 + %cmp25 = icmp sge i32 %conv24, 128 + br i1 %cmp25, label %if.then27, label %if.end35 + +if.then27: ; preds = %while.body + %25 = load i32, i32* %wc, align 4 + %sub = sub nsw i32 %25, 128 + store i32 %sub, i32* %wc, align 4 + %26 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %tbl8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %26, i32 0, i32 17 + %27 = load i16*, i16** %tbl8c2wc, align 8 + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %idx8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %28, i32 0, i32 16 + %29 = load i8*, i8** %idx8c2wc, align 8 + %30 = load i32, i32* %wc, align 4 + %shr = ashr i32 %30, 3 + %idxprom = sext i32 %shr to i64 + %arrayidx = getelementptr inbounds i8, i8* %29, i64 %idxprom + %31 = load i8, i8* %arrayidx, align 1 + %conv28 = zext i8 %31 to i32 + %shl = shl i32 %conv28, 3 + %32 = load i32, i32* %wc, align 4 + %and = and i32 %32, 7 + %add = add nsw i32 %shl, %and + %idxprom29 = sext i32 %add to i64 + %arrayidx30 = getelementptr inbounds i16, i16* %27, i64 %idxprom29 + %33 = load i16, i16* %arrayidx30, align 2 + %conv31 = zext i16 %33 to i32 + store i32 %conv31, i32* %wc, align 4 + %34 = load i32, i32* %wc, align 4 + %tobool32 = icmp ne i32 %34, 0 + br i1 %tobool32, label %if.end35, label %BAD + +if.end35: ; preds = %if.then27, %while.body + %35 = load i32, i32* %wc, align 4 + %36 = load i32*, i32** %dst.addr, align 8 + store i32 %35, i32* %36, align 4 + %tobool36 = icmp ne i32 %35, 0 + br i1 %tobool36, label %if.end38, label %if.then37 + +if.then37: ; preds = %if.end35 + store i8* null, i8** %s, align 8 + br label %while.end + +if.end38: ; preds = %if.end35 + %37 = load i32, i32* %incr, align 4 + %38 = load i32*, i32** %dst.addr, align 8 + %idx.ext = sext i32 %37 to i64 + %add.ptr = getelementptr inbounds i32, i32* %38, i64 %idx.ext + store i32* %add.ptr, i32** %dst.addr, align 8 + %39 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %39, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %40 = load i64, i64* %count, align 8 + %dec = add i64 %40, -1 + store i64 %dec, i64* %count, align 8 + br label %while.cond + +while.end: ; preds = %if.then37, %while.cond + %41 = load i32*, i32** %dst.addr, align 8 + %arraydecay39 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %cmp40 = icmp ne i32* %41, %arraydecay39 + br i1 %cmp40, label %if.then42, label %if.end43 + +if.then42: ; preds = %while.end + %42 = load i8*, i8** %s, align 8 + %43 = load i8**, i8*** %src.addr, align 8 + store i8* %42, i8** %43, align 8 + br label %if.end43 + +if.end43: ; preds = %if.then42, %while.end + %44 = load i64, i64* %len.addr, align 8 + %45 = load i64, i64* %count, align 8 + %sub44 = sub i64 %44, %45 + store i64 %sub44, i64* %retval, align 8 + br label %return + +while.cond46: ; preds = %if.end17, %if.end57 + %46 = load i64, i64* %count, align 8 + %tobool47 = icmp ne i64 %46, 0 + br i1 %tobool47, label %while.body48, label %while.end62 + +while.body48: ; preds = %while.cond46 + %47 = load i8*, i8** %s, align 8 + %48 = load i8, i8* %47, align 1 + %conv49 = zext i8 %48 to i32 + %49 = load i32*, i32** %dst.addr, align 8 + store i32 %conv49, i32* %49, align 4 + %cmp50 = icmp eq i32 %conv49, 0 + br i1 %cmp50, label %if.then52, label %if.end53 + +if.then52: ; preds = %while.body48 + store i8* null, i8** %s, align 8 + br label %while.end62 + +if.end53: ; preds = %while.body48 + %50 = load i32*, i32** %dst.addr, align 8 + %51 = load i32, i32* %50, align 4 + %cmp54 = icmp sge i32 %51, 128 + br i1 %cmp54, label %BAD, label %if.end57 + +BAD: ; preds = %if.end53, %if.then27 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end57: ; preds = %if.end53 + %52 = load i8*, i8** %s, align 8 + %incdec.ptr58 = getelementptr inbounds i8, i8* %52, i32 1 + store i8* %incdec.ptr58, i8** %s, align 8 + %53 = load i32, i32* %incr, align 4 + %54 = load i32*, i32** %dst.addr, align 8 + %idx.ext59 = sext i32 %53 to i64 + %add.ptr60 = getelementptr inbounds i32, i32* %54, i64 %idx.ext59 + store i32* %add.ptr60, i32** %dst.addr, align 8 + %55 = load i64, i64* %count, align 8 + %dec61 = add i64 %55, -1 + store i64 %dec61, i64* %count, align 8 + br label %while.cond46 + +while.end62: ; preds = %if.then52, %while.cond46 + %56 = load i32*, i32** %dst.addr, align 8 + %arraydecay63 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %cmp64 = icmp ne i32* %56, %arraydecay63 + br i1 %cmp64, label %if.then66, label %if.end67 + +if.then66: ; preds = %while.end62 + %57 = load i8*, i8** %s, align 8 + %58 = load i8**, i8*** %src.addr, align 8 + store i8* %57, i8** %58, align 8 + br label %if.end67 + +if.end67: ; preds = %if.then66, %while.end62 + %59 = load i64, i64* %len.addr, align 8 + %60 = load i64, i64* %count, align 8 + %sub68 = sub i64 %59, %60 + store i64 %sub68, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end67, %BAD, %if.end43, %if.then2 + %61 = load i64, i64* %retval, align 8 + ret i64 %61 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @iswctype(i32 %wc, i32 %desc) #0 { +entry: + %wc.addr = alloca i32, align 4 + %desc.addr = alloca i32, align 4 + store i32 %wc, i32* %wc.addr, align 4 + store i32 %desc, i32* %desc.addr, align 4 + %0 = load i32, i32* %wc.addr, align 4 + %1 = load i32, i32* %desc.addr, align 4 + %2 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %call = call i32 @iswctype_l(i32 %0, i32 %1, %struct.__uclibc_locale_struct.201* %2) #20 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define hidden %struct.__STDIO_FILE_STRUCT.568* @_stdio_fopen(i64 %fname_or_mode, i8* noalias %mode, %struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %filedes) #0 { +entry: + %retval = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %fname_or_mode.addr = alloca i64, align 8 + %mode.addr = alloca i8*, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %filedes.addr = alloca i32, align 4 + %open_mode = alloca i32, align 4 + %i = alloca i32, align 4 + store i64 %fname_or_mode, i64* %fname_or_mode.addr, align 8 + store i8* %mode, i8** %mode.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %filedes, i32* %filedes.addr, align 4 + store i32 0, i32* %open_mode, align 4 + %0 = load i8*, i8** %mode.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %cmp = icmp ne i32 %conv, 114 + br i1 %cmp, label %if.then, label %if.end17 + +if.then: ; preds = %entry + store i32 577, i32* %open_mode, align 4 + %2 = load i8*, i8** %mode.addr, align 8 + %3 = load i8, i8* %2, align 1 + %conv2 = sext i8 %3 to i32 + %cmp3 = icmp ne i32 %conv2, 119 + br i1 %cmp3, label %if.then5, label %if.end17 + +if.then5: ; preds = %if.then + store i32 1089, i32* %open_mode, align 4 + %4 = load i8*, i8** %mode.addr, align 8 + %5 = load i8, i8* %4, align 1 + %conv6 = sext i8 %5 to i32 + %cmp7 = icmp ne i32 %conv6, 97 + br i1 %cmp7, label %DO_EINVAL, label %if.end17 + +DO_EINVAL: ; preds = %if.then40, %land.lhs.true, %if.then5 + store i32 22, i32* @errno, align 4 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %6, null + br i1 %tobool, label %do.body, label %if.end14 + +do.body: ; preds = %if.end62, %DO_EINVAL + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %7, i32 0, i32 0 + %8 = load i16, i16* %__modeflags, align 8 + %conv11 = zext i16 %8 to i32 + %and = and i32 %conv11, 8192 + %tobool12 = icmp ne i32 %and, 0 + br i1 %tobool12, label %if.then13, label %if.end14 + +if.then13: ; preds = %do.body + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %10 = bitcast %struct.__STDIO_FILE_STRUCT.568* %9 to i8* + call void @free(i8* %10) #20 + br label %if.end14 + +if.end14: ; preds = %if.then13, %do.body, %DO_EINVAL + store %struct.__STDIO_FILE_STRUCT.568* null, %struct.__STDIO_FILE_STRUCT.568** %retval, align 8 + br label %return + +if.end17: ; preds = %if.then, %if.then5, %entry + %11 = load i8*, i8** %mode.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %11, i64 1 + %12 = load i8, i8* %arrayidx, align 1 + %conv18 = sext i8 %12 to i32 + %cmp19 = icmp eq i32 %conv18, 98 + br i1 %cmp19, label %if.then21, label %if.end22 + +if.then21: ; preds = %if.end17 + %13 = load i8*, i8** %mode.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %13, i32 1 + store i8* %incdec.ptr, i8** %mode.addr, align 8 + br label %if.end22 + +if.end22: ; preds = %if.then21, %if.end17 + %14 = load i8*, i8** %mode.addr, align 8 + %arrayidx23 = getelementptr inbounds i8, i8* %14, i64 1 + %15 = load i8, i8* %arrayidx23, align 1 + %conv24 = sext i8 %15 to i32 + %cmp25 = icmp eq i32 %conv24, 43 + br i1 %cmp25, label %if.then27, label %if.end29 + +if.then27: ; preds = %if.end22 + %16 = load i8*, i8** %mode.addr, align 8 + %incdec.ptr28 = getelementptr inbounds i8, i8* %16, i32 1 + store i8* %incdec.ptr28, i8** %mode.addr, align 8 + %17 = load i32, i32* %open_mode, align 4 + %or = or i32 %17, 1 + store i32 %or, i32* %open_mode, align 4 + %18 = load i32, i32* %open_mode, align 4 + %add = add i32 %18, 1 + store i32 %add, i32* %open_mode, align 4 + br label %if.end29 + +if.end29: ; preds = %if.then27, %if.end22 + %19 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %tobool30 = icmp ne %struct.__STDIO_FILE_STRUCT.568* %19, null + br i1 %tobool30, label %if.end37, label %if.then31 + +if.then31: ; preds = %if.end29 + %call = call noalias i8* @malloc(i64 88) #20 + %20 = bitcast i8* %call to %struct.__STDIO_FILE_STRUCT.568* + store %struct.__STDIO_FILE_STRUCT.568* %20, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp32 = icmp eq %struct.__STDIO_FILE_STRUCT.568* %20, null + %21 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %cmp32, label %if.then34, label %if.end35 + +if.then34: ; preds = %if.then31 + store %struct.__STDIO_FILE_STRUCT.568* %21, %struct.__STDIO_FILE_STRUCT.568** %retval, align 8 + br label %return + +if.end35: ; preds = %if.then31 + %__modeflags36 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %21, i32 0, i32 0 + store i16 8192, i16* %__modeflags36, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 3 + store i8* null, i8** %__bufstart, align 8 + br label %if.end37 + +if.end37: ; preds = %if.end35, %if.end29 + %23 = load i32, i32* %filedes.addr, align 4 + %cmp38 = icmp sge i32 %23, 0 + %24 = load i32, i32* %filedes.addr, align 4 + br i1 %cmp38, label %if.then40, label %if.else + +if.then40: ; preds = %if.end37 + %25 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %25, i32 0, i32 2 + store i32 %24, i32* %__filedes, align 4 + %26 = load i32, i32* %open_mode, align 4 + %and41 = and i32 %26, 3 + %add42 = add i32 %and41, 1 + store i32 %add42, i32* %i, align 4 + %27 = load i32, i32* %i, align 4 + %28 = load i64, i64* %fname_or_mode.addr, align 8 + %conv43 = trunc i64 %28 to i32 + %add44 = add nsw i32 %conv43, 1 + %and45 = and i32 %27, %add44 + %29 = load i32, i32* %i, align 4 + %cmp46 = icmp ne i32 %and45, %29 + br i1 %cmp46, label %DO_EINVAL, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then40 + %30 = load i32, i32* %open_mode, align 4 + %31 = load i64, i64* %fname_or_mode.addr, align 8 + %conv48 = trunc i64 %31 to i32 + %neg = xor i32 %conv48, -1 + %and49 = and i32 %30, %neg + %and50 = and i32 %and49, 1024 + %tobool51 = icmp ne i32 %and50, 0 + br i1 %tobool51, label %land.lhs.true, label %if.end55 + +land.lhs.true: ; preds = %lor.lhs.false + %32 = load i32, i32* %filedes.addr, align 4 + %call52 = call i32 (i32, i32, ...) @fcntl(i32 %32, i32 4, i32 1024) #19 + %tobool53 = icmp ne i32 %call52, 0 + br i1 %tobool53, label %DO_EINVAL, label %if.end55 + +if.end55: ; preds = %land.lhs.true, %lor.lhs.false + %33 = load i64, i64* %fname_or_mode.addr, align 8 + %conv56 = trunc i64 %33 to i32 + %and57 = and i32 %conv56, 0 + %34 = load i32, i32* %open_mode, align 4 + %or58 = or i32 %34, %and57 + store i32 %or58, i32* %open_mode, align 4 + br label %if.end69 + +if.else: ; preds = %if.end37 + %cmp59 = icmp slt i32 %24, -1 + br i1 %cmp59, label %if.then61, label %if.end62 + +if.then61: ; preds = %if.else + %35 = load i32, i32* %open_mode, align 4 + store i32 %35, i32* %open_mode, align 4 + br label %if.end62 + +if.end62: ; preds = %if.then61, %if.else + %36 = load i64, i64* %fname_or_mode.addr, align 8 + %37 = inttoptr i64 %36 to i8* + %38 = load i32, i32* %open_mode, align 4 + %call63 = call i32 (i8*, i32, ...) @open(i8* %37, i32 %38, i32 438) #19 + %39 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes64 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %39, i32 0, i32 2 + store i32 %call63, i32* %__filedes64, align 4 + %cmp65 = icmp slt i32 %call63, 0 + br i1 %cmp65, label %do.body, label %if.end69 + +if.end69: ; preds = %if.end62, %if.end55 + %40 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags70 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %40, i32 0, i32 0 + %41 = load i16, i16* %__modeflags70, align 8 + %conv71 = zext i16 %41 to i32 + %and72 = and i32 %conv71, 8192 + %conv73 = trunc i32 %and72 to i16 + store i16 %conv73, i16* %__modeflags70, align 8 + %42 = load i32, i32* %open_mode, align 4 + %and74 = and i32 %42, 1024 + %43 = load i32, i32* %open_mode, align 4 + %and75 = and i32 %43, 3 + %add76 = add i32 %and75, 1 + %xor = xor i32 %add76, 3 + %mul = mul i32 %xor, 16 + %or77 = or i32 %and74, %mul + %44 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags78 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %44, i32 0, i32 0 + %45 = load i16, i16* %__modeflags78, align 8 + %conv79 = zext i16 %45 to i32 + %or80 = or i32 %conv79, %or77 + %conv81 = trunc i32 %or80 to i16 + store i16 %conv81, i16* %__modeflags78, align 8 + %46 = load i32, i32* @errno, align 4 + store i32 %46, i32* %i, align 4 + %47 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes82 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %47, i32 0, i32 2 + %48 = load i32, i32* %__filedes82, align 4 + %call83 = call i32 @isatty(i32 %48) #20 + %mul84 = mul i32 %call83, 256 + %49 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags85 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %49, i32 0, i32 0 + %50 = load i16, i16* %__modeflags85, align 8 + %conv86 = zext i16 %50 to i32 + %or87 = or i32 %conv86, %mul84 + %conv88 = trunc i32 %or87 to i16 + store i16 %conv88, i16* %__modeflags85, align 8 + %51 = load i32, i32* %i, align 4 + store i32 %51, i32* @errno, align 4 + %52 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart89 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %52, i32 0, i32 3 + %53 = load i8*, i8** %__bufstart89, align 8 + %tobool90 = icmp ne i8* %53, null + br i1 %tobool90, label %if.end106, label %if.then91 + +if.then91: ; preds = %if.end69 + %call92 = call noalias i8* @malloc(i64 4096) #20 + %54 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart93 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %54, i32 0, i32 3 + store i8* %call92, i8** %__bufstart93, align 8 + %cmp94 = icmp ne i8* %call92, null + %55 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart97 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %55, i32 0, i32 3 + %56 = load i8*, i8** %__bufstart97, align 8 + br i1 %cmp94, label %if.then96, label %if.else102 + +if.then96: ; preds = %if.then91 + %add.ptr = getelementptr inbounds i8, i8* %56, i64 4096 + %57 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %57, i32 0, i32 4 + store i8* %add.ptr, i8** %__bufend, align 8 + %58 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags98 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %58, i32 0, i32 0 + %59 = load i16, i16* %__modeflags98, align 8 + %conv99 = zext i16 %59 to i32 + %or100 = or i32 %conv99, 16384 + %conv101 = trunc i32 %or100 to i16 + store i16 %conv101, i16* %__modeflags98, align 8 + br label %if.end106 + +if.else102: ; preds = %if.then91 + %60 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend104 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %60, i32 0, i32 4 + store i8* %56, i8** %__bufend104, align 8 + br label %if.end106 + +if.end106: ; preds = %if.then96, %if.else102, %if.end69 + %61 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart107 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %61, i32 0, i32 3 + %62 = load i8*, i8** %__bufstart107, align 8 + %63 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %63, i32 0, i32 7 + store i8* %62, i8** %__bufgetc_u, align 8 + %64 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart108 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %64, i32 0, i32 3 + %65 = load i8*, i8** %__bufstart108, align 8 + %66 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %66, i32 0, i32 8 + store i8* %65, i8** %__bufputc_u, align 8 + %67 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart109 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %67, i32 0, i32 3 + %68 = load i8*, i8** %__bufstart109, align 8 + %69 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %69, i32 0, i32 5 + store i8* %68, i8** %__bufpos, align 8 + %70 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %70, i32 0, i32 6 + store i8* %68, i8** %__bufread, align 8 + %71 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %71, i32 0, i32 1 + %arrayidx110 = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 0 + store i8 0, i8* %arrayidx110, align 2 + %72 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %72, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + store i32 0, i32* %__mask, align 8 + %73 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + %74 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %74, i32 0, i32 9 + store %struct.__STDIO_FILE_STRUCT.568* %73, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + %75 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %75, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + %76 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %76, %struct.__STDIO_FILE_STRUCT.568** %retval, align 8 + br label %return + +return: ; preds = %if.end106, %if.then34, %if.end14 + %77 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %retval, align 8 + ret %struct.__STDIO_FILE_STRUCT.568* %77 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_fwrite(i8* noalias %buffer, i64 %bytes, %struct.__STDIO_FILE_STRUCT.568* noalias %stream) #0 { +entry: + %retval = alloca i64, align 8 + %buffer.addr = alloca i8*, align 8 + %bytes.addr = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %pending = alloca i64, align 8 + %p = alloca i8*, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %bytes, i64* %bytes.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 512 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end63, label %if.then + +if.then: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 2 + %3 = load i32, i32* %__filedes, align 4 + %cmp = icmp eq i32 %3, -2 + br i1 %cmp, label %if.then2, label %if.end8 + +if.then2: ; preds = %if.then + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 4 + %5 = load i8*, i8** %__bufend, align 8 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 5 + %7 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %pending, align 8 + %8 = load i64, i64* %pending, align 8 + %9 = load i64, i64* %bytes.addr, align 8 + %cmp3 = icmp ugt i64 %8, %9 + br i1 %cmp3, label %if.then5, label %if.end + +if.then5: ; preds = %if.then2 + %10 = load i64, i64* %bytes.addr, align 8 + store i64 %10, i64* %pending, align 8 + br label %if.end + +if.end: ; preds = %if.then5, %if.then2 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 5 + %12 = load i8*, i8** %__bufpos6, align 8 + %13 = load i8*, i8** %buffer.addr, align 8 + %14 = load i64, i64* %pending, align 8 + %call = call i8* @memcpy(i8* %12, i8* %13, i64 %14) #20 + %15 = load i64, i64* %pending, align 8 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos7 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %16, i32 0, i32 5 + %17 = load i8*, i8** %__bufpos7, align 8 + %add.ptr = getelementptr inbounds i8, i8* %17, i64 %15 + store i8* %add.ptr, i8** %__bufpos7, align 8 + %18 = load i64, i64* %bytes.addr, align 8 + store i64 %18, i64* %retval, align 8 + br label %return + +if.end8: ; preds = %if.then + %19 = load i64, i64* %bytes.addr, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend9 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 4 + %21 = load i8*, i8** %__bufend9, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 5 + %23 = load i8*, i8** %__bufpos10, align 8 + %sub.ptr.lhs.cast11 = ptrtoint i8* %21 to i64 + %sub.ptr.rhs.cast12 = ptrtoint i8* %23 to i64 + %sub.ptr.sub13 = sub i64 %sub.ptr.lhs.cast11, %sub.ptr.rhs.cast12 + %cmp14 = icmp ule i64 %19, %sub.ptr.sub13 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 5 + %25 = load i8*, i8** %__bufpos17, align 8 + br i1 %cmp14, label %if.then16, label %if.end51 + +if.then16: ; preds = %if.end8 + %26 = load i8*, i8** %buffer.addr, align 8 + %27 = load i64, i64* %bytes.addr, align 8 + %call18 = call i8* @memcpy(i8* %25, i8* %26, i64 %27) #20 + %28 = load i64, i64* %bytes.addr, align 8 + %29 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos19 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %29, i32 0, i32 5 + %30 = load i8*, i8** %__bufpos19, align 8 + %add.ptr20 = getelementptr inbounds i8, i8* %30, i64 %28 + store i8* %add.ptr20, i8** %__bufpos19, align 8 + %31 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags21 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %31, i32 0, i32 0 + %32 = load i16, i16* %__modeflags21, align 8 + %conv22 = zext i16 %32 to i32 + %and23 = and i32 %conv22, 256 + %tobool24 = icmp ne i32 %and23, 0 + br i1 %tobool24, label %land.lhs.true, label %if.end50 + +land.lhs.true: ; preds = %if.then16 + %33 = load i8*, i8** %buffer.addr, align 8 + %34 = load i64, i64* %bytes.addr, align 8 + %call25 = call i8* @memrchr(i8* %33, i32 10, i64 %34) #21 + %tobool26 = icmp ne i8* %call25, null + br i1 %tobool26, label %if.then27, label %if.end50 + +if.then27: ; preds = %land.lhs.true + %35 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call28 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %35) #19 + store i64 %call28, i64* %pending, align 8 + %cmp29 = icmp ugt i64 %call28, 0 + br i1 %cmp29, label %if.then31, label %if.end50 + +if.then31: ; preds = %if.then27 + %36 = load i64, i64* %pending, align 8 + %37 = load i64, i64* %bytes.addr, align 8 + %cmp32 = icmp ugt i64 %36, %37 + br i1 %cmp32, label %if.then34, label %if.end35 + +if.then34: ; preds = %if.then31 + %38 = load i64, i64* %bytes.addr, align 8 + store i64 %38, i64* %pending, align 8 + br label %if.end35 + +if.end35: ; preds = %if.then34, %if.then31 + %39 = load i64, i64* %bytes.addr, align 8 + %40 = load i64, i64* %pending, align 8 + %sub = sub i64 %39, %40 + %41 = load i8*, i8** %buffer.addr, align 8 + %add.ptr36 = getelementptr inbounds i8, i8* %41, i64 %sub + store i8* %add.ptr36, i8** %buffer.addr, align 8 + %42 = load i8*, i8** %buffer.addr, align 8 + %43 = load i64, i64* %pending, align 8 + %call37 = call i8* @memchr(i8* %42, i32 10, i64 %43) #21 + store i8* %call37, i8** %p, align 8 + %cmp38 = icmp ne i8* %call37, null + br i1 %cmp38, label %if.then40, label %if.end50 + +if.then40: ; preds = %if.end35 + %44 = load i8*, i8** %buffer.addr, align 8 + %45 = load i64, i64* %pending, align 8 + %add.ptr41 = getelementptr inbounds i8, i8* %44, i64 %45 + %46 = load i8*, i8** %p, align 8 + %sub.ptr.lhs.cast42 = ptrtoint i8* %add.ptr41 to i64 + %sub.ptr.rhs.cast43 = ptrtoint i8* %46 to i64 + %sub.ptr.sub44 = sub i64 %sub.ptr.lhs.cast42, %sub.ptr.rhs.cast43 + store i64 %sub.ptr.sub44, i64* %pending, align 8 + %47 = load i64, i64* %pending, align 8 + %48 = load i64, i64* %bytes.addr, align 8 + %sub45 = sub i64 %48, %47 + store i64 %sub45, i64* %bytes.addr, align 8 + %49 = load i64, i64* %pending, align 8 + %50 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos46 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %50, i32 0, i32 5 + %51 = load i8*, i8** %__bufpos46, align 8 + %idx.neg = sub i64 0, %49 + %add.ptr47 = getelementptr inbounds i8, i8* %51, i64 %idx.neg + store i8* %add.ptr47, i8** %__bufpos46, align 8 + br label %if.end50 + +if.end50: ; preds = %if.then27, %if.then40, %if.end35, %land.lhs.true, %if.then16 + %52 = load i64, i64* %bytes.addr, align 8 + store i64 %52, i64* %retval, align 8 + br label %return + +if.end51: ; preds = %if.end8 + %53 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %53, i32 0, i32 3 + %54 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast53 = ptrtoint i8* %25 to i64 + %sub.ptr.rhs.cast54 = ptrtoint i8* %54 to i64 + %sub.ptr.sub55 = sub i64 %sub.ptr.lhs.cast53, %sub.ptr.rhs.cast54 + %tobool56 = icmp ne i64 %sub.ptr.sub55, 0 + br i1 %tobool56, label %if.then57, label %if.end63 + +if.then57: ; preds = %if.end51 + %55 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call58 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %55) #19 + %tobool59 = icmp ne i64 %call58, 0 + br i1 %tobool59, label %if.then60, label %if.end63 + +if.then60: ; preds = %if.then57 + store i64 0, i64* %retval, align 8 + br label %return + +if.end63: ; preds = %if.end51, %if.then57, %entry + %56 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %57 = load i8*, i8** %buffer.addr, align 8 + %58 = load i64, i64* %bytes.addr, align 8 + %call64 = call i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %56, i8* %57, i64 %58) #19 + store i64 %call64, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end63, %if.then60, %if.end50, %if.end + %59 = load i64, i64* %retval, align 8 + ret i64 %59 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %oflag) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %oflag.addr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %oflag, i32* %oflag.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %2 = load i32, i32* %oflag.addr, align 4 + %and = and i32 %conv, %2 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end9, label %if.then + +if.then: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 0 + %4 = load i16, i16* %__modeflags1, align 8 + %conv2 = zext i16 %4 to i32 + %and3 = and i32 %conv2, 2176 + %tobool4 = icmp ne i32 %and3, 0 + br i1 %tobool4, label %DO_EBADF, label %if.end + +if.end: ; preds = %if.then + %5 = load i32, i32* %oflag.addr, align 4 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 0 + %7 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %7 to i32 + %or = or i32 %conv7, %5 + %conv8 = trunc i32 %or to i16 + store i16 %conv8, i16* %__modeflags6, align 8 + br label %if.end9 + +if.end9: ; preds = %if.end, %entry + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags10, align 8 + %conv11 = zext i16 %9 to i32 + %and12 = and i32 %conv11, 32 + %tobool13 = icmp ne i32 %and12, 0 + br i1 %tobool13, label %DO_EBADF, label %if.end19 + +DO_EBADF: ; preds = %if.end9, %if.then + store i32 9, i32* @errno, align 4 + br label %ERROR + +ERROR: ; preds = %land.lhs.true, %DO_EBADF + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags15 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 0 + %11 = load i16, i16* %__modeflags15, align 8 + %conv16 = zext i16 %11 to i32 + %or17 = or i32 %conv16, 8 + %conv18 = trunc i32 %or17 to i16 + store i16 %conv18, i16* %__modeflags15, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end19: ; preds = %if.end9 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags20 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags20, align 8 + %conv21 = zext i16 %13 to i32 + %and22 = and i32 %conv21, 3 + %tobool23 = icmp ne i32 %and22, 0 + br i1 %tobool23, label %if.then24, label %if.end50 + +if.then24: ; preds = %if.end19 + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags25 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %14, i32 0, i32 0 + %15 = load i16, i16* %__modeflags25, align 8 + %conv26 = zext i16 %15 to i32 + %and27 = and i32 %conv26, 4 + %tobool28 = icmp ne i32 %and27, 0 + br i1 %tobool28, label %if.end42, label %if.then29 + +if.then29: ; preds = %if.then24 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %16, i32 0, i32 6 + %17 = load i8*, i8** %__bufread, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 5 + %19 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %17 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool30 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %tobool30, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then29 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags31 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 0 + %21 = load i16, i16* %__modeflags31, align 8 + %conv32 = zext i16 %21 to i32 + %and33 = and i32 %conv32, 2 + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %land.lhs.true, label %if.end42 + +land.lhs.true: ; preds = %lor.lhs.false, %if.then29 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %23 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags35 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %23, i32 0, i32 0 + %24 = load i16, i16* %__modeflags35, align 8 + %conv36 = zext i16 %24 to i32 + %and37 = and i32 %conv36, 1024 + %tobool38 = icmp ne i32 %and37, 0 + %25 = zext i1 %tobool38 to i64 + %cond = select i1 %tobool38, i32 2, i32 1 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32)* @fseek to i32 (%struct.__STDIO_FILE_STRUCT.568*, i64, i32)*)(%struct.__STDIO_FILE_STRUCT.568* %22, i64 0, i32 %cond) #19 + %tobool39 = icmp ne i32 %call, 0 + br i1 %tobool39, label %ERROR, label %if.end42 + +if.end42: ; preds = %lor.lhs.false, %land.lhs.true, %if.then24 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags43 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 0 + %27 = load i16, i16* %__modeflags43, align 8 + %conv44 = zext i16 %27 to i32 + %and45 = and i32 %conv44, -4 + %conv46 = trunc i32 %and45 to i16 + store i16 %conv46, i16* %__modeflags43, align 8 + %28 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %28, i32 0, i32 3 + %29 = load i8*, i8** %__bufstart, align 8 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %30, i32 0, i32 7 + store i8* %29, i8** %__bufgetc_u, align 8 + %31 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart47 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %31, i32 0, i32 3 + %32 = load i8*, i8** %__bufstart47, align 8 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos48 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %33, i32 0, i32 5 + store i8* %32, i8** %__bufpos48, align 8 + %34 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread49 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %34, i32 0, i32 6 + store i8* %32, i8** %__bufread49, align 8 + br label %if.end50 + +if.end50: ; preds = %if.end42, %if.end19 + %35 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags51 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %35, i32 0, i32 0 + %36 = load i16, i16* %__modeflags51, align 8 + %conv52 = zext i16 %36 to i32 + %or53 = or i32 %conv52, 64 + %conv54 = trunc i32 %or53 to i16 + store i16 %conv54, i16* %__modeflags51, align 8 + %37 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags55 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %37, i32 0, i32 0 + %38 = load i16, i16* %__modeflags55, align 8 + %conv56 = zext i16 %38 to i32 + %and57 = and i32 %conv56, 2816 + %tobool58 = icmp ne i32 %and57, 0 + br i1 %tobool58, label %if.end60, label %if.then59 + +if.then59: ; preds = %if.end50 + %39 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %39, i32 0, i32 4 + %40 = load i8*, i8** %__bufend, align 8 + %41 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %41, i32 0, i32 8 + store i8* %40, i8** %__bufputc_u, align 8 + br label %if.end60 + +if.end60: ; preds = %if.then59, %if.end50 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end60, %ERROR + %42 = load i32, i32* %retval, align 4 + ret i32 %42 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fseeko64(%struct.__STDIO_FILE_STRUCT.636* %stream, i64 %offset, i32 %whence) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + %pos = alloca i64, align 8 + %retval1 = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i64, i64* %offset.addr, align 8 + store i64 %0, i64* %pos, align 8 + store i32 -1, i32* %retval1, align 4 + %1 = load i32, i32* %whence.addr, align 4 + %cmp = icmp ugt i32 %1, 2 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + store i32 22, i32* @errno, align 4 + br label %if.end20 + +if.else: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %2, i32 0, i32 0 + %3 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %3 to i32 + %and = and i32 %conv, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %lor.lhs.false, label %land.lhs.true + +lor.lhs.false: ; preds = %if.else + %4 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %call = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.568*)* @__stdio_wcommit to i64 (%struct.__STDIO_FILE_STRUCT.636*)*)(%struct.__STDIO_FILE_STRUCT.636* %4) #19 + %tobool2 = icmp ne i64 %call, 0 + br i1 %tobool2, label %if.end20, label %land.lhs.true + +land.lhs.true: ; preds = %lor.lhs.false, %if.else + %5 = load i32, i32* %whence.addr, align 4 + %cmp3 = icmp ne i32 %5, 1 + br i1 %cmp3, label %land.lhs.true9, label %lor.lhs.false5 + +lor.lhs.false5: ; preds = %land.lhs.true + %6 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %call6 = call i32 @__stdio_adjust_position(%struct.__STDIO_FILE_STRUCT.636* %6, i64* %pos) #19 + %cmp7 = icmp sge i32 %call6, 0 + br i1 %cmp7, label %land.lhs.true9, label %if.end20 + +land.lhs.true9: ; preds = %lor.lhs.false5, %land.lhs.true + %7 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %8 = load i32, i32* %whence.addr, align 4 + %call10 = call i32 @__stdio_seek(%struct.__STDIO_FILE_STRUCT.636* %7, i64* %pos, i32 %8) #19 + %cmp11 = icmp sge i32 %call10, 0 + br i1 %cmp11, label %if.then13, label %if.end20 + +if.then13: ; preds = %land.lhs.true9 + %9 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags14 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %9, i32 0, i32 0 + %10 = load i16, i16* %__modeflags14, align 8 + %conv15 = zext i16 %10 to i32 + %and16 = and i32 %conv15, -72 + %conv17 = trunc i32 %and16 to i16 + store i16 %conv17, i16* %__modeflags14, align 8 + %11 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %11, i32 0, i32 3 + %12 = load i8*, i8** %__bufstart, align 8 + %13 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %13, i32 0, i32 5 + store i8* %12, i8** %__bufpos, align 8 + %14 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %14, i32 0, i32 6 + store i8* %12, i8** %__bufread, align 8 + %15 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufstart18 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %15, i32 0, i32 3 + %16 = load i8*, i8** %__bufstart18, align 8 + %17 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %17, i32 0, i32 7 + store i8* %16, i8** %__bufgetc_u, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufstart19 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %18, i32 0, i32 3 + %19 = load i8*, i8** %__bufstart19, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %20, i32 0, i32 8 + store i8* %19, i8** %__bufputc_u, align 8 + %21 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %21, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + store i32 0, i32* %__mask, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %22, i32 0, i32 1 + %arrayidx = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 0 + store i8 0, i8* %arrayidx, align 2 + store i32 0, i32* %retval1, align 4 + br label %if.end20 + +if.end20: ; preds = %lor.lhs.false, %lor.lhs.false5, %land.lhs.true9, %if.then13, %if.then + %23 = load i32, i32* %retval1, align 4 + ret i32 %23 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i8* noalias %format, %struct.__va_list_tag.0* %arg) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %format.addr = alloca i8*, align 8 + %arg.addr = alloca %struct.__va_list_tag.0*, align 8 + %ppfs = alloca %struct.ppfs_t.722, align 8 + %count = alloca i32, align 4 + %r = alloca i32, align 4 + %s = alloca i8*, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + store %struct.__va_list_tag.0* %arg, %struct.__va_list_tag.0** %arg.addr, align 8 + store i32 0, i32* %count, align 4 + %0 = load i8*, i8** %format.addr, align 8 + store i8* %0, i8** %s, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %1, i32 0, i32 0 + %2 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %2 to i32 + %and = and i32 %conv, 192 + %cmp = icmp eq i32 %and, 192 + br i1 %cmp, label %if.else, label %land.lhs.true + +land.lhs.true: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* %3, i32 128) #19 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %land.lhs.true + store i32 -1, i32* %count, align 4 + br label %if.end65 + +if.else: ; preds = %land.lhs.true, %entry + %4 = load i8*, i8** %format.addr, align 8 + %call2 = call i32 @_ppfs_init(%struct.ppfs_t.722* %ppfs, i8* %4) #19 + %cmp3 = icmp slt i32 %call2, 0 + br i1 %cmp3, label %if.then5, label %if.else13 + +if.then5: ; preds = %if.else + %fmtpos = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %5 = load i8*, i8** %fmtpos, align 8 + %call6 = call i64 @strlen(i8* %5) #21 + %cmp7 = icmp ugt i64 %call6, 0 + br i1 %cmp7, label %cond.true, label %cond.end + +cond.true: ; preds = %if.then5 + %fmtpos9 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %6 = load i8*, i8** %fmtpos9, align 8 + %fmtpos10 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %7 = load i8*, i8** %fmtpos10, align 8 + %call11 = call i64 @strlen(i8* %7) #21 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call12 = call i64 @__stdio_fwrite(i8* %6, i64 %call11, %struct.__STDIO_FILE_STRUCT.568* %8) #19 + br label %cond.end + +cond.end: ; preds = %if.then5, %cond.true + %cond = phi i64 [ %call12, %cond.true ], [ 0, %if.then5 ] + store i32 -1, i32* %count, align 4 + br label %if.end65 + +if.else13: ; preds = %if.else + %9 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %arg.addr, align 8 + call void @_ppfs_prepargs(%struct.ppfs_t.722* %ppfs, %struct.__va_list_tag.0* %9) #19 + br label %do.body + +do.body: ; preds = %do.cond, %if.else13 + br label %while.cond + +while.cond: ; preds = %while.body, %do.body + %10 = load i8*, i8** %format.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv14 = sext i8 %11 to i32 + %tobool15 = icmp ne i32 %conv14, 0 + br i1 %tobool15, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %12 = load i8*, i8** %format.addr, align 8 + %13 = load i8, i8* %12, align 1 + %conv16 = sext i8 %13 to i32 + %cmp17 = icmp ne i32 %conv16, 37 + br label %land.end + +land.end: ; preds = %land.rhs, %while.cond + %14 = phi i1 [ false, %while.cond ], [ %cmp17, %land.rhs ] + %15 = load i8*, i8** %format.addr, align 8 + br i1 %14, label %while.body, label %while.end + +while.body: ; preds = %land.end + %incdec.ptr = getelementptr inbounds i8, i8* %15, i32 1 + store i8* %incdec.ptr, i8** %format.addr, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %16 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %15 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %16 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool19 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %tobool19, label %if.then20, label %if.end42 + +if.then20: ; preds = %while.end + %17 = load i8*, i8** %format.addr, align 8 + %18 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast21 = ptrtoint i8* %17 to i64 + %sub.ptr.rhs.cast22 = ptrtoint i8* %18 to i64 + %sub.ptr.sub23 = sub i64 %sub.ptr.lhs.cast21, %sub.ptr.rhs.cast22 + %cmp24 = icmp sgt i64 %sub.ptr.sub23, 0 + br i1 %cmp24, label %cond.true26, label %cond.end32 + +cond.true26: ; preds = %if.then20 + %19 = load i8*, i8** %s, align 8 + %20 = load i8*, i8** %format.addr, align 8 + %21 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast27 = ptrtoint i8* %20 to i64 + %sub.ptr.rhs.cast28 = ptrtoint i8* %21 to i64 + %sub.ptr.sub29 = sub i64 %sub.ptr.lhs.cast27, %sub.ptr.rhs.cast28 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call30 = call i64 @__stdio_fwrite(i8* %19, i64 %sub.ptr.sub29, %struct.__STDIO_FILE_STRUCT.568* %22) #19 + br label %cond.end32 + +cond.end32: ; preds = %if.then20, %cond.true26 + %cond33 = phi i64 [ %call30, %cond.true26 ], [ 0, %if.then20 ] + %conv34 = trunc i64 %cond33 to i32 + store i32 %conv34, i32* %r, align 4 + %conv35 = sext i32 %conv34 to i64 + %23 = load i8*, i8** %format.addr, align 8 + %24 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast36 = ptrtoint i8* %23 to i64 + %sub.ptr.rhs.cast37 = ptrtoint i8* %24 to i64 + %sub.ptr.sub38 = sub i64 %sub.ptr.lhs.cast36, %sub.ptr.rhs.cast37 + %cmp39 = icmp ne i64 %conv35, %sub.ptr.sub38 + br i1 %cmp39, label %if.then41, label %if.end + +if.then41: ; preds = %cond.end32 + store i32 -1, i32* %count, align 4 + br label %do.end + +if.end: ; preds = %cond.end32 + %25 = load i32, i32* %r, align 4 + %26 = load i32, i32* %count, align 4 + %add = add nsw i32 %26, %25 + store i32 %add, i32* %count, align 4 + br label %if.end42 + +if.end42: ; preds = %if.end, %while.end + %27 = load i8*, i8** %format.addr, align 8 + %28 = load i8, i8* %27, align 1 + %tobool43 = icmp ne i8 %28, 0 + br i1 %tobool43, label %if.end45, label %do.end + +if.end45: ; preds = %if.end42 + %29 = load i8*, i8** %format.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %29, i64 1 + %30 = load i8, i8* %arrayidx, align 1 + %conv46 = sext i8 %30 to i32 + %cmp47 = icmp ne i32 %conv46, 37 + %31 = load i8*, i8** %format.addr, align 8 + %incdec.ptr50 = getelementptr inbounds i8, i8* %31, i32 1 + store i8* %incdec.ptr50, i8** %format.addr, align 8 + br i1 %cmp47, label %if.then49, label %if.else58 + +if.then49: ; preds = %if.end45 + %fmtpos51 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + store i8* %incdec.ptr50, i8** %fmtpos51, align 8 + %32 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call52 = call i32 @_do_one_spec(%struct.__STDIO_FILE_STRUCT.568* %32, %struct.ppfs_t.722* %ppfs, i32* %count) #19 + store i32 %call52, i32* %r, align 4 + %cmp53 = icmp slt i32 %call52, 0 + br i1 %cmp53, label %if.then55, label %if.end56 + +if.then55: ; preds = %if.then49 + store i32 -1, i32* %count, align 4 + br label %do.end + +if.end56: ; preds = %if.then49 + %fmtpos57 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %33 = load i8*, i8** %fmtpos57, align 8 + store i8* %33, i8** %format.addr, align 8 + store i8* %33, i8** %s, align 8 + br label %do.cond + +if.else58: ; preds = %if.end45 + store i8* %incdec.ptr50, i8** %s, align 8 + %34 = load i8*, i8** %format.addr, align 8 + %incdec.ptr60 = getelementptr inbounds i8, i8* %34, i32 1 + store i8* %incdec.ptr60, i8** %format.addr, align 8 + br label %do.cond + +do.cond: ; preds = %if.end56, %if.else58 + br label %do.body + +do.end: ; preds = %if.end42, %if.then55, %if.then41 + %arg62 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 7 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg62, i64 0, i64 0 + %arraydecay63 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_end(i8* %arraydecay63) + br label %if.end65 + +if.end65: ; preds = %cond.end, %do.end, %if.then + %35 = load i32, i32* %count, align 4 + ret i32 %35 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_do_one_spec(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, %struct.ppfs_t.722* %ppfs, i32* %count) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %count.addr = alloca i32*, align 8 + %argptr = alloca [1 x i8*], align 8 + %argtype = alloca i32*, align 8 + %ws = alloca i32*, align 8 + %mbstate = alloca %struct.__mbstate_t.512, align 4 + %slen = alloca i64, align 8 + %base = alloca i32, align 4 + %numpad = alloca i32, align 4 + %alphacase = alloca i32, align 4 + %numfill = alloca i32, align 4 + %prefix_num = alloca i32, align 4 + %padchar = alloca i8, align 1 + %buf = alloca [128 x i8], align 16 + %p = alloca %union.anon.193*, align 8 + %i = alloca i32, align 4 + %s = alloca i8*, align 8 + %nf = alloca i64, align 8 + %t = alloca i64, align 8 + %t351 = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store i32* %count, i32** %count.addr, align 8 + store i32* null, i32** %ws, align 8 + store i32 0, i32* %numfill, align 4 + store i32 11, i32* %prefix_num, align 4 + store i8 32, i8* %padchar, align 1 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %call = call i32 @_ppfs_parsespec(%struct.ppfs_t.722* %0) #19 + %1 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + call void @_ppfs_setargs(%struct.ppfs_t.722* %1) #19 + %2 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype1 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %2, i32 0, i32 6 + %arraydecay = getelementptr inbounds [9 x i32], [9 x i32]* %argtype1, i64 0, i64 0 + %3 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %3, i32 0, i32 5 + %arrayidx = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber, i64 0, i64 2 + %4 = load i8, i8* %arrayidx, align 2 + %conv = zext i8 %4 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds i32, i32* %arraydecay, i64 %idx.ext + %add.ptr2 = getelementptr inbounds i32, i32* %add.ptr, i64 -1 + store i32* %add.ptr2, i32** %argtype, align 8 + %5 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argvalue = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %5, i32 0, i32 8 + %arraydecay3 = getelementptr inbounds [9 x %union.anon.193], [9 x %union.anon.193]* %argvalue, i64 0, i64 0 + store %union.anon.193* %arraydecay3, %union.anon.193** %p, align 8 + %6 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %6, i32 0, i32 2 + %7 = load i32, i32* %maxposarg, align 4 + %cmp = icmp sgt i32 %7, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %8 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber5 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %8, i32 0, i32 5 + %arrayidx6 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber5, i64 0, i64 2 + %9 = load i8, i8* %arrayidx6, align 2 + %conv7 = zext i8 %9 to i32 + %sub = sub nsw i32 %conv7, 1 + %10 = load %union.anon.193*, %union.anon.193** %p, align 8 + %idx.ext8 = sext i32 %sub to i64 + %add.ptr9 = getelementptr inbounds %union.anon.193, %union.anon.193* %10, i64 %idx.ext8 + store %union.anon.193* %add.ptr9, %union.anon.193** %p, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %11 = load i32, i32* %i, align 4 + %12 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %12, i32 0, i32 3 + %13 = load i32, i32* %num_data_args, align 8 + %cmp10 = icmp slt i32 %11, %13 + br i1 %cmp10, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %14 = load %union.anon.193*, %union.anon.193** %p, align 8 + %incdec.ptr = getelementptr inbounds %union.anon.193, %union.anon.193* %14, i32 1 + store %union.anon.193* %incdec.ptr, %union.anon.193** %p, align 8 + %15 = bitcast %union.anon.193* %14 to i8* + %16 = load i32, i32* %i, align 4 + %idxprom = sext i32 %16 to i64 + %arrayidx12 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 %idxprom + store i8* %15, i8** %arrayidx12, align 8 + %17 = load i32, i32* %i, align 4 + %inc = add nsw i32 %17, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + store i8* null, i8** %s, align 8 + %18 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %18, i32 0, i32 4 + %19 = load i32, i32* %conv_num, align 4 + %cmp13 = icmp eq i32 %19, 0 + br i1 %cmp13, label %if.then15, label %if.end18 + +if.then15: ; preds = %for.end + %arraydecay16 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %20 = load i8*, i8** %arraydecay16, align 8 + %21 = bitcast i8* %20 to i8** + %22 = load i8*, i8** %21, align 8 + %23 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %23, i32 0, i32 1 + %_flags = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 3 + %24 = load i32, i32* %_flags, align 4 + %and = and i32 %24, 3840 + %25 = load i32*, i32** %count.addr, align 8 + %26 = load i32, i32* %25, align 4 + %conv17 = sext i32 %26 to i64 + call void @_store_inttype(i8* %22, i32 %and, i64 %conv17) #19 + store i32 0, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %for.end + %27 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num19 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %27, i32 0, i32 4 + %28 = load i32, i32* %conv_num19, align 4 + %cmp20 = icmp ule i32 %28, 7 + br i1 %cmp20, label %if.then22, label %if.else179 + +if.then22: ; preds = %if.end18 + store i32 87, i32* %alphacase, align 4 + %29 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num23 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %29, i32 0, i32 4 + %30 = load i32, i32* %conv_num23, align 4 + %sub24 = sub i32 %30, 1 + %idxprom25 = sext i32 %sub24 to i64 + %arrayidx26 = getelementptr inbounds [7 x i8], [7 x i8]* @_do_one_spec.spec_base, i64 0, i64 %idxprom25 + %31 = load i8, i8* %arrayidx26, align 1 + %conv27 = sext i8 %31 to i32 + store i32 %conv27, i32* %base, align 4 + %cmp28 = icmp eq i32 %conv27, 10 + br i1 %cmp28, label %if.then30, label %if.end42 + +if.then30: ; preds = %if.then22 + %32 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info31 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %32, i32 0, i32 1 + %_flags32 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info31, i32 0, i32 3 + %33 = load i32, i32* %_flags32, align 4 + %and33 = and i32 %33, 32 + %tobool = icmp ne i32 %and33, 0 + br i1 %tobool, label %if.then34, label %if.end35 + +if.then34: ; preds = %if.then30 + store i32 44, i32* %alphacase, align 4 + br label %if.end35 + +if.end35: ; preds = %if.then34, %if.then30 + %34 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info36 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %34, i32 0, i32 1 + %_flags37 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info36, i32 0, i32 3 + %35 = load i32, i32* %_flags37, align 4 + %and38 = and i32 %35, 64 + %tobool39 = icmp ne i32 %and38, 0 + br i1 %tobool39, label %if.then40, label %if.end42 + +if.then40: ; preds = %if.end35 + %36 = load i32, i32* %alphacase, align 4 + %or = or i32 %36, 128 + store i32 %or, i32* %alphacase, align 4 + br label %if.end42 + +if.end42: ; preds = %if.end35, %if.then40, %if.then22 + %37 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num43 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %37, i32 0, i32 4 + %38 = load i32, i32* %conv_num43, align 4 + %cmp44 = icmp ule i32 %38, 5 + br i1 %cmp44, label %if.then46, label %if.else57 + +if.then46: ; preds = %if.end42 + %39 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num47 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %39, i32 0, i32 4 + %40 = load i32, i32* %conv_num47, align 4 + %cmp48 = icmp eq i32 %40, 3 + br i1 %cmp48, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.then46 + store i32 55, i32* %alphacase, align 4 + br label %if.end51 + +if.end51: ; preds = %if.then50, %if.then46 + %41 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num52 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %41, i32 0, i32 4 + %42 = load i32, i32* %conv_num52, align 4 + %cmp53 = icmp eq i32 %42, 1 + br i1 %cmp53, label %if.then55, label %if.end59 + +if.then55: ; preds = %if.end51 + store i32 6, i32* %prefix_num, align 4 + br label %if.end59 + +if.else57: ; preds = %if.end42 + %43 = load i32, i32* %base, align 4 + %sub58 = sub nsw i32 0, %43 + store i32 %sub58, i32* %base, align 4 + br label %if.end59 + +if.end59: ; preds = %if.then55, %if.end51, %if.else57 + %44 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info60 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %44, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info60, i32 0, i32 0 + %45 = load i32, i32* %prec, align 8 + %cmp61 = icmp slt i32 %45, 0 + br i1 %cmp61, label %if.then63, label %if.end66 + +if.then63: ; preds = %if.end59 + %46 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info64 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %46, i32 0, i32 1 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info64, i32 0, i32 4 + %47 = load i32, i32* %pad, align 8 + %conv65 = trunc i32 %47 to i8 + store i8 %conv65, i8* %padchar, align 1 + br label %if.end66 + +if.end66: ; preds = %if.then63, %if.end59 + %arraydecay67 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %add.ptr68 = getelementptr inbounds i8, i8* %arraydecay67, i64 128 + %add.ptr69 = getelementptr inbounds i8, i8* %add.ptr68, i64 -1 + %48 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num70 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %48, i32 0, i32 4 + %49 = load i32, i32* %conv_num70, align 4 + %cmp71 = icmp eq i32 %49, 1 + br i1 %cmp71, label %cond.end, label %cond.false + +cond.false: ; preds = %if.end66 + %50 = load i32*, i32** %argtype, align 8 + %51 = load i32, i32* %50, align 4 + %and73 = and i32 %51, 3840 + br label %cond.end + +cond.end: ; preds = %if.end66, %cond.false + %cond = phi i32 [ %and73, %cond.false ], [ 1024, %if.end66 ] + %arraydecay74 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %52 = load i8*, i8** %arraydecay74, align 8 + %53 = load i32, i32* %base, align 4 + %call75 = call i64 @_load_inttype(i32 %cond, i8* %52, i32 %53) #19 + %54 = load i32, i32* %base, align 4 + %55 = load i32, i32* %alphacase, align 4 + %call76 = call i8* @_uintmaxtostr(i8* %add.ptr69, i64 %call75, i32 %54, i32 %55) #19 + store i8* %call76, i8** %s, align 8 + %56 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num77 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %56, i32 0, i32 4 + %57 = load i32, i32* %conv_num77, align 4 + %cmp78 = icmp ugt i32 %57, 5 + br i1 %cmp78, label %if.then80, label %if.end104 + +if.then80: ; preds = %cond.end + %58 = load i8*, i8** %s, align 8 + %59 = load i8, i8* %58, align 1 + %conv81 = sext i8 %59 to i32 + %cmp82 = icmp eq i32 %conv81, 45 + %60 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info85 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %60, i32 0, i32 1 + %_flags86 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info85, i32 0, i32 3 + %61 = load i32, i32* %_flags86, align 4 + br i1 %cmp82, label %if.then84, label %if.else89 + +if.then84: ; preds = %if.then80 + %or87 = or i32 %61, 2 + store i32 %or87, i32* %_flags86, align 4 + %62 = load i8*, i8** %s, align 8 + %incdec.ptr88 = getelementptr inbounds i8, i8* %62, i32 1 + store i8* %incdec.ptr88, i8** %s, align 8 + store i32 2, i32* %prefix_num, align 4 + br label %if.end104 + +if.else89: ; preds = %if.then80 + %and92 = and i32 %61, 2 + %tobool93 = icmp ne i32 %and92, 0 + br i1 %tobool93, label %if.then94, label %if.else95 + +if.then94: ; preds = %if.else89 + store i32 0, i32* %prefix_num, align 4 + br label %if.end104 + +if.else95: ; preds = %if.else89 + %63 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info96 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %63, i32 0, i32 1 + %_flags97 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info96, i32 0, i32 3 + %64 = load i32, i32* %_flags97, align 4 + %and98 = and i32 %64, 1 + %tobool99 = icmp ne i32 %and98, 0 + br i1 %tobool99, label %if.then100, label %if.end104 + +if.then100: ; preds = %if.else95 + store i32 4, i32* %prefix_num, align 4 + br label %if.end104 + +if.end104: ; preds = %if.then84, %if.else95, %if.then100, %if.then94, %cond.end + %arraydecay105 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %add.ptr106 = getelementptr inbounds i8, i8* %arraydecay105, i64 128 + %add.ptr107 = getelementptr inbounds i8, i8* %add.ptr106, i64 -1 + %65 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %add.ptr107 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %65 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %slen, align 8 + %66 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info108 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %66, i32 0, i32 1 + %prec109 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info108, i32 0, i32 0 + %67 = load i32, i32* %prec109, align 8 + %cmp110 = icmp slt i32 %67, 0 + br i1 %cmp110, label %cond.end116, label %cond.false113 + +cond.false113: ; preds = %if.end104 + %68 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info114 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %68, i32 0, i32 1 + %prec115 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info114, i32 0, i32 0 + %69 = load i32, i32* %prec115, align 8 + br label %cond.end116 + +cond.end116: ; preds = %if.end104, %cond.false113 + %cond117 = phi i32 [ %69, %cond.false113 ], [ 1, %if.end104 ] + store i32 %cond117, i32* %numfill, align 4 + %70 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info118 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %70, i32 0, i32 1 + %_flags119 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info118, i32 0, i32 3 + %71 = load i32, i32* %_flags119, align 4 + %and120 = and i32 %71, 16 + %tobool121 = icmp ne i32 %and120, 0 + br i1 %tobool121, label %if.then122, label %if.end149 + +if.then122: ; preds = %cond.end116 + %72 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num123 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %72, i32 0, i32 4 + %73 = load i32, i32* %conv_num123, align 4 + %cmp124 = icmp ule i32 %73, 2 + br i1 %cmp124, label %if.then126, label %if.end127 + +if.then126: ; preds = %if.then122 + store i32 6, i32* %prefix_num, align 4 + br label %if.end127 + +if.end127: ; preds = %if.then126, %if.then122 + %74 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num128 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %74, i32 0, i32 4 + %75 = load i32, i32* %conv_num128, align 4 + %cmp129 = icmp eq i32 %75, 3 + br i1 %cmp129, label %if.then131, label %if.end132 + +if.then131: ; preds = %if.end127 + store i32 9, i32* %prefix_num, align 4 + br label %if.end132 + +if.end132: ; preds = %if.then131, %if.end127 + %76 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num133 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %76, i32 0, i32 4 + %77 = load i32, i32* %conv_num133, align 4 + %cmp134 = icmp eq i32 %77, 4 + br i1 %cmp134, label %land.lhs.true, label %if.end149 + +land.lhs.true: ; preds = %if.end132 + %78 = load i32, i32* %numfill, align 4 + %conv136 = sext i32 %78 to i64 + %79 = load i64, i64* %slen, align 8 + %cmp137 = icmp ule i64 %conv136, %79 + br i1 %cmp137, label %if.then139, label %if.end149 + +if.then139: ; preds = %land.lhs.true + %80 = load i8*, i8** %s, align 8 + %81 = load i8, i8* %80, align 1 + %conv140 = sext i8 %81 to i32 + %cmp141 = icmp eq i32 %conv140, 48 + %82 = load i64, i64* %slen, align 8 + %add = add i64 %82, 1 + %cond146 = select i1 %cmp141, i64 1, i64 %add + %conv147 = trunc i64 %cond146 to i32 + store i32 %conv147, i32* %numfill, align 4 + br label %if.end149 + +if.end149: ; preds = %if.end132, %land.lhs.true, %if.then139, %cond.end116 + %83 = load i8*, i8** %s, align 8 + %84 = load i8, i8* %83, align 1 + %conv150 = sext i8 %84 to i32 + %cmp151 = icmp eq i32 %conv150, 48 + br i1 %cmp151, label %if.then153, label %if.end168 + +if.then153: ; preds = %if.end149 + %85 = load i32, i32* %prefix_num, align 4 + %cmp154 = icmp sge i32 %85, 6 + br i1 %cmp154, label %if.then156, label %if.end157 + +if.then156: ; preds = %if.then153 + store i32 11, i32* %prefix_num, align 4 + br label %if.end157 + +if.end157: ; preds = %if.then156, %if.then153 + %86 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num158 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %86, i32 0, i32 4 + %87 = load i32, i32* %conv_num158, align 4 + %cmp159 = icmp eq i32 %87, 1 + br i1 %cmp159, label %if.then161, label %if.else162 + +if.then161: ; preds = %if.end157 + store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.349, i64 0, i64 0), i8** %s, align 8 + store i64 5, i64* %slen, align 8 + store i32 0, i32* %numfill, align 4 + br label %if.end168 + +if.else162: ; preds = %if.end157 + %88 = load i32, i32* %numfill, align 4 + %cmp163 = icmp eq i32 %88, 0 + br i1 %cmp163, label %if.then165, label %if.end168 + +if.then165: ; preds = %if.else162 + store i64 0, i64* %slen, align 8 + br label %if.end168 + +if.end168: ; preds = %if.then161, %if.then165, %if.else162, %if.end149 + %89 = load i32, i32* %numfill, align 4 + %conv169 = sext i32 %89 to i64 + %90 = load i64, i64* %slen, align 8 + %cmp170 = icmp ugt i64 %conv169, %90 + %91 = load i32, i32* %numfill, align 4 + %conv173 = sext i32 %91 to i64 + %92 = load i64, i64* %slen, align 8 + %sub174 = sub i64 %conv173, %92 + %cond177 = select i1 %cmp170, i64 %sub174, i64 0 + %conv178 = trunc i64 %cond177 to i32 + store i32 %conv178, i32* %numfill, align 4 + br label %if.end278 + +if.else179: ; preds = %if.end18 + %93 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num180 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %93, i32 0, i32 4 + %94 = load i32, i32* %conv_num180, align 4 + %cmp181 = icmp ule i32 %94, 15 + br i1 %cmp181, label %if.then183, label %if.else203 + +if.then183: ; preds = %if.else179 + %95 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %arraydecay189 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %96 = load i8*, i8** %arraydecay189, align 8 + %97 = bitcast i8* %96 to double* + %98 = load double, double* %97, align 8 + %99 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info194 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %99, i32 0, i32 1 + %call195 = call i64 @_fpmaxtostr(%struct.__STDIO_FILE_STRUCT.568* %95, double %98, %struct.printf_info.720* %info194, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)* @_fp_out_narrow) #19 + store i64 %call195, i64* %nf, align 8 + %100 = load i64, i64* %nf, align 8 + %cmp196 = icmp slt i64 %100, 0 + br i1 %cmp196, label %if.then198, label %if.end199 + +if.then198: ; preds = %if.then183 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end199: ; preds = %if.then183 + %101 = load i64, i64* %nf, align 8 + %102 = load i32*, i32** %count.addr, align 8 + %103 = load i32, i32* %102, align 4 + %conv200 = sext i32 %103 to i64 + %add201 = add nsw i64 %conv200, %101 + %conv202 = trunc i64 %add201 to i32 + store i32 %conv202, i32* %102, align 4 + store i32 0, i32* %retval, align 4 + br label %return + +if.else203: ; preds = %if.else179 + %104 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num204 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %104, i32 0, i32 4 + %105 = load i32, i32* %conv_num204, align 4 + %cmp205 = icmp ule i32 %105, 17 + br i1 %cmp205, label %if.then207, label %if.else242 + +if.then207: ; preds = %if.else203 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %mbstate, i32 0, i32 0 + store i32 0, i32* %__mask, align 4 + %106 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num208 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %106, i32 0, i32 4 + %107 = load i32, i32* %conv_num208, align 4 + %cmp209 = icmp eq i32 %107, 17 + br i1 %cmp209, label %if.then211, label %if.else232 + +if.then211: ; preds = %if.then207 + %arraydecay212 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %108 = load i8*, i8** %arraydecay212, align 8 + %109 = bitcast i8* %108 to i32** + %110 = load i32*, i32** %109, align 8 + store i32* %110, i32** %ws, align 8 + %tobool213 = icmp ne i32* %110, null + br i1 %tobool213, label %if.end215, label %NULL_STRING + +if.end215: ; preds = %if.then211 + %111 = bitcast i32** %ws to i8* + %112 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info216 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %112, i32 0, i32 1 + %prec217 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info216, i32 0, i32 0 + %113 = load i32, i32* %prec217, align 8 + %cmp218 = icmp sge i32 %113, 0 + br i1 %cmp218, label %cond.true220, label %cond.end225 + +cond.true220: ; preds = %if.end215 + %114 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info221 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %114, i32 0, i32 1 + %prec222 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info221, i32 0, i32 0 + %115 = load i32, i32* %prec222, align 8 + %conv223 = sext i32 %115 to i64 + br label %cond.end225 + +cond.end225: ; preds = %if.end215, %cond.true220 + %cond226 = phi i64 [ %conv223, %cond.true220 ], [ -1, %if.end215 ] + %call227 = call i64 @wcsrtombs(i8* %111, i32** %ws, i64 %cond226, %struct.__mbstate_t.512* %mbstate) #20 + store i64 %call227, i64* %slen, align 8 + %cmp228 = icmp eq i64 %call227, -1 + br i1 %cmp228, label %if.then230, label %if.end278 + +if.then230: ; preds = %cond.end225 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else232: ; preds = %if.then207 + %arraydecay233 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay233, i8** %s, align 8 + %116 = load i8*, i8** %s, align 8 + %arraydecay234 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %117 = load i8*, i8** %arraydecay234, align 8 + %118 = bitcast i8* %117 to i32* + %119 = load i32, i32* %118, align 4 + %call235 = call i64 @wcrtomb(i8* %116, i32 %119, %struct.__mbstate_t.512* %mbstate) #20 + store i64 %call235, i64* %slen, align 8 + %120 = load i64, i64* %slen, align 8 + %cmp236 = icmp eq i64 %120, -1 + br i1 %cmp236, label %if.then238, label %if.end239 + +if.then238: ; preds = %if.else232 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end239: ; preds = %if.else232 + %121 = load i8*, i8** %s, align 8 + %122 = load i64, i64* %slen, align 8 + %arrayidx240 = getelementptr inbounds i8, i8* %121, i64 %122 + store i8 0, i8* %arrayidx240, align 1 + br label %if.end278 + +if.else242: ; preds = %if.else203 + %123 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num243 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %123, i32 0, i32 4 + %124 = load i32, i32* %conv_num243, align 4 + %cmp244 = icmp ule i32 %124, 19 + br i1 %cmp244, label %if.then246, label %if.else274 + +if.then246: ; preds = %if.else242 + %125 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num247 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %125, i32 0, i32 4 + %126 = load i32, i32* %conv_num247, align 4 + %cmp248 = icmp eq i32 %126, 19 + br i1 %cmp248, label %if.then250, label %if.else268 + +if.then250: ; preds = %if.then246 + %arraydecay251 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %127 = load i8*, i8** %arraydecay251, align 8 + %128 = bitcast i8* %127 to i8** + %129 = load i8*, i8** %128, align 8 + store i8* %129, i8** %s, align 8 + %130 = load i8*, i8** %s, align 8 + %tobool252 = icmp ne i8* %130, null + br i1 %tobool252, label %if.then253, label %NULL_STRING + +if.then253: ; preds = %if.then250 + %131 = load i8*, i8** %s, align 8 + %132 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info254 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %132, i32 0, i32 1 + %prec255 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info254, i32 0, i32 0 + %133 = load i32, i32* %prec255, align 8 + %cmp256 = icmp sge i32 %133, 0 + br i1 %cmp256, label %cond.true258, label %cond.end263 + +cond.true258: ; preds = %if.then253 + %134 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info259 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %134, i32 0, i32 1 + %prec260 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info259, i32 0, i32 0 + %135 = load i32, i32* %prec260, align 8 + %conv261 = sext i32 %135 to i64 + br label %cond.end263 + +cond.end263: ; preds = %if.then253, %cond.true258 + %cond264 = phi i64 [ %conv261, %cond.true258 ], [ -1, %if.then253 ] + %call265 = call i64 @strnlen(i8* %131, i64 %cond264) #21 + store i64 %call265, i64* %slen, align 8 + br label %if.end278 + +NULL_STRING: ; preds = %if.then250, %if.then211 + store i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.350, i64 0, i64 0), i8** %s, align 8 + store i64 6, i64* %slen, align 8 + br label %if.end278 + +if.else268: ; preds = %if.then246 + %arraydecay269 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay269, i8** %s, align 8 + %arraydecay270 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %136 = load i8*, i8** %arraydecay270, align 8 + %137 = bitcast i8* %136 to i32* + %138 = load i32, i32* %137, align 4 + %conv271 = trunc i32 %138 to i8 + %139 = load i8*, i8** %s, align 8 + store i8 %conv271, i8* %139, align 1 + %140 = load i8*, i8** %s, align 8 + %arrayidx272 = getelementptr inbounds i8, i8* %140, i64 1 + store i8 0, i8* %arrayidx272, align 1 + store i64 1, i64* %slen, align 8 + br label %if.end278 + +if.else274: ; preds = %if.else242 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end278: ; preds = %cond.end263, %NULL_STRING, %if.else268, %if.end239, %cond.end225, %if.end168 + %141 = load i64, i64* %slen, align 8 + %142 = load i32, i32* %numfill, align 4 + %conv279 = sext i32 %142 to i64 + %add280 = add i64 %141, %conv279 + store i64 %add280, i64* %t, align 8 + %143 = load i32, i32* %prefix_num, align 4 + %cmp281 = icmp ne i32 %143, 11 + br i1 %cmp281, label %if.then283, label %if.end289 + +if.then283: ; preds = %if.end278 + %144 = load i32, i32* %prefix_num, align 4 + %cmp284 = icmp slt i32 %144, 6 + %145 = zext i1 %cmp284 to i64 + %cond286 = select i1 %cmp284, i32 1, i32 2 + %conv287 = sext i32 %cond286 to i64 + %146 = load i64, i64* %t, align 8 + %add288 = add i64 %146, %conv287 + store i64 %add288, i64* %t, align 8 + br label %if.end289 + +if.end289: ; preds = %if.then283, %if.end278 + %147 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info290 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %147, i32 0, i32 1 + %width = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info290, i32 0, i32 1 + %148 = load i32, i32* %width, align 4 + %conv291 = sext i32 %148 to i64 + %149 = load i64, i64* %t, align 8 + %cmp292 = icmp ugt i64 %conv291, %149 + br i1 %cmp292, label %cond.true294, label %cond.end300 + +cond.true294: ; preds = %if.end289 + %150 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info295 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %150, i32 0, i32 1 + %width296 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info295, i32 0, i32 1 + %151 = load i32, i32* %width296, align 4 + %conv297 = sext i32 %151 to i64 + %152 = load i64, i64* %t, align 8 + %sub298 = sub i64 %conv297, %152 + br label %cond.end300 + +cond.end300: ; preds = %if.end289, %cond.true294 + %cond301 = phi i64 [ %sub298, %cond.true294 ], [ 0, %if.end289 ] + %conv302 = trunc i64 %cond301 to i32 + store i32 %conv302, i32* %numpad, align 4 + %153 = load i64, i64* %t, align 8 + %154 = load i32, i32* %numpad, align 4 + %conv303 = sext i32 %154 to i64 + %add304 = add i64 %153, %conv303 + %155 = load i32*, i32** %count.addr, align 8 + %156 = load i32, i32* %155, align 4 + %conv305 = sext i32 %156 to i64 + %add306 = add i64 %conv305, %add304 + %conv307 = trunc i64 %add306 to i32 + store i32 %conv307, i32* %155, align 4 + %157 = load i8, i8* %padchar, align 1 + %conv308 = sext i8 %157 to i32 + %cmp309 = icmp eq i32 %conv308, 48 + br i1 %cmp309, label %if.then311, label %if.end313 + +if.then311: ; preds = %cond.end300 + %158 = load i32, i32* %numpad, align 4 + %159 = load i32, i32* %numfill, align 4 + %add312 = add nsw i32 %159, %158 + store i32 %add312, i32* %numfill, align 4 + store i32 0, i32* %numpad, align 4 + br label %if.end313 + +if.end313: ; preds = %if.then311, %cond.end300 + %160 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info314 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %160, i32 0, i32 1 + %_flags315 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info314, i32 0, i32 3 + %161 = load i32, i32* %_flags315, align 4 + %and316 = and i32 %161, 8 + %tobool317 = icmp ne i32 %and316, 0 + br i1 %tobool317, label %if.end326, label %if.then318 + +if.then318: ; preds = %if.end313 + %162 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %163 = load i32, i32* %numpad, align 4 + %conv319 = sext i32 %163 to i64 + %call320 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %162, i32 32, i64 %conv319) #19 + %164 = load i32, i32* %numpad, align 4 + %conv321 = sext i32 %164 to i64 + %cmp322 = icmp ne i64 %call320, %conv321 + br i1 %cmp322, label %if.then324, label %if.end325 + +if.then324: ; preds = %if.then318 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end325: ; preds = %if.then318 + store i32 0, i32* %numpad, align 4 + br label %if.end326 + +if.end326: ; preds = %if.end325, %if.end313 + %165 = load i32, i32* %prefix_num, align 4 + %idx.ext327 = sext i32 %165 to i64 + %add.ptr328 = getelementptr inbounds i8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @_do_one_spec.prefix, i64 0, i64 0), i64 %idx.ext327 + %166 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call329 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct.__STDIO_FILE_STRUCT.568*)*)(i8* %add.ptr328, %struct.__STDIO_FILE_STRUCT.568* %166) #19 + %167 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %168 = load i32, i32* %numfill, align 4 + %conv330 = sext i32 %168 to i64 + %call331 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %167, i32 48, i64 %conv330) #19 + %169 = load i32, i32* %numfill, align 4 + %conv332 = sext i32 %169 to i64 + %cmp333 = icmp ne i64 %call331, %conv332 + br i1 %cmp333, label %if.then335, label %if.end336 + +if.then335: ; preds = %if.end326 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end336: ; preds = %if.end326 + %170 = load i32*, i32** %ws, align 8 + %tobool337 = icmp ne i32* %170, null + br i1 %tobool337, label %if.else350, label %if.then338 + +if.then338: ; preds = %if.end336 + %171 = load i64, i64* %slen, align 8 + %cmp339 = icmp ugt i64 %171, 0 + br i1 %cmp339, label %cond.true341, label %cond.end344 + +cond.true341: ; preds = %if.then338 + %172 = load i8*, i8** %s, align 8 + %173 = load i64, i64* %slen, align 8 + %174 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call342 = call i64 @__stdio_fwrite(i8* %172, i64 %173, %struct.__STDIO_FILE_STRUCT.568* %174) #19 + br label %cond.end344 + +cond.end344: ; preds = %if.then338, %cond.true341 + %cond345 = phi i64 [ %call342, %cond.true341 ], [ 0, %if.then338 ] + %175 = load i64, i64* %slen, align 8 + %cmp346 = icmp ne i64 %cond345, %175 + br i1 %cmp346, label %if.then348, label %if.end375 + +if.then348: ; preds = %cond.end344 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else350: ; preds = %if.end336 + %__mask352 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %mbstate, i32 0, i32 0 + store i32 0, i32* %__mask352, align 4 + br label %while.cond + +while.cond: ; preds = %if.end373, %if.else350 + %176 = load i64, i64* %slen, align 8 + %tobool353 = icmp ne i64 %176, 0 + br i1 %tobool353, label %while.body, label %if.end375 + +while.body: ; preds = %while.cond + %177 = load i64, i64* %slen, align 8 + %cmp354 = icmp ule i64 %177, 128 + %178 = load i64, i64* %slen, align 8 + %cond359 = select i1 %cmp354, i64 %178, i64 128 + store i64 %cond359, i64* %t351, align 8 + %arraydecay360 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %179 = load i64, i64* %t351, align 8 + %call361 = call i64 @wcsrtombs(i8* %arraydecay360, i32** %ws, i64 %179, %struct.__mbstate_t.512* %mbstate) #20 + store i64 %call361, i64* %t351, align 8 + %180 = load i64, i64* %t351, align 8 + %cmp362 = icmp ugt i64 %180, 0 + br i1 %cmp362, label %cond.true364, label %cond.end368 + +cond.true364: ; preds = %while.body + %arraydecay365 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %181 = load i64, i64* %t351, align 8 + %182 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call366 = call i64 @__stdio_fwrite(i8* %arraydecay365, i64 %181, %struct.__STDIO_FILE_STRUCT.568* %182) #19 + br label %cond.end368 + +cond.end368: ; preds = %while.body, %cond.true364 + %cond369 = phi i64 [ %call366, %cond.true364 ], [ 0, %while.body ] + %183 = load i64, i64* %t351, align 8 + %cmp370 = icmp ne i64 %cond369, %183 + br i1 %cmp370, label %if.then372, label %if.end373 + +if.then372: ; preds = %cond.end368 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end373: ; preds = %cond.end368 + %184 = load i64, i64* %t351, align 8 + %185 = load i64, i64* %slen, align 8 + %sub374 = sub i64 %185, %184 + store i64 %sub374, i64* %slen, align 8 + br label %while.cond + +if.end375: ; preds = %while.cond, %cond.end344 + %186 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %187 = load i32, i32* %numpad, align 4 + %conv376 = sext i32 %187 to i64 + %call377 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %186, i32 32, i64 %conv376) #19 + %188 = load i32, i32* %numpad, align 4 + %conv378 = sext i32 %188 to i64 + %cmp379 = icmp ne i64 %call377, %conv378 + br i1 %cmp379, label %if.then381, label %if.end382 + +if.then381: ; preds = %if.end375 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end382: ; preds = %if.end375 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end382, %if.then381, %if.then372, %if.then348, %if.then335, %if.then324, %if.else274, %if.then238, %if.then230, %if.end199, %if.then198, %if.then15 + %189 = load i32, i32* %retval, align 4 + ret i32 %189 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @_fp_out_narrow(%struct.__STDIO_FILE_STRUCT.568* %fp, i64 %type, i64 %len, i64 %buf) #0 { +entry: + %retval = alloca i64, align 8 + %fp.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %type.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %buf.addr = alloca i64, align 8 + %r = alloca i64, align 8 + %buflen = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %fp, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + store i64 %type, i64* %type.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store i64 %buf, i64* %buf.addr, align 8 + store i64 0, i64* %r, align 8 + %0 = load i64, i64* %type.addr, align 8 + %and = and i64 %0, 128 + %tobool = icmp ne i64 %and, 0 + br i1 %tobool, label %if.then, label %if.end12 + +if.then: ; preds = %entry + %1 = load i64, i64* %buf.addr, align 8 + %2 = inttoptr i64 %1 to i8* + %call = call i64 @strlen(i8* %2) #21 + %conv = trunc i64 %call to i32 + store i32 %conv, i32* %buflen, align 4 + %3 = load i32, i32* %buflen, align 4 + %conv1 = sext i32 %3 to i64 + %4 = load i64, i64* %len.addr, align 8 + %sub = sub nsw i64 %4, %conv1 + store i64 %sub, i64* %len.addr, align 8 + %cmp = icmp sgt i64 %sub, 0 + br i1 %cmp, label %if.then3, label %if.end10 + +if.then3: ; preds = %if.then + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + %6 = load i64, i64* %type.addr, align 8 + %and4 = and i64 %6, 127 + %conv5 = trunc i64 %and4 to i32 + %7 = load i64, i64* %len.addr, align 8 + %call6 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %5, i32 %conv5, i64 %7) #19 + store i64 %call6, i64* %r, align 8 + %8 = load i64, i64* %len.addr, align 8 + %cmp7 = icmp ne i64 %call6, %8 + br i1 %cmp7, label %if.then9, label %if.end10 + +if.then9: ; preds = %if.then3 + %9 = load i64, i64* %r, align 8 + store i64 %9, i64* %retval, align 8 + br label %return + +if.end10: ; preds = %if.then3, %if.then + %10 = load i32, i32* %buflen, align 4 + %conv11 = sext i32 %10 to i64 + store i64 %conv11, i64* %len.addr, align 8 + br label %if.end12 + +if.end12: ; preds = %if.end10, %entry + %11 = load i64, i64* %r, align 8 + %12 = load i64, i64* %len.addr, align 8 + %cmp13 = icmp sgt i64 %12, 0 + br i1 %cmp13, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end12 + %13 = load i64, i64* %buf.addr, align 8 + %14 = inttoptr i64 %13 to i8* + %15 = load i64, i64* %len.addr, align 8 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + %call15 = call i64 @__stdio_fwrite(i8* %14, i64 %15, %struct.__STDIO_FILE_STRUCT.568* %16) #19 + br label %cond.end + +cond.end: ; preds = %if.end12, %cond.true + %cond = phi i64 [ %call15, %cond.true ], [ 0, %if.end12 ] + %add = add i64 %11, %cond + store i64 %add, i64* %retval, align 8 + br label %return + +return: ; preds = %cond.end, %if.then9 + %17 = load i64, i64* %retval, align 8 + ret i64 %17 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %padchar, i64 %numpad) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %padchar.addr = alloca i32, align 4 + %numpad.addr = alloca i64, align 8 + %todo = alloca i64, align 8 + %pad = alloca [1 x i8], align 1 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %padchar, i32* %padchar.addr, align 4 + store i64 %numpad, i64* %numpad.addr, align 8 + %0 = load i64, i64* %numpad.addr, align 8 + store i64 %0, i64* %todo, align 8 + %1 = load i32, i32* %padchar.addr, align 4 + %conv = trunc i32 %1 to i8 + %arraydecay = getelementptr inbounds [1 x i8], [1 x i8]* %pad, i64 0, i64 0 + store i8 %conv, i8* %arraydecay, align 1 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %2 = load i64, i64* %todo, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %arraydecay1 = getelementptr inbounds [1 x i8], [1 x i8]* %pad, i64 0, i64 0 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i64 @__stdio_fwrite(i8* %arraydecay1, i64 1, %struct.__STDIO_FILE_STRUCT.568* %3) #19 + %cmp = icmp eq i64 %call, 1 + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %land.rhs + %4 = load i64, i64* %todo, align 8 + %dec = add i64 %4, -1 + store i64 %dec, i64* %todo, align 8 + br label %while.cond + +while.end: ; preds = %while.cond, %land.rhs + %5 = load i64, i64* %numpad.addr, align 8 + %6 = load i64, i64* %todo, align 8 + %sub = sub i64 %5, %6 + ret i64 %sub +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__cxa_atexit(void (i8*)* %func, i8* %arg, i8* %dso_handle) #0 { +entry: + %retval = alloca i32, align 4 + %func.addr = alloca void (i8*)*, align 8 + %arg.addr = alloca i8*, align 8 + %dso_handle.addr = alloca i8*, align 8 + %efp = alloca %struct.exit_function*, align 8 + store void (i8*)* %func, void (i8*)** %func.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i8* %dso_handle, i8** %dso_handle.addr, align 8 + %0 = load void (i8*)*, void (i8*)** %func.addr, align 8 + %cmp = icmp eq void (i8*)* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %call = call %struct.exit_function* @__new_exitfn() #19 + store %struct.exit_function* %call, %struct.exit_function** %efp, align 8 + %1 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %cmp1 = icmp eq %struct.exit_function* %1, null + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + store i32 -1, i32* %retval, align 4 + br label %return + +if.end3: ; preds = %if.end + %2 = load void (i8*)*, void (i8*)** %func.addr, align 8 + %3 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs = getelementptr inbounds %struct.exit_function, %struct.exit_function* %3, i32 0, i32 1 + %cxa_atexit = bitcast %union.anon.772* %funcs to %struct.anon.0.771* + %func4 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit, i32 0, i32 0 + store void (i8*)* %2, void (i8*)** %func4, align 8 + %4 = load i8*, i8** %arg.addr, align 8 + %5 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs5 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %5, i32 0, i32 1 + %cxa_atexit6 = bitcast %union.anon.772* %funcs5 to %struct.anon.0.771* + %arg7 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit6, i32 0, i32 1 + store i8* %4, i8** %arg7, align 8 + %6 = load i8*, i8** %dso_handle.addr, align 8 + %7 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs8 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %7, i32 0, i32 1 + %cxa_atexit9 = bitcast %union.anon.772* %funcs8 to %struct.anon.0.771* + %dso_handle10 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit9, i32 0, i32 2 + store i8* %6, i8** %dso_handle10, align 8 + %8 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %type = getelementptr inbounds %struct.exit_function, %struct.exit_function* %8, i32 0, i32 0 + store i64 3, i64* %type, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end3, %if.then2, %if.then + %9 = load i32, i32* %retval, align 4 + ret i32 %9 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_stdlib_strto_l(i8* noalias %str, i8** noalias %endptr, i32 %base, i32 %sflag) #0 { +entry: + %str.addr = alloca i8*, align 8 + %endptr.addr = alloca i8**, align 8 + %base.addr = alloca i32, align 4 + %sflag.addr = alloca i32, align 4 + store i8* %str, i8** %str.addr, align 8 + store i8** %endptr, i8*** %endptr.addr, align 8 + store i32 %base, i32* %base.addr, align 4 + store i32 %sflag, i32* %sflag.addr, align 4 + %0 = load i8*, i8** %str.addr, align 8 + %1 = load i8**, i8*** %endptr.addr, align 8 + %2 = load i32, i32* %base.addr, align 4 + %3 = load i32, i32* %sflag.addr, align 4 + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %call = call i64 @_stdlib_strto_l_l(i8* %0, i8** %1, i32 %2, i32 %3, %struct.__uclibc_locale_struct.201* %4) #19 + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define i8* @getenv(i8* nonnull %var) #0 { +entry: + %retval = alloca i8*, align 8 + %var.addr = alloca i8*, align 8 + %len = alloca i32, align 4 + %ep = alloca i8**, align 8 + store i8* %var, i8** %var.addr, align 8 + %0 = load i8**, i8*** @__environ, align 8 + store i8** %0, i8*** %ep, align 8 + %tobool = icmp ne i8** %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %var.addr, align 8 + %call = call i64 @strlen(i8* %1) #21 + %conv = trunc i64 %call to i32 + store i32 %conv, i32* %len, align 4 + br label %while.cond + +while.cond: ; preds = %if.end10, %if.end + %2 = load i8**, i8*** %ep, align 8 + %3 = load i8*, i8** %2, align 8 + %tobool1 = icmp ne i8* %3, null + br i1 %tobool1, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i8*, i8** %var.addr, align 8 + %5 = load i8**, i8*** %ep, align 8 + %6 = load i8*, i8** %5, align 8 + %7 = load i32, i32* %len, align 4 + %conv2 = sext i32 %7 to i64 + %call3 = call i32 @memcmp(i8* %4, i8* %6, i64 %conv2) #21 + %cmp = icmp eq i32 %call3, 0 + br i1 %cmp, label %land.lhs.true, label %if.end10 + +land.lhs.true: ; preds = %while.body + %8 = load i8**, i8*** %ep, align 8 + %9 = load i8*, i8** %8, align 8 + %10 = load i32, i32* %len, align 4 + %idxprom = sext i32 %10 to i64 + %arrayidx = getelementptr inbounds i8, i8* %9, i64 %idxprom + %11 = load i8, i8* %arrayidx, align 1 + %conv5 = sext i8 %11 to i32 + %cmp6 = icmp eq i32 %conv5, 61 + br i1 %cmp6, label %if.then8, label %if.end10 + +if.then8: ; preds = %land.lhs.true + %12 = load i8**, i8*** %ep, align 8 + %13 = load i8*, i8** %12, align 8 + %14 = load i32, i32* %len, align 4 + %idx.ext = sext i32 %14 to i64 + %add.ptr = getelementptr inbounds i8, i8* %13, i64 %idx.ext + %add.ptr9 = getelementptr inbounds i8, i8* %add.ptr, i64 1 + store i8* %add.ptr9, i8** %retval, align 8 + br label %return + +if.end10: ; preds = %land.lhs.true, %while.body + %15 = load i8**, i8*** %ep, align 8 + %incdec.ptr = getelementptr inbounds i8*, i8** %15, i32 1 + store i8** %incdec.ptr, i8*** %ep, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then8, %if.then + %16 = load i8*, i8** %retval, align 8 + ret i8* %16 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @memmove(i8* nonnull %s1, i8* nonnull %s2, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %p, align 8 + %2 = load i8*, i8** %p, align 8 + %3 = load i8*, i8** %s, align 8 + %cmp = icmp uge i8* %2, %3 + br i1 %cmp, label %while.cond, label %while.cond2 + +while.cond: ; preds = %entry, %while.body + %4 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %4, 0 + br i1 %tobool, label %while.body, label %if.end + +while.body: ; preds = %while.cond + %5 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %6 = load i8, i8* %5, align 1 + %7 = load i8*, i8** %s, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %7, i32 1 + store i8* %incdec.ptr1, i8** %s, align 8 + store i8 %6, i8* %7, align 1 + %8 = load i64, i64* %n.addr, align 8 + %dec = add i64 %8, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.cond2: ; preds = %entry, %while.body4 + %9 = load i64, i64* %n.addr, align 8 + %tobool3 = icmp ne i64 %9, 0 + br i1 %tobool3, label %while.body4, label %if.end + +while.body4: ; preds = %while.cond2 + %10 = load i64, i64* %n.addr, align 8 + %dec5 = add i64 %10, -1 + store i64 %dec5, i64* %n.addr, align 8 + %11 = load i8*, i8** %p, align 8 + %12 = load i64, i64* %n.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %11, i64 %12 + %13 = load i8, i8* %arrayidx, align 1 + %14 = load i8*, i8** %s, align 8 + %15 = load i64, i64* %n.addr, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %14, i64 %15 + store i8 %13, i8* %arrayidx6, align 1 + br label %while.cond2 + +if.end: ; preds = %while.cond2, %while.cond + %16 = load i8*, i8** %s1.addr, align 8 + ret i8* %16 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @mempcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r1 = alloca i8*, align 8 + %r2 = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %r1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %r2, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %2 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load i8*, i8** %r2, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %r2, align 8 + %4 = load i8, i8* %3, align 1 + %5 = load i8*, i8** %r1, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr1, i8** %r1, align 8 + store i8 %4, i8* %5, align 1 + %6 = load i64, i64* %n.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %7 = load i8*, i8** %r1, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @stpcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + br label %while.cond + +while.cond: ; preds = %while.cond, %entry + %0 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %0, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %1 = load i8, i8* %0, align 1 + %2 = load i8*, i8** %s1.addr, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %2, i32 1 + store i8* %incdec.ptr1, i8** %s1.addr, align 8 + store i8 %1, i8* %2, align 1 + %conv = sext i8 %1 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %while.cond, label %while.end + +while.end: ; preds = %while.cond + %3 = load i8*, i8** %s1.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %3, i64 -1 + ret i8* %add.ptr +} + +; Function Attrs: noinline nounwind uwtable +define i8* @strcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + br label %while.cond + +while.cond: ; preds = %while.cond, %entry + %1 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %1, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %2 = load i8, i8* %1, align 1 + %3 = load i8*, i8** %s, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr1, i8** %s, align 8 + store i8 %2, i8* %3, align 1 + %conv = sext i8 %2 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %while.cond, label %while.end + +while.end: ; preds = %while.cond + %4 = load i8*, i8** %s1.addr, align 8 + ret i8* %4 +} + +; Function Attrs: noinline nounwind uwtable +define noalias i8* @strdup(i8* nonnull %s1) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + %l = alloca i64, align 8 + store i8* %s1, i8** %s1.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + %call = call i64 @strlen(i8* %0) #21 + %add = add i64 %call, 1 + %mul = mul i64 %add, 1 + store i64 %mul, i64* %l, align 8 + %1 = load i64, i64* %l, align 8 + %call1 = call noalias i8* @malloc(i64 %1) #20 + store i8* %call1, i8** %s, align 8 + %cmp = icmp ne i8* %call1, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load i8*, i8** %s, align 8 + %3 = load i8*, i8** %s1.addr, align 8 + %4 = load i64, i64* %l, align 8 + %call2 = call i8* @memcpy(i8* %2, i8* %3, i64 %4) #20 + br label %if.end + +if.end: ; preds = %if.then, %entry + %5 = load i8*, i8** %s, align 8 + ret i8* %5 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @strerror(i32 %errnum) #0 { +entry: + %errnum.addr = alloca i32, align 4 + store i32 %errnum, i32* %errnum.addr, align 4 + %0 = load i32, i32* %errnum.addr, align 4 + %call = call i32 @__xpg_strerror_r(i32 %0, i8* getelementptr inbounds ([50 x i8], [50 x i8]* @strerror.buf, i64 0, i64 0), i64 50) #19 + ret i8* getelementptr inbounds ([50 x i8], [50 x i8]* @strerror.buf, i64 0, i64 0) +} + +; Function Attrs: noinline nounwind uwtable +define i64 @wcrtomb(i8* noalias %s, i32 %wc, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %s.addr = alloca i8*, align 8 + %wc.addr = alloca i32, align 4 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %wcbuf = alloca [1 x i32], align 4 + %pwc = alloca i32*, align 8 + %r = alloca i64, align 8 + %buf = alloca [16 x i8], align 16 + store i8* %s, i8** %s.addr, align 8 + store i32 %wc, i32* %wc.addr, align 4 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay, i8** %s.addr, align 8 + store i32 0, i32* %wc.addr, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %arraydecay1 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay1, i32** %pwc, align 8 + %1 = load i32, i32* %wc.addr, align 4 + %arrayidx = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32 %1, i32* %arrayidx, align 4 + %2 = load i8*, i8** %s.addr, align 8 + %3 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @wcsnrtombs(i8* %2, i32** %pwc, i64 1, i64 16, %struct.__mbstate_t.512* %3) #20 + store i64 %call, i64* %r, align 8 + %4 = load i64, i64* %r, align 8 + %cmp = icmp ne i64 %4, 0 + %5 = load i64, i64* %r, align 8 + %cond = select i1 %cmp, i64 %5, i64 1 + ret i64 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i64 @wcsrtombs(i8* noalias %dst, i32** noalias %src, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %dst.addr = alloca i8*, align 8 + %src.addr = alloca i32**, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + store i8* %dst, i8** %dst.addr, align 8 + store i32** %src, i32*** %src.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load i8*, i8** %dst.addr, align 8 + %1 = load i32**, i32*** %src.addr, align 8 + %2 = load i64, i64* %len.addr, align 8 + %3 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @wcsnrtombs(i8* %0, i32** %1, i64 -1, i64 %2, %struct.__mbstate_t.512* %3) #20 + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @iswctype_l(i32 %wc, i32 %desc, %struct.__uclibc_locale_struct.201* %locale) #0 { +entry: + %retval = alloca i32, align 4 + %wc.addr = alloca i32, align 4 + %desc.addr = alloca i32, align 4 + %locale.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %sc = alloca i32, align 4 + %n = alloca i32, align 4 + %i0 = alloca i32, align 4 + %i1 = alloca i32, align 4 + %d = alloca i8, align 1 + store i32 %wc, i32* %wc.addr, align 4 + store i32 %desc, i32* %desc.addr, align 4 + store %struct.__uclibc_locale_struct.201* %locale, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + store i8 0, i8* %d, align 1 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 9 + %1 = load i8, i8* %encoding, align 8 + %conv = zext i8 %1 to i32 + %cmp = icmp ne i32 %conv, 0 + %2 = load i32, i32* %wc.addr, align 4 + %cmp2 = icmp ule i32 %2, 127 + %or.cond = or i1 %cmp, %cmp2 + br i1 %or.cond, label %if.then, label %if.end78 + +if.then: ; preds = %entry + %3 = load i32, i32* %desc.addr, align 4 + %cmp4 = icmp ult i32 %3, 12 + br i1 %cmp4, label %if.then6, label %if.end58 + +if.then6: ; preds = %if.then + %4 = load i32, i32* %wc.addr, align 4 + %cmp7 = icmp ule i32 %4, 196607 + %5 = load i32, i32* %wc.addr, align 4 + br i1 %cmp7, label %if.then9, label %if.else + +if.then9: ; preds = %if.then6 + %and = and i32 %5, 7 + store i32 %and, i32* %sc, align 4 + %6 = load i32, i32* %wc.addr, align 4 + %shr = lshr i32 %6, 3 + store i32 %shr, i32* %wc.addr, align 4 + %7 = load i32, i32* %wc.addr, align 4 + %and10 = and i32 %7, 31 + store i32 %and10, i32* %n, align 4 + %8 = load i32, i32* %wc.addr, align 4 + %shr11 = lshr i32 %8, 5 + store i32 %shr11, i32* %wc.addr, align 4 + %9 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %tblwctype = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %9, i32 0, i32 21 + %10 = load i8*, i8** %tblwctype, align 8 + %11 = load i32, i32* %wc.addr, align 4 + %idxprom = zext i32 %11 to i64 + %arrayidx = getelementptr inbounds i8, i8* %10, i64 %idxprom + %12 = load i8, i8* %arrayidx, align 1 + %conv12 = zext i8 %12 to i32 + store i32 %conv12, i32* %i0, align 4 + %13 = load i32, i32* %i0, align 4 + %shl = shl i32 %13, 5 + store i32 %shl, i32* %i0, align 4 + %14 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %tblwctype13 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %14, i32 0, i32 21 + %15 = load i8*, i8** %tblwctype13, align 8 + %16 = load i32, i32* %i0, align 4 + %add = add i32 768, %16 + %17 = load i32, i32* %n, align 4 + %add14 = add i32 %add, %17 + %idxprom15 = zext i32 %add14 to i64 + %arrayidx16 = getelementptr inbounds i8, i8* %15, i64 %idxprom15 + %18 = load i8, i8* %arrayidx16, align 1 + %conv17 = zext i8 %18 to i32 + store i32 %conv17, i32* %i1, align 4 + %19 = load i32, i32* %i1, align 4 + %shl18 = shl i32 %19, 2 + store i32 %shl18, i32* %i1, align 4 + %20 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %tblwctype19 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %20, i32 0, i32 21 + %21 = load i8*, i8** %tblwctype19, align 8 + %22 = load i32, i32* %i1, align 4 + %add20 = add i32 2656, %22 + %23 = load i32, i32* %sc, align 4 + %shr21 = lshr i32 %23, 1 + %add22 = add i32 %add20, %shr21 + %idxprom23 = zext i32 %add22 to i64 + %arrayidx24 = getelementptr inbounds i8, i8* %21, i64 %idxprom23 + %24 = load i8, i8* %arrayidx24, align 1 + store i8 %24, i8* %d, align 1 + %25 = load i32, i32* %sc, align 4 + %and25 = and i32 %25, 1 + %tobool = icmp ne i32 %and25, 0 + %26 = load i8, i8* %d, align 1 + %conv26 = zext i8 %26 to i32 + %shr27 = ashr i32 %conv26, 4 + %and29 = and i32 %conv26, 15 + %cond = select i1 %tobool, i32 %shr27, i32 %and29 + %conv30 = trunc i32 %cond to i8 + store i8 %conv30, i8* %d, align 1 + br label %if.end50 + +if.else: ; preds = %if.then6 + %conv31 = zext i32 %5 to i64 + %sub = sub i64 %conv31, 917536 + %conv32 = trunc i64 %sub to i32 + %cmp33 = icmp ule i32 %conv32, 95 + br i1 %cmp33, label %if.then49, label %lor.lhs.false35 + +lor.lhs.false35: ; preds = %if.else + %27 = load i32, i32* %wc.addr, align 4 + %conv36 = zext i32 %27 to i64 + %cmp37 = icmp eq i64 %conv36, 917505 + br i1 %cmp37, label %if.then49, label %lor.lhs.false39 + +lor.lhs.false39: ; preds = %lor.lhs.false35 + %28 = load i32, i32* %wc.addr, align 4 + %conv40 = zext i32 %28 to i64 + %sub41 = sub i64 %conv40, 983040 + %conv42 = trunc i64 %sub41 to i32 + %conv43 = zext i32 %conv42 to i64 + %cmp44 = icmp ult i64 %conv43, 131072 + br i1 %cmp44, label %land.lhs.true, label %if.end50 + +land.lhs.true: ; preds = %lor.lhs.false39 + %29 = load i32, i32* %wc.addr, align 4 + %and46 = and i32 %29, 65535 + %cmp47 = icmp ule i32 %and46, 65533 + br i1 %cmp47, label %if.then49, label %if.end50 + +if.then49: ; preds = %land.lhs.true, %lor.lhs.false35, %if.else + store i8 6, i8* %d, align 1 + br label %if.end50 + +if.end50: ; preds = %lor.lhs.false39, %land.lhs.true, %if.then49, %if.then9 + %30 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %code2flag = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %30, i32 0, i32 20 + %31 = load i16*, i16** %code2flag, align 8 + %32 = load i8, i8* %d, align 1 + %idxprom51 = zext i8 %32 to i64 + %arrayidx52 = getelementptr inbounds i16, i16* %31, i64 %idxprom51 + %33 = load i16, i16* %arrayidx52, align 2 + %conv53 = zext i16 %33 to i32 + %34 = load i32, i32* %desc.addr, align 4 + %idxprom54 = zext i32 %34 to i64 + %arrayidx55 = getelementptr inbounds [13 x i16], [13 x i16]* @desc2flag, i64 0, i64 %idxprom54 + %35 = load i16, i16* %arrayidx55, align 2 + %conv56 = zext i16 %35 to i32 + %and57 = and i32 %conv53, %conv56 + store i32 %and57, i32* %retval, align 4 + br label %return + +if.end58: ; preds = %if.then + %36 = load i32, i32* %desc.addr, align 4 + %cmp59 = icmp eq i32 %36, 12 + br i1 %cmp59, label %cond.false68, label %cond.end76 + +cond.false68: ; preds = %if.end58 + %37 = load i32, i32* %wc.addr, align 4 + %sub69 = sub i32 %37, 48 + %cmp70 = icmp ult i32 %sub69, 10 + %38 = load i32, i32* %wc.addr, align 4 + %or = or i32 %38, 32 + %sub72 = sub i32 %or, 97 + %cmp73 = icmp ult i32 %sub72, 6 + %39 = select i1 %cmp70, i1 true, i1 %cmp73 + %lor.ext = zext i1 %39 to i32 + br label %cond.end76 + +cond.end76: ; preds = %if.end58, %cond.false68 + %cond77 = phi i32 [ %lor.ext, %cond.false68 ], [ 0, %if.end58 ] + store i32 %cond77, i32* %retval, align 4 + br label %return + +if.end78: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end78, %cond.end76, %if.end50 + %40 = load i32, i32* %retval, align 4 + ret i32 %40 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_adjust_position(%struct.__STDIO_FILE_STRUCT.636* noalias %stream, i64* %pos) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %pos.addr = alloca i64*, align 8 + %oldpos = alloca i64, align 8 + %corr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64* %pos, i64** %pos.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 3 + store i32 %and, i32* %corr, align 4 + %cmp = icmp ne i32 %and, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load i32, i32* %corr, align 4 + %dec = add nsw i32 %2, -1 + store i32 %dec, i32* %corr, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %3 = load i32, i32* %corr, align 4 + %tobool = icmp ne i32 %3, 0 + br i1 %tobool, label %land.lhs.true, label %if.end22 + +land.lhs.true: ; preds = %if.end + %4 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %4, i32 0, i32 0 + %5 = load i16, i16* %__modeflags2, align 8 + %conv3 = zext i16 %5 to i32 + %and4 = and i32 %conv3, 2048 + %tobool5 = icmp ne i32 %and4, 0 + br i1 %tobool5, label %if.then6, label %if.end22 + +if.then6: ; preds = %land.lhs.true + %6 = load i32, i32* %corr, align 4 + %cmp7 = icmp sgt i32 %6, 1 + br i1 %cmp7, label %if.then10, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then6 + %7 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %7, i32 0, i32 10 + %arrayidx = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot, i64 0, i64 1 + %8 = load i32, i32* %arrayidx, align 4 + %tobool9 = icmp ne i32 %8, 0 + br i1 %tobool9, label %if.then10, label %if.end11 + +if.then10: ; preds = %lor.lhs.false, %if.then6 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end11: ; preds = %lor.lhs.false + %9 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %9, i32 0, i32 1 + %arrayidx12 = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 1 + %10 = load i8, i8* %arrayidx12, align 1 + %conv13 = zext i8 %10 to i32 + %add = add nsw i32 1, %conv13 + %11 = load i32, i32* %corr, align 4 + %sub = sub nsw i32 %11, %add + store i32 %sub, i32* %corr, align 4 + %12 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %12, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + %13 = load i32, i32* %__mask, align 8 + %cmp14 = icmp sgt i32 %13, 0 + br i1 %cmp14, label %if.then16, label %if.end22 + +if.then16: ; preds = %if.end11 + %14 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot_width17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %14, i32 0, i32 1 + %arrayidx18 = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width17, i64 0, i64 0 + %15 = load i8, i8* %arrayidx18, align 2 + %conv19 = zext i8 %15 to i32 + %16 = load i32, i32* %corr, align 4 + %sub20 = sub nsw i32 %16, %conv19 + store i32 %sub20, i32* %corr, align 4 + br label %if.end22 + +if.end22: ; preds = %if.end11, %if.then16, %land.lhs.true, %if.end + %17 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags23 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %17, i32 0, i32 0 + %18 = load i16, i16* %__modeflags23, align 8 + %conv24 = zext i16 %18 to i32 + %and25 = and i32 %conv24, 64 + %tobool26 = icmp ne i32 %and25, 0 + %19 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + br i1 %tobool26, label %cond.true, label %cond.false + +cond.true: ; preds = %if.end22 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %19, i32 0, i32 3 + %20 = load i8*, i8** %__bufstart, align 8 + br label %cond.end + +cond.false: ; preds = %if.end22 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %19, i32 0, i32 6 + %21 = load i8*, i8** %__bufread, align 8 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i8* [ %20, %cond.true ], [ %21, %cond.false ] + %22 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %22, i32 0, i32 5 + %23 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %cond to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %23 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %24 = load i32, i32* %corr, align 4 + %conv27 = sext i32 %24 to i64 + %add28 = add nsw i64 %conv27, %sub.ptr.sub + %conv29 = trunc i64 %add28 to i32 + store i32 %conv29, i32* %corr, align 4 + %25 = load i64*, i64** %pos.addr, align 8 + %26 = load i64, i64* %25, align 8 + store i64 %26, i64* %oldpos, align 8 + %27 = load i32, i32* %corr, align 4 + %conv30 = sext i32 %27 to i64 + %28 = load i64*, i64** %pos.addr, align 8 + %29 = load i64, i64* %28, align 8 + %sub31 = sub nsw i64 %29, %conv30 + store i64 %sub31, i64* %28, align 8 + %30 = load i64, i64* %oldpos, align 8 + %cmp32 = icmp sgt i64 %sub31, %30 + br i1 %cmp32, label %if.then34, label %if.end36 + +if.then34: ; preds = %cond.end + %31 = load i32, i32* %corr, align 4 + %sub35 = sub nsw i32 0, %31 + store i32 %sub35, i32* %corr, align 4 + br label %if.end36 + +if.end36: ; preds = %if.then34, %cond.end + %32 = load i32, i32* %corr, align 4 + %cmp37 = icmp slt i32 %32, 0 + br i1 %cmp37, label %if.then39, label %if.end40 + +if.then39: ; preds = %if.end36 + store i32 75, i32* @errno, align 4 + br label %if.end40 + +if.end40: ; preds = %if.then39, %if.end36 + %33 = load i32, i32* %corr, align 4 + store i32 %33, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end40, %if.then10 + %34 = load i32, i32* %retval, align 4 + ret i32 %34 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_seek(%struct.__STDIO_FILE_STRUCT.636* %stream, i64* %pos, i32 %whence) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %pos.addr = alloca i64*, align 8 + %whence.addr = alloca i32, align 4 + %res = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64* %pos, i64** %pos.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %0, i32 0, i32 2 + %1 = load i32, i32* %__filedes, align 4 + %2 = load i64*, i64** %pos.addr, align 8 + %3 = load i64, i64* %2, align 8 + %4 = load i32, i32* %whence.addr, align 4 + %call = call i64 @lseek64(i32 %1, i64 %3, i32 %4) #20 + store i64 %call, i64* %res, align 8 + %5 = load i64, i64* %res, align 8 + %cmp = icmp sge i64 %5, 0 + %6 = load i64, i64* %res, align 8 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %entry + %7 = load i64*, i64** %pos.addr, align 8 + store i64 %6, i64* %7, align 8 + br label %cond.end + +cond.false: ; preds = %entry + %conv = trunc i64 %6 to i32 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ 0, %cond.true ], [ %conv, %cond.false ] + ret i32 %cond +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_fpmaxtostr(%struct.__STDIO_FILE_STRUCT.568* %fp, double %x, %struct.printf_info.720* %info, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)* %fp_outfunc) #0 { +entry: + %retval = alloca i64, align 8 + %fp.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %x.addr = alloca double, align 8 + %info.addr = alloca %struct.printf_info.720*, align 8 + %fp_outfunc.addr = alloca i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)*, align 8 + %round = alloca i32, align 4 + %o_exp = alloca i32, align 4 + %exp = alloca i32, align 4 + %width = alloca i32, align 4 + %preci = alloca i32, align 4 + %cnt = alloca i32, align 4 + %s = alloca i8*, align 8 + %e = alloca i8*, align 8 + %pc_fwi = alloca [24 x i64], align 16 + %ppc = alloca i64*, align 8 + %ppc_last = alloca i64*, align 8 + %exp_buf = alloca [16 x i8], align 16 + %buf = alloca [21 x i8], align 16 + %sign_str = alloca [6 x i8], align 1 + %o_mode = alloca i8, align 1 + %mode = alloca i8, align 1 + %i = alloca i32, align 4 + %j = alloca i32, align 4 + %exp_neg = alloca i32, align 4 + %i92 = alloca i32, align 4 + %j93 = alloca i32, align 4 + %digit_block = alloca i64, align 8 + %i151 = alloca i32, align 4 + %i218 = alloca i32, align 4 + %p = alloca i8*, align 8 + %j329 = alloca i32, align 4 + %exp_char = alloca i8, align 1 + %exp_sign = alloca i8, align 1 + %i359 = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %fp, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + store double %x, double* %x.addr, align 8 + store %struct.printf_info.720* %info, %struct.printf_info.720** %info.addr, align 8 + store i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)* %fp_outfunc, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)** %fp_outfunc.addr, align 8 + %0 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %width1 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %0, i32 0, i32 1 + %1 = load i32, i32* %width1, align 4 + store i32 %1, i32* %width, align 4 + %2 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %2, i32 0, i32 0 + %3 = load i32, i32* %prec, align 4 + store i32 %3, i32* %preci, align 4 + %4 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %spec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %4, i32 0, i32 2 + %5 = load i32, i32* %spec, align 4 + %conv = trunc i32 %5 to i8 + store i8 %conv, i8* %mode, align 1 + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + store i8 101, i8* %arraydecay, align 16 + %6 = load i8, i8* %mode, align 1 + %conv2 = sext i8 %6 to i32 + %or = or i32 %conv2, 32 + %cmp = icmp eq i32 %or, 97 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %7 = load i8, i8* %mode, align 1 + %conv4 = sext i8 %7 to i32 + %add = add nsw i32 %conv4, 6 + %conv5 = trunc i32 %add to i8 + store i8 %conv5, i8* %mode, align 1 + br label %if.end + +if.end: ; preds = %if.then, %entry + %8 = load i32, i32* %preci, align 4 + %cmp6 = icmp slt i32 %8, 0 + br i1 %cmp6, label %if.then8, label %if.end9 + +if.then8: ; preds = %if.end + store i32 6, i32* %preci, align 4 + br label %if.end9 + +if.end9: ; preds = %if.then8, %if.end + %arraydecay10 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 0, i8* %arraydecay10, align 1 + %9 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %showsign = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %9, i32 0, i32 3 + %bf.load = load i32, i32* %showsign, align 4 + %bf.lshr = lshr i32 %bf.load, 1 + %bf.clear = and i32 %bf.lshr, 1 + %tobool = icmp ne i32 %bf.clear, 0 + br i1 %tobool, label %if.then11, label %if.else + +if.then11: ; preds = %if.end9 + %arraydecay12 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 43, i8* %arraydecay12, align 1 + br label %if.end19 + +if.else: ; preds = %if.end9 + %10 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %space = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %10, i32 0, i32 3 + %bf.load13 = load i32, i32* %space, align 4 + %bf.clear14 = and i32 %bf.load13, 1 + %tobool15 = icmp ne i32 %bf.clear14, 0 + br i1 %tobool15, label %if.then16, label %if.end19 + +if.then16: ; preds = %if.else + %arraydecay17 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 32, i8* %arraydecay17, align 1 + br label %if.end19 + +if.end19: ; preds = %if.else, %if.then16, %if.then11 + %arraydecay20 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay20, i64 1 + store i8 0, i8* %add.ptr, align 1 + %arrayidx = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 0, i64* %arrayidx, align 8 + %11 = load double, double* %x.addr, align 8 + %12 = load double, double* %x.addr, align 8 + %cmp21 = fcmp une double %11, %12 + br i1 %cmp21, label %if.then23, label %if.end25 + +if.then23: ; preds = %if.end19 + %arrayidx24 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 8, i64* %arrayidx24, align 8 + br label %INF_NAN + +if.end25: ; preds = %if.end19 + %13 = load double, double* %x.addr, align 8 + %cmp26 = fcmp oeq double %13, 0.000000e+00 + %14 = load double, double* %x.addr, align 8 + br i1 %cmp26, label %if.then28, label %if.end34 + +if.then28: ; preds = %if.end25 + %div = fdiv double 1.000000e+00, %14 + %cmp29 = fcmp olt double %div, 0.000000e+00 + br i1 %cmp29, label %if.then31, label %if.end33 + +if.then31: ; preds = %if.then28 + %arraydecay32 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 45, i8* %arraydecay32, align 1 + br label %if.end33 + +if.end33: ; preds = %if.then31, %if.then28 + store i32 -1, i32* %exp, align 4 + br label %GENERATE_DIGITS + +if.end34: ; preds = %if.end25 + %cmp35 = fcmp olt double %14, 0.000000e+00 + br i1 %cmp35, label %if.then37, label %if.end39 + +if.then37: ; preds = %if.end34 + %arraydecay38 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 45, i8* %arraydecay38, align 1 + %15 = load double, double* %x.addr, align 8 + %fneg = fneg double %15 + store double %fneg, double* %x.addr, align 8 + br label %if.end39 + +if.end39: ; preds = %if.then37, %if.end34 + %16 = load double, double* %x.addr, align 8 + %17 = load double, double* %x.addr, align 8 + %div40 = fdiv double %17, 4.000000e+00 + %cmp41 = fcmp oeq double %16, %div40 + br i1 %cmp41, label %INF_NAN, label %if.end58 + +INF_NAN: ; preds = %if.end39, %if.then23 + %18 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %18, i32 0, i32 4 + store i32 32, i32* %pad, align 4 + %arraydecay44 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + %add.ptr45 = getelementptr inbounds i64, i64* %arraydecay44, i64 6 + store i64* %add.ptr45, i64** %ppc, align 8 + %arrayidx46 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 3 + store i64 112, i64* %arrayidx46, align 8 + %arrayidx47 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 4 + store i64 3, i64* %arrayidx47, align 16 + %19 = load i8, i8* %mode, align 1 + %conv48 = sext i8 %19 to i32 + %cmp49 = icmp slt i32 %conv48, 97 + br i1 %cmp49, label %if.then51, label %if.end54 + +if.then51: ; preds = %INF_NAN + %arrayidx52 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + %20 = load i64, i64* %arrayidx52, align 8 + %add53 = add nsw i64 %20, 4 + store i64 %add53, i64* %arrayidx52, align 8 + br label %if.end54 + +if.end54: ; preds = %if.then51, %INF_NAN + %arrayidx55 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + %21 = load i64, i64* %arrayidx55, align 8 + %add.ptr56 = getelementptr inbounds i8, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 0), i64 %21 + %22 = ptrtoint i8* %add.ptr56 to i64 + %arrayidx57 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 %22, i64* %arrayidx57, align 8 + br label %EXIT_SPECIAL + +if.end58: ; preds = %if.end39 + store i32 8, i32* %exp, align 4 + store i32 9, i32* %i, align 4 + store i32 256, i32* %j, align 4 + store i32 0, i32* %exp_neg, align 4 + %23 = load double, double* %x.addr, align 8 + %cmp59 = fcmp olt double %23, 1.000000e+08 + br i1 %cmp59, label %if.then61, label %if.end62 + +if.then61: ; preds = %if.end58 + store i32 1, i32* %exp_neg, align 4 + br label %if.end62 + +if.end62: ; preds = %if.then61, %if.end58 + br label %do.body + +do.body: ; preds = %if.end85, %if.end62 + %24 = load i32, i32* %i, align 4 + %dec = add nsw i32 %24, -1 + store i32 %dec, i32* %i, align 4 + %25 = load i32, i32* %exp_neg, align 4 + %tobool63 = icmp ne i32 %25, 0 + %26 = load double, double* %x.addr, align 8 + %27 = load i32, i32* %i, align 4 + %idxprom = sext i32 %27 to i64 + %arrayidx65 = getelementptr inbounds [9 x double], [9 x double]* @exp10_table, i64 0, i64 %idxprom + %28 = load double, double* %arrayidx65, align 8 + br i1 %tobool63, label %if.then64, label %if.else73 + +if.then64: ; preds = %do.body + %mul = fmul double %26, %28 + %cmp66 = fcmp olt double %mul, 1.000000e+09 + br i1 %cmp66, label %if.then68, label %if.end85 + +if.then68: ; preds = %if.then64 + %29 = load i32, i32* %i, align 4 + %idxprom69 = sext i32 %29 to i64 + %arrayidx70 = getelementptr inbounds [9 x double], [9 x double]* @exp10_table, i64 0, i64 %idxprom69 + %30 = load double, double* %arrayidx70, align 8 + %31 = load double, double* %x.addr, align 8 + %mul71 = fmul double %31, %30 + store double %mul71, double* %x.addr, align 8 + %32 = load i32, i32* %j, align 4 + %33 = load i32, i32* %exp, align 4 + %sub = sub nsw i32 %33, %32 + store i32 %sub, i32* %exp, align 4 + br label %if.end85 + +if.else73: ; preds = %do.body + %div76 = fdiv double %26, %28 + %cmp77 = fcmp oge double %div76, 1.000000e+08 + br i1 %cmp77, label %if.then79, label %if.end85 + +if.then79: ; preds = %if.else73 + %34 = load i32, i32* %i, align 4 + %idxprom80 = sext i32 %34 to i64 + %arrayidx81 = getelementptr inbounds [9 x double], [9 x double]* @exp10_table, i64 0, i64 %idxprom80 + %35 = load double, double* %arrayidx81, align 8 + %36 = load double, double* %x.addr, align 8 + %div82 = fdiv double %36, %35 + store double %div82, double* %x.addr, align 8 + %37 = load i32, i32* %j, align 4 + %38 = load i32, i32* %exp, align 4 + %add83 = add nsw i32 %38, %37 + store i32 %add83, i32* %exp, align 4 + br label %if.end85 + +if.end85: ; preds = %if.else73, %if.then79, %if.then64, %if.then68 + %39 = load i32, i32* %j, align 4 + %shr = ashr i32 %39, 1 + store i32 %shr, i32* %j, align 4 + %40 = load i32, i32* %i, align 4 + %tobool86 = icmp ne i32 %40, 0 + br i1 %tobool86, label %do.body, label %do.end + +do.end: ; preds = %if.end85 + %41 = load double, double* %x.addr, align 8 + %cmp87 = fcmp oge double %41, 1.000000e+09 + br i1 %cmp87, label %if.then89, label %GENERATE_DIGITS + +if.then89: ; preds = %do.end + %42 = load double, double* getelementptr inbounds ([9 x double], [9 x double]* @exp10_table, i64 0, i64 0), align 16 + %43 = load double, double* %x.addr, align 8 + %div90 = fdiv double %43, %42 + store double %div90, double* %x.addr, align 8 + %44 = load i32, i32* %exp, align 4 + %inc = add nsw i32 %44, 1 + store i32 %inc, i32* %exp, align 4 + br label %GENERATE_DIGITS + +GENERATE_DIGITS: ; preds = %do.end, %if.then89, %if.end33 + %arraydecay94 = getelementptr inbounds [21 x i8], [21 x i8]* %buf, i64 0, i64 0 + %add.ptr95 = getelementptr inbounds i8, i8* %arraydecay94, i64 2 + store i8* %add.ptr95, i8** %s, align 8 + store i32 0, i32* %i92, align 4 + br label %do.body96 + +do.body96: ; preds = %do.cond114, %GENERATE_DIGITS + %45 = load double, double* %x.addr, align 8 + %conv97 = fptoui double %45 to i64 + store i64 %conv97, i64* %digit_block, align 8 + %46 = load double, double* %x.addr, align 8 + %47 = load i64, i64* %digit_block, align 8 + %conv98 = uitofp i64 %47 to double + %sub99 = fsub double %46, %conv98 + %mul100 = fmul double %sub99, 1.000000e+09 + store double %mul100, double* %x.addr, align 8 + %48 = load i8*, i8** %s, align 8 + %add.ptr101 = getelementptr inbounds i8, i8* %48, i64 9 + store i8* %add.ptr101, i8** %s, align 8 + store i32 0, i32* %j93, align 4 + br label %do.body102 + +do.body102: ; preds = %do.body102, %do.body96 + %49 = load i64, i64* %digit_block, align 8 + %rem = urem i64 %49, 10 + %add103 = add i64 48, %rem + %conv104 = trunc i64 %add103 to i8 + %50 = load i8*, i8** %s, align 8 + %51 = load i32, i32* %j93, align 4 + %inc105 = add nsw i32 %51, 1 + store i32 %inc105, i32* %j93, align 4 + %sub106 = sub nsw i32 0, %inc105 + %idxprom107 = sext i32 %sub106 to i64 + %arrayidx108 = getelementptr inbounds i8, i8* %50, i64 %idxprom107 + store i8 %conv104, i8* %arrayidx108, align 1 + %52 = load i64, i64* %digit_block, align 8 + %div109 = udiv i64 %52, 10 + store i64 %div109, i64* %digit_block, align 8 + %53 = load i32, i32* %j93, align 4 + %cmp111 = icmp slt i32 %53, 9 + br i1 %cmp111, label %do.body102, label %do.cond114 + +do.cond114: ; preds = %do.body102 + %54 = load i32, i32* %i92, align 4 + %inc115 = add nsw i32 %54, 1 + store i32 %inc115, i32* %i92, align 4 + %cmp116 = icmp slt i32 %inc115, 2 + br i1 %cmp116, label %do.body96, label %do.end118 + +do.end118: ; preds = %do.cond114 + %55 = load i8, i8* %mode, align 1 + %conv119 = sext i8 %55 to i32 + %cmp120 = icmp slt i32 %conv119, 97 + br i1 %cmp120, label %if.then122, label %if.end130 + +if.then122: ; preds = %do.end118 + %arraydecay123 = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + %56 = load i8, i8* %arraydecay123, align 16 + %conv124 = sext i8 %56 to i32 + %sub125 = sub nsw i32 %conv124, 32 + %conv126 = trunc i32 %sub125 to i8 + store i8 %conv126, i8* %arraydecay123, align 16 + %57 = load i8, i8* %mode, align 1 + %conv127 = sext i8 %57 to i32 + %add128 = add nsw i32 %conv127, 32 + %conv129 = trunc i32 %add128 to i8 + store i8 %conv129, i8* %mode, align 1 + br label %if.end130 + +if.end130: ; preds = %if.then122, %do.end118 + %58 = load i8, i8* %mode, align 1 + store i8 %58, i8* %o_mode, align 1 + %59 = load i8, i8* %mode, align 1 + %conv131 = sext i8 %59 to i32 + %cmp132 = icmp eq i32 %conv131, 103 + %60 = load i32, i32* %preci, align 4 + %cmp134 = icmp sgt i32 %60, 0 + %or.cond = and i1 %cmp132, %cmp134 + br i1 %or.cond, label %if.then136, label %if.end138 + +if.then136: ; preds = %if.end130 + %61 = load i32, i32* %preci, align 4 + %dec137 = add nsw i32 %61, -1 + store i32 %dec137, i32* %preci, align 4 + br label %if.end138 + +if.end138: ; preds = %if.then136, %if.end130 + %62 = load i32, i32* %preci, align 4 + store i32 %62, i32* %round, align 4 + %63 = load i8, i8* %mode, align 1 + %conv139 = sext i8 %63 to i32 + %cmp140 = icmp eq i32 %conv139, 102 + br i1 %cmp140, label %if.then142, label %if.end149 + +if.then142: ; preds = %if.end138 + %64 = load i32, i32* %exp, align 4 + %65 = load i32, i32* %round, align 4 + %add143 = add nsw i32 %65, %64 + store i32 %add143, i32* %round, align 4 + %66 = load i32, i32* %round, align 4 + %cmp144 = icmp slt i32 %66, -1 + br i1 %cmp144, label %if.then146, label %if.end149 + +if.then146: ; preds = %if.then142 + %arraydecay147 = getelementptr inbounds [21 x i8], [21 x i8]* %buf, i64 0, i64 0 + %call = call i8* @memset(i8* %arraydecay147, i32 48, i64 17) #20 + store i32 -1, i32* %exp, align 4 + store i32 -1, i32* %round, align 4 + br label %if.end149 + +if.end149: ; preds = %if.then142, %if.then146, %if.end138 + %arraydecay150 = getelementptr inbounds [21 x i8], [21 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay150, i8** %s, align 8 + %67 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %67, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + store i8 0, i8* %67, align 1 + %68 = load i8*, i8** %s, align 8 + store i8 48, i8* %68, align 1 + store i32 0, i32* %i151, align 4 + %69 = load i8*, i8** %s, align 8 + %add.ptr152 = getelementptr inbounds i8, i8* %69, i64 17 + %add.ptr153 = getelementptr inbounds i8, i8* %add.ptr152, i64 1 + store i8* %add.ptr153, i8** %e, align 8 + %70 = load i32, i32* %round, align 4 + %cmp154 = icmp slt i32 %70, 17 + br i1 %cmp154, label %if.then156, label %if.end164 + +if.then156: ; preds = %if.end149 + %71 = load i8*, i8** %s, align 8 + %72 = load i32, i32* %round, align 4 + %idx.ext = sext i32 %72 to i64 + %add.ptr157 = getelementptr inbounds i8, i8* %71, i64 %idx.ext + %add.ptr158 = getelementptr inbounds i8, i8* %add.ptr157, i64 2 + store i8* %add.ptr158, i8** %e, align 8 + %73 = load i8*, i8** %e, align 8 + %74 = load i8, i8* %73, align 1 + %conv159 = sext i8 %74 to i32 + %cmp160 = icmp sge i32 %conv159, 53 + br i1 %cmp160, label %if.then162, label %if.end164 + +if.then162: ; preds = %if.then156 + store i32 1, i32* %i151, align 4 + br label %if.end164 + +if.end164: ; preds = %if.then156, %if.then162, %if.end149 + br label %do.body165 + +do.body165: ; preds = %do.body165, %lor.rhs, %if.end164 + %75 = load i32, i32* %i151, align 4 + %76 = load i8*, i8** %e, align 8 + %incdec.ptr166 = getelementptr inbounds i8, i8* %76, i32 -1 + store i8* %incdec.ptr166, i8** %e, align 8 + %77 = load i8, i8* %incdec.ptr166, align 1 + %conv167 = sext i8 %77 to i32 + %add168 = add nsw i32 %conv167, %75 + %conv169 = trunc i32 %add168 to i8 + store i8 %conv169, i8* %incdec.ptr166, align 1 + %78 = load i8*, i8** %e, align 8 + %79 = load i8, i8* %78, align 1 + %conv171 = sext i8 %79 to i32 + %cmp172 = icmp eq i32 %conv171, 48 + br i1 %cmp172, label %do.body165, label %lor.rhs + +lor.rhs: ; preds = %do.body165 + %80 = load i8*, i8** %e, align 8 + %81 = load i8, i8* %80, align 1 + %conv174 = sext i8 %81 to i32 + %cmp175 = icmp sgt i32 %conv174, 57 + br i1 %cmp175, label %do.body165, label %do.end177 + +do.end177: ; preds = %lor.rhs + %82 = load i32, i32* %exp, align 4 + store i32 %82, i32* %o_exp, align 4 + %83 = load i8*, i8** %e, align 8 + %84 = load i8*, i8** %s, align 8 + %cmp178 = icmp ule i8* %83, %84 + br i1 %cmp178, label %if.then180, label %if.else182 + +if.then180: ; preds = %do.end177 + %85 = load i32, i32* %o_exp, align 4 + %inc181 = add nsw i32 %85, 1 + store i32 %inc181, i32* %o_exp, align 4 + %86 = load i8*, i8** %s, align 8 + store i8* %86, i8** %e, align 8 + br label %if.end184 + +if.else182: ; preds = %do.end177 + %87 = load i8*, i8** %s, align 8 + %incdec.ptr183 = getelementptr inbounds i8, i8* %87, i32 1 + store i8* %incdec.ptr183, i8** %s, align 8 + br label %if.end184 + +if.end184: ; preds = %if.else182, %if.then180 + %88 = load i8*, i8** %e, align 8 + %incdec.ptr185 = getelementptr inbounds i8, i8* %88, i32 1 + store i8* %incdec.ptr185, i8** %e, align 8 + store i8 0, i8* %incdec.ptr185, align 1 + %89 = load i8, i8* %mode, align 1 + %conv186 = sext i8 %89 to i32 + %cmp187 = icmp eq i32 %conv186, 103 + %90 = load i32, i32* %o_exp, align 4 + %cmp190 = icmp sge i32 %90, -4 + %or.cond1 = and i1 %cmp187, %cmp190 + br i1 %or.cond1, label %land.lhs.true192, label %if.end197 + +land.lhs.true192: ; preds = %if.end184 + %91 = load i32, i32* %o_exp, align 4 + %92 = load i32, i32* %round, align 4 + %cmp193 = icmp sle i32 %91, %92 + br i1 %cmp193, label %if.then195, label %if.end197 + +if.then195: ; preds = %land.lhs.true192 + store i8 102, i8* %mode, align 1 + %93 = load i32, i32* %round, align 4 + %94 = load i32, i32* %o_exp, align 4 + %sub196 = sub nsw i32 %93, %94 + store i32 %sub196, i32* %preci, align 4 + br label %if.end197 + +if.end197: ; preds = %if.then195, %land.lhs.true192, %if.end184 + %95 = load i32, i32* %o_exp, align 4 + store i32 %95, i32* %exp, align 4 + %96 = load i8, i8* %mode, align 1 + %conv198 = sext i8 %96 to i32 + %cmp199 = icmp ne i32 %conv198, 102 + br i1 %cmp199, label %if.then201, label %if.end202 + +if.then201: ; preds = %if.end197 + store i32 0, i32* %o_exp, align 4 + br label %if.end202 + +if.end202: ; preds = %if.then201, %if.end197 + %97 = load i32, i32* %o_exp, align 4 + %cmp203 = icmp slt i32 %97, 0 + br i1 %cmp203, label %if.then205, label %if.end207 + +if.then205: ; preds = %if.end202 + %98 = load i8*, i8** %s, align 8 + %incdec.ptr206 = getelementptr inbounds i8, i8* %98, i32 -1 + store i8* %incdec.ptr206, i8** %s, align 8 + store i8 48, i8* %incdec.ptr206, align 1 + br label %if.end207 + +if.end207: ; preds = %if.then205, %if.end202 + %arrayidx208 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 3 + store i64 176, i64* %arrayidx208, align 8 + %arrayidx209 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 4 + store i64 1, i64* %arrayidx209, align 16 + %arraydecay210 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %add.ptr211 = getelementptr inbounds i8, i8* %arraydecay210, i64 4 + %99 = ptrtoint i8* %add.ptr211 to i64 + %arrayidx212 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 %99, i64* %arrayidx212, align 8 + %100 = load i8*, i8** %s, align 8 + %incdec.ptr213 = getelementptr inbounds i8, i8* %100, i32 1 + store i8* %incdec.ptr213, i8** %s, align 8 + %101 = load i8, i8* %100, align 1 + %arrayidx214 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 4 + store i8 %101, i8* %arrayidx214, align 1 + %arrayidx215 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 5 + store i8 0, i8* %arrayidx215, align 1 + %arraydecay216 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + %add.ptr217 = getelementptr inbounds i64, i64* %arraydecay216, i64 6 + store i64* %add.ptr217, i64** %ppc, align 8 + %102 = load i8*, i8** %e, align 8 + %103 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %102 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %103 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %conv219 = trunc i64 %sub.ptr.sub to i32 + store i32 %conv219, i32* %i218, align 4 + %104 = load i32, i32* %o_exp, align 4 + %cmp220 = icmp sge i32 %104, 0 + br i1 %cmp220, label %if.then222, label %if.end253 + +if.then222: ; preds = %if.end207 + %105 = load i64*, i64** %ppc, align 8 + %arrayidx223 = getelementptr inbounds i64, i64* %105, i64 0 + store i64 112, i64* %arrayidx223, align 8 + %106 = load i8*, i8** %s, align 8 + %107 = ptrtoint i8* %106 to i64 + %108 = load i64*, i64** %ppc, align 8 + %arrayidx224 = getelementptr inbounds i64, i64* %108, i64 2 + store i64 %107, i64* %arrayidx224, align 8 + %109 = load i32, i32* %o_exp, align 4 + %110 = load i32, i32* %i218, align 4 + %cmp225 = icmp sge i32 %109, %110 + br i1 %cmp225, label %if.then227, label %if.else241 + +if.then227: ; preds = %if.then222 + %111 = load i32, i32* %i218, align 4 + %conv228 = sext i32 %111 to i64 + %112 = load i64*, i64** %ppc, align 8 + %arrayidx229 = getelementptr inbounds i64, i64* %112, i64 1 + store i64 %conv228, i64* %arrayidx229, align 8 + %113 = load i64*, i64** %ppc, align 8 + %add.ptr230 = getelementptr inbounds i64, i64* %113, i64 3 + store i64* %add.ptr230, i64** %ppc, align 8 + %114 = load i32, i32* %i218, align 4 + %115 = load i32, i32* %o_exp, align 4 + %sub231 = sub nsw i32 %115, %114 + store i32 %sub231, i32* %o_exp, align 4 + store i32 0, i32* %i218, align 4 + %116 = load i32, i32* %o_exp, align 4 + %cmp232 = icmp sgt i32 %116, 0 + br i1 %cmp232, label %if.then234, label %if.end252 + +if.then234: ; preds = %if.then227 + %117 = load i64*, i64** %ppc, align 8 + %arrayidx235 = getelementptr inbounds i64, i64* %117, i64 0 + store i64 176, i64* %arrayidx235, align 8 + %118 = load i32, i32* %o_exp, align 4 + %conv236 = sext i32 %118 to i64 + %119 = load i64*, i64** %ppc, align 8 + %arrayidx237 = getelementptr inbounds i64, i64* %119, i64 1 + store i64 %conv236, i64* %arrayidx237, align 8 + %120 = load i64*, i64** %ppc, align 8 + %arrayidx238 = getelementptr inbounds i64, i64* %120, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx238, align 8 + %121 = load i64*, i64** %ppc, align 8 + %add.ptr239 = getelementptr inbounds i64, i64* %121, i64 3 + store i64* %add.ptr239, i64** %ppc, align 8 + br label %if.end252 + +if.else241: ; preds = %if.then222 + %122 = load i32, i32* %o_exp, align 4 + %cmp242 = icmp sgt i32 %122, 0 + br i1 %cmp242, label %if.then244, label %if.end252 + +if.then244: ; preds = %if.else241 + %123 = load i32, i32* %o_exp, align 4 + %conv245 = sext i32 %123 to i64 + %124 = load i64*, i64** %ppc, align 8 + %arrayidx246 = getelementptr inbounds i64, i64* %124, i64 1 + store i64 %conv245, i64* %arrayidx246, align 8 + %125 = load i64*, i64** %ppc, align 8 + %add.ptr247 = getelementptr inbounds i64, i64* %125, i64 3 + store i64* %add.ptr247, i64** %ppc, align 8 + %126 = load i32, i32* %o_exp, align 4 + %127 = load i8*, i8** %s, align 8 + %idx.ext248 = sext i32 %126 to i64 + %add.ptr249 = getelementptr inbounds i8, i8* %127, i64 %idx.ext248 + store i8* %add.ptr249, i8** %s, align 8 + %128 = load i32, i32* %o_exp, align 4 + %129 = load i32, i32* %i218, align 4 + %sub250 = sub nsw i32 %129, %128 + store i32 %sub250, i32* %i218, align 4 + br label %if.end252 + +if.end252: ; preds = %if.else241, %if.then244, %if.then227, %if.then234 + store i32 -1, i32* %o_exp, align 4 + br label %if.end253 + +if.end253: ; preds = %if.end252, %if.end207 + %130 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %alt = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %130, i32 0, i32 3 + %bf.load254 = load i32, i32* %alt, align 4 + %bf.lshr255 = lshr i32 %bf.load254, 4 + %bf.clear256 = and i32 %bf.lshr255, 1 + %tobool257 = icmp ne i32 %bf.clear256, 0 + %131 = load i32, i32* %i218, align 4 + %tobool258 = icmp ne i32 %131, 0 + %or.cond2 = or i1 %tobool257, %tobool258 + br i1 %or.cond2, label %if.then266, label %lor.lhs.false259 + +lor.lhs.false259: ; preds = %if.end253 + %132 = load i8, i8* %o_mode, align 1 + %conv260 = sext i8 %132 to i32 + %cmp261 = icmp ne i32 %conv260, 103 + %133 = load i32, i32* %preci, align 4 + %cmp264 = icmp sgt i32 %133, 0 + %or.cond3 = and i1 %cmp261, %cmp264 + br i1 %or.cond3, label %if.then266, label %if.end281 + +if.then266: ; preds = %lor.lhs.false259, %if.end253 + %134 = load i64*, i64** %ppc, align 8 + %arrayidx267 = getelementptr inbounds i64, i64* %134, i64 0 + store i64 112, i64* %arrayidx267, align 8 + %135 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %wide = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %135, i32 0, i32 3 + %bf.load268 = load i32, i32* %wide, align 4 + %bf.lshr269 = lshr i32 %bf.load268, 7 + %bf.clear270 = and i32 %bf.lshr269, 1 + %tobool271 = icmp ne i32 %bf.clear270, 0 + br i1 %tobool271, label %if.then272, label %if.else275 + +if.then272: ; preds = %if.then266 + %136 = load i64*, i64** %ppc, align 8 + %arrayidx273 = getelementptr inbounds i64, i64* %136, i64 1 + store i64 1, i64* %arrayidx273, align 8 + %137 = load i64*, i64** %ppc, align 8 + %arrayidx274 = getelementptr inbounds i64, i64* %137, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 16) to i64), i64* %arrayidx274, align 8 + br label %if.end279 + +if.else275: ; preds = %if.then266 + %138 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %decimal_point_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %138, i32 0, i32 26 + %139 = load i32, i32* %decimal_point_len, align 8 + %conv276 = sext i32 %139 to i64 + %140 = load i64*, i64** %ppc, align 8 + %arrayidx277 = getelementptr inbounds i64, i64* %140, i64 1 + store i64 %conv276, i64* %arrayidx277, align 8 + %141 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %decimal_point = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %141, i32 0, i32 39 + %142 = load i8*, i8** %decimal_point, align 8 + %143 = ptrtoint i8* %142 to i64 + %144 = load i64*, i64** %ppc, align 8 + %arrayidx278 = getelementptr inbounds i64, i64* %144, i64 2 + store i64 %143, i64* %arrayidx278, align 8 + br label %if.end279 + +if.end279: ; preds = %if.else275, %if.then272 + %145 = load i64*, i64** %ppc, align 8 + %add.ptr280 = getelementptr inbounds i64, i64* %145, i64 3 + store i64* %add.ptr280, i64** %ppc, align 8 + br label %if.end281 + +if.end281: ; preds = %if.end279, %lor.lhs.false259 + %146 = load i32, i32* %o_exp, align 4 + %inc282 = add nsw i32 %146, 1 + store i32 %inc282, i32* %o_exp, align 4 + %cmp283 = icmp slt i32 %inc282, 0 + br i1 %cmp283, label %if.then285, label %if.end292 + +if.then285: ; preds = %if.end281 + %147 = load i64*, i64** %ppc, align 8 + %arrayidx286 = getelementptr inbounds i64, i64* %147, i64 0 + store i64 176, i64* %arrayidx286, align 8 + %148 = load i32, i32* %o_exp, align 4 + %sub287 = sub nsw i32 0, %148 + %conv288 = sext i32 %sub287 to i64 + %149 = load i64*, i64** %ppc, align 8 + %arrayidx289 = getelementptr inbounds i64, i64* %149, i64 1 + store i64 %conv288, i64* %arrayidx289, align 8 + %150 = load i64*, i64** %ppc, align 8 + %arrayidx290 = getelementptr inbounds i64, i64* %150, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx290, align 8 + %151 = load i64*, i64** %ppc, align 8 + %add.ptr291 = getelementptr inbounds i64, i64* %151, i64 3 + store i64* %add.ptr291, i64** %ppc, align 8 + br label %if.end292 + +if.end292: ; preds = %if.then285, %if.end281 + %152 = load i32, i32* %i218, align 4 + %tobool293 = icmp ne i32 %152, 0 + br i1 %tobool293, label %if.then294, label %if.end300 + +if.then294: ; preds = %if.end292 + %153 = load i64*, i64** %ppc, align 8 + %arrayidx295 = getelementptr inbounds i64, i64* %153, i64 0 + store i64 112, i64* %arrayidx295, align 8 + %154 = load i32, i32* %i218, align 4 + %conv296 = sext i32 %154 to i64 + %155 = load i64*, i64** %ppc, align 8 + %arrayidx297 = getelementptr inbounds i64, i64* %155, i64 1 + store i64 %conv296, i64* %arrayidx297, align 8 + %156 = load i8*, i8** %s, align 8 + %157 = ptrtoint i8* %156 to i64 + %158 = load i64*, i64** %ppc, align 8 + %arrayidx298 = getelementptr inbounds i64, i64* %158, i64 2 + store i64 %157, i64* %arrayidx298, align 8 + %159 = load i64*, i64** %ppc, align 8 + %add.ptr299 = getelementptr inbounds i64, i64* %159, i64 3 + store i64* %add.ptr299, i64** %ppc, align 8 + br label %if.end300 + +if.end300: ; preds = %if.then294, %if.end292 + %160 = load i8, i8* %o_mode, align 1 + %conv301 = sext i8 %160 to i32 + %cmp302 = icmp ne i32 %conv301, 103 + br i1 %cmp302, label %if.then310, label %lor.lhs.false304 + +lor.lhs.false304: ; preds = %if.end300 + %161 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %alt305 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %161, i32 0, i32 3 + %bf.load306 = load i32, i32* %alt305, align 4 + %bf.lshr307 = lshr i32 %bf.load306, 4 + %bf.clear308 = and i32 %bf.lshr307, 1 + %tobool309 = icmp ne i32 %bf.clear308, 0 + br i1 %tobool309, label %if.then310, label %if.end322 + +if.then310: ; preds = %lor.lhs.false304, %if.end300 + %162 = load i32, i32* %o_exp, align 4 + %163 = load i32, i32* %i218, align 4 + %sub311 = sub nsw i32 %163, %162 + store i32 %sub311, i32* %i218, align 4 + %164 = load i32, i32* %i218, align 4 + %165 = load i32, i32* %preci, align 4 + %cmp312 = icmp slt i32 %164, %165 + br i1 %cmp312, label %if.then314, label %if.end322 + +if.then314: ; preds = %if.then310 + %166 = load i32, i32* %preci, align 4 + %167 = load i32, i32* %i218, align 4 + %sub315 = sub nsw i32 %166, %167 + store i32 %sub315, i32* %i218, align 4 + %168 = load i64*, i64** %ppc, align 8 + %arrayidx316 = getelementptr inbounds i64, i64* %168, i64 0 + store i64 176, i64* %arrayidx316, align 8 + %169 = load i32, i32* %i218, align 4 + %conv317 = sext i32 %169 to i64 + %170 = load i64*, i64** %ppc, align 8 + %arrayidx318 = getelementptr inbounds i64, i64* %170, i64 1 + store i64 %conv317, i64* %arrayidx318, align 8 + %171 = load i64*, i64** %ppc, align 8 + %arrayidx319 = getelementptr inbounds i64, i64* %171, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx319, align 8 + %172 = load i64*, i64** %ppc, align 8 + %add.ptr320 = getelementptr inbounds i64, i64* %172, i64 3 + store i64* %add.ptr320, i64** %ppc, align 8 + br label %if.end322 + +if.end322: ; preds = %if.then310, %if.then314, %lor.lhs.false304 + %173 = load i8, i8* %mode, align 1 + %conv323 = sext i8 %173 to i32 + %cmp324 = icmp ne i32 %conv323, 102 + br i1 %cmp324, label %if.then326, label %EXIT_SPECIAL + +if.then326: ; preds = %if.end322 + %arraydecay327 = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + %add.ptr328 = getelementptr inbounds i8, i8* %arraydecay327, i64 16 + store i8* %add.ptr328, i8** %p, align 8 + %arraydecay330 = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + %174 = load i8, i8* %arraydecay330, align 16 + store i8 %174, i8* %exp_char, align 1 + store i8 43, i8* %exp_sign, align 1 + %175 = load i32, i32* %exp, align 4 + %cmp331 = icmp slt i32 %175, 0 + br i1 %cmp331, label %if.then333, label %if.end335 + +if.then333: ; preds = %if.then326 + store i8 45, i8* %exp_sign, align 1 + %176 = load i32, i32* %exp, align 4 + %sub334 = sub nsw i32 0, %176 + store i32 %sub334, i32* %exp, align 4 + br label %if.end335 + +if.end335: ; preds = %if.then333, %if.then326 + %177 = load i8*, i8** %p, align 8 + %incdec.ptr336 = getelementptr inbounds i8, i8* %177, i32 -1 + store i8* %incdec.ptr336, i8** %p, align 8 + store i8 0, i8* %incdec.ptr336, align 1 + store i32 2, i32* %j329, align 4 + br label %do.body337 + +do.body337: ; preds = %do.body337, %if.end335 + %178 = load i32, i32* %exp, align 4 + %rem338 = srem i32 %178, 10 + %add339 = add nsw i32 48, %rem338 + %conv340 = trunc i32 %add339 to i8 + %179 = load i8*, i8** %p, align 8 + %incdec.ptr341 = getelementptr inbounds i8, i8* %179, i32 -1 + store i8* %incdec.ptr341, i8** %p, align 8 + store i8 %conv340, i8* %incdec.ptr341, align 1 + %180 = load i32, i32* %exp, align 4 + %div342 = sdiv i32 %180, 10 + store i32 %div342, i32* %exp, align 4 + %181 = load i32, i32* %j329, align 4 + %inc344 = add nsw i32 %181, 1 + store i32 %inc344, i32* %j329, align 4 + %cmp345 = icmp slt i32 %inc344, 4 + %182 = load i32, i32* %exp, align 4 + %tobool348 = icmp ne i32 %182, 0 + %183 = select i1 %cmp345, i1 true, i1 %tobool348 + br i1 %183, label %do.body337, label %do.end350 + +do.end350: ; preds = %do.body337 + %184 = load i8, i8* %exp_sign, align 1 + %185 = load i8*, i8** %p, align 8 + %incdec.ptr351 = getelementptr inbounds i8, i8* %185, i32 -1 + store i8* %incdec.ptr351, i8** %p, align 8 + store i8 %184, i8* %incdec.ptr351, align 1 + %186 = load i8, i8* %exp_char, align 1 + %187 = load i8*, i8** %p, align 8 + %incdec.ptr352 = getelementptr inbounds i8, i8* %187, i32 -1 + store i8* %incdec.ptr352, i8** %p, align 8 + store i8 %186, i8* %incdec.ptr352, align 1 + %188 = load i64*, i64** %ppc, align 8 + %arrayidx353 = getelementptr inbounds i64, i64* %188, i64 0 + store i64 112, i64* %arrayidx353, align 8 + %189 = load i32, i32* %j329, align 4 + %conv354 = sext i32 %189 to i64 + %190 = load i64*, i64** %ppc, align 8 + %arrayidx355 = getelementptr inbounds i64, i64* %190, i64 1 + store i64 %conv354, i64* %arrayidx355, align 8 + %191 = load i8*, i8** %p, align 8 + %192 = ptrtoint i8* %191 to i64 + %193 = load i64*, i64** %ppc, align 8 + %arrayidx356 = getelementptr inbounds i64, i64* %193, i64 2 + store i64 %192, i64* %arrayidx356, align 8 + %194 = load i64*, i64** %ppc, align 8 + %add.ptr357 = getelementptr inbounds i64, i64* %194, i64 3 + store i64* %add.ptr357, i64** %ppc, align 8 + br label %EXIT_SPECIAL + +EXIT_SPECIAL: ; preds = %if.end322, %do.end350, %if.end54 + %195 = load i64*, i64** %ppc, align 8 + store i64* %195, i64** %ppc_last, align 8 + %arraydecay360 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + %add.ptr361 = getelementptr inbounds i64, i64* %arraydecay360, i64 4 + store i64* %add.ptr361, i64** %ppc, align 8 + br label %do.body362 + +do.body362: ; preds = %do.body362, %EXIT_SPECIAL + %196 = load i64*, i64** %ppc, align 8 + %197 = load i64, i64* %196, align 8 + %198 = load i32, i32* %width, align 4 + %conv363 = sext i32 %198 to i64 + %sub364 = sub nsw i64 %conv363, %197 + %conv365 = trunc i64 %sub364 to i32 + store i32 %conv365, i32* %width, align 4 + %199 = load i64*, i64** %ppc, align 8 + %add.ptr366 = getelementptr inbounds i64, i64* %199, i64 3 + store i64* %add.ptr366, i64** %ppc, align 8 + %200 = load i64*, i64** %ppc, align 8 + %201 = load i64*, i64** %ppc_last, align 8 + %cmp368 = icmp ult i64* %200, %201 + br i1 %cmp368, label %do.body362, label %do.end370 + +do.end370: ; preds = %do.body362 + %arraydecay371 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + store i64* %arraydecay371, i64** %ppc, align 8 + %202 = load i64*, i64** %ppc, align 8 + %arrayidx372 = getelementptr inbounds i64, i64* %202, i64 0 + store i64 160, i64* %arrayidx372, align 8 + %arraydecay373 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %203 = load i8, i8* %arraydecay373, align 1 + %conv374 = sext i8 %203 to i32 + %cmp375 = icmp ne i32 %conv374, 0 + %conv376 = zext i1 %cmp375 to i32 + store i32 %conv376, i32* %i359, align 4 + %conv377 = sext i32 %conv376 to i64 + %204 = load i64*, i64** %ppc, align 8 + %arrayidx378 = getelementptr inbounds i64, i64* %204, i64 1 + store i64 %conv377, i64* %arrayidx378, align 8 + %arraydecay379 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %205 = ptrtoint i8* %arraydecay379 to i64 + %206 = load i64*, i64** %ppc, align 8 + %arrayidx380 = getelementptr inbounds i64, i64* %206, i64 2 + store i64 %205, i64* %arrayidx380, align 8 + %207 = load i32, i32* %i359, align 4 + %208 = load i32, i32* %width, align 4 + %sub381 = sub nsw i32 %208, %207 + store i32 %sub381, i32* %width, align 4 + %cmp382 = icmp sgt i32 %sub381, 0 + br i1 %cmp382, label %if.then384, label %if.end409 + +if.then384: ; preds = %do.end370 + %209 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %left = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %209, i32 0, i32 3 + %bf.load385 = load i32, i32* %left, align 4 + %bf.lshr386 = lshr i32 %bf.load385, 3 + %bf.clear387 = and i32 %bf.lshr386, 1 + %tobool388 = icmp ne i32 %bf.clear387, 0 + br i1 %tobool388, label %if.then389, label %if.else395 + +if.then389: ; preds = %if.then384 + %210 = load i64*, i64** %ppc_last, align 8 + %arrayidx390 = getelementptr inbounds i64, i64* %210, i64 0 + store i64 160, i64* %arrayidx390, align 8 + %211 = load i32, i32* %width, align 4 + %conv391 = sext i32 %211 to i64 + %212 = load i64*, i64** %ppc_last, align 8 + %arrayidx392 = getelementptr inbounds i64, i64* %212, i64 1 + store i64 %conv391, i64* %arrayidx392, align 8 + %213 = load i64*, i64** %ppc_last, align 8 + %arrayidx393 = getelementptr inbounds i64, i64* %213, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx393, align 8 + %214 = load i64*, i64** %ppc_last, align 8 + %add.ptr394 = getelementptr inbounds i64, i64* %214, i64 3 + store i64* %add.ptr394, i64** %ppc_last, align 8 + br label %if.end409 + +if.else395: ; preds = %if.then384 + %215 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %pad396 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %215, i32 0, i32 4 + %216 = load i32, i32* %pad396, align 4 + %cmp397 = icmp eq i32 %216, 48 + %217 = load i32, i32* %width, align 4 + %conv400 = sext i32 %217 to i64 + %218 = load i64*, i64** %ppc, align 8 + br i1 %cmp397, label %if.then399, label %if.else403 + +if.then399: ; preds = %if.else395 + %arrayidx401 = getelementptr inbounds i64, i64* %218, i64 4 + %219 = load i64, i64* %arrayidx401, align 8 + %add402 = add nsw i64 %219, %conv400 + store i64 %add402, i64* %arrayidx401, align 8 + br label %if.end409 + +if.else403: ; preds = %if.else395 + %arrayidx405 = getelementptr inbounds i64, i64* %218, i64 1 + %220 = load i64, i64* %arrayidx405, align 8 + %add406 = add nsw i64 %220, %conv400 + store i64 %add406, i64* %arrayidx405, align 8 + br label %if.end409 + +if.end409: ; preds = %if.then389, %if.else403, %if.then399, %do.end370 + store i32 0, i32* %cnt, align 4 + br label %do.body410 + +do.body410: ; preds = %if.end418, %if.end409 + %221 = load i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)*, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)** %fp_outfunc.addr, align 8 + %222 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + %223 = load i64*, i64** %ppc, align 8 + %224 = load i64, i64* %223, align 8 + %225 = load i64*, i64** %ppc, align 8 + %arrayidx411 = getelementptr inbounds i64, i64* %225, i64 1 + %226 = load i64, i64* %arrayidx411, align 8 + %227 = load i64*, i64** %ppc, align 8 + %arrayidx412 = getelementptr inbounds i64, i64* %227, i64 2 + %228 = load i64, i64* %arrayidx412, align 8 + %call413 = call i64 %221(%struct.__STDIO_FILE_STRUCT.568* %222, i64 %224, i64 %226, i64 %228) #19 + %229 = load i64*, i64** %ppc, align 8 + %arrayidx414 = getelementptr inbounds i64, i64* %229, i64 1 + %230 = load i64, i64* %arrayidx414, align 8 + %cmp415 = icmp ne i64 %call413, %230 + br i1 %cmp415, label %if.then417, label %if.end418 + +if.then417: ; preds = %do.body410 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end418: ; preds = %do.body410 + %231 = load i64*, i64** %ppc, align 8 + %arrayidx419 = getelementptr inbounds i64, i64* %231, i64 1 + %232 = load i64, i64* %arrayidx419, align 8 + %233 = load i32, i32* %cnt, align 4 + %conv420 = sext i32 %233 to i64 + %add421 = add nsw i64 %conv420, %232 + %conv422 = trunc i64 %add421 to i32 + store i32 %conv422, i32* %cnt, align 4 + %234 = load i64*, i64** %ppc, align 8 + %add.ptr423 = getelementptr inbounds i64, i64* %234, i64 3 + store i64* %add.ptr423, i64** %ppc, align 8 + %235 = load i64*, i64** %ppc, align 8 + %236 = load i64*, i64** %ppc_last, align 8 + %cmp425 = icmp ult i64* %235, %236 + br i1 %cmp425, label %do.body410, label %do.end427 + +do.end427: ; preds = %if.end418 + %237 = load i32, i32* %cnt, align 4 + %conv428 = sext i32 %237 to i64 + store i64 %conv428, i64* %retval, align 8 + br label %return + +return: ; preds = %do.end427, %if.then417 + %238 = load i64, i64* %retval, align 8 + ret i64 %238 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_load_inttype(i32 %desttype, i8* %src, i32 %uflag) #0 { +entry: + %retval = alloca i64, align 8 + %desttype.addr = alloca i32, align 4 + %src.addr = alloca i8*, align 8 + %uflag.addr = alloca i32, align 4 + %x = alloca i32, align 4 + %x24 = alloca i32, align 4 + store i32 %desttype, i32* %desttype.addr, align 4 + store i8* %src, i8** %src.addr, align 8 + store i32 %uflag, i32* %uflag.addr, align 4 + %0 = load i32, i32* %uflag.addr, align 4 + %cmp = icmp sge i32 %0, 0 + %1 = load i32, i32* %desttype.addr, align 4 + %and = and i32 %1, 3072 + %tobool = icmp ne i32 %and, 0 + %2 = load i8*, i8** %src.addr, align 8 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + br i1 %tobool, label %if.then1, label %if.end4 + +if.then1: ; preds = %if.then + %3 = bitcast i8* %2 to i64* + %4 = load i64, i64* %3, align 8 + store i64 %4, i64* %retval, align 8 + br label %return + +if.end4: ; preds = %if.then + %5 = bitcast i8* %2 to i32* + %6 = load i32, i32* %5, align 4 + store i32 %6, i32* %x, align 4 + %7 = load i32, i32* %desttype.addr, align 4 + %cmp5 = icmp eq i32 %7, 256 + br i1 %cmp5, label %if.then6, label %if.end8 + +if.then6: ; preds = %if.end4 + %8 = load i32, i32* %x, align 4 + %conv = trunc i32 %8 to i8 + %conv7 = zext i8 %conv to i32 + store i32 %conv7, i32* %x, align 4 + br label %if.end8 + +if.end8: ; preds = %if.then6, %if.end4 + %9 = load i32, i32* %desttype.addr, align 4 + %cmp9 = icmp eq i32 %9, 512 + br i1 %cmp9, label %if.then11, label %if.end14 + +if.then11: ; preds = %if.end8 + %10 = load i32, i32* %x, align 4 + %conv12 = trunc i32 %10 to i16 + %conv13 = zext i16 %conv12 to i32 + store i32 %conv13, i32* %x, align 4 + br label %if.end14 + +if.end14: ; preds = %if.then11, %if.end8 + %11 = load i32, i32* %x, align 4 + %conv15 = zext i32 %11 to i64 + store i64 %conv15, i64* %retval, align 8 + br label %return + +if.else: ; preds = %entry + br i1 %tobool, label %if.then18, label %if.end23 + +if.then18: ; preds = %if.else + %12 = bitcast i8* %2 to i64* + %13 = load i64, i64* %12, align 8 + store i64 %13, i64* %retval, align 8 + br label %return + +if.end23: ; preds = %if.else + %14 = bitcast i8* %2 to i32* + %15 = load i32, i32* %14, align 4 + store i32 %15, i32* %x24, align 4 + %16 = load i32, i32* %desttype.addr, align 4 + %cmp25 = icmp eq i32 %16, 256 + br i1 %cmp25, label %if.then27, label %if.end30 + +if.then27: ; preds = %if.end23 + %17 = load i32, i32* %x24, align 4 + %conv28 = trunc i32 %17 to i8 + %conv29 = sext i8 %conv28 to i32 + store i32 %conv29, i32* %x24, align 4 + br label %if.end30 + +if.end30: ; preds = %if.then27, %if.end23 + %18 = load i32, i32* %desttype.addr, align 4 + %cmp31 = icmp eq i32 %18, 512 + br i1 %cmp31, label %if.then33, label %if.end36 + +if.then33: ; preds = %if.end30 + %19 = load i32, i32* %x24, align 4 + %conv34 = trunc i32 %19 to i16 + %conv35 = sext i16 %conv34 to i32 + store i32 %conv35, i32* %x24, align 4 + br label %if.end36 + +if.end36: ; preds = %if.then33, %if.end30 + %20 = load i32, i32* %x24, align 4 + %conv37 = sext i32 %20 to i64 + store i64 %conv37, i64* %retval, align 8 + br label %return + +return: ; preds = %if.then18, %if.then1, %if.end36, %if.end14 + %21 = load i64, i64* %retval, align 8 + ret i64 %21 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_ppfs_init(%struct.ppfs_t.722* %ppfs, i8* %fmt0) #0 { +entry: + %retval = alloca i32, align 4 + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %fmt0.addr = alloca i8*, align 8 + %r = alloca i32, align 4 + %mbstate = alloca %struct.__mbstate_t.512, align 4 + %p = alloca i8*, align 8 + %p8 = alloca i32*, align 8 + %fmt = alloca i8*, align 8 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store i8* %fmt0, i8** %fmt0.addr, align 8 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %1 = bitcast %struct.ppfs_t.722* %0 to i8* + %call = call i8* @memset(i8* %1, i32 0, i64 176) #20 + %2 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %2, i32 0, i32 2 + %3 = load i32, i32* %maxposarg, align 4 + %dec = add nsw i32 %3, -1 + store i32 %dec, i32* %maxposarg, align 4 + %4 = load i8*, i8** %fmt0.addr, align 8 + %5 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %5, i32 0, i32 0 + store i8* %4, i8** %fmtpos, align 8 + %6 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %6, i32 0, i32 9 + %7 = load i8, i8* %encoding, align 8 + %conv = zext i8 %7 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %if.then, label %if.end7 + +if.then: ; preds = %entry + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %mbstate, i32 0, i32 0 + store i32 0, i32* %__mask, align 4 + %8 = load i8*, i8** %fmt0.addr, align 8 + store i8* %8, i8** %p, align 8 + %call2 = call i64 @mbsrtowcs(i32* null, i8** %p, i64 -1, %struct.__mbstate_t.512* %mbstate) #20 + %cmp3 = icmp eq i64 %call2, -1 + br i1 %cmp3, label %if.then5, label %if.end7 + +if.then5: ; preds = %if.then + %9 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos6 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %9, i32 0, i32 0 + store i8* getelementptr inbounds ([33 x i8], [33 x i8]* @_ppfs_init.invalid_mbs, i64 0, i64 0), i8** %fmtpos6, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end7: ; preds = %if.then, %entry + %10 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %10, i32 0, i32 6 + %arraydecay = getelementptr inbounds [9 x i32], [9 x i32]* %argtype, i64 0, i64 0 + store i32* %arraydecay, i32** %p8, align 8 + store i32 9, i32* %r, align 4 + br label %do.body + +do.body: ; preds = %do.body, %if.end7 + %11 = load i32*, i32** %p8, align 8 + %incdec.ptr = getelementptr inbounds i32, i32* %11, i32 1 + store i32* %incdec.ptr, i32** %p8, align 8 + store i32 8, i32* %11, align 4 + %12 = load i32, i32* %r, align 4 + %dec9 = add nsw i32 %12, -1 + store i32 %dec9, i32* %r, align 4 + %tobool = icmp ne i32 %dec9, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.body + %13 = load i8*, i8** %fmt0.addr, align 8 + store i8* %13, i8** %fmt, align 8 + br label %while.cond + +while.cond: ; preds = %if.end27, %do.end + %14 = load i8*, i8** %fmt, align 8 + %15 = load i8, i8* %14, align 1 + %tobool10 = icmp ne i8 %15, 0 + br i1 %tobool10, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %16 = load i8*, i8** %fmt, align 8 + %17 = load i8, i8* %16, align 1 + %conv11 = sext i8 %17 to i32 + %cmp12 = icmp eq i32 %conv11, 37 + br i1 %cmp12, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %while.body + %18 = load i8*, i8** %fmt, align 8 + %incdec.ptr14 = getelementptr inbounds i8, i8* %18, i32 1 + store i8* %incdec.ptr14, i8** %fmt, align 8 + %19 = load i8, i8* %incdec.ptr14, align 1 + %conv15 = sext i8 %19 to i32 + %cmp16 = icmp ne i32 %conv15, 37 + br i1 %cmp16, label %if.then18, label %if.else + +if.then18: ; preds = %land.lhs.true + %20 = load i8*, i8** %fmt, align 8 + %21 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos19 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %21, i32 0, i32 0 + store i8* %20, i8** %fmtpos19, align 8 + %22 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %call20 = call i32 @_ppfs_parsespec(%struct.ppfs_t.722* %22) #19 + store i32 %call20, i32* %r, align 4 + %cmp21 = icmp slt i32 %call20, 0 + br i1 %cmp21, label %if.then23, label %if.end24 + +if.then23: ; preds = %if.then18 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end24: ; preds = %if.then18 + %23 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos25 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %23, i32 0, i32 0 + %24 = load i8*, i8** %fmtpos25, align 8 + store i8* %24, i8** %fmt, align 8 + br label %if.end27 + +if.else: ; preds = %land.lhs.true, %while.body + %25 = load i8*, i8** %fmt, align 8 + %incdec.ptr26 = getelementptr inbounds i8, i8* %25, i32 1 + store i8* %incdec.ptr26, i8** %fmt, align 8 + br label %if.end27 + +if.end27: ; preds = %if.else, %if.end24 + br label %while.cond + +while.end: ; preds = %while.cond + %26 = load i8*, i8** %fmt0.addr, align 8 + %27 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos28 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %27, i32 0, i32 0 + store i8* %26, i8** %fmtpos28, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %while.end, %if.then23, %if.then5 + %28 = load i32, i32* %retval, align 4 + ret i32 %28 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_ppfs_parsespec(%struct.ppfs_t.722* %ppfs) #0 { +entry: + %retval = alloca i32, align 4 + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %fmt = alloca i8*, align 8 + %p = alloca i8*, align 8 + %preci = alloca i32, align 4 + %width = alloca i32, align 4 + %flags = alloca i32, align 4 + %dataargtype = alloca i32, align 4 + %i = alloca i32, align 4 + %dpoint = alloca i32, align 4 + %maxposarg = alloca i32, align 4 + %p_m_spec_chars = alloca i32, align 4 + %n = alloca i32, align 4 + %argtype = alloca [3 x i32], align 4 + %argnumber = alloca [3 x i32], align 4 + %buf = alloca [32 x i8], align 16 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store i32 -1, i32* %preci, align 4 + %arrayidx = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 0 + store i32 0, i32* %arrayidx, align 4 + %arrayidx1 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 1 + store i32 0, i32* %arrayidx1, align 4 + %arrayidx2 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 0 + store i32 8, i32* %arrayidx2, align 4 + %arrayidx3 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 1 + store i32 8, i32* %arrayidx3, align 4 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg4 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %0, i32 0, i32 2 + %1 = load i32, i32* %maxposarg4, align 4 + store i32 %1, i32* %maxposarg, align 4 + store i32 0, i32* %dpoint, align 4 + store i32 0, i32* %width, align 4 + %2 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %2, i32 0, i32 1 + %_flags = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 3 + %3 = load i32, i32* %_flags, align 4 + %and = and i32 %3, 128 + store i32 %and, i32* %flags, align 4 + %cmp = icmp eq i32 %and, 0 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %4 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %4, i32 0, i32 0 + %5 = load i8*, i8** %fmtpos, align 8 + store i8* %5, i8** %fmt, align 8 + br label %if.end20 + +if.else: ; preds = %entry + %arraydecay = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 1 + store i8* %add.ptr, i8** %fmt, align 8 + store i32 0, i32* %i, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %if.else + %6 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos5 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %6, i32 0, i32 0 + %7 = load i8*, i8** %fmtpos5, align 8 + %8 = bitcast i8* %7 to i32* + %9 = load i32, i32* %i, align 4 + %sub = sub nsw i32 %9, 1 + %idxprom = sext i32 %sub to i64 + %arrayidx6 = getelementptr inbounds i32, i32* %8, i64 %idxprom + %10 = load i32, i32* %arrayidx6, align 4 + %conv = trunc i32 %10 to i8 + %11 = load i32, i32* %i, align 4 + %idxprom7 = sext i32 %11 to i64 + %arrayidx8 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 %idxprom7 + store i8 %conv, i8* %arrayidx8, align 1 + %conv9 = sext i8 %conv to i32 + %12 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos10 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %12, i32 0, i32 0 + %13 = load i8*, i8** %fmtpos10, align 8 + %14 = bitcast i8* %13 to i32* + %15 = load i32, i32* %i, align 4 + %sub11 = sub nsw i32 %15, 1 + %idxprom12 = sext i32 %sub11 to i64 + %arrayidx13 = getelementptr inbounds i32, i32* %14, i64 %idxprom12 + %16 = load i32, i32* %arrayidx13, align 4 + %cmp14 = icmp ne i32 %conv9, %16 + br i1 %cmp14, label %if.then16, label %do.cond + +if.then16: ; preds = %do.body + store i32 -1, i32* %retval, align 4 + br label %return + +do.cond: ; preds = %do.body + %17 = load i32, i32* %i, align 4 + %inc = add nsw i32 %17, 1 + store i32 %inc, i32* %i, align 4 + %idxprom17 = sext i32 %17 to i64 + %arrayidx18 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 %idxprom17 + %18 = load i8, i8* %arrayidx18, align 1 + %tobool = icmp ne i8 %18, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %arrayidx19 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 31 + store i8 0, i8* %arrayidx19, align 1 + br label %if.end20 + +if.end20: ; preds = %do.end, %if.then + br label %width_precision + +width_precision: ; preds = %do.end89, %if.then129, %if.end20 + %19 = load i8*, i8** %fmt, align 8 + store i8* %19, i8** %p, align 8 + %20 = load i8*, i8** %fmt, align 8 + %21 = load i8, i8* %20, align 1 + %conv21 = sext i8 %21 to i32 + %cmp22 = icmp eq i32 %conv21, 42 + br i1 %cmp22, label %if.then24, label %if.end28 + +if.then24: ; preds = %width_precision + %22 = load i32, i32* %dpoint, align 4 + %sub25 = sub nsw i32 0, %22 + %idxprom26 = sext i32 %sub25 to i64 + %arrayidx27 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 %idxprom26 + store i32 0, i32* %arrayidx27, align 4 + %23 = load i8*, i8** %fmt, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %23, i32 1 + store i8* %incdec.ptr, i8** %fmt, align 8 + br label %if.end28 + +if.end28: ; preds = %if.then24, %width_precision + store i32 0, i32* %i, align 4 + br label %while.cond + +while.cond: ; preds = %if.end40, %if.end28 + %call = call i16** @__ctype_b_loc() #22 + %24 = load i16*, i16** %call, align 8 + %25 = load i8*, i8** %fmt, align 8 + %26 = load i8, i8* %25, align 1 + %conv29 = sext i8 %26 to i32 + %idxprom30 = sext i32 %conv29 to i64 + %arrayidx31 = getelementptr inbounds i16, i16* %24, i64 %idxprom30 + %27 = load i16, i16* %arrayidx31, align 2 + %conv32 = zext i16 %27 to i32 + %and33 = and i32 %conv32, 2048 + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %28 = load i32, i32* %i, align 4 + %cmp35 = icmp slt i32 %28, 4095 + br i1 %cmp35, label %if.then37, label %if.end40 + +if.then37: ; preds = %while.body + %29 = load i32, i32* %i, align 4 + %mul = mul nsw i32 %29, 10 + %30 = load i8*, i8** %fmt, align 8 + %31 = load i8, i8* %30, align 1 + %conv38 = sext i8 %31 to i32 + %sub39 = sub nsw i32 %conv38, 48 + %add = add nsw i32 %mul, %sub39 + store i32 %add, i32* %i, align 4 + br label %if.end40 + +if.end40: ; preds = %if.then37, %while.body + %32 = load i8*, i8** %fmt, align 8 + %incdec.ptr41 = getelementptr inbounds i8, i8* %32, i32 1 + store i8* %incdec.ptr41, i8** %fmt, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %33 = load i8*, i8** %p, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %33, i64 -1 + %34 = load i8, i8* %arrayidx42, align 1 + %conv43 = sext i8 %34 to i32 + %cmp44 = icmp eq i32 %conv43, 37 + br i1 %cmp44, label %if.then46, label %PREC_WIDTH + +if.then46: ; preds = %while.end + %35 = load i8*, i8** %fmt, align 8 + %36 = load i8, i8* %35, align 1 + %conv47 = sext i8 %36 to i32 + %cmp48 = icmp eq i32 %conv47, 36 + %37 = load i32, i32* %i, align 4 + %cmp50 = icmp sgt i32 %37, 0 + %or.cond = and i1 %cmp48, %cmp50 + br i1 %or.cond, label %if.then52, label %if.else63 + +if.then52: ; preds = %if.then46 + %38 = load i8*, i8** %fmt, align 8 + %incdec.ptr53 = getelementptr inbounds i8, i8* %38, i32 1 + store i8* %incdec.ptr53, i8** %fmt, align 8 + %39 = load i32, i32* %maxposarg, align 4 + %cmp54 = icmp eq i32 %39, 0 + br i1 %cmp54, label %if.then56, label %if.end57 + +if.then56: ; preds = %if.then52 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end57: ; preds = %if.then52 + %40 = load i32, i32* %i, align 4 + %arrayidx58 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 2 + store i32 %40, i32* %arrayidx58, align 4 + %41 = load i32, i32* %maxposarg, align 4 + %cmp59 = icmp sgt i32 %40, %41 + br i1 %cmp59, label %if.then61, label %if.end76 + +if.then61: ; preds = %if.end57 + %42 = load i32, i32* %i, align 4 + store i32 %42, i32* %maxposarg, align 4 + br label %if.end76 + +if.else63: ; preds = %if.then46 + %43 = load i32, i32* %maxposarg, align 4 + %cmp64 = icmp sgt i32 %43, 0 + br i1 %cmp64, label %if.then66, label %if.end67 + +if.then66: ; preds = %if.else63 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end67: ; preds = %if.else63 + store i32 0, i32* %maxposarg, align 4 + %44 = load i8*, i8** %fmt, align 8 + %45 = load i8*, i8** %p, align 8 + %cmp68 = icmp ugt i8* %44, %45 + br i1 %cmp68, label %land.lhs.true70, label %if.end75 + +land.lhs.true70: ; preds = %if.end67 + %46 = load i8*, i8** %p, align 8 + %47 = load i8, i8* %46, align 1 + %conv71 = sext i8 %47 to i32 + %cmp72 = icmp ne i32 %conv71, 48 + br i1 %cmp72, label %PREC_WIDTH, label %if.end75 + +if.end75: ; preds = %land.lhs.true70, %if.end67 + %48 = load i8*, i8** %p, align 8 + store i8* %48, i8** %fmt, align 8 + br label %if.end76 + +if.end76: ; preds = %if.end57, %if.then61, %if.end75 + br label %restart_flags + +restart_flags: ; preds = %if.then83, %if.end76 + store i32 1, i32* %i, align 4 + store i8* getelementptr inbounds ([8 x i8], [8 x i8]* @_ppfs_parsespec.spec_flags, i64 0, i64 0), i8** %p, align 8 + br label %do.body77 + +do.body77: ; preds = %if.end85, %restart_flags + %49 = load i8*, i8** %fmt, align 8 + %50 = load i8, i8* %49, align 1 + %conv78 = sext i8 %50 to i32 + %51 = load i8*, i8** %p, align 8 + %incdec.ptr79 = getelementptr inbounds i8, i8* %51, i32 1 + store i8* %incdec.ptr79, i8** %p, align 8 + %52 = load i8, i8* %51, align 1 + %conv80 = sext i8 %52 to i32 + %cmp81 = icmp eq i32 %conv78, %conv80 + br i1 %cmp81, label %if.then83, label %if.end85 + +if.then83: ; preds = %do.body77 + %53 = load i8*, i8** %fmt, align 8 + %incdec.ptr84 = getelementptr inbounds i8, i8* %53, i32 1 + store i8* %incdec.ptr84, i8** %fmt, align 8 + %54 = load i32, i32* %i, align 4 + %55 = load i32, i32* %flags, align 4 + %or = or i32 %55, %54 + store i32 %or, i32* %flags, align 4 + br label %restart_flags + +if.end85: ; preds = %do.body77 + %56 = load i32, i32* %i, align 4 + %57 = load i32, i32* %i, align 4 + %add86 = add nsw i32 %57, %56 + store i32 %add86, i32* %i, align 4 + %58 = load i8*, i8** %p, align 8 + %59 = load i8, i8* %58, align 1 + %tobool88 = icmp ne i8 %59, 0 + br i1 %tobool88, label %do.body77, label %do.end89 + +do.end89: ; preds = %if.end85 + store i32 0, i32* %i, align 4 + %60 = load i32, i32* %flags, align 4 + %and90 = and i32 %60, 10 + %shr = ashr i32 %and90, 1 + %neg = xor i32 %shr, -1 + %61 = load i32, i32* %flags, align 4 + %and91 = and i32 %61, %neg + store i32 %and91, i32* %flags, align 4 + %62 = load i8*, i8** %fmt, align 8 + %arrayidx92 = getelementptr inbounds i8, i8* %62, i64 -1 + %63 = load i8, i8* %arrayidx92, align 1 + %conv93 = sext i8 %63 to i32 + %cmp94 = icmp ne i32 %conv93, 37 + br i1 %cmp94, label %width_precision, label %PREC_WIDTH + +PREC_WIDTH: ; preds = %while.end, %do.end89, %land.lhs.true70 + %64 = load i8*, i8** %p, align 8 + %65 = load i8, i8* %64, align 1 + %conv99 = sext i8 %65 to i32 + %cmp100 = icmp eq i32 %conv99, 42 + br i1 %cmp100, label %if.then102, label %if.end123 + +if.then102: ; preds = %PREC_WIDTH + %66 = load i32, i32* %maxposarg, align 4 + %tobool103 = icmp ne i32 %66, 0 + br i1 %tobool103, label %if.then104, label %if.else116 + +if.then104: ; preds = %if.then102 + %67 = load i8*, i8** %fmt, align 8 + %incdec.ptr105 = getelementptr inbounds i8, i8* %67, i32 1 + store i8* %incdec.ptr105, i8** %fmt, align 8 + %68 = load i8, i8* %67, align 1 + %conv106 = sext i8 %68 to i32 + %cmp107 = icmp ne i32 %conv106, 36 + %69 = load i32, i32* %i, align 4 + %cmp109 = icmp sle i32 %69, 0 + %or.cond1 = or i1 %cmp107, %cmp109 + br i1 %or.cond1, label %if.then111, label %if.end112 + +if.then111: ; preds = %if.then104 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end112: ; preds = %if.then104 + %70 = load i32, i32* %i, align 4 + %71 = load i32, i32* %dpoint, align 4 + %sub113 = sub nsw i32 0, %71 + %idxprom114 = sext i32 %sub113 to i64 + %arrayidx115 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 %idxprom114 + store i32 %70, i32* %arrayidx115, align 4 + br label %if.end122 + +if.else116: ; preds = %if.then102 + %72 = load i8*, i8** %p, align 8 + %incdec.ptr117 = getelementptr inbounds i8, i8* %72, i32 1 + store i8* %incdec.ptr117, i8** %p, align 8 + %73 = load i8*, i8** %fmt, align 8 + %cmp118 = icmp ne i8* %incdec.ptr117, %73 + br i1 %cmp118, label %if.then120, label %if.end122 + +if.then120: ; preds = %if.else116 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end122: ; preds = %if.else116, %if.end112 + store i32 -2147483648, i32* %i, align 4 + br label %if.end123 + +if.end123: ; preds = %if.end122, %PREC_WIDTH + %74 = load i32, i32* %dpoint, align 4 + %tobool124 = icmp ne i32 %74, 0 + %75 = load i32, i32* %i, align 4 + br i1 %tobool124, label %if.else132, label %if.then125 + +if.then125: ; preds = %if.end123 + store i32 %75, i32* %width, align 4 + %76 = load i8*, i8** %fmt, align 8 + %77 = load i8, i8* %76, align 1 + %conv126 = sext i8 %77 to i32 + %cmp127 = icmp eq i32 %conv126, 46 + br i1 %cmp127, label %if.then129, label %if.end133 + +if.then129: ; preds = %if.then125 + %78 = load i8*, i8** %fmt, align 8 + %incdec.ptr130 = getelementptr inbounds i8, i8* %78, i32 1 + store i8* %incdec.ptr130, i8** %fmt, align 8 + store i32 -1, i32* %dpoint, align 4 + br label %width_precision + +if.else132: ; preds = %if.end123 + store i32 %75, i32* %preci, align 4 + br label %if.end133 + +if.end133: ; preds = %if.then125, %if.else132 + store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @_ppfs_parsespec.qual_chars, i64 0, i64 0), i8** %p, align 8 + br label %do.body134 + +do.body134: ; preds = %do.cond142, %if.end133 + %79 = load i8*, i8** %fmt, align 8 + %80 = load i8, i8* %79, align 1 + %conv135 = sext i8 %80 to i32 + %81 = load i8*, i8** %p, align 8 + %82 = load i8, i8* %81, align 1 + %conv136 = sext i8 %82 to i32 + %cmp137 = icmp eq i32 %conv135, %conv136 + br i1 %cmp137, label %if.then139, label %do.cond142 + +if.then139: ; preds = %do.body134 + %83 = load i8*, i8** %fmt, align 8 + %incdec.ptr140 = getelementptr inbounds i8, i8* %83, i32 1 + store i8* %incdec.ptr140, i8** %fmt, align 8 + br label %do.end145 + +do.cond142: ; preds = %do.body134 + %84 = load i8*, i8** %p, align 8 + %incdec.ptr143 = getelementptr inbounds i8, i8* %84, i32 1 + store i8* %incdec.ptr143, i8** %p, align 8 + %85 = load i8, i8* %incdec.ptr143, align 1 + %tobool144 = icmp ne i8 %85, 0 + br i1 %tobool144, label %do.body134, label %do.end145 + +do.end145: ; preds = %do.cond142, %if.then139 + %86 = load i8*, i8** %p, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %86 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, ptrtoint ([20 x i8]* @_ppfs_parsespec.qual_chars to i64) + %cmp146 = icmp slt i64 %sub.ptr.sub, 2 + br i1 %cmp146, label %land.lhs.true148, label %if.end156 + +land.lhs.true148: ; preds = %do.end145 + %87 = load i8*, i8** %fmt, align 8 + %88 = load i8, i8* %87, align 1 + %conv149 = sext i8 %88 to i32 + %89 = load i8*, i8** %p, align 8 + %90 = load i8, i8* %89, align 1 + %conv150 = sext i8 %90 to i32 + %cmp151 = icmp eq i32 %conv149, %conv150 + br i1 %cmp151, label %if.then153, label %if.end156 + +if.then153: ; preds = %land.lhs.true148 + %91 = load i8*, i8** %p, align 8 + %add.ptr154 = getelementptr inbounds i8, i8* %91, i64 9 + store i8* %add.ptr154, i8** %p, align 8 + %92 = load i8*, i8** %fmt, align 8 + %incdec.ptr155 = getelementptr inbounds i8, i8* %92, i32 1 + store i8* %incdec.ptr155, i8** %fmt, align 8 + br label %if.end156 + +if.end156: ; preds = %if.then153, %land.lhs.true148, %do.end145 + %93 = load i8*, i8** %p, align 8 + %arrayidx157 = getelementptr inbounds i8, i8* %93, i64 9 + %94 = load i8, i8* %arrayidx157, align 1 + %conv158 = sext i8 %94 to i32 + %shl = shl i32 %conv158, 8 + store i32 %shl, i32* %dataargtype, align 4 + %95 = load i8*, i8** %fmt, align 8 + %96 = load i8, i8* %95, align 1 + %tobool159 = icmp ne i8 %96, 0 + br i1 %tobool159, label %if.end161, label %if.then160 + +if.then160: ; preds = %if.end156 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end161: ; preds = %if.end156 + store i8* getelementptr inbounds ([21 x i8], [21 x i8]* @_ppfs_parsespec.spec_chars, i64 0, i64 0), i8** %p, align 8 + br label %do.body162 + +do.body162: ; preds = %do.cond199, %if.end161 + %97 = load i8*, i8** %fmt, align 8 + %98 = load i8, i8* %97, align 1 + %conv163 = sext i8 %98 to i32 + %99 = load i8*, i8** %p, align 8 + %100 = load i8, i8* %99, align 1 + %conv164 = sext i8 %100 to i32 + %cmp165 = icmp eq i32 %conv163, %conv164 + %101 = load i8*, i8** %p, align 8 + br i1 %cmp165, label %if.then167, label %do.cond199 + +if.then167: ; preds = %do.body162 + %sub.ptr.lhs.cast168 = ptrtoint i8* %101 to i64 + %sub.ptr.sub169 = sub i64 %sub.ptr.lhs.cast168, ptrtoint ([21 x i8]* @_ppfs_parsespec.spec_chars to i64) + %conv170 = trunc i64 %sub.ptr.sub169 to i32 + store i32 %conv170, i32* %p_m_spec_chars, align 4 + %102 = load i32, i32* %p_m_spec_chars, align 4 + %cmp171 = icmp sge i32 %102, 18 + br i1 %cmp171, label %land.lhs.true173, label %if.end178 + +land.lhs.true173: ; preds = %if.then167 + %103 = load i32, i32* %dataargtype, align 4 + %and174 = and i32 %103, 1024 + %tobool175 = icmp ne i32 %and174, 0 + br i1 %tobool175, label %if.then176, label %if.end178 + +if.then176: ; preds = %land.lhs.true173 + %104 = load i32, i32* %p_m_spec_chars, align 4 + %sub177 = sub nsw i32 %104, 2 + store i32 %sub177, i32* %p_m_spec_chars, align 4 + br label %if.end178 + +if.end178: ; preds = %if.then176, %land.lhs.true173, %if.then167 + %105 = load i32, i32* %p_m_spec_chars, align 4 + %106 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %106, i32 0, i32 4 + store i32 %105, i32* %conv_num, align 4 + store i8* getelementptr inbounds (i8, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @_ppfs_parsespec.spec_ranges, i64 0, i64 0), i64 -1), i8** %p, align 8 + br label %while.cond179 + +while.cond179: ; preds = %while.cond179, %if.end178 + %107 = load i32, i32* %p_m_spec_chars, align 4 + %108 = load i8*, i8** %p, align 8 + %incdec.ptr180 = getelementptr inbounds i8, i8* %108, i32 1 + store i8* %incdec.ptr180, i8** %p, align 8 + %109 = load i8, i8* %incdec.ptr180, align 1 + %conv181 = sext i8 %109 to i32 + %cmp182 = icmp sgt i32 %107, %conv181 + br i1 %cmp182, label %while.cond179, label %while.end185 + +while.end185: ; preds = %while.cond179 + %110 = load i8*, i8** %p, align 8 + %sub.ptr.lhs.cast186 = ptrtoint i8* %110 to i64 + %sub.ptr.sub187 = sub i64 %sub.ptr.lhs.cast186, ptrtoint ([9 x i8]* @_ppfs_parsespec.spec_ranges to i64) + %conv188 = trunc i64 %sub.ptr.sub187 to i32 + store i32 %conv188, i32* %i, align 4 + %111 = load i32, i32* %dataargtype, align 4 + %112 = load i32, i32* %i, align 4 + %idxprom189 = sext i32 %112 to i64 + %arrayidx190 = getelementptr inbounds [8 x i16], [8 x i16]* @_ppfs_parsespec.spec_or_mask, i64 0, i64 %idxprom189 + %113 = load i16, i16* %arrayidx190, align 2 + %conv191 = sext i16 %113 to i32 + %or192 = or i32 %111, %conv191 + %114 = load i32, i32* %i, align 4 + %idxprom193 = sext i32 %114 to i64 + %arrayidx194 = getelementptr inbounds [8 x i16], [8 x i16]* @_ppfs_parsespec.spec_and_mask, i64 0, i64 %idxprom193 + %115 = load i16, i16* %arrayidx194, align 2 + %conv195 = sext i16 %115 to i32 + %and196 = and i32 %or192, %conv195 + %arrayidx197 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 2 + store i32 %and196, i32* %arrayidx197, align 4 + store i8* getelementptr inbounds ([21 x i8], [21 x i8]* @_ppfs_parsespec.spec_chars, i64 0, i64 0), i8** %p, align 8 + br label %do.end202 + +do.cond199: ; preds = %do.body162 + %incdec.ptr200 = getelementptr inbounds i8, i8* %101, i32 1 + store i8* %incdec.ptr200, i8** %p, align 8 + %116 = load i8, i8* %incdec.ptr200, align 1 + %tobool201 = icmp ne i8 %116, 0 + br i1 %tobool201, label %do.body162, label %do.end202 + +do.end202: ; preds = %do.cond199, %while.end185 + %117 = load i8*, i8** %fmt, align 8 + %118 = load i8, i8* %117, align 1 + %conv203 = sext i8 %118 to i32 + %119 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info204 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %119, i32 0, i32 1 + %spec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info204, i32 0, i32 2 + store i32 %conv203, i32* %spec, align 8 + %120 = load i32, i32* %preci, align 4 + %121 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info205 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %121, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info205, i32 0, i32 0 + store i32 %120, i32* %prec, align 8 + %122 = load i32, i32* %width, align 4 + %123 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info206 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %123, i32 0, i32 1 + %width207 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info206, i32 0, i32 1 + store i32 %122, i32* %width207, align 4 + %124 = load i32, i32* %flags, align 4 + %and208 = and i32 %124, 4 + %tobool209 = icmp ne i32 %and208, 0 + %125 = zext i1 %tobool209 to i64 + %cond = select i1 %tobool209, i32 48, i32 32 + %126 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info210 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %126, i32 0, i32 1 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info210, i32 0, i32 4 + store i32 %cond, i32* %pad, align 8 + %127 = load i32, i32* %flags, align 4 + %and211 = and i32 %127, -5 + %128 = load i32, i32* %dataargtype, align 4 + %and212 = and i32 %128, 3840 + %or213 = or i32 %and211, %and212 + %129 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info214 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %129, i32 0, i32 1 + %_flags215 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info214, i32 0, i32 3 + store i32 %or213, i32* %_flags215, align 4 + %130 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %130, i32 0, i32 3 + store i32 1, i32* %num_data_args, align 8 + %131 = load i8*, i8** %p, align 8 + %132 = load i8, i8* %131, align 1 + %tobool216 = icmp ne i8 %132, 0 + br i1 %tobool216, label %if.end218, label %if.then217 + +if.then217: ; preds = %do.end202 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end218: ; preds = %do.end202 + %133 = load i32, i32* %maxposarg, align 4 + %cmp219 = icmp sgt i32 %133, 0 + br i1 %cmp219, label %if.then221, label %if.else265 + +if.then221: ; preds = %if.end218 + store i32 0, i32* %i, align 4 + br label %do.body222 + +do.body222: ; preds = %do.cond258, %if.then221 + %134 = load i32, i32* %i, align 4 + %cmp223 = icmp sle i32 %134, 2 + br i1 %cmp223, label %cond.true, label %cond.false + +cond.true: ; preds = %do.body222 + %135 = load i32, i32* %i, align 4 + %idxprom225 = sext i32 %135 to i64 + %arrayidx226 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 %idxprom225 + %136 = load i32, i32* %arrayidx226, align 4 + %conv227 = trunc i32 %136 to i8 + %137 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber228 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %137, i32 0, i32 5 + %138 = load i32, i32* %i, align 4 + %idxprom229 = sext i32 %138 to i64 + %arrayidx230 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber228, i64 0, i64 %idxprom229 + store i8 %conv227, i8* %arrayidx230, align 1 + %conv231 = zext i8 %conv227 to i32 + br label %cond.end + +cond.false: ; preds = %do.body222 + %arrayidx232 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 2 + %139 = load i32, i32* %arrayidx232, align 4 + %140 = load i32, i32* %i, align 4 + %sub233 = sub nsw i32 %140, 2 + %add234 = add nsw i32 %139, %sub233 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond235 = phi i32 [ %conv231, %cond.true ], [ %add234, %cond.false ] + store i32 %cond235, i32* %n, align 4 + %141 = load i32, i32* %n, align 4 + %142 = load i32, i32* %maxposarg, align 4 + %cmp236 = icmp sgt i32 %141, %142 + br i1 %cmp236, label %if.then238, label %if.end243 + +if.then238: ; preds = %cond.end + %143 = load i32, i32* %n, align 4 + store i32 %143, i32* %maxposarg, align 4 + %cmp239 = icmp sgt i32 %143, 9 + br i1 %cmp239, label %if.then241, label %if.end243 + +if.then241: ; preds = %if.then238 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end243: ; preds = %if.then238, %cond.end + %144 = load i32, i32* %n, align 4 + %dec = add nsw i32 %144, -1 + store i32 %dec, i32* %n, align 4 + %145 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype244 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %145, i32 0, i32 6 + %146 = load i32, i32* %n, align 4 + %idxprom245 = sext i32 %146 to i64 + %arrayidx246 = getelementptr inbounds [9 x i32], [9 x i32]* %argtype244, i64 0, i64 %idxprom245 + %147 = load i32, i32* %arrayidx246, align 4 + %148 = load i32, i32* %i, align 4 + %idxprom247 = sext i32 %148 to i64 + %arrayidx248 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 %idxprom247 + %149 = load i32, i32* %arrayidx248, align 4 + %call249 = call i32 @_is_equal_or_bigger_arg(i32 %147, i32 %149) #19 + %tobool250 = icmp ne i32 %call249, 0 + br i1 %tobool250, label %if.then251, label %do.cond258 + +if.then251: ; preds = %if.end243 + %150 = load i32, i32* %i, align 4 + %idxprom252 = sext i32 %150 to i64 + %arrayidx253 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 %idxprom252 + %151 = load i32, i32* %arrayidx253, align 4 + %152 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype254 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %152, i32 0, i32 6 + %153 = load i32, i32* %n, align 4 + %idxprom255 = sext i32 %153 to i64 + %arrayidx256 = getelementptr inbounds [9 x i32], [9 x i32]* %argtype254, i64 0, i64 %idxprom255 + store i32 %151, i32* %arrayidx256, align 4 + br label %do.cond258 + +do.cond258: ; preds = %if.end243, %if.then251 + %154 = load i32, i32* %i, align 4 + %inc259 = add nsw i32 %154, 1 + store i32 %inc259, i32* %i, align 4 + %155 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args260 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %155, i32 0, i32 3 + %156 = load i32, i32* %num_data_args260, align 8 + %add261 = add nsw i32 %156, 2 + %cmp262 = icmp slt i32 %inc259, %add261 + br i1 %cmp262, label %do.body222, label %if.end276 + +if.else265: ; preds = %if.end218 + %157 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber266 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %157, i32 0, i32 5 + %arrayidx267 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber266, i64 0, i64 2 + store i8 1, i8* %arrayidx267, align 2 + %158 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype268 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %158, i32 0, i32 6 + %arraydecay269 = getelementptr inbounds [9 x i32], [9 x i32]* %argtype268, i64 0, i64 0 + %159 = bitcast i32* %arraydecay269 to i8* + %arraydecay270 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 0 + %add.ptr271 = getelementptr inbounds i32, i32* %arraydecay270, i64 2 + %160 = bitcast i32* %add.ptr271 to i8* + %161 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args272 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %161, i32 0, i32 3 + %162 = load i32, i32* %num_data_args272, align 8 + %conv273 = sext i32 %162 to i64 + %mul274 = mul i64 %conv273, 4 + %call275 = call i8* @memcpy(i8* %159, i8* %160, i64 %mul274) #20 + br label %if.end276 + +if.end276: ; preds = %do.cond258, %if.else265 + %163 = load i32, i32* %maxposarg, align 4 + %164 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg277 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %164, i32 0, i32 2 + store i32 %163, i32* %maxposarg277, align 4 + %165 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info278 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %165, i32 0, i32 1 + %_flags279 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info278, i32 0, i32 3 + %166 = load i32, i32* %_flags279, align 4 + %and280 = and i32 %166, 128 + store i32 %and280, i32* %flags, align 4 + %cmp281 = icmp eq i32 %and280, 0 + br i1 %cmp281, label %if.then283, label %if.else286 + +if.then283: ; preds = %if.end276 + %167 = load i8*, i8** %fmt, align 8 + %incdec.ptr284 = getelementptr inbounds i8, i8* %167, i32 1 + store i8* %incdec.ptr284, i8** %fmt, align 8 + %168 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos285 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %168, i32 0, i32 0 + store i8* %incdec.ptr284, i8** %fmtpos285, align 8 + br label %if.end293 + +if.else286: ; preds = %if.end276 + %169 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos287 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %169, i32 0, i32 0 + %170 = load i8*, i8** %fmtpos287, align 8 + %171 = bitcast i8* %170 to i32* + %172 = load i8*, i8** %fmt, align 8 + %arraydecay288 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 0 + %sub.ptr.lhs.cast289 = ptrtoint i8* %172 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %arraydecay288 to i64 + %sub.ptr.sub290 = sub i64 %sub.ptr.lhs.cast289, %sub.ptr.rhs.cast + %add.ptr291 = getelementptr inbounds i32, i32* %171, i64 %sub.ptr.sub290 + %173 = bitcast i32* %add.ptr291 to i8* + %174 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos292 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %174, i32 0, i32 0 + store i8* %173, i8** %fmtpos292, align 8 + br label %if.end293 + +if.end293: ; preds = %if.else286, %if.then283 + %175 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args294 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %175, i32 0, i32 3 + %176 = load i32, i32* %num_data_args294, align 8 + %add295 = add nsw i32 %176, 2 + store i32 %add295, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end293, %if.then241, %if.then217, %if.then160, %if.then120, %if.then111, %if.then66, %if.then56, %if.then16 + %177 = load i32, i32* %retval, align 4 + ret i32 %177 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_is_equal_or_bigger_arg(i32 %curtype, i32 %newtype) #0 { +entry: + %retval = alloca i32, align 4 + %curtype.addr = alloca i32, align 4 + %newtype.addr = alloca i32, align 4 + store i32 %curtype, i32* %curtype.addr, align 4 + store i32 %newtype, i32* %newtype.addr, align 4 + %0 = load i32, i32* %newtype.addr, align 4 + %cmp = icmp eq i32 %0, 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %1 = load i32, i32* %curtype.addr, align 4 + %cmp1 = icmp eq i32 %1, 8 + br i1 %cmp1, label %if.then3, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %2 = load i32, i32* %curtype.addr, align 4 + %3 = load i32, i32* %newtype.addr, align 4 + %cmp2 = icmp eq i32 %2, %3 + br i1 %cmp2, label %if.then3, label %if.end4 + +if.then3: ; preds = %lor.lhs.false, %if.end + store i32 1, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %lor.lhs.false + %4 = load i32, i32* %curtype.addr, align 4 + %call = call i32 @_promoted_size(i32 %4) #19 + %5 = load i32, i32* %newtype.addr, align 4 + %call5 = call i32 @_promoted_size(i32 %5) #19 + %cmp6 = icmp sle i32 %call, %call5 + %conv = zext i1 %cmp6 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_promoted_size(i32 %argtype) #0 { +entry: + %argtype.addr = alloca i32, align 4 + %p = alloca i16*, align 8 + store i32 %argtype, i32* %argtype.addr, align 4 + store i16* getelementptr inbounds (i16, i16* getelementptr inbounds ([12 x i16], [12 x i16]* @type_codes, i64 0, i64 0), i64 12), i16** %p, align 8 + br label %do.body + +do.body: ; preds = %do.body, %entry + %0 = load i16*, i16** %p, align 8 + %incdec.ptr = getelementptr inbounds i16, i16* %0, i32 -1 + store i16* %incdec.ptr, i16** %p, align 8 + %1 = load i16, i16* %incdec.ptr, align 2 + %conv = sext i16 %1 to i32 + %2 = load i32, i32* %argtype.addr, align 4 + %cmp = icmp ne i32 %conv, %2 + %3 = load i16*, i16** %p, align 8 + %cmp2 = icmp ugt i16* %3, getelementptr inbounds ([12 x i16], [12 x i16]* @type_codes, i64 0, i64 0) + %or.cond = and i1 %cmp, %cmp2 + br i1 %or.cond, label %do.body, label %do.end + +do.end: ; preds = %do.body + %4 = load i16*, i16** %p, align 8 + %sub.ptr.lhs.cast = ptrtoint i16* %4 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, ptrtoint ([12 x i16]* @type_codes to i64) + %sub.ptr.div = sdiv exact i64 %sub.ptr.sub, 2 + %conv4 = trunc i64 %sub.ptr.div to i32 + %idxprom = sext i32 %conv4 to i64 + %arrayidx = getelementptr inbounds [12 x i8], [12 x i8]* @type_sizes, i64 0, i64 %idxprom + %5 = load i8, i8* %arrayidx, align 1 + %conv5 = zext i8 %5 to i32 + ret i32 %conv5 +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_ppfs_prepargs(%struct.ppfs_t.722* %ppfs, %struct.__va_list_tag.0* %arg) #0 { +entry: + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %arg.addr = alloca %struct.__va_list_tag.0*, align 8 + %i = alloca i32, align 4 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store %struct.__va_list_tag.0* %arg, %struct.__va_list_tag.0** %arg.addr, align 8 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg1 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %0, i32 0, i32 7 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg1, i64 0, i64 0 + %1 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %arg.addr, align 8 + %2 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + %3 = bitcast %struct.__va_list_tag.0* %1 to i8* + %vacopy.cast.dst = bitcast i8* %2 to i64* + %vacopy.cast.src = bitcast i8* %3 to i64* + %4 = load i64, i64* %vacopy.cast.src, align 8 + store volatile i64 %4, i64* %vacopy.cast.dst, align 8 + %5 = getelementptr i64, i64* %vacopy.cast.dst, i64 1 + %6 = getelementptr i64, i64* %vacopy.cast.src, i64 1 + %7 = load i64, i64* %6, align 8 + store i64 %7, i64* %5, align 8 + %8 = getelementptr i64, i64* %5, i64 1 + %9 = getelementptr i64, i64* %6, i64 1 + %10 = load i64, i64* %9, align 8 + store i64 %10, i64* %8, align 8 + %11 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %11, i32 0, i32 2 + %12 = load i32, i32* %maxposarg, align 4 + store i32 %12, i32* %i, align 4 + %cmp = icmp sgt i32 %12, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %13 = load i32, i32* %i, align 4 + %14 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %14, i32 0, i32 3 + store i32 %13, i32* %num_data_args, align 8 + %15 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg2 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %15, i32 0, i32 2 + store i32 0, i32* %maxposarg2, align 4 + %16 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %16, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 0 + store i32 0, i32* %prec, align 8 + %17 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info3 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %17, i32 0, i32 1 + %width = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info3, i32 0, i32 1 + store i32 0, i32* %width, align 4 + %18 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + call void @_ppfs_setargs(%struct.ppfs_t.722* %18) #19 + %19 = load i32, i32* %i, align 4 + %20 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg4 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %20, i32 0, i32 2 + store i32 %19, i32* %maxposarg4, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + ret void +} + +; Function Attrs: nounwind +declare void @llvm.va_copy(i8*, i8*) #11 + +; Function Attrs: noinline nounwind uwtable +define hidden void @_ppfs_setargs(%struct.ppfs_t.722* %ppfs) #0 { +entry: + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %p = alloca %union.anon.193*, align 8 + %i = alloca i32, align 4 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argvalue = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %0, i32 0, i32 8 + %arraydecay = getelementptr inbounds [9 x %union.anon.193], [9 x %union.anon.193]* %argvalue, i64 0, i64 0 + store %union.anon.193* %arraydecay, %union.anon.193** %p, align 8 + %1 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %1, i32 0, i32 2 + %2 = load i32, i32* %maxposarg, align 4 + %cmp = icmp eq i32 %2, 0 + %3 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %3, i32 0, i32 1 + %width = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 1 + %4 = load i32, i32* %width, align 4 + %cmp1 = icmp eq i32 %4, -2147483648 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + br i1 %cmp1, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + %5 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %5, i32 0, i32 7 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 8 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then2 + %6 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 3 + %reg_save_area = load i8*, i8** %6, align 8 + %7 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %8 = bitcast i8* %7 to i32* + %9 = add i32 %gp_offset, 8 + store i32 %9, i32* %gp_offset_p, align 8 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then2 + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %10 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %8, %vaarg.in_reg ], [ %10, %vaarg.in_mem ] + %11 = load i32, i32* %vaarg.addr, align 4 + %12 = load %union.anon.193*, %union.anon.193** %p, align 8 + %u = bitcast %union.anon.193* %12 to i32* + store i32 %11, i32* %u, align 8 + %13 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info4 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %13, i32 0, i32 1 + %width5 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info4, i32 0, i32 1 + store i32 %11, i32* %width5, align 4 + br label %if.end + +if.end: ; preds = %vaarg.end, %if.then + %14 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info6 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %14, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info6, i32 0, i32 0 + %15 = load i32, i32* %prec, align 8 + %cmp7 = icmp eq i32 %15, -2147483648 + br i1 %cmp7, label %if.then8, label %if.end25 + +if.then8: ; preds = %if.end + %16 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg9 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %16, i32 0, i32 7 + %arraydecay10 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg9, i64 0, i64 0 + %gp_offset_p11 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay10, i32 0, i32 0 + %gp_offset12 = load i32, i32* %gp_offset_p11, align 8 + %fits_in_gp13 = icmp ule i32 %gp_offset12, 40 + br i1 %fits_in_gp13, label %vaarg.in_reg14, label %vaarg.in_mem16 + +vaarg.in_reg14: ; preds = %if.then8 + %17 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay10, i32 0, i32 3 + %reg_save_area15 = load i8*, i8** %17, align 8 + %18 = getelementptr i8, i8* %reg_save_area15, i32 %gp_offset12 + %19 = bitcast i8* %18 to i32* + %20 = add i32 %gp_offset12, 8 + store i32 %20, i32* %gp_offset_p11, align 8 + br label %vaarg.end20 + +vaarg.in_mem16: ; preds = %if.then8 + %overflow_arg_area_p17 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay10, i32 0, i32 2 + %overflow_arg_area18 = load i8*, i8** %overflow_arg_area_p17, align 8 + %21 = bitcast i8* %overflow_arg_area18 to i32* + %overflow_arg_area.next19 = getelementptr i8, i8* %overflow_arg_area18, i32 8 + store i8* %overflow_arg_area.next19, i8** %overflow_arg_area_p17, align 8 + br label %vaarg.end20 + +vaarg.end20: ; preds = %vaarg.in_mem16, %vaarg.in_reg14 + %vaarg.addr21 = phi i32* [ %19, %vaarg.in_reg14 ], [ %21, %vaarg.in_mem16 ] + %22 = load i32, i32* %vaarg.addr21, align 4 + %23 = load %union.anon.193*, %union.anon.193** %p, align 8 + %u22 = bitcast %union.anon.193* %23 to i32* + store i32 %22, i32* %u22, align 8 + %24 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info23 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %24, i32 0, i32 1 + %prec24 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info23, i32 0, i32 0 + store i32 %22, i32* %prec24, align 8 + br label %if.end25 + +if.end25: ; preds = %vaarg.end20, %if.end + store i32 0, i32* %i, align 4 + br label %while.cond + +while.cond: ; preds = %NodeBlock, %sw.epilog, %if.end25 + %25 = load i32, i32* %i, align 4 + %26 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %26, i32 0, i32 3 + %27 = load i32, i32* %num_data_args, align 8 + %cmp26 = icmp slt i32 %25, %27 + br i1 %cmp26, label %while.body, label %if.end149 + +while.body: ; preds = %while.cond + %28 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %28, i32 0, i32 6 + %29 = load i32, i32* %i, align 4 + %inc = add nsw i32 %29, 1 + store i32 %inc, i32* %i, align 4 + %idxprom = sext i32 %29 to i64 + %arrayidx = getelementptr inbounds [9 x i32], [9 x i32]* %argtype, i64 0, i64 %idxprom + %30 = load i32, i32* %arrayidx, align 4 + br label %NodeBlock17 + +NodeBlock17: ; preds = %while.body + %case.cmp18 = icmp eq i32 %30, 2048 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %30, 1024 + br i1 %case.cmp16, label %sw.bb40, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %30, 1 + br i1 %case.cmp14, label %sw.bb54, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %30, 256 + br i1 %case.cmp12, label %sw.bb54, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %30, 512 + br i1 %case.cmp10, label %sw.bb54, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %30, 0 + br i1 %case.cmp8, label %sw.bb54, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %30, 2 + br i1 %case.cmp6, label %sw.bb69, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %30, 7 + br i1 %case.cmp4, label %sw.bb83, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %30, 2055 + br i1 %case.cmp2, label %sw.bb94, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %30, 8 + br i1 %case.cmp, label %while.cond, label %newDefault + +sw.bb: ; preds = %NodeBlock17 + %31 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg27 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %31, i32 0, i32 7 + %arraydecay28 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg27, i64 0, i64 0 + %gp_offset_p29 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay28, i32 0, i32 0 + %gp_offset30 = load i32, i32* %gp_offset_p29, align 8 + %fits_in_gp31 = icmp ule i32 %gp_offset30, 40 + br i1 %fits_in_gp31, label %vaarg.in_reg32, label %vaarg.in_mem34 + +vaarg.in_reg32: ; preds = %sw.bb + %32 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay28, i32 0, i32 3 + %reg_save_area33 = load i8*, i8** %32, align 8 + %33 = getelementptr i8, i8* %reg_save_area33, i32 %gp_offset30 + %34 = bitcast i8* %33 to i64* + %35 = add i32 %gp_offset30, 8 + store i32 %35, i32* %gp_offset_p29, align 8 + br label %vaarg.end38 + +vaarg.in_mem34: ; preds = %sw.bb + %overflow_arg_area_p35 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay28, i32 0, i32 2 + %overflow_arg_area36 = load i8*, i8** %overflow_arg_area_p35, align 8 + %36 = bitcast i8* %overflow_arg_area36 to i64* + %overflow_arg_area.next37 = getelementptr i8, i8* %overflow_arg_area36, i32 8 + store i8* %overflow_arg_area.next37, i8** %overflow_arg_area_p35, align 8 + br label %vaarg.end38 + +vaarg.end38: ; preds = %vaarg.in_mem34, %vaarg.in_reg32 + %vaarg.addr39 = phi i64* [ %34, %vaarg.in_reg32 ], [ %36, %vaarg.in_mem34 ] + %37 = load i64, i64* %vaarg.addr39, align 8 + %38 = load %union.anon.193*, %union.anon.193** %p, align 8 + %ull = bitcast %union.anon.193* %38 to i64* + store i64 %37, i64* %ull, align 8 + br label %sw.epilog + +sw.bb40: ; preds = %NodeBlock15 + %39 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg41 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %39, i32 0, i32 7 + %arraydecay42 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg41, i64 0, i64 0 + %gp_offset_p43 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay42, i32 0, i32 0 + %gp_offset44 = load i32, i32* %gp_offset_p43, align 8 + %fits_in_gp45 = icmp ule i32 %gp_offset44, 40 + br i1 %fits_in_gp45, label %vaarg.in_reg46, label %vaarg.in_mem48 + +vaarg.in_reg46: ; preds = %sw.bb40 + %40 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay42, i32 0, i32 3 + %reg_save_area47 = load i8*, i8** %40, align 8 + %41 = getelementptr i8, i8* %reg_save_area47, i32 %gp_offset44 + %42 = bitcast i8* %41 to i64* + %43 = add i32 %gp_offset44, 8 + store i32 %43, i32* %gp_offset_p43, align 8 + br label %vaarg.end52 + +vaarg.in_mem48: ; preds = %sw.bb40 + %overflow_arg_area_p49 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay42, i32 0, i32 2 + %overflow_arg_area50 = load i8*, i8** %overflow_arg_area_p49, align 8 + %44 = bitcast i8* %overflow_arg_area50 to i64* + %overflow_arg_area.next51 = getelementptr i8, i8* %overflow_arg_area50, i32 8 + store i8* %overflow_arg_area.next51, i8** %overflow_arg_area_p49, align 8 + br label %vaarg.end52 + +vaarg.end52: ; preds = %vaarg.in_mem48, %vaarg.in_reg46 + %vaarg.addr53 = phi i64* [ %42, %vaarg.in_reg46 ], [ %44, %vaarg.in_mem48 ] + %45 = load i64, i64* %vaarg.addr53, align 8 + %46 = load %union.anon.193*, %union.anon.193** %p, align 8 + %ul = bitcast %union.anon.193* %46 to i64* + store i64 %45, i64* %ul, align 8 + br label %sw.epilog + +sw.bb54: ; preds = %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7 + %47 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg55 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %47, i32 0, i32 7 + %arraydecay56 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg55, i64 0, i64 0 + %gp_offset_p57 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay56, i32 0, i32 0 + %gp_offset58 = load i32, i32* %gp_offset_p57, align 8 + %fits_in_gp59 = icmp ule i32 %gp_offset58, 40 + br i1 %fits_in_gp59, label %vaarg.in_reg60, label %vaarg.in_mem62 + +vaarg.in_reg60: ; preds = %sw.bb54 + %48 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay56, i32 0, i32 3 + %reg_save_area61 = load i8*, i8** %48, align 8 + %49 = getelementptr i8, i8* %reg_save_area61, i32 %gp_offset58 + %50 = bitcast i8* %49 to i32* + %51 = add i32 %gp_offset58, 8 + store i32 %51, i32* %gp_offset_p57, align 8 + br label %vaarg.end66 + +vaarg.in_mem62: ; preds = %sw.bb54 + %overflow_arg_area_p63 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay56, i32 0, i32 2 + %overflow_arg_area64 = load i8*, i8** %overflow_arg_area_p63, align 8 + %52 = bitcast i8* %overflow_arg_area64 to i32* + %overflow_arg_area.next65 = getelementptr i8, i8* %overflow_arg_area64, i32 8 + store i8* %overflow_arg_area.next65, i8** %overflow_arg_area_p63, align 8 + br label %vaarg.end66 + +vaarg.end66: ; preds = %vaarg.in_mem62, %vaarg.in_reg60 + %vaarg.addr67 = phi i32* [ %50, %vaarg.in_reg60 ], [ %52, %vaarg.in_mem62 ] + %53 = load i32, i32* %vaarg.addr67, align 4 + %54 = load %union.anon.193*, %union.anon.193** %p, align 8 + %u68 = bitcast %union.anon.193* %54 to i32* + store i32 %53, i32* %u68, align 8 + br label %sw.epilog + +sw.bb69: ; preds = %NodeBlock5 + %55 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg70 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %55, i32 0, i32 7 + %arraydecay71 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg70, i64 0, i64 0 + %gp_offset_p72 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay71, i32 0, i32 0 + %gp_offset73 = load i32, i32* %gp_offset_p72, align 8 + %fits_in_gp74 = icmp ule i32 %gp_offset73, 40 + br i1 %fits_in_gp74, label %vaarg.in_reg75, label %vaarg.in_mem77 + +vaarg.in_reg75: ; preds = %sw.bb69 + %56 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay71, i32 0, i32 3 + %reg_save_area76 = load i8*, i8** %56, align 8 + %57 = getelementptr i8, i8* %reg_save_area76, i32 %gp_offset73 + %58 = bitcast i8* %57 to i32* + %59 = add i32 %gp_offset73, 8 + store i32 %59, i32* %gp_offset_p72, align 8 + br label %vaarg.end81 + +vaarg.in_mem77: ; preds = %sw.bb69 + %overflow_arg_area_p78 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay71, i32 0, i32 2 + %overflow_arg_area79 = load i8*, i8** %overflow_arg_area_p78, align 8 + %60 = bitcast i8* %overflow_arg_area79 to i32* + %overflow_arg_area.next80 = getelementptr i8, i8* %overflow_arg_area79, i32 8 + store i8* %overflow_arg_area.next80, i8** %overflow_arg_area_p78, align 8 + br label %vaarg.end81 + +vaarg.end81: ; preds = %vaarg.in_mem77, %vaarg.in_reg75 + %vaarg.addr82 = phi i32* [ %58, %vaarg.in_reg75 ], [ %60, %vaarg.in_mem77 ] + %61 = load i32, i32* %vaarg.addr82, align 4 + %62 = load %union.anon.193*, %union.anon.193** %p, align 8 + %wc = bitcast %union.anon.193* %62 to i32* + store i32 %61, i32* %wc, align 8 + br label %sw.epilog + +sw.bb83: ; preds = %NodeBlock3 + %63 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg84 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %63, i32 0, i32 7 + %arraydecay85 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg84, i64 0, i64 0 + %fp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay85, i32 0, i32 1 + %fp_offset = load i32, i32* %fp_offset_p, align 4 + %fits_in_fp = icmp ule i32 %fp_offset, 160 + br i1 %fits_in_fp, label %vaarg.in_reg86, label %vaarg.in_mem88 + +vaarg.in_reg86: ; preds = %sw.bb83 + %64 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay85, i32 0, i32 3 + %reg_save_area87 = load i8*, i8** %64, align 8 + %65 = getelementptr i8, i8* %reg_save_area87, i32 %fp_offset + %66 = bitcast i8* %65 to double* + %67 = add i32 %fp_offset, 16 + store i32 %67, i32* %fp_offset_p, align 4 + br label %vaarg.end92 + +vaarg.in_mem88: ; preds = %sw.bb83 + %overflow_arg_area_p89 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay85, i32 0, i32 2 + %overflow_arg_area90 = load i8*, i8** %overflow_arg_area_p89, align 8 + %68 = bitcast i8* %overflow_arg_area90 to double* + %overflow_arg_area.next91 = getelementptr i8, i8* %overflow_arg_area90, i32 8 + store i8* %overflow_arg_area.next91, i8** %overflow_arg_area_p89, align 8 + br label %vaarg.end92 + +vaarg.end92: ; preds = %vaarg.in_mem88, %vaarg.in_reg86 + %vaarg.addr93 = phi double* [ %66, %vaarg.in_reg86 ], [ %68, %vaarg.in_mem88 ] + %69 = load double, double* %vaarg.addr93, align 8 + %70 = load %union.anon.193*, %union.anon.193** %p, align 8 + %d = bitcast %union.anon.193* %70 to double* + store double %69, double* %d, align 8 + br label %sw.epilog + +sw.bb94: ; preds = %NodeBlock1 + %71 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg95 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %71, i32 0, i32 7 + %arraydecay96 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg95, i64 0, i64 0 + %fp_offset_p97 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay96, i32 0, i32 1 + %fp_offset98 = load i32, i32* %fp_offset_p97, align 4 + %fits_in_fp99 = icmp ule i32 %fp_offset98, 160 + br i1 %fits_in_fp99, label %vaarg.in_reg100, label %vaarg.in_mem102 + +vaarg.in_reg100: ; preds = %sw.bb94 + %72 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay96, i32 0, i32 3 + %reg_save_area101 = load i8*, i8** %72, align 8 + %73 = getelementptr i8, i8* %reg_save_area101, i32 %fp_offset98 + %74 = bitcast i8* %73 to double* + %75 = add i32 %fp_offset98, 16 + store i32 %75, i32* %fp_offset_p97, align 4 + br label %vaarg.end106 + +vaarg.in_mem102: ; preds = %sw.bb94 + %overflow_arg_area_p103 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay96, i32 0, i32 2 + %overflow_arg_area104 = load i8*, i8** %overflow_arg_area_p103, align 8 + %76 = bitcast i8* %overflow_arg_area104 to double* + %overflow_arg_area.next105 = getelementptr i8, i8* %overflow_arg_area104, i32 8 + store i8* %overflow_arg_area.next105, i8** %overflow_arg_area_p103, align 8 + br label %vaarg.end106 + +vaarg.end106: ; preds = %vaarg.in_mem102, %vaarg.in_reg100 + %vaarg.addr107 = phi double* [ %74, %vaarg.in_reg100 ], [ %76, %vaarg.in_mem102 ] + %77 = load double, double* %vaarg.addr107, align 8 + %78 = load %union.anon.193*, %union.anon.193** %p, align 8 + %ld = bitcast %union.anon.193* %78 to double* + store double %77, double* %ld, align 8 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.bb108 + +sw.bb108: ; preds = %newDefault + %79 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg109 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %79, i32 0, i32 7 + %arraydecay110 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg109, i64 0, i64 0 + %gp_offset_p111 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay110, i32 0, i32 0 + %gp_offset112 = load i32, i32* %gp_offset_p111, align 8 + %fits_in_gp113 = icmp ule i32 %gp_offset112, 40 + br i1 %fits_in_gp113, label %vaarg.in_reg114, label %vaarg.in_mem116 + +vaarg.in_reg114: ; preds = %sw.bb108 + %80 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay110, i32 0, i32 3 + %reg_save_area115 = load i8*, i8** %80, align 8 + %81 = getelementptr i8, i8* %reg_save_area115, i32 %gp_offset112 + %82 = bitcast i8* %81 to i8** + %83 = add i32 %gp_offset112, 8 + store i32 %83, i32* %gp_offset_p111, align 8 + br label %vaarg.end120 + +vaarg.in_mem116: ; preds = %sw.bb108 + %overflow_arg_area_p117 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay110, i32 0, i32 2 + %overflow_arg_area118 = load i8*, i8** %overflow_arg_area_p117, align 8 + %84 = bitcast i8* %overflow_arg_area118 to i8** + %overflow_arg_area.next119 = getelementptr i8, i8* %overflow_arg_area118, i32 8 + store i8* %overflow_arg_area.next119, i8** %overflow_arg_area_p117, align 8 + br label %vaarg.end120 + +vaarg.end120: ; preds = %vaarg.in_mem116, %vaarg.in_reg114 + %vaarg.addr121 = phi i8** [ %82, %vaarg.in_reg114 ], [ %84, %vaarg.in_mem116 ] + %85 = load i8*, i8** %vaarg.addr121, align 8 + %86 = load %union.anon.193*, %union.anon.193** %p, align 8 + %p122 = bitcast %union.anon.193* %86 to i8** + store i8* %85, i8** %p122, align 8 + br label %sw.epilog + +sw.epilog: ; preds = %vaarg.end120, %vaarg.end106, %vaarg.end92, %vaarg.end81, %vaarg.end66, %vaarg.end52, %vaarg.end38 + %87 = load %union.anon.193*, %union.anon.193** %p, align 8 + %incdec.ptr = getelementptr inbounds %union.anon.193, %union.anon.193* %87, i32 1 + store %union.anon.193* %incdec.ptr, %union.anon.193** %p, align 8 + br label %while.cond + +if.else: ; preds = %entry + br i1 %cmp1, label %if.then127, label %if.end133 + +if.then127: ; preds = %if.else + %88 = load %union.anon.193*, %union.anon.193** %p, align 8 + %89 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %89, i32 0, i32 5 + %arrayidx128 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber, i64 0, i64 0 + %90 = load i8, i8* %arrayidx128, align 8 + %conv = zext i8 %90 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds %union.anon.193, %union.anon.193* %88, i64 %idx.ext + %add.ptr129 = getelementptr inbounds %union.anon.193, %union.anon.193* %add.ptr, i64 -1 + %u130 = bitcast %union.anon.193* %add.ptr129 to i32* + %91 = load i32, i32* %u130, align 8 + %92 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info131 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %92, i32 0, i32 1 + %width132 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info131, i32 0, i32 1 + store i32 %91, i32* %width132, align 4 + br label %if.end133 + +if.end133: ; preds = %if.then127, %if.else + %93 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info134 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %93, i32 0, i32 1 + %prec135 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info134, i32 0, i32 0 + %94 = load i32, i32* %prec135, align 8 + %cmp136 = icmp eq i32 %94, -2147483648 + br i1 %cmp136, label %if.then138, label %if.end149 + +if.then138: ; preds = %if.end133 + %95 = load %union.anon.193*, %union.anon.193** %p, align 8 + %96 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber139 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %96, i32 0, i32 5 + %arrayidx140 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber139, i64 0, i64 1 + %97 = load i8, i8* %arrayidx140, align 1 + %conv141 = zext i8 %97 to i32 + %idx.ext142 = sext i32 %conv141 to i64 + %add.ptr143 = getelementptr inbounds %union.anon.193, %union.anon.193* %95, i64 %idx.ext142 + %add.ptr144 = getelementptr inbounds %union.anon.193, %union.anon.193* %add.ptr143, i64 -1 + %u145 = bitcast %union.anon.193* %add.ptr144 to i32* + %98 = load i32, i32* %u145, align 8 + %99 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info146 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %99, i32 0, i32 1 + %prec147 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info146, i32 0, i32 0 + store i32 %98, i32* %prec147, align 8 + br label %if.end149 + +if.end149: ; preds = %if.end133, %if.then138, %while.cond + %100 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info150 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %100, i32 0, i32 1 + %width151 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info150, i32 0, i32 1 + %101 = load i32, i32* %width151, align 4 + %cmp152 = icmp slt i32 %101, 0 + br i1 %cmp152, label %if.then154, label %if.end163 + +if.then154: ; preds = %if.end149 + %102 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info155 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %102, i32 0, i32 1 + %width156 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info155, i32 0, i32 1 + %103 = load i32, i32* %width156, align 4 + %sub = sub nsw i32 0, %103 + %104 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info157 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %104, i32 0, i32 1 + %width158 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info157, i32 0, i32 1 + store i32 %sub, i32* %width158, align 4 + %105 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info159 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %105, i32 0, i32 1 + %_flags = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info159, i32 0, i32 3 + %106 = load i32, i32* %_flags, align 4 + %or = or i32 %106, 8 + store i32 %or, i32* %_flags, align 4 + %107 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info160 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %107, i32 0, i32 1 + %_flags161 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info160, i32 0, i32 3 + %108 = load i32, i32* %_flags161, align 4 + %and = and i32 %108, -2 + store i32 %and, i32* %_flags161, align 4 + %109 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info162 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %109, i32 0, i32 1 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info162, i32 0, i32 4 + store i32 32, i32* %pad, align 8 + br label %if.end163 + +if.end163: ; preds = %if.then154, %if.end149 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_store_inttype(i8* %dest, i32 %desttype, i64 %val) #0 { +entry: + %dest.addr = alloca i8*, align 8 + %desttype.addr = alloca i32, align 4 + %val.addr = alloca i64, align 8 + store i8* %dest, i8** %dest.addr, align 8 + store i32 %desttype, i32* %desttype.addr, align 4 + store i64 %val, i64* %val.addr, align 8 + %0 = load i32, i32* %desttype.addr, align 4 + %cmp = icmp eq i32 %0, 256 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load i64, i64* %val.addr, align 8 + %conv = trunc i64 %1 to i8 + %2 = load i8*, i8** %dest.addr, align 8 + store i8 %conv, i8* %2, align 1 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* %desttype.addr, align 4 + %cmp1 = icmp eq i32 %3, 2048 + br i1 %cmp1, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.end + %4 = load i64, i64* %val.addr, align 8 + %5 = load i8*, i8** %dest.addr, align 8 + %6 = bitcast i8* %5 to i64* + store i64 %4, i64* %6, align 8 + br label %return + +if.end4: ; preds = %if.end + %7 = load i32, i32* %desttype.addr, align 4 + %cmp5 = icmp eq i32 %7, 512 + br i1 %cmp5, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end4 + %8 = load i64, i64* %val.addr, align 8 + %conv8 = trunc i64 %8 to i16 + %9 = load i8*, i8** %dest.addr, align 8 + %10 = bitcast i8* %9 to i16* + store i16 %conv8, i16* %10, align 2 + br label %return + +if.end9: ; preds = %if.end4 + %11 = load i32, i32* %desttype.addr, align 4 + %cmp10 = icmp eq i32 %11, 1024 + %12 = load i64, i64* %val.addr, align 8 + br i1 %cmp10, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.end9 + %13 = load i8*, i8** %dest.addr, align 8 + %14 = bitcast i8* %13 to i64* + store i64 %12, i64* %14, align 8 + br label %return + +if.end13: ; preds = %if.end9 + %conv14 = trunc i64 %12 to i32 + %15 = load i8*, i8** %dest.addr, align 8 + %16 = bitcast i8* %15 to i32* + store i32 %conv14, i32* %16, align 4 + br label %return + +return: ; preds = %if.end13, %if.then12, %if.then7, %if.then3, %if.then + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden i8* @_uintmaxtostr(i8* noalias %bufend, i64 %uval, i32 %base, i32 %alphacase) #0 { +entry: + %bufend.addr = alloca i8*, align 8 + %uval.addr = alloca i64, align 8 + %base.addr = alloca i32, align 4 + %alphacase.addr = alloca i32, align 4 + %negative = alloca i32, align 4 + %digit = alloca i32, align 4 + %H = alloca i32, align 4 + %L = alloca i32, align 4 + %high = alloca i32, align 4 + %low = alloca i32, align 4 + %rh = alloca i32, align 4 + %grouping = alloca i32, align 4 + %outdigit = alloca i32, align 4 + %g = alloca i8*, align 8 + store i8* %bufend, i8** %bufend.addr, align 8 + store i64 %uval, i64* %uval.addr, align 8 + store i32 %base, i32* %base.addr, align 4 + store i32 %alphacase, i32* %alphacase.addr, align 4 + store i32 0, i32* %negative, align 4 + %0 = load i32, i32* %base.addr, align 4 + %cmp = icmp slt i32 %0, 0 + br i1 %cmp, label %if.then, label %if.end4 + +if.then: ; preds = %entry + %1 = load i32, i32* %base.addr, align 4 + %sub = sub nsw i32 0, %1 + store i32 %sub, i32* %base.addr, align 4 + %2 = load i64, i64* %uval.addr, align 8 + %cmp1 = icmp ugt i64 %2, 9223372036854775807 + br i1 %cmp1, label %if.then2, label %if.end4 + +if.then2: ; preds = %if.then + %3 = load i64, i64* %uval.addr, align 8 + %sub3 = sub i64 0, %3 + store i64 %sub3, i64* %uval.addr, align 8 + store i32 1, i32* %negative, align 4 + br label %if.end4 + +if.end4: ; preds = %if.then, %if.then2, %entry + store i32 -1, i32* %grouping, align 4 + %4 = load i32, i32* %alphacase.addr, align 4 + %and = and i32 128, %4 + store i32 %and, i32* %outdigit, align 4 + %5 = load i32, i32* %outdigit, align 4 + %6 = load i32, i32* %alphacase.addr, align 4 + %xor = xor i32 %6, %5 + store i32 %xor, i32* %alphacase.addr, align 4 + %7 = load i32, i32* %alphacase.addr, align 4 + %cmp5 = icmp eq i32 %7, 44 + br i1 %cmp5, label %if.then6, label %if.end10 + +if.then6: ; preds = %if.end4 + %8 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %grouping7 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %8, i32 0, i32 41 + %9 = load i8*, i8** %grouping7, align 8 + store i8* %9, i8** %g, align 8 + %10 = load i8, i8* %9, align 1 + %tobool = icmp ne i8 %10, 0 + br i1 %tobool, label %if.then8, label %if.end10 + +if.then8: ; preds = %if.then6 + %11 = load i8*, i8** %g, align 8 + %12 = load i8, i8* %11, align 1 + %conv = sext i8 %12 to i32 + store i32 %conv, i32* %grouping, align 4 + br label %if.end10 + +if.end10: ; preds = %if.then6, %if.then8, %if.end4 + %13 = load i8*, i8** %bufend.addr, align 8 + store i8 0, i8* %13, align 1 + %14 = load i32, i32* %base.addr, align 4 + %div = udiv i32 -1, %14 + store i32 %div, i32* %H, align 4 + %15 = load i32, i32* %base.addr, align 4 + %rem = urem i32 -1, %15 + %add = add i32 %rem, 1 + store i32 %add, i32* %L, align 4 + %16 = load i32, i32* %L, align 4 + %17 = load i32, i32* %base.addr, align 4 + %cmp11 = icmp eq i32 %16, %17 + br i1 %cmp11, label %if.then13, label %if.end14 + +if.then13: ; preds = %if.end10 + %18 = load i32, i32* %H, align 4 + %inc = add i32 %18, 1 + store i32 %inc, i32* %H, align 4 + store i32 0, i32* %L, align 4 + br label %if.end14 + +if.end14: ; preds = %if.then13, %if.end10 + %19 = load i64, i64* %uval.addr, align 8 + %conv15 = trunc i64 %19 to i32 + store i32 %conv15, i32* %low, align 4 + %20 = load i64, i64* %uval.addr, align 8 + %shr = lshr i64 %20, 32 + %conv16 = trunc i64 %shr to i32 + store i32 %conv16, i32* %high, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %if.end14 + %21 = load i32, i32* %grouping, align 4 + %tobool17 = icmp ne i32 %21, 0 + br i1 %tobool17, label %if.end27, label %if.then18 + +if.then18: ; preds = %do.body + %22 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %thousands_sep_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %22, i32 0, i32 27 + %23 = load i32, i32* %thousands_sep_len, align 4 + %24 = load i8*, i8** %bufend.addr, align 8 + %idx.ext = sext i32 %23 to i64 + %idx.neg = sub i64 0, %idx.ext + %add.ptr = getelementptr inbounds i8, i8* %24, i64 %idx.neg + store i8* %add.ptr, i8** %bufend.addr, align 8 + %25 = load i8*, i8** %bufend.addr, align 8 + %26 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %thousands_sep = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %26, i32 0, i32 40 + %27 = load i8*, i8** %thousands_sep, align 8 + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %thousands_sep_len19 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %28, i32 0, i32 27 + %29 = load i32, i32* %thousands_sep_len19, align 4 + %conv20 = sext i32 %29 to i64 + %call = call i8* @memcpy(i8* %25, i8* %27, i64 %conv20) #20 + %30 = load i8*, i8** %g, align 8 + %arrayidx = getelementptr inbounds i8, i8* %30, i64 1 + %31 = load i8, i8* %arrayidx, align 1 + %conv21 = sext i8 %31 to i32 + %cmp22 = icmp ne i32 %conv21, 0 + br i1 %cmp22, label %if.then24, label %if.end25 + +if.then24: ; preds = %if.then18 + %32 = load i8*, i8** %g, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %32, i32 1 + store i8* %incdec.ptr, i8** %g, align 8 + br label %if.end25 + +if.end25: ; preds = %if.then24, %if.then18 + %33 = load i8*, i8** %g, align 8 + %34 = load i8, i8* %33, align 1 + %conv26 = sext i8 %34 to i32 + store i32 %conv26, i32* %grouping, align 4 + br label %if.end27 + +if.end27: ; preds = %if.end25, %do.body + %35 = load i32, i32* %grouping, align 4 + %dec = add nsw i32 %35, -1 + store i32 %dec, i32* %grouping, align 4 + %36 = load i32, i32* %high, align 4 + %tobool28 = icmp ne i32 %36, 0 + %lnot = xor i1 %tobool28, true + %lnot29 = xor i1 %lnot, true + %lnot.ext = zext i1 %lnot29 to i32 + %conv30 = sext i32 %lnot.ext to i64 + %tobool31 = icmp ne i64 %conv30, 0 + br i1 %tobool31, label %if.then32, label %if.else + +if.then32: ; preds = %if.end27 + %37 = load i32, i32* %high, align 4 + %38 = load i32, i32* %base.addr, align 4 + %rem33 = urem i32 %37, %38 + store i32 %rem33, i32* %rh, align 4 + %39 = load i32, i32* %base.addr, align 4 + %40 = load i32, i32* %high, align 4 + %div34 = udiv i32 %40, %39 + store i32 %div34, i32* %high, align 4 + %41 = load i32, i32* %low, align 4 + %42 = load i32, i32* %base.addr, align 4 + %rem35 = urem i32 %41, %42 + %43 = load i32, i32* %L, align 4 + %44 = load i32, i32* %rh, align 4 + %mul = mul i32 %43, %44 + %add36 = add i32 %rem35, %mul + store i32 %add36, i32* %digit, align 4 + %45 = load i32, i32* %low, align 4 + %46 = load i32, i32* %base.addr, align 4 + %div37 = udiv i32 %45, %46 + %47 = load i32, i32* %H, align 4 + %48 = load i32, i32* %rh, align 4 + %mul38 = mul i32 %47, %48 + %add39 = add i32 %div37, %mul38 + %49 = load i32, i32* %digit, align 4 + %50 = load i32, i32* %base.addr, align 4 + %div40 = udiv i32 %49, %50 + %add41 = add i32 %add39, %div40 + store i32 %add41, i32* %low, align 4 + %51 = load i32, i32* %base.addr, align 4 + %52 = load i32, i32* %digit, align 4 + %rem42 = urem i32 %52, %51 + store i32 %rem42, i32* %digit, align 4 + br label %if.end45 + +if.else: ; preds = %if.end27 + %53 = load i32, i32* %low, align 4 + %54 = load i32, i32* %base.addr, align 4 + %rem43 = urem i32 %53, %54 + store i32 %rem43, i32* %digit, align 4 + %55 = load i32, i32* %base.addr, align 4 + %56 = load i32, i32* %low, align 4 + %div44 = udiv i32 %56, %55 + store i32 %div44, i32* %low, align 4 + br label %if.end45 + +if.end45: ; preds = %if.else, %if.then32 + %57 = load i32, i32* %outdigit, align 4 + %tobool46 = icmp ne i32 %57, 0 + %lnot47 = xor i1 %tobool46, true + %lnot49 = xor i1 %lnot47, true + %lnot.ext50 = zext i1 %lnot49 to i32 + %conv51 = sext i32 %lnot.ext50 to i64 + %tobool52 = icmp ne i64 %conv51, 0 + br i1 %tobool52, label %if.then53, label %if.else66 + +if.then53: ; preds = %if.end45 + %58 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %outdigit_length = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %58, i32 0, i32 11 + %59 = load i32, i32* %digit, align 4 + %idxprom = zext i32 %59 to i64 + %arrayidx54 = getelementptr inbounds [10 x i8], [10 x i8]* %outdigit_length, i64 0, i64 %idxprom + %60 = load i8, i8* %arrayidx54, align 1 + %conv55 = zext i8 %60 to i32 + %61 = load i8*, i8** %bufend.addr, align 8 + %idx.ext56 = sext i32 %conv55 to i64 + %idx.neg57 = sub i64 0, %idx.ext56 + %add.ptr58 = getelementptr inbounds i8, i8* %61, i64 %idx.neg57 + store i8* %add.ptr58, i8** %bufend.addr, align 8 + %62 = load i8*, i8** %bufend.addr, align 8 + %63 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %outdigit0_mb = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %63, i32 0, i32 28 + %64 = load i32, i32* %digit, align 4 + %idxprom59 = zext i32 %64 to i64 + %arrayidx60 = getelementptr inbounds i8*, i8** %outdigit0_mb, i64 %idxprom59 + %65 = load i8*, i8** %arrayidx60, align 8 + %66 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %outdigit_length61 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %66, i32 0, i32 11 + %67 = load i32, i32* %digit, align 4 + %idxprom62 = zext i32 %67 to i64 + %arrayidx63 = getelementptr inbounds [10 x i8], [10 x i8]* %outdigit_length61, i64 0, i64 %idxprom62 + %68 = load i8, i8* %arrayidx63, align 1 + %conv64 = zext i8 %68 to i64 + %call65 = call i8* @memcpy(i8* %62, i8* %65, i64 %conv64) #20 + br label %do.cond + +if.else66: ; preds = %if.end45 + %69 = load i32, i32* %digit, align 4 + %cmp67 = icmp ult i32 %69, 10 + %70 = load i32, i32* %digit, align 4 + %add69 = add i32 %70, 48 + %71 = load i32, i32* %alphacase.addr, align 4 + %add70 = add i32 %70, %71 + %cond = select i1 %cmp67, i32 %add69, i32 %add70 + %conv71 = trunc i32 %cond to i8 + %72 = load i8*, i8** %bufend.addr, align 8 + %incdec.ptr72 = getelementptr inbounds i8, i8* %72, i32 -1 + store i8* %incdec.ptr72, i8** %bufend.addr, align 8 + store i8 %conv71, i8* %incdec.ptr72, align 1 + br label %do.cond + +do.cond: ; preds = %if.then53, %if.else66 + %73 = load i32, i32* %low, align 4 + %74 = load i32, i32* %high, align 4 + %or = or i32 %73, %74 + %tobool74 = icmp ne i32 %or, 0 + br i1 %tobool74, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %75 = load i32, i32* %negative, align 4 + %tobool75 = icmp ne i32 %75, 0 + br i1 %tobool75, label %if.then76, label %if.end78 + +if.then76: ; preds = %do.end + %76 = load i8*, i8** %bufend.addr, align 8 + %incdec.ptr77 = getelementptr inbounds i8, i8* %76, i32 -1 + store i8* %incdec.ptr77, i8** %bufend.addr, align 8 + store i8 45, i8* %incdec.ptr77, align 1 + br label %if.end78 + +if.end78: ; preds = %if.then76, %do.end + %77 = load i8*, i8** %bufend.addr, align 8 + ret i8* %77 +} + +; Function Attrs: noinline nounwind uwtable +define hidden %struct.exit_function* @__new_exitfn() #0 { +entry: + %efp = alloca %struct.exit_function*, align 8 + %0 = load i32, i32* @__exit_slots, align 4 + %1 = load i32, i32* @__exit_count, align 4 + %add = add nsw i32 %1, 1 + %cmp = icmp slt i32 %0, %add + br i1 %cmp, label %if.then, label %if.end6 + +if.then: ; preds = %entry + %2 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + %3 = bitcast %struct.exit_function* %2 to i8* + %4 = load i32, i32* @__exit_slots, align 4 + %add1 = add nsw i32 %4, 20 + %conv = sext i32 %add1 to i64 + %mul = mul i64 %conv, 32 + %call = call noalias i8* @realloc(i8* %3, i64 %mul) #20 + %5 = bitcast i8* %call to %struct.exit_function* + store %struct.exit_function* %5, %struct.exit_function** %efp, align 8 + %6 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %cmp2 = icmp eq %struct.exit_function* %6, null + br i1 %cmp2, label %if.then4, label %if.end + +if.then4: ; preds = %if.then + store i32 12, i32* @errno, align 4 + br label %DONE + +if.end: ; preds = %if.then + %7 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + store %struct.exit_function* %7, %struct.exit_function** @__exit_function_table, align 8 + %8 = load i32, i32* @__exit_slots, align 4 + %add5 = add nsw i32 %8, 20 + store i32 %add5, i32* @__exit_slots, align 4 + br label %if.end6 + +if.end6: ; preds = %if.end, %entry + store void (i32)* @__exit_handler, void (i32)** @__exit_cleanup, align 8 + %9 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + %10 = load i32, i32* @__exit_count, align 4 + %inc = add nsw i32 %10, 1 + store i32 %inc, i32* @__exit_count, align 4 + %idxprom = sext i32 %10 to i64 + %arrayidx = getelementptr inbounds %struct.exit_function, %struct.exit_function* %9, i64 %idxprom + store %struct.exit_function* %arrayidx, %struct.exit_function** %efp, align 8 + %11 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %type = getelementptr inbounds %struct.exit_function, %struct.exit_function* %11, i32 0, i32 0 + store i64 1, i64* %type, align 8 + br label %DONE + +DONE: ; preds = %if.end6, %if.then4 + %12 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + ret %struct.exit_function* %12 +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @__exit_handler(i32 %status) #0 { +entry: + %status.addr = alloca i32, align 4 + %efp = alloca %struct.exit_function*, align 8 + store i32 %status, i32* %status.addr, align 4 + br label %while.cond + +while.cond: ; preds = %sw.epilog, %entry + %0 = load i32, i32* @__exit_count, align 4 + %tobool = icmp ne i32 %0, 0 + %1 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %2 = load i32, i32* @__exit_count, align 4 + %dec = add nsw i32 %2, -1 + store i32 %dec, i32* @__exit_count, align 4 + %idxprom = sext i32 %dec to i64 + %arrayidx = getelementptr inbounds %struct.exit_function, %struct.exit_function* %1, i64 %idxprom + store %struct.exit_function* %arrayidx, %struct.exit_function** %efp, align 8 + %3 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %type = getelementptr inbounds %struct.exit_function, %struct.exit_function* %3, i32 0, i32 0 + %4 = load i64, i64* %type, align 8 + br label %NodeBlock1 + +NodeBlock1: ; preds = %while.body + %case.cmp2 = icmp eq i64 %4, 2 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i64 %4, 3 + br i1 %case.cmp, label %sw.bb7, label %newDefault + +sw.bb: ; preds = %NodeBlock1 + %5 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs = getelementptr inbounds %struct.exit_function, %struct.exit_function* %5, i32 0, i32 1 + %on_exit = bitcast %union.anon.772* %funcs to %struct.anon.779* + %func = getelementptr inbounds %struct.anon.779, %struct.anon.779* %on_exit, i32 0, i32 0 + %6 = load void (i32, i8*)*, void (i32, i8*)** %func, align 8 + %tobool1 = icmp ne void (i32, i8*)* %6, null + br i1 %tobool1, label %if.then, label %sw.epilog + +if.then: ; preds = %sw.bb + %7 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs2 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %7, i32 0, i32 1 + %on_exit3 = bitcast %union.anon.772* %funcs2 to %struct.anon.779* + %func4 = getelementptr inbounds %struct.anon.779, %struct.anon.779* %on_exit3, i32 0, i32 0 + %8 = load void (i32, i8*)*, void (i32, i8*)** %func4, align 8 + %9 = load i32, i32* %status.addr, align 4 + %10 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs5 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %10, i32 0, i32 1 + %on_exit6 = bitcast %union.anon.772* %funcs5 to %struct.anon.779* + %arg = getelementptr inbounds %struct.anon.779, %struct.anon.779* %on_exit6, i32 0, i32 1 + %11 = load i8*, i8** %arg, align 8 + call void %8(i32 %9, i8* %11) #19 + br label %sw.epilog + +sw.bb7: ; preds = %NodeBlock + %12 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs8 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %12, i32 0, i32 1 + %cxa_atexit = bitcast %union.anon.772* %funcs8 to %struct.anon.0.771* + %func9 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit, i32 0, i32 0 + %13 = load void (i8*)*, void (i8*)** %func9, align 8 + %tobool10 = icmp ne void (i8*)* %13, null + br i1 %tobool10, label %if.then11, label %sw.epilog + +if.then11: ; preds = %sw.bb7 + %14 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs12 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %14, i32 0, i32 1 + %cxa_atexit13 = bitcast %union.anon.772* %funcs12 to %struct.anon.0.771* + %func14 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit13, i32 0, i32 0 + %15 = load void (i8*)*, void (i8*)** %func14, align 8 + %16 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs15 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %16, i32 0, i32 1 + %cxa_atexit16 = bitcast %union.anon.772* %funcs15 to %struct.anon.0.771* + %arg17 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit16, i32 0, i32 1 + %17 = load i8*, i8** %arg17, align 8 + call void %15(i8* %17) #19 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.epilog + +sw.epilog: ; preds = %newDefault, %sw.bb7, %if.then11, %sw.bb, %if.then + br label %while.cond + +while.end: ; preds = %while.cond + %tobool19 = icmp ne %struct.exit_function* %1, null + br i1 %tobool19, label %if.then20, label %if.end21 + +if.then20: ; preds = %while.end + %18 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + %19 = bitcast %struct.exit_function* %18 to i8* + call void @free(i8* %19) #20 + br label %if.end21 + +if.end21: ; preds = %if.then20, %while.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_stdlib_strto_l_l(i8* noalias %str, i8** noalias %endptr, i32 %base, i32 %sflag, %struct.__uclibc_locale_struct.201* %locale_arg) #0 { +entry: + %str.addr = alloca i8*, align 8 + %endptr.addr = alloca i8**, align 8 + %base.addr = alloca i32, align 4 + %sflag.addr = alloca i32, align 4 + %locale_arg.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %number = alloca i64, align 8 + %cutoff = alloca i64, align 8 + %fail_char = alloca i8*, align 8 + %negative = alloca i8, align 1 + %digit = alloca i8, align 1 + %cutoff_digit = alloca i8, align 1 + %tmp = alloca i64, align 8 + store i8* %str, i8** %str.addr, align 8 + store i8** %endptr, i8*** %endptr.addr, align 8 + store i32 %base, i32* %base.addr, align 4 + store i32 %sflag, i32* %sflag.addr, align 4 + store %struct.__uclibc_locale_struct.201* %locale_arg, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %0 = load i8*, i8** %str.addr, align 8 + store i8* %0, i8** %fail_char, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %1 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %1, i32 0, i32 0 + %2 = load i16*, i16** %__ctype_b, align 8 + %3 = load i8*, i8** %str.addr, align 8 + %4 = load i8, i8* %3, align 1 + %conv = sext i8 %4 to i32 + %idxprom = sext i32 %conv to i64 + %arrayidx = getelementptr inbounds i16, i16* %2, i64 %idxprom + %5 = load i16, i16* %arrayidx, align 2 + %conv1 = zext i16 %5 to i32 + %and = and i32 %conv1, 8192 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %6 = load i8*, i8** %str.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %str.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8 0, i8* %negative, align 1 + %7 = load i8*, i8** %str.addr, align 8 + %8 = load i8, i8* %7, align 1 + %conv2 = sext i8 %8 to i32 + br label %NodeBlock1 + +NodeBlock1: ; preds = %while.end + %case.cmp2 = icmp eq i32 %conv2, 45 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %conv2, 43 + br i1 %case.cmp, label %sw.bb3, label %newDefault + +sw.bb: ; preds = %NodeBlock1 + store i8 1, i8* %negative, align 1 + br label %sw.bb3 + +sw.bb3: ; preds = %NodeBlock, %sw.bb + %9 = load i8*, i8** %str.addr, align 8 + %incdec.ptr4 = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr4, i8** %str.addr, align 8 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.epilog + +sw.epilog: ; preds = %newDefault, %sw.bb3 + %10 = load i32, i32* %base.addr, align 4 + %and5 = and i32 %10, -17 + %tobool6 = icmp ne i32 %and5, 0 + br i1 %tobool6, label %if.end22, label %if.then + +if.then: ; preds = %sw.epilog + %11 = load i32, i32* %base.addr, align 4 + %add = add nsw i32 %11, 10 + store i32 %add, i32* %base.addr, align 4 + %12 = load i8*, i8** %str.addr, align 8 + %13 = load i8, i8* %12, align 1 + %conv7 = sext i8 %13 to i32 + %cmp = icmp eq i32 %conv7, 48 + br i1 %cmp, label %if.then9, label %if.end17 + +if.then9: ; preds = %if.then + %14 = load i8*, i8** %str.addr, align 8 + %incdec.ptr10 = getelementptr inbounds i8, i8* %14, i32 1 + store i8* %incdec.ptr10, i8** %str.addr, align 8 + store i8* %incdec.ptr10, i8** %fail_char, align 8 + %15 = load i32, i32* %base.addr, align 4 + %sub = sub nsw i32 %15, 2 + store i32 %sub, i32* %base.addr, align 4 + %16 = load i8*, i8** %str.addr, align 8 + %17 = load i8, i8* %16, align 1 + %conv11 = sext i8 %17 to i32 + %or = or i32 32, %conv11 + %cmp12 = icmp eq i32 %or, 120 + br i1 %cmp12, label %if.then14, label %if.end17 + +if.then14: ; preds = %if.then9 + %18 = load i8*, i8** %str.addr, align 8 + %incdec.ptr15 = getelementptr inbounds i8, i8* %18, i32 1 + store i8* %incdec.ptr15, i8** %str.addr, align 8 + %19 = load i32, i32* %base.addr, align 4 + %20 = load i32, i32* %base.addr, align 4 + %add16 = add nsw i32 %20, %19 + store i32 %add16, i32* %base.addr, align 4 + br label %if.end17 + +if.end17: ; preds = %if.then9, %if.then14, %if.then + %21 = load i32, i32* %base.addr, align 4 + %cmp18 = icmp sgt i32 %21, 16 + br i1 %cmp18, label %if.then20, label %if.end22 + +if.then20: ; preds = %if.end17 + store i32 16, i32* %base.addr, align 4 + br label %if.end22 + +if.end22: ; preds = %if.end17, %if.then20, %sw.epilog + store i64 0, i64* %number, align 8 + %22 = load i32, i32* %base.addr, align 4 + %sub23 = sub nsw i32 %22, 2 + %cmp24 = icmp ult i32 %sub23, 35 + br i1 %cmp24, label %if.then26, label %if.end72 + +if.then26: ; preds = %if.end22 + %23 = load i32, i32* %base.addr, align 4 + %conv27 = sext i32 %23 to i64 + %rem = urem i64 -1, %conv27 + %conv28 = trunc i64 %rem to i8 + store i8 %conv28, i8* %cutoff_digit, align 1 + %24 = load i32, i32* %base.addr, align 4 + %conv29 = sext i32 %24 to i64 + %div = udiv i64 -1, %conv29 + store i64 %div, i64* %cutoff, align 8 + br label %do.body + +do.body: ; preds = %do.cond, %if.then26 + %25 = load i8*, i8** %str.addr, align 8 + %26 = load i8, i8* %25, align 1 + %conv30 = sext i8 %26 to i32 + %sub31 = sub nsw i32 %conv30, 48 + %conv32 = trunc i32 %sub31 to i8 + %conv33 = zext i8 %conv32 to i32 + %cmp34 = icmp sle i32 %conv33, 9 + %27 = load i8*, i8** %str.addr, align 8 + %28 = load i8, i8* %27, align 1 + %conv36 = sext i8 %28 to i32 + br i1 %cmp34, label %cond.true, label %cond.false + +cond.true: ; preds = %do.body + %sub37 = sub nsw i32 %conv36, 48 + br label %cond.end47 + +cond.false: ; preds = %do.body + %cmp39 = icmp sge i32 %conv36, 65 + br i1 %cmp39, label %cond.true41, label %cond.end47 + +cond.true41: ; preds = %cond.false + %29 = load i8*, i8** %str.addr, align 8 + %30 = load i8, i8* %29, align 1 + %conv42 = sext i8 %30 to i32 + %or43 = or i32 32, %conv42 + %sub44 = sub nsw i32 %or43, 97 + %add45 = add nsw i32 %sub44, 10 + br label %cond.end47 + +cond.end47: ; preds = %cond.true41, %cond.false, %cond.true + %cond48 = phi i32 [ %sub37, %cond.true ], [ %add45, %cond.true41 ], [ 40, %cond.false ] + %conv49 = trunc i32 %cond48 to i8 + store i8 %conv49, i8* %digit, align 1 + %31 = load i8, i8* %digit, align 1 + %conv50 = zext i8 %31 to i32 + %32 = load i32, i32* %base.addr, align 4 + %cmp51 = icmp sge i32 %conv50, %32 + br i1 %cmp51, label %if.end72, label %if.end54 + +if.end54: ; preds = %cond.end47 + %33 = load i8*, i8** %str.addr, align 8 + %incdec.ptr55 = getelementptr inbounds i8, i8* %33, i32 1 + store i8* %incdec.ptr55, i8** %str.addr, align 8 + store i8* %incdec.ptr55, i8** %fail_char, align 8 + %34 = load i64, i64* %number, align 8 + %35 = load i64, i64* %cutoff, align 8 + %cmp56 = icmp ugt i64 %34, %35 + br i1 %cmp56, label %if.then64, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end54 + %36 = load i64, i64* %number, align 8 + %37 = load i64, i64* %cutoff, align 8 + %cmp58 = icmp eq i64 %36, %37 + br i1 %cmp58, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %lor.lhs.false + %38 = load i8, i8* %digit, align 1 + %conv60 = zext i8 %38 to i32 + %39 = load i8, i8* %cutoff_digit, align 1 + %conv61 = zext i8 %39 to i32 + %cmp62 = icmp sgt i32 %conv60, %conv61 + br i1 %cmp62, label %if.then64, label %if.else + +if.then64: ; preds = %land.lhs.true, %if.end54 + store i64 -1, i64* %number, align 8 + %40 = load i32, i32* %sflag.addr, align 4 + %41 = load i8, i8* %negative, align 1 + %conv65 = zext i8 %41 to i32 + %and66 = and i32 %conv65, %40 + %conv67 = trunc i32 %and66 to i8 + store i8 %conv67, i8* %negative, align 1 + store i32 34, i32* @errno, align 4 + br label %do.cond + +if.else: ; preds = %land.lhs.true, %lor.lhs.false + %42 = load i64, i64* %number, align 8 + %43 = load i32, i32* %base.addr, align 4 + %conv68 = sext i32 %43 to i64 + %mul = mul i64 %42, %conv68 + %44 = load i8, i8* %digit, align 1 + %conv69 = zext i8 %44 to i64 + %add70 = add i64 %mul, %conv69 + store i64 %add70, i64* %number, align 8 + br label %do.cond + +do.cond: ; preds = %if.then64, %if.else + br label %do.body + +if.end72: ; preds = %cond.end47, %if.end22 + %45 = load i8**, i8*** %endptr.addr, align 8 + %tobool73 = icmp ne i8** %45, null + br i1 %tobool73, label %if.then74, label %if.end75 + +if.then74: ; preds = %if.end72 + %46 = load i8*, i8** %fail_char, align 8 + %47 = load i8**, i8*** %endptr.addr, align 8 + store i8* %46, i8** %47, align 8 + br label %if.end75 + +if.end75: ; preds = %if.then74, %if.end72 + %48 = load i8, i8* %negative, align 1 + %conv76 = zext i8 %48 to i32 + %tobool77 = icmp ne i32 %conv76, 0 + %49 = zext i1 %tobool77 to i64 + %cond78 = select i1 %tobool77, i64 -9223372036854775808, i64 9223372036854775807 + store i64 %cond78, i64* %tmp, align 8 + %50 = load i32, i32* %sflag.addr, align 4 + %tobool79 = icmp ne i32 %50, 0 + br i1 %tobool79, label %land.lhs.true80, label %if.end84 + +land.lhs.true80: ; preds = %if.end75 + %51 = load i64, i64* %number, align 8 + %52 = load i64, i64* %tmp, align 8 + %cmp81 = icmp ugt i64 %51, %52 + br i1 %cmp81, label %if.then83, label %if.end84 + +if.then83: ; preds = %land.lhs.true80 + %53 = load i64, i64* %tmp, align 8 + store i64 %53, i64* %number, align 8 + store i32 34, i32* @errno, align 4 + br label %if.end84 + +if.end84: ; preds = %if.then83, %land.lhs.true80, %if.end75 + %54 = load i8, i8* %negative, align 1 + %conv85 = zext i8 %54 to i32 + %tobool86 = icmp ne i32 %conv85, 0 + %55 = load i64, i64* %number, align 8 + %sub88 = sub nsw i64 0, %55 + %cond91 = select i1 %tobool86, i64 %sub88, i64 %55 + ret i64 %cond91 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__xpg_strerror_r(i32 %errnum, i8* %strerrbuf, i64 %buflen) #0 { +entry: + %errnum.addr = alloca i32, align 4 + %strerrbuf.addr = alloca i8*, align 8 + %buflen.addr = alloca i64, align 8 + %s = alloca i8*, align 8 + %i = alloca i32, align 4 + %retval1 = alloca i32, align 4 + %buf = alloca [50 x i8], align 16 + store i32 %errnum, i32* %errnum.addr, align 4 + store i8* %strerrbuf, i8** %strerrbuf.addr, align 8 + store i64 %buflen, i64* %buflen.addr, align 8 + store i32 22, i32* %retval1, align 4 + %0 = load i32, i32* %errnum.addr, align 4 + store i32 %0, i32* %i, align 4 + %1 = load i32, i32* %i, align 4 + %cmp = icmp ult i32 %1, 125 + br i1 %cmp, label %if.then, label %if.end7 + +if.then: ; preds = %entry + store i8* getelementptr inbounds ([2906 x i8], [2906 x i8]* @_string_syserrmsgs, i64 0, i64 0), i8** %s, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.then + %2 = load i32, i32* %i, align 4 + %tobool = icmp ne i32 %2, 0 + %3 = load i8*, i8** %s, align 8 + %4 = load i8, i8* %3, align 1 + %tobool2 = icmp ne i8 %4, 0 + br i1 %tobool, label %for.body, label %for.end + +for.body: ; preds = %for.cond + br i1 %tobool2, label %for.inc, label %if.then3 + +if.then3: ; preds = %for.body + %5 = load i32, i32* %i, align 4 + %dec = add nsw i32 %5, -1 + store i32 %dec, i32* %i, align 4 + br label %for.inc + +for.inc: ; preds = %for.body, %if.then3 + %6 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + br i1 %tobool2, label %if.then5, label %if.end7 + +if.then5: ; preds = %for.end + store i32 0, i32* %retval1, align 4 + br label %GOT_MESG + +if.end7: ; preds = %for.end, %entry + %arraydecay = getelementptr inbounds [50 x i8], [50 x i8]* %buf, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 50 + %add.ptr8 = getelementptr inbounds i8, i8* %add.ptr, i64 -1 + %7 = load i32, i32* %errnum.addr, align 4 + %conv = sext i32 %7 to i64 + %call = call i8* @_uintmaxtostr(i8* %add.ptr8, i64 %conv, i32 -10, i32 0) #19 + %add.ptr9 = getelementptr inbounds i8, i8* %call, i64 -14 + store i8* %add.ptr9, i8** %s, align 8 + %8 = load i8*, i8** %s, align 8 + %call10 = call i8* @memcpy(i8* %8, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @__xpg_strerror_r.unknown, i64 0, i64 0), i64 14) #20 + br label %GOT_MESG + +GOT_MESG: ; preds = %if.end7, %if.then5 + %9 = load i8*, i8** %strerrbuf.addr, align 8 + %tobool11 = icmp ne i8* %9, null + br i1 %tobool11, label %if.end13, label %if.then12 + +if.then12: ; preds = %GOT_MESG + store i64 0, i64* %buflen.addr, align 8 + br label %if.end13 + +if.end13: ; preds = %if.then12, %GOT_MESG + %10 = load i8*, i8** %s, align 8 + %call14 = call i64 @strlen(i8* %10) #21 + %add = add i64 %call14, 1 + %conv15 = trunc i64 %add to i32 + store i32 %conv15, i32* %i, align 4 + %11 = load i32, i32* %i, align 4 + %conv16 = sext i32 %11 to i64 + %12 = load i64, i64* %buflen.addr, align 8 + %cmp17 = icmp ugt i64 %conv16, %12 + br i1 %cmp17, label %if.then19, label %if.end21 + +if.then19: ; preds = %if.end13 + %13 = load i64, i64* %buflen.addr, align 8 + %conv20 = trunc i64 %13 to i32 + store i32 %conv20, i32* %i, align 4 + store i32 34, i32* %retval1, align 4 + br label %if.end21 + +if.end21: ; preds = %if.then19, %if.end13 + %14 = load i32, i32* %i, align 4 + %tobool22 = icmp ne i32 %14, 0 + br i1 %tobool22, label %if.then23, label %if.end26 + +if.then23: ; preds = %if.end21 + %15 = load i8*, i8** %strerrbuf.addr, align 8 + %16 = load i8*, i8** %s, align 8 + %17 = load i32, i32* %i, align 4 + %conv24 = sext i32 %17 to i64 + %call25 = call i8* @memcpy(i8* %15, i8* %16, i64 %conv24) #20 + %18 = load i8*, i8** %strerrbuf.addr, align 8 + %19 = load i32, i32* %i, align 4 + %sub = sub nsw i32 %19, 1 + %idxprom = sext i32 %sub to i64 + %arrayidx = getelementptr inbounds i8, i8* %18, i64 %idxprom + store i8 0, i8* %arrayidx, align 1 + br label %if.end26 + +if.end26: ; preds = %if.then23, %if.end21 + %20 = load i32, i32* %retval1, align 4 + %tobool27 = icmp ne i32 %20, 0 + br i1 %tobool27, label %if.then28, label %if.end29 + +if.then28: ; preds = %if.end26 + %21 = load i32, i32* %retval1, align 4 + store i32 %21, i32* @errno, align 4 + br label %if.end29 + +if.end29: ; preds = %if.then28, %if.end26 + %22 = load i32, i32* %retval1, align 4 + ret i32 %22 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @memrchr(i8* nonnull %s, i32 %c, i64 %n) #14 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %n.addr = alloca i64, align 8 + %r = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i64, i64* %n.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %0, i64 %1 + store i8* %add.ptr, i8** %r, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %2 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load i8*, i8** %r, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 -1 + store i8* %incdec.ptr, i8** %r, align 8 + %4 = load i8, i8* %incdec.ptr, align 1 + %conv = zext i8 %4 to i32 + %5 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %5 to i8 + %conv2 = zext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + %6 = load i8*, i8** %r, align 8 + store i8* %6, i8** %retval, align 8 + br label %return + +if.end: ; preds = %while.body + %7 = load i64, i64* %n.addr, align 8 + %dec = add i64 %7, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then + %8 = load i8*, i8** %retval, align 8 + ret i8* %8 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i64 @strnlen(i8* nonnull %s, i64 %max) #14 { +entry: + %s.addr = alloca i8*, align 8 + %max.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i64 %max, i64* %max.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %1 = load i64, i64* %max.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %2 = load i8*, i8** %p, align 8 + %3 = load i8, i8* %2, align 1 + %conv = sext i8 %3 to i32 + %tobool1 = icmp ne i32 %conv, 0 + br label %land.end + +land.end: ; preds = %land.rhs, %while.cond + %4 = phi i1 [ false, %while.cond ], [ %tobool1, %land.rhs ] + %5 = load i8*, i8** %p, align 8 + br i1 %4, label %while.body, label %while.end + +while.body: ; preds = %land.end + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %6 = load i64, i64* %max.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %max.addr, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %7 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind uwtable +define i8* @strtok_r(i8* noalias %s1, i8* noalias nonnull %s2, i8** noalias nonnull %next_start) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %next_start.addr = alloca i8**, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i8** %next_start, i8*** %next_start.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + %cmp = icmp ne i8* %0, null + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %1 = load i8**, i8*** %next_start.addr, align 8 + %2 = load i8*, i8** %1, align 8 + store i8* %2, i8** %s, align 8 + %cmp1 = icmp ne i8* %2, null + br i1 %cmp1, label %if.then, label %if.end7 + +if.then: ; preds = %lor.lhs.false, %entry + %3 = load i8*, i8** %s, align 8 + %4 = load i8*, i8** %s2.addr, align 8 + %call = call i64 @strspn(i8* %3, i8* %4) #21 + %5 = load i8*, i8** %s, align 8 + %add.ptr = getelementptr inbounds i8, i8* %5, i64 %call + store i8* %add.ptr, i8** %s, align 8 + %6 = load i8, i8* %add.ptr, align 1 + %tobool = icmp ne i8 %6, 0 + br i1 %tobool, label %if.then2, label %if.else + +if.then2: ; preds = %if.then + %7 = load i8*, i8** %s, align 8 + %8 = load i8*, i8** %s2.addr, align 8 + %call3 = call i8* @strpbrk(i8* %7, i8* %8) #21 + store i8* %call3, i8** %p, align 8 + %cmp4 = icmp ne i8* %call3, null + br i1 %cmp4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.then2 + %9 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + store i8 0, i8* %9, align 1 + br label %if.end6 + +if.else: ; preds = %if.then + store i8* null, i8** %s, align 8 + store i8* null, i8** %p, align 8 + br label %if.end6 + +if.end6: ; preds = %if.then2, %if.then5, %if.else + %10 = load i8*, i8** %p, align 8 + %11 = load i8**, i8*** %next_start.addr, align 8 + store i8* %10, i8** %11, align 8 + br label %if.end7 + +if.end7: ; preds = %if.end6, %lor.lhs.false + %12 = load i8*, i8** %s, align 8 + ret i8* %12 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @mbsrtowcs(i32* noalias %dst, i8** noalias %src, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %dst.addr = alloca i32*, align 8 + %src.addr = alloca i8**, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + store i32* %dst, i32** %dst.addr, align 8 + store i8** %src, i8*** %src.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load i32*, i32** %dst.addr, align 8 + %1 = load i8**, i8*** %src.addr, align 8 + %2 = load i64, i64* %len.addr, align 8 + %3 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %cmp = icmp ne %struct.__mbstate_t.512* %3, null + %4 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %cond = select i1 %cmp, %struct.__mbstate_t.512* %4, %struct.__mbstate_t.512* @mbsrtowcs.mbstate + %call = call i64 @mbsnrtowcs(i32* %0, i8** %1, i64 -1, i64 %2, %struct.__mbstate_t.512* %cond) #20 + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define i64 @wcsnrtombs(i8* noalias %dst, i32** noalias %src, i64 %NWC, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %retval = alloca i64, align 8 + %dst.addr = alloca i8*, align 8 + %src.addr = alloca i32**, align 8 + %NWC.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %s = alloca i32*, align 8 + %count = alloca i64, align 8 + %incr = alloca i32, align 4 + %buf = alloca [16 x i8], align 16 + %wc = alloca i32, align 4 + %u = alloca i32, align 4 + store i8* %dst, i8** %dst.addr, align 8 + store i32** %src, i32*** %src.addr, align 8 + store i64 %NWC, i64* %NWC.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 9 + %1 = load i8, i8* %encoding, align 8 + %conv = zext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load i8*, i8** %dst.addr, align 8 + %3 = load i64, i64* %len.addr, align 8 + %4 = load i32**, i32*** %src.addr, align 8 + %5 = load i64, i64* %NWC.addr, align 8 + %call = call i64 @_wchar_wcsntoutf8s(i8* %2, i64 %3, i32** %4, i64 %5) #19 + store i64 %call, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + store i32 1, i32* %incr, align 4 + %6 = load i8*, i8** %dst.addr, align 8 + %tobool = icmp ne i8* %6, null + br i1 %tobool, label %lor.lhs.false, label %if.then4 + +lor.lhs.false: ; preds = %if.end + %7 = load i8*, i8** %dst.addr, align 8 + %8 = load i32**, i32*** %src.addr, align 8 + %9 = bitcast i32** %8 to i8* + %cmp2 = icmp eq i8* %7, %9 + br i1 %cmp2, label %if.then4, label %if.end8 + +if.then4: ; preds = %lor.lhs.false, %if.end + %10 = load i8*, i8** %dst.addr, align 8 + %tobool5 = icmp ne i8* %10, null + br i1 %tobool5, label %if.end7, label %if.then6 + +if.then6: ; preds = %if.then4 + store i64 -1, i64* %len.addr, align 8 + br label %if.end7 + +if.end7: ; preds = %if.then6, %if.then4 + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay, i8** %dst.addr, align 8 + store i32 0, i32* %incr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end7, %lor.lhs.false + %11 = load i64, i64* %len.addr, align 8 + %12 = load i64, i64* %NWC.addr, align 8 + %cmp9 = icmp ugt i64 %11, %12 + br i1 %cmp9, label %if.then11, label %if.end12 + +if.then11: ; preds = %if.end8 + %13 = load i64, i64* %NWC.addr, align 8 + store i64 %13, i64* %len.addr, align 8 + br label %if.end12 + +if.end12: ; preds = %if.then11, %if.end8 + %14 = load i64, i64* %len.addr, align 8 + store i64 %14, i64* %count, align 8 + %15 = load i32**, i32*** %src.addr, align 8 + %16 = load i32*, i32** %15, align 8 + store i32* %16, i32** %s, align 8 + %17 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding13 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %17, i32 0, i32 9 + %18 = load i8, i8* %encoding13, align 8 + %conv14 = zext i8 %18 to i32 + %cmp15 = icmp eq i32 %conv14, 2 + br i1 %cmp15, label %while.cond, label %while.cond52 + +while.cond: ; preds = %if.end12, %if.end45 + %19 = load i64, i64* %count, align 8 + %tobool18 = icmp ne i64 %19, 0 + br i1 %tobool18, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %20 = load i32*, i32** %s, align 8 + %21 = load i32, i32* %20, align 4 + store i32 %21, i32* %wc, align 4 + %cmp19 = icmp ule i32 %21, 127 + br i1 %cmp19, label %if.then21, label %if.else + +if.then21: ; preds = %while.body + %22 = load i32, i32* %wc, align 4 + %conv22 = trunc i32 %22 to i8 + %23 = load i8*, i8** %dst.addr, align 8 + store i8 %conv22, i8* %23, align 1 + %tobool23 = icmp ne i8 %conv22, 0 + br i1 %tobool23, label %if.end45, label %if.then24 + +if.then24: ; preds = %if.then21 + store i32* null, i32** %s, align 8 + br label %while.end + +if.else: ; preds = %while.body + store i32 0, i32* %u, align 4 + %24 = load i32, i32* %wc, align 4 + %cmp26 = icmp ule i32 %24, 9727 + br i1 %cmp26, label %if.then28, label %if.end42 + +if.then28: ; preds = %if.else + %25 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %idx8wc2c = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %25, i32 0, i32 18 + %26 = load i8*, i8** %idx8wc2c, align 8 + %27 = load i32, i32* %wc, align 4 + %shr = lshr i32 %27, 8 + %idxprom = zext i32 %shr to i64 + %arrayidx = getelementptr inbounds i8, i8* %26, i64 %idxprom + %28 = load i8, i8* %arrayidx, align 1 + %conv29 = zext i8 %28 to i32 + store i32 %conv29, i32* %u, align 4 + %29 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %tbl8wc2c = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %29, i32 0, i32 19 + %30 = load i8*, i8** %tbl8wc2c, align 8 + %31 = load i32, i32* %u, align 4 + %shl = shl i32 %31, 4 + %32 = load i32, i32* %wc, align 4 + %shr30 = lshr i32 %32, 4 + %and = and i32 %shr30, 15 + %add = add i32 %shl, %and + %idxprom31 = zext i32 %add to i64 + %arrayidx32 = getelementptr inbounds i8, i8* %30, i64 %idxprom31 + %33 = load i8, i8* %arrayidx32, align 1 + %conv33 = zext i8 %33 to i32 + store i32 %conv33, i32* %u, align 4 + %34 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %tbl8wc2c34 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %34, i32 0, i32 19 + %35 = load i8*, i8** %tbl8wc2c34, align 8 + %36 = load i32, i32* %u, align 4 + %shl35 = shl i32 %36, 4 + %add36 = add i32 1072, %shl35 + %37 = load i32, i32* %wc, align 4 + %and37 = and i32 %37, 15 + %add38 = add i32 %add36, %and37 + %idxprom39 = zext i32 %add38 to i64 + %arrayidx40 = getelementptr inbounds i8, i8* %35, i64 %idxprom39 + %38 = load i8, i8* %arrayidx40, align 1 + %conv41 = zext i8 %38 to i32 + store i32 %conv41, i32* %u, align 4 + br label %if.end42 + +if.end42: ; preds = %if.then28, %if.else + %39 = load i32, i32* %u, align 4 + %tobool43 = icmp ne i32 %39, 0 + %40 = load i32, i32* %u, align 4 + %cond = select i1 %tobool43, i32 %40, i32 63 + %conv44 = trunc i32 %cond to i8 + %41 = load i8*, i8** %dst.addr, align 8 + store i8 %conv44, i8* %41, align 1 + br label %if.end45 + +if.end45: ; preds = %if.then21, %if.end42 + %42 = load i32*, i32** %s, align 8 + %incdec.ptr = getelementptr inbounds i32, i32* %42, i32 1 + store i32* %incdec.ptr, i32** %s, align 8 + %43 = load i32, i32* %incr, align 4 + %44 = load i8*, i8** %dst.addr, align 8 + %idx.ext = sext i32 %43 to i64 + %add.ptr = getelementptr inbounds i8, i8* %44, i64 %idx.ext + store i8* %add.ptr, i8** %dst.addr, align 8 + %45 = load i64, i64* %count, align 8 + %dec = add i64 %45, -1 + store i64 %dec, i64* %count, align 8 + br label %while.cond + +while.end: ; preds = %if.then24, %while.cond + %46 = load i8*, i8** %dst.addr, align 8 + %arraydecay46 = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + %cmp47 = icmp ne i8* %46, %arraydecay46 + br i1 %cmp47, label %if.then49, label %if.end50 + +if.then49: ; preds = %while.end + %47 = load i32*, i32** %s, align 8 + %48 = load i32**, i32*** %src.addr, align 8 + store i32* %47, i32** %48, align 8 + br label %if.end50 + +if.end50: ; preds = %if.then49, %while.end + %49 = load i64, i64* %len.addr, align 8 + %50 = load i64, i64* %count, align 8 + %sub = sub i64 %49, %50 + store i64 %sub, i64* %retval, align 8 + br label %return + +while.cond52: ; preds = %if.end12, %if.end64 + %51 = load i64, i64* %count, align 8 + %tobool53 = icmp ne i64 %51, 0 + br i1 %tobool53, label %while.body54, label %while.end69 + +while.body54: ; preds = %while.cond52 + %52 = load i32*, i32** %s, align 8 + %53 = load i32, i32* %52, align 4 + %cmp55 = icmp uge i32 %53, 128 + br i1 %cmp55, label %if.then57, label %if.end58 + +if.then57: ; preds = %while.body54 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end58: ; preds = %while.body54 + %54 = load i32*, i32** %s, align 8 + %55 = load i32, i32* %54, align 4 + %conv59 = trunc i32 %55 to i8 + %56 = load i8*, i8** %dst.addr, align 8 + store i8 %conv59, i8* %56, align 1 + %conv60 = sext i8 %conv59 to i32 + %cmp61 = icmp eq i32 %conv60, 0 + br i1 %cmp61, label %if.then63, label %if.end64 + +if.then63: ; preds = %if.end58 + store i32* null, i32** %s, align 8 + br label %while.end69 + +if.end64: ; preds = %if.end58 + %57 = load i32*, i32** %s, align 8 + %incdec.ptr65 = getelementptr inbounds i32, i32* %57, i32 1 + store i32* %incdec.ptr65, i32** %s, align 8 + %58 = load i32, i32* %incr, align 4 + %59 = load i8*, i8** %dst.addr, align 8 + %idx.ext66 = sext i32 %58 to i64 + %add.ptr67 = getelementptr inbounds i8, i8* %59, i64 %idx.ext66 + store i8* %add.ptr67, i8** %dst.addr, align 8 + %60 = load i64, i64* %count, align 8 + %dec68 = add i64 %60, -1 + store i64 %dec68, i64* %count, align 8 + br label %while.cond52 + +while.end69: ; preds = %if.then63, %while.cond52 + %61 = load i8*, i8** %dst.addr, align 8 + %arraydecay70 = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + %cmp71 = icmp ne i8* %61, %arraydecay70 + br i1 %cmp71, label %if.then73, label %if.end74 + +if.then73: ; preds = %while.end69 + %62 = load i32*, i32** %s, align 8 + %63 = load i32**, i32*** %src.addr, align 8 + store i32* %62, i32** %63, align 8 + br label %if.end74 + +if.end74: ; preds = %if.then73, %while.end69 + %64 = load i64, i64* %len.addr, align 8 + %65 = load i64, i64* %count, align 8 + %sub75 = sub i64 %64, %65 + store i64 %sub75, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end74, %if.then57, %if.end50, %if.then + %66 = load i64, i64* %retval, align 8 + ret i64 %66 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @strpbrk(i8* nonnull %s1, i8* nonnull %s2) #14 { +entry: + %retval = alloca i8*, align 8 + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc6, %entry + %1 = load i8*, i8** %s, align 8 + %2 = load i8, i8* %1, align 1 + %tobool = icmp ne i8 %2, 0 + br i1 %tobool, label %for.body, label %for.end8 + +for.body: ; preds = %for.cond + %3 = load i8*, i8** %s2.addr, align 8 + store i8* %3, i8** %p, align 8 + br label %for.cond1 + +for.cond1: ; preds = %for.inc, %for.body + %4 = load i8*, i8** %p, align 8 + %5 = load i8, i8* %4, align 1 + %tobool2 = icmp ne i8 %5, 0 + br i1 %tobool2, label %for.body3, label %for.inc6 + +for.body3: ; preds = %for.cond1 + %6 = load i8*, i8** %p, align 8 + %7 = load i8, i8* %6, align 1 + %conv = sext i8 %7 to i32 + %8 = load i8*, i8** %s, align 8 + %9 = load i8, i8* %8, align 1 + %conv4 = sext i8 %9 to i32 + %cmp = icmp eq i32 %conv, %conv4 + br i1 %cmp, label %if.then, label %for.inc + +if.then: ; preds = %for.body3 + %10 = load i8*, i8** %s, align 8 + store i8* %10, i8** %retval, align 8 + br label %return + +for.inc: ; preds = %for.body3 + %11 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %11, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + br label %for.cond1 + +for.inc6: ; preds = %for.cond1 + %12 = load i8*, i8** %s, align 8 + %incdec.ptr7 = getelementptr inbounds i8, i8* %12, i32 1 + store i8* %incdec.ptr7, i8** %s, align 8 + br label %for.cond + +for.end8: ; preds = %for.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %for.end8, %if.then + %13 = load i8*, i8** %retval, align 8 + ret i8* %13 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i64 @strspn(i8* nonnull %s1, i8* nonnull %s2) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %2 = load i8*, i8** %p, align 8 + %3 = load i8, i8* %2, align 1 + %tobool = icmp ne i8 %3, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %5 = load i8, i8* %4, align 1 + %conv = sext i8 %5 to i32 + %6 = load i8*, i8** %s, align 8 + %7 = load i8, i8* %6, align 1 + %conv1 = sext i8 %7 to i32 + %cmp = icmp eq i32 %conv, %conv1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + %8 = load i8*, i8** %s, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %8, i32 1 + store i8* %incdec.ptr3, i8** %s, align 8 + %9 = load i8*, i8** %s2.addr, align 8 + store i8* %9, i8** %p, align 8 + br label %if.end + +if.end: ; preds = %if.then, %while.body + br label %while.cond + +while.end: ; preds = %while.cond + %10 = load i8*, i8** %s, align 8 + %11 = load i8*, i8** %s1.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %10 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %11 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_wchar_wcsntoutf8s(i8* noalias %s, i64 %n, i32** noalias %src, i64 %wn) #0 { +entry: + %retval = alloca i64, align 8 + %s.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %src.addr = alloca i32**, align 8 + %wn.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + %len = alloca i64, align 8 + %t = alloca i64, align 8 + %wc = alloca i32, align 4 + %swc = alloca i32*, align 8 + %store = alloca i32, align 4 + %buf = alloca [16 x i8], align 16 + %m = alloca i8, align 1 + store i8* %s, i8** %s.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i32** %src, i32*** %src.addr, align 8 + store i64 %wn, i64* %wn.addr, align 8 + store i32 1, i32* %store, align 4 + %0 = load i8*, i8** %s.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %lor.lhs.false, label %if.then + +lor.lhs.false: ; preds = %entry + %1 = load i8*, i8** %s.addr, align 8 + %2 = load i32**, i32*** %src.addr, align 8 + %3 = bitcast i32** %2 to i8* + %cmp = icmp eq i8* %1, %3 + br i1 %cmp, label %if.then, label %if.end3 + +if.then: ; preds = %lor.lhs.false, %entry + %4 = load i8*, i8** %s.addr, align 8 + %tobool1 = icmp ne i8* %4, null + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + store i64 -1, i64* %n.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay, i8** %s.addr, align 8 + store i32 0, i32* %store, align 4 + br label %if.end3 + +if.end3: ; preds = %if.end, %lor.lhs.false + %5 = load i64, i64* %n.addr, align 8 + store i64 %5, i64* %t, align 8 + %6 = load i32**, i32*** %src.addr, align 8 + %7 = load i32*, i32** %6, align 8 + store i32* %7, i32** %swc, align 8 + br label %while.cond + +while.cond: ; preds = %if.end51, %if.end3 + %8 = load i64, i64* %wn.addr, align 8 + %tobool4 = icmp ne i64 %8, 0 + %9 = load i64, i64* %t, align 8 + %tobool5 = icmp ne i64 %9, 0 + %10 = select i1 %tobool4, i1 %tobool5, i1 false + br i1 %10, label %while.body, label %while.end52 + +while.body: ; preds = %while.cond + %11 = load i32*, i32** %swc, align 8 + %12 = load i32, i32* %11, align 4 + store i32 %12, i32* %wc, align 4 + %13 = load i32, i32* %wc, align 4 + %conv = trunc i32 %13 to i8 + %14 = load i8*, i8** %s.addr, align 8 + store i8 %conv, i8* %14, align 1 + store i64 1, i64* %len, align 8 + %15 = load i32, i32* %wc, align 4 + %cmp6 = icmp uge i32 %15, 128 + %16 = load i32, i32* %wc, align 4 + br i1 %cmp6, label %if.then8, label %if.else + +if.then8: ; preds = %while.body + %conv9 = zext i32 %16 to i64 + %cmp10 = icmp ugt i64 %conv9, 2147483647 + br i1 %cmp10, label %if.then19, label %lor.lhs.false12 + +lor.lhs.false12: ; preds = %if.then8 + %17 = load i32, i32* %wc, align 4 + %sub = sub i32 %17, 65534 + %cmp13 = icmp ult i32 %sub, 2 + br i1 %cmp13, label %if.then19, label %lor.lhs.false15 + +lor.lhs.false15: ; preds = %lor.lhs.false12 + %18 = load i32, i32* %wc, align 4 + %sub16 = sub i32 %18, 55296 + %cmp17 = icmp ult i32 %sub16, 2048 + br i1 %cmp17, label %if.then19, label %if.end20 + +if.then19: ; preds = %lor.lhs.false15, %lor.lhs.false12, %if.then8 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end20: ; preds = %lor.lhs.false15 + %19 = load i32, i32* %wc, align 4 + %shr = lshr i32 %19, 1 + store i32 %shr, i32* %wc, align 4 + %20 = load i8*, i8** %s.addr, align 8 + store i8* %20, i8** %p, align 8 + br label %do.body + +do.body: ; preds = %do.body, %if.end20 + %21 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %21, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %22 = load i32, i32* %wc, align 4 + %shr21 = lshr i32 %22, 5 + store i32 %shr21, i32* %wc, align 4 + %tobool22 = icmp ne i32 %shr21, 0 + br i1 %tobool22, label %do.body, label %do.end + +do.end: ; preds = %do.body + %23 = load i32*, i32** %swc, align 8 + %24 = load i32, i32* %23, align 4 + store i32 %24, i32* %wc, align 4 + %25 = load i8*, i8** %p, align 8 + %26 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %25 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %26 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %len, align 8 + %27 = load i64, i64* %t, align 8 + %cmp23 = icmp ugt i64 %sub.ptr.sub, %27 + br i1 %cmp23, label %while.end52, label %if.end26 + +if.end26: ; preds = %do.end + store i8 -128, i8* %m, align 1 + br label %while.cond27 + +while.cond27: ; preds = %while.body30, %if.end26 + %28 = load i8*, i8** %p, align 8 + %29 = load i8*, i8** %s.addr, align 8 + %cmp28 = icmp ugt i8* %28, %29 + %30 = load i8, i8* %m, align 1 + %conv31 = sext i8 %30 to i32 + br i1 %cmp28, label %while.body30, label %while.end + +while.body30: ; preds = %while.cond27 + %shr32 = ashr i32 %conv31, 1 + %or = or i32 %shr32, 128 + %conv33 = trunc i32 %or to i8 + store i8 %conv33, i8* %m, align 1 + %31 = load i32, i32* %wc, align 4 + %and = and i32 %31, 63 + %or34 = or i32 %and, 128 + %conv35 = trunc i32 %or34 to i8 + %32 = load i8*, i8** %p, align 8 + %incdec.ptr36 = getelementptr inbounds i8, i8* %32, i32 -1 + store i8* %incdec.ptr36, i8** %p, align 8 + store i8 %conv35, i8* %incdec.ptr36, align 1 + %33 = load i32, i32* %wc, align 4 + %shr37 = lshr i32 %33, 6 + store i32 %shr37, i32* %wc, align 4 + br label %while.cond27 + +while.end: ; preds = %while.cond27 + %shl = shl i32 %conv31, 1 + %34 = load i8*, i8** %s.addr, align 8 + %35 = load i8, i8* %34, align 1 + %conv39 = sext i8 %35 to i32 + %or40 = or i32 %conv39, %shl + %conv41 = trunc i32 %or40 to i8 + store i8 %conv41, i8* %34, align 1 + br label %if.end46 + +if.else: ; preds = %while.body + %cmp42 = icmp eq i32 %16, 0 + br i1 %cmp42, label %if.then44, label %if.end46 + +if.then44: ; preds = %if.else + store i32* null, i32** %swc, align 8 + br label %while.end52 + +if.end46: ; preds = %if.else, %while.end + %36 = load i32*, i32** %swc, align 8 + %incdec.ptr47 = getelementptr inbounds i32, i32* %36, i32 1 + store i32* %incdec.ptr47, i32** %swc, align 8 + %37 = load i64, i64* %wn.addr, align 8 + %dec = add i64 %37, -1 + store i64 %dec, i64* %wn.addr, align 8 + %38 = load i64, i64* %len, align 8 + %39 = load i64, i64* %t, align 8 + %sub48 = sub i64 %39, %38 + store i64 %sub48, i64* %t, align 8 + %40 = load i32, i32* %store, align 4 + %tobool49 = icmp ne i32 %40, 0 + br i1 %tobool49, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.end46 + %41 = load i64, i64* %len, align 8 + %42 = load i8*, i8** %s.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %42, i64 %41 + store i8* %add.ptr, i8** %s.addr, align 8 + br label %if.end51 + +if.end51: ; preds = %if.then50, %if.end46 + br label %while.cond + +while.end52: ; preds = %do.end, %if.then44, %while.cond + %43 = load i32, i32* %store, align 4 + %tobool53 = icmp ne i32 %43, 0 + br i1 %tobool53, label %if.then54, label %if.end55 + +if.then54: ; preds = %while.end52 + %44 = load i32*, i32** %swc, align 8 + %45 = load i32**, i32*** %src.addr, align 8 + store i32* %44, i32** %45, align 8 + br label %if.end55 + +if.end55: ; preds = %if.then54, %while.end52 + %46 = load i64, i64* %n.addr, align 8 + %47 = load i64, i64* %t, align 8 + %sub56 = sub i64 %46, %47 + store i64 %sub56, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end55, %if.then19 + %48 = load i64, i64* %retval, align 8 + ret i64 %48 +} + +attributes #0 = { noinline nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #1 = { noinline noreturn nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #2 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #3 = { noinline nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #4 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #5 = { "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #6 = { noinline noreturn nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #7 = { noreturn "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #8 = { argmemonly nounwind willreturn writeonly } +attributes #9 = { argmemonly nounwind willreturn } +attributes #10 = { noreturn nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #11 = { nounwind } +attributes #12 = { noinline nounwind readnone uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #13 = { noreturn "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #14 = { noinline nounwind readonly uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #15 = { noinline nounwind readnone uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #16 = { noinline nounwind readonly uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #17 = { noinline nounwind returns_twice uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #18 = { "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #19 = { nobuiltin "no-builtins" } +attributes #20 = { nobuiltin nounwind "no-builtins" } +attributes #21 = { nobuiltin nounwind readonly "no-builtins" } +attributes #22 = { nobuiltin nounwind readnone "no-builtins" } +attributes #23 = { nobuiltin noreturn nounwind "no-builtins" } +attributes #24 = { nounwind readonly } +attributes #25 = { noreturn } +attributes #26 = { nounwind readnone } +attributes #27 = { noreturn nounwind } +attributes #28 = { nobuiltin noreturn "no-builtins" } + +!llvm.module.flags = !{!0, !1} +!llvm.ident = !{!2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2} + +!0 = !{i32 1, !"wchar_size", i32 4} +!1 = !{i32 7, !"PIC Level", i32 2} +!2 = !{!"clang version 11.1.0 (https://github.com/llvm/llvm-project.git 1fdec59bffc11ae37eb51a1b9869f0696bfd5312)"} diff --git a/benchmarks/coreutils/gensym_posix/cat.ll b/benchmarks/coreutils/gensym_posix/cat.ll new file mode 100644 index 000000000..7bd7f8cfd --- /dev/null +++ b/benchmarks/coreutils/gensym_posix/cat.ll @@ -0,0 +1,31916 @@ +; ModuleID = '__uClibc_main.os' +source_filename = "libc/misc/internals/__uClibc_main.c" +target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" +target triple = "x86_64-unknown-linux-gnu" + +module asm ".section .gnu.warning.siggetmask" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.__fpending" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.gets" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.tmpnam" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.mktemp" +module asm "\09.previous" + +%struct.__uclibc_locale_struct.203 = type { i16*, i16*, i16*, [384 x i16], [384 x i16], [384 x i16], [14 x i8], [6 x i16], [6 x i8], i8, i8, [10 x i8], i8*, i8*, i8*, i8*, i8*, i16*, i8*, i8*, i16*, i8*, i8*, i16*, i32, i32, i32, i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__collate_t.202 } +%struct.__collate_t.202 = type { i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16*, i16*, i16*, i16*, i16*, i16*, i16*, i16*, i16*, i16 } +%struct.__STDIO_FILE_STRUCT.570 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.570*, [2 x i32], %struct.__mbstate_t.514, i8* } +%struct.__mbstate_t.514 = type { i32, i32 } +%struct.quoting_options = type { i32, i32, [8 x i32], i8*, i8* } +%struct.infomap = type { i8*, i8* } +%struct.option = type { i8*, i32, i32*, i32 } +%struct.slotvec = type { i64, i8* } +%struct.exe_file_t = type { i32, i32, i64, %struct.exe_disk_file_t* } +%struct.exe_disk_file_t = type { i32, i8*, %struct.stat64* } +%struct.stat64 = type { i64, i64, i64, i32, i32, i32, i32, i64, i64, i64, i64, %struct.timespec.0, %struct.timespec.0, %struct.timespec.0, [3 x i64] } +%struct.timespec.0 = type { i64, i64 } +%struct.exe_file_system_t = type { i32, %struct.exe_disk_file_t*, %struct.exe_disk_file_t*, i32, %struct.exe_disk_file_t*, i32, i32*, i32*, i32*, i32*, i32*, i32*, i32* } +%struct.__locale_mmap_t.205 = type { [420 x i8], [504 x i8], [1760 x i16], [4528 x i8], [3604 x i8], [1680 x i8], [196 x i16], [51 x i8], [28 x i8], [1646 x i8], [28353 x i8], [1804 x i8], [23 x %struct.__codeset_8_bit_t.204], [20 x i8], [10 x i16], [20 x i16], [45 x i8], [3 x i16], [15 x i16], [3894 x i8], [22 x i16], [407 x i16], [8250 x i8], [50 x i16], [3429 x i16], [372 x i8], [4 x i16], [200 x i16], [91141 x i16], [6 x i8], [24 x i64], [2826 x i8], [835 x i8], [18 x i8], [69 x i8], [255 x i8] } +%struct.__codeset_8_bit_t.204 = type { [16 x i8], [16 x i8], [16 x i8], [38 x i8] } +%struct.utmp.325 = type { i16, i32, [32 x i8], [4 x i8], [32 x i8], [256 x i8], %struct.exit_status, i64, %struct.timespec.0, [4 x i32], [20 x i8] } +%struct.exit_status = type { i16, i16 } +%struct._getopt_data = type { i32, i32, i32, i8*, i32, i8*, i32, i32, i32, i32 } +%struct.exit_function = type { i64, %union.anon.774 } +%union.anon.774 = type { %struct.anon.0.773 } +%struct.anon.0.773 = type { void (i8*)*, i8*, i8* } +%struct.dirent64 = type { i64, i64, i16, i8, [256 x i8] } +%struct.__STDIO_FILE_STRUCT.594 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.594*, [2 x i32], %struct.__mbstate_t.514, i8* } +%struct.__STDIO_FILE_STRUCT.610 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.610*, [2 x i32], %struct.__mbstate_t.514, i8* } +%struct.__STDIO_FILE_STRUCT.623 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.623*, [2 x i32], %struct.__mbstate_t.514, i8* } +%struct.__STDIO_FILE_STRUCT.638 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.638*, [2 x i32], %struct.__mbstate_t.514, i8* } +%struct.Elf64_auxv_t = type { i64, %union.anon.195 } +%union.anon.195 = type { i64 } +%struct.stat.194 = type { i64, i64, i64, i32, i32, i32, i32, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, [3 x i64] } +%struct.__STDIO_FILE_STRUCT.515 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.515*, [2 x i32], %struct.__mbstate_t.514, i8* } +%struct.exe_sym_env_t = type { [32 x %struct.exe_file_t], i32, i32, i32 } +%struct.__va_list_tag.2 = type { i32, i32, i8*, i8* } +%struct.termios = type { i32, i32, i32, i32, i8, [32 x i8], i32, i32 } +%struct.winsize = type { i16, i16, i16, i16 } +%struct.flock = type { i16, i16, i64, i64, i32 } +%struct.statfs = type { i64, i64, i64, i64, i64, i64, i64, %struct.__fsid_t, i64, i64, i64, [4 x i64] } +%struct.__fsid_t = type { [2 x i32] } +%struct.fd_set = type { [16 x i64] } +%struct.coldata_header_t = type { i16, i16, i16, i16, i16, i16, i16, i16 } +%struct.coldata_base_t = type { i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16 } +%struct._IO_FILE = type { i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct._IO_marker*, %struct._IO_FILE*, i32, i32, i64, i16, i8, [1 x i8], i8*, i64, %struct._IO_codecvt*, %struct._IO_wide_data*, %struct._IO_FILE*, i8*, i64, i32, [20 x i8] } +%struct._IO_marker = type opaque +%struct._IO_codecvt = type opaque +%struct._IO_wide_data = type opaque +%struct.__mbstate_t = type { i32, %union.anon } +%union.anon = type { i32 } +%struct.sigaction.802 = type { %union.anon.801, %struct.fd_set, i32, void ()* } +%union.anon.801 = type { void (i32)* } +%struct.tms = type { i64, i64, i64, i64 } +%struct.utmpx = type opaque +%struct.utmp = type { i16, i32, [32 x i8], [4 x i8], [32 x i8], [256 x i8], %struct.exit_status, i32, %struct.__mbstate_t.514, [4 x i32], [20 x i8] } +%struct.rusage = type { %struct.timespec.0, %struct.timespec.0, %union.anon.195, %union.anon.195, %union.anon.195, %union.anon.195, %union.anon.195, %union.anon.195, %union.anon.195, %union.anon.195, %union.anon.195, %union.anon.195, %union.anon.195, %union.anon.195, %union.anon.195, %union.anon.195 } +%struct.siginfo_t = type { i32, i32, i32, i32, %union.anon.0 } +%union.anon.0 = type { %struct.anon.3, [80 x i8] } +%struct.anon.3 = type { i32, i32, i32, i64, i64 } +%struct.kernel_sigaction = type { void (i32)*, i64, void ()*, %struct.fd_set } +%struct.__jmp_buf_tag = type { [8 x i64], i32, %struct.fd_set } +%struct.__STDIO_FILE_STRUCT.521 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.521*, [2 x i32], %struct.__mbstate_t.514, i8* } +%struct.__kernel_termios = type { i32, i32, i32, i32, i8, [19 x i8] } +%struct.ppfs_t.724 = type { i8*, %struct.printf_info.722, i32, i32, i32, [4 x i8], [9 x i32], [1 x %struct.__va_list_tag.2], [9 x %union.anon.195] } +%struct.printf_info.722 = type { i32, i32, i32, i32, i32 } +%struct.anon.781 = type { void (i32, i8*)*, i8* } + +@__libc_stack_end = global i8* null, align 8 +@.str = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@__uclibc_progname = hidden global i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i32 0, i32 0), align 8 +@program_invocation_short_name = global i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i32 0, i32 0), align 8 +@program_invocation_name = global i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i32 0, i32 0), align 8 +@__environ = global i8** null, align 8 +@__pagesize = global i64 0, align 8 +@__uClibc_init.been_there_done_that = internal global i32 0, align 4 +@__app_fini = hidden global void ()* null, align 8 +@__rtld_fini = hidden global void ()* null, align 8 +@.str.1 = private unnamed_addr constant [10 x i8] c"/dev/null\00", align 1 +@llvm.used = appending global [5 x i8*] [i8* getelementptr inbounds ([57 x i8], [57 x i8]* @__evoke_link_warning_siggetmask, i32 0, i32 0), i8* getelementptr inbounds ([167 x i8], [167 x i8]* @__evoke_link_warning___fpending, i32 0, i32 0), i8* getelementptr inbounds ([57 x i8], [57 x i8]* @__evoke_link_warning_gets, i32 0, i32 0), i8* getelementptr inbounds ([55 x i8], [55 x i8]* @__evoke_link_warning_tmpnam, i32 0, i32 0), i8* getelementptr inbounds ([55 x i8], [55 x i8]* @__evoke_link_warning_mktemp, i32 0, i32 0)], section "llvm.metadata" +@__evoke_link_warning_siggetmask = internal constant [57 x i8] c"warning: `siggetmask' is obsolete; `sigprocmask' is best\00", section ".gnu.warning.siggetmask\0A#APP\0A\09#", align 16 +@__evoke_link_warning___fpending = internal constant [167 x i8] c"This version of __fpending returns bytes remaining in buffer for both narrow and wide streams. glibc's version returns wide chars in buffer for the wide stream case.\00", section ".gnu.warning.__fpending\0A#APP\0A\09#", align 16 +@__evoke_link_warning_gets = internal constant [57 x i8] c"the 'gets' function is dangerous and should not be used.\00", section ".gnu.warning.gets\0A#APP\0A\09#", align 16 +@__evoke_link_warning_tmpnam = internal constant [55 x i8] c"the use of `tmpnam' is dangerous, better use `mkstemp'\00", section ".gnu.warning.tmpnam\0A#APP\0A\09#", align 16 +@tmpnam_buffer = internal global [20 x i8] zeroinitializer, align 16 +@__evoke_link_warning_mktemp = internal constant [55 x i8] c"the use of `mktemp' is dangerous, better use `mkstemp'\00", section ".gnu.warning.mktemp\0A#APP\0A\09#", align 16 +@.str.4 = private unnamed_addr constant [77 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/fd.c\00", align 1 +@.str.27 = private unnamed_addr constant [37 x i8] c"ERROR: concretizing symbolic pointer\00", align 1 +@.str.28 = private unnamed_addr constant [9 x i8] c"user.err\00", align 1 +@.str.25 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@getcwd.n_calls = internal global i32 0, align 4 +@.str.5 = private unnamed_addr constant [46 x i8] c"Undefined call to open(): O_TRUNC | O_RDONLY\0A\00", align 1 +@.str.1.6 = private unnamed_addr constant [47 x i8] c"Undefined call to open(): O_EXCL w/o O_RDONLY\0A\00", align 1 +@.str.2 = private unnamed_addr constant [44 x i8] c"symbolic file descriptor, ignoring (ENOENT)\00", align 1 +@close.n_calls = internal global i32 0, align 4 +@read.n_calls = internal global i32 0, align 4 +@.str.3 = private unnamed_addr constant [12 x i8] c"f->off >= 0\00", align 1 +@__PRETTY_FUNCTION__.read = private unnamed_addr constant [34 x i8] c"ssize_t read(int, void *, size_t)\00", align 1 +@write.n_calls = internal global i32 0, align 4 +@.str.5.7 = private unnamed_addr constant [7 x i8] c"r >= 0\00", align 1 +@__PRETTY_FUNCTION__.write = private unnamed_addr constant [41 x i8] c"ssize_t write(int, const void *, size_t)\00", align 1 +@.str.6 = private unnamed_addr constant [2 x i8] c"0\00", align 1 +@.str.7 = private unnamed_addr constant [24 x i8] c"write() ignores bytes.\0A\00", align 1 +@.str.8 = private unnamed_addr constant [18 x i8] c"new_off == f->off\00", align 1 +@__PRETTY_FUNCTION__.__fd_lseek = private unnamed_addr constant [38 x i8] c"off64_t __fd_lseek(int, off64_t, int)\00", align 1 +@.str.9 = private unnamed_addr constant [33 x i8] c"symbolic file, ignoring (ENOENT)\00", align 1 +@chmod.n_calls = internal global i32 0, align 4 +@fchmod.n_calls = internal global i32 0, align 4 +@.str.26 = private unnamed_addr constant [32 x i8] c"symbolic file, ignoring (EPERM)\00", align 1 +@__fd_ftruncate.n_calls = internal global i32 0, align 4 +@.str.10 = private unnamed_addr constant [30 x i8] c"symbolic file, ignoring (EIO)\00", align 1 +@.str.11 = private unnamed_addr constant [33 x i8] c"symbolic file, ignoring (EINVAL)\00", align 1 +@.str.12 = private unnamed_addr constant [18 x i8] c"s != (off64_t) -1\00", align 1 +@__PRETTY_FUNCTION__.__fd_getdents = private unnamed_addr constant [65 x i8] c"int __fd_getdents(unsigned int, struct dirent64 *, unsigned int)\00", align 1 +@.str.13 = private unnamed_addr constant [22 x i8] c"f->off != (off64_t)-1\00", align 1 +@.str.14 = private unnamed_addr constant [41 x i8] c"(TCGETS) symbolic file, incomplete model\00", align 1 +@.str.15 = private unnamed_addr constant [42 x i8] c"(TCSETS) symbolic file, silently ignoring\00", align 1 +@.str.16 = private unnamed_addr constant [43 x i8] c"(TCSETSW) symbolic file, silently ignoring\00", align 1 +@.str.17 = private unnamed_addr constant [43 x i8] c"(TCSETSF) symbolic file, silently ignoring\00", align 1 +@.str.18 = private unnamed_addr constant [45 x i8] c"(TIOCGWINSZ) symbolic file, incomplete model\00", align 1 +@.str.19 = private unnamed_addr constant [46 x i8] c"(TIOCSWINSZ) symbolic file, ignoring (EINVAL)\00", align 1 +@.str.20 = private unnamed_addr constant [43 x i8] c"(FIONREAD) symbolic file, incomplete model\00", align 1 +@.str.21 = private unnamed_addr constant [44 x i8] c"(MTIOCGET) symbolic file, ignoring (EINVAL)\00", align 1 +@.str.22 = private unnamed_addr constant [32 x i8] c"symbolic file, ignoring (EBADF)\00", align 1 +@.str.23 = private unnamed_addr constant [17 x i8] c"ignoring (EPERM)\00", align 1 +@.str.24 = private unnamed_addr constant [18 x i8] c"ignoring (ENOENT)\00", align 1 +@__const.klee_init_env.sym_arg_name = private unnamed_addr constant [6 x i8] c"arg\00\00\00", align 1 +@.str.29 = private unnamed_addr constant [7 x i8] c"--help\00", align 1 +@.str.1.30 = private unnamed_addr constant [964 x i8] c"klee_init_env\0A\0Ausage: (klee_init_env) [options] [program arguments]\0A -sym-arg - Replace by a symbolic argument with length N\0A -sym-args - Replace by at least MIN arguments and at most\0A MAX arguments, each with maximum length N\0A -sym-files - Make NUM symbolic files ('A', 'B', 'C', etc.),\0A each with size N\0A -sym-stdin - Make stdin symbolic with size N.\0A -sym-stdout - Make stdout symbolic.\0A -save-all-writes - Allow write operations to execute as expected\0A even if they exceed the file size. If set to 0, all\0A writes exceeding the initial file size are discarded.\0A Note: file offset is always incremented.\0A -max-fail - Allow up to N injected failures\0A -fd-fail - Shortcut for '-max-fail 1'\0A\0A\00", align 1 +@.str.2.31 = private unnamed_addr constant [10 x i8] c"--sym-arg\00", align 1 +@.str.3.32 = private unnamed_addr constant [9 x i8] c"-sym-arg\00", align 1 +@.str.4.33 = private unnamed_addr constant [48 x i8] c"--sym-arg expects an integer argument \00", align 1 +@.str.5.34 = private unnamed_addr constant [45 x i8] c"No more than 100 symbolic arguments allowed.\00", align 1 +@.str.6.35 = private unnamed_addr constant [11 x i8] c"--sym-args\00", align 1 +@.str.7.36 = private unnamed_addr constant [10 x i8] c"-sym-args\00", align 1 +@.str.8.37 = private unnamed_addr constant [77 x i8] c"--sym-args expects three integer arguments \00", align 1 +@.str.9.38 = private unnamed_addr constant [28 x i8] c"Invalid range to --sym-args\00", align 1 +@.str.10.39 = private unnamed_addr constant [7 x i8] c"n_args\00", align 1 +@.str.11.40 = private unnamed_addr constant [12 x i8] c"--sym-files\00", align 1 +@.str.12.41 = private unnamed_addr constant [11 x i8] c"-sym-files\00", align 1 +@.str.13.42 = private unnamed_addr constant [72 x i8] c"--sym-files expects two integer arguments \00", align 1 +@.str.14.43 = private unnamed_addr constant [39 x i8] c"Multiple --sym-files are not allowed.\0A\00", align 1 +@.str.15.44 = private unnamed_addr constant [65 x i8] c"The first argument to --sym-files (number of files) cannot be 0\0A\00", align 1 +@.str.16.45 = private unnamed_addr constant [60 x i8] c"The second argument to --sym-files (file size) cannot be 0\0A\00", align 1 +@.str.17.46 = private unnamed_addr constant [12 x i8] c"--sym-stdin\00", align 1 +@.str.18.47 = private unnamed_addr constant [11 x i8] c"-sym-stdin\00", align 1 +@.str.19.48 = private unnamed_addr constant [57 x i8] c"--sym-stdin expects one integer argument \00", align 1 +@.str.20.49 = private unnamed_addr constant [13 x i8] c"--sym-stdout\00", align 1 +@.str.21.50 = private unnamed_addr constant [12 x i8] c"-sym-stdout\00", align 1 +@.str.22.51 = private unnamed_addr constant [18 x i8] c"--save-all-writes\00", align 1 +@.str.23.52 = private unnamed_addr constant [17 x i8] c"-save-all-writes\00", align 1 +@.str.24.53 = private unnamed_addr constant [10 x i8] c"--fd-fail\00", align 1 +@.str.25.54 = private unnamed_addr constant [9 x i8] c"-fd-fail\00", align 1 +@.str.26.55 = private unnamed_addr constant [12 x i8] c"--bout-file\00", align 1 +@.str.27.56 = private unnamed_addr constant [11 x i8] c"-bout-file\00", align 1 +@.str.28.57 = private unnamed_addr constant [11 x i8] c"--max-fail\00", align 1 +@.str.29.58 = private unnamed_addr constant [10 x i8] c"-max-fail\00", align 1 +@.str.30 = private unnamed_addr constant [54 x i8] c"--max-fail expects an integer argument \00", align 1 +@.str.31 = private unnamed_addr constant [31 x i8] c"out of memory in klee_init_env\00", align 1 +@.str.35 = private unnamed_addr constant [37 x i8] c"too many arguments for klee_init_env\00", align 1 +@.str.32 = private unnamed_addr constant [88 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/klee_init_env.c\00", align 1 +@.str.33 = private unnamed_addr constant [9 x i8] c"user.err\00", align 1 +@.str.34 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.68 = private unnamed_addr constant [5 x i8] c"file\00", align 1 +@.str.1.69 = private unnamed_addr constant [5 x i8] c"/tmp\00", align 1 +@.str.2.70 = private unnamed_addr constant [16 x i8] c"%.*s/%.*sXXXXXX\00", align 1 +@.str.3.73 = private unnamed_addr constant [7 x i8] c"XXXXXX\00", align 1 +@letters = internal constant [63 x i8] c"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\00", align 16 +@brain_damaged_fillrand.value = internal global i64 0, align 8 +@.str.4.74 = private unnamed_addr constant [13 x i8] c"/dev/urandom\00", align 1 +@.str.5.75 = private unnamed_addr constant [12 x i8] c"/dev/random\00", align 1 +@__global_locale_data = global %struct.__uclibc_locale_struct.203 zeroinitializer, align 8 +@__global_locale = global %struct.__uclibc_locale_struct.203* @__global_locale_data, align 8 +@__curlocale_var = global %struct.__uclibc_locale_struct.203* @__global_locale_data, align 8 +@utf8 = internal constant [6 x i8] c"UTF-8\00", align 1 +@ascii = internal constant [6 x i8] c"ASCII\00", align 1 +@__code2flag = internal constant [16 x i16] [i16 0, i16 -15352, i16 -14840, i16 -14584, i16 -15096, i16 -14328, i16 -16380, i16 -16384, i16 24576, i16 24577, i16 8192, i16 8193, i16 8194, i16 8195, i16 2, i16 0], align 16 +@.str.76 = private unnamed_addr constant [14 x i8] c"#\80\80\80\80\80\80\80\80\80\80\80\80\00", align 1 +@stdin = global %struct.__STDIO_FILE_STRUCT.570* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.570], [3 x %struct.__STDIO_FILE_STRUCT.570]* @_stdio_streams, i32 0, i32 0), align 8 +@_stdio_streams = internal global [3 x %struct.__STDIO_FILE_STRUCT.570] [%struct.__STDIO_FILE_STRUCT.570 { i16 544, [2 x i8] zeroinitializer, i32 0, i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, %struct.__STDIO_FILE_STRUCT.570* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.570]* @_stdio_streams to i8*), i64 88) to %struct.__STDIO_FILE_STRUCT.570*), [2 x i32] zeroinitializer, %struct.__mbstate_t.514 zeroinitializer, i8* null }, %struct.__STDIO_FILE_STRUCT.570 { i16 528, [2 x i8] zeroinitializer, i32 1, i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, %struct.__STDIO_FILE_STRUCT.570* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.570]* @_stdio_streams to i8*), i64 176) to %struct.__STDIO_FILE_STRUCT.570*), [2 x i32] zeroinitializer, %struct.__mbstate_t.514 zeroinitializer, i8* null }, %struct.__STDIO_FILE_STRUCT.570 { i16 528, [2 x i8] zeroinitializer, i32 2, i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, %struct.__STDIO_FILE_STRUCT.570* null, [2 x i32] zeroinitializer, %struct.__mbstate_t.514 zeroinitializer, i8* null }], align 16 +@stdout = global %struct.__STDIO_FILE_STRUCT.570* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.570]* @_stdio_streams to i8*), i64 88) to %struct.__STDIO_FILE_STRUCT.570*), align 8 +@stderr = global %struct.__STDIO_FILE_STRUCT.570* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.570]* @_stdio_streams to i8*), i64 176) to %struct.__STDIO_FILE_STRUCT.570*), align 8 +@__stdin = global %struct.__STDIO_FILE_STRUCT.570* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.570], [3 x %struct.__STDIO_FILE_STRUCT.570]* @_stdio_streams, i32 0, i32 0), align 8 +@__stdout = global %struct.__STDIO_FILE_STRUCT.570* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.570]* @_stdio_streams to i8*), i64 88) to %struct.__STDIO_FILE_STRUCT.570*), align 8 +@_stdio_openlist = global %struct.__STDIO_FILE_STRUCT.570* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.570], [3 x %struct.__STDIO_FILE_STRUCT.570]* @_stdio_streams, i32 0, i32 0), align 8 +@been_there_done_that = internal global i32 0, align 4 +@__exit_cleanup = hidden global void (i32)* null, align 8 +@Version = dso_local global i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.47, i32 0, i32 0), align 8 +@.str.47 = private unnamed_addr constant [5 x i8] c"8.32\00", align 1 +@exit_failure = dso_local global i32 1, align 4 +@program_name = dso_local global i8* null, align 8 +@quoting_style_args = dso_local constant [11 x i8*] [i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.66, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1.67, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2.68, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.3.69, i32 0, i32 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.4.70, i32 0, i32 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.5.71, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.6.72, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.7.73, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.8.74, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.9.75, i32 0, i32 0), i8* null], align 16 +@.str.66 = private unnamed_addr constant [8 x i8] c"literal\00", align 1 +@.str.1.67 = private unnamed_addr constant [6 x i8] c"shell\00", align 1 +@.str.2.68 = private unnamed_addr constant [13 x i8] c"shell-always\00", align 1 +@.str.3.69 = private unnamed_addr constant [13 x i8] c"shell-escape\00", align 1 +@.str.4.70 = private unnamed_addr constant [20 x i8] c"shell-escape-always\00", align 1 +@.str.5.71 = private unnamed_addr constant [2 x i8] c"c\00", align 1 +@.str.6.72 = private unnamed_addr constant [8 x i8] c"c-maybe\00", align 1 +@.str.7.73 = private unnamed_addr constant [7 x i8] c"escape\00", align 1 +@.str.8.74 = private unnamed_addr constant [7 x i8] c"locale\00", align 1 +@.str.9.75 = private unnamed_addr constant [8 x i8] c"clocale\00", align 1 +@quoting_style_vals = dso_local constant [10 x i32] [i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9], align 16 +@quote_quoting_options = dso_local global %struct.quoting_options { i32 8, i32 0, [8 x i32] zeroinitializer, i8* null, i8* null }, align 8 +@version_etc_copyright = dso_local constant [47 x i8] c"Copyright %s %d Free Software Foundation, Inc.\00", align 16 +@.str.95 = private unnamed_addr constant [39 x i8] c"Try '%s --help' for more information.\0A\00", align 1 +@.str.1.96 = private unnamed_addr constant [33 x i8] c"Usage: %s [OPTION]... [FILE]...\0A\00", align 1 +@.str.2.97 = private unnamed_addr constant [41 x i8] c"Concatenate FILE(s) to standard output.\0A\00", align 1 +@.str.3.98 = private unnamed_addr constant [335 x i8] c"\0A -A, --show-all equivalent to -vET\0A -b, --number-nonblank number nonempty output lines, overrides -n\0A -e equivalent to -vE\0A -E, --show-ends display $ at end of each line\0A -n, --number number all output lines\0A -s, --squeeze-blank suppress repeated empty output lines\0A\00", align 1 +@.str.4.99 = private unnamed_addr constant [212 x i8] c" -t equivalent to -vT\0A -T, --show-tabs display TAB characters as ^I\0A -u (ignored)\0A -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB\0A\00", align 1 +@.str.5.100 = private unnamed_addr constant [45 x i8] c" --help display this help and exit\0A\00", align 1 +@.str.6.101 = private unnamed_addr constant [54 x i8] c" --version output version information and exit\0A\00", align 1 +@.str.7.102 = private unnamed_addr constant [137 x i8] c"\0AExamples:\0A %s f - g Output f's contents, then standard input, then g's contents.\0A %s Copy standard input to standard output.\0A\00", align 1 +@.str.8.103 = private unnamed_addr constant [4 x i8] c"cat\00", align 1 +@__const.emit_ancillary_info.infomap = private unnamed_addr constant [7 x %struct.infomap] [%struct.infomap { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.29.106, i32 0, i32 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.30.107, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.31.108, i32 0, i32 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.32.109, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.33.110, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.34.111, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.35.112, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.34.111, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.36, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.34.111, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.37, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.34.111, i32 0, i32 0) }, %struct.infomap zeroinitializer], align 16 +@.str.38 = private unnamed_addr constant [23 x i8] c"\0A%s online help: <%s>\0A\00", align 1 +@.str.20.104 = private unnamed_addr constant [14 x i8] c"GNU coreutils\00", align 1 +@.str.39 = private unnamed_addr constant [40 x i8] c"https://www.gnu.org/software/coreutils/\00", align 1 +@.str.40 = private unnamed_addr constant [4 x i8] c"en_\00", align 1 +@.str.41 = private unnamed_addr constant [71 x i8] c"Report any translation bugs to \0A\00", align 1 +@.str.42 = private unnamed_addr constant [27 x i8] c"Full documentation <%s%s>\0A\00", align 1 +@.str.44 = private unnamed_addr constant [12 x i8] c" invocation\00", align 1 +@.str.18.105 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@.str.43 = private unnamed_addr constant [51 x i8] c"or available locally via: info '(coreutils) %s%s'\0A\00", align 1 +@.str.29.106 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@.str.30.107 = private unnamed_addr constant [16 x i8] c"test invocation\00", align 1 +@.str.31.108 = private unnamed_addr constant [10 x i8] c"coreutils\00", align 1 +@.str.32.109 = private unnamed_addr constant [22 x i8] c"Multi-call invocation\00", align 1 +@.str.33.110 = private unnamed_addr constant [10 x i8] c"sha224sum\00", align 1 +@.str.34.111 = private unnamed_addr constant [15 x i8] c"sha2 utilities\00", align 1 +@.str.35.112 = private unnamed_addr constant [10 x i8] c"sha256sum\00", align 1 +@.str.36 = private unnamed_addr constant [10 x i8] c"sha384sum\00", align 1 +@.str.37 = private unnamed_addr constant [10 x i8] c"sha512sum\00", align 1 +@.str.28.113 = private unnamed_addr constant [56 x i8] c"\0AWith no FILE, or when FILE is -, read standard input.\0A\00", align 1 +@.str.19.116 = private unnamed_addr constant [11 x i8] c"benstuvAET\00", align 1 +@main.long_options = internal constant [10 x %struct.option] [%struct.option { i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.9.133, i32 0, i32 0), i32 0, i32* null, i32 98 }, %struct.option { i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.10.134, i32 0, i32 0), i32 0, i32* null, i32 110 }, %struct.option { i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.11.135, i32 0, i32 0), i32 0, i32* null, i32 115 }, %struct.option { i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.12.136, i32 0, i32 0), i32 0, i32* null, i32 118 }, %struct.option { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.13.137, i32 0, i32 0), i32 0, i32* null, i32 69 }, %struct.option { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.14.138, i32 0, i32 0), i32 0, i32* null, i32 84 }, %struct.option { i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.15.139, i32 0, i32 0), i32 0, i32* null, i32 65 }, %struct.option { i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.16.140, i32 0, i32 0), i32 0, i32* null, i32 -130 }, %struct.option { i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.17.141, i32 0, i32 0), i32 0, i32* null, i32 -131 }, %struct.option zeroinitializer], align 16 +@.str.21.117 = private unnamed_addr constant [18 x i8] c"Torbjorn Granlund\00", align 1 +@.str.22.118 = private unnamed_addr constant [20 x i8] c"Richard M. Stallman\00", align 1 +@.str.23.119 = private unnamed_addr constant [16 x i8] c"standard output\00", align 1 +@.str.24.120 = private unnamed_addr constant [2 x i8] c"-\00", align 1 +@infile = internal global i8* null, align 8 +@input_desc = internal global i32 0, align 4 +@.str.25.121 = private unnamed_addr constant [3 x i8] c"%s\00", align 1 +@.str.26.122 = private unnamed_addr constant [30 x i8] c"%s: input file is output file\00", align 1 +@.str.27.123 = private unnamed_addr constant [23 x i8] c"closing standard input\00", align 1 +@newlines2 = internal global i32 0, align 4 +@.str.45 = private unnamed_addr constant [12 x i8] c"write error\00", align 1 +@.str.46 = private unnamed_addr constant [22 x i8] c"cannot do ioctl on %s\00", align 1 +@line_num_print = internal global i8* getelementptr inbounds ([20 x i8], [20 x i8]* @line_buf, i32 0, i64 12), align 8 +@line_buf = internal global [20 x i8] c" 0\09\00", align 16 +@line_num_end = internal global i8* getelementptr inbounds ([20 x i8], [20 x i8]* @line_buf, i32 0, i64 17), align 8 +@line_num_start = internal global i8* getelementptr inbounds ([20 x i8], [20 x i8]* @line_buf, i32 0, i64 17), align 8 +@slotvec = internal global %struct.slotvec* @slotvec0, align 8 +@nslots = internal global i32 1, align 4 +@slotvec0 = internal global %struct.slotvec { i64 256, i8* getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i32 0, i32 0) }, align 8 +@slot0 = internal global [256 x i8] zeroinitializer, align 16 +@.str.10.76 = private unnamed_addr constant [2 x i8] c"\22\00", align 1 +@.str.11.77 = private unnamed_addr constant [2 x i8] c"`\00", align 1 +@.str.12.78 = private unnamed_addr constant [2 x i8] c"'\00", align 1 +@.str.146 = private unnamed_addr constant [2 x i8] c"C\00", align 1 +@.str.1.147 = private unnamed_addr constant [6 x i8] c"POSIX\00", align 1 +@.str.13.79 = private unnamed_addr constant [6 x i8] c"UTF-8\00", align 1 +@.str.14.80 = private unnamed_addr constant [4 x i8] c"\E2\80\98\00", align 1 +@.str.15.81 = private unnamed_addr constant [4 x i8] c"\E2\80\99\00", align 1 +@.str.16.82 = private unnamed_addr constant [8 x i8] c"GB18030\00", align 1 +@.str.17.83 = private unnamed_addr constant [4 x i8] c"\A1\07e\00", align 1 +@.str.18.84 = private unnamed_addr constant [3 x i8] c"\A1\AF\00", align 1 +@.str.150 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@.str.1.151 = private unnamed_addr constant [6 x i8] c"ASCII\00", align 1 +@.str.132 = private unnamed_addr constant [3 x i8] c"%s\00", align 1 +@.str.1.133 = private unnamed_addr constant [17 x i8] c"memory exhausted\00", align 1 +@default_quoting_options = internal global %struct.quoting_options zeroinitializer, align 8 +@.str.95.124 = private unnamed_addr constant [12 x i8] c"%s (%s) %s\0A\00", align 1 +@.str.1.96.125 = private unnamed_addr constant [7 x i8] c"%s %s\0A\00", align 1 +@.str.2.97.126 = private unnamed_addr constant [4 x i8] c"(C)\00", align 1 +@.str.3.98.127 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.4.99.128 = private unnamed_addr constant [171 x i8] c"License GPLv3+: GNU GPL version 3 or later <%s>.\0AThis is free software: you are free to change and redistribute it.\0AThere is NO WARRANTY, to the extent permitted by law.\0A\00", align 1 +@.str.5.100.129 = private unnamed_addr constant [34 x i8] c"https://gnu.org/licenses/gpl.html\00", align 1 +@.str.6.101.130 = private unnamed_addr constant [16 x i8] c"Written by %s.\0A\00", align 1 +@.str.7.102.131 = private unnamed_addr constant [23 x i8] c"Written by %s and %s.\0A\00", align 1 +@.str.8.103.132 = private unnamed_addr constant [28 x i8] c"Written by %s, %s, and %s.\0A\00", align 1 +@.str.9.104 = private unnamed_addr constant [32 x i8] c"Written by %s, %s, %s,\0Aand %s.\0A\00", align 1 +@.str.10.105 = private unnamed_addr constant [36 x i8] c"Written by %s, %s, %s,\0A%s, and %s.\0A\00", align 1 +@.str.11.106 = private unnamed_addr constant [40 x i8] c"Written by %s, %s, %s,\0A%s, %s, and %s.\0A\00", align 1 +@.str.12.107 = private unnamed_addr constant [44 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, and %s.\0A\00", align 1 +@.str.13.108 = private unnamed_addr constant [48 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, %s,\0Aand %s.\0A\00", align 1 +@.str.14.109 = private unnamed_addr constant [52 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, %s,\0A%s, and %s.\0A\00", align 1 +@.str.15.110 = private unnamed_addr constant [60 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, %s,\0A%s, %s, and others.\0A\00", align 1 +@.str.9.133 = private unnamed_addr constant [16 x i8] c"number-nonblank\00", align 1 +@.str.10.134 = private unnamed_addr constant [7 x i8] c"number\00", align 1 +@.str.11.135 = private unnamed_addr constant [14 x i8] c"squeeze-blank\00", align 1 +@.str.12.136 = private unnamed_addr constant [17 x i8] c"show-nonprinting\00", align 1 +@.str.13.137 = private unnamed_addr constant [10 x i8] c"show-ends\00", align 1 +@.str.14.138 = private unnamed_addr constant [10 x i8] c"show-tabs\00", align 1 +@.str.15.139 = private unnamed_addr constant [9 x i8] c"show-all\00", align 1 +@.str.16.140 = private unnamed_addr constant [5 x i8] c"help\00", align 1 +@.str.17.141 = private unnamed_addr constant [8 x i8] c"version\00", align 1 +@ignore_EPIPE = internal global i8 0, align 1 +@.str.50 = private unnamed_addr constant [12 x i8] c"write error\00", align 1 +@file_name = internal global i8* null, align 8 +@.str.1.51 = private unnamed_addr constant [7 x i8] c"%s: %s\00", align 1 +@.str.2.52 = private unnamed_addr constant [3 x i8] c"%s\00", align 1 +@.str.63 = private unnamed_addr constant [56 x i8] c"A NULL argv[0] was passed through an exec system call.\0A\00", align 1 +@.str.1.64 = private unnamed_addr constant [8 x i8] c"/.libs/\00", align 1 +@.str.2.65 = private unnamed_addr constant [4 x i8] c"lt-\00", align 1 +@.str.16.113 = private unnamed_addr constant [20 x i8] c"Report bugs to: %s\0A\00", align 1 +@.str.17.114 = private unnamed_addr constant [22 x i8] c"bug-coreutils@gnu.org\00", align 1 +@.str.18.115 = private unnamed_addr constant [20 x i8] c"%s home page: <%s>\0A\00", align 1 +@.str.19.116.142 = private unnamed_addr constant [14 x i8] c"GNU coreutils\00", align 1 +@.str.20.117 = private unnamed_addr constant [40 x i8] c"https://www.gnu.org/software/coreutils/\00", align 1 +@.str.21.118 = private unnamed_addr constant [39 x i8] c"General help using GNU software: <%s>\0A\00", align 1 +@.str.22.119 = private unnamed_addr constant [29 x i8] c"https://www.gnu.org/gethelp/\00", align 1 +@__exe_env = dso_local global { <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] } { <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }> <{ %struct.exe_file_t { i32 0, i32 5, i64 0, %struct.exe_disk_file_t* null }, %struct.exe_file_t { i32 1, i32 9, i64 0, %struct.exe_disk_file_t* null }, %struct.exe_file_t { i32 2, i32 9, i64 0, %struct.exe_disk_file_t* null }, [29 x %struct.exe_file_t] zeroinitializer }>, i32 18, i32 0, i32 0, [4 x i8] undef }, align 8 +@__exe_fs = dso_local global %struct.exe_file_system_t zeroinitializer, align 8 +@__const.klee_init_fds.name = private unnamed_addr constant [7 x i8] c"?-data\00", align 1 +@.str.149 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@.str.1.150 = private unnamed_addr constant [82 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/fd_init.c\00", align 1 +@.str.2.151 = private unnamed_addr constant [31 x i8] c"out of memory in klee_init_env\00", align 1 +@.str.3.152 = private unnamed_addr constant [9 x i8] c"user.err\00", align 1 +@.str.4.154 = private unnamed_addr constant [6 x i8] c"stdin\00", align 1 +@.str.5.155 = private unnamed_addr constant [10 x i8] c"read_fail\00", align 1 +@.str.6.156 = private unnamed_addr constant [11 x i8] c"write_fail\00", align 1 +@.str.7.157 = private unnamed_addr constant [11 x i8] c"close_fail\00", align 1 +@.str.8.158 = private unnamed_addr constant [15 x i8] c"ftruncate_fail\00", align 1 +@.str.9.159 = private unnamed_addr constant [12 x i8] c"getcwd_fail\00", align 1 +@.str.10.160 = private unnamed_addr constant [7 x i8] c"stdout\00", align 1 +@.str.11.161 = private unnamed_addr constant [14 x i8] c"model_version\00", align 1 +@.str.13.162 = private unnamed_addr constant [6 x i8] c"-stat\00", align 1 +@.str.14.163 = private unnamed_addr constant [5 x i8] c"size\00", align 1 +@__PRETTY_FUNCTION__.__create_new_dfile = private unnamed_addr constant [88 x i8] c"void __create_new_dfile(exe_disk_file_t *, unsigned int, const char *, struct stat64 *)\00", align 1 +@.str.12.164 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.165 = private unnamed_addr constant [18 x i8] c"silently ignoring\00", align 1 +@.str.1.170 = private unnamed_addr constant [24 x i8] c"ignoring (EAFNOSUPPORT)\00", align 1 +@.str.11.172 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.2.175 = private unnamed_addr constant [15 x i8] c"ignoring (EIO)\00", align 1 +@.str.3.176 = private unnamed_addr constant [18 x i8] c"ignoring (ENFILE)\00", align 1 +@.str.4.177 = private unnamed_addr constant [17 x i8] c"ignoring (EPERM)\00", align 1 +@.str.5.178 = private unnamed_addr constant [13 x i8] c"returning 0\0A\00", align 1 +@.str.6.179 = private unnamed_addr constant [40 x i8] c"setting all times to 0 and returning 0\0A\00", align 1 +@.str.7.180 = private unnamed_addr constant [17 x i8] c"ignoring (EBADF)\00", align 1 +@.str.8.183 = private unnamed_addr constant [21 x i8] c"ignoring (-1 result)\00", align 1 +@.str.9.184 = private unnamed_addr constant [18 x i8] c"ignoring (ECHILD)\00", align 1 +@.str.10.185 = private unnamed_addr constant [32 x i8] c"silently ignoring (returning 0)\00", align 1 +@__locale_mmap = global %struct.__locale_mmap_t.205* @locale_mmap, align 8 +@locale_mmap = internal constant %struct.__locale_mmap_t.205 { [420 x i8] c"\EE\EE\EE\EE\06afffffff$$$$$$$$$$\06\00\00\00\00D&fffdDDbfff`b\22\22FBFfddfFf$\22fbbB\22DDDD\22\22\22\22\06&fff`\00\00`fffff&ff`ffff\11a\06\00\00\00\11\11\11\11\11\01`\06\EE&fffd\E4\EEnffffb\E2Nfaff\11\11\11\22\22\22\22bDDDdDDD$FDDdDDdD&\22\22b\22\22b\22\22\22\22\12bbf&Fb$dd$dF$$$F\22BB\22fffdbaffff$fba$dFBfdbddBf$df\22b$$FFFdFDdD&&&b&\22b\22Ff\06dFDd@&f&b&\22b D\04DD@DDd\22\02\22\22 \22\22bFAFdFDdd&\22B\22FDDD&\22\22\22\06\00\06\00\00\00f\00\00`\00`\10\11\11\11\11\01\00\00\11afff\06\00\00ff\00ff`f`DddDADDDD@DDDD\22\22!\22\22\22\22\22\22\02\06ffffff\06\00\00\00`f&fffFff\22Fff`b$\04dfff``\00\00 $&f\00`f\06fF@f``\00`f&b\22fFdDffFf\11\11\11a\11\01\00`\11\11\11\16\11f\00\00", [504 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00{}\00\00\00{\00\7F\7F\00\00\00\00\00\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\00\00\F0\FE\00\FE\00\00\00\00\00\00\F0\00\F0\F0\F0\F0\F0\00\00\00\00\00\00\00\00\FF\FF\E7\00\F1\00\00\F0\00\F0\00\00\00\00\F0\00\00\FF\FF\F1\00\00\00\F0\00\F0\00\E7\FF\FF\F0\E0\E0\E0\E0\E0\E0\E0\E0\00\00\F0\00\F0\00\00\00\00\00\F0\00\F0\00\00\A0\00\00\00\00\00\00\00\A0\E0\E0\E0\E0\E0\E0\E0\00\00\F0\F0\F0\F0\F0\F0\00\F0\F0\F0\F0\F0\00\F0\F0\00\FF\FF\00\FF\FF\FB\00\F0\00\F0\FB\F0\00\00\B0\FF\FF\FF\FF\FF\FF\00\FE\F0\FE\F0\FC\F0\FF\FF\FC\E0\E0\E0\E0\E0\E0\E0\B0\00\00\00\00\00\00\FE\00\FE\00\00\00\00\00\00\00\00\00\00\00\FC\00\00\00\FC\00\00\00\FF\FF\BF\00\E0\E0\E0\E0\E0\E0\E0\BF\00\FF\FF\F0\00\00\FE\00\FE\00\F0\00\FE\00\FE\F0\00\00\F9\F0\FC\00\00\00\FC\F9\F0\00\FF\FF\BF\F0\00\F0\00\F0\00\F0\F0\00\00\F0\F0\F0\F0\00\F0\F0\00\F0\00\00\00\00\F0\00\00@\F0\F0\F0\00\00\F0\00\90\F0\F0\F0\00\00\F0\E0\E0\E0\00\E0\E0\E0\E0\00\E0\E0\E0\E0\E0\E0\00\00\F0\F0\F0\F0\00\F0\00\00\F0\F0\F0\F0\FE\F0\FE\00\B0\B0\B0\B0\B0\B0\B0\B0\B0\B0\B0\B0\00\B0\B0\00\00\00\00\00\00\DA\00\DB\DB\DB\00\C0\00\C1\C1\00\E0\E0\E0\E0\E0\E0\E0\E0\E0\00\E0\E0\E0\E0\E0\E0\E0\E0\E0\DA\DB\DB\DB\E0\E0\E1\E0\E0\E0\E0\E0\E0\E0\E0\E0\C0\C1\C1\00\E0\E0\E0\E0\E0t\E0\00\E0\E0\E0\E0\E0L\E0\00\00\00\00\10\00\00\00\00 \10\02\00\02\00\00\00\00\00\00\02\00\02\01\01\00\10\00\00\00\00\00\00\00\00\01\01\10\00\10\00\00\00\00\00\10\00\10\00\00\00\00\00\10\10\00\10\10\00\00\00\00\00\10\00\00", [1760 x i16] [i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 0, i16 1415, i16 1417, i16 41, i16 40, i16 187, i16 171, i16 8212, i16 46, i16 1373, i16 44, i16 45, i16 1418, i16 8230, i16 1372, i16 1371, i16 1374, i16 1329, i16 1377, i16 1330, i16 1378, i16 1331, i16 1379, i16 1332, i16 1380, i16 1333, i16 1381, i16 1334, i16 1382, i16 1335, i16 1383, i16 1336, i16 1384, i16 1337, i16 1385, i16 1338, i16 1386, i16 1339, i16 1387, i16 1340, i16 1388, i16 1341, i16 1389, i16 1342, i16 1390, i16 1343, i16 1391, i16 1344, i16 1392, i16 1345, i16 1393, i16 1346, i16 1394, i16 1347, i16 1395, i16 1348, i16 1396, i16 1349, i16 1397, i16 1350, i16 1398, i16 1351, i16 1399, i16 1352, i16 1400, i16 1353, i16 1401, i16 1354, i16 1402, i16 1355, i16 1403, i16 1356, i16 1404, i16 1357, i16 1405, i16 1358, i16 1406, i16 1359, i16 1407, i16 1360, i16 1408, i16 1361, i16 1409, i16 1362, i16 1410, i16 1363, i16 1411, i16 1364, i16 1412, i16 1365, i16 1413, i16 1366, i16 1414, i16 1370, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1026, i16 1027, i16 8218, i16 1107, i16 8222, i16 8230, i16 8224, i16 8225, i16 8364, i16 8240, i16 1033, i16 8249, i16 1034, i16 1036, i16 1035, i16 1039, i16 1106, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 0, i16 8482, i16 1113, i16 8250, i16 1114, i16 1116, i16 1115, i16 1119, i16 160, i16 1038, i16 1118, i16 1032, i16 164, i16 1168, i16 166, i16 167, i16 1025, i16 169, i16 1028, i16 171, i16 172, i16 173, i16 174, i16 1031, i16 176, i16 177, i16 1030, i16 1110, i16 1169, i16 181, i16 182, i16 183, i16 1105, i16 8470, i16 1108, i16 187, i16 1112, i16 1029, i16 1109, i16 1111, i16 1040, i16 1041, i16 1042, i16 1043, i16 1044, i16 1045, i16 1046, i16 1047, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 1058, i16 1059, i16 1060, i16 1061, i16 1062, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1070, i16 1071, i16 1072, i16 1073, i16 1074, i16 1075, i16 1076, i16 1077, i16 1078, i16 1079, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1088, i16 1089, i16 1090, i16 1091, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1099, i16 1100, i16 1101, i16 1102, i16 1103, i16 8364, i16 0, i16 8218, i16 402, i16 8222, i16 8230, i16 8224, i16 8225, i16 710, i16 8240, i16 0, i16 8249, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 732, i16 8482, i16 0, i16 8250, i16 0, i16 0, i16 0, i16 0, i16 160, i16 161, i16 162, i16 163, i16 8362, i16 165, i16 166, i16 167, i16 168, i16 169, i16 215, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 247, i16 187, i16 188, i16 189, i16 190, i16 191, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 0, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 0, i16 0, i16 8206, i16 8207, i16 0, i16 128, i16 129, i16 8218, i16 402, i16 8222, i16 8230, i16 8224, i16 8225, i16 710, i16 8240, i16 352, i16 8249, i16 338, i16 141, i16 142, i16 143, i16 144, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 732, i16 8482, i16 353, i16 8250, i16 339, i16 157, i16 158, i16 376, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 4304, i16 4305, i16 4306, i16 4307, i16 4308, i16 4309, i16 4310, i16 4337, i16 4311, i16 4312, i16 4313, i16 4314, i16 4315, i16 4316, i16 4338, i16 4317, i16 4318, i16 4319, i16 4320, i16 4321, i16 4322, i16 4339, i16 4323, i16 4324, i16 4325, i16 4326, i16 4327, i16 4328, i16 4329, i16 4330, i16 4331, i16 4332, i16 4333, i16 4334, i16 4340, i16 4335, i16 4336, i16 4341, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 160, i16 260, i16 274, i16 290, i16 298, i16 296, i16 310, i16 167, i16 315, i16 272, i16 352, i16 358, i16 381, i16 173, i16 362, i16 330, i16 176, i16 261, i16 275, i16 291, i16 299, i16 297, i16 311, i16 183, i16 316, i16 273, i16 353, i16 359, i16 382, i16 8213, i16 363, i16 331, i16 256, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 302, i16 268, i16 201, i16 280, i16 203, i16 278, i16 205, i16 206, i16 207, i16 208, i16 325, i16 332, i16 211, i16 212, i16 213, i16 214, i16 360, i16 216, i16 370, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 257, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 303, i16 269, i16 233, i16 281, i16 235, i16 279, i16 237, i16 238, i16 239, i16 240, i16 326, i16 333, i16 243, i16 244, i16 245, i16 246, i16 361, i16 248, i16 371, i16 250, i16 251, i16 252, i16 253, i16 254, i16 312, i16 160, i16 8221, i16 162, i16 163, i16 164, i16 8222, i16 166, i16 167, i16 216, i16 169, i16 342, i16 171, i16 172, i16 173, i16 174, i16 198, i16 176, i16 177, i16 178, i16 179, i16 8220, i16 181, i16 182, i16 183, i16 248, i16 185, i16 343, i16 187, i16 188, i16 189, i16 190, i16 230, i16 260, i16 302, i16 256, i16 262, i16 196, i16 197, i16 280, i16 274, i16 268, i16 201, i16 377, i16 278, i16 290, i16 310, i16 298, i16 315, i16 352, i16 323, i16 325, i16 211, i16 332, i16 213, i16 214, i16 215, i16 370, i16 321, i16 346, i16 362, i16 220, i16 379, i16 381, i16 223, i16 261, i16 303, i16 257, i16 263, i16 228, i16 229, i16 281, i16 275, i16 269, i16 233, i16 378, i16 279, i16 291, i16 311, i16 299, i16 316, i16 353, i16 324, i16 326, i16 243, i16 333, i16 245, i16 246, i16 247, i16 371, i16 322, i16 347, i16 363, i16 252, i16 380, i16 382, i16 8217, i16 160, i16 7682, i16 7683, i16 163, i16 266, i16 267, i16 7690, i16 167, i16 7808, i16 169, i16 7810, i16 7691, i16 7922, i16 173, i16 174, i16 376, i16 7710, i16 7711, i16 288, i16 289, i16 7744, i16 7745, i16 182, i16 7766, i16 7809, i16 7767, i16 7811, i16 7776, i16 7923, i16 7812, i16 7813, i16 7777, i16 372, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 7786, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 374, i16 223, i16 373, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 7787, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 375, i16 255, i16 160, i16 161, i16 162, i16 163, i16 8364, i16 165, i16 352, i16 167, i16 353, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 381, i16 181, i16 182, i16 183, i16 382, i16 185, i16 186, i16 187, i16 338, i16 339, i16 376, i16 191, i16 160, i16 260, i16 261, i16 321, i16 8364, i16 171, i16 352, i16 167, i16 353, i16 169, i16 536, i16 8222, i16 377, i16 173, i16 378, i16 379, i16 176, i16 177, i16 268, i16 322, i16 381, i16 8221, i16 182, i16 183, i16 382, i16 269, i16 537, i16 187, i16 338, i16 339, i16 376, i16 380, i16 192, i16 193, i16 194, i16 258, i16 196, i16 262, i16 198, i16 199, i16 272, i16 323, i16 210, i16 211, i16 212, i16 336, i16 214, i16 346, i16 368, i16 217, i16 218, i16 219, i16 220, i16 280, i16 538, i16 223, i16 224, i16 225, i16 226, i16 259, i16 228, i16 263, i16 230, i16 231, i16 273, i16 324, i16 242, i16 243, i16 244, i16 337, i16 246, i16 347, i16 369, i16 249, i16 250, i16 251, i16 252, i16 281, i16 539, i16 255, i16 160, i16 260, i16 728, i16 321, i16 164, i16 317, i16 346, i16 167, i16 168, i16 352, i16 350, i16 356, i16 377, i16 173, i16 381, i16 379, i16 176, i16 261, i16 731, i16 322, i16 180, i16 318, i16 347, i16 711, i16 184, i16 353, i16 351, i16 357, i16 378, i16 733, i16 382, i16 380, i16 340, i16 193, i16 194, i16 258, i16 196, i16 313, i16 262, i16 199, i16 268, i16 201, i16 280, i16 203, i16 282, i16 205, i16 206, i16 270, i16 272, i16 323, i16 327, i16 211, i16 212, i16 336, i16 214, i16 215, i16 344, i16 366, i16 218, i16 368, i16 220, i16 221, i16 354, i16 223, i16 341, i16 225, i16 226, i16 259, i16 228, i16 314, i16 263, i16 231, i16 269, i16 233, i16 281, i16 235, i16 283, i16 237, i16 238, i16 271, i16 273, i16 324, i16 328, i16 243, i16 244, i16 337, i16 246, i16 247, i16 345, i16 367, i16 250, i16 369, i16 252, i16 253, i16 355, i16 729, i16 160, i16 294, i16 728, i16 163, i16 164, i16 0, i16 292, i16 167, i16 168, i16 304, i16 350, i16 286, i16 308, i16 173, i16 0, i16 379, i16 176, i16 295, i16 178, i16 179, i16 180, i16 181, i16 293, i16 183, i16 184, i16 305, i16 351, i16 287, i16 309, i16 189, i16 0, i16 380, i16 192, i16 193, i16 194, i16 0, i16 196, i16 266, i16 264, i16 199, i16 0, i16 209, i16 210, i16 211, i16 212, i16 288, i16 214, i16 215, i16 284, i16 217, i16 218, i16 219, i16 220, i16 364, i16 348, i16 223, i16 224, i16 225, i16 226, i16 0, i16 228, i16 267, i16 265, i16 231, i16 0, i16 241, i16 242, i16 243, i16 244, i16 289, i16 246, i16 247, i16 285, i16 249, i16 250, i16 251, i16 252, i16 365, i16 349, i16 729, i16 160, i16 260, i16 312, i16 342, i16 164, i16 296, i16 315, i16 167, i16 168, i16 352, i16 274, i16 290, i16 358, i16 173, i16 381, i16 175, i16 176, i16 261, i16 731, i16 343, i16 180, i16 297, i16 316, i16 711, i16 184, i16 353, i16 275, i16 291, i16 359, i16 330, i16 382, i16 331, i16 268, i16 201, i16 280, i16 203, i16 278, i16 205, i16 206, i16 298, i16 272, i16 325, i16 332, i16 310, i16 212, i16 213, i16 214, i16 215, i16 216, i16 370, i16 218, i16 219, i16 220, i16 360, i16 362, i16 223, i16 269, i16 233, i16 281, i16 235, i16 279, i16 237, i16 238, i16 299, i16 273, i16 326, i16 333, i16 311, i16 244, i16 245, i16 246, i16 247, i16 248, i16 371, i16 250, i16 251, i16 252, i16 361, i16 363, i16 729, i16 160, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 173, i16 1038, i16 1039, i16 8470, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 167, i16 1118, i16 1119, i16 160, i16 0, i16 0, i16 0, i16 164, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1548, i16 173, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1563, i16 0, i16 0, i16 0, i16 1567, i16 0, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1611, i16 1612, i16 1613, i16 1614, i16 1615, i16 1616, i16 1617, i16 1618, i16 0, i16 0, i16 0, i16 0, i16 0, i16 160, i16 8216, i16 8217, i16 163, i16 0, i16 0, i16 166, i16 167, i16 168, i16 169, i16 0, i16 171, i16 172, i16 173, i16 0, i16 8213, i16 176, i16 177, i16 178, i16 179, i16 900, i16 901, i16 902, i16 183, i16 904, i16 905, i16 906, i16 187, i16 908, i16 189, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 918, i16 919, i16 920, i16 921, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 929, i16 0, i16 931, i16 932, i16 933, i16 934, i16 935, i16 936, i16 937, i16 938, i16 939, i16 940, i16 941, i16 942, i16 943, i16 944, i16 945, i16 946, i16 947, i16 948, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 964, i16 965, i16 966, i16 967, i16 968, i16 969, i16 970, i16 971, i16 972, i16 973, i16 974, i16 0, i16 160, i16 0, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 184, i16 185, i16 247, i16 187, i16 188, i16 189, i16 190, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8215, i16 286, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 304, i16 350, i16 223, i16 287, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 305, i16 351, i16 255, i16 9472, i16 9474, i16 9484, i16 9488, i16 9492, i16 9496, i16 9500, i16 9508, i16 9516, i16 9524, i16 9532, i16 9600, i16 9604, i16 9608, i16 9612, i16 9616, i16 9617, i16 9618, i16 9619, i16 8992, i16 9632, i16 8729, i16 8730, i16 8776, i16 8804, i16 8805, i16 160, i16 8993, i16 176, i16 178, i16 183, i16 247, i16 9552, i16 9553, i16 9554, i16 1105, i16 9555, i16 9556, i16 9557, i16 9558, i16 9559, i16 9560, i16 9561, i16 9562, i16 9563, i16 9564, i16 9565, i16 9566, i16 9567, i16 9568, i16 9569, i16 1025, i16 9570, i16 9571, i16 9572, i16 9573, i16 9574, i16 9575, i16 9576, i16 9577, i16 9578, i16 9579, i16 9580, i16 169, i16 1102, i16 1072, i16 1073, i16 1094, i16 1076, i16 1077, i16 1092, i16 1075, i16 1093, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1103, i16 1088, i16 1089, i16 1090, i16 1091, i16 1078, i16 1074, i16 1100, i16 1099, i16 1079, i16 1096, i16 1101, i16 1097, i16 1095, i16 1098, i16 1070, i16 1040, i16 1041, i16 1062, i16 1044, i16 1045, i16 1060, i16 1043, i16 1061, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1071, i16 1056, i16 1057, i16 1058, i16 1059, i16 1046, i16 1042, i16 1068, i16 1067, i16 1047, i16 1064, i16 1069, i16 1065, i16 1063, i16 1066, i16 1179, i16 1171, i16 8218, i16 1170, i16 8222, i16 8230, i16 8224, i16 8225, i16 0, i16 8240, i16 1203, i16 8249, i16 1202, i16 1207, i16 1206, i16 0, i16 1178, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 0, i16 8482, i16 0, i16 8250, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1263, i16 1262, i16 1105, i16 164, i16 1251, i16 166, i16 167, i16 0, i16 0, i16 0, i16 171, i16 172, i16 173, i16 174, i16 0, i16 176, i16 177, i16 178, i16 1025, i16 0, i16 1250, i16 182, i16 183, i16 0, i16 8470, i16 0, i16 187, i16 0, i16 0, i16 0, i16 169, i16 9552, i16 9553, i16 9554, i16 1105, i16 1108, i16 9556, i16 1110, i16 1111, i16 9559, i16 9560, i16 9561, i16 9562, i16 9563, i16 1169, i16 9565, i16 9566, i16 9567, i16 9568, i16 9569, i16 1025, i16 1028, i16 9571, i16 1030, i16 1031, i16 9574, i16 9575, i16 9576, i16 9577, i16 9578, i16 1168, i16 9580, i16 169, i16 0, i16 3585, i16 3586, i16 3587, i16 3588, i16 3589, i16 3590, i16 3591, i16 3592, i16 3593, i16 3594, i16 3595, i16 3596, i16 3597, i16 3598, i16 3599, i16 3600, i16 3601, i16 3602, i16 3603, i16 3604, i16 3605, i16 3606, i16 3607, i16 3608, i16 3609, i16 3610, i16 3611, i16 3612, i16 3613, i16 3614, i16 3615, i16 3616, i16 3617, i16 3618, i16 3619, i16 3620, i16 3621, i16 3622, i16 3623, i16 3624, i16 3625, i16 3626, i16 3627, i16 3628, i16 3629, i16 3630, i16 3631, i16 3632, i16 3633, i16 3634, i16 3635, i16 3636, i16 3637, i16 3638, i16 3639, i16 3640, i16 3641, i16 3642, i16 0, i16 0, i16 0, i16 0, i16 3647, i16 3648, i16 3649, i16 3650, i16 3651, i16 3652, i16 3653, i16 3654, i16 3655, i16 3656, i16 3657, i16 3658, i16 3659, i16 3660, i16 3661, i16 3662, i16 3663, i16 3664, i16 3665, i16 3666, i16 3667, i16 3668, i16 3669, i16 3670, i16 3671, i16 3672, i16 3673, i16 3674, i16 3675, i16 0, i16 0, i16 0, i16 0], [4528 x i8] c"\00\00\01\00\00\00\00\00\02\03\04\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\06\07\08\09\0A\0B\00\00\00\00\00\00\00\00\0C\0D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\0F\00\00\00\00\10\11\12\13\14\15\00\00\00\16\00\00\00\00\00\00\00\17\18\19\00\00\00\00\00\00\1A\00\00\00\00\00\00\1B\1C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\1D\1E\00\1F\00 \00\00\00\00\00\00\00\00\00!\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\22#\00\00\00\00\00\00\00\00\00\00\00\00\00$%\13&'(\17\18\19\00\00\00\00\00\00)\00\00\00\00\00\00\00\1C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00*+,-\00\00.\14\00\00\00\00\00/01\00!\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00234\00\17\18\19\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03,-\11\12\13\14\00\00\00\00\00\00\00\00\02\0356789:;<=>?\00@A\00\00\00\00\00\00\00\00\00B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03CDEFGHIJKLMNOP\00\00\00\00\00\00\00\00\00Q\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03RS\11T\13UV\00W\00\00\00\00X\00\00\00\00\00\00\00\00YZ\00\00[\\]\00^\00\00\00\00\00\00_\00\00\00\00\00\00\00\00\02\03`a\11\12\13\14\00\00\00\00\00bcd\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00e\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03fghijklm\00\00nocp\00\00\00\00\00\00\00\00\00q\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00r\00\00\00\00\00\00\00\00e\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03stuvwxyz\00{|}~\7F\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\81\00\00\00\00\00\00\00\00\00\00\02\03\82\83\84\85\86\87\88\89\8A\8B\00\8C\8D\8E\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\8F\00\00\00\00\00\00\00\00\00\00\02\03\90t\91\92\93\94;\95\96\97\98\99\9A\9B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\9C\00\00\00\00\00\00\00\00\00\00\02\03\9D\00\00\00\00\00\9E-\11\12\13\9F\00\00\00\00\00\00\00\00\00\00\00\A0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03\A1\00\00\00\00\00\A2\A3\A4\A5\13\A6\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03\A7\A8\00\00\00\00\00\00\00\00\00\00\00\00\A9\11\AA\13\AB\00\00\00\00\AC\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03\AD\AE\00\1F\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\13&\00(\AF\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03,-\11\B0\13\B1\00\B2\00\B3\00\B4\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B5\B6\00\00\00\B7\B8\B9\BA\BB\BC\BD\00\00\00\00\00\00\00\00\00\00\00\BE\00\00\BF\00\C0\00\00\00\00\00\00\00\00\00\00\00\C1\00\00\00\00\00\00\00\00\00\00\00\00\00\C2\C3\C4\C5\00\C6\C7\00\C8\C9\CA\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\CB\CC\00\00\00\00\B8\B9\BA\BB\BC\BD\00\00\00\CD\00\CE\00\00\CF\00\D0\B9\BA\BB\BC\D1\00\00\00\D2\00\00\00\00\00\00\C2\C3\C4\C5\00\D3\D4\00\C8\C9\CA\00\00\00\00\00\D5-\11\D6\13\D7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A5\A4\00\00\AB\AC\A9\00\80\81\82\83\84\85\86\87\88\89\8A\8B\8C\8D\8E\8F\90\91\92\93\94\95\96\97\98\99\9A\9B\9C\9D\9E\9F\A0\00\00\00\00\00\00\00\00\00\00\A7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A6\00\00\00\00\00\B2\B4\B6\B8\BA\BC\BE\C0\C2\C4\C6\C8\CA\CC\CE\D0\D2\D4\D6\D8\DA\DC\DE\E0\E2\E4\E6\E8\EA\EC\EE\F0\F2\F4\F6\F8\FA\FC\00\00\00\FE\B0\AF\AA\B1\00\00\B3\B5\B7\B9\BB\BD\BF\C1\C3\C5\C7\C9\CB\CD\CF\D1\D3\D5\D7\D9\DB\DD\DF\E1\E3\E5\E7\E9\EB\ED\EF\F1\F3\F5\F7\F9\FB\FD\A2\00\A3\AD\00\00\00\00\00\00\00\00\00\A8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\AE\00\00\00\00\00\00\00\00\00\A0\00\00\00\A4\00\A6\A7\00\A9\00\AB\AC\AD\AE\00\B0\B1\00\00\00\B5\B6\B7\00\00\00\BB\00\00\00\00\00\A8\80\81\AA\BD\B2\AF\A3\8A\8C\8E\8D\00\A1\8F\C0\C1\C2\C3\C4\C5\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\E0\E1\E2\E3\E4\E5\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\FD\FE\FF\00\B8\90\83\BA\BE\B3\BF\BC\9A\9C\9E\9D\00\A2\9F\A5\B4\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\96\97\00\00\00\91\92\82\00\93\94\84\00\86\87\95\00\00\00\85\00\00\00\00\00\00\00\00\00\89\00\00\00\00\00\00\00\00\8B\9B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\88\00\00\00\00\00\00\00\00\00\B9\00\00\00\00\00\00\00\00\00\00\00\99\00\00\00\00\00\00\00\00\00\00\00\00\00\A0\A1\A2\A3\00\A5\A6\A7\A8\A9\00\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\00\BB\BC\BD\BE\BF\00\00\00\00\00\00\00\AA\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\BA\00\00\00\00\00\00\00\00\00\00\83\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\88\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\98\00\00\00\C0\C1\C2\C3\C4\C5\C6\C7\C8\C9\00\CB\CC\CD\CE\CF\D0\D1\D2\D3\00\00\00\00\00\00\00\00\00\00\00\00\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\00\00\00\00\00\D4\D5\D6\D7\D8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\FD\FE\00\00\00\00\00\00\00\00\00\00\A4\00\80\00\00\00\80\81\00\00\00\00\00\00\00\00\00\00\00\8D\8E\8F\90\00\00\00\00\00\00\00\00\00\00\00\00\9D\9E\00\A0\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\BF\00\00\00\00\00\00\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\00\00\8C\9C\00\00\00\00\00\00\00\00\00\00\00\00\8A\9A\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\9F\00\00\00\00\00\00\00\C0\C1\C2\C3\C4\C5\C6\C8\C9\CA\CB\CC\CD\CF\D0\D1\D2\D3\D4\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\E0\E1\E3\E4\C7\CE\D5\E2\E5\00\00\00\00\00\00\00\00\00\00\A0\00\00\00\00\00\00\A7\00\00\00\00\00\AD\00\00\B0\00\00\00\00\00\00\B7\00\00\00\00\00\00\00\00\00\C1\C2\C3\C4\C5\C6\00\00\C9\00\CB\00\CD\CE\CF\D0\00\00\D3\D4\D5\D6\00\D8\00\DA\DB\DC\DD\DE\DF\00\E1\E2\E3\E4\E5\E6\00\00\E9\00\EB\00\ED\EE\EF\F0\00\00\F3\F4\F5\F6\00\F8\00\FA\FB\FC\FD\FE\00\C0\E0\00\00\A1\B1\00\00\00\00\00\00\C8\E8\00\00\A9\B9\A2\B2\00\00\CC\EC\CA\EA\00\00\00\00\00\00\00\00\A3\B3\00\00\00\00\A5\B5\A4\B4\00\00\C7\E7\00\00\00\00\00\00\A6\B6\FF\00\00\A8\B8\00\00\00\00\00\00\00\00\D1\F1\00\00\00\AF\BF\D2\F2\00\00\AA\BA\00\00\00\00\AB\BB\D7\F7\AE\BE\00\00\00\00\00\00\D9\F9\00\00\00\00\00\00\00\00\00\AC\BC\00\00\00\00\00\00\BD\00\00\00\00\00\00\00\00\00\00\A0\00\A2\A3\A4\00\A6\A7\00\A9\00\AB\AC\AD\AE\00\B0\B1\B2\B3\00\B5\B6\B7\00\B9\00\BB\BC\BD\BE\00\00\00\00\00\C4\C5\AF\00\00\C9\00\00\00\00\00\00\00\00\00\D3\00\D5\D6\D7\A8\00\00\00\DC\00\00\DF\00\00\00\00\E4\E5\BF\00\00\E9\00\00\00\00\00\00\00\00\00\F3\00\F5\F6\F7\B8\00\00\00\FC\00\00\00\C2\E2\00\00\C0\E0\C3\E3\00\00\00\00\C8\E8\00\00\00\00\C7\E7\00\00\CB\EB\C6\E6\00\00\00\00\00\00\00\00\CC\EC\00\00\00\00\00\00\CE\EE\00\00\C1\E1\00\00\00\00\00\00\CD\ED\00\00\00\CF\EF\00\00\00\00\D9\F9\D1\F1\D2\F2\00\00\00\00\00\D4\F4\00\00\00\00\00\00\00\00\AA\BA\00\00\DA\FA\00\00\00\00\D0\F0\00\00\00\00\00\00\00\00\DB\FB\00\00\00\00\00\00\D8\F8\00\00\00\00\00\CA\EA\DD\FD\DE\FE\00\00\00\00\00\00\00\00\00\00\FF\00\00\B4\A1\A5\00\A0\00\00\A3\00\00\00\A7\00\A9\00\00\00\AD\AE\00\00\00\00\00\00\00\B6\00\00\00\00\00\00\00\00\00\00\D1\D2\D3\D4\D5\D6\00\D8\D9\DA\DB\DC\DD\00\DF\00\F1\F2\F3\F4\F5\F6\00\F8\F9\FA\FB\FC\FD\00\FF\00\00\00\00\00\00\00\00\00\00\A4\A5\00\00\00\00\B2\B3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\D0\F0\DE\FE\AF\00\00\00\00\00\00\00\00\00\A1\A2\00\00\00\00\00\00\A6\AB\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B0\B1\B4\B5\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B7\B9\00\00\00\00\00\00\00\00\BB\BF\00\00\00\00\00\00\00\00\D7\F7\00\00\00\00\A8\B8\AA\BA\BD\BE\00\00\00\00\00\00\00\00\00\00\00\00\AC\BC\00\00\00\00\00\00\00\00\00\00\00\00\A0\A1\A2\A3\00\A5\00\A7\00\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B3\00\B5\B6\B7\00\B9\BA\BB\00\00\00\BF\00\00\BC\BD\00\00\00\00\00\00\00\00\00\00\00\00\A6\A8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\BE\00\00\00\00\B4\B8\00\00\00\00\00\00\00\00\00\00\00\00\00\A4\00\00\00\A0\00\00\00\00\00\00\A7\00\A9\00\A5\00\AD\00\00\B0\B1\00\00\00\00\B6\B7\00\00\00\BB\00\00\00\00\C0\C1\C2\00\C4\00\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\00\00\D2\D3\D4\00\D6\00\00\D9\DA\DB\DC\00\00\DF\E0\E1\E2\00\E4\00\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\00\00\F2\F3\F4\00\F6\00\00\F9\FA\FB\FC\00\00\FF\00\00\C3\E3\A1\A2\C5\E5\00\00\00\00\B2\B9\00\00\D0\F0\00\00\00\00\00\00\DD\FD\00\00\00\00\00\00\00\A3\B3\D1\F1\00\00\00\00\00\00\00\00\00\00\00\D5\F5\BC\BD\00\00\00\00\00\00\D7\F7\00\00\00\00\D8\F8\00\00\00\00\00\00\BE\AC\AE\AF\BF\B4\B8\00\00\00\00\00\00\00\00\00\AA\BA\DE\FE\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B5\AB\00\A0\00\00\00\A4\00\00\A7\A8\00\00\00\00\AD\00\00\B0\00\00\00\B4\00\00\00\B8\00\00\00\00\00\00\00\00\C1\C2\00\C4\00\00\C7\00\C9\00\CB\00\CD\CE\00\00\00\00\D3\D4\00\D6\D7\00\00\DA\00\DC\DD\00\DF\00\E1\E2\00\E4\00\00\E7\00\E9\00\EB\00\ED\EE\00\00\00\00\F3\F4\00\F6\F7\00\00\FA\00\FC\FD\00\00\00\00\C3\E3\A1\B1\C6\E6\00\00\00\00\C8\E8\CF\EF\D0\F0\00\00\00\00\00\00\CA\EA\CC\EC\00\00\00\00\00\00\00\00\00\00\00\00\00\C5\E5\00\00\A5\B5\00\00\A3\B3\D1\F1\00\00\D2\F2\00\00\00\00\00\00\00\D5\F5\00\00\C0\E0\00\00\D8\F8\A6\B6\00\00\AA\BA\A9\B9\DE\FE\AB\BB\00\00\00\00\00\00\00\00\D9\F9\DB\FB\00\00\00\00\00\00\00\AC\BC\AF\BF\AE\BE\00\00\00\00\00\00\00\00\B7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A2\FF\00\B2\00\BD\00\00\A0\00\00\A3\A4\00\00\A7\A8\00\00\00\00\AD\00\00\B0\00\B2\B3\B4\B5\00\B7\B8\00\00\00\00\BD\00\00\C0\C1\C2\00\C4\00\00\C7\C8\C9\CA\CB\CC\CD\CE\CF\00\D1\D2\D3\D4\00\D6\D7\00\D9\DA\DB\DC\00\00\DF\E0\E1\E2\00\E4\00\00\E7\E8\E9\EA\EB\EC\ED\EE\EF\00\F1\F2\F3\F4\00\F6\F7\00\F9\FA\FB\FC\00\00\00\00\00\00\00\00\00\00\00\C6\E6\C5\E5\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\D8\F8\AB\BB\D5\F5\00\00\A6\B6\A1\B1\00\00\00\00\00\00\00\00\A9\B9\00\00\AC\BC\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\DE\FE\AA\BA\00\00\00\00\00\00\00\00\00\00\00\00\DD\FD\00\00\00\00\00\00\00\00\00\00\00\00\00\AF\BF\00\00\00\00\00\00\00\00\00\00\00\A2\FF\00\00\00\00\00\00\A0\00\00\00\A4\00\00\A7\A8\00\00\00\00\AD\00\AF\00\C1\C2\C3\C4\C5\C6\00\00\C9\00\CB\00\CD\CE\00\00\00\00\00\D4\D5\D6\D7\D8\00\DA\DB\DC\00\00\DF\00\E1\E2\E3\E4\E5\E6\00\00\E9\00\EB\00\ED\EE\00\00\00\00\00\F4\F5\F6\F7\F8\00\FA\FB\FC\00\00\00\D0\F0\AA\BA\00\00\CC\EC\CA\EA\00\00\00\00\00\00\00\00\AB\BB\00\00\00\00\A5\B5\CF\EF\00\00\C7\E7\00\00\00\00\00\00\D3\F3\A2\00\00\A6\B6\00\00\00\00\00\00\00\00\D1\F1\00\00\00\BD\BF\D2\F2\00\00\00\00\00\00\00\00\A3\B3\00\00\00\00\00\00\00\00\A9\B9\00\00\00\00\AC\BC\DD\FD\DE\FE\00\00\00\00\00\00\D9\F9\00\00\00\00\00\00\00\00\00\AE\BE\00\00\00\00\00\00\00\00\00\00\FF\00\B2\00\00\00\00\A0\00\00\00\00\00\00\FD\00\00\00\00\00\AD\00\00\00\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\00\AE\AF\00\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\00\FE\FF\00\00\00\00\00\00\F0\00\00\00\00\00\00\00\00\00\A0\00\00\00\A4\00\00\00\00\00\00\00\00\AD\00\00\00\00\00\00\00\00\00\00\00\00\00\00\AC\00\00\00\00\00\00\00\00\00\00\00\00\00\00\BB\00\00\00\BF\00\C1\C2\C3\C4\C5\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\00\00\00\00\00\F0\F1\F2\00\00\00\00\00\00\00\00\00\00\00\00\00\A0\00\00\A3\00\00\A6\A7\A8\A9\00\AB\AC\AD\00\00\B0\B1\B2\B3\00\00\00\B7\00\00\00\BB\00\BD\00\00\00\00\00\00\B4\B5\B6\00\B8\B9\BA\00\BC\00\BE\BF\D0\D1\00\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\FD\FE\00\00\00\00\00\00\AF\00\00\A1\A2\00\00\00\00\00\00\A0\00\A2\A3\A4\A5\A6\A7\A8\A9\00\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\00\BB\BC\BD\BE\00\00\00\00\00\00\00\00\DF\00\00\00\00\00\00\00\00\00\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\00\00\DF\00\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\00\00\FF\00\00\00\00\00\00\00\00\00\00\00\00\00\00\D0\F0\DD\FD\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\DE\FE\9A\00\00\00\00\00\00\00\00\BF\00\00\00\00\00\00\9C\00\9D\00\00\00\00\9E\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\9F\00\00\00\00\00\00\00\00\00\B3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E1\E2\F7\E7\E4\E5\F6\FA\E9\EA\EB\EC\ED\EE\EF\F0\F2\F3\F4\F5\E6\E8\E3\FE\FB\FD\FF\F9\F8\FC\E0\F1\C1\C2\D7\C7\C4\C5\D6\DA\C9\CA\CB\CC\CD\CE\CF\D0\D2\D3\D4\D5\C6\C8\C3\DE\DB\DD\DF\D9\D8\DC\C0\D1\00\A3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\95\96\00\00\00\00\00\00\00\00\00\00\00\00\00\97\00\00\00\00\00\00\00\00\00\00\00\98\99\00\00\00\00\00\00\00\00\00\00\93\9B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\00\81\00\00\00\00\00\00\00\00\00\82\00\00\00\83\00\00\00\84\00\00\00\85\00\00\00\86\00\00\00\00\00\00\00\87\00\00\00\00\00\00\00\88\00\00\00\00\00\00\00\89\00\00\00\00\00\00\00\8A\00\00\00\A0\A1\A2\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\00\00\00\8B\00\00\00\8C\00\00\00\8D\00\00\00\8E\00\00\00\8F\90\91\92\00\00\00\00\00\00\00\00\00\00\00\00\94\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A4\00\A6\A7\00\BF\00\AB\AC\AD\AE\00\B0\B1\B2\00\00\00\B6\B7\00\00\00\BB\00\00\00\00\00\00\83\81\00\00\00\00\00\00\90\80\00\00\00\00\00\00\8C\8A\00\00\8E\8D\00\00\00\00\00\00\00\00\00\00\B5\A5\00\00\00\00\00\00\00\00\00\00\A2\A1\00\B3\00\00\B4\00\B6\B7\00\00\00\00\00\00\00\00\00\A3\00\00\A4\00\A6\A7\00\00\00\00\00\00\00\00\BD\AD\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A0\A1\A2\00\A5\00\00\A8\A9\AA\AB\AC\00\AE\AF\B0\B1\B2\00\B5\00\00\B8\B9\BA\BB\BC\00\BE\00\00\00\00\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\00\00\00\00\DF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\00\00\00\00", [3604 x i8] c":!\1F2#\1E\02,\00'\04%&\05\07)\0F\12\09\0C\06\19\1A\0B+\00\00\00\00\00 \1D9*7407.$777\00\00\00\0158\03/3\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\17\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\16\19\19\19\19\13\00\00\00\00\00\00\00\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\14\00\00\00\00\00\00\00\007777777777777777777777777\19\10\08\19\1B-(\00\00\00\0E\22\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0061\00\00\11\0A\15\1C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\18\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\19\19\0D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E4\E4\E4\CD\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\D0\00\00\07\00\1A5UU>Uj\DE\00UovUUUUUUUUUUUZ\E4\DA\DEU\\\08UUUUI5UUUUUUUUUUS\E4\E4UUU\00\00\00\00\00\00\00UU\12?#UU(%;\C4-\002\03U\C7\00\B6PGUU(&=\E3\CC\1F\00 U\00\00\1DL(UU(U:\D2.\04\009U\00\00\1DUS\17UUGOS\11\D5\E4\00\00\1C\005UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU5UUUUXUAVXUk\00\00\00\00/\22\0B54\16\BC\CBJ\DEU<\00\00\00\00S\00\14\09U\BBSJDUUUUUUUUUUUUU7\00\00\00\14UUUUUSUUUUUUUS'S'UUUUS'UUUS'S'SSUUSUUTBLLUUUFJ\17(UUUUUUUUUUUUUUUUUUUUUULm\00UUn\00UUk\00UL*\00UUUUUU`\E4\E4\E4\E2\D3U7\00\00US'SUUUUSUU>\B9vp\D4\00\00\00\00UUUUUUUUUUI\00UUUR\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00UUUS\D0\00UUU>\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00UUUUG1\C5\C0UpY\C0\00\00\00\00\00\00\00\00UUUUR\00UUUUU)UUUUURUUUUUUU>\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00UUUUUUUUUULUUUUUUUUL\103UE&UUUUUUUUUUUUUUUUUU8UUUUUUUU>UUUUUUUUUU7UUUUUUUUUUUUUUUUUI\E4\E4\E4\E4\E4\E4\E0\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUH\00\00\00\00\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUHUUU\BBUUhUUUhUUUUUUUUUUUUUUUUUUUUR\00\00\00\00\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUUUR\00\00\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUUUUUUUS\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU^S\00xUUgUUUUUUUUUi\1F\00UUUUUUUY\00\00UUUUUUUU\17UUUUUU\00\00\00\00\00UNUU]UUU]UUXUUUXUUU\BBUUU\BBUUh9UUUUUU\86\AA\83\A7\86\AA\86\AA\83\A7{\96\86\AA\86\83\86\AA\86\AA\86\AA\82\AE\C9\AF}\AC\7F\AF\19\AD\92\92\00\00\00\00\97\AA\AA\AA\A86y\86\86\86\85\B4\B9\E4\CD\E4\E4\CD\D4\00UUU>g\00\92\92\92\92+\92\8F\00\00\00ezq~bUqraUURU\BDp\E4p\E4_\DF\00\00\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\91d\92\92\92\92\92\92\92\92\92\92\92\8C\92\92\92\92\92\92\92\9A\9Fs\92\92\92\92\92\A5\99\A0\A4\8E\93\9C\A1\8D[\8B\9F\9D\92\92\98\92\AA\AA\AA\AA\A7\86\86\86\86\83\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\AA\AA\AA\AA\AA\AA\86\86\86\86\86\86\92\92\92\92\94\CA\92\92\92\92\92\92\9A\9E\92\92\92\92\90\8C\B5\C1\E4\E4\E4\B9\E4\E4\E4\DC\C3\E0\B9\E4\E4\E4\E4\E4\D4\E4\E4\E4\B9\E0\00\00\E4\E4\E4\D0\E4\E4\B6K#UU($=\D1-\05\0A9U,\00\18@'0\13@T:\C5.\04\00\02U\C2\00\B6L(UU(Q:\D7.\0C\009U\00\00\1DL(UU(Q:\D7.\0C\019U\00\00\B6UUUUUU=\E4\DE\BEUoU,\00\B6K#UU(!;\D6-\04\0AlUp\C2\B9\E4Up\B1\AA\AA\B0\95\86\86\88\E1UUUUUUUUUUS\17\17\17\15\E0\E0\00\B8\BF\E4\E4\E4Up\E4\E4U5UUU>\B9\E4\E4H\E4\B9\E4\E4\E4\D7\E4\D6\00\00\00\00\00\00\CE\C8Zw\DDfcC\D9k\1B\E4\AA\AA\86\86H\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E0U7UUUUUUUUUUU\00UUUUU\BA\00\00\00\00\00\00\00\00\00\00\E4\E3\BBUUI\E4\E4\E4\C2\00\00\00\00\00\00UUUUY\E4t\00\00\00\00\00\00\00\00\00\E4\E4\00\00\D0\00\E4\E4\E5\B9\C6\E4\E0\D0LUUUUUUUUUUUUUUUUM\E4\E4\D2\B9\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\E4\C0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E4\E4\E4\D4\E4\E4\E4\E4\D0\00\B9\E4\E4\E4\E4\D1\E4\E4\E4\E4\E4\E4\E4\E4\E4\D0\E4\E4\E4\E4\E4\E0\E4\E4\E4\E4\E0\00\00\00\E4\C2\00\00\E4\E4\E4\E4\E4\E4\E4\D8UUW\AA\AA\AA\86\86\86\8A\E4\E0\E4\E4\E4\E4\E0\1E\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\00\00\00\00\E4\E4\E4\E4\E4\E4\E4\E4\DB\E4\00\00\E4\E4\0D\0F\0E\A2\9B\AA\A3\A6|\86\86\84\80\92\92\92\81\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E0\1B\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\E4\E4\E4\E0\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E0\00\00\00\00\00\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\00\00\00\E4\D0\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E6\E4\E4\E4vpw_5UUUUUUUUUS\B7vUUUUUUUUUUh\E9\E8\E4\E4\E4\EA\E4\E4\E4\E4\C4\06\D0\1Eu\E2\E4\E0\00\00\E4\E4\C0\00\00\00\E4\E4\E4\C2\00\00\EC\EB\EC\EC\E7\E4\B2\B3\B1\AA\AA\B0\95\86\86\89\EC\EC\EC\EC\E4\CF\DB\CF\AA\AA\AB\A9\86\86\87\86\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\11\00\00\00`\00\00\00f\00\00\00\90\00\00\06\00\00\00\10\11\00\00\10\16\00\00\11\10\00\00\11\11\00\00`\06\00\00f\00\00\00fd\00\01\00\06\00\01\10\01\00\06\00`\00\06\10\11\00\10\01\00\00\10\11\11\00\11\01\00\00\11\10\11\00\11\11\11\00\16\10\11\00!\01\11\00`\00`\00`ff\00f\06\00\00f\10\11\00fff\01\00\00\00\01\00\00\11\01\01\00\11\01\01\10\00\01\10\11\11\01\11\00\11\01\11\10\01\01\11\10\11\01\11\11\00\01\11\11\11\01`\00\00\01f\00\00\04$$$\06\00\00\00\06`f\00\06ff\00\10\01\01\10\10\01\01\11\10\01ff\10\11\01\01\10\11\01\11\10\11\10\10\10\11\11\11\10fff\11\00\00\00\11\00\00\10\11\00\00\11\11\00\00f\11\00\06f\11\00\11\00\11\00\16f\11\01\00\00\11\01\00\10\11\01\00\11\11\01\00`\11\01\10\11\11\06\10\11\11\10\01\11\11\10\10\11\11\10\11\01\11\10\11\11\11\11\00\00\11\11\01\00\11\11\01\01\11\11\01\10\11\11\01\11\11\11\01`\11\11\06\00\11\11\10\00\11\11\10\10\11\11\10\11\11\11\11\00\11\11\11\01\11\11\11\10\11\11\11\11\11\11\11\16\11\11\11D\11\11\11a\11\11\11f\11\11\16f\11\114B\11\11a\06\11\11a\11\11\11a\16\11\11af\11\11ff\11\12\11\11\11\12!\11\11\16\11\11\11!\00\00\11!\12\22\11D\11\16\11a\06\00\11a\11\11\11af\11\11aff\11f\00\00\11f\00\11\11f\06\00\11ff\06\11ff\11\11fff\12!\11\11\12\22\11\11\12$$$\16\00\00\00\16\00ff\16\11\11\11\16\11\11f\19\11\11\11 \22\22\22!!\11\11!!!!!\22\22\22\22\11\00\11\22\11\11!\22\11!\11\22\11!\12\22\12$\06\22!\01\11\22\22\22\00\22\22\22\02\22\22\22\12\22\22\22\22\22\22\22b\22bff\22bf\E6\22fff#4BB$\00\00\00$\11$!$\11DB$$\00\00$$$\00$$$\11$$$$$$$D$ff\06&\22\22\22@@@@@DDDA#$DA$$DABBBADDDB\11$DBB\22$BBB\02BBBBBD\12DBDBBD\04\04DD@DDDB$DDBB\22DD\22\22DDD\00DDD\04DDD$DDDDDDDdDD`fDDd\06DDdbDDdfDdffFDDDUUUUUfff`\06\00\00`f\06f`f\10\11`f\16\11`ff\00`fffa\00\00\00a\11\11\11a\11ffa\16\11\11af\06\00affff\00\00\00f\00fff\06\00\00f\06\00\06f\06\00`f\06\00ff\06fff\11\01\00f\11\11\11f!\01\11f$$$f`\16\00f`f\00f`fffaf\16faffff\00\00ff\00`ff\00fff\01\00ff\06\00ff\06\06ff\06`ff\06fff\11\11ff\16\11ff\16aff&fff``ffadfff\00fff\01fff\06fff\11fff\16fff`ffffffv\07if\16\11ifff\99\99ff\99\99\99i\CCfff\DE\CC\CC\EE\EE\EE\EE\EE", [1680 x i8] c"\04\06\07\00\00\00\00\00\00\00\00\00\00\00\00\05\01\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\00\00\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\0D\00\00\00\00\00\00QQRR\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\1B\1B\19\0F\1F\1F\1D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\03SSSUUUT\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\1B\1B\19\0F\1F\1F\1D\00\00\00\00\00\00\04\00\1B\1B\1A\1A\1F\1F\1E ((((((1\10,*(((((2\11.3%)/0$\064,-((\12((((((((((((((((((('\08(((((((((((#GIFHGIGIFH\16\17GIMNGIGIGIEJ\09OCKDL\09P((((5(&\00\00\00\07\1367\0B\0089\0C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\01:\0E\1B\18\1C\0F\1F\22!;(((<\00>>\1B\1B\1B\1B\1F\1F\1F\1F==((((#\0A((((((\10+(((('#((\00\00\00\00\14@@@?\00\15BBBA\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00WWWWVYYYYX\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\001\00\00\00\00\00\00\00Y\00\00\00\00\00\00\00^^\00\00\00\00\00\03\00\00\00\00\00\00\000\00\00\00\00\00\00\1C\1D\1E\1C\00\00\00#$\00%%\00\00\00E\00\00\00\00\00\00\00N\00\00\00\00\00\00\05\06\05\06\05\06\00\00+\00\00,\00\00\00\00/\00\00\00\00\00\00\00Z[\00\00\00\00\00\01\01\01\01\01\01\01\00\02\02\02\02\02\02\02\00\05\06\05\06\05\06\05\00\0B\05\06\05\06\0C\05\00\1C\1D\1E\05\06 !\00&\00'\00\00\00\00\00CCCCCCC\00DDDDDDD\00F\00F\00F\00F\00G\00G\00G\00G\01\01\00\01\01\01\01\01\01\01\01\00\00\00\00\00\01\01\01\01\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\015666\02\02\02\00\00\00\00\00\02\02\02\02\02\02\02\00\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\04\02\02\02\02899\00\02\027\02\02\02\02\02\05\06\00\00\00\00\00\00\05\06\00\00\05\06\00\1B\05\06\00\00\13\15\16\17\05\06\05\06\00\00\00\00\05\06\05\06\05\06\00\00\05\06\05\06\05\06\05\06\05\06\05\06\05\06\18\05\06\00\05\06\05\06\05\06\06\05\06\05\06\05\06\00\06\05\06\05\06\05\06\05\06\05\06\05\06\1F\05\06\06\0D\0D\05\06\00\0E\0F\06\18\00\00\05\06\18\05\06\19\19\05\06\05\06\1A\07\08\05\06\05\06\05\06\09\05\06\05\06\05\06\0A\10\05\06\0D\11\12\13\14\1D\1E\1C\1D\1E\05\06\05\22\00\05\06\05\06\05\06%\00\00(\00\00\00\00)*\00\00\00\00\00*-\00\00-\00\00\00\00-\00..\00\00\00\00222\003\0044:;\00\00\00<=\00>?\1F\00@A\00\00????????BBBBBBBBCCCCCCC\00CCCCCCCCDDDDDDD\00DDDDDDDDFF\00\00\00\00\00\00FF\00\00\00T\00\00FF\00N\00\00\00\00FFFFFF\00\00FFFFFFFFGGGGGG\00\00GGGGGGGGGGOOP\00Q\00GGSS\00\00\00\00GGUUV\00\00\00HHIIIIJJKKLLMM\00\00RRRRP\00\00\00WWXXP\00\00\00\\\\\\\\\\\\\\\\]]]]]]]]^^^^^^^^__\00\00\00\00\00\00________``````\00\00````````aaaaaa\00\00aaaaaaaa", [196 x i16] [i16 0, i16 0, i16 0, i16 32, i16 -32, i16 0, i16 743, i16 0, i16 121, i16 0, i16 0, i16 1, i16 -1, i16 0, i16 0, i16 -199, i16 -232, i16 0, i16 0, i16 -121, i16 -300, i16 0, i16 0, i16 210, i16 0, i16 206, i16 0, i16 205, i16 0, i16 79, i16 0, i16 202, i16 0, i16 203, i16 0, i16 207, i16 97, i16 0, i16 0, i16 211, i16 0, i16 209, i16 0, i16 213, i16 130, i16 0, i16 0, i16 214, i16 0, i16 218, i16 0, i16 217, i16 0, i16 219, i16 56, i16 0, i16 0, i16 2, i16 -1, i16 1, i16 -2, i16 0, i16 -79, i16 0, i16 0, i16 -97, i16 0, i16 -56, i16 0, i16 -130, i16 -210, i16 0, i16 -206, i16 0, i16 -205, i16 0, i16 -202, i16 0, i16 -203, i16 0, i16 -207, i16 0, i16 -209, i16 0, i16 -211, i16 0, i16 -213, i16 0, i16 -214, i16 0, i16 -218, i16 0, i16 -217, i16 0, i16 -219, i16 0, i16 84, i16 0, i16 0, i16 38, i16 0, i16 37, i16 0, i16 64, i16 0, i16 63, i16 -38, i16 0, i16 -37, i16 0, i16 -31, i16 0, i16 -64, i16 0, i16 -63, i16 0, i16 -62, i16 0, i16 -57, i16 0, i16 -47, i16 0, i16 -54, i16 0, i16 -86, i16 0, i16 -80, i16 0, i16 0, i16 -60, i16 -96, i16 0, i16 0, i16 80, i16 0, i16 48, i16 -48, i16 0, i16 -59, i16 0, i16 8, i16 0, i16 0, i16 -8, i16 74, i16 0, i16 86, i16 0, i16 100, i16 0, i16 128, i16 0, i16 112, i16 0, i16 126, i16 0, i16 9, i16 0, i16 0, i16 -74, i16 0, i16 -9, i16 -7205, i16 0, i16 0, i16 -86, i16 0, i16 -100, i16 7, i16 0, i16 0, i16 -112, i16 0, i16 -7, i16 0, i16 -128, i16 0, i16 -126, i16 0, i16 -7517, i16 0, i16 -8383, i16 0, i16 -8262, i16 0, i16 16, i16 -16, i16 0, i16 0, i16 26, i16 -26, i16 0, i16 0, i16 40, i16 -40, i16 0], [51 x i8] c"\000\001\002\003\004\005\006\007\008\009\00\DB\B0\00\DB\B1\00\DB\B2\00\DB\B3\00\DB\B4\00\DB\B5\00\DB\B6\00\DB\B7\00\DB\B8\00\DB\B9\00", [28 x i8] c"\00.\00,\00\03\00\03\02\00\A0\00\C2\A0\00 \00\D9\AB\00\D9\AC\00'\00\02\03\00", [1646 x i8] c"\00\7F\00-\00ZAR \00R\00,\00.\00\03\00\02\00\01\00-R\00ETB \00$\00-$\00AED \00\CF.\C5.\00-\CF.\C5.\00\D8\AF.\D8\A5.\00-\D8\AF.\D8\A5.\00BHD \00\CF.\C8.\00-\CF.\C8.\00\D8\AF.\D8\A8.\00-\D8\AF.\D8\A8.\00DZD \00\CF.\CC.\00-\CF.\CC.\00\D8\AF.\D8\AC.\00-\D8\AF.\D8\AC.\00EGP \00\CC.\E5.\00-\CC.\E5.\00\D8\AC.\D9\85.\00-\D8\AC.\D9\85.\00INR \00\E2\82\A8\00\03\02\00-\E2\82\A8\00IQD \00\CF.\D9.\00-\CF.\D9.\00\D8\AF.\D8\B9.\00-\D8\AF.\D8\B9.\00JOD \00\CF.\C3.\00-\CF.\C3.\00\D8\AF.\D8\A3.\00-\D8\AF.\D8\A3.\00KWD \00\CF.\E3.\00-\CF.\E3.\00\D8\AF.\D9\83.\00-\D8\AF.\D9\83.\00LBP \00\E4.\E4.\00-\E4.\E4.\00\D9\84.\D9\84.\00-\D9\84.\D9\84.\00LYD \00\CF.\E4.\00-\CF.\E4.\00\D8\AF.\D9\84.\00-\D8\AF.\D9\84.\00MAD \00\CF.\E5.\00-\CF.\E5.\00\D8\AF.\D9\85.\00-\D8\AF.\D9\85.\00OMR \00\D1.\D9.\00-\D1.\D9.\00\D8\B1.\D8\B9.\00-\D8\B1.\D8\B9.\00QAR \00\D1.\E2.\00-\D1.\E2.\00\D8\B1.\D9\82.\00-\D8\B1.\D9\82.\00SAR \00\D1\EA\C7\E4\00+\D1\EA\C7\E4\00\D8\B1\D9\8A\D8\A7\D9\84\00+\D8\B1\D9\8A\D8\A7\D9\84\00SDP \00\CC.\D3.\00-\CC.\D3.\00\D8\AC.\D8\B3.\00-\D8\AC.\D8\B3.\00SYP \00\E4.\D3.\00-\E4.\D3.\00\D9\84.\D8\B3.\00-\D9\84.\D8\B3.\00TND \00\CF.\CA.\00-\CF.\CA.\00\D8\AF.\D8\AA.\00-\D8\AF.\D8\AA.\00YER \00\D1.\EA.\00-\D1.\EA.\00\D8\B1.\D9\8A.\00-\D8\B1.\D9\8A.\00AZM \00man.\00 \00+man.\00BYR \00\F0\F3\E1\00+\F0\F3\E1\00\D1\80\D1\83\D0\B1\00+\D1\80\D1\83\D0\B1\00BGL \00\EB\E2\00\A0\00+\EB\E2\00\D0\BB\D0\B2\00\C2\A0\00+\D0\BB\D0\B2\00\E0\A7\B3\00-\E0\A7\B3\00\E0\A6\9F\E0\A6\BE\E0\A6\95\E0\A6\BE\00\02\03\00-\E0\A6\9F\E0\A6\BE\E0\A6\95\E0\A6\BE\00EUR \00EUR\00+EUR\00\E2\82\AC\00+\E2\82\AC\00BAK \00KM\00-KM\00-EUR\00-\E2\82\AC\00\A4\00-\A4\00CZK \00K\E8\00+K\E8\00K\C4\8D\00+K\C4\8D\00GBP \00\A3\00-\A3\00\C2\A3\00-\C2\A3\00DKK \00kr\00\04\00-kr\00CHF \00Fr.\00-Fr.\00+\A4\00AUD \00BWP \00Pu\00-Pu\00CAD \00\C2\A4\00-\C2\A4\00HKD \00HK$\00-HK$\00NZD \00PHP \00Php\00-Php\00SGD \00USD \00ZWD \00Z$\00-Z$\00-EUR \00ARS \00BOB \00$b\00-$b\00CLP \00COP \00CRC \00C\00-C\00DOP \00ECS \00GTQ \00Q\00-Q\00HNL \00L.\00-L.\00MXP \00NIO \00$C\00-$C\00PAB \00B/\00-B/\00PEN \00S/\00-S/\00PYG \00Gs.\00-Gs.\00SVC \00\A2\00-\A2\00\C2\A2\00-\C2\A2\00UYU \00N$\00-N$\00VEB \00Bs.\00-Bs.\00EEK \00IRR \00\D8\B1\DB\8C\D8\A7\D9\84\00\D9\AB\00\D9\AC\00+\D8\B1\DB\8C\D8\A7\D9\84\00+$\00ILS \00\F9\E7\00-\F9\E7\00\D7\A9\D7\97\00-\D7\A9\D7\97\00\E0\A4\B0\E0\A5\82\00-\E0\A4\B0\E0\A5\82\00HRK \00Kn\00-Kn\00HUF \00Ft\00+Ft\00AMD \00\B8\00-\B8\00\D4\B4\00-\D4\B4\00IDR \00Rp\00-Rp\00ISK \00+kr\00JPY \00\EF\BF\A5\00-\EF\BF\A5\00GEL \00\CB\00-\CB\00\E1\83\9A\00-\E1\83\9A\00KRW \00\EF\BF\A6\00-\EF\BF\A6\00LTL \00Lt\00+Lt\00LVL \00Ls\00-Ls\00MKD \00\D4\D5\DD\00+\D4\D5\DD\00\D0\B4\D0\B5\D0\BD\00+\D0\B4\D0\B5\D0\BD\00\E0\A4\B0\E0\A5\81\00-\E0\A4\B0\E0\A5\81\00MYR \00RM\00-RM\00MTL \00Lm\00-Lm\00NOK \00PLN \00Z\B3\00-Z\B3\00Z\C5\82\00-Z\C5\82\00BRL \00R$\00+R$\00ROL \00Lei\00-Lei\00RUR \00\D2\D5\C2\00+\D2\D5\C2\00\E0\E3\D1\00+\E0\E3\D1\00UAH \00\C7\D2\00+\C7\D2\00\D0\B3\D1\80\00+\D0\B3\D1\80\00 ru\00- ru\00SKK \00Sk\00+Sk\00SIT \00SIT\00+SIT\00ALL \00Lek\00-Lek\00YUN \00din\00-din\00\D4\D8\DD\00-\D4\D8\DD\00\D0\B4\D0\B8\D0\BD\00-\D0\B4\D0\B8\D0\BD\00SEK \00THB \00\DF\00-\DF\00\E0\B8\BF\00-\E0\B8\BF\00ERB \00PhP\00-PhP\00TRL \00TL\00+TL\00PKR \00Rs\00-Rs\00UZS \00so'm\00-so'm\00VND \00\E2\82\AB\00+\E2\82\AB\00CNY \00TWD \00NT$\00-NT$\00", [28353 x i8] c"\00Sun\00Mon\00Tue\00Wed\00Thu\00Fri\00Sat\00Sunday\00Monday\00Tuesday\00Wednesday\00Thursday\00Friday\00Saturday\00Jan\00Feb\00Mar\00Apr\00May\00Jun\00Jul\00Aug\00Sep\00Oct\00Nov\00Dec\00January\00February\00March\00April\00June\00July\00August\00September\00October\00November\00December\00AM\00PM\00%a %b %e %H:%M:%S %Y\00%m/%d/%y\00%H:%M:%S\00%I:%M:%S %p\00So\00Ma\00Di\00Wo\00Do\00Vr\00Sa\00Sondag\00Maandag\00Dinsdag\00Woensdag\00Donderdag\00Vrydag\00Saterdag\00Mei\00Okt\00Des\00Januarie\00Februarie\00Maart\00Junie\00Julie\00Augustus\00Oktober\00Desember\00VM\00NM\00%a %d %b %Y %T %Z\00%d/%m/%y\00%T\00\E1\8A\A5\E1\88\91\E1\8B\B5\00\E1\88\B0\E1\8A\9E\00\E1\88\9B\E1\8A\AD\E1\88\B0\E1\8A\9E\00\E1\88\A8\E1\89\A1\E1\8B\95\00\E1\88\90\E1\88\99\E1\88\B5\00\E1\8B\93\E1\88\AD\E1\89\A5\00\E1\89\85\E1\8B\B3\E1\88\9C\00\E1\8C\83\E1\8A\95\E1\8B\A9\00\E1\8D\8C\E1\89\A5\E1\88\A9\00\E1\88\9B\E1\88\AD\E1\89\BD\00\E1\8A\A4\E1\8D\95\E1\88\A8\00\E1\88\9C\E1\8B\AD\00\E1\8C\81\E1\8A\95\00\E1\8C\81\E1\88\8B\E1\8B\AD\00\E1\8A\A6\E1\8C\88\E1\88\B5\00\E1\88\B4\E1\8D\95\E1\89\B4\00\E1\8A\A6\E1\8A\AD\E1\89\B0\00\E1\8A\96\E1\89\AC\E1\88\9D\00\E1\8B\B2\E1\88\B4\E1\88\9D\00\E1\8C\83\E1\8A\95\E1\8B\A9\E1\8B\88\E1\88\AA\00\E1\8D\8C\E1\89\A5\E1\88\A9\E1\8B\88\E1\88\AA\00\E1\8A\A4\E1\8D\95\E1\88\A8\E1\88\8D\00\E1\8A\A6\E1\8C\88\E1\88\B5\E1\89\B5\00\E1\88\B4\E1\8D\95\E1\89\B4\E1\88\9D\E1\89\A0\E1\88\AD\00\E1\8A\A6\E1\8A\AD\E1\89\B0\E1\8B\8D\E1\89\A0\E1\88\AD\00\E1\8A\96\E1\89\AC\E1\88\9D\E1\89\A0\E1\88\AD\00\E1\8B\B2\E1\88\B4\E1\88\9D\E1\89\A0\E1\88\AD\00\E1\8C\A0\E1\8B\8B\E1\89\B5\00\E1\8A\A8\E1\88\B3\E1\8B\93\E1\89\B5\00%A\E1\8D\A3 %b %e \E1\89\80\E1\8A\95 %l:%M:%S %Z %Y\00%d/%m/%Y\00%r\00\CD\00\E6\00\CB\00\D1\00\CE\00\CC\00\D3\00\C7\E4\C3\CD\CF\00\C7\E4\C7\CB\E6\EA\E6\00\C7\E4\CB\E4\C7\CB\C7\C1\00\C7\E4\C3\D1\C8\D9\C7\C1\00\C7\E4\CE\E5\EA\D3\00\C7\E4\CC\E5\D9\C9\00\C7\E4\D3\C8\CA \00\EA\E6\C7\00\E1\C8\D1\00\E5\C7\D1\00\C3\C8\D1\00\E5\C7\EA\00\EA\E8\E6\00\EA\E8\E4\00\C3\DA\D3\00\D3\C8\CA\00\C3\E3\CA\00\E6\E8\E1\00\CF\EA\D3\00\EA\E6\C7\EA\D1\00\E1\C8\D1\C7\EA\D1\00\E5\C7\D1\D3\00\C3\C8\D1\EA\E4\00\E5\C7\EA\E8\00\EA\E8\E6\EA\E8\00\EA\E8\E4\EA\E8\00\C3\DA\D3\D7\D3\00\D3\C8\CA\E5\C8\D1\00\C3\E3\CA\E8\C8\D1\00\E6\E8\E1\E5\C8\D1\00\CF\EA\D3\E5\C8\D1\00\D5\00\E5\00%d %b, %Y %Z %I:%M:%S %p\00%d %b, %Y\00%Z %I:%M:%S \00%Z %I:%M:%S %p\00\D8\AD\00\D9\86\00\D8\AB\00\D8\B1\00\D8\AE\00\D8\AC\00\D8\B3\00\D8\A7\D9\84\D8\A3\D8\AD\D8\AF\00\D8\A7\D9\84\D8\A7\D8\AB\D9\86\D9\8A\D9\86\00\D8\A7\D9\84\D8\AB\D9\84\D8\A7\D8\AB\D8\A7\D8\A1\00\D8\A7\D9\84\D8\A3\D8\B1\D8\A8\D8\B9\D8\A7\D8\A1\00\D8\A7\D9\84\D8\AE\D9\85\D9\8A\D8\B3\00\D8\A7\D9\84\D8\AC\D9\85\D8\B9\D8\A9\00\D8\A7\D9\84\D8\B3\D8\A8\D8\AA \00\D9\8A\D9\86\D8\A7\00\D9\81\D8\A8\D8\B1\00\D9\85\D8\A7\D8\B1\00\D8\A3\D8\A8\D8\B1\00\D9\85\D8\A7\D9\8A\00\D9\8A\D9\88\D9\86\00\D9\8A\D9\88\D9\84\00\D8\A3\D8\BA\D8\B3\00\D8\B3\D8\A8\D8\AA\00\D8\A3\D9\83\D8\AA\00\D9\86\D9\88\D9\81\00\D8\AF\D9\8A\D8\B3\00\D9\8A\D9\86\D8\A7\D9\8A\D8\B1\00\D9\81\D8\A8\D8\B1\D8\A7\D9\8A\D8\B1\00\D9\85\D8\A7\D8\B1\D8\B3\00\D8\A3\D8\A8\D8\B1\D9\8A\D9\84\00\D9\85\D8\A7\D9\8A\D9\88\00\D9\8A\D9\88\D9\86\D9\8A\D9\88\00\D9\8A\D9\88\D9\84\D9\8A\D9\88\00\D8\A3\D8\BA\D8\B3\D8\B7\D8\B3\00\D8\B3\D8\A8\D8\AA\D9\85\D8\A8\D8\B1\00\D8\A3\D9\83\D8\AA\D9\88\D8\A8\D8\B1\00\D9\86\D9\88\D9\81\D9\85\D8\A8\D8\B1\00\D8\AF\D9\8A\D8\B3\D9\85\D8\A8\D8\B1\00\D8\B5\00\D9\85\00\C7\E4\D3\C8\CA\00\D8\A7\D9\84\D8\B3\D8\A8\D8\AA\00%A %d %B %Y %I:%M:%S %p %Z\00%A %d %B %Y\00%I:%M:%S %Z\00%I:%M:%S %p %Z\00\E3\C7\E6\E8\E6 \C7\E4\CB\C7\E6\EA\00\D4\C8\C7\D7\00\C2\D0\C7\D1\00\E6\EA\D3\C7\E6\00\E6\E8\C7\D1\00\CD\D2\EA\D1\C7\E6\00\CA\E5\E8\D2\00\C2\C8\00\C3\EA\E4\E8\E4\00\CA\D4\D1\EA\E6 \C7\E4\C3\E8\E4\00\CA\D4\D1\EA\E6 \C7\E4\CB\C7\E6\EA\00\E3\C7\E6\E8\E6 \C7\E4\C3\E8\E4\00\D9\83\D8\A7\D9\86\D9\88\D9\86 \D8\A7\D9\84\D8\AB\D8\A7\D9\86\D9\8A\00\D8\B4\D8\A8\D8\A7\D8\B7\00\D8\A2\D8\B0\D8\A7\D8\B1\00\D9\86\D9\8A\D8\B3\D8\A7\D9\86\00\D9\86\D9\88\D8\A7\D8\B1\00\D8\AD\D8\B2\D9\8A\D8\B1\D8\A7\D9\86\00\D8\AA\D9\85\D9\88\D8\B2\00\D8\A2\D8\A8\00\D8\A3\D9\8A\D9\84\D9\88\D9\84\00\D8\AA\D8\B4\D8\B1\D9\8A\D9\86 \D8\A7\D9\84\D8\A3\D9\88\D9\84\00\D8\AA\D8\B4\D8\B1\D9\8A\D9\86 \D8\A7\D9\84\D8\AB\D8\A7\D9\86\D9\8A\00\D9\83\D8\A7\D9\86\D9\88\D9\86 \D8\A7\D9\84\D8\A3\D9\88\D9\84\00\C7\E4\C5\CB\E6\EA\E6\00\C7\E4\CC\E5\D9\E0\C9\00\E6\EA\D3\E0\C7\E6\00\C3\EA\C7\D1\00\CA\E0\E5\E0\E8\D2\00%A %.1d %B %Y %.1H:%M:%S\00%A %.1d %B %Y\00%.1H:%M:%S\00\D8\A7\D9\84\D8\A5\D8\AB\D9\86\D9\8A\D9\86\00\D8\A7\D9\84\D8\AC\D9\85\D8\B9\D9\80\D8\A9\00\D9\86\D9\8A\D8\B3\D9\80\D8\A7\D9\86\00\D8\A3\D9\8A\D8\A7\D8\B1\00\D8\AA\D9\80\D9\85\D9\80\D9\88\D8\B2\00\E6\E8\C7\D1\C7\E6\00\CD\D2\EA\D1\00\D9\86\D9\88\D8\A7\D8\B1\D8\A7\D9\86\00\D8\AD\D8\B2\D9\8A\D8\B1\00baz\00bir\00iki\00\FC\E7\FC\00d\F6r\00be\FE\00alt\00bazar g\FCn\FC\00birinci g\FCn\00ikinci g\FCn\00\FC\E7\FCnc\FC g\FCn\00d\F6rd\FCnc\FC g\FCn\00be\FEinci g\FCn\00alt\FDnc\FD g\FCn\00Yan\00Fev\00\DDyn\00\DDyl\00Avq\00Sen\00Noy\00Dek\00yanvar\00fevral\00mart\00aprel\00may\00iyun\00iyul\00avqust\00sentyabr\00oktyabr\00noyabr\00dekabr\00%A, %d %B %Y %T\00%d.%m.%Y\00\C3\BC\C3\A7\C3\BC\00d\C3\B6r\00be\C5\9F\00bazar g\C3\BCn\C3\BC\00birinci g\C3\BCn\00ikinci g\C3\BCn\00\C3\BC\C3\A7\C3\BCnc\C3\BC g\C3\BCn\00d\C3\B6rd\C3\BCnc\C3\BC g\C3\BCn\00be\C5\9Finci g\C3\BCn\00alt\C4\B1nc\C4\B1 g\C3\BCn\00\C4\B0yn\00\C4\B0yl\00\CD\FF\E4\00\CF\E0\ED\00\C0\A2\F2\00\D1\F0\E4\00\D7\F6\E2\00\CF\FF\F2\00\D1\F3\E1\00\CD\FF\E4\E7\E5\EB\FF\00\CF\E0\ED\FF\E4\E7\E5\EB\E0\EA\00\C0\A2\F2\EE\F0\E0\EA\00\D1\E5\F0\E0\E4\E0\00\D7\E0\F6\E2\E5\F0\00\CF\FF\F2\ED\B3\F6\E0\00\D1\F3\E1\EE\F2\E0\00\D1\F2\E4\00\CB\FE\F2\00\D1\E0\EA\00\CA\F0\F1\00\D2\F0\E0\00\D7\FD\F0\00\CB\B3\EF\00\C6\ED\E2\00\C2\F0\F1\00\CA\F1\F2\00\CB\B3\F1\00\D1\ED\E6\00\D1\F2\F3\E4\E7\E5\ED\FC\00\CB\FE\F2\FB\00\D1\E0\EA\E0\E2\B3\EA\00\CA\F0\E0\F1\E0\E2\B3\EA\00\D2\F0\E0\E2\E5\ED\FC\00\D7\FD\F0\E2\E5\ED\FC\00\CB\B3\EF\E5\ED\FC\00\C6\ED\B3\E2\E5\ED\FC\00\C2\E5\F0\E0\F1\E5\ED\FC\00\CA\E0\F1\F2\F0\FB\F7\ED\B3\EA\00\CB\B3\F1\F2\E0\EF\E0\E4\00\D1\ED\E5\E6\E0\ED\FC\00%a %d %b %Y %T\00\D0\9D\D1\8F\D0\B4\00\D0\9F\D0\B0\D0\BD\00\D0\90\D1\9E\D1\82\00\D0\A1\D1\80\D0\B4\00\D0\A7\D1\86\D0\B2\00\D0\9F\D1\8F\D1\82\00\D0\A1\D1\83\D0\B1\00\D0\9D\D1\8F\D0\B4\D0\B7\D0\B5\D0\BB\D1\8F\00\D0\9F\D0\B0\D0\BD\D1\8F\D0\B4\D0\B7\D0\B5\D0\BB\D0\B0\D0\BA\00\D0\90\D1\9E\D1\82\D0\BE\D1\80\D0\B0\D0\BA\00\D0\A1\D0\B5\D1\80\D0\B0\D0\B4\D0\B0\00\D0\A7\D0\B0\D1\86\D0\B2\D0\B5\D1\80\00\D0\9F\D1\8F\D1\82\D0\BD\D1\96\D1\86\D0\B0\00\D0\A1\D1\83\D0\B1\D0\BE\D1\82\D0\B0\00\D0\A1\D1\82\D0\B4\00\D0\9B\D1\8E\D1\82\00\D0\A1\D0\B0\D0\BA\00\D0\9A\D1\80\D1\81\00\D0\A2\D1\80\D0\B0\00\D0\A7\D1\8D\D1\80\00\D0\9B\D1\96\D0\BF\00\D0\96\D0\BD\D0\B2\00\D0\92\D1\80\D1\81\00\D0\9A\D1\81\D1\82\00\D0\9B\D1\96\D1\81\00\D0\A1\D0\BD\D0\B6\00\D0\A1\D1\82\D1\83\D0\B4\D0\B7\D0\B5\D0\BD\D1\8C\00\D0\9B\D1\8E\D1\82\D1\8B\00\D0\A1\D0\B0\D0\BA\D0\B0\D0\B2\D1\96\D0\BA\00\D0\9A\D1\80\D0\B0\D1\81\D0\B0\D0\B2\D1\96\D0\BA\00\D0\A2\D1\80\D0\B0\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\A7\D1\8D\D1\80\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\9B\D1\96\D0\BF\D0\B5\D0\BD\D1\8C\00\D0\96\D0\BD\D1\96\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\92\D0\B5\D1\80\D0\B0\D1\81\D0\B5\D0\BD\D1\8C\00\D0\9A\D0\B0\D1\81\D1\82\D1\80\D1\8B\D1\87\D0\BD\D1\96\D0\BA\00\D0\9B\D1\96\D1\81\D1\82\D0\B0\D0\BF\D0\B0\D0\B4\00\D0\A1\D0\BD\D0\B5\D0\B6\D0\B0\D0\BD\D1\8C\00\ED\E4\00\EF\ED\00\E2\F2\00\F1\F0\00\F7\F2\00\EF\F2\00\F1\E1\00\ED\E5\E4\E5\EB\FF\00\EF\EE\ED\E5\E4\E5\EB\ED\E8\EA\00\E2\F2\EE\F0\ED\E8\EA\00\F1\F0\FF\E4\E0\00\F7\E5\F2\E2\FA\F0\F2\FA\EA\00\EF\E5\F2\FA\EA\00\F1\FA\E1\EE\F2\E0\00\FF\ED\F3\00\F4\E5\E2\00\EC\E0\F0\00\E0\EF\F0\00\EC\E0\E9\00\FE\ED\E8\00\FE\EB\E8\00\E0\E2\E3\00\F1\E5\EF\00\EE\EA\F2\00\ED\EE\E5\00\E4\E5\EA\00\FF\ED\F3\E0\F0\E8\00\F4\E5\E2\F0\F3\E0\F0\E8\00\EC\E0\F0\F2\00\E0\EF\F0\E8\EB\00\E0\E2\E3\F3\F1\F2\00\F1\E5\EF\F2\E5\EC\E2\F0\E8\00\EE\EA\F2\EE\EC\E2\F0\E8\00\ED\EE\E5\EC\E2\F0\E8\00\E4\E5\EA\E5\EC\E2\F0\E8\00%x (%a) %X %Z\00%e.%m.%Y\00%k,%M,%S\00%l,%M,%S\00\D0\BD\D0\B4\00\D0\BF\D0\BD\00\D0\B2\D1\82\00\D1\81\D1\80\00\D1\87\D1\82\00\D0\BF\D1\82\00\D1\81\D0\B1\00\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D1\8F\00\D0\BF\D0\BE\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D0\BD\D0\B8\D0\BA\00\D0\B2\D1\82\D0\BE\D1\80\D0\BD\D0\B8\D0\BA\00\D1\81\D1\80\D1\8F\D0\B4\D0\B0\00\D1\87\D0\B5\D1\82\D0\B2\D1\8A\D1\80\D1\82\D1\8A\D0\BA\00\D0\BF\D0\B5\D1\82\D1\8A\D0\BA\00\D1\81\D1\8A\D0\B1\D0\BE\D1\82\D0\B0\00\D1\8F\D0\BD\D1\83\00\D1\84\D0\B5\D0\B2\00\D0\BC\D0\B0\D1\80\00\D0\B0\D0\BF\D1\80\00\D0\BC\D0\B0\D0\B9\00\D1\8E\D0\BD\D0\B8\00\D1\8E\D0\BB\D0\B8\00\D0\B0\D0\B2\D0\B3\00\D1\81\D0\B5\D0\BF\00\D0\BE\D0\BA\D1\82\00\D0\BD\D0\BE\D0\B5\00\D0\B4\D0\B5\D0\BA\00\D1\8F\D0\BD\D1\83\D0\B0\D1\80\D0\B8\00\D1\84\D0\B5\D0\B2\D1\80\D1\83\D0\B0\D1\80\D0\B8\00\D0\BC\D0\B0\D1\80\D1\82\00\D0\B0\D0\BF\D1\80\D0\B8\D0\BB\00\D0\B0\D0\B2\D0\B3\D1\83\D1\81\D1\82\00\D1\81\D0\B5\D0\BF\D1\82\D0\B5\D0\BC\D0\B2\D1\80\D0\B8\00\D0\BE\D0\BA\D1\82\D0\BE\D0\BC\D0\B2\D1\80\D0\B8\00\D0\BD\D0\BE\D0\B5\D0\BC\D0\B2\D1\80\D0\B8\00\D0\B4\D0\B5\D0\BA\D0\B5\D0\BC\D0\B2\D1\80\D0\B8\00\E0\A6\B0\E0\A6\AC\E0\A6\BF\00\E0\A6\B8\E0\A7\8B\E0\A6\AE\00\E0\A6\AE\E0\A6\99\E0\A6\97\E0\A6\B2\00\E0\A6\AC\E0\A7\81\E0\A6\A7\00\E0\A6\AC\E0\A7\83\E0\A6\B9\E0\A6\B8\E0\A7\8D\E0\A6\AA\E0\A6\A4\E0\A6\BF\00\E0\A6\B6\E0\A7\81\E0\A6\95\E0\A7\8D\E0\A6\B0\00\E0\A6\B6\E0\A6\A8\E0\A6\BF\00\E0\A6\B0\E0\A6\AC\E0\A6\BF\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B8\E0\A7\8B\E0\A6\AE\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\AE\E0\A6\99\E0\A6\97\E0\A6\B2\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\AC\E0\A7\81\E0\A6\A7\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\AC\E0\A7\83\E0\A6\B9\E0\A6\B8\E0\A7\8D\E0\A6\AA\E0\A6\A4\E0\A6\BF\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B6\E0\A7\81\E0\A6\95\E0\A7\8D\E0\A6\B0\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B6\E0\A6\A8\E0\A6\BF\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\9C\E0\A6\BE\E0\A6\A8\00\E0\A6\AB\E0\A7\87\E0\A6\AC\00\E0\A6\AE\E0\A6\BE\E0\A6\B0\00\E0\A6\8F\E0\A6\AA\E0\A7\8D\E0\A6\B0\00\E0\A6\AE\E0\A7\87\00\E0\A6\9C\E0\A7\81\E0\A6\A8\00\E0\A6\9C\E0\A7\81\E0\A6\B2\00\E0\A6\86\E0\A6\97\00\E0\A6\B8\E0\A7\87\E0\A6\AA\00\E0\A6\85\E0\A6\95\E0\A7\8D\E0\A6\9F\E0\A7\8B\E0\A6\AC\E0\A6\B0\00\E0\A6\A8\E0\A6\AD\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\B0\00\E0\A6\A1\E0\A6\BF\E0\A6\B8\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\B0\00\E0\A6\9C\E0\A6\BE\E0\A6\A8\E0\A7\81\E0\A7\9F\E0\A6\BE\E0\A6\B0\E0\A7\80\00\E0\A6\AB\E0\A7\87\E0\A6\AC\E0\A7\8D\E0\A6\B0\E0\A7\81\E0\A7\9F\E0\A6\BE\E0\A6\B0\E0\A7\80\00\E0\A6\AE\E0\A6\BE\E0\A6\B0\E0\A7\8D\E0\A6\9A\00\E0\A6\8F\E0\A6\AA\E0\A7\8D\E0\A6\B0\E0\A6\BF\E0\A6\B2\00\E0\A6\9C\E0\A7\81\E0\A6\B2\E0\A6\BE\E0\A6\87\00\E0\A6\86\E0\A6\97\E0\A6\B8\E0\A7\8D\E0\A6\9F\00\E0\A6\B8\E0\A7\87\E0\A6\AA\E0\A7\8D\E0\A6\9F\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\85\E0\A6\95\E0\A7\8D\E0\A6\9F\E0\A7\8B\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\A8\E0\A6\AD\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\A1\E0\A6\BF\E0\A6\B8\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B8\E0\A6\95\E0\A6\BE\E0\A6\B2\00\E0\A6\AC\E0\A6\BF\E0\A6\95\E0\A6\BE\E0\A6\B2\00%A %d %b %Y %I:%M:%S %p %Z\00%A %d %b %Y\00\E0\A6\B8\E0\A7\87\E0\A6\AA\E0\A7\8D\E0\A6\9F\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\B0\00\E0\A6\AA\E0\A7\82\E0\A6\B0\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B9\E0\A7\8D\E0\A6\A3\00\E0\A6\85\E0\A6\AA\E0\A6\B0\E0\A6\BE\E0\A6\B9\E0\A7\8D\E0\A6\A3\00sul\00lun\00meu\00mer\00yao\00gwe\00sad\00meurzh\00merc'her\00yaou\00gwener\00sadorn\00Gen \00C'hw\00Meu \00Ebr \00Mae \00Eve \00Gou \00Eos \00Gwe \00Her \00Du \00Ker \00Genver\00C'hwevrer\00Meurzh\00Ebrel\00Mae\00Mezheven\00Gouere\00Eost\00Gwengolo\00Here\00Du\00Kerzu\00 \00D'ar %A %d a viz %B %Y\00%Ie%M:%S %p\00Ned\00Pon\00Uto\00Sri\00\C8et\00Pet\00Sub\00Nedjelja\00Ponedjeljak\00Utorak\00Srijeda\00\C8etvrtak\00Petak\00Subota\00Maj\00Januar\00Februar\00Mart\00Juni\00Juli\00Septembar\00Oktobar\00Novembar\00Decembar\00\C4\8Cet\00\C4\8Cetvrtak\00dg\00dl\00dt\00dc\00dj\00dv\00ds\00diumenge\00dilluns\00dimarts\00dimecres\00dijous\00divendres\00dissabte\00gen\00feb\00mar\00abr\00mai\00jun\00jul\00ago\00set\00oct\00nov\00des\00gener\00febrer\00mar\E7\00abril\00maig\00juny\00juliol\00agost\00setembre\00octubre\00novembre\00desembre\00mar\C3\A7\00Ne\00Po\00\DAt\00St\00\C8t\00P\E1\00Ned\ECle\00Pond\ECl\ED\00\DAter\FD\00St\F8eda\00\C8tvrtek\00P\E1tek\00Sobota\00led\00\FAno\00b\F8e\00dub\00kv\EC\00\E8en\00\E8ec\00srp\00z\E1\F8\00\F8\EDj\00lis\00pro\00leden\00\FAnor\00b\F8ezen\00duben\00kv\ECten\00\E8erven\00\E8ervenec\00srpen\00z\E1\F8\ED\00\F8\EDjen\00listopad\00prosinec\00%a\A0%e.\A0%B\A0%Y,\A0%H:%M:%S\A0%Z\00%I:%M:%S\00\C3\9At\00\C4\8Ct\00P\C3\A1\00Ned\C4\9Ble\00Pond\C4\9Bl\C3\AD\00\C3\9Ater\C3\BD\00St\C5\99eda\00\C4\8Ctvrtek\00P\C3\A1tek\00\C3\BAno\00b\C5\99e\00kv\C4\9B\00\C4\8Den\00\C4\8Dec\00z\C3\A1\C5\99\00\C5\99\C3\ADj\00\C3\BAnor\00b\C5\99ezen\00kv\C4\9Bten\00\C4\8Derven\00\C4\8Dervenec\00z\C3\A1\C5\99\C3\AD\00\C5\99\C3\ADjen\00%a\C2\A0%e.\C2\A0%B\C2\A0%Y,\C2\A0%H:%M:%S\C2\A0%Z\00Sul\00Llu\00Maw\00Mer\00Iau\00Gwe\00Sad\00Llun\00Mawrth\00Mercher\00Gwener\00Sadwrn\00Ion\00Chw\00Ebr\00Mai\00Meh\00Gor\00Aws\00Med\00Hyd\00Tach\00Rha\00Ionawr\00Chwefror\00Ebrill\00Mehefin\00Gorffennaf\00Awst\00Medi\00Hydref\00Tachwedd\00Rhagfyr\00Dydd %A %d a viz %B %Y %T %Z\00%d.%m.%y\00s\F8n\00man\00tir\00ons\00tor\00fre\00l\F8r\00s\F8ndag\00mandag\00tirsdag\00onsdag\00torsdag\00fredag\00l\F8rdag\00jan\00apr\00maj\00aug\00sep\00okt\00dec\00januar\00februar\00marts\00april\00juni\00juli\00august\00september\00oktober\00november\00december\00%d-%m-%Y\00s\C3\B8n\00l\C3\B8r\00s\C3\B8ndag\00l\C3\B8rdag\00Son\00Die\00Mit\00Don\00Fre\00Sam\00Sonntag\00Montag\00Dienstag\00Mittwoch\00Donnerstag\00Freitag\00Samstag\00J\E4n\00M\E4r\00Dez\00J\E4nner\00Feber\00M\E4rz\00Dezember\00%Y-%m-%d\00J\C3\A4n\00M\C3\A4r\00J\C3\A4nner\00M\C3\A4rz\00\CA\F5\F1\00\C4\E5\F5\00\D4\F1\E9\00\D4\E5\F4\00\D0\E5\EC\00\D0\E1\F1\00\D3\E1\E2\00\CA\F5\F1\E9\E1\EA\DE\00\C4\E5\F5\F4\DD\F1\E1\00\D4\F1\DF\F4\E7\00\D4\E5\F4\DC\F1\F4\E7\00\D0\DD\EC\F0\F4\E7\00\D0\E1\F1\E1\F3\EA\E5\F5\DE\00\D3\DC\E2\E2\E1\F4\EF\00\C9\E1\ED\00\D6\E5\E2\00\CC\DC\F1\00\C1\F0\F1\00\CC\DC\E9\00\C9\EF\FD\ED\00\C9\EF\FD\EB\00\C1\FD\E3\00\D3\E5\F0\00\CF\EA\F4\00\CD\EF\DD\00\C4\E5\EA\00\C9\E1\ED\EF\F5\DC\F1\E9\EF\F2\00\D6\E5\E2\F1\EF\F5\DC\F1\E9\EF\F2\00\CC\DC\F1\F4\E9\EF\F2\00\C1\F0\F1\DF\EB\E9\EF\F2\00\CC\DC\E9\EF\F2\00\C9\EF\FD\ED\E9\EF\F2\00\C9\EF\FD\EB\E9\EF\F2\00\C1\FD\E3\EF\F5\F3\F4\EF\F2\00\D3\E5\F0\F4\DD\EC\E2\F1\E9\EF\F2\00\CF\EA\F4\FE\E2\F1\E9\EF\F2\00\CD\EF\DD\EC\E2\F1\E9\EF\F2\00\C4\E5\EA\DD\EC\E2\F1\E9\EF\F2\00\CE\9A\CF\85\CF\81\00\CE\94\CE\B5\CF\85\00\CE\A4\CF\81\CE\B9\00\CE\A4\CE\B5\CF\84\00\CE\A0\CE\B5\CE\BC\00\CE\A0\CE\B1\CF\81\00\CE\A3\CE\B1\CE\B2\00\CE\9A\CF\85\CF\81\CE\B9\CE\B1\CE\BA\CE\AE\00\CE\94\CE\B5\CF\85\CF\84\CE\AD\CF\81\CE\B1\00\CE\A4\CF\81\CE\AF\CF\84\CE\B7\00\CE\A4\CE\B5\CF\84\CE\AC\CF\81\CF\84\CE\B7\00\CE\A0\CE\AD\CE\BC\CF\80\CF\84\CE\B7\00\CE\A0\CE\B1\CF\81\CE\B1\CF\83\CE\BA\CE\B5\CF\85\CE\AE\00\CE\A3\CE\AC\CE\B2\CE\B2\CE\B1\CF\84\CE\BF\00\CE\99\CE\B1\CE\BD\00\CE\A6\CE\B5\CE\B2\00\CE\9C\CE\AC\CF\81\00\CE\91\CF\80\CF\81\00\CE\9C\CE\AC\CE\B9\00\CE\99\CE\BF\CF\8D\CE\BD\00\CE\99\CE\BF\CF\8D\CE\BB\00\CE\91\CF\8D\CE\B3\00\CE\A3\CE\B5\CF\80\00\CE\9F\CE\BA\CF\84\00\CE\9D\CE\BF\CE\AD\00\CE\94\CE\B5\CE\BA\00\CE\99\CE\B1\CE\BD\CE\BF\CF\85\CE\AC\CF\81\CE\B9\CE\BF\CF\82\00\CE\A6\CE\B5\CE\B2\CF\81\CE\BF\CF\85\CE\AC\CF\81\CE\B9\CE\BF\CF\82\00\CE\9C\CE\AC\CF\81\CF\84\CE\B9\CE\BF\CF\82\00\CE\91\CF\80\CF\81\CE\AF\CE\BB\CE\B9\CE\BF\CF\82\00\CE\9C\CE\AC\CE\B9\CE\BF\CF\82\00\CE\99\CE\BF\CF\8D\CE\BD\CE\B9\CE\BF\CF\82\00\CE\99\CE\BF\CF\8D\CE\BB\CE\B9\CE\BF\CF\82\00\CE\91\CF\8D\CE\B3\CE\BF\CF\85\CF\83\CF\84\CE\BF\CF\82\00\CE\A3\CE\B5\CF\80\CF\84\CE\AD\CE\BC\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00\CE\9F\CE\BA\CF\84\CF\8E\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00\CE\9D\CE\BF\CE\AD\CE\BC\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00\CE\94\CE\B5\CE\BA\CE\AD\CE\BC\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00%a %d %b %Y %r %Z\00%Y-%m-%dT%T %Z\00%A, %B %d, %Y %p%I:%M:%S %Z\00%A, %B %d, %Y\00%I:%M:%S %Z\00%p%I:%M:%S %Z\00%A, %d %B, %Y %I:%M:%S %p %Z\00%A, %d %B, %Y\00%A %d,%B,%Y %I:%M:%S %p %Z\00%A %d,%B,%Y\00%m/%d/%Y\00dim\00\C4\B5a\C5\AD\00ven\00sab\00diman\C4\89o\00lundo\00mardo\00merkredo\00\C4\B5a\C5\ADdo\00vendredo\00sabato\00A\C5\ADg\00Januaro\00Februaro\00Marto\00Aprilo\00Majo\00Junio\00Julio\00A\C5\ADgusto\00Septembro\00Oktobro\00Novembro\00Decembro\00%a %d %b %Y %T %z\00dom\00mi\E9\00jue\00vie\00s\E1b\00domingo\00lunes\00martes\00mi\E9rcoles\00jueves\00viernes\00s\E1bado\00ene\00dic\00enero\00febrero\00marzo\00mayo\00junio\00julio\00agosto\00septiembre\00noviembre\00diciembre\00mi\C3\A9\00s\C3\A1b\00mi\C3\A9rcoles\00s\C3\A1bado\00P\00E\00T\00K\00N\00R\00L\00p\FChap\E4ev\00esmasp\E4ev\00teisip\E4ev\00kolmap\E4ev\00neljap\E4ev\00reede\00laup\E4ev\00jaan \00veebr\00m\E4rts\00apr \00mai \00juuni\00juuli\00aug \00sept \00okt \00nov \00dets \00jaanuar\00veebruar\00aprill\00oktoober\00detsember\00p\C3\BChap\C3\A4ev\00esmasp\C3\A4ev\00teisip\C3\A4ev\00kolmap\C3\A4ev\00neljap\C3\A4ev\00laup\C3\A4ev\00m\C3\A4rts\00ig.\00al.\00ar.\00az.\00og.\00or.\00lr.\00igandea\00astelehena\00asteartea\00asteazkena\00osteguna\00ostirala\00larunbata\00urt\00ots\00api\00eka\00uzt\00abu\00ira\00urr\00aza\00abe\00urtarrila\00otsaila\00martxoa\00apirila\00maiatza\00ekaina\00uztaila\00abuztua\00iraila\00urria\00azaroa\00abendua\00%y-%m-%d %T %Z\00%a, %Y.eko %bren %da\00\DB\8C.\00\D8\AF.\00\D8\B3.\00\DA\86.\00\D9\BE.\00\D8\AC.\00\D8\B4.\00\DB\8C\DA\A9\E2\80\8C\D8\B4\D9\86\D8\A8\D9\87\00\D8\AF\D9\88\D8\B4\D9\86\D8\A8\D9\87\00\D8\B3\D9\87\E2\80\8C\D8\B4\D9\86\D8\A8\D9\87\00\DA\86\D9\87\D8\A7\D8\B1\D8\B4\D9\86\D8\A8\D9\87\00\D9\BE\D9\86\D8\AC\E2\80\8C\D8\B4\D9\86\D8\A8\D9\87\00\D8\AC\D9\85\D8\B9\D9\87\00\D8\B4\D9\86\D8\A8\D9\87\00\DA\98\D8\A7\D9\86\00\D9\81\D9\88\D8\B1\00\D8\A2\D9\88\D8\B1\00\D9\85\D9\80\D9\87\00\DA\98\D9\88\D9\86\00\DA\98\D9\88\DB\8C\00\D8\A7\D9\88\D8\AA\00\D8\B3\D9\BE\D8\AA\00\D8\A7\D9\83\D8\AA\00\D9\86\D9\88\D8\A7\00\D8\AF\D8\B3\D8\A7\00\DA\98\D8\A7\D9\86\D9\88\DB\8C\D9\87\00\D9\81\D9\88\D8\B1\DB\8C\D9\87\00\D8\A2\D9\88\D8\B1\DB\8C\D9\84\00\D9\85\D9\87\00\DA\98\D9\88\D8\A6\D9\86\00\DA\98\D9\88\D8\A6\DB\8C\D9\87\00\D8\B3\D9\BE\D8\AA\D8\A7\D9\85\D8\A8\D8\B1\00\D8\A7\D9\83\D8\AA\D8\A8\D8\B1\00\D9\86\D9\88\D8\A7\D9\85\D8\A8\D8\B1\00\D8\AF\D8\B3\D8\A7\D9\85\D8\A8\D8\B1\00\D8\B5\D8\A8\D8\AD\00\D8\B9\D8\B5\D8\B1\00\E2\80\AB%A %e %B %Y\D8\8C %I:%M:%S %p\E2\80\AC\00%Y/%m/%d\00\E2\80\AB%I:%M:%S %p\E2\80\AC\00su\00ma\00ti\00ke\00to\00pe\00la\00sunnuntai\00maanantai\00tiistai\00keskiviikko\00torstai\00perjantai\00lauantai\00tammi\A0\00helmi\A0\00maalis\00huhti\A0\00touko\A0\00kes\E4\A0\A0\00hein\E4\A0\00elo\A0\A0\A0\00syys\A0\A0\00loka\A0\A0\00marras\00joulu\A0\00tammikuu\00helmikuu\00maaliskuu\00huhtikuu\00toukokuu\00kes\E4kuu\00hein\E4kuu\00elokuu\00syyskuu\00lokakuu\00marraskuu\00joulukuu\00%a %e %B %Y %T\00tammi\C2\A0\00helmi\C2\A0\00huhti\C2\A0\00touko\C2\A0\00kes\C3\A4\C2\A0\C2\A0\00hein\C3\A4\C2\A0\00elo\C2\A0\C2\A0\C2\A0\00syys\C2\A0\C2\A0\00loka\C2\A0\C2\A0\00joulu\C2\A0\00kes\C3\A4kuu\00hein\C3\A4kuu\00sun\00m\E1n\00t\FDs\00mik\00h\F3s\00fr\ED\00ley\00sunnudagur\00m\E1nadagur\00t\FDsdagur\00mikudagur\00h\F3sdagur\00fr\EDggjadagur\00leygardagur\00mars\00apr\EDl\00desember\00%d/%m-%Y\00m\C3\A1n\00t\C3\BDs\00h\C3\B3s\00fr\C3\AD\00m\C3\A1nadagur\00t\C3\BDsdagur\00h\C3\B3sdagur\00fr\C3\ADggjadagur\00apr\C3\ADl\00jeu\00sam\00dimanche\00lundi\00mardi\00mercredi\00jeudi\00vendredi\00samedi\00f\E9v\00avr\00jui\00ao\FB\00d\E9c\00janvier\00f\E9vrier\00avril\00juin\00juillet\00ao\FBt\00septembre\00octobre\00d\E9cembre\00f\C3\A9v\00ao\C3\BB\00d\C3\A9c\00f\C3\A9vrier\00ao\C3\BBt\00d\C3\A9cembre\00%d. %m. %y\00Domh\00Luan\00M\E1irt\00C\E9ad\00D\E9ar\00Aoine\00Sath\00D\E9 Domhnaigh\00D\E9 Luain\00D\E9 M\E1irt\00D\E9 C\E9adaoin\00D\E9ardaoin\00D\E9 hAoine\00D\E9 Sathairn\00Ean\00Feabh\00M\E1rta\00Aib\00Beal\00Meith\00I\FAil\00L\FAn\00MF\F3mh\00DF\F3mh\00Samh\00Noll\00Ean\E1ir\00Feabhra\00Aibre\E1n\00M\ED na Bealtaine\00L\FAnasa\00Me\E1n F\F3mhair\00Deireadh F\F3mhair\00M\ED na Samhna\00M\ED na Nollag\00M\C3\A1irt\00C\C3\A9ad\00D\C3\A9ar\00D\C3\A9 Domhnaigh\00D\C3\A9 Luain\00D\C3\A9 M\C3\A1irt\00D\C3\A9 C\C3\A9adaoin\00D\C3\A9ardaoin\00D\C3\A9 hAoine\00D\C3\A9 Sathairn\00M\C3\A1rta\00I\C3\BAil\00L\C3\BAn\00MF\C3\B3mh\00DF\C3\B3mh\00Ean\C3\A1ir\00Aibre\C3\A1n\00M\C3\AD na Bealtaine\00L\C3\BAnasa\00Me\C3\A1n F\C3\B3mhair\00Deireadh F\C3\B3mhair\00M\C3\AD na Samhna\00M\C3\AD na Nollag\00Dido\00Dilu\00Dim\00Dic\00Diar\00Diha\00Disa\00Did\F2mhnaich\00Diluain\00Dim\E0irt\00Diciadain\00Diardaoin\00Dihaoine\00Disathairne\00Fao\00Gea\00M\E0r\00Gib\00Mh\E0\00OgM\00luc\00L\F9n\00Dam\00D\F9b\00Am Faoilteach\00An Gearran\00Am M\E0rt\00An Giblean\00A' Mh\E0igh\00An t-Mh\ECos\00An t-luchar\00An L\F9nasdal\00An t-Sultain\00An Damhair\00An t-Samhain\00An D\F9bhlachd\00Did\C3\B2mhnaich\00Dim\C3\A0irt\00M\C3\A0r\00Mh\C3\A0\00L\C3\B9n\00D\C3\B9b\00Am M\C3\A0rt\00A' Mh\C3\A0igh\00An t-Mh\C3\ACos\00An L\C3\B9nasdal\00An D\C3\B9bhlachd\00Dom\00Lun\00M\E9r\00Xov\00Ven\00S\E1b\00Domingo\00Luns\00Martes\00M\E9rcores\00Xoves\00Venres\00S\E1bado\00Xan\00Abr\00Xu\F1\00Xul\00Ago\00Set\00Out\00Xaneiro\00Febreiro\00Marzo\00Abril\00Maio\00Xu\F1o\00Xullo\00Agosto\00Setembro\00Outubro\00M\C3\A9r\00S\C3\A1b\00M\C3\A9rcores\00S\C3\A1bado\00Xu\C3\B1\00Xu\C3\B1o\00Jed\00Jel\00Jem\00Jerc\00Jerd\00Jeh\00Jes\00Jedoonee\00Jelhein\00Jemayrt\00Jercean\00Jerdein\00Jeheiney\00Jesarn\00J-guer\00T-arree\00Mayrnt\00Avrril\00Boaldyn\00M-souree\00J-souree\00Luanistyn\00M-fouyir\00J-fouyir\00M.Houney\00M.Nollick\00Jerrey-geuree\00Toshiaght-arree\00Averil\00Mean-souree\00Jerrey-souree\00Mean-fouyir\00Jerrey-fouyir\00Mee Houney\00Mee ny Nollick\00\E0'\00\E1'\00\E2'\00\E3'\00\E4'\00\E5'\00\F9'\00\F8\E0\F9\E5\EF\00\F9\F0\E9\00\F9\EC\E9\F9\E9\00\F8\E1\E9\F2\E9\00\E7\EE\E9\F9\E9\00\F9\E9\F9\E9\00\F9\E1\FA\00\E9\F0\E5\00\F4\E1\F8\00\EE\F8\F5\00\E0\F4\F8\00\EE\E0\E9\00\E9\E5\F0\00\E9\E5\EC\00\E0\E5\E2\00\F1\F4\E8\00\E0\E5\F7\00\F0\E5\E1\00\E3\F6\EE\00\E9\F0\E5\E0\F8\00\F4\E1\F8\E5\E0\F8\00\E0\F4\F8\E9\EC\00\E9\E5\F0\E9\00\E9\E5\EC\E9\00\E0\E5\E2\E5\F1\E8\00\F1\F4\E8\EE\E1\F8\00\E0\E5\F7\E8\E5\E1\F8\00\F0\E5\E1\EE\E1\F8\00\E3\F6\EE\E1\F8\00%Z %H:%M:%S %Y %b %d %a\00%I:%M:%S %P\00\D7\90'\00\D7\91'\00\D7\92'\00\D7\93'\00\D7\94'\00\D7\95'\00\D7\A9'\00\D7\A8\D7\90\D7\A9\D7\95\D7\9F\00\D7\A9\D7\A0\D7\99\00\D7\A9\D7\9C\D7\99\D7\A9\D7\99\00\D7\A8\D7\91\D7\99\D7\A2\D7\99\00\D7\97\D7\9E\D7\99\D7\A9\D7\99\00\D7\A9\D7\99\D7\A9\D7\99\00\D7\A9\D7\91\D7\AA\00\D7\99\D7\A0\D7\95\00\D7\A4\D7\91\D7\A8\00\D7\9E\D7\A8\D7\A5\00\D7\90\D7\A4\D7\A8\00\D7\9E\D7\90\D7\99\00\D7\99\D7\95\D7\A0\00\D7\99\D7\95\D7\9C\00\D7\90\D7\95\D7\92\00\D7\A1\D7\A4\D7\98\00\D7\90\D7\95\D7\A7\00\D7\A0\D7\95\D7\91\00\D7\93\D7\A6\D7\9E\00\D7\99\D7\A0\D7\95\D7\90\D7\A8\00\D7\A4\D7\91\D7\A8\D7\95\D7\90\D7\A8\00\D7\90\D7\A4\D7\A8\D7\99\D7\9C\00\D7\99\D7\95\D7\A0\D7\99\00\D7\99\D7\95\D7\9C\D7\99\00\D7\90\D7\95\D7\92\D7\95\D7\A1\D7\98\00\D7\A1\D7\A4\D7\98\D7\9E\D7\91\D7\A8\00\D7\90\D7\95\D7\A7\D7\98\D7\95\D7\91\D7\A8\00\D7\A0\D7\95\D7\91\D7\9E\D7\91\D7\A8\00\D7\93\D7\A6\D7\9E\D7\91\D7\A8\00\E0\A4\B0\E0\A4\B5\E0\A4\BF \00\E0\A4\B8\E0\A5\8B\E0\A4\AE \00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B2 \00\E0\A4\AC\E0\A5\81\E0\A4\A7 \00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81 \00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0 \00\E0\A4\B6\E0\A4\A8\E0\A4\BF \00\E0\A4\B0\E0\A4\B5\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\B8\E0\A5\8B\E0\A4\AE\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B2\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\AC\E0\A5\81\E0\A4\A7\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\B6\E0\A4\A8\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\9C\E0\A4\A8\E0\A4\B5\E0\A4\B0\E0\A5\80\00\E0\A4\AB\E0\A4\BC\E0\A4\B0\E0\A4\B5\E0\A4\B0\E0\A5\80\00\E0\A4\AE\E0\A4\BE\E0\A4\B0\E0\A5\8D\E0\A4\9A\00\E0\A4\85\E0\A4\AA\E0\A5\8D\E0\A4\B0\E0\A5\87\E0\A4\B2\00\E0\A4\AE\E0\A4\88\00\E0\A4\9C\E0\A5\82\E0\A4\A8\00\E0\A4\9C\E0\A5\81\E0\A4\B2\E0\A4\BE\E0\A4\88\00\E0\A4\85\E0\A4\97\E0\A4\B8\E0\A5\8D\E0\A4\A4\00\E0\A4\B8\E0\A4\BF\E0\A4\A4\E0\A4\AE\E0\A5\8D\E0\A4\AC\E0\A4\B0\00\E0\A4\85\E0\A4\95\E0\A5\8D\E0\A4\9F\E0\A5\82\E0\A4\AC\E0\A4\B0\00\E0\A4\A8\E0\A4\B5\E0\A4\AE\E0\A5\8D\E0\A4\AC\E0\A4\B0\00\E0\A4\A6\E0\A4\BF\E0\A4\B8\E0\A4\AE\E0\A5\8D\E0\A4\AC\E0\A4\B0\00\E0\A4\AA\E0\A5\82\E0\A4\B0\E0\A5\8D\E0\A4\B5\E0\A4\BE\E0\A4\B9\E0\A5\8D\E0\A4\A8\00\E0\A4\85\E0\A4\AA\E0\A4\B0\E0\A4\BE\E0\A4\B9\E0\A5\8D\E0\A4\A8\00Sij\00Vel\00O\BEu\00Tra\00Svi\00Lip\00Srp\00Kol\00Ruj\00Lis\00Stu\00Pro\00Sije\E8anj\00Velja\E8a\00O\BEujak\00Travanj\00Svibanj\00Lipanj\00Srpanj\00Kolovoz\00Rujan\00Listopad\00Studeni\00Prosinac\00O\C5\BEu\00Sije\C4\8Danj\00Velja\C4\8Da\00O\C5\BEujak\00v\00h\00k\00sze\00cs\00p\00szo\00vas\E1rnap\00h\E9tf\F5\00kedd\00szerda\00cs\FCt\F6rt\F6k\00p\E9ntek\00szombat\00m\E1r\00\E1pr\00m\E1j\00j\FAn\00j\FAl\00janu\E1r\00febru\E1r\00m\E1rcius\00\E1prilis\00m\E1jus\00j\FAnius\00j\FAlius\00augusztus\00szeptember\00okt\F3ber\00%Y. %b. %e., %A, %H.%M.%S %Z\00%H.%M.%S\00vas\C3\A1rnap\00h\C3\A9tf\C5\91\00cs\C3\BCt\C3\B6rt\C3\B6k\00p\C3\A9ntek\00m\C3\A1r\00\C3\A1pr\00m\C3\A1j\00j\C3\BAn\00j\C3\BAl\00janu\C3\A1r\00febru\C3\A1r\00m\C3\A1rcius\00\C3\A1prilis\00m\C3\A1jus\00j\C3\BAnius\00j\C3\BAlius\00okt\C3\B3ber\00\CE\F1\CF\00\BA\F1\CF\00\BA\F1\F9\00\E2\F1\F9\00\D0\DD\B7\00\E0\F5\F1\00\DE\B5\C3\00\CE\C7\F1\B3\CF\C7\00\BA\F1\CF\E1\F5\DF\B3\B5\C3\C7\00\BA\F1\BB\F9\DF\B3\B5\C3\C7\00\E2\E1\F1\BB\F9\DF\B3\B5\C3\C7\00\D0\C7\DD\B7\DF\B3\B5\C3\C7\00\E0\F5\F1\B5\B3\C3\00\DE\B3\B5\B3\C3\00\D0\DD\ED\00\F6\EF\F1\00\D8\B3\F1\00\B2\E5\F1\00\D8\B3\DB\00\D0\DD\EB\00\D0\C9\EB\00\FA\B7\EB\00\EA\BB\E5\00\D0\E1\CF\00\DC\D9\B5\00\B8\BB\CF\00\D0\E1\F5\DD\ED\B3\F1\C7\00\F6\BB\EF\F1\ED\B3\F1\C7\00\D8\B3\F1\EF\C7\00\B2\E5\F1\C7\C9\C7\00\D8\B3\DB\C7\EB\C7\00\D0\E1\F5\DD\C7\EB\C7\00\D0\E1\F5\C9\C7\EB\C7\00\FA\B7\E1\EB\EF\E1\EB\C7\00\EA\BB\E5\EF\BB\D9\B5\BB\F1\C7\00\D0\E1\CF\EF\BB\D9\B5\BB\F1\C7\00\DC\E1\DB\BB\D9\B5\BB\F1\C7\00\B8\BB\CF\EF\BB\D9\B5\BB\F1\C7\00\D4\BF\D6\80\D5\AF\00\D4\B5\D6\80\D5\AF\00\D4\B5\D6\80\D6\84\00\D5\89\D6\80\D6\84\00\D5\80\D5\B6\D5\A3\00\D5\88\D6\82\D6\80\00\D5\87\D5\A2\D5\A9\00\D4\BF\D5\AB\D6\80\D5\A1\D5\AF\D5\AB\00\D4\B5\D6\80\D5\AF\D5\B8\D6\82\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D4\B5\D6\80\D5\A5\D6\84\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D5\89\D5\B8\D6\80\D5\A5\D6\84\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D5\80\D5\AB\D5\B6\D5\A3\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D5\88\D6\82\D6\80\D5\A2\D5\A1\D5\A9\00\D5\87\D5\A1\D5\A2\D5\A1\D5\A9\00\D5\80\D5\B6\D5\BE\00\D5\93\D5\BF\D6\80\00\D5\84\D5\A1\D6\80\00\D4\B1\D5\BA\D6\80\00\D5\84\D5\A1\D5\B5\00\D5\80\D5\B6\D5\BD\00\D5\80\D5\AC\D5\BD\00\D5\95\D5\A3\D5\BD\00\D5\8D\D5\A5\D5\BA\00\D5\80\D5\B8\D5\AF\00\D5\86\D5\B4\D5\A2\00\D4\B4\D5\A5\D5\AF\00\D5\80\D5\B8\D6\82\D5\B6\D5\BE\D5\A1\D6\80\D5\AB\00\D5\93\D5\A5\D5\BF\D6\80\D5\BE\D5\A1\D6\80\D5\AB\00\D5\84\D5\A1\D6\80\D5\BF\D5\AB\00\D4\B1\D5\BA\D6\80\D5\AB\D5\AC\D5\AB\00\D5\84\D5\A1\D5\B5\D5\AB\D5\BD\D5\AB\00\D5\80\D5\B8\D6\82\D5\B6\D5\AB\D5\BD\D5\AB\00\D5\80\D5\B8\D6\82\D5\AC\D5\AB\D5\BD\D5\AB\00\D5\95\D5\A3\D5\B8\D5\BD\D5\BF\D5\B8\D5\BD\D5\AB\00\D5\8D\D5\A5\D5\BA\D5\BF\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00\D5\80\D5\B8\D5\AF\D5\BF\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00\D5\86\D5\B8\D5\B5\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00\D4\B4\D5\A5\D5\AF\D5\BF\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00Min\00Sel\00Rab\00Kam\00Jum\00Sab\00Minggu\00Senin\00Selasa\00Rabu\00Kamis\00Jumat\00Sabtu\00Peb\00Agu\00Januari\00Pebruari\00Maret\00Agustus\00M\E1n\00\DEri\00Mi\F0\00Fim\00F\F6s\00Lau\00Sunnudagur\00M\E1nudagur\00\DEri\F0judagur\00Mi\F0vikudagur\00Fimmtudagur\00F\F6studagur\00Laugardagur\00Ma\ED\00J\FAn\00J\FAl\00\C1g\FA\00N\F3v\00Jan\FAar\00Febr\FAar\00Mars\00Apr\EDl\00J\FAn\ED\00J\FAl\ED\00\C1g\FAst\00Okt\F3ber\00N\F3vember\00fh\00eh\00%a %e.%b %Y, %T %Z\00%a %e.%b %Y\00M\C3\A1n\00\C3\9Eri\00Mi\C3\B0\00F\C3\B6s\00M\C3\A1nudagur\00\C3\9Eri\C3\B0judagur\00Mi\C3\B0vikudagur\00F\C3\B6studagur\00Ma\C3\AD\00J\C3\BAn\00J\C3\BAl\00\C3\81g\C3\BA\00N\C3\B3v\00Jan\C3\BAar\00Febr\C3\BAar\00Apr\C3\ADl\00J\C3\BAn\C3\AD\00J\C3\BAl\C3\AD\00\C3\81g\C3\BAst\00Okt\C3\B3ber\00N\C3\B3vember\00gio\00domenica\00luned\EC\00marted\EC\00mercoled\EC\00gioved\EC\00venerd\EC\00mag\00giu\00lug\00ott\00gennaio\00febbraio\00aprile\00maggio\00giugno\00luglio\00settembre\00ottobre\00dicembre\00luned\C3\AC\00marted\C3\AC\00mercoled\C3\AC\00gioved\C3\AC\00venerd\C3\AC\00\E6\97\A5\00\E6\9C\88\00\E7\81\AB\00\E6\B0\B4\00\E6\9C\A8\00\E9\87\91\00\E5\9C\9F\00\E6\97\A5\E6\9B\9C\E6\97\A5\00\E6\9C\88\E6\9B\9C\E6\97\A5\00\E7\81\AB\E6\9B\9C\E6\97\A5\00\E6\B0\B4\E6\9B\9C\E6\97\A5\00\E6\9C\A8\E6\9B\9C\E6\97\A5\00\E9\87\91\E6\9B\9C\E6\97\A5\00\E5\9C\9F\E6\9B\9C\E6\97\A5\00 1\E6\9C\88\00 2\E6\9C\88\00 3\E6\9C\88\00 4\E6\9C\88\00 5\E6\9C\88\00 6\E6\9C\88\00 7\E6\9C\88\00 8\E6\9C\88\00 9\E6\9C\88\0010\E6\9C\88\0011\E6\9C\88\0012\E6\9C\88\001\E6\9C\88\002\E6\9C\88\003\E6\9C\88\004\E6\9C\88\005\E6\9C\88\006\E6\9C\88\007\E6\9C\88\008\E6\9C\88\009\E6\9C\88\00\E5\8D\88\E5\89\8D\00\E5\8D\88\E5\BE\8C\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %H\E6\99\82%M\E5\88\86%S\E7\A7\92\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5\00%H\E6\99\82%M\E5\88\86%S\E7\A7\92\00%p%I\E6\99\82%M\E5\88\86%S\E7\A7\92\00+:2:1990/01/01:+*:\E5\B9\B3\E6\88\90:%EC%Ey\E5\B9\B4\00+:1:1989/01/08:1989/12/31:\E5\B9\B3\E6\88\90:%EC\E5\85\83\E5\B9\B4\00+:2:1927/01/01:1989/01/07:\E6\98\AD\E5\92\8C:%EC%Ey\E5\B9\B4\00+:1:1926/12/25:1926/12/31:\E6\98\AD\E5\92\8C:%EC\E5\85\83\E5\B9\B4\00+:2:1913/01/01:1926/12/24:\E5\A4\A7\E6\AD\A3:%EC%Ey\E5\B9\B4\00+:2:1912/07/30:1912/12/31:\E5\A4\A7\E6\AD\A3:%EC\E5\85\83\E5\B9\B4\00+:6:1873/01/01:1912/07/29:\E6\98\8E\E6\B2\BB:%EC%Ey\E5\B9\B4\00+:1:0001/01/01:1872/12/31:\E8\A5\BF\E6\9A\A6:%EC%Ey\E5\B9\B4\00+:1:-0001/12/31:-*:\E7\B4\80\E5\85\83\E5\89\8D:%EC%Ey\E5\B9\B4\00\00%EY%m\E6\9C\88%d\E6\97\A5\00\E3\80\87\00\E4\B8\80\00\E4\BA\8C\00\E4\B8\89\00\E5\9B\9B\00\E4\BA\94\00\E5\85\AD\00\E4\B8\83\00\E5\85\AB\00\E4\B9\9D\00\E5\8D\81\00\E5\8D\81\E4\B8\80\00\E5\8D\81\E4\BA\8C\00\E5\8D\81\E4\B8\89\00\E5\8D\81\E5\9B\9B\00\E5\8D\81\E4\BA\94\00\E5\8D\81\E5\85\AD\00\E5\8D\81\E4\B8\83\00\E5\8D\81\E5\85\AB\00\E5\8D\81\E4\B9\9D\00\E4\BA\8C\E5\8D\81\00\E4\BA\8C\E5\8D\81\E4\B8\80\00\E4\BA\8C\E5\8D\81\E4\BA\8C\00\E4\BA\8C\E5\8D\81\E4\B8\89\00\E4\BA\8C\E5\8D\81\E5\9B\9B\00\E4\BA\8C\E5\8D\81\E4\BA\94\00\E4\BA\8C\E5\8D\81\E5\85\AD\00\E4\BA\8C\E5\8D\81\E4\B8\83\00\E4\BA\8C\E5\8D\81\E5\85\AB\00\E4\BA\8C\E5\8D\81\E4\B9\9D\00\E4\B8\89\E5\8D\81\00\E4\B8\89\E5\8D\81\E4\B8\80\00\E4\B8\89\E5\8D\81\E4\BA\8C\00\E4\B8\89\E5\8D\81\E4\B8\89\00\E4\B8\89\E5\8D\81\E5\9B\9B\00\E4\B8\89\E5\8D\81\E4\BA\94\00\E4\B8\89\E5\8D\81\E5\85\AD\00\E4\B8\89\E5\8D\81\E4\B8\83\00\E4\B8\89\E5\8D\81\E5\85\AB\00\E4\B8\89\E5\8D\81\E4\B9\9D\00\E5\9B\9B\E5\8D\81\00\E5\9B\9B\E5\8D\81\E4\B8\80\00\E5\9B\9B\E5\8D\81\E4\BA\8C\00\E5\9B\9B\E5\8D\81\E4\B8\89\00\E5\9B\9B\E5\8D\81\E5\9B\9B\00\E5\9B\9B\E5\8D\81\E4\BA\94\00\E5\9B\9B\E5\8D\81\E5\85\AD\00\E5\9B\9B\E5\8D\81\E4\B8\83\00\E5\9B\9B\E5\8D\81\E5\85\AB\00\E5\9B\9B\E5\8D\81\E4\B9\9D\00\E4\BA\94\E5\8D\81\00\E4\BA\94\E5\8D\81\E4\B8\80\00\E4\BA\94\E5\8D\81\E4\BA\8C\00\E4\BA\94\E5\8D\81\E4\B8\89\00\E4\BA\94\E5\8D\81\E5\9B\9B\00\E4\BA\94\E5\8D\81\E4\BA\94\00\E4\BA\94\E5\8D\81\E5\85\AD\00\E4\BA\94\E5\8D\81\E4\B8\83\00\E4\BA\94\E5\8D\81\E5\85\AB\00\E4\BA\94\E5\8D\81\E4\B9\9D\00\E5\85\AD\E5\8D\81\00\E5\85\AD\E5\8D\81\E4\B8\80\00\E5\85\AD\E5\8D\81\E4\BA\8C\00\E5\85\AD\E5\8D\81\E4\B8\89\00\E5\85\AD\E5\8D\81\E5\9B\9B\00\E5\85\AD\E5\8D\81\E4\BA\94\00\E5\85\AD\E5\8D\81\E5\85\AD\00\E5\85\AD\E5\8D\81\E4\B8\83\00\E5\85\AD\E5\8D\81\E5\85\AB\00\E5\85\AD\E5\8D\81\E4\B9\9D\00\E4\B8\83\E5\8D\81\00\E4\B8\83\E5\8D\81\E4\B8\80\00\E4\B8\83\E5\8D\81\E4\BA\8C\00\E4\B8\83\E5\8D\81\E4\B8\89\00\E4\B8\83\E5\8D\81\E5\9B\9B\00\E4\B8\83\E5\8D\81\E4\BA\94\00\E4\B8\83\E5\8D\81\E5\85\AD\00\E4\B8\83\E5\8D\81\E4\B8\83\00\E4\B8\83\E5\8D\81\E5\85\AB\00\E4\B8\83\E5\8D\81\E4\B9\9D\00\E5\85\AB\E5\8D\81\00\E5\85\AB\E5\8D\81\E4\B8\80\00\E5\85\AB\E5\8D\81\E4\BA\8C\00\E5\85\AB\E5\8D\81\E4\B8\89\00\E5\85\AB\E5\8D\81\E5\9B\9B\00\E5\85\AB\E5\8D\81\E4\BA\94\00\E5\85\AB\E5\8D\81\E5\85\AD\00\E5\85\AB\E5\8D\81\E4\B8\83\00\E5\85\AB\E5\8D\81\E5\85\AB\00\E5\85\AB\E5\8D\81\E4\B9\9D\00\E4\B9\9D\E5\8D\81\00\E4\B9\9D\E5\8D\81\E4\B8\80\00\E4\B9\9D\E5\8D\81\E4\BA\8C\00\E4\B9\9D\E5\8D\81\E4\B8\89\00\E4\B9\9D\E5\8D\81\E5\9B\9B\00\E4\B9\9D\E5\8D\81\E4\BA\94\00\E4\B9\9D\E5\8D\81\E5\85\AD\00\E4\B9\9D\E5\8D\81\E4\B8\83\00\E4\B9\9D\E5\8D\81\E5\85\AB\00\E4\B9\9D\E5\8D\81\E4\B9\9D\00%EY%m\E6\9C\88%d\E6\97\A5 %H\E6\99\82%M\E5\88\86%S\E7\A7\92\00\CA\C5\C9\00\CF\D2\DB\00\D3\C0\CC\00\CF\C8\E1\00\E1\D6\C8\00\D0\C0\D2\00\DB\C0\C1\00\CA\C5\C9\D2\C0\00\CF\D2\DB\C0\C1\C0\C8\C9\00\D3\C0\CC\DB\C0\C1\C0\C8\C9\00\CF\C8\E1\DB\C0\C1\C0\C8\C9\00\E1\D6\C8\DB\C0\C1\C0\C8\C9\00\D0\C0\D2\C0\D3\CA\C4\C5\C9\00\DB\C0\C1\C0\C8\C9\00\C9\C0\CD\00\C8\C4\C1\00\CC\C0\D2\00\C0\D0\D2\00\CC\C0\C9\00\C9\C5\CD\00\C9\C5\CB\00\C0\C2\C5\00\D3\C4\D8\00\CF\D8\D4\00\CD\CF\C4\00\C3\C4\CA\00\C9\C0\CD\C5\C0\D2\C9\00\C8\C4\C1\C4\D2\C5\C0\CB\C9\00\CC\C0\D2\D4\C9\00\C0\D0\D2\C9\CB\C9\00\CC\C0\C9\D3\C9\00\C9\C5\CD\C9\D3\C9\00\C9\C5\CB\C9\D3\C9\00\C0\C2\C5\C9\D3\D4\CF\00\D3\C4\D8\D4\C4\CC\C1\C4\D2\C9\00\CF\D8\D4\CF\CC\C1\C4\D2\C9\00\CD\CF\C4\CC\C1\C4\D2\C9\00\C3\C4\CA\C4\CC\C1\C4\D2\C9\00%Y \DF\CB\C9\D3 %d %B, %T %Z\00\E1\83\99\E1\83\95\E1\83\98\00\E1\83\9D\E1\83\A0\E1\83\A8\00\E1\83\A1\E1\83\90\E1\83\9B\00\E1\83\9D\E1\83\97\E1\83\AE\00\E1\83\AE\E1\83\A3\E1\83\97\00\E1\83\9E\E1\83\90\E1\83\A0\00\E1\83\A8\E1\83\90\E1\83\91\00\E1\83\99\E1\83\95\E1\83\98\E1\83\A0\E1\83\90\00\E1\83\9D\E1\83\A0\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\A1\E1\83\90\E1\83\9B\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\9D\E1\83\97\E1\83\AE\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\AE\E1\83\A3\E1\83\97\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\9E\E1\83\90\E1\83\A0\E1\83\90\E1\83\A1\E1\83\99\E1\83\94\E1\83\95\E1\83\98\00\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\98\E1\83\90\E1\83\9C\00\E1\83\97\E1\83\94\E1\83\91\00\E1\83\9B\E1\83\90\E1\83\A0\00\E1\83\90\E1\83\9E\E1\83\A0\00\E1\83\9B\E1\83\90\E1\83\98\00\E1\83\98\E1\83\95\E1\83\9C\00\E1\83\98\E1\83\95\E1\83\9A\00\E1\83\90\E1\83\92\E1\83\95\00\E1\83\A1\E1\83\94\E1\83\A5\00\E1\83\9D\E1\83\A5\E1\83\A2\00\E1\83\9C\E1\83\9D\E1\83\94\00\E1\83\93\E1\83\94\E1\83\99\00\E1\83\98\E1\83\90\E1\83\9C\E1\83\95\E1\83\90\E1\83\A0\E1\83\98\00\E1\83\97\E1\83\94\E1\83\91\E1\83\94\E1\83\A0\E1\83\95\E1\83\90\E1\83\9A\E1\83\98\00\E1\83\9B\E1\83\90\E1\83\A0\E1\83\A2\E1\83\98\00\E1\83\90\E1\83\9E\E1\83\A0\E1\83\98\E1\83\9A\E1\83\98\00\E1\83\9B\E1\83\90\E1\83\98\E1\83\A1\E1\83\98\00\E1\83\98\E1\83\95\E1\83\9C\E1\83\98\E1\83\A1\E1\83\98\00\E1\83\98\E1\83\95\E1\83\9A\E1\83\98\E1\83\A1\E1\83\98\00\E1\83\90\E1\83\92\E1\83\95\E1\83\98\E1\83\A1\E1\83\A2\E1\83\9D\00\E1\83\A1\E1\83\94\E1\83\A5\E1\83\A2\E1\83\94\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00\E1\83\9D\E1\83\A5\E1\83\A2\E1\83\9D\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00\E1\83\9C\E1\83\9D\E1\83\94\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00\E1\83\93\E1\83\94\E1\83\99\E1\83\94\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00%Y \E1\83\AC\E1\83\9A\E1\83\98\E1\83\A1 %d %B, %T %Z\00ata\00pin\00sis\00tal\00arf\00sabaat\00ataasinngorneq\00marlunngorneq\00pingasunngorneq\00sisamanngorneq\00tallimanngorneq\00arfininngorneq\00januari\00februari\00martsi\00aprili\00maji\00augustusi\00septemberi\00oktoberi\00novemberi\00decemberi\00%d %b %Y\00\EC\9D\BC\00\EC\9B\94\00\ED\99\94\00\EC\88\98\00\EB\AA\A9\00\EA\B8\88\00\ED\86\A0\00\EC\9D\BC\EC\9A\94\EC\9D\BC\00\EC\9B\94\EC\9A\94\EC\9D\BC\00\ED\99\94\EC\9A\94\EC\9D\BC\00\EC\88\98\EC\9A\94\EC\9D\BC\00\EB\AA\A9\EC\9A\94\EC\9D\BC\00\EA\B8\88\EC\9A\94\EC\9D\BC\00\ED\86\A0\EC\9A\94\EC\9D\BC\00 1\EC\9B\94\00 2\EC\9B\94\00 3\EC\9B\94\00 4\EC\9B\94\00 5\EC\9B\94\00 6\EC\9B\94\00 7\EC\9B\94\00 8\EC\9B\94\00 9\EC\9B\94\0010\EC\9B\94\0011\EC\9B\94\0012\EC\9B\94\00\EC\9D\BC\EC\9B\94\00\EC\9D\B4\EC\9B\94\00\EC\82\BC\EC\9B\94\00\EC\82\AC\EC\9B\94\00\EC\98\A4\EC\9B\94\00\EC\9C\A0\EC\9B\94\00\EC\B9\A0\EC\9B\94\00\ED\8C\94\EC\9B\94\00\EA\B5\AC\EC\9B\94\00\EC\8B\9C\EC\9B\94\00\EC\8B\AD\EC\9D\BC\EC\9B\94\00\EC\8B\AD\EC\9D\B4\EC\9B\94\00\EC\98\A4\EC\A0\84\00\EC\98\A4\ED\9B\84\00%x (%a) %r\00%Y\EB\85\84 %m\EC\9B\94 %d\EC\9D\BC\00%H\EC\8B\9C %M\EB\B6\84 %S\EC\B4\88\00%p %I\EC\8B\9C %M\EB\B6\84 %S\EC\B4\88\00Mth\00Mhr\00Yow\00De Sul\00De Lun\00De Merth\00De Merher\00De Yow\00De Gwener\00De Sadorn\00Gen\00Whe>\00Me\00Evn\00Est\00Gwn\00Hed\00Kev\00Mys Genver\00Mys Whevrel\00Mys Merth\00Mys Ebrel\00Mys Me\00Mys Evan\00Mys Gortheren\00Mye Est\00Mys Gwyngala\00Mys Hedra\00Mys Du\00Mys Kevardhu\00Sk\00Pr\00An\00Tr\00Kt\00Pn\00\D0t\00Sekmadienis\00Pirmadienis\00Antradienis\00Tre\E8iadienis\00Ketvirtadienis\00Penktadienis\00\D0e\F0tadienis\00Sau\00Vas\00Kov\00Bal\00Geg\00Bir\00Lie\00Rgp\00Rgs\00Spa\00Lap\00Grd\00sausio\00vasario\00kovo\00baland\FEio\00gegu\FE\EBs\00bir\FEelio\00liepos\00rugpj\FB\E8io\00rugs\EBjo\00spalio\00lapkri\E8io\00gruod\FEio\00%Y m. %B %d d. %T\00%Y.%m.%d\00\C5\A0t\00Tre\C4\8Diadienis\00\C5\A0e\C5\A1tadienis\00baland\C5\BEio\00gegu\C5\BE\C4\97s\00bir\C5\BEelio\00rugpj\C5\AB\C4\8Dio\00rugs\C4\97jo\00lapkri\C4\8Dio\00gruod\C5\BEio\00Sv\00P\A0\00O\A0\00T\A0\00C\A0\00Pk\00S\A0\00sv\E7tdiena\00pirmdiena\00otrdiena\00tre\F0diena\00ceturtdiena\00piektdiena\00sestdiena\00j\FBn\00j\FBl\00janv\E2ris\00febru\E2ris\00apr\EElis\00maijs\00j\FBnijs\00j\FBlijs\00augusts\00septembris\00oktobris\00novembris\00decembris\00%A, %Y. gada %e. %B, plkst. %H un %M\00%Y.%m.%d.\00P\C2\A0\00O\C2\A0\00T\C2\A0\00C\C2\A0\00S\C2\A0\00sv\C4\93tdiena\00tre\C5\A1diena\00j\C5\ABn\00j\C5\ABl\00janv\C4\81ris\00febru\C4\81ris\00apr\C4\ABlis\00j\C5\ABnijs\00j\C5\ABlijs\00Ta\00T\FB\00We\00T\E2i\00Pa\00H\E2\00R\E2tapu\00Mane\00T\FBrei\00Wenerei\00T\E2ite\00Paraire\00H\E2tarei\00Kohi\00Hui\00Pou\00Pae\00Hara\00Pipi\00H\F4ngoi\00Mahu\00Whi-nu\00Whi-ra\00Haki\00Kohi-t\E2tea\00Hui-tanguru\00Pout\FB-te-rangi\00Paenga-wh\E2wh\E2\00Haratua\00Pipiri\00H\F4ngoingoi\00Here-turi-k\F4k\E2\00Mahuru\00Whiringa-\E2-nuku\00Whiringa-\E2-rangi\00Hakihea\00Te %A, te %d o %B, %Y %T %Z\00T\C5\AB\00T\C4\81i\00H\C4\81\00R\C4\81tapu\00T\C5\ABrei\00T\C4\81ite\00H\C4\81tarei\00H\C5\8Dngoi\00Kohi-t\C4\81tea\00Pout\C5\AB-te-rangi\00Paenga-wh\C4\81wh\C4\81\00H\C5\8Dngoingoi\00Here-turi-k\C5\8Dk\C4\81\00Whiringa-\C4\81-nuku\00Whiringa-\C4\81-rangi\00\DD\D5\D4\00\DF\DE\DD\00\D2\E2\DE\00\E1\E0\D5\00\E7\D5\E2\00\DF\D5\E2\00\E1\D0\D1\00\DD\D5\D4\D5\DB\D0\00\DF\DE\DD\D5\D4\D5\DB\DD\D8\DA\00\D2\E2\DE\E0\DD\D8\DA\00\E1\E0\D5\D4\D0\00\E7\D5\E2\D2\E0\E2\DE\DA\00\DF\D5\E2\DE\DA\00\E1\D0\D1\DE\E2\D0\00\F8\D0\DD\00\E4\D5\D2\00\DC\D0\E0\00\D0\DF\E0\00\DC\D0\F8\00\F8\E3\DD\00\F8\E3\DB\00\D0\D2\D3\00\E1\D5\DF\00\DE\DA\E2\00\DD\DE\D5\00\D4\D5\DA\00\F8\D0\DD\E3\D0\E0\D8\00\E4\D5\D2\E0\E3\D0\E0\D8\00\DC\D0\E0\E2\00\D0\DF\E0\D8\DB\00\F8\E3\DD\D8\00\F8\E3\DB\D8\00\D0\D2\D3\E3\E1\E2\00\E1\D5\DF\E2\D5\DC\D2\E0\D8\00\DE\DA\E2\DE\DC\D2\E0\D8\00\DD\DE\D5\DC\D2\E0\D8\00\D4\D5\DA\D5\DC\D2\E0\D8\00%a, %d %b %Y %T %Z\00\D0\BD\D0\B5\D0\B4\00\D0\BF\D0\BE\D0\BD\00\D0\B2\D1\82\D0\BE\00\D1\81\D1\80\D0\B5\00\D1\87\D0\B5\D1\82\00\D0\BF\D0\B5\D1\82\00\D1\81\D0\B0\D0\B1\00\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D0\B0\00\D1\81\D1\80\D0\B5\D0\B4\D0\B0\00\D1\87\D0\B5\D1\82\D0\B2\D1\80\D1\82\D0\BE\D0\BA\00\D0\BF\D0\B5\D1\82\D0\BE\D0\BA\00\D1\81\D0\B0\D0\B1\D0\BE\D1\82\D0\B0\00\D1\98\D0\B0\D0\BD\00\D0\BC\D0\B0\D1\98\00\D1\98\D1\83\D0\BD\00\D1\98\D1\83\D0\BB\00\D1\98\D0\B0\D0\BD\D1\83\D0\B0\D1\80\D0\B8\00\D1\98\D1\83\D0\BD\D0\B8\00\D1\98\D1\83\D0\BB\D0\B8\00\E0\A4\B0\E0\A4\B5\E0\A4\BF\00\E0\A4\B8\E0\A5\8B\E0\A4\AE\00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B3\00\E0\A4\AC\E0\A5\81\E0\A4\A7\00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81\00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0\00\E0\A4\B6\E0\A4\A8\E0\A4\BF\00\E0\A4\B0\E0\A4\B5\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\B8\E0\A5\8B\E0\A4\AE\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B3\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\B6\E0\A4\A8\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\9C\E0\A4\BE\E0\A4\A8\E0\A5\87\E0\A4\B5\E0\A4\BE\E0\A4\B0\E0\A5\80\00\E0\A4\AB\E0\A5\87\E0\A4\AC\E0\A5\83\E0\A4\B5\E0\A4\BE\E0\A4\B0\E0\A5\80\00\E0\A4\8F\E0\A4\AA\E0\A5\8D\E0\A4\B0\E0\A4\BF\E0\A4\B2\00\E0\A4\AE\E0\A5\87\00\E0\A4\9C\E0\A5\81\E0\A4\B2\E0\A5\88\00\E0\A4\93\E0\A4\97\E0\A4\B8\E0\A5\8D\E0\A4\9F\00\E0\A4\B8\E0\A5\87\E0\A4\AA\E0\A5\8D\E0\A4\9F\E0\A5\87\E0\A4\82\E0\A4\AC\E0\A4\B0\00\E0\A4\93\E0\A4\95\E0\A5\8D\E0\A4\9F\E0\A5\8B\E0\A4\AC\E0\A4\B0\00\E0\A4\A8\E0\A5\8B\E0\A4\B5\E0\A5\8D\E0\A4\B9\E0\A5\87\E0\A4\82\E0\A4\AC\E0\A4\B0\00\E0\A4\A1\E0\A4\BF\E0\A4\B8\E0\A5\87\E0\A4\82\E0\A4\AC\E0\A4\B0\00\E0\A4\AE.\E0\A4\AA\E0\A5\82.\00\E0\A4\AE.\E0\A4\A8\E0\A4\82.\00Ahd\00Isn\00Kha\00Ahad\00Isnin\00Khamis\00Jumaat\00Mac\00Ogos\00Dis\00Februari\00Julai\00Disember\00\A1ad\00Tne\00Tli\00Erb\00\A1am\00\D5im\00Sib\00il-\A1add\00it-Tnejn\00it-Tlieta\00l-Erbg\B1a\00il-\A1amis\00il-\D5img\B1a\00is-Sibt\00Fra\00Mej\00\D5un\00Lul\00Awi\00Ott\00Di\E5\00Jannar\00Frar\00Marzu\00Mejju\00\D5unju\00Lulju\00Awissu\00Settembru\00Ottubru\00Novembru\00Di\E5embru \00%A, %d ta %b, %Y %I:%M:%S %p %Z\00%A, %d ta %b, %Y\00\C4\A6ad\00\C4\A6am\00\C4\A0im\00il-\C4\A6add\00l-Erbg\C4\A7a\00il-\C4\A6amis\00il-\C4\A0img\C4\A7a\00\C4\A0un\00Di\C4\8B\00\C4\A0unju\00Di\C4\8Bembru \00zo\00di\00wo\00do\00vr\00za\00zondag\00maandag\00dinsdag\00woensdag\00donderdag\00vrijdag\00zaterdag\00mrt\00mei\00maart\00augustus\00%d-%m-%y\00su \00m\E5 \00ty \00on \00to \00fr \00lau \00sundag \00m\E5ndag \00tysdag \00onsdag \00torsdag \00fredag \00laurdag \00%d. %b %Y kl %H.%M %Z\00%d. %b %Y\00kl %H.%M %Z\00m\C3\A5 \00m\C3\A5ndag \00%a %d-%m-%Y %T %Z\00mec\00j\F3u\00dimenge\00diluns\00dimars\00dij\F3us\00disabte\00ag\F3\00geni\E8r\00febri\E8r\00abrial\00junh\00julhet\00ag\F3st\00decembre\00j\C3\B3u\00dij\C3\B3us\00ag\C3\B3\00geni\C3\A8r\00febri\C3\A8r\00ag\C3\B3st\00nie\00pon\00wto\00\B6ro\00czw\00pi\B1\00sob\00niedziela\00poniedzia\B3ek\00wtorek\00\B6roda\00czwartek\00pi\B1tek\00sobota\00sty\00lut\00kwi\00cze\00lip\00sie\00wrz\00pa\BC\00gru\00stycze\F1\00luty\00marzec\00kwiecie\F1\00czerwiec\00lipiec\00sierpie\F1\00wrzesie\F1\00pa\BCdziernik\00grudzie\F1\00\C5\9Bro\00pi\C4\85\00poniedzia\C5\82ek\00\C5\9Broda\00pi\C4\85tek\00pa\C5\BA\00stycze\C5\84\00kwiecie\C5\84\00sierpie\C5\84\00wrzesie\C5\84\00pa\C5\BAdziernik\00grudzie\C5\84\00Seg\00Ter\00Qua\00Qui\00Sex\00segunda\00ter\E7a\00quarta\00quinta\00sexta\00janeiro\00fevereiro\00mar\E7o\00maio\00junho\00julho\00setembro\00outubro\00novembro\00dezembro\00ter\C3\A7a\00mar\C3\A7o\00Segunda\00Ter\E7a\00Quarta\00Quinta\00Sexta\00Janeiro\00Fevereiro\00Mar\E7o\00Junho\00Julho\00Dezembro\00Ter\C3\A7a\00Mar\C3\A7o\00Lu\00Mi\00Jo\00Vi\00S\EE\00Duminic\C3\00Luni\00Mar\FEi\00Miercuri\00Joi\00Vineri\00S\EEmb\C3t\C3\00ian\00iun\00iul\00Ianuarie\00Martie\00Aprilie\00Iunie\00Iulie\00Septembrie\00Octombrie\00Noiembrie\00Decembrie\00S\C3\AE\00Duminic\C4\82\00Mar\C5\A3i\00S\C3\AEmb\C4\82t\C4\82\00\F7\D3\CB\00\F0\CE\C4\00\F7\D4\D2\00\F3\D2\C4\00\FE\D4\D7\00\F0\D4\CE\00\F3\C2\D4\00\F7\CF\D3\CB\D2\C5\D3\C5\CE\D8\C5\00\F0\CF\CE\C5\C4\C5\CC\D8\CE\C9\CB\00\F7\D4\CF\D2\CE\C9\CB\00\F3\D2\C5\C4\C1\00\FE\C5\D4\D7\C5\D2\C7\00\F0\D1\D4\CE\C9\C3\C1\00\F3\D5\C2\C2\CF\D4\C1\00\F1\CE\D7\00\E6\C5\D7\00\ED\C1\D2\00\E1\D0\D2\00\ED\C1\CA\00\E9\C0\CE\00\E9\C0\CC\00\E1\D7\C7\00\F3\C5\CE\00\EF\CB\D4\00\EE\CF\D1\00\E4\C5\CB\00\F1\CE\D7\C1\D2\D1\00\E6\C5\D7\D2\C1\CC\D1\00\ED\C1\D2\D4\C1\00\E1\D0\D2\C5\CC\D1\00\ED\C1\D1\00\E9\C0\CE\D1\00\E9\C0\CC\D1\00\E1\D7\C7\D5\D3\D4\C1\00\F3\C5\CE\D4\D1\C2\D2\D1\00\EF\CB\D4\D1\C2\D2\D1\00\EE\CF\D1\C2\D2\D1\00\E4\C5\CB\C1\C2\D2\D1\00\B2\E1\DA\00\BF\DD\D4\00\B2\E2\E0\00\C1\E0\D4\00\C7\E2\D2\00\BF\E2\DD\00\C1\D1\E2\00\B2\DE\E1\DA\E0\D5\E1\D5\DD\EC\D5\00\BF\DE\DD\D5\D4\D5\DB\EC\DD\D8\DA\00\B2\E2\DE\E0\DD\D8\DA\00\C1\E0\D5\D4\D0\00\C7\D5\E2\D2\D5\E0\D3\00\BF\EF\E2\DD\D8\E6\D0\00\C1\E3\D1\D1\DE\E2\D0\00\CF\DD\D2\00\C4\D5\D2\00\BC\D0\E0\00\B0\DF\E0\00\BC\D0\D9\00\B8\EE\DD\00\B8\EE\DB\00\B0\D2\D3\00\C1\D5\DD\00\BE\DA\E2\00\BD\DE\EF\00\B4\D5\DA\00\CF\DD\D2\D0\E0\EF\00\C4\D5\D2\E0\D0\DB\EF\00\BC\D0\E0\E2\D0\00\B0\DF\E0\D5\DB\EF\00\BC\D0\EF\00\B8\EE\DD\EF\00\B8\EE\DB\EF\00\B0\D2\D3\E3\E1\E2\D0\00\C1\D5\DD\E2\EF\D1\E0\EF\00\BE\DA\E2\EF\D1\E0\EF\00\BD\DE\EF\D1\E0\EF\00\B4\D5\DA\D0\D1\E0\EF\00\D0\92\D1\81\D0\BA\00\D0\9F\D0\BD\D0\B4\00\D0\92\D1\82\D1\80\00\D0\A7\D1\82\D0\B2\00\D0\9F\D1\82\D0\BD\00\D0\A1\D0\B1\D1\82\00\D0\92\D0\BE\D1\81\D0\BA\D1\80\D0\B5\D1\81\D0\B5\D0\BD\D1\8C\D0\B5\00\D0\9F\D0\BE\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D1\8C\D0\BD\D0\B8\D0\BA\00\D0\92\D1\82\D0\BE\D1\80\D0\BD\D0\B8\D0\BA\00\D0\A1\D1\80\D0\B5\D0\B4\D0\B0\00\D0\A7\D0\B5\D1\82\D0\B2\D0\B5\D1\80\D0\B3\00\D0\9F\D1\8F\D1\82\D0\BD\D0\B8\D1\86\D0\B0\00\D0\A1\D1\83\D0\B1\D0\B1\D0\BE\D1\82\D0\B0\00\D0\AF\D0\BD\D0\B2\00\D0\A4\D0\B5\D0\B2\00\D0\9C\D0\B0\D1\80\00\D0\90\D0\BF\D1\80\00\D0\9C\D0\B0\D0\B9\00\D0\98\D1\8E\D0\BD\00\D0\98\D1\8E\D0\BB\00\D0\90\D0\B2\D0\B3\00\D0\A1\D0\B5\D0\BD\00\D0\9E\D0\BA\D1\82\00\D0\9D\D0\BE\D1\8F\00\D0\94\D0\B5\D0\BA\00\D0\AF\D0\BD\D0\B2\D0\B0\D1\80\D1\8F\00\D0\A4\D0\B5\D0\B2\D1\80\D0\B0\D0\BB\D1\8F\00\D0\9C\D0\B0\D1\80\D1\82\D0\B0\00\D0\90\D0\BF\D1\80\D0\B5\D0\BB\D1\8F\00\D0\9C\D0\B0\D1\8F\00\D0\98\D1\8E\D0\BD\D1\8F\00\D0\98\D1\8E\D0\BB\D1\8F\00\D0\90\D0\B2\D0\B3\D1\83\D1\81\D1\82\D0\B0\00\D0\A1\D0\B5\D0\BD\D1\82\D1\8F\D0\B1\D1\80\D1\8F\00\D0\9E\D0\BA\D1\82\D1\8F\D0\B1\D1\80\D1\8F\00\D0\9D\D0\BE\D1\8F\D0\B1\D1\80\D1\8F\00\D0\94\D0\B5\D0\BA\D0\B0\D0\B1\D1\80\D1\8F\00\F7\D4\CF\00\F3\D5\C2\00\F1\CE\D7\C1\D2\D8\00\E6\C5\D7\D2\C1\CC\D8\00\ED\C1\D2\D4\00\E1\D0\D2\C5\CC\D8\00\E9\C0\CE\D8\00\E9\C0\CC\D8\00\E1\D7\C7\D5\D3\D4\00\F3\C5\CE\D4\D1\C2\D2\D8\00\EF\CB\D4\D1\C2\D2\D8\00\EE\CF\D1\C2\D2\D8\00\E4\C5\CB\C1\C2\D2\D8\00\D0\92\D1\82\D0\BE\00\D0\AF\D0\BD\D0\B2\D0\B0\D1\80\D1\8C\00\D0\A4\D0\B5\D0\B2\D1\80\D0\B0\D0\BB\D1\8C\00\D0\9C\D0\B0\D1\80\D1\82\00\D0\90\D0\BF\D1\80\D0\B5\D0\BB\D1\8C\00\D0\98\D1\8E\D0\BD\D1\8C\00\D0\98\D1\8E\D0\BB\D1\8C\00\D0\90\D0\B2\D0\B3\D1\83\D1\81\D1\82\00\D0\A1\D0\B5\D0\BD\D1\82\D1\8F\D0\B1\D1\80\D1\8C\00\D0\9E\D0\BA\D1\82\D1\8F\D0\B1\D1\80\D1\8C\00\D0\9D\D0\BE\D1\8F\D0\B1\D1\80\D1\8C\00\D0\94\D0\B5\D0\BA\D0\B0\D0\B1\D1\80\D1\8C\00sotn\00vuos\00ma\C5\8B\00gask\00duor\00bear\00l\C3\A1v\00sotnabeaivi\00vuoss\C3\A1rga\00ma\C5\8B\C5\8Bebarga\00gaskavahkku\00duorasdat\00bearjadat\00l\C3\A1vvardat\00o\C4\91\C4\91j\00guov\00njuk\00cuo\C5\8B\00mies\00geas\00suoi\00borg\00\C4\8Dak\C4\8D\00golg\00sk\C3\A1b\00juov\00o\C4\91\C4\91ajagem\C3\A1nu\00guovvam\C3\A1nu\00njuk\C4\8Dam\C3\A1nu\00cuo\C5\8Bom\C3\A1nu\00miessem\C3\A1nu\00geassem\C3\A1nu\00suoidnem\C3\A1nu\00borgem\C3\A1nu\00\C4\8Dak\C4\8Dam\C3\A1nu\00golggotm\C3\A1nu\00sk\C3\A1bmam\C3\A1nu\00juovlam\C3\A1nu\00%a, %b %e. b. %Y %T %Z\00Ut\00\A9t\00Pi\00Nede\B5a\00Pondelok\00Utorok\00Streda\00\A9tvrtok\00Piatok\00marec\00Nede\C4\BEa\00\C5\A0tvrtok\00ned\00sre\00\E8et\00pet\00nedelja\00ponedeljek\00torek\00sreda\00\E8etrtek\00petek\00avg\00junij\00julij\00avgust\00\C4\8Det\00\C4\8Detrtek\00Die \00H\EBn \00Mar \00M\EBr \00Enj \00Pre \00Sht \00e diel \00e h\EBn\EB \00e mart\EB \00e m\EBrkur\EB \00e enjte \00e premte \00e shtun\EB \00Shk\00Pri\00Qer\00Kor\00Gsh\00Sht\00Tet\00N\EBn\00Dhj\00janar\00shkurt\00prill\00qershor\00korrik\00gusht\00shtator\00tetor\00n\EBntor\00dhjetor\00PD\00MD\00%Y-%b-%d %I.%M.%S.%p %Z\00%Y-%b-%d\00%I.%M.%S. %Z\00%I.%M.%S.%p %Z\00H\C3\ABn \00M\C3\ABr \00e h\C3\ABn\C3\AB \00e mart\C3\AB \00e m\C3\ABrkur\C3\AB \00e shtun\C3\AB \00N\C3\ABn\00n\C3\ABntor\00uto\00sub\00ponedeljak\00utorak\00\E8etvrtak\00petak\00subota\00septembar\00oktobar\00novembar\00decembar\00%d-%m-%Y.\00\C4\8Detvrtak\00\E3\E2\DE\00\E1\E3\D1\00\DD\D5\D4\D5\F9a\00\DF\DE\DD\D5\D4\D5\F9\D0\DA\00\E3\E2\DE\E0\D0\DA\00\E7\D5\E2\D2\E0\E2\D0\DA\00\DF\D5\E2\D0\DA\00\E1\E3\D1\DE\E2\D0\00\E4\D5\D1\00\DD\DE\D2\00\D4\D5\E6\00\F8\D0\DD\E3\D0\E0\00\E4\D5\D1\E0\E3\D0\E0\00\E1\D5\DF\E2\D5\DC\D1\D0\E0\00\DE\DA\E2\DE\D1\D0\E0\00\DD\DE\D2\D5\DC\D1\D0\E0\00\D4\D5\E6\D5\DC\D1\D0\E0\00+%a %d %b %Y %T %Z\00\D1\83\D1\82\D0\BE\00\D1\81\D1\83\D0\B1\00\D0\BD\D0\B5\D0\B4\D0\B5\D1\99a\00\D0\BF\D0\BE\D0\BD\D0\B5\D0\B4\D0\B5\D1\99\D0\B0\D0\BA\00\D1\83\D1\82\D0\BE\D1\80\D0\B0\D0\BA\00\D1\87\D0\B5\D1\82\D0\B2\D1\80\D1\82\D0\B0\D0\BA\00\D0\BF\D0\B5\D1\82\D0\B0\D0\BA\00\D1\81\D1\83\D0\B1\D0\BE\D1\82\D0\B0\00\D1\84\D0\B5\D0\B1\00\D0\BD\D0\BE\D0\B2\00\D0\B4\D0\B5\D1\86\00\D1\98\D0\B0\D0\BD\D1\83\D0\B0\D1\80\00\D1\84\D0\B5\D0\B1\D1\80\D1\83\D0\B0\D1\80\00\D1\81\D0\B5\D0\BF\D1\82\D0\B5\D0\BC\D0\B1\D0\B0\D1\80\00\D0\BE\D0\BA\D1\82\D0\BE\D0\B1\D0\B0\D1\80\00\D0\BD\D0\BE\D0\B2\D0\B5\D0\BC\D0\B1\D0\B0\D1\80\00\D0\B4\D0\B5\D1\86\D0\B5\D0\BC\D0\B1\D0\B0\D1\80\00s\F6n\00m\E5n\00tis\00l\F6r\00s\F6ndag\00m\E5ndag\00tisdag\00l\F6rdag\00augusti\00%a %e %b %Y %H.%M.%S\00s\C3\B6n\00m\C3\A5n\00l\C3\B6r\00s\C3\B6ndag\00m\C3\A5ndag\00l\C3\B6rdag\00\E0\AE\9E\00\E0\AE\A4\00\E0\AE\9A\00\E0\AE\AA\00\E0\AE\B5\00\E0\AE\9E\E0\AE\BE\E0\AE\AF\E0\AE\BF\E0\AE\B1\E0\AF\81\00\E0\AE\A4\E0\AE\BF\E0\AE\99\E0\AF\8D\E0\AE\95\E0\AE\B3\E0\AF\8D\00\E0\AE\9A\E0\AF\86\E0\AE\B5\E0\AF\8D\E0\AE\B5\E0\AE\BE\E0\AE\AF\E0\AF\8D\00\E0\AE\AA\E0\AF\81\E0\AE\A4\E0\AE\A9\E0\AF\8D\00\E0\AE\B5\E0\AE\BF\E0\AE\AF\E0\AE\BE\E0\AE\B4\E0\AE\A9\E0\AF\8D\00\E0\AE\B5\E0\AF\86\E0\AE\B3\E0\AF\8D\E0\AE\B3\E0\AE\BF\00\E0\AE\9A\E0\AE\A9\E0\AE\BF\00\E0\AE\9C\E0\AE\A9\E0\AE\B5\E0\AE\B0\E0\AE\BF\00\E0\AE\AA\E0\AF\86\E0\AE\AA\E0\AF\8D\E0\AE\B0\E0\AE\B5\E0\AE\B0\E0\AE\BF\00\E0\AE\AE\E0\AE\BE\E0\AE\B0\E0\AF\8D\E0\AE\9A\E0\AF\8D\00\E0\AE\8F\E0\AE\AA\E0\AF\8D\E0\AE\B0\E0\AE\B2\E0\AF\8D\00\E0\AE\AE\E0\AF\87\00\E0\AE\9C\E0\AF\82\E0\AE\A9\E0\AF\8D\00\E0\AE\9C\E0\AF\82\E0\AE\B2\E0\AF\88\00\E0\AE\86\E0\AE\95\E0\AE\B8\E0\AF\8D\E0\AE\9F\E0\AF\8D\00\E0\AE\9A\E0\AF\86\E0\AE\AA\E0\AF\8D\E0\AE\9F\E0\AE\AE\E0\AF\8D\E0\AE\AA\E0\AE\B0\E0\AF\8D\00\E0\AE\85\E0\AE\95\E0\AF\8D\E0\AE\9F\E0\AF\8B\E0\AE\AA\E0\AE\B0\E0\AF\8D\00\E0\AE\A8\E0\AE\B5\E0\AE\AE\E0\AF\8D\E0\AE\AA\E0\AE\B0\E0\AF\8D\00\E0\AE\9F\E0\AE\BF\E0\AE\9A\E0\AE\AE\E0\AF\8D\E0\AE\AA\E0\AE\B0\E0\AF\8Dr\00\E0\AE\95\E0\AE\BE\E0\AE\B2\E0\AF\88\00\E0\AE\AE\E0\AE\BE\E0\AE\B2\E0\AF\88\00\E0\B0\86\E0\B0\A6\E0\B0\BF\00\E0\B0\B8\E0\B1\8B\E0\B0\AE\00\E0\B0\AE\E0\B0\82\E0\B0\97\E0\B0\B3\00\E0\B0\AC\E0\B1\81\E0\B0\A7\00\E0\B0\97\E0\B1\81\E0\B0\B0\E0\B1\81\00\E0\B0\B6\E0\B1\81\E0\B0\95\E0\B1\8D\E0\B0\B0\00\E0\B0\B6\E0\B0\A8\E0\B0\BF\00\E0\B0\86\E0\B0\A6\E0\B0\BF\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\B8\E0\B1\8B\E0\B0\AE\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\AE\E0\B0\82\E0\B0\97\E0\B0\B3\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\AC\E0\B1\81\E0\B0\A7\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\97\E0\B1\81\E0\B0\B0\E0\B1\81\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\B6\E0\B1\81\E0\B0\95\E0\B1\8D\E0\B0\B0\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\B6\E0\B0\A8\E0\B0\BF\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\9C\E0\B0\A8\E0\B0\B5\E0\B0\B0\E0\B0\BF\00\E0\B0\AB\E0\B0\BF\E0\B0\AC\E0\B1\8D\E0\B0\B0\E0\B0\B5\E0\B0\B0\E0\B0\BF\00\E0\B0\AE\E0\B0\BE\E0\B0\B0\E0\B1\8D\E0\B0\9A\E0\B0\BF\00\E0\B0\8F\E0\B0\AA\E0\B1\8D\E0\B0\B0\E0\B0\BF\E0\B0\B2\E0\B1\8D\00\E0\B0\AE\E0\B1\87\00\E0\B0\9C\E0\B1\82\E0\B0\A8\E0\B1\8D\00\E0\B0\9C\E0\B1\82\E0\B0\B2\E0\B1\88\00\E0\B0\86\E0\B0\97\E0\B0\B8\E0\B1\8D\E0\B0\9F\E0\B1\81\00\E0\B0\B8\E0\B1\86\E0\B0\AA\E0\B1\8D\E0\B0\9F\E0\B1\86\E0\B0\82\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\85\E0\B0\95\E0\B1\8D\E0\B0\9F\E0\B1\8B\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\A8\E0\B0\B5\E0\B0\82\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\A1\E0\B0\BF\E0\B0\B8\E0\B1\86\E0\B0\82\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\AA\E0\B1\82\E0\B0\B0\E0\B1\8D\E0\B0\B5\E0\B0\BE\E0\B0\B9\E0\B1\8D\E0\B0\A8\00\E0\B0\85\E0\B0\AA\E0\B0\B0\E0\B0\BE\E0\B0\B9\E0\B1\8D\E0\B0\A8\00\CD\D2.\00\A8.\00\CD.\00\BE.\00\BE\C4.\00\C8.\00\CA.\00\CD\D2\B7\D4\B5\C2\EC\00\A8\D1\B9\B7\C3\EC\00\CD\D1\A7\A4\D2\C3\00\BE\D8\B8\00\BE\C4\CB\D1\CA\BA\B4\D5\00\C8\D8\A1\C3\EC\00\E0\CA\D2\C3\EC\00\C1.\A4.\00\A1.\BE.\00\C1\D5.\A4.\00\E0\C1.\C2.\00\BE.\A4.\00\C1\D4.\C2.\00\A1.\A4.\00\CA.\A4.\00\A1.\C2.\00\B5.\A4.\00\BE.\C2.\00\B8.\A4.\00\C1\A1\C3\D2\A4\C1\00\A1\D8\C1\C0\D2\BE\D1\B9\B8\EC\00\C1\D5\B9\D2\A4\C1\00\E0\C1\C9\D2\C2\B9\00\BE\C4\C9\C0\D2\A4\C1\00\C1\D4\B6\D8\B9\D2\C2\B9\00\A1\C3\A1\AE\D2\A4\C1\00\CA\D4\A7\CB\D2\A4\C1\00\A1\D1\B9\C2\D2\C2\B9\00\B5\D8\C5\D2\A4\C1\00\BE\C4\C8\A8\D4\A1\D2\C2\B9\00\B8\D1\B9\C7\D2\A4\C1\00%a %e %b %Ey, %H:%M:%S\00%d/%m/%Ey\00+:1:-543/01/01:+*:\BE.\C8.:%EC %Ey\00\00%e %b %Ey\00\C7\D1\B9%A\B7\D5\E8 %e %B %EC %Ey, %H.%M.%S \B9.\00%H.%M.%S \B9.\00\E0\B8\AD\E0\B8\B2.\00\E0\B8\88.\00\E0\B8\AD.\00\E0\B8\9E.\00\E0\B8\9E\E0\B8\A4.\00\E0\B8\A8.\00\E0\B8\AA.\00\E0\B8\AD\E0\B8\B2\E0\B8\97\E0\B8\B4\E0\B8\95\E0\B8\A2\E0\B9\8C\00\E0\B8\88\E0\B8\B1\E0\B8\99\E0\B8\97\E0\B8\A3\E0\B9\8C\00\E0\B8\AD\E0\B8\B1\E0\B8\87\E0\B8\84\E0\B8\B2\E0\B8\A3\00\E0\B8\9E\E0\B8\B8\E0\B8\98\00\E0\B8\9E\E0\B8\A4\E0\B8\AB\E0\B8\B1\E0\B8\AA\E0\B8\9A\E0\B8\94\E0\B8\B5\00\E0\B8\A8\E0\B8\B8\E0\B8\81\E0\B8\A3\E0\B9\8C\00\E0\B9\80\E0\B8\AA\E0\B8\B2\E0\B8\A3\E0\B9\8C\00\E0\B8\A1.\E0\B8\84.\00\E0\B8\81.\E0\B8\9E.\00\E0\B8\A1\E0\B8\B5.\E0\B8\84.\00\E0\B9\80\E0\B8\A1.\E0\B8\A2.\00\E0\B8\9E.\E0\B8\84.\00\E0\B8\A1\E0\B8\B4.\E0\B8\A2.\00\E0\B8\81.\E0\B8\84.\00\E0\B8\AA.\E0\B8\84.\00\E0\B8\81.\E0\B8\A2.\00\E0\B8\95.\E0\B8\84.\00\E0\B8\9E.\E0\B8\A2.\00\E0\B8\98.\E0\B8\84.\00\E0\B8\A1\E0\B8\81\E0\B8\A3\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\81\E0\B8\B8\E0\B8\A1\E0\B8\A0\E0\B8\B2\E0\B8\9E\E0\B8\B1\E0\B8\99\E0\B8\98\E0\B9\8C\00\E0\B8\A1\E0\B8\B5\E0\B8\99\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B9\80\E0\B8\A1\E0\B8\A9\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\9E\E0\B8\A4\E0\B8\A9\E0\B8\A0\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\A1\E0\B8\B4\E0\B8\96\E0\B8\B8\E0\B8\99\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\81\E0\B8\A3\E0\B8\81\E0\B8\8E\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\AA\E0\B8\B4\E0\B8\87\E0\B8\AB\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\81\E0\B8\B1\E0\B8\99\E0\B8\A2\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\95\E0\B8\B8\E0\B8\A5\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\9E\E0\B8\A4\E0\B8\A8\E0\B8\88\E0\B8\B4\E0\B8\81\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\98\E0\B8\B1\E0\B8\99\E0\B8\A7\E0\B8\B2\E0\B8\84\E0\B8\A1\00+:1:-543/01/01:+*:\E0\B8\9E.\E0\B8\A8.:%EC %Ey\00\00\E0\B8\A7\E0\B8\B1\E0\B8\99%A\E0\B8\97\E0\B8\B5\E0\B9\88 %e %B %EC %Ey, %H.%M.%S \E0\B8\99.\00%H.%M.%S \E0\B8\99.\00\E1\88\B0\E1\8A\95\E1\89\A0\E1\89\B5\00\E1\88\B0\E1\8A\91\E1\8B\AD\00\E1\88\B0\E1\88\89\E1\88\B5\00\E1\88\93\E1\88\99\E1\88\B5\00\E1\8B\93\E1\88\AD\E1\89\A2\00\E1\89\80\E1\8B\B3\E1\88\9D\00\E1\8C\A5\E1\88\AA\00\E1\88\88\E1\8A\AB\E1\89\B2\00\E1\88\98\E1\8C\8B\E1\89\A2\00\E1\88\9A\E1\8B\AB\E1\8B\9D\00\E1\8C\8D\E1\8A\95\E1\89\A6\00\E1\88\B0\E1\8A\90\00\E1\88\93\E1\88\9D\E1\88\88\00\E1\8A\90\E1\88\93\E1\88\B0\00\E1\88\98\E1\88\B5\E1\8A\A8\00\E1\8C\A5\E1\89\85\E1\88\9D\00\E1\88\95\E1\8B\B3\E1\88\AD\00\E1\89\B3\E1\88\95\E1\88\B3\00\E1\88\88\E1\8A\AB\E1\89\B2\E1\89\B5\00\E1\88\98\E1\8C\8B\E1\89\A2\E1\89\B5\00\E1\88\9A\E1\8B\AB\E1\8B\9D\E1\8B\AB\00\E1\8C\8D\E1\8A\95\E1\89\A6\E1\89\B5\00\E1\88\98\E1\88\B5\E1\8A\A8\E1\88\A8\E1\88\9D\00\E1\8C\A5\E1\89\85\E1\88\9D\E1\89\B2\00\E1\89\B3\E1\88\95\E1\88\B3\E1\88\B5\00\E1\8A\95\E1\8C\89\E1\88\86 \E1\88\B0\E1\8B\93\E1\89\B0\00\E1\8B\B5\E1\88\95\E1\88\AD \E1\88\B0\E1\8B\93\E1\89\B5\00%A\E1\8D\A3 %b %e \E1\88\98\E1\8B\93\E1\88\8D\E1\89\B2 %l:%M:%S %Z %Y\00Lin\00Miy\00Huw\00Biy\00Linggo\00Lunes\00Miyerkoles\00Huwebes\00Biyernes\00Sabado\00Ene\00Hun\00Hul\00Nob\00Enero\00Pebrero\00Marso\00Mayo\00Hunyo\00Hulyo\00Septiyembre\00Oktubre\00Nobiyembre\00Disyembre\00Paz\00Pzt\00Sal\00\C7r\FE\00Pr\FE\00Cum\00Cts\00Pazar\00Pazartesi\00Sal\FD\00\C7ar\FEamba\00Per\FEembe\00Cuma\00Cumartesi\00Oca\00\DEub\00Nis\00Haz\00Tem\00A\F0u\00Eyl\00Eki\00Kas\00Ara\00Ocak\00\DEubat\00Nisan\00May\FDs\00Haziran\00Temmuz\00A\F0ustos\00Eyl\FCl\00Ekim\00Kas\FDm\00Aral\FDk\00\D6\D6\00\D6S\00\C3\87r\C5\9F\00Pr\C5\9F\00Sal\C4\B1\00\C3\87ar\C5\9Famba\00Per\C5\9Fembe\00\C5\9Eub\00A\C4\9Fu\00\C5\9Eubat\00May\C4\B1s\00A\C4\9Fustos\00Eyl\C3\BCl\00Kas\C4\B1m\00Aral\C4\B1k\00\C3\96\C3\96\00\C3\96S\00\D0\AF\D0\BA\D1\88\00\D0\94\D1\8B\D1\88\00\D0\A1\D0\B8\D1\88\00\D0\A7\D3\99\D1\80\D1\88\00\D0\9F\D3\99\D0\BD\D2\97\00\D2\96\D0\BE\D0\BC\00\D0\A8\D0\B8\D0\BC\00\D0\AF\D0\BA\D1\88\D3\99\D0\BC\D0\B1\D0\B5\00\D0\94\D1\8B\D1\88\D3\99\D0\BC\D0\B1\D0\B5\00\D0\A1\D0\B8\D1\88\D3\99\D0\BC\D0\B1\D0\B5\00\D0\A7\D3\99\D1\80\D1\88\D3\99\D3\99\D0\BC\D0\B1\D0\B5\00\D0\9F\D3\99\D0\BD\D2\97\D0\B5\D1\88\D0\BC\D0\B1\D0\B5\00\D2\96\D0\BE\D0\BC\D0\B3\D0\B0\00\D0\A8\D0\B8\D0\BC\D0\B1\D3\99\00\EE\C4\CC\00\EE\C5\C4\A6\CC\D1\00\F0\CF\CE\C5\C4\A6\CC\CF\CB\00\F7\A6\D7\D4\CF\D2\CF\CB\00\F3\C5\D2\C5\C4\C1\00\FE\C5\D4\D7\C5\D2\00\F0'\D1\D4\CE\C9\C3\D1\00\F3\D5\C2\CF\D4\C1\00\F3\A6\DE\00\EC\C0\D4\00\E2\C5\D2\00\EB\D7\A6\00\F4\D2\C1\00\FE\C5\D2\00\EC\C9\D0\00\F3\C5\D2\00\F7\C5\D2\00\F6\CF\D7\00\EC\C9\D3\00\E7\D2\D5\00\F3\A6\DE\C5\CE\D8\00\EC\C0\D4\C9\CA\00\E2\C5\D2\C5\DA\C5\CE\D8\00\EB\D7\A6\D4\C5\CE\D8\00\F4\D2\C1\D7\C5\CE\D8\00\FE\C5\D2\D7\C5\CE\D8\00\EC\C9\D0\C5\CE\D8\00\F3\C5\D2\D0\C5\CE\D8\00\F7\C5\D2\C5\D3\C5\CE\D8\00\F6\CF\D7\D4\C5\CE\D8\00\EC\C9\D3\D4\CF\D0\C1\C4\00\E7\D2\D5\C4\C5\CE\D8\00\D0\9D\D0\B4\D0\BB\00\D0\9D\D0\B5\D0\B4\D1\96\D0\BB\D1\8F\00\D0\9F\D0\BE\D0\BD\D0\B5\D0\B4\D1\96\D0\BB\D0\BE\D0\BA\00\D0\92\D1\96\D0\B2\D1\82\D0\BE\D1\80\D0\BE\D0\BA\00\D0\A1\D0\B5\D1\80\D0\B5\D0\B4\D0\B0\00\D0\A7\D0\B5\D1\82\D0\B2\D0\B5\D1\80\00\D0\9F'\D1\8F\D1\82\D0\BD\D0\B8\D1\86\D1\8F\00\D0\A1\D1\96\D1\87\00\D0\91\D0\B5\D1\80\00\D0\9A\D0\B2\D1\96\00\D0\A7\D0\B5\D1\80\00\D0\9B\D0\B8\D0\BF\00\D0\A1\D0\B5\D1\80\00\D0\92\D0\B5\D1\80\00\D0\96\D0\BE\D0\B2\00\D0\9B\D0\B8\D1\81\00\D0\93\D1\80\D1\83\00\D0\A1\D1\96\D1\87\D0\B5\D0\BD\D1\8C\00\D0\9B\D1\8E\D1\82\D0\B8\D0\B9\00\D0\91\D0\B5\D1\80\D0\B5\D0\B7\D0\B5\D0\BD\D1\8C\00\D0\9A\D0\B2\D1\96\D1\82\D0\B5\D0\BD\D1\8C\00\D0\A7\D0\B5\D1\80\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\9B\D0\B8\D0\BF\D0\B5\D0\BD\D1\8C\00\D0\A1\D0\B5\D1\80\D0\BF\D0\B5\D0\BD\D1\8C\00\D0\92\D0\B5\D1\80\D0\B5\D1\81\D0\B5\D0\BD\D1\8C\00\D0\96\D0\BE\D0\B2\D1\82\D0\B5\D0\BD\D1\8C\00\D0\9B\D0\B8\D1\81\D1\82\D0\BE\D0\BF\D0\B0\D0\B4\00\D0\93\D1\80\D1\83\D0\B4\D0\B5\D0\BD\D1\8C\00\D8\A7\D8\AA\D9\88\D8\A7\D8\B1\00\D9\BE\D9\8A\D8\B1\00\D9\85\D9\86\DA\AF\D9\84\00\D8\A8\D8\AF\DA\BE\00\D8\AC\D9\85\D8\B9\D8\B1\D8\A7\D8\AA\00\D9\87\D9\81\D8\AA\D9\87\00\D8\AC\D9\86\D9\88\D8\B1\D9\8A\00\D9\81\D8\B1\D9\88\D8\B1\D9\8A\00\D9\85\D8\A7\D8\B1\DA\86\00\D8\A7\D9\BE\D8\B1\D9\8A\D9\84\00\D9\85\D9\93\DB\8C\00\D8\AC\D9\88\D9\86\00\D8\AC\D9\88\D9\84\D8\A7\D9\8A\00\D8\A7\DA\AF\D8\B3\D8\AA\00\D8\B3\D8\AA\D9\85\D8\A8\D8\B1\00\D8\A7\D9\83\D8\AA\D9\88\D8\A8\D8\B1\00\D9\86\D9\88\D9\85\D8\A8\D8\B1\00\D8\AF\D8\B3\D9\85\D8\A8\D8\B1\00\D8\B4\00\D9\88 %H:%M:%S %Z \D8\AA %d %B %Y\00%P %I:%M:%S\00Yak\00Se\00Cho\00Pay\00Ju\00Sha\00yakshanba\00dushanba\00seshanba\00chorshanba\00payshanba\00juma\00shanba\00Yav\00Iyn\00Iyl\00Avg\00senyabr\00%T, %d %B, %Y yil, %A\00CN \00Th 2 \00Th 3 \00Th 4 \00Th 5 \00Th 6 \00Th 7 \00Chu\CC\89 nh\C3\A2\CC\A3t \00Th\C6\B0\CC\81 hai \00Th\C6\B0\CC\81 ba \00Th\C6\B0\CC\81 t\C6\B0 \00Th\C6\B0\CC\81 n\C4\83m \00Th\C6\B0\CC\81 s\C3\A1u \00Th\C6\B0\CC\81 ba\CC\89y \00Thg 1\00Thg 2\00Thg 3\00Thg 4\00Thg 5\00Thg 6\00Thg 7\00Thg 8\00Thg 9\00Thg 10\00Thg 11\00Thg 12\00Th\C3\A1ng m\C3\B4\CC\A3t\00Th\C3\A1ng hai\00Th\C3\A1ng ba\00Th\C3\A1ng t\C6\B0\00Th\C3\A1ng n\C4\83m\00Th\C3\A1ng s\C3\A1u\00Th\C3\A1ng ba\CC\89y\00Th\C3\A1ng t\C3\A1m\00Th\C3\A1ng ch\C3\ADn\00Th\C3\A1ng m\C6\B0\C6\A1\CC\80i\00Th\C3\A1ng m\C6\B0\C6\A1\CC\80i m\C3\B4\CC\A3t\00Th\C3\A1ng m\C6\B0\C6\A1\CC\80i hai\00%H:%M:%S %Z %A %d %b %Y\00%H:%M:%S %Z\00d\EEm\00lon\00m\E5r\00dju\00vin\00sem\00d\EEmegne\00londi\00m\E5rdi\00merkidi\00djudi\00vinrdi\00semdi\00dja\00fev\00m\E5s\00djn\00djl\00awo\00n\F4v\00djanv\EE\00fevr\EE\00m\E5ss\00avri\00djun\00djulete\00awousse\00setimbe\00oct\F4be\00n\F4vimbe\00decimbe\00Li %A %d di %B %Y %T %Z\00d\C3\AEm\00m\C3\A5r\00d\C3\AEmegne\00m\C3\A5rdi\00m\C3\A5s\00n\C3\B4v\00djanv\C3\AE\00fevr\C3\AE\00m\C3\A5ss\00oct\C3\B4be\00n\C3\B4vimbe\00\E6\E5\F0'\00\EE\E0\C8\F0'\00\E3\E9\F0'\00\EE\E9\E8'\00\E3\E0\C8\F0'\00\F4\CF\F8\D6\C7'\00\E6\E5\F0\E8\E9\F7\00\EE\E0\C8\F0\E8\E9\F7\00\E3\E9\F0\F1\E8\E9\F7\00\EE\E9\E8\D4\E0\C8\EA\00\E3\E0\C8\F0\F2\F8\F9\E8\E9\F7\00\F4\CF\F8\D6\C7\E8\E9\F7\00\E9\E0\C7\F0'\00\F4\CF\F2\E1'\00\EE\E0\C7\F8'\00\E0\C7\F4\CC\F8'\00\EE\D6\C7\00\E9\E5\F0'\00\E9\E5\EC'\00\E0\D5\E2'\00\F1\F2\F4\CC'\00\E0\C8\F7\E8'\00\F0\E0\C8\D4'\00\E3\F2\F6'\00\E9\E0\C7\F0\E5\E0\C7\F8\00\F4\CF\F2\E1\F8\E5\E0\C7\F8\00\EE\E0\C7\F8\F5\00\E0\C7\F4\CC\F8\E9\EC\00\E0\D5\E2\F1\E8\00\F1\F2\F4\CC\E8\F2\EE\E1\F2\F8\00\E0\C8\F7\E8\E0\C8\E1\F2\F8\00\F0A\C8\D4\F2\EE\E1\F2\F8\00\D7\96\D7\95\D7\A0'\00\D7\9E\D7\90\D6\B8\D7\A0'\00\D7\93\D7\99\D7\A0'\00\D7\9E\D7\99\D7\98'\00\D7\93\D7\90\D6\B8\D7\A0'\00\D7\A4\D6\BF\D7\A8\D7\B2\D6\B7'\00\D7\96\D7\95\D7\A0\D7\98\D7\99\D7\A7\00\D7\9E\D7\90\D6\B8\D7\A0\D7\98\D7\99\D7\A7\00\D7\93\D7\99\D7\A0\D7\A1\D7\98\D7\99\D7\A7\00\D7\9E\D7\99\D7\98\D7\B0\D7\90\D6\B8\D7\9A\00\D7\93\D7\90\D6\B8\D7\A0\D7\A2\D7\A8\D7\A9\D7\98\D7\99\D7\A7\00\D7\A4\D6\BF\D7\A8\D7\B2\D6\B7\D7\98\D7\99\D7\A7\00\D7\99\D7\90\D6\B7\D7\A0'\00\D7\A4\D6\BF\D7\A2\D7\91'\00\D7\9E\D7\90\D6\B7\D7\A8'\00\D7\90\D6\B7\D7\A4\D6\BC\D7\A8'\00\D7\9E\D7\B2\D6\B7\00\D7\99\D7\95\D7\A0'\00\D7\99\D7\95\D7\9C'\00\D7\90\D7\B1\D7\92'\00\D7\A1\D7\A2\D7\A4\D6\BC'\00\D7\90\D6\B8\D7\A7\D7\98'\00\D7\A0\D7\90\D6\B8\D7\B0'\00\D7\93\D7\A2\D7\A6'\00\D7\99\D7\90\D6\B7\D7\A0\D7\95\D7\90\D6\B7\D7\A8\00\D7\A4\D6\BF\D7\A2\D7\91\D7\A8\D7\95\D7\90\D6\B7\D7\A8\00\D7\9E\D7\90\D6\B7\D7\A8\D7\A5\00\D7\90\D6\B7\D7\A4\D6\BC\D7\A8\D7\99\D7\9C\00\D7\90\D7\B1\D7\92\D7\A1\D7\98\00\D7\A1\D7\A2\D7\A4\D6\BC\D7\98\D7\A2\D7\9E\D7\91\D7\A2\D7\A8\00\D7\90\D6\B8\D7\A7\D7\98\D7\90\D6\B8\D7\91\D7\A2\D7\A8\00\D7\A0A\D6\B8\D7\B0\D7\A2\D7\9E\D7\91\D7\A2\D7\A8\00\E4\B8\80\00\E4\BA\8C\00\E4\B8\89\00\E5\9B\9B\00\E4\BA\94\00\E5\85\AD\00\E6\98\9F\E6\9C\9F\E6\97\A5\00\E6\98\9F\E6\9C\9F\E4\B8\80\00\E6\98\9F\E6\9C\9F\E4\BA\8C\00\E6\98\9F\E6\9C\9F\E4\B8\89\00\E6\98\9F\E6\9C\9F\E5\9B\9B\00\E6\98\9F\E6\9C\9F\E4\BA\94\00\E6\98\9F\E6\9C\9F\E5\85\AD\00\E4\B8\80\E6\9C\88\00\E4\BA\8C\E6\9C\88\00\E4\B8\89\E6\9C\88\00\E5\9B\9B\E6\9C\88\00\E4\BA\94\E6\9C\88\00\E5\85\AD\E6\9C\88\00\E4\B8\83\E6\9C\88\00\E5\85\AB\E6\9C\88\00\E4\B9\9D\E6\9C\88\00\E5\8D\81\E6\9C\88\00\E5\8D\81\E4\B8\80\E6\9C\88\00\E5\8D\81\E4\BA\8C\E6\9C\88\00\E4\B8\8A\E5\8D\88\00\E4\B8\8B\E5\8D\88\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %A %H\E6\97\B6%M\E5\88\86%S\E7\A7\92\00%H\E6\97\B6%M\E5\88\86%S\E7\A7\92\00%p %I\E6\97\B6%M\E5\88\86%S\E7\A7\92\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %A %H:%M:%S\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %A\00%I\E6\99\82%M\E5\88\86%S\E7\A7\92 %Z\00%p %I:%M:%S\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %H\E6\97\B6%M\E5\88\86%S\E7\A7\92 %Z\00%H\E6\97\B6%M\E5\88\86%S\E7\A7\92 %Z\00\E9\80\B1\E6\97\A5\00\E9\80\B1\E4\B8\80\00\E9\80\B1\E4\BA\8C\00\E9\80\B1\E4\B8\89\00\E9\80\B1\E5\9B\9B\00\E9\80\B1\E4\BA\94\00\E9\80\B1\E5\85\AD\00\E8\A5\BF\E5\85\83%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 (%A) %H\E6\99\82%M\E5\88\86%S\E7\A7\92\00\E8\A5\BF\E5\85\83%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5\00%p %I\E6\99\82%M\E5\88\86%S\E7\A7\92\00", [1804 x i8] c"\00^[yY]\00^[nN]\00[jJ].*\00[nN].*\00^[yY].*\00^[nN].*\00^[\E6].*\00^[\E4].*\00^[\D9\86].*\00^[\D9\84].*\00^[\D9\86]\00^[\D9\84]\00\D9\86\D8\B9\D9\85\00\D9\84\D8\A7\00^(\E6|\E6\D9\E5)\00^(\E4|\E4\C7)\00\E6\D9\E5\00\E4\C7\00^(\D9\86|\D9\86\D8\B9\D9\85)\00^(\D9\84|\D9\84\D8\A7)\00^[Bb].*\00^[YyNn].*\00yox\00b\C9\99li\00^[\C4\E4Yy].*\00^[\CD\EDNn].*\00^[\D0\94\D0\B4Yy].*\00^[\D0\9D\D0\BDNn].*\00^[+1\C4\E4DdYyOo].*\00^[-0\CD\EDNnKk].*\00^[+1\D0\94\D0\B4DdYyOo].*\00^[-0\D0\9D\D0\BDNnKk].*\00[yYsS\D5\A1\D4\B1].*\00[nN\D5\B8\D5\88].*\00\D5\A1\D5\B5\D5\B8\00\D5\B8\D5\B9\00^[\E0\A6\B9\E0\A7\8D\E0\A6\AF\E0\A6\BE\E0\A6\81]\00^[\E0\A6\A8\E0\A6\BE]\00\E0\A6\B9\E0\A7\8D\E0\A6\AF\E0\A6\BE\E0\A6\81\00\E0\A6\A8\E0\A6\BE\00[oOyY].*\00^[dDyY]*.\00^[nN]*.\00[sSyY].*\00^[aAyY].*\00ano\00ne\00[iItTyY].*\00ie\00na\00^[1JjYy].*\00^[0Nn].*\00^[jJyY].*\00^[\ED\CDyY].*\00^[\EF\CFnN].*\00^[\CE\BD\CE\9DyY].*\00^[\CE\BF\CE\9FnN].*\00[yY].*\00^[yYoO].*\00^[1JjsSyYoO].*\00^[0nN].*\00Yes\00No\00^[JjYy].*\00^[sSyY].*\00^[EeNn].*\00^[bBsSyY].*\00^[eEnN].*\00[yY\D8\A8f].*\00[nN\D8\AE\D9\86o].*\00^[KkJjYy].*\00^[NnEe].*\00^[Nn].*\00^[oOjJyY1].*\00^[nN0].*\00^[oOyY].*\00^[OojJsSyY].*\00^[tTyY].*\00^[Yy\EB].*\00^[Nn\EC].*\00^[Yy\D7\9B].*\00^[Nn\D7\9C].*\00^[dDyY].*\00^[IiYy].*\00[yYsS\B3\B2].*\00[nN\E1\E0].*\00\B3\DB\E1\00\E1\E3\00[tTnN].*\00^[sSjJoOyY].*\00^([yY\EF\BD\99\EF\BC\B9]|\E3\81\AF\E3\81\84|\E3\83\8F\E3\82\A4)\00^([nN\EF\BD\8E\EF\BC\AE]|\E3\81\84\E3\81\84\E3\81\88|\E3\82\A4\E3\82\A4\E3\82\A8)\00\E3\81\AF\E3\81\84\00\E3\81\84\E3\81\84\E3\81\88\00[1yYkKxX\E1].*\00[0nNaA\C0].*\00[1yYkKxX\E1\83\AE].*\00[0nNaA\E1\83\90].*\00^[JjYyAa].*\00^[yY\EC\98\88]\00^[nN\EC\95\84\EB\8B\88\EC\98\A4]\00[eE].*\00^[TtYy].*\00^[1yY\E2\C2\E4\C4aA].*\00^[0nNkK].*\00\E2e\00k\E2ore\00^[1yY\C4\81\C4\80\C3\A4\C3\84aA].*\00\C4\81e\00k\C4\81ore\00[\B4\D4DdYy1].*\00[\BD\DDNn0].*\00\D4\D0\00\DD\D5\00[\D0\94\D0\B4DdYy1].*\00[\D0\9D\D0\BDNn0].*\00\D0\B4\D0\B0\00\D0\BD\D0\B5\00^(Yes|[yY])\00^(No|[nN])\00^[tT]\00Ya\00Tidak\00[oOsS].*\00^[SsyY].*\00^[DdYy].*\00^[\E4\C4Yy].*\00^[\EE\CENn].*\00^[\B4\D4Yy].*\00^[\BD\DDNn].*\00[\E4\C4Yy].*\00[\EE\CENn].*\00[\D0\94\D0\B4Yy].*\00[\D0\9D\D0\BDNn].*\00^[Ii].*\00[aA\E1\C1yY].*\00\E1no\00nie\00[aA\C3\A1\C3\81yY].*\00\C3\A1no\00^[YyJj].*\00[dDyY1].*\00[nN0].*\00[\B4\D4Yy].*\00[\BD\DDNn].*\00^[\E0\AE\86\E0\AE\AE\E0\AF\8D]\00^[\E0\AE\87\E0\AE\B2\E0\AF\8D\E0\AE\B2\E0\AF\88]\00\E0\AE\86\E0\AE\AE\E0\AF\8D\00\E0\AE\87\E0\AE\B2\E0\AF\8D\E0\AE\B2\E0\AF\88\00^[\E0\B0\85]\00^[\E0\B0\95]\00\E0\B0\85\E0\B0\B5\E0\B0\A8\E0\B1\81\00\E0\B0\95\E0\B0\BE\E0\B0\A6\E0\B1\81\00\C4\C1\00\CE\C5\D4\00\D0\BD\D0\B5\D1\82\00^[yY\AA]\00^[nN\C1]\00\E3\AA\E8\00\E4\C1\E8\E3\AA\E8\00^[yY\E0\B8\8A]\00^[nN\E0\B8\A1]\00\E0\B9\83\E0\B8\8A\E0\B9\88\00\E0\B9\84\E0\B8\A1\E0\B9\88\E0\B9\83\E0\B8\8A\E0\B9\88\00^[eE].*\00^[hH].*\00evet\00hay\FDr\00hay\C4\B1r\00\D3\98\D0\B9\D0\B5\00\D0\AE\D0\BA\00[\F4\D4Yy].*\00[\D0\A2\D1\82Yy].*\00[yY\D9\87\D8\A8f].*\00[nN\D9\86o].*\00\D8\A8\D9\84\D9\83\D9\84\00\D9\86\D9\87\D9\8A\DA\BA\00^[YyHh].*\00^[JjNn].*\00Ha\00Yo'q\00[oOyYaAwW].*\00Oyi\00Neni\00^[Yy\E9].*\00^[Nn\F0\F7].*\00\E9\E0\C7\00\F7\D6\EF\00^[Yy\D7\99].*\00^[Nn\D7\A0\D7\A7].*\00\D7\99\D7\90\D6\B7\00\D7\A7\D7\B2\D7\9F\00^[yY\E6\98\AF]\00^[nN\E4\B8\8D\E5\90\A6]\00", [23 x %struct.__codeset_8_bit_t.204] [%struct.__codeset_8_bit_t.204 { [16 x i8] c"\00\00\00\00\01\02\03\04\04\04\04\04\04\04\04\05", [16 x i8] c"\00\00\00\00\01\02\03\04\04\04\04\04\04\04\04\05", [16 x i8] c"\00\01\02\03\04\05\06\07\08\09\0A\0B\0C\0D\0E\0F", [38 x i8] c"\00\01\01\01\01\02\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\03\01\01\01\01\01" }, %struct.__codeset_8_bit_t.204 { [16 x i8] c"\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06", [16 x i8] zeroinitializer, [16 x i8] c"\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10", [38 x i8] c"\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.204 { [16 x i8] c"\07\08\09\0A\0B\0C\0D\0E\0F\0F\0F\0F\10\10\10\10", [16 x i8] c"\06\07\08\07\09\0A\0B\0C\0D\0D\0D\0D\0D\0D\0D\0D", [16 x i8] c"\11\12\13\14\15\16\17\18\19\1A\1B\1C\1D\1E\1F ", [38 x i8] c"\04\01\01\01\05\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\06\07\01\01\01\01" }, %struct.__codeset_8_bit_t.204 { [16 x i8] c"\11\12\13\12\02\02\14\02\02\15\16\17\18\18\18\19", [16 x i8] zeroinitializer, [16 x i8] c"!\22#$%&'()*+,-./0", [38 x i8] c"\08\09\0A\01\01\0B\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\0C\0D\01\01\01\01" }, %struct.__codeset_8_bit_t.204 { [16 x i8] c"\1A\1B\1C\1D\02\1E\14\1E\18\18\18\18\1F\10 \10", [16 x i8] c"\00\0E\00\0F\00\00\00\00\00\00\00\00\00\00\00\10", [16 x i8] c"123456'789:;<=>?", [38 x i8] c"\0E\0F\0A\01\01\01\01\01\01\01\01\01\01\01\01\01\10\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\11\0D\01\01\01\01" }, %struct.__codeset_8_bit_t.204 { [16 x i8] c"\00\00\00\00\02\1E\14\1E\0F\0F!\22\10\10 \10", [16 x i8] c"\00\00\00\00\00\00\00\00\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\0356'7@ABCD=>?", [38 x i8] c"\12\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.204 { [16 x i8] c"\00\00\00\00#$%&\0F\0F\0F\22\10\10\10'", [16 x i8] c"\00\00\00\00\12\13\12\13\0D\0D\0D\11\0D\0D\0D\11", [16 x i8] c"\00\01\02\03EFGHIJKLMNOP", [38 x i8] c"\13\14\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\15\01\01\01\01\01" }, %struct.__codeset_8_bit_t.204 { [16 x i8] c"\00\00\00\00\02\0C\14(\0F\0F!\22\10\10 ", [16 x i8] c"\00\00\00\00\00\0A\00\0A\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\03QRSTUVWXYZ[\\", [38 x i8] c"\16\17\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\18\01\01\01\01\01" }, %struct.__codeset_8_bit_t.204 { [16 x i8] c"\00\00\00\00)*+,\0F\0F\0F\22\10\10\10\10", [16 x i8] c"\00\00\00\00\14\15\16\17\0D\0D\0D\11\0D\0D\0D\18", [16 x i8] c"\00\01\02\03]^_`@AabD=cd", [38 x i8] c"\19\1A\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\1B\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.204 { [16 x i8] c"\00\00\00\00-./0\0F\0F!\22\10\10 \10", [16 x i8] c"\00\00\00\00\19\1A\1B\1C\0D\0D\11\11\0D\0D\11\1D", [16 x i8] c"\00\01\02\03efgh@ABCD=>?", [38 x i8] c"\1C\1D\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\1E\01\01\01\01\01" }, %struct.__codeset_8_bit_t.204 { [16 x i8] c"\00\00\00\001234\0F\0F\0F\22\10\10\10\10", [16 x i8] c"\00\00\00\00\1E\1F !\0D\0D\0D\11\0D\0D\0D\1D", [16 x i8] c"\00\01\02\03ijklmAnop=qr", [38 x i8] c"\1F !\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\22\01\01\01\01\01" }, %struct.__codeset_8_bit_t.204 { [16 x i8] c"\00\00\00\005678\0F\0F!\22\10\10 ", [16 x i8] c"\00\00\00\00\22#\22#\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\03stuvwxyz{|}~", [38 x i8] c"#$%\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.204 { [16 x i8] c"\00\00\00\009:;<=\0F>\22?\10@ ", [16 x i8] c"\00\00\00\00$%$&'\0D(\11'\0D(\11", [16 x i8] c"\00\01\02\03\7F\80\81\82\83A\84\85\86=\87\88", [38 x i8] c"&'(\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.204 { [16 x i8] c"\00\00\00\00AB7C\0F\0F!\22\10\10 ", [16 x i8] c"\00\00\00\00\22)\22*\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\03\89\8A\8B\8CI\8D\8E\8FM\90\91\92", [38 x i8] c")*+\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.204 { [16 x i8] c"\00\00\00\00D$\0F\0F\0F\0F\10\10\10\10E&", [16 x i8] c"\00\00\00\00+,\0D\0D\0D\0D\0D\0D\0D\0D+,", [16 x i8] c"\00\01\02\03\93\94\19\1A\1B\1C\1D\1E\1F \95\96", [38 x i8] c",\01\01\01-\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01.\01\01\01\01" }, %struct.__codeset_8_bit_t.204 { [16 x i8] c"\00\00\00\00FG\06HI\18\18J\18KL\06", [16 x i8] zeroinitializer, [16 x i8] c"\00\01\02\03\97\98\10\99\9A\9B\9C\9D\9E\9F\A0\10", [38 x i8] c"/\01\01\01\01\010\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.204 { [16 x i8] c"\00\00\00\00MN-OP\0FQRS\10\10T", [16 x i8] c"\00\00\00\00\00\00-./\0D01/\0D23", [16 x i8] c"\00\01\02\03\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC", [38 x i8] c"1\01\012\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\013\01\01\01\01\01" }, %struct.__codeset_8_bit_t.204 { [16 x i8] c"\00\00\00\00U\02\14V\06\06\06W\18\18\18\19", [16 x i8] zeroinitializer, [16 x i8] c"\00\01\02\03\AD&'\AE\10\10\10\AF-./0", [38 x i8] c"4\01\01\01\015\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\016\01\01\01\01\01" }, %struct.__codeset_8_bit_t.204 { [16 x i8] c"\00\00\00\00\02\1E\14\1E\0F\0F!\22\10\10 \10", [16 x i8] c"\00\00\00\00\00\00\00\00\0D\0D\114\0D\0D\115", [16 x i8] c"\00\01\02\0356'7@A\B0\B1D=\B2\B3", [38 x i8] c"78\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.204 { [16 x i8] c"\02\02\02\02X\02Y\02\10\10\10\10\0F\0F\0F\0F", [16 x i8] c"\00\00\00\006\006\0077777777", [16 x i8] c"\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\BF\C0\C1\C2\C3", [38 x i8] c"9\01\01\01:\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01;<\01=" }, %struct.__codeset_8_bit_t.204 { [16 x i8] c"Z[\\]^_`a\10\10\10\10\0F\0F\0F\0F", [16 x i8] c"89:\00;\00<\0077777777", [16 x i8] c"\C4\C5\C6\C7\C8\C9\CA\CB\BC\BD\BE\BF\C0\C1\C2\C3", [38 x i8] c">\01\01\01?\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\11\07\01\01\01\01" }, %struct.__codeset_8_bit_t.204 { [16 x i8] c"\02\02\02\02b\14cd\10\10\10\10\0F\0F\0F\0F", [16 x i8] c"\00\00\00\00=>=>77777777", [16 x i8] c"\B4\B5\B6\B7\CC\CD\CE\CF\BC\BD\BE\BF\C0\C1\C2\C3", [38 x i8] c"9\01\01\01@\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01;<\01A" }, %struct.__codeset_8_bit_t.204 { [16 x i8] c"\06\06\06\06I\18\18\18\18e\18fge\18h", [16 x i8] zeroinitializer, [16 x i8] c"\10\10\10\10\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB", [38 x i8] c"\01\01\01\01\01\01\01\01\01\01\01\01\01\01B\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }], [20 x i8] c"\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\01\01\01\01\01", [10 x i16] [i16 0, i16 2, i16 4, i16 6, i16 8, i16 10, i16 12, i16 14, i16 16, i16 18], [20 x i16] [i16 1, i16 21, i16 3, i16 24, i16 5, i16 27, i16 7, i16 30, i16 9, i16 33, i16 11, i16 36, i16 13, i16 39, i16 15, i16 42, i16 17, i16 45, i16 19, i16 48], [45 x i8] c"\00\00\00\01\01\01\00\02\01\00\02\02\01\00\01\01\00\00\01\03\01\01\04\01\00\05\01\01\01\00\02\06\01\01\05\00\01\07\01\01\05\01\00\02\03", [3 x i16] [i16 0, i16 3, i16 11], [15 x i16] [i16 1, i16 3, i16 17, i16 0, i16 1, i16 3, i16 10, i16 12, i16 15, i16 20, i16 23, i16 0, i16 5, i16 7, i16 25], [3894 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\03\03\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\03\03\04\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\04\04\05\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\05\04\06\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\06\05\07\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\07\05\08\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\08\06\09\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\09\06\0A\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0A\07\0B\02\02\02\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\0B\08\0C\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0C\08\0D\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0D\09\0E\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0E\09\0F\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0F\0A\10\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\10\0A\11\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\11\0B\12\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\12\0B\13\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\13\0C\14\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\14\0C\15\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\15\0D\16\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\16\0D\17\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\17\0E\18\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\18\0E\19\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\19\0F\1A\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1A\0F\1B\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1B\10\1C\02\00\00\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01\1C\10\1D\02\00\00\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01\1D\11\1E\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1E\11\1F\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1F\12 \02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02 \12!\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02!\13\22\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\22\13#\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02#\14$\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02$\14%\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02%\15&\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01&\16'\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01'\16(\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01(\17)\01\04\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01)\17*\01\05\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01*\00+\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01+\07,\02\02\03\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01,\18-\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01-\18.\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01.\19/\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01/\18-\01\01\03\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\01\03\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\011\180\01\01\03\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\012\1A1\01\04\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\013\1A2\01\05\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\014\1B3\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\015\1B4\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\016\1C5\01\01\01\00\01\01\01\01\03\01\03\02\03\01\03\01\03\02\037\18-\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\011\180\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\012\18-\01\01\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\030\18.\01\01\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\031\180\01\01\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\032\1D6\02\03\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\038\18-\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01-\18.\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01.\180\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\019\18-\01\01\01\00\01\04\04\02\01\01\01\01\01\02\01\01\01\01\01-\18.\01\01\01\00\01\04\04\02\01\01\01\01\01\02\01\01\01\01\01.\1E\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\1F7\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01: \02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\1C0\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\012\1C8\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01;!9\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04<\18-\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\010\18.\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\011\180\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\012\22\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02#:\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04=$\02\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04\02%\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\01\01\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01&;\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01>\18<\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01?'\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02(=\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01@)\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02*\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02+>\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01A,\02\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02-\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02\18-\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\011\180\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\012.?\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01B/@\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01C0\02\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\021A\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01D2B\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01E3C\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01F%\02\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\024D\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01G5E\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01H5F\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01I6G\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01J7H\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01K85\01\04\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01785\01\05\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\017\18-\01\01\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\01\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\011\180\01\01\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\0129I\03\06\01\00\01\03\03\02\02\02\02\01\01\02\02\02\02\01\01L\18-\01\01\01\00\01\01\01\02\03\02\03\01\01\02\03\02\03\01\01-\18.\01\01\01\00\01\01\01\02\03\02\03\01\01\02\03\02\03\01\01.\180\01\01\01\00\01\01\01\02\03\02\03\01\01\02\03\02\03\01\019 \02\01\03\01\00\01\01\01\02\02\02\02\01\04\02\02\02\02\01\04M\180\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\019:J\02\02\01\00\01\01\01\01\02\01\02\03\02\01\02\01\02\03\02N:K\02\02\01\00\01\01\01\01\02\01\02\03\02\01\02\01\02\03\02O\07L\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01P;M\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01QQ\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01U?5\01\01\01\00\01\03\03\02\02\02\02\01\01\02\02\02\02\01\01V@R\02\02\01\00\01\03\03\01\01\01\01\01\03\01\01\01\01\01\03WAS\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01XAT\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01YBU\02\02\01\00\01\03\03\01\01\01\01\01\03\01\01\01\01\01\03ZCV\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01[DW\01\04\01\00\01\01\01\01\02\01\02\04\05\01\02\01\02\04\05\\DW\01\05\01\00\01\01\01\01\02\01\02\04\05\01\02\01\02\04\05\\EX\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01]EY\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01^\07Z\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01_F[\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04`G\\\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04a\18-\01\03\01\00\01\01\01\01\02\01\02\01\02\01\02\01\02\01\020\18.\01\03\01\00\01\01\01\01\02\01\02\01\02\01\02\01\02\01\021\180\01\03\01\00\01\01\01\01\02\01\02\01\02\01\02\01\02\01\022H5\01\04\01\00\01\01\01\01\02\01\01\01\05\01\02\01\01\01\057H5\01\05\01\00\01\01\01\01\02\01\01\01\05\01\02\01\01\01\057H5\01\01\01\00\01\01\01\01\01\01\01\02\03\01\01\01\01\02\037I]\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01bI^\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01cJ_\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01d\18-\04\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01-\18.\04\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01.\180\04\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\019K`\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01eLa\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01fLb\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01gL(\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01(Mc\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01hMd\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01iHe\01\01\01\00\01\01\01\01\01\01\01\02\03\01\01\01\01\02\03jNf\01\04\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01kNf\01\05\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01kOg\01\03\01\00\01\01\01\02\03\02\03\03\02\02\03\02\03\03\02lPh\01\01\01\00\01\02\02\01\01\01\01\01\01\01\01\01\01\01\01mQi\01\03\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\01nQj\01\03\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\01oQk\01\03\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\01pR5\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01V\07L\02\02\03\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01PSl\02\02\01\00\01\01\01\01\03\01\03\02\03\01\03\01\03\02\03qSm\02\02\01\00\01\01\01\01\03\01\03\02\03\01\03\01\03\02\03rT\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02#n\02\02\01\00\01\01\01\01\01\01\02\01\01\01\01\01\02\01\01sUo\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01tVp\02\02\01\00\01\01\01\01\02\01\01\03\01\01\02\01\01\03\01uWq\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01vXr\01\01\01\00\01\01\01\02\01\01\01\01\01\02\01\01\01\01\01w%\02\02\02\01\00\01\01\01\01\02\01\02\03\02\01\02\01\02\03\02\02YR\02\02\01\00\01\01\01\01\01\01\01\02\03\01\01\01\01\01\01WZs\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01x", [22 x i16] [i16 0, i16 91, i16 207, i16 212, i16 219, i16 223, i16 224, i16 226, i16 231, i16 236, i16 239, i16 243, i16 246, i16 250, i16 255, i16 261, i16 264, i16 268, i16 271, i16 275, i16 280, i16 286], [407 x i16] [i16 0, i16 5, i16 25, i16 35, i16 66, i16 97, i16 128, i16 159, i16 176, i16 207, i16 238, i16 269, i16 300, i16 331, i16 362, i16 393, i16 424, i16 459, i16 490, i16 521, i16 552, i16 583, i16 601, i16 630, i16 697, i16 720, i16 747, i16 768, i16 785, i16 799, i16 816, i16 821, i16 833, i16 845, i16 859, i16 864, i16 878, i16 883, i16 888, i16 906, i16 911, i16 923, i16 928, i16 933, i16 943, i16 948, i16 953, i16 963, i16 975, i16 980, i16 992, i16 1004, i16 1016, i16 1030, i16 1047, i16 1059, i16 1073, i16 1078, i16 1111, i16 1149, i16 1161, i16 1173, i16 1190, i16 1202, i16 1211, i16 1225, i16 1244, i16 1258, i16 1270, i16 1282, i16 1326, i16 1338, i16 1350, i16 1355, i16 1376, i16 1388, i16 1402, i16 1425, i16 1457, i16 1469, i16 1483, i16 1497, i16 1535, i16 1540, i16 1559, i16 1573, i16 1585, i16 1597, i16 1613, i16 1627, i16 1632, i16 0, i16 10, i16 30, i16 40, i16 51, i16 71, i16 82, i16 102, i16 113, i16 133, i16 144, i16 164, i16 181, i16 192, i16 212, i16 223, i16 243, i16 254, i16 274, i16 285, i16 305, i16 316, i16 336, i16 347, i16 367, i16 378, i16 398, i16 409, i16 429, i16 440, i16 464, i16 475, i16 495, i16 506, i16 526, i16 537, i16 557, i16 568, i16 588, i16 606, i16 615, i16 635, i16 644, i16 658, i16 667, i16 702, i16 711, i16 725, i16 742, i16 752, i16 759, i16 773, i16 778, i16 790, i16 804, i16 826, i16 838, i16 850, i16 869, i16 893, i16 697, i16 916, i16 938, i16 958, i16 968, i16 985, i16 997, i16 1009, i16 1021, i16 1035, i16 1040, i16 1052, i16 1064, i16 1083, i16 1116, i16 1123, i16 1134, i16 1154, i16 1166, i16 1178, i16 1183, i16 1195, i16 1216, i16 1230, i16 1235, i16 1249, i16 1263, i16 1275, i16 1287, i16 1296, i16 1311, i16 1331, i16 1343, i16 1360, i16 1367, i16 1381, i16 1393, i16 1407, i16 1416, i16 1430, i16 1437, i16 1448, i16 1462, i16 1474, i16 1488, i16 1502, i16 1511, i16 1520, i16 1545, i16 1550, i16 1564, i16 1578, i16 1590, i16 1602, i16 1618, i16 1637, i16 0, i16 12, i16 14, i16 1092, i16 30, i16 0, i16 14, i16 12, i16 593, i16 638, i16 649, i16 1095, i16 0, i16 16, i16 168, i16 680, i16 0, i16 0, i16 3, i16 1, i16 18, i16 16, i16 0, i16 793, i16 1, i16 18, i16 16, i16 0, i16 793, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 793, i16 18, i16 16, i16 1, i16 20, i16 18, i16 793, i16 0, i16 16, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 793, i16 18, i16 16, i16 1, i16 20, i16 18, i16 793, i16 0, i16 16, i16 3, i16 22, i16 32, i16 45, i16 58, i16 76, i16 89, i16 107, i16 120, i16 138, i16 151, i16 171, i16 186, i16 199, i16 217, i16 230, i16 248, i16 261, i16 279, i16 292, i16 310, i16 323, i16 341, i16 354, i16 372, i16 385, i16 403, i16 416, i16 434, i16 449, i16 469, i16 482, i16 500, i16 513, i16 531, i16 544, i16 562, i16 575, i16 595, i16 610, i16 622, i16 640, i16 652, i16 662, i16 683, i16 706, i16 715, i16 728, i16 732, i16 737, i16 744, i16 755, i16 763, i16 775, i16 781, i16 795, i16 808, i16 813, i16 829, i16 841, i16 854, i16 873, i16 896, i16 900, i16 919, i16 940, i16 960, i16 971, i16 988, i16 1000, i16 1012, i16 1025, i16 1037, i16 1043, i16 1055, i16 1068, i16 1098, i16 1108, i16 1119, i16 1128, i16 1141, i16 1157, i16 1169, i16 1180, i16 1186, i16 1198, i16 1207, i16 1220, i16 1232, i16 1239, i16 1253, i16 1266, i16 1278, i16 1291, i16 1303, i16 1318, i16 1334, i16 1346, i16 1363, i16 1371, i16 1384, i16 1397, i16 1411, i16 1420, i16 1433, i16 1442, i16 1452, i16 1465, i16 1478, i16 1492, i16 1506, i16 1515, i16 1527, i16 1547, i16 1554, i16 1568, i16 1581, i16 1593, i16 1607, i16 1622, i16 1641], [8250 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\00\00\00\00\01\00\00\00\00\01\00\01\01\01\01\00\01\01\01\01\00\01\00\01\01\01\01\01\01\01\00\00\00\00\00\00\02\02\02\02\02\02\02\02\02\02\02\02\02\02\01\01\01\01\02\01\01\01\01\02\01\02\02\02\02\01\02\02\02\02\01\02\01\02\02\02\02\02\02\00\00\00\00\00\00\00\03\03\03\03\03\03\03\03\03\03\03\03\03\03\02\02\02\02\03\02\02\02\02\03\02\03\03\03\03\02\03\03\03\03\02\03\02\03\03\03\03\03\03\02\00\00\00\00\00\00\04\04\04\04\04\04\04\04\04\04\04\04\04\04\03\03\03\03\04\03\03\03\03\04\03\04\04\04\04\03\04\04\04\04\03\04\03\04\04\04\03\03\03\02\00\00\00\00\00\00\03\03\03\03\03\03\03\03\03\03\03\03\03\05\02\02\02\02\03\02\02\02\02\03\02\03\03\03\03\02\03\03\03\03\02\03\02\03\03\03\03\03\03\02\00\00\00\00\00\00\04\04\04\04\04\04\04\04\04\04\04\04\04\06\03\03\03\03\04\03\03\03\03\04\03\04\04\04\04\03\04\04\04\04\03\04\03\04\04\04\03\03\03\02\00\00\00\00\00\00\04\04\04\04\04\04\04\04\04\04\04\04\04\06\03\03\03\03\04\03\03\03\03\04\03\04\04\04\04\03\04\04\04\04\03\04\03\04\04\04\04\04\04\03\00\00\00\00\00\00\05\05\05\05\05\05\05\03\03\03\03\03\03\05\04\04\04\04\05\04\04\04\04\05\04\05\05\05\05\04\05\05\05\05\04\05\04\05\03\03\03\03\03\02\00\00\00\00\00\00\06\06\06\06\06\06\06\04\04\04\04\04\04\06\05\05\05\05\06\05\05\05\05\06\05\06\06\06\06\05\06\06\06\06\05\06\05\06\04\04\03\03\03\02\00\00\00\00\00\00\00\00\00\00\00\00\00\03\05\03\03\03\05\05\00\00\00\00\00\00\00\00\00\00\00\00\05\05\05\06\07\05\07\05\04\05\04\05\05\05\05\05\05\04\00\00\00\00\00\00\00\00\00\00\00\00\00\04\06\04\04\04\06\06\00\00\00\00\00\00\00\00\00\00\00\00\06\06\06\07\08\06\08\06\05\06\05\06\05\05\05\05\05\04\00\00\00\00\00\00\05\05\05\05\05\05\05\03\03\03\03\03\03\05\04\04\04\04\05\04\04\04\04\05\04\05\05\05\05\04\09\07\05\05\04\05\04\05\03\03\03\03\03\02\00\00\00\00\00\00\06\06\06\06\06\06\06\04\04\04\04\04\04\06\05\05\05\05\06\05\05\05\05\06\05\06\06\06\06\05\0A\08\06\06\05\06\05\06\04\04\03\03\03\02\00\00\00\00\00\00\07\07\07\07\07\07\07\05\07\05\05\05\07\07\06\06\00\00\00\06\06\06\06\01\06\07\07\07\07\08\0B\09\09\07\06\07\06\07\05\05\06\06\01\01\00\00\00\00\00\00\07\07\07\08\08\08\07\06\08\06\06\06\08\08\06\06\00\00\00\07\07\06\06\01\06\07\07\07\07\08\0B\09\09\07\06\07\06\07\05\05\06\06\01\01\00\00\00\00\00\00\08\08\08\09\09\09\08\07\09\07\07\07\09\09\07\07\06\06\07\08\08\07\07\07\07\08\08\08\08\09\0C\0A\0A\08\07\08\07\08\05\05\07\06\01\01\00\00\00\00\00\00\09\09\09\0A\0A\0A\09\08\0A\08\08\08\0A\0A\08\08\07\07\08\09\09\08\08\08\08\09\09\09\09\0A\0D\0B\0B\09\08\09\08\09\05\05\07\06\01\01\00\00\00\00\00\00\0A\0A\0A\0B\0B\0B\0A\09\0B\09\09\09\0B\0B\09\09\08\08\09\0A\0A\09\09\09\09\0A\0A\0A\0A\0B\0E\0C\0C\0A\09\0A\09\0A\05\05\08\07\06\05\00\00\00\00\00\00\0B\0B\0B\0C\0C\0C\0B\0A\0C\0A\0A\0A\0C\0C\0A\0A\09\09\0A\0B\0B\0A\0A\0A\0A\0B\0B\0B\0B\0C\0F\0D\0D\0B\0A\0B\0A\0B\05\05\08\07\06\05\00\00\00\00\00\00\0C\0C\0C\0D\0D\0D\0C\0B\0D\0B\0B\0B\0D\0D\0B\0B\0A\0A\0B\0C\0C\0B\0B\0B\0B\0C\0C\0C\0C\0D\10\0E\0E\0C\0B\0C\0B\0C\06\06\09\08\04\03\00\00\00\00\00\00\0C\0C\0C\0D\0D\0D\0C\0B\0D\0B\0B\0B\0D\0D\0C\0C\0B\0B\0B\0C\0D\0C\0C\0B\0B\0C\0C\0C\0C\0D\10\0E\0E\0C\0C\0D\0C\0D\07\07\09\08\04\03\00\00\00\00\00\00\0D\0D\0D\0E\0E\0E\0D\0C\0E\0C\0C\0C\0E\0E\0D\0D\0C\0C\0C\0D\0E\0D\0D\0C\0C\0D\0D\0D\0D\0E\11\0F\0F\0D\0D\0E\0D\0E\08\08\0A\06\01\06\00\00\00\00\00\00\0E\0E\0E\0F\0F\0F\0E\0D\0F\0D\0D\0D\0F\0F\00\00\00\00\0D\00\00\00\00\01\00\00\0E\0E\0E\00\12\10\10\00\0E\0F\0E\0F\05\05\07\06\01\01\00\00\00\00\00\00\0E\0E\0E\0F\10\0F\0E\0D\0F\0D\0D\0E\0F\0F\00\00\00\00\0D\00\00\00\00\01\00\00\0E\0E\0E\00\12\10\10\00\0E\0F\0E\0F\05\05\07\06\01\01\00\00\00\00\00\00\0F\0F\0F\10\11\10\0F\0E\10\0E\0E\0F\10\10\0E\0E\0D\0D\0E\0E\0F\0E\0E\0D\0D\0E\0F\0F\0F\0F\13\11\11\0E\0F\10\0F\10\05\05\01\01\01\01\00\00\00\00\00\00\0F\0F\0F\10\11\10\0F\0E\10\0E\0E\0F\10\10\0E\0E\0D\0D\0E\0E\0F\0E\0E\0D\0D\0E\0F\0F\10\0F\13\11\11\0E\0F\10\0F\10\05\05\01\01\01\01\00\00\00\00\00\00\10\10\10\11\12\11\10\0F\11\0F\0F\10\11\11\0F\0F\0E\0E\0F\0F\10\0F\0F\0E\0E\0F\10\10\11\10\14\12\12\0F\10\11\10\11\05\05\0B\06\00\07\00\00\00\00\00\00\10\10\11\11\13\12\10\10\12\10\10\11\12\11\0F\10\0F\0E\10\10\11\0F\10\0F\0E\0F\10\11\12\10\15\13\13\0F\11\12\10\11\05\05\0C\06\00\07\00\00\00\00\00\00\11\11\12\12\14\13\11\11\13\11\11\12\13\12\10\11\10\0F\11\11\12\10\11\10\0F\10\11\12\13\11\16\14\14\10\12\13\11\12\05\05\0D\09\01\01\00\00\00\00\00\00\12\12\13\13\15\14\12\12\14\12\12\13\14\13\11\0E\0D\10\12\0E\0F\11\12\11\0D\11\12\13\14\12\17\15\15\11\13\14\12\13\05\05\01\0A\01\01\00\00\00\00\00\00\13\12\13\13\15\14\13\13\14\12\12\13\14\14\11\0E\0D\10\12\0E\0F\11\12\11\0D\11\12\13\14\12\17\15\15\11\13\14\12\13\05\05\01\0A\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\12\00\11\00\11\00\00\00\00\01\00\12\13\14\15\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\13\00\12\00\11\00\00\00\00\01\00\12\14\14\16\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\11\00\11\00\00\00\00\01\00\12\0E\0E\15\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\12\00\11\00\00\00\00\01\00\12\0E\0E\16\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\11\00\11\00\00\00\00\01\00\12\0E\0E\15\00\16\10\10\00\00\01\00\14\05\05\01\06\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\12\00\11\00\00\00\00\01\00\12\0E\0E\16\00\16\10\10\00\00\01\00\14\05\05\01\06\01\01\00\00\00\00\00\00\15\13\15\15\17\16\15\15\16\14\14\15\16\16\14\12\13\11\13\12\13\12\13\12\10\13\15\15\17\13\18\16\16\12\14\15\13\15\05\05\01\02\01\01\00\00\00\00\00\00\16\14\16\16\18\17\16\16\17\15\15\16\17\17\15\13\14\12\14\13\14\13\14\13\11\14\16\16\18\14\19\17\17\13\15\16\14\16\05\05\01\02\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\05\01\01\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\01\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\05\0F\0B\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\10\0C\07\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\04\04\04\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\11\0D\04\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\12\0E\04\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\0F\02\00\00\00\00\00\00\00\17\0D\17\0E\19\18\17\17\18\16\16\17\18\18\00\00\00\00\0D\00\00\14\00\01\00\00\17\17\19\15\1A\18\18\14\16\17\15\17\05\05\13\0B\01\01\00\00\00\00\00\00\18\0D\17\17\1A\19\18\18\19\17\17\18\19\19\16\0E\0D\0D\15\0E\0F\0E\12\0D\0D\15\18\18\1A\0F\1B\19\19\15\17\10\16\18\05\05\01\01\01\01\00\00\00\00\00\00\18\0D\17\18\1A\19\19\18\19\17\18\18\19\1A\16\0E\0D\0D\15\0E\0F\0E\12\0D\0D\15\18\18\1A\0F\1B\19\19\15\17\10\16\18\05\05\01\01\01\01\00\00\00\00\00\00\19\15\18\19\1B\1A\1A\19\1A\18\19\19\1A\1B\17\14\15\13\16\14\15\15\15\14\12\16\19\19\1B\16\1C\1A\1A\11\13\18\12\19\05\05\01\06\01\01\00\00\00\00\00\00\19\15\18\19\1B\1A\1A\1A\1B\19\1A\1A\1A\1C\17\14\16\13\16\14\15\15\15\14\12\16\19\19\1C\16\1C\1A\1A\11\13\18\12\19\05\05\01\06\01\01\00\00\00\00\00\00\1A\16\19\1A\1C\1B\1B\1B\1C\1A\1B\1B\1B\1D\18\15\0D\14\0E\15\16\16\16\15\13\17\1A\1A\1D\17\1D\1B\1B\16\18\19\17\1A\05\05\14\10\01\01\00\00\00\00\00\00\1B\17\1A\1B\1D\1C\1C\1C\1D\1B\1C\1C\1C\1E\19\16\03\15\17\16\17\17\17\16\14\18\1B\1B\04\18\1E\1C\1C\17\19\1A\18\1B\09\09\15\11\00\09\00\00\00\00\00\00\1C\18\1B\1C\1E\1D\1D\1D\1E\1C\1D\1D\1D\1F\1A\17\17\16\18\17\18\18\18\17\15\19\1C\1C\1E\19\1F\1D\1D\18\1A\1B\19\1C\05\05\16\06\01\01\00\00\00\00\00\00\1C\18\1B\1C\1E\1D\1D\1D\1E\1C\1D\1D\1D\1F\1B\18\17\17\19\18\19\19\19\18\15\1A\1C\1C\1E\19\1F\1E\1E\18\1A\1B\19\1C\05\05\16\06\01\01\00\00\00\00\00\00\1D\19\1C\1D\1F\1E\1E\1E\1F\1D\1E\1E\1E \11\0E\0D\10\0E\0E\0F\11\12\11\0D\0E\12\13\1F\1A\1C\15\15\11\13\14\12\1D\05\05\01\12\01\01\00\00\00\00\00\00\1D\1A\1D\1D \1F\1E\1E \1E\1E\1F\1F \11\0E\0D\10\0E\0E\0F\11\12\11\0D\0E\12\13\1F\1B\1C\15\15\11\13\14\12\1D\05\05\01\12\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\01\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\01\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\0B\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\0B\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\13\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\13\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\06\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\06\01\01\00\00\00\00\00\00\1E\1B\1E\1E\22 \22 !!\22\1C\1B\18\19\1A\19\1B\1C\1A\19\16\1D\1E\1F \1D \1B\1C\1D\1A \05\05\01\09\01\01\00\00\00\00\00\00\1E\1B\1F\1F# !#!!\22\22#\1C\1B\19\19\1A\19\1C\1D\1B\1A\16\1D\1F\1F!\1E! !\1C\1D\1E\1B!\05\05\01\09\01\01\00\00\00\00\00\00\1F\1C $!!\22$\22\22##$\1D\1C\1A\1A\1B\1A\1D\1E\1C\1B\17\1E \22\1F\22!\22\1D\1E\1F\1C\22\05\05\01\01\01\01\00\00\00\00\00\00\1F\1C $!!#$#\22##$\1D\1C\1B\1A\1C\1A\1D\1F\1C\1B\17\1F #\1F#\22\22\1E\1E\1F\1C#\05\05\01\01\01\01\00\00\00\00\00\00 \1D!!%\22\22$%$#$$%\1E\00\00\1B\11\1B\1E \1D\1C\00\00!!$ $##\1F\1F \15\17\05\05\01\01\01\01\00\00\00\00\00\00 \1D!\22%\22#$%$$$$&\1E\00\00\1B\11\1C\1E \1D\1C\00\00!!$ $$#\1F\1F \15\17\05\05\01\01\01\01\00\00\00\00\00\00!\1E\22#&#$%&%%%%'\1F\1D\1C\1C\1D\1D\1F!\1E\1D\18 \22\22%!%%$ !\1D$\05\05\01\01\01\01\00\00\00\00\00\00\22\1F#$'$%&'&&&&( \1E\1D\1D\1E\1E \22\1F\1E\19!##&\22&&%!!\22\1E%\00\00\17\01\00\0A\00\00\00\00\00\00# $%(%&'('''')!\1F\1E\1E\1F\1F!# \1F\1A\22$$'#''&\22\22#\1F&\00\00\17\01\00\0A\00\00\00\00\00\00$!%&)&'()((((*\22 \1F\1F \22$! \1B#%%($(('##$ '\0A\0A\09\08\04\03\00\00\00\00\00\00\0E\0E\0E\0F\0F\0F\0E\0D\0F\0D\0D\0D\0F\0F#! !!#%\22!\1C$&&)%))($$%!(\05\05\07\06\01\01\00\00\00\00\00\00\0E\0E\0E\0F\10\0F\0E\0D\0F\0D\0D\0E\0F\0F#!! !!#%\22!\1C$''*%))($$%!(\05\05\07\06\01\01\00\00\00\00\00\00%\22&'*'()*))))+\11\0E\22!\22\22$\11#\11\0D\11((+&**)%%&\12\13\05\05\18\0B\08\0B\00\00\00\00\00\00%\22&'*'(*+))**+\11\0E#\22##%\11#\11\0D\11)),'++*%%'\12\13\05\05\18\0B\08\0B\00\00\00\00\00\00&#'(+()+,**++,$\22$#$$&&$\22\1D%**-(,,+&&(\22)\05\05\0E\00\02\01\00\00\00\00\00\00'$(),)*,-++,,-%#%$%%''%#\1E&++.)--,'')#*\05\05\0E\00\02\01\00\00\00\00\00\00(%)*-*+-.,,--.\00$\00\00\01\00\00(\00\01\00\01,,/\00\01\10\10(\00\01\00\01\05\05\0E\01\01\01\00\00\00\00\00\00\00&*+.+,./--../\00\00\00\00&&()\00\01\1F\01--0*..-)\00*$\01\0B\0B\19\14\01\01\00\00\00\00\00\00\00'+,.,,.0...//\00\00\00\00'')*\00\01 \01..0+//.*\00+%\01\0B\0B\19\14\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/1///0\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\13\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/20001\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\13\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/1///0\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\02\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/20001\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\02\01\01\00\00\00\00\00\00)(,-0--0311120&%&%))++&%!'001-110+)-&,\0C\0C\1A\15\09\0C\01\00\01\01\01\00*)-.1..1422231'&'&**,,'&\22(112.221,*.'-\05\05\1B\0F\01\01\00\00\00\00\00\00+*./2//2533342('('++--('#)223/332-+/(.\05\05\1C\0F\01\01\00\00\00\00\00\00,+\1703003644453\11\0E\0D\10\12\0E\0F\11\12\11\0D\1133404\15\15.,0)/\05\05\01\16\01\01\00\00\00\00\00\00-,/14114755564)()(,,..)($*4451543/-1*0\0D\0D\1D\17\0A\0D\00\00\00\00\00\00\11\1D025\13\115866675*)*\0F--\12/*)%+55626540.2+1\05\05\01\01\01\01\00\00\00\00\00\00.-136226977786+*+)../0+*&,66737651/3,2\05\05\1E\18\01\01\00\00\00\00\00\00.-136236978787+*+)../0+*&,6674875203-3\05\05\1E\18\01\01\00\00\00\00\00\00/.247347:89898\11\0E\0D\10\0E/0\11\12\11\0D\1177\145986314.4\05\05\1F\19\01\01\00\00\00\00\00\00//358358:8:898\11\0E\0D\10\0E01\11\12\11\0D\1188\146997314.4\05\05\1F\19\01\01\00\00\00\00\00\000\01469469;9;9:9,+,*/121,+'-9987::8425/5\05\05 \01\01\01\00\00\00\00\00\000\0156:47:;:;:::,+,*/131,+'-:998::952605\05\05 \01\01\01\00\00\00\00\00\001067;58;<;<;;;-,-+0242-,(.;::9;;:63716\05\05!\06\01\01\00\00\00\00\00\002178<69<\0C\0A=<<<.\0A\09\09135\0A\0A\0A\0A\0B<\0B\0B\0C<<;\0B\0A\0B\0A\0B\05\05!\06\01\01\00\00\00\00\00\003289=7:==<>===/-\1F,2 63.-)/=;(:=(<74827\0E\0E\09\08\04\03\00\00\00\00\00\0043)*>*+>>,,>>.\00\00.\00\01\00\004\00\01\000,<;\00\01==8\00\01\008\05\05\09\08\04\03\00\00\00\00\00\00549:?8;??=???>\00.\00\003475\1D.\001>=<\00>>>95939\05\05\22\1A\04\03\00\00\00\00\00\00649:@9;@?=@@@>\00.\00\003575\1D.\002>=<\00>?>9593:\05\05\22\1A\04\03\00\00\00\00\00\007\18:;A:AAA?\11\0E/\104\0E\0F\11\12\11\0D\1133=\12?\15\15:\13\14\12\13\05\05\01\1B\01\01\00\00\00\00\00\0085;\0F;\1C@?;\0F\1C\0F;\05\05\01\06\01\01\00\00\00\00\00\00\17\0D\17=D\18\17CC@\0ED\10A\0E\0E\0D\0D\0E\0E\0F7\0E\0D\0D\11@?\10;\1C@?<\0F\1C\0F;\05\05\01\06\01\01\00\00\00\00\00\0097<>E<>DDACECB0/\0D-\12688//\0E3A@><\17A@=6:\10<\05\05\01\0B\01\01\00\00\00\00\00\0097DEADEDB0/\0D-\12688/0\0E3B@>=\17A@>7;\10=\05\05\01\0B\01\01\00\00\00\00\00\00 8=@F>\22\18FBEFE\19\00\06\00\1B\11\00\00 \1D\1C\00\12CA?\0F@BA\158<4>\05\05\01\0A\01\01\00\00\00\00\00\00 8=@F>#\18FCEFE\1A\00\06\00\1B\11\00\00 \1D\1C\00\12CA@\0F@BA\158<4>\05\05\01\0A\01\01\00\00\00\00\00\00 8=@F>\22$GDFGF%\00\06\00\1B\11\00\00 \1D\1C\00\12DBA $CB\1F\1F \15?\05\05\01\0A\01\01\00\00\00\00\00\00 8=@F>#$GEFGF&\00\06\00\1B\11\00\00 \1D\1C\00\12DBB $CB\1F\1F \15?\05\05\01\0A\01\01\00\00\00\00\00\00:9>AG??EHFGHGC1\0E\0D\10\0E79\11\12\0D\0D\11E\01C>\16DC\009=5@\05\05\01\0B\01\01\00\00\00\00\00\00:9>AG?@FHGGHGD1\0E\0D\10\0E79\11\12\0D\0D\11E\01C>\16DC\009=5@\05\05\01\0B\01\01\00\00\00\00\00\00;:?BH@AGIHHIHE200.58:901*4FCD?AED?:>6A\05\05\07\06\01\01\00\00\00\00\00\00<;@CIABHJIIJIF311/69;:12+5GDE@BFE@;?7B\05\05\07\06\01\01\00\00\00\00\00\00=B:E\05\05\07\06\01\01\00\00\00\00\00\00>=DDKCEJLKKLKH53318;=<34-7KHIDFJID?C;F\05\05%\0B\01\01\00\00\00\00\00\00\10\10E\11LD\10KMLLML\11\11\0E\0D\10\22\22$\11\12\11\0D\11((J\1AGKJ\11\13&\12\13\05\05\0B\06\00\07\00\00\00\00\00\00\10\10E\11MD\10LMLLNL\11\11\0E\0D\10##%\11\12\11\0D\11))J\1BHLK\11\13'\12\13\05\05\0C\06\00\07\00\00\00\00\00\00?7FENE>MNMMOMB\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13J\12\17MLE\13\14\12\13\05\05\01\06\01\01\00\00\00\00\00\00?7FEOE>MNMMPMB\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13J\12\17MLE\13\14\12\13\05\05\01\06\01\01\00\00\00\00\00\00@>GFPFFNONNQNI\004\002\0D<>>45.8LI\1FE\17NMF@D>45/8LI\1FE\17NMF@D=G\0F\0F&\1D\0C\0E\00\00\00\00\00\00?7HENEGMQPMROK\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13\07\12\17\15\15EAE>H\05\05\01\1E\01\01\00\00\00\00\00\00?7HEOEGMQPMSOK\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13\07\12\17\15\15EAE>H\05\05\01\1E\01\01\00\00\00\00\00\0010I7;5HORQ@@673RONILTSKGKDN\00\00)\1F\00\00\03\00\02\00\03\02GFP\02UKPWZX\02ZVT:;87=ACC9:6?SPOJMUTLHLEO\12\12*\02\02\00\00\00\00\00\00\00GFP\02UKPWZX\02ZVT\01\01\01\01\02\01\01\01\01\02\01\02\02\02\02\01\02\02\02\02\01\02\01\02\12\12*\02\02\00\00\00\00\00\00\00H\1D!LVL+X[$T[WU;$\00\1B\00BD \00\0170TQP NVU\1FIMFP\00\00\0E\00\02\00\00\00\00\00\00\00IGQMWMQY\\YU\\XV<<\008\00CED:;8@UR\0EKOWVMJNGQ\13\13\01\0A\01\00\00\00\00\00\00\00IGQNXMQY\\ZV]XV<=\008\00CEE:;8@US\0EKPWVNKNHR\14\14\01\0A\01\00\00\00\00\00\00\00JHROYNRZ][W^YW42207:<;23,6HEFACGFA<@8C\05\05\07\06\01\01\00\00\00\00\00\00K:?BH@A[^\\X_ZX=>99>DFF;<9AVTQLQXWOLOIS\05\05\07\06\01\01\00\00\00\00\00\00L\08::\08EGG<=:BWURM\0DYXPMPJT\05\05\07\06\01\01\00\00\00\00\00\00MISPZOS]`^Za\1CY??;;?FHH=>;CXVSNRZYQNQKU\04\15+\02\00\0F\00\00\00\00\00\00NJTQ[PT^a_[b\\Z@\06\00\00\00GII\06\01\06\07\07\07\07\08\0B\09\09EO\07\06\07\05\05,\01\01\01\00\00\00\00\00\00OKUR\\QU_b`\\c][A@<<@HJJ>?\18\15IKK\0E\0D>\11[YVP\0B\\[SQTNW\00\00.\02\00\00\00\00\00\00\00\00RMXS^SWbdc^e_(CB?=AJLL?@?E\\ZWQT&%TRUO%\00\00\17\01\00\0A\00\00\00\00\00\00SNYT_TXced_f`)DC@>BKMM@A@F][XRU'&USVP&\00\00\17\01\00\0A\00\00\00\00\00\00)OZU`UYdfe`ga]&%&%))++&%!'^\\YSV]\\VTWQX\15\16/\15\0E\10\00\00\00\00\00\00)OZU`UYdfe`ga]EDA?CLNNA%!'^\\YSV]\\VTWQX\15\160 \0F\11\00\00\00\00\00\00TP[VaVZdfe`ga]FEB@DMOOBBAG^\\YSV]\\VTWQX\15\161\15\10\01\00\00\00\00\00\00)OZU`UYegfahb^&%&%))++&%!'^\\YSV]\\VTWQX\15\162!\09\12\00\00\00\00\00\00", [50 x i16] [i16 0, i16 85, i16 166, i16 258, i16 345, i16 443, i16 530, i16 621, i16 723, i16 827, i16 930, i16 1028, i16 1133, i16 1232, i16 1327, i16 1398, i16 1468, i16 1535, i16 1600, i16 1669, i16 1747, i16 1827, i16 1907, i16 1974, i16 2041, i16 2107, i16 2179, i16 2274, i16 2367, i16 2457, i16 2541, i16 2628, i16 2722, i16 2815, i16 2902, i16 2987, i16 3075, i16 3157, i16 3246, i16 3268, i16 3291, i16 3342, i16 3376, i16 3393, i16 3412, i16 3416, i16 3417, i16 3420, i16 3422, i16 3426], [3429 x i16] [i16 1, i16 273, i16 463, i16 844, i16 1101, i16 858, i16 1122, i16 1977, i16 2348, i16 2594, i16 3018, i16 3253, i16 3606, i16 4397, i16 4635, i16 4806, i16 5023, i16 5441, i16 5662, i16 5858, i16 5884, i16 6040, i16 6288, i16 6938, i16 7125, i16 7310, i16 7573, i16 7838, i16 8226, i16 8624, i16 9025, i16 9539, i16 9921, i16 10130, i16 10434, i16 10640, i16 10937, i16 11606, i16 11946, i16 12190, i16 12640, i16 13317, i16 14931, i16 15189, i16 6952, i16 16066, i16 16636, i16 17024, i16 17365, i16 17819, i16 18049, i16 18224, i16 18661, i16 18735, i16 18983, i16 19067, i16 19176, i16 19479, i16 4589, i16 20213, i16 20433, i16 20653, i16 21280, i16 21712, i16 21810, i16 22607, i16 22680, i16 22719, i16 23133, i16 23665, i16 24019, i16 24674, i16 25025, i16 25183, i16 25483, i16 25641, i16 25844, i16 26175, i16 26395, i16 26524, i16 26932, i16 27130, i16 27204, i16 27426, i16 27844, i16 5, i16 276, i16 473, i16 846, i16 1104, i16 864, i16 1133, i16 1981, i16 2352, i16 2601, i16 3021, i16 3258, i16 3616, i16 4401, i16 4639, i16 4809, i16 5026, i16 5445, i16 5666, i16 6044, i16 6295, i16 7312, i16 7577, i16 7842, i16 8229, i16 8628, i16 8755, i16 9030, i16 9544, i16 9925, i16 10134, i16 10437, i16 10644, i16 10948, i16 11608, i16 11950, i16 12197, i16 2107, i16 12746, i16 12967, i16 13321, i16 14935, i16 15199, i16 15853, i16 16070, i16 16639, i16 17027, i16 17267, i16 17823, i16 18056, i16 18234, i16 18665, i16 18739, i16 19180, i16 19307, i16 19483, i16 19792, i16 20029, i16 20217, i16 20437, i16 20660, i16 21285, i16 21815, i16 22082, i16 22611, i16 22685, i16 22723, i16 23143, i16 23669, i16 24027, i16 24687, i16 25187, i16 25490, i16 26186, i16 4589, i16 26528, i16 26936, i16 27209, i16 27434, i16 27820, i16 27854, i16 9, i16 279, i16 480, i16 848, i16 1107, i16 872, i16 1148, i16 1985, i16 2356, i16 2608, i16 3024, i16 3263, i16 3626, i16 4405, i16 4643, i16 4812, i16 5029, i16 5255, i16 5449, i16 5670, i16 5888, i16 6048, i16 6302, i16 4895, i16 7314, i16 7581, i16 7846, i16 8232, i16 8632, i16 8760, i16 9035, i16 9301, i16 9549, i16 94, i16 10138, i16 10440, i16 10648, i16 10959, i16 11610, i16 11954, i16 12204, i16 12644, i16 12750, i16 12972, i16 13325, i16 14939, i16 15209, i16 16074, i16 16408, i16 16642, i16 17030, i16 17271, i16 17368, i16 17659, i16 17827, i16 18063, i16 18244, i16 18743, i16 19070, i16 19184, i16 19487, i16 19796, i16 276, i16 20221, i16 20441, i16 20667, i16 21048, i16 21132, i16 21290, i16 21635, i16 5678, i16 21820, i16 22151, i16 22255, i16 22391, i16 22615, i16 22727, i16 23153, i16 23672, i16 24032, i16 24697, i16 25191, i16 25497, i16 26193, i16 26399, i16 26534, i16 26940, i16 27135, i16 27215, i16 27444, i16 27824, i16 27864, i16 13, i16 282, i16 493, i16 850, i16 1110, i16 881, i16 1165, i16 1989, i16 2221, i16 2360, i16 2615, i16 3027, i16 3268, i16 3639, i16 4409, i16 4647, i16 4815, i16 5032, i16 5453, i16 5674, i16 5892, i16 6052, i16 6309, i16 7129, i16 7281, i16 7316, i16 7585, i16 7850, i16 8235, i16 8636, i16 9041, i16 9308, i16 9553, i16 9929, i16 10091, i16 10142, i16 10443, i16 10652, i16 10973, i16 11612, i16 11958, i16 12211, i16 12648, i16 12754, i16 12977, i16 13329, i16 14943, i16 15219, i16 15857, i16 16078, i16 16412, i16 16645, i16 17033, i16 17275, i16 17371, i16 17831, i16 18070, i16 18257, i16 18747, i16 19073, i16 19188, i16 19339, i16 19491, i16 19686, i16 19800, i16 20032, i16 20225, i16 20445, i16 21295, i16 21716, i16 21825, i16 22088, i16 22731, i16 23166, i16 23675, i16 24037, i16 25029, i16 25195, i16 25381, i16 25504, i16 26202, i16 26402, i16 26540, i16 27220, i16 27452, i16 27828, i16 27874, i16 17, i16 285, i16 503, i16 852, i16 1113, i16 890, i16 1182, i16 1993, i16 2228, i16 2364, i16 2622, i16 3030, i16 3273, i16 3649, i16 4413, i16 4651, i16 4791, i16 4818, i16 5035, i16 5259, i16 5457, i16 5678, i16 5896, i16 6056, i16 6316, i16 6942, i16 7133, i16 7318, i16 7589, i16 7854, i16 8238, i16 8640, i16 8765, i16 8827, i16 9046, i16 9314, i16 9557, i16 9933, i16 10147, i16 10446, i16 10656, i16 10984, i16 11616, i16 11962, i16 12218, i16 12652, i16 12758, i16 13129, i16 13333, i16 14947, i16 15229, i16 15861, i16 16082, i16 16416, i16 16648, i16 17036, i16 17279, i16 17374, i16 17663, i16 17835, i16 18077, i16 18267, i16 18669, i16 18751, i16 18988, i16 19076, i16 19192, i16 19343, i16 19437, i16 19495, i16 19804, i16 20035, i16 20229, i16 20449, i16 20674, i16 21300, i16 21638, i16 16919, i16 21720, i16 21796, i16 21830, i16 22735, i16 23176, i16 23678, i16 24042, i16 24707, i16 25033, i16 25199, i16 25387, i16 25513, i16 26209, i16 26406, i16 26546, i16 26944, i16 27225, i16 27460, i16 27832, i16 27884, i16 21, i16 288, i16 513, i16 854, i16 1116, i16 897, i16 1195, i16 1997, i16 2233, i16 2368, i16 2629, i16 3033, i16 3278, i16 3674, i16 4417, i16 4655, i16 4821, i16 5038, i16 5263, i16 5461, i16 5682, i16 5900, i16 6060, i16 6323, i16 6948, i16 7137, i16 7320, i16 7593, i16 7858, i16 8241, i16 8644, i16 8770, i16 9051, i16 9562, i16 9937, i16 10152, i16 10449, i16 10660, i16 10998, i16 11619, i16 11966, i16 12225, i16 12656, i16 12762, i16 12982, i16 13337, i16 14951, i16 15239, i16 15865, i16 16086, i16 16651, i16 17039, i16 17378, i16 17839, i16 18084, i16 18280, i16 18755, i16 18993, i16 19079, i16 19196, i16 19499, i16 19691, i16 19808, i16 20038, i16 20233, i16 20453, i16 20681, i16 21305, i16 21641, i16 21724, i16 21835, i16 22735, i16 23189, i16 23682, i16 24050, i16 24717, i16 25037, i16 25203, i16 25522, i16 7946, i16 26410, i16 26552, i16 26948, i16 27231, i16 27470, i16 27836, i16 27894, i16 25, i16 291, i16 523, i16 856, i16 1119, i16 1448, i16 1454, i16 2001, i16 2372, i16 2636, i16 3036, i16 3283, i16 3690, i16 4421, i16 4659, i16 4824, i16 273, i16 5465, i16 5686, i16 5863, i16 5904, i16 6064, i16 6330, i16 6952, i16 7141, i16 7286, i16 7322, i16 7597, i16 7862, i16 8244, i16 8648, i16 8831, i16 9057, i16 9567, i16 9941, i16 10096, i16 10156, i16 10452, i16 10664, i16 11015, i16 11621, i16 11970, i16 12232, i16 12660, i16 12766, i16 13341, i16 14955, i16 15249, i16 15869, i16 16090, i16 16654, i16 16919, i16 17042, i16 17283, i16 17381, i16 17668, i16 17843, i16 18091, i16 18296, i16 18759, i16 19082, i16 19200, i16 19503, i16 20041, i16 20181, i16 20237, i16 20457, i16 20688, i16 21052, i16 21310, i16 21840, i16 22155, i16 22259, i16 22398, i16 22619, i16 22690, i16 22727, i16 23205, i16 23685, i16 24055, i16 24727, i16 25207, i16 25529, i16 26222, i16 26413, i16 26558, i16 26952, i16 10488, i16 10728, i16 27840, i16 27904, i16 29, i16 294, i16 463, i16 858, i16 1122, i16 2005, i16 2238, i16 2376, i16 2643, i16 3039, i16 3288, i16 3700, i16 4397, i16 4663, i16 4827, i16 5041, i16 5267, i16 5441, i16 5690, i16 5868, i16 5908, i16 6068, i16 6337, i16 6956, i16 7145, i16 7324, i16 7502, i16 7601, i16 7866, i16 8247, i16 8652, i16 8835, i16 9062, i16 9320, i16 9572, i16 9820, i16 9945, i16 10160, i16 10455, i16 10668, i16 11026, i16 11625, i16 11815, i16 11974, i16 12239, i16 12664, i16 12770, i16 13133, i16 13345, i16 14959, i16 15259, i16 15873, i16 16094, i16 16420, i16 16657, i16 17045, i16 17287, i16 17384, i16 17672, i16 17847, i16 18098, i16 18306, i16 18673, i16 18763, i16 18998, i16 19085, i16 19205, i16 19347, i16 19507, i16 20044, i16 20185, i16 20241, i16 20461, i16 20695, i16 21315, i16 21644, i16 21695, i16 21728, i16 21845, i16 22263, i16 22405, i16 22623, i16 22695, i16 22739, i16 23215, i16 23688, i16 24060, i16 24674, i16 25041, i16 25211, i16 25536, i16 25645, i16 25851, i16 26175, i16 26417, i16 26564, i16 26956, i16 27140, i16 27238, i16 27482, i16 27844, i16 28220, i16 36, i16 301, i16 473, i16 864, i16 1133, i16 1792, i16 1878, i16 2016, i16 2251, i16 2384, i16 2658, i16 3046, i16 3301, i16 3719, i16 4401, i16 4672, i16 4836, i16 5048, i16 5275, i16 5469, i16 5697, i16 5916, i16 6076, i16 6352, i16 6965, i16 7153, i16 7333, i16 7513, i16 7609, i16 7882, i16 8257, i16 8663, i16 8775, i16 8844, i16 9075, i16 9334, i16 9584, i16 9953, i16 10169, i16 10461, i16 10679, i16 11046, i16 11634, i16 11825, i16 11981, i16 12252, i16 12671, i16 12781, i16 12987, i16 13142, i16 13271, i16 13355, i16 14965, i16 15275, i16 15880, i16 16104, i16 16427, i16 16669, i16 17055, i16 17391, i16 17854, i16 18325, i16 18678, i16 18771, i16 19092, i16 19213, i16 19312, i16 19355, i16 19517, i16 19696, i16 19812, i16 19936, i16 20053, i16 20253, i16 20473, i16 20718, i16 21327, i16 21651, i16 21736, i16 21853, i16 22094, i16 22159, i16 22270, i16 22417, i16 22630, i16 22703, i16 22758, i16 23237, i16 23696, i16 24082, i16 24687, i16 25048, i16 25217, i16 25551, i16 25652, i16 25864, i16 26186, i16 26427, i16 26579, i16 26964, i16 27245, i16 27495, i16 27854, i16 28227, i16 43, i16 309, i16 480, i16 872, i16 1148, i16 2028, i16 2264, i16 2395, i16 2679, i16 3057, i16 3322, i16 3738, i16 4425, i16 4684, i16 4844, i16 5056, i16 5285, i16 5474, i16 5704, i16 5923, i16 6084, i16 6367, i16 6971, i16 7159, i16 7343, i16 7524, i16 7620, i16 7895, i16 8267, i16 8673, i16 8786, i16 8850, i16 9084, i16 9344, i16 9592, i16 9833, i16 9958, i16 10177, i16 10465, i16 10686, i16 11066, i16 11640, i16 11992, i16 12273, i16 12677, i16 12791, i16 12998, i16 13149, i16 13279, i16 13365, i16 14974, i16 15300, i16 15895, i16 16114, i16 16434, i16 16681, i16 17065, i16 17396, i16 17680, i16 17865, i16 18344, i16 18780, i16 19100, i16 19221, i16 19362, i16 19530, i16 19820, i16 19922, i16 19944, i16 20015, i16 20058, i16 20195, i16 20265, i16 20485, i16 20741, i16 21338, i16 21660, i16 21747, i16 21861, i16 22104, i16 22170, i16 22280, i16 22436, i16 22637, i16 22780, i16 23259, i16 23703, i16 24101, i16 24697, i16 25227, i16 25392, i16 25566, i16 25662, i16 25883, i16 26193, i16 26436, i16 26591, i16 26970, i16 27149, i16 27253, i16 27510, i16 27864, i16 28234, i16 51, i16 317, i16 493, i16 881, i16 1165, i16 2039, i16 2276, i16 2403, i16 2694, i16 3065, i16 3337, i16 3760, i16 4432, i16 4691, i16 4852, i16 5062, i16 5293, i16 5481, i16 5712, i16 5932, i16 6090, i16 6378, i16 6977, i16 7166, i16 7291, i16 7353, i16 7535, i16 7630, i16 7911, i16 8275, i16 8682, i16 8856, i16 9093, i16 9355, i16 9600, i16 9965, i16 10101, i16 10185, i16 10471, i16 10697, i16 11089, i16 11645, i16 12002, i16 12292, i16 12684, i16 12803, i16 13012, i16 13157, i16 13288, i16 13375, i16 14984, i16 15328, i16 15909, i16 16124, i16 16443, i16 16693, i16 16923, i16 17074, i16 17298, i16 17402, i16 17873, i16 18111, i16 18344, i16 18790, i16 19007, i16 19108, i16 19229, i16 19537, i16 19710, i16 19826, i16 19950, i16 20064, i16 20273, i16 20493, i16 20756, i16 21351, i16 21667, i16 21753, i16 21870, i16 22114, i16 22805, i16 23284, i16 23710, i16 24120, i16 25054, i16 25232, i16 25398, i16 25581, i16 25671, i16 25900, i16 26202, i16 26445, i16 26602, i16 26976, i16 27261, i16 27525, i16 27874, i16 28241, i16 61, i16 326, i16 503, i16 890, i16 1182, i16 2050, i16 2292, i16 2410, i16 2707, i16 3071, i16 3348, i16 3779, i16 4441, i16 4699, i16 4796, i16 4861, i16 5069, i16 5301, i16 5457, i16 5719, i16 5941, i16 6098, i16 6393, i16 6986, i16 7176, i16 7363, i16 7546, i16 7641, i16 7928, i16 8287, i16 8692, i16 8796, i16 8865, i16 9105, i16 9369, i16 9610, i16 9974, i16 10193, i16 10477, i16 10708, i16 11109, i16 11652, i16 11833, i16 12013, i16 12313, i16 12689, i16 12816, i16 13167, i16 13299, i16 13385, i16 14994, i16 15356, i16 15925, i16 16134, i16 16453, i16 16706, i16 17084, i16 17410, i16 17687, i16 17879, i16 18122, i16 18366, i16 18684, i16 18799, i16 19017, i16 19117, i16 19237, i16 19369, i16 19442, i16 19543, i16 19833, i16 19957, i16 20073, i16 20279, i16 20499, i16 20767, i16 21363, i16 21674, i16 21703, i16 21759, i16 21801, i16 21881, i16 22177, i16 22245, i16 22287, i16 22449, i16 22821, i16 23306, i16 23714, i16 24130, i16 24707, i16 25065, i16 25241, i16 25409, i16 25600, i16 25678, i16 25913, i16 26209, i16 26456, i16 26614, i16 26984, i16 27269, i16 27540, i16 27884, i16 28248, i16 70, i16 336, i16 513, i16 897, i16 1195, i16 1800, i16 1893, i16 2063, i16 2309, i16 2417, i16 2720, i16 3081, i16 3367, i16 3813, i16 4446, i16 4708, i16 4868, i16 5077, i16 5310, i16 5489, i16 5727, i16 5952, i16 6105, i16 6406, i16 6994, i16 7183, i16 7373, i16 7650, i16 7946, i16 8295, i16 8701, i16 8806, i16 8871, i16 9115, i16 9380, i16 9620, i16 9980, i16 10201, i16 10483, i16 10719, i16 11132, i16 11662, i16 11846, i16 12023, i16 12332, i16 12695, i16 12828, i16 13026, i16 13175, i16 13308, i16 13395, i16 15004, i16 15384, i16 15940, i16 16144, i16 16460, i16 16721, i16 17096, i16 17416, i16 17888, i16 18139, i16 18388, i16 18691, i16 18808, i16 19027, i16 19127, i16 19246, i16 19552, i16 19717, i16 19840, i16 19964, i16 20077, i16 20287, i16 20507, i16 20782, i16 21373, i16 21682, i16 21767, i16 21890, i16 22186, i16 22296, i16 22466, i16 22843, i16 23331, i16 23723, i16 24155, i16 24717, i16 25073, i16 25250, i16 25619, i16 25685, i16 25926, i16 26466, i16 26627, i16 26990, i16 27280, i16 27561, i16 27894, i16 28255, i16 77, i16 343, i16 523, i16 904, i16 1208, i16 1448, i16 1454, i16 2075, i16 2323, i16 2425, i16 2735, i16 3087, i16 3378, i16 3838, i16 4453, i16 4714, i16 4878, i16 5083, i16 5496, i16 5734, i16 5876, i16 5960, i16 6115, i16 6425, i16 7003, i16 7191, i16 7302, i16 7379, i16 7557, i16 7659, i16 7955, i16 8305, i16 8714, i16 8880, i16 9125, i16 9391, i16 9629, i16 9987, i16 10111, i16 10210, i16 10488, i16 10728, i16 11158, i16 11669, i16 12030, i16 12345, i16 12701, i16 12839, i16 13405, i16 15014, i16 15412, i16 15956, i16 16154, i16 16470, i16 16734, i16 16937, i16 17107, i16 17424, i16 17694, i16 17894, i16 18150, i16 18413, i16 18818, i16 19135, i16 19254, i16 19376, i16 19559, i16 20084, i16 20202, i16 20295, i16 20515, i16 20797, i16 21383, i16 21900, i16 22127, i16 22192, i16 22302, i16 22477, i16 22644, i16 22711, i16 22862, i16 23359, i16 23729, i16 24171, i16 24727, i16 25082, i16 25255, i16 25630, i16 25694, i16 26222, i16 26471, i16 26640, i16 26997, i16 27904, i16 28262, i16 86, i16 533, i16 911, i16 1220, i16 1532, i16 1624, i16 2087, i16 2432, i16 2748, i16 3094, i16 3391, i16 3857, i16 4013, i16 4460, i16 4887, i16 5090, i16 5503, i16 5741, i16 5968, i16 6016, i16 6123, i16 6440, i16 7198, i16 7387, i16 7669, i16 7964, i16 8314, i16 8518, i16 9137, i16 9641, i16 9994, i16 10217, i16 10492, i16 10735, i16 11178, i16 11432, i16 12036, i16 12356, i16 13415, i16 15021, i16 15431, i16 16164, i16 16480, i16 16746, i16 17432, i16 17901, i16 18163, i16 18432, i16 19566, i16 20092, i16 20303, i16 20523, i16 20812, i16 21394, i16 22872, i16 23381, i16 23735, i16 24187, i16 24737, i16 25089, i16 25265, i16 25701, i16 25942, i16 26231, i16 26478, i16 26654, i16 27003, i16 27289, i16 27578, i16 13487, i16 27914, i16 90, i16 543, i16 915, i16 1227, i16 1545, i16 1648, i16 2091, i16 2436, i16 2755, i16 3098, i16 3398, i16 3867, i16 4038, i16 4465, i16 4891, i16 5094, i16 5317, i16 5507, i16 6127, i16 6447, i16 7393, i16 7673, i16 7971, i16 8321, i16 8526, i16 8887, i16 8974, i16 9141, i16 9645, i16 10224, i16 10496, i16 10742, i16 11194, i16 11436, i16 12040, i16 12363, i16 12707, i16 13421, i16 15025, i16 15441, i16 16170, i16 16484, i16 16750, i16 17437, i16 17905, i16 18457, i16 18826, i16 19570, i16 20307, i16 20527, i16 20819, i16 21401, i16 21910, i16 22309, i16 22490, i16 22888, i16 23397, i16 23740, i16 24196, i16 24744, i16 25269, i16 25419, i16 25705, i16 26242, i16 26660, i16 27007, i16 27295, i16 27588, i16 13492, i16 27921, i16 94, i16 553, i16 919, i16 1234, i16 1550, i16 1657, i16 2440, i16 2762, i16 3102, i16 3405, i16 3877, i16 4069, i16 4470, i16 4895, i16 5098, i16 5322, i16 5449, i16 5972, i16 6021, i16 6131, i16 6454, i16 7399, i16 7566, i16 8328, i16 9147, i16 9404, i16 9649, i16 9842, i16 10232, i16 10500, i16 10749, i16 11213, i16 11440, i16 11574, i16 11677, i16 11854, i16 12044, i16 12370, i16 13427, i16 15029, i16 15451, i16 16176, i16 5453, i16 16754, i16 17441, i16 17909, i16 18698, i16 19144, i16 20311, i16 20531, i16 20826, i16 21406, i16 22913, i16 23422, i16 23745, i16 24205, i16 24754, i16 25709, i16 25949, i16 26253, i16 26666, i16 27011, i16 27156, i16 27301, i16 27598, i16 13497, i16 27928, i16 98, i16 563, i16 923, i16 1241, i16 1555, i16 1666, i16 2444, i16 2769, i16 3106, i16 3412, i16 3887, i16 4085, i16 4475, i16 4899, i16 5102, i16 5511, i16 5745, i16 6135, i16 6461, i16 7405, i16 7677, i16 7978, i16 8335, i16 8534, i16 8891, i16 9153, i16 9653, i16 9998, i16 10239, i16 10504, i16 10756, i16 11229, i16 11444, i16 11681, i16 11859, i16 12048, i16 12377, i16 13433, i16 15033, i16 15461, i16 16182, i16 16758, i16 17445, i16 17913, i16 18482, i16 19574, i16 20315, i16 20535, i16 20833, i16 21411, i16 21914, i16 22932, i16 23441, i16 23751, i16 24217, i16 24764, i16 25273, i16 25713, i16 25956, i16 26262, i16 26672, i16 27307, i16 27608, i16 13502, i16 27935, i16 102, i16 352, i16 573, i16 927, i16 1248, i16 1561, i16 1677, i16 2448, i16 2776, i16 3110, i16 3419, i16 3900, i16 4480, i16 4721, i16 4903, i16 5106, i16 5327, i16 5515, i16 5749, i16 6139, i16 6468, i16 2144, i16 7411, i16 7985, i16 8342, i16 8542, i16 9157, i16 9657, i16 9847, i16 10246, i16 10508, i16 10763, i16 11248, i16 11448, i16 11685, i16 11864, i16 12052, i16 12384, i16 12851, i16 13038, i16 13183, i16 13439, i16 15037, i16 15471, i16 16188, i16 16489, i16 16762, i16 17449, i16 17917, i16 18170, i16 18501, i16 18830, i16 19148, i16 20319, i16 20539, i16 20840, i16 21417, i16 22951, i16 23463, i16 23757, i16 24229, i16 24774, i16 25717, i16 26273, i16 26678, i16 27314, i16 27620, i16 13507, i16 27942, i16 106, i16 580, i16 931, i16 1255, i16 1566, i16 1686, i16 2095, i16 2338, i16 2452, i16 2783, i16 3114, i16 3426, i16 3907, i16 4485, i16 4907, i16 5110, i16 5332, i16 5519, i16 6143, i16 6475, i16 7417, i16 7681, i16 7992, i16 8349, i16 8550, i16 9162, i16 9661, i16 10002, i16 10119, i16 10254, i16 10512, i16 10770, i16 11255, i16 11452, i16 11689, i16 11869, i16 12056, i16 12391, i16 12855, i16 13043, i16 13187, i16 13445, i16 15041, i16 15481, i16 16194, i16 16492, i16 16766, i16 17117, i16 17309, i16 17454, i16 17921, i16 18177, i16 18834, i16 19039, i16 19578, i16 20096, i16 20323, i16 20543, i16 20847, i16 21422, i16 21918, i16 22958, i16 23470, i16 23762, i16 24238, i16 24784, i16 25093, i16 25277, i16 25721, i16 25963, i16 26280, i16 26482, i16 26684, i16 27015, i16 27318, i16 27627, i16 13512, i16 27949, i16 110, i16 587, i16 935, i16 1262, i16 1573, i16 1699, i16 2099, i16 2343, i16 2456, i16 2790, i16 3118, i16 3433, i16 3917, i16 4104, i16 4490, i16 4911, i16 5114, i16 5337, i16 5523, i16 6148, i16 6484, i16 7423, i16 7685, i16 7999, i16 8356, i16 8560, i16 8895, i16 9168, i16 9411, i16 9665, i16 10006, i16 10263, i16 10516, i16 10777, i16 11265, i16 11456, i16 11693, i16 11874, i16 12060, i16 12398, i16 12859, i16 13048, i16 13191, i16 13451, i16 15045, i16 15491, i16 16200, i16 16770, i16 17121, i16 17314, i16 17459, i16 17703, i16 17925, i16 18184, i16 18508, i16 18838, i16 19582, i16 20100, i16 20327, i16 20547, i16 20854, i16 21427, i16 21922, i16 22971, i16 23483, i16 23768, i16 24250, i16 24791, i16 25097, i16 25281, i16 25725, i16 25970, i16 26287, i16 26486, i16 26690, i16 27019, i16 27323, i16 27635, i16 13517, i16 27956, i16 114, i16 597, i16 939, i16 1269, i16 1578, i16 1708, i16 2103, i16 2460, i16 2797, i16 3122, i16 3440, i16 3927, i16 4120, i16 4495, i16 4915, i16 5118, i16 5527, i16 5753, i16 6153, i16 6493, i16 7010, i16 7429, i16 7689, i16 8006, i16 8363, i16 8569, i16 8899, i16 8979, i16 9173, i16 9417, i16 9669, i16 9852, i16 10010, i16 10272, i16 10520, i16 10784, i16 11281, i16 11460, i16 12064, i16 12405, i16 12711, i16 12863, i16 13053, i16 13457, i16 15049, i16 15501, i16 16206, i16 16496, i16 16774, i16 4584, i16 17929, i16 18521, i16 18702, i16 18842, i16 19384, i16 19450, i16 19586, i16 20331, i16 20551, i16 20861, i16 21432, i16 21773, i16 21926, i16 22984, i16 23496, i16 23773, i16 24259, i16 24801, i16 25285, i16 25424, i16 25729, i16 25977, i16 26298, i16 26490, i16 26696, i16 27023, i16 27328, i16 27643, i16 13522, i16 27963, i16 118, i16 607, i16 943, i16 1276, i16 1581, i16 1713, i16 2107, i16 2464, i16 2804, i16 3126, i16 3447, i16 3934, i16 4316, i16 4500, i16 4919, i16 5122, i16 5342, i16 5531, i16 5757, i16 6157, i16 6500, i16 7435, i16 7693, i16 8013, i16 8370, i16 8579, i16 9177, i16 9422, i16 5441, i16 10014, i16 10282, i16 10524, i16 10791, i16 11297, i16 11464, i16 11612, i16 12068, i16 12412, i16 13463, i16 15053, i16 15511, i16 16212, i16 16500, i16 16778, i16 17466, i16 17933, i16 18537, i16 19590, i16 20335, i16 20555, i16 20868, i16 21437, i16 21930, i16 23003, i16 23515, i16 23778, i16 24268, i16 24811, i16 25289, i16 25733, i16 25984, i16 26307, i16 26702, i16 27333, i16 27651, i16 13527, i16 27970, i16 122, i16 356, i16 617, i16 947, i16 1283, i16 1587, i16 1724, i16 2468, i16 2811, i16 3130, i16 3454, i16 3944, i16 4505, i16 4923, i16 5126, i16 5348, i16 5535, i16 5761, i16 6161, i16 6507, i16 7441, i16 7697, i16 8020, i16 8377, i16 8588, i16 9183, i16 9429, i16 9673, i16 10018, i16 10291, i16 10528, i16 10798, i16 11319, i16 11468, i16 12072, i16 12419, i16 13195, i16 13469, i16 15057, i16 15521, i16 16218, i16 16504, i16 16782, i16 17471, i16 17937, i16 18565, i16 18846, i16 19594, i16 19725, i16 20339, i16 20559, i16 20875, i16 21444, i16 21934, i16 23034, i16 23546, i16 23783, i16 24277, i16 24821, i16 25293, i16 25737, i16 25991, i16 26318, i16 26708, i16 27339, i16 27661, i16 27977, i16 126, i16 627, i16 951, i16 1290, i16 1599, i16 1746, i16 2111, i16 2472, i16 2818, i16 3134, i16 3461, i16 3966, i16 4510, i16 4927, i16 5130, i16 5539, i16 6165, i16 6514, i16 7447, i16 7701, i16 8027, i16 8384, i16 9189, i16 5904, i16 10300, i16 10532, i16 10805, i16 11341, i16 11472, i16 12076, i16 12426, i16 12867, i16 13059, i16 13475, i16 15061, i16 15531, i16 16224, i16 4589, i16 16786, i16 17478, i16 17941, i16 18587, i16 20343, i16 20563, i16 20882, i16 21449, i16 21938, i16 22138, i16 22313, i16 22497, i16 23059, i16 23571, i16 23788, i16 24286, i16 24831, i16 25101, i16 25297, i16 25741, i16 25998, i16 26331, i16 26715, i16 27027, i16 27161, i16 27345, i16 27671, i16 27984, i16 130, i16 360, i16 637, i16 955, i16 1297, i16 1612, i16 1770, i16 2115, i16 2476, i16 2825, i16 3138, i16 3468, i16 3988, i16 4515, i16 4931, i16 5134, i16 5544, i16 5765, i16 5976, i16 6169, i16 6521, i16 7202, i16 7453, i16 7705, i16 8034, i16 8391, i16 8597, i16 8903, i16 8984, i16 9194, i16 9677, i16 9857, i16 10309, i16 10536, i16 10812, i16 11360, i16 11476, i16 12080, i16 12433, i16 13481, i16 15065, i16 15541, i16 16230, i16 16508, i16 16790, i16 17485, i16 17945, i16 18615, i16 18707, i16 18850, i16 19044, i16 19598, i16 20347, i16 20567, i16 20889, i16 21455, i16 21942, i16 22317, i16 22504, i16 23081, i16 23590, i16 23793, i16 24295, i16 24841, i16 25301, i16 25745, i16 26005, i16 26342, i16 26722, i16 27351, i16 27681, i16 27994, i16 134, i16 364, i16 647, i16 959, i16 1304, i16 1532, i16 1624, i16 2119, i16 2480, i16 2832, i16 3142, i16 3475, i16 4013, i16 4520, i16 4725, i16 4935, i16 5138, i16 5548, i16 5769, i16 5980, i16 6026, i16 6173, i16 6528, i16 7015, i16 7206, i16 7459, i16 7709, i16 8041, i16 8398, i16 8907, i16 9199, i16 9436, i16 9681, i16 10022, i16 10319, i16 10540, i16 10819, i16 11178, i16 11480, i16 11579, i16 11697, i16 11879, i16 12084, i16 12440, i16 12715, i16 12871, i16 13064, i16 13199, i16 13487, i16 15069, i16 15551, i16 15971, i16 16236, i16 16512, i16 16794, i16 17125, i16 17319, i16 17490, i16 17711, i16 17949, i16 18191, i16 18432, i16 18854, i16 19388, i16 19455, i16 19602, i16 19730, i16 19846, i16 19970, i16 20104, i16 20351, i16 20571, i16 20896, i16 21056, i16 21139, i16 21460, i16 21946, i16 22321, i16 22511, i16 22872, i16 23381, i16 23798, i16 24304, i16 24737, i16 25105, i16 25305, i16 25749, i16 26012, i16 26231, i16 26729, i16 27031, i16 27166, i16 27356, i16 27689, i16 27914, i16 142, i16 373, i16 663, i16 965, i16 1315, i16 1545, i16 1648, i16 2126, i16 2489, i16 2849, i16 3149, i16 3488, i16 4038, i16 4527, i16 4732, i16 4941, i16 5144, i16 5354, i16 5555, i16 5776, i16 5987, i16 6184, i16 6549, i16 7023, i16 7212, i16 7467, i16 7719, i16 8054, i16 8407, i16 8915, i16 8989, i16 9206, i16 9695, i16 10030, i16 10333, i16 10546, i16 10830, i16 11194, i16 11489, i16 11589, i16 11704, i16 11887, i16 12093, i16 12457, i16 12723, i16 12878, i16 13072, i16 13207, i16 13492, i16 15077, i16 15573, i16 15979, i16 16243, i16 16523, i16 16801, i16 17134, i16 17329, i16 17501, i16 17957, i16 18457, i16 18711, i16 18861, i16 19395, i16 19463, i16 19610, i16 19854, i16 19978, i16 20358, i16 20578, i16 20909, i16 21063, i16 21152, i16 21476, i16 21952, i16 22328, i16 22524, i16 22888, i16 23397, i16 23805, i16 24323, i16 24851, i16 25111, i16 25310, i16 25429, i16 25756, i16 26025, i16 26242, i16 26743, i16 27038, i16 27174, i16 27365, i16 27706, i16 27921, i16 151, i16 383, i16 553, i16 972, i16 1328, i16 1550, i16 1657, i16 2133, i16 2494, i16 2858, i16 3158, i16 3505, i16 4069, i16 4537, i16 4740, i16 4948, i16 5017, i16 5149, i16 5360, i16 5474, i16 5784, i16 5993, i16 6034, i16 6196, i16 6572, i16 7032, i16 7220, i16 7399, i16 7566, i16 7727, i16 8416, i16 8726, i16 9147, i16 9404, i16 9706, i16 9862, i16 10039, i16 10232, i16 10500, i16 10749, i16 11213, i16 11497, i16 11598, i16 11712, i16 11896, i16 12102, i16 12474, i16 12732, i16 12886, i16 13497, i16 15087, i16 15601, i16 15988, i16 16250, i16 16535, i16 16809, i16 17513, i16 17723, i16 17966, i16 18698, i16 18866, i16 19152, i16 19615, i16 19864, i16 19929, i16 19988, i16 20022, i16 20113, i16 20366, i16 20586, i16 20924, i16 21071, i16 21167, i16 21488, i16 21689, i16 22913, i16 23422, i16 23816, i16 24354, i16 24864, i16 25119, i16 25762, i16 26036, i16 26253, i16 26754, i16 27044, i16 27181, i16 27375, i16 27725, i16 27928, i16 157, i16 679, i16 977, i16 1337, i16 1555, i16 1666, i16 1808, i16 1908, i16 2138, i16 2502, i16 2873, i16 3163, i16 3514, i16 4085, i16 4544, i16 4953, i16 5156, i16 5564, i16 5790, i16 6204, i16 6587, i16 7038, i16 7476, i16 7735, i16 8065, i16 8426, i16 8731, i16 8820, i16 8923, i16 9214, i16 9444, i16 9714, i16 10045, i16 10349, i16 10553, i16 10843, i16 11229, i16 11504, i16 11720, i16 11905, i16 12108, i16 12485, i16 12891, i16 13081, i16 13216, i16 13502, i16 15093, i16 15617, i16 15995, i16 16257, i16 16545, i16 16814, i16 16951, i16 17144, i16 17340, i16 17528, i16 17739, i16 17971, i16 18482, i16 19403, i16 19622, i16 19739, i16 20120, i16 20372, i16 20592, i16 20935, i16 21076, i16 21176, i16 21501, i16 21959, i16 22932, i16 23441, i16 23823, i16 24373, i16 24877, i16 25316, i16 25771, i16 26053, i16 26262, i16 26764, i16 27049, i16 27381, i16 27736, i16 27935, i16 102, i16 352, i16 573, i16 983, i16 1348, i16 1561, i16 1677, i16 1815, i16 1921, i16 1943, i16 1955, i16 2144, i16 2511, i16 2890, i16 3110, i16 3419, i16 3900, i16 4550, i16 4721, i16 4959, i16 5162, i16 5368, i16 5515, i16 5749, i16 6213, i16 6604, i16 7045, i16 7226, i16 4903, i16 7743, i16 8076, i16 8435, i16 9222, i16 9453, i16 9725, i16 9871, i16 10051, i16 10246, i16 10508, i16 10763, i16 11248, i16 11512, i16 11728, i16 11914, i16 12115, i16 12498, i16 12851, i16 13038, i16 13223, i16 13507, i16 15100, i16 15636, i16 16002, i16 16264, i16 16555, i16 16824, i16 16962, i16 17152, i16 17542, i16 17917, i16 18170, i16 18501, i16 18872, i16 19148, i16 19870, i16 20379, i16 20599, i16 20948, i16 20319, i16 20840, i16 21513, i16 11685, i16 11864, i16 22951, i16 23463, i16 23830, i16 24392, i16 24890, i16 25125, i16 25322, i16 25436, i16 25779, i16 26273, i16 26775, i16 27314, i16 27620, i16 27942, i16 163, i16 389, i16 580, i16 988, i16 1357, i16 1566, i16 1686, i16 1950, i16 1968, i16 2148, i16 2519, i16 2905, i16 3114, i16 3426, i16 3907, i16 4554, i16 4745, i16 4964, i16 5169, i16 5376, i16 5571, i16 5796, i16 6219, i16 6615, i16 7050, i16 7231, i16 7417, i16 7751, i16 8081, i16 8444, i16 8605, i16 8929, i16 9162, i16 9735, i16 9882, i16 10056, i16 10124, i16 10356, i16 10559, i16 10854, i16 11255, i16 11520, i16 11734, i16 11921, i16 12122, i16 12511, i16 12897, i16 13088, i16 13230, i16 13512, i16 15106, i16 15652, i16 16271, i16 16562, i16 16832, i16 16972, i16 17158, i16 17349, i16 17550, i16 17977, i16 18206, i16 106, i16 18878, i16 19049, i16 19410, i16 19631, i16 19875, i16 19994, i16 20128, i16 20383, i16 20603, i16 20955, i16 21083, i16 21189, i16 21525, i16 11689, i16 11869, i16 21777, i16 21965, i16 17921, i16 18177, i16 22958, i16 23470, i16 23838, i16 24414, i16 24784, i16 25130, i16 25328, i16 25787, i16 26068, i16 26280, i16 26787, i16 27054, i16 27949, i16 168, i16 395, i16 587, i16 994, i16 1368, i16 1573, i16 1699, i16 1820, i16 1930, i16 2153, i16 2527, i16 2920, i16 3118, i16 3433, i16 4104, i16 4563, i16 4750, i16 4969, i16 5176, i16 5384, i16 5579, i16 5801, i16 6227, i16 6630, i16 7056, i16 7237, i16 7423, i16 7758, i16 8090, i16 8452, i16 8614, i16 8934, i16 9168, i16 9411, i16 9746, i16 10061, i16 10368, i16 10564, i16 10863, i16 11265, i16 11527, i16 11741, i16 11929, i16 12130, i16 12526, i16 12902, i16 13095, i16 13237, i16 13517, i16 15113, i16 15671, i16 16278, i16 16571, i16 16841, i16 17165, i16 17357, i16 17557, i16 17755, i16 17982, i16 18215, i16 18508, i16 18720, i16 18884, i16 19415, i16 19640, i16 19881, i16 20000, i16 20134, i16 20388, i16 20608, i16 20964, i16 21088, i16 21198, i16 21537, i16 11693, i16 11874, i16 21783, i16 21973, i16 17925, i16 18184, i16 22971, i16 23483, i16 23847, i16 24439, i16 24791, i16 25136, i16 25336, i16 25795, i16 26083, i16 26287, i16 26799, i16 27059, i16 27956, i16 173, i16 401, i16 692, i16 1000, i16 1379, i16 1578, i16 1708, i16 2158, i16 2534, i16 2933, i16 3169, i16 3525, i16 4120, i16 4570, i16 4976, i16 5185, i16 5590, i16 5806, i16 6235, i16 6645, i16 7062, i16 7243, i16 7766, i16 8006, i16 8461, i16 8942, i16 8998, i16 9238, i16 9470, i16 9758, i16 9894, i16 10067, i16 10272, i16 10569, i16 10872, i16 11281, i16 11534, i16 11748, i16 12138, i16 12541, i16 12738, i16 12907, i16 13102, i16 13522, i16 15120, i16 15690, i16 16007, i16 16285, i16 16585, i16 16848, i16 16982, i16 17172, i16 17568, i16 17767, i16 17987, i16 18521, i16 18702, i16 18890, i16 19158, i16 19422, i16 19472, i16 19647, i16 19749, i16 20393, i16 20613, i16 20973, i16 21093, i16 21207, i16 21550, i16 21789, i16 21980, i16 22651, i16 22984, i16 23496, i16 23855, i16 24461, i16 24801, i16 25343, i16 25443, i16 25802, i16 26096, i16 26298, i16 26812, i16 27067, i16 27389, i16 27751, i16 27963, i16 180, i16 705, i16 1006, i16 1390, i16 1581, i16 1713, i16 2165, i16 2542, i16 2948, i16 3176, i16 3538, i16 4136, i16 4316, i16 4575, i16 4755, i16 4982, i16 5191, i16 5394, i16 5595, i16 5813, i16 6245, i16 6664, i16 7071, i16 7250, i16 7774, i16 8101, i16 8468, i16 8947, i16 9245, i16 9478, i16 9770, i16 10074, i16 10382, i16 10576, i16 10885, i16 11297, i16 11542, i16 11758, i16 12147, i16 12558, i16 13244, i16 13527, i16 15128, i16 15712, i16 16017, i16 16292, i16 16593, i16 16858, i16 16994, i16 17180, i16 17583, i16 17994, i16 18537, i16 18897, i16 19656, i16 19759, i16 19887, i16 20140, i16 20401, i16 20621, i16 20988, i16 21100, i16 21220, i16 21561, i16 21986, i16 22199, i16 22336, i16 22539, i16 23003, i16 23515, i16 23863, i16 24483, i16 24903, i16 25142, i16 25351, i16 25452, i16 25810, i16 26111, i16 26307, i16 26494, i16 26824, i16 27075, i16 27395, i16 27762, i16 27970, i16 190, i16 410, i16 724, i16 1013, i16 1403, i16 1587, i16 1724, i16 2174, i16 2551, i16 2965, i16 3186, i16 3557, i16 4170, i16 3944, i16 4584, i16 4765, i16 4991, i16 5196, i16 5402, i16 5600, i16 5823, i16 6257, i16 6687, i16 7081, i16 7483, i16 7781, i16 8116, i16 8476, i16 8957, i16 9258, i16 9493, i16 9783, i16 10083, i16 10394, i16 10583, i16 10898, i16 11319, i16 11548, i16 11769, i16 11937, i16 12158, i16 12579, i16 12913, i16 13110, i16 13254, i16 13469, i16 15139, i16 15743, i16 16028, i16 16299, i16 16606, i16 16866, i16 17191, i16 17590, i16 17784, i16 18004, i16 18565, i16 18907, i16 19665, i16 19769, i16 19896, i16 20151, i16 20410, i16 20630, i16 21005, i16 21109, i16 21237, i16 21574, i16 21994, i16 22209, i16 22346, i16 22558, i16 23034, i16 23546, i16 23871, i16 24505, i16 24919, i16 25154, i16 25357, i16 25819, i16 26128, i16 26318, i16 26837, i16 27083, i16 27187, i16 27406, i16 27783, i16 27977, i16 198, i16 743, i16 1020, i16 1416, i16 1599, i16 1746, i16 2182, i16 2562, i16 2986, i16 3195, i16 3574, i16 4195, i16 3966, i16 4589, i16 4773, i16 4999, i16 5202, i16 5607, i16 5831, i16 6267, i16 6706, i16 7089, i16 7261, i16 7787, i16 8127, i16 8484, i16 9275, i16 9511, i16 9794, i16 10408, i16 10591, i16 10913, i16 11341, i16 11557, i16 12169, i16 12600, i16 12921, i16 13119, i16 13475, i16 15149, i16 15771, i16 16037, i16 16306, i16 16616, i16 16873, i16 17003, i16 17200, i16 17606, i16 17801, i16 18013, i16 18587, i16 18915, i16 19904, i16 20161, i16 20418, i16 20638, i16 21020, i16 21117, i16 21252, i16 21587, i16 22000, i16 22143, i16 22217, i16 22354, i16 22573, i16 23059, i16 23571, i16 23878, i16 24524, i16 24831, i16 25162, i16 25362, i16 25459, i16 25827, i16 26143, i16 26331, i16 26853, i16 27090, i16 27195, i16 27416, i16 27802, i16 27984, i16 207, i16 418, i16 759, i16 1027, i16 1429, i16 1612, i16 1770, i16 2189, i16 2571, i16 3003, i16 3203, i16 3589, i16 4220, i16 3988, i16 4592, i16 4782, i16 5008, i16 5211, i16 5616, i16 5840, i16 5998, i16 6277, i16 6725, i16 7098, i16 7271, i16 7492, i16 7794, i16 8140, i16 8494, i16 8737, i16 8965, i16 9004, i16 9288, i16 9525, i16 9807, i16 9907, i16 10419, i16 10598, i16 10926, i16 11360, i16 11565, i16 12179, i16 12619, i16 13262, i16 13481, i16 15158, i16 15796, i16 16047, i16 16316, i16 16623, i16 16883, i16 17014, i16 17210, i16 17623, i16 18021, i16 18615, i16 18726, i16 18924, i16 19056, i16 19428, i16 19677, i16 19782, i16 19913, i16 20006, i16 20171, i16 20425, i16 20645, i16 21033, i16 21124, i16 21265, i16 21600, i16 22007, i16 22226, i16 22363, i16 22590, i16 23081, i16 23590, i16 23888, i16 24552, i16 24932, i16 25173, i16 25368, i16 25466, i16 25836, i16 26160, i16 26342, i16 26876, i16 27098, i16 27994, i16 216, i16 427, i16 775, i16 1034, i16 1442, i16 0, i16 4248, i16 4347, i16 4598, i16 8153, i16 11382, i16 12930, i16 13532, i16 16326, i16 18637, i16 22015, i16 23107, i16 23615, i16 24945, i16 25375, i16 25474, i16 28004, i16 219, i16 430, i16 785, i16 1036, i16 1445, i16 0, i16 4261, i16 4375, i16 4598, i16 8160, i16 11410, i16 12933, i16 13539, i16 16333, i16 18649, i16 22018, i16 23120, i16 23643, i16 24965, i16 25378, i16 25479, i16 26353, i16 28011, i16 222, i16 433, i16 798, i16 1038, i16 1465, i16 1827, i16 2196, i16 2579, i16 3212, i16 4277, i16 4600, i16 5220, i16 5410, i16 5624, i16 6746, i16 6764, i16 6779, i16 6847, i16 6890, i16 7107, i16 7802, i16 8167, i16 8503, i16 10604, i16 11777, i16 12936, i16 13546, i16 15168, i16 15824, i16 16340, i16 16892, i16 17220, i16 17631, i16 18030, i16 18934, i16 19263, i16 19321, i16 21612, i16 22021, i16 22372, i16 22659, i16 23896, i16 24985, i16 26356, i16 26502, i16 26896, i16 27106, i16 28018, i16 28088, i16 28166, i16 28269, i16 243, i16 451, i16 832, i16 1063, i16 1492, i16 1853, i16 2212, i16 3226, i16 4304, i16 5653, i16 5849, i16 6007, i16 6807, i16 6876, i16 6917, i16 6929, i16 7817, i16 8199, i16 8746, i16 9014, i16 12955, i16 13578, i16 16057, i16 16351, i16 16910, i16 17257, i16 18966, i16 19167, i16 19285, i16 22045, i16 22235, i16 23919, i16 28116, i16 28312, i16 252, i16 460, i16 841, i16 1073, i16 1504, i16 1867, i16 3235, i16 6821, i16 11806, i16 13594, i16 16369, i16 19295, i16 22054, i16 26920, i16 28053, i16 28135, i16 28201, i16 261, i16 0, i16 1086, i16 1517, i16 1867, i16 3244, i16 4623, i16 5246, i16 6833, i16 8208, i16 10628, i16 11806, i16 13610, i16 16387, i16 22067, i16 26383, i16 28069, i16 28154, i16 28334, i16 0, i16 13628, i16 23929, i16 24574, i16 0, i16 0, i16 14004, i16 23961, i16 0, i16 14018, i16 0, i16 14901, i16 23971, i16 24610, i16 0, i16 24007, i16 24660], [372 x i8] c"\00\00\00\00\01\01\00\00\02\02\00\00\03\03\00\00\04\04\00\00\05\05\01\01\06\06\02\02\07\07\01\01\08\08\00\00\09\09\00\00\0A\0A\00\03\0A\0A\03\03\0B\0B\00\00\0C\0C\00\00\0D\0D\00\00\0E\0E\00\00\0F\0F\04\04\10\10\05\05\11\01\00\00\12\11\00\00\13\01\00\00\14\02\06\06\15\01\07\07\16\12\00\00\17\02\00\00\18\13\00\00\19\14\00\00\1A\01\00\00\1B\02\00\00\1C\15\00\00\00\00\08\08\1D\02\00\00\1E\02\00\00\1D\16\00\00\1F\17\00\00 \18\00\00!\19\00\00\1D\1A\00\00\22\1B\00\00#\02\00\00$\02\00\00%\02\00\00&\1C\00\00'\1D\00\00(\02\00\00)\02\00\00*\1E\09\09\1A\1F\00\00+\02\00\00, \0A\0A-!\00\00.\22\00\00/\1A\00\000#\00\001\01\00\002\1A\00\003$\0B\0B4$\0C\0C5%\0D\0D6&\0E\0E7'\00\00\00(\0F\0F8\01\00\002\02\00\009\02\00\00:\02\00\00;)\00\00<*\00\00=+\00\00>,\00\00\1D-\00\00?\01\10\10@\01\11\10A\1A\00\00B.\00\00C/\00\00D0\12\11E1\13\12;)\14\13\0C\0C\0E\14F2\15\15G3\16\16H4\17\17H4\17\18\0C\0C\18\19I+\00\00J,\00\00K5\19\1AL6\1A\1BM\01\1B\1CN7\1C\1DO8\1D\1EP9\00\00", [4 x i16] [i16 0, i16 81, i16 139, i16 169], [200 x i16] [i16 1, i16 13, i16 27, i16 43, i16 57, i16 73, i16 97, i16 121, i16 114, i16 85, i16 145, i16 173, i16 193, i16 217, i16 247, i16 281, i16 317, i16 369, i16 378, i16 396, i16 405, i16 422, i16 439, i16 459, i16 469, i16 489, i16 513, i16 520, i16 530, i16 561, i16 571, i16 591, i16 613, i16 635, i16 665, i16 687, i16 697, i16 711, i16 721, i16 739, i16 759, i16 769, i16 779, i16 815, i16 829, i16 908, i16 932, i16 960, i16 972, i16 996, i16 1003, i16 1013, i16 1048, i16 1078, i16 1106, i16 1142, i16 1180, i16 1189, i16 1199, i16 1209, i16 1229, i16 1249, i16 1267, i16 1297, i16 1316, i16 1334, i16 1344, i16 1362, i16 1380, i16 1438, i16 1492, i16 1517, i16 1564, i16 1610, i16 1619, i16 1630, i16 1670, i16 1698, i16 1720, i16 1747, i16 1783, i16 7, i16 20, i16 35, i16 50, i16 65, i16 79, i16 106, i16 134, i16 118, i16 92, i16 153, i16 183, i16 205, i16 233, i16 265, i16 294, i16 336, i16 388, i16 450, i16 479, i16 501, i16 545, i16 581, i16 603, i16 623, i16 647, i16 657, i16 678, i16 730, i16 749, i16 790, i16 806, i16 857, i16 921, i16 947, i16 981, i16 1028, i16 1090, i16 1120, i16 1154, i16 1165, i16 1219, i16 1239, i16 1258, i16 1278, i16 1289, i16 1354, i16 1371, i16 1393, i16 1445, i16 1499, i16 1526, i16 1572, i16 1642, i16 1680, i16 1729, i16 1757, i16 1792, i16 0, i16 85, i16 114, i16 167, i16 305, i16 346, i16 415, i16 433, i16 554, i16 799, i16 891, i16 1039, i16 1067, i16 1100, i16 1132, i16 1171, i16 1308, i16 1329, i16 1412, i16 1452, i16 1478, i16 1506, i16 1535, i16 1580, i16 1598, i16 1652, i16 1690, i16 1711, i16 1739, i16 1769, i16 0, i16 92, i16 118, i16 163, i16 312, i16 362, i16 419, i16 436, i16 558, i16 803, i16 898, i16 1042, i16 1071, i16 1103, i16 1137, i16 1174, i16 1312, i16 1422, i16 1465, i16 1481, i16 1485, i16 1510, i16 1545, i16 1585, i16 1591, i16 1605, i16 1661, i16 1693, i16 1715, i16 1743, i16 1776], [91141 x i16] [i16 7, i16 145, i16 4, i16 5352, i16 1159, i16 2868, i16 9485, i16 12504, i16 4, i16 38, i16 5, i16 3, i16 256, i16 576, i16 22623, i16 1154, i16 1623, i16 0, i16 19968, i16 20901, i16 1708, i16 747, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4, i16 10, i16 5, i16 4, i16 128, i16 480, i16 2038, i16 1693, i16 1947, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1154, i16 1154, i16 1986, i16 2440, i16 0, i16 4, i16 2, i16 5, i16 4, i16 128, i16 480, i16 1886, i16 1885, i16 1886, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2847, i16 2847, i16 2178, i16 5976, i16 0, i16 2, i16 0, i16 5, i16 6, i16 32, i16 64, i16 213, i16 212, i16 213, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4732, i16 4732, i16 0, i16 9496, i16 0, i16 4, i16 5, i16 5, i16 5, i16 64, i16 96, i16 409, i16 408, i16 409, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4944, i16 4944, i16 2193, i16 9976, i16 0, i16 1, i16 0, i16 4, i16 5, i16 128, i16 816, i16 13169, i16 13168, i16 13169, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5352, i16 5352, i16 0, i16 10360, i16 0, i16 1, i16 0, i16 5, i16 2, i16 512, i16 6176, i16 17172, i16 5999, i16 17172, i16 0, i16 -21504, i16 11171, i16 1111, i16 3125, i16 5352, i16 5352, i16 0, i16 -32216, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 5, i16 114, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 55, i16 246, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 92, i16 0, i16 0, i16 1155, i16 274, i16 372, i16 0, i16 1155, i16 300, i16 0, i16 0, i16 1155, i16 300, i16 0, i16 0, i16 1155, i16 331, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 390, i16 0, i16 0, i16 1155, i16 448, i16 498, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 547, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 730, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 798, i16 648, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 875, i16 786, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 916, i16 0, i16 0, i16 1155, i16 1075, i16 924, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 1433, i16 1502, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 1721, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 1780, i16 1634, i16 0, i16 1155, i16 1915, i16 498, i16 0, i16 1155, i16 2012, i16 1844, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 2049, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 2235, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 300, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 1, i16 680, i16 2383, i16 1986, i16 1, i16 680, i16 2880, i16 1986, i16 1, i16 680, i16 3369, i16 1986, i16 1, i16 680, i16 3871, i16 1986, i16 1, i16 680, i16 4373, i16 2016, i16 1, i16 680, i16 4869, i16 1986, i16 1, i16 680, i16 5366, i16 1986, i16 1, i16 680, i16 5868, i16 2016, i16 1, i16 680, i16 6369, i16 1986, i16 1, i16 680, i16 6952, i16 2058, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7976, i16 1986, i16 1, i16 680, i16 5868, i16 2016, i16 1, i16 680, i16 2880, i16 1986, i16 1, i16 680, i16 8476, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 8967, i16 2124, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 8967, i16 2124, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7976, i16 1986, i16 1, i16 680, i16 5868, i16 2016, i16 1, i16 680, i16 7478, i16 1986, i16 2, i16 1338, i16 3, i16 2178, i16 2, i16 1338, i16 3, i16 2178, i16 3, i16 212, i16 3, i16 0, i16 4, i16 6, i16 3, i16 2193, i16 5, i16 13168, i16 3, i16 0, i16 6, i16 17171, i16 3, i16 0, i16 1, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 21, i16 22, i16 23, i16 24, i16 30, i16 40, i16 44, i16 45, i16 50, i16 51, i16 52, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 120, i16 125, i16 126, i16 135, i16 137, i16 144, i16 157, i16 159, i16 160, i16 162, i16 167, i16 170, i16 172, i16 175, i16 177, i16 182, i16 183, i16 186, i16 188, i16 193, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 236, i16 237, i16 240, i16 241, i16 242, i16 243, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 458, i16 459, i16 460, i16 461, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 640, i16 651, i16 652, i16 654, i16 655, i16 669, i16 683, i16 685, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 698, i16 708, i16 711, i16 719, i16 720, i16 722, i16 724, i16 725, i16 726, i16 727, i16 728, i16 731, i16 732, i16 733, i16 735, i16 742, i16 743, i16 744, i16 745, i16 746, i16 747, i16 748, i16 756, i16 757, i16 758, i16 759, i16 761, i16 764, i16 765, i16 766, i16 767, i16 768, i16 774, i16 775, i16 776, i16 779, i16 780, i16 783, i16 784, i16 785, i16 786, i16 793, i16 798, i16 805, i16 806, i16 808, i16 810, i16 811, i16 812, i16 816, i16 818, i16 819, i16 820, i16 821, i16 826, i16 827, i16 828, i16 830, i16 831, i16 832, i16 833, i16 840, i16 843, i16 844, i16 859, i16 860, i16 862, i16 863, i16 877, i16 891, i16 893, i16 895, i16 896, i16 897, i16 898, i16 899, i16 900, i16 901, i16 902, i16 903, i16 906, i16 916, i16 919, i16 927, i16 928, i16 930, i16 932, i16 933, i16 934, i16 935, i16 936, i16 939, i16 940, i16 942, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 955, i16 963, i16 964, i16 965, i16 967, i16 970, i16 971, i16 972, i16 973, i16 979, i16 980, i16 981, i16 984, i16 985, i16 988, i16 989, i16 990, i16 991, i16 998, i16 1002, i16 1009, i16 1010, i16 1012, i16 1014, i16 1015, i16 1016, i16 1020, i16 1022, i16 1023, i16 1024, i16 1025, i16 1030, i16 1031, i16 1032, i16 1034, i16 1035, i16 1036, i16 1037, i16 1044, i16 1047, i16 1108, i16 1109, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 1117, i16 1118, i16 1119, i16 1120, i16 1121, i16 1122, i16 1123, i16 1124, i16 1125, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1132, i16 1133, i16 1134, i16 1139, i16 1140, i16 1141, i16 1142, i16 1143, i16 1147, i16 1157, i16 1158, i16 1183, i16 1184, i16 1185, i16 1186, i16 1187, i16 1188, i16 1189, i16 1190, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1206, i16 1207, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1235, i16 1236, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1242, i16 1243, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 1251, i16 1252, i16 1253, i16 1254, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1263, i16 1264, i16 1265, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1318, i16 1319, i16 1348, i16 1349, i16 1350, i16 1351, i16 1356, i16 1357, i16 1358, i16 1359, i16 1368, i16 1369, i16 1371, i16 1372, i16 1373, i16 1374, i16 1377, i16 1378, i16 1379, i16 1380, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 1390, i16 1391, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1400, i16 1403, i16 1404, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1418, i16 1419, i16 1420, i16 1421, i16 1422, i16 1423, i16 1424, i16 1425, i16 1426, i16 1427, i16 1428, i16 1429, i16 1430, i16 1431, i16 1432, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1440, i16 1441, i16 1442, i16 1443, i16 1444, i16 1445, i16 1446, i16 1447, i16 1448, i16 1449, i16 1450, i16 1451, i16 1452, i16 1453, i16 1454, i16 1455, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1481, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1507, i16 1513, i16 1520, i16 1521, i16 1523, i16 1529, i16 1530, i16 1531, i16 1533, i16 1536, i16 1537, i16 1540, i16 1542, i16 1543, i16 1544, i16 1545, i16 1548, i16 1551, i16 1552, i16 1554, i16 1555, i16 1558, i16 1559, i16 1560, i16 1562, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1571, i16 1578, i16 1584, i16 1585, i16 1587, i16 1593, i16 1596, i16 1598, i16 1601, i16 1602, i16 1605, i16 1607, i16 1608, i16 1609, i16 1610, i16 1613, i16 1616, i16 1617, i16 1619, i16 1620, i16 1623, i16 1624, i16 1625, i16 1627, i16 1629, i16 1630, i16 2, i16 25, i16 26, i16 27, i16 28, i16 29, i16 41, i16 48, i16 49, i16 132, i16 141, i16 151, i16 153, i16 155, i16 169, i16 185, i16 199, i16 200, i16 235, i16 299, i16 300, i16 301, i16 302, i16 304, i16 305, i16 307, i16 308, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 317, i16 318, i16 319, i16 320, i16 321, i16 323, i16 324, i16 325, i16 326, i16 328, i16 329, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 339, i16 341, i16 342, i16 344, i16 345, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 641, i16 642, i16 643, i16 644, i16 648, i16 649, i16 650, i16 653, i16 662, i16 663, i16 664, i16 665, i16 666, i16 682, i16 684, i16 705, i16 706, i16 707, i16 714, i16 715, i16 716, i16 721, i16 723, i16 730, i16 755, i16 760, i16 771, i16 772, i16 773, i16 794, i16 795, i16 796, i16 797, i16 807, i16 814, i16 815, i16 817, i16 823, i16 841, i16 842, i16 849, i16 850, i16 851, i16 852, i16 856, i16 857, i16 858, i16 861, i16 870, i16 871, i16 872, i16 873, i16 874, i16 890, i16 892, i16 913, i16 914, i16 915, i16 922, i16 923, i16 924, i16 929, i16 931, i16 938, i16 962, i16 966, i16 976, i16 977, i16 978, i16 999, i16 1000, i16 1001, i16 1011, i16 1018, i16 1019, i16 1021, i16 1027, i16 1045, i16 1046, i16 1048, i16 1084, i16 1085, i16 1086, i16 1087, i16 1088, i16 1089, i16 1090, i16 1091, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1099, i16 1100, i16 1101, i16 1102, i16 1103, i16 1104, i16 1105, i16 1106, i16 1107, i16 1110, i16 1137, i16 1138, i16 1144, i16 1145, i16 1146, i16 1154, i16 1155, i16 1156, i16 1159, i16 1175, i16 1176, i16 1177, i16 1178, i16 1179, i16 1180, i16 1181, i16 1182, i16 1191, i16 1192, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1310, i16 1311, i16 1312, i16 1313, i16 1314, i16 1315, i16 1316, i16 1317, i16 1346, i16 1347, i16 1352, i16 1353, i16 1354, i16 1355, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 1367, i16 1511, i16 1517, i16 1518, i16 1519, i16 1522, i16 1527, i16 1528, i16 1535, i16 1539, i16 1546, i16 1547, i16 1550, i16 1557, i16 1561, i16 1563, i16 1575, i16 1577, i16 1582, i16 1583, i16 1586, i16 1591, i16 1592, i16 1595, i16 1600, i16 1604, i16 1611, i16 1612, i16 1615, i16 1622, i16 1626, i16 1628, i16 4, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 322, i16 323, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 446, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 460, i16 464, i16 468, i16 472, i16 474, i16 475, i16 477, i16 478, i16 480, i16 482, i16 483, i16 485, i16 486, i16 488, i16 489, i16 490, i16 493, i16 494, i16 496, i16 497, i16 498, i16 501, i16 502, i16 504, i16 505, i16 506, i16 508, i16 509, i16 511, i16 512, i16 513, i16 514, i16 515, i16 516, i16 517, i16 518, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 714, i16 715, i16 716, i16 717, i16 718, i16 719, i16 720, i16 721, i16 722, i16 723, i16 724, i16 725, i16 726, i16 727, i16 728, i16 729, i16 730, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 737, i16 738, i16 739, i16 740, i16 741, i16 742, i16 743, i16 744, i16 745, i16 746, i16 747, i16 748, i16 749, i16 750, i16 751, i16 752, i16 755, i16 783, i16 784, i16 785, i16 788, i16 789, i16 790, i16 791, i16 792, i16 793, i16 794, i16 795, i16 796, i16 797, i16 798, i16 799, i16 800, i16 801, i16 802, i16 803, i16 804, i16 805, i16 806, i16 807, i16 808, i16 809, i16 810, i16 811, i16 812, i16 813, i16 814, i16 815, i16 816, i16 817, i16 818, i16 819, i16 824, i16 825, i16 828, i16 829, i16 830, i16 831, i16 832, i16 833, i16 834, i16 835, i16 840, i16 841, i16 842, i16 851, i16 852, i16 853, i16 854, i16 855, i16 856, i16 857, i16 858, i16 859, i16 860, i16 861, i16 864, i16 865, i16 868, i16 869, i16 870, i16 871, i16 874, i16 875, i16 876, i16 881, i16 882, i16 883, i16 884, i16 885, i16 886, i16 887, i16 888, i16 891, i16 892, i16 893, i16 894, i16 895, i16 896, i16 897, i16 904, i16 905, i16 908, i16 909, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 918, i16 919, i16 920, i16 921, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 929, i16 930, i16 931, i16 932, i16 933, i16 934, i16 935, i16 936, i16 937, i16 938, i16 939, i16 940, i16 941, i16 942, i16 943, i16 948, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 964, i16 965, i16 966, i16 967, i16 968, i16 969, i16 970, i16 971, i16 972, i16 977, i16 978, i16 979, i16 980, i16 981, i16 982, i16 983, i16 984, i16 987, i16 988, i16 989, i16 992, i16 993, i16 994, i16 995, i16 996, i16 997, i16 998, i16 999, i16 1000, i16 1001, i16 1002, i16 1003, i16 1004, i16 1005, i16 1006, i16 1007, i16 1008, i16 1012, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1023, i16 1024, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 1039, i16 1040, i16 1041, i16 1042, i16 1045, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 1058, i16 1059, i16 1060, i16 1061, i16 1062, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1072, i16 1073, i16 1074, i16 1078, i16 1079, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1103, i16 1104, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1112, i16 1113, i16 1116, i16 1117, i16 1120, i16 1121, i16 1122, i16 1123, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1138, i16 1139, i16 1140, i16 1143, i16 1144, i16 1145, i16 1146, i16 1147, i16 1148, i16 1149, i16 1150, i16 1151, i16 1152, i16 1153, i16 1154, i16 1155, i16 1156, i16 1157, i16 1158, i16 1159, i16 1160, i16 1161, i16 1162, i16 1163, i16 1164, i16 1169, i16 1170, i16 1173, i16 1174, i16 1175, i16 1176, i16 1177, i16 1178, i16 1183, i16 1184, i16 1185, i16 1186, i16 1189, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1244, i16 1245, i16 1246, i16 1249, i16 1250, i16 1251, i16 1252, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1265, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1281, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1298, i16 1299, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1314, i16 1315, i16 1318, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1328, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 1336, i16 1337, i16 1338, i16 1339, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 1360, i16 1369, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1404, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1427, i16 1428, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1481, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 1528, i16 1529, i16 1530, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 1539, i16 1540, i16 1541, i16 1542, i16 1543, i16 1544, i16 1545, i16 1546, i16 1547, i16 1548, i16 1549, i16 1550, i16 1551, i16 1552, i16 1553, i16 1554, i16 1555, i16 1556, i16 1557, i16 1558, i16 1559, i16 1560, i16 1561, i16 1562, i16 1563, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 1595, i16 1596, i16 1597, i16 1598, i16 1599, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1611, i16 1612, i16 1613, i16 1614, i16 1615, i16 1616, i16 1617, i16 1618, i16 1619, i16 1620, i16 1621, i16 1622, i16 1623, i16 1624, i16 1625, i16 1626, i16 1627, i16 1628, i16 1629, i16 1630, i16 1631, i16 1632, i16 1633, i16 1634, i16 1635, i16 1636, i16 1637, i16 1638, i16 1639, i16 1640, i16 1641, i16 1642, i16 1643, i16 1644, i16 1645, i16 1646, i16 1647, i16 1648, i16 1649, i16 1650, i16 1651, i16 1652, i16 1653, i16 1654, i16 1655, i16 1656, i16 1657, i16 1658, i16 1659, i16 1660, i16 1661, i16 1662, i16 1663, i16 1664, i16 1665, i16 1666, i16 1667, i16 1668, i16 1669, i16 1670, i16 1671, i16 1672, i16 1673, i16 1674, i16 1675, i16 1676, i16 1677, i16 1678, i16 1679, i16 1680, i16 1681, i16 1682, i16 1683, i16 1684, i16 1685, i16 1686, i16 1687, i16 1688, i16 1689, i16 1690, i16 1691, i16 1692, i16 1693, i16 1694, i16 1695, i16 1696, i16 1697, i16 1698, i16 1699, i16 1700, i16 1701, i16 1702, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 1717, i16 1718, i16 1719, i16 1720, i16 1721, i16 1722, i16 1723, i16 1724, i16 1725, i16 1726, i16 1727, i16 1728, i16 1729, i16 1730, i16 1731, i16 1732, i16 1733, i16 1734, i16 1735, i16 1736, i16 1737, i16 1738, i16 1739, i16 1740, i16 1741, i16 1742, i16 1743, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 1749, i16 1750, i16 1751, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 1758, i16 1759, i16 1760, i16 1761, i16 1762, i16 1763, i16 1764, i16 1765, i16 1766, i16 1767, i16 1768, i16 1769, i16 1770, i16 1771, i16 1772, i16 1773, i16 1774, i16 1775, i16 1776, i16 1777, i16 1778, i16 1779, i16 1780, i16 1781, i16 1782, i16 1783, i16 1784, i16 1785, i16 1786, i16 1787, i16 1788, i16 1789, i16 1790, i16 1791, i16 1792, i16 1793, i16 1794, i16 1795, i16 1796, i16 1797, i16 1798, i16 1799, i16 1800, i16 1801, i16 1802, i16 1803, i16 1804, i16 1805, i16 1806, i16 1807, i16 1808, i16 1809, i16 1810, i16 1811, i16 1812, i16 1813, i16 1814, i16 1815, i16 1816, i16 1817, i16 1818, i16 1819, i16 1820, i16 1821, i16 1822, i16 1823, i16 1824, i16 1825, i16 1826, i16 1827, i16 1828, i16 1829, i16 1830, i16 1831, i16 1832, i16 1833, i16 1834, i16 1835, i16 1836, i16 1837, i16 1838, i16 1839, i16 1840, i16 1841, i16 1842, i16 1843, i16 1844, i16 1845, i16 1846, i16 1847, i16 1848, i16 1849, i16 1850, i16 1851, i16 1852, i16 1853, i16 1854, i16 1855, i16 1856, i16 1857, i16 1858, i16 1859, i16 1860, i16 1861, i16 1862, i16 1863, i16 1864, i16 1865, i16 1866, i16 1867, i16 1868, i16 1869, i16 1870, i16 1871, i16 1872, i16 1873, i16 1874, i16 1875, i16 1876, i16 1877, i16 1878, i16 1879, i16 1880, i16 1881, i16 1882, i16 1883, i16 1884, i16 1885, i16 1886, i16 1887, i16 1888, i16 1889, i16 1890, i16 1891, i16 1892, i16 1893, i16 1894, i16 1895, i16 1896, i16 1897, i16 1898, i16 1899, i16 1900, i16 1901, i16 1902, i16 1903, i16 1904, i16 1905, i16 1906, i16 1907, i16 1908, i16 1909, i16 1910, i16 1911, i16 1912, i16 1913, i16 1914, i16 1915, i16 1916, i16 1917, i16 1918, i16 1919, i16 1920, i16 1921, i16 1922, i16 1923, i16 1924, i16 1925, i16 1926, i16 1927, i16 1928, i16 1929, i16 1930, i16 1931, i16 1932, i16 1933, i16 1934, i16 1935, i16 1936, i16 1937, i16 1938, i16 1939, i16 1940, i16 1941, i16 1942, i16 1943, i16 1944, i16 1945, i16 1946, i16 1947, i16 1948, i16 1949, i16 1950, i16 1951, i16 1952, i16 1953, i16 1954, i16 1955, i16 1956, i16 1957, i16 1958, i16 1959, i16 1960, i16 1961, i16 1962, i16 1963, i16 1964, i16 1965, i16 1966, i16 1967, i16 1968, i16 1969, i16 1970, i16 1971, i16 1972, i16 1973, i16 1974, i16 1975, i16 1976, i16 1977, i16 1978, i16 1979, i16 1980, i16 1981, i16 1982, i16 1983, i16 1984, i16 1985, i16 1986, i16 1987, i16 1988, i16 1989, i16 1990, i16 1991, i16 1992, i16 1993, i16 1994, i16 1995, i16 1996, i16 1997, i16 1998, i16 1999, i16 2000, i16 2001, i16 2002, i16 2003, i16 2004, i16 2005, i16 2006, i16 2007, i16 2008, i16 2009, i16 2010, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 458, i16 459, i16 460, i16 461, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 482, i16 483, i16 484, i16 485, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 494, i16 495, i16 496, i16 497, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 520, i16 521, i16 522, i16 523, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 714, i16 715, i16 716, i16 717, i16 718, i16 719, i16 720, i16 721, i16 722, i16 723, i16 724, i16 725, i16 726, i16 727, i16 728, i16 729, i16 730, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 737, i16 738, i16 739, i16 740, i16 741, i16 742, i16 743, i16 744, i16 745, i16 746, i16 747, i16 748, i16 749, i16 750, i16 751, i16 752, i16 753, i16 754, i16 755, i16 756, i16 757, i16 758, i16 759, i16 760, i16 761, i16 762, i16 763, i16 764, i16 765, i16 766, i16 767, i16 768, i16 769, i16 770, i16 771, i16 772, i16 773, i16 774, i16 775, i16 776, i16 777, i16 778, i16 779, i16 780, i16 781, i16 782, i16 783, i16 784, i16 785, i16 786, i16 787, i16 788, i16 789, i16 790, i16 791, i16 792, i16 793, i16 794, i16 795, i16 796, i16 797, i16 798, i16 799, i16 800, i16 801, i16 802, i16 803, i16 804, i16 805, i16 806, i16 807, i16 808, i16 809, i16 810, i16 811, i16 812, i16 813, i16 814, i16 815, i16 816, i16 817, i16 818, i16 819, i16 820, i16 821, i16 822, i16 823, i16 824, i16 825, i16 826, i16 827, i16 828, i16 829, i16 830, i16 831, i16 832, i16 833, i16 834, i16 835, i16 836, i16 837, i16 838, i16 839, i16 840, i16 841, i16 842, i16 843, i16 844, i16 845, i16 846, i16 847, i16 848, i16 849, i16 850, i16 851, i16 852, i16 853, i16 854, i16 855, i16 856, i16 857, i16 858, i16 859, i16 860, i16 861, i16 862, i16 863, i16 864, i16 865, i16 866, i16 867, i16 868, i16 869, i16 870, i16 871, i16 872, i16 873, i16 874, i16 875, i16 876, i16 877, i16 878, i16 879, i16 880, i16 881, i16 882, i16 883, i16 884, i16 885, i16 886, i16 887, i16 888, i16 889, i16 890, i16 891, i16 892, i16 893, i16 894, i16 895, i16 896, i16 897, i16 898, i16 899, i16 900, i16 901, i16 902, i16 903, i16 904, i16 905, i16 906, i16 907, i16 908, i16 909, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 918, i16 919, i16 920, i16 921, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 929, i16 930, i16 931, i16 932, i16 933, i16 934, i16 935, i16 936, i16 937, i16 938, i16 939, i16 940, i16 941, i16 942, i16 943, i16 944, i16 945, i16 946, i16 947, i16 948, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 964, i16 965, i16 966, i16 967, i16 968, i16 969, i16 970, i16 971, i16 972, i16 973, i16 974, i16 975, i16 976, i16 977, i16 978, i16 979, i16 980, i16 981, i16 982, i16 983, i16 984, i16 985, i16 986, i16 987, i16 988, i16 989, i16 990, i16 991, i16 992, i16 993, i16 994, i16 995, i16 996, i16 997, i16 998, i16 999, i16 1000, i16 1001, i16 1002, i16 1003, i16 1004, i16 1005, i16 1006, i16 1007, i16 1008, i16 1009, i16 1010, i16 1011, i16 1012, i16 1013, i16 1014, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1023, i16 1024, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 1037, i16 1038, i16 1039, i16 1040, i16 1041, i16 1042, i16 1043, i16 1044, i16 1045, i16 1046, i16 1047, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 1058, i16 1059, i16 1060, i16 1061, i16 1062, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1070, i16 1071, i16 1072, i16 1073, i16 1074, i16 1075, i16 1076, i16 1077, i16 1078, i16 1079, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1088, i16 1089, i16 1090, i16 1091, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1099, i16 1100, i16 1101, i16 1102, i16 1103, i16 1104, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 1117, i16 1118, i16 1119, i16 1120, i16 1121, i16 1122, i16 1123, i16 1124, i16 1125, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1132, i16 1133, i16 1134, i16 1135, i16 1136, i16 1137, i16 1138, i16 1139, i16 1140, i16 1141, i16 1142, i16 1143, i16 1144, i16 1145, i16 1146, i16 1147, i16 1148, i16 1149, i16 1150, i16 1151, i16 1152, i16 1153, i16 1154, i16 1155, i16 1156, i16 1157, i16 1158, i16 1159, i16 1160, i16 1161, i16 1162, i16 1163, i16 1164, i16 1165, i16 1166, i16 1167, i16 1168, i16 1169, i16 1170, i16 1171, i16 1172, i16 1173, i16 1174, i16 1175, i16 1176, i16 1177, i16 1178, i16 1179, i16 1180, i16 1181, i16 1182, i16 1183, i16 1184, i16 1185, i16 1186, i16 1187, i16 1188, i16 1189, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1206, i16 1207, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1235, i16 1236, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1242, i16 1243, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 1251, i16 1252, i16 1253, i16 1254, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1263, i16 1264, i16 1265, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1281, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1314, i16 1315, i16 1316, i16 1317, i16 1318, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 1367, i16 1368, i16 1369, i16 1370, i16 1371, i16 1372, i16 1373, i16 1374, i16 1375, i16 1376, i16 1377, i16 1378, i16 1379, i16 1380, i16 1381, i16 1382, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 1390, i16 1391, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1400, i16 1401, i16 1402, i16 1403, i16 1404, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1418, i16 1419, i16 1420, i16 1421, i16 1422, i16 1423, i16 1424, i16 1425, i16 1426, i16 1427, i16 1428, i16 1429, i16 1430, i16 1431, i16 1432, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1440, i16 1441, i16 1442, i16 1443, i16 1444, i16 1445, i16 1446, i16 1447, i16 1448, i16 1449, i16 1450, i16 1451, i16 1452, i16 1453, i16 1454, i16 1455, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1481, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 1528, i16 1529, i16 1530, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 1539, i16 1540, i16 1541, i16 1542, i16 1543, i16 1544, i16 1545, i16 1546, i16 1547, i16 1548, i16 1549, i16 1550, i16 1551, i16 1552, i16 1553, i16 1554, i16 1555, i16 1556, i16 1557, i16 1558, i16 1559, i16 1560, i16 1561, i16 1562, i16 1563, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 1595, i16 1596, i16 1597, i16 1598, i16 1599, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1611, i16 1612, i16 1613, i16 1614, i16 1615, i16 1616, i16 1617, i16 1618, i16 1619, i16 1620, i16 1621, i16 1622, i16 1623, i16 1624, i16 1625, i16 1626, i16 1627, i16 1628, i16 1629, i16 1630, i16 1631, i16 1632, i16 1633, i16 1634, i16 1635, i16 1636, i16 1637, i16 1638, i16 1639, i16 1640, i16 1641, i16 1642, i16 1643, i16 1644, i16 1645, i16 1646, i16 1647, i16 1648, i16 1649, i16 1650, i16 1651, i16 1652, i16 1653, i16 1654, i16 1655, i16 1656, i16 1657, i16 1658, i16 1659, i16 1660, i16 1661, i16 1662, i16 1663, i16 1664, i16 1665, i16 1666, i16 1667, i16 1668, i16 1669, i16 1670, i16 1671, i16 1672, i16 1673, i16 1674, i16 1675, i16 1676, i16 1677, i16 1678, i16 1679, i16 1680, i16 1681, i16 1682, i16 1683, i16 1684, i16 1685, i16 1686, i16 1687, i16 1688, i16 1689, i16 1690, i16 1691, i16 1692, i16 1693, i16 1694, i16 1695, i16 1696, i16 1697, i16 1698, i16 1699, i16 1700, i16 1701, i16 1702, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 1717, i16 1718, i16 1719, i16 1720, i16 1721, i16 1722, i16 1723, i16 1724, i16 1725, i16 1726, i16 1727, i16 1728, i16 1729, i16 1730, i16 1731, i16 1732, i16 1733, i16 1734, i16 1735, i16 1736, i16 1737, i16 1738, i16 1739, i16 1740, i16 1741, i16 1742, i16 1743, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 1749, i16 1750, i16 1751, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 1758, i16 1759, i16 1760, i16 1761, i16 1762, i16 1763, i16 1764, i16 1765, i16 1766, i16 1767, i16 1768, i16 1769, i16 1770, i16 1771, i16 1772, i16 1773, i16 1774, i16 1775, i16 1776, i16 1777, i16 1778, i16 1779, i16 1780, i16 1781, i16 1782, i16 1783, i16 1784, i16 1785, i16 1786, i16 1787, i16 1788, i16 1789, i16 1790, i16 1791, i16 1792, i16 1793, i16 1794, i16 1795, i16 1796, i16 1797, i16 1798, i16 1799, i16 1800, i16 1801, i16 1802, i16 1803, i16 1804, i16 1805, i16 1806, i16 1807, i16 1808, i16 1809, i16 1810, i16 1811, i16 1812, i16 1813, i16 1814, i16 1815, i16 1816, i16 1817, i16 1818, i16 1819, i16 1820, i16 1821, i16 1822, i16 1823, i16 1824, i16 1825, i16 1826, i16 1827, i16 1828, i16 1829, i16 1830, i16 1831, i16 1832, i16 1833, i16 1834, i16 1835, i16 1836, i16 1837, i16 1838, i16 1839, i16 1840, i16 1841, i16 1842, i16 1843, i16 1844, i16 1845, i16 1846, i16 1847, i16 1848, i16 1849, i16 1850, i16 1851, i16 1852, i16 1853, i16 1854, i16 1855, i16 1856, i16 1857, i16 1858, i16 1859, i16 1860, i16 1861, i16 1862, i16 1863, i16 1864, i16 1865, i16 1866, i16 1867, i16 1868, i16 1869, i16 1870, i16 1871, i16 1872, i16 1873, i16 1874, i16 1875, i16 1876, i16 1877, i16 1878, i16 1879, i16 1880, i16 1881, i16 1882, i16 1883, i16 1884, i16 1885, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 2, i16 1, i16 3, i16 1, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 457, i16 458, i16 459, i16 460, i16 461, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 482, i16 483, i16 484, i16 485, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 494, i16 495, i16 496, i16 497, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 520, i16 521, i16 522, i16 523, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 714, i16 715, i16 716, i16 717, i16 718, i16 719, i16 720, i16 721, i16 722, i16 723, i16 724, i16 725, i16 726, i16 727, i16 728, i16 729, i16 730, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 737, i16 738, i16 739, i16 740, i16 741, i16 742, i16 743, i16 744, i16 745, i16 746, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1188, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1206, i16 1207, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1235, i16 1236, i16 1187, i16 1190, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1242, i16 1243, i16 1187, i16 1190, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 1251, i16 1252, i16 1187, i16 1190, i16 1253, i16 1254, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1263, i16 1264, i16 1265, i16 1187, i16 1190, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1281, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1187, i16 1190, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1187, i16 1314, i16 1315, i16 1316, i16 1317, i16 1318, i16 1190, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1329, i16 1330, i16 1331, i16 1187, i16 1190, i16 1332, i16 1333, i16 1334, i16 1335, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 1187, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 1367, i16 1368, i16 1369, i16 1370, i16 1371, i16 1372, i16 1373, i16 1187, i16 1374, i16 1375, i16 1190, i16 1376, i16 1377, i16 1378, i16 1187, i16 1190, i16 1379, i16 1380, i16 1381, i16 1382, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 1187, i16 1190, i16 1390, i16 1391, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1400, i16 1401, i16 1402, i16 1403, i16 1404, i16 1187, i16 1190, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1187, i16 1190, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1418, i16 1419, i16 1420, i16 1421, i16 1422, i16 1423, i16 1187, i16 1190, i16 1424, i16 1425, i16 1426, i16 1427, i16 1428, i16 1429, i16 1430, i16 1431, i16 1432, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1440, i16 1441, i16 1442, i16 1443, i16 1444, i16 1445, i16 1446, i16 1447, i16 1448, i16 1449, i16 1450, i16 1451, i16 1452, i16 1453, i16 1454, i16 1455, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1187, i16 1190, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1187, i16 1190, i16 1481, i16 1187, i16 1190, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1187, i16 1190, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1187, i16 1513, i16 1514, i16 1515, i16 1190, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 1528, i16 1529, i16 1530, i16 1187, i16 1190, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 1539, i16 1540, i16 1541, i16 1542, i16 1543, i16 1544, i16 1545, i16 1546, i16 1547, i16 1548, i16 1549, i16 1550, i16 1551, i16 1552, i16 1553, i16 1554, i16 1555, i16 1556, i16 1557, i16 1558, i16 1559, i16 1560, i16 1561, i16 1562, i16 1563, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1187, i16 1187, i16 1187, i16 1190, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1187, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 1595, i16 1596, i16 1597, i16 1598, i16 1599, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1187, i16 1611, i16 1612, i16 1613, i16 1614, i16 1611, i16 1615, i16 1611, i16 1616, i16 1611, i16 1617, i16 1611, i16 1618, i16 1619, i16 1620, i16 1611, i16 1621, i16 1611, i16 1622, i16 1623, i16 1624, i16 1611, i16 1625, i16 1611, i16 1626, i16 1627, i16 1628, i16 1629, i16 1630, i16 1631, i16 1611, i16 1632, i16 1611, i16 1633, i16 1611, i16 1634, i16 1611, i16 1635, i16 1611, i16 1636, i16 1611, i16 1637, i16 1638, i16 1639, i16 1611, i16 1640, i16 1611, i16 1641, i16 1611, i16 1642, i16 1643, i16 1611, i16 1644, i16 1611, i16 1645, i16 1646, i16 1647, i16 1648, i16 1649, i16 1650, i16 1611, i16 1651, i16 1611, i16 1652, i16 1611, i16 1653, i16 1611, i16 1654, i16 1655, i16 1656, i16 1657, i16 1658, i16 1657, i16 1659, i16 1657, i16 1660, i16 1657, i16 1661, i16 1657, i16 1662, i16 1657, i16 1663, i16 1657, i16 1664, i16 1657, i16 1665, i16 1657, i16 1666, i16 1657, i16 1667, i16 1657, i16 1668, i16 1657, i16 1669, i16 1657, i16 1670, i16 1657, i16 1671, i16 1657, i16 1672, i16 1657, i16 1673, i16 1657, i16 1674, i16 1657, i16 1675, i16 1657, i16 1676, i16 1657, i16 1677, i16 1657, i16 1678, i16 1657, i16 1679, i16 1657, i16 1680, i16 1657, i16 1681, i16 1657, i16 1682, i16 1657, i16 1683, i16 1657, i16 1684, i16 1657, i16 1685, i16 1657, i16 1686, i16 1657, i16 1687, i16 1657, i16 1688, i16 1657, i16 1689, i16 1657, i16 1690, i16 1657, i16 1691, i16 1657, i16 1692, i16 1657, i16 1693, i16 1657, i16 1694, i16 1657, i16 1695, i16 1657, i16 1696, i16 1657, i16 1697, i16 1657, i16 1698, i16 1699, i16 1700, i16 1657, i16 1701, i16 1699, i16 1702, i16 1657, i16 1703, i16 1657, i16 1704, i16 1657, i16 1705, i16 1657, i16 1706, i16 1657, i16 1707, i16 1657, i16 1708, i16 1657, i16 1709, i16 1657, i16 1710, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1189, i16 1189, i16 1189, i16 1189, i16 1712, i16 1712, i16 1713, i16 1714, i16 1714, i16 1714, i16 1714, i16 1714, i16 1714, i16 1712, i16 1712, i16 1715, i16 1715, i16 1715, i16 1712, i16 1716, i16 1716, i16 1716, i16 1716, i16 1712, i16 1712, i16 1712, i16 1717, i16 1717, i16 1717, i16 1717, i16 1717, i16 1717, i16 1717, i16 1712, i16 1718, i16 1718, i16 1718, i16 1718, i16 1712, i16 1719, i16 1719, i16 1719, i16 1719, i16 1712, i16 1720, i16 1720, i16 1720, i16 1720, i16 1712, i16 1721, i16 1721, i16 1721, i16 1721, i16 1712, i16 1722, i16 1722, i16 1712, i16 1723, i16 1723, i16 1712, i16 1724, i16 1724, i16 1712, i16 1725, i16 1725, i16 1712, i16 1726, i16 1726, i16 1726, i16 1726, i16 1712, i16 1727, i16 1727, i16 1727, i16 1727, i16 1712, i16 1728, i16 1728, i16 1728, i16 1728, i16 1712, i16 1729, i16 1729, i16 1729, i16 1729, i16 1712, i16 1730, i16 1730, i16 1730, i16 1730, i16 1712, i16 1731, i16 1731, i16 1731, i16 1731, i16 1712, i16 1732, i16 1732, i16 1732, i16 1732, i16 1712, i16 1733, i16 1733, i16 1733, i16 1733, i16 1712, i16 1734, i16 1734, i16 1734, i16 1734, i16 1712, i16 1735, i16 1735, i16 1735, i16 1735, i16 1712, i16 1736, i16 1736, i16 1736, i16 1736, i16 1712, i16 1737, i16 1737, i16 1737, i16 1737, i16 1712, i16 1738, i16 1738, i16 1738, i16 1738, i16 1712, i16 1739, i16 1739, i16 1739, i16 1739, i16 1712, i16 1740, i16 1740, i16 1740, i16 1740, i16 1712, i16 1741, i16 1741, i16 1712, i16 1742, i16 1742, i16 1712, i16 1743, i16 1743, i16 1743, i16 1743, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 1749, i16 1750, i16 1751, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 1758, i16 1759, i16 1760, i16 1761, i16 1762, i16 1712, i16 1763, i16 1763, i16 1763, i16 1712, i16 1764, i16 1764, i16 1764, i16 1712, i16 1765, i16 1765, i16 1765, i16 1765, i16 1712, i16 1766, i16 1766, i16 1766, i16 1712, i16 1767, i16 1767, i16 1767, i16 1712, i16 1768, i16 1768, i16 1768, i16 1768, i16 1712, i16 1769, i16 1769, i16 1769, i16 1712, i16 1770, i16 1770, i16 1770, i16 1712, i16 1771, i16 1771, i16 1771, i16 1771, i16 1712, i16 1772, i16 1772, i16 1772, i16 1712, i16 1773, i16 1773, i16 1773, i16 1712, i16 1774, i16 1774, i16 1774, i16 1712, i16 1775, i16 1775, i16 1775, i16 1712, i16 1776, i16 1776, i16 1776, i16 1712, i16 1777, i16 1777, i16 1777, i16 1712, i16 1778, i16 1778, i16 1778, i16 1712, i16 1779, i16 1779, i16 1779, i16 1712, i16 1780, i16 1780, i16 1780, i16 1780, i16 1780, i16 1712, i16 1781, i16 1781, i16 1781, i16 1712, i16 1782, i16 1782, i16 1782, i16 1712, i16 1783, i16 1712, i16 1784, i16 1712, i16 1785, i16 1712, i16 1786, i16 1712, i16 1787, i16 1712, i16 1788, i16 1788, i16 1788, i16 1788, i16 1788, i16 1712, i16 1789, i16 1789, i16 1789, i16 1789, i16 1789, i16 1712, i16 1790, i16 1790, i16 1790, i16 1790, i16 1790, i16 1712, i16 1791, i16 1791, i16 1791, i16 1791, i16 1791, i16 1712, i16 1792, i16 1792, i16 1792, i16 1792, i16 1792, i16 1712, i16 1793, i16 1712, i16 1794, i16 1712, i16 1795, i16 1712, i16 1796, i16 1712, i16 1797, i16 1712, i16 1798, i16 1798, i16 1798, i16 1712, i16 1799, i16 1799, i16 1799, i16 1712, i16 1800, i16 1800, i16 1800, i16 1712, i16 1801, i16 1712, i16 1802, i16 1712, i16 1803, i16 1712, i16 1804, i16 1712, i16 1805, i16 1712, i16 1806, i16 1806, i16 1806, i16 1712, i16 1807, i16 1712, i16 1808, i16 1712, i16 1809, i16 1712, i16 1810, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2093, i16 2094, i16 2095, i16 2096, i16 2097, i16 2098, i16 2099, i16 2100, i16 2101, i16 2102, i16 2103, i16 2104, i16 2105, i16 2106, i16 2107, i16 2108, i16 2109, i16 2110, i16 2111, i16 2112, i16 2113, i16 2114, i16 2115, i16 2116, i16 2117, i16 2118, i16 2119, i16 2120, i16 2121, i16 2122, i16 2123, i16 2124, i16 2125, i16 2126, i16 2127, i16 2128, i16 2129, i16 2130, i16 2131, i16 2132, i16 2133, i16 2134, i16 2135, i16 2136, i16 2137, i16 2138, i16 2139, i16 2140, i16 2141, i16 2142, i16 2143, i16 2144, i16 2145, i16 2146, i16 2147, i16 2148, i16 2149, i16 2150, i16 2151, i16 2091, i16 2152, i16 2153, i16 2154, i16 2155, i16 2156, i16 2157, i16 2093, i16 2158, i16 2159, i16 2160, i16 2161, i16 2162, i16 2163, i16 2164, i16 2091, i16 2093, i16 2165, i16 2166, i16 2167, i16 2168, i16 2169, i16 2170, i16 2171, i16 2172, i16 2173, i16 2174, i16 2175, i16 2176, i16 2177, i16 2178, i16 2179, i16 2091, i16 2093, i16 2180, i16 2181, i16 2182, i16 2183, i16 2184, i16 2185, i16 2186, i16 2187, i16 2188, i16 2189, i16 2190, i16 2191, i16 2192, i16 2193, i16 2194, i16 2091, i16 2093, i16 2195, i16 2196, i16 2197, i16 2198, i16 2199, i16 2200, i16 2201, i16 2202, i16 2203, i16 2204, i16 2205, i16 2206, i16 2207, i16 2208, i16 2209, i16 2210, i16 2211, i16 2212, i16 2213, i16 2214, i16 2215, i16 2216, i16 2217, i16 2218, i16 2219, i16 2220, i16 2221, i16 2222, i16 2223, i16 2224, i16 2225, i16 2226, i16 2227, i16 2228, i16 2229, i16 2230, i16 2231, i16 2232, i16 2233, i16 2234, i16 2235, i16 2236, i16 2237, i16 2238, i16 2239, i16 2240, i16 2241, i16 2242, i16 2243, i16 2091, i16 2093, i16 2244, i16 2245, i16 2246, i16 2247, i16 2248, i16 2091, i16 2249, i16 2250, i16 2251, i16 2252, i16 2253, i16 2093, i16 2254, i16 2255, i16 2256, i16 2257, i16 2258, i16 2259, i16 2260, i16 2261, i16 2262, i16 2263, i16 2264, i16 2265, i16 2266, i16 2267, i16 2268, i16 2269, i16 2270, i16 2091, i16 2093, i16 2271, i16 2272, i16 2273, i16 2274, i16 2275, i16 2276, i16 2277, i16 2278, i16 2279, i16 2280, i16 2281, i16 2282, i16 2283, i16 2284, i16 2285, i16 2091, i16 2093, i16 2286, i16 2287, i16 2093, i16 2288, i16 2289, i16 2290, i16 2291, i16 2292, i16 2293, i16 2294, i16 2295, i16 2296, i16 2297, i16 2298, i16 2299, i16 2300, i16 2301, i16 2302, i16 2303, i16 2304, i16 2305, i16 2306, i16 2307, i16 2308, i16 2309, i16 2310, i16 2311, i16 2312, i16 2313, i16 2314, i16 2315, i16 2316, i16 2317, i16 2318, i16 2319, i16 2320, i16 2091, i16 2321, i16 2322, i16 2093, i16 2323, i16 2324, i16 2325, i16 2091, i16 2093, i16 2326, i16 2327, i16 2328, i16 2329, i16 2330, i16 2331, i16 2332, i16 2333, i16 2334, i16 2335, i16 2336, i16 2337, i16 2338, i16 2091, i16 2339, i16 2093, i16 2340, i16 2341, i16 2342, i16 2343, i16 2344, i16 2345, i16 2346, i16 2347, i16 2348, i16 2349, i16 2350, i16 2351, i16 2352, i16 2353, i16 2354, i16 2355, i16 2356, i16 2357, i16 2358, i16 2091, i16 2093, i16 2359, i16 2360, i16 2361, i16 2362, i16 2363, i16 2364, i16 2365, i16 2091, i16 2093, i16 2366, i16 2367, i16 2368, i16 2369, i16 2370, i16 2371, i16 2372, i16 2373, i16 2374, i16 2375, i16 2376, i16 2377, i16 2378, i16 2379, i16 2380, i16 2381, i16 2382, i16 2383, i16 2091, i16 2384, i16 2385, i16 2093, i16 2386, i16 2387, i16 2388, i16 2389, i16 2390, i16 2391, i16 2392, i16 2393, i16 2394, i16 2395, i16 2396, i16 2397, i16 2398, i16 2399, i16 2400, i16 2401, i16 2402, i16 2403, i16 2404, i16 2405, i16 2406, i16 2407, i16 2408, i16 2409, i16 2410, i16 2411, i16 2412, i16 2413, i16 2414, i16 2415, i16 2416, i16 2417, i16 2418, i16 2419, i16 2420, i16 2421, i16 2422, i16 2423, i16 2424, i16 2425, i16 2426, i16 2427, i16 2428, i16 2429, i16 2430, i16 2431, i16 2432, i16 2433, i16 2434, i16 2435, i16 2436, i16 2437, i16 2438, i16 2439, i16 2440, i16 2441, i16 2442, i16 2443, i16 2444, i16 2445, i16 2446, i16 2447, i16 2448, i16 2449, i16 2450, i16 2451, i16 2091, i16 2452, i16 2453, i16 2093, i16 2454, i16 2455, i16 2456, i16 2457, i16 2458, i16 2091, i16 2093, i16 2459, i16 2091, i16 2093, i16 2460, i16 2461, i16 2462, i16 2463, i16 2464, i16 2465, i16 2466, i16 2467, i16 2468, i16 2469, i16 2470, i16 2471, i16 2472, i16 2473, i16 2474, i16 2475, i16 2476, i16 2178, i16 2477, i16 2091, i16 2093, i16 2478, i16 2479, i16 2480, i16 2481, i16 2482, i16 2483, i16 2484, i16 2485, i16 2486, i16 2487, i16 2488, i16 2489, i16 2490, i16 2491, i16 2492, i16 2493, i16 2178, i16 2494, i16 2495, i16 2496, i16 2091, i16 2497, i16 2498, i16 2499, i16 2093, i16 2500, i16 2501, i16 2502, i16 2503, i16 2504, i16 2505, i16 2506, i16 2507, i16 2508, i16 2509, i16 2510, i16 2511, i16 2512, i16 2513, i16 2514, i16 2091, i16 2515, i16 2516, i16 2093, i16 2517, i16 2518, i16 2519, i16 2520, i16 2521, i16 2522, i16 2523, i16 2524, i16 2525, i16 2526, i16 2527, i16 2528, i16 2529, i16 2530, i16 2531, i16 2532, i16 2533, i16 2534, i16 2535, i16 2536, i16 2537, i16 2538, i16 2539, i16 2540, i16 2541, i16 2542, i16 2543, i16 2544, i16 2545, i16 2546, i16 2547, i16 2548, i16 2549, i16 2550, i16 2551, i16 2552, i16 2553, i16 2554, i16 2555, i16 2556, i16 2557, i16 2558, i16 2559, i16 2560, i16 2561, i16 2562, i16 2563, i16 2564, i16 2565, i16 2566, i16 2567, i16 2568, i16 2569, i16 2570, i16 2571, i16 2572, i16 2573, i16 2574, i16 2575, i16 2576, i16 2577, i16 2091, i16 2093, i16 2578, i16 2579, i16 2580, i16 2581, i16 2582, i16 2091, i16 2093, i16 2583, i16 2584, i16 2585, i16 2586, i16 2587, i16 2588, i16 2589, i16 2590, i16 2591, i16 2592, i16 2593, i16 2594, i16 2595, i16 2091, i16 2093, i16 2596, i16 2597, i16 2598, i16 2599, i16 2600, i16 2091, i16 2093, i16 2601, i16 2602, i16 2603, i16 2604, i16 2605, i16 2606, i16 2607, i16 2608, i16 2609, i16 2610, i16 2611, i16 2612, i16 2613, i16 2614, i16 2615, i16 2616, i16 2617, i16 2091, i16 2093, i16 2618, i16 2619, i16 2620, i16 2621, i16 2622, i16 2623, i16 2624, i16 2625, i16 2626, i16 2627, i16 2628, i16 2629, i16 2630, i16 2091, i16 2178, i16 2631, i16 2632, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2634, i16 2635, i16 2636, i16 2637, i16 2638, i16 2639, i16 2640, i16 2641, i16 2642, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2643, i16 2092, i16 2644, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2645, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2646, i16 2647, i16 2648, i16 2649, i16 2650, i16 2647, i16 2651, i16 2647, i16 2652, i16 2647, i16 2653, i16 2647, i16 2654, i16 2655, i16 2656, i16 2647, i16 2657, i16 2647, i16 2658, i16 2659, i16 2660, i16 2647, i16 2661, i16 2647, i16 2662, i16 2663, i16 2664, i16 2665, i16 2666, i16 2667, i16 2647, i16 2668, i16 2647, i16 2669, i16 2647, i16 2670, i16 2647, i16 2671, i16 2647, i16 2672, i16 2647, i16 2673, i16 2674, i16 2675, i16 2647, i16 2676, i16 2647, i16 2677, i16 2647, i16 2678, i16 2679, i16 2647, i16 2680, i16 2647, i16 2681, i16 2682, i16 2683, i16 2684, i16 2685, i16 2686, i16 2647, i16 2687, i16 2647, i16 2688, i16 2647, i16 2689, i16 2647, i16 2690, i16 2691, i16 2692, i16 2693, i16 2694, i16 2693, i16 2695, i16 2693, i16 2696, i16 2693, i16 2697, i16 2693, i16 2698, i16 2693, i16 2699, i16 2693, i16 2700, i16 2693, i16 2701, i16 2693, i16 2702, i16 2693, i16 2703, i16 2693, i16 2704, i16 2693, i16 2705, i16 2693, i16 2706, i16 2693, i16 2707, i16 2693, i16 2708, i16 2693, i16 2709, i16 2693, i16 2710, i16 2693, i16 2711, i16 2693, i16 2712, i16 2693, i16 2713, i16 2693, i16 2714, i16 2693, i16 2715, i16 2693, i16 2716, i16 2693, i16 2717, i16 2693, i16 2718, i16 2693, i16 2719, i16 2693, i16 2720, i16 2693, i16 2721, i16 2693, i16 2722, i16 2693, i16 2723, i16 2693, i16 2724, i16 2693, i16 2725, i16 2693, i16 2726, i16 2693, i16 2727, i16 2693, i16 2728, i16 2693, i16 2729, i16 2693, i16 2730, i16 2693, i16 2731, i16 2693, i16 2732, i16 2693, i16 2733, i16 2693, i16 2734, i16 2735, i16 2736, i16 2693, i16 2737, i16 2735, i16 2738, i16 2693, i16 2739, i16 2693, i16 2740, i16 2693, i16 2741, i16 2693, i16 2742, i16 2693, i16 2743, i16 2693, i16 2744, i16 2693, i16 2745, i16 2693, i16 2746, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2092, i16 2092, i16 2092, i16 2092, i16 2632, i16 2632, i16 2748, i16 2749, i16 2749, i16 2749, i16 2749, i16 2749, i16 2749, i16 2632, i16 2632, i16 2750, i16 2750, i16 2750, i16 2632, i16 2751, i16 2751, i16 2751, i16 2751, i16 2632, i16 2632, i16 2632, i16 2752, i16 2752, i16 2752, i16 2752, i16 2752, i16 2752, i16 2752, i16 2632, i16 2753, i16 2753, i16 2753, i16 2753, i16 2632, i16 2754, i16 2754, i16 2754, i16 2754, i16 2632, i16 2755, i16 2755, i16 2755, i16 2755, i16 2632, i16 2756, i16 2756, i16 2756, i16 2756, i16 2632, i16 2757, i16 2757, i16 2632, i16 2758, i16 2758, i16 2632, i16 2759, i16 2759, i16 2632, i16 2760, i16 2760, i16 2632, i16 2761, i16 2761, i16 2761, i16 2761, i16 2632, i16 2762, i16 2762, i16 2762, i16 2762, i16 2632, i16 2763, i16 2763, i16 2763, i16 2763, i16 2632, i16 2764, i16 2764, i16 2764, i16 2764, i16 2632, i16 2765, i16 2765, i16 2765, i16 2765, i16 2632, i16 2766, i16 2766, i16 2766, i16 2766, i16 2632, i16 2767, i16 2767, i16 2767, i16 2767, i16 2632, i16 2768, i16 2768, i16 2768, i16 2768, i16 2632, i16 2769, i16 2769, i16 2769, i16 2769, i16 2632, i16 2770, i16 2770, i16 2770, i16 2770, i16 2632, i16 2771, i16 2771, i16 2771, i16 2771, i16 2632, i16 2772, i16 2772, i16 2772, i16 2772, i16 2632, i16 2773, i16 2773, i16 2773, i16 2773, i16 2632, i16 2774, i16 2774, i16 2774, i16 2774, i16 2632, i16 2775, i16 2775, i16 2775, i16 2775, i16 2632, i16 2776, i16 2776, i16 2632, i16 2777, i16 2777, i16 2632, i16 2778, i16 2778, i16 2778, i16 2778, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2633, i16 2634, i16 2635, i16 2636, i16 2637, i16 2638, i16 2639, i16 2640, i16 2641, i16 2642, i16 2780, i16 2781, i16 2782, i16 2783, i16 2784, i16 2785, i16 2786, i16 2787, i16 2632, i16 2788, i16 2788, i16 2788, i16 2632, i16 2789, i16 2789, i16 2789, i16 2632, i16 2790, i16 2790, i16 2790, i16 2790, i16 2632, i16 2791, i16 2791, i16 2791, i16 2632, i16 2792, i16 2792, i16 2792, i16 2632, i16 2793, i16 2793, i16 2793, i16 2793, i16 2632, i16 2794, i16 2794, i16 2794, i16 2632, i16 2795, i16 2795, i16 2795, i16 2632, i16 2796, i16 2796, i16 2796, i16 2796, i16 2632, i16 2797, i16 2797, i16 2797, i16 2632, i16 2798, i16 2798, i16 2798, i16 2632, i16 2799, i16 2799, i16 2799, i16 2632, i16 2800, i16 2800, i16 2800, i16 2632, i16 2801, i16 2801, i16 2801, i16 2632, i16 2802, i16 2802, i16 2802, i16 2632, i16 2803, i16 2803, i16 2803, i16 2632, i16 2804, i16 2804, i16 2804, i16 2632, i16 2805, i16 2805, i16 2805, i16 2805, i16 2805, i16 2632, i16 2806, i16 2806, i16 2806, i16 2632, i16 2807, i16 2807, i16 2807, i16 2632, i16 2808, i16 2632, i16 2809, i16 2632, i16 2810, i16 2632, i16 2811, i16 2632, i16 2812, i16 2632, i16 2813, i16 2813, i16 2813, i16 2813, i16 2813, i16 2632, i16 2814, i16 2814, i16 2814, i16 2814, i16 2814, i16 2632, i16 2815, i16 2815, i16 2815, i16 2815, i16 2815, i16 2632, i16 2816, i16 2816, i16 2816, i16 2816, i16 2816, i16 2632, i16 2817, i16 2817, i16 2817, i16 2817, i16 2817, i16 2632, i16 2818, i16 2632, i16 2819, i16 2632, i16 2820, i16 2632, i16 2821, i16 2632, i16 2822, i16 2632, i16 2823, i16 2823, i16 2823, i16 2632, i16 2824, i16 2824, i16 2824, i16 2632, i16 2825, i16 2825, i16 2825, i16 2632, i16 2826, i16 2632, i16 2827, i16 2632, i16 2828, i16 2632, i16 2829, i16 2632, i16 2830, i16 2632, i16 2831, i16 2831, i16 2831, i16 2632, i16 2832, i16 2632, i16 2833, i16 2632, i16 2834, i16 2632, i16 2835, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2837, i16 2836, i16 2838, i16 2836, i16 2839, i16 2836, i16 2840, i16 2836, i16 2841, i16 2836, i16 2842, i16 2836, i16 2843, i16 2836, i16 2844, i16 2836, i16 2845, i16 2836, i16 2846, i16 2836, i16 2847, i16 2836, i16 2848, i16 2836, i16 2849, i16 2836, i16 2850, i16 2836, i16 2851, i16 2836, i16 2852, i16 2836, i16 2853, i16 2836, i16 2854, i16 2836, i16 2855, i16 2836, i16 2856, i16 2836, i16 2857, i16 2836, i16 2858, i16 2836, i16 2859, i16 2836, i16 2860, i16 2836, i16 2861, i16 2836, i16 2862, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2836, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2646, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2866, i16 2867, i16 2866, i16 2868, i16 2866, i16 2869, i16 2866, i16 2870, i16 2866, i16 2871, i16 2866, i16 2872, i16 2866, i16 2873, i16 2866, i16 2874, i16 2866, i16 2875, i16 2866, i16 2876, i16 2877, i16 2878, i16 2877, i16 2879, i16 2877, i16 2880, i16 2877, i16 2881, i16 2877, i16 2882, i16 2877, i16 2883, i16 2877, i16 2884, i16 2877, i16 2885, i16 2877, i16 2886, i16 2877, i16 2887, i16 2877, i16 2888, i16 2877, i16 2889, i16 2877, i16 2890, i16 2877, i16 2891, i16 2877, i16 2892, i16 2877, i16 2893, i16 2877, i16 2894, i16 2877, i16 2895, i16 2877, i16 2896, i16 2877, i16 2897, i16 2877, i16 2898, i16 2877, i16 2899, i16 2877, i16 2900, i16 2877, i16 2901, i16 2877, i16 2902, i16 2877, i16 2903, i16 2866, i16 2904, i16 2905, i16 2906, i16 2907, i16 2908, i16 2866, i16 2909, i16 2910, i16 2911, i16 2912, i16 2913, i16 2866, i16 2914, i16 2915, i16 2916, i16 2917, i16 2918, i16 2866, i16 2919, i16 2920, i16 2921, i16 2922, i16 2923, i16 2866, i16 2924, i16 2925, i16 2926, i16 2927, i16 2928, i16 2866, i16 2929, i16 2930, i16 2931, i16 2932, i16 2933, i16 2866, i16 2934, i16 2935, i16 2936, i16 2937, i16 2938, i16 2866, i16 2939, i16 2940, i16 2941, i16 2942, i16 2943, i16 2866, i16 2944, i16 2945, i16 2946, i16 2947, i16 2948, i16 2866, i16 2949, i16 2950, i16 2951, i16 2952, i16 2953, i16 2866, i16 2954, i16 2955, i16 2956, i16 2957, i16 2958, i16 2866, i16 2959, i16 2960, i16 2961, i16 2962, i16 2963, i16 2866, i16 2964, i16 2965, i16 2966, i16 2967, i16 2968, i16 2866, i16 2969, i16 2970, i16 2971, i16 2972, i16 2973, i16 2866, i16 2974, i16 2975, i16 2976, i16 2977, i16 2978, i16 2866, i16 2979, i16 2980, i16 2981, i16 2982, i16 2983, i16 2866, i16 2984, i16 2985, i16 2986, i16 2987, i16 2988, i16 2866, i16 2989, i16 2990, i16 2991, i16 2992, i16 2993, i16 2866, i16 2994, i16 2995, i16 2996, i16 2997, i16 2998, i16 2866, i16 2999, i16 3000, i16 3001, i16 3002, i16 3003, i16 2866, i16 3004, i16 3005, i16 3006, i16 3007, i16 3008, i16 2866, i16 3009, i16 3010, i16 3011, i16 3012, i16 3013, i16 2866, i16 3014, i16 3015, i16 3016, i16 3017, i16 3018, i16 2866, i16 3019, i16 3020, i16 3021, i16 3022, i16 3023, i16 2866, i16 3024, i16 3025, i16 3026, i16 3027, i16 3028, i16 2866, i16 3029, i16 3030, i16 3031, i16 3032, i16 3033, i16 2866, i16 3034, i16 3035, i16 3036, i16 3037, i16 3038, i16 2866, i16 3039, i16 3040, i16 3041, i16 3042, i16 3043, i16 2866, i16 3044, i16 3045, i16 3046, i16 3047, i16 3048, i16 2866, i16 3049, i16 3050, i16 3051, i16 3052, i16 3053, i16 2866, i16 3054, i16 3055, i16 3056, i16 3057, i16 3058, i16 2866, i16 3059, i16 3060, i16 3061, i16 3062, i16 3063, i16 2866, i16 3064, i16 3065, i16 3066, i16 3067, i16 3068, i16 2866, i16 3069, i16 3070, i16 3071, i16 3072, i16 3073, i16 2866, i16 3074, i16 3075, i16 3076, i16 3077, i16 3078, i16 2866, i16 2866, i16 3079, i16 3080, i16 3081, i16 3082, i16 3083, i16 2866, i16 2866, i16 3084, i16 3085, i16 3086, i16 3087, i16 3088, i16 2866, i16 3089, i16 3090, i16 3091, i16 3092, i16 3093, i16 2866, i16 3094, i16 3095, i16 3096, i16 3097, i16 3098, i16 2866, i16 3099, i16 3100, i16 3101, i16 3102, i16 3103, i16 2866, i16 3104, i16 3105, i16 3106, i16 3107, i16 3108, i16 2866, i16 3109, i16 3110, i16 3111, i16 3112, i16 3113, i16 2866, i16 3114, i16 3115, i16 3116, i16 3117, i16 3118, i16 2866, i16 3119, i16 3120, i16 3121, i16 3122, i16 3123, i16 2866, i16 2866, i16 2866, i16 2866, i16 3124, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 99, i16 104, i16 112, i16 117, i16 122, i16 124, i16 126, i16 128, i16 130, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 1162, i16 296, i16 0, i16 704, i16 0, i16 1166, i16 293, i16 0, i16 714, i16 0, i16 1168, i16 296, i16 0, i16 1167, i16 293, i16 0, i16 723, i16 0, i16 1169, i16 299, i16 0, i16 728, i16 0, i16 1170, i16 293, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 49, i16 51, i16 53, i16 55, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 83, i16 85, i16 87, i16 89, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 1174, i16 169, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 1176, i16 169, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 1173, i16 169, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 1175, i16 169, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 1222, i16 411, i16 0, i16 1221, i16 491, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 1219, i16 411, i16 0, i16 1220, i16 491, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 48, i16 50, i16 52, i16 54, i16 62, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 94, i16 96, i16 98, i16 100, i16 108, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 138, i16 140, i16 142, i16 144, i16 146, i16 148, i16 478, i16 0, i16 1265, i16 1008, i16 0, i16 1264, i16 1047, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 1269, i16 421, i16 0, i16 1268, i16 501, i16 0, i16 504, i16 0, i16 1273, i16 421, i16 0, i16 1272, i16 501, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 1262, i16 1008, i16 0, i16 1263, i16 1047, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 1266, i16 421, i16 0, i16 1267, i16 501, i16 0, i16 425, i16 0, i16 1270, i16 421, i16 0, i16 1271, i16 501, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 52, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 92, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 1318, i16 989, i16 0, i16 1317, i16 1029, i16 0, i16 491, i16 0, i16 1322, i16 401, i16 0, i16 1321, i16 481, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 1315, i16 989, i16 0, i16 1316, i16 1029, i16 0, i16 411, i16 0, i16 1319, i16 401, i16 0, i16 1320, i16 481, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 1222, i16 411, i16 0, i16 1221, i16 491, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1328, i16 413, i16 0, i16 1327, i16 493, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 1219, i16 411, i16 0, i16 1220, i16 491, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1325, i16 413, i16 0, i16 1326, i16 493, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 62, i16 142, i16 144, i16 168, i16 170, i16 194, i16 218, i16 220, i16 222, i16 224, i16 248, i16 272, i16 274, i16 298, i16 322, i16 402, i16 404, i16 428, i16 430, i16 454, i16 478, i16 480, i16 482, i16 484, i16 508, i16 532, i16 534, i16 558, i16 560, i16 562, i16 564, i16 566, i16 568, i16 570, i16 572, i16 574, i16 576, i16 1425, i16 451, i16 0, i16 1429, i16 398, i16 451, i16 0, i16 1428, i16 398, i16 528, i16 0, i16 1424, i16 528, i16 0, i16 1427, i16 478, i16 451, i16 0, i16 1426, i16 478, i16 528, i16 0, i16 478, i16 0, i16 1451, i16 471, i16 451, i16 0, i16 1450, i16 471, i16 528, i16 0, i16 1437, i16 471, i16 0, i16 1459, i16 399, i16 471, i16 451, i16 0, i16 1458, i16 399, i16 471, i16 528, i16 0, i16 1441, i16 399, i16 471, i16 0, i16 1457, i16 399, i16 548, i16 451, i16 0, i16 1456, i16 399, i16 548, i16 528, i16 0, i16 1440, i16 399, i16 548, i16 0, i16 1449, i16 548, i16 451, i16 0, i16 1448, i16 548, i16 528, i16 0, i16 1436, i16 548, i16 0, i16 1455, i16 479, i16 471, i16 451, i16 0, i16 1454, i16 479, i16 471, i16 528, i16 0, i16 1439, i16 479, i16 471, i16 0, i16 1453, i16 479, i16 548, i16 451, i16 0, i16 1452, i16 479, i16 548, i16 528, i16 0, i16 1438, i16 479, i16 548, i16 0, i16 479, i16 0, i16 490, i16 0, i16 1473, i16 467, i16 0, i16 1477, i16 411, i16 467, i16 0, i16 1476, i16 411, i16 544, i16 0, i16 1472, i16 544, i16 0, i16 1475, i16 491, i16 467, i16 0, i16 1474, i16 491, i16 544, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 1485, i16 467, i16 0, i16 1489, i16 425, i16 467, i16 0, i16 1488, i16 425, i16 544, i16 0, i16 1484, i16 544, i16 0, i16 1487, i16 504, i16 467, i16 0, i16 1486, i16 504, i16 544, i16 0, i16 504, i16 0, i16 1497, i16 467, i16 0, i16 1501, i16 432, i16 467, i16 0, i16 1500, i16 432, i16 544, i16 0, i16 1496, i16 544, i16 0, i16 1499, i16 511, i16 467, i16 0, i16 1498, i16 511, i16 544, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 1509, i16 471, i16 0, i16 1513, i16 451, i16 471, i16 0, i16 1512, i16 451, i16 548, i16 0, i16 1508, i16 548, i16 0, i16 1511, i16 528, i16 471, i16 0, i16 1510, i16 528, i16 548, i16 0, i16 528, i16 0, i16 1521, i16 467, i16 0, i16 1525, i16 453, i16 467, i16 0, i16 1524, i16 453, i16 544, i16 0, i16 1520, i16 544, i16 0, i16 1523, i16 530, i16 467, i16 0, i16 1522, i16 530, i16 544, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 1537, i16 471, i16 451, i16 0, i16 1536, i16 471, i16 528, i16 0, i16 1533, i16 451, i16 0, i16 1535, i16 548, i16 451, i16 0, i16 1534, i16 548, i16 528, i16 0, i16 1532, i16 528, i16 0, i16 548, i16 0, i16 1431, i16 451, i16 0, i16 1435, i16 398, i16 451, i16 0, i16 1434, i16 398, i16 528, i16 0, i16 1430, i16 528, i16 0, i16 1433, i16 478, i16 451, i16 0, i16 1432, i16 478, i16 528, i16 0, i16 398, i16 0, i16 1463, i16 471, i16 451, i16 0, i16 1462, i16 471, i16 528, i16 0, i16 1443, i16 471, i16 0, i16 1471, i16 399, i16 471, i16 451, i16 0, i16 1470, i16 399, i16 471, i16 528, i16 0, i16 1447, i16 399, i16 471, i16 0, i16 1469, i16 399, i16 548, i16 451, i16 0, i16 1468, i16 399, i16 548, i16 528, i16 0, i16 1446, i16 399, i16 548, i16 0, i16 1461, i16 548, i16 451, i16 0, i16 1460, i16 548, i16 528, i16 0, i16 1442, i16 548, i16 0, i16 1467, i16 479, i16 471, i16 451, i16 0, i16 1466, i16 479, i16 471, i16 528, i16 0, i16 1445, i16 479, i16 471, i16 0, i16 1465, i16 479, i16 548, i16 451, i16 0, i16 1464, i16 479, i16 548, i16 528, i16 0, i16 1444, i16 479, i16 548, i16 0, i16 399, i16 0, i16 410, i16 0, i16 1478, i16 467, i16 0, i16 1483, i16 411, i16 467, i16 0, i16 1482, i16 411, i16 544, i16 0, i16 1479, i16 544, i16 0, i16 1481, i16 491, i16 467, i16 0, i16 1480, i16 491, i16 544, i16 0, i16 411, i16 0, i16 990, i16 0, i16 1490, i16 467, i16 0, i16 1495, i16 425, i16 467, i16 0, i16 1494, i16 425, i16 544, i16 0, i16 1491, i16 544, i16 0, i16 1493, i16 504, i16 467, i16 0, i16 1492, i16 504, i16 544, i16 0, i16 425, i16 0, i16 1502, i16 467, i16 0, i16 1507, i16 432, i16 467, i16 0, i16 1506, i16 432, i16 544, i16 0, i16 1503, i16 544, i16 0, i16 1505, i16 511, i16 467, i16 0, i16 1504, i16 511, i16 544, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 1515, i16 471, i16 0, i16 1519, i16 451, i16 471, i16 0, i16 1518, i16 451, i16 548, i16 0, i16 1514, i16 548, i16 0, i16 1517, i16 528, i16 471, i16 0, i16 1516, i16 528, i16 548, i16 0, i16 451, i16 0, i16 1527, i16 467, i16 0, i16 1531, i16 453, i16 467, i16 0, i16 1530, i16 453, i16 544, i16 0, i16 1526, i16 544, i16 0, i16 1529, i16 530, i16 467, i16 0, i16 1528, i16 530, i16 544, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 1543, i16 471, i16 451, i16 0, i16 1542, i16 471, i16 528, i16 0, i16 1539, i16 451, i16 0, i16 1541, i16 548, i16 451, i16 0, i16 1540, i16 548, i16 528, i16 0, i16 1538, i16 528, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 112, i16 117, i16 122, i16 127, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1559, i16 1554, i16 0, i16 1556, i16 1552, i16 0, i16 1073, i16 0, i16 1560, i16 1553, i16 0, i16 582, i16 0, i16 1562, i16 1553, i16 0, i16 1080, i16 0, i16 1563, i16 1553, i16 0, i16 1082, i16 0, i16 1561, i16 1553, i16 0, i16 1564, i16 0, i16 38, i16 46, i16 54, i16 62, i16 64, i16 66, i16 74, i16 82, i16 84, i16 92, i16 100, i16 102, i16 110, i16 112, i16 114, i16 122, i16 130, i16 138, i16 140, i16 142, i16 150, i16 158, i16 160, i16 168, i16 176, i16 178, i16 186, i16 188, i16 190, i16 192, i16 194, i16 196, i16 198, i16 200, i16 202, i16 204, i16 206, i16 208, i16 1591, i16 413, i16 0, i16 1590, i16 493, i16 0, i16 478, i16 0, i16 1595, i16 399, i16 0, i16 1594, i16 479, i16 0, i16 479, i16 0, i16 1599, i16 410, i16 0, i16 1598, i16 490, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 1603, i16 425, i16 0, i16 1602, i16 504, i16 0, i16 504, i16 0, i16 1222, i16 411, i16 0, i16 1221, i16 491, i16 0, i16 511, i16 0, i16 515, i16 0, i16 1607, i16 413, i16 0, i16 1606, i16 493, i16 0, i16 522, i16 0, i16 1611, i16 413, i16 0, i16 1610, i16 493, i16 0, i16 524, i16 0, i16 528, i16 0, i16 1615, i16 413, i16 0, i16 1614, i16 493, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 1588, i16 413, i16 0, i16 1589, i16 493, i16 0, i16 398, i16 0, i16 1592, i16 399, i16 0, i16 1593, i16 479, i16 0, i16 399, i16 0, i16 1596, i16 410, i16 0, i16 1597, i16 490, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 1600, i16 425, i16 0, i16 1601, i16 504, i16 0, i16 425, i16 0, i16 1219, i16 411, i16 0, i16 1220, i16 491, i16 0, i16 432, i16 0, i16 437, i16 0, i16 1604, i16 413, i16 0, i16 1605, i16 493, i16 0, i16 445, i16 0, i16 1608, i16 413, i16 0, i16 1609, i16 493, i16 0, i16 447, i16 0, i16 451, i16 0, i16 1612, i16 413, i16 0, i16 1613, i16 493, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 138, i16 140, i16 1591, i16 413, i16 0, i16 1590, i16 493, i16 0, i16 1621, i16 169, i16 413, i16 0, i16 1620, i16 169, i16 493, i16 0, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 1588, i16 413, i16 0, i16 1589, i16 493, i16 0, i16 1618, i16 169, i16 413, i16 0, i16 1619, i16 169, i16 493, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 10, i16 12, i16 14, i16 16, i16 18, i16 20, i16 22, i16 24, i16 26, i16 28, i16 681, i16 0, i16 738, i16 0, i16 749, i16 0, i16 901, i16 0, i16 927, i16 0, i16 682, i16 0, i16 739, i16 0, i16 750, i16 0, i16 902, i16 0, i16 928, i16 0, i16 10, i16 18, i16 20, i16 22, i16 24, i16 26, i16 34, i16 36, i16 38, i16 40, i16 1884, i16 682, i16 0, i16 1883, i16 681, i16 0, i16 681, i16 0, i16 738, i16 0, i16 749, i16 0, i16 901, i16 0, i16 927, i16 0, i16 1886, i16 682, i16 0, i16 1885, i16 681, i16 0, i16 682, i16 0, i16 739, i16 0, i16 750, i16 0, i16 902, i16 0, i16 928, i16 0, i16 10, i16 12, i16 14, i16 22, i16 30, i16 38, i16 40, i16 42, i16 50, i16 58, i16 681, i16 0, i16 738, i16 0, i16 1928, i16 1880, i16 0, i16 1927, i16 1879, i16 0, i16 749, i16 0, i16 1932, i16 884, i16 0, i16 1931, i16 883, i16 0, i16 901, i16 0, i16 1936, i16 884, i16 0, i16 1935, i16 883, i16 0, i16 927, i16 0, i16 682, i16 0, i16 739, i16 0, i16 1930, i16 1880, i16 0, i16 1929, i16 1879, i16 0, i16 750, i16 0, i16 1934, i16 884, i16 0, i16 1933, i16 883, i16 0, i16 902, i16 0, i16 1938, i16 884, i16 0, i16 1937, i16 883, i16 0, i16 928, i16 0, i16 10, i16 12, i16 20, i16 22, i16 30, i16 32, i16 34, i16 42, i16 44, i16 52, i16 681, i16 0, i16 1940, i16 837, i16 0, i16 1939, i16 836, i16 0, i16 738, i16 0, i16 749, i16 0, i16 1944, i16 902, i16 0, i16 1943, i16 901, i16 0, i16 901, i16 0, i16 927, i16 0, i16 682, i16 0, i16 1942, i16 837, i16 0, i16 1941, i16 836, i16 0, i16 739, i16 0, i16 750, i16 0, i16 1946, i16 902, i16 0, i16 1945, i16 901, i16 0, i16 902, i16 0, i16 928, i16 0, i16 2, i16 10, i16 295, i16 278, i16 0, i16 294, i16 277, i16 0, i16 161, i16 0, i16 296, i16 278, i16 0, i16 162, i16 0, i16 5, i16 139, i16 273, i16 407, i16 541, i16 387, i16 386, i16 0, i16 381, i16 380, i16 0, i16 375, i16 374, i16 0, i16 369, i16 368, i16 0, i16 363, i16 362, i16 0, i16 357, i16 356, i16 0, i16 351, i16 350, i16 0, i16 345, i16 344, i16 0, i16 338, i16 337, i16 0, i16 331, i16 330, i16 0, i16 325, i16 324, i16 0, i16 319, i16 318, i16 0, i16 313, i16 312, i16 0, i16 307, i16 306, i16 0, i16 301, i16 300, i16 0, i16 295, i16 294, i16 0, i16 289, i16 288, i16 0, i16 283, i16 282, i16 0, i16 277, i16 276, i16 0, i16 271, i16 270, i16 0, i16 265, i16 264, i16 0, i16 259, i16 258, i16 0, i16 253, i16 252, i16 0, i16 247, i16 246, i16 0, i16 241, i16 240, i16 0, i16 235, i16 234, i16 0, i16 229, i16 228, i16 0, i16 223, i16 222, i16 0, i16 217, i16 216, i16 0, i16 211, i16 210, i16 0, i16 205, i16 204, i16 0, i16 199, i16 198, i16 0, i16 193, i16 192, i16 0, i16 187, i16 186, i16 0, i16 181, i16 180, i16 0, i16 175, i16 174, i16 0, i16 169, i16 168, i16 0, i16 163, i16 162, i16 0, i16 157, i16 156, i16 0, i16 151, i16 150, i16 0, i16 145, i16 144, i16 0, i16 139, i16 138, i16 0, i16 133, i16 132, i16 0, i16 127, i16 126, i16 0, i16 404, i16 0, i16 388, i16 386, i16 0, i16 382, i16 380, i16 0, i16 376, i16 374, i16 0, i16 370, i16 368, i16 0, i16 364, i16 362, i16 0, i16 358, i16 356, i16 0, i16 352, i16 350, i16 0, i16 346, i16 344, i16 0, i16 339, i16 337, i16 0, i16 332, i16 330, i16 0, i16 326, i16 324, i16 0, i16 320, i16 318, i16 0, i16 314, i16 312, i16 0, i16 308, i16 306, i16 0, i16 302, i16 300, i16 0, i16 296, i16 294, i16 0, i16 290, i16 288, i16 0, i16 284, i16 282, i16 0, i16 278, i16 276, i16 0, i16 272, i16 270, i16 0, i16 266, i16 264, i16 0, i16 260, i16 258, i16 0, i16 254, i16 252, i16 0, i16 248, i16 246, i16 0, i16 242, i16 240, i16 0, i16 236, i16 234, i16 0, i16 230, i16 228, i16 0, i16 224, i16 222, i16 0, i16 218, i16 216, i16 0, i16 212, i16 210, i16 0, i16 206, i16 204, i16 0, i16 200, i16 198, i16 0, i16 194, i16 192, i16 0, i16 188, i16 186, i16 0, i16 182, i16 180, i16 0, i16 176, i16 174, i16 0, i16 170, i16 168, i16 0, i16 164, i16 162, i16 0, i16 158, i16 156, i16 0, i16 152, i16 150, i16 0, i16 146, i16 144, i16 0, i16 140, i16 138, i16 0, i16 134, i16 132, i16 0, i16 128, i16 126, i16 0, i16 405, i16 0, i16 389, i16 386, i16 0, i16 383, i16 380, i16 0, i16 377, i16 374, i16 0, i16 371, i16 368, i16 0, i16 365, i16 362, i16 0, i16 359, i16 356, i16 0, i16 353, i16 350, i16 0, i16 347, i16 344, i16 0, i16 340, i16 337, i16 0, i16 333, i16 330, i16 0, i16 327, i16 324, i16 0, i16 321, i16 318, i16 0, i16 315, i16 312, i16 0, i16 309, i16 306, i16 0, i16 303, i16 300, i16 0, i16 297, i16 294, i16 0, i16 291, i16 288, i16 0, i16 285, i16 282, i16 0, i16 279, i16 276, i16 0, i16 273, i16 270, i16 0, i16 267, i16 264, i16 0, i16 261, i16 258, i16 0, i16 255, i16 252, i16 0, i16 249, i16 246, i16 0, i16 243, i16 240, i16 0, i16 237, i16 234, i16 0, i16 231, i16 228, i16 0, i16 225, i16 222, i16 0, i16 219, i16 216, i16 0, i16 213, i16 210, i16 0, i16 207, i16 204, i16 0, i16 201, i16 198, i16 0, i16 195, i16 192, i16 0, i16 189, i16 186, i16 0, i16 183, i16 180, i16 0, i16 177, i16 174, i16 0, i16 171, i16 168, i16 0, i16 165, i16 162, i16 0, i16 159, i16 156, i16 0, i16 153, i16 150, i16 0, i16 147, i16 144, i16 0, i16 141, i16 138, i16 0, i16 135, i16 132, i16 0, i16 129, i16 126, i16 0, i16 406, i16 0, i16 390, i16 386, i16 0, i16 384, i16 380, i16 0, i16 378, i16 374, i16 0, i16 372, i16 368, i16 0, i16 366, i16 362, i16 0, i16 360, i16 356, i16 0, i16 354, i16 350, i16 0, i16 348, i16 344, i16 0, i16 341, i16 337, i16 0, i16 334, i16 330, i16 0, i16 328, i16 324, i16 0, i16 322, i16 318, i16 0, i16 316, i16 312, i16 0, i16 310, i16 306, i16 0, i16 304, i16 300, i16 0, i16 298, i16 294, i16 0, i16 292, i16 288, i16 0, i16 286, i16 282, i16 0, i16 280, i16 276, i16 0, i16 274, i16 270, i16 0, i16 268, i16 264, i16 0, i16 262, i16 258, i16 0, i16 256, i16 252, i16 0, i16 250, i16 246, i16 0, i16 244, i16 240, i16 0, i16 238, i16 234, i16 0, i16 232, i16 228, i16 0, i16 226, i16 222, i16 0, i16 220, i16 216, i16 0, i16 214, i16 210, i16 0, i16 208, i16 204, i16 0, i16 202, i16 198, i16 0, i16 196, i16 192, i16 0, i16 190, i16 186, i16 0, i16 184, i16 180, i16 0, i16 178, i16 174, i16 0, i16 172, i16 168, i16 0, i16 166, i16 162, i16 0, i16 160, i16 156, i16 0, i16 154, i16 150, i16 0, i16 148, i16 144, i16 0, i16 142, i16 138, i16 0, i16 136, i16 132, i16 0, i16 130, i16 126, i16 0, i16 407, i16 0, i16 391, i16 386, i16 0, i16 385, i16 380, i16 0, i16 379, i16 374, i16 0, i16 373, i16 368, i16 0, i16 367, i16 362, i16 0, i16 361, i16 356, i16 0, i16 355, i16 350, i16 0, i16 349, i16 344, i16 0, i16 342, i16 337, i16 0, i16 335, i16 330, i16 0, i16 329, i16 324, i16 0, i16 323, i16 318, i16 0, i16 317, i16 312, i16 0, i16 311, i16 306, i16 0, i16 305, i16 300, i16 0, i16 299, i16 294, i16 0, i16 293, i16 288, i16 0, i16 287, i16 282, i16 0, i16 281, i16 276, i16 0, i16 275, i16 270, i16 0, i16 269, i16 264, i16 0, i16 263, i16 258, i16 0, i16 257, i16 252, i16 0, i16 251, i16 246, i16 0, i16 245, i16 240, i16 0, i16 239, i16 234, i16 0, i16 233, i16 228, i16 0, i16 227, i16 222, i16 0, i16 221, i16 216, i16 0, i16 215, i16 210, i16 0, i16 209, i16 204, i16 0, i16 203, i16 198, i16 0, i16 197, i16 192, i16 0, i16 191, i16 186, i16 0, i16 185, i16 180, i16 0, i16 179, i16 174, i16 0, i16 173, i16 168, i16 0, i16 167, i16 162, i16 0, i16 161, i16 156, i16 0, i16 155, i16 150, i16 0, i16 149, i16 144, i16 0, i16 143, i16 138, i16 0, i16 137, i16 132, i16 0, i16 131, i16 126, i16 0, i16 408, i16 0, i16 1, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 263, i16 1158, i16 0, i16 1159, i16 0, i16 2, i16 272, i16 1160, i16 0, i16 1161, i16 0, i16 2, i16 1375, i16 1163, i16 748, i16 1164, i16 749, i16 2, i16 1381, i16 1165, i16 750, i16 1166, i16 751, i16 2, i16 1392, i16 1167, i16 752, i16 1168, i16 753, i16 2, i16 1401, i16 1169, i16 754, i16 1170, i16 755, i16 1, i16 1156, i16 244, i16 0, i16 1157, i16 253, i16 0, i16 1162, i16 1370, i16 756, i16 1155, i16 22611, i16 1, i16 0, i16 1, i16 1171, i16 142, i16 0, i16 1172, i16 163, i16 0, i16 1173, i16 699, i16 757, i16 1174, i16 907, i16 758, i16 1175, i16 762, i16 759, i16 1176, i16 968, i16 760, i16 1155, i16 22611, i16 1, i16 0, i16 1, i16 1177, i16 306, i16 0, i16 1178, i16 1512, i16 761, i16 1179, i16 1576, i16 762, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 145, i16 900, i16 0, i16 1183, i16 0, i16 901, i16 0, i16 902, i16 0, i16 903, i16 0, i16 2, i16 636, i16 1196, i16 763, i16 974, i16 764, i16 2, i16 845, i16 1197, i16 765, i16 1014, i16 766, i16 2, i16 712, i16 992, i16 767, i16 990, i16 768, i16 2, i16 920, i16 1030, i16 769, i16 1032, i16 770, i16 2, i16 749, i16 995, i16 771, i16 994, i16 772, i16 2, i16 956, i16 1035, i16 773, i16 1034, i16 774, i16 2, i16 762, i16 1198, i16 775, i16 996, i16 775, i16 2, i16 968, i16 1199, i16 776, i16 1036, i16 776, i16 1, i16 1180, i16 121, i16 0, i16 1181, i16 127, i16 0, i16 1182, i16 142, i16 0, i16 1184, i16 161, i16 0, i16 1185, i16 163, i16 0, i16 1186, i16 173, i16 0, i16 1187, i16 178, i16 0, i16 1188, i16 303, i16 0, i16 1189, i16 309, i16 0, i16 1190, i16 322, i16 0, i16 1191, i16 327, i16 0, i16 1192, i16 330, i16 0, i16 1193, i16 340, i16 0, i16 1194, i16 343, i16 0, i16 1195, i16 346, i16 0, i16 978, i16 656, i16 777, i16 1018, i16 864, i16 778, i16 985, i16 699, i16 779, i16 1025, i16 907, i16 780, i16 1001, i16 787, i16 781, i16 1041, i16 992, i16 782, i16 1004, i16 809, i16 783, i16 1043, i16 1013, i16 784, i16 1200, i16 1506, i16 785, i16 1201, i16 1570, i16 786, i16 1202, i16 1514, i16 787, i16 1203, i16 1579, i16 788, i16 1204, i16 1532, i16 789, i16 1205, i16 1597, i16 790, i16 1206, i16 1538, i16 791, i16 1207, i16 1603, i16 792, i16 1208, i16 1541, i16 793, i16 1209, i16 1606, i16 794, i16 1210, i16 1549, i16 795, i16 1211, i16 1614, i16 796, i16 1212, i16 1553, i16 797, i16 1213, i16 1618, i16 798, i16 1214, i16 1556, i16 799, i16 1215, i16 1621, i16 800, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 749, i16 1219, i16 801, i16 1220, i16 802, i16 2, i16 956, i16 1221, i16 803, i16 1222, i16 804, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1218, i16 161, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 12, i16 22611, i16 1223, i16 805, i16 1224, i16 805, i16 1225, i16 805, i16 1226, i16 805, i16 1227, i16 805, i16 1228, i16 805, i16 1229, i16 805, i16 1230, i16 805, i16 1231, i16 805, i16 1232, i16 805, i16 1233, i16 805, i16 1234, i16 805, i16 1, i16 1155, i16 22623, i16 1, i16 0, i16 1, i16 1188, i16 303, i16 0, i16 1235, i16 316, i16 0, i16 1236, i16 322, i16 0, i16 1237, i16 338, i16 0, i16 1238, i16 343, i16 0, i16 1239, i16 346, i16 0, i16 1200, i16 1506, i16 785, i16 1201, i16 1570, i16 786, i16 1240, i16 1524, i16 806, i16 1241, i16 1588, i16 807, i16 1242, i16 1532, i16 808, i16 1243, i16 1597, i16 809, i16 1244, i16 1549, i16 810, i16 1245, i16 1614, i16 811, i16 1246, i16 1553, i16 812, i16 1247, i16 1618, i16 813, i16 1248, i16 1556, i16 814, i16 1249, i16 1621, i16 815, i16 1155, i16 22611, i16 1, i16 0, i16 4, i16 189, i16 1250, i16 0, i16 1251, i16 0, i16 1252, i16 0, i16 1253, i16 0, i16 3, i16 645, i16 974, i16 816, i16 975, i16 817, i16 977, i16 818, i16 2, i16 769, i16 996, i16 819, i16 997, i16 820, i16 3, i16 853, i16 1014, i16 821, i16 1015, i16 822, i16 1017, i16 823, i16 2, i16 974, i16 1036, i16 824, i16 1037, i16 825, i16 1, i16 895, i16 53, i16 0, i16 1046, i16 1026, i16 826, i16 1007, i16 822, i16 827, i16 1004, i16 813, i16 828, i16 1043, i16 1017, i16 829, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 127, i16 1254, i16 0, i16 1255, i16 0, i16 898, i16 0, i16 1256, i16 0, i16 1257, i16 0, i16 2, i16 656, i16 979, i16 830, i16 981, i16 831, i16 2, i16 864, i16 1019, i16 832, i16 1021, i16 833, i16 3, i16 670, i16 1262, i16 834, i16 1263, i16 835, i16 984, i16 836, i16 3, i16 878, i16 1264, i16 837, i16 1265, i16 838, i16 1024, i16 839, i16 2, i16 736, i16 1266, i16 840, i16 1267, i16 841, i16 2, i16 943, i16 1268, i16 842, i16 1269, i16 843, i16 2, i16 749, i16 1270, i16 844, i16 1271, i16 845, i16 2, i16 956, i16 1272, i16 846, i16 1273, i16 847, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1258, i16 158, i16 0, i16 1259, i16 161, i16 0, i16 1260, i16 173, i16 0, i16 1261, i16 189, i16 0, i16 1000, i16 787, i16 848, i16 1040, i16 992, i16 849, i16 1008, i16 834, i16 850, i16 1047, i16 1038, i16 851, i16 1155, i16 22611, i16 1, i16 0, i16 4, i16 121, i16 1274, i16 0, i16 1275, i16 0, i16 1276, i16 0, i16 1277, i16 0, i16 4, i16 127, i16 1255, i16 0, i16 1278, i16 0, i16 1279, i16 0, i16 1280, i16 0, i16 2, i16 133, i16 1281, i16 0, i16 1282, i16 0, i16 2, i16 142, i16 1284, i16 0, i16 1285, i16 0, i16 2, i16 173, i16 1287, i16 0, i16 1260, i16 0, i16 5, i16 194, i16 1288, i16 0, i16 1253, i16 0, i16 1250, i16 0, i16 1289, i16 0, i16 1252, i16 0, i16 4, i16 636, i16 971, i16 852, i16 970, i16 853, i16 972, i16 854, i16 973, i16 855, i16 4, i16 845, i16 1011, i16 856, i16 1010, i16 857, i16 1012, i16 858, i16 1013, i16 859, i16 2, i16 656, i16 978, i16 860, i16 981, i16 861, i16 2, i16 864, i16 1018, i16 862, i16 1021, i16 863, i16 2, i16 667, i16 1290, i16 864, i16 1291, i16 865, i16 2, i16 875, i16 1292, i16 864, i16 1293, i16 866, i16 2, i16 670, i16 983, i16 867, i16 984, i16 868, i16 2, i16 878, i16 1023, i16 869, i16 1024, i16 870, i16 2, i16 709, i16 1295, i16 871, i16 1296, i16 872, i16 2, i16 917, i16 1297, i16 871, i16 1298, i16 872, i16 3, i16 992, i16 1002, i16 873, i16 1000, i16 874, i16 1040, i16 875, i16 3, i16 645, i16 974, i16 876, i16 975, i16 817, i16 977, i16 877, i16 2, i16 769, i16 996, i16 819, i16 997, i16 820, i16 3, i16 853, i16 1014, i16 878, i16 1015, i16 822, i16 1017, i16 879, i16 2, i16 974, i16 1036, i16 824, i16 1037, i16 825, i16 1, i16 889, i16 16, i16 0, i16 1283, i16 138, i16 0, i16 1286, i16 156, i16 0, i16 1294, i16 696, i16 880, i16 1299, i16 734, i16 881, i16 1300, i16 941, i16 882, i16 1004, i16 813, i16 828, i16 1043, i16 1017, i16 829, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 46, i16 897, i16 0, i16 896, i16 0, i16 2, i16 121, i16 1301, i16 0, i16 1302, i16 0, i16 2, i16 636, i16 972, i16 883, i16 976, i16 884, i16 2, i16 845, i16 1012, i16 885, i16 1016, i16 886, i16 2, i16 787, i16 1305, i16 781, i16 1001, i16 781, i16 2, i16 992, i16 1306, i16 781, i16 1041, i16 782, i16 2, i16 799, i16 1307, i16 887, i16 1003, i16 887, i16 2, i16 1003, i16 1308, i16 887, i16 1042, i16 888, i16 1, i16 1303, i16 152, i16 0, i16 1186, i16 173, i16 0, i16 1304, i16 176, i16 0, i16 991, i16 717, i16 889, i16 1031, i16 925, i16 890, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 699, i16 1315, i16 891, i16 1316, i16 892, i16 2, i16 907, i16 1317, i16 893, i16 1318, i16 894, i16 2, i16 717, i16 1319, i16 895, i16 1320, i16 896, i16 2, i16 925, i16 1321, i16 897, i16 1322, i16 898, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1309, i16 127, i16 0, i16 1310, i16 138, i16 0, i16 1311, i16 142, i16 0, i16 1312, i16 145, i16 0, i16 1313, i16 152, i16 0, i16 1314, i16 187, i16 0, i16 982, i16 656, i16 899, i16 1022, i16 864, i16 900, i16 987, i16 696, i16 901, i16 1027, i16 904, i16 902, i16 989, i16 712, i16 903, i16 1029, i16 920, i16 904, i16 1009, i16 829, i16 905, i16 1048, i16 1033, i16 906, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 749, i16 1219, i16 907, i16 1220, i16 908, i16 2, i16 956, i16 1221, i16 909, i16 1222, i16 910, i16 2, i16 824, i16 1325, i16 911, i16 1326, i16 912, i16 2, i16 1028, i16 1327, i16 913, i16 1328, i16 914, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1323, i16 161, i16 0, i16 1324, i16 184, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 76, i16 1632, i16 1329, i16 915, i16 1330, i16 915, i16 1331, i16 915, i16 1332, i16 915, i16 1333, i16 915, i16 1334, i16 915, i16 1335, i16 915, i16 1336, i16 915, i16 1337, i16 915, i16 1338, i16 915, i16 1339, i16 915, i16 1340, i16 915, i16 1341, i16 915, i16 1342, i16 915, i16 1343, i16 915, i16 1344, i16 915, i16 1345, i16 915, i16 1346, i16 915, i16 1347, i16 915, i16 1348, i16 915, i16 1349, i16 915, i16 1350, i16 915, i16 1351, i16 915, i16 1352, i16 915, i16 1353, i16 915, i16 1354, i16 915, i16 1355, i16 915, i16 1356, i16 915, i16 1357, i16 915, i16 1358, i16 915, i16 1359, i16 915, i16 1360, i16 915, i16 1361, i16 915, i16 1362, i16 915, i16 1363, i16 915, i16 1364, i16 915, i16 1365, i16 915, i16 1366, i16 915, i16 1367, i16 916, i16 1368, i16 916, i16 1369, i16 916, i16 1370, i16 916, i16 1371, i16 916, i16 1372, i16 916, i16 1373, i16 916, i16 1374, i16 916, i16 1375, i16 916, i16 1376, i16 916, i16 1377, i16 916, i16 1378, i16 916, i16 1379, i16 916, i16 1380, i16 916, i16 1381, i16 916, i16 1382, i16 916, i16 1383, i16 916, i16 1384, i16 916, i16 1385, i16 916, i16 1386, i16 916, i16 1387, i16 916, i16 1388, i16 916, i16 1389, i16 916, i16 1390, i16 916, i16 1391, i16 916, i16 1392, i16 916, i16 1393, i16 916, i16 1394, i16 916, i16 1395, i16 916, i16 1396, i16 916, i16 1397, i16 916, i16 1398, i16 916, i16 1399, i16 916, i16 1400, i16 916, i16 1401, i16 916, i16 1402, i16 916, i16 1403, i16 916, i16 1404, i16 916, i16 1, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 3, i16 1216, i16 0, i16 1405, i16 0, i16 1406, i16 0, i16 1407, i16 0, i16 1408, i16 0, i16 5, i16 16, i16 1217, i16 0, i16 1409, i16 0, i16 1410, i16 0, i16 1411, i16 0, i16 1412, i16 0, i16 2, i16 133, i16 1414, i16 0, i16 1415, i16 0, i16 4, i16 163, i16 996, i16 917, i16 998, i16 918, i16 1036, i16 919, i16 1038, i16 920, i16 4, i16 178, i16 1004, i16 921, i16 1006, i16 922, i16 1043, i16 923, i16 1045, i16 924, i16 6, i16 864, i16 1424, i16 925, i16 1425, i16 926, i16 1426, i16 927, i16 1427, i16 928, i16 1428, i16 929, i16 1429, i16 930, i16 6, i16 656, i16 1430, i16 931, i16 1431, i16 932, i16 1432, i16 933, i16 1433, i16 934, i16 1434, i16 935, i16 1435, i16 936, i16 6, i16 878, i16 1436, i16 937, i16 1437, i16 938, i16 1438, i16 939, i16 1439, i16 940, i16 1440, i16 941, i16 1441, i16 942, i16 6, i16 670, i16 1442, i16 943, i16 1443, i16 944, i16 1444, i16 945, i16 1445, i16 946, i16 1446, i16 947, i16 1447, i16 948, i16 12, i16 878, i16 1448, i16 949, i16 1449, i16 950, i16 1450, i16 951, i16 1451, i16 952, i16 1452, i16 953, i16 1453, i16 954, i16 1454, i16 955, i16 1455, i16 956, i16 1456, i16 953, i16 1457, i16 954, i16 1458, i16 955, i16 1459, i16 956, i16 12, i16 670, i16 1460, i16 957, i16 1461, i16 958, i16 1462, i16 959, i16 1463, i16 960, i16 1464, i16 961, i16 1465, i16 962, i16 1466, i16 963, i16 1467, i16 964, i16 1468, i16 961, i16 1469, i16 962, i16 1470, i16 963, i16 1471, i16 964, i16 6, i16 907, i16 1472, i16 965, i16 1473, i16 966, i16 1474, i16 967, i16 1475, i16 968, i16 1476, i16 969, i16 1477, i16 970, i16 6, i16 699, i16 1478, i16 971, i16 1479, i16 972, i16 1480, i16 973, i16 1481, i16 974, i16 1482, i16 975, i16 1483, i16 976, i16 6, i16 943, i16 1484, i16 977, i16 1485, i16 978, i16 1486, i16 979, i16 1487, i16 980, i16 1488, i16 981, i16 1489, i16 982, i16 6, i16 736, i16 1490, i16 983, i16 1491, i16 984, i16 1492, i16 985, i16 1493, i16 986, i16 1494, i16 987, i16 1495, i16 988, i16 6, i16 956, i16 1496, i16 989, i16 1497, i16 990, i16 1498, i16 991, i16 1499, i16 992, i16 1500, i16 993, i16 1501, i16 994, i16 6, i16 749, i16 1502, i16 995, i16 1503, i16 996, i16 1504, i16 997, i16 1505, i16 998, i16 1506, i16 999, i16 1507, i16 1000, i16 6, i16 992, i16 1508, i16 1001, i16 1509, i16 1002, i16 1510, i16 1003, i16 1511, i16 1004, i16 1512, i16 1005, i16 1513, i16 1006, i16 6, i16 787, i16 1514, i16 1007, i16 1515, i16 1008, i16 1516, i16 1009, i16 1517, i16 1010, i16 1518, i16 1011, i16 1519, i16 1012, i16 6, i16 1003, i16 1520, i16 1013, i16 1521, i16 1014, i16 1522, i16 1015, i16 1523, i16 1016, i16 1524, i16 1017, i16 1525, i16 1018, i16 6, i16 799, i16 1526, i16 1019, i16 1527, i16 1020, i16 1528, i16 1021, i16 1529, i16 1022, i16 1530, i16 1023, i16 1531, i16 1024, i16 6, i16 1038, i16 1532, i16 1025, i16 1533, i16 1026, i16 1534, i16 1027, i16 1535, i16 1028, i16 1536, i16 1029, i16 1537, i16 1030, i16 6, i16 834, i16 1538, i16 1031, i16 1539, i16 1032, i16 1540, i16 1033, i16 1541, i16 1034, i16 1542, i16 1035, i16 1543, i16 1036, i16 1, i16 1413, i16 127, i16 0, i16 1416, i16 142, i16 0, i16 1417, i16 158, i16 0, i16 1418, i16 161, i16 0, i16 1419, i16 163, i16 0, i16 1420, i16 173, i16 0, i16 1421, i16 176, i16 0, i16 1422, i16 178, i16 0, i16 1423, i16 189, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 9, i16 31, i16 890, i16 0, i16 892, i16 0, i16 1544, i16 0, i16 891, i16 0, i16 1545, i16 0, i16 1546, i16 0, i16 1547, i16 0, i16 893, i16 0, i16 894, i16 0, i16 2, i16 42, i16 1548, i16 0, i16 1549, i16 0, i16 3, i16 194, i16 1550, i16 0, i16 906, i16 0, i16 905, i16 0, i16 2, i16 238, i16 907, i16 0, i16 1551, i16 0, i16 16, i16 482, i16 961, i16 1037, i16 962, i16 1037, i16 963, i16 1037, i16 967, i16 1037, i16 968, i16 1037, i16 969, i16 1037, i16 964, i16 1037, i16 965, i16 1037, i16 966, i16 1037, i16 954, i16 1037, i16 955, i16 1037, i16 956, i16 1037, i16 959, i16 1037, i16 960, i16 1037, i16 957, i16 1037, i16 958, i16 1037, i16 4, i16 520, i16 1552, i16 1037, i16 1553, i16 1037, i16 1554, i16 1037, i16 1555, i16 1037, i16 35, i16 1049, i16 1050, i16 641, i16 1049, i16 642, i16 1052, i16 643, i16 1051, i16 644, i16 1054, i16 645, i16 1053, i16 646, i16 1056, i16 647, i16 1055, i16 648, i16 1058, i16 649, i16 1057, i16 650, i16 1060, i16 651, i16 1059, i16 652, i16 1062, i16 653, i16 1061, i16 654, i16 1064, i16 655, i16 1063, i16 656, i16 1066, i16 657, i16 1065, i16 658, i16 1068, i16 659, i16 1067, i16 660, i16 1070, i16 1038, i16 1556, i16 1038, i16 1073, i16 665, i16 1557, i16 1039, i16 1069, i16 661, i16 1071, i16 1040, i16 1558, i16 1040, i16 1072, i16 1041, i16 1559, i16 1041, i16 1079, i16 1042, i16 1560, i16 1042, i16 1081, i16 1043, i16 1561, i16 1044, i16 1562, i16 1045, i16 1563, i16 1043, i16 2, i16 1135, i16 1076, i16 667, i16 1075, i16 1046, i16 6, i16 1148, i16 1077, i16 669, i16 1074, i16 1047, i16 1078, i16 1048, i16 1564, i16 1049, i16 1080, i16 1050, i16 1082, i16 1051, i16 15, i16 1160, i16 1084, i16 1052, i16 1085, i16 1053, i16 1090, i16 1054, i16 1091, i16 1055, i16 1565, i16 1056, i16 1566, i16 1057, i16 1083, i16 1058, i16 1086, i16 1059, i16 1087, i16 1060, i16 1088, i16 1061, i16 1089, i16 1062, i16 1108, i16 1063, i16 1109, i16 1064, i16 1567, i16 1065, i16 1568, i16 1066, i16 8, i16 1276, i16 1098, i16 1067, i16 1099, i16 1068, i16 1100, i16 1069, i16 1101, i16 1070, i16 1094, i16 1071, i16 1095, i16 1072, i16 1096, i16 1073, i16 1097, i16 1074, i16 26, i16 1320, i16 1102, i16 1075, i16 1103, i16 1076, i16 1104, i16 1077, i16 1105, i16 1078, i16 1092, i16 1079, i16 1093, i16 1080, i16 1106, i16 1081, i16 1107, i16 1082, i16 1570, i16 1083, i16 1571, i16 1084, i16 1572, i16 1085, i16 1573, i16 1086, i16 1110, i16 1087, i16 1111, i16 1088, i16 1112, i16 1089, i16 1113, i16 1090, i16 1114, i16 1091, i16 1115, i16 1092, i16 1116, i16 1093, i16 1117, i16 1094, i16 1118, i16 1095, i16 1119, i16 1096, i16 1120, i16 1097, i16 1121, i16 1098, i16 1122, i16 1099, i16 1123, i16 1100, i16 1, i16 1569, i16 1229, i16 1101, i16 1155, i16 22611, i16 1, i16 0, i16 1, i16 1574, i16 127, i16 0, i16 1575, i16 142, i16 0, i16 1576, i16 145, i16 0, i16 1577, i16 154, i16 0, i16 1578, i16 173, i16 0, i16 1579, i16 178, i16 0, i16 1020, i16 864, i16 1102, i16 980, i16 656, i16 1103, i16 1026, i16 907, i16 1104, i16 986, i16 699, i16 1105, i16 1028, i16 920, i16 1106, i16 988, i16 712, i16 1107, i16 1033, i16 937, i16 1108, i16 993, i16 729, i16 1109, i16 1039, i16 992, i16 1110, i16 999, i16 787, i16 1111, i16 1044, i16 1013, i16 1112, i16 1005, i16 809, i16 1113, i16 1155, i16 22611, i16 1, i16 0, i16 3, i16 127, i16 1580, i16 0, i16 898, i16 0, i16 1581, i16 0, i16 3, i16 138, i16 1582, i16 0, i16 899, i16 0, i16 1583, i16 0, i16 2, i16 656, i16 1588, i16 1114, i16 1589, i16 1115, i16 2, i16 864, i16 1590, i16 1116, i16 1591, i16 1117, i16 2, i16 670, i16 1592, i16 1118, i16 1593, i16 1119, i16 2, i16 878, i16 1594, i16 1120, i16 1595, i16 1121, i16 2, i16 696, i16 1596, i16 1122, i16 1597, i16 1123, i16 2, i16 904, i16 1598, i16 1124, i16 1599, i16 1125, i16 2, i16 699, i16 1219, i16 1126, i16 1220, i16 1127, i16 2, i16 907, i16 1221, i16 1128, i16 1222, i16 1129, i16 2, i16 736, i16 1600, i16 1130, i16 1601, i16 1131, i16 2, i16 943, i16 1602, i16 1132, i16 1603, i16 1133, i16 2, i16 777, i16 1604, i16 1134, i16 1605, i16 1135, i16 2, i16 982, i16 1606, i16 1136, i16 1607, i16 1137, i16 2, i16 781, i16 1608, i16 1138, i16 1609, i16 1139, i16 2, i16 986, i16 1610, i16 1140, i16 1611, i16 1141, i16 2, i16 799, i16 1612, i16 1142, i16 1613, i16 1143, i16 2, i16 1003, i16 1614, i16 1144, i16 1615, i16 1145, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1584, i16 158, i16 0, i16 1585, i16 168, i16 0, i16 1586, i16 171, i16 0, i16 1587, i16 176, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 127, i16 1254, i16 0, i16 1255, i16 0, i16 898, i16 0, i16 1256, i16 0, i16 1257, i16 0, i16 2, i16 656, i16 979, i16 830, i16 981, i16 831, i16 2, i16 864, i16 1019, i16 832, i16 1021, i16 833, i16 3, i16 670, i16 1262, i16 834, i16 1263, i16 835, i16 984, i16 836, i16 5, i16 878, i16 1264, i16 837, i16 1265, i16 838, i16 1024, i16 839, i16 1266, i16 840, i16 1267, i16 841, i16 2, i16 943, i16 1268, i16 842, i16 1269, i16 843, i16 2, i16 749, i16 1270, i16 844, i16 1271, i16 845, i16 2, i16 956, i16 1272, i16 846, i16 1273, i16 847, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1258, i16 158, i16 0, i16 1259, i16 161, i16 0, i16 1260, i16 173, i16 0, i16 1261, i16 189, i16 0, i16 1000, i16 787, i16 848, i16 1040, i16 992, i16 849, i16 1008, i16 834, i16 850, i16 1047, i16 1038, i16 851, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 127, i16 1616, i16 0, i16 1617, i16 0, i16 4, i16 656, i16 1588, i16 1146, i16 1589, i16 1147, i16 1618, i16 1148, i16 1619, i16 1149, i16 4, i16 864, i16 1590, i16 1150, i16 1591, i16 1151, i16 1620, i16 1152, i16 1621, i16 1153, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 46, i16 74, i16 908, i16 0, i16 909, i16 0, i16 910, i16 0, i16 911, i16 0, i16 912, i16 0, i16 913, i16 0, i16 914, i16 0, i16 915, i16 0, i16 916, i16 0, i16 917, i16 0, i16 918, i16 0, i16 919, i16 0, i16 920, i16 0, i16 921, i16 0, i16 922, i16 0, i16 923, i16 0, i16 924, i16 0, i16 925, i16 0, i16 926, i16 0, i16 927, i16 0, i16 928, i16 0, i16 929, i16 0, i16 930, i16 0, i16 931, i16 0, i16 932, i16 0, i16 933, i16 0, i16 934, i16 0, i16 935, i16 0, i16 936, i16 0, i16 937, i16 0, i16 938, i16 0, i16 939, i16 0, i16 940, i16 0, i16 941, i16 0, i16 942, i16 0, i16 943, i16 0, i16 944, i16 0, i16 945, i16 0, i16 946, i16 0, i16 947, i16 0, i16 948, i16 0, i16 949, i16 0, i16 950, i16 0, i16 951, i16 0, i16 952, i16 0, i16 953, i16 0, i16 3, i16 1508, i16 1125, i16 1154, i16 1136, i16 1155, i16 1128, i16 1156, i16 3, i16 1514, i16 1126, i16 1157, i16 1127, i16 1158, i16 1138, i16 1159, i16 3, i16 1524, i16 1144, i16 1160, i16 1130, i16 1161, i16 1137, i16 1162, i16 3, i16 1572, i16 1140, i16 1163, i16 1152, i16 1164, i16 1143, i16 1165, i16 3, i16 1579, i16 1141, i16 1166, i16 1142, i16 1167, i16 1154, i16 1168, i16 3, i16 1588, i16 1129, i16 1169, i16 1145, i16 1170, i16 1153, i16 1171, i16 1, i16 1124, i16 1506, i16 1172, i16 1133, i16 1532, i16 1173, i16 1131, i16 1534, i16 1174, i16 1132, i16 1538, i16 1175, i16 1135, i16 1549, i16 1176, i16 1134, i16 1556, i16 1177, i16 1139, i16 1570, i16 1178, i16 1146, i16 1594, i16 1179, i16 1149, i16 1597, i16 1180, i16 1147, i16 1599, i16 1181, i16 1148, i16 1603, i16 1182, i16 1151, i16 1614, i16 1183, i16 1150, i16 1621, i16 1184, i16 1155, i16 22611, i16 1, i16 0, i16 6, i16 145, i16 904, i16 0, i16 900, i16 0, i16 1183, i16 0, i16 901, i16 0, i16 902, i16 0, i16 903, i16 0, i16 2, i16 712, i16 992, i16 767, i16 990, i16 768, i16 2, i16 920, i16 1030, i16 769, i16 1032, i16 770, i16 1, i16 1181, i16 127, i16 0, i16 1180, i16 136, i16 0, i16 1182, i16 142, i16 0, i16 1622, i16 163, i16 0, i16 1186, i16 173, i16 0, i16 1187, i16 178, i16 0, i16 1188, i16 303, i16 0, i16 1189, i16 309, i16 0, i16 1190, i16 322, i16 0, i16 1192, i16 330, i16 0, i16 1193, i16 340, i16 0, i16 1194, i16 343, i16 0, i16 1195, i16 346, i16 0, i16 978, i16 656, i16 777, i16 1018, i16 864, i16 778, i16 1196, i16 686, i16 763, i16 1197, i16 894, i16 765, i16 985, i16 699, i16 779, i16 1025, i16 907, i16 780, i16 996, i16 762, i16 1185, i16 1036, i16 968, i16 1186, i16 1001, i16 787, i16 781, i16 1041, i16 992, i16 782, i16 1004, i16 809, i16 783, i16 1043, i16 1013, i16 784, i16 1200, i16 1506, i16 785, i16 1201, i16 1570, i16 786, i16 1202, i16 1514, i16 787, i16 1203, i16 1579, i16 788, i16 1204, i16 1532, i16 789, i16 1205, i16 1597, i16 790, i16 1208, i16 1541, i16 793, i16 1209, i16 1606, i16 794, i16 1210, i16 1549, i16 795, i16 1211, i16 1614, i16 796, i16 1212, i16 1553, i16 797, i16 1213, i16 1618, i16 798, i16 1214, i16 1556, i16 799, i16 1215, i16 1621, i16 800, i16 1155, i16 22611, i16 1, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 877, i16 1780, i16 1190, i16 1781, i16 1833, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 990, i16 1792, i16 1190, i16 1793, i16 1844, i16 3, i16 1009, i16 1794, i16 1845, i16 1795, i16 1846, i16 1796, i16 1847, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 4, i16 1206, i16 1828, i16 1190, i16 1829, i16 1878, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1266, i16 1838, i16 1190, i16 1839, i16 1887, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 8, i16 1361, i16 1848, i16 1190, i16 1849, i16 1896, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1803, i16 1075, i16 1925, i16 0, i16 2, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 20, i16 1370, i16 1850, i16 1934, i16 1851, i16 1935, i16 1852, i16 1936, i16 1853, i16 1937, i16 1854, i16 1938, i16 1855, i16 1939, i16 1856, i16 1934, i16 1857, i16 1940, i16 1858, i16 1941, i16 1859, i16 1942, i16 1860, i16 1943, i16 1861, i16 1944, i16 1862, i16 1945, i16 1863, i16 1946, i16 1864, i16 1947, i16 1865, i16 1948, i16 1866, i16 1949, i16 1867, i16 1950, i16 1868, i16 1951, i16 1869, i16 1952, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 7, i16 1418, i16 1874, i16 1187, i16 1848, i16 1953, i16 1849, i16 1954, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 20, i16 1440, i16 1760, i16 1190, i16 1761, i16 1955, i16 1762, i16 1956, i16 1763, i16 1957, i16 1764, i16 1190, i16 1765, i16 1958, i16 1770, i16 1959, i16 1771, i16 1960, i16 1772, i16 1959, i16 1773, i16 1961, i16 1774, i16 1959, i16 1775, i16 1962, i16 1828, i16 1190, i16 1829, i16 1878, i16 1822, i16 1963, i16 1823, i16 1964, i16 1824, i16 1963, i16 1825, i16 1965, i16 1820, i16 1966, i16 1821, i16 1967, i16 27, i16 2011, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 1, i16 1696, i16 1, i16 1187, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 877, i16 1778, i16 1968, i16 1779, i16 1846, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1836, i16 1971, i16 1837, i16 1846, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 2, i16 1429, i16 1881, i16 1923, i16 1882, i16 1924, i16 2, i16 1440, i16 1879, i16 1974, i16 1880, i16 1846, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 2, i16 836, i16 1768, i16 1821, i16 1769, i16 1822, i16 8, i16 843, i16 1766, i16 1190, i16 1767, i16 1975, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 877, i16 1776, i16 1190, i16 1777, i16 1976, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 2, i16 944, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 955, i16 1786, i16 1190, i16 1787, i16 1977, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 2, i16 1088, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1099, i16 1804, i16 1190, i16 1805, i16 1978, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 4, i16 1132, i16 1808, i16 1190, i16 1809, i16 1979, i16 1814, i16 1864, i16 1815, i16 1865, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 4, i16 1206, i16 1816, i16 1190, i16 1817, i16 1980, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1834, i16 1190, i16 1835, i16 1981, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 3, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 2, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 4, i16 1440, i16 1877, i16 1190, i16 1878, i16 1982, i16 1881, i16 1190, i16 1882, i16 1983, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 9, i16 1418, i16 1874, i16 1187, i16 1848, i16 1984, i16 1849, i16 1985, i16 1844, i16 1984, i16 1845, i16 1986, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 24, i16 1440, i16 1770, i16 1190, i16 1771, i16 1987, i16 1772, i16 1988, i16 1773, i16 1989, i16 1774, i16 1990, i16 1775, i16 1991, i16 1764, i16 1992, i16 1765, i16 1993, i16 1822, i16 1190, i16 1823, i16 1994, i16 1824, i16 1995, i16 1825, i16 1996, i16 1828, i16 1997, i16 1829, i16 1998, i16 1818, i16 1999, i16 1819, i16 2000, i16 1760, i16 1190, i16 1761, i16 1955, i16 1883, i16 2001, i16 1884, i16 2002, i16 1885, i16 2003, i16 1886, i16 2004, i16 1762, i16 2001, i16 1763, i16 2005, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 2, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 8, i16 843, i16 1768, i16 1190, i16 1769, i16 2006, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 877, i16 1778, i16 1190, i16 1779, i16 2007, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 2, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 2, i16 955, i16 1788, i16 1190, i16 1789, i16 2008, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 990, i16 1790, i16 1190, i16 1791, i16 2009, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 7, i16 1046, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 1874, i16 1187, i16 1799, i16 1190, i16 1800, i16 2010, i16 3, i16 1075, i16 1801, i16 1190, i16 1802, i16 2011, i16 1803, i16 1925, i16 2, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 2, i16 1099, i16 1806, i16 1190, i16 1807, i16 2012, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 4, i16 1132, i16 1812, i16 1190, i16 1813, i16 2013, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 4, i16 1206, i16 1826, i16 1190, i16 1827, i16 2014, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1242, i16 1832, i16 1190, i16 1833, i16 2015, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1836, i16 1190, i16 1837, i16 2016, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 8, i16 1361, i16 1846, i16 1190, i16 1847, i16 2017, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1418, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 2, i16 1429, i16 1881, i16 1923, i16 1882, i16 1924, i16 2, i16 1440, i16 1879, i16 1190, i16 1880, i16 2018, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1046, i16 1870, i16 1190, i16 1871, i16 1915, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 2, i16 1400, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 81, i16 1697, i16 1712, i16 1698, i16 2019, i16 1699, i16 2019, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 898, i16 1887, i16 2020, i16 1888, i16 2021, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 9, i16 1418, i16 1874, i16 1187, i16 1848, i16 1984, i16 1849, i16 1985, i16 1844, i16 1984, i16 1845, i16 1986, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 24, i16 1440, i16 1770, i16 1190, i16 1771, i16 1987, i16 1772, i16 1988, i16 1773, i16 1989, i16 1774, i16 1990, i16 1775, i16 1991, i16 1764, i16 1992, i16 1765, i16 1993, i16 1822, i16 1190, i16 1823, i16 1994, i16 1824, i16 1995, i16 1825, i16 1996, i16 1828, i16 1997, i16 1829, i16 1998, i16 1818, i16 1999, i16 1819, i16 2000, i16 1760, i16 1190, i16 1761, i16 1955, i16 1883, i16 2001, i16 1884, i16 2002, i16 1885, i16 2003, i16 1886, i16 2004, i16 1762, i16 2001, i16 1763, i16 2005, i16 1, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1220, i16 2022, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1892, i16 1189, i16 1893, i16 1189, i16 1894, i16 1189, i16 3, i16 461, i16 1895, i16 1189, i16 1896, i16 1189, i16 1897, i16 1189, i16 3, i16 465, i16 1898, i16 1189, i16 1899, i16 1189, i16 1900, i16 1189, i16 3, i16 469, i16 1901, i16 1189, i16 1902, i16 1189, i16 1903, i16 1189, i16 2, i16 491, i16 1910, i16 1189, i16 1911, i16 1189, i16 2, i16 499, i16 1913, i16 1189, i16 1914, i16 1189, i16 29, i16 519, i16 1918, i16 1189, i16 1703, i16 1189, i16 1704, i16 1189, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 1717, i16 1189, i16 1718, i16 1189, i16 1719, i16 1189, i16 1720, i16 1189, i16 1721, i16 1189, i16 1722, i16 1189, i16 1723, i16 1189, i16 1724, i16 1189, i16 1725, i16 1189, i16 1726, i16 1189, i16 1727, i16 1189, i16 1728, i16 1189, i16 1729, i16 1189, i16 1730, i16 1189, i16 2, i16 753, i16 1919, i16 1189, i16 1920, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1759, i16 1846, i16 1758, i16 2023, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 898, i16 1888, i16 1846, i16 1887, i16 2024, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 955, i16 1785, i16 1846, i16 1784, i16 2025, i16 4, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 1921, i16 2026, i16 1922, i16 2027, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1046, i16 1798, i16 1846, i16 1797, i16 2028, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 2029, i16 1815, i16 2030, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 2, i16 1179, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1817, i16 1846, i16 1816, i16 2031, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 8, i16 1361, i16 1843, i16 1846, i16 1842, i16 2032, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 2, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 7, i16 1418, i16 1874, i16 1187, i16 1873, i16 1846, i16 1872, i16 2033, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 10, i16 1440, i16 1841, i16 1846, i16 1840, i16 2034, i16 1771, i16 1846, i16 1770, i16 2035, i16 1831, i16 2036, i16 1830, i16 2037, i16 1829, i16 1846, i16 1828, i16 2038, i16 1823, i16 2039, i16 1822, i16 2040, i16 4, i16 2011, i16 1923, i16 1744, i16 1924, i16 2041, i16 1925, i16 2042, i16 1926, i16 2043, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1702, i16 205, i16 1189, i16 1701, i16 221, i16 1189, i16 1700, i16 324, i16 1189, i16 1889, i16 371, i16 1189, i16 1890, i16 445, i16 1189, i16 1891, i16 447, i16 1189, i16 1904, i16 473, i16 1189, i16 1905, i16 476, i16 1189, i16 1906, i16 479, i16 1189, i16 1907, i16 481, i16 1189, i16 1908, i16 484, i16 1189, i16 1909, i16 487, i16 1189, i16 1912, i16 495, i16 1189, i16 1915, i16 503, i16 1189, i16 1916, i16 507, i16 1189, i16 1917, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 4, i16 877, i16 1778, i16 1190, i16 1779, i16 2007, i16 1776, i16 1190, i16 1777, i16 1976, i16 6, i16 898, i16 1927, i16 1190, i16 1928, i16 2044, i16 1929, i16 2045, i16 1930, i16 2046, i16 1782, i16 1190, i16 1783, i16 2047, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 4, i16 1099, i16 1931, i16 1190, i16 1932, i16 2048, i16 1933, i16 2049, i16 1934, i16 2050, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 6, i16 1132, i16 1935, i16 1190, i16 1936, i16 2051, i16 1937, i16 2052, i16 1938, i16 2053, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1836, i16 1190, i16 1837, i16 2016, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 2, i16 1429, i16 1881, i16 1923, i16 1882, i16 1924, i16 2, i16 1440, i16 1879, i16 1190, i16 1880, i16 2018, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 4, i16 1132, i16 1810, i16 1190, i16 1811, i16 2054, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 10, i16 1266, i16 1836, i16 2055, i16 1837, i16 2056, i16 1875, i16 2057, i16 1876, i16 2058, i16 1877, i16 2059, i16 1878, i16 2060, i16 1881, i16 2061, i16 1882, i16 2062, i16 1879, i16 2063, i16 1880, i16 2064, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 22, i16 1370, i16 1856, i16 2065, i16 1857, i16 2066, i16 1858, i16 2067, i16 1859, i16 2068, i16 1860, i16 2069, i16 1861, i16 2070, i16 1862, i16 2071, i16 1863, i16 2072, i16 1868, i16 2073, i16 1869, i16 2074, i16 1866, i16 2075, i16 1867, i16 2076, i16 1864, i16 2077, i16 1865, i16 2078, i16 1820, i16 2079, i16 1821, i16 2080, i16 1764, i16 2081, i16 1765, i16 2082, i16 1828, i16 2081, i16 1829, i16 2083, i16 1848, i16 2081, i16 1849, i16 2084, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 1874, i16 1418, i16 1187, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 4, i16 877, i16 1939, i16 1190, i16 1940, i16 2085, i16 1941, i16 2086, i16 1942, i16 2087, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 4, i16 1099, i16 1943, i16 1190, i16 1944, i16 2088, i16 1945, i16 2089, i16 1946, i16 2090, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 4, i16 1132, i16 1810, i16 1190, i16 1811, i16 2054, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 32766, i16 32766, i16 32766, i16 -2, i16 16384, i16 0, i16 16384, i16 -2, i16 16384, i16 0, i16 16384, i16 -16206, i16 16384, i16 0, i16 16384, i16 -16204, i16 16384, i16 0, i16 16384, i16 -16353, i16 16384, i16 0, i16 16384, i16 -16352, i16 16384, i16 0, i16 16384, i16 -16351, i16 16384, i16 0, i16 16384, i16 -16350, i16 16384, i16 0, i16 16384, i16 -16349, i16 16384, i16 0, i16 16384, i16 -16348, i16 16384, i16 0, i16 16384, i16 -16347, i16 16384, i16 0, i16 16384, i16 -16346, i16 16384, i16 0, i16 16384, i16 -16345, i16 16384, i16 0, i16 16384, i16 -16344, i16 16384, i16 0, i16 16384, i16 -16343, i16 16384, i16 0, i16 16384, i16 -16342, i16 16384, i16 0, i16 16384, i16 -16341, i16 16384, i16 0, i16 16384, i16 -15486, i16 16384, i16 0, i16 16384, i16 -16340, i16 16384, i16 0, i16 16384, i16 -16339, i16 16384, i16 0, i16 16384, i16 -15485, i16 16384, i16 0, i16 16384, i16 -16338, i16 16384, i16 0, i16 16384, i16 -15484, i16 16384, i16 0, i16 16384, i16 -15483, i16 16384, i16 0, i16 16384, i16 -15482, i16 16384, i16 0, i16 16384, i16 -16337, i16 16384, i16 0, i16 16384, i16 -16336, i16 16384, i16 0, i16 16384, i16 -16335, i16 16384, i16 0, i16 16384, i16 -16334, i16 16384, i16 0, i16 16384, i16 -16333, i16 16384, i16 0, i16 16384, i16 -15481, i16 16384, i16 0, i16 16384, i16 -16332, i16 16384, i16 0, i16 16384, i16 -16331, i16 16384, i16 0, i16 16384, i16 -16330, i16 16384, i16 0, i16 16384, i16 -16329, i16 16384, i16 0, i16 16384, i16 -16328, i16 16384, i16 0, i16 16384, i16 -16327, i16 16384, i16 0, i16 16384, i16 -15480, i16 16384, i16 0, i16 16384, i16 -16326, i16 16384, i16 0, i16 16384, i16 -16325, i16 16534, i16 14, i16 17273, i16 -16384, i16 16415, i16 14, i16 17273, i16 -16384, i16 16416, i16 14, i16 17273, i16 -16384, i16 16417, i16 14, i16 17273, i16 -16384, i16 16418, i16 14, i16 17273, i16 -16384, i16 16419, i16 14, i16 17273, i16 -16384, i16 16420, i16 14, i16 17273, i16 -16384, i16 16421, i16 14, i16 17273, i16 -16384, i16 16422, i16 14, i16 17273, i16 -16384, i16 16423, i16 14, i16 17273, i16 -16384, i16 16424, i16 14, i16 17273, i16 -16384, i16 16415, i16 17, i16 17273, i16 -16384, i16 16415, i16 896, i16 17273, i16 -16384, i16 16415, i16 897, i16 17273, i16 -16384, i16 16415, i16 19, i16 17273, i16 -16384, i16 16415, i16 21, i16 17273, i16 -16384, i16 16415, i16 18, i16 17273, i16 -16384, i16 16415, i16 20, i16 17273, i16 -16384, i16 16415, i16 14, i16 16392, i16 -16384, i16 16416, i16 14, i16 16392, i16 -16384, i16 16417, i16 14, i16 16392, i16 -16384, i16 16418, i16 14, i16 16392, i16 -16384, i16 16419, i16 14, i16 16392, i16 -16384, i16 16420, i16 14, i16 16392, i16 -16384, i16 16421, i16 14, i16 16392, i16 -16384, i16 16422, i16 14, i16 16392, i16 -16384, i16 16423, i16 14, i16 16392, i16 -16384, i16 16424, i16 14, i16 16392, i16 -16384, i16 16425, i16 14, i16 17273, i16 -16384, i16 16425, i16 15, i16 16392, i16 -16384, i16 16425, i16 26, i16 17273, i16 -16384, i16 16425, i16 27, i16 17273, i16 -16384, i16 16426, i16 14, i16 17273, i16 -16384, i16 16427, i16 14, i16 17273, i16 -16384, i16 17282, i16 14, i16 17273, i16 -16384, i16 17282, i16 18, i16 17273, i16 -16384, i16 16428, i16 14, i16 17273, i16 -16384, i16 16428, i16 16, i16 17273, i16 -16384, i16 16428, i16 17, i16 17273, i16 -16384, i16 16428, i16 897, i16 17273, i16 -16384, i16 16428, i16 20, i16 17273, i16 -16384, i16 16428, i16 18, i16 17273, i16 -16384, i16 16428, i16 23, i16 17273, i16 -16384, i16 16428, i16 26, i16 17273, i16 -16384, i16 16428, i16 27, i16 17273, i16 -16384, i16 16429, i16 14, i16 17273, i16 -16384, i16 17283, i16 14, i16 17273, i16 -16384, i16 17283, i16 25, i16 17273, i16 -16384, i16 16430, i16 14, i16 17273, i16 -16384, i16 17284, i16 16, i16 17273, i16 -16384, i16 17284, i16 17, i16 17273, i16 -16384, i16 17284, i16 20, i16 17273, i16 -16384, i16 17284, i16 22, i16 17273, i16 -16384, i16 17284, i16 26, i16 17273, i16 -16384, i16 17284, i16 27, i16 17273, i16 -16384, i16 18009, i16 1628, i16 18015, i16 -16384, i16 17285, i16 14, i16 17273, i16 -16384, i16 17286, i16 14, i16 17273, i16 -16384, i16 17286, i16 15, i16 17273, i16 -16384, i16 17286, i16 25, i16 17273, i16 -16384, i16 16431, i16 14, i16 17273, i16 -16384, i16 16431, i16 16, i16 17273, i16 -16384, i16 16431, i16 18, i16 17273, i16 -16384, i16 16431, i16 24, i16 17273, i16 -16384, i16 16431, i16 25, i16 17273, i16 -16384, i16 16431, i16 23, i16 17273, i16 -16384, i16 16432, i16 14, i16 17273, i16 -16384, i16 16433, i16 14, i16 17273, i16 -16384, i16 16433, i16 15, i16 17273, i16 -16384, i16 16433, i16 16, i16 17273, i16 -16384, i16 16433, i16 18, i16 17273, i16 -16384, i16 16433, i16 25, i16 17273, i16 -16384, i16 16434, i16 14, i16 17273, i16 -16384, i16 16434, i16 15, i16 16392, i16 -16384, i16 16434, i16 16, i16 17273, i16 -16384, i16 16434, i16 17, i16 17273, i16 -16384, i16 16434, i16 897, i16 17273, i16 -16384, i16 16434, i16 22, i16 17273, i16 -16384, i16 16434, i16 27, i16 17273, i16 -16384, i16 18018, i16 1628, i16 18015, i16 -16384, i16 16435, i16 14, i16 17273, i16 -16384, i16 17287, i16 14, i16 17273, i16 -16384, i16 16436, i16 14, i16 17273, i16 -16384, i16 16436, i16 16, i16 17273, i16 -16384, i16 16436, i16 18, i16 17273, i16 -16384, i16 16436, i16 25, i16 17273, i16 -16384, i16 16437, i16 14, i16 17273, i16 -16384, i16 16437, i16 16, i16 17273, i16 -16384, i16 16438, i16 14, i16 17273, i16 -16384, i16 16438, i16 18, i16 17273, i16 -16384, i16 16438, i16 24, i16 17273, i16 -16384, i16 16439, i16 14, i16 17273, i16 -16384, i16 16439, i16 16, i16 17273, i16 -16384, i16 16439, i16 17, i16 17273, i16 -16384, i16 16439, i16 897, i16 17273, i16 -16384, i16 16439, i16 19, i16 17273, i16 -16384, i16 16439, i16 22, i16 17273, i16 -16384, i16 16439, i16 26, i16 17273, i16 -16384, i16 16439, i16 27, i16 17273, i16 -16384, i16 16440, i16 14, i16 17273, i16 -16384, i16 16441, i16 897, i16 17273, i16 -16384, i16 17288, i16 14, i16 17273, i16 -16384, i16 16442, i16 14, i16 17273, i16 -16384, i16 16442, i16 16, i16 17273, i16 -16384, i16 16442, i16 20, i16 17273, i16 -16384, i16 16442, i16 897, i16 17273, i16 -16384, i16 16443, i16 14, i16 17273, i16 -16384, i16 16443, i16 16, i16 17273, i16 -16384, i16 16444, i16 14, i16 17273, i16 -16384, i16 16425, i16 14, i16 16393, i16 -16384, i16 16425, i16 26, i16 16393, i16 -16384, i16 16425, i16 27, i16 16393, i16 -16384, i16 16426, i16 14, i16 16393, i16 -16384, i16 16427, i16 14, i16 16393, i16 -16384, i16 17282, i16 14, i16 16393, i16 -16384, i16 17282, i16 18, i16 16393, i16 -16384, i16 16428, i16 14, i16 16393, i16 -16384, i16 16428, i16 16, i16 16393, i16 -16384, i16 16428, i16 17, i16 16393, i16 -16384, i16 16428, i16 897, i16 16393, i16 -16384, i16 16428, i16 20, i16 16393, i16 -16384, i16 16428, i16 18, i16 16393, i16 -16384, i16 16428, i16 23, i16 16393, i16 -16384, i16 16428, i16 26, i16 16393, i16 -16384, i16 16428, i16 27, i16 16393, i16 -16384, i16 16429, i16 14, i16 16393, i16 -16384, i16 17283, i16 14, i16 16393, i16 -16384, i16 17283, i16 25, i16 16393, i16 -16384, i16 16430, i16 14, i16 16393, i16 -16384, i16 17284, i16 16, i16 16393, i16 -16384, i16 17284, i16 17, i16 16393, i16 -16384, i16 17284, i16 20, i16 16393, i16 -16384, i16 17284, i16 22, i16 16393, i16 -16384, i16 17284, i16 26, i16 16393, i16 -16384, i16 17284, i16 27, i16 16393, i16 -16384, i16 18009, i16 1628, i16 18021, i16 -16384, i16 17285, i16 14, i16 16393, i16 -16384, i16 17286, i16 14, i16 16393, i16 -16384, i16 17286, i16 25, i16 16393, i16 -16384, i16 16431, i16 14, i16 16393, i16 -16384, i16 16431, i16 16, i16 16393, i16 -16384, i16 16431, i16 18, i16 16393, i16 -16384, i16 16431, i16 24, i16 16393, i16 -16384, i16 16431, i16 25, i16 16393, i16 -16384, i16 16431, i16 23, i16 16393, i16 -16384, i16 16432, i16 14, i16 16393, i16 -16384, i16 16433, i16 14, i16 16393, i16 -16384, i16 16433, i16 16, i16 16393, i16 -16384, i16 16433, i16 18, i16 16393, i16 -16384, i16 16433, i16 25, i16 16393, i16 -16384, i16 16434, i16 14, i16 16393, i16 -16384, i16 16434, i16 16, i16 16393, i16 -16384, i16 16434, i16 17, i16 16393, i16 -16384, i16 16434, i16 897, i16 16393, i16 -16384, i16 16434, i16 22, i16 16393, i16 -16384, i16 16434, i16 27, i16 16393, i16 -16384, i16 18018, i16 1628, i16 18021, i16 -16384, i16 16435, i16 14, i16 16393, i16 -16384, i16 17287, i16 14, i16 16393, i16 -16384, i16 16436, i16 14, i16 16393, i16 -16384, i16 16436, i16 16, i16 16393, i16 -16384, i16 16436, i16 18, i16 16393, i16 -16384, i16 16436, i16 25, i16 16393, i16 -16384, i16 16437, i16 14, i16 16393, i16 -16384, i16 16437, i16 16, i16 16393, i16 -16384, i16 16438, i16 14, i16 16393, i16 -16384, i16 16438, i16 18, i16 16393, i16 -16384, i16 16438, i16 24, i16 16393, i16 -16384, i16 16439, i16 14, i16 16393, i16 -16384, i16 16439, i16 16, i16 16393, i16 -16384, i16 16439, i16 17, i16 16393, i16 -16384, i16 16439, i16 897, i16 16393, i16 -16384, i16 16439, i16 19, i16 16393, i16 -16384, i16 16439, i16 22, i16 16393, i16 -16384, i16 16439, i16 26, i16 16393, i16 -16384, i16 16439, i16 27, i16 16393, i16 -16384, i16 16440, i16 14, i16 16393, i16 -16384, i16 16441, i16 897, i16 16393, i16 -16384, i16 17288, i16 14, i16 16393, i16 -16384, i16 16442, i16 14, i16 16393, i16 -16384, i16 16442, i16 16, i16 16393, i16 -16384, i16 16442, i16 897, i16 16393, i16 -16384, i16 16442, i16 20, i16 16393, i16 -16384, i16 16443, i16 14, i16 16393, i16 -16384, i16 16443, i16 16, i16 16393, i16 -16384, i16 16444, i16 14, i16 16393, i16 -16384, i16 16445, i16 16398, i16 17273, i16 -16384, i16 16446, i16 16398, i16 17273, i16 -16384, i16 16448, i16 16398, i16 17273, i16 -16384, i16 16449, i16 16398, i16 17273, i16 -16384, i16 16450, i16 16398, i16 17273, i16 -16384, i16 16451, i16 16398, i16 17273, i16 -16384, i16 16452, i16 16398, i16 17273, i16 -16384, i16 16453, i16 16398, i16 17273, i16 -16384, i16 16454, i16 16398, i16 17273, i16 -16384, i16 16455, i16 16398, i16 17273, i16 -16384, i16 16456, i16 16398, i16 17273, i16 -16384, i16 16457, i16 16398, i16 17273, i16 -16384, i16 16458, i16 16398, i16 17273, i16 -16384, i16 16459, i16 16398, i16 17273, i16 -16384, i16 16460, i16 16398, i16 17273, i16 -16384, i16 16461, i16 16398, i16 17273, i16 -16384, i16 16462, i16 16398, i16 17273, i16 -16384, i16 16463, i16 16398, i16 17273, i16 -16384, i16 16464, i16 16398, i16 17273, i16 -16384, i16 16465, i16 16398, i16 17273, i16 -16384, i16 16466, i16 16398, i16 17273, i16 -16384, i16 16467, i16 16398, i16 17273, i16 -16384, i16 16468, i16 16398, i16 17273, i16 -16384, i16 16469, i16 16398, i16 17273, i16 -16384, i16 16470, i16 16398, i16 17273, i16 -16384, i16 16471, i16 16398, i16 17273, i16 -16384, i16 16474, i16 16398, i16 17273, i16 -16384, i16 16475, i16 16398, i16 17273, i16 -16384, i16 16476, i16 16398, i16 17273, i16 -16384, i16 16477, i16 16398, i16 17273, i16 -16384, i16 16478, i16 16398, i16 17273, i16 -16384, i16 16480, i16 16398, i16 17273, i16 -16384, i16 16482, i16 17278, i16 17273, i16 -16384, i16 16482, i16 16398, i16 17273, i16 -16384, i16 61, i16 14, i16 3, i16 -16384, i16 61, i16 14, i16 4, i16 -16384, i16 61, i16 14, i16 5, i16 -16384, i16 61, i16 14, i16 6, i16 -16384, i16 62, i16 14, i16 3, i16 -16384, i16 62, i16 14, i16 4, i16 -16384, i16 62, i16 14, i16 5, i16 -16384, i16 62, i16 14, i16 6, i16 -16384, i16 64, i16 14, i16 3, i16 -16384, i16 64, i16 14, i16 4, i16 -16384, i16 64, i16 14, i16 5, i16 -16384, i16 64, i16 14, i16 6, i16 -16384, i16 65, i16 14, i16 3, i16 -16384, i16 65, i16 14, i16 4, i16 -16384, i16 65, i16 14, i16 5, i16 -16384, i16 65, i16 14, i16 6, i16 -16384, i16 66, i16 14, i16 3, i16 -16384, i16 66, i16 14, i16 4, i16 -16384, i16 66, i16 14, i16 5, i16 -16384, i16 66, i16 14, i16 6, i16 -16384, i16 67, i16 14, i16 3, i16 -16384, i16 67, i16 14, i16 4, i16 -16384, i16 67, i16 14, i16 5, i16 -16384, i16 67, i16 14, i16 6, i16 -16384, i16 68, i16 14, i16 3, i16 -16384, i16 68, i16 14, i16 4, i16 -16384, i16 68, i16 14, i16 5, i16 -16384, i16 68, i16 14, i16 6, i16 -16384, i16 69, i16 14, i16 3, i16 -16384, i16 69, i16 14, i16 4, i16 -16384, i16 69, i16 14, i16 5, i16 -16384, i16 69, i16 14, i16 6, i16 -16384, i16 70, i16 14, i16 3, i16 -16384, i16 70, i16 14, i16 4, i16 -16384, i16 70, i16 14, i16 5, i16 -16384, i16 70, i16 14, i16 6, i16 -16384, i16 71, i16 14, i16 3, i16 -16384, i16 71, i16 14, i16 4, i16 -16384, i16 72, i16 14, i16 3, i16 -16384, i16 72, i16 14, i16 4, i16 -16384, i16 73, i16 14, i16 3, i16 -16384, i16 73, i16 14, i16 4, i16 -16384, i16 74, i16 14, i16 3, i16 -16384, i16 74, i16 14, i16 4, i16 -16384, i16 75, i16 14, i16 3, i16 -16384, i16 75, i16 14, i16 4, i16 -16384, i16 76, i16 14, i16 3, i16 -16384, i16 76, i16 14, i16 4, i16 -16384, i16 77, i16 14, i16 3, i16 -16384, i16 77, i16 14, i16 4, i16 -16384, i16 78, i16 14, i16 3, i16 -16384, i16 78, i16 14, i16 4, i16 -16384, i16 78, i16 14, i16 5, i16 -16384, i16 78, i16 14, i16 6, i16 -16384, i16 79, i16 14, i16 3, i16 -16384, i16 79, i16 14, i16 4, i16 -16384, i16 79, i16 14, i16 5, i16 -16384, i16 79, i16 14, i16 6, i16 -16384, i16 80, i16 14, i16 3, i16 -16384, i16 80, i16 14, i16 4, i16 -16384, i16 80, i16 14, i16 5, i16 -16384, i16 80, i16 14, i16 6, i16 -16384, i16 81, i16 14, i16 3, i16 -16384, i16 81, i16 14, i16 4, i16 -16384, i16 81, i16 14, i16 5, i16 -16384, i16 81, i16 14, i16 6, i16 -16384, i16 82, i16 14, i16 3, i16 -16384, i16 82, i16 14, i16 4, i16 -16384, i16 82, i16 14, i16 5, i16 -16384, i16 82, i16 14, i16 6, i16 -16384, i16 83, i16 14, i16 3, i16 -16384, i16 83, i16 14, i16 4, i16 -16384, i16 83, i16 14, i16 5, i16 -16384, i16 83, i16 14, i16 6, i16 -16384, i16 84, i16 14, i16 3, i16 -16384, i16 84, i16 14, i16 4, i16 -16384, i16 84, i16 14, i16 5, i16 -16384, i16 84, i16 14, i16 6, i16 -16384, i16 85, i16 14, i16 3, i16 -16384, i16 85, i16 14, i16 4, i16 -16384, i16 85, i16 14, i16 5, i16 -16384, i16 85, i16 14, i16 6, i16 -16384, i16 86, i16 14, i16 3, i16 -16384, i16 86, i16 14, i16 4, i16 -16384, i16 86, i16 14, i16 5, i16 -16384, i16 86, i16 14, i16 6, i16 -16384, i16 87, i16 14, i16 3, i16 -16384, i16 87, i16 14, i16 4, i16 -16384, i16 87, i16 14, i16 5, i16 -16384, i16 87, i16 14, i16 6, i16 -16384, i16 90, i16 14, i16 3, i16 -16384, i16 90, i16 14, i16 4, i16 -16384, i16 90, i16 14, i16 5, i16 -16384, i16 90, i16 14, i16 6, i16 -16384, i16 91, i16 14, i16 3, i16 -16384, i16 91, i16 14, i16 4, i16 -16384, i16 91, i16 14, i16 5, i16 -16384, i16 91, i16 14, i16 6, i16 -16384, i16 92, i16 14, i16 3, i16 -16384, i16 92, i16 14, i16 4, i16 -16384, i16 92, i16 14, i16 5, i16 -16384, i16 92, i16 14, i16 6, i16 -16384, i16 93, i16 14, i16 3, i16 -16384, i16 93, i16 14, i16 4, i16 -16384, i16 93, i16 14, i16 5, i16 -16384, i16 93, i16 14, i16 6, i16 -16384, i16 94, i16 14, i16 3, i16 -16384, i16 94, i16 14, i16 4, i16 -16384, i16 96, i16 14, i16 3, i16 -16384, i16 96, i16 14, i16 4, i16 -16384, i16 1640, i16 1643, i16 1646, i16 -16384, i16 1640, i16 1643, i16 1649, i16 -16384, i16 1640, i16 1643, i16 1652, i16 -16384, i16 1640, i16 1643, i16 1655, i16 -16384, i16 98, i16 894, i16 3, i16 -16384, i16 98, i16 894, i16 4, i16 -16384, i16 98, i16 14, i16 3, i16 -16384, i16 98, i16 14, i16 4, i16 -16384, i16 16483, i16 16398, i16 16384, i16 -16384, i16 16484, i16 16398, i16 16384, i16 -16384, i16 16485, i16 16398, i16 16384, i16 -16384, i16 16486, i16 16398, i16 16384, i16 -16384, i16 16487, i16 16398, i16 16384, i16 -16384, i16 16488, i16 16398, i16 16384, i16 -16384, i16 16489, i16 16398, i16 16384, i16 -16384, i16 16490, i16 16398, i16 16384, i16 -16384, i16 16491, i16 16398, i16 16384, i16 -16384, i16 16492, i16 16398, i16 16384, i16 -16384, i16 16493, i16 16398, i16 16384, i16 -16384, i16 16494, i16 16398, i16 16384, i16 -16384, i16 16495, i16 16398, i16 16384, i16 -16384, i16 16496, i16 16398, i16 16384, i16 -16384, i16 16497, i16 16398, i16 16384, i16 -16384, i16 16498, i16 16398, i16 16384, i16 -16384, i16 16499, i16 16398, i16 16384, i16 -16384, i16 16500, i16 16398, i16 16384, i16 -16384, i16 16501, i16 16398, i16 16384, i16 -16384, i16 16502, i16 16398, i16 16384, i16 -16384, i16 16503, i16 16398, i16 16384, i16 -16384, i16 16504, i16 16398, i16 16384, i16 -16384, i16 16505, i16 16398, i16 16384, i16 -16384, i16 16506, i16 16398, i16 16384, i16 -16384, i16 16507, i16 16398, i16 16384, i16 -16384, i16 16508, i16 16398, i16 16384, i16 -16384, i16 16509, i16 16398, i16 16384, i16 -16384, i16 16510, i16 14, i16 16393, i16 -16384, i16 16510, i16 28, i16 16393, i16 -16384, i16 16511, i16 14, i16 16393, i16 -16384, i16 16512, i16 14, i16 16393, i16 -16384, i16 16512, i16 15, i16 16393, i16 -16384, i16 16513, i16 14, i16 16393, i16 -16384, i16 16513, i16 15, i16 16393, i16 -16384, i16 16514, i16 14, i16 16393, i16 -16384, i16 16514, i16 28, i16 16393, i16 -16384, i16 16515, i16 14, i16 16393, i16 -16384, i16 16515, i16 15, i16 16393, i16 -16384, i16 16516, i16 14, i16 16393, i16 -16384, i16 16516, i16 28, i16 16393, i16 -16384, i16 16517, i16 14, i16 16393, i16 -16384, i16 16518, i16 14, i16 16393, i16 -16384, i16 16518, i16 28, i16 16393, i16 -16384, i16 16518, i16 29, i16 16393, i16 -16384, i16 16519, i16 14, i16 16393, i16 -16384, i16 16519, i16 15, i16 16393, i16 -16384, i16 16519, i16 895, i16 16393, i16 -16384, i16 16520, i16 14, i16 16393, i16 -16384, i16 16521, i16 14, i16 16393, i16 -16384, i16 16522, i16 14, i16 16393, i16 -16384, i16 16523, i16 14, i16 16393, i16 -16384, i16 16524, i16 14, i16 16393, i16 -16384, i16 16524, i16 28, i16 16393, i16 -16384, i16 16525, i16 14, i16 16393, i16 -16384, i16 16526, i16 14, i16 16393, i16 -16384, i16 16527, i16 14, i16 16393, i16 -16384, i16 16527, i16 15, i16 16393, i16 -16384, i16 16527, i16 895, i16 16393, i16 -16384, i16 16528, i16 14, i16 16393, i16 -16384, i16 16528, i16 15, i16 16393, i16 -16384, i16 16529, i16 14, i16 16393, i16 -16384, i16 16529, i16 28, i16 16393, i16 -16384, i16 16529, i16 29, i16 16393, i16 -16384, i16 16529, i16 30, i16 16393, i16 -16384, i16 16529, i16 26, i16 16393, i16 -16384, i16 16529, i16 27, i16 16393, i16 -16384, i16 16530, i16 14, i16 16393, i16 -16384, i16 16530, i16 895, i16 16393, i16 -16384, i16 16531, i16 14, i16 16393, i16 -16384, i16 16531, i16 15, i16 16393, i16 -16384, i16 16532, i16 14, i16 16393, i16 -16384, i16 16532, i16 15, i16 16393, i16 -16384, i16 16533, i16 14, i16 16393, i16 -16384, i16 16533, i16 28, i16 16393, i16 -16384, i16 16510, i16 14, i16 16396, i16 -16384, i16 16510, i16 28, i16 16396, i16 -16384, i16 16511, i16 14, i16 16396, i16 -16384, i16 16511, i16 15, i16 16396, i16 -16384, i16 16512, i16 14, i16 16396, i16 -16384, i16 16513, i16 14, i16 16396, i16 -16384, i16 16514, i16 14, i16 16396, i16 -16384, i16 16514, i16 28, i16 16396, i16 -16384, i16 16515, i16 14, i16 16396, i16 -16384, i16 16515, i16 15, i16 16396, i16 -16384, i16 16516, i16 14, i16 16396, i16 -16384, i16 16516, i16 28, i16 16396, i16 -16384, i16 16517, i16 14, i16 16396, i16 -16384, i16 16517, i16 15, i16 16396, i16 -16384, i16 16518, i16 14, i16 16396, i16 -16384, i16 16518, i16 28, i16 16396, i16 -16384, i16 16518, i16 29, i16 16396, i16 -16384, i16 16518, i16 30, i16 16396, i16 -16384, i16 16518, i16 26, i16 16396, i16 -16384, i16 16519, i16 14, i16 16396, i16 -16384, i16 16519, i16 15, i16 16396, i16 -16384, i16 16519, i16 895, i16 16396, i16 -16384, i16 16520, i16 14, i16 16396, i16 -16384, i16 16521, i16 14, i16 16396, i16 -16384, i16 16522, i16 14, i16 16396, i16 -16384, i16 16523, i16 14, i16 16396, i16 -16384, i16 16524, i16 14, i16 16396, i16 -16384, i16 16524, i16 28, i16 16396, i16 -16384, i16 16525, i16 14, i16 16396, i16 -16384, i16 16525, i16 15, i16 16396, i16 -16384, i16 16526, i16 15, i16 16396, i16 -16384, i16 16527, i16 14, i16 16396, i16 -16384, i16 16527, i16 15, i16 16396, i16 -16384, i16 16527, i16 895, i16 16396, i16 -16384, i16 16527, i16 26, i16 16396, i16 -16384, i16 16528, i16 14, i16 16396, i16 -16384, i16 16528, i16 15, i16 16396, i16 -16384, i16 16529, i16 14, i16 16396, i16 -16384, i16 16529, i16 28, i16 16396, i16 -16384, i16 16529, i16 29, i16 16396, i16 -16384, i16 16529, i16 30, i16 16396, i16 -16384, i16 16530, i16 14, i16 16396, i16 -16384, i16 16530, i16 15, i16 16396, i16 -16384, i16 16530, i16 895, i16 16396, i16 -16384, i16 16531, i16 14, i16 16396, i16 -16384, i16 16532, i16 14, i16 16396, i16 -16384, i16 16532, i16 15, i16 16396, i16 -16384, i16 16533, i16 14, i16 16396, i16 -16384, i16 16533, i16 28, i16 16396, i16 -16384, i16 17292, i16 16398, i16 17273, i16 -16384, i16 17293, i16 16398, i16 17273, i16 -16384, i16 17294, i16 16398, i16 17273, i16 -16384, i16 17295, i16 16398, i16 17273, i16 -16384, i16 17296, i16 16398, i16 17273, i16 -16384, i16 17299, i16 16398, i16 17273, i16 -16384, i16 17302, i16 16398, i16 17273, i16 -16384, i16 17303, i16 16398, i16 17273, i16 -16384, i16 17305, i16 16398, i16 17273, i16 -16384, i16 17308, i16 16398, i16 17273, i16 -16384, i16 17309, i16 16398, i16 17273, i16 -16384, i16 17310, i16 16398, i16 17273, i16 -16384, i16 17311, i16 16398, i16 17273, i16 -16384, i16 17313, i16 16398, i16 17273, i16 -16384, i16 17314, i16 16398, i16 17273, i16 -16384, i16 17316, i16 16398, i16 17273, i16 -16384, i16 17317, i16 16398, i16 17273, i16 -16384, i16 17318, i16 16398, i16 17273, i16 -16384, i16 17319, i16 16398, i16 17273, i16 -16384, i16 17320, i16 16398, i16 17273, i16 -16384, i16 17323, i16 16398, i16 17273, i16 -16384, i16 17325, i16 16398, i16 17273, i16 -16384, i16 17326, i16 16398, i16 17273, i16 -16384, i16 17327, i16 16398, i16 17273, i16 -16384, i16 17328, i16 16398, i16 17273, i16 -16384, i16 17330, i16 16398, i16 17273, i16 -16384, i16 17331, i16 16398, i16 17273, i16 -16384, i16 17332, i16 16398, i16 17273, i16 -16384, i16 17334, i16 16398, i16 17273, i16 -16384, i16 17336, i16 16398, i16 17273, i16 -16384, i16 17337, i16 16398, i16 17273, i16 -16384, i16 17292, i16 16398, i16 16393, i16 -16384, i16 17293, i16 16398, i16 16393, i16 -16384, i16 17294, i16 16398, i16 16393, i16 -16384, i16 17295, i16 16398, i16 16393, i16 -16384, i16 17296, i16 16398, i16 16393, i16 -16384, i16 17299, i16 16398, i16 16393, i16 -16384, i16 17302, i16 16398, i16 16393, i16 -16384, i16 17303, i16 16398, i16 16393, i16 -16384, i16 17305, i16 16398, i16 16393, i16 -16384, i16 17308, i16 16398, i16 16393, i16 -16384, i16 17310, i16 16398, i16 16393, i16 -16384, i16 17311, i16 16398, i16 16393, i16 -16384, i16 17313, i16 16398, i16 16393, i16 -16384, i16 17314, i16 16398, i16 16393, i16 -16384, i16 17316, i16 16398, i16 16393, i16 -16384, i16 17317, i16 16398, i16 16393, i16 -16384, i16 17318, i16 16398, i16 16393, i16 -16384, i16 17319, i16 16398, i16 16393, i16 -16384, i16 17320, i16 16398, i16 16393, i16 -16384, i16 17323, i16 16398, i16 16393, i16 -16384, i16 17325, i16 16398, i16 16393, i16 -16384, i16 17326, i16 16398, i16 16393, i16 -16384, i16 17327, i16 16398, i16 16393, i16 -16384, i16 17328, i16 16398, i16 16393, i16 -16384, i16 17330, i16 16398, i16 16393, i16 -16384, i16 17331, i16 16398, i16 16393, i16 -16384, i16 17332, i16 16398, i16 16393, i16 -16384, i16 17334, i16 16398, i16 16393, i16 -16384, i16 17336, i16 16398, i16 16393, i16 -16384, i16 17337, i16 16398, i16 16393, i16 -16384, i16 16425, i16 16, i16 17273, i16 -16384, i16 16425, i16 17, i16 17273, i16 -16384, i16 16425, i16 897, i16 17273, i16 -16384, i16 16425, i16 22, i16 17273, i16 -16384, i16 16425, i16 20, i16 17273, i16 -16384, i16 16425, i16 19, i16 17273, i16 -16384, i16 16425, i16 896, i16 17273, i16 -16384, i16 18042, i16 1628, i16 18015, i16 -16384, i16 16427, i16 25, i16 17273, i16 -16384, i16 16427, i16 16, i16 17273, i16 -16384, i16 16427, i16 897, i16 17273, i16 -16384, i16 16427, i16 18, i16 17273, i16 -16384, i16 16427, i16 23, i16 17273, i16 -16384, i16 17282, i16 15, i16 17273, i16 -16384, i16 17282, i16 24, i16 17273, i16 -16384, i16 17283, i16 896, i16 17273, i16 -16384, i16 17283, i16 897, i16 17273, i16 -16384, i16 17283, i16 23, i16 17273, i16 -16384, i16 16430, i16 897, i16 17273, i16 -16384, i16 16430, i16 24, i16 17273, i16 -16384, i16 17284, i16 14, i16 17273, i16 -16384, i16 17284, i16 897, i16 17273, i16 -16384, i16 17284, i16 15, i16 17273, i16 -16384, i16 17285, i16 897, i16 17273, i16 -16384, i16 16433, i16 22, i16 17273, i16 -16384, i16 18045, i16 1628, i16 18015, i16 -16384, i16 16434, i16 20, i16 17273, i16 -16384, i16 16434, i16 24, i16 17273, i16 -16384, i16 16434, i16 21, i16 17273, i16 -16384, i16 16437, i16 897, i16 17273, i16 -16384, i16 16437, i16 18, i16 17273, i16 -16384, i16 16437, i16 25, i16 17273, i16 -16384, i16 18048, i16 1628, i16 18015, i16 -16384, i16 16438, i16 25, i16 17273, i16 -16384, i16 16439, i16 20, i16 17273, i16 -16384, i16 16439, i16 896, i16 17273, i16 -16384, i16 16439, i16 21, i16 17273, i16 -16384, i16 16441, i16 14, i16 17273, i16 -16384, i16 16443, i16 18, i16 17273, i16 -16384, i16 16443, i16 23, i16 17273, i16 -16384, i16 16425, i16 16, i16 16393, i16 -16384, i16 16425, i16 17, i16 16393, i16 -16384, i16 16425, i16 897, i16 16393, i16 -16384, i16 16425, i16 22, i16 16393, i16 -16384, i16 16425, i16 20, i16 16393, i16 -16384, i16 16425, i16 19, i16 16393, i16 -16384, i16 16425, i16 896, i16 16393, i16 -16384, i16 18042, i16 1628, i16 18021, i16 -16384, i16 16427, i16 25, i16 16393, i16 -16384, i16 16427, i16 16, i16 16393, i16 -16384, i16 16427, i16 897, i16 16393, i16 -16384, i16 16427, i16 18, i16 16393, i16 -16384, i16 16427, i16 23, i16 16393, i16 -16384, i16 17282, i16 15, i16 16393, i16 -16384, i16 17282, i16 24, i16 16393, i16 -16384, i16 17283, i16 896, i16 16393, i16 -16384, i16 17283, i16 897, i16 16393, i16 -16384, i16 17283, i16 23, i16 16393, i16 -16384, i16 16430, i16 897, i16 16393, i16 -16384, i16 16430, i16 24, i16 16393, i16 -16384, i16 17284, i16 14, i16 16393, i16 -16384, i16 17284, i16 897, i16 16393, i16 -16384, i16 17284, i16 15, i16 16393, i16 -16384, i16 17285, i16 897, i16 16393, i16 -16384, i16 16433, i16 22, i16 16393, i16 -16384, i16 18045, i16 1628, i16 18021, i16 -16384, i16 16434, i16 20, i16 16393, i16 -16384, i16 16434, i16 24, i16 16393, i16 -16384, i16 16434, i16 21, i16 16393, i16 -16384, i16 16437, i16 897, i16 16393, i16 -16384, i16 16437, i16 18, i16 16393, i16 -16384, i16 16437, i16 25, i16 16393, i16 -16384, i16 16438, i16 25, i16 16393, i16 -16384, i16 16439, i16 20, i16 16393, i16 -16384, i16 16439, i16 896, i16 16393, i16 -16384, i16 16439, i16 21, i16 16393, i16 -16384, i16 16441, i16 14, i16 16393, i16 -16384, i16 16443, i16 18, i16 16393, i16 -16384, i16 16443, i16 23, i16 16393, i16 -16384, i16 16415, i16 16398, i16 17273, i16 -16384, i16 16415, i16 16399, i16 17273, i16 -16384, i16 16416, i16 16398, i16 17273, i16 -16384, i16 16416, i16 16399, i16 17273, i16 -16384, i16 16417, i16 16398, i16 17273, i16 -16384, i16 16417, i16 16399, i16 17273, i16 -16384, i16 16418, i16 16398, i16 17273, i16 -16384, i16 16418, i16 16399, i16 17273, i16 -16384, i16 16419, i16 16398, i16 17273, i16 -16384, i16 16419, i16 16399, i16 17273, i16 -16384, i16 16420, i16 16398, i16 17273, i16 -16384, i16 16420, i16 16399, i16 17273, i16 -16384, i16 16421, i16 16398, i16 17273, i16 -16384, i16 16421, i16 16399, i16 17273, i16 -16384, i16 16422, i16 16398, i16 17273, i16 -16384, i16 16422, i16 16399, i16 17273, i16 -16384, i16 16423, i16 16398, i16 17273, i16 -16384, i16 16423, i16 16399, i16 17273, i16 -16384, i16 16424, i16 16398, i16 17273, i16 -16384, i16 16424, i16 16399, i16 17273, i16 -16384, i16 17289, i16 16398, i16 17273, i16 -16384, i16 17290, i16 16397, i16 17273, i16 -16384, i16 17290, i16 17274, i16 17273, i16 -16384, i16 17290, i16 17276, i16 17273, i16 -16384, i16 17290, i16 16398, i16 17273, i16 -16384, i16 16447, i16 16398, i16 17273, i16 -16384, i16 16472, i16 16398, i16 17273, i16 -16384, i16 16473, i16 16398, i16 17273, i16 -16384, i16 17291, i16 16398, i16 17273, i16 -16384, i16 16479, i16 16398, i16 17273, i16 -16384, i16 16480, i16 17275, i16 17273, i16 -16384, i16 16481, i16 16398, i16 17273, i16 -16384, i16 18051, i16 18054, i16 18015, i16 -16384, i16 16481, i16 17277, i16 17273, i16 -16384, i16 905, i16 14, i16 3, i16 -16384, i16 906, i16 13, i16 3, i16 -16384, i16 906, i16 13, i16 4, i16 -16384, i16 906, i16 890, i16 3, i16 -16384, i16 906, i16 890, i16 4, i16 -16384, i16 906, i16 892, i16 3, i16 -16384, i16 906, i16 892, i16 4, i16 -16384, i16 906, i16 14, i16 3, i16 -16384, i16 906, i16 14, i16 4, i16 -16384, i16 63, i16 14, i16 3, i16 -16384, i16 63, i16 14, i16 4, i16 -16384, i16 88, i16 14, i16 3, i16 -16384, i16 88, i16 14, i16 4, i16 -16384, i16 88, i16 14, i16 5, i16 -16384, i16 88, i16 14, i16 6, i16 -16384, i16 89, i16 14, i16 3, i16 -16384, i16 89, i16 14, i16 4, i16 -16384, i16 89, i16 14, i16 5, i16 -16384, i16 89, i16 14, i16 6, i16 -16384, i16 907, i16 14, i16 3, i16 -16384, i16 907, i16 14, i16 4, i16 -16384, i16 907, i16 14, i16 5, i16 -16384, i16 907, i16 14, i16 6, i16 -16384, i16 95, i16 14, i16 3, i16 -16384, i16 95, i16 14, i16 4, i16 -16384, i16 96, i16 891, i16 3, i16 -16384, i16 96, i16 891, i16 4, i16 -16384, i16 97, i16 14, i16 3, i16 -16384, i16 97, i16 14, i16 4, i16 -16384, i16 97, i16 893, i16 3, i16 -16384, i16 97, i16 893, i16 4, i16 -16384, i16 97, i16 893, i16 5, i16 -16384, i16 97, i16 893, i16 6, i16 -16384, i16 1673, i16 1676, i16 1679, i16 -16384, i16 1673, i16 1676, i16 1682, i16 -16384, i16 1673, i16 1685, i16 1679, i16 -16384, i16 1673, i16 1685, i16 1682, i16 -16384, i16 1673, i16 1688, i16 1679, i16 -16384, i16 1673, i16 1688, i16 1682, i16 -16384, i16 1673, i16 1643, i16 1679, i16 -16384, i16 1673, i16 1643, i16 1682, i16 -16384, i16 17297, i16 16398, i16 17273, i16 -16384, i16 17298, i16 16398, i16 17273, i16 -16384, i16 17300, i16 16398, i16 17273, i16 -16384, i16 17301, i16 16398, i16 17273, i16 -16384, i16 17304, i16 16398, i16 17273, i16 -16384, i16 17306, i16 16398, i16 17273, i16 -16384, i16 17307, i16 16398, i16 17273, i16 -16384, i16 17312, i16 16398, i16 17273, i16 -16384, i16 17315, i16 16398, i16 17273, i16 -16384, i16 17321, i16 16398, i16 17273, i16 -16384, i16 17322, i16 16398, i16 17273, i16 -16384, i16 17324, i16 16398, i16 17273, i16 -16384, i16 17329, i16 16398, i16 17273, i16 -16384, i16 17333, i16 16398, i16 17273, i16 -16384, i16 17335, i16 16398, i16 17273, i16 -16384, i16 17297, i16 16398, i16 16393, i16 -16384, i16 17298, i16 16398, i16 16393, i16 -16384, i16 17300, i16 16398, i16 16393, i16 -16384, i16 17301, i16 16398, i16 16393, i16 -16384, i16 17304, i16 16398, i16 16393, i16 -16384, i16 17306, i16 16398, i16 16393, i16 -16384, i16 17307, i16 16398, i16 16393, i16 -16384, i16 17309, i16 16398, i16 16393, i16 -16384, i16 17312, i16 16398, i16 16393, i16 -16384, i16 17315, i16 16398, i16 16393, i16 -16384, i16 17321, i16 16398, i16 16393, i16 -16384, i16 17322, i16 16398, i16 16393, i16 -16384, i16 17324, i16 16398, i16 16393, i16 -16384, i16 17329, i16 16398, i16 16393, i16 -16384, i16 17333, i16 16398, i16 16393, i16 -16384, i16 17335, i16 16398, i16 16393, i16 -16384, i16 32767, i16 16384, i16 16384, i16 -16384, i16 18075, i16 18078, i16 16384, i16 -16384, i16 18081, i16 18078, i16 16384, i16 -16384, i16 18084, i16 18078, i16 16384, i16 -16384, i16 17541, i16 16407, i16 17273, i16 -16384, i16 17542, i16 16407, i16 17273, i16 -16384, i16 17543, i16 16407, i16 17273, i16 -16384, i16 17544, i16 16407, i16 17273, i16 -16384, i16 17545, i16 16407, i16 17273, i16 -16384, i16 17540, i16 16407, i16 17273, i16 -16384, i16 17555, i16 16399, i16 17273, i16 -16384, i16 17555, i16 16399, i16 16393, i16 -16384, i16 17556, i16 16399, i16 17273, i16 -16384, i16 17556, i16 16399, i16 16393, i16 -16384, i16 17561, i16 16398, i16 17273, i16 -16384, i16 17561, i16 16398, i16 16393, i16 -16384, i16 17564, i16 16399, i16 17273, i16 -16384, i16 17564, i16 16404, i16 17273, i16 -16384, i16 17564, i16 16399, i16 16393, i16 -16384, i16 17564, i16 16404, i16 16393, i16 -16384, i16 17284, i16 16398, i16 17273, i16 -16384, i16 17567, i16 16407, i16 17273, i16 -16384, i16 17284, i16 16398, i16 16393, i16 -16384, i16 17567, i16 16407, i16 16393, i16 -16384, i16 17568, i16 16399, i16 17273, i16 -16384, i16 17568, i16 16406, i16 17273, i16 -16384, i16 17568, i16 16399, i16 16393, i16 -16384, i16 17568, i16 16406, i16 16393, i16 -16384, i16 17569, i16 16404, i16 17273, i16 -16384, i16 17569, i16 16404, i16 16393, i16 -16384, i16 17565, i16 16409, i16 17273, i16 -16384, i16 17565, i16 16409, i16 16393, i16 -16384, i16 17566, i16 17280, i16 17273, i16 -16384, i16 17566, i16 17280, i16 16393, i16 -16384, i16 17570, i16 16409, i16 17273, i16 -16384, i16 17570, i16 16409, i16 16393, i16 -16384, i16 17571, i16 16404, i16 17273, i16 -16384, i16 17571, i16 16404, i16 16393, i16 -16384, i16 17572, i16 16399, i16 17273, i16 -16384, i16 17572, i16 16399, i16 16393, i16 -16384, i16 17573, i16 16399, i16 17273, i16 -16384, i16 17573, i16 16399, i16 16393, i16 -16384, i16 17574, i16 16399, i16 17273, i16 -16384, i16 17574, i16 16399, i16 16393, i16 -16384, i16 17575, i16 16399, i16 17273, i16 -16384, i16 17575, i16 16399, i16 16393, i16 -16384, i16 17576, i16 16399, i16 17273, i16 -16384, i16 17576, i16 16399, i16 16393, i16 -16384, i16 17577, i16 16399, i16 17273, i16 -16384, i16 17577, i16 16399, i16 16393, i16 -16384, i16 17578, i16 16399, i16 17273, i16 -16384, i16 17578, i16 16399, i16 16393, i16 -16384, i16 17579, i16 16399, i16 17273, i16 -16384, i16 17579, i16 16399, i16 16393, i16 -16384, i16 17602, i16 16407, i16 17273, i16 -16384, i16 17602, i16 16407, i16 17600, i16 -16384, i16 17602, i16 16407, i16 16393, i16 -16384, i16 17602, i16 16407, i16 17601, i16 -16384, i16 32766, i16 16384, i16 16384, i16 16384, i16 17619, i16 16399, i16 17273, i16 -16384, i16 17619, i16 16399, i16 16393, i16 -16384, i16 17620, i16 16399, i16 17273, i16 -16384, i16 17620, i16 16399, i16 16393, i16 -16384, i16 17621, i16 16399, i16 17273, i16 -16384, i16 17621, i16 16399, i16 16393, i16 -16384, i16 17622, i16 16399, i16 17273, i16 -16384, i16 17622, i16 16399, i16 16393, i16 -16384, i16 17623, i16 16399, i16 17273, i16 -16384, i16 17623, i16 16399, i16 16393, i16 -16384, i16 17635, i16 16404, i16 17273, i16 -16384, i16 17634, i16 16403, i16 17273, i16 -16384, i16 17635, i16 17279, i16 17273, i16 -16384, i16 17636, i16 16404, i16 17273, i16 -16384, i16 17637, i16 16408, i16 17273, i16 -16384, i16 17635, i16 16404, i16 16393, i16 -16384, i16 17634, i16 16403, i16 16393, i16 -16384, i16 17635, i16 17279, i16 16393, i16 -16384, i16 17636, i16 16404, i16 16393, i16 -16384, i16 17637, i16 16408, i16 16393, i16 -16384, i16 16440, i16 16398, i16 16393, i16 -16327, i16 16440, i16 16398, i16 17273, i16 -16327, i16 16442, i16 16404, i16 17273, i16 -16384, i16 16442, i16 16404, i16 16393, i16 -16384, i16 17638, i16 16407, i16 17273, i16 -16384, i16 17639, i16 16407, i16 17273, i16 -16384, i16 17638, i16 16407, i16 16393, i16 -16384, i16 17639, i16 16407, i16 16393, i16 -16384, i16 17640, i16 16407, i16 17273, i16 -16384, i16 17640, i16 16407, i16 17600, i16 -16384, i16 17641, i16 16407, i16 17273, i16 -16384, i16 17640, i16 16407, i16 16393, i16 -16384, i16 17640, i16 16407, i16 17601, i16 -16384, i16 17641, i16 16407, i16 16393, i16 -16384, i16 17642, i16 16407, i16 17273, i16 -16384, i16 17642, i16 16407, i16 17600, i16 -16384, i16 17642, i16 16407, i16 16393, i16 -16384, i16 17642, i16 16407, i16 17601, i16 -16384, i16 17643, i16 16407, i16 17273, i16 -16384, i16 17643, i16 16407, i16 17600, i16 -16384, i16 17643, i16 16407, i16 16393, i16 -16384, i16 17643, i16 16407, i16 17601, i16 -16384, i16 17644, i16 16407, i16 17273, i16 -16384, i16 17644, i16 16407, i16 16393, i16 -16384, i16 17645, i16 16407, i16 17273, i16 -16384, i16 17645, i16 16407, i16 16393, i16 -16384, i16 17658, i16 16401, i16 17273, i16 -16384, i16 17660, i16 16400, i16 17273, i16 -16384, i16 17661, i16 17281, i16 17273, i16 -16384, i16 17659, i16 16406, i16 17273, i16 -16384, i16 17658, i16 16401, i16 16393, i16 -16384, i16 17660, i16 16400, i16 16393, i16 -16384, i16 17661, i16 17281, i16 16393, i16 -16384, i16 17659, i16 16406, i16 16393, i16 -16384, i16 17662, i16 16409, i16 17273, i16 -16384, i16 17639, i16 16402, i16 17273, i16 -16384, i16 17662, i16 16409, i16 16393, i16 -16384, i16 17639, i16 16402, i16 16393, i16 -16384, i16 17663, i16 16398, i16 17273, i16 -16384, i16 17664, i16 16402, i16 17273, i16 -16384, i16 17664, i16 16402, i16 16393, i16 -16384, i16 17666, i16 16399, i16 17273, i16 -16384, i16 17665, i16 16408, i16 17273, i16 -16384, i16 17666, i16 16399, i16 16393, i16 -16384, i16 17665, i16 16408, i16 16393, i16 -16384, i16 17668, i16 16402, i16 17273, i16 -16384, i16 17669, i16 16408, i16 17273, i16 -16384, i16 17671, i16 18078, i16 18015, i16 -16384, i16 17644, i16 16402, i16 17273, i16 -16384, i16 17644, i16 16402, i16 16393, i16 -16384, i16 17673, i16 16404, i16 17273, i16 -16384, i16 17672, i16 17279, i16 17273, i16 -16384, i16 17673, i16 16404, i16 16393, i16 -16384, i16 17672, i16 17279, i16 16393, i16 -16384, i16 17667, i16 16398, i16 17273, i16 -16384, i16 17670, i16 16402, i16 17273, i16 -16384, i16 17670, i16 16402, i16 16393, i16 -16384, i16 17685, i16 17281, i16 17273, i16 -16384, i16 17686, i16 17280, i16 17273, i16 -16384, i16 17685, i16 17281, i16 16393, i16 -16384, i16 17686, i16 17280, i16 16393, i16 -16384, i16 17688, i16 16409, i16 17273, i16 -16384, i16 17688, i16 16409, i16 16393, i16 -16384, i16 17687, i16 17281, i16 17273, i16 -16384, i16 17687, i16 17281, i16 16393, i16 -16384, i16 17695, i16 16399, i16 17273, i16 -16384, i16 17695, i16 16399, i16 17600, i16 -16384, i16 17695, i16 16399, i16 16393, i16 -16384, i16 17695, i16 16399, i16 17601, i16 -16384, i16 17697, i16 16399, i16 17273, i16 -16384, i16 17697, i16 16399, i16 17600, i16 -16384, i16 17697, i16 16399, i16 16393, i16 -16384, i16 17697, i16 16399, i16 17601, i16 -16384, i16 17693, i16 16407, i16 17273, i16 -16384, i16 17693, i16 16407, i16 16393, i16 -16384, i16 17694, i16 16407, i16 17273, i16 -16384, i16 17694, i16 16407, i16 16393, i16 -16384, i16 17696, i16 16408, i16 17273, i16 -16384, i16 17696, i16 16408, i16 16393, i16 -16384, i16 17698, i16 16407, i16 17273, i16 -16384, i16 17698, i16 16407, i16 16393, i16 -16384, i16 17707, i16 16407, i16 17273, i16 -16384, i16 17707, i16 16407, i16 17600, i16 -16384, i16 17707, i16 16407, i16 16393, i16 -16384, i16 17707, i16 16407, i16 17601, i16 -16384, i16 17708, i16 16407, i16 17273, i16 -16384, i16 17708, i16 16407, i16 17600, i16 -16384, i16 17708, i16 16407, i16 16393, i16 -16384, i16 17708, i16 16407, i16 17601, i16 -16384, i16 32766, i16 16398, i16 17273, i16 -16384, i16 32766, i16 16398, i16 16393, i16 -16384, i16 17803, i16 16404, i16 17273, i16 -16384, i16 17803, i16 16405, i16 17273, i16 -16384, i16 17803, i16 16404, i16 16393, i16 -16384, i16 17803, i16 16405, i16 16393, i16 -16384, i16 17806, i16 16404, i16 17273, i16 -16384, i16 17806, i16 16405, i16 17273, i16 -16384, i16 17806, i16 16404, i16 16393, i16 -16384, i16 17806, i16 16405, i16 16393, i16 -16384, i16 17797, i16 16398, i16 16393, i16 -16384, i16 17797, i16 16398, i16 17601, i16 -16384, i16 18087, i16 18054, i16 18021, i16 -16384, i16 18087, i16 18054, i16 18090, i16 -16384, i16 18087, i16 18054, i16 18093, i16 -16384, i16 18087, i16 18054, i16 18096, i16 -16384, i16 17797, i16 16398, i16 17600, i16 -16384, i16 17797, i16 16398, i16 17273, i16 -16384, i16 18087, i16 18054, i16 18099, i16 -16384, i16 18087, i16 18054, i16 18102, i16 -16384, i16 18087, i16 18054, i16 18105, i16 -16384, i16 18087, i16 18054, i16 18015, i16 -16384, i16 17798, i16 16398, i16 16393, i16 -16384, i16 17798, i16 16398, i16 17601, i16 -16384, i16 18108, i16 18054, i16 18021, i16 -16384, i16 18108, i16 18054, i16 18090, i16 -16384, i16 18108, i16 18054, i16 18093, i16 -16384, i16 18108, i16 18054, i16 18096, i16 -16384, i16 17798, i16 16398, i16 17600, i16 -16384, i16 17798, i16 16398, i16 17273, i16 -16384, i16 18108, i16 18054, i16 18099, i16 -16384, i16 18108, i16 18054, i16 18102, i16 -16384, i16 18108, i16 18054, i16 18105, i16 -16384, i16 18108, i16 18054, i16 18015, i16 -16384, i16 17799, i16 16398, i16 17796, i16 -16384, i16 17799, i16 16398, i16 17795, i16 -16384, i16 17799, i16 16398, i16 17794, i16 -16384, i16 17799, i16 16398, i16 17793, i16 -16384, i16 18111, i16 18054, i16 18114, i16 -16384, i16 18111, i16 18054, i16 18117, i16 -16384, i16 18111, i16 18054, i16 18120, i16 -16384, i16 18111, i16 18054, i16 18123, i16 -16384, i16 17799, i16 16398, i16 17792, i16 -16384, i16 17799, i16 16398, i16 17791, i16 -16384, i16 17799, i16 16398, i16 17790, i16 -16384, i16 17799, i16 16398, i16 17789, i16 -16384, i16 18111, i16 18054, i16 18126, i16 -16384, i16 18111, i16 18054, i16 18129, i16 -16384, i16 18111, i16 18054, i16 18132, i16 -16384, i16 18111, i16 18054, i16 18135, i16 -16384, i16 17800, i16 16398, i16 16393, i16 -16384, i16 17800, i16 16398, i16 17601, i16 -16384, i16 18138, i16 18054, i16 18021, i16 -16384, i16 18138, i16 18054, i16 18090, i16 -16384, i16 18138, i16 18054, i16 18093, i16 -16384, i16 18138, i16 18054, i16 18096, i16 -16384, i16 17800, i16 16398, i16 17273, i16 -16384, i16 17800, i16 16398, i16 17600, i16 -16384, i16 18138, i16 18054, i16 18099, i16 -16384, i16 18138, i16 18054, i16 18102, i16 -16384, i16 18138, i16 18054, i16 18105, i16 -16384, i16 18138, i16 18054, i16 18015, i16 -16384, i16 17801, i16 16398, i16 16393, i16 -16384, i16 17801, i16 16398, i16 17601, i16 -16384, i16 18141, i16 18054, i16 18021, i16 -16384, i16 18141, i16 18054, i16 18090, i16 -16384, i16 18141, i16 18054, i16 18093, i16 -16384, i16 18141, i16 18054, i16 18096, i16 -16384, i16 17801, i16 16398, i16 17273, i16 -16384, i16 17801, i16 16398, i16 17600, i16 -16384, i16 18141, i16 18054, i16 18099, i16 -16384, i16 18141, i16 18054, i16 18102, i16 -16384, i16 18141, i16 18054, i16 18105, i16 -16384, i16 18141, i16 18054, i16 18015, i16 -16384, i16 17802, i16 16398, i16 16393, i16 -16384, i16 17802, i16 16398, i16 17601, i16 -16384, i16 18144, i16 18054, i16 18021, i16 -16384, i16 18144, i16 18054, i16 18090, i16 -16384, i16 18144, i16 18054, i16 18093, i16 -16384, i16 18144, i16 18054, i16 18096, i16 -16384, i16 17802, i16 16398, i16 17273, i16 -16384, i16 17802, i16 16398, i16 17600, i16 -16384, i16 18144, i16 18054, i16 18099, i16 -16384, i16 18144, i16 18054, i16 18102, i16 -16384, i16 18144, i16 18054, i16 18105, i16 -16384, i16 18144, i16 18054, i16 18015, i16 -16384, i16 17804, i16 16398, i16 16393, i16 -16384, i16 17804, i16 16398, i16 17601, i16 -16384, i16 18147, i16 18054, i16 18021, i16 -16384, i16 18147, i16 18054, i16 18090, i16 -16384, i16 18147, i16 18054, i16 18093, i16 -16384, i16 18147, i16 18054, i16 18096, i16 -16384, i16 17804, i16 16398, i16 17600, i16 -16384, i16 17804, i16 16398, i16 17273, i16 -16384, i16 18147, i16 18054, i16 18099, i16 -16384, i16 18147, i16 18054, i16 18102, i16 -16384, i16 18147, i16 18054, i16 18105, i16 -16384, i16 18147, i16 18054, i16 18015, i16 -16384, i16 17805, i16 16398, i16 16393, i16 -16384, i16 17805, i16 16398, i16 17601, i16 -16384, i16 18150, i16 18054, i16 18021, i16 -16384, i16 18150, i16 18054, i16 18090, i16 -16384, i16 18150, i16 18054, i16 18093, i16 -16384, i16 18150, i16 18054, i16 18096, i16 -16384, i16 17805, i16 16398, i16 17600, i16 -16384, i16 17805, i16 16398, i16 17273, i16 -16384, i16 18150, i16 18054, i16 18099, i16 -16384, i16 18150, i16 18054, i16 18102, i16 -16384, i16 18150, i16 18054, i16 18105, i16 -16384, i16 18150, i16 18054, i16 18015, i16 -16384, i16 17807, i16 16398, i16 16393, i16 -16384, i16 17807, i16 16398, i16 17601, i16 -16384, i16 18153, i16 18054, i16 18021, i16 -16384, i16 18153, i16 18054, i16 18090, i16 -16384, i16 18153, i16 18054, i16 18093, i16 -16384, i16 18153, i16 18054, i16 18096, i16 -16384, i16 17807, i16 16398, i16 17600, i16 -16384, i16 17807, i16 16398, i16 17273, i16 -16384, i16 18153, i16 18054, i16 18099, i16 -16384, i16 18153, i16 18054, i16 18102, i16 -16384, i16 18153, i16 18054, i16 18105, i16 -16384, i16 18153, i16 18054, i16 18015, i16 -16384, i16 16384, i16 16384, i16 16384, i16 -2, i16 17934, i16 16398, i16 17273, i16 -16384, i16 17290, i16 17928, i16 17273, i16 -16384, i16 17289, i16 17274, i16 17273, i16 -16384, i16 17289, i16 17276, i16 17273, i16 -16384, i16 17289, i16 17275, i16 17273, i16 -16384, i16 17289, i16 17929, i16 17273, i16 -16384, i16 17289, i16 17929, i16 17932, i16 -16384, i16 17289, i16 17929, i16 17933, i16 -16384, i16 16472, i16 16399, i16 17273, i16 -16384, i16 17291, i16 17931, i16 17273, i16 -16384, i16 17291, i16 17274, i16 17273, i16 -16384, i16 17935, i16 16398, i16 17273, i16 -16384, i16 17935, i16 17930, i16 17273, i16 -16384, i16 17935, i16 17277, i16 17273, i16 -16384, i16 17934, i16 16398, i16 16387, i16 -16384, i16 17934, i16 16398, i16 16388, i16 -16384, i16 17290, i16 16398, i16 16387, i16 -16384, i16 17290, i16 16398, i16 16388, i16 -16384, i16 17290, i16 17928, i16 16387, i16 -16384, i16 17290, i16 17928, i16 16388, i16 -16384, i16 17289, i16 16398, i16 16387, i16 -16384, i16 17289, i16 17274, i16 16387, i16 -16384, i16 17289, i16 17274, i16 16388, i16 -16384, i16 17289, i16 17276, i16 16387, i16 -16384, i16 17289, i16 17276, i16 16388, i16 -16384, i16 17289, i16 17275, i16 16387, i16 -16384, i16 17289, i16 17275, i16 16388, i16 -16384, i16 17289, i16 17929, i16 16387, i16 -16384, i16 17289, i16 17929, i16 16388, i16 -16384, i16 16472, i16 16398, i16 16387, i16 -16384, i16 16472, i16 16398, i16 16388, i16 -16384, i16 16472, i16 16398, i16 16389, i16 -16384, i16 16472, i16 16398, i16 16390, i16 -16384, i16 16472, i16 16399, i16 16387, i16 -16384, i16 16472, i16 16399, i16 16388, i16 -16384, i16 16472, i16 16399, i16 16389, i16 -16384, i16 16472, i16 16399, i16 16390, i16 -16384, i16 17291, i16 16398, i16 16387, i16 -16384, i16 17291, i16 16398, i16 16388, i16 -16384, i16 17291, i16 16398, i16 16389, i16 -16384, i16 17291, i16 16398, i16 16390, i16 -16384, i16 17291, i16 17931, i16 16387, i16 -16384, i16 17291, i16 17931, i16 16388, i16 -16384, i16 17291, i16 17274, i16 16387, i16 -16384, i16 17291, i16 17274, i16 16388, i16 -16384, i16 17935, i16 16398, i16 16387, i16 -16384, i16 17935, i16 16398, i16 16388, i16 -16384, i16 17935, i16 16398, i16 16389, i16 -16384, i16 17935, i16 16398, i16 16390, i16 -16384, i16 17935, i16 17930, i16 16387, i16 -16384, i16 17935, i16 17930, i16 16388, i16 -16384, i16 17935, i16 17277, i16 16387, i16 -16384, i16 17935, i16 17277, i16 16388, i16 -16384, i16 17935, i16 17277, i16 16389, i16 -16384, i16 17935, i16 17277, i16 16390, i16 -16384, i16 18156, i16 18054, i16 18159, i16 -16384, i16 18156, i16 18054, i16 18162, i16 -16384, i16 18165, i16 18168, i16 18159, i16 -16384, i16 18165, i16 18168, i16 18162, i16 -16384, i16 18165, i16 18171, i16 18159, i16 -16384, i16 18165, i16 18171, i16 18162, i16 -16384, i16 18174, i16 18054, i16 18159, i16 -16384, i16 18174, i16 18054, i16 18162, i16 -16384, i16 18177, i16 18182, i16 18187, i16 -16384, i16 17958, i16 17281, i16 16393, i16 -16384, i16 17958, i16 17281, i16 17273, i16 -16384, i16 17959, i16 17281, i16 16393, i16 -16384, i16 17959, i16 17281, i16 17273, i16 -16384, i16 17960, i16 17281, i16 16393, i16 -16384, i16 17960, i16 17281, i16 17273, i16 -16384, i16 17961, i16 17281, i16 16393, i16 -16384, i16 17961, i16 17281, i16 17273, i16 -16384, i16 17962, i16 17281, i16 16393, i16 -16384, i16 17962, i16 17281, i16 17273, i16 -16384, i16 17963, i16 17280, i16 16393, i16 -16384, i16 17963, i16 17280, i16 17273, i16 -16384, i16 17964, i16 16407, i16 17273, i16 -16384, i16 17964, i16 16407, i16 17600, i16 -16384, i16 17964, i16 16407, i16 16393, i16 -16384, i16 17964, i16 16407, i16 17601, i16 -16384, i16 17965, i16 16407, i16 17273, i16 -16384, i16 17965, i16 16407, i16 17600, i16 -16384, i16 17965, i16 16407, i16 16393, i16 -16384, i16 17965, i16 16407, i16 17601, i16 -16384, i16 17966, i16 16407, i16 17273, i16 -16384, i16 17966, i16 16407, i16 17600, i16 -16384, i16 17966, i16 16407, i16 16393, i16 -16384, i16 17966, i16 16407, i16 17601, i16 -16384, i16 17967, i16 16407, i16 17273, i16 -16384, i16 17967, i16 16407, i16 17600, i16 -16384, i16 17967, i16 16407, i16 16393, i16 -16384, i16 17967, i16 16407, i16 17601, i16 -16384, i16 17968, i16 16407, i16 17273, i16 -16384, i16 17968, i16 16407, i16 17600, i16 -16384, i16 17968, i16 16407, i16 16393, i16 -16384, i16 17968, i16 16407, i16 17601, i16 -16384, i16 17969, i16 16407, i16 17273, i16 -16384, i16 17969, i16 16407, i16 17600, i16 -16384, i16 17969, i16 16407, i16 16393, i16 -16384, i16 17969, i16 16407, i16 17601, i16 -16384, i16 17970, i16 16407, i16 17273, i16 -16384, i16 17970, i16 16407, i16 17600, i16 -16384, i16 17970, i16 16407, i16 16393, i16 -16384, i16 17970, i16 16407, i16 17601, i16 -16384, i16 17971, i16 16407, i16 17273, i16 -16384, i16 17971, i16 16407, i16 17600, i16 -16384, i16 17971, i16 16407, i16 16393, i16 -16384, i16 17971, i16 16407, i16 17601, i16 -16384, i16 18000, i16 16407, i16 17273, i16 -16384, i16 18000, i16 16407, i16 17600, i16 -16384, i16 18001, i16 16407, i16 17273, i16 -16384, i16 18001, i16 16407, i16 17600, i16 -16384, i16 18000, i16 16407, i16 16393, i16 -16384, i16 18000, i16 16407, i16 17601, i16 -16384, i16 18001, i16 16407, i16 16393, i16 -16384, i16 18001, i16 16407, i16 17601, i16 -16384, i16 18192, i16 18078, i16 18015, i16 -16384, i16 18192, i16 18195, i16 18015, i16 -16384, i16 18198, i16 18078, i16 18015, i16 -16384, i16 17299, i16 17300, i16 17273, i16 -16384, i16 17299, i16 17301, i16 17273, i16 -16384, i16 17299, i16 17335, i16 17273, i16 -16384, i16 17305, i16 17306, i16 17273, i16 -16384, i16 17305, i16 17307, i16 17273, i16 -16384, i16 17305, i16 17333, i16 17273, i16 -16384, i16 18192, i16 18078, i16 18021, i16 -16384, i16 18192, i16 18195, i16 18021, i16 -16384, i16 18198, i16 18078, i16 18021, i16 -16384, i16 17299, i16 17300, i16 16393, i16 -16384, i16 17299, i16 17301, i16 16393, i16 -16384, i16 17299, i16 17335, i16 16393, i16 -16384, i16 17305, i16 17306, i16 16393, i16 -16384, i16 17305, i16 17307, i16 16393, i16 -16384, i16 17305, i16 17333, i16 16393, i16 -16384, i16 17295, i16 17297, i16 17273, i16 -16384, i16 17310, i16 17321, i16 17273, i16 -16384, i16 18201, i16 18078, i16 18015, i16 -16384, i16 18204, i16 18078, i16 18015, i16 -16384, i16 17323, i16 17324, i16 17273, i16 -16384, i16 17328, i16 17322, i16 17273, i16 -16384, i16 17295, i16 17297, i16 16393, i16 -16384, i16 17308, i16 17309, i16 16393, i16 -16384, i16 17310, i16 17321, i16 16393, i16 -16384, i16 18201, i16 18078, i16 18021, i16 -16384, i16 18204, i16 18078, i16 18021, i16 -16384, i16 17323, i16 17324, i16 16393, i16 -16384, i16 17328, i16 17322, i16 16393, i16 -16384, i16 18006, i16 16404, i16 17273, i16 -16384, i16 18006, i16 16404, i16 16393, i16 -16384, i16 32766, i16 16382, i16 32766, i16 -16386, i16 32766, i16 16382, i16 32766, i16 -32768, i16 16384, i16 0, i16 16384, i16 -16386, i16 32766, i16 2, i16 16385, i16 -32768, i16 17065, i16 2, i16 18080, i16 -32768, i16 17065, i16 2, i16 32766, i16 -32768, i16 17065, i16 5, i16 16385, i16 -32768, i16 17065, i16 5, i16 18080, i16 -32768, i16 17065, i16 6, i16 16385, i16 -32768, i16 17065, i16 6, i16 18080, i16 -32768, i16 17065, i16 7, i16 16385, i16 -32768, i16 17065, i16 7, i16 18080, i16 -32768, i16 17065, i16 8, i16 16385, i16 -32768, i16 17065, i16 8, i16 18080, i16 -32768, i16 17065, i16 9, i16 16385, i16 -32768, i16 17065, i16 9, i16 18080, i16 -32768, i16 17065, i16 11, i16 16385, i16 -32768, i16 17065, i16 11, i16 18080, i16 -32768, i16 17065, i16 12, i16 16385, i16 -32768, i16 17065, i16 12, i16 18080, i16 -32768, i16 17065, i16 13, i16 16385, i16 -32768, i16 17065, i16 13, i16 18080, i16 -32768, i16 17065, i16 15, i16 16385, i16 -32768, i16 17065, i16 15, i16 18080, i16 -32768, i16 17065, i16 16, i16 16385, i16 -32768, i16 17065, i16 16, i16 18080, i16 -32768, i16 17065, i16 17, i16 16385, i16 -32768, i16 17065, i16 17, i16 18080, i16 -32768, i16 17065, i16 18, i16 16385, i16 -32768, i16 17065, i16 18, i16 18080, i16 -32768, i16 17065, i16 19, i16 16385, i16 -32768, i16 17065, i16 19, i16 18080, i16 -32768, i16 17065, i16 20, i16 16385, i16 -32768, i16 17065, i16 20, i16 18080, i16 -32768, i16 17065, i16 21, i16 16385, i16 -32768, i16 17065, i16 21, i16 18080, i16 -32768, i16 17065, i16 22, i16 16385, i16 -32768, i16 17065, i16 22, i16 18080, i16 -32768, i16 17065, i16 27, i16 16385, i16 -32768, i16 17065, i16 27, i16 18080, i16 -32768, i16 17065, i16 29, i16 16385, i16 -32768, i16 17065, i16 29, i16 18080, i16 -32768, i16 17065, i16 34, i16 16385, i16 -32768, i16 17065, i16 34, i16 18080, i16 -32768, i16 17065, i16 35, i16 16385, i16 -32768, i16 17065, i16 35, i16 18080, i16 -32768, i16 17065, i16 40, i16 16385, i16 -32768, i16 17065, i16 40, i16 18080, i16 -32768, i16 17065, i16 55, i16 16385, i16 -32768, i16 17065, i16 55, i16 18080, i16 -32768, i16 17113, i16 2, i16 18080, i16 -32768, i16 17113, i16 39, i16 16385, i16 -32768, i16 17113, i16 39, i16 18080, i16 -32768, i16 17113, i16 40, i16 16385, i16 -32768, i16 17113, i16 40, i16 18080, i16 -32768, i16 17113, i16 58, i16 16385, i16 -32768, i16 17113, i16 58, i16 18080, i16 -32768, i16 17122, i16 2, i16 18080, i16 -32768, i16 17122, i16 16, i16 16385, i16 -32768, i16 17122, i16 16, i16 18080, i16 -32768, i16 17122, i16 34, i16 16385, i16 -32768, i16 17122, i16 34, i16 18080, i16 -32768, i16 17122, i16 39, i16 16385, i16 -32768, i16 17122, i16 39, i16 18080, i16 -32768, i16 17122, i16 45, i16 16385, i16 -32768, i16 17122, i16 45, i16 18080, i16 -32768, i16 17133, i16 2, i16 18080, i16 -32768, i16 17133, i16 22, i16 16385, i16 -32768, i16 17133, i16 22, i16 18080, i16 -32768, i16 17133, i16 39, i16 16385, i16 -32768, i16 17133, i16 39, i16 18080, i16 -32768, i16 17133, i16 40, i16 16385, i16 -32768, i16 17133, i16 40, i16 18080, i16 -32768, i16 17133, i16 44, i16 16385, i16 -32768, i16 17133, i16 44, i16 18080, i16 -32768, i16 17133, i16 57, i16 16385, i16 -32768, i16 17133, i16 57, i16 18080, i16 -32768, i16 17133, i16 58, i16 16385, i16 -32768, i16 17133, i16 58, i16 18080, i16 -32768, i16 17148, i16 2, i16 18080, i16 -32768, i16 17148, i16 5, i16 16385, i16 -32768, i16 17148, i16 5, i16 18080, i16 -32768, i16 17148, i16 6, i16 16385, i16 -32768, i16 17148, i16 6, i16 18080, i16 -32768, i16 17148, i16 7, i16 16385, i16 -32768, i16 17148, i16 7, i16 18080, i16 -32768, i16 17148, i16 15, i16 16385, i16 -32768, i16 17148, i16 15, i16 18080, i16 -32768, i16 17148, i16 16, i16 16385, i16 -32768, i16 17148, i16 16, i16 18080, i16 -32768, i16 17148, i16 17, i16 16385, i16 -32768, i16 17148, i16 17, i16 18080, i16 -32768, i16 17148, i16 18, i16 16385, i16 -32768, i16 17148, i16 18, i16 18080, i16 -32768, i16 17148, i16 19, i16 16385, i16 -32768, i16 17148, i16 19, i16 18080, i16 -32768, i16 17148, i16 20, i16 16385, i16 -32768, i16 17148, i16 20, i16 18080, i16 -32768, i16 17148, i16 21, i16 16385, i16 -32768, i16 17148, i16 21, i16 18080, i16 -32768, i16 17148, i16 22, i16 16385, i16 -32768, i16 17148, i16 22, i16 18080, i16 -32768, i16 17148, i16 28, i16 16385, i16 -32768, i16 17148, i16 28, i16 18080, i16 -32768, i16 17148, i16 34, i16 16385, i16 -32768, i16 17148, i16 34, i16 18080, i16 -32768, i16 17148, i16 35, i16 16385, i16 -32768, i16 17148, i16 35, i16 18080, i16 -32768, i16 17148, i16 38, i16 16385, i16 -32768, i16 17148, i16 38, i16 18080, i16 -32768, i16 17148, i16 39, i16 16385, i16 -32768, i16 17148, i16 39, i16 18080, i16 -32768, i16 17148, i16 40, i16 16385, i16 -32768, i16 17148, i16 40, i16 18080, i16 -32768, i16 17148, i16 47, i16 16385, i16 -32768, i16 17148, i16 47, i16 18080, i16 -32768, i16 17148, i16 51, i16 16385, i16 -32768, i16 17148, i16 51, i16 18080, i16 -32768, i16 17148, i16 52, i16 16385, i16 -32768, i16 17148, i16 52, i16 18080, i16 -32768, i16 17148, i16 57, i16 16385, i16 -32768, i16 17148, i16 57, i16 18080, i16 -32768, i16 17193, i16 2, i16 18080, i16 -32768, i16 17193, i16 34, i16 16385, i16 -32768, i16 17193, i16 34, i16 18080, i16 -32768, i16 17193, i16 39, i16 16385, i16 -32768, i16 17193, i16 39, i16 18080, i16 -32768, i16 18531, i16 2150, i16 18537, i16 -32768, i16 18540, i16 2150, i16 18543, i16 -32768, i16 18546, i16 2150, i16 18549, i16 -32768, i16 18552, i16 2172, i16 18560, i16 -32768, i16 18564, i16 2172, i16 18568, i16 -32768, i16 17205, i16 2, i16 18080, i16 -32768, i16 17205, i16 3, i16 16385, i16 -32768, i16 17205, i16 3, i16 18080, i16 -32768, i16 17205, i16 16, i16 16385, i16 -32768, i16 17205, i16 16, i16 18080, i16 -32768, i16 17205, i16 22, i16 16385, i16 -32768, i16 17205, i16 22, i16 18080, i16 -32768, i16 17205, i16 39, i16 16385, i16 -32768, i16 17205, i16 39, i16 18080, i16 -32768, i16 17205, i16 42, i16 16385, i16 -32768, i16 17205, i16 42, i16 18080, i16 -32768, i16 17205, i16 50, i16 16385, i16 -32768, i16 17205, i16 50, i16 18080, i16 -32768, i16 17220, i16 2, i16 18080, i16 -32768, i16 17220, i16 14, i16 16385, i16 -32768, i16 17220, i16 14, i16 18080, i16 -32768, i16 17220, i16 16, i16 16385, i16 -32768, i16 17220, i16 16, i16 18080, i16 -32768, i16 17220, i16 28, i16 16385, i16 -32768, i16 17220, i16 28, i16 18080, i16 -32768, i16 17220, i16 39, i16 16385, i16 -32768, i16 17220, i16 39, i16 18080, i16 -32768, i16 17220, i16 40, i16 16385, i16 -32768, i16 17220, i16 40, i16 18080, i16 -32768, i16 17220, i16 42, i16 16385, i16 -32768, i16 17220, i16 42, i16 18080, i16 -32768, i16 17220, i16 44, i16 16385, i16 -32768, i16 17220, i16 44, i16 18080, i16 -32768, i16 18178, i16 2, i16 18080, i16 -32768, i16 18178, i16 5, i16 16385, i16 -32768, i16 18178, i16 5, i16 18080, i16 -32768, i16 18178, i16 6, i16 16385, i16 -32768, i16 18178, i16 6, i16 18080, i16 -32768, i16 18178, i16 7, i16 16385, i16 -32768, i16 18178, i16 7, i16 18080, i16 -32768, i16 18178, i16 15, i16 16385, i16 -32768, i16 18178, i16 15, i16 18080, i16 -32768, i16 18178, i16 16, i16 16385, i16 -32768, i16 18178, i16 16, i16 18080, i16 -32768, i16 18178, i16 22, i16 16385, i16 -32768, i16 18178, i16 22, i16 18080, i16 -32768, i16 18178, i16 28, i16 16385, i16 -32768, i16 18178, i16 28, i16 18080, i16 -32768, i16 18178, i16 30, i16 16385, i16 -32768, i16 18178, i16 30, i16 18080, i16 -32768, i16 18178, i16 34, i16 16385, i16 -32768, i16 18178, i16 34, i16 18080, i16 -32768, i16 18178, i16 35, i16 16385, i16 -32768, i16 18178, i16 35, i16 18080, i16 -32768, i16 18178, i16 38, i16 16385, i16 -32768, i16 18178, i16 38, i16 18080, i16 -32768, i16 18178, i16 40, i16 16385, i16 -32768, i16 18178, i16 40, i16 18080, i16 -32768, i16 18178, i16 48, i16 16385, i16 -32768, i16 18178, i16 48, i16 18080, i16 -32768, i16 18572, i16 2191, i16 18578, i16 -32768, i16 18572, i16 2191, i16 18581, i16 -32768, i16 17267, i16 2, i16 18080, i16 -32768, i16 17267, i16 16, i16 16385, i16 -32768, i16 17267, i16 16, i16 18080, i16 -32768, i16 17272, i16 2, i16 18080, i16 -32768, i16 17272, i16 3, i16 16385, i16 -32768, i16 17272, i16 3, i16 18080, i16 -32768, i16 17272, i16 22, i16 16385, i16 -32768, i16 17272, i16 22, i16 18080, i16 -32768, i16 17272, i16 34, i16 16385, i16 -32768, i16 17272, i16 34, i16 18080, i16 -32768, i16 17272, i16 40, i16 16385, i16 -32768, i16 17272, i16 40, i16 18080, i16 -32768, i16 17272, i16 58, i16 16385, i16 -32768, i16 17272, i16 58, i16 18080, i16 -32768, i16 17285, i16 2, i16 18080, i16 -32768, i16 17285, i16 3, i16 16385, i16 -32768, i16 17285, i16 3, i16 18080, i16 -32768, i16 17285, i16 22, i16 16385, i16 -32768, i16 17285, i16 22, i16 18080, i16 -32768, i16 17285, i16 39, i16 16385, i16 -32768, i16 17285, i16 39, i16 18080, i16 -32768, i16 17285, i16 40, i16 16385, i16 -32768, i16 17285, i16 40, i16 18080, i16 -32768, i16 17285, i16 56, i16 16385, i16 -32768, i16 17285, i16 56, i16 18080, i16 -32768, i16 17285, i16 57, i16 16385, i16 -32768, i16 17285, i16 57, i16 18080, i16 -32768, i16 17285, i16 58, i16 16385, i16 -32768, i16 17285, i16 58, i16 18080, i16 -32768, i16 17302, i16 2, i16 18080, i16 -32768, i16 17302, i16 3, i16 16385, i16 -32768, i16 17302, i16 3, i16 18080, i16 -32768, i16 17302, i16 39, i16 16385, i16 -32768, i16 17302, i16 39, i16 18080, i16 -32768, i16 17302, i16 40, i16 16385, i16 -32768, i16 17302, i16 40, i16 18080, i16 -32768, i16 17311, i16 2, i16 18080, i16 -32768, i16 17311, i16 22, i16 16385, i16 -32768, i16 17311, i16 22, i16 18080, i16 -32768, i16 17311, i16 39, i16 16385, i16 -32768, i16 17311, i16 39, i16 18080, i16 -32768, i16 17311, i16 40, i16 16385, i16 -32768, i16 17311, i16 40, i16 18080, i16 -32768, i16 17311, i16 57, i16 16385, i16 -32768, i16 17311, i16 57, i16 18080, i16 -32768, i16 17311, i16 58, i16 16385, i16 -32768, i16 17311, i16 58, i16 18080, i16 -32768, i16 17311, i16 65, i16 18080, i16 -32768, i16 17325, i16 2, i16 18080, i16 -32768, i16 17325, i16 2, i16 32766, i16 -32768, i16 17325, i16 5, i16 16385, i16 -32768, i16 17325, i16 5, i16 18080, i16 -32768, i16 17325, i16 6, i16 16385, i16 -32768, i16 17325, i16 6, i16 18080, i16 -32768, i16 17325, i16 7, i16 16385, i16 -32768, i16 17325, i16 7, i16 18080, i16 -32768, i16 17325, i16 15, i16 16385, i16 -32768, i16 17325, i16 15, i16 18080, i16 -32768, i16 17325, i16 16, i16 16385, i16 -32768, i16 17325, i16 16, i16 18080, i16 -32768, i16 17325, i16 17, i16 16385, i16 -32768, i16 17325, i16 17, i16 18080, i16 -32768, i16 17325, i16 18, i16 16385, i16 -32768, i16 17325, i16 18, i16 18080, i16 -32768, i16 17325, i16 19, i16 16385, i16 -32768, i16 17325, i16 19, i16 18080, i16 -32768, i16 17325, i16 20, i16 16385, i16 -32768, i16 17325, i16 20, i16 18080, i16 -32768, i16 17325, i16 21, i16 16385, i16 -32768, i16 17325, i16 21, i16 18080, i16 -32768, i16 17325, i16 22, i16 16385, i16 -32768, i16 17325, i16 22, i16 18080, i16 -32768, i16 17325, i16 34, i16 16385, i16 -32768, i16 17325, i16 34, i16 18080, i16 -32768, i16 17325, i16 36, i16 16385, i16 -32768, i16 17325, i16 36, i16 18080, i16 -32768, i16 17325, i16 37, i16 16385, i16 -32768, i16 17325, i16 37, i16 18080, i16 -32768, i16 17325, i16 40, i16 16385, i16 -32768, i16 17325, i16 40, i16 18080, i16 -32768, i16 17325, i16 48, i16 16385, i16 -32768, i16 17325, i16 48, i16 18080, i16 -32768, i16 17325, i16 49, i16 16385, i16 -32768, i16 17325, i16 49, i16 18080, i16 -32768, i16 17325, i16 51, i16 16385, i16 -32768, i16 17325, i16 51, i16 18080, i16 -32768, i16 17325, i16 52, i16 16385, i16 -32768, i16 17325, i16 52, i16 18080, i16 -32768, i16 17325, i16 59, i16 16385, i16 -32768, i16 17325, i16 59, i16 18080, i16 -32768, i16 17325, i16 60, i16 16385, i16 -32768, i16 17325, i16 60, i16 18080, i16 -32768, i16 17325, i16 61, i16 16385, i16 -32768, i16 17325, i16 61, i16 18080, i16 -32768, i16 17325, i16 62, i16 16385, i16 -32768, i16 17325, i16 62, i16 18080, i16 -32768, i16 17325, i16 63, i16 16385, i16 -32768, i16 17325, i16 63, i16 18080, i16 -32768, i16 17325, i16 64, i16 16385, i16 -32768, i16 17325, i16 64, i16 18080, i16 -32768, i16 17379, i16 2, i16 18080, i16 -32768, i16 17379, i16 3, i16 16385, i16 -32768, i16 17379, i16 3, i16 18080, i16 -32768, i16 17379, i16 39, i16 16385, i16 -32768, i16 17379, i16 39, i16 18080, i16 -32768, i16 17386, i16 2, i16 18080, i16 -32768, i16 17389, i16 2, i16 18080, i16 -32768, i16 17389, i16 3, i16 16385, i16 -32768, i16 17389, i16 3, i16 18080, i16 -32768, i16 17389, i16 6, i16 16385, i16 -32768, i16 17389, i16 6, i16 18080, i16 -32768, i16 17389, i16 15, i16 16385, i16 -32768, i16 17389, i16 15, i16 18080, i16 -32768, i16 17389, i16 22, i16 16385, i16 -32768, i16 17389, i16 22, i16 18080, i16 -32768, i16 17389, i16 39, i16 16385, i16 -32768, i16 17389, i16 39, i16 18080, i16 -32768, i16 17389, i16 40, i16 16385, i16 -32768, i16 17389, i16 40, i16 18080, i16 -32768, i16 17389, i16 56, i16 16385, i16 -32768, i16 17389, i16 56, i16 18080, i16 -32768, i16 17389, i16 58, i16 16385, i16 -32768, i16 17389, i16 58, i16 18080, i16 -32768, i16 17408, i16 2, i16 18080, i16 -32768, i16 18584, i16 2150, i16 18587, i16 -32768, i16 17408, i16 4, i16 16385, i16 -32768, i16 17408, i16 4, i16 18080, i16 -32768, i16 17408, i16 16, i16 16385, i16 -32768, i16 17408, i16 16, i16 18080, i16 -32768, i16 17408, i16 24, i16 16385, i16 -32768, i16 17408, i16 24, i16 18080, i16 -32768, i16 17408, i16 39, i16 16385, i16 -32768, i16 17408, i16 39, i16 18080, i16 -32768, i16 17408, i16 40, i16 16385, i16 -32768, i16 17408, i16 40, i16 18080, i16 -32768, i16 17408, i16 41, i16 16385, i16 -32768, i16 17408, i16 41, i16 18080, i16 -32768, i16 17408, i16 16382, i16 18080, i16 -32768, i16 18590, i16 2150, i16 18593, i16 -32768, i16 18584, i16 2150, i16 18596, i16 -32768, i16 17427, i16 2, i16 18080, i16 -32768, i16 17427, i16 22, i16 16385, i16 -32768, i16 17427, i16 22, i16 18080, i16 -32768, i16 17427, i16 39, i16 16385, i16 -32768, i16 17427, i16 39, i16 18080, i16 -32768, i16 17427, i16 40, i16 16385, i16 -32768, i16 17427, i16 40, i16 18080, i16 -32768, i16 17427, i16 42, i16 16385, i16 -32768, i16 17427, i16 42, i16 18080, i16 -32768, i16 17427, i16 44, i16 16385, i16 -32768, i16 17427, i16 44, i16 18080, i16 -32768, i16 17427, i16 57, i16 16385, i16 -32768, i16 17427, i16 57, i16 18080, i16 -32768, i16 17427, i16 58, i16 16385, i16 -32768, i16 17427, i16 58, i16 18080, i16 -32768, i16 17444, i16 2, i16 18080, i16 -32768, i16 17444, i16 5, i16 16385, i16 -32768, i16 17444, i16 5, i16 18080, i16 -32768, i16 17444, i16 6, i16 16385, i16 -32768, i16 17444, i16 6, i16 18080, i16 -32768, i16 17444, i16 7, i16 16385, i16 -32768, i16 17444, i16 7, i16 18080, i16 -32768, i16 17444, i16 15, i16 16385, i16 -32768, i16 17444, i16 15, i16 18080, i16 -32768, i16 17444, i16 16, i16 16385, i16 -32768, i16 17444, i16 16, i16 18080, i16 -32768, i16 17444, i16 22, i16 16385, i16 -32768, i16 17444, i16 22, i16 18080, i16 -32768, i16 17444, i16 25, i16 16385, i16 -32768, i16 17444, i16 25, i16 18080, i16 -32768, i16 17444, i16 29, i16 16385, i16 -32768, i16 17444, i16 29, i16 18080, i16 -32768, i16 17444, i16 30, i16 16385, i16 -32768, i16 17444, i16 30, i16 18080, i16 -32768, i16 17444, i16 31, i16 16385, i16 -32768, i16 17444, i16 31, i16 18080, i16 -32768, i16 17444, i16 32, i16 16385, i16 -32768, i16 17444, i16 32, i16 18080, i16 -32768, i16 17444, i16 34, i16 16385, i16 -32768, i16 17444, i16 34, i16 18080, i16 -32768, i16 17444, i16 35, i16 16385, i16 -32768, i16 17444, i16 35, i16 18080, i16 -32768, i16 17444, i16 36, i16 16385, i16 -32768, i16 17444, i16 36, i16 18080, i16 -32768, i16 17444, i16 38, i16 16385, i16 -32768, i16 17444, i16 38, i16 18080, i16 -32768, i16 17444, i16 40, i16 16385, i16 -32768, i16 17444, i16 40, i16 18080, i16 -32768, i16 17444, i16 48, i16 16385, i16 -32768, i16 17444, i16 48, i16 18080, i16 -32768, i16 17444, i16 53, i16 16385, i16 -32768, i16 17444, i16 53, i16 18080, i16 -32768, i16 17444, i16 54, i16 16385, i16 -32768, i16 17444, i16 54, i16 18080, i16 -32768, i16 17444, i16 57, i16 16385, i16 -32768, i16 17444, i16 57, i16 18080, i16 -32768, i16 17444, i16 59, i16 16385, i16 -32768, i16 17444, i16 59, i16 18080, i16 -32768, i16 17444, i16 60, i16 16385, i16 -32768, i16 17444, i16 60, i16 18080, i16 -32768, i16 17444, i16 61, i16 16385, i16 -32768, i16 17444, i16 61, i16 18080, i16 -32768, i16 17444, i16 62, i16 16385, i16 -32768, i16 17444, i16 62, i16 18080, i16 -32768, i16 17444, i16 63, i16 16385, i16 -32768, i16 17444, i16 63, i16 18080, i16 -32768, i16 17444, i16 64, i16 16385, i16 -32768, i16 17444, i16 64, i16 18080, i16 -32768, i16 17501, i16 2, i16 18080, i16 -32768, i16 17501, i16 28, i16 16385, i16 -32768, i16 17501, i16 28, i16 18080, i16 -32768, i16 17501, i16 39, i16 16385, i16 -32768, i16 17501, i16 39, i16 18080, i16 -32768, i16 18254, i16 5, i16 16385, i16 -32768, i16 18254, i16 5, i16 18080, i16 -32768, i16 18254, i16 16, i16 16385, i16 -32768, i16 18254, i16 16, i16 18080, i16 -32768, i16 18254, i16 28, i16 16385, i16 -32768, i16 18254, i16 28, i16 18080, i16 -32768, i16 18254, i16 34, i16 16385, i16 -32768, i16 18254, i16 34, i16 18080, i16 -32768, i16 18254, i16 35, i16 16385, i16 -32768, i16 18254, i16 35, i16 18080, i16 -32768, i16 18254, i16 39, i16 16385, i16 -32768, i16 18254, i16 39, i16 18080, i16 -32768, i16 18254, i16 40, i16 16385, i16 -32768, i16 18254, i16 40, i16 18080, i16 -32768, i16 18259, i16 16, i16 16385, i16 -32768, i16 18259, i16 16, i16 18080, i16 -32768, i16 18259, i16 40, i16 16385, i16 -32768, i16 18259, i16 40, i16 18080, i16 -32768, i16 18259, i16 42, i16 16385, i16 -32768, i16 18259, i16 42, i16 18080, i16 -32768, i16 18259, i16 58, i16 16385, i16 -32768, i16 18259, i16 58, i16 18080, i16 -32768, i16 32766, i16 1, i16 16450, i16 -32768, i16 17531, i16 1, i16 16451, i16 -32768, i16 17531, i16 1696, i16 16450, i16 -32768, i16 17531, i16 1696, i16 16451, i16 -32768, i16 17535, i16 1696, i16 16450, i16 -32768, i16 17537, i16 1696, i16 16450, i16 -32768, i16 17539, i16 1696, i16 16450, i16 -32768, i16 17541, i16 1, i16 16451, i16 -32768, i16 17541, i16 1696, i16 16450, i16 -32768, i16 17541, i16 1696, i16 16451, i16 -32768, i16 17545, i16 1696, i16 16450, i16 -32768, i16 17547, i16 1, i16 16451, i16 -32768, i16 17547, i16 1696, i16 16450, i16 -32768, i16 17547, i16 1696, i16 16451, i16 -32768, i16 17551, i16 1696, i16 16450, i16 -32768, i16 17553, i16 1, i16 16451, i16 -32768, i16 17553, i16 1, i16 16452, i16 -32768, i16 17553, i16 1696, i16 16450, i16 -32768, i16 17553, i16 1696, i16 16451, i16 -32768, i16 17553, i16 1696, i16 16452, i16 -32768, i16 17553, i16 1696, i16 16453, i16 -32768, i16 17560, i16 1696, i16 16450, i16 -32768, i16 17562, i16 1696, i16 16450, i16 -32768, i16 17564, i16 1696, i16 16450, i16 -32768, i16 17566, i16 1696, i16 16450, i16 -32768, i16 17568, i16 1696, i16 16450, i16 -32768, i16 17570, i16 1, i16 16451, i16 -32768, i16 17570, i16 1696, i16 16450, i16 -32768, i16 17570, i16 1696, i16 16451, i16 -32768, i16 17574, i16 1696, i16 16450, i16 -32768, i16 17576, i16 1696, i16 16450, i16 -32768, i16 17578, i16 1696, i16 16450, i16 -32768, i16 17578, i16 1696, i16 32766, i16 -32768, i16 17581, i16 1696, i16 16450, i16 -32768, i16 17583, i16 1, i16 16451, i16 -32768, i16 17583, i16 1, i16 16452, i16 -32768, i16 17583, i16 1696, i16 16450, i16 -32768, i16 17583, i16 1696, i16 16451, i16 -32768, i16 17583, i16 1696, i16 16452, i16 -32768, i16 17583, i16 1696, i16 16453, i16 -32768, i16 17590, i16 1696, i16 16450, i16 -32768, i16 17592, i16 1696, i16 16450, i16 -32768, i16 17594, i16 1696, i16 16450, i16 -32768, i16 17596, i16 1, i16 16451, i16 -32768, i16 17596, i16 1696, i16 16450, i16 -32768, i16 17596, i16 1696, i16 16451, i16 -32768, i16 32766, i16 70, i16 16385, i16 -32768, i16 17600, i16 70, i16 18080, i16 -32768, i16 17602, i16 70, i16 18080, i16 -32768, i16 17604, i16 70, i16 18080, i16 -32768, i16 17606, i16 70, i16 18080, i16 -32768, i16 17608, i16 70, i16 18080, i16 -32768, i16 17610, i16 70, i16 18080, i16 -32768, i16 17612, i16 70, i16 18080, i16 -32768, i16 17614, i16 70, i16 18080, i16 -32768, i16 17616, i16 70, i16 18080, i16 -32768, i16 17618, i16 70, i16 18080, i16 -32768, i16 17620, i16 70, i16 18080, i16 -32768, i16 17622, i16 70, i16 18080, i16 -32768, i16 17624, i16 70, i16 18080, i16 -32768, i16 17626, i16 70, i16 18080, i16 -32768, i16 17628, i16 70, i16 18080, i16 -32768, i16 17630, i16 70, i16 18080, i16 -32768, i16 17632, i16 70, i16 18080, i16 -32768, i16 17634, i16 70, i16 18080, i16 -32768, i16 17636, i16 70, i16 18080, i16 -32768, i16 17638, i16 70, i16 18080, i16 -32768, i16 17640, i16 70, i16 18080, i16 -32768, i16 17642, i16 70, i16 18080, i16 -32768, i16 17644, i16 70, i16 18080, i16 -32768, i16 17646, i16 70, i16 18080, i16 -32768, i16 17648, i16 70, i16 18080, i16 -32768, i16 17650, i16 70, i16 18080, i16 -32768, i16 17652, i16 70, i16 18080, i16 -32768, i16 17654, i16 70, i16 18080, i16 -32768, i16 17656, i16 70, i16 18080, i16 -32768, i16 17658, i16 70, i16 18080, i16 -32768, i16 17660, i16 70, i16 18080, i16 -32768, i16 17662, i16 70, i16 18080, i16 -32768, i16 17664, i16 70, i16 18080, i16 -32768, i16 17666, i16 70, i16 18080, i16 -32768, i16 17668, i16 70, i16 18080, i16 -32768, i16 17670, i16 70, i16 18080, i16 -32768, i16 17672, i16 70, i16 18080, i16 -32768, i16 17674, i16 70, i16 18080, i16 -32768, i16 17676, i16 70, i16 18080, i16 -32768, i16 17678, i16 70, i16 18080, i16 -32768, i16 17680, i16 70, i16 18080, i16 -32768, i16 32766, i16 70, i16 18080, i16 -32768, i16 17682, i16 70, i16 16385, i16 -32768, i16 17684, i16 70, i16 18080, i16 -32768, i16 17686, i16 70, i16 16385, i16 -32768, i16 17688, i16 70, i16 18080, i16 -32768, i16 17690, i16 70, i16 18080, i16 -32768, i16 17692, i16 70, i16 18080, i16 -32768, i16 17694, i16 70, i16 18080, i16 -32768, i16 17696, i16 70, i16 18080, i16 -32768, i16 17698, i16 70, i16 18080, i16 -32768, i16 17700, i16 70, i16 18080, i16 -32768, i16 17702, i16 70, i16 18080, i16 -32768, i16 32766, i16 0, i16 16384, i16 -32768, i16 32766, i16 16382, i16 16384, i16 -32768, i16 17736, i16 16382, i16 16384, i16 -32768, i16 17735, i16 16382, i16 16384, i16 -32768, i16 17745, i16 16382, i16 16384, i16 -32768, i16 17749, i16 16382, i16 16384, i16 -32768, i16 17756, i16 16382, i16 16384, i16 -32768, i16 17764, i16 16382, i16 16384, i16 -32768, i16 17769, i16 16382, i16 16384, i16 -32768, i16 17774, i16 16382, i16 16384, i16 -32768, i16 17779, i16 16382, i16 16384, i16 -32768, i16 17784, i16 16382, i16 16384, i16 -32768, i16 17787, i16 16382, i16 16384, i16 -32768, i16 17790, i16 16382, i16 16384, i16 -32768, i16 17793, i16 16382, i16 16384, i16 -32768, i16 17796, i16 16382, i16 16384, i16 -32768, i16 17801, i16 16382, i16 16384, i16 -32768, i16 17806, i16 16382, i16 16384, i16 -32768, i16 17811, i16 16382, i16 16384, i16 -32768, i16 17816, i16 16382, i16 16384, i16 -32768, i16 17821, i16 16382, i16 16384, i16 -32768, i16 17826, i16 16382, i16 16384, i16 -32768, i16 17831, i16 16382, i16 16384, i16 -32768, i16 17836, i16 16382, i16 16384, i16 -32768, i16 17841, i16 16382, i16 16384, i16 -32768, i16 17846, i16 16382, i16 16384, i16 -32768, i16 17851, i16 16382, i16 16384, i16 -32768, i16 17856, i16 16382, i16 16384, i16 -32768, i16 17861, i16 16382, i16 16384, i16 -32768, i16 17866, i16 16382, i16 16384, i16 -32768, i16 17871, i16 16382, i16 16384, i16 -32768, i16 17874, i16 16382, i16 16384, i16 -32768, i16 17877, i16 16382, i16 16384, i16 -32768, i16 16384, i16 0, i16 32766, i16 -32768, i16 18115, i16 16382, i16 16384, i16 -32768, i16 18124, i16 16382, i16 16384, i16 -32768, i16 18125, i16 16382, i16 16384, i16 -32768, i16 18126, i16 16382, i16 16384, i16 -32768, i16 18127, i16 16382, i16 16384, i16 -32768, i16 18128, i16 16382, i16 16384, i16 -32768, i16 18129, i16 16382, i16 16384, i16 -32768, i16 18130, i16 16382, i16 16384, i16 -32768, i16 18131, i16 16382, i16 16384, i16 -32768, i16 18132, i16 16382, i16 16384, i16 -32768, i16 18599, i16 2218, i16 18605, i16 -32768, i16 18599, i16 2224, i16 18611, i16 -32768, i16 18614, i16 2233, i16 18620, i16 -32768, i16 18614, i16 2239, i16 18626, i16 -32768, i16 18629, i16 2248, i16 18635, i16 -32768, i16 18629, i16 2254, i16 18641, i16 -32768, i16 18644, i16 2263, i16 18650, i16 -32768, i16 18644, i16 2269, i16 18656, i16 -32768, i16 17909, i16 16382, i16 16384, i16 -32768, i16 17913, i16 16382, i16 16384, i16 -32768, i16 17917, i16 16382, i16 16384, i16 -32768, i16 17922, i16 16382, i16 16384, i16 -32768, i16 17926, i16 16382, i16 16384, i16 -32768, i16 17930, i16 16382, i16 16384, i16 -32768, i16 17935, i16 16382, i16 16384, i16 -32768, i16 17939, i16 16382, i16 16384, i16 -32768, i16 17943, i16 16382, i16 16384, i16 -32768, i16 17948, i16 16382, i16 16384, i16 -32768, i16 17952, i16 16382, i16 16384, i16 -32768, i16 17956, i16 16382, i16 16384, i16 -32768, i16 17960, i16 16382, i16 16384, i16 -32768, i16 17964, i16 16382, i16 16384, i16 -32768, i16 17968, i16 16382, i16 16384, i16 -32768, i16 17972, i16 16382, i16 16384, i16 -32768, i16 17976, i16 16382, i16 16384, i16 -32768, i16 17980, i16 16382, i16 16384, i16 -32768, i16 17986, i16 16382, i16 16384, i16 -32768, i16 17990, i16 16382, i16 16384, i16 -32768, i16 17994, i16 16382, i16 16384, i16 -32768, i16 17996, i16 16382, i16 16384, i16 -32768, i16 17998, i16 16382, i16 16384, i16 -32768, i16 18000, i16 16382, i16 16384, i16 -32768, i16 18002, i16 16382, i16 16384, i16 -32768, i16 18004, i16 16382, i16 16384, i16 -32768, i16 18010, i16 16382, i16 16384, i16 -32768, i16 18016, i16 16382, i16 16384, i16 -32768, i16 18022, i16 16382, i16 16384, i16 -32768, i16 18028, i16 16382, i16 16384, i16 -32768, i16 18034, i16 16382, i16 16384, i16 -32768, i16 18036, i16 16382, i16 16384, i16 -32768, i16 18038, i16 16382, i16 16384, i16 -32768, i16 18040, i16 16382, i16 16384, i16 -32768, i16 18042, i16 16382, i16 16384, i16 -32768, i16 18044, i16 16382, i16 16384, i16 -32768, i16 18048, i16 16382, i16 16384, i16 -32768, i16 18052, i16 16382, i16 16384, i16 -32768, i16 18056, i16 16382, i16 16384, i16 -32768, i16 18058, i16 16382, i16 16384, i16 -32768, i16 18060, i16 16382, i16 16384, i16 -32768, i16 18062, i16 16382, i16 16384, i16 -32768, i16 18064, i16 16382, i16 16384, i16 -32768, i16 18066, i16 16382, i16 16384, i16 -32768, i16 18070, i16 16382, i16 16384, i16 -32768, i16 18072, i16 16382, i16 16384, i16 -32768, i16 18074, i16 16382, i16 16384, i16 -32768, i16 18076, i16 16382, i16 16384, i16 -32768, i16 17065, i16 3, i16 16385, i16 -32768, i16 17065, i16 3, i16 18080, i16 -32768, i16 17065, i16 25, i16 16385, i16 -32768, i16 17065, i16 25, i16 18080, i16 -32768, i16 17065, i16 26, i16 16385, i16 -32768, i16 17065, i16 26, i16 18080, i16 -32768, i16 17065, i16 28, i16 16385, i16 -32768, i16 17065, i16 28, i16 18080, i16 -32768, i16 17065, i16 48, i16 16385, i16 -32768, i16 17065, i16 48, i16 18080, i16 -32768, i16 17065, i16 50, i16 16385, i16 -32768, i16 17065, i16 50, i16 18080, i16 -32768, i16 18659, i16 2278, i16 18578, i16 -32768, i16 18659, i16 2278, i16 18581, i16 -32768, i16 18659, i16 2281, i16 18578, i16 -32768, i16 18659, i16 2281, i16 18581, i16 -32768, i16 18659, i16 2284, i16 18578, i16 -32768, i16 18659, i16 2284, i16 18581, i16 -32768, i16 17122, i16 3, i16 16385, i16 -32768, i16 17122, i16 3, i16 18080, i16 -32768, i16 17122, i16 22, i16 16385, i16 -32768, i16 17122, i16 22, i16 18080, i16 -32768, i16 18164, i16 2, i16 18080, i16 -32768, i16 17133, i16 42, i16 16385, i16 -32768, i16 17133, i16 42, i16 18080, i16 -32768, i16 17148, i16 3, i16 16385, i16 -32768, i16 17148, i16 3, i16 18080, i16 -32768, i16 17148, i16 48, i16 16385, i16 -32768, i16 17148, i16 48, i16 18080, i16 -32768, i16 17148, i16 50, i16 16385, i16 -32768, i16 17148, i16 50, i16 18080, i16 -32768, i16 17205, i16 44, i16 16385, i16 -32768, i16 17205, i16 44, i16 18080, i16 -32768, i16 18176, i16 2, i16 18080, i16 -32768, i16 18179, i16 2, i16 16385, i16 -32768, i16 32766, i16 2, i16 18080, i16 -32768, i16 18178, i16 2, i16 16385, i16 -32768, i16 18178, i16 3, i16 16385, i16 -32768, i16 18178, i16 3, i16 18080, i16 -32768, i16 18178, i16 50, i16 16385, i16 -32768, i16 18178, i16 50, i16 18080, i16 -32768, i16 17272, i16 44, i16 16385, i16 -32768, i16 17272, i16 44, i16 18080, i16 -32768, i16 17285, i16 42, i16 16385, i16 -32768, i16 17285, i16 42, i16 18080, i16 -32768, i16 17285, i16 44, i16 16385, i16 -32768, i16 17285, i16 44, i16 18080, i16 -32768, i16 17311, i16 3, i16 16385, i16 -32768, i16 17311, i16 3, i16 18080, i16 -32768, i16 17311, i16 35, i16 16385, i16 -32768, i16 17311, i16 35, i16 18080, i16 -32768, i16 17311, i16 44, i16 16385, i16 -32768, i16 17311, i16 44, i16 18080, i16 -32768, i16 18671, i16 2290, i16 18578, i16 -32768, i16 18671, i16 2290, i16 18581, i16 -32768, i16 17325, i16 3, i16 16385, i16 -32768, i16 17325, i16 3, i16 18080, i16 -32768, i16 17325, i16 33, i16 16385, i16 -32768, i16 17325, i16 33, i16 18080, i16 -32768, i16 17325, i16 35, i16 16385, i16 -32768, i16 17325, i16 35, i16 18080, i16 -32768, i16 17325, i16 42, i16 16385, i16 -32768, i16 17325, i16 42, i16 18080, i16 -32768, i16 17325, i16 43, i16 16385, i16 -32768, i16 17325, i16 43, i16 18080, i16 -32768, i16 17325, i16 50, i16 16385, i16 -32768, i16 17325, i16 50, i16 18080, i16 -32768, i16 18212, i16 2, i16 18080, i16 -32768, i16 18677, i16 2296, i16 18578, i16 -32768, i16 18677, i16 2296, i16 18581, i16 -32768, i16 17389, i16 44, i16 16385, i16 -32768, i16 17389, i16 44, i16 18080, i16 -32768, i16 17408, i16 3, i16 16385, i16 -32768, i16 17408, i16 3, i16 18080, i16 -32768, i16 17408, i16 22, i16 16385, i16 -32768, i16 17408, i16 22, i16 18080, i16 -32768, i16 18222, i16 2, i16 18080, i16 -32768, i16 18683, i16 2302, i16 18578, i16 -32768, i16 18683, i16 2302, i16 18581, i16 -32768, i16 17444, i16 3, i16 16385, i16 -32768, i16 17444, i16 3, i16 18080, i16 -32768, i16 17444, i16 33, i16 16385, i16 -32768, i16 17444, i16 33, i16 18080, i16 -32768, i16 17444, i16 50, i16 16385, i16 -32768, i16 17444, i16 50, i16 18080, i16 -32768, i16 18232, i16 2, i16 18080, i16 -32768, i16 18234, i16 2, i16 18080, i16 -32768, i16 18234, i16 35, i16 16385, i16 -32768, i16 18234, i16 35, i16 18080, i16 -32768, i16 18234, i16 40, i16 16385, i16 -32768, i16 18234, i16 40, i16 18080, i16 -32768, i16 18240, i16 2, i16 18080, i16 -32768, i16 18240, i16 3, i16 16385, i16 -32768, i16 18240, i16 3, i16 18080, i16 -32768, i16 18240, i16 5, i16 16385, i16 -32768, i16 18240, i16 5, i16 18080, i16 -32768, i16 18240, i16 16, i16 16385, i16 -32768, i16 18240, i16 16, i16 18080, i16 -32768, i16 18240, i16 28, i16 16385, i16 -32768, i16 18240, i16 28, i16 18080, i16 -32768, i16 18240, i16 39, i16 16385, i16 -32768, i16 18240, i16 39, i16 18080, i16 -32768, i16 18240, i16 40, i16 16385, i16 -32768, i16 18240, i16 40, i16 18080, i16 -32768, i16 18254, i16 2, i16 18080, i16 -32768, i16 18254, i16 3, i16 16385, i16 -32768, i16 18254, i16 3, i16 18080, i16 -32768, i16 18259, i16 2, i16 18080, i16 -32768, i16 18259, i16 3, i16 16385, i16 -32768, i16 18259, i16 3, i16 18080, i16 -32768, i16 18259, i16 22, i16 16385, i16 -32768, i16 18259, i16 22, i16 18080, i16 -32768, i16 18259, i16 39, i16 16385, i16 -32768, i16 18259, i16 39, i16 18080, i16 -32768, i16 17272, i16 16382, i16 18080, i16 -32768, i16 17122, i16 44, i16 16385, i16 -32768, i16 17122, i16 44, i16 18080, i16 -32768, i16 17205, i16 7, i16 16385, i16 -32768, i16 17205, i16 7, i16 18080, i16 -32768, i16 18178, i16 39, i16 16385, i16 -32768, i16 18178, i16 39, i16 18080, i16 -32768, i16 17408, i16 44, i16 16385, i16 -32768, i16 17408, i16 44, i16 18080, i16 -32768, i16 32766, i16 16382, i16 16386, i16 -32767, i16 18234, i16 1850, i16 16386, i16 -31072, i16 18234, i16 1850, i16 16419, i16 -32767, i16 18234, i16 1850, i16 16419, i16 -31072, i16 18234, i16 1850, i16 16424, i16 -32767, i16 18234, i16 1850, i16 16424, i16 -31072, i16 18240, i16 1856, i16 16386, i16 -31072, i16 18240, i16 1856, i16 16387, i16 -32767, i16 18240, i16 1856, i16 16387, i16 -31072, i16 18240, i16 1856, i16 16389, i16 -32767, i16 18240, i16 1856, i16 16389, i16 -31072, i16 18240, i16 1856, i16 16400, i16 -32767, i16 18240, i16 1856, i16 16400, i16 -31072, i16 18240, i16 1856, i16 16412, i16 -32767, i16 18240, i16 1856, i16 16412, i16 -31072, i16 18240, i16 1856, i16 16423, i16 -32767, i16 18240, i16 1856, i16 16423, i16 -31072, i16 18240, i16 1856, i16 16424, i16 -32767, i16 18240, i16 1856, i16 16424, i16 -31072, i16 18254, i16 73, i16 16385, i16 -32768, i16 18254, i16 73, i16 18080, i16 -32768, i16 18144, i16 2, i16 18080, i16 -32768, i16 18144, i16 3, i16 16385, i16 -32768, i16 18144, i16 3, i16 18080, i16 -32768, i16 18148, i16 2, i16 18080, i16 -32768, i16 18148, i16 16382, i16 16385, i16 -32768, i16 18148, i16 1770, i16 18080, i16 -32768, i16 18148, i16 1772, i16 18080, i16 -32768, i16 18148, i16 1774, i16 18080, i16 -32768, i16 18212, i16 16382, i16 16385, i16 -32768, i16 18212, i16 1822, i16 18080, i16 -32768, i16 18212, i16 1824, i16 18080, i16 -32768, i16 18212, i16 35, i16 16385, i16 -32768, i16 18212, i16 35, i16 18080, i16 -32768, i16 18163, i16 2, i16 16385, i16 -32768, i16 17325, i16 28, i16 16385, i16 -32768, i16 17325, i16 28, i16 18080, i16 -32768, i16 18221, i16 2, i16 16385, i16 -32768, i16 17444, i16 28, i16 16385, i16 -32768, i16 17444, i16 28, i16 18080, i16 -32768, i16 18264, i16 2, i16 16385, i16 -32768, i16 18150, i16 2, i16 18080, i16 -32768, i16 18160, i16 2, i16 18080, i16 -32768, i16 18170, i16 2, i16 18080, i16 -32768, i16 18188, i16 2, i16 18080, i16 -32768, i16 18192, i16 2, i16 18080, i16 -32768, i16 18200, i16 2, i16 18080, i16 -32768, i16 18218, i16 2, i16 18080, i16 -32768, i16 18261, i16 2, i16 18080, i16 -32768, i16 18265, i16 2, i16 18080, i16 -32768, i16 18254, i16 16382, i16 16385, i16 -32768, i16 18254, i16 1848, i16 18080, i16 -32768, i16 18254, i16 1844, i16 18080, i16 -32768, i16 18154, i16 2, i16 18080, i16 -32768, i16 18154, i16 3, i16 16385, i16 -32768, i16 18154, i16 3, i16 18080, i16 -32768, i16 18154, i16 50, i16 16385, i16 -32768, i16 18154, i16 50, i16 18080, i16 -32768, i16 18154, i16 73, i16 16385, i16 -32768, i16 18154, i16 73, i16 18080, i16 -32768, i16 18206, i16 2, i16 18080, i16 -32768, i16 18206, i16 3, i16 16385, i16 -32768, i16 18206, i16 3, i16 18080, i16 -32768, i16 18206, i16 28, i16 16385, i16 -32768, i16 18206, i16 28, i16 18080, i16 -32768, i16 18206, i16 33, i16 16385, i16 -32768, i16 18206, i16 33, i16 18080, i16 -32768, i16 18144, i16 16382, i16 16385, i16 -32768, i16 18144, i16 1883, i16 18078, i16 -32768, i16 18144, i16 1883, i16 18079, i16 -32768, i16 18144, i16 1883, i16 18080, i16 -32768, i16 18144, i16 1762, i16 18080, i16 -32768, i16 18152, i16 2, i16 18080, i16 -32768, i16 18162, i16 2, i16 18080, i16 -32768, i16 18172, i16 2, i16 18080, i16 -32768, i16 18174, i16 2, i16 18080, i16 -32768, i16 18183, i16 2, i16 18080, i16 -32768, i16 18185, i16 2, i16 18080, i16 -32768, i16 18190, i16 2, i16 18080, i16 -32768, i16 18196, i16 2, i16 18080, i16 -32768, i16 18210, i16 2, i16 18080, i16 -32768, i16 18216, i16 2, i16 18080, i16 -32768, i16 18220, i16 2, i16 18080, i16 -32768, i16 18230, i16 2, i16 18080, i16 -32768, i16 18263, i16 2, i16 18080, i16 -32768, i16 18081, i16 16382, i16 16384, i16 -32768, i16 17133, i16 16382, i16 16385, i16 -32768, i16 17133, i16 1887, i16 18080, i16 -32768, i16 17386, i16 73, i16 18080, i16 -32768, i16 18143, i16 2, i16 16385, i16 -32768, i16 18272, i16 2, i16 16385, i16 -32768, i16 18169, i16 2, i16 16385, i16 -32768, i16 17205, i16 8, i16 16385, i16 -32768, i16 17205, i16 8, i16 18080, i16 -32768, i16 18182, i16 2, i16 16385, i16 -32768, i16 17311, i16 16382, i16 16385, i16 -32768, i16 17311, i16 1814, i16 18080, i16 -32768, i16 18201, i16 2, i16 16385, i16 -32768, i16 18227, i16 2, i16 16385, i16 -32768, i16 18257, i16 2, i16 16385, i16 -32768, i16 18225, i16 2, i16 16385, i16 -32768, i16 18155, i16 2, i16 16385, i16 -32768, i16 18155, i16 73, i16 18080, i16 -32768, i16 18155, i16 73, i16 16385, i16 -32768, i16 18213, i16 2, i16 16385, i16 -32768, i16 18213, i16 73, i16 18080, i16 -32768, i16 18213, i16 73, i16 16385, i16 -32768, i16 16384, i16 0, i16 16400, i16 -32768, i16 16384, i16 0, i16 16434, i16 -32768, i16 16384, i16 0, i16 16389, i16 -32768, i16 18311, i16 2, i16 18078, i16 -32768, i16 18311, i16 2, i16 18079, i16 -32768, i16 18311, i16 2, i16 18080, i16 -32768, i16 18166, i16 2, i16 18080, i16 -32768, i16 18315, i16 2, i16 18078, i16 -32768, i16 18315, i16 2, i16 18079, i16 -32768, i16 18315, i16 2, i16 18080, i16 -32768, i16 18319, i16 2, i16 18078, i16 -32768, i16 18319, i16 2, i16 18079, i16 -32768, i16 18319, i16 2, i16 18080, i16 -32768, i16 18194, i16 2, i16 18080, i16 -32768, i16 32766, i16 22, i16 16385, i16 -16386, i16 18220, i16 22, i16 18080, i16 -16386, i16 32766, i16 2, i16 16385, i16 -16386, i16 18259, i16 2, i16 18080, i16 -16386, i16 18259, i16 3, i16 16385, i16 -16386, i16 18259, i16 3, i16 18080, i16 -16386, i16 18259, i16 39, i16 16385, i16 -16386, i16 18259, i16 39, i16 18080, i16 -16386, i16 18259, i16 22, i16 16385, i16 -16386, i16 18259, i16 22, i16 18080, i16 -16386, i16 18234, i16 16382, i16 16386, i16 -32767, i16 18234, i16 1856, i16 16386, i16 -31072, i16 18234, i16 1856, i16 16387, i16 -32767, i16 18234, i16 1856, i16 16387, i16 -31072, i16 18234, i16 1856, i16 16389, i16 -32767, i16 18234, i16 1856, i16 16389, i16 -31072, i16 18234, i16 1856, i16 16400, i16 -32767, i16 18234, i16 1856, i16 16400, i16 -31072, i16 18234, i16 1856, i16 16434, i16 -32767, i16 18234, i16 1856, i16 16434, i16 -31072, i16 18234, i16 1856, i16 16423, i16 -32767, i16 18234, i16 1856, i16 16423, i16 -31072, i16 18234, i16 1856, i16 16412, i16 -32767, i16 18234, i16 1856, i16 16412, i16 -31072, i16 32766, i16 35, i16 16385, i16 -16386, i16 18204, i16 35, i16 18080, i16 -16386, i16 32766, i16 28, i16 16385, i16 -16386, i16 18148, i16 28, i16 18080, i16 -16386, i16 18212, i16 28, i16 18080, i16 -16386, i16 18232, i16 28, i16 18080, i16 -16386, i16 18323, i16 2, i16 18078, i16 -32768, i16 18323, i16 2, i16 18079, i16 -32768, i16 18323, i16 2, i16 18080, i16 -32768, i16 18327, i16 2, i16 18078, i16 -32768, i16 18327, i16 2, i16 18079, i16 -32768, i16 18327, i16 2, i16 18080, i16 -32768, i16 32766, i16 32766, i16 32766, i16 32766, i16 16384, i16 16384, i16 16384, i16 32766, i16 32766, i16 16389, i16 16385, i16 32766, i16 16470, i16 16389, i16 16388, i16 16470, i16 16470, i16 16389, i16 32766, i16 16470, i16 16470, i16 16392, i16 16385, i16 16470, i16 16470, i16 16392, i16 16388, i16 16470, i16 16470, i16 16393, i16 16385, i16 16470, i16 16470, i16 16393, i16 16388, i16 16470, i16 16470, i16 16405, i16 16385, i16 16470, i16 16470, i16 16405, i16 16388, i16 16470, i16 16470, i16 16397, i16 16385, i16 16470, i16 16470, i16 16397, i16 16388, i16 16470, i16 16470, i16 16408, i16 16385, i16 16470, i16 16470, i16 16408, i16 16388, i16 16470, i16 16470, i16 16409, i16 16385, i16 16470, i16 16470, i16 16409, i16 16388, i16 16470, i16 16470, i16 16411, i16 16385, i16 16470, i16 16470, i16 16411, i16 16388, i16 16470, i16 16470, i16 16410, i16 16385, i16 16470, i16 16470, i16 16410, i16 16388, i16 16470, i16 16470, i16 16435, i16 16385, i16 16470, i16 16470, i16 16435, i16 16388, i16 16470, i16 16470, i16 16398, i16 16385, i16 16470, i16 16470, i16 16398, i16 16388, i16 16470, i16 16470, i16 16394, i16 16385, i16 16470, i16 16470, i16 16394, i16 16388, i16 16470, i16 16470, i16 16412, i16 16385, i16 16470, i16 16470, i16 16412, i16 16388, i16 16470, i16 16470, i16 16413, i16 16385, i16 16470, i16 16470, i16 16413, i16 16388, i16 16470, i16 16470, i16 16415, i16 16385, i16 16470, i16 16470, i16 16415, i16 16388, i16 16470, i16 16470, i16 16414, i16 16385, i16 16470, i16 16470, i16 16414, i16 16388, i16 16470, i16 16470, i16 16436, i16 16385, i16 16470, i16 16470, i16 16436, i16 16388, i16 16470, i16 16470, i16 16395, i16 16385, i16 16470, i16 16470, i16 16395, i16 16388, i16 16470, i16 16470, i16 16399, i16 16385, i16 16470, i16 16470, i16 16399, i16 16388, i16 16470, i16 16470, i16 16417, i16 16385, i16 16470, i16 16470, i16 16417, i16 16388, i16 16470, i16 16470, i16 16450, i16 16385, i16 16470, i16 16470, i16 16450, i16 16388, i16 16470, i16 16470, i16 16402, i16 16385, i16 16470, i16 16470, i16 16402, i16 16388, i16 16470, i16 16470, i16 16426, i16 16385, i16 16470, i16 16470, i16 16426, i16 16388, i16 16470, i16 16470, i16 16400, i16 16385, i16 16470, i16 16470, i16 16400, i16 16388, i16 16470, i16 16470, i16 16396, i16 16385, i16 16470, i16 16470, i16 16396, i16 16388, i16 16470, i16 16470, i16 16444, i16 16385, i16 16470, i16 16470, i16 16444, i16 16388, i16 16470, i16 16470, i16 16449, i16 16385, i16 16470, i16 16470, i16 16449, i16 16388, i16 16470, i16 16470, i16 16391, i16 16385, i16 16470, i16 16470, i16 16391, i16 16388, i16 16470, i16 16470, i16 16418, i16 16385, i16 16470, i16 16470, i16 16418, i16 16388, i16 16470, i16 18628, i16 18631, i16 18517, i16 18628, i16 18628, i16 18631, i16 18425, i16 18628, i16 18628, i16 18634, i16 18517, i16 18628, i16 18628, i16 18634, i16 18425, i16 18628, i16 18628, i16 18637, i16 18517, i16 18628, i16 18628, i16 18637, i16 18425, i16 18628, i16 16536, i16 16389, i16 16388, i16 16536, i16 16536, i16 16390, i16 16385, i16 16536, i16 16536, i16 16390, i16 16388, i16 16536, i16 16536, i16 16444, i16 16385, i16 16536, i16 16536, i16 16444, i16 16388, i16 16536, i16 16536, i16 16445, i16 16385, i16 16536, i16 16536, i16 16445, i16 16388, i16 16536, i16 16545, i16 16389, i16 16388, i16 16545, i16 16545, i16 16392, i16 16385, i16 16545, i16 16545, i16 16392, i16 16388, i16 16545, i16 16545, i16 16394, i16 16385, i16 16545, i16 16545, i16 16394, i16 16388, i16 16545, i16 16545, i16 16400, i16 16385, i16 16545, i16 16545, i16 16400, i16 16388, i16 16545, i16 16545, i16 16390, i16 16385, i16 16545, i16 16545, i16 16390, i16 16388, i16 16545, i16 16545, i16 16448, i16 16385, i16 16545, i16 16545, i16 16448, i16 16388, i16 16545, i16 16545, i16 16437, i16 16385, i16 16545, i16 16545, i16 16437, i16 16388, i16 16545, i16 32766, i16 16395, i16 16385, i16 32766, i16 16559, i16 16395, i16 16388, i16 16559, i16 16562, i16 16389, i16 16388, i16 16562, i16 16562, i16 16395, i16 16385, i16 16562, i16 16562, i16 16395, i16 16388, i16 16562, i16 16562, i16 16390, i16 16385, i16 16562, i16 16562, i16 16390, i16 16388, i16 16562, i16 16562, i16 16444, i16 16385, i16 16562, i16 16562, i16 16444, i16 16388, i16 16562, i16 16562, i16 16452, i16 16385, i16 16562, i16 16562, i16 16452, i16 16388, i16 16562, i16 16562, i16 16448, i16 16385, i16 16562, i16 16562, i16 16448, i16 16388, i16 16562, i16 16562, i16 16421, i16 16385, i16 16562, i16 16562, i16 16421, i16 16388, i16 16562, i16 16562, i16 16445, i16 16385, i16 16562, i16 16562, i16 16445, i16 16388, i16 16562, i16 16579, i16 16389, i16 16388, i16 16579, i16 16579, i16 16392, i16 16385, i16 16579, i16 16579, i16 16392, i16 16388, i16 16579, i16 16579, i16 16393, i16 16385, i16 16579, i16 16579, i16 16393, i16 16388, i16 16579, i16 16579, i16 16405, i16 16385, i16 16579, i16 16579, i16 16405, i16 16388, i16 16579, i16 16579, i16 16397, i16 16385, i16 16579, i16 16579, i16 16397, i16 16388, i16 16579, i16 16579, i16 16398, i16 16385, i16 16579, i16 16579, i16 16398, i16 16388, i16 16579, i16 16579, i16 16394, i16 16385, i16 16579, i16 16579, i16 16394, i16 16388, i16 16579, i16 16579, i16 16412, i16 16385, i16 16579, i16 16579, i16 16412, i16 16388, i16 16579, i16 16579, i16 16413, i16 16385, i16 16579, i16 16579, i16 16413, i16 16388, i16 16579, i16 16579, i16 16415, i16 16385, i16 16579, i16 16579, i16 16415, i16 16388, i16 16579, i16 16579, i16 16414, i16 16385, i16 16579, i16 16579, i16 16414, i16 16388, i16 16579, i16 16579, i16 16436, i16 16385, i16 16579, i16 16579, i16 16436, i16 16388, i16 16579, i16 16579, i16 16395, i16 16385, i16 16579, i16 16579, i16 16395, i16 16388, i16 16579, i16 16579, i16 16402, i16 16385, i16 16579, i16 16579, i16 16402, i16 16388, i16 16579, i16 16579, i16 16400, i16 16385, i16 16579, i16 16579, i16 16400, i16 16388, i16 16579, i16 16579, i16 16396, i16 16385, i16 16579, i16 16579, i16 16396, i16 16388, i16 16579, i16 16579, i16 16446, i16 16385, i16 16579, i16 16579, i16 16446, i16 16388, i16 16579, i16 16579, i16 16390, i16 16385, i16 16579, i16 16579, i16 16390, i16 16388, i16 16579, i16 16579, i16 16444, i16 16385, i16 16579, i16 16579, i16 16444, i16 16388, i16 16579, i16 16579, i16 16439, i16 16385, i16 16579, i16 16579, i16 16439, i16 16388, i16 16579, i16 16579, i16 16449, i16 16385, i16 16579, i16 16579, i16 16449, i16 16388, i16 16579, i16 16579, i16 16391, i16 16385, i16 16579, i16 16579, i16 16391, i16 16388, i16 16579, i16 16579, i16 16419, i16 16385, i16 16579, i16 16579, i16 16419, i16 16388, i16 16579, i16 16579, i16 16420, i16 16385, i16 16579, i16 16579, i16 16420, i16 16388, i16 16579, i16 16579, i16 16421, i16 16385, i16 16579, i16 16579, i16 16421, i16 16388, i16 16579, i16 16630, i16 16389, i16 16388, i16 16630, i16 16630, i16 16400, i16 16385, i16 16630, i16 16630, i16 16400, i16 16388, i16 16630, i16 16630, i16 16390, i16 16385, i16 16630, i16 16630, i16 16390, i16 16388, i16 16630, i16 18640, i16 18643, i16 18646, i16 18640, i16 18649, i16 18643, i16 18652, i16 18649, i16 18655, i16 18643, i16 18658, i16 18655, i16 18661, i16 18665, i16 18669, i16 18661, i16 18673, i16 18665, i16 18677, i16 18673, i16 16642, i16 16389, i16 16388, i16 16642, i16 16642, i16 16392, i16 16385, i16 16642, i16 16642, i16 16392, i16 16388, i16 16642, i16 16642, i16 16397, i16 16385, i16 16642, i16 16642, i16 16397, i16 16388, i16 16642, i16 16642, i16 16394, i16 16385, i16 16642, i16 16642, i16 16394, i16 16388, i16 16642, i16 16642, i16 16395, i16 16385, i16 16642, i16 16642, i16 16395, i16 16388, i16 16642, i16 16642, i16 16390, i16 16385, i16 16642, i16 16642, i16 16390, i16 16388, i16 16642, i16 16642, i16 16452, i16 16385, i16 16642, i16 16642, i16 16452, i16 16388, i16 16642, i16 16642, i16 16448, i16 16385, i16 16642, i16 16642, i16 16448, i16 16388, i16 16642, i16 16642, i16 16391, i16 16385, i16 16642, i16 16642, i16 16391, i16 16388, i16 16642, i16 16661, i16 16389, i16 16388, i16 16661, i16 16661, i16 16447, i16 16385, i16 16661, i16 16661, i16 16447, i16 16388, i16 16661, i16 16661, i16 16394, i16 16385, i16 16661, i16 16661, i16 16394, i16 16388, i16 16661, i16 16661, i16 16402, i16 16385, i16 16661, i16 16661, i16 16402, i16 16388, i16 16661, i16 16661, i16 16390, i16 16385, i16 16661, i16 16661, i16 16390, i16 16388, i16 16661, i16 16661, i16 16444, i16 16385, i16 16661, i16 16661, i16 16444, i16 16388, i16 16661, i16 16661, i16 16452, i16 16385, i16 16661, i16 16661, i16 16452, i16 16388, i16 16661, i16 16661, i16 16448, i16 16385, i16 16661, i16 16661, i16 16448, i16 16388, i16 16661, i16 16678, i16 16389, i16 16386, i16 16678, i16 16678, i16 16389, i16 16388, i16 16678, i16 16681, i16 16389, i16 16388, i16 16681, i16 16681, i16 16392, i16 16385, i16 16681, i16 16681, i16 16392, i16 16388, i16 16681, i16 16681, i16 16393, i16 16385, i16 16681, i16 16681, i16 16393, i16 16388, i16 16681, i16 16681, i16 16405, i16 16385, i16 16681, i16 16681, i16 16405, i16 16388, i16 16681, i16 16681, i16 16397, i16 16385, i16 16681, i16 16681, i16 16397, i16 16388, i16 16681, i16 16681, i16 16398, i16 16385, i16 16681, i16 16681, i16 16398, i16 16388, i16 16681, i16 16681, i16 16394, i16 16385, i16 16681, i16 16681, i16 16394, i16 16388, i16 16681, i16 16681, i16 16395, i16 16385, i16 16681, i16 16681, i16 16395, i16 16388, i16 16681, i16 16681, i16 16402, i16 16385, i16 16681, i16 16681, i16 16402, i16 16388, i16 16681, i16 16681, i16 16427, i16 16385, i16 16681, i16 16681, i16 16427, i16 16388, i16 16681, i16 16681, i16 16400, i16 16385, i16 16681, i16 16681, i16 16400, i16 16388, i16 16681, i16 16681, i16 16396, i16 16385, i16 16681, i16 16681, i16 16396, i16 16388, i16 16681, i16 16681, i16 16446, i16 16385, i16 16681, i16 16681, i16 16446, i16 16388, i16 16681, i16 16681, i16 16390, i16 16385, i16 16681, i16 16681, i16 16390, i16 16388, i16 16681, i16 16681, i16 16444, i16 16385, i16 16681, i16 16681, i16 16444, i16 16388, i16 16681, i16 16681, i16 16449, i16 16385, i16 16681, i16 16681, i16 16449, i16 16388, i16 16681, i16 16681, i16 16391, i16 16385, i16 16681, i16 16681, i16 16391, i16 16388, i16 16681, i16 18681, i16 18684, i16 18517, i16 18681, i16 18681, i16 18684, i16 18425, i16 18681, i16 16718, i16 16389, i16 16388, i16 16718, i16 16718, i16 16394, i16 16385, i16 16718, i16 16718, i16 16394, i16 16388, i16 16718, i16 16723, i16 16389, i16 16388, i16 16723, i16 16723, i16 16392, i16 16385, i16 16723, i16 16723, i16 16392, i16 16388, i16 16723, i16 16723, i16 16395, i16 16385, i16 16723, i16 16723, i16 16395, i16 16388, i16 16723, i16 16723, i16 16400, i16 16385, i16 16723, i16 16723, i16 16400, i16 16388, i16 16723, i16 16723, i16 16444, i16 16385, i16 16723, i16 16723, i16 16444, i16 16388, i16 16723, i16 16723, i16 16448, i16 16385, i16 16723, i16 16723, i16 16448, i16 16388, i16 16723, i16 16723, i16 16445, i16 16385, i16 16723, i16 16723, i16 16445, i16 16388, i16 16723, i16 16723, i16 32766, i16 16388, i16 16723, i16 16739, i16 16389, i16 16388, i16 16739, i16 16739, i16 16392, i16 16385, i16 16739, i16 16739, i16 16392, i16 16388, i16 16739, i16 16739, i16 16395, i16 16385, i16 16739, i16 16739, i16 16395, i16 16388, i16 16739, i16 16739, i16 16390, i16 16385, i16 16739, i16 16739, i16 16390, i16 16388, i16 16739, i16 16739, i16 16444, i16 16385, i16 16739, i16 16739, i16 16444, i16 16388, i16 16739, i16 16739, i16 16452, i16 16385, i16 16739, i16 16739, i16 16452, i16 16388, i16 16739, i16 16739, i16 16448, i16 16385, i16 16739, i16 16739, i16 16448, i16 16388, i16 16739, i16 16739, i16 16434, i16 16385, i16 16739, i16 16739, i16 16434, i16 16388, i16 16739, i16 16739, i16 16421, i16 16385, i16 16739, i16 16739, i16 16421, i16 16388, i16 16739, i16 16739, i16 16445, i16 16385, i16 16739, i16 16739, i16 16445, i16 16388, i16 16739, i16 16760, i16 16389, i16 16388, i16 16760, i16 16760, i16 16392, i16 16385, i16 16760, i16 16760, i16 16392, i16 16388, i16 16760, i16 16760, i16 16390, i16 16385, i16 16760, i16 16760, i16 16390, i16 16388, i16 16760, i16 16760, i16 16444, i16 16385, i16 16760, i16 16760, i16 16444, i16 16388, i16 16760, i16 16769, i16 16389, i16 16388, i16 16769, i16 16769, i16 16392, i16 16385, i16 16769, i16 16769, i16 16392, i16 16388, i16 16769, i16 16769, i16 16395, i16 16385, i16 16769, i16 16769, i16 16395, i16 16388, i16 16769, i16 16769, i16 16396, i16 16385, i16 16769, i16 16769, i16 16396, i16 16388, i16 16769, i16 16769, i16 16390, i16 16385, i16 16769, i16 16769, i16 16390, i16 16388, i16 16769, i16 16769, i16 16444, i16 16385, i16 16769, i16 16769, i16 16444, i16 16388, i16 16769, i16 16769, i16 16448, i16 16385, i16 16769, i16 16769, i16 16448, i16 16388, i16 16769, i16 16769, i16 16421, i16 16385, i16 16769, i16 16769, i16 16421, i16 16388, i16 16769, i16 16769, i16 16445, i16 16385, i16 16769, i16 16769, i16 16445, i16 16388, i16 16769, i16 16769, i16 16451, i16 16388, i16 16769, i16 18687, i16 18690, i16 18517, i16 18687, i16 18687, i16 18690, i16 18425, i16 18687, i16 16791, i16 16389, i16 16388, i16 16791, i16 16791, i16 16389, i16 32766, i16 16791, i16 16791, i16 16392, i16 16385, i16 16791, i16 16791, i16 16392, i16 16388, i16 16791, i16 16791, i16 16393, i16 16385, i16 16791, i16 16791, i16 16393, i16 16388, i16 16791, i16 16791, i16 16405, i16 16385, i16 16791, i16 16791, i16 16405, i16 16388, i16 16791, i16 16791, i16 16397, i16 16385, i16 16791, i16 16791, i16 16397, i16 16388, i16 16791, i16 16791, i16 16398, i16 16385, i16 16791, i16 16791, i16 16398, i16 16388, i16 16791, i16 16791, i16 16394, i16 16385, i16 16791, i16 16791, i16 16394, i16 16388, i16 16791, i16 16791, i16 16412, i16 16385, i16 16791, i16 16791, i16 16412, i16 16388, i16 16791, i16 16791, i16 16413, i16 16385, i16 16791, i16 16791, i16 16413, i16 16388, i16 16791, i16 16791, i16 16415, i16 16385, i16 16791, i16 16791, i16 16415, i16 16388, i16 16791, i16 16791, i16 16414, i16 16385, i16 16791, i16 16791, i16 16414, i16 16388, i16 16791, i16 16791, i16 16436, i16 16385, i16 16791, i16 16791, i16 16436, i16 16388, i16 16791, i16 16791, i16 16395, i16 16385, i16 16791, i16 16791, i16 16395, i16 16388, i16 16791, i16 16791, i16 16402, i16 16385, i16 16791, i16 16791, i16 16402, i16 16388, i16 16791, i16 16791, i16 16404, i16 16385, i16 16791, i16 16791, i16 16404, i16 16388, i16 16791, i16 16791, i16 16400, i16 16385, i16 16791, i16 16791, i16 16400, i16 16388, i16 16791, i16 16791, i16 16396, i16 16385, i16 16791, i16 16791, i16 16396, i16 16388, i16 16791, i16 16791, i16 16406, i16 16385, i16 16791, i16 16791, i16 16406, i16 16388, i16 16791, i16 16791, i16 16431, i16 16385, i16 16791, i16 16791, i16 16431, i16 16388, i16 16791, i16 16791, i16 16444, i16 16385, i16 16791, i16 16791, i16 16444, i16 16388, i16 16791, i16 16791, i16 16452, i16 16385, i16 16791, i16 16791, i16 16452, i16 16388, i16 16791, i16 16791, i16 16443, i16 16385, i16 16791, i16 16791, i16 16443, i16 16388, i16 16791, i16 16791, i16 16449, i16 16385, i16 16791, i16 16791, i16 16449, i16 16388, i16 16791, i16 16791, i16 16440, i16 16385, i16 16791, i16 16791, i16 16440, i16 16388, i16 16791, i16 16791, i16 16391, i16 16385, i16 16791, i16 16791, i16 16391, i16 16388, i16 16791, i16 16791, i16 16419, i16 16385, i16 16791, i16 16791, i16 16419, i16 16388, i16 16791, i16 16791, i16 16420, i16 16385, i16 16791, i16 16791, i16 16420, i16 16388, i16 16791, i16 16791, i16 16401, i16 16385, i16 16791, i16 16791, i16 16401, i16 16388, i16 16791, i16 16791, i16 16422, i16 16385, i16 16791, i16 16791, i16 16422, i16 16388, i16 16791, i16 16791, i16 16423, i16 16385, i16 16791, i16 16791, i16 16423, i16 16388, i16 16791, i16 16791, i16 16425, i16 16385, i16 16791, i16 16791, i16 16425, i16 16388, i16 16791, i16 16791, i16 16424, i16 16385, i16 16791, i16 16791, i16 16424, i16 16388, i16 16791, i16 16791, i16 16441, i16 16385, i16 16791, i16 16791, i16 16441, i16 16388, i16 16791, i16 18693, i16 18696, i16 18517, i16 18693, i16 18693, i16 18696, i16 18425, i16 18693, i16 16861, i16 16389, i16 16388, i16 16861, i16 16861, i16 16392, i16 16385, i16 16861, i16 16861, i16 16392, i16 16388, i16 16861, i16 16861, i16 16390, i16 16385, i16 16861, i16 16861, i16 16390, i16 16388, i16 16861, i16 16868, i16 16389, i16 16388, i16 16868, i16 16871, i16 16389, i16 16388, i16 16871, i16 16871, i16 16392, i16 16385, i16 16871, i16 16871, i16 16392, i16 16388, i16 16871, i16 16871, i16 16405, i16 16385, i16 16871, i16 16871, i16 16405, i16 16388, i16 16871, i16 16871, i16 16398, i16 16385, i16 16871, i16 16871, i16 16398, i16 16388, i16 16871, i16 16871, i16 16390, i16 16385, i16 16871, i16 16871, i16 16390, i16 16388, i16 16871, i16 16871, i16 16444, i16 16385, i16 16871, i16 16871, i16 16444, i16 16388, i16 16871, i16 16871, i16 16448, i16 16385, i16 16871, i16 16871, i16 16448, i16 16388, i16 16871, i16 16871, i16 16434, i16 16385, i16 16871, i16 16871, i16 16434, i16 16388, i16 16871, i16 16871, i16 16445, i16 16385, i16 16871, i16 16871, i16 16445, i16 16388, i16 16871, i16 16889, i16 16395, i16 16388, i16 16889, i16 16892, i16 16389, i16 16388, i16 16892, i16 18699, i16 18643, i16 18702, i16 18699, i16 16892, i16 16392, i16 16385, i16 16892, i16 16892, i16 16392, i16 16388, i16 16892, i16 16892, i16 16403, i16 16385, i16 16892, i16 16892, i16 16403, i16 16388, i16 16892, i16 16892, i16 16394, i16 16385, i16 16892, i16 16892, i16 16394, i16 16388, i16 16892, i16 16892, i16 16390, i16 16385, i16 16892, i16 16892, i16 16390, i16 16388, i16 16892, i16 16892, i16 16444, i16 16385, i16 16892, i16 16892, i16 16444, i16 16388, i16 16892, i16 16892, i16 16433, i16 16385, i16 16892, i16 16892, i16 16433, i16 16388, i16 16892, i16 16892, i16 16448, i16 16385, i16 16892, i16 16892, i16 16448, i16 16388, i16 16892, i16 16909, i16 16395, i16 16388, i16 16909, i16 16909, i16 16416, i16 16385, i16 16909, i16 16909, i16 16416, i16 16388, i16 16909, i16 16892, i16 32766, i16 16388, i16 16892, i16 18705, i16 18643, i16 18708, i16 18705, i16 18699, i16 18643, i16 18711, i16 16384, i16 16917, i16 16389, i16 16388, i16 16917, i16 16917, i16 16395, i16 16385, i16 16917, i16 16917, i16 16395, i16 16388, i16 16917, i16 16917, i16 16390, i16 16385, i16 16917, i16 16917, i16 16390, i16 16388, i16 16917, i16 16917, i16 16444, i16 16385, i16 16917, i16 16917, i16 16444, i16 16388, i16 16917, i16 16917, i16 16452, i16 16385, i16 16917, i16 16917, i16 16452, i16 16388, i16 16917, i16 16917, i16 16448, i16 16385, i16 16917, i16 16917, i16 16448, i16 16388, i16 16917, i16 16917, i16 16421, i16 16385, i16 16917, i16 16917, i16 16421, i16 16388, i16 16917, i16 16917, i16 16445, i16 16385, i16 16917, i16 16917, i16 16445, i16 16388, i16 16917, i16 18714, i16 18717, i16 18517, i16 18714, i16 18714, i16 18717, i16 18425, i16 18714, i16 16936, i16 16389, i16 16388, i16 16936, i16 16936, i16 16392, i16 16385, i16 16936, i16 16936, i16 16392, i16 16388, i16 16936, i16 16936, i16 16393, i16 16385, i16 16936, i16 16936, i16 16393, i16 16388, i16 16936, i16 16936, i16 16405, i16 16385, i16 16936, i16 16936, i16 16405, i16 16388, i16 16936, i16 16936, i16 16397, i16 16385, i16 16936, i16 16936, i16 16397, i16 16388, i16 16936, i16 16936, i16 16398, i16 16385, i16 16936, i16 16936, i16 16398, i16 16388, i16 16936, i16 16936, i16 16394, i16 16385, i16 16936, i16 16936, i16 16394, i16 16388, i16 16936, i16 16936, i16 16395, i16 16385, i16 16936, i16 16936, i16 16395, i16 16388, i16 16936, i16 16936, i16 16399, i16 16385, i16 16936, i16 16936, i16 16399, i16 16388, i16 16936, i16 16936, i16 16402, i16 16385, i16 16936, i16 16936, i16 16402, i16 16388, i16 16936, i16 16936, i16 16426, i16 16385, i16 16936, i16 16936, i16 16426, i16 16388, i16 16936, i16 16936, i16 16427, i16 16385, i16 16936, i16 16936, i16 16427, i16 16388, i16 16936, i16 16936, i16 16428, i16 16385, i16 16936, i16 16936, i16 16428, i16 16388, i16 16936, i16 16936, i16 16429, i16 16385, i16 16936, i16 16936, i16 16429, i16 16388, i16 16936, i16 16936, i16 16404, i16 16385, i16 16936, i16 16936, i16 16404, i16 16388, i16 16936, i16 16936, i16 16400, i16 16385, i16 16936, i16 16936, i16 16400, i16 16388, i16 16936, i16 16936, i16 16396, i16 16385, i16 16936, i16 16936, i16 16396, i16 16388, i16 16936, i16 16936, i16 16406, i16 16385, i16 16936, i16 16936, i16 16406, i16 16388, i16 16936, i16 16936, i16 16446, i16 16385, i16 16936, i16 16936, i16 16446, i16 16388, i16 16936, i16 16936, i16 16444, i16 16385, i16 16936, i16 16936, i16 16444, i16 16388, i16 16936, i16 16936, i16 16449, i16 16385, i16 16936, i16 16936, i16 16449, i16 16388, i16 16936, i16 16936, i16 16391, i16 16385, i16 16936, i16 16936, i16 16391, i16 16388, i16 16936, i16 16936, i16 16430, i16 16385, i16 16936, i16 16936, i16 16430, i16 16388, i16 16936, i16 16936, i16 16442, i16 16385, i16 16936, i16 16936, i16 16442, i16 16388, i16 16936, i16 16936, i16 16421, i16 16385, i16 16936, i16 16936, i16 16421, i16 16388, i16 16936, i16 16936, i16 16401, i16 16385, i16 16936, i16 16936, i16 16401, i16 16388, i16 16936, i16 16936, i16 16422, i16 16385, i16 16936, i16 16936, i16 16422, i16 16388, i16 16936, i16 16936, i16 16423, i16 16385, i16 16936, i16 16936, i16 16423, i16 16388, i16 16936, i16 16936, i16 16425, i16 16385, i16 16936, i16 16936, i16 16425, i16 16388, i16 16936, i16 16936, i16 16424, i16 16385, i16 16936, i16 16936, i16 16424, i16 16388, i16 16936, i16 16936, i16 16441, i16 16385, i16 16936, i16 16936, i16 16441, i16 16388, i16 16936, i16 16999, i16 16389, i16 16388, i16 16999, i16 16999, i16 16396, i16 16385, i16 16999, i16 16999, i16 16396, i16 16388, i16 16999, i16 16999, i16 16444, i16 16385, i16 16999, i16 16999, i16 16444, i16 16388, i16 16999, i16 17006, i16 16389, i16 16388, i16 17006, i16 17006, i16 16392, i16 16385, i16 17006, i16 17006, i16 16392, i16 16388, i16 17006, i16 17006, i16 16393, i16 16385, i16 17006, i16 17006, i16 16393, i16 16388, i16 17006, i16 17006, i16 16394, i16 16385, i16 17006, i16 17006, i16 16394, i16 16388, i16 17006, i16 17006, i16 16402, i16 16385, i16 17006, i16 17006, i16 16402, i16 16388, i16 17006, i16 17006, i16 16390, i16 16385, i16 17006, i16 17006, i16 16390, i16 16388, i16 17006, i16 17006, i16 16444, i16 16385, i16 17006, i16 17006, i16 16444, i16 16388, i16 17006, i16 17021, i16 16389, i16 16388, i16 17021, i16 17021, i16 16402, i16 16385, i16 17021, i16 17021, i16 16402, i16 16388, i16 17021, i16 17021, i16 16390, i16 16385, i16 17021, i16 17021, i16 16390, i16 16388, i16 17021, i16 17028, i16 16389, i16 16388, i16 17028, i16 17028, i16 16392, i16 16385, i16 17028, i16 17028, i16 16392, i16 16388, i16 17028, i16 17028, i16 16393, i16 16385, i16 17028, i16 17028, i16 16393, i16 16388, i16 17028, i16 17028, i16 16394, i16 16385, i16 17028, i16 17028, i16 16394, i16 16388, i16 17028, i16 17028, i16 16402, i16 16385, i16 17028, i16 17028, i16 16402, i16 16388, i16 17028, i16 17028, i16 16400, i16 16385, i16 17028, i16 17028, i16 16400, i16 16388, i16 17028, i16 17028, i16 16396, i16 16385, i16 17028, i16 17028, i16 16396, i16 16388, i16 17028, i16 17028, i16 16390, i16 16385, i16 17028, i16 17028, i16 16390, i16 16388, i16 17028, i16 17028, i16 16444, i16 16385, i16 17028, i16 17028, i16 16444, i16 16388, i16 17028, i16 17047, i16 16389, i16 16388, i16 17047, i16 17047, i16 16392, i16 16385, i16 17047, i16 17047, i16 16392, i16 16388, i16 17047, i16 17047, i16 16394, i16 16385, i16 17047, i16 17047, i16 16394, i16 16388, i16 17047, i16 17047, i16 16390, i16 16385, i16 17047, i16 17047, i16 16390, i16 16388, i16 17047, i16 17047, i16 16444, i16 16385, i16 17047, i16 17047, i16 16444, i16 16388, i16 17047, i16 17047, i16 16452, i16 16385, i16 17047, i16 17047, i16 16452, i16 16388, i16 17047, i16 17047, i16 16445, i16 16385, i16 17047, i16 17047, i16 16445, i16 16388, i16 17047, i16 17062, i16 16395, i16 16388, i16 17062, i16 32766, i16 32766, i16 16384, i16 32766, i16 17064, i16 32766, i16 16384, i16 17064, i16 17073, i16 32766, i16 16384, i16 17073, i16 17074, i16 32766, i16 16384, i16 17074, i16 17075, i16 32766, i16 16384, i16 17075, i16 17076, i16 32766, i16 16384, i16 17076, i16 17077, i16 32766, i16 16384, i16 17077, i16 17078, i16 32766, i16 16384, i16 17078, i16 17079, i16 32766, i16 16384, i16 17079, i16 17080, i16 32766, i16 16384, i16 17080, i16 17081, i16 32766, i16 16384, i16 17081, i16 16384, i16 16384, i16 16384, i16 17133, i16 16384, i16 16384, i16 16384, i16 17135, i16 16384, i16 16384, i16 16384, i16 17197, i16 16384, i16 16384, i16 16384, i16 16384, i16 32766, i16 16385, i16 16453, i16 32766, i16 17723, i16 16385, i16 16454, i16 17723, i16 17723, i16 16388, i16 16453, i16 17723, i16 17723, i16 16388, i16 16454, i16 17723, i16 17727, i16 16388, i16 16453, i16 17727, i16 17729, i16 16388, i16 16453, i16 17729, i16 17731, i16 16388, i16 16453, i16 17731, i16 17733, i16 16385, i16 16454, i16 17733, i16 17733, i16 16388, i16 16453, i16 17733, i16 17733, i16 16388, i16 16454, i16 17733, i16 17737, i16 16388, i16 16453, i16 17737, i16 17739, i16 16385, i16 16454, i16 17739, i16 17739, i16 16388, i16 16453, i16 17739, i16 17739, i16 16388, i16 16454, i16 17739, i16 17743, i16 16388, i16 16453, i16 17743, i16 17745, i16 16385, i16 16454, i16 17745, i16 17745, i16 16385, i16 16455, i16 17745, i16 17745, i16 16388, i16 16453, i16 17745, i16 17745, i16 16388, i16 16454, i16 17745, i16 17745, i16 16388, i16 16455, i16 17745, i16 17745, i16 16388, i16 16456, i16 17745, i16 17752, i16 16388, i16 16453, i16 17752, i16 17754, i16 16388, i16 16453, i16 17754, i16 17756, i16 16388, i16 16453, i16 17756, i16 17758, i16 16388, i16 16453, i16 17758, i16 17760, i16 16388, i16 16453, i16 17760, i16 17762, i16 16385, i16 16454, i16 17762, i16 17762, i16 16388, i16 16453, i16 17762, i16 17762, i16 16388, i16 16454, i16 17762, i16 17766, i16 16388, i16 16453, i16 17766, i16 17768, i16 16388, i16 16453, i16 17768, i16 17770, i16 16388, i16 16453, i16 17770, i16 17770, i16 16388, i16 32766, i16 17770, i16 17773, i16 16388, i16 16453, i16 17773, i16 17775, i16 16385, i16 16454, i16 17775, i16 17775, i16 16385, i16 16455, i16 17775, i16 17775, i16 16388, i16 16453, i16 17775, i16 17775, i16 16388, i16 16454, i16 17775, i16 17775, i16 16388, i16 16455, i16 17775, i16 17775, i16 16388, i16 16456, i16 17775, i16 17782, i16 16388, i16 16453, i16 17782, i16 17784, i16 16388, i16 16453, i16 17784, i16 17786, i16 16388, i16 16453, i16 17786, i16 17788, i16 16385, i16 16454, i16 17788, i16 17788, i16 16388, i16 16453, i16 17788, i16 17788, i16 16388, i16 16454, i16 17788, i16 32766, i16 16457, i16 16385, i16 32766, i16 17792, i16 16457, i16 16388, i16 17792, i16 17794, i16 16457, i16 16388, i16 17794, i16 17796, i16 16457, i16 16388, i16 17796, i16 17798, i16 16457, i16 16388, i16 17798, i16 17800, i16 16457, i16 16388, i16 17800, i16 17802, i16 16457, i16 16388, i16 17802, i16 17804, i16 16457, i16 16388, i16 17804, i16 17806, i16 16457, i16 16388, i16 17806, i16 17808, i16 16457, i16 16388, i16 17808, i16 17810, i16 16457, i16 16388, i16 17810, i16 17812, i16 16457, i16 16388, i16 17812, i16 17814, i16 16457, i16 16388, i16 17814, i16 17816, i16 16457, i16 16388, i16 17816, i16 17818, i16 16457, i16 16388, i16 17818, i16 17820, i16 16457, i16 16388, i16 17820, i16 17822, i16 16457, i16 16388, i16 17822, i16 17824, i16 16457, i16 16388, i16 17824, i16 17826, i16 16457, i16 16388, i16 17826, i16 17828, i16 16457, i16 16388, i16 17828, i16 17830, i16 16457, i16 16388, i16 17830, i16 17832, i16 16457, i16 16388, i16 17832, i16 17834, i16 16457, i16 16388, i16 17834, i16 17836, i16 16457, i16 16388, i16 17836, i16 17838, i16 16457, i16 16388, i16 17838, i16 17840, i16 16457, i16 16388, i16 17840, i16 17842, i16 16457, i16 16388, i16 17842, i16 17844, i16 16457, i16 16388, i16 17844, i16 17846, i16 16457, i16 16388, i16 17846, i16 17848, i16 16457, i16 16388, i16 17848, i16 17850, i16 16457, i16 16388, i16 17850, i16 17852, i16 16457, i16 16388, i16 17852, i16 17854, i16 16457, i16 16388, i16 17854, i16 17856, i16 16457, i16 16388, i16 17856, i16 17858, i16 16457, i16 16388, i16 17858, i16 17860, i16 16457, i16 16388, i16 17860, i16 17862, i16 16457, i16 16388, i16 17862, i16 17864, i16 16457, i16 16388, i16 17864, i16 17866, i16 16457, i16 16388, i16 17866, i16 17868, i16 16457, i16 16388, i16 17868, i16 17870, i16 16457, i16 16388, i16 17870, i16 17872, i16 16457, i16 16388, i16 17872, i16 32766, i16 16457, i16 16388, i16 32766, i16 17874, i16 16457, i16 16385, i16 17874, i16 17876, i16 16457, i16 16388, i16 17876, i16 17878, i16 16457, i16 16385, i16 17878, i16 17880, i16 16457, i16 16388, i16 17880, i16 17882, i16 16457, i16 16388, i16 17882, i16 17884, i16 16457, i16 16388, i16 17884, i16 17886, i16 16457, i16 16388, i16 17886, i16 17888, i16 16457, i16 16388, i16 17888, i16 17890, i16 16457, i16 16388, i16 17890, i16 17892, i16 16457, i16 16388, i16 17892, i16 17894, i16 16457, i16 16388, i16 17894, i16 32766, i16 16384, i16 16384, i16 32766, i16 17928, i16 32766, i16 16384, i16 17928, i16 17927, i16 32766, i16 16384, i16 17927, i16 17937, i16 32766, i16 16384, i16 17937, i16 17941, i16 32766, i16 16384, i16 17941, i16 17948, i16 32766, i16 16384, i16 17948, i16 17956, i16 32766, i16 16384, i16 17956, i16 17961, i16 32766, i16 16384, i16 17961, i16 17966, i16 32766, i16 16384, i16 17966, i16 17971, i16 32766, i16 16384, i16 17971, i16 17976, i16 32766, i16 16384, i16 17976, i16 17979, i16 32766, i16 16384, i16 17979, i16 17982, i16 32766, i16 16384, i16 17982, i16 17985, i16 32766, i16 16384, i16 17985, i16 17988, i16 32766, i16 16384, i16 17988, i16 17993, i16 32766, i16 16384, i16 17993, i16 17998, i16 32766, i16 16384, i16 17998, i16 18003, i16 32766, i16 16384, i16 18003, i16 18008, i16 32766, i16 16384, i16 18008, i16 18013, i16 32766, i16 16384, i16 18013, i16 18018, i16 32766, i16 16384, i16 18018, i16 18023, i16 32766, i16 16384, i16 18023, i16 18028, i16 32766, i16 16384, i16 18028, i16 18033, i16 32766, i16 16384, i16 18033, i16 18038, i16 32766, i16 16384, i16 18038, i16 18043, i16 32766, i16 16384, i16 18043, i16 18048, i16 32766, i16 16384, i16 18048, i16 18053, i16 32766, i16 16384, i16 18053, i16 18058, i16 32766, i16 16384, i16 18058, i16 18063, i16 32766, i16 16384, i16 18063, i16 18066, i16 32766, i16 16384, i16 18066, i16 18069, i16 32766, i16 16384, i16 18069, i16 16384, i16 16384, i16 32766, i16 32766, i16 18720, i16 18720, i16 18723, i16 18720, i16 18720, i16 18726, i16 18729, i16 18720, i16 18732, i16 18732, i16 18735, i16 18732, i16 18732, i16 18738, i16 18741, i16 18732, i16 18744, i16 18744, i16 18747, i16 18744, i16 18744, i16 18750, i16 18753, i16 18744, i16 18756, i16 18759, i16 18762, i16 18756, i16 18756, i16 18765, i16 18768, i16 18756, i16 18101, i16 32766, i16 16384, i16 18101, i16 18105, i16 32766, i16 16384, i16 18105, i16 18109, i16 32766, i16 16384, i16 18109, i16 18114, i16 32766, i16 16384, i16 18114, i16 18118, i16 32766, i16 16384, i16 18118, i16 18122, i16 32766, i16 16384, i16 18122, i16 18127, i16 32766, i16 16384, i16 18127, i16 18131, i16 32766, i16 16384, i16 18131, i16 18135, i16 32766, i16 16384, i16 18135, i16 18140, i16 32766, i16 16384, i16 18140, i16 18144, i16 32766, i16 16384, i16 18144, i16 18148, i16 32766, i16 16384, i16 18148, i16 18152, i16 32766, i16 16384, i16 18152, i16 18156, i16 32766, i16 16384, i16 18156, i16 18160, i16 32766, i16 16384, i16 18160, i16 18164, i16 32766, i16 16384, i16 18164, i16 18168, i16 32766, i16 16384, i16 18168, i16 18172, i16 32766, i16 16384, i16 18172, i16 18178, i16 32766, i16 16384, i16 18178, i16 18182, i16 32766, i16 16384, i16 18182, i16 18186, i16 32766, i16 16384, i16 18186, i16 18188, i16 32766, i16 16384, i16 18188, i16 18190, i16 32766, i16 16384, i16 18190, i16 18192, i16 32766, i16 16384, i16 18192, i16 18194, i16 32766, i16 16384, i16 18194, i16 18196, i16 32766, i16 16384, i16 18196, i16 18202, i16 32766, i16 16384, i16 18202, i16 18208, i16 32766, i16 16384, i16 18208, i16 18214, i16 32766, i16 16384, i16 18214, i16 18220, i16 32766, i16 16384, i16 18220, i16 18226, i16 32766, i16 16384, i16 18226, i16 18228, i16 32766, i16 16384, i16 18228, i16 18230, i16 32766, i16 16384, i16 18230, i16 18232, i16 32766, i16 16384, i16 18232, i16 18234, i16 32766, i16 16384, i16 18234, i16 18236, i16 32766, i16 16384, i16 18236, i16 18240, i16 32766, i16 16384, i16 18240, i16 18244, i16 32766, i16 16384, i16 18244, i16 18248, i16 32766, i16 16384, i16 18248, i16 18250, i16 32766, i16 16384, i16 18250, i16 18252, i16 32766, i16 16384, i16 18252, i16 18254, i16 32766, i16 16384, i16 18254, i16 18256, i16 32766, i16 16384, i16 18256, i16 18258, i16 32766, i16 16384, i16 18258, i16 18262, i16 32766, i16 16384, i16 18262, i16 18264, i16 32766, i16 16384, i16 18264, i16 18266, i16 32766, i16 16384, i16 18266, i16 18268, i16 32766, i16 16384, i16 18268, i16 32766, i16 32766, i16 16384, i16 16384, i16 16396, i16 32766, i16 16384, i16 16384, i16 16398, i16 32766, i16 16384, i16 16384, i16 16400, i16 32766, i16 16384, i16 16384, i16 16402, i16 32766, i16 16384, i16 16384, i16 16404, i16 32766, i16 16384, i16 16384, i16 16406, i16 32766, i16 16384, i16 16384, i16 16408, i16 32766, i16 16384, i16 16384, i16 16410, i16 32766, i16 16384, i16 16384, i16 16412, i16 32766, i16 16384, i16 16384, i16 16414, i16 32766, i16 16384, i16 16384, i16 16416, i16 32766, i16 16384, i16 16384, i16 16418, i16 32766, i16 16384, i16 16384, i16 16420, i16 32766, i16 16384, i16 16384, i16 16422, i16 32766, i16 16384, i16 16384, i16 16424, i16 32766, i16 16384, i16 16384, i16 16426, i16 32766, i16 16384, i16 16384, i16 16428, i16 32766, i16 16384, i16 16384, i16 16430, i16 32766, i16 16384, i16 16384, i16 16432, i16 32766, i16 16384, i16 16384, i16 16434, i16 32766, i16 16384, i16 16384, i16 16436, i16 32766, i16 16384, i16 16384, i16 16438, i16 32766, i16 16384, i16 16384, i16 16440, i16 32766, i16 16384, i16 16384, i16 16442, i16 32766, i16 16384, i16 16384, i16 16444, i16 32766, i16 16384, i16 16384, i16 16446, i16 32766, i16 16384, i16 16384, i16 16384, i16 32766, i16 16384, i16 16384, i16 16384, i16 16384, i16 32766, i16 16384, i16 16384, i16 32766, i16 16385, i16 16385, i16 32766, i16 16385, i16 16385, i16 16385, i16 16438, i16 16386, i16 16385, i16 16385, i16 16440, i16 16386, i16 16385, i16 16385, i16 16442, i16 16386, i16 16385, i16 16385, i16 16444, i16 16386, i16 16385, i16 16385, i16 16446, i16 16386, i16 16385, i16 16385, i16 16448, i16 16386, i16 16385, i16 16385, i16 16450, i16 16386, i16 16385, i16 16385, i16 16452, i16 16386, i16 16385, i16 16385, i16 16454, i16 16386, i16 16385, i16 16385, i16 16456, i16 16386, i16 16385, i16 16385, i16 32766, i16 16385, i16 16385, i16 16387, i16 16458, i16 16385, i16 16385, i16 16388, i16 16460, i16 16385, i16 16385, i16 16388, i16 16462, i16 16385, i16 16385, i16 16388, i16 16464, i16 16385, i16 16385, i16 16388, i16 16466, i16 16385, i16 16385, i16 16388, i16 16468, i16 16385, i16 16385, i16 16388, i16 16470, i16 16385, i16 16385, i16 16388, i16 16472, i16 16385, i16 16385, i16 16388, i16 16474, i16 16385, i16 16385, i16 16388, i16 16476, i16 16385, i16 16385, i16 16388, i16 16478, i16 16385, i16 16385, i16 16388, i16 16480, i16 16385, i16 16385, i16 16388, i16 16482, i16 16385, i16 16385, i16 16388, i16 16484, i16 16385, i16 16385, i16 16388, i16 16486, i16 16385, i16 16385, i16 16388, i16 16488, i16 16385, i16 16385, i16 16388, i16 16490, i16 16385, i16 16385, i16 16388, i16 16492, i16 16385, i16 16385, i16 16388, i16 16494, i16 16385, i16 16385, i16 16388, i16 16496, i16 16385, i16 16385, i16 16388, i16 16498, i16 16385, i16 16385, i16 16388, i16 16500, i16 16385, i16 16385, i16 16388, i16 16502, i16 16385, i16 16385, i16 16388, i16 16504, i16 16385, i16 16385, i16 16388, i16 16506, i16 16385, i16 16385, i16 16388, i16 16508, i16 16385, i16 16385, i16 16388, i16 17294, i16 16385, i16 16385, i16 16385, i16 17297, i16 16385, i16 16385, i16 16385, i16 17300, i16 16385, i16 16385, i16 16385, i16 17303, i16 16385, i16 16385, i16 16385, i16 17306, i16 16385, i16 16385, i16 16385, i16 17309, i16 16385, i16 16385, i16 16385, i16 17312, i16 16385, i16 16385, i16 16385, i16 17315, i16 16385, i16 16385, i16 16385, i16 17318, i16 16385, i16 16385, i16 16385, i16 17321, i16 16385, i16 16385, i16 16385, i16 17324, i16 16385, i16 16385, i16 16385, i16 17327, i16 16385, i16 16385, i16 16385, i16 17330, i16 16385, i16 16385, i16 16385, i16 17333, i16 16385, i16 16385, i16 16385, i16 17336, i16 16385, i16 16385, i16 16385, i16 17339, i16 16385, i16 16385, i16 16385, i16 17342, i16 16385, i16 16385, i16 16385, i16 17345, i16 16385, i16 16385, i16 16385, i16 17348, i16 16385, i16 16385, i16 16385, i16 17351, i16 16385, i16 16385, i16 16385, i16 17354, i16 16385, i16 16385, i16 16385, i16 17357, i16 16385, i16 16385, i16 16385, i16 17360, i16 16385, i16 16385, i16 16385, i16 17363, i16 16385, i16 16385, i16 16385, i16 17366, i16 16385, i16 16385, i16 16385, i16 17369, i16 16385, i16 16385, i16 16385, i16 17372, i16 16385, i16 16385, i16 16385, i16 17375, i16 16385, i16 16385, i16 16385, i16 17378, i16 16385, i16 16385, i16 16385, i16 17381, i16 16385, i16 16385, i16 16385, i16 17384, i16 16385, i16 16385, i16 16385, i16 17387, i16 16385, i16 16385, i16 16385, i16 17390, i16 16385, i16 16385, i16 16385, i16 17393, i16 16385, i16 16385, i16 16385, i16 17396, i16 16385, i16 16385, i16 16385, i16 17399, i16 16385, i16 16385, i16 16385, i16 17402, i16 16385, i16 16385, i16 16385, i16 17405, i16 16385, i16 16385, i16 16385, i16 17408, i16 16385, i16 16385, i16 16385, i16 17411, i16 16385, i16 16385, i16 16385, i16 17414, i16 16385, i16 16385, i16 16385, i16 17417, i16 16385, i16 16385, i16 16385, i16 17420, i16 16385, i16 16385, i16 16385, i16 17423, i16 16385, i16 16385, i16 16385, i16 17426, i16 16385, i16 16385, i16 16385, i16 17429, i16 16385, i16 16385, i16 16385, i16 17432, i16 16385, i16 16385, i16 16385, i16 17435, i16 16385, i16 16385, i16 16385, i16 17438, i16 16385, i16 16385, i16 16385, i16 17441, i16 16385, i16 16385, i16 16385, i16 17444, i16 16385, i16 16385, i16 16385, i16 17447, i16 16385, i16 16385, i16 16385, i16 17450, i16 16385, i16 16385, i16 16385, i16 17453, i16 16385, i16 16385, i16 16385, i16 17456, i16 16385, i16 16385, i16 16385, i16 17459, i16 16385, i16 16385, i16 16385, i16 17462, i16 16385, i16 16385, i16 16385, i16 17465, i16 16385, i16 16385, i16 16385, i16 17468, i16 16385, i16 16385, i16 16385, i16 17471, i16 16385, i16 16385, i16 16385, i16 17474, i16 16385, i16 16385, i16 16385, i16 17477, i16 16385, i16 16385, i16 16385, i16 17480, i16 16385, i16 16385, i16 16385, i16 17483, i16 16385, i16 16385, i16 16385, i16 17486, i16 16385, i16 16385, i16 16385, i16 17489, i16 16385, i16 16385, i16 16385, i16 17492, i16 16385, i16 16385, i16 16385, i16 17495, i16 16385, i16 16385, i16 16385, i16 17498, i16 16385, i16 16385, i16 16385, i16 17501, i16 16385, i16 16385, i16 16385, i16 17504, i16 16385, i16 16385, i16 16385, i16 17507, i16 16385, i16 16385, i16 16385, i16 17510, i16 16385, i16 16385, i16 16385, i16 17513, i16 16385, i16 16385, i16 16385, i16 17516, i16 16385, i16 16385, i16 16385, i16 17519, i16 16385, i16 16385, i16 16385, i16 17522, i16 16385, i16 16385, i16 16385, i16 17525, i16 16385, i16 16385, i16 16385, i16 17528, i16 16385, i16 16385, i16 16385, i16 17531, i16 16385, i16 16385, i16 16385, i16 17534, i16 16385, i16 16385, i16 16385, i16 17537, i16 16385, i16 16385, i16 16385, i16 17540, i16 16385, i16 16385, i16 16385, i16 17543, i16 16385, i16 16385, i16 16385, i16 17546, i16 16385, i16 16385, i16 16385, i16 17549, i16 16385, i16 16385, i16 16385, i16 17552, i16 16385, i16 16385, i16 16385, i16 17555, i16 16385, i16 16385, i16 16385, i16 17558, i16 16385, i16 16385, i16 16385, i16 17561, i16 16385, i16 16385, i16 16385, i16 17564, i16 16385, i16 16385, i16 16385, i16 17567, i16 16385, i16 16385, i16 16385, i16 17570, i16 16385, i16 16385, i16 16385, i16 17573, i16 16385, i16 16385, i16 16385, i16 17576, i16 16385, i16 16385, i16 16385, i16 17579, i16 16385, i16 16385, i16 16385, i16 17582, i16 16385, i16 16385, i16 16385, i16 17585, i16 16385, i16 16385, i16 16385, i16 17588, i16 16385, i16 16385, i16 16385, i16 17591, i16 16385, i16 16385, i16 16385, i16 17594, i16 16385, i16 16385, i16 16385, i16 17597, i16 16385, i16 16385, i16 16385, i16 17600, i16 16385, i16 16385, i16 16385, i16 17603, i16 16385, i16 16385, i16 16385, i16 17606, i16 16385, i16 16385, i16 16385, i16 17609, i16 16385, i16 16385, i16 16385, i16 17612, i16 16385, i16 16385, i16 16385, i16 17615, i16 16385, i16 16385, i16 16385, i16 17618, i16 16385, i16 16385, i16 16385, i16 17621, i16 16385, i16 16385, i16 16385, i16 17624, i16 16385, i16 16385, i16 16385, i16 17627, i16 16385, i16 16385, i16 16385, i16 17630, i16 16385, i16 16385, i16 16385, i16 17633, i16 16385, i16 16385, i16 16385, i16 17636, i16 16385, i16 16385, i16 16385, i16 17639, i16 16385, i16 16385, i16 16385, i16 17642, i16 16385, i16 16385, i16 16385, i16 17645, i16 16385, i16 16385, i16 16385, i16 17648, i16 16385, i16 16385, i16 16385, i16 17651, i16 16385, i16 16385, i16 16385, i16 17654, i16 16385, i16 16385, i16 16385, i16 17657, i16 16385, i16 16385, i16 16385, i16 17660, i16 16385, i16 16385, i16 16385, i16 17663, i16 16385, i16 16385, i16 16385, i16 17666, i16 16385, i16 16385, i16 16385, i16 17669, i16 16385, i16 16385, i16 16385, i16 17672, i16 16385, i16 16385, i16 16385, i16 17675, i16 16385, i16 16385, i16 16385, i16 17678, i16 16385, i16 16385, i16 16385, i16 17681, i16 16385, i16 16385, i16 16385, i16 17684, i16 16385, i16 16385, i16 16385, i16 17687, i16 16385, i16 16385, i16 16385, i16 17690, i16 16385, i16 16385, i16 16385, i16 17693, i16 16385, i16 16385, i16 16385, i16 17696, i16 16385, i16 16385, i16 16385, i16 17699, i16 16385, i16 16385, i16 16385, i16 17702, i16 16385, i16 16385, i16 16385, i16 17705, i16 16385, i16 16385, i16 16385, i16 17708, i16 16385, i16 16385, i16 16385, i16 17711, i16 16385, i16 16385, i16 16385, i16 17714, i16 16385, i16 16385, i16 16385, i16 17717, i16 16385, i16 16385, i16 16385, i16 17720, i16 16385, i16 16385, i16 16385, i16 17723, i16 16385, i16 16385, i16 16385, i16 17726, i16 16385, i16 16385, i16 16385, i16 17729, i16 16385, i16 16385, i16 16385, i16 17732, i16 16385, i16 16385, i16 16385, i16 17735, i16 16385, i16 16385, i16 16385, i16 17738, i16 16385, i16 16385, i16 16385, i16 17741, i16 16385, i16 16385, i16 16385, i16 17744, i16 16385, i16 16385, i16 16385, i16 17747, i16 16385, i16 16385, i16 16385, i16 17750, i16 16385, i16 16385, i16 16385, i16 17753, i16 16385, i16 16385, i16 16385, i16 17756, i16 16385, i16 16385, i16 16385, i16 17759, i16 16385, i16 16385, i16 16385, i16 17762, i16 16385, i16 16385, i16 16385, i16 17765, i16 16385, i16 16385, i16 16385, i16 17768, i16 16385, i16 16385, i16 16385, i16 17771, i16 16385, i16 16385, i16 16385, i16 17774, i16 16385, i16 16385, i16 16385, i16 17777, i16 16385, i16 16385, i16 16385, i16 17780, i16 16385, i16 16385, i16 16385, i16 17783, i16 16385, i16 16385, i16 16385, i16 17786, i16 16385, i16 16385, i16 16385, i16 17789, i16 16385, i16 16385, i16 16385, i16 17792, i16 16385, i16 16385, i16 16385, i16 17795, i16 16385, i16 16385, i16 16385, i16 17798, i16 16385, i16 16385, i16 16385, i16 17801, i16 16385, i16 16385, i16 16385, i16 17804, i16 16385, i16 16385, i16 16385, i16 17807, i16 16385, i16 16385, i16 16385, i16 17810, i16 16385, i16 16385, i16 16385, i16 17813, i16 16385, i16 16385, i16 16385, i16 17816, i16 16385, i16 16385, i16 16385, i16 17819, i16 16385, i16 16385, i16 16385, i16 17822, i16 16385, i16 16385, i16 16385, i16 17825, i16 16385, i16 16385, i16 16385, i16 17828, i16 16385, i16 16385, i16 16385, i16 17831, i16 16385, i16 16385, i16 16385, i16 17834, i16 16385, i16 16385, i16 16385, i16 17837, i16 16385, i16 16385, i16 16385, i16 17840, i16 16385, i16 16385, i16 16385, i16 17843, i16 16385, i16 16385, i16 16385, i16 17846, i16 16385, i16 16385, i16 16385, i16 17849, i16 16385, i16 16385, i16 16385, i16 17852, i16 16385, i16 16385, i16 16385, i16 17855, i16 16385, i16 16385, i16 16385, i16 17858, i16 16385, i16 16385, i16 16385, i16 17861, i16 16385, i16 16385, i16 16385, i16 17864, i16 16385, i16 16385, i16 16385, i16 17867, i16 16385, i16 16385, i16 16385, i16 17870, i16 16385, i16 16385, i16 16385, i16 17873, i16 16385, i16 16385, i16 16385, i16 17876, i16 16385, i16 16385, i16 16385, i16 17879, i16 16385, i16 16385, i16 16385, i16 17882, i16 16385, i16 16385, i16 16385, i16 17885, i16 16385, i16 16385, i16 16385, i16 17888, i16 16385, i16 16385, i16 16385, i16 17891, i16 16385, i16 16385, i16 16385, i16 17894, i16 16385, i16 16385, i16 16385, i16 17897, i16 16385, i16 16385, i16 16385, i16 17900, i16 16385, i16 16385, i16 16385, i16 17903, i16 16385, i16 16385, i16 16385, i16 17906, i16 16385, i16 16385, i16 16385, i16 17909, i16 16385, i16 16385, i16 16385, i16 17912, i16 16385, i16 16385, i16 16385, i16 17915, i16 16385, i16 16385, i16 16385, i16 17918, i16 16385, i16 16385, i16 16385, i16 17921, i16 16385, i16 16385, i16 16385, i16 17924, i16 16385, i16 16385, i16 16385, i16 17927, i16 16385, i16 16385, i16 16385, i16 17930, i16 16385, i16 16385, i16 16385, i16 17933, i16 16385, i16 16385, i16 16385, i16 17936, i16 16385, i16 16385, i16 16385, i16 17939, i16 16385, i16 16385, i16 16385, i16 17942, i16 16385, i16 16385, i16 16385, i16 17945, i16 16385, i16 16385, i16 16385, i16 17948, i16 16385, i16 16385, i16 16385, i16 17951, i16 16385, i16 16385, i16 16385, i16 16779, i16 16385, i16 16385, i16 16389, i16 32767, i16 16384, i16 16384, i16 16384, i16 17284, i16 17285, i16 0, i16 895, i16 895, i16 0, i16 17273, i16 17273, i16 0, i16 16434, i16 16428, i16 0, i16 16393, i16 16393, i16 0, i16 97, i16 905, i16 0, i16 14, i16 14, i16 0, i16 3, i16 3, i16 0, i16 4, i16 3, i16 0, i16 5, i16 3, i16 0, i16 6, i16 3, i16 0, i16 16425, i16 16428, i16 0, i16 16433, i16 17283, i16 0, i16 16437, i16 16437, i16 0, i16 16481, i16 17289, i16 0, i16 16398, i16 16398, i16 0, i16 91, i16 906, i16 0, i16 14, i16 13, i16 0, i16 3, i16 4, i16 0, i16 4, i16 4, i16 0, i16 14, i16 890, i16 0, i16 14, i16 892, i16 0, i16 16488, i16 16488, i16 0, i16 17279, i16 17279, i16 0, i16 16488, i16 16492, i16 0, i16 16492, i16 16492, i16 0, i16 17797, i16 17797, i16 0, i16 16393, i16 17601, i16 0, i16 16393, i16 17600, i16 0, i16 16393, i16 17273, i16 0, i16 17273, i16 16393, i16 0, i16 17273, i16 17601, i16 0, i16 17273, i16 17600, i16 0, i16 17798, i16 17798, i16 0, i16 17799, i16 17799, i16 0, i16 16393, i16 17796, i16 0, i16 16393, i16 17795, i16 0, i16 16393, i16 17794, i16 0, i16 16393, i16 17793, i16 0, i16 17273, i16 17796, i16 0, i16 17273, i16 17795, i16 0, i16 17273, i16 17794, i16 0, i16 17273, i16 17793, i16 0, i16 17800, i16 17800, i16 0, i16 17801, i16 17801, i16 0, i16 17802, i16 17802, i16 0, i16 17804, i16 17804, i16 0, i16 17805, i16 17805, i16 0, i16 17807, i16 17807, i16 0, i16 16475, i16 17934, i16 0, i16 16387, i16 16388, i16 0, i16 16388, i16 16388, i16 0, i16 16475, i16 17289, i16 0, i16 16398, i16 17274, i16 0, i16 16398, i16 17276, i16 0, i16 16475, i16 17290, i16 0, i16 16458, i16 17935, i16 17290, i16 16475, i16 0, i16 17279, i16 17279, i16 17279, i16 17279, i16 0, i16 16389, i16 16390, i16 16388, i16 16387, i16 0, i16 17296, i16 17302, i16 0, i16 17329, i16 17279, i16 0, i16 17296, i16 17303, i16 0, i16 17311, i16 17334, i16 0, i16 17314, i16 17334, i16 0, i16 17193, i16 17193, i16 0, i16 2, i16 2, i16 0, i16 17200, i16 17200, i16 0, i16 17193, i16 18178, i16 0, i16 17201, i16 17201, i16 0, i16 17193, i16 17285, i16 0, i16 17202, i16 17202, i16 0, i16 17193, i16 17193, i16 18178, i16 0, i16 2, i16 2, i16 2, i16 0, i16 17203, i16 17203, i16 17203, i16 0, i16 17193, i16 17193, i16 17285, i16 0, i16 17204, i16 17204, i16 17204, i16 0, i16 18178, i16 17267, i16 0, i16 881, i16 881, i16 0, i16 16385, i16 16385, i16 0, i16 18080, i16 18080, i16 0, i16 17408, i16 17427, i16 0, i16 17410, i16 17410, i16 0, i16 17408, i16 17408, i16 0, i16 18080, i16 17425, i16 0, i16 17426, i16 17426, i16 0, i16 17851, i16 17736, i16 0, i16 1467, i16 1352, i16 0, i16 17901, i16 17901, i16 0, i16 1467, i16 1353, i16 0, i16 17902, i16 17902, i16 0, i16 17851, i16 17738, i16 0, i16 1467, i16 1354, i16 0, i16 17903, i16 17903, i16 0, i16 1467, i16 1355, i16 0, i16 17904, i16 17904, i16 0, i16 17851, i16 17741, i16 0, i16 1467, i16 1357, i16 0, i16 17905, i16 17905, i16 0, i16 1467, i16 1358, i16 0, i16 17906, i16 17906, i16 0, i16 17851, i16 17745, i16 0, i16 1467, i16 1362, i16 0, i16 17907, i16 17907, i16 0, i16 1467, i16 1363, i16 0, i16 17908, i16 17908, i16 0, i16 17065, i16 17148, i16 0, i16 1770, i16 1770, i16 0, i16 1772, i16 1772, i16 0, i16 1774, i16 1774, i16 0, i16 17311, i16 17205, i16 0, i16 1814, i16 1814, i16 0, i16 17325, i16 17148, i16 0, i16 1830, i16 1830, i16 0, i16 17427, i16 17220, i16 0, i16 1840, i16 1840, i16 0, i16 16470, i16 16579, i16 0, i16 16530, i16 16530, i16 0, i16 16532, i16 16532, i16 0, i16 16534, i16 16534, i16 0, i16 16630, i16 16630, i16 0, i16 16389, i16 16389, i16 0, i16 16637, i16 16637, i16 0, i16 16630, i16 16681, i16 0, i16 16638, i16 16638, i16 0, i16 16630, i16 16739, i16 0, i16 16639, i16 16639, i16 0, i16 16630, i16 16630, i16 16681, i16 0, i16 16389, i16 16389, i16 16389, i16 0, i16 16640, i16 16640, i16 16640, i16 0, i16 16630, i16 16630, i16 16739, i16 0, i16 16641, i16 16641, i16 16641, i16 0, i16 16681, i16 16718, i16 0, i16 16716, i16 16716, i16 0, i16 16769, i16 16642, i16 0, i16 16789, i16 16789, i16 0, i16 16791, i16 16579, i16 0, i16 16859, i16 16859, i16 0, i16 16892, i16 16917, i16 0, i16 16894, i16 16894, i16 0, i16 16892, i16 16892, i16 0, i16 16388, i16 16915, i16 0, i16 16916, i16 16916, i16 0, i16 16917, i16 16661, i16 0, i16 16934, i16 16934, i16 0, i16 18043, i16 17928, i16 0, i16 18093, i16 18093, i16 0, i16 18043, i16 17929, i16 0, i16 18094, i16 18094, i16 0, i16 18043, i16 17930, i16 0, i16 18095, i16 18095, i16 0, i16 18043, i16 17931, i16 0, i16 18096, i16 18096, i16 0, i16 18043, i16 17933, i16 0, i16 18097, i16 18097, i16 0, i16 18043, i16 17934, i16 0, i16 18098, i16 18098, i16 0, i16 18043, i16 17937, i16 0, i16 18043, i16 17938, i16 0, i16 18099, i16 18099, i16 0, i16 18043, i16 17939, i16 0, i16 18100, i16 18100, i16 0, i16 16510, i16 16788, i16 0, i16 16510, i16 16789, i16 0, i16 16510, i16 16790, i16 0, i16 16510, i16 16791, i16 0, i16 16510, i16 16792, i16 0, i16 16516, i16 16788, i16 0, i16 16516, i16 16789, i16 0, i16 16516, i16 16790, i16 0, i16 16516, i16 16791, i16 0, i16 16516, i16 16792, i16 0, i16 16522, i16 16788, i16 0, i16 16522, i16 16789, i16 0, i16 16522, i16 16790, i16 0, i16 16522, i16 16791, i16 0, i16 16522, i16 16792, i16 0, i16 16528, i16 16788, i16 0, i16 16528, i16 16789, i16 0, i16 16528, i16 16790, i16 0, i16 16528, i16 16791, i16 0, i16 16528, i16 16792, i16 0, i16 16534, i16 16788, i16 0, i16 16534, i16 16789, i16 0, i16 16534, i16 16790, i16 0, i16 16534, i16 16791, i16 0, i16 16534, i16 16792, i16 0, i16 16540, i16 16788, i16 0, i16 16540, i16 16789, i16 0, i16 16540, i16 16790, i16 0, i16 16540, i16 16791, i16 0, i16 16540, i16 16792, i16 0, i16 16546, i16 16788, i16 0, i16 16546, i16 16789, i16 0, i16 16546, i16 16790, i16 0, i16 16546, i16 16791, i16 0, i16 16546, i16 16792, i16 0, i16 16552, i16 16788, i16 0, i16 16552, i16 16789, i16 0, i16 16552, i16 16790, i16 0, i16 16552, i16 16791, i16 0, i16 16552, i16 16792, i16 0, i16 16558, i16 16788, i16 0, i16 16558, i16 16789, i16 0, i16 16558, i16 16790, i16 0, i16 16558, i16 16791, i16 0, i16 16558, i16 16792, i16 0, i16 16564, i16 16788, i16 0, i16 16564, i16 16789, i16 0, i16 16564, i16 16790, i16 0, i16 16564, i16 16791, i16 0, i16 16564, i16 16792, i16 0, i16 16570, i16 16788, i16 0, i16 16570, i16 16789, i16 0, i16 16570, i16 16790, i16 0, i16 16570, i16 16791, i16 0, i16 16570, i16 16792, i16 0, i16 16576, i16 16788, i16 0, i16 16576, i16 16789, i16 0, i16 16576, i16 16790, i16 0, i16 16576, i16 16791, i16 0, i16 16576, i16 16792, i16 0, i16 16582, i16 16788, i16 0, i16 16582, i16 16789, i16 0, i16 16582, i16 16790, i16 0, i16 16582, i16 16791, i16 0, i16 16582, i16 16792, i16 0, i16 16588, i16 16788, i16 0, i16 16588, i16 16789, i16 0, i16 16588, i16 16790, i16 0, i16 16588, i16 16791, i16 0, i16 16588, i16 16792, i16 0, i16 16594, i16 16788, i16 0, i16 16594, i16 16789, i16 0, i16 16594, i16 16790, i16 0, i16 16594, i16 16791, i16 0, i16 16594, i16 16792, i16 0, i16 16600, i16 16788, i16 0, i16 16600, i16 16789, i16 0, i16 16600, i16 16790, i16 0, i16 16600, i16 16791, i16 0, i16 16600, i16 16792, i16 0, i16 16606, i16 16788, i16 0, i16 16606, i16 16789, i16 0, i16 16606, i16 16790, i16 0, i16 16606, i16 16791, i16 0, i16 16606, i16 16792, i16 0, i16 16612, i16 16788, i16 0, i16 16612, i16 16789, i16 0, i16 16612, i16 16790, i16 0, i16 16612, i16 16791, i16 0, i16 16612, i16 16792, i16 0, i16 16618, i16 16788, i16 0, i16 16618, i16 16789, i16 0, i16 16618, i16 16790, i16 0, i16 16618, i16 16791, i16 0, i16 16618, i16 16792, i16 0, i16 16624, i16 16788, i16 0, i16 16624, i16 16789, i16 0, i16 16624, i16 16790, i16 0, i16 16624, i16 16791, i16 0, i16 16624, i16 16792, i16 0, i16 16630, i16 16788, i16 0, i16 16630, i16 16789, i16 0, i16 16630, i16 16790, i16 0, i16 16630, i16 16791, i16 0, i16 16630, i16 16792, i16 0, i16 16636, i16 16788, i16 0, i16 16636, i16 16789, i16 0, i16 16636, i16 16790, i16 0, i16 16636, i16 16791, i16 0, i16 16636, i16 16792, i16 0, i16 16642, i16 16788, i16 0, i16 16642, i16 16789, i16 0, i16 16642, i16 16790, i16 0, i16 16642, i16 16791, i16 0, i16 16642, i16 16792, i16 0, i16 16648, i16 16788, i16 0, i16 16648, i16 16789, i16 0, i16 16648, i16 16790, i16 0, i16 16648, i16 16791, i16 0, i16 16648, i16 16792, i16 0, i16 16654, i16 16788, i16 0, i16 16654, i16 16789, i16 0, i16 16654, i16 16790, i16 0, i16 16654, i16 16791, i16 0, i16 16654, i16 16792, i16 0, i16 16660, i16 16788, i16 0, i16 16660, i16 16789, i16 0, i16 16660, i16 16790, i16 0, i16 16660, i16 16791, i16 0, i16 16660, i16 16792, i16 0, i16 16666, i16 16788, i16 0, i16 16666, i16 16789, i16 0, i16 16666, i16 16790, i16 0, i16 16666, i16 16791, i16 0, i16 16666, i16 16792, i16 0, i16 16672, i16 16788, i16 0, i16 16672, i16 16789, i16 0, i16 16672, i16 16790, i16 0, i16 16672, i16 16791, i16 0, i16 16672, i16 16792, i16 0, i16 16678, i16 16788, i16 0, i16 16678, i16 16789, i16 0, i16 16678, i16 16790, i16 0, i16 16678, i16 16791, i16 0, i16 16678, i16 16792, i16 0, i16 16684, i16 16788, i16 0, i16 16684, i16 16789, i16 0, i16 16684, i16 16790, i16 0, i16 16684, i16 16791, i16 0, i16 16684, i16 16792, i16 0, i16 16690, i16 16788, i16 0, i16 16690, i16 16789, i16 0, i16 16690, i16 16790, i16 0, i16 16690, i16 16791, i16 0, i16 16690, i16 16792, i16 0, i16 16696, i16 16788, i16 0, i16 16696, i16 16789, i16 0, i16 16696, i16 16790, i16 0, i16 16696, i16 16791, i16 0, i16 16696, i16 16792, i16 0, i16 16702, i16 16788, i16 0, i16 16702, i16 16789, i16 0, i16 16702, i16 16790, i16 0, i16 16702, i16 16791, i16 0, i16 16702, i16 16792, i16 0, i16 16708, i16 16788, i16 0, i16 16708, i16 16789, i16 0, i16 16708, i16 16790, i16 0, i16 16708, i16 16791, i16 0, i16 16708, i16 16792, i16 0, i16 16714, i16 16788, i16 0, i16 16714, i16 16789, i16 0, i16 16714, i16 16790, i16 0, i16 16714, i16 16791, i16 0, i16 16714, i16 16792, i16 0, i16 16721, i16 16788, i16 0, i16 16721, i16 16789, i16 0, i16 16721, i16 16790, i16 0, i16 16721, i16 16791, i16 0, i16 16721, i16 16792, i16 0, i16 16728, i16 16788, i16 0, i16 16728, i16 16789, i16 0, i16 16728, i16 16790, i16 0, i16 16728, i16 16791, i16 0, i16 16728, i16 16792, i16 0, i16 16734, i16 16788, i16 0, i16 16734, i16 16789, i16 0, i16 16734, i16 16790, i16 0, i16 16734, i16 16791, i16 0, i16 16734, i16 16792, i16 0, i16 16740, i16 16788, i16 0, i16 16740, i16 16789, i16 0, i16 16740, i16 16790, i16 0, i16 16740, i16 16791, i16 0, i16 16740, i16 16792, i16 0, i16 16746, i16 16788, i16 0, i16 16746, i16 16789, i16 0, i16 16746, i16 16790, i16 0, i16 16746, i16 16791, i16 0, i16 16746, i16 16792, i16 0, i16 16752, i16 16788, i16 0, i16 16752, i16 16789, i16 0, i16 16752, i16 16790, i16 0, i16 16752, i16 16791, i16 0, i16 16752, i16 16792, i16 0, i16 16758, i16 16788, i16 0, i16 16758, i16 16789, i16 0, i16 16758, i16 16790, i16 0, i16 16758, i16 16791, i16 0, i16 16758, i16 16792, i16 0, i16 16764, i16 16788, i16 0, i16 16764, i16 16789, i16 0, i16 16764, i16 16790, i16 0, i16 16764, i16 16791, i16 0, i16 16764, i16 16792, i16 0, i16 16770, i16 16788, i16 0, i16 16770, i16 16789, i16 0, i16 16770, i16 16790, i16 0, i16 16770, i16 16791, i16 0, i16 16770, i16 16792, i16 0, i16 14, i16 17, i16 8, i16 13, i16 15, i16 6, i16 12, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5, i16 10, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9, i16 7, i16 11, i16 0, i16 0, i16 16, i16 3, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4, i16 0, i16 1, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 15, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 168, i16 173, i16 100, i16 105, i16 110, i16 116, i16 125, i16 131, i16 140, i16 144, i16 146, i16 148, i16 151, i16 154, i16 160, i16 163, i16 120, i16 124, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 26, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 82, i16 114, i16 5, i16 119, i16 0, i16 32, i16 0, i16 136, i16 111, i16 6, i16 17, i16 8, i16 167, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 16, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 36, i16 0, i16 37, i16 0, i16 0, i16 0, i16 0, i16 0, i16 38, i16 0, i16 0, i16 0, i16 0, i16 39, i16 0, i16 40, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 55, i16 123, i16 129, i16 134, i16 139, i16 0, i16 52, i16 99, i16 104, i16 109, i16 115, i16 0, i16 0, i16 0, i16 0, i16 0, i16 77, i16 85, i16 89, i16 0, i16 170, i16 174, i16 178, i16 180, i16 147, i16 0, i16 0, i16 0, i16 0, i16 0, i16 35, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 25, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 61, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 80, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 58, i16 0, i16 0, i16 12, i16 0, i16 0, i16 0, i16 28, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 159, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 143, i16 145, i16 0, i16 0, i16 0, i16 0, i16 172, i16 177, i16 0, i16 0, i16 0, i16 0, i16 47, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 41, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 191, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 13, i16 0, i16 24, i16 51, i16 87, i16 93, i16 102, i16 70, i16 142, i16 175, i16 0, i16 76, i16 90, i16 72, i16 49, i16 4, i16 92, i16 53, i16 96, i16 0, i16 54, i16 0, i16 30, i16 97, i16 18, i16 31, i16 0, i16 0, i16 0, i16 79, i16 91, i16 10, i16 45, i16 0, i16 0, i16 0, i16 158, i16 33, i16 155, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9, i16 184, i16 81, i16 189, i16 196, i16 64, i16 94, i16 75, i16 88, i16 98, i16 66, i16 46, i16 63, i16 187, i16 84, i16 0, i16 50, i16 95, i16 101, i16 106, i16 150, i16 162, i16 133, i16 138, i16 169, i16 192, i16 126, i16 83, i16 183, i16 153, i16 135, i16 179, i16 112, i16 117, i16 122, i16 128, i16 132, i16 185, i16 194, i16 156, i16 195, i16 186, i16 200, i16 67, i16 176, i16 149, i16 181, i16 188, i16 57, i16 141, i16 121, i16 127, i16 130, i16 137, i16 103, i16 107, i16 113, i16 118, i16 56, i16 108, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 152, i16 43, i16 34, i16 7, i16 44, i16 171, i16 0, i16 0, i16 0, i16 165, i16 42, i16 166, i16 0, i16 0, i16 59, i16 19, i16 197, i16 199, i16 22, i16 20, i16 23, i16 21, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 48, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 27, i16 0, i16 0, i16 0, i16 182, i16 198, i16 60, i16 190, i16 62, i16 193, i16 65, i16 157, i16 161, i16 164, i16 69, i16 68, i16 71, i16 78, i16 74, i16 86, i16 0, i16 2, i16 29, i16 3, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 14, i16 73, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1292, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1197, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1199, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 557, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 597, i16 598, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 691, i16 692, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1211, i16 1210, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 701, i16 702, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 731, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 223, i16 230, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 245, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1198, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 268, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1298, i16 1296, i16 1297, i16 1295, i16 0, i16 0, i16 0, i16 0, i16 1569, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1570, i16 1571, i16 1572, i16 1573, i16 0, i16 0, i16 0, i16 0, i16 1106, i16 1107, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1661, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 246, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 247, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 250, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 251, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 253, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 269, i16 0, i16 0, i16 0, i16 270, i16 0, i16 0, i16 0, i16 376, i16 378, i16 379, i16 380, i16 0, i16 0, i16 0, i16 263, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 266, i16 267, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1290, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 581, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 584, i16 583, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 609, i16 610, i16 611, i16 612, i16 0, i16 0, i16 0, i16 0, i16 152, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1207, i16 1206, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 189, i16 0, i16 0, i16 0, i16 244, i16 0, i16 0, i16 0, i16 1224, i16 0, i16 0, i16 1223, i16 0, i16 0, i16 0, i16 0, i16 1226, i16 0, i16 0, i16 1225, i16 0, i16 0, i16 0, i16 0, i16 1228, i16 0, i16 0, i16 1227, i16 0, i16 0, i16 0, i16 0, i16 1230, i16 0, i16 0, i16 1229, i16 0, i16 0, i16 0, i16 0, i16 1232, i16 0, i16 0, i16 1231, i16 0, i16 0, i16 0, i16 0, i16 1234, i16 0, i16 0, i16 1233, i16 0, i16 0, i16 0, i16 0, i16 1241, i16 1240, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1243, i16 1242, i16 1205, i16 1204, i16 0, i16 0, i16 0, i16 0, i16 1247, i16 1246, i16 0, i16 0, i16 1249, i16 1248, i16 0, i16 0, i16 226, i16 228, i16 225, i16 0, i16 0, i16 0, i16 0, i16 0, i16 760, i16 0, i16 734, i16 0, i16 748, i16 0, i16 0, i16 260, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 264, i16 265, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 554, i16 0, i16 0, i16 0, i16 0, i16 552, i16 0, i16 0, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 0, i16 1069, i16 1070, i16 1071, i16 1079, i16 1072, i16 1081, i16 1657, i16 0, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 0, i16 564, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1076, i16 0, i16 0, i16 0, i16 0, i16 0, i16 577, i16 0, i16 1367, i16 1368, i16 1369, i16 1370, i16 1371, i16 1372, i16 1373, i16 0, i16 1127, i16 1125, i16 1124, i16 1126, i16 1128, i16 1129, i16 1130, i16 0, i16 1142, i16 1140, i16 1139, i16 1141, i16 1143, i16 1144, i16 1145, i16 0, i16 1196, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 256, i16 257, i16 255, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1024, i16 984, i16 489, i16 409, i16 0, i16 0, i16 487, i16 407, i16 258, i16 261, i16 259, i16 262, i16 0, i16 0, i16 0, i16 0, i16 1027, i16 987, i16 492, i16 412, i16 1028, i16 988, i16 1029, i16 989, i16 773, i16 0, i16 775, i16 825, i16 771, i16 822, i16 749, i16 800, i16 774, i16 776, i16 746, i16 766, i16 779, i16 786, i16 790, i16 794, i16 1032, i16 992, i16 500, i16 420, i16 1033, i16 993, i16 503, i16 424, i16 781, i16 792, i16 768, i16 769, i16 767, i16 821, i16 808, i16 0, i16 1037, i16 535, i16 534, i16 536, i16 1043, i16 545, i16 550, i16 1002, i16 526, i16 449, i16 529, i16 452, i16 1039, i16 999, i16 1041, i16 1001, i16 1038, i16 998, i16 521, i16 444, i16 525, i16 448, i16 527, i16 450, i16 271, i16 575, i16 576, i16 1075, i16 578, i16 579, i16 580, i16 1077, i16 1040, i16 1000, i16 1042, i16 1003, i16 531, i16 454, i16 532, i16 455, i16 1555, i16 1557, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1300, i16 1299, i16 0, i16 0, i16 0, i16 0, i16 1293, i16 1291, i16 1045, i16 1006, i16 539, i16 462, i16 542, i16 465, i16 546, i16 470, i16 791, i16 793, i16 798, i16 801, i16 802, i16 803, i16 804, i16 805, i16 1049, i16 1051, i16 1053, i16 1055, i16 1057, i16 1059, i16 1061, i16 1063, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 538, i16 461, i16 540, i16 463, i16 1044, i16 1005, i16 537, i16 460, i16 1050, i16 1052, i16 1054, i16 1056, i16 1058, i16 1060, i16 1062, i16 1064, i16 1306, i16 1305, i16 1308, i16 1307, i16 0, i16 0, i16 0, i16 0, i16 796, i16 730, i16 732, i16 733, i16 735, i16 737, i16 739, i16 741, i16 1565, i16 1566, i16 0, i16 0, i16 0, i16 0, i16 589, i16 590, i16 543, i16 544, i16 1637, i16 181, i16 213, i16 182, i16 224, i16 151, i16 799, i16 809, i16 813, i16 797, i16 0, i16 0, i16 0, i16 0, i16 290, i16 291, i16 0, i16 292, i16 293, i16 294, i16 295, i16 296, i16 547, i16 549, i16 472, i16 1048, i16 1009, i16 1047, i16 1008, i16 0, i16 551, i16 1074, i16 553, i16 555, i16 556, i16 558, i16 559, i16 560, i16 807, i16 758, i16 811, i16 810, i16 814, i16 816, i16 820, i16 823, i16 297, i16 298, i16 299, i16 300, i16 0, i16 0, i16 0, i16 0, i16 1065, i16 1067, i16 272, i16 273, i16 274, i16 275, i16 0, i16 0, i16 1066, i16 1068, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 561, i16 1567, i16 1568, i16 0, i16 0, i16 0, i16 0, i16 0, i16 562, i16 563, i16 565, i16 567, i16 568, i16 569, i16 570, i16 571, i16 819, i16 778, i16 780, i16 782, i16 783, i16 785, i16 787, i16 789, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 566, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1078, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 824, i16 826, i16 795, i16 818, i16 806, i16 817, i16 827, i16 0, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1108, i16 1109, i16 1088, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 572, i16 573, i16 574, i16 0, i16 0, i16 0, i16 0, i16 0, i16 828, i16 829, i16 830, i16 831, i16 832, i16 833, i16 834, i16 835, i16 1344, i16 1345, i16 1346, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1089, i16 695, i16 696, i16 697, i16 698, i16 1090, i16 1091, i16 585, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 836, i16 837, i16 839, i16 840, i16 841, i16 842, i16 843, i16 844, i16 838, i16 1131, i16 1132, i16 1134, i16 1133, i16 0, i16 1135, i16 1136, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 586, i16 587, i16 588, i16 1092, i16 1093, i16 593, i16 594, i16 595, i16 1100, i16 1101, i16 675, i16 676, i16 677, i16 678, i16 0, i16 0, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 845, i16 846, i16 847, i16 848, i16 849, i16 850, i16 851, i16 852, i16 591, i16 592, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 0, i16 596, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 853, i16 854, i16 855, i16 1137, i16 856, i16 1138, i16 857, i16 858, i16 599, i16 600, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 1117, i16 1118, i16 859, i16 860, i16 861, i16 862, i16 863, i16 864, i16 865, i16 866, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 1374, i16 1375, i16 1376, i16 1377, i16 1378, i16 1379, i16 1380, i16 1381, i16 1119, i16 1120, i16 1121, i16 1122, i16 1123, i16 0, i16 0, i16 0, i16 608, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 1632, i16 523, i16 1633, i16 1634, i16 1635, i16 533, i16 541, i16 1636, i16 867, i16 868, i16 869, i16 870, i16 871, i16 872, i16 873, i16 874, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 1382, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 875, i16 876, i16 877, i16 878, i16 879, i16 880, i16 881, i16 882, i16 620, i16 621, i16 622, i16 625, i16 626, i16 627, i16 628, i16 631, i16 365, i16 160, i16 192, i16 194, i16 191, i16 195, i16 241, i16 185, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 1390, i16 1391, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1646, i16 446, i16 1647, i16 1648, i16 1649, i16 456, i16 464, i16 1650, i16 623, i16 624, i16 633, i16 634, i16 629, i16 630, i16 1098, i16 1099, i16 883, i16 884, i16 885, i16 1153, i16 886, i16 1154, i16 887, i16 888, i16 374, i16 375, i16 158, i16 157, i16 234, i16 236, i16 238, i16 161, i16 1398, i16 1399, i16 1400, i16 1401, i16 1402, i16 1403, i16 1404, i16 0, i16 632, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 1146, i16 1147, i16 1148, i16 1150, i16 1149, i16 0, i16 1151, i16 1152, i16 1658, i16 1659, i16 1660, i16 954, i16 957, i16 959, i16 961, i16 964, i16 383, i16 0, i16 0, i16 0, i16 387, i16 388, i16 389, i16 390, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 391, i16 392, i16 219, i16 217, i16 0, i16 178, i16 180, i16 0, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 1163, i16 1164, i16 1165, i16 0, i16 0, i16 0, i16 0, i16 0, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 403, i16 402, i16 404, i16 405, i16 415, i16 414, i16 991, i16 416, i16 150, i16 159, i16 172, i16 215, i16 193, i16 216, i16 214, i16 169, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 1179, i16 1178, i16 1201, i16 1200, i16 0, i16 0, i16 0, i16 0, i16 413, i16 1642, i16 421, i16 422, i16 1643, i16 431, i16 1644, i16 1645, i16 674, i16 1094, i16 1095, i16 1096, i16 1097, i16 679, i16 680, i16 681, i16 164, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 167, i16 384, i16 438, i16 176, i16 377, i16 381, i16 382, i16 162, i16 423, i16 505, i16 426, i16 508, i16 429, i16 506, i16 427, i16 509, i16 168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 170, i16 171, i16 0, i16 0, i16 173, i16 174, i16 0, i16 0, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 430, i16 507, i16 428, i16 512, i16 434, i16 514, i16 436, i16 513, i16 177, i16 179, i16 212, i16 218, i16 156, i16 155, i16 165, i16 163, i16 690, i16 1102, i16 1103, i16 1104, i16 1105, i16 693, i16 694, i16 1110, i16 435, i16 433, i16 1035, i16 995, i16 520, i16 443, i16 0, i16 0, i16 1203, i16 1202, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1209, i16 1208, i16 0, i16 0, i16 0, i16 0, i16 1245, i16 1244, i16 699, i16 700, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 955, i16 956, i16 958, i16 0, i16 960, i16 0, i16 962, i16 963, i16 190, i16 474, i16 477, i16 1624, i16 1625, i16 481, i16 1626, i16 1627, i16 703, i16 1652, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 1215, i16 1214, i16 1213, i16 1212, i16 0, i16 0, i16 0, i16 0, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 965, i16 966, i16 968, i16 969, i16 277, i16 278, i16 280, i16 281, i16 711, i16 712, i16 713, i16 1653, i16 715, i16 716, i16 717, i16 718, i16 967, i16 276, i16 279, i16 1552, i16 1553, i16 1554, i16 0, i16 0, i16 971, i16 970, i16 972, i16 973, i16 974, i16 975, i16 977, i16 978, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 719, i16 720, i16 721, i16 722, i16 1654, i16 724, i16 725, i16 726, i16 466, i16 467, i16 1651, i16 183, i16 240, i16 184, i16 229, i16 332, i16 727, i16 1655, i16 1656, i16 0, i16 0, i16 0, i16 0, i16 0, i16 983, i16 994, i16 440, i16 439, i16 441, i16 442, i16 996, i16 231, i16 476, i16 396, i16 1016, i16 976, i16 475, i16 395, i16 1019, i16 979, i16 222, i16 393, i16 397, i16 1638, i16 1639, i16 401, i16 1640, i16 1641, i16 738, i16 742, i16 745, i16 0, i16 755, i16 0, i16 765, i16 777, i16 227, i16 187, i16 394, i16 175, i16 239, i16 154, i16 188, i16 153, i16 483, i16 482, i16 484, i16 485, i16 495, i16 494, i16 1031, i16 496, i16 740, i16 788, i16 736, i16 784, i16 761, i16 812, i16 763, i16 815, i16 997, i16 458, i16 457, i16 459, i16 1004, i16 468, i16 473, i16 469, i16 743, i16 744, i16 747, i16 750, i16 751, i16 752, i16 753, i16 754, i16 488, i16 408, i16 486, i16 406, i16 1026, i16 986, i16 1025, i16 985, i16 233, i16 0, i16 0, i16 0, i16 235, i16 237, i16 0, i16 0, i16 493, i16 1628, i16 501, i16 502, i16 1629, i16 510, i16 1630, i16 1631, i16 497, i16 417, i16 499, i16 419, i16 0, i16 0, i16 498, i16 418, i16 242, i16 220, i16 385, i16 386, i16 221, i16 243, i16 186, i16 166, i16 1011, i16 1010, i16 1012, i16 1013, i16 1014, i16 1015, i16 1017, i16 1018, i16 756, i16 757, i16 0, i16 759, i16 762, i16 764, i16 770, i16 772, i16 248, i16 0, i16 0, i16 0, i16 252, i16 0, i16 0, i16 0, i16 1020, i16 980, i16 1022, i16 982, i16 1021, i16 981, i16 480, i16 400, i16 254, i16 0, i16 0, i16 0, i16 249, i16 0, i16 0, i16 0, i16 1023, i16 1034, i16 517, i16 516, i16 518, i16 519, i16 1036, i16 232, i16 8, i16 13, i16 9, i16 5, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 14, i16 7, i16 11, i16 3, i16 6, i16 0, i16 0, i16 0, i16 0, i16 10, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 81, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8, i16 42, i16 98, i16 109, i16 122, i16 130, i16 140, i16 151, i16 164, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 35, i16 0, i16 108, i16 0, i16 110, i16 120, i16 125, i16 133, i16 0, i16 0, i16 0, i16 0, i16 15, i16 0, i16 141, i16 148, i16 112, i16 117, i16 160, i16 139, i16 149, i16 57, i16 167, i16 170, i16 174, i16 47, i16 60, i16 61, i16 39, i16 0, i16 0, i16 11, i16 92, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 43, i16 18, i16 0, i16 0, i16 10, i16 12, i16 51, i16 119, i16 93, i16 169, i16 172, i16 96, i16 0, i16 0, i16 28, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 23, i16 9, i16 0, i16 14, i16 66, i16 0, i16 67, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 32, i16 75, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 46, i16 147, i16 152, i16 156, i16 31, i16 0, i16 0, i16 157, i16 161, i16 0, i16 36, i16 0, i16 0, i16 0, i16 0, i16 0, i16 37, i16 22, i16 176, i16 0, i16 0, i16 38, i16 181, i16 63, i16 70, i16 48, i16 17, i16 0, i16 73, i16 74, i16 0, i16 0, i16 52, i16 102, i16 135, i16 155, i16 114, i16 171, i16 101, i16 173, i16 111, i16 121, i16 94, i16 127, i16 142, i16 103, i16 143, i16 104, i16 175, i16 180, i16 89, i16 62, i16 124, i16 71, i16 80, i16 83, i16 20, i16 49, i16 166, i16 95, i16 7, i16 106, i16 165, i16 26, i16 55, i16 153, i16 179, i16 154, i16 182, i16 56, i16 40, i16 41, i16 77, i16 158, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 79, i16 86, i16 0, i16 76, i16 82, i16 88, i16 0, i16 59, i16 69, i16 85, i16 99, i16 116, i16 131, i16 58, i16 68, i16 84, i16 97, i16 115, i16 128, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 78, i16 50, i16 87, i16 27, i16 33, i16 34, i16 123, i16 0, i16 44, i16 16, i16 24, i16 0, i16 25, i16 0, i16 3, i16 0, i16 45, i16 105, i16 107, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 126, i16 54, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 144, i16 177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 13, i16 21, i16 19, i16 0, i16 0, i16 53, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 29, i16 30, i16 129, i16 137, i16 146, i16 138, i16 134, i16 0, i16 0, i16 159, i16 178, i16 90, i16 118, i16 132, i16 163, i16 64, i16 72, i16 91, i16 113, i16 162, i16 145, i16 65, i16 150, i16 168, i16 100, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 136, i16 5, i16 6, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 592, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 161, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 172, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 167, i16 168, i16 169, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 170, i16 0, i16 171, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 714, i16 715, i16 864, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1505, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 524, i16 0, i16 525, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 581, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1348, i16 0, i16 0, i16 0, i16 1349, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1923, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 526, i16 527, i16 528, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 427, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 343, i16 344, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 290, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 594, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 742, i16 743, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1924, i16 146, i16 0, i16 1925, i16 0, i16 1926, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 232, i16 233, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 234, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 520, i16 521, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 522, i16 523, i16 0, i16 0, i16 0, i16 0, i16 0, i16 345, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 823, i16 824, i16 0, i16 0, i16 0, i16 0, i16 1762, i16 1763, i16 1772, i16 1773, i16 1824, i16 1825, i16 0, i16 0, i16 0, i16 0, i16 323, i16 324, i16 325, i16 326, i16 0, i16 0, i16 0, i16 0, i16 327, i16 0, i16 328, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1371, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 153, i16 154, i16 0, i16 0, i16 0, i16 0, i16 155, i16 0, i16 0, i16 0, i16 156, i16 0, i16 0, i16 0, i16 0, i16 0, i16 157, i16 158, i16 1148, i16 159, i16 1158, i16 1164, i16 1170, i16 0, i16 1187, i16 0, i16 1200, i16 1213, i16 0, i16 0, i16 0, i16 0, i16 1701, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 546, i16 0, i16 0, i16 0, i16 547, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 329, i16 0, i16 330, i16 0, i16 0, i16 331, i16 0, i16 0, i16 0, i16 332, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 333, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 358, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 225, i16 226, i16 0, i16 0, i16 227, i16 0, i16 228, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 229, i16 0, i16 230, i16 0, i16 0, i16 0, i16 231, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 1733, i16 1735, i16 1737, i16 1739, i16 0, i16 0, i16 0, i16 517, i16 518, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 519, i16 0, i16 0, i16 1310, i16 1311, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1312, i16 1313, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1314, i16 1315, i16 1316, i16 1317, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1353, i16 0, i16 1355, i16 0, i16 0, i16 0, i16 1358, i16 0, i16 0, i16 0, i16 0, i16 1362, i16 1363, i16 1366, i16 0, i16 0, i16 593, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 339, i16 340, i16 0, i16 0, i16 341, i16 342, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 348, i16 0, i16 0, i16 0, i16 0, i16 0, i16 349, i16 350, i16 351, i16 352, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 173, i16 174, i16 175, i16 176, i16 177, i16 0, i16 0, i16 180, i16 181, i16 0, i16 0, i16 0, i16 178, i16 179, i16 0, i16 0, i16 499, i16 500, i16 0, i16 0, i16 0, i16 501, i16 0, i16 0, i16 502, i16 0, i16 503, i16 504, i16 0, i16 0, i16 0, i16 282, i16 0, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 811, i16 812, i16 0, i16 0, i16 0, i16 0, i16 0, i16 894, i16 895, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 304, i16 305, i16 306, i16 307, i16 0, i16 0, i16 308, i16 309, i16 1700, i16 310, i16 0, i16 0, i16 311, i16 312, i16 313, i16 0, i16 1351, i16 1352, i16 1354, i16 1356, i16 1357, i16 1359, i16 1361, i16 1365, i16 1372, i16 1375, i16 1380, i16 1385, i16 1390, i16 1395, i16 1400, i16 0, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 75, i16 78, i16 76, i16 79, i16 77, i16 604, i16 605, i16 0, i16 658, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 672, i16 673, i16 674, i16 675, i16 676, i16 1364, i16 677, i16 678, i16 679, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1234, i16 1230, i16 1224, i16 1236, i16 1288, i16 1244, i16 1246, i16 1248, i16 1258, i16 1264, i16 1276, i16 1254, i16 0, i16 1280, i16 1292, i16 0, i16 1235, i16 1231, i16 1225, i16 1237, i16 1289, i16 1245, i16 1247, i16 1249, i16 1259, i16 1265, i16 1277, i16 1255, i16 0, i16 1281, i16 1293, i16 0, i16 476, i16 477, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1525, i16 1527, i16 1529, i16 1531, i16 1533, i16 1535, i16 1538, i16 1540, i16 1542, i16 1544, i16 1547, i16 1549, i16 1551, i16 1553, i16 1555, i16 0, i16 1526, i16 1528, i16 1530, i16 1532, i16 1534, i16 1536, i16 1539, i16 1541, i16 1543, i16 1545, i16 1548, i16 1550, i16 1552, i16 1554, i16 1556, i16 0, i16 505, i16 0, i16 0, i16 506, i16 0, i16 507, i16 508, i16 0, i16 0, i16 509, i16 510, i16 0, i16 0, i16 511, i16 512, i16 513, i16 514, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 515, i16 516, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1796, i16 1795, i16 881, i16 882, i16 885, i16 886, i16 1801, i16 1802, i16 1803, i16 903, i16 904, i16 1806, i16 1807, i16 905, i16 906, i16 907, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 1033, i16 1034, i16 1035, i16 1036, i16 1027, i16 1028, i16 1031, i16 1032, i16 1037, i16 1038, i16 1047, i16 1048, i16 1049, i16 1050, i16 1057, i16 1058, i16 778, i16 779, i16 780, i16 781, i16 782, i16 783, i16 784, i16 785, i16 870, i16 871, i16 876, i16 877, i16 972, i16 973, i16 966, i16 967, i16 529, i16 0, i16 530, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 0, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 1557, i16 1560, i16 1562, i16 1564, i16 1566, i16 1568, i16 1570, i16 1572, i16 1574, i16 1576, i16 1578, i16 1580, i16 1582, i16 1584, i16 1586, i16 1588, i16 1558, i16 1561, i16 1563, i16 1565, i16 1567, i16 1569, i16 1571, i16 1573, i16 1575, i16 1577, i16 1579, i16 1581, i16 1583, i16 1585, i16 1587, i16 1589, i16 279, i16 280, i16 281, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1818, i16 1819, i16 1830, i16 1831, i16 1007, i16 1008, i16 1832, i16 1833, i16 1013, i16 1014, i16 1834, i16 1835, i16 1029, i16 1030, i16 1838, i16 1839, i16 1055, i16 1056, i16 1098, i16 1099, i16 1090, i16 1091, i16 1100, i16 1101, i16 1088, i16 1089, i16 1096, i16 1097, i16 1852, i16 1853, i16 1854, i16 1855, i16 291, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 292, i16 0, i16 293, i16 0, i16 294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 548, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 0, i16 0, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 1318, i16 1319, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 295, i16 0, i16 296, i16 297, i16 0, i16 298, i16 299, i16 300, i16 301, i16 0, i16 0, i16 302, i16 0, i16 0, i16 0, i16 303, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 1836, i16 1837, i16 1053, i16 1054, i16 1045, i16 1046, i16 1051, i16 1052, i16 1086, i16 1087, i16 1846, i16 1847, i16 1066, i16 1067, i16 1074, i16 1075, i16 816, i16 817, i16 818, i16 819, i16 820, i16 1042, i16 1026, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 0, i16 0, i16 0, i16 0, i16 571, i16 0, i16 0, i16 0, i16 1844, i16 1845, i16 1094, i16 1095, i16 1862, i16 1863, i16 1126, i16 1127, i16 1128, i16 1877, i16 1878, i16 1881, i16 1882, i16 1879, i16 1880, i16 1040, i16 1590, i16 1592, i16 1594, i16 1596, i16 1598, i16 1600, i16 1602, i16 1604, i16 1606, i16 1608, i16 1610, i16 1612, i16 1614, i16 1616, i16 1618, i16 1620, i16 1591, i16 1593, i16 1595, i16 1597, i16 1599, i16 1601, i16 1603, i16 1605, i16 1607, i16 1609, i16 1611, i16 1613, i16 1615, i16 1617, i16 1619, i16 1621, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 314, i16 0, i16 0, i16 0, i16 0, i16 315, i16 0, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 0, i16 322, i16 0, i16 572, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 829, i16 830, i16 1790, i16 1791, i16 840, i16 841, i16 848, i16 849, i16 872, i16 873, i16 1799, i16 1800, i16 858, i16 859, i16 878, i16 879, i16 833, i16 834, i16 844, i16 845, i16 846, i16 847, i16 842, i16 843, i16 850, i16 851, i16 838, i16 839, i16 874, i16 875, i16 868, i16 869, i16 1860, i16 1861, i16 1858, i16 1859, i16 1864, i16 1865, i16 1866, i16 1867, i16 1868, i16 1869, i16 1121, i16 1122, i16 1119, i16 1120, i16 1134, i16 1135, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1350, i16 1452, i16 1457, i16 1462, i16 1467, i16 1472, i16 1477, i16 1482, i16 1487, i16 1490, i16 1493, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 74, i16 87, i16 120, i16 122, i16 119, i16 123, i16 143, i16 114, i16 94, i16 116, i16 683, i16 104, i16 141, i16 82, i16 117, i16 81, i16 1103, i16 0, i16 0, i16 0, i16 0, i16 1142, i16 1143, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1360, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1370, i16 0, i16 1622, i16 1624, i16 1626, i16 1628, i16 1630, i16 1632, i16 1634, i16 1636, i16 1638, i16 1640, i16 1642, i16 1644, i16 1646, i16 1648, i16 1650, i16 1652, i16 1367, i16 1368, i16 1369, i16 1373, i16 1374, i16 1376, i16 1377, i16 1378, i16 1379, i16 1381, i16 1382, i16 1383, i16 1384, i16 1386, i16 1387, i16 1388, i16 1623, i16 1625, i16 1627, i16 1629, i16 1631, i16 1633, i16 1635, i16 1637, i16 1639, i16 1641, i16 1643, i16 1645, i16 1647, i16 1649, i16 1651, i16 1653, i16 1112, i16 1113, i16 1124, i16 1125, i16 1136, i16 1137, i16 1130, i16 1131, i16 1132, i16 1133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 92, i16 1953, i16 730, i16 1954, i16 1955, i16 765, i16 810, i16 822, i16 837, i16 853, i16 884, i16 889, i16 1956, i16 919, i16 1957, i16 942, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 1887, i16 1810, i16 944, i16 1816, i16 952, i16 1820, i16 1828, i16 134, i16 1822, i16 1062, i16 1842, i16 1070, i16 1848, i16 1872, i16 1840, i16 1041, i16 1888, i16 1811, i16 945, i16 1817, i16 953, i16 1821, i16 1829, i16 133, i16 1823, i16 1063, i16 1843, i16 1071, i16 1849, i16 1873, i16 1841, i16 1129, i16 353, i16 0, i16 354, i16 0, i16 0, i16 355, i16 0, i16 0, i16 1889, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 865, i16 964, i16 965, i16 1072, i16 1073, i16 1076, i16 1077, i16 1078, i16 1079, i16 1082, i16 1083, i16 1080, i16 1081, i16 0, i16 718, i16 719, i16 356, i16 357, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 359, i16 360, i16 361, i16 362, i16 0, i16 0, i16 363, i16 364, i16 365, i16 366, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1389, i16 1391, i16 1392, i16 1393, i16 1394, i16 1396, i16 1397, i16 1398, i16 1399, i16 1401, i16 1402, i16 1404, i16 1405, i16 1407, i16 1408, i16 1410, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 1905, i16 445, i16 446, i16 1906, i16 447, i16 1907, i16 448, i16 449, i16 1908, i16 450, i16 451, i16 1909, i16 452, i16 453, i16 454, i16 1910, i16 1138, i16 1139, i16 1140, i16 1141, i16 1144, i16 1145, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 118, i16 1948, i16 729, i16 1949, i16 1950, i16 764, i16 809, i16 821, i16 836, i16 1794, i16 883, i16 888, i16 1951, i16 918, i16 1952, i16 941, i16 1654, i16 1656, i16 1658, i16 1660, i16 1662, i16 1664, i16 1666, i16 1668, i16 1670, i16 1672, i16 1674, i16 1676, i16 1678, i16 1680, i16 1682, i16 1684, i16 1655, i16 1657, i16 1659, i16 1661, i16 1663, i16 1665, i16 1667, i16 1669, i16 1671, i16 1673, i16 1675, i16 1677, i16 1679, i16 1681, i16 1683, i16 1685, i16 1911, i16 455, i16 456, i16 1912, i16 457, i16 458, i16 459, i16 1913, i16 1914, i16 460, i16 461, i16 1915, i16 462, i16 463, i16 464, i16 1916, i16 890, i16 891, i16 896, i16 897, i16 898, i16 899, i16 909, i16 910, i16 911, i16 912, i16 915, i16 916, i16 913, i16 914, i16 920, i16 921, i16 1403, i16 1406, i16 1409, i16 1412, i16 1417, i16 1422, i16 1427, i16 1432, i16 1437, i16 1442, i16 1447, i16 0, i16 0, i16 0, i16 0, i16 0, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 1411, i16 1413, i16 1414, i16 1415, i16 1416, i16 1418, i16 1419, i16 1420, i16 1421, i16 1423, i16 1424, i16 1425, i16 1426, i16 1428, i16 1429, i16 1430, i16 135, i16 334, i16 0, i16 0, i16 137, i16 139, i16 0, i16 0, i16 0, i16 0, i16 335, i16 336, i16 0, i16 0, i16 337, i16 338, i16 908, i16 1804, i16 1805, i16 1808, i16 1809, i16 1812, i16 1813, i16 929, i16 930, i16 939, i16 1814, i16 1815, i16 1826, i16 1827, i16 948, i16 949, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 655, i16 656, i16 657, i16 0, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 144, i16 132, i16 1750, i16 1751, i16 91, i16 145, i16 115, i16 96, i16 97, i16 1749, i16 943, i16 105, i16 1734, i16 1736, i16 1738, i16 89, i16 1686, i16 1688, i16 1690, i16 1692, i16 1537, i16 1546, i16 1559, i16 0, i16 0, i16 0, i16 0, i16 577, i16 578, i16 579, i16 580, i16 0, i16 1175, i16 1147, i16 1151, i16 1153, i16 1155, i16 1157, i16 1161, i16 1163, i16 1167, i16 1169, i16 1176, i16 1178, i16 1180, i16 1182, i16 1184, i16 1186, i16 1431, i16 1433, i16 1434, i16 1435, i16 1436, i16 1438, i16 1439, i16 1440, i16 1441, i16 1443, i16 1444, i16 1445, i16 1446, i16 1448, i16 1449, i16 1450, i16 1687, i16 1689, i16 1691, i16 1693, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 573, i16 574, i16 575, i16 576, i16 0, i16 922, i16 923, i16 924, i16 925, i16 931, i16 932, i16 933, i16 934, i16 937, i16 938, i16 935, i16 936, i16 968, i16 969, i16 970, i16 971, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 0, i16 0, i16 0, i16 0, i16 160, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1697, i16 86, i16 101, i16 127, i16 121, i16 128, i16 126, i16 98, i16 106, i16 108, i16 124, i16 130, i16 83, i16 1698, i16 90, i16 1699, i16 162, i16 163, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 164, i16 165, i16 166, i16 1190, i16 1192, i16 0, i16 1194, i16 1197, i16 1199, i16 1206, i16 1208, i16 1210, i16 1212, i16 1171, i16 1201, i16 1150, i16 1160, i16 1166, i16 1173, i16 1191, i16 1193, i16 1196, i16 1195, i16 1198, i16 1202, i16 1207, i16 1209, i16 1211, i16 1214, i16 1174, i16 1204, i16 1189, i16 1203, i16 1215, i16 0, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 1717, i16 1718, i16 1451, i16 1453, i16 1454, i16 1455, i16 1456, i16 1458, i16 1459, i16 1460, i16 1461, i16 1463, i16 1464, i16 1465, i16 1466, i16 1468, i16 1469, i16 1470, i16 428, i16 1890, i16 429, i16 1891, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 1892, i16 1893, i16 1894, i16 684, i16 1758, i16 702, i16 722, i16 1764, i16 1760, i16 1770, i16 1780, i16 766, i16 1784, i16 774, i16 788, i16 854, i16 1797, i16 862, i16 866, i16 685, i16 1759, i16 703, i16 723, i16 1765, i16 1761, i16 1771, i16 1781, i16 767, i16 1785, i16 775, i16 789, i16 855, i16 1798, i16 863, i16 867, i16 686, i16 687, i16 700, i16 701, i16 768, i16 769, i16 772, i16 773, i16 856, i16 857, i16 860, i16 861, i16 946, i16 947, i16 950, i16 951, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 798, i16 799, i16 790, i16 791, i16 792, i16 793, i16 776, i16 777, i16 1205, i16 1149, i16 1152, i16 1154, i16 1156, i16 1159, i16 1162, i16 1165, i16 1168, i16 1172, i16 1177, i16 1179, i16 1181, i16 1183, i16 1185, i16 1188, i16 182, i16 0, i16 0, i16 183, i16 184, i16 185, i16 186, i16 187, i16 99, i16 100, i16 188, i16 189, i16 102, i16 103, i16 190, i16 191, i16 439, i16 1895, i16 1896, i16 1897, i16 440, i16 1898, i16 1899, i16 1900, i16 441, i16 1901, i16 1902, i16 1903, i16 442, i16 1904, i16 443, i16 444, i16 1719, i16 1720, i16 1721, i16 1722, i16 1723, i16 1724, i16 1725, i16 1726, i16 1727, i16 1728, i16 1729, i16 1730, i16 475, i16 0, i16 0, i16 0, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 984, i16 985, i16 986, i16 987, i16 988, i16 989, i16 1471, i16 1473, i16 1474, i16 1475, i16 1476, i16 1478, i16 1479, i16 1480, i16 1481, i16 1483, i16 1484, i16 1485, i16 1486, i16 1488, i16 1489, i16 1491, i16 192, i16 193, i16 1702, i16 0, i16 0, i16 194, i16 195, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1216, i16 1218, i16 1220, i16 1222, i16 1228, i16 1232, i16 1238, i16 1240, i16 1242, i16 1250, i16 1252, i16 1256, i16 1260, i16 1262, i16 1266, i16 1268, i16 1217, i16 1219, i16 1221, i16 1223, i16 1229, i16 1233, i16 1239, i16 1241, i16 1243, i16 1251, i16 1253, i16 1257, i16 1261, i16 1263, i16 1267, i16 1269, i16 1731, i16 1740, i16 1741, i16 1742, i16 1743, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 85, i16 84, i16 136, i16 138, i16 140, i16 88, i16 196, i16 0, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 0, i16 208, i16 0, i16 1732, i16 0, i16 0, i16 0, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 131, i16 129, i16 209, i16 107, i16 109, i16 0, i16 1226, i16 1227, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 716, i16 717, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 746, i16 747, i16 753, i16 754, i16 755, i16 756, i16 761, i16 762, i16 465, i16 466, i16 1917, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 1918, i16 0, i16 0, i16 0, i16 0, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 0, i16 724, i16 725, i16 720, i16 721, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 690, i16 691, i16 980, i16 981, i16 978, i16 979, i16 997, i16 998, i16 999, i16 1000, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1492, i16 1494, i16 1495, i16 1496, i16 1497, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 0, i16 0, i16 0, i16 726, i16 727, i16 1774, i16 1775, i16 831, i16 832, i16 827, i16 828, i16 892, i16 893, i16 974, i16 975, i16 976, i16 977, i16 0, i16 0, i16 982, i16 983, i16 1921, i16 1922, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1102, i16 478, i16 0, i16 0, i16 0, i16 479, i16 0, i16 0, i16 0, i16 480, i16 0, i16 0, i16 0, i16 481, i16 0, i16 0, i16 0, i16 990, i16 991, i16 992, i16 993, i16 1092, i16 1093, i16 1084, i16 1085, i16 1104, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1503, i16 1504, i16 1506, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 482, i16 483, i16 484, i16 485, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 995, i16 1002, i16 1005, i16 1024, i16 1043, i16 1060, i16 1850, i16 1856, i16 1117, i16 1870, i16 1875, i16 110, i16 125, i16 111, i16 93, i16 80, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 996, i16 1003, i16 1006, i16 1025, i16 1044, i16 1061, i16 1851, i16 1857, i16 1118, i16 1871, i16 1876, i16 112, i16 142, i16 113, i16 95, i16 622, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 494, i16 495, i16 496, i16 0, i16 497, i16 498, i16 0, i16 0, i16 1768, i16 1769, i16 688, i16 689, i16 1766, i16 1767, i16 1776, i16 1777, i16 740, i16 741, i16 744, i16 745, i16 1778, i16 1779, i16 751, i16 752, i16 235, i16 0, i16 236, i16 0, i16 0, i16 0, i16 237, i16 0, i16 0, i16 0, i16 0, i16 238, i16 0, i16 0, i16 0, i16 0, i16 1009, i16 1010, i16 1011, i16 1012, i16 1064, i16 1065, i16 1068, i16 1069, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 757, i16 758, i16 759, i16 760, i16 804, i16 805, i16 802, i16 803, i16 806, i16 807, i16 794, i16 795, i16 800, i16 801, i16 813, i16 814, i16 1270, i16 1272, i16 1274, i16 1278, i16 1282, i16 1284, i16 1286, i16 1290, i16 1294, i16 1296, i16 1299, i16 1300, i16 1303, i16 1304, i16 1306, i16 1308, i16 1782, i16 1783, i16 1788, i16 1789, i16 770, i16 771, i16 796, i16 797, i16 1786, i16 1787, i16 786, i16 787, i16 825, i16 826, i16 1792, i16 1793, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 1271, i16 1273, i16 1275, i16 1279, i16 1283, i16 1285, i16 1287, i16 1291, i16 1295, i16 1297, i16 1298, i16 1301, i16 1302, i16 1305, i16 1307, i16 1309, i16 9, i16 11, i16 8, i16 5, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12, i16 7, i16 13, i16 3, i16 6, i16 0, i16 0, i16 0, i16 0, i16 14, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 181, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8, i16 38, i16 76, i16 84, i16 94, i16 104, i16 117, i16 126, i16 135, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 36, i16 0, i16 170, i16 0, i16 171, i16 176, i16 66, i16 74, i16 0, i16 0, i16 0, i16 0, i16 13, i16 0, i16 81, i16 86, i16 49, i16 50, i16 112, i16 82, i16 96, i16 51, i16 118, i16 120, i16 123, i16 40, i16 54, i16 134, i16 41, i16 0, i16 0, i16 11, i16 165, i16 0, i16 0, i16 0, i16 0, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 46, i16 18, i16 0, i16 0, i16 9, i16 12, i16 47, i16 90, i16 67, i16 138, i16 141, i16 71, i16 0, i16 0, i16 26, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 22, i16 10, i16 0, i16 14, i16 142, i16 0, i16 145, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 34, i16 150, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 39, i16 169, i16 98, i16 100, i16 29, i16 0, i16 0, i16 147, i16 110, i16 0, i16 37, i16 0, i16 0, i16 0, i16 0, i16 0, i16 32, i16 21, i16 65, i16 0, i16 0, i16 33, i16 122, i16 129, i16 136, i16 57, i16 17, i16 0, i16 139, i16 140, i16 0, i16 0, i16 55, i16 127, i16 149, i16 128, i16 151, i16 56, i16 44, i16 45, i16 172, i16 131, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 173, i16 179, i16 0, i16 61, i16 175, i16 99, i16 146, i16 180, i16 167, i16 160, i16 168, i16 63, i16 73, i16 97, i16 83, i16 106, i16 52, i16 108, i16 53, i16 132, i16 154, i16 68, i16 93, i16 116, i16 148, i16 70, i16 95, i16 20, i16 62, i16 158, i16 107, i16 7, i16 89, i16 133, i16 25, i16 80, i16 85, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 109, i16 174, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 19, i16 16, i16 0, i16 0, i16 48, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 27, i16 28, i16 103, i16 114, i16 121, i16 115, i16 91, i16 0, i16 0, i16 125, i16 155, i16 72, i16 101, i16 124, i16 157, i16 64, i16 79, i16 119, i16 137, i16 130, i16 111, i16 161, i16 143, i16 163, i16 113, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 92, i16 5, i16 6, i16 3, i16 144, i16 58, i16 152, i16 30, i16 31, i16 35, i16 78, i16 0, i16 42, i16 15, i16 23, i16 0, i16 24, i16 0, i16 4, i16 0, i16 43, i16 69, i16 166, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 153, i16 156, i16 159, i16 0, i16 60, i16 164, i16 178, i16 77, i16 88, i16 105, i16 59, i16 162, i16 177, i16 75, i16 87, i16 102, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 831, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1251, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 842, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 979, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 837, i16 838, i16 839, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 840, i16 0, i16 841, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 121, i16 122, i16 311, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1697, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1539, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1183, i16 0, i16 1184, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1240, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1540, i16 0, i16 0, i16 0, i16 1541, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1058, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1185, i16 1186, i16 1187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 975, i16 976, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 816, i16 811, i16 819, i16 818, i16 800, i16 821, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 929, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1253, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 815, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 167, i16 168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 771, i16 772, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 877, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1179, i16 1180, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1181, i16 1182, i16 0, i16 0, i16 0, i16 0, i16 0, i16 977, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 978, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 260, i16 261, i16 0, i16 0, i16 0, i16 0, i16 125, i16 126, i16 148, i16 149, i16 450, i16 451, i16 0, i16 0, i16 0, i16 0, i16 1563, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 823, i16 824, i16 0, i16 0, i16 0, i16 0, i16 825, i16 0, i16 0, i16 0, i16 826, i16 0, i16 0, i16 0, i16 0, i16 0, i16 827, i16 828, i16 1340, i16 829, i16 1350, i16 1356, i16 1362, i16 0, i16 1379, i16 0, i16 1392, i16 1405, i16 0, i16 0, i16 0, i16 0, i16 946, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 961, i16 962, i16 963, i16 964, i16 0, i16 0, i16 0, i16 0, i16 803, i16 0, i16 965, i16 0, i16 0, i16 0, i16 0, i16 804, i16 0, i16 805, i16 0, i16 0, i16 806, i16 0, i16 0, i16 0, i16 802, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 808, i16 0, i16 876, i16 0, i16 0, i16 0, i16 809, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 878, i16 879, i16 880, i16 881, i16 882, i16 883, i16 884, i16 885, i16 682, i16 684, i16 686, i16 688, i16 0, i16 0, i16 0, i16 0, i16 1205, i16 0, i16 0, i16 0, i16 1206, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 966, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 989, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 767, i16 768, i16 0, i16 0, i16 769, i16 0, i16 770, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1545, i16 0, i16 1547, i16 0, i16 0, i16 0, i16 1550, i16 0, i16 0, i16 0, i16 0, i16 1554, i16 1555, i16 1558, i16 0, i16 0, i16 79, i16 80, i16 81, i16 82, i16 83, i16 0, i16 0, i16 84, i16 85, i16 0, i16 0, i16 0, i16 843, i16 844, i16 0, i16 0, i16 1158, i16 1159, i16 0, i16 0, i16 0, i16 1160, i16 0, i16 0, i16 1161, i16 0, i16 1162, i16 1163, i16 0, i16 0, i16 0, i16 0, i16 1176, i16 1177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1178, i16 0, i16 0, i16 971, i16 972, i16 0, i16 0, i16 973, i16 974, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 980, i16 0, i16 0, i16 0, i16 0, i16 0, i16 981, i16 982, i16 983, i16 984, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1502, i16 1503, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1504, i16 1505, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1506, i16 1507, i16 1508, i16 1509, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1252, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1543, i16 1544, i16 1546, i16 1548, i16 1549, i16 1551, i16 1553, i16 1557, i16 1564, i16 1567, i16 1572, i16 1577, i16 1582, i16 1587, i16 1592, i16 0, i16 1317, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1092, i16 1093, i16 0, i16 1095, i16 0, i16 1097, i16 1098, i16 0, i16 1100, i16 1101, i16 0, i16 1103, i16 1104, i16 1105, i16 0, i16 0, i16 1108, i16 1109, i16 0, i16 1111, i16 1112, i16 1113, i16 0, i16 0, i16 1116, i16 1117, i16 0, i16 1119, i16 1120, i16 1121, i16 0, i16 0, i16 1135, i16 1136, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 391, i16 412, i16 410, i16 420, i16 440, i16 434, i16 791, i16 448, i16 556, i16 554, i16 564, i16 570, i16 646, i16 550, i16 531, i16 0, i16 392, i16 413, i16 411, i16 421, i16 441, i16 435, i16 787, i16 449, i16 557, i16 555, i16 565, i16 571, i16 647, i16 551, i16 653, i16 0, i16 1164, i16 0, i16 0, i16 1165, i16 0, i16 1166, i16 1167, i16 0, i16 0, i16 1168, i16 1169, i16 0, i16 0, i16 1170, i16 1171, i16 0, i16 1426, i16 1422, i16 1416, i16 1428, i16 1480, i16 1436, i16 1438, i16 1440, i16 1450, i16 1456, i16 1468, i16 1446, i16 0, i16 1472, i16 1484, i16 0, i16 1427, i16 1423, i16 1417, i16 1429, i16 1481, i16 1437, i16 1439, i16 1441, i16 1451, i16 1457, i16 1469, i16 1447, i16 0, i16 1473, i16 1485, i16 0, i16 921, i16 0, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 943, i16 735, i16 944, i16 945, i16 0, i16 0, i16 793, i16 947, i16 847, i16 788, i16 0, i16 0, i16 949, i16 950, i16 951, i16 0, i16 1717, i16 1719, i16 1721, i16 1723, i16 1725, i16 1727, i16 1730, i16 1732, i16 1734, i16 1736, i16 1739, i16 1741, i16 1743, i16 1745, i16 1747, i16 0, i16 1718, i16 1720, i16 1722, i16 1724, i16 1726, i16 1728, i16 1731, i16 1733, i16 1735, i16 1737, i16 1740, i16 1742, i16 1744, i16 1746, i16 1748, i16 0, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 707, i16 710, i16 708, i16 711, i16 709, i16 1263, i16 1264, i16 0, i16 248, i16 249, i16 0, i16 0, i16 0, i16 0, i16 0, i16 345, i16 346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 517, i16 518, i16 519, i16 520, i16 513, i16 514, i16 527, i16 528, i16 521, i16 522, i16 537, i16 538, i16 539, i16 540, i16 547, i16 548, i16 773, i16 0, i16 774, i16 0, i16 0, i16 0, i16 775, i16 0, i16 0, i16 0, i16 0, i16 776, i16 0, i16 0, i16 0, i16 0, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 1037, i16 1038, i16 1039, i16 1040, i16 1041, i16 1042, i16 1043, i16 1044, i16 1045, i16 1542, i16 1644, i16 1649, i16 1654, i16 1659, i16 1664, i16 1669, i16 1674, i16 1679, i16 1682, i16 1685, i16 1690, i16 1691, i16 1692, i16 1693, i16 1694, i16 268, i16 269, i16 272, i16 273, i16 281, i16 282, i16 289, i16 290, i16 319, i16 320, i16 329, i16 330, i16 305, i16 306, i16 327, i16 328, i16 780, i16 0, i16 985, i16 0, i16 0, i16 986, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 525, i16 526, i16 543, i16 544, i16 535, i16 536, i16 541, i16 542, i16 584, i16 585, i16 594, i16 595, i16 560, i16 561, i16 568, i16 569, i16 1552, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1562, i16 0, i16 274, i16 275, i16 285, i16 286, i16 287, i16 288, i16 283, i16 284, i16 291, i16 292, i16 279, i16 280, i16 321, i16 322, i16 315, i16 316, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1046, i16 1047, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 0, i16 0, i16 0, i16 0, i16 1814, i16 1816, i16 1818, i16 1820, i16 1822, i16 1824, i16 1826, i16 1828, i16 1830, i16 1832, i16 1834, i16 1836, i16 1838, i16 1840, i16 1842, i16 1844, i16 1559, i16 1560, i16 1561, i16 1565, i16 1566, i16 1568, i16 1569, i16 1570, i16 1571, i16 1573, i16 1574, i16 1575, i16 1576, i16 1578, i16 1579, i16 1580, i16 1815, i16 1817, i16 1819, i16 1821, i16 1823, i16 1825, i16 1827, i16 1829, i16 1831, i16 1833, i16 1835, i16 1837, i16 1839, i16 1841, i16 1843, i16 1845, i16 795, i16 784, i16 0, i16 0, i16 796, i16 797, i16 0, i16 0, i16 0, i16 0, i16 967, i16 968, i16 0, i16 0, i16 969, i16 970, i16 545, i16 546, i16 598, i16 599, i16 588, i16 589, i16 600, i16 601, i16 586, i16 587, i16 596, i16 597, i16 617, i16 618, i16 619, i16 620, i16 1314, i16 1315, i16 1316, i16 0, i16 1318, i16 801, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1059, i16 0, i16 1061, i16 0, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1070, i16 1071, i16 0, i16 0, i16 0, i16 1060, i16 1062, i16 1072, i16 1073, i16 1074, i16 1076, i16 1077, i16 1078, i16 1080, i16 1081, i16 1082, i16 1084, i16 1085, i16 1086, i16 1088, i16 1091, i16 807, i16 794, i16 699, i16 700, i16 814, i16 766, i16 762, i16 822, i16 817, i16 698, i16 409, i16 786, i16 683, i16 685, i16 687, i16 716, i16 1581, i16 1583, i16 1584, i16 1585, i16 1586, i16 1588, i16 1589, i16 1590, i16 1591, i16 1593, i16 1594, i16 1596, i16 1597, i16 1599, i16 1600, i16 1602, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1556, i16 1335, i16 1336, i16 1337, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1075, i16 0, i16 0, i16 0, i16 1079, i16 0, i16 0, i16 0, i16 1083, i16 0, i16 0, i16 0, i16 1087, i16 0, i16 1089, i16 1090, i16 1846, i16 1848, i16 1850, i16 1852, i16 1854, i16 1856, i16 1858, i16 1860, i16 1862, i16 1864, i16 1866, i16 1868, i16 1870, i16 1872, i16 1874, i16 1876, i16 1847, i16 1849, i16 1851, i16 1853, i16 1855, i16 1857, i16 1859, i16 1861, i16 1863, i16 1865, i16 1867, i16 1869, i16 1871, i16 1873, i16 1875, i16 1877, i16 312, i16 432, i16 433, i16 566, i16 567, i16 572, i16 573, i16 574, i16 575, i16 578, i16 579, i16 576, i16 577, i16 0, i16 131, i16 132, i16 1595, i16 1598, i16 1601, i16 1604, i16 1609, i16 1614, i16 1619, i16 1624, i16 1629, i16 1634, i16 1639, i16 0, i16 0, i16 0, i16 0, i16 0, i16 830, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 832, i16 833, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 834, i16 835, i16 836, i16 323, i16 324, i16 332, i16 333, i16 336, i16 337, i16 349, i16 350, i16 354, i16 357, i16 358, i16 367, i16 368, i16 359, i16 360, i16 361, i16 1603, i16 1605, i16 1606, i16 1607, i16 1608, i16 1610, i16 1611, i16 1612, i16 1613, i16 1615, i16 1616, i16 1617, i16 1618, i16 1620, i16 1621, i16 1622, i16 580, i16 581, i16 592, i16 593, i16 628, i16 629, i16 650, i16 651, i16 652, i16 665, i16 666, i16 669, i16 670, i16 678, i16 679, i16 530, i16 1094, i16 1096, i16 1099, i16 1102, i16 1106, i16 1107, i16 1110, i16 1114, i16 1115, i16 1118, i16 1122, i16 1125, i16 1134, i16 0, i16 0, i16 0, i16 77, i16 718, i16 764, i16 756, i16 810, i16 765, i16 739, i16 757, i16 820, i16 761, i16 88, i16 785, i16 781, i16 733, i16 760, i16 812, i16 845, i16 846, i16 948, i16 0, i16 0, i16 848, i16 849, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 78, i16 717, i16 720, i16 798, i16 759, i16 758, i16 755, i16 721, i16 743, i16 745, i16 792, i16 789, i16 713, i16 731, i16 712, i16 741, i16 850, i16 0, i16 851, i16 852, i16 853, i16 854, i16 855, i16 856, i16 857, i16 750, i16 752, i16 858, i16 859, i16 0, i16 813, i16 0, i16 341, i16 342, i16 347, i16 348, i16 351, i16 352, i16 363, i16 364, i16 369, i16 370, i16 373, i16 374, i16 371, i16 372, i16 378, i16 379, i16 1878, i16 1880, i16 1882, i16 1884, i16 1729, i16 1738, i16 1751, i16 0, i16 0, i16 0, i16 0, i16 1236, i16 1237, i16 1238, i16 1239, i16 0, i16 1367, i16 1339, i16 1343, i16 1345, i16 1347, i16 1349, i16 1353, i16 1355, i16 1359, i16 1361, i16 1368, i16 1370, i16 1372, i16 1374, i16 1376, i16 1378, i16 1623, i16 1625, i16 1626, i16 1627, i16 1628, i16 1630, i16 1631, i16 1632, i16 1633, i16 1635, i16 1636, i16 1637, i16 1638, i16 1640, i16 1641, i16 1642, i16 1879, i16 1881, i16 1883, i16 1885, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1232, i16 1233, i16 1234, i16 1235, i16 0, i16 91, i16 89, i16 109, i16 135, i16 129, i16 123, i16 146, i16 171, i16 199, i16 197, i16 207, i16 221, i16 301, i16 299, i16 309, i16 313, i16 603, i16 0, i16 0, i16 0, i16 0, i16 673, i16 674, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 92, i16 90, i16 110, i16 136, i16 130, i16 124, i16 147, i16 172, i16 200, i16 198, i16 208, i16 222, i16 302, i16 300, i16 310, i16 314, i16 93, i16 94, i16 107, i16 108, i16 201, i16 202, i16 205, i16 206, i16 303, i16 304, i16 307, i16 308, i16 414, i16 415, i16 418, i16 419, i16 861, i16 862, i16 863, i16 864, i16 865, i16 866, i16 867, i16 868, i16 869, i16 870, i16 871, i16 872, i16 873, i16 874, i16 875, i16 0, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 231, i16 232, i16 223, i16 224, i16 225, i16 226, i16 209, i16 210, i16 1123, i16 1124, i16 0, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1132, i16 1133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 612, i16 613, i16 648, i16 649, i16 660, i16 661, i16 654, i16 655, i16 656, i16 657, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1382, i16 1384, i16 0, i16 1386, i16 1389, i16 1391, i16 1398, i16 1400, i16 1402, i16 1404, i16 1363, i16 1393, i16 1342, i16 1352, i16 1358, i16 1365, i16 1383, i16 1385, i16 1388, i16 1387, i16 1390, i16 1394, i16 1399, i16 1401, i16 1403, i16 1406, i16 1366, i16 1396, i16 1381, i16 1395, i16 1407, i16 0, i16 362, i16 365, i16 366, i16 387, i16 388, i16 397, i16 398, i16 389, i16 390, i16 403, i16 405, i16 406, i16 456, i16 457, i16 416, i16 417, i16 1643, i16 1645, i16 1646, i16 1647, i16 1648, i16 1650, i16 1651, i16 1652, i16 1653, i16 1655, i16 1656, i16 1657, i16 1658, i16 1660, i16 1661, i16 1662, i16 1137, i16 0, i16 0, i16 0, i16 1138, i16 0, i16 0, i16 0, i16 1139, i16 0, i16 0, i16 0, i16 1140, i16 0, i16 0, i16 0, i16 626, i16 627, i16 624, i16 625, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 641, i16 642, i16 639, i16 640, i16 658, i16 659, i16 1141, i16 1142, i16 1143, i16 1144, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1397, i16 1341, i16 1344, i16 1346, i16 1348, i16 1351, i16 1354, i16 1357, i16 1360, i16 1364, i16 1369, i16 1371, i16 1373, i16 1375, i16 1377, i16 1380, i16 886, i16 887, i16 888, i16 889, i16 890, i16 891, i16 892, i16 893, i16 894, i16 895, i16 896, i16 897, i16 898, i16 899, i16 900, i16 901, i16 1145, i16 1146, i16 1147, i16 1148, i16 1149, i16 1150, i16 1151, i16 1152, i16 1153, i16 1154, i16 1155, i16 0, i16 1156, i16 1157, i16 0, i16 0, i16 380, i16 381, i16 382, i16 383, i16 393, i16 394, i16 395, i16 396, i16 401, i16 402, i16 399, i16 400, i16 442, i16 443, i16 444, i16 445, i16 127, i16 128, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 173, i16 174, i16 182, i16 183, i16 184, i16 185, i16 192, i16 193, i16 1663, i16 1665, i16 1666, i16 1667, i16 1668, i16 1670, i16 1671, i16 1672, i16 1673, i16 1675, i16 1676, i16 1677, i16 1678, i16 1680, i16 1681, i16 1683, i16 1408, i16 1410, i16 1412, i16 1414, i16 1420, i16 1424, i16 1430, i16 1432, i16 1434, i16 1442, i16 1444, i16 1448, i16 1452, i16 1454, i16 1458, i16 1460, i16 1409, i16 1411, i16 1413, i16 1415, i16 1421, i16 1425, i16 1431, i16 1433, i16 1435, i16 1443, i16 1445, i16 1449, i16 1453, i16 1455, i16 1459, i16 1461, i16 902, i16 903, i16 904, i16 905, i16 906, i16 907, i16 908, i16 909, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 137, i16 138, i16 133, i16 134, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 97, i16 98, i16 1418, i16 1419, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 141, i16 142, i16 95, i16 96, i16 139, i16 140, i16 163, i16 164, i16 165, i16 166, i16 169, i16 170, i16 175, i16 176, i16 180, i16 181, i16 143, i16 144, i16 150, i16 151, i16 270, i16 271, i16 266, i16 267, i16 343, i16 344, i16 452, i16 453, i16 454, i16 455, i16 0, i16 0, i16 1172, i16 1173, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1174, i16 1175, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1684, i16 1686, i16 1687, i16 1688, i16 1689, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 0, i16 0, i16 0, i16 918, i16 919, i16 920, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 667, i16 668, i16 671, i16 672, i16 675, i16 676, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1695, i16 1696, i16 1698, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 930, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 931, i16 0, i16 932, i16 0, i16 933, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1699, i16 1700, i16 1701, i16 1702, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1188, i16 0, i16 1189, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 934, i16 0, i16 935, i16 936, i16 0, i16 937, i16 938, i16 939, i16 940, i16 0, i16 0, i16 941, i16 0, i16 0, i16 0, i16 942, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 0, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 680, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 719, i16 714, i16 749, i16 778, i16 751, i16 715, i16 681, i16 0, i16 0, i16 0, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 790, i16 732, i16 860, i16 744, i16 746, i16 0, i16 436, i16 437, i16 475, i16 476, i16 489, i16 490, i16 499, i16 500, i16 505, i16 506, i16 511, i16 512, i16 515, i16 516, i16 523, i16 524, i16 1462, i16 1464, i16 1466, i16 1470, i16 1474, i16 1476, i16 1478, i16 1482, i16 1486, i16 1488, i16 1491, i16 1492, i16 1495, i16 1496, i16 1498, i16 1500, i16 1207, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1463, i16 1465, i16 1467, i16 1471, i16 1475, i16 1477, i16 1479, i16 1483, i16 1487, i16 1489, i16 1490, i16 1493, i16 1494, i16 1497, i16 1499, i16 1501, i16 952, i16 0, i16 0, i16 0, i16 0, i16 953, i16 0, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 0, i16 960, i16 0, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 0, i16 0, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 186, i16 187, i16 237, i16 238, i16 203, i16 204, i16 229, i16 230, i16 235, i16 236, i16 219, i16 220, i16 264, i16 265, i16 262, i16 263, i16 188, i16 189, i16 190, i16 191, i16 241, i16 242, i16 239, i16 240, i16 243, i16 244, i16 227, i16 228, i16 233, i16 234, i16 250, i16 251, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 0, i16 0, i16 0, i16 0, i16 1230, i16 0, i16 0, i16 0, i16 460, i16 461, i16 458, i16 459, i16 479, i16 480, i16 481, i16 482, i16 495, i16 496, i16 497, i16 498, i16 501, i16 502, i16 503, i16 504, i16 462, i16 463, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 602, i16 1231, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 722, i16 87, i16 153, i16 1888, i16 179, i16 196, i16 247, i16 259, i16 278, i16 298, i16 335, i16 340, i16 356, i16 377, i16 386, i16 408, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 317, i16 318, i16 325, i16 326, i16 446, i16 447, i16 438, i16 439, i16 1749, i16 1752, i16 1754, i16 1756, i16 1758, i16 1760, i16 1762, i16 1764, i16 1766, i16 1768, i16 1770, i16 1772, i16 1774, i16 1776, i16 1778, i16 1780, i16 470, i16 471, i16 472, i16 473, i16 590, i16 591, i16 582, i16 583, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 1750, i16 1753, i16 1755, i16 1757, i16 1759, i16 1761, i16 1763, i16 1765, i16 1767, i16 1769, i16 1771, i16 1773, i16 1775, i16 1777, i16 1779, i16 1781, i16 1241, i16 1242, i16 1243, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 987, i16 988, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 477, i16 484, i16 487, i16 508, i16 533, i16 552, i16 615, i16 622, i16 637, i16 644, i16 663, i16 747, i16 742, i16 748, i16 779, i16 777, i16 478, i16 485, i16 488, i16 509, i16 534, i16 553, i16 616, i16 623, i16 638, i16 645, i16 664, i16 753, i16 740, i16 754, i16 799, i16 1281, i16 734, i16 0, i16 0, i16 736, i16 737, i16 738, i16 782, i16 783, i16 729, i16 730, i16 723, i16 728, i16 726, i16 727, i16 724, i16 725, i16 990, i16 991, i16 992, i16 993, i16 0, i16 0, i16 994, i16 995, i16 996, i16 997, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 998, i16 999, i16 1000, i16 1001, i16 1002, i16 1003, i16 1004, i16 1005, i16 1006, i16 1007, i16 1008, i16 1009, i16 1010, i16 1011, i16 1012, i16 1013, i16 1510, i16 1511, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 491, i16 492, i16 493, i16 494, i16 558, i16 559, i16 562, i16 563, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1265, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1014, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1023, i16 1024, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1782, i16 1784, i16 1786, i16 1788, i16 1790, i16 1792, i16 1794, i16 1796, i16 1798, i16 1800, i16 1802, i16 1804, i16 1806, i16 1808, i16 1810, i16 1812, i16 1783, i16 1785, i16 1787, i16 1789, i16 1791, i16 1793, i16 1795, i16 1797, i16 1799, i16 1801, i16 1803, i16 1805, i16 1807, i16 1809, i16 1811, i16 1813, i16 1528, i16 1529, i16 1530, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 0, i16 0, i16 0, i16 0, i16 0, i16 763, i16 86, i16 152, i16 1887, i16 178, i16 195, i16 246, i16 258, i16 277, i16 297, i16 334, i16 339, i16 355, i16 376, i16 385, i16 407, i16 253, i16 254, i16 255, i16 256, i16 257, i16 532, i16 510, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 3, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 5, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 134, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 136, i16 0, i16 0, i16 0, i16 137, i16 0, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 1, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 12, i16 14, i16 16, i16 18, i16 20, i16 22, i16 24, i16 26, i16 28, i16 30, i16 32, i16 34, i16 36, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 13, i16 15, i16 17, i16 19, i16 21, i16 23, i16 25, i16 27, i16 29, i16 31, i16 33, i16 35, i16 37, i16 39, i16 41, i16 43, i16 45, i16 47, i16 49, i16 51, i16 53, i16 55, i16 57, i16 59, i16 61, i16 63, i16 92, i16 93, i16 94, i16 95, i16 202, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 96, i16 0, i16 0, i16 0, i16 133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 135, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 203, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 5, i16 6, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 4, i16 3, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 126, i16 132, i16 138, i16 144, i16 150, i16 156, i16 162, i16 168, i16 174, i16 180, i16 186, i16 192, i16 198, i16 204, i16 210, i16 216, i16 222, i16 228, i16 234, i16 240, i16 246, i16 252, i16 258, i16 264, i16 270, i16 276, i16 282, i16 288, i16 294, i16 300, i16 306, i16 7, i16 13, i16 23, i16 39, i16 32, i16 40, i16 38, i16 22, i16 24, i16 29, i16 36, i16 41, i16 10, i16 9, i16 16, i16 15, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 12, i16 11, i16 42, i16 43, i16 44, i16 14, i16 19, i16 75, i16 77, i16 79, i16 81, i16 83, i16 85, i16 87, i16 89, i16 91, i16 93, i16 95, i16 97, i16 99, i16 101, i16 103, i16 105, i16 107, i16 109, i16 111, i16 113, i16 115, i16 117, i16 119, i16 121, i16 123, i16 125, i16 26, i16 45, i16 27, i16 21, i16 0, i16 30, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 25, i16 37, i16 28, i16 20, i16 8, i16 312, i16 318, i16 324, i16 330, i16 336, i16 337, i16 343, i16 344, i16 350, i16 356, i16 362, i16 368, i16 374, i16 380, i16 386, i16 17, i16 393, i16 394, i16 395, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 47, i16 0, i16 0, i16 0, i16 0, i16 31, i16 410, i16 411, i16 412, i16 413, i16 414, i16 396, i16 18, i16 49, i16 50, i16 51, i16 52, i16 53, i16 48, i16 392, i16 46, i16 33, i16 55, i16 57, i16 59, i16 61, i16 63, i16 65, i16 67, i16 69, i16 71, i16 73, i16 34, i16 35, i16 0, i16 0, i16 0, i16 0, i16 32, i16 3, i16 45, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7, i16 37, i16 2, i16 12, i16 0, i16 0, i16 0, i16 0, i16 27, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 25, i16 33, i16 28, i16 44, i16 11, i16 14, i16 29, i16 40, i16 23, i16 9, i16 20, i16 10, i16 38, i16 22, i16 42, i16 31, i16 49, i16 36, i16 43, i16 16, i16 15, i16 26, i16 21, i16 35, i16 17, i16 18, i16 13, i16 47, i16 24, i16 6, i16 34, i16 4, i16 39, i16 19, i16 8, i16 41, i16 5, i16 48, i16 50, i16 46, i16 30, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 266, i16 373, i16 661, i16 236, i16 595, i16 0, i16 0, i16 94, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 615, i16 647, i16 136, i16 0, i16 0, i16 390, i16 36, i16 15, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 31, i16 0, i16 0, i16 0, i16 0, i16 0, i16 60, i16 455, i16 499, i16 0, i16 0, i16 4, i16 259, i16 192, i16 133, i16 445, i16 669, i16 550, i16 172, i16 0, i16 0, i16 62, i16 153, i16 389, i16 409, i16 145, i16 1, i16 180, i16 570, i16 258, i16 261, i16 414, i16 610, i16 140, i16 566, i16 280, i16 150, i16 468, i16 333, i16 655, i16 176, i16 402, i16 260, i16 173, i16 607, i16 281, i16 293, i16 306, i16 319, i16 267, i16 168, i16 368, i16 382, i16 456, i16 249, i16 437, i16 500, i16 95, i16 14, i16 465, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 68, i16 129, i16 0, i16 0, i16 12, i16 0, i16 9, i16 0, i16 533, i16 84, i16 587, i16 606, i16 447, i16 652, i16 668, i16 291, i16 318, i16 459, i16 61, i16 659, i16 395, i16 195, i16 202, i16 186, i16 30, i16 590, i16 617, i16 422, i16 209, i16 535, i16 137, i16 485, i16 511, i16 222, i16 165, i16 337, i16 355, i16 371, i16 385, i16 190, i16 35, i16 627, i16 98, i16 660, i16 85, i16 278, i16 244, i16 376, i16 391, i16 101, i16 69, i16 377, i16 185, i16 401, i16 205, i16 453, i16 38, i16 24, i16 331, i16 352, i16 644, i16 649, i16 662, i16 398, i16 673, i16 454, i16 287, i16 152, i16 223, i16 307, i16 294, i16 419, i16 39, i16 0, i16 357, i16 22, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 296, i16 160, i16 363, i16 342, i16 360, i16 378, i16 42, i16 415, i16 434, i16 206, i16 431, i16 13, i16 490, i16 462, i16 521, i16 486, i16 304, i16 593, i16 525, i16 253, i16 622, i16 645, i16 234, i16 269, i16 104, i16 279, i16 63, i16 425, i16 199, i16 78, i16 174, i16 72, i16 569, i16 295, i16 620, i16 161, i16 340, i16 658, i16 273, i16 680, i16 289, i16 404, i16 361, i16 359, i16 372, i16 423, i16 73, i16 417, i16 315, i16 132, i16 356, i16 362, i16 381, i16 412, i16 26, i16 594, i16 87, i16 471, i16 497, i16 601, i16 227, i16 118, i16 542, i16 557, i16 317, i16 353, i16 265, i16 182, i16 188, i16 0, i16 0, i16 0, i16 0, i16 5, i16 74, i16 544, i16 448, i16 211, i16 475, i16 575, i16 599, i16 524, i16 545, i16 552, i16 239, i16 157, i16 66, i16 585, i16 103, i16 614, i16 48, i16 632, i16 687, i16 282, i16 308, i16 329, i16 604, i16 514, i16 183, i16 537, i16 530, i16 326, i16 177, i16 226, i16 380, i16 406, i16 76, i16 204, i16 208, i16 215, i16 584, i16 247, i16 605, i16 428, i16 679, i16 634, i16 637, i16 37, i16 138, i16 316, i16 196, i16 34, i16 230, i16 44, i16 286, i16 676, i16 312, i16 603, i16 609, i16 549, i16 513, i16 310, i16 325, i16 346, i16 77, i16 388, i16 128, i16 399, i16 411, i16 418, i16 54, i16 444, i16 299, i16 480, i16 113, i16 197, i16 602, i16 89, i16 158, i16 635, i16 59, i16 670, i16 493, i16 276, i16 105, i16 416, i16 429, i16 334, i16 159, i16 110, i16 370, i16 384, i16 684, i16 248, i16 424, i16 301, i16 156, i16 343, i16 242, i16 214, i16 504, i16 515, i16 556, i16 403, i16 81, i16 364, i16 374, i16 189, i16 413, i16 427, i16 28, i16 207, i16 473, i16 494, i16 672, i16 228, i16 540, i16 283, i16 100, i16 586, i16 323, i16 344, i16 375, i16 155, i16 630, i16 124, i16 626, i16 526, i16 613, i16 665, i16 677, i16 16, i16 305, i16 290, i16 167, i16 339, i16 383, i16 408, i16 122, i16 449, i16 80, i16 467, i16 169, i16 218, i16 200, i16 532, i16 543, i16 561, i16 508, i16 510, i16 553, i16 256, i16 582, i16 653, i16 643, i16 0, i16 241, i16 619, i16 666, i16 147, i16 348, i16 397, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 648, i16 141, i16 82, i16 292, i16 309, i16 608, i16 354, i16 410, i16 386, i16 311, i16 439, i16 321, i16 109, i16 460, i16 481, i16 498, i16 394, i16 495, i16 461, i16 112, i16 19, i16 457, i16 254, i16 489, i16 503, i16 221, i16 512, i16 86, i16 527, i16 139, i16 568, i16 580, i16 143, i16 0, i16 0, i16 7, i16 300, i16 49, i16 57, i16 528, i16 102, i16 430, i16 194, i16 564, i16 17, i16 579, i16 0, i16 0, i16 144, i16 83, i16 531, i16 324, i16 229, i16 154, i16 179, i16 387, i16 53, i16 43, i16 277, i16 201, i16 108, i16 21, i16 625, i16 483, i16 146, i16 347, i16 396, i16 446, i16 505, i16 252, i16 336, i16 477, i16 351, i16 379, i16 322, i16 436, i16 0, i16 0, i16 18, i16 8, i16 420, i16 250, i16 450, i16 472, i16 633, i16 518, i16 529, i16 119, i16 631, i16 268, i16 674, i16 142, i16 686, i16 458, i16 134, i16 328, i16 678, i16 488, i16 509, i16 491, i16 541, i16 657, i16 120, i16 563, i16 675, i16 583, i16 245, i16 91, i16 618, i16 0, i16 0, i16 0, i16 683, i16 516, i16 314, i16 681, i16 193, i16 572, i16 358, i16 443, i16 611, i16 421, i16 646, i16 262, i16 272, i16 107, i16 99, i16 538, i16 685, i16 288, i16 64, i16 70, i16 166, i16 50, i16 25, i16 52, i16 71, i16 392, i16 191, i16 426, i16 433, i16 442, i16 451, i16 441, i16 435, i16 438, i16 11, i16 338, i16 106, i16 40, i16 0, i16 0, i16 10, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 440, i16 466, i16 478, i16 501, i16 523, i16 536, i16 554, i16 522, i16 592, i16 581, i16 233, i16 555, i16 251, i16 476, i16 636, i16 264, i16 203, i16 452, i16 474, i16 365, i16 178, i16 187, i16 539, i16 126, i16 565, i16 578, i16 600, i16 220, i16 2, i16 624, i16 639, i16 654, i16 212, i16 562, i16 407, i16 616, i16 33, i16 650, i16 47, i16 332, i16 271, i16 131, i16 97, i16 298, i16 162, i16 341, i16 65, i16 367, i16 213, i16 149, i16 151, i16 302, i16 163, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3, i16 484, i16 345, i16 67, i16 591, i16 469, i16 487, i16 51, i16 171, i16 303, i16 400, i16 175, i16 58, i16 125, i16 598, i16 79, i16 628, i16 463, i16 651, i16 350, i16 274, i16 470, i16 56, i16 464, i16 520, i16 612, i16 640, i16 238, i16 507, i16 123, i16 127, i16 88, i16 623, i16 642, i16 664, i16 548, i16 547, i16 216, i16 682, i16 492, i16 116, i16 519, i16 240, i16 667, i16 588, i16 597, i16 23, i16 559, i16 641, i16 577, i16 93, i16 270, i16 96, i16 225, i16 534, i16 589, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 482, i16 184, i16 224, i16 393, i16 0, i16 0, i16 0, i16 41, i16 121, i16 75, i16 198, i16 517, i16 90, i16 263, i16 210, i16 671, i16 231, i16 496, i16 45, i16 574, i16 246, i16 235, i16 621, i16 32, i16 479, i16 237, i16 560, i16 284, i16 571, i16 327, i16 217, i16 366, i16 232, i16 432, i16 55, i16 111, i16 0, i16 27, i16 114, i16 219, i16 115, i16 573, i16 546, i16 567, i16 6, i16 46, i16 243, i16 130, i16 502, i16 320, i16 92, i16 117, i16 369, i16 551, i16 558, i16 20, i16 164, i16 576, i16 275, i16 257, i16 297, i16 656, i16 596, i16 506, i16 255, i16 629, i16 638, i16 135, i16 0, i16 29, i16 663, i16 285, i16 313, i16 349, i16 148, i16 181, i16 405, i16 330, i16 335, i16 170, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3171, i16 12478, i16 12479, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2196, i16 6503, i16 11985, i16 1886, i16 6504, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2650, i16 12441, i16 12442, i16 0, i16 0, i16 0, i16 0, i16 12443, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2542, i16 11756, i16 11757, i16 6356, i16 0, i16 0, i16 11758, i16 11759, i16 6358, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1165, i16 0, i16 5777, i16 0, i16 5778, i16 10826, i16 10825, i16 10827, i16 10828, i16 10829, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1956, i16 6848, i16 6849, i16 1656, i16 0, i16 12717, i16 0, i16 12718, i16 0, i16 12719, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7035, i16 0, i16 0, i16 1517, i16 7036, i16 13063, i16 13064, i16 13065, i16 7037, i16 0, i16 1888, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7306, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 341, i16 0, i16 342, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 351, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 326, i16 327, i16 325, i16 328, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11125, i16 0, i16 0, i16 5992, i16 0, i16 5993, i16 0, i16 990, i16 11126, i16 0, i16 0, i16 947, i16 5990, i16 11127, i16 0, i16 11128, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 251, i16 0, i16 0, i16 0, i16 0, i16 250, i16 255, i16 0, i16 259, i16 260, i16 0, i16 0, i16 261, i16 262, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 368, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7427, i16 2983, i16 3748, i16 7428, i16 0, i16 7430, i16 3029, i16 7431, i16 3631, i16 7432, i16 2168, i16 7433, i16 1818, i16 7434, i16 1866, i16 965, i16 7435, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3587, i16 0, i16 13156, i16 13157, i16 13158, i16 13159, i16 0, i16 13160, i16 7092, i16 13161, i16 13162, i16 0, i16 0, i16 0, i16 0, i16 7093, i16 5548, i16 13163, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7201, i16 7287, i16 7229, i16 7315, i16 7247, i16 7332, i16 7265, i16 7350, i16 7274, i16 7359, i16 7271, i16 7356, i16 7273, i16 7358, i16 7272, i16 7357, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8287, i16 0, i16 0, i16 0, i16 0, i16 8288, i16 0, i16 2969, i16 8289, i16 0, i16 0, i16 8290, i16 0, i16 0, i16 8291, i16 4207, i16 3113, i16 8292, i16 0, i16 8293, i16 8294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9649, i16 5112, i16 9650, i16 9651, i16 5118, i16 0, i16 0, i16 5116, i16 0, i16 2728, i16 0, i16 0, i16 5123, i16 5113, i16 9652, i16 0, i16 9653, i16 0, i16 9654, i16 5114, i16 5090, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9574, i16 0, i16 9575, i16 0, i16 0, i16 1049, i16 0, i16 0, i16 892, i16 0, i16 9576, i16 5056, i16 0, i16 9577, i16 5059, i16 9578, i16 0, i16 0, i16 3600, i16 9579, i16 0, i16 9580, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 364, i16 0, i16 0, i16 363, i16 0, i16 362, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7882, i16 7883, i16 0, i16 0, i16 4012, i16 3474, i16 0, i16 2068, i16 7884, i16 4018, i16 0, i16 7885, i16 7886, i16 0, i16 4017, i16 4008, i16 0, i16 7887, i16 7888, i16 7889, i16 2472, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 995, i16 0, i16 0, i16 7950, i16 0, i16 0, i16 4058, i16 7951, i16 2153, i16 4054, i16 7952, i16 4052, i16 7953, i16 4053, i16 7954, i16 4055, i16 7955, i16 0, i16 7956, i16 7957, i16 7958, i16 0, i16 7959, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3650, i16 0, i16 9772, i16 5182, i16 0, i16 0, i16 0, i16 847, i16 0, i16 9773, i16 0, i16 9774, i16 9775, i16 9776, i16 9777, i16 0, i16 9778, i16 5184, i16 0, i16 0, i16 9779, i16 5183, i16 0, i16 5181, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10072, i16 10073, i16 5305, i16 0, i16 10074, i16 0, i16 0, i16 5306, i16 10075, i16 0, i16 0, i16 10076, i16 5307, i16 0, i16 0, i16 0, i16 10077, i16 0, i16 10078, i16 10079, i16 866, i16 0, i16 10080, i16 10081, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3182, i16 0, i16 6816, i16 12656, i16 0, i16 12657, i16 12658, i16 6817, i16 12659, i16 6818, i16 0, i16 0, i16 12660, i16 0, i16 6819, i16 12661, i16 12662, i16 0, i16 12663, i16 12664, i16 0, i16 0, i16 0, i16 12665, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11391, i16 0, i16 1000, i16 6110, i16 6111, i16 11358, i16 0, i16 0, i16 0, i16 11359, i16 0, i16 6106, i16 0, i16 1808, i16 11360, i16 0, i16 11361, i16 0, i16 11362, i16 0, i16 11363, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1683, i16 0, i16 12778, i16 0, i16 12779, i16 6888, i16 12780, i16 12781, i16 6889, i16 0, i16 12782, i16 0, i16 12783, i16 12784, i16 12785, i16 0, i16 1055, i16 12786, i16 0, i16 12787, i16 6890, i16 0, i16 12788, i16 12789, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8637, i16 0, i16 0, i16 8638, i16 0, i16 0, i16 8639, i16 4435, i16 4441, i16 4433, i16 0, i16 2779, i16 8640, i16 8641, i16 4438, i16 3156, i16 8642, i16 8643, i16 4432, i16 8644, i16 4437, i16 3636, i16 1834, i16 0, i16 8645, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7102, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7101, i16 7104, i16 7108, i16 7107, i16 0, i16 7105, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11222, i16 0, i16 0, i16 11223, i16 0, i16 3292, i16 0, i16 3660, i16 11224, i16 11225, i16 11226, i16 11227, i16 0, i16 6049, i16 0, i16 0, i16 11228, i16 0, i16 0, i16 11230, i16 11231, i16 6056, i16 11232, i16 0, i16 6048, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8409, i16 8410, i16 0, i16 8411, i16 0, i16 4283, i16 0, i16 0, i16 8412, i16 1205, i16 4284, i16 8413, i16 0, i16 4285, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8414, i16 0, i16 8415, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4599, i16 752, i16 8844, i16 8845, i16 1720, i16 0, i16 8846, i16 0, i16 2177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8847, i16 8848, i16 0, i16 0, i16 8849, i16 2707, i16 0, i16 8850, i16 3053, i16 4605, i16 2405, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4632, i16 0, i16 0, i16 8909, i16 8910, i16 0, i16 0, i16 2464, i16 0, i16 4639, i16 8911, i16 0, i16 8912, i16 4633, i16 8913, i16 0, i16 4630, i16 4637, i16 8914, i16 0, i16 0, i16 0, i16 4607, i16 0, i16 8915, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 316, i16 315, i16 0, i16 0, i16 0, i16 312, i16 0, i16 0, i16 314, i16 313, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8817, i16 0, i16 8818, i16 0, i16 0, i16 3069, i16 4663, i16 0, i16 0, i16 0, i16 0, i16 3279, i16 0, i16 8819, i16 0, i16 2706, i16 8820, i16 8821, i16 0, i16 3368, i16 8822, i16 4583, i16 934, i16 2605, i16 8823, i16 8824, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7940, i16 2549, i16 0, i16 7941, i16 970, i16 7942, i16 0, i16 0, i16 7943, i16 7944, i16 7945, i16 7946, i16 7947, i16 7948, i16 0, i16 4042, i16 0, i16 4044, i16 2069, i16 858, i16 7949, i16 0, i16 4047, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 311, i16 310, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2652, i16 12969, i16 6980, i16 0, i16 3024, i16 0, i16 6985, i16 6981, i16 0, i16 0, i16 0, i16 6982, i16 0, i16 12970, i16 3300, i16 3413, i16 0, i16 2861, i16 12971, i16 0, i16 12972, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1124, i16 11078, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11079, i16 920, i16 5954, i16 3639, i16 2498, i16 11080, i16 0, i16 3131, i16 0, i16 5966, i16 11081, i16 988, i16 5964, i16 0, i16 5962, i16 5953, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2662, i16 9547, i16 9548, i16 9549, i16 883, i16 1622, i16 5035, i16 0, i16 0, i16 9551, i16 9552, i16 0, i16 9553, i16 1974, i16 5040, i16 0, i16 5039, i16 5034, i16 0, i16 5037, i16 9554, i16 0, i16 1099, i16 9555, i16 5036, i16 2948, i16 9556, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8864, i16 8865, i16 3280, i16 1919, i16 4620, i16 0, i16 4619, i16 8866, i16 8867, i16 2243, i16 0, i16 0, i16 8868, i16 1497, i16 0, i16 8869, i16 8870, i16 4613, i16 2086, i16 8871, i16 0, i16 2885, i16 2924, i16 8872, i16 8873, i16 0, i16 8874, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11173, i16 6028, i16 11174, i16 11175, i16 3524, i16 11176, i16 0, i16 0, i16 11177, i16 3575, i16 11178, i16 0, i16 11179, i16 11180, i16 0, i16 0, i16 0, i16 11181, i16 2619, i16 11182, i16 11183, i16 11184, i16 1102, i16 11185, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6850, i16 12720, i16 0, i16 1057, i16 0, i16 0, i16 0, i16 2954, i16 6851, i16 6852, i16 0, i16 12721, i16 12722, i16 12723, i16 2589, i16 2888, i16 12724, i16 0, i16 0, i16 0, i16 12725, i16 12726, i16 0, i16 6853, i16 12727, i16 0, i16 12728, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4292, i16 0, i16 4294, i16 0, i16 8425, i16 0, i16 8426, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8427, i16 0, i16 0, i16 0, i16 0, i16 8429, i16 0, i16 4295, i16 0, i16 0, i16 0, i16 8428, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10961, i16 5874, i16 10962, i16 0, i16 0, i16 10963, i16 5872, i16 10964, i16 0, i16 2208, i16 0, i16 3164, i16 5877, i16 10965, i16 5876, i16 1639, i16 3710, i16 0, i16 10966, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5893, i16 0, i16 0, i16 0, i16 0, i16 13078, i16 7046, i16 3001, i16 0, i16 13079, i16 7047, i16 7049, i16 0, i16 13080, i16 7050, i16 13081, i16 13082, i16 13083, i16 0, i16 0, i16 13084, i16 13085, i16 13086, i16 0, i16 0, i16 7048, i16 1668, i16 3422, i16 3350, i16 4361, i16 0, i16 4996, i16 3374, i16 0, i16 0, i16 0, i16 0, i16 9766, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9767, i16 5177, i16 2557, i16 5180, i16 5175, i16 9768, i16 9769, i16 0, i16 5179, i16 9770, i16 0, i16 0, i16 9771, i16 5178, i16 2751, i16 802, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4915, i16 9346, i16 9347, i16 4920, i16 4924, i16 9348, i16 9349, i16 1331, i16 0, i16 0, i16 9350, i16 0, i16 9351, i16 9352, i16 9353, i16 0, i16 0, i16 9354, i16 9355, i16 0, i16 1259, i16 4922, i16 0, i16 9356, i16 0, i16 0, i16 0, i16 1216, i16 0, i16 0, i16 0, i16 0, i16 9780, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5176, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3286, i16 9781, i16 0, i16 0, i16 5186, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9539, i16 0, i16 0, i16 9540, i16 0, i16 0, i16 9541, i16 3517, i16 5042, i16 0, i16 9542, i16 9543, i16 0, i16 9544, i16 5041, i16 9545, i16 0, i16 0, i16 0, i16 2335, i16 0, i16 5038, i16 9546, i16 3547, i16 0, i16 0, i16 2835, i16 5032, i16 0, i16 0, i16 0, i16 0, i16 10582, i16 0, i16 3236, i16 986, i16 0, i16 10583, i16 0, i16 5611, i16 0, i16 5608, i16 10584, i16 5613, i16 10585, i16 10586, i16 5612, i16 0, i16 2990, i16 3384, i16 10587, i16 1806, i16 5606, i16 5615, i16 5610, i16 10588, i16 5609, i16 5605, i16 10589, i16 5607, i16 0, i16 0, i16 0, i16 0, i16 12640, i16 0, i16 6807, i16 12641, i16 0, i16 0, i16 12642, i16 6809, i16 2511, i16 1086, i16 1087, i16 6808, i16 0, i16 12643, i16 12644, i16 12645, i16 1194, i16 1515, i16 12646, i16 12647, i16 1195, i16 12648, i16 12649, i16 2750, i16 0, i16 0, i16 3629, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9849, i16 0, i16 0, i16 0, i16 5220, i16 0, i16 2687, i16 9850, i16 5222, i16 5221, i16 0, i16 9851, i16 5223, i16 0, i16 5224, i16 0, i16 9852, i16 1936, i16 3162, i16 0, i16 9853, i16 9854, i16 3453, i16 5225, i16 5226, i16 2397, i16 1877, i16 5227, i16 0, i16 0, i16 0, i16 0, i16 944, i16 0, i16 13087, i16 0, i16 13088, i16 0, i16 0, i16 13089, i16 7052, i16 1263, i16 7053, i16 7054, i16 7055, i16 0, i16 1676, i16 0, i16 7056, i16 13090, i16 0, i16 0, i16 5266, i16 3436, i16 0, i16 2504, i16 7057, i16 7059, i16 7058, i16 13091, i16 0, i16 0, i16 0, i16 0, i16 9393, i16 0, i16 0, i16 9394, i16 3008, i16 0, i16 4946, i16 0, i16 9395, i16 0, i16 0, i16 0, i16 9396, i16 9397, i16 9398, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4950, i16 4947, i16 9399, i16 9400, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1215, i16 9243, i16 4856, i16 0, i16 9244, i16 3418, i16 4831, i16 1214, i16 9245, i16 4838, i16 0, i16 9246, i16 9247, i16 9248, i16 3315, i16 9249, i16 4839, i16 4841, i16 9250, i16 4845, i16 4833, i16 9251, i16 2541, i16 0, i16 9252, i16 9253, i16 0, i16 2798, i16 0, i16 0, i16 0, i16 0, i16 7110, i16 7111, i16 7122, i16 0, i16 7123, i16 7124, i16 7125, i16 0, i16 7127, i16 0, i16 7128, i16 7130, i16 7136, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 0, i16 0, i16 0, i16 0, i16 6623, i16 0, i16 0, i16 12326, i16 12327, i16 12328, i16 0, i16 2886, i16 0, i16 2772, i16 0, i16 0, i16 12329, i16 12330, i16 12331, i16 0, i16 2680, i16 12332, i16 6636, i16 12333, i16 12334, i16 0, i16 12335, i16 2566, i16 6632, i16 0, i16 12336, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2303, i16 11822, i16 1920, i16 6405, i16 0, i16 11823, i16 0, i16 1077, i16 11824, i16 6406, i16 11825, i16 0, i16 2429, i16 6407, i16 0, i16 6408, i16 3170, i16 0, i16 0, i16 1230, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11826, i16 0, i16 0, i16 0, i16 8200, i16 905, i16 0, i16 8201, i16 1202, i16 2877, i16 3273, i16 0, i16 0, i16 0, i16 0, i16 4173, i16 2396, i16 4172, i16 1435, i16 8202, i16 8203, i16 3342, i16 4171, i16 0, i16 2788, i16 4175, i16 8204, i16 4174, i16 8205, i16 0, i16 8206, i16 8207, i16 8208, i16 0, i16 0, i16 0, i16 9739, i16 9740, i16 0, i16 0, i16 0, i16 9741, i16 9742, i16 9743, i16 9744, i16 5111, i16 0, i16 9749, i16 0, i16 0, i16 5171, i16 0, i16 0, i16 9745, i16 9746, i16 0, i16 0, i16 2884, i16 0, i16 0, i16 0, i16 0, i16 9747, i16 9748, i16 0, i16 0, i16 0, i16 0, i16 8486, i16 0, i16 0, i16 0, i16 8487, i16 0, i16 4332, i16 0, i16 8488, i16 1185, i16 4333, i16 8490, i16 0, i16 8489, i16 0, i16 4335, i16 4334, i16 0, i16 0, i16 4336, i16 0, i16 8491, i16 8492, i16 0, i16 4337, i16 0, i16 2327, i16 1970, i16 0, i16 0, i16 0, i16 0, i16 808, i16 5862, i16 0, i16 2563, i16 0, i16 10928, i16 0, i16 0, i16 0, i16 2963, i16 10929, i16 2496, i16 10930, i16 0, i16 0, i16 10931, i16 0, i16 10932, i16 10933, i16 5864, i16 10934, i16 10935, i16 5860, i16 5863, i16 5858, i16 0, i16 5861, i16 3289, i16 0, i16 0, i16 0, i16 0, i16 6698, i16 0, i16 0, i16 12462, i16 784, i16 12463, i16 12464, i16 6696, i16 12465, i16 6700, i16 6699, i16 0, i16 0, i16 12466, i16 12467, i16 12468, i16 12469, i16 6702, i16 6701, i16 6703, i16 0, i16 2827, i16 12470, i16 12471, i16 0, i16 6704, i16 12472, i16 12473, i16 12474, i16 0, i16 0, i16 0, i16 299, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7121, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9006, i16 0, i16 1543, i16 0, i16 9007, i16 4685, i16 9008, i16 0, i16 0, i16 0, i16 4688, i16 0, i16 3145, i16 9009, i16 1278, i16 9010, i16 0, i16 9011, i16 4687, i16 4686, i16 2959, i16 4689, i16 1330, i16 0, i16 0, i16 0, i16 4691, i16 4690, i16 9012, i16 0, i16 0, i16 0, i16 5172, i16 9750, i16 9751, i16 0, i16 0, i16 0, i16 0, i16 0, i16 981, i16 9752, i16 0, i16 9753, i16 2803, i16 1032, i16 0, i16 0, i16 0, i16 0, i16 9754, i16 9755, i16 0, i16 1283, i16 0, i16 0, i16 0, i16 1935, i16 1735, i16 9756, i16 0, i16 0, i16 0, i16 0, i16 9782, i16 9783, i16 9784, i16 9785, i16 9786, i16 0, i16 5185, i16 0, i16 9787, i16 9788, i16 0, i16 0, i16 9789, i16 0, i16 0, i16 0, i16 0, i16 914, i16 0, i16 0, i16 0, i16 0, i16 5188, i16 3207, i16 0, i16 5187, i16 0, i16 9790, i16 0, i16 0, i16 0, i16 0, i16 8247, i16 8248, i16 863, i16 1136, i16 8249, i16 4189, i16 0, i16 3414, i16 3112, i16 0, i16 0, i16 8250, i16 8251, i16 0, i16 8252, i16 8253, i16 0, i16 8254, i16 0, i16 753, i16 8255, i16 0, i16 0, i16 0, i16 834, i16 0, i16 0, i16 0, i16 1828, i16 0, i16 0, i16 0, i16 10308, i16 0, i16 0, i16 0, i16 5464, i16 0, i16 10309, i16 0, i16 0, i16 0, i16 5465, i16 0, i16 0, i16 0, i16 10310, i16 10311, i16 0, i16 0, i16 10312, i16 0, i16 5466, i16 0, i16 10313, i16 5467, i16 3400, i16 5468, i16 0, i16 10314, i16 10315, i16 0, i16 0, i16 0, i16 10830, i16 10831, i16 5779, i16 0, i16 10832, i16 0, i16 0, i16 0, i16 0, i16 5780, i16 5781, i16 5782, i16 10833, i16 5783, i16 5784, i16 10834, i16 10835, i16 5786, i16 5785, i16 0, i16 0, i16 5787, i16 0, i16 0, i16 10836, i16 10837, i16 10838, i16 0, i16 5788, i16 0, i16 0, i16 0, i16 6991, i16 0, i16 0, i16 6989, i16 0, i16 1118, i16 0, i16 6988, i16 1891, i16 942, i16 0, i16 0, i16 12981, i16 12982, i16 0, i16 12983, i16 12984, i16 12985, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12986, i16 1658, i16 12987, i16 12989, i16 6998, i16 6997, i16 0, i16 0, i16 0, i16 12117, i16 0, i16 0, i16 0, i16 12118, i16 12119, i16 2864, i16 6566, i16 1989, i16 1937, i16 2966, i16 2612, i16 12120, i16 0, i16 0, i16 1955, i16 12121, i16 2231, i16 0, i16 6567, i16 12122, i16 6568, i16 12123, i16 12124, i16 12125, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1113, i16 5562, i16 5561, i16 10536, i16 5565, i16 5558, i16 10537, i16 5566, i16 3574, i16 10538, i16 5567, i16 10539, i16 5568, i16 0, i16 10540, i16 4170, i16 5570, i16 0, i16 5569, i16 0, i16 0, i16 0, i16 5571, i16 5572, i16 10541, i16 3586, i16 5573, i16 0, i16 6797, i16 0, i16 0, i16 0, i16 4186, i16 8227, i16 2474, i16 0, i16 8228, i16 3307, i16 0, i16 0, i16 0, i16 2761, i16 8229, i16 8230, i16 8231, i16 8232, i16 0, i16 4187, i16 8233, i16 0, i16 0, i16 0, i16 8234, i16 0, i16 3352, i16 8235, i16 1727, i16 8236, i16 0, i16 2071, i16 0, i16 0, i16 0, i16 0, i16 4961, i16 0, i16 0, i16 9421, i16 4960, i16 0, i16 4962, i16 9422, i16 0, i16 979, i16 9423, i16 2554, i16 0, i16 4963, i16 0, i16 9424, i16 1152, i16 4965, i16 0, i16 9425, i16 0, i16 9426, i16 4964, i16 0, i16 4966, i16 0, i16 9427, i16 0, i16 4967, i16 0, i16 0, i16 0, i16 10341, i16 10342, i16 5477, i16 0, i16 10343, i16 10344, i16 0, i16 0, i16 0, i16 10345, i16 0, i16 10346, i16 0, i16 0, i16 0, i16 10347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10348, i16 2104, i16 10349, i16 0, i16 0, i16 0, i16 0, i16 2175, i16 8612, i16 3107, i16 0, i16 8613, i16 8614, i16 8615, i16 0, i16 8616, i16 1208, i16 2913, i16 0, i16 0, i16 8617, i16 8618, i16 8619, i16 8620, i16 8621, i16 0, i16 4422, i16 1833, i16 3309, i16 3310, i16 0, i16 0, i16 933, i16 4427, i16 8622, i16 0, i16 0, i16 0, i16 0, i16 2695, i16 3881, i16 7678, i16 0, i16 2444, i16 0, i16 7679, i16 1764, i16 3882, i16 3883, i16 2359, i16 0, i16 3880, i16 0, i16 0, i16 0, i16 0, i16 3885, i16 7680, i16 3305, i16 7681, i16 7682, i16 0, i16 7683, i16 1659, i16 7684, i16 0, i16 3884, i16 7685, i16 0, i16 0, i16 0, i16 5002, i16 5001, i16 0, i16 9479, i16 9480, i16 9481, i16 0, i16 0, i16 0, i16 9482, i16 0, i16 9483, i16 0, i16 0, i16 0, i16 0, i16 9484, i16 2224, i16 9485, i16 9486, i16 3120, i16 881, i16 0, i16 9487, i16 9488, i16 0, i16 0, i16 3038, i16 9489, i16 0, i16 0, i16 0, i16 12200, i16 12201, i16 12202, i16 12203, i16 0, i16 12204, i16 6671, i16 0, i16 0, i16 6599, i16 0, i16 12205, i16 12206, i16 12207, i16 0, i16 0, i16 12208, i16 3640, i16 12209, i16 12210, i16 1555, i16 12211, i16 12212, i16 12213, i16 0, i16 12214, i16 0, i16 12215, i16 6609, i16 0, i16 0, i16 0, i16 1469, i16 0, i16 8946, i16 0, i16 8947, i16 4649, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8948, i16 8949, i16 8950, i16 1800, i16 4646, i16 0, i16 4645, i16 0, i16 0, i16 8951, i16 8952, i16 2925, i16 8953, i16 0, i16 8954, i16 2834, i16 8955, i16 0, i16 0, i16 0, i16 1223, i16 1538, i16 4235, i16 1083, i16 0, i16 8338, i16 4236, i16 0, i16 2462, i16 0, i16 0, i16 8339, i16 8340, i16 4237, i16 4277, i16 0, i16 4238, i16 0, i16 4239, i16 0, i16 0, i16 4240, i16 0, i16 4242, i16 0, i16 8341, i16 8342, i16 8343, i16 8344, i16 0, i16 0, i16 0, i16 5320, i16 5319, i16 5321, i16 10092, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5322, i16 5324, i16 5323, i16 0, i16 0, i16 1680, i16 10093, i16 5326, i16 0, i16 5325, i16 10094, i16 10095, i16 1158, i16 0, i16 2206, i16 0, i16 2747, i16 0, i16 5327, i16 2273, i16 0, i16 0, i16 0, i16 9928, i16 1677, i16 1845, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9929, i16 5264, i16 5265, i16 9930, i16 0, i16 9931, i16 0, i16 0, i16 0, i16 9932, i16 5267, i16 9933, i16 0, i16 0, i16 0, i16 0, i16 9934, i16 9935, i16 9936, i16 0, i16 0, i16 0, i16 4811, i16 0, i16 0, i16 0, i16 3111, i16 0, i16 0, i16 0, i16 9216, i16 0, i16 0, i16 9217, i16 9218, i16 9219, i16 9220, i16 9221, i16 0, i16 4823, i16 9222, i16 952, i16 4812, i16 0, i16 9223, i16 9224, i16 9225, i16 9226, i16 0, i16 4829, i16 4813, i16 0, i16 0, i16 0, i16 13009, i16 13010, i16 0, i16 13011, i16 7009, i16 0, i16 7008, i16 13012, i16 0, i16 0, i16 13013, i16 13014, i16 1463, i16 0, i16 0, i16 13015, i16 13016, i16 0, i16 13017, i16 13018, i16 13019, i16 13020, i16 0, i16 7013, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11738, i16 0, i16 0, i16 1460, i16 0, i16 0, i16 0, i16 0, i16 6342, i16 6344, i16 11739, i16 0, i16 6345, i16 1251, i16 5811, i16 2150, i16 0, i16 6346, i16 0, i16 11740, i16 1575, i16 11741, i16 11742, i16 0, i16 0, i16 11743, i16 6347, i16 11744, i16 0, i16 0, i16 0, i16 0, i16 5086, i16 9609, i16 9610, i16 0, i16 0, i16 9611, i16 9612, i16 3388, i16 9613, i16 0, i16 5084, i16 5088, i16 9614, i16 0, i16 9615, i16 9616, i16 9617, i16 9618, i16 0, i16 1545, i16 9619, i16 2098, i16 0, i16 0, i16 2556, i16 9620, i16 9621, i16 9622, i16 5078, i16 0, i16 0, i16 0, i16 7917, i16 7918, i16 0, i16 0, i16 1489, i16 4034, i16 4032, i16 2394, i16 1257, i16 1321, i16 7919, i16 4029, i16 0, i16 1393, i16 0, i16 7920, i16 0, i16 0, i16 0, i16 875, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7921, i16 0, i16 0, i16 0, i16 238, i16 0, i16 300, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1015, i16 0, i16 11621, i16 2163, i16 6275, i16 0, i16 11622, i16 0, i16 11623, i16 0, i16 11624, i16 0, i16 0, i16 0, i16 11625, i16 0, i16 11626, i16 6276, i16 0, i16 11627, i16 0, i16 6277, i16 11628, i16 0, i16 0, i16 0, i16 11629, i16 0, i16 11630, i16 0, i16 0, i16 7936, i16 1823, i16 4040, i16 0, i16 0, i16 0, i16 0, i16 7937, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7938, i16 4043, i16 0, i16 4048, i16 0, i16 0, i16 0, i16 4046, i16 4045, i16 7939, i16 0, i16 0, i16 8448, i16 8449, i16 0, i16 0, i16 8450, i16 0, i16 8451, i16 0, i16 8455, i16 4317, i16 4314, i16 0, i16 4316, i16 0, i16 3553, i16 8453, i16 4315, i16 0, i16 0, i16 8452, i16 0, i16 0, i16 0, i16 8454, i16 0, i16 0, i16 4305, i16 0, i16 0, i16 8456, i16 0, i16 0, i16 2310, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8927, i16 0, i16 0, i16 4643, i16 8928, i16 0, i16 8929, i16 8930, i16 8931, i16 8932, i16 0, i16 0, i16 0, i16 2725, i16 0, i16 8933, i16 8934, i16 8935, i16 8936, i16 0, i16 8937, i16 0, i16 0, i16 10759, i16 10760, i16 10761, i16 10762, i16 10763, i16 5714, i16 0, i16 0, i16 1368, i16 3077, i16 10764, i16 10765, i16 10766, i16 2420, i16 0, i16 3613, i16 2046, i16 0, i16 0, i16 5762, i16 0, i16 10767, i16 5724, i16 10768, i16 2343, i16 0, i16 5720, i16 5725, i16 5727, i16 0, i16 0, i16 0, i16 6161, i16 11432, i16 11433, i16 11434, i16 11435, i16 11436, i16 11437, i16 11438, i16 0, i16 11439, i16 11440, i16 3498, i16 0, i16 0, i16 11441, i16 0, i16 0, i16 11442, i16 0, i16 11443, i16 0, i16 11444, i16 11445, i16 11446, i16 0, i16 0, i16 0, i16 0, i16 11447, i16 6160, i16 0, i16 0, i16 8998, i16 4677, i16 4676, i16 0, i16 8999, i16 0, i16 0, i16 9000, i16 4644, i16 4678, i16 4666, i16 0, i16 9001, i16 1836, i16 0, i16 9002, i16 0, i16 0, i16 4679, i16 4680, i16 4682, i16 4681, i16 4683, i16 1027, i16 9003, i16 1613, i16 9004, i16 9005, i16 3281, i16 2264, i16 0, i16 0, i16 13103, i16 13104, i16 0, i16 0, i16 0, i16 7071, i16 7072, i16 13105, i16 0, i16 0, i16 0, i16 0, i16 2723, i16 13106, i16 13107, i16 13108, i16 13109, i16 1558, i16 13110, i16 7074, i16 13111, i16 13112, i16 0, i16 13113, i16 13114, i16 13115, i16 0, i16 0, i16 0, i16 13116, i16 0, i16 0, i16 1852, i16 10946, i16 0, i16 1337, i16 2289, i16 3697, i16 3391, i16 5865, i16 2301, i16 10947, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10948, i16 10949, i16 10950, i16 0, i16 1266, i16 5868, i16 10951, i16 0, i16 10952, i16 0, i16 0, i16 0, i16 4159, i16 0, i16 0, i16 8181, i16 8182, i16 0, i16 0, i16 3238, i16 4160, i16 8183, i16 8184, i16 0, i16 0, i16 971, i16 4161, i16 0, i16 8185, i16 8186, i16 8187, i16 3499, i16 1043, i16 0, i16 3939, i16 2007, i16 2468, i16 4162, i16 3452, i16 8189, i16 0, i16 0, i16 0, i16 0, i16 9280, i16 0, i16 0, i16 9281, i16 0, i16 0, i16 0, i16 9282, i16 3515, i16 0, i16 0, i16 0, i16 9283, i16 0, i16 0, i16 0, i16 0, i16 3181, i16 4862, i16 2479, i16 0, i16 9284, i16 0, i16 4868, i16 2374, i16 9285, i16 4859, i16 4872, i16 4871, i16 0, i16 0, i16 0, i16 334, i16 335, i16 0, i16 0, i16 332, i16 333, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5718, i16 5712, i16 0, i16 0, i16 10752, i16 10753, i16 0, i16 0, i16 10754, i16 5716, i16 1963, i16 806, i16 5711, i16 5719, i16 5723, i16 1634, i16 3431, i16 10755, i16 2679, i16 5713, i16 10756, i16 10757, i16 5721, i16 10758, i16 5710, i16 2561, i16 0, i16 5715, i16 774, i16 3419, i16 0, i16 0, i16 9566, i16 0, i16 0, i16 5052, i16 0, i16 9567, i16 2096, i16 0, i16 0, i16 0, i16 3487, i16 0, i16 5049, i16 0, i16 0, i16 9568, i16 9569, i16 5044, i16 9570, i16 5050, i16 9571, i16 9572, i16 9573, i16 3627, i16 0, i16 2802, i16 2847, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3942, i16 7777, i16 3458, i16 0, i16 0, i16 7778, i16 7779, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7780, i16 0, i16 0, i16 0, i16 0, i16 7781, i16 7782, i16 0, i16 3943, i16 0, i16 3615, i16 7783, i16 1589, i16 0, i16 0, i16 7784, i16 0, i16 1519, i16 0, i16 0, i16 9320, i16 0, i16 0, i16 9321, i16 0, i16 4903, i16 4896, i16 0, i16 0, i16 4909, i16 0, i16 4907, i16 9322, i16 9323, i16 0, i16 9324, i16 4902, i16 9325, i16 0, i16 9326, i16 0, i16 0, i16 0, i16 4901, i16 0, i16 2673, i16 0, i16 2412, i16 9327, i16 4899, i16 0, i16 0, i16 12650, i16 12651, i16 0, i16 12652, i16 12653, i16 1557, i16 0, i16 0, i16 12654, i16 6810, i16 12655, i16 0, i16 0, i16 6811, i16 6812, i16 6813, i16 0, i16 6815, i16 6814, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4205, i16 8279, i16 0, i16 8280, i16 3151, i16 8281, i16 0, i16 0, i16 4206, i16 0, i16 4201, i16 8282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8283, i16 0, i16 0, i16 8284, i16 8285, i16 0, i16 0, i16 8286, i16 3404, i16 0, i16 0, i16 2671, i16 2855, i16 880, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2331, i16 9194, i16 0, i16 2269, i16 1413, i16 0, i16 9195, i16 0, i16 0, i16 0, i16 9196, i16 4801, i16 9197, i16 0, i16 0, i16 12666, i16 6821, i16 6820, i16 12667, i16 6822, i16 0, i16 12668, i16 0, i16 0, i16 0, i16 12669, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3085, i16 5822, i16 0, i16 0, i16 2164, i16 0, i16 0, i16 12678, i16 6825, i16 0, i16 3440, i16 0, i16 12679, i16 12680, i16 6826, i16 3531, i16 0, i16 873, i16 0, i16 0, i16 0, i16 1812, i16 12681, i16 6827, i16 1011, i16 6828, i16 12682, i16 12683, i16 12684, i16 6829, i16 0, i16 12685, i16 12686, i16 12687, i16 6831, i16 6832, i16 12688, i16 0, i16 0, i16 7827, i16 0, i16 7828, i16 0, i16 7829, i16 7830, i16 1967, i16 7831, i16 1959, i16 7832, i16 0, i16 7833, i16 7834, i16 0, i16 3977, i16 3975, i16 0, i16 3380, i16 7835, i16 3972, i16 3981, i16 3976, i16 0, i16 0, i16 0, i16 3979, i16 1535, i16 3408, i16 0, i16 7836, i16 0, i16 0, i16 9623, i16 9624, i16 0, i16 0, i16 0, i16 3486, i16 9625, i16 0, i16 0, i16 5081, i16 0, i16 0, i16 5074, i16 2801, i16 0, i16 0, i16 5077, i16 9626, i16 0, i16 0, i16 5083, i16 0, i16 0, i16 0, i16 0, i16 9627, i16 0, i16 9628, i16 3708, i16 1903, i16 0, i16 0, i16 10135, i16 5355, i16 10136, i16 5354, i16 0, i16 0, i16 0, i16 0, i16 0, i16 893, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5363, i16 3073, i16 5357, i16 10137, i16 5359, i16 0, i16 0, i16 5361, i16 2185, i16 10138, i16 0, i16 5362, i16 5360, i16 1905, i16 10139, i16 0, i16 0, i16 7585, i16 3813, i16 7586, i16 3811, i16 7587, i16 2389, i16 7588, i16 7589, i16 0, i16 0, i16 0, i16 3812, i16 3814, i16 7590, i16 0, i16 7591, i16 7603, i16 0, i16 0, i16 3816, i16 7592, i16 0, i16 0, i16 3815, i16 7593, i16 3229, i16 0, i16 0, i16 7594, i16 0, i16 0, i16 0, i16 6307, i16 11695, i16 6305, i16 0, i16 11696, i16 2575, i16 11697, i16 11698, i16 11699, i16 2282, i16 1171, i16 6306, i16 0, i16 2214, i16 0, i16 11700, i16 3607, i16 11701, i16 11702, i16 11703, i16 3691, i16 11704, i16 0, i16 0, i16 6308, i16 6319, i16 2646, i16 11705, i16 6318, i16 11706, i16 0, i16 0, i16 12974, i16 6986, i16 0, i16 0, i16 6987, i16 2843, i16 6984, i16 6983, i16 0, i16 12973, i16 0, i16 0, i16 943, i16 0, i16 0, i16 12975, i16 6995, i16 0, i16 0, i16 6994, i16 0, i16 12976, i16 12977, i16 0, i16 0, i16 924, i16 12978, i16 12979, i16 12980, i16 6992, i16 0, i16 0, i16 1714, i16 0, i16 0, i16 10326, i16 10327, i16 0, i16 0, i16 10328, i16 0, i16 0, i16 5472, i16 10329, i16 10330, i16 0, i16 0, i16 10331, i16 5473, i16 0, i16 1503, i16 1738, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10332, i16 0, i16 0, i16 0, i16 0, i16 9906, i16 0, i16 9907, i16 9908, i16 0, i16 9909, i16 0, i16 0, i16 5255, i16 9910, i16 0, i16 9911, i16 0, i16 0, i16 0, i16 0, i16 9912, i16 9913, i16 0, i16 0, i16 5257, i16 5254, i16 9914, i16 9915, i16 0, i16 3429, i16 5256, i16 5258, i16 9916, i16 3601, i16 0, i16 0, i16 4280, i16 7388, i16 0, i16 0, i16 0, i16 0, i16 7389, i16 7390, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3551, i16 0, i16 2906, i16 7391, i16 7392, i16 0, i16 0, i16 0, i16 7393, i16 0, i16 0, i16 0, i16 0, i16 1126, i16 7394, i16 0, i16 0, i16 9401, i16 9402, i16 3554, i16 4948, i16 9403, i16 9404, i16 0, i16 9405, i16 4900, i16 0, i16 0, i16 0, i16 0, i16 9406, i16 9407, i16 9408, i16 4951, i16 0, i16 0, i16 0, i16 4952, i16 9409, i16 0, i16 0, i16 0, i16 9410, i16 0, i16 860, i16 9411, i16 4954, i16 0, i16 0, i16 2749, i16 6472, i16 0, i16 0, i16 0, i16 0, i16 11939, i16 0, i16 0, i16 6475, i16 0, i16 11946, i16 11940, i16 0, i16 11941, i16 11942, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11943, i16 1893, i16 11944, i16 11945, i16 6474, i16 6473, i16 1461, i16 6476, i16 0, i16 0, i16 0, i16 9917, i16 0, i16 9918, i16 5262, i16 0, i16 9919, i16 9920, i16 5261, i16 2617, i16 2920, i16 9921, i16 0, i16 1502, i16 5260, i16 0, i16 9922, i16 9923, i16 0, i16 5259, i16 9924, i16 3488, i16 3489, i16 0, i16 0, i16 9925, i16 9926, i16 0, i16 9927, i16 5263, i16 917, i16 0, i16 0, i16 5579, i16 0, i16 5592, i16 0, i16 5582, i16 10551, i16 1287, i16 0, i16 5581, i16 5594, i16 0, i16 0, i16 0, i16 5580, i16 0, i16 2109, i16 0, i16 0, i16 10552, i16 0, i16 0, i16 0, i16 5584, i16 5585, i16 0, i16 2730, i16 0, i16 0, i16 5586, i16 10553, i16 0, i16 0, i16 7119, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 360, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6868, i16 0, i16 0, i16 0, i16 0, i16 12737, i16 0, i16 0, i16 12738, i16 12739, i16 12740, i16 6859, i16 6860, i16 0, i16 12741, i16 6861, i16 6862, i16 0, i16 12742, i16 12743, i16 0, i16 0, i16 6864, i16 12744, i16 0, i16 6863, i16 0, i16 12745, i16 12746, i16 2024, i16 0, i16 0, i16 4310, i16 8439, i16 8440, i16 0, i16 8441, i16 8442, i16 0, i16 3277, i16 0, i16 8438, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8443, i16 0, i16 0, i16 8444, i16 0, i16 0, i16 0, i16 0, i16 8445, i16 0, i16 0, i16 0, i16 8446, i16 0, i16 8447, i16 0, i16 0, i16 2523, i16 0, i16 10008, i16 5286, i16 10009, i16 0, i16 10010, i16 10011, i16 10012, i16 10013, i16 10014, i16 10015, i16 10016, i16 10017, i16 10018, i16 10019, i16 5288, i16 3619, i16 1364, i16 3093, i16 2949, i16 0, i16 0, i16 10020, i16 5289, i16 0, i16 0, i16 0, i16 0, i16 5291, i16 0, i16 0, i16 6368, i16 0, i16 0, i16 6370, i16 11784, i16 11785, i16 0, i16 6369, i16 6371, i16 11786, i16 3321, i16 6372, i16 6373, i16 0, i16 11787, i16 0, i16 11788, i16 11789, i16 6374, i16 0, i16 0, i16 0, i16 6376, i16 11790, i16 0, i16 11791, i16 11792, i16 1040, i16 2696, i16 0, i16 0, i16 0, i16 7648, i16 0, i16 2257, i16 3861, i16 2025, i16 0, i16 7649, i16 3862, i16 0, i16 2623, i16 3596, i16 2783, i16 0, i16 7650, i16 0, i16 7651, i16 7652, i16 7653, i16 0, i16 7654, i16 3935, i16 0, i16 7655, i16 0, i16 0, i16 3863, i16 7099, i16 1346, i16 7656, i16 0, i16 0, i16 0, i16 6882, i16 0, i16 6884, i16 6883, i16 0, i16 0, i16 0, i16 6885, i16 6887, i16 6886, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 745, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 735, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8685, i16 0, i16 8686, i16 2141, i16 4477, i16 2868, i16 8687, i16 8688, i16 8689, i16 8690, i16 0, i16 0, i16 8691, i16 8692, i16 0, i16 3698, i16 0, i16 4473, i16 8693, i16 8694, i16 0, i16 0, i16 4479, i16 8695, i16 1682, i16 8696, i16 2292, i16 8697, i16 8698, i16 797, i16 0, i16 0, i16 4592, i16 0, i16 8825, i16 2551, i16 4586, i16 4593, i16 4588, i16 4595, i16 4591, i16 0, i16 4590, i16 2986, i16 8826, i16 4584, i16 1026, i16 4582, i16 1296, i16 2520, i16 4578, i16 8827, i16 8828, i16 4581, i16 1611, i16 2308, i16 8829, i16 2084, i16 4589, i16 2957, i16 0, i16 0, i16 0, i16 0, i16 1265, i16 2324, i16 1901, i16 3479, i16 4245, i16 0, i16 8355, i16 8356, i16 0, i16 0, i16 8357, i16 8358, i16 1275, i16 8359, i16 1728, i16 8360, i16 8361, i16 1045, i16 906, i16 2073, i16 973, i16 8362, i16 4246, i16 3509, i16 8363, i16 0, i16 8364, i16 0, i16 0, i16 2008, i16 0, i16 0, i16 3570, i16 2894, i16 0, i16 0, i16 0, i16 0, i16 850, i16 12532, i16 2316, i16 1895, i16 0, i16 0, i16 0, i16 12533, i16 3212, i16 12534, i16 871, i16 0, i16 0, i16 0, i16 3642, i16 3546, i16 0, i16 6745, i16 12535, i16 2756, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7672, i16 0, i16 3030, i16 3233, i16 0, i16 3875, i16 7673, i16 3559, i16 3876, i16 0, i16 0, i16 0, i16 3877, i16 0, i16 2813, i16 7674, i16 7675, i16 3878, i16 0, i16 7676, i16 2258, i16 1779, i16 1487, i16 3879, i16 1820, i16 1670, i16 7677, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3834, i16 0, i16 7631, i16 2907, i16 7632, i16 0, i16 2363, i16 3836, i16 3837, i16 3013, i16 1585, i16 3686, i16 3838, i16 0, i16 0, i16 1315, i16 0, i16 0, i16 0, i16 3217, i16 2459, i16 1390, i16 2740, i16 0, i16 0, i16 0, i16 1486, i16 0, i16 7633, i16 0, i16 0, i16 0, i16 13052, i16 0, i16 0, i16 0, i16 0, i16 13053, i16 0, i16 0, i16 13051, i16 0, i16 0, i16 0, i16 13054, i16 0, i16 13055, i16 13056, i16 13057, i16 0, i16 0, i16 13058, i16 13059, i16 0, i16 0, i16 13060, i16 7032, i16 7033, i16 13061, i16 13062, i16 7034, i16 0, i16 0, i16 0, i16 9469, i16 0, i16 9470, i16 9471, i16 0, i16 0, i16 4997, i16 9472, i16 0, i16 0, i16 0, i16 9473, i16 9474, i16 1844, i16 9475, i16 3394, i16 9476, i16 4998, i16 4999, i16 0, i16 0, i16 1219, i16 0, i16 9477, i16 0, i16 5000, i16 0, i16 0, i16 0, i16 9478, i16 0, i16 2304, i16 0, i16 6423, i16 11858, i16 11859, i16 0, i16 11860, i16 1554, i16 0, i16 6420, i16 6421, i16 11861, i16 0, i16 0, i16 3668, i16 11862, i16 11864, i16 11865, i16 2648, i16 11866, i16 2352, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6424, i16 11867, i16 0, i16 6427, i16 0, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 0, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 520, i16 521, i16 522, i16 523, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 0, i16 1028, i16 1703, i16 6923, i16 6922, i16 3382, i16 0, i16 0, i16 12844, i16 0, i16 0, i16 12845, i16 12846, i16 6925, i16 6926, i16 6924, i16 0, i16 6927, i16 0, i16 0, i16 3349, i16 12847, i16 12848, i16 12849, i16 6928, i16 0, i16 1306, i16 12850, i16 0, i16 0, i16 12851, i16 0, i16 0, i16 6661, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6659, i16 0, i16 0, i16 12412, i16 12413, i16 0, i16 12414, i16 12415, i16 12416, i16 12417, i16 6660, i16 6658, i16 0, i16 2525, i16 0, i16 6662, i16 12418, i16 0, i16 12420, i16 0, i16 12419, i16 0, i16 12549, i16 6764, i16 12550, i16 6761, i16 0, i16 6762, i16 0, i16 6763, i16 6765, i16 12551, i16 0, i16 0, i16 0, i16 12552, i16 12553, i16 0, i16 0, i16 2285, i16 0, i16 0, i16 12554, i16 3464, i16 12555, i16 12556, i16 2286, i16 12557, i16 12558, i16 6766, i16 0, i16 3084, i16 0, i16 0, i16 6663, i16 0, i16 12421, i16 6665, i16 12422, i16 0, i16 0, i16 12423, i16 0, i16 12424, i16 0, i16 12425, i16 0, i16 0, i16 0, i16 0, i16 1174, i16 6664, i16 3467, i16 0, i16 12426, i16 0, i16 0, i16 0, i16 12427, i16 6676, i16 6666, i16 12428, i16 0, i16 6669, i16 12429, i16 0, i16 4105, i16 8057, i16 0, i16 1690, i16 8058, i16 2550, i16 8059, i16 8060, i16 4102, i16 2683, i16 8061, i16 0, i16 8062, i16 8063, i16 8064, i16 8065, i16 8066, i16 0, i16 8067, i16 8068, i16 8069, i16 0, i16 8070, i16 0, i16 8071, i16 8072, i16 8073, i16 8074, i16 0, i16 8075, i16 4106, i16 0, i16 6409, i16 11827, i16 0, i16 11828, i16 2647, i16 0, i16 0, i16 11829, i16 0, i16 898, i16 0, i16 0, i16 11830, i16 0, i16 0, i16 11831, i16 11832, i16 0, i16 0, i16 0, i16 11833, i16 0, i16 0, i16 0, i16 6410, i16 0, i16 0, i16 0, i16 0, i16 11834, i16 11835, i16 0, i16 3338, i16 2521, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3370, i16 0, i16 0, i16 5024, i16 0, i16 9517, i16 5025, i16 9518, i16 980, i16 9519, i16 0, i16 0, i16 0, i16 3197, i16 3470, i16 5027, i16 1876, i16 2095, i16 5020, i16 5026, i16 911, i16 0, i16 3595, i16 0, i16 7373, i16 7374, i16 0, i16 3223, i16 0, i16 7375, i16 0, i16 3714, i16 7376, i16 0, i16 2601, i16 7377, i16 7378, i16 7379, i16 3715, i16 1399, i16 0, i16 0, i16 7380, i16 3716, i16 0, i16 1182, i16 2547, i16 0, i16 1944, i16 3717, i16 0, i16 0, i16 3718, i16 0, i16 4364, i16 4365, i16 2956, i16 0, i16 0, i16 8542, i16 0, i16 4366, i16 3652, i16 3672, i16 8544, i16 8543, i16 0, i16 8545, i16 4368, i16 4367, i16 8546, i16 8547, i16 1066, i16 8548, i16 8549, i16 4369, i16 0, i16 0, i16 0, i16 4372, i16 4373, i16 8550, i16 4371, i16 8551, i16 3127, i16 0, i16 1549, i16 1851, i16 0, i16 0, i16 3079, i16 10923, i16 10924, i16 0, i16 1507, i16 3318, i16 10925, i16 5857, i16 5855, i16 0, i16 1637, i16 0, i16 1638, i16 818, i16 0, i16 1757, i16 0, i16 0, i16 0, i16 10926, i16 10927, i16 2964, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3599, i16 9227, i16 4820, i16 9228, i16 2970, i16 9229, i16 0, i16 9230, i16 0, i16 0, i16 0, i16 0, i16 4828, i16 0, i16 4815, i16 0, i16 0, i16 0, i16 765, i16 4817, i16 0, i16 9231, i16 1619, i16 9232, i16 0, i16 9233, i16 4819, i16 9234, i16 4818, i16 0, i16 4814, i16 0, i16 4879, i16 0, i16 4887, i16 0, i16 9315, i16 0, i16 7096, i16 9316, i16 0, i16 4884, i16 1620, i16 2665, i16 2411, i16 4882, i16 0, i16 4877, i16 9317, i16 0, i16 4880, i16 0, i16 0, i16 9318, i16 9319, i16 3516, i16 3357, i16 0, i16 0, i16 0, i16 4885, i16 4895, i16 0, i16 0, i16 11023, i16 11024, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11025, i16 5925, i16 1641, i16 5926, i16 3045, i16 0, i16 5940, i16 0, i16 0, i16 0, i16 11026, i16 5928, i16 11027, i16 2478, i16 2992, i16 1528, i16 5927, i16 2348, i16 11028, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5395, i16 5396, i16 0, i16 10200, i16 10201, i16 0, i16 5400, i16 5397, i16 5398, i16 5399, i16 0, i16 5401, i16 10202, i16 10203, i16 10204, i16 5402, i16 10205, i16 5403, i16 0, i16 10206, i16 0, i16 5404, i16 0, i16 5405, i16 0, i16 3016, i16 2767, i16 5406, i16 2989, i16 3115, i16 0, i16 0, i16 8468, i16 4323, i16 8469, i16 4322, i16 0, i16 0, i16 4321, i16 8470, i16 0, i16 8471, i16 2791, i16 4300, i16 0, i16 0, i16 0, i16 4329, i16 0, i16 8472, i16 8473, i16 8474, i16 8475, i16 0, i16 0, i16 0, i16 8476, i16 0, i16 8477, i16 0, i16 4325, i16 0, i16 8478, i16 0, i16 6679, i16 0, i16 12440, i16 12439, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1304, i16 3121, i16 0, i16 9655, i16 0, i16 1904, i16 0, i16 9656, i16 1678, i16 9657, i16 0, i16 9658, i16 9659, i16 0, i16 3678, i16 0, i16 5110, i16 0, i16 5122, i16 912, i16 2413, i16 9660, i16 0, i16 9661, i16 0, i16 9662, i16 9663, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8729, i16 4504, i16 0, i16 4505, i16 8730, i16 8731, i16 4494, i16 1871, i16 8732, i16 4498, i16 2491, i16 1609, i16 4480, i16 2176, i16 0, i16 0, i16 0, i16 0, i16 4518, i16 0, i16 3262, i16 0, i16 0, i16 4508, i16 4509, i16 4510, i16 0, i16 0, i16 4517, i16 8733, i16 4516, i16 0, i16 9757, i16 0, i16 0, i16 0, i16 9758, i16 9759, i16 0, i16 0, i16 3666, i16 2225, i16 0, i16 0, i16 0, i16 913, i16 0, i16 0, i16 0, i16 5174, i16 0, i16 9760, i16 9761, i16 9762, i16 9763, i16 9764, i16 5173, i16 0, i16 9765, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7458, i16 7459, i16 1127, i16 7460, i16 7461, i16 3762, i16 0, i16 3754, i16 7462, i16 7463, i16 3632, i16 7464, i16 1867, i16 7465, i16 3755, i16 7466, i16 3760, i16 7467, i16 7468, i16 7469, i16 0, i16 3763, i16 7470, i16 3756, i16 7471, i16 7472, i16 1310, i16 0, i16 790, i16 7473, i16 7474, i16 0, i16 11555, i16 6226, i16 0, i16 6231, i16 0, i16 11556, i16 3192, i16 0, i16 0, i16 6233, i16 0, i16 6232, i16 11557, i16 11558, i16 11559, i16 1103, i16 0, i16 3294, i16 6234, i16 0, i16 11560, i16 11561, i16 0, i16 11562, i16 11563, i16 11564, i16 0, i16 11565, i16 6246, i16 6236, i16 0, i16 0, i16 1572, i16 0, i16 0, i16 0, i16 0, i16 5480, i16 2711, i16 0, i16 0, i16 10359, i16 0, i16 5483, i16 1050, i16 5478, i16 10360, i16 0, i16 3075, i16 0, i16 855, i16 10361, i16 1761, i16 0, i16 3709, i16 10362, i16 0, i16 5482, i16 0, i16 0, i16 10364, i16 10365, i16 10366, i16 0, i16 6950, i16 6947, i16 6946, i16 6948, i16 12905, i16 0, i16 12906, i16 1466, i16 0, i16 12907, i16 12908, i16 0, i16 0, i16 0, i16 12909, i16 6954, i16 6953, i16 6952, i16 12910, i16 0, i16 764, i16 0, i16 12911, i16 12912, i16 12913, i16 12914, i16 0, i16 0, i16 12915, i16 0, i16 12916, i16 0, i16 2856, i16 4921, i16 0, i16 9357, i16 0, i16 4923, i16 9358, i16 0, i16 0, i16 9359, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9360, i16 4917, i16 9361, i16 0, i16 0, i16 0, i16 0, i16 4919, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9362, i16 1091, i16 0, i16 11816, i16 0, i16 11817, i16 6393, i16 6394, i16 0, i16 6396, i16 2440, i16 11818, i16 6395, i16 1191, i16 0, i16 6398, i16 0, i16 6397, i16 6399, i16 0, i16 11819, i16 6401, i16 6403, i16 0, i16 6404, i16 11820, i16 0, i16 0, i16 0, i16 11821, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6188, i16 6187, i16 6118, i16 0, i16 0, i16 0, i16 6192, i16 11497, i16 0, i16 0, i16 0, i16 0, i16 11498, i16 11499, i16 0, i16 11500, i16 6189, i16 11501, i16 0, i16 0, i16 11502, i16 6190, i16 0, i16 0, i16 6191, i16 11503, i16 6193, i16 11504, i16 0, i16 0, i16 0, i16 0, i16 8237, i16 0, i16 8238, i16 8239, i16 0, i16 4188, i16 0, i16 8240, i16 1827, i16 8241, i16 1826, i16 0, i16 8242, i16 0, i16 0, i16 770, i16 1537, i16 8243, i16 2260, i16 794, i16 0, i16 0, i16 0, i16 0, i16 4192, i16 4193, i16 0, i16 4190, i16 8244, i16 8245, i16 8246, i16 0, i16 4912, i16 4937, i16 4936, i16 0, i16 0, i16 9383, i16 0, i16 9385, i16 9384, i16 0, i16 0, i16 9386, i16 0, i16 0, i16 0, i16 9387, i16 4942, i16 0, i16 3665, i16 9388, i16 9389, i16 9390, i16 0, i16 0, i16 0, i16 4945, i16 1400, i16 9391, i16 9392, i16 4941, i16 4943, i16 0, i16 12592, i16 0, i16 6789, i16 12593, i16 12594, i16 6790, i16 12595, i16 6791, i16 12596, i16 12597, i16 6792, i16 12598, i16 12599, i16 12600, i16 0, i16 12601, i16 12602, i16 0, i16 1179, i16 12603, i16 0, i16 0, i16 12604, i16 12605, i16 12606, i16 0, i16 12610, i16 6793, i16 12607, i16 12608, i16 0, i16 0, i16 819, i16 0, i16 12066, i16 12067, i16 12068, i16 0, i16 12069, i16 12070, i16 0, i16 1648, i16 0, i16 12064, i16 0, i16 3685, i16 0, i16 0, i16 0, i16 12079, i16 0, i16 0, i16 12071, i16 0, i16 12072, i16 12073, i16 12074, i16 0, i16 6560, i16 12075, i16 12076, i16 0, i16 12077, i16 0, i16 6451, i16 11911, i16 11912, i16 6454, i16 6453, i16 0, i16 6452, i16 0, i16 11913, i16 6456, i16 6455, i16 0, i16 3463, i16 0, i16 0, i16 11914, i16 6458, i16 11915, i16 6457, i16 6459, i16 11916, i16 0, i16 0, i16 0, i16 6460, i16 11917, i16 11918, i16 0, i16 11919, i16 11920, i16 0, i16 0, i16 1332, i16 9520, i16 0, i16 5017, i16 5022, i16 9521, i16 0, i16 0, i16 2333, i16 2988, i16 0, i16 3072, i16 9522, i16 0, i16 9523, i16 9524, i16 9525, i16 9526, i16 5019, i16 9527, i16 3284, i16 9528, i16 5021, i16 0, i16 5030, i16 9529, i16 5028, i16 9530, i16 5023, i16 0, i16 0, i16 0, i16 6708, i16 12480, i16 0, i16 12481, i16 12482, i16 12483, i16 0, i16 6709, i16 0, i16 1754, i16 0, i16 12484, i16 0, i16 6710, i16 6711, i16 0, i16 12485, i16 3324, i16 12486, i16 0, i16 0, i16 0, i16 12487, i16 12488, i16 12489, i16 12490, i16 2386, i16 12491, i16 12492, i16 0, i16 749, i16 0, i16 12852, i16 0, i16 12853, i16 0, i16 12854, i16 12855, i16 0, i16 12856, i16 0, i16 12857, i16 12858, i16 12859, i16 12860, i16 12861, i16 3664, i16 0, i16 0, i16 0, i16 12862, i16 6929, i16 12863, i16 0, i16 12864, i16 12865, i16 12866, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12867, i16 0, i16 10805, i16 10806, i16 0, i16 0, i16 10807, i16 5742, i16 5750, i16 0, i16 5758, i16 5757, i16 10808, i16 0, i16 3373, i16 10809, i16 10810, i16 1414, i16 0, i16 0, i16 10811, i16 0, i16 0, i16 0, i16 0, i16 10812, i16 5756, i16 0, i16 5760, i16 5759, i16 5763, i16 10813, i16 5765, i16 0, i16 2872, i16 2230, i16 12031, i16 12032, i16 2588, i16 0, i16 1397, i16 0, i16 6536, i16 3494, i16 870, i16 12033, i16 3244, i16 998, i16 6531, i16 6532, i16 6533, i16 6534, i16 2840, i16 2534, i16 812, i16 6538, i16 0, i16 6539, i16 7097, i16 0, i16 12034, i16 2466, i16 12035, i16 6540, i16 0, i16 0, i16 6969, i16 12928, i16 12929, i16 6968, i16 6967, i16 12930, i16 12931, i16 12932, i16 12933, i16 12934, i16 0, i16 0, i16 3136, i16 6965, i16 828, i16 6970, i16 12935, i16 6972, i16 0, i16 0, i16 12936, i16 12937, i16 12938, i16 0, i16 1106, i16 6951, i16 862, i16 0, i16 12939, i16 6974, i16 0, i16 0, i16 9018, i16 4694, i16 4695, i16 0, i16 9019, i16 0, i16 3213, i16 4241, i16 2287, i16 9020, i16 0, i16 3139, i16 0, i16 1741, i16 0, i16 3070, i16 3036, i16 9021, i16 0, i16 0, i16 9022, i16 0, i16 2764, i16 9023, i16 3598, i16 0, i16 4697, i16 1921, i16 9024, i16 0, i16 4698, i16 0, i16 1341, i16 12391, i16 0, i16 6651, i16 6645, i16 12392, i16 12393, i16 6644, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12395, i16 12396, i16 12394, i16 12397, i16 12398, i16 0, i16 12399, i16 0, i16 0, i16 0, i16 6462, i16 11921, i16 0, i16 0, i16 0, i16 0, i16 11922, i16 0, i16 11923, i16 6461, i16 2195, i16 6463, i16 11924, i16 11925, i16 1386, i16 6464, i16 6466, i16 0, i16 11926, i16 0, i16 11927, i16 0, i16 0, i16 0, i16 0, i16 11928, i16 11929, i16 0, i16 0, i16 6467, i16 0, i16 0, i16 10814, i16 1807, i16 5761, i16 0, i16 0, i16 10815, i16 10816, i16 5766, i16 5767, i16 10817, i16 0, i16 5768, i16 10818, i16 5774, i16 2746, i16 5770, i16 10819, i16 5769, i16 5771, i16 5772, i16 10820, i16 5773, i16 0, i16 10821, i16 0, i16 10822, i16 5775, i16 5776, i16 10823, i16 10824, i16 0, i16 0, i16 11328, i16 6096, i16 0, i16 0, i16 0, i16 0, i16 11329, i16 0, i16 11330, i16 0, i16 0, i16 0, i16 3557, i16 0, i16 5430, i16 6098, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11331, i16 0, i16 11332, i16 0, i16 11333, i16 0, i16 11334, i16 11335, i16 0, i16 6099, i16 0, i16 8772, i16 8773, i16 4542, i16 0, i16 8776, i16 4541, i16 8774, i16 0, i16 8775, i16 0, i16 0, i16 8777, i16 8778, i16 0, i16 8779, i16 0, i16 0, i16 2633, i16 0, i16 4545, i16 0, i16 4543, i16 4533, i16 1495, i16 0, i16 4544, i16 0, i16 4548, i16 4547, i16 4549, i16 4546, i16 0, i16 9798, i16 0, i16 0, i16 0, i16 9799, i16 9800, i16 9801, i16 0, i16 3656, i16 9802, i16 9803, i16 5194, i16 0, i16 2338, i16 0, i16 9804, i16 0, i16 9805, i16 0, i16 0, i16 5190, i16 5195, i16 9806, i16 0, i16 915, i16 9807, i16 0, i16 9808, i16 0, i16 9809, i16 0, i16 0, i16 2122, i16 6364, i16 11773, i16 11774, i16 0, i16 11775, i16 0, i16 11776, i16 11777, i16 1666, i16 3724, i16 6365, i16 11778, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11779, i16 0, i16 11780, i16 11781, i16 0, i16 6366, i16 3126, i16 6367, i16 11782, i16 6375, i16 0, i16 11783, i16 0, i16 0, i16 1355, i16 1412, i16 5657, i16 0, i16 0, i16 10668, i16 10669, i16 0, i16 3209, i16 0, i16 2227, i16 0, i16 3393, i16 0, i16 10670, i16 5658, i16 0, i16 3584, i16 0, i16 10671, i16 2991, i16 0, i16 2381, i16 2927, i16 0, i16 0, i16 2012, i16 0, i16 0, i16 10672, i16 777, i16 0, i16 13131, i16 0, i16 13132, i16 13133, i16 13134, i16 13135, i16 13136, i16 0, i16 0, i16 7078, i16 5519, i16 0, i16 0, i16 6400, i16 6795, i16 0, i16 0, i16 7079, i16 13137, i16 7080, i16 13138, i16 13139, i16 13140, i16 13141, i16 0, i16 13142, i16 0, i16 0, i16 13143, i16 13144, i16 7082, i16 0, i16 12365, i16 0, i16 12366, i16 12367, i16 0, i16 12368, i16 1054, i16 12369, i16 12375, i16 0, i16 12370, i16 6638, i16 6639, i16 2660, i16 0, i16 6637, i16 0, i16 0, i16 0, i16 12371, i16 12372, i16 12373, i16 0, i16 0, i16 6641, i16 12374, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1872, i16 4600, i16 8835, i16 8836, i16 0, i16 0, i16 1835, i16 4601, i16 781, i16 8837, i16 8838, i16 4596, i16 8839, i16 0, i16 0, i16 8840, i16 2634, i16 0, i16 8841, i16 0, i16 0, i16 8842, i16 0, i16 8843, i16 1298, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1329, i16 0, i16 1618, i16 1119, i16 0, i16 0, i16 0, i16 0, i16 9199, i16 9198, i16 4803, i16 1111, i16 4809, i16 9200, i16 9201, i16 0, i16 9202, i16 9203, i16 9204, i16 4806, i16 9205, i16 2332, i16 0, i16 0, i16 0, i16 1070, i16 1697, i16 0, i16 9206, i16 1069, i16 1732, i16 0, i16 9207, i16 0, i16 6996, i16 12990, i16 12991, i16 6993, i16 12988, i16 6999, i16 12992, i16 7000, i16 0, i16 12993, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7005, i16 7004, i16 0, i16 12994, i16 12995, i16 0, i16 0, i16 0, i16 0, i16 7006, i16 0, i16 0, i16 852, i16 7001, i16 7002, i16 12996, i16 0, i16 4182, i16 2908, i16 3063, i16 3426, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2912, i16 8220, i16 8221, i16 4191, i16 8222, i16 0, i16 0, i16 0, i16 8223, i16 1239, i16 0, i16 8224, i16 3508, i16 8225, i16 0, i16 3392, i16 0, i16 4286, i16 0, i16 4183, i16 0, i16 8226, i16 0, i16 1880, i16 0, i16 0, i16 0, i16 5494, i16 5489, i16 10378, i16 10379, i16 10380, i16 5495, i16 5490, i16 10381, i16 0, i16 10382, i16 0, i16 3057, i16 5488, i16 10383, i16 10384, i16 5491, i16 10385, i16 10386, i16 0, i16 0, i16 0, i16 5498, i16 10388, i16 0, i16 0, i16 0, i16 10389, i16 0, i16 9560, i16 0, i16 5043, i16 5045, i16 9561, i16 865, i16 9562, i16 0, i16 1623, i16 3677, i16 0, i16 1056, i16 0, i16 3161, i16 9563, i16 9564, i16 0, i16 0, i16 0, i16 3536, i16 0, i16 0, i16 1031, i16 2182, i16 5047, i16 0, i16 0, i16 9565, i16 0, i16 0, i16 0, i16 0, i16 12376, i16 0, i16 6647, i16 12377, i16 12378, i16 12379, i16 12380, i16 6650, i16 12381, i16 12382, i16 12383, i16 12384, i16 12385, i16 0, i16 0, i16 6649, i16 2732, i16 0, i16 12386, i16 0, i16 0, i16 6642, i16 6643, i16 6646, i16 12387, i16 0, i16 0, i16 12388, i16 6648, i16 12389, i16 12390, i16 0, i16 11868, i16 0, i16 0, i16 11869, i16 11870, i16 11871, i16 0, i16 6425, i16 6426, i16 3528, i16 11872, i16 0, i16 0, i16 0, i16 2820, i16 6430, i16 11873, i16 0, i16 0, i16 11874, i16 0, i16 11875, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6428, i16 6429, i16 6431, i16 0, i16 12126, i16 2216, i16 6569, i16 12127, i16 6570, i16 0, i16 12128, i16 0, i16 6571, i16 3550, i16 0, i16 1990, i16 12129, i16 0, i16 0, i16 0, i16 0, i16 6573, i16 6572, i16 12130, i16 1649, i16 0, i16 1674, i16 1811, i16 12131, i16 12132, i16 12133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4703, i16 9033, i16 4701, i16 4704, i16 3590, i16 4702, i16 0, i16 9034, i16 9035, i16 0, i16 2340, i16 4705, i16 0, i16 9036, i16 2455, i16 9037, i16 0, i16 4706, i16 0, i16 9038, i16 0, i16 9039, i16 1211, i16 9040, i16 4708, i16 0, i16 4707, i16 0, i16 0, i16 0, i16 9041, i16 0, i16 11104, i16 11105, i16 5986, i16 0, i16 0, i16 0, i16 0, i16 826, i16 0, i16 0, i16 5977, i16 11106, i16 11107, i16 11108, i16 5976, i16 11109, i16 5971, i16 5970, i16 11110, i16 5968, i16 5967, i16 2598, i16 11111, i16 2528, i16 5973, i16 11112, i16 0, i16 11113, i16 11114, i16 0, i16 0, i16 0, i16 11364, i16 0, i16 6107, i16 2941, i16 0, i16 11365, i16 11366, i16 11367, i16 6108, i16 6109, i16 6119, i16 0, i16 11368, i16 0, i16 6113, i16 6116, i16 11369, i16 0, i16 11370, i16 11371, i16 11372, i16 6112, i16 11373, i16 11374, i16 11375, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11376, i16 0, i16 12134, i16 6576, i16 12135, i16 0, i16 12136, i16 12137, i16 2037, i16 0, i16 6575, i16 12138, i16 6574, i16 0, i16 2510, i16 12139, i16 0, i16 1576, i16 12140, i16 2284, i16 12141, i16 12142, i16 12143, i16 0, i16 3017, i16 12144, i16 0, i16 0, i16 0, i16 1992, i16 0, i16 12145, i16 0, i16 0, i16 4458, i16 8665, i16 4461, i16 4463, i16 0, i16 8666, i16 0, i16 8667, i16 1902, i16 8668, i16 4469, i16 2705, i16 4459, i16 8669, i16 0, i16 0, i16 8670, i16 4467, i16 8671, i16 1022, i16 8672, i16 4465, i16 4466, i16 8673, i16 0, i16 4462, i16 4464, i16 0, i16 8674, i16 8675, i16 1568, i16 0, i16 7018, i16 7024, i16 13030, i16 7017, i16 0, i16 7022, i16 13031, i16 0, i16 13032, i16 13033, i16 0, i16 0, i16 0, i16 0, i16 7023, i16 0, i16 0, i16 0, i16 7026, i16 13034, i16 13035, i16 13036, i16 13037, i16 0, i16 7025, i16 13038, i16 0, i16 0, i16 0, i16 13039, i16 13040, i16 0, i16 10858, i16 10859, i16 5804, i16 1421, i16 0, i16 10860, i16 0, i16 2345, i16 1248, i16 10861, i16 0, i16 0, i16 10862, i16 5808, i16 5805, i16 0, i16 0, i16 5806, i16 0, i16 10863, i16 0, i16 5809, i16 0, i16 5810, i16 5807, i16 0, i16 0, i16 10864, i16 848, i16 0, i16 10865, i16 0, i16 3180, i16 2325, i16 0, i16 1918, i16 4261, i16 2074, i16 4262, i16 4263, i16 796, i16 2463, i16 2205, i16 8379, i16 4264, i16 2832, i16 2075, i16 0, i16 2076, i16 0, i16 4265, i16 0, i16 0, i16 2326, i16 8380, i16 0, i16 0, i16 2077, i16 0, i16 0, i16 0, i16 8381, i16 8382, i16 0, i16 12400, i16 12401, i16 6655, i16 12402, i16 0, i16 0, i16 6656, i16 12403, i16 12404, i16 0, i16 0, i16 0, i16 12405, i16 12406, i16 12407, i16 6657, i16 0, i16 0, i16 6654, i16 6653, i16 12408, i16 12409, i16 12410, i16 2127, i16 2823, i16 6652, i16 0, i16 0, i16 0, i16 0, i16 12411, i16 0, i16 8562, i16 8563, i16 8564, i16 8565, i16 3456, i16 1522, i16 1541, i16 8566, i16 4392, i16 0, i16 8567, i16 8568, i16 4393, i16 8569, i16 4399, i16 8570, i16 1942, i16 0, i16 0, i16 8571, i16 2630, i16 8572, i16 1324, i16 4394, i16 0, i16 0, i16 8573, i16 3106, i16 8574, i16 2569, i16 8575, i16 0, i16 12146, i16 6577, i16 0, i16 2124, i16 0, i16 12147, i16 0, i16 12148, i16 0, i16 6580, i16 6578, i16 12149, i16 12150, i16 12151, i16 6579, i16 12152, i16 12153, i16 12154, i16 12155, i16 6582, i16 6581, i16 12156, i16 0, i16 2151, i16 0, i16 6583, i16 12157, i16 12158, i16 12159, i16 0, i16 12160, i16 0, i16 3960, i16 7810, i16 1256, i16 1065, i16 0, i16 0, i16 0, i16 1662, i16 1255, i16 2688, i16 844, i16 2830, i16 3407, i16 1592, i16 3560, i16 2758, i16 1591, i16 0, i16 7811, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7812, i16 1418, i16 0, i16 3969, i16 0, i16 1376, i16 0, i16 3705, i16 11299, i16 0, i16 0, i16 0, i16 0, i16 11300, i16 0, i16 6080, i16 11301, i16 11302, i16 0, i16 3556, i16 11303, i16 6082, i16 6084, i16 0, i16 0, i16 0, i16 0, i16 6085, i16 0, i16 0, i16 11305, i16 0, i16 11306, i16 0, i16 6088, i16 6086, i16 0, i16 11307, i16 0, i16 10363, i16 0, i16 5484, i16 10367, i16 0, i16 0, i16 3232, i16 10368, i16 2306, i16 5486, i16 0, i16 10369, i16 10370, i16 0, i16 5487, i16 10371, i16 10372, i16 10373, i16 10374, i16 0, i16 5485, i16 0, i16 0, i16 0, i16 0, i16 1073, i16 10375, i16 5493, i16 10376, i16 5492, i16 10377, i16 0, i16 12670, i16 1233, i16 12671, i16 0, i16 12672, i16 12673, i16 12674, i16 0, i16 6823, i16 12675, i16 6824, i16 0, i16 3910, i16 4959, i16 3052, i16 0, i16 0, i16 836, i16 12676, i16 772, i16 0, i16 12677, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1863, i16 3299, i16 2155, i16 0, i16 0, i16 1408, i16 6500, i16 6501, i16 6502, i16 11984, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8328, i16 2139, i16 0, i16 0, i16 8329, i16 0, i16 0, i16 0, i16 0, i16 4225, i16 0, i16 2685, i16 8330, i16 0, i16 0, i16 876, i16 0, i16 4223, i16 0, i16 8324, i16 0, i16 4226, i16 0, i16 8331, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4227, i16 0, i16 0, i16 4489, i16 8720, i16 0, i16 0, i16 0, i16 0, i16 4497, i16 4496, i16 0, i16 8721, i16 8722, i16 4501, i16 0, i16 0, i16 0, i16 8723, i16 8724, i16 0, i16 0, i16 4502, i16 8725, i16 8726, i16 8727, i16 0, i16 8728, i16 0, i16 0, i16 4500, i16 4503, i16 4495, i16 4499, i16 0, i16 8076, i16 2221, i16 8077, i16 0, i16 0, i16 0, i16 0, i16 4104, i16 4107, i16 0, i16 1434, i16 8078, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4108, i16 8079, i16 8088, i16 0, i16 8080, i16 0, i16 8081, i16 8082, i16 0, i16 8083, i16 8084, i16 8085, i16 8086, i16 0, i16 12940, i16 0, i16 12941, i16 12942, i16 12943, i16 6973, i16 6971, i16 2544, i16 12944, i16 12945, i16 0, i16 0, i16 0, i16 12946, i16 12947, i16 12948, i16 0, i16 3363, i16 12949, i16 12950, i16 0, i16 12951, i16 3623, i16 12952, i16 0, i16 6975, i16 12953, i16 12960, i16 12954, i16 12955, i16 12956, i16 0, i16 654, i16 7143, i16 7144, i16 7145, i16 7146, i16 7147, i16 7148, i16 7149, i16 7150, i16 7151, i16 7152, i16 7153, i16 0, i16 7154, i16 7155, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 0, i16 1423, i16 6557, i16 0, i16 6558, i16 12078, i16 0, i16 0, i16 3179, i16 0, i16 0, i16 12081, i16 0, i16 1079, i16 0, i16 12082, i16 12083, i16 0, i16 0, i16 0, i16 12084, i16 3496, i16 12080, i16 1340, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2771, i16 12085, i16 12086, i16 0, i16 10127, i16 5350, i16 0, i16 0, i16 10128, i16 5345, i16 5346, i16 0, i16 5349, i16 5348, i16 3100, i16 0, i16 0, i16 2377, i16 2376, i16 10129, i16 1246, i16 10130, i16 10131, i16 5351, i16 10132, i16 0, i16 0, i16 0, i16 10133, i16 5352, i16 0, i16 10134, i16 5353, i16 0, i16 0, i16 0, i16 11407, i16 0, i16 11408, i16 0, i16 6142, i16 0, i16 0, i16 11409, i16 6143, i16 0, i16 0, i16 0, i16 0, i16 11410, i16 11411, i16 0, i16 11412, i16 11413, i16 0, i16 6138, i16 0, i16 0, i16 6140, i16 0, i16 11414, i16 11415, i16 6141, i16 11416, i16 11417, i16 11418, i16 6139, i16 0, i16 5010, i16 5007, i16 3535, i16 0, i16 9507, i16 9508, i16 9509, i16 2657, i16 9510, i16 0, i16 0, i16 2870, i16 5008, i16 0, i16 0, i16 5016, i16 0, i16 5015, i16 1406, i16 9511, i16 9512, i16 946, i16 9513, i16 9514, i16 1712, i16 5009, i16 5011, i16 9515, i16 0, i16 0, i16 9516, i16 0, i16 8851, i16 8852, i16 8853, i16 8854, i16 0, i16 8855, i16 0, i16 0, i16 2447, i16 8856, i16 8857, i16 1790, i16 4606, i16 8858, i16 4608, i16 4604, i16 0, i16 8859, i16 8860, i16 8861, i16 3254, i16 0, i16 2654, i16 8862, i16 0, i16 0, i16 8863, i16 2403, i16 0, i16 0, i16 0, i16 0, i16 11163, i16 0, i16 6002, i16 2839, i16 0, i16 11164, i16 6007, i16 0, i16 0, i16 11165, i16 6004, i16 3291, i16 6010, i16 809, i16 11166, i16 0, i16 11167, i16 0, i16 5998, i16 0, i16 11168, i16 0, i16 0, i16 0, i16 11169, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3228, i16 2651, i16 1687, i16 0, i16 1655, i16 2038, i16 12619, i16 2215, i16 0, i16 12620, i16 0, i16 6801, i16 12622, i16 12623, i16 6800, i16 3505, i16 1193, i16 3051, i16 2873, i16 12624, i16 0, i16 12625, i16 2247, i16 3611, i16 12621, i16 1462, i16 0, i16 12626, i16 0, i16 12627, i16 0, i16 0, i16 4765, i16 0, i16 0, i16 0, i16 9146, i16 4768, i16 9147, i16 9148, i16 2244, i16 0, i16 0, i16 9149, i16 0, i16 3562, i16 786, i16 1749, i16 2465, i16 0, i16 1934, i16 9150, i16 9151, i16 2144, i16 0, i16 0, i16 4771, i16 0, i16 0, i16 2765, i16 9152, i16 4769, i16 2448, i16 0, i16 3230, i16 8167, i16 0, i16 8165, i16 4143, i16 0, i16 2568, i16 8168, i16 0, i16 1018, i16 0, i16 2138, i16 8169, i16 8170, i16 0, i16 8171, i16 4145, i16 8172, i16 4144, i16 8173, i16 1663, i16 8174, i16 4146, i16 4148, i16 4147, i16 8175, i16 0, i16 4150, i16 8176, i16 4139, i16 4152, i16 0, i16 6046, i16 0, i16 0, i16 0, i16 0, i16 11204, i16 0, i16 11205, i16 11206, i16 11207, i16 0, i16 0, i16 6024, i16 0, i16 11208, i16 0, i16 11209, i16 1114, i16 0, i16 11210, i16 0, i16 0, i16 0, i16 2149, i16 6035, i16 11211, i16 6040, i16 2426, i16 11212, i16 11213, i16 6036, i16 0, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 0, i16 6047, i16 11241, i16 11242, i16 11243, i16 11244, i16 2678, i16 11245, i16 0, i16 0, i16 11246, i16 11247, i16 6052, i16 839, i16 0, i16 11248, i16 0, i16 0, i16 11229, i16 11249, i16 11250, i16 2439, i16 11251, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3224, i16 0, i16 11252, i16 0, i16 9892, i16 1333, i16 5243, i16 5245, i16 0, i16 5244, i16 9893, i16 0, i16 9894, i16 0, i16 0, i16 9895, i16 0, i16 5246, i16 0, i16 1546, i16 0, i16 5247, i16 0, i16 0, i16 9896, i16 9897, i16 1382, i16 9898, i16 2375, i16 0, i16 1684, i16 0, i16 0, i16 0, i16 9899, i16 0, i16 10918, i16 0, i16 0, i16 5849, i16 5851, i16 5850, i16 3006, i16 10919, i16 2902, i16 0, i16 3689, i16 3010, i16 0, i16 10920, i16 0, i16 0, i16 0, i16 0, i16 5853, i16 0, i16 0, i16 2112, i16 0, i16 3105, i16 0, i16 5854, i16 5852, i16 10921, i16 1167, i16 10922, i16 0, i16 0, i16 7848, i16 3986, i16 0, i16 3995, i16 3988, i16 7849, i16 7850, i16 3992, i16 7851, i16 7852, i16 3993, i16 3989, i16 7853, i16 7854, i16 4022, i16 0, i16 7855, i16 1758, i16 1044, i16 0, i16 0, i16 0, i16 7856, i16 3987, i16 7857, i16 7858, i16 7859, i16 3997, i16 831, i16 3996, i16 7860, i16 0, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 458, i16 459, i16 460, i16 461, i16 0, i16 3248, i16 8554, i16 4385, i16 3673, i16 0, i16 8555, i16 8556, i16 8557, i16 4386, i16 3221, i16 4389, i16 3711, i16 3727, i16 8558, i16 1889, i16 2898, i16 4390, i16 0, i16 1276, i16 2629, i16 835, i16 4391, i16 3195, i16 1607, i16 8559, i16 0, i16 2579, i16 8560, i16 8561, i16 0, i16 2704, i16 0, i16 3000, i16 0, i16 12729, i16 2481, i16 895, i16 1387, i16 0, i16 1388, i16 12730, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2614, i16 6858, i16 1389, i16 12731, i16 12732, i16 1012, i16 0, i16 0, i16 6857, i16 12733, i16 12734, i16 6855, i16 12735, i16 6856, i16 12736, i16 6854, i16 0, i16 3513, i16 4657, i16 0, i16 8965, i16 4653, i16 0, i16 4654, i16 0, i16 8966, i16 8967, i16 8968, i16 8969, i16 2407, i16 8970, i16 0, i16 8971, i16 8972, i16 4652, i16 0, i16 4587, i16 8973, i16 0, i16 8974, i16 4656, i16 0, i16 4651, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6334, i16 11726, i16 11727, i16 11728, i16 11729, i16 11730, i16 0, i16 11731, i16 6338, i16 0, i16 0, i16 6335, i16 11736, i16 6337, i16 6336, i16 0, i16 0, i16 11732, i16 11733, i16 11734, i16 0, i16 6339, i16 0, i16 1890, i16 11735, i16 6341, i16 6340, i16 3167, i16 0, i16 11737, i16 6343, i16 0, i16 11198, i16 6026, i16 0, i16 6021, i16 11199, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2114, i16 0, i16 0, i16 0, i16 0, i16 1982, i16 0, i16 11200, i16 11201, i16 1885, i16 11202, i16 0, i16 0, i16 0, i16 3433, i16 0, i16 0, i16 3134, i16 0, i16 11203, i16 6037, i16 0, i16 6591, i16 0, i16 2689, i16 12170, i16 12171, i16 3336, i16 1401, i16 0, i16 12172, i16 12173, i16 0, i16 12174, i16 12175, i16 12176, i16 12177, i16 12178, i16 12179, i16 0, i16 0, i16 0, i16 6594, i16 6595, i16 12180, i16 0, i16 12181, i16 0, i16 12182, i16 6593, i16 12183, i16 0, i16 6597, i16 0, i16 3009, i16 4355, i16 3219, i16 4356, i16 0, i16 0, i16 0, i16 8521, i16 0, i16 8522, i16 8523, i16 8524, i16 8525, i16 8526, i16 0, i16 8527, i16 0, i16 1140, i16 3220, i16 2922, i16 4358, i16 4359, i16 0, i16 1603, i16 1141, i16 4360, i16 1521, i16 3507, i16 3480, i16 1207, i16 4362, i16 0, i16 3526, i16 0, i16 6257, i16 0, i16 0, i16 3193, i16 2945, i16 6258, i16 11600, i16 6259, i16 1508, i16 0, i16 11601, i16 0, i16 1227, i16 11602, i16 0, i16 0, i16 6260, i16 11603, i16 11604, i16 1854, i16 2940, i16 6261, i16 0, i16 1075, i16 11605, i16 11606, i16 0, i16 0, i16 11607, i16 0, i16 3783, i16 7516, i16 3268, i16 2576, i16 3779, i16 1484, i16 7517, i16 3776, i16 3784, i16 3778, i16 3614, i16 3785, i16 3692, i16 7518, i16 0, i16 7519, i16 0, i16 7520, i16 7521, i16 0, i16 7522, i16 1379, i16 0, i16 0, i16 1483, i16 0, i16 7546, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9159, i16 0, i16 0, i16 9160, i16 4783, i16 0, i16 3091, i16 0, i16 4774, i16 0, i16 4780, i16 4779, i16 0, i16 9161, i16 9162, i16 2296, i16 9163, i16 0, i16 9164, i16 0, i16 3360, i16 9165, i16 3616, i16 9166, i16 9167, i16 3354, i16 9168, i16 977, i16 1841, i16 0, i16 0, i16 0, i16 7112, i16 302, i16 303, i16 7120, i16 0, i16 7113, i16 309, i16 236, i16 7117, i16 7116, i16 0, i16 340, i16 0, i16 7118, i16 7106, i16 296, i16 283, i16 0, i16 0, i16 234, i16 0, i16 367, i16 0, i16 7103, i16 0, i16 7115, i16 0, i16 0, i16 0, i16 0, i16 7114, i16 0, i16 8138, i16 4127, i16 0, i16 8139, i16 0, i16 0, i16 8140, i16 8141, i16 925, i16 0, i16 2741, i16 0, i16 0, i16 0, i16 0, i16 4129, i16 0, i16 4125, i16 0, i16 0, i16 2203, i16 0, i16 0, i16 8142, i16 4133, i16 0, i16 0, i16 8143, i16 0, i16 2013, i16 8144, i16 0, i16 972, i16 4211, i16 0, i16 8307, i16 0, i16 8308, i16 0, i16 8309, i16 1900, i16 0, i16 4210, i16 1492, i16 0, i16 0, i16 8310, i16 4224, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4217, i16 4214, i16 0, i16 0, i16 8311, i16 0, i16 8312, i16 0, i16 0, i16 0, i16 0, i16 6865, i16 12747, i16 12748, i16 12749, i16 6867, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12750, i16 12751, i16 0, i16 1234, i16 6866, i16 12752, i16 12753, i16 2434, i16 1516, i16 0, i16 0, i16 12754, i16 0, i16 0, i16 6869, i16 0, i16 0, i16 0, i16 0, i16 12755, i16 0, i16 0, i16 10449, i16 0, i16 0, i16 0, i16 0, i16 1305, i16 5518, i16 10450, i16 10451, i16 5520, i16 10452, i16 0, i16 0, i16 5521, i16 10453, i16 2916, i16 10454, i16 0, i16 5522, i16 10455, i16 0, i16 0, i16 0, i16 10456, i16 5523, i16 5524, i16 10457, i16 0, i16 1366, i16 984, i16 2850, i16 0, i16 9683, i16 9684, i16 0, i16 2032, i16 0, i16 5139, i16 0, i16 9685, i16 0, i16 0, i16 0, i16 9686, i16 5132, i16 2637, i16 5129, i16 2682, i16 0, i16 0, i16 0, i16 5164, i16 0, i16 0, i16 0, i16 5126, i16 0, i16 5125, i16 0, i16 5134, i16 9687, i16 9688, i16 0, i16 0, i16 12499, i16 840, i16 2211, i16 2059, i16 1178, i16 6721, i16 0, i16 0, i16 0, i16 2977, i16 0, i16 6723, i16 0, i16 12500, i16 0, i16 841, i16 0, i16 6722, i16 2661, i16 12501, i16 3610, i16 2824, i16 6716, i16 3571, i16 0, i16 1514, i16 12502, i16 12503, i16 3530, i16 12504, i16 12505, i16 0, i16 6357, i16 0, i16 0, i16 0, i16 11760, i16 2819, i16 11761, i16 6359, i16 11762, i16 3296, i16 11763, i16 6360, i16 0, i16 6361, i16 11764, i16 6362, i16 11765, i16 0, i16 11766, i16 11767, i16 6363, i16 0, i16 11768, i16 11769, i16 11772, i16 2871, i16 11770, i16 0, i16 11771, i16 0, i16 0, i16 0, i16 11480, i16 0, i16 11481, i16 0, i16 6158, i16 11482, i16 0, i16 0, i16 11483, i16 11484, i16 11485, i16 0, i16 6178, i16 6182, i16 6177, i16 11486, i16 6184, i16 11488, i16 11489, i16 11490, i16 6186, i16 6185, i16 0, i16 11491, i16 11487, i16 11492, i16 11493, i16 11494, i16 0, i16 11495, i16 11496, i16 0, i16 12506, i16 12507, i16 12508, i16 12509, i16 1398, i16 3585, i16 0, i16 1411, i16 12510, i16 2503, i16 5873, i16 0, i16 6724, i16 1039, i16 2234, i16 0, i16 12511, i16 0, i16 0, i16 1081, i16 6726, i16 12512, i16 6727, i16 6725, i16 1471, i16 12513, i16 1746, i16 2128, i16 12514, i16 0, i16 12515, i16 0, i16 3548, i16 773, i16 5703, i16 0, i16 10730, i16 1290, i16 10731, i16 5700, i16 0, i16 10732, i16 0, i16 0, i16 0, i16 5701, i16 0, i16 10733, i16 2812, i16 5699, i16 5696, i16 0, i16 1035, i16 2317, i16 0, i16 10734, i16 1505, i16 10735, i16 10736, i16 0, i16 5708, i16 0, i16 10737, i16 0, i16 13021, i16 0, i16 0, i16 7014, i16 0, i16 0, i16 0, i16 0, i16 7015, i16 13022, i16 7010, i16 13023, i16 0, i16 13024, i16 6990, i16 0, i16 13025, i16 7016, i16 0, i16 2690, i16 13026, i16 0, i16 0, i16 7020, i16 13027, i16 7021, i16 7019, i16 13028, i16 0, i16 0, i16 13029, i16 0, i16 9187, i16 4794, i16 0, i16 4791, i16 0, i16 9188, i16 4799, i16 0, i16 4789, i16 0, i16 0, i16 4787, i16 0, i16 4795, i16 4785, i16 9189, i16 2607, i16 9190, i16 3465, i16 1911, i16 1769, i16 9191, i16 9192, i16 0, i16 9176, i16 0, i16 1711, i16 0, i16 0, i16 3362, i16 1060, i16 0, i16 3044, i16 0, i16 5746, i16 10797, i16 10798, i16 5741, i16 10799, i16 0, i16 0, i16 2344, i16 1453, i16 0, i16 1978, i16 10800, i16 0, i16 10801, i16 0, i16 10802, i16 0, i16 2160, i16 2365, i16 5752, i16 0, i16 10803, i16 5754, i16 5755, i16 0, i16 0, i16 5751, i16 5753, i16 10804, i16 0, i16 231, i16 0, i16 305, i16 301, i16 304, i16 306, i16 0, i16 263, i16 264, i16 307, i16 281, i16 225, i16 0, i16 226, i16 252, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 228, i16 229, i16 288, i16 286, i16 289, i16 230, i16 0, i16 3568, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11549, i16 6229, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11550, i16 11551, i16 11552, i16 6230, i16 2117, i16 6228, i16 11553, i16 0, i16 11554, i16 3542, i16 6225, i16 0, i16 0, i16 6227, i16 2278, i16 2249, i16 0, i16 0, i16 3824, i16 0, i16 7611, i16 0, i16 0, i16 0, i16 7612, i16 7613, i16 0, i16 3476, i16 0, i16 7614, i16 7615, i16 0, i16 7616, i16 0, i16 7617, i16 3434, i16 7618, i16 7619, i16 7620, i16 0, i16 3826, i16 7621, i16 7622, i16 3825, i16 3828, i16 3827, i16 0, i16 0, i16 3829, i16 0, i16 8177, i16 8178, i16 0, i16 4151, i16 4149, i16 0, i16 0, i16 0, i16 8179, i16 0, i16 1825, i16 2204, i16 0, i16 2395, i16 4153, i16 2277, i16 822, i16 2975, i16 8180, i16 0, i16 0, i16 0, i16 2684, i16 0, i16 4155, i16 4154, i16 4156, i16 4157, i16 4158, i16 0, i16 0, i16 0, i16 7922, i16 0, i16 7923, i16 4038, i16 4036, i16 7924, i16 4093, i16 0, i16 7925, i16 0, i16 7926, i16 7927, i16 0, i16 7928, i16 0, i16 0, i16 7929, i16 7930, i16 7931, i16 4041, i16 0, i16 0, i16 7932, i16 7933, i16 0, i16 4035, i16 7934, i16 4039, i16 0, i16 7935, i16 4037, i16 0, i16 8434, i16 0, i16 0, i16 0, i16 0, i16 8435, i16 2237, i16 0, i16 0, i16 0, i16 4302, i16 0, i16 8436, i16 1759, i16 0, i16 0, i16 4308, i16 8437, i16 0, i16 4309, i16 4303, i16 1046, i16 4304, i16 4313, i16 4312, i16 4311, i16 4307, i16 0, i16 0, i16 0, i16 4306, i16 0, i16 10738, i16 10739, i16 10740, i16 0, i16 10741, i16 10742, i16 0, i16 10743, i16 5705, i16 0, i16 10744, i16 10745, i16 10746, i16 0, i16 5707, i16 0, i16 10747, i16 0, i16 5704, i16 0, i16 0, i16 10748, i16 10749, i16 0, i16 1452, i16 2456, i16 5709, i16 2421, i16 10750, i16 10751, i16 5722, i16 0, i16 10227, i16 5421, i16 2961, i16 0, i16 10228, i16 3346, i16 0, i16 885, i16 10229, i16 894, i16 10230, i16 10231, i16 5422, i16 10232, i16 0, i16 0, i16 0, i16 5424, i16 0, i16 10233, i16 0, i16 5423, i16 2799, i16 0, i16 10234, i16 0, i16 2274, i16 4957, i16 0, i16 5425, i16 3410, i16 0, i16 9460, i16 0, i16 9461, i16 0, i16 0, i16 9462, i16 9463, i16 0, i16 0, i16 0, i16 4993, i16 4992, i16 0, i16 9464, i16 4995, i16 0, i16 9465, i16 0, i16 4994, i16 0, i16 0, i16 0, i16 9466, i16 0, i16 9467, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9468, i16 0, i16 5109, i16 0, i16 0, i16 0, i16 1156, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9674, i16 0, i16 9675, i16 9676, i16 9677, i16 1476, i16 0, i16 0, i16 9678, i16 5135, i16 9679, i16 9680, i16 5130, i16 2337, i16 9681, i16 9682, i16 1094, i16 0, i16 4855, i16 4834, i16 4854, i16 0, i16 4847, i16 4835, i16 0, i16 4851, i16 0, i16 4852, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4869, i16 9275, i16 0, i16 9276, i16 2859, i16 9277, i16 4842, i16 0, i16 9278, i16 4865, i16 0, i16 9279, i16 0, i16 4867, i16 0, i16 2681, i16 0, i16 3579, i16 0, i16 0, i16 2145, i16 2334, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9557, i16 0, i16 5048, i16 5046, i16 0, i16 3140, i16 0, i16 9558, i16 9559, i16 0, i16 8956, i16 0, i16 8957, i16 2736, i16 4647, i16 8958, i16 0, i16 8959, i16 4648, i16 0, i16 3174, i16 8960, i16 2944, i16 1782, i16 0, i16 2330, i16 0, i16 3331, i16 8961, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1068, i16 0, i16 4655, i16 4650, i16 8962, i16 8963, i16 8964, i16 0, i16 8190, i16 3397, i16 8191, i16 8192, i16 4164, i16 0, i16 2508, i16 8193, i16 2742, i16 2469, i16 3150, i16 4165, i16 4166, i16 930, i16 8194, i16 8195, i16 1899, i16 4167, i16 8196, i16 0, i16 8197, i16 8198, i16 793, i16 4168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4169, i16 8199, i16 0, i16 12543, i16 12544, i16 12545, i16 6755, i16 0, i16 0, i16 3401, i16 12546, i16 0, i16 6756, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6757, i16 12547, i16 3669, i16 12548, i16 0, i16 0, i16 0, i16 0, i16 4761, i16 6758, i16 0, i16 0, i16 0, i16 6759, i16 6760, i16 0, i16 11520, i16 1644, i16 6199, i16 810, i16 11521, i16 0, i16 0, i16 0, i16 3124, i16 11522, i16 0, i16 6200, i16 0, i16 0, i16 0, i16 0, i16 2229, i16 11523, i16 6207, i16 0, i16 0, i16 6204, i16 0, i16 2610, i16 0, i16 11524, i16 0, i16 11525, i16 0, i16 6205, i16 6202, i16 1371, i16 5889, i16 0, i16 10986, i16 5892, i16 5891, i16 0, i16 0, i16 0, i16 3319, i16 5895, i16 0, i16 0, i16 0, i16 0, i16 10987, i16 0, i16 5896, i16 0, i16 10988, i16 2366, i16 10989, i16 5897, i16 0, i16 0, i16 5899, i16 0, i16 5903, i16 10990, i16 0, i16 5900, i16 5898, i16 2938, i16 6145, i16 11425, i16 0, i16 6156, i16 11426, i16 11427, i16 993, i16 0, i16 6152, i16 0, i16 6157, i16 0, i16 0, i16 0, i16 6153, i16 11428, i16 0, i16 11429, i16 11430, i16 0, i16 6150, i16 0, i16 2644, i16 0, i16 6147, i16 0, i16 0, i16 11431, i16 0, i16 0, i16 0, i16 2979, i16 11265, i16 11266, i16 11267, i16 6058, i16 11268, i16 0, i16 0, i16 0, i16 3706, i16 2815, i16 3178, i16 11269, i16 0, i16 6071, i16 0, i16 11270, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6077, i16 0, i16 11271, i16 11272, i16 11273, i16 0, i16 11274, i16 6078, i16 11275, i16 12802, i16 0, i16 6898, i16 6899, i16 12803, i16 12804, i16 6900, i16 12805, i16 0, i16 12806, i16 3018, i16 6902, i16 12807, i16 3101, i16 6903, i16 6901, i16 0, i16 6905, i16 12808, i16 12809, i16 6904, i16 12810, i16 0, i16 6906, i16 0, i16 12811, i16 12812, i16 6907, i16 0, i16 12813, i16 0, i16 12814, i16 4611, i16 0, i16 8875, i16 2404, i16 8876, i16 0, i16 0, i16 8877, i16 1961, i16 4616, i16 8878, i16 0, i16 2085, i16 0, i16 4610, i16 4615, i16 8879, i16 0, i16 2958, i16 0, i16 8880, i16 8881, i16 4609, i16 0, i16 1404, i16 8882, i16 8883, i16 1088, i16 0, i16 0, i16 8884, i16 4617, i16 4100, i16 0, i16 1753, i16 0, i16 0, i16 8052, i16 8053, i16 1358, i16 0, i16 0, i16 3306, i16 0, i16 8054, i16 8055, i16 4098, i16 4101, i16 1718, i16 1594, i16 8056, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9732, i16 0, i16 0, i16 9733, i16 0, i16 0, i16 2616, i16 2514, i16 0, i16 0, i16 0, i16 0, i16 2254, i16 0, i16 0, i16 9734, i16 5168, i16 0, i16 5170, i16 0, i16 9735, i16 0, i16 0, i16 9736, i16 0, i16 9737, i16 0, i16 0, i16 9738, i16 0, i16 5169, i16 0, i16 10244, i16 2103, i16 0, i16 0, i16 5434, i16 0, i16 10245, i16 5433, i16 5432, i16 3094, i16 10246, i16 1160, i16 1506, i16 0, i16 10247, i16 0, i16 0, i16 0, i16 10248, i16 0, i16 10249, i16 10250, i16 0, i16 10251, i16 0, i16 10252, i16 10253, i16 5440, i16 10254, i16 0, i16 5437, i16 2186, i16 7429, i16 0, i16 0, i16 7447, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3758, i16 7448, i16 0, i16 7449, i16 0, i16 7450, i16 3761, i16 3759, i16 7451, i16 0, i16 967, i16 0, i16 3216, i16 3753, i16 7452, i16 7453, i16 7454, i16 7455, i16 3757, i16 1580, i16 7456, i16 7457, i16 1819, i16 12293, i16 12294, i16 0, i16 12295, i16 2058, i16 12296, i16 0, i16 12297, i16 12298, i16 6620, i16 3252, i16 0, i16 12299, i16 891, i16 12300, i16 0, i16 12301, i16 0, i16 3133, i16 2613, i16 0, i16 0, i16 0, i16 0, i16 1303, i16 12302, i16 6622, i16 12303, i16 1652, i16 0, i16 0, i16 12304, i16 7686, i16 7687, i16 0, i16 1488, i16 1747, i16 2984, i16 7688, i16 0, i16 0, i16 3888, i16 3886, i16 0, i16 0, i16 0, i16 7689, i16 3186, i16 2135, i16 3895, i16 1095, i16 3889, i16 3887, i16 2390, i16 0, i16 7690, i16 7691, i16 7692, i16 0, i16 0, i16 0, i16 3891, i16 0, i16 3890, i16 11526, i16 6201, i16 6208, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1425, i16 0, i16 0, i16 2499, i16 0, i16 6214, i16 0, i16 0, i16 0, i16 0, i16 6210, i16 0, i16 0, i16 0, i16 2458, i16 6209, i16 11527, i16 6212, i16 11528, i16 11529, i16 11530, i16 0, i16 6203, i16 11531, i16 4103, i16 0, i16 0, i16 4114, i16 0, i16 0, i16 4115, i16 8095, i16 8096, i16 0, i16 0, i16 3351, i16 8097, i16 0, i16 2136, i16 8098, i16 0, i16 0, i16 4117, i16 4118, i16 4116, i16 8099, i16 4120, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2931, i16 8100, i16 8101, i16 817, i16 5383, i16 5384, i16 5385, i16 10177, i16 5386, i16 10178, i16 10179, i16 5382, i16 0, i16 10180, i16 0, i16 0, i16 0, i16 10181, i16 0, i16 0, i16 5388, i16 0, i16 10182, i16 10183, i16 5387, i16 10184, i16 0, i16 0, i16 10185, i16 10186, i16 10187, i16 5389, i16 10188, i16 0, i16 0, i16 0, i16 11015, i16 5917, i16 5918, i16 11016, i16 0, i16 5919, i16 0, i16 5920, i16 1338, i16 4660, i16 5921, i16 0, i16 2318, i16 5922, i16 1916, i16 11017, i16 5923, i16 0, i16 3726, i16 11018, i16 11019, i16 0, i16 5924, i16 3251, i16 1181, i16 11020, i16 11021, i16 2347, i16 2023, i16 11022, i16 3176, i16 1981, i16 5128, i16 5127, i16 5133, i16 9689, i16 2250, i16 0, i16 5124, i16 9690, i16 9691, i16 0, i16 0, i16 9692, i16 9693, i16 9694, i16 5136, i16 0, i16 9695, i16 5137, i16 9696, i16 9697, i16 9698, i16 0, i16 9699, i16 1155, i16 0, i16 0, i16 9700, i16 0, i16 0, i16 0, i16 0, i16 9701, i16 8457, i16 8458, i16 8459, i16 0, i16 8460, i16 0, i16 0, i16 0, i16 0, i16 2238, i16 8461, i16 0, i16 4318, i16 8462, i16 0, i16 1708, i16 8463, i16 0, i16 0, i16 4319, i16 0, i16 0, i16 4320, i16 0, i16 0, i16 8464, i16 8465, i16 0, i16 0, i16 0, i16 8466, i16 8467, i16 2314, i16 5617, i16 10602, i16 0, i16 3048, i16 10603, i16 5621, i16 3240, i16 10604, i16 2590, i16 10605, i16 5616, i16 5618, i16 0, i16 0, i16 5619, i16 0, i16 0, i16 0, i16 0, i16 10606, i16 0, i16 10607, i16 10608, i16 0, i16 10609, i16 10610, i16 10611, i16 0, i16 5622, i16 0, i16 0, i16 13066, i16 7038, i16 13067, i16 13068, i16 13069, i16 13070, i16 0, i16 13071, i16 7039, i16 0, i16 0, i16 7040, i16 7041, i16 0, i16 13072, i16 13073, i16 0, i16 7044, i16 7042, i16 3687, i16 0, i16 7043, i16 13074, i16 3644, i16 13075, i16 0, i16 0, i16 13076, i16 0, i16 7045, i16 13077, i16 3624, i16 4363, i16 0, i16 8531, i16 0, i16 8532, i16 8533, i16 2776, i16 1719, i16 8534, i16 0, i16 8535, i16 1540, i16 8536, i16 2702, i16 0, i16 0, i16 0, i16 8537, i16 0, i16 8538, i16 0, i16 780, i16 2045, i16 1606, i16 3510, i16 0, i16 0, i16 0, i16 0, i16 8539, i16 8540, i16 8541, i16 6667, i16 12430, i16 6668, i16 12431, i16 0, i16 0, i16 0, i16 0, i16 12432, i16 0, i16 6670, i16 12433, i16 0, i16 12434, i16 12435, i16 12436, i16 6672, i16 12437, i16 12438, i16 0, i16 0, i16 6673, i16 0, i16 6674, i16 0, i16 0, i16 0, i16 0, i16 6677, i16 6675, i16 6678, i16 6680, i16 2572, i16 9363, i16 0, i16 9364, i16 4930, i16 0, i16 9365, i16 9366, i16 0, i16 9367, i16 0, i16 9368, i16 0, i16 4928, i16 1570, i16 0, i16 4927, i16 9369, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4933, i16 0, i16 0, i16 0, i16 9370, i16 4800, i16 9371, i16 9372, i16 9373, i16 3340, i16 0, i16 2831, i16 8114, i16 8115, i16 1491, i16 2484, i16 0, i16 8116, i16 8117, i16 4119, i16 4122, i16 8119, i16 8120, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2473, i16 0, i16 0, i16 0, i16 4123, i16 0, i16 8121, i16 0, i16 4124, i16 8122, i16 8123, i16 7436, i16 0, i16 7437, i16 2674, i16 0, i16 0, i16 2533, i16 3752, i16 7438, i16 7439, i16 0, i16 7440, i16 7441, i16 789, i16 2692, i16 1994, i16 1705, i16 3475, i16 7442, i16 2483, i16 7443, i16 964, i16 7444, i16 3751, i16 7445, i16 3501, i16 3747, i16 3749, i16 1763, i16 3750, i16 4184, i16 7446, i16 11532, i16 0, i16 6213, i16 0, i16 6215, i16 0, i16 0, i16 0, i16 11533, i16 0, i16 11534, i16 3080, i16 0, i16 0, i16 6211, i16 0, i16 6216, i16 6218, i16 0, i16 0, i16 1548, i16 6206, i16 0, i16 778, i16 0, i16 0, i16 11535, i16 0, i16 0, i16 11536, i16 11537, i16 6217, i16 4109, i16 8087, i16 1595, i16 1059, i16 4111, i16 0, i16 0, i16 8089, i16 8090, i16 8091, i16 4112, i16 0, i16 8092, i16 0, i16 0, i16 0, i16 4113, i16 0, i16 0, i16 4110, i16 0, i16 0, i16 0, i16 0, i16 8093, i16 0, i16 0, i16 0, i16 0, i16 8094, i16 0, i16 0, i16 5901, i16 0, i16 5902, i16 10992, i16 0, i16 10993, i16 951, i16 0, i16 5909, i16 5904, i16 10994, i16 10991, i16 0, i16 5905, i16 10995, i16 10996, i16 0, i16 5906, i16 0, i16 2438, i16 0, i16 10997, i16 0, i16 10998, i16 5908, i16 5907, i16 5910, i16 10999, i16 0, i16 11000, i16 11001, i16 5911, i16 7693, i16 0, i16 7694, i16 1063, i16 0, i16 7695, i16 0, i16 1467, i16 3896, i16 3578, i16 7696, i16 0, i16 7697, i16 3892, i16 0, i16 0, i16 0, i16 3897, i16 3894, i16 7698, i16 3893, i16 7699, i16 7700, i16 7701, i16 7702, i16 0, i16 7703, i16 3612, i16 7704, i16 0, i16 0, i16 1586, i16 10510, i16 5545, i16 5546, i16 2148, i16 0, i16 10511, i16 0, i16 10512, i16 0, i16 5547, i16 10513, i16 1074, i16 0, i16 10514, i16 0, i16 0, i16 5549, i16 0, i16 0, i16 0, i16 1477, i16 10515, i16 1285, i16 0, i16 10516, i16 5550, i16 1394, i16 0, i16 0, i16 5551, i16 10517, i16 2341, i16 2063, i16 1318, i16 0, i16 3924, i16 0, i16 7751, i16 0, i16 7752, i16 7753, i16 7754, i16 3060, i16 7755, i16 7756, i16 7757, i16 0, i16 3925, i16 7758, i16 3926, i16 7759, i16 3927, i16 0, i16 7760, i16 0, i16 0, i16 3928, i16 3099, i16 1381, i16 814, i16 7761, i16 7762, i16 7763, i16 2844, i16 4623, i16 8891, i16 0, i16 2460, i16 4629, i16 8892, i16 4624, i16 0, i16 8893, i16 4626, i16 0, i16 0, i16 0, i16 0, i16 8894, i16 3128, i16 2708, i16 8895, i16 4627, i16 8896, i16 8897, i16 8898, i16 3483, i16 0, i16 0, i16 0, i16 3511, i16 1146, i16 8899, i16 0, i16 0, i16 0, i16 12815, i16 12816, i16 12817, i16 12818, i16 12819, i16 12820, i16 6908, i16 0, i16 12821, i16 12822, i16 0, i16 12823, i16 12824, i16 12825, i16 12826, i16 0, i16 12827, i16 0, i16 12828, i16 0, i16 0, i16 0, i16 12829, i16 0, i16 6909, i16 12830, i16 6910, i16 12831, i16 12832, i16 0, i16 0, i16 6911, i16 5648, i16 0, i16 0, i16 5645, i16 0, i16 0, i16 10645, i16 0, i16 0, i16 0, i16 10646, i16 0, i16 5644, i16 2299, i16 0, i16 5647, i16 5649, i16 10648, i16 10649, i16 10650, i16 5646, i16 10647, i16 5653, i16 0, i16 5650, i16 10651, i16 10652, i16 10653, i16 10654, i16 10655, i16 10656, i16 5651, i16 10000, i16 10001, i16 0, i16 1284, i16 10002, i16 5284, i16 3564, i16 10003, i16 0, i16 3581, i16 10004, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10005, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10006, i16 10007, i16 0, i16 0, i16 0, i16 0, i16 1297, i16 1067, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8830, i16 0, i16 1098, i16 2156, i16 4597, i16 4602, i16 0, i16 4598, i16 8831, i16 1496, i16 8832, i16 4603, i16 1781, i16 1664, i16 0, i16 0, i16 0, i16 0, i16 8833, i16 8834, i16 1973, i16 4585, i16 10769, i16 918, i16 0, i16 0, i16 2889, i16 5731, i16 0, i16 0, i16 10781, i16 5738, i16 5732, i16 5739, i16 0, i16 0, i16 0, i16 0, i16 10782, i16 10783, i16 5735, i16 0, i16 0, i16 10784, i16 0, i16 10785, i16 0, i16 0, i16 0, i16 2998, i16 10786, i16 10787, i16 1915, i16 5737, i16 12305, i16 0, i16 12306, i16 0, i16 0, i16 0, i16 1791, i16 0, i16 12307, i16 0, i16 0, i16 0, i16 0, i16 12308, i16 0, i16 6621, i16 2232, i16 12309, i16 0, i16 0, i16 12310, i16 12311, i16 0, i16 0, i16 2233, i16 6625, i16 6627, i16 0, i16 12312, i16 12313, i16 12314, i16 12315, i16 11538, i16 1744, i16 3651, i16 6219, i16 6220, i16 2428, i16 0, i16 0, i16 0, i16 0, i16 11539, i16 11540, i16 11541, i16 11542, i16 11543, i16 3567, i16 0, i16 11544, i16 11545, i16 11546, i16 6221, i16 3492, i16 0, i16 0, i16 6222, i16 6223, i16 0, i16 11547, i16 3257, i16 6224, i16 11548, i16 1717, i16 1299, i16 2766, i16 9602, i16 5080, i16 5089, i16 760, i16 857, i16 9603, i16 0, i16 958, i16 0, i16 5082, i16 2449, i16 5073, i16 5075, i16 1624, i16 0, i16 0, i16 9604, i16 0, i16 0, i16 0, i16 9605, i16 0, i16 5092, i16 9606, i16 5087, i16 9607, i16 9608, i16 0, i16 5079, i16 0, i16 2323, i16 7769, i16 0, i16 7770, i16 0, i16 7771, i16 1424, i16 0, i16 0, i16 3937, i16 0, i16 0, i16 7772, i16 7773, i16 3938, i16 851, i16 830, i16 1198, i16 7774, i16 2445, i16 1264, i16 3552, i16 0, i16 3941, i16 956, i16 7775, i16 0, i16 3940, i16 0, i16 0, i16 7776, i16 1319, i16 7188, i16 7173, i16 7187, i16 7239, i16 7324, i16 7241, i16 7326, i16 7240, i16 7325, i16 7189, i16 7175, i16 7190, i16 7249, i16 7334, i16 0, i16 0, i16 7248, i16 7333, i16 7177, i16 7192, i16 7251, i16 7336, i16 7253, i16 7338, i16 7252, i16 7337, i16 7254, i16 7339, i16 7255, i16 7340, i16 7257, i16 7342, i16 6165, i16 11458, i16 0, i16 0, i16 6169, i16 0, i16 6172, i16 6171, i16 11459, i16 11460, i16 11461, i16 6163, i16 0, i16 0, i16 11462, i16 0, i16 6166, i16 0, i16 6183, i16 0, i16 0, i16 11463, i16 11464, i16 0, i16 0, i16 11465, i16 11466, i16 0, i16 11467, i16 0, i16 0, i16 11468, i16 2582, i16 0, i16 5005, i16 0, i16 0, i16 0, i16 0, i16 9550, i16 5013, i16 0, i16 5006, i16 9499, i16 0, i16 9500, i16 0, i16 9501, i16 2470, i16 0, i16 1281, i16 5014, i16 9502, i16 0, i16 9503, i16 0, i16 9504, i16 9505, i16 1475, i16 9506, i16 0, i16 1220, i16 5012, i16 0, i16 10518, i16 2858, i16 10519, i16 2313, i16 1770, i16 10520, i16 10521, i16 0, i16 5552, i16 0, i16 10522, i16 10523, i16 0, i16 0, i16 0, i16 0, i16 10524, i16 10525, i16 2597, i16 2418, i16 10526, i16 5554, i16 5556, i16 5553, i16 5555, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10527, i16 1405, i16 12054, i16 12055, i16 12056, i16 2878, i16 0, i16 12057, i16 3297, i16 0, i16 6553, i16 0, i16 1930, i16 0, i16 0, i16 0, i16 0, i16 6554, i16 12058, i16 6555, i16 12059, i16 12060, i16 12061, i16 6556, i16 12062, i16 0, i16 2720, i16 0, i16 0, i16 0, i16 0, i16 12063, i16 12065, i16 0, i16 11287, i16 0, i16 11288, i16 0, i16 6066, i16 11289, i16 2349, i16 11290, i16 6070, i16 1786, i16 2192, i16 1419, i16 3461, i16 11304, i16 3466, i16 2049, i16 0, i16 0, i16 0, i16 0, i16 11291, i16 0, i16 11292, i16 11293, i16 11294, i16 6083, i16 6081, i16 0, i16 11295, i16 11296, i16 11297, i16 11298, i16 3864, i16 3345, i16 7657, i16 0, i16 0, i16 7658, i16 2039, i16 2529, i16 0, i16 3866, i16 2881, i16 0, i16 0, i16 3867, i16 7659, i16 0, i16 3868, i16 1041, i16 7660, i16 7661, i16 7662, i16 3869, i16 1316, i16 7663, i16 2857, i16 929, i16 2015, i16 0, i16 0, i16 3002, i16 3870, i16 0, i16 5912, i16 11002, i16 0, i16 2190, i16 11003, i16 1006, i16 0, i16 5913, i16 3620, i16 0, i16 1884, i16 11004, i16 11005, i16 1980, i16 0, i16 0, i16 11006, i16 11007, i16 11008, i16 1853, i16 2586, i16 11009, i16 11010, i16 0, i16 11011, i16 11012, i16 5914, i16 5915, i16 856, i16 11013, i16 5916, i16 11014, i16 6936, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12883, i16 12884, i16 6937, i16 12885, i16 3361, i16 1792, i16 12886, i16 1775, i16 2358, i16 0, i16 12887, i16 12888, i16 12889, i16 0, i16 6938, i16 0, i16 0, i16 12890, i16 12891, i16 6941, i16 0, i16 12892, i16 12893, i16 0, i16 12894, i16 12895, i16 7960, i16 7961, i16 868, i16 7962, i16 7963, i16 0, i16 7964, i16 0, i16 0, i16 7965, i16 0, i16 7966, i16 2368, i16 7967, i16 4049, i16 7968, i16 4050, i16 0, i16 0, i16 0, i16 7969, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1117, i16 0, i16 0, i16 7970, i16 0, i16 2842, i16 1323, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1002, i16 4296, i16 4301, i16 0, i16 0, i16 4299, i16 8430, i16 3276, i16 3275, i16 8431, i16 8432, i16 0, i16 8433, i16 0, i16 2790, i16 0, i16 0, i16 0, i16 4298, i16 2019, i16 0, i16 4297, i16 0, i16 0, i16 12570, i16 6777, i16 0, i16 0, i16 1110, i16 6775, i16 6779, i16 0, i16 0, i16 12571, i16 0, i16 6780, i16 0, i16 785, i16 0, i16 6781, i16 6782, i16 0, i16 0, i16 0, i16 0, i16 12572, i16 12573, i16 12574, i16 2129, i16 12575, i16 12576, i16 0, i16 6783, i16 0, i16 12577, i16 12578, i16 4891, i16 9304, i16 0, i16 0, i16 0, i16 9305, i16 9306, i16 4888, i16 9307, i16 0, i16 0, i16 9308, i16 0, i16 9309, i16 4876, i16 9310, i16 0, i16 4905, i16 4875, i16 0, i16 4894, i16 0, i16 0, i16 9311, i16 9312, i16 0, i16 9313, i16 4886, i16 9314, i16 0, i16 4881, i16 4878, i16 6939, i16 12896, i16 0, i16 0, i16 0, i16 0, i16 6942, i16 12897, i16 12898, i16 1578, i16 6940, i16 0, i16 0, i16 0, i16 12899, i16 6943, i16 12900, i16 6944, i16 6945, i16 0, i16 6949, i16 0, i16 1789, i16 12901, i16 12902, i16 0, i16 0, i16 2505, i16 0, i16 12903, i16 0, i16 12904, i16 7197, i16 7196, i16 7199, i16 7205, i16 7198, i16 7204, i16 7169, i16 7209, i16 7213, i16 7212, i16 7215, i16 7214, i16 7226, i16 7225, i16 7228, i16 7227, i16 0, i16 7242, i16 7244, i16 7243, i16 7246, i16 7250, i16 7245, i16 284, i16 7176, i16 7261, i16 7260, i16 7263, i16 7262, i16 7276, i16 7179, i16 7193, i16 8734, i16 0, i16 3376, i16 1144, i16 0, i16 4514, i16 0, i16 1440, i16 1047, i16 0, i16 0, i16 4511, i16 8735, i16 0, i16 3589, i16 4513, i16 799, i16 4515, i16 8736, i16 4506, i16 4512, i16 4519, i16 1439, i16 4507, i16 8737, i16 0, i16 0, i16 8738, i16 8739, i16 0, i16 3532, i16 8740, i16 287, i16 350, i16 0, i16 0, i16 0, i16 0, i16 290, i16 291, i16 0, i16 0, i16 352, i16 353, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1311, i16 966, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4185, i16 0, i16 3372, i16 3173, i16 1581, i16 0, i16 0, i16 7475, i16 0, i16 0, i16 2170, i16 3588, i16 7476, i16 0, i16 7477, i16 0, i16 7478, i16 7479, i16 7480, i16 7481, i16 3245, i16 5407, i16 10207, i16 0, i16 5408, i16 2729, i16 10208, i16 1034, i16 1627, i16 5409, i16 0, i16 0, i16 5410, i16 10209, i16 10210, i16 5411, i16 0, i16 1788, i16 0, i16 0, i16 5413, i16 0, i16 10211, i16 5412, i16 0, i16 0, i16 5414, i16 5415, i16 10212, i16 10213, i16 10214, i16 0, i16 10215, i16 8479, i16 0, i16 4324, i16 0, i16 0, i16 0, i16 0, i16 8480, i16 0, i16 0, i16 0, i16 8481, i16 4326, i16 0, i16 4327, i16 0, i16 8482, i16 0, i16 12526, i16 0, i16 8483, i16 0, i16 0, i16 4330, i16 8484, i16 8485, i16 3635, i16 0, i16 4331, i16 4328, i16 0, i16 0, i16 11039, i16 0, i16 5936, i16 11040, i16 5935, i16 0, i16 1168, i16 11041, i16 5937, i16 0, i16 5938, i16 5939, i16 0, i16 11042, i16 1702, i16 3606, i16 0, i16 5941, i16 2162, i16 0, i16 11043, i16 0, i16 919, i16 5942, i16 5943, i16 0, i16 0, i16 11044, i16 0, i16 11045, i16 5944, i16 11046, i16 2080, i16 4375, i16 4374, i16 4370, i16 0, i16 8552, i16 0, i16 0, i16 4376, i16 4377, i16 0, i16 8553, i16 4378, i16 0, i16 0, i16 0, i16 4381, i16 4379, i16 0, i16 4380, i16 4382, i16 0, i16 907, i16 2703, i16 4383, i16 0, i16 1493, i16 1019, i16 2929, i16 0, i16 4384, i16 2904, i16 6176, i16 0, i16 11469, i16 11470, i16 11471, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11472, i16 11473, i16 0, i16 11474, i16 0, i16 6174, i16 0, i16 11475, i16 6175, i16 11476, i16 0, i16 0, i16 6180, i16 6181, i16 11477, i16 1037, i16 11478, i16 1249, i16 0, i16 0, i16 6179, i16 11479, i16 6688, i16 12452, i16 1177, i16 1080, i16 1653, i16 3023, i16 12453, i16 6690, i16 6689, i16 12454, i16 0, i16 12455, i16 12456, i16 6691, i16 0, i16 0, i16 0, i16 0, i16 899, i16 0, i16 12457, i16 0, i16 12458, i16 0, i16 0, i16 6694, i16 12459, i16 6693, i16 6692, i16 12460, i16 6695, i16 12461, i16 10528, i16 0, i16 0, i16 10529, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5557, i16 1409, i16 0, i16 10530, i16 0, i16 1286, i16 3521, i16 5559, i16 0, i16 0, i16 10531, i16 0, i16 10532, i16 5560, i16 0, i16 0, i16 10533, i16 853, i16 10534, i16 10535, i16 0, i16 0, i16 5563, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 12833, i16 0, i16 6912, i16 6913, i16 0, i16 6914, i16 12834, i16 6915, i16 6916, i16 6917, i16 6918, i16 12835, i16 0, i16 12836, i16 6919, i16 6920, i16 0, i16 4953, i16 6921, i16 12837, i16 12838, i16 12839, i16 0, i16 12840, i16 0, i16 12841, i16 12842, i16 5678, i16 1235, i16 12843, i16 0, i16 0, i16 4130, i16 0, i16 0, i16 9454, i16 9455, i16 1218, i16 4988, i16 0, i16 0, i16 9456, i16 0, i16 4989, i16 9457, i16 3265, i16 3355, i16 0, i16 0, i16 0, i16 2852, i16 4990, i16 3071, i16 0, i16 9458, i16 0, i16 3092, i16 0, i16 9459, i16 3428, i16 0, i16 0, i16 0, i16 4991, i16 7202, i16 7288, i16 7200, i16 7286, i16 7203, i16 7289, i16 7206, i16 7292, i16 7207, i16 7293, i16 7210, i16 7296, i16 7208, i16 7294, i16 7211, i16 7297, i16 7170, i16 7181, i16 7218, i16 7304, i16 0, i16 0, i16 7217, i16 7303, i16 7219, i16 7305, i16 7216, i16 7302, i16 7220, i16 7307, i16 7221, i16 7308, i16 7971, i16 7972, i16 7973, i16 7974, i16 4057, i16 0, i16 7975, i16 0, i16 1200, i16 7976, i16 4060, i16 4056, i16 4059, i16 7977, i16 0, i16 7978, i16 0, i16 7979, i16 7980, i16 0, i16 3203, i16 7981, i16 0, i16 0, i16 2866, i16 0, i16 3025, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10788, i16 5734, i16 5740, i16 5733, i16 0, i16 0, i16 2003, i16 10789, i16 10790, i16 0, i16 0, i16 3288, i16 10791, i16 10792, i16 2011, i16 10793, i16 0, i16 5736, i16 5748, i16 10794, i16 0, i16 5744, i16 10795, i16 5747, i16 0, i16 5745, i16 5749, i16 5743, i16 0, i16 5717, i16 2300, i16 10796, i16 7717, i16 3904, i16 0, i16 3337, i16 7718, i16 2653, i16 7719, i16 3477, i16 7720, i16 3246, i16 0, i16 0, i16 7721, i16 3905, i16 0, i16 7722, i16 0, i16 7723, i16 6771, i16 0, i16 7724, i16 2829, i16 7725, i16 3906, i16 1131, i16 3396, i16 0, i16 7726, i16 7727, i16 2062, i16 3907, i16 3260, i16 8741, i16 8742, i16 3482, i16 8743, i16 8744, i16 0, i16 0, i16 4522, i16 0, i16 0, i16 4526, i16 8745, i16 0, i16 8746, i16 2437, i16 0, i16 3654, i16 4527, i16 8747, i16 8748, i16 4524, i16 0, i16 4521, i16 8749, i16 8750, i16 4520, i16 4525, i16 0, i16 8751, i16 8752, i16 0, i16 8753, i16 10021, i16 5294, i16 0, i16 10022, i16 10023, i16 0, i16 10024, i16 10025, i16 0, i16 0, i16 0, i16 10026, i16 0, i16 10027, i16 0, i16 0, i16 0, i16 10028, i16 10029, i16 0, i16 0, i16 5290, i16 0, i16 10030, i16 0, i16 5293, i16 1571, i16 884, i16 5295, i16 10031, i16 2235, i16 5292, i16 295, i16 0, i16 294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5671, i16 0, i16 5673, i16 0, i16 10682, i16 5672, i16 0, i16 10683, i16 10684, i16 10685, i16 1547, i16 0, i16 0, i16 10686, i16 2367, i16 10687, i16 0, i16 0, i16 5675, i16 10688, i16 10689, i16 10690, i16 2811, i16 10691, i16 5674, i16 10692, i16 10693, i16 0, i16 5676, i16 10694, i16 3210, i16 2419, i16 10279, i16 2226, i16 10280, i16 2849, i16 10281, i16 5448, i16 3334, i16 10282, i16 5445, i16 0, i16 10283, i16 5446, i16 10284, i16 0, i16 0, i16 0, i16 10285, i16 0, i16 10286, i16 10287, i16 10288, i16 0, i16 0, i16 0, i16 0, i16 5451, i16 10289, i16 0, i16 0, i16 10290, i16 5450, i16 5449, i16 11047, i16 11048, i16 0, i16 11049, i16 11050, i16 0, i16 0, i16 11051, i16 0, i16 11052, i16 11053, i16 827, i16 0, i16 5945, i16 11054, i16 0, i16 0, i16 11055, i16 5946, i16 0, i16 11056, i16 0, i16 11057, i16 0, i16 11058, i16 3166, i16 11059, i16 11060, i16 0, i16 1912, i16 0, i16 5948, i16 2600, i16 0, i16 10266, i16 0, i16 0, i16 10267, i16 10268, i16 5443, i16 0, i16 0, i16 10269, i16 0, i16 0, i16 10270, i16 10271, i16 10272, i16 0, i16 0, i16 10273, i16 0, i16 0, i16 0, i16 10274, i16 10275, i16 0, i16 0, i16 5444, i16 5447, i16 10276, i16 0, i16 10277, i16 10278, i16 3625, i16 0, i16 10032, i16 5298, i16 7098, i16 0, i16 10033, i16 10034, i16 10035, i16 5296, i16 5299, i16 10036, i16 0, i16 10037, i16 10038, i16 5285, i16 5297, i16 10039, i16 10040, i16 1713, i16 0, i16 0, i16 5300, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5301, i16 0, i16 5929, i16 0, i16 0, i16 11029, i16 11030, i16 11031, i16 11032, i16 2715, i16 0, i16 0, i16 0, i16 11033, i16 0, i16 0, i16 11034, i16 11035, i16 0, i16 11036, i16 0, i16 0, i16 0, i16 0, i16 11037, i16 0, i16 5931, i16 5930, i16 5933, i16 0, i16 11038, i16 5932, i16 0, i16 5934, i16 2604, i16 8623, i16 8624, i16 0, i16 4424, i16 0, i16 0, i16 0, i16 8625, i16 8626, i16 8627, i16 1020, i16 8628, i16 8629, i16 8630, i16 8631, i16 4475, i16 4426, i16 8632, i16 8633, i16 0, i16 2923, i16 8634, i16 0, i16 4425, i16 0, i16 8635, i16 4423, i16 8636, i16 1681, i16 0, i16 4429, i16 6444, i16 11900, i16 11901, i16 6446, i16 6443, i16 0, i16 0, i16 0, i16 0, i16 11902, i16 0, i16 0, i16 11903, i16 11904, i16 0, i16 11905, i16 11906, i16 11907, i16 6449, i16 0, i16 1986, i16 0, i16 6448, i16 0, i16 0, i16 11908, i16 11909, i16 11910, i16 6450, i16 0, i16 0, i16 0, i16 11308, i16 0, i16 0, i16 0, i16 2816, i16 6087, i16 11309, i16 0, i16 11310, i16 3046, i16 6074, i16 0, i16 0, i16 11311, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11312, i16 0, i16 0, i16 11313, i16 2050, i16 0, i16 6089, i16 6094, i16 2427, i16 11314, i16 0, i16 6093, i16 11315, i16 8493, i16 2035, i16 0, i16 2410, i16 8494, i16 1600, i16 1709, i16 1601, i16 1295, i16 8495, i16 0, i16 4338, i16 0, i16 0, i16 1710, i16 0, i16 0, i16 1539, i16 4339, i16 3383, i16 2942, i16 4340, i16 0, i16 1602, i16 8496, i16 8497, i16 0, i16 1133, i16 0, i16 2538, i16 1359, i16 0, i16 11566, i16 0, i16 0, i16 0, i16 0, i16 6237, i16 11567, i16 11568, i16 11569, i16 0, i16 6238, i16 6239, i16 0, i16 0, i16 0, i16 0, i16 11570, i16 11571, i16 11572, i16 0, i16 0, i16 11573, i16 6243, i16 0, i16 6244, i16 11574, i16 11575, i16 6242, i16 0, i16 0, i16 11576, i16 0, i16 3377, i16 0, i16 5093, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3015, i16 9629, i16 0, i16 5105, i16 1524, i16 0, i16 0, i16 9630, i16 0, i16 0, i16 2031, i16 0, i16 5095, i16 9631, i16 0, i16 0, i16 3580, i16 1625, i16 0, i16 5108, i16 8498, i16 0, i16 1831, i16 3154, i16 0, i16 0, i16 3034, i16 8499, i16 0, i16 0, i16 0, i16 4341, i16 1206, i16 8500, i16 0, i16 0, i16 0, i16 4344, i16 8501, i16 0, i16 8502, i16 8503, i16 2626, i16 0, i16 8504, i16 4343, i16 4342, i16 4345, i16 0, i16 2700, i16 0, i16 8505, i16 8754, i16 0, i16 0, i16 0, i16 3205, i16 8755, i16 0, i16 2833, i16 8756, i16 1441, i16 8757, i16 4528, i16 4523, i16 8758, i16 4529, i16 0, i16 0, i16 0, i16 1494, i16 0, i16 0, i16 0, i16 950, i16 0, i16 8759, i16 8760, i16 4537, i16 0, i16 8761, i16 0, i16 1145, i16 0, i16 10291, i16 0, i16 0, i16 0, i16 10292, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5453, i16 10293, i16 10294, i16 5452, i16 0, i16 0, i16 5454, i16 0, i16 0, i16 10295, i16 10296, i16 10297, i16 0, i16 0, i16 0, i16 10298, i16 0, i16 0, i16 0, i16 5456, i16 10299, i16 308, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 267, i16 253, i16 268, i16 237, i16 239, i16 11316, i16 0, i16 6062, i16 0, i16 11317, i16 11318, i16 6095, i16 2384, i16 0, i16 0, i16 6090, i16 6092, i16 0, i16 11319, i16 11320, i16 0, i16 11321, i16 11322, i16 11323, i16 6091, i16 0, i16 0, i16 4949, i16 4934, i16 11324, i16 11325, i16 6097, i16 11326, i16 0, i16 0, i16 11327, i16 0, i16 821, i16 2621, i16 7367, i16 1896, i16 7368, i16 7369, i16 0, i16 3375, i16 2131, i16 1795, i16 2130, i16 961, i16 7370, i16 3147, i16 3502, i16 0, i16 3712, i16 854, i16 7371, i16 0, i16 1105, i16 3713, i16 2253, i16 3932, i16 1269, i16 3215, i16 0, i16 0, i16 0, i16 0, i16 2132, i16 7372, i16 4661, i16 4662, i16 2726, i16 4664, i16 8975, i16 8976, i16 1783, i16 4659, i16 0, i16 8977, i16 8978, i16 0, i16 1243, i16 8979, i16 0, i16 4665, i16 8980, i16 4658, i16 4669, i16 0, i16 4668, i16 8981, i16 4667, i16 8982, i16 0, i16 0, i16 4670, i16 8983, i16 0, i16 4672, i16 2142, i16 8984, i16 9013, i16 0, i16 1147, i16 1801, i16 0, i16 0, i16 2869, i16 9014, i16 0, i16 0, i16 0, i16 9015, i16 1444, i16 0, i16 0, i16 0, i16 2239, i16 0, i16 4692, i16 0, i16 2265, i16 2727, i16 0, i16 3158, i16 4693, i16 0, i16 9016, i16 0, i16 0, i16 9017, i16 0, i16 0, i16 11061, i16 11062, i16 0, i16 11063, i16 11064, i16 1036, i16 763, i16 11065, i16 11066, i16 11067, i16 11068, i16 5947, i16 5950, i16 2953, i16 11069, i16 2191, i16 11070, i16 987, i16 11071, i16 3290, i16 11072, i16 0, i16 0, i16 11073, i16 1464, i16 1369, i16 11074, i16 5949, i16 11075, i16 1007, i16 11076, i16 11077, i16 7223, i16 7309, i16 7222, i16 0, i16 7224, i16 7310, i16 7171, i16 7183, i16 7233, i16 7318, i16 7231, i16 7316, i16 0, i16 0, i16 7232, i16 7317, i16 7230, i16 7184, i16 7172, i16 7185, i16 7234, i16 7319, i16 7235, i16 7320, i16 7186, i16 7236, i16 7321, i16 7238, i16 7323, i16 7237, i16 7322, i16 7174, i16 12087, i16 0, i16 6561, i16 0, i16 12088, i16 12089, i16 12090, i16 0, i16 12091, i16 0, i16 0, i16 0, i16 0, i16 12092, i16 0, i16 0, i16 12093, i16 0, i16 6562, i16 0, i16 12094, i16 0, i16 12095, i16 12096, i16 12097, i16 6563, i16 12098, i16 0, i16 12099, i16 0, i16 12100, i16 0, i16 10041, i16 10042, i16 0, i16 3565, i16 0, i16 10043, i16 10044, i16 10045, i16 0, i16 10046, i16 0, i16 5302, i16 0, i16 0, i16 0, i16 10047, i16 10048, i16 10049, i16 10050, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10051, i16 10052, i16 10053, i16 0, i16 10054, i16 0, i16 5303, i16 10055, i16 11577, i16 6240, i16 11578, i16 6235, i16 6241, i16 11579, i16 11580, i16 0, i16 0, i16 11581, i16 0, i16 0, i16 6245, i16 6741, i16 0, i16 11582, i16 0, i16 0, i16 11583, i16 0, i16 0, i16 0, i16 941, i16 11584, i16 0, i16 0, i16 11585, i16 11586, i16 11587, i16 0, i16 6248, i16 1372, i16 7482, i16 7483, i16 1427, i16 2442, i16 1001, i16 7484, i16 7485, i16 0, i16 7486, i16 7487, i16 2018, i16 7488, i16 7489, i16 7490, i16 3767, i16 7491, i16 3772, i16 3770, i16 7492, i16 0, i16 3765, i16 0, i16 0, i16 2452, i16 3768, i16 0, i16 3771, i16 3769, i16 7493, i16 3250, i16 0, i16 3766, i16 8506, i16 0, i16 0, i16 0, i16 0, i16 2222, i16 0, i16 0, i16 8508, i16 0, i16 0, i16 1832, i16 0, i16 2291, i16 8507, i16 2488, i16 1217, i16 0, i16 8509, i16 2627, i16 0, i16 8510, i16 4346, i16 4347, i16 2140, i16 0, i16 0, i16 0, i16 0, i16 3308, i16 8511, i16 0, i16 8762, i16 8763, i16 8764, i16 4535, i16 0, i16 0, i16 4536, i16 1694, i16 4534, i16 4532, i16 4531, i16 4538, i16 4530, i16 4540, i16 8765, i16 8766, i16 1024, i16 0, i16 0, i16 0, i16 0, i16 8767, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8768, i16 8769, i16 8770, i16 8771, i16 7739, i16 3449, i16 2900, i16 7740, i16 0, i16 3270, i16 3916, i16 0, i16 3917, i16 0, i16 7741, i16 7742, i16 7743, i16 3919, i16 0, i16 3921, i16 3920, i16 7744, i16 0, i16 7745, i16 0, i16 3922, i16 962, i16 3327, i16 7746, i16 1777, i16 3923, i16 7747, i16 7748, i16 2400, i16 7749, i16 7750, i16 9531, i16 3285, i16 2947, i16 1282, i16 0, i16 2724, i16 0, i16 9532, i16 2608, i16 9533, i16 5031, i16 9534, i16 9535, i16 0, i16 9536, i16 5029, i16 2494, i16 5018, i16 9537, i16 882, i16 9538, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2108, i16 5574, i16 5575, i16 2022, i16 0, i16 2837, i16 5576, i16 0, i16 10542, i16 10543, i16 2539, i16 10544, i16 10545, i16 5577, i16 0, i16 2559, i16 5578, i16 10546, i16 0, i16 0, i16 10547, i16 0, i16 1314, i16 0, i16 3835, i16 2592, i16 1892, i16 10548, i16 0, i16 10549, i16 10550, i16 1161, i16 11836, i16 0, i16 0, i16 1954, i16 0, i16 0, i16 11837, i16 0, i16 2241, i16 0, i16 0, i16 11838, i16 11839, i16 0, i16 0, i16 11840, i16 0, i16 0, i16 11841, i16 2450, i16 0, i16 11842, i16 0, i16 11843, i16 0, i16 11844, i16 6413, i16 11845, i16 11863, i16 0, i16 6412, i16 0, i16 318, i16 317, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 320, i16 319, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 322, i16 321, i16 0, i16 0, i16 4671, i16 8985, i16 0, i16 0, i16 8986, i16 4675, i16 0, i16 0, i16 8987, i16 8988, i16 8989, i16 0, i16 0, i16 0, i16 0, i16 8990, i16 0, i16 0, i16 0, i16 8991, i16 8992, i16 0, i16 8993, i16 0, i16 4673, i16 8994, i16 0, i16 8995, i16 4674, i16 4636, i16 8996, i16 8997, i16 9791, i16 3398, i16 0, i16 0, i16 0, i16 0, i16 2100, i16 0, i16 0, i16 0, i16 0, i16 9792, i16 0, i16 9793, i16 0, i16 9794, i16 9795, i16 9796, i16 0, i16 0, i16 0, i16 0, i16 2362, i16 0, i16 9797, i16 0, i16 0, i16 0, i16 2099, i16 0, i16 0, i16 0, i16 6976, i16 0, i16 0, i16 12957, i16 0, i16 0, i16 0, i16 6977, i16 12962, i16 12958, i16 12959, i16 12961, i16 0, i16 0, i16 12963, i16 0, i16 12964, i16 0, i16 12965, i16 0, i16 0, i16 12966, i16 6978, i16 12967, i16 6979, i16 0, i16 0, i16 12968, i16 0, i16 0, i16 0, i16 0, i16 8256, i16 795, i16 0, i16 748, i16 8257, i16 0, i16 0, i16 0, i16 0, i16 4198, i16 0, i16 0, i16 8258, i16 8259, i16 8260, i16 0, i16 0, i16 4196, i16 8261, i16 8262, i16 0, i16 0, i16 0, i16 0, i16 3405, i16 0, i16 4199, i16 0, i16 4197, i16 0, i16 8263, i16 4195, i16 12352, i16 12353, i16 12354, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12355, i16 0, i16 12356, i16 12357, i16 1116, i16 12358, i16 0, i16 12359, i16 0, i16 0, i16 12360, i16 0, i16 6640, i16 12361, i16 1716, i16 2432, i16 12362, i16 0, i16 2667, i16 12363, i16 0, i16 0, i16 12364, i16 0, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 0, i16 0, i16 0, i16 0, i16 227, i16 249, i16 240, i16 241, i16 0, i16 833, i16 8016, i16 0, i16 2567, i16 8017, i16 8018, i16 8019, i16 8020, i16 8021, i16 0, i16 0, i16 8023, i16 0, i16 8024, i16 4081, i16 0, i16 1689, i16 8022, i16 792, i16 2217, i16 0, i16 0, i16 8025, i16 8026, i16 0, i16 4082, i16 1536, i16 0, i16 0, i16 1672, i16 0, i16 4084, i16 1089, i16 0, i16 0, i16 10554, i16 0, i16 2213, i16 3163, i16 10555, i16 5588, i16 10556, i16 10557, i16 10558, i16 2509, i16 10559, i16 10560, i16 10561, i16 10562, i16 10563, i16 0, i16 5583, i16 10564, i16 5587, i16 5589, i16 0, i16 0, i16 1776, i16 0, i16 0, i16 0, i16 10565, i16 0, i16 10566, i16 4929, i16 0, i16 4931, i16 4932, i16 0, i16 9374, i16 0, i16 0, i16 0, i16 0, i16 4944, i16 9375, i16 4940, i16 0, i16 4821, i16 9376, i16 9377, i16 9378, i16 0, i16 4939, i16 9379, i16 0, i16 0, i16 0, i16 4938, i16 0, i16 0, i16 4935, i16 0, i16 9380, i16 9381, i16 9382, i16 9025, i16 767, i16 0, i16 9026, i16 1361, i16 2294, i16 9027, i16 3159, i16 0, i16 0, i16 0, i16 4699, i16 1813, i16 2570, i16 9028, i16 1838, i16 2178, i16 0, i16 9029, i16 9030, i16 9031, i16 0, i16 0, i16 4700, i16 0, i16 3282, i16 0, i16 0, i16 926, i16 1839, i16 0, i16 9032, i16 12609, i16 12611, i16 0, i16 0, i16 12612, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6794, i16 2910, i16 12613, i16 0, i16 12614, i16 6796, i16 960, i16 12615, i16 6799, i16 6798, i16 12616, i16 12617, i16 0, i16 12618, i16 843, i16 0, i16 0, i16 0, i16 1342, i16 4418, i16 1567, i16 8603, i16 0, i16 8606, i16 0, i16 0, i16 8604, i16 4419, i16 3187, i16 2026, i16 8605, i16 8607, i16 4420, i16 3090, i16 8608, i16 8609, i16 8610, i16 0, i16 2846, i16 2632, i16 0, i16 0, i16 0, i16 8611, i16 2735, i16 0, i16 0, i16 4421, i16 1226, i16 0, i16 0, i16 3395, i16 0, i16 10255, i16 0, i16 5436, i16 5438, i16 5439, i16 0, i16 10256, i16 5435, i16 0, i16 0, i16 0, i16 10257, i16 10258, i16 10259, i16 0, i16 0, i16 0, i16 0, i16 10260, i16 10261, i16 10262, i16 5441, i16 5442, i16 10263, i16 2640, i16 0, i16 1188, i16 10264, i16 10265, i16 0, i16 12868, i16 0, i16 0, i16 6931, i16 12869, i16 12870, i16 12871, i16 12872, i16 0, i16 12873, i16 12874, i16 12875, i16 0, i16 12876, i16 775, i16 12877, i16 12878, i16 6932, i16 3200, i16 6930, i16 12879, i16 0, i16 6933, i16 6934, i16 0, i16 0, i16 12880, i16 0, i16 0, i16 12881, i16 12882, i16 6935, i16 12101, i16 0, i16 12103, i16 12104, i16 0, i16 12102, i16 0, i16 12105, i16 0, i16 12106, i16 0, i16 0, i16 0, i16 2721, i16 12107, i16 12108, i16 6565, i16 12109, i16 6564, i16 0, i16 12110, i16 0, i16 12111, i16 12112, i16 0, i16 12113, i16 12114, i16 0, i16 12115, i16 12116, i16 0, i16 0, i16 1350, i16 4271, i16 0, i16 0, i16 0, i16 1294, i16 4272, i16 0, i16 1403, i16 0, i16 2860, i16 949, i16 0, i16 1830, i16 4273, i16 4276, i16 4275, i16 1402, i16 0, i16 4274, i16 0, i16 2743, i16 0, i16 0, i16 0, i16 8393, i16 8394, i16 0, i16 8395, i16 0, i16 2453, i16 0, i16 7494, i16 2169, i16 7495, i16 3366, i16 3773, i16 3774, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1971, i16 3787, i16 7496, i16 0, i16 7497, i16 2955, i16 0, i16 3117, i16 3782, i16 0, i16 3269, i16 0, i16 955, i16 0, i16 7498, i16 7499, i16 3786, i16 7500, i16 11846, i16 0, i16 6411, i16 0, i16 0, i16 11847, i16 11848, i16 11849, i16 11850, i16 0, i16 11851, i16 6419, i16 6417, i16 0, i16 11852, i16 6414, i16 0, i16 11853, i16 0, i16 0, i16 11854, i16 11855, i16 6416, i16 11856, i16 0, i16 11857, i16 6415, i16 6418, i16 0, i16 1302, i16 0, i16 6422, i16 3911, i16 7728, i16 2259, i16 3908, i16 1357, i16 7729, i16 3909, i16 1132, i16 7730, i16 7731, i16 7732, i16 0, i16 7733, i16 0, i16 0, i16 0, i16 7734, i16 7735, i16 1417, i16 3912, i16 7736, i16 3913, i16 7737, i16 7738, i16 3914, i16 3915, i16 1932, i16 0, i16 0, i16 0, i16 1588, i16 3439, i16 10567, i16 10568, i16 0, i16 0, i16 0, i16 5596, i16 3109, i16 10569, i16 3007, i16 2808, i16 0, i16 1367, i16 5595, i16 5593, i16 10570, i16 3022, i16 5590, i16 2593, i16 2810, i16 0, i16 2809, i16 10571, i16 1771, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5614, i16 0, i16 0, i16 10056, i16 10057, i16 5283, i16 10058, i16 0, i16 0, i16 10059, i16 5304, i16 10060, i16 10061, i16 10062, i16 10063, i16 0, i16 0, i16 10064, i16 10065, i16 1157, i16 10066, i16 10067, i16 0, i16 0, i16 10068, i16 0, i16 0, i16 0, i16 10069, i16 0, i16 10070, i16 0, i16 1878, i16 0, i16 10071, i16 11336, i16 8188, i16 11337, i16 0, i16 0, i16 0, i16 11338, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6100, i16 1552, i16 0, i16 1267, i16 0, i16 11339, i16 11340, i16 6102, i16 3865, i16 11341, i16 11342, i16 11343, i16 11344, i16 1300, i16 0, i16 3591, i16 11345, i16 1392, i16 6103, i16 842, i16 0, i16 0, i16 3622, i16 12516, i16 12517, i16 12518, i16 6729, i16 6544, i16 12519, i16 6728, i16 0, i16 0, i16 0, i16 12520, i16 12521, i16 6732, i16 6730, i16 6731, i16 12522, i16 6733, i16 0, i16 6734, i16 3641, i16 6735, i16 6736, i16 12523, i16 2290, i16 3028, i16 0, i16 0, i16 0, i16 11082, i16 5951, i16 11083, i16 5952, i16 11084, i16 1940, i16 1385, i16 2618, i16 11085, i16 0, i16 11086, i16 2862, i16 0, i16 11087, i16 0, i16 11088, i16 0, i16 888, i16 0, i16 5956, i16 5955, i16 0, i16 11089, i16 11090, i16 0, i16 5961, i16 5957, i16 5960, i16 0, i16 11091, i16 11092, i16 0, i16 2892, i16 4870, i16 2887, i16 9286, i16 9287, i16 9288, i16 9289, i16 0, i16 9290, i16 9291, i16 4874, i16 4861, i16 9292, i16 1349, i16 4864, i16 2028, i16 9293, i16 9294, i16 9295, i16 2971, i16 4866, i16 1352, i16 0, i16 4858, i16 4860, i16 4857, i16 9296, i16 9297, i16 3675, i16 1085, i16 4863, i16 9298, i16 10316, i16 0, i16 3457, i16 5469, i16 10317, i16 2577, i16 10318, i16 2981, i16 0, i16 1384, i16 10319, i16 0, i16 10320, i16 2558, i16 5470, i16 1335, i16 10321, i16 10322, i16 0, i16 2297, i16 10323, i16 0, i16 0, i16 0, i16 10324, i16 0, i16 0, i16 10325, i16 5471, i16 0, i16 0, i16 0, i16 10572, i16 0, i16 0, i16 0, i16 10573, i16 5598, i16 10574, i16 5600, i16 0, i16 10575, i16 10576, i16 0, i16 5603, i16 10577, i16 5604, i16 10578, i16 5601, i16 5602, i16 10579, i16 10580, i16 5599, i16 5597, i16 0, i16 10581, i16 0, i16 0, i16 5591, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3149, i16 8118, i16 0, i16 4121, i16 8102, i16 0, i16 8103, i16 8104, i16 0, i16 8105, i16 0, i16 0, i16 0, i16 8106, i16 0, i16 0, i16 8107, i16 0, i16 0, i16 0, i16 2154, i16 8108, i16 8109, i16 1898, i16 8110, i16 2968, i16 1201, i16 0, i16 1760, i16 8111, i16 8112, i16 8113, i16 7501, i16 7502, i16 0, i16 0, i16 7503, i16 3780, i16 3789, i16 7504, i16 0, i16 2393, i16 7505, i16 1533, i16 7506, i16 2967, i16 7507, i16 5253, i16 7508, i16 3788, i16 2780, i16 7509, i16 3777, i16 0, i16 1583, i16 7510, i16 7511, i16 1582, i16 3775, i16 7512, i16 7513, i16 7514, i16 7515, i16 1931, i16 2382, i16 3317, i16 1772, i16 10710, i16 0, i16 0, i16 10711, i16 0, i16 0, i16 0, i16 10712, i16 1850, i16 2686, i16 10713, i16 5691, i16 3628, i16 1742, i16 10714, i16 5692, i16 2189, i16 0, i16 5694, i16 0, i16 0, i16 0, i16 2111, i16 1701, i16 0, i16 10715, i16 10716, i16 10717, i16 5693, i16 4431, i16 8660, i16 1023, i16 4451, i16 4453, i16 2580, i16 0, i16 8661, i16 1693, i16 957, i16 4445, i16 4456, i16 4455, i16 1328, i16 0, i16 2446, i16 1097, i16 8662, i16 0, i16 0, i16 0, i16 1438, i16 0, i16 4446, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8663, i16 8664, i16 5455, i16 0, i16 10300, i16 0, i16 0, i16 3234, i16 0, i16 10301, i16 0, i16 0, i16 10302, i16 0, i16 2021, i16 3603, i16 10303, i16 10304, i16 5457, i16 10305, i16 0, i16 2836, i16 0, i16 10306, i16 5458, i16 0, i16 0, i16 5459, i16 0, i16 5463, i16 5461, i16 5462, i16 10307, i16 5460, i16 8528, i16 2628, i16 0, i16 1604, i16 2078, i16 0, i16 0, i16 3064, i16 0, i16 0, i16 2079, i16 8529, i16 0, i16 0, i16 8530, i16 2055, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2701, i16 3278, i16 2744, i16 0, i16 0, i16 1605, i16 0, i16 3155, i16 0, i16 0, i16 0, i16 4177, i16 8209, i16 4176, i16 8210, i16 0, i16 931, i16 0, i16 4178, i16 2070, i16 4180, i16 2536, i16 8211, i16 4179, i16 8212, i16 3208, i16 8213, i16 0, i16 0, i16 8214, i16 2054, i16 2778, i16 8215, i16 8216, i16 0, i16 4181, i16 8217, i16 0, i16 8218, i16 8219, i16 1596, i16 0, i16 0, i16 9810, i16 0, i16 5193, i16 0, i16 2972, i16 5189, i16 5192, i16 2101, i16 9811, i16 3050, i16 0, i16 0, i16 5196, i16 0, i16 1922, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9812, i16 0, i16 0, i16 0, i16 2339, i16 0, i16 0, i16 11346, i16 11347, i16 11348, i16 11349, i16 11350, i16 0, i16 0, i16 6104, i16 0, i16 11351, i16 0, i16 2609, i16 11352, i16 0, i16 0, i16 11353, i16 0, i16 6105, i16 0, i16 0, i16 0, i16 11354, i16 11355, i16 11356, i16 0, i16 2903, i16 11357, i16 771, i16 0, i16 0, i16 0, i16 0, i16 8787, i16 4558, i16 8788, i16 8789, i16 0, i16 0, i16 2328, i16 8790, i16 0, i16 8791, i16 4559, i16 8792, i16 0, i16 0, i16 4560, i16 1241, i16 4561, i16 0, i16 4562, i16 4563, i16 2492, i16 0, i16 0, i16 0, i16 1542, i16 8793, i16 0, i16 3442, i16 0, i16 8794, i16 0, i16 3311, i16 9299, i16 4873, i16 1048, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1756, i16 0, i16 0, i16 9300, i16 900, i16 0, i16 0, i16 4890, i16 9301, i16 0, i16 3676, i16 4893, i16 9302, i16 0, i16 9303, i16 0, i16 0, i16 2181, i16 4892, i16 0, i16 0, i16 0, i16 2388, i16 7075, i16 13117, i16 0, i16 0, i16 0, i16 13118, i16 0, i16 0, i16 0, i16 13119, i16 13120, i16 7076, i16 0, i16 0, i16 13121, i16 0, i16 13122, i16 13123, i16 0, i16 13124, i16 0, i16 0, i16 13125, i16 0, i16 13126, i16 13127, i16 3096, i16 13128, i16 13129, i16 7077, i16 13130, i16 5972, i16 0, i16 11115, i16 11116, i16 11117, i16 5975, i16 0, i16 11118, i16 0, i16 2423, i16 1456, i16 0, i16 0, i16 11119, i16 11120, i16 872, i16 5974, i16 11121, i16 1642, i16 11156, i16 11099, i16 11122, i16 11123, i16 11124, i16 2424, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12628, i16 6804, i16 0, i16 12629, i16 6803, i16 12638, i16 12630, i16 0, i16 0, i16 0, i16 0, i16 12631, i16 3326, i16 2825, i16 12632, i16 12633, i16 12634, i16 0, i16 12635, i16 12636, i16 887, i16 12637, i16 0, i16 6805, i16 6802, i16 0, i16 0, i16 3144, i16 3545, i16 6806, i16 12639, i16 0, i16 9813, i16 0, i16 0, i16 0, i16 5199, i16 9814, i16 0, i16 9815, i16 5191, i16 0, i16 1410, i16 0, i16 9816, i16 0, i16 0, i16 5197, i16 0, i16 0, i16 9817, i16 0, i16 3519, i16 5200, i16 0, i16 0, i16 0, i16 7100, i16 9818, i16 9819, i16 0, i16 0, i16 0, i16 2014, i16 11093, i16 11094, i16 3425, i16 5959, i16 989, i16 1120, i16 5963, i16 11095, i16 11096, i16 5965, i16 11097, i16 11098, i16 0, i16 0, i16 1455, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5969, i16 5978, i16 5979, i16 0, i16 0, i16 11100, i16 756, i16 11101, i16 11102, i16 11103, i16 343, i16 0, i16 348, i16 344, i16 0, i16 0, i16 0, i16 349, i16 330, i16 0, i16 0, i16 331, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 354, i16 0, i16 0, i16 356, i16 292, i16 0, i16 7256, i16 7341, i16 7259, i16 7344, i16 7258, i16 7343, i16 7178, i16 7194, i16 7270, i16 7355, i16 7267, i16 7352, i16 7264, i16 7349, i16 7269, i16 7354, i16 7266, i16 7351, i16 7268, i16 7353, i16 7275, i16 7360, i16 7278, i16 7363, i16 7277, i16 7279, i16 7364, i16 7281, i16 7366, i16 7280, i16 7365, i16 0, i16 11608, i16 6262, i16 0, i16 0, i16 0, i16 11609, i16 6264, i16 3558, i16 0, i16 6263, i16 2193, i16 0, i16 6265, i16 0, i16 0, i16 6266, i16 11610, i16 0, i16 6267, i16 1170, i16 11611, i16 11612, i16 11613, i16 11614, i16 0, i16 0, i16 6268, i16 0, i16 11615, i16 6269, i16 0, i16 6270, i16 345, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 338, i16 339, i16 337, i16 336, i16 358, i16 359, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 293, i16 357, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 355, i16 0, i16 0, i16 3929, i16 1996, i16 7764, i16 2322, i16 0, i16 3931, i16 3930, i16 2064, i16 1562, i16 3933, i16 3031, i16 7766, i16 7765, i16 3934, i16 0, i16 0, i16 0, i16 3061, i16 2457, i16 2515, i16 1317, i16 0, i16 0, i16 2891, i16 2548, i16 7767, i16 2985, i16 7768, i16 3329, i16 0, i16 3936, i16 0, i16 9049, i16 0, i16 1614, i16 4714, i16 9050, i16 0, i16 1696, i16 2087, i16 9051, i16 9052, i16 4713, i16 0, i16 2088, i16 9053, i16 3409, i16 1695, i16 0, i16 9054, i16 9055, i16 800, i16 2295, i16 9056, i16 9057, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4720, i16 9058, i16 9059, i16 2266, i16 5210, i16 0, i16 0, i16 0, i16 0, i16 2414, i16 1803, i16 5212, i16 0, i16 0, i16 0, i16 0, i16 5211, i16 2159, i16 3955, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5213, i16 0, i16 0, i16 9838, i16 5215, i16 0, i16 5198, i16 5214, i16 0, i16 9839, i16 5216, i16 9820, i16 0, i16 9821, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5201, i16 0, i16 0, i16 0, i16 5202, i16 0, i16 0, i16 9822, i16 9823, i16 2921, i16 9824, i16 9825, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5204, i16 9826, i16 0, i16 0, i16 0, i16 5205, i16 9827, i16 1630, i16 0, i16 5677, i16 0, i16 0, i16 0, i16 10695, i16 3605, i16 0, i16 10696, i16 0, i16 10697, i16 0, i16 0, i16 0, i16 5679, i16 0, i16 0, i16 5680, i16 0, i16 5681, i16 10698, i16 5682, i16 0, i16 1848, i16 0, i16 5683, i16 1450, i16 0, i16 0, i16 1289, i16 0, i16 10590, i16 1162, i16 0, i16 0, i16 0, i16 10591, i16 0, i16 0, i16 0, i16 0, i16 2560, i16 0, i16 10592, i16 2342, i16 0, i16 10593, i16 10594, i16 3003, i16 10595, i16 0, i16 5620, i16 10596, i16 10597, i16 0, i16 3005, i16 0, i16 10598, i16 10599, i16 10600, i16 10601, i16 0, i16 0, i16 3168, i16 1751, i16 1646, i16 0, i16 11793, i16 0, i16 0, i16 3142, i16 996, i16 3047, i16 6379, i16 1172, i16 2302, i16 6378, i16 6383, i16 2620, i16 3444, i16 0, i16 6381, i16 6382, i16 1229, i16 0, i16 6384, i16 2974, i16 2500, i16 11794, i16 11795, i16 3082, i16 2748, i16 6380, i16 0, i16 3322, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 1377, i16 0, i16 0, i16 2005, i16 0, i16 2841, i16 0, i16 0, i16 12248, i16 12249, i16 12250, i16 0, i16 0, i16 12251, i16 12252, i16 0, i16 0, i16 2356, i16 12253, i16 6614, i16 0, i16 6608, i16 6613, i16 12254, i16 3412, i16 12255, i16 2649, i16 6615, i16 6612, i16 0, i16 0, i16 12256, i16 10849, i16 0, i16 5794, i16 5796, i16 0, i16 3540, i16 5795, i16 5798, i16 5797, i16 0, i16 3522, i16 10850, i16 5799, i16 10851, i16 3095, i16 10852, i16 10853, i16 10854, i16 0, i16 0, i16 5800, i16 0, i16 10855, i16 10856, i16 0, i16 0, i16 5803, i16 0, i16 10857, i16 5802, i16 5801, i16 0, i16 5475, i16 10333, i16 10334, i16 10335, i16 0, i16 2773, i16 1739, i16 1261, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10336, i16 10337, i16 0, i16 10338, i16 0, i16 3287, i16 0, i16 2950, i16 10339, i16 0, i16 10340, i16 0, i16 0, i16 2774, i16 0, i16 0, i16 0, i16 0, i16 1651, i16 7523, i16 7524, i16 7525, i16 3790, i16 0, i16 7526, i16 7527, i16 3791, i16 3795, i16 791, i16 7528, i16 0, i16 7529, i16 0, i16 7530, i16 3237, i16 3794, i16 7531, i16 7532, i16 7533, i16 0, i16 3793, i16 3797, i16 7534, i16 0, i16 7535, i16 3796, i16 0, i16 2693, i16 0, i16 0, i16 7536, i16 9828, i16 9829, i16 0, i16 2926, i16 9830, i16 0, i16 0, i16 0, i16 2804, i16 5207, i16 0, i16 9831, i16 9832, i16 0, i16 5209, i16 0, i16 3618, i16 0, i16 5206, i16 9833, i16 5208, i16 916, i16 9834, i16 5203, i16 0, i16 9835, i16 9836, i16 0, i16 9837, i16 0, i16 0, i16 4051, i16 11876, i16 11877, i16 11878, i16 11879, i16 0, i16 0, i16 11880, i16 11881, i16 0, i16 0, i16 6445, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6434, i16 11882, i16 0, i16 11883, i16 6435, i16 6433, i16 11884, i16 11885, i16 11886, i16 11887, i16 0, i16 0, i16 0, i16 11888, i16 0, i16 0, i16 4709, i16 4710, i16 1212, i16 0, i16 0, i16 2905, i16 2553, i16 1291, i16 1840, i16 2408, i16 0, i16 0, i16 2027, i16 761, i16 0, i16 0, i16 9042, i16 4711, i16 9043, i16 0, i16 9044, i16 9045, i16 0, i16 0, i16 0, i16 9046, i16 935, i16 4715, i16 0, i16 0, i16 9047, i16 9048, i16 8037, i16 0, i16 8038, i16 8039, i16 8040, i16 8041, i16 4095, i16 766, i16 1748, i16 8042, i16 8043, i16 0, i16 8044, i16 1432, i16 8045, i16 8046, i16 2578, i16 0, i16 0, i16 8047, i16 8048, i16 0, i16 0, i16 4096, i16 4097, i16 0, i16 0, i16 4099, i16 0, i16 8049, i16 8050, i16 8051, i16 615, i16 616, i16 0, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 7126, i16 7129, i16 7131, i16 7132, i16 7133, i16 7134, i16 7141, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 6247, i16 11588, i16 11589, i16 11590, i16 6250, i16 0, i16 6249, i16 0, i16 0, i16 0, i16 6252, i16 11591, i16 0, i16 6251, i16 11592, i16 6253, i16 11593, i16 0, i16 1984, i16 11594, i16 6254, i16 11595, i16 0, i16 6255, i16 0, i16 0, i16 11596, i16 11597, i16 11598, i16 11599, i16 6256, i16 2279, i16 8295, i16 0, i16 8296, i16 0, i16 0, i16 0, i16 0, i16 8297, i16 0, i16 0, i16 0, i16 0, i16 8298, i16 0, i16 0, i16 0, i16 0, i16 8299, i16 8300, i16 8301, i16 0, i16 8302, i16 0, i16 0, i16 8303, i16 0, i16 8304, i16 8305, i16 4208, i16 4212, i16 4209, i16 8306, i16 1128, i16 7640, i16 3851, i16 7641, i16 3849, i16 3406, i16 3850, i16 0, i16 3153, i16 3852, i16 3853, i16 3854, i16 2782, i16 7642, i16 0, i16 0, i16 3858, i16 3856, i16 3857, i16 3855, i16 1752, i16 3859, i16 3451, i16 3633, i16 7643, i16 0, i16 7644, i16 0, i16 7645, i16 3860, i16 7646, i16 7647, i16 2152, i16 12316, i16 6626, i16 6628, i16 12317, i16 12318, i16 1360, i16 12319, i16 3132, i16 12320, i16 12321, i16 1939, i16 3662, i16 0, i16 6624, i16 1773, i16 0, i16 0, i16 3690, i16 12322, i16 12323, i16 6630, i16 12324, i16 12325, i16 0, i16 0, i16 6629, i16 6631, i16 0, i16 0, i16 0, i16 0, i16 3944, i16 7785, i16 0, i16 0, i16 7786, i16 3946, i16 3945, i16 0, i16 2218, i16 864, i16 7787, i16 7788, i16 0, i16 901, i16 3947, i16 7789, i16 3948, i16 0, i16 7790, i16 1520, i16 7791, i16 7792, i16 3949, i16 7793, i16 7794, i16 0, i16 7795, i16 1293, i16 0, i16 7796, i16 0, i16 0, i16 4200, i16 3671, i16 0, i16 0, i16 8271, i16 8272, i16 2951, i16 8273, i16 8274, i16 4202, i16 0, i16 0, i16 8275, i16 0, i16 0, i16 0, i16 8276, i16 0, i16 0, i16 0, i16 0, i16 8277, i16 0, i16 0, i16 0, i16 0, i16 1692, i16 0, i16 0, i16 0, i16 8278, i16 0, i16 5994, i16 0, i16 5984, i16 0, i16 0, i16 0, i16 11142, i16 11143, i16 5996, i16 11144, i16 5982, i16 2999, i16 11145, i16 11170, i16 0, i16 0, i16 0, i16 3544, i16 0, i16 0, i16 0, i16 5991, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6013, i16 11146, i16 11147, i16 4972, i16 0, i16 9436, i16 4974, i16 4973, i16 9437, i16 3339, i16 0, i16 0, i16 2029, i16 1949, i16 1815, i16 0, i16 4975, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4977, i16 2158, i16 9438, i16 4976, i16 0, i16 0, i16 9439, i16 0, i16 0, i16 4978, i16 9440, i16 5228, i16 9855, i16 9856, i16 9857, i16 0, i16 9858, i16 5229, i16 3239, i16 3040, i16 0, i16 0, i16 5230, i16 2962, i16 0, i16 9859, i16 9860, i16 9861, i16 0, i16 2638, i16 9862, i16 0, i16 9863, i16 9864, i16 0, i16 5231, i16 1004, i16 9865, i16 1292, i16 9866, i16 3415, i16 9867, i16 3399, i16 365, i16 366, i16 0, i16 0, i16 0, i16 258, i16 257, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 361, i16 0, i16 297, i16 298, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 323, i16 0, i16 0, i16 0, i16 0, i16 878, i16 9060, i16 9061, i16 9062, i16 9063, i16 2020, i16 9064, i16 3353, i16 1767, i16 9065, i16 9066, i16 9067, i16 9068, i16 2089, i16 9069, i16 2256, i16 9070, i16 9071, i16 0, i16 9072, i16 4719, i16 4717, i16 4718, i16 9074, i16 0, i16 9073, i16 0, i16 0, i16 2606, i16 0, i16 0, i16 4750, i16 10350, i16 10351, i16 0, i16 10352, i16 10353, i16 0, i16 0, i16 0, i16 10354, i16 0, i16 10355, i16 3583, i16 1628, i16 0, i16 10356, i16 1504, i16 0, i16 0, i16 3004, i16 0, i16 5479, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10357, i16 0, i16 5481, i16 0, i16 10358, i16 0, i16 6767, i16 7051, i16 3421, i16 12559, i16 6768, i16 0, i16 6769, i16 12560, i16 6770, i16 1082, i16 12561, i16 6772, i16 0, i16 2212, i16 12562, i16 0, i16 0, i16 6773, i16 0, i16 12563, i16 1407, i16 0, i16 12564, i16 12565, i16 12566, i16 6774, i16 6778, i16 12567, i16 6776, i16 12568, i16 0, i16 12569, i16 9328, i16 9329, i16 4897, i16 9330, i16 0, i16 4904, i16 0, i16 0, i16 0, i16 0, i16 4910, i16 3086, i16 4916, i16 0, i16 0, i16 9331, i16 0, i16 9332, i16 4911, i16 4914, i16 4908, i16 9333, i16 0, i16 2615, i16 0, i16 3119, i16 9334, i16 4898, i16 0, i16 9335, i16 4906, i16 2093, i16 9840, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2997, i16 9841, i16 9842, i16 9843, i16 0, i16 0, i16 0, i16 5217, i16 0, i16 0, i16 5218, i16 0, i16 0, i16 9844, i16 0, i16 0, i16 0, i16 9845, i16 0, i16 0, i16 9846, i16 5219, i16 0, i16 9847, i16 0, i16 9848, i16 10096, i16 10097, i16 0, i16 1805, i16 10098, i16 928, i16 5328, i16 10099, i16 3520, i16 10100, i16 10101, i16 3256, i16 5329, i16 0, i16 0, i16 10102, i16 2755, i16 3490, i16 1626, i16 2184, i16 0, i16 0, i16 10103, i16 2574, i16 3918, i16 10104, i16 2639, i16 1005, i16 5330, i16 10105, i16 10106, i16 10107, i16 7537, i16 0, i16 7538, i16 7539, i16 0, i16 1485, i16 7540, i16 7541, i16 0, i16 0, i16 7542, i16 0, i16 3798, i16 7543, i16 0, i16 0, i16 7544, i16 7545, i16 1910, i16 0, i16 2443, i16 2694, i16 1395, i16 0, i16 3799, i16 0, i16 0, i16 0, i16 0, i16 1237, i16 0, i16 0, i16 11377, i16 11378, i16 0, i16 11379, i16 6114, i16 11380, i16 6115, i16 1929, i16 0, i16 6117, i16 0, i16 2564, i16 0, i16 1457, i16 1061, i16 0, i16 0, i16 11381, i16 11382, i16 0, i16 6120, i16 11383, i16 0, i16 11384, i16 0, i16 1058, i16 11385, i16 6125, i16 11386, i16 0, i16 6121, i16 6124, i16 11889, i16 11890, i16 6432, i16 0, i16 2718, i16 0, i16 0, i16 6437, i16 6441, i16 6438, i16 6436, i16 11891, i16 6439, i16 11892, i16 11893, i16 11894, i16 6440, i16 0, i16 0, i16 0, i16 11895, i16 6447, i16 0, i16 0, i16 0, i16 6442, i16 0, i16 11896, i16 11897, i16 11898, i16 11899, i16 2305, i16 10866, i16 940, i16 0, i16 10867, i16 0, i16 5812, i16 5813, i16 0, i16 10868, i16 0, i16 5814, i16 0, i16 3537, i16 0, i16 10869, i16 10870, i16 0, i16 0, i16 1979, i16 0, i16 5816, i16 5815, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10871, i16 0, i16 0, i16 0, i16 10872, i16 3699, i16 4782, i16 2240, i16 0, i16 0, i16 0, i16 4781, i16 0, i16 0, i16 4776, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1544, i16 9169, i16 9170, i16 9171, i16 4788, i16 4786, i16 9172, i16 978, i16 4784, i16 4790, i16 4796, i16 0, i16 9173, i16 9174, i16 9175, i16 0, i16 0, i16 7283, i16 7282, i16 7285, i16 7291, i16 7284, i16 7290, i16 7180, i16 7295, i16 7299, i16 7298, i16 7301, i16 7300, i16 7312, i16 7311, i16 7314, i16 7313, i16 7182, i16 7327, i16 7329, i16 7328, i16 7331, i16 7335, i16 7330, i16 285, i16 7191, i16 7346, i16 7345, i16 7348, i16 7347, i16 7361, i16 7195, i16 7362, i16 9075, i16 4724, i16 1873, i16 1615, i16 4722, i16 9076, i16 9077, i16 0, i16 0, i16 4723, i16 9078, i16 2179, i16 9079, i16 0, i16 9081, i16 4721, i16 0, i16 9080, i16 1794, i16 0, i16 0, i16 0, i16 0, i16 9082, i16 9083, i16 9084, i16 0, i16 9085, i16 9086, i16 4726, i16 4725, i16 4730, i16 1908, i16 0, i16 11233, i16 11234, i16 0, i16 0, i16 6015, i16 11235, i16 0, i16 0, i16 0, i16 0, i16 11236, i16 0, i16 11237, i16 0, i16 11238, i16 3235, i16 0, i16 3379, i16 6055, i16 6054, i16 0, i16 6050, i16 6051, i16 0, i16 861, i16 0, i16 11239, i16 0, i16 11240, i16 6053, i16 1909, i16 0, i16 0, i16 0, i16 2851, i16 5627, i16 5626, i16 0, i16 10612, i16 5623, i16 10613, i16 0, i16 0, i16 3681, i16 0, i16 0, i16 0, i16 0, i16 10614, i16 5632, i16 10615, i16 10616, i16 5636, i16 5633, i16 10617, i16 10618, i16 10619, i16 0, i16 10620, i16 0, i16 10621, i16 0, i16 7797, i16 0, i16 1797, i16 3950, i16 0, i16 7798, i16 0, i16 0, i16 3367, i16 1706, i16 1273, i16 3478, i16 2391, i16 3032, i16 1966, i16 7799, i16 0, i16 0, i16 7800, i16 7801, i16 2006, i16 7802, i16 1945, i16 1958, i16 0, i16 2053, i16 7803, i16 3033, i16 0, i16 7804, i16 7805, i16 3953, i16 12917, i16 0, i16 12918, i16 0, i16 6964, i16 0, i16 6960, i16 0, i16 6961, i16 6957, i16 6963, i16 12919, i16 6959, i16 1093, i16 0, i16 12920, i16 3703, i16 12921, i16 6962, i16 6958, i16 6956, i16 6955, i16 12922, i16 0, i16 12923, i16 12924, i16 12925, i16 6966, i16 12926, i16 0, i16 12927, i16 0, i16 9590, i16 2555, i16 9591, i16 0, i16 5069, i16 9592, i16 5058, i16 0, i16 5064, i16 9593, i16 5071, i16 837, i16 5061, i16 0, i16 5072, i16 9594, i16 9595, i16 2183, i16 0, i16 2030, i16 9596, i16 3194, i16 9597, i16 1699, i16 0, i16 5053, i16 5067, i16 2745, i16 9598, i16 0, i16 0, i16 0, i16 3448, i16 0, i16 6681, i16 2357, i16 12444, i16 0, i16 0, i16 6682, i16 12445, i16 3225, i16 6683, i16 1038, i16 12446, i16 12447, i16 12448, i16 867, i16 0, i16 1176, i16 0, i16 1175, i16 6684, i16 0, i16 6685, i16 0, i16 6686, i16 6687, i16 0, i16 0, i16 0, i16 12449, i16 12450, i16 12451, i16 4472, i16 4470, i16 8699, i16 2401, i16 0, i16 8700, i16 0, i16 4460, i16 1799, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2475, i16 4491, i16 8701, i16 2402, i16 4486, i16 8702, i16 4483, i16 4484, i16 8703, i16 1943, i16 4487, i16 4490, i16 8704, i16 8705, i16 0, i16 0, i16 6008, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11157, i16 3267, i16 11158, i16 5999, i16 0, i16 0, i16 0, i16 991, i16 1551, i16 3104, i16 6009, i16 0, i16 5997, i16 0, i16 11159, i16 6006, i16 11160, i16 11161, i16 0, i16 6016, i16 11162, i16 6001, i16 0, i16 0, i16 9336, i16 3424, i16 4926, i16 4913, i16 9337, i16 0, i16 0, i16 0, i16 9338, i16 1499, i16 936, i16 1090, i16 0, i16 0, i16 4889, i16 0, i16 9339, i16 0, i16 9340, i16 0, i16 9341, i16 2094, i16 4918, i16 9342, i16 4925, i16 1962, i16 1109, i16 9343, i16 0, i16 2545, i16 9344, i16 9345, i16 11640, i16 0, i16 11641, i16 1480, i16 11642, i16 6284, i16 11643, i16 0, i16 0, i16 0, i16 3295, i16 11644, i16 11645, i16 2312, i16 0, i16 11646, i16 0, i16 1301, i16 0, i16 3462, i16 2385, i16 11647, i16 6285, i16 11648, i16 0, i16 0, i16 2194, i16 2611, i16 2119, i16 11649, i16 11650, i16 0, i16 8313, i16 2599, i16 0, i16 4213, i16 0, i16 8314, i16 4215, i16 0, i16 0, i16 4216, i16 8315, i16 0, i16 0, i16 0, i16 8316, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8317, i16 8318, i16 0, i16 0, i16 0, i16 4218, i16 4219, i16 0, i16 8319, i16 0, i16 0, i16 11129, i16 0, i16 11130, i16 0, i16 11131, i16 5980, i16 11132, i16 5988, i16 0, i16 5995, i16 5989, i16 0, i16 0, i16 11133, i16 5987, i16 0, i16 0, i16 0, i16 11134, i16 5958, i16 11135, i16 11136, i16 5985, i16 0, i16 11137, i16 11138, i16 5981, i16 11139, i16 11140, i16 11141, i16 1169, i16 5983, i16 890, i16 11664, i16 6294, i16 1459, i16 0, i16 11665, i16 1857, i16 11666, i16 0, i16 1856, i16 0, i16 3704, i16 6293, i16 6292, i16 2350, i16 0, i16 1260, i16 3694, i16 1053, i16 2121, i16 0, i16 11667, i16 11668, i16 11669, i16 0, i16 11670, i16 11671, i16 11672, i16 6291, i16 0, i16 11673, i16 11674, i16 3962, i16 0, i16 3663, i16 7821, i16 7822, i16 0, i16 3271, i16 7823, i16 2697, i16 1563, i16 1671, i16 0, i16 0, i16 7824, i16 3970, i16 7825, i16 0, i16 2874, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7826, i16 3974, i16 3707, i16 4830, i16 0, i16 0, i16 4844, i16 801, i16 9267, i16 0, i16 4832, i16 9268, i16 9269, i16 3403, i16 4837, i16 2157, i16 2664, i16 4827, i16 9270, i16 9271, i16 4843, i16 9272, i16 0, i16 0, i16 9273, i16 9274, i16 0, i16 2245, i16 4853, i16 1108, i16 1498, i16 0, i16 0, i16 0, i16 11387, i16 0, i16 0, i16 11388, i16 3027, i16 11389, i16 0, i16 11390, i16 0, i16 6122, i16 0, i16 0, i16 6123, i16 3135, i16 3059, i16 6126, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2530, i16 6136, i16 11392, i16 6132, i16 11393, i16 11394, i16 1008, i16 0, i16 2172, i16 0, i16 0, i16 8264, i16 8265, i16 4194, i16 0, i16 8266, i16 8267, i16 3247, i16 8268, i16 0, i16 0, i16 8269, i16 0, i16 1565, i16 8270, i16 0, i16 0, i16 0, i16 0, i16 4203, i16 4204, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2072, i16 0, i16 0, i16 0, i16 6012, i16 0, i16 6011, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2982, i16 6018, i16 0, i16 6029, i16 0, i16 0, i16 11171, i16 0, i16 1121, i16 0, i16 0, i16 0, i16 6032, i16 0, i16 0, i16 6014, i16 11172, i16 0, i16 0, i16 6019, i16 3549, i16 0, i16 0, i16 10108, i16 0, i16 0, i16 10109, i16 5331, i16 0, i16 5336, i16 10110, i16 10111, i16 5334, i16 5333, i16 4684, i16 1033, i16 5332, i16 10112, i16 803, i16 10113, i16 3011, i16 10114, i16 0, i16 3043, i16 0, i16 0, i16 10115, i16 0, i16 3582, i16 5337, i16 5335, i16 2591, i16 2255, i16 10116, i16 10117, i16 7806, i16 874, i16 2392, i16 1590, i16 1534, i16 1380, i16 7807, i16 7808, i16 3957, i16 2532, i16 2531, i16 1320, i16 2065, i16 3958, i16 3956, i16 969, i16 2507, i16 1897, i16 1822, i16 845, i16 0, i16 7809, i16 1107, i16 1661, i16 1821, i16 0, i16 3959, i16 0, i16 0, i16 0, i16 0, i16 0, i16 639, i16 640, i16 7138, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 7135, i16 7140, i16 7137, i16 7139, i16 7142, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6271, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1076, i16 0, i16 11616, i16 11617, i16 11618, i16 11619, i16 11620, i16 0, i16 6272, i16 0, i16 6273, i16 6274, i16 0, i16 0, i16 9087, i16 9088, i16 4731, i16 0, i16 4727, i16 0, i16 1029, i16 4728, i16 4729, i16 3054, i16 9090, i16 9091, i16 9092, i16 0, i16 3160, i16 1445, i16 4732, i16 0, i16 0, i16 9094, i16 2267, i16 9095, i16 2090, i16 9097, i16 9098, i16 9099, i16 2581, i16 9100, i16 9102, i16 0, i16 9093, i16 9096, i16 9599, i16 0, i16 0, i16 0, i16 9600, i16 2271, i16 0, i16 1100, i16 1734, i16 2097, i16 5055, i16 2001, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1447, i16 0, i16 5054, i16 0, i16 0, i16 0, i16 5076, i16 2044, i16 1523, i16 0, i16 5091, i16 9601, i16 5085, i16 8320, i16 8321, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8322, i16 1203, i16 0, i16 4221, i16 4220, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4222, i16 8323, i16 0, i16 8325, i16 0, i16 8326, i16 0, i16 8327, i16 0, i16 0, i16 8576, i16 4395, i16 0, i16 0, i16 8577, i16 8578, i16 0, i16 8579, i16 4396, i16 0, i16 1325, i16 0, i16 4397, i16 8580, i16 4398, i16 0, i16 8581, i16 4400, i16 0, i16 2805, i16 8582, i16 0, i16 4401, i16 4402, i16 8583, i16 4403, i16 0, i16 8584, i16 4388, i16 4387, i16 0, i16 0, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 0, i16 0, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 1665, i16 2915, i16 0, i16 0, i16 5051, i16 0, i16 0, i16 0, i16 9719, i16 9720, i16 0, i16 3555, i16 5149, i16 0, i16 5153, i16 2522, i16 9721, i16 5152, i16 0, i16 5131, i16 0, i16 9722, i16 6697, i16 0, i16 0, i16 9723, i16 5157, i16 0, i16 9724, i16 9725, i16 5161, i16 0, i16 5249, i16 5250, i16 5248, i16 0, i16 0, i16 9900, i16 0, i16 0, i16 0, i16 1950, i16 0, i16 0, i16 2853, i16 1334, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9901, i16 9902, i16 0, i16 0, i16 5252, i16 2543, i16 5251, i16 9903, i16 9904, i16 3680, i16 2973, i16 9905, i16 0, i16 5507, i16 1426, i16 0, i16 0, i16 10420, i16 10421, i16 10422, i16 1247, i16 1222, i16 1846, i16 10423, i16 10424, i16 0, i16 0, i16 0, i16 10425, i16 3491, i16 10426, i16 0, i16 5513, i16 10427, i16 5512, i16 2379, i16 5509, i16 10428, i16 0, i16 5511, i16 10429, i16 10430, i16 2010, i16 2187, i16 5510, i16 11651, i16 6286, i16 0, i16 11652, i16 0, i16 11653, i16 6289, i16 11654, i16 6290, i16 11655, i16 0, i16 0, i16 0, i16 11656, i16 11657, i16 0, i16 1715, i16 2471, i16 6288, i16 11658, i16 2120, i16 3125, i16 11659, i16 11660, i16 11661, i16 0, i16 0, i16 6287, i16 11662, i16 11663, i16 1855, i16 0, i16 5508, i16 0, i16 2917, i16 0, i16 0, i16 2106, i16 0, i16 10431, i16 3123, i16 10432, i16 0, i16 10433, i16 0, i16 1740, i16 0, i16 0, i16 0, i16 0, i16 10434, i16 0, i16 0, i16 0, i16 0, i16 2807, i16 0, i16 10435, i16 5514, i16 10436, i16 10437, i16 0, i16 10438, i16 5515, i16 4485, i16 1972, i16 8706, i16 4488, i16 0, i16 0, i16 4482, i16 8707, i16 3469, i16 3468, i16 8708, i16 0, i16 8709, i16 4492, i16 4493, i16 798, i16 8710, i16 8711, i16 8712, i16 8713, i16 8714, i16 4481, i16 8715, i16 8716, i16 0, i16 8717, i16 1391, i16 751, i16 8718, i16 0, i16 8719, i16 1143, i16 4230, i16 8332, i16 0, i16 4228, i16 0, i16 4229, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8333, i16 8334, i16 0, i16 0, i16 0, i16 1829, i16 4231, i16 8335, i16 0, i16 1597, i16 4232, i16 8336, i16 1869, i16 2461, i16 0, i16 4233, i16 4234, i16 1837, i16 1598, i16 8337, i16 3427, i16 1673, i16 0, i16 3259, i16 5542, i16 10499, i16 10500, i16 3335, i16 10501, i16 10502, i16 5544, i16 0, i16 0, i16 10503, i16 2298, i16 886, i16 959, i16 757, i16 0, i16 0, i16 0, i16 0, i16 10504, i16 10505, i16 5543, i16 0, i16 10506, i16 0, i16 0, i16 10507, i16 10508, i16 0, i16 10509, i16 2441, i16 6521, i16 754, i16 3661, i16 0, i16 0, i16 0, i16 6526, i16 12021, i16 12022, i16 12024, i16 0, i16 12025, i16 12026, i16 2502, i16 12023, i16 0, i16 1988, i16 2197, i16 12027, i16 12028, i16 6528, i16 6527, i16 12029, i16 824, i16 6529, i16 0, i16 0, i16 3110, i16 0, i16 6537, i16 12030, i16 8585, i16 4404, i16 1436, i16 8586, i16 8587, i16 0, i16 3102, i16 8588, i16 0, i16 1729, i16 3118, i16 2631, i16 3138, i16 4405, i16 0, i16 8589, i16 2081, i16 877, i16 8590, i16 4406, i16 8591, i16 8592, i16 0, i16 4407, i16 8593, i16 3459, i16 8594, i16 0, i16 3065, i16 8595, i16 8596, i16 4410, i16 10634, i16 1163, i16 0, i16 5637, i16 0, i16 10635, i16 10636, i16 5638, i16 10637, i16 0, i16 5639, i16 5642, i16 10638, i16 0, i16 0, i16 0, i16 0, i16 10639, i16 0, i16 10640, i16 10641, i16 0, i16 10642, i16 5641, i16 3087, i16 10643, i16 10644, i16 0, i16 0, i16 5643, i16 3657, i16 3266, i16 1675, i16 3402, i16 12998, i16 12997, i16 7003, i16 12999, i16 0, i16 0, i16 0, i16 13000, i16 13001, i16 13002, i16 3301, i16 0, i16 0, i16 7011, i16 13003, i16 0, i16 7007, i16 0, i16 0, i16 0, i16 13004, i16 13005, i16 0, i16 0, i16 7012, i16 13006, i16 13007, i16 0, i16 13008, i16 0, i16 7563, i16 7564, i16 7565, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7566, i16 0, i16 1722, i16 3506, i16 0, i16 7567, i16 7568, i16 0, i16 3804, i16 3807, i16 3803, i16 1721, i16 0, i16 2060, i16 0, i16 7569, i16 7570, i16 0, i16 0, i16 7571, i16 1428, i16 0, i16 3980, i16 7837, i16 0, i16 7838, i16 3982, i16 7839, i16 3984, i16 0, i16 7840, i16 7841, i16 0, i16 1765, i16 3693, i16 7842, i16 3973, i16 3971, i16 3983, i16 7843, i16 3978, i16 0, i16 0, i16 7844, i16 7845, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7846, i16 0, i16 0, i16 7847, i16 9868, i16 953, i16 3679, i16 9869, i16 0, i16 0, i16 0, i16 3333, i16 9870, i16 3199, i16 0, i16 9871, i16 0, i16 0, i16 9872, i16 9873, i16 0, i16 9874, i16 2272, i16 0, i16 5232, i16 0, i16 0, i16 9875, i16 9876, i16 2848, i16 0, i16 9877, i16 9878, i16 1500, i16 5233, i16 9879, i16 11148, i16 6005, i16 0, i16 0, i16 0, i16 2246, i16 0, i16 11149, i16 0, i16 11150, i16 1253, i16 0, i16 1370, i16 0, i16 6000, i16 11151, i16 11152, i16 11153, i16 0, i16 992, i16 11154, i16 0, i16 2113, i16 0, i16 6003, i16 0, i16 0, i16 0, i16 1743, i16 11155, i16 0, i16 2768, i16 4749, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4751, i16 0, i16 9131, i16 4752, i16 0, i16 9132, i16 9133, i16 0, i16 9134, i16 0, i16 4753, i16 0, i16 1351, i16 879, i16 1616, i16 4754, i16 0, i16 4755, i16 2048, i16 2409, i16 9135, i16 9089, i16 3954, i16 2373, i16 2372, i16 2493, i16 9101, i16 1348, i16 0, i16 4733, i16 4737, i16 0, i16 0, i16 976, i16 4734, i16 4736, i16 0, i16 9103, i16 9104, i16 9105, i16 4735, i16 0, i16 9106, i16 2042, i16 9107, i16 0, i16 0, i16 0, i16 2571, i16 782, i16 4738, i16 9108, i16 9109, i16 9110, i16 9111, i16 4739, i16 0, i16 9112, i16 10897, i16 5830, i16 0, i16 0, i16 10898, i16 0, i16 10899, i16 0, i16 5831, i16 0, i16 0, i16 0, i16 10900, i16 0, i16 10901, i16 0, i16 10902, i16 0, i16 0, i16 1883, i16 10903, i16 10904, i16 3454, i16 10905, i16 0, i16 10906, i16 10907, i16 5833, i16 10908, i16 2562, i16 10909, i16 5832, i16 3218, i16 3626, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8131, i16 1017, i16 4128, i16 8132, i16 8133, i16 0, i16 8134, i16 8135, i16 2369, i16 4131, i16 0, i16 2786, i16 8136, i16 0, i16 2760, i16 2787, i16 3026, i16 2670, i16 0, i16 0, i16 0, i16 1726, i16 8137, i16 3731, i16 3303, i16 3732, i16 0, i16 1579, i16 816, i16 3365, i16 0, i16 1307, i16 0, i16 0, i16 1308, i16 1309, i16 2691, i16 3593, i16 7399, i16 3733, i16 0, i16 0, i16 3734, i16 0, i16 0, i16 3735, i16 0, i16 0, i16 7400, i16 2200, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4243, i16 8345, i16 0, i16 4244, i16 8346, i16 2517, i16 8347, i16 846, i16 1946, i16 779, i16 8348, i16 2398, i16 1137, i16 1894, i16 8349, i16 1599, i16 8350, i16 8351, i16 0, i16 8352, i16 8353, i16 2789, i16 8354, i16 1968, i16 1138, i16 2603, i16 2699, i16 769, i16 1240, i16 3274, i16 0, i16 1907, i16 7060, i16 0, i16 0, i16 0, i16 13092, i16 7061, i16 0, i16 13093, i16 7062, i16 0, i16 0, i16 0, i16 13094, i16 13095, i16 13096, i16 7063, i16 13097, i16 13098, i16 13099, i16 0, i16 7064, i16 13100, i16 7065, i16 7066, i16 13101, i16 7067, i16 0, i16 7068, i16 7069, i16 7070, i16 0, i16 13102, i16 7572, i16 0, i16 3808, i16 7573, i16 7574, i16 1356, i16 0, i16 7575, i16 0, i16 3805, i16 3806, i16 0, i16 7576, i16 2828, i16 7577, i16 2435, i16 7578, i16 1312, i16 0, i16 7579, i16 7580, i16 3328, i16 3809, i16 0, i16 7581, i16 0, i16 3594, i16 0, i16 7582, i16 7583, i16 3810, i16 7584, i16 6549, i16 6548, i16 6546, i16 5564, i16 1173, i16 12043, i16 0, i16 6514, i16 12044, i16 6551, i16 6550, i16 12045, i16 12046, i16 0, i16 12047, i16 6552, i16 12048, i16 3495, i16 0, i16 0, i16 0, i16 12049, i16 0, i16 12050, i16 12051, i16 12052, i16 0, i16 12053, i16 0, i16 0, i16 0, i16 0, i16 2710, i16 2000, i16 1280, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9490, i16 9491, i16 0, i16 9492, i16 3039, i16 9493, i16 1887, i16 0, i16 9494, i16 0, i16 9495, i16 5004, i16 0, i16 1153, i16 0, i16 9496, i16 927, i16 9497, i16 9498, i16 2895, i16 5003, i16 1621, i16 10390, i16 10391, i16 0, i16 0, i16 10387, i16 0, i16 10392, i16 5497, i16 3348, i16 0, i16 10393, i16 0, i16 5496, i16 0, i16 0, i16 820, i16 0, i16 0, i16 10394, i16 10395, i16 5500, i16 0, i16 10397, i16 10398, i16 0, i16 0, i16 10399, i16 10400, i16 0, i16 5499, i16 0, i16 10401, i16 12184, i16 12185, i16 0, i16 0, i16 12186, i16 12187, i16 12188, i16 12189, i16 0, i16 12190, i16 12191, i16 0, i16 12192, i16 2876, i16 1062, i16 0, i16 12193, i16 6601, i16 12194, i16 12195, i16 6598, i16 6600, i16 12196, i16 0, i16 12197, i16 0, i16 0, i16 0, i16 12198, i16 12199, i16 6596, i16 0, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 3481, i16 0, i16 8676, i16 1142, i16 8677, i16 8678, i16 896, i16 4468, i16 8679, i16 2933, i16 758, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8680, i16 8681, i16 3066, i16 4428, i16 4474, i16 4478, i16 3446, i16 8682, i16 4471, i16 0, i16 0, i16 8683, i16 2792, i16 4476, i16 8684, i16 0, i16 9113, i16 0, i16 2635, i16 0, i16 9114, i16 0, i16 3646, i16 0, i16 0, i16 0, i16 0, i16 1814, i16 0, i16 9115, i16 3264, i16 0, i16 0, i16 9116, i16 9117, i16 0, i16 3312, i16 9118, i16 0, i16 0, i16 4746, i16 4741, i16 0, i16 9119, i16 4744, i16 0, i16 4743, i16 9120, i16 922, i16 2387, i16 12036, i16 1512, i16 0, i16 3529, i16 12037, i16 12038, i16 6541, i16 2731, i16 0, i16 0, i16 12039, i16 2431, i16 1928, i16 6542, i16 12040, i16 0, i16 6545, i16 0, i16 12041, i16 2036, i16 6543, i16 2354, i16 2353, i16 12042, i16 813, i16 0, i16 3608, i16 6547, i16 0, i16 3083, i16 2714, i16 5730, i16 10770, i16 0, i16 5726, i16 10771, i16 10772, i16 0, i16 3241, i16 1164, i16 10773, i16 10774, i16 3420, i16 10775, i16 0, i16 807, i16 0, i16 10776, i16 5729, i16 0, i16 3658, i16 10777, i16 10778, i16 0, i16 0, i16 10779, i16 10780, i16 5728, i16 0, i16 0, i16 0, i16 0, i16 11930, i16 11931, i16 0, i16 11932, i16 11933, i16 6468, i16 6465, i16 11934, i16 6469, i16 0, i16 1927, i16 6470, i16 1231, i16 1422, i16 0, i16 11935, i16 0, i16 11936, i16 1511, i16 0, i16 11937, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6471, i16 11938, i16 0, i16 0, i16 2893, i16 11419, i16 0, i16 0, i16 11420, i16 0, i16 11421, i16 0, i16 0, i16 0, i16 2319, i16 0, i16 3684, i16 6148, i16 11422, i16 6149, i16 0, i16 0, i16 0, i16 0, i16 6155, i16 0, i16 2165, i16 0, i16 6151, i16 11423, i16 6154, i16 0, i16 0, i16 0, i16 11424, i16 0, i16 6146, i16 11675, i16 0, i16 6296, i16 11676, i16 6297, i16 6295, i16 11677, i16 1553, i16 0, i16 3503, i16 0, i16 11678, i16 1858, i16 2914, i16 0, i16 11679, i16 11680, i16 6300, i16 11681, i16 2281, i16 0, i16 2565, i16 11682, i16 11683, i16 3493, i16 11684, i16 6303, i16 0, i16 0, i16 0, i16 1573, i16 11685, i16 10140, i16 10141, i16 5356, i16 5358, i16 10142, i16 3129, i16 10143, i16 2102, i16 0, i16 0, i16 5365, i16 0, i16 10144, i16 5364, i16 10145, i16 10146, i16 0, i16 0, i16 5366, i16 0, i16 1879, i16 1700, i16 0, i16 10147, i16 2806, i16 5367, i16 0, i16 2668, i16 10148, i16 0, i16 5369, i16 10149, i16 10396, i16 2105, i16 0, i16 0, i16 0, i16 0, i16 10402, i16 5501, i16 0, i16 0, i16 0, i16 0, i16 10403, i16 0, i16 2378, i16 0, i16 10404, i16 5503, i16 5502, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5504, i16 10405, i16 0, i16 10406, i16 0, i16 10407, i16 10408, i16 5789, i16 10839, i16 0, i16 10840, i16 10841, i16 10842, i16 10843, i16 5792, i16 5790, i16 5791, i16 1750, i16 1454, i16 0, i16 10844, i16 2585, i16 0, i16 3020, i16 10845, i16 2047, i16 0, i16 0, i16 2952, i16 0, i16 3078, i16 5793, i16 4539, i16 0, i16 0, i16 0, i16 10846, i16 10847, i16 10848, i16 10910, i16 0, i16 0, i16 0, i16 10911, i16 0, i16 5835, i16 0, i16 0, i16 0, i16 5834, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5836, i16 0, i16 0, i16 0, i16 2276, i16 0, i16 5837, i16 0, i16 5838, i16 0, i16 0, i16 0, i16 3214, i16 5839, i16 12702, i16 12703, i16 6839, i16 0, i16 0, i16 6841, i16 12704, i16 12705, i16 12706, i16 6840, i16 0, i16 6843, i16 6846, i16 12707, i16 12708, i16 0, i16 6842, i16 6844, i16 6845, i16 0, i16 12709, i16 6847, i16 0, i16 1343, i16 12710, i16 12711, i16 0, i16 12712, i16 12713, i16 0, i16 12714, i16 12715, i16 1951, i16 9987, i16 0, i16 9988, i16 0, i16 5280, i16 9989, i16 9990, i16 0, i16 9991, i16 1433, i16 0, i16 0, i16 3042, i16 5281, i16 0, i16 0, i16 5308, i16 0, i16 0, i16 9992, i16 9993, i16 0, i16 9994, i16 5287, i16 9995, i16 9996, i16 9997, i16 0, i16 9998, i16 1526, i16 9999, i16 5279, i16 0, i16 982, i16 0, i16 0, i16 9976, i16 9977, i16 0, i16 5275, i16 9978, i16 1804, i16 9979, i16 9980, i16 2658, i16 5277, i16 9981, i16 0, i16 0, i16 9982, i16 9983, i16 0, i16 0, i16 9984, i16 0, i16 0, i16 9985, i16 0, i16 0, i16 0, i16 9986, i16 5282, i16 0, i16 5535, i16 10488, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10489, i16 0, i16 0, i16 0, i16 10490, i16 0, i16 10491, i16 1952, i16 10492, i16 10493, i16 5538, i16 825, i16 0, i16 10494, i16 10495, i16 0, i16 5541, i16 10496, i16 10497, i16 10498, i16 5539, i16 985, i16 1449, i16 5540, i16 1629, i16 2976, i16 11805, i16 1510, i16 6388, i16 6387, i16 0, i16 3169, i16 0, i16 11806, i16 0, i16 1906, i16 0, i16 11807, i16 2769, i16 0, i16 11808, i16 11809, i16 0, i16 11810, i16 0, i16 0, i16 11811, i16 0, i16 11812, i16 11813, i16 0, i16 6391, i16 6392, i16 1647, i16 6390, i16 11814, i16 11815, i16 9632, i16 0, i16 823, i16 0, i16 0, i16 5106, i16 0, i16 9633, i16 0, i16 0, i16 5094, i16 0, i16 0, i16 9634, i16 9635, i16 5100, i16 0, i16 9636, i16 5102, i16 9637, i16 0, i16 0, i16 3518, i16 5097, i16 0, i16 0, i16 2733, i16 9638, i16 0, i16 5099, i16 0, i16 9639, i16 10912, i16 2422, i16 5840, i16 0, i16 10913, i16 0, i16 10914, i16 0, i16 5841, i16 0, i16 0, i16 0, i16 0, i16 10915, i16 0, i16 3659, i16 5844, i16 10916, i16 5843, i16 5842, i16 2641, i16 10917, i16 5845, i16 2161, i16 0, i16 5846, i16 0, i16 0, i16 0, i16 5847, i16 3683, i16 5848, i16 5537, i16 1365, i16 0, i16 0, i16 3688, i16 2364, i16 0, i16 0, i16 0, i16 0, i16 5516, i16 10439, i16 10440, i16 983, i16 2712, i16 3190, i16 0, i16 10441, i16 0, i16 10442, i16 10443, i16 10444, i16 10445, i16 0, i16 10446, i16 0, i16 0, i16 10447, i16 10448, i16 5517, i16 0, i16 0, i16 9121, i16 4740, i16 9122, i16 9123, i16 4745, i16 0, i16 0, i16 2875, i16 9124, i16 4742, i16 0, i16 0, i16 9125, i16 0, i16 9126, i16 9127, i16 0, i16 0, i16 0, i16 0, i16 9128, i16 0, i16 4747, i16 0, i16 0, i16 2043, i16 4748, i16 9129, i16 3514, i16 2995, i16 0, i16 9130, i16 4770, i16 2143, i16 3438, i16 4772, i16 4773, i16 3543, i16 9153, i16 0, i16 0, i16 0, i16 4778, i16 0, i16 9154, i16 1617, i16 9155, i16 2960, i16 4775, i16 2795, i16 4712, i16 4716, i16 9156, i16 1262, i16 9157, i16 2946, i16 0, i16 0, i16 0, i16 9158, i16 4777, i16 0, i16 2091, i16 3037, i16 932, i16 2261, i16 4409, i16 4408, i16 1437, i16 2489, i16 0, i16 4414, i16 4412, i16 8597, i16 4411, i16 3572, i16 1566, i16 8598, i16 0, i16 8599, i16 2056, i16 4413, i16 2763, i16 1997, i16 0, i16 0, i16 8600, i16 2845, i16 4417, i16 4416, i16 0, i16 0, i16 8601, i16 8602, i16 4415, i16 0, i16 10150, i16 10151, i16 3566, i16 5368, i16 10152, i16 0, i16 0, i16 10153, i16 0, i16 2416, i16 0, i16 0, i16 10154, i16 0, i16 10155, i16 10156, i16 5374, i16 10157, i16 5376, i16 5377, i16 2583, i16 0, i16 0, i16 0, i16 0, i16 10158, i16 5375, i16 0, i16 5372, i16 0, i16 5370, i16 5371, i16 9640, i16 9641, i16 5107, i16 9642, i16 5101, i16 3416, i16 0, i16 9643, i16 9644, i16 5096, i16 9645, i16 1875, i16 5120, i16 9646, i16 9647, i16 9648, i16 0, i16 1101, i16 0, i16 5098, i16 5103, i16 5104, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2513, i16 2495, i16 0, i16 4009, i16 7890, i16 0, i16 0, i16 2516, i16 4014, i16 2067, i16 7891, i16 0, i16 7892, i16 7893, i16 0, i16 4011, i16 7894, i16 0, i16 3445, i16 7895, i16 7896, i16 0, i16 1431, i16 0, i16 0, i16 4015, i16 4016, i16 7897, i16 0, i16 7898, i16 7899, i16 4013, i16 4019, i16 7900, i16 0, i16 6057, i16 6061, i16 0, i16 3058, i16 0, i16 0, i16 11253, i16 0, i16 6060, i16 2115, i16 1914, i16 6063, i16 0, i16 0, i16 1339, i16 11254, i16 11255, i16 11256, i16 11257, i16 11258, i16 0, i16 6064, i16 11259, i16 3184, i16 6059, i16 11260, i16 6020, i16 0, i16 11261, i16 11262, i16 11263, i16 11264, i16 10409, i16 0, i16 0, i16 0, i16 0, i16 10410, i16 5474, i16 10411, i16 0, i16 10412, i16 5476, i16 5506, i16 5505, i16 10413, i16 0, i16 0, i16 0, i16 10414, i16 0, i16 0, i16 10415, i16 10416, i16 0, i16 0, i16 0, i16 0, i16 1881, i16 10417, i16 3638, i16 10418, i16 1923, i16 10419, i16 4266, i16 0, i16 4267, i16 8383, i16 3441, i16 0, i16 8384, i16 0, i16 4268, i16 8385, i16 0, i16 8386, i16 8387, i16 1347, i16 8388, i16 0, i16 8389, i16 1969, i16 8390, i16 0, i16 0, i16 8391, i16 8392, i16 0, i16 4269, i16 4270, i16 1933, i16 2167, i16 2897, i16 2207, i16 3089, i16 2909, i16 6315, i16 6323, i16 6316, i16 0, i16 6312, i16 0, i16 2717, i16 6311, i16 0, i16 0, i16 0, i16 6309, i16 11707, i16 3472, i16 1859, i16 0, i16 11708, i16 6313, i16 0, i16 6310, i16 11709, i16 11710, i16 11711, i16 6317, i16 2051, i16 0, i16 1530, i16 0, i16 11712, i16 0, i16 2527, i16 11713, i16 7083, i16 7084, i16 3645, i16 7081, i16 0, i16 0, i16 7085, i16 7086, i16 13145, i16 13146, i16 7088, i16 0, i16 7087, i16 13147, i16 13148, i16 13149, i16 13150, i16 13151, i16 7090, i16 13152, i16 0, i16 13153, i16 7091, i16 7089, i16 0, i16 0, i16 13154, i16 0, i16 0, i16 13155, i16 0, i16 0, i16 11947, i16 0, i16 11948, i16 1078, i16 0, i16 6478, i16 0, i16 11949, i16 11950, i16 1745, i16 6477, i16 0, i16 6486, i16 0, i16 0, i16 11951, i16 11952, i16 0, i16 6480, i16 6482, i16 3258, i16 6479, i16 11953, i16 11954, i16 11955, i16 6481, i16 0, i16 6485, i16 6483, i16 1232, i16 11956, i16 6484, i16 1964, i16 0, i16 12536, i16 12537, i16 6746, i16 12538, i16 6747, i16 2199, i16 6748, i16 12539, i16 3643, i16 0, i16 0, i16 6743, i16 6750, i16 6752, i16 0, i16 6751, i16 0, i16 6749, i16 0, i16 0, i16 6753, i16 0, i16 0, i16 6754, i16 12540, i16 12541, i16 2433, i16 12542, i16 999, i16 0, i16 12716, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8365, i16 8366, i16 1941, i16 4247, i16 1204, i16 2863, i16 3386, i16 4248, i16 0, i16 4249, i16 0, i16 0, i16 3152, i16 8367, i16 0, i16 8368, i16 4251, i16 0, i16 1129, i16 1396, i16 4250, i16 0, i16 8369, i16 8370, i16 8371, i16 8372, i16 8373, i16 1139, i16 0, i16 2173, i16 4255, i16 1780, i16 10159, i16 5373, i16 10160, i16 10161, i16 10162, i16 0, i16 0, i16 10163, i16 10164, i16 5380, i16 10165, i16 5378, i16 10166, i16 5379, i16 0, i16 10167, i16 0, i16 0, i16 10168, i16 10169, i16 0, i16 10170, i16 10171, i16 0, i16 0, i16 10172, i16 0, i16 10173, i16 10174, i16 10175, i16 10176, i16 5381, i16 2480, i16 12493, i16 6712, i16 0, i16 3172, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6715, i16 6713, i16 1654, i16 0, i16 6714, i16 1531, i16 0, i16 12494, i16 0, i16 12495, i16 0, i16 12496, i16 12497, i16 12498, i16 0, i16 0, i16 3226, i16 6717, i16 6719, i16 6718, i16 6720, i16 6065, i16 11276, i16 0, i16 0, i16 2993, i16 11277, i16 11278, i16 6075, i16 6067, i16 11279, i16 6069, i16 11280, i16 11281, i16 0, i16 0, i16 11282, i16 6079, i16 6068, i16 0, i16 11283, i16 6072, i16 0, i16 0, i16 921, i16 11284, i16 2882, i16 0, i16 6073, i16 6076, i16 11285, i16 0, i16 11286, i16 10673, i16 5663, i16 5661, i16 0, i16 5659, i16 1122, i16 10674, i16 2110, i16 5664, i16 0, i16 0, i16 5662, i16 0, i16 5660, i16 5668, i16 0, i16 10675, i16 5667, i16 5666, i16 5665, i16 0, i16 0, i16 10676, i16 10677, i16 0, i16 5669, i16 10678, i16 10679, i16 10680, i16 5670, i16 2275, i16 10681, i16 6834, i16 6830, i16 12689, i16 0, i16 6833, i16 0, i16 12690, i16 12691, i16 1180, i16 0, i16 0, i16 12692, i16 6835, i16 0, i16 6836, i16 0, i16 0, i16 12693, i16 12694, i16 12695, i16 12696, i16 12697, i16 0, i16 0, i16 0, i16 12698, i16 12699, i16 12700, i16 12701, i16 6837, i16 6838, i16 0, i16 11186, i16 3177, i16 6034, i16 2814, i16 11187, i16 11188, i16 762, i16 11189, i16 0, i16 6027, i16 11190, i16 6023, i16 2425, i16 6017, i16 6025, i16 6030, i16 11191, i16 2919, i16 0, i16 11192, i16 11193, i16 755, i16 11194, i16 6022, i16 11195, i16 6031, i16 3183, i16 0, i16 11196, i16 11197, i16 0, i16 0, i16 2228, i16 5817, i16 0, i16 10873, i16 0, i16 10874, i16 5818, i16 0, i16 10875, i16 5819, i16 0, i16 1190, i16 10876, i16 0, i16 10877, i16 10878, i16 1166, i16 0, i16 10879, i16 5820, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5821, i16 10880, i16 3344, i16 3538, i16 10881, i16 10882, i16 10883, i16 2996, i16 0, i16 1154, i16 3655, i16 0, i16 0, i16 9664, i16 0, i16 0, i16 9665, i16 9666, i16 3378, i16 2675, i16 9673, i16 0, i16 9667, i16 9668, i16 5117, i16 5119, i16 9669, i16 0, i16 0, i16 9670, i16 0, i16 2361, i16 0, i16 0, i16 9671, i16 9672, i16 0, i16 5121, i16 5115, i16 4021, i16 7906, i16 7907, i16 4031, i16 2360, i16 0, i16 7908, i16 4033, i16 7909, i16 1593, i16 4023, i16 2624, i16 0, i16 0, i16 7910, i16 7911, i16 0, i16 7912, i16 7913, i16 7914, i16 7915, i16 0, i16 0, i16 7916, i16 4027, i16 4020, i16 1134, i16 0, i16 1199, i16 1096, i16 4028, i16 4024, i16 11957, i16 11958, i16 0, i16 11959, i16 0, i16 11960, i16 6487, i16 11961, i16 11962, i16 2965, i16 3621, i16 0, i16 11963, i16 11964, i16 11965, i16 1987, i16 0, i16 0, i16 0, i16 6488, i16 11966, i16 11967, i16 11968, i16 11969, i16 3473, i16 6490, i16 11970, i16 6489, i16 0, i16 0, i16 6493, i16 3504, i16 7094, i16 13164, i16 13165, i16 13166, i16 0, i16 13167, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8374, i16 974, i16 4254, i16 0, i16 4252, i16 4256, i16 4253, i16 2918, i16 4883, i16 2174, i16 0, i16 4257, i16 0, i16 0, i16 3597, i16 8375, i16 4258, i16 8376, i16 0, i16 4260, i16 8377, i16 2625, i16 4259, i16 0, i16 2252, i16 0, i16 1870, i16 0, i16 0, i16 8378, i16 2485, i16 1960, i16 9142, i16 0, i16 9143, i16 0, i16 0, i16 0, i16 4759, i16 4760, i16 3435, i16 0, i16 3381, i16 3369, i16 3343, i16 1784, i16 4762, i16 0, i16 0, i16 1948, i16 0, i16 9144, i16 3332, i16 0, i16 4764, i16 4767, i16 4766, i16 0, i16 1210, i16 0, i16 0, i16 1279, i16 9145, i16 4763, i16 1975, i16 1847, i16 10458, i16 0, i16 10459, i16 0, i16 0, i16 10460, i16 10461, i16 5525, i16 10462, i16 1976, i16 0, i16 0, i16 0, i16 10463, i16 0, i16 975, i16 3130, i16 0, i16 10464, i16 5526, i16 10465, i16 0, i16 3076, i16 0, i16 10466, i16 0, i16 0, i16 10467, i16 10468, i16 2380, i16 6327, i16 3527, i16 0, i16 0, i16 0, i16 0, i16 6330, i16 0, i16 6333, i16 0, i16 0, i16 6331, i16 3116, i16 11722, i16 0, i16 0, i16 11723, i16 0, i16 0, i16 6328, i16 0, i16 0, i16 0, i16 11724, i16 0, i16 1373, i16 0, i16 0, i16 11725, i16 0, i16 6332, i16 0, i16 6584, i16 6585, i16 12161, i16 12162, i16 0, i16 12163, i16 3049, i16 1736, i16 1938, i16 6586, i16 0, i16 6587, i16 3569, i16 2004, i16 3455, i16 3609, i16 6588, i16 1375, i16 0, i16 12164, i16 12165, i16 0, i16 6589, i16 12166, i16 2722, i16 12167, i16 12168, i16 6592, i16 1115, i16 2198, i16 12169, i16 6590, i16 10936, i16 1550, i16 0, i16 0, i16 838, i16 5859, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10937, i16 10938, i16 5866, i16 10939, i16 5867, i16 10940, i16 10941, i16 2838, i16 0, i16 10942, i16 0, i16 1336, i16 10943, i16 10944, i16 0, i16 5878, i16 2936, i16 10945, i16 0, i16 11448, i16 0, i16 6159, i16 11449, i16 0, i16 0, i16 0, i16 11450, i16 0, i16 0, i16 0, i16 6168, i16 11451, i16 11452, i16 11453, i16 6162, i16 0, i16 11454, i16 0, i16 6170, i16 0, i16 11455, i16 0, i16 0, i16 0, i16 0, i16 3541, i16 6173, i16 0, i16 6164, i16 11456, i16 11457, i16 12216, i16 0, i16 12217, i16 12218, i16 2739, i16 6604, i16 12219, i16 12220, i16 6607, i16 6605, i16 12221, i16 6610, i16 0, i16 12222, i16 12223, i16 12224, i16 6611, i16 12225, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6603, i16 12226, i16 12227, i16 6616, i16 923, i16 12228, i16 12229, i16 6602, i16 0, i16 7865, i16 832, i16 4007, i16 0, i16 0, i16 3999, i16 4000, i16 0, i16 2066, i16 3356, i16 7866, i16 0, i16 7867, i16 4005, i16 4004, i16 7868, i16 0, i16 0, i16 2734, i16 0, i16 0, i16 0, i16 7869, i16 0, i16 0, i16 0, i16 4006, i16 0, i16 7870, i16 4003, i16 7871, i16 7872, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 0, i16 687, i16 7156, i16 7157, i16 7158, i16 7159, i16 7160, i16 7161, i16 7162, i16 7163, i16 7164, i16 7165, i16 7166, i16 0, i16 7167, i16 7168, i16 2490, i16 4430, i16 0, i16 0, i16 8646, i16 1277, i16 4440, i16 2262, i16 908, i16 4434, i16 1021, i16 4439, i16 0, i16 8647, i16 0, i16 1326, i16 0, i16 4436, i16 0, i16 8648, i16 0, i16 8649, i16 0, i16 0, i16 0, i16 0, i16 4442, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12475, i16 6705, i16 6707, i16 0, i16 12476, i16 6706, i16 12477, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1724, i16 0, i16 0, i16 3792, i16 0, i16 9136, i16 0, i16 9137, i16 1481, i16 3484, i16 0, i16 3283, i16 0, i16 3189, i16 9138, i16 4756, i16 0, i16 0, i16 0, i16 9139, i16 1768, i16 2656, i16 4757, i16 3674, i16 0, i16 9140, i16 0, i16 3313, i16 9141, i16 2636, i16 4758, i16 1213, i16 8124, i16 4126, i16 0, i16 0, i16 2698, i16 0, i16 8125, i16 8126, i16 0, i16 0, i16 1135, i16 0, i16 0, i16 8127, i16 0, i16 7095, i16 904, i16 3272, i16 8128, i16 0, i16 2137, i16 2759, i16 0, i16 0, i16 0, i16 8129, i16 1755, i16 0, i16 0, i16 4132, i16 0, i16 8130, i16 5309, i16 0, i16 3122, i16 5310, i16 10082, i16 0, i16 1125, i16 5311, i16 10083, i16 5312, i16 10084, i16 10085, i16 0, i16 0, i16 5313, i16 10086, i16 5315, i16 5316, i16 5314, i16 0, i16 10087, i16 0, i16 3146, i16 5318, i16 5317, i16 0, i16 10088, i16 10089, i16 10090, i16 0, i16 0, i16 10091, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 1470, i16 2526, i16 5138, i16 2934, i16 0, i16 9713, i16 5145, i16 9714, i16 9715, i16 0, i16 9716, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5150, i16 5148, i16 0, i16 0, i16 5151, i16 0, i16 9717, i16 5154, i16 0, i16 0, i16 9718, i16 5147, i16 7873, i16 7874, i16 0, i16 0, i16 859, i16 7875, i16 1707, i16 2171, i16 7876, i16 7877, i16 0, i16 0, i16 7878, i16 7879, i16 7880, i16 4001, i16 2785, i16 0, i16 0, i16 0, i16 4002, i16 7881, i16 747, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1474, i16 1874, i16 0, i16 1362, i16 9412, i16 0, i16 0, i16 937, i16 9413, i16 0, i16 0, i16 9414, i16 9415, i16 0, i16 0, i16 9416, i16 0, i16 0, i16 3534, i16 0, i16 0, i16 9417, i16 9418, i16 4956, i16 4955, i16 4958, i16 1244, i16 9419, i16 0, i16 1363, i16 1151, i16 9420, i16 3523, i16 3682, i16 0, i16 1636, i16 5824, i16 1925, i16 5823, i16 10884, i16 10885, i16 0, i16 10886, i16 5825, i16 1882, i16 10887, i16 10888, i16 10889, i16 2486, i16 10890, i16 5826, i16 10891, i16 10892, i16 1635, i16 10893, i16 3432, i16 5827, i16 5828, i16 0, i16 0, i16 5829, i16 10894, i16 10895, i16 10896, i16 11971, i16 11972, i16 6492, i16 11973, i16 1104, i16 6491, i16 6496, i16 11974, i16 0, i16 6495, i16 0, i16 0, i16 6494, i16 2737, i16 6497, i16 11975, i16 0, i16 11976, i16 11977, i16 11978, i16 11979, i16 11980, i16 0, i16 6498, i16 11981, i16 0, i16 0, i16 0, i16 6499, i16 11982, i16 11983, i16 1667, i16 3012, i16 10118, i16 3108, i16 0, i16 5339, i16 3577, i16 1448, i16 5340, i16 0, i16 5338, i16 3055, i16 5341, i16 0, i16 5342, i16 0, i16 10119, i16 804, i16 10120, i16 0, i16 2147, i16 5347, i16 0, i16 5344, i16 2890, i16 5343, i16 10121, i16 10122, i16 10123, i16 10124, i16 10125, i16 10126, i16 1221, i16 4804, i16 1472, i16 1446, i16 2796, i16 9208, i16 9209, i16 4802, i16 0, i16 783, i16 0, i16 9210, i16 0, i16 9211, i16 4805, i16 4807, i16 0, i16 1354, i16 1415, i16 9193, i16 1149, i16 1258, i16 9212, i16 0, i16 9213, i16 9214, i16 4810, i16 0, i16 9215, i16 1774, i16 3364, i16 0, i16 1802, i16 8900, i16 759, i16 0, i16 4625, i16 0, i16 8901, i16 0, i16 0, i16 0, i16 4622, i16 8902, i16 0, i16 8903, i16 0, i16 1209, i16 0, i16 0, i16 0, i16 8904, i16 8905, i16 910, i16 8906, i16 4628, i16 0, i16 8907, i16 8908, i16 3512, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2501, i16 2430, i16 12015, i16 2821, i16 12016, i16 6516, i16 1268, i16 0, i16 12017, i16 0, i16 0, i16 6525, i16 12018, i16 6522, i16 6535, i16 2822, i16 2595, i16 6519, i16 0, i16 2719, i16 2770, i16 6520, i16 6524, i16 2219, i16 12019, i16 2978, i16 2669, i16 12020, i16 0, i16 2283, i16 6523, i16 2451, i16 4550, i16 8780, i16 0, i16 8781, i16 8782, i16 0, i16 0, i16 8783, i16 4551, i16 4552, i16 3263, i16 0, i16 4554, i16 4553, i16 1998, i16 0, i16 2263, i16 1003, i16 1025, i16 8784, i16 4555, i16 8785, i16 776, i16 0, i16 0, i16 0, i16 2293, i16 4556, i16 8786, i16 6377, i16 4557, i16 1468, i16 12230, i16 12231, i16 3014, i16 0, i16 6606, i16 12232, i16 2125, i16 12233, i16 12234, i16 12235, i16 0, i16 0, i16 0, i16 0, i16 12236, i16 12237, i16 12238, i16 1650, i16 0, i16 0, i16 0, i16 12239, i16 12240, i16 12241, i16 12242, i16 12243, i16 0, i16 12244, i16 12245, i16 12246, i16 3323, i16 12247, i16 1479, i16 11505, i16 6195, i16 11506, i16 6194, i16 11507, i16 1983, i16 0, i16 11508, i16 11509, i16 11510, i16 11511, i16 1643, i16 5033, i16 11512, i16 0, i16 0, i16 11513, i16 6196, i16 2016, i16 0, i16 11514, i16 11515, i16 1052, i16 11516, i16 6197, i16 11517, i16 889, i16 11518, i16 2116, i16 6198, i16 11519, i16 968, i16 0, i16 0, i16 3649, i16 7705, i16 7706, i16 7707, i16 7708, i16 0, i16 2052, i16 2775, i16 1660, i16 3900, i16 3901, i16 0, i16 7709, i16 7710, i16 3634, i16 0, i16 0, i16 3670, i16 3903, i16 7711, i16 7712, i16 7713, i16 1587, i16 7714, i16 7715, i16 3902, i16 7716, i16 1042, i16 0, i16 1224, i16 0, i16 10478, i16 10479, i16 0, i16 0, i16 0, i16 10480, i16 5531, i16 10481, i16 10482, i16 2713, i16 10483, i16 5532, i16 2288, i16 0, i16 0, i16 10484, i16 0, i16 0, i16 3390, i16 10485, i16 0, i16 3098, i16 5533, i16 5534, i16 2584, i16 10486, i16 3604, i16 0, i16 10487, i16 5536, i16 2248, i16 1192, i16 0, i16 0, i16 3497, i16 1010, i16 1991, i16 1556, i16 0, i16 6739, i16 12524, i16 6738, i16 1862, i16 6740, i16 6737, i16 0, i16 0, i16 1787, i16 12525, i16 0, i16 0, i16 6744, i16 6167, i16 0, i16 12527, i16 3952, i16 12528, i16 2242, i16 6742, i16 12529, i16 12530, i16 12531, i16 1225, i16 0, i16 5685, i16 10699, i16 3460, i16 1631, i16 5684, i16 10700, i16 10701, i16 10702, i16 5688, i16 3447, i16 0, i16 2935, i16 0, i16 10703, i16 3114, i16 10704, i16 10705, i16 10706, i16 2034, i16 5687, i16 10707, i16 1924, i16 1632, i16 1849, i16 1288, i16 3211, i16 5686, i16 10708, i16 10709, i16 0, i16 1737, i16 5235, i16 5234, i16 0, i16 9880, i16 0, i16 0, i16 5236, i16 0, i16 9881, i16 0, i16 0, i16 0, i16 9882, i16 9883, i16 0, i16 0, i16 0, i16 5237, i16 9884, i16 0, i16 0, i16 5238, i16 0, i16 0, i16 0, i16 0, i16 9885, i16 0, i16 0, i16 0, i16 0, i16 1993, i16 2201, i16 3740, i16 7401, i16 3738, i16 0, i16 3739, i16 1271, i16 0, i16 0, i16 1688, i16 1013, i16 0, i16 3737, i16 3736, i16 3198, i16 7402, i16 0, i16 0, i16 0, i16 1817, i16 1816, i16 2467, i16 3741, i16 3148, i16 2320, i16 7403, i16 7404, i16 0, i16 245, i16 3742, i16 3744, i16 10953, i16 0, i16 0, i16 5870, i16 10954, i16 0, i16 0, i16 10955, i16 0, i16 5869, i16 0, i16 0, i16 10956, i16 0, i16 0, i16 5871, i16 10957, i16 2537, i16 0, i16 2937, i16 0, i16 10958, i16 0, i16 0, i16 0, i16 2642, i16 10959, i16 0, i16 10960, i16 0, i16 5875, i16 0, i16 714, i16 725, i16 715, i16 726, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 716, i16 0, i16 0, i16 727, i16 717, i16 0, i16 0, i16 728, i16 719, i16 0, i16 0, i16 730, i16 718, i16 0, i16 0, i16 729, i16 720, i16 741, i16 0, i16 0, i16 2762, i16 1913, i16 8396, i16 8397, i16 2399, i16 3561, i16 0, i16 8398, i16 8399, i16 8400, i16 0, i16 0, i16 4278, i16 8401, i16 4279, i16 2867, i16 8402, i16 1798, i16 0, i16 0, i16 8403, i16 8404, i16 4281, i16 0, i16 0, i16 4282, i16 8405, i16 8406, i16 8407, i16 8408, i16 0, i16 0, i16 8650, i16 4444, i16 4454, i16 4452, i16 0, i16 0, i16 4449, i16 8651, i16 8652, i16 8653, i16 4448, i16 3653, i16 8654, i16 4450, i16 0, i16 0, i16 1327, i16 8655, i16 1608, i16 0, i16 8656, i16 2057, i16 8657, i16 8658, i16 0, i16 4457, i16 4443, i16 0, i16 0, i16 8659, i16 0, i16 4447, i16 6348, i16 11745, i16 0, i16 1809, i16 11746, i16 11747, i16 0, i16 0, i16 0, i16 0, i16 4696, i16 11748, i16 6349, i16 11749, i16 6350, i16 11750, i16 1985, i16 0, i16 6351, i16 6352, i16 11751, i16 11752, i16 6353, i16 0, i16 0, i16 6354, i16 6355, i16 0, i16 11753, i16 0, i16 11754, i16 11755, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 482, i16 483, i16 484, i16 485, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 10190, i16 10191, i16 3602, i16 10192, i16 10193, i16 10194, i16 5392, i16 5390, i16 5391, i16 10195, i16 10189, i16 10196, i16 1187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3471, i16 0, i16 0, i16 10197, i16 3231, i16 0, i16 5394, i16 10198, i16 0, i16 0, i16 5393, i16 0, i16 0, i16 10199, i16 11214, i16 6043, i16 11215, i16 0, i16 2594, i16 0, i16 6044, i16 11216, i16 11217, i16 3525, i16 6033, i16 1051, i16 11218, i16 6039, i16 0, i16 11219, i16 6042, i16 3389, i16 0, i16 11220, i16 0, i16 0, i16 6045, i16 0, i16 0, i16 6038, i16 6041, i16 0, i16 11221, i16 0, i16 0, i16 0, i16 8145, i16 8146, i16 0, i16 1322, i16 0, i16 4134, i16 0, i16 8147, i16 8148, i16 8149, i16 8150, i16 0, i16 8151, i16 8152, i16 0, i16 8153, i16 8154, i16 0, i16 0, i16 3261, i16 8155, i16 0, i16 8156, i16 2436, i16 0, i16 0, i16 0, i16 0, i16 2663, i16 8157, i16 0, i16 4136, i16 9937, i16 0, i16 0, i16 2002, i16 0, i16 0, i16 9938, i16 9939, i16 5269, i16 9940, i16 5268, i16 9941, i16 9942, i16 0, i16 9943, i16 9944, i16 5270, i16 9945, i16 1072, i16 0, i16 0, i16 5272, i16 0, i16 9946, i16 5271, i16 9947, i16 5274, i16 5273, i16 9948, i16 0, i16 0, i16 0, i16 11986, i16 11987, i16 0, i16 6505, i16 11988, i16 11989, i16 11990, i16 3899, i16 3898, i16 0, i16 0, i16 0, i16 0, i16 6506, i16 5764, i16 6507, i16 2535, i16 2166, i16 2939, i16 0, i16 0, i16 11991, i16 11992, i16 6508, i16 11993, i16 0, i16 3242, i16 2677, i16 1685, i16 0, i16 11994, i16 2540, i16 3539, i16 0, i16 0, i16 0, i16 9581, i16 5066, i16 5060, i16 5057, i16 9582, i16 0, i16 9583, i16 3617, i16 5063, i16 0, i16 9584, i16 9585, i16 0, i16 2009, i16 5065, i16 0, i16 0, i16 5070, i16 9586, i16 0, i16 2800, i16 5068, i16 0, i16 9587, i16 0, i16 9588, i16 5062, i16 9589, i16 1236, i16 0, i16 3722, i16 0, i16 0, i16 3723, i16 3592, i16 0, i16 3500, i16 2415, i16 3725, i16 1865, i16 2896, i16 7395, i16 3728, i16 0, i16 0, i16 869, i16 1560, i16 0, i16 1559, i16 815, i16 7396, i16 7397, i16 3702, i16 3701, i16 0, i16 1704, i16 746, i16 7398, i16 3729, i16 3730, i16 8916, i16 0, i16 8917, i16 0, i16 8918, i16 8919, i16 4634, i16 0, i16 4638, i16 8920, i16 8921, i16 0, i16 3035, i16 2794, i16 0, i16 8922, i16 8923, i16 0, i16 0, i16 0, i16 4631, i16 8924, i16 4635, i16 0, i16 0, i16 0, i16 1443, i16 0, i16 0, i16 8925, i16 1766, i16 8926, i16 9428, i16 4968, i16 1842, i16 2270, i16 1686, i16 0, i16 3175, i16 9429, i16 0, i16 3255, i16 3695, i16 9430, i16 0, i16 0, i16 9431, i16 1864, i16 9432, i16 0, i16 0, i16 1733, i16 3647, i16 9433, i16 0, i16 0, i16 4969, i16 4970, i16 0, i16 1843, i16 0, i16 9434, i16 9435, i16 4971, i16 12756, i16 0, i16 12757, i16 12758, i16 12759, i16 0, i16 0, i16 12760, i16 2482, i16 0, i16 0, i16 6870, i16 0, i16 12761, i16 12762, i16 0, i16 2826, i16 0, i16 0, i16 12763, i16 0, i16 12764, i16 12765, i16 6871, i16 12766, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6876, i16 0, i16 7381, i16 7382, i16 3719, i16 2928, i16 7383, i16 1270, i16 0, i16 7384, i16 0, i16 0, i16 0, i16 2930, i16 0, i16 2880, i16 1532, i16 3302, i16 0, i16 7385, i16 0, i16 0, i16 0, i16 6101, i16 3720, i16 2133, i16 3721, i16 954, i16 7386, i16 0, i16 7387, i16 1378, i16 1577, i16 3450, i16 1238, i16 3818, i16 3819, i16 7595, i16 948, i16 0, i16 7596, i16 7597, i16 7598, i16 3817, i16 0, i16 7599, i16 7600, i16 7601, i16 7602, i16 0, i16 7604, i16 0, i16 1957, i16 0, i16 3822, i16 3821, i16 3820, i16 7605, i16 3764, i16 7606, i16 3823, i16 7607, i16 7608, i16 7609, i16 7610, i16 2061, i16 10967, i16 10968, i16 0, i16 0, i16 0, i16 5881, i16 5882, i16 10969, i16 10970, i16 10971, i16 0, i16 1953, i16 0, i16 10972, i16 5880, i16 10973, i16 1679, i16 5879, i16 0, i16 0, i16 5883, i16 0, i16 0, i16 10974, i16 2643, i16 3191, i16 2346, i16 0, i16 0, i16 0, i16 0, i16 2497, i16 3800, i16 7547, i16 0, i16 7548, i16 7549, i16 3802, i16 7550, i16 0, i16 0, i16 0, i16 7551, i16 0, i16 0, i16 3304, i16 7552, i16 7553, i16 7554, i16 1473, i16 7555, i16 7556, i16 7557, i16 0, i16 7558, i16 0, i16 1796, i16 3088, i16 3801, i16 7559, i16 7560, i16 0, i16 7561, i16 7562, i16 4569, i16 0, i16 0, i16 4567, i16 8807, i16 0, i16 0, i16 0, i16 4570, i16 0, i16 0, i16 0, i16 0, i16 8808, i16 3206, i16 8809, i16 0, i16 768, i16 0, i16 8810, i16 0, i16 0, i16 3157, i16 0, i16 0, i16 3068, i16 8811, i16 0, i16 4571, i16 8812, i16 4574, i16 2082, i16 4825, i16 9235, i16 2092, i16 9236, i16 0, i16 9237, i16 4163, i16 1569, i16 3563, i16 9238, i16 9239, i16 0, i16 0, i16 4816, i16 9240, i16 2709, i16 1030, i16 1698, i16 9241, i16 4808, i16 0, i16 4824, i16 1092, i16 0, i16 0, i16 4822, i16 4826, i16 9242, i16 2797, i16 0, i16 0, i16 0, i16 9177, i16 2477, i16 9178, i16 9179, i16 3222, i16 9180, i16 4798, i16 0, i16 9181, i16 9182, i16 3097, i16 0, i16 0, i16 0, i16 4797, i16 2987, i16 3314, i16 1148, i16 9183, i16 2336, i16 1999, i16 0, i16 0, i16 9184, i16 2676, i16 9185, i16 3485, i16 0, i16 9186, i16 4793, i16 4792, i16 0, i16 1242, i16 0, i16 4572, i16 4579, i16 2083, i16 0, i16 0, i16 0, i16 0, i16 4573, i16 2943, i16 0, i16 0, i16 8813, i16 8814, i16 8815, i16 8816, i16 3533, i16 4575, i16 4576, i16 4580, i16 2793, i16 4577, i16 1610, i16 2311, i16 0, i16 0, i16 4594, i16 3021, i16 0, i16 2519, i16 0, i16 6874, i16 12768, i16 6873, i16 6875, i16 12769, i16 6872, i16 0, i16 12767, i16 0, i16 0, i16 12770, i16 12771, i16 12772, i16 6878, i16 12773, i16 0, i16 0, i16 12774, i16 0, i16 0, i16 12775, i16 6877, i16 12776, i16 6880, i16 0, i16 0, i16 1344, i16 6879, i16 0, i16 12777, i16 0, i16 6881, i16 11995, i16 11996, i16 849, i16 0, i16 3371, i16 2210, i16 11997, i16 0, i16 0, i16 0, i16 11998, i16 11999, i16 0, i16 12000, i16 1465, i16 0, i16 12001, i16 1374, i16 12002, i16 12003, i16 3243, i16 12004, i16 0, i16 0, i16 0, i16 0, i16 6509, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1245, i16 0, i16 5239, i16 0, i16 0, i16 0, i16 0, i16 5240, i16 9886, i16 0, i16 0, i16 0, i16 1501, i16 9887, i16 9888, i16 3041, i16 0, i16 9889, i16 5242, i16 0, i16 9890, i16 0, i16 2146, i16 0, i16 0, i16 5241, i16 0, i16 0, i16 0, i16 0, i16 9891, i16 0, i16 7901, i16 7902, i16 0, i16 4010, i16 7903, i16 0, i16 7904, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4025, i16 4030, i16 0, i16 4026, i16 7905, i16 9949, i16 9950, i16 0, i16 9951, i16 1525, i16 9952, i16 9953, i16 3573, i16 0, i16 1353, i16 0, i16 939, i16 0, i16 0, i16 9954, i16 0, i16 9955, i16 0, i16 0, i16 9956, i16 0, i16 9957, i16 1383, i16 9958, i16 9959, i16 0, i16 0, i16 0, i16 9960, i16 0, i16 9961, i16 9962, i16 222, i16 223, i16 224, i16 244, i16 0, i16 246, i16 247, i16 248, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 324, i16 329, i16 265, i16 266, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 254, i16 0, i16 0, i16 0, i16 4062, i16 0, i16 0, i16 0, i16 7982, i16 7983, i16 4061, i16 1064, i16 7984, i16 0, i16 4063, i16 7985, i16 7986, i16 0, i16 0, i16 4066, i16 0, i16 0, i16 0, i16 0, i16 4065, i16 7987, i16 0, i16 0, i16 0, i16 7988, i16 7989, i16 0, i16 0, i16 7990, i16 7991, i16 7992, i16 8158, i16 8159, i16 8160, i16 0, i16 0, i16 0, i16 8161, i16 0, i16 3330, i16 8162, i16 0, i16 4137, i16 0, i16 0, i16 4142, i16 0, i16 0, i16 8163, i16 8164, i16 3204, i16 0, i16 0, i16 0, i16 0, i16 4141, i16 4135, i16 4138, i16 4140, i16 8166, i16 0, i16 1691, i16 0, i16 10718, i16 10719, i16 1977, i16 1527, i16 2383, i16 5689, i16 5695, i16 10720, i16 10721, i16 0, i16 0, i16 5690, i16 1451, i16 10722, i16 5698, i16 5702, i16 1478, i16 10723, i16 0, i16 10724, i16 0, i16 0, i16 5697, i16 10725, i16 0, i16 10726, i16 10727, i16 5706, i16 10728, i16 10729, i16 1633, i16 0, i16 736, i16 0, i16 0, i16 731, i16 722, i16 743, i16 0, i16 0, i16 738, i16 0, i16 0, i16 733, i16 721, i16 0, i16 0, i16 737, i16 742, i16 0, i16 0, i16 732, i16 723, i16 0, i16 0, i16 739, i16 744, i16 0, i16 0, i16 734, i16 724, i16 0, i16 0, i16 740, i16 2784, i16 7664, i16 7665, i16 2202, i16 3871, i16 7666, i16 3201, i16 2307, i16 1123, i16 0, i16 1130, i16 3872, i16 0, i16 0, i16 3874, i16 0, i16 0, i16 1429, i16 7667, i16 7668, i16 3873, i16 7669, i16 7670, i16 3648, i16 7671, i16 0, i16 0, i16 0, i16 0, i16 2040, i16 0, i16 0, i16 4064, i16 0, i16 2932, i16 0, i16 0, i16 4067, i16 7993, i16 7994, i16 7995, i16 7996, i16 0, i16 7997, i16 7998, i16 7999, i16 4068, i16 0, i16 0, i16 8000, i16 0, i16 8001, i16 4070, i16 0, i16 4069, i16 8002, i16 0, i16 0, i16 0, i16 0, i16 4072, i16 0, i16 8003, i16 0, i16 8416, i16 945, i16 8417, i16 8418, i16 0, i16 0, i16 8419, i16 0, i16 2370, i16 1189, i16 8420, i16 4287, i16 3385, i16 0, i16 0, i16 0, i16 0, i16 2487, i16 8421, i16 1084, i16 8422, i16 8423, i16 4289, i16 4291, i16 1184, i16 0, i16 8424, i16 4288, i16 4290, i16 0, i16 4293, i16 0, i16 9441, i16 0, i16 9442, i16 9443, i16 4979, i16 0, i16 0, i16 0, i16 9444, i16 9445, i16 4980, i16 4981, i16 9446, i16 9447, i16 9448, i16 4982, i16 9449, i16 4984, i16 4983, i16 4985, i16 938, i16 2573, i16 0, i16 4986, i16 9450, i16 9451, i16 1785, i16 1071, i16 4987, i16 9452, i16 9453, i16 2753, i16 12257, i16 0, i16 0, i16 0, i16 12258, i16 12259, i16 0, i16 12260, i16 12261, i16 0, i16 0, i16 12262, i16 0, i16 2355, i16 0, i16 12263, i16 0, i16 0, i16 12264, i16 0, i16 0, i16 0, i16 12265, i16 6619, i16 12266, i16 6618, i16 12267, i16 12268, i16 12269, i16 12270, i16 0, i16 12271, i16 10469, i16 5529, i16 10470, i16 5530, i16 2980, i16 10471, i16 2188, i16 5527, i16 0, i16 2596, i16 10472, i16 10473, i16 5528, i16 10474, i16 0, i16 0, i16 2107, i16 10475, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10476, i16 0, i16 0, i16 805, i16 10477, i16 0, i16 0, i16 0, i16 12005, i16 0, i16 6511, i16 12006, i16 12007, i16 6510, i16 997, i16 0, i16 12008, i16 2899, i16 6512, i16 2994, i16 0, i16 2738, i16 12009, i16 6513, i16 2017, i16 12010, i16 0, i16 0, i16 6515, i16 12011, i16 12012, i16 3411, i16 6530, i16 6517, i16 6518, i16 12013, i16 0, i16 2666, i16 12014, i16 0, i16 1254, i16 0, i16 12579, i16 6786, i16 0, i16 0, i16 6785, i16 0, i16 6784, i16 0, i16 0, i16 6329, i16 12580, i16 3249, i16 12581, i16 0, i16 0, i16 12582, i16 12583, i16 6787, i16 6788, i16 12584, i16 12585, i16 0, i16 12586, i16 12587, i16 12588, i16 0, i16 12589, i16 0, i16 12590, i16 12591, i16 9702, i16 5142, i16 0, i16 5141, i16 5143, i16 9703, i16 9704, i16 9705, i16 9706, i16 0, i16 5146, i16 0, i16 0, i16 0, i16 9707, i16 9708, i16 9709, i16 2754, i16 0, i16 5140, i16 0, i16 9710, i16 9711, i16 0, i16 0, i16 5144, i16 0, i16 0, i16 9712, i16 0, i16 0, i16 0, i16 2280, i16 6299, i16 0, i16 6304, i16 1574, i16 6301, i16 6302, i16 11686, i16 6298, i16 11687, i16 0, i16 0, i16 2315, i16 2854, i16 11688, i16 11689, i16 2546, i16 0, i16 994, i16 11690, i16 0, i16 0, i16 11691, i16 11692, i16 0, i16 3081, i16 0, i16 11693, i16 1250, i16 0, i16 11694, i16 2645, i16 10216, i16 0, i16 10217, i16 10218, i16 10219, i16 10220, i16 10221, i16 10222, i16 10223, i16 0, i16 10224, i16 0, i16 0, i16 10225, i16 3074, i16 0, i16 5416, i16 0, i16 0, i16 0, i16 5417, i16 0, i16 0, i16 7073, i16 5418, i16 5419, i16 5420, i16 0, i16 0, i16 10226, i16 0, i16 1793, i16 6633, i16 0, i16 0, i16 0, i16 12337, i16 12338, i16 0, i16 12339, i16 0, i16 12340, i16 12341, i16 0, i16 1416, i16 12342, i16 6635, i16 12343, i16 12344, i16 12345, i16 0, i16 12346, i16 12347, i16 1513, i16 12348, i16 0, i16 0, i16 0, i16 12349, i16 0, i16 6634, i16 12350, i16 2126, i16 12351, i16 8938, i16 8939, i16 0, i16 8940, i16 0, i16 0, i16 0, i16 4640, i16 0, i16 3347, i16 0, i16 0, i16 0, i16 8941, i16 0, i16 4641, i16 0, i16 0, i16 0, i16 8942, i16 8943, i16 0, i16 4642, i16 0, i16 3423, i16 0, i16 2251, i16 8944, i16 0, i16 8945, i16 0, i16 0, i16 235, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 269, i16 256, i16 270, i16 7109, i16 0, i16 4075, i16 4073, i16 4071, i16 4074, i16 0, i16 8004, i16 0, i16 0, i16 4076, i16 8005, i16 8006, i16 8007, i16 8010, i16 8011, i16 4077, i16 8008, i16 8009, i16 4078, i16 0, i16 4079, i16 0, i16 0, i16 0, i16 4080, i16 3841, i16 8012, i16 1965, i16 1824, i16 8013, i16 8014, i16 1016, i16 8015, i16 6891, i16 12790, i16 0, i16 12791, i16 2236, i16 0, i16 12792, i16 0, i16 12793, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12794, i16 6892, i16 12795, i16 6893, i16 12796, i16 6894, i16 6895, i16 12797, i16 12798, i16 12799, i16 1657, i16 0, i16 0, i16 12800, i16 12801, i16 0, i16 6896, i16 6897, i16 9963, i16 0, i16 9964, i16 0, i16 0, i16 9965, i16 9966, i16 0, i16 0, i16 1186, i16 9967, i16 9968, i16 0, i16 9969, i16 0, i16 0, i16 0, i16 0, i16 3637, i16 5276, i16 0, i16 9970, i16 0, i16 9971, i16 0, i16 9972, i16 0, i16 5278, i16 9973, i16 9974, i16 0, i16 9975, i16 7405, i16 7406, i16 7407, i16 2506, i16 3630, i16 787, i16 0, i16 0, i16 7408, i16 0, i16 0, i16 0, i16 0, i16 3743, i16 963, i16 7409, i16 1345, i16 7410, i16 2602, i16 7411, i16 0, i16 7412, i16 1482, i16 3745, i16 0, i16 0, i16 0, i16 2911, i16 0, i16 7413, i16 7414, i16 7415, i16 494, i16 495, i16 496, i16 497, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 232, i16 233, i16 242, i16 243, i16 0, i16 750, i16 3137, i16 3994, i16 0, i16 3990, i16 0, i16 7861, i16 3985, i16 3991, i16 1725, i16 7862, i16 0, i16 0, i16 7863, i16 7864, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3998, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12272, i16 12273, i16 12274, i16 12275, i16 0, i16 12276, i16 12277, i16 12278, i16 12279, i16 0, i16 0, i16 12280, i16 12281, i16 12282, i16 12283, i16 6617, i16 12284, i16 0, i16 3298, i16 12285, i16 0, i16 12286, i16 0, i16 12287, i16 12288, i16 12289, i16 0, i16 0, i16 12290, i16 12291, i16 0, i16 12292, i16 1009, i16 6386, i16 3667, i16 2659, i16 3696, i16 11796, i16 11797, i16 1860, i16 6385, i16 11798, i16 2454, i16 11799, i16 0, i16 6402, i16 2351, i16 11800, i16 0, i16 2901, i16 0, i16 3143, i16 0, i16 11802, i16 11801, i16 0, i16 0, i16 11803, i16 6389, i16 1810, i16 1861, i16 11804, i16 2123, i16 0, i16 4849, i16 4836, i16 0, i16 4846, i16 0, i16 9254, i16 0, i16 4840, i16 9255, i16 0, i16 9256, i16 9257, i16 9258, i16 9259, i16 2180, i16 4850, i16 9260, i16 9261, i16 2268, i16 0, i16 0, i16 9262, i16 9263, i16 0, i16 0, i16 4848, i16 1150, i16 9264, i16 9265, i16 9266, i16 0, i16 0, i16 13041, i16 0, i16 0, i16 0, i16 0, i16 13042, i16 7028, i16 13043, i16 0, i16 13044, i16 0, i16 13045, i16 0, i16 7029, i16 13046, i16 7030, i16 13047, i16 0, i16 3700, i16 13048, i16 13049, i16 0, i16 0, i16 0, i16 7027, i16 2512, i16 1762, i16 0, i16 0, i16 7031, i16 13050, i16 0, i16 6130, i16 0, i16 3293, i16 6131, i16 11395, i16 11396, i16 6128, i16 11397, i16 6129, i16 6134, i16 6137, i16 11398, i16 0, i16 6135, i16 11399, i16 11400, i16 11401, i16 6133, i16 6127, i16 11402, i16 11403, i16 0, i16 0, i16 0, i16 2587, i16 11404, i16 6144, i16 0, i16 3387, i16 0, i16 11405, i16 11406, i16 4083, i16 8027, i16 8028, i16 3253, i16 4085, i16 0, i16 0, i16 8029, i16 4087, i16 4086, i16 8030, i16 4088, i16 8031, i16 4089, i16 0, i16 1490, i16 0, i16 8032, i16 903, i16 4090, i16 0, i16 8033, i16 4092, i16 0, i16 4091, i16 0, i16 8034, i16 8035, i16 4094, i16 8036, i16 0, i16 2777, i16 3830, i16 829, i16 7623, i16 1518, i16 1430, i16 1995, i16 2622, i16 1313, i16 2321, i16 1584, i16 7624, i16 1669, i16 3832, i16 3417, i16 2757, i16 7625, i16 1868, i16 0, i16 3831, i16 7626, i16 3833, i16 7627, i16 0, i16 7628, i16 7629, i16 0, i16 2781, i16 0, i16 1112, i16 0, i16 0, i16 7630, i16 3320, i16 897, i16 811, i16 0, i16 2818, i16 11714, i16 11715, i16 6321, i16 0, i16 0, i16 11721, i16 11716, i16 6320, i16 0, i16 2883, i16 0, i16 6325, i16 11717, i16 0, i16 0, i16 6314, i16 0, i16 6324, i16 6326, i16 0, i16 1509, i16 6322, i16 1645, i16 11718, i16 1926, i16 11719, i16 11720, i16 3576, i16 1731, i16 2552, i16 4614, i16 8885, i16 2309, i16 8886, i16 1612, i16 2223, i16 909, i16 2371, i16 4612, i16 1252, i16 8887, i16 8888, i16 8889, i16 0, i16 0, i16 1442, i16 0, i16 2672, i16 4618, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2406, i16 0, i16 8890, i16 4621, i16 0, i16 7416, i16 1196, i16 7417, i16 7418, i16 0, i16 0, i16 0, i16 0, i16 7419, i16 3746, i16 788, i16 7420, i16 7421, i16 1561, i16 1197, i16 3185, i16 3019, i16 1272, i16 7422, i16 0, i16 0, i16 7423, i16 7424, i16 7425, i16 0, i16 7426, i16 1014, i16 0, i16 3781, i16 2752, i16 0, i16 0, i16 1529, i16 0, i16 2716, i16 6278, i16 11631, i16 11632, i16 0, i16 11633, i16 1458, i16 0, i16 2209, i16 0, i16 6281, i16 0, i16 2817, i16 11634, i16 6280, i16 11635, i16 11636, i16 1420, i16 11637, i16 11638, i16 6279, i16 2524, i16 1228, i16 0, i16 0, i16 6282, i16 0, i16 6283, i16 11639, i16 2118, i16 2041, i16 4564, i16 8795, i16 8796, i16 8797, i16 0, i16 8798, i16 2329, i16 6559, i16 3067, i16 0, i16 1947, i16 8799, i16 1730, i16 4565, i16 0, i16 8800, i16 8801, i16 8802, i16 2476, i16 8803, i16 3196, i16 8804, i16 0, i16 2518, i16 0, i16 8805, i16 4568, i16 8806, i16 0, i16 4566, i16 0, i16 10235, i16 5426, i16 0, i16 1159, i16 3056, i16 5427, i16 10236, i16 5428, i16 10237, i16 0, i16 5429, i16 0, i16 10238, i16 0, i16 3437, i16 0, i16 10239, i16 10240, i16 3430, i16 0, i16 2655, i16 0, i16 10241, i16 0, i16 2417, i16 10242, i16 0, i16 5431, i16 10243, i16 0, i16 2033, i16 0, i16 5628, i16 10657, i16 0, i16 10658, i16 5652, i16 5654, i16 0, i16 10659, i16 0, i16 10660, i16 0, i16 0, i16 5655, i16 10661, i16 10662, i16 0, i16 10663, i16 0, i16 10664, i16 3227, i16 0, i16 5656, i16 0, i16 0, i16 0, i16 10665, i16 0, i16 0, i16 10666, i16 10667, i16 3443, i16 0, i16 3325, i16 7813, i16 0, i16 0, i16 0, i16 0, i16 3062, i16 7814, i16 7815, i16 3968, i16 7816, i16 1183, i16 3963, i16 3964, i16 3966, i16 7817, i16 0, i16 7818, i16 0, i16 0, i16 7819, i16 7820, i16 3967, i16 0, i16 1274, i16 2220, i16 0, i16 3202, i16 3965, i16 3961, i16 1564, i16 0, i16 5629, i16 10622, i16 10623, i16 10624, i16 10625, i16 0, i16 10626, i16 5630, i16 0, i16 10627, i16 0, i16 10628, i16 10629, i16 5635, i16 10630, i16 10631, i16 0, i16 5624, i16 3951, i16 5631, i16 5625, i16 0, i16 0, i16 5634, i16 0, i16 10632, i16 0, i16 10633, i16 0, i16 0, i16 0, i16 5640, i16 4350, i16 0, i16 0, i16 4349, i16 4348, i16 3188, i16 0, i16 4357, i16 0, i16 8514, i16 0, i16 8512, i16 3341, i16 0, i16 4351, i16 0, i16 8513, i16 8515, i16 0, i16 0, i16 4353, i16 3358, i16 8516, i16 4352, i16 8517, i16 0, i16 0, i16 8518, i16 8519, i16 0, i16 8520, i16 4354, i16 9726, i16 5159, i16 0, i16 0, i16 0, i16 9727, i16 9728, i16 9729, i16 0, i16 5155, i16 0, i16 5156, i16 0, i16 9730, i16 0, i16 5160, i16 0, i16 5158, i16 0, i16 0, i16 0, i16 3141, i16 0, i16 9731, i16 5166, i16 0, i16 5163, i16 5162, i16 0, i16 5165, i16 2865, i16 5167, i16 3839, i16 0, i16 3840, i16 7634, i16 7635, i16 2879, i16 902, i16 0, i16 0, i16 3843, i16 1778, i16 7636, i16 3842, i16 1723, i16 7637, i16 3844, i16 5856, i16 3845, i16 3316, i16 3846, i16 0, i16 3847, i16 3848, i16 2134, i16 7638, i16 1917, i16 0, i16 0, i16 0, i16 7639, i16 0, i16 0, i16 5887, i16 10975, i16 5888, i16 5884, i16 10977, i16 10978, i16 10979, i16 0, i16 5885, i16 0, i16 5886, i16 10980, i16 0, i16 0, i16 10981, i16 1640, i16 10976, i16 0, i16 0, i16 5894, i16 0, i16 5890, i16 10982, i16 0, i16 10983, i16 0, i16 3165, i16 10984, i16 3359, i16 3103, i16 10985, i16 0, i16 120, i16 12, i16 25, i16 0, i16 0, i16 5, i16 0, i16 23, i16 156, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 17, i16 157, i16 107, i16 21, i16 147, i16 174, i16 24, i16 0, i16 3, i16 173, i16 137, i16 30, i16 88, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 143, i16 145, i16 8, i16 117, i16 132, i16 0, i16 0, i16 177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 187, i16 95, i16 182, i16 161, i16 129, i16 127, i16 97, i16 135, i16 103, i16 108, i16 83, i16 86, i16 166, i16 139, i16 89, i16 172, i16 56, i16 77, i16 106, i16 162, i16 189, i16 155, i16 41, i16 141, i16 124, i16 28, i16 74, i16 68, i16 113, i16 27, i16 67, i16 85, i16 144, i16 70, i16 126, i16 96, i16 35, i16 61, i16 190, i16 123, i16 176, i16 171, i16 148, i16 183, i16 38, i16 54, i16 142, i16 186, i16 87, i16 75, i16 94, i16 76, i16 32, i16 98, i16 163, i16 20, i16 133, i16 154, i16 66, i16 138, i16 52, i16 101, i16 44, i16 63, i16 19, i16 22, i16 164, i16 191, i16 136, i16 80, i16 65, i16 91, i16 114, i16 181, i16 51, i16 79, i16 184, i16 116, i16 151, i16 92, i16 140, i16 64, i16 167, i16 50, i16 110, i16 130, i16 192, i16 152, i16 100, i16 99, i16 36, i16 93, i16 72, i16 146, i16 131, i16 33, i16 47, i16 119, i16 7, i16 73, i16 185, i16 57, i16 160, i16 150, i16 78, i16 45, i16 118, i16 49, i16 115, i16 29, i16 31, i16 69, i16 188, i16 53, i16 149, i16 121, i16 55, i16 109, i16 82, i16 153, i16 178, i16 90, i16 122, i16 104, i16 6, i16 175, i16 60, i16 59, i16 43, i16 180, i16 125, i16 16, i16 179, i16 102, i16 134, i16 62, i16 37, i16 158, i16 71, i16 40, i16 84, i16 0, i16 1, i16 159, i16 13, i16 81, i16 111, i16 46, i16 105, i16 9, i16 128, i16 18, i16 170, i16 11, i16 15, i16 39, i16 34, i16 2, i16 48, i16 10, i16 14, i16 26, i16 58, i16 42, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 169, i16 112, i16 168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 165, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 84, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1270, i16 1950, i16 0, i16 426, i16 2786, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3365, i16 3389, i16 3410, i16 1975, i16 0, i16 2471, i16 2480, i16 2502, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2924, i16 1668, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 408, i16 0, i16 0, i16 3296, i16 0, i16 3249, i16 1864, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 141, i16 0, i16 51, i16 1513, i16 1049, i16 2968, i16 2294, i16 0, i16 1390, i16 979, i16 0, i16 1886, i16 0, i16 617, i16 0, i16 0, i16 0, i16 1282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 471, i16 2852, i16 0, i16 0, i16 0, i16 0, i16 3275, i16 2769, i16 2449, i16 0, i16 0, i16 0, i16 0, i16 693, i16 657, i16 2725, i16 1421, i16 1123, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1524, i16 2708, i16 2736, i16 2762, i16 2793, i16 2808, i16 2834, i16 2854, i16 2870, i16 2890, i16 2909, i16 2932, i16 2958, i16 2983, i16 3003, i16 3025, i16 3042, i16 3062, i16 3085, i16 3108, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2374, i16 367, i16 1664, i16 0, i16 0, i16 0, i16 0, i16 2342, i16 0, i16 0, i16 0, i16 0, i16 165, i16 2704, i16 1683, i16 0, i16 0, i16 1370, i16 0, i16 2875, i16 0, i16 2939, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1678, i16 423, i16 0, i16 2585, i16 0, i16 0, i16 0, i16 2178, i16 0, i16 0, i16 0, i16 463, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 603, i16 0, i16 3282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2510, i16 0, i16 0, i16 0, i16 2978, i16 0, i16 0, i16 0, i16 0, i16 0, i16 454, i16 3047, i16 2404, i16 0, i16 0, i16 1652, i16 0, i16 628, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1882, i16 3318, i16 2723, i16 1548, i16 2895, i16 3235, i16 3268, i16 2013, i16 0, i16 899, i16 0, i16 0, i16 2999, i16 270, i16 3031, i16 926, i16 0, i16 511, i16 0, i16 0, i16 2064, i16 271, i16 2107, i16 537, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2071, i16 1576, i16 0, i16 1014, i16 610, i16 703, i16 0, i16 89, i16 277, i16 2618, i16 2078, i16 373, i16 2562, i16 2653, i16 0, i16 20, i16 2792, i16 1006, i16 1991, i16 745, i16 0, i16 2504, i16 1920, i16 3246, i16 1187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1040, i16 538, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1639, i16 1552, i16 1656, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1084, i16 0, i16 0, i16 343, i16 947, i16 0, i16 1748, i16 0, i16 0, i16 2269, i16 1677, i16 2648, i16 0, i16 455, i16 0, i16 2224, i16 572, i16 0, i16 0, i16 0, i16 0, i16 272, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 218, i16 2385, i16 42, i16 1008, i16 2883, i16 1666, i16 3317, i16 0, i16 0, i16 0, i16 845, i16 1527, i16 0, i16 966, i16 1411, i16 2278, i16 0, i16 0, i16 0, i16 529, i16 764, i16 1103, i16 2200, i16 446, i16 1517, i16 1958, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1554, i16 2767, i16 2782, i16 2040, i16 1538, i16 0, i16 0, i16 3329, i16 0, i16 320, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2561, i16 0, i16 183, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1077, i16 1744, i16 1381, i16 0, i16 1821, i16 2017, i16 2216, i16 1487, i16 2180, i16 1772, i16 0, i16 1191, i16 0, i16 0, i16 0, i16 2697, i16 1177, i16 1167, i16 1491, i16 0, i16 0, i16 0, i16 1684, i16 1161, i16 0, i16 0, i16 261, i16 0, i16 0, i16 0, i16 0, i16 0, i16 353, i16 1482, i16 385, i16 2859, i16 2317, i16 136, i16 2314, i16 598, i16 2350, i16 2114, i16 3321, i16 177, i16 3325, i16 740, i16 1376, i16 0, i16 564, i16 3237, i16 2522, i16 0, i16 220, i16 451, i16 896, i16 985, i16 0, i16 931, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1514, i16 391, i16 2423, i16 0, i16 1547, i16 0, i16 904, i16 0, i16 3173, i16 265, i16 0, i16 1255, i16 0, i16 406, i16 3030, i16 2947, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2682, i16 0, i16 0, i16 0, i16 90, i16 1190, i16 0, i16 0, i16 0, i16 0, i16 3076, i16 3092, i16 2084, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1002, i16 3212, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3169, i16 789, i16 0, i16 3187, i16 948, i16 1953, i16 530, i16 245, i16 1845, i16 769, i16 646, i16 0, i16 670, i16 2443, i16 1563, i16 2644, i16 1508, i16 2949, i16 0, i16 0, i16 0, i16 0, i16 0, i16 330, i16 0, i16 2594, i16 2182, i16 696, i16 0, i16 0, i16 0, i16 0, i16 1906, i16 3349, i16 3372, i16 3395, i16 3415, i16 1974, i16 1997, i16 0, i16 1128, i16 2030, i16 2057, i16 2085, i16 2106, i16 2126, i16 2152, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 884, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1151, i16 0, i16 0, i16 0, i16 0, i16 907, i16 0, i16 0, i16 1164, i16 0, i16 2089, i16 328, i16 2093, i16 0, i16 1196, i16 0, i16 921, i16 0, i16 0, i16 0, i16 0, i16 929, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 910, i16 152, i16 0, i16 1679, i16 0, i16 1452, i16 0, i16 0, i16 0, i16 1992, i16 65, i16 1016, i16 259, i16 0, i16 0, i16 1174, i16 1900, i16 3026, i16 3184, i16 2125, i16 0, i16 0, i16 2720, i16 0, i16 0, i16 3373, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2737, i16 0, i16 0, i16 0, i16 1427, i16 0, i16 1750, i16 2491, i16 1564, i16 1184, i16 2996, i16 889, i16 3105, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1290, i16 0, i16 3191, i16 0, i16 2844, i16 401, i16 3231, i16 3156, i16 241, i16 1896, i16 0, i16 0, i16 0, i16 0, i16 699, i16 0, i16 1035, i16 0, i16 0, i16 2360, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1115, i16 3123, i16 1925, i16 3287, i16 0, i16 0, i16 0, i16 0, i16 1450, i16 803, i16 1267, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3280, i16 2450, i16 1696, i16 3032, i16 1377, i16 0, i16 0, i16 0, i16 568, i16 0, i16 2921, i16 2479, i16 2955, i16 2063, i16 1546, i16 1367, i16 1641, i16 0, i16 1039, i16 0, i16 0, i16 0, i16 0, i16 3264, i16 0, i16 2136, i16 0, i16 3056, i16 0, i16 0, i16 0, i16 0, i16 467, i16 0, i16 0, i16 0, i16 3041, i16 1967, i16 1980, i16 0, i16 932, i16 1066, i16 0, i16 3061, i16 3344, i16 920, i16 3399, i16 915, i16 3409, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1520, i16 3160, i16 3104, i16 973, i16 1426, i16 1893, i16 0, i16 2838, i16 0, i16 0, i16 0, i16 1137, i16 1473, i16 0, i16 1810, i16 942, i16 331, i16 0, i16 1150, i16 0, i16 43, i16 0, i16 2179, i16 1614, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 508, i16 487, i16 0, i16 0, i16 1726, i16 0, i16 734, i16 308, i16 0, i16 0, i16 2990, i16 3063, i16 2991, i16 0, i16 3011, i16 1074, i16 3210, i16 3037, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1827, i16 0, i16 897, i16 0, i16 75, i16 0, i16 0, i16 0, i16 1030, i16 462, i16 0, i16 0, i16 2414, i16 2898, i16 0, i16 0, i16 3253, i16 1468, i16 2833, i16 3273, i16 1955, i16 0, i16 127, i16 913, i16 0, i16 0, i16 507, i16 2716, i16 1126, i16 3029, i16 0, i16 3382, i16 2668, i16 0, i16 2555, i16 128, i16 0, i16 0, i16 0, i16 0, i16 1127, i16 2981, i16 1437, i16 0, i16 0, i16 0, i16 1500, i16 0, i16 0, i16 480, i16 0, i16 114, i16 0, i16 0, i16 205, i16 1655, i16 0, i16 0, i16 34, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 370, i16 500, i16 528, i16 0, i16 2690, i16 2876, i16 1477, i16 3133, i16 333, i16 0, i16 0, i16 0, i16 0, i16 1793, i16 0, i16 0, i16 1529, i16 2550, i16 1096, i16 1112, i16 1588, i16 820, i16 3267, i16 2595, i16 1977, i16 3394, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 125, i16 1589, i16 0, i16 1933, i16 847, i16 2168, i16 468, i16 0, i16 3405, i16 0, i16 0, i16 1506, i16 0, i16 0, i16 683, i16 1939, i16 2846, i16 2878, i16 2642, i16 0, i16 0, i16 2377, i16 0, i16 0, i16 2596, i16 0, i16 1532, i16 0, i16 1107, i16 0, i16 0, i16 0, i16 1919, i16 3021, i16 120, i16 0, i16 644, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2732, i16 501, i16 279, i16 2509, i16 1644, i16 1863, i16 0, i16 0, i16 395, i16 246, i16 1025, i16 626, i16 3384, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1675, i16 0, i16 2734, i16 0, i16 3140, i16 990, i16 0, i16 0, i16 2169, i16 0, i16 0, i16 1027, i16 552, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2583, i16 0, i16 3286, i16 0, i16 1212, i16 316, i16 0, i16 0, i16 2830, i16 0, i16 0, i16 0, i16 0, i16 909, i16 1229, i16 0, i16 0, i16 335, i16 0, i16 0, i16 359, i16 647, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1153, i16 0, i16 0, i16 901, i16 0, i16 0, i16 0, i16 2492, i16 2027, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3219, i16 0, i16 2744, i16 476, i16 0, i16 11, i16 243, i16 0, i16 2327, i16 3098, i16 0, i16 0, i16 0, i16 97, i16 0, i16 0, i16 0, i16 1523, i16 0, i16 0, i16 783, i16 1121, i16 3144, i16 0, i16 0, i16 0, i16 496, i16 0, i16 0, i16 0, i16 0, i16 0, i16 158, i16 0, i16 2711, i16 1954, i16 3311, i16 886, i16 239, i16 1528, i16 1343, i16 1531, i16 225, i16 0, i16 1047, i16 0, i16 2311, i16 3385, i16 607, i16 2571, i16 2130, i16 848, i16 0, i16 2750, i16 440, i16 794, i16 2102, i16 460, i16 2018, i16 2208, i16 1181, i16 0, i16 0, i16 0, i16 1755, i16 2493, i16 1397, i16 0, i16 3417, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 780, i16 206, i16 2759, i16 0, i16 0, i16 834, i16 0, i16 0, i16 672, i16 0, i16 2241, i16 1359, i16 0, i16 0, i16 584, i16 1978, i16 3009, i16 0, i16 0, i16 0, i16 1160, i16 211, i16 2666, i16 0, i16 0, i16 0, i16 0, i16 2074, i16 0, i16 0, i16 0, i16 0, i16 17, i16 2606, i16 1737, i16 202, i16 1812, i16 1007, i16 0, i16 1841, i16 1345, i16 0, i16 738, i16 1162, i16 2860, i16 1943, i16 1814, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1674, i16 2556, i16 66, i16 542, i16 1205, i16 3419, i16 0, i16 2603, i16 2500, i16 425, i16 0, i16 0, i16 278, i16 1961, i16 680, i16 0, i16 1124, i16 1758, i16 0, i16 1555, i16 1446, i16 2210, i16 1405, i16 350, i16 3028, i16 2892, i16 0, i16 0, i16 0, i16 0, i16 1826, i16 2907, i16 21, i16 558, i16 1600, i16 1932, i16 0, i16 0, i16 1779, i16 0, i16 0, i16 1295, i16 0, i16 0, i16 28, i16 1725, i16 0, i16 0, i16 0, i16 0, i16 1981, i16 0, i16 2384, i16 1942, i16 0, i16 0, i16 0, i16 0, i16 0, i16 795, i16 452, i16 0, i16 208, i16 0, i16 0, i16 3044, i16 0, i16 0, i16 0, i16 0, i16 166, i16 836, i16 340, i16 337, i16 0, i16 0, i16 1875, i16 0, i16 0, i16 1159, i16 32, i16 1879, i16 1304, i16 0, i16 414, i16 515, i16 1347, i16 365, i16 0, i16 1884, i16 1521, i16 970, i16 0, i16 0, i16 858, i16 3141, i16 0, i16 717, i16 1866, i16 0, i16 1280, i16 1791, i16 2234, i16 0, i16 1414, i16 2147, i16 0, i16 0, i16 1645, i16 0, i16 0, i16 0, i16 404, i16 0, i16 0, i16 984, i16 3122, i16 0, i16 0, i16 0, i16 145, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1803, i16 0, i16 0, i16 1651, i16 2447, i16 0, i16 0, i16 2291, i16 472, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1134, i16 838, i16 0, i16 470, i16 2650, i16 606, i16 1065, i16 0, i16 1130, i16 0, i16 0, i16 0, i16 0, i16 1374, i16 1694, i16 1572, i16 1648, i16 2386, i16 200, i16 694, i16 0, i16 2530, i16 0, i16 0, i16 1752, i16 159, i16 2351, i16 3097, i16 1410, i16 1125, i16 0, i16 0, i16 412, i16 0, i16 1556, i16 0, i16 0, i16 625, i16 0, i16 1649, i16 0, i16 2100, i16 2469, i16 0, i16 273, i16 3016, i16 0, i16 0, i16 0, i16 0, i16 0, i16 399, i16 276, i16 2646, i16 671, i16 1732, i16 1888, i16 1382, i16 57, i16 0, i16 0, i16 0, i16 0, i16 0, i16 999, i16 0, i16 0, i16 681, i16 190, i16 2424, i16 0, i16 1319, i16 1454, i16 0, i16 0, i16 539, i16 0, i16 761, i16 0, i16 2021, i16 0, i16 0, i16 2189, i16 54, i16 0, i16 0, i16 0, i16 0, i16 3073, i16 0, i16 3049, i16 1501, i16 3198, i16 0, i16 0, i16 0, i16 2802, i16 255, i16 1960, i16 0, i16 0, i16 0, i16 263, i16 0, i16 0, i16 0, i16 0, i16 3168, i16 3007, i16 784, i16 3164, i16 0, i16 0, i16 788, i16 2164, i16 1711, i16 1088, i16 1328, i16 3024, i16 0, i16 2497, i16 1825, i16 2888, i16 1003, i16 986, i16 1603, i16 0, i16 0, i16 1012, i16 2473, i16 329, i16 0, i16 0, i16 0, i16 189, i16 2254, i16 1348, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 283, i16 155, i16 0, i16 0, i16 2908, i16 1209, i16 346, i16 0, i16 2765, i16 0, i16 1957, i16 0, i16 0, i16 0, i16 828, i16 0, i16 0, i16 2807, i16 0, i16 1676, i16 0, i16 1091, i16 768, i16 0, i16 2818, i16 349, i16 1789, i16 2193, i16 0, i16 164, i16 0, i16 1171, i16 2810, i16 938, i16 1163, i16 719, i16 2554, i16 2822, i16 0, i16 1575, i16 1200, i16 0, i16 2598, i16 753, i16 2532, i16 972, i16 689, i16 0, i16 1284, i16 0, i16 0, i16 0, i16 0, i16 0, i16 64, i16 800, i16 0, i16 0, i16 0, i16 1307, i16 509, i16 106, i16 0, i16 3278, i16 819, i16 0, i16 3013, i16 1015, i16 26, i16 1631, i16 1202, i16 1117, i16 0, i16 2326, i16 0, i16 3046, i16 49, i16 0, i16 736, i16 0, i16 776, i16 1109, i16 0, i16 0, i16 3182, i16 0, i16 0, i16 0, i16 0, i16 0, i16 217, i16 510, i16 2212, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 341, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2689, i16 0, i16 0, i16 2117, i16 0, i16 0, i16 0, i16 2825, i16 1273, i16 2948, i16 0, i16 977, i16 268, i16 1266, i16 1283, i16 1369, i16 1795, i16 207, i16 1685, i16 3014, i16 497, i16 0, i16 437, i16 2505, i16 0, i16 2563, i16 0, i16 0, i16 732, i16 553, i16 1247, i16 2372, i16 0, i16 0, i16 1637, i16 3251, i16 3313, i16 1308, i16 0, i16 10, i16 2912, i16 1061, i16 131, i16 0, i16 0, i16 0, i16 2111, i16 0, i16 0, i16 0, i16 0, i16 0, i16 169, i16 0, i16 0, i16 0, i16 490, i16 642, i16 677, i16 0, i16 0, i16 180, i16 1565, i16 148, i16 569, i16 2201, i16 0, i16 315, i16 0, i16 0, i16 0, i16 1818, i16 1021, i16 0, i16 0, i16 0, i16 1244, i16 0, i16 76, i16 0, i16 3406, i16 0, i16 93, i16 0, i16 513, i16 960, i16 0, i16 859, i16 96, i16 1964, i16 0, i16 0, i16 386, i16 1629, i16 1510, i16 0, i16 2656, i16 269, i16 321, i16 0, i16 0, i16 0, i16 0, i16 3106, i16 2930, i16 1402, i16 80, i16 867, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2660, i16 368, i16 0, i16 2661, i16 2045, i16 0, i16 0, i16 0, i16 1581, i16 1544, i16 3381, i16 0, i16 2853, i16 891, i16 449, i16 2010, i16 3277, i16 0, i16 0, i16 2382, i16 2172, i16 2069, i16 2897, i16 0, i16 1773, i16 0, i16 0, i16 1291, i16 0, i16 645, i16 2135, i16 2034, i16 0, i16 0, i16 0, i16 2584, i16 772, i16 1898, i16 0, i16 0, i16 48, i16 1245, i16 1113, i16 747, i16 0, i16 0, i16 1973, i16 0, i16 0, i16 209, i16 2281, i16 1289, i16 2785, i16 0, i16 0, i16 2118, i16 176, i16 1248, i16 2037, i16 2043, i16 339, i16 3293, i16 2066, i16 86, i16 248, i16 857, i16 0, i16 0, i16 1433, i16 0, i16 0, i16 0, i16 1585, i16 2756, i16 2680, i16 1650, i16 1718, i16 0, i16 0, i16 0, i16 0, i16 0, i16 394, i16 1024, i16 1537, i16 0, i16 0, i16 3170, i16 2362, i16 40, i16 53, i16 1101, i16 0, i16 2933, i16 900, i16 1447, i16 0, i16 3179, i16 833, i16 1566, i16 1494, i16 2973, i16 0, i16 0, i16 2609, i16 0, i16 927, i16 2303, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 650, i16 0, i16 0, i16 1075, i16 235, i16 823, i16 565, i16 3079, i16 0, i16 785, i16 777, i16 186, i16 2969, i16 1860, i16 2232, i16 0, i16 873, i16 741, i16 3125, i16 3257, i16 2239, i16 0, i16 3121, i16 1242, i16 2791, i16 0, i16 0, i16 1435, i16 974, i16 1780, i16 961, i16 0, i16 0, i16 2874, i16 757, i16 0, i16 0, i16 0, i16 400, i16 1432, i16 2766, i16 3039, i16 1001, i16 1507, i16 2972, i16 0, i16 2514, i16 1512, i16 2046, i16 0, i16 0, i16 0, i16 1253, i16 0, i16 2098, i16 545, i16 2165, i16 531, i16 555, i16 0, i16 0, i16 3371, i16 0, i16 0, i16 0, i16 742, i16 0, i16 807, i16 1931, i16 0, i16 1076, i16 0, i16 2026, i16 3245, i16 0, i16 0, i16 117, i16 1467, i16 2104, i16 631, i16 0, i16 754, i16 156, i16 2258, i16 307, i16 0, i16 60, i16 0, i16 1260, i16 1371, i16 3328, i16 1870, i16 0, i16 0, i16 61, i16 1241, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 424, i16 2403, i16 2148, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1231, i16 2367, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1596, i16 3096, i16 2202, i16 363, i16 1609, i16 2710, i16 2582, i16 791, i16 2705, i16 0, i16 2543, i16 2319, i16 2558, i16 2597, i16 1, i16 2495, i16 2730, i16 0, i16 3374, i16 2485, i16 2487, i16 0, i16 581, i16 1476, i16 3359, i16 2499, i16 2719, i16 0, i16 1876, i16 3240, i16 0, i16 0, i16 2110, i16 0, i16 198, i16 1488, i16 2262, i16 140, i16 0, i16 0, i16 782, i16 3157, i16 27, i16 3136, i16 0, i16 1092, i16 0, i16 1302, i16 0, i16 1912, i16 1217, i16 0, i16 1642, i16 0, i16 2457, i16 0, i16 3400, i16 1530, i16 0, i16 0, i16 167, i16 524, i16 221, i16 0, i16 2119, i16 998, i16 461, i16 0, i16 1358, i16 1037, i16 3378, i16 3206, i16 841, i16 68, i16 1762, i16 0, i16 1756, i16 2665, i16 482, i16 1004, i16 0, i16 2501, i16 0, i16 3204, i16 918, i16 724, i16 322, i16 2401, i16 0, i16 0, i16 2412, i16 306, i16 733, i16 863, i16 0, i16 0, i16 2904, i16 0, i16 0, i16 1979, i16 0, i16 1985, i16 556, i16 3312, i16 2987, i16 3045, i16 643, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3128, i16 1729, i16 0, i16 2970, i16 161, i16 0, i16 0, i16 0, i16 0, i16 602, i16 0, i16 1682, i16 0, i16 2523, i16 0, i16 92, i16 0, i16 0, i16 583, i16 0, i16 0, i16 697, i16 1263, i16 253, i16 504, i16 0, i16 0, i16 0, i16 0, i16 1636, i16 56, i16 0, i16 0, i16 2617, i16 0, i16 0, i16 0, i16 0, i16 2960, i16 2884, i16 0, i16 1999, i16 438, i16 0, i16 0, i16 0, i16 0, i16 1116, i16 2929, i16 2605, i16 0, i16 2323, i16 774, i16 1032, i16 0, i16 2015, i16 2336, i16 0, i16 520, i16 0, i16 2016, i16 1634, i16 1182, i16 1362, i16 850, i16 2906, i16 596, i16 3274, i16 0, i16 199, i16 2242, i16 0, i16 1934, i16 0, i16 2635, i16 0, i16 1746, i16 2915, i16 0, i16 1375, i16 1118, i16 3004, i16 0, i16 477, i16 0, i16 0, i16 0, i16 0, i16 715, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3185, i16 0, i16 0, i16 0, i16 3248, i16 2541, i16 2340, i16 3258, i16 24, i16 2230, i16 1654, i16 0, i16 3421, i16 1923, i16 2565, i16 2280, i16 0, i16 3167, i16 3149, i16 895, i16 3306, i16 994, i16 2009, i16 1543, i16 2273, i16 0, i16 14, i16 814, i16 540, i16 2243, i16 1384, i16 969, i16 0, i16 2914, i16 1698, i16 0, i16 0, i16 995, i16 1119, i16 2474, i16 2855, i16 498, i16 0, i16 0, i16 2312, i16 3331, i16 2002, i16 2324, i16 0, i16 111, i16 1281, i16 410, i16 2158, i16 1404, i16 708, i16 2625, i16 0, i16 0, i16 0, i16 82, i16 1965, i16 486, i16 3228, i16 661, i16 0, i16 2961, i16 0, i16 197, i16 2842, i16 2060, i16 517, i16 1518, i16 0, i16 0, i16 1853, i16 2257, i16 3392, i16 2419, i16 251, i16 975, i16 0, i16 883, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1423, i16 0, i16 2521, i16 0, i16 2305, i16 0, i16 3380, i16 0, i16 0, i16 1054, i16 1108, i16 1842, i16 0, i16 943, i16 811, i16 2963, i16 0, i16 0, i16 0, i16 2455, i16 0, i16 1511, i16 0, i16 0, i16 1907, i16 3408, i16 2431, i16 516, i16 0, i16 238, i16 2124, i16 1483, i16 0, i16 825, i16 2271, i16 0, i16 1475, i16 1297, i16 0, i16 2001, i16 1346, i16 0, i16 0, i16 0, i16 0, i16 1387, i16 0, i16 0, i16 2629, i16 0, i16 614, i16 1274, i16 839, i16 3154, i16 1005, i16 0, i16 3189, i16 1136, i16 1000, i16 0, i16 2727, i16 2848, i16 3, i16 0, i16 112, i16 1234, i16 1459, i16 770, i16 0, i16 1828, i16 0, i16 2065, i16 0, i16 1106, i16 2444, i16 0, i16 830, i16 1457, i16 1764, i16 2604, i16 3057, i16 1098, i16 1223, i16 0, i16 362, i16 1460, i16 1840, i16 0, i16 1913, i16 580, i16 829, i16 958, i16 0, i16 3337, i16 0, i16 1833, i16 2778, i16 387, i16 2865, i16 310, i16 193, i16 3403, i16 0, i16 0, i16 0, i16 2614, i16 466, i16 0, i16 0, i16 2428, i16 1646, i16 0, i16 0, i16 0, i16 0, i16 1917, i16 0, i16 1908, i16 1859, i16 0, i16 1660, i16 804, i16 1592, i16 0, i16 3094, i16 3216, i16 2295, i16 33, i16 443, i16 3358, i16 0, i16 1394, i16 250, i16 213, i16 0, i16 1971, i16 3080, i16 1354, i16 3360, i16 0, i16 1265, i16 1584, i16 2053, i16 512, i16 0, i16 2928, i16 409, i16 2225, i16 779, i16 1186, i16 0, i16 0, i16 381, i16 0, i16 0, i16 2369, i16 0, i16 3368, i16 0, i16 0, i16 1479, i16 924, i16 0, i16 0, i16 599, i16 3139, i16 0, i16 1492, i16 2101, i16 0, i16 0, i16 0, i16 0, i16 0, i16 184, i16 0, i16 2197, i16 651, i16 0, i16 601, i16 0, i16 0, i16 29, i16 0, i16 1149, i16 3302, i16 1156, i16 3111, i16 1269, i16 1298, i16 0, i16 2073, i16 0, i16 615, i16 262, i16 0, i16 0, i16 1349, i16 118, i16 3159, i16 3178, i16 3316, i16 1252, i16 1277, i16 3301, i16 493, i16 3119, i16 2977, i16 842, i16 2399, i16 318, i16 2940, i16 2123, i16 0, i16 1620, i16 0, i16 2951, i16 0, i16 0, i16 0, i16 0, i16 2453, i16 0, i16 0, i16 1323, i16 288, i16 0, i16 0, i16 1615, i16 2715, i16 0, i16 0, i16 2691, i16 0, i16 0, i16 1388, i16 0, i16 280, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1250, i16 0, i16 392, i16 275, i16 0, i16 0, i16 0, i16 0, i16 1926, i16 3008, i16 0, i16 620, i16 0, i16 0, i16 0, i16 2971, i16 3401, i16 0, i16 0, i16 0, i16 1314, i16 608, i16 944, i16 0, i16 1534, i16 1131, i16 1430, i16 2835, i16 525, i16 1559, i16 3115, i16 0, i16 1672, i16 0, i16 3232, i16 0, i16 0, i16 382, i16 0, i16 3377, i16 352, i16 2301, i16 1207, i16 0, i16 1611, i16 0, i16 0, i16 260, i16 0, i16 94, i16 0, i16 2795, i16 1197, i16 0, i16 3402, i16 45, i16 0, i16 1816, i16 2185, i16 1216, i16 2678, i16 2866, i16 0, i16 2677, i16 0, i16 0, i16 687, i16 1342, i16 2420, i16 2163, i16 2142, i16 0, i16 876, i16 2989, i16 1172, i16 3393, i16 1550, i16 2506, i16 3017, i16 879, i16 0, i16 1169, i16 2729, i16 1817, i16 323, i16 0, i16 0, i16 1562, i16 1436, i16 0, i16 3397, i16 2616, i16 922, i16 44, i16 2966, i16 3135, i16 0, i16 0, i16 1713, i16 0, i16 491, i16 0, i16 0, i16 0, i16 2024, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2943, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3364, i16 3355, i16 2004, i16 2105, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3262, i16 0, i16 1082, i16 2663, i16 0, i16 0, i16 2379, i16 0, i16 0, i16 0, i16 2, i16 1330, i16 1747, i16 0, i16 731, i16 0, i16 2639, i16 0, i16 393, i16 18, i16 722, i16 0, i16 813, i16 223, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3353, i16 0, i16 1504, i16 0, i16 3099, i16 30, i16 1574, i16 2218, i16 566, i16 2621, i16 1989, i16 2917, i16 0, i16 3305, i16 0, i16 1398, i16 2651, i16 843, i16 2159, i16 317, i16 1335, i16 640, i16 865, i16 62, i16 2937, i16 1385, i16 919, i16 1034, i16 1233, i16 1850, i16 792, i16 1972, i16 987, i16 0, i16 2529, i16 1717, i16 364, i16 1095, i16 2696, i16 1142, i16 5, i16 1029, i16 0, i16 0, i16 1962, i16 1595, i16 0, i16 1145, i16 637, i16 1662, i16 0, i16 3386, i16 925, i16 2076, i16 2672, i16 0, i16 338, i16 0, i16 1198, i16 0, i16 1846, i16 0, i16 0, i16 366, i16 2622, i16 0, i16 739, i16 869, i16 799, i16 1480, i16 0, i16 0, i16 1721, i16 0, i16 1542, i16 160, i16 0, i16 1195, i16 1891, i16 2526, i16 3236, i16 502, i16 1697, i16 0, i16 1577, i16 514, i16 2373, i16 3289, i16 0, i16 478, i16 0, i16 0, i16 0, i16 2591, i16 2383, i16 660, i16 2297, i16 0, i16 234, i16 267, i16 124, i16 0, i16 2077, i16 534, i16 1838, i16 1568, i16 0, i16 0, i16 1619, i16 1873, i16 2033, i16 2484, i16 0, i16 2964, i16 2787, i16 1147, i16 0, i16 721, i16 0, i16 0, i16 0, i16 2815, i16 3086, i16 1622, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3336, i16 0, i16 3239, i16 1796, i16 0, i16 2976, i16 139, i16 1176, i16 0, i16 888, i16 2919, i16 3196, i16 1440, i16 2044, i16 574, i16 1754, i16 0, i16 586, i16 1760, i16 1087, i16 2331, i16 544, i16 0, i16 3279, i16 0, i16 0, i16 0, i16 1602, i16 2985, i16 1366, i16 91, i16 894, i16 523, i16 911, i16 2345, i16 2669, i16 3067, i16 3292, i16 2638, i16 806, i16 1341, i16 2986, i16 3363, i16 3227, i16 0, i16 659, i16 868, i16 0, i16 2794, i16 2296, i16 713, i16 1832, i16 0, i16 3217, i16 3304, i16 1811, i16 231, i16 2657, i16 0, i16 0, i16 3127, i16 852, i16 358, i16 0, i16 2318, i16 1570, i16 817, i16 3069, i16 3420, i16 447, i16 2520, i16 638, i16 2299, i16 0, i16 2693, i16 1043, i16 0, i16 1140, i16 1591, i16 1837, i16 236, i16 1355, i16 0, i16 2763, i16 0, i16 1022, i16 2422, i16 0, i16 2138, i16 0, i16 179, i16 0, i16 0, i16 1100, i16 0, i16 1326, i16 2574, i16 2211, i16 1702, i16 0, i16 1089, i16 0, i16 0, i16 377, i16 1687, i16 0, i16 793, i16 0, i16 667, i16 126, i16 934, i16 2300, i16 2079, i16 3370, i16 2233, i16 2862, i16 810, i16 0, i16 0, i16 3263, i16 756, i16 1809, i16 2714, i16 2518, i16 1422, i16 1665, i16 2722, i16 3194, i16 1296, i16 1412, i16 0, i16 138, i16 101, i16 2353, i16 0, i16 1179, i16 1225, i16 458, i16 3413, i16 1579, i16 2090, i16 1561, i16 0, i16 0, i16 0, i16 2809, i16 1497, i16 1389, i16 1019, i16 1329, i16 2421, i16 396, i16 2695, i16 6, i16 2095, i16 950, i16 489, i16 0, i16 1661, i16 0, i16 1808, i16 2171, i16 2511, i16 0, i16 1086, i16 1219, i16 2006, i16 25, i16 0, i16 0, i16 1201, i16 522, i16 0, i16 0, i16 618, i16 0, i16 0, i16 2235, i16 880, i16 0, i16 0, i16 334, i16 1305, i16 1705, i16 2204, i16 1858, i16 1013, i16 1306, i16 0, i16 1085, i16 1533, i16 87, i16 2067, i16 1502, i16 2290, i16 1799, i16 0, i16 3146, i16 1794, i16 3346, i16 2192, i16 0, i16 0, i16 653, i16 1429, i16 887, i16 314, i16 2041, i16 2436, i16 875, i16 1331, i16 1481, i16 0, i16 403, i16 0, i16 0, i16 1910, i16 0, i16 1155, i16 0, i16 2072, i16 3266, i16 1165, i16 1857, i16 1557, i16 1801, i16 2496, i16 3131, i16 2926, i16 2643, i16 1582, i16 0, i16 0, i16 0, i16 122, i16 686, i16 168, i16 0, i16 2398, i16 2749, i16 1553, i16 2413, i16 1541, i16 2440, i16 134, i16 1578, i16 247, i16 0, i16 1193, i16 1321, i16 2575, i16 570, i16 2894, i16 0, i16 0, i16 0, i16 2581, i16 2636, i16 2270, i16 12, i16 1424, i16 1188, i16 1383, i16 0, i16 485, i16 700, i16 3254, i16 149, i16 2922, i16 1627, i16 2545, i16 0, i16 1693, i16 0, i16 953, i16 0, i16 0, i16 0, i16 0, i16 600, i16 1138, i16 0, i16 2059, i16 1525, i16 0, i16 1657, i16 0, i16 1727, i16 2841, i16 532, i16 3176, i16 993, i16 1930, i16 192, i16 0, i16 1740, i16 0, i16 3192, i16 1927, i16 802, i16 2849, i16 1064, i16 2109, i16 0, i16 324, i16 144, i16 881, i16 2133, i16 0, i16 2610, i16 171, i16 1129, i16 1378, i16 0, i16 1835, i16 435, i16 760, i16 1324, i16 0, i16 1251, i16 3100, i16 0, i16 835, i16 0, i16 3310, i16 636, i16 594, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2333, i16 1632, i16 3379, i16 3018, i16 3285, i16 388, i16 2748, i16 0, i16 0, i16 0, i16 0, i16 1905, i16 3354, i16 0, i16 2014, i16 0, i16 0, i16 763, i16 0, i16 2011, i16 0, i16 3033, i16 3223, i16 1009, i16 0, i16 1287, i16 292, i16 413, i16 0, i16 0, i16 0, i16 0, i16 31, i16 2143, i16 2128, i16 1878, i16 956, i16 822, i16 2430, i16 311, i16 0, i16 0, i16 2313, i16 1256, i16 2956, i16 0, i16 224, i16 0, i16 2965, i16 109, i16 634, i16 1431, i16 2465, i16 0, i16 0, i16 0, i16 1775, i16 2462, i16 1090, i16 778, i16 3271, i16 1819, i16 0, i16 2645, i16 291, i16 0, i16 1904, i16 0, i16 182, i16 536, i16 0, i16 0, i16 1203, i16 827, i16 294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8, i16 2005, i16 15, i16 2031, i16 3269, i16 3297, i16 3319, i16 0, i16 3213, i16 3241, i16 3259, i16 0, i16 295, i16 133, i16 2811, i16 1707, i16 1915, i16 0, i16 154, i16 174, i16 3416, i16 2448, i16 1144, i16 0, i16 0, i16 0, i16 0, i16 890, i16 1865, i16 1368, i16 1496, i16 1868, i16 1050, i16 1823, i16 2389, i16 1264, i16 752, i16 2456, i16 0, i16 0, i16 356, i16 1336, i16 2116, i16 978, i16 1831, i16 0, i16 2068, i16 1215, i16 705, i16 1044, i16 0, i16 702, i16 0, i16 0, i16 129, i16 0, i16 0, i16 2364, i16 0, i16 0, i16 1312, i16 0, i16 0, i16 16, i16 0, i16 3244, i16 1133, i16 3078, i16 1139, i16 0, i16 2478, i16 0, i16 422, i16 2573, i16 2007, i16 1097, i16 812, i16 0, i16 0, i16 0, i16 665, i16 0, i16 0, i16 0, i16 0, i16 1736, i16 0, i16 2157, i16 549, i16 3165, i16 0, i16 0, i16 0, i16 1271, i16 0, i16 219, i16 0, i16 0, i16 0, i16 1783, i16 0, i16 0, i16 397, i16 3383, i16 0, i16 0, i16 0, i16 2279, i16 3375, i16 1052, i16 0, i16 0, i16 1712, i16 546, i16 1798, i16 3309, i16 0, i16 380, i16 0, i16 0, i16 3038, i16 0, i16 1621, i16 1122, i16 711, i16 3222, i16 2742, i16 0, i16 1701, i16 1053, i16 0, i16 3327, i16 1922, i16 0, i16 1800, i16 1731, i16 0, i16 2516, i16 655, i16 0, i16 2358, i16 2393, i16 2464, i16 2494, i16 2580, i16 2679, i16 2743, i16 2788, i16 2824, i16 2858, i16 2935, i16 2982, i16 3101, i16 3153, i16 3276, i16 2438, i16 2488, i16 2757, i16 2052, i16 2144, i16 2286, i16 2337, i16 2400, i16 2452, i16 2738, i16 2779, i16 2845, i16 2887, i16 3020, i16 3134, i16 3188, i16 3102, i16 1847, i16 2733, i16 2758, i16 1560, i16 1535, i16 824, i16 1822, i16 0, i16 0, i16 2816, i16 2380, i16 0, i16 1228, i16 0, i16 2366, i16 2378, i16 1968, i16 1599, i16 2042, i16 1318, i16 1338, i16 1569, i16 300, i16 0, i16 2873, i16 2320, i16 0, i16 2893, i16 1706, i16 0, i16 1916, i16 0, i16 3129, i16 590, i16 0, i16 0, i16 2836, i16 0, i16 37, i16 0, i16 0, i16 0, i16 551, i16 3155, i16 3177, i16 1951, i16 1056, i16 1855, i16 3247, i16 562, i16 3208, i16 3294, i16 862, i16 0, i16 3055, i16 1453, i16 1626, i16 296, i16 1871, i16 0, i16 1069, i16 0, i16 1767, i16 1776, i16 58, i16 2992, i16 611, i16 2607, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1941, i16 2347, i16 1813, i16 0, i16 2203, i16 1148, i16 0, i16 0, i16 1667, i16 0, i16 0, i16 162, i16 108, i16 0, i16 1211, i16 1063, i16 83, i16 2249, i16 0, i16 1288, i16 832, i16 0, i16 826, i16 88, i16 1434, i16 0, i16 0, i16 0, i16 2087, i16 2773, i16 1852, i16 1921, i16 2220, i16 0, i16 2627, i16 1333, i16 1120, i16 1902, i16 0, i16 1079, i16 1073, i16 305, i16 0, i16 3074, i16 2755, i16 2628, i16 2244, i16 547, i16 0, i16 527, i16 0, i16 428, i16 0, i16 0, i16 3130, i16 3158, i16 3180, i16 3200, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1601, i16 2058, i16 1332, i16 0, i16 0, i16 242, i16 0, i16 0, i16 0, i16 0, i16 3335, i16 374, i16 1877, i16 2903, i16 2726, i16 0, i16 2131, i16 325, i16 1807, i16 378, i16 1606, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 429, i16 172, i16 201, i16 0, i16 585, i16 0, i16 0, i16 2913, i16 351, i16 698, i16 2264, i16 2187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1104, i16 1114, i16 2003, i16 2029, i16 2056, i16 2083, i16 2103, i16 2120, i16 2145, i16 2173, i16 2195, i16 2228, i16 2256, i16 2277, i16 2302, i16 2328, i16 2346, i16 2363, i16 2388, i16 2408, i16 2429, i16 2454, i16 2472, i16 1406, i16 2507, i16 2533, i16 2553, i16 2578, i16 2601, i16 2623, i16 2640, i16 2667, i16 597, i16 0, i16 0, i16 1363, i16 0, i16 0, i16 0, i16 244, i16 474, i16 0, i16 0, i16 0, i16 229, i16 0, i16 481, i16 0, i16 0, i16 2531, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2275, i16 0, i16 0, i16 2357, i16 548, i16 0, i16 1670, i16 701, i16 2901, i16 3404, i16 0, i16 1067, i16 2008, i16 2577, i16 1844, i16 1659, i16 2564, i16 0, i16 2905, i16 3220, i16 442, i16 0, i16 1407, i16 0, i16 1416, i16 0, i16 1663, i16 1036, i16 0, i16 0, i16 2548, i16 3088, i16 0, i16 473, i16 0, i16 2486, i16 2659, i16 3143, i16 0, i16 1861, i16 1881, i16 0, i16 629, i16 840, i16 2519, i16 3068, i16 2012, i16 0, i16 0, i16 2149, i16 1739, i16 3303, i16 949, i16 577, i16 725, i16 658, i16 146, i16 67, i16 2916, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 945, i16 0, i16 0, i16 505, i16 469, i16 3166, i16 3209, i16 1883, i16 0, i16 0, i16 0, i16 1540, i16 0, i16 3332, i16 3072, i16 2593, i16 1610, i16 1257, i16 0, i16 0, i16 578, i16 0, i16 2394, i16 1766, i16 959, i16 1218, i16 0, i16 0, i16 0, i16 632, i16 0, i16 623, i16 1068, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 348, i16 1624, i16 1315, i16 0, i16 878, i16 3095, i16 116, i16 2426, i16 0, i16 737, i16 1466, i16 13, i16 212, i16 0, i16 3315, i16 831, i16 0, i16 2670, i16 1635, i16 1612, i16 0, i16 0, i16 0, i16 1357, i16 709, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1630, i16 2934, i16 488, i16 157, i16 1327, i16 2054, i16 2407, i16 450, i16 0, i16 981, i16 1135, i16 0, i16 1918, i16 1189, i16 729, i16 2427, i16 0, i16 0, i16 2739, i16 3291, i16 0, i16 675, i16 1834, i16 0, i16 1080, i16 589, i16 1415, i16 2537, i16 2406, i16 119, i16 1393, i16 2387, i16 2910, i16 1897, i16 0, i16 1310, i16 1690, i16 0, i16 2988, i16 0, i16 0, i16 0, i16 0, i16 3322, i16 1048, i16 1399, i16 0, i16 1023, i16 0, i16 1361, i16 1617, i16 375, i16 1699, i16 1778, i16 914, i16 1033, i16 0, i16 1334, i16 0, i16 1279, i16 0, i16 0, i16 1952, i16 210, i16 354, i16 0, i16 1738, i16 2881, i16 2283, i16 0, i16 2451, i16 861, i16 3006, i16 0, i16 2800, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1313, i16 1417, i16 2287, i16 1703, i16 2137, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 866, i16 622, i16 1316, i16 1408, i16 1820, i16 898, i16 1728, i16 2600, i16 1320, i16 2332, i16 2813, i16 2630, i16 0, i16 0, i16 427, i16 0, i16 69, i16 459, i16 3043, i16 445, i16 0, i16 1640, i16 706, i16 3050, i16 0, i16 1658, i16 0, i16 0, i16 0, i16 2288, i16 3051, i16 0, i16 1638, i16 402, i16 0, i16 2886, i16 1350, i16 74, i16 0, i16 0, i16 105, i16 266, i16 1214, i16 0, i16 0, i16 0, i16 723, i16 2198, i16 1895, i16 1356, i16 893, i16 535, i16 2248, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2209, i16 3391, i16 0, i16 1254, i16 72, i16 0, i16 2918, i16 3376, i16 2631, i16 1889, i16 2329, i16 2112, i16 2967, i16 0, i16 2831, i16 0, i16 433, i16 2626, i16 2664, i16 1403, i16 1604, i16 0, i16 656, i16 2227, i16 0, i16 0, i16 3181, i16 0, i16 0, i16 933, i16 1146, i16 750, i16 2439, i16 503, i16 1715, i16 885, i16 1784, i16 432, i16 2153, i16 2176, i16 2206, i16 2237, i16 2265, i16 2284, i16 2308, i16 2121, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3054, i16 3082, i16 3103, i16 3126, i16 3151, i16 3171, i16 3193, i16 36, i16 877, i16 0, i16 758, i16 0, i16 1301, i16 147, i16 1262, i16 1072, i16 1616, i16 0, i16 0, i16 0, i16 0, i16 1774, i16 2051, i16 1567, i16 0, i16 2435, i16 2483, i16 0, i16 905, i16 0, i16 2397, i16 256, i16 1851, i16 0, i16 303, i16 0, i16 0, i16 0, i16 0, i16 0, i16 882, i16 0, i16 0, i16 0, i16 1094, i16 1733, i16 1409, i16 0, i16 0, i16 464, i16 0, i16 1880, i16 707, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1243, i16 1963, i16 767, i16 0, i16 0, i16 0, i16 992, i16 0, i16 1571, i16 3334, i16 0, i16 1719, i16 3036, i16 0, i16 2676, i16 624, i16 728, i16 1261, i16 798, i16 1493, i16 0, i16 0, i16 2702, i16 1526, i16 746, i16 3183, i16 0, i16 1046, i16 0, i16 1462, i16 0, i16 2576, i16 1293, i16 3333, i16 0, i16 0, i16 0, i16 3324, i16 1549, i16 0, i16 0, i16 0, i16 2681, i16 1041, i16 2798, i16 1516, i16 1143, i16 1949, i16 1598, i16 390, i16 1236, i16 1448, i16 2829, i16 2432, i16 298, i16 304, i16 2980, i16 336, i16 0, i16 284, i16 0, i16 533, i16 0, i16 0, i16 0, i16 2741, i16 3407, i16 0, i16 2760, i16 1224, i16 100, i16 0, i16 151, i16 0, i16 2885, i16 0, i16 3272, i16 3398, i16 2167, i16 0, i16 0, i16 2175, i16 2184, i16 2196, i16 2191, i16 2205, i16 2307, i16 2222, i16 2322, i16 2214, i16 2343, i16 2229, i16 2348, i16 2236, i16 2490, i16 2508, i16 2534, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 376, i16 3202, i16 1158, i16 0, i16 0, i16 712, i16 1994, i16 906, i16 0, i16 0, i16 0, i16 751, i16 692, i16 1372, i16 936, i16 2146, i16 1829, i16 1474, i16 357, i16 1618, i16 930, i16 2381, i16 2392, i16 0, i16 0, i16 0, i16 46, i16 3256, i16 0, i16 0, i16 0, i16 0, i16 2425, i16 519, i16 0, i16 2466, i16 3340, i16 0, i16 0, i16 0, i16 0, i16 2559, i16 3233, i16 2995, i16 281, i16 0, i16 2685, i16 1680, i16 3175, i16 2402, i16 2752, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1770, i16 1105, i16 3059, i16 1340, i16 801, i16 0, i16 521, i16 0, i16 2170, i16 0, i16 0, i16 1154, i16 0, i16 0, i16 1583, i16 22, i16 2652, i16 3211, i16 0, i16 0, i16 0, i16 0, i16 361, i16 0, i16 928, i16 0, i16 0, i16 3089, i16 557, i16 815, i16 0, i16 0, i16 1325, i16 2950, i16 1110, i16 2310, i16 2113, i16 0, i16 2115, i16 2330, i16 635, i16 2418, i16 967, i16 0, i16 230, i16 666, i16 1709, i16 0, i16 0, i16 1456, i16 2370, i16 3060, i16 0, i16 0, i16 1392, i16 851, i16 342, i16 805, i16 1854, i16 0, i16 2433, i16 3281, i16 1787, i16 2535, i16 0, i16 576, i16 2700, i16 1987, i16 0, i16 0, i16 2549, i16 407, i16 2174, i16 2957, i16 0, i16 0, i16 0, i16 0, i16 1993, i16 1413, i16 175, i16 0, i16 912, i16 2161, i16 0, i16 976, i16 2039, i16 649, i16 0, i16 1239, i16 2979, i16 1111, i16 1849, i16 1078, i16 0, i16 662, i16 668, i16 964, i16 0, i16 3314, i16 595, i16 3120, i16 3152, i16 592, i16 2687, i16 0, i16 2804, i16 2828, i16 2847, i16 2796, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1465, i16 2612, i16 2633, i16 2655, i16 2675, i16 2699, i16 2724, i16 2747, i16 2774, i16 2799, i16 2821, i16 2840, i16 2864, i16 2882, i16 2899, i16 2925, i16 641, i16 781, i16 0, i16 1996, i16 1613, i16 856, i16 1929, i16 1924, i16 0, i16 1781, i16 240, i16 1192, i16 35, i16 787, i16 3197, i16 1593, i16 3081, i16 2927, i16 0, i16 2686, i16 0, i16 1235, i16 0, i16 104, i16 1505, i16 0, i16 0, i16 0, i16 579, i16 3412, i16 2998, i16 1990, i16 2945, i16 2975, i16 2994, i16 3015, i16 3035, i16 0, i16 0, i16 0, i16 1742, i16 3070, i16 3093, i16 3116, i16 3137, i16 3162, i16 3186, i16 3203, i16 3226, i16 3250, i16 3270, i16 3298, i16 3320, i16 3345, i16 3366, i16 3390, i16 3411, i16 1976, i16 1998, i16 2025, i16 2049, i16 2075, i16 0, i16 0, i16 142, i16 0, i16 1213, i16 0, i16 560, i16 1166, i16 3001, i16 290, i16 0, i16 1536, i16 0, i16 633, i16 1309, i16 0, i16 1856, i16 1026, i16 0, i16 0, i16 591, i16 0, i16 0, i16 773, i16 0, i16 571, i16 2590, i16 110, i16 0, i16 0, i16 0, i16 0, i16 41, i16 621, i16 3218, i16 312, i16 3150, i16 431, i16 1894, i16 0, i16 963, i16 1790, i16 2952, i16 1558, i16 3199, i16 3142, i16 0, i16 2889, i16 0, i16 2761, i16 0, i16 0, i16 0, i16 0, i16 892, i16 0, i16 0, i16 0, i16 2869, i16 2877, i16 955, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1688, i16 313, i16 1710, i16 0, i16 1647, i16 0, i16 0, i16 0, i16 0, i16 0, i16 150, i16 383, i16 0, i16 0, i16 957, i16 1268, i16 0, i16 0, i16 1199, i16 3255, i16 2586, i16 1183, i16 0, i16 0, i16 0, i16 405, i16 2764, i16 818, i16 543, i16 293, i16 1017, i16 4, i16 3225, i16 0, i16 1984, i16 0, i16 0, i16 0, i16 3091, i16 2000, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 639, i16 0, i16 1428, i16 0, i16 444, i16 0, i16 718, i16 2251, i16 0, i16 0, i16 2306, i16 2181, i16 0, i16 2458, i16 0, i16 3083, i16 99, i16 0, i16 0, i16 479, i16 2260, i16 3064, i16 0, i16 3343, i16 0, i16 103, i16 1210, i16 727, i16 1469, i16 3339, i16 582, i16 0, i16 1956, i16 0, i16 0, i16 2223, i16 63, i16 203, i16 1208, i16 2141, i16 1238, i16 344, i16 2415, i16 796, i16 3323, i16 1692, i16 3117, i16 0, i16 0, i16 1653, i16 1175, i16 2446, i16 448, i16 327, i16 1928, i16 2706, i16 2713, i16 2826, i16 421, i16 2832, i16 0, i16 0, i16 113, i16 0, i16 2108, i16 1607, i16 2217, i16 1839, i16 2023, i16 679, i16 1275, i16 766, i16 252, i16 2789, i16 1391, i16 2872, i16 274, i16 1438, i16 0, i16 0, i16 1396, i16 1625, i16 0, i16 0, i16 0, i16 0, i16 561, i16 616, i16 790, i16 1691, i16 0, i16 1628, i16 1443, i16 3221, i16 0, i16 1700, i16 0, i16 1495, i16 1353, i16 2437, i16 59, i16 0, i16 2539, i16 1940, i16 0, i16 0, i16 0, i16 254, i16 0, i16 1439, i16 988, i16 369, i16 102, i16 195, i16 682, i16 0, i16 0, i16 1765, i16 0, i16 1704, i16 0, i16 704, i16 0, i16 554, i16 1222, i16 2784, i16 0, i16 0, i16 0, i16 559, i16 0, i16 0, i16 0, i16 302, i16 0, i16 0, i16 0, i16 0, i16 3284, i16 3234, i16 0, i16 2463, i16 3071, i16 1802, i16 1232, i16 0, i16 264, i16 0, i16 2868, i16 908, i16 0, i16 0, i16 0, i16 178, i16 0, i16 228, i16 0, i16 871, i16 0, i16 0, i16 0, i16 257, i16 0, i16 673, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 952, i16 416, i16 0, i16 419, i16 1936, i16 1503, i16 0, i16 319, i16 0, i16 0, i16 3342, i16 0, i16 0, i16 3174, i16 735, i16 39, i16 0, i16 1062, i16 573, i16 1594, i16 1168, i16 0, i16 962, i16 1441, i16 1173, i16 3084, i16 864, i16 0, i16 1970, i16 227, i16 3114, i16 0, i16 0, i16 1753, i16 1761, i16 1194, i16 0, i16 0, i16 0, i16 2094, i16 2122, i16 2154, i16 2177, i16 2207, i16 2238, i16 2266, i16 2285, i16 2309, i16 2335, i16 2355, i16 2376, i16 2396, i16 2417, i16 2442, i16 2468, i16 1292, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1451, i16 2589, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1401, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2475, i16 1869, i16 0, i16 0, i16 1317, i16 1059, i16 2777, i16 2728, i16 0, i16 0, i16 0, i16 0, i16 417, i16 1081, i16 1911, i16 0, i16 0, i16 0, i16 0, i16 3307, i16 1038, i16 0, i16 0, i16 0, i16 0, i16 2099, i16 575, i16 0, i16 0, i16 0, i16 2896, i16 2637, i16 3243, i16 0, i16 1141, i16 123, i16 1498, i16 1988, i16 2513, i16 0, i16 55, i16 2772, i16 2356, i16 1373, i16 1605, i16 0, i16 287, i16 3052, i16 0, i16 355, i16 765, i16 0, i16 0, i16 2781, i16 0, i16 2797, i16 1573, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 941, i16 1909, i16 2552, i16 0, i16 0, i16 0, i16 2276, i16 0, i16 38, i16 0, i16 1874, i16 50, i16 0, i16 0, i16 1380, i16 684, i16 0, i16 0, i16 411, i16 755, i16 1983, i16 2613, i16 0, i16 0, i16 0, i16 1478, i16 137, i16 0, i16 2544, i16 0, i16 2219, i16 332, i16 1455, i16 3350, i16 2325, i16 1294, i16 1946, i16 1028, i16 2062, i16 1445, i16 0, i16 0, i16 0, i16 797, i16 0, i16 1395, i16 0, i16 441, i16 499, i16 2823, i16 1890, i16 495, i16 1490, i16 3148, i16 1071, i16 1716, i16 3295, i16 0, i16 0, i16 937, i16 1797, i16 1246, i16 3205, i16 0, i16 946, i16 0, i16 2731, i16 0, i16 285, i16 0, i16 0, i16 0, i16 2459, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 384, i16 204, i16 2735, i16 716, i16 0, i16 0, i16 0, i16 153, i16 3347, i16 0, i16 0, i16 0, i16 2489, i16 2482, i16 1419, i16 2703, i16 2226, i16 1471, i16 0, i16 1418, i16 951, i16 0, i16 0, i16 0, i16 0, i16 232, i16 0, i16 0, i16 3326, i16 0, i16 0, i16 1470, i16 0, i16 0, i16 494, i16 0, i16 107, i16 2409, i16 1769, i16 1058, i16 3261, i16 0, i16 3147, i16 1285, i16 0, i16 1351, i16 3362, i16 0, i16 1204, i16 695, i16 0, i16 360, i16 1539, i16 2634, i16 0, i16 0, i16 2250, i16 0, i16 95, i16 3034, i16 1815, i16 0, i16 2993, i16 52, i16 1722, i16 0, i16 0, i16 0, i16 1276, i16 3172, i16 2199, i16 808, i16 786, i16 2361, i16 0, i16 1458, i16 2215, i16 0, i16 483, i16 3230, i16 1206, i16 2183, i16 2213, i16 2245, i16 2268, i16 2289, i16 2315, i16 2339, i16 2354, i16 2375, i16 2395, i16 2416, i16 2441, i16 2467, i16 2477, i16 2753, i16 2517, i16 2547, i16 2566, i16 2587, i16 2611, i16 2632, i16 2654, i16 2674, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 439, i16 2127, i16 2746, i16 3195, i16 2974, i16 0, i16 9, i16 1157, i16 1986, i16 1055, i16 1178, i16 0, i16 436, i16 0, i16 3388, i16 3048, i16 654, i16 0, i16 3058, i16 0, i16 1545, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2515, i16 0, i16 1221, i16 1099, i16 187, i16 2092, i16 1463, i16 2647, i16 2803, i16 0, i16 0, i16 0, i16 0, i16 1031, i16 2658, i16 0, i16 1836, i16 0, i16 0, i16 47, i16 2879, i16 3019, i16 2166, i16 0, i16 0, i16 1843, i16 0, i16 0, i16 398, i16 0, i16 1848, i16 874, i16 297, i16 0, i16 0, i16 0, i16 1686, i16 613, i16 3002, i16 2931, i16 2867, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2754, i16 2503, i16 2391, i16 3065, i16 3110, i16 3138, i16 3163, i16 3190, i16 3229, i16 3288, i16 3338, i16 3357, i16 2036, i16 2070, i16 2097, i16 2129, i16 2156, i16 2186, i16 2247, i16 2274, i16 2298, i16 2344, i16 2365, i16 2019, i16 2801, i16 2684, i16 2405, i16 3341, i16 3027, i16 3348, i16 3422, i16 2091, i16 1485, i16 0, i16 3010, i16 902, i16 0, i16 0, i16 1948, i16 0, i16 0, i16 0, i16 309, i16 0, i16 3418, i16 484, i16 0, i16 0, i16 2567, i16 1944, i16 0, i16 1724, i16 0, i16 1777, i16 492, i16 81, i16 688, i16 1714, i16 1499, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2770, i16 3075, i16 1804, i16 0, i16 1227, i16 1751, i16 2936, i16 0, i16 0, i16 0, i16 121, i16 0, i16 1180, i16 1364, i16 1322, i16 3112, i16 588, i16 347, i16 1982, i16 2162, i16 2938, i16 2304, i16 3215, i16 2528, i16 0, i16 0, i16 0, i16 2814, i16 1442, i16 71, i16 0, i16 593, i16 2775, i16 2240, i16 1741, i16 0, i16 0, i16 0, i16 2692, i16 1966, i16 0, i16 379, i16 1102, i16 3000, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1745, i16 0, i16 0, i16 0, i16 3161, i16 1057, i16 2683, i16 222, i16 2338, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1749, i16 2524, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2334, i16 2349, i16 2368, i16 2390, i16 2411, i16 2434, i16 2461, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3214, i16 3242, i16 3260, i16 3283, i16 3308, i16 3330, i16 3352, i16 0, i16 0, i16 0, i16 0, i16 0, i16 989, i16 982, i16 0, i16 0, i16 0, i16 0, i16 1938, i16 0, i16 0, i16 1681, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 991, i16 0, i16 730, i16 2911, i16 0, i16 0, i16 0, i16 1899, i16 2028, i16 185, i16 2512, i16 2569, i16 2673, i16 2267, i16 2806, i16 2941, i16 2540, i16 2923, i16 2086, i16 0, i16 1892, i16 0, i16 903, i16 2920, i16 2592, i16 2751, i16 1093, i16 1708, i16 0, i16 3005, i16 19, i16 3356, i16 2527, i16 216, i16 2619, i16 2188, i16 2557, i16 627, i16 748, i16 135, i16 1344, i16 0, i16 872, i16 1018, i16 2790, i16 2776, i16 0, i16 669, i16 2721, i16 73, i16 2139, i16 1278, i16 188, i16 0, i16 2662, i16 0, i16 0, i16 0, i16 0, i16 550, i16 1484, i16 1083, i16 1303, i16 3238, i16 2783, i16 2805, i16 2688, i16 2891, i16 2839, i16 2863, i16 2572, i16 2624, i16 2641, i16 2588, i16 2709, i16 2944, i16 2718, i16 2740, i16 2768, i16 2820, i16 2871, i16 2579, i16 2698, i16 215, i16 2959, i16 844, i16 2151, i16 2984, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2272, i16 0, i16 2155, i16 2445, i16 371, i16 1070, i16 2953, i16 1633, i16 389, i16 1272, i16 691, i16 1365, i16 1759, i16 2857, i16 1045, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2902, i16 2263, i16 170, i16 855, i16 3113, i16 685, i16 1379, i16 1226, i16 2082, i16 1311, i16 1643, i16 0, i16 3040, i16 1768, i16 1995, i16 1623, i16 2088, i16 3022, i16 1425, i16 1170, i16 2282, i16 0, i16 0, i16 923, i16 1515, i16 1300, i16 3090, i16 2476, i16 1914, i16 289, i16 587, i16 1937, i16 2546, i16 2536, i16 1449, i16 2962, i16 3207, i16 0, i16 1519, i16 1259, i16 968, i16 1590, i16 2371, i16 3066, i16 1249, i16 173, i16 759, i16 1945, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 526, i16 2096, i16 0, i16 0, i16 0, i16 0, i16 3367, i16 0, i16 541, i16 2231, i16 954, i16 0, i16 0, i16 237, i16 0, i16 0, i16 430, i16 0, i16 0, i16 0, i16 2081, i16 726, i16 2020, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 939, i16 23, i16 0, i16 3109, i16 0, i16 0, i16 0, i16 0, i16 3252, i16 2599, i16 0, i16 965, i16 2221, i16 420, i16 1386, i16 0, i16 1734, i16 0, i16 1824, i16 0, i16 0, i16 0, i16 1969, i16 2259, i16 1509, i16 0, i16 1580, i16 1887, i16 2712, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 194, i16 0, i16 2134, i16 2568, i16 2649, i16 226, i16 663, i16 2048, i16 1862, i16 2460, i16 1400, i16 1299, i16 3369, i16 0, i16 0, i16 1867, i16 465, i16 2620, i16 916, i16 771, i16 940, i16 233, i16 0, i16 3132, i16 2132, i16 720, i16 1020, i16 2050, i16 0, i16 2316, i16 1723, i16 3351, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2246, i16 2032, i16 0, i16 326, i16 3387, i16 714, i16 475, i16 0, i16 1673, i16 0, i16 0, i16 1743, i16 0, i16 3145, i16 0, i16 0, i16 1258, i16 1240, i16 1830, i16 0, i16 70, i16 0, i16 163, i16 0, i16 2817, i16 1230, i16 2481, i16 2253, i16 2880, i16 2551, i16 2701, i16 115, i16 2851, i16 2292, i16 434, i16 0, i16 0, i16 1420, i16 1152, i16 2150, i16 3201, i16 2498, i16 3224, i16 77, i16 0, i16 0, i16 0, i16 690, i16 2538, i16 1903, i16 1901, i16 2812, i16 3396, i16 1959, i16 3023, i16 0, i16 0, i16 0, i16 0, i16 1671, i16 258, i16 1060, i16 0, i16 1587, i16 191, i16 775, i16 935, i16 0, i16 0, i16 743, i16 2615, i16 1010, i16 0, i16 0, i16 0, i16 181, i16 3300, i16 372, i16 0, i16 1689, i16 749, i16 1695, i16 0, i16 2542, i16 2359, i16 418, i16 1730, i16 2771, i16 1735, i16 2470, i16 453, i16 2352, i16 2608, i16 143, i16 1337, i16 2160, i16 1339, i16 1352, i16 78, i16 3124, i16 983, i16 249, i16 0, i16 0, i16 3087, i16 1757, i16 2997, i16 2038, i16 1472, i16 2837, i16 619, i16 3414, i16 3053, i16 79, i16 2061, i16 1885, i16 1132, i16 2055, i16 3118, i16 604, i16 0, i16 0, i16 0, i16 1608, i16 744, i16 0, i16 2560, i16 0, i16 980, i16 1785, i16 301, i16 1489, i16 0, i16 853, i16 2293, i16 1792, i16 0, i16 0, i16 98, i16 1805, i16 456, i16 997, i16 0, i16 849, i16 1011, i16 821, i16 518, i16 0, i16 0, i16 605, i16 630, i16 0, i16 0, i16 0, i16 0, i16 1185, i16 0, i16 0, i16 0, i16 7, i16 0, i16 0, i16 0, i16 609, i16 2570, i16 2946, i16 345, i16 2856, i16 0, i16 415, i16 0, i16 0, i16 0, i16 0, i16 1360, i16 0, i16 2035, i16 1771, i16 2525, i16 0, i16 0, i16 0, i16 0, i16 846, i16 1720, i16 3361, i16 648, i16 132, i16 2252, i16 2080, i16 506, i16 0, i16 0, i16 0, i16 860, i16 214, i16 1522, i16 2819, i16 2671, i16 1051, i16 1551, i16 3107, i16 0, i16 0, i16 0, i16 1806, i16 1286, i16 2745, i16 1782, i16 870, i16 2022, i16 1935, i16 0, i16 1669, i16 809, i16 130, i16 0, i16 299, i16 0, i16 0, i16 2707, i16 2410, i16 0, i16 2602, i16 762, i16 3290, i16 3265, i16 2717, i16 85, i16 1597, i16 2341, i16 1763, i16 612, i16 2140, i16 2694, i16 664, i16 3299, i16 1042, i16 0, i16 1486, i16 1786, i16 2047, i16 2827, i16 1464, i16 3012, i16 2190, i16 0, i16 0, i16 196, i16 2942, i16 0, i16 837, i16 1586, i16 0, i16 1461, i16 710, i16 3077, i16 0, i16 996, i16 0, i16 0, i16 1237, i16 917, i16 457, i16 2194, i16 2954, i16 1220, i16 2780, i16 1444, i16 0, i16 0, i16 676, i16 1788, i16 0, i16 0, i16 971, i16 0, i16 652, i16 0, i16 0, i16 0, i16 0, i16 678, i16 2261, i16 0, i16 0, i16 674, i16 816, i16 2843, i16 286, i16 2900, i16 0, i16 2861, i16 563, i16 567, i16 2255, i16 2850, i16 1872, i16 2321, i16 1947, i16 0, i16 0, i16 854, i16 282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 14592, i16 0, i16 0, i16 0, i16 15360, i16 0, i16 0, i16 0, i16 13825, i16 0, i16 0, i16 0, i16 14338, i16 0, i16 0, i16 0, i16 14595, i16 0, i16 0, i16 0, i16 15620, i16 0, i16 0, i16 0, i16 13317, i16 0, i16 0, i16 0, i16 774, i16 0, i16 0, i16 0, i16 12806, i16 0, i16 0, i16 0, i16 15110, i16 0, i16 0, i16 0, i16 16903, i16 0, i16 0, i16 0, i16 13320, i16 0, i16 0, i16 0, i16 16136, i16 0, i16 0, i16 0, i16 15625, i16 0, i16 0, i16 0, i16 778, i16 0, i16 0, i16 0, i16 13578, i16 0, i16 0, i16 0, i16 14859, i16 0, i16 0, i16 0, i16 12556, i16 0, i16 0, i16 0, i16 14092, i16 0, i16 0, i16 0, i16 16652, i16 0, i16 0, i16 0, i16 12302, i16 0, i16 0, i16 0, i16 15118, i16 0, i16 0, i16 0, i16 17166, i16 0, i16 0, i16 0, i16 12559, i16 0, i16 0, i16 0, i16 12815, i16 0, i16 0, i16 0, i16 12304, i16 0, i16 0, i16 0, i16 14353, i16 0, i16 0, i16 0, i16 16913, i16 0, i16 0, i16 0, i16 14354, i16 0, i16 0, i16 0, i16 14355, i16 0, i16 0, i16 0, i16 16659, i16 0, i16 0, i16 0, i16 13844, i16 0, i16 0, i16 0, i16 13590, i16 0, i16 0, i16 0, i16 13591, i16 0, i16 0, i16 0, i16 15639, i16 0, i16 0, i16 0, i16 280, i16 0, i16 0, i16 0, i16 13336, i16 0, i16 0, i16 0, i16 14616, i16 0, i16 0, i16 0, i16 14105, i16 0, i16 0, i16 0, i16 13594, i16 0, i16 0, i16 0, i16 12571, i16 0, i16 0, i16 0, i16 13340, i16 0, i16 0, i16 0, i16 14620, i16 0, i16 0, i16 0, i16 14365, i16 0, i16 0, i16 0, i16 13854, i16 0, i16 0, i16 0, i16 16926, i16 0, i16 0, i16 0, i16 12831, i16 0, i16 0, i16 0, i16 14623, i16 0, i16 0, i16 0, i16 16415, i16 0, i16 0, i16 0, i16 16671, i16 0, i16 0, i16 0, i16 12576, i16 0, i16 0, i16 0, i16 15648, i16 0, i16 0, i16 0, i16 16928, i16 0, i16 0, i16 0, i16 12833, i16 0, i16 0, i16 0, i16 12322, i16 0, i16 0, i16 0, i16 13346, i16 0, i16 0, i16 0, i16 14370, i16 0, i16 0, i16 0, i16 16418, i16 0, i16 0, i16 0, i16 15907, i16 0, i16 0, i16 0, i16 14631, i16 0, i16 0, i16 0, i16 14632, i16 0, i16 0, i16 0, i16 15400, i16 0, i16 0, i16 0, i16 15656, i16 0, i16 0, i16 0, i16 13353, i16 0, i16 0, i16 0, i16 13609, i16 0, i16 0, i16 0, i16 15145, i16 0, i16 0, i16 0, i16 12330, i16 0, i16 0, i16 0, i16 12587, i16 0, i16 0, i16 0, i16 14891, i16 0, i16 0, i16 0, i16 15147, i16 0, i16 0, i16 0, i16 12588, i16 0, i16 0, i16 0, i16 13868, i16 0, i16 0, i16 0, i16 14381, i16 0, i16 0, i16 0, i16 15149, i16 0, i16 0, i16 0, i16 12334, i16 0, i16 0, i16 0, i16 16430, i16 0, i16 0, i16 0, i16 13359, i16 0, i16 0, i16 0, i16 14383, i16 0, i16 0, i16 0, i16 13616, i16 0, i16 0, i16 0, i16 15664, i16 0, i16 0, i16 0, i16 16432, i16 0, i16 0, i16 0, i16 12593, i16 0, i16 0, i16 0, i16 16945, i16 0, i16 0, i16 0, i16 15666, i16 0, i16 0, i16 0, i16 16690, i16 0, i16 0, i16 0, i16 15923, i16 0, i16 0, i16 0, i16 12340, i16 0, i16 0, i16 0, i16 14388, i16 0, i16 0, i16 0, i16 15924, i16 0, i16 0, i16 0, i16 12853, i16 0, i16 0, i16 0, i16 13112, i16 0, i16 0, i16 0, i16 15928, i16 0, i16 0, i16 0, i16 15929, i16 0, i16 0, i16 0, i16 16185, i16 0, i16 0, i16 0, i16 13626, i16 0, i16 0, i16 0, i16 13882, i16 0, i16 0, i16 0, i16 15930, i16 0, i16 0, i16 0, i16 12347, i16 0, i16 0, i16 0, i16 12603, i16 0, i16 0, i16 0, i16 13627, i16 0, i16 0, i16 0, i16 15675, i16 0, i16 0, i16 0, i16 12860, i16 0, i16 0, i16 0, i16 14396, i16 0, i16 0, i16 0, i16 16444, i16 0, i16 0, i16 0, i16 12351, i16 0, i16 0, i16 0, i16 13631, i16 0, i16 0, i16 0, i16 16703, i16 0, i16 0, i16 0, i16 12353, i16 0, i16 0, i16 0, i16 12865, i16 0, i16 0, i16 0, i16 13377, i16 0, i16 0, i16 0, i16 14145, i16 0, i16 0, i16 0, i16 15425, i16 0, i16 0, i16 0, i16 12866, i16 0, i16 0, i16 0, i16 13634, i16 0, i16 0, i16 0, i16 16962, i16 0, i16 0, i16 0, i16 13380, i16 0, i16 0, i16 0, i16 14916, i16 0, i16 0, i16 0, i16 13125, i16 0, i16 0, i16 0, i16 13893, i16 0, i16 0, i16 0, i16 15429, i16 0, i16 0, i16 0, i16 16709, i16 0, i16 0, i16 0, i16 13638, i16 0, i16 0, i16 0, i16 15430, i16 0, i16 0, i16 0, i16 15686, i16 0, i16 0, i16 0, i16 16966, i16 0, i16 0, i16 0, i16 13383, i16 0, i16 0, i16 0, i16 16455, i16 0, i16 0, i16 0, i16 16456, i16 0, i16 0, i16 0, i16 16712, i16 0, i16 0, i16 0, i16 12361, i16 0, i16 0, i16 0, i16 12617, i16 0, i16 0, i16 0, i16 15177, i16 0, i16 0, i16 0, i16 12874, i16 0, i16 0, i16 0, i16 16970, i16 0, i16 0, i16 0, i16 12875, i16 0, i16 0, i16 0, i16 14412, i16 0, i16 0, i16 0, i16 15948, i16 0, i16 0, i16 0, i16 12621, i16 0, i16 0, i16 0, i16 13646, i16 0, i16 0, i16 0, i16 14414, i16 0, i16 0, i16 0, i16 12623, i16 0, i16 0, i16 0, i16 14159, i16 0, i16 0, i16 0, i16 13136, i16 0, i16 0, i16 0, i16 16464, i16 0, i16 0, i16 0, i16 16976, i16 0, i16 0, i16 0, i16 12882, i16 0, i16 0, i16 0, i16 15698, i16 0, i16 0, i16 0, i16 14419, i16 0, i16 0, i16 0, i16 12373, i16 0, i16 0, i16 0, i16 15957, i16 0, i16 0, i16 0, i16 16981, i16 0, i16 0, i16 0, i16 13398, i16 0, i16 0, i16 0, i16 14934, i16 0, i16 0, i16 0, i16 13400, i16 0, i16 0, i16 0, i16 13145, i16 0, i16 0, i16 0, i16 13402, i16 0, i16 0, i16 0, i16 14682, i16 0, i16 0, i16 0, i16 16730, i16 0, i16 0, i16 0, i16 16986, i16 0, i16 0, i16 0, i16 14939, i16 0, i16 0, i16 0, i16 13148, i16 0, i16 0, i16 0, i16 15708, i16 0, i16 0, i16 0, i16 16476, i16 0, i16 0, i16 0, i16 13149, i16 0, i16 0, i16 0, i16 14173, i16 0, i16 0, i16 0, i16 15453, i16 0, i16 0, i16 0, i16 15709, i16 0, i16 0, i16 0, i16 16733, i16 0, i16 0, i16 0, i16 14174, i16 0, i16 0, i16 0, i16 15710, i16 0, i16 0, i16 0, i16 12383, i16 0, i16 0, i16 0, i16 16735, i16 0, i16 0, i16 0, i16 15712, i16 0, i16 0, i16 0, i16 12641, i16 0, i16 0, i16 0, i16 13409, i16 0, i16 0, i16 0, i16 16226, i16 0, i16 0, i16 0, i16 13923, i16 0, i16 0, i16 0, i16 14179, i16 0, i16 0, i16 0, i16 16483, i16 0, i16 0, i16 0, i16 15716, i16 0, i16 0, i16 0, i16 13414, i16 0, i16 0, i16 0, i16 615, i16 0, i16 0, i16 0, i16 871, i16 0, i16 0, i16 0, i16 12906, i16 0, i16 0, i16 0, i16 14186, i16 0, i16 0, i16 0, i16 14442, i16 0, i16 0, i16 0, i16 14698, i16 0, i16 0, i16 0, i16 16490, i16 0, i16 0, i16 0, i16 12651, i16 0, i16 0, i16 0, i16 13675, i16 0, i16 0, i16 0, i16 13164, i16 0, i16 0, i16 0, i16 13420, i16 0, i16 0, i16 0, i16 15980, i16 0, i16 0, i16 0, i16 13935, i16 0, i16 0, i16 0, i16 13680, i16 0, i16 0, i16 0, i16 16752, i16 0, i16 0, i16 0, i16 13938, i16 0, i16 0, i16 0, i16 15475, i16 0, i16 0, i16 0, i16 15731, i16 0, i16 0, i16 0, i16 12660, i16 0, i16 0, i16 0, i16 15732, i16 0, i16 0, i16 0, i16 14453, i16 0, i16 0, i16 0, i16 14709, i16 0, i16 0, i16 0, i16 15221, i16 0, i16 0, i16 0, i16 12406, i16 0, i16 0, i16 0, i16 13174, i16 0, i16 0, i16 0, i16 12919, i16 0, i16 0, i16 0, i16 16759, i16 0, i16 0, i16 0, i16 15480, i16 0, i16 0, i16 0, i16 14201, i16 0, i16 0, i16 0, i16 15737, i16 0, i16 0, i16 0, i16 15993, i16 0, i16 0, i16 0, i16 16250, i16 0, i16 0, i16 0, i16 12411, i16 0, i16 0, i16 0, i16 636, i16 0, i16 0, i16 0, i16 13180, i16 0, i16 0, i16 0, i16 14460, i16 0, i16 0, i16 0, i16 14716, i16 0, i16 0, i16 0, i16 14972, i16 0, i16 0, i16 0, i16 15228, i16 0, i16 0, i16 0, i16 12669, i16 0, i16 0, i16 0, i16 14205, i16 0, i16 0, i16 0, i16 16765, i16 0, i16 0, i16 0, i16 12926, i16 0, i16 0, i16 0, i16 15486, i16 0, i16 0, i16 0, i16 15742, i16 0, i16 0, i16 0, i16 14207, i16 0, i16 0, i16 0, i16 16767, i16 0, i16 0, i16 0, i16 13185, i16 0, i16 0, i16 0, i16 12931, i16 0, i16 0, i16 0, i16 13187, i16 0, i16 0, i16 0, i16 13699, i16 0, i16 0, i16 0, i16 14467, i16 0, i16 0, i16 0, i16 12421, i16 0, i16 0, i16 0, i16 13701, i16 0, i16 0, i16 0, i16 14725, i16 0, i16 0, i16 0, i16 14981, i16 0, i16 0, i16 0, i16 16261, i16 0, i16 0, i16 0, i16 13190, i16 0, i16 0, i16 0, i16 14214, i16 0, i16 0, i16 0, i16 16006, i16 0, i16 0, i16 0, i16 13703, i16 0, i16 0, i16 0, i16 12425, i16 0, i16 0, i16 0, i16 13705, i16 0, i16 0, i16 0, i16 14473, i16 0, i16 0, i16 0, i16 14985, i16 0, i16 0, i16 0, i16 13962, i16 0, i16 0, i16 0, i16 16266, i16 0, i16 0, i16 0, i16 12939, i16 0, i16 0, i16 0, i16 13453, i16 0, i16 0, i16 0, i16 14221, i16 0, i16 0, i16 0, i16 16013, i16 0, i16 0, i16 0, i16 17037, i16 0, i16 0, i16 0, i16 15503, i16 0, i16 0, i16 0, i16 14737, i16 0, i16 0, i16 0, i16 12946, i16 0, i16 0, i16 0, i16 13458, i16 0, i16 0, i16 0, i16 15506, i16 0, i16 0, i16 0, i16 17042, i16 0, i16 0, i16 0, i16 12435, i16 0, i16 0, i16 0, i16 16019, i16 0, i16 0, i16 0, i16 17043, i16 0, i16 0, i16 0, i16 12948, i16 0, i16 0, i16 0, i16 13972, i16 0, i16 0, i16 0, i16 16532, i16 0, i16 0, i16 0, i16 13975, i16 0, i16 0, i16 0, i16 15768, i16 0, i16 0, i16 0, i16 16793, i16 0, i16 0, i16 0, i16 13466, i16 0, i16 0, i16 0, i16 155, i16 0, i16 0, i16 0, i16 156, i16 0, i16 0, i16 0, i16 13469, i16 0, i16 0, i16 0, i16 16285, i16 0, i16 0, i16 0, i16 12958, i16 0, i16 0, i16 0, i16 13215, i16 0, i16 0, i16 0, i16 13727, i16 0, i16 0, i16 0, i16 14751, i16 0, i16 0, i16 0, i16 15263, i16 0, i16 0, i16 0, i16 15775, i16 0, i16 0, i16 0, i16 12704, i16 0, i16 0, i16 0, i16 16800, i16 0, i16 0, i16 0, i16 13473, i16 0, i16 0, i16 0, i16 14241, i16 0, i16 0, i16 0, i16 15521, i16 0, i16 0, i16 0, i16 16801, i16 0, i16 0, i16 0, i16 12962, i16 0, i16 0, i16 0, i16 15010, i16 0, i16 0, i16 0, i16 15778, i16 0, i16 0, i16 0, i16 15267, i16 0, i16 0, i16 0, i16 14500, i16 0, i16 0, i16 0, i16 165, i16 0, i16 0, i16 0, i16 15781, i16 0, i16 0, i16 0, i16 16293, i16 0, i16 0, i16 0, i16 166, i16 0, i16 0, i16 0, i16 17063, i16 0, i16 0, i16 0, i16 13736, i16 0, i16 0, i16 0, i16 16296, i16 0, i16 0, i16 0, i16 16808, i16 0, i16 0, i16 0, i16 12713, i16 0, i16 0, i16 0, i16 13993, i16 0, i16 0, i16 0, i16 16041, i16 0, i16 0, i16 0, i16 16810, i16 0, i16 0, i16 0, i16 17066, i16 0, i16 0, i16 0, i16 13483, i16 0, i16 0, i16 0, i16 13484, i16 0, i16 0, i16 0, i16 16300, i16 0, i16 0, i16 0, i16 13741, i16 0, i16 0, i16 0, i16 15277, i16 0, i16 0, i16 0, i16 12462, i16 0, i16 0, i16 0, i16 13999, i16 0, i16 0, i16 0, i16 16559, i16 0, i16 0, i16 0, i16 176, i16 0, i16 0, i16 0, i16 16048, i16 0, i16 0, i16 0, i16 13233, i16 0, i16 0, i16 0, i16 14769, i16 0, i16 0, i16 0, i16 16049, i16 0, i16 0, i16 0, i16 16305, i16 0, i16 0, i16 0, i16 13746, i16 0, i16 0, i16 0, i16 13747, i16 0, i16 0, i16 0, i16 180, i16 0, i16 0, i16 0, i16 13237, i16 0, i16 0, i16 0, i16 13749, i16 0, i16 0, i16 0, i16 14773, i16 0, i16 0, i16 0, i16 16309, i16 0, i16 0, i16 0, i16 16821, i16 0, i16 0, i16 0, i16 13750, i16 0, i16 0, i16 0, i16 14263, i16 0, i16 0, i16 0, i16 696, i16 0, i16 0, i16 0, i16 15544, i16 0, i16 0, i16 0, i16 16312, i16 0, i16 0, i16 0, i16 15290, i16 0, i16 0, i16 0, i16 16570, i16 0, i16 0, i16 0, i16 12475, i16 0, i16 0, i16 0, i16 13755, i16 0, i16 0, i16 0, i16 14779, i16 0, i16 0, i16 0, i16 15035, i16 0, i16 0, i16 0, i16 16828, i16 0, i16 0, i16 0, i16 15037, i16 0, i16 0, i16 0, i16 14526, i16 0, i16 0, i16 0, i16 15294, i16 0, i16 0, i16 0, i16 16832, i16 0, i16 0, i16 0, i16 15809, i16 0, i16 0, i16 0, i16 13506, i16 0, i16 0, i16 0, i16 16066, i16 0, i16 0, i16 0, i16 16834, i16 0, i16 0, i16 0, i16 12739, i16 0, i16 0, i16 0, i16 13763, i16 0, i16 0, i16 0, i16 12740, i16 0, i16 0, i16 0, i16 13764, i16 0, i16 0, i16 0, i16 16068, i16 0, i16 0, i16 0, i16 15045, i16 0, i16 0, i16 0, i16 15301, i16 0, i16 0, i16 0, i16 14278, i16 0, i16 0, i16 0, i16 12743, i16 0, i16 0, i16 0, i16 14791, i16 0, i16 0, i16 0, i16 17095, i16 0, i16 0, i16 0, i16 13768, i16 0, i16 0, i16 0, i16 15560, i16 0, i16 0, i16 0, i16 12745, i16 0, i16 0, i16 0, i16 13513, i16 0, i16 0, i16 0, i16 13514, i16 0, i16 0, i16 0, i16 13770, i16 0, i16 0, i16 0, i16 14027, i16 0, i16 0, i16 0, i16 17099, i16 0, i16 0, i16 0, i16 13516, i16 0, i16 0, i16 0, i16 17100, i16 0, i16 0, i16 0, i16 14285, i16 0, i16 0, i16 0, i16 16845, i16 0, i16 0, i16 0, i16 12494, i16 0, i16 0, i16 0, i16 14798, i16 0, i16 0, i16 0, i16 17102, i16 0, i16 0, i16 0, i16 16079, i16 0, i16 0, i16 0, i16 13520, i16 0, i16 0, i16 0, i16 14032, i16 0, i16 0, i16 0, i16 14288, i16 0, i16 0, i16 0, i16 14800, i16 0, i16 0, i16 0, i16 14289, i16 0, i16 0, i16 0, i16 15569, i16 0, i16 0, i16 0, i16 17105, i16 0, i16 0, i16 0, i16 13778, i16 0, i16 0, i16 0, i16 14034, i16 0, i16 0, i16 0, i16 14803, i16 0, i16 0, i16 0, i16 16083, i16 0, i16 0, i16 0, i16 14805, i16 0, i16 0, i16 0, i16 15829, i16 0, i16 0, i16 0, i16 16597, i16 0, i16 0, i16 0, i16 16853, i16 0, i16 0, i16 0, i16 16598, i16 0, i16 0, i16 0, i16 12503, i16 0, i16 0, i16 0, i16 13527, i16 0, i16 0, i16 0, i16 16088, i16 0, i16 0, i16 0, i16 12761, i16 0, i16 0, i16 0, i16 13785, i16 0, i16 0, i16 0, i16 14809, i16 0, i16 0, i16 0, i16 12508, i16 0, i16 0, i16 0, i16 13276, i16 0, i16 0, i16 0, i16 13532, i16 0, i16 0, i16 0, i16 15836, i16 0, i16 0, i16 0, i16 16348, i16 0, i16 0, i16 0, i16 17116, i16 0, i16 0, i16 0, i16 14045, i16 0, i16 0, i16 0, i16 15837, i16 0, i16 0, i16 0, i16 14558, i16 0, i16 0, i16 0, i16 15326, i16 0, i16 0, i16 0, i16 14047, i16 0, i16 0, i16 0, i16 12768, i16 0, i16 0, i16 0, i16 15584, i16 0, i16 0, i16 0, i16 225, i16 0, i16 0, i16 0, i16 13793, i16 0, i16 0, i16 0, i16 13027, i16 0, i16 0, i16 0, i16 14819, i16 0, i16 0, i16 0, i16 16099, i16 0, i16 0, i16 0, i16 16867, i16 0, i16 0, i16 0, i16 14052, i16 0, i16 0, i16 0, i16 17124, i16 0, i16 0, i16 0, i16 14821, i16 0, i16 0, i16 0, i16 15077, i16 0, i16 0, i16 0, i16 13286, i16 0, i16 0, i16 0, i16 12519, i16 0, i16 0, i16 0, i16 12775, i16 0, i16 0, i16 0, i16 13031, i16 0, i16 0, i16 0, i16 14311, i16 0, i16 0, i16 0, i16 14823, i16 0, i16 0, i16 0, i16 13800, i16 0, i16 0, i16 0, i16 16616, i16 0, i16 0, i16 0, i16 14057, i16 0, i16 0, i16 0, i16 14826, i16 0, i16 0, i16 0, i16 15594, i16 0, i16 0, i16 0, i16 13291, i16 0, i16 0, i16 0, i16 16108, i16 0, i16 0, i16 0, i16 237, i16 0, i16 0, i16 0, i16 12781, i16 0, i16 0, i16 0, i16 15597, i16 0, i16 0, i16 0, i16 15342, i16 0, i16 0, i16 0, i16 14063, i16 0, i16 0, i16 0, i16 15087, i16 0, i16 0, i16 0, i16 15344, i16 0, i16 0, i16 0, i16 13809, i16 0, i16 0, i16 0, i16 17138, i16 0, i16 0, i16 0, i16 15091, i16 0, i16 0, i16 0, i16 16627, i16 0, i16 0, i16 0, i16 12788, i16 0, i16 0, i16 0, i16 14580, i16 0, i16 0, i16 0, i16 15348, i16 0, i16 0, i16 0, i16 16628, i16 0, i16 0, i16 0, i16 13813, i16 0, i16 0, i16 0, i16 13302, i16 0, i16 0, i16 0, i16 14326, i16 0, i16 0, i16 0, i16 15094, i16 0, i16 0, i16 0, i16 15863, i16 0, i16 0, i16 0, i16 16375, i16 0, i16 0, i16 0, i16 15353, i16 0, i16 0, i16 0, i16 15609, i16 0, i16 0, i16 0, i16 14586, i16 0, i16 0, i16 0, i16 15354, i16 0, i16 0, i16 0, i16 15355, i16 0, i16 0, i16 0, i16 15867, i16 0, i16 0, i16 0, i16 15100, i16 0, i16 0, i16 0, i16 12285, i16 0, i16 0, i16 0, i16 13053, i16 0, i16 0, i16 0, i16 14333, i16 0, i16 0, i16 0, i16 12542, i16 0, i16 0, i16 0, i16 12798, i16 0, i16 0, i16 0, i16 13310, i16 0, i16 0, i16 0, i16 14846, i16 0, i16 0, i16 0, i16 15103, i16 0, i16 0, i16 256, i16 0, i16 0, i16 0, i16 14080, i16 0, i16 0, i16 0, i16 13313, i16 17049, i16 0, i16 0, i16 12546, i16 0, i16 0, i16 0, i16 14082, i16 0, i16 0, i16 0, i16 15618, i16 0, i16 0, i16 0, i16 12547, i16 0, i16 0, i16 0, i16 16899, i16 0, i16 0, i16 0, i16 14852, i16 17003, i16 0, i16 0, i16 16388, i16 0, i16 0, i16 0, i16 16644, i16 0, i16 0, i16 0, i16 13573, i16 0, i16 0, i16 0, i16 14085, i16 0, i16 0, i16 0, i16 15109, i16 0, i16 0, i16 0, i16 13318, i16 0, i16 0, i16 0, i16 15366, i16 0, i16 0, i16 0, i16 15622, i16 0, i16 0, i16 0, i16 16390, i16 14495, i16 0, i16 0, i16 16902, i16 13005, i16 0, i16 0, i16 12295, i16 12296, i16 0, i16 0, i16 14343, i16 13546, i16 0, i16 0, i16 16647, i16 0, i16 0, i16 0, i16 14344, i16 0, i16 0, i16 0, i16 15880, i16 15683, i16 0, i16 0, i16 265, i16 264, i16 0, i16 0, i16 12553, i16 14944, i16 0, i16 0, i16 13833, i16 0, i16 0, i16 0, i16 14857, i16 0, i16 0, i16 0, i16 15881, i16 0, i16 0, i16 0, i16 16137, i16 0, i16 0, i16 0, i16 16649, i16 0, i16 0, i16 0, i16 17162, i16 0, i16 0, i16 0, i16 12555, i16 16345, i16 0, i16 0, i16 13067, i16 0, i16 0, i16 0, i16 15115, i16 0, i16 0, i16 0, i16 12300, i16 0, i16 0, i16 0, i16 14348, i16 0, i16 0, i16 0, i16 15628, i16 14483, i16 0, i16 0, i16 16140, i16 0, i16 0, i16 0, i16 12557, i16 0, i16 0, i16 0, i16 14349, i16 0, i16 0, i16 0, i16 14605, i16 15757, i16 0, i16 0, i16 15629, i16 0, i16 0, i16 0, i16 15885, i16 0, i16 0, i16 0, i16 782, i16 0, i16 0, i16 0, i16 13582, i16 13021, i16 0, i16 0, i16 14094, i16 0, i16 0, i16 0, i16 14862, i16 0, i16 0, i16 0, i16 16398, i16 14978, i16 0, i16 0, i16 14352, i16 0, i16 0, i16 0, i16 15376, i16 0, i16 0, i16 0, i16 15121, i16 0, i16 0, i16 0, i16 16657, i16 0, i16 0, i16 0, i16 17169, i16 0, i16 0, i16 0, i16 16658, i16 0, i16 0, i16 0, i16 12819, i16 15198, i16 0, i16 0, i16 13331, i16 0, i16 0, i16 0, i16 13588, i16 15915, i16 0, i16 0, i16 16148, i16 0, i16 0, i16 0, i16 13589, i16 14715, i16 0, i16 0, i16 15125, i16 0, i16 0, i16 0, i16 16661, i16 0, i16 0, i16 0, i16 12310, i16 0, i16 0, i16 0, i16 12566, i16 15116, i16 0, i16 0, i16 13334, i16 0, i16 0, i16 0, i16 14102, i16 15783, i16 0, i16 0, i16 13335, i16 0, i16 0, i16 0, i16 16152, i16 0, i16 0, i16 0, i16 12569, i16 0, i16 0, i16 0, i16 282, i16 0, i16 0, i16 0, i16 794, i16 0, i16 0, i16 0, i16 13338, i16 0, i16 0, i16 0, i16 15386, i16 15387, i16 0, i16 0, i16 15643, i16 16909, i16 0, i16 0, i16 16155, i16 14782, i16 0, i16 0, i16 16667, i16 0, i16 0, i16 0, i16 12828, i16 0, i16 0, i16 0, i16 15644, i16 0, i16 0, i16 0, i16 12829, i16 0, i16 0, i16 0, i16 13597, i16 0, i16 0, i16 0, i16 15133, i16 0, i16 0, i16 0, i16 16413, i16 0, i16 0, i16 0, i16 16669, i16 0, i16 0, i16 0, i16 14110, i16 0, i16 0, i16 0, i16 15902, i16 0, i16 0, i16 0, i16 16158, i16 0, i16 0, i16 0, i16 16670, i16 0, i16 0, i16 0, i16 12320, i16 0, i16 0, i16 0, i16 13344, i16 0, i16 0, i16 0, i16 14624, i16 13170, i16 0, i16 0, i16 15392, i16 0, i16 0, i16 0, i16 16672, i16 12786, i16 0, i16 0, i16 12321, i16 0, i16 0, i16 0, i16 13601, i16 0, i16 0, i16 0, i16 14881, i16 17167, i16 0, i16 0, i16 15649, i16 16630, i16 0, i16 0, i16 15905, i16 16062, i16 0, i16 0, i16 16929, i16 0, i16 0, i16 0, i16 14114, i16 0, i16 0, i16 0, i16 14882, i16 0, i16 0, i16 0, i16 15906, i16 12444, i16 0, i16 0, i16 16674, i16 0, i16 0, i16 0, i16 16163, i16 0, i16 0, i16 0, i16 13860, i16 13824, i16 0, i16 0, i16 14116, i16 15911, i16 0, i16 0, i16 14884, i16 0, i16 0, i16 0, i16 12325, i16 0, i16 0, i16 0, i16 12837, i16 0, i16 0, i16 0, i16 16678, i16 0, i16 0, i16 0, i16 12327, i16 0, i16 0, i16 0, i16 14887, i16 0, i16 0, i16 0, i16 16423, i16 0, i16 0, i16 0, i16 12328, i16 16639, i16 0, i16 0, i16 16425, i16 0, i16 0, i16 0, i16 13610, i16 16180, i16 0, i16 0, i16 14890, i16 0, i16 0, i16 0, i16 16170, i16 0, i16 0, i16 0, i16 15403, i16 0, i16 0, i16 0, i16 16171, i16 0, i16 0, i16 0, i16 12332, i16 0, i16 0, i16 0, i16 15404, i16 15291, i16 0, i16 0, i16 14125, i16 0, i16 0, i16 0, i16 14893, i16 15274, i16 0, i16 0, i16 16685, i16 0, i16 0, i16 0, i16 16941, i16 0, i16 0, i16 0, i16 14382, i16 0, i16 0, i16 0, i16 14638, i16 12998, i16 0, i16 0, i16 16174, i16 0, i16 0, i16 0, i16 12591, i16 0, i16 0, i16 0, i16 14639, i16 0, i16 0, i16 0, i16 13360, i16 0, i16 0, i16 0, i16 14384, i16 0, i16 0, i16 0, i16 14640, i16 0, i16 0, i16 0, i16 13361, i16 0, i16 0, i16 0, i16 14641, i16 0, i16 0, i16 0, i16 15409, i16 0, i16 0, i16 0, i16 16433, i16 0, i16 0, i16 0, i16 14642, i16 0, i16 0, i16 0, i16 14898, i16 13976, i16 0, i16 0, i16 15154, i16 0, i16 0, i16 0, i16 12851, i16 15968, i16 0, i16 0, i16 13619, i16 0, i16 0, i16 0, i16 16947, i16 0, i16 0, i16 0, i16 15156, i16 0, i16 0, i16 0, i16 13365, i16 0, i16 0, i16 0, i16 13621, i16 12675, i16 0, i16 0, i16 12598, i16 15066, i16 0, i16 0, i16 12343, i16 13378, i16 0, i16 0, i16 14135, i16 0, i16 0, i16 0, i16 14391, i16 0, i16 0, i16 0, i16 16951, i16 15075, i16 0, i16 0, i16 12856, i16 0, i16 0, i16 0, i16 15160, i16 13821, i16 0, i16 0, i16 14905, i16 0, i16 0, i16 0, i16 12858, i16 0, i16 0, i16 0, i16 13370, i16 0, i16 0, i16 0, i16 14138, i16 0, i16 0, i16 0, i16 14907, i16 0, i16 0, i16 0, i16 13628, i16 0, i16 0, i16 0, i16 13884, i16 0, i16 0, i16 0, i16 16956, i16 0, i16 0, i16 0, i16 13885, i16 0, i16 0, i16 0, i16 14141, i16 0, i16 0, i16 0, i16 14398, i16 0, i16 0, i16 0, i16 15166, i16 0, i16 0, i16 0, i16 16958, i16 0, i16 0, i16 0, i16 13375, i16 0, i16 0, i16 0, i16 13889, i16 0, i16 0, i16 0, i16 14913, i16 14137, i16 0, i16 0, i16 16193, i16 0, i16 0, i16 0, i16 16449, i16 0, i16 0, i16 0, i16 15938, i16 0, i16 0, i16 0, i16 12355, i16 0, i16 0, i16 0, i16 13379, i16 0, i16 0, i16 0, i16 14660, i16 16660, i16 0, i16 0, i16 15684, i16 0, i16 0, i16 0, i16 12613, i16 16161, i16 0, i16 0, i16 12869, i16 0, i16 0, i16 0, i16 16965, i16 0, i16 0, i16 0, i16 13126, i16 0, i16 0, i16 0, i16 14406, i16 0, i16 0, i16 0, i16 12359, i16 0, i16 0, i16 0, i16 13895, i16 15817, i16 0, i16 0, i16 16711, i16 0, i16 0, i16 0, i16 13640, i16 0, i16 0, i16 0, i16 14920, i16 0, i16 0, i16 0, i16 15944, i16 0, i16 0, i16 0, i16 13385, i16 0, i16 0, i16 0, i16 13641, i16 0, i16 0, i16 0, i16 15945, i16 16859, i16 0, i16 0, i16 16457, i16 0, i16 0, i16 0, i16 12362, i16 0, i16 0, i16 0, i16 13130, i16 0, i16 0, i16 0, i16 14154, i16 0, i16 0, i16 0, i16 14666, i16 0, i16 0, i16 0, i16 16202, i16 0, i16 0, i16 0, i16 13131, i16 15689, i16 0, i16 0, i16 13387, i16 0, i16 0, i16 0, i16 14155, i16 0, i16 0, i16 0, i16 15179, i16 12896, i16 0, i16 0, i16 15691, i16 0, i16 0, i16 0, i16 12364, i16 14260, i16 0, i16 0, i16 13388, i16 13894, i16 0, i16 0, i16 13901, i16 0, i16 0, i16 0, i16 14669, i16 15472, i16 0, i16 0, i16 15949, i16 0, i16 0, i16 0, i16 13390, i16 16026, i16 0, i16 0, i16 14670, i16 0, i16 0, i16 0, i16 13135, i16 16906, i16 0, i16 0, i16 13391, i16 0, i16 0, i16 0, i16 16463, i16 0, i16 0, i16 0, i16 13392, i16 13404, i16 0, i16 0, i16 16720, i16 0, i16 0, i16 0, i16 13649, i16 0, i16 0, i16 0, i16 16209, i16 0, i16 0, i16 0, i16 14674, i16 0, i16 0, i16 0, i16 16722, i16 0, i16 0, i16 0, i16 14163, i16 0, i16 0, i16 0, i16 14675, i16 0, i16 0, i16 0, i16 15699, i16 0, i16 0, i16 0, i16 12628, i16 14648, i16 0, i16 0, i16 13396, i16 0, i16 0, i16 0, i16 15188, i16 0, i16 0, i16 0, i16 12886, i16 0, i16 0, i16 0, i16 13910, i16 0, i16 0, i16 0, i16 14422, i16 0, i16 0, i16 0, i16 15958, i16 12707, i16 0, i16 0, i16 16214, i16 0, i16 0, i16 0, i16 16470, i16 0, i16 0, i16 0, i16 12631, i16 13625, i16 0, i16 0, i16 13143, i16 0, i16 0, i16 0, i16 14423, i16 0, i16 0, i16 0, i16 13656, i16 0, i16 0, i16 0, i16 13912, i16 0, i16 0, i16 0, i16 14424, i16 0, i16 0, i16 0, i16 12633, i16 0, i16 0, i16 0, i16 13913, i16 0, i16 0, i16 0, i16 12890, i16 0, i16 0, i16 0, i16 13146, i16 0, i16 0, i16 0, i16 15962, i16 0, i16 0, i16 0, i16 13147, i16 0, i16 0, i16 0, i16 13659, i16 0, i16 0, i16 0, i16 13405, i16 0, i16 0, i16 0, i16 13150, i16 0, i16 0, i16 0, i16 13406, i16 0, i16 0, i16 0, i16 14686, i16 0, i16 0, i16 0, i16 12895, i16 12407, i16 0, i16 0, i16 15455, i16 0, i16 0, i16 0, i16 14176, i16 0, i16 0, i16 0, i16 14432, i16 0, i16 0, i16 0, i16 15200, i16 0, i16 0, i16 0, i16 16736, i16 0, i16 0, i16 0, i16 12897, i16 0, i16 0, i16 0, i16 13921, i16 0, i16 0, i16 0, i16 14689, i16 0, i16 0, i16 0, i16 13154, i16 0, i16 0, i16 0, i16 16994, i16 16995, i16 0, i16 0, i16 15971, i16 15754, i16 0, i16 0, i16 13156, i16 0, i16 0, i16 0, i16 14692, i16 0, i16 0, i16 0, i16 15460, i16 0, i16 0, i16 0, i16 16228, i16 0, i16 0, i16 0, i16 12389, i16 0, i16 0, i16 0, i16 13669, i16 0, i16 0, i16 0, i16 16486, i16 0, i16 0, i16 0, i16 13927, i16 12380, i16 0, i16 0, i16 14951, i16 15813, i16 0, i16 0, i16 15975, i16 0, i16 0, i16 0, i16 16487, i16 0, i16 0, i16 0, i16 12904, i16 12905, i16 0, i16 0, i16 13416, i16 14004, i16 0, i16 0, i16 15977, i16 0, i16 0, i16 0, i16 12394, i16 15982, i16 0, i16 0, i16 15978, i16 0, i16 0, i16 0, i16 13676, i16 0, i16 0, i16 0, i16 15212, i16 0, i16 0, i16 0, i16 14445, i16 0, i16 0, i16 0, i16 12654, i16 0, i16 0, i16 0, i16 13934, i16 0, i16 0, i16 0, i16 13679, i16 0, i16 0, i16 0, i16 14449, i16 0, i16 0, i16 0, i16 16241, i16 0, i16 0, i16 0, i16 13426, i16 16648, i16 0, i16 0, i16 12915, i16 0, i16 0, i16 0, i16 13427, i16 14180, i16 0, i16 0, i16 14451, i16 15717, i16 0, i16 0, i16 16243, i16 0, i16 0, i16 0, i16 14452, i16 0, i16 0, i16 0, i16 14708, i16 0, i16 0, i16 0, i16 12917, i16 0, i16 0, i16 0, i16 14966, i16 0, i16 0, i16 0, i16 13944, i16 0, i16 0, i16 0, i16 15992, i16 0, i16 0, i16 0, i16 16760, i16 0, i16 0, i16 0, i16 17016, i16 15317, i16 0, i16 0, i16 15225, i16 0, i16 0, i16 0, i16 12666, i16 0, i16 0, i16 0, i16 15738, i16 13848, i16 0, i16 0, i16 17018, i16 0, i16 0, i16 0, i16 13947, i16 0, i16 0, i16 0, i16 15996, i16 0, i16 0, i16 0, i16 13181, i16 0, i16 0, i16 0, i16 15229, i16 0, i16 0, i16 0, i16 13438, i16 13197, i16 0, i16 0, i16 15743, i16 0, i16 0, i16 0, i16 17023, i16 0, i16 0, i16 0, i16 13184, i16 0, i16 0, i16 0, i16 13440, i16 0, i16 0, i16 0, i16 13442, i16 0, i16 0, i16 0, i16 16515, i16 0, i16 0, i16 0, i16 12420, i16 0, i16 0, i16 0, i16 13189, i16 0, i16 0, i16 0, i16 13445, i16 13494, i16 0, i16 0, i16 15237, i16 0, i16 0, i16 0, i16 13958, i16 0, i16 0, i16 0, i16 16262, i16 0, i16 0, i16 0, i16 15239, i16 0, i16 0, i16 0, i16 13960, i16 0, i16 0, i16 0, i16 16776, i16 0, i16 0, i16 0, i16 17032, i16 0, i16 0, i16 0, i16 13193, i16 0, i16 0, i16 0, i16 13961, i16 0, i16 0, i16 0, i16 16010, i16 0, i16 0, i16 0, i16 13451, i16 0, i16 0, i16 0, i16 12428, i16 14380, i16 0, i16 0, i16 14732, i16 16704, i16 0, i16 0, i16 15244, i16 0, i16 0, i16 0, i16 16524, i16 15420, i16 0, i16 0, i16 16269, i16 0, i16 0, i16 0, i16 13198, i16 16103, i16 0, i16 0, i16 13710, i16 17081, i16 0, i16 0, i16 13711, i16 0, i16 0, i16 0, i16 14479, i16 14478, i16 0, i16 0, i16 16015, i16 13394, i16 0, i16 0, i16 16271, i16 0, i16 0, i16 0, i16 12688, i16 0, i16 0, i16 0, i16 16784, i16 0, i16 0, i16 0, i16 13201, i16 14579, i16 0, i16 0, i16 13713, i16 0, i16 0, i16 0, i16 14738, i16 0, i16 0, i16 0, i16 12947, i16 0, i16 0, i16 0, i16 13459, i16 14369, i16 0, i16 0, i16 15251, i16 14807, i16 0, i16 0, i16 14740, i16 0, i16 0, i16 0, i16 17044, i16 0, i16 0, i16 0, i16 14229, i16 0, i16 0, i16 0, i16 14741, i16 0, i16 0, i16 0, i16 13718, i16 0, i16 0, i16 0, i16 13974, i16 0, i16 0, i16 0, i16 14230, i16 0, i16 0, i16 0, i16 17046, i16 13544, i16 0, i16 0, i16 12439, i16 0, i16 0, i16 0, i16 16023, i16 0, i16 0, i16 0, i16 17047, i16 15588, i16 0, i16 0, i16 13464, i16 14488, i16 0, i16 0, i16 13209, i16 0, i16 0, i16 0, i16 15257, i16 13925, i16 0, i16 0, i16 16281, i16 0, i16 0, i16 0, i16 16794, i16 13906, i16 0, i16 0, i16 12955, i16 13571, i16 0, i16 0, i16 668, i16 0, i16 0, i16 0, i16 14748, i16 0, i16 0, i16 0, i16 15004, i16 0, i16 0, i16 0, i16 12701, i16 0, i16 0, i16 0, i16 15773, i16 14925, i16 0, i16 0, i16 16029, i16 0, i16 0, i16 0, i16 17053, i16 0, i16 0, i16 0, i16 12446, i16 0, i16 0, i16 0, i16 13982, i16 0, i16 0, i16 0, i16 14494, i16 0, i16 0, i16 0, i16 17054, i16 16165, i16 0, i16 0, i16 14239, i16 0, i16 0, i16 0, i16 15007, i16 0, i16 0, i16 0, i16 16031, i16 0, i16 0, i16 0, i16 13216, i16 15956, i16 0, i16 0, i16 12705, i16 0, i16 0, i16 0, i16 16289, i16 0, i16 0, i16 0, i16 674, i16 0, i16 0, i16 0, i16 15266, i16 0, i16 0, i16 0, i16 16290, i16 0, i16 0, i16 0, i16 16546, i16 0, i16 0, i16 0, i16 16802, i16 0, i16 0, i16 0, i16 12451, i16 0, i16 0, i16 0, i16 15523, i16 0, i16 0, i16 0, i16 16291, i16 0, i16 0, i16 0, i16 12452, i16 12408, i16 0, i16 0, i16 12708, i16 0, i16 0, i16 0, i16 12964, i16 0, i16 0, i16 0, i16 14244, i16 0, i16 0, i16 0, i16 16292, i16 0, i16 0, i16 0, i16 15269, i16 0, i16 0, i16 0, i16 16037, i16 0, i16 0, i16 0, i16 16549, i16 0, i16 0, i16 0, i16 12710, i16 15019, i16 0, i16 0, i16 15782, i16 0, i16 0, i16 0, i16 16294, i16 0, i16 0, i16 0, i16 12455, i16 17045, i16 0, i16 0, i16 12711, i16 13480, i16 0, i16 0, i16 13479, i16 0, i16 0, i16 0, i16 13991, i16 0, i16 0, i16 0, i16 14503, i16 0, i16 0, i16 0, i16 15527, i16 0, i16 0, i16 0, i16 16295, i16 16721, i16 0, i16 0, i16 12456, i16 0, i16 0, i16 0, i16 13224, i16 12838, i16 0, i16 0, i16 15784, i16 0, i16 0, i16 0, i16 13737, i16 0, i16 0, i16 0, i16 13738, i16 0, i16 0, i16 0, i16 13739, i16 0, i16 0, i16 0, i16 13995, i16 14438, i16 0, i16 0, i16 14763, i16 0, i16 0, i16 0, i16 16299, i16 13632, i16 0, i16 0, i16 13996, i16 14799, i16 0, i16 0, i16 15788, i16 13599, i16 0, i16 0, i16 14253, i16 12873, i16 0, i16 0, i16 14765, i16 0, i16 0, i16 0, i16 17069, i16 0, i16 0, i16 0, i16 174, i16 0, i16 0, i16 0, i16 15790, i16 0, i16 0, i16 0, i16 13743, i16 0, i16 0, i16 0, i16 15279, i16 16077, i16 0, i16 0, i16 13744, i16 13482, i16 0, i16 0, i16 15792, i16 0, i16 0, i16 0, i16 16816, i16 0, i16 0, i16 0, i16 14513, i16 15755, i16 0, i16 0, i16 178, i16 0, i16 0, i16 0, i16 13490, i16 16151, i16 0, i16 0, i16 14514, i16 16601, i16 0, i16 0, i16 15026, i16 0, i16 0, i16 0, i16 15538, i16 16535, i16 0, i16 0, i16 16562, i16 0, i16 0, i16 0, i16 16818, i16 0, i16 0, i16 0, i16 691, i16 0, i16 0, i16 0, i16 14515, i16 0, i16 0, i16 0, i16 16307, i16 0, i16 0, i16 0, i16 12980, i16 12981, i16 0, i16 0, i16 13492, i16 0, i16 0, i16 0, i16 15028, i16 0, i16 0, i16 0, i16 15284, i16 14607, i16 0, i16 0, i16 15285, i16 0, i16 0, i16 0, i16 694, i16 785, i16 0, i16 0, i16 12470, i16 15646, i16 0, i16 0, i16 15798, i16 0, i16 0, i16 0, i16 12983, i16 13478, i16 0, i16 0, i16 13495, i16 0, i16 0, i16 0, i16 12728, i16 16993, i16 0, i16 0, i16 12984, i16 14160, i16 0, i16 0, i16 13496, i16 0, i16 0, i16 0, i16 185, i16 184, i16 0, i16 0, i16 12985, i16 0, i16 0, i16 0, i16 15033, i16 0, i16 0, i16 0, i16 13498, i16 0, i16 0, i16 0, i16 16314, i16 16812, i16 0, i16 0, i16 187, i16 186, i16 0, i16 0, i16 699, i16 792, i16 0, i16 0, i16 14011, i16 12526, i16 0, i16 0, i16 16315, i16 0, i16 0, i16 0, i16 16571, i16 0, i16 0, i16 0, i16 13500, i16 0, i16 0, i16 0, i16 701, i16 793, i16 0, i16 0, i16 12733, i16 0, i16 0, i16 0, i16 13501, i16 0, i16 0, i16 0, i16 702, i16 795, i16 0, i16 0, i16 13246, i16 15414, i16 0, i16 0, i16 14014, i16 0, i16 0, i16 0, i16 191, i16 190, i16 0, i16 0, i16 12735, i16 0, i16 0, i16 0, i16 12991, i16 0, i16 0, i16 0, i16 13503, i16 0, i16 0, i16 0, i16 14271, i16 0, i16 0, i16 0, i16 14527, i16 14060, i16 0, i16 0, i16 12480, i16 0, i16 0, i16 0, i16 13249, i16 0, i16 0, i16 0, i16 15553, i16 14199, i16 0, i16 0, i16 16065, i16 0, i16 0, i16 0, i16 12738, i16 0, i16 0, i16 0, i16 14530, i16 14206, i16 0, i16 0, i16 14786, i16 0, i16 0, i16 0, i16 12995, i16 0, i16 0, i16 0, i16 14531, i16 0, i16 0, i16 0, i16 16579, i16 0, i16 0, i16 0, i16 15556, i16 0, i16 0, i16 0, i16 16836, i16 0, i16 0, i16 0, i16 14277, i16 0, i16 0, i16 0, i16 16325, i16 0, i16 0, i16 0, i16 16837, i16 0, i16 0, i16 0, i16 12742, i16 0, i16 0, i16 0, i16 16839, i16 0, i16 0, i16 0, i16 200, i16 201, i16 0, i16 0, i16 15304, i16 15303, i16 0, i16 0, i16 15816, i16 14955, i16 0, i16 0, i16 16328, i16 0, i16 0, i16 0, i16 16584, i16 0, i16 0, i16 0, i16 16073, i16 0, i16 0, i16 0, i16 16329, i16 0, i16 0, i16 0, i16 17097, i16 0, i16 0, i16 0, i16 202, i16 0, i16 0, i16 0, i16 13258, i16 0, i16 0, i16 0, i16 14794, i16 0, i16 0, i16 0, i16 15050, i16 0, i16 0, i16 0, i16 15562, i16 0, i16 0, i16 0, i16 16074, i16 0, i16 0, i16 0, i16 13260, i16 0, i16 0, i16 0, i16 13772, i16 15199, i16 0, i16 0, i16 16332, i16 0, i16 0, i16 0, i16 16588, i16 0, i16 0, i16 0, i16 13517, i16 0, i16 0, i16 0, i16 13262, i16 0, i16 0, i16 0, i16 15822, i16 0, i16 0, i16 0, i16 14543, i16 12589, i16 0, i16 0, i16 16335, i16 0, i16 0, i16 0, i16 12752, i16 13794, i16 0, i16 0, i16 13264, i16 0, i16 0, i16 0, i16 15057, i16 13046, i16 0, i16 0, i16 16849, i16 16921, i16 0, i16 0, i16 210, i16 211, i16 0, i16 0, i16 13522, i16 0, i16 0, i16 0, i16 14802, i16 0, i16 0, i16 0, i16 15314, i16 13029, i16 0, i16 0, i16 12499, i16 0, i16 0, i16 0, i16 13011, i16 0, i16 0, i16 0, i16 14035, i16 16620, i16 0, i16 0, i16 212, i16 213, i16 0, i16 0, i16 16084, i16 0, i16 0, i16 0, i16 16340, i16 0, i16 0, i16 0, i16 16342, i16 0, i16 0, i16 0, i16 13783, i16 0, i16 0, i16 0, i16 13016, i16 14788, i16 0, i16 0, i16 14808, i16 0, i16 0, i16 0, i16 15064, i16 0, i16 0, i16 0, i16 14041, i16 14269, i16 0, i16 0, i16 14297, i16 0, i16 0, i16 0, i16 15065, i16 0, i16 0, i16 0, i16 15833, i16 0, i16 0, i16 0, i16 13018, i16 0, i16 0, i16 0, i16 219, i16 0, i16 0, i16 0, i16 13787, i16 0, i16 0, i16 0, i16 14299, i16 0, i16 0, i16 0, i16 14811, i16 0, i16 0, i16 0, i16 15324, i16 16112, i16 0, i16 0, i16 13277, i16 0, i16 0, i16 0, i16 16605, i16 0, i16 0, i16 0, i16 13534, i16 0, i16 0, i16 0, i16 13790, i16 0, i16 0, i16 0, i16 15070, i16 0, i16 0, i16 0, i16 13791, i16 0, i16 0, i16 0, i16 14559, i16 0, i16 0, i16 0, i16 16607, i16 0, i16 0, i16 0, i16 16863, i16 14628, i16 0, i16 0, i16 17119, i16 0, i16 0, i16 0, i16 13024, i16 13060, i16 0, i16 0, i16 13536, i16 0, i16 0, i16 0, i16 14048, i16 0, i16 0, i16 0, i16 14816, i16 0, i16 0, i16 0, i16 15328, i16 0, i16 0, i16 0, i16 16352, i16 16046, i16 0, i16 0, i16 12513, i16 0, i16 0, i16 0, i16 14817, i16 0, i16 0, i16 0, i16 15329, i16 0, i16 0, i16 0, i16 15841, i16 0, i16 0, i16 0, i16 17121, i16 0, i16 0, i16 0, i16 13538, i16 0, i16 0, i16 0, i16 14050, i16 0, i16 0, i16 0, i16 15842, i16 14561, i16 0, i16 0, i16 16098, i16 0, i16 0, i16 0, i16 14564, i16 0, i16 0, i16 0, i16 15332, i16 0, i16 0, i16 0, i16 15845, i16 12345, i16 0, i16 0, i16 13798, i16 15306, i16 0, i16 0, i16 17126, i16 12973, i16 0, i16 0, i16 12520, i16 0, i16 0, i16 0, i16 14056, i16 0, i16 0, i16 0, i16 14568, i16 0, i16 0, i16 0, i16 14824, i16 0, i16 0, i16 0, i16 17129, i16 0, i16 0, i16 0, i16 12522, i16 12391, i16 0, i16 0, i16 13802, i16 0, i16 0, i16 0, i16 14570, i16 16105, i16 0, i16 0, i16 16106, i16 15989, i16 0, i16 0, i16 14827, i16 13366, i16 0, i16 0, i16 16875, i16 0, i16 0, i16 0, i16 15084, i16 15744, i16 0, i16 0, i16 13293, i16 0, i16 0, i16 0, i16 13549, i16 0, i16 0, i16 0, i16 14317, i16 0, i16 0, i16 0, i16 15853, i16 16114, i16 0, i16 0, i16 15854, i16 0, i16 0, i16 0, i16 13039, i16 0, i16 0, i16 0, i16 14064, i16 0, i16 0, i16 0, i16 14832, i16 17077, i16 0, i16 0, i16 15088, i16 0, i16 0, i16 0, i16 13553, i16 0, i16 0, i16 0, i16 14577, i16 0, i16 0, i16 0, i16 14833, i16 0, i16 0, i16 0, i16 15857, i16 0, i16 0, i16 0, i16 15090, i16 15635, i16 0, i16 0, i16 15346, i16 0, i16 0, i16 0, i16 15858, i16 14520, i16 0, i16 0, i16 16882, i16 0, i16 0, i16 0, i16 244, i16 243, i16 0, i16 0, i16 13812, i16 0, i16 0, i16 0, i16 14068, i16 0, i16 0, i16 0, i16 14325, i16 0, i16 0, i16 0, i16 17141, i16 16512, i16 0, i16 0, i16 13558, i16 0, i16 0, i16 0, i16 16374, i16 15645, i16 0, i16 0, i16 12535, i16 0, i16 0, i16 0, i16 16120, i16 0, i16 0, i16 0, i16 16376, i16 0, i16 0, i16 0, i16 17144, i16 16840, i16 0, i16 0, i16 14585, i16 0, i16 0, i16 0, i16 15097, i16 16614, i16 0, i16 0, i16 16121, i16 0, i16 0, i16 0, i16 16889, i16 0, i16 0, i16 0, i16 12794, i16 14493, i16 0, i16 0, i16 13562, i16 0, i16 0, i16 0, i16 14074, i16 0, i16 0, i16 0, i16 14587, i16 0, i16 0, i16 0, i16 12540, i16 0, i16 0, i16 0, i16 16124, i16 16211, i16 0, i16 0, i16 13565, i16 16820, i16 0, i16 0, i16 15101, i16 0, i16 0, i16 0, i16 15357, i16 0, i16 0, i16 0, i16 16638, i16 0, i16 0, i16 0, i16 13055, i16 0, i16 0, i16 0, i16 15871, i16 0, i16 0, i16 0, i16 16127, i16 0, i16 0, i16 0, i16 16383, i16 0, i16 0, i16 0, i16 16895, i16 0, i16 0, i16 14336, i16 0, i16 0, i16 0, i16 15872, i16 0, i16 0, i16 0, i16 16896, i16 12854, i16 0, i16 0, i16 12289, i16 0, i16 0, i16 0, i16 13057, i16 0, i16 0, i16 0, i16 14593, i16 0, i16 0, i16 0, i16 15361, i16 14291, i16 12990, i16 0, i16 16129, i16 0, i16 0, i16 0, i16 2, i16 3, i16 0, i16 0, i16 12290, i16 0, i16 0, i16 0, i16 13826, i16 14262, i16 0, i16 0, i16 15106, i16 0, i16 0, i16 0, i16 17154, i16 0, i16 0, i16 0, i16 12291, i16 0, i16 0, i16 0, i16 13315, i16 0, i16 0, i16 0, i16 14339, i16 12729, i16 13820, i16 0, i16 14851, i16 0, i16 0, i16 0, i16 15875, i16 0, i16 0, i16 0, i16 4, i16 5, i16 6, i16 0, i16 12292, i16 14533, i16 0, i16 0, i16 13316, i16 0, i16 0, i16 0, i16 16900, i16 12787, i16 15477, i16 0, i16 17156, i16 0, i16 14379, i16 0, i16 14341, i16 0, i16 0, i16 0, i16 14597, i16 0, i16 0, i16 0, i16 12550, i16 0, i16 0, i16 0, i16 15878, i16 0, i16 0, i16 0, i16 13575, i16 0, i16 0, i16 0, i16 14087, i16 13298, i16 0, i16 0, i16 14599, i16 0, i16 0, i16 0, i16 16135, i16 13144, i16 0, i16 0, i16 16391, i16 0, i16 0, i16 0, i16 520, i16 521, i16 522, i16 0, i16 13832, i16 0, i16 0, i16 0, i16 14088, i16 14747, i16 13614, i16 0, i16 14600, i16 14465, i16 0, i16 0, i16 16392, i16 0, i16 0, i16 0, i16 12809, i16 0, i16 0, i16 0, i16 13577, i16 15658, i16 0, i16 0, i16 13066, i16 0, i16 0, i16 0, i16 15114, i16 0, i16 15163, i16 0, i16 16650, i16 0, i16 15347, i16 0, i16 12811, i16 0, i16 0, i16 0, i16 13579, i16 0, i16 0, i16 0, i16 16139, i16 0, i16 13204, i16 0, i16 16651, i16 0, i16 12426, i16 0, i16 17163, i16 0, i16 0, i16 0, i16 14860, i16 0, i16 0, i16 0, i16 15884, i16 13063, i16 12474, i16 0, i16 17164, i16 17165, i16 0, i16 0, i16 13325, i16 16860, i16 0, i16 0, i16 16397, i16 0, i16 0, i16 0, i16 13326, i16 0, i16 0, i16 0, i16 16654, i16 0, i16 0, i16 0, i16 16910, i16 0, i16 0, i16 0, i16 783, i16 0, i16 0, i16 0, i16 13071, i16 16937, i16 15040, i16 0, i16 13583, i16 0, i16 0, i16 0, i16 14863, i16 0, i16 0, i16 0, i16 15119, i16 0, i16 16996, i16 0, i16 16655, i16 0, i16 16656, i16 0, i16 13584, i16 0, i16 15449, i16 0, i16 14608, i16 14546, i16 0, i16 0, i16 15120, i16 0, i16 0, i16 0, i16 16400, i16 0, i16 0, i16 0, i16 13329, i16 0, i16 0, i16 0, i16 14609, i16 17131, i16 0, i16 0, i16 15889, i16 12524, i16 0, i16 0, i16 786, i16 695, i16 787, i16 0, i16 12818, i16 12650, i16 0, i16 0, i16 13843, i16 0, i16 15910, i16 0, i16 14099, i16 0, i16 0, i16 0, i16 15123, i16 0, i16 13134, i16 0, i16 15891, i16 14665, i16 17026, i16 0, i16 14356, i16 13443, i16 14504, i16 0, i16 15124, i16 0, i16 0, i16 0, i16 16404, i16 0, i16 13658, i16 0, i16 16917, i16 0, i16 0, i16 0, i16 14358, i16 13399, i16 0, i16 0, i16 15126, i16 0, i16 0, i16 0, i16 15894, i16 12941, i16 12942, i16 0, i16 12311, i16 0, i16 0, i16 0, i16 14103, i16 0, i16 16763, i16 0, i16 15895, i16 0, i16 17074, i16 0, i16 16663, i16 0, i16 0, i16 0, i16 16919, i16 0, i16 0, i16 0, i16 15128, i16 0, i16 0, i16 0, i16 16664, i16 0, i16 0, i16 0, i16 16920, i16 0, i16 13816, i16 0, i16 13337, i16 0, i16 0, i16 0, i16 13849, i16 0, i16 15779, i16 0, i16 14873, i16 0, i16 0, i16 0, i16 15129, i16 0, i16 0, i16 0, i16 15641, i16 0, i16 0, i16 0, i16 15897, i16 0, i16 12885, i16 0, i16 13850, i16 0, i16 0, i16 0, i16 14362, i16 0, i16 0, i16 0, i16 16666, i16 16590, i16 15456, i16 0, i16 1051, i16 0, i16 0, i16 0, i16 16668, i16 16710, i16 12369, i16 0, i16 797, i16 703, i16 796, i16 0, i16 13853, i16 0, i16 0, i16 0, i16 15901, i16 16166, i16 14550, i16 0, i16 16157, i16 0, i16 0, i16 0, i16 13342, i16 16181, i16 12441, i16 0, i16 15134, i16 15135, i16 0, i16 0, i16 16414, i16 0, i16 0, i16 0, i16 287, i16 284, i16 0, i16 0, i16 14879, i16 16693, i16 0, i16 0, i16 16927, i16 13356, i16 0, i16 0, i16 288, i16 289, i16 290, i16 0, i16 12832, i16 16729, i16 0, i16 0, i16 15136, i16 0, i16 15657, i16 0, i16 15137, i16 0, i16 15988, i16 0, i16 16417, i16 0, i16 0, i16 0, i16 16673, i16 0, i16 13283, i16 0, i16 13602, i16 0, i16 0, i16 0, i16 14115, i16 0, i16 0, i16 0, i16 14371, i16 0, i16 0, i16 0, i16 16675, i16 0, i16 0, i16 0, i16 12580, i16 16042, i16 12849, i16 0, i16 13348, i16 14712, i16 15662, i16 0, i16 15140, i16 0, i16 0, i16 0, i16 15909, i16 0, i16 0, i16 0, i16 16933, i16 0, i16 13345, i16 0, i16 12582, i16 0, i16 13797, i16 0, i16 13350, i16 0, i16 0, i16 0, i16 13862, i16 0, i16 0, i16 0, i16 16934, i16 0, i16 0, i16 0, i16 15143, i16 16324, i16 0, i16 0, i16 12840, i16 15772, i16 0, i16 0, i16 14888, i16 14337, i16 0, i16 0, i16 16424, i16 0, i16 0, i16 0, i16 16680, i16 0, i16 0, i16 0, i16 16936, i16 12953, i16 0, i16 0, i16 14633, i16 0, i16 0, i16 0, i16 14889, i16 12899, i16 0, i16 0, i16 15401, i16 15603, i16 0, i16 0, i16 15146, i16 0, i16 0, i16 0, i16 13611, i16 0, i16 0, i16 0, i16 16684, i16 0, i16 0, i16 0, i16 14637, i16 0, i16 0, i16 0, i16 16429, i16 0, i16 0, i16 0, i16 12590, i16 0, i16 0, i16 0, i16 13358, i16 13570, i16 14553, i16 0, i16 14126, i16 0, i16 0, i16 0, i16 14894, i16 0, i16 0, i16 0, i16 15407, i16 15848, i16 16384, i16 0, i16 15919, i16 0, i16 0, i16 0, i16 16431, i16 0, i16 16343, i16 0, i16 16687, i16 0, i16 0, i16 0, i16 16943, i16 0, i16 0, i16 0, i16 15408, i16 0, i16 14373, i16 0, i16 15920, i16 0, i16 0, i16 0, i16 16176, i16 0, i16 16162, i16 0, i16 16688, i16 0, i16 16319, i16 0, i16 13617, i16 0, i16 0, i16 0, i16 14385, i16 0, i16 0, i16 0, i16 12338, i16 0, i16 0, i16 0, i16 12594, i16 0, i16 13859, i16 0, i16 12850, i16 0, i16 0, i16 0, i16 13618, i16 0, i16 0, i16 0, i16 14386, i16 0, i16 12777, i16 0, i16 15922, i16 16156, i16 13300, i16 0, i16 13363, i16 12934, i16 0, i16 0, i16 15668, i16 0, i16 0, i16 0, i16 16692, i16 0, i16 0, i16 0, i16 12341, i16 0, i16 0, i16 0, i16 14645, i16 13454, i16 13712, i16 0, i16 15925, i16 14582, i16 0, i16 0, i16 12342, i16 0, i16 0, i16 0, i16 13110, i16 0, i16 0, i16 0, i16 13622, i16 16877, i16 0, i16 0, i16 14134, i16 16977, i16 14101, i16 0, i16 15926, i16 0, i16 14100, i16 0, i16 12855, i16 0, i16 0, i16 0, i16 13111, i16 0, i16 0, i16 0, i16 15415, i16 0, i16 13550, i16 0, i16 12344, i16 14324, i16 0, i16 0, i16 13368, i16 17123, i16 0, i16 0, i16 13880, i16 0, i16 0, i16 0, i16 14136, i16 15933, i16 16499, i16 0, i16 15672, i16 0, i16 0, i16 0, i16 16184, i16 0, i16 0, i16 0, i16 14649, i16 17057, i16 12572, i16 0, i16 15161, i16 0, i16 13899, i16 0, i16 16697, i16 14679, i16 0, i16 0, i16 12602, i16 16064, i16 0, i16 0, i16 14650, i16 0, i16 0, i16 0, i16 14906, i16 15697, i16 14606, i16 0, i16 16186, i16 0, i16 0, i16 0, i16 16954, i16 0, i16 12615, i16 0, i16 12859, i16 0, i16 0, i16 0, i16 13883, i16 0, i16 0, i16 0, i16 16443, i16 0, i16 0, i16 0, i16 16955, i16 0, i16 0, i16 0, i16 1084, i16 0, i16 0, i16 0, i16 13372, i16 0, i16 15883, i16 0, i16 14652, i16 0, i16 15961, i16 0, i16 12605, i16 16723, i16 0, i16 0, i16 13373, i16 0, i16 0, i16 0, i16 14397, i16 0, i16 0, i16 0, i16 14653, i16 0, i16 0, i16 0, i16 14909, i16 15552, i16 14122, i16 0, i16 12862, i16 0, i16 0, i16 0, i16 13374, i16 0, i16 13511, i16 0, i16 12607, i16 0, i16 0, i16 0, i16 14143, i16 0, i16 0, i16 0, i16 15679, i16 0, i16 16861, i16 0, i16 16191, i16 0, i16 0, i16 0, i16 12352, i16 0, i16 13142, i16 0, i16 12608, i16 0, i16 0, i16 0, i16 13120, i16 0, i16 0, i16 0, i16 13376, i16 16172, i16 12431, i16 0, i16 13888, i16 0, i16 0, i16 0, i16 14400, i16 0, i16 0, i16 0, i16 15680, i16 13424, i16 0, i16 0, i16 13633, i16 0, i16 0, i16 0, i16 15170, i16 0, i16 0, i16 0, i16 15682, i16 0, i16 0, i16 0, i16 16194, i16 0, i16 12409, i16 0, i16 14403, i16 0, i16 15776, i16 0, i16 14659, i16 14658, i16 0, i16 0, i16 15171, i16 0, i16 0, i16 0, i16 16195, i16 0, i16 13887, i16 0, i16 13124, i16 0, i16 0, i16 0, i16 13636, i16 0, i16 0, i16 0, i16 14404, i16 0, i16 0, i16 0, i16 16196, i16 0, i16 0, i16 0, i16 16452, i16 0, i16 0, i16 0, i16 16964, i16 0, i16 14108, i16 0, i16 14661, i16 0, i16 12817, i16 0, i16 14917, i16 16969, i16 12392, i16 0, i16 15941, i16 0, i16 15896, i16 0, i16 16197, i16 0, i16 0, i16 0, i16 16454, i16 0, i16 0, i16 0, i16 13639, i16 0, i16 0, i16 0, i16 14919, i16 0, i16 0, i16 0, i16 15175, i16 0, i16 14644, i16 0, i16 15687, i16 0, i16 16380, i16 0, i16 13384, i16 0, i16 0, i16 0, i16 13896, i16 0, i16 0, i16 0, i16 14408, i16 0, i16 0, i16 0, i16 13897, i16 0, i16 0, i16 0, i16 12618, i16 17068, i16 0, i16 0, i16 13642, i16 16781, i16 0, i16 0, i16 13898, i16 16924, i16 0, i16 0, i16 15178, i16 14797, i16 0, i16 0, i16 12363, i16 0, i16 0, i16 0, i16 14411, i16 16971, i16 0, i16 0, i16 14923, i16 0, i16 15843, i16 0, i16 15947, i16 0, i16 0, i16 0, i16 16459, i16 0, i16 0, i16 0, i16 16715, i16 0, i16 0, i16 0, i16 14156, i16 0, i16 0, i16 0, i16 12877, i16 0, i16 16806, i16 0, i16 13389, i16 0, i16 0, i16 0, i16 14157, i16 0, i16 0, i16 0, i16 16461, i16 0, i16 16018, i16 0, i16 16717, i16 0, i16 0, i16 0, i16 13902, i16 0, i16 0, i16 0, i16 14926, i16 0, i16 12720, i16 0, i16 15694, i16 0, i16 15793, i16 0, i16 15950, i16 0, i16 0, i16 0, i16 16974, i16 0, i16 0, i16 0, i16 12879, i16 0, i16 0, i16 0, i16 14671, i16 0, i16 0, i16 0, i16 15439, i16 0, i16 0, i16 0, i16 15695, i16 0, i16 0, i16 0, i16 14416, i16 0, i16 0, i16 0, i16 15696, i16 0, i16 16589, i16 0, i16 14673, i16 0, i16 0, i16 0, i16 16465, i16 0, i16 15220, i16 0, i16 14162, i16 0, i16 0, i16 0, i16 16466, i16 15454, i16 13875, i16 0, i16 12627, i16 0, i16 0, i16 0, i16 13139, i16 0, i16 15444, i16 0, i16 13395, i16 0, i16 0, i16 0, i16 13651, i16 0, i16 0, i16 0, i16 16979, i16 0, i16 0, i16 0, i16 13140, i16 0, i16 0, i16 0, i16 13908, i16 0, i16 0, i16 0, i16 14420, i16 0, i16 0, i16 0, i16 14676, i16 0, i16 0, i16 0, i16 16212, i16 0, i16 0, i16 0, i16 16724, i16 0, i16 0, i16 0, i16 13141, i16 15167, i16 12734, i16 0, i16 13653, i16 0, i16 0, i16 0, i16 14421, i16 0, i16 12527, i16 0, i16 14677, i16 0, i16 0, i16 0, i16 15701, i16 0, i16 0, i16 0, i16 16213, i16 0, i16 0, i16 0, i16 12374, i16 12375, i16 0, i16 0, i16 12630, i16 0, i16 0, i16 0, i16 14678, i16 0, i16 0, i16 0, i16 16982, i16 13183, i16 0, i16 0, i16 13655, i16 0, i16 16233, i16 0, i16 14935, i16 0, i16 0, i16 0, i16 15447, i16 0, i16 0, i16 0, i16 16471, i16 13382, i16 0, i16 0, i16 16983, i16 15838, i16 14030, i16 0, i16 12376, i16 0, i16 0, i16 0, i16 14168, i16 0, i16 0, i16 0, i16 16216, i16 0, i16 14287, i16 0, i16 16728, i16 0, i16 0, i16 0, i16 89, i16 0, i16 0, i16 0, i16 14425, i16 0, i16 0, i16 0, i16 15705, i16 0, i16 0, i16 0, i16 16473, i16 0, i16 13593, i16 0, i16 16985, i16 0, i16 13907, i16 0, i16 90, i16 91, i16 92, i16 0, i16 12891, i16 0, i16 0, i16 0, i16 13915, i16 0, i16 0, i16 0, i16 14171, i16 0, i16 0, i16 0, i16 15707, i16 0, i16 0, i16 0, i16 12892, i16 0, i16 0, i16 0, i16 13660, i16 0, i16 0, i16 0, i16 14428, i16 0, i16 0, i16 0, i16 14940, i16 0, i16 0, i16 0, i16 16220, i16 16689, i16 15887, i16 0, i16 16988, i16 0, i16 0, i16 0, i16 12893, i16 0, i16 12842, i16 0, i16 14685, i16 16372, i16 0, i16 0, i16 13918, i16 12927, i16 0, i16 0, i16 16734, i16 0, i16 15318, i16 0, i16 13663, i16 0, i16 16595, i16 0, i16 12640, i16 0, i16 0, i16 0, i16 14945, i16 0, i16 0, i16 0, i16 15457, i16 0, i16 0, i16 0, i16 15713, i16 16567, i16 0, i16 0, i16 16225, i16 0, i16 15660, i16 0, i16 12386, i16 0, i16 0, i16 0, i16 14690, i16 0, i16 17039, i16 0, i16 16482, i16 0, i16 0, i16 0, i16 12643, i16 15955, i16 12727, i16 0, i16 13155, i16 12358, i16 0, i16 0, i16 13411, i16 17107, i16 0, i16 0, i16 16227, i16 0, i16 0, i16 0, i16 13412, i16 0, i16 15652, i16 0, i16 13924, i16 14113, i16 0, i16 0, i16 15972, i16 17161, i16 14439, i16 0, i16 16740, i16 0, i16 0, i16 0, i16 12901, i16 0, i16 0, i16 0, i16 15205, i16 0, i16 13167, i16 0, i16 15973, i16 0, i16 0, i16 0, i16 16741, i16 0, i16 14792, i16 0, i16 12646, i16 0, i16 12827, i16 0, i16 12902, i16 16984, i16 13252, i16 0, i16 14182, i16 0, i16 0, i16 0, i16 15462, i16 0, i16 0, i16 0, i16 12903, i16 0, i16 0, i16 0, i16 13159, i16 0, i16 0, i16 0, i16 14183, i16 0, i16 0, i16 0, i16 15207, i16 0, i16 0, i16 0, i16 15719, i16 0, i16 0, i16 0, i16 872, i16 873, i16 874, i16 0, i16 13672, i16 0, i16 0, i16 0, i16 14184, i16 0, i16 13723, i16 0, i16 14440, i16 15702, i16 13754, i16 0, i16 14696, i16 0, i16 12323, i16 0, i16 16488, i16 0, i16 0, i16 0, i16 12649, i16 0, i16 0, i16 0, i16 13161, i16 15899, i16 0, i16 0, i16 14185, i16 0, i16 0, i16 0, i16 14441, i16 0, i16 0, i16 0, i16 13162, i16 0, i16 0, i16 0, i16 13419, i16 0, i16 0, i16 0, i16 14443, i16 0, i16 0, i16 0, i16 15979, i16 16623, i16 0, i16 0, i16 876, i16 877, i16 878, i16 0, i16 13932, i16 13543, i16 0, i16 0, i16 17004, i16 16055, i16 15825, i16 0, i16 12397, i16 13647, i16 0, i16 0, i16 13165, i16 17058, i16 13093, i16 0, i16 14957, i16 0, i16 16405, i16 0, i16 15469, i16 0, i16 0, i16 0, i16 16749, i16 0, i16 0, i16 0, i16 13166, i16 0, i16 13950, i16 0, i16 15470, i16 12770, i16 0, i16 0, i16 16494, i16 13846, i16 16862, i16 0, i16 12655, i16 16472, i16 0, i16 0, i16 12911, i16 0, i16 14435, i16 0, i16 14447, i16 13098, i16 0, i16 0, i16 15215, i16 0, i16 0, i16 0, i16 15471, i16 0, i16 0, i16 0, i16 15727, i16 15044, i16 0, i16 0, i16 17007, i16 15700, i16 12367, i16 0, i16 12400, i16 0, i16 0, i16 0, i16 12912, i16 0, i16 0, i16 0, i16 14192, i16 0, i16 0, i16 0, i16 16240, i16 15211, i16 0, i16 0, i16 16496, i16 0, i16 16462, i16 0, i16 12401, i16 0, i16 0, i16 0, i16 14193, i16 16914, i16 16725, i16 0, i16 15217, i16 0, i16 12511, i16 0, i16 16497, i16 0, i16 14251, i16 0, i16 12402, i16 0, i16 0, i16 0, i16 13682, i16 0, i16 15219, i16 0, i16 14962, i16 0, i16 16960, i16 0, i16 12659, i16 16333, i16 0, i16 0, i16 13683, i16 0, i16 0, i16 0, i16 13684, i16 0, i16 12944, i16 0, i16 16756, i16 16757, i16 12346, i16 0, i16 17012, i16 13397, i16 0, i16 0, i16 17013, i16 0, i16 0, i16 0, i16 13430, i16 0, i16 0, i16 0, i16 14454, i16 0, i16 0, i16 0, i16 15222, i16 0, i16 0, i16 0, i16 15990, i16 0, i16 12661, i16 0, i16 13943, i16 13179, i16 16645, i16 0, i16 14455, i16 0, i16 0, i16 0, i16 14967, i16 0, i16 0, i16 0, i16 17015, i16 0, i16 15677, i16 0, i16 12920, i16 0, i16 0, i16 0, i16 15736, i16 0, i16 14401, i16 0, i16 13433, i16 12583, i16 0, i16 0, i16 13945, i16 0, i16 0, i16 0, i16 17017, i16 0, i16 0, i16 0, i16 15226, i16 0, i16 0, i16 0, i16 15994, i16 16110, i16 0, i16 0, i16 16762, i16 0, i16 0, i16 0, i16 15739, i16 0, i16 0, i16 0, i16 16507, i16 0, i16 0, i16 0, i16 15740, i16 0, i16 0, i16 0, i16 13693, i16 0, i16 13630, i16 0, i16 13949, i16 0, i16 14130, i16 0, i16 14461, i16 0, i16 0, i16 0, i16 15741, i16 0, i16 0, i16 0, i16 382, i16 383, i16 384, i16 0, i16 12670, i16 0, i16 0, i16 0, i16 13694, i16 0, i16 0, i16 0, i16 14718, i16 0, i16 0, i16 0, i16 16254, i16 16540, i16 14067, i16 0, i16 17022, i16 0, i16 0, i16 0, i16 13951, i16 14569, i16 0, i16 0, i16 14719, i16 0, i16 0, i16 0, i16 14975, i16 0, i16 0, i16 0, i16 15999, i16 16395, i16 0, i16 0, i16 16255, i16 15970, i16 0, i16 0, i16 14464, i16 0, i16 0, i16 0, i16 16000, i16 0, i16 15654, i16 0, i16 16768, i16 0, i16 0, i16 0, i16 129, i16 130, i16 0, i16 0, i16 12417, i16 0, i16 0, i16 0, i16 14209, i16 0, i16 0, i16 0, i16 16257, i16 13839, i16 0, i16 0, i16 12418, i16 0, i16 0, i16 0, i16 13698, i16 0, i16 0, i16 0, i16 14722, i16 0, i16 0, i16 0, i16 16514, i16 0, i16 0, i16 0, i16 15236, i16 0, i16 12423, i16 0, i16 17028, i16 0, i16 14146, i16 0, i16 133, i16 0, i16 0, i16 0, i16 13957, i16 0, i16 0, i16 0, i16 14469, i16 0, i16 14664, i16 0, i16 15749, i16 15089, i16 0, i16 0, i16 16773, i16 0, i16 0, i16 0, i16 17029, i16 16890, i16 0, i16 0, i16 134, i16 0, i16 0, i16 0, i16 12422, i16 16944, i16 0, i16 0, i16 13702, i16 0, i16 0, i16 0, i16 14726, i16 12950, i16 15112, i16 0, i16 135, i16 0, i16 216, i16 0, i16 12935, i16 15489, i16 14213, i16 0, i16 13191, i16 13212, i16 14463, i16 0, i16 13959, i16 13804, i16 0, i16 0, i16 16007, i16 0, i16 16851, i16 0, i16 17031, i16 0, i16 15590, i16 0, i16 13192, i16 0, i16 14757, i16 0, i16 13448, i16 0, i16 0, i16 0, i16 14728, i16 0, i16 14610, i16 0, i16 16008, i16 0, i16 0, i16 0, i16 12681, i16 0, i16 0, i16 0, i16 15753, i16 0, i16 0, i16 0, i16 13194, i16 0, i16 14601, i16 0, i16 13706, i16 13328, i16 0, i16 0, i16 12683, i16 0, i16 0, i16 0, i16 16267, i16 13977, i16 0, i16 0, i16 16523, i16 0, i16 0, i16 0, i16 13196, i16 16505, i16 0, i16 0, i16 16268, i16 0, i16 0, i16 0, i16 15501, i16 0, i16 0, i16 0, i16 13966, i16 0, i16 14225, i16 0, i16 14222, i16 0, i16 15866, i16 0, i16 16782, i16 15483, i16 12909, i16 0, i16 14991, i16 0, i16 0, i16 0, i16 14224, i16 16057, i16 16615, i16 0, i16 14480, i16 0, i16 0, i16 0, i16 14736, i16 0, i16 16389, i16 0, i16 14992, i16 0, i16 12530, i16 0, i16 15760, i16 0, i16 15102, i16 0, i16 16528, i16 0, i16 12544, i16 0, i16 12689, i16 0, i16 0, i16 0, i16 14481, i16 0, i16 0, i16 0, i16 16017, i16 0, i16 16265, i16 0, i16 16273, i16 0, i16 0, i16 0, i16 17041, i16 12577, i16 0, i16 0, i16 13714, i16 0, i16 17088, i16 0, i16 13970, i16 0, i16 0, i16 0, i16 14994, i16 0, i16 0, i16 0, i16 13203, i16 0, i16 15248, i16 0, i16 13715, i16 0, i16 0, i16 0, i16 14227, i16 0, i16 14729, i16 0, i16 12436, i16 12560, i16 0, i16 0, i16 15508, i16 0, i16 0, i16 0, i16 16020, i16 13774, i16 13965, i16 0, i16 16788, i16 0, i16 13922, i16 0, i16 12949, i16 14112, i16 0, i16 0, i16 14485, i16 12372, i16 0, i16 0, i16 14997, i16 0, i16 0, i16 0, i16 15509, i16 17038, i16 0, i16 0, i16 15765, i16 0, i16 13172, i16 0, i16 16021, i16 0, i16 0, i16 0, i16 16533, i16 17065, i16 15937, i16 0, i16 14742, i16 0, i16 0, i16 0, i16 14998, i16 0, i16 0, i16 0, i16 16278, i16 12741, i16 0, i16 0, i16 16534, i16 0, i16 0, i16 0, i16 14487, i16 0, i16 0, i16 0, i16 16279, i16 0, i16 0, i16 0, i16 13720, i16 0, i16 14858, i16 0, i16 16280, i16 14376, i16 0, i16 0, i16 13721, i16 0, i16 13661, i16 0, i16 15769, i16 0, i16 0, i16 0, i16 16025, i16 0, i16 12517, i16 0, i16 13978, i16 0, i16 0, i16 0, i16 14234, i16 0, i16 0, i16 0, i16 14490, i16 0, i16 16578, i16 0, i16 13467, i16 0, i16 0, i16 0, i16 15259, i16 0, i16 0, i16 0, i16 13724, i16 13489, i16 0, i16 0, i16 14492, i16 0, i16 0, i16 0, i16 15260, i16 0, i16 0, i16 0, i16 12445, i16 0, i16 0, i16 0, i16 13981, i16 0, i16 0, i16 0, i16 14749, i16 0, i16 15349, i16 0, i16 16797, i16 14625, i16 0, i16 0, i16 14750, i16 0, i16 14516, i16 0, i16 15262, i16 0, i16 0, i16 0, i16 15774, i16 0, i16 0, i16 0, i16 16286, i16 13429, i16 14081, i16 0, i16 12703, i16 0, i16 0, i16 0, i16 12959, i16 0, i16 0, i16 0, i16 13471, i16 0, i16 0, i16 0, i16 16799, i16 0, i16 0, i16 0, i16 14240, i16 0, i16 0, i16 0, i16 15264, i16 0, i16 0, i16 0, i16 16288, i16 0, i16 0, i16 0, i16 12449, i16 0, i16 0, i16 0, i16 14754, i16 0, i16 0, i16 0, i16 16034, i16 0, i16 14965, i16 0, i16 13219, i16 0, i16 0, i16 0, i16 13475, i16 12802, i16 0, i16 0, i16 13987, i16 0, i16 0, i16 0, i16 14499, i16 0, i16 14961, i16 0, i16 14755, i16 0, i16 0, i16 0, i16 15011, i16 0, i16 0, i16 0, i16 16035, i16 0, i16 0, i16 0, i16 16803, i16 0, i16 14505, i16 0, i16 13988, i16 0, i16 0, i16 0, i16 15012, i16 0, i16 13477, i16 0, i16 15268, i16 0, i16 0, i16 0, i16 12453, i16 0, i16 0, i16 0, i16 14245, i16 0, i16 0, i16 0, i16 15270, i16 13548, i16 0, i16 0, i16 13223, i16 12676, i16 0, i16 0, i16 15015, i16 0, i16 14969, i16 0, i16 16039, i16 0, i16 0, i16 0, i16 16551, i16 0, i16 0, i16 0, i16 13992, i16 12922, i16 12751, i16 0, i16 14248, i16 0, i16 13984, i16 0, i16 15016, i16 0, i16 0, i16 0, i16 169, i16 347, i16 0, i16 0, i16 14761, i16 0, i16 0, i16 0, i16 16809, i16 0, i16 15476, i16 0, i16 12970, i16 0, i16 0, i16 0, i16 14506, i16 12454, i16 0, i16 0, i16 14762, i16 0, i16 0, i16 0, i16 15786, i16 16009, i16 0, i16 0, i16 14507, i16 0, i16 13835, i16 0, i16 16555, i16 14270, i16 15187, i16 0, i16 12716, i16 16963, i16 13886, i16 0, i16 13740, i16 0, i16 0, i16 0, i16 14252, i16 0, i16 13592, i16 0, i16 15532, i16 0, i16 0, i16 0, i16 173, i16 0, i16 0, i16 0, i16 12461, i16 0, i16 0, i16 0, i16 14510, i16 12978, i16 0, i16 0, i16 16814, i16 0, i16 0, i16 0, i16 12719, i16 15416, i16 0, i16 0, i16 13231, i16 0, i16 0, i16 0, i16 13487, i16 0, i16 0, i16 0, i16 16047, i16 0, i16 0, i16 0, i16 16303, i16 13486, i16 15435, i16 0, i16 12464, i16 0, i16 0, i16 0, i16 13232, i16 0, i16 14864, i16 0, i16 14000, i16 0, i16 0, i16 0, i16 15280, i16 0, i16 0, i16 0, i16 16304, i16 0, i16 0, i16 0, i16 17072, i16 0, i16 13786, i16 0, i16 13745, i16 0, i16 0, i16 0, i16 14001, i16 0, i16 16036, i16 0, i16 17073, i16 0, i16 0, i16 0, i16 12722, i16 0, i16 0, i16 0, i16 14002, i16 13056, i16 16377, i16 0, i16 16306, i16 0, i16 0, i16 0, i16 12467, i16 0, i16 0, i16 0, i16 12979, i16 15210, i16 0, i16 0, i16 13235, i16 16467, i16 0, i16 0, i16 14003, i16 0, i16 12539, i16 0, i16 14259, i16 0, i16 0, i16 0, i16 12468, i16 0, i16 0, i16 0, i16 13236, i16 0, i16 0, i16 0, i16 13748, i16 0, i16 0, i16 0, i16 14772, i16 0, i16 0, i16 0, i16 14261, i16 0, i16 16750, i16 0, i16 15797, i16 0, i16 15079, i16 0, i16 182, i16 181, i16 0, i16 0, i16 12982, i16 0, i16 0, i16 0, i16 16566, i16 14236, i16 12396, i16 0, i16 14007, i16 0, i16 14200, i16 0, i16 15287, i16 15298, i16 0, i16 0, i16 16311, i16 0, i16 0, i16 0, i16 17079, i16 0, i16 16957, i16 0, i16 14008, i16 0, i16 0, i16 0, i16 14264, i16 0, i16 0, i16 0, i16 15032, i16 0, i16 0, i16 0, i16 15800, i16 0, i16 12647, i16 0, i16 17080, i16 0, i16 0, i16 0, i16 14777, i16 0, i16 12653, i16 0, i16 12730, i16 13939, i16 0, i16 0, i16 13242, i16 0, i16 0, i16 0, i16 17082, i16 15463, i16 0, i16 0, i16 13243, i16 0, i16 0, i16 0, i16 13499, i16 0, i16 12619, i16 0, i16 15547, i16 0, i16 0, i16 0, i16 16059, i16 0, i16 0, i16 0, i16 16827, i16 0, i16 0, i16 0, i16 12732, i16 0, i16 0, i16 0, i16 14780, i16 0, i16 0, i16 0, i16 16060, i16 16222, i16 16477, i16 0, i16 14013, i16 0, i16 0, i16 0, i16 16829, i16 14875, i16 0, i16 0, i16 12478, i16 0, i16 13819, i16 0, i16 16318, i16 0, i16 0, i16 0, i16 17086, i16 16766, i16 0, i16 0, i16 959, i16 960, i16 961, i16 0, i16 12479, i16 17114, i16 0, i16 0, i16 16831, i16 0, i16 0, i16 0, i16 17087, i16 0, i16 14320, i16 0, i16 12736, i16 0, i16 0, i16 0, i16 14784, i16 0, i16 0, i16 0, i16 15296, i16 0, i16 0, i16 0, i16 14529, i16 15967, i16 0, i16 0, i16 14785, i16 0, i16 14535, i16 0, i16 16577, i16 0, i16 16787, i16 0, i16 14018, i16 0, i16 12889, i16 0, i16 15554, i16 16918, i16 14331, i16 0, i16 17090, i16 0, i16 0, i16 0, i16 13507, i16 0, i16 0, i16 0, i16 14787, i16 14334, i16 12388, i16 0, i16 15555, i16 13137, i16 0, i16 0, i16 16067, i16 0, i16 14279, i16 0, i16 16835, i16 0, i16 0, i16 0, i16 14276, i16 0, i16 0, i16 0, i16 14532, i16 0, i16 0, i16 0, i16 15812, i16 0, i16 0, i16 0, i16 16580, i16 0, i16 16561, i16 0, i16 17092, i16 13324, i16 0, i16 0, i16 12485, i16 0, i16 0, i16 0, i16 13509, i16 0, i16 0, i16 0, i16 16581, i16 0, i16 0, i16 0, i16 17093, i16 14943, i16 0, i16 0, i16 13766, i16 16326, i16 0, i16 0, i16 15302, i16 0, i16 0, i16 0, i16 12487, i16 16568, i16 0, i16 0, i16 15559, i16 0, i16 0, i16 0, i16 15815, i16 0, i16 13257, i16 0, i16 16327, i16 0, i16 0, i16 0, i16 16583, i16 0, i16 0, i16 0, i16 12488, i16 0, i16 0, i16 0, i16 12744, i16 0, i16 16842, i16 0, i16 14024, i16 17150, i16 0, i16 0, i16 15048, i16 0, i16 0, i16 0, i16 13769, i16 0, i16 0, i16 0, i16 14537, i16 0, i16 0, i16 0, i16 14538, i16 0, i16 0, i16 0, i16 16330, i16 0, i16 0, i16 0, i16 12491, i16 0, i16 0, i16 0, i16 12747, i16 0, i16 0, i16 0, i16 14283, i16 0, i16 0, i16 0, i16 15563, i16 15180, i16 0, i16 0, i16 16331, i16 0, i16 0, i16 0, i16 16587, i16 16365, i16 0, i16 0, i16 204, i16 160, i16 0, i16 0, i16 12492, i16 0, i16 0, i16 0, i16 12748, i16 12463, i16 14825, i16 0, i16 15564, i16 14603, i16 14662, i16 0, i16 16076, i16 16453, i16 0, i16 0, i16 12493, i16 13904, i16 0, i16 0, i16 14029, i16 0, i16 0, i16 0, i16 12750, i16 0, i16 13916, i16 0, i16 15054, i16 0, i16 0, i16 0, i16 16334, i16 0, i16 0, i16 0, i16 16846, i16 0, i16 0, i16 0, i16 15312, i16 16790, i16 14958, i16 0, i16 15824, i16 0, i16 0, i16 0, i16 12497, i16 0, i16 0, i16 0, i16 12498, i16 16586, i16 0, i16 0, i16 13266, i16 0, i16 0, i16 0, i16 16082, i16 0, i16 0, i16 0, i16 16338, i16 16898, i16 0, i16 0, i16 13267, i16 0, i16 0, i16 0, i16 15571, i16 0, i16 13048, i16 0, i16 16339, i16 0, i16 0, i16 0, i16 13268, i16 0, i16 16251, i16 0, i16 14548, i16 0, i16 13322, i16 0, i16 17108, i16 0, i16 0, i16 0, i16 13525, i16 0, i16 0, i16 0, i16 14549, i16 16208, i16 0, i16 0, i16 15061, i16 16355, i16 12754, i16 0, i16 16085, i16 0, i16 16086, i16 0, i16 16341, i16 0, i16 0, i16 0, i16 12758, i16 0, i16 0, i16 0, i16 13782, i16 13206, i16 0, i16 0, i16 14038, i16 0, i16 0, i16 0, i16 14294, i16 0, i16 0, i16 0, i16 13271, i16 15273, i16 0, i16 0, i16 14551, i16 0, i16 0, i16 0, i16 15063, i16 0, i16 0, i16 0, i16 15319, i16 15008, i16 0, i16 0, i16 16087, i16 0, i16 0, i16 0, i16 16855, i16 0, i16 0, i16 0, i16 17111, i16 0, i16 0, i16 0, i16 13528, i16 0, i16 0, i16 0, i16 15320, i16 13709, i16 0, i16 0, i16 15576, i16 0, i16 0, i16 0, i16 15832, i16 0, i16 0, i16 0, i16 17112, i16 0, i16 15491, i16 0, i16 15577, i16 15748, i16 0, i16 0, i16 16857, i16 0, i16 0, i16 0, i16 17113, i16 0, i16 0, i16 0, i16 12506, i16 0, i16 0, i16 0, i16 13530, i16 0, i16 16095, i16 0, i16 15834, i16 16856, i16 0, i16 0, i16 16090, i16 0, i16 15381, i16 0, i16 16346, i16 0, i16 0, i16 0, i16 16858, i16 0, i16 0, i16 0, i16 12507, i16 15526, i16 12403, i16 0, i16 16091, i16 0, i16 0, i16 0, i16 16347, i16 14430, i16 0, i16 0, i16 14044, i16 0, i16 0, i16 0, i16 14556, i16 0, i16 13251, i16 0, i16 12765, i16 0, i16 0, i16 0, i16 17117, i16 0, i16 0, i16 0, i16 14302, i16 0, i16 0, i16 0, i16 16094, i16 0, i16 12956, i16 0, i16 12767, i16 0, i16 0, i16 0, i16 15583, i16 0, i16 14655, i16 0, i16 14304, i16 15497, i16 0, i16 0, i16 14560, i16 0, i16 0, i16 0, i16 15840, i16 0, i16 16260, i16 0, i16 13281, i16 0, i16 0, i16 0, i16 14049, i16 0, i16 0, i16 0, i16 16097, i16 0, i16 12370, i16 0, i16 15074, i16 0, i16 0, i16 0, i16 15330, i16 15690, i16 15960, i16 0, i16 16866, i16 0, i16 0, i16 0, i16 227, i16 0, i16 0, i16 0, i16 12515, i16 0, i16 13876, i16 0, i16 14563, i16 0, i16 0, i16 0, i16 16611, i16 0, i16 0, i16 0, i16 12516, i16 0, i16 0, i16 0, i16 13284, i16 0, i16 0, i16 0, i16 13540, i16 0, i16 0, i16 0, i16 13796, i16 0, i16 0, i16 0, i16 14308, i16 0, i16 0, i16 0, i16 14309, i16 0, i16 0, i16 0, i16 14565, i16 0, i16 16525, i16 0, i16 16101, i16 14818, i16 0, i16 0, i16 16357, i16 14010, i16 0, i16 0, i16 14566, i16 0, i16 0, i16 0, i16 15334, i16 0, i16 0, i16 0, i16 16102, i16 16942, i16 15214, i16 0, i16 15847, i16 0, i16 0, i16 0, i16 16359, i16 15252, i16 0, i16 0, i16 232, i16 0, i16 0, i16 0, i16 15336, i16 0, i16 15165, i16 0, i16 16361, i16 15730, i16 0, i16 0, i16 14058, i16 0, i16 0, i16 0, i16 14314, i16 0, i16 0, i16 0, i16 15082, i16 12921, i16 14023, i16 0, i16 12779, i16 0, i16 0, i16 0, i16 13035, i16 0, i16 0, i16 0, i16 15083, i16 16001, i16 0, i16 0, i16 15595, i16 0, i16 0, i16 0, i16 16107, i16 0, i16 14187, i16 0, i16 16363, i16 0, i16 0, i16 0, i16 236, i16 0, i16 0, i16 0, i16 15596, i16 0, i16 0, i16 0, i16 16876, i16 0, i16 0, i16 0, i16 14061, i16 0, i16 0, i16 0, i16 14829, i16 14436, i16 16437, i16 0, i16 16621, i16 15846, i16 0, i16 0, i16 17133, i16 0, i16 0, i16 0, i16 12782, i16 0, i16 0, i16 0, i16 14318, i16 0, i16 14389, i16 0, i16 15598, i16 12969, i16 0, i16 0, i16 239, i16 0, i16 0, i16 0, i16 13295, i16 0, i16 0, i16 0, i16 496, i16 497, i16 498, i16 0, i16 12784, i16 0, i16 14922, i16 0, i16 16624, i16 0, i16 0, i16 0, i16 16880, i16 16428, i16 16881, i16 0, i16 14322, i16 15067, i16 0, i16 0, i16 14578, i16 0, i16 0, i16 0, i16 15602, i16 0, i16 0, i16 0, i16 12531, i16 0, i16 0, i16 0, i16 13299, i16 14574, i16 0, i16 0, i16 15859, i16 12469, i16 0, i16 0, i16 17139, i16 0, i16 0, i16 0, i16 12532, i16 0, i16 0, i16 0, i16 14836, i16 0, i16 0, i16 0, i16 13301, i16 0, i16 0, i16 0, i16 13557, i16 13244, i16 16772, i16 0, i16 12534, i16 0, i16 13973, i16 0, i16 13814, i16 13690, i16 0, i16 0, i16 14070, i16 0, i16 0, i16 0, i16 15862, i16 0, i16 0, i16 0, i16 16118, i16 0, i16 0, i16 0, i16 13303, i16 0, i16 0, i16 0, i16 13559, i16 14258, i16 0, i16 0, i16 14327, i16 14477, i16 0, i16 0, i16 16119, i16 0, i16 13937, i16 0, i16 16887, i16 0, i16 0, i16 0, i16 17143, i16 12677, i16 0, i16 0, i16 14840, i16 12604, i16 15706, i16 0, i16 14329, i16 0, i16 15728, i16 0, i16 16633, i16 0, i16 15151, i16 0, i16 13818, i16 16626, i16 15466, i16 0, i16 14330, i16 0, i16 0, i16 0, i16 16634, i16 12664, i16 0, i16 0, i16 251, i16 0, i16 0, i16 0, i16 13307, i16 0, i16 12887, i16 0, i16 16123, i16 0, i16 0, i16 0, i16 16379, i16 0, i16 0, i16 0, i16 16635, i16 0, i16 0, i16 0, i16 17147, i16 16591, i16 0, i16 0, i16 12796, i16 0, i16 0, i16 0, i16 14844, i16 0, i16 0, i16 0, i16 15356, i16 0, i16 0, i16 0, i16 15868, i16 0, i16 0, i16 0, i16 16636, i16 0, i16 0, i16 0, i16 16892, i16 13247, i16 0, i16 0, i16 12797, i16 0, i16 0, i16 0, i16 15613, i16 14079, i16 0, i16 0, i16 12286, i16 0, i16 13968, i16 0, i16 14078, i16 0, i16 0, i16 0, i16 14590, i16 13127, i16 0, i16 0, i16 15614, i16 13555, i16 13688, i16 0, i16 15870, i16 0, i16 0, i16 0, i16 16126, i16 0, i16 0, i16 0, i16 16382, i16 0, i16 0, i16 0, i16 12543, i16 0, i16 13728, i16 0, i16 13823, i16 0, i16 13674, i16 0, i16 15615, i16 12820, i16 0, i16 15104, i16 0, i16 0, i16 0, i16 15616, i16 13933, i16 15995, i16 0, i16 16128, i16 0, i16 0, i16 12308, i16 16640, i16 0, i16 0, i16 16054, i16 17152, i16 12348, i16 0, i16 0, i16 257, i16 258, i16 261, i16 260, i16 12801, i16 0, i16 0, i16 0, i16 13569, i16 16879, i16 0, i16 0, i16 14849, i16 0, i16 0, i16 0, i16 15617, i16 14776, i16 0, i16 0, i16 15873, i16 0, i16 14896, i16 0, i16 16385, i16 0, i16 0, i16 0, i16 514, i16 515, i16 516, i16 517, i16 770, i16 771, i16 772, i16 0, i16 1026, i16 1027, i16 1028, i16 1029, i16 13058, i16 12645, i16 0, i16 14683, i16 15874, i16 0, i16 0, i16 12460, i16 16386, i16 0, i16 0, i16 0, i16 259, i16 262, i16 0, i16 0, i16 12803, i16 0, i16 0, i16 0, i16 13059, i16 13351, i16 0, i16 0, i16 14083, i16 14084, i16 0, i16 0, i16 15107, i16 0, i16 0, i16 0, i16 16387, i16 0, i16 15688, i16 0, i16 16643, i16 0, i16 0, i16 0, i16 17155, i16 0, i16 16783, i16 0, i16 13828, i16 0, i16 0, i16 0, i16 15108, i16 12610, i16 14517, i16 0, i16 15364, i16 15365, i16 12936, i16 0, i16 15876, i16 0, i16 0, i16 0, i16 12805, i16 13691, i16 0, i16 0, i16 14853, i16 0, i16 0, i16 0, i16 15621, i16 0, i16 0, i16 0, i16 16901, i16 0, i16 0, i16 16677, i16 17157, i16 0, i16 0, i16 0, i16 518, i16 519, i16 0, i16 0, i16 1030, i16 1031, i16 1032, i16 1033, i16 13574, i16 0, i16 0, i16 0, i16 13830, i16 0, i16 0, i16 0, i16 14086, i16 0, i16 0, i16 0, i16 14342, i16 15893, i16 15892, i16 0, i16 7, i16 8, i16 9, i16 10, i16 263, i16 277, i16 278, i16 0, i16 775, i16 0, i16 0, i16 0, i16 12807, i16 0, i16 0, i16 0, i16 13319, i16 0, i16 0, i16 0, i16 13831, i16 0, i16 0, i16 0, i16 14855, i16 0, i16 0, i16 0, i16 15367, i16 0, i16 0, i16 17002, i16 15879, i16 14820, i16 14767, i16 0, i16 17159, i16 17158, i16 16518, i16 0, i16 776, i16 773, i16 777, i16 233, i16 12552, i16 16573, i16 0, i16 14188, i16 12808, i16 0, i16 0, i16 0, i16 13576, i16 12432, i16 0, i16 0, i16 16904, i16 0, i16 0, i16 0, i16 13065, i16 0, i16 0, i16 0, i16 13321, i16 13327, i16 13330, i16 13434, i16 14345, i16 13568, i16 0, i16 0, i16 15113, i16 14228, i16 0, i16 0, i16 15369, i16 15370, i16 0, i16 0, i16 16393, i16 13771, i16 0, i16 0, i16 266, i16 0, i16 267, i16 0, i16 1034, i16 1035, i16 1036, i16 1037, i16 12298, i16 0, i16 16519, i16 0, i16 12554, i16 0, i16 0, i16 0, i16 14090, i16 15681, i16 12652, i16 0, i16 11, i16 12, i16 13, i16 14, i16 523, i16 524, i16 525, i16 526, i16 779, i16 780, i16 781, i16 0, i16 15371, i16 0, i16 12852, i16 0, i16 15627, i16 0, i16 0, i16 0, i16 16907, i16 14760, i16 0, i16 0, i16 12812, i16 0, i16 13177, i16 0, i16 13068, i16 13069, i16 13070, i16 13072, i16 13580, i16 16024, i16 14835, i16 13381, i16 14604, i16 15275, i16 0, i16 0, i16 15372, i16 12415, i16 0, i16 12648, i16 269, i16 270, i16 0, i16 0, i16 12301, i16 12570, i16 0, i16 12599, i16 12813, i16 0, i16 0, i16 15111, i16 13581, i16 12989, i16 0, i16 0, i16 13837, i16 0, i16 16492, i16 0, i16 14093, i16 0, i16 0, i16 12975, i16 14861, i16 0, i16 15592, i16 0, i16 16141, i16 0, i16 0, i16 0, i16 16653, i16 0, i16 0, i16 0, i16 1038, i16 1039, i16 1040, i16 1041, i16 12814, i16 0, i16 0, i16 12706, i16 13838, i16 14545, i16 16980, i16 0, i16 15374, i16 15377, i16 15382, i16 15384, i16 15630, i16 0, i16 0, i16 0, i16 15886, i16 15536, i16 0, i16 14123, i16 16142, i16 14132, i16 14450, i16 0, i16 15, i16 16, i16 17, i16 18, i16 527, i16 528, i16 529, i16 530, i16 12303, i16 13730, i16 0, i16 0, i16 14095, i16 0, i16 0, i16 0, i16 15375, i16 0, i16 0, i16 0, i16 15631, i16 14274, i16 14286, i16 16727, i16 16143, i16 0, i16 0, i16 12638, i16 16399, i16 0, i16 14372, i16 0, i16 784, i16 0, i16 0, i16 0, i16 13840, i16 0, i16 12299, i16 0, i16 14096, i16 16478, i16 0, i16 0, i16 17168, i16 0, i16 0, i16 0, i16 12305, i16 0, i16 0, i16 13199, i16 12561, i16 0, i16 0, i16 0, i16 13073, i16 13074, i16 13075, i16 13076, i16 14097, i16 0, i16 0, i16 0, i16 14865, i16 0, i16 0, i16 0, i16 15633, i16 12694, i16 0, i16 12377, i16 16401, i16 0, i16 12835, i16 0, i16 1042, i16 1043, i16 1044, i16 0, i16 13586, i16 0, i16 14476, i16 0, i16 13842, i16 12965, i16 0, i16 14265, i16 14098, i16 0, i16 0, i16 0, i16 15122, i16 15419, i16 0, i16 15300, i16 15634, i16 13210, i16 0, i16 0, i16 16402, i16 0, i16 0, i16 12309, i16 17170, i16 16987, i16 16811, i16 14313, i16 19, i16 20, i16 21, i16 0, i16 275, i16 273, i16 0, i16 0, i16 531, i16 532, i16 533, i16 534, i16 12307, i16 0, i16 15734, i16 0, i16 13587, i16 0, i16 0, i16 0, i16 16403, i16 12791, i16 0, i16 0, i16 788, i16 0, i16 0, i16 0, i16 12564, i16 12629, i16 0, i16 14470, i16 14868, i16 14870, i16 14874, i16 14910, i16 16916, i16 13696, i16 0, i16 0, i16 789, i16 697, i16 790, i16 0, i16 1045, i16 1046, i16 1047, i16 1048, i16 12565, i16 0, i16 0, i16 0, i16 12821, i16 0, i16 0, i16 0, i16 13077, i16 13079, i16 13080, i16 13081, i16 13333, i16 0, i16 0, i16 0, i16 14357, i16 0, i16 0, i16 0, i16 14613, i16 13502, i16 0, i16 0, i16 14869, i16 0, i16 0, i16 0, i16 15637, i16 14361, i16 14107, i16 0, i16 22, i16 0, i16 23, i16 24, i16 16150, i16 14012, i16 13767, i16 0, i16 279, i16 276, i16 0, i16 0, i16 535, i16 536, i16 0, i16 537, i16 791, i16 0, i16 0, i16 0, i16 12567, i16 0, i16 0, i16 15172, i16 12823, i16 16179, i16 15581, i16 12312, i16 13847, i16 0, i16 0, i16 13811, i16 14359, i16 0, i16 0, i16 0, i16 14615, i16 0, i16 0, i16 14235, i16 15127, i16 0, i16 15766, i16 0, i16 15383, i16 0, i16 13753, i16 0, i16 12568, i16 0, i16 0, i16 13306, i16 12824, i16 0, i16 15607, i16 12864, i16 14104, i16 0, i16 0, i16 0, i16 14872, i16 0, i16 0, i16 0, i16 15640, i16 0, i16 0, i16 14139, i16 25, i16 26, i16 27, i16 28, i16 281, i16 0, i16 0, i16 0, i16 1049, i16 1050, i16 1052, i16 1053, i16 12313, i16 13332, i16 0, i16 12825, i16 14617, i16 0, i16 13773, i16 15987, i16 16409, i16 0, i16 15799, i16 0, i16 538, i16 539, i16 540, i16 541, i16 12314, i16 0, i16 0, i16 0, i16 12826, i16 0, i16 0, i16 12800, i16 13082, i16 13083, i16 13084, i16 13085, i16 14106, i16 16843, i16 0, i16 16575, i16 14618, i16 0, i16 0, i16 0, i16 15642, i16 0, i16 0, i16 0, i16 13339, i16 15747, i16 0, i16 0, i16 13851, i16 0, i16 13432, i16 0, i16 14363, i16 0, i16 0, i16 15368, i16 14619, i16 0, i16 0, i16 0, i16 15131, i16 0, i16 0, i16 16830, i16 16411, i16 0, i16 0, i16 0, i16 16923, i16 14142, i16 0, i16 14540, i16 12316, i16 0, i16 0, i16 16908, i16 13596, i16 0, i16 15599, i16 0, i16 14364, i16 17134, i16 0, i16 0, i16 14876, i16 0, i16 0, i16 0, i16 15388, i16 15391, i16 15393, i16 15394, i16 29, i16 30, i16 31, i16 32, i16 12317, i16 0, i16 0, i16 15758, i16 12573, i16 0, i16 0, i16 0, i16 13341, i16 0, i16 0, i16 0, i16 14109, i16 0, i16 0, i16 13273, i16 15389, i16 0, i16 14346, i16 14634, i16 286, i16 0, i16 0, i16 679, i16 542, i16 543, i16 0, i16 0, i16 798, i16 799, i16 800, i16 801, i16 1054, i16 1055, i16 1056, i16 1057, i16 12574, i16 0, i16 14714, i16 0, i16 13086, i16 13087, i16 13088, i16 13089, i16 13598, i16 0, i16 0, i16 0, i16 14366, i16 0, i16 0, i16 13288, i16 14622, i16 0, i16 0, i16 13168, i16 14878, i16 14663, i16 0, i16 0, i16 13343, i16 0, i16 0, i16 16050, i16 13855, i16 13834, i16 0, i16 12997, i16 14111, i16 12898, i16 0, i16 14936, i16 14367, i16 0, i16 0, i16 0, i16 15647, i16 0, i16 0, i16 0, i16 16159, i16 0, i16 0, i16 0, i16 544, i16 555, i16 545, i16 556, i16 13600, i16 0, i16 0, i16 0, i16 13856, i16 16531, i16 0, i16 0, i16 14880, i16 0, i16 0, i16 0, i16 16160, i16 0, i16 0, i16 0, i16 16416, i16 0, i16 13817, i16 0, i16 33, i16 34, i16 35, i16 36, i16 13857, i16 0, i16 0, i16 0, i16 546, i16 583, i16 582, i16 557, i16 802, i16 803, i16 804, i16 805, i16 1058, i16 1059, i16 1060, i16 1061, i16 12578, i16 0, i16 0, i16 0, i16 12834, i16 16537, i16 13775, i16 0, i16 14626, i16 0, i16 0, i16 0, i16 15138, i16 0, i16 0, i16 0, i16 16930, i16 0, i16 0, i16 0, i16 291, i16 292, i16 293, i16 294, i16 547, i16 577, i16 576, i16 558, i16 12579, i16 12755, i16 0, i16 0, i16 13091, i16 13092, i16 13096, i16 13097, i16 13347, i16 0, i16 0, i16 0, i16 14627, i16 14539, i16 15436, i16 0, i16 15651, i16 0, i16 15105, i16 0, i16 16931, i16 0, i16 0, i16 12335, i16 548, i16 579, i16 578, i16 559, i16 15908, i16 0, i16 0, i16 0, i16 16164, i16 0, i16 13836, i16 0, i16 16932, i16 15385, i16 0, i16 0, i16 37, i16 38, i16 39, i16 40, i16 549, i16 581, i16 580, i16 560, i16 13349, i16 0, i16 0, i16 0, i16 13605, i16 0, i16 0, i16 0, i16 13861, i16 0, i16 14594, i16 15626, i16 14629, i16 0, i16 12476, i16 0, i16 14885, i16 0, i16 0, i16 0, i16 15141, i16 0, i16 0, i16 12717, i16 15397, i16 0, i16 0, i16 0, i16 15653, i16 0, i16 0, i16 16014, i16 550, i16 571, i16 584, i16 585, i16 806, i16 807, i16 808, i16 809, i16 1062, i16 1063, i16 1064, i16 1065, i16 12326, i16 0, i16 0, i16 0, i16 13606, i16 0, i16 0, i16 0, i16 14118, i16 16596, i16 15068, i16 14731, i16 14886, i16 0, i16 12514, i16 0, i16 16422, i16 0, i16 14654, i16 0, i16 295, i16 296, i16 297, i16 298, i16 551, i16 592, i16 593, i16 567, i16 12839, i16 0, i16 0, i16 0, i16 13607, i16 14883, i16 16707, i16 0, i16 13863, i16 0, i16 0, i16 0, i16 15399, i16 0, i16 0, i16 0, i16 15655, i16 14031, i16 14395, i16 0, i16 16167, i16 0, i16 15903, i16 0, i16 16935, i16 0, i16 0, i16 0, i16 552, i16 573, i16 588, i16 589, i16 13352, i16 0, i16 0, i16 0, i16 13608, i16 0, i16 0, i16 0, i16 14120, i16 0, i16 15293, i16 0, i16 15144, i16 0, i16 0, i16 0, i16 15912, i16 12541, i16 13870, i16 0, i16 41, i16 42, i16 43, i16 44, i16 553, i16 596, i16 597, i16 569, i16 12585, i16 0, i16 0, i16 0, i16 12841, i16 12810, i16 0, i16 0, i16 13865, i16 0, i16 0, i16 13462, i16 14377, i16 12693, i16 0, i16 12872, i16 15913, i16 0, i16 0, i16 0, i16 16169, i16 12857, i16 0, i16 13290, i16 554, i16 600, i16 601, i16 570, i16 810, i16 811, i16 812, i16 813, i16 1066, i16 1067, i16 1068, i16 1069, i16 13866, i16 0, i16 14612, i16 0, i16 14378, i16 0, i16 16272, i16 13312, i16 15402, i16 0, i16 0, i16 0, i16 16426, i16 14161, i16 0, i16 0, i16 16682, i16 0, i16 0, i16 0, i16 16938, i16 0, i16 16694, i16 16603, i16 299, i16 300, i16 301, i16 302, i16 12331, i16 0, i16 0, i16 0, i16 13099, i16 13100, i16 13102, i16 13103, i16 13867, i16 0, i16 0, i16 0, i16 15659, i16 0, i16 0, i16 14841, i16 13612, i16 0, i16 16751, i16 13410, i16 14636, i16 0, i16 0, i16 0, i16 14892, i16 14009, i16 0, i16 0, i16 15148, i16 0, i16 15943, i16 12679, i16 15916, i16 0, i16 0, i16 0, i16 16940, i16 16394, i16 14706, i16 0, i16 45, i16 46, i16 47, i16 48, i16 12333, i16 0, i16 0, i16 12297, i16 12845, i16 0, i16 0, i16 14223, i16 13357, i16 16618, i16 0, i16 0, i16 13613, i16 14635, i16 0, i16 0, i16 13869, i16 0, i16 0, i16 0, i16 15661, i16 0, i16 0, i16 0, i16 15917, i16 16642, i16 0, i16 0, i16 16173, i16 0, i16 0, i16 13254, i16 814, i16 815, i16 816, i16 817, i16 1070, i16 1071, i16 1072, i16 1073, i16 12846, i16 0, i16 16637, i16 13664, i16 303, i16 304, i16 305, i16 306, i16 12847, i16 0, i16 0, i16 0, i16 13615, i16 0, i16 13985, i16 0, i16 13871, i16 0, i16 0, i16 0, i16 14895, i16 0, i16 15844, i16 14089, i16 12592, i16 0, i16 16205, i16 0, i16 13104, i16 13105, i16 13106, i16 13107, i16 13872, i16 0, i16 0, i16 0, i16 15152, i16 0, i16 12319, i16 12545, i16 49, i16 50, i16 51, i16 52, i16 13873, i16 0, i16 0, i16 0, i16 14129, i16 0, i16 0, i16 0, i16 14897, i16 0, i16 0, i16 0, i16 15665, i16 0, i16 16344, i16 16912, i16 15921, i16 16016, i16 14055, i16 13417, i16 16177, i16 0, i16 0, i16 14753, i16 818, i16 819, i16 820, i16 821, i16 1074, i16 1075, i16 1076, i16 1077, i16 15410, i16 15411, i16 15413, i16 15417, i16 16178, i16 14405, i16 0, i16 0, i16 16434, i16 15807, i16 15243, i16 0, i16 307, i16 308, i16 309, i16 310, i16 12339, i16 0, i16 0, i16 15839, i16 14131, i16 0, i16 0, i16 0, i16 14387, i16 0, i16 0, i16 0, i16 14643, i16 15448, i16 0, i16 0, i16 15155, i16 0, i16 0, i16 0, i16 15667, i16 0, i16 0, i16 0, i16 16435, i16 0, i16 0, i16 12749, i16 12596, i16 0, i16 0, i16 0, i16 13108, i16 13109, i16 13114, i16 13115, i16 13364, i16 14877, i16 0, i16 0, i16 14900, i16 0, i16 0, i16 0, i16 16436, i16 0, i16 0, i16 0, i16 53, i16 54, i16 55, i16 56, i16 12597, i16 0, i16 0, i16 16939, i16 13877, i16 0, i16 16491, i16 15185, i16 14901, i16 0, i16 0, i16 0, i16 16949, i16 0, i16 15802, i16 0, i16 566, i16 586, i16 587, i16 561, i16 822, i16 823, i16 824, i16 825, i16 1078, i16 1079, i16 1080, i16 1081, i16 14390, i16 0, i16 0, i16 0, i16 14902, i16 0, i16 0, i16 12930, i16 15158, i16 0, i16 12620, i16 15062, i16 15670, i16 0, i16 0, i16 0, i16 16438, i16 15340, i16 0, i16 16791, i16 311, i16 312, i16 313, i16 314, i16 13367, i16 16221, i16 16526, i16 0, i16 13879, i16 14764, i16 15132, i16 0, i16 15159, i16 15814, i16 0, i16 0, i16 15671, i16 0, i16 0, i16 16804, i16 16439, i16 13563, i16 0, i16 0, i16 16695, i16 0, i16 0, i16 0, i16 568, i16 590, i16 591, i16 563, i16 12600, i16 0, i16 0, i16 0, i16 13624, i16 0, i16 16032, i16 16310, i16 16440, i16 0, i16 12692, i16 13449, i16 16696, i16 0, i16 0, i16 14281, i16 16952, i16 16111, i16 0, i16 0, i16 57, i16 58, i16 59, i16 60, i16 13113, i16 0, i16 0, i16 0, i16 13881, i16 13940, i16 13941, i16 0, i16 15673, i16 16353, i16 0, i16 16691, i16 16441, i16 0, i16 12822, i16 15936, i16 16953, i16 16871, i16 15856, i16 12551, i16 826, i16 827, i16 828, i16 829, i16 1082, i16 1083, i16 1085, i16 1086, i16 14394, i16 15473, i16 0, i16 0, i16 15418, i16 15422, i16 15423, i16 15428, i16 16442, i16 0, i16 0, i16 0, i16 315, i16 316, i16 317, i16 318, i16 15931, i16 0, i16 14069, i16 0, i16 16187, i16 16188, i16 0, i16 0, i16 16699, i16 0, i16 0, i16 16698, i16 572, i16 594, i16 595, i16 562, i16 13116, i16 13117, i16 13118, i16 13119, i16 14908, i16 0, i16 0, i16 14194, i16 61, i16 62, i16 63, i16 64, i16 13629, i16 0, i16 0, i16 0, i16 574, i16 598, i16 599, i16 564, i16 830, i16 831, i16 832, i16 833, i16 12350, i16 0, i16 15031, i16 0, i16 12606, i16 13556, i16 14165, i16 0, i16 16190, i16 0, i16 0, i16 14219, i16 16446, i16 0, i16 0, i16 12529, i16 319, i16 320, i16 321, i16 322, i16 1087, i16 1088, i16 1089, i16 1090, i16 12863, i16 0, i16 0, i16 0, i16 14399, i16 0, i16 0, i16 15204, i16 14911, i16 14912, i16 14914, i16 14915, i16 14144, i16 13858, i16 0, i16 0, i16 14656, i16 0, i16 0, i16 0, i16 15424, i16 0, i16 0, i16 0, i16 16448, i16 14368, i16 17076, i16 12951, i16 65, i16 66, i16 67, i16 68, i16 12609, i16 0, i16 0, i16 0, i16 13121, i16 13122, i16 13292, i16 13314, i16 14657, i16 15421, i16 16239, i16 12586, i16 15169, i16 0, i16 0, i16 16147, i16 834, i16 835, i16 836, i16 837, i16 12354, i16 0, i16 16676, i16 14020, i16 13890, i16 0, i16 0, i16 0, i16 14402, i16 0, i16 15406, i16 0, i16 15426, i16 14351, i16 0, i16 0, i16 16450, i16 17137, i16 0, i16 0, i16 16706, i16 0, i16 0, i16 0, i16 323, i16 324, i16 325, i16 326, i16 1091, i16 1092, i16 1093, i16 1094, i16 12867, i16 0, i16 0, i16 0, i16 13123, i16 0, i16 13799, i16 13101, i16 13635, i16 0, i16 0, i16 0, i16 13891, i16 0, i16 0, i16 0, i16 14147, i16 0, i16 14148, i16 14149, i16 15939, i16 0, i16 14140, i16 13205, i16 16451, i16 0, i16 0, i16 0, i16 12356, i16 0, i16 0, i16 12804, i16 12612, i16 0, i16 0, i16 0, i16 12868, i16 0, i16 0, i16 0, i16 16708, i16 0, i16 0, i16 14124, i16 69, i16 70, i16 71, i16 72, i16 12357, i16 13758, i16 0, i16 17094, i16 838, i16 839, i16 840, i16 841, i16 12870, i16 12894, i16 12907, i16 12992, i16 14150, i16 0, i16 0, i16 13722, i16 14918, i16 14921, i16 14927, i16 14929, i16 16198, i16 0, i16 0, i16 0, i16 327, i16 328, i16 329, i16 330, i16 1095, i16 1096, i16 1097, i16 1098, i16 12871, i16 13304, i16 0, i16 0, i16 14151, i16 15380, i16 0, i16 16447, i16 14407, i16 0, i16 0, i16 0, i16 15431, i16 15432, i16 15433, i16 15434, i16 16199, i16 0, i16 16646, i16 12696, i16 16967, i16 0, i16 0, i16 0, i16 12360, i16 0, i16 0, i16 0, i16 12616, i16 0, i16 0, i16 0, i16 14152, i16 14254, i16 14256, i16 14275, i16 16200, i16 15023, i16 0, i16 0, i16 16968, i16 0, i16 0, i16 15490, i16 73, i16 74, i16 75, i16 76, i16 14409, i16 16493, i16 0, i16 12457, i16 16201, i16 0, i16 0, i16 12412, i16 842, i16 843, i16 844, i16 845, i16 13386, i16 0, i16 0, i16 0, i16 14410, i16 0, i16 0, i16 0, i16 15946, i16 0, i16 0, i16 0, i16 16458, i16 0, i16 0, i16 0, i16 331, i16 332, i16 333, i16 334, i16 1099, i16 1100, i16 1101, i16 1102, i16 13643, i16 0, i16 0, i16 0, i16 14667, i16 16229, i16 14220, i16 0, i16 16203, i16 0, i16 13697, i16 16959, i16 12876, i16 0, i16 14128, i16 0, i16 13644, i16 13645, i16 0, i16 0, i16 13900, i16 0, i16 0, i16 0, i16 14668, i16 15935, i16 0, i16 0, i16 15692, i16 0, i16 0, i16 0, i16 16460, i16 17118, i16 13652, i16 16277, i16 16716, i16 0, i16 0, i16 0, i16 16972, i16 13323, i16 0, i16 0, i16 77, i16 78, i16 79, i16 80, i16 13133, i16 0, i16 0, i16 0, i16 14413, i16 14238, i16 0, i16 0, i16 15437, i16 13403, i16 15831, i16 14474, i16 15693, i16 12584, i16 0, i16 14433, i16 846, i16 847, i16 848, i16 849, i16 12366, i16 0, i16 0, i16 0, i16 12622, i16 0, i16 0, i16 0, i16 14158, i16 0, i16 0, i16 0, i16 15182, i16 15183, i16 15189, i16 15191, i16 15438, i16 0, i16 15541, i16 0, i16 16718, i16 0, i16 0, i16 0, i16 335, i16 336, i16 337, i16 338, i16 1103, i16 1104, i16 1105, i16 1106, i16 16207, i16 13692, i16 0, i16 0, i16 16719, i16 16092, i16 0, i16 12318, i16 16975, i16 0, i16 16560, i16 0, i16 12368, i16 0, i16 14730, i16 16284, i16 12624, i16 13779, i16 0, i16 0, i16 12880, i16 0, i16 0, i16 0, i16 13648, i16 16754, i16 0, i16 0, i16 14672, i16 0, i16 0, i16 0, i16 14928, i16 0, i16 0, i16 0, i16 15440, i16 15484, i16 15485, i16 15488, i16 15952, i16 0, i16 0, i16 0, i16 81, i16 82, i16 83, i16 84, i16 12625, i16 0, i16 0, i16 0, i16 12881, i16 0, i16 0, i16 0, i16 13393, i16 15069, i16 0, i16 0, i16 13905, i16 0, i16 0, i16 0, i16 15441, i16 0, i16 12759, i16 15305, i16 15953, i16 15242, i16 0, i16 0, i16 850, i16 851, i16 0, i16 0, i16 12626, i16 0, i16 16516, i16 0, i16 13138, i16 0, i16 0, i16 0, i16 14930, i16 14931, i16 14933, i16 14937, i16 15954, i16 12429, i16 0, i16 0, i16 16978, i16 0, i16 12756, i16 0, i16 339, i16 340, i16 341, i16 342, i16 1107, i16 1108, i16 1109, i16 1110, i16 12371, i16 0, i16 0, i16 13280, i16 12883, i16 16244, i16 0, i16 14076, i16 852, i16 853, i16 854, i16 855, i16 85, i16 86, i16 87, i16 88, i16 13909, i16 0, i16 0, i16 0, i16 15190, i16 16683, i16 0, i16 0, i16 15446, i16 0, i16 0, i16 16364, i16 16726, i16 0, i16 15405, i16 0, i16 343, i16 344, i16 345, i16 346, i16 14167, i16 0, i16 0, i16 0, i16 16215, i16 0, i16 0, i16 16946, i16 856, i16 857, i16 858, i16 859, i16 12632, i16 0, i16 12954, i16 14051, i16 14680, i16 0, i16 0, i16 16133, i16 15192, i16 0, i16 0, i16 12731, i16 15704, i16 0, i16 0, i16 0, i16 13657, i16 0, i16 16746, i16 15249, i16 14169, i16 0, i16 0, i16 14941, i16 14681, i16 0, i16 0, i16 13062, i16 15193, i16 15196, i16 15203, i16 15208, i16 16217, i16 0, i16 0, i16 0, i16 602, i16 603, i16 575, i16 604, i16 12378, i16 0, i16 0, i16 0, i16 12634, i16 0, i16 0, i16 0, i16 13914, i16 0, i16 0, i16 0, i16 14938, i16 14942, i16 14950, i16 14952, i16 16218, i16 0, i16 15720, i16 15308, i16 16474, i16 0, i16 0, i16 0, i16 12635, i16 0, i16 15162, i16 0, i16 15195, i16 15117, i16 0, i16 0, i16 16219, i16 14723, i16 0, i16 14210, i16 16475, i16 16878, i16 0, i16 0, i16 16731, i16 13425, i16 13354, i16 0, i16 860, i16 861, i16 862, i16 863, i16 12636, i16 12671, i16 12843, i16 12848, i16 15452, i16 0, i16 0, i16 16113, i16 15964, i16 0, i16 0, i16 0, i16 16732, i16 15276, i16 0, i16 0, i16 93, i16 94, i16 95, i16 96, i16 605, i16 606, i16 607, i16 608, i16 12381, i16 0, i16 0, i16 0, i16 12637, i16 0, i16 0, i16 0, i16 15197, i16 0, i16 0, i16 0, i16 16989, i16 16604, i16 16529, i16 12685, i16 12382, i16 0, i16 0, i16 0, i16 13662, i16 17008, i16 17091, i16 15900, i16 15966, i16 0, i16 15965, i16 0, i16 16990, i16 0, i16 0, i16 15548, i16 351, i16 352, i16 353, i16 354, i16 12639, i16 13535, i16 16905, i16 0, i16 13407, i16 14189, i16 0, i16 0, i16 13919, i16 14215, i16 0, i16 0, i16 14175, i16 0, i16 16825, i16 0, i16 14687, i16 0, i16 15830, i16 17030, i16 16479, i16 0, i16 15951, i16 0, i16 864, i16 865, i16 866, i16 0, i16 12384, i16 15412, i16 14756, i16 0, i16 13152, i16 16096, i16 0, i16 0, i16 13408, i16 0, i16 0, i16 0, i16 13920, i16 0, i16 0, i16 0, i16 14688, i16 0, i16 0, i16 0, i16 16224, i16 0, i16 0, i16 0, i16 16480, i16 0, i16 0, i16 0, i16 16992, i16 0, i16 0, i16 0, i16 97, i16 98, i16 99, i16 100, i16 609, i16 610, i16 611, i16 565, i16 12385, i16 15963, i16 0, i16 0, i16 13153, i16 15352, i16 0, i16 0, i16 14177, i16 16622, i16 0, i16 0, i16 15201, i16 13463, i16 0, i16 12601, i16 16481, i16 0, i16 16100, i16 14801, i16 16737, i16 14119, i16 13491, i16 15570, i16 12642, i16 15578, i16 0, i16 15586, i16 14178, i16 0, i16 0, i16 0, i16 14434, i16 0, i16 12816, i16 0, i16 15202, i16 12458, i16 0, i16 0, i16 15714, i16 0, i16 0, i16 0, i16 16738, i16 17040, i16 0, i16 13241, i16 355, i16 356, i16 357, i16 358, i16 14691, i16 0, i16 13169, i16 0, i16 14947, i16 0, i16 0, i16 15534, i16 12644, i16 0, i16 16786, i16 0, i16 12900, i16 14153, i16 16593, i16 0, i16 13668, i16 0, i16 16247, i16 0, i16 101, i16 102, i16 103, i16 104, i16 13157, i16 0, i16 0, i16 0, i16 13413, i16 0, i16 0, i16 0, i16 14181, i16 0, i16 0, i16 0, i16 14437, i16 14744, i16 12562, i16 0, i16 14949, i16 14462, i16 12293, i16 0, i16 16485, i16 0, i16 0, i16 0, i16 16997, i16 13129, i16 0, i16 15959, i16 870, i16 0, i16 0, i16 0, i16 13670, i16 12405, i16 0, i16 0, i16 13926, i16 0, i16 16547, i16 0, i16 15206, i16 0, i16 0, i16 0, i16 16742, i16 0, i16 15362, i16 0, i16 359, i16 360, i16 361, i16 362, i16 13671, i16 0, i16 0, i16 16700, i16 14695, i16 0, i16 14197, i16 0, i16 16231, i16 0, i16 0, i16 15711, i16 16743, i16 0, i16 0, i16 0, i16 16999, i16 12558, i16 0, i16 0, i16 616, i16 622, i16 623, i16 624, i16 13928, i16 13929, i16 0, i16 0, i16 15464, i16 16002, i16 0, i16 0, i16 15976, i16 0, i16 0, i16 16852, i16 16232, i16 0, i16 16003, i16 0, i16 16744, i16 0, i16 14502, i16 13911, i16 105, i16 106, i16 107, i16 108, i16 617, i16 675, i16 690, i16 283, i16 14953, i16 14956, i16 14964, i16 14968, i16 15209, i16 13666, i16 16813, i16 14575, i16 15465, i16 0, i16 0, i16 0, i16 15721, i16 0, i16 0, i16 0, i16 16489, i16 13095, i16 0, i16 14300, i16 16745, i16 0, i16 0, i16 0, i16 14954, i16 0, i16 0, i16 0, i16 363, i16 364, i16 365, i16 366, i16 619, i16 620, i16 621, i16 640, i16 875, i16 0, i16 0, i16 0, i16 12395, i16 0, i16 0, i16 0, i16 13163, i16 0, i16 13604, i16 0, i16 13931, i16 0, i16 16865, i16 13665, i16 14699, i16 0, i16 0, i16 0, i16 15723, i16 0, i16 0, i16 0, i16 16747, i16 15442, i16 12315, i16 0, i16 14444, i16 0, i16 14347, i16 0, i16 14700, i16 15223, i16 0, i16 0, i16 15468, i16 0, i16 0, i16 0, i16 15724, i16 0, i16 0, i16 0, i16 16236, i16 0, i16 12512, i16 16144, i16 109, i16 110, i16 111, i16 112, i16 14701, i16 0, i16 12413, i16 15310, i16 15213, i16 0, i16 0, i16 16807, i16 15981, i16 0, i16 0, i16 14611, i16 12398, i16 0, i16 13810, i16 0, i16 13422, i16 0, i16 0, i16 0, i16 13678, i16 16641, i16 15345, i16 0, i16 14702, i16 0, i16 0, i16 0, i16 15726, i16 0, i16 12419, i16 17035, i16 16238, i16 0, i16 14062, i16 0, i16 367, i16 368, i16 369, i16 370, i16 879, i16 880, i16 881, i16 882, i16 12399, i16 15153, i16 0, i16 0, i16 13423, i16 0, i16 0, i16 17122, i16 14191, i16 0, i16 16427, i16 0, i16 14703, i16 13623, i16 0, i16 16506, i16 15983, i16 15729, i16 0, i16 0, i16 16495, i16 0, i16 16714, i16 0, i16 12656, i16 0, i16 13762, i16 0, i16 13936, i16 0, i16 0, i16 12284, i16 14448, i16 12575, i16 0, i16 13776, i16 14704, i16 0, i16 13229, i16 15194, i16 113, i16 114, i16 115, i16 116, i16 625, i16 626, i16 627, i16 628, i16 12657, i16 16053, i16 0, i16 0, i16 15985, i16 0, i16 16183, i16 13515, i16 17009, i16 0, i16 14554, i16 0, i16 12658, i16 0, i16 0, i16 0, i16 15474, i16 0, i16 16770, i16 0, i16 16498, i16 15164, i16 0, i16 0, i16 17010, i16 0, i16 13788, i16 13789, i16 371, i16 372, i16 373, i16 374, i16 883, i16 884, i16 885, i16 886, i16 14963, i16 15898, i16 0, i16 0, i16 16755, i16 0, i16 0, i16 0, i16 17011, i16 0, i16 0, i16 15514, i16 12404, i16 0, i16 0, i16 0, i16 12916, i16 0, i16 0, i16 14195, i16 16500, i16 0, i16 14290, i16 0, i16 117, i16 118, i16 119, i16 120, i16 629, i16 630, i16 631, i16 618, i16 13173, i16 0, i16 16230, i16 0, i16 13685, i16 13795, i16 16412, i16 0, i16 16245, i16 0, i16 16891, i16 0, i16 16501, i16 0, i16 0, i16 0, i16 12918, i16 0, i16 0, i16 0, i16 13686, i16 0, i16 0, i16 0, i16 13942, i16 13667, i16 0, i16 0, i16 14198, i16 12283, i16 0, i16 0, i16 14710, i16 0, i16 0, i16 0, i16 15478, i16 0, i16 15445, i16 15918, i16 16246, i16 16210, i16 13864, i16 0, i16 16758, i16 0, i16 0, i16 0, i16 375, i16 376, i16 377, i16 378, i16 887, i16 888, i16 889, i16 890, i16 12663, i16 0, i16 0, i16 0, i16 13431, i16 15482, i16 0, i16 0, i16 13687, i16 0, i16 0, i16 0, i16 15479, i16 0, i16 0, i16 0, i16 15735, i16 0, i16 14247, i16 0, i16 15991, i16 0, i16 0, i16 12861, i16 16503, i16 0, i16 0, i16 0, i16 13176, i16 0, i16 0, i16 0, i16 14456, i16 0, i16 0, i16 14707, i16 15224, i16 0, i16 0, i16 0, i16 16248, i16 0, i16 0, i16 0, i16 121, i16 122, i16 123, i16 124, i16 13689, i16 0, i16 0, i16 15343, i16 15481, i16 0, i16 15241, i16 0, i16 16761, i16 15321, i16 0, i16 0, i16 13178, i16 0, i16 16356, i16 0, i16 13946, i16 14970, i16 0, i16 0, i16 14458, i16 0, i16 0, i16 15513, i16 379, i16 380, i16 224, i16 0, i16 891, i16 892, i16 893, i16 894, i16 12923, i16 0, i16 0, i16 0, i16 14203, i16 0, i16 0, i16 0, i16 14459, i16 16609, i16 0, i16 12288, i16 14971, i16 14974, i16 14977, i16 14979, i16 15227, i16 17075, i16 14960, i16 0, i16 17019, i16 12410, i16 0, i16 0, i16 12668, i16 0, i16 12416, i16 0, i16 12924, i16 0, i16 0, i16 16146, i16 13948, i16 13979, i16 14073, i16 14121, i16 16764, i16 0, i16 0, i16 0, i16 17020, i16 0, i16 0, i16 0, i16 125, i16 126, i16 127, i16 132, i16 637, i16 638, i16 671, i16 672, i16 12925, i16 0, i16 0, i16 17153, i16 13437, i16 14216, i16 0, i16 0, i16 15997, i16 0, i16 0, i16 0, i16 16253, i16 17110, i16 16998, i16 0, i16 17021, i16 14028, i16 14602, i16 0, i16 12414, i16 0, i16 0, i16 15940, i16 13182, i16 0, i16 0, i16 0, i16 15230, i16 0, i16 0, i16 0, i16 15998, i16 13078, i16 12795, i16 0, i16 639, i16 688, i16 632, i16 0, i16 895, i16 896, i16 897, i16 898, i16 15487, i16 0, i16 16117, i16 0, i16 16511, i16 0, i16 13967, i16 0, i16 12672, i16 0, i16 0, i16 0, i16 12928, i16 0, i16 0, i16 0, i16 13952, i16 0, i16 0, i16 14693, i16 14720, i16 15363, i16 17000, i16 0, i16 15232, i16 0, i16 0, i16 14017, i16 17024, i16 0, i16 0, i16 0, i16 385, i16 386, i16 387, i16 388, i16 641, i16 680, i16 681, i16 682, i16 12673, i16 15969, i16 15810, i16 15142, i16 12929, i16 14360, i16 15168, i16 0, i16 13953, i16 17120, i16 0, i16 0, i16 15233, i16 0, i16 0, i16 0, i16 15745, i16 13371, i16 15358, i16 16608, i16 16513, i16 0, i16 0, i16 0, i16 16769, i16 0, i16 14392, i16 0, i16 17025, i16 0, i16 0, i16 0, i16 642, i16 643, i16 644, i16 645, i16 12674, i16 0, i16 13497, i16 16005, i16 13186, i16 0, i16 0, i16 0, i16 14466, i16 16629, i16 0, i16 0, i16 15746, i16 0, i16 0, i16 0, i16 131, i16 0, i16 693, i16 0, i16 899, i16 900, i16 901, i16 902, i16 13955, i16 0, i16 14350, i16 0, i16 15235, i16 14924, i16 0, i16 0, i16 16259, i16 0, i16 12776, i16 15255, i16 16771, i16 0, i16 0, i16 0, i16 17027, i16 0, i16 0, i16 0, i16 12932, i16 15535, i16 13829, i16 12760, i16 13188, i16 0, i16 0, i16 16888, i16 13444, i16 0, i16 0, i16 0, i16 14212, i16 0, i16 0, i16 15638, i16 14468, i16 0, i16 15186, i16 13221, i16 16004, i16 0, i16 0, i16 13654, i16 389, i16 390, i16 391, i16 392, i16 12933, i16 15624, i16 0, i16 0, i16 15493, i16 15494, i16 15495, i16 15496, i16 16517, i16 0, i16 12390, i16 0, i16 646, i16 647, i16 648, i16 649, i16 12678, i16 0, i16 0, i16 0, i16 13446, i16 0, i16 0, i16 0, i16 14982, i16 14983, i16 14984, i16 14986, i16 15238, i16 0, i16 14524, i16 0, i16 15750, i16 0, i16 14589, i16 0, i16 16774, i16 12986, i16 15718, i16 0, i16 903, i16 904, i16 905, i16 906, i16 13447, i16 0, i16 0, i16 0, i16 14471, i16 12595, i16 16282, i16 14959, i16 15751, i16 0, i16 14208, i16 0, i16 16263, i16 0, i16 14091, i16 0, i16 16775, i16 15669, i16 0, i16 0, i16 136, i16 348, i16 349, i16 350, i16 12424, i16 12430, i16 12447, i16 12611, i16 12680, i16 0, i16 16168, i16 0, i16 14472, i16 14429, i16 0, i16 0, i16 15240, i16 15283, i16 15323, i16 15359, i16 15752, i16 15337, i16 15932, i16 14724, i16 16264, i16 0, i16 0, i16 0, i16 16520, i16 0, i16 0, i16 0, i16 137, i16 203, i16 0, i16 0, i16 393, i16 394, i16 395, i16 396, i16 12937, i16 15537, i16 0, i16 0, i16 14217, i16 0, i16 0, i16 0, i16 16777, i16 0, i16 0, i16 0, i16 17033, i16 0, i16 15761, i16 0, i16 138, i16 139, i16 0, i16 0, i16 650, i16 651, i16 657, i16 658, i16 12682, i16 0, i16 0, i16 0, i16 12938, i16 0, i16 0, i16 0, i16 14218, i16 0, i16 0, i16 16130, i16 16778, i16 13956, i16 0, i16 0, i16 17034, i16 0, i16 13841, i16 12533, i16 907, i16 908, i16 909, i16 910, i16 12427, i16 0, i16 0, i16 0, i16 13195, i16 0, i16 16922, i16 0, i16 13707, i16 0, i16 0, i16 0, i16 14475, i16 0, i16 0, i16 0, i16 15499, i16 15502, i16 15504, i16 15510, i16 16011, i16 0, i16 0, i16 16509, i16 16779, i16 12836, i16 16582, i16 0, i16 140, i16 141, i16 0, i16 0, i16 652, i16 653, i16 654, i16 655, i16 12684, i16 0, i16 0, i16 0, i16 13452, i16 12433, i16 0, i16 0, i16 13708, i16 0, i16 14987, i16 0, i16 13964, i16 0, i16 15770, i16 16631, i16 14988, i16 14989, i16 14990, i16 14993, i16 15500, i16 0, i16 0, i16 0, i16 15756, i16 17160, i16 0, i16 0, i16 16012, i16 0, i16 0, i16 0, i16 16780, i16 14427, i16 14651, i16 16249, i16 397, i16 398, i16 399, i16 400, i16 14733, i16 15528, i16 0, i16 0, i16 15245, i16 16145, i16 12910, i16 15246, i16 142, i16 143, i16 0, i16 0, i16 12686, i16 0, i16 0, i16 0, i16 16270, i16 15176, i16 16407, i16 0, i16 911, i16 912, i16 913, i16 914, i16 12687, i16 0, i16 0, i16 0, i16 13455, i16 13547, i16 13572, i16 13917, i16 15759, i16 0, i16 0, i16 0, i16 16527, i16 13808, i16 0, i16 12337, i16 144, i16 145, i16 146, i16 147, i16 656, i16 0, i16 0, i16 0, i16 13200, i16 0, i16 0, i16 14170, i16 13456, i16 0, i16 0, i16 0, i16 401, i16 402, i16 403, i16 404, i16 12945, i16 13998, i16 0, i16 0, i16 13457, i16 16256, i16 0, i16 16553, i16 13969, i16 13521, i16 0, i16 0, i16 15505, i16 0, i16 0, i16 0, i16 12434, i16 0, i16 15058, i16 13539, i16 12690, i16 14684, i16 12987, i16 16033, i16 14482, i16 0, i16 0, i16 0, i16 15250, i16 0, i16 0, i16 0, i16 15762, i16 14596, i16 16510, i16 0, i16 16274, i16 13878, i16 0, i16 0, i16 16530, i16 0, i16 0, i16 13211, i16 659, i16 660, i16 661, i16 662, i16 915, i16 916, i16 917, i16 918, i16 13971, i16 0, i16 12440, i16 0, i16 14739, i16 0, i16 0, i16 0, i16 14995, i16 14996, i16 14999, i16 15000, i16 15507, i16 14598, i16 14237, i16 15914, i16 15763, i16 15390, i16 12379, i16 14705, i16 16275, i16 0, i16 0, i16 0, i16 148, i16 149, i16 150, i16 151, i16 13460, i16 0, i16 16753, i16 15034, i16 13716, i16 13717, i16 15801, i16 0, i16 14484, i16 13903, i16 14323, i16 0, i16 15764, i16 0, i16 15835, i16 0, i16 16276, i16 16223, i16 0, i16 0, i16 405, i16 406, i16 407, i16 408, i16 12437, i16 0, i16 0, i16 13759, i16 13461, i16 0, i16 0, i16 0, i16 15253, i16 0, i16 0, i16 0, i16 14486, i16 15451, i16 0, i16 16104, i16 663, i16 664, i16 665, i16 666, i16 919, i16 920, i16 921, i16 922, i16 13207, i16 0, i16 0, i16 15529, i16 13719, i16 12365, i16 16469, i16 15002, i16 14231, i16 12961, i16 0, i16 0, i16 14743, i16 0, i16 0, i16 0, i16 15511, i16 15515, i16 15516, i16 15519, i16 15767, i16 14614, i16 0, i16 13954, i16 152, i16 153, i16 0, i16 199, i16 12952, i16 0, i16 0, i16 0, i16 13208, i16 0, i16 0, i16 0, i16 14232, i16 0, i16 0, i16 0, i16 15256, i16 13725, i16 0, i16 16406, i16 16792, i16 0, i16 12502, i16 0, i16 17048, i16 0, i16 16613, i16 0, i16 409, i16 410, i16 411, i16 412, i16 12697, i16 0, i16 0, i16 0, i16 13465, i16 0, i16 15265, i16 16948, i16 14489, i16 0, i16 12306, i16 0, i16 15001, i16 15003, i16 15009, i16 15014, i16 12442, i16 13226, i16 0, i16 14226, i16 12698, i16 15313, i16 0, i16 17014, i16 15258, i16 0, i16 0, i16 0, i16 16538, i16 13681, i16 16557, i16 0, i16 667, i16 612, i16 613, i16 614, i16 923, i16 924, i16 925, i16 926, i16 12443, i16 16521, i16 0, i16 16894, i16 16539, i16 16116, i16 14202, i16 15247, i16 16795, i16 16796, i16 16864, i16 16991, i16 17052, i16 0, i16 0, i16 0, i16 157, i16 177, i16 0, i16 0, i16 413, i16 414, i16 415, i16 416, i16 669, i16 670, i16 285, i16 687, i16 12957, i16 0, i16 12393, i16 0, i16 13213, i16 0, i16 13510, i16 0, i16 15005, i16 0, i16 0, i16 0, i16 15517, i16 0, i16 0, i16 0, i16 16541, i16 15492, i16 0, i16 0, i16 158, i16 159, i16 0, i16 0, i16 12702, i16 16396, i16 16565, i16 0, i16 13726, i16 0, i16 15904, i16 0, i16 15006, i16 0, i16 0, i16 13595, i16 15518, i16 0, i16 0, i16 0, i16 927, i16 928, i16 929, i16 930, i16 13983, i16 0, i16 0, i16 0, i16 16287, i16 0, i16 0, i16 0, i16 17055, i16 0, i16 0, i16 0, i16 13472, i16 14810, i16 14523, i16 0, i16 15520, i16 15531, i16 15539, i16 15540, i16 16544, i16 0, i16 12913, i16 0, i16 161, i16 205, i16 0, i16 0, i16 417, i16 418, i16 419, i16 420, i16 673, i16 633, i16 634, i16 635, i16 13729, i16 14746, i16 0, i16 15579, i16 14497, i16 0, i16 0, i16 13296, i16 16545, i16 0, i16 0, i16 15030, i16 162, i16 154, i16 868, i16 869, i16 12450, i16 0, i16 0, i16 0, i16 13218, i16 16234, i16 0, i16 0, i16 13474, i16 0, i16 15986, i16 0, i16 931, i16 932, i16 933, i16 934, i16 12963, i16 16061, i16 0, i16 0, i16 13731, i16 14781, i16 15351, i16 0, i16 14243, i16 0, i16 0, i16 0, i16 17059, i16 15542, i16 13128, i16 0, i16 13476, i16 0, i16 0, i16 0, i16 13732, i16 0, i16 0, i16 15733, i16 15524, i16 0, i16 13441, i16 0, i16 16548, i16 16337, i16 0, i16 13756, i16 17060, i16 0, i16 0, i16 0, i16 421, i16 422, i16 423, i16 424, i16 12709, i16 0, i16 0, i16 0, i16 13733, i16 0, i16 0, i16 0, i16 13989, i16 0, i16 0, i16 0, i16 14501, i16 0, i16 0, i16 15771, i16 15013, i16 0, i16 13401, i16 13158, i16 15525, i16 0, i16 0, i16 0, i16 16805, i16 15459, i16 15096, i16 13761, i16 17061, i16 0, i16 14417, i16 0, i16 12966, i16 0, i16 15984, i16 0, i16 13734, i16 0, i16 13803, i16 13637, i16 14246, i16 0, i16 14315, i16 0, i16 16038, i16 0, i16 0, i16 14842, i16 16550, i16 12792, i16 0, i16 0, i16 17062, i16 0, i16 0, i16 15604, i16 167, i16 168, i16 218, i16 381, i16 935, i16 936, i16 937, i16 938, i16 13735, i16 0, i16 13742, i16 13171, i16 14759, i16 16681, i16 0, i16 13892, i16 15271, i16 15272, i16 14418, i16 0, i16 12968, i16 0, i16 14867, i16 0, i16 16040, i16 0, i16 16175, i16 0, i16 16552, i16 16563, i16 16665, i16 16686, i16 425, i16 426, i16 427, i16 428, i16 13225, i16 15942, i16 13512, i16 0, i16 13481, i16 0, i16 0, i16 0, i16 15017, i16 15018, i16 15020, i16 15021, i16 15785, i16 0, i16 0, i16 16662, i16 16297, i16 0, i16 0, i16 0, i16 12714, i16 0, i16 12438, i16 16242, i16 14250, i16 16679, i16 14694, i16 0, i16 15530, i16 15333, i16 0, i16 0, i16 16298, i16 15512, i16 0, i16 13777, i16 16554, i16 0, i16 0, i16 13450, i16 171, i16 0, i16 170, i16 0, i16 683, i16 676, i16 677, i16 678, i16 939, i16 940, i16 941, i16 942, i16 12459, i16 16235, i16 0, i16 0, i16 12715, i16 0, i16 0, i16 0, i16 12971, i16 0, i16 0, i16 0, i16 13227, i16 0, i16 0, i16 0, i16 15787, i16 0, i16 0, i16 0, i16 17067, i16 0, i16 0, i16 0, i16 172, i16 0, i16 0, i16 0, i16 12972, i16 0, i16 0, i16 15139, i16 13228, i16 0, i16 0, i16 0, i16 14508, i16 0, i16 13704, i16 0, i16 16044, i16 0, i16 0, i16 0, i16 16556, i16 0, i16 0, i16 0, i16 429, i16 430, i16 431, i16 432, i16 685, i16 0, i16 0, i16 686, i16 13485, i16 0, i16 0, i16 0, i16 13997, i16 0, i16 0, i16 0, i16 14509, i16 13175, i16 16316, i16 0, i16 15533, i16 0, i16 0, i16 0, i16 15789, i16 17036, i16 0, i16 0, i16 16045, i16 0, i16 16600, i16 0, i16 16301, i16 0, i16 15820, i16 12844, i16 12718, i16 16063, i16 12914, i16 14117, i16 12974, i16 0, i16 16705, i16 0, i16 13230, i16 0, i16 15623, i16 13677, i16 14766, i16 0, i16 0, i16 0, i16 15022, i16 0, i16 13436, i16 0, i16 15278, i16 0, i16 14272, i16 0, i16 16302, i16 14904, i16 16258, i16 16283, i16 16558, i16 16824, i16 0, i16 0, i16 943, i16 944, i16 945, i16 946, i16 14255, i16 16131, i16 0, i16 13355, i16 15791, i16 0, i16 0, i16 0, i16 16815, i16 0, i16 0, i16 0, i16 17071, i16 0, i16 0, i16 0, i16 13488, i16 0, i16 0, i16 0, i16 14768, i16 0, i16 14039, i16 0, i16 15024, i16 15039, i16 15041, i16 15046, i16 433, i16 434, i16 435, i16 436, i16 689, i16 684, i16 0, i16 0, i16 12465, i16 13274, i16 0, i16 13752, i16 12721, i16 16798, i16 14932, i16 0, i16 12977, i16 0, i16 12908, i16 0, i16 14257, i16 14133, i16 0, i16 0, i16 15025, i16 0, i16 0, i16 0, i16 16817, i16 12884, i16 0, i16 0, i16 12466, i16 16789, i16 12563, i16 13222, i16 13234, i16 0, i16 0, i16 0, i16 15794, i16 0, i16 0, i16 0, i16 947, i16 948, i16 949, i16 950, i16 12723, i16 0, i16 0, i16 0, i16 14771, i16 0, i16 13435, i16 0, i16 16051, i16 15890, i16 0, i16 0, i16 16819, i16 12329, i16 0, i16 17001, i16 692, i16 0, i16 0, i16 0, i16 12724, i16 0, i16 13132, i16 0, i16 15796, i16 0, i16 0, i16 0, i16 16308, i16 16502, i16 16504, i16 16536, i16 437, i16 438, i16 439, i16 440, i16 12725, i16 0, i16 0, i16 0, i16 13493, i16 0, i16 0, i16 0, i16 14005, i16 0, i16 0, i16 0, i16 15029, i16 0, i16 0, i16 0, i16 12726, i16 0, i16 15184, i16 0, i16 13238, i16 16154, i16 16911, i16 0, i16 14006, i16 0, i16 0, i16 0, i16 14774, i16 0, i16 0, i16 0, i16 15286, i16 0, i16 0, i16 0, i16 16822, i16 14980, i16 0, i16 0, i16 17078, i16 0, i16 0, i16 0, i16 951, i16 952, i16 953, i16 954, i16 12471, i16 0, i16 0, i16 12778, i16 13751, i16 0, i16 16204, i16 0, i16 14519, i16 0, i16 0, i16 0, i16 14775, i16 0, i16 0, i16 0, i16 15543, i16 15546, i16 15549, i16 15550, i16 12472, i16 16606, i16 14284, i16 0, i16 13240, i16 12549, i16 0, i16 13294, i16 15288, i16 0, i16 0, i16 0, i16 16056, i16 0, i16 0, i16 0, i16 441, i16 442, i16 443, i16 444, i16 12473, i16 0, i16 0, i16 0, i16 14521, i16 14717, i16 14727, i16 14735, i16 15289, i16 12888, i16 0, i16 16378, i16 16313, i16 13827, i16 0, i16 14976, i16 16569, i16 16206, i16 0, i16 0, i16 698, i16 0, i16 0, i16 0, i16 14266, i16 0, i16 0, i16 0, i16 14778, i16 0, i16 0, i16 0, i16 16058, i16 0, i16 0, i16 0, i16 955, i16 956, i16 957, i16 958, i16 14267, i16 0, i16 0, i16 0, i16 12988, i16 0, i16 0, i16 0, i16 14268, i16 0, i16 13468, i16 0, i16 15036, i16 0, i16 0, i16 0, i16 16572, i16 14518, i16 12691, i16 13239, i16 189, i16 188, i16 0, i16 253, i16 445, i16 446, i16 447, i16 448, i16 12477, i16 15331, i16 0, i16 0, i16 13245, i16 0, i16 0, i16 0, i16 13757, i16 0, i16 0, i16 14374, i16 14525, i16 0, i16 13038, i16 0, i16 16317, i16 0, i16 0, i16 0, i16 17085, i16 0, i16 15086, i16 0, i16 15038, i16 0, i16 17064, i16 0, i16 15806, i16 0, i16 0, i16 0, i16 16574, i16 0, i16 0, i16 0, i16 14783, i16 0, i16 0, i16 0, i16 15551, i16 15803, i16 0, i16 16468, i16 704, i16 705, i16 706, i16 707, i16 13248, i16 14745, i16 0, i16 15254, i16 13504, i16 0, i16 0, i16 0, i16 14016, i16 15498, i16 16826, i16 0, i16 15808, i16 0, i16 12581, i16 0, i16 16320, i16 0, i16 0, i16 0, i16 16576, i16 0, i16 0, i16 0, i16 193, i16 192, i16 0, i16 0, i16 449, i16 450, i16 451, i16 452, i16 12481, i16 15674, i16 0, i16 0, i16 12737, i16 0, i16 0, i16 16125, i16 12993, i16 12996, i16 12999, i16 13000, i16 13505, i16 12448, i16 0, i16 16713, i16 15297, i16 15282, i16 16915, i16 0, i16 16321, i16 0, i16 0, i16 0, i16 17089, i16 0, i16 0, i16 0, i16 962, i16 963, i16 964, i16 965, i16 12482, i16 0, i16 0, i16 0, i16 12994, i16 0, i16 0, i16 14948, i16 13250, i16 0, i16 17056, i16 0, i16 15042, i16 0, i16 0, i16 0, i16 16322, i16 0, i16 0, i16 0, i16 195, i16 196, i16 194, i16 197, i16 12483, i16 16508, i16 13428, i16 13090, i16 14019, i16 15663, i16 0, i16 14242, i16 15043, i16 0, i16 15522, i16 0, i16 15299, i16 14752, i16 16138, i16 12614, i16 15811, i16 0, i16 0, i16 0, i16 708, i16 709, i16 710, i16 711, i16 12484, i16 0, i16 13845, i16 0, i16 13508, i16 12695, i16 0, i16 0, i16 453, i16 454, i16 455, i16 456, i16 13253, i16 0, i16 0, i16 0, i16 13765, i16 0, i16 0, i16 12940, i16 14021, i16 0, i16 0, i16 0, i16 14789, i16 0, i16 12336, i16 0, i16 15557, i16 0, i16 0, i16 0, i16 16069, i16 0, i16 14166, i16 0, i16 198, i16 271, i16 274, i16 272, i16 966, i16 967, i16 968, i16 969, i16 12486, i16 15292, i16 0, i16 0, i16 14022, i16 12548, i16 0, i16 0, i16 14534, i16 14770, i16 0, i16 14512, i16 14790, i16 0, i16 0, i16 0, i16 15558, i16 0, i16 0, i16 0, i16 16070, i16 15545, i16 0, i16 0, i16 13255, i16 0, i16 0, i16 0, i16 15047, i16 15051, i16 15053, i16 15055, i16 16071, i16 16132, i16 16153, i16 16237, i16 712, i16 713, i16 714, i16 715, i16 14280, i16 0, i16 15295, i16 0, i16 14536, i16 0, i16 0, i16 0, i16 16072, i16 16419, i16 0, i16 15427, i16 17096, i16 0, i16 0, i16 0, i16 457, i16 458, i16 459, i16 460, i16 12489, i16 0, i16 0, i16 13963, i16 13001, i16 13002, i16 13003, i16 13004, i16 14025, i16 0, i16 0, i16 0, i16 14793, i16 16370, i16 0, i16 0, i16 15049, i16 0, i16 14621, i16 15073, i16 15561, i16 0, i16 0, i16 15636, i16 16585, i16 0, i16 0, i16 16785, i16 970, i16 971, i16 972, i16 973, i16 12490, i16 0, i16 0, i16 0, i16 12746, i16 13990, i16 0, i16 0, i16 14026, i16 0, i16 13980, i16 0, i16 15818, i16 15722, i16 0, i16 14075, i16 17098, i16 0, i16 0, i16 0, i16 14795, i16 0, i16 0, i16 0, i16 15307, i16 0, i16 0, i16 0, i16 15819, i16 0, i16 0, i16 15927, i16 16075, i16 0, i16 0, i16 0, i16 716, i16 717, i16 718, i16 719, i16 14796, i16 0, i16 16022, i16 0, i16 15052, i16 0, i16 13418, i16 12665, i16 16844, i16 0, i16 0, i16 0, i16 461, i16 462, i16 463, i16 464, i16 13261, i16 0, i16 0, i16 0, i16 14541, i16 13220, i16 0, i16 0, i16 15309, i16 0, i16 12712, i16 0, i16 15565, i16 15566, i16 15568, i16 15573, i16 15821, i16 0, i16 16052, i16 0, i16 17101, i16 0, i16 0, i16 0, i16 974, i16 975, i16 976, i16 977, i16 13006, i16 13007, i16 13008, i16 13009, i16 13518, i16 0, i16 0, i16 14415, i16 14542, i16 0, i16 0, i16 0, i16 16078, i16 14393, i16 0, i16 0, i16 207, i16 0, i16 235, i16 0, i16 12495, i16 0, i16 0, i16 16950, i16 13519, i16 0, i16 0, i16 0, i16 15311, i16 0, i16 14830, i16 14282, i16 15567, i16 0, i16 0, i16 16619, i16 15823, i16 0, i16 0, i16 16027, i16 16847, i16 0, i16 0, i16 14496, i16 17103, i16 17115, i16 0, i16 0, i16 208, i16 0, i16 0, i16 209, i16 720, i16 721, i16 722, i16 723, i16 14544, i16 0, i16 0, i16 0, i16 15056, i16 15059, i16 15071, i16 15076, i16 16336, i16 0, i16 0, i16 0, i16 16592, i16 15685, i16 0, i16 0, i16 16848, i16 0, i16 13214, i16 0, i16 17104, i16 14273, i16 14711, i16 0, i16 465, i16 466, i16 467, i16 468, i16 12753, i16 14734, i16 0, i16 16252, i16 14033, i16 0, i16 0, i16 15601, i16 16081, i16 0, i16 0, i16 0, i16 978, i16 979, i16 980, i16 981, i16 13010, i16 13012, i16 13013, i16 13014, i16 15826, i16 16028, i16 12772, i16 0, i16 16594, i16 0, i16 0, i16 0, i16 16850, i16 0, i16 16189, i16 0, i16 17106, i16 0, i16 0, i16 12294, i16 14547, i16 0, i16 0, i16 14190, i16 15315, i16 0, i16 0, i16 0, i16 15827, i16 0, i16 0, i16 12830, i16 724, i16 725, i16 726, i16 727, i16 12500, i16 0, i16 0, i16 16134, i16 13524, i16 0, i16 0, i16 0, i16 13780, i16 13256, i16 0, i16 0, i16 14804, i16 16701, i16 0, i16 0, i16 15060, i16 0, i16 12324, i16 0, i16 15316, i16 0, i16 15341, i16 0, i16 15572, i16 0, i16 0, i16 14646, i16 15828, i16 0, i16 13541, i16 15450, i16 469, i16 470, i16 471, i16 472, i16 12501, i16 0, i16 0, i16 0, i16 12757, i16 0, i16 0, i16 14292, i16 13269, i16 0, i16 0, i16 0, i16 13781, i16 0, i16 0, i16 13202, i16 14293, i16 0, i16 0, i16 14850, i16 982, i16 983, i16 984, i16 985, i16 13526, i16 12773, i16 0, i16 13700, i16 15574, i16 15575, i16 15650, i16 15725, i16 16854, i16 0, i16 15593, i16 14511, i16 13015, i16 13017, i16 13019, i16 13020, i16 14295, i16 0, i16 0, i16 0, i16 16599, i16 13986, i16 0, i16 0, i16 728, i16 729, i16 730, i16 731, i16 12504, i16 0, i16 0, i16 0, i16 13272, i16 13695, i16 17084, i16 13561, i16 14040, i16 16182, i16 16408, i16 0, i16 14296, i16 0, i16 0, i16 0, i16 14552, i16 0, i16 13151, i16 16838, i16 217, i16 215, i16 214, i16 206, i16 473, i16 474, i16 475, i16 0, i16 13529, i16 0, i16 15231, i16 0, i16 16089, i16 0, i16 16543, i16 0, i16 986, i16 987, i16 988, i16 989, i16 12762, i16 0, i16 0, i16 12667, i16 14042, i16 0, i16 14899, i16 0, i16 14298, i16 0, i16 0, i16 0, i16 15322, i16 14491, i16 0, i16 12496, i16 16602, i16 0, i16 0, i16 0, i16 12763, i16 0, i16 0, i16 15467, i16 13275, i16 14301, i16 0, i16 17006, i16 13531, i16 0, i16 14555, i16 0, i16 220, i16 0, i16 0, i16 0, i16 476, i16 477, i16 478, i16 479, i16 732, i16 733, i16 734, i16 735, i16 12764, i16 15934, i16 0, i16 16323, i16 14812, i16 12878, i16 0, i16 15877, i16 15580, i16 14196, i16 16484, i16 15632, i16 221, i16 0, i16 175, i16 222, i16 12509, i16 0, i16 0, i16 0, i16 13533, i16 0, i16 0, i16 0, i16 14557, i16 14233, i16 0, i16 0, i16 14813, i16 0, i16 0, i16 0, i16 15325, i16 0, i16 15780, i16 0, i16 16093, i16 16897, i16 13603, i16 0, i16 16349, i16 0, i16 14054, i16 14713, i16 990, i16 991, i16 992, i16 993, i16 12510, i16 15805, i16 13369, i16 0, i16 12766, i16 0, i16 0, i16 0, i16 13022, i16 13026, i16 13030, i16 13032, i16 13278, i16 14015, i16 13585, i16 0, i16 14046, i16 0, i16 0, i16 0, i16 14814, i16 0, i16 0, i16 0, i16 15582, i16 0, i16 0, i16 16043, i16 16350, i16 0, i16 0, i16 0, i16 223, i16 0, i16 268, i16 128, i16 13279, i16 15703, i16 16122, i16 0, i16 14303, i16 0, i16 0, i16 13160, i16 14815, i16 0, i16 0, i16 14647, i16 15327, i16 15373, i16 0, i16 14127, i16 16351, i16 0, i16 14211, i16 0, i16 480, i16 481, i16 482, i16 483, i16 736, i16 737, i16 738, i16 739, i16 13792, i16 0, i16 0, i16 14426, i16 15072, i16 15398, i16 0, i16 0, i16 12769, i16 0, i16 0, i16 0, i16 13537, i16 0, i16 0, i16 0, i16 14305, i16 0, i16 0, i16 0, i16 15585, i16 16868, i16 0, i16 0, i16 226, i16 229, i16 228, i16 231, i16 994, i16 995, i16 996, i16 997, i16 13282, i16 0, i16 0, i16 0, i16 14306, i16 0, i16 12700, i16 0, i16 14562, i16 15395, i16 0, i16 0, i16 16354, i16 0, i16 14249, i16 0, i16 16610, i16 0, i16 0, i16 13023, i16 12771, i16 0, i16 0, i16 0, i16 14307, i16 0, i16 0, i16 0, i16 15587, i16 17070, i16 0, i16 13673, i16 484, i16 485, i16 0, i16 0, i16 740, i16 741, i16 742, i16 743, i16 13028, i16 15378, i16 15379, i16 13805, i16 16612, i16 0, i16 14204, i16 16080, i16 13285, i16 0, i16 0, i16 0, i16 14053, i16 0, i16 13415, i16 0, i16 15589, i16 0, i16 12505, i16 16542, i16 16869, i16 0, i16 12780, i16 0, i16 17125, i16 16445, i16 0, i16 0, i16 230, i16 867, i16 700, i16 0, i16 486, i16 487, i16 488, i16 489, i16 998, i16 999, i16 1000, i16 1001, i16 12518, i16 0, i16 0, i16 0, i16 12774, i16 0, i16 0, i16 0, i16 13542, i16 0, i16 12967, i16 16522, i16 14310, i16 17148, i16 0, i16 0, i16 14822, i16 0, i16 0, i16 0, i16 15078, i16 15095, i16 15173, i16 15174, i16 16358, i16 0, i16 0, i16 13564, i16 16870, i16 0, i16 0, i16 0, i16 13287, i16 0, i16 12943, i16 14498, i16 14567, i16 0, i16 0, i16 0, i16 15335, i16 0, i16 0, i16 0, i16 17127, i16 15461, i16 13470, i16 0, i16 744, i16 745, i16 746, i16 747, i16 14312, i16 0, i16 0, i16 0, i16 15080, i16 15157, i16 13874, i16 13265, i16 16360, i16 0, i16 0, i16 0, i16 16872, i16 0, i16 0, i16 0, i16 13033, i16 13034, i16 13036, i16 13037, i16 13289, i16 12536, i16 0, i16 16564, i16 13545, i16 0, i16 0, i16 15443, i16 13801, i16 0, i16 13620, i16 0, i16 15081, i16 15804, i16 0, i16 0, i16 15849, i16 0, i16 0, i16 0, i16 16617, i16 0, i16 0, i16 0, i16 16873, i16 14697, i16 0, i16 0, i16 234, i16 0, i16 0, i16 0, i16 490, i16 491, i16 492, i16 493, i16 1002, i16 1003, i16 1004, i16 1005, i16 15338, i16 0, i16 0, i16 0, i16 16362, i16 0, i16 14446, i16 15234, i16 16874, i16 0, i16 0, i16 13025, i16 17130, i16 0, i16 0, i16 0, i16 12523, i16 0, i16 13760, i16 0, i16 14059, i16 14375, i16 0, i16 0, i16 14571, i16 0, i16 12662, i16 0, i16 15339, i16 14340, i16 0, i16 0, i16 15851, i16 0, i16 0, i16 16883, i16 748, i16 749, i16 750, i16 751, i16 14316, i16 0, i16 16739, i16 0, i16 14572, i16 0, i16 16192, i16 14871, i16 14828, i16 0, i16 0, i16 0, i16 15852, i16 12976, i16 15777, i16 0, i16 17132, i16 0, i16 0, i16 0, i16 12525, i16 14854, i16 0, i16 0, i16 14573, i16 14036, i16 0, i16 14037, i16 15085, i16 17109, i16 13852, i16 0, i16 16109, i16 15216, i16 13094, i16 0, i16 238, i16 0, i16 0, i16 179, i16 494, i16 495, i16 0, i16 0, i16 1006, i16 1007, i16 1008, i16 1009, i16 13806, i16 15676, i16 16961, i16 0, i16 16366, i16 15218, i16 0, i16 0, i16 12783, i16 0, i16 15396, i16 0, i16 13551, i16 15458, i16 17151, i16 0, i16 13807, i16 0, i16 0, i16 0, i16 14831, i16 0, i16 0, i16 0, i16 15855, i16 0, i16 14172, i16 0, i16 16367, i16 0, i16 14806, i16 12387, i16 240, i16 0, i16 163, i16 164, i16 752, i16 753, i16 754, i16 755, i16 12528, i16 0, i16 0, i16 12349, i16 13040, i16 0, i16 0, i16 15092, i16 13552, i16 13270, i16 0, i16 0, i16 14576, i16 0, i16 0, i16 0, i16 15600, i16 0, i16 0, i16 13650, i16 16368, i16 0, i16 0, i16 17051, i16 17136, i16 15591, i16 12699, i16 0, i16 13041, i16 13042, i16 13043, i16 13044, i16 13297, i16 0, i16 14164, i16 0, i16 14065, i16 0, i16 0, i16 0, i16 14321, i16 14328, i16 14431, i16 14457, i16 16369, i16 0, i16 16030, i16 16833, i16 16625, i16 0, i16 0, i16 0, i16 242, i16 241, i16 0, i16 0, i16 1010, i16 1011, i16 1012, i16 1013, i16 13554, i16 0, i16 0, i16 16702, i16 14066, i16 0, i16 0, i16 0, i16 14834, i16 14837, i16 14838, i16 14845, i16 499, i16 500, i16 501, i16 502, i16 16115, i16 0, i16 13362, i16 0, i16 16371, i16 14903, i16 15888, i16 0, i16 756, i16 757, i16 0, i16 0, i16 15860, i16 0, i16 0, i16 0, i16 16884, i16 0, i16 0, i16 0, i16 245, i16 248, i16 0, i16 249, i16 12789, i16 14319, i16 0, i16 0, i16 13045, i16 13047, i16 13052, i16 13064, i16 14581, i16 0, i16 16841, i16 0, i16 15093, i16 15181, i16 14721, i16 13061, i16 15605, i16 15130, i16 15715, i16 0, i16 15861, i16 0, i16 0, i16 14946, i16 16373, i16 15027, i16 0, i16 0, i16 16885, i16 0, i16 0, i16 16823, i16 246, i16 247, i16 0, i16 250, i16 758, i16 759, i16 760, i16 761, i16 1014, i16 1015, i16 1016, i16 1017, i16 12790, i16 0, i16 0, i16 0, i16 15350, i16 13930, i16 0, i16 0, i16 15606, i16 0, i16 0, i16 0, i16 16886, i16 16410, i16 15882, i16 17128, i16 17142, i16 16149, i16 0, i16 17135, i16 503, i16 504, i16 505, i16 506, i16 13815, i16 0, i16 0, i16 0, i16 14071, i16 0, i16 0, i16 0, i16 14583, i16 0, i16 0, i16 0, i16 14839, i16 16973, i16 15261, i16 17140, i16 13560, i16 0, i16 17083, i16 0, i16 14072, i16 0, i16 0, i16 0, i16 14584, i16 0, i16 15281, i16 0, i16 15608, i16 0, i16 0, i16 0, i16 15864, i16 16748, i16 0, i16 0, i16 16632, i16 15150, i16 0, i16 0, i16 12537, i16 0, i16 0, i16 14973, i16 12793, i16 14630, i16 15850, i16 0, i16 13049, i16 14043, i16 0, i16 0, i16 13305, i16 13263, i16 0, i16 0, i16 15865, i16 0, i16 0, i16 0, i16 17145, i16 16421, i16 0, i16 13784, i16 762, i16 763, i16 764, i16 765, i16 1018, i16 1019, i16 1020, i16 1021, i16 12538, i16 0, i16 0, i16 12960, i16 13050, i16 15974, i16 0, i16 13523, i16 15610, i16 0, i16 0, i16 0, i16 17146, i16 0, i16 0, i16 0, i16 507, i16 508, i16 509, i16 510, i16 13051, i16 0, i16 0, i16 0, i16 15099, i16 17005, i16 17050, i16 16925, i16 15611, i16 15678, i16 0, i16 0, i16 252, i16 0, i16 0, i16 183, i16 13308, i16 14843, i16 0, i16 0, i16 14332, i16 14758, i16 0, i16 0, i16 14588, i16 0, i16 16420, i16 14528, i16 15612, i16 15795, i16 0, i16 0, i16 13309, i16 0, i16 0, i16 0, i16 15869, i16 13439, i16 0, i16 0, i16 16381, i16 0, i16 0, i16 0, i16 16893, i16 14522, i16 0, i16 0, i16 17149, i16 0, i16 12785, i16 0, i16 254, i16 255, i16 0, i16 0, i16 766, i16 767, i16 768, i16 769, i16 1022, i16 1023, i16 1024, i16 1025, i16 13054, i16 0, i16 0, i16 13994, i16 13566, i16 0, i16 0, i16 0, i16 13822, i16 13259, i16 0, i16 15098, i16 511, i16 512, i16 0, i16 513, i16 12287, i16 0, i16 0, i16 13421, i16 12799, i16 0, i16 0, i16 0, i16 13311, i16 0, i16 0, i16 0, i16 13567, i16 0, i16 14077, i16 0, i16 14335, i16 12521, i16 13217, i16 0, i16 14591, i16 15619, i16 0, i16 0, i16 14847, i16 14848, i16 14856, i16 14866], [6 x i8] c"\0A\03\162\00\04", [24 x i64] [i64 48508, i64 48528, i64 48548, i64 14648, i64 48588, i64 48634, i64 48640, i64 14699, i64 48670, i64 52564, i64 52608, i64 14727, i64 53422, i64 61672, i64 61772, i64 16373, i64 0, i64 0, i64 0, i64 0, i64 68630, i64 69002, i64 69010, i64 44726], [2826 x i8] c"\00\00\01\00\00\00\00\00\00\01\00\08\00\01\01\01e\01\01\02\02\00\01\01\01e\01\02\00\02\00\02\02\02d\02\03\00\12\00\02\03\03c\03\03\02\02\00\02\04\04c\04\04\00\12\00\02\05\05b\03\04\02\02\00\02\06\06b\04\05\00\12\00\02\07\05a\03\05\02\02\00\02\08\06a\04\06\00\12\00\02\09\05`\03\06\02\02\00\02\0A\06`\04\07\00\02\00\03\0B\07_\05\08\00\12\00\02\0C\05^\03\08\02\02\00\02\0D\06^\04\09\00\12\00\02\0E\08]\03\09\02\02\00\02\0F\09]\04\0A\00\12\00\02\10\05\\\03\0A\02\02\00\02\11\06\\\04\0B\00\12\00\02\12\08[\03\0B\02\02\00\02\13\09[\04\0C\00\12\00\02\14\05Z\03\0C\02\02\00\02\15\06Z\04\0D\00\12\00\02\16\05Y\03\0D\02\02\00\02\17\06Y\04\0E\00\12\00\02\18\05X\03\0E\02\02\00\02\19\06X\04\0F\00\12\00\02\1A\05W\03\0F\02\02\00\02\1B\06W\04\10\00\12\00\00\1C\0A\8E\06\10\02\02\00\00\1D\0B\8E\07\11\00\12\00\02\1E\05V\03\11\02\02\00\02\1F\06V\04\12\00\12\00\02 \0CU\03\12\02\02\00\02!\0DU\04\13\00\12\00\02\22\05T\08\13\02\02\00\02#\06T\09\14\00\12\00\02$\05S\08\14\02\02\00\02%\06S\09\15\00\15\00\01&\0ER\0A\15\02\02\00\01&\0FR\0B\16\00\05\00\01'\10Q\0C\16\02\02\00\01(\11Q\0D\17\00\05\00\04)\12P\0E\17\02\02\00\04*\13P\0F\18\00\02\00\02+\14O\10\19\00\02\00\03,\15N\11\1A\00\08\00\05-\16M\12\1A\02\02\00\05.\16M\12\1B\00\0E\00\05/\17L\13\1B\02\02\00\05/\18L\13\1C\00\08\00\050\19\8B\14\1C\02\02\00\051\1A\8B\14\1D\00\0C\00\052\19\8B\14\1D\02\02\00\051\1A\8B\14\1E\00\0E\00\063\1B\8C\15\1E\02\02\00\074\1C\8C\15\1F\00\0B\00\025\1DK\16\1F\02\02\00\026\1DK\16 \00\08\00\017\1E\8A\17 \02\02\00\017\1F\8A\17!\00\08\00\058 J\18!\02\02\00\059!J\18\22\00\0C\00\05: J\18\22\02\02\00\059!J\18#\00\08\00\01;\22I\18#\02\02\00\01<#I\18$\00\0C\00\01=\22I\18$\02\02\00\01<#I\18%\00\08\00\08>$H\18%\02\02\00\08>%H\18&\00\08\00\01?$G\18&\02\02\00\01@%G\18'\00\0C\00\01A$G\18'\02\02\00\01@%G\18(\00\08\00\01;\22F\18(\02\02\00\01<#F\18)\00\0C\00\01=\22F\18)\02\02\00\01<#F\18*\00\13\00\09B&E\19*\02\02\00\09C'E\1A+\00\08\00\02D(D\02+\02\02\00\02D(D\02,\00\08\00\02E)C\1B,\02\02\00\02E)C\1B-\00\08\00\02F*\89\1C-\02\02\00\02F*\89\1C.\00\08\00\01G+B\1D.\02\02\00\01H+B\1D/\00\08\00\025)A\02/\02\02\00\026)A\020\00\08\00\02I,@\1E0\02\02\00\02I,@\1E1\00\08\00\02J)?\021\02\02\00\02K)?\022\00\0C\00\02L)?\022\02\02\00\02K)?\023\00\02\00\03\0B->\1E4\00\08\00\02M)=\024\02\02\00\02M)=\025\00\08\00\02N.<\1E5\02\02\00\02N.<\1E6\00\08\00\02O/;\1E6\02\02\00\02O/;\1E7\00\08\00\02P0:\027\02\02\00\02P0:\028\00\08\00\02Q)9\1B8\02\02\00\02Q)9\1B9\00\08\00\02R)8\1B9\02\02\00\02R)8\1B:\02\02\00\05S17\1F;\00\08\00\01T2\88 ;\02\02\00\01T3\88 <\00\08\00\05U2\87 <\02\02\00\05U3\87 =\00\08\00\05V2\86 =\02\02\00\05V3\86 >\00\08\00\05W2\85 >\02\02\00\05W3\85 ?\00\08\00\00X2\84 ?\02\02\00\00X3\84 @\00\08\00\00Y2\83 @\02\02\00\00Y3\83 A\00\08\00\05Z2\82 A\02\02\00\05Z3\82 B\00\08\00\05[2\81 B\02\02\00\05\\3\81 C\00\0C\00\05]2\81 C\02\02\00\05\\3\81 D\00\08\00\00^2\80 D\02\02\00\00^3\80 E\00\08\00\00_2\7F E\02\02\00\00_3\7F F\00\08\00\00`2~ F\02\02\00\00`3~ G\00\08\00\00a2} G\02\02\00\00a3} H\00\08\00\00b2| H\02\02\00\00b3| I\00\08\00\00c2{ I\02\02\00\00c3{ J\00\08\00\00d2z J\02\02\00\00d3z K\00\08\00\05e2y K\02\02\00\05e3y L\00\08\00\00f2x L\02\02\00\00g3x M\00\08\00\02P2w M\02\02\00\02P3w N\00\08\00\05h2v N\02\02\00\05h3v O\00\08\00\05i2u O\02\02\00\05i3u P\00\08\00\06j4t!P\02\02\00\07k5t!Q\00\08\00\05l66\22Q\02\02\00\05m66\22R\00\0C\00\05n66\22R\02\02\00\05m66\22S\02\02\01\0Ao75#S\00\02\01\0Ao75#T\00\08\00\01p8s$T\02\02\00\01q9s$U\00\0C\00\01r8s$U\02\02\00\01q9s$V\00\08\00\017:r%V\02\02\00\017;r%W\00\08\00\09?<4&W\02\02\00\09@=4&X\00\0C\00\09A<4&X\02\02\00\09@=4&Y\00\08\00\0Bs>q'Y\02\02\00\0Bs?q'Z\00\08\00\05>@3(Z\02\02\00\05>A3([\00\08\00\05-B2'[\02\02\00\05.C2'\\\00\0C\00\05tB2'\\\02\02\00\05.C2']\00\08\00\05-B1']\02\02\00\05.C1'^\00\0C\00\05tB1'^\02\02\00\05.C1'_\00\08\00\02JD0)_\02\02\00\02KE0)`\00\0C\00\02LD0)`\02\02\00\02KE0)a\00\0C\00\025F/\1Ba\02\02\00\026G/\1Bb\00\08\00\05lHp b\02\02\00\05mIp c\00\0C\00\05nHp c\02\02\00\05mIp d\00\08\00\025J.\1Bd\02\02\00\026J.\1Be\00\14\00\02uK-*e\02\02\00\02vL-+f\02\02\00\02wM,\02f\00\02\00\02wM,\02g\00\0E\00\05xNo,g\02\02\00\05xOo,h\00\0E\00\01yP+-h\02\02\00\01yQ+-i\00\03\00\02zR*.i\02\02\00\02{S*\10j\00\08\00\01|T)/j\02\02\00\01|T)/k\00\08\00\01}Un\18k\02\02\00\01}Vn\18l\00\08\00\0C>W(0l\02\02\00\0C>X(0m\00\08\00\05lY' m\02\02\00\05mZ' n\00\0C\00\05nY' n\02\02\00\05mZ' o\00\14\00\02uK&*o\02\02\00\02vL&+p\02\02\00\02~[\901q\00\07\00\01\7F\\%2q\02\02\00\01\80]%3r\00\08\00\017^m4r\02\02\00\017^m4s\02\02\00\02\81_\915t\00\08\00\025`$6t\02\02\00\026`$6u\00\0A\00\01\82al7u\02\02\00\01\82bl7v\00\0A\00\06\83ck%v\02\02\00\07\84dk%w\00\0A\00\02Me#8w\02\02\00\02Mf#9x\00\11\00\0D\85g\22:x\02\02\00\0D\86h\22;y\02\02\00\02\87i!\82\02\02\00\05.s\1B>\83\00\0E\00\05\90ti?\83\02\02\00\05\91ui?\84\00\08\00\05\92v\1A@\84\02\02\00\05\92w\1A@\85\00\08\00\05\93x\19@\85\02\02\00\05\94y\19@\86\00\0C\00\05\95x\19@\86\02\02\00\05\94y\19@\87\00\0E\00\05\96z\18A\87\02\02\00\05\96{\18A\88\16\16\00\01\97|\17B\88\00\11\00\01\98}\17C\88\02\02\00\01\99~\17\0D\89\00\18\00\01\9A\7F\16D\89\02\02\00\01\9B\80\16E\8A\00\02\00\01\9C\81\15F\8B\00\0E\00\06\9D\82\8DG\8B\02\02\00\07\9E\83\8DH\8C\00\0E\00\0B\9F\84hI\8C\02\02\00\0B\9F\85hI\8D\00\08\00\01\A0\86\14\02\8D\02\02\00\01\A0\87\14\02\8E\00\0E\00\05\A1\88\13J\8E\02\02\00\05\A1\89\13J\8F\00\11\00\05\A2\8A\13K\8F\02\02\00\05\A3\8B\13E\90\00\08\00\01p\8Cg\18\90\02\02\00\01q\8Dg\18\91\00\0C\00\01r\8Cg\18\91\02\02\00\01q\8Dg\18\92\00\08\00\0D\A4\8C\12\18\92\02\02\00\0D\A4\8D\12\18\93\00\02\00\03\0B\8E\11L\94\00\02\00\0E\A5\8F\10M\95\00\17\00\01\97|\0FN\95\02\02\00\01\99~\0FO\96\00\19\00\02\A6\90\8FP\96\02\02\00\02\A7\91\8FQ\97\00\02\00\02\A8\92\0E\02\98\00\02\00\02\02\93\0D\02\99\00\08\00\02\A9\94\0C\02\99\02\02\00\02\A9\94\0C\02\9A\00\15\00\00\AA\95fR\9A\02\02\00\00\AA\96fS\9B\02\02\00\01\99\97\0BT\9C\00\18\00\01\9A\98\0AU\9C\02\02\00\01\9B\99\0AV\9D\00\02\00\02\AB\9A\09W\9E\00\08\00\02\AC\9B\08X\9E\02\02\00\02\AC\9B\08X\9F\02\02\00\01\AD\9C\07\02\9F\00\02\00\01\AD\9C\07\02\A0\00\08\00\09?\9D\06Y\A0\02\02\00\09@\9E\06Y\A1\00\0C\00\09A\9D\06Y\A2\00\06\00\02\AE\9F\05Z\A2\02\02\00\02\AE\A0\05[\A3\02\02\00\02\AF\A1\04\\\A4\02\02\00\02I\A2\03\\\A5\00\02\00\02O\A3\02\1E\A6\02\02\00\02\B0\A4\01\\", [835 x i8] c"af_ZAam_ETar_AEar_BHar_DZar_EGar_INar_IQar_JOar_KWar_LBar_LYar_MAar_OMar_QAar_SAar_SDar_SYar_TNar_YEaz_AZbe_BYbg_BGbn_BDbn_INbr_FRbs_BAca_EScaeEScs_CZcy_GBda_DKde_ATdeeATde_BEdeeBEde_CHde_DEdeeDEde_LUdeeLUel_GRen_AUen_BWen_CAen_DKen_GBen_HKen_IEeneIEen_INen_NZen_PHen_SGen_USen_ZAen_ZWeo_EOes_ARes_BOes_CLes_COes_CRes_DOes_ECes_ESeseESes_GTes_HNes_MXes_NIes_PAes_PEes_PRes_PYes_SVes_USes_UYes_VEet_EEeu_ESeueESfa_IRfi_FIfieFIfo_FOfr_BEfreBEfr_CAfr_CHfr_FRfreFRfr_LUfreLUga_IEgaeIEgd_GBgl_ESgleESgv_GBhe_ILhi_INhr_HRhu_HUhy_AMid_IDis_ISit_CHit_ITiteITiw_ILja_JPka_GEkl_GLko_KRkw_GBlt_LTlv_LVmi_NZmk_MKmr_INms_MYmt_MTnl_BEnleBEnl_NLnleNLnn_NOno_NOoc_FRpl_PLpt_BRpt_PTptePTro_ROru_RUru_UAse_NOsk_SKsl_SIsq_ALsr_YUsrcYUsv_FIsveFIsv_SEta_INte_INtg_TJth_THti_ERti_ETtl_PHtr_TRtt_RUuk_UAur_PKuz_UZvi_VNwa_BEwaeBEyi_USzh_CNzh_HKzh_SGzh_TW\00\00\00\00\00", [18 x i8] c"\05eeuro\00\09ccyrillic\00", [69 x i8] c"\06\0F\1A&.9LC_CTYPE\00LC_NUMERIC\00LC_MONETARY\00LC_TIME\00LC_COLLATE\00LC_MESSAGES\00", [255 x i8] c"\18\22(/6BMYeq}\89\94\9F\AA\B5\C0\CB\D6\E1\E8\EF\F6\00ARMSCII-8\00ASCII\00CP1251\00CP1255\00GEORGIAN-PS\00ISO-8859-1\00ISO-8859-10\00ISO-8859-13\00ISO-8859-14\00ISO-8859-15\00ISO-8859-16\00ISO-8859-2\00ISO-8859-3\00ISO-8859-4\00ISO-8859-5\00ISO-8859-6\00ISO-8859-7\00ISO-8859-8\00ISO-8859-9\00KOI8-R\00KOI8-T\00KOI8-U\00TIS-620\00\00" }, align 8 +@__C_ctype_b_data = constant <{ [256 x i16], [128 x i16] }> <{ [256 x i16] [i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 8195, i16 8194, i16 8194, i16 8194, i16 8194, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 24577, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -11000, i16 -11000, i16 -11000, i16 -11000, i16 -11000, i16 -11000, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -10744, i16 -10744, i16 -10744, i16 -10744, i16 -10744, i16 -10744, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 2], [128 x i16] zeroinitializer }>, align 16 +@__C_ctype_b = global i16* bitcast (i8* getelementptr (i8, i8* bitcast (<{ [256 x i16], [128 x i16] }>* @__C_ctype_b_data to i8*), i64 256) to i16*), align 8 +@__C_ctype_tolower_data = constant [384 x i16] [i16 -128, i16 -127, i16 -126, i16 -125, i16 -124, i16 -123, i16 -122, i16 -121, i16 -120, i16 -119, i16 -118, i16 -117, i16 -116, i16 -115, i16 -114, i16 -113, i16 -112, i16 -111, i16 -110, i16 -109, i16 -108, i16 -107, i16 -106, i16 -105, i16 -104, i16 -103, i16 -102, i16 -101, i16 -100, i16 -99, i16 -98, i16 -97, i16 -96, i16 -95, i16 -94, i16 -93, i16 -92, i16 -91, i16 -90, i16 -89, i16 -88, i16 -87, i16 -86, i16 -85, i16 -84, i16 -83, i16 -82, i16 -81, i16 -80, i16 -79, i16 -78, i16 -77, i16 -76, i16 -75, i16 -74, i16 -73, i16 -72, i16 -71, i16 -70, i16 -69, i16 -68, i16 -67, i16 -66, i16 -65, i16 -64, i16 -63, i16 -62, i16 -61, i16 -60, i16 -59, i16 -58, i16 -57, i16 -56, i16 -55, i16 -54, i16 -53, i16 -52, i16 -51, i16 -50, i16 -49, i16 -48, i16 -47, i16 -46, i16 -45, i16 -44, i16 -43, i16 -42, i16 -41, i16 -40, i16 -39, i16 -38, i16 -37, i16 -36, i16 -35, i16 -34, i16 -33, i16 -32, i16 -31, i16 -30, i16 -29, i16 -28, i16 -27, i16 -26, i16 -25, i16 -24, i16 -23, i16 -22, i16 -21, i16 -20, i16 -19, i16 -18, i16 -17, i16 -16, i16 -15, i16 -14, i16 -13, i16 -12, i16 -11, i16 -10, i16 -9, i16 -8, i16 -7, i16 -6, i16 -5, i16 -4, i16 -3, i16 -2, i16 -1, i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255], align 16 +@__C_ctype_tolower = global i16* bitcast (i8* getelementptr (i8, i8* bitcast ([384 x i16]* @__C_ctype_tolower_data to i8*), i64 256) to i16*), align 8 +@__C_ctype_toupper_data = constant [384 x i16] [i16 -128, i16 -127, i16 -126, i16 -125, i16 -124, i16 -123, i16 -122, i16 -121, i16 -120, i16 -119, i16 -118, i16 -117, i16 -116, i16 -115, i16 -114, i16 -113, i16 -112, i16 -111, i16 -110, i16 -109, i16 -108, i16 -107, i16 -106, i16 -105, i16 -104, i16 -103, i16 -102, i16 -101, i16 -100, i16 -99, i16 -98, i16 -97, i16 -96, i16 -95, i16 -94, i16 -93, i16 -92, i16 -91, i16 -90, i16 -89, i16 -88, i16 -87, i16 -86, i16 -85, i16 -84, i16 -83, i16 -82, i16 -81, i16 -80, i16 -79, i16 -78, i16 -77, i16 -76, i16 -75, i16 -74, i16 -73, i16 -72, i16 -71, i16 -70, i16 -69, i16 -68, i16 -67, i16 -66, i16 -65, i16 -64, i16 -63, i16 -62, i16 -61, i16 -60, i16 -59, i16 -58, i16 -57, i16 -56, i16 -55, i16 -54, i16 -53, i16 -52, i16 -51, i16 -50, i16 -49, i16 -48, i16 -47, i16 -46, i16 -45, i16 -44, i16 -43, i16 -42, i16 -41, i16 -40, i16 -39, i16 -38, i16 -37, i16 -36, i16 -35, i16 -34, i16 -33, i16 -32, i16 -31, i16 -30, i16 -29, i16 -28, i16 -27, i16 -26, i16 -25, i16 -24, i16 -23, i16 -22, i16 -21, i16 -20, i16 -19, i16 -18, i16 -17, i16 -16, i16 -15, i16 -14, i16 -13, i16 -12, i16 -11, i16 -10, i16 -9, i16 -8, i16 -7, i16 -6, i16 -5, i16 -4, i16 -3, i16 -2, i16 -1, i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255], align 16 +@__C_ctype_toupper = global i16* bitcast (i8* getelementptr (i8, i8* bitcast ([384 x i16]* @__C_ctype_toupper_data to i8*), i64 256) to i16*), align 8 +@errno = global i32 0, align 4 +@h_errno = global i32 0, align 4 +@.str.224 = private unnamed_addr constant [17 x i8] c"ignoring (EPERM)\00", align 1 +@.str.7.226 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.1.227 = private unnamed_addr constant [9 x i8] c"ignoring\00", align 1 +@.str.2.228 = private unnamed_addr constant [82 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/illegal.c\00", align 1 +@.str.3.229 = private unnamed_addr constant [20 x i8] c"longjmp unsupported\00", align 1 +@.str.4.230 = private unnamed_addr constant [8 x i8] c"xxx.err\00", align 1 +@.str.5.232 = private unnamed_addr constant [18 x i8] c"ignoring (EACCES)\00", align 1 +@.str.6.233 = private unnamed_addr constant [18 x i8] c"ignoring (ENOMEM)\00", align 1 +@error_message_count = global i32 0, align 4 +@error_one_per_line = global i32 0, align 4 +@.str.236 = private unnamed_addr constant [5 x i8] c": %s\00", align 1 +@__error_at_line.old_line_number = internal global i32 0, align 4 +@__error_at_line.old_file_name = internal global i8* null, align 8 +@.str.1.237 = private unnamed_addr constant [8 x i8] c"%s:%d: \00", align 1 +@hr_locale = internal global [448 x i8] zeroinitializer, align 16 +@utf8.244 = internal constant [6 x i8] c"UTF-8\00", align 1 +@static_fd = internal global i32 -1, align 4 +@static_ut_name = internal global i8* getelementptr inbounds ([14 x i8], [14 x i8]* @default_file_name, i32 0, i32 0), align 8 +@default_file_name = internal constant [14 x i8] c"/var/run/utmp\00", align 1 +@static_utmp = internal global %struct.utmp.325 zeroinitializer, align 8 +@mbrtowc.mbstate = internal global %struct.__mbstate_t.514 zeroinitializer, align 4 +@__dso_handle = extern_weak global i8*, align 8 +@optind = global i32 1, align 4 +@opterr = global i32 1, align 4 +@optopt = global i32 63, align 4 +@optarg = global i8* null, align 8 +@getopt_data = internal global %struct._getopt_data zeroinitializer, align 8 +@.str.305 = private unnamed_addr constant [3 x i8] c"--\00", align 1 +@.str.1.306 = private unnamed_addr constant [30 x i8] c"%s: option `%s' is ambiguous\0A\00", align 1 +@.str.2.307 = private unnamed_addr constant [45 x i8] c"%s: option `--%s' doesn't allow an argument\0A\00", align 1 +@.str.3.308 = private unnamed_addr constant [45 x i8] c"%s: option `%c%s' doesn't allow an argument\0A\00", align 1 +@.str.4.309 = private unnamed_addr constant [38 x i8] c"%s: option `%s' requires an argument\0A\00", align 1 +@.str.5.310 = private unnamed_addr constant [32 x i8] c"%s: unrecognized option `--%s'\0A\00", align 1 +@.str.6.311 = private unnamed_addr constant [32 x i8] c"%s: unrecognized option `%c%s'\0A\00", align 1 +@.str.7.312 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@.str.8.313 = private unnamed_addr constant [26 x i8] c"%s: illegal option -- %c\0A\00", align 1 +@.str.9.314 = private unnamed_addr constant [26 x i8] c"%s: invalid option -- %c\0A\00", align 1 +@.str.10.315 = private unnamed_addr constant [39 x i8] c"%s: option requires an argument -- %c\0A\00", align 1 +@.str.11.316 = private unnamed_addr constant [16 x i8] c"POSIXLY_CORRECT\00", align 1 +@.str.321 = private unnamed_addr constant [14 x i8] c"#\80\80\80\80\80\80\80\80\80\80\80\80\00", align 1 +@newlocale.envstr = internal global [4 x i8*] [i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.325, i32 0, i32 0), i8* null, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.2.326, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @posix, i32 0, i32 0)], align 16 +@.str.3.322 = private unnamed_addr constant [2 x i8] c"=\00", align 1 +@.str.4.323 = private unnamed_addr constant [2 x i8] c";\00", align 1 +@posix = internal constant [6 x i8] c"POSIX\00", align 1 +@utf8.324 = internal constant [6 x i8] c"UTF-8\00", align 1 +@.str.1.325 = private unnamed_addr constant [7 x i8] c"LC_ALL\00", align 1 +@.str.2.326 = private unnamed_addr constant [5 x i8] c"LANG\00", align 1 +@empty = internal constant [1 x i8] zeroinitializer, align 1 +@mbsnrtowcs.mbstate = internal global %struct.__mbstate_t.514 zeroinitializer, align 4 +@_do_one_spec.spec_base = internal constant [7 x i8] c"\10\10\10\08\0A\0A\0A", align 1 +@.str.341 = private unnamed_addr constant [6 x i8] c"(nil)\00", align 1 +@.str.1.342 = private unnamed_addr constant [7 x i8] c"(null)\00", align 1 +@_do_one_spec.prefix = internal constant [12 x i8] c"+\00-\00 \000x\000X\00", align 1 +@strerror.buf = internal global [50 x i8] zeroinitializer, align 16 +@desc2flag = internal constant [13 x i16] [i16 0, i16 2048, i16 4, i16 256, i16 512, i16 8, i16 128, i16 2, i16 64, i16 1024, i16 32, i16 1, i16 16], align 16 +@fmt = internal constant [20 x i8] c"inf\00INF\00nan\00NAN\00.\00,\00", align 16 +@exp10_table = internal constant [9 x double] [double 1.000000e+01, double 1.000000e+02, double 1.000000e+04, double 1.000000e+08, double 1.000000e+16, double 1.000000e+32, double 1.000000e+64, double 1.000000e+128, double 1.000000e+256], align 16 +@_ppfs_init.invalid_mbs = internal constant [33 x i8] c"Invalid multibyte format string.\00", align 16 +@_ppfs_parsespec.spec_flags = internal constant [8 x i8] c" +0-#'I\00", align 1 +@_ppfs_parsespec.qual_chars = internal constant [20 x i8] c"hlLjztqZ\00\02\04\08\04\04\04\08\04\00\01\08", align 16 +@_ppfs_parsespec.spec_chars = internal constant [21 x i8] c"npxXoudifFeEgGaACScs\00", align 16 +@_ppfs_parsespec.spec_ranges = internal constant [9 x i8] c"\00\01\07\0F\10\11\12\13\14", align 1 +@_ppfs_parsespec.spec_or_mask = internal constant [8 x i16] [i16 4096, i16 5, i16 0, i16 7, i16 2, i16 4, i16 1, i16 3], align 16 +@_ppfs_parsespec.spec_and_mask = internal constant [8 x i16] [i16 7936, i16 5, i16 3840, i16 2055, i16 2, i16 4, i16 1, i16 3], align 16 +@type_codes = internal constant [12 x i16] [i16 8, i16 5, i16 3, i16 4, i16 1, i16 512, i16 0, i16 1024, i16 2048, i16 2, i16 7, i16 2055], align 16 +@type_sizes = internal constant [12 x i8] c"\00\01\01\01\04\02\01\01\01\01\01\01", align 1 +@__exit_count = hidden global i32 0, align 4 +@__exit_function_table = hidden global %struct.exit_function* null, align 8 +@__exit_slots = hidden global i32 0, align 4 +@__xpg_strerror_r.unknown = internal constant [14 x i8] c"Unknown error ", align 1 +@mbsrtowcs.mbstate = internal global %struct.__mbstate_t.514 zeroinitializer, align 4 +@_string_syserrmsgs = hidden constant [2906 x i8] c"Success\00Operation not permitted\00No such file or directory\00No such process\00Interrupted system call\00Input/output error\00No such device or address\00Argument list too long\00Exec format error\00Bad file descriptor\00No child processes\00Resource temporarily unavailable\00Cannot allocate memory\00Permission denied\00Bad address\00Block device required\00Device or resource busy\00File exists\00Invalid cross-device link\00No such device\00Not a directory\00Is a directory\00Invalid argument\00Too many open files in system\00Too many open files\00Inappropriate ioctl for device\00Text file busy\00File too large\00No space left on device\00Illegal seek\00Read-only file system\00Too many links\00Broken pipe\00Numerical argument out of domain\00Numerical result out of range\00Resource deadlock avoided\00File name too long\00No locks available\00Function not implemented\00Directory not empty\00Too many levels of symbolic links\00\00No message of desired type\00Identifier removed\00Channel number out of range\00Level 2 not synchronized\00Level 3 halted\00Level 3 reset\00Link number out of range\00Protocol driver not attached\00No CSI structure available\00Level 2 halted\00Invalid exchange\00Invalid request descriptor\00Exchange full\00No anode\00Invalid request code\00Invalid slot\00\00Bad font file format\00Device not a stream\00No data available\00Timer expired\00Out of streams resources\00Machine is not on the network\00Package not installed\00Object is remote\00Link has been severed\00Advertise error\00Srmount error\00Communication error on send\00Protocol error\00Multihop attempted\00RFS specific error\00Bad message\00Value too large for defined data type\00Name not unique on network\00File descriptor in bad state\00Remote address changed\00Can not access a needed shared library\00Accessing a corrupted shared library\00.lib section in a.out corrupted\00Attempting to link in too many shared libraries\00Cannot exec a shared library directly\00Invalid or incomplete multibyte or wide character\00Interrupted system call should be restarted\00Streams pipe error\00Too many users\00Socket operation on non-socket\00Destination address required\00Message too long\00Protocol wrong type for socket\00Protocol not available\00Protocol not supported\00Socket type not supported\00Operation not supported\00Protocol family not supported\00Address family not supported by protocol\00Address already in use\00Cannot assign requested address\00Network is down\00Network is unreachable\00Network dropped connection on reset\00Software caused connection abort\00Connection reset by peer\00No buffer space available\00Transport endpoint is already connected\00Transport endpoint is not connected\00Cannot send after transport endpoint shutdown\00Too many references: cannot splice\00Connection timed out\00Connection refused\00Host is down\00No route to host\00Operation already in progress\00Operation now in progress\00Stale NFS file handle\00Structure needs cleaning\00Not a XENIX named type file\00No XENIX semaphores available\00Is a named type file\00Remote I/O error\00Disk quota exceeded\00No medium found\00Wrong medium type\00", align 16 + +@__progname = weak alias i8*, i8** @program_invocation_short_name +@__progname_full = weak alias i8*, i8** @program_invocation_name +@environ = weak alias i8**, i8*** @__environ +@__getdents = dso_local alias i64 (i32, %struct.dirent64*, i64), i64 (i32, %struct.dirent64*, i64)* @getdents +@getchar = alias i32 (), i32 ()* @getchar_unlocked +@raise = weak alias i32 (i32), i32 (i32)* @__raise +@fgetc_unlocked = alias i32 (%struct.__STDIO_FILE_STRUCT.570*), i32 (%struct.__STDIO_FILE_STRUCT.570*)* @__fgetc_unlocked +@getc_unlocked = alias i32 (%struct.__STDIO_FILE_STRUCT.570*), i32 (%struct.__STDIO_FILE_STRUCT.570*)* @__fgetc_unlocked +@fgetc = alias i32 (%struct.__STDIO_FILE_STRUCT.570*), i32 (%struct.__STDIO_FILE_STRUCT.570*)* @__fgetc_unlocked +@getc = alias i32 (%struct.__STDIO_FILE_STRUCT.570*), i32 (%struct.__STDIO_FILE_STRUCT.570*)* @__fgetc_unlocked +@__getdents64 = dso_local alias i64 (i32, i8*, i64), i64 (i32, i8*, i64)* @getdents64 +@error = weak alias void (i32, i32, i8*, ...), void (i32, i32, i8*, ...)* @__error +@error_at_line = weak alias void (i32, i32, i8*, i32, i8*, ...), void (i32, i32, i8*, i32, i8*, ...)* @__error_at_line +@ferror = alias i32 (%struct.__STDIO_FILE_STRUCT.594*), i32 (%struct.__STDIO_FILE_STRUCT.594*)* @ferror_unlocked +@fflush = alias i32 (%struct.__STDIO_FILE_STRUCT.570*), i32 (%struct.__STDIO_FILE_STRUCT.570*)* @fflush_unlocked +@fileno = alias i32 (%struct.__STDIO_FILE_STRUCT.610*), i32 (%struct.__STDIO_FILE_STRUCT.610*)* @fileno_unlocked +@fputc_unlocked = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.570*), i32 (i32, %struct.__STDIO_FILE_STRUCT.570*)* @__fputc_unlocked +@putc_unlocked = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.570*), i32 (i32, %struct.__STDIO_FILE_STRUCT.570*)* @__fputc_unlocked +@fputc = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.570*), i32 (i32, %struct.__STDIO_FILE_STRUCT.570*)* @__fputc_unlocked +@putc = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.570*), i32 (i32, %struct.__STDIO_FILE_STRUCT.570*)* @__fputc_unlocked +@fputs = alias i32 (i8*, %struct.__STDIO_FILE_STRUCT.623*), i32 (i8*, %struct.__STDIO_FILE_STRUCT.623*)* @fputs_unlocked +@fseeko = alias i32 (%struct.__STDIO_FILE_STRUCT.638*, i64, i32), i32 (%struct.__STDIO_FILE_STRUCT.638*, i64, i32)* @fseek +@fwrite = alias i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.623*), i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.623*)* @fwrite_unlocked +@strerror_r = weak alias i32 (i32, i8*, i64), i32 (i32, i8*, i64)* @__xpg_strerror_r + +; Function Attrs: noinline nounwind uwtable +define void @__uClibc_init() #0 { +entry: + %0 = load i32, i32* @__uClibc_init.been_there_done_that, align 4 + %tobool = icmp ne i32 %0, 0 + br i1 %tobool, label %if.end4, label %if.end + +if.end: ; preds = %entry + %1 = load i32, i32* @__uClibc_init.been_there_done_that, align 4 + %inc = add nsw i32 %1, 1 + store i32 %inc, i32* @__uClibc_init.been_there_done_that, align 4 + store i64 4096, i64* @__pagesize, align 8 + call void @_locale_init() #19 + call void @_stdio_init() #19 + br label %if.end4 + +if.end4: ; preds = %entry, %if.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define void @__uClibc_fini() #0 { +entry: + %0 = load void ()*, void ()** @__app_fini, align 8 + %cmp = icmp ne void ()* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load void ()*, void ()** @__app_fini, align 8 + call void %1() #19 + br label %if.end + +if.end: ; preds = %if.then, %entry + %2 = load void ()*, void ()** @__rtld_fini, align 8 + %cmp1 = icmp ne void ()* %2, null + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + %3 = load void ()*, void ()** @__rtld_fini, align 8 + call void %3() #19 + br label %if.end3 + +if.end3: ; preds = %if.then2, %if.end + ret void +} + +; Function Attrs: noinline noreturn nounwind uwtable +define void @__uClibc_main(i32 (i32, i8**, i8**)* %main, i32 %argc, i8** %argv, void ()* %app_init, void ()* %app_fini, void ()* %rtld_fini, i8* %stack_end) #1 { +entry: + %main.addr = alloca i32 (i32, i8**, i8**)*, align 8 + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %app_init.addr = alloca void ()*, align 8 + %app_fini.addr = alloca void ()*, align 8 + %rtld_fini.addr = alloca void ()*, align 8 + %stack_end.addr = alloca i8*, align 8 + %aux_dat = alloca i64*, align 8 + %auxvt = alloca [15 x %struct.Elf64_auxv_t], align 16 + %auxv_entry = alloca %struct.Elf64_auxv_t*, align 8 + store i32 (i32, i8**, i8**)* %main, i32 (i32, i8**, i8**)** %main.addr, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store void ()* %app_init, void ()** %app_init.addr, align 8 + store void ()* %app_fini, void ()** %app_fini.addr, align 8 + store void ()* %rtld_fini, void ()** %rtld_fini.addr, align 8 + store i8* %stack_end, i8** %stack_end.addr, align 8 + %0 = load i8*, i8** %stack_end.addr, align 8 + store i8* %0, i8** @__libc_stack_end, align 8 + %1 = load void ()*, void ()** %rtld_fini.addr, align 8 + store void ()* %1, void ()** @__rtld_fini, align 8 + %2 = load i8**, i8*** %argv.addr, align 8 + %3 = load i32, i32* %argc.addr, align 4 + %add = add nsw i32 %3, 1 + %idxprom = sext i32 %add to i64 + %arrayidx = getelementptr inbounds i8*, i8** %2, i64 %idxprom + store i8** %arrayidx, i8*** @__environ, align 8 + %4 = load i8**, i8*** @__environ, align 8 + %5 = bitcast i8** %4 to i8* + %6 = load i8**, i8*** %argv.addr, align 8 + %7 = load i8*, i8** %6, align 8 + %cmp = icmp eq i8* %5, %7 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %8 = load i8**, i8*** %argv.addr, align 8 + %9 = load i32, i32* %argc.addr, align 4 + %idxprom1 = sext i32 %9 to i64 + %arrayidx2 = getelementptr inbounds i8*, i8** %8, i64 %idxprom1 + store i8** %arrayidx2, i8*** @__environ, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %arraydecay = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 0 + %10 = bitcast %struct.Elf64_auxv_t* %arraydecay to i8* + %call = call i8* @memset(i8* %10, i32 0, i64 240) #20 + %11 = load i8**, i8*** @__environ, align 8 + %12 = bitcast i8** %11 to i64* + store i64* %12, i64** %aux_dat, align 8 + br label %while.cond + +while.cond: ; preds = %while.cond, %if.end + %13 = load i64*, i64** %aux_dat, align 8 + %14 = load i64, i64* %13, align 8 + %tobool = icmp ne i64 %14, 0 + %15 = load i64*, i64** %aux_dat, align 8 + %incdec.ptr = getelementptr inbounds i64, i64* %15, i32 1 + store i64* %incdec.ptr, i64** %aux_dat, align 8 + br i1 %tobool, label %while.cond, label %while.cond4 + +while.cond4: ; preds = %while.cond, %if.end12 + %16 = load i64*, i64** %aux_dat, align 8 + %17 = load i64, i64* %16, align 8 + %tobool5 = icmp ne i64 %17, 0 + br i1 %tobool5, label %while.body6, label %while.end13 + +while.body6: ; preds = %while.cond4 + %18 = load i64*, i64** %aux_dat, align 8 + %19 = bitcast i64* %18 to %struct.Elf64_auxv_t* + store %struct.Elf64_auxv_t* %19, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %20 = load %struct.Elf64_auxv_t*, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %a_type = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %20, i32 0, i32 0 + %21 = load i64, i64* %a_type, align 8 + %cmp7 = icmp ule i64 %21, 14 + br i1 %cmp7, label %if.then8, label %if.end12 + +if.then8: ; preds = %while.body6 + %22 = load %struct.Elf64_auxv_t*, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %a_type9 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %22, i32 0, i32 0 + %23 = load i64, i64* %a_type9, align 8 + %arrayidx10 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 %23 + %24 = bitcast %struct.Elf64_auxv_t* %arrayidx10 to i8* + %25 = load %struct.Elf64_auxv_t*, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %26 = bitcast %struct.Elf64_auxv_t* %25 to i8* + %call11 = call i8* @memcpy(i8* %24, i8* %26, i64 16) #20 + br label %if.end12 + +if.end12: ; preds = %if.then8, %while.body6 + %27 = load i64*, i64** %aux_dat, align 8 + %add.ptr = getelementptr inbounds i64, i64* %27, i64 2 + store i64* %add.ptr, i64** %aux_dat, align 8 + br label %while.cond4 + +while.end13: ; preds = %while.cond4 + call void @__uClibc_init() #19 + %arrayidx14 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 6 + %a_un = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx14, i32 0, i32 1 + %a_val = bitcast %union.anon.195* %a_un to i64* + %28 = load i64, i64* %a_val, align 8 + %tobool15 = icmp ne i64 %28, 0 + %arrayidx16 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 6 + %a_un17 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx16, i32 0, i32 1 + %a_val18 = bitcast %union.anon.195* %a_un17 to i64* + %29 = load i64, i64* %a_val18, align 8 + %cond = select i1 %tobool15, i64 %29, i64 4096 + store i64 %cond, i64* @__pagesize, align 8 + %arrayidx19 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 11 + %a_un20 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx19, i32 0, i32 1 + %a_val21 = bitcast %union.anon.195* %a_un20 to i64* + %30 = load i64, i64* %a_val21, align 8 + %cmp22 = icmp eq i64 %30, -1 + br i1 %cmp22, label %land.lhs.true, label %lor.lhs.false + +land.lhs.true: ; preds = %while.end13 + %call23 = call i32 @__check_suid() #19 + %tobool24 = icmp ne i32 %call23, 0 + br i1 %tobool24, label %if.then45, label %lor.lhs.false + +lor.lhs.false: ; preds = %land.lhs.true, %while.end13 + %arrayidx25 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 11 + %a_un26 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx25, i32 0, i32 1 + %a_val27 = bitcast %union.anon.195* %a_un26 to i64* + %31 = load i64, i64* %a_val27, align 8 + %cmp28 = icmp ne i64 %31, -1 + br i1 %cmp28, label %land.lhs.true29, label %if.end46 + +land.lhs.true29: ; preds = %lor.lhs.false + %arrayidx30 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 11 + %a_un31 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx30, i32 0, i32 1 + %a_val32 = bitcast %union.anon.195* %a_un31 to i64* + %32 = load i64, i64* %a_val32, align 8 + %arrayidx33 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 12 + %a_un34 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx33, i32 0, i32 1 + %a_val35 = bitcast %union.anon.195* %a_un34 to i64* + %33 = load i64, i64* %a_val35, align 8 + %cmp36 = icmp ne i64 %32, %33 + br i1 %cmp36, label %if.then45, label %lor.lhs.false37 + +lor.lhs.false37: ; preds = %land.lhs.true29 + %arrayidx38 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 13 + %a_un39 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx38, i32 0, i32 1 + %a_val40 = bitcast %union.anon.195* %a_un39 to i64* + %34 = load i64, i64* %a_val40, align 8 + %arrayidx41 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 14 + %a_un42 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx41, i32 0, i32 1 + %a_val43 = bitcast %union.anon.195* %a_un42 to i64* + %35 = load i64, i64* %a_val43, align 8 + %cmp44 = icmp ne i64 %34, %35 + br i1 %cmp44, label %if.then45, label %if.end46 + +if.then45: ; preds = %lor.lhs.false37, %land.lhs.true29, %land.lhs.true + call void @__check_one_fd(i32 0, i32 131072) #19 + call void @__check_one_fd(i32 1, i32 131074) #19 + call void @__check_one_fd(i32 2, i32 131074) #19 + br label %if.end46 + +if.end46: ; preds = %if.then45, %lor.lhs.false37, %lor.lhs.false + %36 = load i8**, i8*** %argv.addr, align 8 + %37 = load i8*, i8** %36, align 8 + store i8* %37, i8** @__uclibc_progname, align 8 + %38 = load i8**, i8*** %argv.addr, align 8 + %39 = load i8*, i8** %38, align 8 + store i8* %39, i8** @program_invocation_name, align 8 + %40 = load i8**, i8*** %argv.addr, align 8 + %41 = load i8*, i8** %40, align 8 + %call47 = call i8* @strrchr(i8* %41, i32 47) #21 + store i8* %call47, i8** @program_invocation_short_name, align 8 + %42 = load i8*, i8** @program_invocation_short_name, align 8 + %cmp48 = icmp ne i8* %42, null + br i1 %cmp48, label %if.then49, label %if.else + +if.then49: ; preds = %if.end46 + %43 = load i8*, i8** @program_invocation_short_name, align 8 + %incdec.ptr50 = getelementptr inbounds i8, i8* %43, i32 1 + store i8* %incdec.ptr50, i8** @program_invocation_short_name, align 8 + br label %if.end51 + +if.else: ; preds = %if.end46 + %44 = load i8*, i8** @program_invocation_name, align 8 + store i8* %44, i8** @program_invocation_short_name, align 8 + br label %if.end51 + +if.end51: ; preds = %if.else, %if.then49 + %45 = load void ()*, void ()** %app_fini.addr, align 8 + store void ()* %45, void ()** @__app_fini, align 8 + %46 = load void ()*, void ()** %app_init.addr, align 8 + %cmp52 = icmp ne void ()* %46, null + br i1 %cmp52, label %if.then53, label %if.then55 + +if.then53: ; preds = %if.end51 + %47 = load void ()*, void ()** %app_init.addr, align 8 + call void %47() #19 + br label %if.then55 + +if.then55: ; preds = %if.end51, %if.then53 + %call56 = call i32* @__errno_location() #22 + store i32 0, i32* %call56, align 4 + %call59 = call i32* @__h_errno_location() #22 + store i32 0, i32* %call59, align 4 + %48 = load i32 (i32, i8**, i8**)*, i32 (i32, i8**, i8**)** %main.addr, align 8 + %49 = load i32, i32* %argc.addr, align 4 + %50 = load i8**, i8*** %argv.addr, align 8 + %51 = load i8**, i8*** @__environ, align 8 + %call61 = call i32 %48(i32 %49, i8** %50, i8** %51) #19 + call void @exit(i32 %call61) #23 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__check_suid() #0 { +entry: + %retval = alloca i32, align 4 + %uid = alloca i32, align 4 + %euid = alloca i32, align 4 + %gid = alloca i32, align 4 + %egid = alloca i32, align 4 + %call = call i32 @getuid() #20 + store i32 %call, i32* %uid, align 4 + %call1 = call i32 @geteuid() #20 + store i32 %call1, i32* %euid, align 4 + %call2 = call i32 @getgid() #20 + store i32 %call2, i32* %gid, align 4 + %call3 = call i32 @getegid() #20 + store i32 %call3, i32* %egid, align 4 + %0 = load i32, i32* %uid, align 4 + %1 = load i32, i32* %euid, align 4 + %cmp = icmp eq i32 %0, %1 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %2 = load i32, i32* %gid, align 4 + %3 = load i32, i32* %egid, align 4 + %cmp4 = icmp eq i32 %2, %3 + br i1 %cmp4, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__check_one_fd(i32 %fd, i32 %mode) #0 { +entry: + %fd.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %st = alloca %struct.stat.194, align 8 + %nullfd = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 (i32, i32, ...) @fcntl(i32 %0, i32 1) #19 + %cmp = icmp eq i32 %call, -1 + br i1 %cmp, label %land.rhs, label %land.end + +land.rhs: ; preds = %entry + %call1 = call i32* @__errno_location() #22 + %1 = load i32, i32* %call1, align 4 + %cmp2 = icmp eq i32 %1, 9 + br label %land.end + +land.end: ; preds = %land.rhs, %entry + %2 = phi i1 [ false, %entry ], [ %cmp2, %land.rhs ] + %lnot = xor i1 %2, true + %lnot3 = xor i1 %lnot, true + %lnot.ext = zext i1 %lnot3 to i32 + %conv = sext i32 %lnot.ext to i64 + %tobool = icmp ne i64 %conv, 0 + br i1 %tobool, label %if.then, label %if.end17 + +if.then: ; preds = %land.end + %3 = load i32, i32* %mode.addr, align 4 + %call4 = call i32 (i8*, i32, ...) @open(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.1, i64 0, i64 0), i32 %3) #19 + store i32 %call4, i32* %nullfd, align 4 + %4 = load i32, i32* %nullfd, align 4 + %5 = load i32, i32* %fd.addr, align 4 + %cmp5 = icmp ne i32 %4, %5 + br i1 %cmp5, label %if.then16, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then + %6 = load i32, i32* %fd.addr, align 4 + %call7 = call i32 bitcast (i32 (i32, %struct.stat64*)* @fstat to i32 (i32, %struct.stat.194*)*)(i32 %6, %struct.stat.194* %st) #20 + %tobool8 = icmp ne i32 %call7, 0 + br i1 %tobool8, label %if.then16, label %lor.lhs.false9 + +lor.lhs.false9: ; preds = %lor.lhs.false + %st_mode = getelementptr inbounds %struct.stat.194, %struct.stat.194* %st, i32 0, i32 3 + %7 = load i32, i32* %st_mode, align 8 + %and = and i32 %7, 61440 + %cmp10 = icmp eq i32 %and, 8192 + br i1 %cmp10, label %lor.lhs.false12, label %if.then16 + +lor.lhs.false12: ; preds = %lor.lhs.false9 + %st_rdev = getelementptr inbounds %struct.stat.194, %struct.stat.194* %st, i32 0, i32 7 + %8 = load i64, i64* %st_rdev, align 8 + %call13 = call i64 @gnu_dev_makedev.182(i32 1, i32 3) #20 + %cmp14 = icmp ne i64 %8, %call13 + br i1 %cmp14, label %if.then16, label %if.end17 + +if.then16: ; preds = %lor.lhs.false12, %lor.lhs.false9, %lor.lhs.false, %if.then + call void @abort() #23 + unreachable + +if.end17: ; preds = %lor.lhs.false12, %land.end + ret void +} + +; Function Attrs: nounwind +declare i32 @getuid() #2 + +; Function Attrs: nounwind +declare i32 @geteuid() #2 + +; Function Attrs: nounwind +declare i32 @getgid() #2 + +; Function Attrs: nounwind +declare i32 @getegid() #2 + +; Function Attrs: noinline nounwind uwtable +define internal i64 @gnu_dev_makedev.182(i32 %__major, i32 %__minor) #0 { +entry: + %__major.addr = alloca i32, align 4 + %__minor.addr = alloca i32, align 4 + store i32 %__major, i32* %__major.addr, align 4 + store i32 %__minor, i32* %__minor.addr, align 4 + %0 = load i32, i32* %__minor.addr, align 4 + %and = and i32 %0, 255 + %1 = load i32, i32* %__major.addr, align 4 + %and1 = and i32 %1, 4095 + %shl = shl i32 %and1, 8 + %or = or i32 %and, %shl + %conv = zext i32 %or to i64 + %2 = load i32, i32* %__minor.addr, align 4 + %and2 = and i32 %2, -256 + %conv3 = zext i32 %and2 to i64 + %shl4 = shl i64 %conv3, 12 + %or5 = or i64 %conv, %shl4 + %3 = load i32, i32* %__major.addr, align 4 + %and6 = and i32 %3, -4096 + %conv7 = zext i32 %and6 to i64 + %shl8 = shl i64 %conv7, 32 + %or9 = or i64 %or5, %shl8 + ret i64 %or9 +} + +define i32 @main(i32 %argc, i8** %argv) { +entry: + call void @__uClibc_main(i32 (i32, i8**, i8**)* @__user_main, i32 %argc, i8** %argv, void ()* null, void ()* null, void ()* null, i8* null) + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define i32 @siggetmask() #0 { +entry: + %call = call i32 @sigblock(i32 0) #20 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i64 @__fpending(%struct.__STDIO_FILE_STRUCT.515* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.515*, align 8 + store %struct.__STDIO_FILE_STRUCT.515* %stream, %struct.__STDIO_FILE_STRUCT.515** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.515*, %struct.__STDIO_FILE_STRUCT.515** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.515, %struct.__STDIO_FILE_STRUCT.515* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %cond.true, label %cond.end + +cond.true: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.515*, %struct.__STDIO_FILE_STRUCT.515** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.515, %struct.__STDIO_FILE_STRUCT.515* %2, i32 0, i32 5 + %3 = load i8*, i8** %__bufpos, align 8 + %4 = load %struct.__STDIO_FILE_STRUCT.515*, %struct.__STDIO_FILE_STRUCT.515** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.515, %struct.__STDIO_FILE_STRUCT.515* %4, i32 0, i32 3 + %5 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %3 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + br label %cond.end + +cond.end: ; preds = %entry, %cond.true + %cond = phi i64 [ %sub.ptr.sub, %cond.true ], [ 0, %entry ] + ret i64 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i8* @gets(i8* %s) #0 { +entry: + %s.addr = alloca i8*, align 8 + %p = alloca i8*, align 8 + %c = alloca i32, align 4 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %call = call i32 @getchar_unlocked() #19 + store i32 %call, i32* %c, align 4 + %cmp = icmp ne i32 %call, -1 + br i1 %cmp, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %1 = load i32, i32* %c, align 4 + %conv = trunc i32 %1 to i8 + %2 = load i8*, i8** %p, align 8 + store i8 %conv, i8* %2, align 1 + %conv1 = sext i8 %conv to i32 + %cmp2 = icmp ne i32 %conv1, 10 + br i1 %cmp2, label %while.body, label %while.end + +while.body: ; preds = %land.rhs + %3 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + br label %while.cond + +while.end: ; preds = %while.cond, %land.rhs + %4 = load i32, i32* %c, align 4 + %cmp4 = icmp eq i32 %4, -1 + br i1 %cmp4, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.end + %5 = load i8*, i8** %s.addr, align 8 + %6 = load i8*, i8** %p, align 8 + %cmp6 = icmp eq i8* %5, %6 + br i1 %cmp6, label %if.then, label %if.else + +if.then: ; preds = %lor.lhs.false, %while.end + store i8* null, i8** %s.addr, align 8 + br label %if.end + +if.else: ; preds = %lor.lhs.false + %7 = load i8*, i8** %p, align 8 + store i8 0, i8* %7, align 1 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %8 = load i8*, i8** %s.addr, align 8 + ret i8* %8 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @tmpnam(i8* %s) #0 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %tmpbufmem = alloca [20 x i8], align 16 + %tmpbuf = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %tobool = icmp ne i8* %0, null + %arraydecay = getelementptr inbounds [20 x i8], [20 x i8]* %tmpbufmem, i64 0, i64 0 + %cond = select i1 %tobool, i8* %0, i8* %arraydecay + store i8* %cond, i8** %tmpbuf, align 8 + %1 = load i8*, i8** %tmpbuf, align 8 + %call = call i32 @___path_search(i8* %1, i64 20, i8* null, i8* null) #19 + %conv = sext i32 %call to i64 + %tobool1 = icmp ne i64 %conv, 0 + br i1 %tobool1, label %if.then, label %if.end + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %tmpbuf, align 8 + %call2 = call i32 @__gen_tempname(i8* %2, i32 3) #19 + %conv3 = sext i32 %call2 to i64 + %tobool4 = icmp ne i64 %conv3, 0 + br i1 %tobool4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end + store i8* null, i8** %retval, align 8 + br label %return + +if.end6: ; preds = %if.end + %3 = load i8*, i8** %s.addr, align 8 + %cmp = icmp eq i8* %3, null + br i1 %cmp, label %if.then8, label %if.end10 + +if.then8: ; preds = %if.end6 + %4 = load i8*, i8** %tmpbuf, align 8 + %call9 = call i8* @memcpy(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @tmpnam_buffer, i64 0, i64 0), i8* %4, i64 20) #20 + store i8* %call9, i8** %retval, align 8 + br label %return + +if.end10: ; preds = %if.end6 + %5 = load i8*, i8** %s.addr, align 8 + store i8* %5, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end10, %if.then8, %if.then5, %if.then + %6 = load i8*, i8** %retval, align 8 + ret i8* %6 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @mktemp(i8* nonnull %template) #0 { +entry: + %template.addr = alloca i8*, align 8 + store i8* %template, i8** %template.addr, align 8 + %0 = load i8*, i8** %template.addr, align 8 + %call = call i32 @__gen_tempname(i8* %0, i32 3) #19 + %cmp = icmp slt i32 %call, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load i8*, i8** %template.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + store i8 0, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then, %entry + %2 = load i8*, i8** %template.addr, align 8 + ret i8* %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @access(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %pathname.addr, align 8 + %call1 = call i8* @__concretize_string(i8* %2) + %3 = load i32, i32* %mode.addr, align 4 + %call2 = call i64 (i64, ...) @syscall(i64 21, i8* %call1, i32 %3) #11 + %conv = trunc i64 %call2 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.exe_disk_file_t* @__get_sym_file(i8* %pathname) #3 { +entry: + %retval = alloca %struct.exe_disk_file_t*, align 8 + %pathname.addr = alloca i8*, align 8 + %cwd = alloca [1024 x i8], align 16 + %cwd_len = alloca i64, align 8 + %c = alloca i8, align 1 + %i = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + %0 = load i8*, i8** %pathname.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %pathname.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %2 to i32 + %cmp = icmp eq i32 %conv, 47 + br i1 %cmp, label %if.then2, label %if.end29 + +if.then2: ; preds = %if.end + %3 = bitcast [1024 x i8]* %cwd to i8* + %4 = call i8* @memset(i8* %3, i32 0, i64 1024) + %arraydecay = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 0 + %call = call i8* @getcwd(i8* %arraydecay, i64 1024) #11 + %tobool3 = icmp ne i8* %call, null + br i1 %tobool3, label %if.then4, label %if.end29 + +if.then4: ; preds = %if.then2 + %arraydecay5 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 0 + %call6 = call i64 @strlen(i8* %arraydecay5) #24 + store i64 %call6, i64* %cwd_len, align 8 + %5 = load i64, i64* %cwd_len, align 8 + %cmp7 = icmp ugt i64 %5, 0 + br i1 %cmp7, label %land.lhs.true, label %if.end15 + +land.lhs.true: ; preds = %if.then4 + %6 = load i64, i64* %cwd_len, align 8 + %sub = sub i64 %6, 1 + %arrayidx9 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 %sub + %7 = load i8, i8* %arrayidx9, align 1 + %conv10 = sext i8 %7 to i32 + %cmp11 = icmp eq i32 %conv10, 47 + br i1 %cmp11, label %if.then13, label %if.end15 + +if.then13: ; preds = %land.lhs.true + %8 = load i64, i64* %cwd_len, align 8 + %dec = add i64 %8, -1 + store i64 %dec, i64* %cwd_len, align 8 + %arrayidx14 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 %dec + store i8 0, i8* %arrayidx14, align 1 + br label %if.end15 + +if.end15: ; preds = %if.then13, %land.lhs.true, %if.then4 + %9 = load i8*, i8** %pathname.addr, align 8 + %arraydecay16 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 0 + %10 = load i64, i64* %cwd_len, align 8 + %call17 = call i32 @strncmp(i8* %9, i8* %arraydecay16, i64 %10) #24 + %cmp18 = icmp eq i32 %call17, 0 + br i1 %cmp18, label %if.then20, label %if.end29 + +if.then20: ; preds = %if.end15 + %11 = load i8*, i8** %pathname.addr, align 8 + %12 = load i64, i64* %cwd_len, align 8 + %arrayidx21 = getelementptr inbounds i8, i8* %11, i64 %12 + %13 = load i8, i8* %arrayidx21, align 1 + %conv22 = sext i8 %13 to i32 + %cmp23 = icmp ne i32 %conv22, 0 + br i1 %cmp23, label %if.then25, label %if.end29 + +if.then25: ; preds = %if.then20 + %14 = load i64, i64* %cwd_len, align 8 + %add = add i64 %14, 1 + %15 = load i8*, i8** %pathname.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %15, i64 %add + store i8* %add.ptr, i8** %pathname.addr, align 8 + br label %if.end29 + +if.end29: ; preds = %if.then2, %if.then20, %if.then25, %if.end15, %if.end + %16 = load i8*, i8** %pathname.addr, align 8 + %arrayidx30 = getelementptr inbounds i8, i8* %16, i64 0 + %17 = load i8, i8* %arrayidx30, align 1 + store i8 %17, i8* %c, align 1 + %18 = load i8, i8* %c, align 1 + %conv31 = sext i8 %18 to i32 + %cmp32 = icmp eq i32 %conv31, 0 + br i1 %cmp32, label %if.then38, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end29 + %19 = load i8*, i8** %pathname.addr, align 8 + %arrayidx34 = getelementptr inbounds i8, i8* %19, i64 1 + %20 = load i8, i8* %arrayidx34, align 1 + %conv35 = sext i8 %20 to i32 + %cmp36 = icmp ne i32 %conv35, 0 + br i1 %cmp36, label %if.then38, label %if.end39 + +if.then38: ; preds = %lor.lhs.false, %if.end29 + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +if.end39: ; preds = %lor.lhs.false + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end39 + %21 = load i32, i32* %i, align 4 + %22 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %cmp40 = icmp ult i32 %21, %22 + br i1 %cmp40, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %23 = load i8, i8* %c, align 1 + %conv42 = sext i8 %23 to i32 + %24 = load i32, i32* %i, align 4 + %conv43 = trunc i32 %24 to i8 + %conv44 = sext i8 %conv43 to i32 + %add45 = add nsw i32 65, %conv44 + %cmp46 = icmp eq i32 %conv42, %add45 + br i1 %cmp46, label %if.then48, label %for.inc + +if.then48: ; preds = %for.body + %25 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %26 = load i32, i32* %i, align 4 + %idxprom = zext i32 %26 to i64 + %arrayidx49 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %25, i64 %idxprom + store %struct.exe_disk_file_t* %arrayidx49, %struct.exe_disk_file_t** %df, align 8 + %27 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %27, i32 0, i32 2 + %28 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %28, i32 0, i32 1 + %29 = load i64, i64* %st_ino, align 8 + %cmp50 = icmp eq i64 %29, 0 + br i1 %cmp50, label %if.then52, label %if.end53 + +if.then52: ; preds = %if.then48 + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +if.end53: ; preds = %if.then48 + %30 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + store %struct.exe_disk_file_t* %30, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +for.inc: ; preds = %for.body + %31 = load i32, i32* %i, align 4 + %inc = add i32 %31, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +return: ; preds = %for.end, %if.end53, %if.then52, %if.then38, %if.then + %32 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %retval, align 8 + ret %struct.exe_disk_file_t* %32 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @__concretize_string(i8* %s) #3 { +entry: + %s.addr = alloca i8*, align 8 + %sc = alloca i8*, align 8 + %i = alloca i32, align 4 + %c = alloca i8, align 1 + %cc = alloca i8, align 1 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %call = call i8* @__concretize_ptr(i8* %0) + store i8* %call, i8** %sc, align 8 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load i8*, i8** %sc, align 8 + %2 = load i8, i8* %1, align 1 + store i8 %2, i8* %c, align 1 + %3 = load i8, i8* %c, align 1 + %conv = sext i8 %3 to i64 + %call1 = call i32 @gs_is_symbolic(i64 %conv) + %tobool = icmp ne i32 %call1, 0 + br i1 %tobool, label %if.end4, label %if.then + +if.then: ; preds = %for.cond + %4 = load i8, i8* %c, align 1 + %tobool2 = icmp ne i8 %4, 0 + br i1 %tobool2, label %for.inc, label %for.end + +if.end4: ; preds = %for.cond + %5 = load i32, i32* %i, align 4 + %6 = load i32, i32* %i, align 4 + %sub = sub i32 %6, 1 + %and = and i32 %5, %sub + %tobool5 = icmp ne i32 %and, 0 + %7 = load i8, i8* %c, align 1 + br i1 %tobool5, label %if.else14, label %if.then6 + +if.then6: ; preds = %if.end4 + %tobool7 = icmp ne i8 %7, 0 + br i1 %tobool7, label %if.else, label %if.then8 + +if.then8: ; preds = %if.then6 + %8 = load i8*, i8** %sc, align 8 + store i8 0, i8* %8, align 1 + br label %for.end + +if.else: ; preds = %if.then6 + %9 = load i8, i8* %c, align 1 + %conv9 = sext i8 %9 to i32 + %cmp = icmp eq i32 %conv9, 47 + br i1 %cmp, label %if.then11, label %for.inc + +if.then11: ; preds = %if.else + %10 = load i8*, i8** %sc, align 8 + store i8 47, i8* %10, align 1 + br label %for.inc + +if.else14: ; preds = %if.end4 + %conv15 = sext i8 %7 to i64 + %call16 = call i64 @gs_get_valuel(i64 %conv15) + %conv17 = trunc i64 %call16 to i8 + store i8 %conv17, i8* %cc, align 1 + %11 = load i8, i8* %cc, align 1 + %conv18 = sext i8 %11 to i32 + %12 = load i8, i8* %c, align 1 + %conv19 = sext i8 %12 to i32 + %cmp20 = icmp eq i32 %conv18, %conv19 + call void @gs_assume(i1 zeroext %cmp20) + %13 = load i8, i8* %cc, align 1 + %14 = load i8*, i8** %sc, align 8 + store i8 %13, i8* %14, align 1 + %15 = load i8, i8* %cc, align 1 + %tobool22 = icmp ne i8 %15, 0 + br i1 %tobool22, label %for.inc, label %for.end + +for.inc: ; preds = %if.else, %if.then11, %if.else14, %if.then + %16 = load i32, i32* %i, align 4 + %inc = add i32 %16, 1 + store i32 %inc, i32* %i, align 4 + %17 = load i8*, i8** %sc, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %17, i32 1 + store i8* %incdec.ptr, i8** %sc, align 8 + br label %for.cond + +for.end: ; preds = %if.else14, %if.then, %if.then8 + %18 = load i8*, i8** %s.addr, align 8 + ret i8* %18 +} + +; Function Attrs: nounwind +declare dso_local i64 @syscall(i64, ...) #4 + +; Function Attrs: noinline nounwind uwtable +define internal i8* @__concretize_ptr(i8* %p) #3 { +entry: + %p.addr = alloca i8*, align 8 + store i8* %p, i8** %p.addr, align 8 + %0 = load i8*, i8** %p.addr, align 8 + %1 = ptrtoint i8* %0 to i64 + %call = call i32 @gs_is_symbolic(i64 %1) + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @gs_report_error(i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 1386, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.27, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.28, i64 0, i64 0)) #25 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %p.addr, align 8 + ret i8* %2 +} + +declare dso_local i32 @gs_is_symbolic(i64) #5 + +declare dso_local i64 @gs_get_valuel(i64) #5 + +declare dso_local void @gs_assume(i1 zeroext) #5 + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.25, i64 0, i64 0)) + call void @stop(i32 -1) #25 + unreachable +} + +declare dso_local void @print_string(i8*) #5 + +declare dso_local void @sym_print(i32, ...) #5 + +; Function Attrs: noreturn +declare dso_local void @stop(i32) #7 + +; Function Attrs: argmemonly nounwind willreturn writeonly +declare void @llvm.memset.p0i8.i64(i8* nocapture writeonly, i8, i64, i1 immarg) #8 + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @getcwd(i8* %buf, i64 %size) #3 { +entry: + %retval = alloca i8*, align 8 + %buf.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %r = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + %0 = load i32, i32* @getcwd.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @getcwd.n_calls, align 4 + %1 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool = icmp ne i32 %1, 0 + br i1 %tobool, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %2 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %3 = load i32, i32* %2, align 4 + %4 = load i32, i32* @getcwd.n_calls, align 4 + %cmp = icmp eq i32 %3, %4 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %5 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %5, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call = call i32* @__errno_location() #26 + store i32 34, i32* %call, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + %6 = load i8*, i8** %buf.addr, align 8 + %tobool1 = icmp ne i8* %6, null + br i1 %tobool1, label %if.else, label %if.then2 + +if.then2: ; preds = %if.end + store i64 1024, i64* %size.addr, align 8 + %7 = load i64, i64* %size.addr, align 8 + %call3 = call noalias i8* @malloc(i64 %7) #11 + store i8* %call3, i8** %buf.addr, align 8 + %8 = load i8*, i8** %buf.addr, align 8 + %tobool4 = icmp ne i8* %8, null + br i1 %tobool4, label %if.end12, label %if.then5 + +if.then5: ; preds = %if.then2 + %call6 = call i32* @__errno_location() #26 + store i32 12, i32* %call6, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.else: ; preds = %if.end + %9 = load i64, i64* %size.addr, align 8 + %tobool8 = icmp ne i64 %9, 0 + br i1 %tobool8, label %if.end12, label %if.then9 + +if.then9: ; preds = %if.else + %call10 = call i32* @__errno_location() #26 + store i32 22, i32* %call10, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end12: ; preds = %if.else, %if.then2 + %10 = load i8*, i8** %buf.addr, align 8 + %call13 = call i8* @__concretize_ptr(i8* %10) + store i8* %call13, i8** %buf.addr, align 8 + %11 = load i64, i64* %size.addr, align 8 + %call14 = call i64 @__concretize_size(i64 %11) + store i64 %call14, i64* %size.addr, align 8 + %12 = load i8*, i8** %buf.addr, align 8 + %13 = load i64, i64* %size.addr, align 8 + %call15 = call i64 (i64, ...) @syscall(i64 79, i8* %12, i64 %13) #11 + %conv = trunc i64 %call15 to i32 + store i32 %conv, i32* %r, align 4 + %14 = load i32, i32* %r, align 4 + %cmp16 = icmp eq i32 %14, -1 + br i1 %cmp16, label %if.then18, label %if.end19 + +if.then18: ; preds = %if.end12 + store i8* null, i8** %retval, align 8 + br label %return + +if.end19: ; preds = %if.end12 + %15 = load i8*, i8** %buf.addr, align 8 + store i8* %15, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end19, %if.then18, %if.then9, %if.then5, %if.then + %16 = load i8*, i8** %retval, align 8 + ret i8* %16 +} + +; Function Attrs: nounwind +declare dso_local noalias i8* @malloc(i64) #4 + +; Function Attrs: noinline nounwind uwtable +define internal i64 @__concretize_size(i64 %s) #3 { +entry: + %s.addr = alloca i64, align 8 + %sc = alloca i64, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %call = call i64 @gs_get_valuel(i64 %0) + store i64 %call, i64* %sc, align 8 + %1 = load i64, i64* %sc, align 8 + %2 = load i64, i64* %s.addr, align 8 + %cmp = icmp eq i64 %1, %2 + call void @gs_assume(i1 zeroext %cmp) + %3 = load i64, i64* %sc, align 8 + ret i64 %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @umask(i32 %mask) #3 { +entry: + %mask.addr = alloca i32, align 4 + %r = alloca i32, align 4 + store i32 %mask, i32* %mask.addr, align 4 + %0 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 1), align 8 + store i32 %0, i32* %r, align 4 + %1 = load i32, i32* %mask.addr, align 4 + %and = and i32 %1, 511 + store i32 %and, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 1), align 8 + %2 = load i32, i32* %r, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_open(i8* %pathname, i32 %flags, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %fd = alloca i32, align 4 + %os_fd = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + store i32 0, i32* %fd, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %0, 32 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %1 = load i32, i32* %fd, align 4 + %idxprom = sext i32 %1 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + %flags1 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %arrayidx, i32 0, i32 1 + %2 = load i32, i32* %flags1, align 4 + %and = and i32 %2, 1 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %for.inc, label %for.end + +for.inc: ; preds = %for.body + %3 = load i32, i32* %fd, align 4 + %inc = add nsw i32 %3, 1 + store i32 %inc, i32* %fd, align 4 + br label %for.cond + +for.end: ; preds = %for.body, %for.cond + %4 = load i32, i32* %fd, align 4 + %cmp2 = icmp eq i32 %4, 32 + br i1 %cmp2, label %if.then3, label %if.end4 + +if.then3: ; preds = %for.end + %call = call i32* @__errno_location() #26 + store i32 24, i32* %call, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %for.end + %5 = load i32, i32* %fd, align 4 + %idxprom5 = sext i32 %5 to i64 + %arrayidx6 = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom5 + store %struct.exe_file_t* %arrayidx6, %struct.exe_file_t** %f, align 8 + %6 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %7 = bitcast %struct.exe_file_t* %6 to i8* + %8 = call i8* @memset(i8* %7, i32 0, i64 24) + %9 = load i8*, i8** %pathname.addr, align 8 + %call7 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %9) + store %struct.exe_disk_file_t* %call7, %struct.exe_disk_file_t** %df, align 8 + %10 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %tobool8 = icmp ne %struct.exe_disk_file_t* %10, null + br i1 %tobool8, label %if.then9, label %if.else45 + +if.then9: ; preds = %if.end4 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %12 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %12, i32 0, i32 3 + store %struct.exe_disk_file_t* %11, %struct.exe_disk_file_t** %dfile, align 8 + %13 = load i32, i32* %flags.addr, align 4 + %and10 = and i32 %13, 64 + %tobool11 = icmp ne i32 %and10, 0 + br i1 %tobool11, label %land.lhs.true, label %if.end16 + +land.lhs.true: ; preds = %if.then9 + %14 = load i32, i32* %flags.addr, align 4 + %and12 = and i32 %14, 128 + %tobool13 = icmp ne i32 %and12, 0 + br i1 %tobool13, label %if.then14, label %if.end16 + +if.then14: ; preds = %land.lhs.true + %call15 = call i32* @__errno_location() #26 + store i32 17, i32* %call15, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end16: ; preds = %land.lhs.true, %if.then9 + %15 = load i32, i32* %flags.addr, align 4 + %and17 = and i32 %15, 512 + %tobool18 = icmp ne i32 %and17, 0 + br i1 %tobool18, label %land.lhs.true19, label %if.end24 + +land.lhs.true19: ; preds = %if.end16 + %16 = load i32, i32* %flags.addr, align 4 + %and20 = and i32 %16, 0 + %tobool21 = icmp ne i32 %and20, 0 + br i1 %tobool21, label %if.then22, label %if.end24 + +if.then22: ; preds = %land.lhs.true19 + call void @gs_warning(i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.5, i64 0, i64 0)) + %call23 = call i32* @__errno_location() #26 + store i32 13, i32* %call23, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end24: ; preds = %land.lhs.true19, %if.end16 + %17 = load i32, i32* %flags.addr, align 4 + %and25 = and i32 %17, 128 + %tobool26 = icmp ne i32 %and25, 0 + br i1 %tobool26, label %land.lhs.true27, label %if.end32 + +land.lhs.true27: ; preds = %if.end24 + %18 = load i32, i32* %flags.addr, align 4 + %and28 = and i32 %18, 64 + %tobool29 = icmp ne i32 %and28, 0 + br i1 %tobool29, label %if.end32, label %if.then30 + +if.then30: ; preds = %land.lhs.true27 + call void @gs_warning(i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.1.6, i64 0, i64 0)) + %call31 = call i32* @__errno_location() #26 + store i32 13, i32* %call31, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end32: ; preds = %land.lhs.true27, %if.end24 + %19 = load i32, i32* %flags.addr, align 4 + %20 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %20, i32 0, i32 2 + %21 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %call33 = call i32 @has_permission(i32 %19, %struct.stat64* %21) + %tobool34 = icmp ne i32 %call33, 0 + br i1 %tobool34, label %if.else, label %if.then35 + +if.then35: ; preds = %if.end32 + %call36 = call i32* @__errno_location() #26 + store i32 13, i32* %call36, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.end32 + %22 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile37 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %22, i32 0, i32 3 + %23 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile37, align 8 + %stat38 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %23, i32 0, i32 2 + %24 = load %struct.stat64*, %struct.stat64** %stat38, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %24, i32 0, i32 3 + %25 = load i32, i32* %st_mode, align 8 + %and39 = and i32 %25, -512 + %26 = load i32, i32* %mode.addr, align 4 + %27 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 1), align 8 + %neg = xor i32 %27, -1 + %and40 = and i32 %26, %neg + %or = or i32 %and39, %and40 + %28 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile41 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %28, i32 0, i32 3 + %29 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile41, align 8 + %stat42 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %29, i32 0, i32 2 + %30 = load %struct.stat64*, %struct.stat64** %stat42, align 8 + %st_mode43 = getelementptr inbounds %struct.stat64, %struct.stat64* %30, i32 0, i32 3 + store i32 %or, i32* %st_mode43, align 8 + br label %if.end53 + +if.else45: ; preds = %if.end4 + %31 = load i8*, i8** %pathname.addr, align 8 + %call46 = call i8* @__concretize_string(i8* %31) + %32 = load i32, i32* %flags.addr, align 4 + %33 = load i32, i32* %mode.addr, align 4 + %call47 = call i64 (i64, ...) @syscall(i64 2, i8* %call46, i32 %32, i32 %33) #11 + %conv = trunc i64 %call47 to i32 + store i32 %conv, i32* %os_fd, align 4 + %34 = load i32, i32* %os_fd, align 4 + %cmp48 = icmp eq i32 %34, -1 + br i1 %cmp48, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.else45 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end51: ; preds = %if.else45 + %35 = load i32, i32* %os_fd, align 4 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd52 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 0 + store i32 %35, i32* %fd52, align 8 + br label %if.end53 + +if.end53: ; preds = %if.end51, %if.else + %37 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %37, i32 0, i32 1 + store i32 1, i32* %flags54, align 4 + %38 = load i32, i32* %flags.addr, align 4 + %and55 = and i32 %38, 3 + %cmp56 = icmp eq i32 %and55, 0 + br i1 %cmp56, label %if.then58, label %if.else61 + +if.then58: ; preds = %if.end53 + %39 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags59 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %39, i32 0, i32 1 + %40 = load i32, i32* %flags59, align 4 + %or60 = or i32 %40, 4 + store i32 %or60, i32* %flags59, align 4 + br label %if.end72 + +if.else61: ; preds = %if.end53 + %41 = load i32, i32* %flags.addr, align 4 + %and62 = and i32 %41, 3 + %cmp63 = icmp eq i32 %and62, 1 + %42 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags66 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %42, i32 0, i32 1 + %43 = load i32, i32* %flags66, align 4 + br i1 %cmp63, label %if.then65, label %if.else68 + +if.then65: ; preds = %if.else61 + %or67 = or i32 %43, 8 + store i32 %or67, i32* %flags66, align 4 + br label %if.end72 + +if.else68: ; preds = %if.else61 + %or70 = or i32 %43, 12 + store i32 %or70, i32* %flags66, align 4 + br label %if.end72 + +if.end72: ; preds = %if.then65, %if.else68, %if.then58 + %44 = load i32, i32* %fd, align 4 + store i32 %44, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end72, %if.then50, %if.then35, %if.then30, %if.then22, %if.then14, %if.then3 + %45 = load i32, i32* %retval, align 4 + ret i32 %45 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @gs_warning(i8* %message) #3 { +entry: + %message.addr = alloca i8*, align 8 + store i8* %message, i8** %message.addr, align 8 + %0 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %0) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.25, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @has_permission(i32 %flags, %struct.stat64* %s) #3 { +entry: + %retval = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %s.addr = alloca %struct.stat64*, align 8 + %write_access = alloca i32, align 4 + %read_access = alloca i32, align 4 + %mode = alloca i32, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store %struct.stat64* %s, %struct.stat64** %s.addr, align 8 + %0 = load %struct.stat64*, %struct.stat64** %s.addr, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %0, i32 0, i32 3 + %1 = load i32, i32* %st_mode, align 8 + store i32 %1, i32* %mode, align 4 + %2 = load i32, i32* %flags.addr, align 4 + %and = and i32 %2, 0 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %3 = load i32, i32* %flags.addr, align 4 + %and1 = and i32 %3, 2 + %tobool2 = icmp ne i32 %and1, 0 + br i1 %tobool2, label %if.then, label %if.else + +if.then: ; preds = %lor.lhs.false, %entry + store i32 1, i32* %read_access, align 4 + br label %if.end + +if.else: ; preds = %lor.lhs.false + store i32 0, i32* %read_access, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %4 = load i32, i32* %flags.addr, align 4 + %and3 = and i32 %4, 1 + %tobool4 = icmp ne i32 %and3, 0 + br i1 %tobool4, label %if.then8, label %lor.lhs.false5 + +lor.lhs.false5: ; preds = %if.end + %5 = load i32, i32* %flags.addr, align 4 + %and6 = and i32 %5, 2 + %tobool7 = icmp ne i32 %and6, 0 + br i1 %tobool7, label %if.then8, label %if.else9 + +if.then8: ; preds = %lor.lhs.false5, %if.end + store i32 1, i32* %write_access, align 4 + br label %if.end10 + +if.else9: ; preds = %lor.lhs.false5 + store i32 0, i32* %write_access, align 4 + br label %if.end10 + +if.end10: ; preds = %if.else9, %if.then8 + %6 = load i32, i32* %read_access, align 4 + %tobool11 = icmp ne i32 %6, 0 + br i1 %tobool11, label %land.lhs.true, label %if.end18 + +land.lhs.true: ; preds = %if.end10 + %7 = load i32, i32* %mode, align 4 + %and12 = and i32 %7, 256 + %8 = load i32, i32* %mode, align 4 + %and13 = and i32 %8, 32 + %or = or i32 %and12, %and13 + %9 = load i32, i32* %mode, align 4 + %and14 = and i32 %9, 4 + %or15 = or i32 %or, %and14 + %tobool16 = icmp ne i32 %or15, 0 + br i1 %tobool16, label %if.then17, label %if.end18 + +if.then17: ; preds = %land.lhs.true + store i32 0, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %land.lhs.true, %if.end10 + %10 = load i32, i32* %write_access, align 4 + %tobool19 = icmp ne i32 %10, 0 + br i1 %tobool19, label %land.lhs.true20, label %if.end28 + +land.lhs.true20: ; preds = %if.end18 + %11 = load i32, i32* %mode, align 4 + %and21 = and i32 %11, 128 + %12 = load i32, i32* %mode, align 4 + %and22 = and i32 %12, 16 + %or23 = or i32 %and21, %and22 + %13 = load i32, i32* %mode, align 4 + %and24 = and i32 %13, 2 + %or25 = or i32 %or23, %and24 + %tobool26 = icmp ne i32 %or25, 0 + br i1 %tobool26, label %if.end28, label %if.then27 + +if.then27: ; preds = %land.lhs.true20 + store i32 0, i32* %retval, align 4 + br label %return + +if.end28: ; preds = %land.lhs.true20, %if.end18 + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end28, %if.then27, %if.then17 + %14 = load i32, i32* %retval, align 4 + ret i32 %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_openat(i32 %basefd, i8* %pathname, i32 %flags, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %basefd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %fd = alloca i32, align 4 + %bf = alloca %struct.exe_file_t*, align 8 + %os_fd = alloca i32, align 4 + store i32 %basefd, i32* %basefd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %basefd.addr, align 4 + %cmp = icmp ne i32 %0, -100 + br i1 %cmp, label %if.then, label %if.end8 + +if.then: ; preds = %entry + %1 = load i32, i32* %basefd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %bf, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %bf, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.else, label %if.then1 + +if.then1: ; preds = %if.then + %call2 = call i32* @__errno_location() #26 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %bf, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 3 + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool3 = icmp ne %struct.exe_disk_file_t* %4, null + br i1 %tobool3, label %if.then4, label %if.end6 + +if.then4: ; preds = %if.else + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0)) + %call5 = call i32* @__errno_location() #26 + store i32 2, i32* %call5, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.else + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %bf, align 8 + %fd7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd7, align 8 + store i32 %6, i32* %basefd.addr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end6, %entry + %7 = load i8*, i8** %pathname.addr, align 8 + %call9 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %7) + %tobool10 = icmp ne %struct.exe_disk_file_t* %call9, null + br i1 %tobool10, label %if.then11, label %if.end13 + +if.then11: ; preds = %if.end8 + %8 = load i8*, i8** %pathname.addr, align 8 + %9 = load i32, i32* %flags.addr, align 4 + %10 = load i32, i32* %mode.addr, align 4 + %call12 = call i32 @__fd_open(i8* %8, i32 %9, i32 %10) + store i32 %call12, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.end8 + store i32 0, i32* %fd, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end13 + %11 = load i32, i32* %fd, align 4 + %cmp14 = icmp slt i32 %11, 32 + br i1 %cmp14, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %12 = load i32, i32* %fd, align 4 + %idxprom = sext i32 %12 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + %flags15 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %arrayidx, i32 0, i32 1 + %13 = load i32, i32* %flags15, align 4 + %and = and i32 %13, 1 + %tobool16 = icmp ne i32 %and, 0 + br i1 %tobool16, label %for.inc, label %for.end + +for.inc: ; preds = %for.body + %14 = load i32, i32* %fd, align 4 + %inc = add nsw i32 %14, 1 + store i32 %inc, i32* %fd, align 4 + br label %for.cond + +for.end: ; preds = %for.body, %for.cond + %15 = load i32, i32* %fd, align 4 + %cmp19 = icmp eq i32 %15, 32 + br i1 %cmp19, label %if.then20, label %if.end22 + +if.then20: ; preds = %for.end + %call21 = call i32* @__errno_location() #26 + store i32 24, i32* %call21, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end22: ; preds = %for.end + %16 = load i32, i32* %fd, align 4 + %idxprom23 = sext i32 %16 to i64 + %arrayidx24 = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom23 + store %struct.exe_file_t* %arrayidx24, %struct.exe_file_t** %f, align 8 + %17 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %18 = bitcast %struct.exe_file_t* %17 to i8* + %19 = call i8* @memset(i8* %18, i32 0, i64 24) + %20 = load i32, i32* %basefd.addr, align 4 + %conv = sext i32 %20 to i64 + %21 = load i8*, i8** %pathname.addr, align 8 + %call25 = call i8* @__concretize_string(i8* %21) + %22 = load i32, i32* %flags.addr, align 4 + %conv26 = sext i32 %22 to i64 + %23 = load i32, i32* %mode.addr, align 4 + %call27 = call i64 (i64, ...) @syscall(i64 257, i64 %conv, i8* %call25, i64 %conv26, i32 %23) #11 + %conv28 = trunc i64 %call27 to i32 + store i32 %conv28, i32* %os_fd, align 4 + %24 = load i32, i32* %os_fd, align 4 + %cmp29 = icmp eq i32 %24, -1 + br i1 %cmp29, label %if.then31, label %if.end32 + +if.then31: ; preds = %if.end22 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end32: ; preds = %if.end22 + %25 = load i32, i32* %os_fd, align 4 + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd33 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 0 + store i32 %25, i32* %fd33, align 8 + %27 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags34 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %27, i32 0, i32 1 + store i32 1, i32* %flags34, align 4 + %28 = load i32, i32* %flags.addr, align 4 + %and35 = and i32 %28, 3 + %cmp36 = icmp eq i32 %and35, 0 + br i1 %cmp36, label %if.then38, label %if.else40 + +if.then38: ; preds = %if.end32 + %29 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags39 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %29, i32 0, i32 1 + %30 = load i32, i32* %flags39, align 4 + %or = or i32 %30, 4 + store i32 %or, i32* %flags39, align 4 + br label %if.end51 + +if.else40: ; preds = %if.end32 + %31 = load i32, i32* %flags.addr, align 4 + %and41 = and i32 %31, 3 + %cmp42 = icmp eq i32 %and41, 1 + %32 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags45 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %32, i32 0, i32 1 + %33 = load i32, i32* %flags45, align 4 + br i1 %cmp42, label %if.then44, label %if.else47 + +if.then44: ; preds = %if.else40 + %or46 = or i32 %33, 8 + store i32 %or46, i32* %flags45, align 4 + br label %if.end51 + +if.else47: ; preds = %if.else40 + %or49 = or i32 %33, 12 + store i32 %or49, i32* %flags45, align 4 + br label %if.end51 + +if.end51: ; preds = %if.then44, %if.else47, %if.then38 + %34 = load i32, i32* %fd, align 4 + store i32 %34, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end51, %if.then31, %if.then20, %if.then11, %if.then4, %if.then1 + %35 = load i32, i32* %retval, align 4 + ret i32 %35 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.exe_file_t* @__get_file(i32 %fd) #3 { +entry: + %retval = alloca %struct.exe_file_t*, align 8 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %cmp = icmp sge i32 %0, 0 + %1 = load i32, i32* %fd.addr, align 4 + %cmp1 = icmp slt i32 %1, 32 + %or.cond = and i1 %cmp, %cmp1 + br i1 %or.cond, label %if.then, label %if.end3 + +if.then: ; preds = %entry + %2 = load i32, i32* %fd.addr, align 4 + %idxprom = sext i32 %2 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + store %struct.exe_file_t* %arrayidx, %struct.exe_file_t** %f, align 8 + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 1 + %4 = load i32, i32* %flags, align 4 + %and = and i32 %4, 1 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.then + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + store %struct.exe_file_t* %5, %struct.exe_file_t** %retval, align 8 + br label %return + +if.end3: ; preds = %if.then, %entry + store %struct.exe_file_t* null, %struct.exe_file_t** %retval, align 8 + br label %return + +return: ; preds = %if.end3, %if.then2 + %6 = load %struct.exe_file_t*, %struct.exe_file_t** %retval, align 8 + ret %struct.exe_file_t* %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @utimes(i8* nonnull %path, %struct.timespec.0* %times) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %times.addr = alloca %struct.timespec.0*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + %newTimes = alloca [2 x %struct.timespec.0], align 16 + store i8* %path, i8** %path.addr, align 8 + store %struct.timespec.0* %times, %struct.timespec.0** %times.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end12 + +if.then: ; preds = %entry + %2 = load %struct.timespec.0*, %struct.timespec.0** %times.addr, align 8 + %tobool1 = icmp ne %struct.timespec.0* %2, null + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + %arrayidx = getelementptr inbounds [2 x %struct.timespec.0], [2 x %struct.timespec.0]* %newTimes, i64 0, i64 0 + %call3 = call i32 @gettimeofday(%struct.timespec.0* %arrayidx, i8* null) #11 + %arrayidx4 = getelementptr inbounds [2 x %struct.timespec.0], [2 x %struct.timespec.0]* %newTimes, i64 0, i64 1 + %arrayidx5 = getelementptr inbounds [2 x %struct.timespec.0], [2 x %struct.timespec.0]* %newTimes, i64 0, i64 0 + %3 = bitcast %struct.timespec.0* %arrayidx4 to i8* + %4 = bitcast %struct.timespec.0* %arrayidx5 to i8* + %5 = call i8* @memcpy(i8* %3, i8* %4, i64 16) + %arraydecay = getelementptr inbounds [2 x %struct.timespec.0], [2 x %struct.timespec.0]* %newTimes, i64 0, i64 0 + store %struct.timespec.0* %arraydecay, %struct.timespec.0** %times.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %6 = load %struct.timespec.0*, %struct.timespec.0** %times.addr, align 8 + %arrayidx6 = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %6, i64 0 + %tv_sec = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %arrayidx6, i32 0, i32 0 + %7 = load i64, i64* %tv_sec, align 8 + %8 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %8, i32 0, i32 2 + %9 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_atim = getelementptr inbounds %struct.stat64, %struct.stat64* %9, i32 0, i32 11 + %tv_sec7 = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %st_atim, i32 0, i32 0 + store i64 %7, i64* %tv_sec7, align 8 + %10 = load %struct.timespec.0*, %struct.timespec.0** %times.addr, align 8 + %arrayidx8 = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %10, i64 1 + %tv_sec9 = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %arrayidx8, i32 0, i32 0 + %11 = load i64, i64* %tv_sec9, align 8 + %12 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat10 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %12, i32 0, i32 2 + %13 = load %struct.stat64*, %struct.stat64** %stat10, align 8 + %st_mtim = getelementptr inbounds %struct.stat64, %struct.stat64* %13, i32 0, i32 12 + %tv_sec11 = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %st_mtim, i32 0, i32 0 + store i64 %11, i64* %tv_sec11, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.end12: ; preds = %entry + %14 = load i8*, i8** %path.addr, align 8 + %call13 = call i8* @__concretize_string(i8* %14) + %15 = load %struct.timespec.0*, %struct.timespec.0** %times.addr, align 8 + %call14 = call i64 (i64, ...) @syscall(i64 235, i8* %call13, %struct.timespec.0* %15) #11 + %conv = trunc i64 %call14 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end12, %if.end + %16 = load i32, i32* %retval, align 4 + ret i32 %16 +} + +; Function Attrs: nounwind +declare dso_local i32 @gettimeofday(%struct.timespec.0*, i8*) #4 + +; Function Attrs: argmemonly nounwind willreturn +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* noalias nocapture writeonly, i8* noalias nocapture readonly, i64, i1 immarg) #9 + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @futimesat(i32 %fd, i8* %path, %struct.timespec.0* %times) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %times.addr = alloca %struct.timespec.0*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.timespec.0* %times, %struct.timespec.0** %times.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %cmp = icmp ne i32 %0, -100 + br i1 %cmp, label %if.then, label %if.end8 + +if.then: ; preds = %entry + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.else, label %if.then1 + +if.then1: ; preds = %if.then + %call2 = call i32* @__errno_location() #26 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 3 + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool3 = icmp ne %struct.exe_disk_file_t* %4, null + br i1 %tobool3, label %if.then4, label %if.end6 + +if.then4: ; preds = %if.else + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0)) + %call5 = call i32* @__errno_location() #26 + store i32 2, i32* %call5, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.else + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd7, align 8 + store i32 %6, i32* %fd.addr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end6, %entry + %7 = load i8*, i8** %path.addr, align 8 + %call9 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %7) + %tobool10 = icmp ne %struct.exe_disk_file_t* %call9, null + br i1 %tobool10, label %if.then11, label %if.end13 + +if.then11: ; preds = %if.end8 + %8 = load i8*, i8** %path.addr, align 8 + %9 = load %struct.timespec.0*, %struct.timespec.0** %times.addr, align 8 + %call12 = call i32 @utimes(i8* %8, %struct.timespec.0* %9) #11 + store i32 %call12, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.end8 + %10 = load i32, i32* %fd.addr, align 4 + %conv = sext i32 %10 to i64 + %11 = load i8*, i8** %path.addr, align 8 + %tobool14 = icmp ne i8* %11, null + br i1 %tobool14, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end13 + %12 = load i8*, i8** %path.addr, align 8 + %call15 = call i8* @__concretize_string(i8* %12) + br label %cond.end + +cond.end: ; preds = %if.end13, %cond.true + %cond = phi i8* [ %call15, %cond.true ], [ null, %if.end13 ] + %13 = load %struct.timespec.0*, %struct.timespec.0** %times.addr, align 8 + %call16 = call i64 (i64, ...) @syscall(i64 261, i64 %conv, i8* %cond, %struct.timespec.0* %13) #11 + %conv17 = trunc i64 %call16 to i32 + store i32 %conv17, i32* %retval, align 4 + br label %return + +return: ; preds = %cond.end, %if.then11, %if.then4, %if.then1 + %14 = load i32, i32* %retval, align 4 + ret i32 %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @close(i32 %fd) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %r = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 0, i32* %r, align 4 + %0 = load i32, i32* @close.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @close.n_calls, align 4 + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #26 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @close.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #26 + store i32 5, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %9 = bitcast %struct.exe_file_t* %8 to i8* + %10 = call i8* @memset(i8* %9, i32 0, i64 24) + %11 = load i32, i32* %r, align 4 + store i32 %11, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %12 = load i32, i32* %retval, align 4 + ret i32 %12 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @read(i32 %fd, i8* %buf, i64 %count) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %r = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + %0 = load i32, i32* @read.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @read.n_calls, align 4 + %1 = load i64, i64* %count.addr, align 8 + %cmp = icmp eq i64 %1, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i64 0, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %buf.addr, align 8 + %cmp1 = icmp eq i8* %2, null + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + %call = call i32* @__errno_location() #26 + store i32 14, i32* %call, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %3 = load i32, i32* %fd.addr, align 4 + %call4 = call %struct.exe_file_t* @__get_file(i32 %3) + store %struct.exe_file_t* %call4, %struct.exe_file_t** %f, align 8 + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %4, null + br i1 %tobool, label %if.end7, label %if.then5 + +if.then5: ; preds = %if.end3 + %call6 = call i32* @__errno_location() #26 + store i32 9, i32* %call6, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end7: ; preds = %if.end3 + %5 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool8 = icmp ne i32 %5, 0 + br i1 %tobool8, label %land.lhs.true, label %if.end12 + +land.lhs.true: ; preds = %if.end7 + %6 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %7 = load i32, i32* %6, align 4 + %8 = load i32, i32* @read.n_calls, align 4 + %cmp9 = icmp eq i32 %7, %8 + br i1 %cmp9, label %if.then10, label %if.end12 + +if.then10: ; preds = %land.lhs.true + %9 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %9, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call11 = call i32* @__errno_location() #26 + store i32 5, i32* %call11, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end12: ; preds = %land.lhs.true, %if.end7 + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 3 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool13 = icmp ne %struct.exe_disk_file_t* %11, null + br i1 %tobool13, label %if.else38, label %if.then14 + +if.then14: ; preds = %if.end12 + %12 = load i8*, i8** %buf.addr, align 8 + %call15 = call i8* @__concretize_ptr(i8* %12) + store i8* %call15, i8** %buf.addr, align 8 + %13 = load i64, i64* %count.addr, align 8 + %call16 = call i64 @__concretize_size(i64 %13) + store i64 %call16, i64* %count.addr, align 8 + %14 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd17 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %14, i32 0, i32 0 + %15 = load i32, i32* %fd17, align 8 + %cmp18 = icmp eq i32 %15, 0 + %16 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd20 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %16, i32 0, i32 0 + %17 = load i32, i32* %fd20, align 8 + %18 = load i8*, i8** %buf.addr, align 8 + %19 = load i64, i64* %count.addr, align 8 + br i1 %cmp18, label %if.then19, label %if.else + +if.then19: ; preds = %if.then14 + %call21 = call i64 (i64, ...) @syscall(i64 0, i32 %17, i8* %18, i64 %19) #11 + %conv = trunc i64 %call21 to i32 + store i32 %conv, i32* %r, align 4 + br label %if.end25 + +if.else: ; preds = %if.then14 + %20 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %20, i32 0, i32 2 + %21 = load i64, i64* %off, align 8 + %call23 = call i64 (i64, ...) @syscall(i64 17, i32 %17, i8* %18, i64 %19, i64 %21) #11 + %conv24 = trunc i64 %call23 to i32 + store i32 %conv24, i32* %r, align 4 + br label %if.end25 + +if.end25: ; preds = %if.else, %if.then19 + %22 = load i32, i32* %r, align 4 + %cmp26 = icmp eq i32 %22, -1 + br i1 %cmp26, label %if.then28, label %if.end29 + +if.then28: ; preds = %if.end25 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end29: ; preds = %if.end25 + %23 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd30 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %23, i32 0, i32 0 + %24 = load i32, i32* %fd30, align 8 + %cmp31 = icmp ne i32 %24, 0 + br i1 %cmp31, label %if.then33, label %if.end36 + +if.then33: ; preds = %if.end29 + %25 = load i32, i32* %r, align 4 + %conv34 = sext i32 %25 to i64 + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off35 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 2 + %27 = load i64, i64* %off35, align 8 + %add = add nsw i64 %27, %conv34 + store i64 %add, i64* %off35, align 8 + br label %if.end36 + +if.end36: ; preds = %if.then33, %if.end29 + %28 = load i32, i32* %r, align 4 + %conv37 = sext i32 %28 to i64 + store i64 %conv37, i64* %retval, align 8 + br label %return + +if.else38: ; preds = %if.end12 + %29 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off39 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %29, i32 0, i32 2 + %30 = load i64, i64* %off39, align 8 + %cmp40 = icmp sge i64 %30, 0 + br i1 %cmp40, label %if.end44, label %if.else43 + +if.else43: ; preds = %if.else38 + call void @__assert_fail(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.3, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 393, i8* getelementptr inbounds ([34 x i8], [34 x i8]* @__PRETTY_FUNCTION__.read, i64 0, i64 0)) #27 + unreachable + +if.end44: ; preds = %if.else38 + %31 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile45 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %31, i32 0, i32 3 + %32 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile45, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %32, i32 0, i32 0 + %33 = load i32, i32* %size, align 8 + %conv46 = zext i32 %33 to i64 + %34 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off47 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %34, i32 0, i32 2 + %35 = load i64, i64* %off47, align 8 + %cmp48 = icmp slt i64 %conv46, %35 + br i1 %cmp48, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.end44 + store i64 0, i64* %retval, align 8 + br label %return + +if.end51: ; preds = %if.end44 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off52 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 2 + %37 = load i64, i64* %off52, align 8 + %38 = load i64, i64* %count.addr, align 8 + %add53 = add i64 %37, %38 + %39 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %39, i32 0, i32 3 + %40 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile54, align 8 + %size55 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %40, i32 0, i32 0 + %41 = load i32, i32* %size55, align 8 + %conv56 = zext i32 %41 to i64 + %cmp57 = icmp ugt i64 %add53, %conv56 + br i1 %cmp57, label %if.then59, label %if.end64 + +if.then59: ; preds = %if.end51 + %42 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile60 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %42, i32 0, i32 3 + %43 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile60, align 8 + %size61 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %43, i32 0, i32 0 + %44 = load i32, i32* %size61, align 8 + %conv62 = zext i32 %44 to i64 + %45 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off63 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %45, i32 0, i32 2 + %46 = load i64, i64* %off63, align 8 + %sub = sub nsw i64 %conv62, %46 + store i64 %sub, i64* %count.addr, align 8 + br label %if.end64 + +if.end64: ; preds = %if.then59, %if.end51 + %47 = load i8*, i8** %buf.addr, align 8 + %48 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile65 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %48, i32 0, i32 3 + %49 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile65, align 8 + %contents = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %49, i32 0, i32 1 + %50 = load i8*, i8** %contents, align 8 + %51 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off66 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %51, i32 0, i32 2 + %52 = load i64, i64* %off66, align 8 + %add.ptr = getelementptr inbounds i8, i8* %50, i64 %52 + %53 = load i64, i64* %count.addr, align 8 + %54 = call i8* @memcpy(i8* %47, i8* %add.ptr, i64 %53) + %55 = load i64, i64* %count.addr, align 8 + %56 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off67 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %56, i32 0, i32 2 + %57 = load i64, i64* %off67, align 8 + %add68 = add i64 %57, %55 + store i64 %add68, i64* %off67, align 8 + %58 = load i64, i64* %count.addr, align 8 + store i64 %58, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end64, %if.then50, %if.end36, %if.then28, %if.then10, %if.then5, %if.then2, %if.then + %59 = load i64, i64* %retval, align 8 + ret i64 %59 +} + +; Function Attrs: noreturn nounwind +declare dso_local void @__assert_fail(i8*, i8*, i32, i8*) #10 + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @write(i32 %fd, i8* %buf, i64 %count) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %r = alloca i32, align 4 + %actual_count = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + %0 = load i32, i32* @write.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @write.n_calls, align 4 + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #26 + store i32 9, i32* %call1, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @write.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #26 + store i32 5, i32* %call4, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + br i1 %tobool6, label %if.else42, label %if.then7 + +if.then7: ; preds = %if.end5 + %10 = load i8*, i8** %buf.addr, align 8 + %call8 = call i8* @__concretize_ptr(i8* %10) + store i8* %call8, i8** %buf.addr, align 8 + %11 = load i64, i64* %count.addr, align 8 + %call9 = call i64 @__concretize_size(i64 %11) + store i64 %call9, i64* %count.addr, align 8 + %12 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd10 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %12, i32 0, i32 0 + %13 = load i32, i32* %fd10, align 8 + %cmp11 = icmp eq i32 %13, 1 + br i1 %cmp11, label %if.then14, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then7 + %14 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd12 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %14, i32 0, i32 0 + %15 = load i32, i32* %fd12, align 8 + %cmp13 = icmp eq i32 %15, 2 + br i1 %cmp13, label %if.then14, label %if.else + +if.then14: ; preds = %lor.lhs.false, %if.then7 + %16 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd15 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %16, i32 0, i32 0 + %17 = load i32, i32* %fd15, align 8 + %18 = load i8*, i8** %buf.addr, align 8 + %19 = load i64, i64* %count.addr, align 8 + %call16 = call i64 (i64, ...) @syscall(i64 1, i32 %17, i8* %18, i64 %19) #11 + %conv = trunc i64 %call16 to i32 + store i32 %conv, i32* %r, align 4 + br label %if.end20 + +if.else: ; preds = %lor.lhs.false + %20 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd17 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %20, i32 0, i32 0 + %21 = load i32, i32* %fd17, align 8 + %22 = load i8*, i8** %buf.addr, align 8 + %23 = load i64, i64* %count.addr, align 8 + %24 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %24, i32 0, i32 2 + %25 = load i64, i64* %off, align 8 + %call18 = call i64 (i64, ...) @syscall(i64 18, i32 %21, i8* %22, i64 %23, i64 %25) #11 + %conv19 = trunc i64 %call18 to i32 + store i32 %conv19, i32* %r, align 4 + br label %if.end20 + +if.end20: ; preds = %if.else, %if.then14 + %26 = load i32, i32* %r, align 4 + %cmp21 = icmp eq i32 %26, -1 + br i1 %cmp21, label %if.then23, label %if.end24 + +if.then23: ; preds = %if.end20 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end24: ; preds = %if.end20 + %27 = load i32, i32* %r, align 4 + %cmp25 = icmp sge i32 %27, 0 + br i1 %cmp25, label %if.end29, label %if.else28 + +if.else28: ; preds = %if.end24 + call void @__assert_fail(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.5.7, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 445, i8* getelementptr inbounds ([41 x i8], [41 x i8]* @__PRETTY_FUNCTION__.write, i64 0, i64 0)) #27 + unreachable + +if.end29: ; preds = %if.end24 + %28 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd30 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %28, i32 0, i32 0 + %29 = load i32, i32* %fd30, align 8 + %cmp31 = icmp ne i32 %29, 1 + br i1 %cmp31, label %land.lhs.true33, label %if.end40 + +land.lhs.true33: ; preds = %if.end29 + %30 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd34 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %30, i32 0, i32 0 + %31 = load i32, i32* %fd34, align 8 + %cmp35 = icmp ne i32 %31, 2 + br i1 %cmp35, label %if.then37, label %if.end40 + +if.then37: ; preds = %land.lhs.true33 + %32 = load i32, i32* %r, align 4 + %conv38 = sext i32 %32 to i64 + %33 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off39 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %33, i32 0, i32 2 + %34 = load i64, i64* %off39, align 8 + %add = add nsw i64 %34, %conv38 + store i64 %add, i64* %off39, align 8 + br label %if.end40 + +if.end40: ; preds = %if.then37, %land.lhs.true33, %if.end29 + %35 = load i32, i32* %r, align 4 + %conv41 = sext i32 %35 to i64 + store i64 %conv41, i64* %retval, align 8 + br label %return + +if.else42: ; preds = %if.end5 + store i64 0, i64* %actual_count, align 8 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off43 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 2 + %37 = load i64, i64* %off43, align 8 + %38 = load i64, i64* %count.addr, align 8 + %add44 = add i64 %37, %38 + %39 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile45 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %39, i32 0, i32 3 + %40 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile45, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %40, i32 0, i32 0 + %41 = load i32, i32* %size, align 8 + %conv46 = zext i32 %41 to i64 + %cmp47 = icmp ule i64 %add44, %conv46 + br i1 %cmp47, label %if.then49, label %if.else50 + +if.then49: ; preds = %if.else42 + %42 = load i64, i64* %count.addr, align 8 + store i64 %42, i64* %actual_count, align 8 + br label %if.end67 + +if.else50: ; preds = %if.else42 + %43 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 3), align 8 + %tobool51 = icmp ne i32 %43, 0 + br i1 %tobool51, label %if.then52, label %if.else53 + +if.then52: ; preds = %if.else50 + call void @__assert_fail(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.6, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 458, i8* getelementptr inbounds ([41 x i8], [41 x i8]* @__PRETTY_FUNCTION__.write, i64 0, i64 0)) #27 + unreachable + +if.else53: ; preds = %if.else50 + %44 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %44, i32 0, i32 2 + %45 = load i64, i64* %off54, align 8 + %46 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile55 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %46, i32 0, i32 3 + %47 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile55, align 8 + %size56 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %47, i32 0, i32 0 + %48 = load i32, i32* %size56, align 8 + %conv57 = zext i32 %48 to i64 + %cmp58 = icmp slt i64 %45, %conv57 + br i1 %cmp58, label %if.then60, label %if.end67 + +if.then60: ; preds = %if.else53 + %49 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile61 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %49, i32 0, i32 3 + %50 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile61, align 8 + %size62 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %50, i32 0, i32 0 + %51 = load i32, i32* %size62, align 8 + %conv63 = zext i32 %51 to i64 + %52 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off64 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %52, i32 0, i32 2 + %53 = load i64, i64* %off64, align 8 + %sub = sub nsw i64 %conv63, %53 + store i64 %sub, i64* %actual_count, align 8 + br label %if.end67 + +if.end67: ; preds = %if.then60, %if.else53, %if.then49 + %54 = load i64, i64* %actual_count, align 8 + %tobool68 = icmp ne i64 %54, 0 + br i1 %tobool68, label %if.then69, label %if.end72 + +if.then69: ; preds = %if.end67 + %55 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile70 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %55, i32 0, i32 3 + %56 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile70, align 8 + %contents = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %56, i32 0, i32 1 + %57 = load i8*, i8** %contents, align 8 + %58 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off71 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %58, i32 0, i32 2 + %59 = load i64, i64* %off71, align 8 + %add.ptr = getelementptr inbounds i8, i8* %57, i64 %59 + %60 = load i8*, i8** %buf.addr, align 8 + %61 = load i64, i64* %actual_count, align 8 + %62 = call i8* @memcpy(i8* %add.ptr, i8* %60, i64 %61) + br label %if.end72 + +if.end72: ; preds = %if.then69, %if.end67 + %63 = load i64, i64* %count.addr, align 8 + %64 = load i64, i64* %actual_count, align 8 + %cmp73 = icmp ne i64 %63, %64 + br i1 %cmp73, label %if.then75, label %if.end76 + +if.then75: ; preds = %if.end72 + call void @gs_warning(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.7, i64 0, i64 0)) + br label %if.end76 + +if.end76: ; preds = %if.then75, %if.end72 + %65 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile77 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %65, i32 0, i32 3 + %66 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile77, align 8 + %67 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + %cmp78 = icmp eq %struct.exe_disk_file_t* %66, %67 + br i1 %cmp78, label %if.then80, label %if.end84 + +if.then80: ; preds = %if.end76 + %68 = load i64, i64* %actual_count, align 8 + %69 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 3), align 8 + %conv81 = zext i32 %69 to i64 + %add82 = add i64 %conv81, %68 + %conv83 = trunc i64 %add82 to i32 + store i32 %conv83, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 3), align 8 + br label %if.end84 + +if.end84: ; preds = %if.then80, %if.end76 + %70 = load i64, i64* %count.addr, align 8 + %71 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off85 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %71, i32 0, i32 2 + %72 = load i64, i64* %off85, align 8 + %add86 = add i64 %72, %70 + store i64 %add86, i64* %off85, align 8 + %73 = load i64, i64* %count.addr, align 8 + store i64 %73, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end84, %if.end40, %if.then23, %if.then3, %if.then + %74 = load i64, i64* %retval, align 8 + ret i64 %74 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @__fd_lseek(i32 %fd, i64 %offset, i32 %whence) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + %new_off = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #26 + store i32 9, i32* %call1, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + %4 = load i32, i32* %whence.addr, align 4 + br i1 %tobool2, label %if.end24, label %if.then3 + +if.then3: ; preds = %if.end + %cmp = icmp eq i32 %4, 0 + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd5 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd5, align 8 + br i1 %cmp, label %if.then4, label %if.else + +if.then4: ; preds = %if.then3 + %7 = load i64, i64* %offset.addr, align 8 + %call6 = call i64 (i64, ...) @syscall(i64 8, i32 %6, i64 %7, i32 0) #11 + store i64 %call6, i64* %new_off, align 8 + br label %if.end19 + +if.else: ; preds = %if.then3 + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 2 + %9 = load i64, i64* %off, align 8 + %call8 = call i64 (i64, ...) @syscall(i64 8, i32 %6, i64 %9, i32 0) #11 + store i64 %call8, i64* %new_off, align 8 + %10 = load i64, i64* %new_off, align 8 + %cmp9 = icmp ne i64 %10, -1 + br i1 %cmp9, label %if.then10, label %if.end19 + +if.then10: ; preds = %if.else + %11 = load i64, i64* %new_off, align 8 + %12 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off11 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %12, i32 0, i32 2 + %13 = load i64, i64* %off11, align 8 + %cmp12 = icmp eq i64 %11, %13 + br i1 %cmp12, label %if.end15, label %if.else14 + +if.else14: ; preds = %if.then10 + call void @__assert_fail(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.8, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 504, i8* getelementptr inbounds ([38 x i8], [38 x i8]* @__PRETTY_FUNCTION__.__fd_lseek, i64 0, i64 0)) #27 + unreachable + +if.end15: ; preds = %if.then10 + %14 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd16 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %14, i32 0, i32 0 + %15 = load i32, i32* %fd16, align 8 + %16 = load i64, i64* %offset.addr, align 8 + %17 = load i32, i32* %whence.addr, align 4 + %call17 = call i64 (i64, ...) @syscall(i64 8, i32 %15, i64 %16, i32 %17) #11 + store i64 %call17, i64* %new_off, align 8 + br label %if.end19 + +if.end19: ; preds = %if.else, %if.end15, %if.then4 + %18 = load i64, i64* %new_off, align 8 + %cmp20 = icmp eq i64 %18, -1 + br i1 %cmp20, label %if.then21, label %if.end22 + +if.then21: ; preds = %if.end19 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end22: ; preds = %if.end19 + %19 = load i64, i64* %new_off, align 8 + %20 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off23 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %20, i32 0, i32 2 + store i64 %19, i64* %off23, align 8 + %21 = load i64, i64* %new_off, align 8 + store i64 %21, i64* %retval, align 8 + br label %return + +if.end24: ; preds = %if.end + br label %NodeBlock3 + +NodeBlock3: ; preds = %if.end24 + %case.cmp4 = icmp eq i32 %4, 0 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %4, 1 + br i1 %case.cmp2, label %sw.bb25, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %4, 2 + br i1 %case.cmp, label %sw.bb27, label %newDefault + +sw.bb: ; preds = %NodeBlock3 + %22 = load i64, i64* %offset.addr, align 8 + store i64 %22, i64* %new_off, align 8 + br label %sw.epilog + +sw.bb25: ; preds = %NodeBlock1 + %23 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off26 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %23, i32 0, i32 2 + %24 = load i64, i64* %off26, align 8 + %25 = load i64, i64* %offset.addr, align 8 + %add = add nsw i64 %24, %25 + store i64 %add, i64* %new_off, align 8 + br label %sw.epilog + +sw.bb27: ; preds = %NodeBlock + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile28 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 3 + %27 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile28, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %27, i32 0, i32 0 + %28 = load i32, i32* %size, align 8 + %conv = zext i32 %28 to i64 + %29 = load i64, i64* %offset.addr, align 8 + %add29 = add nsw i64 %conv, %29 + store i64 %add29, i64* %new_off, align 8 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + %call30 = call i32* @__errno_location() #26 + store i32 22, i32* %call30, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +sw.epilog: ; preds = %sw.bb27, %sw.bb25, %sw.bb + %30 = load i64, i64* %new_off, align 8 + %cmp31 = icmp slt i64 %30, 0 + br i1 %cmp31, label %if.then33, label %if.end35 + +if.then33: ; preds = %sw.epilog + %call34 = call i32* @__errno_location() #26 + store i32 22, i32* %call34, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end35: ; preds = %sw.epilog + %31 = load i64, i64* %new_off, align 8 + %32 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off36 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %32, i32 0, i32 2 + store i64 %31, i64* %off36, align 8 + %33 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off37 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %33, i32 0, i32 2 + %34 = load i64, i64* %off37, align 8 + store i64 %34, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end35, %if.then33, %sw.default, %if.end22, %if.then21, %if.then + %35 = load i64, i64* %retval, align 8 + ret i64 %35 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_stat(i8* %path, %struct.stat64* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %3 = bitcast %struct.stat64* %2 to i8* + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %4, i32 0, i32 2 + %5 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %6 = bitcast %struct.stat64* %5 to i8* + %7 = call i8* @memcpy(i8* %3, i8* %6, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load i8*, i8** %path.addr, align 8 + %call1 = call i8* @__concretize_string(i8* %8) + %9 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %call2 = call i64 (i64, ...) @syscall(i64 4, i8* %call1, %struct.stat64* %9) #11 + %conv = trunc i64 %call2 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %10 = load i32, i32* %retval, align 4 + ret i32 %10 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstatat(i32 %fd, i8* nonnull %path, %struct.stat64* nonnull %buf, i32 %flags) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %flags.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %dfile9 = alloca %struct.exe_disk_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %cmp = icmp ne i32 %0, -100 + br i1 %cmp, label %if.then, label %if.end8 + +if.then: ; preds = %entry + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.else, label %if.then1 + +if.then1: ; preds = %if.then + %call2 = call i32* @__errno_location() #26 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 3 + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool3 = icmp ne %struct.exe_disk_file_t* %4, null + br i1 %tobool3, label %if.then4, label %if.end6 + +if.then4: ; preds = %if.else + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0)) + %call5 = call i32* @__errno_location() #26 + store i32 2, i32* %call5, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.else + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd7, align 8 + store i32 %6, i32* %fd.addr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end6, %entry + %7 = load i8*, i8** %path.addr, align 8 + %call10 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %7) + store %struct.exe_disk_file_t* %call10, %struct.exe_disk_file_t** %dfile9, align 8 + %8 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile9, align 8 + %tobool11 = icmp ne %struct.exe_disk_file_t* %8, null + br i1 %tobool11, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.end8 + %9 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %10 = bitcast %struct.stat64* %9 to i8* + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile9, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %11, i32 0, i32 2 + %12 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %13 = bitcast %struct.stat64* %12 to i8* + %14 = call i8* @memcpy(i8* %10, i8* %13, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.end8 + %15 = load i32, i32* %fd.addr, align 4 + %conv = sext i32 %15 to i64 + %16 = load i8*, i8** %path.addr, align 8 + %tobool14 = icmp ne i8* %16, null + br i1 %tobool14, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end13 + %17 = load i8*, i8** %path.addr, align 8 + %call15 = call i8* @__concretize_string(i8* %17) + br label %cond.end + +cond.end: ; preds = %if.end13, %cond.true + %cond = phi i8* [ %call15, %cond.true ], [ null, %if.end13 ] + %18 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %19 = load i32, i32* %flags.addr, align 4 + %conv16 = sext i32 %19 to i64 + %call17 = call i64 (i64, ...) @syscall(i64 262, i64 %conv, i8* %cond, %struct.stat64* %18, i64 %conv16) #11 + %conv18 = trunc i64 %call17 to i32 + store i32 %conv18, i32* %retval, align 4 + br label %return + +return: ; preds = %cond.end, %if.then12, %if.then4, %if.then1 + %20 = load i32, i32* %retval, align 4 + ret i32 %20 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_lstat(i8* %path, %struct.stat64* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %3 = bitcast %struct.stat64* %2 to i8* + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %4, i32 0, i32 2 + %5 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %6 = bitcast %struct.stat64* %5 to i8* + %7 = call i8* @memcpy(i8* %3, i8* %6, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load i8*, i8** %path.addr, align 8 + %call1 = call i8* @__concretize_string(i8* %8) + %9 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %call2 = call i64 (i64, ...) @syscall(i64 6, i8* %call1, %struct.stat64* %9) #11 + %conv = trunc i64 %call2 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %10 = load i32, i32* %retval, align 4 + ret i32 %10 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chdir(i8* nonnull %path) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0)) + %call1 = call i32* @__errno_location() #26 + store i32 2, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %2) + %call3 = call i64 (i64, ...) @syscall(i64 80, i8* %call2) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %3 = load i32, i32* %retval, align 4 + ret i32 %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fchdir(i32 %fd) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #26 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %if.end + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #26 + store i32 2, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd6, align 8 + %call7 = call i64 (i64, ...) @syscall(i64 81, i32 %5) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chmod(i8* nonnull %path, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load i32, i32* @chmod.n_calls, align 4 + %inc = add nsw i32 %1, 1 + store i32 %inc, i32* @chmod.n_calls, align 4 + %2 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool = icmp ne i32 %2, 0 + br i1 %tobool, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %3 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 11), align 8 + %4 = load i32, i32* %3, align 4 + %5 = load i32, i32* @chmod.n_calls, align 4 + %cmp = icmp eq i32 %4, %5 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %6 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %6, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call1 = call i32* @__errno_location() #26 + store i32 5, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + %7 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %7, null + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %if.end + %8 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %9 = load i32, i32* %mode.addr, align 4 + %call4 = call i32 @__df_chmod(%struct.exe_disk_file_t* %8, i32 %9) + store i32 %call4, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %if.end + %10 = load i8*, i8** %path.addr, align 8 + %call6 = call i8* @__concretize_string(i8* %10) + %11 = load i32, i32* %mode.addr, align 4 + %call7 = call i64 (i64, ...) @syscall(i64 90, i8* %call6, i32 %11) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %12 = load i32, i32* %retval, align 4 + ret i32 %12 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__df_chmod(%struct.exe_disk_file_t* %df, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %df.addr = alloca %struct.exe_disk_file_t*, align 8 + %mode.addr = alloca i32, align 4 + store %struct.exe_disk_file_t* %df, %struct.exe_disk_file_t** %df.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %call = call i32 @geteuid() #11 + %0 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %0, i32 0, i32 2 + %1 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_uid = getelementptr inbounds %struct.stat64, %struct.stat64* %1, i32 0, i32 4 + %2 = load i32, i32* %st_uid, align 4 + %cmp = icmp eq i32 %call, %2 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %call1 = call i32 @getgid() #11 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %3, i32 0, i32 2 + %4 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + %st_gid = getelementptr inbounds %struct.stat64, %struct.stat64* %4, i32 0, i32 5 + %5 = load i32, i32* %st_gid, align 8 + %cmp3 = icmp ne i32 %call1, %5 + br i1 %cmp3, label %if.then4, label %if.end + +if.then4: ; preds = %if.then + %6 = load i32, i32* %mode.addr, align 4 + %and = and i32 %6, -1025 + store i32 %and, i32* %mode.addr, align 4 + br label %if.end + +if.end: ; preds = %if.then4, %if.then + %7 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat5 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %7, i32 0, i32 2 + %8 = load %struct.stat64*, %struct.stat64** %stat5, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %8, i32 0, i32 3 + %9 = load i32, i32* %st_mode, align 8 + %and6 = and i32 %9, -4096 + %10 = load i32, i32* %mode.addr, align 4 + %and7 = and i32 %10, 4095 + %or = or i32 %and6, %and7 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat8 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %11, i32 0, i32 2 + %12 = load %struct.stat64*, %struct.stat64** %stat8, align 8 + %st_mode9 = getelementptr inbounds %struct.stat64, %struct.stat64* %12, i32 0, i32 3 + store i32 %or, i32* %st_mode9, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %call10 = call i32* @__errno_location() #26 + store i32 1, i32* %call10, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.else, %if.end + %13 = load i32, i32* %retval, align 4 + ret i32 %13 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fchmod(i32 %fd, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #26 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i32, i32* @fchmod.n_calls, align 4 + %inc = add nsw i32 %2, 1 + store i32 %inc, i32* @fchmod.n_calls, align 4 + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 12), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @fchmod.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #26 + store i32 5, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + br i1 %tobool6, label %if.then7, label %if.end10 + +if.then7: ; preds = %if.end5 + %dfile8 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 3 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile8, align 8 + %12 = load i32, i32* %mode.addr, align 4 + %call9 = call i32 @__df_chmod(%struct.exe_disk_file_t* %11, i32 %12) + store i32 %call9, i32* %retval, align 4 + br label %return + +if.end10: ; preds = %if.end5 + %fd11 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 0 + %13 = load i32, i32* %fd11, align 8 + %14 = load i32, i32* %mode.addr, align 4 + %call12 = call i64 (i64, ...) @syscall(i64 91, i32 %13, i32 %14) #11 + %conv = trunc i64 %call12 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end10, %if.then7, %if.then3, %if.then + %15 = load i32, i32* %retval, align 4 + ret i32 %15 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chown(i8* nonnull %path, i32 %owner, i32 %group) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %df, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %3 = load i32, i32* %owner.addr, align 4 + %4 = load i32, i32* %group.addr, align 4 + %call1 = call i32 @__df_chown(%struct.exe_disk_file_t* %2, i32 %3, i32 %4) + store i32 %call1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %5 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %5) + %6 = load i32, i32* %owner.addr, align 4 + %7 = load i32, i32* %group.addr, align 4 + %call3 = call i64 (i64, ...) @syscall(i64 92, i8* %call2, i32 %6, i32 %7) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__df_chown(%struct.exe_disk_file_t* %df, i32 %owner, i32 %group) #3 { +entry: + %df.addr = alloca %struct.exe_disk_file_t*, align 8 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + store %struct.exe_disk_file_t* %df, %struct.exe_disk_file_t** %df.addr, align 8 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + call void @gs_warning(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.26, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fchown(i32 %fd, i32 %owner, i32 %group) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #26 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end6 + +if.then3: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile4 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 3 + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile4, align 8 + %6 = load i32, i32* %owner.addr, align 4 + %7 = load i32, i32* %group.addr, align 4 + %call5 = call i32 @__df_chown(%struct.exe_disk_file_t* %5, i32 %6, i32 %7) + store i32 %call5, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.end + %8 = load i32, i32* %fd.addr, align 4 + %9 = load i32, i32* %owner.addr, align 4 + %10 = load i32, i32* %group.addr, align 4 + %call7 = call i64 (i64, ...) @syscall(i64 93, i32 %8, i32 %9, i32 %10) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end6, %if.then3, %if.then + %11 = load i32, i32* %retval, align 4 + ret i32 %11 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @lchown(i8* nonnull %path, i32 %owner, i32 %group) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %df, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %3 = load i32, i32* %owner.addr, align 4 + %4 = load i32, i32* %group.addr, align 4 + %call1 = call i32 @__df_chown(%struct.exe_disk_file_t* %2, i32 %3, i32 %4) + store i32 %call1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %5 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %5) + %6 = load i32, i32* %owner.addr, align 4 + %7 = load i32, i32* %group.addr, align 4 + %call3 = call i64 (i64, ...) @syscall(i64 92, i8* %call2, i32 %6, i32 %7) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_fstat(i32 %fd, %struct.stat64* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #26 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.end6, label %if.then3 + +if.then3: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd4 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd4, align 8 + %6 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %call5 = call i64 (i64, ...) @syscall(i64 5, i32 %5, %struct.stat64* %6) #11 + %conv = trunc i64 %call5 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.end + %7 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %8 = bitcast %struct.stat64* %7 to i8* + %9 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %9, i32 0, i32 3 + %10 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile7, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %10, i32 0, i32 2 + %11 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %12 = bitcast %struct.stat64* %11 to i8* + %13 = call i8* @memcpy(i8* %8, i8* %12, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end6, %if.then3, %if.then + %14 = load i32, i32* %retval, align 4 + ret i32 %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_ftruncate(i32 %fd, i64 %length) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %length.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %length, i64* %length.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load i32, i32* @__fd_ftruncate.n_calls, align 4 + %inc = add nsw i32 %1, 1 + store i32 %inc, i32* @__fd_ftruncate.n_calls, align 4 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #26 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @__fd_ftruncate.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #26 + store i32 5, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + br i1 %tobool6, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end5 + call void @gs_warning(i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.10, i64 0, i64 0)) + %call8 = call i32* @__errno_location() #26 + store i32 5, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end9: ; preds = %if.end5 + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd10 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 0 + %11 = load i32, i32* %fd10, align 8 + %12 = load i64, i64* %length.addr, align 8 + %call11 = call i64 (i64, ...) @syscall(i64 77, i32 %11, i64 %12) #11 + %conv = trunc i64 %call11 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end9, %if.then7, %if.then3, %if.then + %13 = load i32, i32* %retval, align 4 + ret i32 %13 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_getdents(i32 %fd, %struct.dirent64* %dirp, i32 %count) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %dirp.addr = alloca %struct.dirent64*, align 8 + %count.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %i = alloca i64, align 8 + %pad = alloca i64, align 8 + %bytes = alloca i64, align 8 + %df = alloca %struct.exe_disk_file_t*, align 8 + %os_pos = alloca i64, align 8 + %res = alloca i32, align 4 + %s = alloca i64, align 8 + %pos = alloca i32, align 4 + %dp = alloca %struct.dirent64*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.dirent64* %dirp, %struct.dirent64** %dirp.addr, align 8 + store i32 %count, i32* %count.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #26 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.else + +if.then3: ; preds = %if.end + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #26 + store i32 22, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 2 + %5 = load i64, i64* %off, align 8 + %cmp = icmp ult i64 %5, 4096 + br i1 %cmp, label %if.then5, label %if.else43 + +if.then5: ; preds = %if.else + store i64 0, i64* %bytes, align 8 + %6 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %6, i32 0, i32 2 + %7 = load i64, i64* %off6, align 8 + %div = udiv i64 %7, 280 + store i64 %div, i64* %i, align 8 + %8 = load i64, i64* %i, align 8 + %mul = mul i64 %8, 280 + %9 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %9, i32 0, i32 2 + %10 = load i64, i64* %off7, align 8 + %cmp8 = icmp ne i64 %mul, %10 + br i1 %cmp8, label %if.then11, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then5 + %11 = load i64, i64* %i, align 8 + %12 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %conv = zext i32 %12 to i64 + %cmp9 = icmp sgt i64 %11, %conv + br i1 %cmp9, label %if.then11, label %for.cond + +if.then11: ; preds = %lor.lhs.false, %if.then5 + %call12 = call i32* @__errno_location() #26 + store i32 22, i32* %call12, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +for.cond: ; preds = %lor.lhs.false, %for.body + %13 = load i64, i64* %i, align 8 + %14 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %conv14 = zext i32 %14 to i64 + %cmp15 = icmp slt i64 %13, %conv14 + br i1 %cmp15, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %15 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %16 = load i64, i64* %i, align 8 + %arrayidx = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %15, i64 %16 + store %struct.exe_disk_file_t* %arrayidx, %struct.exe_disk_file_t** %df, align 8 + %17 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %17, i32 0, i32 2 + %18 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %18, i32 0, i32 1 + %19 = load i64, i64* %st_ino, align 8 + %20 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_ino = getelementptr inbounds %struct.dirent64, %struct.dirent64* %20, i32 0, i32 0 + store i64 %19, i64* %d_ino, align 8 + %21 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen = getelementptr inbounds %struct.dirent64, %struct.dirent64* %21, i32 0, i32 2 + store i16 280, i16* %d_reclen, align 8 + %22 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat17 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %22, i32 0, i32 2 + %23 = load %struct.stat64*, %struct.stat64** %stat17, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %23, i32 0, i32 3 + %24 = load i32, i32* %st_mode, align 8 + %and = and i32 %24, 61440 + %shr = lshr i32 %and, 12 + %conv18 = trunc i32 %shr to i8 + %25 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_type = getelementptr inbounds %struct.dirent64, %struct.dirent64* %25, i32 0, i32 3 + store i8 %conv18, i8* %d_type, align 2 + %26 = load i64, i64* %i, align 8 + %add = add nsw i64 65, %26 + %conv19 = trunc i64 %add to i8 + %27 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_name = getelementptr inbounds %struct.dirent64, %struct.dirent64* %27, i32 0, i32 4 + %arrayidx20 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name, i64 0, i64 0 + store i8 %conv19, i8* %arrayidx20, align 1 + %28 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_name21 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %28, i32 0, i32 4 + %arrayidx22 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name21, i64 0, i64 1 + store i8 0, i8* %arrayidx22, align 1 + %29 = load i64, i64* %i, align 8 + %add23 = add nsw i64 %29, 1 + %mul24 = mul i64 %add23, 280 + %30 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_off = getelementptr inbounds %struct.dirent64, %struct.dirent64* %30, i32 0, i32 1 + store i64 %mul24, i64* %d_off, align 8 + %31 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen25 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %31, i32 0, i32 2 + %32 = load i16, i16* %d_reclen25, align 8 + %conv26 = zext i16 %32 to i64 + %33 = load i64, i64* %bytes, align 8 + %add27 = add nsw i64 %33, %conv26 + store i64 %add27, i64* %bytes, align 8 + %34 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %incdec.ptr = getelementptr inbounds %struct.dirent64, %struct.dirent64* %34, i32 1 + store %struct.dirent64* %incdec.ptr, %struct.dirent64** %dirp.addr, align 8 + %35 = load i64, i64* %i, align 8 + %inc = add nsw i64 %35, 1 + store i64 %inc, i64* %i, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %36 = load i32, i32* %count.addr, align 4 + %cmp28 = icmp uge i32 %36, 4096 + %37 = load i32, i32* %count.addr, align 4 + %cond = select i1 %cmp28, i32 4096, i32 %37 + %conv30 = zext i32 %cond to i64 + store i64 %conv30, i64* %pad, align 8 + %38 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_ino31 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %38, i32 0, i32 0 + store i64 0, i64* %d_ino31, align 8 + %39 = load i64, i64* %pad, align 8 + %40 = load i64, i64* %bytes, align 8 + %sub = sub nsw i64 %39, %40 + %conv32 = trunc i64 %sub to i16 + %41 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen33 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %41, i32 0, i32 2 + store i16 %conv32, i16* %d_reclen33, align 8 + %42 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_type34 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %42, i32 0, i32 3 + store i8 0, i8* %d_type34, align 2 + %43 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_name35 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %43, i32 0, i32 4 + %arrayidx36 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name35, i64 0, i64 0 + store i8 0, i8* %arrayidx36, align 1 + %44 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_off37 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %44, i32 0, i32 1 + store i64 4096, i64* %d_off37, align 8 + %45 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen38 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %45, i32 0, i32 2 + %46 = load i16, i16* %d_reclen38, align 8 + %conv39 = zext i16 %46 to i64 + %47 = load i64, i64* %bytes, align 8 + %add40 = add nsw i64 %47, %conv39 + store i64 %add40, i64* %bytes, align 8 + %48 = load i64, i64* %pad, align 8 + %49 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off41 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %49, i32 0, i32 2 + store i64 %48, i64* %off41, align 8 + %50 = load i64, i64* %bytes, align 8 + %conv42 = trunc i64 %50 to i32 + store i32 %conv42, i32* %retval, align 4 + br label %return + +if.else43: ; preds = %if.else + %51 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off44 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %51, i32 0, i32 2 + %52 = load i64, i64* %off44, align 8 + %sub45 = sub nsw i64 %52, 4096 + store i64 %sub45, i64* %os_pos, align 8 + store i64 0, i64* %s, align 8 + %53 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %54 = bitcast %struct.dirent64* %53 to i8* + %55 = load i32, i32* %count.addr, align 4 + %conv46 = zext i32 %55 to i64 + %56 = call i8* @memset(i8* %54, i32 0, i64 %conv46) + %57 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd47 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %57, i32 0, i32 0 + %58 = load i32, i32* %fd47, align 8 + %59 = load i64, i64* %os_pos, align 8 + %call48 = call i64 (i64, ...) @syscall(i64 8, i32 %58, i64 %59, i32 0) #11 + store i64 %call48, i64* %s, align 8 + %60 = load i64, i64* %s, align 8 + %cmp49 = icmp ne i64 %60, -1 + br i1 %cmp49, label %if.end53, label %if.else52 + +if.else52: ; preds = %if.else43 + call void @__assert_fail(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.12, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 840, i8* getelementptr inbounds ([65 x i8], [65 x i8]* @__PRETTY_FUNCTION__.__fd_getdents, i64 0, i64 0)) #27 + unreachable + +if.end53: ; preds = %if.else43 + %61 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %61, i32 0, i32 0 + %62 = load i32, i32* %fd54, align 8 + %63 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %64 = load i32, i32* %count.addr, align 4 + %call55 = call i64 (i64, ...) @syscall(i64 217, i32 %62, %struct.dirent64* %63, i32 %64) #11 + %conv56 = trunc i64 %call55 to i32 + store i32 %conv56, i32* %res, align 4 + %65 = load i32, i32* %res, align 4 + %cmp57 = icmp sgt i32 %65, -1 + br i1 %cmp57, label %if.then59, label %if.end78 + +if.then59: ; preds = %if.end53 + store i32 0, i32* %pos, align 4 + %66 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd60 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %66, i32 0, i32 0 + %67 = load i32, i32* %fd60, align 8 + %call61 = call i64 (i64, ...) @syscall(i64 8, i32 %67, i32 0, i32 1) #11 + %68 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off62 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %68, i32 0, i32 2 + store i64 %call61, i64* %off62, align 8 + %69 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off63 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %69, i32 0, i32 2 + %70 = load i64, i64* %off63, align 8 + %cmp64 = icmp ne i64 %70, -1 + br i1 %cmp64, label %if.end68, label %if.else67 + +if.else67: ; preds = %if.then59 + call void @__assert_fail(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.13, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 845, i8* getelementptr inbounds ([65 x i8], [65 x i8]* @__PRETTY_FUNCTION__.__fd_getdents, i64 0, i64 0)) #27 + unreachable + +if.end68: ; preds = %if.then59 + %71 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off69 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %71, i32 0, i32 2 + %72 = load i64, i64* %off69, align 8 + %add70 = add nsw i64 %72, 4096 + store i64 %add70, i64* %off69, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end68 + %73 = load i32, i32* %pos, align 4 + %74 = load i32, i32* %res, align 4 + %cmp71 = icmp slt i32 %73, %74 + br i1 %cmp71, label %while.body, label %if.end78 + +while.body: ; preds = %while.cond + %75 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %76 = bitcast %struct.dirent64* %75 to i8* + %77 = load i32, i32* %pos, align 4 + %idx.ext = sext i32 %77 to i64 + %add.ptr = getelementptr inbounds i8, i8* %76, i64 %idx.ext + %78 = bitcast i8* %add.ptr to %struct.dirent64* + store %struct.dirent64* %78, %struct.dirent64** %dp, align 8 + %79 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_off73 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %79, i32 0, i32 1 + %80 = load i64, i64* %d_off73, align 8 + %add74 = add nsw i64 %80, 4096 + store i64 %add74, i64* %d_off73, align 8 + %81 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_reclen75 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %81, i32 0, i32 2 + %82 = load i16, i16* %d_reclen75, align 8 + %conv76 = zext i16 %82 to i32 + %83 = load i32, i32* %pos, align 4 + %add77 = add nsw i32 %83, %conv76 + store i32 %add77, i32* %pos, align 4 + br label %while.cond + +if.end78: ; preds = %while.cond, %if.end53 + %84 = load i32, i32* %res, align 4 + store i32 %84, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end78, %for.end, %if.then11, %if.then3, %if.then + %85 = load i32, i32* %retval, align 4 + ret i32 %85 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @ioctl(i32 %fd, i64 %request, ...) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %request.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %ap = alloca [1 x %struct.__va_list_tag.2], align 16 + %buf = alloca i8*, align 8 + %stat = alloca %struct.stat64*, align 8 + %ts = alloca %struct.termios*, align 8 + %ws = alloca %struct.winsize*, align 8 + %res = alloca i32*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %request, i64* %request.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #26 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %ap, i64 0, i64 0 + %arraydecay2 = bitcast %struct.__va_list_tag.2* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay2) + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay3, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.end + %2 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay3, i32 0, i32 3 + %reg_save_area = load i8*, i8** %2, align 16 + %3 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %4 = bitcast i8* %3 to i8** + %5 = add i32 %gp_offset, 8 + store i32 %5, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.end + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay3, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %6 = bitcast i8* %overflow_arg_area to i8** + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i8** [ %4, %vaarg.in_reg ], [ %6, %vaarg.in_mem ] + %7 = load i8*, i8** %vaarg.addr, align 8 + store i8* %7, i8** %buf, align 8 + %arraydecay4 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %ap, i64 0, i64 0 + %arraydecay45 = bitcast %struct.__va_list_tag.2* %arraydecay4 to i8* + call void @llvm.va_end(i8* %arraydecay45) + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + br i1 %tobool6, label %if.then7, label %if.end103 + +if.then7: ; preds = %vaarg.end + %dfile8 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 3 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile8, align 8 + %stat9 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %11, i32 0, i32 2 + %12 = load %struct.stat64*, %struct.stat64** %stat9, align 8 + %13 = bitcast %struct.stat64* %12 to %struct.stat64* + store %struct.stat64* %13, %struct.stat64** %stat, align 8 + %14 = load i64, i64* %request.addr, align 8 + br label %NodeBlock13 + +NodeBlock13: ; preds = %if.then7 + %case.cmp14 = icmp eq i64 %14, 21505 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i64 %14, 21506 + br i1 %case.cmp12, label %sw.bb48, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i64 %14, 21507 + br i1 %case.cmp10, label %sw.bb55, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i64 %14, 21508 + br i1 %case.cmp8, label %sw.bb60, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i64 %14, 21523 + br i1 %case.cmp6, label %sw.bb67, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i64 %14, 21524 + br i1 %case.cmp4, label %sw.bb74, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i64 %14, 21531 + br i1 %case.cmp2, label %sw.bb82, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i64 %14, 2150657282 + br i1 %case.cmp, label %sw.bb100, label %newDefault + +sw.bb: ; preds = %NodeBlock13 + %15 = load i8*, i8** %buf, align 8 + %16 = bitcast i8* %15 to %struct.termios* + store %struct.termios* %16, %struct.termios** %ts, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.14, i64 0, i64 0)) + %17 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %17, i32 0, i32 3 + %18 = load i32, i32* %st_mode, align 8 + %and = and i32 %18, 61440 + %cmp = icmp eq i32 %and, 8192 + br i1 %cmp, label %if.then10, label %if.else + +if.then10: ; preds = %sw.bb + %19 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_iflag = getelementptr inbounds %struct.termios, %struct.termios* %19, i32 0, i32 0 + store i32 27906, i32* %c_iflag, align 4 + %20 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_oflag = getelementptr inbounds %struct.termios, %struct.termios* %20, i32 0, i32 1 + store i32 5, i32* %c_oflag, align 4 + %21 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cflag = getelementptr inbounds %struct.termios, %struct.termios* %21, i32 0, i32 2 + store i32 1215, i32* %c_cflag, align 4 + %22 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_lflag = getelementptr inbounds %struct.termios, %struct.termios* %22, i32 0, i32 3 + store i32 35287, i32* %c_lflag, align 4 + %23 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_line = getelementptr inbounds %struct.termios, %struct.termios* %23, i32 0, i32 4 + store i8 0, i8* %c_line, align 4 + %24 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc = getelementptr inbounds %struct.termios, %struct.termios* %24, i32 0, i32 5 + %arrayidx = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc, i64 0, i64 0 + store i8 3, i8* %arrayidx, align 1 + %25 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc11 = getelementptr inbounds %struct.termios, %struct.termios* %25, i32 0, i32 5 + %arrayidx12 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc11, i64 0, i64 1 + store i8 28, i8* %arrayidx12, align 1 + %26 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc13 = getelementptr inbounds %struct.termios, %struct.termios* %26, i32 0, i32 5 + %arrayidx14 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc13, i64 0, i64 2 + store i8 127, i8* %arrayidx14, align 1 + %27 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc15 = getelementptr inbounds %struct.termios, %struct.termios* %27, i32 0, i32 5 + %arrayidx16 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc15, i64 0, i64 3 + store i8 21, i8* %arrayidx16, align 1 + %28 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc17 = getelementptr inbounds %struct.termios, %struct.termios* %28, i32 0, i32 5 + %arrayidx18 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc17, i64 0, i64 4 + store i8 4, i8* %arrayidx18, align 1 + %29 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc19 = getelementptr inbounds %struct.termios, %struct.termios* %29, i32 0, i32 5 + %arrayidx20 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc19, i64 0, i64 5 + store i8 0, i8* %arrayidx20, align 1 + %30 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc21 = getelementptr inbounds %struct.termios, %struct.termios* %30, i32 0, i32 5 + %arrayidx22 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc21, i64 0, i64 6 + store i8 1, i8* %arrayidx22, align 1 + %31 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc23 = getelementptr inbounds %struct.termios, %struct.termios* %31, i32 0, i32 5 + %arrayidx24 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc23, i64 0, i64 7 + store i8 -1, i8* %arrayidx24, align 1 + %32 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc25 = getelementptr inbounds %struct.termios, %struct.termios* %32, i32 0, i32 5 + %arrayidx26 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc25, i64 0, i64 8 + store i8 17, i8* %arrayidx26, align 1 + %33 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc27 = getelementptr inbounds %struct.termios, %struct.termios* %33, i32 0, i32 5 + %arrayidx28 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc27, i64 0, i64 9 + store i8 19, i8* %arrayidx28, align 1 + %34 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc29 = getelementptr inbounds %struct.termios, %struct.termios* %34, i32 0, i32 5 + %arrayidx30 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc29, i64 0, i64 10 + store i8 26, i8* %arrayidx30, align 1 + %35 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc31 = getelementptr inbounds %struct.termios, %struct.termios* %35, i32 0, i32 5 + %arrayidx32 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc31, i64 0, i64 11 + store i8 -1, i8* %arrayidx32, align 1 + %36 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc33 = getelementptr inbounds %struct.termios, %struct.termios* %36, i32 0, i32 5 + %arrayidx34 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc33, i64 0, i64 12 + store i8 18, i8* %arrayidx34, align 1 + %37 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc35 = getelementptr inbounds %struct.termios, %struct.termios* %37, i32 0, i32 5 + %arrayidx36 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc35, i64 0, i64 13 + store i8 15, i8* %arrayidx36, align 1 + %38 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc37 = getelementptr inbounds %struct.termios, %struct.termios* %38, i32 0, i32 5 + %arrayidx38 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc37, i64 0, i64 14 + store i8 23, i8* %arrayidx38, align 1 + %39 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc39 = getelementptr inbounds %struct.termios, %struct.termios* %39, i32 0, i32 5 + %arrayidx40 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc39, i64 0, i64 15 + store i8 22, i8* %arrayidx40, align 1 + %40 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc41 = getelementptr inbounds %struct.termios, %struct.termios* %40, i32 0, i32 5 + %arrayidx42 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc41, i64 0, i64 16 + store i8 -1, i8* %arrayidx42, align 1 + %41 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc43 = getelementptr inbounds %struct.termios, %struct.termios* %41, i32 0, i32 5 + %arrayidx44 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc43, i64 0, i64 17 + store i8 0, i8* %arrayidx44, align 1 + %42 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc45 = getelementptr inbounds %struct.termios, %struct.termios* %42, i32 0, i32 5 + %arrayidx46 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc45, i64 0, i64 18 + store i8 0, i8* %arrayidx46, align 1 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %sw.bb + %call47 = call i32* @__errno_location() #26 + store i32 25, i32* %call47, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb48: ; preds = %NodeBlock11 + call void @gs_warning_once(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.15, i64 0, i64 0)) + %43 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode49 = getelementptr inbounds %struct.stat64, %struct.stat64* %43, i32 0, i32 3 + %44 = load i32, i32* %st_mode49, align 8 + %and50 = and i32 %44, 61440 + %cmp51 = icmp eq i32 %and50, 8192 + br i1 %cmp51, label %if.then52, label %if.else53 + +if.then52: ; preds = %sw.bb48 + store i32 0, i32* %retval, align 4 + br label %return + +if.else53: ; preds = %sw.bb48 + %call54 = call i32* @__errno_location() #26 + store i32 25, i32* %call54, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb55: ; preds = %NodeBlock9 + call void @gs_warning_once(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.16, i64 0, i64 0)) + %45 = load i32, i32* %fd.addr, align 4 + %cmp56 = icmp eq i32 %45, 0 + br i1 %cmp56, label %if.then57, label %if.else58 + +if.then57: ; preds = %sw.bb55 + store i32 0, i32* %retval, align 4 + br label %return + +if.else58: ; preds = %sw.bb55 + %call59 = call i32* @__errno_location() #26 + store i32 25, i32* %call59, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb60: ; preds = %NodeBlock7 + call void @gs_warning_once(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.17, i64 0, i64 0)) + %46 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode61 = getelementptr inbounds %struct.stat64, %struct.stat64* %46, i32 0, i32 3 + %47 = load i32, i32* %st_mode61, align 8 + %and62 = and i32 %47, 61440 + %cmp63 = icmp eq i32 %and62, 8192 + br i1 %cmp63, label %if.then64, label %if.else65 + +if.then64: ; preds = %sw.bb60 + store i32 0, i32* %retval, align 4 + br label %return + +if.else65: ; preds = %sw.bb60 + %call66 = call i32* @__errno_location() #26 + store i32 25, i32* %call66, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb67: ; preds = %NodeBlock5 + %48 = load i8*, i8** %buf, align 8 + %49 = bitcast i8* %48 to %struct.winsize* + store %struct.winsize* %49, %struct.winsize** %ws, align 8 + %50 = load %struct.winsize*, %struct.winsize** %ws, align 8 + %ws_row = getelementptr inbounds %struct.winsize, %struct.winsize* %50, i32 0, i32 0 + store i16 24, i16* %ws_row, align 2 + %51 = load %struct.winsize*, %struct.winsize** %ws, align 8 + %ws_col = getelementptr inbounds %struct.winsize, %struct.winsize* %51, i32 0, i32 1 + store i16 80, i16* %ws_col, align 2 + call void @gs_warning_once(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.18, i64 0, i64 0)) + %52 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode68 = getelementptr inbounds %struct.stat64, %struct.stat64* %52, i32 0, i32 3 + %53 = load i32, i32* %st_mode68, align 8 + %and69 = and i32 %53, 61440 + %cmp70 = icmp eq i32 %and69, 8192 + br i1 %cmp70, label %if.then71, label %if.else72 + +if.then71: ; preds = %sw.bb67 + store i32 0, i32* %retval, align 4 + br label %return + +if.else72: ; preds = %sw.bb67 + %call73 = call i32* @__errno_location() #26 + store i32 25, i32* %call73, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb74: ; preds = %NodeBlock3 + call void @gs_warning_once(i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.19, i64 0, i64 0)) + %54 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode75 = getelementptr inbounds %struct.stat64, %struct.stat64* %54, i32 0, i32 3 + %55 = load i32, i32* %st_mode75, align 8 + %and76 = and i32 %55, 61440 + %cmp77 = icmp eq i32 %and76, 8192 + %call79 = call i32* @__errno_location() #26 + br i1 %cmp77, label %if.then78, label %if.else80 + +if.then78: ; preds = %sw.bb74 + store i32 22, i32* %call79, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else80: ; preds = %sw.bb74 + store i32 25, i32* %call79, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb82: ; preds = %NodeBlock1 + %56 = load i8*, i8** %buf, align 8 + %57 = bitcast i8* %56 to i32* + store i32* %57, i32** %res, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.20, i64 0, i64 0)) + %58 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode83 = getelementptr inbounds %struct.stat64, %struct.stat64* %58, i32 0, i32 3 + %59 = load i32, i32* %st_mode83, align 8 + %and84 = and i32 %59, 61440 + %cmp85 = icmp eq i32 %and84, 8192 + br i1 %cmp85, label %if.then86, label %if.else98 + +if.then86: ; preds = %sw.bb82 + %60 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %60, i32 0, i32 2 + %61 = load i64, i64* %off, align 8 + %62 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile87 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %62, i32 0, i32 3 + %63 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile87, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %63, i32 0, i32 0 + %64 = load i32, i32* %size, align 8 + %conv = zext i32 %64 to i64 + %cmp88 = icmp slt i64 %61, %conv + br i1 %cmp88, label %if.then90, label %if.else96 + +if.then90: ; preds = %if.then86 + %65 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile91 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %65, i32 0, i32 3 + %66 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile91, align 8 + %size92 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %66, i32 0, i32 0 + %67 = load i32, i32* %size92, align 8 + %conv93 = zext i32 %67 to i64 + %68 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off94 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %68, i32 0, i32 2 + %69 = load i64, i64* %off94, align 8 + %sub = sub nsw i64 %conv93, %69 + %conv95 = trunc i64 %sub to i32 + %70 = load i32*, i32** %res, align 8 + store i32 %conv95, i32* %70, align 4 + br label %if.end97 + +if.else96: ; preds = %if.then86 + %71 = load i32*, i32** %res, align 8 + store i32 0, i32* %71, align 4 + br label %if.end97 + +if.end97: ; preds = %if.else96, %if.then90 + store i32 0, i32* %retval, align 4 + br label %return + +if.else98: ; preds = %sw.bb82 + %call99 = call i32* @__errno_location() #26 + store i32 25, i32* %call99, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb100: ; preds = %NodeBlock + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.21, i64 0, i64 0)) + %call101 = call i32* @__errno_location() #26 + store i32 22, i32* %call101, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0)) + %call102 = call i32* @__errno_location() #26 + store i32 22, i32* %call102, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end103: ; preds = %vaarg.end + %fd104 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 0 + %72 = load i32, i32* %fd104, align 8 + %73 = load i64, i64* %request.addr, align 8 + %74 = load i8*, i8** %buf, align 8 + %call105 = call i64 (i64, ...) @syscall(i64 16, i32 %72, i64 %73, i8* %74) #11 + %conv106 = trunc i64 %call105 to i32 + store i32 %conv106, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end103, %sw.default, %sw.bb100, %if.else98, %if.end97, %if.else80, %if.then78, %if.else72, %if.then71, %if.else65, %if.then64, %if.else58, %if.then57, %if.else53, %if.then52, %if.else, %if.then10, %if.then + %75 = load i32, i32* %retval, align 4 + ret i32 %75 +} + +; Function Attrs: nounwind +declare void @llvm.va_start(i8*) #11 + +; Function Attrs: nounwind +declare void @llvm.va_end(i8*) #11 + +declare dso_local void @gs_warning_once(i8*) #5 + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fcntl(i32 %fd, i32 %cmd, ...) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %cmd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %ap = alloca [1 x %struct.__va_list_tag.2], align 16 + %arg = alloca i32, align 4 + %lock = alloca %struct.flock*, align 8 + %flags = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %cmd, i32* %cmd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #26 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i32, i32* %cmd.addr, align 4 + %cmp = icmp eq i32 %2, 1 + %3 = load i32, i32* %cmd.addr, align 4 + %cmp2 = icmp eq i32 %3, 3 + %or.cond = or i1 %cmp, %cmp2 + %4 = load i32, i32* %cmd.addr, align 4 + %cmp4 = icmp eq i32 %4, 9 + %or.cond1 = or i1 %or.cond, %cmp4 + %5 = load i32, i32* %cmd.addr, align 4 + %cmp6 = icmp eq i32 %5, 11 + %or.cond2 = or i1 %or.cond1, %cmp6 + %6 = load i32, i32* %cmd.addr, align 4 + %cmp8 = icmp eq i32 %6, 1025 + %or.cond3 = or i1 %or.cond2, %cmp8 + %7 = load i32, i32* %cmd.addr, align 4 + %cmp10 = icmp eq i32 %7, 1026 + %or.cond4 = or i1 %or.cond3, %cmp10 + br i1 %or.cond4, label %if.then11, label %if.else + +if.then11: ; preds = %if.end + store i32 0, i32* %arg, align 4 + br label %if.end40 + +if.else: ; preds = %if.end + %8 = load i32, i32* %cmd.addr, align 4 + %cmp12 = icmp eq i32 %8, 5 + %9 = load i32, i32* %cmd.addr, align 4 + %cmp14 = icmp eq i32 %9, 6 + %or.cond5 = or i1 %cmp12, %cmp14 + %10 = load i32, i32* %cmd.addr, align 4 + %cmp16 = icmp eq i32 %10, 7 + %or.cond6 = or i1 %or.cond5, %cmp16 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %ap, i64 0, i64 0 + %arraydecay18 = bitcast %struct.__va_list_tag.2* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay18) + %arraydecay19 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay19, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %or.cond6, label %if.then17, label %if.else22 + +if.then17: ; preds = %if.else + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then17 + %11 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay19, i32 0, i32 3 + %reg_save_area = load i8*, i8** %11, align 16 + %12 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %13 = bitcast i8* %12 to %struct.flock** + %14 = add i32 %gp_offset, 8 + store i32 %14, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then17 + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay19, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %15 = bitcast i8* %overflow_arg_area to %struct.flock** + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi %struct.flock** [ %13, %vaarg.in_reg ], [ %15, %vaarg.in_mem ] + %16 = load %struct.flock*, %struct.flock** %vaarg.addr, align 8 + store %struct.flock* %16, %struct.flock** %lock, align 8 + %arraydecay20 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %ap, i64 0, i64 0 + %arraydecay2021 = bitcast %struct.__va_list_tag.2* %arraydecay20 to i8* + call void @llvm.va_end(i8* %arraydecay2021) + br label %if.end40 + +if.else22: ; preds = %if.else + br i1 %fits_in_gp, label %vaarg.in_reg29, label %vaarg.in_mem31 + +vaarg.in_reg29: ; preds = %if.else22 + %17 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay19, i32 0, i32 3 + %reg_save_area30 = load i8*, i8** %17, align 16 + %18 = getelementptr i8, i8* %reg_save_area30, i32 %gp_offset + %19 = bitcast i8* %18 to i32* + %20 = add i32 %gp_offset, 8 + store i32 %20, i32* %gp_offset_p, align 16 + br label %vaarg.end35 + +vaarg.in_mem31: ; preds = %if.else22 + %overflow_arg_area_p32 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay19, i32 0, i32 2 + %overflow_arg_area33 = load i8*, i8** %overflow_arg_area_p32, align 8 + %21 = bitcast i8* %overflow_arg_area33 to i32* + %overflow_arg_area.next34 = getelementptr i8, i8* %overflow_arg_area33, i32 8 + store i8* %overflow_arg_area.next34, i8** %overflow_arg_area_p32, align 8 + br label %vaarg.end35 + +vaarg.end35: ; preds = %vaarg.in_mem31, %vaarg.in_reg29 + %vaarg.addr36 = phi i32* [ %19, %vaarg.in_reg29 ], [ %21, %vaarg.in_mem31 ] + %22 = load i32, i32* %vaarg.addr36, align 4 + store i32 %22, i32* %arg, align 4 + %arraydecay37 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %ap, i64 0, i64 0 + %arraydecay3738 = bitcast %struct.__va_list_tag.2* %arraydecay37 to i8* + call void @llvm.va_end(i8* %arraydecay3738) + br label %if.end40 + +if.end40: ; preds = %vaarg.end, %vaarg.end35, %if.then11 + %23 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %23, i32 0, i32 3 + %24 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool41 = icmp ne %struct.exe_disk_file_t* %24, null + br i1 %tobool41, label %if.then42, label %if.end60 + +if.then42: ; preds = %if.end40 + %25 = load i32, i32* %cmd.addr, align 4 + br label %NodeBlock13 + +NodeBlock13: ; preds = %if.then42 + %case.cmp14 = icmp eq i32 %25, 1 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %25, 2 + br i1 %case.cmp12, label %sw.bb47, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %25, 3 + br i1 %case.cmp10, label %sw.bb56, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %25, 5 + br i1 %case.cmp8, label %sw.bb57, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock7 + %case.cmp = icmp eq i32 %25, 6 + br i1 %case.cmp, label %sw.bb58, label %newDefault + +sw.bb: ; preds = %NodeBlock13 + store i32 0, i32* %flags, align 4 + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags43 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 1 + %27 = load i32, i32* %flags43, align 4 + %and = and i32 %27, 2 + %tobool44 = icmp ne i32 %and, 0 + br i1 %tobool44, label %if.then45, label %if.end46 + +if.then45: ; preds = %sw.bb + %28 = load i32, i32* %flags, align 4 + %or = or i32 %28, 1 + store i32 %or, i32* %flags, align 4 + br label %if.end46 + +if.end46: ; preds = %if.then45, %sw.bb + %29 = load i32, i32* %flags, align 4 + store i32 %29, i32* %retval, align 4 + br label %return + +sw.bb47: ; preds = %NodeBlock11 + %30 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags48 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %30, i32 0, i32 1 + %31 = load i32, i32* %flags48, align 4 + %and49 = and i32 %31, -3 + store i32 %and49, i32* %flags48, align 4 + %32 = load i32, i32* %arg, align 4 + %and50 = and i32 %32, 1 + %tobool51 = icmp ne i32 %and50, 0 + br i1 %tobool51, label %if.then52, label %if.end55 + +if.then52: ; preds = %sw.bb47 + %33 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags53 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %33, i32 0, i32 1 + %34 = load i32, i32* %flags53, align 4 + %or54 = or i32 %34, 2 + store i32 %or54, i32* %flags53, align 4 + br label %if.end55 + +if.end55: ; preds = %if.then52, %sw.bb47 + store i32 0, i32* %retval, align 4 + br label %return + +sw.bb56: ; preds = %NodeBlock9 + store i32 0, i32* %retval, align 4 + br label %return + +sw.bb57: ; preds = %NodeBlock7 + %35 = load %struct.flock*, %struct.flock** %lock, align 8 + %l_type = getelementptr inbounds %struct.flock, %struct.flock* %35, i32 0, i32 0 + store i16 2, i16* %l_type, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +sw.bb58: ; preds = %NodeBlock + store i32 0, i32* %retval, align 4 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0)) + %call59 = call i32* @__errno_location() #26 + store i32 22, i32* %call59, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end60: ; preds = %if.end40 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd61 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 0 + %37 = load i32, i32* %fd61, align 8 + %38 = load i32, i32* %cmd.addr, align 4 + %39 = load i32, i32* %arg, align 4 + %call62 = call i64 (i64, ...) @syscall(i64 72, i32 %37, i32 %38, i32 %39) #11 + %conv = trunc i64 %call62 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end60, %sw.default, %sw.bb58, %sw.bb57, %sw.bb56, %if.end55, %if.end46, %if.then + %40 = load i32, i32* %retval, align 4 + ret i32 %40 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_statfs(i8* %path, %struct.statfs* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.statfs*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.statfs* %buf, %struct.statfs** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0)) + %call1 = call i32* @__errno_location() #26 + store i32 2, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %2) + %3 = load %struct.statfs*, %struct.statfs** %buf.addr, align 8 + %call3 = call i64 (i64, ...) @syscall(i64 137, i8* %call2, %struct.statfs* %3) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstatfs(i32 %fd, %struct.statfs* nonnull %buf) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.statfs*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.statfs* %buf, %struct.statfs** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #26 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %if.end + call void @gs_warning(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.22, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #26 + store i32 9, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd6, align 8 + %6 = load %struct.statfs*, %struct.statfs** %buf.addr, align 8 + %call7 = call i64 (i64, ...) @syscall(i64 138, i32 %5, %struct.statfs* %6) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %7 = load i32, i32* %retval, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fsync(i32 %fd) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #26 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.else + store i32 0, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %if.else + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd5 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd5, align 8 + %call6 = call i64 (i64, ...) @syscall(i64 74, i32 %5) #11 + %conv = trunc i64 %call6 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @dup2(i32 %oldfd, i32 %newfd) #3 { +entry: + %retval = alloca i32, align 4 + %oldfd.addr = alloca i32, align 4 + %newfd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %f2 = alloca %struct.exe_file_t*, align 8 + store i32 %oldfd, i32* %oldfd.addr, align 4 + store i32 %newfd, i32* %newfd.addr, align 4 + %0 = load i32, i32* %oldfd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + %2 = load i32, i32* %newfd.addr, align 4 + %cmp = icmp sge i32 %2, 0 + %or.cond = and i1 %tobool, %cmp + %3 = load i32, i32* %newfd.addr, align 4 + %cmp1 = icmp slt i32 %3, 32 + %or.cond1 = and i1 %or.cond, %cmp1 + br i1 %or.cond1, label %if.else, label %if.then + +if.then: ; preds = %entry + %call2 = call i32* @__errno_location() #26 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %4 = load i32, i32* %newfd.addr, align 4 + %idxprom = sext i32 %4 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + store %struct.exe_file_t* %arrayidx, %struct.exe_file_t** %f2, align 8 + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f2, align 8 + %flags = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 1 + %6 = load i32, i32* %flags, align 4 + %and = and i32 %6, 1 + %tobool3 = icmp ne i32 %and, 0 + br i1 %tobool3, label %if.then4, label %if.end + +if.then4: ; preds = %if.else + %7 = load i32, i32* %newfd.addr, align 4 + %call5 = call i32 @close(i32 %7) + br label %if.end + +if.end: ; preds = %if.then4, %if.else + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f2, align 8 + %9 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %10 = bitcast %struct.exe_file_t* %8 to i8* + %11 = bitcast %struct.exe_file_t* %9 to i8* + %12 = call i8* @memcpy(i8* %10, i8* %11, i64 24) + %13 = load %struct.exe_file_t*, %struct.exe_file_t** %f2, align 8 + %flags6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %13, i32 0, i32 1 + %14 = load i32, i32* %flags6, align 4 + %and7 = and i32 %14, -3 + store i32 %and7, i32* %flags6, align 4 + %15 = load i32, i32* %newfd.addr, align 4 + store i32 %15, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %16 = load i32, i32* %retval, align 4 + ret i32 %16 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @dup(i32 %oldfd) #3 { +entry: + %retval = alloca i32, align 4 + %oldfd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %fd = alloca i32, align 4 + store i32 %oldfd, i32* %oldfd.addr, align 4 + %0 = load i32, i32* %oldfd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #26 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + store i32 0, i32* %fd, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.else + %2 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %2, 32 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %3 = load i32, i32* %fd, align 4 + %idxprom = sext i32 %3 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + %flags = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %arrayidx, i32 0, i32 1 + %4 = load i32, i32* %flags, align 4 + %and = and i32 %4, 1 + %tobool2 = icmp ne i32 %and, 0 + br i1 %tobool2, label %for.inc, label %for.end + +for.inc: ; preds = %for.body + %5 = load i32, i32* %fd, align 4 + %inc = add nsw i32 %5, 1 + store i32 %inc, i32* %fd, align 4 + br label %for.cond + +for.end: ; preds = %for.body, %for.cond + %6 = load i32, i32* %fd, align 4 + %cmp4 = icmp eq i32 %6, 32 + br i1 %cmp4, label %if.then5, label %if.else7 + +if.then5: ; preds = %for.end + %call6 = call i32* @__errno_location() #26 + store i32 24, i32* %call6, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else7: ; preds = %for.end + %7 = load i32, i32* %oldfd.addr, align 4 + %8 = load i32, i32* %fd, align 4 + %call8 = call i32 @dup2(i32 %7, i32 %8) #11 + store i32 %call8, i32* %retval, align 4 + br label %return + +return: ; preds = %if.else7, %if.then5, %if.then + %9 = load i32, i32* %retval, align 4 + ret i32 %9 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rmdir(i8* nonnull %pathname) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 16384 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %5, i32 0, i32 2 + %6 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 1 + store i64 0, i64* %st_ino, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %call3 = call i32* @__errno_location() #26 + store i32 20, i32* %call3, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #26 + store i32 1, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.else, %if.then1 + %7 = load i32, i32* %retval, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @unlink(i8* nonnull %pathname) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 32768 + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %5, i32 0, i32 2 + %6 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 1 + store i64 0, i64* %st_ino, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %st_mode4 = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 3 + %7 = load i32, i32* %st_mode4, align 8 + %and5 = and i32 %7, 61440 + %cmp6 = icmp eq i32 %and5, 16384 + %call8 = call i32* @__errno_location() #26 + br i1 %cmp6, label %if.then7, label %if.else9 + +if.then7: ; preds = %if.else + store i32 21, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else9: ; preds = %if.else + store i32 1, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0)) + %call11 = call i32* @__errno_location() #26 + store i32 1, i32* %call11, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.else9, %if.then7, %if.then1 + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @unlinkat(i32 %dirfd, i8* nonnull %pathname, i32 %flags) #3 { +entry: + %retval = alloca i32, align 4 + %dirfd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i32 %dirfd, i32* %dirfd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 32768 + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %5, i32 0, i32 2 + %6 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 1 + store i64 0, i64* %st_ino, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %st_mode4 = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 3 + %7 = load i32, i32* %st_mode4, align 8 + %and5 = and i32 %7, 61440 + %cmp6 = icmp eq i32 %and5, 16384 + %call8 = call i32* @__errno_location() #26 + br i1 %cmp6, label %if.then7, label %if.else9 + +if.then7: ; preds = %if.else + store i32 21, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else9: ; preds = %if.else + store i32 1, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0)) + %call11 = call i32* @__errno_location() #26 + store i32 1, i32* %call11, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.else9, %if.then7, %if.then1 + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @readlink(i8* nonnull %path, i8* nonnull %buf, i64 %bufsize) #3 { +entry: + %retval = alloca i64, align 8 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end20 + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 40960 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %5 = load i8*, i8** %path.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 0 + %6 = load i8, i8* %arrayidx, align 1 + %7 = load i8*, i8** %buf.addr, align 8 + %arrayidx2 = getelementptr inbounds i8, i8* %7, i64 0 + store i8 %6, i8* %arrayidx2, align 1 + %8 = load i64, i64* %bufsize.addr, align 8 + %cmp3 = icmp ugt i64 %8, 1 + br i1 %cmp3, label %if.then4, label %if.end + +if.then4: ; preds = %if.then1 + %9 = load i8*, i8** %buf.addr, align 8 + %arrayidx5 = getelementptr inbounds i8, i8* %9, i64 1 + store i8 46, i8* %arrayidx5, align 1 + br label %if.end + +if.end: ; preds = %if.then4, %if.then1 + %10 = load i64, i64* %bufsize.addr, align 8 + %cmp6 = icmp ugt i64 %10, 2 + br i1 %cmp6, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end + %11 = load i8*, i8** %buf.addr, align 8 + %arrayidx8 = getelementptr inbounds i8, i8* %11, i64 2 + store i8 108, i8* %arrayidx8, align 1 + br label %if.end9 + +if.end9: ; preds = %if.then7, %if.end + %12 = load i64, i64* %bufsize.addr, align 8 + %cmp10 = icmp ugt i64 %12, 3 + br i1 %cmp10, label %if.then11, label %if.end13 + +if.then11: ; preds = %if.end9 + %13 = load i8*, i8** %buf.addr, align 8 + %arrayidx12 = getelementptr inbounds i8, i8* %13, i64 3 + store i8 110, i8* %arrayidx12, align 1 + br label %if.end13 + +if.end13: ; preds = %if.then11, %if.end9 + %14 = load i64, i64* %bufsize.addr, align 8 + %cmp14 = icmp ugt i64 %14, 4 + br i1 %cmp14, label %if.then15, label %if.end17 + +if.then15: ; preds = %if.end13 + %15 = load i8*, i8** %buf.addr, align 8 + %arrayidx16 = getelementptr inbounds i8, i8* %15, i64 4 + store i8 107, i8* %arrayidx16, align 1 + br label %if.end17 + +if.end17: ; preds = %if.then15, %if.end13 + %16 = load i64, i64* %bufsize.addr, align 8 + %cmp18 = icmp ugt i64 %16, 5 + %17 = load i64, i64* %bufsize.addr, align 8 + %cond = select i1 %cmp18, i64 5, i64 %17 + store i64 %cond, i64* %retval, align 8 + br label %return + +if.else: ; preds = %if.then + %call19 = call i32* @__errno_location() #26 + store i32 22, i32* %call19, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end20: ; preds = %entry + %18 = load i8*, i8** %path.addr, align 8 + %19 = load i8*, i8** %buf.addr, align 8 + %20 = load i64, i64* %bufsize.addr, align 8 + %call21 = call i64 (i64, ...) @syscall(i64 89, i8* %18, i8* %19, i64 %20) #11 + store i64 %call21, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end20, %if.else, %if.end17 + %21 = load i64, i64* %retval, align 8 + ret i64 %21 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @select(i32 %nfds, %struct.fd_set* %read, %struct.fd_set* %write, %struct.fd_set* %except, %struct.timespec.0* %timeout) #3 { +entry: + %retval = alloca i32, align 4 + %nfds.addr = alloca i32, align 4 + %read.addr = alloca %struct.fd_set*, align 8 + %write.addr = alloca %struct.fd_set*, align 8 + %except.addr = alloca %struct.fd_set*, align 8 + %timeout.addr = alloca %struct.timespec.0*, align 8 + %in_read = alloca %struct.fd_set, align 8 + %in_write = alloca %struct.fd_set, align 8 + %in_except = alloca %struct.fd_set, align 8 + %os_read = alloca %struct.fd_set, align 8 + %os_write = alloca %struct.fd_set, align 8 + %os_except = alloca %struct.fd_set, align 8 + %i = alloca i32, align 4 + %count = alloca i32, align 4 + %os_nfds = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %tv = alloca %struct.timespec.0, align 8 + %r = alloca i32, align 4 + %f182 = alloca %struct.exe_file_t*, align 8 + store i32 %nfds, i32* %nfds.addr, align 4 + store %struct.fd_set* %read, %struct.fd_set** %read.addr, align 8 + store %struct.fd_set* %write, %struct.fd_set** %write.addr, align 8 + store %struct.fd_set* %except, %struct.fd_set** %except.addr, align 8 + store %struct.timespec.0* %timeout, %struct.timespec.0** %timeout.addr, align 8 + store i32 0, i32* %count, align 4 + store i32 0, i32* %os_nfds, align 4 + %0 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %tobool = icmp ne %struct.fd_set* %0, null + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %entry + %1 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %2 = bitcast %struct.fd_set* %in_read to i8* + %3 = bitcast %struct.fd_set* %1 to i8* + %4 = call i8* @memcpy(i8* %2, i8* %3, i64 128) + %5 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %6 = bitcast %struct.fd_set* %5 to i8* + %7 = call i8* @memset(i8* %6, i32 0, i64 128) + br label %if.end + +if.else: ; preds = %entry + %8 = bitcast %struct.fd_set* %in_read to i8* + %9 = call i8* @memset(i8* %8, i32 0, i64 128) + br label %if.end + +if.end: ; preds = %if.else, %if.then + %10 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %tobool1 = icmp ne %struct.fd_set* %10, null + br i1 %tobool1, label %if.then2, label %if.else3 + +if.then2: ; preds = %if.end + %11 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %12 = bitcast %struct.fd_set* %in_write to i8* + %13 = bitcast %struct.fd_set* %11 to i8* + %14 = call i8* @memcpy(i8* %12, i8* %13, i64 128) + %15 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %16 = bitcast %struct.fd_set* %15 to i8* + %17 = call i8* @memset(i8* %16, i32 0, i64 128) + br label %if.end4 + +if.else3: ; preds = %if.end + %18 = bitcast %struct.fd_set* %in_write to i8* + %19 = call i8* @memset(i8* %18, i32 0, i64 128) + br label %if.end4 + +if.end4: ; preds = %if.else3, %if.then2 + %20 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %tobool5 = icmp ne %struct.fd_set* %20, null + br i1 %tobool5, label %if.then6, label %if.else7 + +if.then6: ; preds = %if.end4 + %21 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %22 = bitcast %struct.fd_set* %in_except to i8* + %23 = bitcast %struct.fd_set* %21 to i8* + %24 = call i8* @memcpy(i8* %22, i8* %23, i64 128) + %25 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %26 = bitcast %struct.fd_set* %25 to i8* + %27 = call i8* @memset(i8* %26, i32 0, i64 128) + br label %if.end8 + +if.else7: ; preds = %if.end4 + %28 = bitcast %struct.fd_set* %in_except to i8* + %29 = call i8* @memset(i8* %28, i32 0, i64 128) + br label %if.end8 + +if.end8: ; preds = %if.else7, %if.then6 + %30 = bitcast %struct.fd_set* %os_read to i8* + %31 = call i8* @memset(i8* %30, i32 0, i64 128) + %32 = bitcast %struct.fd_set* %os_write to i8* + %33 = call i8* @memset(i8* %32, i32 0, i64 128) + %34 = bitcast %struct.fd_set* %os_except to i8* + %35 = call i8* @memset(i8* %34, i32 0, i64 128) + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end8 + %36 = load i32, i32* %i, align 4 + %37 = load i32, i32* %nfds.addr, align 4 + %cmp = icmp slt i32 %36, %37 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %fds_bits = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_read, i32 0, i32 0 + %38 = load i32, i32* %i, align 4 + %div = sdiv i32 %38, 64 + %idxprom = sext i32 %div to i64 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits, i64 0, i64 %idxprom + %39 = load i64, i64* %arrayidx, align 8 + %40 = load i32, i32* %i, align 4 + %rem = srem i32 %40, 64 + %shl = shl i32 1, %rem + %conv = sext i32 %shl to i64 + %and = and i64 %39, %conv + %tobool9 = icmp ne i64 %and, 0 + br i1 %tobool9, label %if.then29, label %lor.lhs.false + +lor.lhs.false: ; preds = %for.body + %fds_bits10 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_write, i32 0, i32 0 + %41 = load i32, i32* %i, align 4 + %div11 = sdiv i32 %41, 64 + %idxprom12 = sext i32 %div11 to i64 + %arrayidx13 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits10, i64 0, i64 %idxprom12 + %42 = load i64, i64* %arrayidx13, align 8 + %43 = load i32, i32* %i, align 4 + %rem14 = srem i32 %43, 64 + %shl15 = shl i32 1, %rem14 + %conv16 = sext i32 %shl15 to i64 + %and17 = and i64 %42, %conv16 + %tobool18 = icmp ne i64 %and17, 0 + br i1 %tobool18, label %if.then29, label %lor.lhs.false19 + +lor.lhs.false19: ; preds = %lor.lhs.false + %fds_bits20 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_except, i32 0, i32 0 + %44 = load i32, i32* %i, align 4 + %div21 = sdiv i32 %44, 64 + %idxprom22 = sext i32 %div21 to i64 + %arrayidx23 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits20, i64 0, i64 %idxprom22 + %45 = load i64, i64* %arrayidx23, align 8 + %46 = load i32, i32* %i, align 4 + %rem24 = srem i32 %46, 64 + %shl25 = shl i32 1, %rem24 + %conv26 = sext i32 %shl25 to i64 + %and27 = and i64 %45, %conv26 + %tobool28 = icmp ne i64 %and27, 0 + br i1 %tobool28, label %if.then29, label %for.inc + +if.then29: ; preds = %lor.lhs.false19, %lor.lhs.false, %for.body + %47 = load i32, i32* %i, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %47) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %48 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool30 = icmp ne %struct.exe_file_t* %48, null + br i1 %tobool30, label %if.else33, label %if.then31 + +if.then31: ; preds = %if.then29 + %call32 = call i32* @__errno_location() #26 + store i32 9, i32* %call32, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else33: ; preds = %if.then29 + %49 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %49, i32 0, i32 3 + %50 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool34 = icmp ne %struct.exe_disk_file_t* %50, null + %fds_bits36 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_read, i32 0, i32 0 + %51 = load i32, i32* %i, align 4 + %div37 = sdiv i32 %51, 64 + %idxprom38 = sext i32 %div37 to i64 + %arrayidx39 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits36, i64 0, i64 %idxprom38 + %52 = load i64, i64* %arrayidx39, align 8 + %53 = load i32, i32* %i, align 4 + %rem40 = srem i32 %53, 64 + %shl41 = shl i32 1, %rem40 + %conv42 = sext i32 %shl41 to i64 + %and43 = and i64 %52, %conv42 + %tobool44 = icmp ne i64 %and43, 0 + br i1 %tobool34, label %if.then35, label %if.else92 + +if.then35: ; preds = %if.else33 + br i1 %tobool44, label %if.then45, label %if.end53 + +if.then45: ; preds = %if.then35 + %54 = load i32, i32* %i, align 4 + %rem46 = srem i32 %54, 64 + %shl47 = shl i32 1, %rem46 + %conv48 = sext i32 %shl47 to i64 + %55 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %fds_bits49 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %55, i32 0, i32 0 + %56 = load i32, i32* %i, align 4 + %div50 = sdiv i32 %56, 64 + %idxprom51 = sext i32 %div50 to i64 + %arrayidx52 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits49, i64 0, i64 %idxprom51 + %57 = load i64, i64* %arrayidx52, align 8 + %or = or i64 %57, %conv48 + store i64 %or, i64* %arrayidx52, align 8 + br label %if.end53 + +if.end53: ; preds = %if.then45, %if.then35 + %fds_bits54 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_write, i32 0, i32 0 + %58 = load i32, i32* %i, align 4 + %div55 = sdiv i32 %58, 64 + %idxprom56 = sext i32 %div55 to i64 + %arrayidx57 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits54, i64 0, i64 %idxprom56 + %59 = load i64, i64* %arrayidx57, align 8 + %60 = load i32, i32* %i, align 4 + %rem58 = srem i32 %60, 64 + %shl59 = shl i32 1, %rem58 + %conv60 = sext i32 %shl59 to i64 + %and61 = and i64 %59, %conv60 + %tobool62 = icmp ne i64 %and61, 0 + br i1 %tobool62, label %if.then63, label %if.end72 + +if.then63: ; preds = %if.end53 + %61 = load i32, i32* %i, align 4 + %rem64 = srem i32 %61, 64 + %shl65 = shl i32 1, %rem64 + %conv66 = sext i32 %shl65 to i64 + %62 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %fds_bits67 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %62, i32 0, i32 0 + %63 = load i32, i32* %i, align 4 + %div68 = sdiv i32 %63, 64 + %idxprom69 = sext i32 %div68 to i64 + %arrayidx70 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits67, i64 0, i64 %idxprom69 + %64 = load i64, i64* %arrayidx70, align 8 + %or71 = or i64 %64, %conv66 + store i64 %or71, i64* %arrayidx70, align 8 + br label %if.end72 + +if.end72: ; preds = %if.then63, %if.end53 + %fds_bits73 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_except, i32 0, i32 0 + %65 = load i32, i32* %i, align 4 + %div74 = sdiv i32 %65, 64 + %idxprom75 = sext i32 %div74 to i64 + %arrayidx76 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits73, i64 0, i64 %idxprom75 + %66 = load i64, i64* %arrayidx76, align 8 + %67 = load i32, i32* %i, align 4 + %rem77 = srem i32 %67, 64 + %shl78 = shl i32 1, %rem77 + %conv79 = sext i32 %shl78 to i64 + %and80 = and i64 %66, %conv79 + %tobool81 = icmp ne i64 %and80, 0 + br i1 %tobool81, label %if.then82, label %if.end91 + +if.then82: ; preds = %if.end72 + %68 = load i32, i32* %i, align 4 + %rem83 = srem i32 %68, 64 + %shl84 = shl i32 1, %rem83 + %conv85 = sext i32 %shl84 to i64 + %69 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %fds_bits86 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %69, i32 0, i32 0 + %70 = load i32, i32* %i, align 4 + %div87 = sdiv i32 %70, 64 + %idxprom88 = sext i32 %div87 to i64 + %arrayidx89 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits86, i64 0, i64 %idxprom88 + %71 = load i64, i64* %arrayidx89, align 8 + %or90 = or i64 %71, %conv85 + store i64 %or90, i64* %arrayidx89, align 8 + br label %if.end91 + +if.end91: ; preds = %if.then82, %if.end72 + %72 = load i32, i32* %count, align 4 + %inc = add nsw i32 %72, 1 + store i32 %inc, i32* %count, align 4 + br label %for.inc + +if.else92: ; preds = %if.else33 + br i1 %tobool44, label %if.then102, label %if.end112 + +if.then102: ; preds = %if.else92 + %73 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %73, i32 0, i32 0 + %74 = load i32, i32* %fd, align 8 + %rem103 = srem i32 %74, 64 + %shl104 = shl i32 1, %rem103 + %conv105 = sext i32 %shl104 to i64 + %fds_bits106 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_read, i32 0, i32 0 + %75 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd107 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %75, i32 0, i32 0 + %76 = load i32, i32* %fd107, align 8 + %div108 = sdiv i32 %76, 64 + %idxprom109 = sext i32 %div108 to i64 + %arrayidx110 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits106, i64 0, i64 %idxprom109 + %77 = load i64, i64* %arrayidx110, align 8 + %or111 = or i64 %77, %conv105 + store i64 %or111, i64* %arrayidx110, align 8 + br label %if.end112 + +if.end112: ; preds = %if.then102, %if.else92 + %fds_bits113 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_write, i32 0, i32 0 + %78 = load i32, i32* %i, align 4 + %div114 = sdiv i32 %78, 64 + %idxprom115 = sext i32 %div114 to i64 + %arrayidx116 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits113, i64 0, i64 %idxprom115 + %79 = load i64, i64* %arrayidx116, align 8 + %80 = load i32, i32* %i, align 4 + %rem117 = srem i32 %80, 64 + %shl118 = shl i32 1, %rem117 + %conv119 = sext i32 %shl118 to i64 + %and120 = and i64 %79, %conv119 + %tobool121 = icmp ne i64 %and120, 0 + br i1 %tobool121, label %if.then122, label %if.end133 + +if.then122: ; preds = %if.end112 + %81 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd123 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %81, i32 0, i32 0 + %82 = load i32, i32* %fd123, align 8 + %rem124 = srem i32 %82, 64 + %shl125 = shl i32 1, %rem124 + %conv126 = sext i32 %shl125 to i64 + %fds_bits127 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_write, i32 0, i32 0 + %83 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd128 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %83, i32 0, i32 0 + %84 = load i32, i32* %fd128, align 8 + %div129 = sdiv i32 %84, 64 + %idxprom130 = sext i32 %div129 to i64 + %arrayidx131 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits127, i64 0, i64 %idxprom130 + %85 = load i64, i64* %arrayidx131, align 8 + %or132 = or i64 %85, %conv126 + store i64 %or132, i64* %arrayidx131, align 8 + br label %if.end133 + +if.end133: ; preds = %if.then122, %if.end112 + %fds_bits134 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_except, i32 0, i32 0 + %86 = load i32, i32* %i, align 4 + %div135 = sdiv i32 %86, 64 + %idxprom136 = sext i32 %div135 to i64 + %arrayidx137 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits134, i64 0, i64 %idxprom136 + %87 = load i64, i64* %arrayidx137, align 8 + %88 = load i32, i32* %i, align 4 + %rem138 = srem i32 %88, 64 + %shl139 = shl i32 1, %rem138 + %conv140 = sext i32 %shl139 to i64 + %and141 = and i64 %87, %conv140 + %tobool142 = icmp ne i64 %and141, 0 + br i1 %tobool142, label %if.then143, label %if.end154 + +if.then143: ; preds = %if.end133 + %89 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd144 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %89, i32 0, i32 0 + %90 = load i32, i32* %fd144, align 8 + %rem145 = srem i32 %90, 64 + %shl146 = shl i32 1, %rem145 + %conv147 = sext i32 %shl146 to i64 + %fds_bits148 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_except, i32 0, i32 0 + %91 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd149 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %91, i32 0, i32 0 + %92 = load i32, i32* %fd149, align 8 + %div150 = sdiv i32 %92, 64 + %idxprom151 = sext i32 %div150 to i64 + %arrayidx152 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits148, i64 0, i64 %idxprom151 + %93 = load i64, i64* %arrayidx152, align 8 + %or153 = or i64 %93, %conv147 + store i64 %or153, i64* %arrayidx152, align 8 + br label %if.end154 + +if.end154: ; preds = %if.then143, %if.end133 + %94 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd155 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %94, i32 0, i32 0 + %95 = load i32, i32* %fd155, align 8 + %96 = load i32, i32* %os_nfds, align 4 + %cmp156 = icmp sge i32 %95, %96 + br i1 %cmp156, label %if.then158, label %for.inc + +if.then158: ; preds = %if.end154 + %97 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd159 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %97, i32 0, i32 0 + %98 = load i32, i32* %fd159, align 8 + %add = add nsw i32 %98, 1 + store i32 %add, i32* %os_nfds, align 4 + br label %for.inc + +for.inc: ; preds = %lor.lhs.false19, %if.end91, %if.then158, %if.end154 + %99 = load i32, i32* %i, align 4 + %inc164 = add nsw i32 %99, 1 + store i32 %inc164, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %100 = load i32, i32* %os_nfds, align 4 + %cmp165 = icmp sgt i32 %100, 0 + br i1 %cmp165, label %if.then167, label %if.end262 + +if.then167: ; preds = %for.end + %101 = bitcast %struct.timespec.0* %tv to i8* + %102 = call i8* @memset(i8* %101, i32 0, i64 16) + %103 = load i32, i32* %os_nfds, align 4 + %call168 = call i64 (i64, ...) @syscall(i64 23, i32 %103, %struct.fd_set* %os_read, %struct.fd_set* %os_write, %struct.fd_set* %os_except, %struct.timespec.0* %tv) #11 + %conv169 = trunc i64 %call168 to i32 + store i32 %conv169, i32* %r, align 4 + %104 = load i32, i32* %r, align 4 + %cmp170 = icmp eq i32 %104, -1 + br i1 %cmp170, label %if.then172, label %if.else176 + +if.then172: ; preds = %if.then167 + %105 = load i32, i32* %count, align 4 + %tobool173 = icmp ne i32 %105, 0 + br i1 %tobool173, label %if.end262, label %if.then174 + +if.then174: ; preds = %if.then172 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else176: ; preds = %if.then167 + %106 = load i32, i32* %r, align 4 + %107 = load i32, i32* %count, align 4 + %add177 = add nsw i32 %107, %106 + store i32 %add177, i32* %count, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond178 + +for.cond178: ; preds = %for.inc258, %if.else176 + %108 = load i32, i32* %i, align 4 + %109 = load i32, i32* %nfds.addr, align 4 + %cmp179 = icmp slt i32 %108, %109 + br i1 %cmp179, label %for.body181, label %if.end262 + +for.body181: ; preds = %for.cond178 + %110 = load i32, i32* %i, align 4 + %call183 = call %struct.exe_file_t* @__get_file(i32 %110) + store %struct.exe_file_t* %call183, %struct.exe_file_t** %f182, align 8 + %111 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %tobool184 = icmp ne %struct.exe_file_t* %111, null + br i1 %tobool184, label %land.lhs.true, label %for.inc258 + +land.lhs.true: ; preds = %for.body181 + %112 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %dfile185 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %112, i32 0, i32 3 + %113 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile185, align 8 + %tobool186 = icmp ne %struct.exe_disk_file_t* %113, null + br i1 %tobool186, label %for.inc258, label %if.then187 + +if.then187: ; preds = %land.lhs.true + %114 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %tobool188 = icmp ne %struct.fd_set* %114, null + br i1 %tobool188, label %land.lhs.true189, label %if.end210 + +land.lhs.true189: ; preds = %if.then187 + %fds_bits190 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_read, i32 0, i32 0 + %115 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd191 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %115, i32 0, i32 0 + %116 = load i32, i32* %fd191, align 8 + %div192 = sdiv i32 %116, 64 + %idxprom193 = sext i32 %div192 to i64 + %arrayidx194 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits190, i64 0, i64 %idxprom193 + %117 = load i64, i64* %arrayidx194, align 8 + %118 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd195 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %118, i32 0, i32 0 + %119 = load i32, i32* %fd195, align 8 + %rem196 = srem i32 %119, 64 + %shl197 = shl i32 1, %rem196 + %conv198 = sext i32 %shl197 to i64 + %and199 = and i64 %117, %conv198 + %tobool200 = icmp ne i64 %and199, 0 + br i1 %tobool200, label %if.then201, label %if.end210 + +if.then201: ; preds = %land.lhs.true189 + %120 = load i32, i32* %i, align 4 + %rem202 = srem i32 %120, 64 + %shl203 = shl i32 1, %rem202 + %conv204 = sext i32 %shl203 to i64 + %121 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %fds_bits205 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %121, i32 0, i32 0 + %122 = load i32, i32* %i, align 4 + %div206 = sdiv i32 %122, 64 + %idxprom207 = sext i32 %div206 to i64 + %arrayidx208 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits205, i64 0, i64 %idxprom207 + %123 = load i64, i64* %arrayidx208, align 8 + %or209 = or i64 %123, %conv204 + store i64 %or209, i64* %arrayidx208, align 8 + br label %if.end210 + +if.end210: ; preds = %if.then201, %land.lhs.true189, %if.then187 + %124 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %tobool211 = icmp ne %struct.fd_set* %124, null + br i1 %tobool211, label %land.lhs.true212, label %if.end233 + +land.lhs.true212: ; preds = %if.end210 + %fds_bits213 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_write, i32 0, i32 0 + %125 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd214 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %125, i32 0, i32 0 + %126 = load i32, i32* %fd214, align 8 + %div215 = sdiv i32 %126, 64 + %idxprom216 = sext i32 %div215 to i64 + %arrayidx217 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits213, i64 0, i64 %idxprom216 + %127 = load i64, i64* %arrayidx217, align 8 + %128 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd218 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %128, i32 0, i32 0 + %129 = load i32, i32* %fd218, align 8 + %rem219 = srem i32 %129, 64 + %shl220 = shl i32 1, %rem219 + %conv221 = sext i32 %shl220 to i64 + %and222 = and i64 %127, %conv221 + %tobool223 = icmp ne i64 %and222, 0 + br i1 %tobool223, label %if.then224, label %if.end233 + +if.then224: ; preds = %land.lhs.true212 + %130 = load i32, i32* %i, align 4 + %rem225 = srem i32 %130, 64 + %shl226 = shl i32 1, %rem225 + %conv227 = sext i32 %shl226 to i64 + %131 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %fds_bits228 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %131, i32 0, i32 0 + %132 = load i32, i32* %i, align 4 + %div229 = sdiv i32 %132, 64 + %idxprom230 = sext i32 %div229 to i64 + %arrayidx231 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits228, i64 0, i64 %idxprom230 + %133 = load i64, i64* %arrayidx231, align 8 + %or232 = or i64 %133, %conv227 + store i64 %or232, i64* %arrayidx231, align 8 + br label %if.end233 + +if.end233: ; preds = %if.then224, %land.lhs.true212, %if.end210 + %134 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %tobool234 = icmp ne %struct.fd_set* %134, null + br i1 %tobool234, label %land.lhs.true235, label %for.inc258 + +land.lhs.true235: ; preds = %if.end233 + %fds_bits236 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_except, i32 0, i32 0 + %135 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd237 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %135, i32 0, i32 0 + %136 = load i32, i32* %fd237, align 8 + %div238 = sdiv i32 %136, 64 + %idxprom239 = sext i32 %div238 to i64 + %arrayidx240 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits236, i64 0, i64 %idxprom239 + %137 = load i64, i64* %arrayidx240, align 8 + %138 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd241 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %138, i32 0, i32 0 + %139 = load i32, i32* %fd241, align 8 + %rem242 = srem i32 %139, 64 + %shl243 = shl i32 1, %rem242 + %conv244 = sext i32 %shl243 to i64 + %and245 = and i64 %137, %conv244 + %tobool246 = icmp ne i64 %and245, 0 + br i1 %tobool246, label %if.then247, label %for.inc258 + +if.then247: ; preds = %land.lhs.true235 + %140 = load i32, i32* %i, align 4 + %rem248 = srem i32 %140, 64 + %shl249 = shl i32 1, %rem248 + %conv250 = sext i32 %shl249 to i64 + %141 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %fds_bits251 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %141, i32 0, i32 0 + %142 = load i32, i32* %i, align 4 + %div252 = sdiv i32 %142, 64 + %idxprom253 = sext i32 %div252 to i64 + %arrayidx254 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits251, i64 0, i64 %idxprom253 + %143 = load i64, i64* %arrayidx254, align 8 + %or255 = or i64 %143, %conv250 + store i64 %or255, i64* %arrayidx254, align 8 + br label %for.inc258 + +for.inc258: ; preds = %for.body181, %land.lhs.true, %if.then247, %land.lhs.true235, %if.end233 + %144 = load i32, i32* %i, align 4 + %inc259 = add nsw i32 %144, 1 + store i32 %inc259, i32* %i, align 4 + br label %for.cond178 + +if.end262: ; preds = %if.then172, %for.cond178, %for.end + %145 = load i32, i32* %count, align 4 + store i32 %145, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end262, %if.then174, %if.then31 + %146 = load i32, i32* %retval, align 4 + ret i32 %146 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chroot(i8* nonnull %path) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %0, i64 0 + %1 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call = call i32* @__errno_location() #26 + store i32 2, i32* %call, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %path.addr, align 8 + %arrayidx2 = getelementptr inbounds i8, i8* %2, i64 0 + %3 = load i8, i8* %arrayidx2, align 1 + %conv3 = sext i8 %3 to i32 + %cmp4 = icmp eq i32 %conv3, 47 + br i1 %cmp4, label %land.lhs.true, label %if.end11 + +land.lhs.true: ; preds = %if.end + %4 = load i8*, i8** %path.addr, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %4, i64 1 + %5 = load i8, i8* %arrayidx6, align 1 + %conv7 = sext i8 %5 to i32 + %cmp8 = icmp eq i32 %conv7, 0 + br i1 %cmp8, label %if.then10, label %if.end11 + +if.then10: ; preds = %land.lhs.true + store i32 0, i32* %retval, align 4 + br label %return + +if.end11: ; preds = %land.lhs.true, %if.end + call void @gs_warning(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.24, i64 0, i64 0)) + %call12 = call i32* @__errno_location() #26 + store i32 2, i32* %call12, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end11, %if.then10, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @open(i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.2], align 16 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.2* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.2* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i8*, i8** %pathname.addr, align 8 + %8 = load i32, i32* %flags.addr, align 4 + %9 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_open(i8* %7, i32 %8, i32 %9) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @openat(i32 %fd, i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %fd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.2], align 16 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.2* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.2* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i32, i32* %fd.addr, align 4 + %8 = load i8*, i8** %pathname.addr, align 8 + %9 = load i32, i32* %flags.addr, align 4 + %10 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_openat(i32 %7, i8* %8, i32 %9, i32 %10) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @lseek(i32 %fd, i64 %off, i32 %whence) #3 { +entry: + %fd.addr = alloca i32, align 4 + %off.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %off, i64* %off.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %off.addr, align 8 + %2 = load i32, i32* %whence.addr, align 4 + %call = call i64 @__fd_lseek(i32 %0, i64 %1, i32 %2) + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__xstat(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__stat64_to_stat(%struct.stat64* %a, %struct.stat64* %b) #3 { +entry: + %a.addr = alloca %struct.stat64*, align 8 + %b.addr = alloca %struct.stat64*, align 8 + store %struct.stat64* %a, %struct.stat64** %a.addr, align 8 + store %struct.stat64* %b, %struct.stat64** %b.addr, align 8 + %0 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_dev = getelementptr inbounds %struct.stat64, %struct.stat64* %0, i32 0, i32 0 + %1 = load i64, i64* %st_dev, align 8 + %2 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_dev1 = getelementptr inbounds %struct.stat64, %struct.stat64* %2, i32 0, i32 0 + store i64 %1, i64* %st_dev1, align 8 + %3 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 1 + %4 = load i64, i64* %st_ino, align 8 + %5 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_ino2 = getelementptr inbounds %struct.stat64, %struct.stat64* %5, i32 0, i32 1 + store i64 %4, i64* %st_ino2, align 8 + %6 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 3 + %7 = load i32, i32* %st_mode, align 8 + %8 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_mode3 = getelementptr inbounds %struct.stat64, %struct.stat64* %8, i32 0, i32 3 + store i32 %7, i32* %st_mode3, align 8 + %9 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_nlink = getelementptr inbounds %struct.stat64, %struct.stat64* %9, i32 0, i32 2 + %10 = load i64, i64* %st_nlink, align 8 + %11 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_nlink4 = getelementptr inbounds %struct.stat64, %struct.stat64* %11, i32 0, i32 2 + store i64 %10, i64* %st_nlink4, align 8 + %12 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_uid = getelementptr inbounds %struct.stat64, %struct.stat64* %12, i32 0, i32 4 + %13 = load i32, i32* %st_uid, align 4 + %14 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_uid5 = getelementptr inbounds %struct.stat64, %struct.stat64* %14, i32 0, i32 4 + store i32 %13, i32* %st_uid5, align 4 + %15 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_gid = getelementptr inbounds %struct.stat64, %struct.stat64* %15, i32 0, i32 5 + %16 = load i32, i32* %st_gid, align 8 + %17 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_gid6 = getelementptr inbounds %struct.stat64, %struct.stat64* %17, i32 0, i32 5 + store i32 %16, i32* %st_gid6, align 8 + %18 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_rdev = getelementptr inbounds %struct.stat64, %struct.stat64* %18, i32 0, i32 7 + %19 = load i64, i64* %st_rdev, align 8 + %20 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_rdev7 = getelementptr inbounds %struct.stat64, %struct.stat64* %20, i32 0, i32 7 + store i64 %19, i64* %st_rdev7, align 8 + %21 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_size = getelementptr inbounds %struct.stat64, %struct.stat64* %21, i32 0, i32 8 + %22 = load i64, i64* %st_size, align 8 + %23 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_size8 = getelementptr inbounds %struct.stat64, %struct.stat64* %23, i32 0, i32 8 + store i64 %22, i64* %st_size8, align 8 + %24 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_atim = getelementptr inbounds %struct.stat64, %struct.stat64* %24, i32 0, i32 11 + %tv_sec = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %st_atim, i32 0, i32 0 + %25 = load i64, i64* %tv_sec, align 8 + %26 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_atim9 = getelementptr inbounds %struct.stat64, %struct.stat64* %26, i32 0, i32 11 + %tv_sec10 = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %st_atim9, i32 0, i32 0 + store i64 %25, i64* %tv_sec10, align 8 + %27 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_mtim = getelementptr inbounds %struct.stat64, %struct.stat64* %27, i32 0, i32 12 + %tv_sec11 = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %st_mtim, i32 0, i32 0 + %28 = load i64, i64* %tv_sec11, align 8 + %29 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_mtim12 = getelementptr inbounds %struct.stat64, %struct.stat64* %29, i32 0, i32 12 + %tv_sec13 = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %st_mtim12, i32 0, i32 0 + store i64 %28, i64* %tv_sec13, align 8 + %30 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_ctim = getelementptr inbounds %struct.stat64, %struct.stat64* %30, i32 0, i32 13 + %tv_sec14 = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %st_ctim, i32 0, i32 0 + %31 = load i64, i64* %tv_sec14, align 8 + %32 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_ctim15 = getelementptr inbounds %struct.stat64, %struct.stat64* %32, i32 0, i32 13 + %tv_sec16 = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %st_ctim15, i32 0, i32 0 + store i64 %31, i64* %tv_sec16, align 8 + %33 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_blksize = getelementptr inbounds %struct.stat64, %struct.stat64* %33, i32 0, i32 9 + %34 = load i64, i64* %st_blksize, align 8 + %35 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_blksize17 = getelementptr inbounds %struct.stat64, %struct.stat64* %35, i32 0, i32 9 + store i64 %34, i64* %st_blksize17, align 8 + %36 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_blocks = getelementptr inbounds %struct.stat64, %struct.stat64* %36, i32 0, i32 10 + %37 = load i64, i64* %st_blocks, align 8 + %38 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_blocks18 = getelementptr inbounds %struct.stat64, %struct.stat64* %38, i32 0, i32 10 + store i64 %37, i64* %st_blocks18, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @stat(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__lxstat(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @lstat(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fxstat(i32 %vers, i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %vers, i32* %vers.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstat(i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @ftruncate(i32 %fd, i64 %length) #3 { +entry: + %fd.addr = alloca i32, align 4 + %length.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %length, i64* %length.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %length.addr, align 8 + %call = call i32 @__fd_ftruncate(i32 %0, i64 %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @statfs(i8* nonnull %path, %struct.statfs* nonnull %buf32) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf32.addr = alloca %struct.statfs*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.statfs* %buf32, %struct.statfs** %buf32.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.statfs*, %struct.statfs** %buf32.addr, align 8 + %call = call i32 @__fd_statfs(i8* %0, %struct.statfs* %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @getdents(i32 %fd, %struct.dirent64* %dirp, i64 %nbytes) #3 { +entry: + %fd.addr = alloca i32, align 4 + %dirp.addr = alloca %struct.dirent64*, align 8 + %nbytes.addr = alloca i64, align 8 + %dp64 = alloca %struct.dirent64*, align 8 + %res = alloca i64, align 8 + %end = alloca %struct.dirent64*, align 8 + %dp = alloca %struct.dirent64*, align 8 + %name_len = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.dirent64* %dirp, %struct.dirent64** %dirp.addr, align 8 + store i64 %nbytes, i64* %nbytes.addr, align 8 + %0 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %1 = bitcast %struct.dirent64* %0 to %struct.dirent64* + store %struct.dirent64* %1, %struct.dirent64** %dp64, align 8 + %2 = load i32, i32* %fd.addr, align 4 + %3 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %4 = load i64, i64* %nbytes.addr, align 8 + %conv = trunc i64 %4 to i32 + %call = call i32 @__fd_getdents(i32 %2, %struct.dirent64* %3, i32 %conv) + %conv1 = sext i32 %call to i64 + store i64 %conv1, i64* %res, align 8 + %5 = load i64, i64* %res, align 8 + %cmp = icmp sgt i64 %5, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %6 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %7 = bitcast %struct.dirent64* %6 to i8* + %8 = load i64, i64* %res, align 8 + %add.ptr = getelementptr inbounds i8, i8* %7, i64 %8 + %9 = bitcast i8* %add.ptr to %struct.dirent64* + store %struct.dirent64* %9, %struct.dirent64** %end, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.then + %10 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %11 = load %struct.dirent64*, %struct.dirent64** %end, align 8 + %cmp3 = icmp ult %struct.dirent64* %10, %11 + br i1 %cmp3, label %while.body, label %if.end + +while.body: ; preds = %while.cond + %12 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %13 = bitcast %struct.dirent64* %12 to %struct.dirent64* + store %struct.dirent64* %13, %struct.dirent64** %dp, align 8 + %14 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_reclen = getelementptr inbounds %struct.dirent64, %struct.dirent64* %14, i32 0, i32 2 + %15 = load i16, i16* %d_reclen, align 8 + %conv5 = zext i16 %15 to i64 + %sub = sub i64 %conv5, ptrtoint ([256 x i8]* getelementptr inbounds (%struct.dirent64, %struct.dirent64* null, i32 0, i32 4) to i64) + store i64 %sub, i64* %name_len, align 8 + %16 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_ino = getelementptr inbounds %struct.dirent64, %struct.dirent64* %16, i32 0, i32 0 + %17 = load i64, i64* %d_ino, align 8 + %18 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_ino6 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %18, i32 0, i32 0 + store i64 %17, i64* %d_ino6, align 8 + %19 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_off = getelementptr inbounds %struct.dirent64, %struct.dirent64* %19, i32 0, i32 1 + %20 = load i64, i64* %d_off, align 8 + %21 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_off7 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %21, i32 0, i32 1 + store i64 %20, i64* %d_off7, align 8 + %22 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_reclen8 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %22, i32 0, i32 2 + %23 = load i16, i16* %d_reclen8, align 8 + %24 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_reclen9 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %24, i32 0, i32 2 + store i16 %23, i16* %d_reclen9, align 8 + %25 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_type = getelementptr inbounds %struct.dirent64, %struct.dirent64* %25, i32 0, i32 3 + %26 = load i8, i8* %d_type, align 2 + %27 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_type10 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %27, i32 0, i32 3 + store i8 %26, i8* %d_type10, align 2 + %28 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_name = getelementptr inbounds %struct.dirent64, %struct.dirent64* %28, i32 0, i32 4 + %arraydecay = getelementptr inbounds [256 x i8], [256 x i8]* %d_name, i64 0, i64 0 + %29 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_name11 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %29, i32 0, i32 4 + %arraydecay12 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name11, i64 0, i64 0 + %30 = load i64, i64* %name_len, align 8 + %31 = call i8* @memmove(i8* %arraydecay, i8* %arraydecay12, i64 %30) + %32 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %33 = bitcast %struct.dirent64* %32 to i8* + %34 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_reclen13 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %34, i32 0, i32 2 + %35 = load i16, i16* %d_reclen13, align 8 + %conv14 = zext i16 %35 to i32 + %idx.ext = sext i32 %conv14 to i64 + %add.ptr15 = getelementptr inbounds i8, i8* %33, i64 %idx.ext + %36 = bitcast i8* %add.ptr15 to %struct.dirent64* + store %struct.dirent64* %36, %struct.dirent64** %dp64, align 8 + br label %while.cond + +if.end: ; preds = %while.cond, %entry + %37 = load i64, i64* %res, align 8 + ret i64 %37 +} + +; Function Attrs: argmemonly nounwind willreturn +declare void @llvm.memmove.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i1 immarg) #9 + +; Function Attrs: noinline nounwind uwtable +define dso_local void @klee_init_env(i32* %argcPtr, i8*** %argvPtr) #3 { +entry: + %argcPtr.addr = alloca i32*, align 8 + %argvPtr.addr = alloca i8***, align 8 + %argc = alloca i32, align 4 + %argv = alloca i8**, align 8 + %new_argc = alloca i32, align 4 + %n_args = alloca i32, align 4 + %new_argv = alloca [1024 x i8*], align 16 + %max_len = alloca i32, align 4 + %min_argvs = alloca i32, align 4 + %max_argvs = alloca i32, align 4 + %sym_files = alloca i32, align 4 + %sym_file_len = alloca i32, align 4 + %sym_stdin_len = alloca i32, align 4 + %sym_stdout_flag = alloca i32, align 4 + %save_all_writes_flag = alloca i32, align 4 + %fd_fail = alloca i32, align 4 + %final_argv = alloca i8**, align 8 + %sym_arg_name = alloca [6 x i8], align 1 + %sym_arg_num = alloca i32, align 4 + %k = alloca i32, align 4 + %i = alloca i32, align 4 + %msg = alloca i8*, align 8 + %msg40 = alloca i8*, align 8 + %msg105 = alloca i8*, align 8 + %msg145 = alloca i8*, align 8 + %msg215 = alloca i8*, align 8 + store i32* %argcPtr, i32** %argcPtr.addr, align 8 + store i8*** %argvPtr, i8**** %argvPtr.addr, align 8 + %0 = load i32*, i32** %argcPtr.addr, align 8 + %1 = load i32, i32* %0, align 4 + store i32 %1, i32* %argc, align 4 + %2 = load i8***, i8**** %argvPtr.addr, align 8 + %3 = load i8**, i8*** %2, align 8 + store i8** %3, i8*** %argv, align 8 + store i32 0, i32* %new_argc, align 4 + store i32 0, i32* %sym_files, align 4 + store i32 0, i32* %sym_file_len, align 4 + store i32 0, i32* %sym_stdin_len, align 4 + store i32 0, i32* %sym_stdout_flag, align 4 + store i32 0, i32* %save_all_writes_flag, align 4 + store i32 0, i32* %fd_fail, align 4 + %4 = bitcast [6 x i8]* %sym_arg_name to i8* + %5 = call i8* @memcpy(i8* %4, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @__const.klee_init_env.sym_arg_name, i32 0, i32 0), i64 6) + store i32 0, i32* %sym_arg_num, align 4 + store i32 0, i32* %k, align 4 + %arrayidx = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 5 + store i8 0, i8* %arrayidx, align 1 + %6 = load i32, i32* %argc, align 4 + %cmp = icmp eq i32 %6, 2 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %7 = load i8**, i8*** %argv, align 8 + %arrayidx1 = getelementptr inbounds i8*, i8** %7, i64 1 + %8 = load i8*, i8** %arrayidx1, align 8 + %call = call i32 @__streq(i8* %8, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.29, i64 0, i64 0)) + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + call void @__emit_error(i8* getelementptr inbounds ([964 x i8], [964 x i8]* @.str.1.30, i64 0, i64 0)) + br label %if.end + +if.end: ; preds = %if.then, %land.lhs.true, %entry + br label %while.cond + +while.cond: ; preds = %if.end239, %if.end + %9 = load i32, i32* %k, align 4 + %10 = load i32, i32* %argc, align 4 + %cmp2 = icmp slt i32 %9, %10 + br i1 %cmp2, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %11 = load i8**, i8*** %argv, align 8 + %12 = load i32, i32* %k, align 4 + %idxprom = sext i32 %12 to i64 + %arrayidx3 = getelementptr inbounds i8*, i8** %11, i64 %idxprom + %13 = load i8*, i8** %arrayidx3, align 8 + %call4 = call i32 @__streq(i8* %13, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.2.31, i64 0, i64 0)) + %tobool5 = icmp ne i32 %call4, 0 + br i1 %tobool5, label %if.then10, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.body + %14 = load i8**, i8*** %argv, align 8 + %15 = load i32, i32* %k, align 4 + %idxprom6 = sext i32 %15 to i64 + %arrayidx7 = getelementptr inbounds i8*, i8** %14, i64 %idxprom6 + %16 = load i8*, i8** %arrayidx7, align 8 + %call8 = call i32 @__streq(i8* %16, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.32, i64 0, i64 0)) + %tobool9 = icmp ne i32 %call8, 0 + br i1 %tobool9, label %if.then10, label %if.else + +if.then10: ; preds = %lor.lhs.false, %while.body + store i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.4.33, i64 0, i64 0), i8** %msg, align 8 + %17 = load i32, i32* %k, align 4 + %inc = add nsw i32 %17, 1 + store i32 %inc, i32* %k, align 4 + %18 = load i32, i32* %argc, align 4 + %cmp11 = icmp eq i32 %inc, %18 + br i1 %cmp11, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.then10 + %19 = load i8*, i8** %msg, align 8 + call void @__emit_error(i8* %19) + br label %if.end13 + +if.end13: ; preds = %if.then12, %if.then10 + %20 = load i8**, i8*** %argv, align 8 + %21 = load i32, i32* %k, align 4 + %inc14 = add nsw i32 %21, 1 + store i32 %inc14, i32* %k, align 4 + %idxprom15 = sext i32 %21 to i64 + %arrayidx16 = getelementptr inbounds i8*, i8** %20, i64 %idxprom15 + %22 = load i8*, i8** %arrayidx16, align 8 + %23 = load i8*, i8** %msg, align 8 + %call17 = call i64 @__str_to_int(i8* %22, i8* %23) + %conv = trunc i64 %call17 to i32 + store i32 %conv, i32* %max_len, align 4 + %24 = load i32, i32* %sym_arg_num, align 4 + %cmp18 = icmp ugt i32 %24, 99 + br i1 %cmp18, label %if.then20, label %if.end21 + +if.then20: ; preds = %if.end13 + call void @__emit_error(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.5.34, i64 0, i64 0)) + br label %if.end21 + +if.end21: ; preds = %if.then20, %if.end13 + %25 = load i32, i32* %sym_arg_num, align 4 + %div = udiv i32 %25, 10 + %add = add i32 48, %div + %conv22 = trunc i32 %add to i8 + %arrayidx23 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 3 + store i8 %conv22, i8* %arrayidx23, align 1 + %26 = load i32, i32* %sym_arg_num, align 4 + %rem = urem i32 %26, 10 + %add24 = add i32 48, %rem + %conv25 = trunc i32 %add24 to i8 + %arrayidx26 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 4 + store i8 %conv25, i8* %arrayidx26, align 1 + %27 = load i32, i32* %sym_arg_num, align 4 + %inc27 = add i32 %27, 1 + store i32 %inc27, i32* %sym_arg_num, align 4 + %arraydecay = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %28 = load i32, i32* %max_len, align 4 + %arraydecay28 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 0 + %call29 = call i8* @__get_sym_str(i32 %28, i8* %arraydecay28) + call void @__add_arg(i32* %new_argc, i8** %arraydecay, i8* %call29, i32 1024) + br label %if.end239 + +if.else: ; preds = %lor.lhs.false + %29 = load i8**, i8*** %argv, align 8 + %30 = load i32, i32* %k, align 4 + %idxprom30 = sext i32 %30 to i64 + %arrayidx31 = getelementptr inbounds i8*, i8** %29, i64 %idxprom30 + %31 = load i8*, i8** %arrayidx31, align 8 + %call32 = call i32 @__streq(i8* %31, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.6.35, i64 0, i64 0)) + %tobool33 = icmp ne i32 %call32, 0 + br i1 %tobool33, label %if.then39, label %lor.lhs.false34 + +lor.lhs.false34: ; preds = %if.else + %32 = load i8**, i8*** %argv, align 8 + %33 = load i32, i32* %k, align 4 + %idxprom35 = sext i32 %33 to i64 + %arrayidx36 = getelementptr inbounds i8*, i8** %32, i64 %idxprom35 + %34 = load i8*, i8** %arrayidx36, align 8 + %call37 = call i32 @__streq(i8* %34, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.7.36, i64 0, i64 0)) + %tobool38 = icmp ne i32 %call37, 0 + br i1 %tobool38, label %if.then39, label %if.else94 + +if.then39: ; preds = %lor.lhs.false34, %if.else + store i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.8.37, i64 0, i64 0), i8** %msg40, align 8 + %35 = load i32, i32* %k, align 4 + %add41 = add nsw i32 %35, 3 + %36 = load i32, i32* %argc, align 4 + %cmp42 = icmp sge i32 %add41, %36 + br i1 %cmp42, label %if.then44, label %if.end45 + +if.then44: ; preds = %if.then39 + %37 = load i8*, i8** %msg40, align 8 + call void @__emit_error(i8* %37) + br label %if.end45 + +if.end45: ; preds = %if.then44, %if.then39 + %38 = load i32, i32* %k, align 4 + %inc46 = add nsw i32 %38, 1 + store i32 %inc46, i32* %k, align 4 + %39 = load i8**, i8*** %argv, align 8 + %40 = load i32, i32* %k, align 4 + %inc47 = add nsw i32 %40, 1 + store i32 %inc47, i32* %k, align 4 + %idxprom48 = sext i32 %40 to i64 + %arrayidx49 = getelementptr inbounds i8*, i8** %39, i64 %idxprom48 + %41 = load i8*, i8** %arrayidx49, align 8 + %42 = load i8*, i8** %msg40, align 8 + %call50 = call i64 @__str_to_int(i8* %41, i8* %42) + %conv51 = trunc i64 %call50 to i32 + store i32 %conv51, i32* %min_argvs, align 4 + %43 = load i8**, i8*** %argv, align 8 + %44 = load i32, i32* %k, align 4 + %inc52 = add nsw i32 %44, 1 + store i32 %inc52, i32* %k, align 4 + %idxprom53 = sext i32 %44 to i64 + %arrayidx54 = getelementptr inbounds i8*, i8** %43, i64 %idxprom53 + %45 = load i8*, i8** %arrayidx54, align 8 + %46 = load i8*, i8** %msg40, align 8 + %call55 = call i64 @__str_to_int(i8* %45, i8* %46) + %conv56 = trunc i64 %call55 to i32 + store i32 %conv56, i32* %max_argvs, align 4 + %47 = load i8**, i8*** %argv, align 8 + %48 = load i32, i32* %k, align 4 + %inc57 = add nsw i32 %48, 1 + store i32 %inc57, i32* %k, align 4 + %idxprom58 = sext i32 %48 to i64 + %arrayidx59 = getelementptr inbounds i8*, i8** %47, i64 %idxprom58 + %49 = load i8*, i8** %arrayidx59, align 8 + %50 = load i8*, i8** %msg40, align 8 + %call60 = call i64 @__str_to_int(i8* %49, i8* %50) + %conv61 = trunc i64 %call60 to i32 + store i32 %conv61, i32* %max_len, align 4 + %51 = load i32, i32* %min_argvs, align 4 + %52 = load i32, i32* %max_argvs, align 4 + %cmp62 = icmp ugt i32 %51, %52 + br i1 %cmp62, label %if.then70, label %lor.lhs.false64 + +lor.lhs.false64: ; preds = %if.end45 + %53 = load i32, i32* %min_argvs, align 4 + %cmp65 = icmp eq i32 %53, 0 + %54 = load i32, i32* %max_argvs, align 4 + %cmp68 = icmp eq i32 %54, 0 + %or.cond = and i1 %cmp65, %cmp68 + br i1 %or.cond, label %if.then70, label %if.end71 + +if.then70: ; preds = %lor.lhs.false64, %if.end45 + call void @__emit_error(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.9.38, i64 0, i64 0)) + br label %if.end71 + +if.end71: ; preds = %if.then70, %lor.lhs.false64 + %55 = load i32, i32* %min_argvs, align 4 + %56 = load i32, i32* %max_argvs, align 4 + %add72 = add i32 %56, 1 + %call73 = call i32 @gs_range(i32 %55, i32 %add72, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.10.39, i64 0, i64 0)) + store i32 %call73, i32* %n_args, align 4 + %57 = load i32, i32* %sym_arg_num, align 4 + %58 = load i32, i32* %max_argvs, align 4 + %add74 = add i32 %57, %58 + %cmp75 = icmp ugt i32 %add74, 99 + br i1 %cmp75, label %if.then77, label %if.end78 + +if.then77: ; preds = %if.end71 + call void @__emit_error(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.5.34, i64 0, i64 0)) + br label %if.end78 + +if.end78: ; preds = %if.then77, %if.end71 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end78 + %59 = load i32, i32* %i, align 4 + %60 = load i32, i32* %n_args, align 4 + %cmp79 = icmp slt i32 %59, %60 + br i1 %cmp79, label %for.body, label %if.end239 + +for.body: ; preds = %for.cond + %61 = load i32, i32* %sym_arg_num, align 4 + %div81 = udiv i32 %61, 10 + %add82 = add i32 48, %div81 + %conv83 = trunc i32 %add82 to i8 + %arrayidx84 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 3 + store i8 %conv83, i8* %arrayidx84, align 1 + %62 = load i32, i32* %sym_arg_num, align 4 + %rem85 = urem i32 %62, 10 + %add86 = add i32 48, %rem85 + %conv87 = trunc i32 %add86 to i8 + %arrayidx88 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 4 + store i8 %conv87, i8* %arrayidx88, align 1 + %63 = load i32, i32* %sym_arg_num, align 4 + %inc89 = add i32 %63, 1 + store i32 %inc89, i32* %sym_arg_num, align 4 + %arraydecay90 = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %64 = load i32, i32* %max_len, align 4 + %arraydecay91 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 0 + %call92 = call i8* @__get_sym_str(i32 %64, i8* %arraydecay91) + call void @__add_arg(i32* %new_argc, i8** %arraydecay90, i8* %call92, i32 1024) + %65 = load i32, i32* %i, align 4 + %inc93 = add nsw i32 %65, 1 + store i32 %inc93, i32* %i, align 4 + br label %for.cond + +if.else94: ; preds = %lor.lhs.false34 + %66 = load i8**, i8*** %argv, align 8 + %67 = load i32, i32* %k, align 4 + %idxprom95 = sext i32 %67 to i64 + %arrayidx96 = getelementptr inbounds i8*, i8** %66, i64 %idxprom95 + %68 = load i8*, i8** %arrayidx96, align 8 + %call97 = call i32 @__streq(i8* %68, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.11.40, i64 0, i64 0)) + %tobool98 = icmp ne i32 %call97, 0 + br i1 %tobool98, label %if.then104, label %lor.lhs.false99 + +lor.lhs.false99: ; preds = %if.else94 + %69 = load i8**, i8*** %argv, align 8 + %70 = load i32, i32* %k, align 4 + %idxprom100 = sext i32 %70 to i64 + %arrayidx101 = getelementptr inbounds i8*, i8** %69, i64 %idxprom100 + %71 = load i8*, i8** %arrayidx101, align 8 + %call102 = call i32 @__streq(i8* %71, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.12.41, i64 0, i64 0)) + %tobool103 = icmp ne i32 %call102, 0 + br i1 %tobool103, label %if.then104, label %if.else134 + +if.then104: ; preds = %lor.lhs.false99, %if.else94 + store i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.13.42, i64 0, i64 0), i8** %msg105, align 8 + %72 = load i32, i32* %k, align 4 + %add106 = add nsw i32 %72, 2 + %73 = load i32, i32* %argc, align 4 + %cmp107 = icmp sge i32 %add106, %73 + br i1 %cmp107, label %if.then109, label %if.end110 + +if.then109: ; preds = %if.then104 + %74 = load i8*, i8** %msg105, align 8 + call void @__emit_error(i8* %74) + br label %if.end110 + +if.end110: ; preds = %if.then109, %if.then104 + %75 = load i32, i32* %sym_files, align 4 + %cmp111 = icmp ne i32 %75, 0 + br i1 %cmp111, label %if.then113, label %if.end114 + +if.then113: ; preds = %if.end110 + call void @__emit_error(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.14.43, i64 0, i64 0)) + br label %if.end114 + +if.end114: ; preds = %if.then113, %if.end110 + %76 = load i32, i32* %k, align 4 + %inc115 = add nsw i32 %76, 1 + store i32 %inc115, i32* %k, align 4 + %77 = load i8**, i8*** %argv, align 8 + %78 = load i32, i32* %k, align 4 + %inc116 = add nsw i32 %78, 1 + store i32 %inc116, i32* %k, align 4 + %idxprom117 = sext i32 %78 to i64 + %arrayidx118 = getelementptr inbounds i8*, i8** %77, i64 %idxprom117 + %79 = load i8*, i8** %arrayidx118, align 8 + %80 = load i8*, i8** %msg105, align 8 + %call119 = call i64 @__str_to_int(i8* %79, i8* %80) + %conv120 = trunc i64 %call119 to i32 + store i32 %conv120, i32* %sym_files, align 4 + %81 = load i8**, i8*** %argv, align 8 + %82 = load i32, i32* %k, align 4 + %inc121 = add nsw i32 %82, 1 + store i32 %inc121, i32* %k, align 4 + %idxprom122 = sext i32 %82 to i64 + %arrayidx123 = getelementptr inbounds i8*, i8** %81, i64 %idxprom122 + %83 = load i8*, i8** %arrayidx123, align 8 + %84 = load i8*, i8** %msg105, align 8 + %call124 = call i64 @__str_to_int(i8* %83, i8* %84) + %conv125 = trunc i64 %call124 to i32 + store i32 %conv125, i32* %sym_file_len, align 4 + %85 = load i32, i32* %sym_files, align 4 + %cmp126 = icmp eq i32 %85, 0 + br i1 %cmp126, label %if.then128, label %if.end129 + +if.then128: ; preds = %if.end114 + call void @__emit_error(i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.15.44, i64 0, i64 0)) + br label %if.end129 + +if.end129: ; preds = %if.then128, %if.end114 + %86 = load i32, i32* %sym_file_len, align 4 + %cmp130 = icmp eq i32 %86, 0 + br i1 %cmp130, label %if.then132, label %if.end239 + +if.then132: ; preds = %if.end129 + call void @__emit_error(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.16.45, i64 0, i64 0)) + br label %if.end239 + +if.else134: ; preds = %lor.lhs.false99 + %87 = load i8**, i8*** %argv, align 8 + %88 = load i32, i32* %k, align 4 + %idxprom135 = sext i32 %88 to i64 + %arrayidx136 = getelementptr inbounds i8*, i8** %87, i64 %idxprom135 + %89 = load i8*, i8** %arrayidx136, align 8 + %call137 = call i32 @__streq(i8* %89, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.17.46, i64 0, i64 0)) + %tobool138 = icmp ne i32 %call137, 0 + br i1 %tobool138, label %if.then144, label %lor.lhs.false139 + +lor.lhs.false139: ; preds = %if.else134 + %90 = load i8**, i8*** %argv, align 8 + %91 = load i32, i32* %k, align 4 + %idxprom140 = sext i32 %91 to i64 + %arrayidx141 = getelementptr inbounds i8*, i8** %90, i64 %idxprom140 + %92 = load i8*, i8** %arrayidx141, align 8 + %call142 = call i32 @__streq(i8* %92, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.18.47, i64 0, i64 0)) + %tobool143 = icmp ne i32 %call142, 0 + br i1 %tobool143, label %if.then144, label %if.else156 + +if.then144: ; preds = %lor.lhs.false139, %if.else134 + store i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.19.48, i64 0, i64 0), i8** %msg145, align 8 + %93 = load i32, i32* %k, align 4 + %inc146 = add nsw i32 %93, 1 + store i32 %inc146, i32* %k, align 4 + %94 = load i32, i32* %argc, align 4 + %cmp147 = icmp eq i32 %inc146, %94 + br i1 %cmp147, label %if.then149, label %if.end150 + +if.then149: ; preds = %if.then144 + %95 = load i8*, i8** %msg145, align 8 + call void @__emit_error(i8* %95) + br label %if.end150 + +if.end150: ; preds = %if.then149, %if.then144 + %96 = load i8**, i8*** %argv, align 8 + %97 = load i32, i32* %k, align 4 + %inc151 = add nsw i32 %97, 1 + store i32 %inc151, i32* %k, align 4 + %idxprom152 = sext i32 %97 to i64 + %arrayidx153 = getelementptr inbounds i8*, i8** %96, i64 %idxprom152 + %98 = load i8*, i8** %arrayidx153, align 8 + %99 = load i8*, i8** %msg145, align 8 + %call154 = call i64 @__str_to_int(i8* %98, i8* %99) + %conv155 = trunc i64 %call154 to i32 + store i32 %conv155, i32* %sym_stdin_len, align 4 + br label %if.end239 + +if.else156: ; preds = %lor.lhs.false139 + %100 = load i8**, i8*** %argv, align 8 + %101 = load i32, i32* %k, align 4 + %idxprom157 = sext i32 %101 to i64 + %arrayidx158 = getelementptr inbounds i8*, i8** %100, i64 %idxprom157 + %102 = load i8*, i8** %arrayidx158, align 8 + %call159 = call i32 @__streq(i8* %102, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.20.49, i64 0, i64 0)) + %tobool160 = icmp ne i32 %call159, 0 + br i1 %tobool160, label %if.then166, label %lor.lhs.false161 + +lor.lhs.false161: ; preds = %if.else156 + %103 = load i8**, i8*** %argv, align 8 + %104 = load i32, i32* %k, align 4 + %idxprom162 = sext i32 %104 to i64 + %arrayidx163 = getelementptr inbounds i8*, i8** %103, i64 %idxprom162 + %105 = load i8*, i8** %arrayidx163, align 8 + %call164 = call i32 @__streq(i8* %105, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.21.50, i64 0, i64 0)) + %tobool165 = icmp ne i32 %call164, 0 + br i1 %tobool165, label %if.then166, label %if.else168 + +if.then166: ; preds = %lor.lhs.false161, %if.else156 + store i32 1, i32* %sym_stdout_flag, align 4 + %106 = load i32, i32* %k, align 4 + %inc167 = add nsw i32 %106, 1 + store i32 %inc167, i32* %k, align 4 + br label %if.end239 + +if.else168: ; preds = %lor.lhs.false161 + %107 = load i8**, i8*** %argv, align 8 + %108 = load i32, i32* %k, align 4 + %idxprom169 = sext i32 %108 to i64 + %arrayidx170 = getelementptr inbounds i8*, i8** %107, i64 %idxprom169 + %109 = load i8*, i8** %arrayidx170, align 8 + %call171 = call i32 @__streq(i8* %109, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.22.51, i64 0, i64 0)) + %tobool172 = icmp ne i32 %call171, 0 + br i1 %tobool172, label %if.then178, label %lor.lhs.false173 + +lor.lhs.false173: ; preds = %if.else168 + %110 = load i8**, i8*** %argv, align 8 + %111 = load i32, i32* %k, align 4 + %idxprom174 = sext i32 %111 to i64 + %arrayidx175 = getelementptr inbounds i8*, i8** %110, i64 %idxprom174 + %112 = load i8*, i8** %arrayidx175, align 8 + %call176 = call i32 @__streq(i8* %112, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23.52, i64 0, i64 0)) + %tobool177 = icmp ne i32 %call176, 0 + br i1 %tobool177, label %if.then178, label %if.else180 + +if.then178: ; preds = %lor.lhs.false173, %if.else168 + store i32 1, i32* %save_all_writes_flag, align 4 + %113 = load i32, i32* %k, align 4 + %inc179 = add nsw i32 %113, 1 + store i32 %inc179, i32* %k, align 4 + br label %if.end239 + +if.else180: ; preds = %lor.lhs.false173 + %114 = load i8**, i8*** %argv, align 8 + %115 = load i32, i32* %k, align 4 + %idxprom181 = sext i32 %115 to i64 + %arrayidx182 = getelementptr inbounds i8*, i8** %114, i64 %idxprom181 + %116 = load i8*, i8** %arrayidx182, align 8 + %call183 = call i32 @__streq(i8* %116, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.24.53, i64 0, i64 0)) + %tobool184 = icmp ne i32 %call183, 0 + br i1 %tobool184, label %if.then190, label %lor.lhs.false185 + +lor.lhs.false185: ; preds = %if.else180 + %117 = load i8**, i8*** %argv, align 8 + %118 = load i32, i32* %k, align 4 + %idxprom186 = sext i32 %118 to i64 + %arrayidx187 = getelementptr inbounds i8*, i8** %117, i64 %idxprom186 + %119 = load i8*, i8** %arrayidx187, align 8 + %call188 = call i32 @__streq(i8* %119, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.25.54, i64 0, i64 0)) + %tobool189 = icmp ne i32 %call188, 0 + br i1 %tobool189, label %if.then190, label %if.else192 + +if.then190: ; preds = %lor.lhs.false185, %if.else180 + store i32 1, i32* %fd_fail, align 4 + %120 = load i32, i32* %k, align 4 + %inc191 = add nsw i32 %120, 1 + store i32 %inc191, i32* %k, align 4 + br label %if.end239 + +if.else192: ; preds = %lor.lhs.false185 + %121 = load i8**, i8*** %argv, align 8 + %122 = load i32, i32* %k, align 4 + %idxprom193 = sext i32 %122 to i64 + %arrayidx194 = getelementptr inbounds i8*, i8** %121, i64 %idxprom193 + %123 = load i8*, i8** %arrayidx194, align 8 + %call195 = call i32 @__streq(i8* %123, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.26.55, i64 0, i64 0)) + %tobool196 = icmp ne i32 %call195, 0 + br i1 %tobool196, label %if.then202, label %lor.lhs.false197 + +lor.lhs.false197: ; preds = %if.else192 + %124 = load i8**, i8*** %argv, align 8 + %125 = load i32, i32* %k, align 4 + %idxprom198 = sext i32 %125 to i64 + %arrayidx199 = getelementptr inbounds i8*, i8** %124, i64 %idxprom198 + %126 = load i8*, i8** %arrayidx199, align 8 + %call200 = call i32 @__streq(i8* %126, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.27.56, i64 0, i64 0)) + %tobool201 = icmp ne i32 %call200, 0 + br i1 %tobool201, label %if.then202, label %if.else204 + +if.then202: ; preds = %lor.lhs.false197, %if.else192 + %127 = load i32, i32* %k, align 4 + %add203 = add nsw i32 %127, 2 + store i32 %add203, i32* %k, align 4 + br label %if.end239 + +if.else204: ; preds = %lor.lhs.false197 + %128 = load i8**, i8*** %argv, align 8 + %129 = load i32, i32* %k, align 4 + %idxprom205 = sext i32 %129 to i64 + %arrayidx206 = getelementptr inbounds i8*, i8** %128, i64 %idxprom205 + %130 = load i8*, i8** %arrayidx206, align 8 + %call207 = call i32 @__streq(i8* %130, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.28.57, i64 0, i64 0)) + %tobool208 = icmp ne i32 %call207, 0 + br i1 %tobool208, label %if.then214, label %lor.lhs.false209 + +lor.lhs.false209: ; preds = %if.else204 + %131 = load i8**, i8*** %argv, align 8 + %132 = load i32, i32* %k, align 4 + %idxprom210 = sext i32 %132 to i64 + %arrayidx211 = getelementptr inbounds i8*, i8** %131, i64 %idxprom210 + %133 = load i8*, i8** %arrayidx211, align 8 + %call212 = call i32 @__streq(i8* %133, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.29.58, i64 0, i64 0)) + %tobool213 = icmp ne i32 %call212, 0 + br i1 %tobool213, label %if.then214, label %if.else226 + +if.then214: ; preds = %lor.lhs.false209, %if.else204 + store i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.30, i64 0, i64 0), i8** %msg215, align 8 + %134 = load i32, i32* %k, align 4 + %inc216 = add nsw i32 %134, 1 + store i32 %inc216, i32* %k, align 4 + %135 = load i32, i32* %argc, align 4 + %cmp217 = icmp eq i32 %inc216, %135 + br i1 %cmp217, label %if.then219, label %if.end220 + +if.then219: ; preds = %if.then214 + %136 = load i8*, i8** %msg215, align 8 + call void @__emit_error(i8* %136) + br label %if.end220 + +if.end220: ; preds = %if.then219, %if.then214 + %137 = load i8**, i8*** %argv, align 8 + %138 = load i32, i32* %k, align 4 + %inc221 = add nsw i32 %138, 1 + store i32 %inc221, i32* %k, align 4 + %idxprom222 = sext i32 %138 to i64 + %arrayidx223 = getelementptr inbounds i8*, i8** %137, i64 %idxprom222 + %139 = load i8*, i8** %arrayidx223, align 8 + %140 = load i8*, i8** %msg215, align 8 + %call224 = call i64 @__str_to_int(i8* %139, i8* %140) + %conv225 = trunc i64 %call224 to i32 + store i32 %conv225, i32* %fd_fail, align 4 + br label %if.end239 + +if.else226: ; preds = %lor.lhs.false209 + %arraydecay227 = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %141 = load i8**, i8*** %argv, align 8 + %142 = load i32, i32* %k, align 4 + %inc228 = add nsw i32 %142, 1 + store i32 %inc228, i32* %k, align 4 + %idxprom229 = sext i32 %142 to i64 + %arrayidx230 = getelementptr inbounds i8*, i8** %141, i64 %idxprom229 + %143 = load i8*, i8** %arrayidx230, align 8 + call void @__add_arg(i32* %new_argc, i8** %arraydecay227, i8* %143, i32 1024) + br label %if.end239 + +if.end239: ; preds = %for.cond, %if.end150, %if.then178, %if.then202, %if.else226, %if.end220, %if.then190, %if.then166, %if.end129, %if.then132, %if.end21 + br label %while.cond + +while.end: ; preds = %while.cond + %144 = load i32, i32* %new_argc, align 4 + %add240 = add nsw i32 %144, 1 + %conv241 = sext i32 %add240 to i64 + %mul = mul i64 %conv241, 8 + %call242 = call noalias i8* @malloc(i64 %mul) #11 + %145 = bitcast i8* %call242 to i8** + store i8** %145, i8*** %final_argv, align 8 + %146 = load i8**, i8*** %final_argv, align 8 + %tobool243 = icmp ne i8** %146, null + br i1 %tobool243, label %if.end245, label %if.then244 + +if.then244: ; preds = %while.end + call void @__emit_error(i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.31, i64 0, i64 0)) + br label %if.end245 + +if.end245: ; preds = %if.then244, %while.end + %147 = load i8**, i8*** %final_argv, align 8 + %148 = bitcast i8** %147 to i8* + %arraydecay246 = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %149 = bitcast i8** %arraydecay246 to i8* + %150 = load i32, i32* %new_argc, align 4 + %conv247 = sext i32 %150 to i64 + %mul248 = mul i64 %conv247, 8 + %151 = call i8* @memcpy(i8* %148, i8* %149, i64 %mul248) + %152 = load i8**, i8*** %final_argv, align 8 + %153 = load i32, i32* %new_argc, align 4 + %idxprom249 = sext i32 %153 to i64 + %arrayidx250 = getelementptr inbounds i8*, i8** %152, i64 %idxprom249 + store i8* null, i8** %arrayidx250, align 8 + %154 = load i32, i32* %new_argc, align 4 + %155 = load i32*, i32** %argcPtr.addr, align 8 + store i32 %154, i32* %155, align 4 + %156 = load i8**, i8*** %final_argv, align 8 + %157 = load i8***, i8**** %argvPtr.addr, align 8 + store i8** %156, i8*** %157, align 8 + %158 = load i32, i32* %sym_files, align 4 + %159 = load i32, i32* %sym_file_len, align 4 + %160 = load i32, i32* %sym_stdin_len, align 4 + %161 = load i32, i32* %sym_stdout_flag, align 4 + %162 = load i32, i32* %save_all_writes_flag, align 4 + %163 = load i32, i32* %fd_fail, align 4 + call void @klee_init_fds(i32 %158, i32 %159, i32 %160, i32 %161, i32 %162, i32 %163) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__streq(i8* %a, i8* %b) #3 { +entry: + %retval = alloca i32, align 4 + %a.addr = alloca i8*, align 8 + %b.addr = alloca i8*, align 8 + store i8* %a, i8** %a.addr, align 8 + store i8* %b, i8** %b.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %0 = load i8*, i8** %a.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %2 = load i8*, i8** %b.addr, align 8 + %3 = load i8, i8* %2, align 1 + %conv1 = sext i8 %3 to i32 + %cmp = icmp eq i32 %conv, %conv1 + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i8*, i8** %a.addr, align 8 + %5 = load i8, i8* %4, align 1 + %tobool = icmp ne i8 %5, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %while.body + store i32 1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %while.body + %6 = load i8*, i8** %a.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %a.addr, align 8 + %7 = load i8*, i8** %b.addr, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %7, i32 1 + store i8* %incdec.ptr3, i8** %b.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %while.end, %if.then + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__emit_error(i8* %msg) #3 { +entry: + %msg.addr = alloca i8*, align 8 + store i8* %msg, i8** %msg.addr, align 8 + %0 = load i8*, i8** %msg.addr, align 8 + call void @gs_report_error.59(i8* getelementptr inbounds ([88 x i8], [88 x i8]* @.str.32, i64 0, i64 0), i32 21, i8* %0, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.33, i64 0, i64 0)) #25 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @__str_to_int(i8* %s, i8* %error_msg) #3 { +entry: + %s.addr = alloca i8*, align 8 + %error_msg.addr = alloca i8*, align 8 + %res = alloca i64, align 8 + %c = alloca i8, align 1 + store i8* %s, i8** %s.addr, align 8 + store i8* %error_msg, i8** %error_msg.addr, align 8 + store i64 0, i64* %res, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i8, i8* %0, align 1 + %tobool = icmp ne i8 %1, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %2 = load i8*, i8** %error_msg.addr, align 8 + call void @__emit_error(i8* %2) + br label %if.end + +if.end: ; preds = %if.then, %entry + br label %while.cond + +while.cond: ; preds = %if.end9, %if.end + %3 = load i8*, i8** %s.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %s.addr, align 8 + %4 = load i8, i8* %3, align 1 + store i8 %4, i8* %c, align 1 + %tobool1 = icmp ne i8 %4, 0 + br i1 %tobool1, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %5 = load i8, i8* %c, align 1 + %conv = sext i8 %5 to i32 + %cmp = icmp sge i32 %conv, 48 + br i1 %cmp, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %while.body + %6 = load i8, i8* %c, align 1 + %conv3 = sext i8 %6 to i32 + %cmp4 = icmp sle i32 %conv3, 57 + br i1 %cmp4, label %if.then6, label %if.else + +if.then6: ; preds = %land.lhs.true + %7 = load i64, i64* %res, align 8 + %mul = mul nsw i64 %7, 10 + %8 = load i8, i8* %c, align 1 + %conv7 = sext i8 %8 to i32 + %sub = sub nsw i32 %conv7, 48 + %conv8 = sext i32 %sub to i64 + %add = add nsw i64 %mul, %conv8 + store i64 %add, i64* %res, align 8 + br label %if.end9 + +if.else: ; preds = %land.lhs.true, %while.body + %9 = load i8*, i8** %error_msg.addr, align 8 + call void @__emit_error(i8* %9) + br label %if.end9 + +if.end9: ; preds = %if.else, %if.then6 + br label %while.cond + +while.end: ; preds = %while.cond + %10 = load i64, i64* %res, align 8 + ret i64 %10 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @__get_sym_str(i32 %numChars, i8* %name) #3 { +entry: + %numChars.addr = alloca i32, align 4 + %name.addr = alloca i8*, align 8 + %i = alloca i32, align 4 + %s = alloca i8*, align 8 + store i32 %numChars, i32* %numChars.addr, align 4 + store i8* %name, i8** %name.addr, align 8 + %0 = load i32, i32* %numChars.addr, align 4 + %add = add nsw i32 %0, 1 + %conv = sext i32 %add to i64 + %call = call noalias i8* @malloc(i64 %conv) #11 + store i8* %call, i8** %s, align 8 + %1 = load i8*, i8** %s, align 8 + %tobool = icmp ne i8* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @__emit_error(i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.31, i64 0, i64 0)) + br label %if.end + +if.end: ; preds = %if.then, %entry + %2 = load i8*, i8** %s, align 8 + %3 = load i32, i32* %numChars.addr, align 4 + %add1 = add nsw i32 %3, 1 + %conv2 = sext i32 %add1 to i64 + %4 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %2, i64 %conv2, i8* %4) + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %5 = load i32, i32* %i, align 4 + %6 = load i32, i32* %numChars.addr, align 4 + %cmp = icmp slt i32 %5, %6 + %7 = load i8*, i8** %s, align 8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %8 = load i8*, i8** %s, align 8 + %9 = load i32, i32* %i, align 4 + %idxprom = sext i32 %9 to i64 + %arrayidx = getelementptr inbounds i8, i8* %8, i64 %idxprom + %10 = load i8, i8* %arrayidx, align 1 + %call4 = call i32 @__isprint(i8 signext %10) + %tobool5 = icmp ne i32 %call4, 0 + call void @gs_posix_prefer_cex(i8* %7, i1 zeroext %tobool5) + %11 = load i32, i32* %i, align 4 + %inc = add nsw i32 %11, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %12 = load i32, i32* %numChars.addr, align 4 + %idxprom6 = sext i32 %12 to i64 + %arrayidx7 = getelementptr inbounds i8, i8* %7, i64 %idxprom6 + store i8 0, i8* %arrayidx7, align 1 + %13 = load i8*, i8** %s, align 8 + ret i8* %13 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__add_arg(i32* %argc, i8** %argv, i8* %arg, i32 %argcMax) #3 { +entry: + %argc.addr = alloca i32*, align 8 + %argv.addr = alloca i8**, align 8 + %arg.addr = alloca i8*, align 8 + %argcMax.addr = alloca i32, align 4 + store i32* %argc, i32** %argc.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i32 %argcMax, i32* %argcMax.addr, align 4 + %0 = load i32*, i32** %argc.addr, align 8 + %1 = load i32, i32* %0, align 4 + %2 = load i32, i32* %argcMax.addr, align 4 + %cmp = icmp eq i32 %1, %2 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + call void @__emit_error(i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.35, i64 0, i64 0)) + br label %if.end + +if.else: ; preds = %entry + %3 = load i8*, i8** %arg.addr, align 8 + %4 = load i8**, i8*** %argv.addr, align 8 + %5 = load i32*, i32** %argc.addr, align 8 + %6 = load i32, i32* %5, align 4 + %idxprom = sext i32 %6 to i64 + %arrayidx = getelementptr inbounds i8*, i8** %4, i64 %idxprom + store i8* %3, i8** %arrayidx, align 8 + %7 = load i32*, i32** %argc.addr, align 8 + %8 = load i32, i32* %7, align 4 + %inc = add nsw i32 %8, 1 + store i32 %inc, i32* %7, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @gs_range(i32 %begin, i32 %end, i8* %name) #3 { +entry: + %begin.addr = alloca i32, align 4 + %end.addr = alloca i32, align 4 + %name.addr = alloca i8*, align 8 + %x = alloca i32, align 4 + store i32 %begin, i32* %begin.addr, align 4 + store i32 %end, i32* %end.addr, align 4 + store i8* %name, i8** %name.addr, align 8 + %0 = bitcast i32* %x to i8* + %1 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %0, i64 4, i8* %1) + %2 = load i32, i32* %x, align 4 + %3 = load i32, i32* %begin.addr, align 4 + %cmp = icmp sge i32 %2, %3 + call void @gs_assume(i1 zeroext %cmp) + %4 = load i32, i32* %x, align 4 + %5 = load i32, i32* %end.addr, align 4 + %cmp1 = icmp slt i32 %4, %5 + call void @gs_assume(i1 zeroext %cmp1) + %6 = load i32, i32* %x, align 4 + ret i32 %6 +} + +declare dso_local void @make_symbolic(i8*, i64, ...) #5 + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__isprint(i8 signext %c) #3 { +entry: + %c.addr = alloca i8, align 1 + store i8 %c, i8* %c.addr, align 1 + %0 = load i8, i8* %c.addr, align 1 + %conv = sext i8 %0 to i32 + %cmp = icmp sle i32 32, %conv + %conv1 = zext i1 %cmp to i32 + %1 = load i8, i8* %c.addr, align 1 + %conv2 = sext i8 %1 to i32 + %cmp3 = icmp sle i32 %conv2, 126 + %conv4 = zext i1 %cmp3 to i32 + %and = and i32 %conv1, %conv4 + ret i32 %and +} + +declare dso_local void @gs_posix_prefer_cex(i8*, i1 zeroext) #5 + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error.59(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.34, i64 0, i64 0)) + call void @stop(i32 -1) #25 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__user_main(i32 %argcPtr, i8** %argvPtr, i8** %envp) #3 { +entry: + %argcPtr.addr = alloca i32, align 4 + %argvPtr.addr = alloca i8**, align 8 + %envp.addr = alloca i8**, align 8 + store i32 %argcPtr, i32* %argcPtr.addr, align 4 + store i8** %argvPtr, i8*** %argvPtr.addr, align 8 + store i8** %envp, i8*** %envp.addr, align 8 + call void @klee_init_env(i32* %argcPtr.addr, i8*** %argvPtr.addr) + %0 = load i32, i32* %argcPtr.addr, align 4 + %1 = load i8**, i8*** %argvPtr.addr, align 8 + %2 = load i8**, i8*** %envp.addr, align 8 + %call = call i32 bitcast (i32 (i32, i8**)* @__klee_posix_wrapped_main to i32 (i32, i8**, i8**)*)(i32 %0, i8** %1, i8** %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind readnone uwtable +declare i32* @__errno_location() #12 + +; Function Attrs: noinline nounwind readnone uwtable +define weak i32* @__h_errno_location() #12 { +entry: + ret i32* @h_errno +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @___path_search(i8* %tmpl, i64 %tmpl_len, i8* %dir, i8* %pfx) #0 { +entry: + %retval = alloca i32, align 4 + %tmpl.addr = alloca i8*, align 8 + %tmpl_len.addr = alloca i64, align 8 + %dir.addr = alloca i8*, align 8 + %pfx.addr = alloca i8*, align 8 + %dlen = alloca i64, align 8 + %plen = alloca i64, align 8 + store i8* %tmpl, i8** %tmpl.addr, align 8 + store i64 %tmpl_len, i64* %tmpl_len.addr, align 8 + store i8* %dir, i8** %dir.addr, align 8 + store i8* %pfx, i8** %pfx.addr, align 8 + %0 = load i8*, i8** %pfx.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %lor.lhs.false, label %if.then + +lor.lhs.false: ; preds = %entry + %1 = load i8*, i8** %pfx.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %tobool1 = icmp ne i8 %2, 0 + br i1 %tobool1, label %if.else, label %if.then + +if.then: ; preds = %lor.lhs.false, %entry + store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.68, i64 0, i64 0), i8** %pfx.addr, align 8 + store i64 4, i64* %plen, align 8 + br label %if.end3 + +if.else: ; preds = %lor.lhs.false + %3 = load i8*, i8** %pfx.addr, align 8 + %call = call i64 @strlen(i8* %3) #21 + store i64 %call, i64* %plen, align 8 + %4 = load i64, i64* %plen, align 8 + %cmp = icmp ugt i64 %4, 5 + %spec.store.select = select i1 %cmp, i64 5, i64 %call + store i64 %spec.store.select, i64* %plen, align 8 + br label %if.end3 + +if.end3: ; preds = %if.else, %if.then + %5 = load i8*, i8** %dir.addr, align 8 + %cmp4 = icmp eq i8* %5, null + br i1 %cmp4, label %if.then5, label %if.end18 + +if.then5: ; preds = %if.end3 + %call6 = call i32 @direxists(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0)) #19 + %tobool7 = icmp ne i32 %call6, 0 + br i1 %tobool7, label %if.then8, label %if.else9 + +if.then8: ; preds = %if.then5 + store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0), i8** %dir.addr, align 8 + br label %if.end18 + +if.else9: ; preds = %if.then5 + %call10 = call i32 @strcmp(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0)) #21 + %cmp11 = icmp ne i32 %call10, 0 + br i1 %cmp11, label %land.lhs.true, label %if.else15 + +land.lhs.true: ; preds = %if.else9 + %call12 = call i32 @direxists(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0)) #19 + %tobool13 = icmp ne i32 %call12, 0 + br i1 %tobool13, label %if.then14, label %if.else15 + +if.then14: ; preds = %land.lhs.true + store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0), i8** %dir.addr, align 8 + br label %if.end18 + +if.else15: ; preds = %land.lhs.true, %if.else9 + store i32 2, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %if.then8, %if.then14, %if.end3 + %6 = load i8*, i8** %dir.addr, align 8 + %call19 = call i64 @strlen(i8* %6) #21 + store i64 %call19, i64* %dlen, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end18 + %7 = load i64, i64* %dlen, align 8 + %cmp20 = icmp ugt i64 %7, 1 + br i1 %cmp20, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %8 = load i8*, i8** %dir.addr, align 8 + %9 = load i64, i64* %dlen, align 8 + %sub = sub i64 %9, 1 + %arrayidx21 = getelementptr inbounds i8, i8* %8, i64 %sub + %10 = load i8, i8* %arrayidx21, align 1 + %conv = sext i8 %10 to i32 + %cmp22 = icmp eq i32 %conv, 47 + br i1 %cmp22, label %while.body, label %while.end + +while.body: ; preds = %land.rhs + %11 = load i64, i64* %dlen, align 8 + %dec = add i64 %11, -1 + store i64 %dec, i64* %dlen, align 8 + br label %while.cond + +while.end: ; preds = %while.cond, %land.rhs + %12 = load i64, i64* %tmpl_len.addr, align 8 + %13 = load i64, i64* %dlen, align 8 + %add = add i64 %13, 1 + %14 = load i64, i64* %plen, align 8 + %add24 = add i64 %add, %14 + %add25 = add i64 %add24, 6 + %add26 = add i64 %add25, 1 + %cmp27 = icmp ult i64 %12, %add26 + br i1 %cmp27, label %if.then29, label %if.end30 + +if.then29: ; preds = %while.end + store i32 22, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end30: ; preds = %while.end + %15 = load i8*, i8** %tmpl.addr, align 8 + %16 = load i64, i64* %dlen, align 8 + %17 = load i8*, i8** %dir.addr, align 8 + %18 = load i64, i64* %plen, align 8 + %19 = load i8*, i8** %pfx.addr, align 8 + %call31 = call i32 (i8*, i8*, ...) @sprintf(i8* %15, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.2.70, i64 0, i64 0), i64 %16, i8* %17, i64 %18, i8* %19) #20 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end30, %if.then29, %if.else15 + %20 = load i32, i32* %retval, align 4 + ret i32 %20 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @direxists(i8* %dir) #0 { +entry: + %dir.addr = alloca i8*, align 8 + %buf = alloca %struct.stat.194, align 8 + store i8* %dir, i8** %dir.addr, align 8 + %0 = load i8*, i8** %dir.addr, align 8 + %call = call i32 bitcast (i32 (i8*, %struct.stat64*)* @stat to i32 (i8*, %struct.stat.194*)*)(i8* %0, %struct.stat.194* %buf) #20 + %cmp = icmp eq i32 %call, 0 + %st_mode = getelementptr inbounds %struct.stat.194, %struct.stat.194* %buf, i32 0, i32 3 + %1 = load i32, i32* %st_mode, align 8 + %and = and i32 %1, 61440 + %cmp1 = icmp eq i32 %and, 16384 + %2 = select i1 %cmp, i1 %cmp1, i1 false + %land.ext = zext i1 %2 to i32 + ret i32 %land.ext +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__gen_tempname(i8* %tmpl, i32 %kind) #0 { +entry: + %retval = alloca i32, align 4 + %tmpl.addr = alloca i8*, align 8 + %kind.addr = alloca i32, align 4 + %XXXXXX = alloca i8*, align 8 + %i = alloca i32, align 4 + %fd = alloca i32, align 4 + %save_errno = alloca i32, align 4 + %randomness = alloca [6 x i8], align 1 + %len = alloca i64, align 8 + %j = alloca i32, align 4 + %st = alloca %struct.stat.194, align 8 + store i8* %tmpl, i8** %tmpl.addr, align 8 + store i32 %kind, i32* %kind.addr, align 4 + %0 = load i32, i32* @errno, align 4 + store i32 %0, i32* %save_errno, align 4 + %1 = load i8*, i8** %tmpl.addr, align 8 + %call = call i64 @strlen(i8* %1) #21 + store i64 %call, i64* %len, align 8 + %2 = load i8*, i8** %tmpl.addr, align 8 + %3 = load i64, i64* %len, align 8 + %add.ptr = getelementptr inbounds i8, i8* %2, i64 %3 + %add.ptr1 = getelementptr inbounds i8, i8* %add.ptr, i64 -6 + store i8* %add.ptr1, i8** %XXXXXX, align 8 + %4 = load i64, i64* %len, align 8 + %cmp = icmp ult i64 %4, 6 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %5 = load i8*, i8** %XXXXXX, align 8 + %call2 = call i32 @strcmp(i8* %5, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.3.73, i64 0, i64 0)) #21 + %tobool = icmp ne i32 %call2, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %lor.lhs.false, %entry + store i32 22, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %lor.lhs.false + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc44, %if.end + %6 = load i32, i32* %i, align 4 + %cmp3 = icmp ult i32 %6, 238328 + br i1 %cmp3, label %for.body, label %for.end46 + +for.body: ; preds = %for.cond + %arraydecay = getelementptr inbounds [6 x i8], [6 x i8]* %randomness, i64 0, i64 0 + %call4 = call i32 @fillrand(i8* %arraydecay, i32 6) #19 + %conv = zext i32 %call4 to i64 + %cmp5 = icmp ne i64 %conv, 6 + br i1 %cmp5, label %if.then7, label %if.end9 + +if.then7: ; preds = %for.body + %arraydecay8 = getelementptr inbounds [6 x i8], [6 x i8]* %randomness, i64 0, i64 0 + call void @brain_damaged_fillrand(i8* %arraydecay8, i32 6) #19 + br label %if.end9 + +if.end9: ; preds = %if.then7, %for.body + store i32 0, i32* %j, align 4 + br label %for.cond10 + +for.cond10: ; preds = %for.body14, %if.end9 + %7 = load i32, i32* %j, align 4 + %conv11 = sext i32 %7 to i64 + %cmp12 = icmp ult i64 %conv11, 6 + br i1 %cmp12, label %for.body14, label %for.end + +for.body14: ; preds = %for.cond10 + %8 = load i32, i32* %j, align 4 + %idxprom = sext i32 %8 to i64 + %arrayidx = getelementptr inbounds [6 x i8], [6 x i8]* %randomness, i64 0, i64 %idxprom + %9 = load i8, i8* %arrayidx, align 1 + %conv15 = zext i8 %9 to i32 + %rem = srem i32 %conv15, 62 + %idxprom16 = sext i32 %rem to i64 + %arrayidx17 = getelementptr inbounds [63 x i8], [63 x i8]* @letters, i64 0, i64 %idxprom16 + %10 = load i8, i8* %arrayidx17, align 1 + %11 = load i8*, i8** %XXXXXX, align 8 + %12 = load i32, i32* %j, align 4 + %idxprom18 = sext i32 %12 to i64 + %arrayidx19 = getelementptr inbounds i8, i8* %11, i64 %idxprom18 + store i8 %10, i8* %arrayidx19, align 1 + %13 = load i32, i32* %j, align 4 + %inc = add nsw i32 %13, 1 + store i32 %inc, i32* %j, align 4 + br label %for.cond10 + +for.end: ; preds = %for.cond10 + %14 = load i32, i32* %kind.addr, align 4 + br label %NodeBlock5 + +NodeBlock5: ; preds = %for.end + %case.cmp6 = icmp eq i32 %14, 3 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %14, 0 + br i1 %case.cmp4, label %sw.bb29, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %14, 1 + br i1 %case.cmp2, label %sw.bb31, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %14, 2 + br i1 %case.cmp, label %sw.bb33, label %newDefault + +sw.bb: ; preds = %NodeBlock5 + %15 = load i8*, i8** %tmpl.addr, align 8 + %call20 = call i32 bitcast (i32 (i8*, %struct.stat64*)* @stat to i32 (i8*, %struct.stat.194*)*)(i8* %15, %struct.stat.194* %st) #20 + %cmp21 = icmp slt i32 %call20, 0 + br i1 %cmp21, label %if.then23, label %if.else27 + +if.then23: ; preds = %sw.bb + %16 = load i32, i32* @errno, align 4 + %cmp24 = icmp eq i32 %16, 2 + br i1 %cmp24, label %if.then26, label %if.else + +if.then26: ; preds = %if.then23 + store i32 0, i32* %fd, align 4 + br label %restore_and_ret + +if.else: ; preds = %if.then23 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else27: ; preds = %sw.bb + store i32 0, i32* %fd, align 4 + br label %sw.bb29 + +sw.bb29: ; preds = %NodeBlock3, %if.else27 + %17 = load i8*, i8** %tmpl.addr, align 8 + %call30 = call i32 (i8*, i32, ...) @open(i8* %17, i32 194, i32 384) #19 + store i32 %call30, i32* %fd, align 4 + br label %sw.epilog + +sw.bb31: ; preds = %NodeBlock1 + %18 = load i8*, i8** %tmpl.addr, align 8 + %call32 = call i32 (i8*, i32, ...) @open64(i8* %18, i32 194, i32 384) #19 + store i32 %call32, i32* %fd, align 4 + br label %sw.epilog + +sw.bb33: ; preds = %NodeBlock + %19 = load i8*, i8** %tmpl.addr, align 8 + %call34 = call i32 @mkdir(i8* %19, i32 448) #20 + store i32 %call34, i32* %fd, align 4 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i32 -1, i32* %fd, align 4 + br label %sw.epilog + +sw.epilog: ; preds = %sw.default, %sw.bb33, %sw.bb31, %sw.bb29 + %20 = load i32, i32* %fd, align 4 + %cmp35 = icmp sge i32 %20, 0 + br i1 %cmp35, label %restore_and_ret, label %if.else38 + +restore_and_ret: ; preds = %sw.epilog, %if.then26 + %21 = load i32, i32* %save_errno, align 4 + store i32 %21, i32* @errno, align 4 + %22 = load i32, i32* %fd, align 4 + store i32 %22, i32* %retval, align 4 + br label %return + +if.else38: ; preds = %sw.epilog + %23 = load i32, i32* @errno, align 4 + %cmp39 = icmp ne i32 %23, 17 + br i1 %cmp39, label %if.then41, label %for.inc44 + +if.then41: ; preds = %if.else38 + store i32 -1, i32* %retval, align 4 + br label %return + +for.inc44: ; preds = %if.else38 + %24 = load i32, i32* %i, align 4 + %inc45 = add i32 %24, 1 + store i32 %inc45, i32* %i, align 4 + br label %for.cond + +for.end46: ; preds = %for.cond + store i32 17, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %for.end46, %if.then41, %restore_and_ret, %if.else, %if.then + %25 = load i32, i32* %retval, align 4 + ret i32 %25 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @fillrand(i8* %buf, i32 %len) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %len.addr = alloca i32, align 4 + %fd = alloca i32, align 4 + %result = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i32 %len, i32* %len.addr, align 4 + store i32 -1, i32* %result, align 4 + %call = call i32 (i8*, i32, ...) @open(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.4.74, i64 0, i64 0), i32 0) #19 + store i32 %call, i32* %fd, align 4 + %0 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %0, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call1 = call i32 (i8*, i32, ...) @open(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.5.75, i64 0, i64 0), i32 2048) #19 + store i32 %call1, i32* %fd, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i32, i32* %fd, align 4 + %cmp2 = icmp sge i32 %1, 0 + br i1 %cmp2, label %if.then3, label %if.end7 + +if.then3: ; preds = %if.end + %2 = load i32, i32* %fd, align 4 + %3 = load i8*, i8** %buf.addr, align 8 + %4 = load i32, i32* %len.addr, align 4 + %conv = zext i32 %4 to i64 + %call4 = call i64 @read(i32 %2, i8* %3, i64 %conv) #19 + %conv5 = trunc i64 %call4 to i32 + store i32 %conv5, i32* %result, align 4 + %5 = load i32, i32* %fd, align 4 + %call6 = call i32 @close(i32 %5) #19 + br label %if.end7 + +if.end7: ; preds = %if.then3, %if.end + %6 = load i32, i32* %result, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @brain_damaged_fillrand(i8* %buf, i32 %len) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %len.addr = alloca i32, align 4 + %i = alloca i32, align 4 + %k = alloca i32, align 4 + %tv = alloca %struct.timespec.0, align 8 + %high = alloca i32, align 4 + %low = alloca i32, align 4 + %rh = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i32 %len, i32* %len.addr, align 4 + %call = call i32 bitcast (i32 (%struct.timespec.0*, i8*)* @gettimeofday to i32 (%struct.timespec.0*, %struct.__mbstate_t.514*)*)(%struct.timespec.0* %tv, %struct.__mbstate_t.514* null) #20 + %tv_usec = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %tv, i32 0, i32 1 + %0 = load i64, i64* %tv_usec, align 8 + %shl = shl i64 %0, 16 + %tv_sec = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %tv, i32 0, i32 0 + %1 = load i64, i64* %tv_sec, align 8 + %xor = xor i64 %shl, %1 + %call1 = call i32 @getpid() #20 + %conv = sext i32 %call1 to i64 + %xor2 = xor i64 %xor, %conv + %2 = load i64, i64* @brain_damaged_fillrand.value, align 8 + %add = add i64 %2, %xor2 + store i64 %add, i64* @brain_damaged_fillrand.value, align 8 + %3 = load i64, i64* @brain_damaged_fillrand.value, align 8 + %and = and i64 %3, 4294967295 + %conv3 = trunc i64 %and to i32 + store i32 %conv3, i32* %low, align 4 + %4 = load i64, i64* @brain_damaged_fillrand.value, align 8 + %shr = lshr i64 %4, 32 + %conv4 = trunc i64 %shr to i32 + store i32 %conv4, i32* %high, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %5 = load i32, i32* %i, align 4 + %6 = load i32, i32* %len.addr, align 4 + %cmp = icmp ult i32 %5, %6 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %7 = load i32, i32* %high, align 4 + %rem = urem i32 %7, 62 + store i32 %rem, i32* %rh, align 4 + %8 = load i32, i32* %high, align 4 + %div = udiv i32 %8, 62 + store i32 %div, i32* %high, align 4 + %9 = load i32, i32* %low, align 4 + %rem6 = urem i32 %9, 62 + %10 = load i32, i32* %rh, align 4 + %mul = mul i32 4, %10 + %add7 = add i32 %rem6, %mul + store i32 %add7, i32* %k, align 4 + %11 = load i32, i32* %low, align 4 + %div8 = udiv i32 %11, 62 + %12 = load i32, i32* %rh, align 4 + %mul9 = mul i32 69273666, %12 + %add10 = add i32 %div8, %mul9 + %13 = load i32, i32* %k, align 4 + %div11 = udiv i32 %13, 62 + %add12 = add i32 %add10, %div11 + store i32 %add12, i32* %low, align 4 + %14 = load i32, i32* %k, align 4 + %rem13 = urem i32 %14, 62 + store i32 %rem13, i32* %k, align 4 + %15 = load i32, i32* %k, align 4 + %idxprom = zext i32 %15 to i64 + %arrayidx = getelementptr inbounds [63 x i8], [63 x i8]* @letters, i64 0, i64 %idxprom + %16 = load i8, i8* %arrayidx, align 1 + %17 = load i8*, i8** %buf.addr, align 8 + %18 = load i32, i32* %i, align 4 + %idxprom14 = zext i32 %18 to i64 + %arrayidx15 = getelementptr inbounds i8, i8* %17, i64 %idxprom14 + store i8 %16, i8* %arrayidx15, align 1 + %19 = load i32, i32* %i, align 4 + %inc = add i32 %19, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + ret void +} + +; Function Attrs: nounwind +declare i32 @getpid() #2 + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_locale_set_l(i8* %p, %struct.__uclibc_locale_struct.203* %base) #0 { +entry: + %retval = alloca i32, align 4 + %p.addr = alloca i8*, align 8 + %base.addr = alloca %struct.__uclibc_locale_struct.203*, align 8 + %x = alloca i8**, align 8 + %s = alloca i8*, align 8 + %stp = alloca i64*, align 8 + %r = alloca i8*, align 8 + %io = alloca i16*, align 8 + %ii = alloca i16*, align 8 + %d = alloca i8*, align 8 + %row = alloca i32, align 4 + %crow = alloca i32, align 4 + %len = alloca i32, align 4 + %c = alloca i32, align 4 + %i = alloca i32, align 4 + %newcol = alloca %struct.__collate_t.202, align 8 + %c8b = alloca %struct.__codeset_8_bit_t.204*, align 8 + %u = alloca i32, align 4 + %m = alloca i16, align 2 + store i8* %p, i8** %p.addr, align 8 + store %struct.__uclibc_locale_struct.203* %base, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %0, i32 0, i32 6 + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 1 + store i8* %add.ptr, i8** %s, align 8 + store i32 0, i32* %i, align 4 + %1 = load i8*, i8** %p.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %1, i32 1 + store i8* %incdec.ptr, i8** %p.addr, align 8 + %index2weight = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %newcol, i32 0, i32 23 + store i16* null, i16** %index2weight, align 8 + %2 = load i8*, i8** %p.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %2, i64 8 + %3 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %3 to i32 + %4 = load i8*, i8** %s, align 8 + %arrayidx1 = getelementptr inbounds i8, i8* %4, i64 8 + %5 = load i8, i8* %arrayidx1, align 1 + %conv2 = zext i8 %5 to i32 + %cmp = icmp ne i32 %conv, %conv2 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %6 = load i8*, i8** %p.addr, align 8 + %arrayidx4 = getelementptr inbounds i8, i8* %6, i64 9 + %7 = load i8, i8* %arrayidx4, align 1 + %conv5 = zext i8 %7 to i32 + %8 = load i8*, i8** %s, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %8, i64 9 + %9 = load i8, i8* %arrayidx6, align 1 + %conv7 = zext i8 %9 to i32 + %cmp8 = icmp ne i32 %conv5, %conv7 + br i1 %cmp8, label %if.then, label %if.end22 + +if.then: ; preds = %lor.lhs.false, %entry + %10 = load i8*, i8** %p.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv10 = zext i8 %11 to i32 + %and = and i32 %conv10, 127 + %shl = shl i32 %and, 7 + %12 = load i8*, i8** %p.addr, align 8 + %arrayidx11 = getelementptr inbounds i8, i8* %12, i64 1 + %13 = load i8, i8* %arrayidx11, align 1 + %conv12 = zext i8 %13 to i32 + %and13 = and i32 %conv12, 127 + %add = add nsw i32 %shl, %and13 + store i32 %add, i32* %row, align 4 + %14 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %locales = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %14, i32 0, i32 31 + %15 = load i32, i32* %row, align 4 + %mul = mul nsw i32 9, %15 + %add14 = add nsw i32 %mul, 3 + %add15 = add nsw i32 %add14, 4 + %idxprom = sext i32 %add15 to i64 + %arrayidx16 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales, i64 0, i64 %idxprom + %16 = load i8, i8* %arrayidx16, align 1 + %conv17 = zext i8 %16 to i32 + %call = call i32 @init_cur_collate(i32 %conv17, %struct.__collate_t.202* %newcol) #19 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end, label %if.then18 + +if.then18: ; preds = %if.then + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %if.then + %17 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %collate = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %17, i32 0, i32 118 + %index2weight19 = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %collate, i32 0, i32 23 + %18 = load i16*, i16** %index2weight19, align 8 + %19 = bitcast i16* %18 to i8* + call void @free(i8* %19) #20 + %20 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %collate20 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %20, i32 0, i32 118 + %21 = bitcast %struct.__collate_t.202* %collate20 to i8* + %22 = bitcast %struct.__collate_t.202* %newcol to i8* + %call21 = call i8* @memcpy(i8* %21, i8* %22, i64 112) #20 + br label %if.end22 + +if.end22: ; preds = %if.end, %lor.lhs.false + br label %do.body + +do.body: ; preds = %if.end313, %if.end22 + %23 = load i8*, i8** %p.addr, align 8 + %24 = load i8, i8* %23, align 1 + %conv23 = zext i8 %24 to i32 + %25 = load i8*, i8** %s, align 8 + %26 = load i8, i8* %25, align 1 + %conv24 = zext i8 %26 to i32 + %cmp25 = icmp ne i32 %conv23, %conv24 + br i1 %cmp25, label %if.then34, label %lor.lhs.false27 + +lor.lhs.false27: ; preds = %do.body + %27 = load i8*, i8** %p.addr, align 8 + %arrayidx28 = getelementptr inbounds i8, i8* %27, i64 1 + %28 = load i8, i8* %arrayidx28, align 1 + %conv29 = zext i8 %28 to i32 + %29 = load i8*, i8** %s, align 8 + %arrayidx30 = getelementptr inbounds i8, i8* %29, i64 1 + %30 = load i8, i8* %arrayidx30, align 1 + %conv31 = zext i8 %30 to i32 + %cmp32 = icmp ne i32 %conv29, %conv31 + br i1 %cmp32, label %if.then34, label %if.end313 + +if.then34: ; preds = %lor.lhs.false27, %do.body + %31 = load i8*, i8** %p.addr, align 8 + %32 = load i8, i8* %31, align 1 + %conv35 = zext i8 %32 to i32 + %and36 = and i32 %conv35, 127 + %shl37 = shl i32 %and36, 7 + %33 = load i8*, i8** %p.addr, align 8 + %arrayidx38 = getelementptr inbounds i8, i8* %33, i64 1 + %34 = load i8, i8* %arrayidx38, align 1 + %conv39 = zext i8 %34 to i32 + %and40 = and i32 %conv39, 127 + %add41 = add nsw i32 %shl37, %and40 + store i32 %add41, i32* %row, align 4 + %35 = load i8*, i8** %p.addr, align 8 + %36 = load i8, i8* %35, align 1 + %37 = load i8*, i8** %s, align 8 + store i8 %36, i8* %37, align 1 + %38 = load i8*, i8** %p.addr, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %38, i64 1 + %39 = load i8, i8* %arrayidx42, align 1 + %40 = load i8*, i8** %s, align 8 + %arrayidx43 = getelementptr inbounds i8, i8* %40, i64 1 + store i8 %39, i8* %arrayidx43, align 1 + %41 = load i32, i32* %i, align 4 + %cmp44 = icmp ne i32 %41, 4 + br i1 %cmp44, label %land.lhs.true, label %if.end92 + +land.lhs.true: ; preds = %if.then34 + %42 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %lc_common_item_offsets_LEN = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %42, i32 0, i32 29 + %43 = load i32, i32* %i, align 4 + %idxprom46 = sext i32 %43 to i64 + %arrayidx47 = getelementptr inbounds [6 x i8], [6 x i8]* %lc_common_item_offsets_LEN, i64 0, i64 %idxprom46 + %44 = load i8, i8* %arrayidx47, align 1 + %conv48 = zext i8 %44 to i32 + store i32 %conv48, i32* %len, align 4 + %cmp49 = icmp ne i32 %conv48, 0 + br i1 %cmp49, label %if.then51, label %if.end92 + +if.then51: ; preds = %land.lhs.true + %45 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %locales52 = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %45, i32 0, i32 31 + %46 = load i32, i32* %row, align 4 + %mul53 = mul nsw i32 9, %46 + %add54 = add nsw i32 %mul53, 3 + %47 = load i32, i32* %i, align 4 + %add55 = add nsw i32 %add54, %47 + %idxprom56 = sext i32 %add55 to i64 + %arrayidx57 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales52, i64 0, i64 %idxprom56 + %48 = load i8, i8* %arrayidx57, align 1 + %conv58 = zext i8 %48 to i32 + %49 = load i32, i32* %len, align 4 + %mul59 = mul nsw i32 %conv58, %49 + store i32 %mul59, i32* %crow, align 4 + %50 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %51 = bitcast %struct.__uclibc_locale_struct.203* %50 to i8* + %52 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %category_offsets = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %52, i32 0, i32 7 + %53 = load i32, i32* %i, align 4 + %idxprom60 = sext i32 %53 to i64 + %arrayidx61 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets, i64 0, i64 %idxprom60 + %54 = load i16, i16* %arrayidx61, align 2 + %conv62 = zext i16 %54 to i32 + %idx.ext = sext i32 %conv62 to i64 + %add.ptr63 = getelementptr inbounds i8, i8* %51, i64 %idx.ext + %55 = bitcast i8* %add.ptr63 to i8** + store i8** %55, i8*** %x, align 8 + %56 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %lc_common_tbl_offsets = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %56, i32 0, i32 30 + %arraydecay64 = getelementptr inbounds [24 x i64], [24 x i64]* %lc_common_tbl_offsets, i64 0, i64 0 + %57 = load i32, i32* %i, align 4 + %mul65 = mul nsw i32 4, %57 + %idx.ext66 = sext i32 %mul65 to i64 + %add.ptr67 = getelementptr inbounds i64, i64* %arraydecay64, i64 %idx.ext66 + store i64* %add.ptr67, i64** %stp, align 8 + %58 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %59 = bitcast %struct.__locale_mmap_t.205* %58 to i8* + %60 = load i64*, i64** %stp, align 8 + %61 = load i64, i64* %60, align 8 + %add.ptr68 = getelementptr inbounds i8, i8* %59, i64 %61 + store i8* %add.ptr68, i8** %r, align 8 + %62 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %63 = bitcast %struct.__locale_mmap_t.205* %62 to i8* + %64 = load i64*, i64** %stp, align 8 + %incdec.ptr69 = getelementptr inbounds i64, i64* %64, i32 1 + store i64* %incdec.ptr69, i64** %stp, align 8 + %65 = load i64, i64* %incdec.ptr69, align 8 + %add.ptr70 = getelementptr inbounds i8, i8* %63, i64 %65 + %66 = bitcast i8* %add.ptr70 to i16* + store i16* %66, i16** %io, align 8 + %67 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %68 = bitcast %struct.__locale_mmap_t.205* %67 to i8* + %69 = load i64*, i64** %stp, align 8 + %incdec.ptr71 = getelementptr inbounds i64, i64* %69, i32 1 + store i64* %incdec.ptr71, i64** %stp, align 8 + %70 = load i64, i64* %incdec.ptr71, align 8 + %add.ptr72 = getelementptr inbounds i8, i8* %68, i64 %70 + %71 = bitcast i8* %add.ptr72 to i16* + store i16* %71, i16** %ii, align 8 + %72 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %73 = bitcast %struct.__locale_mmap_t.205* %72 to i8* + %74 = load i64*, i64** %stp, align 8 + %incdec.ptr73 = getelementptr inbounds i64, i64* %74, i32 1 + store i64* %incdec.ptr73, i64** %stp, align 8 + %75 = load i64, i64* %incdec.ptr73, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %73, i64 %75 + store i8* %add.ptr74, i8** %d, align 8 + store i32 0, i32* %c, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.then51 + %76 = load i32, i32* %c, align 4 + %77 = load i32, i32* %len, align 4 + %cmp75 = icmp slt i32 %76, %77 + br i1 %cmp75, label %for.body, label %if.end92 + +for.body: ; preds = %for.cond + %78 = load i8*, i8** %d, align 8 + %79 = load i16*, i16** %ii, align 8 + %80 = load i8*, i8** %r, align 8 + %81 = load i32, i32* %crow, align 4 + %82 = load i32, i32* %c, align 4 + %add77 = add nsw i32 %81, %82 + %idxprom78 = sext i32 %add77 to i64 + %arrayidx79 = getelementptr inbounds i8, i8* %80, i64 %idxprom78 + %83 = load i8, i8* %arrayidx79, align 1 + %conv80 = zext i8 %83 to i32 + %84 = load i16*, i16** %io, align 8 + %85 = load i32, i32* %c, align 4 + %idxprom81 = sext i32 %85 to i64 + %arrayidx82 = getelementptr inbounds i16, i16* %84, i64 %idxprom81 + %86 = load i16, i16* %arrayidx82, align 2 + %conv83 = zext i16 %86 to i32 + %add84 = add nsw i32 %conv80, %conv83 + %idxprom85 = sext i32 %add84 to i64 + %arrayidx86 = getelementptr inbounds i16, i16* %79, i64 %idxprom85 + %87 = load i16, i16* %arrayidx86, align 2 + %conv87 = zext i16 %87 to i32 + %idx.ext88 = sext i32 %conv87 to i64 + %add.ptr89 = getelementptr inbounds i8, i8* %78, i64 %idx.ext88 + %88 = load i8**, i8*** %x, align 8 + %89 = load i32, i32* %c, align 4 + %idx.ext90 = sext i32 %89 to i64 + %add.ptr91 = getelementptr inbounds i8*, i8** %88, i64 %idx.ext90 + store i8* %add.ptr89, i8** %add.ptr91, align 8 + %90 = load i32, i32* %c, align 4 + %inc = add nsw i32 %90, 1 + store i32 %inc, i32* %c, align 4 + br label %for.cond + +if.end92: ; preds = %for.cond, %land.lhs.true, %if.then34 + %91 = load i32, i32* %i, align 4 + %cmp93 = icmp eq i32 %91, 0 + br i1 %cmp93, label %if.then95, label %if.else295 + +if.then95: ; preds = %if.end92 + %92 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %locales96 = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %92, i32 0, i32 31 + %93 = load i32, i32* %row, align 4 + %mul97 = mul nsw i32 9, %93 + %add98 = add nsw i32 %mul97, 2 + %idxprom99 = sext i32 %add98 to i64 + %arrayidx100 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales96, i64 0, i64 %idxprom99 + %94 = load i8, i8* %arrayidx100, align 1 + %conv101 = zext i8 %94 to i32 + store i32 %conv101, i32* %c, align 4 + %95 = load i32, i32* %c, align 4 + %cmp102 = icmp sle i32 %95, 2 + br i1 %cmp102, label %if.then104, label %if.else112 + +if.then104: ; preds = %if.then95 + %96 = load i32, i32* %c, align 4 + %cmp105 = icmp eq i32 %96, 2 + %97 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %codeset = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %97, i32 0, i32 38 + br i1 %cmp105, label %if.then107, label %if.else + +if.then107: ; preds = %if.then104 + store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf8, i64 0, i64 0), i8** %codeset, align 8 + %98 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %98, i32 0, i32 9 + store i8 1, i8* %encoding, align 8 + %99 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %mb_cur_max = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %99, i32 0, i32 10 + store i8 6, i8* %mb_cur_max, align 1 + br label %if.end280 + +if.else: ; preds = %if.then104 + store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @ascii, i64 0, i64 0), i8** %codeset, align 8 + %100 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %encoding109 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %100, i32 0, i32 9 + store i8 0, i8* %encoding109, align 8 + %101 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %mb_cur_max110 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %101, i32 0, i32 10 + store i8 1, i8* %mb_cur_max110, align 1 + br label %if.end280 + +if.else112: ; preds = %if.then95 + %102 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %codeset_list = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %102, i32 0, i32 35 + %arraydecay113 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list, i64 0, i64 0 + store i8* %arraydecay113, i8** %r, align 8 + %103 = load i8*, i8** %r, align 8 + %104 = load i8*, i8** %r, align 8 + %105 = load i32, i32* %c, align 4 + %sub = sub nsw i32 %105, 3 + store i32 %sub, i32* %c, align 4 + %idxprom114 = sext i32 %sub to i64 + %arrayidx115 = getelementptr inbounds i8, i8* %104, i64 %idxprom114 + %106 = load i8, i8* %arrayidx115, align 1 + %conv116 = zext i8 %106 to i32 + %idx.ext117 = sext i32 %conv116 to i64 + %add.ptr118 = getelementptr inbounds i8, i8* %103, i64 %idx.ext117 + %107 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %codeset119 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %107, i32 0, i32 38 + store i8* %add.ptr118, i8** %codeset119, align 8 + %108 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %encoding120 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %108, i32 0, i32 9 + store i8 2, i8* %encoding120, align 8 + %109 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %mb_cur_max121 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %109, i32 0, i32 10 + store i8 1, i8* %mb_cur_max121, align 1 + %110 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %codeset_8_bit = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %110, i32 0, i32 12 + %arraydecay122 = getelementptr inbounds [23 x %struct.__codeset_8_bit_t.204], [23 x %struct.__codeset_8_bit_t.204]* %codeset_8_bit, i64 0, i64 0 + %111 = load i32, i32* %c, align 4 + %idx.ext123 = sext i32 %111 to i64 + %add.ptr124 = getelementptr inbounds %struct.__codeset_8_bit_t.204, %struct.__codeset_8_bit_t.204* %arraydecay122, i64 %idx.ext123 + store %struct.__codeset_8_bit_t.204* %add.ptr124, %struct.__codeset_8_bit_t.204** %c8b, align 8 + %112 = load %struct.__codeset_8_bit_t.204*, %struct.__codeset_8_bit_t.204** %c8b, align 8 + %idx8ctype = getelementptr inbounds %struct.__codeset_8_bit_t.204, %struct.__codeset_8_bit_t.204* %112, i32 0, i32 0 + %arraydecay125 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8ctype, i64 0, i64 0 + %113 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %idx8ctype126 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %113, i32 0, i32 12 + store i8* %arraydecay125, i8** %idx8ctype126, align 8 + %114 = load %struct.__codeset_8_bit_t.204*, %struct.__codeset_8_bit_t.204** %c8b, align 8 + %idx8uplow = getelementptr inbounds %struct.__codeset_8_bit_t.204, %struct.__codeset_8_bit_t.204* %114, i32 0, i32 1 + %arraydecay127 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8uplow, i64 0, i64 0 + %115 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %idx8uplow128 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %115, i32 0, i32 14 + store i8* %arraydecay127, i8** %idx8uplow128, align 8 + %116 = load %struct.__codeset_8_bit_t.204*, %struct.__codeset_8_bit_t.204** %c8b, align 8 + %idx8c2wc = getelementptr inbounds %struct.__codeset_8_bit_t.204, %struct.__codeset_8_bit_t.204* %116, i32 0, i32 2 + %arraydecay129 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8c2wc, i64 0, i64 0 + %117 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %idx8c2wc130 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %117, i32 0, i32 16 + store i8* %arraydecay129, i8** %idx8c2wc130, align 8 + %118 = load %struct.__codeset_8_bit_t.204*, %struct.__codeset_8_bit_t.204** %c8b, align 8 + %idx8wc2c = getelementptr inbounds %struct.__codeset_8_bit_t.204, %struct.__codeset_8_bit_t.204* %118, i32 0, i32 3 + %arraydecay131 = getelementptr inbounds [38 x i8], [38 x i8]* %idx8wc2c, i64 0, i64 0 + %119 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %idx8wc2c132 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %119, i32 0, i32 18 + store i8* %arraydecay131, i8** %idx8wc2c132, align 8 + %120 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %__ctype_b_data = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %120, i32 0, i32 3 + %arraydecay133 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data, i64 0, i64 0 + %121 = bitcast i16* %arraydecay133 to i8* + %122 = load i16*, i16** @__C_ctype_b, align 8 + %add.ptr134 = getelementptr inbounds i16, i16* %122, i64 -128 + %123 = bitcast i16* %add.ptr134 to i8* + %call135 = call i8* @memcpy(i8* %121, i8* %123, i64 768) #20 + %124 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %__ctype_tolower_data = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %124, i32 0, i32 4 + %arraydecay136 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data, i64 0, i64 0 + %125 = bitcast i16* %arraydecay136 to i8* + %126 = load i16*, i16** @__C_ctype_tolower, align 8 + %add.ptr137 = getelementptr inbounds i16, i16* %126, i64 -128 + %127 = bitcast i16* %add.ptr137 to i8* + %call138 = call i8* @memcpy(i8* %125, i8* %127, i64 768) #20 + %128 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %__ctype_toupper_data = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %128, i32 0, i32 5 + %arraydecay139 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data, i64 0, i64 0 + %129 = bitcast i16* %arraydecay139 to i8* + %130 = load i16*, i16** @__C_ctype_toupper, align 8 + %add.ptr140 = getelementptr inbounds i16, i16* %130, i64 -128 + %131 = bitcast i16* %add.ptr140 to i8* + %call141 = call i8* @memcpy(i8* %129, i8* %131, i64 768) #20 + store i32 0, i32* %u, align 4 + br label %for.cond142 + +for.cond142: ; preds = %for.inc268, %if.else112 + %132 = load i32, i32* %u, align 4 + %cmp143 = icmp slt i32 %132, 128 + %133 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + br i1 %cmp143, label %for.body145, label %for.end270 + +for.body145: ; preds = %for.cond142 + %tbl8ctype = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %133, i32 0, i32 13 + %134 = load i8*, i8** %tbl8ctype, align 8 + %135 = load %struct.__codeset_8_bit_t.204*, %struct.__codeset_8_bit_t.204** %c8b, align 8 + %idx8ctype146 = getelementptr inbounds %struct.__codeset_8_bit_t.204, %struct.__codeset_8_bit_t.204* %135, i32 0, i32 0 + %136 = load i32, i32* %u, align 4 + %shr = ashr i32 %136, 3 + %idxprom147 = sext i32 %shr to i64 + %arrayidx148 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8ctype146, i64 0, i64 %idxprom147 + %137 = load i8, i8* %arrayidx148, align 1 + %conv149 = zext i8 %137 to i32 + %shl150 = shl i32 %conv149, 2 + %138 = load i32, i32* %u, align 4 + %and151 = and i32 %138, 7 + %shr152 = ashr i32 %and151, 1 + %add153 = add nsw i32 %shl150, %shr152 + %idxprom154 = sext i32 %add153 to i64 + %arrayidx155 = getelementptr inbounds i8, i8* %134, i64 %idxprom154 + %139 = load i8, i8* %arrayidx155, align 1 + %conv156 = zext i8 %139 to i32 + store i32 %conv156, i32* %c, align 4 + %140 = load i32, i32* %u, align 4 + %and157 = and i32 %140, 1 + %tobool158 = icmp ne i32 %and157, 0 + %141 = load i32, i32* %c, align 4 + %shr159 = ashr i32 %141, 4 + %and160 = and i32 %141, 15 + %cond = select i1 %tobool158, i32 %shr159, i32 %and160 + store i32 %cond, i32* %c, align 4 + %142 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %code2flag = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %142, i32 0, i32 20 + %143 = load i16*, i16** %code2flag, align 8 + %144 = load i32, i32* %c, align 4 + %idxprom161 = sext i32 %144 to i64 + %arrayidx162 = getelementptr inbounds i16, i16* %143, i64 %idxprom161 + %145 = load i16, i16* %arrayidx162, align 2 + store i16 %145, i16* %m, align 2 + %146 = load i16, i16* %m, align 2 + %147 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %__ctype_b_data163 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %147, i32 0, i32 3 + %148 = load i32, i32* %u, align 4 + %add164 = add nsw i32 256, %148 + %idxprom165 = sext i32 %add164 to i64 + %arrayidx166 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data163, i64 0, i64 %idxprom165 + store i16 %146, i16* %arrayidx166, align 2 + %149 = load i32, i32* %u, align 4 + %add167 = add nsw i32 128, %149 + %conv168 = trunc i32 %add167 to i8 + %conv169 = sext i8 %conv168 to i32 + %cmp170 = icmp ne i32 %conv169, -1 + br i1 %cmp170, label %if.then172, label %if.end180 + +if.then172: ; preds = %for.body145 + %150 = load i16, i16* %m, align 2 + %151 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %__ctype_b_data173 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %151, i32 0, i32 3 + %152 = load i32, i32* %u, align 4 + %add174 = add nsw i32 128, %152 + %conv175 = trunc i32 %add174 to i8 + %conv176 = sext i8 %conv175 to i32 + %add177 = add nsw i32 128, %conv176 + %idxprom178 = sext i32 %add177 to i64 + %arrayidx179 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data173, i64 0, i64 %idxprom178 + store i16 %150, i16* %arrayidx179, align 2 + br label %if.end180 + +if.end180: ; preds = %if.then172, %for.body145 + %153 = load i32, i32* %u, align 4 + %add181 = add nsw i32 128, %153 + %conv182 = trunc i32 %add181 to i16 + %154 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %__ctype_tolower_data183 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %154, i32 0, i32 4 + %155 = load i32, i32* %u, align 4 + %add184 = add nsw i32 256, %155 + %idxprom185 = sext i32 %add184 to i64 + %arrayidx186 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data183, i64 0, i64 %idxprom185 + store i16 %conv182, i16* %arrayidx186, align 2 + %156 = load i32, i32* %u, align 4 + %add187 = add nsw i32 128, %156 + %conv188 = trunc i32 %add187 to i16 + %157 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %__ctype_toupper_data189 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %157, i32 0, i32 5 + %158 = load i32, i32* %u, align 4 + %add190 = add nsw i32 256, %158 + %idxprom191 = sext i32 %add190 to i64 + %arrayidx192 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data189, i64 0, i64 %idxprom191 + store i16 %conv188, i16* %arrayidx192, align 2 + %159 = load i16, i16* %m, align 2 + %conv193 = zext i16 %159 to i32 + %and194 = and i32 %conv193, 768 + %tobool195 = icmp ne i32 %and194, 0 + br i1 %tobool195, label %if.then196, label %for.inc268 + +if.then196: ; preds = %if.end180 + %160 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %tbl8uplow = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %160, i32 0, i32 15 + %161 = load i8*, i8** %tbl8uplow, align 8 + %162 = load %struct.__codeset_8_bit_t.204*, %struct.__codeset_8_bit_t.204** %c8b, align 8 + %idx8uplow197 = getelementptr inbounds %struct.__codeset_8_bit_t.204, %struct.__codeset_8_bit_t.204* %162, i32 0, i32 1 + %163 = load i32, i32* %u, align 4 + %shr198 = ashr i32 %163, 3 + %idxprom199 = sext i32 %shr198 to i64 + %arrayidx200 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8uplow197, i64 0, i64 %idxprom199 + %164 = load i8, i8* %arrayidx200, align 1 + %conv201 = zext i8 %164 to i32 + %shl202 = shl i32 %conv201, 3 + %165 = load i32, i32* %u, align 4 + %add203 = add nsw i32 128, %165 + %and204 = and i32 %add203, 7 + %add205 = add nsw i32 %shl202, %and204 + %idxprom206 = sext i32 %add205 to i64 + %arrayidx207 = getelementptr inbounds i8, i8* %161, i64 %idxprom206 + %166 = load i8, i8* %arrayidx207, align 1 + %conv208 = zext i8 %166 to i32 + store i32 %conv208, i32* %c, align 4 + %167 = load i16, i16* %m, align 2 + %conv209 = zext i16 %167 to i32 + %and210 = and i32 %conv209, 512 + %tobool211 = icmp ne i32 %and210, 0 + %168 = load i32, i32* %u, align 4 + %add213 = add nsw i32 128, %168 + %169 = load i32, i32* %c, align 4 + br i1 %tobool211, label %if.then212, label %if.else239 + +if.then212: ; preds = %if.then196 + %add214 = add nsw i32 %add213, %169 + %conv215 = trunc i32 %add214 to i8 + %conv216 = zext i8 %conv215 to i16 + %170 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %__ctype_toupper_data217 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %170, i32 0, i32 5 + %171 = load i32, i32* %u, align 4 + %add218 = add nsw i32 256, %171 + %idxprom219 = sext i32 %add218 to i64 + %arrayidx220 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data217, i64 0, i64 %idxprom219 + store i16 %conv216, i16* %arrayidx220, align 2 + %172 = load i32, i32* %u, align 4 + %add221 = add nsw i32 128, %172 + %conv222 = trunc i32 %add221 to i8 + %conv223 = sext i8 %conv222 to i32 + %cmp224 = icmp ne i32 %conv223, -1 + br i1 %cmp224, label %if.then226, label %for.inc268 + +if.then226: ; preds = %if.then212 + %173 = load i32, i32* %u, align 4 + %add227 = add nsw i32 128, %173 + %174 = load i32, i32* %c, align 4 + %add228 = add nsw i32 %add227, %174 + %conv229 = trunc i32 %add228 to i8 + %conv230 = zext i8 %conv229 to i16 + %175 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %__ctype_toupper_data231 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %175, i32 0, i32 5 + %176 = load i32, i32* %u, align 4 + %add232 = add nsw i32 128, %176 + %conv233 = trunc i32 %add232 to i8 + %conv234 = sext i8 %conv233 to i32 + %add235 = add nsw i32 128, %conv234 + %idxprom236 = sext i32 %add235 to i64 + %arrayidx237 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data231, i64 0, i64 %idxprom236 + store i16 %conv230, i16* %arrayidx237, align 2 + br label %for.inc268 + +if.else239: ; preds = %if.then196 + %sub241 = sub nsw i32 %add213, %169 + %conv242 = trunc i32 %sub241 to i8 + %conv243 = zext i8 %conv242 to i16 + %177 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %__ctype_tolower_data244 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %177, i32 0, i32 4 + %178 = load i32, i32* %u, align 4 + %add245 = add nsw i32 256, %178 + %idxprom246 = sext i32 %add245 to i64 + %arrayidx247 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data244, i64 0, i64 %idxprom246 + store i16 %conv243, i16* %arrayidx247, align 2 + %179 = load i32, i32* %u, align 4 + %add248 = add nsw i32 128, %179 + %conv249 = trunc i32 %add248 to i8 + %conv250 = sext i8 %conv249 to i32 + %cmp251 = icmp ne i32 %conv250, -1 + br i1 %cmp251, label %if.then253, label %for.inc268 + +if.then253: ; preds = %if.else239 + %180 = load i32, i32* %u, align 4 + %add254 = add nsw i32 128, %180 + %181 = load i32, i32* %c, align 4 + %sub255 = sub nsw i32 %add254, %181 + %conv256 = trunc i32 %sub255 to i8 + %conv257 = zext i8 %conv256 to i16 + %182 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %__ctype_tolower_data258 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %182, i32 0, i32 4 + %183 = load i32, i32* %u, align 4 + %add259 = add nsw i32 128, %183 + %conv260 = trunc i32 %add259 to i8 + %conv261 = sext i8 %conv260 to i32 + %add262 = add nsw i32 128, %conv261 + %idxprom263 = sext i32 %add262 to i64 + %arrayidx264 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data258, i64 0, i64 %idxprom263 + store i16 %conv257, i16* %arrayidx264, align 2 + br label %for.inc268 + +for.inc268: ; preds = %if.end180, %if.else239, %if.then253, %if.then212, %if.then226 + %184 = load i32, i32* %u, align 4 + %inc269 = add nsw i32 %184, 1 + store i32 %inc269, i32* %u, align 4 + br label %for.cond142 + +for.end270: ; preds = %for.cond142 + %__ctype_b_data271 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %133, i32 0, i32 3 + %arraydecay272 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data271, i64 0, i64 0 + %add.ptr273 = getelementptr inbounds i16, i16* %arraydecay272, i64 128 + %185 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %185, i32 0, i32 0 + store i16* %add.ptr273, i16** %__ctype_b, align 8 + %186 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %__ctype_tolower_data274 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %186, i32 0, i32 4 + %arraydecay275 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data274, i64 0, i64 0 + %add.ptr276 = getelementptr inbounds i16, i16* %arraydecay275, i64 128 + %187 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %__ctype_tolower = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %187, i32 0, i32 1 + store i16* %add.ptr276, i16** %__ctype_tolower, align 8 + %188 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %__ctype_toupper_data277 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %188, i32 0, i32 5 + %arraydecay278 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data277, i64 0, i64 0 + %add.ptr279 = getelementptr inbounds i16, i16* %arraydecay278, i64 128 + %189 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %__ctype_toupper = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %189, i32 0, i32 2 + store i16* %add.ptr279, i16** %__ctype_toupper, align 8 + br label %if.end280 + +if.end280: ; preds = %if.then107, %if.else, %for.end270 + %190 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %outdigit_length = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %190, i32 0, i32 11 + %arraydecay281 = getelementptr inbounds [10 x i8], [10 x i8]* %outdigit_length, i64 0, i64 0 + store i8* %arraydecay281, i8** %d, align 8 + %191 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %outdigit0_mb = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %191, i32 0, i32 28 + store i8** %outdigit0_mb, i8*** %x, align 8 + store i32 0, i32* %c, align 4 + br label %for.cond282 + +for.cond282: ; preds = %for.body285, %if.end280 + %192 = load i32, i32* %c, align 4 + %cmp283 = icmp slt i32 %192, 10 + br i1 %cmp283, label %for.body285, label %if.end313 + +for.body285: ; preds = %for.cond282 + %193 = load i8**, i8*** %x, align 8 + %194 = load i32, i32* %c, align 4 + %idxprom286 = sext i32 %194 to i64 + %arrayidx287 = getelementptr inbounds i8*, i8** %193, i64 %idxprom286 + %195 = load i8*, i8** %arrayidx287, align 8 + %call288 = call i64 @strlen(i8* %195) #21 + %conv289 = trunc i64 %call288 to i8 + %196 = load i8*, i8** %d, align 8 + %197 = load i32, i32* %c, align 4 + %idxprom290 = sext i32 %197 to i64 + %arrayidx291 = getelementptr inbounds i8, i8* %196, i64 %idxprom290 + store i8 %conv289, i8* %arrayidx291, align 1 + %198 = load i32, i32* %c, align 4 + %inc293 = add nsw i32 %198, 1 + store i32 %inc293, i32* %c, align 4 + br label %for.cond282 + +if.else295: ; preds = %if.end92 + %199 = load i32, i32* %i, align 4 + %cmp296 = icmp eq i32 %199, 1 + br i1 %cmp296, label %if.then298, label %if.end313 + +if.then298: ; preds = %if.else295 + %200 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %decimal_point_wc = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %200, i32 0, i32 24 + %201 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %decimal_point = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %201, i32 0, i32 39 + %202 = load i8*, i8** %decimal_point, align 8 + %203 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %call299 = call i32 @__locale_mbrtowc_l(i32* %decimal_point_wc, i8* %202, %struct.__uclibc_locale_struct.203* %203) #19 + %204 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %decimal_point_len = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %204, i32 0, i32 26 + store i32 %call299, i32* %decimal_point_len, align 8 + %205 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %grouping = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %205, i32 0, i32 41 + %206 = load i8*, i8** %grouping, align 8 + %207 = load i8, i8* %206, align 1 + %tobool300 = icmp ne i8 %207, 0 + br i1 %tobool300, label %if.then301, label %if.end313 + +if.then301: ; preds = %if.then298 + %208 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %thousands_sep_wc = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %208, i32 0, i32 25 + %209 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %thousands_sep = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %209, i32 0, i32 40 + %210 = load i8*, i8** %thousands_sep, align 8 + %211 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %call302 = call i32 @__locale_mbrtowc_l(i32* %thousands_sep_wc, i8* %210, %struct.__uclibc_locale_struct.203* %211) #19 + %212 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %thousands_sep_len = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %212, i32 0, i32 27 + store i32 %call302, i32* %thousands_sep_len, align 4 + %213 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %thousands_sep_len303 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %213, i32 0, i32 27 + %214 = load i32, i32* %thousands_sep_len303, align 4 + %cmp304 = icmp eq i32 %214, 0 + br i1 %cmp304, label %if.then306, label %if.end313 + +if.then306: ; preds = %if.then301 + %215 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %thousands_sep307 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %215, i32 0, i32 40 + %216 = load i8*, i8** %thousands_sep307, align 8 + %217 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %grouping308 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %217, i32 0, i32 41 + store i8* %216, i8** %grouping308, align 8 + br label %if.end313 + +if.end313: ; preds = %for.cond282, %if.then298, %if.then306, %if.then301, %if.else295, %lor.lhs.false27 + %218 = load i32, i32* %i, align 4 + %inc314 = add nsw i32 %218, 1 + store i32 %inc314, i32* %i, align 4 + %219 = load i8*, i8** %p.addr, align 8 + %add.ptr315 = getelementptr inbounds i8, i8* %219, i64 2 + store i8* %add.ptr315, i8** %p.addr, align 8 + %220 = load i8*, i8** %s, align 8 + %add.ptr316 = getelementptr inbounds i8, i8* %220, i64 2 + store i8* %add.ptr316, i8** %s, align 8 + %221 = load i32, i32* %i, align 4 + %cmp317 = icmp slt i32 %221, 6 + br i1 %cmp317, label %do.body, label %do.end + +do.end: ; preds = %if.end313 + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end, %if.then18 + %222 = load i32, i32* %retval, align 4 + ret i32 %222 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @init_cur_collate(i32 %der_num, %struct.__collate_t.202* %cur_collate) #0 { +entry: + %retval = alloca i32, align 4 + %der_num.addr = alloca i32, align 4 + %cur_collate.addr = alloca %struct.__collate_t.202*, align 8 + %__locale_collate_tbl = alloca i16*, align 8 + %cdh = alloca %struct.coldata_header_t*, align 8 + %cdb = alloca %struct.coldata_base_t*, align 8 + %cdd = alloca %struct.winsize*, align 8 + %p = alloca i16*, align 8 + %n = alloca i64, align 8 + %i = alloca i16, align 2 + %w = alloca i16, align 2 + store i32 %der_num, i32* %der_num.addr, align 4 + store %struct.__collate_t.202* %cur_collate, %struct.__collate_t.202** %cur_collate.addr, align 8 + %0 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %collate_data = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %0, i32 0, i32 28 + %arraydecay = getelementptr inbounds [91141 x i16], [91141 x i16]* %collate_data, i64 0, i64 0 + store i16* %arraydecay, i16** %__locale_collate_tbl, align 8 + %1 = load i32, i32* %der_num.addr, align 4 + %tobool = icmp ne i32 %1, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %2 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %num_weights = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %2, i32 0, i32 0 + store i16 0, i16* %num_weights, align 8 + store i32 1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* %der_num.addr, align 4 + %dec = add nsw i32 %3, -1 + store i32 %dec, i32* %der_num.addr, align 4 + %4 = load i16*, i16** %__locale_collate_tbl, align 8 + %5 = bitcast i16* %4 to %struct.coldata_header_t* + store %struct.coldata_header_t* %5, %struct.coldata_header_t** %cdh, align 8 + %6 = load i16*, i16** %__locale_collate_tbl, align 8 + %7 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_base = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %7, i32 0, i32 0 + %8 = load i16, i16* %num_base, align 2 + %conv = zext i16 %8 to i64 + %mul = mul i64 %conv, 38 + %add = add i64 16, %mul + %9 = load i32, i32* %der_num.addr, align 4 + %conv1 = sext i32 %9 to i64 + %mul2 = mul i64 %conv1, 8 + %add3 = add i64 %add, %mul2 + %div = udiv i64 %add3, 2 + %add.ptr = getelementptr inbounds i16, i16* %6, i64 %div + %10 = bitcast i16* %add.ptr to %struct.winsize* + store %struct.winsize* %10, %struct.winsize** %cdd, align 8 + %11 = load i16*, i16** %__locale_collate_tbl, align 8 + %12 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %base_idx = getelementptr inbounds %struct.winsize, %struct.winsize* %12, i32 0, i32 0 + %13 = load i16, i16* %base_idx, align 2 + %conv4 = zext i16 %13 to i64 + %mul5 = mul i64 %conv4, 38 + %add6 = add i64 16, %mul5 + %div7 = udiv i64 %add6, 2 + %add.ptr8 = getelementptr inbounds i16, i16* %11, i64 %div7 + %14 = bitcast i16* %add.ptr8 to %struct.coldata_base_t* + store %struct.coldata_base_t* %14, %struct.coldata_base_t** %cdb, align 8 + %15 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %16 = bitcast %struct.__collate_t.202* %15 to i8* + %17 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %18 = bitcast %struct.coldata_base_t* %17 to i8* + %call = call i8* @memcpy(i8* %16, i8* %18, i64 28) #20 + %19 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %undefined_idx = getelementptr inbounds %struct.winsize, %struct.winsize* %19, i32 0, i32 1 + %20 = load i16, i16* %undefined_idx, align 2 + %21 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %undefined_idx9 = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %21, i32 0, i32 9 + store i16 %20, i16* %undefined_idx9, align 2 + %22 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %ti_shift = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %22, i32 0, i32 3 + %23 = load i16, i16* %ti_shift, align 2 + %conv10 = zext i16 %23 to i32 + %shl = shl i32 1, %conv10 + %sub = sub nsw i32 %shl, 1 + %conv11 = trunc i32 %sub to i16 + %24 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %ti_mask = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %24, i32 0, i32 15 + store i16 %conv11, i16* %ti_mask, align 2 + %25 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %ii_shift = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %25, i32 0, i32 2 + %26 = load i16, i16* %ii_shift, align 4 + %conv12 = zext i16 %26 to i32 + %shl13 = shl i32 1, %conv12 + %sub14 = sub nsw i32 %shl13, 1 + %conv15 = trunc i32 %sub14 to i16 + %27 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %ii_mask = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %27, i32 0, i32 14 + store i16 %conv15, i16* %ii_mask, align 4 + %28 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_base16 = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %28, i32 0, i32 0 + %29 = load i16, i16* %num_base16, align 2 + %conv17 = zext i16 %29 to i64 + %mul18 = mul i64 %conv17, 38 + %add19 = add i64 16, %mul18 + %30 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_der = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %30, i32 0, i32 1 + %31 = load i16, i16* %num_der, align 2 + %conv20 = zext i16 %31 to i64 + %mul21 = mul i64 %conv20, 8 + %add22 = add i64 %add19, %mul21 + %div23 = udiv i64 %add22, 2 + store i64 %div23, i64* %n, align 8 + %32 = load i16*, i16** %__locale_collate_tbl, align 8 + %33 = load i64, i64* %n, align 8 + %add.ptr24 = getelementptr inbounds i16, i16* %32, i64 %33 + %34 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %index2weight_offset = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %34, i32 0, i32 14 + %35 = load i16, i16* %index2weight_offset, align 2 + %conv25 = zext i16 %35 to i32 + %idx.ext = sext i32 %conv25 to i64 + %add.ptr26 = getelementptr inbounds i16, i16* %add.ptr24, i64 %idx.ext + %36 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %index2weight_tbl = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %36, i32 0, i32 16 + store i16* %add.ptr26, i16** %index2weight_tbl, align 8 + %37 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_index2weight = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %37, i32 0, i32 3 + %38 = load i16, i16* %num_index2weight, align 2 + %conv27 = zext i16 %38 to i64 + %39 = load i64, i64* %n, align 8 + %add28 = add i64 %39, %conv27 + store i64 %add28, i64* %n, align 8 + %40 = load i16*, i16** %__locale_collate_tbl, align 8 + %41 = load i64, i64* %n, align 8 + %add.ptr29 = getelementptr inbounds i16, i16* %40, i64 %41 + %42 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %index2ruleidx_offset = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %42, i32 0, i32 15 + %43 = load i16, i16* %index2ruleidx_offset, align 2 + %conv30 = zext i16 %43 to i32 + %idx.ext31 = sext i32 %conv30 to i64 + %add.ptr32 = getelementptr inbounds i16, i16* %add.ptr29, i64 %idx.ext31 + %44 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %index2ruleidx_tbl = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %44, i32 0, i32 17 + store i16* %add.ptr32, i16** %index2ruleidx_tbl, align 8 + %45 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_index2weight33 = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %45, i32 0, i32 3 + %46 = load i16, i16* %num_index2weight33, align 2 + %conv34 = zext i16 %46 to i64 + %47 = load i64, i64* %n, align 8 + %add35 = add i64 %47, %conv34 + store i64 %add35, i64* %n, align 8 + %48 = load i16*, i16** %__locale_collate_tbl, align 8 + %49 = load i64, i64* %n, align 8 + %add.ptr36 = getelementptr inbounds i16, i16* %48, i64 %49 + %50 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %multistart_offset = getelementptr inbounds %struct.winsize, %struct.winsize* %50, i32 0, i32 3 + %51 = load i16, i16* %multistart_offset, align 2 + %conv37 = zext i16 %51 to i32 + %idx.ext38 = sext i32 %conv37 to i64 + %add.ptr39 = getelementptr inbounds i16, i16* %add.ptr36, i64 %idx.ext38 + %52 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %multistart_tbl = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %52, i32 0, i32 18 + store i16* %add.ptr39, i16** %multistart_tbl, align 8 + %53 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_multistart = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %53, i32 0, i32 5 + %54 = load i16, i16* %num_multistart, align 2 + %conv40 = zext i16 %54 to i64 + %55 = load i64, i64* %n, align 8 + %add41 = add i64 %55, %conv40 + store i64 %add41, i64* %n, align 8 + %56 = load i16*, i16** %__locale_collate_tbl, align 8 + %57 = load i64, i64* %n, align 8 + %add.ptr42 = getelementptr inbounds i16, i16* %56, i64 %57 + %58 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %overrides_offset = getelementptr inbounds %struct.winsize, %struct.winsize* %58, i32 0, i32 2 + %59 = load i16, i16* %overrides_offset, align 2 + %conv43 = zext i16 %59 to i32 + %idx.ext44 = sext i32 %conv43 to i64 + %add.ptr45 = getelementptr inbounds i16, i16* %add.ptr42, i64 %idx.ext44 + %60 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %overrides_tbl = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %60, i32 0, i32 20 + store i16* %add.ptr45, i16** %overrides_tbl, align 8 + %61 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_override = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %61, i32 0, i32 6 + %62 = load i16, i16* %num_override, align 2 + %conv46 = zext i16 %62 to i64 + %63 = load i64, i64* %n, align 8 + %add47 = add i64 %63, %conv46 + store i64 %add47, i64* %n, align 8 + %64 = load i16*, i16** %__locale_collate_tbl, align 8 + %65 = load i64, i64* %n, align 8 + %add.ptr48 = getelementptr inbounds i16, i16* %64, i64 %65 + %66 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %ruletable = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %66, i32 0, i32 22 + store i16* %add.ptr48, i16** %ruletable, align 8 + %67 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_ruletable = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %67, i32 0, i32 7 + %68 = load i16, i16* %num_ruletable, align 2 + %conv49 = zext i16 %68 to i64 + %69 = load i64, i64* %n, align 8 + %add50 = add i64 %69, %conv49 + store i64 %add50, i64* %n, align 8 + %70 = load i16*, i16** %__locale_collate_tbl, align 8 + %71 = load i64, i64* %n, align 8 + %add.ptr51 = getelementptr inbounds i16, i16* %70, i64 %71 + %72 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %weightstr = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %72, i32 0, i32 21 + store i16* %add.ptr51, i16** %weightstr, align 8 + %73 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_weightstr = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %73, i32 0, i32 4 + %74 = load i16, i16* %num_weightstr, align 2 + %conv52 = zext i16 %74 to i64 + %75 = load i64, i64* %n, align 8 + %add53 = add i64 %75, %conv52 + store i64 %add53, i64* %n, align 8 + %76 = load i16*, i16** %__locale_collate_tbl, align 8 + %77 = load i64, i64* %n, align 8 + %add.ptr54 = getelementptr inbounds i16, i16* %76, i64 %77 + %78 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %wcs2colidt_offset_hi = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %78, i32 0, i32 18 + %79 = load i16, i16* %wcs2colidt_offset_hi, align 2 + %conv55 = zext i16 %79 to i64 + %shl56 = shl i64 %conv55, 16 + %add.ptr57 = getelementptr inbounds i16, i16* %add.ptr54, i64 %shl56 + %80 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %wcs2colidt_offset_low = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %80, i32 0, i32 17 + %81 = load i16, i16* %wcs2colidt_offset_low, align 2 + %conv58 = zext i16 %81 to i32 + %idx.ext59 = sext i32 %conv58 to i64 + %add.ptr60 = getelementptr inbounds i16, i16* %add.ptr57, i64 %idx.ext59 + %82 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %wcs2colidt_tbl = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %82, i32 0, i32 19 + store i16* %add.ptr60, i16** %wcs2colidt_tbl, align 8 + %83 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %MAX_WEIGHTS = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %83, i32 0, i32 2 + %84 = load i16, i16* %MAX_WEIGHTS, align 2 + %85 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %MAX_WEIGHTS61 = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %85, i32 0, i32 25 + store i16 %84, i16* %MAX_WEIGHTS61, align 8 + %86 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %max_col_index = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %86, i32 0, i32 8 + %87 = load i16, i16* %max_col_index, align 8 + %conv62 = zext i16 %87 to i32 + %mul63 = mul nsw i32 2, %conv62 + %add64 = add nsw i32 %mul63, 2 + %conv65 = sext i32 %add64 to i64 + %call66 = call noalias i8* @calloc(i64 %conv65, i64 2) #20 + %88 = bitcast i8* %call66 to i16* + %89 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %index2weight = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %89, i32 0, i32 23 + store i16* %88, i16** %index2weight, align 8 + %90 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %index2weight67 = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %90, i32 0, i32 23 + %91 = load i16*, i16** %index2weight67, align 8 + %tobool68 = icmp ne i16* %91, null + br i1 %tobool68, label %if.end70, label %if.then69 + +if.then69: ; preds = %if.end + store i32 0, i32* %retval, align 4 + br label %return + +if.end70: ; preds = %if.end + %92 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %index2weight71 = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %92, i32 0, i32 23 + %93 = load i16*, i16** %index2weight71, align 8 + %94 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %max_col_index72 = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %94, i32 0, i32 8 + %95 = load i16, i16* %max_col_index72, align 8 + %conv73 = zext i16 %95 to i32 + %idx.ext74 = sext i32 %conv73 to i64 + %add.ptr75 = getelementptr inbounds i16, i16* %93, i64 %idx.ext74 + %add.ptr76 = getelementptr inbounds i16, i16* %add.ptr75, i64 1 + %96 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %index2ruleidx = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %96, i32 0, i32 24 + store i16* %add.ptr76, i16** %index2ruleidx, align 8 + %97 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %index2weight77 = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %97, i32 0, i32 23 + %98 = load i16*, i16** %index2weight77, align 8 + %99 = bitcast i16* %98 to i8* + %100 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %index2weight_tbl78 = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %100, i32 0, i32 16 + %101 = load i16*, i16** %index2weight_tbl78, align 8 + %102 = bitcast i16* %101 to i8* + %103 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %num_col_base = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %103, i32 0, i32 7 + %104 = load i16, i16* %num_col_base, align 2 + %conv79 = zext i16 %104 to i64 + %mul80 = mul i64 %conv79, 2 + %call81 = call i8* @memcpy(i8* %99, i8* %102, i64 %mul80) #20 + %105 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %index2ruleidx82 = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %105, i32 0, i32 24 + %106 = load i16*, i16** %index2ruleidx82, align 8 + %107 = bitcast i16* %106 to i8* + %108 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %index2ruleidx_tbl83 = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %108, i32 0, i32 17 + %109 = load i16*, i16** %index2ruleidx_tbl83, align 8 + %110 = bitcast i16* %109 to i8* + %111 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %num_col_base84 = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %111, i32 0, i32 7 + %112 = load i16, i16* %num_col_base84, align 2 + %conv85 = zext i16 %112 to i64 + %mul86 = mul i64 %conv85, 2 + %call87 = call i8* @memcpy(i8* %107, i8* %110, i64 %mul86) #20 + %113 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %overrides_tbl88 = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %113, i32 0, i32 20 + %114 = load i16*, i16** %overrides_tbl88, align 8 + store i16* %114, i16** %p, align 8 + br label %while.cond + +while.cond: ; preds = %do.body, %if.end70 + %115 = load i16*, i16** %p, align 8 + %116 = load i16, i16* %115, align 2 + %conv89 = zext i16 %116 to i32 + %cmp = icmp sgt i32 %conv89, 1 + br i1 %cmp, label %while.body, label %while.cond105 + +while.body: ; preds = %while.cond + %117 = load i16*, i16** %p, align 8 + %incdec.ptr = getelementptr inbounds i16, i16* %117, i32 1 + store i16* %incdec.ptr, i16** %p, align 8 + %118 = load i16, i16* %117, align 2 + %conv91 = zext i16 %118 to i64 + store i64 %conv91, i64* %n, align 8 + %119 = load i16*, i16** %p, align 8 + %incdec.ptr92 = getelementptr inbounds i16, i16* %119, i32 1 + store i16* %incdec.ptr92, i16** %p, align 8 + %120 = load i16, i16* %119, align 2 + store i16 %120, i16* %w, align 2 + br label %do.body + +do.body: ; preds = %do.body, %while.body + %121 = load i16*, i16** %p, align 8 + %incdec.ptr93 = getelementptr inbounds i16, i16* %121, i32 1 + store i16* %incdec.ptr93, i16** %p, align 8 + %122 = load i16, i16* %121, align 2 + store i16 %122, i16* %i, align 2 + %123 = load i16, i16* %w, align 2 + %inc = add i16 %123, 1 + store i16 %inc, i16* %w, align 2 + %124 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %index2weight94 = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %124, i32 0, i32 23 + %125 = load i16*, i16** %index2weight94, align 8 + %126 = load i16, i16* %i, align 2 + %conv95 = zext i16 %126 to i32 + %sub96 = sub nsw i32 %conv95, 1 + %idxprom = sext i32 %sub96 to i64 + %arrayidx = getelementptr inbounds i16, i16* %125, i64 %idxprom + store i16 %123, i16* %arrayidx, align 2 + %127 = load i16*, i16** %p, align 8 + %incdec.ptr97 = getelementptr inbounds i16, i16* %127, i32 1 + store i16* %incdec.ptr97, i16** %p, align 8 + %128 = load i16, i16* %127, align 2 + %129 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %index2ruleidx98 = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %129, i32 0, i32 24 + %130 = load i16*, i16** %index2ruleidx98, align 8 + %131 = load i16, i16* %i, align 2 + %conv99 = zext i16 %131 to i32 + %sub100 = sub nsw i32 %conv99, 1 + %idxprom101 = sext i32 %sub100 to i64 + %arrayidx102 = getelementptr inbounds i16, i16* %130, i64 %idxprom101 + store i16 %128, i16* %arrayidx102, align 2 + %132 = load i64, i64* %n, align 8 + %dec103 = add i64 %132, -1 + store i64 %dec103, i64* %n, align 8 + %tobool104 = icmp ne i64 %dec103, 0 + br i1 %tobool104, label %do.body, label %while.cond + +while.cond105: ; preds = %while.cond, %while.body108 + %133 = load i16*, i16** %p, align 8 + %incdec.ptr106 = getelementptr inbounds i16, i16* %133, i32 1 + store i16* %incdec.ptr106, i16** %p, align 8 + %134 = load i16, i16* %incdec.ptr106, align 2 + %tobool107 = icmp ne i16 %134, 0 + br i1 %tobool107, label %while.body108, label %while.end121 + +while.body108: ; preds = %while.cond105 + %135 = load i16*, i16** %p, align 8 + %136 = load i16, i16* %135, align 2 + store i16 %136, i16* %i, align 2 + %137 = load i16*, i16** %p, align 8 + %incdec.ptr109 = getelementptr inbounds i16, i16* %137, i32 1 + store i16* %incdec.ptr109, i16** %p, align 8 + %138 = load i16, i16* %incdec.ptr109, align 2 + %139 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %index2weight110 = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %139, i32 0, i32 23 + %140 = load i16*, i16** %index2weight110, align 8 + %141 = load i16, i16* %i, align 2 + %conv111 = zext i16 %141 to i32 + %sub112 = sub nsw i32 %conv111, 1 + %idxprom113 = sext i32 %sub112 to i64 + %arrayidx114 = getelementptr inbounds i16, i16* %140, i64 %idxprom113 + store i16 %138, i16* %arrayidx114, align 2 + %142 = load i16*, i16** %p, align 8 + %incdec.ptr115 = getelementptr inbounds i16, i16* %142, i32 1 + store i16* %incdec.ptr115, i16** %p, align 8 + %143 = load i16, i16* %incdec.ptr115, align 2 + %144 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %index2ruleidx116 = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %144, i32 0, i32 24 + %145 = load i16*, i16** %index2ruleidx116, align 8 + %146 = load i16, i16* %i, align 2 + %conv117 = zext i16 %146 to i32 + %sub118 = sub nsw i32 %conv117, 1 + %idxprom119 = sext i32 %sub118 to i64 + %arrayidx120 = getelementptr inbounds i16, i16* %145, i64 %idxprom119 + store i16 %143, i16* %arrayidx120, align 2 + br label %while.cond105 + +while.end121: ; preds = %while.cond105 + store i16 0, i16* %i, align 2 + br label %for.cond + +for.cond: ; preds = %for.inc, %while.end121 + %147 = load i16, i16* %i, align 2 + %conv122 = zext i16 %147 to i32 + %148 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %multistart_tbl123 = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %148, i32 0, i32 18 + %149 = load i16*, i16** %multistart_tbl123, align 8 + %arrayidx124 = getelementptr inbounds i16, i16* %149, i64 0 + %150 = load i16, i16* %arrayidx124, align 2 + %conv125 = zext i16 %150 to i32 + %cmp126 = icmp slt i32 %conv122, %conv125 + br i1 %cmp126, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %151 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %multistart_tbl128 = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %151, i32 0, i32 18 + %152 = load i16*, i16** %multistart_tbl128, align 8 + store i16* %152, i16** %p, align 8 + %153 = load i16*, i16** %p, align 8 + %154 = load i16, i16* %i, align 2 + %idxprom129 = zext i16 %154 to i64 + %arrayidx130 = getelementptr inbounds i16, i16* %153, i64 %idxprom129 + %155 = load i16, i16* %arrayidx130, align 2 + %conv131 = zext i16 %155 to i32 + %156 = load i16*, i16** %p, align 8 + %idx.ext132 = sext i32 %conv131 to i64 + %add.ptr133 = getelementptr inbounds i16, i16* %156, i64 %idx.ext132 + store i16* %add.ptr133, i16** %p, align 8 + br label %do.body134 + +do.body134: ; preds = %do.body141, %for.body + %157 = load i16*, i16** %p, align 8 + %incdec.ptr135 = getelementptr inbounds i16, i16* %157, i32 1 + store i16* %incdec.ptr135, i16** %p, align 8 + %158 = load i16, i16* %157, align 2 + %conv136 = zext i16 %158 to i64 + store i64 %conv136, i64* %n, align 8 + %159 = load i16*, i16** %p, align 8 + %160 = load i16, i16* %159, align 2 + %tobool138 = icmp ne i16 %160, 0 + br i1 %tobool138, label %do.body141, label %for.inc + +do.body141: ; preds = %do.body134, %do.body141 + %161 = load i16*, i16** %p, align 8 + %incdec.ptr143 = getelementptr inbounds i16, i16* %161, i32 1 + store i16* %incdec.ptr143, i16** %p, align 8 + %162 = load i16, i16* %161, align 2 + %tobool144 = icmp ne i16 %162, 0 + br i1 %tobool144, label %do.body141, label %do.body134 + +for.inc: ; preds = %do.body134 + %163 = load i16, i16* %i, align 2 + %inc150 = add i16 %163, 1 + store i16 %inc150, i16* %i, align 2 + br label %for.cond + +for.end: ; preds = %for.cond + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %for.end, %if.then69, %if.then + %164 = load i32, i32* %retval, align 4 + ret i32 %164 +} + +; Function Attrs: nounwind +declare void @free(i8*) #2 + +; Function Attrs: nounwind +declare noalias i8* @calloc(i64, i64) #2 + +; Function Attrs: noinline nounwind uwtable +define hidden void @_locale_init_l(%struct.__uclibc_locale_struct.203* %base) #0 { +entry: + %base.addr = alloca %struct.__uclibc_locale_struct.203*, align 8 + store %struct.__uclibc_locale_struct.203* %base, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %0, i32 0, i32 6 + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + %call = call i8* @memset(i8* %arraydecay, i32 0, i64 14) #20 + %1 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %cur_locale1 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %1, i32 0, i32 6 + %arrayidx = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale1, i64 0, i64 0 + store i8 35, i8* %arrayidx, align 8 + %2 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %category_item_count = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %2, i32 0, i32 8 + %arraydecay2 = getelementptr inbounds [6 x i8], [6 x i8]* %category_item_count, i64 0, i64 0 + %3 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %lc_common_item_offsets_LEN = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %3, i32 0, i32 29 + %arraydecay3 = getelementptr inbounds [6 x i8], [6 x i8]* %lc_common_item_offsets_LEN, i64 0, i64 0 + %call4 = call i8* @memcpy(i8* %arraydecay2, i8* %arraydecay3, i64 6) #20 + %4 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %category_item_count5 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %4, i32 0, i32 8 + %arrayidx6 = getelementptr inbounds [6 x i8], [6 x i8]* %category_item_count5, i64 0, i64 0 + %5 = load i8, i8* %arrayidx6, align 2 + %inc = add i8 %5, 1 + store i8 %inc, i8* %arrayidx6, align 2 + %6 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %category_offsets = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %6, i32 0, i32 7 + %arrayidx7 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets, i64 0, i64 0 + store i16 2488, i16* %arrayidx7, align 2 + %7 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %category_offsets8 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %7, i32 0, i32 7 + %arrayidx9 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets8, i64 0, i64 1 + store i16 2576, i16* %arrayidx9, align 2 + %8 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %category_offsets10 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %8, i32 0, i32 7 + %arrayidx11 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets10, i64 0, i64 2 + store i16 2600, i16* %arrayidx11, align 2 + %9 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %category_offsets12 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %9, i32 0, i32 7 + %arrayidx13 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets12, i64 0, i64 3 + store i16 2776, i16* %arrayidx13, align 2 + %10 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %category_offsets14 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %10, i32 0, i32 7 + %arrayidx15 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets14, i64 0, i64 5 + store i16 3176, i16* %arrayidx15, align 2 + %11 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %tbl8ctype = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %11, i32 0, i32 0 + %12 = bitcast [420 x i8]* %tbl8ctype to i8* + %13 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %tbl8ctype16 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %13, i32 0, i32 13 + store i8* %12, i8** %tbl8ctype16, align 8 + %14 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %tbl8uplow = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %14, i32 0, i32 1 + %15 = bitcast [504 x i8]* %tbl8uplow to i8* + %16 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %tbl8uplow17 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %16, i32 0, i32 15 + store i8* %15, i8** %tbl8uplow17, align 8 + %17 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %tbl8c2wc = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %17, i32 0, i32 2 + %18 = bitcast [1760 x i16]* %tbl8c2wc to i16* + %19 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %tbl8c2wc18 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %19, i32 0, i32 17 + store i16* %18, i16** %tbl8c2wc18, align 8 + %20 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %tbl8wc2c = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %20, i32 0, i32 3 + %21 = bitcast [4528 x i8]* %tbl8wc2c to i8* + %22 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %tbl8wc2c19 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %22, i32 0, i32 19 + store i8* %21, i8** %tbl8wc2c19, align 8 + %23 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %tblwctype = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %23, i32 0, i32 4 + %24 = bitcast [3604 x i8]* %tblwctype to i8* + %25 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %tblwctype20 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %25, i32 0, i32 21 + store i8* %24, i8** %tblwctype20, align 8 + %26 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %tblwuplow = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %26, i32 0, i32 5 + %27 = bitcast [1680 x i8]* %tblwuplow to i8* + %28 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %tblwuplow21 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %28, i32 0, i32 22 + store i8* %27, i8** %tblwuplow21, align 8 + %29 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %tblwuplow_diff = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %29, i32 0, i32 6 + %30 = bitcast [196 x i16]* %tblwuplow_diff to i16* + %31 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %tblwuplow_diff22 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %31, i32 0, i32 23 + store i16* %30, i16** %tblwuplow_diff22, align 8 + %32 = load i16*, i16** @__C_ctype_b, align 8 + %33 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %33, i32 0, i32 0 + store i16* %32, i16** %__ctype_b, align 8 + %34 = load i16*, i16** @__C_ctype_tolower, align 8 + %35 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %__ctype_tolower = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %35, i32 0, i32 1 + store i16* %34, i16** %__ctype_tolower, align 8 + %36 = load i16*, i16** @__C_ctype_toupper, align 8 + %37 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %__ctype_toupper = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %37, i32 0, i32 2 + store i16* %36, i16** %__ctype_toupper, align 8 + %38 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %code2flag = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %38, i32 0, i32 20 + store i16* getelementptr inbounds ([16 x i16], [16 x i16]* @__code2flag, i64 0, i64 0), i16** %code2flag, align 8 + %39 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %call23 = call i32 @_locale_set_l(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.76, i64 0, i64 0), %struct.__uclibc_locale_struct.203* %39) #19 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_locale_init() #0 { +entry: + %0 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__global_locale, align 8 + call void @_locale_init_l(%struct.__uclibc_locale_struct.203* %0) #19 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @sigblock(i32 %mask) #0 { +entry: + %retval = alloca i32, align 4 + %mask.addr = alloca i32, align 4 + %set = alloca %struct.fd_set, align 8 + %oset = alloca %struct.fd_set, align 8 + store i32 %mask, i32* %mask.addr, align 4 + %0 = load i32, i32* %mask.addr, align 4 + %call = call i32 @sigset_set_old_mask(%struct.fd_set* %set, i32 %0) #19 + %cmp = icmp slt i32 %call, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %call1 = call i32 @sigprocmask(i32 0, %struct.fd_set* %set, %struct.fd_set* %oset) #20 + %cmp2 = icmp slt i32 %call1, 0 + br i1 %cmp2, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.end + store i32 -1, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %if.end + %call5 = call i32 @sigset_get_old_mask(%struct.fd_set* %oset) #19 + store i32 %call5, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %1 = load i32, i32* %retval, align 4 + ret i32 %1 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @sigset_set_old_mask(%struct.fd_set* %set, i32 %mask) #0 { +entry: + %set.addr = alloca %struct.fd_set*, align 8 + %mask.addr = alloca i32, align 4 + %ptr = alloca i64*, align 8 + %cnt = alloca i32, align 4 + store %struct.fd_set* %set, %struct.fd_set** %set.addr, align 8 + store i32 %mask, i32* %mask.addr, align 4 + %0 = load %struct.fd_set*, %struct.fd_set** %set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %0, i32 0, i32 0 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 0 + store i64* %arrayidx, i64** %ptr, align 8 + %1 = load i32, i32* %mask.addr, align 4 + %conv = zext i32 %1 to i64 + %2 = load i64*, i64** %ptr, align 8 + %incdec.ptr = getelementptr inbounds i64, i64* %2, i32 1 + store i64* %incdec.ptr, i64** %ptr, align 8 + store i64 %conv, i64* %2, align 8 + store i32 14, i32* %cnt, align 4 + br label %do.body + +do.body: ; preds = %do.body, %entry + %3 = load i64*, i64** %ptr, align 8 + %incdec.ptr1 = getelementptr inbounds i64, i64* %3, i32 1 + store i64* %incdec.ptr1, i64** %ptr, align 8 + store i64 0, i64* %3, align 8 + %4 = load i32, i32* %cnt, align 4 + %dec = add nsw i32 %4, -1 + store i32 %dec, i32* %cnt, align 4 + %cmp = icmp sge i32 %dec, 0 + br i1 %cmp, label %do.body, label %do.end + +do.end: ; preds = %do.body + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @sigset_get_old_mask(%struct.fd_set* %set) #0 { +entry: + %set.addr = alloca %struct.fd_set*, align 8 + store %struct.fd_set* %set, %struct.fd_set** %set.addr, align 8 + %0 = load %struct.fd_set*, %struct.fd_set** %set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %0, i32 0, i32 0 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 0 + %1 = load i64, i64* %arrayidx, align 8 + %conv = trunc i64 %1 to i32 + ret i32 %conv +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_stdio_term() #0 { +entry: + %ptr = alloca %struct.__STDIO_FILE_STRUCT.570*, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.570* %0, %struct.__STDIO_FILE_STRUCT.570** %ptr, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %ptr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.570* %1, null + br i1 %tobool, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %2 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %ptr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %2, i32 0, i32 0 + %3 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %3 to i32 + %and = and i32 %conv, 64 + %tobool1 = icmp ne i32 %and, 0 + br i1 %tobool1, label %if.then, label %for.inc + +if.then: ; preds = %for.body + %4 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %ptr, align 8 + %call = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.570* %4) #19 + br label %for.inc + +for.inc: ; preds = %for.body, %if.then + %5 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %ptr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %5, i32 0, i32 9 + %6 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %__nextopen, align 8 + store %struct.__STDIO_FILE_STRUCT.570* %6, %struct.__STDIO_FILE_STRUCT.570** %ptr, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_stdio_init() #0 { +entry: + %old_errno = alloca i32, align 4 + %0 = load i32, i32* @errno, align 4 + store i32 %0, i32* %old_errno, align 4 + %call = call i32 @isatty(i32 0) #20 + %sub = sub nsw i32 1, %call + %mul = mul i32 %sub, 256 + %1 = load i16, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.570], [3 x %struct.__STDIO_FILE_STRUCT.570]* @_stdio_streams, i64 0, i64 0, i32 0), align 16 + %conv = zext i16 %1 to i32 + %xor = xor i32 %conv, %mul + %conv1 = trunc i32 %xor to i16 + store i16 %conv1, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.570], [3 x %struct.__STDIO_FILE_STRUCT.570]* @_stdio_streams, i64 0, i64 0, i32 0), align 16 + %call2 = call i32 @isatty(i32 1) #20 + %sub3 = sub nsw i32 1, %call2 + %mul4 = mul i32 %sub3, 256 + %2 = load i16, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.570], [3 x %struct.__STDIO_FILE_STRUCT.570]* @_stdio_streams, i64 0, i64 1, i32 0), align 8 + %conv5 = zext i16 %2 to i32 + %xor6 = xor i32 %conv5, %mul4 + %conv7 = trunc i32 %xor6 to i16 + store i16 %conv7, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.570], [3 x %struct.__STDIO_FILE_STRUCT.570]* @_stdio_streams, i64 0, i64 1, i32 0), align 8 + %3 = load i32, i32* %old_errno, align 4 + store i32 %3, i32* @errno, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getchar_unlocked() #0 { +entry: + %stream = alloca %struct.__STDIO_FILE_STRUCT.570*, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** @stdin, align 8 + store %struct.__STDIO_FILE_STRUCT.570* %0, %struct.__STDIO_FILE_STRUCT.570** %stream, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %1, i32 0, i32 5 + %2 = load i8*, i8** %__bufpos, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %3, i32 0, i32 7 + %4 = load i8*, i8** %__bufgetc_u, align 8 + %cmp = icmp ult i8* %2, %4 + %5 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream, align 8 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %entry + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %5, i32 0, i32 5 + %6 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + %7 = load i8, i8* %6, align 1 + %conv = zext i8 %7 to i32 + br label %cond.end + +cond.false: ; preds = %entry + %call = call i32 @__fgetc_unlocked(%struct.__STDIO_FILE_STRUCT.570* %5) #19 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ %conv, %cond.true ], [ %call, %cond.false ] + ret i32 %cond +} + +; Function Attrs: noinline noreturn nounwind uwtable +declare void @abort() #1 + +; Function Attrs: noreturn +declare void @_exit(i32) #13 + +; Function Attrs: noinline noreturn nounwind uwtable +define void @exit(i32 %rv) #1 { +entry: + %rv.addr = alloca i32, align 4 + store i32 %rv, i32* %rv.addr, align 4 + %0 = load void (i32)*, void (i32)** @__exit_cleanup, align 8 + %tobool = icmp ne void (i32)* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load void (i32)*, void (i32)** @__exit_cleanup, align 8 + %2 = load i32, i32* %rv.addr, align 4 + call void %1(i32 %2) #19 + br label %if.end + +if.end: ; preds = %if.then, %entry + call void @__uClibc_fini() #19 + call void @_stdio_term() #19 + %3 = load i32, i32* %rv.addr, align 4 + call void @_exit(i32 %3) #28 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define i8* @memcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r1 = alloca i8*, align 8 + %r2 = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %r1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %r2, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %2 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load i8*, i8** %r2, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %r2, align 8 + %4 = load i8, i8* %3, align 1 + %5 = load i8*, i8** %r1, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr1, i8** %r1, align 8 + store i8 %4, i8* %5, align 1 + %6 = load i64, i64* %n.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %7 = load i8*, i8** %s1.addr, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @memset(i8* nonnull %s, i32 %c, i64 %n) #0 { +entry: + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %n.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %1 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %2 = load i32, i32* %c.addr, align 4 + %conv = trunc i32 %2 to i8 + %3 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + store i8 %conv, i8* %3, align 1 + %4 = load i64, i64* %n.addr, align 8 + %dec = add i64 %4, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %5 = load i8*, i8** %s.addr, align 8 + ret i8* %5 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @strrchr(i8* nonnull %s, i32 %c) #14 { +entry: + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i8* null, i8** %p, align 8 + br label %do.body + +do.body: ; preds = %do.cond, %entry + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %2 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %2 to i8 + %conv2 = sext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + br i1 %cmp, label %if.then, label %do.cond + +if.then: ; preds = %do.body + %3 = load i8*, i8** %s.addr, align 8 + store i8* %3, i8** %p, align 8 + br label %do.cond + +do.cond: ; preds = %do.body, %if.then + %4 = load i8*, i8** %s.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr, i8** %s.addr, align 8 + %5 = load i8, i8* %4, align 1 + %tobool = icmp ne i8 %5, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %6 = load i8*, i8** %p, align 8 + ret i8* %6 +} + +; Function Attrs: noinline noreturn nounwind uwtable +define dso_local void @usage(i32 %status) #6 { +entry: + %status.addr = alloca i32, align 4 + store i32 %status, i32* %status.addr, align 4 + %0 = load i32, i32* %status.addr, align 4 + %cmp = icmp ne i32 %0, 0 + br i1 %cmp, label %do.body, label %if.else + +do.body: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.570** @stderr to %struct._IO_FILE**), align 8 + %2 = load i8*, i8** @program_name, align 8 + %call = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %1, i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.95, i64 0, i64 0), i8* %2) + br label %if.end + +if.else: ; preds = %entry + %3 = load i8*, i8** @program_name, align 8 + %call1 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.1.96, i64 0, i64 0), i8* %3) + %4 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.570** @stdout to %struct._IO_FILE**), align 8 + %call2 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.623*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.2.97, i64 0, i64 0), %struct._IO_FILE* %4) + call void @emit_stdin_note() + %5 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.570** @stdout to %struct._IO_FILE**), align 8 + %call3 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.623*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([335 x i8], [335 x i8]* @.str.3.98, i64 0, i64 0), %struct._IO_FILE* %5) + %6 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.570** @stdout to %struct._IO_FILE**), align 8 + %call4 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.623*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([212 x i8], [212 x i8]* @.str.4.99, i64 0, i64 0), %struct._IO_FILE* %6) + %7 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.570** @stdout to %struct._IO_FILE**), align 8 + %call5 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.623*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.5.100, i64 0, i64 0), %struct._IO_FILE* %7) + %8 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.570** @stdout to %struct._IO_FILE**), align 8 + %call6 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.623*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.6.101, i64 0, i64 0), %struct._IO_FILE* %8) + %9 = load i8*, i8** @program_name, align 8 + %10 = load i8*, i8** @program_name, align 8 + %call7 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([137 x i8], [137 x i8]* @.str.7.102, i64 0, i64 0), i8* %9, i8* %10) + call void @emit_ancillary_info(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.8.103, i64 0, i64 0)) + br label %if.end + +if.end: ; preds = %if.else, %do.body + %11 = load i32, i32* %status.addr, align 4 + call void @exit(i32 %11) #27 + unreachable +} + +declare dso_local i32 @printf(i8*, ...) #5 + +; Function Attrs: noinline nounwind uwtable +define internal void @emit_stdin_note() #3 { +entry: + %0 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.570** @stdout to %struct._IO_FILE**), align 8 + %call = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.623*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.28.113, i64 0, i64 0), %struct._IO_FILE* %0) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @emit_ancillary_info(i8* %program) #3 { +entry: + %program.addr = alloca i8*, align 8 + %infomap = alloca [7 x %struct.infomap], align 16 + %node = alloca i8*, align 8 + %map_prog = alloca %struct.infomap*, align 8 + %lc_messages = alloca i8*, align 8 + store i8* %program, i8** %program.addr, align 8 + %0 = bitcast [7 x %struct.infomap]* %infomap to i8* + %1 = call i8* @memcpy(i8* %0, i8* bitcast ([7 x %struct.infomap]* @__const.emit_ancillary_info.infomap to i8*), i64 112) + %2 = load i8*, i8** %program.addr, align 8 + store i8* %2, i8** %node, align 8 + %arraydecay = getelementptr inbounds [7 x %struct.infomap], [7 x %struct.infomap]* %infomap, i64 0, i64 0 + store %struct.infomap* %arraydecay, %struct.infomap** %map_prog, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %3 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + %program1 = getelementptr inbounds %struct.infomap, %struct.infomap* %3, i32 0, i32 0 + %4 = load i8*, i8** %program1, align 8 + %tobool = icmp ne i8* %4, null + br i1 %tobool, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %5 = load i8*, i8** %program.addr, align 8 + %6 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + %program2 = getelementptr inbounds %struct.infomap, %struct.infomap* %6, i32 0, i32 0 + %7 = load i8*, i8** %program2, align 8 + %call = call i32 @strcmp(i8* %5, i8* %7) #24 + %cmp = icmp eq i32 %call, 0 + %lnot = xor i1 %cmp, true + br label %land.end + +land.end: ; preds = %land.rhs, %while.cond + %8 = phi i1 [ false, %while.cond ], [ %lnot, %land.rhs ] + %9 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + br i1 %8, label %while.body, label %while.end + +while.body: ; preds = %land.end + %incdec.ptr = getelementptr inbounds %struct.infomap, %struct.infomap* %9, i32 1 + store %struct.infomap* %incdec.ptr, %struct.infomap** %map_prog, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %node3 = getelementptr inbounds %struct.infomap, %struct.infomap* %9, i32 0, i32 1 + %10 = load i8*, i8** %node3, align 8 + %tobool4 = icmp ne i8* %10, null + br i1 %tobool4, label %if.then, label %if.end + +if.then: ; preds = %while.end + %11 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + %node5 = getelementptr inbounds %struct.infomap, %struct.infomap* %11, i32 0, i32 1 + %12 = load i8*, i8** %node5, align 8 + store i8* %12, i8** %node, align 8 + br label %if.end + +if.end: ; preds = %if.then, %while.end + %call6 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.38, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.20.104, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.39, i64 0, i64 0)) + %call7 = call i8* @setlocale(i32 5, i8* null) #11 + store i8* %call7, i8** %lc_messages, align 8 + %13 = load i8*, i8** %lc_messages, align 8 + %tobool8 = icmp ne i8* %13, null + br i1 %tobool8, label %land.lhs.true, label %if.end13 + +land.lhs.true: ; preds = %if.end + %14 = load i8*, i8** %lc_messages, align 8 + %call9 = call i32 @strncmp(i8* %14, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.40, i64 0, i64 0), i64 3) #24 + %tobool10 = icmp ne i32 %call9, 0 + br i1 %tobool10, label %if.then11, label %if.end13 + +if.then11: ; preds = %land.lhs.true + %15 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.570** @stdout to %struct._IO_FILE**), align 8 + %call12 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.623*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.41, i64 0, i64 0), %struct._IO_FILE* %15) + br label %if.end13 + +if.end13: ; preds = %if.then11, %land.lhs.true, %if.end + %16 = load i8*, i8** %program.addr, align 8 + %call14 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.42, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.39, i64 0, i64 0), i8* %16) + %17 = load i8*, i8** %node, align 8 + %18 = load i8*, i8** %node, align 8 + %19 = load i8*, i8** %program.addr, align 8 + %cmp15 = icmp eq i8* %18, %19 + %20 = zext i1 %cmp15 to i64 + %cond = select i1 %cmp15, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.44, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.18.105, i64 0, i64 0) + %call16 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([51 x i8], [51 x i8]* @.str.43, i64 0, i64 0), i8* %17, i8* %cond) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__klee_posix_wrapped_main(i32 %argc, i8** %argv) #3 { +entry: + %retval = alloca i32, align 4 + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %outsize = alloca i64, align 8 + %insize = alloca i64, align 8 + %page_size = alloca i64, align 8 + %inbuf = alloca i8*, align 8 + %outbuf = alloca i8*, align 8 + %ok = alloca i8, align 1 + %c = alloca i32, align 4 + %argind = alloca i32, align 4 + %out_dev = alloca i64, align 8 + %out_ino = alloca i64, align 8 + %out_isreg = alloca i8, align 1 + %have_read_stdin = alloca i8, align 1 + %stat_buf = alloca %struct.stat64, align 8 + %number = alloca i8, align 1 + %number_nonblank = alloca i8, align 1 + %squeeze_blank = alloca i8, align 1 + %show_ends = alloca i8, align 1 + %show_nonprinting = alloca i8, align 1 + %show_tabs = alloca i8, align 1 + %file_open_mode = alloca i32, align 4 + store i32 0, i32* %retval, align 4 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + %call = call i32 @getpagesize() #26 + %conv = sext i32 %call to i64 + store i64 %conv, i64* %page_size, align 8 + store i8 1, i8* %ok, align 1 + store i8 0, i8* %have_read_stdin, align 1 + store i8 0, i8* %number, align 1 + store i8 0, i8* %number_nonblank, align 1 + store i8 0, i8* %squeeze_blank, align 1 + store i8 0, i8* %show_ends, align 1 + store i8 0, i8* %show_nonprinting, align 1 + store i8 0, i8* %show_tabs, align 1 + store i32 0, i32* %file_open_mode, align 4 + %0 = load i8**, i8*** %argv.addr, align 8 + %arrayidx = getelementptr inbounds i8*, i8** %0, i64 0 + %1 = load i8*, i8** %arrayidx, align 8 + call void @set_program_name(i8* %1) + %call1 = call i8* @setlocale(i32 6, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.18.105, i64 0, i64 0)) #11 + %call2 = call i32 @atexit(void ()* @close_stdout) #11 + br label %while.cond + +while.cond: ; preds = %sw.epilog, %entry + %2 = load i32, i32* %argc.addr, align 4 + %3 = load i8**, i8*** %argv.addr, align 8 + %call3 = call i32 @getopt_long(i32 %2, i8** %3, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.19.116, i64 0, i64 0), %struct.option* getelementptr inbounds ([10 x %struct.option], [10 x %struct.option]* @main.long_options, i64 0, i64 0), i32* null) #11 + store i32 %call3, i32* %c, align 4 + %cmp = icmp ne i32 %call3, -1 + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i32, i32* %c, align 4 + br label %NodeBlock21 + +NodeBlock21: ; preds = %while.body + %case.cmp22 = icmp eq i32 %4, 98 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %4, 101 + br i1 %case.cmp20, label %sw.bb5, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %4, 110 + br i1 %case.cmp18, label %sw.bb6, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %4, 115 + br i1 %case.cmp16, label %sw.bb7, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %4, 116 + br i1 %case.cmp14, label %sw.bb8, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %4, 117 + br i1 %case.cmp12, label %sw.epilog, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %4, 118 + br i1 %case.cmp10, label %sw.bb10, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %4, 65 + br i1 %case.cmp8, label %sw.bb11, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %4, 69 + br i1 %case.cmp6, label %sw.bb12, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %4, 84 + br i1 %case.cmp4, label %sw.bb13, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %4, -130 + br i1 %case.cmp2, label %sw.bb14, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %4, -131 + br i1 %case.cmp, label %sw.bb15, label %newDefault + +sw.bb: ; preds = %NodeBlock21 + store i8 1, i8* %number, align 1 + store i8 1, i8* %number_nonblank, align 1 + br label %sw.epilog + +sw.bb5: ; preds = %NodeBlock19 + store i8 1, i8* %show_ends, align 1 + store i8 1, i8* %show_nonprinting, align 1 + br label %sw.epilog + +sw.bb6: ; preds = %NodeBlock17 + store i8 1, i8* %number, align 1 + br label %sw.epilog + +sw.bb7: ; preds = %NodeBlock15 + store i8 1, i8* %squeeze_blank, align 1 + br label %sw.epilog + +sw.bb8: ; preds = %NodeBlock13 + store i8 1, i8* %show_tabs, align 1 + store i8 1, i8* %show_nonprinting, align 1 + br label %sw.epilog + +sw.bb10: ; preds = %NodeBlock9 + store i8 1, i8* %show_nonprinting, align 1 + br label %sw.epilog + +sw.bb11: ; preds = %NodeBlock7 + store i8 1, i8* %show_nonprinting, align 1 + store i8 1, i8* %show_ends, align 1 + store i8 1, i8* %show_tabs, align 1 + br label %sw.epilog + +sw.bb12: ; preds = %NodeBlock5 + store i8 1, i8* %show_ends, align 1 + br label %sw.epilog + +sw.bb13: ; preds = %NodeBlock3 + store i8 1, i8* %show_tabs, align 1 + br label %sw.epilog + +sw.bb14: ; preds = %NodeBlock1 + call void @usage(i32 0) #25 + unreachable + +sw.bb15: ; preds = %NodeBlock + %5 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.570** @stdout to %struct._IO_FILE**), align 8 + %6 = load i8*, i8** @Version, align 8 + call void (%struct._IO_FILE*, i8*, i8*, i8*, ...) @version_etc(%struct._IO_FILE* %5, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.8.103, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.20.104, i64 0, i64 0), i8* %6, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.21.117, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.22.118, i64 0, i64 0), i8* null) + call void @exit(i32 0) #27 + unreachable + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @usage(i32 1) #25 + unreachable + +sw.epilog: ; preds = %NodeBlock11, %sw.bb13, %sw.bb12, %sw.bb11, %sw.bb10, %sw.bb8, %sw.bb7, %sw.bb6, %sw.bb5, %sw.bb + br label %while.cond + +while.end: ; preds = %while.cond + %call16 = call i32 @fstat(i32 1, %struct.stat64* %stat_buf) #11 + %cmp17 = icmp slt i32 %call16, 0 + br i1 %cmp17, label %if.then, label %if.end + +if.then: ; preds = %while.end + %call19 = call i32* @__errno_location() #26 + %7 = load i32, i32* %call19, align 4 + call void (i32, i32, i8*, ...) @error(i32 1, i32 %7, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.23.119, i64 0, i64 0)) + unreachable + +if.end: ; preds = %while.end + %call20 = call i64 @io_blksize(%struct.stat64* byval(%struct.stat64) align 8 %stat_buf) + store i64 %call20, i64* %outsize, align 8 + %st_dev = getelementptr inbounds %struct.stat64, %struct.stat64* %stat_buf, i32 0, i32 0 + %8 = load i64, i64* %st_dev, align 8 + store i64 %8, i64* %out_dev, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %stat_buf, i32 0, i32 1 + %9 = load i64, i64* %st_ino, align 8 + store i64 %9, i64* %out_ino, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %stat_buf, i32 0, i32 3 + %10 = load i32, i32* %st_mode, align 8 + %and = and i32 %10, 61440 + %cmp21 = icmp eq i32 %and, 32768 + %conv22 = zext i1 %cmp21 to i32 + %cmp23 = icmp ne i32 %conv22, 0 + %frombool = zext i1 %cmp23 to i8 + store i8 %frombool, i8* %out_isreg, align 1 + %11 = load i8, i8* %number, align 1 + %tobool = trunc i8 %11 to i1 + br i1 %tobool, label %if.end32, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %12 = load i8, i8* %show_ends, align 1 + %tobool26 = trunc i8 %12 to i1 + br i1 %tobool26, label %if.end32, label %lor.lhs.false28 + +lor.lhs.false28: ; preds = %lor.lhs.false + %13 = load i8, i8* %squeeze_blank, align 1 + %tobool29 = trunc i8 %13 to i1 + br i1 %tobool29, label %if.end32, label %if.then31 + +if.then31: ; preds = %lor.lhs.false28 + %14 = load i32, i32* %file_open_mode, align 4 + store i32 %14, i32* %file_open_mode, align 4 + call void @xset_binary_mode(i32 1, i32 0) + br label %if.end32 + +if.end32: ; preds = %if.then31, %lor.lhs.false28, %lor.lhs.false, %if.end + store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.24.120, i64 0, i64 0), i8** @infile, align 8 + %15 = load i32, i32* @optind, align 4 + store i32 %15, i32* %argind, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %if.end32 + %16 = load i32, i32* %argind, align 4 + %17 = load i32, i32* %argc.addr, align 4 + %cmp33 = icmp slt i32 %16, %17 + br i1 %cmp33, label %if.then35, label %if.end37 + +if.then35: ; preds = %do.body + %18 = load i8**, i8*** %argv.addr, align 8 + %19 = load i32, i32* %argind, align 4 + %idxprom = sext i32 %19 to i64 + %arrayidx36 = getelementptr inbounds i8*, i8** %18, i64 %idxprom + %20 = load i8*, i8** %arrayidx36, align 8 + store i8* %20, i8** @infile, align 8 + br label %if.end37 + +if.end37: ; preds = %if.then35, %do.body + %21 = load i8*, i8** @infile, align 8 + %call38 = call i32 @strcmp(i8* %21, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.24.120, i64 0, i64 0)) #24 + %cmp39 = icmp eq i32 %call38, 0 + br i1 %cmp39, label %if.then41, label %if.else + +if.then41: ; preds = %if.end37 + store i8 1, i8* %have_read_stdin, align 1 + store i32 0, i32* @input_desc, align 4 + %22 = load i32, i32* %file_open_mode, align 4 + %and42 = and i32 %22, 0 + %tobool43 = icmp ne i32 %and42, 0 + br i1 %tobool43, label %if.then44, label %if.end53 + +if.then44: ; preds = %if.then41 + call void @xset_binary_mode(i32 0, i32 0) + br label %if.end53 + +if.else: ; preds = %if.end37 + %23 = load i8*, i8** @infile, align 8 + %24 = load i32, i32* %file_open_mode, align 4 + %call46 = call i32 (i8*, i32, ...) @open(i8* %23, i32 %24) + store i32 %call46, i32* @input_desc, align 4 + %25 = load i32, i32* @input_desc, align 4 + %cmp47 = icmp slt i32 %25, 0 + br i1 %cmp47, label %if.then49, label %if.end53 + +if.then49: ; preds = %if.else + %call50 = call i32* @__errno_location() #26 + %26 = load i32, i32* %call50, align 4 + %27 = load i8*, i8** @infile, align 8 + %call51 = call i8* @quotearg_n_style_colon(i32 0, i32 3, i8* %27) + call void (i32, i32, i8*, ...) @error(i32 0, i32 %26, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.25.121, i64 0, i64 0), i8* %call51) + store i8 0, i8* %ok, align 1 + br label %do.cond + +if.end53: ; preds = %if.else, %if.then41, %if.then44 + %28 = load i32, i32* @input_desc, align 4 + %call54 = call i32 @fstat(i32 %28, %struct.stat64* %stat_buf) #11 + %cmp55 = icmp slt i32 %call54, 0 + br i1 %cmp55, label %if.then57, label %if.end60 + +if.then57: ; preds = %if.end53 + %call58 = call i32* @__errno_location() #26 + %29 = load i32, i32* %call58, align 4 + %30 = load i8*, i8** @infile, align 8 + %call59 = call i8* @quotearg_n_style_colon(i32 0, i32 3, i8* %30) + call void (i32, i32, i8*, ...) @error(i32 0, i32 %29, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.25.121, i64 0, i64 0), i8* %call59) + store i8 0, i8* %ok, align 1 + br label %contin + +if.end60: ; preds = %if.end53 + %call61 = call i64 @io_blksize(%struct.stat64* byval(%struct.stat64) align 8 %stat_buf) + store i64 %call61, i64* %insize, align 8 + %31 = load i32, i32* @input_desc, align 4 + call void @fdadvise(i32 %31, i64 0, i64 0, i32 2) + %32 = load i8, i8* %out_isreg, align 1 + %tobool62 = trunc i8 %32 to i1 + br i1 %tobool62, label %land.lhs.true, label %if.end77 + +land.lhs.true: ; preds = %if.end60 + %st_dev64 = getelementptr inbounds %struct.stat64, %struct.stat64* %stat_buf, i32 0, i32 0 + %33 = load i64, i64* %st_dev64, align 8 + %34 = load i64, i64* %out_dev, align 8 + %cmp65 = icmp eq i64 %33, %34 + br i1 %cmp65, label %land.lhs.true67, label %if.end77 + +land.lhs.true67: ; preds = %land.lhs.true + %st_ino68 = getelementptr inbounds %struct.stat64, %struct.stat64* %stat_buf, i32 0, i32 1 + %35 = load i64, i64* %st_ino68, align 8 + %36 = load i64, i64* %out_ino, align 8 + %cmp69 = icmp eq i64 %35, %36 + br i1 %cmp69, label %land.lhs.true71, label %if.end77 + +land.lhs.true71: ; preds = %land.lhs.true67 + %37 = load i32, i32* @input_desc, align 4 + %call72 = call i64 @lseek(i32 %37, i64 0, i32 1) #11 + %st_size = getelementptr inbounds %struct.stat64, %struct.stat64* %stat_buf, i32 0, i32 8 + %38 = load i64, i64* %st_size, align 8 + %cmp73 = icmp slt i64 %call72, %38 + br i1 %cmp73, label %if.then75, label %if.end77 + +if.then75: ; preds = %land.lhs.true71 + %39 = load i8*, i8** @infile, align 8 + %call76 = call i8* @quotearg_n_style_colon(i32 0, i32 3, i8* %39) + call void (i32, i32, i8*, ...) @error(i32 0, i32 0, i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.26.122, i64 0, i64 0), i8* %call76) + store i8 0, i8* %ok, align 1 + br label %contin + +if.end77: ; preds = %land.lhs.true71, %land.lhs.true67, %land.lhs.true, %if.end60 + %40 = load i8, i8* %number, align 1 + %tobool78 = trunc i8 %40 to i1 + br i1 %tobool78, label %if.else104, label %lor.lhs.false80 + +lor.lhs.false80: ; preds = %if.end77 + %41 = load i8, i8* %show_ends, align 1 + %tobool81 = trunc i8 %41 to i1 + br i1 %tobool81, label %if.else104, label %lor.lhs.false83 + +lor.lhs.false83: ; preds = %lor.lhs.false80 + %42 = load i8, i8* %show_nonprinting, align 1 + %tobool84 = trunc i8 %42 to i1 + br i1 %tobool84, label %if.else104, label %lor.lhs.false86 + +lor.lhs.false86: ; preds = %lor.lhs.false83 + %43 = load i8, i8* %show_tabs, align 1 + %tobool87 = trunc i8 %43 to i1 + br i1 %tobool87, label %if.else104, label %lor.lhs.false89 + +lor.lhs.false89: ; preds = %lor.lhs.false86 + %44 = load i8, i8* %squeeze_blank, align 1 + %tobool90 = trunc i8 %44 to i1 + br i1 %tobool90, label %if.else104, label %if.then92 + +if.then92: ; preds = %lor.lhs.false89 + %45 = load i64, i64* %insize, align 8 + %46 = load i64, i64* %outsize, align 8 + %cmp93 = icmp ugt i64 %45, %46 + %47 = load i64, i64* %insize, align 8 + %48 = load i64, i64* %outsize, align 8 + %cond = select i1 %cmp93, i64 %47, i64 %48 + store i64 %cond, i64* %insize, align 8 + %49 = load i64, i64* %insize, align 8 + %50 = load i64, i64* %page_size, align 8 + %add = add i64 %49, %50 + %sub = sub i64 %add, 1 + %call95 = call noalias i8* @xmalloc(i64 %sub) + store i8* %call95, i8** %inbuf, align 8 + %51 = load i8*, i8** %inbuf, align 8 + %52 = load i64, i64* %page_size, align 8 + %call96 = call i8* @ptr_align(i8* %51, i64 %52) + %53 = load i64, i64* %insize, align 8 + %call97 = call zeroext i1 @simple_cat(i8* %call96, i64 %53) + %conv98 = zext i1 %call97 to i32 + %54 = load i8, i8* %ok, align 1 + %tobool99 = trunc i8 %54 to i1 + %conv100 = zext i1 %tobool99 to i32 + %and101 = and i32 %conv100, %conv98 + %tobool102 = icmp ne i32 %and101, 0 + %frombool103 = zext i1 %tobool102 to i8 + store i8 %frombool103, i8* %ok, align 1 + br label %if.end130 + +if.else104: ; preds = %lor.lhs.false89, %lor.lhs.false86, %lor.lhs.false83, %lor.lhs.false80, %if.end77 + %55 = load i64, i64* %insize, align 8 + %add105 = add i64 %55, 1 + %56 = load i64, i64* %page_size, align 8 + %add106 = add i64 %add105, %56 + %sub107 = sub i64 %add106, 1 + %call108 = call noalias i8* @xmalloc(i64 %sub107) + store i8* %call108, i8** %inbuf, align 8 + %57 = load i64, i64* %outsize, align 8 + %sub109 = sub i64 %57, 1 + %58 = load i64, i64* %insize, align 8 + %mul = mul i64 %58, 4 + %add110 = add i64 %sub109, %mul + %add111 = add i64 %add110, 20 + %59 = load i64, i64* %page_size, align 8 + %add112 = add i64 %add111, %59 + %sub113 = sub i64 %add112, 1 + %call114 = call noalias i8* @xmalloc(i64 %sub113) + store i8* %call114, i8** %outbuf, align 8 + %60 = load i8*, i8** %inbuf, align 8 + %61 = load i64, i64* %page_size, align 8 + %call115 = call i8* @ptr_align(i8* %60, i64 %61) + %62 = load i64, i64* %insize, align 8 + %63 = load i8*, i8** %outbuf, align 8 + %64 = load i64, i64* %page_size, align 8 + %call116 = call i8* @ptr_align(i8* %63, i64 %64) + %65 = load i64, i64* %outsize, align 8 + %66 = load i8, i8* %show_nonprinting, align 1 + %tobool117 = trunc i8 %66 to i1 + %67 = load i8, i8* %show_tabs, align 1 + %tobool118 = trunc i8 %67 to i1 + %68 = load i8, i8* %number, align 1 + %tobool119 = trunc i8 %68 to i1 + %69 = load i8, i8* %number_nonblank, align 1 + %tobool120 = trunc i8 %69 to i1 + %70 = load i8, i8* %show_ends, align 1 + %tobool121 = trunc i8 %70 to i1 + %71 = load i8, i8* %squeeze_blank, align 1 + %tobool122 = trunc i8 %71 to i1 + %call123 = call zeroext i1 @cat(i8* %call115, i64 %62, i8* %call116, i64 %65, i1 zeroext %tobool117, i1 zeroext %tobool118, i1 zeroext %tobool119, i1 zeroext %tobool120, i1 zeroext %tobool121, i1 zeroext %tobool122) + %conv124 = zext i1 %call123 to i32 + %72 = load i8, i8* %ok, align 1 + %tobool125 = trunc i8 %72 to i1 + %conv126 = zext i1 %tobool125 to i32 + %and127 = and i32 %conv126, %conv124 + %tobool128 = icmp ne i32 %and127, 0 + %frombool129 = zext i1 %tobool128 to i8 + store i8 %frombool129, i8* %ok, align 1 + %73 = load i8*, i8** %outbuf, align 8 + call void @free(i8* %73) #11 + br label %if.end130 + +if.end130: ; preds = %if.else104, %if.then92 + %74 = load i8*, i8** %inbuf, align 8 + call void @free(i8* %74) #11 + br label %contin + +contin: ; preds = %if.end130, %if.then75, %if.then57 + %75 = load i8*, i8** @infile, align 8 + %call131 = call i32 @strcmp(i8* %75, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.24.120, i64 0, i64 0)) #24 + %cmp132 = icmp eq i32 %call131, 0 + br i1 %cmp132, label %do.cond, label %land.lhs.true134 + +land.lhs.true134: ; preds = %contin + %76 = load i32, i32* @input_desc, align 4 + %call135 = call i32 @close(i32 %76) + %cmp136 = icmp slt i32 %call135, 0 + br i1 %cmp136, label %if.then138, label %do.cond + +if.then138: ; preds = %land.lhs.true134 + %call139 = call i32* @__errno_location() #26 + %77 = load i32, i32* %call139, align 4 + %78 = load i8*, i8** @infile, align 8 + %call140 = call i8* @quotearg_n_style_colon(i32 0, i32 3, i8* %78) + call void (i32, i32, i8*, ...) @error(i32 0, i32 %77, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.25.121, i64 0, i64 0), i8* %call140) + store i8 0, i8* %ok, align 1 + br label %do.cond + +do.cond: ; preds = %contin, %land.lhs.true134, %if.then138, %if.then49 + %79 = load i32, i32* %argind, align 4 + %inc = add nsw i32 %79, 1 + store i32 %inc, i32* %argind, align 4 + %80 = load i32, i32* %argc.addr, align 4 + %cmp142 = icmp slt i32 %inc, %80 + br i1 %cmp142, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %81 = load i8, i8* %have_read_stdin, align 1 + %tobool144 = trunc i8 %81 to i1 + br i1 %tobool144, label %land.lhs.true146, label %if.end152 + +land.lhs.true146: ; preds = %do.end + %call147 = call i32 @close(i32 0) + %cmp148 = icmp slt i32 %call147, 0 + br i1 %cmp148, label %if.then150, label %if.end152 + +if.then150: ; preds = %land.lhs.true146 + %call151 = call i32* @__errno_location() #26 + %82 = load i32, i32* %call151, align 4 + call void (i32, i32, i8*, ...) @error(i32 1, i32 %82, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.27.123, i64 0, i64 0)) + unreachable + +if.end152: ; preds = %land.lhs.true146, %do.end + %83 = load i8, i8* %ok, align 1 + %tobool153 = trunc i8 %83 to i1 + %84 = zext i1 %tobool153 to i64 + %cond155 = select i1 %tobool153, i32 0, i32 1 + ret i32 %cond155 +} + +; Function Attrs: nounwind readnone +declare dso_local i32 @getpagesize() #15 + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_program_name(i8* %argv0) #3 { +entry: + %argv0.addr = alloca i8*, align 8 + %slash = alloca i8*, align 8 + %base = alloca i8*, align 8 + store i8* %argv0, i8** %argv0.addr, align 8 + %0 = load i8*, i8** %argv0.addr, align 8 + %cmp = icmp eq i8* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.570** @stderr to %struct._IO_FILE**), align 8 + %call = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.623*)* @fputs to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.63, i64 0, i64 0), %struct._IO_FILE* %1) + call void @abort() #27 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %argv0.addr, align 8 + %call1 = call i8* @strrchr(i8* %2, i32 47) #24 + store i8* %call1, i8** %slash, align 8 + %3 = load i8*, i8** %slash, align 8 + %cmp2 = icmp ne i8* %3, null + %4 = load i8*, i8** %slash, align 8 + %add.ptr = getelementptr inbounds i8, i8* %4, i64 1 + %5 = load i8*, i8** %argv0.addr, align 8 + %cond = select i1 %cmp2, i8* %add.ptr, i8* %5 + store i8* %cond, i8** %base, align 8 + %6 = load i8*, i8** %base, align 8 + %7 = load i8*, i8** %argv0.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %6 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %cmp3 = icmp sge i64 %sub.ptr.sub, 7 + br i1 %cmp3, label %land.lhs.true, label %if.end13 + +land.lhs.true: ; preds = %if.end + %8 = load i8*, i8** %base, align 8 + %add.ptr4 = getelementptr inbounds i8, i8* %8, i64 -7 + %call5 = call i32 @strncmp(i8* %add.ptr4, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1.64, i64 0, i64 0), i64 7) #24 + %cmp6 = icmp eq i32 %call5, 0 + br i1 %cmp6, label %if.then7, label %if.end13 + +if.then7: ; preds = %land.lhs.true + %9 = load i8*, i8** %base, align 8 + store i8* %9, i8** %argv0.addr, align 8 + %10 = load i8*, i8** %base, align 8 + %call8 = call i32 @strncmp(i8* %10, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2.65, i64 0, i64 0), i64 3) #24 + %cmp9 = icmp eq i32 %call8, 0 + br i1 %cmp9, label %if.then10, label %if.end13 + +if.then10: ; preds = %if.then7 + %11 = load i8*, i8** %base, align 8 + %add.ptr11 = getelementptr inbounds i8, i8* %11, i64 3 + store i8* %add.ptr11, i8** %argv0.addr, align 8 + %12 = load i8*, i8** %argv0.addr, align 8 + store i8* %12, i8** @program_invocation_short_name, align 8 + br label %if.end13 + +if.end13: ; preds = %if.then7, %if.then10, %land.lhs.true, %if.end + %13 = load i8*, i8** %argv0.addr, align 8 + store i8* %13, i8** @program_name, align 8 + %14 = load i8*, i8** %argv0.addr, align 8 + store i8* %14, i8** @program_invocation_name, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @close_stdout() #3 { +entry: + %write_error = alloca i8*, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.570** @stdout to %struct._IO_FILE**), align 8 + %call = call i32 @close_stream(%struct._IO_FILE* %0) + %cmp = icmp ne i32 %call, 0 + br i1 %cmp, label %land.lhs.true, label %if.end9 + +land.lhs.true: ; preds = %entry + %1 = load i8, i8* @ignore_EPIPE, align 1 + %tobool = trunc i8 %1 to i1 + br i1 %tobool, label %land.lhs.true1, label %if.then + +land.lhs.true1: ; preds = %land.lhs.true + %call2 = call i32* @__errno_location() #26 + %2 = load i32, i32* %call2, align 4 + %cmp3 = icmp eq i32 %2, 32 + br i1 %cmp3, label %if.end9, label %if.then + +if.then: ; preds = %land.lhs.true1, %land.lhs.true + store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.50, i64 0, i64 0), i8** %write_error, align 8 + %3 = load i8*, i8** @file_name, align 8 + %tobool4 = icmp ne i8* %3, null + %call6 = call i32* @__errno_location() #26 + %4 = load i32, i32* %call6, align 4 + br i1 %tobool4, label %if.then5, label %if.else + +if.then5: ; preds = %if.then + %5 = load i8*, i8** @file_name, align 8 + %call7 = call i8* @quotearg_colon(i8* %5) + %6 = load i8*, i8** %write_error, align 8 + call void (i32, i32, i8*, ...) @error(i32 0, i32 %4, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.51, i64 0, i64 0), i8* %call7, i8* %6) + br label %if.end + +if.else: ; preds = %if.then + %7 = load i8*, i8** %write_error, align 8 + call void (i32, i32, i8*, ...) @error(i32 0, i32 %4, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2.52, i64 0, i64 0), i8* %7) + br label %if.end + +if.end: ; preds = %if.else, %if.then5 + %8 = load volatile i32, i32* @exit_failure, align 4 + call void @_exit(i32 %8) #25 + unreachable + +if.end9: ; preds = %land.lhs.true1, %entry + %9 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.570** @stderr to %struct._IO_FILE**), align 8 + %call10 = call i32 @close_stream(%struct._IO_FILE* %9) + %cmp11 = icmp ne i32 %call10, 0 + br i1 %cmp11, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.end9 + %10 = load volatile i32, i32* @exit_failure, align 4 + call void @_exit(i32 %10) #25 + unreachable + +if.end13: ; preds = %if.end9 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, ...) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors = alloca [1 x %struct.__va_list_tag.2], align 16 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %authors, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.2* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %1 = load i8*, i8** %command_name.addr, align 8 + %2 = load i8*, i8** %package.addr, align 8 + %3 = load i8*, i8** %version.addr, align 8 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %authors, i64 0, i64 0 + call void @version_etc_va(%struct._IO_FILE* %0, i8* %1, i8* %2, i8* %3, %struct.__va_list_tag.2* %arraydecay2) + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %authors, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.2* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @io_blksize(%struct.stat64* byval(%struct.stat64) align 8 %sb) #3 { +entry: + %st_blksize = getelementptr inbounds %struct.stat64, %struct.stat64* %sb, i32 0, i32 9 + %0 = load i64, i64* %st_blksize, align 8 + %cmp = icmp slt i64 0, %0 + br i1 %cmp, label %land.lhs.true, label %cond.end + +land.lhs.true: ; preds = %entry + %st_blksize1 = getelementptr inbounds %struct.stat64, %struct.stat64* %sb, i32 0, i32 9 + %1 = load i64, i64* %st_blksize1, align 8 + %cmp2 = icmp ule i64 %1, 2305843009213693952 + br i1 %cmp2, label %cond.true, label %cond.end + +cond.true: ; preds = %land.lhs.true + %st_blksize3 = getelementptr inbounds %struct.stat64, %struct.stat64* %sb, i32 0, i32 9 + %2 = load i64, i64* %st_blksize3, align 8 + br label %cond.end + +cond.end: ; preds = %entry, %land.lhs.true, %cond.true + %cond = phi i64 [ %2, %cond.true ], [ 512, %land.lhs.true ], [ 512, %entry ] + %cmp4 = icmp sgt i64 131072, %cond + br i1 %cmp4, label %cond.end17, label %cond.false6 + +cond.false6: ; preds = %cond.end + %st_blksize7 = getelementptr inbounds %struct.stat64, %struct.stat64* %sb, i32 0, i32 9 + %3 = load i64, i64* %st_blksize7, align 8 + %cmp8 = icmp slt i64 0, %3 + br i1 %cmp8, label %land.lhs.true9, label %cond.end17 + +land.lhs.true9: ; preds = %cond.false6 + %st_blksize10 = getelementptr inbounds %struct.stat64, %struct.stat64* %sb, i32 0, i32 9 + %4 = load i64, i64* %st_blksize10, align 8 + %cmp11 = icmp ule i64 %4, 2305843009213693952 + br i1 %cmp11, label %cond.true12, label %cond.end17 + +cond.true12: ; preds = %land.lhs.true9 + %st_blksize13 = getelementptr inbounds %struct.stat64, %struct.stat64* %sb, i32 0, i32 9 + %5 = load i64, i64* %st_blksize13, align 8 + br label %cond.end17 + +cond.end17: ; preds = %cond.true12, %land.lhs.true9, %cond.false6, %cond.end + %cond18 = phi i64 [ 131072, %cond.end ], [ %5, %cond.true12 ], [ 512, %land.lhs.true9 ], [ 512, %cond.false6 ] + ret i64 %cond18 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @xset_binary_mode(i32 %fd, i32 %mode) #3 { +entry: + %fd.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i32, i32* %mode.addr, align 4 + %call = call i32 @set_binary_mode(i32 %0, i32 %1) + %cmp = icmp slt i32 %call, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xset_binary_mode_error() + br label %if.end + +if.end: ; preds = %if.then, %entry + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_style_colon(i32 %n, i32 %s, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %options = alloca %struct.quoting_options, align 8 + %tmp = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + call void @quoting_options_from_style(%struct.quoting_options* sret align 8 %tmp, i32 %0) + %1 = bitcast %struct.quoting_options* %options to i8* + %2 = bitcast %struct.quoting_options* %tmp to i8* + %3 = call i8* @memcpy(i8* %1, i8* %2, i64 56) + %call = call i32 @set_char_quoting(%struct.quoting_options* %options, i8 signext 58, i32 1) + %4 = load i32, i32* %n.addr, align 4 + %5 = load i8*, i8** %arg.addr, align 8 + %call1 = call i8* @quotearg_n_options(i32 %4, i8* %5, i64 -1, %struct.quoting_options* %options) + ret i8* %call1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @fdadvise(i32 %fd, i64 %offset, i64 %len, i32 %advice) #3 { +entry: + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %advice.addr = alloca i32, align 4 + %__x = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store i32 %advice, i32* %advice.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %offset.addr, align 8 + %2 = load i64, i64* %len.addr, align 8 + %3 = load i32, i32* %advice.addr, align 4 + %call = call i32 @posix_fadvise(i32 %0, i64 %1, i64 %2, i32 %3) #11 + store i32 %call, i32* %__x, align 4 + %4 = load i32, i32* %__x, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xmalloc(i64 %n) #3 { +entry: + %n.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @malloc(i64 %0) #11 + store i8* %call, i8** %p, align 8 + %1 = load i8*, i8** %p, align 8 + %tobool = icmp eq i8* %1, null + %2 = load i64, i64* %n.addr, align 8 + %cmp = icmp ne i64 %2, 0 + %or.cond = and i1 %tobool, %cmp + br i1 %or.cond, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xalloc_die() #25 + unreachable + +if.end: ; preds = %entry + %3 = load i8*, i8** %p, align 8 + ret i8* %3 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @ptr_align(i8* %ptr, i64 %alignment) #3 { +entry: + %ptr.addr = alloca i8*, align 8 + %alignment.addr = alloca i64, align 8 + %p0 = alloca i8*, align 8 + %p1 = alloca i8*, align 8 + store i8* %ptr, i8** %ptr.addr, align 8 + store i64 %alignment, i64* %alignment.addr, align 8 + %0 = load i8*, i8** %ptr.addr, align 8 + store i8* %0, i8** %p0, align 8 + %1 = load i8*, i8** %p0, align 8 + %2 = load i64, i64* %alignment.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %1, i64 %2 + %add.ptr1 = getelementptr inbounds i8, i8* %add.ptr, i64 -1 + store i8* %add.ptr1, i8** %p1, align 8 + %3 = load i8*, i8** %p1, align 8 + %4 = load i8*, i8** %p1, align 8 + %5 = ptrtoint i8* %4 to i64 + %6 = load i64, i64* %alignment.addr, align 8 + %rem = urem i64 %5, %6 + %idx.neg = sub i64 0, %rem + %add.ptr2 = getelementptr inbounds i8, i8* %3, i64 %idx.neg + ret i8* %add.ptr2 +} + +; Function Attrs: noinline nounwind uwtable +define internal zeroext i1 @simple_cat(i8* %buf, i64 %bufsize) #3 { +entry: + %retval = alloca i1, align 1 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %n_read = alloca i64, align 8 + %n = alloca i64, align 8 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + br label %while.body + +while.body: ; preds = %if.end5, %entry + %0 = load i32, i32* @input_desc, align 4 + %1 = load i8*, i8** %buf.addr, align 8 + %2 = load i64, i64* %bufsize.addr, align 8 + %call = call i64 @safe_read(i32 %0, i8* %1, i64 %2) + store i64 %call, i64* %n_read, align 8 + %3 = load i64, i64* %n_read, align 8 + %cmp = icmp eq i64 %3, -1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + %call1 = call i32* @__errno_location() #26 + %4 = load i32, i32* %call1, align 4 + %5 = load i8*, i8** @infile, align 8 + %call2 = call i8* @quotearg_n_style_colon(i32 0, i32 3, i8* %5) + call void (i32, i32, i8*, ...) @error(i32 0, i32 %4, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.25.121, i64 0, i64 0), i8* %call2) + store i1 false, i1* %retval, align 1 + br label %return + +if.end: ; preds = %while.body + %6 = load i64, i64* %n_read, align 8 + %cmp3 = icmp eq i64 %6, 0 + br i1 %cmp3, label %if.then4, label %if.end5 + +if.then4: ; preds = %if.end + store i1 true, i1* %retval, align 1 + br label %return + +if.end5: ; preds = %if.end + %7 = load i64, i64* %n_read, align 8 + store i64 %7, i64* %n, align 8 + %8 = load i8*, i8** %buf.addr, align 8 + %9 = load i64, i64* %n, align 8 + %call6 = call i64 @full_write(i32 1, i8* %8, i64 %9) + %10 = load i64, i64* %n, align 8 + %cmp7 = icmp ne i64 %call6, %10 + br i1 %cmp7, label %if.then8, label %while.body + +if.then8: ; preds = %if.end5 + %call9 = call i32* @__errno_location() #26 + %11 = load i32, i32* %call9, align 4 + call void (i32, i32, i8*, ...) @error(i32 1, i32 %11, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.45, i64 0, i64 0)) + unreachable + +return: ; preds = %if.then4, %if.then + %12 = load i1, i1* %retval, align 1 + ret i1 %12 +} + +; Function Attrs: noinline nounwind uwtable +define internal zeroext i1 @cat(i8* %inbuf, i64 %insize, i8* %outbuf, i64 %outsize, i1 zeroext %show_nonprinting, i1 zeroext %show_tabs, i1 zeroext %number, i1 zeroext %number_nonblank, i1 zeroext %show_ends, i1 zeroext %squeeze_blank) #3 { +entry: + %retval = alloca i1, align 1 + %inbuf.addr = alloca i8*, align 8 + %insize.addr = alloca i64, align 8 + %outbuf.addr = alloca i8*, align 8 + %outsize.addr = alloca i64, align 8 + %show_nonprinting.addr = alloca i8, align 1 + %show_tabs.addr = alloca i8, align 1 + %number.addr = alloca i8, align 1 + %number_nonblank.addr = alloca i8, align 1 + %show_ends.addr = alloca i8, align 1 + %squeeze_blank.addr = alloca i8, align 1 + %ch = alloca i8, align 1 + %bpin = alloca i8*, align 8 + %eob = alloca i8*, align 8 + %bpout = alloca i8*, align 8 + %n_read = alloca i64, align 8 + %newlines = alloca i32, align 4 + %use_fionread = alloca i8, align 1 + %wp = alloca i8*, align 8 + %remaining_bytes = alloca i64, align 8 + %input_pending = alloca i8, align 1 + %n_to_read = alloca i32, align 4 + store i8* %inbuf, i8** %inbuf.addr, align 8 + store i64 %insize, i64* %insize.addr, align 8 + store i8* %outbuf, i8** %outbuf.addr, align 8 + store i64 %outsize, i64* %outsize.addr, align 8 + %frombool = zext i1 %show_nonprinting to i8 + store i8 %frombool, i8* %show_nonprinting.addr, align 1 + %frombool1 = zext i1 %show_tabs to i8 + store i8 %frombool1, i8* %show_tabs.addr, align 1 + %frombool2 = zext i1 %number to i8 + store i8 %frombool2, i8* %number.addr, align 1 + %frombool3 = zext i1 %number_nonblank to i8 + store i8 %frombool3, i8* %number_nonblank.addr, align 1 + %frombool4 = zext i1 %show_ends to i8 + store i8 %frombool4, i8* %show_ends.addr, align 1 + %frombool5 = zext i1 %squeeze_blank to i8 + store i8 %frombool5, i8* %squeeze_blank.addr, align 1 + %0 = load i32, i32* @newlines2, align 4 + store i32 %0, i32* %newlines, align 4 + store i8 1, i8* %use_fionread, align 1 + %1 = load i8*, i8** %inbuf.addr, align 8 + store i8* %1, i8** %eob, align 8 + %2 = load i8*, i8** %eob, align 8 + %add.ptr = getelementptr inbounds i8, i8* %2, i64 1 + store i8* %add.ptr, i8** %bpin, align 8 + %3 = load i8*, i8** %outbuf.addr, align 8 + store i8* %3, i8** %bpout, align 8 + br label %while.body + +while.body: ; preds = %entry, %if.end185 + br label %do.body + +do.body: ; preds = %do.cond77, %while.body + %4 = load i8*, i8** %outbuf.addr, align 8 + %5 = load i64, i64* %outsize.addr, align 8 + %add.ptr6 = getelementptr inbounds i8, i8* %4, i64 %5 + %6 = load i8*, i8** %bpout, align 8 + %cmp = icmp ule i8* %add.ptr6, %6 + br i1 %cmp, label %if.then, label %if.end14 + +if.then: ; preds = %do.body + %7 = load i8*, i8** %outbuf.addr, align 8 + store i8* %7, i8** %wp, align 8 + br label %do.body7 + +do.body7: ; preds = %if.end, %if.then + %8 = load i8*, i8** %wp, align 8 + %9 = load i64, i64* %outsize.addr, align 8 + %call = call i64 @full_write(i32 1, i8* %8, i64 %9) + %10 = load i64, i64* %outsize.addr, align 8 + %cmp8 = icmp ne i64 %call, %10 + br i1 %cmp8, label %if.then9, label %if.end + +if.then9: ; preds = %do.body7 + %call10 = call i32* @__errno_location() #26 + %11 = load i32, i32* %call10, align 4 + call void (i32, i32, i8*, ...) @error(i32 1, i32 %11, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.45, i64 0, i64 0)) + unreachable + +if.end: ; preds = %do.body7 + %12 = load i64, i64* %outsize.addr, align 8 + %13 = load i8*, i8** %wp, align 8 + %add.ptr11 = getelementptr inbounds i8, i8* %13, i64 %12 + store i8* %add.ptr11, i8** %wp, align 8 + %14 = load i8*, i8** %bpout, align 8 + %15 = load i8*, i8** %wp, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %14 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %15 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %remaining_bytes, align 8 + %16 = load i64, i64* %outsize.addr, align 8 + %17 = load i64, i64* %remaining_bytes, align 8 + %cmp12 = icmp ule i64 %16, %17 + br i1 %cmp12, label %do.body7, label %do.end + +do.end: ; preds = %if.end + %18 = load i8*, i8** %outbuf.addr, align 8 + %19 = load i8*, i8** %wp, align 8 + %20 = load i64, i64* %remaining_bytes, align 8 + %21 = call i8* @memmove(i8* %18, i8* %19, i64 %20) + %22 = load i8*, i8** %outbuf.addr, align 8 + %23 = load i64, i64* %remaining_bytes, align 8 + %add.ptr13 = getelementptr inbounds i8, i8* %22, i64 %23 + store i8* %add.ptr13, i8** %bpout, align 8 + br label %if.end14 + +if.end14: ; preds = %do.end, %do.body + %24 = load i8*, i8** %bpin, align 8 + %25 = load i8*, i8** %eob, align 8 + %cmp15 = icmp ugt i8* %24, %25 + br i1 %cmp15, label %if.then16, label %if.else54 + +if.then16: ; preds = %if.end14 + store i8 0, i8* %input_pending, align 1 + store i32 0, i32* %n_to_read, align 4 + %26 = load i8, i8* %use_fionread, align 1 + %tobool = trunc i8 %26 to i1 + br i1 %tobool, label %land.lhs.true, label %if.end37 + +land.lhs.true: ; preds = %if.then16 + %27 = load i32, i32* @input_desc, align 4 + %call17 = call i32 (i32, i64, ...) @ioctl(i32 %27, i64 21531, i32* %n_to_read) #11 + %cmp18 = icmp slt i32 %call17, 0 + br i1 %cmp18, label %if.then19, label %if.end37 + +if.then19: ; preds = %land.lhs.true + %call20 = call i32* @__errno_location() #26 + %28 = load i32, i32* %call20, align 4 + %cmp21 = icmp eq i32 %28, 95 + br i1 %cmp21, label %if.then33, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then19 + %call22 = call i32* @__errno_location() #26 + %29 = load i32, i32* %call22, align 4 + %cmp23 = icmp eq i32 %29, 25 + br i1 %cmp23, label %if.then33, label %lor.lhs.false24 + +lor.lhs.false24: ; preds = %lor.lhs.false + %call25 = call i32* @__errno_location() #26 + %30 = load i32, i32* %call25, align 4 + %cmp26 = icmp eq i32 %30, 22 + br i1 %cmp26, label %if.then33, label %lor.lhs.false27 + +lor.lhs.false27: ; preds = %lor.lhs.false24 + %call28 = call i32* @__errno_location() #26 + %31 = load i32, i32* %call28, align 4 + %cmp29 = icmp eq i32 %31, 19 + br i1 %cmp29, label %if.then33, label %lor.lhs.false30 + +lor.lhs.false30: ; preds = %lor.lhs.false27 + %call31 = call i32* @__errno_location() #26 + %32 = load i32, i32* %call31, align 4 + %cmp32 = icmp eq i32 %32, 38 + br i1 %cmp32, label %if.then33, label %if.else + +if.then33: ; preds = %lor.lhs.false30, %lor.lhs.false27, %lor.lhs.false24, %lor.lhs.false, %if.then19 + store i8 0, i8* %use_fionread, align 1 + br label %if.end37 + +if.else: ; preds = %lor.lhs.false30 + %call34 = call i32* @__errno_location() #26 + %33 = load i32, i32* %call34, align 4 + %34 = load i8*, i8** @infile, align 8 + %call35 = call i8* @quotearg_style(i32 4, i8* %34) + call void (i32, i32, i8*, ...) @error(i32 0, i32 %33, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.46, i64 0, i64 0), i8* %call35) + %35 = load i32, i32* %newlines, align 4 + store i32 %35, i32* @newlines2, align 4 + store i1 false, i1* %retval, align 1 + br label %return + +if.end37: ; preds = %if.then33, %land.lhs.true, %if.then16 + %36 = load i32, i32* %n_to_read, align 4 + %cmp38 = icmp ne i32 %36, 0 + br i1 %cmp38, label %if.then39, label %if.end40 + +if.then39: ; preds = %if.end37 + store i8 1, i8* %input_pending, align 1 + br label %if.end40 + +if.end40: ; preds = %if.then39, %if.end37 + %37 = load i8, i8* %input_pending, align 1 + %tobool41 = trunc i8 %37 to i1 + br i1 %tobool41, label %if.end43, label %if.then42 + +if.then42: ; preds = %if.end40 + %38 = load i8*, i8** %outbuf.addr, align 8 + call void @write_pending(i8* %38, i8** %bpout) + br label %if.end43 + +if.end43: ; preds = %if.then42, %if.end40 + %39 = load i32, i32* @input_desc, align 4 + %40 = load i8*, i8** %inbuf.addr, align 8 + %41 = load i64, i64* %insize.addr, align 8 + %call44 = call i64 @safe_read(i32 %39, i8* %40, i64 %41) + store i64 %call44, i64* %n_read, align 8 + %42 = load i64, i64* %n_read, align 8 + %cmp45 = icmp eq i64 %42, -1 + br i1 %cmp45, label %if.then46, label %if.end49 + +if.then46: ; preds = %if.end43 + %call47 = call i32* @__errno_location() #26 + %43 = load i32, i32* %call47, align 4 + %44 = load i8*, i8** @infile, align 8 + %call48 = call i8* @quotearg_n_style_colon(i32 0, i32 3, i8* %44) + call void (i32, i32, i8*, ...) @error(i32 0, i32 %43, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.25.121, i64 0, i64 0), i8* %call48) + %45 = load i8*, i8** %outbuf.addr, align 8 + call void @write_pending(i8* %45, i8** %bpout) + %46 = load i32, i32* %newlines, align 4 + store i32 %46, i32* @newlines2, align 4 + store i1 false, i1* %retval, align 1 + br label %return + +if.end49: ; preds = %if.end43 + %47 = load i64, i64* %n_read, align 8 + %cmp50 = icmp eq i64 %47, 0 + br i1 %cmp50, label %if.then51, label %if.end52 + +if.then51: ; preds = %if.end49 + %48 = load i8*, i8** %outbuf.addr, align 8 + call void @write_pending(i8* %48, i8** %bpout) + %49 = load i32, i32* %newlines, align 4 + store i32 %49, i32* @newlines2, align 4 + store i1 true, i1* %retval, align 1 + br label %return + +if.end52: ; preds = %if.end49 + %50 = load i8*, i8** %inbuf.addr, align 8 + store i8* %50, i8** %bpin, align 8 + %51 = load i8*, i8** %bpin, align 8 + %52 = load i64, i64* %n_read, align 8 + %add.ptr53 = getelementptr inbounds i8, i8* %51, i64 %52 + store i8* %add.ptr53, i8** %eob, align 8 + %53 = load i8*, i8** %eob, align 8 + store i8 10, i8* %53, align 1 + br label %if.end75 + +if.else54: ; preds = %if.end14 + %54 = load i32, i32* %newlines, align 4 + %inc = add nsw i32 %54, 1 + store i32 %inc, i32* %newlines, align 4 + %cmp55 = icmp sgt i32 %inc, 0 + br i1 %cmp55, label %if.then56, label %if.end69 + +if.then56: ; preds = %if.else54 + %55 = load i32, i32* %newlines, align 4 + %cmp57 = icmp sge i32 %55, 2 + br i1 %cmp57, label %if.then58, label %if.end62 + +if.then58: ; preds = %if.then56 + store i32 2, i32* %newlines, align 4 + %56 = load i8, i8* %squeeze_blank.addr, align 1 + %tobool59 = trunc i8 %56 to i1 + br i1 %tobool59, label %if.then60, label %if.end62 + +if.then60: ; preds = %if.then58 + %57 = load i8*, i8** %bpin, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %57, i32 1 + store i8* %incdec.ptr, i8** %bpin, align 8 + %58 = load i8, i8* %57, align 1 + store i8 %58, i8* %ch, align 1 + br label %do.cond77 + +if.end62: ; preds = %if.then58, %if.then56 + %59 = load i8, i8* %number.addr, align 1 + %tobool63 = trunc i8 %59 to i1 + br i1 %tobool63, label %land.lhs.true64, label %if.end69 + +land.lhs.true64: ; preds = %if.end62 + %60 = load i8, i8* %number_nonblank.addr, align 1 + %tobool65 = trunc i8 %60 to i1 + br i1 %tobool65, label %if.end69, label %if.then66 + +if.then66: ; preds = %land.lhs.true64 + call void @next_line_num() + %61 = load i8*, i8** %bpout, align 8 + %62 = load i8*, i8** @line_num_print, align 8 + %call67 = call i8* @stpcpy(i8* %61, i8* %62) #11 + store i8* %call67, i8** %bpout, align 8 + br label %if.end69 + +if.end69: ; preds = %if.end62, %land.lhs.true64, %if.then66, %if.else54 + %63 = load i8, i8* %show_ends.addr, align 1 + %tobool70 = trunc i8 %63 to i1 + br i1 %tobool70, label %if.then71, label %if.end73 + +if.then71: ; preds = %if.end69 + %64 = load i8*, i8** %bpout, align 8 + %incdec.ptr72 = getelementptr inbounds i8, i8* %64, i32 1 + store i8* %incdec.ptr72, i8** %bpout, align 8 + store i8 36, i8* %64, align 1 + br label %if.end73 + +if.end73: ; preds = %if.then71, %if.end69 + %65 = load i8*, i8** %bpout, align 8 + %incdec.ptr74 = getelementptr inbounds i8, i8* %65, i32 1 + store i8* %incdec.ptr74, i8** %bpout, align 8 + store i8 10, i8* %65, align 1 + br label %if.end75 + +if.end75: ; preds = %if.end73, %if.end52 + %66 = load i8*, i8** %bpin, align 8 + %incdec.ptr76 = getelementptr inbounds i8, i8* %66, i32 1 + store i8* %incdec.ptr76, i8** %bpin, align 8 + %67 = load i8, i8* %66, align 1 + store i8 %67, i8* %ch, align 1 + br label %do.cond77 + +do.cond77: ; preds = %if.end75, %if.then60 + %68 = load i8, i8* %ch, align 1 + %conv = zext i8 %68 to i32 + %cmp78 = icmp eq i32 %conv, 10 + br i1 %cmp78, label %do.body, label %do.end80 + +do.end80: ; preds = %do.cond77 + %69 = load i32, i32* %newlines, align 4 + %cmp81 = icmp sge i32 %69, 0 + br i1 %cmp81, label %land.lhs.true83, label %if.end88 + +land.lhs.true83: ; preds = %do.end80 + %70 = load i8, i8* %number.addr, align 1 + %tobool84 = trunc i8 %70 to i1 + br i1 %tobool84, label %if.then86, label %if.end88 + +if.then86: ; preds = %land.lhs.true83 + call void @next_line_num() + %71 = load i8*, i8** %bpout, align 8 + %72 = load i8*, i8** @line_num_print, align 8 + %call87 = call i8* @stpcpy(i8* %71, i8* %72) #11 + store i8* %call87, i8** %bpout, align 8 + br label %if.end88 + +if.end88: ; preds = %if.then86, %land.lhs.true83, %do.end80 + %73 = load i8, i8* %show_nonprinting.addr, align 1 + %tobool89 = trunc i8 %73 to i1 + br i1 %tobool89, label %while.body92, label %while.body161 + +while.body92: ; preds = %if.end88, %if.end157 + %74 = load i8, i8* %ch, align 1 + %conv93 = zext i8 %74 to i32 + %cmp94 = icmp sge i32 %conv93, 32 + %75 = load i8, i8* %ch, align 1 + %conv97 = zext i8 %75 to i32 + br i1 %cmp94, label %if.then96, label %if.else136 + +if.then96: ; preds = %while.body92 + %cmp98 = icmp slt i32 %conv97, 127 + %76 = load i8, i8* %ch, align 1 + br i1 %cmp98, label %if.then100, label %if.else102 + +if.then100: ; preds = %if.then96 + %77 = load i8*, i8** %bpout, align 8 + %incdec.ptr101 = getelementptr inbounds i8, i8* %77, i32 1 + store i8* %incdec.ptr101, i8** %bpout, align 8 + store i8 %76, i8* %77, align 1 + br label %if.end157 + +if.else102: ; preds = %if.then96 + %conv103 = zext i8 %76 to i32 + %cmp104 = icmp eq i32 %conv103, 127 + %78 = load i8*, i8** %bpout, align 8 + %incdec.ptr107 = getelementptr inbounds i8, i8* %78, i32 1 + store i8* %incdec.ptr107, i8** %bpout, align 8 + br i1 %cmp104, label %if.then106, label %if.else109 + +if.then106: ; preds = %if.else102 + store i8 94, i8* %78, align 1 + %79 = load i8*, i8** %bpout, align 8 + %incdec.ptr108 = getelementptr inbounds i8, i8* %79, i32 1 + store i8* %incdec.ptr108, i8** %bpout, align 8 + store i8 63, i8* %79, align 1 + br label %if.end157 + +if.else109: ; preds = %if.else102 + store i8 77, i8* %78, align 1 + %80 = load i8*, i8** %bpout, align 8 + %incdec.ptr111 = getelementptr inbounds i8, i8* %80, i32 1 + store i8* %incdec.ptr111, i8** %bpout, align 8 + store i8 45, i8* %80, align 1 + %81 = load i8, i8* %ch, align 1 + %conv112 = zext i8 %81 to i32 + %cmp113 = icmp sge i32 %conv112, 160 + br i1 %cmp113, label %if.then115, label %if.else127 + +if.then115: ; preds = %if.else109 + %82 = load i8, i8* %ch, align 1 + %conv116 = zext i8 %82 to i32 + %cmp117 = icmp slt i32 %conv116, 255 + br i1 %cmp117, label %if.then119, label %if.else123 + +if.then119: ; preds = %if.then115 + %83 = load i8, i8* %ch, align 1 + %conv120 = zext i8 %83 to i32 + %sub = sub nsw i32 %conv120, 128 + %conv121 = trunc i32 %sub to i8 + %84 = load i8*, i8** %bpout, align 8 + %incdec.ptr122 = getelementptr inbounds i8, i8* %84, i32 1 + store i8* %incdec.ptr122, i8** %bpout, align 8 + store i8 %conv121, i8* %84, align 1 + br label %if.end157 + +if.else123: ; preds = %if.then115 + %85 = load i8*, i8** %bpout, align 8 + %incdec.ptr124 = getelementptr inbounds i8, i8* %85, i32 1 + store i8* %incdec.ptr124, i8** %bpout, align 8 + store i8 94, i8* %85, align 1 + %86 = load i8*, i8** %bpout, align 8 + %incdec.ptr125 = getelementptr inbounds i8, i8* %86, i32 1 + store i8* %incdec.ptr125, i8** %bpout, align 8 + store i8 63, i8* %86, align 1 + br label %if.end157 + +if.else127: ; preds = %if.else109 + %87 = load i8*, i8** %bpout, align 8 + %incdec.ptr128 = getelementptr inbounds i8, i8* %87, i32 1 + store i8* %incdec.ptr128, i8** %bpout, align 8 + store i8 94, i8* %87, align 1 + %88 = load i8, i8* %ch, align 1 + %conv129 = zext i8 %88 to i32 + %sub130 = sub nsw i32 %conv129, 128 + %add = add nsw i32 %sub130, 64 + %conv131 = trunc i32 %add to i8 + %89 = load i8*, i8** %bpout, align 8 + %incdec.ptr132 = getelementptr inbounds i8, i8* %89, i32 1 + store i8* %incdec.ptr132, i8** %bpout, align 8 + store i8 %conv131, i8* %89, align 1 + br label %if.end157 + +if.else136: ; preds = %while.body92 + %cmp138 = icmp eq i32 %conv97, 9 + br i1 %cmp138, label %land.lhs.true140, label %if.else144 + +land.lhs.true140: ; preds = %if.else136 + %90 = load i8, i8* %show_tabs.addr, align 1 + %tobool141 = trunc i8 %90 to i1 + br i1 %tobool141, label %if.else144, label %if.then142 + +if.then142: ; preds = %land.lhs.true140 + %91 = load i8*, i8** %bpout, align 8 + %incdec.ptr143 = getelementptr inbounds i8, i8* %91, i32 1 + store i8* %incdec.ptr143, i8** %bpout, align 8 + store i8 9, i8* %91, align 1 + br label %if.end157 + +if.else144: ; preds = %land.lhs.true140, %if.else136 + %92 = load i8, i8* %ch, align 1 + %conv145 = zext i8 %92 to i32 + %cmp146 = icmp eq i32 %conv145, 10 + br i1 %cmp146, label %if.then148, label %if.else149 + +if.then148: ; preds = %if.else144 + store i32 -1, i32* %newlines, align 4 + br label %if.end185 + +if.else149: ; preds = %if.else144 + %93 = load i8*, i8** %bpout, align 8 + %incdec.ptr150 = getelementptr inbounds i8, i8* %93, i32 1 + store i8* %incdec.ptr150, i8** %bpout, align 8 + store i8 94, i8* %93, align 1 + %94 = load i8, i8* %ch, align 1 + %conv151 = zext i8 %94 to i32 + %add152 = add nsw i32 %conv151, 64 + %conv153 = trunc i32 %add152 to i8 + %95 = load i8*, i8** %bpout, align 8 + %incdec.ptr154 = getelementptr inbounds i8, i8* %95, i32 1 + store i8* %incdec.ptr154, i8** %bpout, align 8 + store i8 %conv153, i8* %95, align 1 + br label %if.end157 + +if.end157: ; preds = %if.then142, %if.else149, %if.then100, %if.else127, %if.else123, %if.then119, %if.then106 + %96 = load i8*, i8** %bpin, align 8 + %incdec.ptr158 = getelementptr inbounds i8, i8* %96, i32 1 + store i8* %incdec.ptr158, i8** %bpin, align 8 + %97 = load i8, i8* %96, align 1 + store i8 %97, i8* %ch, align 1 + br label %while.body92 + +while.body161: ; preds = %if.end88, %if.end182 + %98 = load i8, i8* %ch, align 1 + %conv162 = zext i8 %98 to i32 + %cmp163 = icmp eq i32 %conv162, 9 + br i1 %cmp163, label %land.lhs.true165, label %if.else174 + +land.lhs.true165: ; preds = %while.body161 + %99 = load i8, i8* %show_tabs.addr, align 1 + %tobool166 = trunc i8 %99 to i1 + br i1 %tobool166, label %if.then168, label %if.else174 + +if.then168: ; preds = %land.lhs.true165 + %100 = load i8*, i8** %bpout, align 8 + %incdec.ptr169 = getelementptr inbounds i8, i8* %100, i32 1 + store i8* %incdec.ptr169, i8** %bpout, align 8 + store i8 94, i8* %100, align 1 + %101 = load i8, i8* %ch, align 1 + %conv170 = zext i8 %101 to i32 + %add171 = add nsw i32 %conv170, 64 + %conv172 = trunc i32 %add171 to i8 + %102 = load i8*, i8** %bpout, align 8 + %incdec.ptr173 = getelementptr inbounds i8, i8* %102, i32 1 + store i8* %incdec.ptr173, i8** %bpout, align 8 + store i8 %conv172, i8* %102, align 1 + br label %if.end182 + +if.else174: ; preds = %land.lhs.true165, %while.body161 + %103 = load i8, i8* %ch, align 1 + %conv175 = zext i8 %103 to i32 + %cmp176 = icmp ne i32 %conv175, 10 + br i1 %cmp176, label %if.then178, label %if.else180 + +if.then178: ; preds = %if.else174 + %104 = load i8, i8* %ch, align 1 + %105 = load i8*, i8** %bpout, align 8 + %incdec.ptr179 = getelementptr inbounds i8, i8* %105, i32 1 + store i8* %incdec.ptr179, i8** %bpout, align 8 + store i8 %104, i8* %105, align 1 + br label %if.end182 + +if.else180: ; preds = %if.else174 + store i32 -1, i32* %newlines, align 4 + br label %if.end185 + +if.end182: ; preds = %if.then178, %if.then168 + %106 = load i8*, i8** %bpin, align 8 + %incdec.ptr183 = getelementptr inbounds i8, i8* %106, i32 1 + store i8* %incdec.ptr183, i8** %bpin, align 8 + %107 = load i8, i8* %106, align 1 + store i8 %107, i8* %ch, align 1 + br label %while.body161 + +if.end185: ; preds = %if.else180, %if.then148 + br label %while.body + +return: ; preds = %if.then51, %if.then46, %if.else + %108 = load i1, i1* %retval, align 1 + ret i1 %108 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @full_write(i32 %fd, i8* %buf, i64 %count) #3 { +entry: + %fd.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + %total = alloca i64, align 8 + %ptr = alloca i8*, align 8 + %n_rw = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + store i64 0, i64* %total, align 8 + %0 = load i8*, i8** %buf.addr, align 8 + store i8* %0, i8** %ptr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end5, %entry + %1 = load i64, i64* %count.addr, align 8 + %cmp = icmp ugt i64 %1, 0 + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %2 = load i32, i32* %fd.addr, align 4 + %3 = load i8*, i8** %ptr, align 8 + %4 = load i64, i64* %count.addr, align 8 + %call = call i64 @safe_write(i32 %2, i8* %3, i64 %4) + store i64 %call, i64* %n_rw, align 8 + %5 = load i64, i64* %n_rw, align 8 + %cmp1 = icmp eq i64 %5, -1 + br i1 %cmp1, label %while.end, label %if.end + +if.end: ; preds = %while.body + %6 = load i64, i64* %n_rw, align 8 + %cmp2 = icmp eq i64 %6, 0 + br i1 %cmp2, label %if.then3, label %if.end5 + +if.then3: ; preds = %if.end + %call4 = call i32* @__errno_location() #26 + store i32 28, i32* %call4, align 4 + br label %while.end + +if.end5: ; preds = %if.end + %7 = load i64, i64* %n_rw, align 8 + %8 = load i64, i64* %total, align 8 + %add = add i64 %8, %7 + store i64 %add, i64* %total, align 8 + %9 = load i64, i64* %n_rw, align 8 + %10 = load i8*, i8** %ptr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %10, i64 %9 + store i8* %add.ptr, i8** %ptr, align 8 + %11 = load i64, i64* %n_rw, align 8 + %12 = load i64, i64* %count.addr, align 8 + %sub = sub i64 %12, %11 + store i64 %sub, i64* %count.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.body, %if.then3, %while.cond + %13 = load i64, i64* %total, align 8 + ret i64 %13 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_style(i32 %s, i8* %arg) #3 { +entry: + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_style(i32 0, i32 %0, i8* %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define internal void @write_pending(i8* %outbuf, i8** %bpout) #3 { +entry: + %outbuf.addr = alloca i8*, align 8 + %bpout.addr = alloca i8**, align 8 + %n_write = alloca i64, align 8 + store i8* %outbuf, i8** %outbuf.addr, align 8 + store i8** %bpout, i8*** %bpout.addr, align 8 + %0 = load i8**, i8*** %bpout.addr, align 8 + %1 = load i8*, i8** %0, align 8 + %2 = load i8*, i8** %outbuf.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %1 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %2 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %n_write, align 8 + %3 = load i64, i64* %n_write, align 8 + %cmp = icmp ult i64 0, %3 + br i1 %cmp, label %if.then, label %if.end4 + +if.then: ; preds = %entry + %4 = load i8*, i8** %outbuf.addr, align 8 + %5 = load i64, i64* %n_write, align 8 + %call = call i64 @full_write(i32 1, i8* %4, i64 %5) + %6 = load i64, i64* %n_write, align 8 + %cmp1 = icmp ne i64 %call, %6 + br i1 %cmp1, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + %call3 = call i32* @__errno_location() #26 + %7 = load i32, i32* %call3, align 4 + call void (i32, i32, i8*, ...) @error(i32 1, i32 %7, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.45, i64 0, i64 0)) + unreachable + +if.end: ; preds = %if.then + %8 = load i8*, i8** %outbuf.addr, align 8 + %9 = load i8**, i8*** %bpout.addr, align 8 + store i8* %8, i8** %9, align 8 + br label %if.end4 + +if.end4: ; preds = %if.end, %entry + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @safe_read(i32 %fd, i8* %buf, i64 %count) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + %result = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + br label %for.cond + +for.cond: ; preds = %if.else, %if.then8, %entry + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i8*, i8** %buf.addr, align 8 + %2 = load i64, i64* %count.addr, align 8 + %call = call i64 @read(i32 %0, i8* %1, i64 %2) + store i64 %call, i64* %result, align 8 + %3 = load i64, i64* %result, align 8 + %cmp = icmp sle i64 0, %3 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %for.cond + %4 = load i64, i64* %result, align 8 + store i64 %4, i64* %retval, align 8 + br label %return + +if.else: ; preds = %for.cond + %call1 = call i32* @__errno_location() #26 + %5 = load i32, i32* %call1, align 4 + %cmp2 = icmp eq i32 %5, 4 + br i1 %cmp2, label %for.cond, label %if.else4 + +if.else4: ; preds = %if.else + %call5 = call i32* @__errno_location() #26 + %6 = load i32, i32* %call5, align 4 + %cmp6 = icmp eq i32 %6, 22 + %7 = load i64, i64* %count.addr, align 8 + %cmp7 = icmp ult i64 2146435072, %7 + %or.cond = and i1 %cmp6, %cmp7 + br i1 %or.cond, label %if.then8, label %if.else9 + +if.then8: ; preds = %if.else4 + store i64 2146435072, i64* %count.addr, align 8 + br label %for.cond + +if.else9: ; preds = %if.else4 + %8 = load i64, i64* %result, align 8 + store i64 %8, i64* %retval, align 8 + br label %return + +return: ; preds = %if.else9, %if.then + %9 = load i64, i64* %retval, align 8 + ret i64 %9 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @next_line_num() #3 { +entry: + %endp = alloca i8*, align 8 + %0 = load i8*, i8** @line_num_end, align 8 + store i8* %0, i8** %endp, align 8 + br label %do.body + +do.body: ; preds = %if.end, %entry + %1 = load i8*, i8** %endp, align 8 + %2 = load i8, i8* %1, align 1 + %inc = add i8 %2, 1 + store i8 %inc, i8* %1, align 1 + %conv = sext i8 %2 to i32 + %cmp = icmp slt i32 %conv, 57 + br i1 %cmp, label %if.end13, label %if.end + +if.end: ; preds = %do.body + %3 = load i8*, i8** %endp, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 -1 + store i8* %incdec.ptr, i8** %endp, align 8 + store i8 48, i8* %3, align 1 + %4 = load i8*, i8** %endp, align 8 + %5 = load i8*, i8** @line_num_start, align 8 + %cmp2 = icmp uge i8* %4, %5 + br i1 %cmp2, label %do.body, label %do.end + +do.end: ; preds = %if.end + %6 = load i8*, i8** @line_num_start, align 8 + %cmp4 = icmp ugt i8* %6, getelementptr inbounds ([20 x i8], [20 x i8]* @line_buf, i64 0, i64 0) + br i1 %cmp4, label %if.then6, label %if.else + +if.then6: ; preds = %do.end + %7 = load i8*, i8** @line_num_start, align 8 + %incdec.ptr7 = getelementptr inbounds i8, i8* %7, i32 -1 + store i8* %incdec.ptr7, i8** @line_num_start, align 8 + store i8 49, i8* %incdec.ptr7, align 1 + br label %if.end8 + +if.else: ; preds = %do.end + store i8 62, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @line_buf, i64 0, i64 0), align 16 + br label %if.end8 + +if.end8: ; preds = %if.else, %if.then6 + %8 = load i8*, i8** @line_num_start, align 8 + %9 = load i8*, i8** @line_num_print, align 8 + %cmp9 = icmp ult i8* %8, %9 + br i1 %cmp9, label %if.then11, label %if.end13 + +if.then11: ; preds = %if.end8 + %10 = load i8*, i8** @line_num_print, align 8 + %incdec.ptr12 = getelementptr inbounds i8, i8* %10, i32 -1 + store i8* %incdec.ptr12, i8** @line_num_print, align 8 + br label %if.end13 + +if.end13: ; preds = %do.body, %if.then11, %if.end8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_style(i32 %n, i32 %s, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %o = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + call void @quoting_options_from_style(%struct.quoting_options* sret align 8 %o, i32 %0) + %1 = load i32, i32* %n.addr, align 4 + %2 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %1, i8* %2, i64 -1, %struct.quoting_options* %o) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define internal void @quoting_options_from_style(%struct.quoting_options* noalias sret align 8 %agg.result, i32 %style) #3 { +entry: + %style.addr = alloca i32, align 4 + store i32 %style, i32* %style.addr, align 4 + %0 = bitcast %struct.quoting_options* %agg.result to i8* + %1 = call i8* @memset(i8* %0, i32 0, i64 56) + %2 = load i32, i32* %style.addr, align 4 + %cmp = icmp eq i32 %2, 10 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @abort() #27 + unreachable + +if.end: ; preds = %entry + %3 = load i32, i32* %style.addr, align 4 + %style1 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %agg.result, i32 0, i32 0 + store i32 %3, i32* %style1, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @quotearg_n_options(i32 %n, i8* %arg, i64 %argsize, %struct.quoting_options* %options) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %options.addr = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %sv = alloca %struct.slotvec*, align 8 + %preallocated = alloca i8, align 1 + %nmax = alloca i32, align 4 + %size = alloca i64, align 8 + %val = alloca i8*, align 8 + %flags = alloca i32, align 4 + %qsize = alloca i64, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store %struct.quoting_options* %options, %struct.quoting_options** %options.addr, align 8 + %call = call i32* @__errno_location() #26 + %0 = load i32, i32* %call, align 4 + store i32 %0, i32* %e, align 4 + %1 = load %struct.slotvec*, %struct.slotvec** @slotvec, align 8 + store %struct.slotvec* %1, %struct.slotvec** %sv, align 8 + %2 = load i32, i32* %n.addr, align 4 + %cmp = icmp slt i32 %2, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @abort() #27 + unreachable + +if.end: ; preds = %entry + %3 = load i32, i32* @nslots, align 4 + %4 = load i32, i32* %n.addr, align 4 + %cmp1 = icmp sle i32 %3, %4 + br i1 %cmp1, label %if.then2, label %if.end15 + +if.then2: ; preds = %if.end + %5 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %cmp3 = icmp eq %struct.slotvec* %5, @slotvec0 + %frombool = zext i1 %cmp3 to i8 + store i8 %frombool, i8* %preallocated, align 1 + store i32 2147483646, i32* %nmax, align 4 + %6 = load i32, i32* %nmax, align 4 + %7 = load i32, i32* %n.addr, align 4 + %cmp4 = icmp slt i32 %6, %7 + br i1 %cmp4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.then2 + call void @xalloc_die() #25 + unreachable + +if.end6: ; preds = %if.then2 + %8 = load i8, i8* %preallocated, align 1 + %tobool = trunc i8 %8 to i1 + %9 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %cond = select i1 %tobool, %struct.slotvec* null, %struct.slotvec* %9 + %10 = bitcast %struct.slotvec* %cond to i8* + %11 = load i32, i32* %n.addr, align 4 + %add = add nsw i32 %11, 1 + %conv = sext i32 %add to i64 + %mul = mul i64 %conv, 16 + %call7 = call i8* @xrealloc(i8* %10, i64 %mul) + %12 = bitcast i8* %call7 to %struct.slotvec* + store %struct.slotvec* %12, %struct.slotvec** %sv, align 8 + store %struct.slotvec* %12, %struct.slotvec** @slotvec, align 8 + %13 = load i8, i8* %preallocated, align 1 + %tobool8 = trunc i8 %13 to i1 + br i1 %tobool8, label %if.then9, label %if.end10 + +if.then9: ; preds = %if.end6 + %14 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %15 = bitcast %struct.slotvec* %14 to i8* + %16 = call i8* @memcpy(i8* %15, i8* bitcast (%struct.slotvec* @slotvec0 to i8*), i64 16) + br label %if.end10 + +if.end10: ; preds = %if.then9, %if.end6 + %17 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %18 = load i32, i32* @nslots, align 4 + %idx.ext = sext i32 %18 to i64 + %add.ptr = getelementptr inbounds %struct.slotvec, %struct.slotvec* %17, i64 %idx.ext + %19 = bitcast %struct.slotvec* %add.ptr to i8* + %20 = load i32, i32* %n.addr, align 4 + %add11 = add nsw i32 %20, 1 + %21 = load i32, i32* @nslots, align 4 + %sub = sub nsw i32 %add11, %21 + %conv12 = sext i32 %sub to i64 + %mul13 = mul i64 %conv12, 16 + %22 = call i8* @memset(i8* %19, i32 0, i64 %mul13) + %23 = load i32, i32* %n.addr, align 4 + %add14 = add nsw i32 %23, 1 + store i32 %add14, i32* @nslots, align 4 + br label %if.end15 + +if.end15: ; preds = %if.end10, %if.end + %24 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %25 = load i32, i32* %n.addr, align 4 + %idxprom = sext i32 %25 to i64 + %arrayidx = getelementptr inbounds %struct.slotvec, %struct.slotvec* %24, i64 %idxprom + %size16 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx, i32 0, i32 0 + %26 = load i64, i64* %size16, align 8 + store i64 %26, i64* %size, align 8 + %27 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %28 = load i32, i32* %n.addr, align 4 + %idxprom17 = sext i32 %28 to i64 + %arrayidx18 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %27, i64 %idxprom17 + %val19 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx18, i32 0, i32 1 + %29 = load i8*, i8** %val19, align 8 + store i8* %29, i8** %val, align 8 + %30 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %flags20 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %30, i32 0, i32 1 + %31 = load i32, i32* %flags20, align 4 + %or = or i32 %31, 1 + store i32 %or, i32* %flags, align 4 + %32 = load i8*, i8** %val, align 8 + %33 = load i64, i64* %size, align 8 + %34 = load i8*, i8** %arg.addr, align 8 + %35 = load i64, i64* %argsize.addr, align 8 + %36 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %36, i32 0, i32 0 + %37 = load i32, i32* %style, align 8 + %38 = load i32, i32* %flags, align 4 + %39 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %39, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %40 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %left_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %40, i32 0, i32 3 + %41 = load i8*, i8** %left_quote, align 8 + %42 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %right_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %42, i32 0, i32 4 + %43 = load i8*, i8** %right_quote, align 8 + %call21 = call i64 @quotearg_buffer_restyled(i8* %32, i64 %33, i8* %34, i64 %35, i32 %37, i32 %38, i32* %arraydecay, i8* %41, i8* %43) + store i64 %call21, i64* %qsize, align 8 + %44 = load i64, i64* %size, align 8 + %45 = load i64, i64* %qsize, align 8 + %cmp22 = icmp ule i64 %44, %45 + br i1 %cmp22, label %if.then24, label %if.end43 + +if.then24: ; preds = %if.end15 + %46 = load i64, i64* %qsize, align 8 + %add25 = add i64 %46, 1 + store i64 %add25, i64* %size, align 8 + %47 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %48 = load i32, i32* %n.addr, align 4 + %idxprom26 = sext i32 %48 to i64 + %arrayidx27 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %47, i64 %idxprom26 + %size28 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx27, i32 0, i32 0 + store i64 %add25, i64* %size28, align 8 + %49 = load i8*, i8** %val, align 8 + %cmp29 = icmp ne i8* %49, getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i64 0, i64 0) + br i1 %cmp29, label %if.then31, label %if.end32 + +if.then31: ; preds = %if.then24 + %50 = load i8*, i8** %val, align 8 + call void @free(i8* %50) #11 + br label %if.end32 + +if.end32: ; preds = %if.then31, %if.then24 + %51 = load i64, i64* %size, align 8 + %call33 = call noalias i8* @xcharalloc(i64 %51) + store i8* %call33, i8** %val, align 8 + %52 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %53 = load i32, i32* %n.addr, align 4 + %idxprom34 = sext i32 %53 to i64 + %arrayidx35 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %52, i64 %idxprom34 + %val36 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx35, i32 0, i32 1 + store i8* %call33, i8** %val36, align 8 + %54 = load i8*, i8** %val, align 8 + %55 = load i64, i64* %size, align 8 + %56 = load i8*, i8** %arg.addr, align 8 + %57 = load i64, i64* %argsize.addr, align 8 + %58 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %style37 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %58, i32 0, i32 0 + %59 = load i32, i32* %style37, align 8 + %60 = load i32, i32* %flags, align 4 + %61 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %quote_these_too38 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %61, i32 0, i32 2 + %arraydecay39 = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too38, i64 0, i64 0 + %62 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %left_quote40 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %62, i32 0, i32 3 + %63 = load i8*, i8** %left_quote40, align 8 + %64 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %right_quote41 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %64, i32 0, i32 4 + %65 = load i8*, i8** %right_quote41, align 8 + %call42 = call i64 @quotearg_buffer_restyled(i8* %54, i64 %55, i8* %56, i64 %57, i32 %59, i32 %60, i32* %arraydecay39, i8* %63, i8* %65) + br label %if.end43 + +if.end43: ; preds = %if.end32, %if.end15 + %66 = load i32, i32* %e, align 4 + %call44 = call i32* @__errno_location() #26 + store i32 %66, i32* %call44, align 4 + %67 = load i8*, i8** %val, align 8 + ret i8* %67 +} + +; Function Attrs: noinline noreturn nounwind uwtable +define dso_local void @xalloc_die() #6 { +entry: + %0 = load volatile i32, i32* @exit_failure, align 4 + call void (i32, i32, i8*, ...) @error(i32 %0, i32 0, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.132, i64 0, i64 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.1.133, i64 0, i64 0)) + call void @abort() #27 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @xrealloc(i8* %p, i64 %n) #3 { +entry: + %retval = alloca i8*, align 8 + %p.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %tobool = icmp eq i64 %0, 0 + %1 = load i8*, i8** %p.addr, align 8 + %tobool1 = icmp ne i8* %1, null + %or.cond = and i1 %tobool, %tobool1 + %2 = load i8*, i8** %p.addr, align 8 + br i1 %or.cond, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @free(i8* %2) #11 + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %3 = load i64, i64* %n.addr, align 8 + %call = call i8* @realloc(i8* %2, i64 %3) #11 + store i8* %call, i8** %p.addr, align 8 + %4 = load i8*, i8** %p.addr, align 8 + %tobool2 = icmp eq i8* %4, null + %5 = load i64, i64* %n.addr, align 8 + %tobool4 = icmp ne i64 %5, 0 + %or.cond1 = and i1 %tobool2, %tobool4 + br i1 %or.cond1, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end + call void @xalloc_die() #25 + unreachable + +if.end6: ; preds = %if.end + %6 = load i8*, i8** %p.addr, align 8 + store i8* %6, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end6, %if.then + %7 = load i8*, i8** %retval, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @quotearg_buffer_restyled(i8* %buffer, i64 %buffersize, i8* %arg, i64 %argsize, i32 %quoting_style, i32 %flags, i32* %quote_these_too, i8* %left_quote, i8* %right_quote) #3 { +entry: + %retval = alloca i64, align 8 + %buffer.addr = alloca i8*, align 8 + %buffersize.addr = alloca i64, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %quoting_style.addr = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %quote_these_too.addr = alloca i32*, align 8 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %i = alloca i64, align 8 + %len = alloca i64, align 8 + %orig_buffersize = alloca i64, align 8 + %quote_string = alloca i8*, align 8 + %quote_string_len = alloca i64, align 8 + %backslash_escapes = alloca i8, align 1 + %unibyte_locale = alloca i8, align 1 + %elide_outer_quotes = alloca i8, align 1 + %pending_shell_escape_end = alloca i8, align 1 + %encountered_single_quote = alloca i8, align 1 + %all_c_and_shell_quote_compat = alloca i8, align 1 + %c = alloca i8, align 1 + %esc = alloca i8, align 1 + %is_right_quote = alloca i8, align 1 + %escaping = alloca i8, align 1 + %c_and_shell_quote_compat = alloca i8, align 1 + %m = alloca i64, align 8 + %printable = alloca i8, align 1 + %mbstate = alloca %struct.__mbstate_t, align 4 + %w = alloca i32, align 4 + %bytes = alloca i64, align 8 + %j = alloca i64, align 8 + %ilim = alloca i64, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %buffersize, i64* %buffersize.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store i32 %quoting_style, i32* %quoting_style.addr, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store i32* %quote_these_too, i32** %quote_these_too.addr, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i64 0, i64* %len, align 8 + store i64 0, i64* %orig_buffersize, align 8 + store i8* null, i8** %quote_string, align 8 + store i64 0, i64* %quote_string_len, align 8 + store i8 0, i8* %backslash_escapes, align 1 + %call = call i64 @__ctype_get_mb_cur_max() #11 + %cmp = icmp eq i64 %call, 1 + %frombool = zext i1 %cmp to i8 + store i8 %frombool, i8* %unibyte_locale, align 1 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 2 + %cmp1 = icmp ne i32 %and, 0 + %frombool2 = zext i1 %cmp1 to i8 + store i8 %frombool2, i8* %elide_outer_quotes, align 1 + store i8 0, i8* %pending_shell_escape_end, align 1 + store i8 0, i8* %encountered_single_quote, align 1 + store i8 1, i8* %all_c_and_shell_quote_compat, align 1 + br label %process_input + +process_input: ; preds = %if.then701, %entry + %1 = load i32, i32* %quoting_style.addr, align 4 + br label %NodeBlock27 + +NodeBlock27: ; preds = %process_input + %case.cmp28 = icmp eq i32 %1, 6 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %1, 5 + br i1 %case.cmp26, label %sw.bb3, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %1, 7 + br i1 %case.cmp24, label %sw.bb7, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %1, 8 + br i1 %case.cmp22, label %sw.bb8, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %1, 9 + br i1 %case.cmp20, label %sw.bb8, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %1, 10 + br i1 %case.cmp18, label %sw.bb8, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %1, 3 + br i1 %case.cmp16, label %sw.bb26, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %1, 1 + br i1 %case.cmp14, label %sw.bb27, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %1, 4 + br i1 %case.cmp12, label %sw.bb28, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %1, 2 + br i1 %case.cmp10, label %sw.bb32, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock9 + %case.cmp = icmp eq i32 %1, 0 + br i1 %case.cmp, label %sw.bb43, label %newDefault + +sw.bb: ; preds = %NodeBlock27 + store i32 5, i32* %quoting_style.addr, align 4 + store i8 1, i8* %elide_outer_quotes, align 1 + br label %sw.bb3 + +sw.bb3: ; preds = %NodeBlock25, %sw.bb + %2 = load i8, i8* %elide_outer_quotes, align 1 + %tobool = trunc i8 %2 to i1 + br i1 %tobool, label %if.end6, label %do.body + +do.body: ; preds = %sw.bb3 + %3 = load i64, i64* %len, align 8 + %4 = load i64, i64* %buffersize.addr, align 8 + %cmp4 = icmp ult i64 %3, %4 + br i1 %cmp4, label %if.then5, label %if.end + +if.then5: ; preds = %do.body + %5 = load i8*, i8** %buffer.addr, align 8 + %6 = load i64, i64* %len, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 %6 + store i8 34, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then5, %do.body + %7 = load i64, i64* %len, align 8 + %inc = add i64 %7, 1 + store i64 %inc, i64* %len, align 8 + br label %if.end6 + +if.end6: ; preds = %if.end, %sw.bb3 + store i8 1, i8* %backslash_escapes, align 1 + store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10.76, i64 0, i64 0), i8** %quote_string, align 8 + store i64 1, i64* %quote_string_len, align 8 + br label %sw.epilog + +sw.bb7: ; preds = %NodeBlock23 + store i8 1, i8* %backslash_escapes, align 1 + store i8 0, i8* %elide_outer_quotes, align 1 + br label %sw.epilog + +sw.bb8: ; preds = %NodeBlock21, %NodeBlock19, %NodeBlock17 + %8 = load i32, i32* %quoting_style.addr, align 4 + %cmp9 = icmp ne i32 %8, 10 + br i1 %cmp9, label %if.then10, label %if.end13 + +if.then10: ; preds = %sw.bb8 + %9 = load i32, i32* %quoting_style.addr, align 4 + %call11 = call i8* @gettext_quote(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.11.77, i64 0, i64 0), i32 %9) + store i8* %call11, i8** %left_quote.addr, align 8 + %10 = load i32, i32* %quoting_style.addr, align 4 + %call12 = call i8* @gettext_quote(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.78, i64 0, i64 0), i32 %10) + store i8* %call12, i8** %right_quote.addr, align 8 + br label %if.end13 + +if.end13: ; preds = %if.then10, %sw.bb8 + %11 = load i8, i8* %elide_outer_quotes, align 1 + %tobool14 = trunc i8 %11 to i1 + br i1 %tobool14, label %if.end24, label %if.then15 + +if.then15: ; preds = %if.end13 + %12 = load i8*, i8** %left_quote.addr, align 8 + store i8* %12, i8** %quote_string, align 8 + br label %for.cond + +for.cond: ; preds = %if.end21, %if.then15 + %13 = load i8*, i8** %quote_string, align 8 + %14 = load i8, i8* %13, align 1 + %tobool16 = icmp ne i8 %14, 0 + br i1 %tobool16, label %do.body17, label %if.end24 + +do.body17: ; preds = %for.cond + %15 = load i64, i64* %len, align 8 + %16 = load i64, i64* %buffersize.addr, align 8 + %cmp18 = icmp ult i64 %15, %16 + br i1 %cmp18, label %if.then19, label %if.end21 + +if.then19: ; preds = %do.body17 + %17 = load i8*, i8** %quote_string, align 8 + %18 = load i8, i8* %17, align 1 + %19 = load i8*, i8** %buffer.addr, align 8 + %20 = load i64, i64* %len, align 8 + %arrayidx20 = getelementptr inbounds i8, i8* %19, i64 %20 + store i8 %18, i8* %arrayidx20, align 1 + br label %if.end21 + +if.end21: ; preds = %if.then19, %do.body17 + %21 = load i64, i64* %len, align 8 + %inc22 = add i64 %21, 1 + store i64 %inc22, i64* %len, align 8 + %22 = load i8*, i8** %quote_string, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %22, i32 1 + store i8* %incdec.ptr, i8** %quote_string, align 8 + br label %for.cond + +if.end24: ; preds = %for.cond, %if.end13 + store i8 1, i8* %backslash_escapes, align 1 + %23 = load i8*, i8** %right_quote.addr, align 8 + store i8* %23, i8** %quote_string, align 8 + %24 = load i8*, i8** %quote_string, align 8 + %call25 = call i64 @strlen(i8* %24) #24 + store i64 %call25, i64* %quote_string_len, align 8 + br label %sw.epilog + +sw.bb26: ; preds = %NodeBlock15 + store i8 1, i8* %backslash_escapes, align 1 + br label %sw.bb27 + +sw.bb27: ; preds = %NodeBlock13, %sw.bb26 + store i8 1, i8* %elide_outer_quotes, align 1 + br label %sw.bb28 + +sw.bb28: ; preds = %NodeBlock11, %sw.bb27 + %25 = load i8, i8* %elide_outer_quotes, align 1 + %tobool29 = trunc i8 %25 to i1 + br i1 %tobool29, label %sw.bb32, label %if.then30 + +if.then30: ; preds = %sw.bb28 + store i8 1, i8* %backslash_escapes, align 1 + br label %sw.bb32 + +sw.bb32: ; preds = %NodeBlock9, %sw.bb28, %if.then30 + store i32 2, i32* %quoting_style.addr, align 4 + %26 = load i8, i8* %elide_outer_quotes, align 1 + %tobool33 = trunc i8 %26 to i1 + br i1 %tobool33, label %if.end42, label %do.body35 + +do.body35: ; preds = %sw.bb32 + %27 = load i64, i64* %len, align 8 + %28 = load i64, i64* %buffersize.addr, align 8 + %cmp36 = icmp ult i64 %27, %28 + br i1 %cmp36, label %if.then37, label %if.end39 + +if.then37: ; preds = %do.body35 + %29 = load i8*, i8** %buffer.addr, align 8 + %30 = load i64, i64* %len, align 8 + %arrayidx38 = getelementptr inbounds i8, i8* %29, i64 %30 + store i8 39, i8* %arrayidx38, align 1 + br label %if.end39 + +if.end39: ; preds = %if.then37, %do.body35 + %31 = load i64, i64* %len, align 8 + %inc40 = add i64 %31, 1 + store i64 %inc40, i64* %len, align 8 + br label %if.end42 + +if.end42: ; preds = %if.end39, %sw.bb32 + store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.78, i64 0, i64 0), i8** %quote_string, align 8 + store i64 1, i64* %quote_string_len, align 8 + br label %sw.epilog + +sw.bb43: ; preds = %NodeBlock + store i8 0, i8* %elide_outer_quotes, align 1 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @abort() #27 + unreachable + +sw.epilog: ; preds = %sw.bb43, %if.end42, %if.end24, %sw.bb7, %if.end6 + store i64 0, i64* %i, align 8 + br label %for.cond44 + +for.cond44: ; preds = %for.inc673, %sw.epilog + %32 = load i64, i64* %argsize.addr, align 8 + %cmp45 = icmp eq i64 %32, -1 + br i1 %cmp45, label %cond.true, label %cond.false + +cond.true: ; preds = %for.cond44 + %33 = load i8*, i8** %arg.addr, align 8 + %34 = load i64, i64* %i, align 8 + %arrayidx46 = getelementptr inbounds i8, i8* %33, i64 %34 + %35 = load i8, i8* %arrayidx46, align 1 + %conv = sext i8 %35 to i32 + %cmp47 = icmp eq i32 %conv, 0 + %conv48 = zext i1 %cmp47 to i32 + br label %cond.end + +cond.false: ; preds = %for.cond44 + %36 = load i64, i64* %i, align 8 + %37 = load i64, i64* %argsize.addr, align 8 + %cmp49 = icmp eq i64 %36, %37 + %conv50 = zext i1 %cmp49 to i32 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ %conv48, %cond.true ], [ %conv50, %cond.false ] + %tobool51 = icmp ne i32 %cond, 0 + %lnot = xor i1 %tobool51, true + br i1 %lnot, label %for.body52, label %for.end675 + +for.body52: ; preds = %cond.end + store i8 0, i8* %is_right_quote, align 1 + store i8 0, i8* %escaping, align 1 + store i8 0, i8* %c_and_shell_quote_compat, align 1 + %38 = load i8, i8* %backslash_escapes, align 1 + %tobool53 = trunc i8 %38 to i1 + %39 = load i32, i32* %quoting_style.addr, align 4 + %cmp55 = icmp ne i32 %39, 2 + %or.cond = and i1 %tobool53, %cmp55 + %40 = load i64, i64* %quote_string_len, align 8 + %tobool58 = icmp ne i64 %40, 0 + %or.cond1 = and i1 %or.cond, %tobool58 + br i1 %or.cond1, label %land.lhs.true59, label %if.end80 + +land.lhs.true59: ; preds = %for.body52 + %41 = load i64, i64* %i, align 8 + %42 = load i64, i64* %quote_string_len, align 8 + %add = add i64 %41, %42 + %43 = load i64, i64* %argsize.addr, align 8 + %cmp60 = icmp eq i64 %43, -1 + %44 = load i64, i64* %quote_string_len, align 8 + %cmp63 = icmp ult i64 1, %44 + %or.cond2 = and i1 %cmp60, %cmp63 + br i1 %or.cond2, label %cond.true65, label %cond.false67 + +cond.true65: ; preds = %land.lhs.true59 + %45 = load i8*, i8** %arg.addr, align 8 + %call66 = call i64 @strlen(i8* %45) #24 + store i64 %call66, i64* %argsize.addr, align 8 + br label %cond.end68 + +cond.false67: ; preds = %land.lhs.true59 + %46 = load i64, i64* %argsize.addr, align 8 + br label %cond.end68 + +cond.end68: ; preds = %cond.false67, %cond.true65 + %cond69 = phi i64 [ %call66, %cond.true65 ], [ %46, %cond.false67 ] + %cmp70 = icmp ule i64 %add, %cond69 + br i1 %cmp70, label %land.lhs.true72, label %if.end80 + +land.lhs.true72: ; preds = %cond.end68 + %47 = load i8*, i8** %arg.addr, align 8 + %48 = load i64, i64* %i, align 8 + %add.ptr = getelementptr inbounds i8, i8* %47, i64 %48 + %49 = load i8*, i8** %quote_string, align 8 + %50 = load i64, i64* %quote_string_len, align 8 + %call73 = call i32 @memcmp(i8* %add.ptr, i8* %49, i64 %50) #24 + %cmp74 = icmp eq i32 %call73, 0 + br i1 %cmp74, label %if.then76, label %if.end80 + +if.then76: ; preds = %land.lhs.true72 + %51 = load i8, i8* %elide_outer_quotes, align 1 + %tobool77 = trunc i8 %51 to i1 + br i1 %tobool77, label %force_outer_quoting_style, label %if.end79 + +if.end79: ; preds = %if.then76 + store i8 1, i8* %is_right_quote, align 1 + br label %if.end80 + +if.end80: ; preds = %if.end79, %land.lhs.true72, %cond.end68, %for.body52 + %52 = load i8*, i8** %arg.addr, align 8 + %53 = load i64, i64* %i, align 8 + %arrayidx81 = getelementptr inbounds i8, i8* %52, i64 %53 + %54 = load i8, i8* %arrayidx81, align 1 + store i8 %54, i8* %c, align 1 + %55 = load i8, i8* %c, align 1 + %conv82 = zext i8 %55 to i32 + br label %NodeBlock232 + +NodeBlock232: ; preds = %if.end80 + %case.cmp233 = icmp eq i32 %conv82, 0 + br i1 %case.cmp233, label %sw.bb83, label %NodeBlock230 + +NodeBlock230: ; preds = %NodeBlock232 + %case.cmp231 = icmp eq i32 %conv82, 63 + br i1 %case.cmp231, label %sw.bb170, label %NodeBlock228 + +NodeBlock228: ; preds = %NodeBlock230 + %case.cmp229 = icmp eq i32 %conv82, 7 + br i1 %case.cmp229, label %sw.bb236, label %NodeBlock226 + +NodeBlock226: ; preds = %NodeBlock228 + %case.cmp227 = icmp eq i32 %conv82, 8 + br i1 %case.cmp227, label %sw.bb237, label %NodeBlock224 + +NodeBlock224: ; preds = %NodeBlock226 + %case.cmp225 = icmp eq i32 %conv82, 12 + br i1 %case.cmp225, label %sw.bb238, label %NodeBlock222 + +NodeBlock222: ; preds = %NodeBlock224 + %case.cmp223 = icmp eq i32 %conv82, 10 + br i1 %case.cmp223, label %sw.bb239, label %NodeBlock220 + +NodeBlock220: ; preds = %NodeBlock222 + %case.cmp221 = icmp eq i32 %conv82, 13 + br i1 %case.cmp221, label %sw.bb240, label %NodeBlock218 + +NodeBlock218: ; preds = %NodeBlock220 + %case.cmp219 = icmp eq i32 %conv82, 9 + br i1 %case.cmp219, label %sw.bb241, label %NodeBlock216 + +NodeBlock216: ; preds = %NodeBlock218 + %case.cmp217 = icmp eq i32 %conv82, 11 + br i1 %case.cmp217, label %sw.bb242, label %NodeBlock214 + +NodeBlock214: ; preds = %NodeBlock216 + %case.cmp215 = icmp eq i32 %conv82, 92 + br i1 %case.cmp215, label %sw.bb243, label %NodeBlock212 + +NodeBlock212: ; preds = %NodeBlock214 + %case.cmp213 = icmp eq i32 %conv82, 123 + br i1 %case.cmp213, label %sw.bb270, label %NodeBlock210 + +NodeBlock210: ; preds = %NodeBlock212 + %case.cmp211 = icmp eq i32 %conv82, 125 + br i1 %case.cmp211, label %sw.bb270, label %NodeBlock208 + +NodeBlock208: ; preds = %NodeBlock210 + %case.cmp209 = icmp eq i32 %conv82, 35 + br i1 %case.cmp209, label %sw.bb283, label %NodeBlock206 + +NodeBlock206: ; preds = %NodeBlock208 + %case.cmp207 = icmp eq i32 %conv82, 126 + br i1 %case.cmp207, label %sw.bb283, label %NodeBlock204 + +NodeBlock204: ; preds = %NodeBlock206 + %case.cmp205 = icmp eq i32 %conv82, 32 + br i1 %case.cmp205, label %sw.bb288, label %NodeBlock202 + +NodeBlock202: ; preds = %NodeBlock204 + %case.cmp203 = icmp eq i32 %conv82, 33 + br i1 %case.cmp203, label %sw.bb289, label %NodeBlock200 + +NodeBlock200: ; preds = %NodeBlock202 + %case.cmp201 = icmp eq i32 %conv82, 34 + br i1 %case.cmp201, label %sw.bb289, label %NodeBlock198 + +NodeBlock198: ; preds = %NodeBlock200 + %case.cmp199 = icmp eq i32 %conv82, 36 + br i1 %case.cmp199, label %sw.bb289, label %NodeBlock196 + +NodeBlock196: ; preds = %NodeBlock198 + %case.cmp197 = icmp eq i32 %conv82, 38 + br i1 %case.cmp197, label %sw.bb289, label %NodeBlock194 + +NodeBlock194: ; preds = %NodeBlock196 + %case.cmp195 = icmp eq i32 %conv82, 40 + br i1 %case.cmp195, label %sw.bb289, label %NodeBlock192 + +NodeBlock192: ; preds = %NodeBlock194 + %case.cmp193 = icmp eq i32 %conv82, 41 + br i1 %case.cmp193, label %sw.bb289, label %NodeBlock190 + +NodeBlock190: ; preds = %NodeBlock192 + %case.cmp191 = icmp eq i32 %conv82, 42 + br i1 %case.cmp191, label %sw.bb289, label %NodeBlock188 + +NodeBlock188: ; preds = %NodeBlock190 + %case.cmp189 = icmp eq i32 %conv82, 59 + br i1 %case.cmp189, label %sw.bb289, label %NodeBlock186 + +NodeBlock186: ; preds = %NodeBlock188 + %case.cmp187 = icmp eq i32 %conv82, 60 + br i1 %case.cmp187, label %sw.bb289, label %NodeBlock184 + +NodeBlock184: ; preds = %NodeBlock186 + %case.cmp185 = icmp eq i32 %conv82, 61 + br i1 %case.cmp185, label %sw.bb289, label %NodeBlock182 + +NodeBlock182: ; preds = %NodeBlock184 + %case.cmp183 = icmp eq i32 %conv82, 62 + br i1 %case.cmp183, label %sw.bb289, label %NodeBlock180 + +NodeBlock180: ; preds = %NodeBlock182 + %case.cmp181 = icmp eq i32 %conv82, 91 + br i1 %case.cmp181, label %sw.bb289, label %NodeBlock178 + +NodeBlock178: ; preds = %NodeBlock180 + %case.cmp179 = icmp eq i32 %conv82, 94 + br i1 %case.cmp179, label %sw.bb289, label %NodeBlock176 + +NodeBlock176: ; preds = %NodeBlock178 + %case.cmp177 = icmp eq i32 %conv82, 96 + br i1 %case.cmp177, label %sw.bb289, label %NodeBlock174 + +NodeBlock174: ; preds = %NodeBlock176 + %case.cmp175 = icmp eq i32 %conv82, 124 + br i1 %case.cmp175, label %sw.bb289, label %NodeBlock172 + +NodeBlock172: ; preds = %NodeBlock174 + %case.cmp173 = icmp eq i32 %conv82, 39 + br i1 %case.cmp173, label %sw.bb297, label %NodeBlock170 + +NodeBlock170: ; preds = %NodeBlock172 + %case.cmp171 = icmp eq i32 %conv82, 37 + br i1 %case.cmp171, label %sw.bb334, label %NodeBlock168 + +NodeBlock168: ; preds = %NodeBlock170 + %case.cmp169 = icmp eq i32 %conv82, 43 + br i1 %case.cmp169, label %sw.bb334, label %NodeBlock166 + +NodeBlock166: ; preds = %NodeBlock168 + %case.cmp167 = icmp eq i32 %conv82, 44 + br i1 %case.cmp167, label %sw.bb334, label %NodeBlock164 + +NodeBlock164: ; preds = %NodeBlock166 + %case.cmp165 = icmp eq i32 %conv82, 45 + br i1 %case.cmp165, label %sw.bb334, label %NodeBlock162 + +NodeBlock162: ; preds = %NodeBlock164 + %case.cmp163 = icmp eq i32 %conv82, 46 + br i1 %case.cmp163, label %sw.bb334, label %NodeBlock160 + +NodeBlock160: ; preds = %NodeBlock162 + %case.cmp161 = icmp eq i32 %conv82, 47 + br i1 %case.cmp161, label %sw.bb334, label %NodeBlock158 + +NodeBlock158: ; preds = %NodeBlock160 + %case.cmp159 = icmp eq i32 %conv82, 48 + br i1 %case.cmp159, label %sw.bb334, label %NodeBlock156 + +NodeBlock156: ; preds = %NodeBlock158 + %case.cmp157 = icmp eq i32 %conv82, 49 + br i1 %case.cmp157, label %sw.bb334, label %NodeBlock154 + +NodeBlock154: ; preds = %NodeBlock156 + %case.cmp155 = icmp eq i32 %conv82, 50 + br i1 %case.cmp155, label %sw.bb334, label %NodeBlock152 + +NodeBlock152: ; preds = %NodeBlock154 + %case.cmp153 = icmp eq i32 %conv82, 51 + br i1 %case.cmp153, label %sw.bb334, label %NodeBlock150 + +NodeBlock150: ; preds = %NodeBlock152 + %case.cmp151 = icmp eq i32 %conv82, 52 + br i1 %case.cmp151, label %sw.bb334, label %NodeBlock148 + +NodeBlock148: ; preds = %NodeBlock150 + %case.cmp149 = icmp eq i32 %conv82, 53 + br i1 %case.cmp149, label %sw.bb334, label %NodeBlock146 + +NodeBlock146: ; preds = %NodeBlock148 + %case.cmp147 = icmp eq i32 %conv82, 54 + br i1 %case.cmp147, label %sw.bb334, label %NodeBlock144 + +NodeBlock144: ; preds = %NodeBlock146 + %case.cmp145 = icmp eq i32 %conv82, 55 + br i1 %case.cmp145, label %sw.bb334, label %NodeBlock142 + +NodeBlock142: ; preds = %NodeBlock144 + %case.cmp143 = icmp eq i32 %conv82, 56 + br i1 %case.cmp143, label %sw.bb334, label %NodeBlock140 + +NodeBlock140: ; preds = %NodeBlock142 + %case.cmp141 = icmp eq i32 %conv82, 57 + br i1 %case.cmp141, label %sw.bb334, label %NodeBlock138 + +NodeBlock138: ; preds = %NodeBlock140 + %case.cmp139 = icmp eq i32 %conv82, 58 + br i1 %case.cmp139, label %sw.bb334, label %NodeBlock136 + +NodeBlock136: ; preds = %NodeBlock138 + %case.cmp137 = icmp eq i32 %conv82, 65 + br i1 %case.cmp137, label %sw.bb334, label %NodeBlock134 + +NodeBlock134: ; preds = %NodeBlock136 + %case.cmp135 = icmp eq i32 %conv82, 66 + br i1 %case.cmp135, label %sw.bb334, label %NodeBlock132 + +NodeBlock132: ; preds = %NodeBlock134 + %case.cmp133 = icmp eq i32 %conv82, 67 + br i1 %case.cmp133, label %sw.bb334, label %NodeBlock130 + +NodeBlock130: ; preds = %NodeBlock132 + %case.cmp131 = icmp eq i32 %conv82, 68 + br i1 %case.cmp131, label %sw.bb334, label %NodeBlock128 + +NodeBlock128: ; preds = %NodeBlock130 + %case.cmp129 = icmp eq i32 %conv82, 69 + br i1 %case.cmp129, label %sw.bb334, label %NodeBlock126 + +NodeBlock126: ; preds = %NodeBlock128 + %case.cmp127 = icmp eq i32 %conv82, 70 + br i1 %case.cmp127, label %sw.bb334, label %NodeBlock124 + +NodeBlock124: ; preds = %NodeBlock126 + %case.cmp125 = icmp eq i32 %conv82, 71 + br i1 %case.cmp125, label %sw.bb334, label %NodeBlock122 + +NodeBlock122: ; preds = %NodeBlock124 + %case.cmp123 = icmp eq i32 %conv82, 72 + br i1 %case.cmp123, label %sw.bb334, label %NodeBlock120 + +NodeBlock120: ; preds = %NodeBlock122 + %case.cmp121 = icmp eq i32 %conv82, 73 + br i1 %case.cmp121, label %sw.bb334, label %NodeBlock118 + +NodeBlock118: ; preds = %NodeBlock120 + %case.cmp119 = icmp eq i32 %conv82, 74 + br i1 %case.cmp119, label %sw.bb334, label %NodeBlock116 + +NodeBlock116: ; preds = %NodeBlock118 + %case.cmp117 = icmp eq i32 %conv82, 75 + br i1 %case.cmp117, label %sw.bb334, label %NodeBlock114 + +NodeBlock114: ; preds = %NodeBlock116 + %case.cmp115 = icmp eq i32 %conv82, 76 + br i1 %case.cmp115, label %sw.bb334, label %NodeBlock112 + +NodeBlock112: ; preds = %NodeBlock114 + %case.cmp113 = icmp eq i32 %conv82, 77 + br i1 %case.cmp113, label %sw.bb334, label %NodeBlock110 + +NodeBlock110: ; preds = %NodeBlock112 + %case.cmp111 = icmp eq i32 %conv82, 78 + br i1 %case.cmp111, label %sw.bb334, label %NodeBlock108 + +NodeBlock108: ; preds = %NodeBlock110 + %case.cmp109 = icmp eq i32 %conv82, 79 + br i1 %case.cmp109, label %sw.bb334, label %NodeBlock106 + +NodeBlock106: ; preds = %NodeBlock108 + %case.cmp107 = icmp eq i32 %conv82, 80 + br i1 %case.cmp107, label %sw.bb334, label %NodeBlock104 + +NodeBlock104: ; preds = %NodeBlock106 + %case.cmp105 = icmp eq i32 %conv82, 81 + br i1 %case.cmp105, label %sw.bb334, label %NodeBlock102 + +NodeBlock102: ; preds = %NodeBlock104 + %case.cmp103 = icmp eq i32 %conv82, 82 + br i1 %case.cmp103, label %sw.bb334, label %NodeBlock100 + +NodeBlock100: ; preds = %NodeBlock102 + %case.cmp101 = icmp eq i32 %conv82, 83 + br i1 %case.cmp101, label %sw.bb334, label %NodeBlock98 + +NodeBlock98: ; preds = %NodeBlock100 + %case.cmp99 = icmp eq i32 %conv82, 84 + br i1 %case.cmp99, label %sw.bb334, label %NodeBlock96 + +NodeBlock96: ; preds = %NodeBlock98 + %case.cmp97 = icmp eq i32 %conv82, 85 + br i1 %case.cmp97, label %sw.bb334, label %NodeBlock94 + +NodeBlock94: ; preds = %NodeBlock96 + %case.cmp95 = icmp eq i32 %conv82, 86 + br i1 %case.cmp95, label %sw.bb334, label %NodeBlock92 + +NodeBlock92: ; preds = %NodeBlock94 + %case.cmp93 = icmp eq i32 %conv82, 87 + br i1 %case.cmp93, label %sw.bb334, label %NodeBlock90 + +NodeBlock90: ; preds = %NodeBlock92 + %case.cmp91 = icmp eq i32 %conv82, 88 + br i1 %case.cmp91, label %sw.bb334, label %NodeBlock88 + +NodeBlock88: ; preds = %NodeBlock90 + %case.cmp89 = icmp eq i32 %conv82, 89 + br i1 %case.cmp89, label %sw.bb334, label %NodeBlock86 + +NodeBlock86: ; preds = %NodeBlock88 + %case.cmp87 = icmp eq i32 %conv82, 90 + br i1 %case.cmp87, label %sw.bb334, label %NodeBlock84 + +NodeBlock84: ; preds = %NodeBlock86 + %case.cmp85 = icmp eq i32 %conv82, 93 + br i1 %case.cmp85, label %sw.bb334, label %NodeBlock82 + +NodeBlock82: ; preds = %NodeBlock84 + %case.cmp83 = icmp eq i32 %conv82, 95 + br i1 %case.cmp83, label %sw.bb334, label %NodeBlock80 + +NodeBlock80: ; preds = %NodeBlock82 + %case.cmp81 = icmp eq i32 %conv82, 97 + br i1 %case.cmp81, label %sw.bb334, label %NodeBlock78 + +NodeBlock78: ; preds = %NodeBlock80 + %case.cmp79 = icmp eq i32 %conv82, 98 + br i1 %case.cmp79, label %sw.bb334, label %NodeBlock76 + +NodeBlock76: ; preds = %NodeBlock78 + %case.cmp77 = icmp eq i32 %conv82, 99 + br i1 %case.cmp77, label %sw.bb334, label %NodeBlock74 + +NodeBlock74: ; preds = %NodeBlock76 + %case.cmp75 = icmp eq i32 %conv82, 100 + br i1 %case.cmp75, label %sw.bb334, label %NodeBlock72 + +NodeBlock72: ; preds = %NodeBlock74 + %case.cmp73 = icmp eq i32 %conv82, 101 + br i1 %case.cmp73, label %sw.bb334, label %NodeBlock70 + +NodeBlock70: ; preds = %NodeBlock72 + %case.cmp71 = icmp eq i32 %conv82, 102 + br i1 %case.cmp71, label %sw.bb334, label %NodeBlock68 + +NodeBlock68: ; preds = %NodeBlock70 + %case.cmp69 = icmp eq i32 %conv82, 103 + br i1 %case.cmp69, label %sw.bb334, label %NodeBlock66 + +NodeBlock66: ; preds = %NodeBlock68 + %case.cmp67 = icmp eq i32 %conv82, 104 + br i1 %case.cmp67, label %sw.bb334, label %NodeBlock64 + +NodeBlock64: ; preds = %NodeBlock66 + %case.cmp65 = icmp eq i32 %conv82, 105 + br i1 %case.cmp65, label %sw.bb334, label %NodeBlock62 + +NodeBlock62: ; preds = %NodeBlock64 + %case.cmp63 = icmp eq i32 %conv82, 106 + br i1 %case.cmp63, label %sw.bb334, label %NodeBlock60 + +NodeBlock60: ; preds = %NodeBlock62 + %case.cmp61 = icmp eq i32 %conv82, 107 + br i1 %case.cmp61, label %sw.bb334, label %NodeBlock58 + +NodeBlock58: ; preds = %NodeBlock60 + %case.cmp59 = icmp eq i32 %conv82, 108 + br i1 %case.cmp59, label %sw.bb334, label %NodeBlock56 + +NodeBlock56: ; preds = %NodeBlock58 + %case.cmp57 = icmp eq i32 %conv82, 109 + br i1 %case.cmp57, label %sw.bb334, label %NodeBlock54 + +NodeBlock54: ; preds = %NodeBlock56 + %case.cmp55 = icmp eq i32 %conv82, 110 + br i1 %case.cmp55, label %sw.bb334, label %NodeBlock52 + +NodeBlock52: ; preds = %NodeBlock54 + %case.cmp53 = icmp eq i32 %conv82, 111 + br i1 %case.cmp53, label %sw.bb334, label %NodeBlock50 + +NodeBlock50: ; preds = %NodeBlock52 + %case.cmp51 = icmp eq i32 %conv82, 112 + br i1 %case.cmp51, label %sw.bb334, label %NodeBlock48 + +NodeBlock48: ; preds = %NodeBlock50 + %case.cmp49 = icmp eq i32 %conv82, 113 + br i1 %case.cmp49, label %sw.bb334, label %NodeBlock46 + +NodeBlock46: ; preds = %NodeBlock48 + %case.cmp47 = icmp eq i32 %conv82, 114 + br i1 %case.cmp47, label %sw.bb334, label %NodeBlock44 + +NodeBlock44: ; preds = %NodeBlock46 + %case.cmp45 = icmp eq i32 %conv82, 115 + br i1 %case.cmp45, label %sw.bb334, label %NodeBlock42 + +NodeBlock42: ; preds = %NodeBlock44 + %case.cmp43 = icmp eq i32 %conv82, 116 + br i1 %case.cmp43, label %sw.bb334, label %NodeBlock40 + +NodeBlock40: ; preds = %NodeBlock42 + %case.cmp41 = icmp eq i32 %conv82, 117 + br i1 %case.cmp41, label %sw.bb334, label %NodeBlock38 + +NodeBlock38: ; preds = %NodeBlock40 + %case.cmp39 = icmp eq i32 %conv82, 118 + br i1 %case.cmp39, label %sw.bb334, label %NodeBlock36 + +NodeBlock36: ; preds = %NodeBlock38 + %case.cmp37 = icmp eq i32 %conv82, 119 + br i1 %case.cmp37, label %sw.bb334, label %NodeBlock34 + +NodeBlock34: ; preds = %NodeBlock36 + %case.cmp35 = icmp eq i32 %conv82, 120 + br i1 %case.cmp35, label %sw.bb334, label %NodeBlock32 + +NodeBlock32: ; preds = %NodeBlock34 + %case.cmp33 = icmp eq i32 %conv82, 121 + br i1 %case.cmp33, label %sw.bb334, label %NodeBlock30 + +NodeBlock30: ; preds = %NodeBlock32 + %case.cmp31 = icmp eq i32 %conv82, 122 + br i1 %case.cmp31, label %sw.bb334, label %newDefault29 + +sw.bb83: ; preds = %NodeBlock232 + %56 = load i8, i8* %backslash_escapes, align 1 + %tobool84 = trunc i8 %56 to i1 + br i1 %tobool84, label %do.body86, label %if.else + +do.body86: ; preds = %sw.bb83 + %57 = load i8, i8* %elide_outer_quotes, align 1 + %tobool87 = trunc i8 %57 to i1 + br i1 %tobool87, label %force_outer_quoting_style, label %if.end89 + +if.end89: ; preds = %do.body86 + store i8 1, i8* %escaping, align 1 + %58 = load i32, i32* %quoting_style.addr, align 4 + %cmp90 = icmp eq i32 %58, 2 + br i1 %cmp90, label %land.lhs.true92, label %do.body120 + +land.lhs.true92: ; preds = %if.end89 + %59 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool93 = trunc i8 %59 to i1 + br i1 %tobool93, label %do.body120, label %do.body95 + +do.body95: ; preds = %land.lhs.true92 + %60 = load i64, i64* %len, align 8 + %61 = load i64, i64* %buffersize.addr, align 8 + %cmp96 = icmp ult i64 %60, %61 + br i1 %cmp96, label %if.then98, label %if.end100 + +if.then98: ; preds = %do.body95 + %62 = load i8*, i8** %buffer.addr, align 8 + %63 = load i64, i64* %len, align 8 + %arrayidx99 = getelementptr inbounds i8, i8* %62, i64 %63 + store i8 39, i8* %arrayidx99, align 1 + br label %if.end100 + +if.end100: ; preds = %if.then98, %do.body95 + %64 = load i64, i64* %len, align 8 + %inc101 = add i64 %64, 1 + store i64 %inc101, i64* %len, align 8 + %65 = load i64, i64* %len, align 8 + %66 = load i64, i64* %buffersize.addr, align 8 + %cmp104 = icmp ult i64 %65, %66 + br i1 %cmp104, label %if.then106, label %if.end108 + +if.then106: ; preds = %if.end100 + %67 = load i8*, i8** %buffer.addr, align 8 + %68 = load i64, i64* %len, align 8 + %arrayidx107 = getelementptr inbounds i8, i8* %67, i64 %68 + store i8 36, i8* %arrayidx107, align 1 + br label %if.end108 + +if.end108: ; preds = %if.then106, %if.end100 + %69 = load i64, i64* %len, align 8 + %inc109 = add i64 %69, 1 + store i64 %inc109, i64* %len, align 8 + %70 = load i64, i64* %len, align 8 + %71 = load i64, i64* %buffersize.addr, align 8 + %cmp112 = icmp ult i64 %70, %71 + br i1 %cmp112, label %if.then114, label %if.end116 + +if.then114: ; preds = %if.end108 + %72 = load i8*, i8** %buffer.addr, align 8 + %73 = load i64, i64* %len, align 8 + %arrayidx115 = getelementptr inbounds i8, i8* %72, i64 %73 + store i8 39, i8* %arrayidx115, align 1 + br label %if.end116 + +if.end116: ; preds = %if.then114, %if.end108 + %74 = load i64, i64* %len, align 8 + %inc117 = add i64 %74, 1 + store i64 %inc117, i64* %len, align 8 + store i8 1, i8* %pending_shell_escape_end, align 1 + br label %do.body120 + +do.body120: ; preds = %if.end89, %land.lhs.true92, %if.end116 + %75 = load i64, i64* %len, align 8 + %76 = load i64, i64* %buffersize.addr, align 8 + %cmp121 = icmp ult i64 %75, %76 + br i1 %cmp121, label %if.then123, label %if.end125 + +if.then123: ; preds = %do.body120 + %77 = load i8*, i8** %buffer.addr, align 8 + %78 = load i64, i64* %len, align 8 + %arrayidx124 = getelementptr inbounds i8, i8* %77, i64 %78 + store i8 92, i8* %arrayidx124, align 1 + br label %if.end125 + +if.end125: ; preds = %if.then123, %do.body120 + %79 = load i64, i64* %len, align 8 + %inc126 = add i64 %79, 1 + store i64 %inc126, i64* %len, align 8 + %80 = load i32, i32* %quoting_style.addr, align 4 + %cmp129 = icmp ne i32 %80, 2 + br i1 %cmp129, label %land.lhs.true131, label %if.end164 + +land.lhs.true131: ; preds = %if.end125 + %81 = load i64, i64* %i, align 8 + %add132 = add i64 %81, 1 + %82 = load i64, i64* %argsize.addr, align 8 + %cmp133 = icmp ult i64 %add132, %82 + br i1 %cmp133, label %land.lhs.true135, label %if.end164 + +land.lhs.true135: ; preds = %land.lhs.true131 + %83 = load i8*, i8** %arg.addr, align 8 + %84 = load i64, i64* %i, align 8 + %add136 = add i64 %84, 1 + %arrayidx137 = getelementptr inbounds i8, i8* %83, i64 %add136 + %85 = load i8, i8* %arrayidx137, align 1 + %conv138 = sext i8 %85 to i32 + %cmp139 = icmp sle i32 48, %conv138 + br i1 %cmp139, label %land.lhs.true141, label %if.end164 + +land.lhs.true141: ; preds = %land.lhs.true135 + %86 = load i8*, i8** %arg.addr, align 8 + %87 = load i64, i64* %i, align 8 + %add142 = add i64 %87, 1 + %arrayidx143 = getelementptr inbounds i8, i8* %86, i64 %add142 + %88 = load i8, i8* %arrayidx143, align 1 + %conv144 = sext i8 %88 to i32 + %cmp145 = icmp sle i32 %conv144, 57 + br i1 %cmp145, label %do.body148, label %if.end164 + +do.body148: ; preds = %land.lhs.true141 + %89 = load i64, i64* %len, align 8 + %90 = load i64, i64* %buffersize.addr, align 8 + %cmp149 = icmp ult i64 %89, %90 + br i1 %cmp149, label %if.then151, label %if.end153 + +if.then151: ; preds = %do.body148 + %91 = load i8*, i8** %buffer.addr, align 8 + %92 = load i64, i64* %len, align 8 + %arrayidx152 = getelementptr inbounds i8, i8* %91, i64 %92 + store i8 48, i8* %arrayidx152, align 1 + br label %if.end153 + +if.end153: ; preds = %if.then151, %do.body148 + %93 = load i64, i64* %len, align 8 + %inc154 = add i64 %93, 1 + store i64 %inc154, i64* %len, align 8 + %94 = load i64, i64* %len, align 8 + %95 = load i64, i64* %buffersize.addr, align 8 + %cmp157 = icmp ult i64 %94, %95 + br i1 %cmp157, label %if.then159, label %if.end161 + +if.then159: ; preds = %if.end153 + %96 = load i8*, i8** %buffer.addr, align 8 + %97 = load i64, i64* %len, align 8 + %arrayidx160 = getelementptr inbounds i8, i8* %96, i64 %97 + store i8 48, i8* %arrayidx160, align 1 + br label %if.end161 + +if.end161: ; preds = %if.then159, %if.end153 + %98 = load i64, i64* %len, align 8 + %inc162 = add i64 %98, 1 + store i64 %inc162, i64* %len, align 8 + br label %if.end164 + +if.end164: ; preds = %if.end161, %land.lhs.true141, %land.lhs.true135, %land.lhs.true131, %if.end125 + store i8 48, i8* %c, align 1 + br label %sw.epilog564 + +if.else: ; preds = %sw.bb83 + %99 = load i32, i32* %flags.addr, align 4 + %and165 = and i32 %99, 1 + %tobool166 = icmp ne i32 %and165, 0 + br i1 %tobool166, label %for.inc673, label %sw.epilog564 + +sw.bb170: ; preds = %NodeBlock230 + %100 = load i32, i32* %quoting_style.addr, align 4 + br label %NodeBlock237 + +NodeBlock237: ; preds = %sw.bb170 + %case.cmp238 = icmp eq i32 %100, 2 + br i1 %case.cmp238, label %sw.bb171, label %NodeBlock235 + +NodeBlock235: ; preds = %NodeBlock237 + %case.cmp236 = icmp eq i32 %100, 5 + br i1 %case.cmp236, label %sw.bb175, label %newDefault234 + +sw.bb171: ; preds = %NodeBlock237 + %101 = load i8, i8* %elide_outer_quotes, align 1 + %tobool172 = trunc i8 %101 to i1 + br i1 %tobool172, label %force_outer_quoting_style, label %sw.epilog564 + +sw.bb175: ; preds = %NodeBlock235 + %102 = load i32, i32* %flags.addr, align 4 + %and176 = and i32 %102, 4 + %tobool177 = icmp ne i32 %and176, 0 + br i1 %tobool177, label %land.lhs.true178, label %sw.epilog564 + +land.lhs.true178: ; preds = %sw.bb175 + %103 = load i64, i64* %i, align 8 + %add179 = add i64 %103, 2 + %104 = load i64, i64* %argsize.addr, align 8 + %cmp180 = icmp ult i64 %add179, %104 + br i1 %cmp180, label %land.lhs.true182, label %sw.epilog564 + +land.lhs.true182: ; preds = %land.lhs.true178 + %105 = load i8*, i8** %arg.addr, align 8 + %106 = load i64, i64* %i, align 8 + %add183 = add i64 %106, 1 + %arrayidx184 = getelementptr inbounds i8, i8* %105, i64 %add183 + %107 = load i8, i8* %arrayidx184, align 1 + %conv185 = sext i8 %107 to i32 + %cmp186 = icmp eq i32 %conv185, 63 + br i1 %cmp186, label %if.then188, label %sw.epilog564 + +if.then188: ; preds = %land.lhs.true182 + %108 = load i8*, i8** %arg.addr, align 8 + %109 = load i64, i64* %i, align 8 + %add189 = add i64 %109, 2 + %arrayidx190 = getelementptr inbounds i8, i8* %108, i64 %add189 + %110 = load i8, i8* %arrayidx190, align 1 + %conv191 = sext i8 %110 to i32 + br label %NodeBlock256 + +NodeBlock256: ; preds = %if.then188 + %case.cmp257 = icmp eq i32 %conv191, 33 + br i1 %case.cmp257, label %sw.bb192, label %NodeBlock254 + +NodeBlock254: ; preds = %NodeBlock256 + %case.cmp255 = icmp eq i32 %conv191, 39 + br i1 %case.cmp255, label %sw.bb192, label %NodeBlock252 + +NodeBlock252: ; preds = %NodeBlock254 + %case.cmp253 = icmp eq i32 %conv191, 40 + br i1 %case.cmp253, label %sw.bb192, label %NodeBlock250 + +NodeBlock250: ; preds = %NodeBlock252 + %case.cmp251 = icmp eq i32 %conv191, 41 + br i1 %case.cmp251, label %sw.bb192, label %NodeBlock248 + +NodeBlock248: ; preds = %NodeBlock250 + %case.cmp249 = icmp eq i32 %conv191, 45 + br i1 %case.cmp249, label %sw.bb192, label %NodeBlock246 + +NodeBlock246: ; preds = %NodeBlock248 + %case.cmp247 = icmp eq i32 %conv191, 47 + br i1 %case.cmp247, label %sw.bb192, label %NodeBlock244 + +NodeBlock244: ; preds = %NodeBlock246 + %case.cmp245 = icmp eq i32 %conv191, 60 + br i1 %case.cmp245, label %sw.bb192, label %NodeBlock242 + +NodeBlock242: ; preds = %NodeBlock244 + %case.cmp243 = icmp eq i32 %conv191, 61 + br i1 %case.cmp243, label %sw.bb192, label %NodeBlock240 + +NodeBlock240: ; preds = %NodeBlock242 + %case.cmp241 = icmp eq i32 %conv191, 62 + br i1 %case.cmp241, label %sw.bb192, label %newDefault239 + +sw.bb192: ; preds = %NodeBlock256, %NodeBlock254, %NodeBlock252, %NodeBlock250, %NodeBlock248, %NodeBlock246, %NodeBlock244, %NodeBlock242, %NodeBlock240 + %111 = load i8, i8* %elide_outer_quotes, align 1 + %tobool193 = trunc i8 %111 to i1 + br i1 %tobool193, label %force_outer_quoting_style, label %if.end195 + +if.end195: ; preds = %sw.bb192 + %112 = load i8*, i8** %arg.addr, align 8 + %113 = load i64, i64* %i, align 8 + %add196 = add i64 %113, 2 + %arrayidx197 = getelementptr inbounds i8, i8* %112, i64 %add196 + %114 = load i8, i8* %arrayidx197, align 1 + store i8 %114, i8* %c, align 1 + %115 = load i64, i64* %i, align 8 + %add198 = add i64 %115, 2 + store i64 %add198, i64* %i, align 8 + %116 = load i64, i64* %len, align 8 + %117 = load i64, i64* %buffersize.addr, align 8 + %cmp200 = icmp ult i64 %116, %117 + br i1 %cmp200, label %if.then202, label %if.end204 + +if.then202: ; preds = %if.end195 + %118 = load i8*, i8** %buffer.addr, align 8 + %119 = load i64, i64* %len, align 8 + %arrayidx203 = getelementptr inbounds i8, i8* %118, i64 %119 + store i8 63, i8* %arrayidx203, align 1 + br label %if.end204 + +if.end204: ; preds = %if.then202, %if.end195 + %120 = load i64, i64* %len, align 8 + %inc205 = add i64 %120, 1 + store i64 %inc205, i64* %len, align 8 + %121 = load i64, i64* %len, align 8 + %122 = load i64, i64* %buffersize.addr, align 8 + %cmp208 = icmp ult i64 %121, %122 + br i1 %cmp208, label %if.then210, label %if.end212 + +if.then210: ; preds = %if.end204 + %123 = load i8*, i8** %buffer.addr, align 8 + %124 = load i64, i64* %len, align 8 + %arrayidx211 = getelementptr inbounds i8, i8* %123, i64 %124 + store i8 34, i8* %arrayidx211, align 1 + br label %if.end212 + +if.end212: ; preds = %if.then210, %if.end204 + %125 = load i64, i64* %len, align 8 + %inc213 = add i64 %125, 1 + store i64 %inc213, i64* %len, align 8 + %126 = load i64, i64* %len, align 8 + %127 = load i64, i64* %buffersize.addr, align 8 + %cmp216 = icmp ult i64 %126, %127 + br i1 %cmp216, label %if.then218, label %if.end220 + +if.then218: ; preds = %if.end212 + %128 = load i8*, i8** %buffer.addr, align 8 + %129 = load i64, i64* %len, align 8 + %arrayidx219 = getelementptr inbounds i8, i8* %128, i64 %129 + store i8 34, i8* %arrayidx219, align 1 + br label %if.end220 + +if.end220: ; preds = %if.then218, %if.end212 + %130 = load i64, i64* %len, align 8 + %inc221 = add i64 %130, 1 + store i64 %inc221, i64* %len, align 8 + %131 = load i64, i64* %len, align 8 + %132 = load i64, i64* %buffersize.addr, align 8 + %cmp224 = icmp ult i64 %131, %132 + br i1 %cmp224, label %if.then226, label %if.end228 + +if.then226: ; preds = %if.end220 + %133 = load i8*, i8** %buffer.addr, align 8 + %134 = load i64, i64* %len, align 8 + %arrayidx227 = getelementptr inbounds i8, i8* %133, i64 %134 + store i8 63, i8* %arrayidx227, align 1 + br label %if.end228 + +if.end228: ; preds = %if.then226, %if.end220 + %135 = load i64, i64* %len, align 8 + %inc229 = add i64 %135, 1 + store i64 %inc229, i64* %len, align 8 + br label %sw.epilog564 + +sw.bb236: ; preds = %NodeBlock228 + store i8 97, i8* %esc, align 1 + br label %c_escape + +sw.bb237: ; preds = %NodeBlock226 + store i8 98, i8* %esc, align 1 + br label %c_escape + +sw.bb238: ; preds = %NodeBlock224 + store i8 102, i8* %esc, align 1 + br label %c_escape + +sw.bb239: ; preds = %NodeBlock222 + store i8 110, i8* %esc, align 1 + br label %c_and_shell_escape + +sw.bb240: ; preds = %NodeBlock220 + store i8 114, i8* %esc, align 1 + br label %c_and_shell_escape + +sw.bb241: ; preds = %NodeBlock218 + store i8 116, i8* %esc, align 1 + br label %c_and_shell_escape + +sw.bb242: ; preds = %NodeBlock216 + store i8 118, i8* %esc, align 1 + br label %c_escape + +sw.bb243: ; preds = %NodeBlock214 + %136 = load i8, i8* %c, align 1 + store i8 %136, i8* %esc, align 1 + %137 = load i32, i32* %quoting_style.addr, align 4 + %cmp244 = icmp eq i32 %137, 2 + br i1 %cmp244, label %if.then246, label %if.end250 + +if.then246: ; preds = %sw.bb243 + %138 = load i8, i8* %elide_outer_quotes, align 1 + %tobool247 = trunc i8 %138 to i1 + br i1 %tobool247, label %force_outer_quoting_style, label %do.body634 + +if.end250: ; preds = %sw.bb243 + %139 = load i8, i8* %backslash_escapes, align 1 + %tobool251 = trunc i8 %139 to i1 + br i1 %tobool251, label %land.lhs.true253, label %c_and_shell_escape + +land.lhs.true253: ; preds = %if.end250 + %140 = load i8, i8* %elide_outer_quotes, align 1 + %tobool254 = trunc i8 %140 to i1 + %141 = load i64, i64* %quote_string_len, align 8 + %tobool257 = icmp ne i64 %141, 0 + %or.cond3 = and i1 %tobool254, %tobool257 + br i1 %or.cond3, label %do.body634, label %c_and_shell_escape + +c_and_shell_escape: ; preds = %if.end250, %land.lhs.true253, %sw.bb241, %sw.bb240, %sw.bb239 + %142 = load i32, i32* %quoting_style.addr, align 4 + %cmp260 = icmp eq i32 %142, 2 + br i1 %cmp260, label %land.lhs.true262, label %c_escape + +land.lhs.true262: ; preds = %c_and_shell_escape + %143 = load i8, i8* %elide_outer_quotes, align 1 + %tobool263 = trunc i8 %143 to i1 + br i1 %tobool263, label %force_outer_quoting_style, label %c_escape + +c_escape: ; preds = %c_and_shell_escape, %land.lhs.true262, %sw.bb242, %sw.bb238, %sw.bb237, %sw.bb236 + %144 = load i8, i8* %backslash_escapes, align 1 + %tobool267 = trunc i8 %144 to i1 + br i1 %tobool267, label %if.then268, label %sw.epilog564 + +if.then268: ; preds = %c_escape + %145 = load i8, i8* %esc, align 1 + store i8 %145, i8* %c, align 1 + br label %do.body586 + +sw.bb270: ; preds = %NodeBlock212, %NodeBlock210 + %146 = load i64, i64* %argsize.addr, align 8 + %cmp271 = icmp eq i64 %146, -1 + br i1 %cmp271, label %cond.true273, label %cond.false278 + +cond.true273: ; preds = %sw.bb270 + %147 = load i8*, i8** %arg.addr, align 8 + %arrayidx274 = getelementptr inbounds i8, i8* %147, i64 1 + %148 = load i8, i8* %arrayidx274, align 1 + %conv275 = sext i8 %148 to i32 + %cmp276 = icmp eq i32 %conv275, 0 + br i1 %cmp276, label %sw.bb283, label %sw.epilog564 + +cond.false278: ; preds = %sw.bb270 + %149 = load i64, i64* %argsize.addr, align 8 + %cmp279 = icmp eq i64 %149, 1 + br i1 %cmp279, label %sw.bb283, label %sw.epilog564 + +sw.bb283: ; preds = %NodeBlock208, %NodeBlock206, %cond.true273, %cond.false278 + %150 = load i64, i64* %i, align 8 + %cmp284 = icmp ne i64 %150, 0 + br i1 %cmp284, label %sw.epilog564, label %sw.bb288 + +sw.bb288: ; preds = %NodeBlock204, %sw.bb283 + store i8 1, i8* %c_and_shell_quote_compat, align 1 + br label %sw.bb289 + +sw.bb289: ; preds = %NodeBlock202, %NodeBlock200, %NodeBlock198, %NodeBlock196, %NodeBlock194, %NodeBlock192, %NodeBlock190, %NodeBlock188, %NodeBlock186, %NodeBlock184, %NodeBlock182, %NodeBlock180, %NodeBlock178, %NodeBlock176, %NodeBlock174, %sw.bb288 + %151 = load i32, i32* %quoting_style.addr, align 4 + %cmp290 = icmp eq i32 %151, 2 + br i1 %cmp290, label %land.lhs.true292, label %sw.epilog564 + +land.lhs.true292: ; preds = %sw.bb289 + %152 = load i8, i8* %elide_outer_quotes, align 1 + %tobool293 = trunc i8 %152 to i1 + br i1 %tobool293, label %force_outer_quoting_style, label %sw.epilog564 + +sw.bb297: ; preds = %NodeBlock172 + store i8 1, i8* %encountered_single_quote, align 1 + store i8 1, i8* %c_and_shell_quote_compat, align 1 + %153 = load i32, i32* %quoting_style.addr, align 4 + %cmp298 = icmp eq i32 %153, 2 + br i1 %cmp298, label %if.then300, label %sw.epilog564 + +if.then300: ; preds = %sw.bb297 + %154 = load i8, i8* %elide_outer_quotes, align 1 + %tobool301 = trunc i8 %154 to i1 + br i1 %tobool301, label %force_outer_quoting_style, label %if.end303 + +if.end303: ; preds = %if.then300 + %155 = load i64, i64* %buffersize.addr, align 8 + %tobool304 = icmp eq i64 %155, 0 + %156 = load i64, i64* %orig_buffersize, align 8 + %tobool306 = icmp ne i64 %156, 0 + %or.cond4 = or i1 %tobool304, %tobool306 + br i1 %or.cond4, label %do.body309, label %if.then307 + +if.then307: ; preds = %if.end303 + %157 = load i64, i64* %buffersize.addr, align 8 + store i64 %157, i64* %orig_buffersize, align 8 + store i64 0, i64* %buffersize.addr, align 8 + br label %do.body309 + +do.body309: ; preds = %if.then307, %if.end303 + %158 = load i64, i64* %len, align 8 + %159 = load i64, i64* %buffersize.addr, align 8 + %cmp310 = icmp ult i64 %158, %159 + br i1 %cmp310, label %if.then312, label %if.end314 + +if.then312: ; preds = %do.body309 + %160 = load i8*, i8** %buffer.addr, align 8 + %161 = load i64, i64* %len, align 8 + %arrayidx313 = getelementptr inbounds i8, i8* %160, i64 %161 + store i8 39, i8* %arrayidx313, align 1 + br label %if.end314 + +if.end314: ; preds = %if.then312, %do.body309 + %162 = load i64, i64* %len, align 8 + %inc315 = add i64 %162, 1 + store i64 %inc315, i64* %len, align 8 + %163 = load i64, i64* %len, align 8 + %164 = load i64, i64* %buffersize.addr, align 8 + %cmp318 = icmp ult i64 %163, %164 + br i1 %cmp318, label %if.then320, label %if.end322 + +if.then320: ; preds = %if.end314 + %165 = load i8*, i8** %buffer.addr, align 8 + %166 = load i64, i64* %len, align 8 + %arrayidx321 = getelementptr inbounds i8, i8* %165, i64 %166 + store i8 92, i8* %arrayidx321, align 1 + br label %if.end322 + +if.end322: ; preds = %if.then320, %if.end314 + %167 = load i64, i64* %len, align 8 + %inc323 = add i64 %167, 1 + store i64 %inc323, i64* %len, align 8 + %168 = load i64, i64* %len, align 8 + %169 = load i64, i64* %buffersize.addr, align 8 + %cmp326 = icmp ult i64 %168, %169 + br i1 %cmp326, label %if.then328, label %if.end330 + +if.then328: ; preds = %if.end322 + %170 = load i8*, i8** %buffer.addr, align 8 + %171 = load i64, i64* %len, align 8 + %arrayidx329 = getelementptr inbounds i8, i8* %170, i64 %171 + store i8 39, i8* %arrayidx329, align 1 + br label %if.end330 + +if.end330: ; preds = %if.then328, %if.end322 + %172 = load i64, i64* %len, align 8 + %inc331 = add i64 %172, 1 + store i64 %inc331, i64* %len, align 8 + store i8 0, i8* %pending_shell_escape_end, align 1 + br label %sw.epilog564 + +sw.bb334: ; preds = %NodeBlock170, %NodeBlock168, %NodeBlock166, %NodeBlock164, %NodeBlock162, %NodeBlock160, %NodeBlock158, %NodeBlock156, %NodeBlock154, %NodeBlock152, %NodeBlock150, %NodeBlock148, %NodeBlock146, %NodeBlock144, %NodeBlock142, %NodeBlock140, %NodeBlock138, %NodeBlock136, %NodeBlock134, %NodeBlock132, %NodeBlock130, %NodeBlock128, %NodeBlock126, %NodeBlock124, %NodeBlock122, %NodeBlock120, %NodeBlock118, %NodeBlock116, %NodeBlock114, %NodeBlock112, %NodeBlock110, %NodeBlock108, %NodeBlock106, %NodeBlock104, %NodeBlock102, %NodeBlock100, %NodeBlock98, %NodeBlock96, %NodeBlock94, %NodeBlock92, %NodeBlock90, %NodeBlock88, %NodeBlock86, %NodeBlock84, %NodeBlock82, %NodeBlock80, %NodeBlock78, %NodeBlock76, %NodeBlock74, %NodeBlock72, %NodeBlock70, %NodeBlock68, %NodeBlock66, %NodeBlock64, %NodeBlock62, %NodeBlock60, %NodeBlock58, %NodeBlock56, %NodeBlock54, %NodeBlock52, %NodeBlock50, %NodeBlock48, %NodeBlock46, %NodeBlock44, %NodeBlock42, %NodeBlock40, %NodeBlock38, %NodeBlock36, %NodeBlock34, %NodeBlock32, %NodeBlock30 + store i8 1, i8* %c_and_shell_quote_compat, align 1 + br label %sw.epilog564 + +newDefault29: ; preds = %NodeBlock30 + br label %sw.default335 + +sw.default335: ; preds = %newDefault29 + %173 = load i8, i8* %unibyte_locale, align 1 + %tobool336 = trunc i8 %173 to i1 + br i1 %tobool336, label %if.then337, label %if.else346 + +if.then337: ; preds = %sw.default335 + store i64 1, i64* %m, align 8 + %call338 = call i16** @__ctype_b_loc() #26 + %174 = load i16*, i16** %call338, align 8 + %175 = load i8, i8* %c, align 1 + %conv339 = zext i8 %175 to i32 + %idxprom = sext i32 %conv339 to i64 + %arrayidx340 = getelementptr inbounds i16, i16* %174, i64 %idxprom + %176 = load i16, i16* %arrayidx340, align 2 + %conv341 = zext i16 %176 to i32 + %and342 = and i32 %conv341, 16384 + %cmp343 = icmp ne i32 %and342, 0 + %frombool345 = zext i1 %cmp343 to i8 + store i8 %frombool345, i8* %printable, align 1 + br label %if.end410 + +if.else346: ; preds = %sw.default335 + %177 = bitcast %struct.__mbstate_t* %mbstate to i8* + %178 = call i8* @memset(i8* %177, i32 0, i64 8) + store i64 0, i64* %m, align 8 + store i8 1, i8* %printable, align 1 + %179 = load i64, i64* %argsize.addr, align 8 + %cmp347 = icmp eq i64 %179, -1 + br i1 %cmp347, label %if.then349, label %if.end351 + +if.then349: ; preds = %if.else346 + %180 = load i8*, i8** %arg.addr, align 8 + %call350 = call i64 @strlen(i8* %180) #24 + store i64 %call350, i64* %argsize.addr, align 8 + br label %if.end351 + +if.end351: ; preds = %if.then349, %if.else346 + br label %do.body352 + +do.body352: ; preds = %if.end401, %if.end351 + %181 = load i8*, i8** %arg.addr, align 8 + %182 = load i64, i64* %i, align 8 + %183 = load i64, i64* %m, align 8 + %add353 = add i64 %182, %183 + %arrayidx354 = getelementptr inbounds i8, i8* %181, i64 %add353 + %184 = load i64, i64* %argsize.addr, align 8 + %185 = load i64, i64* %i, align 8 + %186 = load i64, i64* %m, align 8 + %add355 = add i64 %185, %186 + %sub = sub i64 %184, %add355 + %call356 = call i64 @rpl_mbrtowc(i32* %w, i8* %arrayidx354, i64 %sub, %struct.__mbstate_t* %mbstate) + store i64 %call356, i64* %bytes, align 8 + %187 = load i64, i64* %bytes, align 8 + %cmp357 = icmp eq i64 %187, 0 + br i1 %cmp357, label %if.end410, label %if.else360 + +if.else360: ; preds = %do.body352 + %188 = load i64, i64* %bytes, align 8 + %cmp361 = icmp eq i64 %188, -1 + br i1 %cmp361, label %if.then363, label %if.else364 + +if.then363: ; preds = %if.else360 + store i8 0, i8* %printable, align 1 + br label %if.end410 + +if.else364: ; preds = %if.else360 + %189 = load i64, i64* %bytes, align 8 + %cmp365 = icmp eq i64 %189, -2 + br i1 %cmp365, label %if.then367, label %if.else376 + +if.then367: ; preds = %if.else364 + store i8 0, i8* %printable, align 1 + br label %while.cond + +while.cond: ; preds = %while.body, %if.then367 + %190 = load i64, i64* %i, align 8 + %191 = load i64, i64* %m, align 8 + %add368 = add i64 %190, %191 + %192 = load i64, i64* %argsize.addr, align 8 + %cmp369 = icmp ult i64 %add368, %192 + br i1 %cmp369, label %land.rhs, label %if.end410 + +land.rhs: ; preds = %while.cond + %193 = load i8*, i8** %arg.addr, align 8 + %194 = load i64, i64* %i, align 8 + %195 = load i64, i64* %m, align 8 + %add371 = add i64 %194, %195 + %arrayidx372 = getelementptr inbounds i8, i8* %193, i64 %add371 + %196 = load i8, i8* %arrayidx372, align 1 + %conv373 = sext i8 %196 to i32 + %tobool374 = icmp ne i32 %conv373, 0 + br i1 %tobool374, label %while.body, label %if.end410 + +while.body: ; preds = %land.rhs + %197 = load i64, i64* %m, align 8 + %inc375 = add i64 %197, 1 + store i64 %inc375, i64* %m, align 8 + br label %while.cond + +if.else376: ; preds = %if.else364 + %198 = load i8, i8* %elide_outer_quotes, align 1 + %tobool377 = trunc i8 %198 to i1 + %199 = load i32, i32* %quoting_style.addr, align 4 + %cmp380 = icmp eq i32 %199, 2 + %or.cond5 = and i1 %tobool377, %cmp380 + br i1 %or.cond5, label %if.then382, label %if.end397 + +if.then382: ; preds = %if.else376 + store i64 1, i64* %j, align 8 + br label %for.cond383 + +for.cond383: ; preds = %for.inc394, %if.then382 + %200 = load i64, i64* %j, align 8 + %201 = load i64, i64* %bytes, align 8 + %cmp384 = icmp ult i64 %200, %201 + br i1 %cmp384, label %for.body386, label %if.end397 + +for.body386: ; preds = %for.cond383 + %202 = load i8*, i8** %arg.addr, align 8 + %203 = load i64, i64* %i, align 8 + %204 = load i64, i64* %m, align 8 + %add387 = add i64 %203, %204 + %205 = load i64, i64* %j, align 8 + %add388 = add i64 %add387, %205 + %arrayidx389 = getelementptr inbounds i8, i8* %202, i64 %add388 + %206 = load i8, i8* %arrayidx389, align 1 + %conv390 = sext i8 %206 to i32 + br label %NodeBlock267 + +NodeBlock267: ; preds = %for.body386 + %case.cmp268 = icmp eq i32 %conv390, 91 + br i1 %case.cmp268, label %force_outer_quoting_style, label %NodeBlock265 + +NodeBlock265: ; preds = %NodeBlock267 + %case.cmp266 = icmp eq i32 %conv390, 92 + br i1 %case.cmp266, label %force_outer_quoting_style, label %NodeBlock263 + +NodeBlock263: ; preds = %NodeBlock265 + %case.cmp264 = icmp eq i32 %conv390, 94 + br i1 %case.cmp264, label %force_outer_quoting_style, label %NodeBlock261 + +NodeBlock261: ; preds = %NodeBlock263 + %case.cmp262 = icmp eq i32 %conv390, 96 + br i1 %case.cmp262, label %force_outer_quoting_style, label %NodeBlock259 + +NodeBlock259: ; preds = %NodeBlock261 + %case.cmp260 = icmp eq i32 %conv390, 124 + br i1 %case.cmp260, label %force_outer_quoting_style, label %newDefault258 + +newDefault258: ; preds = %NodeBlock259 + br label %for.inc394 + +for.inc394: ; preds = %newDefault258 + %207 = load i64, i64* %j, align 8 + %inc395 = add i64 %207, 1 + store i64 %inc395, i64* %j, align 8 + br label %for.cond383 + +if.end397: ; preds = %for.cond383, %if.else376 + %208 = load i32, i32* %w, align 4 + %call398 = call i32 @iswprint(i32 %208) #11 + %tobool399 = icmp ne i32 %call398, 0 + br i1 %tobool399, label %if.end401, label %if.then400 + +if.then400: ; preds = %if.end397 + store i8 0, i8* %printable, align 1 + br label %if.end401 + +if.end401: ; preds = %if.then400, %if.end397 + %209 = load i64, i64* %bytes, align 8 + %210 = load i64, i64* %m, align 8 + %add402 = add i64 %210, %209 + store i64 %add402, i64* %m, align 8 + %call406 = call i32 bitcast (i32 (%struct.__mbstate_t.514*)* @mbsinit to i32 (%struct.__mbstate_t*)*)(%struct.__mbstate_t* %mbstate) #24 + %tobool407 = icmp ne i32 %call406, 0 + %lnot408 = xor i1 %tobool407, true + br i1 %lnot408, label %do.body352, label %if.end410 + +if.end410: ; preds = %if.then363, %if.end401, %do.body352, %while.cond, %land.rhs, %if.then337 + %211 = load i8, i8* %printable, align 1 + %tobool411 = trunc i8 %211 to i1 + %frombool412 = zext i1 %tobool411 to i8 + store i8 %frombool412, i8* %c_and_shell_quote_compat, align 1 + %212 = load i64, i64* %m, align 8 + %cmp413 = icmp ult i64 1, %212 + br i1 %cmp413, label %if.then419, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end410 + %213 = load i8, i8* %backslash_escapes, align 1 + %tobool415 = trunc i8 %213 to i1 + br i1 %tobool415, label %land.lhs.true417, label %sw.epilog564 + +land.lhs.true417: ; preds = %lor.lhs.false + %214 = load i8, i8* %printable, align 1 + %tobool418 = trunc i8 %214 to i1 + br i1 %tobool418, label %sw.epilog564, label %if.then419 + +if.then419: ; preds = %land.lhs.true417, %if.end410 + %215 = load i64, i64* %i, align 8 + %216 = load i64, i64* %m, align 8 + %add420 = add i64 %215, %216 + store i64 %add420, i64* %ilim, align 8 + br label %for.cond421 + +for.cond421: ; preds = %if.end556, %if.then419 + %217 = load i8, i8* %backslash_escapes, align 1 + %tobool422 = trunc i8 %217 to i1 + br i1 %tobool422, label %land.lhs.true424, label %if.else505 + +land.lhs.true424: ; preds = %for.cond421 + %218 = load i8, i8* %printable, align 1 + %tobool425 = trunc i8 %218 to i1 + br i1 %tobool425, label %if.else505, label %do.body427 + +do.body427: ; preds = %land.lhs.true424 + %219 = load i8, i8* %elide_outer_quotes, align 1 + %tobool428 = trunc i8 %219 to i1 + br i1 %tobool428, label %force_outer_quoting_style, label %if.end430 + +if.end430: ; preds = %do.body427 + store i8 1, i8* %escaping, align 1 + %220 = load i32, i32* %quoting_style.addr, align 4 + %cmp431 = icmp eq i32 %220, 2 + br i1 %cmp431, label %land.lhs.true433, label %do.body464 + +land.lhs.true433: ; preds = %if.end430 + %221 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool434 = trunc i8 %221 to i1 + br i1 %tobool434, label %do.body464, label %do.body436 + +do.body436: ; preds = %land.lhs.true433 + %222 = load i64, i64* %len, align 8 + %223 = load i64, i64* %buffersize.addr, align 8 + %cmp437 = icmp ult i64 %222, %223 + br i1 %cmp437, label %if.then439, label %if.end441 + +if.then439: ; preds = %do.body436 + %224 = load i8*, i8** %buffer.addr, align 8 + %225 = load i64, i64* %len, align 8 + %arrayidx440 = getelementptr inbounds i8, i8* %224, i64 %225 + store i8 39, i8* %arrayidx440, align 1 + br label %if.end441 + +if.end441: ; preds = %if.then439, %do.body436 + %226 = load i64, i64* %len, align 8 + %inc442 = add i64 %226, 1 + store i64 %inc442, i64* %len, align 8 + %227 = load i64, i64* %len, align 8 + %228 = load i64, i64* %buffersize.addr, align 8 + %cmp446 = icmp ult i64 %227, %228 + br i1 %cmp446, label %if.then448, label %if.end450 + +if.then448: ; preds = %if.end441 + %229 = load i8*, i8** %buffer.addr, align 8 + %230 = load i64, i64* %len, align 8 + %arrayidx449 = getelementptr inbounds i8, i8* %229, i64 %230 + store i8 36, i8* %arrayidx449, align 1 + br label %if.end450 + +if.end450: ; preds = %if.then448, %if.end441 + %231 = load i64, i64* %len, align 8 + %inc451 = add i64 %231, 1 + store i64 %inc451, i64* %len, align 8 + %232 = load i64, i64* %len, align 8 + %233 = load i64, i64* %buffersize.addr, align 8 + %cmp455 = icmp ult i64 %232, %233 + br i1 %cmp455, label %if.then457, label %if.end459 + +if.then457: ; preds = %if.end450 + %234 = load i8*, i8** %buffer.addr, align 8 + %235 = load i64, i64* %len, align 8 + %arrayidx458 = getelementptr inbounds i8, i8* %234, i64 %235 + store i8 39, i8* %arrayidx458, align 1 + br label %if.end459 + +if.end459: ; preds = %if.then457, %if.end450 + %236 = load i64, i64* %len, align 8 + %inc460 = add i64 %236, 1 + store i64 %inc460, i64* %len, align 8 + store i8 1, i8* %pending_shell_escape_end, align 1 + br label %do.body464 + +do.body464: ; preds = %if.end430, %land.lhs.true433, %if.end459 + %237 = load i64, i64* %len, align 8 + %238 = load i64, i64* %buffersize.addr, align 8 + %cmp465 = icmp ult i64 %237, %238 + br i1 %cmp465, label %if.then467, label %if.end469 + +if.then467: ; preds = %do.body464 + %239 = load i8*, i8** %buffer.addr, align 8 + %240 = load i64, i64* %len, align 8 + %arrayidx468 = getelementptr inbounds i8, i8* %239, i64 %240 + store i8 92, i8* %arrayidx468, align 1 + br label %if.end469 + +if.end469: ; preds = %if.then467, %do.body464 + %241 = load i64, i64* %len, align 8 + %inc470 = add i64 %241, 1 + store i64 %inc470, i64* %len, align 8 + %242 = load i64, i64* %len, align 8 + %243 = load i64, i64* %buffersize.addr, align 8 + %cmp476 = icmp ult i64 %242, %243 + br i1 %cmp476, label %if.then478, label %if.end483 + +if.then478: ; preds = %if.end469 + %244 = load i8, i8* %c, align 1 + %conv479 = zext i8 %244 to i32 + %shr = ashr i32 %conv479, 6 + %add480 = add nsw i32 48, %shr + %conv481 = trunc i32 %add480 to i8 + %245 = load i8*, i8** %buffer.addr, align 8 + %246 = load i64, i64* %len, align 8 + %arrayidx482 = getelementptr inbounds i8, i8* %245, i64 %246 + store i8 %conv481, i8* %arrayidx482, align 1 + br label %if.end483 + +if.end483: ; preds = %if.then478, %if.end469 + %247 = load i64, i64* %len, align 8 + %inc484 = add i64 %247, 1 + store i64 %inc484, i64* %len, align 8 + %248 = load i64, i64* %len, align 8 + %249 = load i64, i64* %buffersize.addr, align 8 + %cmp488 = icmp ult i64 %248, %249 + br i1 %cmp488, label %if.then490, label %if.end497 + +if.then490: ; preds = %if.end483 + %250 = load i8, i8* %c, align 1 + %conv491 = zext i8 %250 to i32 + %shr492 = ashr i32 %conv491, 3 + %and493 = and i32 %shr492, 7 + %add494 = add nsw i32 48, %and493 + %conv495 = trunc i32 %add494 to i8 + %251 = load i8*, i8** %buffer.addr, align 8 + %252 = load i64, i64* %len, align 8 + %arrayidx496 = getelementptr inbounds i8, i8* %251, i64 %252 + store i8 %conv495, i8* %arrayidx496, align 1 + br label %if.end497 + +if.end497: ; preds = %if.then490, %if.end483 + %253 = load i64, i64* %len, align 8 + %inc498 = add i64 %253, 1 + store i64 %inc498, i64* %len, align 8 + %254 = load i8, i8* %c, align 1 + %conv501 = zext i8 %254 to i32 + %and502 = and i32 %conv501, 7 + %add503 = add nsw i32 48, %and502 + %conv504 = trunc i32 %add503 to i8 + store i8 %conv504, i8* %c, align 1 + br label %if.end518 + +if.else505: ; preds = %land.lhs.true424, %for.cond421 + %255 = load i8, i8* %is_right_quote, align 1 + %tobool506 = trunc i8 %255 to i1 + br i1 %tobool506, label %do.body508, label %if.end518 + +do.body508: ; preds = %if.else505 + %256 = load i64, i64* %len, align 8 + %257 = load i64, i64* %buffersize.addr, align 8 + %cmp509 = icmp ult i64 %256, %257 + br i1 %cmp509, label %if.then511, label %if.end513 + +if.then511: ; preds = %do.body508 + %258 = load i8*, i8** %buffer.addr, align 8 + %259 = load i64, i64* %len, align 8 + %arrayidx512 = getelementptr inbounds i8, i8* %258, i64 %259 + store i8 92, i8* %arrayidx512, align 1 + br label %if.end513 + +if.end513: ; preds = %if.then511, %do.body508 + %260 = load i64, i64* %len, align 8 + %inc514 = add i64 %260, 1 + store i64 %inc514, i64* %len, align 8 + store i8 0, i8* %is_right_quote, align 1 + br label %if.end518 + +if.end518: ; preds = %if.else505, %if.end513, %if.end497 + %261 = load i64, i64* %ilim, align 8 + %262 = load i64, i64* %i, align 8 + %add519 = add i64 %262, 1 + %cmp520 = icmp ule i64 %261, %add519 + br i1 %cmp520, label %do.body634, label %do.body524 + +do.body524: ; preds = %if.end518 + %263 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool525 = trunc i8 %263 to i1 + br i1 %tobool525, label %land.lhs.true527, label %do.body551 + +land.lhs.true527: ; preds = %do.body524 + %264 = load i8, i8* %escaping, align 1 + %tobool528 = trunc i8 %264 to i1 + br i1 %tobool528, label %do.body551, label %do.body530 + +do.body530: ; preds = %land.lhs.true527 + %265 = load i64, i64* %len, align 8 + %266 = load i64, i64* %buffersize.addr, align 8 + %cmp531 = icmp ult i64 %265, %266 + br i1 %cmp531, label %if.then533, label %if.end535 + +if.then533: ; preds = %do.body530 + %267 = load i8*, i8** %buffer.addr, align 8 + %268 = load i64, i64* %len, align 8 + %arrayidx534 = getelementptr inbounds i8, i8* %267, i64 %268 + store i8 39, i8* %arrayidx534, align 1 + br label %if.end535 + +if.end535: ; preds = %if.then533, %do.body530 + %269 = load i64, i64* %len, align 8 + %inc536 = add i64 %269, 1 + store i64 %inc536, i64* %len, align 8 + %270 = load i64, i64* %len, align 8 + %271 = load i64, i64* %buffersize.addr, align 8 + %cmp540 = icmp ult i64 %270, %271 + br i1 %cmp540, label %if.then542, label %if.end544 + +if.then542: ; preds = %if.end535 + %272 = load i8*, i8** %buffer.addr, align 8 + %273 = load i64, i64* %len, align 8 + %arrayidx543 = getelementptr inbounds i8, i8* %272, i64 %273 + store i8 39, i8* %arrayidx543, align 1 + br label %if.end544 + +if.end544: ; preds = %if.then542, %if.end535 + %274 = load i64, i64* %len, align 8 + %inc545 = add i64 %274, 1 + store i64 %inc545, i64* %len, align 8 + store i8 0, i8* %pending_shell_escape_end, align 1 + br label %do.body551 + +do.body551: ; preds = %if.end544, %land.lhs.true527, %do.body524 + %275 = load i64, i64* %len, align 8 + %276 = load i64, i64* %buffersize.addr, align 8 + %cmp552 = icmp ult i64 %275, %276 + br i1 %cmp552, label %if.then554, label %if.end556 + +if.then554: ; preds = %do.body551 + %277 = load i8, i8* %c, align 1 + %278 = load i8*, i8** %buffer.addr, align 8 + %279 = load i64, i64* %len, align 8 + %arrayidx555 = getelementptr inbounds i8, i8* %278, i64 %279 + store i8 %277, i8* %arrayidx555, align 1 + br label %if.end556 + +if.end556: ; preds = %if.then554, %do.body551 + %280 = load i64, i64* %len, align 8 + %inc557 = add i64 %280, 1 + store i64 %inc557, i64* %len, align 8 + %281 = load i8*, i8** %arg.addr, align 8 + %282 = load i64, i64* %i, align 8 + %inc560 = add i64 %282, 1 + store i64 %inc560, i64* %i, align 8 + %arrayidx561 = getelementptr inbounds i8, i8* %281, i64 %inc560 + %283 = load i8, i8* %arrayidx561, align 1 + store i8 %283, i8* %c, align 1 + br label %for.cond421 + +newDefault234: ; preds = %NodeBlock235 + br label %sw.epilog564 + +newDefault239: ; preds = %NodeBlock240 + br label %sw.epilog564 + +sw.epilog564: ; preds = %newDefault239, %newDefault234, %lor.lhs.false, %land.lhs.true417, %sw.bb297, %if.end330, %sw.bb289, %land.lhs.true292, %sw.bb283, %cond.true273, %cond.false278, %c_escape, %sw.bb171, %if.end228, %land.lhs.true182, %land.lhs.true178, %sw.bb175, %if.end164, %if.else, %sw.bb334 + %284 = load i8, i8* %backslash_escapes, align 1 + %tobool565 = trunc i8 %284 to i1 + %285 = load i32, i32* %quoting_style.addr, align 4 + %cmp568 = icmp ne i32 %285, 2 + %or.cond6 = and i1 %tobool565, %cmp568 + br i1 %or.cond6, label %land.lhs.true573, label %lor.lhs.false570 + +lor.lhs.false570: ; preds = %sw.epilog564 + %286 = load i8, i8* %elide_outer_quotes, align 1 + %tobool571 = trunc i8 %286 to i1 + br i1 %tobool571, label %land.lhs.true573, label %land.lhs.true582 + +land.lhs.true573: ; preds = %sw.epilog564, %lor.lhs.false570 + %287 = load i32*, i32** %quote_these_too.addr, align 8 + %tobool574 = icmp ne i32* %287, null + br i1 %tobool574, label %land.lhs.true575, label %land.lhs.true582 + +land.lhs.true575: ; preds = %land.lhs.true573 + %288 = load i32*, i32** %quote_these_too.addr, align 8 + %289 = load i8, i8* %c, align 1 + %conv576 = zext i8 %289 to i64 + %div = udiv i64 %conv576, 32 + %arrayidx577 = getelementptr inbounds i32, i32* %288, i64 %div + %290 = load i32, i32* %arrayidx577, align 4 + %291 = load i8, i8* %c, align 1 + %conv578 = zext i8 %291 to i64 + %rem = urem i64 %conv578, 32 + %sh_prom = trunc i64 %rem to i32 + %shr579 = lshr i32 %290, %sh_prom + %and580 = and i32 %shr579, 1 + %tobool581 = icmp ne i32 %and580, 0 + br i1 %tobool581, label %do.body586, label %land.lhs.true582 + +land.lhs.true582: ; preds = %land.lhs.true575, %land.lhs.true573, %lor.lhs.false570 + %292 = load i8, i8* %is_right_quote, align 1 + %tobool583 = trunc i8 %292 to i1 + br i1 %tobool583, label %do.body586, label %do.body634 + +do.body586: ; preds = %if.then268, %land.lhs.true582, %land.lhs.true575 + %293 = load i8, i8* %elide_outer_quotes, align 1 + %tobool587 = trunc i8 %293 to i1 + br i1 %tobool587, label %force_outer_quoting_style, label %if.end589 + +if.end589: ; preds = %do.body586 + store i8 1, i8* %escaping, align 1 + %294 = load i32, i32* %quoting_style.addr, align 4 + %cmp590 = icmp eq i32 %294, 2 + br i1 %cmp590, label %land.lhs.true592, label %do.body623 + +land.lhs.true592: ; preds = %if.end589 + %295 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool593 = trunc i8 %295 to i1 + br i1 %tobool593, label %do.body623, label %do.body595 + +do.body595: ; preds = %land.lhs.true592 + %296 = load i64, i64* %len, align 8 + %297 = load i64, i64* %buffersize.addr, align 8 + %cmp596 = icmp ult i64 %296, %297 + br i1 %cmp596, label %if.then598, label %if.end600 + +if.then598: ; preds = %do.body595 + %298 = load i8*, i8** %buffer.addr, align 8 + %299 = load i64, i64* %len, align 8 + %arrayidx599 = getelementptr inbounds i8, i8* %298, i64 %299 + store i8 39, i8* %arrayidx599, align 1 + br label %if.end600 + +if.end600: ; preds = %if.then598, %do.body595 + %300 = load i64, i64* %len, align 8 + %inc601 = add i64 %300, 1 + store i64 %inc601, i64* %len, align 8 + %301 = load i64, i64* %len, align 8 + %302 = load i64, i64* %buffersize.addr, align 8 + %cmp605 = icmp ult i64 %301, %302 + br i1 %cmp605, label %if.then607, label %if.end609 + +if.then607: ; preds = %if.end600 + %303 = load i8*, i8** %buffer.addr, align 8 + %304 = load i64, i64* %len, align 8 + %arrayidx608 = getelementptr inbounds i8, i8* %303, i64 %304 + store i8 36, i8* %arrayidx608, align 1 + br label %if.end609 + +if.end609: ; preds = %if.then607, %if.end600 + %305 = load i64, i64* %len, align 8 + %inc610 = add i64 %305, 1 + store i64 %inc610, i64* %len, align 8 + %306 = load i64, i64* %len, align 8 + %307 = load i64, i64* %buffersize.addr, align 8 + %cmp614 = icmp ult i64 %306, %307 + br i1 %cmp614, label %if.then616, label %if.end618 + +if.then616: ; preds = %if.end609 + %308 = load i8*, i8** %buffer.addr, align 8 + %309 = load i64, i64* %len, align 8 + %arrayidx617 = getelementptr inbounds i8, i8* %308, i64 %309 + store i8 39, i8* %arrayidx617, align 1 + br label %if.end618 + +if.end618: ; preds = %if.then616, %if.end609 + %310 = load i64, i64* %len, align 8 + %inc619 = add i64 %310, 1 + store i64 %inc619, i64* %len, align 8 + store i8 1, i8* %pending_shell_escape_end, align 1 + br label %do.body623 + +do.body623: ; preds = %if.end589, %land.lhs.true592, %if.end618 + %311 = load i64, i64* %len, align 8 + %312 = load i64, i64* %buffersize.addr, align 8 + %cmp624 = icmp ult i64 %311, %312 + br i1 %cmp624, label %if.then626, label %if.end628 + +if.then626: ; preds = %do.body623 + %313 = load i8*, i8** %buffer.addr, align 8 + %314 = load i64, i64* %len, align 8 + %arrayidx627 = getelementptr inbounds i8, i8* %313, i64 %314 + store i8 92, i8* %arrayidx627, align 1 + br label %if.end628 + +if.end628: ; preds = %if.then626, %do.body623 + %315 = load i64, i64* %len, align 8 + %inc629 = add i64 %315, 1 + store i64 %inc629, i64* %len, align 8 + br label %do.body634 + +do.body634: ; preds = %if.end628, %if.then246, %land.lhs.true253, %if.end518, %land.lhs.true582 + %316 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool635 = trunc i8 %316 to i1 + br i1 %tobool635, label %land.lhs.true637, label %do.body661 + +land.lhs.true637: ; preds = %do.body634 + %317 = load i8, i8* %escaping, align 1 + %tobool638 = trunc i8 %317 to i1 + br i1 %tobool638, label %do.body661, label %do.body640 + +do.body640: ; preds = %land.lhs.true637 + %318 = load i64, i64* %len, align 8 + %319 = load i64, i64* %buffersize.addr, align 8 + %cmp641 = icmp ult i64 %318, %319 + br i1 %cmp641, label %if.then643, label %if.end645 + +if.then643: ; preds = %do.body640 + %320 = load i8*, i8** %buffer.addr, align 8 + %321 = load i64, i64* %len, align 8 + %arrayidx644 = getelementptr inbounds i8, i8* %320, i64 %321 + store i8 39, i8* %arrayidx644, align 1 + br label %if.end645 + +if.end645: ; preds = %if.then643, %do.body640 + %322 = load i64, i64* %len, align 8 + %inc646 = add i64 %322, 1 + store i64 %inc646, i64* %len, align 8 + %323 = load i64, i64* %len, align 8 + %324 = load i64, i64* %buffersize.addr, align 8 + %cmp650 = icmp ult i64 %323, %324 + br i1 %cmp650, label %if.then652, label %if.end654 + +if.then652: ; preds = %if.end645 + %325 = load i8*, i8** %buffer.addr, align 8 + %326 = load i64, i64* %len, align 8 + %arrayidx653 = getelementptr inbounds i8, i8* %325, i64 %326 + store i8 39, i8* %arrayidx653, align 1 + br label %if.end654 + +if.end654: ; preds = %if.then652, %if.end645 + %327 = load i64, i64* %len, align 8 + %inc655 = add i64 %327, 1 + store i64 %inc655, i64* %len, align 8 + store i8 0, i8* %pending_shell_escape_end, align 1 + br label %do.body661 + +do.body661: ; preds = %if.end654, %land.lhs.true637, %do.body634 + %328 = load i64, i64* %len, align 8 + %329 = load i64, i64* %buffersize.addr, align 8 + %cmp662 = icmp ult i64 %328, %329 + br i1 %cmp662, label %if.then664, label %if.end666 + +if.then664: ; preds = %do.body661 + %330 = load i8, i8* %c, align 1 + %331 = load i8*, i8** %buffer.addr, align 8 + %332 = load i64, i64* %len, align 8 + %arrayidx665 = getelementptr inbounds i8, i8* %331, i64 %332 + store i8 %330, i8* %arrayidx665, align 1 + br label %if.end666 + +if.end666: ; preds = %if.then664, %do.body661 + %333 = load i64, i64* %len, align 8 + %inc667 = add i64 %333, 1 + store i64 %inc667, i64* %len, align 8 + %334 = load i8, i8* %c_and_shell_quote_compat, align 1 + %tobool670 = trunc i8 %334 to i1 + br i1 %tobool670, label %for.inc673, label %if.then671 + +if.then671: ; preds = %if.end666 + store i8 0, i8* %all_c_and_shell_quote_compat, align 1 + br label %for.inc673 + +for.inc673: ; preds = %if.end666, %if.then671, %if.else + %335 = load i64, i64* %i, align 8 + %inc674 = add i64 %335, 1 + store i64 %inc674, i64* %i, align 8 + br label %for.cond44 + +for.end675: ; preds = %cond.end + %336 = load i64, i64* %len, align 8 + %cmp676 = icmp eq i64 %336, 0 + %337 = load i32, i32* %quoting_style.addr, align 4 + %cmp679 = icmp eq i32 %337, 2 + %or.cond7 = and i1 %cmp676, %cmp679 + br i1 %or.cond7, label %land.lhs.true681, label %if.end685 + +land.lhs.true681: ; preds = %for.end675 + %338 = load i8, i8* %elide_outer_quotes, align 1 + %tobool682 = trunc i8 %338 to i1 + br i1 %tobool682, label %force_outer_quoting_style, label %if.end685 + +if.end685: ; preds = %land.lhs.true681, %for.end675 + %339 = load i32, i32* %quoting_style.addr, align 4 + %cmp686 = icmp eq i32 %339, 2 + br i1 %cmp686, label %land.lhs.true688, label %if.end704 + +land.lhs.true688: ; preds = %if.end685 + %340 = load i8, i8* %elide_outer_quotes, align 1 + %tobool689 = trunc i8 %340 to i1 + br i1 %tobool689, label %if.end704, label %land.lhs.true690 + +land.lhs.true690: ; preds = %land.lhs.true688 + %341 = load i8, i8* %encountered_single_quote, align 1 + %tobool691 = trunc i8 %341 to i1 + br i1 %tobool691, label %if.then693, label %if.end704 + +if.then693: ; preds = %land.lhs.true690 + %342 = load i8, i8* %all_c_and_shell_quote_compat, align 1 + %tobool694 = trunc i8 %342 to i1 + br i1 %tobool694, label %if.then695, label %if.else697 + +if.then695: ; preds = %if.then693 + %343 = load i8*, i8** %buffer.addr, align 8 + %344 = load i64, i64* %orig_buffersize, align 8 + %345 = load i8*, i8** %arg.addr, align 8 + %346 = load i64, i64* %argsize.addr, align 8 + %347 = load i32, i32* %flags.addr, align 4 + %348 = load i32*, i32** %quote_these_too.addr, align 8 + %349 = load i8*, i8** %left_quote.addr, align 8 + %350 = load i8*, i8** %right_quote.addr, align 8 + %call696 = call i64 @quotearg_buffer_restyled(i8* %343, i64 %344, i8* %345, i64 %346, i32 5, i32 %347, i32* %348, i8* %349, i8* %350) + store i64 %call696, i64* %retval, align 8 + br label %return + +if.else697: ; preds = %if.then693 + %351 = load i64, i64* %buffersize.addr, align 8 + %tobool698 = icmp eq i64 %351, 0 + %352 = load i64, i64* %orig_buffersize, align 8 + %tobool700 = icmp ne i64 %352, 0 + %or.cond8 = and i1 %tobool698, %tobool700 + br i1 %or.cond8, label %if.then701, label %if.end704 + +if.then701: ; preds = %if.else697 + %353 = load i64, i64* %orig_buffersize, align 8 + store i64 %353, i64* %buffersize.addr, align 8 + store i64 0, i64* %len, align 8 + br label %process_input + +if.end704: ; preds = %if.else697, %land.lhs.true690, %land.lhs.true688, %if.end685 + %354 = load i8*, i8** %quote_string, align 8 + %tobool705 = icmp ne i8* %354, null + br i1 %tobool705, label %land.lhs.true706, label %if.end724 + +land.lhs.true706: ; preds = %if.end704 + %355 = load i8, i8* %elide_outer_quotes, align 1 + %tobool707 = trunc i8 %355 to i1 + br i1 %tobool707, label %if.end724, label %for.cond709 + +for.cond709: ; preds = %land.lhs.true706, %if.end717 + %356 = load i8*, i8** %quote_string, align 8 + %357 = load i8, i8* %356, align 1 + %tobool710 = icmp ne i8 %357, 0 + br i1 %tobool710, label %do.body712, label %if.end724 + +do.body712: ; preds = %for.cond709 + %358 = load i64, i64* %len, align 8 + %359 = load i64, i64* %buffersize.addr, align 8 + %cmp713 = icmp ult i64 %358, %359 + br i1 %cmp713, label %if.then715, label %if.end717 + +if.then715: ; preds = %do.body712 + %360 = load i8*, i8** %quote_string, align 8 + %361 = load i8, i8* %360, align 1 + %362 = load i8*, i8** %buffer.addr, align 8 + %363 = load i64, i64* %len, align 8 + %arrayidx716 = getelementptr inbounds i8, i8* %362, i64 %363 + store i8 %361, i8* %arrayidx716, align 1 + br label %if.end717 + +if.end717: ; preds = %if.then715, %do.body712 + %364 = load i64, i64* %len, align 8 + %inc718 = add i64 %364, 1 + store i64 %inc718, i64* %len, align 8 + %365 = load i8*, i8** %quote_string, align 8 + %incdec.ptr722 = getelementptr inbounds i8, i8* %365, i32 1 + store i8* %incdec.ptr722, i8** %quote_string, align 8 + br label %for.cond709 + +if.end724: ; preds = %for.cond709, %land.lhs.true706, %if.end704 + %366 = load i64, i64* %len, align 8 + %367 = load i64, i64* %buffersize.addr, align 8 + %cmp725 = icmp ult i64 %366, %367 + br i1 %cmp725, label %if.then727, label %if.end729 + +if.then727: ; preds = %if.end724 + %368 = load i8*, i8** %buffer.addr, align 8 + %369 = load i64, i64* %len, align 8 + %arrayidx728 = getelementptr inbounds i8, i8* %368, i64 %369 + store i8 0, i8* %arrayidx728, align 1 + br label %if.end729 + +if.end729: ; preds = %if.then727, %if.end724 + %370 = load i64, i64* %len, align 8 + store i64 %370, i64* %retval, align 8 + br label %return + +force_outer_quoting_style: ; preds = %NodeBlock267, %NodeBlock265, %NodeBlock263, %NodeBlock261, %NodeBlock259, %land.lhs.true681, %do.body586, %do.body427, %if.then300, %land.lhs.true292, %land.lhs.true262, %if.then246, %sw.bb192, %sw.bb171, %do.body86, %if.then76 + %371 = load i32, i32* %quoting_style.addr, align 4 + %cmp730 = icmp eq i32 %371, 2 + br i1 %cmp730, label %land.lhs.true732, label %if.end736 + +land.lhs.true732: ; preds = %force_outer_quoting_style + %372 = load i8, i8* %backslash_escapes, align 1 + %tobool733 = trunc i8 %372 to i1 + br i1 %tobool733, label %if.then735, label %if.end736 + +if.then735: ; preds = %land.lhs.true732 + store i32 4, i32* %quoting_style.addr, align 4 + br label %if.end736 + +if.end736: ; preds = %if.then735, %land.lhs.true732, %force_outer_quoting_style + %373 = load i8*, i8** %buffer.addr, align 8 + %374 = load i64, i64* %buffersize.addr, align 8 + %375 = load i8*, i8** %arg.addr, align 8 + %376 = load i64, i64* %argsize.addr, align 8 + %377 = load i32, i32* %quoting_style.addr, align 4 + %378 = load i32, i32* %flags.addr, align 4 + %and737 = and i32 %378, -3 + %379 = load i8*, i8** %left_quote.addr, align 8 + %380 = load i8*, i8** %right_quote.addr, align 8 + %call738 = call i64 @quotearg_buffer_restyled(i8* %373, i64 %374, i8* %375, i64 %376, i32 %377, i32 %and737, i32* null, i8* %379, i8* %380) + store i64 %call738, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end736, %if.end729, %if.then695 + %381 = load i64, i64* %retval, align 8 + ret i64 %381 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xcharalloc(i64 %n) #3 { +entry: + %n.addr = alloca i64, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @xmalloc(i64 %0) + ret i8* %call +} + +; Function Attrs: nounwind +declare dso_local i64 @__ctype_get_mb_cur_max() #4 + +; Function Attrs: noinline nounwind uwtable +define internal i8* @gettext_quote(i8* %msgid, i32 %s) #3 { +entry: + %retval = alloca i8*, align 8 + %msgid.addr = alloca i8*, align 8 + %s.addr = alloca i32, align 4 + %translation = alloca i8*, align 8 + %locale_code = alloca i8*, align 8 + store i8* %msgid, i8** %msgid.addr, align 8 + store i32 %s, i32* %s.addr, align 4 + %0 = load i8*, i8** %msgid.addr, align 8 + store i8* %0, i8** %translation, align 8 + %1 = load i8*, i8** %translation, align 8 + %2 = load i8*, i8** %msgid.addr, align 8 + %cmp = icmp ne i8* %1, %2 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %3 = load i8*, i8** %translation, align 8 + store i8* %3, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %call = call i8* @locale_charset() + store i8* %call, i8** %locale_code, align 8 + %4 = load i8*, i8** %locale_code, align 8 + %call1 = call i32 @c_strcasecmp(i8* %4, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.13.79, i64 0, i64 0)) #24 + %cmp2 = icmp eq i32 %call1, 0 + br i1 %cmp2, label %if.then3, label %if.end6 + +if.then3: ; preds = %if.end + %5 = load i8*, i8** %msgid.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 0 + %6 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %6 to i32 + %cmp4 = icmp eq i32 %conv, 96 + %7 = zext i1 %cmp4 to i64 + %cond = select i1 %cmp4, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.14.80, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.15.81, i64 0, i64 0) + store i8* %cond, i8** %retval, align 8 + br label %return + +if.end6: ; preds = %if.end + %8 = load i8*, i8** %locale_code, align 8 + %call7 = call i32 @c_strcasecmp(i8* %8, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.16.82, i64 0, i64 0)) #24 + %cmp8 = icmp eq i32 %call7, 0 + br i1 %cmp8, label %if.then10, label %if.end16 + +if.then10: ; preds = %if.end6 + %9 = load i8*, i8** %msgid.addr, align 8 + %arrayidx11 = getelementptr inbounds i8, i8* %9, i64 0 + %10 = load i8, i8* %arrayidx11, align 1 + %conv12 = sext i8 %10 to i32 + %cmp13 = icmp eq i32 %conv12, 96 + %11 = zext i1 %cmp13 to i64 + %cond15 = select i1 %cmp13, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.17.83, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.18.84, i64 0, i64 0) + store i8* %cond15, i8** %retval, align 8 + br label %return + +if.end16: ; preds = %if.end6 + %12 = load i32, i32* %s.addr, align 4 + %cmp17 = icmp eq i32 %12, 9 + %13 = zext i1 %cmp17 to i64 + %cond19 = select i1 %cmp17, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10.76, i64 0, i64 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.78, i64 0, i64 0) + store i8* %cond19, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end16, %if.then10, %if.then3, %if.then + %14 = load i8*, i8** %retval, align 8 + ret i8* %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @rpl_mbrtowc(i32* %pwc, i8* %s, i64 %n, %struct.__mbstate_t* %ps) #3 { +entry: + %retval = alloca i64, align 8 + %pwc.addr = alloca i32*, align 8 + %s.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t*, align 8 + %ret = alloca i64, align 8 + %wc = alloca i32, align 4 + %uc = alloca i8, align 1 + store i32* %pwc, i32** %pwc.addr, align 8 + store i8* %s, i8** %s.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__mbstate_t* %ps, %struct.__mbstate_t** %ps.addr, align 8 + %0 = load i32*, i32** %pwc.addr, align 8 + %tobool = icmp ne i32* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i32* %wc, i32** %pwc.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i32*, i32** %pwc.addr, align 8 + %2 = load i8*, i8** %s.addr, align 8 + %3 = load i64, i64* %n.addr, align 8 + %4 = load %struct.__mbstate_t*, %struct.__mbstate_t** %ps.addr, align 8 + %call = call i64 bitcast (i64 (i32*, i8*, i64, %struct.__mbstate_t.514*)* @mbrtowc to i64 (i32*, i8*, i64, %struct.__mbstate_t*)*)(i32* %1, i8* %2, i64 %3, %struct.__mbstate_t* %4) #11 + store i64 %call, i64* %ret, align 8 + %5 = load i64, i64* %ret, align 8 + %cmp = icmp ule i64 -2, %5 + %6 = load i64, i64* %n.addr, align 8 + %cmp1 = icmp ne i64 %6, 0 + %or.cond = and i1 %cmp, %cmp1 + br i1 %or.cond, label %land.lhs.true2, label %if.end5 + +land.lhs.true2: ; preds = %if.end + %call3 = call zeroext i1 @hard_locale(i32 0) + br i1 %call3, label %if.end5, label %if.then4 + +if.then4: ; preds = %land.lhs.true2 + %7 = load i8*, i8** %s.addr, align 8 + %8 = load i8, i8* %7, align 1 + store i8 %8, i8* %uc, align 1 + %9 = load i8, i8* %uc, align 1 + %conv = zext i8 %9 to i32 + %10 = load i32*, i32** %pwc.addr, align 8 + store i32 %conv, i32* %10, align 4 + store i64 1, i64* %retval, align 8 + br label %return + +if.end5: ; preds = %land.lhs.true2, %if.end + %11 = load i64, i64* %ret, align 8 + store i64 %11, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end5, %if.then4 + %12 = load i64, i64* %retval, align 8 + ret i64 %12 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @hard_locale(i32 %category) #3 { +entry: + %retval = alloca i1, align 1 + %category.addr = alloca i32, align 4 + %locale = alloca [257 x i8], align 16 + store i32 %category, i32* %category.addr, align 4 + %0 = load i32, i32* %category.addr, align 4 + %arraydecay = getelementptr inbounds [257 x i8], [257 x i8]* %locale, i64 0, i64 0 + %call = call i32 @setlocale_null_r(i32 %0, i8* %arraydecay, i64 257) + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +if.end: ; preds = %entry + %arraydecay1 = getelementptr inbounds [257 x i8], [257 x i8]* %locale, i64 0, i64 0 + %call2 = call i32 @strcmp(i8* %arraydecay1, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.146, i64 0, i64 0)) #24 + %cmp = icmp eq i32 %call2, 0 + br i1 %cmp, label %lor.end, label %lor.rhs + +lor.rhs: ; preds = %if.end + %arraydecay3 = getelementptr inbounds [257 x i8], [257 x i8]* %locale, i64 0, i64 0 + %call4 = call i32 @strcmp(i8* %arraydecay3, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1.147, i64 0, i64 0)) #24 + %cmp5 = icmp eq i32 %call4, 0 + br label %lor.end + +lor.end: ; preds = %lor.rhs, %if.end + %1 = phi i1 [ true, %if.end ], [ %cmp5, %lor.rhs ] + %lnot = xor i1 %1, true + store i1 %lnot, i1* %retval, align 1 + br label %return + +return: ; preds = %lor.end, %if.then + %2 = load i1, i1* %retval, align 1 + ret i1 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @setlocale_null_r(i32 %category, i8* nonnull %buf, i64 %bufsize) #3 { +entry: + %category.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + store i32 %category, i32* %category.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i32, i32* %category.addr, align 4 + %1 = load i8*, i8** %buf.addr, align 8 + %2 = load i64, i64* %bufsize.addr, align 8 + %call = call i32 @setlocale_null_unlocked(i32 %0, i8* %1, i64 %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @setlocale_null_unlocked(i32 %category, i8* %buf, i64 %bufsize) #3 { +entry: + %retval = alloca i32, align 4 + %category.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %result = alloca i8*, align 8 + %length = alloca i64, align 8 + store i32 %category, i32* %category.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i32, i32* %category.addr, align 4 + %call = call i8* @setlocale_null_androidfix(i32 %0) + store i8* %call, i8** %result, align 8 + %1 = load i8*, i8** %result, align 8 + %cmp = icmp eq i8* %1, null + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %2 = load i64, i64* %bufsize.addr, align 8 + %cmp1 = icmp ugt i64 %2, 0 + br i1 %cmp1, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + %3 = load i8*, i8** %buf.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %3, i64 0 + store i8 0, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + store i32 22, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %4 = load i8*, i8** %result, align 8 + %call3 = call i64 @strlen(i8* %4) #24 + store i64 %call3, i64* %length, align 8 + %5 = load i64, i64* %length, align 8 + %6 = load i64, i64* %bufsize.addr, align 8 + %cmp4 = icmp ult i64 %5, %6 + br i1 %cmp4, label %if.then5, label %if.else6 + +if.then5: ; preds = %if.else + %7 = load i8*, i8** %buf.addr, align 8 + %8 = load i8*, i8** %result, align 8 + %9 = load i64, i64* %length, align 8 + %add = add i64 %9, 1 + %10 = call i8* @memcpy(i8* %7, i8* %8, i64 %add) + store i32 0, i32* %retval, align 4 + br label %return + +if.else6: ; preds = %if.else + %11 = load i64, i64* %bufsize.addr, align 8 + %cmp7 = icmp ugt i64 %11, 0 + br i1 %cmp7, label %if.then8, label %if.end11 + +if.then8: ; preds = %if.else6 + %12 = load i8*, i8** %buf.addr, align 8 + %13 = load i8*, i8** %result, align 8 + %14 = load i64, i64* %bufsize.addr, align 8 + %sub = sub i64 %14, 1 + %15 = call i8* @memcpy(i8* %12, i8* %13, i64 %sub) + %16 = load i8*, i8** %buf.addr, align 8 + %17 = load i64, i64* %bufsize.addr, align 8 + %sub9 = sub i64 %17, 1 + %arrayidx10 = getelementptr inbounds i8, i8* %16, i64 %sub9 + store i8 0, i8* %arrayidx10, align 1 + br label %if.end11 + +if.end11: ; preds = %if.then8, %if.else6 + store i32 34, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end11, %if.then5, %if.end + %18 = load i32, i32* %retval, align 4 + ret i32 %18 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @setlocale_null_androidfix(i32 %category) #3 { +entry: + %category.addr = alloca i32, align 4 + %result = alloca i8*, align 8 + store i32 %category, i32* %category.addr, align 4 + %0 = load i32, i32* %category.addr, align 4 + %call = call i8* @setlocale(i32 %0, i8* null) #11 + store i8* %call, i8** %result, align 8 + %1 = load i8*, i8** %result, align 8 + ret i8* %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @locale_charset() #3 { +entry: + %codeset = alloca i8*, align 8 + %call = call i8* @nl_langinfo(i32 14) #11 + store i8* %call, i8** %codeset, align 8 + %0 = load i8*, i8** %codeset, align 8 + %cmp = icmp eq i8* %0, null + %spec.store.select = select i1 %cmp, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.150, i64 0, i64 0), i8* %call + store i8* %spec.store.select, i8** %codeset, align 8 + %1 = load i8*, i8** %codeset, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %2 to i32 + %cmp1 = icmp eq i32 %conv, 0 + %spec.store.select1 = select i1 %cmp1, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1.151, i64 0, i64 0), i8* %spec.store.select + store i8* %spec.store.select1, i8** %codeset, align 8 + %3 = load i8*, i8** %codeset, align 8 + ret i8* %3 +} + +; Function Attrs: noinline nounwind readonly uwtable +define dso_local i32 @c_strcasecmp(i8* %s1, i8* %s2) #16 { +entry: + %retval = alloca i32, align 4 + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %p1 = alloca i8*, align 8 + %p2 = alloca i8*, align 8 + %c1 = alloca i8, align 1 + %c2 = alloca i8, align 1 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %p1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %p2, align 8 + %2 = load i8*, i8** %p1, align 8 + %3 = load i8*, i8** %p2, align 8 + %cmp = icmp eq i8* %2, %3 + br i1 %cmp, label %if.then, label %do.body + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +do.body: ; preds = %entry, %if.end9 + %4 = load i8*, i8** %p1, align 8 + %5 = load i8, i8* %4, align 1 + %conv = zext i8 %5 to i32 + %call = call i32 @c_tolower(i32 %conv) + %conv1 = trunc i32 %call to i8 + store i8 %conv1, i8* %c1, align 1 + %6 = load i8*, i8** %p2, align 8 + %7 = load i8, i8* %6, align 1 + %conv2 = zext i8 %7 to i32 + %call3 = call i32 @c_tolower(i32 %conv2) + %conv4 = trunc i32 %call3 to i8 + store i8 %conv4, i8* %c2, align 1 + %8 = load i8, i8* %c1, align 1 + %conv5 = zext i8 %8 to i32 + %cmp6 = icmp eq i32 %conv5, 0 + br i1 %cmp6, label %do.end, label %if.end9 + +if.end9: ; preds = %do.body + %9 = load i8*, i8** %p1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %p1, align 8 + %10 = load i8*, i8** %p2, align 8 + %incdec.ptr10 = getelementptr inbounds i8, i8* %10, i32 1 + store i8* %incdec.ptr10, i8** %p2, align 8 + %11 = load i8, i8* %c1, align 1 + %conv11 = zext i8 %11 to i32 + %12 = load i8, i8* %c2, align 1 + %conv12 = zext i8 %12 to i32 + %cmp13 = icmp eq i32 %conv11, %conv12 + br i1 %cmp13, label %do.body, label %do.end + +do.end: ; preds = %do.body, %if.end9 + %13 = load i8, i8* %c1, align 1 + %conv15 = zext i8 %13 to i32 + %14 = load i8, i8* %c2, align 1 + %conv16 = zext i8 %14 to i32 + %sub = sub nsw i32 %conv15, %conv16 + store i32 %sub, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end, %if.then + %15 = load i32, i32* %retval, align 4 + ret i32 %15 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @c_tolower(i32 %c) #3 { +entry: + %retval = alloca i32, align 4 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -65 + %switch = icmp ult i32 %.off, 26 + %1 = load i32, i32* %c.addr, align 4 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + %sub = sub nsw i32 %1, 65 + %add = add nsw i32 %sub, 97 + store i32 %add, i32* %retval, align 4 + br label %return + +sw.default: ; preds = %entry + store i32 %1, i32* %retval, align 4 + br label %return + +return: ; preds = %sw.default, %sw.bb + %2 = load i32, i32* %retval, align 4 + ret i32 %2 +} + +; Function Attrs: nounwind +declare dso_local i8* @realloc(i8*, i64) #4 + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @safe_write(i32 %fd, i8* %buf, i64 %count) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + %result = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + br label %for.cond + +for.cond: ; preds = %if.else, %if.then8, %entry + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i8*, i8** %buf.addr, align 8 + %2 = load i64, i64* %count.addr, align 8 + %call = call i64 @write(i32 %0, i8* %1, i64 %2) + store i64 %call, i64* %result, align 8 + %3 = load i64, i64* %result, align 8 + %cmp = icmp sle i64 0, %3 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %for.cond + %4 = load i64, i64* %result, align 8 + store i64 %4, i64* %retval, align 8 + br label %return + +if.else: ; preds = %for.cond + %call1 = call i32* @__errno_location() #26 + %5 = load i32, i32* %call1, align 4 + %cmp2 = icmp eq i32 %5, 4 + br i1 %cmp2, label %for.cond, label %if.else4 + +if.else4: ; preds = %if.else + %call5 = call i32* @__errno_location() #26 + %6 = load i32, i32* %call5, align 4 + %cmp6 = icmp eq i32 %6, 22 + %7 = load i64, i64* %count.addr, align 8 + %cmp7 = icmp ult i64 2146435072, %7 + %or.cond = and i1 %cmp6, %cmp7 + br i1 %or.cond, label %if.then8, label %if.else9 + +if.then8: ; preds = %if.else4 + store i64 2146435072, i64* %count.addr, align 8 + br label %for.cond + +if.else9: ; preds = %if.else4 + %8 = load i64, i64* %result, align 8 + store i64 %8, i64* %retval, align 8 + br label %return + +return: ; preds = %if.else9, %if.then + %9 = load i64, i64* %retval, align 8 + ret i64 %9 +} + +; Function Attrs: nounwind +declare dso_local i32 @posix_fadvise(i32, i64, i64, i32) #4 + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @set_char_quoting(%struct.quoting_options* %o, i8 signext %c, i32 %i) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %c.addr = alloca i8, align 1 + %i.addr = alloca i32, align 4 + %uc = alloca i8, align 1 + %p = alloca i32*, align 8 + %shift = alloca i32, align 4 + %r = alloca i32, align 4 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i8 %c, i8* %c.addr, align 1 + store i32 %i, i32* %i.addr, align 4 + %0 = load i8, i8* %c.addr, align 1 + store i8 %0, i8* %uc, align 1 + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %1, null + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %2, %struct.quoting_options* @default_quoting_options + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %cond, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %3 = load i8, i8* %uc, align 1 + %conv = zext i8 %3 to i64 + %div = udiv i64 %conv, 32 + %add.ptr = getelementptr inbounds i32, i32* %arraydecay, i64 %div + store i32* %add.ptr, i32** %p, align 8 + %4 = load i8, i8* %uc, align 1 + %conv1 = zext i8 %4 to i64 + %rem = urem i64 %conv1, 32 + %conv2 = trunc i64 %rem to i32 + store i32 %conv2, i32* %shift, align 4 + %5 = load i32*, i32** %p, align 8 + %6 = load i32, i32* %5, align 4 + %7 = load i32, i32* %shift, align 4 + %shr = lshr i32 %6, %7 + %and = and i32 %shr, 1 + store i32 %and, i32* %r, align 4 + %8 = load i32, i32* %i.addr, align 4 + %and3 = and i32 %8, 1 + %9 = load i32, i32* %r, align 4 + %xor = xor i32 %and3, %9 + %10 = load i32, i32* %shift, align 4 + %shl = shl i32 %xor, %10 + %11 = load i32*, i32** %p, align 8 + %12 = load i32, i32* %11, align 4 + %xor4 = xor i32 %12, %shl + store i32 %xor4, i32* %11, align 4 + %13 = load i32, i32* %r, align 4 + ret i32 %13 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @set_binary_mode(i32 %fd, i32 %mode) #3 { +entry: + %fd.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i32, i32* %mode.addr, align 4 + %call = call i32 @__gl_setmode(i32 %0, i32 %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @xset_binary_mode_error() #3 { +entry: + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__gl_setmode(i32 %fd, i32 %mode) #3 { +entry: + %fd.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc_va(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, %struct.__va_list_tag.2* %authors) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors.addr = alloca %struct.__va_list_tag.2*, align 8 + %n_authors = alloca i64, align 8 + %authtab = alloca [10 x i8*], align 16 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + store %struct.__va_list_tag.2* %authors, %struct.__va_list_tag.2** %authors.addr, align 8 + store i64 0, i64* %n_authors, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i64, i64* %n_authors, align 8 + %cmp = icmp ult i64 %0, 10 + br i1 %cmp, label %land.rhs, label %for.end + +land.rhs: ; preds = %for.cond + %1 = load %struct.__va_list_tag.2*, %struct.__va_list_tag.2** %authors.addr, align 8 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %1, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 8 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %land.rhs + %2 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %1, i32 0, i32 3 + %reg_save_area = load i8*, i8** %2, align 8 + %3 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %4 = bitcast i8* %3 to i8** + %5 = add i32 %gp_offset, 8 + store i32 %5, i32* %gp_offset_p, align 8 + br label %vaarg.end + +vaarg.in_mem: ; preds = %land.rhs + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %1, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %6 = bitcast i8* %overflow_arg_area to i8** + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i8** [ %4, %vaarg.in_reg ], [ %6, %vaarg.in_mem ] + %7 = load i8*, i8** %vaarg.addr, align 8 + %8 = load i64, i64* %n_authors, align 8 + %arrayidx = getelementptr inbounds [10 x i8*], [10 x i8*]* %authtab, i64 0, i64 %8 + store i8* %7, i8** %arrayidx, align 8 + %cmp1 = icmp ne i8* %7, null + br i1 %cmp1, label %for.inc, label %for.end + +for.inc: ; preds = %vaarg.end + %9 = load i64, i64* %n_authors, align 8 + %inc = add i64 %9, 1 + store i64 %inc, i64* %n_authors, align 8 + br label %for.cond + +for.end: ; preds = %for.cond, %vaarg.end + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %11 = load i8*, i8** %command_name.addr, align 8 + %12 = load i8*, i8** %package.addr, align 8 + %13 = load i8*, i8** %version.addr, align 8 + %arraydecay = getelementptr inbounds [10 x i8*], [10 x i8*]* %authtab, i64 0, i64 0 + %14 = load i64, i64* %n_authors, align 8 + call void @version_etc_arn(%struct._IO_FILE* %10, i8* %11, i8* %12, i8* %13, i8** %arraydecay, i64 %14) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc_arn(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, i8** %authors, i64 %n_authors) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors.addr = alloca i8**, align 8 + %n_authors.addr = alloca i64, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + store i8** %authors, i8*** %authors.addr, align 8 + store i64 %n_authors, i64* %n_authors.addr, align 8 + %0 = load i8*, i8** %command_name.addr, align 8 + %tobool = icmp ne i8* %0, null + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %entry + %2 = load i8*, i8** %command_name.addr, align 8 + %3 = load i8*, i8** %package.addr, align 8 + %4 = load i8*, i8** %version.addr, align 8 + %call = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %1, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.95.124, i64 0, i64 0), i8* %2, i8* %3, i8* %4) + br label %if.end + +if.else: ; preds = %entry + %5 = load i8*, i8** %package.addr, align 8 + %6 = load i8*, i8** %version.addr, align 8 + %call1 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %1, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.96.125, i64 0, i64 0), i8* %5, i8* %6) + br label %if.end + +if.end: ; preds = %if.else, %if.then + %7 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call2 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %7, i8* getelementptr inbounds ([47 x i8], [47 x i8]* @version_etc_copyright, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2.97.126, i64 0, i64 0), i32 2020) + %8 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call3 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.623*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.98.127, i64 0, i64 0), %struct._IO_FILE* %8) + %9 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call4 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %9, i8* getelementptr inbounds ([171 x i8], [171 x i8]* @.str.4.99.128, i64 0, i64 0), i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.5.100.129, i64 0, i64 0)) + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call5 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.623*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.98.127, i64 0, i64 0), %struct._IO_FILE* %10) + %11 = load i64, i64* %n_authors.addr, align 8 + br label %NodeBlock17 + +NodeBlock17: ; preds = %if.end + %case.cmp18 = icmp eq i64 %11, 0 + br i1 %case.cmp18, label %sw.epilog, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i64 %11, 1 + br i1 %case.cmp16, label %sw.bb6, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i64 %11, 2 + br i1 %case.cmp14, label %sw.bb8, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i64 %11, 3 + br i1 %case.cmp12, label %sw.bb12, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i64 %11, 4 + br i1 %case.cmp10, label %sw.bb17, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i64 %11, 5 + br i1 %case.cmp8, label %sw.bb23, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i64 %11, 6 + br i1 %case.cmp6, label %sw.bb30, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i64 %11, 7 + br i1 %case.cmp4, label %sw.bb38, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i64 %11, 8 + br i1 %case.cmp2, label %sw.bb47, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i64 %11, 9 + br i1 %case.cmp, label %sw.bb57, label %newDefault + +sw.bb6: ; preds = %NodeBlock15 + %12 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %13 = load i8**, i8*** %authors.addr, align 8 + %arrayidx = getelementptr inbounds i8*, i8** %13, i64 0 + %14 = load i8*, i8** %arrayidx, align 8 + %call7 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %12, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.6.101.130, i64 0, i64 0), i8* %14) + br label %sw.epilog + +sw.bb8: ; preds = %NodeBlock13 + %15 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %16 = load i8**, i8*** %authors.addr, align 8 + %arrayidx9 = getelementptr inbounds i8*, i8** %16, i64 0 + %17 = load i8*, i8** %arrayidx9, align 8 + %18 = load i8**, i8*** %authors.addr, align 8 + %arrayidx10 = getelementptr inbounds i8*, i8** %18, i64 1 + %19 = load i8*, i8** %arrayidx10, align 8 + %call11 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %15, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.7.102.131, i64 0, i64 0), i8* %17, i8* %19) + br label %sw.epilog + +sw.bb12: ; preds = %NodeBlock11 + %20 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %21 = load i8**, i8*** %authors.addr, align 8 + %arrayidx13 = getelementptr inbounds i8*, i8** %21, i64 0 + %22 = load i8*, i8** %arrayidx13, align 8 + %23 = load i8**, i8*** %authors.addr, align 8 + %arrayidx14 = getelementptr inbounds i8*, i8** %23, i64 1 + %24 = load i8*, i8** %arrayidx14, align 8 + %25 = load i8**, i8*** %authors.addr, align 8 + %arrayidx15 = getelementptr inbounds i8*, i8** %25, i64 2 + %26 = load i8*, i8** %arrayidx15, align 8 + %call16 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %20, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.8.103.132, i64 0, i64 0), i8* %22, i8* %24, i8* %26) + br label %sw.epilog + +sw.bb17: ; preds = %NodeBlock9 + %27 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %28 = load i8**, i8*** %authors.addr, align 8 + %arrayidx18 = getelementptr inbounds i8*, i8** %28, i64 0 + %29 = load i8*, i8** %arrayidx18, align 8 + %30 = load i8**, i8*** %authors.addr, align 8 + %arrayidx19 = getelementptr inbounds i8*, i8** %30, i64 1 + %31 = load i8*, i8** %arrayidx19, align 8 + %32 = load i8**, i8*** %authors.addr, align 8 + %arrayidx20 = getelementptr inbounds i8*, i8** %32, i64 2 + %33 = load i8*, i8** %arrayidx20, align 8 + %34 = load i8**, i8*** %authors.addr, align 8 + %arrayidx21 = getelementptr inbounds i8*, i8** %34, i64 3 + %35 = load i8*, i8** %arrayidx21, align 8 + %call22 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %27, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.9.104, i64 0, i64 0), i8* %29, i8* %31, i8* %33, i8* %35) + br label %sw.epilog + +sw.bb23: ; preds = %NodeBlock7 + %36 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %37 = load i8**, i8*** %authors.addr, align 8 + %arrayidx24 = getelementptr inbounds i8*, i8** %37, i64 0 + %38 = load i8*, i8** %arrayidx24, align 8 + %39 = load i8**, i8*** %authors.addr, align 8 + %arrayidx25 = getelementptr inbounds i8*, i8** %39, i64 1 + %40 = load i8*, i8** %arrayidx25, align 8 + %41 = load i8**, i8*** %authors.addr, align 8 + %arrayidx26 = getelementptr inbounds i8*, i8** %41, i64 2 + %42 = load i8*, i8** %arrayidx26, align 8 + %43 = load i8**, i8*** %authors.addr, align 8 + %arrayidx27 = getelementptr inbounds i8*, i8** %43, i64 3 + %44 = load i8*, i8** %arrayidx27, align 8 + %45 = load i8**, i8*** %authors.addr, align 8 + %arrayidx28 = getelementptr inbounds i8*, i8** %45, i64 4 + %46 = load i8*, i8** %arrayidx28, align 8 + %call29 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %36, i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.10.105, i64 0, i64 0), i8* %38, i8* %40, i8* %42, i8* %44, i8* %46) + br label %sw.epilog + +sw.bb30: ; preds = %NodeBlock5 + %47 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %48 = load i8**, i8*** %authors.addr, align 8 + %arrayidx31 = getelementptr inbounds i8*, i8** %48, i64 0 + %49 = load i8*, i8** %arrayidx31, align 8 + %50 = load i8**, i8*** %authors.addr, align 8 + %arrayidx32 = getelementptr inbounds i8*, i8** %50, i64 1 + %51 = load i8*, i8** %arrayidx32, align 8 + %52 = load i8**, i8*** %authors.addr, align 8 + %arrayidx33 = getelementptr inbounds i8*, i8** %52, i64 2 + %53 = load i8*, i8** %arrayidx33, align 8 + %54 = load i8**, i8*** %authors.addr, align 8 + %arrayidx34 = getelementptr inbounds i8*, i8** %54, i64 3 + %55 = load i8*, i8** %arrayidx34, align 8 + %56 = load i8**, i8*** %authors.addr, align 8 + %arrayidx35 = getelementptr inbounds i8*, i8** %56, i64 4 + %57 = load i8*, i8** %arrayidx35, align 8 + %58 = load i8**, i8*** %authors.addr, align 8 + %arrayidx36 = getelementptr inbounds i8*, i8** %58, i64 5 + %59 = load i8*, i8** %arrayidx36, align 8 + %call37 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %47, i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.11.106, i64 0, i64 0), i8* %49, i8* %51, i8* %53, i8* %55, i8* %57, i8* %59) + br label %sw.epilog + +sw.bb38: ; preds = %NodeBlock3 + %60 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %61 = load i8**, i8*** %authors.addr, align 8 + %arrayidx39 = getelementptr inbounds i8*, i8** %61, i64 0 + %62 = load i8*, i8** %arrayidx39, align 8 + %63 = load i8**, i8*** %authors.addr, align 8 + %arrayidx40 = getelementptr inbounds i8*, i8** %63, i64 1 + %64 = load i8*, i8** %arrayidx40, align 8 + %65 = load i8**, i8*** %authors.addr, align 8 + %arrayidx41 = getelementptr inbounds i8*, i8** %65, i64 2 + %66 = load i8*, i8** %arrayidx41, align 8 + %67 = load i8**, i8*** %authors.addr, align 8 + %arrayidx42 = getelementptr inbounds i8*, i8** %67, i64 3 + %68 = load i8*, i8** %arrayidx42, align 8 + %69 = load i8**, i8*** %authors.addr, align 8 + %arrayidx43 = getelementptr inbounds i8*, i8** %69, i64 4 + %70 = load i8*, i8** %arrayidx43, align 8 + %71 = load i8**, i8*** %authors.addr, align 8 + %arrayidx44 = getelementptr inbounds i8*, i8** %71, i64 5 + %72 = load i8*, i8** %arrayidx44, align 8 + %73 = load i8**, i8*** %authors.addr, align 8 + %arrayidx45 = getelementptr inbounds i8*, i8** %73, i64 6 + %74 = load i8*, i8** %arrayidx45, align 8 + %call46 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %60, i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.12.107, i64 0, i64 0), i8* %62, i8* %64, i8* %66, i8* %68, i8* %70, i8* %72, i8* %74) + br label %sw.epilog + +sw.bb47: ; preds = %NodeBlock1 + %75 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %76 = load i8**, i8*** %authors.addr, align 8 + %arrayidx48 = getelementptr inbounds i8*, i8** %76, i64 0 + %77 = load i8*, i8** %arrayidx48, align 8 + %78 = load i8**, i8*** %authors.addr, align 8 + %arrayidx49 = getelementptr inbounds i8*, i8** %78, i64 1 + %79 = load i8*, i8** %arrayidx49, align 8 + %80 = load i8**, i8*** %authors.addr, align 8 + %arrayidx50 = getelementptr inbounds i8*, i8** %80, i64 2 + %81 = load i8*, i8** %arrayidx50, align 8 + %82 = load i8**, i8*** %authors.addr, align 8 + %arrayidx51 = getelementptr inbounds i8*, i8** %82, i64 3 + %83 = load i8*, i8** %arrayidx51, align 8 + %84 = load i8**, i8*** %authors.addr, align 8 + %arrayidx52 = getelementptr inbounds i8*, i8** %84, i64 4 + %85 = load i8*, i8** %arrayidx52, align 8 + %86 = load i8**, i8*** %authors.addr, align 8 + %arrayidx53 = getelementptr inbounds i8*, i8** %86, i64 5 + %87 = load i8*, i8** %arrayidx53, align 8 + %88 = load i8**, i8*** %authors.addr, align 8 + %arrayidx54 = getelementptr inbounds i8*, i8** %88, i64 6 + %89 = load i8*, i8** %arrayidx54, align 8 + %90 = load i8**, i8*** %authors.addr, align 8 + %arrayidx55 = getelementptr inbounds i8*, i8** %90, i64 7 + %91 = load i8*, i8** %arrayidx55, align 8 + %call56 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %75, i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.13.108, i64 0, i64 0), i8* %77, i8* %79, i8* %81, i8* %83, i8* %85, i8* %87, i8* %89, i8* %91) + br label %sw.epilog + +sw.bb57: ; preds = %NodeBlock + %92 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %93 = load i8**, i8*** %authors.addr, align 8 + %arrayidx58 = getelementptr inbounds i8*, i8** %93, i64 0 + %94 = load i8*, i8** %arrayidx58, align 8 + %95 = load i8**, i8*** %authors.addr, align 8 + %arrayidx59 = getelementptr inbounds i8*, i8** %95, i64 1 + %96 = load i8*, i8** %arrayidx59, align 8 + %97 = load i8**, i8*** %authors.addr, align 8 + %arrayidx60 = getelementptr inbounds i8*, i8** %97, i64 2 + %98 = load i8*, i8** %arrayidx60, align 8 + %99 = load i8**, i8*** %authors.addr, align 8 + %arrayidx61 = getelementptr inbounds i8*, i8** %99, i64 3 + %100 = load i8*, i8** %arrayidx61, align 8 + %101 = load i8**, i8*** %authors.addr, align 8 + %arrayidx62 = getelementptr inbounds i8*, i8** %101, i64 4 + %102 = load i8*, i8** %arrayidx62, align 8 + %103 = load i8**, i8*** %authors.addr, align 8 + %arrayidx63 = getelementptr inbounds i8*, i8** %103, i64 5 + %104 = load i8*, i8** %arrayidx63, align 8 + %105 = load i8**, i8*** %authors.addr, align 8 + %arrayidx64 = getelementptr inbounds i8*, i8** %105, i64 6 + %106 = load i8*, i8** %arrayidx64, align 8 + %107 = load i8**, i8*** %authors.addr, align 8 + %arrayidx65 = getelementptr inbounds i8*, i8** %107, i64 7 + %108 = load i8*, i8** %arrayidx65, align 8 + %109 = load i8**, i8*** %authors.addr, align 8 + %arrayidx66 = getelementptr inbounds i8*, i8** %109, i64 8 + %110 = load i8*, i8** %arrayidx66, align 8 + %call67 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %92, i8* getelementptr inbounds ([52 x i8], [52 x i8]* @.str.14.109, i64 0, i64 0), i8* %94, i8* %96, i8* %98, i8* %100, i8* %102, i8* %104, i8* %106, i8* %108, i8* %110) + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + %111 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %112 = load i8**, i8*** %authors.addr, align 8 + %arrayidx68 = getelementptr inbounds i8*, i8** %112, i64 0 + %113 = load i8*, i8** %arrayidx68, align 8 + %114 = load i8**, i8*** %authors.addr, align 8 + %arrayidx69 = getelementptr inbounds i8*, i8** %114, i64 1 + %115 = load i8*, i8** %arrayidx69, align 8 + %116 = load i8**, i8*** %authors.addr, align 8 + %arrayidx70 = getelementptr inbounds i8*, i8** %116, i64 2 + %117 = load i8*, i8** %arrayidx70, align 8 + %118 = load i8**, i8*** %authors.addr, align 8 + %arrayidx71 = getelementptr inbounds i8*, i8** %118, i64 3 + %119 = load i8*, i8** %arrayidx71, align 8 + %120 = load i8**, i8*** %authors.addr, align 8 + %arrayidx72 = getelementptr inbounds i8*, i8** %120, i64 4 + %121 = load i8*, i8** %arrayidx72, align 8 + %122 = load i8**, i8*** %authors.addr, align 8 + %arrayidx73 = getelementptr inbounds i8*, i8** %122, i64 5 + %123 = load i8*, i8** %arrayidx73, align 8 + %124 = load i8**, i8*** %authors.addr, align 8 + %arrayidx74 = getelementptr inbounds i8*, i8** %124, i64 6 + %125 = load i8*, i8** %arrayidx74, align 8 + %126 = load i8**, i8*** %authors.addr, align 8 + %arrayidx75 = getelementptr inbounds i8*, i8** %126, i64 7 + %127 = load i8*, i8** %arrayidx75, align 8 + %128 = load i8**, i8*** %authors.addr, align 8 + %arrayidx76 = getelementptr inbounds i8*, i8** %128, i64 8 + %129 = load i8*, i8** %arrayidx76, align 8 + %call77 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %111, i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.15.110, i64 0, i64 0), i8* %113, i8* %115, i8* %117, i8* %119, i8* %121, i8* %123, i8* %125, i8* %127, i8* %129) + br label %sw.epilog + +sw.epilog: ; preds = %NodeBlock17, %sw.default, %sw.bb57, %sw.bb47, %sw.bb38, %sw.bb30, %sw.bb23, %sw.bb17, %sw.bb12, %sw.bb8, %sw.bb6 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @close_stream(%struct._IO_FILE* %stream) #3 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct._IO_FILE*, align 8 + %some_pending = alloca i8, align 1 + %prev_fail = alloca i8, align 1 + %fclose_fail = alloca i8, align 1 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.515*)* @__fpending to i64 (%struct._IO_FILE*)*)(%struct._IO_FILE* %0) #11 + %cmp = icmp ne i64 %call, 0 + %frombool = zext i1 %cmp to i8 + store i8 %frombool, i8* %some_pending, align 1 + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call1 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.594*)* @ferror_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %1) #11 + %cmp2 = icmp ne i32 %call1, 0 + %frombool3 = zext i1 %cmp2 to i8 + store i8 %frombool3, i8* %prev_fail, align 1 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call4 = call i32 @rpl_fclose(%struct._IO_FILE* %2) + %cmp5 = icmp ne i32 %call4, 0 + %frombool6 = zext i1 %cmp5 to i8 + store i8 %frombool6, i8* %fclose_fail, align 1 + %3 = load i8, i8* %prev_fail, align 1 + %tobool = trunc i8 %3 to i1 + br i1 %tobool, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %4 = load i8, i8* %fclose_fail, align 1 + %tobool7 = trunc i8 %4 to i1 + br i1 %tobool7, label %land.lhs.true, label %if.end15 + +land.lhs.true: ; preds = %lor.lhs.false + %5 = load i8, i8* %some_pending, align 1 + %tobool8 = trunc i8 %5 to i1 + br i1 %tobool8, label %if.then, label %lor.lhs.false9 + +lor.lhs.false9: ; preds = %land.lhs.true + %call10 = call i32* @__errno_location() #26 + %6 = load i32, i32* %call10, align 4 + %cmp11 = icmp ne i32 %6, 9 + br i1 %cmp11, label %if.then, label %if.end15 + +if.then: ; preds = %lor.lhs.false9, %land.lhs.true, %entry + %7 = load i8, i8* %fclose_fail, align 1 + %tobool12 = trunc i8 %7 to i1 + br i1 %tobool12, label %if.end, label %if.then13 + +if.then13: ; preds = %if.then + %call14 = call i32* @__errno_location() #26 + store i32 0, i32* %call14, align 4 + br label %if.end + +if.end: ; preds = %if.then13, %if.then + store i32 -1, i32* %retval, align 4 + br label %return + +if.end15: ; preds = %lor.lhs.false9, %lor.lhs.false + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end15, %if.end + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_colon(i8* %arg) #3 { +entry: + %arg.addr = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_char(i8* %0, i8 signext 58) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_char(i8* %arg, i8 signext %ch) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %ch.addr = alloca i8, align 1 + store i8* %arg, i8** %arg.addr, align 8 + store i8 %ch, i8* %ch.addr, align 1 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i8, i8* %ch.addr, align 1 + %call = call i8* @quotearg_char_mem(i8* %0, i64 -1, i8 signext %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_char_mem(i8* %arg, i64 %argsize, i8 signext %ch) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %ch.addr = alloca i8, align 1 + %options = alloca %struct.quoting_options, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store i8 %ch, i8* %ch.addr, align 1 + %0 = bitcast %struct.quoting_options* %options to i8* + %1 = call i8* @memcpy(i8* %0, i8* bitcast (%struct.quoting_options* @default_quoting_options to i8*), i64 56) + %2 = load i8, i8* %ch.addr, align 1 + %call = call i32 @set_char_quoting(%struct.quoting_options* %options, i8 signext %2, i32 1) + %3 = load i8*, i8** %arg.addr, align 8 + %4 = load i64, i64* %argsize.addr, align 8 + %call1 = call i8* @quotearg_n_options(i32 0, i8* %3, i64 %4, %struct.quoting_options* %options) + ret i8* %call1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fclose(%struct._IO_FILE* nonnull %fp) #3 { +entry: + %retval = alloca i32, align 4 + %fp.addr = alloca %struct._IO_FILE*, align 8 + %saved_errno = alloca i32, align 4 + %fd = alloca i32, align 4 + %result = alloca i32, align 4 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + store i32 0, i32* %saved_errno, align 4 + store i32 0, i32* %result, align 4 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.610*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %0) #11 + store i32 %call, i32* %fd, align 4 + %1 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %1, 0 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call1 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.570*)* @fclose to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %2) + store i32 %call1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %call2 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.521*)* @__freading to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %2) #11 + %cmp3 = icmp ne i32 %call2, 0 + br i1 %cmp3, label %lor.lhs.false, label %land.lhs.true + +lor.lhs.false: ; preds = %if.end + %3 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call4 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.610*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %3) #11 + %call5 = call i64 @lseek(i32 %call4, i64 0, i32 1) #11 + %cmp6 = icmp ne i64 %call5, -1 + br i1 %cmp6, label %land.lhs.true, label %if.end10 + +land.lhs.true: ; preds = %lor.lhs.false, %if.end + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call7 = call i32 @rpl_fflush(%struct._IO_FILE* %4) + %tobool = icmp ne i32 %call7, 0 + br i1 %tobool, label %if.then8, label %if.end10 + +if.then8: ; preds = %land.lhs.true + %call9 = call i32* @__errno_location() #26 + %5 = load i32, i32* %call9, align 4 + store i32 %5, i32* %saved_errno, align 4 + br label %if.end10 + +if.end10: ; preds = %if.then8, %land.lhs.true, %lor.lhs.false + %6 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call11 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.570*)* @fclose to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %6) + store i32 %call11, i32* %result, align 4 + %7 = load i32, i32* %saved_errno, align 4 + %cmp12 = icmp ne i32 %7, 0 + br i1 %cmp12, label %if.then13, label %if.end15 + +if.then13: ; preds = %if.end10 + %8 = load i32, i32* %saved_errno, align 4 + %call14 = call i32* @__errno_location() #26 + store i32 %8, i32* %call14, align 4 + store i32 -1, i32* %result, align 4 + br label %if.end15 + +if.end15: ; preds = %if.then13, %if.end10 + %9 = load i32, i32* %result, align 4 + store i32 %9, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end15, %if.then + %10 = load i32, i32* %retval, align 4 + ret i32 %10 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fflush(%struct._IO_FILE* %stream) #3 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %cmp = icmp eq %struct._IO_FILE* %0, null + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.521*)* @__freading to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %1) #11 + %cmp1 = icmp ne i32 %call, 0 + br i1 %cmp1, label %if.end, label %if.then + +if.then: ; preds = %lor.lhs.false, %entry + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call2 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.570*)* @fflush to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %2) + store i32 %call2, i32* %retval, align 4 + br label %return + +if.end: ; preds = %lor.lhs.false + %3 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + call void @clear_ungetc_buffer_preserving_position(%struct._IO_FILE* %3) + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call3 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.570*)* @fflush to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %4) + store i32 %call3, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %5 = load i32, i32* %retval, align 4 + ret i32 %5 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @clear_ungetc_buffer_preserving_position(%struct._IO_FILE* %fp) #3 { +entry: + %fp.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_flags = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %0, i32 0, i32 0 + %1 = load i32, i32* %_flags, align 8 + %and = and i32 %1, 256 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 @rpl_fseeko(%struct._IO_FILE* %2, i64 0, i32 1) + br label %if.end + +if.end: ; preds = %if.then, %entry + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fseeko(%struct._IO_FILE* nonnull %fp, i64 %offset, i32 %whence) #3 { +entry: + %retval = alloca i32, align 4 + %fp.addr = alloca %struct._IO_FILE*, align 8 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + %pos = alloca i64, align 8 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_read_end = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %0, i32 0, i32 2 + %1 = load i8*, i8** %_IO_read_end, align 8 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_read_ptr = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %2, i32 0, i32 1 + %3 = load i8*, i8** %_IO_read_ptr, align 8 + %cmp = icmp eq i8* %1, %3 + br i1 %cmp, label %land.lhs.true, label %if.end7 + +land.lhs.true: ; preds = %entry + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_write_ptr = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %4, i32 0, i32 5 + %5 = load i8*, i8** %_IO_write_ptr, align 8 + %6 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_write_base = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %6, i32 0, i32 4 + %7 = load i8*, i8** %_IO_write_base, align 8 + %cmp1 = icmp eq i8* %5, %7 + br i1 %cmp1, label %land.lhs.true2, label %if.end7 + +land.lhs.true2: ; preds = %land.lhs.true + %8 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_save_base = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %8, i32 0, i32 9 + %9 = load i8*, i8** %_IO_save_base, align 8 + %cmp3 = icmp eq i8* %9, null + br i1 %cmp3, label %if.then, label %if.end7 + +if.then: ; preds = %land.lhs.true2 + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.610*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %10) #11 + %11 = load i64, i64* %offset.addr, align 8 + %12 = load i32, i32* %whence.addr, align 4 + %call4 = call i64 @lseek(i32 %call, i64 %11, i32 %12) #11 + store i64 %call4, i64* %pos, align 8 + %13 = load i64, i64* %pos, align 8 + %cmp5 = icmp eq i64 %13, -1 + br i1 %cmp5, label %if.then6, label %if.end + +if.then6: ; preds = %if.then + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %if.then + %14 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_flags = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %14, i32 0, i32 0 + %15 = load i32, i32* %_flags, align 8 + %and = and i32 %15, -17 + store i32 %and, i32* %_flags, align 8 + %16 = load i64, i64* %pos, align 8 + %17 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_offset = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %17, i32 0, i32 21 + store i64 %16, i64* %_offset, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.end7: ; preds = %land.lhs.true2, %land.lhs.true, %entry + %18 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %19 = load i64, i64* %offset.addr, align 8 + %20 = load i32, i32* %whence.addr, align 4 + %call8 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.638*, i64, i32)* @fseeko to i32 (%struct._IO_FILE*, i64, i32)*)(%struct._IO_FILE* %18, i64 %19, i32 %20) + store i32 %call8, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end7, %if.end, %if.then6 + %21 = load i32, i32* %retval, align 4 + ret i32 %21 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @close_stdout_set_file_name(i8* %file) #3 { +entry: + %file.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + store i8* %0, i8** @file_name, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @close_stdout_set_ignore_EPIPE(i1 zeroext %ignore) #3 { +entry: + %ignore.addr = alloca i8, align 1 + %frombool = zext i1 %ignore to i8 + store i8 %frombool, i8* %ignore.addr, align 1 + %0 = load i8, i8* %ignore.addr, align 1 + %tobool = trunc i8 %0 to i1 + %frombool1 = zext i1 %tobool to i8 + store i8 %frombool1, i8* @ignore_EPIPE, align 1 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @fadvise(%struct._IO_FILE* %fp, i32 %advice) #3 { +entry: + %fp.addr = alloca %struct._IO_FILE*, align 8 + %advice.addr = alloca i32, align 4 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + store i32 %advice, i32* %advice.addr, align 4 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %tobool = icmp ne %struct._IO_FILE* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.610*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %1) #11 + %2 = load i32, i32* %advice.addr, align 4 + call void @fdadvise(i32 %call, i64 0, i64 0, i32 %2) + br label %if.end + +if.end: ; preds = %if.then, %entry + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local %struct.quoting_options* @clone_quoting_options(%struct.quoting_options* %o) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %p = alloca %struct.quoting_options*, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %call = call i32* @__errno_location() #26 + %0 = load i32, i32* %call, align 4 + store i32 %0, i32* %e, align 4 + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %1, null + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %2, %struct.quoting_options* @default_quoting_options + %3 = bitcast %struct.quoting_options* %cond to i8* + %call1 = call i8* @xmemdup(i8* %3, i64 56) + %4 = bitcast i8* %call1 to %struct.quoting_options* + store %struct.quoting_options* %4, %struct.quoting_options** %p, align 8 + %5 = load i32, i32* %e, align 4 + %call2 = call i32* @__errno_location() #26 + store i32 %5, i32* %call2, align 4 + %6 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + ret %struct.quoting_options* %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @xmemdup(i8* %p, i64 %s) #3 { +entry: + %p.addr = alloca i8*, align 8 + %s.addr = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %call = call noalias i8* @xmalloc(i64 %0) + %1 = load i8*, i8** %p.addr, align 8 + %2 = load i64, i64* %s.addr, align 8 + %3 = call i8* @memcpy(i8* %call, i8* %1, i64 %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @get_quoting_style(%struct.quoting_options* %o) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %1, %struct.quoting_options* @default_quoting_options + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %cond, i32 0, i32 0 + %2 = load i32, i32* %style, align 8 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_quoting_style(%struct.quoting_options* %o, i32 %s) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %s.addr = alloca i32, align 4 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i32 %s, i32* %s.addr, align 4 + %0 = load i32, i32* %s.addr, align 4 + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %1, null + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %2, %struct.quoting_options* @default_quoting_options + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %cond, i32 0, i32 0 + store i32 %0, i32* %style, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @set_quoting_flags(%struct.quoting_options* %o, i32 %i) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %i.addr = alloca i32, align 4 + %r = alloca i32, align 4 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i32 %i, i32* %i.addr, align 4 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store %struct.quoting_options* @default_quoting_options, %struct.quoting_options** %o.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %flags = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %1, i32 0, i32 1 + %2 = load i32, i32* %flags, align 4 + store i32 %2, i32* %r, align 4 + %3 = load i32, i32* %i.addr, align 4 + %4 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %flags1 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %4, i32 0, i32 1 + store i32 %3, i32* %flags1, align 4 + %5 = load i32, i32* %r, align 4 + ret i32 %5 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_custom_quoting(%struct.quoting_options* %o, i8* %left_quote, i8* %right_quote) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store %struct.quoting_options* @default_quoting_options, %struct.quoting_options** %o.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %1, i32 0, i32 0 + store i32 10, i32* %style, align 8 + %2 = load i8*, i8** %left_quote.addr, align 8 + %tobool1 = icmp ne i8* %2, null + %3 = load i8*, i8** %right_quote.addr, align 8 + %tobool2 = icmp ne i8* %3, null + %or.cond = and i1 %tobool1, %tobool2 + br i1 %or.cond, label %if.end4, label %if.then3 + +if.then3: ; preds = %if.end + call void @abort() #27 + unreachable + +if.end4: ; preds = %if.end + %4 = load i8*, i8** %left_quote.addr, align 8 + %5 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %left_quote5 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %5, i32 0, i32 3 + store i8* %4, i8** %left_quote5, align 8 + %6 = load i8*, i8** %right_quote.addr, align 8 + %7 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %right_quote6 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %7, i32 0, i32 4 + store i8* %6, i8** %right_quote6, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @quotearg_buffer(i8* %buffer, i64 %buffersize, i8* %arg, i64 %argsize, %struct.quoting_options* %o) #3 { +entry: + %buffer.addr = alloca i8*, align 8 + %buffersize.addr = alloca i64, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o.addr = alloca %struct.quoting_options*, align 8 + %p = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %r = alloca i64, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %buffersize, i64* %buffersize.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %1, %struct.quoting_options* @default_quoting_options + store %struct.quoting_options* %cond, %struct.quoting_options** %p, align 8 + %call = call i32* @__errno_location() #26 + %2 = load i32, i32* %call, align 4 + store i32 %2, i32* %e, align 4 + %3 = load i8*, i8** %buffer.addr, align 8 + %4 = load i64, i64* %buffersize.addr, align 8 + %5 = load i8*, i8** %arg.addr, align 8 + %6 = load i64, i64* %argsize.addr, align 8 + %7 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %7, i32 0, i32 0 + %8 = load i32, i32* %style, align 8 + %9 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %flags = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %9, i32 0, i32 1 + %10 = load i32, i32* %flags, align 4 + %11 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %11, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %12 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %left_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %12, i32 0, i32 3 + %13 = load i8*, i8** %left_quote, align 8 + %14 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %right_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %14, i32 0, i32 4 + %15 = load i8*, i8** %right_quote, align 8 + %call1 = call i64 @quotearg_buffer_restyled(i8* %3, i64 %4, i8* %5, i64 %6, i32 %8, i32 %10, i32* %arraydecay, i8* %13, i8* %15) + store i64 %call1, i64* %r, align 8 + %16 = load i32, i32* %e, align 4 + %call2 = call i32* @__errno_location() #26 + store i32 %16, i32* %call2, align 4 + %17 = load i64, i64* %r, align 8 + ret i64 %17 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_alloc(i8* %arg, i64 %argsize, %struct.quoting_options* %o) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o.addr = alloca %struct.quoting_options*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %call = call i8* @quotearg_alloc_mem(i8* %0, i64 %1, i64* null, %struct.quoting_options* %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_alloc_mem(i8* %arg, i64 %argsize, i64* %size, %struct.quoting_options* %o) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %size.addr = alloca i64*, align 8 + %o.addr = alloca %struct.quoting_options*, align 8 + %p = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %flags = alloca i32, align 4 + %bufsize = alloca i64, align 8 + %buf = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store i64* %size, i64** %size.addr, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %1, %struct.quoting_options* @default_quoting_options + store %struct.quoting_options* %cond, %struct.quoting_options** %p, align 8 + %call = call i32* @__errno_location() #26 + %2 = load i32, i32* %call, align 4 + store i32 %2, i32* %e, align 4 + %3 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %flags1 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %3, i32 0, i32 1 + %4 = load i32, i32* %flags1, align 4 + %5 = load i64*, i64** %size.addr, align 8 + %tobool2 = icmp ne i64* %5, null + %6 = zext i1 %tobool2 to i64 + %cond3 = select i1 %tobool2, i32 0, i32 1 + %or = or i32 %4, %cond3 + store i32 %or, i32* %flags, align 4 + %7 = load i8*, i8** %arg.addr, align 8 + %8 = load i64, i64* %argsize.addr, align 8 + %9 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %9, i32 0, i32 0 + %10 = load i32, i32* %style, align 8 + %11 = load i32, i32* %flags, align 4 + %12 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %12, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %13 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %left_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %13, i32 0, i32 3 + %14 = load i8*, i8** %left_quote, align 8 + %15 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %right_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %15, i32 0, i32 4 + %16 = load i8*, i8** %right_quote, align 8 + %call4 = call i64 @quotearg_buffer_restyled(i8* null, i64 0, i8* %7, i64 %8, i32 %10, i32 %11, i32* %arraydecay, i8* %14, i8* %16) + %add = add i64 %call4, 1 + store i64 %add, i64* %bufsize, align 8 + %17 = load i64, i64* %bufsize, align 8 + %call5 = call noalias i8* @xcharalloc(i64 %17) + store i8* %call5, i8** %buf, align 8 + %18 = load i8*, i8** %buf, align 8 + %19 = load i64, i64* %bufsize, align 8 + %20 = load i8*, i8** %arg.addr, align 8 + %21 = load i64, i64* %argsize.addr, align 8 + %22 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %style6 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %22, i32 0, i32 0 + %23 = load i32, i32* %style6, align 8 + %24 = load i32, i32* %flags, align 4 + %25 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %quote_these_too7 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %25, i32 0, i32 2 + %arraydecay8 = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too7, i64 0, i64 0 + %26 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %left_quote9 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %26, i32 0, i32 3 + %27 = load i8*, i8** %left_quote9, align 8 + %28 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %right_quote10 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %28, i32 0, i32 4 + %29 = load i8*, i8** %right_quote10, align 8 + %call11 = call i64 @quotearg_buffer_restyled(i8* %18, i64 %19, i8* %20, i64 %21, i32 %23, i32 %24, i32* %arraydecay8, i8* %27, i8* %29) + %30 = load i32, i32* %e, align 4 + %call12 = call i32* @__errno_location() #26 + store i32 %30, i32* %call12, align 4 + %31 = load i64*, i64** %size.addr, align 8 + %tobool13 = icmp ne i64* %31, null + br i1 %tobool13, label %if.then, label %if.end + +if.then: ; preds = %entry + %32 = load i64, i64* %bufsize, align 8 + %sub = sub i64 %32, 1 + %33 = load i64*, i64** %size.addr, align 8 + store i64 %sub, i64* %33, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %34 = load i8*, i8** %buf, align 8 + ret i8* %34 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @quotearg_free() #3 { +entry: + %sv = alloca %struct.slotvec*, align 8 + %i = alloca i32, align 4 + %0 = load %struct.slotvec*, %struct.slotvec** @slotvec, align 8 + store %struct.slotvec* %0, %struct.slotvec** %sv, align 8 + store i32 1, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %1 = load i32, i32* %i, align 4 + %2 = load i32, i32* @nslots, align 4 + %cmp = icmp slt i32 %1, %2 + %3 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %4 = load i32, i32* %i, align 4 + %idxprom = sext i32 %4 to i64 + %arrayidx = getelementptr inbounds %struct.slotvec, %struct.slotvec* %3, i64 %idxprom + %val = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx, i32 0, i32 1 + %5 = load i8*, i8** %val, align 8 + call void @free(i8* %5) #11 + %6 = load i32, i32* %i, align 4 + %inc = add nsw i32 %6, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %arrayidx1 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %3, i64 0 + %val2 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx1, i32 0, i32 1 + %7 = load i8*, i8** %val2, align 8 + %cmp3 = icmp ne i8* %7, getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i64 0, i64 0) + br i1 %cmp3, label %if.then, label %if.end + +if.then: ; preds = %for.end + %8 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %arrayidx4 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %8, i64 0 + %val5 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx4, i32 0, i32 1 + %9 = load i8*, i8** %val5, align 8 + call void @free(i8* %9) #11 + store i64 256, i64* getelementptr inbounds (%struct.slotvec, %struct.slotvec* @slotvec0, i32 0, i32 0), align 8 + store i8* getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i64 0, i64 0), i8** getelementptr inbounds (%struct.slotvec, %struct.slotvec* @slotvec0, i32 0, i32 1), align 8 + br label %if.end + +if.end: ; preds = %if.then, %for.end + %10 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %cmp6 = icmp ne %struct.slotvec* %10, @slotvec0 + br i1 %cmp6, label %if.then7, label %if.end8 + +if.then7: ; preds = %if.end + %11 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %12 = bitcast %struct.slotvec* %11 to i8* + call void @free(i8* %12) #11 + store %struct.slotvec* @slotvec0, %struct.slotvec** @slotvec, align 8 + br label %if.end8 + +if.end8: ; preds = %if.then7, %if.end + store i32 1, i32* @nslots, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n(i32 %n, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %0, i8* %1, i64 -1, %struct.quoting_options* @default_quoting_options) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_mem(i32 %n, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %2 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %0, i8* %1, i64 %2, %struct.quoting_options* @default_quoting_options) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg(i8* %arg) #3 { +entry: + %arg.addr = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n(i32 0, i8* %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_mem(i8* %arg, i64 %argsize) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_mem(i32 0, i8* %0, i64 %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_style_mem(i32 %n, i32 %s, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + call void @quoting_options_from_style(%struct.quoting_options* sret align 8 %o, i32 %0) + %1 = load i32, i32* %n.addr, align 4 + %2 = load i8*, i8** %arg.addr, align 8 + %3 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %1, i8* %2, i64 %3, %struct.quoting_options* %o) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_style_mem(i32 %s, i8* %arg, i64 %argsize) #3 { +entry: + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %2 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_style_mem(i32 0, i32 %0, i8* %1, i64 %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_colon_mem(i8* %arg, i64 %argsize) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_char_mem(i8* %0, i64 %1, i8 signext 58) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_custom(i32 %n, i8* %left_quote, i8* %right_quote, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %left_quote.addr, align 8 + %2 = load i8*, i8** %right_quote.addr, align 8 + %3 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_custom_mem(i32 %0, i8* %1, i8* %2, i8* %3, i64 -1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_custom_mem(i32 %n, i8* %left_quote, i8* %right_quote, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = bitcast %struct.quoting_options* %o to i8* + %1 = call i8* @memcpy(i8* %0, i8* bitcast (%struct.quoting_options* @default_quoting_options to i8*), i64 56) + %2 = load i8*, i8** %left_quote.addr, align 8 + %3 = load i8*, i8** %right_quote.addr, align 8 + call void @set_custom_quoting(%struct.quoting_options* %o, i8* %2, i8* %3) + %4 = load i32, i32* %n.addr, align 4 + %5 = load i8*, i8** %arg.addr, align 8 + %6 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %4, i8* %5, i64 %6, %struct.quoting_options* %o) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_custom(i8* %left_quote, i8* %right_quote, i8* %arg) #3 { +entry: + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %left_quote.addr, align 8 + %1 = load i8*, i8** %right_quote.addr, align 8 + %2 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_custom(i32 0, i8* %0, i8* %1, i8* %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_custom_mem(i8* %left_quote, i8* %right_quote, i8* %arg, i64 %argsize) #3 { +entry: + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %left_quote.addr, align 8 + %1 = load i8*, i8** %right_quote.addr, align 8 + %2 = load i8*, i8** %arg.addr, align 8 + %3 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_custom_mem(i32 0, i8* %0, i8* %1, i8* %2, i64 %3) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote_n_mem(i32 %n, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %2 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %0, i8* %1, i64 %2, %struct.quoting_options* @quote_quoting_options) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote_mem(i8* %arg, i64 %argsize) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quote_n_mem(i32 0, i8* %0, i64 %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote_n(i32 %n, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quote_n_mem(i32 %0, i8* %1, i64 -1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote(i8* %arg) #3 { +entry: + %arg.addr = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quote_n(i32 0, i8* %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc_ar(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, i8** %authors) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors.addr = alloca i8**, align 8 + %n_authors = alloca i64, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + store i8** %authors, i8*** %authors.addr, align 8 + store i64 0, i64* %n_authors, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i8**, i8*** %authors.addr, align 8 + %1 = load i64, i64* %n_authors, align 8 + %arrayidx = getelementptr inbounds i8*, i8** %0, i64 %1 + %2 = load i8*, i8** %arrayidx, align 8 + %tobool = icmp ne i8* %2, null + br i1 %tobool, label %for.inc, label %for.end + +for.inc: ; preds = %for.cond + %3 = load i64, i64* %n_authors, align 8 + %inc = add i64 %3, 1 + store i64 %inc, i64* %n_authors, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %5 = load i8*, i8** %command_name.addr, align 8 + %6 = load i8*, i8** %package.addr, align 8 + %7 = load i8*, i8** %version.addr, align 8 + %8 = load i8**, i8*** %authors.addr, align 8 + %9 = load i64, i64* %n_authors, align 8 + call void @version_etc_arn(%struct._IO_FILE* %4, i8* %5, i8* %6, i8* %7, i8** %8, i64 %9) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @emit_bug_reporting_address() #3 { +entry: + %0 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.570** @stdout to %struct._IO_FILE**), align 8 + %call = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.623*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.98.127, i64 0, i64 0), %struct._IO_FILE* %0) + %call1 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.16.113, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.17.114, i64 0, i64 0)) + %call2 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.18.115, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.19.116.142, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.20.117, i64 0, i64 0)) + %call3 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.21.118, i64 0, i64 0), i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.22.119, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xnmalloc(i64 %n, i64 %s) #3 { +entry: + %n.addr = alloca i64, align 8 + %s.addr = alloca i64, align 8 + store i64 %n, i64* %n.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %div = udiv i64 9223372036854775807, %0 + %1 = load i64, i64* %n.addr, align 8 + %cmp = icmp ult i64 %div, %1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xalloc_die() #25 + unreachable + +if.end: ; preds = %entry + %2 = load i64, i64* %n.addr, align 8 + %3 = load i64, i64* %s.addr, align 8 + %mul = mul i64 %2, %3 + %call = call noalias i8* @xmalloc(i64 %mul) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @xnrealloc(i8* %p, i64 %n, i64 %s) #3 { +entry: + %p.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %s.addr = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %div = udiv i64 9223372036854775807, %0 + %1 = load i64, i64* %n.addr, align 8 + %cmp = icmp ult i64 %div, %1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xalloc_die() #25 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %p.addr, align 8 + %3 = load i64, i64* %n.addr, align 8 + %4 = load i64, i64* %s.addr, align 8 + %mul = mul i64 %3, %4 + %call = call i8* @xrealloc(i8* %2, i64 %mul) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @x2nrealloc(i8* %p, i64* %pn, i64 %s) #3 { +entry: + %p.addr = alloca i8*, align 8 + %pn.addr = alloca i64*, align 8 + %s.addr = alloca i64, align 8 + %n = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64* %pn, i64** %pn.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64*, i64** %pn.addr, align 8 + %1 = load i64, i64* %0, align 8 + store i64 %1, i64* %n, align 8 + %2 = load i8*, i8** %p.addr, align 8 + %tobool = icmp ne i8* %2, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %3 = load i64, i64* %n, align 8 + %tobool1 = icmp ne i64 %3, 0 + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + %4 = load i64, i64* %s.addr, align 8 + %div = udiv i64 128, %4 + store i64 %div, i64* %n, align 8 + %5 = load i64, i64* %n, align 8 + %tobool3 = icmp ne i64 %5, 0 + %lnot = xor i1 %tobool3, true + %lnot.ext = zext i1 %lnot to i32 + %conv = sext i32 %lnot.ext to i64 + %6 = load i64, i64* %n, align 8 + %add = add i64 %6, %conv + store i64 %add, i64* %n, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %7 = load i64, i64* %s.addr, align 8 + %div4 = udiv i64 9223372036854775807, %7 + %8 = load i64, i64* %n, align 8 + %cmp = icmp ult i64 %div4, %8 + br i1 %cmp, label %if.then6, label %if.end16 + +if.then6: ; preds = %if.end + call void @xalloc_die() #25 + unreachable + +if.else: ; preds = %entry + %9 = load i64, i64* %s.addr, align 8 + %div8 = udiv i64 6148914691236517204, %9 + %10 = load i64, i64* %n, align 8 + %cmp9 = icmp ule i64 %div8, %10 + br i1 %cmp9, label %if.then11, label %if.end12 + +if.then11: ; preds = %if.else + call void @xalloc_die() #25 + unreachable + +if.end12: ; preds = %if.else + %11 = load i64, i64* %n, align 8 + %div13 = udiv i64 %11, 2 + %add14 = add i64 %div13, 1 + %12 = load i64, i64* %n, align 8 + %add15 = add i64 %12, %add14 + store i64 %add15, i64* %n, align 8 + br label %if.end16 + +if.end16: ; preds = %if.end, %if.end12 + %13 = load i64, i64* %n, align 8 + %14 = load i64*, i64** %pn.addr, align 8 + store i64 %13, i64* %14, align 8 + %15 = load i8*, i8** %p.addr, align 8 + %16 = load i64, i64* %n, align 8 + %17 = load i64, i64* %s.addr, align 8 + %mul = mul i64 %16, %17 + %call = call i8* @xrealloc(i8* %15, i64 %mul) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @x2realloc(i8* %p, i64* %pn) #3 { +entry: + %p.addr = alloca i8*, align 8 + %pn.addr = alloca i64*, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64* %pn, i64** %pn.addr, align 8 + %0 = load i8*, i8** %p.addr, align 8 + %1 = load i64*, i64** %pn.addr, align 8 + %call = call i8* @x2nrealloc(i8* %0, i64* %1, i64 1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xzalloc(i64 %n) #3 { +entry: + %n.addr = alloca i64, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @xcalloc(i64 %0, i64 1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xcalloc(i64 %n, i64 %s) #3 { +entry: + %n.addr = alloca i64, align 8 + %s.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i64 %n, i64* %n.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %div = udiv i64 9223372036854775807, %0 + %1 = load i64, i64* %n.addr, align 8 + %cmp = icmp ult i64 %div, %1 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load i64, i64* %n.addr, align 8 + %3 = load i64, i64* %s.addr, align 8 + %call = call noalias i8* @calloc(i64 %2, i64 %3) #11 + store i8* %call, i8** %p, align 8 + %tobool = icmp ne i8* %call, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %lor.lhs.false, %entry + call void @xalloc_die() #25 + unreachable + +if.end: ; preds = %lor.lhs.false + %4 = load i8*, i8** %p, align 8 + ret i8* %4 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xstrdup(i8* %string) #3 { +entry: + %string.addr = alloca i8*, align 8 + store i8* %string, i8** %string.addr, align 8 + %0 = load i8*, i8** %string.addr, align 8 + %1 = load i8*, i8** %string.addr, align 8 + %call = call i64 @strlen(i8* %1) #24 + %add = add i64 %call, 1 + %call1 = call i8* @xmemdup(i8* %0, i64 %add) + ret i8* %call1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @setlocale_null(i32 %category) #3 { +entry: + %category.addr = alloca i32, align 4 + store i32 %category, i32* %category.addr, align 4 + %0 = load i32, i32* %category.addr, align 4 + %call = call i8* @setlocale_null_androidfix(i32 %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isalnum(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock121 + +NodeBlock121: ; preds = %entry + %case.cmp122 = icmp eq i32 %0, 48 + br i1 %case.cmp122, label %sw.bb, label %NodeBlock119 + +NodeBlock119: ; preds = %NodeBlock121 + %case.cmp120 = icmp eq i32 %0, 49 + br i1 %case.cmp120, label %sw.bb, label %NodeBlock117 + +NodeBlock117: ; preds = %NodeBlock119 + %case.cmp118 = icmp eq i32 %0, 50 + br i1 %case.cmp118, label %sw.bb, label %NodeBlock115 + +NodeBlock115: ; preds = %NodeBlock117 + %case.cmp116 = icmp eq i32 %0, 51 + br i1 %case.cmp116, label %sw.bb, label %NodeBlock113 + +NodeBlock113: ; preds = %NodeBlock115 + %case.cmp114 = icmp eq i32 %0, 52 + br i1 %case.cmp114, label %sw.bb, label %NodeBlock111 + +NodeBlock111: ; preds = %NodeBlock113 + %case.cmp112 = icmp eq i32 %0, 53 + br i1 %case.cmp112, label %sw.bb, label %NodeBlock109 + +NodeBlock109: ; preds = %NodeBlock111 + %case.cmp110 = icmp eq i32 %0, 54 + br i1 %case.cmp110, label %sw.bb, label %NodeBlock107 + +NodeBlock107: ; preds = %NodeBlock109 + %case.cmp108 = icmp eq i32 %0, 55 + br i1 %case.cmp108, label %sw.bb, label %NodeBlock105 + +NodeBlock105: ; preds = %NodeBlock107 + %case.cmp106 = icmp eq i32 %0, 56 + br i1 %case.cmp106, label %sw.bb, label %NodeBlock103 + +NodeBlock103: ; preds = %NodeBlock105 + %case.cmp104 = icmp eq i32 %0, 57 + br i1 %case.cmp104, label %sw.bb, label %NodeBlock101 + +NodeBlock101: ; preds = %NodeBlock103 + %case.cmp102 = icmp eq i32 %0, 97 + br i1 %case.cmp102, label %sw.bb, label %NodeBlock99 + +NodeBlock99: ; preds = %NodeBlock101 + %case.cmp100 = icmp eq i32 %0, 98 + br i1 %case.cmp100, label %sw.bb, label %NodeBlock97 + +NodeBlock97: ; preds = %NodeBlock99 + %case.cmp98 = icmp eq i32 %0, 99 + br i1 %case.cmp98, label %sw.bb, label %NodeBlock95 + +NodeBlock95: ; preds = %NodeBlock97 + %case.cmp96 = icmp eq i32 %0, 100 + br i1 %case.cmp96, label %sw.bb, label %NodeBlock93 + +NodeBlock93: ; preds = %NodeBlock95 + %case.cmp94 = icmp eq i32 %0, 101 + br i1 %case.cmp94, label %sw.bb, label %NodeBlock91 + +NodeBlock91: ; preds = %NodeBlock93 + %case.cmp92 = icmp eq i32 %0, 102 + br i1 %case.cmp92, label %sw.bb, label %NodeBlock89 + +NodeBlock89: ; preds = %NodeBlock91 + %case.cmp90 = icmp eq i32 %0, 103 + br i1 %case.cmp90, label %sw.bb, label %NodeBlock87 + +NodeBlock87: ; preds = %NodeBlock89 + %case.cmp88 = icmp eq i32 %0, 104 + br i1 %case.cmp88, label %sw.bb, label %NodeBlock85 + +NodeBlock85: ; preds = %NodeBlock87 + %case.cmp86 = icmp eq i32 %0, 105 + br i1 %case.cmp86, label %sw.bb, label %NodeBlock83 + +NodeBlock83: ; preds = %NodeBlock85 + %case.cmp84 = icmp eq i32 %0, 106 + br i1 %case.cmp84, label %sw.bb, label %NodeBlock81 + +NodeBlock81: ; preds = %NodeBlock83 + %case.cmp82 = icmp eq i32 %0, 107 + br i1 %case.cmp82, label %sw.bb, label %NodeBlock79 + +NodeBlock79: ; preds = %NodeBlock81 + %case.cmp80 = icmp eq i32 %0, 108 + br i1 %case.cmp80, label %sw.bb, label %NodeBlock77 + +NodeBlock77: ; preds = %NodeBlock79 + %case.cmp78 = icmp eq i32 %0, 109 + br i1 %case.cmp78, label %sw.bb, label %NodeBlock75 + +NodeBlock75: ; preds = %NodeBlock77 + %case.cmp76 = icmp eq i32 %0, 110 + br i1 %case.cmp76, label %sw.bb, label %NodeBlock73 + +NodeBlock73: ; preds = %NodeBlock75 + %case.cmp74 = icmp eq i32 %0, 111 + br i1 %case.cmp74, label %sw.bb, label %NodeBlock71 + +NodeBlock71: ; preds = %NodeBlock73 + %case.cmp72 = icmp eq i32 %0, 112 + br i1 %case.cmp72, label %sw.bb, label %NodeBlock69 + +NodeBlock69: ; preds = %NodeBlock71 + %case.cmp70 = icmp eq i32 %0, 113 + br i1 %case.cmp70, label %sw.bb, label %NodeBlock67 + +NodeBlock67: ; preds = %NodeBlock69 + %case.cmp68 = icmp eq i32 %0, 114 + br i1 %case.cmp68, label %sw.bb, label %NodeBlock65 + +NodeBlock65: ; preds = %NodeBlock67 + %case.cmp66 = icmp eq i32 %0, 115 + br i1 %case.cmp66, label %sw.bb, label %NodeBlock63 + +NodeBlock63: ; preds = %NodeBlock65 + %case.cmp64 = icmp eq i32 %0, 116 + br i1 %case.cmp64, label %sw.bb, label %NodeBlock61 + +NodeBlock61: ; preds = %NodeBlock63 + %case.cmp62 = icmp eq i32 %0, 117 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 118 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 119 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 120 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 121 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 122 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 65 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 66 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 67 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 68 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 69 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 70 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 71 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 72 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 73 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 74 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 75 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 76 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 77 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 78 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 79 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 80 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 81 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 82 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 83 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 84 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 85 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 86 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 87 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 88 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 89 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 90 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock121, %NodeBlock119, %NodeBlock117, %NodeBlock115, %NodeBlock113, %NodeBlock111, %NodeBlock109, %NodeBlock107, %NodeBlock105, %NodeBlock103, %NodeBlock101, %NodeBlock99, %NodeBlock97, %NodeBlock95, %NodeBlock93, %NodeBlock91, %NodeBlock89, %NodeBlock87, %NodeBlock85, %NodeBlock83, %NodeBlock81, %NodeBlock79, %NodeBlock77, %NodeBlock75, %NodeBlock73, %NodeBlock71, %NodeBlock69, %NodeBlock67, %NodeBlock65, %NodeBlock63, %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isalpha(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock101 + +NodeBlock101: ; preds = %entry + %case.cmp102 = icmp eq i32 %0, 97 + br i1 %case.cmp102, label %sw.bb, label %NodeBlock99 + +NodeBlock99: ; preds = %NodeBlock101 + %case.cmp100 = icmp eq i32 %0, 98 + br i1 %case.cmp100, label %sw.bb, label %NodeBlock97 + +NodeBlock97: ; preds = %NodeBlock99 + %case.cmp98 = icmp eq i32 %0, 99 + br i1 %case.cmp98, label %sw.bb, label %NodeBlock95 + +NodeBlock95: ; preds = %NodeBlock97 + %case.cmp96 = icmp eq i32 %0, 100 + br i1 %case.cmp96, label %sw.bb, label %NodeBlock93 + +NodeBlock93: ; preds = %NodeBlock95 + %case.cmp94 = icmp eq i32 %0, 101 + br i1 %case.cmp94, label %sw.bb, label %NodeBlock91 + +NodeBlock91: ; preds = %NodeBlock93 + %case.cmp92 = icmp eq i32 %0, 102 + br i1 %case.cmp92, label %sw.bb, label %NodeBlock89 + +NodeBlock89: ; preds = %NodeBlock91 + %case.cmp90 = icmp eq i32 %0, 103 + br i1 %case.cmp90, label %sw.bb, label %NodeBlock87 + +NodeBlock87: ; preds = %NodeBlock89 + %case.cmp88 = icmp eq i32 %0, 104 + br i1 %case.cmp88, label %sw.bb, label %NodeBlock85 + +NodeBlock85: ; preds = %NodeBlock87 + %case.cmp86 = icmp eq i32 %0, 105 + br i1 %case.cmp86, label %sw.bb, label %NodeBlock83 + +NodeBlock83: ; preds = %NodeBlock85 + %case.cmp84 = icmp eq i32 %0, 106 + br i1 %case.cmp84, label %sw.bb, label %NodeBlock81 + +NodeBlock81: ; preds = %NodeBlock83 + %case.cmp82 = icmp eq i32 %0, 107 + br i1 %case.cmp82, label %sw.bb, label %NodeBlock79 + +NodeBlock79: ; preds = %NodeBlock81 + %case.cmp80 = icmp eq i32 %0, 108 + br i1 %case.cmp80, label %sw.bb, label %NodeBlock77 + +NodeBlock77: ; preds = %NodeBlock79 + %case.cmp78 = icmp eq i32 %0, 109 + br i1 %case.cmp78, label %sw.bb, label %NodeBlock75 + +NodeBlock75: ; preds = %NodeBlock77 + %case.cmp76 = icmp eq i32 %0, 110 + br i1 %case.cmp76, label %sw.bb, label %NodeBlock73 + +NodeBlock73: ; preds = %NodeBlock75 + %case.cmp74 = icmp eq i32 %0, 111 + br i1 %case.cmp74, label %sw.bb, label %NodeBlock71 + +NodeBlock71: ; preds = %NodeBlock73 + %case.cmp72 = icmp eq i32 %0, 112 + br i1 %case.cmp72, label %sw.bb, label %NodeBlock69 + +NodeBlock69: ; preds = %NodeBlock71 + %case.cmp70 = icmp eq i32 %0, 113 + br i1 %case.cmp70, label %sw.bb, label %NodeBlock67 + +NodeBlock67: ; preds = %NodeBlock69 + %case.cmp68 = icmp eq i32 %0, 114 + br i1 %case.cmp68, label %sw.bb, label %NodeBlock65 + +NodeBlock65: ; preds = %NodeBlock67 + %case.cmp66 = icmp eq i32 %0, 115 + br i1 %case.cmp66, label %sw.bb, label %NodeBlock63 + +NodeBlock63: ; preds = %NodeBlock65 + %case.cmp64 = icmp eq i32 %0, 116 + br i1 %case.cmp64, label %sw.bb, label %NodeBlock61 + +NodeBlock61: ; preds = %NodeBlock63 + %case.cmp62 = icmp eq i32 %0, 117 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 118 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 119 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 120 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 121 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 122 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 65 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 66 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 67 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 68 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 69 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 70 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 71 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 72 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 73 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 74 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 75 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 76 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 77 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 78 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 79 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 80 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 81 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 82 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 83 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 84 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 85 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 86 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 87 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 88 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 89 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 90 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock101, %NodeBlock99, %NodeBlock97, %NodeBlock95, %NodeBlock93, %NodeBlock91, %NodeBlock89, %NodeBlock87, %NodeBlock85, %NodeBlock83, %NodeBlock81, %NodeBlock79, %NodeBlock77, %NodeBlock75, %NodeBlock73, %NodeBlock71, %NodeBlock69, %NodeBlock67, %NodeBlock65, %NodeBlock63, %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isascii(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %switch = icmp ult i32 %0, 128 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isblank(i32 %c) #3 { +entry: + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %cmp = icmp eq i32 %0, 32 + %1 = load i32, i32* %c.addr, align 4 + %cmp1 = icmp eq i32 %1, 9 + %2 = select i1 %cmp, i1 true, i1 %cmp1 + ret i1 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_iscntrl(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock63 + +NodeBlock63: ; preds = %entry + %case.cmp64 = icmp eq i32 %0, 7 + br i1 %case.cmp64, label %sw.bb, label %NodeBlock61 + +NodeBlock61: ; preds = %NodeBlock63 + %case.cmp62 = icmp eq i32 %0, 8 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 12 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 10 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 13 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 9 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 11 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 0 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 1 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 2 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 3 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 4 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 5 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 6 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 14 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 15 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 16 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 17 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 18 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 19 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 20 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 21 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 22 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 23 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 24 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 25 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 26 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 27 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 28 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 29 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 30 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 31 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 127 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock63, %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isdigit(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -48 + %switch = icmp ult i32 %.off, 10 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isgraph(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -33 + %switch = icmp ult i32 %.off, 94 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_islower(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -97 + %switch = icmp ult i32 %.off, 26 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isprint(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -32 + %switch = icmp ult i32 %.off, 95 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_ispunct(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock61 + +NodeBlock61: ; preds = %entry + %case.cmp62 = icmp eq i32 %0, 33 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 34 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 35 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 36 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 37 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 38 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 39 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 40 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 41 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 42 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 43 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 44 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 45 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 46 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 47 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 58 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 59 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 60 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 61 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 62 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 63 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 64 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 91 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 92 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 93 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 94 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 95 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 96 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 123 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 124 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 125 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 126 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isspace(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock9 + +NodeBlock9: ; preds = %entry + %case.cmp10 = icmp eq i32 %0, 32 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 9 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 10 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 11 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 12 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 13 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isupper(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -65 + %switch = icmp ult i32 %.off, 26 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isxdigit(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock41 + +NodeBlock41: ; preds = %entry + %case.cmp42 = icmp eq i32 %0, 48 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 49 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 50 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 51 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 52 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 53 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 54 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 55 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 56 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 57 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 97 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 98 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 99 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 100 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 101 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 102 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 65 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 66 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 67 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 68 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 69 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 70 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @c_toupper(i32 %c) #3 { +entry: + %retval = alloca i32, align 4 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -97 + %switch = icmp ult i32 %.off, 26 + %1 = load i32, i32* %c.addr, align 4 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + %sub = sub nsw i32 %1, 97 + %add = add nsw i32 %sub, 65 + store i32 %add, i32* %retval, align 4 + br label %return + +sw.default: ; preds = %entry + store i32 %1, i32* %retval, align 4 + br label %return + +return: ; preds = %sw.default, %sw.bb + %2 = load i32, i32* %retval, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @klee_init_fds(i32 %n_files, i32 %file_length, i32 %stdin_length, i32 %sym_stdout_flag, i32 %save_all_writes_flag, i32 %max_failures) #3 { +entry: + %n_files.addr = alloca i32, align 4 + %file_length.addr = alloca i32, align 4 + %stdin_length.addr = alloca i32, align 4 + %sym_stdout_flag.addr = alloca i32, align 4 + %save_all_writes_flag.addr = alloca i32, align 4 + %max_failures.addr = alloca i32, align 4 + %k = alloca i32, align 4 + %name = alloca [7 x i8], align 1 + %s = alloca %struct.stat64, align 8 + store i32 %n_files, i32* %n_files.addr, align 4 + store i32 %file_length, i32* %file_length.addr, align 4 + store i32 %stdin_length, i32* %stdin_length.addr, align 4 + store i32 %sym_stdout_flag, i32* %sym_stdout_flag.addr, align 4 + store i32 %save_all_writes_flag, i32* %save_all_writes_flag.addr, align 4 + store i32 %max_failures, i32* %max_failures.addr, align 4 + %0 = bitcast [7 x i8]* %name to i8* + %1 = call i8* @memcpy(i8* %0, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @__const.klee_init_fds.name, i32 0, i32 0), i64 7) + %call = call i32 @stat64(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.149, i64 0, i64 0), %struct.stat64* %s) #11 + %2 = load i32, i32* %n_files.addr, align 4 + store i32 %2, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %3 = load i32, i32* %n_files.addr, align 4 + %conv = zext i32 %3 to i64 + %mul = mul i64 24, %conv + %call1 = call noalias i8* @malloc(i64 %mul) #11 + %4 = bitcast i8* %call1 to %struct.exe_disk_file_t* + store %struct.exe_disk_file_t* %4, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %5 = load i32, i32* %n_files.addr, align 4 + %tobool = icmp eq i32 %5, 0 + %6 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %6, null + %or.cond = or i1 %tobool, %tobool2 + br i1 %or.cond, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @gs_report_error.153(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.150, i64 0, i64 0), i32 124, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.151, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.152, i64 0, i64 0)) #25 + unreachable + +if.end: ; preds = %entry + store i32 0, i32* %k, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %7 = load i32, i32* %k, align 4 + %8 = load i32, i32* %n_files.addr, align 4 + %cmp = icmp ult i32 %7, %8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %9 = load i32, i32* %k, align 4 + %add = add i32 65, %9 + %conv4 = trunc i32 %add to i8 + %arrayidx = getelementptr inbounds [7 x i8], [7 x i8]* %name, i64 0, i64 0 + store i8 %conv4, i8* %arrayidx, align 1 + %10 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %11 = load i32, i32* %k, align 4 + %idxprom = zext i32 %11 to i64 + %arrayidx5 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %10, i64 %idxprom + %12 = load i32, i32* %file_length.addr, align 4 + %arraydecay = getelementptr inbounds [7 x i8], [7 x i8]* %name, i64 0, i64 0 + call void @__create_new_dfile(%struct.exe_disk_file_t* %arrayidx5, i32 %12, i8* %arraydecay, %struct.stat64* %s) + %13 = load i32, i32* %k, align 4 + %inc = add i32 %13, 1 + store i32 %inc, i32* %k, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %14 = load i32, i32* %stdin_length.addr, align 4 + %tobool6 = icmp ne i32 %14, 0 + br i1 %tobool6, label %if.then7, label %if.else + +if.then7: ; preds = %for.end + %call8 = call noalias i8* @malloc(i64 24) #11 + %15 = bitcast i8* %call8 to %struct.exe_disk_file_t* + store %struct.exe_disk_file_t* %15, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + %16 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + %tobool9 = icmp ne %struct.exe_disk_file_t* %16, null + br i1 %tobool9, label %if.end11, label %if.then10 + +if.then10: ; preds = %if.then7 + call void @gs_report_error.153(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.150, i64 0, i64 0), i32 135, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.151, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.152, i64 0, i64 0)) #25 + unreachable + +if.end11: ; preds = %if.then7 + %17 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + %18 = load i32, i32* %stdin_length.addr, align 4 + call void @__create_new_dfile(%struct.exe_disk_file_t* %17, i32 %18, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.4.154, i64 0, i64 0), %struct.stat64* %s) + %19 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + store %struct.exe_disk_file_t* %19, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0, i64 0, i32 3), align 8 + br label %if.end12 + +if.else: ; preds = %for.end + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + br label %if.end12 + +if.end12: ; preds = %if.else, %if.end11 + %20 = load i32, i32* %max_failures.addr, align 4 + store i32 %20, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %21 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool13 = icmp ne i32 %21, 0 + br i1 %tobool13, label %if.then14, label %if.end31 + +if.then14: ; preds = %if.end12 + %call15 = call noalias i8* @malloc(i64 4) #11 + %22 = bitcast i8* %call15 to i32* + store i32* %22, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %call16 = call noalias i8* @malloc(i64 4) #11 + %23 = bitcast i8* %call16 to i32* + store i32* %23, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %call17 = call noalias i8* @malloc(i64 4) #11 + %24 = bitcast i8* %call17 to i32* + store i32* %24, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %call18 = call noalias i8* @malloc(i64 4) #11 + %25 = bitcast i8* %call18 to i32* + store i32* %25, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %call19 = call noalias i8* @malloc(i64 4) #11 + %26 = bitcast i8* %call19 to i32* + store i32* %26, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %27 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %tobool20 = icmp ne i32* %27, null + %28 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %tobool22 = icmp ne i32* %28, null + %or.cond1 = and i1 %tobool20, %tobool22 + %29 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %tobool24 = icmp ne i32* %29, null + %or.cond2 = and i1 %or.cond1, %tobool24 + %30 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %tobool26 = icmp ne i32* %30, null + %or.cond3 = and i1 %or.cond2, %tobool26 + %31 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %tobool28 = icmp ne i32* %31, null + %or.cond4 = and i1 %or.cond3, %tobool28 + br i1 %or.cond4, label %if.end30, label %if.then29 + +if.then29: ; preds = %if.then14 + call void @gs_report_error.153(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.150, i64 0, i64 0), i32 150, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.151, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.152, i64 0, i64 0)) #25 + unreachable + +if.end30: ; preds = %if.then14 + %32 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %33 = bitcast i32* %32 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %33, i64 4, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.5.155, i64 0, i64 0)) + %34 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %35 = bitcast i32* %34 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %35, i64 4, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.6.156, i64 0, i64 0)) + %36 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %37 = bitcast i32* %36 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %37, i64 4, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.7.157, i64 0, i64 0)) + %38 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %39 = bitcast i32* %38 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %39, i64 4, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.8.158, i64 0, i64 0)) + %40 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %41 = bitcast i32* %40 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %41, i64 4, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.9.159, i64 0, i64 0)) + br label %if.end31 + +if.end31: ; preds = %if.end30, %if.end12 + %42 = load i32, i32* %sym_stdout_flag.addr, align 4 + %tobool32 = icmp ne i32 %42, 0 + br i1 %tobool32, label %if.then33, label %if.else38 + +if.then33: ; preds = %if.end31 + %call34 = call noalias i8* @malloc(i64 24) #11 + %43 = bitcast i8* %call34 to %struct.exe_disk_file_t* + store %struct.exe_disk_file_t* %43, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + %44 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + %tobool35 = icmp ne %struct.exe_disk_file_t* %44, null + br i1 %tobool35, label %if.end37, label %if.then36 + +if.then36: ; preds = %if.then33 + call void @gs_report_error.153(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.150, i64 0, i64 0), i32 163, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.151, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.152, i64 0, i64 0)) #25 + unreachable + +if.end37: ; preds = %if.then33 + %45 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + call void @__create_new_dfile(%struct.exe_disk_file_t* %45, i32 1024, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.10.160, i64 0, i64 0), %struct.stat64* %s) + %46 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + store %struct.exe_disk_file_t* %46, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0, i64 1, i32 3), align 8 + store i32 0, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 3), align 8 + br label %if.end39 + +if.else38: ; preds = %if.end31 + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + br label %if.end39 + +if.end39: ; preds = %if.else38, %if.end37 + %47 = load i32, i32* %save_all_writes_flag.addr, align 4 + store i32 %47, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 3), align 8 + %call40 = call i32 @__sym_uint32(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.11.161, i64 0, i64 0)) + store i32 %call40, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 2), align 4 + %48 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 2), align 4 + %cmp41 = icmp eq i32 %48, 1 + call void @gs_assume(i1 zeroext %cmp41) + ret void +} + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error.153(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.164, i64 0, i64 0)) + call void @stop(i32 -1) #25 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__create_new_dfile(%struct.exe_disk_file_t* %dfile, i32 %size, i8* %name, %struct.stat64* %defaults) #3 { +entry: + %dfile.addr = alloca %struct.exe_disk_file_t*, align 8 + %size.addr = alloca i32, align 4 + %name.addr = alloca i8*, align 8 + %defaults.addr = alloca %struct.stat64*, align 8 + %s = alloca %struct.stat64*, align 8 + %sp = alloca i8*, align 8 + %sname = alloca [64 x i8], align 16 + store %struct.exe_disk_file_t* %dfile, %struct.exe_disk_file_t** %dfile.addr, align 8 + store i32 %size, i32* %size.addr, align 4 + store i8* %name, i8** %name.addr, align 8 + store %struct.stat64* %defaults, %struct.stat64** %defaults.addr, align 8 + %call = call noalias i8* @malloc(i64 144) #11 + %0 = bitcast i8* %call to %struct.stat64* + store %struct.stat64* %0, %struct.stat64** %s, align 8 + %1 = load %struct.stat64*, %struct.stat64** %s, align 8 + %tobool = icmp ne %struct.stat64* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @gs_report_error.153(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.150, i64 0, i64 0), i32 47, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.151, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.152, i64 0, i64 0)) #25 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %name.addr, align 8 + store i8* %2, i8** %sp, align 8 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %3 = load i8*, i8** %sp, align 8 + %4 = load i8, i8* %3, align 1 + %tobool1 = icmp ne i8 %4, 0 + %5 = load i8*, i8** %sp, align 8 + br i1 %tobool1, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %6 = load i8, i8* %5, align 1 + %7 = load i8*, i8** %sp, align 8 + %8 = load i8*, i8** %name.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %8 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %arrayidx = getelementptr inbounds [64 x i8], [64 x i8]* %sname, i64 0, i64 %sub.ptr.sub + store i8 %6, i8* %arrayidx, align 1 + %9 = load i8*, i8** %sp, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %sp, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %10 = load i8*, i8** %name.addr, align 8 + %sub.ptr.lhs.cast2 = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast3 = ptrtoint i8* %10 to i64 + %sub.ptr.sub4 = sub i64 %sub.ptr.lhs.cast2, %sub.ptr.rhs.cast3 + %arrayidx5 = getelementptr inbounds [64 x i8], [64 x i8]* %sname, i64 0, i64 %sub.ptr.sub4 + %11 = call i8* @memcpy(i8* %arrayidx5, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.13.162, i64 0, i64 0), i64 6) + %12 = load i32, i32* %size.addr, align 4 + %tobool6 = icmp ne i32 %12, 0 + br i1 %tobool6, label %if.end8, label %if.else + +if.else: ; preds = %for.end + call void @__assert_fail(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.14.163, i64 0, i64 0), i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.150, i64 0, i64 0), i32 55, i8* getelementptr inbounds ([88 x i8], [88 x i8]* @__PRETTY_FUNCTION__.__create_new_dfile, i64 0, i64 0)) #27 + unreachable + +if.end8: ; preds = %for.end + %13 = load i32, i32* %size.addr, align 4 + %14 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size9 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %14, i32 0, i32 0 + store i32 %13, i32* %size9, align 8 + %15 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size10 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %15, i32 0, i32 0 + %16 = load i32, i32* %size10, align 8 + %conv = zext i32 %16 to i64 + %call11 = call noalias i8* @malloc(i64 %conv) #11 + %17 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %contents = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %17, i32 0, i32 1 + store i8* %call11, i8** %contents, align 8 + %18 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %contents12 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %18, i32 0, i32 1 + %19 = load i8*, i8** %contents12, align 8 + %tobool13 = icmp ne i8* %19, null + br i1 %tobool13, label %if.end15, label %if.then14 + +if.then14: ; preds = %if.end8 + call void @gs_report_error.153(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.150, i64 0, i64 0), i32 60, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.151, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.152, i64 0, i64 0)) #25 + unreachable + +if.end15: ; preds = %if.end8 + %20 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %contents16 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %20, i32 0, i32 1 + %21 = load i8*, i8** %contents16, align 8 + %22 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size17 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %22, i32 0, i32 0 + %23 = load i32, i32* %size17, align 8 + %conv18 = zext i32 %23 to i64 + %24 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %21, i64 %conv18, i8* %24) + %25 = load %struct.stat64*, %struct.stat64** %s, align 8 + %26 = bitcast %struct.stat64* %25 to i8* + %arraydecay = getelementptr inbounds [64 x i8], [64 x i8]* %sname, i64 0, i64 0 + call void (i8*, i64, ...) @make_symbolic(i8* %26, i64 144, i8* %arraydecay) + %27 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %27, i32 0, i32 1 + %28 = load i64, i64* %st_ino, align 8 + %call19 = call i32 @gs_is_symbolic(i64 %28) + %tobool20 = icmp ne i32 %call19, 0 + br i1 %tobool20, label %if.end26, label %land.lhs.true + +land.lhs.true: ; preds = %if.end15 + %29 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino21 = getelementptr inbounds %struct.stat64, %struct.stat64* %29, i32 0, i32 1 + %30 = load i64, i64* %st_ino21, align 8 + %and = and i64 %30, 2147483647 + %cmp = icmp eq i64 %and, 0 + br i1 %cmp, label %if.then23, label %if.end26 + +if.then23: ; preds = %land.lhs.true + %31 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_ino24 = getelementptr inbounds %struct.stat64, %struct.stat64* %31, i32 0, i32 1 + %32 = load i64, i64* %st_ino24, align 8 + %33 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino25 = getelementptr inbounds %struct.stat64, %struct.stat64* %33, i32 0, i32 1 + store i64 %32, i64* %st_ino25, align 8 + br label %if.end26 + +if.end26: ; preds = %if.then23, %land.lhs.true, %if.end15 + %34 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino27 = getelementptr inbounds %struct.stat64, %struct.stat64* %34, i32 0, i32 1 + %35 = load i64, i64* %st_ino27, align 8 + %and28 = and i64 %35, 2147483647 + %cmp29 = icmp ne i64 %and28, 0 + call void @gs_assume(i1 zeroext %cmp29) + %36 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_blksize = getelementptr inbounds %struct.stat64, %struct.stat64* %36, i32 0, i32 9 + %37 = load i64, i64* %st_blksize, align 8 + %and31 = and i64 %37, -65536 + %cmp32 = icmp eq i64 %and31, 0 + call void @gs_assume(i1 zeroext %cmp32) + %38 = load %struct.stat64*, %struct.stat64** %s, align 8 + %39 = bitcast %struct.stat64* %38 to i8* + %40 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %40, i32 0, i32 3 + %41 = load i32, i32* %st_mode, align 8 + %and34 = and i32 %41, -61952 + %tobool35 = icmp ne i32 %and34, 0 + %lnot = xor i1 %tobool35, true + call void @gs_prefer_cex(i8* %39, i1 zeroext %lnot) + %42 = load %struct.stat64*, %struct.stat64** %s, align 8 + %43 = bitcast %struct.stat64* %42 to i8* + %44 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_dev = getelementptr inbounds %struct.stat64, %struct.stat64* %44, i32 0, i32 0 + %45 = load i64, i64* %st_dev, align 8 + %46 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_dev36 = getelementptr inbounds %struct.stat64, %struct.stat64* %46, i32 0, i32 0 + %47 = load i64, i64* %st_dev36, align 8 + %cmp37 = icmp eq i64 %45, %47 + call void @gs_prefer_cex(i8* %43, i1 zeroext %cmp37) + %48 = load %struct.stat64*, %struct.stat64** %s, align 8 + %49 = bitcast %struct.stat64* %48 to i8* + %50 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_rdev = getelementptr inbounds %struct.stat64, %struct.stat64* %50, i32 0, i32 7 + %51 = load i64, i64* %st_rdev, align 8 + %52 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_rdev39 = getelementptr inbounds %struct.stat64, %struct.stat64* %52, i32 0, i32 7 + %53 = load i64, i64* %st_rdev39, align 8 + %cmp40 = icmp eq i64 %51, %53 + call void @gs_prefer_cex(i8* %49, i1 zeroext %cmp40) + %54 = load %struct.stat64*, %struct.stat64** %s, align 8 + %55 = bitcast %struct.stat64* %54 to i8* + %56 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode42 = getelementptr inbounds %struct.stat64, %struct.stat64* %56, i32 0, i32 3 + %57 = load i32, i32* %st_mode42, align 8 + %and43 = and i32 %57, 448 + %cmp44 = icmp eq i32 %and43, 384 + call void @gs_prefer_cex(i8* %55, i1 zeroext %cmp44) + %58 = load %struct.stat64*, %struct.stat64** %s, align 8 + %59 = bitcast %struct.stat64* %58 to i8* + %60 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode46 = getelementptr inbounds %struct.stat64, %struct.stat64* %60, i32 0, i32 3 + %61 = load i32, i32* %st_mode46, align 8 + %and47 = and i32 %61, 56 + %cmp48 = icmp eq i32 %and47, 32 + call void @gs_prefer_cex(i8* %59, i1 zeroext %cmp48) + %62 = load %struct.stat64*, %struct.stat64** %s, align 8 + %63 = bitcast %struct.stat64* %62 to i8* + %64 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode50 = getelementptr inbounds %struct.stat64, %struct.stat64* %64, i32 0, i32 3 + %65 = load i32, i32* %st_mode50, align 8 + %and51 = and i32 %65, 7 + %cmp52 = icmp eq i32 %and51, 4 + call void @gs_prefer_cex(i8* %63, i1 zeroext %cmp52) + %66 = load %struct.stat64*, %struct.stat64** %s, align 8 + %67 = bitcast %struct.stat64* %66 to i8* + %68 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode54 = getelementptr inbounds %struct.stat64, %struct.stat64* %68, i32 0, i32 3 + %69 = load i32, i32* %st_mode54, align 8 + %and55 = and i32 %69, 61440 + %cmp56 = icmp eq i32 %and55, 32768 + call void @gs_prefer_cex(i8* %67, i1 zeroext %cmp56) + %70 = load %struct.stat64*, %struct.stat64** %s, align 8 + %71 = bitcast %struct.stat64* %70 to i8* + %72 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_nlink = getelementptr inbounds %struct.stat64, %struct.stat64* %72, i32 0, i32 2 + %73 = load i64, i64* %st_nlink, align 8 + %cmp58 = icmp eq i64 %73, 1 + call void @gs_prefer_cex(i8* %71, i1 zeroext %cmp58) + %74 = load %struct.stat64*, %struct.stat64** %s, align 8 + %75 = bitcast %struct.stat64* %74 to i8* + %76 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_uid = getelementptr inbounds %struct.stat64, %struct.stat64* %76, i32 0, i32 4 + %77 = load i32, i32* %st_uid, align 4 + %78 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_uid60 = getelementptr inbounds %struct.stat64, %struct.stat64* %78, i32 0, i32 4 + %79 = load i32, i32* %st_uid60, align 4 + %cmp61 = icmp eq i32 %77, %79 + call void @gs_prefer_cex(i8* %75, i1 zeroext %cmp61) + %80 = load %struct.stat64*, %struct.stat64** %s, align 8 + %81 = bitcast %struct.stat64* %80 to i8* + %82 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_gid = getelementptr inbounds %struct.stat64, %struct.stat64* %82, i32 0, i32 5 + %83 = load i32, i32* %st_gid, align 8 + %84 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_gid63 = getelementptr inbounds %struct.stat64, %struct.stat64* %84, i32 0, i32 5 + %85 = load i32, i32* %st_gid63, align 8 + %cmp64 = icmp eq i32 %83, %85 + call void @gs_prefer_cex(i8* %81, i1 zeroext %cmp64) + %86 = load %struct.stat64*, %struct.stat64** %s, align 8 + %87 = bitcast %struct.stat64* %86 to i8* + %88 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_blksize66 = getelementptr inbounds %struct.stat64, %struct.stat64* %88, i32 0, i32 9 + %89 = load i64, i64* %st_blksize66, align 8 + %cmp67 = icmp eq i64 %89, 4096 + call void @gs_prefer_cex(i8* %87, i1 zeroext %cmp67) + %90 = load %struct.stat64*, %struct.stat64** %s, align 8 + %91 = bitcast %struct.stat64* %90 to i8* + %92 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_atim = getelementptr inbounds %struct.stat64, %struct.stat64* %92, i32 0, i32 11 + %tv_sec = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %st_atim, i32 0, i32 0 + %93 = load i64, i64* %tv_sec, align 8 + %94 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_atim69 = getelementptr inbounds %struct.stat64, %struct.stat64* %94, i32 0, i32 11 + %tv_sec70 = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %st_atim69, i32 0, i32 0 + %95 = load i64, i64* %tv_sec70, align 8 + %cmp71 = icmp eq i64 %93, %95 + call void @gs_prefer_cex(i8* %91, i1 zeroext %cmp71) + %96 = load %struct.stat64*, %struct.stat64** %s, align 8 + %97 = bitcast %struct.stat64* %96 to i8* + %98 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mtim = getelementptr inbounds %struct.stat64, %struct.stat64* %98, i32 0, i32 12 + %tv_sec73 = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %st_mtim, i32 0, i32 0 + %99 = load i64, i64* %tv_sec73, align 8 + %100 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_mtim74 = getelementptr inbounds %struct.stat64, %struct.stat64* %100, i32 0, i32 12 + %tv_sec75 = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %st_mtim74, i32 0, i32 0 + %101 = load i64, i64* %tv_sec75, align 8 + %cmp76 = icmp eq i64 %99, %101 + call void @gs_prefer_cex(i8* %97, i1 zeroext %cmp76) + %102 = load %struct.stat64*, %struct.stat64** %s, align 8 + %103 = bitcast %struct.stat64* %102 to i8* + %104 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ctim = getelementptr inbounds %struct.stat64, %struct.stat64* %104, i32 0, i32 13 + %tv_sec78 = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %st_ctim, i32 0, i32 0 + %105 = load i64, i64* %tv_sec78, align 8 + %106 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_ctim79 = getelementptr inbounds %struct.stat64, %struct.stat64* %106, i32 0, i32 13 + %tv_sec80 = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %st_ctim79, i32 0, i32 0 + %107 = load i64, i64* %tv_sec80, align 8 + %cmp81 = icmp eq i64 %105, %107 + call void @gs_prefer_cex(i8* %103, i1 zeroext %cmp81) + %108 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size83 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %108, i32 0, i32 0 + %109 = load i32, i32* %size83, align 8 + %conv84 = zext i32 %109 to i64 + %110 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_size = getelementptr inbounds %struct.stat64, %struct.stat64* %110, i32 0, i32 8 + store i64 %conv84, i64* %st_size, align 8 + %111 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_blocks = getelementptr inbounds %struct.stat64, %struct.stat64* %111, i32 0, i32 10 + store i64 8, i64* %st_blocks, align 8 + %112 = load %struct.stat64*, %struct.stat64** %s, align 8 + %113 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %113, i32 0, i32 2 + store %struct.stat64* %112, %struct.stat64** %stat, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__sym_uint32(i8* %name) #3 { +entry: + %name.addr = alloca i8*, align 8 + %x = alloca i32, align 4 + store i8* %name, i8** %name.addr, align 8 + %0 = bitcast i32* %x to i8* + %1 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %0, i64 4, i8* %1) + %2 = load i32, i32* %x, align 4 + ret i32 %2 +} + +declare dso_local void @gs_prefer_cex(i8*, i1 zeroext) #5 + +; Function Attrs: noinline nounwind uwtable +define weak hidden i32 @__syscall_rt_sigaction(i32 %signum, %struct.sigaction.802* %act, %struct.sigaction.802* %oldact, i64 %_something) #3 { +entry: + %signum.addr = alloca i32, align 4 + %act.addr = alloca %struct.sigaction.802*, align 8 + %oldact.addr = alloca %struct.sigaction.802*, align 8 + %_something.addr = alloca i64, align 8 + store i32 %signum, i32* %signum.addr, align 4 + store %struct.sigaction.802* %act, %struct.sigaction.802** %act.addr, align 8 + store %struct.sigaction.802* %oldact, %struct.sigaction.802** %oldact.addr, align 8 + store i64 %_something, i64* %_something.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.165, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @sigaction(i32 %signum, %struct.sigaction.802* %act, %struct.sigaction.802* %oldact) #3 { +entry: + %signum.addr = alloca i32, align 4 + %act.addr = alloca %struct.sigaction.802*, align 8 + %oldact.addr = alloca %struct.sigaction.802*, align 8 + store i32 %signum, i32* %signum.addr, align 4 + store %struct.sigaction.802* %act, %struct.sigaction.802** %act.addr, align 8 + store %struct.sigaction.802* %oldact, %struct.sigaction.802** %oldact.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.165, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @sigprocmask(i32 %how, %struct.fd_set* %set, %struct.fd_set* %oldset) #3 { +entry: + %how.addr = alloca i32, align 4 + %set.addr = alloca %struct.fd_set*, align 8 + %oldset.addr = alloca %struct.fd_set*, align 8 + store i32 %how, i32* %how.addr, align 4 + store %struct.fd_set* %set, %struct.fd_set** %set.addr, align 8 + store %struct.fd_set* %oldset, %struct.fd_set** %oldset.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.165, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @fdatasync(i32 %fd) #3 { +entry: + %fd.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local void @sync() #3 { +entry: + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @__socketcall(i32 %type, i32* %args) #3 { +entry: + %type.addr = alloca i32, align 4 + %args.addr = alloca i32*, align 8 + store i32 %type, i32* %type.addr, align 4 + store i32* %args, i32** %args.addr, align 8 + call void @gs_warning.171(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.1.170, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 97, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @gs_warning.171(i8* %message) #3 { +entry: + %message.addr = alloca i8*, align 8 + store i8* %message, i8** %message.addr, align 8 + %0 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %0) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.11.172, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @_IO_getc(%struct._IO_FILE* %f) #3 { +entry: + %f.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %f, %struct._IO_FILE** %f.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %f.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.570*)* @__fgetc_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %0) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @_IO_putc(i32 %c, %struct._IO_FILE* %f) #3 { +entry: + %c.addr = alloca i32, align 4 + %f.addr = alloca %struct._IO_FILE*, align 8 + store i32 %c, i32* %c.addr, align 4 + store %struct._IO_FILE* %f, %struct._IO_FILE** %f.addr, align 8 + %0 = load i32, i32* %c.addr, align 4 + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %f.addr, align 8 + %call = call i32 bitcast (i32 (i32, %struct.__STDIO_FILE_STRUCT.570*)* @__fputc_unlocked to i32 (i32, %struct._IO_FILE*)*)(i32 %0, %struct._IO_FILE* %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mkdir(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + call void @gs_warning.171(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2.175, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 5, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mkfifo(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + call void @gs_warning.171(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2.175, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 5, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mknod(i8* nonnull %pathname, i32 %mode, i64 %dev) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + %dev.addr = alloca i64, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + store i64 %dev, i64* %dev.addr, align 8 + call void @gs_warning.171(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2.175, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 5, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @pipe(i32* %filedes) #3 { +entry: + %filedes.addr = alloca i32*, align 8 + store i32* %filedes, i32** %filedes.addr, align 8 + call void @gs_warning.171(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.3.176, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 23, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @link(i8* nonnull %oldpath, i8* nonnull %newpath) #3 { +entry: + %oldpath.addr = alloca i8*, align 8 + %newpath.addr = alloca i8*, align 8 + store i8* %oldpath, i8** %oldpath.addr, align 8 + store i8* %newpath, i8** %newpath.addr, align 8 + call void @gs_warning.171(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.177, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @symlink(i8* nonnull %oldpath, i8* nonnull %newpath) #3 { +entry: + %oldpath.addr = alloca i8*, align 8 + %newpath.addr = alloca i8*, align 8 + store i8* %oldpath, i8** %oldpath.addr, align 8 + store i8* %newpath, i8** %newpath.addr, align 8 + call void @gs_warning.171(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.177, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @rename(i8* %oldpath, i8* %newpath) #3 { +entry: + %oldpath.addr = alloca i8*, align 8 + %newpath.addr = alloca i8*, align 8 + store i8* %oldpath, i8** %oldpath.addr, align 8 + store i8* %newpath, i8** %newpath.addr, align 8 + call void @gs_warning.171(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.177, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @nanosleep(%struct.timespec.0* %req, %struct.timespec.0* %rem) #3 { +entry: + %req.addr = alloca %struct.timespec.0*, align 8 + %rem.addr = alloca %struct.timespec.0*, align 8 + store %struct.timespec.0* %req, %struct.timespec.0** %req.addr, align 8 + store %struct.timespec.0* %rem, %struct.timespec.0** %rem.addr, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @clock_gettime(i32 %clk_id, %struct.timespec.0* %res) #3 { +entry: + %clk_id.addr = alloca i32, align 4 + %res.addr = alloca %struct.timespec.0*, align 8 + %tv = alloca %struct.timespec.0, align 8 + store i32 %clk_id, i32* %clk_id.addr, align 4 + store %struct.timespec.0* %res, %struct.timespec.0** %res.addr, align 8 + %call = call i32 @gettimeofday(%struct.timespec.0* %tv, i8* null) #11 + %tv_sec = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %tv, i32 0, i32 0 + %0 = load i64, i64* %tv_sec, align 8 + %1 = load %struct.timespec.0*, %struct.timespec.0** %res.addr, align 8 + %tv_sec1 = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %1, i32 0, i32 0 + store i64 %0, i64* %tv_sec1, align 8 + %tv_usec = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %tv, i32 0, i32 1 + %2 = load i64, i64* %tv_usec, align 8 + %mul = mul nsw i64 %2, 1000 + %3 = load %struct.timespec.0*, %struct.timespec.0** %res.addr, align 8 + %tv_nsec = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %3, i32 0, i32 1 + store i64 %mul, i64* %tv_nsec, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @clock_settime(i32 %clk_id, %struct.timespec.0* %res) #3 { +entry: + %clk_id.addr = alloca i32, align 4 + %res.addr = alloca %struct.timespec.0*, align 8 + store i32 %clk_id, i32* %clk_id.addr, align 4 + store %struct.timespec.0* %res, %struct.timespec.0** %res.addr, align 8 + call void @gs_warning.171(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.177, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @time(i64* %t) #3 { +entry: + %t.addr = alloca i64*, align 8 + %tv = alloca %struct.timespec.0, align 8 + store i64* %t, i64** %t.addr, align 8 + %call = call i32 @gettimeofday(%struct.timespec.0* %tv, i8* null) #11 + %0 = load i64*, i64** %t.addr, align 8 + %tobool = icmp ne i64* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %tv_sec = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %tv, i32 0, i32 0 + %1 = load i64, i64* %tv_sec, align 8 + %2 = load i64*, i64** %t.addr, align 8 + store i64 %1, i64* %2, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %tv_sec1 = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %tv, i32 0, i32 0 + %3 = load i64, i64* %tv_sec1, align 8 + ret i64 %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @times(%struct.tms* %buf) #3 { +entry: + %buf.addr = alloca %struct.tms*, align 8 + store %struct.tms* %buf, %struct.tms** %buf.addr, align 8 + %0 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tobool = icmp ne %struct.tms* %0, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + call void @gs_warning.171(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.5.178, i64 0, i64 0)) + br label %if.end + +if.else: ; preds = %entry + call void @gs_warning.171(i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.6.179, i64 0, i64 0)) + %1 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_utime = getelementptr inbounds %struct.tms, %struct.tms* %1, i32 0, i32 0 + store i64 0, i64* %tms_utime, align 8 + %2 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_stime = getelementptr inbounds %struct.tms, %struct.tms* %2, i32 0, i32 1 + store i64 0, i64* %tms_stime, align 8 + %3 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_cutime = getelementptr inbounds %struct.tms, %struct.tms* %3, i32 0, i32 2 + store i64 0, i64* %tms_cutime, align 8 + %4 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_cstime = getelementptr inbounds %struct.tms, %struct.tms* %4, i32 0, i32 3 + store i64 0, i64* %tms_cstime, align 8 + br label %if.end + +if.end: ; preds = %if.else, %if.then + ret i64 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local %struct.utmpx* @getutxent() #3 { +entry: + %call = call %struct.utmp* bitcast (%struct.utmp.325* ()* @getutent to %struct.utmp* ()*)() #11 + %0 = bitcast %struct.utmp* %call to %struct.utmpx* + ret %struct.utmpx* %0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local void @setutxent() #3 { +entry: + call void @setutent() #11 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local void @endutxent() #3 { +entry: + call void @endutent() #11 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @utmpxname(i8* %file) #3 { +entry: + %file.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + %call = call i32 @utmpname(i8* %0) #11 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @euidaccess(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %1 = load i32, i32* %mode.addr, align 4 + %call = call i32 @access(i8* %0, i32 %1) #11 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @eaccess(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %1 = load i32, i32* %mode.addr, align 4 + %call = call i32 @euidaccess(i8* %0, i32 %1) #11 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @group_member(i32 %__gid) #3 { +entry: + %__gid.addr = alloca i32, align 4 + store i32 %__gid, i32* %__gid.addr, align 4 + %0 = load i32, i32* %__gid.addr, align 4 + %call = call i32 @getgid() #11 + %cmp = icmp eq i32 %0, %call + br i1 %cmp, label %lor.end, label %lor.rhs + +lor.rhs: ; preds = %entry + %1 = load i32, i32* %__gid.addr, align 4 + %call1 = call i32 @getegid() #11 + %cmp2 = icmp eq i32 %1, %call1 + br label %lor.end + +lor.end: ; preds = %lor.rhs, %entry + %2 = phi i1 [ true, %entry ], [ %cmp2, %lor.rhs ] + %lor.ext = zext i1 %2 to i32 + ret i32 %lor.ext +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @utime(i8* nonnull %filename, %struct.timespec.0* %buf) #3 { +entry: + %filename.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.timespec.0*, align 8 + store i8* %filename, i8** %filename.addr, align 8 + store %struct.timespec.0* %buf, %struct.timespec.0** %buf.addr, align 8 + call void @gs_warning.171(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.177, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @futimes(i32 %fd, %struct.timespec.0* %times) #3 { +entry: + %fd.addr = alloca i32, align 4 + %times.addr = alloca %struct.timespec.0*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.timespec.0* %times, %struct.timespec.0** %times.addr, align 8 + call void @gs_warning.171(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.7.180, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 9, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind readonly uwtable +define dso_local i32 @strverscmp(i8* nonnull %__s1, i8* nonnull %__s2) #16 { +entry: + %__s1.addr = alloca i8*, align 8 + %__s2.addr = alloca i8*, align 8 + store i8* %__s1, i8** %__s1.addr, align 8 + store i8* %__s2, i8** %__s2.addr, align 8 + %0 = load i8*, i8** %__s1.addr, align 8 + %1 = load i8*, i8** %__s2.addr, align 8 + %call = call i32 @strcmp(i8* %0, i8* %1) #24 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @gnu_dev_major(i64 %__dev) #3 { +entry: + %__dev.addr = alloca i64, align 8 + store i64 %__dev, i64* %__dev.addr, align 8 + %0 = load i64, i64* %__dev.addr, align 8 + %shr = lshr i64 %0, 8 + %and = and i64 %shr, 4095 + %1 = load i64, i64* %__dev.addr, align 8 + %shr1 = lshr i64 %1, 32 + %conv = trunc i64 %shr1 to i32 + %and2 = and i32 %conv, -4096 + %conv3 = zext i32 %and2 to i64 + %or = or i64 %and, %conv3 + %conv4 = trunc i64 %or to i32 + ret i32 %conv4 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @gnu_dev_minor(i64 %__dev) #3 { +entry: + %__dev.addr = alloca i64, align 8 + store i64 %__dev, i64* %__dev.addr, align 8 + %0 = load i64, i64* %__dev.addr, align 8 + %and = and i64 %0, 255 + %1 = load i64, i64* %__dev.addr, align 8 + %shr = lshr i64 %1, 12 + %conv = trunc i64 %shr to i32 + %and1 = and i32 %conv, -256 + %conv2 = zext i32 %and1 to i64 + %or = or i64 %and, %conv2 + %conv3 = trunc i64 %or to i32 + ret i32 %conv3 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i64 @gnu_dev_makedev(i32 %__major, i32 %__minor) #3 { +entry: + %__major.addr = alloca i32, align 4 + %__minor.addr = alloca i32, align 4 + store i32 %__major, i32* %__major.addr, align 4 + store i32 %__minor, i32* %__minor.addr, align 4 + %0 = load i32, i32* %__minor.addr, align 4 + %and = and i32 %0, 255 + %1 = load i32, i32* %__major.addr, align 4 + %and1 = and i32 %1, 4095 + %shl = shl i32 %and1, 8 + %or = or i32 %and, %shl + %conv = zext i32 %or to i64 + %2 = load i32, i32* %__minor.addr, align 4 + %and2 = and i32 %2, -256 + %conv3 = zext i32 %and2 to i64 + %shl4 = shl i64 %conv3, 12 + %or5 = or i64 %conv, %shl4 + %3 = load i32, i32* %__major.addr, align 4 + %and6 = and i32 %3, -4096 + %conv7 = zext i32 %and6 to i64 + %shl8 = shl i64 %conv7, 32 + %or9 = or i64 %or5, %shl8 + ret i64 %or9 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i8* @canonicalize_file_name(i8* nonnull %name) #3 { +entry: + %retval = alloca i8*, align 8 + %name.addr = alloca i8*, align 8 + %resolved_name = alloca i8*, align 8 + store i8* %name, i8** %name.addr, align 8 + %call = call noalias i8* @malloc(i64 4096) #11 + store i8* %call, i8** %resolved_name, align 8 + %0 = load i8*, i8** %resolved_name, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %name.addr, align 8 + %2 = load i8*, i8** %resolved_name, align 8 + %call1 = call i8* @realpath(i8* %1, i8* %2) #11 + %tobool2 = icmp ne i8* %call1, null + %3 = load i8*, i8** %resolved_name, align 8 + br i1 %tobool2, label %if.end4, label %if.then3 + +if.then3: ; preds = %if.end + call void @free(i8* %3) #11 + store i8* null, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %if.end + store i8* %3, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %4 = load i8*, i8** %retval, align 8 + ret i8* %4 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @getloadavg(double* nonnull %loadavg, i32 %nelem) #3 { +entry: + %loadavg.addr = alloca double*, align 8 + %nelem.addr = alloca i32, align 4 + store double* %loadavg, double** %loadavg.addr, align 8 + store i32 %nelem, i32* %nelem.addr, align 4 + call void @gs_warning.171(i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.8.183, i64 0, i64 0)) + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @wait(i32* %status) #3 { +entry: + %status.addr = alloca i32*, align 8 + store i32* %status, i32** %status.addr, align 8 + call void @gs_warning.171(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.184, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @wait3(i32* %status, i32 %options, %struct.rusage* %rusage) #3 { +entry: + %status.addr = alloca i32*, align 8 + %options.addr = alloca i32, align 4 + %rusage.addr = alloca %struct.rusage*, align 8 + store i32* %status, i32** %status.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + store %struct.rusage* %rusage, %struct.rusage** %rusage.addr, align 8 + call void @gs_warning.171(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.184, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @wait4(i32 %pid, i32* %status, i32 %options, %struct.rusage* %rusage) #3 { +entry: + %pid.addr = alloca i32, align 4 + %status.addr = alloca i32*, align 8 + %options.addr = alloca i32, align 4 + %rusage.addr = alloca %struct.rusage*, align 8 + store i32 %pid, i32* %pid.addr, align 4 + store i32* %status, i32** %status.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + store %struct.rusage* %rusage, %struct.rusage** %rusage.addr, align 8 + call void @gs_warning.171(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.184, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @waitpid(i32 %pid, i32* %status, i32 %options) #3 { +entry: + %pid.addr = alloca i32, align 4 + %status.addr = alloca i32*, align 8 + %options.addr = alloca i32, align 4 + store i32 %pid, i32* %pid.addr, align 4 + store i32* %status, i32** %status.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + call void @gs_warning.171(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.184, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @waitid(i32 %idtype, i32 %id, %struct.siginfo_t* %infop, i32 %options) #3 { +entry: + %idtype.addr = alloca i32, align 4 + %id.addr = alloca i32, align 4 + %infop.addr = alloca %struct.siginfo_t*, align 8 + %options.addr = alloca i32, align 4 + store i32 %idtype, i32* %idtype.addr, align 4 + store i32 %id, i32* %id.addr, align 4 + store %struct.siginfo_t* %infop, %struct.siginfo_t** %infop.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + call void @gs_warning.171(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.184, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mount(i8* %source, i8* %target, i8* %filesystemtype, i64 %mountflags, i8* %data) #3 { +entry: + %source.addr = alloca i8*, align 8 + %target.addr = alloca i8*, align 8 + %filesystemtype.addr = alloca i8*, align 8 + %mountflags.addr = alloca i64, align 8 + %data.addr = alloca i8*, align 8 + store i8* %source, i8** %source.addr, align 8 + store i8* %target, i8** %target.addr, align 8 + store i8* %filesystemtype, i8** %filesystemtype.addr, align 8 + store i64 %mountflags, i64* %mountflags.addr, align 8 + store i8* %data, i8** %data.addr, align 8 + call void @gs_warning.171(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.177, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @umount(i8* %target) #3 { +entry: + %target.addr = alloca i8*, align 8 + store i8* %target, i8** %target.addr, align 8 + call void @gs_warning.171(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.177, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @umount2(i8* %target, i32 %flags) #3 { +entry: + %target.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + store i8* %target, i8** %target.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + call void @gs_warning.171(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.177, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @swapon(i8* %path, i32 %swapflags) #3 { +entry: + %path.addr = alloca i8*, align 8 + %swapflags.addr = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store i32 %swapflags, i32* %swapflags.addr, align 4 + call void @gs_warning.171(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.177, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @swapoff(i8* %path) #3 { +entry: + %path.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + call void @gs_warning.171(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.177, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setgid(i32 %gid) #3 { +entry: + %gid.addr = alloca i32, align 4 + store i32 %gid, i32* %gid.addr, align 4 + call void @gs_warning.171(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.10.185, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setgroups(i64 %size, i32* %list) #3 { +entry: + %size.addr = alloca i64, align 8 + %list.addr = alloca i32*, align 8 + store i64 %size, i64* %size.addr, align 8 + store i32* %list, i32** %list.addr, align 8 + call void @gs_warning.171(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.177, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @sethostname(i8* nonnull %name, i64 %len) #3 { +entry: + %name.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + store i8* %name, i8** %name.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + call void @gs_warning.171(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.177, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setpgid(i32 %pid, i32 %pgid) #3 { +entry: + %pid.addr = alloca i32, align 4 + %pgid.addr = alloca i32, align 4 + store i32 %pid, i32* %pid.addr, align 4 + store i32 %pgid, i32* %pgid.addr, align 4 + call void @gs_warning.171(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.177, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setpgrp() #3 { +entry: + call void @gs_warning.171(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.177, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setpriority(i32 %which, i32 %who, i32 %prio) #3 { +entry: + %which.addr = alloca i32, align 4 + %who.addr = alloca i32, align 4 + %prio.addr = alloca i32, align 4 + store i32 %which, i32* %which.addr, align 4 + store i32 %who, i32* %who.addr, align 4 + store i32 %prio, i32* %prio.addr, align 4 + call void @gs_warning.171(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.177, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setresgid(i32 %rgid, i32 %egid, i32 %sgid) #3 { +entry: + %rgid.addr = alloca i32, align 4 + %egid.addr = alloca i32, align 4 + %sgid.addr = alloca i32, align 4 + store i32 %rgid, i32* %rgid.addr, align 4 + store i32 %egid, i32* %egid.addr, align 4 + store i32 %sgid, i32* %sgid.addr, align 4 + call void @gs_warning.171(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.177, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setresuid(i32 %ruid, i32 %euid, i32 %suid) #3 { +entry: + %ruid.addr = alloca i32, align 4 + %euid.addr = alloca i32, align 4 + %suid.addr = alloca i32, align 4 + store i32 %ruid, i32* %ruid.addr, align 4 + store i32 %euid, i32* %euid.addr, align 4 + store i32 %suid, i32* %suid.addr, align 4 + call void @gs_warning.171(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.177, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setrlimit(i32 %resource, %struct.timespec.0* %rlim) #3 { +entry: + %resource.addr = alloca i32, align 4 + %rlim.addr = alloca %struct.timespec.0*, align 8 + store i32 %resource, i32* %resource.addr, align 4 + store %struct.timespec.0* %rlim, %struct.timespec.0** %rlim.addr, align 8 + call void @gs_warning.171(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.177, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setrlimit64(i32 %resource, %struct.timespec.0* %rlim) #3 { +entry: + %resource.addr = alloca i32, align 4 + %rlim.addr = alloca %struct.timespec.0*, align 8 + store i32 %resource, i32* %resource.addr, align 4 + store %struct.timespec.0* %rlim, %struct.timespec.0** %rlim.addr, align 8 + call void @gs_warning.171(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.177, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setsid() #3 { +entry: + call void @gs_warning.171(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.177, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @settimeofday(%struct.timespec.0* %tv, %struct.__mbstate_t.514* %tz) #3 { +entry: + %tv.addr = alloca %struct.timespec.0*, align 8 + %tz.addr = alloca %struct.__mbstate_t.514*, align 8 + store %struct.timespec.0* %tv, %struct.timespec.0** %tv.addr, align 8 + store %struct.__mbstate_t.514* %tz, %struct.__mbstate_t.514** %tz.addr, align 8 + call void @gs_warning.171(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.177, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setuid(i32 %uid) #3 { +entry: + %uid.addr = alloca i32, align 4 + store i32 %uid, i32* %uid.addr, align 4 + call void @gs_warning.171(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.10.185, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @reboot(i32 %flag) #3 { +entry: + %flag.addr = alloca i32, align 4 + store i32 %flag, i32* %flag.addr, align 4 + call void @gs_warning.171(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.177, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mlock(i8* %addr, i64 %len) #3 { +entry: + %addr.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + store i8* %addr, i8** %addr.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + call void @gs_warning.171(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.177, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @munlock(i8* %addr, i64 %len) #3 { +entry: + %addr.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + store i8* %addr, i8** %addr.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + call void @gs_warning.171(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.177, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @pause() #3 { +entry: + call void @gs_warning.171(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.177, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i64 @readahead(i32 %fd, i64* %offset, i64 %count) #3 { +entry: + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64*, align 8 + %count.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64* %offset, i64** %offset.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + call void @gs_warning.171(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.177, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i64 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i8* @mmap(i8* %start, i64 %length, i32 %prot, i32 %flags, i32 %fd, i64 %offset) #3 { +entry: + %start.addr = alloca i8*, align 8 + %length.addr = alloca i64, align 8 + %prot.addr = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + store i8* %start, i8** %start.addr, align 8 + store i64 %length, i64* %length.addr, align 8 + store i32 %prot, i32* %prot.addr, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + call void @gs_warning.171(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.177, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i8* inttoptr (i64 -1 to i8*) +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i8* @mmap64(i8* %start, i64 %length, i32 %prot, i32 %flags, i32 %fd, i64 %offset) #3 { +entry: + %start.addr = alloca i8*, align 8 + %length.addr = alloca i64, align 8 + %prot.addr = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + store i8* %start, i8** %start.addr, align 8 + store i64 %length, i64* %length.addr, align 8 + store i32 %prot, i32* %prot.addr, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + call void @gs_warning.171(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.177, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i8* inttoptr (i64 -1 to i8*) +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @munmap(i8* %start, i64 %length) #3 { +entry: + %start.addr = alloca i8*, align 8 + %length.addr = alloca i64, align 8 + store i8* %start, i8** %start.addr, align 8 + store i64 %length, i64* %length.addr, align 8 + call void @gs_warning.171(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.177, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__locale_mbrtowc_l(i32* noalias %dst, i8* noalias %src, %struct.__uclibc_locale_struct.203* %loc) #0 { +entry: + %retval = alloca i32, align 4 + %dst.addr = alloca i32*, align 8 + %src.addr = alloca i8*, align 8 + %loc.addr = alloca %struct.__uclibc_locale_struct.203*, align 8 + %ps = alloca %struct.__mbstate_t.514, align 4 + %p = alloca i8*, align 8 + %r = alloca i64, align 8 + %wc = alloca i32, align 4 + store i32* %dst, i32** %dst.addr, align 8 + store i8* %src, i8** %src.addr, align 8 + store %struct.__uclibc_locale_struct.203* %loc, %struct.__uclibc_locale_struct.203** %loc.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %loc.addr, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %0, i32 0, i32 9 + %1 = load i8, i8* %encoding, align 8 + %conv = zext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 1 + %2 = load i8*, i8** %src.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i8* %2, i8** %p, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.514, %struct.__mbstate_t.514* %ps, i32 0, i32 0 + store i32 0, i32* %__mask, align 4 + %3 = load i32*, i32** %dst.addr, align 8 + %call = call i64 @_wchar_utf8sntowcs(i32* %3, i64 1, i8** %p, i64 -1, %struct.__mbstate_t.514* %ps, i32 1) #19 + store i64 %call, i64* %r, align 8 + %4 = load i64, i64* %r, align 8 + %cmp2 = icmp eq i64 %4, 1 + %5 = load i8*, i8** %p, align 8 + %6 = load i8*, i8** %src.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %6 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %7 = load i64, i64* %r, align 8 + %cond = select i1 %cmp2, i64 %sub.ptr.sub, i64 %7 + %conv4 = trunc i64 %cond to i32 + store i32 %conv4, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load i8, i8* %2, align 1 + %conv5 = zext i8 %8 to i32 + %9 = load i32*, i32** %dst.addr, align 8 + store i32 %conv5, i32* %9, align 4 + %cmp6 = icmp slt i32 %conv5, 128 + br i1 %cmp6, label %if.then8, label %if.end12 + +if.then8: ; preds = %if.end + %10 = load i8*, i8** %src.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv9 = sext i8 %11 to i32 + %cmp10 = icmp ne i32 %conv9, 0 + %conv11 = zext i1 %cmp10 to i32 + store i32 %conv11, i32* %retval, align 4 + br label %return + +if.end12: ; preds = %if.end + %12 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %loc.addr, align 8 + %encoding13 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %12, i32 0, i32 9 + %13 = load i8, i8* %encoding13, align 8 + %conv14 = zext i8 %13 to i32 + %cmp15 = icmp eq i32 %conv14, 2 + br i1 %cmp15, label %if.then17, label %if.end24 + +if.then17: ; preds = %if.end12 + %14 = load i32*, i32** %dst.addr, align 8 + %15 = load i32, i32* %14, align 4 + %sub = sub nsw i32 %15, 128 + store i32 %sub, i32* %wc, align 4 + %16 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %loc.addr, align 8 + %tbl8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %16, i32 0, i32 17 + %17 = load i16*, i16** %tbl8c2wc, align 8 + %18 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %loc.addr, align 8 + %idx8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %18, i32 0, i32 16 + %19 = load i8*, i8** %idx8c2wc, align 8 + %20 = load i32, i32* %wc, align 4 + %shr = ashr i32 %20, 3 + %idxprom = sext i32 %shr to i64 + %arrayidx = getelementptr inbounds i8, i8* %19, i64 %idxprom + %21 = load i8, i8* %arrayidx, align 1 + %conv18 = zext i8 %21 to i32 + %shl = shl i32 %conv18, 3 + %22 = load i32, i32* %wc, align 4 + %and = and i32 %22, 7 + %add = add nsw i32 %shl, %and + %idxprom19 = sext i32 %add to i64 + %arrayidx20 = getelementptr inbounds i16, i16* %17, i64 %idxprom19 + %23 = load i16, i16* %arrayidx20, align 2 + %conv21 = zext i16 %23 to i32 + %24 = load i32*, i32** %dst.addr, align 8 + store i32 %conv21, i32* %24, align 4 + %25 = load i32*, i32** %dst.addr, align 8 + %26 = load i32, i32* %25, align 4 + %tobool = icmp ne i32 %26, 0 + br i1 %tobool, label %if.then22, label %if.end24 + +if.then22: ; preds = %if.then17 + store i32 1, i32* %retval, align 4 + br label %return + +if.end24: ; preds = %if.then17, %if.end12 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end24, %if.then22, %if.then8, %if.then + %27 = load i32, i32* %retval, align 4 + ret i32 %27 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__raise(i32 %signo) #0 { +entry: + %signo.addr = alloca i32, align 4 + store i32 %signo, i32* %signo.addr, align 4 + %call = call i32 @getpid() #20 + %0 = load i32, i32* %signo.addr, align 4 + %call1 = call i32 @kill(i32 %call, i32 %0) #20 + ret i32 %call1 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__libc_sigaction(i32 %sig, %struct.sigaction.802* %act, %struct.sigaction.802* %oact) #0 { +entry: + %sig.addr = alloca i32, align 4 + %act.addr = alloca %struct.sigaction.802*, align 8 + %oact.addr = alloca %struct.sigaction.802*, align 8 + %result = alloca i32, align 4 + %kact = alloca %struct.kernel_sigaction, align 8 + %koact = alloca %struct.kernel_sigaction, align 8 + store i32 %sig, i32* %sig.addr, align 4 + store %struct.sigaction.802* %act, %struct.sigaction.802** %act.addr, align 8 + store %struct.sigaction.802* %oact, %struct.sigaction.802** %oact.addr, align 8 + %0 = load %struct.sigaction.802*, %struct.sigaction.802** %act.addr, align 8 + %tobool = icmp ne %struct.sigaction.802* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load %struct.sigaction.802*, %struct.sigaction.802** %act.addr, align 8 + %__sigaction_handler = getelementptr inbounds %struct.sigaction.802, %struct.sigaction.802* %1, i32 0, i32 0 + %sa_handler = bitcast %union.anon.801* %__sigaction_handler to void (i32)** + %2 = load void (i32)*, void (i32)** %sa_handler, align 8 + %k_sa_handler = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 0 + store void (i32)* %2, void (i32)** %k_sa_handler, align 8 + %sa_mask = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 3 + %3 = bitcast %struct.fd_set* %sa_mask to i8* + %4 = load %struct.sigaction.802*, %struct.sigaction.802** %act.addr, align 8 + %sa_mask1 = getelementptr inbounds %struct.sigaction.802, %struct.sigaction.802* %4, i32 0, i32 1 + %5 = bitcast %struct.fd_set* %sa_mask1 to i8* + %call = call i8* @memcpy(i8* %3, i8* %5, i64 128) #20 + %6 = load %struct.sigaction.802*, %struct.sigaction.802** %act.addr, align 8 + %sa_flags = getelementptr inbounds %struct.sigaction.802, %struct.sigaction.802* %6, i32 0, i32 2 + %7 = load i32, i32* %sa_flags, align 8 + %conv = sext i32 %7 to i64 + %sa_flags2 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 1 + store i64 %conv, i64* %sa_flags2, align 8 + %8 = load %struct.sigaction.802*, %struct.sigaction.802** %act.addr, align 8 + %sa_restorer = getelementptr inbounds %struct.sigaction.802, %struct.sigaction.802* %8, i32 0, i32 3 + %9 = load void ()*, void ()** %sa_restorer, align 8 + %sa_restorer3 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 2 + store void ()* %9, void ()** %sa_restorer3, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %10 = load i32, i32* %sig.addr, align 4 + %11 = load %struct.sigaction.802*, %struct.sigaction.802** %act.addr, align 8 + %tobool4 = icmp ne %struct.sigaction.802* %11, null + %kact. = select i1 %tobool4, %struct.kernel_sigaction* %kact, %struct.kernel_sigaction* null + %12 = load %struct.sigaction.802*, %struct.sigaction.802** %oact.addr, align 8 + %tobool5 = icmp ne %struct.sigaction.802* %12, null + %cond9 = select i1 %tobool5, %struct.kernel_sigaction* %koact, %struct.kernel_sigaction* null + %call10 = call i32 bitcast (i32 (i32, %struct.sigaction.802*, %struct.sigaction.802*, i64)* @__syscall_rt_sigaction to i32 (i32, %struct.kernel_sigaction*, %struct.kernel_sigaction*, i64)*)(i32 %10, %struct.kernel_sigaction* %kact., %struct.kernel_sigaction* %cond9, i64 8) #19 + store i32 %call10, i32* %result, align 4 + %13 = load %struct.sigaction.802*, %struct.sigaction.802** %oact.addr, align 8 + %tobool11 = icmp ne %struct.sigaction.802* %13, null + %14 = load i32, i32* %result, align 4 + %cmp = icmp sge i32 %14, 0 + %or.cond = and i1 %tobool11, %cmp + br i1 %or.cond, label %if.then13, label %if.end25 + +if.then13: ; preds = %if.end + %k_sa_handler14 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 0 + %15 = load void (i32)*, void (i32)** %k_sa_handler14, align 8 + %16 = load %struct.sigaction.802*, %struct.sigaction.802** %oact.addr, align 8 + %__sigaction_handler15 = getelementptr inbounds %struct.sigaction.802, %struct.sigaction.802* %16, i32 0, i32 0 + %sa_handler16 = bitcast %union.anon.801* %__sigaction_handler15 to void (i32)** + store void (i32)* %15, void (i32)** %sa_handler16, align 8 + %17 = load %struct.sigaction.802*, %struct.sigaction.802** %oact.addr, align 8 + %sa_mask17 = getelementptr inbounds %struct.sigaction.802, %struct.sigaction.802* %17, i32 0, i32 1 + %18 = bitcast %struct.fd_set* %sa_mask17 to i8* + %sa_mask18 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 3 + %19 = bitcast %struct.fd_set* %sa_mask18 to i8* + %call19 = call i8* @memcpy(i8* %18, i8* %19, i64 128) #20 + %sa_flags20 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 1 + %20 = load i64, i64* %sa_flags20, align 8 + %conv21 = trunc i64 %20 to i32 + %21 = load %struct.sigaction.802*, %struct.sigaction.802** %oact.addr, align 8 + %sa_flags22 = getelementptr inbounds %struct.sigaction.802, %struct.sigaction.802* %21, i32 0, i32 2 + store i32 %conv21, i32* %sa_flags22, align 8 + %sa_restorer23 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 2 + %22 = load void ()*, void ()** %sa_restorer23, align 8 + %23 = load %struct.sigaction.802*, %struct.sigaction.802** %oact.addr, align 8 + %sa_restorer24 = getelementptr inbounds %struct.sigaction.802, %struct.sigaction.802* %23, i32 0, i32 3 + store void ()* %22, void ()** %sa_restorer24, align 8 + br label %if.end25 + +if.end25: ; preds = %if.then13, %if.end + %24 = load i32, i32* %result, align 4 + ret i32 %24 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__sigismember(%struct.fd_set* %__set, i32 %__sig) #0 { +entry: + %__set.addr = alloca %struct.fd_set*, align 8 + %__sig.addr = alloca i32, align 4 + %__mask = alloca i64, align 8 + %__word = alloca i64, align 8 + store %struct.fd_set* %__set, %struct.fd_set** %__set.addr, align 8 + store i32 %__sig, i32* %__sig.addr, align 4 + %0 = load i32, i32* %__sig.addr, align 4 + %sub = sub nsw i32 %0, 1 + %conv = sext i32 %sub to i64 + %rem = urem i64 %conv, 64 + %shl = shl i64 1, %rem + store i64 %shl, i64* %__mask, align 8 + %1 = load i32, i32* %__sig.addr, align 4 + %sub1 = sub nsw i32 %1, 1 + %conv2 = sext i32 %sub1 to i64 + %div = udiv i64 %conv2, 64 + store i64 %div, i64* %__word, align 8 + %2 = load %struct.fd_set*, %struct.fd_set** %__set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %2, i32 0, i32 0 + %3 = load i64, i64* %__word, align 8 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 %3 + %4 = load i64, i64* %arrayidx, align 8 + %5 = load i64, i64* %__mask, align 8 + %and = and i64 %4, %5 + %tobool = icmp ne i64 %and, 0 + %6 = zext i1 %tobool to i64 + %cond = select i1 %tobool, i32 1, i32 0 + ret i32 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__sigaddset(%struct.fd_set* %__set, i32 %__sig) #0 { +entry: + %__set.addr = alloca %struct.fd_set*, align 8 + %__sig.addr = alloca i32, align 4 + %__mask = alloca i64, align 8 + %__word = alloca i64, align 8 + store %struct.fd_set* %__set, %struct.fd_set** %__set.addr, align 8 + store i32 %__sig, i32* %__sig.addr, align 4 + %0 = load i32, i32* %__sig.addr, align 4 + %sub = sub nsw i32 %0, 1 + %conv = sext i32 %sub to i64 + %rem = urem i64 %conv, 64 + %shl = shl i64 1, %rem + store i64 %shl, i64* %__mask, align 8 + %1 = load i32, i32* %__sig.addr, align 4 + %sub1 = sub nsw i32 %1, 1 + %conv2 = sext i32 %sub1 to i64 + %div = udiv i64 %conv2, 64 + store i64 %div, i64* %__word, align 8 + %2 = load i64, i64* %__mask, align 8 + %3 = load %struct.fd_set*, %struct.fd_set** %__set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %3, i32 0, i32 0 + %4 = load i64, i64* %__word, align 8 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 %4 + %5 = load i64, i64* %arrayidx, align 8 + %or = or i64 %5, %2 + store i64 %or, i64* %arrayidx, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__sigdelset(%struct.fd_set* %__set, i32 %__sig) #0 { +entry: + %__set.addr = alloca %struct.fd_set*, align 8 + %__sig.addr = alloca i32, align 4 + %__mask = alloca i64, align 8 + %__word = alloca i64, align 8 + store %struct.fd_set* %__set, %struct.fd_set** %__set.addr, align 8 + store i32 %__sig, i32* %__sig.addr, align 4 + %0 = load i32, i32* %__sig.addr, align 4 + %sub = sub nsw i32 %0, 1 + %conv = sext i32 %sub to i64 + %rem = urem i64 %conv, 64 + %shl = shl i64 1, %rem + store i64 %shl, i64* %__mask, align 8 + %1 = load i32, i32* %__sig.addr, align 4 + %sub1 = sub nsw i32 %1, 1 + %conv2 = sext i32 %sub1 to i64 + %div = udiv i64 %conv2, 64 + store i64 %div, i64* %__word, align 8 + %2 = load i64, i64* %__mask, align 8 + %neg = xor i64 %2, -1 + %3 = load %struct.fd_set*, %struct.fd_set** %__set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %3, i32 0, i32 0 + %4 = load i64, i64* %__word, align 8 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 %4 + %5 = load i64, i64* %arrayidx, align 8 + %and = and i64 %5, %neg + store i64 %and, i64* %arrayidx, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.570* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.570*, align 8 + %bufsize = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.570* %stream, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %0, i32 0, i32 5 + %1 = load i8*, i8** %__bufpos, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %2, i32 0, i32 3 + %3 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %1 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %3 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %bufsize, align 8 + %cmp = icmp ne i64 %sub.ptr.sub, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %4 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufstart1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %4, i32 0, i32 3 + %5 = load i8*, i8** %__bufstart1, align 8 + %6 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufpos2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %6, i32 0, i32 5 + store i8* %5, i8** %__bufpos2, align 8 + %7 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %8 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufstart3 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %8, i32 0, i32 3 + %9 = load i8*, i8** %__bufstart3, align 8 + %10 = load i64, i64* %bufsize, align 8 + %call = call i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.570* %7, i8* %9, i64 %10) #19 + br label %if.end + +if.end: ; preds = %if.then, %entry + %11 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufpos4 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %11, i32 0, i32 5 + %12 = load i8*, i8** %__bufpos4, align 8 + %13 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufstart5 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %13, i32 0, i32 3 + %14 = load i8*, i8** %__bufstart5, align 8 + %sub.ptr.lhs.cast6 = ptrtoint i8* %12 to i64 + %sub.ptr.rhs.cast7 = ptrtoint i8* %14 to i64 + %sub.ptr.sub8 = sub i64 %sub.ptr.lhs.cast6, %sub.ptr.rhs.cast7 + ret i64 %sub.ptr.sub8 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__fgetc_unlocked(%struct.__STDIO_FILE_STRUCT.570* %stream) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.570*, align 8 + %uc = alloca i8, align 1 + %uc56 = alloca i8, align 1 + store %struct.__STDIO_FILE_STRUCT.570* %stream, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %0, i32 0, i32 5 + %1 = load i8*, i8** %__bufpos, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %2, i32 0, i32 7 + %3 = load i8*, i8** %__bufgetc_u, align 8 + %cmp = icmp ult i8* %1, %3 + %4 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %4, i32 0, i32 5 + %5 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + %6 = load i8, i8* %5, align 1 + %conv = zext i8 %6 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %4, i32 0, i32 0 + %7 = load i16, i16* %__modeflags, align 8 + %conv2 = zext i16 %7 to i32 + %and = and i32 %conv2, 131 + %cmp3 = icmp ugt i32 %and, 128 + br i1 %cmp3, label %if.then5, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %8 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %call = call i32 @__stdio_trans2r_o(%struct.__STDIO_FILE_STRUCT.570* %8, i32 128) #19 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end63, label %if.then5 + +if.then5: ; preds = %lor.lhs.false, %if.end + %9 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %9, i32 0, i32 0 + %10 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %10 to i32 + %and8 = and i32 %conv7, 2 + %tobool9 = icmp ne i32 %and8, 0 + %11 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + br i1 %tobool9, label %if.then10, label %if.end18 + +if.then10: ; preds = %if.then5 + %__ungot = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %11, i32 0, i32 10 + %12 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags11 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags11, align 8 + %dec = add i16 %13, -1 + store i16 %dec, i16* %__modeflags11, align 8 + %conv12 = zext i16 %13 to i32 + %and13 = and i32 %conv12, 1 + %idxprom = sext i32 %and13 to i64 + %arrayidx = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot, i64 0, i64 %idxprom + %14 = load i32, i32* %arrayidx, align 4 + %conv14 = trunc i32 %14 to i8 + store i8 %conv14, i8* %uc, align 1 + %15 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__ungot15 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %15, i32 0, i32 10 + %arrayidx16 = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot15, i64 0, i64 1 + store i32 0, i32* %arrayidx16, align 4 + %16 = load i8, i8* %uc, align 1 + %conv17 = zext i8 %16 to i32 + store i32 %conv17, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %if.then5 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %11, i32 0, i32 6 + %17 = load i8*, i8** %__bufread, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufpos19 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %18, i32 0, i32 5 + %19 = load i8*, i8** %__bufpos19, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %17 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool20 = icmp ne i64 %sub.ptr.sub, 0 + %20 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + br i1 %tobool20, label %if.then21, label %if.end25 + +if.then21: ; preds = %if.end18 + %__bufpos22 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %20, i32 0, i32 5 + %21 = load i8*, i8** %__bufpos22, align 8 + %incdec.ptr23 = getelementptr inbounds i8, i8* %21, i32 1 + store i8* %incdec.ptr23, i8** %__bufpos22, align 8 + %22 = load i8, i8* %21, align 1 + %conv24 = zext i8 %22 to i32 + store i32 %conv24, i32* %retval, align 4 + br label %return + +if.end25: ; preds = %if.end18 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %20, i32 0, i32 2 + %23 = load i32, i32* %__filedes, align 4 + %cmp26 = icmp eq i32 %23, -2 + %24 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags29 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %24, i32 0, i32 0 + %25 = load i16, i16* %__modeflags29, align 8 + %conv30 = zext i16 %25 to i32 + br i1 %cmp26, label %if.then28, label %if.end32 + +if.then28: ; preds = %if.end25 + %or = or i32 %conv30, 4 + %conv31 = trunc i32 %or to i16 + store i16 %conv31, i16* %__modeflags29, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end32: ; preds = %if.end25 + %and35 = and i32 %conv30, 768 + %tobool36 = icmp ne i32 %and35, 0 + br i1 %tobool36, label %if.then37, label %if.end39 + +if.then37: ; preds = %if.end32 + %call38 = call i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.570* bitcast (%struct.__STDIO_FILE_STRUCT.570** @_stdio_openlist to %struct.__STDIO_FILE_STRUCT.570*)) #19 + br label %if.end39 + +if.end39: ; preds = %if.then37, %if.end32 + %26 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %26, i32 0, i32 4 + %27 = load i8*, i8** %__bufend, align 8 + %28 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %28, i32 0, i32 3 + %29 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast40 = ptrtoint i8* %27 to i64 + %sub.ptr.rhs.cast41 = ptrtoint i8* %29 to i64 + %sub.ptr.sub42 = sub i64 %sub.ptr.lhs.cast40, %sub.ptr.rhs.cast41 + %tobool43 = icmp ne i64 %sub.ptr.sub42, 0 + %30 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + br i1 %tobool43, label %if.then44, label %if.else + +if.then44: ; preds = %if.end39 + %__bufstart45 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %30, i32 0, i32 3 + %31 = load i8*, i8** %__bufstart45, align 8 + %32 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufgetc_u46 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %32, i32 0, i32 7 + store i8* %31, i8** %__bufgetc_u46, align 8 + %33 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %call47 = call i64 @__stdio_rfill(%struct.__STDIO_FILE_STRUCT.570* %33) #19 + %tobool48 = icmp ne i64 %call47, 0 + br i1 %tobool48, label %if.then49, label %if.end63 + +if.then49: ; preds = %if.then44 + %34 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufread50 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %34, i32 0, i32 6 + %35 = load i8*, i8** %__bufread50, align 8 + %36 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufgetc_u51 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %36, i32 0, i32 7 + store i8* %35, i8** %__bufgetc_u51, align 8 + %37 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufpos52 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %37, i32 0, i32 5 + %38 = load i8*, i8** %__bufpos52, align 8 + %incdec.ptr53 = getelementptr inbounds i8, i8* %38, i32 1 + store i8* %incdec.ptr53, i8** %__bufpos52, align 8 + %39 = load i8, i8* %38, align 1 + %conv54 = zext i8 %39 to i32 + store i32 %conv54, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.end39 + %call57 = call i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.570* %30, i8* %uc56, i64 1) #19 + %tobool58 = icmp ne i64 %call57, 0 + br i1 %tobool58, label %if.then59, label %if.end63 + +if.then59: ; preds = %if.else + %40 = load i8, i8* %uc56, align 1 + %conv60 = zext i8 %40 to i32 + store i32 %conv60, i32* %retval, align 4 + br label %return + +if.end63: ; preds = %if.then44, %if.else, %lor.lhs.false + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end63, %if.then59, %if.then49, %if.then28, %if.then21, %if.then10, %if.then + %41 = load i32, i32* %retval, align 4 + ret i32 %41 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @sprintf(i8* noalias %buf, i8* noalias %format, ...) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %format.addr = alloca i8*, align 8 + %arg = alloca [1 x %struct.__va_list_tag.2], align 16 + %rv = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %arg, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.2* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load i8*, i8** %buf.addr, align 8 + %1 = load i8*, i8** %format.addr, align 8 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %arg, i64 0, i64 0 + %call = call i32 @vsnprintf(i8* %0, i64 -1, i8* %1, %struct.__va_list_tag.2* %arraydecay2) #20 + store i32 %call, i32* %rv, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %arg, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.2* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + %2 = load i32, i32* %rv, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @strcmp(i8* nonnull %s1, i8* nonnull %s2) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %r = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + br label %while.cond + +while.cond: ; preds = %land.rhs, %entry + %0 = load i8*, i8** %s1.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = zext i8 %1 to i32 + %2 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %2, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %3 = load i8, i8* %2, align 1 + %conv1 = zext i8 %3 to i32 + %sub = sub nsw i32 %conv, %conv1 + store i32 %sub, i32* %r, align 4 + %cmp = icmp eq i32 %sub, 0 + br i1 %cmp, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %4 = load i8*, i8** %s1.addr, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr3, i8** %s1.addr, align 8 + %5 = load i8, i8* %4, align 1 + %conv4 = sext i8 %5 to i32 + %tobool = icmp ne i32 %conv4, 0 + br i1 %tobool, label %while.cond, label %while.end + +while.end: ; preds = %while.cond, %land.rhs + %6 = load i32, i32* %r, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i64 @strlen(i8* nonnull %s) #14 { +entry: + %s.addr = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load i8*, i8** %p, align 8 + %2 = load i8, i8* %1, align 1 + %tobool = icmp ne i8 %2, 0 + %3 = load i8*, i8** %p, align 8 + br i1 %tobool, label %for.inc, label %for.end + +for.inc: ; preds = %for.cond + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %4 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %3 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %4 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @strncmp(i8* nonnull %s1, i8* nonnull %s2, i64 %n) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i32 0, i32* %r, align 4 + br label %while.cond + +while.cond: ; preds = %land.rhs, %entry + %0 = load i64, i64* %n.addr, align 8 + %dec = add i64 %0, -1 + store i64 %dec, i64* %n.addr, align 8 + %tobool = icmp ne i64 %0, 0 + br i1 %tobool, label %land.lhs.true, label %while.end + +land.lhs.true: ; preds = %while.cond + %1 = load i8*, i8** %s1.addr, align 8 + %2 = load i8, i8* %1, align 1 + %conv = zext i8 %2 to i32 + %3 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %4 = load i8, i8* %3, align 1 + %conv1 = zext i8 %4 to i32 + %sub = sub nsw i32 %conv, %conv1 + store i32 %sub, i32* %r, align 4 + %cmp = icmp eq i32 %sub, 0 + br i1 %cmp, label %land.rhs, label %while.end + +land.rhs: ; preds = %land.lhs.true + %5 = load i8*, i8** %s1.addr, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr3, i8** %s1.addr, align 8 + %6 = load i8, i8* %5, align 1 + %conv4 = sext i8 %6 to i32 + %tobool5 = icmp ne i32 %conv4, 0 + br i1 %tobool5, label %while.cond, label %while.end + +while.end: ; preds = %while.cond, %land.lhs.true, %land.rhs + %7 = load i32, i32* %r, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @isatty(i32 %fd) #0 { +entry: + %fd.addr = alloca i32, align 4 + %term = alloca %struct.termios, align 4 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 @tcgetattr(i32 %0, %struct.termios* %term) #20 + %cmp = icmp eq i32 %call, 0 + %conv = zext i1 %cmp to i32 + ret i32 %conv +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @open64(i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.2], align 16 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.2* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.2* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i8*, i8** %pathname.addr, align 8 + %8 = load i32, i32* %flags.addr, align 4 + %9 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_open(i8* %7, i32 %8, i32 %9) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @openat64(i32 %fd, i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %fd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.2], align 16 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.2* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.2* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i32, i32* %fd.addr, align 4 + %8 = load i8*, i8** %pathname.addr, align 8 + %9 = load i32, i32* %flags.addr, align 4 + %10 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_openat(i32 %7, i8* %8, i32 %9, i32 %10) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @lseek64(i32 %fd, i64 %offset, i32 %whence) #3 { +entry: + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %offset.addr, align 8 + %2 = load i32, i32* %whence.addr, align 4 + %call = call i64 @__fd_lseek(i32 %0, i64 %1, i32 %2) + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__xstat64(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @stat64(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__lxstat64(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @lstat64(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fxstat64(i32 %vers, i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %vers, i32* %vers.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstat64(i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @ftruncate64(i32 %fd, i64 %length) #3 { +entry: + %fd.addr = alloca i32, align 4 + %length.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %length, i64* %length.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %length.addr, align 8 + %call = call i32 @__fd_ftruncate(i32 %0, i64 %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @statfs64(i8* nonnull %path, %struct.statfs* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.statfs*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.statfs* %buf, %struct.statfs** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.statfs*, %struct.statfs** %buf.addr, align 8 + %call = call i32 @__fd_statfs(i8* %0, %struct.statfs* %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @getdents64(i32 %fd, i8* nonnull %dirp, i64 %count) #3 { +entry: + %fd.addr = alloca i32, align 4 + %dirp.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %dirp, i8** %dirp.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i8*, i8** %dirp.addr, align 8 + %2 = bitcast i8* %1 to %struct.dirent64* + %3 = load i64, i64* %count.addr, align 8 + %conv = trunc i64 %3 to i32 + %call = call i32 @__fd_getdents(i32 %0, %struct.dirent64* %2, i32 %conv) + %conv1 = sext i32 %call to i64 + ret i64 %conv1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @kill(i32 %pid, i32 %sig) #3 { +entry: + %pid.addr = alloca i32, align 4 + %sig.addr = alloca i32, align 4 + store i32 %pid, i32* %pid.addr, align 4 + store i32 %sig, i32* %sig.addr, align 4 + call void @gs_warning.225(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.224, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @gs_warning.225(i8* %message) #3 { +entry: + %message.addr = alloca i8*, align 8 + store i8* %message, i8** %message.addr, align 8 + %0 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %0) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.7.226, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind returns_twice uwtable +define weak dso_local i32 @_setjmp(%struct.__jmp_buf_tag* %__env) #17 { +entry: + %__env.addr = alloca %struct.__jmp_buf_tag*, align 8 + store %struct.__jmp_buf_tag* %__env, %struct.__jmp_buf_tag** %__env.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1.227, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline noreturn nounwind uwtable +define dso_local void @longjmp(%struct.__jmp_buf_tag* %env, i32 %val) #6 { +entry: + %env.addr = alloca %struct.__jmp_buf_tag*, align 8 + %val.addr = alloca i32, align 4 + store %struct.__jmp_buf_tag* %env, %struct.__jmp_buf_tag** %env.addr, align 8 + store i32 %val, i32* %val.addr, align 4 + call void @gs_report_error.231(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.2.228, i64 0, i64 0), i32 37, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.3.229, i64 0, i64 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.4.230, i64 0, i64 0)) #25 + unreachable +} + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error.231(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.7.226, i64 0, i64 0)) + call void @stop(i32 -1) #25 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execl(i8* nonnull %path, i8* nonnull %arg, ...) #3 { +entry: + %path.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + call void @gs_warning.225(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.232, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execlp(i8* nonnull %file, i8* nonnull %arg, ...) #3 { +entry: + %file.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + call void @gs_warning.225(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.232, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execle(i8* nonnull %path, i8* nonnull %arg, ...) #3 { +entry: + %path.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + call void @gs_warning.225(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.232, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execv(i8* nonnull %path, i8** nonnull %argv) #3 { +entry: + %path.addr = alloca i8*, align 8 + %argv.addr = alloca i8**, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + call void @gs_warning.225(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.232, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execvp(i8* nonnull %file, i8** nonnull %argv) #3 { +entry: + %file.addr = alloca i8*, align 8 + %argv.addr = alloca i8**, align 8 + store i8* %file, i8** %file.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + call void @gs_warning.225(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.232, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execve(i8* nonnull %file, i8** nonnull %argv, i8** %envp) #3 { +entry: + %file.addr = alloca i8*, align 8 + %argv.addr = alloca i8**, align 8 + %envp.addr = alloca i8**, align 8 + store i8* %file, i8** %file.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + store i8** %envp, i8*** %envp.addr, align 8 + call void @gs_warning.225(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.232, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fork() #3 { +entry: + call void @gs_warning.225(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.6.233, i64 0, i64 0)) + %call = call i32* @__errno_location() #26 + store i32 12, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind returns_twice uwtable +define dso_local i32 @vfork() #17 { +entry: + %call = call i32 @fork() #11 + ret i32 %call +} + +; Function Attrs: noinline nounwind readnone uwtable +define i16** @__ctype_b_loc() #12 { +entry: + %0 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__curlocale_var, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %0, i32 0, i32 0 + ret i16** %__ctype_b +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @__error(i32 %status, i32 %errnum, i8* %message, ...) #0 { +entry: + %status.addr = alloca i32, align 4 + %errnum.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %args = alloca [1 x %struct.__va_list_tag.2], align 16 + %__S = alloca %struct.__STDIO_FILE_STRUCT.570*, align 8 + %tmp = alloca i32, align 4 + store i32 %status, i32* %status.addr, align 4 + store i32 %errnum, i32* %errnum.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** @stdout, align 8 + %call = call i32 @fflush(%struct.__STDIO_FILE_STRUCT.570* %0) #19 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %args, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.2* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %1 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** @stderr, align 8 + %2 = load i8*, i8** %message.addr, align 8 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %args, i64 0, i64 0 + %call3 = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.570* %1, i8* %2, %struct.__va_list_tag.2* %arraydecay2) #19 + %arraydecay4 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %args, i64 0, i64 0 + %arraydecay45 = bitcast %struct.__va_list_tag.2* %arraydecay4 to i8* + call void @llvm.va_end(i8* %arraydecay45) + %3 = load i32, i32* @error_message_count, align 4 + %inc = add i32 %3, 1 + store i32 %inc, i32* @error_message_count, align 4 + %4 = load i32, i32* %errnum.addr, align 4 + %tobool = icmp ne i32 %4, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %5 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** @stderr, align 8 + %6 = load i32, i32* %errnum.addr, align 4 + %call6 = call i8* @strerror(i32 %6) #20 + %call7 = call i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.570* %5, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.236, i64 0, i64 0), i8* %call6) #19 + br label %if.end + +if.end: ; preds = %if.then, %entry + %7 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** @stderr, align 8 + store %struct.__STDIO_FILE_STRUCT.570* %7, %struct.__STDIO_FILE_STRUCT.570** %__S, align 8 + %8 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %__S, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %8, i32 0, i32 5 + %9 = load i8*, i8** %__bufpos, align 8 + %10 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %__S, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %10, i32 0, i32 8 + %11 = load i8*, i8** %__bufputc_u, align 8 + %cmp = icmp ult i8* %9, %11 + %12 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %__S, align 8 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %if.end + %__bufpos8 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %12, i32 0, i32 5 + %13 = load i8*, i8** %__bufpos8, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %13, i32 1 + store i8* %incdec.ptr, i8** %__bufpos8, align 8 + store i8 10, i8* %13, align 1 + br label %cond.end + +cond.false: ; preds = %if.end + %call9 = call i32 @__fputc_unlocked(i32 10, %struct.__STDIO_FILE_STRUCT.570* %12) #19 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ 10, %cond.true ], [ %call9, %cond.false ] + store i32 %cond, i32* %tmp, align 4 + %14 = load i32, i32* %tmp, align 4 + %15 = load i32, i32* %status.addr, align 4 + %tobool10 = icmp ne i32 %15, 0 + br i1 %tobool10, label %if.then11, label %if.end12 + +if.then11: ; preds = %cond.end + %16 = load i32, i32* %status.addr, align 4 + call void @exit(i32 %16) #23 + unreachable + +if.end12: ; preds = %cond.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @__error_at_line(i32 %status, i32 %errnum, i8* %file_name, i32 %line_number, i8* %message, ...) #0 { +entry: + %status.addr = alloca i32, align 4 + %errnum.addr = alloca i32, align 4 + %file_name.addr = alloca i8*, align 8 + %line_number.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %args = alloca [1 x %struct.__va_list_tag.2], align 16 + %__S = alloca %struct.__STDIO_FILE_STRUCT.570*, align 8 + %tmp = alloca i32, align 4 + store i32 %status, i32* %status.addr, align 4 + store i32 %errnum, i32* %errnum.addr, align 4 + store i8* %file_name, i8** %file_name.addr, align 8 + store i32 %line_number, i32* %line_number.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + %0 = load i32, i32* @error_one_per_line, align 4 + %tobool = icmp ne i32 %0, 0 + br i1 %tobool, label %if.then, label %if.end4 + +if.then: ; preds = %entry + %1 = load i32, i32* @__error_at_line.old_line_number, align 4 + %2 = load i32, i32* %line_number.addr, align 4 + %cmp = icmp eq i32 %1, %2 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %if.then + %3 = load i8*, i8** %file_name.addr, align 8 + %4 = load i8*, i8** @__error_at_line.old_file_name, align 8 + %cmp1 = icmp eq i8* %3, %4 + br i1 %cmp1, label %if.end25, label %lor.lhs.false + +lor.lhs.false: ; preds = %land.lhs.true + %5 = load i8*, i8** @__error_at_line.old_file_name, align 8 + %6 = load i8*, i8** %file_name.addr, align 8 + %call = call i32 @strcmp(i8* %5, i8* %6) #21 + %tobool2 = icmp ne i32 %call, 0 + br i1 %tobool2, label %if.end, label %if.end25 + +if.end: ; preds = %lor.lhs.false, %if.then + %7 = load i8*, i8** %file_name.addr, align 8 + store i8* %7, i8** @__error_at_line.old_file_name, align 8 + %8 = load i32, i32* %line_number.addr, align 4 + store i32 %8, i32* @__error_at_line.old_line_number, align 4 + br label %if.end4 + +if.end4: ; preds = %if.end, %entry + %9 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** @stdout, align 8 + %call5 = call i32 @fflush(%struct.__STDIO_FILE_STRUCT.570* %9) #19 + %10 = load i8*, i8** %file_name.addr, align 8 + %cmp6 = icmp ne i8* %10, null + br i1 %cmp6, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end4 + %11 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** @stderr, align 8 + %12 = load i8*, i8** %file_name.addr, align 8 + %13 = load i32, i32* %line_number.addr, align 4 + %call8 = call i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.570* %11, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1.237, i64 0, i64 0), i8* %12, i32 %13) #19 + br label %if.end9 + +if.end9: ; preds = %if.then7, %if.end4 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %args, i64 0, i64 0 + %arraydecay10 = bitcast %struct.__va_list_tag.2* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay10) + %14 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** @stderr, align 8 + %15 = load i8*, i8** %message.addr, align 8 + %arraydecay11 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %args, i64 0, i64 0 + %call12 = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.570* %14, i8* %15, %struct.__va_list_tag.2* %arraydecay11) #19 + %arraydecay13 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %args, i64 0, i64 0 + %arraydecay1314 = bitcast %struct.__va_list_tag.2* %arraydecay13 to i8* + call void @llvm.va_end(i8* %arraydecay1314) + %16 = load i32, i32* @error_message_count, align 4 + %inc = add i32 %16, 1 + store i32 %inc, i32* @error_message_count, align 4 + %17 = load i32, i32* %errnum.addr, align 4 + %tobool15 = icmp ne i32 %17, 0 + br i1 %tobool15, label %if.then16, label %if.end19 + +if.then16: ; preds = %if.end9 + %18 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** @stderr, align 8 + %19 = load i32, i32* %errnum.addr, align 4 + %call17 = call i8* @strerror(i32 %19) #20 + %call18 = call i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.570* %18, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.236, i64 0, i64 0), i8* %call17) #19 + br label %if.end19 + +if.end19: ; preds = %if.then16, %if.end9 + %20 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** @stderr, align 8 + store %struct.__STDIO_FILE_STRUCT.570* %20, %struct.__STDIO_FILE_STRUCT.570** %__S, align 8 + %21 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %__S, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %21, i32 0, i32 5 + %22 = load i8*, i8** %__bufpos, align 8 + %23 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %__S, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %23, i32 0, i32 8 + %24 = load i8*, i8** %__bufputc_u, align 8 + %cmp20 = icmp ult i8* %22, %24 + %25 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %__S, align 8 + br i1 %cmp20, label %cond.true, label %cond.false + +cond.true: ; preds = %if.end19 + %__bufpos21 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %25, i32 0, i32 5 + %26 = load i8*, i8** %__bufpos21, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %26, i32 1 + store i8* %incdec.ptr, i8** %__bufpos21, align 8 + store i8 10, i8* %26, align 1 + br label %cond.end + +cond.false: ; preds = %if.end19 + %call22 = call i32 @__fputc_unlocked(i32 10, %struct.__STDIO_FILE_STRUCT.570* %25) #19 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ 10, %cond.true ], [ %call22, %cond.false ] + store i32 %cond, i32* %tmp, align 4 + %27 = load i32, i32* %tmp, align 4 + %28 = load i32, i32* %status.addr, align 4 + %tobool23 = icmp ne i32 %28, 0 + br i1 %tobool23, label %if.then24, label %if.end25 + +if.then24: ; preds = %cond.end + %29 = load i32, i32* %status.addr, align 4 + call void @exit(i32 %29) #23 + unreachable + +if.end25: ; preds = %land.lhs.true, %lor.lhs.false, %cond.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i8* @nl_langinfo(i32 %item) #0 { +entry: + %item.addr = alloca i32, align 4 + store i32 %item, i32* %item.addr, align 4 + %0 = load i32, i32* %item.addr, align 4 + %1 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__curlocale_var, align 8 + %call = call i8* @nl_langinfo_l(i32 %0, %struct.__uclibc_locale_struct.203* %1) #19 + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define i8* @setlocale(i32 %category, i8* %locale) #0 { +entry: + %retval = alloca i8*, align 8 + %category.addr = alloca i32, align 4 + %locale.addr = alloca i8*, align 8 + store i32 %category, i32* %category.addr, align 4 + store i8* %locale, i8** %locale.addr, align 8 + %0 = load i32, i32* %category.addr, align 4 + %cmp = icmp ugt i32 %0, 6 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %locale.addr, align 8 + %cmp1 = icmp ne i8* %1, null + br i1 %cmp1, label %if.then2, label %if.end5 + +if.then2: ; preds = %if.end + %2 = load i32, i32* %category.addr, align 4 + %shl = shl i32 1, %2 + %3 = load i8*, i8** %locale.addr, align 8 + %4 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__global_locale, align 8 + %call = call %struct.__uclibc_locale_struct.203* @newlocale(i32 %shl, i8* %3, %struct.__uclibc_locale_struct.203* %4) #20 + %tobool = icmp ne %struct.__uclibc_locale_struct.203* %call, null + br i1 %tobool, label %if.end4, label %if.then3 + +if.then3: ; preds = %if.then2 + store i8* null, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %if.then2 + %5 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__global_locale, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %5, i32 0, i32 6 + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + call void @update_hr_locale(i8* %arraydecay) #19 + br label %if.end5 + +if.end5: ; preds = %if.end4, %if.end + %6 = load i32, i32* %category.addr, align 4 + %mul = mul nsw i32 %6, 32 + %idx.ext = sext i32 %mul to i64 + %add.ptr = getelementptr inbounds i8, i8* getelementptr inbounds ([448 x i8], [448 x i8]* @hr_locale, i64 0, i64 0), i64 %idx.ext + store i8* %add.ptr, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %7 = load i8*, i8** %retval, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @update_hr_locale(i8* %spec) #0 { +entry: + %spec.addr = alloca i8*, align 8 + %loc = alloca i8*, align 8 + %s = alloca i8*, align 8 + %n = alloca i8*, align 8 + %i = alloca i32, align 4 + %category = alloca i32, align 4 + %done = alloca i32, align 4 + %at = alloca i8, align 1 + %q = alloca i8*, align 8 + store i8* %spec, i8** %spec.addr, align 8 + store i32 0, i32* %category, align 4 + store i32 0, i32* %done, align 4 + br label %do.body + +do.body: ; preds = %do.end127, %entry + %0 = load i8*, i8** %spec.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %0, i64 1 + store i8* %add.ptr, i8** %s, align 8 + %1 = load i32, i32* %category, align 4 + %mul = mul nsw i32 %1, 32 + %idx.ext = sext i32 %mul to i64 + %add.ptr1 = getelementptr inbounds i8, i8* getelementptr inbounds ([448 x i8], [448 x i8]* @hr_locale, i64 0, i64 0), i64 %idx.ext + store i8* %add.ptr1, i8** %n, align 8 + %2 = load i32, i32* %category, align 4 + %cmp = icmp eq i32 %2, 6 + br i1 %cmp, label %if.then, label %SKIP + +if.then: ; preds = %do.body + store i32 1, i32* %done, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.then + %3 = load i32, i32* %i, align 4 + %cmp2 = icmp slt i32 %3, 5 + br i1 %cmp2, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %4 = load i8*, i8** %s, align 8 + %5 = load i32, i32* %i, align 4 + %idxprom = sext i32 %5 to i64 + %arrayidx = getelementptr inbounds i8, i8* %4, i64 %idxprom + %6 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %6 to i32 + %7 = load i8*, i8** %s, align 8 + %8 = load i32, i32* %i, align 4 + %add = add nsw i32 %8, 2 + %idxprom3 = sext i32 %add to i64 + %arrayidx4 = getelementptr inbounds i8, i8* %7, i64 %idxprom3 + %9 = load i8, i8* %arrayidx4, align 1 + %conv5 = zext i8 %9 to i32 + %cmp6 = icmp ne i32 %conv, %conv5 + br i1 %cmp6, label %SKIP, label %lor.lhs.false + +lor.lhs.false: ; preds = %for.body + %10 = load i8*, i8** %s, align 8 + %11 = load i32, i32* %i, align 4 + %add8 = add nsw i32 %11, 1 + %idxprom9 = sext i32 %add8 to i64 + %arrayidx10 = getelementptr inbounds i8, i8* %10, i64 %idxprom9 + %12 = load i8, i8* %arrayidx10, align 1 + %conv11 = zext i8 %12 to i32 + %13 = load i8*, i8** %s, align 8 + %14 = load i32, i32* %i, align 4 + %add12 = add nsw i32 %14, 3 + %idxprom13 = sext i32 %add12 to i64 + %arrayidx14 = getelementptr inbounds i8, i8* %13, i64 %idxprom13 + %15 = load i8, i8* %arrayidx14, align 1 + %conv15 = zext i8 %15 to i32 + %cmp16 = icmp ne i32 %conv11, %conv15 + br i1 %cmp16, label %SKIP, label %for.inc + +for.inc: ; preds = %lor.lhs.false + %16 = load i32, i32* %i, align 4 + %add19 = add nsw i32 %16, 2 + store i32 %add19, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + store i32 0, i32* %category, align 4 + br label %SKIP + +SKIP: ; preds = %do.body, %for.end, %for.body, %lor.lhs.false + %17 = load i32, i32* %category, align 4 + %cmp21 = icmp eq i32 %17, 6 + %18 = load i32, i32* %category, align 4 + %cond = select i1 %cmp21, i32 0, i32 %18 + store i32 %cond, i32* %i, align 4 + %19 = load i32, i32* %i, align 4 + %mul23 = mul nsw i32 2, %19 + %20 = load i8*, i8** %s, align 8 + %idx.ext24 = sext i32 %mul23 to i64 + %add.ptr25 = getelementptr inbounds i8, i8* %20, i64 %idx.ext24 + store i8* %add.ptr25, i8** %s, align 8 + br label %do.body26 + +do.body26: ; preds = %if.end122, %SKIP + %21 = load i8*, i8** %s, align 8 + %22 = load i8, i8* %21, align 1 + %conv27 = zext i8 %22 to i32 + %cmp28 = icmp ne i32 %conv27, 255 + br i1 %cmp28, label %if.then35, label %lor.lhs.false30 + +lor.lhs.false30: ; preds = %do.body26 + %23 = load i8*, i8** %s, align 8 + %arrayidx31 = getelementptr inbounds i8, i8* %23, i64 1 + %24 = load i8, i8* %arrayidx31, align 1 + %conv32 = zext i8 %24 to i32 + %cmp33 = icmp ne i32 %conv32, 255 + br i1 %cmp33, label %if.then35, label %if.end122 + +if.then35: ; preds = %lor.lhs.false30, %do.body26 + %25 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %locales = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %25, i32 0, i32 31 + %arraydecay = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales, i64 0, i64 0 + %26 = load i8*, i8** %s, align 8 + %27 = load i8, i8* %26, align 1 + %conv36 = zext i8 %27 to i32 + %and = and i32 %conv36, 127 + %shl = shl i32 %and, 7 + %28 = load i8*, i8** %s, align 8 + %arrayidx37 = getelementptr inbounds i8, i8* %28, i64 1 + %29 = load i8, i8* %arrayidx37, align 1 + %conv38 = zext i8 %29 to i32 + %and39 = and i32 %conv38, 127 + %add40 = add nsw i32 %shl, %and39 + %mul41 = mul nsw i32 9, %add40 + %idx.ext42 = sext i32 %mul41 to i64 + %add.ptr43 = getelementptr inbounds i8, i8* %arraydecay, i64 %idx.ext42 + store i8* %add.ptr43, i8** %loc, align 8 + %30 = load i32, i32* %category, align 4 + %cmp44 = icmp eq i32 %30, 6 + br i1 %cmp44, label %if.then46, label %if.end54 + +if.then46: ; preds = %if.then35 + %31 = load i8*, i8** %n, align 8 + %32 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %lc_names = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %32, i32 0, i32 34 + %arraydecay47 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names, i64 0, i64 0 + %33 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %lc_names48 = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %33, i32 0, i32 34 + %34 = load i32, i32* %i, align 4 + %idxprom49 = sext i32 %34 to i64 + %arrayidx50 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names48, i64 0, i64 %idxprom49 + %35 = load i8, i8* %arrayidx50, align 1 + %conv51 = zext i8 %35 to i32 + %idx.ext52 = sext i32 %conv51 to i64 + %add.ptr53 = getelementptr inbounds i8, i8* %arraydecay47, i64 %idx.ext52 + %call = call i8* @stpcpy(i8* %31, i8* %add.ptr53) #20 + store i8* %call, i8** %n, align 8 + %36 = load i8*, i8** %n, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %36, i32 1 + store i8* %incdec.ptr, i8** %n, align 8 + store i8 61, i8* %36, align 1 + br label %if.end54 + +if.end54: ; preds = %if.then46, %if.then35 + %37 = load i8*, i8** %loc, align 8 + %38 = load i8, i8* %37, align 1 + %conv55 = zext i8 %38 to i32 + %cmp56 = icmp eq i32 %conv55, 0 + br i1 %cmp56, label %if.then58, label %if.else + +if.then58: ; preds = %if.end54 + %39 = load i8*, i8** %n, align 8 + %incdec.ptr59 = getelementptr inbounds i8, i8* %39, i32 1 + store i8* %incdec.ptr59, i8** %n, align 8 + store i8 67, i8* %39, align 1 + %40 = load i8*, i8** %n, align 8 + store i8 0, i8* %40, align 1 + br label %if.end120 + +if.else: ; preds = %if.end54 + store i8 0, i8* %at, align 1 + %41 = load i8*, i8** %n, align 8 + %42 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %locale_names5 = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %42, i32 0, i32 32 + %arraydecay60 = getelementptr inbounds [835 x i8], [835 x i8]* %locale_names5, i64 0, i64 0 + %43 = load i8*, i8** %loc, align 8 + %44 = load i8, i8* %43, align 1 + %conv61 = zext i8 %44 to i32 + %sub = sub nsw i32 %conv61, 1 + %mul62 = mul nsw i32 5, %sub + %idx.ext63 = sext i32 %mul62 to i64 + %add.ptr64 = getelementptr inbounds i8, i8* %arraydecay60, i64 %idx.ext63 + %call65 = call i8* @memcpy(i8* %41, i8* %add.ptr64, i64 5) #20 + %45 = load i8*, i8** %n, align 8 + %arrayidx66 = getelementptr inbounds i8, i8* %45, i64 2 + %46 = load i8, i8* %arrayidx66, align 1 + %conv67 = sext i8 %46 to i32 + %cmp68 = icmp ne i32 %conv67, 95 + br i1 %cmp68, label %if.then70, label %if.end73 + +if.then70: ; preds = %if.else + %47 = load i8*, i8** %n, align 8 + %arrayidx71 = getelementptr inbounds i8, i8* %47, i64 2 + %48 = load i8, i8* %arrayidx71, align 1 + store i8 %48, i8* %at, align 1 + %49 = load i8*, i8** %n, align 8 + %arrayidx72 = getelementptr inbounds i8, i8* %49, i64 2 + store i8 95, i8* %arrayidx72, align 1 + br label %if.end73 + +if.end73: ; preds = %if.then70, %if.else + %50 = load i8*, i8** %n, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %50, i64 5 + store i8* %add.ptr74, i8** %n, align 8 + %51 = load i8*, i8** %n, align 8 + %incdec.ptr75 = getelementptr inbounds i8, i8* %51, i32 1 + store i8* %incdec.ptr75, i8** %n, align 8 + store i8 46, i8* %51, align 1 + %52 = load i8*, i8** %loc, align 8 + %arrayidx76 = getelementptr inbounds i8, i8* %52, i64 2 + %53 = load i8, i8* %arrayidx76, align 1 + %conv77 = zext i8 %53 to i32 + %cmp78 = icmp eq i32 %conv77, 2 + br i1 %cmp78, label %if.then80, label %if.else82 + +if.then80: ; preds = %if.end73 + %54 = load i8*, i8** %n, align 8 + %call81 = call i8* @stpcpy(i8* %54, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf8.244, i64 0, i64 0)) #20 + store i8* %call81, i8** %n, align 8 + br label %if.end100 + +if.else82: ; preds = %if.end73 + %55 = load i8*, i8** %loc, align 8 + %arrayidx83 = getelementptr inbounds i8, i8* %55, i64 2 + %56 = load i8, i8* %arrayidx83, align 1 + %conv84 = zext i8 %56 to i32 + %cmp85 = icmp sge i32 %conv84, 3 + br i1 %cmp85, label %if.then87, label %if.end100 + +if.then87: ; preds = %if.else82 + %57 = load i8*, i8** %n, align 8 + %58 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %codeset_list = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %58, i32 0, i32 35 + %arraydecay88 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list, i64 0, i64 0 + %59 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %codeset_list89 = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %59, i32 0, i32 35 + %60 = load i8*, i8** %loc, align 8 + %arrayidx90 = getelementptr inbounds i8, i8* %60, i64 2 + %61 = load i8, i8* %arrayidx90, align 1 + %conv91 = zext i8 %61 to i32 + %sub92 = sub nsw i32 %conv91, 3 + %idxprom93 = sext i32 %sub92 to i64 + %arrayidx94 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list89, i64 0, i64 %idxprom93 + %62 = load i8, i8* %arrayidx94, align 1 + %conv95 = zext i8 %62 to i32 + %idx.ext96 = sext i32 %conv95 to i64 + %add.ptr97 = getelementptr inbounds i8, i8* %arraydecay88, i64 %idx.ext96 + %call98 = call i8* @stpcpy(i8* %57, i8* %add.ptr97) #20 + store i8* %call98, i8** %n, align 8 + br label %if.end100 + +if.end100: ; preds = %if.else82, %if.then87, %if.then80 + %63 = load i8, i8* %at, align 1 + %tobool = icmp ne i8 %63, 0 + br i1 %tobool, label %if.then101, label %if.end120 + +if.then101: ; preds = %if.end100 + %64 = load i8*, i8** %n, align 8 + %incdec.ptr102 = getelementptr inbounds i8, i8* %64, i32 1 + store i8* %incdec.ptr102, i8** %n, align 8 + store i8 64, i8* %64, align 1 + %65 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %locale_at_modifiers = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %65, i32 0, i32 33 + %arraydecay103 = getelementptr inbounds [18 x i8], [18 x i8]* %locale_at_modifiers, i64 0, i64 0 + store i8* %arraydecay103, i8** %q, align 8 + br label %do.body104 + +do.body104: ; preds = %if.end113, %if.then101 + %66 = load i8*, i8** %q, align 8 + %arrayidx105 = getelementptr inbounds i8, i8* %66, i64 1 + %67 = load i8, i8* %arrayidx105, align 1 + %conv106 = sext i8 %67 to i32 + %68 = load i8, i8* %at, align 1 + %conv107 = sext i8 %68 to i32 + %cmp108 = icmp eq i32 %conv106, %conv107 + br i1 %cmp108, label %if.then110, label %if.end113 + +if.then110: ; preds = %do.body104 + %69 = load i8*, i8** %n, align 8 + %70 = load i8*, i8** %q, align 8 + %add.ptr111 = getelementptr inbounds i8, i8* %70, i64 2 + %call112 = call i8* @stpcpy(i8* %69, i8* %add.ptr111) #20 + store i8* %call112, i8** %n, align 8 + br label %if.end120 + +if.end113: ; preds = %do.body104 + %71 = load i8*, i8** %q, align 8 + %72 = load i8, i8* %71, align 1 + %conv114 = sext i8 %72 to i32 + %add115 = add nsw i32 2, %conv114 + %73 = load i8*, i8** %q, align 8 + %idx.ext116 = sext i32 %add115 to i64 + %add.ptr117 = getelementptr inbounds i8, i8* %73, i64 %idx.ext116 + store i8* %add.ptr117, i8** %q, align 8 + %74 = load i8*, i8** %q, align 8 + %75 = load i8, i8* %74, align 1 + %tobool118 = icmp ne i8 %75, 0 + br i1 %tobool118, label %do.body104, label %if.end120 + +if.end120: ; preds = %if.end100, %if.end113, %if.then110, %if.then58 + %76 = load i8*, i8** %n, align 8 + %incdec.ptr121 = getelementptr inbounds i8, i8* %76, i32 1 + store i8* %incdec.ptr121, i8** %n, align 8 + store i8 59, i8* %76, align 1 + br label %if.end122 + +if.end122: ; preds = %if.end120, %lor.lhs.false30 + %77 = load i8*, i8** %s, align 8 + %add.ptr123 = getelementptr inbounds i8, i8* %77, i64 2 + store i8* %add.ptr123, i8** %s, align 8 + %78 = load i32, i32* %i, align 4 + %inc = add nsw i32 %78, 1 + store i32 %inc, i32* %i, align 4 + %79 = load i32, i32* %category, align 4 + %cmp125 = icmp slt i32 %inc, %79 + br i1 %cmp125, label %do.body26, label %do.end127 + +do.end127: ; preds = %if.end122 + %80 = load i8*, i8** %n, align 8 + %incdec.ptr128 = getelementptr inbounds i8, i8* %80, i32 -1 + store i8* %incdec.ptr128, i8** %n, align 8 + store i8 0, i8* %incdec.ptr128, align 1 + %81 = load i32, i32* %category, align 4 + %inc129 = add nsw i32 %81, 1 + store i32 %inc129, i32* %category, align 4 + %82 = load i32, i32* %done, align 4 + %tobool131 = icmp ne i32 %82, 0 + %lnot = xor i1 %tobool131, true + br i1 %lnot, label %do.body, label %do.end132 + +do.end132: ; preds = %do.end127 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define void @setutent() #0 { +entry: + call void @__setutent() #19 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__setutent() #0 { +entry: + %ret = alloca i32, align 4 + %0 = load i32, i32* @static_fd, align 4 + %cmp = icmp eq i32 %0, -1 + br i1 %cmp, label %if.then, label %if.end16 + +if.then: ; preds = %entry + %1 = load i8*, i8** @static_ut_name, align 8 + %call = call i32 (i8*, i32, ...) @open(i8* %1, i32 2) #19 + store i32 %call, i32* @static_fd, align 4 + %cmp1 = icmp slt i32 %call, 0 + br i1 %cmp1, label %if.then2, label %if.end6 + +if.then2: ; preds = %if.then + %2 = load i8*, i8** @static_ut_name, align 8 + %call3 = call i32 (i8*, i32, ...) @open(i8* %2, i32 0) #19 + store i32 %call3, i32* @static_fd, align 4 + %cmp4 = icmp slt i32 %call3, 0 + br i1 %cmp4, label %bummer, label %if.end6 + +if.end6: ; preds = %if.then2, %if.then + %3 = load i32, i32* @static_fd, align 4 + %call7 = call i32 (i32, i32, ...) @fcntl(i32 %3, i32 1, i32 0) #19 + store i32 %call7, i32* %ret, align 4 + %4 = load i32, i32* %ret, align 4 + %cmp8 = icmp sge i32 %4, 0 + br i1 %cmp8, label %if.then9, label %if.end11 + +if.then9: ; preds = %if.end6 + %5 = load i32, i32* @static_fd, align 4 + %6 = load i32, i32* %ret, align 4 + %or = or i32 %6, 1 + %call10 = call i32 (i32, i32, ...) @fcntl(i32 %5, i32 2, i32 %or) #19 + store i32 %call10, i32* %ret, align 4 + br label %if.end11 + +if.end11: ; preds = %if.then9, %if.end6 + %7 = load i32, i32* %ret, align 4 + %cmp12 = icmp slt i32 %7, 0 + br i1 %cmp12, label %bummer, label %if.end16 + +bummer: ; preds = %if.end11, %if.then2 + store i32 -1, i32* @static_fd, align 4 + %8 = load i32, i32* @static_fd, align 4 + %call14 = call i32 @close(i32 %8) #19 + br label %return + +if.end16: ; preds = %if.end11, %entry + %9 = load i32, i32* @static_fd, align 4 + %call17 = call i64 @lseek(i32 %9, i64 0, i32 0) #20 + br label %return + +return: ; preds = %if.end16, %bummer + ret void +} + +; Function Attrs: noinline nounwind uwtable +define void @endutent() #0 { +entry: + %0 = load i32, i32* @static_fd, align 4 + %cmp = icmp ne i32 %0, -1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load i32, i32* @static_fd, align 4 + %call = call i32 @close(i32 %1) #19 + br label %if.end + +if.end: ; preds = %if.then, %entry + store i32 -1, i32* @static_fd, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.325* @getutent() #0 { +entry: + %ret = alloca %struct.utmp.325*, align 8 + store %struct.utmp.325* null, %struct.utmp.325** %ret, align 8 + %0 = load i32, i32* @static_fd, align 4 + %call = call %struct.utmp.325* @__getutent(i32 %0) #19 + store %struct.utmp.325* %call, %struct.utmp.325** %ret, align 8 + %1 = load %struct.utmp.325*, %struct.utmp.325** %ret, align 8 + ret %struct.utmp.325* %1 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.utmp.325* @__getutent(i32 %utmp_fd) #0 { +entry: + %retval = alloca %struct.utmp.325*, align 8 + %utmp_fd.addr = alloca i32, align 4 + %ret = alloca %struct.utmp.325*, align 8 + store i32 %utmp_fd, i32* %utmp_fd.addr, align 4 + store %struct.utmp.325* null, %struct.utmp.325** %ret, align 8 + %0 = load i32, i32* %utmp_fd.addr, align 4 + %cmp = icmp eq i32 %0, -1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @__setutent() #19 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i32, i32* %utmp_fd.addr, align 4 + %cmp1 = icmp eq i32 %1, -1 + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + store %struct.utmp.325* null, %struct.utmp.325** %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %2 = load i32, i32* %utmp_fd.addr, align 4 + %call = call i64 @read(i32 %2, i8* bitcast (%struct.utmp.325* @static_utmp to i8*), i64 400) #19 + %cmp4 = icmp eq i64 %call, 400 + br i1 %cmp4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end3 + store %struct.utmp.325* @static_utmp, %struct.utmp.325** %ret, align 8 + br label %if.end6 + +if.end6: ; preds = %if.then5, %if.end3 + %3 = load %struct.utmp.325*, %struct.utmp.325** %ret, align 8 + store %struct.utmp.325* %3, %struct.utmp.325** %retval, align 8 + br label %return + +return: ; preds = %if.end6, %if.then2 + %4 = load %struct.utmp.325*, %struct.utmp.325** %retval, align 8 + ret %struct.utmp.325* %4 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.325* @getutid(%struct.utmp.325* %utmp_entry) #0 { +entry: + %utmp_entry.addr = alloca %struct.utmp.325*, align 8 + %ret = alloca %struct.utmp.325*, align 8 + store %struct.utmp.325* %utmp_entry, %struct.utmp.325** %utmp_entry.addr, align 8 + store %struct.utmp.325* null, %struct.utmp.325** %ret, align 8 + %0 = load %struct.utmp.325*, %struct.utmp.325** %utmp_entry.addr, align 8 + %call = call %struct.utmp.325* @__getutid(%struct.utmp.325* %0) #19 + store %struct.utmp.325* %call, %struct.utmp.325** %ret, align 8 + %1 = load %struct.utmp.325*, %struct.utmp.325** %ret, align 8 + ret %struct.utmp.325* %1 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.utmp.325* @__getutid(%struct.utmp.325* %utmp_entry) #0 { +entry: + %retval = alloca %struct.utmp.325*, align 8 + %utmp_entry.addr = alloca %struct.utmp.325*, align 8 + %lutmp = alloca %struct.utmp.325*, align 8 + store %struct.utmp.325* %utmp_entry, %struct.utmp.325** %utmp_entry.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end47, %entry + %0 = load i32, i32* @static_fd, align 4 + %call = call %struct.utmp.325* @__getutent(i32 %0) #19 + store %struct.utmp.325* %call, %struct.utmp.325** %lutmp, align 8 + %cmp = icmp ne %struct.utmp.325* %call, null + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %1 = load %struct.utmp.325*, %struct.utmp.325** %utmp_entry.addr, align 8 + %ut_type = getelementptr inbounds %struct.utmp.325, %struct.utmp.325* %1, i32 0, i32 0 + %2 = load i16, i16* %ut_type, align 8 + %conv = sext i16 %2 to i32 + %cmp1 = icmp eq i32 %conv, 1 + br i1 %cmp1, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.body + %3 = load %struct.utmp.325*, %struct.utmp.325** %utmp_entry.addr, align 8 + %ut_type3 = getelementptr inbounds %struct.utmp.325, %struct.utmp.325* %3, i32 0, i32 0 + %4 = load i16, i16* %ut_type3, align 8 + %conv4 = sext i16 %4 to i32 + %cmp5 = icmp eq i32 %conv4, 2 + br i1 %cmp5, label %land.lhs.true, label %lor.lhs.false7 + +lor.lhs.false7: ; preds = %lor.lhs.false + %5 = load %struct.utmp.325*, %struct.utmp.325** %utmp_entry.addr, align 8 + %ut_type8 = getelementptr inbounds %struct.utmp.325, %struct.utmp.325* %5, i32 0, i32 0 + %6 = load i16, i16* %ut_type8, align 8 + %conv9 = sext i16 %6 to i32 + %cmp10 = icmp eq i32 %conv9, 3 + br i1 %cmp10, label %land.lhs.true, label %lor.lhs.false12 + +lor.lhs.false12: ; preds = %lor.lhs.false7 + %7 = load %struct.utmp.325*, %struct.utmp.325** %utmp_entry.addr, align 8 + %ut_type13 = getelementptr inbounds %struct.utmp.325, %struct.utmp.325* %7, i32 0, i32 0 + %8 = load i16, i16* %ut_type13, align 8 + %conv14 = sext i16 %8 to i32 + %cmp15 = icmp eq i32 %conv14, 4 + br i1 %cmp15, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %lor.lhs.false12, %lor.lhs.false7, %lor.lhs.false, %while.body + %9 = load %struct.utmp.325*, %struct.utmp.325** %lutmp, align 8 + %ut_type17 = getelementptr inbounds %struct.utmp.325, %struct.utmp.325* %9, i32 0, i32 0 + %10 = load i16, i16* %ut_type17, align 8 + %conv18 = sext i16 %10 to i32 + %11 = load %struct.utmp.325*, %struct.utmp.325** %utmp_entry.addr, align 8 + %ut_type19 = getelementptr inbounds %struct.utmp.325, %struct.utmp.325* %11, i32 0, i32 0 + %12 = load i16, i16* %ut_type19, align 8 + %conv20 = sext i16 %12 to i32 + %cmp21 = icmp eq i32 %conv18, %conv20 + br i1 %cmp21, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %13 = load %struct.utmp.325*, %struct.utmp.325** %lutmp, align 8 + store %struct.utmp.325* %13, %struct.utmp.325** %retval, align 8 + br label %return + +if.end: ; preds = %land.lhs.true, %lor.lhs.false12 + %14 = load %struct.utmp.325*, %struct.utmp.325** %utmp_entry.addr, align 8 + %ut_type23 = getelementptr inbounds %struct.utmp.325, %struct.utmp.325* %14, i32 0, i32 0 + %15 = load i16, i16* %ut_type23, align 8 + %conv24 = sext i16 %15 to i32 + %cmp25 = icmp eq i32 %conv24, 5 + br i1 %cmp25, label %land.lhs.true42, label %lor.lhs.false27 + +lor.lhs.false27: ; preds = %if.end + %16 = load %struct.utmp.325*, %struct.utmp.325** %utmp_entry.addr, align 8 + %ut_type28 = getelementptr inbounds %struct.utmp.325, %struct.utmp.325* %16, i32 0, i32 0 + %17 = load i16, i16* %ut_type28, align 8 + %conv29 = sext i16 %17 to i32 + %cmp30 = icmp eq i32 %conv29, 8 + br i1 %cmp30, label %land.lhs.true42, label %lor.lhs.false32 + +lor.lhs.false32: ; preds = %lor.lhs.false27 + %18 = load %struct.utmp.325*, %struct.utmp.325** %utmp_entry.addr, align 8 + %ut_type33 = getelementptr inbounds %struct.utmp.325, %struct.utmp.325* %18, i32 0, i32 0 + %19 = load i16, i16* %ut_type33, align 8 + %conv34 = sext i16 %19 to i32 + %cmp35 = icmp eq i32 %conv34, 6 + br i1 %cmp35, label %land.lhs.true42, label %lor.lhs.false37 + +lor.lhs.false37: ; preds = %lor.lhs.false32 + %20 = load %struct.utmp.325*, %struct.utmp.325** %utmp_entry.addr, align 8 + %ut_type38 = getelementptr inbounds %struct.utmp.325, %struct.utmp.325* %20, i32 0, i32 0 + %21 = load i16, i16* %ut_type38, align 8 + %conv39 = sext i16 %21 to i32 + %cmp40 = icmp eq i32 %conv39, 7 + br i1 %cmp40, label %land.lhs.true42, label %if.end47 + +land.lhs.true42: ; preds = %lor.lhs.false37, %lor.lhs.false32, %lor.lhs.false27, %if.end + %22 = load %struct.utmp.325*, %struct.utmp.325** %lutmp, align 8 + %ut_id = getelementptr inbounds %struct.utmp.325, %struct.utmp.325* %22, i32 0, i32 3 + %arraydecay = getelementptr inbounds [4 x i8], [4 x i8]* %ut_id, i64 0, i64 0 + %23 = load %struct.utmp.325*, %struct.utmp.325** %utmp_entry.addr, align 8 + %ut_id43 = getelementptr inbounds %struct.utmp.325, %struct.utmp.325* %23, i32 0, i32 3 + %arraydecay44 = getelementptr inbounds [4 x i8], [4 x i8]* %ut_id43, i64 0, i64 0 + %call45 = call i32 @strncmp(i8* %arraydecay, i8* %arraydecay44, i64 4) #21 + %tobool = icmp ne i32 %call45, 0 + br i1 %tobool, label %if.end47, label %if.then46 + +if.then46: ; preds = %land.lhs.true42 + %24 = load %struct.utmp.325*, %struct.utmp.325** %lutmp, align 8 + store %struct.utmp.325* %24, %struct.utmp.325** %retval, align 8 + br label %return + +if.end47: ; preds = %land.lhs.true42, %lor.lhs.false37 + br label %while.cond + +while.end: ; preds = %while.cond + store %struct.utmp.325* null, %struct.utmp.325** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then46, %if.then + %25 = load %struct.utmp.325*, %struct.utmp.325** %retval, align 8 + ret %struct.utmp.325* %25 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.325* @getutline(%struct.utmp.325* %utmp_entry) #0 { +entry: + %utmp_entry.addr = alloca %struct.utmp.325*, align 8 + %lutmp = alloca %struct.utmp.325*, align 8 + store %struct.utmp.325* %utmp_entry, %struct.utmp.325** %utmp_entry.addr, align 8 + store %struct.utmp.325* null, %struct.utmp.325** %lutmp, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %0 = load i32, i32* @static_fd, align 4 + %call = call %struct.utmp.325* @__getutent(i32 %0) #19 + store %struct.utmp.325* %call, %struct.utmp.325** %lutmp, align 8 + %cmp = icmp ne %struct.utmp.325* %call, null + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %1 = load %struct.utmp.325*, %struct.utmp.325** %lutmp, align 8 + %ut_type = getelementptr inbounds %struct.utmp.325, %struct.utmp.325* %1, i32 0, i32 0 + %2 = load i16, i16* %ut_type, align 8 + %conv = sext i16 %2 to i32 + %cmp1 = icmp eq i32 %conv, 7 + br i1 %cmp1, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.body + %3 = load %struct.utmp.325*, %struct.utmp.325** %lutmp, align 8 + %ut_type3 = getelementptr inbounds %struct.utmp.325, %struct.utmp.325* %3, i32 0, i32 0 + %4 = load i16, i16* %ut_type3, align 8 + %conv4 = sext i16 %4 to i32 + %cmp5 = icmp eq i32 %conv4, 6 + br i1 %cmp5, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %lor.lhs.false, %while.body + %5 = load %struct.utmp.325*, %struct.utmp.325** %lutmp, align 8 + %ut_line = getelementptr inbounds %struct.utmp.325, %struct.utmp.325* %5, i32 0, i32 2 + %arraydecay = getelementptr inbounds [32 x i8], [32 x i8]* %ut_line, i64 0, i64 0 + %6 = load %struct.utmp.325*, %struct.utmp.325** %utmp_entry.addr, align 8 + %ut_line7 = getelementptr inbounds %struct.utmp.325, %struct.utmp.325* %6, i32 0, i32 2 + %arraydecay8 = getelementptr inbounds [32 x i8], [32 x i8]* %ut_line7, i64 0, i64 0 + %call9 = call i32 @strcmp(i8* %arraydecay, i8* %arraydecay8) #21 + %tobool = icmp ne i32 %call9, 0 + br i1 %tobool, label %if.end, label %while.end + +if.end: ; preds = %land.lhs.true, %lor.lhs.false + br label %while.cond + +while.end: ; preds = %land.lhs.true, %while.cond + %7 = load %struct.utmp.325*, %struct.utmp.325** %lutmp, align 8 + ret %struct.utmp.325* %7 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.325* @pututline(%struct.utmp.325* %utmp_entry) #0 { +entry: + %utmp_entry.addr = alloca %struct.utmp.325*, align 8 + store %struct.utmp.325* %utmp_entry, %struct.utmp.325** %utmp_entry.addr, align 8 + %0 = load i32, i32* @static_fd, align 4 + %call = call i64 @lseek(i32 %0, i64 -400, i32 1) #20 + %1 = load %struct.utmp.325*, %struct.utmp.325** %utmp_entry.addr, align 8 + %call1 = call %struct.utmp.325* @__getutid(%struct.utmp.325* %1) #19 + %cmp = icmp ne %struct.utmp.325* %call1, null + %2 = load i32, i32* @static_fd, align 4 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %call2 = call i64 @lseek(i32 %2, i64 -400, i32 1) #20 + br label %if.end + +if.else: ; preds = %entry + %call3 = call i64 @lseek(i32 %2, i64 0, i32 2) #20 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %3 = load i32, i32* @static_fd, align 4 + %4 = load %struct.utmp.325*, %struct.utmp.325** %utmp_entry.addr, align 8 + %5 = bitcast %struct.utmp.325* %4 to i8* + %call4 = call i64 @write(i32 %3, i8* %5, i64 400) #19 + %cmp5 = icmp ne i64 %call4, 400 + br i1 %cmp5, label %if.then6, label %if.end7 + +if.then6: ; preds = %if.end + store %struct.utmp.325* null, %struct.utmp.325** %utmp_entry.addr, align 8 + br label %if.end7 + +if.end7: ; preds = %if.then6, %if.end + %6 = load %struct.utmp.325*, %struct.utmp.325** %utmp_entry.addr, align 8 + ret %struct.utmp.325* %6 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @utmpname(i8* %new_ut_name) #0 { +entry: + %new_ut_name.addr = alloca i8*, align 8 + store i8* %new_ut_name, i8** %new_ut_name.addr, align 8 + %0 = load i8*, i8** %new_ut_name.addr, align 8 + %cmp = icmp ne i8* %0, null + br i1 %cmp, label %if.then, label %if.end6 + +if.then: ; preds = %entry + %1 = load i8*, i8** @static_ut_name, align 8 + %cmp1 = icmp ne i8* %1, getelementptr inbounds ([14 x i8], [14 x i8]* @default_file_name, i64 0, i64 0) + br i1 %cmp1, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + %2 = load i8*, i8** @static_ut_name, align 8 + call void @free(i8* %2) #20 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %3 = load i8*, i8** %new_ut_name.addr, align 8 + %call = call noalias i8* @strdup(i8* %3) #20 + store i8* %call, i8** @static_ut_name, align 8 + %4 = load i8*, i8** @static_ut_name, align 8 + %cmp3 = icmp eq i8* %4, null + %spec.store.select = select i1 %cmp3, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @default_file_name, i64 0, i64 0), i8* %call + store i8* %spec.store.select, i8** @static_ut_name, align 8 + br label %if.end6 + +if.end6: ; preds = %if.end, %entry + %5 = load i32, i32* @static_fd, align 4 + %cmp7 = icmp ne i32 %5, -1 + br i1 %cmp7, label %if.then8, label %if.end10 + +if.then8: ; preds = %if.end6 + %6 = load i32, i32* @static_fd, align 4 + %call9 = call i32 @close(i32 %6) #19 + br label %if.end10 + +if.end10: ; preds = %if.then8, %if.end6 + store i32 -1, i32* @static_fd, align 4 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_wchar_utf8sntowcs(i32* noalias %pwc, i64 %wn, i8** noalias %src, i64 %n, %struct.__mbstate_t.514* %ps, i32 %allow_continuation) #0 { +entry: + %retval = alloca i64, align 8 + %pwc.addr = alloca i32*, align 8 + %wn.addr = alloca i64, align 8 + %src.addr = alloca i8**, align 8 + %n.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.514*, align 8 + %allow_continuation.addr = alloca i32, align 4 + %s = alloca i8*, align 8 + %mask = alloca i32, align 4 + %wc = alloca i32, align 4 + %wcbuf = alloca [1 x i32], align 4 + %count = alloca i64, align 8 + %incr = alloca i32, align 4 + store i32* %pwc, i32** %pwc.addr, align 8 + store i64 %wn, i64* %wn.addr, align 8 + store i8** %src, i8*** %src.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__mbstate_t.514* %ps, %struct.__mbstate_t.514** %ps.addr, align 8 + store i32 %allow_continuation, i32* %allow_continuation.addr, align 4 + %0 = load i8**, i8*** %src.addr, align 8 + %1 = load i8*, i8** %0, align 8 + store i8* %1, i8** %s, align 8 + store i32 1, i32* %incr, align 4 + %2 = load i32*, i32** %pwc.addr, align 8 + %tobool = icmp ne i32* %2, null + br i1 %tobool, label %lor.lhs.false, label %if.then + +lor.lhs.false: ; preds = %entry + %3 = load i32*, i32** %pwc.addr, align 8 + %4 = load %struct.__mbstate_t.514*, %struct.__mbstate_t.514** %ps.addr, align 8 + %5 = bitcast %struct.__mbstate_t.514* %4 to i32* + %cmp = icmp eq i32* %3, %5 + br i1 %cmp, label %if.then, label %if.end3 + +if.then: ; preds = %lor.lhs.false, %entry + %6 = load i32*, i32** %pwc.addr, align 8 + %tobool1 = icmp ne i32* %6, null + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + store i64 -1, i64* %wn.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %arraydecay = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay, i32** %pwc.addr, align 8 + store i32 0, i32* %incr, align 4 + br label %if.end3 + +if.end3: ; preds = %if.end, %lor.lhs.false + %7 = load i64, i64* %wn.addr, align 8 + store i64 %7, i64* %count, align 8 + %tobool4 = icmp ne i64 %7, 0 + br i1 %tobool4, label %if.end6, label %if.then5 + +if.then5: ; preds = %if.end3 + store i64 0, i64* %retval, align 8 + br label %return + +if.end6: ; preds = %if.end3 + %8 = load %struct.__mbstate_t.514*, %struct.__mbstate_t.514** %ps.addr, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.514, %struct.__mbstate_t.514* %8, i32 0, i32 0 + %9 = load i32, i32* %__mask, align 4 + store i32 %9, i32* %mask, align 4 + %cmp7 = icmp ne i32 %9, 0 + br i1 %cmp7, label %if.then8, label %do.body + +if.then8: ; preds = %if.end6 + %10 = load %struct.__mbstate_t.514*, %struct.__mbstate_t.514** %ps.addr, align 8 + %__wc = getelementptr inbounds %struct.__mbstate_t.514, %struct.__mbstate_t.514* %10, i32 0, i32 1 + %11 = load i32, i32* %__wc, align 4 + store i32 %11, i32* %wc, align 4 + %cmp9 = icmp ne i32 %11, 65535 + br i1 %cmp9, label %if.then10, label %if.end14 + +if.then10: ; preds = %if.then8 + %12 = load i64, i64* %n.addr, align 8 + %tobool11 = icmp ne i64 %12, 0 + br i1 %tobool11, label %while.cond, label %DONE + +if.end14: ; preds = %if.then8 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +do.body: ; preds = %if.end6, %land.rhs + %13 = load i64, i64* %n.addr, align 8 + %tobool16 = icmp ne i64 %13, 0 + br i1 %tobool16, label %if.end18, label %DONE + +if.end18: ; preds = %do.body + %14 = load i64, i64* %n.addr, align 8 + %dec = add i64 %14, -1 + store i64 %dec, i64* %n.addr, align 8 + %15 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %15, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %16 = load i8, i8* %15, align 1 + %conv = zext i8 %16 to i32 + store i32 %conv, i32* %wc, align 4 + %cmp19 = icmp uge i32 %conv, 128 + br i1 %cmp19, label %if.then21, label %COMPLETE + +if.then21: ; preds = %if.end18 + store i32 64, i32* %mask, align 4 + %17 = load i8*, i8** %s, align 8 + %arrayidx = getelementptr inbounds i8, i8* %17, i64 -1 + %18 = load i8, i8* %arrayidx, align 1 + %conv22 = sext i8 %18 to i32 + %sub = sub nsw i32 %conv22, 192 + %conv23 = trunc i32 %sub to i8 + %conv24 = zext i8 %conv23 to i32 + %cmp25 = icmp slt i32 %conv24, 62 + br i1 %cmp25, label %START, label %BAD + +BAD: ; preds = %if.end52, %lor.lhs.false55, %lor.lhs.false59, %while.body, %if.then21 + %19 = load i32, i32* %mask, align 4 + %20 = load %struct.__mbstate_t.514*, %struct.__mbstate_t.514** %ps.addr, align 8 + %__mask29 = getelementptr inbounds %struct.__mbstate_t.514, %struct.__mbstate_t.514* %20, i32 0, i32 0 + store i32 %19, i32* %__mask29, align 4 + %21 = load %struct.__mbstate_t.514*, %struct.__mbstate_t.514** %ps.addr, align 8 + %__wc30 = getelementptr inbounds %struct.__mbstate_t.514, %struct.__mbstate_t.514* %21, i32 0, i32 1 + store i32 65535, i32* %__wc30, align 4 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +while.cond: ; preds = %START, %if.then10 + %22 = load i64, i64* %n.addr, align 8 + %tobool31 = icmp ne i64 %22, 0 + br i1 %tobool31, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %23 = load i64, i64* %n.addr, align 8 + %dec32 = add i64 %23, -1 + store i64 %dec32, i64* %n.addr, align 8 + %24 = load i8*, i8** %s, align 8 + %25 = load i8, i8* %24, align 1 + %conv33 = sext i8 %25 to i32 + %and = and i32 %conv33, 192 + %cmp34 = icmp ne i32 %and, 128 + br i1 %cmp34, label %BAD, label %if.end37 + +if.end37: ; preds = %while.body + %26 = load i32, i32* %mask, align 4 + %shl = shl i32 %26, 5 + store i32 %shl, i32* %mask, align 4 + %27 = load i32, i32* %wc, align 4 + %shl38 = shl i32 %27, 6 + store i32 %shl38, i32* %wc, align 4 + %28 = load i8*, i8** %s, align 8 + %29 = load i8, i8* %28, align 1 + %conv39 = sext i8 %29 to i32 + %and40 = and i32 %conv39, 63 + %30 = load i32, i32* %wc, align 4 + %add = add i32 %30, %and40 + store i32 %add, i32* %wc, align 4 + %31 = load i8*, i8** %s, align 8 + %incdec.ptr41 = getelementptr inbounds i8, i8* %31, i32 1 + store i8* %incdec.ptr41, i8** %s, align 8 + br label %START + +START: ; preds = %if.then21, %if.end37 + %32 = load i32, i32* %mask, align 4 + %shl42 = shl i32 %32, 1 + %neg = xor i32 %shl42, -1 + %33 = load i32, i32* %wc, align 4 + %and43 = and i32 %33, %neg + store i32 %and43, i32* %wc, align 4 + %34 = load i32, i32* %wc, align 4 + %35 = load i32, i32* %mask, align 4 + %and44 = and i32 %34, %35 + %cmp45 = icmp eq i32 %and44, 0 + br i1 %cmp45, label %if.then47, label %while.cond + +if.then47: ; preds = %START + %36 = load i32, i32* %mask, align 4 + %shr = lshr i32 %36, 5 + store i32 %shr, i32* %mask, align 4 + %cmp48 = icmp eq i32 %shr, 64 + br i1 %cmp48, label %if.then50, label %if.end52 + +if.then50: ; preds = %if.then47 + %37 = load i32, i32* %mask, align 4 + %38 = load i32, i32* %mask, align 4 + %add51 = add i32 %38, %37 + store i32 %add51, i32* %mask, align 4 + br label %if.end52 + +if.end52: ; preds = %if.then50, %if.then47 + %39 = load i32, i32* %wc, align 4 + %40 = load i32, i32* %mask, align 4 + %cmp53 = icmp ult i32 %39, %40 + br i1 %cmp53, label %BAD, label %lor.lhs.false55 + +lor.lhs.false55: ; preds = %if.end52 + %41 = load i32, i32* %wc, align 4 + %sub56 = sub i32 %41, 65534 + %cmp57 = icmp ult i32 %sub56, 2 + br i1 %cmp57, label %BAD, label %lor.lhs.false59 + +lor.lhs.false59: ; preds = %lor.lhs.false55 + %42 = load i32, i32* %wc, align 4 + %sub60 = sub i32 %42, 55296 + %cmp61 = icmp ult i32 %sub60, 2048 + br i1 %cmp61, label %BAD, label %COMPLETE + +while.end: ; preds = %while.cond + %43 = load i32, i32* %allow_continuation.addr, align 4 + %tobool66 = icmp ne i32 %43, 0 + br i1 %tobool66, label %if.end77, label %if.then67 + +if.then67: ; preds = %while.end + %44 = load i64, i64* %count, align 8 + %45 = load i64, i64* %wn.addr, align 8 + %cmp68 = icmp ne i64 %44, %45 + br i1 %cmp68, label %if.then70, label %do.body72 + +if.then70: ; preds = %if.then67 + store i64 0, i64* %retval, align 8 + br label %return + +do.body72: ; preds = %if.then67, %do.body72 + %46 = load i8*, i8** %s, align 8 + %incdec.ptr73 = getelementptr inbounds i8, i8* %46, i32 -1 + store i8* %incdec.ptr73, i8** %s, align 8 + %47 = load i32, i32* %mask, align 4 + %shr74 = lshr i32 %47, 5 + store i32 %shr74, i32* %mask, align 4 + %cmp75 = icmp uge i32 %shr74, 64 + br i1 %cmp75, label %do.body72, label %DONE + +if.end77: ; preds = %while.end + %48 = load i32, i32* %mask, align 4 + %49 = load %struct.__mbstate_t.514*, %struct.__mbstate_t.514** %ps.addr, align 8 + %__mask78 = getelementptr inbounds %struct.__mbstate_t.514, %struct.__mbstate_t.514* %49, i32 0, i32 0 + store i32 %48, i32* %__mask78, align 4 + %50 = load i32, i32* %wc, align 4 + %51 = load %struct.__mbstate_t.514*, %struct.__mbstate_t.514** %ps.addr, align 8 + %__wc79 = getelementptr inbounds %struct.__mbstate_t.514, %struct.__mbstate_t.514* %51, i32 0, i32 1 + store i32 %50, i32* %__wc79, align 4 + %52 = load i8*, i8** %s, align 8 + %53 = load i8**, i8*** %src.addr, align 8 + store i8* %52, i8** %53, align 8 + store i64 -2, i64* %retval, align 8 + br label %return + +COMPLETE: ; preds = %if.end18, %lor.lhs.false59 + %54 = load i32, i32* %wc, align 4 + %55 = load i32*, i32** %pwc.addr, align 8 + store i32 %54, i32* %55, align 4 + %56 = load i32, i32* %incr, align 4 + %57 = load i32*, i32** %pwc.addr, align 8 + %idx.ext = sext i32 %56 to i64 + %add.ptr = getelementptr inbounds i32, i32* %57, i64 %idx.ext + store i32* %add.ptr, i32** %pwc.addr, align 8 + %58 = load i32, i32* %wc, align 4 + %tobool82 = icmp ne i32 %58, 0 + br i1 %tobool82, label %land.rhs, label %do.end85 + +land.rhs: ; preds = %COMPLETE + %59 = load i64, i64* %count, align 8 + %dec83 = add i64 %59, -1 + store i64 %dec83, i64* %count, align 8 + %tobool84 = icmp ne i64 %dec83, 0 + br i1 %tobool84, label %do.body, label %do.end85 + +do.end85: ; preds = %COMPLETE, %land.rhs + %60 = load i32, i32* %wc, align 4 + %tobool86 = icmp ne i32 %60, 0 + br i1 %tobool86, label %DONE, label %if.then87 + +if.then87: ; preds = %do.end85 + store i8* null, i8** %s, align 8 + br label %DONE + +DONE: ; preds = %do.end85, %if.then87, %do.body72, %do.body, %if.then10 + %61 = load %struct.__mbstate_t.514*, %struct.__mbstate_t.514** %ps.addr, align 8 + %__mask89 = getelementptr inbounds %struct.__mbstate_t.514, %struct.__mbstate_t.514* %61, i32 0, i32 0 + store i32 0, i32* %__mask89, align 4 + %62 = load i32*, i32** %pwc.addr, align 8 + %arraydecay90 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %cmp91 = icmp ne i32* %62, %arraydecay90 + br i1 %cmp91, label %if.then93, label %if.end94 + +if.then93: ; preds = %DONE + %63 = load i8*, i8** %s, align 8 + %64 = load i8**, i8*** %src.addr, align 8 + store i8* %63, i8** %64, align 8 + br label %if.end94 + +if.end94: ; preds = %if.then93, %DONE + %65 = load i64, i64* %wn.addr, align 8 + %66 = load i64, i64* %count, align 8 + %sub95 = sub i64 %65, %66 + store i64 %sub95, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end94, %if.end77, %if.then70, %BAD, %if.end14, %if.then5 + %67 = load i64, i64* %retval, align 8 + ret i64 %67 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @mbrtowc(i32* noalias %pwc, i8* noalias %s, i64 %n, %struct.__mbstate_t.514* noalias %ps) #0 { +entry: + %retval = alloca i64, align 8 + %pwc.addr = alloca i32*, align 8 + %s.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.514*, align 8 + %wcbuf = alloca [1 x i32], align 4 + %p = alloca i8*, align 8 + %r = alloca i64, align 8 + %empty_string = alloca [1 x i8], align 1 + store i32* %pwc, i32** %pwc.addr, align 8 + store i8* %s, i8** %s.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__mbstate_t.514* %ps, %struct.__mbstate_t.514** %ps.addr, align 8 + %0 = load %struct.__mbstate_t.514*, %struct.__mbstate_t.514** %ps.addr, align 8 + %tobool = icmp ne %struct.__mbstate_t.514* %0, null + %spec.store.select = select i1 %tobool, %struct.__mbstate_t.514* %ps, %struct.__mbstate_t.514* @mbrtowc.mbstate + store %struct.__mbstate_t.514* %spec.store.select, %struct.__mbstate_t.514** %ps.addr, align 8 + %1 = load i8*, i8** %s.addr, align 8 + %tobool1 = icmp ne i8* %1, null + br i1 %tobool1, label %if.else, label %if.then2 + +if.then2: ; preds = %entry + %2 = load i8*, i8** %s.addr, align 8 + %3 = bitcast i8* %2 to i32* + store i32* %3, i32** %pwc.addr, align 8 + %arrayidx = getelementptr inbounds [1 x i8], [1 x i8]* %empty_string, i64 0, i64 0 + store i8 0, i8* %arrayidx, align 1 + %arraydecay = getelementptr inbounds [1 x i8], [1 x i8]* %empty_string, i64 0, i64 0 + store i8* %arraydecay, i8** %s.addr, align 8 + store i64 1, i64* %n.addr, align 8 + br label %if.end7 + +if.else: ; preds = %entry + %4 = load i64, i64* %n.addr, align 8 + %tobool3 = icmp ne i64 %4, 0 + br i1 %tobool3, label %if.end7, label %if.then4 + +if.then4: ; preds = %if.else + %5 = load %struct.__mbstate_t.514*, %struct.__mbstate_t.514** %ps.addr, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.514, %struct.__mbstate_t.514* %5, i32 0, i32 0 + %6 = load i32, i32* %__mask, align 4 + %tobool5 = icmp ne i32 %6, 0 + br i1 %tobool5, label %land.rhs, label %land.end + +land.rhs: ; preds = %if.then4 + %7 = load %struct.__mbstate_t.514*, %struct.__mbstate_t.514** %ps.addr, align 8 + %__wc = getelementptr inbounds %struct.__mbstate_t.514, %struct.__mbstate_t.514* %7, i32 0, i32 1 + %8 = load i32, i32* %__wc, align 4 + %cmp = icmp eq i32 %8, 65535 + br label %land.end + +land.end: ; preds = %land.rhs, %if.then4 + %9 = phi i1 [ false, %if.then4 ], [ %cmp, %land.rhs ] + %10 = zext i1 %9 to i64 + %cond = select i1 %9, i64 -1, i64 -2 + store i64 %cond, i64* %retval, align 8 + br label %return + +if.end7: ; preds = %if.else, %if.then2 + %11 = load i8*, i8** %s.addr, align 8 + store i8* %11, i8** %p, align 8 + %12 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %12, i32 0, i32 9 + %13 = load i8, i8* %encoding, align 8 + %conv = zext i8 %13 to i32 + %cmp8 = icmp eq i32 %conv, 1 + br i1 %cmp8, label %if.then10, label %if.end18 + +if.then10: ; preds = %if.end7 + %14 = load i32*, i32** %pwc.addr, align 8 + %tobool11 = icmp ne i32* %14, null + br i1 %tobool11, label %if.end14, label %if.then12 + +if.then12: ; preds = %if.then10 + %arraydecay13 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay13, i32** %pwc.addr, align 8 + br label %if.end14 + +if.end14: ; preds = %if.then12, %if.then10 + %15 = load i32*, i32** %pwc.addr, align 8 + %16 = load i64, i64* %n.addr, align 8 + %17 = load %struct.__mbstate_t.514*, %struct.__mbstate_t.514** %ps.addr, align 8 + %call = call i64 @_wchar_utf8sntowcs(i32* %15, i64 1, i8** %p, i64 %16, %struct.__mbstate_t.514* %17, i32 1) #19 + store i64 %call, i64* %r, align 8 + %18 = load i64, i64* %r, align 8 + %cmp15 = icmp eq i64 %18, 1 + %19 = load i8*, i8** %p, align 8 + %20 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %20 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %21 = load i64, i64* %r, align 8 + %cond17 = select i1 %cmp15, i64 %sub.ptr.sub, i64 %21 + store i64 %cond17, i64* %retval, align 8 + br label %return + +if.end18: ; preds = %if.end7 + %arraydecay19 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %22 = load %struct.__mbstate_t.514*, %struct.__mbstate_t.514** %ps.addr, align 8 + %call20 = call i64 @mbsnrtowcs(i32* %arraydecay19, i8** %p, i64 -1, i64 1, %struct.__mbstate_t.514* %22) #20 + store i64 %call20, i64* %r, align 8 + %23 = load i64, i64* %r, align 8 + %cmp21 = icmp sge i64 %23, 0 + %24 = load i32*, i32** %pwc.addr, align 8 + %tobool24 = icmp ne i32* %24, null + %or.cond = and i1 %cmp21, %tobool24 + br i1 %or.cond, label %if.then25, label %if.end28 + +if.then25: ; preds = %if.end18 + %arraydecay26 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %25 = load i32, i32* %arraydecay26, align 4 + %26 = load i32*, i32** %pwc.addr, align 8 + store i32 %25, i32* %26, align 4 + br label %if.end28 + +if.end28: ; preds = %if.then25, %if.end18 + %27 = load i64, i64* %r, align 8 + store i64 %27, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end28, %if.end14, %land.end + %28 = load i64, i64* %retval, align 8 + ret i64 %28 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @mbsinit(%struct.__mbstate_t.514* %ps) #14 { +entry: + %ps.addr = alloca %struct.__mbstate_t.514*, align 8 + store %struct.__mbstate_t.514* %ps, %struct.__mbstate_t.514** %ps.addr, align 8 + %0 = load %struct.__mbstate_t.514*, %struct.__mbstate_t.514** %ps.addr, align 8 + %tobool = icmp ne %struct.__mbstate_t.514* %0, null + br i1 %tobool, label %lor.rhs, label %lor.end + +lor.rhs: ; preds = %entry + %1 = load %struct.__mbstate_t.514*, %struct.__mbstate_t.514** %ps.addr, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.514, %struct.__mbstate_t.514* %1, i32 0, i32 0 + %2 = load i32, i32* %__mask, align 4 + %tobool1 = icmp ne i32 %2, 0 + %lnot = xor i1 %tobool1, true + br label %lor.end + +lor.end: ; preds = %lor.rhs, %entry + %3 = phi i1 [ true, %entry ], [ %lnot, %lor.rhs ] + %lor.ext = zext i1 %3 to i32 + ret i32 %lor.ext +} + +; Function Attrs: noinline nounwind uwtable +define i32 @iswprint(i32 %wc) #0 { +entry: + %wc.addr = alloca i32, align 4 + store i32 %wc, i32* %wc.addr, align 4 + %0 = load i32, i32* %wc.addr, align 4 + %call = call i32 @iswctype(i32 %0, i32 8) #20 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.570* %stream, i8* %buf, i64 %bufsize) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.570*, align 8 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %rv = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.570* %stream, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + store i64 0, i64* %rv, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 4 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end18, label %if.then + +if.then: ; preds = %entry + %2 = load i64, i64* %bufsize.addr, align 8 + %cmp = icmp ugt i64 %2, 9223372036854775807 + br i1 %cmp, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + store i64 9223372036854775807, i64* %bufsize.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %3 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %3, i32 0, i32 2 + %4 = load i32, i32* %__filedes, align 4 + %5 = load i8*, i8** %buf.addr, align 8 + %6 = load i64, i64* %bufsize.addr, align 8 + %call = call i64 @read(i32 %4, i8* %5, i64 %6) #19 + store i64 %call, i64* %rv, align 8 + %cmp3 = icmp sle i64 %call, 0 + br i1 %cmp3, label %if.then5, label %if.end18 + +if.then5: ; preds = %if.end + %7 = load i64, i64* %rv, align 8 + %cmp6 = icmp eq i64 %7, 0 + %8 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags9 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags9, align 8 + %conv10 = zext i16 %9 to i32 + br i1 %cmp6, label %if.then8, label %if.else + +if.then8: ; preds = %if.then5 + %or = or i32 %conv10, 4 + %conv11 = trunc i32 %or to i16 + store i16 %conv11, i16* %__modeflags9, align 8 + br label %if.end18 + +if.else: ; preds = %if.then5 + %or14 = or i32 %conv10, 8 + %conv15 = trunc i32 %or14 to i16 + store i16 %conv15, i16* %__modeflags9, align 8 + store i64 0, i64* %rv, align 8 + br label %if.end18 + +if.end18: ; preds = %if.end, %if.else, %if.then8, %entry + %10 = load i64, i64* %rv, align 8 + ret i64 %10 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.570* %stream, i8* %buf, i64 %bufsize) #0 { +entry: + %retval = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.570*, align 8 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %todo = alloca i64, align 8 + %rv = alloca i64, align 8 + %stodo = alloca i64, align 8 + %s = alloca i8*, align 8 + store %struct.__STDIO_FILE_STRUCT.570* %stream, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i64, i64* %bufsize.addr, align 8 + store i64 %0, i64* %todo, align 8 + br label %do.body + +do.body: ; preds = %if.then3, %entry + %1 = load i64, i64* %todo, align 8 + %cmp = icmp eq i64 %1, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %do.body + %2 = load i64, i64* %bufsize.addr, align 8 + store i64 %2, i64* %retval, align 8 + br label %do.end32 + +if.end: ; preds = %do.body + %3 = load i64, i64* %todo, align 8 + %cmp1 = icmp ule i64 %3, 9223372036854775807 + %4 = load i64, i64* %todo, align 8 + %cond = select i1 %cmp1, i64 %4, i64 9223372036854775807 + store i64 %cond, i64* %stodo, align 8 + %5 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %5, i32 0, i32 2 + %6 = load i32, i32* %__filedes, align 4 + %7 = load i8*, i8** %buf.addr, align 8 + %8 = load i64, i64* %stodo, align 8 + %call = call i64 @write(i32 %6, i8* %7, i64 %8) #19 + store i64 %call, i64* %rv, align 8 + %cmp2 = icmp sge i64 %call, 0 + br i1 %cmp2, label %if.then3, label %if.else + +if.then3: ; preds = %if.end + %9 = load i64, i64* %rv, align 8 + %10 = load i64, i64* %todo, align 8 + %sub = sub i64 %10, %9 + store i64 %sub, i64* %todo, align 8 + %11 = load i64, i64* %rv, align 8 + %12 = load i8*, i8** %buf.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %12, i64 %11 + store i8* %add.ptr, i8** %buf.addr, align 8 + br label %do.body + +if.else: ; preds = %if.end + %13 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %13, i32 0, i32 0 + %14 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %14 to i32 + %or = or i32 %conv, 8 + %conv4 = trunc i32 %or to i16 + store i16 %conv4, i16* %__modeflags, align 8 + %15 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %15, i32 0, i32 4 + %16 = load i8*, i8** %__bufend, align 8 + %17 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %17, i32 0, i32 3 + %18 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %16 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %18 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %stodo, align 8 + %cmp5 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %cmp5, label %if.then7, label %if.end28 + +if.then7: ; preds = %if.else + %19 = load i64, i64* %stodo, align 8 + %20 = load i64, i64* %todo, align 8 + %cmp8 = icmp ugt i64 %19, %20 + br i1 %cmp8, label %if.then10, label %if.end11 + +if.then10: ; preds = %if.then7 + %21 = load i64, i64* %todo, align 8 + store i64 %21, i64* %stodo, align 8 + br label %if.end11 + +if.end11: ; preds = %if.then10, %if.then7 + %22 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufstart12 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %22, i32 0, i32 3 + %23 = load i8*, i8** %__bufstart12, align 8 + store i8* %23, i8** %s, align 8 + br label %do.body13 + +do.body13: ; preds = %if.end20, %if.end11 + %24 = load i8*, i8** %buf.addr, align 8 + %25 = load i8, i8* %24, align 1 + %26 = load i8*, i8** %s, align 8 + store i8 %25, i8* %26, align 1 + %conv14 = zext i8 %25 to i32 + %cmp15 = icmp eq i32 %conv14, 10 + br i1 %cmp15, label %land.lhs.true, label %if.end20 + +land.lhs.true: ; preds = %do.body13 + %27 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %27, i32 0, i32 0 + %28 = load i16, i16* %__modeflags17, align 8 + %conv18 = zext i16 %28 to i32 + %and = and i32 %conv18, 256 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %do.end, label %if.end20 + +if.end20: ; preds = %land.lhs.true, %do.body13 + %29 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %29, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %30 = load i8*, i8** %buf.addr, align 8 + %incdec.ptr21 = getelementptr inbounds i8, i8* %30, i32 1 + store i8* %incdec.ptr21, i8** %buf.addr, align 8 + %31 = load i64, i64* %stodo, align 8 + %dec = add nsw i64 %31, -1 + store i64 %dec, i64* %stodo, align 8 + %tobool22 = icmp ne i64 %dec, 0 + br i1 %tobool22, label %do.body13, label %do.end + +do.end: ; preds = %land.lhs.true, %if.end20 + %32 = load i8*, i8** %s, align 8 + %33 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %33, i32 0, i32 5 + store i8* %32, i8** %__bufpos, align 8 + %34 = load i8*, i8** %s, align 8 + %35 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufstart23 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %35, i32 0, i32 3 + %36 = load i8*, i8** %__bufstart23, align 8 + %sub.ptr.lhs.cast24 = ptrtoint i8* %34 to i64 + %sub.ptr.rhs.cast25 = ptrtoint i8* %36 to i64 + %sub.ptr.sub26 = sub i64 %sub.ptr.lhs.cast24, %sub.ptr.rhs.cast25 + %37 = load i64, i64* %todo, align 8 + %sub27 = sub i64 %37, %sub.ptr.sub26 + store i64 %sub27, i64* %todo, align 8 + br label %if.end28 + +if.end28: ; preds = %do.end, %if.else + %38 = load i64, i64* %bufsize.addr, align 8 + %39 = load i64, i64* %todo, align 8 + %sub29 = sub i64 %38, %39 + store i64 %sub29, i64* %retval, align 8 + br label %do.end32 + +do.end32: ; preds = %if.then, %if.end28 + %40 = load i64, i64* %retval, align 8 + ret i64 %40 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__freading(%struct.__STDIO_FILE_STRUCT.521* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.521*, align 8 + store %struct.__STDIO_FILE_STRUCT.521* %stream, %struct.__STDIO_FILE_STRUCT.521** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.521*, %struct.__STDIO_FILE_STRUCT.521** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.521, %struct.__STDIO_FILE_STRUCT.521* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 35 + ret i32 %and +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_rfill(%struct.__STDIO_FILE_STRUCT.570* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.570*, align 8 + %rv = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.570* %stream, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %1, i32 0, i32 3 + %2 = load i8*, i8** %__bufstart, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %3, i32 0, i32 4 + %4 = load i8*, i8** %__bufend, align 8 + %5 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufstart1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %5, i32 0, i32 3 + %6 = load i8*, i8** %__bufstart1, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %4 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %6 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %call = call i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.570* %0, i8* %2, i64 %sub.ptr.sub) #19 + store i64 %call, i64* %rv, align 8 + %7 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufstart2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %7, i32 0, i32 3 + %8 = load i8*, i8** %__bufstart2, align 8 + %9 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %9, i32 0, i32 5 + store i8* %8, i8** %__bufpos, align 8 + %10 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufstart3 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %10, i32 0, i32 3 + %11 = load i8*, i8** %__bufstart3, align 8 + %12 = load i64, i64* %rv, align 8 + %add.ptr = getelementptr inbounds i8, i8* %11, i64 %12 + %13 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %13, i32 0, i32 6 + store i8* %add.ptr, i8** %__bufread, align 8 + %14 = load i64, i64* %rv, align 8 + ret i64 %14 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_trans2r_o(%struct.__STDIO_FILE_STRUCT.570* noalias %stream, i32 %oflag) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.570*, align 8 + %oflag.addr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.570* %stream, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + store i32 %oflag, i32* %oflag.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %2 = load i32, i32* %oflag.addr, align 4 + %and = and i32 %conv, %2 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end9, label %if.then + +if.then: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %3, i32 0, i32 0 + %4 = load i16, i16* %__modeflags1, align 8 + %conv2 = zext i16 %4 to i32 + %and3 = and i32 %conv2, 2176 + %tobool4 = icmp ne i32 %and3, 0 + br i1 %tobool4, label %DO_EBADF, label %if.end + +if.end: ; preds = %if.then + %5 = load i32, i32* %oflag.addr, align 4 + %6 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %6, i32 0, i32 0 + %7 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %7 to i32 + %or = or i32 %conv7, %5 + %conv8 = trunc i32 %or to i16 + store i16 %conv8, i16* %__modeflags6, align 8 + br label %if.end9 + +if.end9: ; preds = %if.end, %entry + %8 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags10, align 8 + %conv11 = zext i16 %9 to i32 + %and12 = and i32 %conv11, 16 + %tobool13 = icmp ne i32 %and12, 0 + br i1 %tobool13, label %DO_EBADF, label %if.end19 + +DO_EBADF: ; preds = %if.end9, %if.then + store i32 9, i32* @errno, align 4 + br label %ERROR + +ERROR: ; preds = %if.then24, %DO_EBADF + %10 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags15 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %10, i32 0, i32 0 + %11 = load i16, i16* %__modeflags15, align 8 + %conv16 = zext i16 %11 to i32 + %or17 = or i32 %conv16, 8 + %conv18 = trunc i32 %or17 to i16 + store i16 %conv18, i16* %__modeflags15, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end19: ; preds = %if.end9 + %12 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags20 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags20, align 8 + %conv21 = zext i16 %13 to i32 + %and22 = and i32 %conv21, 64 + %tobool23 = icmp ne i32 %and22, 0 + br i1 %tobool23, label %if.then24, label %if.end32 + +if.then24: ; preds = %if.end19 + %14 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %call = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.570* %14) #19 + %tobool25 = icmp ne i64 %call, 0 + br i1 %tobool25, label %ERROR, label %if.end27 + +if.end27: ; preds = %if.then24 + %15 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %15, i32 0, i32 3 + %16 = load i8*, i8** %__bufstart, align 8 + %17 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %17, i32 0, i32 8 + store i8* %16, i8** %__bufputc_u, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags28 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %18, i32 0, i32 0 + %19 = load i16, i16* %__modeflags28, align 8 + %conv29 = zext i16 %19 to i32 + %and30 = and i32 %conv29, -65 + %conv31 = trunc i32 %and30 to i16 + store i16 %conv31, i16* %__modeflags28, align 8 + br label %if.end32 + +if.end32: ; preds = %if.end27, %if.end19 + %20 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags33 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %20, i32 0, i32 0 + %21 = load i16, i16* %__modeflags33, align 8 + %conv34 = zext i16 %21 to i32 + %or35 = or i32 %conv34, 1 + %conv36 = trunc i32 %or35 to i16 + store i16 %conv36, i16* %__modeflags33, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end32, %ERROR + %22 = load i32, i32* %retval, align 4 + ret i32 %22 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fclose(%struct.__STDIO_FILE_STRUCT.570* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.570*, align 8 + %rv = alloca i32, align 4 + %ptr = alloca %struct.__STDIO_FILE_STRUCT.570*, align 8 + store %struct.__STDIO_FILE_STRUCT.570* %stream, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + store i32 0, i32* %rv, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.570* %0, %struct.__STDIO_FILE_STRUCT.570** %ptr, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.570* %1, %struct.__STDIO_FILE_STRUCT.570** %ptr, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %cmp = icmp eq %struct.__STDIO_FILE_STRUCT.570* %1, %2 + br i1 %cmp, label %if.then, label %while.cond + +if.then: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %3, i32 0, i32 9 + %4 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %__nextopen, align 8 + store %struct.__STDIO_FILE_STRUCT.570* %4, %struct.__STDIO_FILE_STRUCT.570** @_stdio_openlist, align 8 + br label %if.end7 + +while.cond: ; preds = %entry, %if.end + %5 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %ptr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.570* %5, null + br i1 %tobool, label %while.body, label %if.end7 + +while.body: ; preds = %while.cond + %6 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %ptr, align 8 + %__nextopen1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %6, i32 0, i32 9 + %7 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %__nextopen1, align 8 + %8 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %cmp2 = icmp eq %struct.__STDIO_FILE_STRUCT.570* %7, %8 + br i1 %cmp2, label %if.then3, label %if.end + +if.then3: ; preds = %while.body + %9 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__nextopen4 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %9, i32 0, i32 9 + %10 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %__nextopen4, align 8 + %11 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %ptr, align 8 + %__nextopen5 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %11, i32 0, i32 9 + store %struct.__STDIO_FILE_STRUCT.570* %10, %struct.__STDIO_FILE_STRUCT.570** %__nextopen5, align 8 + br label %if.end7 + +if.end: ; preds = %while.body + %12 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %ptr, align 8 + %__nextopen6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %12, i32 0, i32 9 + %13 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %__nextopen6, align 8 + store %struct.__STDIO_FILE_STRUCT.570* %13, %struct.__STDIO_FILE_STRUCT.570** %ptr, align 8 + br label %while.cond + +if.end7: ; preds = %while.cond, %if.then3, %if.then + %14 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %14, i32 0, i32 0 + %15 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %15 to i32 + %and = and i32 %conv, 64 + %tobool8 = icmp ne i32 %and, 0 + br i1 %tobool8, label %if.then9, label %if.end10 + +if.then9: ; preds = %if.end7 + %16 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %call = call i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.570* %16) #19 + store i32 %call, i32* %rv, align 4 + br label %if.end10 + +if.end10: ; preds = %if.then9, %if.end7 + %17 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %17, i32 0, i32 2 + %18 = load i32, i32* %__filedes, align 4 + %call11 = call i32 @close(i32 %18) #19 + %cmp12 = icmp slt i32 %call11, 0 + br i1 %cmp12, label %if.then14, label %if.end15 + +if.then14: ; preds = %if.end10 + store i32 -1, i32* %rv, align 4 + br label %if.end15 + +if.end15: ; preds = %if.then14, %if.end10 + %19 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__filedes16 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %19, i32 0, i32 2 + store i32 -1, i32* %__filedes16, align 4 + %20 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %20, i32 0, i32 0 + %21 = load i16, i16* %__modeflags17, align 8 + %conv18 = zext i16 %21 to i32 + %and19 = and i32 %conv18, 24576 + %conv20 = trunc i32 %and19 to i16 + store i16 %conv20, i16* %__modeflags17, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags21 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %22, i32 0, i32 0 + %23 = load i16, i16* %__modeflags21, align 8 + %conv22 = zext i16 %23 to i32 + %or = or i32 %conv22, 48 + %conv23 = trunc i32 %or to i16 + store i16 %conv23, i16* %__modeflags21, align 8 + %24 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags24 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %24, i32 0, i32 0 + %25 = load i16, i16* %__modeflags24, align 8 + %conv25 = zext i16 %25 to i32 + %and26 = and i32 %conv25, 16384 + %tobool27 = icmp ne i32 %and26, 0 + br i1 %tobool27, label %if.then28, label %do.body30 + +if.then28: ; preds = %if.end15 + %26 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %26, i32 0, i32 3 + %27 = load i8*, i8** %__bufstart, align 8 + call void @free(i8* %27) #20 + br label %do.body30 + +do.body30: ; preds = %if.then28, %if.end15 + %28 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags31 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %28, i32 0, i32 0 + %29 = load i16, i16* %__modeflags31, align 8 + %conv32 = zext i16 %29 to i32 + %and33 = and i32 %conv32, 8192 + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %if.then35, label %do.end37 + +if.then35: ; preds = %do.body30 + %30 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %31 = bitcast %struct.__STDIO_FILE_STRUCT.570* %30 to i8* + call void @free(i8* %31) #20 + br label %do.end37 + +do.end37: ; preds = %do.body30, %if.then35 + %32 = load i32, i32* %rv, align 4 + ret i32 %32 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @ferror_unlocked(%struct.__STDIO_FILE_STRUCT.594* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.594*, align 8 + store %struct.__STDIO_FILE_STRUCT.594* %stream, %struct.__STDIO_FILE_STRUCT.594** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.594*, %struct.__STDIO_FILE_STRUCT.594** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.594, %struct.__STDIO_FILE_STRUCT.594* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 8 + ret i32 %and +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.570* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.570*, align 8 + %retval1 = alloca i32, align 4 + %bufmask = alloca i16, align 2 + store %struct.__STDIO_FILE_STRUCT.570* %stream, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + store i32 0, i32* %retval1, align 4 + store i16 256, i16* %bufmask, align 2 + %0 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %cmp = icmp eq %struct.__STDIO_FILE_STRUCT.570* %0, bitcast (%struct.__STDIO_FILE_STRUCT.570** @_stdio_openlist to %struct.__STDIO_FILE_STRUCT.570*) + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store %struct.__STDIO_FILE_STRUCT.570* null, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + store i16 0, i16* %bufmask, align 2 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.570* %1, null + br i1 %tobool, label %if.else21, label %if.then2 + +if.then2: ; preds = %if.end + %2 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.570* %2, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end20, %if.then2 + %3 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %tobool3 = icmp ne %struct.__STDIO_FILE_STRUCT.570* %3, null + br i1 %tobool3, label %while.body, label %if.end39 + +while.body: ; preds = %while.cond + %4 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %4, i32 0, i32 0 + %5 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %5 to i32 + %and = and i32 %conv, 64 + %tobool4 = icmp ne i32 %and, 0 + br i1 %tobool4, label %if.then5, label %if.end20 + +if.then5: ; preds = %while.body + %6 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %6, i32 0, i32 0 + %7 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %7 to i32 + %8 = load i16, i16* %bufmask, align 2 + %conv8 = zext i16 %8 to i32 + %or = or i32 %conv7, %conv8 + %xor = xor i32 %or, 320 + %and9 = and i32 %xor, 832 + %tobool10 = icmp ne i32 %and9, 0 + br i1 %tobool10, label %if.end20, label %if.then11 + +if.then11: ; preds = %if.then5 + %9 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %call = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.570* %9) #19 + %tobool12 = icmp ne i64 %call, 0 + br i1 %tobool12, label %if.else, label %if.then13 + +if.then13: ; preds = %if.then11 + %10 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %10, i32 0, i32 3 + %11 = load i8*, i8** %__bufstart, align 8 + %12 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %12, i32 0, i32 8 + store i8* %11, i8** %__bufputc_u, align 8 + %13 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags14 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %13, i32 0, i32 0 + %14 = load i16, i16* %__modeflags14, align 8 + %conv15 = zext i16 %14 to i32 + %and16 = and i32 %conv15, -65 + %conv17 = trunc i32 %and16 to i16 + store i16 %conv17, i16* %__modeflags14, align 8 + br label %if.end20 + +if.else: ; preds = %if.then11 + store i32 -1, i32* %retval1, align 4 + br label %if.end20 + +if.end20: ; preds = %if.then5, %if.else, %if.then13, %while.body + %15 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %15, i32 0, i32 9 + %16 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %__nextopen, align 8 + store %struct.__STDIO_FILE_STRUCT.570* %16, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + br label %while.cond + +if.else21: ; preds = %if.end + %17 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags22 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %17, i32 0, i32 0 + %18 = load i16, i16* %__modeflags22, align 8 + %conv23 = zext i16 %18 to i32 + %and24 = and i32 %conv23, 64 + %tobool25 = icmp ne i32 %and24, 0 + br i1 %tobool25, label %if.then26, label %if.end39 + +if.then26: ; preds = %if.else21 + %19 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %call27 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.570* %19) #19 + %tobool28 = icmp ne i64 %call27, 0 + br i1 %tobool28, label %if.else36, label %if.then29 + +if.then29: ; preds = %if.then26 + %20 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufstart30 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %20, i32 0, i32 3 + %21 = load i8*, i8** %__bufstart30, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufputc_u31 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %22, i32 0, i32 8 + store i8* %21, i8** %__bufputc_u31, align 8 + %23 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags32 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %23, i32 0, i32 0 + %24 = load i16, i16* %__modeflags32, align 8 + %conv33 = zext i16 %24 to i32 + %and34 = and i32 %conv33, -65 + %conv35 = trunc i32 %and34 to i16 + store i16 %conv35, i16* %__modeflags32, align 8 + br label %if.end39 + +if.else36: ; preds = %if.then26 + store i32 -1, i32* %retval1, align 4 + br label %if.end39 + +if.end39: ; preds = %if.else21, %if.else36, %if.then29, %while.cond + %25 = load i32, i32* %retval1, align 4 + ret i32 %25 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fileno_unlocked(%struct.__STDIO_FILE_STRUCT.610* %stream) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.610*, align 8 + store %struct.__STDIO_FILE_STRUCT.610* %stream, %struct.__STDIO_FILE_STRUCT.610** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.610*, %struct.__STDIO_FILE_STRUCT.610** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.610, %struct.__STDIO_FILE_STRUCT.610* %0, i32 0, i32 2 + %1 = load i32, i32* %__filedes, align 4 + %cmp = icmp sge i32 %1, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.610*, %struct.__STDIO_FILE_STRUCT.610** %stream.addr, align 8 + %__filedes1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.610, %struct.__STDIO_FILE_STRUCT.610* %2, i32 0, i32 2 + %3 = load i32, i32* %__filedes1, align 4 + store i32 %3, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + store i32 9, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fprintf(%struct.__STDIO_FILE_STRUCT.570* noalias %stream, i8* noalias %format, ...) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.570*, align 8 + %format.addr = alloca i8*, align 8 + %arg = alloca [1 x %struct.__va_list_tag.2], align 16 + %rv = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.570* %stream, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %arg, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.2* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** @stdout, align 8 + %cmp = icmp eq %struct.__STDIO_FILE_STRUCT.570* %0, %1 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** @stderr, align 8 + %cmp2 = icmp eq %struct.__STDIO_FILE_STRUCT.570* %2, %3 + br i1 %cmp2, label %if.then, label %if.else + +if.then: ; preds = %lor.lhs.false, %entry + %4 = load i8*, i8** %format.addr, align 8 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %arg, i64 0, i64 0 + %call = call i32 @vprintf(i8* %4, %struct.__va_list_tag.2* %arraydecay3) #19 + store i32 %call, i32* %rv, align 4 + br label %if.end + +if.else: ; preds = %lor.lhs.false + %5 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %6 = load i8*, i8** %format.addr, align 8 + %arraydecay4 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %arg, i64 0, i64 0 + %call5 = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.570* %5, i8* %6, %struct.__va_list_tag.2* %arraydecay4) #19 + store i32 %call5, i32* %rv, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %arraydecay6 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %arg, i64 0, i64 0 + %arraydecay67 = bitcast %struct.__va_list_tag.2* %arraydecay6 to i8* + call void @llvm.va_end(i8* %arraydecay67) + %7 = load i32, i32* %rv, align 4 + ret i32 %7 +} + +declare i32 @vprintf(i8*, %struct.__va_list_tag.2*) #18 + +; Function Attrs: noinline nounwind uwtable +define i32 @__fputc_unlocked(i32 %c, %struct.__STDIO_FILE_STRUCT.570* %stream) #0 { +entry: + %retval = alloca i32, align 4 + %c.addr = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.570*, align 8 + %uc = alloca i8, align 1 + store i32 %c, i32* %c.addr, align 4 + store %struct.__STDIO_FILE_STRUCT.570* %stream, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %0, i32 0, i32 5 + %1 = load i8*, i8** %__bufpos, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %2, i32 0, i32 8 + %3 = load i8*, i8** %__bufputc_u, align 8 + %cmp = icmp ult i8* %1, %3 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %4 = load i32, i32* %c.addr, align 4 + %conv = trunc i32 %4 to i8 + %5 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %5, i32 0, i32 5 + %6 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + store i8 %conv, i8* %6, align 1 + %7 = load i32, i32* %c.addr, align 4 + %conv2 = trunc i32 %7 to i8 + %conv3 = zext i8 %conv2 to i32 + store i32 %conv3, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags, align 8 + %conv4 = zext i16 %9 to i32 + %and = and i32 %conv4, 192 + %cmp5 = icmp eq i32 %and, 192 + br i1 %cmp5, label %if.then7, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %10 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %call = call i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.570* %10, i32 128) #19 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %BAD, label %if.then7 + +if.then7: ; preds = %lor.lhs.false, %if.end + %11 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %11, i32 0, i32 2 + %12 = load i32, i32* %__filedes, align 4 + %cmp8 = icmp eq i32 %12, -2 + br i1 %cmp8, label %if.then10, label %if.end13 + +if.then10: ; preds = %if.then7 + %13 = load i32, i32* %c.addr, align 4 + %conv11 = trunc i32 %13 to i8 + %conv12 = zext i8 %conv11 to i32 + store i32 %conv12, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.then7 + %14 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %14, i32 0, i32 4 + %15 = load i8*, i8** %__bufend, align 8 + %16 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %16, i32 0, i32 3 + %17 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %15 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %17 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool14 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %tobool14, label %if.then15, label %if.else + +if.then15: ; preds = %if.end13 + %18 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufend16 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %18, i32 0, i32 4 + %19 = load i8*, i8** %__bufend16, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufpos17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %20, i32 0, i32 5 + %21 = load i8*, i8** %__bufpos17, align 8 + %sub.ptr.lhs.cast18 = ptrtoint i8* %19 to i64 + %sub.ptr.rhs.cast19 = ptrtoint i8* %21 to i64 + %sub.ptr.sub20 = sub i64 %sub.ptr.lhs.cast18, %sub.ptr.rhs.cast19 + %tobool21 = icmp ne i64 %sub.ptr.sub20, 0 + br i1 %tobool21, label %if.end25, label %land.lhs.true + +land.lhs.true: ; preds = %if.then15 + %22 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %call22 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.570* %22) #19 + %tobool23 = icmp ne i64 %call22, 0 + br i1 %tobool23, label %BAD, label %if.end25 + +if.end25: ; preds = %land.lhs.true, %if.then15 + %23 = load i32, i32* %c.addr, align 4 + %conv26 = trunc i32 %23 to i8 + %24 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufpos27 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %24, i32 0, i32 5 + %25 = load i8*, i8** %__bufpos27, align 8 + %incdec.ptr28 = getelementptr inbounds i8, i8* %25, i32 1 + store i8* %incdec.ptr28, i8** %__bufpos27, align 8 + store i8 %conv26, i8* %25, align 1 + %26 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags29 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %26, i32 0, i32 0 + %27 = load i16, i16* %__modeflags29, align 8 + %conv30 = zext i16 %27 to i32 + %and31 = and i32 %conv30, 256 + %tobool32 = icmp ne i32 %and31, 0 + br i1 %tobool32, label %if.then33, label %if.end51 + +if.then33: ; preds = %if.end25 + %28 = load i32, i32* %c.addr, align 4 + %conv34 = trunc i32 %28 to i8 + %conv35 = zext i8 %conv34 to i32 + %cmp36 = icmp eq i32 %conv35, 10 + br i1 %cmp36, label %land.lhs.true38, label %if.end51 + +land.lhs.true38: ; preds = %if.then33 + %29 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %call39 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.570* %29) #19 + %tobool40 = icmp ne i64 %call39, 0 + br i1 %tobool40, label %if.then41, label %if.end51 + +if.then41: ; preds = %land.lhs.true38 + %30 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufpos42 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %30, i32 0, i32 5 + %31 = load i8*, i8** %__bufpos42, align 8 + %incdec.ptr43 = getelementptr inbounds i8, i8* %31, i32 -1 + store i8* %incdec.ptr43, i8** %__bufpos42, align 8 + br label %BAD + +if.else: ; preds = %if.end13 + %32 = load i32, i32* %c.addr, align 4 + %conv46 = trunc i32 %32 to i8 + store i8 %conv46, i8* %uc, align 1 + %33 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %call47 = call i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.570* %33, i8* %uc, i64 1) #19 + %tobool48 = icmp ne i64 %call47, 0 + br i1 %tobool48, label %if.end51, label %BAD + +if.end51: ; preds = %if.else, %if.end25, %land.lhs.true38, %if.then33 + %34 = load i32, i32* %c.addr, align 4 + %conv52 = trunc i32 %34 to i8 + %conv53 = zext i8 %conv52 to i32 + store i32 %conv53, i32* %retval, align 4 + br label %return + +BAD: ; preds = %lor.lhs.false, %if.else, %land.lhs.true, %if.then41 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %BAD, %if.end51, %if.then10, %if.then + %35 = load i32, i32* %retval, align 4 + ret i32 %35 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fputs_unlocked(i8* noalias %s, %struct.__STDIO_FILE_STRUCT.623* noalias %stream) #0 { +entry: + %s.addr = alloca i8*, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.623*, align 8 + %n = alloca i64, align 8 + store i8* %s, i8** %s.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.623* %stream, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %call = call i64 @strlen(i8* %0) #21 + store i64 %call, i64* %n, align 8 + %1 = load i8*, i8** %s.addr, align 8 + %2 = load i64, i64* %n, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.623*, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %call1 = call i64 @fwrite_unlocked(i8* %1, i64 1, i64 %2, %struct.__STDIO_FILE_STRUCT.623* %3) #19 + %4 = load i64, i64* %n, align 8 + %cmp = icmp eq i64 %call1, %4 + %5 = load i64, i64* %n, align 8 + %cond = select i1 %cmp, i64 %5, i64 -1 + %conv = trunc i64 %cond to i32 + ret i32 %conv +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fseek(%struct.__STDIO_FILE_STRUCT.638* %stream, i64 %offset, i32 %whence) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.638*, align 8 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.638* %stream, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %1 = load i64, i64* %offset.addr, align 8 + %2 = load i32, i32* %whence.addr, align 4 + %call = call i32 @fseeko64(%struct.__STDIO_FILE_STRUCT.638* %0, i64 %1, i32 %2) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @vsnprintf(i8* noalias %buf, i64 %size, i8* noalias %format, %struct.__va_list_tag.2* %arg) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %format.addr = alloca i8*, align 8 + %arg.addr = alloca %struct.__va_list_tag.2*, align 8 + %f = alloca %struct.__STDIO_FILE_STRUCT.570, align 8 + %rv = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + store %struct.__va_list_tag.2* %arg, %struct.__va_list_tag.2** %arg.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %f, i32 0, i32 2 + store i32 -2, i32* %__filedes, align 4 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %f, i32 0, i32 0 + store i16 208, i16* %__modeflags, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %f, i32 0, i32 1 + %arrayidx = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 0 + store i8 0, i8* %arrayidx, align 2 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %f, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.514, %struct.__mbstate_t.514* %__state, i32 0, i32 0 + store i32 0, i32* %__mask, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %f, i32 0, i32 9 + store %struct.__STDIO_FILE_STRUCT.570* null, %struct.__STDIO_FILE_STRUCT.570** %__nextopen, align 8 + %0 = load i64, i64* %size.addr, align 8 + %1 = load i8*, i8** %buf.addr, align 8 + %2 = ptrtoint i8* %1 to i64 + %sub = sub i64 -1, %2 + %cmp = icmp ugt i64 %0, %sub + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %3 = load i8*, i8** %buf.addr, align 8 + %4 = ptrtoint i8* %3 to i64 + %sub1 = sub i64 -1, %4 + store i64 %sub1, i64* %size.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %5 = load i8*, i8** %buf.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %f, i32 0, i32 3 + store i8* %5, i8** %__bufstart, align 8 + %6 = load i8*, i8** %buf.addr, align 8 + %7 = load i64, i64* %size.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %6, i64 %7 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %f, i32 0, i32 4 + store i8* %add.ptr, i8** %__bufend, align 8 + %__bufstart2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %f, i32 0, i32 3 + %8 = load i8*, i8** %__bufstart2, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %f, i32 0, i32 5 + store i8* %8, i8** %__bufpos, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %f, i32 0, i32 6 + store i8* %8, i8** %__bufread, align 8 + %__bufstart3 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %f, i32 0, i32 3 + %9 = load i8*, i8** %__bufstart3, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %f, i32 0, i32 7 + store i8* %9, i8** %__bufgetc_u, align 8 + %__bufend4 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %f, i32 0, i32 4 + %10 = load i8*, i8** %__bufend4, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %f, i32 0, i32 8 + store i8* %10, i8** %__bufputc_u, align 8 + %11 = load i8*, i8** %format.addr, align 8 + %12 = load %struct.__va_list_tag.2*, %struct.__va_list_tag.2** %arg.addr, align 8 + %call = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.570* %f, i8* %11, %struct.__va_list_tag.2* %12) #19 + store i32 %call, i32* %rv, align 4 + %13 = load i64, i64* %size.addr, align 8 + %tobool = icmp ne i64 %13, 0 + br i1 %tobool, label %if.then5, label %if.end13 + +if.then5: ; preds = %if.end + %__bufpos6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %f, i32 0, i32 5 + %14 = load i8*, i8** %__bufpos6, align 8 + %__bufend7 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %f, i32 0, i32 4 + %15 = load i8*, i8** %__bufend7, align 8 + %cmp8 = icmp eq i8* %14, %15 + br i1 %cmp8, label %if.then9, label %if.end11 + +if.then9: ; preds = %if.then5 + %__bufpos10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %f, i32 0, i32 5 + %16 = load i8*, i8** %__bufpos10, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %16, i32 -1 + store i8* %incdec.ptr, i8** %__bufpos10, align 8 + br label %if.end11 + +if.end11: ; preds = %if.then9, %if.then5 + %__bufpos12 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %f, i32 0, i32 5 + %17 = load i8*, i8** %__bufpos12, align 8 + store i8 0, i8* %17, align 1 + br label %if.end13 + +if.end13: ; preds = %if.end11, %if.end + %18 = load i32, i32* %rv, align 4 + ret i32 %18 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @atexit(void ()* nonnull %func) #0 { +entry: + %func.addr = alloca void ()*, align 8 + store void ()* %func, void ()** %func.addr, align 8 + %0 = load void ()*, void ()** %func.addr, align 8 + %1 = bitcast void ()* %0 to void (i8*)* + br i1 icmp eq (i8** @__dso_handle, i8** null), label %cond.end, label %cond.false + +cond.false: ; preds = %entry + %2 = load i8*, i8** @__dso_handle, align 8 + br label %cond.end + +cond.end: ; preds = %entry, %cond.false + %cond = phi i8* [ %2, %cond.false ], [ null, %entry ] + %call = call i32 @__cxa_atexit(void (i8*)* %1, i8* null, i8* %cond) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i8* @realpath(i8* %path, i8* nonnull %got_path) #0 { +entry: + %retval = alloca i8*, align 8 + %path.addr = alloca i8*, align 8 + %got_path.addr = alloca i8*, align 8 + %copy_path = alloca [4096 x i8], align 16 + %max_path = alloca i8*, align 8 + %new_path = alloca i8*, align 8 + %path_len = alloca i64, align 8 + %readlinks = alloca i32, align 4 + %link_len = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store i8* %got_path, i8** %got_path.addr, align 8 + store i32 0, i32* %readlinks, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %cmp = icmp eq i8* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 22, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %path.addr, align 8 + %2 = load i8, i8* %1, align 1 + %conv = sext i8 %2 to i32 + %cmp1 = icmp eq i32 %conv, 0 + br i1 %cmp1, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.end + store i32 2, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %if.end + %3 = load i8*, i8** %path.addr, align 8 + %call = call i64 @strlen(i8* %3) #21 + store i64 %call, i64* %path_len, align 8 + %4 = load i64, i64* %path_len, align 8 + %cmp5 = icmp uge i64 %4, 4094 + br i1 %cmp5, label %if.then7, label %if.end8 + +if.then7: ; preds = %if.end4 + store i32 36, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end8: ; preds = %if.end4 + %arraydecay = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 4095 + %5 = load i64, i64* %path_len, align 8 + %idx.neg = sub i64 0, %5 + %add.ptr9 = getelementptr inbounds i8, i8* %add.ptr, i64 %idx.neg + %6 = load i8*, i8** %path.addr, align 8 + %call10 = call i8* @strcpy(i8* %add.ptr9, i8* %6) #20 + %arraydecay11 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr12 = getelementptr inbounds i8, i8* %arraydecay11, i64 4095 + %7 = load i64, i64* %path_len, align 8 + %idx.neg13 = sub i64 0, %7 + %add.ptr14 = getelementptr inbounds i8, i8* %add.ptr12, i64 %idx.neg13 + store i8* %add.ptr14, i8** %path.addr, align 8 + %8 = load i8*, i8** %got_path.addr, align 8 + %add.ptr15 = getelementptr inbounds i8, i8* %8, i64 4096 + %add.ptr16 = getelementptr inbounds i8, i8* %add.ptr15, i64 -2 + store i8* %add.ptr16, i8** %max_path, align 8 + %9 = load i8*, i8** %got_path.addr, align 8 + store i8* %9, i8** %new_path, align 8 + %10 = load i8*, i8** %path.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv17 = sext i8 %11 to i32 + %cmp18 = icmp ne i32 %conv17, 47 + %12 = load i8*, i8** %new_path, align 8 + br i1 %cmp18, label %if.then20, label %if.else + +if.then20: ; preds = %if.end8 + %call21 = call i8* @getcwd(i8* %12, i64 4095) #20 + %tobool = icmp ne i8* %call21, null + br i1 %tobool, label %if.end23, label %if.then22 + +if.then22: ; preds = %if.then20 + store i8* null, i8** %retval, align 8 + br label %return + +if.end23: ; preds = %if.then20 + %13 = load i8*, i8** %new_path, align 8 + %call24 = call i64 @strlen(i8* %13) #21 + %14 = load i8*, i8** %new_path, align 8 + %add.ptr25 = getelementptr inbounds i8, i8* %14, i64 %call24 + store i8* %add.ptr25, i8** %new_path, align 8 + %15 = load i8*, i8** %new_path, align 8 + %arrayidx = getelementptr inbounds i8, i8* %15, i64 -1 + %16 = load i8, i8* %arrayidx, align 1 + %conv26 = sext i8 %16 to i32 + %cmp27 = icmp ne i32 %conv26, 47 + br i1 %cmp27, label %if.then29, label %if.end33 + +if.then29: ; preds = %if.end23 + %17 = load i8*, i8** %new_path, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %17, i32 1 + store i8* %incdec.ptr, i8** %new_path, align 8 + store i8 47, i8* %17, align 1 + br label %if.end33 + +if.else: ; preds = %if.end8 + %incdec.ptr31 = getelementptr inbounds i8, i8* %12, i32 1 + store i8* %incdec.ptr31, i8** %new_path, align 8 + store i8 47, i8* %12, align 1 + %18 = load i8*, i8** %path.addr, align 8 + %incdec.ptr32 = getelementptr inbounds i8, i8* %18, i32 1 + store i8* %incdec.ptr32, i8** %path.addr, align 8 + br label %if.end33 + +if.end33: ; preds = %if.end23, %if.then29, %if.else + br label %while.cond + +while.cond: ; preds = %while.cond79, %if.then72, %if.end155, %if.then55, %if.then40, %if.end33 + %19 = load i8*, i8** %path.addr, align 8 + %20 = load i8, i8* %19, align 1 + %conv34 = sext i8 %20 to i32 + %cmp35 = icmp ne i32 %conv34, 0 + br i1 %cmp35, label %while.body, label %while.end157 + +while.body: ; preds = %while.cond + %21 = load i8*, i8** %path.addr, align 8 + %22 = load i8, i8* %21, align 1 + %conv37 = sext i8 %22 to i32 + %cmp38 = icmp eq i32 %conv37, 47 + %23 = load i8*, i8** %path.addr, align 8 + br i1 %cmp38, label %if.then40, label %if.end42 + +if.then40: ; preds = %while.body + %incdec.ptr41 = getelementptr inbounds i8, i8* %23, i32 1 + store i8* %incdec.ptr41, i8** %path.addr, align 8 + br label %while.cond + +if.end42: ; preds = %while.body + %24 = load i8, i8* %23, align 1 + %conv43 = sext i8 %24 to i32 + %cmp44 = icmp eq i32 %conv43, 46 + br i1 %cmp44, label %if.then46, label %if.end88 + +if.then46: ; preds = %if.end42 + %25 = load i8*, i8** %path.addr, align 8 + %arrayidx47 = getelementptr inbounds i8, i8* %25, i64 1 + %26 = load i8, i8* %arrayidx47, align 1 + %conv48 = sext i8 %26 to i32 + %cmp49 = icmp eq i32 %conv48, 0 + br i1 %cmp49, label %if.then55, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then46 + %27 = load i8*, i8** %path.addr, align 8 + %arrayidx51 = getelementptr inbounds i8, i8* %27, i64 1 + %28 = load i8, i8* %arrayidx51, align 1 + %conv52 = sext i8 %28 to i32 + %cmp53 = icmp eq i32 %conv52, 47 + br i1 %cmp53, label %if.then55, label %if.end57 + +if.then55: ; preds = %lor.lhs.false, %if.then46 + %29 = load i8*, i8** %path.addr, align 8 + %incdec.ptr56 = getelementptr inbounds i8, i8* %29, i32 1 + store i8* %incdec.ptr56, i8** %path.addr, align 8 + br label %while.cond + +if.end57: ; preds = %lor.lhs.false + %30 = load i8*, i8** %path.addr, align 8 + %arrayidx58 = getelementptr inbounds i8, i8* %30, i64 1 + %31 = load i8, i8* %arrayidx58, align 1 + %conv59 = sext i8 %31 to i32 + %cmp60 = icmp eq i32 %conv59, 46 + br i1 %cmp60, label %if.then62, label %if.end88 + +if.then62: ; preds = %if.end57 + %32 = load i8*, i8** %path.addr, align 8 + %arrayidx63 = getelementptr inbounds i8, i8* %32, i64 2 + %33 = load i8, i8* %arrayidx63, align 1 + %conv64 = sext i8 %33 to i32 + %cmp65 = icmp eq i32 %conv64, 0 + br i1 %cmp65, label %if.then72, label %lor.lhs.false67 + +lor.lhs.false67: ; preds = %if.then62 + %34 = load i8*, i8** %path.addr, align 8 + %arrayidx68 = getelementptr inbounds i8, i8* %34, i64 2 + %35 = load i8, i8* %arrayidx68, align 1 + %conv69 = sext i8 %35 to i32 + %cmp70 = icmp eq i32 %conv69, 47 + br i1 %cmp70, label %if.then72, label %if.end88 + +if.then72: ; preds = %lor.lhs.false67, %if.then62 + %36 = load i8*, i8** %path.addr, align 8 + %add.ptr73 = getelementptr inbounds i8, i8* %36, i64 2 + store i8* %add.ptr73, i8** %path.addr, align 8 + %37 = load i8*, i8** %new_path, align 8 + %38 = load i8*, i8** %got_path.addr, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %38, i64 1 + %cmp75 = icmp eq i8* %37, %add.ptr74 + br i1 %cmp75, label %while.cond, label %while.cond79 + +while.cond79: ; preds = %while.cond79, %if.then72 + %39 = load i8*, i8** %new_path, align 8 + %incdec.ptr80 = getelementptr inbounds i8, i8* %39, i32 -1 + store i8* %incdec.ptr80, i8** %new_path, align 8 + %arrayidx81 = getelementptr inbounds i8, i8* %incdec.ptr80, i64 -1 + %40 = load i8, i8* %arrayidx81, align 1 + %conv82 = sext i8 %40 to i32 + %cmp83 = icmp ne i32 %conv82, 47 + br i1 %cmp83, label %while.cond79, label %while.cond + +if.end88: ; preds = %if.end57, %lor.lhs.false67, %if.end42 + br label %while.cond89 + +while.cond89: ; preds = %if.end100, %if.end88 + %41 = load i8*, i8** %path.addr, align 8 + %42 = load i8, i8* %41, align 1 + %conv90 = sext i8 %42 to i32 + %cmp91 = icmp ne i32 %conv90, 0 + br i1 %cmp91, label %land.rhs, label %while.end103 + +land.rhs: ; preds = %while.cond89 + %43 = load i8*, i8** %path.addr, align 8 + %44 = load i8, i8* %43, align 1 + %conv93 = sext i8 %44 to i32 + %cmp94 = icmp ne i32 %conv93, 47 + br i1 %cmp94, label %while.body96, label %while.end103 + +while.body96: ; preds = %land.rhs + %45 = load i8*, i8** %new_path, align 8 + %46 = load i8*, i8** %max_path, align 8 + %cmp97 = icmp ugt i8* %45, %46 + br i1 %cmp97, label %if.then99, label %if.end100 + +if.then99: ; preds = %while.body96 + store i32 36, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end100: ; preds = %while.body96 + %47 = load i8*, i8** %path.addr, align 8 + %incdec.ptr101 = getelementptr inbounds i8, i8* %47, i32 1 + store i8* %incdec.ptr101, i8** %path.addr, align 8 + %48 = load i8, i8* %47, align 1 + %49 = load i8*, i8** %new_path, align 8 + %incdec.ptr102 = getelementptr inbounds i8, i8* %49, i32 1 + store i8* %incdec.ptr102, i8** %new_path, align 8 + store i8 %48, i8* %49, align 1 + br label %while.cond89 + +while.end103: ; preds = %while.cond89, %land.rhs + %50 = load i32, i32* %readlinks, align 4 + %inc = add nsw i32 %50, 1 + store i32 %inc, i32* %readlinks, align 4 + %cmp104 = icmp sgt i32 %50, 32 + br i1 %cmp104, label %if.then106, label %if.end107 + +if.then106: ; preds = %while.end103 + store i32 40, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end107: ; preds = %while.end103 + %51 = load i8*, i8** %path.addr, align 8 + %call108 = call i64 @strlen(i8* %51) #21 + store i64 %call108, i64* %path_len, align 8 + %52 = load i8*, i8** %new_path, align 8 + store i8 0, i8* %52, align 1 + %53 = load i8*, i8** %got_path.addr, align 8 + %arraydecay109 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %call110 = call i64 @readlink(i8* %53, i8* %arraydecay109, i64 4095) #20 + %conv111 = trunc i64 %call110 to i32 + store i32 %conv111, i32* %link_len, align 4 + %54 = load i32, i32* %link_len, align 4 + %cmp112 = icmp slt i32 %54, 0 + br i1 %cmp112, label %if.then114, label %if.else119 + +if.then114: ; preds = %if.end107 + %55 = load i32, i32* @errno, align 4 + %cmp115 = icmp ne i32 %55, 22 + br i1 %cmp115, label %if.then117, label %if.end155 + +if.then117: ; preds = %if.then114 + store i8* null, i8** %retval, align 8 + br label %return + +if.else119: ; preds = %if.end107 + %56 = load i64, i64* %path_len, align 8 + %57 = load i32, i32* %link_len, align 4 + %conv120 = sext i32 %57 to i64 + %add = add i64 %56, %conv120 + %cmp121 = icmp uge i64 %add, 4094 + br i1 %cmp121, label %if.then123, label %if.end124 + +if.then123: ; preds = %if.else119 + store i32 36, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end124: ; preds = %if.else119 + %arraydecay125 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %58 = load i8, i8* %arraydecay125, align 16 + %conv126 = sext i8 %58 to i32 + %cmp127 = icmp eq i32 %conv126, 47 + br i1 %cmp127, label %if.then129, label %while.cond131 + +if.then129: ; preds = %if.end124 + %59 = load i8*, i8** %got_path.addr, align 8 + store i8* %59, i8** %new_path, align 8 + br label %if.end138 + +while.cond131: ; preds = %while.cond131, %if.end124 + %60 = load i8*, i8** %new_path, align 8 + %incdec.ptr132 = getelementptr inbounds i8, i8* %60, i32 -1 + store i8* %incdec.ptr132, i8** %new_path, align 8 + %61 = load i8, i8* %incdec.ptr132, align 1 + %conv133 = sext i8 %61 to i32 + %cmp134 = icmp ne i32 %conv133, 47 + br i1 %cmp134, label %while.cond131, label %if.end138 + +if.end138: ; preds = %while.cond131, %if.then129 + %arraydecay139 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr140 = getelementptr inbounds i8, i8* %arraydecay139, i64 4095 + %62 = load i32, i32* %link_len, align 4 + %idx.ext = sext i32 %62 to i64 + %idx.neg141 = sub i64 0, %idx.ext + %add.ptr142 = getelementptr inbounds i8, i8* %add.ptr140, i64 %idx.neg141 + %63 = load i64, i64* %path_len, align 8 + %idx.neg143 = sub i64 0, %63 + %add.ptr144 = getelementptr inbounds i8, i8* %add.ptr142, i64 %idx.neg143 + %arraydecay145 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %64 = load i32, i32* %link_len, align 4 + %conv146 = sext i32 %64 to i64 + %call147 = call i8* @memmove(i8* %add.ptr144, i8* %arraydecay145, i64 %conv146) #20 + %arraydecay148 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr149 = getelementptr inbounds i8, i8* %arraydecay148, i64 4095 + %65 = load i32, i32* %link_len, align 4 + %idx.ext150 = sext i32 %65 to i64 + %idx.neg151 = sub i64 0, %idx.ext150 + %add.ptr152 = getelementptr inbounds i8, i8* %add.ptr149, i64 %idx.neg151 + %66 = load i64, i64* %path_len, align 8 + %idx.neg153 = sub i64 0, %66 + %add.ptr154 = getelementptr inbounds i8, i8* %add.ptr152, i64 %idx.neg153 + store i8* %add.ptr154, i8** %path.addr, align 8 + br label %if.end155 + +if.end155: ; preds = %if.then114, %if.end138 + %67 = load i8*, i8** %new_path, align 8 + %incdec.ptr156 = getelementptr inbounds i8, i8* %67, i32 1 + store i8* %incdec.ptr156, i8** %new_path, align 8 + store i8 47, i8* %67, align 1 + br label %while.cond + +while.end157: ; preds = %while.cond + %68 = load i8*, i8** %new_path, align 8 + %69 = load i8*, i8** %got_path.addr, align 8 + %add.ptr158 = getelementptr inbounds i8, i8* %69, i64 1 + %cmp159 = icmp ne i8* %68, %add.ptr158 + br i1 %cmp159, label %land.lhs.true, label %if.end167 + +land.lhs.true: ; preds = %while.end157 + %70 = load i8*, i8** %new_path, align 8 + %arrayidx161 = getelementptr inbounds i8, i8* %70, i64 -1 + %71 = load i8, i8* %arrayidx161, align 1 + %conv162 = sext i8 %71 to i32 + %cmp163 = icmp eq i32 %conv162, 47 + br i1 %cmp163, label %if.then165, label %if.end167 + +if.then165: ; preds = %land.lhs.true + %72 = load i8*, i8** %new_path, align 8 + %incdec.ptr166 = getelementptr inbounds i8, i8* %72, i32 -1 + store i8* %incdec.ptr166, i8** %new_path, align 8 + br label %if.end167 + +if.end167: ; preds = %if.then165, %land.lhs.true, %while.end157 + %73 = load i8*, i8** %new_path, align 8 + store i8 0, i8* %73, align 1 + %74 = load i8*, i8** %got_path.addr, align 8 + store i8* %74, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end167, %if.then123, %if.then117, %if.then106, %if.then99, %if.then22, %if.then7, %if.then3, %if.then + %75 = load i8*, i8** %retval, align 8 + ret i8* %75 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @memcmp(i8* nonnull %s1, i8* nonnull %s2, i64 %n) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r1 = alloca i8*, align 8 + %r2 = alloca i8*, align 8 + %r = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %r1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %r2, align 8 + store i32 0, i32* %r, align 4 + br label %while.cond + +while.cond: ; preds = %land.rhs, %entry + %2 = load i64, i64* %n.addr, align 8 + %dec = add i64 %2, -1 + store i64 %dec, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %3 = load i8*, i8** %r1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %r1, align 8 + %4 = load i8, i8* %3, align 1 + %conv = zext i8 %4 to i32 + %5 = load i8*, i8** %r2, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr1, i8** %r2, align 8 + %6 = load i8, i8* %5, align 1 + %conv2 = zext i8 %6 to i32 + %sub = sub nsw i32 %conv, %conv2 + store i32 %sub, i32* %r, align 4 + %cmp = icmp eq i32 %sub, 0 + br i1 %cmp, label %while.cond, label %while.end + +while.end: ; preds = %while.cond, %land.rhs + %7 = load i32, i32* %r, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @stpcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + br label %while.cond + +while.cond: ; preds = %while.cond, %entry + %0 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %0, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %1 = load i8, i8* %0, align 1 + %2 = load i8*, i8** %s1.addr, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %2, i32 1 + store i8* %incdec.ptr1, i8** %s1.addr, align 8 + store i8 %1, i8* %2, align 1 + %conv = sext i8 %1 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %while.cond, label %while.end + +while.end: ; preds = %while.cond + %3 = load i8*, i8** %s1.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %3, i64 -1 + ret i8* %add.ptr +} + +; Function Attrs: noinline nounwind uwtable +define i32 @tcgetattr(i32 %fd, %struct.termios* %termios_p) #0 { +entry: + %fd.addr = alloca i32, align 4 + %termios_p.addr = alloca %struct.termios*, align 8 + %k_termios = alloca %struct.__kernel_termios, align 4 + %retval1 = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.termios* %termios_p, %struct.termios** %termios_p.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 (i32, i64, ...) @ioctl(i32 %0, i64 21505, %struct.__kernel_termios* %k_termios) #20 + store i32 %call, i32* %retval1, align 4 + %c_iflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 0 + %1 = load i32, i32* %c_iflag, align 4 + %2 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_iflag2 = getelementptr inbounds %struct.termios, %struct.termios* %2, i32 0, i32 0 + store i32 %1, i32* %c_iflag2, align 4 + %c_oflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 1 + %3 = load i32, i32* %c_oflag, align 4 + %4 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_oflag3 = getelementptr inbounds %struct.termios, %struct.termios* %4, i32 0, i32 1 + store i32 %3, i32* %c_oflag3, align 4 + %c_cflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 2 + %5 = load i32, i32* %c_cflag, align 4 + %6 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_cflag4 = getelementptr inbounds %struct.termios, %struct.termios* %6, i32 0, i32 2 + store i32 %5, i32* %c_cflag4, align 4 + %c_lflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 3 + %7 = load i32, i32* %c_lflag, align 4 + %8 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_lflag5 = getelementptr inbounds %struct.termios, %struct.termios* %8, i32 0, i32 3 + store i32 %7, i32* %c_lflag5, align 4 + %c_line = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 4 + %9 = load i8, i8* %c_line, align 4 + %10 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_line6 = getelementptr inbounds %struct.termios, %struct.termios* %10, i32 0, i32 4 + store i8 %9, i8* %c_line6, align 4 + %11 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_cc = getelementptr inbounds %struct.termios, %struct.termios* %11, i32 0, i32 5 + %arrayidx = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc, i64 0, i64 0 + %c_cc7 = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 5 + %arrayidx8 = getelementptr inbounds [19 x i8], [19 x i8]* %c_cc7, i64 0, i64 0 + %call9 = call i8* @mempcpy(i8* %arrayidx, i8* %arrayidx8, i64 19) #20 + %call10 = call i8* @memset(i8* %call9, i32 0, i64 13) #20 + %12 = load i32, i32* %retval1, align 4 + ret i32 %12 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_getopt_internal(i32 %argc, i8** %argv, i8* %optstring, %struct.option* %longopts, i32* %longind, i32 %long_only) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + %longopts.addr = alloca %struct.option*, align 8 + %longind.addr = alloca i32*, align 8 + %long_only.addr = alloca i32, align 4 + %result = alloca i32, align 4 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + store %struct.option* %longopts, %struct.option** %longopts.addr, align 8 + store i32* %longind, i32** %longind.addr, align 8 + store i32 %long_only, i32* %long_only.addr, align 4 + %0 = load i32, i32* @optind, align 4 + store i32 %0, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 0), align 8 + %1 = load i32, i32* @opterr, align 4 + store i32 %1, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 1), align 4 + %2 = load i32, i32* %argc.addr, align 4 + %3 = load i8**, i8*** %argv.addr, align 8 + %4 = load i8*, i8** %optstring.addr, align 8 + %5 = load %struct.option*, %struct.option** %longopts.addr, align 8 + %6 = load i32*, i32** %longind.addr, align 8 + %7 = load i32, i32* %long_only.addr, align 4 + %call = call i32 @_getopt_internal_r(i32 %2, i8** %3, i8* %4, %struct.option* %5, i32* %6, i32 %7, %struct._getopt_data* @getopt_data) #19 + store i32 %call, i32* %result, align 4 + %8 = load i32, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 0), align 8 + store i32 %8, i32* @optind, align 4 + %9 = load i8*, i8** getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 3), align 8 + store i8* %9, i8** @optarg, align 8 + %10 = load i32, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 2), align 8 + store i32 %10, i32* @optopt, align 4 + %11 = load i32, i32* %result, align 4 + ret i32 %11 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_getopt_internal_r(i32 %argc, i8** %argv, i8* %optstring, %struct.option* %longopts, i32* %longind, i32 %long_only, %struct._getopt_data* %d) #0 { +entry: + %retval = alloca i32, align 4 + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + %longopts.addr = alloca %struct.option*, align 8 + %longind.addr = alloca i32*, align 8 + %long_only.addr = alloca i32, align 4 + %d.addr = alloca %struct._getopt_data*, align 8 + %print_errors = alloca i32, align 4 + %nameend = alloca i8*, align 8 + %p = alloca %struct.option*, align 8 + %pfound = alloca %struct.option*, align 8 + %exact = alloca i32, align 4 + %ambig = alloca i32, align 4 + %indfound = alloca i32, align 4 + %option_index = alloca i32, align 4 + %c = alloca i8, align 1 + %temp = alloca i8*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + store %struct.option* %longopts, %struct.option** %longopts.addr, align 8 + store i32* %longind, i32** %longind.addr, align 8 + store i32 %long_only, i32* %long_only.addr, align 4 + store %struct._getopt_data* %d, %struct._getopt_data** %d.addr, align 8 + %0 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %opterr = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %0, i32 0, i32 1 + %1 = load i32, i32* %opterr, align 4 + store i32 %1, i32* %print_errors, align 4 + %2 = load i8*, i8** %optstring.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %2, i64 0 + %3 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %3 to i32 + %cmp = icmp eq i32 %conv, 58 + %spec.store.select = select i1 %cmp, i32 0, i32 %1 + store i32 %spec.store.select, i32* %print_errors, align 4 + %4 = load i32, i32* %argc.addr, align 4 + %cmp2 = icmp slt i32 %4, 1 + br i1 %cmp2, label %if.then4, label %if.end5 + +if.then4: ; preds = %entry + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %entry + %5 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %5, i32 0, i32 3 + store i8* null, i8** %optarg, align 8 + %6 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %6, i32 0, i32 0 + %7 = load i32, i32* %optind, align 8 + %cmp6 = icmp eq i32 %7, 0 + br i1 %cmp6, label %if.then8, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end5 + %8 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__initialized = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %8, i32 0, i32 4 + %9 = load i32, i32* %__initialized, align 8 + %tobool = icmp ne i32 %9, 0 + br i1 %tobool, label %if.end16, label %if.then8 + +if.then8: ; preds = %lor.lhs.false, %if.end5 + %10 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind9 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %10, i32 0, i32 0 + %11 = load i32, i32* %optind9, align 8 + %cmp10 = icmp eq i32 %11, 0 + br i1 %cmp10, label %if.then12, label %if.end14 + +if.then12: ; preds = %if.then8 + %12 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind13 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %12, i32 0, i32 0 + store i32 1, i32* %optind13, align 8 + br label %if.end14 + +if.end14: ; preds = %if.then12, %if.then8 + %13 = load i32, i32* %argc.addr, align 4 + %14 = load i8**, i8*** %argv.addr, align 8 + %15 = load i8*, i8** %optstring.addr, align 8 + %16 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %call = call i8* @_getopt_initialize(i32 %13, i8** %14, i8* %15, %struct._getopt_data* %16) #19 + store i8* %call, i8** %optstring.addr, align 8 + %17 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__initialized15 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %17, i32 0, i32 4 + store i32 1, i32* %__initialized15, align 8 + br label %if.end16 + +if.end16: ; preds = %if.end14, %lor.lhs.false + %18 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %18, i32 0, i32 5 + %19 = load i8*, i8** %__nextchar, align 8 + %cmp17 = icmp eq i8* %19, null + br i1 %cmp17, label %if.then24, label %lor.lhs.false19 + +lor.lhs.false19: ; preds = %if.end16 + %20 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar20 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %20, i32 0, i32 5 + %21 = load i8*, i8** %__nextchar20, align 8 + %22 = load i8, i8* %21, align 1 + %conv21 = sext i8 %22 to i32 + %cmp22 = icmp eq i32 %conv21, 0 + br i1 %cmp22, label %if.then24, label %if.end171 + +if.then24: ; preds = %lor.lhs.false19, %if.end16 + %23 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %23, i32 0, i32 9 + %24 = load i32, i32* %__last_nonopt, align 4 + %25 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind25 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %25, i32 0, i32 0 + %26 = load i32, i32* %optind25, align 8 + %cmp26 = icmp sgt i32 %24, %26 + br i1 %cmp26, label %if.then28, label %if.end31 + +if.then28: ; preds = %if.then24 + %27 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind29 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %27, i32 0, i32 0 + %28 = load i32, i32* %optind29, align 8 + %29 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt30 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %29, i32 0, i32 9 + store i32 %28, i32* %__last_nonopt30, align 4 + br label %if.end31 + +if.end31: ; preds = %if.then28, %if.then24 + %30 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %30, i32 0, i32 8 + %31 = load i32, i32* %__first_nonopt, align 8 + %32 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind32 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %32, i32 0, i32 0 + %33 = load i32, i32* %optind32, align 8 + %cmp33 = icmp sgt i32 %31, %33 + br i1 %cmp33, label %if.then35, label %if.end38 + +if.then35: ; preds = %if.end31 + %34 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind36 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %34, i32 0, i32 0 + %35 = load i32, i32* %optind36, align 8 + %36 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt37 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %36, i32 0, i32 8 + store i32 %35, i32* %__first_nonopt37, align 8 + br label %if.end38 + +if.end38: ; preds = %if.then35, %if.end31 + %37 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %37, i32 0, i32 6 + %38 = load i32, i32* %__ordering, align 8 + %cmp39 = icmp eq i32 %38, 1 + br i1 %cmp39, label %if.then41, label %if.end79 + +if.then41: ; preds = %if.end38 + %39 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt42 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %39, i32 0, i32 8 + %40 = load i32, i32* %__first_nonopt42, align 8 + %41 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt43 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %41, i32 0, i32 9 + %42 = load i32, i32* %__last_nonopt43, align 4 + %cmp44 = icmp ne i32 %40, %42 + br i1 %cmp44, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %if.then41 + %43 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt46 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %43, i32 0, i32 9 + %44 = load i32, i32* %__last_nonopt46, align 4 + %45 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind47 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %45, i32 0, i32 0 + %46 = load i32, i32* %optind47, align 8 + %cmp48 = icmp ne i32 %44, %46 + br i1 %cmp48, label %if.then50, label %if.else + +if.then50: ; preds = %land.lhs.true + %47 = load i8**, i8*** %argv.addr, align 8 + %48 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + call void @exchange(i8** %47, %struct._getopt_data* %48) #19 + br label %if.end59 + +if.else: ; preds = %land.lhs.true, %if.then41 + %49 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt51 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %49, i32 0, i32 9 + %50 = load i32, i32* %__last_nonopt51, align 4 + %51 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind52 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %51, i32 0, i32 0 + %52 = load i32, i32* %optind52, align 8 + %cmp53 = icmp ne i32 %50, %52 + br i1 %cmp53, label %if.then55, label %if.end59 + +if.then55: ; preds = %if.else + %53 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind56 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %53, i32 0, i32 0 + %54 = load i32, i32* %optind56, align 8 + %55 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt57 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %55, i32 0, i32 8 + store i32 %54, i32* %__first_nonopt57, align 8 + br label %if.end59 + +if.end59: ; preds = %if.else, %if.then55, %if.then50 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end59 + %56 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind60 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %56, i32 0, i32 0 + %57 = load i32, i32* %optind60, align 8 + %58 = load i32, i32* %argc.addr, align 4 + %cmp61 = icmp slt i32 %57, %58 + br i1 %cmp61, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %59 = load i8**, i8*** %argv.addr, align 8 + %60 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind63 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %60, i32 0, i32 0 + %61 = load i32, i32* %optind63, align 8 + %idxprom = sext i32 %61 to i64 + %arrayidx64 = getelementptr inbounds i8*, i8** %59, i64 %idxprom + %62 = load i8*, i8** %arrayidx64, align 8 + %arrayidx65 = getelementptr inbounds i8, i8* %62, i64 0 + %63 = load i8, i8* %arrayidx65, align 1 + %conv66 = sext i8 %63 to i32 + %cmp67 = icmp ne i32 %conv66, 45 + br i1 %cmp67, label %land.end, label %lor.rhs + +lor.rhs: ; preds = %land.rhs + %64 = load i8**, i8*** %argv.addr, align 8 + %65 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind69 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %65, i32 0, i32 0 + %66 = load i32, i32* %optind69, align 8 + %idxprom70 = sext i32 %66 to i64 + %arrayidx71 = getelementptr inbounds i8*, i8** %64, i64 %idxprom70 + %67 = load i8*, i8** %arrayidx71, align 8 + %arrayidx72 = getelementptr inbounds i8, i8* %67, i64 1 + %68 = load i8, i8* %arrayidx72, align 1 + %conv73 = sext i8 %68 to i32 + %cmp74 = icmp eq i32 %conv73, 0 + br label %land.end + +land.end: ; preds = %land.rhs, %lor.rhs, %while.cond + %69 = phi i1 [ false, %while.cond ], [ true, %land.rhs ], [ %cmp74, %lor.rhs ] + %70 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind76 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %70, i32 0, i32 0 + %71 = load i32, i32* %optind76, align 8 + br i1 %69, label %while.body, label %while.end + +while.body: ; preds = %land.end + %inc = add nsw i32 %71, 1 + store i32 %inc, i32* %optind76, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %72 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt78 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %72, i32 0, i32 9 + store i32 %71, i32* %__last_nonopt78, align 4 + br label %if.end79 + +if.end79: ; preds = %while.end, %if.end38 + %73 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind80 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %73, i32 0, i32 0 + %74 = load i32, i32* %optind80, align 8 + %75 = load i32, i32* %argc.addr, align 4 + %cmp81 = icmp ne i32 %74, %75 + br i1 %cmp81, label %land.lhs.true83, label %if.end114 + +land.lhs.true83: ; preds = %if.end79 + %76 = load i8**, i8*** %argv.addr, align 8 + %77 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind84 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %77, i32 0, i32 0 + %78 = load i32, i32* %optind84, align 8 + %idxprom85 = sext i32 %78 to i64 + %arrayidx86 = getelementptr inbounds i8*, i8** %76, i64 %idxprom85 + %79 = load i8*, i8** %arrayidx86, align 8 + %call87 = call i32 @strcmp(i8* %79, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.305, i64 0, i64 0)) #21 + %tobool88 = icmp ne i32 %call87, 0 + br i1 %tobool88, label %if.end114, label %if.then89 + +if.then89: ; preds = %land.lhs.true83 + %80 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind90 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %80, i32 0, i32 0 + %81 = load i32, i32* %optind90, align 8 + %inc91 = add nsw i32 %81, 1 + store i32 %inc91, i32* %optind90, align 8 + %82 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt92 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %82, i32 0, i32 8 + %83 = load i32, i32* %__first_nonopt92, align 8 + %84 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt93 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %84, i32 0, i32 9 + %85 = load i32, i32* %__last_nonopt93, align 4 + %cmp94 = icmp ne i32 %83, %85 + br i1 %cmp94, label %land.lhs.true96, label %if.else102 + +land.lhs.true96: ; preds = %if.then89 + %86 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt97 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %86, i32 0, i32 9 + %87 = load i32, i32* %__last_nonopt97, align 4 + %88 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind98 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %88, i32 0, i32 0 + %89 = load i32, i32* %optind98, align 8 + %cmp99 = icmp ne i32 %87, %89 + br i1 %cmp99, label %if.then101, label %if.else102 + +if.then101: ; preds = %land.lhs.true96 + %90 = load i8**, i8*** %argv.addr, align 8 + %91 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + call void @exchange(i8** %90, %struct._getopt_data* %91) #19 + br label %if.end111 + +if.else102: ; preds = %land.lhs.true96, %if.then89 + %92 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt103 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %92, i32 0, i32 8 + %93 = load i32, i32* %__first_nonopt103, align 8 + %94 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt104 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %94, i32 0, i32 9 + %95 = load i32, i32* %__last_nonopt104, align 4 + %cmp105 = icmp eq i32 %93, %95 + br i1 %cmp105, label %if.then107, label %if.end111 + +if.then107: ; preds = %if.else102 + %96 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind108 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %96, i32 0, i32 0 + %97 = load i32, i32* %optind108, align 8 + %98 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt109 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %98, i32 0, i32 8 + store i32 %97, i32* %__first_nonopt109, align 8 + br label %if.end111 + +if.end111: ; preds = %if.else102, %if.then107, %if.then101 + %99 = load i32, i32* %argc.addr, align 4 + %100 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt112 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %100, i32 0, i32 9 + store i32 %99, i32* %__last_nonopt112, align 4 + %101 = load i32, i32* %argc.addr, align 4 + %102 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind113 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %102, i32 0, i32 0 + store i32 %101, i32* %optind113, align 8 + br label %if.end114 + +if.end114: ; preds = %if.end111, %land.lhs.true83, %if.end79 + %103 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind115 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %103, i32 0, i32 0 + %104 = load i32, i32* %optind115, align 8 + %105 = load i32, i32* %argc.addr, align 4 + %cmp116 = icmp eq i32 %104, %105 + br i1 %cmp116, label %if.then118, label %if.end127 + +if.then118: ; preds = %if.end114 + %106 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt119 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %106, i32 0, i32 8 + %107 = load i32, i32* %__first_nonopt119, align 8 + %108 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt120 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %108, i32 0, i32 9 + %109 = load i32, i32* %__last_nonopt120, align 4 + %cmp121 = icmp ne i32 %107, %109 + br i1 %cmp121, label %if.then123, label %if.end126 + +if.then123: ; preds = %if.then118 + %110 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt124 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %110, i32 0, i32 8 + %111 = load i32, i32* %__first_nonopt124, align 8 + %112 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind125 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %112, i32 0, i32 0 + store i32 %111, i32* %optind125, align 8 + br label %if.end126 + +if.end126: ; preds = %if.then123, %if.then118 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end127: ; preds = %if.end114 + %113 = load i8**, i8*** %argv.addr, align 8 + %114 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind128 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %114, i32 0, i32 0 + %115 = load i32, i32* %optind128, align 8 + %idxprom129 = sext i32 %115 to i64 + %arrayidx130 = getelementptr inbounds i8*, i8** %113, i64 %idxprom129 + %116 = load i8*, i8** %arrayidx130, align 8 + %arrayidx131 = getelementptr inbounds i8, i8* %116, i64 0 + %117 = load i8, i8* %arrayidx131, align 1 + %conv132 = sext i8 %117 to i32 + %cmp133 = icmp ne i32 %conv132, 45 + br i1 %cmp133, label %if.then143, label %lor.lhs.false135 + +lor.lhs.false135: ; preds = %if.end127 + %118 = load i8**, i8*** %argv.addr, align 8 + %119 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind136 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %119, i32 0, i32 0 + %120 = load i32, i32* %optind136, align 8 + %idxprom137 = sext i32 %120 to i64 + %arrayidx138 = getelementptr inbounds i8*, i8** %118, i64 %idxprom137 + %121 = load i8*, i8** %arrayidx138, align 8 + %arrayidx139 = getelementptr inbounds i8, i8* %121, i64 1 + %122 = load i8, i8* %arrayidx139, align 1 + %conv140 = sext i8 %122 to i32 + %cmp141 = icmp eq i32 %conv140, 0 + br i1 %cmp141, label %if.then143, label %if.end154 + +if.then143: ; preds = %lor.lhs.false135, %if.end127 + %123 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering144 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %123, i32 0, i32 6 + %124 = load i32, i32* %__ordering144, align 8 + %cmp145 = icmp eq i32 %124, 0 + br i1 %cmp145, label %if.then147, label %if.end148 + +if.then147: ; preds = %if.then143 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end148: ; preds = %if.then143 + %125 = load i8**, i8*** %argv.addr, align 8 + %126 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind149 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %126, i32 0, i32 0 + %127 = load i32, i32* %optind149, align 8 + %inc150 = add nsw i32 %127, 1 + store i32 %inc150, i32* %optind149, align 8 + %idxprom151 = sext i32 %127 to i64 + %arrayidx152 = getelementptr inbounds i8*, i8** %125, i64 %idxprom151 + %128 = load i8*, i8** %arrayidx152, align 8 + %129 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg153 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %129, i32 0, i32 3 + store i8* %128, i8** %optarg153, align 8 + store i32 1, i32* %retval, align 4 + br label %return + +if.end154: ; preds = %lor.lhs.false135 + %130 = load i8**, i8*** %argv.addr, align 8 + %131 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind155 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %131, i32 0, i32 0 + %132 = load i32, i32* %optind155, align 8 + %idxprom156 = sext i32 %132 to i64 + %arrayidx157 = getelementptr inbounds i8*, i8** %130, i64 %idxprom156 + %133 = load i8*, i8** %arrayidx157, align 8 + %add.ptr = getelementptr inbounds i8, i8* %133, i64 1 + %134 = load %struct.option*, %struct.option** %longopts.addr, align 8 + %cmp158 = icmp ne %struct.option* %134, null + br i1 %cmp158, label %land.rhs160, label %land.end168 + +land.rhs160: ; preds = %if.end154 + %135 = load i8**, i8*** %argv.addr, align 8 + %136 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind161 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %136, i32 0, i32 0 + %137 = load i32, i32* %optind161, align 8 + %idxprom162 = sext i32 %137 to i64 + %arrayidx163 = getelementptr inbounds i8*, i8** %135, i64 %idxprom162 + %138 = load i8*, i8** %arrayidx163, align 8 + %arrayidx164 = getelementptr inbounds i8, i8* %138, i64 1 + %139 = load i8, i8* %arrayidx164, align 1 + %conv165 = sext i8 %139 to i32 + %cmp166 = icmp eq i32 %conv165, 45 + br label %land.end168 + +land.end168: ; preds = %land.rhs160, %if.end154 + %140 = phi i1 [ false, %if.end154 ], [ %cmp166, %land.rhs160 ] + %land.ext = zext i1 %140 to i32 + %idx.ext = sext i32 %land.ext to i64 + %add.ptr169 = getelementptr inbounds i8, i8* %add.ptr, i64 %idx.ext + %141 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar170 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %141, i32 0, i32 5 + store i8* %add.ptr169, i8** %__nextchar170, align 8 + br label %if.end171 + +if.end171: ; preds = %land.end168, %lor.lhs.false19 + %142 = load %struct.option*, %struct.option** %longopts.addr, align 8 + %cmp172 = icmp ne %struct.option* %142, null + br i1 %cmp172, label %land.lhs.true174, label %if.end418 + +land.lhs.true174: ; preds = %if.end171 + %143 = load i8**, i8*** %argv.addr, align 8 + %144 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind175 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %144, i32 0, i32 0 + %145 = load i32, i32* %optind175, align 8 + %idxprom176 = sext i32 %145 to i64 + %arrayidx177 = getelementptr inbounds i8*, i8** %143, i64 %idxprom176 + %146 = load i8*, i8** %arrayidx177, align 8 + %arrayidx178 = getelementptr inbounds i8, i8* %146, i64 1 + %147 = load i8, i8* %arrayidx178, align 1 + %conv179 = sext i8 %147 to i32 + %cmp180 = icmp eq i32 %conv179, 45 + br i1 %cmp180, label %if.then199, label %lor.lhs.false182 + +lor.lhs.false182: ; preds = %land.lhs.true174 + %148 = load i32, i32* %long_only.addr, align 4 + %tobool183 = icmp ne i32 %148, 0 + br i1 %tobool183, label %land.lhs.true184, label %if.end418 + +land.lhs.true184: ; preds = %lor.lhs.false182 + %149 = load i8**, i8*** %argv.addr, align 8 + %150 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind185 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %150, i32 0, i32 0 + %151 = load i32, i32* %optind185, align 8 + %idxprom186 = sext i32 %151 to i64 + %arrayidx187 = getelementptr inbounds i8*, i8** %149, i64 %idxprom186 + %152 = load i8*, i8** %arrayidx187, align 8 + %arrayidx188 = getelementptr inbounds i8, i8* %152, i64 2 + %153 = load i8, i8* %arrayidx188, align 1 + %conv189 = sext i8 %153 to i32 + %tobool190 = icmp ne i32 %conv189, 0 + br i1 %tobool190, label %if.then199, label %lor.lhs.false191 + +lor.lhs.false191: ; preds = %land.lhs.true184 + %154 = load i8*, i8** %optstring.addr, align 8 + %155 = load i8**, i8*** %argv.addr, align 8 + %156 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind192 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %156, i32 0, i32 0 + %157 = load i32, i32* %optind192, align 8 + %idxprom193 = sext i32 %157 to i64 + %arrayidx194 = getelementptr inbounds i8*, i8** %155, i64 %idxprom193 + %158 = load i8*, i8** %arrayidx194, align 8 + %arrayidx195 = getelementptr inbounds i8, i8* %158, i64 1 + %159 = load i8, i8* %arrayidx195, align 1 + %conv196 = sext i8 %159 to i32 + %call197 = call i8* @strchr(i8* %154, i32 %conv196) #21 + %tobool198 = icmp ne i8* %call197, null + br i1 %tobool198, label %if.end418, label %if.then199 + +if.then199: ; preds = %lor.lhs.false191, %land.lhs.true184, %land.lhs.true174 + store %struct.option* null, %struct.option** %pfound, align 8 + store i32 0, i32* %exact, align 4 + store i32 0, i32* %ambig, align 4 + store i32 -1, i32* %indfound, align 4 + %160 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar200 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %160, i32 0, i32 5 + %161 = load i8*, i8** %__nextchar200, align 8 + store i8* %161, i8** %nameend, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.then199 + %162 = load i8*, i8** %nameend, align 8 + %163 = load i8, i8* %162, align 1 + %conv201 = sext i8 %163 to i32 + %tobool202 = icmp ne i32 %conv201, 0 + br i1 %tobool202, label %land.rhs203, label %for.end + +land.rhs203: ; preds = %for.cond + %164 = load i8*, i8** %nameend, align 8 + %165 = load i8, i8* %164, align 1 + %conv204 = sext i8 %165 to i32 + %cmp205 = icmp ne i32 %conv204, 61 + br i1 %cmp205, label %for.inc, label %for.end + +for.inc: ; preds = %land.rhs203 + %166 = load i8*, i8** %nameend, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %166, i32 1 + store i8* %incdec.ptr, i8** %nameend, align 8 + br label %for.cond + +for.end: ; preds = %for.cond, %land.rhs203 + %167 = load %struct.option*, %struct.option** %longopts.addr, align 8 + store %struct.option* %167, %struct.option** %p, align 8 + store i32 0, i32* %option_index, align 4 + br label %for.cond209 + +for.cond209: ; preds = %for.inc252, %for.end + %168 = load %struct.option*, %struct.option** %p, align 8 + %name = getelementptr inbounds %struct.option, %struct.option* %168, i32 0, i32 0 + %169 = load i8*, i8** %name, align 8 + %tobool210 = icmp ne i8* %169, null + br i1 %tobool210, label %for.body211, label %for.end255 + +for.body211: ; preds = %for.cond209 + %170 = load %struct.option*, %struct.option** %p, align 8 + %name212 = getelementptr inbounds %struct.option, %struct.option* %170, i32 0, i32 0 + %171 = load i8*, i8** %name212, align 8 + %172 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar213 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %172, i32 0, i32 5 + %173 = load i8*, i8** %__nextchar213, align 8 + %174 = load i8*, i8** %nameend, align 8 + %175 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar214 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %175, i32 0, i32 5 + %176 = load i8*, i8** %__nextchar214, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %174 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %176 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %call215 = call i32 @strncmp(i8* %171, i8* %173, i64 %sub.ptr.sub) #21 + %tobool216 = icmp ne i32 %call215, 0 + br i1 %tobool216, label %for.inc252, label %if.then217 + +if.then217: ; preds = %for.body211 + %177 = load i8*, i8** %nameend, align 8 + %178 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar218 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %178, i32 0, i32 5 + %179 = load i8*, i8** %__nextchar218, align 8 + %sub.ptr.lhs.cast219 = ptrtoint i8* %177 to i64 + %sub.ptr.rhs.cast220 = ptrtoint i8* %179 to i64 + %sub.ptr.sub221 = sub i64 %sub.ptr.lhs.cast219, %sub.ptr.rhs.cast220 + %conv222 = trunc i64 %sub.ptr.sub221 to i32 + %180 = load %struct.option*, %struct.option** %p, align 8 + %name223 = getelementptr inbounds %struct.option, %struct.option* %180, i32 0, i32 0 + %181 = load i8*, i8** %name223, align 8 + %call224 = call i64 @strlen(i8* %181) #21 + %conv225 = trunc i64 %call224 to i32 + %cmp226 = icmp eq i32 %conv222, %conv225 + br i1 %cmp226, label %if.then228, label %if.else229 + +if.then228: ; preds = %if.then217 + %182 = load %struct.option*, %struct.option** %p, align 8 + store %struct.option* %182, %struct.option** %pfound, align 8 + %183 = load i32, i32* %option_index, align 4 + store i32 %183, i32* %indfound, align 4 + store i32 1, i32* %exact, align 4 + br label %for.end255 + +if.else229: ; preds = %if.then217 + %184 = load %struct.option*, %struct.option** %pfound, align 8 + %cmp230 = icmp eq %struct.option* %184, null + br i1 %cmp230, label %if.then232, label %if.else233 + +if.then232: ; preds = %if.else229 + %185 = load %struct.option*, %struct.option** %p, align 8 + store %struct.option* %185, %struct.option** %pfound, align 8 + %186 = load i32, i32* %option_index, align 4 + store i32 %186, i32* %indfound, align 4 + br label %for.inc252 + +if.else233: ; preds = %if.else229 + %187 = load i32, i32* %long_only.addr, align 4 + %tobool234 = icmp ne i32 %187, 0 + br i1 %tobool234, label %if.then247, label %lor.lhs.false235 + +lor.lhs.false235: ; preds = %if.else233 + %188 = load %struct.option*, %struct.option** %pfound, align 8 + %has_arg = getelementptr inbounds %struct.option, %struct.option* %188, i32 0, i32 1 + %189 = load i32, i32* %has_arg, align 8 + %190 = load %struct.option*, %struct.option** %p, align 8 + %has_arg236 = getelementptr inbounds %struct.option, %struct.option* %190, i32 0, i32 1 + %191 = load i32, i32* %has_arg236, align 8 + %cmp237 = icmp ne i32 %189, %191 + br i1 %cmp237, label %if.then247, label %lor.lhs.false239 + +lor.lhs.false239: ; preds = %lor.lhs.false235 + %192 = load %struct.option*, %struct.option** %pfound, align 8 + %flag = getelementptr inbounds %struct.option, %struct.option* %192, i32 0, i32 2 + %193 = load i32*, i32** %flag, align 8 + %194 = load %struct.option*, %struct.option** %p, align 8 + %flag240 = getelementptr inbounds %struct.option, %struct.option* %194, i32 0, i32 2 + %195 = load i32*, i32** %flag240, align 8 + %cmp241 = icmp ne i32* %193, %195 + br i1 %cmp241, label %if.then247, label %lor.lhs.false243 + +lor.lhs.false243: ; preds = %lor.lhs.false239 + %196 = load %struct.option*, %struct.option** %pfound, align 8 + %val = getelementptr inbounds %struct.option, %struct.option* %196, i32 0, i32 3 + %197 = load i32, i32* %val, align 8 + %198 = load %struct.option*, %struct.option** %p, align 8 + %val244 = getelementptr inbounds %struct.option, %struct.option* %198, i32 0, i32 3 + %199 = load i32, i32* %val244, align 8 + %cmp245 = icmp ne i32 %197, %199 + br i1 %cmp245, label %if.then247, label %for.inc252 + +if.then247: ; preds = %lor.lhs.false243, %lor.lhs.false239, %lor.lhs.false235, %if.else233 + store i32 1, i32* %ambig, align 4 + br label %for.inc252 + +for.inc252: ; preds = %for.body211, %if.then232, %if.then247, %lor.lhs.false243 + %200 = load %struct.option*, %struct.option** %p, align 8 + %incdec.ptr253 = getelementptr inbounds %struct.option, %struct.option* %200, i32 1 + store %struct.option* %incdec.ptr253, %struct.option** %p, align 8 + %201 = load i32, i32* %option_index, align 4 + %inc254 = add nsw i32 %201, 1 + store i32 %inc254, i32* %option_index, align 4 + br label %for.cond209 + +for.end255: ; preds = %if.then228, %for.cond209 + %202 = load i32, i32* %ambig, align 4 + %tobool256 = icmp eq i32 %202, 0 + %203 = load i32, i32* %exact, align 4 + %tobool258 = icmp ne i32 %203, 0 + %or.cond = or i1 %tobool256, %tobool258 + br i1 %or.cond, label %if.end274, label %if.then259 + +if.then259: ; preds = %for.end255 + %204 = load i32, i32* %print_errors, align 4 + %tobool260 = icmp ne i32 %204, 0 + br i1 %tobool260, label %if.then261, label %if.end267 + +if.then261: ; preds = %if.then259 + %205 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** @stderr, align 8 + %206 = load i8**, i8*** %argv.addr, align 8 + %arrayidx262 = getelementptr inbounds i8*, i8** %206, i64 0 + %207 = load i8*, i8** %arrayidx262, align 8 + %208 = load i8**, i8*** %argv.addr, align 8 + %209 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind263 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %209, i32 0, i32 0 + %210 = load i32, i32* %optind263, align 8 + %idxprom264 = sext i32 %210 to i64 + %arrayidx265 = getelementptr inbounds i8*, i8** %208, i64 %idxprom264 + %211 = load i8*, i8** %arrayidx265, align 8 + %call266 = call i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.570* %205, i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.1.306, i64 0, i64 0), i8* %207, i8* %211) #19 + br label %if.end267 + +if.end267: ; preds = %if.then261, %if.then259 + %212 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar268 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %212, i32 0, i32 5 + %213 = load i8*, i8** %__nextchar268, align 8 + %call269 = call i64 @strlen(i8* %213) #21 + %214 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar270 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %214, i32 0, i32 5 + %215 = load i8*, i8** %__nextchar270, align 8 + %add.ptr271 = getelementptr inbounds i8, i8* %215, i64 %call269 + store i8* %add.ptr271, i8** %__nextchar270, align 8 + %216 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind272 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %216, i32 0, i32 0 + %217 = load i32, i32* %optind272, align 8 + %inc273 = add nsw i32 %217, 1 + store i32 %inc273, i32* %optind272, align 8 + %218 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %218, i32 0, i32 2 + store i32 0, i32* %optopt, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.end274: ; preds = %for.end255 + %219 = load %struct.option*, %struct.option** %pfound, align 8 + %cmp275 = icmp ne %struct.option* %219, null + br i1 %cmp275, label %if.then277, label %if.end372 + +if.then277: ; preds = %if.end274 + %220 = load i32, i32* %indfound, align 4 + store i32 %220, i32* %option_index, align 4 + %221 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind278 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %221, i32 0, i32 0 + %222 = load i32, i32* %optind278, align 8 + %inc279 = add nsw i32 %222, 1 + store i32 %inc279, i32* %optind278, align 8 + %223 = load i8*, i8** %nameend, align 8 + %224 = load i8, i8* %223, align 1 + %tobool280 = icmp ne i8 %224, 0 + %225 = load %struct.option*, %struct.option** %pfound, align 8 + %has_arg282 = getelementptr inbounds %struct.option, %struct.option* %225, i32 0, i32 1 + %226 = load i32, i32* %has_arg282, align 8 + br i1 %tobool280, label %if.then281, label %if.else320 + +if.then281: ; preds = %if.then277 + %tobool283 = icmp ne i32 %226, 0 + br i1 %tobool283, label %if.then284, label %if.else287 + +if.then284: ; preds = %if.then281 + %227 = load i8*, i8** %nameend, align 8 + %add.ptr285 = getelementptr inbounds i8, i8* %227, i64 1 + %228 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg286 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %228, i32 0, i32 3 + store i8* %add.ptr285, i8** %optarg286, align 8 + br label %if.end356 + +if.else287: ; preds = %if.then281 + %229 = load i32, i32* %print_errors, align 4 + %tobool288 = icmp ne i32 %229, 0 + br i1 %tobool288, label %if.then289, label %if.end312 + +if.then289: ; preds = %if.else287 + %230 = load i8**, i8*** %argv.addr, align 8 + %231 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind290 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %231, i32 0, i32 0 + %232 = load i32, i32* %optind290, align 8 + %sub = sub nsw i32 %232, 1 + %idxprom291 = sext i32 %sub to i64 + %arrayidx292 = getelementptr inbounds i8*, i8** %230, i64 %idxprom291 + %233 = load i8*, i8** %arrayidx292, align 8 + %arrayidx293 = getelementptr inbounds i8, i8* %233, i64 1 + %234 = load i8, i8* %arrayidx293, align 1 + %conv294 = sext i8 %234 to i32 + %cmp295 = icmp eq i32 %conv294, 45 + %235 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** @stderr, align 8 + %236 = load i8**, i8*** %argv.addr, align 8 + %arrayidx298 = getelementptr inbounds i8*, i8** %236, i64 0 + %237 = load i8*, i8** %arrayidx298, align 8 + br i1 %cmp295, label %if.then297, label %if.else301 + +if.then297: ; preds = %if.then289 + %238 = load %struct.option*, %struct.option** %pfound, align 8 + %name299 = getelementptr inbounds %struct.option, %struct.option* %238, i32 0, i32 0 + %239 = load i8*, i8** %name299, align 8 + %call300 = call i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.570* %235, i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.2.307, i64 0, i64 0), i8* %237, i8* %239) #19 + br label %if.end312 + +if.else301: ; preds = %if.then289 + %240 = load i8**, i8*** %argv.addr, align 8 + %241 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind303 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %241, i32 0, i32 0 + %242 = load i32, i32* %optind303, align 8 + %sub304 = sub nsw i32 %242, 1 + %idxprom305 = sext i32 %sub304 to i64 + %arrayidx306 = getelementptr inbounds i8*, i8** %240, i64 %idxprom305 + %243 = load i8*, i8** %arrayidx306, align 8 + %arrayidx307 = getelementptr inbounds i8, i8* %243, i64 0 + %244 = load i8, i8* %arrayidx307, align 1 + %conv308 = sext i8 %244 to i32 + %245 = load %struct.option*, %struct.option** %pfound, align 8 + %name309 = getelementptr inbounds %struct.option, %struct.option* %245, i32 0, i32 0 + %246 = load i8*, i8** %name309, align 8 + %call310 = call i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.570* %235, i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.3.308, i64 0, i64 0), i8* %237, i32 %conv308, i8* %246) #19 + br label %if.end312 + +if.end312: ; preds = %if.then297, %if.else301, %if.else287 + %247 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar313 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %247, i32 0, i32 5 + %248 = load i8*, i8** %__nextchar313, align 8 + %call314 = call i64 @strlen(i8* %248) #21 + %249 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar315 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %249, i32 0, i32 5 + %250 = load i8*, i8** %__nextchar315, align 8 + %add.ptr316 = getelementptr inbounds i8, i8* %250, i64 %call314 + store i8* %add.ptr316, i8** %__nextchar315, align 8 + %251 = load %struct.option*, %struct.option** %pfound, align 8 + %val317 = getelementptr inbounds %struct.option, %struct.option* %251, i32 0, i32 3 + %252 = load i32, i32* %val317, align 8 + %253 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt318 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %253, i32 0, i32 2 + store i32 %252, i32* %optopt318, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.else320: ; preds = %if.then277 + %cmp322 = icmp eq i32 %226, 1 + br i1 %cmp322, label %if.then324, label %if.end356 + +if.then324: ; preds = %if.else320 + %254 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind325 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %254, i32 0, i32 0 + %255 = load i32, i32* %optind325, align 8 + %256 = load i32, i32* %argc.addr, align 4 + %cmp326 = icmp slt i32 %255, %256 + br i1 %cmp326, label %if.then328, label %if.else334 + +if.then328: ; preds = %if.then324 + %257 = load i8**, i8*** %argv.addr, align 8 + %258 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind329 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %258, i32 0, i32 0 + %259 = load i32, i32* %optind329, align 8 + %inc330 = add nsw i32 %259, 1 + store i32 %inc330, i32* %optind329, align 8 + %idxprom331 = sext i32 %259 to i64 + %arrayidx332 = getelementptr inbounds i8*, i8** %257, i64 %idxprom331 + %260 = load i8*, i8** %arrayidx332, align 8 + %261 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg333 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %261, i32 0, i32 3 + store i8* %260, i8** %optarg333, align 8 + br label %if.end356 + +if.else334: ; preds = %if.then324 + %262 = load i32, i32* %print_errors, align 4 + %tobool335 = icmp ne i32 %262, 0 + br i1 %tobool335, label %if.then336, label %if.end343 + +if.then336: ; preds = %if.else334 + %263 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** @stderr, align 8 + %264 = load i8**, i8*** %argv.addr, align 8 + %arrayidx337 = getelementptr inbounds i8*, i8** %264, i64 0 + %265 = load i8*, i8** %arrayidx337, align 8 + %266 = load i8**, i8*** %argv.addr, align 8 + %267 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind338 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %267, i32 0, i32 0 + %268 = load i32, i32* %optind338, align 8 + %sub339 = sub nsw i32 %268, 1 + %idxprom340 = sext i32 %sub339 to i64 + %arrayidx341 = getelementptr inbounds i8*, i8** %266, i64 %idxprom340 + %269 = load i8*, i8** %arrayidx341, align 8 + %call342 = call i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.570* %263, i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.4.309, i64 0, i64 0), i8* %265, i8* %269) #19 + br label %if.end343 + +if.end343: ; preds = %if.then336, %if.else334 + %270 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar344 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %270, i32 0, i32 5 + %271 = load i8*, i8** %__nextchar344, align 8 + %call345 = call i64 @strlen(i8* %271) #21 + %272 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar346 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %272, i32 0, i32 5 + %273 = load i8*, i8** %__nextchar346, align 8 + %add.ptr347 = getelementptr inbounds i8, i8* %273, i64 %call345 + store i8* %add.ptr347, i8** %__nextchar346, align 8 + %274 = load %struct.option*, %struct.option** %pfound, align 8 + %val348 = getelementptr inbounds %struct.option, %struct.option* %274, i32 0, i32 3 + %275 = load i32, i32* %val348, align 8 + %276 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt349 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %276, i32 0, i32 2 + store i32 %275, i32* %optopt349, align 8 + %277 = load i8*, i8** %optstring.addr, align 8 + %arrayidx350 = getelementptr inbounds i8, i8* %277, i64 0 + %278 = load i8, i8* %arrayidx350, align 1 + %conv351 = sext i8 %278 to i32 + %cmp352 = icmp eq i32 %conv351, 58 + %279 = zext i1 %cmp352 to i64 + %cond = select i1 %cmp352, i32 58, i32 63 + store i32 %cond, i32* %retval, align 4 + br label %return + +if.end356: ; preds = %if.else320, %if.then328, %if.then284 + %280 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar357 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %280, i32 0, i32 5 + %281 = load i8*, i8** %__nextchar357, align 8 + %call358 = call i64 @strlen(i8* %281) #21 + %282 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar359 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %282, i32 0, i32 5 + %283 = load i8*, i8** %__nextchar359, align 8 + %add.ptr360 = getelementptr inbounds i8, i8* %283, i64 %call358 + store i8* %add.ptr360, i8** %__nextchar359, align 8 + %284 = load i32*, i32** %longind.addr, align 8 + %cmp361 = icmp ne i32* %284, null + br i1 %cmp361, label %if.then363, label %if.end364 + +if.then363: ; preds = %if.end356 + %285 = load i32, i32* %option_index, align 4 + %286 = load i32*, i32** %longind.addr, align 8 + store i32 %285, i32* %286, align 4 + br label %if.end364 + +if.end364: ; preds = %if.then363, %if.end356 + %287 = load %struct.option*, %struct.option** %pfound, align 8 + %flag365 = getelementptr inbounds %struct.option, %struct.option* %287, i32 0, i32 2 + %288 = load i32*, i32** %flag365, align 8 + %tobool366 = icmp ne i32* %288, null + %289 = load %struct.option*, %struct.option** %pfound, align 8 + %val368 = getelementptr inbounds %struct.option, %struct.option* %289, i32 0, i32 3 + %290 = load i32, i32* %val368, align 8 + br i1 %tobool366, label %if.then367, label %if.end370 + +if.then367: ; preds = %if.end364 + %291 = load %struct.option*, %struct.option** %pfound, align 8 + %flag369 = getelementptr inbounds %struct.option, %struct.option* %291, i32 0, i32 2 + %292 = load i32*, i32** %flag369, align 8 + store i32 %290, i32* %292, align 4 + store i32 0, i32* %retval, align 4 + br label %return + +if.end370: ; preds = %if.end364 + store i32 %290, i32* %retval, align 4 + br label %return + +if.end372: ; preds = %if.end274 + %293 = load i32, i32* %long_only.addr, align 4 + %tobool373 = icmp ne i32 %293, 0 + br i1 %tobool373, label %lor.lhs.false374, label %if.then388 + +lor.lhs.false374: ; preds = %if.end372 + %294 = load i8**, i8*** %argv.addr, align 8 + %295 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind375 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %295, i32 0, i32 0 + %296 = load i32, i32* %optind375, align 8 + %idxprom376 = sext i32 %296 to i64 + %arrayidx377 = getelementptr inbounds i8*, i8** %294, i64 %idxprom376 + %297 = load i8*, i8** %arrayidx377, align 8 + %arrayidx378 = getelementptr inbounds i8, i8* %297, i64 1 + %298 = load i8, i8* %arrayidx378, align 1 + %conv379 = sext i8 %298 to i32 + %cmp380 = icmp eq i32 %conv379, 45 + br i1 %cmp380, label %if.then388, label %lor.lhs.false382 + +lor.lhs.false382: ; preds = %lor.lhs.false374 + %299 = load i8*, i8** %optstring.addr, align 8 + %300 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar383 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %300, i32 0, i32 5 + %301 = load i8*, i8** %__nextchar383, align 8 + %302 = load i8, i8* %301, align 1 + %conv384 = sext i8 %302 to i32 + %call385 = call i8* @strchr(i8* %299, i32 %conv384) #21 + %cmp386 = icmp eq i8* %call385, null + br i1 %cmp386, label %if.then388, label %if.end418 + +if.then388: ; preds = %lor.lhs.false382, %lor.lhs.false374, %if.end372 + %303 = load i32, i32* %print_errors, align 4 + %tobool389 = icmp ne i32 %303, 0 + br i1 %tobool389, label %if.then390, label %if.end412 + +if.then390: ; preds = %if.then388 + %304 = load i8**, i8*** %argv.addr, align 8 + %305 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind391 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %305, i32 0, i32 0 + %306 = load i32, i32* %optind391, align 8 + %idxprom392 = sext i32 %306 to i64 + %arrayidx393 = getelementptr inbounds i8*, i8** %304, i64 %idxprom392 + %307 = load i8*, i8** %arrayidx393, align 8 + %arrayidx394 = getelementptr inbounds i8, i8* %307, i64 1 + %308 = load i8, i8* %arrayidx394, align 1 + %conv395 = sext i8 %308 to i32 + %cmp396 = icmp eq i32 %conv395, 45 + %309 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** @stderr, align 8 + %310 = load i8**, i8*** %argv.addr, align 8 + %arrayidx399 = getelementptr inbounds i8*, i8** %310, i64 0 + %311 = load i8*, i8** %arrayidx399, align 8 + br i1 %cmp396, label %if.then398, label %if.else402 + +if.then398: ; preds = %if.then390 + %312 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar400 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %312, i32 0, i32 5 + %313 = load i8*, i8** %__nextchar400, align 8 + %call401 = call i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.570* %309, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.5.310, i64 0, i64 0), i8* %311, i8* %313) #19 + br label %if.end412 + +if.else402: ; preds = %if.then390 + %314 = load i8**, i8*** %argv.addr, align 8 + %315 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind404 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %315, i32 0, i32 0 + %316 = load i32, i32* %optind404, align 8 + %idxprom405 = sext i32 %316 to i64 + %arrayidx406 = getelementptr inbounds i8*, i8** %314, i64 %idxprom405 + %317 = load i8*, i8** %arrayidx406, align 8 + %arrayidx407 = getelementptr inbounds i8, i8* %317, i64 0 + %318 = load i8, i8* %arrayidx407, align 1 + %conv408 = sext i8 %318 to i32 + %319 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar409 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %319, i32 0, i32 5 + %320 = load i8*, i8** %__nextchar409, align 8 + %call410 = call i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.570* %309, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.6.311, i64 0, i64 0), i8* %311, i32 %conv408, i8* %320) #19 + br label %if.end412 + +if.end412: ; preds = %if.then398, %if.else402, %if.then388 + %321 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar413 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %321, i32 0, i32 5 + store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.7.312, i64 0, i64 0), i8** %__nextchar413, align 8 + %322 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind414 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %322, i32 0, i32 0 + %323 = load i32, i32* %optind414, align 8 + %inc415 = add nsw i32 %323, 1 + store i32 %inc415, i32* %optind414, align 8 + %324 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt416 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %324, i32 0, i32 2 + store i32 0, i32* %optopt416, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.end418: ; preds = %lor.lhs.false382, %lor.lhs.false191, %lor.lhs.false182, %if.end171 + %325 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar419 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %325, i32 0, i32 5 + %326 = load i8*, i8** %__nextchar419, align 8 + %incdec.ptr420 = getelementptr inbounds i8, i8* %326, i32 1 + store i8* %incdec.ptr420, i8** %__nextchar419, align 8 + %327 = load i8, i8* %326, align 1 + store i8 %327, i8* %c, align 1 + %328 = load i8*, i8** %optstring.addr, align 8 + %329 = load i8, i8* %c, align 1 + %conv421 = sext i8 %329 to i32 + %call422 = call i8* @strchr(i8* %328, i32 %conv421) #21 + store i8* %call422, i8** %temp, align 8 + %330 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar423 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %330, i32 0, i32 5 + %331 = load i8*, i8** %__nextchar423, align 8 + %332 = load i8, i8* %331, align 1 + %conv424 = sext i8 %332 to i32 + %cmp425 = icmp eq i32 %conv424, 0 + br i1 %cmp425, label %if.then427, label %if.end430 + +if.then427: ; preds = %if.end418 + %333 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind428 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %333, i32 0, i32 0 + %334 = load i32, i32* %optind428, align 8 + %inc429 = add nsw i32 %334, 1 + store i32 %inc429, i32* %optind428, align 8 + br label %if.end430 + +if.end430: ; preds = %if.then427, %if.end418 + %335 = load i8*, i8** %temp, align 8 + %cmp431 = icmp eq i8* %335, null + br i1 %cmp431, label %if.then437, label %lor.lhs.false433 + +lor.lhs.false433: ; preds = %if.end430 + %336 = load i8, i8* %c, align 1 + %conv434 = sext i8 %336 to i32 + %cmp435 = icmp eq i32 %conv434, 58 + br i1 %cmp435, label %if.then437, label %if.end453 + +if.then437: ; preds = %lor.lhs.false433, %if.end430 + %337 = load i32, i32* %print_errors, align 4 + %tobool438 = icmp ne i32 %337, 0 + br i1 %tobool438, label %if.then439, label %if.end450 + +if.then439: ; preds = %if.then437 + %338 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__posixly_correct = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %338, i32 0, i32 7 + %339 = load i32, i32* %__posixly_correct, align 4 + %tobool440 = icmp ne i32 %339, 0 + %340 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** @stderr, align 8 + %341 = load i8**, i8*** %argv.addr, align 8 + %arrayidx442 = getelementptr inbounds i8*, i8** %341, i64 0 + %342 = load i8*, i8** %arrayidx442, align 8 + %343 = load i8, i8* %c, align 1 + %conv443 = sext i8 %343 to i32 + br i1 %tobool440, label %if.then441, label %if.else445 + +if.then441: ; preds = %if.then439 + %call444 = call i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.570* %340, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.8.313, i64 0, i64 0), i8* %342, i32 %conv443) #19 + br label %if.end450 + +if.else445: ; preds = %if.then439 + %call448 = call i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.570* %340, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.9.314, i64 0, i64 0), i8* %342, i32 %conv443) #19 + br label %if.end450 + +if.end450: ; preds = %if.then441, %if.else445, %if.then437 + %344 = load i8, i8* %c, align 1 + %conv451 = sext i8 %344 to i32 + %345 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt452 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %345, i32 0, i32 2 + store i32 %conv451, i32* %optopt452, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.end453: ; preds = %lor.lhs.false433 + %346 = load i8*, i8** %temp, align 8 + %arrayidx454 = getelementptr inbounds i8, i8* %346, i64 1 + %347 = load i8, i8* %arrayidx454, align 1 + %conv455 = sext i8 %347 to i32 + %cmp456 = icmp eq i32 %conv455, 58 + br i1 %cmp456, label %if.then458, label %if.end517 + +if.then458: ; preds = %if.end453 + %348 = load i8*, i8** %temp, align 8 + %arrayidx459 = getelementptr inbounds i8, i8* %348, i64 2 + %349 = load i8, i8* %arrayidx459, align 1 + %conv460 = sext i8 %349 to i32 + %cmp461 = icmp eq i32 %conv460, 58 + %350 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar464 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %350, i32 0, i32 5 + %351 = load i8*, i8** %__nextchar464, align 8 + %352 = load i8, i8* %351, align 1 + %conv465 = sext i8 %352 to i32 + %cmp466 = icmp ne i32 %conv465, 0 + %353 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + br i1 %cmp461, label %if.then463, label %if.else477 + +if.then463: ; preds = %if.then458 + br i1 %cmp466, label %if.then468, label %if.else473 + +if.then468: ; preds = %if.then463 + %__nextchar469 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 5 + %354 = load i8*, i8** %__nextchar469, align 8 + %355 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg470 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %355, i32 0, i32 3 + store i8* %354, i8** %optarg470, align 8 + %356 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind471 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %356, i32 0, i32 0 + %357 = load i32, i32* %optind471, align 8 + %inc472 = add nsw i32 %357, 1 + store i32 %inc472, i32* %optind471, align 8 + br label %if.end475 + +if.else473: ; preds = %if.then463 + %optarg474 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 3 + store i8* null, i8** %optarg474, align 8 + br label %if.end475 + +if.end475: ; preds = %if.else473, %if.then468 + %358 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar476 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %358, i32 0, i32 5 + store i8* null, i8** %__nextchar476, align 8 + br label %if.end517 + +if.else477: ; preds = %if.then458 + br i1 %cmp466, label %if.then482, label %if.else487 + +if.then482: ; preds = %if.else477 + %__nextchar483 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 5 + %359 = load i8*, i8** %__nextchar483, align 8 + %360 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg484 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %360, i32 0, i32 3 + store i8* %359, i8** %optarg484, align 8 + %361 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind485 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %361, i32 0, i32 0 + %362 = load i32, i32* %optind485, align 8 + %inc486 = add nsw i32 %362, 1 + store i32 %inc486, i32* %optind485, align 8 + br label %if.end514 + +if.else487: ; preds = %if.else477 + %optind488 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 0 + %363 = load i32, i32* %optind488, align 8 + %364 = load i32, i32* %argc.addr, align 4 + %cmp489 = icmp eq i32 %363, %364 + br i1 %cmp489, label %if.then491, label %if.else507 + +if.then491: ; preds = %if.else487 + %365 = load i32, i32* %print_errors, align 4 + %tobool492 = icmp ne i32 %365, 0 + br i1 %tobool492, label %if.then493, label %if.end497 + +if.then493: ; preds = %if.then491 + %366 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** @stderr, align 8 + %367 = load i8**, i8*** %argv.addr, align 8 + %arrayidx494 = getelementptr inbounds i8*, i8** %367, i64 0 + %368 = load i8*, i8** %arrayidx494, align 8 + %369 = load i8, i8* %c, align 1 + %conv495 = sext i8 %369 to i32 + %call496 = call i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.570* %366, i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.10.315, i64 0, i64 0), i8* %368, i32 %conv495) #19 + br label %if.end497 + +if.end497: ; preds = %if.then493, %if.then491 + %370 = load i8, i8* %c, align 1 + %conv498 = sext i8 %370 to i32 + %371 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt499 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %371, i32 0, i32 2 + store i32 %conv498, i32* %optopt499, align 8 + %372 = load i8*, i8** %optstring.addr, align 8 + %arrayidx500 = getelementptr inbounds i8, i8* %372, i64 0 + %373 = load i8, i8* %arrayidx500, align 1 + %conv501 = sext i8 %373 to i32 + %cmp502 = icmp eq i32 %conv501, 58 + br i1 %cmp502, label %if.then504, label %if.else505 + +if.then504: ; preds = %if.end497 + store i8 58, i8* %c, align 1 + br label %if.end514 + +if.else505: ; preds = %if.end497 + store i8 63, i8* %c, align 1 + br label %if.end514 + +if.else507: ; preds = %if.else487 + %374 = load i8**, i8*** %argv.addr, align 8 + %375 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind508 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %375, i32 0, i32 0 + %376 = load i32, i32* %optind508, align 8 + %inc509 = add nsw i32 %376, 1 + store i32 %inc509, i32* %optind508, align 8 + %idxprom510 = sext i32 %376 to i64 + %arrayidx511 = getelementptr inbounds i8*, i8** %374, i64 %idxprom510 + %377 = load i8*, i8** %arrayidx511, align 8 + %378 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg512 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %378, i32 0, i32 3 + store i8* %377, i8** %optarg512, align 8 + br label %if.end514 + +if.end514: ; preds = %if.else507, %if.else505, %if.then504, %if.then482 + %379 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar515 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %379, i32 0, i32 5 + store i8* null, i8** %__nextchar515, align 8 + br label %if.end517 + +if.end517: ; preds = %if.end475, %if.end514, %if.end453 + %380 = load i8, i8* %c, align 1 + %conv518 = sext i8 %380 to i32 + store i32 %conv518, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end517, %if.end450, %if.end412, %if.end370, %if.then367, %if.end343, %if.end312, %if.end267, %if.end148, %if.then147, %if.end126, %if.then4 + %381 = load i32, i32* %retval, align 4 + ret i32 %381 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @_getopt_initialize(i32 %argc, i8** %argv, i8* %optstring, %struct._getopt_data* %d) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + %d.addr = alloca %struct._getopt_data*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + store %struct._getopt_data* %d, %struct._getopt_data** %d.addr, align 8 + %0 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %0, i32 0, i32 0 + %1 = load i32, i32* %optind, align 8 + %2 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %2, i32 0, i32 9 + store i32 %1, i32* %__last_nonopt, align 4 + %3 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %3, i32 0, i32 8 + store i32 %1, i32* %__first_nonopt, align 8 + %4 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %4, i32 0, i32 5 + store i8* null, i8** %__nextchar, align 8 + %call = call i8* @getenv(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.11.316, i64 0, i64 0)) #20 + %tobool = icmp ne i8* %call, null + %lnot = xor i1 %tobool, true + %lnot1 = xor i1 %lnot, true + %lnot.ext = zext i1 %lnot1 to i32 + %5 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__posixly_correct = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %5, i32 0, i32 7 + store i32 %lnot.ext, i32* %__posixly_correct, align 4 + %6 = load i8*, i8** %optstring.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %6, i64 0 + %7 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %7 to i32 + %cmp = icmp eq i32 %conv, 45 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %8 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %8, i32 0, i32 6 + store i32 2, i32* %__ordering, align 8 + %9 = load i8*, i8** %optstring.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %optstring.addr, align 8 + br label %if.end18 + +if.else: ; preds = %entry + %10 = load i8*, i8** %optstring.addr, align 8 + %arrayidx3 = getelementptr inbounds i8, i8* %10, i64 0 + %11 = load i8, i8* %arrayidx3, align 1 + %conv4 = sext i8 %11 to i32 + %cmp5 = icmp eq i32 %conv4, 43 + %12 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + br i1 %cmp5, label %if.then7, label %if.else10 + +if.then7: ; preds = %if.else + %__ordering8 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %12, i32 0, i32 6 + store i32 0, i32* %__ordering8, align 8 + %13 = load i8*, i8** %optstring.addr, align 8 + %incdec.ptr9 = getelementptr inbounds i8, i8* %13, i32 1 + store i8* %incdec.ptr9, i8** %optstring.addr, align 8 + br label %if.end18 + +if.else10: ; preds = %if.else + %__posixly_correct11 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %12, i32 0, i32 7 + %14 = load i32, i32* %__posixly_correct11, align 4 + %tobool12 = icmp ne i32 %14, 0 + %15 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering14 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %15, i32 0, i32 6 + br i1 %tobool12, label %if.then13, label %if.else15 + +if.then13: ; preds = %if.else10 + store i32 0, i32* %__ordering14, align 8 + br label %if.end18 + +if.else15: ; preds = %if.else10 + store i32 1, i32* %__ordering14, align 8 + br label %if.end18 + +if.end18: ; preds = %if.then7, %if.else15, %if.then13, %if.then + %16 = load i8*, i8** %optstring.addr, align 8 + ret i8* %16 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @exchange(i8** %argv, %struct._getopt_data* %d) #0 { +entry: + %argv.addr = alloca i8**, align 8 + %d.addr = alloca %struct._getopt_data*, align 8 + %bottom = alloca i32, align 4 + %middle = alloca i32, align 4 + %top = alloca i32, align 4 + %tem = alloca i8*, align 8 + %len = alloca i32, align 4 + %i = alloca i32, align 4 + %len20 = alloca i32, align 4 + %i22 = alloca i32, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store %struct._getopt_data* %d, %struct._getopt_data** %d.addr, align 8 + %0 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %0, i32 0, i32 8 + %1 = load i32, i32* %__first_nonopt, align 8 + store i32 %1, i32* %bottom, align 4 + %2 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %2, i32 0, i32 9 + %3 = load i32, i32* %__last_nonopt, align 4 + store i32 %3, i32* %middle, align 4 + %4 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %4, i32 0, i32 0 + %5 = load i32, i32* %optind, align 8 + store i32 %5, i32* %top, align 4 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %6 = load i32, i32* %top, align 4 + %7 = load i32, i32* %middle, align 4 + %cmp = icmp sgt i32 %6, %7 + %8 = load i32, i32* %middle, align 4 + %9 = load i32, i32* %bottom, align 4 + %cmp1 = icmp sgt i32 %8, %9 + %10 = select i1 %cmp, i1 %cmp1, i1 false + br i1 %10, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %11 = load i32, i32* %top, align 4 + %12 = load i32, i32* %middle, align 4 + %sub = sub nsw i32 %11, %12 + %13 = load i32, i32* %middle, align 4 + %14 = load i32, i32* %bottom, align 4 + %sub2 = sub nsw i32 %13, %14 + %cmp3 = icmp sgt i32 %sub, %sub2 + br i1 %cmp3, label %if.then, label %if.else + +if.then: ; preds = %while.body + %15 = load i32, i32* %middle, align 4 + %16 = load i32, i32* %bottom, align 4 + %sub4 = sub nsw i32 %15, %16 + store i32 %sub4, i32* %len, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.then + %17 = load i32, i32* %i, align 4 + %18 = load i32, i32* %len, align 4 + %cmp5 = icmp slt i32 %17, %18 + br i1 %cmp5, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %19 = load i8**, i8*** %argv.addr, align 8 + %20 = load i32, i32* %bottom, align 4 + %21 = load i32, i32* %i, align 4 + %add = add nsw i32 %20, %21 + %idxprom = sext i32 %add to i64 + %arrayidx = getelementptr inbounds i8*, i8** %19, i64 %idxprom + %22 = load i8*, i8** %arrayidx, align 8 + store i8* %22, i8** %tem, align 8 + %23 = load i8**, i8*** %argv.addr, align 8 + %24 = load i32, i32* %top, align 4 + %25 = load i32, i32* %middle, align 4 + %26 = load i32, i32* %bottom, align 4 + %sub6 = sub nsw i32 %25, %26 + %sub7 = sub nsw i32 %24, %sub6 + %27 = load i32, i32* %i, align 4 + %add8 = add nsw i32 %sub7, %27 + %idxprom9 = sext i32 %add8 to i64 + %arrayidx10 = getelementptr inbounds i8*, i8** %23, i64 %idxprom9 + %28 = load i8*, i8** %arrayidx10, align 8 + %29 = load i8**, i8*** %argv.addr, align 8 + %30 = load i32, i32* %bottom, align 4 + %31 = load i32, i32* %i, align 4 + %add11 = add nsw i32 %30, %31 + %idxprom12 = sext i32 %add11 to i64 + %arrayidx13 = getelementptr inbounds i8*, i8** %29, i64 %idxprom12 + store i8* %28, i8** %arrayidx13, align 8 + %32 = load i8*, i8** %tem, align 8 + %33 = load i8**, i8*** %argv.addr, align 8 + %34 = load i32, i32* %top, align 4 + %35 = load i32, i32* %middle, align 4 + %36 = load i32, i32* %bottom, align 4 + %sub14 = sub nsw i32 %35, %36 + %sub15 = sub nsw i32 %34, %sub14 + %37 = load i32, i32* %i, align 4 + %add16 = add nsw i32 %sub15, %37 + %idxprom17 = sext i32 %add16 to i64 + %arrayidx18 = getelementptr inbounds i8*, i8** %33, i64 %idxprom17 + store i8* %32, i8** %arrayidx18, align 8 + %38 = load i32, i32* %i, align 4 + %inc = add nsw i32 %38, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %39 = load i32, i32* %len, align 4 + %40 = load i32, i32* %top, align 4 + %sub19 = sub nsw i32 %40, %39 + store i32 %sub19, i32* %top, align 4 + br label %if.end + +if.else: ; preds = %while.body + %41 = load i32, i32* %top, align 4 + %42 = load i32, i32* %middle, align 4 + %sub21 = sub nsw i32 %41, %42 + store i32 %sub21, i32* %len20, align 4 + store i32 0, i32* %i22, align 4 + br label %for.cond23 + +for.cond23: ; preds = %for.body25, %if.else + %43 = load i32, i32* %i22, align 4 + %44 = load i32, i32* %len20, align 4 + %cmp24 = icmp slt i32 %43, %44 + br i1 %cmp24, label %for.body25, label %for.end40 + +for.body25: ; preds = %for.cond23 + %45 = load i8**, i8*** %argv.addr, align 8 + %46 = load i32, i32* %bottom, align 4 + %47 = load i32, i32* %i22, align 4 + %add26 = add nsw i32 %46, %47 + %idxprom27 = sext i32 %add26 to i64 + %arrayidx28 = getelementptr inbounds i8*, i8** %45, i64 %idxprom27 + %48 = load i8*, i8** %arrayidx28, align 8 + store i8* %48, i8** %tem, align 8 + %49 = load i8**, i8*** %argv.addr, align 8 + %50 = load i32, i32* %middle, align 4 + %51 = load i32, i32* %i22, align 4 + %add29 = add nsw i32 %50, %51 + %idxprom30 = sext i32 %add29 to i64 + %arrayidx31 = getelementptr inbounds i8*, i8** %49, i64 %idxprom30 + %52 = load i8*, i8** %arrayidx31, align 8 + %53 = load i8**, i8*** %argv.addr, align 8 + %54 = load i32, i32* %bottom, align 4 + %55 = load i32, i32* %i22, align 4 + %add32 = add nsw i32 %54, %55 + %idxprom33 = sext i32 %add32 to i64 + %arrayidx34 = getelementptr inbounds i8*, i8** %53, i64 %idxprom33 + store i8* %52, i8** %arrayidx34, align 8 + %56 = load i8*, i8** %tem, align 8 + %57 = load i8**, i8*** %argv.addr, align 8 + %58 = load i32, i32* %middle, align 4 + %59 = load i32, i32* %i22, align 4 + %add35 = add nsw i32 %58, %59 + %idxprom36 = sext i32 %add35 to i64 + %arrayidx37 = getelementptr inbounds i8*, i8** %57, i64 %idxprom36 + store i8* %56, i8** %arrayidx37, align 8 + %60 = load i32, i32* %i22, align 4 + %inc39 = add nsw i32 %60, 1 + store i32 %inc39, i32* %i22, align 4 + br label %for.cond23 + +for.end40: ; preds = %for.cond23 + %61 = load i32, i32* %len20, align 4 + %62 = load i32, i32* %bottom, align 4 + %add41 = add nsw i32 %62, %61 + store i32 %add41, i32* %bottom, align 4 + br label %if.end + +if.end: ; preds = %for.end40, %for.end + br label %while.cond + +while.end: ; preds = %while.cond + %63 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind42 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %63, i32 0, i32 0 + %64 = load i32, i32* %optind42, align 8 + %65 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt43 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %65, i32 0, i32 9 + %66 = load i32, i32* %__last_nonopt43, align 4 + %sub44 = sub nsw i32 %64, %66 + %67 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt45 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %67, i32 0, i32 8 + %68 = load i32, i32* %__first_nonopt45, align 8 + %add46 = add nsw i32 %68, %sub44 + store i32 %add46, i32* %__first_nonopt45, align 8 + %69 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind47 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %69, i32 0, i32 0 + %70 = load i32, i32* %optind47, align 8 + %71 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt48 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %71, i32 0, i32 9 + store i32 %70, i32* %__last_nonopt48, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getopt(i32 %argc, i8** %argv, i8* %optstring) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + %0 = load i32, i32* %argc.addr, align 4 + %1 = load i8**, i8*** %argv.addr, align 8 + %2 = load i8*, i8** %optstring.addr, align 8 + %call = call i32 @_getopt_internal(i32 %0, i8** %1, i8* %2, %struct.option* null, i32* null, i32 0) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getopt_long(i32 %argc, i8** %argv, i8* %options, %struct.option* %long_options, i32* %opt_index) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %options.addr = alloca i8*, align 8 + %long_options.addr = alloca %struct.option*, align 8 + %opt_index.addr = alloca i32*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %options, i8** %options.addr, align 8 + store %struct.option* %long_options, %struct.option** %long_options.addr, align 8 + store i32* %opt_index, i32** %opt_index.addr, align 8 + %0 = load i32, i32* %argc.addr, align 4 + %1 = load i8**, i8*** %argv.addr, align 8 + %2 = load i8*, i8** %options.addr, align 8 + %3 = load %struct.option*, %struct.option** %long_options.addr, align 8 + %4 = load i32*, i32** %opt_index.addr, align 8 + %call = call i32 @_getopt_internal(i32 %0, i8** %1, i8* %2, %struct.option* %3, i32* %4, i32 0) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getopt_long_only(i32 %argc, i8** %argv, i8* %options, %struct.option* %long_options, i32* %opt_index) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %options.addr = alloca i8*, align 8 + %long_options.addr = alloca %struct.option*, align 8 + %opt_index.addr = alloca i32*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %options, i8** %options.addr, align 8 + store %struct.option* %long_options, %struct.option** %long_options.addr, align 8 + store i32* %opt_index, i32** %opt_index.addr, align 8 + %0 = load i32, i32* %argc.addr, align 4 + %1 = load i8**, i8*** %argv.addr, align 8 + %2 = load i8*, i8** %options.addr, align 8 + %3 = load %struct.option*, %struct.option** %long_options.addr, align 8 + %4 = load i32*, i32** %opt_index.addr, align 8 + %call = call i32 @_getopt_internal(i32 %0, i8** %1, i8* %2, %struct.option* %3, i32* %4, i32 1) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define %struct.__uclibc_locale_struct.203* @newlocale(i32 %category_mask, i8* %locale, %struct.__uclibc_locale_struct.203* %base) #0 { +entry: + %retval = alloca %struct.__uclibc_locale_struct.203*, align 8 + %category_mask.addr = alloca i32, align 4 + %locale.addr = alloca i8*, align 8 + %base.addr = alloca %struct.__uclibc_locale_struct.203*, align 8 + %p = alloca i8*, align 8 + %i = alloca i32, align 4 + %j = alloca i32, align 4 + %k = alloca i32, align 4 + %new_selector = alloca [14 x i8], align 1 + store i32 %category_mask, i32* %category_mask.addr, align 4 + store i8* %locale, i8** %locale.addr, align 8 + store %struct.__uclibc_locale_struct.203* %base, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %0 = load i32, i32* %category_mask.addr, align 4 + %cmp = icmp eq i32 %0, 64 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 8127, i32* %category_mask.addr, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i8*, i8** %locale.addr, align 8 + %tobool = icmp eq i8* %1, null + %2 = load i32, i32* %category_mask.addr, align 4 + %cmp1 = icmp ugt i32 %2, 8127 + %or.cond = or i1 %tobool, %cmp1 + br i1 %or.cond, label %INVALID, label %if.end3 + +INVALID: ; preds = %if.else, %do.end, %if.end + store i32 22, i32* @errno, align 4 + store %struct.__uclibc_locale_struct.203* null, %struct.__uclibc_locale_struct.203** %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %3 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %tobool4 = icmp ne %struct.__uclibc_locale_struct.203* %3, null + %4 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %4, i32 0, i32 6 + %arraydecay5 = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + %cond = select i1 %tobool4, i8* %arraydecay5, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.321, i64 0, i64 0) + %call = call i8* @strcpy(i8* %arraydecay, i8* %cond) #20 + %5 = load i8*, i8** %locale.addr, align 8 + %6 = load i8, i8* %5, align 1 + %tobool6 = icmp ne i8 %6, 0 + br i1 %tobool6, label %if.else, label %if.then7 + +if.then7: ; preds = %if.end3 + store i32 1, i32* %i, align 4 + store i32 0, i32* %k, align 4 + br label %do.body + +do.body: ; preds = %if.end25, %if.then7 + %7 = load i32, i32* %category_mask.addr, align 4 + %8 = load i32, i32* %i, align 4 + %and = and i32 %7, %8 + %tobool8 = icmp ne i32 %and, 0 + br i1 %tobool8, label %if.then9, label %if.end25 + +if.then9: ; preds = %do.body + %9 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %lc_names = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %9, i32 0, i32 34 + %arraydecay10 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names, i64 0, i64 0 + %10 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %lc_names11 = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %10, i32 0, i32 34 + %11 = load i32, i32* %k, align 4 + %idxprom = sext i32 %11 to i64 + %arrayidx = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names11, i64 0, i64 %idxprom + %12 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %12 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay10, i64 %idx.ext + store i8* %add.ptr, i8** getelementptr inbounds ([4 x i8*], [4 x i8*]* @newlocale.envstr, i64 0, i64 1), align 8 + store i32 0, i32* %j, align 4 + br label %do.body12 + +do.body12: ; preds = %land.rhs, %lor.rhs, %if.then9 + %13 = load i32, i32* %j, align 4 + %idxprom13 = sext i32 %13 to i64 + %arrayidx14 = getelementptr inbounds [4 x i8*], [4 x i8*]* @newlocale.envstr, i64 0, i64 %idxprom13 + %14 = load i8*, i8** %arrayidx14, align 8 + store i8* %14, i8** %p, align 8 + %15 = load i32, i32* %j, align 4 + %inc = add nsw i32 %15, 1 + store i32 %inc, i32* %j, align 4 + %cmp15 = icmp slt i32 %inc, 4 + br i1 %cmp15, label %land.rhs, label %do.end + +land.rhs: ; preds = %do.body12 + %16 = load i8*, i8** %p, align 8 + %call17 = call i8* @getenv(i8* %16) #20 + store i8* %call17, i8** %p, align 8 + %tobool18 = icmp ne i8* %call17, null + br i1 %tobool18, label %lor.rhs, label %do.body12 + +lor.rhs: ; preds = %land.rhs + %17 = load i8*, i8** %p, align 8 + %18 = load i8, i8* %17, align 1 + %tobool19 = icmp ne i8 %18, 0 + %lnot = xor i1 %tobool19, true + br i1 %lnot, label %do.body12, label %do.end + +do.end: ; preds = %do.body12, %lor.rhs + %19 = load i32, i32* %i, align 4 + %20 = load i8*, i8** %p, align 8 + %arraydecay20 = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %call21 = call i32 @find_locale(i32 %19, i8* %20, i8* %arraydecay20) #19 + %tobool22 = icmp ne i32 %call21, 0 + br i1 %tobool22, label %if.end25, label %INVALID + +if.end25: ; preds = %do.end, %do.body + %21 = load i32, i32* %i, align 4 + %22 = load i32, i32* %i, align 4 + %add = add nsw i32 %22, %21 + store i32 %add, i32* %i, align 4 + %23 = load i32, i32* %k, align 4 + %inc27 = add nsw i32 %23, 1 + store i32 %inc27, i32* %k, align 4 + %cmp28 = icmp slt i32 %inc27, 6 + br i1 %cmp28, label %do.body, label %if.end36 + +if.else: ; preds = %if.end3 + %24 = load i32, i32* %category_mask.addr, align 4 + %25 = load i8*, i8** %locale.addr, align 8 + %arraydecay31 = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %call32 = call i8* @composite_locale(i32 %24, i8* %25, i8* %arraydecay31) #19 + %tobool33 = icmp ne i8* %call32, null + br i1 %tobool33, label %if.end36, label %INVALID + +if.end36: ; preds = %if.else, %if.end25 + %26 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %tobool37 = icmp ne %struct.__uclibc_locale_struct.203* %26, null + br i1 %tobool37, label %if.end44, label %if.then38 + +if.then38: ; preds = %if.end36 + %call39 = call noalias i8* @calloc(i64 1, i64 3320) #20 + %27 = bitcast i8* %call39 to %struct.__uclibc_locale_struct.203* + store %struct.__uclibc_locale_struct.203* %27, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %cmp40 = icmp eq %struct.__uclibc_locale_struct.203* %27, null + %28 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + br i1 %cmp40, label %if.then42, label %if.end43 + +if.then42: ; preds = %if.then38 + store %struct.__uclibc_locale_struct.203* %28, %struct.__uclibc_locale_struct.203** %retval, align 8 + br label %return + +if.end43: ; preds = %if.then38 + call void @_locale_init_l(%struct.__uclibc_locale_struct.203* %28) #19 + br label %if.end44 + +if.end44: ; preds = %if.end43, %if.end36 + %arraydecay45 = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %29 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %call46 = call i32 @_locale_set_l(i8* %arraydecay45, %struct.__uclibc_locale_struct.203* %29) #19 + %30 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + store %struct.__uclibc_locale_struct.203* %30, %struct.__uclibc_locale_struct.203** %retval, align 8 + br label %return + +return: ; preds = %if.end44, %if.then42, %INVALID + %31 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %retval, align 8 + ret %struct.__uclibc_locale_struct.203* %31 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @find_locale(i32 %category_mask, i8* %p, i8* %new_locale) #0 { +entry: + %retval = alloca i32, align 4 + %category_mask.addr = alloca i32, align 4 + %p.addr = alloca i8*, align 8 + %new_locale.addr = alloca i8*, align 8 + %i = alloca i32, align 4 + %s = alloca i8*, align 8 + %n = alloca i16, align 2 + %lang_cult = alloca i8, align 1 + %codeset = alloca i8, align 1 + %buf = alloca [18 x i8], align 16 + %q = alloca i8*, align 8 + store i32 %category_mask, i32* %category_mask.addr, align 4 + store i8* %p, i8** %p.addr, align 8 + store i8* %new_locale, i8** %new_locale.addr, align 8 + %0 = load i8*, i8** %p.addr, align 8 + %call = call i8* @strchr(i8* %0, i32 64) #21 + store i8* %call, i8** %q, align 8 + %cmp = icmp ne i8* %call, null + br i1 %cmp, label %if.then, label %if.end27 + +if.then: ; preds = %entry + %1 = load i8*, i8** %q, align 8 + %2 = load i8*, i8** %p.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %1 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %2 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %sub = sub nsw i64 %sub.ptr.sub, 5 + %cmp1 = icmp ugt i64 %sub, 13 + br i1 %cmp1, label %if.then4, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then + %3 = load i8*, i8** %p.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %3, i64 2 + %4 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %4 to i32 + %cmp2 = icmp ne i32 %conv, 95 + br i1 %cmp2, label %if.then4, label %if.end + +if.then4: ; preds = %lor.lhs.false, %if.then + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %lor.lhs.false + %5 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %locale_at_modifiers = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %5, i32 0, i32 33 + %arraydecay = getelementptr inbounds [18 x i8], [18 x i8]* %locale_at_modifiers, i64 0, i64 0 + store i8* %arraydecay, i8** %s, align 8 + br label %do.body + +do.body: ; preds = %if.end8, %if.end + %6 = load i8*, i8** %s, align 8 + %add.ptr = getelementptr inbounds i8, i8* %6, i64 2 + %7 = load i8*, i8** %q, align 8 + %add.ptr5 = getelementptr inbounds i8, i8* %7, i64 1 + %call6 = call i32 @strcmp(i8* %add.ptr, i8* %add.ptr5) #21 + %tobool = icmp ne i32 %call6, 0 + br i1 %tobool, label %if.end8, label %do.end + +if.end8: ; preds = %do.body + %8 = load i8*, i8** %s, align 8 + %9 = load i8, i8* %8, align 1 + %conv9 = zext i8 %9 to i32 + %add = add nsw i32 2, %conv9 + %10 = load i8*, i8** %s, align 8 + %idx.ext = sext i32 %add to i64 + %add.ptr10 = getelementptr inbounds i8, i8* %10, i64 %idx.ext + store i8* %add.ptr10, i8** %s, align 8 + %11 = load i8*, i8** %s, align 8 + %12 = load i8, i8* %11, align 1 + %tobool11 = icmp ne i8 %12, 0 + br i1 %tobool11, label %do.body, label %do.end + +do.end: ; preds = %do.body, %if.end8 + %13 = load i8*, i8** %s, align 8 + %14 = load i8, i8* %13, align 1 + %tobool12 = icmp ne i8 %14, 0 + br i1 %tobool12, label %if.end14, label %if.then13 + +if.then13: ; preds = %do.end + store i32 0, i32* %retval, align 4 + br label %return + +if.end14: ; preds = %do.end + %arraydecay15 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 0 + %15 = load i8*, i8** %p.addr, align 8 + %16 = load i8*, i8** %q, align 8 + %17 = load i8*, i8** %p.addr, align 8 + %sub.ptr.lhs.cast16 = ptrtoint i8* %16 to i64 + %sub.ptr.rhs.cast17 = ptrtoint i8* %17 to i64 + %sub.ptr.sub18 = sub i64 %sub.ptr.lhs.cast16, %sub.ptr.rhs.cast17 + %call19 = call i8* @memcpy(i8* %arraydecay15, i8* %15, i64 %sub.ptr.sub18) #20 + %18 = load i8*, i8** %q, align 8 + %19 = load i8*, i8** %p.addr, align 8 + %sub.ptr.lhs.cast20 = ptrtoint i8* %18 to i64 + %sub.ptr.rhs.cast21 = ptrtoint i8* %19 to i64 + %sub.ptr.sub22 = sub i64 %sub.ptr.lhs.cast20, %sub.ptr.rhs.cast21 + %arrayidx23 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 %sub.ptr.sub22 + store i8 0, i8* %arrayidx23, align 1 + %20 = load i8*, i8** %s, align 8 + %arrayidx24 = getelementptr inbounds i8, i8* %20, i64 1 + %21 = load i8, i8* %arrayidx24, align 1 + %arrayidx25 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 2 + store i8 %21, i8* %arrayidx25, align 2 + %arraydecay26 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay26, i8** %p.addr, align 8 + br label %if.end27 + +if.end27: ; preds = %if.end14, %entry + store i8 0, i8* %codeset, align 1 + store i8 0, i8* %lang_cult, align 1 + %22 = load i8*, i8** %p.addr, align 8 + %23 = load i8, i8* %22, align 1 + %conv28 = sext i8 %23 to i32 + %cmp29 = icmp eq i32 %conv28, 67 + br i1 %cmp29, label %land.lhs.true, label %lor.lhs.false33 + +land.lhs.true: ; preds = %if.end27 + %24 = load i8*, i8** %p.addr, align 8 + %arrayidx31 = getelementptr inbounds i8, i8* %24, i64 1 + %25 = load i8, i8* %arrayidx31, align 1 + %tobool32 = icmp ne i8 %25, 0 + br i1 %tobool32, label %lor.lhs.false33, label %FIND_LOCALE + +lor.lhs.false33: ; preds = %land.lhs.true, %if.end27 + %26 = load i8*, i8** %p.addr, align 8 + %call34 = call i32 @strcmp(i8* %26, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @posix, i64 0, i64 0)) #21 + %tobool35 = icmp ne i32 %call34, 0 + br i1 %tobool35, label %if.end37, label %FIND_LOCALE + +if.end37: ; preds = %lor.lhs.false33 + %27 = load i8*, i8** %p.addr, align 8 + %call38 = call i64 @strlen(i8* %27) #21 + %cmp39 = icmp ugt i64 %call38, 5 + br i1 %cmp39, label %land.lhs.true41, label %FIND_LANG_CULT + +land.lhs.true41: ; preds = %if.end37 + %28 = load i8*, i8** %p.addr, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %28, i64 5 + %29 = load i8, i8* %arrayidx42, align 1 + %conv43 = sext i8 %29 to i32 + %cmp44 = icmp eq i32 %conv43, 46 + br i1 %cmp44, label %if.then46, label %FIND_LANG_CULT + +if.then46: ; preds = %land.lhs.true41 + store i8 2, i8* %codeset, align 1 + %30 = load i8*, i8** %p.addr, align 8 + %add.ptr47 = getelementptr inbounds i8, i8* %30, i64 6 + %call48 = call i32 @strcmp(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf8.324, i64 0, i64 0), i8* %add.ptr47) #21 + %cmp49 = icmp ne i32 %call48, 0 + br i1 %cmp49, label %if.then51, label %FIND_LANG_CULT + +if.then51: ; preds = %if.then46 + %31 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %codeset_list = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %31, i32 0, i32 35 + %arraydecay52 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list, i64 0, i64 0 + store i8* %arraydecay52, i8** %s, align 8 + br label %do.body53 + +do.body53: ; preds = %do.cond64, %if.then51 + %32 = load i8, i8* %codeset, align 1 + %inc = add i8 %32, 1 + store i8 %inc, i8* %codeset, align 1 + %33 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %codeset_list54 = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %33, i32 0, i32 35 + %arraydecay55 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list54, i64 0, i64 0 + %34 = load i8*, i8** %s, align 8 + %35 = load i8, i8* %34, align 1 + %conv56 = zext i8 %35 to i32 + %idx.ext57 = sext i32 %conv56 to i64 + %add.ptr58 = getelementptr inbounds i8, i8* %arraydecay55, i64 %idx.ext57 + %36 = load i8*, i8** %p.addr, align 8 + %add.ptr59 = getelementptr inbounds i8, i8* %36, i64 6 + %call60 = call i32 @strcmp(i8* %add.ptr58, i8* %add.ptr59) #21 + %tobool61 = icmp ne i32 %call60, 0 + br i1 %tobool61, label %do.cond64, label %FIND_LANG_CULT + +do.cond64: ; preds = %do.body53 + %37 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %37, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %38 = load i8, i8* %incdec.ptr, align 1 + %tobool65 = icmp ne i8 %38, 0 + br i1 %tobool65, label %do.body53, label %do.end66 + +do.end66: ; preds = %do.cond64 + store i32 0, i32* %retval, align 4 + br label %return + +FIND_LANG_CULT: ; preds = %if.end37, %land.lhs.true41, %if.then46, %do.body53 + %39 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %locale_names5 = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %39, i32 0, i32 32 + %arraydecay69 = getelementptr inbounds [835 x i8], [835 x i8]* %locale_names5, i64 0, i64 0 + store i8* %arraydecay69, i8** %s, align 8 + br label %do.body70 + +do.body70: ; preds = %if.end75, %FIND_LANG_CULT + %40 = load i8, i8* %lang_cult, align 1 + %inc71 = add i8 %40, 1 + store i8 %inc71, i8* %lang_cult, align 1 + %41 = load i8*, i8** %s, align 8 + %42 = load i8*, i8** %p.addr, align 8 + %call72 = call i32 @strncmp(i8* %41, i8* %42, i64 5) #21 + %tobool73 = icmp ne i32 %call72, 0 + br i1 %tobool73, label %if.end75, label %FIND_LOCALE + +if.end75: ; preds = %do.body70 + %43 = load i8*, i8** %s, align 8 + %add.ptr76 = getelementptr inbounds i8, i8* %43, i64 5 + store i8* %add.ptr76, i8** %s, align 8 + %44 = load i8, i8* %lang_cult, align 1 + %conv78 = zext i8 %44 to i32 + %cmp79 = icmp slt i32 %conv78, 167 + br i1 %cmp79, label %do.body70, label %do.end81 + +do.end81: ; preds = %if.end75 + store i32 0, i32* %retval, align 4 + br label %return + +FIND_LOCALE: ; preds = %do.body70, %land.lhs.true, %lor.lhs.false33 + %45 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %locales = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %45, i32 0, i32 31 + %arraydecay82 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales, i64 0, i64 0 + store i8* %arraydecay82, i8** %s, align 8 + store i16 0, i16* %n, align 2 + br label %do.body83 + +do.body83: ; preds = %if.end120, %FIND_LOCALE + %46 = load i8, i8* %lang_cult, align 1 + %conv84 = zext i8 %46 to i32 + %47 = load i8*, i8** %s, align 8 + %48 = load i8, i8* %47, align 1 + %conv85 = zext i8 %48 to i32 + %cmp86 = icmp eq i32 %conv84, %conv85 + br i1 %cmp86, label %land.lhs.true88, label %if.end120 + +land.lhs.true88: ; preds = %do.body83 + %49 = load i8, i8* %codeset, align 1 + %conv89 = zext i8 %49 to i32 + %50 = load i8*, i8** %s, align 8 + %arrayidx90 = getelementptr inbounds i8, i8* %50, i64 1 + %51 = load i8, i8* %arrayidx90, align 1 + %conv91 = zext i8 %51 to i32 + %cmp92 = icmp eq i32 %conv89, %conv91 + br i1 %cmp92, label %if.then100, label %lor.lhs.false94 + +lor.lhs.false94: ; preds = %land.lhs.true88 + %52 = load i8, i8* %codeset, align 1 + %conv95 = zext i8 %52 to i32 + %53 = load i8*, i8** %s, align 8 + %arrayidx96 = getelementptr inbounds i8, i8* %53, i64 2 + %54 = load i8, i8* %arrayidx96, align 1 + %conv97 = zext i8 %54 to i32 + %cmp98 = icmp eq i32 %conv95, %conv97 + br i1 %cmp98, label %if.then100, label %if.end120 + +if.then100: ; preds = %lor.lhs.false94, %land.lhs.true88 + store i32 1, i32* %i, align 4 + %55 = load i8*, i8** %new_locale.addr, align 8 + %add.ptr101 = getelementptr inbounds i8, i8* %55, i64 1 + store i8* %add.ptr101, i8** %s, align 8 + br label %do.body102 + +do.body102: ; preds = %if.end113, %if.then100 + %56 = load i32, i32* %category_mask.addr, align 4 + %57 = load i32, i32* %i, align 4 + %and = and i32 %56, %57 + %tobool103 = icmp ne i32 %and, 0 + br i1 %tobool103, label %if.then104, label %if.end113 + +if.then104: ; preds = %do.body102 + %58 = load i16, i16* %n, align 2 + %conv105 = zext i16 %58 to i32 + %shr = ashr i32 %conv105, 7 + %or = or i32 %shr, 128 + %conv106 = trunc i32 %or to i8 + %59 = load i8*, i8** %s, align 8 + %arrayidx107 = getelementptr inbounds i8, i8* %59, i64 0 + store i8 %conv106, i8* %arrayidx107, align 1 + %60 = load i16, i16* %n, align 2 + %conv108 = zext i16 %60 to i32 + %and109 = and i32 %conv108, 127 + %or110 = or i32 %and109, 128 + %conv111 = trunc i32 %or110 to i8 + %61 = load i8*, i8** %s, align 8 + %arrayidx112 = getelementptr inbounds i8, i8* %61, i64 1 + store i8 %conv111, i8* %arrayidx112, align 1 + br label %if.end113 + +if.end113: ; preds = %if.then104, %do.body102 + %62 = load i8*, i8** %s, align 8 + %add.ptr114 = getelementptr inbounds i8, i8* %62, i64 2 + store i8* %add.ptr114, i8** %s, align 8 + %63 = load i32, i32* %i, align 4 + %64 = load i32, i32* %i, align 4 + %add115 = add nsw i32 %64, %63 + store i32 %add115, i32* %i, align 4 + %65 = load i32, i32* %i, align 4 + %cmp117 = icmp slt i32 %65, 64 + br i1 %cmp117, label %do.body102, label %do.end119 + +do.end119: ; preds = %if.end113 + %66 = load i32, i32* %i, align 4 + store i32 %66, i32* %retval, align 4 + br label %return + +if.end120: ; preds = %lor.lhs.false94, %do.body83 + %67 = load i8*, i8** %s, align 8 + %add.ptr121 = getelementptr inbounds i8, i8* %67, i64 9 + store i8* %add.ptr121, i8** %s, align 8 + %68 = load i16, i16* %n, align 2 + %inc122 = add i16 %68, 1 + store i16 %inc122, i16* %n, align 2 + %69 = load i16, i16* %n, align 2 + %conv124 = zext i16 %69 to i32 + %cmp125 = icmp sle i32 %conv124, 314 + br i1 %cmp125, label %do.body83, label %do.end127 + +do.end127: ; preds = %if.end120 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end127, %do.end119, %do.end81, %do.end66, %if.then13, %if.then4 + %70 = load i32, i32* %retval, align 4 + ret i32 %70 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @composite_locale(i32 %category_mask, i8* %locale, i8* %new_locale) #0 { +entry: + %retval = alloca i8*, align 8 + %category_mask.addr = alloca i32, align 4 + %locale.addr = alloca i8*, align 8 + %new_locale.addr = alloca i8*, align 8 + %buf = alloca [256 x i8], align 16 + %t = alloca i8*, align 8 + %e = alloca i8*, align 8 + %c = alloca i32, align 4 + %component_mask = alloca i32, align 4 + store i32 %category_mask, i32* %category_mask.addr, align 4 + store i8* %locale, i8** %locale.addr, align 8 + store i8* %new_locale, i8** %new_locale.addr, align 8 + %0 = load i8*, i8** %locale.addr, align 8 + %call = call i8* @strchr(i8* %0, i32 61) #21 + %tobool = icmp ne i8* %call, null + br i1 %tobool, label %if.end4, label %if.then + +if.then: ; preds = %entry + %1 = load i32, i32* %category_mask.addr, align 4 + %2 = load i8*, i8** %locale.addr, align 8 + %3 = load i8*, i8** %new_locale.addr, align 8 + %call1 = call i32 @find_locale(i32 %1, i8* %2, i8* %3) #19 + %tobool2 = icmp ne i32 %call1, 0 + br i1 %tobool2, label %if.end, label %if.then3 + +if.then3: ; preds = %if.then + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %if.then + %4 = load i8*, i8** %new_locale.addr, align 8 + store i8* %4, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %entry + %5 = load i8*, i8** %locale.addr, align 8 + %call5 = call i64 @strlen(i8* %5) #21 + %cmp = icmp uge i64 %call5, 256 + br i1 %cmp, label %if.then6, label %if.end7 + +if.then6: ; preds = %if.end4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end7: ; preds = %if.end4 + %arraydecay = getelementptr inbounds [256 x i8], [256 x i8]* %buf, i64 0, i64 0 + %6 = load i8*, i8** %locale.addr, align 8 + %call8 = call i8* @stpcpy(i8* %arraydecay, i8* %6) #20 + store i32 0, i32* %component_mask, align 4 + %arraydecay9 = getelementptr inbounds [256 x i8], [256 x i8]* %buf, i64 0, i64 0 + %call10 = call i8* @strtok_r(i8* %arraydecay9, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.322, i64 0, i64 0), i8** %e) #20 + store i8* %call10, i8** %t, align 8 + br label %do.body + +do.body: ; preds = %do.cond, %if.end7 + store i32 0, i32* %c, align 4 + br label %while.cond + +while.cond: ; preds = %while.body, %do.body + %7 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %lc_names = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %7, i32 0, i32 34 + %arraydecay11 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names, i64 0, i64 0 + %8 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %lc_names12 = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %8, i32 0, i32 34 + %9 = load i32, i32* %c, align 4 + %idxprom = sext i32 %9 to i64 + %arrayidx = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names12, i64 0, i64 %idxprom + %10 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %10 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay11, i64 %idx.ext + %11 = load i8*, i8** %t, align 8 + %call13 = call i32 @strcmp(i8* %add.ptr, i8* %11) #21 + %tobool14 = icmp ne i32 %call13, 0 + br i1 %tobool14, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %12 = load i32, i32* %c, align 4 + %inc = add nsw i32 %12, 1 + store i32 %inc, i32* %c, align 4 + %cmp15 = icmp eq i32 %inc, 6 + br i1 %cmp15, label %if.then17, label %while.cond + +if.then17: ; preds = %while.body + store i8* null, i8** %retval, align 8 + br label %return + +while.end: ; preds = %while.cond + %call19 = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.4.323, i64 0, i64 0), i8** %e) #20 + store i8* %call19, i8** %t, align 8 + %13 = load i32, i32* %c, align 4 + %shl = shl i32 1, %13 + store i32 %shl, i32* %c, align 4 + %14 = load i32, i32* %component_mask, align 4 + %15 = load i32, i32* %c, align 4 + %and = and i32 %14, %15 + %tobool20 = icmp ne i32 %and, 0 + br i1 %tobool20, label %if.then21, label %if.end22 + +if.then21: ; preds = %while.end + store i8* null, i8** %retval, align 8 + br label %return + +if.end22: ; preds = %while.end + %16 = load i32, i32* %c, align 4 + %17 = load i32, i32* %component_mask, align 4 + %or = or i32 %17, %16 + store i32 %or, i32* %component_mask, align 4 + %18 = load i32, i32* %category_mask.addr, align 4 + %19 = load i32, i32* %c, align 4 + %and23 = and i32 %18, %19 + %tobool24 = icmp ne i32 %and23, 0 + br i1 %tobool24, label %land.lhs.true, label %do.cond + +land.lhs.true: ; preds = %if.end22 + %20 = load i8*, i8** %t, align 8 + %tobool25 = icmp ne i8* %20, null + br i1 %tobool25, label %lor.lhs.false, label %if.then28 + +lor.lhs.false: ; preds = %land.lhs.true + %21 = load i32, i32* %c, align 4 + %22 = load i8*, i8** %t, align 8 + %23 = load i8*, i8** %new_locale.addr, align 8 + %call26 = call i32 @find_locale(i32 %21, i8* %22, i8* %23) #19 + %tobool27 = icmp ne i32 %call26, 0 + br i1 %tobool27, label %do.cond, label %if.then28 + +if.then28: ; preds = %lor.lhs.false, %land.lhs.true + store i8* null, i8** %retval, align 8 + br label %return + +do.cond: ; preds = %if.end22, %lor.lhs.false + %call30 = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.322, i64 0, i64 0), i8** %e) #20 + store i8* %call30, i8** %t, align 8 + %cmp31 = icmp ne i8* %call30, null + br i1 %cmp31, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %24 = load i32, i32* %category_mask.addr, align 4 + %25 = load i32, i32* %component_mask, align 4 + %neg = xor i32 %25, -1 + %and33 = and i32 %24, %neg + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %if.then35, label %if.end36 + +if.then35: ; preds = %do.end + store i8* null, i8** %retval, align 8 + br label %return + +if.end36: ; preds = %do.end + %26 = load i8*, i8** %new_locale.addr, align 8 + store i8* %26, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end36, %if.then35, %if.then28, %if.then21, %if.then17, %if.then6, %if.end, %if.then3 + %27 = load i8*, i8** %retval, align 8 + ret i8* %27 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @nl_langinfo_l(i32 %item, %struct.__uclibc_locale_struct.203* %locale_arg) #0 { +entry: + %retval = alloca i8*, align 8 + %item.addr = alloca i32, align 4 + %locale_arg.addr = alloca %struct.__uclibc_locale_struct.203*, align 8 + %c = alloca i32, align 4 + %i = alloca i32, align 4 + store i32 %item, i32* %item.addr, align 4 + store %struct.__uclibc_locale_struct.203* %locale_arg, %struct.__uclibc_locale_struct.203** %locale_arg.addr, align 8 + %0 = load i32, i32* %item.addr, align 4 + %shr = ashr i32 %0, 8 + store i32 %shr, i32* %c, align 4 + %1 = load i32, i32* %item.addr, align 4 + %and = and i32 %1, 255 + store i32 %and, i32* %i, align 4 + %2 = load i32, i32* %c, align 4 + %cmp = icmp ult i32 %2, 6 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %3 = load i32, i32* %i, align 4 + %4 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %locale_arg.addr, align 8 + %category_item_count = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %4, i32 0, i32 8 + %5 = load i32, i32* %c, align 4 + %idxprom = zext i32 %5 to i64 + %arrayidx = getelementptr inbounds [6 x i8], [6 x i8]* %category_item_count, i64 0, i64 %idxprom + %6 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %6 to i32 + %cmp1 = icmp ult i32 %3, %conv + br i1 %cmp1, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %7 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %locale_arg.addr, align 8 + %8 = bitcast %struct.__uclibc_locale_struct.203* %7 to i8* + %9 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %locale_arg.addr, align 8 + %category_offsets = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %9, i32 0, i32 7 + %10 = load i32, i32* %c, align 4 + %idxprom3 = zext i32 %10 to i64 + %arrayidx4 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets, i64 0, i64 %idxprom3 + %11 = load i16, i16* %arrayidx4, align 2 + %conv5 = zext i16 %11 to i32 + %idx.ext = sext i32 %conv5 to i64 + %add.ptr = getelementptr inbounds i8, i8* %8, i64 %idx.ext + %12 = bitcast i8* %add.ptr to i8** + %13 = load i32, i32* %i, align 4 + %idxprom6 = zext i32 %13 to i64 + %arrayidx7 = getelementptr inbounds i8*, i8** %12, i64 %idxprom6 + %14 = load i8*, i8** %arrayidx7, align 8 + store i8* %14, i8** %retval, align 8 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @empty, i64 0, i64 0), i8** %retval, align 8 + br label %return + +return: ; preds = %if.end, %if.then + %15 = load i8*, i8** %retval, align 8 + ret i8* %15 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @mbsnrtowcs(i32* noalias %dst, i8** noalias %src, i64 %NMC, i64 %len, %struct.__mbstate_t.514* noalias %ps) #0 { +entry: + %retval = alloca i64, align 8 + %dst.addr = alloca i32*, align 8 + %src.addr = alloca i8**, align 8 + %NMC.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.514*, align 8 + %wcbuf = alloca [1 x i32], align 4 + %s = alloca i8*, align 8 + %count = alloca i64, align 8 + %incr = alloca i32, align 4 + %r = alloca i64, align 8 + %wc = alloca i32, align 4 + store i32* %dst, i32** %dst.addr, align 8 + store i8** %src, i8*** %src.addr, align 8 + store i64 %NMC, i64* %NMC.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.514* %ps, %struct.__mbstate_t.514** %ps.addr, align 8 + %0 = load %struct.__mbstate_t.514*, %struct.__mbstate_t.514** %ps.addr, align 8 + %tobool = icmp ne %struct.__mbstate_t.514* %0, null + %spec.store.select = select i1 %tobool, %struct.__mbstate_t.514* %ps, %struct.__mbstate_t.514* @mbsnrtowcs.mbstate + store %struct.__mbstate_t.514* %spec.store.select, %struct.__mbstate_t.514** %ps.addr, align 8 + %1 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %1, i32 0, i32 9 + %2 = load i8, i8* %encoding, align 8 + %conv = zext i8 %2 to i32 + %cmp = icmp eq i32 %conv, 1 + br i1 %cmp, label %if.then2, label %if.end5 + +if.then2: ; preds = %entry + %3 = load i32*, i32** %dst.addr, align 8 + %4 = load i64, i64* %len.addr, align 8 + %5 = load i8**, i8*** %src.addr, align 8 + %6 = load i64, i64* %NMC.addr, align 8 + %7 = load %struct.__mbstate_t.514*, %struct.__mbstate_t.514** %ps.addr, align 8 + %call = call i64 @_wchar_utf8sntowcs(i32* %3, i64 %4, i8** %5, i64 %6, %struct.__mbstate_t.514* %7, i32 1) #19 + store i64 %call, i64* %r, align 8 + %cmp3 = icmp ne i64 %call, -2 + %8 = load i64, i64* %r, align 8 + %cond = select i1 %cmp3, i64 %8, i64 0 + store i64 %cond, i64* %retval, align 8 + br label %return + +if.end5: ; preds = %entry + store i32 1, i32* %incr, align 4 + %9 = load i32*, i32** %dst.addr, align 8 + %tobool6 = icmp ne i32* %9, null + br i1 %tobool6, label %lor.lhs.false, label %if.then9 + +lor.lhs.false: ; preds = %if.end5 + %10 = load i32*, i32** %dst.addr, align 8 + %11 = load %struct.__mbstate_t.514*, %struct.__mbstate_t.514** %ps.addr, align 8 + %12 = bitcast %struct.__mbstate_t.514* %11 to i32* + %cmp7 = icmp eq i32* %10, %12 + br i1 %cmp7, label %if.then9, label %if.end13 + +if.then9: ; preds = %lor.lhs.false, %if.end5 + %13 = load i32*, i32** %dst.addr, align 8 + %tobool10 = icmp ne i32* %13, null + br i1 %tobool10, label %if.end12, label %if.then11 + +if.then11: ; preds = %if.then9 + store i64 -1, i64* %len.addr, align 8 + br label %if.end12 + +if.end12: ; preds = %if.then11, %if.then9 + %arraydecay = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay, i32** %dst.addr, align 8 + store i32 0, i32* %incr, align 4 + br label %if.end13 + +if.end13: ; preds = %if.end12, %lor.lhs.false + %14 = load i64, i64* %len.addr, align 8 + %15 = load i64, i64* %NMC.addr, align 8 + %cmp14 = icmp ugt i64 %14, %15 + br i1 %cmp14, label %if.then16, label %if.end17 + +if.then16: ; preds = %if.end13 + %16 = load i64, i64* %NMC.addr, align 8 + store i64 %16, i64* %len.addr, align 8 + br label %if.end17 + +if.end17: ; preds = %if.then16, %if.end13 + %17 = load i64, i64* %len.addr, align 8 + store i64 %17, i64* %count, align 8 + %18 = load i8**, i8*** %src.addr, align 8 + %19 = load i8*, i8** %18, align 8 + store i8* %19, i8** %s, align 8 + %20 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__curlocale_var, align 8 + %encoding18 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %20, i32 0, i32 9 + %21 = load i8, i8* %encoding18, align 8 + %conv19 = zext i8 %21 to i32 + %cmp20 = icmp eq i32 %conv19, 2 + br i1 %cmp20, label %while.cond, label %while.cond46 + +while.cond: ; preds = %if.end17, %if.end38 + %22 = load i64, i64* %count, align 8 + %tobool23 = icmp ne i64 %22, 0 + br i1 %tobool23, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %23 = load i8*, i8** %s, align 8 + %24 = load i8, i8* %23, align 1 + %conv24 = zext i8 %24 to i32 + store i32 %conv24, i32* %wc, align 4 + %cmp25 = icmp sge i32 %conv24, 128 + br i1 %cmp25, label %if.then27, label %if.end35 + +if.then27: ; preds = %while.body + %25 = load i32, i32* %wc, align 4 + %sub = sub nsw i32 %25, 128 + store i32 %sub, i32* %wc, align 4 + %26 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__curlocale_var, align 8 + %tbl8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %26, i32 0, i32 17 + %27 = load i16*, i16** %tbl8c2wc, align 8 + %28 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__curlocale_var, align 8 + %idx8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %28, i32 0, i32 16 + %29 = load i8*, i8** %idx8c2wc, align 8 + %30 = load i32, i32* %wc, align 4 + %shr = ashr i32 %30, 3 + %idxprom = sext i32 %shr to i64 + %arrayidx = getelementptr inbounds i8, i8* %29, i64 %idxprom + %31 = load i8, i8* %arrayidx, align 1 + %conv28 = zext i8 %31 to i32 + %shl = shl i32 %conv28, 3 + %32 = load i32, i32* %wc, align 4 + %and = and i32 %32, 7 + %add = add nsw i32 %shl, %and + %idxprom29 = sext i32 %add to i64 + %arrayidx30 = getelementptr inbounds i16, i16* %27, i64 %idxprom29 + %33 = load i16, i16* %arrayidx30, align 2 + %conv31 = zext i16 %33 to i32 + store i32 %conv31, i32* %wc, align 4 + %34 = load i32, i32* %wc, align 4 + %tobool32 = icmp ne i32 %34, 0 + br i1 %tobool32, label %if.end35, label %BAD + +if.end35: ; preds = %if.then27, %while.body + %35 = load i32, i32* %wc, align 4 + %36 = load i32*, i32** %dst.addr, align 8 + store i32 %35, i32* %36, align 4 + %tobool36 = icmp ne i32 %35, 0 + br i1 %tobool36, label %if.end38, label %if.then37 + +if.then37: ; preds = %if.end35 + store i8* null, i8** %s, align 8 + br label %while.end + +if.end38: ; preds = %if.end35 + %37 = load i32, i32* %incr, align 4 + %38 = load i32*, i32** %dst.addr, align 8 + %idx.ext = sext i32 %37 to i64 + %add.ptr = getelementptr inbounds i32, i32* %38, i64 %idx.ext + store i32* %add.ptr, i32** %dst.addr, align 8 + %39 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %39, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %40 = load i64, i64* %count, align 8 + %dec = add i64 %40, -1 + store i64 %dec, i64* %count, align 8 + br label %while.cond + +while.end: ; preds = %if.then37, %while.cond + %41 = load i32*, i32** %dst.addr, align 8 + %arraydecay39 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %cmp40 = icmp ne i32* %41, %arraydecay39 + br i1 %cmp40, label %if.then42, label %if.end43 + +if.then42: ; preds = %while.end + %42 = load i8*, i8** %s, align 8 + %43 = load i8**, i8*** %src.addr, align 8 + store i8* %42, i8** %43, align 8 + br label %if.end43 + +if.end43: ; preds = %if.then42, %while.end + %44 = load i64, i64* %len.addr, align 8 + %45 = load i64, i64* %count, align 8 + %sub44 = sub i64 %44, %45 + store i64 %sub44, i64* %retval, align 8 + br label %return + +while.cond46: ; preds = %if.end17, %if.end57 + %46 = load i64, i64* %count, align 8 + %tobool47 = icmp ne i64 %46, 0 + br i1 %tobool47, label %while.body48, label %while.end62 + +while.body48: ; preds = %while.cond46 + %47 = load i8*, i8** %s, align 8 + %48 = load i8, i8* %47, align 1 + %conv49 = zext i8 %48 to i32 + %49 = load i32*, i32** %dst.addr, align 8 + store i32 %conv49, i32* %49, align 4 + %cmp50 = icmp eq i32 %conv49, 0 + br i1 %cmp50, label %if.then52, label %if.end53 + +if.then52: ; preds = %while.body48 + store i8* null, i8** %s, align 8 + br label %while.end62 + +if.end53: ; preds = %while.body48 + %50 = load i32*, i32** %dst.addr, align 8 + %51 = load i32, i32* %50, align 4 + %cmp54 = icmp sge i32 %51, 128 + br i1 %cmp54, label %BAD, label %if.end57 + +BAD: ; preds = %if.end53, %if.then27 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end57: ; preds = %if.end53 + %52 = load i8*, i8** %s, align 8 + %incdec.ptr58 = getelementptr inbounds i8, i8* %52, i32 1 + store i8* %incdec.ptr58, i8** %s, align 8 + %53 = load i32, i32* %incr, align 4 + %54 = load i32*, i32** %dst.addr, align 8 + %idx.ext59 = sext i32 %53 to i64 + %add.ptr60 = getelementptr inbounds i32, i32* %54, i64 %idx.ext59 + store i32* %add.ptr60, i32** %dst.addr, align 8 + %55 = load i64, i64* %count, align 8 + %dec61 = add i64 %55, -1 + store i64 %dec61, i64* %count, align 8 + br label %while.cond46 + +while.end62: ; preds = %if.then52, %while.cond46 + %56 = load i32*, i32** %dst.addr, align 8 + %arraydecay63 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %cmp64 = icmp ne i32* %56, %arraydecay63 + br i1 %cmp64, label %if.then66, label %if.end67 + +if.then66: ; preds = %while.end62 + %57 = load i8*, i8** %s, align 8 + %58 = load i8**, i8*** %src.addr, align 8 + store i8* %57, i8** %58, align 8 + br label %if.end67 + +if.end67: ; preds = %if.then66, %while.end62 + %59 = load i64, i64* %len.addr, align 8 + %60 = load i64, i64* %count, align 8 + %sub68 = sub i64 %59, %60 + store i64 %sub68, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end67, %BAD, %if.end43, %if.then2 + %61 = load i64, i64* %retval, align 8 + ret i64 %61 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @iswctype(i32 %wc, i32 %desc) #0 { +entry: + %wc.addr = alloca i32, align 4 + %desc.addr = alloca i32, align 4 + store i32 %wc, i32* %wc.addr, align 4 + store i32 %desc, i32* %desc.addr, align 4 + %0 = load i32, i32* %wc.addr, align 4 + %1 = load i32, i32* %desc.addr, align 4 + %2 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__curlocale_var, align 8 + %call = call i32 @iswctype_l(i32 %0, i32 %1, %struct.__uclibc_locale_struct.203* %2) #20 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.570* noalias %stream, i32 %oflag) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.570*, align 8 + %oflag.addr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.570* %stream, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + store i32 %oflag, i32* %oflag.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %2 = load i32, i32* %oflag.addr, align 4 + %and = and i32 %conv, %2 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end9, label %if.then + +if.then: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %3, i32 0, i32 0 + %4 = load i16, i16* %__modeflags1, align 8 + %conv2 = zext i16 %4 to i32 + %and3 = and i32 %conv2, 2176 + %tobool4 = icmp ne i32 %and3, 0 + br i1 %tobool4, label %DO_EBADF, label %if.end + +if.end: ; preds = %if.then + %5 = load i32, i32* %oflag.addr, align 4 + %6 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %6, i32 0, i32 0 + %7 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %7 to i32 + %or = or i32 %conv7, %5 + %conv8 = trunc i32 %or to i16 + store i16 %conv8, i16* %__modeflags6, align 8 + br label %if.end9 + +if.end9: ; preds = %if.end, %entry + %8 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags10, align 8 + %conv11 = zext i16 %9 to i32 + %and12 = and i32 %conv11, 32 + %tobool13 = icmp ne i32 %and12, 0 + br i1 %tobool13, label %DO_EBADF, label %if.end19 + +DO_EBADF: ; preds = %if.end9, %if.then + store i32 9, i32* @errno, align 4 + br label %ERROR + +ERROR: ; preds = %land.lhs.true, %DO_EBADF + %10 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags15 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %10, i32 0, i32 0 + %11 = load i16, i16* %__modeflags15, align 8 + %conv16 = zext i16 %11 to i32 + %or17 = or i32 %conv16, 8 + %conv18 = trunc i32 %or17 to i16 + store i16 %conv18, i16* %__modeflags15, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end19: ; preds = %if.end9 + %12 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags20 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags20, align 8 + %conv21 = zext i16 %13 to i32 + %and22 = and i32 %conv21, 3 + %tobool23 = icmp ne i32 %and22, 0 + br i1 %tobool23, label %if.then24, label %if.end50 + +if.then24: ; preds = %if.end19 + %14 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags25 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %14, i32 0, i32 0 + %15 = load i16, i16* %__modeflags25, align 8 + %conv26 = zext i16 %15 to i32 + %and27 = and i32 %conv26, 4 + %tobool28 = icmp ne i32 %and27, 0 + br i1 %tobool28, label %if.end42, label %if.then29 + +if.then29: ; preds = %if.then24 + %16 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %16, i32 0, i32 6 + %17 = load i8*, i8** %__bufread, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %18, i32 0, i32 5 + %19 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %17 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool30 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %tobool30, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then29 + %20 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags31 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %20, i32 0, i32 0 + %21 = load i16, i16* %__modeflags31, align 8 + %conv32 = zext i16 %21 to i32 + %and33 = and i32 %conv32, 2 + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %land.lhs.true, label %if.end42 + +land.lhs.true: ; preds = %lor.lhs.false, %if.then29 + %22 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %23 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags35 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %23, i32 0, i32 0 + %24 = load i16, i16* %__modeflags35, align 8 + %conv36 = zext i16 %24 to i32 + %and37 = and i32 %conv36, 1024 + %tobool38 = icmp ne i32 %and37, 0 + %25 = zext i1 %tobool38 to i64 + %cond = select i1 %tobool38, i32 2, i32 1 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.638*, i64, i32)* @fseek to i32 (%struct.__STDIO_FILE_STRUCT.570*, i64, i32)*)(%struct.__STDIO_FILE_STRUCT.570* %22, i64 0, i32 %cond) #19 + %tobool39 = icmp ne i32 %call, 0 + br i1 %tobool39, label %ERROR, label %if.end42 + +if.end42: ; preds = %lor.lhs.false, %land.lhs.true, %if.then24 + %26 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags43 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %26, i32 0, i32 0 + %27 = load i16, i16* %__modeflags43, align 8 + %conv44 = zext i16 %27 to i32 + %and45 = and i32 %conv44, -4 + %conv46 = trunc i32 %and45 to i16 + store i16 %conv46, i16* %__modeflags43, align 8 + %28 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %28, i32 0, i32 3 + %29 = load i8*, i8** %__bufstart, align 8 + %30 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %30, i32 0, i32 7 + store i8* %29, i8** %__bufgetc_u, align 8 + %31 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufstart47 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %31, i32 0, i32 3 + %32 = load i8*, i8** %__bufstart47, align 8 + %33 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufpos48 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %33, i32 0, i32 5 + store i8* %32, i8** %__bufpos48, align 8 + %34 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufread49 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %34, i32 0, i32 6 + store i8* %32, i8** %__bufread49, align 8 + br label %if.end50 + +if.end50: ; preds = %if.end42, %if.end19 + %35 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags51 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %35, i32 0, i32 0 + %36 = load i16, i16* %__modeflags51, align 8 + %conv52 = zext i16 %36 to i32 + %or53 = or i32 %conv52, 64 + %conv54 = trunc i32 %or53 to i16 + store i16 %conv54, i16* %__modeflags51, align 8 + %37 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags55 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %37, i32 0, i32 0 + %38 = load i16, i16* %__modeflags55, align 8 + %conv56 = zext i16 %38 to i32 + %and57 = and i32 %conv56, 2816 + %tobool58 = icmp ne i32 %and57, 0 + br i1 %tobool58, label %if.end60, label %if.then59 + +if.then59: ; preds = %if.end50 + %39 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %39, i32 0, i32 4 + %40 = load i8*, i8** %__bufend, align 8 + %41 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %41, i32 0, i32 8 + store i8* %40, i8** %__bufputc_u, align 8 + br label %if.end60 + +if.end60: ; preds = %if.then59, %if.end50 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end60, %ERROR + %42 = load i32, i32* %retval, align 4 + ret i32 %42 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fseeko64(%struct.__STDIO_FILE_STRUCT.638* %stream, i64 %offset, i32 %whence) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.638*, align 8 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + %pos = alloca i64, align 8 + %retval1 = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.638* %stream, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i64, i64* %offset.addr, align 8 + store i64 %0, i64* %pos, align 8 + store i32 -1, i32* %retval1, align 4 + %1 = load i32, i32* %whence.addr, align 4 + %cmp = icmp ugt i32 %1, 2 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + store i32 22, i32* @errno, align 4 + br label %if.end20 + +if.else: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.638, %struct.__STDIO_FILE_STRUCT.638* %2, i32 0, i32 0 + %3 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %3 to i32 + %and = and i32 %conv, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %lor.lhs.false, label %land.lhs.true + +lor.lhs.false: ; preds = %if.else + %4 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %call = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.570*)* @__stdio_wcommit to i64 (%struct.__STDIO_FILE_STRUCT.638*)*)(%struct.__STDIO_FILE_STRUCT.638* %4) #19 + %tobool2 = icmp ne i64 %call, 0 + br i1 %tobool2, label %if.end20, label %land.lhs.true + +land.lhs.true: ; preds = %lor.lhs.false, %if.else + %5 = load i32, i32* %whence.addr, align 4 + %cmp3 = icmp ne i32 %5, 1 + br i1 %cmp3, label %land.lhs.true9, label %lor.lhs.false5 + +lor.lhs.false5: ; preds = %land.lhs.true + %6 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %call6 = call i32 @__stdio_adjust_position(%struct.__STDIO_FILE_STRUCT.638* %6, i64* %pos) #19 + %cmp7 = icmp sge i32 %call6, 0 + br i1 %cmp7, label %land.lhs.true9, label %if.end20 + +land.lhs.true9: ; preds = %lor.lhs.false5, %land.lhs.true + %7 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %8 = load i32, i32* %whence.addr, align 4 + %call10 = call i32 @__stdio_seek(%struct.__STDIO_FILE_STRUCT.638* %7, i64* %pos, i32 %8) #19 + %cmp11 = icmp sge i32 %call10, 0 + br i1 %cmp11, label %if.then13, label %if.end20 + +if.then13: ; preds = %land.lhs.true9 + %9 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %__modeflags14 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.638, %struct.__STDIO_FILE_STRUCT.638* %9, i32 0, i32 0 + %10 = load i16, i16* %__modeflags14, align 8 + %conv15 = zext i16 %10 to i32 + %and16 = and i32 %conv15, -72 + %conv17 = trunc i32 %and16 to i16 + store i16 %conv17, i16* %__modeflags14, align 8 + %11 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.638, %struct.__STDIO_FILE_STRUCT.638* %11, i32 0, i32 3 + %12 = load i8*, i8** %__bufstart, align 8 + %13 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.638, %struct.__STDIO_FILE_STRUCT.638* %13, i32 0, i32 5 + store i8* %12, i8** %__bufpos, align 8 + %14 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.638, %struct.__STDIO_FILE_STRUCT.638* %14, i32 0, i32 6 + store i8* %12, i8** %__bufread, align 8 + %15 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %__bufstart18 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.638, %struct.__STDIO_FILE_STRUCT.638* %15, i32 0, i32 3 + %16 = load i8*, i8** %__bufstart18, align 8 + %17 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.638, %struct.__STDIO_FILE_STRUCT.638* %17, i32 0, i32 7 + store i8* %16, i8** %__bufgetc_u, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %__bufstart19 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.638, %struct.__STDIO_FILE_STRUCT.638* %18, i32 0, i32 3 + %19 = load i8*, i8** %__bufstart19, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.638, %struct.__STDIO_FILE_STRUCT.638* %20, i32 0, i32 8 + store i8* %19, i8** %__bufputc_u, align 8 + %21 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.638, %struct.__STDIO_FILE_STRUCT.638* %21, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.514, %struct.__mbstate_t.514* %__state, i32 0, i32 0 + store i32 0, i32* %__mask, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.638, %struct.__STDIO_FILE_STRUCT.638* %22, i32 0, i32 1 + %arrayidx = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 0 + store i8 0, i8* %arrayidx, align 2 + store i32 0, i32* %retval1, align 4 + br label %if.end20 + +if.end20: ; preds = %lor.lhs.false, %lor.lhs.false5, %land.lhs.true9, %if.then13, %if.then + %23 = load i32, i32* %retval1, align 4 + ret i32 %23 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @fwrite_unlocked(i8* noalias %ptr, i64 %size, i64 %nmemb, %struct.__STDIO_FILE_STRUCT.623* noalias %stream) #0 { +entry: + %retval = alloca i64, align 8 + %ptr.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %nmemb.addr = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.623*, align 8 + store i8* %ptr, i8** %ptr.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + store i64 %nmemb, i64* %nmemb.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.623* %stream, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.623*, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.623, %struct.__STDIO_FILE_STRUCT.623* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 192 + %cmp = icmp eq i32 %and, 192 + br i1 %cmp, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.623*, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.570*, i32)* @__stdio_trans2w_o to i32 (%struct.__STDIO_FILE_STRUCT.623*, i32)*)(%struct.__STDIO_FILE_STRUCT.623* %2, i32 128) #19 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end13, label %land.lhs.true + +land.lhs.true: ; preds = %lor.lhs.false, %entry + %3 = load i64, i64* %size.addr, align 8 + %tobool2 = icmp ne i64 %3, 0 + %4 = load i64, i64* %nmemb.addr, align 8 + %tobool4 = icmp ne i64 %4, 0 + %or.cond = and i1 %tobool2, %tobool4 + br i1 %or.cond, label %if.then, label %if.end13 + +if.then: ; preds = %land.lhs.true + %5 = load i64, i64* %nmemb.addr, align 8 + %6 = load i64, i64* %size.addr, align 8 + %div = udiv i64 -1, %6 + %cmp5 = icmp ule i64 %5, %div + br i1 %cmp5, label %if.then7, label %if.end + +if.then7: ; preds = %if.then + %7 = load i8*, i8** %ptr.addr, align 8 + %8 = load i64, i64* %size.addr, align 8 + %9 = load i64, i64* %nmemb.addr, align 8 + %mul = mul i64 %8, %9 + %10 = load %struct.__STDIO_FILE_STRUCT.623*, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %call8 = call i64 @__stdio_fwrite(i8* %7, i64 %mul, %struct.__STDIO_FILE_STRUCT.623* %10) #19 + %11 = load i64, i64* %size.addr, align 8 + %div9 = udiv i64 %call8, %11 + store i64 %div9, i64* %retval, align 8 + br label %return + +if.end: ; preds = %if.then + %12 = load %struct.__STDIO_FILE_STRUCT.623*, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %__modeflags10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.623, %struct.__STDIO_FILE_STRUCT.623* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags10, align 8 + %conv11 = zext i16 %13 to i32 + %or = or i32 %conv11, 8 + %conv12 = trunc i32 %or to i16 + store i16 %conv12, i16* %__modeflags10, align 8 + store i32 22, i32* @errno, align 4 + br label %if.end13 + +if.end13: ; preds = %if.end, %land.lhs.true, %lor.lhs.false + store i64 0, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end13, %if.then7 + %14 = load i64, i64* %retval, align 8 + ret i64 %14 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.570* noalias %stream, i8* noalias %format, %struct.__va_list_tag.2* %arg) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.570*, align 8 + %format.addr = alloca i8*, align 8 + %arg.addr = alloca %struct.__va_list_tag.2*, align 8 + %ppfs = alloca %struct.ppfs_t.724, align 8 + %count = alloca i32, align 4 + %r = alloca i32, align 4 + %s = alloca i8*, align 8 + store %struct.__STDIO_FILE_STRUCT.570* %stream, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + store %struct.__va_list_tag.2* %arg, %struct.__va_list_tag.2** %arg.addr, align 8 + store i32 0, i32* %count, align 4 + %0 = load i8*, i8** %format.addr, align 8 + store i8* %0, i8** %s, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %1, i32 0, i32 0 + %2 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %2 to i32 + %and = and i32 %conv, 192 + %cmp = icmp eq i32 %and, 192 + br i1 %cmp, label %if.else, label %land.lhs.true + +land.lhs.true: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %call = call i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.570* %3, i32 128) #19 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %land.lhs.true + store i32 -1, i32* %count, align 4 + br label %if.end65 + +if.else: ; preds = %land.lhs.true, %entry + %4 = load i8*, i8** %format.addr, align 8 + %call2 = call i32 @_ppfs_init(%struct.ppfs_t.724* %ppfs, i8* %4) #19 + %cmp3 = icmp slt i32 %call2, 0 + br i1 %cmp3, label %if.then5, label %if.else13 + +if.then5: ; preds = %if.else + %fmtpos = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %ppfs, i32 0, i32 0 + %5 = load i8*, i8** %fmtpos, align 8 + %call6 = call i64 @strlen(i8* %5) #21 + %cmp7 = icmp ugt i64 %call6, 0 + br i1 %cmp7, label %cond.true, label %cond.end + +cond.true: ; preds = %if.then5 + %fmtpos9 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %ppfs, i32 0, i32 0 + %6 = load i8*, i8** %fmtpos9, align 8 + %fmtpos10 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %ppfs, i32 0, i32 0 + %7 = load i8*, i8** %fmtpos10, align 8 + %call11 = call i64 @strlen(i8* %7) #21 + %8 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %call12 = call i64 bitcast (i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.623*)* @__stdio_fwrite to i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.570*)*)(i8* %6, i64 %call11, %struct.__STDIO_FILE_STRUCT.570* %8) #19 + br label %cond.end + +cond.end: ; preds = %if.then5, %cond.true + %cond = phi i64 [ %call12, %cond.true ], [ 0, %if.then5 ] + store i32 -1, i32* %count, align 4 + br label %if.end65 + +if.else13: ; preds = %if.else + %9 = load %struct.__va_list_tag.2*, %struct.__va_list_tag.2** %arg.addr, align 8 + call void @_ppfs_prepargs(%struct.ppfs_t.724* %ppfs, %struct.__va_list_tag.2* %9) #19 + br label %do.body + +do.body: ; preds = %do.cond, %if.else13 + br label %while.cond + +while.cond: ; preds = %while.body, %do.body + %10 = load i8*, i8** %format.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv14 = sext i8 %11 to i32 + %tobool15 = icmp ne i32 %conv14, 0 + br i1 %tobool15, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %12 = load i8*, i8** %format.addr, align 8 + %13 = load i8, i8* %12, align 1 + %conv16 = sext i8 %13 to i32 + %cmp17 = icmp ne i32 %conv16, 37 + br label %land.end + +land.end: ; preds = %land.rhs, %while.cond + %14 = phi i1 [ false, %while.cond ], [ %cmp17, %land.rhs ] + %15 = load i8*, i8** %format.addr, align 8 + br i1 %14, label %while.body, label %while.end + +while.body: ; preds = %land.end + %incdec.ptr = getelementptr inbounds i8, i8* %15, i32 1 + store i8* %incdec.ptr, i8** %format.addr, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %16 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %15 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %16 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool19 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %tobool19, label %if.then20, label %if.end42 + +if.then20: ; preds = %while.end + %17 = load i8*, i8** %format.addr, align 8 + %18 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast21 = ptrtoint i8* %17 to i64 + %sub.ptr.rhs.cast22 = ptrtoint i8* %18 to i64 + %sub.ptr.sub23 = sub i64 %sub.ptr.lhs.cast21, %sub.ptr.rhs.cast22 + %cmp24 = icmp sgt i64 %sub.ptr.sub23, 0 + br i1 %cmp24, label %cond.true26, label %cond.end32 + +cond.true26: ; preds = %if.then20 + %19 = load i8*, i8** %s, align 8 + %20 = load i8*, i8** %format.addr, align 8 + %21 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast27 = ptrtoint i8* %20 to i64 + %sub.ptr.rhs.cast28 = ptrtoint i8* %21 to i64 + %sub.ptr.sub29 = sub i64 %sub.ptr.lhs.cast27, %sub.ptr.rhs.cast28 + %22 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %call30 = call i64 bitcast (i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.623*)* @__stdio_fwrite to i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.570*)*)(i8* %19, i64 %sub.ptr.sub29, %struct.__STDIO_FILE_STRUCT.570* %22) #19 + br label %cond.end32 + +cond.end32: ; preds = %if.then20, %cond.true26 + %cond33 = phi i64 [ %call30, %cond.true26 ], [ 0, %if.then20 ] + %conv34 = trunc i64 %cond33 to i32 + store i32 %conv34, i32* %r, align 4 + %conv35 = sext i32 %conv34 to i64 + %23 = load i8*, i8** %format.addr, align 8 + %24 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast36 = ptrtoint i8* %23 to i64 + %sub.ptr.rhs.cast37 = ptrtoint i8* %24 to i64 + %sub.ptr.sub38 = sub i64 %sub.ptr.lhs.cast36, %sub.ptr.rhs.cast37 + %cmp39 = icmp ne i64 %conv35, %sub.ptr.sub38 + br i1 %cmp39, label %if.then41, label %if.end + +if.then41: ; preds = %cond.end32 + store i32 -1, i32* %count, align 4 + br label %do.end + +if.end: ; preds = %cond.end32 + %25 = load i32, i32* %r, align 4 + %26 = load i32, i32* %count, align 4 + %add = add nsw i32 %26, %25 + store i32 %add, i32* %count, align 4 + br label %if.end42 + +if.end42: ; preds = %if.end, %while.end + %27 = load i8*, i8** %format.addr, align 8 + %28 = load i8, i8* %27, align 1 + %tobool43 = icmp ne i8 %28, 0 + br i1 %tobool43, label %if.end45, label %do.end + +if.end45: ; preds = %if.end42 + %29 = load i8*, i8** %format.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %29, i64 1 + %30 = load i8, i8* %arrayidx, align 1 + %conv46 = sext i8 %30 to i32 + %cmp47 = icmp ne i32 %conv46, 37 + %31 = load i8*, i8** %format.addr, align 8 + %incdec.ptr50 = getelementptr inbounds i8, i8* %31, i32 1 + store i8* %incdec.ptr50, i8** %format.addr, align 8 + br i1 %cmp47, label %if.then49, label %if.else58 + +if.then49: ; preds = %if.end45 + %fmtpos51 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %ppfs, i32 0, i32 0 + store i8* %incdec.ptr50, i8** %fmtpos51, align 8 + %32 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %call52 = call i32 @_do_one_spec(%struct.__STDIO_FILE_STRUCT.570* %32, %struct.ppfs_t.724* %ppfs, i32* %count) #19 + store i32 %call52, i32* %r, align 4 + %cmp53 = icmp slt i32 %call52, 0 + br i1 %cmp53, label %if.then55, label %if.end56 + +if.then55: ; preds = %if.then49 + store i32 -1, i32* %count, align 4 + br label %do.end + +if.end56: ; preds = %if.then49 + %fmtpos57 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %ppfs, i32 0, i32 0 + %33 = load i8*, i8** %fmtpos57, align 8 + store i8* %33, i8** %format.addr, align 8 + store i8* %33, i8** %s, align 8 + br label %do.cond + +if.else58: ; preds = %if.end45 + store i8* %incdec.ptr50, i8** %s, align 8 + %34 = load i8*, i8** %format.addr, align 8 + %incdec.ptr60 = getelementptr inbounds i8, i8* %34, i32 1 + store i8* %incdec.ptr60, i8** %format.addr, align 8 + br label %do.cond + +do.cond: ; preds = %if.end56, %if.else58 + br label %do.body + +do.end: ; preds = %if.end42, %if.then55, %if.then41 + %arg62 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %ppfs, i32 0, i32 7 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %arg62, i64 0, i64 0 + %arraydecay63 = bitcast %struct.__va_list_tag.2* %arraydecay to i8* + call void @llvm.va_end(i8* %arraydecay63) + br label %if.end65 + +if.end65: ; preds = %cond.end, %do.end, %if.then + %35 = load i32, i32* %count, align 4 + ret i32 %35 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_do_one_spec(%struct.__STDIO_FILE_STRUCT.570* noalias %stream, %struct.ppfs_t.724* %ppfs, i32* %count) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.570*, align 8 + %ppfs.addr = alloca %struct.ppfs_t.724*, align 8 + %count.addr = alloca i32*, align 8 + %argptr = alloca [1 x i8*], align 8 + %argtype = alloca i32*, align 8 + %ws = alloca i32*, align 8 + %mbstate = alloca %struct.__mbstate_t.514, align 4 + %slen = alloca i64, align 8 + %base = alloca i32, align 4 + %numpad = alloca i32, align 4 + %alphacase = alloca i32, align 4 + %numfill = alloca i32, align 4 + %prefix_num = alloca i32, align 4 + %padchar = alloca i8, align 1 + %buf = alloca [128 x i8], align 16 + %p = alloca %union.anon.195*, align 8 + %i = alloca i32, align 4 + %s = alloca i8*, align 8 + %nf = alloca i64, align 8 + %t = alloca i64, align 8 + %t351 = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.570* %stream, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + store %struct.ppfs_t.724* %ppfs, %struct.ppfs_t.724** %ppfs.addr, align 8 + store i32* %count, i32** %count.addr, align 8 + store i32* null, i32** %ws, align 8 + store i32 0, i32* %numfill, align 4 + store i32 11, i32* %prefix_num, align 4 + store i8 32, i8* %padchar, align 1 + %0 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %call = call i32 @_ppfs_parsespec(%struct.ppfs_t.724* %0) #19 + %1 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + call void @_ppfs_setargs(%struct.ppfs_t.724* %1) #19 + %2 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %argtype1 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %2, i32 0, i32 6 + %arraydecay = getelementptr inbounds [9 x i32], [9 x i32]* %argtype1, i64 0, i64 0 + %3 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %argnumber = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %3, i32 0, i32 5 + %arrayidx = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber, i64 0, i64 2 + %4 = load i8, i8* %arrayidx, align 2 + %conv = zext i8 %4 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds i32, i32* %arraydecay, i64 %idx.ext + %add.ptr2 = getelementptr inbounds i32, i32* %add.ptr, i64 -1 + store i32* %add.ptr2, i32** %argtype, align 8 + %5 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %argvalue = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %5, i32 0, i32 8 + %arraydecay3 = getelementptr inbounds [9 x %union.anon.195], [9 x %union.anon.195]* %argvalue, i64 0, i64 0 + store %union.anon.195* %arraydecay3, %union.anon.195** %p, align 8 + %6 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %6, i32 0, i32 2 + %7 = load i32, i32* %maxposarg, align 4 + %cmp = icmp sgt i32 %7, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %8 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %argnumber5 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %8, i32 0, i32 5 + %arrayidx6 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber5, i64 0, i64 2 + %9 = load i8, i8* %arrayidx6, align 2 + %conv7 = zext i8 %9 to i32 + %sub = sub nsw i32 %conv7, 1 + %10 = load %union.anon.195*, %union.anon.195** %p, align 8 + %idx.ext8 = sext i32 %sub to i64 + %add.ptr9 = getelementptr inbounds %union.anon.195, %union.anon.195* %10, i64 %idx.ext8 + store %union.anon.195* %add.ptr9, %union.anon.195** %p, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %11 = load i32, i32* %i, align 4 + %12 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %12, i32 0, i32 3 + %13 = load i32, i32* %num_data_args, align 8 + %cmp10 = icmp slt i32 %11, %13 + br i1 %cmp10, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %14 = load %union.anon.195*, %union.anon.195** %p, align 8 + %incdec.ptr = getelementptr inbounds %union.anon.195, %union.anon.195* %14, i32 1 + store %union.anon.195* %incdec.ptr, %union.anon.195** %p, align 8 + %15 = bitcast %union.anon.195* %14 to i8* + %16 = load i32, i32* %i, align 4 + %idxprom = sext i32 %16 to i64 + %arrayidx12 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 %idxprom + store i8* %15, i8** %arrayidx12, align 8 + %17 = load i32, i32* %i, align 4 + %inc = add nsw i32 %17, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + store i8* null, i8** %s, align 8 + %18 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %conv_num = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %18, i32 0, i32 4 + %19 = load i32, i32* %conv_num, align 4 + %cmp13 = icmp eq i32 %19, 0 + br i1 %cmp13, label %if.then15, label %if.end18 + +if.then15: ; preds = %for.end + %arraydecay16 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %20 = load i8*, i8** %arraydecay16, align 8 + %21 = bitcast i8* %20 to i8** + %22 = load i8*, i8** %21, align 8 + %23 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %23, i32 0, i32 1 + %_flags = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info, i32 0, i32 3 + %24 = load i32, i32* %_flags, align 4 + %and = and i32 %24, 3840 + %25 = load i32*, i32** %count.addr, align 8 + %26 = load i32, i32* %25, align 4 + %conv17 = sext i32 %26 to i64 + call void @_store_inttype(i8* %22, i32 %and, i64 %conv17) #19 + store i32 0, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %for.end + %27 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %conv_num19 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %27, i32 0, i32 4 + %28 = load i32, i32* %conv_num19, align 4 + %cmp20 = icmp ule i32 %28, 7 + br i1 %cmp20, label %if.then22, label %if.else179 + +if.then22: ; preds = %if.end18 + store i32 87, i32* %alphacase, align 4 + %29 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %conv_num23 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %29, i32 0, i32 4 + %30 = load i32, i32* %conv_num23, align 4 + %sub24 = sub i32 %30, 1 + %idxprom25 = sext i32 %sub24 to i64 + %arrayidx26 = getelementptr inbounds [7 x i8], [7 x i8]* @_do_one_spec.spec_base, i64 0, i64 %idxprom25 + %31 = load i8, i8* %arrayidx26, align 1 + %conv27 = sext i8 %31 to i32 + store i32 %conv27, i32* %base, align 4 + %cmp28 = icmp eq i32 %conv27, 10 + br i1 %cmp28, label %if.then30, label %if.end42 + +if.then30: ; preds = %if.then22 + %32 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info31 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %32, i32 0, i32 1 + %_flags32 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info31, i32 0, i32 3 + %33 = load i32, i32* %_flags32, align 4 + %and33 = and i32 %33, 32 + %tobool = icmp ne i32 %and33, 0 + br i1 %tobool, label %if.then34, label %if.end35 + +if.then34: ; preds = %if.then30 + store i32 44, i32* %alphacase, align 4 + br label %if.end35 + +if.end35: ; preds = %if.then34, %if.then30 + %34 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info36 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %34, i32 0, i32 1 + %_flags37 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info36, i32 0, i32 3 + %35 = load i32, i32* %_flags37, align 4 + %and38 = and i32 %35, 64 + %tobool39 = icmp ne i32 %and38, 0 + br i1 %tobool39, label %if.then40, label %if.end42 + +if.then40: ; preds = %if.end35 + %36 = load i32, i32* %alphacase, align 4 + %or = or i32 %36, 128 + store i32 %or, i32* %alphacase, align 4 + br label %if.end42 + +if.end42: ; preds = %if.end35, %if.then40, %if.then22 + %37 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %conv_num43 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %37, i32 0, i32 4 + %38 = load i32, i32* %conv_num43, align 4 + %cmp44 = icmp ule i32 %38, 5 + br i1 %cmp44, label %if.then46, label %if.else57 + +if.then46: ; preds = %if.end42 + %39 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %conv_num47 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %39, i32 0, i32 4 + %40 = load i32, i32* %conv_num47, align 4 + %cmp48 = icmp eq i32 %40, 3 + br i1 %cmp48, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.then46 + store i32 55, i32* %alphacase, align 4 + br label %if.end51 + +if.end51: ; preds = %if.then50, %if.then46 + %41 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %conv_num52 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %41, i32 0, i32 4 + %42 = load i32, i32* %conv_num52, align 4 + %cmp53 = icmp eq i32 %42, 1 + br i1 %cmp53, label %if.then55, label %if.end59 + +if.then55: ; preds = %if.end51 + store i32 6, i32* %prefix_num, align 4 + br label %if.end59 + +if.else57: ; preds = %if.end42 + %43 = load i32, i32* %base, align 4 + %sub58 = sub nsw i32 0, %43 + store i32 %sub58, i32* %base, align 4 + br label %if.end59 + +if.end59: ; preds = %if.then55, %if.end51, %if.else57 + %44 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info60 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %44, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info60, i32 0, i32 0 + %45 = load i32, i32* %prec, align 8 + %cmp61 = icmp slt i32 %45, 0 + br i1 %cmp61, label %if.then63, label %if.end66 + +if.then63: ; preds = %if.end59 + %46 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info64 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %46, i32 0, i32 1 + %pad = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info64, i32 0, i32 4 + %47 = load i32, i32* %pad, align 8 + %conv65 = trunc i32 %47 to i8 + store i8 %conv65, i8* %padchar, align 1 + br label %if.end66 + +if.end66: ; preds = %if.then63, %if.end59 + %arraydecay67 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %add.ptr68 = getelementptr inbounds i8, i8* %arraydecay67, i64 128 + %add.ptr69 = getelementptr inbounds i8, i8* %add.ptr68, i64 -1 + %48 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %conv_num70 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %48, i32 0, i32 4 + %49 = load i32, i32* %conv_num70, align 4 + %cmp71 = icmp eq i32 %49, 1 + br i1 %cmp71, label %cond.end, label %cond.false + +cond.false: ; preds = %if.end66 + %50 = load i32*, i32** %argtype, align 8 + %51 = load i32, i32* %50, align 4 + %and73 = and i32 %51, 3840 + br label %cond.end + +cond.end: ; preds = %if.end66, %cond.false + %cond = phi i32 [ %and73, %cond.false ], [ 1024, %if.end66 ] + %arraydecay74 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %52 = load i8*, i8** %arraydecay74, align 8 + %53 = load i32, i32* %base, align 4 + %call75 = call i64 @_load_inttype(i32 %cond, i8* %52, i32 %53) #19 + %54 = load i32, i32* %base, align 4 + %55 = load i32, i32* %alphacase, align 4 + %call76 = call i8* @_uintmaxtostr(i8* %add.ptr69, i64 %call75, i32 %54, i32 %55) #19 + store i8* %call76, i8** %s, align 8 + %56 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %conv_num77 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %56, i32 0, i32 4 + %57 = load i32, i32* %conv_num77, align 4 + %cmp78 = icmp ugt i32 %57, 5 + br i1 %cmp78, label %if.then80, label %if.end104 + +if.then80: ; preds = %cond.end + %58 = load i8*, i8** %s, align 8 + %59 = load i8, i8* %58, align 1 + %conv81 = sext i8 %59 to i32 + %cmp82 = icmp eq i32 %conv81, 45 + %60 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info85 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %60, i32 0, i32 1 + %_flags86 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info85, i32 0, i32 3 + %61 = load i32, i32* %_flags86, align 4 + br i1 %cmp82, label %if.then84, label %if.else89 + +if.then84: ; preds = %if.then80 + %or87 = or i32 %61, 2 + store i32 %or87, i32* %_flags86, align 4 + %62 = load i8*, i8** %s, align 8 + %incdec.ptr88 = getelementptr inbounds i8, i8* %62, i32 1 + store i8* %incdec.ptr88, i8** %s, align 8 + store i32 2, i32* %prefix_num, align 4 + br label %if.end104 + +if.else89: ; preds = %if.then80 + %and92 = and i32 %61, 2 + %tobool93 = icmp ne i32 %and92, 0 + br i1 %tobool93, label %if.then94, label %if.else95 + +if.then94: ; preds = %if.else89 + store i32 0, i32* %prefix_num, align 4 + br label %if.end104 + +if.else95: ; preds = %if.else89 + %63 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info96 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %63, i32 0, i32 1 + %_flags97 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info96, i32 0, i32 3 + %64 = load i32, i32* %_flags97, align 4 + %and98 = and i32 %64, 1 + %tobool99 = icmp ne i32 %and98, 0 + br i1 %tobool99, label %if.then100, label %if.end104 + +if.then100: ; preds = %if.else95 + store i32 4, i32* %prefix_num, align 4 + br label %if.end104 + +if.end104: ; preds = %if.then84, %if.else95, %if.then100, %if.then94, %cond.end + %arraydecay105 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %add.ptr106 = getelementptr inbounds i8, i8* %arraydecay105, i64 128 + %add.ptr107 = getelementptr inbounds i8, i8* %add.ptr106, i64 -1 + %65 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %add.ptr107 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %65 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %slen, align 8 + %66 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info108 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %66, i32 0, i32 1 + %prec109 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info108, i32 0, i32 0 + %67 = load i32, i32* %prec109, align 8 + %cmp110 = icmp slt i32 %67, 0 + br i1 %cmp110, label %cond.end116, label %cond.false113 + +cond.false113: ; preds = %if.end104 + %68 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info114 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %68, i32 0, i32 1 + %prec115 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info114, i32 0, i32 0 + %69 = load i32, i32* %prec115, align 8 + br label %cond.end116 + +cond.end116: ; preds = %if.end104, %cond.false113 + %cond117 = phi i32 [ %69, %cond.false113 ], [ 1, %if.end104 ] + store i32 %cond117, i32* %numfill, align 4 + %70 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info118 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %70, i32 0, i32 1 + %_flags119 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info118, i32 0, i32 3 + %71 = load i32, i32* %_flags119, align 4 + %and120 = and i32 %71, 16 + %tobool121 = icmp ne i32 %and120, 0 + br i1 %tobool121, label %if.then122, label %if.end149 + +if.then122: ; preds = %cond.end116 + %72 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %conv_num123 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %72, i32 0, i32 4 + %73 = load i32, i32* %conv_num123, align 4 + %cmp124 = icmp ule i32 %73, 2 + br i1 %cmp124, label %if.then126, label %if.end127 + +if.then126: ; preds = %if.then122 + store i32 6, i32* %prefix_num, align 4 + br label %if.end127 + +if.end127: ; preds = %if.then126, %if.then122 + %74 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %conv_num128 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %74, i32 0, i32 4 + %75 = load i32, i32* %conv_num128, align 4 + %cmp129 = icmp eq i32 %75, 3 + br i1 %cmp129, label %if.then131, label %if.end132 + +if.then131: ; preds = %if.end127 + store i32 9, i32* %prefix_num, align 4 + br label %if.end132 + +if.end132: ; preds = %if.then131, %if.end127 + %76 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %conv_num133 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %76, i32 0, i32 4 + %77 = load i32, i32* %conv_num133, align 4 + %cmp134 = icmp eq i32 %77, 4 + br i1 %cmp134, label %land.lhs.true, label %if.end149 + +land.lhs.true: ; preds = %if.end132 + %78 = load i32, i32* %numfill, align 4 + %conv136 = sext i32 %78 to i64 + %79 = load i64, i64* %slen, align 8 + %cmp137 = icmp ule i64 %conv136, %79 + br i1 %cmp137, label %if.then139, label %if.end149 + +if.then139: ; preds = %land.lhs.true + %80 = load i8*, i8** %s, align 8 + %81 = load i8, i8* %80, align 1 + %conv140 = sext i8 %81 to i32 + %cmp141 = icmp eq i32 %conv140, 48 + %82 = load i64, i64* %slen, align 8 + %add = add i64 %82, 1 + %cond146 = select i1 %cmp141, i64 1, i64 %add + %conv147 = trunc i64 %cond146 to i32 + store i32 %conv147, i32* %numfill, align 4 + br label %if.end149 + +if.end149: ; preds = %if.end132, %land.lhs.true, %if.then139, %cond.end116 + %83 = load i8*, i8** %s, align 8 + %84 = load i8, i8* %83, align 1 + %conv150 = sext i8 %84 to i32 + %cmp151 = icmp eq i32 %conv150, 48 + br i1 %cmp151, label %if.then153, label %if.end168 + +if.then153: ; preds = %if.end149 + %85 = load i32, i32* %prefix_num, align 4 + %cmp154 = icmp sge i32 %85, 6 + br i1 %cmp154, label %if.then156, label %if.end157 + +if.then156: ; preds = %if.then153 + store i32 11, i32* %prefix_num, align 4 + br label %if.end157 + +if.end157: ; preds = %if.then156, %if.then153 + %86 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %conv_num158 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %86, i32 0, i32 4 + %87 = load i32, i32* %conv_num158, align 4 + %cmp159 = icmp eq i32 %87, 1 + br i1 %cmp159, label %if.then161, label %if.else162 + +if.then161: ; preds = %if.end157 + store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.341, i64 0, i64 0), i8** %s, align 8 + store i64 5, i64* %slen, align 8 + store i32 0, i32* %numfill, align 4 + br label %if.end168 + +if.else162: ; preds = %if.end157 + %88 = load i32, i32* %numfill, align 4 + %cmp163 = icmp eq i32 %88, 0 + br i1 %cmp163, label %if.then165, label %if.end168 + +if.then165: ; preds = %if.else162 + store i64 0, i64* %slen, align 8 + br label %if.end168 + +if.end168: ; preds = %if.then161, %if.then165, %if.else162, %if.end149 + %89 = load i32, i32* %numfill, align 4 + %conv169 = sext i32 %89 to i64 + %90 = load i64, i64* %slen, align 8 + %cmp170 = icmp ugt i64 %conv169, %90 + %91 = load i32, i32* %numfill, align 4 + %conv173 = sext i32 %91 to i64 + %92 = load i64, i64* %slen, align 8 + %sub174 = sub i64 %conv173, %92 + %cond177 = select i1 %cmp170, i64 %sub174, i64 0 + %conv178 = trunc i64 %cond177 to i32 + store i32 %conv178, i32* %numfill, align 4 + br label %if.end278 + +if.else179: ; preds = %if.end18 + %93 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %conv_num180 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %93, i32 0, i32 4 + %94 = load i32, i32* %conv_num180, align 4 + %cmp181 = icmp ule i32 %94, 15 + br i1 %cmp181, label %if.then183, label %if.else203 + +if.then183: ; preds = %if.else179 + %95 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %arraydecay189 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %96 = load i8*, i8** %arraydecay189, align 8 + %97 = bitcast i8* %96 to double* + %98 = load double, double* %97, align 8 + %99 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info194 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %99, i32 0, i32 1 + %call195 = call i64 @_fpmaxtostr(%struct.__STDIO_FILE_STRUCT.570* %95, double %98, %struct.printf_info.722* %info194, i64 (%struct.__STDIO_FILE_STRUCT.570*, i64, i64, i64)* @_fp_out_narrow) #19 + store i64 %call195, i64* %nf, align 8 + %100 = load i64, i64* %nf, align 8 + %cmp196 = icmp slt i64 %100, 0 + br i1 %cmp196, label %if.then198, label %if.end199 + +if.then198: ; preds = %if.then183 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end199: ; preds = %if.then183 + %101 = load i64, i64* %nf, align 8 + %102 = load i32*, i32** %count.addr, align 8 + %103 = load i32, i32* %102, align 4 + %conv200 = sext i32 %103 to i64 + %add201 = add nsw i64 %conv200, %101 + %conv202 = trunc i64 %add201 to i32 + store i32 %conv202, i32* %102, align 4 + store i32 0, i32* %retval, align 4 + br label %return + +if.else203: ; preds = %if.else179 + %104 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %conv_num204 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %104, i32 0, i32 4 + %105 = load i32, i32* %conv_num204, align 4 + %cmp205 = icmp ule i32 %105, 17 + br i1 %cmp205, label %if.then207, label %if.else242 + +if.then207: ; preds = %if.else203 + %__mask = getelementptr inbounds %struct.__mbstate_t.514, %struct.__mbstate_t.514* %mbstate, i32 0, i32 0 + store i32 0, i32* %__mask, align 4 + %106 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %conv_num208 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %106, i32 0, i32 4 + %107 = load i32, i32* %conv_num208, align 4 + %cmp209 = icmp eq i32 %107, 17 + br i1 %cmp209, label %if.then211, label %if.else232 + +if.then211: ; preds = %if.then207 + %arraydecay212 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %108 = load i8*, i8** %arraydecay212, align 8 + %109 = bitcast i8* %108 to i32** + %110 = load i32*, i32** %109, align 8 + store i32* %110, i32** %ws, align 8 + %tobool213 = icmp ne i32* %110, null + br i1 %tobool213, label %if.end215, label %NULL_STRING + +if.end215: ; preds = %if.then211 + %111 = bitcast i32** %ws to i8* + %112 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info216 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %112, i32 0, i32 1 + %prec217 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info216, i32 0, i32 0 + %113 = load i32, i32* %prec217, align 8 + %cmp218 = icmp sge i32 %113, 0 + br i1 %cmp218, label %cond.true220, label %cond.end225 + +cond.true220: ; preds = %if.end215 + %114 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info221 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %114, i32 0, i32 1 + %prec222 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info221, i32 0, i32 0 + %115 = load i32, i32* %prec222, align 8 + %conv223 = sext i32 %115 to i64 + br label %cond.end225 + +cond.end225: ; preds = %if.end215, %cond.true220 + %cond226 = phi i64 [ %conv223, %cond.true220 ], [ -1, %if.end215 ] + %call227 = call i64 @wcsrtombs(i8* %111, i32** %ws, i64 %cond226, %struct.__mbstate_t.514* %mbstate) #20 + store i64 %call227, i64* %slen, align 8 + %cmp228 = icmp eq i64 %call227, -1 + br i1 %cmp228, label %if.then230, label %if.end278 + +if.then230: ; preds = %cond.end225 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else232: ; preds = %if.then207 + %arraydecay233 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay233, i8** %s, align 8 + %116 = load i8*, i8** %s, align 8 + %arraydecay234 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %117 = load i8*, i8** %arraydecay234, align 8 + %118 = bitcast i8* %117 to i32* + %119 = load i32, i32* %118, align 4 + %call235 = call i64 @wcrtomb(i8* %116, i32 %119, %struct.__mbstate_t.514* %mbstate) #20 + store i64 %call235, i64* %slen, align 8 + %120 = load i64, i64* %slen, align 8 + %cmp236 = icmp eq i64 %120, -1 + br i1 %cmp236, label %if.then238, label %if.end239 + +if.then238: ; preds = %if.else232 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end239: ; preds = %if.else232 + %121 = load i8*, i8** %s, align 8 + %122 = load i64, i64* %slen, align 8 + %arrayidx240 = getelementptr inbounds i8, i8* %121, i64 %122 + store i8 0, i8* %arrayidx240, align 1 + br label %if.end278 + +if.else242: ; preds = %if.else203 + %123 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %conv_num243 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %123, i32 0, i32 4 + %124 = load i32, i32* %conv_num243, align 4 + %cmp244 = icmp ule i32 %124, 19 + br i1 %cmp244, label %if.then246, label %if.else274 + +if.then246: ; preds = %if.else242 + %125 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %conv_num247 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %125, i32 0, i32 4 + %126 = load i32, i32* %conv_num247, align 4 + %cmp248 = icmp eq i32 %126, 19 + br i1 %cmp248, label %if.then250, label %if.else268 + +if.then250: ; preds = %if.then246 + %arraydecay251 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %127 = load i8*, i8** %arraydecay251, align 8 + %128 = bitcast i8* %127 to i8** + %129 = load i8*, i8** %128, align 8 + store i8* %129, i8** %s, align 8 + %130 = load i8*, i8** %s, align 8 + %tobool252 = icmp ne i8* %130, null + br i1 %tobool252, label %if.then253, label %NULL_STRING + +if.then253: ; preds = %if.then250 + %131 = load i8*, i8** %s, align 8 + %132 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info254 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %132, i32 0, i32 1 + %prec255 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info254, i32 0, i32 0 + %133 = load i32, i32* %prec255, align 8 + %cmp256 = icmp sge i32 %133, 0 + br i1 %cmp256, label %cond.true258, label %cond.end263 + +cond.true258: ; preds = %if.then253 + %134 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info259 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %134, i32 0, i32 1 + %prec260 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info259, i32 0, i32 0 + %135 = load i32, i32* %prec260, align 8 + %conv261 = sext i32 %135 to i64 + br label %cond.end263 + +cond.end263: ; preds = %if.then253, %cond.true258 + %cond264 = phi i64 [ %conv261, %cond.true258 ], [ -1, %if.then253 ] + %call265 = call i64 @strnlen(i8* %131, i64 %cond264) #21 + store i64 %call265, i64* %slen, align 8 + br label %if.end278 + +NULL_STRING: ; preds = %if.then250, %if.then211 + store i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.342, i64 0, i64 0), i8** %s, align 8 + store i64 6, i64* %slen, align 8 + br label %if.end278 + +if.else268: ; preds = %if.then246 + %arraydecay269 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay269, i8** %s, align 8 + %arraydecay270 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %136 = load i8*, i8** %arraydecay270, align 8 + %137 = bitcast i8* %136 to i32* + %138 = load i32, i32* %137, align 4 + %conv271 = trunc i32 %138 to i8 + %139 = load i8*, i8** %s, align 8 + store i8 %conv271, i8* %139, align 1 + %140 = load i8*, i8** %s, align 8 + %arrayidx272 = getelementptr inbounds i8, i8* %140, i64 1 + store i8 0, i8* %arrayidx272, align 1 + store i64 1, i64* %slen, align 8 + br label %if.end278 + +if.else274: ; preds = %if.else242 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end278: ; preds = %cond.end263, %NULL_STRING, %if.else268, %if.end239, %cond.end225, %if.end168 + %141 = load i64, i64* %slen, align 8 + %142 = load i32, i32* %numfill, align 4 + %conv279 = sext i32 %142 to i64 + %add280 = add i64 %141, %conv279 + store i64 %add280, i64* %t, align 8 + %143 = load i32, i32* %prefix_num, align 4 + %cmp281 = icmp ne i32 %143, 11 + br i1 %cmp281, label %if.then283, label %if.end289 + +if.then283: ; preds = %if.end278 + %144 = load i32, i32* %prefix_num, align 4 + %cmp284 = icmp slt i32 %144, 6 + %145 = zext i1 %cmp284 to i64 + %cond286 = select i1 %cmp284, i32 1, i32 2 + %conv287 = sext i32 %cond286 to i64 + %146 = load i64, i64* %t, align 8 + %add288 = add i64 %146, %conv287 + store i64 %add288, i64* %t, align 8 + br label %if.end289 + +if.end289: ; preds = %if.then283, %if.end278 + %147 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info290 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %147, i32 0, i32 1 + %width = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info290, i32 0, i32 1 + %148 = load i32, i32* %width, align 4 + %conv291 = sext i32 %148 to i64 + %149 = load i64, i64* %t, align 8 + %cmp292 = icmp ugt i64 %conv291, %149 + br i1 %cmp292, label %cond.true294, label %cond.end300 + +cond.true294: ; preds = %if.end289 + %150 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info295 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %150, i32 0, i32 1 + %width296 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info295, i32 0, i32 1 + %151 = load i32, i32* %width296, align 4 + %conv297 = sext i32 %151 to i64 + %152 = load i64, i64* %t, align 8 + %sub298 = sub i64 %conv297, %152 + br label %cond.end300 + +cond.end300: ; preds = %if.end289, %cond.true294 + %cond301 = phi i64 [ %sub298, %cond.true294 ], [ 0, %if.end289 ] + %conv302 = trunc i64 %cond301 to i32 + store i32 %conv302, i32* %numpad, align 4 + %153 = load i64, i64* %t, align 8 + %154 = load i32, i32* %numpad, align 4 + %conv303 = sext i32 %154 to i64 + %add304 = add i64 %153, %conv303 + %155 = load i32*, i32** %count.addr, align 8 + %156 = load i32, i32* %155, align 4 + %conv305 = sext i32 %156 to i64 + %add306 = add i64 %conv305, %add304 + %conv307 = trunc i64 %add306 to i32 + store i32 %conv307, i32* %155, align 4 + %157 = load i8, i8* %padchar, align 1 + %conv308 = sext i8 %157 to i32 + %cmp309 = icmp eq i32 %conv308, 48 + br i1 %cmp309, label %if.then311, label %if.end313 + +if.then311: ; preds = %cond.end300 + %158 = load i32, i32* %numpad, align 4 + %159 = load i32, i32* %numfill, align 4 + %add312 = add nsw i32 %159, %158 + store i32 %add312, i32* %numfill, align 4 + store i32 0, i32* %numpad, align 4 + br label %if.end313 + +if.end313: ; preds = %if.then311, %cond.end300 + %160 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info314 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %160, i32 0, i32 1 + %_flags315 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info314, i32 0, i32 3 + %161 = load i32, i32* %_flags315, align 4 + %and316 = and i32 %161, 8 + %tobool317 = icmp ne i32 %and316, 0 + br i1 %tobool317, label %if.end326, label %if.then318 + +if.then318: ; preds = %if.end313 + %162 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %163 = load i32, i32* %numpad, align 4 + %conv319 = sext i32 %163 to i64 + %call320 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.570* %162, i32 32, i64 %conv319) #19 + %164 = load i32, i32* %numpad, align 4 + %conv321 = sext i32 %164 to i64 + %cmp322 = icmp ne i64 %call320, %conv321 + br i1 %cmp322, label %if.then324, label %if.end325 + +if.then324: ; preds = %if.then318 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end325: ; preds = %if.then318 + store i32 0, i32* %numpad, align 4 + br label %if.end326 + +if.end326: ; preds = %if.end325, %if.end313 + %165 = load i32, i32* %prefix_num, align 4 + %idx.ext327 = sext i32 %165 to i64 + %add.ptr328 = getelementptr inbounds i8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @_do_one_spec.prefix, i64 0, i64 0), i64 %idx.ext327 + %166 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %call329 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.623*)* @fputs_unlocked to i32 (i8*, %struct.__STDIO_FILE_STRUCT.570*)*)(i8* %add.ptr328, %struct.__STDIO_FILE_STRUCT.570* %166) #19 + %167 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %168 = load i32, i32* %numfill, align 4 + %conv330 = sext i32 %168 to i64 + %call331 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.570* %167, i32 48, i64 %conv330) #19 + %169 = load i32, i32* %numfill, align 4 + %conv332 = sext i32 %169 to i64 + %cmp333 = icmp ne i64 %call331, %conv332 + br i1 %cmp333, label %if.then335, label %if.end336 + +if.then335: ; preds = %if.end326 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end336: ; preds = %if.end326 + %170 = load i32*, i32** %ws, align 8 + %tobool337 = icmp ne i32* %170, null + br i1 %tobool337, label %if.else350, label %if.then338 + +if.then338: ; preds = %if.end336 + %171 = load i64, i64* %slen, align 8 + %cmp339 = icmp ugt i64 %171, 0 + br i1 %cmp339, label %cond.true341, label %cond.end344 + +cond.true341: ; preds = %if.then338 + %172 = load i8*, i8** %s, align 8 + %173 = load i64, i64* %slen, align 8 + %174 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %call342 = call i64 bitcast (i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.623*)* @__stdio_fwrite to i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.570*)*)(i8* %172, i64 %173, %struct.__STDIO_FILE_STRUCT.570* %174) #19 + br label %cond.end344 + +cond.end344: ; preds = %if.then338, %cond.true341 + %cond345 = phi i64 [ %call342, %cond.true341 ], [ 0, %if.then338 ] + %175 = load i64, i64* %slen, align 8 + %cmp346 = icmp ne i64 %cond345, %175 + br i1 %cmp346, label %if.then348, label %if.end375 + +if.then348: ; preds = %cond.end344 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else350: ; preds = %if.end336 + %__mask352 = getelementptr inbounds %struct.__mbstate_t.514, %struct.__mbstate_t.514* %mbstate, i32 0, i32 0 + store i32 0, i32* %__mask352, align 4 + br label %while.cond + +while.cond: ; preds = %if.end373, %if.else350 + %176 = load i64, i64* %slen, align 8 + %tobool353 = icmp ne i64 %176, 0 + br i1 %tobool353, label %while.body, label %if.end375 + +while.body: ; preds = %while.cond + %177 = load i64, i64* %slen, align 8 + %cmp354 = icmp ule i64 %177, 128 + %178 = load i64, i64* %slen, align 8 + %cond359 = select i1 %cmp354, i64 %178, i64 128 + store i64 %cond359, i64* %t351, align 8 + %arraydecay360 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %179 = load i64, i64* %t351, align 8 + %call361 = call i64 @wcsrtombs(i8* %arraydecay360, i32** %ws, i64 %179, %struct.__mbstate_t.514* %mbstate) #20 + store i64 %call361, i64* %t351, align 8 + %180 = load i64, i64* %t351, align 8 + %cmp362 = icmp ugt i64 %180, 0 + br i1 %cmp362, label %cond.true364, label %cond.end368 + +cond.true364: ; preds = %while.body + %arraydecay365 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %181 = load i64, i64* %t351, align 8 + %182 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %call366 = call i64 bitcast (i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.623*)* @__stdio_fwrite to i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.570*)*)(i8* %arraydecay365, i64 %181, %struct.__STDIO_FILE_STRUCT.570* %182) #19 + br label %cond.end368 + +cond.end368: ; preds = %while.body, %cond.true364 + %cond369 = phi i64 [ %call366, %cond.true364 ], [ 0, %while.body ] + %183 = load i64, i64* %t351, align 8 + %cmp370 = icmp ne i64 %cond369, %183 + br i1 %cmp370, label %if.then372, label %if.end373 + +if.then372: ; preds = %cond.end368 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end373: ; preds = %cond.end368 + %184 = load i64, i64* %t351, align 8 + %185 = load i64, i64* %slen, align 8 + %sub374 = sub i64 %185, %184 + store i64 %sub374, i64* %slen, align 8 + br label %while.cond + +if.end375: ; preds = %while.cond, %cond.end344 + %186 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %187 = load i32, i32* %numpad, align 4 + %conv376 = sext i32 %187 to i64 + %call377 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.570* %186, i32 32, i64 %conv376) #19 + %188 = load i32, i32* %numpad, align 4 + %conv378 = sext i32 %188 to i64 + %cmp379 = icmp ne i64 %call377, %conv378 + br i1 %cmp379, label %if.then381, label %if.end382 + +if.then381: ; preds = %if.end375 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end382: ; preds = %if.end375 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end382, %if.then381, %if.then372, %if.then348, %if.then335, %if.then324, %if.else274, %if.then238, %if.then230, %if.end199, %if.then198, %if.then15 + %189 = load i32, i32* %retval, align 4 + ret i32 %189 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @_fp_out_narrow(%struct.__STDIO_FILE_STRUCT.570* %fp, i64 %type, i64 %len, i64 %buf) #0 { +entry: + %retval = alloca i64, align 8 + %fp.addr = alloca %struct.__STDIO_FILE_STRUCT.570*, align 8 + %type.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %buf.addr = alloca i64, align 8 + %r = alloca i64, align 8 + %buflen = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.570* %fp, %struct.__STDIO_FILE_STRUCT.570** %fp.addr, align 8 + store i64 %type, i64* %type.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store i64 %buf, i64* %buf.addr, align 8 + store i64 0, i64* %r, align 8 + %0 = load i64, i64* %type.addr, align 8 + %and = and i64 %0, 128 + %tobool = icmp ne i64 %and, 0 + br i1 %tobool, label %if.then, label %if.end12 + +if.then: ; preds = %entry + %1 = load i64, i64* %buf.addr, align 8 + %2 = inttoptr i64 %1 to i8* + %call = call i64 @strlen(i8* %2) #21 + %conv = trunc i64 %call to i32 + store i32 %conv, i32* %buflen, align 4 + %3 = load i32, i32* %buflen, align 4 + %conv1 = sext i32 %3 to i64 + %4 = load i64, i64* %len.addr, align 8 + %sub = sub nsw i64 %4, %conv1 + store i64 %sub, i64* %len.addr, align 8 + %cmp = icmp sgt i64 %sub, 0 + br i1 %cmp, label %if.then3, label %if.end10 + +if.then3: ; preds = %if.then + %5 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %fp.addr, align 8 + %6 = load i64, i64* %type.addr, align 8 + %and4 = and i64 %6, 127 + %conv5 = trunc i64 %and4 to i32 + %7 = load i64, i64* %len.addr, align 8 + %call6 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.570* %5, i32 %conv5, i64 %7) #19 + store i64 %call6, i64* %r, align 8 + %8 = load i64, i64* %len.addr, align 8 + %cmp7 = icmp ne i64 %call6, %8 + br i1 %cmp7, label %if.then9, label %if.end10 + +if.then9: ; preds = %if.then3 + %9 = load i64, i64* %r, align 8 + store i64 %9, i64* %retval, align 8 + br label %return + +if.end10: ; preds = %if.then3, %if.then + %10 = load i32, i32* %buflen, align 4 + %conv11 = sext i32 %10 to i64 + store i64 %conv11, i64* %len.addr, align 8 + br label %if.end12 + +if.end12: ; preds = %if.end10, %entry + %11 = load i64, i64* %r, align 8 + %12 = load i64, i64* %len.addr, align 8 + %cmp13 = icmp sgt i64 %12, 0 + br i1 %cmp13, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end12 + %13 = load i64, i64* %buf.addr, align 8 + %14 = inttoptr i64 %13 to i8* + %15 = load i64, i64* %len.addr, align 8 + %16 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %fp.addr, align 8 + %call15 = call i64 bitcast (i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.623*)* @__stdio_fwrite to i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.570*)*)(i8* %14, i64 %15, %struct.__STDIO_FILE_STRUCT.570* %16) #19 + br label %cond.end + +cond.end: ; preds = %if.end12, %cond.true + %cond = phi i64 [ %call15, %cond.true ], [ 0, %if.end12 ] + %add = add i64 %11, %cond + store i64 %add, i64* %retval, align 8 + br label %return + +return: ; preds = %cond.end, %if.then9 + %17 = load i64, i64* %retval, align 8 + ret i64 %17 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @_charpad(%struct.__STDIO_FILE_STRUCT.570* noalias %stream, i32 %padchar, i64 %numpad) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.570*, align 8 + %padchar.addr = alloca i32, align 4 + %numpad.addr = alloca i64, align 8 + %todo = alloca i64, align 8 + %pad = alloca [1 x i8], align 1 + store %struct.__STDIO_FILE_STRUCT.570* %stream, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + store i32 %padchar, i32* %padchar.addr, align 4 + store i64 %numpad, i64* %numpad.addr, align 8 + %0 = load i64, i64* %numpad.addr, align 8 + store i64 %0, i64* %todo, align 8 + %1 = load i32, i32* %padchar.addr, align 4 + %conv = trunc i32 %1 to i8 + %arraydecay = getelementptr inbounds [1 x i8], [1 x i8]* %pad, i64 0, i64 0 + store i8 %conv, i8* %arraydecay, align 1 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %2 = load i64, i64* %todo, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %arraydecay1 = getelementptr inbounds [1 x i8], [1 x i8]* %pad, i64 0, i64 0 + %3 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %call = call i64 bitcast (i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.623*)* @__stdio_fwrite to i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.570*)*)(i8* %arraydecay1, i64 1, %struct.__STDIO_FILE_STRUCT.570* %3) #19 + %cmp = icmp eq i64 %call, 1 + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %land.rhs + %4 = load i64, i64* %todo, align 8 + %dec = add i64 %4, -1 + store i64 %dec, i64* %todo, align 8 + br label %while.cond + +while.end: ; preds = %while.cond, %land.rhs + %5 = load i64, i64* %numpad.addr, align 8 + %6 = load i64, i64* %todo, align 8 + %sub = sub i64 %5, %6 + ret i64 %sub +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__cxa_atexit(void (i8*)* %func, i8* %arg, i8* %dso_handle) #0 { +entry: + %retval = alloca i32, align 4 + %func.addr = alloca void (i8*)*, align 8 + %arg.addr = alloca i8*, align 8 + %dso_handle.addr = alloca i8*, align 8 + %efp = alloca %struct.exit_function*, align 8 + store void (i8*)* %func, void (i8*)** %func.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i8* %dso_handle, i8** %dso_handle.addr, align 8 + %0 = load void (i8*)*, void (i8*)** %func.addr, align 8 + %cmp = icmp eq void (i8*)* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %call = call %struct.exit_function* @__new_exitfn() #19 + store %struct.exit_function* %call, %struct.exit_function** %efp, align 8 + %1 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %cmp1 = icmp eq %struct.exit_function* %1, null + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + store i32 -1, i32* %retval, align 4 + br label %return + +if.end3: ; preds = %if.end + %2 = load void (i8*)*, void (i8*)** %func.addr, align 8 + %3 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs = getelementptr inbounds %struct.exit_function, %struct.exit_function* %3, i32 0, i32 1 + %cxa_atexit = bitcast %union.anon.774* %funcs to %struct.anon.0.773* + %func4 = getelementptr inbounds %struct.anon.0.773, %struct.anon.0.773* %cxa_atexit, i32 0, i32 0 + store void (i8*)* %2, void (i8*)** %func4, align 8 + %4 = load i8*, i8** %arg.addr, align 8 + %5 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs5 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %5, i32 0, i32 1 + %cxa_atexit6 = bitcast %union.anon.774* %funcs5 to %struct.anon.0.773* + %arg7 = getelementptr inbounds %struct.anon.0.773, %struct.anon.0.773* %cxa_atexit6, i32 0, i32 1 + store i8* %4, i8** %arg7, align 8 + %6 = load i8*, i8** %dso_handle.addr, align 8 + %7 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs8 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %7, i32 0, i32 1 + %cxa_atexit9 = bitcast %union.anon.774* %funcs8 to %struct.anon.0.773* + %dso_handle10 = getelementptr inbounds %struct.anon.0.773, %struct.anon.0.773* %cxa_atexit9, i32 0, i32 2 + store i8* %6, i8** %dso_handle10, align 8 + %8 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %type = getelementptr inbounds %struct.exit_function, %struct.exit_function* %8, i32 0, i32 0 + store i64 3, i64* %type, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end3, %if.then2, %if.then + %9 = load i32, i32* %retval, align 4 + ret i32 %9 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @getenv(i8* nonnull %var) #0 { +entry: + %retval = alloca i8*, align 8 + %var.addr = alloca i8*, align 8 + %len = alloca i32, align 4 + %ep = alloca i8**, align 8 + store i8* %var, i8** %var.addr, align 8 + %0 = load i8**, i8*** @__environ, align 8 + store i8** %0, i8*** %ep, align 8 + %tobool = icmp ne i8** %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %var.addr, align 8 + %call = call i64 @strlen(i8* %1) #21 + %conv = trunc i64 %call to i32 + store i32 %conv, i32* %len, align 4 + br label %while.cond + +while.cond: ; preds = %if.end10, %if.end + %2 = load i8**, i8*** %ep, align 8 + %3 = load i8*, i8** %2, align 8 + %tobool1 = icmp ne i8* %3, null + br i1 %tobool1, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i8*, i8** %var.addr, align 8 + %5 = load i8**, i8*** %ep, align 8 + %6 = load i8*, i8** %5, align 8 + %7 = load i32, i32* %len, align 4 + %conv2 = sext i32 %7 to i64 + %call3 = call i32 @memcmp(i8* %4, i8* %6, i64 %conv2) #21 + %cmp = icmp eq i32 %call3, 0 + br i1 %cmp, label %land.lhs.true, label %if.end10 + +land.lhs.true: ; preds = %while.body + %8 = load i8**, i8*** %ep, align 8 + %9 = load i8*, i8** %8, align 8 + %10 = load i32, i32* %len, align 4 + %idxprom = sext i32 %10 to i64 + %arrayidx = getelementptr inbounds i8, i8* %9, i64 %idxprom + %11 = load i8, i8* %arrayidx, align 1 + %conv5 = sext i8 %11 to i32 + %cmp6 = icmp eq i32 %conv5, 61 + br i1 %cmp6, label %if.then8, label %if.end10 + +if.then8: ; preds = %land.lhs.true + %12 = load i8**, i8*** %ep, align 8 + %13 = load i8*, i8** %12, align 8 + %14 = load i32, i32* %len, align 4 + %idx.ext = sext i32 %14 to i64 + %add.ptr = getelementptr inbounds i8, i8* %13, i64 %idx.ext + %add.ptr9 = getelementptr inbounds i8, i8* %add.ptr, i64 1 + store i8* %add.ptr9, i8** %retval, align 8 + br label %return + +if.end10: ; preds = %land.lhs.true, %while.body + %15 = load i8**, i8*** %ep, align 8 + %incdec.ptr = getelementptr inbounds i8*, i8** %15, i32 1 + store i8** %incdec.ptr, i8*** %ep, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then8, %if.then + %16 = load i8*, i8** %retval, align 8 + ret i8* %16 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @memmove(i8* nonnull %s1, i8* nonnull %s2, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %p, align 8 + %2 = load i8*, i8** %p, align 8 + %3 = load i8*, i8** %s, align 8 + %cmp = icmp uge i8* %2, %3 + br i1 %cmp, label %while.cond, label %while.cond2 + +while.cond: ; preds = %entry, %while.body + %4 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %4, 0 + br i1 %tobool, label %while.body, label %if.end + +while.body: ; preds = %while.cond + %5 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %6 = load i8, i8* %5, align 1 + %7 = load i8*, i8** %s, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %7, i32 1 + store i8* %incdec.ptr1, i8** %s, align 8 + store i8 %6, i8* %7, align 1 + %8 = load i64, i64* %n.addr, align 8 + %dec = add i64 %8, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.cond2: ; preds = %entry, %while.body4 + %9 = load i64, i64* %n.addr, align 8 + %tobool3 = icmp ne i64 %9, 0 + br i1 %tobool3, label %while.body4, label %if.end + +while.body4: ; preds = %while.cond2 + %10 = load i64, i64* %n.addr, align 8 + %dec5 = add i64 %10, -1 + store i64 %dec5, i64* %n.addr, align 8 + %11 = load i8*, i8** %p, align 8 + %12 = load i64, i64* %n.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %11, i64 %12 + %13 = load i8, i8* %arrayidx, align 1 + %14 = load i8*, i8** %s, align 8 + %15 = load i64, i64* %n.addr, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %14, i64 %15 + store i8 %13, i8* %arrayidx6, align 1 + br label %while.cond2 + +if.end: ; preds = %while.cond2, %while.cond + %16 = load i8*, i8** %s1.addr, align 8 + ret i8* %16 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @mempcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r1 = alloca i8*, align 8 + %r2 = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %r1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %r2, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %2 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load i8*, i8** %r2, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %r2, align 8 + %4 = load i8, i8* %3, align 1 + %5 = load i8*, i8** %r1, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr1, i8** %r1, align 8 + store i8 %4, i8* %5, align 1 + %6 = load i64, i64* %n.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %7 = load i8*, i8** %r1, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @strchr(i8* nonnull %s, i32 %c) #14 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %entry + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %2 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %2 to i8 + %conv2 = sext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + %3 = load i8*, i8** %s.addr, align 8 + br i1 %cmp, label %if.then, label %do.cond + +if.then: ; preds = %do.body + store i8* %3, i8** %retval, align 8 + br label %return + +do.cond: ; preds = %do.body + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %s.addr, align 8 + %4 = load i8, i8* %3, align 1 + %tobool = icmp ne i8 %4, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %do.end, %if.then + %5 = load i8*, i8** %retval, align 8 + ret i8* %5 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @strcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + br label %while.cond + +while.cond: ; preds = %while.cond, %entry + %1 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %1, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %2 = load i8, i8* %1, align 1 + %3 = load i8*, i8** %s, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr1, i8** %s, align 8 + store i8 %2, i8* %3, align 1 + %conv = sext i8 %2 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %while.cond, label %while.end + +while.end: ; preds = %while.cond + %4 = load i8*, i8** %s1.addr, align 8 + ret i8* %4 +} + +; Function Attrs: noinline nounwind uwtable +define noalias i8* @strdup(i8* nonnull %s1) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + %l = alloca i64, align 8 + store i8* %s1, i8** %s1.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + %call = call i64 @strlen(i8* %0) #21 + %add = add i64 %call, 1 + %mul = mul i64 %add, 1 + store i64 %mul, i64* %l, align 8 + %1 = load i64, i64* %l, align 8 + %call1 = call noalias i8* @malloc(i64 %1) #20 + store i8* %call1, i8** %s, align 8 + %cmp = icmp ne i8* %call1, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load i8*, i8** %s, align 8 + %3 = load i8*, i8** %s1.addr, align 8 + %4 = load i64, i64* %l, align 8 + %call2 = call i8* @memcpy(i8* %2, i8* %3, i64 %4) #20 + br label %if.end + +if.end: ; preds = %if.then, %entry + %5 = load i8*, i8** %s, align 8 + ret i8* %5 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @strerror(i32 %errnum) #0 { +entry: + %errnum.addr = alloca i32, align 4 + store i32 %errnum, i32* %errnum.addr, align 4 + %0 = load i32, i32* %errnum.addr, align 4 + %call = call i32 @__xpg_strerror_r(i32 %0, i8* getelementptr inbounds ([50 x i8], [50 x i8]* @strerror.buf, i64 0, i64 0), i64 50) #19 + ret i8* getelementptr inbounds ([50 x i8], [50 x i8]* @strerror.buf, i64 0, i64 0) +} + +; Function Attrs: noinline nounwind uwtable +define i64 @wcrtomb(i8* noalias %s, i32 %wc, %struct.__mbstate_t.514* noalias %ps) #0 { +entry: + %s.addr = alloca i8*, align 8 + %wc.addr = alloca i32, align 4 + %ps.addr = alloca %struct.__mbstate_t.514*, align 8 + %wcbuf = alloca [1 x i32], align 4 + %pwc = alloca i32*, align 8 + %r = alloca i64, align 8 + %buf = alloca [16 x i8], align 16 + store i8* %s, i8** %s.addr, align 8 + store i32 %wc, i32* %wc.addr, align 4 + store %struct.__mbstate_t.514* %ps, %struct.__mbstate_t.514** %ps.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay, i8** %s.addr, align 8 + store i32 0, i32* %wc.addr, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %arraydecay1 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay1, i32** %pwc, align 8 + %1 = load i32, i32* %wc.addr, align 4 + %arrayidx = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32 %1, i32* %arrayidx, align 4 + %2 = load i8*, i8** %s.addr, align 8 + %3 = load %struct.__mbstate_t.514*, %struct.__mbstate_t.514** %ps.addr, align 8 + %call = call i64 @wcsnrtombs(i8* %2, i32** %pwc, i64 1, i64 16, %struct.__mbstate_t.514* %3) #20 + store i64 %call, i64* %r, align 8 + %4 = load i64, i64* %r, align 8 + %cmp = icmp ne i64 %4, 0 + %5 = load i64, i64* %r, align 8 + %cond = select i1 %cmp, i64 %5, i64 1 + ret i64 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i64 @wcsrtombs(i8* noalias %dst, i32** noalias %src, i64 %len, %struct.__mbstate_t.514* noalias %ps) #0 { +entry: + %dst.addr = alloca i8*, align 8 + %src.addr = alloca i32**, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.514*, align 8 + store i8* %dst, i8** %dst.addr, align 8 + store i32** %src, i32*** %src.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.514* %ps, %struct.__mbstate_t.514** %ps.addr, align 8 + %0 = load i8*, i8** %dst.addr, align 8 + %1 = load i32**, i32*** %src.addr, align 8 + %2 = load i64, i64* %len.addr, align 8 + %3 = load %struct.__mbstate_t.514*, %struct.__mbstate_t.514** %ps.addr, align 8 + %call = call i64 @wcsnrtombs(i8* %0, i32** %1, i64 -1, i64 %2, %struct.__mbstate_t.514* %3) #20 + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @iswctype_l(i32 %wc, i32 %desc, %struct.__uclibc_locale_struct.203* %locale) #0 { +entry: + %retval = alloca i32, align 4 + %wc.addr = alloca i32, align 4 + %desc.addr = alloca i32, align 4 + %locale.addr = alloca %struct.__uclibc_locale_struct.203*, align 8 + %sc = alloca i32, align 4 + %n = alloca i32, align 4 + %i0 = alloca i32, align 4 + %i1 = alloca i32, align 4 + %d = alloca i8, align 1 + store i32 %wc, i32* %wc.addr, align 4 + store i32 %desc, i32* %desc.addr, align 4 + store %struct.__uclibc_locale_struct.203* %locale, %struct.__uclibc_locale_struct.203** %locale.addr, align 8 + store i8 0, i8* %d, align 1 + %0 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %locale.addr, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %0, i32 0, i32 9 + %1 = load i8, i8* %encoding, align 8 + %conv = zext i8 %1 to i32 + %cmp = icmp ne i32 %conv, 0 + %2 = load i32, i32* %wc.addr, align 4 + %cmp2 = icmp ule i32 %2, 127 + %or.cond = or i1 %cmp, %cmp2 + br i1 %or.cond, label %if.then, label %if.end78 + +if.then: ; preds = %entry + %3 = load i32, i32* %desc.addr, align 4 + %cmp4 = icmp ult i32 %3, 12 + br i1 %cmp4, label %if.then6, label %if.end58 + +if.then6: ; preds = %if.then + %4 = load i32, i32* %wc.addr, align 4 + %cmp7 = icmp ule i32 %4, 196607 + %5 = load i32, i32* %wc.addr, align 4 + br i1 %cmp7, label %if.then9, label %if.else + +if.then9: ; preds = %if.then6 + %and = and i32 %5, 7 + store i32 %and, i32* %sc, align 4 + %6 = load i32, i32* %wc.addr, align 4 + %shr = lshr i32 %6, 3 + store i32 %shr, i32* %wc.addr, align 4 + %7 = load i32, i32* %wc.addr, align 4 + %and10 = and i32 %7, 31 + store i32 %and10, i32* %n, align 4 + %8 = load i32, i32* %wc.addr, align 4 + %shr11 = lshr i32 %8, 5 + store i32 %shr11, i32* %wc.addr, align 4 + %9 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %locale.addr, align 8 + %tblwctype = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %9, i32 0, i32 21 + %10 = load i8*, i8** %tblwctype, align 8 + %11 = load i32, i32* %wc.addr, align 4 + %idxprom = zext i32 %11 to i64 + %arrayidx = getelementptr inbounds i8, i8* %10, i64 %idxprom + %12 = load i8, i8* %arrayidx, align 1 + %conv12 = zext i8 %12 to i32 + store i32 %conv12, i32* %i0, align 4 + %13 = load i32, i32* %i0, align 4 + %shl = shl i32 %13, 5 + store i32 %shl, i32* %i0, align 4 + %14 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %locale.addr, align 8 + %tblwctype13 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %14, i32 0, i32 21 + %15 = load i8*, i8** %tblwctype13, align 8 + %16 = load i32, i32* %i0, align 4 + %add = add i32 768, %16 + %17 = load i32, i32* %n, align 4 + %add14 = add i32 %add, %17 + %idxprom15 = zext i32 %add14 to i64 + %arrayidx16 = getelementptr inbounds i8, i8* %15, i64 %idxprom15 + %18 = load i8, i8* %arrayidx16, align 1 + %conv17 = zext i8 %18 to i32 + store i32 %conv17, i32* %i1, align 4 + %19 = load i32, i32* %i1, align 4 + %shl18 = shl i32 %19, 2 + store i32 %shl18, i32* %i1, align 4 + %20 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %locale.addr, align 8 + %tblwctype19 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %20, i32 0, i32 21 + %21 = load i8*, i8** %tblwctype19, align 8 + %22 = load i32, i32* %i1, align 4 + %add20 = add i32 2656, %22 + %23 = load i32, i32* %sc, align 4 + %shr21 = lshr i32 %23, 1 + %add22 = add i32 %add20, %shr21 + %idxprom23 = zext i32 %add22 to i64 + %arrayidx24 = getelementptr inbounds i8, i8* %21, i64 %idxprom23 + %24 = load i8, i8* %arrayidx24, align 1 + store i8 %24, i8* %d, align 1 + %25 = load i32, i32* %sc, align 4 + %and25 = and i32 %25, 1 + %tobool = icmp ne i32 %and25, 0 + %26 = load i8, i8* %d, align 1 + %conv26 = zext i8 %26 to i32 + %shr27 = ashr i32 %conv26, 4 + %and29 = and i32 %conv26, 15 + %cond = select i1 %tobool, i32 %shr27, i32 %and29 + %conv30 = trunc i32 %cond to i8 + store i8 %conv30, i8* %d, align 1 + br label %if.end50 + +if.else: ; preds = %if.then6 + %conv31 = zext i32 %5 to i64 + %sub = sub i64 %conv31, 917536 + %conv32 = trunc i64 %sub to i32 + %cmp33 = icmp ule i32 %conv32, 95 + br i1 %cmp33, label %if.then49, label %lor.lhs.false35 + +lor.lhs.false35: ; preds = %if.else + %27 = load i32, i32* %wc.addr, align 4 + %conv36 = zext i32 %27 to i64 + %cmp37 = icmp eq i64 %conv36, 917505 + br i1 %cmp37, label %if.then49, label %lor.lhs.false39 + +lor.lhs.false39: ; preds = %lor.lhs.false35 + %28 = load i32, i32* %wc.addr, align 4 + %conv40 = zext i32 %28 to i64 + %sub41 = sub i64 %conv40, 983040 + %conv42 = trunc i64 %sub41 to i32 + %conv43 = zext i32 %conv42 to i64 + %cmp44 = icmp ult i64 %conv43, 131072 + br i1 %cmp44, label %land.lhs.true, label %if.end50 + +land.lhs.true: ; preds = %lor.lhs.false39 + %29 = load i32, i32* %wc.addr, align 4 + %and46 = and i32 %29, 65535 + %cmp47 = icmp ule i32 %and46, 65533 + br i1 %cmp47, label %if.then49, label %if.end50 + +if.then49: ; preds = %land.lhs.true, %lor.lhs.false35, %if.else + store i8 6, i8* %d, align 1 + br label %if.end50 + +if.end50: ; preds = %lor.lhs.false39, %land.lhs.true, %if.then49, %if.then9 + %30 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %locale.addr, align 8 + %code2flag = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %30, i32 0, i32 20 + %31 = load i16*, i16** %code2flag, align 8 + %32 = load i8, i8* %d, align 1 + %idxprom51 = zext i8 %32 to i64 + %arrayidx52 = getelementptr inbounds i16, i16* %31, i64 %idxprom51 + %33 = load i16, i16* %arrayidx52, align 2 + %conv53 = zext i16 %33 to i32 + %34 = load i32, i32* %desc.addr, align 4 + %idxprom54 = zext i32 %34 to i64 + %arrayidx55 = getelementptr inbounds [13 x i16], [13 x i16]* @desc2flag, i64 0, i64 %idxprom54 + %35 = load i16, i16* %arrayidx55, align 2 + %conv56 = zext i16 %35 to i32 + %and57 = and i32 %conv53, %conv56 + store i32 %and57, i32* %retval, align 4 + br label %return + +if.end58: ; preds = %if.then + %36 = load i32, i32* %desc.addr, align 4 + %cmp59 = icmp eq i32 %36, 12 + br i1 %cmp59, label %cond.false68, label %cond.end76 + +cond.false68: ; preds = %if.end58 + %37 = load i32, i32* %wc.addr, align 4 + %sub69 = sub i32 %37, 48 + %cmp70 = icmp ult i32 %sub69, 10 + %38 = load i32, i32* %wc.addr, align 4 + %or = or i32 %38, 32 + %sub72 = sub i32 %or, 97 + %cmp73 = icmp ult i32 %sub72, 6 + %39 = select i1 %cmp70, i1 true, i1 %cmp73 + %lor.ext = zext i1 %39 to i32 + br label %cond.end76 + +cond.end76: ; preds = %if.end58, %cond.false68 + %cond77 = phi i32 [ %lor.ext, %cond.false68 ], [ 0, %if.end58 ] + store i32 %cond77, i32* %retval, align 4 + br label %return + +if.end78: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end78, %cond.end76, %if.end50 + %40 = load i32, i32* %retval, align 4 + ret i32 %40 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_adjust_position(%struct.__STDIO_FILE_STRUCT.638* noalias %stream, i64* %pos) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.638*, align 8 + %pos.addr = alloca i64*, align 8 + %oldpos = alloca i64, align 8 + %corr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.638* %stream, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + store i64* %pos, i64** %pos.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.638, %struct.__STDIO_FILE_STRUCT.638* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 3 + store i32 %and, i32* %corr, align 4 + %cmp = icmp ne i32 %and, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load i32, i32* %corr, align 4 + %dec = add nsw i32 %2, -1 + store i32 %dec, i32* %corr, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %3 = load i32, i32* %corr, align 4 + %tobool = icmp ne i32 %3, 0 + br i1 %tobool, label %land.lhs.true, label %if.end22 + +land.lhs.true: ; preds = %if.end + %4 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %__modeflags2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.638, %struct.__STDIO_FILE_STRUCT.638* %4, i32 0, i32 0 + %5 = load i16, i16* %__modeflags2, align 8 + %conv3 = zext i16 %5 to i32 + %and4 = and i32 %conv3, 2048 + %tobool5 = icmp ne i32 %and4, 0 + br i1 %tobool5, label %if.then6, label %if.end22 + +if.then6: ; preds = %land.lhs.true + %6 = load i32, i32* %corr, align 4 + %cmp7 = icmp sgt i32 %6, 1 + br i1 %cmp7, label %if.then10, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then6 + %7 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %__ungot = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.638, %struct.__STDIO_FILE_STRUCT.638* %7, i32 0, i32 10 + %arrayidx = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot, i64 0, i64 1 + %8 = load i32, i32* %arrayidx, align 4 + %tobool9 = icmp ne i32 %8, 0 + br i1 %tobool9, label %if.then10, label %if.end11 + +if.then10: ; preds = %lor.lhs.false, %if.then6 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end11: ; preds = %lor.lhs.false + %9 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.638, %struct.__STDIO_FILE_STRUCT.638* %9, i32 0, i32 1 + %arrayidx12 = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 1 + %10 = load i8, i8* %arrayidx12, align 1 + %conv13 = zext i8 %10 to i32 + %add = add nsw i32 1, %conv13 + %11 = load i32, i32* %corr, align 4 + %sub = sub nsw i32 %11, %add + store i32 %sub, i32* %corr, align 4 + %12 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.638, %struct.__STDIO_FILE_STRUCT.638* %12, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.514, %struct.__mbstate_t.514* %__state, i32 0, i32 0 + %13 = load i32, i32* %__mask, align 8 + %cmp14 = icmp sgt i32 %13, 0 + br i1 %cmp14, label %if.then16, label %if.end22 + +if.then16: ; preds = %if.end11 + %14 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %__ungot_width17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.638, %struct.__STDIO_FILE_STRUCT.638* %14, i32 0, i32 1 + %arrayidx18 = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width17, i64 0, i64 0 + %15 = load i8, i8* %arrayidx18, align 2 + %conv19 = zext i8 %15 to i32 + %16 = load i32, i32* %corr, align 4 + %sub20 = sub nsw i32 %16, %conv19 + store i32 %sub20, i32* %corr, align 4 + br label %if.end22 + +if.end22: ; preds = %if.end11, %if.then16, %land.lhs.true, %if.end + %17 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %__modeflags23 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.638, %struct.__STDIO_FILE_STRUCT.638* %17, i32 0, i32 0 + %18 = load i16, i16* %__modeflags23, align 8 + %conv24 = zext i16 %18 to i32 + %and25 = and i32 %conv24, 64 + %tobool26 = icmp ne i32 %and25, 0 + %19 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + br i1 %tobool26, label %cond.true, label %cond.false + +cond.true: ; preds = %if.end22 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.638, %struct.__STDIO_FILE_STRUCT.638* %19, i32 0, i32 3 + %20 = load i8*, i8** %__bufstart, align 8 + br label %cond.end + +cond.false: ; preds = %if.end22 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.638, %struct.__STDIO_FILE_STRUCT.638* %19, i32 0, i32 6 + %21 = load i8*, i8** %__bufread, align 8 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i8* [ %20, %cond.true ], [ %21, %cond.false ] + %22 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.638, %struct.__STDIO_FILE_STRUCT.638* %22, i32 0, i32 5 + %23 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %cond to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %23 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %24 = load i32, i32* %corr, align 4 + %conv27 = sext i32 %24 to i64 + %add28 = add nsw i64 %conv27, %sub.ptr.sub + %conv29 = trunc i64 %add28 to i32 + store i32 %conv29, i32* %corr, align 4 + %25 = load i64*, i64** %pos.addr, align 8 + %26 = load i64, i64* %25, align 8 + store i64 %26, i64* %oldpos, align 8 + %27 = load i32, i32* %corr, align 4 + %conv30 = sext i32 %27 to i64 + %28 = load i64*, i64** %pos.addr, align 8 + %29 = load i64, i64* %28, align 8 + %sub31 = sub nsw i64 %29, %conv30 + store i64 %sub31, i64* %28, align 8 + %30 = load i64, i64* %oldpos, align 8 + %cmp32 = icmp sgt i64 %sub31, %30 + br i1 %cmp32, label %if.then34, label %if.end36 + +if.then34: ; preds = %cond.end + %31 = load i32, i32* %corr, align 4 + %sub35 = sub nsw i32 0, %31 + store i32 %sub35, i32* %corr, align 4 + br label %if.end36 + +if.end36: ; preds = %if.then34, %cond.end + %32 = load i32, i32* %corr, align 4 + %cmp37 = icmp slt i32 %32, 0 + br i1 %cmp37, label %if.then39, label %if.end40 + +if.then39: ; preds = %if.end36 + store i32 75, i32* @errno, align 4 + br label %if.end40 + +if.end40: ; preds = %if.then39, %if.end36 + %33 = load i32, i32* %corr, align 4 + store i32 %33, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end40, %if.then10 + %34 = load i32, i32* %retval, align 4 + ret i32 %34 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_seek(%struct.__STDIO_FILE_STRUCT.638* %stream, i64* %pos, i32 %whence) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.638*, align 8 + %pos.addr = alloca i64*, align 8 + %whence.addr = alloca i32, align 4 + %res = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.638* %stream, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + store i64* %pos, i64** %pos.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.638, %struct.__STDIO_FILE_STRUCT.638* %0, i32 0, i32 2 + %1 = load i32, i32* %__filedes, align 4 + %2 = load i64*, i64** %pos.addr, align 8 + %3 = load i64, i64* %2, align 8 + %4 = load i32, i32* %whence.addr, align 4 + %call = call i64 @lseek64(i32 %1, i64 %3, i32 %4) #20 + store i64 %call, i64* %res, align 8 + %5 = load i64, i64* %res, align 8 + %cmp = icmp sge i64 %5, 0 + %6 = load i64, i64* %res, align 8 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %entry + %7 = load i64*, i64** %pos.addr, align 8 + store i64 %6, i64* %7, align 8 + br label %cond.end + +cond.false: ; preds = %entry + %conv = trunc i64 %6 to i32 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ 0, %cond.true ], [ %conv, %cond.false ] + ret i32 %cond +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_fpmaxtostr(%struct.__STDIO_FILE_STRUCT.570* %fp, double %x, %struct.printf_info.722* %info, i64 (%struct.__STDIO_FILE_STRUCT.570*, i64, i64, i64)* %fp_outfunc) #0 { +entry: + %retval = alloca i64, align 8 + %fp.addr = alloca %struct.__STDIO_FILE_STRUCT.570*, align 8 + %x.addr = alloca double, align 8 + %info.addr = alloca %struct.printf_info.722*, align 8 + %fp_outfunc.addr = alloca i64 (%struct.__STDIO_FILE_STRUCT.570*, i64, i64, i64)*, align 8 + %round = alloca i32, align 4 + %o_exp = alloca i32, align 4 + %exp = alloca i32, align 4 + %width = alloca i32, align 4 + %preci = alloca i32, align 4 + %cnt = alloca i32, align 4 + %s = alloca i8*, align 8 + %e = alloca i8*, align 8 + %pc_fwi = alloca [24 x i64], align 16 + %ppc = alloca i64*, align 8 + %ppc_last = alloca i64*, align 8 + %exp_buf = alloca [16 x i8], align 16 + %buf = alloca [21 x i8], align 16 + %sign_str = alloca [6 x i8], align 1 + %o_mode = alloca i8, align 1 + %mode = alloca i8, align 1 + %i = alloca i32, align 4 + %j = alloca i32, align 4 + %exp_neg = alloca i32, align 4 + %i92 = alloca i32, align 4 + %j93 = alloca i32, align 4 + %digit_block = alloca i64, align 8 + %i151 = alloca i32, align 4 + %i218 = alloca i32, align 4 + %p = alloca i8*, align 8 + %j329 = alloca i32, align 4 + %exp_char = alloca i8, align 1 + %exp_sign = alloca i8, align 1 + %i359 = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.570* %fp, %struct.__STDIO_FILE_STRUCT.570** %fp.addr, align 8 + store double %x, double* %x.addr, align 8 + store %struct.printf_info.722* %info, %struct.printf_info.722** %info.addr, align 8 + store i64 (%struct.__STDIO_FILE_STRUCT.570*, i64, i64, i64)* %fp_outfunc, i64 (%struct.__STDIO_FILE_STRUCT.570*, i64, i64, i64)** %fp_outfunc.addr, align 8 + %0 = load %struct.printf_info.722*, %struct.printf_info.722** %info.addr, align 8 + %width1 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %0, i32 0, i32 1 + %1 = load i32, i32* %width1, align 4 + store i32 %1, i32* %width, align 4 + %2 = load %struct.printf_info.722*, %struct.printf_info.722** %info.addr, align 8 + %prec = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %2, i32 0, i32 0 + %3 = load i32, i32* %prec, align 4 + store i32 %3, i32* %preci, align 4 + %4 = load %struct.printf_info.722*, %struct.printf_info.722** %info.addr, align 8 + %spec = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %4, i32 0, i32 2 + %5 = load i32, i32* %spec, align 4 + %conv = trunc i32 %5 to i8 + store i8 %conv, i8* %mode, align 1 + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + store i8 101, i8* %arraydecay, align 16 + %6 = load i8, i8* %mode, align 1 + %conv2 = sext i8 %6 to i32 + %or = or i32 %conv2, 32 + %cmp = icmp eq i32 %or, 97 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %7 = load i8, i8* %mode, align 1 + %conv4 = sext i8 %7 to i32 + %add = add nsw i32 %conv4, 6 + %conv5 = trunc i32 %add to i8 + store i8 %conv5, i8* %mode, align 1 + br label %if.end + +if.end: ; preds = %if.then, %entry + %8 = load i32, i32* %preci, align 4 + %cmp6 = icmp slt i32 %8, 0 + br i1 %cmp6, label %if.then8, label %if.end9 + +if.then8: ; preds = %if.end + store i32 6, i32* %preci, align 4 + br label %if.end9 + +if.end9: ; preds = %if.then8, %if.end + %arraydecay10 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 0, i8* %arraydecay10, align 1 + %9 = load %struct.printf_info.722*, %struct.printf_info.722** %info.addr, align 8 + %showsign = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %9, i32 0, i32 3 + %bf.load = load i32, i32* %showsign, align 4 + %bf.lshr = lshr i32 %bf.load, 1 + %bf.clear = and i32 %bf.lshr, 1 + %tobool = icmp ne i32 %bf.clear, 0 + br i1 %tobool, label %if.then11, label %if.else + +if.then11: ; preds = %if.end9 + %arraydecay12 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 43, i8* %arraydecay12, align 1 + br label %if.end19 + +if.else: ; preds = %if.end9 + %10 = load %struct.printf_info.722*, %struct.printf_info.722** %info.addr, align 8 + %space = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %10, i32 0, i32 3 + %bf.load13 = load i32, i32* %space, align 4 + %bf.clear14 = and i32 %bf.load13, 1 + %tobool15 = icmp ne i32 %bf.clear14, 0 + br i1 %tobool15, label %if.then16, label %if.end19 + +if.then16: ; preds = %if.else + %arraydecay17 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 32, i8* %arraydecay17, align 1 + br label %if.end19 + +if.end19: ; preds = %if.else, %if.then16, %if.then11 + %arraydecay20 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay20, i64 1 + store i8 0, i8* %add.ptr, align 1 + %arrayidx = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 0, i64* %arrayidx, align 8 + %11 = load double, double* %x.addr, align 8 + %12 = load double, double* %x.addr, align 8 + %cmp21 = fcmp une double %11, %12 + br i1 %cmp21, label %if.then23, label %if.end25 + +if.then23: ; preds = %if.end19 + %arrayidx24 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 8, i64* %arrayidx24, align 8 + br label %INF_NAN + +if.end25: ; preds = %if.end19 + %13 = load double, double* %x.addr, align 8 + %cmp26 = fcmp oeq double %13, 0.000000e+00 + %14 = load double, double* %x.addr, align 8 + br i1 %cmp26, label %if.then28, label %if.end34 + +if.then28: ; preds = %if.end25 + %div = fdiv double 1.000000e+00, %14 + %cmp29 = fcmp olt double %div, 0.000000e+00 + br i1 %cmp29, label %if.then31, label %if.end33 + +if.then31: ; preds = %if.then28 + %arraydecay32 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 45, i8* %arraydecay32, align 1 + br label %if.end33 + +if.end33: ; preds = %if.then31, %if.then28 + store i32 -1, i32* %exp, align 4 + br label %GENERATE_DIGITS + +if.end34: ; preds = %if.end25 + %cmp35 = fcmp olt double %14, 0.000000e+00 + br i1 %cmp35, label %if.then37, label %if.end39 + +if.then37: ; preds = %if.end34 + %arraydecay38 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 45, i8* %arraydecay38, align 1 + %15 = load double, double* %x.addr, align 8 + %fneg = fneg double %15 + store double %fneg, double* %x.addr, align 8 + br label %if.end39 + +if.end39: ; preds = %if.then37, %if.end34 + %16 = load double, double* %x.addr, align 8 + %17 = load double, double* %x.addr, align 8 + %div40 = fdiv double %17, 4.000000e+00 + %cmp41 = fcmp oeq double %16, %div40 + br i1 %cmp41, label %INF_NAN, label %if.end58 + +INF_NAN: ; preds = %if.end39, %if.then23 + %18 = load %struct.printf_info.722*, %struct.printf_info.722** %info.addr, align 8 + %pad = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %18, i32 0, i32 4 + store i32 32, i32* %pad, align 4 + %arraydecay44 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + %add.ptr45 = getelementptr inbounds i64, i64* %arraydecay44, i64 6 + store i64* %add.ptr45, i64** %ppc, align 8 + %arrayidx46 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 3 + store i64 112, i64* %arrayidx46, align 8 + %arrayidx47 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 4 + store i64 3, i64* %arrayidx47, align 16 + %19 = load i8, i8* %mode, align 1 + %conv48 = sext i8 %19 to i32 + %cmp49 = icmp slt i32 %conv48, 97 + br i1 %cmp49, label %if.then51, label %if.end54 + +if.then51: ; preds = %INF_NAN + %arrayidx52 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + %20 = load i64, i64* %arrayidx52, align 8 + %add53 = add nsw i64 %20, 4 + store i64 %add53, i64* %arrayidx52, align 8 + br label %if.end54 + +if.end54: ; preds = %if.then51, %INF_NAN + %arrayidx55 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + %21 = load i64, i64* %arrayidx55, align 8 + %add.ptr56 = getelementptr inbounds i8, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 0), i64 %21 + %22 = ptrtoint i8* %add.ptr56 to i64 + %arrayidx57 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 %22, i64* %arrayidx57, align 8 + br label %EXIT_SPECIAL + +if.end58: ; preds = %if.end39 + store i32 8, i32* %exp, align 4 + store i32 9, i32* %i, align 4 + store i32 256, i32* %j, align 4 + store i32 0, i32* %exp_neg, align 4 + %23 = load double, double* %x.addr, align 8 + %cmp59 = fcmp olt double %23, 1.000000e+08 + br i1 %cmp59, label %if.then61, label %if.end62 + +if.then61: ; preds = %if.end58 + store i32 1, i32* %exp_neg, align 4 + br label %if.end62 + +if.end62: ; preds = %if.then61, %if.end58 + br label %do.body + +do.body: ; preds = %if.end85, %if.end62 + %24 = load i32, i32* %i, align 4 + %dec = add nsw i32 %24, -1 + store i32 %dec, i32* %i, align 4 + %25 = load i32, i32* %exp_neg, align 4 + %tobool63 = icmp ne i32 %25, 0 + %26 = load double, double* %x.addr, align 8 + %27 = load i32, i32* %i, align 4 + %idxprom = sext i32 %27 to i64 + %arrayidx65 = getelementptr inbounds [9 x double], [9 x double]* @exp10_table, i64 0, i64 %idxprom + %28 = load double, double* %arrayidx65, align 8 + br i1 %tobool63, label %if.then64, label %if.else73 + +if.then64: ; preds = %do.body + %mul = fmul double %26, %28 + %cmp66 = fcmp olt double %mul, 1.000000e+09 + br i1 %cmp66, label %if.then68, label %if.end85 + +if.then68: ; preds = %if.then64 + %29 = load i32, i32* %i, align 4 + %idxprom69 = sext i32 %29 to i64 + %arrayidx70 = getelementptr inbounds [9 x double], [9 x double]* @exp10_table, i64 0, i64 %idxprom69 + %30 = load double, double* %arrayidx70, align 8 + %31 = load double, double* %x.addr, align 8 + %mul71 = fmul double %31, %30 + store double %mul71, double* %x.addr, align 8 + %32 = load i32, i32* %j, align 4 + %33 = load i32, i32* %exp, align 4 + %sub = sub nsw i32 %33, %32 + store i32 %sub, i32* %exp, align 4 + br label %if.end85 + +if.else73: ; preds = %do.body + %div76 = fdiv double %26, %28 + %cmp77 = fcmp oge double %div76, 1.000000e+08 + br i1 %cmp77, label %if.then79, label %if.end85 + +if.then79: ; preds = %if.else73 + %34 = load i32, i32* %i, align 4 + %idxprom80 = sext i32 %34 to i64 + %arrayidx81 = getelementptr inbounds [9 x double], [9 x double]* @exp10_table, i64 0, i64 %idxprom80 + %35 = load double, double* %arrayidx81, align 8 + %36 = load double, double* %x.addr, align 8 + %div82 = fdiv double %36, %35 + store double %div82, double* %x.addr, align 8 + %37 = load i32, i32* %j, align 4 + %38 = load i32, i32* %exp, align 4 + %add83 = add nsw i32 %38, %37 + store i32 %add83, i32* %exp, align 4 + br label %if.end85 + +if.end85: ; preds = %if.else73, %if.then79, %if.then64, %if.then68 + %39 = load i32, i32* %j, align 4 + %shr = ashr i32 %39, 1 + store i32 %shr, i32* %j, align 4 + %40 = load i32, i32* %i, align 4 + %tobool86 = icmp ne i32 %40, 0 + br i1 %tobool86, label %do.body, label %do.end + +do.end: ; preds = %if.end85 + %41 = load double, double* %x.addr, align 8 + %cmp87 = fcmp oge double %41, 1.000000e+09 + br i1 %cmp87, label %if.then89, label %GENERATE_DIGITS + +if.then89: ; preds = %do.end + %42 = load double, double* getelementptr inbounds ([9 x double], [9 x double]* @exp10_table, i64 0, i64 0), align 16 + %43 = load double, double* %x.addr, align 8 + %div90 = fdiv double %43, %42 + store double %div90, double* %x.addr, align 8 + %44 = load i32, i32* %exp, align 4 + %inc = add nsw i32 %44, 1 + store i32 %inc, i32* %exp, align 4 + br label %GENERATE_DIGITS + +GENERATE_DIGITS: ; preds = %do.end, %if.then89, %if.end33 + %arraydecay94 = getelementptr inbounds [21 x i8], [21 x i8]* %buf, i64 0, i64 0 + %add.ptr95 = getelementptr inbounds i8, i8* %arraydecay94, i64 2 + store i8* %add.ptr95, i8** %s, align 8 + store i32 0, i32* %i92, align 4 + br label %do.body96 + +do.body96: ; preds = %do.cond114, %GENERATE_DIGITS + %45 = load double, double* %x.addr, align 8 + %conv97 = fptoui double %45 to i64 + store i64 %conv97, i64* %digit_block, align 8 + %46 = load double, double* %x.addr, align 8 + %47 = load i64, i64* %digit_block, align 8 + %conv98 = uitofp i64 %47 to double + %sub99 = fsub double %46, %conv98 + %mul100 = fmul double %sub99, 1.000000e+09 + store double %mul100, double* %x.addr, align 8 + %48 = load i8*, i8** %s, align 8 + %add.ptr101 = getelementptr inbounds i8, i8* %48, i64 9 + store i8* %add.ptr101, i8** %s, align 8 + store i32 0, i32* %j93, align 4 + br label %do.body102 + +do.body102: ; preds = %do.body102, %do.body96 + %49 = load i64, i64* %digit_block, align 8 + %rem = urem i64 %49, 10 + %add103 = add i64 48, %rem + %conv104 = trunc i64 %add103 to i8 + %50 = load i8*, i8** %s, align 8 + %51 = load i32, i32* %j93, align 4 + %inc105 = add nsw i32 %51, 1 + store i32 %inc105, i32* %j93, align 4 + %sub106 = sub nsw i32 0, %inc105 + %idxprom107 = sext i32 %sub106 to i64 + %arrayidx108 = getelementptr inbounds i8, i8* %50, i64 %idxprom107 + store i8 %conv104, i8* %arrayidx108, align 1 + %52 = load i64, i64* %digit_block, align 8 + %div109 = udiv i64 %52, 10 + store i64 %div109, i64* %digit_block, align 8 + %53 = load i32, i32* %j93, align 4 + %cmp111 = icmp slt i32 %53, 9 + br i1 %cmp111, label %do.body102, label %do.cond114 + +do.cond114: ; preds = %do.body102 + %54 = load i32, i32* %i92, align 4 + %inc115 = add nsw i32 %54, 1 + store i32 %inc115, i32* %i92, align 4 + %cmp116 = icmp slt i32 %inc115, 2 + br i1 %cmp116, label %do.body96, label %do.end118 + +do.end118: ; preds = %do.cond114 + %55 = load i8, i8* %mode, align 1 + %conv119 = sext i8 %55 to i32 + %cmp120 = icmp slt i32 %conv119, 97 + br i1 %cmp120, label %if.then122, label %if.end130 + +if.then122: ; preds = %do.end118 + %arraydecay123 = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + %56 = load i8, i8* %arraydecay123, align 16 + %conv124 = sext i8 %56 to i32 + %sub125 = sub nsw i32 %conv124, 32 + %conv126 = trunc i32 %sub125 to i8 + store i8 %conv126, i8* %arraydecay123, align 16 + %57 = load i8, i8* %mode, align 1 + %conv127 = sext i8 %57 to i32 + %add128 = add nsw i32 %conv127, 32 + %conv129 = trunc i32 %add128 to i8 + store i8 %conv129, i8* %mode, align 1 + br label %if.end130 + +if.end130: ; preds = %if.then122, %do.end118 + %58 = load i8, i8* %mode, align 1 + store i8 %58, i8* %o_mode, align 1 + %59 = load i8, i8* %mode, align 1 + %conv131 = sext i8 %59 to i32 + %cmp132 = icmp eq i32 %conv131, 103 + %60 = load i32, i32* %preci, align 4 + %cmp134 = icmp sgt i32 %60, 0 + %or.cond = and i1 %cmp132, %cmp134 + br i1 %or.cond, label %if.then136, label %if.end138 + +if.then136: ; preds = %if.end130 + %61 = load i32, i32* %preci, align 4 + %dec137 = add nsw i32 %61, -1 + store i32 %dec137, i32* %preci, align 4 + br label %if.end138 + +if.end138: ; preds = %if.then136, %if.end130 + %62 = load i32, i32* %preci, align 4 + store i32 %62, i32* %round, align 4 + %63 = load i8, i8* %mode, align 1 + %conv139 = sext i8 %63 to i32 + %cmp140 = icmp eq i32 %conv139, 102 + br i1 %cmp140, label %if.then142, label %if.end149 + +if.then142: ; preds = %if.end138 + %64 = load i32, i32* %exp, align 4 + %65 = load i32, i32* %round, align 4 + %add143 = add nsw i32 %65, %64 + store i32 %add143, i32* %round, align 4 + %66 = load i32, i32* %round, align 4 + %cmp144 = icmp slt i32 %66, -1 + br i1 %cmp144, label %if.then146, label %if.end149 + +if.then146: ; preds = %if.then142 + %arraydecay147 = getelementptr inbounds [21 x i8], [21 x i8]* %buf, i64 0, i64 0 + %call = call i8* @memset(i8* %arraydecay147, i32 48, i64 17) #20 + store i32 -1, i32* %exp, align 4 + store i32 -1, i32* %round, align 4 + br label %if.end149 + +if.end149: ; preds = %if.then142, %if.then146, %if.end138 + %arraydecay150 = getelementptr inbounds [21 x i8], [21 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay150, i8** %s, align 8 + %67 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %67, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + store i8 0, i8* %67, align 1 + %68 = load i8*, i8** %s, align 8 + store i8 48, i8* %68, align 1 + store i32 0, i32* %i151, align 4 + %69 = load i8*, i8** %s, align 8 + %add.ptr152 = getelementptr inbounds i8, i8* %69, i64 17 + %add.ptr153 = getelementptr inbounds i8, i8* %add.ptr152, i64 1 + store i8* %add.ptr153, i8** %e, align 8 + %70 = load i32, i32* %round, align 4 + %cmp154 = icmp slt i32 %70, 17 + br i1 %cmp154, label %if.then156, label %if.end164 + +if.then156: ; preds = %if.end149 + %71 = load i8*, i8** %s, align 8 + %72 = load i32, i32* %round, align 4 + %idx.ext = sext i32 %72 to i64 + %add.ptr157 = getelementptr inbounds i8, i8* %71, i64 %idx.ext + %add.ptr158 = getelementptr inbounds i8, i8* %add.ptr157, i64 2 + store i8* %add.ptr158, i8** %e, align 8 + %73 = load i8*, i8** %e, align 8 + %74 = load i8, i8* %73, align 1 + %conv159 = sext i8 %74 to i32 + %cmp160 = icmp sge i32 %conv159, 53 + br i1 %cmp160, label %if.then162, label %if.end164 + +if.then162: ; preds = %if.then156 + store i32 1, i32* %i151, align 4 + br label %if.end164 + +if.end164: ; preds = %if.then156, %if.then162, %if.end149 + br label %do.body165 + +do.body165: ; preds = %do.body165, %lor.rhs, %if.end164 + %75 = load i32, i32* %i151, align 4 + %76 = load i8*, i8** %e, align 8 + %incdec.ptr166 = getelementptr inbounds i8, i8* %76, i32 -1 + store i8* %incdec.ptr166, i8** %e, align 8 + %77 = load i8, i8* %incdec.ptr166, align 1 + %conv167 = sext i8 %77 to i32 + %add168 = add nsw i32 %conv167, %75 + %conv169 = trunc i32 %add168 to i8 + store i8 %conv169, i8* %incdec.ptr166, align 1 + %78 = load i8*, i8** %e, align 8 + %79 = load i8, i8* %78, align 1 + %conv171 = sext i8 %79 to i32 + %cmp172 = icmp eq i32 %conv171, 48 + br i1 %cmp172, label %do.body165, label %lor.rhs + +lor.rhs: ; preds = %do.body165 + %80 = load i8*, i8** %e, align 8 + %81 = load i8, i8* %80, align 1 + %conv174 = sext i8 %81 to i32 + %cmp175 = icmp sgt i32 %conv174, 57 + br i1 %cmp175, label %do.body165, label %do.end177 + +do.end177: ; preds = %lor.rhs + %82 = load i32, i32* %exp, align 4 + store i32 %82, i32* %o_exp, align 4 + %83 = load i8*, i8** %e, align 8 + %84 = load i8*, i8** %s, align 8 + %cmp178 = icmp ule i8* %83, %84 + br i1 %cmp178, label %if.then180, label %if.else182 + +if.then180: ; preds = %do.end177 + %85 = load i32, i32* %o_exp, align 4 + %inc181 = add nsw i32 %85, 1 + store i32 %inc181, i32* %o_exp, align 4 + %86 = load i8*, i8** %s, align 8 + store i8* %86, i8** %e, align 8 + br label %if.end184 + +if.else182: ; preds = %do.end177 + %87 = load i8*, i8** %s, align 8 + %incdec.ptr183 = getelementptr inbounds i8, i8* %87, i32 1 + store i8* %incdec.ptr183, i8** %s, align 8 + br label %if.end184 + +if.end184: ; preds = %if.else182, %if.then180 + %88 = load i8*, i8** %e, align 8 + %incdec.ptr185 = getelementptr inbounds i8, i8* %88, i32 1 + store i8* %incdec.ptr185, i8** %e, align 8 + store i8 0, i8* %incdec.ptr185, align 1 + %89 = load i8, i8* %mode, align 1 + %conv186 = sext i8 %89 to i32 + %cmp187 = icmp eq i32 %conv186, 103 + %90 = load i32, i32* %o_exp, align 4 + %cmp190 = icmp sge i32 %90, -4 + %or.cond1 = and i1 %cmp187, %cmp190 + br i1 %or.cond1, label %land.lhs.true192, label %if.end197 + +land.lhs.true192: ; preds = %if.end184 + %91 = load i32, i32* %o_exp, align 4 + %92 = load i32, i32* %round, align 4 + %cmp193 = icmp sle i32 %91, %92 + br i1 %cmp193, label %if.then195, label %if.end197 + +if.then195: ; preds = %land.lhs.true192 + store i8 102, i8* %mode, align 1 + %93 = load i32, i32* %round, align 4 + %94 = load i32, i32* %o_exp, align 4 + %sub196 = sub nsw i32 %93, %94 + store i32 %sub196, i32* %preci, align 4 + br label %if.end197 + +if.end197: ; preds = %if.then195, %land.lhs.true192, %if.end184 + %95 = load i32, i32* %o_exp, align 4 + store i32 %95, i32* %exp, align 4 + %96 = load i8, i8* %mode, align 1 + %conv198 = sext i8 %96 to i32 + %cmp199 = icmp ne i32 %conv198, 102 + br i1 %cmp199, label %if.then201, label %if.end202 + +if.then201: ; preds = %if.end197 + store i32 0, i32* %o_exp, align 4 + br label %if.end202 + +if.end202: ; preds = %if.then201, %if.end197 + %97 = load i32, i32* %o_exp, align 4 + %cmp203 = icmp slt i32 %97, 0 + br i1 %cmp203, label %if.then205, label %if.end207 + +if.then205: ; preds = %if.end202 + %98 = load i8*, i8** %s, align 8 + %incdec.ptr206 = getelementptr inbounds i8, i8* %98, i32 -1 + store i8* %incdec.ptr206, i8** %s, align 8 + store i8 48, i8* %incdec.ptr206, align 1 + br label %if.end207 + +if.end207: ; preds = %if.then205, %if.end202 + %arrayidx208 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 3 + store i64 176, i64* %arrayidx208, align 8 + %arrayidx209 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 4 + store i64 1, i64* %arrayidx209, align 16 + %arraydecay210 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %add.ptr211 = getelementptr inbounds i8, i8* %arraydecay210, i64 4 + %99 = ptrtoint i8* %add.ptr211 to i64 + %arrayidx212 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 %99, i64* %arrayidx212, align 8 + %100 = load i8*, i8** %s, align 8 + %incdec.ptr213 = getelementptr inbounds i8, i8* %100, i32 1 + store i8* %incdec.ptr213, i8** %s, align 8 + %101 = load i8, i8* %100, align 1 + %arrayidx214 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 4 + store i8 %101, i8* %arrayidx214, align 1 + %arrayidx215 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 5 + store i8 0, i8* %arrayidx215, align 1 + %arraydecay216 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + %add.ptr217 = getelementptr inbounds i64, i64* %arraydecay216, i64 6 + store i64* %add.ptr217, i64** %ppc, align 8 + %102 = load i8*, i8** %e, align 8 + %103 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %102 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %103 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %conv219 = trunc i64 %sub.ptr.sub to i32 + store i32 %conv219, i32* %i218, align 4 + %104 = load i32, i32* %o_exp, align 4 + %cmp220 = icmp sge i32 %104, 0 + br i1 %cmp220, label %if.then222, label %if.end253 + +if.then222: ; preds = %if.end207 + %105 = load i64*, i64** %ppc, align 8 + %arrayidx223 = getelementptr inbounds i64, i64* %105, i64 0 + store i64 112, i64* %arrayidx223, align 8 + %106 = load i8*, i8** %s, align 8 + %107 = ptrtoint i8* %106 to i64 + %108 = load i64*, i64** %ppc, align 8 + %arrayidx224 = getelementptr inbounds i64, i64* %108, i64 2 + store i64 %107, i64* %arrayidx224, align 8 + %109 = load i32, i32* %o_exp, align 4 + %110 = load i32, i32* %i218, align 4 + %cmp225 = icmp sge i32 %109, %110 + br i1 %cmp225, label %if.then227, label %if.else241 + +if.then227: ; preds = %if.then222 + %111 = load i32, i32* %i218, align 4 + %conv228 = sext i32 %111 to i64 + %112 = load i64*, i64** %ppc, align 8 + %arrayidx229 = getelementptr inbounds i64, i64* %112, i64 1 + store i64 %conv228, i64* %arrayidx229, align 8 + %113 = load i64*, i64** %ppc, align 8 + %add.ptr230 = getelementptr inbounds i64, i64* %113, i64 3 + store i64* %add.ptr230, i64** %ppc, align 8 + %114 = load i32, i32* %i218, align 4 + %115 = load i32, i32* %o_exp, align 4 + %sub231 = sub nsw i32 %115, %114 + store i32 %sub231, i32* %o_exp, align 4 + store i32 0, i32* %i218, align 4 + %116 = load i32, i32* %o_exp, align 4 + %cmp232 = icmp sgt i32 %116, 0 + br i1 %cmp232, label %if.then234, label %if.end252 + +if.then234: ; preds = %if.then227 + %117 = load i64*, i64** %ppc, align 8 + %arrayidx235 = getelementptr inbounds i64, i64* %117, i64 0 + store i64 176, i64* %arrayidx235, align 8 + %118 = load i32, i32* %o_exp, align 4 + %conv236 = sext i32 %118 to i64 + %119 = load i64*, i64** %ppc, align 8 + %arrayidx237 = getelementptr inbounds i64, i64* %119, i64 1 + store i64 %conv236, i64* %arrayidx237, align 8 + %120 = load i64*, i64** %ppc, align 8 + %arrayidx238 = getelementptr inbounds i64, i64* %120, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx238, align 8 + %121 = load i64*, i64** %ppc, align 8 + %add.ptr239 = getelementptr inbounds i64, i64* %121, i64 3 + store i64* %add.ptr239, i64** %ppc, align 8 + br label %if.end252 + +if.else241: ; preds = %if.then222 + %122 = load i32, i32* %o_exp, align 4 + %cmp242 = icmp sgt i32 %122, 0 + br i1 %cmp242, label %if.then244, label %if.end252 + +if.then244: ; preds = %if.else241 + %123 = load i32, i32* %o_exp, align 4 + %conv245 = sext i32 %123 to i64 + %124 = load i64*, i64** %ppc, align 8 + %arrayidx246 = getelementptr inbounds i64, i64* %124, i64 1 + store i64 %conv245, i64* %arrayidx246, align 8 + %125 = load i64*, i64** %ppc, align 8 + %add.ptr247 = getelementptr inbounds i64, i64* %125, i64 3 + store i64* %add.ptr247, i64** %ppc, align 8 + %126 = load i32, i32* %o_exp, align 4 + %127 = load i8*, i8** %s, align 8 + %idx.ext248 = sext i32 %126 to i64 + %add.ptr249 = getelementptr inbounds i8, i8* %127, i64 %idx.ext248 + store i8* %add.ptr249, i8** %s, align 8 + %128 = load i32, i32* %o_exp, align 4 + %129 = load i32, i32* %i218, align 4 + %sub250 = sub nsw i32 %129, %128 + store i32 %sub250, i32* %i218, align 4 + br label %if.end252 + +if.end252: ; preds = %if.else241, %if.then244, %if.then227, %if.then234 + store i32 -1, i32* %o_exp, align 4 + br label %if.end253 + +if.end253: ; preds = %if.end252, %if.end207 + %130 = load %struct.printf_info.722*, %struct.printf_info.722** %info.addr, align 8 + %alt = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %130, i32 0, i32 3 + %bf.load254 = load i32, i32* %alt, align 4 + %bf.lshr255 = lshr i32 %bf.load254, 4 + %bf.clear256 = and i32 %bf.lshr255, 1 + %tobool257 = icmp ne i32 %bf.clear256, 0 + %131 = load i32, i32* %i218, align 4 + %tobool258 = icmp ne i32 %131, 0 + %or.cond2 = or i1 %tobool257, %tobool258 + br i1 %or.cond2, label %if.then266, label %lor.lhs.false259 + +lor.lhs.false259: ; preds = %if.end253 + %132 = load i8, i8* %o_mode, align 1 + %conv260 = sext i8 %132 to i32 + %cmp261 = icmp ne i32 %conv260, 103 + %133 = load i32, i32* %preci, align 4 + %cmp264 = icmp sgt i32 %133, 0 + %or.cond3 = and i1 %cmp261, %cmp264 + br i1 %or.cond3, label %if.then266, label %if.end281 + +if.then266: ; preds = %lor.lhs.false259, %if.end253 + %134 = load i64*, i64** %ppc, align 8 + %arrayidx267 = getelementptr inbounds i64, i64* %134, i64 0 + store i64 112, i64* %arrayidx267, align 8 + %135 = load %struct.printf_info.722*, %struct.printf_info.722** %info.addr, align 8 + %wide = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %135, i32 0, i32 3 + %bf.load268 = load i32, i32* %wide, align 4 + %bf.lshr269 = lshr i32 %bf.load268, 7 + %bf.clear270 = and i32 %bf.lshr269, 1 + %tobool271 = icmp ne i32 %bf.clear270, 0 + br i1 %tobool271, label %if.then272, label %if.else275 + +if.then272: ; preds = %if.then266 + %136 = load i64*, i64** %ppc, align 8 + %arrayidx273 = getelementptr inbounds i64, i64* %136, i64 1 + store i64 1, i64* %arrayidx273, align 8 + %137 = load i64*, i64** %ppc, align 8 + %arrayidx274 = getelementptr inbounds i64, i64* %137, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 16) to i64), i64* %arrayidx274, align 8 + br label %if.end279 + +if.else275: ; preds = %if.then266 + %138 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__curlocale_var, align 8 + %decimal_point_len = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %138, i32 0, i32 26 + %139 = load i32, i32* %decimal_point_len, align 8 + %conv276 = sext i32 %139 to i64 + %140 = load i64*, i64** %ppc, align 8 + %arrayidx277 = getelementptr inbounds i64, i64* %140, i64 1 + store i64 %conv276, i64* %arrayidx277, align 8 + %141 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__curlocale_var, align 8 + %decimal_point = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %141, i32 0, i32 39 + %142 = load i8*, i8** %decimal_point, align 8 + %143 = ptrtoint i8* %142 to i64 + %144 = load i64*, i64** %ppc, align 8 + %arrayidx278 = getelementptr inbounds i64, i64* %144, i64 2 + store i64 %143, i64* %arrayidx278, align 8 + br label %if.end279 + +if.end279: ; preds = %if.else275, %if.then272 + %145 = load i64*, i64** %ppc, align 8 + %add.ptr280 = getelementptr inbounds i64, i64* %145, i64 3 + store i64* %add.ptr280, i64** %ppc, align 8 + br label %if.end281 + +if.end281: ; preds = %if.end279, %lor.lhs.false259 + %146 = load i32, i32* %o_exp, align 4 + %inc282 = add nsw i32 %146, 1 + store i32 %inc282, i32* %o_exp, align 4 + %cmp283 = icmp slt i32 %inc282, 0 + br i1 %cmp283, label %if.then285, label %if.end292 + +if.then285: ; preds = %if.end281 + %147 = load i64*, i64** %ppc, align 8 + %arrayidx286 = getelementptr inbounds i64, i64* %147, i64 0 + store i64 176, i64* %arrayidx286, align 8 + %148 = load i32, i32* %o_exp, align 4 + %sub287 = sub nsw i32 0, %148 + %conv288 = sext i32 %sub287 to i64 + %149 = load i64*, i64** %ppc, align 8 + %arrayidx289 = getelementptr inbounds i64, i64* %149, i64 1 + store i64 %conv288, i64* %arrayidx289, align 8 + %150 = load i64*, i64** %ppc, align 8 + %arrayidx290 = getelementptr inbounds i64, i64* %150, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx290, align 8 + %151 = load i64*, i64** %ppc, align 8 + %add.ptr291 = getelementptr inbounds i64, i64* %151, i64 3 + store i64* %add.ptr291, i64** %ppc, align 8 + br label %if.end292 + +if.end292: ; preds = %if.then285, %if.end281 + %152 = load i32, i32* %i218, align 4 + %tobool293 = icmp ne i32 %152, 0 + br i1 %tobool293, label %if.then294, label %if.end300 + +if.then294: ; preds = %if.end292 + %153 = load i64*, i64** %ppc, align 8 + %arrayidx295 = getelementptr inbounds i64, i64* %153, i64 0 + store i64 112, i64* %arrayidx295, align 8 + %154 = load i32, i32* %i218, align 4 + %conv296 = sext i32 %154 to i64 + %155 = load i64*, i64** %ppc, align 8 + %arrayidx297 = getelementptr inbounds i64, i64* %155, i64 1 + store i64 %conv296, i64* %arrayidx297, align 8 + %156 = load i8*, i8** %s, align 8 + %157 = ptrtoint i8* %156 to i64 + %158 = load i64*, i64** %ppc, align 8 + %arrayidx298 = getelementptr inbounds i64, i64* %158, i64 2 + store i64 %157, i64* %arrayidx298, align 8 + %159 = load i64*, i64** %ppc, align 8 + %add.ptr299 = getelementptr inbounds i64, i64* %159, i64 3 + store i64* %add.ptr299, i64** %ppc, align 8 + br label %if.end300 + +if.end300: ; preds = %if.then294, %if.end292 + %160 = load i8, i8* %o_mode, align 1 + %conv301 = sext i8 %160 to i32 + %cmp302 = icmp ne i32 %conv301, 103 + br i1 %cmp302, label %if.then310, label %lor.lhs.false304 + +lor.lhs.false304: ; preds = %if.end300 + %161 = load %struct.printf_info.722*, %struct.printf_info.722** %info.addr, align 8 + %alt305 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %161, i32 0, i32 3 + %bf.load306 = load i32, i32* %alt305, align 4 + %bf.lshr307 = lshr i32 %bf.load306, 4 + %bf.clear308 = and i32 %bf.lshr307, 1 + %tobool309 = icmp ne i32 %bf.clear308, 0 + br i1 %tobool309, label %if.then310, label %if.end322 + +if.then310: ; preds = %lor.lhs.false304, %if.end300 + %162 = load i32, i32* %o_exp, align 4 + %163 = load i32, i32* %i218, align 4 + %sub311 = sub nsw i32 %163, %162 + store i32 %sub311, i32* %i218, align 4 + %164 = load i32, i32* %i218, align 4 + %165 = load i32, i32* %preci, align 4 + %cmp312 = icmp slt i32 %164, %165 + br i1 %cmp312, label %if.then314, label %if.end322 + +if.then314: ; preds = %if.then310 + %166 = load i32, i32* %preci, align 4 + %167 = load i32, i32* %i218, align 4 + %sub315 = sub nsw i32 %166, %167 + store i32 %sub315, i32* %i218, align 4 + %168 = load i64*, i64** %ppc, align 8 + %arrayidx316 = getelementptr inbounds i64, i64* %168, i64 0 + store i64 176, i64* %arrayidx316, align 8 + %169 = load i32, i32* %i218, align 4 + %conv317 = sext i32 %169 to i64 + %170 = load i64*, i64** %ppc, align 8 + %arrayidx318 = getelementptr inbounds i64, i64* %170, i64 1 + store i64 %conv317, i64* %arrayidx318, align 8 + %171 = load i64*, i64** %ppc, align 8 + %arrayidx319 = getelementptr inbounds i64, i64* %171, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx319, align 8 + %172 = load i64*, i64** %ppc, align 8 + %add.ptr320 = getelementptr inbounds i64, i64* %172, i64 3 + store i64* %add.ptr320, i64** %ppc, align 8 + br label %if.end322 + +if.end322: ; preds = %if.then310, %if.then314, %lor.lhs.false304 + %173 = load i8, i8* %mode, align 1 + %conv323 = sext i8 %173 to i32 + %cmp324 = icmp ne i32 %conv323, 102 + br i1 %cmp324, label %if.then326, label %EXIT_SPECIAL + +if.then326: ; preds = %if.end322 + %arraydecay327 = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + %add.ptr328 = getelementptr inbounds i8, i8* %arraydecay327, i64 16 + store i8* %add.ptr328, i8** %p, align 8 + %arraydecay330 = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + %174 = load i8, i8* %arraydecay330, align 16 + store i8 %174, i8* %exp_char, align 1 + store i8 43, i8* %exp_sign, align 1 + %175 = load i32, i32* %exp, align 4 + %cmp331 = icmp slt i32 %175, 0 + br i1 %cmp331, label %if.then333, label %if.end335 + +if.then333: ; preds = %if.then326 + store i8 45, i8* %exp_sign, align 1 + %176 = load i32, i32* %exp, align 4 + %sub334 = sub nsw i32 0, %176 + store i32 %sub334, i32* %exp, align 4 + br label %if.end335 + +if.end335: ; preds = %if.then333, %if.then326 + %177 = load i8*, i8** %p, align 8 + %incdec.ptr336 = getelementptr inbounds i8, i8* %177, i32 -1 + store i8* %incdec.ptr336, i8** %p, align 8 + store i8 0, i8* %incdec.ptr336, align 1 + store i32 2, i32* %j329, align 4 + br label %do.body337 + +do.body337: ; preds = %do.body337, %if.end335 + %178 = load i32, i32* %exp, align 4 + %rem338 = srem i32 %178, 10 + %add339 = add nsw i32 48, %rem338 + %conv340 = trunc i32 %add339 to i8 + %179 = load i8*, i8** %p, align 8 + %incdec.ptr341 = getelementptr inbounds i8, i8* %179, i32 -1 + store i8* %incdec.ptr341, i8** %p, align 8 + store i8 %conv340, i8* %incdec.ptr341, align 1 + %180 = load i32, i32* %exp, align 4 + %div342 = sdiv i32 %180, 10 + store i32 %div342, i32* %exp, align 4 + %181 = load i32, i32* %j329, align 4 + %inc344 = add nsw i32 %181, 1 + store i32 %inc344, i32* %j329, align 4 + %cmp345 = icmp slt i32 %inc344, 4 + %182 = load i32, i32* %exp, align 4 + %tobool348 = icmp ne i32 %182, 0 + %183 = select i1 %cmp345, i1 true, i1 %tobool348 + br i1 %183, label %do.body337, label %do.end350 + +do.end350: ; preds = %do.body337 + %184 = load i8, i8* %exp_sign, align 1 + %185 = load i8*, i8** %p, align 8 + %incdec.ptr351 = getelementptr inbounds i8, i8* %185, i32 -1 + store i8* %incdec.ptr351, i8** %p, align 8 + store i8 %184, i8* %incdec.ptr351, align 1 + %186 = load i8, i8* %exp_char, align 1 + %187 = load i8*, i8** %p, align 8 + %incdec.ptr352 = getelementptr inbounds i8, i8* %187, i32 -1 + store i8* %incdec.ptr352, i8** %p, align 8 + store i8 %186, i8* %incdec.ptr352, align 1 + %188 = load i64*, i64** %ppc, align 8 + %arrayidx353 = getelementptr inbounds i64, i64* %188, i64 0 + store i64 112, i64* %arrayidx353, align 8 + %189 = load i32, i32* %j329, align 4 + %conv354 = sext i32 %189 to i64 + %190 = load i64*, i64** %ppc, align 8 + %arrayidx355 = getelementptr inbounds i64, i64* %190, i64 1 + store i64 %conv354, i64* %arrayidx355, align 8 + %191 = load i8*, i8** %p, align 8 + %192 = ptrtoint i8* %191 to i64 + %193 = load i64*, i64** %ppc, align 8 + %arrayidx356 = getelementptr inbounds i64, i64* %193, i64 2 + store i64 %192, i64* %arrayidx356, align 8 + %194 = load i64*, i64** %ppc, align 8 + %add.ptr357 = getelementptr inbounds i64, i64* %194, i64 3 + store i64* %add.ptr357, i64** %ppc, align 8 + br label %EXIT_SPECIAL + +EXIT_SPECIAL: ; preds = %if.end322, %do.end350, %if.end54 + %195 = load i64*, i64** %ppc, align 8 + store i64* %195, i64** %ppc_last, align 8 + %arraydecay360 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + %add.ptr361 = getelementptr inbounds i64, i64* %arraydecay360, i64 4 + store i64* %add.ptr361, i64** %ppc, align 8 + br label %do.body362 + +do.body362: ; preds = %do.body362, %EXIT_SPECIAL + %196 = load i64*, i64** %ppc, align 8 + %197 = load i64, i64* %196, align 8 + %198 = load i32, i32* %width, align 4 + %conv363 = sext i32 %198 to i64 + %sub364 = sub nsw i64 %conv363, %197 + %conv365 = trunc i64 %sub364 to i32 + store i32 %conv365, i32* %width, align 4 + %199 = load i64*, i64** %ppc, align 8 + %add.ptr366 = getelementptr inbounds i64, i64* %199, i64 3 + store i64* %add.ptr366, i64** %ppc, align 8 + %200 = load i64*, i64** %ppc, align 8 + %201 = load i64*, i64** %ppc_last, align 8 + %cmp368 = icmp ult i64* %200, %201 + br i1 %cmp368, label %do.body362, label %do.end370 + +do.end370: ; preds = %do.body362 + %arraydecay371 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + store i64* %arraydecay371, i64** %ppc, align 8 + %202 = load i64*, i64** %ppc, align 8 + %arrayidx372 = getelementptr inbounds i64, i64* %202, i64 0 + store i64 160, i64* %arrayidx372, align 8 + %arraydecay373 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %203 = load i8, i8* %arraydecay373, align 1 + %conv374 = sext i8 %203 to i32 + %cmp375 = icmp ne i32 %conv374, 0 + %conv376 = zext i1 %cmp375 to i32 + store i32 %conv376, i32* %i359, align 4 + %conv377 = sext i32 %conv376 to i64 + %204 = load i64*, i64** %ppc, align 8 + %arrayidx378 = getelementptr inbounds i64, i64* %204, i64 1 + store i64 %conv377, i64* %arrayidx378, align 8 + %arraydecay379 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %205 = ptrtoint i8* %arraydecay379 to i64 + %206 = load i64*, i64** %ppc, align 8 + %arrayidx380 = getelementptr inbounds i64, i64* %206, i64 2 + store i64 %205, i64* %arrayidx380, align 8 + %207 = load i32, i32* %i359, align 4 + %208 = load i32, i32* %width, align 4 + %sub381 = sub nsw i32 %208, %207 + store i32 %sub381, i32* %width, align 4 + %cmp382 = icmp sgt i32 %sub381, 0 + br i1 %cmp382, label %if.then384, label %if.end409 + +if.then384: ; preds = %do.end370 + %209 = load %struct.printf_info.722*, %struct.printf_info.722** %info.addr, align 8 + %left = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %209, i32 0, i32 3 + %bf.load385 = load i32, i32* %left, align 4 + %bf.lshr386 = lshr i32 %bf.load385, 3 + %bf.clear387 = and i32 %bf.lshr386, 1 + %tobool388 = icmp ne i32 %bf.clear387, 0 + br i1 %tobool388, label %if.then389, label %if.else395 + +if.then389: ; preds = %if.then384 + %210 = load i64*, i64** %ppc_last, align 8 + %arrayidx390 = getelementptr inbounds i64, i64* %210, i64 0 + store i64 160, i64* %arrayidx390, align 8 + %211 = load i32, i32* %width, align 4 + %conv391 = sext i32 %211 to i64 + %212 = load i64*, i64** %ppc_last, align 8 + %arrayidx392 = getelementptr inbounds i64, i64* %212, i64 1 + store i64 %conv391, i64* %arrayidx392, align 8 + %213 = load i64*, i64** %ppc_last, align 8 + %arrayidx393 = getelementptr inbounds i64, i64* %213, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx393, align 8 + %214 = load i64*, i64** %ppc_last, align 8 + %add.ptr394 = getelementptr inbounds i64, i64* %214, i64 3 + store i64* %add.ptr394, i64** %ppc_last, align 8 + br label %if.end409 + +if.else395: ; preds = %if.then384 + %215 = load %struct.printf_info.722*, %struct.printf_info.722** %info.addr, align 8 + %pad396 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %215, i32 0, i32 4 + %216 = load i32, i32* %pad396, align 4 + %cmp397 = icmp eq i32 %216, 48 + %217 = load i32, i32* %width, align 4 + %conv400 = sext i32 %217 to i64 + %218 = load i64*, i64** %ppc, align 8 + br i1 %cmp397, label %if.then399, label %if.else403 + +if.then399: ; preds = %if.else395 + %arrayidx401 = getelementptr inbounds i64, i64* %218, i64 4 + %219 = load i64, i64* %arrayidx401, align 8 + %add402 = add nsw i64 %219, %conv400 + store i64 %add402, i64* %arrayidx401, align 8 + br label %if.end409 + +if.else403: ; preds = %if.else395 + %arrayidx405 = getelementptr inbounds i64, i64* %218, i64 1 + %220 = load i64, i64* %arrayidx405, align 8 + %add406 = add nsw i64 %220, %conv400 + store i64 %add406, i64* %arrayidx405, align 8 + br label %if.end409 + +if.end409: ; preds = %if.then389, %if.else403, %if.then399, %do.end370 + store i32 0, i32* %cnt, align 4 + br label %do.body410 + +do.body410: ; preds = %if.end418, %if.end409 + %221 = load i64 (%struct.__STDIO_FILE_STRUCT.570*, i64, i64, i64)*, i64 (%struct.__STDIO_FILE_STRUCT.570*, i64, i64, i64)** %fp_outfunc.addr, align 8 + %222 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %fp.addr, align 8 + %223 = load i64*, i64** %ppc, align 8 + %224 = load i64, i64* %223, align 8 + %225 = load i64*, i64** %ppc, align 8 + %arrayidx411 = getelementptr inbounds i64, i64* %225, i64 1 + %226 = load i64, i64* %arrayidx411, align 8 + %227 = load i64*, i64** %ppc, align 8 + %arrayidx412 = getelementptr inbounds i64, i64* %227, i64 2 + %228 = load i64, i64* %arrayidx412, align 8 + %call413 = call i64 %221(%struct.__STDIO_FILE_STRUCT.570* %222, i64 %224, i64 %226, i64 %228) #19 + %229 = load i64*, i64** %ppc, align 8 + %arrayidx414 = getelementptr inbounds i64, i64* %229, i64 1 + %230 = load i64, i64* %arrayidx414, align 8 + %cmp415 = icmp ne i64 %call413, %230 + br i1 %cmp415, label %if.then417, label %if.end418 + +if.then417: ; preds = %do.body410 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end418: ; preds = %do.body410 + %231 = load i64*, i64** %ppc, align 8 + %arrayidx419 = getelementptr inbounds i64, i64* %231, i64 1 + %232 = load i64, i64* %arrayidx419, align 8 + %233 = load i32, i32* %cnt, align 4 + %conv420 = sext i32 %233 to i64 + %add421 = add nsw i64 %conv420, %232 + %conv422 = trunc i64 %add421 to i32 + store i32 %conv422, i32* %cnt, align 4 + %234 = load i64*, i64** %ppc, align 8 + %add.ptr423 = getelementptr inbounds i64, i64* %234, i64 3 + store i64* %add.ptr423, i64** %ppc, align 8 + %235 = load i64*, i64** %ppc, align 8 + %236 = load i64*, i64** %ppc_last, align 8 + %cmp425 = icmp ult i64* %235, %236 + br i1 %cmp425, label %do.body410, label %do.end427 + +do.end427: ; preds = %if.end418 + %237 = load i32, i32* %cnt, align 4 + %conv428 = sext i32 %237 to i64 + store i64 %conv428, i64* %retval, align 8 + br label %return + +return: ; preds = %do.end427, %if.then417 + %238 = load i64, i64* %retval, align 8 + ret i64 %238 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_fwrite(i8* noalias %buffer, i64 %bytes, %struct.__STDIO_FILE_STRUCT.623* noalias %stream) #0 { +entry: + %retval = alloca i64, align 8 + %buffer.addr = alloca i8*, align 8 + %bytes.addr = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.623*, align 8 + %pending = alloca i64, align 8 + %p = alloca i8*, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %bytes, i64* %bytes.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.623* %stream, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.623*, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.623, %struct.__STDIO_FILE_STRUCT.623* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 512 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end63, label %if.then + +if.then: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.623*, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.623, %struct.__STDIO_FILE_STRUCT.623* %2, i32 0, i32 2 + %3 = load i32, i32* %__filedes, align 4 + %cmp = icmp eq i32 %3, -2 + br i1 %cmp, label %if.then2, label %if.end8 + +if.then2: ; preds = %if.then + %4 = load %struct.__STDIO_FILE_STRUCT.623*, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.623, %struct.__STDIO_FILE_STRUCT.623* %4, i32 0, i32 4 + %5 = load i8*, i8** %__bufend, align 8 + %6 = load %struct.__STDIO_FILE_STRUCT.623*, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.623, %struct.__STDIO_FILE_STRUCT.623* %6, i32 0, i32 5 + %7 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %pending, align 8 + %8 = load i64, i64* %pending, align 8 + %9 = load i64, i64* %bytes.addr, align 8 + %cmp3 = icmp ugt i64 %8, %9 + br i1 %cmp3, label %if.then5, label %if.end + +if.then5: ; preds = %if.then2 + %10 = load i64, i64* %bytes.addr, align 8 + store i64 %10, i64* %pending, align 8 + br label %if.end + +if.end: ; preds = %if.then5, %if.then2 + %11 = load %struct.__STDIO_FILE_STRUCT.623*, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %__bufpos6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.623, %struct.__STDIO_FILE_STRUCT.623* %11, i32 0, i32 5 + %12 = load i8*, i8** %__bufpos6, align 8 + %13 = load i8*, i8** %buffer.addr, align 8 + %14 = load i64, i64* %pending, align 8 + %call = call i8* @memcpy(i8* %12, i8* %13, i64 %14) #20 + %15 = load i64, i64* %pending, align 8 + %16 = load %struct.__STDIO_FILE_STRUCT.623*, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %__bufpos7 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.623, %struct.__STDIO_FILE_STRUCT.623* %16, i32 0, i32 5 + %17 = load i8*, i8** %__bufpos7, align 8 + %add.ptr = getelementptr inbounds i8, i8* %17, i64 %15 + store i8* %add.ptr, i8** %__bufpos7, align 8 + %18 = load i64, i64* %bytes.addr, align 8 + store i64 %18, i64* %retval, align 8 + br label %return + +if.end8: ; preds = %if.then + %19 = load i64, i64* %bytes.addr, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.623*, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %__bufend9 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.623, %struct.__STDIO_FILE_STRUCT.623* %20, i32 0, i32 4 + %21 = load i8*, i8** %__bufend9, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.623*, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %__bufpos10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.623, %struct.__STDIO_FILE_STRUCT.623* %22, i32 0, i32 5 + %23 = load i8*, i8** %__bufpos10, align 8 + %sub.ptr.lhs.cast11 = ptrtoint i8* %21 to i64 + %sub.ptr.rhs.cast12 = ptrtoint i8* %23 to i64 + %sub.ptr.sub13 = sub i64 %sub.ptr.lhs.cast11, %sub.ptr.rhs.cast12 + %cmp14 = icmp ule i64 %19, %sub.ptr.sub13 + %24 = load %struct.__STDIO_FILE_STRUCT.623*, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %__bufpos17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.623, %struct.__STDIO_FILE_STRUCT.623* %24, i32 0, i32 5 + %25 = load i8*, i8** %__bufpos17, align 8 + br i1 %cmp14, label %if.then16, label %if.end51 + +if.then16: ; preds = %if.end8 + %26 = load i8*, i8** %buffer.addr, align 8 + %27 = load i64, i64* %bytes.addr, align 8 + %call18 = call i8* @memcpy(i8* %25, i8* %26, i64 %27) #20 + %28 = load i64, i64* %bytes.addr, align 8 + %29 = load %struct.__STDIO_FILE_STRUCT.623*, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %__bufpos19 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.623, %struct.__STDIO_FILE_STRUCT.623* %29, i32 0, i32 5 + %30 = load i8*, i8** %__bufpos19, align 8 + %add.ptr20 = getelementptr inbounds i8, i8* %30, i64 %28 + store i8* %add.ptr20, i8** %__bufpos19, align 8 + %31 = load %struct.__STDIO_FILE_STRUCT.623*, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %__modeflags21 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.623, %struct.__STDIO_FILE_STRUCT.623* %31, i32 0, i32 0 + %32 = load i16, i16* %__modeflags21, align 8 + %conv22 = zext i16 %32 to i32 + %and23 = and i32 %conv22, 256 + %tobool24 = icmp ne i32 %and23, 0 + br i1 %tobool24, label %land.lhs.true, label %if.end50 + +land.lhs.true: ; preds = %if.then16 + %33 = load i8*, i8** %buffer.addr, align 8 + %34 = load i64, i64* %bytes.addr, align 8 + %call25 = call i8* @memrchr(i8* %33, i32 10, i64 %34) #21 + %tobool26 = icmp ne i8* %call25, null + br i1 %tobool26, label %if.then27, label %if.end50 + +if.then27: ; preds = %land.lhs.true + %35 = load %struct.__STDIO_FILE_STRUCT.623*, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %call28 = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.570*)* @__stdio_wcommit to i64 (%struct.__STDIO_FILE_STRUCT.623*)*)(%struct.__STDIO_FILE_STRUCT.623* %35) #19 + store i64 %call28, i64* %pending, align 8 + %cmp29 = icmp ugt i64 %call28, 0 + br i1 %cmp29, label %if.then31, label %if.end50 + +if.then31: ; preds = %if.then27 + %36 = load i64, i64* %pending, align 8 + %37 = load i64, i64* %bytes.addr, align 8 + %cmp32 = icmp ugt i64 %36, %37 + br i1 %cmp32, label %if.then34, label %if.end35 + +if.then34: ; preds = %if.then31 + %38 = load i64, i64* %bytes.addr, align 8 + store i64 %38, i64* %pending, align 8 + br label %if.end35 + +if.end35: ; preds = %if.then34, %if.then31 + %39 = load i64, i64* %bytes.addr, align 8 + %40 = load i64, i64* %pending, align 8 + %sub = sub i64 %39, %40 + %41 = load i8*, i8** %buffer.addr, align 8 + %add.ptr36 = getelementptr inbounds i8, i8* %41, i64 %sub + store i8* %add.ptr36, i8** %buffer.addr, align 8 + %42 = load i8*, i8** %buffer.addr, align 8 + %43 = load i64, i64* %pending, align 8 + %call37 = call i8* @memchr(i8* %42, i32 10, i64 %43) #21 + store i8* %call37, i8** %p, align 8 + %cmp38 = icmp ne i8* %call37, null + br i1 %cmp38, label %if.then40, label %if.end50 + +if.then40: ; preds = %if.end35 + %44 = load i8*, i8** %buffer.addr, align 8 + %45 = load i64, i64* %pending, align 8 + %add.ptr41 = getelementptr inbounds i8, i8* %44, i64 %45 + %46 = load i8*, i8** %p, align 8 + %sub.ptr.lhs.cast42 = ptrtoint i8* %add.ptr41 to i64 + %sub.ptr.rhs.cast43 = ptrtoint i8* %46 to i64 + %sub.ptr.sub44 = sub i64 %sub.ptr.lhs.cast42, %sub.ptr.rhs.cast43 + store i64 %sub.ptr.sub44, i64* %pending, align 8 + %47 = load i64, i64* %pending, align 8 + %48 = load i64, i64* %bytes.addr, align 8 + %sub45 = sub i64 %48, %47 + store i64 %sub45, i64* %bytes.addr, align 8 + %49 = load i64, i64* %pending, align 8 + %50 = load %struct.__STDIO_FILE_STRUCT.623*, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %__bufpos46 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.623, %struct.__STDIO_FILE_STRUCT.623* %50, i32 0, i32 5 + %51 = load i8*, i8** %__bufpos46, align 8 + %idx.neg = sub i64 0, %49 + %add.ptr47 = getelementptr inbounds i8, i8* %51, i64 %idx.neg + store i8* %add.ptr47, i8** %__bufpos46, align 8 + br label %if.end50 + +if.end50: ; preds = %if.then27, %if.then40, %if.end35, %land.lhs.true, %if.then16 + %52 = load i64, i64* %bytes.addr, align 8 + store i64 %52, i64* %retval, align 8 + br label %return + +if.end51: ; preds = %if.end8 + %53 = load %struct.__STDIO_FILE_STRUCT.623*, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.623, %struct.__STDIO_FILE_STRUCT.623* %53, i32 0, i32 3 + %54 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast53 = ptrtoint i8* %25 to i64 + %sub.ptr.rhs.cast54 = ptrtoint i8* %54 to i64 + %sub.ptr.sub55 = sub i64 %sub.ptr.lhs.cast53, %sub.ptr.rhs.cast54 + %tobool56 = icmp ne i64 %sub.ptr.sub55, 0 + br i1 %tobool56, label %if.then57, label %if.end63 + +if.then57: ; preds = %if.end51 + %55 = load %struct.__STDIO_FILE_STRUCT.623*, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %call58 = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.570*)* @__stdio_wcommit to i64 (%struct.__STDIO_FILE_STRUCT.623*)*)(%struct.__STDIO_FILE_STRUCT.623* %55) #19 + %tobool59 = icmp ne i64 %call58, 0 + br i1 %tobool59, label %if.then60, label %if.end63 + +if.then60: ; preds = %if.then57 + store i64 0, i64* %retval, align 8 + br label %return + +if.end63: ; preds = %if.end51, %if.then57, %entry + %56 = load %struct.__STDIO_FILE_STRUCT.623*, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %57 = load i8*, i8** %buffer.addr, align 8 + %58 = load i64, i64* %bytes.addr, align 8 + %call64 = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.570*, i8*, i64)* @__stdio_WRITE to i64 (%struct.__STDIO_FILE_STRUCT.623*, i8*, i64)*)(%struct.__STDIO_FILE_STRUCT.623* %56, i8* %57, i64 %58) #19 + store i64 %call64, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end63, %if.then60, %if.end50, %if.end + %59 = load i64, i64* %retval, align 8 + ret i64 %59 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_load_inttype(i32 %desttype, i8* %src, i32 %uflag) #0 { +entry: + %retval = alloca i64, align 8 + %desttype.addr = alloca i32, align 4 + %src.addr = alloca i8*, align 8 + %uflag.addr = alloca i32, align 4 + %x = alloca i32, align 4 + %x24 = alloca i32, align 4 + store i32 %desttype, i32* %desttype.addr, align 4 + store i8* %src, i8** %src.addr, align 8 + store i32 %uflag, i32* %uflag.addr, align 4 + %0 = load i32, i32* %uflag.addr, align 4 + %cmp = icmp sge i32 %0, 0 + %1 = load i32, i32* %desttype.addr, align 4 + %and = and i32 %1, 3072 + %tobool = icmp ne i32 %and, 0 + %2 = load i8*, i8** %src.addr, align 8 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + br i1 %tobool, label %if.then1, label %if.end4 + +if.then1: ; preds = %if.then + %3 = bitcast i8* %2 to i64* + %4 = load i64, i64* %3, align 8 + store i64 %4, i64* %retval, align 8 + br label %return + +if.end4: ; preds = %if.then + %5 = bitcast i8* %2 to i32* + %6 = load i32, i32* %5, align 4 + store i32 %6, i32* %x, align 4 + %7 = load i32, i32* %desttype.addr, align 4 + %cmp5 = icmp eq i32 %7, 256 + br i1 %cmp5, label %if.then6, label %if.end8 + +if.then6: ; preds = %if.end4 + %8 = load i32, i32* %x, align 4 + %conv = trunc i32 %8 to i8 + %conv7 = zext i8 %conv to i32 + store i32 %conv7, i32* %x, align 4 + br label %if.end8 + +if.end8: ; preds = %if.then6, %if.end4 + %9 = load i32, i32* %desttype.addr, align 4 + %cmp9 = icmp eq i32 %9, 512 + br i1 %cmp9, label %if.then11, label %if.end14 + +if.then11: ; preds = %if.end8 + %10 = load i32, i32* %x, align 4 + %conv12 = trunc i32 %10 to i16 + %conv13 = zext i16 %conv12 to i32 + store i32 %conv13, i32* %x, align 4 + br label %if.end14 + +if.end14: ; preds = %if.then11, %if.end8 + %11 = load i32, i32* %x, align 4 + %conv15 = zext i32 %11 to i64 + store i64 %conv15, i64* %retval, align 8 + br label %return + +if.else: ; preds = %entry + br i1 %tobool, label %if.then18, label %if.end23 + +if.then18: ; preds = %if.else + %12 = bitcast i8* %2 to i64* + %13 = load i64, i64* %12, align 8 + store i64 %13, i64* %retval, align 8 + br label %return + +if.end23: ; preds = %if.else + %14 = bitcast i8* %2 to i32* + %15 = load i32, i32* %14, align 4 + store i32 %15, i32* %x24, align 4 + %16 = load i32, i32* %desttype.addr, align 4 + %cmp25 = icmp eq i32 %16, 256 + br i1 %cmp25, label %if.then27, label %if.end30 + +if.then27: ; preds = %if.end23 + %17 = load i32, i32* %x24, align 4 + %conv28 = trunc i32 %17 to i8 + %conv29 = sext i8 %conv28 to i32 + store i32 %conv29, i32* %x24, align 4 + br label %if.end30 + +if.end30: ; preds = %if.then27, %if.end23 + %18 = load i32, i32* %desttype.addr, align 4 + %cmp31 = icmp eq i32 %18, 512 + br i1 %cmp31, label %if.then33, label %if.end36 + +if.then33: ; preds = %if.end30 + %19 = load i32, i32* %x24, align 4 + %conv34 = trunc i32 %19 to i16 + %conv35 = sext i16 %conv34 to i32 + store i32 %conv35, i32* %x24, align 4 + br label %if.end36 + +if.end36: ; preds = %if.then33, %if.end30 + %20 = load i32, i32* %x24, align 4 + %conv37 = sext i32 %20 to i64 + store i64 %conv37, i64* %retval, align 8 + br label %return + +return: ; preds = %if.then18, %if.then1, %if.end36, %if.end14 + %21 = load i64, i64* %retval, align 8 + ret i64 %21 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_ppfs_init(%struct.ppfs_t.724* %ppfs, i8* %fmt0) #0 { +entry: + %retval = alloca i32, align 4 + %ppfs.addr = alloca %struct.ppfs_t.724*, align 8 + %fmt0.addr = alloca i8*, align 8 + %r = alloca i32, align 4 + %mbstate = alloca %struct.__mbstate_t.514, align 4 + %p = alloca i8*, align 8 + %p8 = alloca i32*, align 8 + %fmt = alloca i8*, align 8 + store %struct.ppfs_t.724* %ppfs, %struct.ppfs_t.724** %ppfs.addr, align 8 + store i8* %fmt0, i8** %fmt0.addr, align 8 + %0 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %1 = bitcast %struct.ppfs_t.724* %0 to i8* + %call = call i8* @memset(i8* %1, i32 0, i64 176) #20 + %2 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %2, i32 0, i32 2 + %3 = load i32, i32* %maxposarg, align 4 + %dec = add nsw i32 %3, -1 + store i32 %dec, i32* %maxposarg, align 4 + %4 = load i8*, i8** %fmt0.addr, align 8 + %5 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %fmtpos = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %5, i32 0, i32 0 + store i8* %4, i8** %fmtpos, align 8 + %6 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %6, i32 0, i32 9 + %7 = load i8, i8* %encoding, align 8 + %conv = zext i8 %7 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %if.then, label %if.end7 + +if.then: ; preds = %entry + %__mask = getelementptr inbounds %struct.__mbstate_t.514, %struct.__mbstate_t.514* %mbstate, i32 0, i32 0 + store i32 0, i32* %__mask, align 4 + %8 = load i8*, i8** %fmt0.addr, align 8 + store i8* %8, i8** %p, align 8 + %call2 = call i64 @mbsrtowcs(i32* null, i8** %p, i64 -1, %struct.__mbstate_t.514* %mbstate) #20 + %cmp3 = icmp eq i64 %call2, -1 + br i1 %cmp3, label %if.then5, label %if.end7 + +if.then5: ; preds = %if.then + %9 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %fmtpos6 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %9, i32 0, i32 0 + store i8* getelementptr inbounds ([33 x i8], [33 x i8]* @_ppfs_init.invalid_mbs, i64 0, i64 0), i8** %fmtpos6, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end7: ; preds = %if.then, %entry + %10 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %argtype = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %10, i32 0, i32 6 + %arraydecay = getelementptr inbounds [9 x i32], [9 x i32]* %argtype, i64 0, i64 0 + store i32* %arraydecay, i32** %p8, align 8 + store i32 9, i32* %r, align 4 + br label %do.body + +do.body: ; preds = %do.body, %if.end7 + %11 = load i32*, i32** %p8, align 8 + %incdec.ptr = getelementptr inbounds i32, i32* %11, i32 1 + store i32* %incdec.ptr, i32** %p8, align 8 + store i32 8, i32* %11, align 4 + %12 = load i32, i32* %r, align 4 + %dec9 = add nsw i32 %12, -1 + store i32 %dec9, i32* %r, align 4 + %tobool = icmp ne i32 %dec9, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.body + %13 = load i8*, i8** %fmt0.addr, align 8 + store i8* %13, i8** %fmt, align 8 + br label %while.cond + +while.cond: ; preds = %if.end27, %do.end + %14 = load i8*, i8** %fmt, align 8 + %15 = load i8, i8* %14, align 1 + %tobool10 = icmp ne i8 %15, 0 + br i1 %tobool10, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %16 = load i8*, i8** %fmt, align 8 + %17 = load i8, i8* %16, align 1 + %conv11 = sext i8 %17 to i32 + %cmp12 = icmp eq i32 %conv11, 37 + br i1 %cmp12, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %while.body + %18 = load i8*, i8** %fmt, align 8 + %incdec.ptr14 = getelementptr inbounds i8, i8* %18, i32 1 + store i8* %incdec.ptr14, i8** %fmt, align 8 + %19 = load i8, i8* %incdec.ptr14, align 1 + %conv15 = sext i8 %19 to i32 + %cmp16 = icmp ne i32 %conv15, 37 + br i1 %cmp16, label %if.then18, label %if.else + +if.then18: ; preds = %land.lhs.true + %20 = load i8*, i8** %fmt, align 8 + %21 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %fmtpos19 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %21, i32 0, i32 0 + store i8* %20, i8** %fmtpos19, align 8 + %22 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %call20 = call i32 @_ppfs_parsespec(%struct.ppfs_t.724* %22) #19 + store i32 %call20, i32* %r, align 4 + %cmp21 = icmp slt i32 %call20, 0 + br i1 %cmp21, label %if.then23, label %if.end24 + +if.then23: ; preds = %if.then18 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end24: ; preds = %if.then18 + %23 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %fmtpos25 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %23, i32 0, i32 0 + %24 = load i8*, i8** %fmtpos25, align 8 + store i8* %24, i8** %fmt, align 8 + br label %if.end27 + +if.else: ; preds = %land.lhs.true, %while.body + %25 = load i8*, i8** %fmt, align 8 + %incdec.ptr26 = getelementptr inbounds i8, i8* %25, i32 1 + store i8* %incdec.ptr26, i8** %fmt, align 8 + br label %if.end27 + +if.end27: ; preds = %if.else, %if.end24 + br label %while.cond + +while.end: ; preds = %while.cond + %26 = load i8*, i8** %fmt0.addr, align 8 + %27 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %fmtpos28 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %27, i32 0, i32 0 + store i8* %26, i8** %fmtpos28, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %while.end, %if.then23, %if.then5 + %28 = load i32, i32* %retval, align 4 + ret i32 %28 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_ppfs_parsespec(%struct.ppfs_t.724* %ppfs) #0 { +entry: + %retval = alloca i32, align 4 + %ppfs.addr = alloca %struct.ppfs_t.724*, align 8 + %fmt = alloca i8*, align 8 + %p = alloca i8*, align 8 + %preci = alloca i32, align 4 + %width = alloca i32, align 4 + %flags = alloca i32, align 4 + %dataargtype = alloca i32, align 4 + %i = alloca i32, align 4 + %dpoint = alloca i32, align 4 + %maxposarg = alloca i32, align 4 + %p_m_spec_chars = alloca i32, align 4 + %n = alloca i32, align 4 + %argtype = alloca [3 x i32], align 4 + %argnumber = alloca [3 x i32], align 4 + %buf = alloca [32 x i8], align 16 + store %struct.ppfs_t.724* %ppfs, %struct.ppfs_t.724** %ppfs.addr, align 8 + store i32 -1, i32* %preci, align 4 + %arrayidx = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 0 + store i32 0, i32* %arrayidx, align 4 + %arrayidx1 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 1 + store i32 0, i32* %arrayidx1, align 4 + %arrayidx2 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 0 + store i32 8, i32* %arrayidx2, align 4 + %arrayidx3 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 1 + store i32 8, i32* %arrayidx3, align 4 + %0 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %maxposarg4 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %0, i32 0, i32 2 + %1 = load i32, i32* %maxposarg4, align 4 + store i32 %1, i32* %maxposarg, align 4 + store i32 0, i32* %dpoint, align 4 + store i32 0, i32* %width, align 4 + %2 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %2, i32 0, i32 1 + %_flags = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info, i32 0, i32 3 + %3 = load i32, i32* %_flags, align 4 + %and = and i32 %3, 128 + store i32 %and, i32* %flags, align 4 + %cmp = icmp eq i32 %and, 0 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %4 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %fmtpos = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %4, i32 0, i32 0 + %5 = load i8*, i8** %fmtpos, align 8 + store i8* %5, i8** %fmt, align 8 + br label %if.end20 + +if.else: ; preds = %entry + %arraydecay = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 1 + store i8* %add.ptr, i8** %fmt, align 8 + store i32 0, i32* %i, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %if.else + %6 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %fmtpos5 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %6, i32 0, i32 0 + %7 = load i8*, i8** %fmtpos5, align 8 + %8 = bitcast i8* %7 to i32* + %9 = load i32, i32* %i, align 4 + %sub = sub nsw i32 %9, 1 + %idxprom = sext i32 %sub to i64 + %arrayidx6 = getelementptr inbounds i32, i32* %8, i64 %idxprom + %10 = load i32, i32* %arrayidx6, align 4 + %conv = trunc i32 %10 to i8 + %11 = load i32, i32* %i, align 4 + %idxprom7 = sext i32 %11 to i64 + %arrayidx8 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 %idxprom7 + store i8 %conv, i8* %arrayidx8, align 1 + %conv9 = sext i8 %conv to i32 + %12 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %fmtpos10 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %12, i32 0, i32 0 + %13 = load i8*, i8** %fmtpos10, align 8 + %14 = bitcast i8* %13 to i32* + %15 = load i32, i32* %i, align 4 + %sub11 = sub nsw i32 %15, 1 + %idxprom12 = sext i32 %sub11 to i64 + %arrayidx13 = getelementptr inbounds i32, i32* %14, i64 %idxprom12 + %16 = load i32, i32* %arrayidx13, align 4 + %cmp14 = icmp ne i32 %conv9, %16 + br i1 %cmp14, label %if.then16, label %do.cond + +if.then16: ; preds = %do.body + store i32 -1, i32* %retval, align 4 + br label %return + +do.cond: ; preds = %do.body + %17 = load i32, i32* %i, align 4 + %inc = add nsw i32 %17, 1 + store i32 %inc, i32* %i, align 4 + %idxprom17 = sext i32 %17 to i64 + %arrayidx18 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 %idxprom17 + %18 = load i8, i8* %arrayidx18, align 1 + %tobool = icmp ne i8 %18, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %arrayidx19 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 31 + store i8 0, i8* %arrayidx19, align 1 + br label %if.end20 + +if.end20: ; preds = %do.end, %if.then + br label %width_precision + +width_precision: ; preds = %do.end89, %if.then129, %if.end20 + %19 = load i8*, i8** %fmt, align 8 + store i8* %19, i8** %p, align 8 + %20 = load i8*, i8** %fmt, align 8 + %21 = load i8, i8* %20, align 1 + %conv21 = sext i8 %21 to i32 + %cmp22 = icmp eq i32 %conv21, 42 + br i1 %cmp22, label %if.then24, label %if.end28 + +if.then24: ; preds = %width_precision + %22 = load i32, i32* %dpoint, align 4 + %sub25 = sub nsw i32 0, %22 + %idxprom26 = sext i32 %sub25 to i64 + %arrayidx27 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 %idxprom26 + store i32 0, i32* %arrayidx27, align 4 + %23 = load i8*, i8** %fmt, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %23, i32 1 + store i8* %incdec.ptr, i8** %fmt, align 8 + br label %if.end28 + +if.end28: ; preds = %if.then24, %width_precision + store i32 0, i32* %i, align 4 + br label %while.cond + +while.cond: ; preds = %if.end40, %if.end28 + %call = call i16** @__ctype_b_loc() #22 + %24 = load i16*, i16** %call, align 8 + %25 = load i8*, i8** %fmt, align 8 + %26 = load i8, i8* %25, align 1 + %conv29 = sext i8 %26 to i32 + %idxprom30 = sext i32 %conv29 to i64 + %arrayidx31 = getelementptr inbounds i16, i16* %24, i64 %idxprom30 + %27 = load i16, i16* %arrayidx31, align 2 + %conv32 = zext i16 %27 to i32 + %and33 = and i32 %conv32, 2048 + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %28 = load i32, i32* %i, align 4 + %cmp35 = icmp slt i32 %28, 4095 + br i1 %cmp35, label %if.then37, label %if.end40 + +if.then37: ; preds = %while.body + %29 = load i32, i32* %i, align 4 + %mul = mul nsw i32 %29, 10 + %30 = load i8*, i8** %fmt, align 8 + %31 = load i8, i8* %30, align 1 + %conv38 = sext i8 %31 to i32 + %sub39 = sub nsw i32 %conv38, 48 + %add = add nsw i32 %mul, %sub39 + store i32 %add, i32* %i, align 4 + br label %if.end40 + +if.end40: ; preds = %if.then37, %while.body + %32 = load i8*, i8** %fmt, align 8 + %incdec.ptr41 = getelementptr inbounds i8, i8* %32, i32 1 + store i8* %incdec.ptr41, i8** %fmt, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %33 = load i8*, i8** %p, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %33, i64 -1 + %34 = load i8, i8* %arrayidx42, align 1 + %conv43 = sext i8 %34 to i32 + %cmp44 = icmp eq i32 %conv43, 37 + br i1 %cmp44, label %if.then46, label %PREC_WIDTH + +if.then46: ; preds = %while.end + %35 = load i8*, i8** %fmt, align 8 + %36 = load i8, i8* %35, align 1 + %conv47 = sext i8 %36 to i32 + %cmp48 = icmp eq i32 %conv47, 36 + %37 = load i32, i32* %i, align 4 + %cmp50 = icmp sgt i32 %37, 0 + %or.cond = and i1 %cmp48, %cmp50 + br i1 %or.cond, label %if.then52, label %if.else63 + +if.then52: ; preds = %if.then46 + %38 = load i8*, i8** %fmt, align 8 + %incdec.ptr53 = getelementptr inbounds i8, i8* %38, i32 1 + store i8* %incdec.ptr53, i8** %fmt, align 8 + %39 = load i32, i32* %maxposarg, align 4 + %cmp54 = icmp eq i32 %39, 0 + br i1 %cmp54, label %if.then56, label %if.end57 + +if.then56: ; preds = %if.then52 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end57: ; preds = %if.then52 + %40 = load i32, i32* %i, align 4 + %arrayidx58 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 2 + store i32 %40, i32* %arrayidx58, align 4 + %41 = load i32, i32* %maxposarg, align 4 + %cmp59 = icmp sgt i32 %40, %41 + br i1 %cmp59, label %if.then61, label %if.end76 + +if.then61: ; preds = %if.end57 + %42 = load i32, i32* %i, align 4 + store i32 %42, i32* %maxposarg, align 4 + br label %if.end76 + +if.else63: ; preds = %if.then46 + %43 = load i32, i32* %maxposarg, align 4 + %cmp64 = icmp sgt i32 %43, 0 + br i1 %cmp64, label %if.then66, label %if.end67 + +if.then66: ; preds = %if.else63 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end67: ; preds = %if.else63 + store i32 0, i32* %maxposarg, align 4 + %44 = load i8*, i8** %fmt, align 8 + %45 = load i8*, i8** %p, align 8 + %cmp68 = icmp ugt i8* %44, %45 + br i1 %cmp68, label %land.lhs.true70, label %if.end75 + +land.lhs.true70: ; preds = %if.end67 + %46 = load i8*, i8** %p, align 8 + %47 = load i8, i8* %46, align 1 + %conv71 = sext i8 %47 to i32 + %cmp72 = icmp ne i32 %conv71, 48 + br i1 %cmp72, label %PREC_WIDTH, label %if.end75 + +if.end75: ; preds = %land.lhs.true70, %if.end67 + %48 = load i8*, i8** %p, align 8 + store i8* %48, i8** %fmt, align 8 + br label %if.end76 + +if.end76: ; preds = %if.end57, %if.then61, %if.end75 + br label %restart_flags + +restart_flags: ; preds = %if.then83, %if.end76 + store i32 1, i32* %i, align 4 + store i8* getelementptr inbounds ([8 x i8], [8 x i8]* @_ppfs_parsespec.spec_flags, i64 0, i64 0), i8** %p, align 8 + br label %do.body77 + +do.body77: ; preds = %if.end85, %restart_flags + %49 = load i8*, i8** %fmt, align 8 + %50 = load i8, i8* %49, align 1 + %conv78 = sext i8 %50 to i32 + %51 = load i8*, i8** %p, align 8 + %incdec.ptr79 = getelementptr inbounds i8, i8* %51, i32 1 + store i8* %incdec.ptr79, i8** %p, align 8 + %52 = load i8, i8* %51, align 1 + %conv80 = sext i8 %52 to i32 + %cmp81 = icmp eq i32 %conv78, %conv80 + br i1 %cmp81, label %if.then83, label %if.end85 + +if.then83: ; preds = %do.body77 + %53 = load i8*, i8** %fmt, align 8 + %incdec.ptr84 = getelementptr inbounds i8, i8* %53, i32 1 + store i8* %incdec.ptr84, i8** %fmt, align 8 + %54 = load i32, i32* %i, align 4 + %55 = load i32, i32* %flags, align 4 + %or = or i32 %55, %54 + store i32 %or, i32* %flags, align 4 + br label %restart_flags + +if.end85: ; preds = %do.body77 + %56 = load i32, i32* %i, align 4 + %57 = load i32, i32* %i, align 4 + %add86 = add nsw i32 %57, %56 + store i32 %add86, i32* %i, align 4 + %58 = load i8*, i8** %p, align 8 + %59 = load i8, i8* %58, align 1 + %tobool88 = icmp ne i8 %59, 0 + br i1 %tobool88, label %do.body77, label %do.end89 + +do.end89: ; preds = %if.end85 + store i32 0, i32* %i, align 4 + %60 = load i32, i32* %flags, align 4 + %and90 = and i32 %60, 10 + %shr = ashr i32 %and90, 1 + %neg = xor i32 %shr, -1 + %61 = load i32, i32* %flags, align 4 + %and91 = and i32 %61, %neg + store i32 %and91, i32* %flags, align 4 + %62 = load i8*, i8** %fmt, align 8 + %arrayidx92 = getelementptr inbounds i8, i8* %62, i64 -1 + %63 = load i8, i8* %arrayidx92, align 1 + %conv93 = sext i8 %63 to i32 + %cmp94 = icmp ne i32 %conv93, 37 + br i1 %cmp94, label %width_precision, label %PREC_WIDTH + +PREC_WIDTH: ; preds = %while.end, %do.end89, %land.lhs.true70 + %64 = load i8*, i8** %p, align 8 + %65 = load i8, i8* %64, align 1 + %conv99 = sext i8 %65 to i32 + %cmp100 = icmp eq i32 %conv99, 42 + br i1 %cmp100, label %if.then102, label %if.end123 + +if.then102: ; preds = %PREC_WIDTH + %66 = load i32, i32* %maxposarg, align 4 + %tobool103 = icmp ne i32 %66, 0 + br i1 %tobool103, label %if.then104, label %if.else116 + +if.then104: ; preds = %if.then102 + %67 = load i8*, i8** %fmt, align 8 + %incdec.ptr105 = getelementptr inbounds i8, i8* %67, i32 1 + store i8* %incdec.ptr105, i8** %fmt, align 8 + %68 = load i8, i8* %67, align 1 + %conv106 = sext i8 %68 to i32 + %cmp107 = icmp ne i32 %conv106, 36 + %69 = load i32, i32* %i, align 4 + %cmp109 = icmp sle i32 %69, 0 + %or.cond1 = or i1 %cmp107, %cmp109 + br i1 %or.cond1, label %if.then111, label %if.end112 + +if.then111: ; preds = %if.then104 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end112: ; preds = %if.then104 + %70 = load i32, i32* %i, align 4 + %71 = load i32, i32* %dpoint, align 4 + %sub113 = sub nsw i32 0, %71 + %idxprom114 = sext i32 %sub113 to i64 + %arrayidx115 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 %idxprom114 + store i32 %70, i32* %arrayidx115, align 4 + br label %if.end122 + +if.else116: ; preds = %if.then102 + %72 = load i8*, i8** %p, align 8 + %incdec.ptr117 = getelementptr inbounds i8, i8* %72, i32 1 + store i8* %incdec.ptr117, i8** %p, align 8 + %73 = load i8*, i8** %fmt, align 8 + %cmp118 = icmp ne i8* %incdec.ptr117, %73 + br i1 %cmp118, label %if.then120, label %if.end122 + +if.then120: ; preds = %if.else116 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end122: ; preds = %if.else116, %if.end112 + store i32 -2147483648, i32* %i, align 4 + br label %if.end123 + +if.end123: ; preds = %if.end122, %PREC_WIDTH + %74 = load i32, i32* %dpoint, align 4 + %tobool124 = icmp ne i32 %74, 0 + %75 = load i32, i32* %i, align 4 + br i1 %tobool124, label %if.else132, label %if.then125 + +if.then125: ; preds = %if.end123 + store i32 %75, i32* %width, align 4 + %76 = load i8*, i8** %fmt, align 8 + %77 = load i8, i8* %76, align 1 + %conv126 = sext i8 %77 to i32 + %cmp127 = icmp eq i32 %conv126, 46 + br i1 %cmp127, label %if.then129, label %if.end133 + +if.then129: ; preds = %if.then125 + %78 = load i8*, i8** %fmt, align 8 + %incdec.ptr130 = getelementptr inbounds i8, i8* %78, i32 1 + store i8* %incdec.ptr130, i8** %fmt, align 8 + store i32 -1, i32* %dpoint, align 4 + br label %width_precision + +if.else132: ; preds = %if.end123 + store i32 %75, i32* %preci, align 4 + br label %if.end133 + +if.end133: ; preds = %if.then125, %if.else132 + store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @_ppfs_parsespec.qual_chars, i64 0, i64 0), i8** %p, align 8 + br label %do.body134 + +do.body134: ; preds = %do.cond142, %if.end133 + %79 = load i8*, i8** %fmt, align 8 + %80 = load i8, i8* %79, align 1 + %conv135 = sext i8 %80 to i32 + %81 = load i8*, i8** %p, align 8 + %82 = load i8, i8* %81, align 1 + %conv136 = sext i8 %82 to i32 + %cmp137 = icmp eq i32 %conv135, %conv136 + br i1 %cmp137, label %if.then139, label %do.cond142 + +if.then139: ; preds = %do.body134 + %83 = load i8*, i8** %fmt, align 8 + %incdec.ptr140 = getelementptr inbounds i8, i8* %83, i32 1 + store i8* %incdec.ptr140, i8** %fmt, align 8 + br label %do.end145 + +do.cond142: ; preds = %do.body134 + %84 = load i8*, i8** %p, align 8 + %incdec.ptr143 = getelementptr inbounds i8, i8* %84, i32 1 + store i8* %incdec.ptr143, i8** %p, align 8 + %85 = load i8, i8* %incdec.ptr143, align 1 + %tobool144 = icmp ne i8 %85, 0 + br i1 %tobool144, label %do.body134, label %do.end145 + +do.end145: ; preds = %do.cond142, %if.then139 + %86 = load i8*, i8** %p, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %86 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, ptrtoint ([20 x i8]* @_ppfs_parsespec.qual_chars to i64) + %cmp146 = icmp slt i64 %sub.ptr.sub, 2 + br i1 %cmp146, label %land.lhs.true148, label %if.end156 + +land.lhs.true148: ; preds = %do.end145 + %87 = load i8*, i8** %fmt, align 8 + %88 = load i8, i8* %87, align 1 + %conv149 = sext i8 %88 to i32 + %89 = load i8*, i8** %p, align 8 + %90 = load i8, i8* %89, align 1 + %conv150 = sext i8 %90 to i32 + %cmp151 = icmp eq i32 %conv149, %conv150 + br i1 %cmp151, label %if.then153, label %if.end156 + +if.then153: ; preds = %land.lhs.true148 + %91 = load i8*, i8** %p, align 8 + %add.ptr154 = getelementptr inbounds i8, i8* %91, i64 9 + store i8* %add.ptr154, i8** %p, align 8 + %92 = load i8*, i8** %fmt, align 8 + %incdec.ptr155 = getelementptr inbounds i8, i8* %92, i32 1 + store i8* %incdec.ptr155, i8** %fmt, align 8 + br label %if.end156 + +if.end156: ; preds = %if.then153, %land.lhs.true148, %do.end145 + %93 = load i8*, i8** %p, align 8 + %arrayidx157 = getelementptr inbounds i8, i8* %93, i64 9 + %94 = load i8, i8* %arrayidx157, align 1 + %conv158 = sext i8 %94 to i32 + %shl = shl i32 %conv158, 8 + store i32 %shl, i32* %dataargtype, align 4 + %95 = load i8*, i8** %fmt, align 8 + %96 = load i8, i8* %95, align 1 + %tobool159 = icmp ne i8 %96, 0 + br i1 %tobool159, label %if.end161, label %if.then160 + +if.then160: ; preds = %if.end156 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end161: ; preds = %if.end156 + store i8* getelementptr inbounds ([21 x i8], [21 x i8]* @_ppfs_parsespec.spec_chars, i64 0, i64 0), i8** %p, align 8 + br label %do.body162 + +do.body162: ; preds = %do.cond199, %if.end161 + %97 = load i8*, i8** %fmt, align 8 + %98 = load i8, i8* %97, align 1 + %conv163 = sext i8 %98 to i32 + %99 = load i8*, i8** %p, align 8 + %100 = load i8, i8* %99, align 1 + %conv164 = sext i8 %100 to i32 + %cmp165 = icmp eq i32 %conv163, %conv164 + %101 = load i8*, i8** %p, align 8 + br i1 %cmp165, label %if.then167, label %do.cond199 + +if.then167: ; preds = %do.body162 + %sub.ptr.lhs.cast168 = ptrtoint i8* %101 to i64 + %sub.ptr.sub169 = sub i64 %sub.ptr.lhs.cast168, ptrtoint ([21 x i8]* @_ppfs_parsespec.spec_chars to i64) + %conv170 = trunc i64 %sub.ptr.sub169 to i32 + store i32 %conv170, i32* %p_m_spec_chars, align 4 + %102 = load i32, i32* %p_m_spec_chars, align 4 + %cmp171 = icmp sge i32 %102, 18 + br i1 %cmp171, label %land.lhs.true173, label %if.end178 + +land.lhs.true173: ; preds = %if.then167 + %103 = load i32, i32* %dataargtype, align 4 + %and174 = and i32 %103, 1024 + %tobool175 = icmp ne i32 %and174, 0 + br i1 %tobool175, label %if.then176, label %if.end178 + +if.then176: ; preds = %land.lhs.true173 + %104 = load i32, i32* %p_m_spec_chars, align 4 + %sub177 = sub nsw i32 %104, 2 + store i32 %sub177, i32* %p_m_spec_chars, align 4 + br label %if.end178 + +if.end178: ; preds = %if.then176, %land.lhs.true173, %if.then167 + %105 = load i32, i32* %p_m_spec_chars, align 4 + %106 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %conv_num = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %106, i32 0, i32 4 + store i32 %105, i32* %conv_num, align 4 + store i8* getelementptr inbounds (i8, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @_ppfs_parsespec.spec_ranges, i64 0, i64 0), i64 -1), i8** %p, align 8 + br label %while.cond179 + +while.cond179: ; preds = %while.cond179, %if.end178 + %107 = load i32, i32* %p_m_spec_chars, align 4 + %108 = load i8*, i8** %p, align 8 + %incdec.ptr180 = getelementptr inbounds i8, i8* %108, i32 1 + store i8* %incdec.ptr180, i8** %p, align 8 + %109 = load i8, i8* %incdec.ptr180, align 1 + %conv181 = sext i8 %109 to i32 + %cmp182 = icmp sgt i32 %107, %conv181 + br i1 %cmp182, label %while.cond179, label %while.end185 + +while.end185: ; preds = %while.cond179 + %110 = load i8*, i8** %p, align 8 + %sub.ptr.lhs.cast186 = ptrtoint i8* %110 to i64 + %sub.ptr.sub187 = sub i64 %sub.ptr.lhs.cast186, ptrtoint ([9 x i8]* @_ppfs_parsespec.spec_ranges to i64) + %conv188 = trunc i64 %sub.ptr.sub187 to i32 + store i32 %conv188, i32* %i, align 4 + %111 = load i32, i32* %dataargtype, align 4 + %112 = load i32, i32* %i, align 4 + %idxprom189 = sext i32 %112 to i64 + %arrayidx190 = getelementptr inbounds [8 x i16], [8 x i16]* @_ppfs_parsespec.spec_or_mask, i64 0, i64 %idxprom189 + %113 = load i16, i16* %arrayidx190, align 2 + %conv191 = sext i16 %113 to i32 + %or192 = or i32 %111, %conv191 + %114 = load i32, i32* %i, align 4 + %idxprom193 = sext i32 %114 to i64 + %arrayidx194 = getelementptr inbounds [8 x i16], [8 x i16]* @_ppfs_parsespec.spec_and_mask, i64 0, i64 %idxprom193 + %115 = load i16, i16* %arrayidx194, align 2 + %conv195 = sext i16 %115 to i32 + %and196 = and i32 %or192, %conv195 + %arrayidx197 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 2 + store i32 %and196, i32* %arrayidx197, align 4 + store i8* getelementptr inbounds ([21 x i8], [21 x i8]* @_ppfs_parsespec.spec_chars, i64 0, i64 0), i8** %p, align 8 + br label %do.end202 + +do.cond199: ; preds = %do.body162 + %incdec.ptr200 = getelementptr inbounds i8, i8* %101, i32 1 + store i8* %incdec.ptr200, i8** %p, align 8 + %116 = load i8, i8* %incdec.ptr200, align 1 + %tobool201 = icmp ne i8 %116, 0 + br i1 %tobool201, label %do.body162, label %do.end202 + +do.end202: ; preds = %do.cond199, %while.end185 + %117 = load i8*, i8** %fmt, align 8 + %118 = load i8, i8* %117, align 1 + %conv203 = sext i8 %118 to i32 + %119 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info204 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %119, i32 0, i32 1 + %spec = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info204, i32 0, i32 2 + store i32 %conv203, i32* %spec, align 8 + %120 = load i32, i32* %preci, align 4 + %121 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info205 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %121, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info205, i32 0, i32 0 + store i32 %120, i32* %prec, align 8 + %122 = load i32, i32* %width, align 4 + %123 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info206 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %123, i32 0, i32 1 + %width207 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info206, i32 0, i32 1 + store i32 %122, i32* %width207, align 4 + %124 = load i32, i32* %flags, align 4 + %and208 = and i32 %124, 4 + %tobool209 = icmp ne i32 %and208, 0 + %125 = zext i1 %tobool209 to i64 + %cond = select i1 %tobool209, i32 48, i32 32 + %126 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info210 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %126, i32 0, i32 1 + %pad = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info210, i32 0, i32 4 + store i32 %cond, i32* %pad, align 8 + %127 = load i32, i32* %flags, align 4 + %and211 = and i32 %127, -5 + %128 = load i32, i32* %dataargtype, align 4 + %and212 = and i32 %128, 3840 + %or213 = or i32 %and211, %and212 + %129 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info214 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %129, i32 0, i32 1 + %_flags215 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info214, i32 0, i32 3 + store i32 %or213, i32* %_flags215, align 4 + %130 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %130, i32 0, i32 3 + store i32 1, i32* %num_data_args, align 8 + %131 = load i8*, i8** %p, align 8 + %132 = load i8, i8* %131, align 1 + %tobool216 = icmp ne i8 %132, 0 + br i1 %tobool216, label %if.end218, label %if.then217 + +if.then217: ; preds = %do.end202 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end218: ; preds = %do.end202 + %133 = load i32, i32* %maxposarg, align 4 + %cmp219 = icmp sgt i32 %133, 0 + br i1 %cmp219, label %if.then221, label %if.else265 + +if.then221: ; preds = %if.end218 + store i32 0, i32* %i, align 4 + br label %do.body222 + +do.body222: ; preds = %do.cond258, %if.then221 + %134 = load i32, i32* %i, align 4 + %cmp223 = icmp sle i32 %134, 2 + br i1 %cmp223, label %cond.true, label %cond.false + +cond.true: ; preds = %do.body222 + %135 = load i32, i32* %i, align 4 + %idxprom225 = sext i32 %135 to i64 + %arrayidx226 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 %idxprom225 + %136 = load i32, i32* %arrayidx226, align 4 + %conv227 = trunc i32 %136 to i8 + %137 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %argnumber228 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %137, i32 0, i32 5 + %138 = load i32, i32* %i, align 4 + %idxprom229 = sext i32 %138 to i64 + %arrayidx230 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber228, i64 0, i64 %idxprom229 + store i8 %conv227, i8* %arrayidx230, align 1 + %conv231 = zext i8 %conv227 to i32 + br label %cond.end + +cond.false: ; preds = %do.body222 + %arrayidx232 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 2 + %139 = load i32, i32* %arrayidx232, align 4 + %140 = load i32, i32* %i, align 4 + %sub233 = sub nsw i32 %140, 2 + %add234 = add nsw i32 %139, %sub233 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond235 = phi i32 [ %conv231, %cond.true ], [ %add234, %cond.false ] + store i32 %cond235, i32* %n, align 4 + %141 = load i32, i32* %n, align 4 + %142 = load i32, i32* %maxposarg, align 4 + %cmp236 = icmp sgt i32 %141, %142 + br i1 %cmp236, label %if.then238, label %if.end243 + +if.then238: ; preds = %cond.end + %143 = load i32, i32* %n, align 4 + store i32 %143, i32* %maxposarg, align 4 + %cmp239 = icmp sgt i32 %143, 9 + br i1 %cmp239, label %if.then241, label %if.end243 + +if.then241: ; preds = %if.then238 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end243: ; preds = %if.then238, %cond.end + %144 = load i32, i32* %n, align 4 + %dec = add nsw i32 %144, -1 + store i32 %dec, i32* %n, align 4 + %145 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %argtype244 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %145, i32 0, i32 6 + %146 = load i32, i32* %n, align 4 + %idxprom245 = sext i32 %146 to i64 + %arrayidx246 = getelementptr inbounds [9 x i32], [9 x i32]* %argtype244, i64 0, i64 %idxprom245 + %147 = load i32, i32* %arrayidx246, align 4 + %148 = load i32, i32* %i, align 4 + %idxprom247 = sext i32 %148 to i64 + %arrayidx248 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 %idxprom247 + %149 = load i32, i32* %arrayidx248, align 4 + %call249 = call i32 @_is_equal_or_bigger_arg(i32 %147, i32 %149) #19 + %tobool250 = icmp ne i32 %call249, 0 + br i1 %tobool250, label %if.then251, label %do.cond258 + +if.then251: ; preds = %if.end243 + %150 = load i32, i32* %i, align 4 + %idxprom252 = sext i32 %150 to i64 + %arrayidx253 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 %idxprom252 + %151 = load i32, i32* %arrayidx253, align 4 + %152 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %argtype254 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %152, i32 0, i32 6 + %153 = load i32, i32* %n, align 4 + %idxprom255 = sext i32 %153 to i64 + %arrayidx256 = getelementptr inbounds [9 x i32], [9 x i32]* %argtype254, i64 0, i64 %idxprom255 + store i32 %151, i32* %arrayidx256, align 4 + br label %do.cond258 + +do.cond258: ; preds = %if.end243, %if.then251 + %154 = load i32, i32* %i, align 4 + %inc259 = add nsw i32 %154, 1 + store i32 %inc259, i32* %i, align 4 + %155 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %num_data_args260 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %155, i32 0, i32 3 + %156 = load i32, i32* %num_data_args260, align 8 + %add261 = add nsw i32 %156, 2 + %cmp262 = icmp slt i32 %inc259, %add261 + br i1 %cmp262, label %do.body222, label %if.end276 + +if.else265: ; preds = %if.end218 + %157 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %argnumber266 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %157, i32 0, i32 5 + %arrayidx267 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber266, i64 0, i64 2 + store i8 1, i8* %arrayidx267, align 2 + %158 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %argtype268 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %158, i32 0, i32 6 + %arraydecay269 = getelementptr inbounds [9 x i32], [9 x i32]* %argtype268, i64 0, i64 0 + %159 = bitcast i32* %arraydecay269 to i8* + %arraydecay270 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 0 + %add.ptr271 = getelementptr inbounds i32, i32* %arraydecay270, i64 2 + %160 = bitcast i32* %add.ptr271 to i8* + %161 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %num_data_args272 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %161, i32 0, i32 3 + %162 = load i32, i32* %num_data_args272, align 8 + %conv273 = sext i32 %162 to i64 + %mul274 = mul i64 %conv273, 4 + %call275 = call i8* @memcpy(i8* %159, i8* %160, i64 %mul274) #20 + br label %if.end276 + +if.end276: ; preds = %do.cond258, %if.else265 + %163 = load i32, i32* %maxposarg, align 4 + %164 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %maxposarg277 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %164, i32 0, i32 2 + store i32 %163, i32* %maxposarg277, align 4 + %165 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info278 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %165, i32 0, i32 1 + %_flags279 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info278, i32 0, i32 3 + %166 = load i32, i32* %_flags279, align 4 + %and280 = and i32 %166, 128 + store i32 %and280, i32* %flags, align 4 + %cmp281 = icmp eq i32 %and280, 0 + br i1 %cmp281, label %if.then283, label %if.else286 + +if.then283: ; preds = %if.end276 + %167 = load i8*, i8** %fmt, align 8 + %incdec.ptr284 = getelementptr inbounds i8, i8* %167, i32 1 + store i8* %incdec.ptr284, i8** %fmt, align 8 + %168 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %fmtpos285 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %168, i32 0, i32 0 + store i8* %incdec.ptr284, i8** %fmtpos285, align 8 + br label %if.end293 + +if.else286: ; preds = %if.end276 + %169 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %fmtpos287 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %169, i32 0, i32 0 + %170 = load i8*, i8** %fmtpos287, align 8 + %171 = bitcast i8* %170 to i32* + %172 = load i8*, i8** %fmt, align 8 + %arraydecay288 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 0 + %sub.ptr.lhs.cast289 = ptrtoint i8* %172 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %arraydecay288 to i64 + %sub.ptr.sub290 = sub i64 %sub.ptr.lhs.cast289, %sub.ptr.rhs.cast + %add.ptr291 = getelementptr inbounds i32, i32* %171, i64 %sub.ptr.sub290 + %173 = bitcast i32* %add.ptr291 to i8* + %174 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %fmtpos292 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %174, i32 0, i32 0 + store i8* %173, i8** %fmtpos292, align 8 + br label %if.end293 + +if.end293: ; preds = %if.else286, %if.then283 + %175 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %num_data_args294 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %175, i32 0, i32 3 + %176 = load i32, i32* %num_data_args294, align 8 + %add295 = add nsw i32 %176, 2 + store i32 %add295, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end293, %if.then241, %if.then217, %if.then160, %if.then120, %if.then111, %if.then66, %if.then56, %if.then16 + %177 = load i32, i32* %retval, align 4 + ret i32 %177 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_is_equal_or_bigger_arg(i32 %curtype, i32 %newtype) #0 { +entry: + %retval = alloca i32, align 4 + %curtype.addr = alloca i32, align 4 + %newtype.addr = alloca i32, align 4 + store i32 %curtype, i32* %curtype.addr, align 4 + store i32 %newtype, i32* %newtype.addr, align 4 + %0 = load i32, i32* %newtype.addr, align 4 + %cmp = icmp eq i32 %0, 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %1 = load i32, i32* %curtype.addr, align 4 + %cmp1 = icmp eq i32 %1, 8 + br i1 %cmp1, label %if.then3, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %2 = load i32, i32* %curtype.addr, align 4 + %3 = load i32, i32* %newtype.addr, align 4 + %cmp2 = icmp eq i32 %2, %3 + br i1 %cmp2, label %if.then3, label %if.end4 + +if.then3: ; preds = %lor.lhs.false, %if.end + store i32 1, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %lor.lhs.false + %4 = load i32, i32* %curtype.addr, align 4 + %call = call i32 @_promoted_size(i32 %4) #19 + %5 = load i32, i32* %newtype.addr, align 4 + %call5 = call i32 @_promoted_size(i32 %5) #19 + %cmp6 = icmp sle i32 %call, %call5 + %conv = zext i1 %cmp6 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_promoted_size(i32 %argtype) #0 { +entry: + %argtype.addr = alloca i32, align 4 + %p = alloca i16*, align 8 + store i32 %argtype, i32* %argtype.addr, align 4 + store i16* getelementptr inbounds (i16, i16* getelementptr inbounds ([12 x i16], [12 x i16]* @type_codes, i64 0, i64 0), i64 12), i16** %p, align 8 + br label %do.body + +do.body: ; preds = %do.body, %entry + %0 = load i16*, i16** %p, align 8 + %incdec.ptr = getelementptr inbounds i16, i16* %0, i32 -1 + store i16* %incdec.ptr, i16** %p, align 8 + %1 = load i16, i16* %incdec.ptr, align 2 + %conv = sext i16 %1 to i32 + %2 = load i32, i32* %argtype.addr, align 4 + %cmp = icmp ne i32 %conv, %2 + %3 = load i16*, i16** %p, align 8 + %cmp2 = icmp ugt i16* %3, getelementptr inbounds ([12 x i16], [12 x i16]* @type_codes, i64 0, i64 0) + %or.cond = and i1 %cmp, %cmp2 + br i1 %or.cond, label %do.body, label %do.end + +do.end: ; preds = %do.body + %4 = load i16*, i16** %p, align 8 + %sub.ptr.lhs.cast = ptrtoint i16* %4 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, ptrtoint ([12 x i16]* @type_codes to i64) + %sub.ptr.div = sdiv exact i64 %sub.ptr.sub, 2 + %conv4 = trunc i64 %sub.ptr.div to i32 + %idxprom = sext i32 %conv4 to i64 + %arrayidx = getelementptr inbounds [12 x i8], [12 x i8]* @type_sizes, i64 0, i64 %idxprom + %5 = load i8, i8* %arrayidx, align 1 + %conv5 = zext i8 %5 to i32 + ret i32 %conv5 +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_ppfs_prepargs(%struct.ppfs_t.724* %ppfs, %struct.__va_list_tag.2* %arg) #0 { +entry: + %ppfs.addr = alloca %struct.ppfs_t.724*, align 8 + %arg.addr = alloca %struct.__va_list_tag.2*, align 8 + %i = alloca i32, align 4 + store %struct.ppfs_t.724* %ppfs, %struct.ppfs_t.724** %ppfs.addr, align 8 + store %struct.__va_list_tag.2* %arg, %struct.__va_list_tag.2** %arg.addr, align 8 + %0 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %arg1 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %0, i32 0, i32 7 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %arg1, i64 0, i64 0 + %1 = load %struct.__va_list_tag.2*, %struct.__va_list_tag.2** %arg.addr, align 8 + %2 = bitcast %struct.__va_list_tag.2* %arraydecay to i8* + %3 = bitcast %struct.__va_list_tag.2* %1 to i8* + %vacopy.cast.dst = bitcast i8* %2 to i64* + %vacopy.cast.src = bitcast i8* %3 to i64* + %4 = load i64, i64* %vacopy.cast.src, align 8 + store volatile i64 %4, i64* %vacopy.cast.dst, align 8 + %5 = getelementptr i64, i64* %vacopy.cast.dst, i64 1 + %6 = getelementptr i64, i64* %vacopy.cast.src, i64 1 + %7 = load i64, i64* %6, align 8 + store i64 %7, i64* %5, align 8 + %8 = getelementptr i64, i64* %5, i64 1 + %9 = getelementptr i64, i64* %6, i64 1 + %10 = load i64, i64* %9, align 8 + store i64 %10, i64* %8, align 8 + %11 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %11, i32 0, i32 2 + %12 = load i32, i32* %maxposarg, align 4 + store i32 %12, i32* %i, align 4 + %cmp = icmp sgt i32 %12, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %13 = load i32, i32* %i, align 4 + %14 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %14, i32 0, i32 3 + store i32 %13, i32* %num_data_args, align 8 + %15 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %maxposarg2 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %15, i32 0, i32 2 + store i32 0, i32* %maxposarg2, align 4 + %16 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %16, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info, i32 0, i32 0 + store i32 0, i32* %prec, align 8 + %17 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info3 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %17, i32 0, i32 1 + %width = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info3, i32 0, i32 1 + store i32 0, i32* %width, align 4 + %18 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + call void @_ppfs_setargs(%struct.ppfs_t.724* %18) #19 + %19 = load i32, i32* %i, align 4 + %20 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %maxposarg4 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %20, i32 0, i32 2 + store i32 %19, i32* %maxposarg4, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + ret void +} + +; Function Attrs: nounwind +declare void @llvm.va_copy(i8*, i8*) #11 + +; Function Attrs: noinline nounwind uwtable +define hidden void @_ppfs_setargs(%struct.ppfs_t.724* %ppfs) #0 { +entry: + %ppfs.addr = alloca %struct.ppfs_t.724*, align 8 + %p = alloca %union.anon.195*, align 8 + %i = alloca i32, align 4 + store %struct.ppfs_t.724* %ppfs, %struct.ppfs_t.724** %ppfs.addr, align 8 + %0 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %argvalue = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %0, i32 0, i32 8 + %arraydecay = getelementptr inbounds [9 x %union.anon.195], [9 x %union.anon.195]* %argvalue, i64 0, i64 0 + store %union.anon.195* %arraydecay, %union.anon.195** %p, align 8 + %1 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %1, i32 0, i32 2 + %2 = load i32, i32* %maxposarg, align 4 + %cmp = icmp eq i32 %2, 0 + %3 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %3, i32 0, i32 1 + %width = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info, i32 0, i32 1 + %4 = load i32, i32* %width, align 4 + %cmp1 = icmp eq i32 %4, -2147483648 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + br i1 %cmp1, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + %5 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %arg = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %5, i32 0, i32 7 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %arg, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay3, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 8 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then2 + %6 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay3, i32 0, i32 3 + %reg_save_area = load i8*, i8** %6, align 8 + %7 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %8 = bitcast i8* %7 to i32* + %9 = add i32 %gp_offset, 8 + store i32 %9, i32* %gp_offset_p, align 8 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then2 + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay3, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %10 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %8, %vaarg.in_reg ], [ %10, %vaarg.in_mem ] + %11 = load i32, i32* %vaarg.addr, align 4 + %12 = load %union.anon.195*, %union.anon.195** %p, align 8 + %u = bitcast %union.anon.195* %12 to i32* + store i32 %11, i32* %u, align 8 + %13 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info4 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %13, i32 0, i32 1 + %width5 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info4, i32 0, i32 1 + store i32 %11, i32* %width5, align 4 + br label %if.end + +if.end: ; preds = %vaarg.end, %if.then + %14 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info6 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %14, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info6, i32 0, i32 0 + %15 = load i32, i32* %prec, align 8 + %cmp7 = icmp eq i32 %15, -2147483648 + br i1 %cmp7, label %if.then8, label %if.end25 + +if.then8: ; preds = %if.end + %16 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %arg9 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %16, i32 0, i32 7 + %arraydecay10 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %arg9, i64 0, i64 0 + %gp_offset_p11 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay10, i32 0, i32 0 + %gp_offset12 = load i32, i32* %gp_offset_p11, align 8 + %fits_in_gp13 = icmp ule i32 %gp_offset12, 40 + br i1 %fits_in_gp13, label %vaarg.in_reg14, label %vaarg.in_mem16 + +vaarg.in_reg14: ; preds = %if.then8 + %17 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay10, i32 0, i32 3 + %reg_save_area15 = load i8*, i8** %17, align 8 + %18 = getelementptr i8, i8* %reg_save_area15, i32 %gp_offset12 + %19 = bitcast i8* %18 to i32* + %20 = add i32 %gp_offset12, 8 + store i32 %20, i32* %gp_offset_p11, align 8 + br label %vaarg.end20 + +vaarg.in_mem16: ; preds = %if.then8 + %overflow_arg_area_p17 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay10, i32 0, i32 2 + %overflow_arg_area18 = load i8*, i8** %overflow_arg_area_p17, align 8 + %21 = bitcast i8* %overflow_arg_area18 to i32* + %overflow_arg_area.next19 = getelementptr i8, i8* %overflow_arg_area18, i32 8 + store i8* %overflow_arg_area.next19, i8** %overflow_arg_area_p17, align 8 + br label %vaarg.end20 + +vaarg.end20: ; preds = %vaarg.in_mem16, %vaarg.in_reg14 + %vaarg.addr21 = phi i32* [ %19, %vaarg.in_reg14 ], [ %21, %vaarg.in_mem16 ] + %22 = load i32, i32* %vaarg.addr21, align 4 + %23 = load %union.anon.195*, %union.anon.195** %p, align 8 + %u22 = bitcast %union.anon.195* %23 to i32* + store i32 %22, i32* %u22, align 8 + %24 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info23 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %24, i32 0, i32 1 + %prec24 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info23, i32 0, i32 0 + store i32 %22, i32* %prec24, align 8 + br label %if.end25 + +if.end25: ; preds = %vaarg.end20, %if.end + store i32 0, i32* %i, align 4 + br label %while.cond + +while.cond: ; preds = %NodeBlock, %sw.epilog, %if.end25 + %25 = load i32, i32* %i, align 4 + %26 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %26, i32 0, i32 3 + %27 = load i32, i32* %num_data_args, align 8 + %cmp26 = icmp slt i32 %25, %27 + br i1 %cmp26, label %while.body, label %if.end149 + +while.body: ; preds = %while.cond + %28 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %argtype = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %28, i32 0, i32 6 + %29 = load i32, i32* %i, align 4 + %inc = add nsw i32 %29, 1 + store i32 %inc, i32* %i, align 4 + %idxprom = sext i32 %29 to i64 + %arrayidx = getelementptr inbounds [9 x i32], [9 x i32]* %argtype, i64 0, i64 %idxprom + %30 = load i32, i32* %arrayidx, align 4 + br label %NodeBlock17 + +NodeBlock17: ; preds = %while.body + %case.cmp18 = icmp eq i32 %30, 2048 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %30, 1024 + br i1 %case.cmp16, label %sw.bb40, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %30, 1 + br i1 %case.cmp14, label %sw.bb54, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %30, 256 + br i1 %case.cmp12, label %sw.bb54, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %30, 512 + br i1 %case.cmp10, label %sw.bb54, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %30, 0 + br i1 %case.cmp8, label %sw.bb54, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %30, 2 + br i1 %case.cmp6, label %sw.bb69, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %30, 7 + br i1 %case.cmp4, label %sw.bb83, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %30, 2055 + br i1 %case.cmp2, label %sw.bb94, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %30, 8 + br i1 %case.cmp, label %while.cond, label %newDefault + +sw.bb: ; preds = %NodeBlock17 + %31 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %arg27 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %31, i32 0, i32 7 + %arraydecay28 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %arg27, i64 0, i64 0 + %gp_offset_p29 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay28, i32 0, i32 0 + %gp_offset30 = load i32, i32* %gp_offset_p29, align 8 + %fits_in_gp31 = icmp ule i32 %gp_offset30, 40 + br i1 %fits_in_gp31, label %vaarg.in_reg32, label %vaarg.in_mem34 + +vaarg.in_reg32: ; preds = %sw.bb + %32 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay28, i32 0, i32 3 + %reg_save_area33 = load i8*, i8** %32, align 8 + %33 = getelementptr i8, i8* %reg_save_area33, i32 %gp_offset30 + %34 = bitcast i8* %33 to i64* + %35 = add i32 %gp_offset30, 8 + store i32 %35, i32* %gp_offset_p29, align 8 + br label %vaarg.end38 + +vaarg.in_mem34: ; preds = %sw.bb + %overflow_arg_area_p35 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay28, i32 0, i32 2 + %overflow_arg_area36 = load i8*, i8** %overflow_arg_area_p35, align 8 + %36 = bitcast i8* %overflow_arg_area36 to i64* + %overflow_arg_area.next37 = getelementptr i8, i8* %overflow_arg_area36, i32 8 + store i8* %overflow_arg_area.next37, i8** %overflow_arg_area_p35, align 8 + br label %vaarg.end38 + +vaarg.end38: ; preds = %vaarg.in_mem34, %vaarg.in_reg32 + %vaarg.addr39 = phi i64* [ %34, %vaarg.in_reg32 ], [ %36, %vaarg.in_mem34 ] + %37 = load i64, i64* %vaarg.addr39, align 8 + %38 = load %union.anon.195*, %union.anon.195** %p, align 8 + %ull = bitcast %union.anon.195* %38 to i64* + store i64 %37, i64* %ull, align 8 + br label %sw.epilog + +sw.bb40: ; preds = %NodeBlock15 + %39 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %arg41 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %39, i32 0, i32 7 + %arraydecay42 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %arg41, i64 0, i64 0 + %gp_offset_p43 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay42, i32 0, i32 0 + %gp_offset44 = load i32, i32* %gp_offset_p43, align 8 + %fits_in_gp45 = icmp ule i32 %gp_offset44, 40 + br i1 %fits_in_gp45, label %vaarg.in_reg46, label %vaarg.in_mem48 + +vaarg.in_reg46: ; preds = %sw.bb40 + %40 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay42, i32 0, i32 3 + %reg_save_area47 = load i8*, i8** %40, align 8 + %41 = getelementptr i8, i8* %reg_save_area47, i32 %gp_offset44 + %42 = bitcast i8* %41 to i64* + %43 = add i32 %gp_offset44, 8 + store i32 %43, i32* %gp_offset_p43, align 8 + br label %vaarg.end52 + +vaarg.in_mem48: ; preds = %sw.bb40 + %overflow_arg_area_p49 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay42, i32 0, i32 2 + %overflow_arg_area50 = load i8*, i8** %overflow_arg_area_p49, align 8 + %44 = bitcast i8* %overflow_arg_area50 to i64* + %overflow_arg_area.next51 = getelementptr i8, i8* %overflow_arg_area50, i32 8 + store i8* %overflow_arg_area.next51, i8** %overflow_arg_area_p49, align 8 + br label %vaarg.end52 + +vaarg.end52: ; preds = %vaarg.in_mem48, %vaarg.in_reg46 + %vaarg.addr53 = phi i64* [ %42, %vaarg.in_reg46 ], [ %44, %vaarg.in_mem48 ] + %45 = load i64, i64* %vaarg.addr53, align 8 + %46 = load %union.anon.195*, %union.anon.195** %p, align 8 + %ul = bitcast %union.anon.195* %46 to i64* + store i64 %45, i64* %ul, align 8 + br label %sw.epilog + +sw.bb54: ; preds = %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7 + %47 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %arg55 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %47, i32 0, i32 7 + %arraydecay56 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %arg55, i64 0, i64 0 + %gp_offset_p57 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay56, i32 0, i32 0 + %gp_offset58 = load i32, i32* %gp_offset_p57, align 8 + %fits_in_gp59 = icmp ule i32 %gp_offset58, 40 + br i1 %fits_in_gp59, label %vaarg.in_reg60, label %vaarg.in_mem62 + +vaarg.in_reg60: ; preds = %sw.bb54 + %48 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay56, i32 0, i32 3 + %reg_save_area61 = load i8*, i8** %48, align 8 + %49 = getelementptr i8, i8* %reg_save_area61, i32 %gp_offset58 + %50 = bitcast i8* %49 to i32* + %51 = add i32 %gp_offset58, 8 + store i32 %51, i32* %gp_offset_p57, align 8 + br label %vaarg.end66 + +vaarg.in_mem62: ; preds = %sw.bb54 + %overflow_arg_area_p63 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay56, i32 0, i32 2 + %overflow_arg_area64 = load i8*, i8** %overflow_arg_area_p63, align 8 + %52 = bitcast i8* %overflow_arg_area64 to i32* + %overflow_arg_area.next65 = getelementptr i8, i8* %overflow_arg_area64, i32 8 + store i8* %overflow_arg_area.next65, i8** %overflow_arg_area_p63, align 8 + br label %vaarg.end66 + +vaarg.end66: ; preds = %vaarg.in_mem62, %vaarg.in_reg60 + %vaarg.addr67 = phi i32* [ %50, %vaarg.in_reg60 ], [ %52, %vaarg.in_mem62 ] + %53 = load i32, i32* %vaarg.addr67, align 4 + %54 = load %union.anon.195*, %union.anon.195** %p, align 8 + %u68 = bitcast %union.anon.195* %54 to i32* + store i32 %53, i32* %u68, align 8 + br label %sw.epilog + +sw.bb69: ; preds = %NodeBlock5 + %55 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %arg70 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %55, i32 0, i32 7 + %arraydecay71 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %arg70, i64 0, i64 0 + %gp_offset_p72 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay71, i32 0, i32 0 + %gp_offset73 = load i32, i32* %gp_offset_p72, align 8 + %fits_in_gp74 = icmp ule i32 %gp_offset73, 40 + br i1 %fits_in_gp74, label %vaarg.in_reg75, label %vaarg.in_mem77 + +vaarg.in_reg75: ; preds = %sw.bb69 + %56 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay71, i32 0, i32 3 + %reg_save_area76 = load i8*, i8** %56, align 8 + %57 = getelementptr i8, i8* %reg_save_area76, i32 %gp_offset73 + %58 = bitcast i8* %57 to i32* + %59 = add i32 %gp_offset73, 8 + store i32 %59, i32* %gp_offset_p72, align 8 + br label %vaarg.end81 + +vaarg.in_mem77: ; preds = %sw.bb69 + %overflow_arg_area_p78 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay71, i32 0, i32 2 + %overflow_arg_area79 = load i8*, i8** %overflow_arg_area_p78, align 8 + %60 = bitcast i8* %overflow_arg_area79 to i32* + %overflow_arg_area.next80 = getelementptr i8, i8* %overflow_arg_area79, i32 8 + store i8* %overflow_arg_area.next80, i8** %overflow_arg_area_p78, align 8 + br label %vaarg.end81 + +vaarg.end81: ; preds = %vaarg.in_mem77, %vaarg.in_reg75 + %vaarg.addr82 = phi i32* [ %58, %vaarg.in_reg75 ], [ %60, %vaarg.in_mem77 ] + %61 = load i32, i32* %vaarg.addr82, align 4 + %62 = load %union.anon.195*, %union.anon.195** %p, align 8 + %wc = bitcast %union.anon.195* %62 to i32* + store i32 %61, i32* %wc, align 8 + br label %sw.epilog + +sw.bb83: ; preds = %NodeBlock3 + %63 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %arg84 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %63, i32 0, i32 7 + %arraydecay85 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %arg84, i64 0, i64 0 + %fp_offset_p = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay85, i32 0, i32 1 + %fp_offset = load i32, i32* %fp_offset_p, align 4 + %fits_in_fp = icmp ule i32 %fp_offset, 160 + br i1 %fits_in_fp, label %vaarg.in_reg86, label %vaarg.in_mem88 + +vaarg.in_reg86: ; preds = %sw.bb83 + %64 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay85, i32 0, i32 3 + %reg_save_area87 = load i8*, i8** %64, align 8 + %65 = getelementptr i8, i8* %reg_save_area87, i32 %fp_offset + %66 = bitcast i8* %65 to double* + %67 = add i32 %fp_offset, 16 + store i32 %67, i32* %fp_offset_p, align 4 + br label %vaarg.end92 + +vaarg.in_mem88: ; preds = %sw.bb83 + %overflow_arg_area_p89 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay85, i32 0, i32 2 + %overflow_arg_area90 = load i8*, i8** %overflow_arg_area_p89, align 8 + %68 = bitcast i8* %overflow_arg_area90 to double* + %overflow_arg_area.next91 = getelementptr i8, i8* %overflow_arg_area90, i32 8 + store i8* %overflow_arg_area.next91, i8** %overflow_arg_area_p89, align 8 + br label %vaarg.end92 + +vaarg.end92: ; preds = %vaarg.in_mem88, %vaarg.in_reg86 + %vaarg.addr93 = phi double* [ %66, %vaarg.in_reg86 ], [ %68, %vaarg.in_mem88 ] + %69 = load double, double* %vaarg.addr93, align 8 + %70 = load %union.anon.195*, %union.anon.195** %p, align 8 + %d = bitcast %union.anon.195* %70 to double* + store double %69, double* %d, align 8 + br label %sw.epilog + +sw.bb94: ; preds = %NodeBlock1 + %71 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %arg95 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %71, i32 0, i32 7 + %arraydecay96 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %arg95, i64 0, i64 0 + %fp_offset_p97 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay96, i32 0, i32 1 + %fp_offset98 = load i32, i32* %fp_offset_p97, align 4 + %fits_in_fp99 = icmp ule i32 %fp_offset98, 160 + br i1 %fits_in_fp99, label %vaarg.in_reg100, label %vaarg.in_mem102 + +vaarg.in_reg100: ; preds = %sw.bb94 + %72 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay96, i32 0, i32 3 + %reg_save_area101 = load i8*, i8** %72, align 8 + %73 = getelementptr i8, i8* %reg_save_area101, i32 %fp_offset98 + %74 = bitcast i8* %73 to double* + %75 = add i32 %fp_offset98, 16 + store i32 %75, i32* %fp_offset_p97, align 4 + br label %vaarg.end106 + +vaarg.in_mem102: ; preds = %sw.bb94 + %overflow_arg_area_p103 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay96, i32 0, i32 2 + %overflow_arg_area104 = load i8*, i8** %overflow_arg_area_p103, align 8 + %76 = bitcast i8* %overflow_arg_area104 to double* + %overflow_arg_area.next105 = getelementptr i8, i8* %overflow_arg_area104, i32 8 + store i8* %overflow_arg_area.next105, i8** %overflow_arg_area_p103, align 8 + br label %vaarg.end106 + +vaarg.end106: ; preds = %vaarg.in_mem102, %vaarg.in_reg100 + %vaarg.addr107 = phi double* [ %74, %vaarg.in_reg100 ], [ %76, %vaarg.in_mem102 ] + %77 = load double, double* %vaarg.addr107, align 8 + %78 = load %union.anon.195*, %union.anon.195** %p, align 8 + %ld = bitcast %union.anon.195* %78 to double* + store double %77, double* %ld, align 8 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.bb108 + +sw.bb108: ; preds = %newDefault + %79 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %arg109 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %79, i32 0, i32 7 + %arraydecay110 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %arg109, i64 0, i64 0 + %gp_offset_p111 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay110, i32 0, i32 0 + %gp_offset112 = load i32, i32* %gp_offset_p111, align 8 + %fits_in_gp113 = icmp ule i32 %gp_offset112, 40 + br i1 %fits_in_gp113, label %vaarg.in_reg114, label %vaarg.in_mem116 + +vaarg.in_reg114: ; preds = %sw.bb108 + %80 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay110, i32 0, i32 3 + %reg_save_area115 = load i8*, i8** %80, align 8 + %81 = getelementptr i8, i8* %reg_save_area115, i32 %gp_offset112 + %82 = bitcast i8* %81 to i8** + %83 = add i32 %gp_offset112, 8 + store i32 %83, i32* %gp_offset_p111, align 8 + br label %vaarg.end120 + +vaarg.in_mem116: ; preds = %sw.bb108 + %overflow_arg_area_p117 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay110, i32 0, i32 2 + %overflow_arg_area118 = load i8*, i8** %overflow_arg_area_p117, align 8 + %84 = bitcast i8* %overflow_arg_area118 to i8** + %overflow_arg_area.next119 = getelementptr i8, i8* %overflow_arg_area118, i32 8 + store i8* %overflow_arg_area.next119, i8** %overflow_arg_area_p117, align 8 + br label %vaarg.end120 + +vaarg.end120: ; preds = %vaarg.in_mem116, %vaarg.in_reg114 + %vaarg.addr121 = phi i8** [ %82, %vaarg.in_reg114 ], [ %84, %vaarg.in_mem116 ] + %85 = load i8*, i8** %vaarg.addr121, align 8 + %86 = load %union.anon.195*, %union.anon.195** %p, align 8 + %p122 = bitcast %union.anon.195* %86 to i8** + store i8* %85, i8** %p122, align 8 + br label %sw.epilog + +sw.epilog: ; preds = %vaarg.end120, %vaarg.end106, %vaarg.end92, %vaarg.end81, %vaarg.end66, %vaarg.end52, %vaarg.end38 + %87 = load %union.anon.195*, %union.anon.195** %p, align 8 + %incdec.ptr = getelementptr inbounds %union.anon.195, %union.anon.195* %87, i32 1 + store %union.anon.195* %incdec.ptr, %union.anon.195** %p, align 8 + br label %while.cond + +if.else: ; preds = %entry + br i1 %cmp1, label %if.then127, label %if.end133 + +if.then127: ; preds = %if.else + %88 = load %union.anon.195*, %union.anon.195** %p, align 8 + %89 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %argnumber = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %89, i32 0, i32 5 + %arrayidx128 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber, i64 0, i64 0 + %90 = load i8, i8* %arrayidx128, align 8 + %conv = zext i8 %90 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds %union.anon.195, %union.anon.195* %88, i64 %idx.ext + %add.ptr129 = getelementptr inbounds %union.anon.195, %union.anon.195* %add.ptr, i64 -1 + %u130 = bitcast %union.anon.195* %add.ptr129 to i32* + %91 = load i32, i32* %u130, align 8 + %92 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info131 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %92, i32 0, i32 1 + %width132 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info131, i32 0, i32 1 + store i32 %91, i32* %width132, align 4 + br label %if.end133 + +if.end133: ; preds = %if.then127, %if.else + %93 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info134 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %93, i32 0, i32 1 + %prec135 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info134, i32 0, i32 0 + %94 = load i32, i32* %prec135, align 8 + %cmp136 = icmp eq i32 %94, -2147483648 + br i1 %cmp136, label %if.then138, label %if.end149 + +if.then138: ; preds = %if.end133 + %95 = load %union.anon.195*, %union.anon.195** %p, align 8 + %96 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %argnumber139 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %96, i32 0, i32 5 + %arrayidx140 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber139, i64 0, i64 1 + %97 = load i8, i8* %arrayidx140, align 1 + %conv141 = zext i8 %97 to i32 + %idx.ext142 = sext i32 %conv141 to i64 + %add.ptr143 = getelementptr inbounds %union.anon.195, %union.anon.195* %95, i64 %idx.ext142 + %add.ptr144 = getelementptr inbounds %union.anon.195, %union.anon.195* %add.ptr143, i64 -1 + %u145 = bitcast %union.anon.195* %add.ptr144 to i32* + %98 = load i32, i32* %u145, align 8 + %99 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info146 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %99, i32 0, i32 1 + %prec147 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info146, i32 0, i32 0 + store i32 %98, i32* %prec147, align 8 + br label %if.end149 + +if.end149: ; preds = %if.end133, %if.then138, %while.cond + %100 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info150 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %100, i32 0, i32 1 + %width151 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info150, i32 0, i32 1 + %101 = load i32, i32* %width151, align 4 + %cmp152 = icmp slt i32 %101, 0 + br i1 %cmp152, label %if.then154, label %if.end163 + +if.then154: ; preds = %if.end149 + %102 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info155 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %102, i32 0, i32 1 + %width156 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info155, i32 0, i32 1 + %103 = load i32, i32* %width156, align 4 + %sub = sub nsw i32 0, %103 + %104 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info157 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %104, i32 0, i32 1 + %width158 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info157, i32 0, i32 1 + store i32 %sub, i32* %width158, align 4 + %105 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info159 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %105, i32 0, i32 1 + %_flags = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info159, i32 0, i32 3 + %106 = load i32, i32* %_flags, align 4 + %or = or i32 %106, 8 + store i32 %or, i32* %_flags, align 4 + %107 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info160 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %107, i32 0, i32 1 + %_flags161 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info160, i32 0, i32 3 + %108 = load i32, i32* %_flags161, align 4 + %and = and i32 %108, -2 + store i32 %and, i32* %_flags161, align 4 + %109 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info162 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %109, i32 0, i32 1 + %pad = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info162, i32 0, i32 4 + store i32 32, i32* %pad, align 8 + br label %if.end163 + +if.end163: ; preds = %if.then154, %if.end149 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_store_inttype(i8* %dest, i32 %desttype, i64 %val) #0 { +entry: + %dest.addr = alloca i8*, align 8 + %desttype.addr = alloca i32, align 4 + %val.addr = alloca i64, align 8 + store i8* %dest, i8** %dest.addr, align 8 + store i32 %desttype, i32* %desttype.addr, align 4 + store i64 %val, i64* %val.addr, align 8 + %0 = load i32, i32* %desttype.addr, align 4 + %cmp = icmp eq i32 %0, 256 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load i64, i64* %val.addr, align 8 + %conv = trunc i64 %1 to i8 + %2 = load i8*, i8** %dest.addr, align 8 + store i8 %conv, i8* %2, align 1 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* %desttype.addr, align 4 + %cmp1 = icmp eq i32 %3, 2048 + br i1 %cmp1, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.end + %4 = load i64, i64* %val.addr, align 8 + %5 = load i8*, i8** %dest.addr, align 8 + %6 = bitcast i8* %5 to i64* + store i64 %4, i64* %6, align 8 + br label %return + +if.end4: ; preds = %if.end + %7 = load i32, i32* %desttype.addr, align 4 + %cmp5 = icmp eq i32 %7, 512 + br i1 %cmp5, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end4 + %8 = load i64, i64* %val.addr, align 8 + %conv8 = trunc i64 %8 to i16 + %9 = load i8*, i8** %dest.addr, align 8 + %10 = bitcast i8* %9 to i16* + store i16 %conv8, i16* %10, align 2 + br label %return + +if.end9: ; preds = %if.end4 + %11 = load i32, i32* %desttype.addr, align 4 + %cmp10 = icmp eq i32 %11, 1024 + %12 = load i64, i64* %val.addr, align 8 + br i1 %cmp10, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.end9 + %13 = load i8*, i8** %dest.addr, align 8 + %14 = bitcast i8* %13 to i64* + store i64 %12, i64* %14, align 8 + br label %return + +if.end13: ; preds = %if.end9 + %conv14 = trunc i64 %12 to i32 + %15 = load i8*, i8** %dest.addr, align 8 + %16 = bitcast i8* %15 to i32* + store i32 %conv14, i32* %16, align 4 + br label %return + +return: ; preds = %if.end13, %if.then12, %if.then7, %if.then3, %if.then + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden i8* @_uintmaxtostr(i8* noalias %bufend, i64 %uval, i32 %base, i32 %alphacase) #0 { +entry: + %bufend.addr = alloca i8*, align 8 + %uval.addr = alloca i64, align 8 + %base.addr = alloca i32, align 4 + %alphacase.addr = alloca i32, align 4 + %negative = alloca i32, align 4 + %digit = alloca i32, align 4 + %H = alloca i32, align 4 + %L = alloca i32, align 4 + %high = alloca i32, align 4 + %low = alloca i32, align 4 + %rh = alloca i32, align 4 + %grouping = alloca i32, align 4 + %outdigit = alloca i32, align 4 + %g = alloca i8*, align 8 + store i8* %bufend, i8** %bufend.addr, align 8 + store i64 %uval, i64* %uval.addr, align 8 + store i32 %base, i32* %base.addr, align 4 + store i32 %alphacase, i32* %alphacase.addr, align 4 + store i32 0, i32* %negative, align 4 + %0 = load i32, i32* %base.addr, align 4 + %cmp = icmp slt i32 %0, 0 + br i1 %cmp, label %if.then, label %if.end4 + +if.then: ; preds = %entry + %1 = load i32, i32* %base.addr, align 4 + %sub = sub nsw i32 0, %1 + store i32 %sub, i32* %base.addr, align 4 + %2 = load i64, i64* %uval.addr, align 8 + %cmp1 = icmp ugt i64 %2, 9223372036854775807 + br i1 %cmp1, label %if.then2, label %if.end4 + +if.then2: ; preds = %if.then + %3 = load i64, i64* %uval.addr, align 8 + %sub3 = sub i64 0, %3 + store i64 %sub3, i64* %uval.addr, align 8 + store i32 1, i32* %negative, align 4 + br label %if.end4 + +if.end4: ; preds = %if.then, %if.then2, %entry + store i32 -1, i32* %grouping, align 4 + %4 = load i32, i32* %alphacase.addr, align 4 + %and = and i32 128, %4 + store i32 %and, i32* %outdigit, align 4 + %5 = load i32, i32* %outdigit, align 4 + %6 = load i32, i32* %alphacase.addr, align 4 + %xor = xor i32 %6, %5 + store i32 %xor, i32* %alphacase.addr, align 4 + %7 = load i32, i32* %alphacase.addr, align 4 + %cmp5 = icmp eq i32 %7, 44 + br i1 %cmp5, label %if.then6, label %if.end10 + +if.then6: ; preds = %if.end4 + %8 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__curlocale_var, align 8 + %grouping7 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %8, i32 0, i32 41 + %9 = load i8*, i8** %grouping7, align 8 + store i8* %9, i8** %g, align 8 + %10 = load i8, i8* %9, align 1 + %tobool = icmp ne i8 %10, 0 + br i1 %tobool, label %if.then8, label %if.end10 + +if.then8: ; preds = %if.then6 + %11 = load i8*, i8** %g, align 8 + %12 = load i8, i8* %11, align 1 + %conv = sext i8 %12 to i32 + store i32 %conv, i32* %grouping, align 4 + br label %if.end10 + +if.end10: ; preds = %if.then6, %if.then8, %if.end4 + %13 = load i8*, i8** %bufend.addr, align 8 + store i8 0, i8* %13, align 1 + %14 = load i32, i32* %base.addr, align 4 + %div = udiv i32 -1, %14 + store i32 %div, i32* %H, align 4 + %15 = load i32, i32* %base.addr, align 4 + %rem = urem i32 -1, %15 + %add = add i32 %rem, 1 + store i32 %add, i32* %L, align 4 + %16 = load i32, i32* %L, align 4 + %17 = load i32, i32* %base.addr, align 4 + %cmp11 = icmp eq i32 %16, %17 + br i1 %cmp11, label %if.then13, label %if.end14 + +if.then13: ; preds = %if.end10 + %18 = load i32, i32* %H, align 4 + %inc = add i32 %18, 1 + store i32 %inc, i32* %H, align 4 + store i32 0, i32* %L, align 4 + br label %if.end14 + +if.end14: ; preds = %if.then13, %if.end10 + %19 = load i64, i64* %uval.addr, align 8 + %conv15 = trunc i64 %19 to i32 + store i32 %conv15, i32* %low, align 4 + %20 = load i64, i64* %uval.addr, align 8 + %shr = lshr i64 %20, 32 + %conv16 = trunc i64 %shr to i32 + store i32 %conv16, i32* %high, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %if.end14 + %21 = load i32, i32* %grouping, align 4 + %tobool17 = icmp ne i32 %21, 0 + br i1 %tobool17, label %if.end27, label %if.then18 + +if.then18: ; preds = %do.body + %22 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__curlocale_var, align 8 + %thousands_sep_len = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %22, i32 0, i32 27 + %23 = load i32, i32* %thousands_sep_len, align 4 + %24 = load i8*, i8** %bufend.addr, align 8 + %idx.ext = sext i32 %23 to i64 + %idx.neg = sub i64 0, %idx.ext + %add.ptr = getelementptr inbounds i8, i8* %24, i64 %idx.neg + store i8* %add.ptr, i8** %bufend.addr, align 8 + %25 = load i8*, i8** %bufend.addr, align 8 + %26 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__curlocale_var, align 8 + %thousands_sep = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %26, i32 0, i32 40 + %27 = load i8*, i8** %thousands_sep, align 8 + %28 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__curlocale_var, align 8 + %thousands_sep_len19 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %28, i32 0, i32 27 + %29 = load i32, i32* %thousands_sep_len19, align 4 + %conv20 = sext i32 %29 to i64 + %call = call i8* @memcpy(i8* %25, i8* %27, i64 %conv20) #20 + %30 = load i8*, i8** %g, align 8 + %arrayidx = getelementptr inbounds i8, i8* %30, i64 1 + %31 = load i8, i8* %arrayidx, align 1 + %conv21 = sext i8 %31 to i32 + %cmp22 = icmp ne i32 %conv21, 0 + br i1 %cmp22, label %if.then24, label %if.end25 + +if.then24: ; preds = %if.then18 + %32 = load i8*, i8** %g, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %32, i32 1 + store i8* %incdec.ptr, i8** %g, align 8 + br label %if.end25 + +if.end25: ; preds = %if.then24, %if.then18 + %33 = load i8*, i8** %g, align 8 + %34 = load i8, i8* %33, align 1 + %conv26 = sext i8 %34 to i32 + store i32 %conv26, i32* %grouping, align 4 + br label %if.end27 + +if.end27: ; preds = %if.end25, %do.body + %35 = load i32, i32* %grouping, align 4 + %dec = add nsw i32 %35, -1 + store i32 %dec, i32* %grouping, align 4 + %36 = load i32, i32* %high, align 4 + %tobool28 = icmp ne i32 %36, 0 + %lnot = xor i1 %tobool28, true + %lnot29 = xor i1 %lnot, true + %lnot.ext = zext i1 %lnot29 to i32 + %conv30 = sext i32 %lnot.ext to i64 + %tobool31 = icmp ne i64 %conv30, 0 + br i1 %tobool31, label %if.then32, label %if.else + +if.then32: ; preds = %if.end27 + %37 = load i32, i32* %high, align 4 + %38 = load i32, i32* %base.addr, align 4 + %rem33 = urem i32 %37, %38 + store i32 %rem33, i32* %rh, align 4 + %39 = load i32, i32* %base.addr, align 4 + %40 = load i32, i32* %high, align 4 + %div34 = udiv i32 %40, %39 + store i32 %div34, i32* %high, align 4 + %41 = load i32, i32* %low, align 4 + %42 = load i32, i32* %base.addr, align 4 + %rem35 = urem i32 %41, %42 + %43 = load i32, i32* %L, align 4 + %44 = load i32, i32* %rh, align 4 + %mul = mul i32 %43, %44 + %add36 = add i32 %rem35, %mul + store i32 %add36, i32* %digit, align 4 + %45 = load i32, i32* %low, align 4 + %46 = load i32, i32* %base.addr, align 4 + %div37 = udiv i32 %45, %46 + %47 = load i32, i32* %H, align 4 + %48 = load i32, i32* %rh, align 4 + %mul38 = mul i32 %47, %48 + %add39 = add i32 %div37, %mul38 + %49 = load i32, i32* %digit, align 4 + %50 = load i32, i32* %base.addr, align 4 + %div40 = udiv i32 %49, %50 + %add41 = add i32 %add39, %div40 + store i32 %add41, i32* %low, align 4 + %51 = load i32, i32* %base.addr, align 4 + %52 = load i32, i32* %digit, align 4 + %rem42 = urem i32 %52, %51 + store i32 %rem42, i32* %digit, align 4 + br label %if.end45 + +if.else: ; preds = %if.end27 + %53 = load i32, i32* %low, align 4 + %54 = load i32, i32* %base.addr, align 4 + %rem43 = urem i32 %53, %54 + store i32 %rem43, i32* %digit, align 4 + %55 = load i32, i32* %base.addr, align 4 + %56 = load i32, i32* %low, align 4 + %div44 = udiv i32 %56, %55 + store i32 %div44, i32* %low, align 4 + br label %if.end45 + +if.end45: ; preds = %if.else, %if.then32 + %57 = load i32, i32* %outdigit, align 4 + %tobool46 = icmp ne i32 %57, 0 + %lnot47 = xor i1 %tobool46, true + %lnot49 = xor i1 %lnot47, true + %lnot.ext50 = zext i1 %lnot49 to i32 + %conv51 = sext i32 %lnot.ext50 to i64 + %tobool52 = icmp ne i64 %conv51, 0 + br i1 %tobool52, label %if.then53, label %if.else66 + +if.then53: ; preds = %if.end45 + %58 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__curlocale_var, align 8 + %outdigit_length = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %58, i32 0, i32 11 + %59 = load i32, i32* %digit, align 4 + %idxprom = zext i32 %59 to i64 + %arrayidx54 = getelementptr inbounds [10 x i8], [10 x i8]* %outdigit_length, i64 0, i64 %idxprom + %60 = load i8, i8* %arrayidx54, align 1 + %conv55 = zext i8 %60 to i32 + %61 = load i8*, i8** %bufend.addr, align 8 + %idx.ext56 = sext i32 %conv55 to i64 + %idx.neg57 = sub i64 0, %idx.ext56 + %add.ptr58 = getelementptr inbounds i8, i8* %61, i64 %idx.neg57 + store i8* %add.ptr58, i8** %bufend.addr, align 8 + %62 = load i8*, i8** %bufend.addr, align 8 + %63 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__curlocale_var, align 8 + %outdigit0_mb = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %63, i32 0, i32 28 + %64 = load i32, i32* %digit, align 4 + %idxprom59 = zext i32 %64 to i64 + %arrayidx60 = getelementptr inbounds i8*, i8** %outdigit0_mb, i64 %idxprom59 + %65 = load i8*, i8** %arrayidx60, align 8 + %66 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__curlocale_var, align 8 + %outdigit_length61 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %66, i32 0, i32 11 + %67 = load i32, i32* %digit, align 4 + %idxprom62 = zext i32 %67 to i64 + %arrayidx63 = getelementptr inbounds [10 x i8], [10 x i8]* %outdigit_length61, i64 0, i64 %idxprom62 + %68 = load i8, i8* %arrayidx63, align 1 + %conv64 = zext i8 %68 to i64 + %call65 = call i8* @memcpy(i8* %62, i8* %65, i64 %conv64) #20 + br label %do.cond + +if.else66: ; preds = %if.end45 + %69 = load i32, i32* %digit, align 4 + %cmp67 = icmp ult i32 %69, 10 + %70 = load i32, i32* %digit, align 4 + %add69 = add i32 %70, 48 + %71 = load i32, i32* %alphacase.addr, align 4 + %add70 = add i32 %70, %71 + %cond = select i1 %cmp67, i32 %add69, i32 %add70 + %conv71 = trunc i32 %cond to i8 + %72 = load i8*, i8** %bufend.addr, align 8 + %incdec.ptr72 = getelementptr inbounds i8, i8* %72, i32 -1 + store i8* %incdec.ptr72, i8** %bufend.addr, align 8 + store i8 %conv71, i8* %incdec.ptr72, align 1 + br label %do.cond + +do.cond: ; preds = %if.then53, %if.else66 + %73 = load i32, i32* %low, align 4 + %74 = load i32, i32* %high, align 4 + %or = or i32 %73, %74 + %tobool74 = icmp ne i32 %or, 0 + br i1 %tobool74, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %75 = load i32, i32* %negative, align 4 + %tobool75 = icmp ne i32 %75, 0 + br i1 %tobool75, label %if.then76, label %if.end78 + +if.then76: ; preds = %do.end + %76 = load i8*, i8** %bufend.addr, align 8 + %incdec.ptr77 = getelementptr inbounds i8, i8* %76, i32 -1 + store i8* %incdec.ptr77, i8** %bufend.addr, align 8 + store i8 45, i8* %incdec.ptr77, align 1 + br label %if.end78 + +if.end78: ; preds = %if.then76, %do.end + %77 = load i8*, i8** %bufend.addr, align 8 + ret i8* %77 +} + +; Function Attrs: noinline nounwind uwtable +define hidden %struct.exit_function* @__new_exitfn() #0 { +entry: + %efp = alloca %struct.exit_function*, align 8 + %0 = load i32, i32* @__exit_slots, align 4 + %1 = load i32, i32* @__exit_count, align 4 + %add = add nsw i32 %1, 1 + %cmp = icmp slt i32 %0, %add + br i1 %cmp, label %if.then, label %if.end6 + +if.then: ; preds = %entry + %2 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + %3 = bitcast %struct.exit_function* %2 to i8* + %4 = load i32, i32* @__exit_slots, align 4 + %add1 = add nsw i32 %4, 20 + %conv = sext i32 %add1 to i64 + %mul = mul i64 %conv, 32 + %call = call noalias i8* @realloc(i8* %3, i64 %mul) #20 + %5 = bitcast i8* %call to %struct.exit_function* + store %struct.exit_function* %5, %struct.exit_function** %efp, align 8 + %6 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %cmp2 = icmp eq %struct.exit_function* %6, null + br i1 %cmp2, label %if.then4, label %if.end + +if.then4: ; preds = %if.then + store i32 12, i32* @errno, align 4 + br label %DONE + +if.end: ; preds = %if.then + %7 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + store %struct.exit_function* %7, %struct.exit_function** @__exit_function_table, align 8 + %8 = load i32, i32* @__exit_slots, align 4 + %add5 = add nsw i32 %8, 20 + store i32 %add5, i32* @__exit_slots, align 4 + br label %if.end6 + +if.end6: ; preds = %if.end, %entry + store void (i32)* @__exit_handler, void (i32)** @__exit_cleanup, align 8 + %9 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + %10 = load i32, i32* @__exit_count, align 4 + %inc = add nsw i32 %10, 1 + store i32 %inc, i32* @__exit_count, align 4 + %idxprom = sext i32 %10 to i64 + %arrayidx = getelementptr inbounds %struct.exit_function, %struct.exit_function* %9, i64 %idxprom + store %struct.exit_function* %arrayidx, %struct.exit_function** %efp, align 8 + %11 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %type = getelementptr inbounds %struct.exit_function, %struct.exit_function* %11, i32 0, i32 0 + store i64 1, i64* %type, align 8 + br label %DONE + +DONE: ; preds = %if.end6, %if.then4 + %12 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + ret %struct.exit_function* %12 +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @__exit_handler(i32 %status) #0 { +entry: + %status.addr = alloca i32, align 4 + %efp = alloca %struct.exit_function*, align 8 + store i32 %status, i32* %status.addr, align 4 + br label %while.cond + +while.cond: ; preds = %sw.epilog, %entry + %0 = load i32, i32* @__exit_count, align 4 + %tobool = icmp ne i32 %0, 0 + %1 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %2 = load i32, i32* @__exit_count, align 4 + %dec = add nsw i32 %2, -1 + store i32 %dec, i32* @__exit_count, align 4 + %idxprom = sext i32 %dec to i64 + %arrayidx = getelementptr inbounds %struct.exit_function, %struct.exit_function* %1, i64 %idxprom + store %struct.exit_function* %arrayidx, %struct.exit_function** %efp, align 8 + %3 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %type = getelementptr inbounds %struct.exit_function, %struct.exit_function* %3, i32 0, i32 0 + %4 = load i64, i64* %type, align 8 + br label %NodeBlock1 + +NodeBlock1: ; preds = %while.body + %case.cmp2 = icmp eq i64 %4, 2 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i64 %4, 3 + br i1 %case.cmp, label %sw.bb7, label %newDefault + +sw.bb: ; preds = %NodeBlock1 + %5 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs = getelementptr inbounds %struct.exit_function, %struct.exit_function* %5, i32 0, i32 1 + %on_exit = bitcast %union.anon.774* %funcs to %struct.anon.781* + %func = getelementptr inbounds %struct.anon.781, %struct.anon.781* %on_exit, i32 0, i32 0 + %6 = load void (i32, i8*)*, void (i32, i8*)** %func, align 8 + %tobool1 = icmp ne void (i32, i8*)* %6, null + br i1 %tobool1, label %if.then, label %sw.epilog + +if.then: ; preds = %sw.bb + %7 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs2 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %7, i32 0, i32 1 + %on_exit3 = bitcast %union.anon.774* %funcs2 to %struct.anon.781* + %func4 = getelementptr inbounds %struct.anon.781, %struct.anon.781* %on_exit3, i32 0, i32 0 + %8 = load void (i32, i8*)*, void (i32, i8*)** %func4, align 8 + %9 = load i32, i32* %status.addr, align 4 + %10 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs5 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %10, i32 0, i32 1 + %on_exit6 = bitcast %union.anon.774* %funcs5 to %struct.anon.781* + %arg = getelementptr inbounds %struct.anon.781, %struct.anon.781* %on_exit6, i32 0, i32 1 + %11 = load i8*, i8** %arg, align 8 + call void %8(i32 %9, i8* %11) #19 + br label %sw.epilog + +sw.bb7: ; preds = %NodeBlock + %12 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs8 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %12, i32 0, i32 1 + %cxa_atexit = bitcast %union.anon.774* %funcs8 to %struct.anon.0.773* + %func9 = getelementptr inbounds %struct.anon.0.773, %struct.anon.0.773* %cxa_atexit, i32 0, i32 0 + %13 = load void (i8*)*, void (i8*)** %func9, align 8 + %tobool10 = icmp ne void (i8*)* %13, null + br i1 %tobool10, label %if.then11, label %sw.epilog + +if.then11: ; preds = %sw.bb7 + %14 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs12 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %14, i32 0, i32 1 + %cxa_atexit13 = bitcast %union.anon.774* %funcs12 to %struct.anon.0.773* + %func14 = getelementptr inbounds %struct.anon.0.773, %struct.anon.0.773* %cxa_atexit13, i32 0, i32 0 + %15 = load void (i8*)*, void (i8*)** %func14, align 8 + %16 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs15 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %16, i32 0, i32 1 + %cxa_atexit16 = bitcast %union.anon.774* %funcs15 to %struct.anon.0.773* + %arg17 = getelementptr inbounds %struct.anon.0.773, %struct.anon.0.773* %cxa_atexit16, i32 0, i32 1 + %17 = load i8*, i8** %arg17, align 8 + call void %15(i8* %17) #19 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.epilog + +sw.epilog: ; preds = %newDefault, %sw.bb7, %if.then11, %sw.bb, %if.then + br label %while.cond + +while.end: ; preds = %while.cond + %tobool19 = icmp ne %struct.exit_function* %1, null + br i1 %tobool19, label %if.then20, label %if.end21 + +if.then20: ; preds = %while.end + %18 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + %19 = bitcast %struct.exit_function* %18 to i8* + call void @free(i8* %19) #20 + br label %if.end21 + +if.end21: ; preds = %if.then20, %while.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__xpg_strerror_r(i32 %errnum, i8* %strerrbuf, i64 %buflen) #0 { +entry: + %errnum.addr = alloca i32, align 4 + %strerrbuf.addr = alloca i8*, align 8 + %buflen.addr = alloca i64, align 8 + %s = alloca i8*, align 8 + %i = alloca i32, align 4 + %retval1 = alloca i32, align 4 + %buf = alloca [50 x i8], align 16 + store i32 %errnum, i32* %errnum.addr, align 4 + store i8* %strerrbuf, i8** %strerrbuf.addr, align 8 + store i64 %buflen, i64* %buflen.addr, align 8 + store i32 22, i32* %retval1, align 4 + %0 = load i32, i32* %errnum.addr, align 4 + store i32 %0, i32* %i, align 4 + %1 = load i32, i32* %i, align 4 + %cmp = icmp ult i32 %1, 125 + br i1 %cmp, label %if.then, label %if.end7 + +if.then: ; preds = %entry + store i8* getelementptr inbounds ([2906 x i8], [2906 x i8]* @_string_syserrmsgs, i64 0, i64 0), i8** %s, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.then + %2 = load i32, i32* %i, align 4 + %tobool = icmp ne i32 %2, 0 + %3 = load i8*, i8** %s, align 8 + %4 = load i8, i8* %3, align 1 + %tobool2 = icmp ne i8 %4, 0 + br i1 %tobool, label %for.body, label %for.end + +for.body: ; preds = %for.cond + br i1 %tobool2, label %for.inc, label %if.then3 + +if.then3: ; preds = %for.body + %5 = load i32, i32* %i, align 4 + %dec = add nsw i32 %5, -1 + store i32 %dec, i32* %i, align 4 + br label %for.inc + +for.inc: ; preds = %for.body, %if.then3 + %6 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + br i1 %tobool2, label %if.then5, label %if.end7 + +if.then5: ; preds = %for.end + store i32 0, i32* %retval1, align 4 + br label %GOT_MESG + +if.end7: ; preds = %for.end, %entry + %arraydecay = getelementptr inbounds [50 x i8], [50 x i8]* %buf, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 50 + %add.ptr8 = getelementptr inbounds i8, i8* %add.ptr, i64 -1 + %7 = load i32, i32* %errnum.addr, align 4 + %conv = sext i32 %7 to i64 + %call = call i8* @_uintmaxtostr(i8* %add.ptr8, i64 %conv, i32 -10, i32 0) #19 + %add.ptr9 = getelementptr inbounds i8, i8* %call, i64 -14 + store i8* %add.ptr9, i8** %s, align 8 + %8 = load i8*, i8** %s, align 8 + %call10 = call i8* @memcpy(i8* %8, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @__xpg_strerror_r.unknown, i64 0, i64 0), i64 14) #20 + br label %GOT_MESG + +GOT_MESG: ; preds = %if.end7, %if.then5 + %9 = load i8*, i8** %strerrbuf.addr, align 8 + %tobool11 = icmp ne i8* %9, null + br i1 %tobool11, label %if.end13, label %if.then12 + +if.then12: ; preds = %GOT_MESG + store i64 0, i64* %buflen.addr, align 8 + br label %if.end13 + +if.end13: ; preds = %if.then12, %GOT_MESG + %10 = load i8*, i8** %s, align 8 + %call14 = call i64 @strlen(i8* %10) #21 + %add = add i64 %call14, 1 + %conv15 = trunc i64 %add to i32 + store i32 %conv15, i32* %i, align 4 + %11 = load i32, i32* %i, align 4 + %conv16 = sext i32 %11 to i64 + %12 = load i64, i64* %buflen.addr, align 8 + %cmp17 = icmp ugt i64 %conv16, %12 + br i1 %cmp17, label %if.then19, label %if.end21 + +if.then19: ; preds = %if.end13 + %13 = load i64, i64* %buflen.addr, align 8 + %conv20 = trunc i64 %13 to i32 + store i32 %conv20, i32* %i, align 4 + store i32 34, i32* %retval1, align 4 + br label %if.end21 + +if.end21: ; preds = %if.then19, %if.end13 + %14 = load i32, i32* %i, align 4 + %tobool22 = icmp ne i32 %14, 0 + br i1 %tobool22, label %if.then23, label %if.end26 + +if.then23: ; preds = %if.end21 + %15 = load i8*, i8** %strerrbuf.addr, align 8 + %16 = load i8*, i8** %s, align 8 + %17 = load i32, i32* %i, align 4 + %conv24 = sext i32 %17 to i64 + %call25 = call i8* @memcpy(i8* %15, i8* %16, i64 %conv24) #20 + %18 = load i8*, i8** %strerrbuf.addr, align 8 + %19 = load i32, i32* %i, align 4 + %sub = sub nsw i32 %19, 1 + %idxprom = sext i32 %sub to i64 + %arrayidx = getelementptr inbounds i8, i8* %18, i64 %idxprom + store i8 0, i8* %arrayidx, align 1 + br label %if.end26 + +if.end26: ; preds = %if.then23, %if.end21 + %20 = load i32, i32* %retval1, align 4 + %tobool27 = icmp ne i32 %20, 0 + br i1 %tobool27, label %if.then28, label %if.end29 + +if.then28: ; preds = %if.end26 + %21 = load i32, i32* %retval1, align 4 + store i32 %21, i32* @errno, align 4 + br label %if.end29 + +if.end29: ; preds = %if.then28, %if.end26 + %22 = load i32, i32* %retval1, align 4 + ret i32 %22 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i64 @strnlen(i8* nonnull %s, i64 %max) #14 { +entry: + %s.addr = alloca i8*, align 8 + %max.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i64 %max, i64* %max.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %1 = load i64, i64* %max.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %2 = load i8*, i8** %p, align 8 + %3 = load i8, i8* %2, align 1 + %conv = sext i8 %3 to i32 + %tobool1 = icmp ne i32 %conv, 0 + br label %land.end + +land.end: ; preds = %land.rhs, %while.cond + %4 = phi i1 [ false, %while.cond ], [ %tobool1, %land.rhs ] + %5 = load i8*, i8** %p, align 8 + br i1 %4, label %while.body, label %while.end + +while.body: ; preds = %land.end + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %6 = load i64, i64* %max.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %max.addr, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %7 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind uwtable +define i8* @strtok_r(i8* noalias %s1, i8* noalias nonnull %s2, i8** noalias nonnull %next_start) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %next_start.addr = alloca i8**, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i8** %next_start, i8*** %next_start.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + %cmp = icmp ne i8* %0, null + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %1 = load i8**, i8*** %next_start.addr, align 8 + %2 = load i8*, i8** %1, align 8 + store i8* %2, i8** %s, align 8 + %cmp1 = icmp ne i8* %2, null + br i1 %cmp1, label %if.then, label %if.end7 + +if.then: ; preds = %lor.lhs.false, %entry + %3 = load i8*, i8** %s, align 8 + %4 = load i8*, i8** %s2.addr, align 8 + %call = call i64 @strspn(i8* %3, i8* %4) #21 + %5 = load i8*, i8** %s, align 8 + %add.ptr = getelementptr inbounds i8, i8* %5, i64 %call + store i8* %add.ptr, i8** %s, align 8 + %6 = load i8, i8* %add.ptr, align 1 + %tobool = icmp ne i8 %6, 0 + br i1 %tobool, label %if.then2, label %if.else + +if.then2: ; preds = %if.then + %7 = load i8*, i8** %s, align 8 + %8 = load i8*, i8** %s2.addr, align 8 + %call3 = call i8* @strpbrk(i8* %7, i8* %8) #21 + store i8* %call3, i8** %p, align 8 + %cmp4 = icmp ne i8* %call3, null + br i1 %cmp4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.then2 + %9 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + store i8 0, i8* %9, align 1 + br label %if.end6 + +if.else: ; preds = %if.then + store i8* null, i8** %s, align 8 + store i8* null, i8** %p, align 8 + br label %if.end6 + +if.end6: ; preds = %if.then2, %if.then5, %if.else + %10 = load i8*, i8** %p, align 8 + %11 = load i8**, i8*** %next_start.addr, align 8 + store i8* %10, i8** %11, align 8 + br label %if.end7 + +if.end7: ; preds = %if.end6, %lor.lhs.false + %12 = load i8*, i8** %s, align 8 + ret i8* %12 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @mbsrtowcs(i32* noalias %dst, i8** noalias %src, i64 %len, %struct.__mbstate_t.514* noalias %ps) #0 { +entry: + %dst.addr = alloca i32*, align 8 + %src.addr = alloca i8**, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.514*, align 8 + store i32* %dst, i32** %dst.addr, align 8 + store i8** %src, i8*** %src.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.514* %ps, %struct.__mbstate_t.514** %ps.addr, align 8 + %0 = load i32*, i32** %dst.addr, align 8 + %1 = load i8**, i8*** %src.addr, align 8 + %2 = load i64, i64* %len.addr, align 8 + %3 = load %struct.__mbstate_t.514*, %struct.__mbstate_t.514** %ps.addr, align 8 + %cmp = icmp ne %struct.__mbstate_t.514* %3, null + %4 = load %struct.__mbstate_t.514*, %struct.__mbstate_t.514** %ps.addr, align 8 + %cond = select i1 %cmp, %struct.__mbstate_t.514* %4, %struct.__mbstate_t.514* @mbsrtowcs.mbstate + %call = call i64 @mbsnrtowcs(i32* %0, i8** %1, i64 -1, i64 %2, %struct.__mbstate_t.514* %cond) #20 + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define i64 @wcsnrtombs(i8* noalias %dst, i32** noalias %src, i64 %NWC, i64 %len, %struct.__mbstate_t.514* noalias %ps) #0 { +entry: + %retval = alloca i64, align 8 + %dst.addr = alloca i8*, align 8 + %src.addr = alloca i32**, align 8 + %NWC.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.514*, align 8 + %s = alloca i32*, align 8 + %count = alloca i64, align 8 + %incr = alloca i32, align 4 + %buf = alloca [16 x i8], align 16 + %wc = alloca i32, align 4 + %u = alloca i32, align 4 + store i8* %dst, i8** %dst.addr, align 8 + store i32** %src, i32*** %src.addr, align 8 + store i64 %NWC, i64* %NWC.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.514* %ps, %struct.__mbstate_t.514** %ps.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %0, i32 0, i32 9 + %1 = load i8, i8* %encoding, align 8 + %conv = zext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load i8*, i8** %dst.addr, align 8 + %3 = load i64, i64* %len.addr, align 8 + %4 = load i32**, i32*** %src.addr, align 8 + %5 = load i64, i64* %NWC.addr, align 8 + %call = call i64 @_wchar_wcsntoutf8s(i8* %2, i64 %3, i32** %4, i64 %5) #19 + store i64 %call, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + store i32 1, i32* %incr, align 4 + %6 = load i8*, i8** %dst.addr, align 8 + %tobool = icmp ne i8* %6, null + br i1 %tobool, label %lor.lhs.false, label %if.then4 + +lor.lhs.false: ; preds = %if.end + %7 = load i8*, i8** %dst.addr, align 8 + %8 = load i32**, i32*** %src.addr, align 8 + %9 = bitcast i32** %8 to i8* + %cmp2 = icmp eq i8* %7, %9 + br i1 %cmp2, label %if.then4, label %if.end8 + +if.then4: ; preds = %lor.lhs.false, %if.end + %10 = load i8*, i8** %dst.addr, align 8 + %tobool5 = icmp ne i8* %10, null + br i1 %tobool5, label %if.end7, label %if.then6 + +if.then6: ; preds = %if.then4 + store i64 -1, i64* %len.addr, align 8 + br label %if.end7 + +if.end7: ; preds = %if.then6, %if.then4 + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay, i8** %dst.addr, align 8 + store i32 0, i32* %incr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end7, %lor.lhs.false + %11 = load i64, i64* %len.addr, align 8 + %12 = load i64, i64* %NWC.addr, align 8 + %cmp9 = icmp ugt i64 %11, %12 + br i1 %cmp9, label %if.then11, label %if.end12 + +if.then11: ; preds = %if.end8 + %13 = load i64, i64* %NWC.addr, align 8 + store i64 %13, i64* %len.addr, align 8 + br label %if.end12 + +if.end12: ; preds = %if.then11, %if.end8 + %14 = load i64, i64* %len.addr, align 8 + store i64 %14, i64* %count, align 8 + %15 = load i32**, i32*** %src.addr, align 8 + %16 = load i32*, i32** %15, align 8 + store i32* %16, i32** %s, align 8 + %17 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__curlocale_var, align 8 + %encoding13 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %17, i32 0, i32 9 + %18 = load i8, i8* %encoding13, align 8 + %conv14 = zext i8 %18 to i32 + %cmp15 = icmp eq i32 %conv14, 2 + br i1 %cmp15, label %while.cond, label %while.cond52 + +while.cond: ; preds = %if.end12, %if.end45 + %19 = load i64, i64* %count, align 8 + %tobool18 = icmp ne i64 %19, 0 + br i1 %tobool18, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %20 = load i32*, i32** %s, align 8 + %21 = load i32, i32* %20, align 4 + store i32 %21, i32* %wc, align 4 + %cmp19 = icmp ule i32 %21, 127 + br i1 %cmp19, label %if.then21, label %if.else + +if.then21: ; preds = %while.body + %22 = load i32, i32* %wc, align 4 + %conv22 = trunc i32 %22 to i8 + %23 = load i8*, i8** %dst.addr, align 8 + store i8 %conv22, i8* %23, align 1 + %tobool23 = icmp ne i8 %conv22, 0 + br i1 %tobool23, label %if.end45, label %if.then24 + +if.then24: ; preds = %if.then21 + store i32* null, i32** %s, align 8 + br label %while.end + +if.else: ; preds = %while.body + store i32 0, i32* %u, align 4 + %24 = load i32, i32* %wc, align 4 + %cmp26 = icmp ule i32 %24, 9727 + br i1 %cmp26, label %if.then28, label %if.end42 + +if.then28: ; preds = %if.else + %25 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__curlocale_var, align 8 + %idx8wc2c = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %25, i32 0, i32 18 + %26 = load i8*, i8** %idx8wc2c, align 8 + %27 = load i32, i32* %wc, align 4 + %shr = lshr i32 %27, 8 + %idxprom = zext i32 %shr to i64 + %arrayidx = getelementptr inbounds i8, i8* %26, i64 %idxprom + %28 = load i8, i8* %arrayidx, align 1 + %conv29 = zext i8 %28 to i32 + store i32 %conv29, i32* %u, align 4 + %29 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__curlocale_var, align 8 + %tbl8wc2c = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %29, i32 0, i32 19 + %30 = load i8*, i8** %tbl8wc2c, align 8 + %31 = load i32, i32* %u, align 4 + %shl = shl i32 %31, 4 + %32 = load i32, i32* %wc, align 4 + %shr30 = lshr i32 %32, 4 + %and = and i32 %shr30, 15 + %add = add i32 %shl, %and + %idxprom31 = zext i32 %add to i64 + %arrayidx32 = getelementptr inbounds i8, i8* %30, i64 %idxprom31 + %33 = load i8, i8* %arrayidx32, align 1 + %conv33 = zext i8 %33 to i32 + store i32 %conv33, i32* %u, align 4 + %34 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__curlocale_var, align 8 + %tbl8wc2c34 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %34, i32 0, i32 19 + %35 = load i8*, i8** %tbl8wc2c34, align 8 + %36 = load i32, i32* %u, align 4 + %shl35 = shl i32 %36, 4 + %add36 = add i32 1072, %shl35 + %37 = load i32, i32* %wc, align 4 + %and37 = and i32 %37, 15 + %add38 = add i32 %add36, %and37 + %idxprom39 = zext i32 %add38 to i64 + %arrayidx40 = getelementptr inbounds i8, i8* %35, i64 %idxprom39 + %38 = load i8, i8* %arrayidx40, align 1 + %conv41 = zext i8 %38 to i32 + store i32 %conv41, i32* %u, align 4 + br label %if.end42 + +if.end42: ; preds = %if.then28, %if.else + %39 = load i32, i32* %u, align 4 + %tobool43 = icmp ne i32 %39, 0 + %40 = load i32, i32* %u, align 4 + %cond = select i1 %tobool43, i32 %40, i32 63 + %conv44 = trunc i32 %cond to i8 + %41 = load i8*, i8** %dst.addr, align 8 + store i8 %conv44, i8* %41, align 1 + br label %if.end45 + +if.end45: ; preds = %if.then21, %if.end42 + %42 = load i32*, i32** %s, align 8 + %incdec.ptr = getelementptr inbounds i32, i32* %42, i32 1 + store i32* %incdec.ptr, i32** %s, align 8 + %43 = load i32, i32* %incr, align 4 + %44 = load i8*, i8** %dst.addr, align 8 + %idx.ext = sext i32 %43 to i64 + %add.ptr = getelementptr inbounds i8, i8* %44, i64 %idx.ext + store i8* %add.ptr, i8** %dst.addr, align 8 + %45 = load i64, i64* %count, align 8 + %dec = add i64 %45, -1 + store i64 %dec, i64* %count, align 8 + br label %while.cond + +while.end: ; preds = %if.then24, %while.cond + %46 = load i8*, i8** %dst.addr, align 8 + %arraydecay46 = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + %cmp47 = icmp ne i8* %46, %arraydecay46 + br i1 %cmp47, label %if.then49, label %if.end50 + +if.then49: ; preds = %while.end + %47 = load i32*, i32** %s, align 8 + %48 = load i32**, i32*** %src.addr, align 8 + store i32* %47, i32** %48, align 8 + br label %if.end50 + +if.end50: ; preds = %if.then49, %while.end + %49 = load i64, i64* %len.addr, align 8 + %50 = load i64, i64* %count, align 8 + %sub = sub i64 %49, %50 + store i64 %sub, i64* %retval, align 8 + br label %return + +while.cond52: ; preds = %if.end12, %if.end64 + %51 = load i64, i64* %count, align 8 + %tobool53 = icmp ne i64 %51, 0 + br i1 %tobool53, label %while.body54, label %while.end69 + +while.body54: ; preds = %while.cond52 + %52 = load i32*, i32** %s, align 8 + %53 = load i32, i32* %52, align 4 + %cmp55 = icmp uge i32 %53, 128 + br i1 %cmp55, label %if.then57, label %if.end58 + +if.then57: ; preds = %while.body54 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end58: ; preds = %while.body54 + %54 = load i32*, i32** %s, align 8 + %55 = load i32, i32* %54, align 4 + %conv59 = trunc i32 %55 to i8 + %56 = load i8*, i8** %dst.addr, align 8 + store i8 %conv59, i8* %56, align 1 + %conv60 = sext i8 %conv59 to i32 + %cmp61 = icmp eq i32 %conv60, 0 + br i1 %cmp61, label %if.then63, label %if.end64 + +if.then63: ; preds = %if.end58 + store i32* null, i32** %s, align 8 + br label %while.end69 + +if.end64: ; preds = %if.end58 + %57 = load i32*, i32** %s, align 8 + %incdec.ptr65 = getelementptr inbounds i32, i32* %57, i32 1 + store i32* %incdec.ptr65, i32** %s, align 8 + %58 = load i32, i32* %incr, align 4 + %59 = load i8*, i8** %dst.addr, align 8 + %idx.ext66 = sext i32 %58 to i64 + %add.ptr67 = getelementptr inbounds i8, i8* %59, i64 %idx.ext66 + store i8* %add.ptr67, i8** %dst.addr, align 8 + %60 = load i64, i64* %count, align 8 + %dec68 = add i64 %60, -1 + store i64 %dec68, i64* %count, align 8 + br label %while.cond52 + +while.end69: ; preds = %if.then63, %while.cond52 + %61 = load i8*, i8** %dst.addr, align 8 + %arraydecay70 = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + %cmp71 = icmp ne i8* %61, %arraydecay70 + br i1 %cmp71, label %if.then73, label %if.end74 + +if.then73: ; preds = %while.end69 + %62 = load i32*, i32** %s, align 8 + %63 = load i32**, i32*** %src.addr, align 8 + store i32* %62, i32** %63, align 8 + br label %if.end74 + +if.end74: ; preds = %if.then73, %while.end69 + %64 = load i64, i64* %len.addr, align 8 + %65 = load i64, i64* %count, align 8 + %sub75 = sub i64 %64, %65 + store i64 %sub75, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end74, %if.then57, %if.end50, %if.then + %66 = load i64, i64* %retval, align 8 + ret i64 %66 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @memchr(i8* nonnull %s, i32 %c, i64 %n) #14 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %n.addr = alloca i64, align 8 + %r = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %r, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %1 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %2 = load i8*, i8** %r, align 8 + %3 = load i8, i8* %2, align 1 + %conv = zext i8 %3 to i32 + %4 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %4 to i8 + %conv2 = zext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + %5 = load i8*, i8** %r, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + store i8* %5, i8** %retval, align 8 + br label %return + +if.end: ; preds = %while.body + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %r, align 8 + %6 = load i64, i64* %n.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then + %7 = load i8*, i8** %retval, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @memrchr(i8* nonnull %s, i32 %c, i64 %n) #14 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %n.addr = alloca i64, align 8 + %r = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i64, i64* %n.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %0, i64 %1 + store i8* %add.ptr, i8** %r, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %2 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load i8*, i8** %r, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 -1 + store i8* %incdec.ptr, i8** %r, align 8 + %4 = load i8, i8* %incdec.ptr, align 1 + %conv = zext i8 %4 to i32 + %5 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %5 to i8 + %conv2 = zext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + %6 = load i8*, i8** %r, align 8 + store i8* %6, i8** %retval, align 8 + br label %return + +if.end: ; preds = %while.body + %7 = load i64, i64* %n.addr, align 8 + %dec = add i64 %7, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then + %8 = load i8*, i8** %retval, align 8 + ret i8* %8 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @strpbrk(i8* nonnull %s1, i8* nonnull %s2) #14 { +entry: + %retval = alloca i8*, align 8 + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc6, %entry + %1 = load i8*, i8** %s, align 8 + %2 = load i8, i8* %1, align 1 + %tobool = icmp ne i8 %2, 0 + br i1 %tobool, label %for.body, label %for.end8 + +for.body: ; preds = %for.cond + %3 = load i8*, i8** %s2.addr, align 8 + store i8* %3, i8** %p, align 8 + br label %for.cond1 + +for.cond1: ; preds = %for.inc, %for.body + %4 = load i8*, i8** %p, align 8 + %5 = load i8, i8* %4, align 1 + %tobool2 = icmp ne i8 %5, 0 + br i1 %tobool2, label %for.body3, label %for.inc6 + +for.body3: ; preds = %for.cond1 + %6 = load i8*, i8** %p, align 8 + %7 = load i8, i8* %6, align 1 + %conv = sext i8 %7 to i32 + %8 = load i8*, i8** %s, align 8 + %9 = load i8, i8* %8, align 1 + %conv4 = sext i8 %9 to i32 + %cmp = icmp eq i32 %conv, %conv4 + br i1 %cmp, label %if.then, label %for.inc + +if.then: ; preds = %for.body3 + %10 = load i8*, i8** %s, align 8 + store i8* %10, i8** %retval, align 8 + br label %return + +for.inc: ; preds = %for.body3 + %11 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %11, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + br label %for.cond1 + +for.inc6: ; preds = %for.cond1 + %12 = load i8*, i8** %s, align 8 + %incdec.ptr7 = getelementptr inbounds i8, i8* %12, i32 1 + store i8* %incdec.ptr7, i8** %s, align 8 + br label %for.cond + +for.end8: ; preds = %for.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %for.end8, %if.then + %13 = load i8*, i8** %retval, align 8 + ret i8* %13 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i64 @strspn(i8* nonnull %s1, i8* nonnull %s2) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %2 = load i8*, i8** %p, align 8 + %3 = load i8, i8* %2, align 1 + %tobool = icmp ne i8 %3, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %5 = load i8, i8* %4, align 1 + %conv = sext i8 %5 to i32 + %6 = load i8*, i8** %s, align 8 + %7 = load i8, i8* %6, align 1 + %conv1 = sext i8 %7 to i32 + %cmp = icmp eq i32 %conv, %conv1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + %8 = load i8*, i8** %s, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %8, i32 1 + store i8* %incdec.ptr3, i8** %s, align 8 + %9 = load i8*, i8** %s2.addr, align 8 + store i8* %9, i8** %p, align 8 + br label %if.end + +if.end: ; preds = %if.then, %while.body + br label %while.cond + +while.end: ; preds = %while.cond + %10 = load i8*, i8** %s, align 8 + %11 = load i8*, i8** %s1.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %10 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %11 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_wchar_wcsntoutf8s(i8* noalias %s, i64 %n, i32** noalias %src, i64 %wn) #0 { +entry: + %retval = alloca i64, align 8 + %s.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %src.addr = alloca i32**, align 8 + %wn.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + %len = alloca i64, align 8 + %t = alloca i64, align 8 + %wc = alloca i32, align 4 + %swc = alloca i32*, align 8 + %store = alloca i32, align 4 + %buf = alloca [16 x i8], align 16 + %m = alloca i8, align 1 + store i8* %s, i8** %s.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i32** %src, i32*** %src.addr, align 8 + store i64 %wn, i64* %wn.addr, align 8 + store i32 1, i32* %store, align 4 + %0 = load i8*, i8** %s.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %lor.lhs.false, label %if.then + +lor.lhs.false: ; preds = %entry + %1 = load i8*, i8** %s.addr, align 8 + %2 = load i32**, i32*** %src.addr, align 8 + %3 = bitcast i32** %2 to i8* + %cmp = icmp eq i8* %1, %3 + br i1 %cmp, label %if.then, label %if.end3 + +if.then: ; preds = %lor.lhs.false, %entry + %4 = load i8*, i8** %s.addr, align 8 + %tobool1 = icmp ne i8* %4, null + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + store i64 -1, i64* %n.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay, i8** %s.addr, align 8 + store i32 0, i32* %store, align 4 + br label %if.end3 + +if.end3: ; preds = %if.end, %lor.lhs.false + %5 = load i64, i64* %n.addr, align 8 + store i64 %5, i64* %t, align 8 + %6 = load i32**, i32*** %src.addr, align 8 + %7 = load i32*, i32** %6, align 8 + store i32* %7, i32** %swc, align 8 + br label %while.cond + +while.cond: ; preds = %if.end51, %if.end3 + %8 = load i64, i64* %wn.addr, align 8 + %tobool4 = icmp ne i64 %8, 0 + %9 = load i64, i64* %t, align 8 + %tobool5 = icmp ne i64 %9, 0 + %10 = select i1 %tobool4, i1 %tobool5, i1 false + br i1 %10, label %while.body, label %while.end52 + +while.body: ; preds = %while.cond + %11 = load i32*, i32** %swc, align 8 + %12 = load i32, i32* %11, align 4 + store i32 %12, i32* %wc, align 4 + %13 = load i32, i32* %wc, align 4 + %conv = trunc i32 %13 to i8 + %14 = load i8*, i8** %s.addr, align 8 + store i8 %conv, i8* %14, align 1 + store i64 1, i64* %len, align 8 + %15 = load i32, i32* %wc, align 4 + %cmp6 = icmp uge i32 %15, 128 + %16 = load i32, i32* %wc, align 4 + br i1 %cmp6, label %if.then8, label %if.else + +if.then8: ; preds = %while.body + %conv9 = zext i32 %16 to i64 + %cmp10 = icmp ugt i64 %conv9, 2147483647 + br i1 %cmp10, label %if.then19, label %lor.lhs.false12 + +lor.lhs.false12: ; preds = %if.then8 + %17 = load i32, i32* %wc, align 4 + %sub = sub i32 %17, 65534 + %cmp13 = icmp ult i32 %sub, 2 + br i1 %cmp13, label %if.then19, label %lor.lhs.false15 + +lor.lhs.false15: ; preds = %lor.lhs.false12 + %18 = load i32, i32* %wc, align 4 + %sub16 = sub i32 %18, 55296 + %cmp17 = icmp ult i32 %sub16, 2048 + br i1 %cmp17, label %if.then19, label %if.end20 + +if.then19: ; preds = %lor.lhs.false15, %lor.lhs.false12, %if.then8 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end20: ; preds = %lor.lhs.false15 + %19 = load i32, i32* %wc, align 4 + %shr = lshr i32 %19, 1 + store i32 %shr, i32* %wc, align 4 + %20 = load i8*, i8** %s.addr, align 8 + store i8* %20, i8** %p, align 8 + br label %do.body + +do.body: ; preds = %do.body, %if.end20 + %21 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %21, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %22 = load i32, i32* %wc, align 4 + %shr21 = lshr i32 %22, 5 + store i32 %shr21, i32* %wc, align 4 + %tobool22 = icmp ne i32 %shr21, 0 + br i1 %tobool22, label %do.body, label %do.end + +do.end: ; preds = %do.body + %23 = load i32*, i32** %swc, align 8 + %24 = load i32, i32* %23, align 4 + store i32 %24, i32* %wc, align 4 + %25 = load i8*, i8** %p, align 8 + %26 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %25 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %26 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %len, align 8 + %27 = load i64, i64* %t, align 8 + %cmp23 = icmp ugt i64 %sub.ptr.sub, %27 + br i1 %cmp23, label %while.end52, label %if.end26 + +if.end26: ; preds = %do.end + store i8 -128, i8* %m, align 1 + br label %while.cond27 + +while.cond27: ; preds = %while.body30, %if.end26 + %28 = load i8*, i8** %p, align 8 + %29 = load i8*, i8** %s.addr, align 8 + %cmp28 = icmp ugt i8* %28, %29 + %30 = load i8, i8* %m, align 1 + %conv31 = sext i8 %30 to i32 + br i1 %cmp28, label %while.body30, label %while.end + +while.body30: ; preds = %while.cond27 + %shr32 = ashr i32 %conv31, 1 + %or = or i32 %shr32, 128 + %conv33 = trunc i32 %or to i8 + store i8 %conv33, i8* %m, align 1 + %31 = load i32, i32* %wc, align 4 + %and = and i32 %31, 63 + %or34 = or i32 %and, 128 + %conv35 = trunc i32 %or34 to i8 + %32 = load i8*, i8** %p, align 8 + %incdec.ptr36 = getelementptr inbounds i8, i8* %32, i32 -1 + store i8* %incdec.ptr36, i8** %p, align 8 + store i8 %conv35, i8* %incdec.ptr36, align 1 + %33 = load i32, i32* %wc, align 4 + %shr37 = lshr i32 %33, 6 + store i32 %shr37, i32* %wc, align 4 + br label %while.cond27 + +while.end: ; preds = %while.cond27 + %shl = shl i32 %conv31, 1 + %34 = load i8*, i8** %s.addr, align 8 + %35 = load i8, i8* %34, align 1 + %conv39 = sext i8 %35 to i32 + %or40 = or i32 %conv39, %shl + %conv41 = trunc i32 %or40 to i8 + store i8 %conv41, i8* %34, align 1 + br label %if.end46 + +if.else: ; preds = %while.body + %cmp42 = icmp eq i32 %16, 0 + br i1 %cmp42, label %if.then44, label %if.end46 + +if.then44: ; preds = %if.else + store i32* null, i32** %swc, align 8 + br label %while.end52 + +if.end46: ; preds = %if.else, %while.end + %36 = load i32*, i32** %swc, align 8 + %incdec.ptr47 = getelementptr inbounds i32, i32* %36, i32 1 + store i32* %incdec.ptr47, i32** %swc, align 8 + %37 = load i64, i64* %wn.addr, align 8 + %dec = add i64 %37, -1 + store i64 %dec, i64* %wn.addr, align 8 + %38 = load i64, i64* %len, align 8 + %39 = load i64, i64* %t, align 8 + %sub48 = sub i64 %39, %38 + store i64 %sub48, i64* %t, align 8 + %40 = load i32, i32* %store, align 4 + %tobool49 = icmp ne i32 %40, 0 + br i1 %tobool49, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.end46 + %41 = load i64, i64* %len, align 8 + %42 = load i8*, i8** %s.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %42, i64 %41 + store i8* %add.ptr, i8** %s.addr, align 8 + br label %if.end51 + +if.end51: ; preds = %if.then50, %if.end46 + br label %while.cond + +while.end52: ; preds = %do.end, %if.then44, %while.cond + %43 = load i32, i32* %store, align 4 + %tobool53 = icmp ne i32 %43, 0 + br i1 %tobool53, label %if.then54, label %if.end55 + +if.then54: ; preds = %while.end52 + %44 = load i32*, i32** %swc, align 8 + %45 = load i32**, i32*** %src.addr, align 8 + store i32* %44, i32** %45, align 8 + br label %if.end55 + +if.end55: ; preds = %if.then54, %while.end52 + %46 = load i64, i64* %n.addr, align 8 + %47 = load i64, i64* %t, align 8 + %sub56 = sub i64 %46, %47 + store i64 %sub56, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end55, %if.then19 + %48 = load i64, i64* %retval, align 8 + ret i64 %48 +} + +attributes #0 = { noinline nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #1 = { noinline noreturn nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #2 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #3 = { noinline nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #4 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #5 = { "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #6 = { noinline noreturn nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #7 = { noreturn "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #8 = { argmemonly nounwind willreturn writeonly } +attributes #9 = { argmemonly nounwind willreturn } +attributes #10 = { noreturn nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #11 = { nounwind } +attributes #12 = { noinline nounwind readnone uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #13 = { noreturn "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #14 = { noinline nounwind readonly uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #15 = { nounwind readnone "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #16 = { noinline nounwind readonly uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #17 = { noinline nounwind returns_twice uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #18 = { "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #19 = { nobuiltin "no-builtins" } +attributes #20 = { nobuiltin nounwind "no-builtins" } +attributes #21 = { nobuiltin nounwind readonly "no-builtins" } +attributes #22 = { nobuiltin nounwind readnone "no-builtins" } +attributes #23 = { nobuiltin noreturn nounwind "no-builtins" } +attributes #24 = { nounwind readonly } +attributes #25 = { noreturn } +attributes #26 = { nounwind readnone } +attributes #27 = { noreturn nounwind } +attributes #28 = { nobuiltin noreturn "no-builtins" } + +!llvm.module.flags = !{!0, !1} +!llvm.ident = !{!2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2} + +!0 = !{i32 1, !"wchar_size", i32 4} +!1 = !{i32 7, !"PIC Level", i32 2} +!2 = !{!"clang version 11.1.0 (https://github.com/llvm/llvm-project.git 1fdec59bffc11ae37eb51a1b9869f0696bfd5312)"} diff --git a/benchmarks/coreutils/gensym_posix/comm.ll b/benchmarks/coreutils/gensym_posix/comm.ll new file mode 100644 index 000000000..07085db46 --- /dev/null +++ b/benchmarks/coreutils/gensym_posix/comm.ll @@ -0,0 +1,34532 @@ +; ModuleID = '__uClibc_main.os' +source_filename = "libc/misc/internals/__uClibc_main.c" +target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" +target triple = "x86_64-unknown-linux-gnu" + +module asm ".section .gnu.warning.siggetmask" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.__fpending" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.gets" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.tmpnam" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.mktemp" +module asm "\09.previous" + +%struct.__uclibc_locale_struct.201 = type { i16*, i16*, i16*, [384 x i16], [384 x i16], [384 x i16], [14 x i8], [6 x i16], [6 x i8], i8, i8, [10 x i8], i8*, i8*, i8*, i8*, i8*, i16*, i8*, i8*, i16*, i8*, i8*, i16*, i32, i32, i32, i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__collate_t.200 } +%struct.__collate_t.200 = type { i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16*, i16*, i16*, i16*, i16*, i16*, i16*, i16*, i16*, i16 } +%struct.__STDIO_FILE_STRUCT.568 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.568*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__mbstate_t.512 = type { i32, i32 } +%struct.quoting_options = type { i32, i32, [8 x i32], i8*, i8* } +%struct.infomap = type { i8*, i8* } +%struct.option = type { i8*, i32, i32*, i32 } +%struct.slotvec = type { i64, i8* } +%struct.exe_file_t = type { i32, i32, i64, %struct.exe_disk_file_t* } +%struct.exe_disk_file_t = type { i32, i8*, %struct.stat64* } +%struct.stat64 = type { i64, i64, i64, i32, i32, i32, i32, i64, i64, i64, i64, %struct.timespec, %struct.timespec, %struct.timespec, [3 x i64] } +%struct.timespec = type { i64, i64 } +%struct.exe_file_system_t = type { i32, %struct.exe_disk_file_t*, %struct.exe_disk_file_t*, i32, %struct.exe_disk_file_t*, i32, i32*, i32*, i32*, i32*, i32*, i32*, i32* } +%struct.__locale_mmap_t.203 = type { [420 x i8], [504 x i8], [1760 x i16], [4528 x i8], [3604 x i8], [1680 x i8], [196 x i16], [51 x i8], [28 x i8], [1646 x i8], [28353 x i8], [1804 x i8], [23 x %struct.__codeset_8_bit_t.202], [20 x i8], [10 x i16], [20 x i16], [45 x i8], [3 x i16], [15 x i16], [3894 x i8], [22 x i16], [407 x i16], [8250 x i8], [50 x i16], [3429 x i16], [372 x i8], [4 x i16], [200 x i16], [91141 x i16], [6 x i8], [24 x i64], [2826 x i8], [835 x i8], [18 x i8], [69 x i8], [255 x i8] } +%struct.__codeset_8_bit_t.202 = type { [16 x i8], [16 x i8], [16 x i8], [38 x i8] } +%struct.utmp.323 = type { i16, i32, [32 x i8], [4 x i8], [32 x i8], [256 x i8], %struct.exit_status, i64, %struct.timespec, [4 x i32], [20 x i8] } +%struct.exit_status = type { i16, i16 } +%struct._getopt_data = type { i32, i32, i32, i8*, i32, i8*, i32, i32, i32, i32 } +%struct.exit_function = type { i64, %union.anon.772 } +%union.anon.772 = type { %struct.anon.0.771 } +%struct.anon.0.771 = type { void (i8*)*, i8*, i8* } +%struct.dirent64 = type { i64, i64, i16, i8, [256 x i8] } +%struct.__STDIO_FILE_STRUCT.590 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.590*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.592 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.592*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.608 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.608*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.621 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.621*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.636 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.636*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.Elf64_auxv_t = type { i64, %union.anon.193 } +%union.anon.193 = type { i64 } +%struct.stat.192 = type { i64, i64, i64, i32, i32, i32, i32, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, [3 x i64] } +%struct.__STDIO_FILE_STRUCT.513 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.513*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.exe_sym_env_t = type { [32 x %struct.exe_file_t], i32, i32, i32 } +%struct.__va_list_tag.0 = type { i32, i32, i8*, i8* } +%struct.termios = type { i32, i32, i32, i32, i8, [32 x i8], i32, i32 } +%struct.winsize = type { i16, i16, i16, i16 } +%struct.flock = type { i16, i16, i64, i64, i32 } +%struct.statfs = type { i64, i64, i64, i64, i64, i64, i64, %struct.__fsid_t, i64, i64, i64, [4 x i64] } +%struct.__fsid_t = type { [2 x i32] } +%struct.fd_set = type { [16 x i64] } +%struct.coldata_header_t = type { i16, i16, i16, i16, i16, i16, i16, i16 } +%struct.coldata_base_t = type { i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16 } +%struct._IO_FILE = type { i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct._IO_marker*, %struct._IO_FILE*, i32, i32, i64, i16, i8, [1 x i8], i8*, i64, %struct._IO_codecvt*, %struct._IO_wide_data*, %struct._IO_FILE*, i8*, i64, i32, [20 x i8] } +%struct._IO_marker = type opaque +%struct._IO_codecvt = type opaque +%struct._IO_wide_data = type opaque +%struct.linebuffer = type { i64, i64, i8* } +%struct.__mbstate_t = type { i32, %union.anon } +%union.anon = type { i32 } +%struct.sigaction.800 = type { %union.anon.799, %struct.fd_set, i32, void ()* } +%union.anon.799 = type { void (i32)* } +%struct.tms = type { i64, i64, i64, i64 } +%struct.utmpx = type opaque +%struct.utmp = type { i16, i32, [32 x i8], [4 x i8], [32 x i8], [256 x i8], %struct.exit_status, i32, %struct.__mbstate_t.512, [4 x i32], [20 x i8] } +%struct.rusage = type { %struct.timespec, %struct.timespec, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193 } +%struct.siginfo_t = type { i32, i32, i32, i32, %union.anon.0 } +%union.anon.0 = type { %struct.anon.3, [80 x i8] } +%struct.anon.3 = type { i32, i32, i32, i64, i64 } +%struct.kernel_sigaction = type { void (i32)*, i64, void ()*, %struct.fd_set } +%struct.__jmp_buf_tag = type { [8 x i64], i32, %struct.fd_set } +%struct.__STDIO_FILE_STRUCT.519 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.519*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.588 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.588*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__kernel_termios = type { i32, i32, i32, i32, i8, [19 x i8] } +%struct.ppfs_t.722 = type { i8*, %struct.printf_info.720, i32, i32, i32, [4 x i8], [9 x i32], [1 x %struct.__va_list_tag.0], [9 x %union.anon.193] } +%struct.printf_info.720 = type { i32, i32, i32, i32, i32 } +%struct.col_state_t = type { i8*, i8*, i32, i32, i32, i32, i32, i64, i32*, [8 x i32], i8*, i8*, i8*, [128 x i8], i64, i32 } +%struct.anon.779 = type { void (i32, i8*)*, i8* } + +@__libc_stack_end = global i8* null, align 8 +@.str = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@__uclibc_progname = hidden global i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i32 0, i32 0), align 8 +@program_invocation_short_name = global i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i32 0, i32 0), align 8 +@program_invocation_name = global i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i32 0, i32 0), align 8 +@__environ = global i8** null, align 8 +@__pagesize = global i64 0, align 8 +@__uClibc_init.been_there_done_that = internal global i32 0, align 4 +@__app_fini = hidden global void ()* null, align 8 +@__rtld_fini = hidden global void ()* null, align 8 +@.str.1 = private unnamed_addr constant [10 x i8] c"/dev/null\00", align 1 +@llvm.used = appending global [5 x i8*] [i8* getelementptr inbounds ([57 x i8], [57 x i8]* @__evoke_link_warning_siggetmask, i32 0, i32 0), i8* getelementptr inbounds ([167 x i8], [167 x i8]* @__evoke_link_warning___fpending, i32 0, i32 0), i8* getelementptr inbounds ([57 x i8], [57 x i8]* @__evoke_link_warning_gets, i32 0, i32 0), i8* getelementptr inbounds ([55 x i8], [55 x i8]* @__evoke_link_warning_tmpnam, i32 0, i32 0), i8* getelementptr inbounds ([55 x i8], [55 x i8]* @__evoke_link_warning_mktemp, i32 0, i32 0)], section "llvm.metadata" +@__evoke_link_warning_siggetmask = internal constant [57 x i8] c"warning: `siggetmask' is obsolete; `sigprocmask' is best\00", section ".gnu.warning.siggetmask\0A#APP\0A\09#", align 16 +@__evoke_link_warning___fpending = internal constant [167 x i8] c"This version of __fpending returns bytes remaining in buffer for both narrow and wide streams. glibc's version returns wide chars in buffer for the wide stream case.\00", section ".gnu.warning.__fpending\0A#APP\0A\09#", align 16 +@__evoke_link_warning_gets = internal constant [57 x i8] c"the 'gets' function is dangerous and should not be used.\00", section ".gnu.warning.gets\0A#APP\0A\09#", align 16 +@__evoke_link_warning_tmpnam = internal constant [55 x i8] c"the use of `tmpnam' is dangerous, better use `mkstemp'\00", section ".gnu.warning.tmpnam\0A#APP\0A\09#", align 16 +@tmpnam_buffer = internal global [20 x i8] zeroinitializer, align 16 +@__evoke_link_warning_mktemp = internal constant [55 x i8] c"the use of `mktemp' is dangerous, better use `mkstemp'\00", section ".gnu.warning.mktemp\0A#APP\0A\09#", align 16 +@.str.4 = private unnamed_addr constant [77 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/fd.c\00", align 1 +@.str.27 = private unnamed_addr constant [37 x i8] c"ERROR: concretizing symbolic pointer\00", align 1 +@.str.28 = private unnamed_addr constant [9 x i8] c"user.err\00", align 1 +@.str.25 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@getcwd.n_calls = internal global i32 0, align 4 +@.str.5 = private unnamed_addr constant [46 x i8] c"Undefined call to open(): O_TRUNC | O_RDONLY\0A\00", align 1 +@.str.1.6 = private unnamed_addr constant [47 x i8] c"Undefined call to open(): O_EXCL w/o O_RDONLY\0A\00", align 1 +@.str.2 = private unnamed_addr constant [44 x i8] c"symbolic file descriptor, ignoring (ENOENT)\00", align 1 +@close.n_calls = internal global i32 0, align 4 +@read.n_calls = internal global i32 0, align 4 +@.str.3 = private unnamed_addr constant [12 x i8] c"f->off >= 0\00", align 1 +@__PRETTY_FUNCTION__.read = private unnamed_addr constant [34 x i8] c"ssize_t read(int, void *, size_t)\00", align 1 +@write.n_calls = internal global i32 0, align 4 +@.str.5.7 = private unnamed_addr constant [7 x i8] c"r >= 0\00", align 1 +@__PRETTY_FUNCTION__.write = private unnamed_addr constant [41 x i8] c"ssize_t write(int, const void *, size_t)\00", align 1 +@.str.6 = private unnamed_addr constant [2 x i8] c"0\00", align 1 +@.str.7 = private unnamed_addr constant [24 x i8] c"write() ignores bytes.\0A\00", align 1 +@.str.8 = private unnamed_addr constant [18 x i8] c"new_off == f->off\00", align 1 +@__PRETTY_FUNCTION__.__fd_lseek = private unnamed_addr constant [38 x i8] c"off64_t __fd_lseek(int, off64_t, int)\00", align 1 +@.str.9 = private unnamed_addr constant [33 x i8] c"symbolic file, ignoring (ENOENT)\00", align 1 +@chmod.n_calls = internal global i32 0, align 4 +@fchmod.n_calls = internal global i32 0, align 4 +@.str.26 = private unnamed_addr constant [32 x i8] c"symbolic file, ignoring (EPERM)\00", align 1 +@__fd_ftruncate.n_calls = internal global i32 0, align 4 +@.str.10 = private unnamed_addr constant [30 x i8] c"symbolic file, ignoring (EIO)\00", align 1 +@.str.11 = private unnamed_addr constant [33 x i8] c"symbolic file, ignoring (EINVAL)\00", align 1 +@.str.12 = private unnamed_addr constant [18 x i8] c"s != (off64_t) -1\00", align 1 +@__PRETTY_FUNCTION__.__fd_getdents = private unnamed_addr constant [65 x i8] c"int __fd_getdents(unsigned int, struct dirent64 *, unsigned int)\00", align 1 +@.str.13 = private unnamed_addr constant [22 x i8] c"f->off != (off64_t)-1\00", align 1 +@.str.14 = private unnamed_addr constant [41 x i8] c"(TCGETS) symbolic file, incomplete model\00", align 1 +@.str.15 = private unnamed_addr constant [42 x i8] c"(TCSETS) symbolic file, silently ignoring\00", align 1 +@.str.16 = private unnamed_addr constant [43 x i8] c"(TCSETSW) symbolic file, silently ignoring\00", align 1 +@.str.17 = private unnamed_addr constant [43 x i8] c"(TCSETSF) symbolic file, silently ignoring\00", align 1 +@.str.18 = private unnamed_addr constant [45 x i8] c"(TIOCGWINSZ) symbolic file, incomplete model\00", align 1 +@.str.19 = private unnamed_addr constant [46 x i8] c"(TIOCSWINSZ) symbolic file, ignoring (EINVAL)\00", align 1 +@.str.20 = private unnamed_addr constant [43 x i8] c"(FIONREAD) symbolic file, incomplete model\00", align 1 +@.str.21 = private unnamed_addr constant [44 x i8] c"(MTIOCGET) symbolic file, ignoring (EINVAL)\00", align 1 +@.str.22 = private unnamed_addr constant [32 x i8] c"symbolic file, ignoring (EBADF)\00", align 1 +@.str.23 = private unnamed_addr constant [17 x i8] c"ignoring (EPERM)\00", align 1 +@.str.24 = private unnamed_addr constant [18 x i8] c"ignoring (ENOENT)\00", align 1 +@__const.klee_init_env.sym_arg_name = private unnamed_addr constant [6 x i8] c"arg\00\00\00", align 1 +@.str.29 = private unnamed_addr constant [7 x i8] c"--help\00", align 1 +@.str.1.30 = private unnamed_addr constant [964 x i8] c"klee_init_env\0A\0Ausage: (klee_init_env) [options] [program arguments]\0A -sym-arg - Replace by a symbolic argument with length N\0A -sym-args - Replace by at least MIN arguments and at most\0A MAX arguments, each with maximum length N\0A -sym-files - Make NUM symbolic files ('A', 'B', 'C', etc.),\0A each with size N\0A -sym-stdin - Make stdin symbolic with size N.\0A -sym-stdout - Make stdout symbolic.\0A -save-all-writes - Allow write operations to execute as expected\0A even if they exceed the file size. If set to 0, all\0A writes exceeding the initial file size are discarded.\0A Note: file offset is always incremented.\0A -max-fail - Allow up to N injected failures\0A -fd-fail - Shortcut for '-max-fail 1'\0A\0A\00", align 1 +@.str.2.31 = private unnamed_addr constant [10 x i8] c"--sym-arg\00", align 1 +@.str.3.32 = private unnamed_addr constant [9 x i8] c"-sym-arg\00", align 1 +@.str.4.33 = private unnamed_addr constant [48 x i8] c"--sym-arg expects an integer argument \00", align 1 +@.str.5.34 = private unnamed_addr constant [45 x i8] c"No more than 100 symbolic arguments allowed.\00", align 1 +@.str.6.35 = private unnamed_addr constant [11 x i8] c"--sym-args\00", align 1 +@.str.7.36 = private unnamed_addr constant [10 x i8] c"-sym-args\00", align 1 +@.str.8.37 = private unnamed_addr constant [77 x i8] c"--sym-args expects three integer arguments \00", align 1 +@.str.9.38 = private unnamed_addr constant [28 x i8] c"Invalid range to --sym-args\00", align 1 +@.str.10.39 = private unnamed_addr constant [7 x i8] c"n_args\00", align 1 +@.str.11.40 = private unnamed_addr constant [12 x i8] c"--sym-files\00", align 1 +@.str.12.41 = private unnamed_addr constant [11 x i8] c"-sym-files\00", align 1 +@.str.13.42 = private unnamed_addr constant [72 x i8] c"--sym-files expects two integer arguments \00", align 1 +@.str.14.43 = private unnamed_addr constant [39 x i8] c"Multiple --sym-files are not allowed.\0A\00", align 1 +@.str.15.44 = private unnamed_addr constant [65 x i8] c"The first argument to --sym-files (number of files) cannot be 0\0A\00", align 1 +@.str.16.45 = private unnamed_addr constant [60 x i8] c"The second argument to --sym-files (file size) cannot be 0\0A\00", align 1 +@.str.17.46 = private unnamed_addr constant [12 x i8] c"--sym-stdin\00", align 1 +@.str.18.47 = private unnamed_addr constant [11 x i8] c"-sym-stdin\00", align 1 +@.str.19.48 = private unnamed_addr constant [57 x i8] c"--sym-stdin expects one integer argument \00", align 1 +@.str.20.49 = private unnamed_addr constant [13 x i8] c"--sym-stdout\00", align 1 +@.str.21.50 = private unnamed_addr constant [12 x i8] c"-sym-stdout\00", align 1 +@.str.22.51 = private unnamed_addr constant [18 x i8] c"--save-all-writes\00", align 1 +@.str.23.52 = private unnamed_addr constant [17 x i8] c"-save-all-writes\00", align 1 +@.str.24.53 = private unnamed_addr constant [10 x i8] c"--fd-fail\00", align 1 +@.str.25.54 = private unnamed_addr constant [9 x i8] c"-fd-fail\00", align 1 +@.str.26.55 = private unnamed_addr constant [12 x i8] c"--bout-file\00", align 1 +@.str.27.56 = private unnamed_addr constant [11 x i8] c"-bout-file\00", align 1 +@.str.28.57 = private unnamed_addr constant [11 x i8] c"--max-fail\00", align 1 +@.str.29.58 = private unnamed_addr constant [10 x i8] c"-max-fail\00", align 1 +@.str.30 = private unnamed_addr constant [54 x i8] c"--max-fail expects an integer argument \00", align 1 +@.str.31 = private unnamed_addr constant [31 x i8] c"out of memory in klee_init_env\00", align 1 +@.str.35 = private unnamed_addr constant [37 x i8] c"too many arguments for klee_init_env\00", align 1 +@.str.32 = private unnamed_addr constant [88 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/klee_init_env.c\00", align 1 +@.str.33 = private unnamed_addr constant [9 x i8] c"user.err\00", align 1 +@.str.34 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.68 = private unnamed_addr constant [5 x i8] c"file\00", align 1 +@.str.1.69 = private unnamed_addr constant [5 x i8] c"/tmp\00", align 1 +@.str.2.70 = private unnamed_addr constant [16 x i8] c"%.*s/%.*sXXXXXX\00", align 1 +@.str.3.73 = private unnamed_addr constant [7 x i8] c"XXXXXX\00", align 1 +@letters = internal constant [63 x i8] c"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\00", align 16 +@brain_damaged_fillrand.value = internal global i64 0, align 8 +@.str.4.74 = private unnamed_addr constant [13 x i8] c"/dev/urandom\00", align 1 +@.str.5.75 = private unnamed_addr constant [12 x i8] c"/dev/random\00", align 1 +@__global_locale_data = global %struct.__uclibc_locale_struct.201 zeroinitializer, align 8 +@__global_locale = global %struct.__uclibc_locale_struct.201* @__global_locale_data, align 8 +@__curlocale_var = global %struct.__uclibc_locale_struct.201* @__global_locale_data, align 8 +@utf8 = internal constant [6 x i8] c"UTF-8\00", align 1 +@ascii = internal constant [6 x i8] c"ASCII\00", align 1 +@__code2flag = internal constant [16 x i16] [i16 0, i16 -15352, i16 -14840, i16 -14584, i16 -15096, i16 -14328, i16 -16380, i16 -16384, i16 24576, i16 24577, i16 8192, i16 8193, i16 8194, i16 8195, i16 2, i16 0], align 16 +@.str.76 = private unnamed_addr constant [14 x i8] c"#\80\80\80\80\80\80\80\80\80\80\80\80\00", align 1 +@stdin = global %struct.__STDIO_FILE_STRUCT.568* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i32 0, i32 0), align 8 +@_stdio_streams = internal global [3 x %struct.__STDIO_FILE_STRUCT.568] [%struct.__STDIO_FILE_STRUCT.568 { i16 544, [2 x i8] zeroinitializer, i32 0, i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 88) to %struct.__STDIO_FILE_STRUCT.568*), [2 x i32] zeroinitializer, %struct.__mbstate_t.512 zeroinitializer, i8* null }, %struct.__STDIO_FILE_STRUCT.568 { i16 528, [2 x i8] zeroinitializer, i32 1, i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 176) to %struct.__STDIO_FILE_STRUCT.568*), [2 x i32] zeroinitializer, %struct.__mbstate_t.512 zeroinitializer, i8* null }, %struct.__STDIO_FILE_STRUCT.568 { i16 528, [2 x i8] zeroinitializer, i32 2, i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, %struct.__STDIO_FILE_STRUCT.568* null, [2 x i32] zeroinitializer, %struct.__mbstate_t.512 zeroinitializer, i8* null }], align 16 +@stdout = global %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 88) to %struct.__STDIO_FILE_STRUCT.568*), align 8 +@stderr = global %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 176) to %struct.__STDIO_FILE_STRUCT.568*), align 8 +@__stdin = global %struct.__STDIO_FILE_STRUCT.568* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i32 0, i32 0), align 8 +@__stdout = global %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 88) to %struct.__STDIO_FILE_STRUCT.568*), align 8 +@_stdio_openlist = global %struct.__STDIO_FILE_STRUCT.568* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i32 0, i32 0), align 8 +@been_there_done_that = internal global i32 0, align 4 +@__exit_cleanup = hidden global void (i32)* null, align 8 +@Version = dso_local global i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.54, i32 0, i32 0), align 8 +@.str.54 = private unnamed_addr constant [5 x i8] c"8.32\00", align 1 +@exit_failure = dso_local global i32 1, align 4 +@program_name = dso_local global i8* null, align 8 +@quoting_style_args = dso_local constant [11 x i8*] [i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.85, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1.86, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2.87, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.3.88, i32 0, i32 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.4.89, i32 0, i32 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.5.90, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.6.91, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.7.92, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.8.93, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.9.94, i32 0, i32 0), i8* null], align 16 +@.str.85 = private unnamed_addr constant [8 x i8] c"literal\00", align 1 +@.str.1.86 = private unnamed_addr constant [6 x i8] c"shell\00", align 1 +@.str.2.87 = private unnamed_addr constant [13 x i8] c"shell-always\00", align 1 +@.str.3.88 = private unnamed_addr constant [13 x i8] c"shell-escape\00", align 1 +@.str.4.89 = private unnamed_addr constant [20 x i8] c"shell-escape-always\00", align 1 +@.str.5.90 = private unnamed_addr constant [2 x i8] c"c\00", align 1 +@.str.6.91 = private unnamed_addr constant [8 x i8] c"c-maybe\00", align 1 +@.str.7.92 = private unnamed_addr constant [7 x i8] c"escape\00", align 1 +@.str.8.93 = private unnamed_addr constant [7 x i8] c"locale\00", align 1 +@.str.9.94 = private unnamed_addr constant [8 x i8] c"clocale\00", align 1 +@quoting_style_vals = dso_local constant [10 x i32] [i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9], align 16 +@quote_quoting_options = dso_local global %struct.quoting_options { i32 8, i32 0, [8 x i32] zeroinitializer, i8* null, i8* null }, align 8 +@version_etc_copyright = dso_local constant [47 x i8] c"Copyright %s %d Free Software Foundation, Inc.\00", align 16 +@.str.95 = private unnamed_addr constant [39 x i8] c"Try '%s --help' for more information.\0A\00", align 1 +@.str.1.96 = private unnamed_addr constant [35 x i8] c"Usage: %s [OPTION]... FILE1 FILE2\0A\00", align 1 +@.str.2.97 = private unnamed_addr constant [52 x i8] c"Compare sorted files FILE1 and FILE2 line by line.\0A\00", align 1 +@.str.3.98 = private unnamed_addr constant [60 x i8] c"\0AWhen FILE1 or FILE2 (not both) is -, read standard input.\0A\00", align 1 +@.str.4.99 = private unnamed_addr constant [189 x i8] c"\0AWith no options, produce three-column output. Column one contains\0Alines unique to FILE1, column two contains lines unique to FILE2,\0Aand column three contains lines common to both files.\0A\00", align 1 +@.str.5.100 = private unnamed_addr constant [192 x i8] c"\0A -1 suppress column 1 (lines unique to FILE1)\0A -2 suppress column 2 (lines unique to FILE2)\0A -3 suppress column 3 (lines that appear in both files)\0A\00", align 1 +@.str.6.101 = private unnamed_addr constant [191 x i8] c"\0A --check-order check that the input is correctly sorted, even\0A if all input lines are pairable\0A --nocheck-order do not check that the input is correctly sorted\0A\00", align 1 +@.str.7.102 = private unnamed_addr constant [53 x i8] c" --output-delimiter=STR separate columns with STR\0A\00", align 1 +@.str.8.103 = private unnamed_addr constant [38 x i8] c" --total output a summary\0A\00", align 1 +@.str.9.104 = private unnamed_addr constant [63 x i8] c" -z, --zero-terminated line delimiter is NUL, not newline\0A\00", align 1 +@.str.10.105 = private unnamed_addr constant [45 x i8] c" --help display this help and exit\0A\00", align 1 +@.str.11.106 = private unnamed_addr constant [54 x i8] c" --version output version information and exit\0A\00", align 1 +@.str.12.107 = private unnamed_addr constant [63 x i8] c"\0ANote, comparisons honor the rules specified by 'LC_COLLATE'.\0A\00", align 1 +@.str.13.108 = private unnamed_addr constant [156 x i8] c"\0AExamples:\0A %s -12 file1 file2 Print only lines present in both file1 and file2.\0A %s -3 file1 file2 Print lines in file1 not in file2, and vice versa.\0A\00", align 1 +@.str.14.109 = private unnamed_addr constant [5 x i8] c"comm\00", align 1 +@__const.emit_ancillary_info.infomap = private unnamed_addr constant [7 x %struct.infomap] [%struct.infomap { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.25.114, i32 0, i32 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.26.115, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.27.116, i32 0, i32 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.28.117, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.29.118, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.30.119, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.31.120, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.30.119, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.32.121, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.30.119, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.33.122, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.30.119, i32 0, i32 0) }, %struct.infomap zeroinitializer], align 16 +@.str.34.110 = private unnamed_addr constant [23 x i8] c"\0A%s online help: <%s>\0A\00", align 1 +@.str.18.111 = private unnamed_addr constant [14 x i8] c"GNU coreutils\00", align 1 +@.str.35.112 = private unnamed_addr constant [40 x i8] c"https://www.gnu.org/software/coreutils/\00", align 1 +@.str.36 = private unnamed_addr constant [4 x i8] c"en_\00", align 1 +@.str.37 = private unnamed_addr constant [71 x i8] c"Report any translation bugs to \0A\00", align 1 +@.str.38 = private unnamed_addr constant [27 x i8] c"Full documentation <%s%s>\0A\00", align 1 +@.str.40 = private unnamed_addr constant [12 x i8] c" invocation\00", align 1 +@.str.15.113 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@.str.39 = private unnamed_addr constant [51 x i8] c"or available locally via: info '(coreutils) %s%s'\0A\00", align 1 +@.str.25.114 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@.str.26.115 = private unnamed_addr constant [16 x i8] c"test invocation\00", align 1 +@.str.27.116 = private unnamed_addr constant [10 x i8] c"coreutils\00", align 1 +@.str.28.117 = private unnamed_addr constant [22 x i8] c"Multi-call invocation\00", align 1 +@.str.29.118 = private unnamed_addr constant [10 x i8] c"sha224sum\00", align 1 +@.str.30.119 = private unnamed_addr constant [15 x i8] c"sha2 utilities\00", align 1 +@.str.31.120 = private unnamed_addr constant [10 x i8] c"sha256sum\00", align 1 +@.str.32.121 = private unnamed_addr constant [10 x i8] c"sha384sum\00", align 1 +@.str.33.122 = private unnamed_addr constant [10 x i8] c"sha512sum\00", align 1 +@hard_LC_COLLATE = internal global i8 0, align 1 +@only_file_1 = internal global i8 0, align 1 +@only_file_2 = internal global i8 0, align 1 +@both = internal global i8 0, align 1 +@seen_unpairable = internal global i8 0, align 1 +@issued_disorder_warning = internal global [2 x i8] zeroinitializer, align 1 +@check_input_order = internal global i32 0, align 4 +@total_option = internal global i8 0, align 1 +@.str.16.125 = private unnamed_addr constant [5 x i8] c"123z\00", align 1 +@long_options = internal constant [8 x %struct.option] [%struct.option { i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.41, i32 0, i32 0), i32 0, i32* null, i32 128 }, %struct.option { i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.42, i32 0, i32 0), i32 0, i32* null, i32 129 }, %struct.option { i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.43, i32 0, i32 0), i32 1, i32* null, i32 130 }, %struct.option { i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.44, i32 0, i32 0), i32 0, i32* null, i32 131 }, %struct.option { i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.45, i32 0, i32 0), i32 0, i32* null, i32 122 }, %struct.option { i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.46, i32 0, i32 0), i32 0, i32* null, i32 -130 }, %struct.option { i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.47, i32 0, i32 0), i32 0, i32* null, i32 -131 }, %struct.option zeroinitializer], align 16 +@delim = internal global i8 10, align 1 +@col_sep_len = internal global i64 0, align 8 +@col_sep = internal global i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.48, i32 0, i32 0), align 8 +@.str.17.126 = private unnamed_addr constant [37 x i8] c"multiple output delimiters specified\00", align 1 +@.str.19.127 = private unnamed_addr constant [20 x i8] c"Richard M. Stallman\00", align 1 +@.str.20.128 = private unnamed_addr constant [16 x i8] c"David MacKenzie\00", align 1 +@.str.21.129 = private unnamed_addr constant [16 x i8] c"missing operand\00", align 1 +@.str.22.130 = private unnamed_addr constant [25 x i8] c"missing operand after %s\00", align 1 +@.str.23.131 = private unnamed_addr constant [17 x i8] c"extra operand %s\00", align 1 +@.str.24.132 = private unnamed_addr constant [29 x i8] c"input is not in sorted order\00", align 1 +@.str.49 = private unnamed_addr constant [2 x i8] c"-\00", align 1 +@.str.50 = private unnamed_addr constant [2 x i8] c"r\00", align 1 +@.str.51 = private unnamed_addr constant [3 x i8] c"%s\00", align 1 +@.str.52 = private unnamed_addr constant [17 x i8] c"%s%s%s%s%s%s%s%c\00", align 1 +@.str.44 = private unnamed_addr constant [6 x i8] c"total\00", align 1 +@.str.53 = private unnamed_addr constant [31 x i8] c"file %d is not in sorted order\00", align 1 +@.str.155 = private unnamed_addr constant [25 x i8] c"string comparison failed\00", align 1 +@.str.1.156 = private unnamed_addr constant [43 x i8] c"Set LC_ALL='C' to work around the problem.\00", align 1 +@.str.2.157 = private unnamed_addr constant [37 x i8] c"The strings compared were %s and %s.\00", align 1 +@slotvec = internal global %struct.slotvec* @slotvec0, align 8 +@nslots = internal global i32 1, align 4 +@slotvec0 = internal global %struct.slotvec { i64 256, i8* getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i32 0, i32 0) }, align 8 +@slot0 = internal global [256 x i8] zeroinitializer, align 16 +@.str.10.95 = private unnamed_addr constant [2 x i8] c"\22\00", align 1 +@.str.11.96 = private unnamed_addr constant [2 x i8] c"`\00", align 1 +@.str.12.97 = private unnamed_addr constant [2 x i8] c"'\00", align 1 +@.str.13.98 = private unnamed_addr constant [6 x i8] c"UTF-8\00", align 1 +@.str.14.99 = private unnamed_addr constant [4 x i8] c"\E2\80\98\00", align 1 +@.str.15.100 = private unnamed_addr constant [4 x i8] c"\E2\80\99\00", align 1 +@.str.16.101 = private unnamed_addr constant [8 x i8] c"GB18030\00", align 1 +@.str.17.102 = private unnamed_addr constant [4 x i8] c"\A1\07e\00", align 1 +@.str.18.103 = private unnamed_addr constant [3 x i8] c"\A1\AF\00", align 1 +@.str.174 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@.str.1.175 = private unnamed_addr constant [6 x i8] c"ASCII\00", align 1 +@.str.151 = private unnamed_addr constant [3 x i8] c"%s\00", align 1 +@.str.1.152 = private unnamed_addr constant [17 x i8] c"memory exhausted\00", align 1 +@default_quoting_options = internal global %struct.quoting_options zeroinitializer, align 8 +@rpl_fcntl_DUPFD_CLOEXEC.have_dupfd_cloexec = internal global i32 0, align 4 +@.str.114 = private unnamed_addr constant [12 x i8] c"%s (%s) %s\0A\00", align 1 +@.str.1.115 = private unnamed_addr constant [7 x i8] c"%s %s\0A\00", align 1 +@.str.2.116 = private unnamed_addr constant [4 x i8] c"(C)\00", align 1 +@.str.3.117 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.4.118 = private unnamed_addr constant [171 x i8] c"License GPLv3+: GNU GPL version 3 or later <%s>.\0AThis is free software: you are free to change and redistribute it.\0AThere is NO WARRANTY, to the extent permitted by law.\0A\00", align 1 +@.str.5.119 = private unnamed_addr constant [34 x i8] c"https://gnu.org/licenses/gpl.html\00", align 1 +@.str.6.120 = private unnamed_addr constant [16 x i8] c"Written by %s.\0A\00", align 1 +@.str.7.121 = private unnamed_addr constant [23 x i8] c"Written by %s and %s.\0A\00", align 1 +@.str.8.122 = private unnamed_addr constant [28 x i8] c"Written by %s, %s, and %s.\0A\00", align 1 +@.str.9.123 = private unnamed_addr constant [32 x i8] c"Written by %s, %s, %s,\0Aand %s.\0A\00", align 1 +@.str.10.124 = private unnamed_addr constant [36 x i8] c"Written by %s, %s, %s,\0A%s, and %s.\0A\00", align 1 +@.str.11.125 = private unnamed_addr constant [40 x i8] c"Written by %s, %s, %s,\0A%s, %s, and %s.\0A\00", align 1 +@.str.12.126 = private unnamed_addr constant [44 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, and %s.\0A\00", align 1 +@.str.13.127 = private unnamed_addr constant [48 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, %s,\0Aand %s.\0A\00", align 1 +@.str.14.128 = private unnamed_addr constant [52 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, %s,\0A%s, and %s.\0A\00", align 1 +@.str.15.129 = private unnamed_addr constant [60 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, %s,\0A%s, %s, and others.\0A\00", align 1 +@.str.48 = private unnamed_addr constant [2 x i8] c"\09\00", align 1 +@.str.41 = private unnamed_addr constant [12 x i8] c"check-order\00", align 1 +@.str.42 = private unnamed_addr constant [14 x i8] c"nocheck-order\00", align 1 +@.str.43 = private unnamed_addr constant [17 x i8] c"output-delimiter\00", align 1 +@.str.45 = private unnamed_addr constant [16 x i8] c"zero-terminated\00", align 1 +@.str.46 = private unnamed_addr constant [5 x i8] c"help\00", align 1 +@.str.47 = private unnamed_addr constant [8 x i8] c"version\00", align 1 +@ignore_EPIPE = internal global i8 0, align 1 +@.str.57 = private unnamed_addr constant [12 x i8] c"write error\00", align 1 +@file_name = internal global i8* null, align 8 +@.str.1.58 = private unnamed_addr constant [7 x i8] c"%s: %s\00", align 1 +@.str.2.59 = private unnamed_addr constant [3 x i8] c"%s\00", align 1 +@.str.68.133 = private unnamed_addr constant [2 x i8] c"C\00", align 1 +@.str.1.69.134 = private unnamed_addr constant [6 x i8] c"POSIX\00", align 1 +@.str.82 = private unnamed_addr constant [56 x i8] c"A NULL argv[0] was passed through an exec system call.\0A\00", align 1 +@.str.1.83 = private unnamed_addr constant [8 x i8] c"/.libs/\00", align 1 +@.str.2.84 = private unnamed_addr constant [4 x i8] c"lt-\00", align 1 +@.str.16.132 = private unnamed_addr constant [20 x i8] c"Report bugs to: %s\0A\00", align 1 +@.str.17.133 = private unnamed_addr constant [22 x i8] c"bug-coreutils@gnu.org\00", align 1 +@.str.18.134 = private unnamed_addr constant [20 x i8] c"%s home page: <%s>\0A\00", align 1 +@.str.19.135 = private unnamed_addr constant [14 x i8] c"GNU coreutils\00", align 1 +@.str.20.136 = private unnamed_addr constant [40 x i8] c"https://www.gnu.org/software/coreutils/\00", align 1 +@.str.21.137 = private unnamed_addr constant [39 x i8] c"General help using GNU software: <%s>\0A\00", align 1 +@.str.22.138 = private unnamed_addr constant [29 x i8] c"https://www.gnu.org/gethelp/\00", align 1 +@__exe_env = dso_local global { <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] } { <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }> <{ %struct.exe_file_t { i32 0, i32 5, i64 0, %struct.exe_disk_file_t* null }, %struct.exe_file_t { i32 1, i32 9, i64 0, %struct.exe_disk_file_t* null }, %struct.exe_file_t { i32 2, i32 9, i64 0, %struct.exe_disk_file_t* null }, [29 x %struct.exe_file_t] zeroinitializer }>, i32 18, i32 0, i32 0, [4 x i8] undef }, align 8 +@__exe_fs = dso_local global %struct.exe_file_system_t zeroinitializer, align 8 +@__const.klee_init_fds.name = private unnamed_addr constant [7 x i8] c"?-data\00", align 1 +@.str.141 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@.str.1.142 = private unnamed_addr constant [82 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/fd_init.c\00", align 1 +@.str.2.143 = private unnamed_addr constant [31 x i8] c"out of memory in klee_init_env\00", align 1 +@.str.3.144 = private unnamed_addr constant [9 x i8] c"user.err\00", align 1 +@.str.4.146 = private unnamed_addr constant [6 x i8] c"stdin\00", align 1 +@.str.5.147 = private unnamed_addr constant [10 x i8] c"read_fail\00", align 1 +@.str.6.148 = private unnamed_addr constant [11 x i8] c"write_fail\00", align 1 +@.str.7.149 = private unnamed_addr constant [11 x i8] c"close_fail\00", align 1 +@.str.8.150 = private unnamed_addr constant [15 x i8] c"ftruncate_fail\00", align 1 +@.str.9.151 = private unnamed_addr constant [12 x i8] c"getcwd_fail\00", align 1 +@.str.10.152 = private unnamed_addr constant [7 x i8] c"stdout\00", align 1 +@.str.11.153 = private unnamed_addr constant [14 x i8] c"model_version\00", align 1 +@.str.13.154 = private unnamed_addr constant [6 x i8] c"-stat\00", align 1 +@.str.14.155 = private unnamed_addr constant [5 x i8] c"size\00", align 1 +@__PRETTY_FUNCTION__.__create_new_dfile = private unnamed_addr constant [88 x i8] c"void __create_new_dfile(exe_disk_file_t *, unsigned int, const char *, struct stat64 *)\00", align 1 +@.str.12.156 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.157 = private unnamed_addr constant [18 x i8] c"silently ignoring\00", align 1 +@.str.1.162 = private unnamed_addr constant [24 x i8] c"ignoring (EAFNOSUPPORT)\00", align 1 +@.str.11.164 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.2.167 = private unnamed_addr constant [15 x i8] c"ignoring (EIO)\00", align 1 +@.str.3.168 = private unnamed_addr constant [18 x i8] c"ignoring (ENFILE)\00", align 1 +@.str.4.169 = private unnamed_addr constant [17 x i8] c"ignoring (EPERM)\00", align 1 +@.str.5.170 = private unnamed_addr constant [13 x i8] c"returning 0\0A\00", align 1 +@.str.6.171 = private unnamed_addr constant [40 x i8] c"setting all times to 0 and returning 0\0A\00", align 1 +@.str.7.172 = private unnamed_addr constant [17 x i8] c"ignoring (EBADF)\00", align 1 +@.str.8.175 = private unnamed_addr constant [21 x i8] c"ignoring (-1 result)\00", align 1 +@.str.9.176 = private unnamed_addr constant [18 x i8] c"ignoring (ECHILD)\00", align 1 +@.str.10.177 = private unnamed_addr constant [32 x i8] c"silently ignoring (returning 0)\00", align 1 +@__locale_mmap = global %struct.__locale_mmap_t.203* @locale_mmap, align 8 +@locale_mmap = internal constant %struct.__locale_mmap_t.203 { [420 x i8] c"\EE\EE\EE\EE\06afffffff$$$$$$$$$$\06\00\00\00\00D&fffdDDbfff`b\22\22FBFfddfFf$\22fbbB\22DDDD\22\22\22\22\06&fff`\00\00`fffff&ff`ffff\11a\06\00\00\00\11\11\11\11\11\01`\06\EE&fffd\E4\EEnffffb\E2Nfaff\11\11\11\22\22\22\22bDDDdDDD$FDDdDDdD&\22\22b\22\22b\22\22\22\22\12bbf&Fb$dd$dF$$$F\22BB\22fffdbaffff$fba$dFBfdbddBf$df\22b$$FFFdFDdD&&&b&\22b\22Ff\06dFDd@&f&b&\22b D\04DD@DDd\22\02\22\22 \22\22bFAFdFDdd&\22B\22FDDD&\22\22\22\06\00\06\00\00\00f\00\00`\00`\10\11\11\11\11\01\00\00\11afff\06\00\00ff\00ff`f`DddDADDDD@DDDD\22\22!\22\22\22\22\22\22\02\06ffffff\06\00\00\00`f&fffFff\22Fff`b$\04dfff``\00\00 $&f\00`f\06fF@f``\00`f&b\22fFdDffFf\11\11\11a\11\01\00`\11\11\11\16\11f\00\00", [504 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00{}\00\00\00{\00\7F\7F\00\00\00\00\00\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\00\00\F0\FE\00\FE\00\00\00\00\00\00\F0\00\F0\F0\F0\F0\F0\00\00\00\00\00\00\00\00\FF\FF\E7\00\F1\00\00\F0\00\F0\00\00\00\00\F0\00\00\FF\FF\F1\00\00\00\F0\00\F0\00\E7\FF\FF\F0\E0\E0\E0\E0\E0\E0\E0\E0\00\00\F0\00\F0\00\00\00\00\00\F0\00\F0\00\00\A0\00\00\00\00\00\00\00\A0\E0\E0\E0\E0\E0\E0\E0\00\00\F0\F0\F0\F0\F0\F0\00\F0\F0\F0\F0\F0\00\F0\F0\00\FF\FF\00\FF\FF\FB\00\F0\00\F0\FB\F0\00\00\B0\FF\FF\FF\FF\FF\FF\00\FE\F0\FE\F0\FC\F0\FF\FF\FC\E0\E0\E0\E0\E0\E0\E0\B0\00\00\00\00\00\00\FE\00\FE\00\00\00\00\00\00\00\00\00\00\00\FC\00\00\00\FC\00\00\00\FF\FF\BF\00\E0\E0\E0\E0\E0\E0\E0\BF\00\FF\FF\F0\00\00\FE\00\FE\00\F0\00\FE\00\FE\F0\00\00\F9\F0\FC\00\00\00\FC\F9\F0\00\FF\FF\BF\F0\00\F0\00\F0\00\F0\F0\00\00\F0\F0\F0\F0\00\F0\F0\00\F0\00\00\00\00\F0\00\00@\F0\F0\F0\00\00\F0\00\90\F0\F0\F0\00\00\F0\E0\E0\E0\00\E0\E0\E0\E0\00\E0\E0\E0\E0\E0\E0\00\00\F0\F0\F0\F0\00\F0\00\00\F0\F0\F0\F0\FE\F0\FE\00\B0\B0\B0\B0\B0\B0\B0\B0\B0\B0\B0\B0\00\B0\B0\00\00\00\00\00\00\DA\00\DB\DB\DB\00\C0\00\C1\C1\00\E0\E0\E0\E0\E0\E0\E0\E0\E0\00\E0\E0\E0\E0\E0\E0\E0\E0\E0\DA\DB\DB\DB\E0\E0\E1\E0\E0\E0\E0\E0\E0\E0\E0\E0\C0\C1\C1\00\E0\E0\E0\E0\E0t\E0\00\E0\E0\E0\E0\E0L\E0\00\00\00\00\10\00\00\00\00 \10\02\00\02\00\00\00\00\00\00\02\00\02\01\01\00\10\00\00\00\00\00\00\00\00\01\01\10\00\10\00\00\00\00\00\10\00\10\00\00\00\00\00\10\10\00\10\10\00\00\00\00\00\10\00\00", [1760 x i16] [i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 0, i16 1415, i16 1417, i16 41, i16 40, i16 187, i16 171, i16 8212, i16 46, i16 1373, i16 44, i16 45, i16 1418, i16 8230, i16 1372, i16 1371, i16 1374, i16 1329, i16 1377, i16 1330, i16 1378, i16 1331, i16 1379, i16 1332, i16 1380, i16 1333, i16 1381, i16 1334, i16 1382, i16 1335, i16 1383, i16 1336, i16 1384, i16 1337, i16 1385, i16 1338, i16 1386, i16 1339, i16 1387, i16 1340, i16 1388, i16 1341, i16 1389, i16 1342, i16 1390, i16 1343, i16 1391, i16 1344, i16 1392, i16 1345, i16 1393, i16 1346, i16 1394, i16 1347, i16 1395, i16 1348, i16 1396, i16 1349, i16 1397, i16 1350, i16 1398, i16 1351, i16 1399, i16 1352, i16 1400, i16 1353, i16 1401, i16 1354, i16 1402, i16 1355, i16 1403, i16 1356, i16 1404, i16 1357, i16 1405, i16 1358, i16 1406, i16 1359, i16 1407, i16 1360, i16 1408, i16 1361, i16 1409, i16 1362, i16 1410, i16 1363, i16 1411, i16 1364, i16 1412, i16 1365, i16 1413, i16 1366, i16 1414, i16 1370, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1026, i16 1027, i16 8218, i16 1107, i16 8222, i16 8230, i16 8224, i16 8225, i16 8364, i16 8240, i16 1033, i16 8249, i16 1034, i16 1036, i16 1035, i16 1039, i16 1106, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 0, i16 8482, i16 1113, i16 8250, i16 1114, i16 1116, i16 1115, i16 1119, i16 160, i16 1038, i16 1118, i16 1032, i16 164, i16 1168, i16 166, i16 167, i16 1025, i16 169, i16 1028, i16 171, i16 172, i16 173, i16 174, i16 1031, i16 176, i16 177, i16 1030, i16 1110, i16 1169, i16 181, i16 182, i16 183, i16 1105, i16 8470, i16 1108, i16 187, i16 1112, i16 1029, i16 1109, i16 1111, i16 1040, i16 1041, i16 1042, i16 1043, i16 1044, i16 1045, i16 1046, i16 1047, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 1058, i16 1059, i16 1060, i16 1061, i16 1062, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1070, i16 1071, i16 1072, i16 1073, i16 1074, i16 1075, i16 1076, i16 1077, i16 1078, i16 1079, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1088, i16 1089, i16 1090, i16 1091, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1099, i16 1100, i16 1101, i16 1102, i16 1103, i16 8364, i16 0, i16 8218, i16 402, i16 8222, i16 8230, i16 8224, i16 8225, i16 710, i16 8240, i16 0, i16 8249, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 732, i16 8482, i16 0, i16 8250, i16 0, i16 0, i16 0, i16 0, i16 160, i16 161, i16 162, i16 163, i16 8362, i16 165, i16 166, i16 167, i16 168, i16 169, i16 215, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 247, i16 187, i16 188, i16 189, i16 190, i16 191, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 0, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 0, i16 0, i16 8206, i16 8207, i16 0, i16 128, i16 129, i16 8218, i16 402, i16 8222, i16 8230, i16 8224, i16 8225, i16 710, i16 8240, i16 352, i16 8249, i16 338, i16 141, i16 142, i16 143, i16 144, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 732, i16 8482, i16 353, i16 8250, i16 339, i16 157, i16 158, i16 376, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 4304, i16 4305, i16 4306, i16 4307, i16 4308, i16 4309, i16 4310, i16 4337, i16 4311, i16 4312, i16 4313, i16 4314, i16 4315, i16 4316, i16 4338, i16 4317, i16 4318, i16 4319, i16 4320, i16 4321, i16 4322, i16 4339, i16 4323, i16 4324, i16 4325, i16 4326, i16 4327, i16 4328, i16 4329, i16 4330, i16 4331, i16 4332, i16 4333, i16 4334, i16 4340, i16 4335, i16 4336, i16 4341, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 160, i16 260, i16 274, i16 290, i16 298, i16 296, i16 310, i16 167, i16 315, i16 272, i16 352, i16 358, i16 381, i16 173, i16 362, i16 330, i16 176, i16 261, i16 275, i16 291, i16 299, i16 297, i16 311, i16 183, i16 316, i16 273, i16 353, i16 359, i16 382, i16 8213, i16 363, i16 331, i16 256, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 302, i16 268, i16 201, i16 280, i16 203, i16 278, i16 205, i16 206, i16 207, i16 208, i16 325, i16 332, i16 211, i16 212, i16 213, i16 214, i16 360, i16 216, i16 370, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 257, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 303, i16 269, i16 233, i16 281, i16 235, i16 279, i16 237, i16 238, i16 239, i16 240, i16 326, i16 333, i16 243, i16 244, i16 245, i16 246, i16 361, i16 248, i16 371, i16 250, i16 251, i16 252, i16 253, i16 254, i16 312, i16 160, i16 8221, i16 162, i16 163, i16 164, i16 8222, i16 166, i16 167, i16 216, i16 169, i16 342, i16 171, i16 172, i16 173, i16 174, i16 198, i16 176, i16 177, i16 178, i16 179, i16 8220, i16 181, i16 182, i16 183, i16 248, i16 185, i16 343, i16 187, i16 188, i16 189, i16 190, i16 230, i16 260, i16 302, i16 256, i16 262, i16 196, i16 197, i16 280, i16 274, i16 268, i16 201, i16 377, i16 278, i16 290, i16 310, i16 298, i16 315, i16 352, i16 323, i16 325, i16 211, i16 332, i16 213, i16 214, i16 215, i16 370, i16 321, i16 346, i16 362, i16 220, i16 379, i16 381, i16 223, i16 261, i16 303, i16 257, i16 263, i16 228, i16 229, i16 281, i16 275, i16 269, i16 233, i16 378, i16 279, i16 291, i16 311, i16 299, i16 316, i16 353, i16 324, i16 326, i16 243, i16 333, i16 245, i16 246, i16 247, i16 371, i16 322, i16 347, i16 363, i16 252, i16 380, i16 382, i16 8217, i16 160, i16 7682, i16 7683, i16 163, i16 266, i16 267, i16 7690, i16 167, i16 7808, i16 169, i16 7810, i16 7691, i16 7922, i16 173, i16 174, i16 376, i16 7710, i16 7711, i16 288, i16 289, i16 7744, i16 7745, i16 182, i16 7766, i16 7809, i16 7767, i16 7811, i16 7776, i16 7923, i16 7812, i16 7813, i16 7777, i16 372, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 7786, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 374, i16 223, i16 373, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 7787, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 375, i16 255, i16 160, i16 161, i16 162, i16 163, i16 8364, i16 165, i16 352, i16 167, i16 353, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 381, i16 181, i16 182, i16 183, i16 382, i16 185, i16 186, i16 187, i16 338, i16 339, i16 376, i16 191, i16 160, i16 260, i16 261, i16 321, i16 8364, i16 171, i16 352, i16 167, i16 353, i16 169, i16 536, i16 8222, i16 377, i16 173, i16 378, i16 379, i16 176, i16 177, i16 268, i16 322, i16 381, i16 8221, i16 182, i16 183, i16 382, i16 269, i16 537, i16 187, i16 338, i16 339, i16 376, i16 380, i16 192, i16 193, i16 194, i16 258, i16 196, i16 262, i16 198, i16 199, i16 272, i16 323, i16 210, i16 211, i16 212, i16 336, i16 214, i16 346, i16 368, i16 217, i16 218, i16 219, i16 220, i16 280, i16 538, i16 223, i16 224, i16 225, i16 226, i16 259, i16 228, i16 263, i16 230, i16 231, i16 273, i16 324, i16 242, i16 243, i16 244, i16 337, i16 246, i16 347, i16 369, i16 249, i16 250, i16 251, i16 252, i16 281, i16 539, i16 255, i16 160, i16 260, i16 728, i16 321, i16 164, i16 317, i16 346, i16 167, i16 168, i16 352, i16 350, i16 356, i16 377, i16 173, i16 381, i16 379, i16 176, i16 261, i16 731, i16 322, i16 180, i16 318, i16 347, i16 711, i16 184, i16 353, i16 351, i16 357, i16 378, i16 733, i16 382, i16 380, i16 340, i16 193, i16 194, i16 258, i16 196, i16 313, i16 262, i16 199, i16 268, i16 201, i16 280, i16 203, i16 282, i16 205, i16 206, i16 270, i16 272, i16 323, i16 327, i16 211, i16 212, i16 336, i16 214, i16 215, i16 344, i16 366, i16 218, i16 368, i16 220, i16 221, i16 354, i16 223, i16 341, i16 225, i16 226, i16 259, i16 228, i16 314, i16 263, i16 231, i16 269, i16 233, i16 281, i16 235, i16 283, i16 237, i16 238, i16 271, i16 273, i16 324, i16 328, i16 243, i16 244, i16 337, i16 246, i16 247, i16 345, i16 367, i16 250, i16 369, i16 252, i16 253, i16 355, i16 729, i16 160, i16 294, i16 728, i16 163, i16 164, i16 0, i16 292, i16 167, i16 168, i16 304, i16 350, i16 286, i16 308, i16 173, i16 0, i16 379, i16 176, i16 295, i16 178, i16 179, i16 180, i16 181, i16 293, i16 183, i16 184, i16 305, i16 351, i16 287, i16 309, i16 189, i16 0, i16 380, i16 192, i16 193, i16 194, i16 0, i16 196, i16 266, i16 264, i16 199, i16 0, i16 209, i16 210, i16 211, i16 212, i16 288, i16 214, i16 215, i16 284, i16 217, i16 218, i16 219, i16 220, i16 364, i16 348, i16 223, i16 224, i16 225, i16 226, i16 0, i16 228, i16 267, i16 265, i16 231, i16 0, i16 241, i16 242, i16 243, i16 244, i16 289, i16 246, i16 247, i16 285, i16 249, i16 250, i16 251, i16 252, i16 365, i16 349, i16 729, i16 160, i16 260, i16 312, i16 342, i16 164, i16 296, i16 315, i16 167, i16 168, i16 352, i16 274, i16 290, i16 358, i16 173, i16 381, i16 175, i16 176, i16 261, i16 731, i16 343, i16 180, i16 297, i16 316, i16 711, i16 184, i16 353, i16 275, i16 291, i16 359, i16 330, i16 382, i16 331, i16 268, i16 201, i16 280, i16 203, i16 278, i16 205, i16 206, i16 298, i16 272, i16 325, i16 332, i16 310, i16 212, i16 213, i16 214, i16 215, i16 216, i16 370, i16 218, i16 219, i16 220, i16 360, i16 362, i16 223, i16 269, i16 233, i16 281, i16 235, i16 279, i16 237, i16 238, i16 299, i16 273, i16 326, i16 333, i16 311, i16 244, i16 245, i16 246, i16 247, i16 248, i16 371, i16 250, i16 251, i16 252, i16 361, i16 363, i16 729, i16 160, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 173, i16 1038, i16 1039, i16 8470, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 167, i16 1118, i16 1119, i16 160, i16 0, i16 0, i16 0, i16 164, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1548, i16 173, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1563, i16 0, i16 0, i16 0, i16 1567, i16 0, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1611, i16 1612, i16 1613, i16 1614, i16 1615, i16 1616, i16 1617, i16 1618, i16 0, i16 0, i16 0, i16 0, i16 0, i16 160, i16 8216, i16 8217, i16 163, i16 0, i16 0, i16 166, i16 167, i16 168, i16 169, i16 0, i16 171, i16 172, i16 173, i16 0, i16 8213, i16 176, i16 177, i16 178, i16 179, i16 900, i16 901, i16 902, i16 183, i16 904, i16 905, i16 906, i16 187, i16 908, i16 189, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 918, i16 919, i16 920, i16 921, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 929, i16 0, i16 931, i16 932, i16 933, i16 934, i16 935, i16 936, i16 937, i16 938, i16 939, i16 940, i16 941, i16 942, i16 943, i16 944, i16 945, i16 946, i16 947, i16 948, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 964, i16 965, i16 966, i16 967, i16 968, i16 969, i16 970, i16 971, i16 972, i16 973, i16 974, i16 0, i16 160, i16 0, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 184, i16 185, i16 247, i16 187, i16 188, i16 189, i16 190, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8215, i16 286, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 304, i16 350, i16 223, i16 287, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 305, i16 351, i16 255, i16 9472, i16 9474, i16 9484, i16 9488, i16 9492, i16 9496, i16 9500, i16 9508, i16 9516, i16 9524, i16 9532, i16 9600, i16 9604, i16 9608, i16 9612, i16 9616, i16 9617, i16 9618, i16 9619, i16 8992, i16 9632, i16 8729, i16 8730, i16 8776, i16 8804, i16 8805, i16 160, i16 8993, i16 176, i16 178, i16 183, i16 247, i16 9552, i16 9553, i16 9554, i16 1105, i16 9555, i16 9556, i16 9557, i16 9558, i16 9559, i16 9560, i16 9561, i16 9562, i16 9563, i16 9564, i16 9565, i16 9566, i16 9567, i16 9568, i16 9569, i16 1025, i16 9570, i16 9571, i16 9572, i16 9573, i16 9574, i16 9575, i16 9576, i16 9577, i16 9578, i16 9579, i16 9580, i16 169, i16 1102, i16 1072, i16 1073, i16 1094, i16 1076, i16 1077, i16 1092, i16 1075, i16 1093, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1103, i16 1088, i16 1089, i16 1090, i16 1091, i16 1078, i16 1074, i16 1100, i16 1099, i16 1079, i16 1096, i16 1101, i16 1097, i16 1095, i16 1098, i16 1070, i16 1040, i16 1041, i16 1062, i16 1044, i16 1045, i16 1060, i16 1043, i16 1061, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1071, i16 1056, i16 1057, i16 1058, i16 1059, i16 1046, i16 1042, i16 1068, i16 1067, i16 1047, i16 1064, i16 1069, i16 1065, i16 1063, i16 1066, i16 1179, i16 1171, i16 8218, i16 1170, i16 8222, i16 8230, i16 8224, i16 8225, i16 0, i16 8240, i16 1203, i16 8249, i16 1202, i16 1207, i16 1206, i16 0, i16 1178, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 0, i16 8482, i16 0, i16 8250, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1263, i16 1262, i16 1105, i16 164, i16 1251, i16 166, i16 167, i16 0, i16 0, i16 0, i16 171, i16 172, i16 173, i16 174, i16 0, i16 176, i16 177, i16 178, i16 1025, i16 0, i16 1250, i16 182, i16 183, i16 0, i16 8470, i16 0, i16 187, i16 0, i16 0, i16 0, i16 169, i16 9552, i16 9553, i16 9554, i16 1105, i16 1108, i16 9556, i16 1110, i16 1111, i16 9559, i16 9560, i16 9561, i16 9562, i16 9563, i16 1169, i16 9565, i16 9566, i16 9567, i16 9568, i16 9569, i16 1025, i16 1028, i16 9571, i16 1030, i16 1031, i16 9574, i16 9575, i16 9576, i16 9577, i16 9578, i16 1168, i16 9580, i16 169, i16 0, i16 3585, i16 3586, i16 3587, i16 3588, i16 3589, i16 3590, i16 3591, i16 3592, i16 3593, i16 3594, i16 3595, i16 3596, i16 3597, i16 3598, i16 3599, i16 3600, i16 3601, i16 3602, i16 3603, i16 3604, i16 3605, i16 3606, i16 3607, i16 3608, i16 3609, i16 3610, i16 3611, i16 3612, i16 3613, i16 3614, i16 3615, i16 3616, i16 3617, i16 3618, i16 3619, i16 3620, i16 3621, i16 3622, i16 3623, i16 3624, i16 3625, i16 3626, i16 3627, i16 3628, i16 3629, i16 3630, i16 3631, i16 3632, i16 3633, i16 3634, i16 3635, i16 3636, i16 3637, i16 3638, i16 3639, i16 3640, i16 3641, i16 3642, i16 0, i16 0, i16 0, i16 0, i16 3647, i16 3648, i16 3649, i16 3650, i16 3651, i16 3652, i16 3653, i16 3654, i16 3655, i16 3656, i16 3657, i16 3658, i16 3659, i16 3660, i16 3661, i16 3662, i16 3663, i16 3664, i16 3665, i16 3666, i16 3667, i16 3668, i16 3669, i16 3670, i16 3671, i16 3672, i16 3673, i16 3674, i16 3675, i16 0, i16 0, i16 0, i16 0], [4528 x i8] c"\00\00\01\00\00\00\00\00\02\03\04\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\06\07\08\09\0A\0B\00\00\00\00\00\00\00\00\0C\0D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\0F\00\00\00\00\10\11\12\13\14\15\00\00\00\16\00\00\00\00\00\00\00\17\18\19\00\00\00\00\00\00\1A\00\00\00\00\00\00\1B\1C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\1D\1E\00\1F\00 \00\00\00\00\00\00\00\00\00!\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\22#\00\00\00\00\00\00\00\00\00\00\00\00\00$%\13&'(\17\18\19\00\00\00\00\00\00)\00\00\00\00\00\00\00\1C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00*+,-\00\00.\14\00\00\00\00\00/01\00!\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00234\00\17\18\19\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03,-\11\12\13\14\00\00\00\00\00\00\00\00\02\0356789:;<=>?\00@A\00\00\00\00\00\00\00\00\00B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03CDEFGHIJKLMNOP\00\00\00\00\00\00\00\00\00Q\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03RS\11T\13UV\00W\00\00\00\00X\00\00\00\00\00\00\00\00YZ\00\00[\\]\00^\00\00\00\00\00\00_\00\00\00\00\00\00\00\00\02\03`a\11\12\13\14\00\00\00\00\00bcd\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00e\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03fghijklm\00\00nocp\00\00\00\00\00\00\00\00\00q\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00r\00\00\00\00\00\00\00\00e\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03stuvwxyz\00{|}~\7F\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\81\00\00\00\00\00\00\00\00\00\00\02\03\82\83\84\85\86\87\88\89\8A\8B\00\8C\8D\8E\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\8F\00\00\00\00\00\00\00\00\00\00\02\03\90t\91\92\93\94;\95\96\97\98\99\9A\9B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\9C\00\00\00\00\00\00\00\00\00\00\02\03\9D\00\00\00\00\00\9E-\11\12\13\9F\00\00\00\00\00\00\00\00\00\00\00\A0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03\A1\00\00\00\00\00\A2\A3\A4\A5\13\A6\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03\A7\A8\00\00\00\00\00\00\00\00\00\00\00\00\A9\11\AA\13\AB\00\00\00\00\AC\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03\AD\AE\00\1F\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\13&\00(\AF\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03,-\11\B0\13\B1\00\B2\00\B3\00\B4\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B5\B6\00\00\00\B7\B8\B9\BA\BB\BC\BD\00\00\00\00\00\00\00\00\00\00\00\BE\00\00\BF\00\C0\00\00\00\00\00\00\00\00\00\00\00\C1\00\00\00\00\00\00\00\00\00\00\00\00\00\C2\C3\C4\C5\00\C6\C7\00\C8\C9\CA\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\CB\CC\00\00\00\00\B8\B9\BA\BB\BC\BD\00\00\00\CD\00\CE\00\00\CF\00\D0\B9\BA\BB\BC\D1\00\00\00\D2\00\00\00\00\00\00\C2\C3\C4\C5\00\D3\D4\00\C8\C9\CA\00\00\00\00\00\D5-\11\D6\13\D7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A5\A4\00\00\AB\AC\A9\00\80\81\82\83\84\85\86\87\88\89\8A\8B\8C\8D\8E\8F\90\91\92\93\94\95\96\97\98\99\9A\9B\9C\9D\9E\9F\A0\00\00\00\00\00\00\00\00\00\00\A7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A6\00\00\00\00\00\B2\B4\B6\B8\BA\BC\BE\C0\C2\C4\C6\C8\CA\CC\CE\D0\D2\D4\D6\D8\DA\DC\DE\E0\E2\E4\E6\E8\EA\EC\EE\F0\F2\F4\F6\F8\FA\FC\00\00\00\FE\B0\AF\AA\B1\00\00\B3\B5\B7\B9\BB\BD\BF\C1\C3\C5\C7\C9\CB\CD\CF\D1\D3\D5\D7\D9\DB\DD\DF\E1\E3\E5\E7\E9\EB\ED\EF\F1\F3\F5\F7\F9\FB\FD\A2\00\A3\AD\00\00\00\00\00\00\00\00\00\A8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\AE\00\00\00\00\00\00\00\00\00\A0\00\00\00\A4\00\A6\A7\00\A9\00\AB\AC\AD\AE\00\B0\B1\00\00\00\B5\B6\B7\00\00\00\BB\00\00\00\00\00\A8\80\81\AA\BD\B2\AF\A3\8A\8C\8E\8D\00\A1\8F\C0\C1\C2\C3\C4\C5\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\E0\E1\E2\E3\E4\E5\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\FD\FE\FF\00\B8\90\83\BA\BE\B3\BF\BC\9A\9C\9E\9D\00\A2\9F\A5\B4\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\96\97\00\00\00\91\92\82\00\93\94\84\00\86\87\95\00\00\00\85\00\00\00\00\00\00\00\00\00\89\00\00\00\00\00\00\00\00\8B\9B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\88\00\00\00\00\00\00\00\00\00\B9\00\00\00\00\00\00\00\00\00\00\00\99\00\00\00\00\00\00\00\00\00\00\00\00\00\A0\A1\A2\A3\00\A5\A6\A7\A8\A9\00\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\00\BB\BC\BD\BE\BF\00\00\00\00\00\00\00\AA\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\BA\00\00\00\00\00\00\00\00\00\00\83\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\88\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\98\00\00\00\C0\C1\C2\C3\C4\C5\C6\C7\C8\C9\00\CB\CC\CD\CE\CF\D0\D1\D2\D3\00\00\00\00\00\00\00\00\00\00\00\00\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\00\00\00\00\00\D4\D5\D6\D7\D8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\FD\FE\00\00\00\00\00\00\00\00\00\00\A4\00\80\00\00\00\80\81\00\00\00\00\00\00\00\00\00\00\00\8D\8E\8F\90\00\00\00\00\00\00\00\00\00\00\00\00\9D\9E\00\A0\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\BF\00\00\00\00\00\00\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\00\00\8C\9C\00\00\00\00\00\00\00\00\00\00\00\00\8A\9A\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\9F\00\00\00\00\00\00\00\C0\C1\C2\C3\C4\C5\C6\C8\C9\CA\CB\CC\CD\CF\D0\D1\D2\D3\D4\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\E0\E1\E3\E4\C7\CE\D5\E2\E5\00\00\00\00\00\00\00\00\00\00\A0\00\00\00\00\00\00\A7\00\00\00\00\00\AD\00\00\B0\00\00\00\00\00\00\B7\00\00\00\00\00\00\00\00\00\C1\C2\C3\C4\C5\C6\00\00\C9\00\CB\00\CD\CE\CF\D0\00\00\D3\D4\D5\D6\00\D8\00\DA\DB\DC\DD\DE\DF\00\E1\E2\E3\E4\E5\E6\00\00\E9\00\EB\00\ED\EE\EF\F0\00\00\F3\F4\F5\F6\00\F8\00\FA\FB\FC\FD\FE\00\C0\E0\00\00\A1\B1\00\00\00\00\00\00\C8\E8\00\00\A9\B9\A2\B2\00\00\CC\EC\CA\EA\00\00\00\00\00\00\00\00\A3\B3\00\00\00\00\A5\B5\A4\B4\00\00\C7\E7\00\00\00\00\00\00\A6\B6\FF\00\00\A8\B8\00\00\00\00\00\00\00\00\D1\F1\00\00\00\AF\BF\D2\F2\00\00\AA\BA\00\00\00\00\AB\BB\D7\F7\AE\BE\00\00\00\00\00\00\D9\F9\00\00\00\00\00\00\00\00\00\AC\BC\00\00\00\00\00\00\BD\00\00\00\00\00\00\00\00\00\00\A0\00\A2\A3\A4\00\A6\A7\00\A9\00\AB\AC\AD\AE\00\B0\B1\B2\B3\00\B5\B6\B7\00\B9\00\BB\BC\BD\BE\00\00\00\00\00\C4\C5\AF\00\00\C9\00\00\00\00\00\00\00\00\00\D3\00\D5\D6\D7\A8\00\00\00\DC\00\00\DF\00\00\00\00\E4\E5\BF\00\00\E9\00\00\00\00\00\00\00\00\00\F3\00\F5\F6\F7\B8\00\00\00\FC\00\00\00\C2\E2\00\00\C0\E0\C3\E3\00\00\00\00\C8\E8\00\00\00\00\C7\E7\00\00\CB\EB\C6\E6\00\00\00\00\00\00\00\00\CC\EC\00\00\00\00\00\00\CE\EE\00\00\C1\E1\00\00\00\00\00\00\CD\ED\00\00\00\CF\EF\00\00\00\00\D9\F9\D1\F1\D2\F2\00\00\00\00\00\D4\F4\00\00\00\00\00\00\00\00\AA\BA\00\00\DA\FA\00\00\00\00\D0\F0\00\00\00\00\00\00\00\00\DB\FB\00\00\00\00\00\00\D8\F8\00\00\00\00\00\CA\EA\DD\FD\DE\FE\00\00\00\00\00\00\00\00\00\00\FF\00\00\B4\A1\A5\00\A0\00\00\A3\00\00\00\A7\00\A9\00\00\00\AD\AE\00\00\00\00\00\00\00\B6\00\00\00\00\00\00\00\00\00\00\D1\D2\D3\D4\D5\D6\00\D8\D9\DA\DB\DC\DD\00\DF\00\F1\F2\F3\F4\F5\F6\00\F8\F9\FA\FB\FC\FD\00\FF\00\00\00\00\00\00\00\00\00\00\A4\A5\00\00\00\00\B2\B3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\D0\F0\DE\FE\AF\00\00\00\00\00\00\00\00\00\A1\A2\00\00\00\00\00\00\A6\AB\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B0\B1\B4\B5\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B7\B9\00\00\00\00\00\00\00\00\BB\BF\00\00\00\00\00\00\00\00\D7\F7\00\00\00\00\A8\B8\AA\BA\BD\BE\00\00\00\00\00\00\00\00\00\00\00\00\AC\BC\00\00\00\00\00\00\00\00\00\00\00\00\A0\A1\A2\A3\00\A5\00\A7\00\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B3\00\B5\B6\B7\00\B9\BA\BB\00\00\00\BF\00\00\BC\BD\00\00\00\00\00\00\00\00\00\00\00\00\A6\A8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\BE\00\00\00\00\B4\B8\00\00\00\00\00\00\00\00\00\00\00\00\00\A4\00\00\00\A0\00\00\00\00\00\00\A7\00\A9\00\A5\00\AD\00\00\B0\B1\00\00\00\00\B6\B7\00\00\00\BB\00\00\00\00\C0\C1\C2\00\C4\00\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\00\00\D2\D3\D4\00\D6\00\00\D9\DA\DB\DC\00\00\DF\E0\E1\E2\00\E4\00\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\00\00\F2\F3\F4\00\F6\00\00\F9\FA\FB\FC\00\00\FF\00\00\C3\E3\A1\A2\C5\E5\00\00\00\00\B2\B9\00\00\D0\F0\00\00\00\00\00\00\DD\FD\00\00\00\00\00\00\00\A3\B3\D1\F1\00\00\00\00\00\00\00\00\00\00\00\D5\F5\BC\BD\00\00\00\00\00\00\D7\F7\00\00\00\00\D8\F8\00\00\00\00\00\00\BE\AC\AE\AF\BF\B4\B8\00\00\00\00\00\00\00\00\00\AA\BA\DE\FE\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B5\AB\00\A0\00\00\00\A4\00\00\A7\A8\00\00\00\00\AD\00\00\B0\00\00\00\B4\00\00\00\B8\00\00\00\00\00\00\00\00\C1\C2\00\C4\00\00\C7\00\C9\00\CB\00\CD\CE\00\00\00\00\D3\D4\00\D6\D7\00\00\DA\00\DC\DD\00\DF\00\E1\E2\00\E4\00\00\E7\00\E9\00\EB\00\ED\EE\00\00\00\00\F3\F4\00\F6\F7\00\00\FA\00\FC\FD\00\00\00\00\C3\E3\A1\B1\C6\E6\00\00\00\00\C8\E8\CF\EF\D0\F0\00\00\00\00\00\00\CA\EA\CC\EC\00\00\00\00\00\00\00\00\00\00\00\00\00\C5\E5\00\00\A5\B5\00\00\A3\B3\D1\F1\00\00\D2\F2\00\00\00\00\00\00\00\D5\F5\00\00\C0\E0\00\00\D8\F8\A6\B6\00\00\AA\BA\A9\B9\DE\FE\AB\BB\00\00\00\00\00\00\00\00\D9\F9\DB\FB\00\00\00\00\00\00\00\AC\BC\AF\BF\AE\BE\00\00\00\00\00\00\00\00\B7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A2\FF\00\B2\00\BD\00\00\A0\00\00\A3\A4\00\00\A7\A8\00\00\00\00\AD\00\00\B0\00\B2\B3\B4\B5\00\B7\B8\00\00\00\00\BD\00\00\C0\C1\C2\00\C4\00\00\C7\C8\C9\CA\CB\CC\CD\CE\CF\00\D1\D2\D3\D4\00\D6\D7\00\D9\DA\DB\DC\00\00\DF\E0\E1\E2\00\E4\00\00\E7\E8\E9\EA\EB\EC\ED\EE\EF\00\F1\F2\F3\F4\00\F6\F7\00\F9\FA\FB\FC\00\00\00\00\00\00\00\00\00\00\00\C6\E6\C5\E5\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\D8\F8\AB\BB\D5\F5\00\00\A6\B6\A1\B1\00\00\00\00\00\00\00\00\A9\B9\00\00\AC\BC\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\DE\FE\AA\BA\00\00\00\00\00\00\00\00\00\00\00\00\DD\FD\00\00\00\00\00\00\00\00\00\00\00\00\00\AF\BF\00\00\00\00\00\00\00\00\00\00\00\A2\FF\00\00\00\00\00\00\A0\00\00\00\A4\00\00\A7\A8\00\00\00\00\AD\00\AF\00\C1\C2\C3\C4\C5\C6\00\00\C9\00\CB\00\CD\CE\00\00\00\00\00\D4\D5\D6\D7\D8\00\DA\DB\DC\00\00\DF\00\E1\E2\E3\E4\E5\E6\00\00\E9\00\EB\00\ED\EE\00\00\00\00\00\F4\F5\F6\F7\F8\00\FA\FB\FC\00\00\00\D0\F0\AA\BA\00\00\CC\EC\CA\EA\00\00\00\00\00\00\00\00\AB\BB\00\00\00\00\A5\B5\CF\EF\00\00\C7\E7\00\00\00\00\00\00\D3\F3\A2\00\00\A6\B6\00\00\00\00\00\00\00\00\D1\F1\00\00\00\BD\BF\D2\F2\00\00\00\00\00\00\00\00\A3\B3\00\00\00\00\00\00\00\00\A9\B9\00\00\00\00\AC\BC\DD\FD\DE\FE\00\00\00\00\00\00\D9\F9\00\00\00\00\00\00\00\00\00\AE\BE\00\00\00\00\00\00\00\00\00\00\FF\00\B2\00\00\00\00\A0\00\00\00\00\00\00\FD\00\00\00\00\00\AD\00\00\00\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\00\AE\AF\00\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\00\FE\FF\00\00\00\00\00\00\F0\00\00\00\00\00\00\00\00\00\A0\00\00\00\A4\00\00\00\00\00\00\00\00\AD\00\00\00\00\00\00\00\00\00\00\00\00\00\00\AC\00\00\00\00\00\00\00\00\00\00\00\00\00\00\BB\00\00\00\BF\00\C1\C2\C3\C4\C5\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\00\00\00\00\00\F0\F1\F2\00\00\00\00\00\00\00\00\00\00\00\00\00\A0\00\00\A3\00\00\A6\A7\A8\A9\00\AB\AC\AD\00\00\B0\B1\B2\B3\00\00\00\B7\00\00\00\BB\00\BD\00\00\00\00\00\00\B4\B5\B6\00\B8\B9\BA\00\BC\00\BE\BF\D0\D1\00\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\FD\FE\00\00\00\00\00\00\AF\00\00\A1\A2\00\00\00\00\00\00\A0\00\A2\A3\A4\A5\A6\A7\A8\A9\00\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\00\BB\BC\BD\BE\00\00\00\00\00\00\00\00\DF\00\00\00\00\00\00\00\00\00\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\00\00\DF\00\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\00\00\FF\00\00\00\00\00\00\00\00\00\00\00\00\00\00\D0\F0\DD\FD\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\DE\FE\9A\00\00\00\00\00\00\00\00\BF\00\00\00\00\00\00\9C\00\9D\00\00\00\00\9E\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\9F\00\00\00\00\00\00\00\00\00\B3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E1\E2\F7\E7\E4\E5\F6\FA\E9\EA\EB\EC\ED\EE\EF\F0\F2\F3\F4\F5\E6\E8\E3\FE\FB\FD\FF\F9\F8\FC\E0\F1\C1\C2\D7\C7\C4\C5\D6\DA\C9\CA\CB\CC\CD\CE\CF\D0\D2\D3\D4\D5\C6\C8\C3\DE\DB\DD\DF\D9\D8\DC\C0\D1\00\A3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\95\96\00\00\00\00\00\00\00\00\00\00\00\00\00\97\00\00\00\00\00\00\00\00\00\00\00\98\99\00\00\00\00\00\00\00\00\00\00\93\9B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\00\81\00\00\00\00\00\00\00\00\00\82\00\00\00\83\00\00\00\84\00\00\00\85\00\00\00\86\00\00\00\00\00\00\00\87\00\00\00\00\00\00\00\88\00\00\00\00\00\00\00\89\00\00\00\00\00\00\00\8A\00\00\00\A0\A1\A2\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\00\00\00\8B\00\00\00\8C\00\00\00\8D\00\00\00\8E\00\00\00\8F\90\91\92\00\00\00\00\00\00\00\00\00\00\00\00\94\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A4\00\A6\A7\00\BF\00\AB\AC\AD\AE\00\B0\B1\B2\00\00\00\B6\B7\00\00\00\BB\00\00\00\00\00\00\83\81\00\00\00\00\00\00\90\80\00\00\00\00\00\00\8C\8A\00\00\8E\8D\00\00\00\00\00\00\00\00\00\00\B5\A5\00\00\00\00\00\00\00\00\00\00\A2\A1\00\B3\00\00\B4\00\B6\B7\00\00\00\00\00\00\00\00\00\A3\00\00\A4\00\A6\A7\00\00\00\00\00\00\00\00\BD\AD\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A0\A1\A2\00\A5\00\00\A8\A9\AA\AB\AC\00\AE\AF\B0\B1\B2\00\B5\00\00\B8\B9\BA\BB\BC\00\BE\00\00\00\00\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\00\00\00\00\DF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\00\00\00\00", [3604 x i8] c":!\1F2#\1E\02,\00'\04%&\05\07)\0F\12\09\0C\06\19\1A\0B+\00\00\00\00\00 \1D9*7407.$777\00\00\00\0158\03/3\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\17\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\16\19\19\19\19\13\00\00\00\00\00\00\00\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\14\00\00\00\00\00\00\00\007777777777777777777777777\19\10\08\19\1B-(\00\00\00\0E\22\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0061\00\00\11\0A\15\1C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\18\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\19\19\0D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E4\E4\E4\CD\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\D0\00\00\07\00\1A5UU>Uj\DE\00UovUUUUUUUUUUUZ\E4\DA\DEU\\\08UUUUI5UUUUUUUUUUS\E4\E4UUU\00\00\00\00\00\00\00UU\12?#UU(%;\C4-\002\03U\C7\00\B6PGUU(&=\E3\CC\1F\00 U\00\00\1DL(UU(U:\D2.\04\009U\00\00\1DUS\17UUGOS\11\D5\E4\00\00\1C\005UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU5UUUUXUAVXUk\00\00\00\00/\22\0B54\16\BC\CBJ\DEU<\00\00\00\00S\00\14\09U\BBSJDUUUUUUUUUUUUU7\00\00\00\14UUUUUSUUUUUUUS'S'UUUUS'UUUS'S'SSUUSUUTBLLUUUFJ\17(UUUUUUUUUUUUUUUUUUUUUULm\00UUn\00UUk\00UL*\00UUUUUU`\E4\E4\E4\E2\D3U7\00\00US'SUUUUSUU>\B9vp\D4\00\00\00\00UUUUUUUUUUI\00UUUR\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00UUUS\D0\00UUU>\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00UUUUG1\C5\C0UpY\C0\00\00\00\00\00\00\00\00UUUUR\00UUUUU)UUUUURUUUUUUU>\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00UUUUUUUUUULUUUUUUUUL\103UE&UUUUUUUUUUUUUUUUUU8UUUUUUUU>UUUUUUUUUU7UUUUUUUUUUUUUUUUUI\E4\E4\E4\E4\E4\E4\E0\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUH\00\00\00\00\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUHUUU\BBUUhUUUhUUUUUUUUUUUUUUUUUUUUR\00\00\00\00\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUUUR\00\00\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUUUUUUUS\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU^S\00xUUgUUUUUUUUUi\1F\00UUUUUUUY\00\00UUUUUUUU\17UUUUUU\00\00\00\00\00UNUU]UUU]UUXUUUXUUU\BBUUU\BBUUh9UUUUUU\86\AA\83\A7\86\AA\86\AA\83\A7{\96\86\AA\86\83\86\AA\86\AA\86\AA\82\AE\C9\AF}\AC\7F\AF\19\AD\92\92\00\00\00\00\97\AA\AA\AA\A86y\86\86\86\85\B4\B9\E4\CD\E4\E4\CD\D4\00UUU>g\00\92\92\92\92+\92\8F\00\00\00ezq~bUqraUURU\BDp\E4p\E4_\DF\00\00\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\91d\92\92\92\92\92\92\92\92\92\92\92\8C\92\92\92\92\92\92\92\9A\9Fs\92\92\92\92\92\A5\99\A0\A4\8E\93\9C\A1\8D[\8B\9F\9D\92\92\98\92\AA\AA\AA\AA\A7\86\86\86\86\83\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\AA\AA\AA\AA\AA\AA\86\86\86\86\86\86\92\92\92\92\94\CA\92\92\92\92\92\92\9A\9E\92\92\92\92\90\8C\B5\C1\E4\E4\E4\B9\E4\E4\E4\DC\C3\E0\B9\E4\E4\E4\E4\E4\D4\E4\E4\E4\B9\E0\00\00\E4\E4\E4\D0\E4\E4\B6K#UU($=\D1-\05\0A9U,\00\18@'0\13@T:\C5.\04\00\02U\C2\00\B6L(UU(Q:\D7.\0C\009U\00\00\1DL(UU(Q:\D7.\0C\019U\00\00\B6UUUUUU=\E4\DE\BEUoU,\00\B6K#UU(!;\D6-\04\0AlUp\C2\B9\E4Up\B1\AA\AA\B0\95\86\86\88\E1UUUUUUUUUUS\17\17\17\15\E0\E0\00\B8\BF\E4\E4\E4Up\E4\E4U5UUU>\B9\E4\E4H\E4\B9\E4\E4\E4\D7\E4\D6\00\00\00\00\00\00\CE\C8Zw\DDfcC\D9k\1B\E4\AA\AA\86\86H\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E0U7UUUUUUUUUUU\00UUUUU\BA\00\00\00\00\00\00\00\00\00\00\E4\E3\BBUUI\E4\E4\E4\C2\00\00\00\00\00\00UUUUY\E4t\00\00\00\00\00\00\00\00\00\E4\E4\00\00\D0\00\E4\E4\E5\B9\C6\E4\E0\D0LUUUUUUUUUUUUUUUUM\E4\E4\D2\B9\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\E4\C0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E4\E4\E4\D4\E4\E4\E4\E4\D0\00\B9\E4\E4\E4\E4\D1\E4\E4\E4\E4\E4\E4\E4\E4\E4\D0\E4\E4\E4\E4\E4\E0\E4\E4\E4\E4\E0\00\00\00\E4\C2\00\00\E4\E4\E4\E4\E4\E4\E4\D8UUW\AA\AA\AA\86\86\86\8A\E4\E0\E4\E4\E4\E4\E0\1E\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\00\00\00\00\E4\E4\E4\E4\E4\E4\E4\E4\DB\E4\00\00\E4\E4\0D\0F\0E\A2\9B\AA\A3\A6|\86\86\84\80\92\92\92\81\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E0\1B\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\E4\E4\E4\E0\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E0\00\00\00\00\00\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\00\00\00\E4\D0\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E6\E4\E4\E4vpw_5UUUUUUUUUS\B7vUUUUUUUUUUh\E9\E8\E4\E4\E4\EA\E4\E4\E4\E4\C4\06\D0\1Eu\E2\E4\E0\00\00\E4\E4\C0\00\00\00\E4\E4\E4\C2\00\00\EC\EB\EC\EC\E7\E4\B2\B3\B1\AA\AA\B0\95\86\86\89\EC\EC\EC\EC\E4\CF\DB\CF\AA\AA\AB\A9\86\86\87\86\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\11\00\00\00`\00\00\00f\00\00\00\90\00\00\06\00\00\00\10\11\00\00\10\16\00\00\11\10\00\00\11\11\00\00`\06\00\00f\00\00\00fd\00\01\00\06\00\01\10\01\00\06\00`\00\06\10\11\00\10\01\00\00\10\11\11\00\11\01\00\00\11\10\11\00\11\11\11\00\16\10\11\00!\01\11\00`\00`\00`ff\00f\06\00\00f\10\11\00fff\01\00\00\00\01\00\00\11\01\01\00\11\01\01\10\00\01\10\11\11\01\11\00\11\01\11\10\01\01\11\10\11\01\11\11\00\01\11\11\11\01`\00\00\01f\00\00\04$$$\06\00\00\00\06`f\00\06ff\00\10\01\01\10\10\01\01\11\10\01ff\10\11\01\01\10\11\01\11\10\11\10\10\10\11\11\11\10fff\11\00\00\00\11\00\00\10\11\00\00\11\11\00\00f\11\00\06f\11\00\11\00\11\00\16f\11\01\00\00\11\01\00\10\11\01\00\11\11\01\00`\11\01\10\11\11\06\10\11\11\10\01\11\11\10\10\11\11\10\11\01\11\10\11\11\11\11\00\00\11\11\01\00\11\11\01\01\11\11\01\10\11\11\01\11\11\11\01`\11\11\06\00\11\11\10\00\11\11\10\10\11\11\10\11\11\11\11\00\11\11\11\01\11\11\11\10\11\11\11\11\11\11\11\16\11\11\11D\11\11\11a\11\11\11f\11\11\16f\11\114B\11\11a\06\11\11a\11\11\11a\16\11\11af\11\11ff\11\12\11\11\11\12!\11\11\16\11\11\11!\00\00\11!\12\22\11D\11\16\11a\06\00\11a\11\11\11af\11\11aff\11f\00\00\11f\00\11\11f\06\00\11ff\06\11ff\11\11fff\12!\11\11\12\22\11\11\12$$$\16\00\00\00\16\00ff\16\11\11\11\16\11\11f\19\11\11\11 \22\22\22!!\11\11!!!!!\22\22\22\22\11\00\11\22\11\11!\22\11!\11\22\11!\12\22\12$\06\22!\01\11\22\22\22\00\22\22\22\02\22\22\22\12\22\22\22\22\22\22\22b\22bff\22bf\E6\22fff#4BB$\00\00\00$\11$!$\11DB$$\00\00$$$\00$$$\11$$$$$$$D$ff\06&\22\22\22@@@@@DDDA#$DA$$DABBBADDDB\11$DBB\22$BBB\02BBBBBD\12DBDBBD\04\04DD@DDDB$DDBB\22DD\22\22DDD\00DDD\04DDD$DDDDDDDdDD`fDDd\06DDdbDDdfDdffFDDDUUUUUfff`\06\00\00`f\06f`f\10\11`f\16\11`ff\00`fffa\00\00\00a\11\11\11a\11ffa\16\11\11af\06\00affff\00\00\00f\00fff\06\00\00f\06\00\06f\06\00`f\06\00ff\06fff\11\01\00f\11\11\11f!\01\11f$$$f`\16\00f`f\00f`fffaf\16faffff\00\00ff\00`ff\00fff\01\00ff\06\00ff\06\06ff\06`ff\06fff\11\11ff\16\11ff\16aff&fff``ffadfff\00fff\01fff\06fff\11fff\16fff`ffffffv\07if\16\11ifff\99\99ff\99\99\99i\CCfff\DE\CC\CC\EE\EE\EE\EE\EE", [1680 x i8] c"\04\06\07\00\00\00\00\00\00\00\00\00\00\00\00\05\01\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\00\00\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\0D\00\00\00\00\00\00QQRR\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\1B\1B\19\0F\1F\1F\1D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\03SSSUUUT\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\1B\1B\19\0F\1F\1F\1D\00\00\00\00\00\00\04\00\1B\1B\1A\1A\1F\1F\1E ((((((1\10,*(((((2\11.3%)/0$\064,-((\12((((((((((((((((((('\08(((((((((((#GIFHGIGIFH\16\17GIMNGIGIGIEJ\09OCKDL\09P((((5(&\00\00\00\07\1367\0B\0089\0C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\01:\0E\1B\18\1C\0F\1F\22!;(((<\00>>\1B\1B\1B\1B\1F\1F\1F\1F==((((#\0A((((((\10+(((('#((\00\00\00\00\14@@@?\00\15BBBA\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00WWWWVYYYYX\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\001\00\00\00\00\00\00\00Y\00\00\00\00\00\00\00^^\00\00\00\00\00\03\00\00\00\00\00\00\000\00\00\00\00\00\00\1C\1D\1E\1C\00\00\00#$\00%%\00\00\00E\00\00\00\00\00\00\00N\00\00\00\00\00\00\05\06\05\06\05\06\00\00+\00\00,\00\00\00\00/\00\00\00\00\00\00\00Z[\00\00\00\00\00\01\01\01\01\01\01\01\00\02\02\02\02\02\02\02\00\05\06\05\06\05\06\05\00\0B\05\06\05\06\0C\05\00\1C\1D\1E\05\06 !\00&\00'\00\00\00\00\00CCCCCCC\00DDDDDDD\00F\00F\00F\00F\00G\00G\00G\00G\01\01\00\01\01\01\01\01\01\01\01\00\00\00\00\00\01\01\01\01\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\015666\02\02\02\00\00\00\00\00\02\02\02\02\02\02\02\00\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\04\02\02\02\02899\00\02\027\02\02\02\02\02\05\06\00\00\00\00\00\00\05\06\00\00\05\06\00\1B\05\06\00\00\13\15\16\17\05\06\05\06\00\00\00\00\05\06\05\06\05\06\00\00\05\06\05\06\05\06\05\06\05\06\05\06\05\06\18\05\06\00\05\06\05\06\05\06\06\05\06\05\06\05\06\00\06\05\06\05\06\05\06\05\06\05\06\05\06\1F\05\06\06\0D\0D\05\06\00\0E\0F\06\18\00\00\05\06\18\05\06\19\19\05\06\05\06\1A\07\08\05\06\05\06\05\06\09\05\06\05\06\05\06\0A\10\05\06\0D\11\12\13\14\1D\1E\1C\1D\1E\05\06\05\22\00\05\06\05\06\05\06%\00\00(\00\00\00\00)*\00\00\00\00\00*-\00\00-\00\00\00\00-\00..\00\00\00\00222\003\0044:;\00\00\00<=\00>?\1F\00@A\00\00????????BBBBBBBBCCCCCCC\00CCCCCCCCDDDDDDD\00DDDDDDDDFF\00\00\00\00\00\00FF\00\00\00T\00\00FF\00N\00\00\00\00FFFFFF\00\00FFFFFFFFGGGGGG\00\00GGGGGGGGGGOOP\00Q\00GGSS\00\00\00\00GGUUV\00\00\00HHIIIIJJKKLLMM\00\00RRRRP\00\00\00WWXXP\00\00\00\\\\\\\\\\\\\\\\]]]]]]]]^^^^^^^^__\00\00\00\00\00\00________``````\00\00````````aaaaaa\00\00aaaaaaaa", [196 x i16] [i16 0, i16 0, i16 0, i16 32, i16 -32, i16 0, i16 743, i16 0, i16 121, i16 0, i16 0, i16 1, i16 -1, i16 0, i16 0, i16 -199, i16 -232, i16 0, i16 0, i16 -121, i16 -300, i16 0, i16 0, i16 210, i16 0, i16 206, i16 0, i16 205, i16 0, i16 79, i16 0, i16 202, i16 0, i16 203, i16 0, i16 207, i16 97, i16 0, i16 0, i16 211, i16 0, i16 209, i16 0, i16 213, i16 130, i16 0, i16 0, i16 214, i16 0, i16 218, i16 0, i16 217, i16 0, i16 219, i16 56, i16 0, i16 0, i16 2, i16 -1, i16 1, i16 -2, i16 0, i16 -79, i16 0, i16 0, i16 -97, i16 0, i16 -56, i16 0, i16 -130, i16 -210, i16 0, i16 -206, i16 0, i16 -205, i16 0, i16 -202, i16 0, i16 -203, i16 0, i16 -207, i16 0, i16 -209, i16 0, i16 -211, i16 0, i16 -213, i16 0, i16 -214, i16 0, i16 -218, i16 0, i16 -217, i16 0, i16 -219, i16 0, i16 84, i16 0, i16 0, i16 38, i16 0, i16 37, i16 0, i16 64, i16 0, i16 63, i16 -38, i16 0, i16 -37, i16 0, i16 -31, i16 0, i16 -64, i16 0, i16 -63, i16 0, i16 -62, i16 0, i16 -57, i16 0, i16 -47, i16 0, i16 -54, i16 0, i16 -86, i16 0, i16 -80, i16 0, i16 0, i16 -60, i16 -96, i16 0, i16 0, i16 80, i16 0, i16 48, i16 -48, i16 0, i16 -59, i16 0, i16 8, i16 0, i16 0, i16 -8, i16 74, i16 0, i16 86, i16 0, i16 100, i16 0, i16 128, i16 0, i16 112, i16 0, i16 126, i16 0, i16 9, i16 0, i16 0, i16 -74, i16 0, i16 -9, i16 -7205, i16 0, i16 0, i16 -86, i16 0, i16 -100, i16 7, i16 0, i16 0, i16 -112, i16 0, i16 -7, i16 0, i16 -128, i16 0, i16 -126, i16 0, i16 -7517, i16 0, i16 -8383, i16 0, i16 -8262, i16 0, i16 16, i16 -16, i16 0, i16 0, i16 26, i16 -26, i16 0, i16 0, i16 40, i16 -40, i16 0], [51 x i8] c"\000\001\002\003\004\005\006\007\008\009\00\DB\B0\00\DB\B1\00\DB\B2\00\DB\B3\00\DB\B4\00\DB\B5\00\DB\B6\00\DB\B7\00\DB\B8\00\DB\B9\00", [28 x i8] c"\00.\00,\00\03\00\03\02\00\A0\00\C2\A0\00 \00\D9\AB\00\D9\AC\00'\00\02\03\00", [1646 x i8] c"\00\7F\00-\00ZAR \00R\00,\00.\00\03\00\02\00\01\00-R\00ETB \00$\00-$\00AED \00\CF.\C5.\00-\CF.\C5.\00\D8\AF.\D8\A5.\00-\D8\AF.\D8\A5.\00BHD \00\CF.\C8.\00-\CF.\C8.\00\D8\AF.\D8\A8.\00-\D8\AF.\D8\A8.\00DZD \00\CF.\CC.\00-\CF.\CC.\00\D8\AF.\D8\AC.\00-\D8\AF.\D8\AC.\00EGP \00\CC.\E5.\00-\CC.\E5.\00\D8\AC.\D9\85.\00-\D8\AC.\D9\85.\00INR \00\E2\82\A8\00\03\02\00-\E2\82\A8\00IQD \00\CF.\D9.\00-\CF.\D9.\00\D8\AF.\D8\B9.\00-\D8\AF.\D8\B9.\00JOD \00\CF.\C3.\00-\CF.\C3.\00\D8\AF.\D8\A3.\00-\D8\AF.\D8\A3.\00KWD \00\CF.\E3.\00-\CF.\E3.\00\D8\AF.\D9\83.\00-\D8\AF.\D9\83.\00LBP \00\E4.\E4.\00-\E4.\E4.\00\D9\84.\D9\84.\00-\D9\84.\D9\84.\00LYD \00\CF.\E4.\00-\CF.\E4.\00\D8\AF.\D9\84.\00-\D8\AF.\D9\84.\00MAD \00\CF.\E5.\00-\CF.\E5.\00\D8\AF.\D9\85.\00-\D8\AF.\D9\85.\00OMR \00\D1.\D9.\00-\D1.\D9.\00\D8\B1.\D8\B9.\00-\D8\B1.\D8\B9.\00QAR \00\D1.\E2.\00-\D1.\E2.\00\D8\B1.\D9\82.\00-\D8\B1.\D9\82.\00SAR \00\D1\EA\C7\E4\00+\D1\EA\C7\E4\00\D8\B1\D9\8A\D8\A7\D9\84\00+\D8\B1\D9\8A\D8\A7\D9\84\00SDP \00\CC.\D3.\00-\CC.\D3.\00\D8\AC.\D8\B3.\00-\D8\AC.\D8\B3.\00SYP \00\E4.\D3.\00-\E4.\D3.\00\D9\84.\D8\B3.\00-\D9\84.\D8\B3.\00TND \00\CF.\CA.\00-\CF.\CA.\00\D8\AF.\D8\AA.\00-\D8\AF.\D8\AA.\00YER \00\D1.\EA.\00-\D1.\EA.\00\D8\B1.\D9\8A.\00-\D8\B1.\D9\8A.\00AZM \00man.\00 \00+man.\00BYR \00\F0\F3\E1\00+\F0\F3\E1\00\D1\80\D1\83\D0\B1\00+\D1\80\D1\83\D0\B1\00BGL \00\EB\E2\00\A0\00+\EB\E2\00\D0\BB\D0\B2\00\C2\A0\00+\D0\BB\D0\B2\00\E0\A7\B3\00-\E0\A7\B3\00\E0\A6\9F\E0\A6\BE\E0\A6\95\E0\A6\BE\00\02\03\00-\E0\A6\9F\E0\A6\BE\E0\A6\95\E0\A6\BE\00EUR \00EUR\00+EUR\00\E2\82\AC\00+\E2\82\AC\00BAK \00KM\00-KM\00-EUR\00-\E2\82\AC\00\A4\00-\A4\00CZK \00K\E8\00+K\E8\00K\C4\8D\00+K\C4\8D\00GBP \00\A3\00-\A3\00\C2\A3\00-\C2\A3\00DKK \00kr\00\04\00-kr\00CHF \00Fr.\00-Fr.\00+\A4\00AUD \00BWP \00Pu\00-Pu\00CAD \00\C2\A4\00-\C2\A4\00HKD \00HK$\00-HK$\00NZD \00PHP \00Php\00-Php\00SGD \00USD \00ZWD \00Z$\00-Z$\00-EUR \00ARS \00BOB \00$b\00-$b\00CLP \00COP \00CRC \00C\00-C\00DOP \00ECS \00GTQ \00Q\00-Q\00HNL \00L.\00-L.\00MXP \00NIO \00$C\00-$C\00PAB \00B/\00-B/\00PEN \00S/\00-S/\00PYG \00Gs.\00-Gs.\00SVC \00\A2\00-\A2\00\C2\A2\00-\C2\A2\00UYU \00N$\00-N$\00VEB \00Bs.\00-Bs.\00EEK \00IRR \00\D8\B1\DB\8C\D8\A7\D9\84\00\D9\AB\00\D9\AC\00+\D8\B1\DB\8C\D8\A7\D9\84\00+$\00ILS \00\F9\E7\00-\F9\E7\00\D7\A9\D7\97\00-\D7\A9\D7\97\00\E0\A4\B0\E0\A5\82\00-\E0\A4\B0\E0\A5\82\00HRK \00Kn\00-Kn\00HUF \00Ft\00+Ft\00AMD \00\B8\00-\B8\00\D4\B4\00-\D4\B4\00IDR \00Rp\00-Rp\00ISK \00+kr\00JPY \00\EF\BF\A5\00-\EF\BF\A5\00GEL \00\CB\00-\CB\00\E1\83\9A\00-\E1\83\9A\00KRW \00\EF\BF\A6\00-\EF\BF\A6\00LTL \00Lt\00+Lt\00LVL \00Ls\00-Ls\00MKD \00\D4\D5\DD\00+\D4\D5\DD\00\D0\B4\D0\B5\D0\BD\00+\D0\B4\D0\B5\D0\BD\00\E0\A4\B0\E0\A5\81\00-\E0\A4\B0\E0\A5\81\00MYR \00RM\00-RM\00MTL \00Lm\00-Lm\00NOK \00PLN \00Z\B3\00-Z\B3\00Z\C5\82\00-Z\C5\82\00BRL \00R$\00+R$\00ROL \00Lei\00-Lei\00RUR \00\D2\D5\C2\00+\D2\D5\C2\00\E0\E3\D1\00+\E0\E3\D1\00UAH \00\C7\D2\00+\C7\D2\00\D0\B3\D1\80\00+\D0\B3\D1\80\00 ru\00- ru\00SKK \00Sk\00+Sk\00SIT \00SIT\00+SIT\00ALL \00Lek\00-Lek\00YUN \00din\00-din\00\D4\D8\DD\00-\D4\D8\DD\00\D0\B4\D0\B8\D0\BD\00-\D0\B4\D0\B8\D0\BD\00SEK \00THB \00\DF\00-\DF\00\E0\B8\BF\00-\E0\B8\BF\00ERB \00PhP\00-PhP\00TRL \00TL\00+TL\00PKR \00Rs\00-Rs\00UZS \00so'm\00-so'm\00VND \00\E2\82\AB\00+\E2\82\AB\00CNY \00TWD \00NT$\00-NT$\00", [28353 x i8] c"\00Sun\00Mon\00Tue\00Wed\00Thu\00Fri\00Sat\00Sunday\00Monday\00Tuesday\00Wednesday\00Thursday\00Friday\00Saturday\00Jan\00Feb\00Mar\00Apr\00May\00Jun\00Jul\00Aug\00Sep\00Oct\00Nov\00Dec\00January\00February\00March\00April\00June\00July\00August\00September\00October\00November\00December\00AM\00PM\00%a %b %e %H:%M:%S %Y\00%m/%d/%y\00%H:%M:%S\00%I:%M:%S %p\00So\00Ma\00Di\00Wo\00Do\00Vr\00Sa\00Sondag\00Maandag\00Dinsdag\00Woensdag\00Donderdag\00Vrydag\00Saterdag\00Mei\00Okt\00Des\00Januarie\00Februarie\00Maart\00Junie\00Julie\00Augustus\00Oktober\00Desember\00VM\00NM\00%a %d %b %Y %T %Z\00%d/%m/%y\00%T\00\E1\8A\A5\E1\88\91\E1\8B\B5\00\E1\88\B0\E1\8A\9E\00\E1\88\9B\E1\8A\AD\E1\88\B0\E1\8A\9E\00\E1\88\A8\E1\89\A1\E1\8B\95\00\E1\88\90\E1\88\99\E1\88\B5\00\E1\8B\93\E1\88\AD\E1\89\A5\00\E1\89\85\E1\8B\B3\E1\88\9C\00\E1\8C\83\E1\8A\95\E1\8B\A9\00\E1\8D\8C\E1\89\A5\E1\88\A9\00\E1\88\9B\E1\88\AD\E1\89\BD\00\E1\8A\A4\E1\8D\95\E1\88\A8\00\E1\88\9C\E1\8B\AD\00\E1\8C\81\E1\8A\95\00\E1\8C\81\E1\88\8B\E1\8B\AD\00\E1\8A\A6\E1\8C\88\E1\88\B5\00\E1\88\B4\E1\8D\95\E1\89\B4\00\E1\8A\A6\E1\8A\AD\E1\89\B0\00\E1\8A\96\E1\89\AC\E1\88\9D\00\E1\8B\B2\E1\88\B4\E1\88\9D\00\E1\8C\83\E1\8A\95\E1\8B\A9\E1\8B\88\E1\88\AA\00\E1\8D\8C\E1\89\A5\E1\88\A9\E1\8B\88\E1\88\AA\00\E1\8A\A4\E1\8D\95\E1\88\A8\E1\88\8D\00\E1\8A\A6\E1\8C\88\E1\88\B5\E1\89\B5\00\E1\88\B4\E1\8D\95\E1\89\B4\E1\88\9D\E1\89\A0\E1\88\AD\00\E1\8A\A6\E1\8A\AD\E1\89\B0\E1\8B\8D\E1\89\A0\E1\88\AD\00\E1\8A\96\E1\89\AC\E1\88\9D\E1\89\A0\E1\88\AD\00\E1\8B\B2\E1\88\B4\E1\88\9D\E1\89\A0\E1\88\AD\00\E1\8C\A0\E1\8B\8B\E1\89\B5\00\E1\8A\A8\E1\88\B3\E1\8B\93\E1\89\B5\00%A\E1\8D\A3 %b %e \E1\89\80\E1\8A\95 %l:%M:%S %Z %Y\00%d/%m/%Y\00%r\00\CD\00\E6\00\CB\00\D1\00\CE\00\CC\00\D3\00\C7\E4\C3\CD\CF\00\C7\E4\C7\CB\E6\EA\E6\00\C7\E4\CB\E4\C7\CB\C7\C1\00\C7\E4\C3\D1\C8\D9\C7\C1\00\C7\E4\CE\E5\EA\D3\00\C7\E4\CC\E5\D9\C9\00\C7\E4\D3\C8\CA \00\EA\E6\C7\00\E1\C8\D1\00\E5\C7\D1\00\C3\C8\D1\00\E5\C7\EA\00\EA\E8\E6\00\EA\E8\E4\00\C3\DA\D3\00\D3\C8\CA\00\C3\E3\CA\00\E6\E8\E1\00\CF\EA\D3\00\EA\E6\C7\EA\D1\00\E1\C8\D1\C7\EA\D1\00\E5\C7\D1\D3\00\C3\C8\D1\EA\E4\00\E5\C7\EA\E8\00\EA\E8\E6\EA\E8\00\EA\E8\E4\EA\E8\00\C3\DA\D3\D7\D3\00\D3\C8\CA\E5\C8\D1\00\C3\E3\CA\E8\C8\D1\00\E6\E8\E1\E5\C8\D1\00\CF\EA\D3\E5\C8\D1\00\D5\00\E5\00%d %b, %Y %Z %I:%M:%S %p\00%d %b, %Y\00%Z %I:%M:%S \00%Z %I:%M:%S %p\00\D8\AD\00\D9\86\00\D8\AB\00\D8\B1\00\D8\AE\00\D8\AC\00\D8\B3\00\D8\A7\D9\84\D8\A3\D8\AD\D8\AF\00\D8\A7\D9\84\D8\A7\D8\AB\D9\86\D9\8A\D9\86\00\D8\A7\D9\84\D8\AB\D9\84\D8\A7\D8\AB\D8\A7\D8\A1\00\D8\A7\D9\84\D8\A3\D8\B1\D8\A8\D8\B9\D8\A7\D8\A1\00\D8\A7\D9\84\D8\AE\D9\85\D9\8A\D8\B3\00\D8\A7\D9\84\D8\AC\D9\85\D8\B9\D8\A9\00\D8\A7\D9\84\D8\B3\D8\A8\D8\AA \00\D9\8A\D9\86\D8\A7\00\D9\81\D8\A8\D8\B1\00\D9\85\D8\A7\D8\B1\00\D8\A3\D8\A8\D8\B1\00\D9\85\D8\A7\D9\8A\00\D9\8A\D9\88\D9\86\00\D9\8A\D9\88\D9\84\00\D8\A3\D8\BA\D8\B3\00\D8\B3\D8\A8\D8\AA\00\D8\A3\D9\83\D8\AA\00\D9\86\D9\88\D9\81\00\D8\AF\D9\8A\D8\B3\00\D9\8A\D9\86\D8\A7\D9\8A\D8\B1\00\D9\81\D8\A8\D8\B1\D8\A7\D9\8A\D8\B1\00\D9\85\D8\A7\D8\B1\D8\B3\00\D8\A3\D8\A8\D8\B1\D9\8A\D9\84\00\D9\85\D8\A7\D9\8A\D9\88\00\D9\8A\D9\88\D9\86\D9\8A\D9\88\00\D9\8A\D9\88\D9\84\D9\8A\D9\88\00\D8\A3\D8\BA\D8\B3\D8\B7\D8\B3\00\D8\B3\D8\A8\D8\AA\D9\85\D8\A8\D8\B1\00\D8\A3\D9\83\D8\AA\D9\88\D8\A8\D8\B1\00\D9\86\D9\88\D9\81\D9\85\D8\A8\D8\B1\00\D8\AF\D9\8A\D8\B3\D9\85\D8\A8\D8\B1\00\D8\B5\00\D9\85\00\C7\E4\D3\C8\CA\00\D8\A7\D9\84\D8\B3\D8\A8\D8\AA\00%A %d %B %Y %I:%M:%S %p %Z\00%A %d %B %Y\00%I:%M:%S %Z\00%I:%M:%S %p %Z\00\E3\C7\E6\E8\E6 \C7\E4\CB\C7\E6\EA\00\D4\C8\C7\D7\00\C2\D0\C7\D1\00\E6\EA\D3\C7\E6\00\E6\E8\C7\D1\00\CD\D2\EA\D1\C7\E6\00\CA\E5\E8\D2\00\C2\C8\00\C3\EA\E4\E8\E4\00\CA\D4\D1\EA\E6 \C7\E4\C3\E8\E4\00\CA\D4\D1\EA\E6 \C7\E4\CB\C7\E6\EA\00\E3\C7\E6\E8\E6 \C7\E4\C3\E8\E4\00\D9\83\D8\A7\D9\86\D9\88\D9\86 \D8\A7\D9\84\D8\AB\D8\A7\D9\86\D9\8A\00\D8\B4\D8\A8\D8\A7\D8\B7\00\D8\A2\D8\B0\D8\A7\D8\B1\00\D9\86\D9\8A\D8\B3\D8\A7\D9\86\00\D9\86\D9\88\D8\A7\D8\B1\00\D8\AD\D8\B2\D9\8A\D8\B1\D8\A7\D9\86\00\D8\AA\D9\85\D9\88\D8\B2\00\D8\A2\D8\A8\00\D8\A3\D9\8A\D9\84\D9\88\D9\84\00\D8\AA\D8\B4\D8\B1\D9\8A\D9\86 \D8\A7\D9\84\D8\A3\D9\88\D9\84\00\D8\AA\D8\B4\D8\B1\D9\8A\D9\86 \D8\A7\D9\84\D8\AB\D8\A7\D9\86\D9\8A\00\D9\83\D8\A7\D9\86\D9\88\D9\86 \D8\A7\D9\84\D8\A3\D9\88\D9\84\00\C7\E4\C5\CB\E6\EA\E6\00\C7\E4\CC\E5\D9\E0\C9\00\E6\EA\D3\E0\C7\E6\00\C3\EA\C7\D1\00\CA\E0\E5\E0\E8\D2\00%A %.1d %B %Y %.1H:%M:%S\00%A %.1d %B %Y\00%.1H:%M:%S\00\D8\A7\D9\84\D8\A5\D8\AB\D9\86\D9\8A\D9\86\00\D8\A7\D9\84\D8\AC\D9\85\D8\B9\D9\80\D8\A9\00\D9\86\D9\8A\D8\B3\D9\80\D8\A7\D9\86\00\D8\A3\D9\8A\D8\A7\D8\B1\00\D8\AA\D9\80\D9\85\D9\80\D9\88\D8\B2\00\E6\E8\C7\D1\C7\E6\00\CD\D2\EA\D1\00\D9\86\D9\88\D8\A7\D8\B1\D8\A7\D9\86\00\D8\AD\D8\B2\D9\8A\D8\B1\00baz\00bir\00iki\00\FC\E7\FC\00d\F6r\00be\FE\00alt\00bazar g\FCn\FC\00birinci g\FCn\00ikinci g\FCn\00\FC\E7\FCnc\FC g\FCn\00d\F6rd\FCnc\FC g\FCn\00be\FEinci g\FCn\00alt\FDnc\FD g\FCn\00Yan\00Fev\00\DDyn\00\DDyl\00Avq\00Sen\00Noy\00Dek\00yanvar\00fevral\00mart\00aprel\00may\00iyun\00iyul\00avqust\00sentyabr\00oktyabr\00noyabr\00dekabr\00%A, %d %B %Y %T\00%d.%m.%Y\00\C3\BC\C3\A7\C3\BC\00d\C3\B6r\00be\C5\9F\00bazar g\C3\BCn\C3\BC\00birinci g\C3\BCn\00ikinci g\C3\BCn\00\C3\BC\C3\A7\C3\BCnc\C3\BC g\C3\BCn\00d\C3\B6rd\C3\BCnc\C3\BC g\C3\BCn\00be\C5\9Finci g\C3\BCn\00alt\C4\B1nc\C4\B1 g\C3\BCn\00\C4\B0yn\00\C4\B0yl\00\CD\FF\E4\00\CF\E0\ED\00\C0\A2\F2\00\D1\F0\E4\00\D7\F6\E2\00\CF\FF\F2\00\D1\F3\E1\00\CD\FF\E4\E7\E5\EB\FF\00\CF\E0\ED\FF\E4\E7\E5\EB\E0\EA\00\C0\A2\F2\EE\F0\E0\EA\00\D1\E5\F0\E0\E4\E0\00\D7\E0\F6\E2\E5\F0\00\CF\FF\F2\ED\B3\F6\E0\00\D1\F3\E1\EE\F2\E0\00\D1\F2\E4\00\CB\FE\F2\00\D1\E0\EA\00\CA\F0\F1\00\D2\F0\E0\00\D7\FD\F0\00\CB\B3\EF\00\C6\ED\E2\00\C2\F0\F1\00\CA\F1\F2\00\CB\B3\F1\00\D1\ED\E6\00\D1\F2\F3\E4\E7\E5\ED\FC\00\CB\FE\F2\FB\00\D1\E0\EA\E0\E2\B3\EA\00\CA\F0\E0\F1\E0\E2\B3\EA\00\D2\F0\E0\E2\E5\ED\FC\00\D7\FD\F0\E2\E5\ED\FC\00\CB\B3\EF\E5\ED\FC\00\C6\ED\B3\E2\E5\ED\FC\00\C2\E5\F0\E0\F1\E5\ED\FC\00\CA\E0\F1\F2\F0\FB\F7\ED\B3\EA\00\CB\B3\F1\F2\E0\EF\E0\E4\00\D1\ED\E5\E6\E0\ED\FC\00%a %d %b %Y %T\00\D0\9D\D1\8F\D0\B4\00\D0\9F\D0\B0\D0\BD\00\D0\90\D1\9E\D1\82\00\D0\A1\D1\80\D0\B4\00\D0\A7\D1\86\D0\B2\00\D0\9F\D1\8F\D1\82\00\D0\A1\D1\83\D0\B1\00\D0\9D\D1\8F\D0\B4\D0\B7\D0\B5\D0\BB\D1\8F\00\D0\9F\D0\B0\D0\BD\D1\8F\D0\B4\D0\B7\D0\B5\D0\BB\D0\B0\D0\BA\00\D0\90\D1\9E\D1\82\D0\BE\D1\80\D0\B0\D0\BA\00\D0\A1\D0\B5\D1\80\D0\B0\D0\B4\D0\B0\00\D0\A7\D0\B0\D1\86\D0\B2\D0\B5\D1\80\00\D0\9F\D1\8F\D1\82\D0\BD\D1\96\D1\86\D0\B0\00\D0\A1\D1\83\D0\B1\D0\BE\D1\82\D0\B0\00\D0\A1\D1\82\D0\B4\00\D0\9B\D1\8E\D1\82\00\D0\A1\D0\B0\D0\BA\00\D0\9A\D1\80\D1\81\00\D0\A2\D1\80\D0\B0\00\D0\A7\D1\8D\D1\80\00\D0\9B\D1\96\D0\BF\00\D0\96\D0\BD\D0\B2\00\D0\92\D1\80\D1\81\00\D0\9A\D1\81\D1\82\00\D0\9B\D1\96\D1\81\00\D0\A1\D0\BD\D0\B6\00\D0\A1\D1\82\D1\83\D0\B4\D0\B7\D0\B5\D0\BD\D1\8C\00\D0\9B\D1\8E\D1\82\D1\8B\00\D0\A1\D0\B0\D0\BA\D0\B0\D0\B2\D1\96\D0\BA\00\D0\9A\D1\80\D0\B0\D1\81\D0\B0\D0\B2\D1\96\D0\BA\00\D0\A2\D1\80\D0\B0\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\A7\D1\8D\D1\80\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\9B\D1\96\D0\BF\D0\B5\D0\BD\D1\8C\00\D0\96\D0\BD\D1\96\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\92\D0\B5\D1\80\D0\B0\D1\81\D0\B5\D0\BD\D1\8C\00\D0\9A\D0\B0\D1\81\D1\82\D1\80\D1\8B\D1\87\D0\BD\D1\96\D0\BA\00\D0\9B\D1\96\D1\81\D1\82\D0\B0\D0\BF\D0\B0\D0\B4\00\D0\A1\D0\BD\D0\B5\D0\B6\D0\B0\D0\BD\D1\8C\00\ED\E4\00\EF\ED\00\E2\F2\00\F1\F0\00\F7\F2\00\EF\F2\00\F1\E1\00\ED\E5\E4\E5\EB\FF\00\EF\EE\ED\E5\E4\E5\EB\ED\E8\EA\00\E2\F2\EE\F0\ED\E8\EA\00\F1\F0\FF\E4\E0\00\F7\E5\F2\E2\FA\F0\F2\FA\EA\00\EF\E5\F2\FA\EA\00\F1\FA\E1\EE\F2\E0\00\FF\ED\F3\00\F4\E5\E2\00\EC\E0\F0\00\E0\EF\F0\00\EC\E0\E9\00\FE\ED\E8\00\FE\EB\E8\00\E0\E2\E3\00\F1\E5\EF\00\EE\EA\F2\00\ED\EE\E5\00\E4\E5\EA\00\FF\ED\F3\E0\F0\E8\00\F4\E5\E2\F0\F3\E0\F0\E8\00\EC\E0\F0\F2\00\E0\EF\F0\E8\EB\00\E0\E2\E3\F3\F1\F2\00\F1\E5\EF\F2\E5\EC\E2\F0\E8\00\EE\EA\F2\EE\EC\E2\F0\E8\00\ED\EE\E5\EC\E2\F0\E8\00\E4\E5\EA\E5\EC\E2\F0\E8\00%x (%a) %X %Z\00%e.%m.%Y\00%k,%M,%S\00%l,%M,%S\00\D0\BD\D0\B4\00\D0\BF\D0\BD\00\D0\B2\D1\82\00\D1\81\D1\80\00\D1\87\D1\82\00\D0\BF\D1\82\00\D1\81\D0\B1\00\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D1\8F\00\D0\BF\D0\BE\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D0\BD\D0\B8\D0\BA\00\D0\B2\D1\82\D0\BE\D1\80\D0\BD\D0\B8\D0\BA\00\D1\81\D1\80\D1\8F\D0\B4\D0\B0\00\D1\87\D0\B5\D1\82\D0\B2\D1\8A\D1\80\D1\82\D1\8A\D0\BA\00\D0\BF\D0\B5\D1\82\D1\8A\D0\BA\00\D1\81\D1\8A\D0\B1\D0\BE\D1\82\D0\B0\00\D1\8F\D0\BD\D1\83\00\D1\84\D0\B5\D0\B2\00\D0\BC\D0\B0\D1\80\00\D0\B0\D0\BF\D1\80\00\D0\BC\D0\B0\D0\B9\00\D1\8E\D0\BD\D0\B8\00\D1\8E\D0\BB\D0\B8\00\D0\B0\D0\B2\D0\B3\00\D1\81\D0\B5\D0\BF\00\D0\BE\D0\BA\D1\82\00\D0\BD\D0\BE\D0\B5\00\D0\B4\D0\B5\D0\BA\00\D1\8F\D0\BD\D1\83\D0\B0\D1\80\D0\B8\00\D1\84\D0\B5\D0\B2\D1\80\D1\83\D0\B0\D1\80\D0\B8\00\D0\BC\D0\B0\D1\80\D1\82\00\D0\B0\D0\BF\D1\80\D0\B8\D0\BB\00\D0\B0\D0\B2\D0\B3\D1\83\D1\81\D1\82\00\D1\81\D0\B5\D0\BF\D1\82\D0\B5\D0\BC\D0\B2\D1\80\D0\B8\00\D0\BE\D0\BA\D1\82\D0\BE\D0\BC\D0\B2\D1\80\D0\B8\00\D0\BD\D0\BE\D0\B5\D0\BC\D0\B2\D1\80\D0\B8\00\D0\B4\D0\B5\D0\BA\D0\B5\D0\BC\D0\B2\D1\80\D0\B8\00\E0\A6\B0\E0\A6\AC\E0\A6\BF\00\E0\A6\B8\E0\A7\8B\E0\A6\AE\00\E0\A6\AE\E0\A6\99\E0\A6\97\E0\A6\B2\00\E0\A6\AC\E0\A7\81\E0\A6\A7\00\E0\A6\AC\E0\A7\83\E0\A6\B9\E0\A6\B8\E0\A7\8D\E0\A6\AA\E0\A6\A4\E0\A6\BF\00\E0\A6\B6\E0\A7\81\E0\A6\95\E0\A7\8D\E0\A6\B0\00\E0\A6\B6\E0\A6\A8\E0\A6\BF\00\E0\A6\B0\E0\A6\AC\E0\A6\BF\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B8\E0\A7\8B\E0\A6\AE\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\AE\E0\A6\99\E0\A6\97\E0\A6\B2\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\AC\E0\A7\81\E0\A6\A7\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\AC\E0\A7\83\E0\A6\B9\E0\A6\B8\E0\A7\8D\E0\A6\AA\E0\A6\A4\E0\A6\BF\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B6\E0\A7\81\E0\A6\95\E0\A7\8D\E0\A6\B0\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B6\E0\A6\A8\E0\A6\BF\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\9C\E0\A6\BE\E0\A6\A8\00\E0\A6\AB\E0\A7\87\E0\A6\AC\00\E0\A6\AE\E0\A6\BE\E0\A6\B0\00\E0\A6\8F\E0\A6\AA\E0\A7\8D\E0\A6\B0\00\E0\A6\AE\E0\A7\87\00\E0\A6\9C\E0\A7\81\E0\A6\A8\00\E0\A6\9C\E0\A7\81\E0\A6\B2\00\E0\A6\86\E0\A6\97\00\E0\A6\B8\E0\A7\87\E0\A6\AA\00\E0\A6\85\E0\A6\95\E0\A7\8D\E0\A6\9F\E0\A7\8B\E0\A6\AC\E0\A6\B0\00\E0\A6\A8\E0\A6\AD\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\B0\00\E0\A6\A1\E0\A6\BF\E0\A6\B8\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\B0\00\E0\A6\9C\E0\A6\BE\E0\A6\A8\E0\A7\81\E0\A7\9F\E0\A6\BE\E0\A6\B0\E0\A7\80\00\E0\A6\AB\E0\A7\87\E0\A6\AC\E0\A7\8D\E0\A6\B0\E0\A7\81\E0\A7\9F\E0\A6\BE\E0\A6\B0\E0\A7\80\00\E0\A6\AE\E0\A6\BE\E0\A6\B0\E0\A7\8D\E0\A6\9A\00\E0\A6\8F\E0\A6\AA\E0\A7\8D\E0\A6\B0\E0\A6\BF\E0\A6\B2\00\E0\A6\9C\E0\A7\81\E0\A6\B2\E0\A6\BE\E0\A6\87\00\E0\A6\86\E0\A6\97\E0\A6\B8\E0\A7\8D\E0\A6\9F\00\E0\A6\B8\E0\A7\87\E0\A6\AA\E0\A7\8D\E0\A6\9F\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\85\E0\A6\95\E0\A7\8D\E0\A6\9F\E0\A7\8B\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\A8\E0\A6\AD\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\A1\E0\A6\BF\E0\A6\B8\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B8\E0\A6\95\E0\A6\BE\E0\A6\B2\00\E0\A6\AC\E0\A6\BF\E0\A6\95\E0\A6\BE\E0\A6\B2\00%A %d %b %Y %I:%M:%S %p %Z\00%A %d %b %Y\00\E0\A6\B8\E0\A7\87\E0\A6\AA\E0\A7\8D\E0\A6\9F\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\B0\00\E0\A6\AA\E0\A7\82\E0\A6\B0\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B9\E0\A7\8D\E0\A6\A3\00\E0\A6\85\E0\A6\AA\E0\A6\B0\E0\A6\BE\E0\A6\B9\E0\A7\8D\E0\A6\A3\00sul\00lun\00meu\00mer\00yao\00gwe\00sad\00meurzh\00merc'her\00yaou\00gwener\00sadorn\00Gen \00C'hw\00Meu \00Ebr \00Mae \00Eve \00Gou \00Eos \00Gwe \00Her \00Du \00Ker \00Genver\00C'hwevrer\00Meurzh\00Ebrel\00Mae\00Mezheven\00Gouere\00Eost\00Gwengolo\00Here\00Du\00Kerzu\00 \00D'ar %A %d a viz %B %Y\00%Ie%M:%S %p\00Ned\00Pon\00Uto\00Sri\00\C8et\00Pet\00Sub\00Nedjelja\00Ponedjeljak\00Utorak\00Srijeda\00\C8etvrtak\00Petak\00Subota\00Maj\00Januar\00Februar\00Mart\00Juni\00Juli\00Septembar\00Oktobar\00Novembar\00Decembar\00\C4\8Cet\00\C4\8Cetvrtak\00dg\00dl\00dt\00dc\00dj\00dv\00ds\00diumenge\00dilluns\00dimarts\00dimecres\00dijous\00divendres\00dissabte\00gen\00feb\00mar\00abr\00mai\00jun\00jul\00ago\00set\00oct\00nov\00des\00gener\00febrer\00mar\E7\00abril\00maig\00juny\00juliol\00agost\00setembre\00octubre\00novembre\00desembre\00mar\C3\A7\00Ne\00Po\00\DAt\00St\00\C8t\00P\E1\00Ned\ECle\00Pond\ECl\ED\00\DAter\FD\00St\F8eda\00\C8tvrtek\00P\E1tek\00Sobota\00led\00\FAno\00b\F8e\00dub\00kv\EC\00\E8en\00\E8ec\00srp\00z\E1\F8\00\F8\EDj\00lis\00pro\00leden\00\FAnor\00b\F8ezen\00duben\00kv\ECten\00\E8erven\00\E8ervenec\00srpen\00z\E1\F8\ED\00\F8\EDjen\00listopad\00prosinec\00%a\A0%e.\A0%B\A0%Y,\A0%H:%M:%S\A0%Z\00%I:%M:%S\00\C3\9At\00\C4\8Ct\00P\C3\A1\00Ned\C4\9Ble\00Pond\C4\9Bl\C3\AD\00\C3\9Ater\C3\BD\00St\C5\99eda\00\C4\8Ctvrtek\00P\C3\A1tek\00\C3\BAno\00b\C5\99e\00kv\C4\9B\00\C4\8Den\00\C4\8Dec\00z\C3\A1\C5\99\00\C5\99\C3\ADj\00\C3\BAnor\00b\C5\99ezen\00kv\C4\9Bten\00\C4\8Derven\00\C4\8Dervenec\00z\C3\A1\C5\99\C3\AD\00\C5\99\C3\ADjen\00%a\C2\A0%e.\C2\A0%B\C2\A0%Y,\C2\A0%H:%M:%S\C2\A0%Z\00Sul\00Llu\00Maw\00Mer\00Iau\00Gwe\00Sad\00Llun\00Mawrth\00Mercher\00Gwener\00Sadwrn\00Ion\00Chw\00Ebr\00Mai\00Meh\00Gor\00Aws\00Med\00Hyd\00Tach\00Rha\00Ionawr\00Chwefror\00Ebrill\00Mehefin\00Gorffennaf\00Awst\00Medi\00Hydref\00Tachwedd\00Rhagfyr\00Dydd %A %d a viz %B %Y %T %Z\00%d.%m.%y\00s\F8n\00man\00tir\00ons\00tor\00fre\00l\F8r\00s\F8ndag\00mandag\00tirsdag\00onsdag\00torsdag\00fredag\00l\F8rdag\00jan\00apr\00maj\00aug\00sep\00okt\00dec\00januar\00februar\00marts\00april\00juni\00juli\00august\00september\00oktober\00november\00december\00%d-%m-%Y\00s\C3\B8n\00l\C3\B8r\00s\C3\B8ndag\00l\C3\B8rdag\00Son\00Die\00Mit\00Don\00Fre\00Sam\00Sonntag\00Montag\00Dienstag\00Mittwoch\00Donnerstag\00Freitag\00Samstag\00J\E4n\00M\E4r\00Dez\00J\E4nner\00Feber\00M\E4rz\00Dezember\00%Y-%m-%d\00J\C3\A4n\00M\C3\A4r\00J\C3\A4nner\00M\C3\A4rz\00\CA\F5\F1\00\C4\E5\F5\00\D4\F1\E9\00\D4\E5\F4\00\D0\E5\EC\00\D0\E1\F1\00\D3\E1\E2\00\CA\F5\F1\E9\E1\EA\DE\00\C4\E5\F5\F4\DD\F1\E1\00\D4\F1\DF\F4\E7\00\D4\E5\F4\DC\F1\F4\E7\00\D0\DD\EC\F0\F4\E7\00\D0\E1\F1\E1\F3\EA\E5\F5\DE\00\D3\DC\E2\E2\E1\F4\EF\00\C9\E1\ED\00\D6\E5\E2\00\CC\DC\F1\00\C1\F0\F1\00\CC\DC\E9\00\C9\EF\FD\ED\00\C9\EF\FD\EB\00\C1\FD\E3\00\D3\E5\F0\00\CF\EA\F4\00\CD\EF\DD\00\C4\E5\EA\00\C9\E1\ED\EF\F5\DC\F1\E9\EF\F2\00\D6\E5\E2\F1\EF\F5\DC\F1\E9\EF\F2\00\CC\DC\F1\F4\E9\EF\F2\00\C1\F0\F1\DF\EB\E9\EF\F2\00\CC\DC\E9\EF\F2\00\C9\EF\FD\ED\E9\EF\F2\00\C9\EF\FD\EB\E9\EF\F2\00\C1\FD\E3\EF\F5\F3\F4\EF\F2\00\D3\E5\F0\F4\DD\EC\E2\F1\E9\EF\F2\00\CF\EA\F4\FE\E2\F1\E9\EF\F2\00\CD\EF\DD\EC\E2\F1\E9\EF\F2\00\C4\E5\EA\DD\EC\E2\F1\E9\EF\F2\00\CE\9A\CF\85\CF\81\00\CE\94\CE\B5\CF\85\00\CE\A4\CF\81\CE\B9\00\CE\A4\CE\B5\CF\84\00\CE\A0\CE\B5\CE\BC\00\CE\A0\CE\B1\CF\81\00\CE\A3\CE\B1\CE\B2\00\CE\9A\CF\85\CF\81\CE\B9\CE\B1\CE\BA\CE\AE\00\CE\94\CE\B5\CF\85\CF\84\CE\AD\CF\81\CE\B1\00\CE\A4\CF\81\CE\AF\CF\84\CE\B7\00\CE\A4\CE\B5\CF\84\CE\AC\CF\81\CF\84\CE\B7\00\CE\A0\CE\AD\CE\BC\CF\80\CF\84\CE\B7\00\CE\A0\CE\B1\CF\81\CE\B1\CF\83\CE\BA\CE\B5\CF\85\CE\AE\00\CE\A3\CE\AC\CE\B2\CE\B2\CE\B1\CF\84\CE\BF\00\CE\99\CE\B1\CE\BD\00\CE\A6\CE\B5\CE\B2\00\CE\9C\CE\AC\CF\81\00\CE\91\CF\80\CF\81\00\CE\9C\CE\AC\CE\B9\00\CE\99\CE\BF\CF\8D\CE\BD\00\CE\99\CE\BF\CF\8D\CE\BB\00\CE\91\CF\8D\CE\B3\00\CE\A3\CE\B5\CF\80\00\CE\9F\CE\BA\CF\84\00\CE\9D\CE\BF\CE\AD\00\CE\94\CE\B5\CE\BA\00\CE\99\CE\B1\CE\BD\CE\BF\CF\85\CE\AC\CF\81\CE\B9\CE\BF\CF\82\00\CE\A6\CE\B5\CE\B2\CF\81\CE\BF\CF\85\CE\AC\CF\81\CE\B9\CE\BF\CF\82\00\CE\9C\CE\AC\CF\81\CF\84\CE\B9\CE\BF\CF\82\00\CE\91\CF\80\CF\81\CE\AF\CE\BB\CE\B9\CE\BF\CF\82\00\CE\9C\CE\AC\CE\B9\CE\BF\CF\82\00\CE\99\CE\BF\CF\8D\CE\BD\CE\B9\CE\BF\CF\82\00\CE\99\CE\BF\CF\8D\CE\BB\CE\B9\CE\BF\CF\82\00\CE\91\CF\8D\CE\B3\CE\BF\CF\85\CF\83\CF\84\CE\BF\CF\82\00\CE\A3\CE\B5\CF\80\CF\84\CE\AD\CE\BC\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00\CE\9F\CE\BA\CF\84\CF\8E\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00\CE\9D\CE\BF\CE\AD\CE\BC\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00\CE\94\CE\B5\CE\BA\CE\AD\CE\BC\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00%a %d %b %Y %r %Z\00%Y-%m-%dT%T %Z\00%A, %B %d, %Y %p%I:%M:%S %Z\00%A, %B %d, %Y\00%I:%M:%S %Z\00%p%I:%M:%S %Z\00%A, %d %B, %Y %I:%M:%S %p %Z\00%A, %d %B, %Y\00%A %d,%B,%Y %I:%M:%S %p %Z\00%A %d,%B,%Y\00%m/%d/%Y\00dim\00\C4\B5a\C5\AD\00ven\00sab\00diman\C4\89o\00lundo\00mardo\00merkredo\00\C4\B5a\C5\ADdo\00vendredo\00sabato\00A\C5\ADg\00Januaro\00Februaro\00Marto\00Aprilo\00Majo\00Junio\00Julio\00A\C5\ADgusto\00Septembro\00Oktobro\00Novembro\00Decembro\00%a %d %b %Y %T %z\00dom\00mi\E9\00jue\00vie\00s\E1b\00domingo\00lunes\00martes\00mi\E9rcoles\00jueves\00viernes\00s\E1bado\00ene\00dic\00enero\00febrero\00marzo\00mayo\00junio\00julio\00agosto\00septiembre\00noviembre\00diciembre\00mi\C3\A9\00s\C3\A1b\00mi\C3\A9rcoles\00s\C3\A1bado\00P\00E\00T\00K\00N\00R\00L\00p\FChap\E4ev\00esmasp\E4ev\00teisip\E4ev\00kolmap\E4ev\00neljap\E4ev\00reede\00laup\E4ev\00jaan \00veebr\00m\E4rts\00apr \00mai \00juuni\00juuli\00aug \00sept \00okt \00nov \00dets \00jaanuar\00veebruar\00aprill\00oktoober\00detsember\00p\C3\BChap\C3\A4ev\00esmasp\C3\A4ev\00teisip\C3\A4ev\00kolmap\C3\A4ev\00neljap\C3\A4ev\00laup\C3\A4ev\00m\C3\A4rts\00ig.\00al.\00ar.\00az.\00og.\00or.\00lr.\00igandea\00astelehena\00asteartea\00asteazkena\00osteguna\00ostirala\00larunbata\00urt\00ots\00api\00eka\00uzt\00abu\00ira\00urr\00aza\00abe\00urtarrila\00otsaila\00martxoa\00apirila\00maiatza\00ekaina\00uztaila\00abuztua\00iraila\00urria\00azaroa\00abendua\00%y-%m-%d %T %Z\00%a, %Y.eko %bren %da\00\DB\8C.\00\D8\AF.\00\D8\B3.\00\DA\86.\00\D9\BE.\00\D8\AC.\00\D8\B4.\00\DB\8C\DA\A9\E2\80\8C\D8\B4\D9\86\D8\A8\D9\87\00\D8\AF\D9\88\D8\B4\D9\86\D8\A8\D9\87\00\D8\B3\D9\87\E2\80\8C\D8\B4\D9\86\D8\A8\D9\87\00\DA\86\D9\87\D8\A7\D8\B1\D8\B4\D9\86\D8\A8\D9\87\00\D9\BE\D9\86\D8\AC\E2\80\8C\D8\B4\D9\86\D8\A8\D9\87\00\D8\AC\D9\85\D8\B9\D9\87\00\D8\B4\D9\86\D8\A8\D9\87\00\DA\98\D8\A7\D9\86\00\D9\81\D9\88\D8\B1\00\D8\A2\D9\88\D8\B1\00\D9\85\D9\80\D9\87\00\DA\98\D9\88\D9\86\00\DA\98\D9\88\DB\8C\00\D8\A7\D9\88\D8\AA\00\D8\B3\D9\BE\D8\AA\00\D8\A7\D9\83\D8\AA\00\D9\86\D9\88\D8\A7\00\D8\AF\D8\B3\D8\A7\00\DA\98\D8\A7\D9\86\D9\88\DB\8C\D9\87\00\D9\81\D9\88\D8\B1\DB\8C\D9\87\00\D8\A2\D9\88\D8\B1\DB\8C\D9\84\00\D9\85\D9\87\00\DA\98\D9\88\D8\A6\D9\86\00\DA\98\D9\88\D8\A6\DB\8C\D9\87\00\D8\B3\D9\BE\D8\AA\D8\A7\D9\85\D8\A8\D8\B1\00\D8\A7\D9\83\D8\AA\D8\A8\D8\B1\00\D9\86\D9\88\D8\A7\D9\85\D8\A8\D8\B1\00\D8\AF\D8\B3\D8\A7\D9\85\D8\A8\D8\B1\00\D8\B5\D8\A8\D8\AD\00\D8\B9\D8\B5\D8\B1\00\E2\80\AB%A %e %B %Y\D8\8C %I:%M:%S %p\E2\80\AC\00%Y/%m/%d\00\E2\80\AB%I:%M:%S %p\E2\80\AC\00su\00ma\00ti\00ke\00to\00pe\00la\00sunnuntai\00maanantai\00tiistai\00keskiviikko\00torstai\00perjantai\00lauantai\00tammi\A0\00helmi\A0\00maalis\00huhti\A0\00touko\A0\00kes\E4\A0\A0\00hein\E4\A0\00elo\A0\A0\A0\00syys\A0\A0\00loka\A0\A0\00marras\00joulu\A0\00tammikuu\00helmikuu\00maaliskuu\00huhtikuu\00toukokuu\00kes\E4kuu\00hein\E4kuu\00elokuu\00syyskuu\00lokakuu\00marraskuu\00joulukuu\00%a %e %B %Y %T\00tammi\C2\A0\00helmi\C2\A0\00huhti\C2\A0\00touko\C2\A0\00kes\C3\A4\C2\A0\C2\A0\00hein\C3\A4\C2\A0\00elo\C2\A0\C2\A0\C2\A0\00syys\C2\A0\C2\A0\00loka\C2\A0\C2\A0\00joulu\C2\A0\00kes\C3\A4kuu\00hein\C3\A4kuu\00sun\00m\E1n\00t\FDs\00mik\00h\F3s\00fr\ED\00ley\00sunnudagur\00m\E1nadagur\00t\FDsdagur\00mikudagur\00h\F3sdagur\00fr\EDggjadagur\00leygardagur\00mars\00apr\EDl\00desember\00%d/%m-%Y\00m\C3\A1n\00t\C3\BDs\00h\C3\B3s\00fr\C3\AD\00m\C3\A1nadagur\00t\C3\BDsdagur\00h\C3\B3sdagur\00fr\C3\ADggjadagur\00apr\C3\ADl\00jeu\00sam\00dimanche\00lundi\00mardi\00mercredi\00jeudi\00vendredi\00samedi\00f\E9v\00avr\00jui\00ao\FB\00d\E9c\00janvier\00f\E9vrier\00avril\00juin\00juillet\00ao\FBt\00septembre\00octobre\00d\E9cembre\00f\C3\A9v\00ao\C3\BB\00d\C3\A9c\00f\C3\A9vrier\00ao\C3\BBt\00d\C3\A9cembre\00%d. %m. %y\00Domh\00Luan\00M\E1irt\00C\E9ad\00D\E9ar\00Aoine\00Sath\00D\E9 Domhnaigh\00D\E9 Luain\00D\E9 M\E1irt\00D\E9 C\E9adaoin\00D\E9ardaoin\00D\E9 hAoine\00D\E9 Sathairn\00Ean\00Feabh\00M\E1rta\00Aib\00Beal\00Meith\00I\FAil\00L\FAn\00MF\F3mh\00DF\F3mh\00Samh\00Noll\00Ean\E1ir\00Feabhra\00Aibre\E1n\00M\ED na Bealtaine\00L\FAnasa\00Me\E1n F\F3mhair\00Deireadh F\F3mhair\00M\ED na Samhna\00M\ED na Nollag\00M\C3\A1irt\00C\C3\A9ad\00D\C3\A9ar\00D\C3\A9 Domhnaigh\00D\C3\A9 Luain\00D\C3\A9 M\C3\A1irt\00D\C3\A9 C\C3\A9adaoin\00D\C3\A9ardaoin\00D\C3\A9 hAoine\00D\C3\A9 Sathairn\00M\C3\A1rta\00I\C3\BAil\00L\C3\BAn\00MF\C3\B3mh\00DF\C3\B3mh\00Ean\C3\A1ir\00Aibre\C3\A1n\00M\C3\AD na Bealtaine\00L\C3\BAnasa\00Me\C3\A1n F\C3\B3mhair\00Deireadh F\C3\B3mhair\00M\C3\AD na Samhna\00M\C3\AD na Nollag\00Dido\00Dilu\00Dim\00Dic\00Diar\00Diha\00Disa\00Did\F2mhnaich\00Diluain\00Dim\E0irt\00Diciadain\00Diardaoin\00Dihaoine\00Disathairne\00Fao\00Gea\00M\E0r\00Gib\00Mh\E0\00OgM\00luc\00L\F9n\00Dam\00D\F9b\00Am Faoilteach\00An Gearran\00Am M\E0rt\00An Giblean\00A' Mh\E0igh\00An t-Mh\ECos\00An t-luchar\00An L\F9nasdal\00An t-Sultain\00An Damhair\00An t-Samhain\00An D\F9bhlachd\00Did\C3\B2mhnaich\00Dim\C3\A0irt\00M\C3\A0r\00Mh\C3\A0\00L\C3\B9n\00D\C3\B9b\00Am M\C3\A0rt\00A' Mh\C3\A0igh\00An t-Mh\C3\ACos\00An L\C3\B9nasdal\00An D\C3\B9bhlachd\00Dom\00Lun\00M\E9r\00Xov\00Ven\00S\E1b\00Domingo\00Luns\00Martes\00M\E9rcores\00Xoves\00Venres\00S\E1bado\00Xan\00Abr\00Xu\F1\00Xul\00Ago\00Set\00Out\00Xaneiro\00Febreiro\00Marzo\00Abril\00Maio\00Xu\F1o\00Xullo\00Agosto\00Setembro\00Outubro\00M\C3\A9r\00S\C3\A1b\00M\C3\A9rcores\00S\C3\A1bado\00Xu\C3\B1\00Xu\C3\B1o\00Jed\00Jel\00Jem\00Jerc\00Jerd\00Jeh\00Jes\00Jedoonee\00Jelhein\00Jemayrt\00Jercean\00Jerdein\00Jeheiney\00Jesarn\00J-guer\00T-arree\00Mayrnt\00Avrril\00Boaldyn\00M-souree\00J-souree\00Luanistyn\00M-fouyir\00J-fouyir\00M.Houney\00M.Nollick\00Jerrey-geuree\00Toshiaght-arree\00Averil\00Mean-souree\00Jerrey-souree\00Mean-fouyir\00Jerrey-fouyir\00Mee Houney\00Mee ny Nollick\00\E0'\00\E1'\00\E2'\00\E3'\00\E4'\00\E5'\00\F9'\00\F8\E0\F9\E5\EF\00\F9\F0\E9\00\F9\EC\E9\F9\E9\00\F8\E1\E9\F2\E9\00\E7\EE\E9\F9\E9\00\F9\E9\F9\E9\00\F9\E1\FA\00\E9\F0\E5\00\F4\E1\F8\00\EE\F8\F5\00\E0\F4\F8\00\EE\E0\E9\00\E9\E5\F0\00\E9\E5\EC\00\E0\E5\E2\00\F1\F4\E8\00\E0\E5\F7\00\F0\E5\E1\00\E3\F6\EE\00\E9\F0\E5\E0\F8\00\F4\E1\F8\E5\E0\F8\00\E0\F4\F8\E9\EC\00\E9\E5\F0\E9\00\E9\E5\EC\E9\00\E0\E5\E2\E5\F1\E8\00\F1\F4\E8\EE\E1\F8\00\E0\E5\F7\E8\E5\E1\F8\00\F0\E5\E1\EE\E1\F8\00\E3\F6\EE\E1\F8\00%Z %H:%M:%S %Y %b %d %a\00%I:%M:%S %P\00\D7\90'\00\D7\91'\00\D7\92'\00\D7\93'\00\D7\94'\00\D7\95'\00\D7\A9'\00\D7\A8\D7\90\D7\A9\D7\95\D7\9F\00\D7\A9\D7\A0\D7\99\00\D7\A9\D7\9C\D7\99\D7\A9\D7\99\00\D7\A8\D7\91\D7\99\D7\A2\D7\99\00\D7\97\D7\9E\D7\99\D7\A9\D7\99\00\D7\A9\D7\99\D7\A9\D7\99\00\D7\A9\D7\91\D7\AA\00\D7\99\D7\A0\D7\95\00\D7\A4\D7\91\D7\A8\00\D7\9E\D7\A8\D7\A5\00\D7\90\D7\A4\D7\A8\00\D7\9E\D7\90\D7\99\00\D7\99\D7\95\D7\A0\00\D7\99\D7\95\D7\9C\00\D7\90\D7\95\D7\92\00\D7\A1\D7\A4\D7\98\00\D7\90\D7\95\D7\A7\00\D7\A0\D7\95\D7\91\00\D7\93\D7\A6\D7\9E\00\D7\99\D7\A0\D7\95\D7\90\D7\A8\00\D7\A4\D7\91\D7\A8\D7\95\D7\90\D7\A8\00\D7\90\D7\A4\D7\A8\D7\99\D7\9C\00\D7\99\D7\95\D7\A0\D7\99\00\D7\99\D7\95\D7\9C\D7\99\00\D7\90\D7\95\D7\92\D7\95\D7\A1\D7\98\00\D7\A1\D7\A4\D7\98\D7\9E\D7\91\D7\A8\00\D7\90\D7\95\D7\A7\D7\98\D7\95\D7\91\D7\A8\00\D7\A0\D7\95\D7\91\D7\9E\D7\91\D7\A8\00\D7\93\D7\A6\D7\9E\D7\91\D7\A8\00\E0\A4\B0\E0\A4\B5\E0\A4\BF \00\E0\A4\B8\E0\A5\8B\E0\A4\AE \00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B2 \00\E0\A4\AC\E0\A5\81\E0\A4\A7 \00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81 \00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0 \00\E0\A4\B6\E0\A4\A8\E0\A4\BF \00\E0\A4\B0\E0\A4\B5\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\B8\E0\A5\8B\E0\A4\AE\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B2\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\AC\E0\A5\81\E0\A4\A7\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\B6\E0\A4\A8\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\9C\E0\A4\A8\E0\A4\B5\E0\A4\B0\E0\A5\80\00\E0\A4\AB\E0\A4\BC\E0\A4\B0\E0\A4\B5\E0\A4\B0\E0\A5\80\00\E0\A4\AE\E0\A4\BE\E0\A4\B0\E0\A5\8D\E0\A4\9A\00\E0\A4\85\E0\A4\AA\E0\A5\8D\E0\A4\B0\E0\A5\87\E0\A4\B2\00\E0\A4\AE\E0\A4\88\00\E0\A4\9C\E0\A5\82\E0\A4\A8\00\E0\A4\9C\E0\A5\81\E0\A4\B2\E0\A4\BE\E0\A4\88\00\E0\A4\85\E0\A4\97\E0\A4\B8\E0\A5\8D\E0\A4\A4\00\E0\A4\B8\E0\A4\BF\E0\A4\A4\E0\A4\AE\E0\A5\8D\E0\A4\AC\E0\A4\B0\00\E0\A4\85\E0\A4\95\E0\A5\8D\E0\A4\9F\E0\A5\82\E0\A4\AC\E0\A4\B0\00\E0\A4\A8\E0\A4\B5\E0\A4\AE\E0\A5\8D\E0\A4\AC\E0\A4\B0\00\E0\A4\A6\E0\A4\BF\E0\A4\B8\E0\A4\AE\E0\A5\8D\E0\A4\AC\E0\A4\B0\00\E0\A4\AA\E0\A5\82\E0\A4\B0\E0\A5\8D\E0\A4\B5\E0\A4\BE\E0\A4\B9\E0\A5\8D\E0\A4\A8\00\E0\A4\85\E0\A4\AA\E0\A4\B0\E0\A4\BE\E0\A4\B9\E0\A5\8D\E0\A4\A8\00Sij\00Vel\00O\BEu\00Tra\00Svi\00Lip\00Srp\00Kol\00Ruj\00Lis\00Stu\00Pro\00Sije\E8anj\00Velja\E8a\00O\BEujak\00Travanj\00Svibanj\00Lipanj\00Srpanj\00Kolovoz\00Rujan\00Listopad\00Studeni\00Prosinac\00O\C5\BEu\00Sije\C4\8Danj\00Velja\C4\8Da\00O\C5\BEujak\00v\00h\00k\00sze\00cs\00p\00szo\00vas\E1rnap\00h\E9tf\F5\00kedd\00szerda\00cs\FCt\F6rt\F6k\00p\E9ntek\00szombat\00m\E1r\00\E1pr\00m\E1j\00j\FAn\00j\FAl\00janu\E1r\00febru\E1r\00m\E1rcius\00\E1prilis\00m\E1jus\00j\FAnius\00j\FAlius\00augusztus\00szeptember\00okt\F3ber\00%Y. %b. %e., %A, %H.%M.%S %Z\00%H.%M.%S\00vas\C3\A1rnap\00h\C3\A9tf\C5\91\00cs\C3\BCt\C3\B6rt\C3\B6k\00p\C3\A9ntek\00m\C3\A1r\00\C3\A1pr\00m\C3\A1j\00j\C3\BAn\00j\C3\BAl\00janu\C3\A1r\00febru\C3\A1r\00m\C3\A1rcius\00\C3\A1prilis\00m\C3\A1jus\00j\C3\BAnius\00j\C3\BAlius\00okt\C3\B3ber\00\CE\F1\CF\00\BA\F1\CF\00\BA\F1\F9\00\E2\F1\F9\00\D0\DD\B7\00\E0\F5\F1\00\DE\B5\C3\00\CE\C7\F1\B3\CF\C7\00\BA\F1\CF\E1\F5\DF\B3\B5\C3\C7\00\BA\F1\BB\F9\DF\B3\B5\C3\C7\00\E2\E1\F1\BB\F9\DF\B3\B5\C3\C7\00\D0\C7\DD\B7\DF\B3\B5\C3\C7\00\E0\F5\F1\B5\B3\C3\00\DE\B3\B5\B3\C3\00\D0\DD\ED\00\F6\EF\F1\00\D8\B3\F1\00\B2\E5\F1\00\D8\B3\DB\00\D0\DD\EB\00\D0\C9\EB\00\FA\B7\EB\00\EA\BB\E5\00\D0\E1\CF\00\DC\D9\B5\00\B8\BB\CF\00\D0\E1\F5\DD\ED\B3\F1\C7\00\F6\BB\EF\F1\ED\B3\F1\C7\00\D8\B3\F1\EF\C7\00\B2\E5\F1\C7\C9\C7\00\D8\B3\DB\C7\EB\C7\00\D0\E1\F5\DD\C7\EB\C7\00\D0\E1\F5\C9\C7\EB\C7\00\FA\B7\E1\EB\EF\E1\EB\C7\00\EA\BB\E5\EF\BB\D9\B5\BB\F1\C7\00\D0\E1\CF\EF\BB\D9\B5\BB\F1\C7\00\DC\E1\DB\BB\D9\B5\BB\F1\C7\00\B8\BB\CF\EF\BB\D9\B5\BB\F1\C7\00\D4\BF\D6\80\D5\AF\00\D4\B5\D6\80\D5\AF\00\D4\B5\D6\80\D6\84\00\D5\89\D6\80\D6\84\00\D5\80\D5\B6\D5\A3\00\D5\88\D6\82\D6\80\00\D5\87\D5\A2\D5\A9\00\D4\BF\D5\AB\D6\80\D5\A1\D5\AF\D5\AB\00\D4\B5\D6\80\D5\AF\D5\B8\D6\82\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D4\B5\D6\80\D5\A5\D6\84\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D5\89\D5\B8\D6\80\D5\A5\D6\84\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D5\80\D5\AB\D5\B6\D5\A3\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D5\88\D6\82\D6\80\D5\A2\D5\A1\D5\A9\00\D5\87\D5\A1\D5\A2\D5\A1\D5\A9\00\D5\80\D5\B6\D5\BE\00\D5\93\D5\BF\D6\80\00\D5\84\D5\A1\D6\80\00\D4\B1\D5\BA\D6\80\00\D5\84\D5\A1\D5\B5\00\D5\80\D5\B6\D5\BD\00\D5\80\D5\AC\D5\BD\00\D5\95\D5\A3\D5\BD\00\D5\8D\D5\A5\D5\BA\00\D5\80\D5\B8\D5\AF\00\D5\86\D5\B4\D5\A2\00\D4\B4\D5\A5\D5\AF\00\D5\80\D5\B8\D6\82\D5\B6\D5\BE\D5\A1\D6\80\D5\AB\00\D5\93\D5\A5\D5\BF\D6\80\D5\BE\D5\A1\D6\80\D5\AB\00\D5\84\D5\A1\D6\80\D5\BF\D5\AB\00\D4\B1\D5\BA\D6\80\D5\AB\D5\AC\D5\AB\00\D5\84\D5\A1\D5\B5\D5\AB\D5\BD\D5\AB\00\D5\80\D5\B8\D6\82\D5\B6\D5\AB\D5\BD\D5\AB\00\D5\80\D5\B8\D6\82\D5\AC\D5\AB\D5\BD\D5\AB\00\D5\95\D5\A3\D5\B8\D5\BD\D5\BF\D5\B8\D5\BD\D5\AB\00\D5\8D\D5\A5\D5\BA\D5\BF\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00\D5\80\D5\B8\D5\AF\D5\BF\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00\D5\86\D5\B8\D5\B5\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00\D4\B4\D5\A5\D5\AF\D5\BF\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00Min\00Sel\00Rab\00Kam\00Jum\00Sab\00Minggu\00Senin\00Selasa\00Rabu\00Kamis\00Jumat\00Sabtu\00Peb\00Agu\00Januari\00Pebruari\00Maret\00Agustus\00M\E1n\00\DEri\00Mi\F0\00Fim\00F\F6s\00Lau\00Sunnudagur\00M\E1nudagur\00\DEri\F0judagur\00Mi\F0vikudagur\00Fimmtudagur\00F\F6studagur\00Laugardagur\00Ma\ED\00J\FAn\00J\FAl\00\C1g\FA\00N\F3v\00Jan\FAar\00Febr\FAar\00Mars\00Apr\EDl\00J\FAn\ED\00J\FAl\ED\00\C1g\FAst\00Okt\F3ber\00N\F3vember\00fh\00eh\00%a %e.%b %Y, %T %Z\00%a %e.%b %Y\00M\C3\A1n\00\C3\9Eri\00Mi\C3\B0\00F\C3\B6s\00M\C3\A1nudagur\00\C3\9Eri\C3\B0judagur\00Mi\C3\B0vikudagur\00F\C3\B6studagur\00Ma\C3\AD\00J\C3\BAn\00J\C3\BAl\00\C3\81g\C3\BA\00N\C3\B3v\00Jan\C3\BAar\00Febr\C3\BAar\00Apr\C3\ADl\00J\C3\BAn\C3\AD\00J\C3\BAl\C3\AD\00\C3\81g\C3\BAst\00Okt\C3\B3ber\00N\C3\B3vember\00gio\00domenica\00luned\EC\00marted\EC\00mercoled\EC\00gioved\EC\00venerd\EC\00mag\00giu\00lug\00ott\00gennaio\00febbraio\00aprile\00maggio\00giugno\00luglio\00settembre\00ottobre\00dicembre\00luned\C3\AC\00marted\C3\AC\00mercoled\C3\AC\00gioved\C3\AC\00venerd\C3\AC\00\E6\97\A5\00\E6\9C\88\00\E7\81\AB\00\E6\B0\B4\00\E6\9C\A8\00\E9\87\91\00\E5\9C\9F\00\E6\97\A5\E6\9B\9C\E6\97\A5\00\E6\9C\88\E6\9B\9C\E6\97\A5\00\E7\81\AB\E6\9B\9C\E6\97\A5\00\E6\B0\B4\E6\9B\9C\E6\97\A5\00\E6\9C\A8\E6\9B\9C\E6\97\A5\00\E9\87\91\E6\9B\9C\E6\97\A5\00\E5\9C\9F\E6\9B\9C\E6\97\A5\00 1\E6\9C\88\00 2\E6\9C\88\00 3\E6\9C\88\00 4\E6\9C\88\00 5\E6\9C\88\00 6\E6\9C\88\00 7\E6\9C\88\00 8\E6\9C\88\00 9\E6\9C\88\0010\E6\9C\88\0011\E6\9C\88\0012\E6\9C\88\001\E6\9C\88\002\E6\9C\88\003\E6\9C\88\004\E6\9C\88\005\E6\9C\88\006\E6\9C\88\007\E6\9C\88\008\E6\9C\88\009\E6\9C\88\00\E5\8D\88\E5\89\8D\00\E5\8D\88\E5\BE\8C\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %H\E6\99\82%M\E5\88\86%S\E7\A7\92\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5\00%H\E6\99\82%M\E5\88\86%S\E7\A7\92\00%p%I\E6\99\82%M\E5\88\86%S\E7\A7\92\00+:2:1990/01/01:+*:\E5\B9\B3\E6\88\90:%EC%Ey\E5\B9\B4\00+:1:1989/01/08:1989/12/31:\E5\B9\B3\E6\88\90:%EC\E5\85\83\E5\B9\B4\00+:2:1927/01/01:1989/01/07:\E6\98\AD\E5\92\8C:%EC%Ey\E5\B9\B4\00+:1:1926/12/25:1926/12/31:\E6\98\AD\E5\92\8C:%EC\E5\85\83\E5\B9\B4\00+:2:1913/01/01:1926/12/24:\E5\A4\A7\E6\AD\A3:%EC%Ey\E5\B9\B4\00+:2:1912/07/30:1912/12/31:\E5\A4\A7\E6\AD\A3:%EC\E5\85\83\E5\B9\B4\00+:6:1873/01/01:1912/07/29:\E6\98\8E\E6\B2\BB:%EC%Ey\E5\B9\B4\00+:1:0001/01/01:1872/12/31:\E8\A5\BF\E6\9A\A6:%EC%Ey\E5\B9\B4\00+:1:-0001/12/31:-*:\E7\B4\80\E5\85\83\E5\89\8D:%EC%Ey\E5\B9\B4\00\00%EY%m\E6\9C\88%d\E6\97\A5\00\E3\80\87\00\E4\B8\80\00\E4\BA\8C\00\E4\B8\89\00\E5\9B\9B\00\E4\BA\94\00\E5\85\AD\00\E4\B8\83\00\E5\85\AB\00\E4\B9\9D\00\E5\8D\81\00\E5\8D\81\E4\B8\80\00\E5\8D\81\E4\BA\8C\00\E5\8D\81\E4\B8\89\00\E5\8D\81\E5\9B\9B\00\E5\8D\81\E4\BA\94\00\E5\8D\81\E5\85\AD\00\E5\8D\81\E4\B8\83\00\E5\8D\81\E5\85\AB\00\E5\8D\81\E4\B9\9D\00\E4\BA\8C\E5\8D\81\00\E4\BA\8C\E5\8D\81\E4\B8\80\00\E4\BA\8C\E5\8D\81\E4\BA\8C\00\E4\BA\8C\E5\8D\81\E4\B8\89\00\E4\BA\8C\E5\8D\81\E5\9B\9B\00\E4\BA\8C\E5\8D\81\E4\BA\94\00\E4\BA\8C\E5\8D\81\E5\85\AD\00\E4\BA\8C\E5\8D\81\E4\B8\83\00\E4\BA\8C\E5\8D\81\E5\85\AB\00\E4\BA\8C\E5\8D\81\E4\B9\9D\00\E4\B8\89\E5\8D\81\00\E4\B8\89\E5\8D\81\E4\B8\80\00\E4\B8\89\E5\8D\81\E4\BA\8C\00\E4\B8\89\E5\8D\81\E4\B8\89\00\E4\B8\89\E5\8D\81\E5\9B\9B\00\E4\B8\89\E5\8D\81\E4\BA\94\00\E4\B8\89\E5\8D\81\E5\85\AD\00\E4\B8\89\E5\8D\81\E4\B8\83\00\E4\B8\89\E5\8D\81\E5\85\AB\00\E4\B8\89\E5\8D\81\E4\B9\9D\00\E5\9B\9B\E5\8D\81\00\E5\9B\9B\E5\8D\81\E4\B8\80\00\E5\9B\9B\E5\8D\81\E4\BA\8C\00\E5\9B\9B\E5\8D\81\E4\B8\89\00\E5\9B\9B\E5\8D\81\E5\9B\9B\00\E5\9B\9B\E5\8D\81\E4\BA\94\00\E5\9B\9B\E5\8D\81\E5\85\AD\00\E5\9B\9B\E5\8D\81\E4\B8\83\00\E5\9B\9B\E5\8D\81\E5\85\AB\00\E5\9B\9B\E5\8D\81\E4\B9\9D\00\E4\BA\94\E5\8D\81\00\E4\BA\94\E5\8D\81\E4\B8\80\00\E4\BA\94\E5\8D\81\E4\BA\8C\00\E4\BA\94\E5\8D\81\E4\B8\89\00\E4\BA\94\E5\8D\81\E5\9B\9B\00\E4\BA\94\E5\8D\81\E4\BA\94\00\E4\BA\94\E5\8D\81\E5\85\AD\00\E4\BA\94\E5\8D\81\E4\B8\83\00\E4\BA\94\E5\8D\81\E5\85\AB\00\E4\BA\94\E5\8D\81\E4\B9\9D\00\E5\85\AD\E5\8D\81\00\E5\85\AD\E5\8D\81\E4\B8\80\00\E5\85\AD\E5\8D\81\E4\BA\8C\00\E5\85\AD\E5\8D\81\E4\B8\89\00\E5\85\AD\E5\8D\81\E5\9B\9B\00\E5\85\AD\E5\8D\81\E4\BA\94\00\E5\85\AD\E5\8D\81\E5\85\AD\00\E5\85\AD\E5\8D\81\E4\B8\83\00\E5\85\AD\E5\8D\81\E5\85\AB\00\E5\85\AD\E5\8D\81\E4\B9\9D\00\E4\B8\83\E5\8D\81\00\E4\B8\83\E5\8D\81\E4\B8\80\00\E4\B8\83\E5\8D\81\E4\BA\8C\00\E4\B8\83\E5\8D\81\E4\B8\89\00\E4\B8\83\E5\8D\81\E5\9B\9B\00\E4\B8\83\E5\8D\81\E4\BA\94\00\E4\B8\83\E5\8D\81\E5\85\AD\00\E4\B8\83\E5\8D\81\E4\B8\83\00\E4\B8\83\E5\8D\81\E5\85\AB\00\E4\B8\83\E5\8D\81\E4\B9\9D\00\E5\85\AB\E5\8D\81\00\E5\85\AB\E5\8D\81\E4\B8\80\00\E5\85\AB\E5\8D\81\E4\BA\8C\00\E5\85\AB\E5\8D\81\E4\B8\89\00\E5\85\AB\E5\8D\81\E5\9B\9B\00\E5\85\AB\E5\8D\81\E4\BA\94\00\E5\85\AB\E5\8D\81\E5\85\AD\00\E5\85\AB\E5\8D\81\E4\B8\83\00\E5\85\AB\E5\8D\81\E5\85\AB\00\E5\85\AB\E5\8D\81\E4\B9\9D\00\E4\B9\9D\E5\8D\81\00\E4\B9\9D\E5\8D\81\E4\B8\80\00\E4\B9\9D\E5\8D\81\E4\BA\8C\00\E4\B9\9D\E5\8D\81\E4\B8\89\00\E4\B9\9D\E5\8D\81\E5\9B\9B\00\E4\B9\9D\E5\8D\81\E4\BA\94\00\E4\B9\9D\E5\8D\81\E5\85\AD\00\E4\B9\9D\E5\8D\81\E4\B8\83\00\E4\B9\9D\E5\8D\81\E5\85\AB\00\E4\B9\9D\E5\8D\81\E4\B9\9D\00%EY%m\E6\9C\88%d\E6\97\A5 %H\E6\99\82%M\E5\88\86%S\E7\A7\92\00\CA\C5\C9\00\CF\D2\DB\00\D3\C0\CC\00\CF\C8\E1\00\E1\D6\C8\00\D0\C0\D2\00\DB\C0\C1\00\CA\C5\C9\D2\C0\00\CF\D2\DB\C0\C1\C0\C8\C9\00\D3\C0\CC\DB\C0\C1\C0\C8\C9\00\CF\C8\E1\DB\C0\C1\C0\C8\C9\00\E1\D6\C8\DB\C0\C1\C0\C8\C9\00\D0\C0\D2\C0\D3\CA\C4\C5\C9\00\DB\C0\C1\C0\C8\C9\00\C9\C0\CD\00\C8\C4\C1\00\CC\C0\D2\00\C0\D0\D2\00\CC\C0\C9\00\C9\C5\CD\00\C9\C5\CB\00\C0\C2\C5\00\D3\C4\D8\00\CF\D8\D4\00\CD\CF\C4\00\C3\C4\CA\00\C9\C0\CD\C5\C0\D2\C9\00\C8\C4\C1\C4\D2\C5\C0\CB\C9\00\CC\C0\D2\D4\C9\00\C0\D0\D2\C9\CB\C9\00\CC\C0\C9\D3\C9\00\C9\C5\CD\C9\D3\C9\00\C9\C5\CB\C9\D3\C9\00\C0\C2\C5\C9\D3\D4\CF\00\D3\C4\D8\D4\C4\CC\C1\C4\D2\C9\00\CF\D8\D4\CF\CC\C1\C4\D2\C9\00\CD\CF\C4\CC\C1\C4\D2\C9\00\C3\C4\CA\C4\CC\C1\C4\D2\C9\00%Y \DF\CB\C9\D3 %d %B, %T %Z\00\E1\83\99\E1\83\95\E1\83\98\00\E1\83\9D\E1\83\A0\E1\83\A8\00\E1\83\A1\E1\83\90\E1\83\9B\00\E1\83\9D\E1\83\97\E1\83\AE\00\E1\83\AE\E1\83\A3\E1\83\97\00\E1\83\9E\E1\83\90\E1\83\A0\00\E1\83\A8\E1\83\90\E1\83\91\00\E1\83\99\E1\83\95\E1\83\98\E1\83\A0\E1\83\90\00\E1\83\9D\E1\83\A0\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\A1\E1\83\90\E1\83\9B\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\9D\E1\83\97\E1\83\AE\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\AE\E1\83\A3\E1\83\97\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\9E\E1\83\90\E1\83\A0\E1\83\90\E1\83\A1\E1\83\99\E1\83\94\E1\83\95\E1\83\98\00\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\98\E1\83\90\E1\83\9C\00\E1\83\97\E1\83\94\E1\83\91\00\E1\83\9B\E1\83\90\E1\83\A0\00\E1\83\90\E1\83\9E\E1\83\A0\00\E1\83\9B\E1\83\90\E1\83\98\00\E1\83\98\E1\83\95\E1\83\9C\00\E1\83\98\E1\83\95\E1\83\9A\00\E1\83\90\E1\83\92\E1\83\95\00\E1\83\A1\E1\83\94\E1\83\A5\00\E1\83\9D\E1\83\A5\E1\83\A2\00\E1\83\9C\E1\83\9D\E1\83\94\00\E1\83\93\E1\83\94\E1\83\99\00\E1\83\98\E1\83\90\E1\83\9C\E1\83\95\E1\83\90\E1\83\A0\E1\83\98\00\E1\83\97\E1\83\94\E1\83\91\E1\83\94\E1\83\A0\E1\83\95\E1\83\90\E1\83\9A\E1\83\98\00\E1\83\9B\E1\83\90\E1\83\A0\E1\83\A2\E1\83\98\00\E1\83\90\E1\83\9E\E1\83\A0\E1\83\98\E1\83\9A\E1\83\98\00\E1\83\9B\E1\83\90\E1\83\98\E1\83\A1\E1\83\98\00\E1\83\98\E1\83\95\E1\83\9C\E1\83\98\E1\83\A1\E1\83\98\00\E1\83\98\E1\83\95\E1\83\9A\E1\83\98\E1\83\A1\E1\83\98\00\E1\83\90\E1\83\92\E1\83\95\E1\83\98\E1\83\A1\E1\83\A2\E1\83\9D\00\E1\83\A1\E1\83\94\E1\83\A5\E1\83\A2\E1\83\94\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00\E1\83\9D\E1\83\A5\E1\83\A2\E1\83\9D\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00\E1\83\9C\E1\83\9D\E1\83\94\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00\E1\83\93\E1\83\94\E1\83\99\E1\83\94\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00%Y \E1\83\AC\E1\83\9A\E1\83\98\E1\83\A1 %d %B, %T %Z\00ata\00pin\00sis\00tal\00arf\00sabaat\00ataasinngorneq\00marlunngorneq\00pingasunngorneq\00sisamanngorneq\00tallimanngorneq\00arfininngorneq\00januari\00februari\00martsi\00aprili\00maji\00augustusi\00septemberi\00oktoberi\00novemberi\00decemberi\00%d %b %Y\00\EC\9D\BC\00\EC\9B\94\00\ED\99\94\00\EC\88\98\00\EB\AA\A9\00\EA\B8\88\00\ED\86\A0\00\EC\9D\BC\EC\9A\94\EC\9D\BC\00\EC\9B\94\EC\9A\94\EC\9D\BC\00\ED\99\94\EC\9A\94\EC\9D\BC\00\EC\88\98\EC\9A\94\EC\9D\BC\00\EB\AA\A9\EC\9A\94\EC\9D\BC\00\EA\B8\88\EC\9A\94\EC\9D\BC\00\ED\86\A0\EC\9A\94\EC\9D\BC\00 1\EC\9B\94\00 2\EC\9B\94\00 3\EC\9B\94\00 4\EC\9B\94\00 5\EC\9B\94\00 6\EC\9B\94\00 7\EC\9B\94\00 8\EC\9B\94\00 9\EC\9B\94\0010\EC\9B\94\0011\EC\9B\94\0012\EC\9B\94\00\EC\9D\BC\EC\9B\94\00\EC\9D\B4\EC\9B\94\00\EC\82\BC\EC\9B\94\00\EC\82\AC\EC\9B\94\00\EC\98\A4\EC\9B\94\00\EC\9C\A0\EC\9B\94\00\EC\B9\A0\EC\9B\94\00\ED\8C\94\EC\9B\94\00\EA\B5\AC\EC\9B\94\00\EC\8B\9C\EC\9B\94\00\EC\8B\AD\EC\9D\BC\EC\9B\94\00\EC\8B\AD\EC\9D\B4\EC\9B\94\00\EC\98\A4\EC\A0\84\00\EC\98\A4\ED\9B\84\00%x (%a) %r\00%Y\EB\85\84 %m\EC\9B\94 %d\EC\9D\BC\00%H\EC\8B\9C %M\EB\B6\84 %S\EC\B4\88\00%p %I\EC\8B\9C %M\EB\B6\84 %S\EC\B4\88\00Mth\00Mhr\00Yow\00De Sul\00De Lun\00De Merth\00De Merher\00De Yow\00De Gwener\00De Sadorn\00Gen\00Whe>\00Me\00Evn\00Est\00Gwn\00Hed\00Kev\00Mys Genver\00Mys Whevrel\00Mys Merth\00Mys Ebrel\00Mys Me\00Mys Evan\00Mys Gortheren\00Mye Est\00Mys Gwyngala\00Mys Hedra\00Mys Du\00Mys Kevardhu\00Sk\00Pr\00An\00Tr\00Kt\00Pn\00\D0t\00Sekmadienis\00Pirmadienis\00Antradienis\00Tre\E8iadienis\00Ketvirtadienis\00Penktadienis\00\D0e\F0tadienis\00Sau\00Vas\00Kov\00Bal\00Geg\00Bir\00Lie\00Rgp\00Rgs\00Spa\00Lap\00Grd\00sausio\00vasario\00kovo\00baland\FEio\00gegu\FE\EBs\00bir\FEelio\00liepos\00rugpj\FB\E8io\00rugs\EBjo\00spalio\00lapkri\E8io\00gruod\FEio\00%Y m. %B %d d. %T\00%Y.%m.%d\00\C5\A0t\00Tre\C4\8Diadienis\00\C5\A0e\C5\A1tadienis\00baland\C5\BEio\00gegu\C5\BE\C4\97s\00bir\C5\BEelio\00rugpj\C5\AB\C4\8Dio\00rugs\C4\97jo\00lapkri\C4\8Dio\00gruod\C5\BEio\00Sv\00P\A0\00O\A0\00T\A0\00C\A0\00Pk\00S\A0\00sv\E7tdiena\00pirmdiena\00otrdiena\00tre\F0diena\00ceturtdiena\00piektdiena\00sestdiena\00j\FBn\00j\FBl\00janv\E2ris\00febru\E2ris\00apr\EElis\00maijs\00j\FBnijs\00j\FBlijs\00augusts\00septembris\00oktobris\00novembris\00decembris\00%A, %Y. gada %e. %B, plkst. %H un %M\00%Y.%m.%d.\00P\C2\A0\00O\C2\A0\00T\C2\A0\00C\C2\A0\00S\C2\A0\00sv\C4\93tdiena\00tre\C5\A1diena\00j\C5\ABn\00j\C5\ABl\00janv\C4\81ris\00febru\C4\81ris\00apr\C4\ABlis\00j\C5\ABnijs\00j\C5\ABlijs\00Ta\00T\FB\00We\00T\E2i\00Pa\00H\E2\00R\E2tapu\00Mane\00T\FBrei\00Wenerei\00T\E2ite\00Paraire\00H\E2tarei\00Kohi\00Hui\00Pou\00Pae\00Hara\00Pipi\00H\F4ngoi\00Mahu\00Whi-nu\00Whi-ra\00Haki\00Kohi-t\E2tea\00Hui-tanguru\00Pout\FB-te-rangi\00Paenga-wh\E2wh\E2\00Haratua\00Pipiri\00H\F4ngoingoi\00Here-turi-k\F4k\E2\00Mahuru\00Whiringa-\E2-nuku\00Whiringa-\E2-rangi\00Hakihea\00Te %A, te %d o %B, %Y %T %Z\00T\C5\AB\00T\C4\81i\00H\C4\81\00R\C4\81tapu\00T\C5\ABrei\00T\C4\81ite\00H\C4\81tarei\00H\C5\8Dngoi\00Kohi-t\C4\81tea\00Pout\C5\AB-te-rangi\00Paenga-wh\C4\81wh\C4\81\00H\C5\8Dngoingoi\00Here-turi-k\C5\8Dk\C4\81\00Whiringa-\C4\81-nuku\00Whiringa-\C4\81-rangi\00\DD\D5\D4\00\DF\DE\DD\00\D2\E2\DE\00\E1\E0\D5\00\E7\D5\E2\00\DF\D5\E2\00\E1\D0\D1\00\DD\D5\D4\D5\DB\D0\00\DF\DE\DD\D5\D4\D5\DB\DD\D8\DA\00\D2\E2\DE\E0\DD\D8\DA\00\E1\E0\D5\D4\D0\00\E7\D5\E2\D2\E0\E2\DE\DA\00\DF\D5\E2\DE\DA\00\E1\D0\D1\DE\E2\D0\00\F8\D0\DD\00\E4\D5\D2\00\DC\D0\E0\00\D0\DF\E0\00\DC\D0\F8\00\F8\E3\DD\00\F8\E3\DB\00\D0\D2\D3\00\E1\D5\DF\00\DE\DA\E2\00\DD\DE\D5\00\D4\D5\DA\00\F8\D0\DD\E3\D0\E0\D8\00\E4\D5\D2\E0\E3\D0\E0\D8\00\DC\D0\E0\E2\00\D0\DF\E0\D8\DB\00\F8\E3\DD\D8\00\F8\E3\DB\D8\00\D0\D2\D3\E3\E1\E2\00\E1\D5\DF\E2\D5\DC\D2\E0\D8\00\DE\DA\E2\DE\DC\D2\E0\D8\00\DD\DE\D5\DC\D2\E0\D8\00\D4\D5\DA\D5\DC\D2\E0\D8\00%a, %d %b %Y %T %Z\00\D0\BD\D0\B5\D0\B4\00\D0\BF\D0\BE\D0\BD\00\D0\B2\D1\82\D0\BE\00\D1\81\D1\80\D0\B5\00\D1\87\D0\B5\D1\82\00\D0\BF\D0\B5\D1\82\00\D1\81\D0\B0\D0\B1\00\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D0\B0\00\D1\81\D1\80\D0\B5\D0\B4\D0\B0\00\D1\87\D0\B5\D1\82\D0\B2\D1\80\D1\82\D0\BE\D0\BA\00\D0\BF\D0\B5\D1\82\D0\BE\D0\BA\00\D1\81\D0\B0\D0\B1\D0\BE\D1\82\D0\B0\00\D1\98\D0\B0\D0\BD\00\D0\BC\D0\B0\D1\98\00\D1\98\D1\83\D0\BD\00\D1\98\D1\83\D0\BB\00\D1\98\D0\B0\D0\BD\D1\83\D0\B0\D1\80\D0\B8\00\D1\98\D1\83\D0\BD\D0\B8\00\D1\98\D1\83\D0\BB\D0\B8\00\E0\A4\B0\E0\A4\B5\E0\A4\BF\00\E0\A4\B8\E0\A5\8B\E0\A4\AE\00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B3\00\E0\A4\AC\E0\A5\81\E0\A4\A7\00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81\00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0\00\E0\A4\B6\E0\A4\A8\E0\A4\BF\00\E0\A4\B0\E0\A4\B5\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\B8\E0\A5\8B\E0\A4\AE\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B3\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\B6\E0\A4\A8\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\9C\E0\A4\BE\E0\A4\A8\E0\A5\87\E0\A4\B5\E0\A4\BE\E0\A4\B0\E0\A5\80\00\E0\A4\AB\E0\A5\87\E0\A4\AC\E0\A5\83\E0\A4\B5\E0\A4\BE\E0\A4\B0\E0\A5\80\00\E0\A4\8F\E0\A4\AA\E0\A5\8D\E0\A4\B0\E0\A4\BF\E0\A4\B2\00\E0\A4\AE\E0\A5\87\00\E0\A4\9C\E0\A5\81\E0\A4\B2\E0\A5\88\00\E0\A4\93\E0\A4\97\E0\A4\B8\E0\A5\8D\E0\A4\9F\00\E0\A4\B8\E0\A5\87\E0\A4\AA\E0\A5\8D\E0\A4\9F\E0\A5\87\E0\A4\82\E0\A4\AC\E0\A4\B0\00\E0\A4\93\E0\A4\95\E0\A5\8D\E0\A4\9F\E0\A5\8B\E0\A4\AC\E0\A4\B0\00\E0\A4\A8\E0\A5\8B\E0\A4\B5\E0\A5\8D\E0\A4\B9\E0\A5\87\E0\A4\82\E0\A4\AC\E0\A4\B0\00\E0\A4\A1\E0\A4\BF\E0\A4\B8\E0\A5\87\E0\A4\82\E0\A4\AC\E0\A4\B0\00\E0\A4\AE.\E0\A4\AA\E0\A5\82.\00\E0\A4\AE.\E0\A4\A8\E0\A4\82.\00Ahd\00Isn\00Kha\00Ahad\00Isnin\00Khamis\00Jumaat\00Mac\00Ogos\00Dis\00Februari\00Julai\00Disember\00\A1ad\00Tne\00Tli\00Erb\00\A1am\00\D5im\00Sib\00il-\A1add\00it-Tnejn\00it-Tlieta\00l-Erbg\B1a\00il-\A1amis\00il-\D5img\B1a\00is-Sibt\00Fra\00Mej\00\D5un\00Lul\00Awi\00Ott\00Di\E5\00Jannar\00Frar\00Marzu\00Mejju\00\D5unju\00Lulju\00Awissu\00Settembru\00Ottubru\00Novembru\00Di\E5embru \00%A, %d ta %b, %Y %I:%M:%S %p %Z\00%A, %d ta %b, %Y\00\C4\A6ad\00\C4\A6am\00\C4\A0im\00il-\C4\A6add\00l-Erbg\C4\A7a\00il-\C4\A6amis\00il-\C4\A0img\C4\A7a\00\C4\A0un\00Di\C4\8B\00\C4\A0unju\00Di\C4\8Bembru \00zo\00di\00wo\00do\00vr\00za\00zondag\00maandag\00dinsdag\00woensdag\00donderdag\00vrijdag\00zaterdag\00mrt\00mei\00maart\00augustus\00%d-%m-%y\00su \00m\E5 \00ty \00on \00to \00fr \00lau \00sundag \00m\E5ndag \00tysdag \00onsdag \00torsdag \00fredag \00laurdag \00%d. %b %Y kl %H.%M %Z\00%d. %b %Y\00kl %H.%M %Z\00m\C3\A5 \00m\C3\A5ndag \00%a %d-%m-%Y %T %Z\00mec\00j\F3u\00dimenge\00diluns\00dimars\00dij\F3us\00disabte\00ag\F3\00geni\E8r\00febri\E8r\00abrial\00junh\00julhet\00ag\F3st\00decembre\00j\C3\B3u\00dij\C3\B3us\00ag\C3\B3\00geni\C3\A8r\00febri\C3\A8r\00ag\C3\B3st\00nie\00pon\00wto\00\B6ro\00czw\00pi\B1\00sob\00niedziela\00poniedzia\B3ek\00wtorek\00\B6roda\00czwartek\00pi\B1tek\00sobota\00sty\00lut\00kwi\00cze\00lip\00sie\00wrz\00pa\BC\00gru\00stycze\F1\00luty\00marzec\00kwiecie\F1\00czerwiec\00lipiec\00sierpie\F1\00wrzesie\F1\00pa\BCdziernik\00grudzie\F1\00\C5\9Bro\00pi\C4\85\00poniedzia\C5\82ek\00\C5\9Broda\00pi\C4\85tek\00pa\C5\BA\00stycze\C5\84\00kwiecie\C5\84\00sierpie\C5\84\00wrzesie\C5\84\00pa\C5\BAdziernik\00grudzie\C5\84\00Seg\00Ter\00Qua\00Qui\00Sex\00segunda\00ter\E7a\00quarta\00quinta\00sexta\00janeiro\00fevereiro\00mar\E7o\00maio\00junho\00julho\00setembro\00outubro\00novembro\00dezembro\00ter\C3\A7a\00mar\C3\A7o\00Segunda\00Ter\E7a\00Quarta\00Quinta\00Sexta\00Janeiro\00Fevereiro\00Mar\E7o\00Junho\00Julho\00Dezembro\00Ter\C3\A7a\00Mar\C3\A7o\00Lu\00Mi\00Jo\00Vi\00S\EE\00Duminic\C3\00Luni\00Mar\FEi\00Miercuri\00Joi\00Vineri\00S\EEmb\C3t\C3\00ian\00iun\00iul\00Ianuarie\00Martie\00Aprilie\00Iunie\00Iulie\00Septembrie\00Octombrie\00Noiembrie\00Decembrie\00S\C3\AE\00Duminic\C4\82\00Mar\C5\A3i\00S\C3\AEmb\C4\82t\C4\82\00\F7\D3\CB\00\F0\CE\C4\00\F7\D4\D2\00\F3\D2\C4\00\FE\D4\D7\00\F0\D4\CE\00\F3\C2\D4\00\F7\CF\D3\CB\D2\C5\D3\C5\CE\D8\C5\00\F0\CF\CE\C5\C4\C5\CC\D8\CE\C9\CB\00\F7\D4\CF\D2\CE\C9\CB\00\F3\D2\C5\C4\C1\00\FE\C5\D4\D7\C5\D2\C7\00\F0\D1\D4\CE\C9\C3\C1\00\F3\D5\C2\C2\CF\D4\C1\00\F1\CE\D7\00\E6\C5\D7\00\ED\C1\D2\00\E1\D0\D2\00\ED\C1\CA\00\E9\C0\CE\00\E9\C0\CC\00\E1\D7\C7\00\F3\C5\CE\00\EF\CB\D4\00\EE\CF\D1\00\E4\C5\CB\00\F1\CE\D7\C1\D2\D1\00\E6\C5\D7\D2\C1\CC\D1\00\ED\C1\D2\D4\C1\00\E1\D0\D2\C5\CC\D1\00\ED\C1\D1\00\E9\C0\CE\D1\00\E9\C0\CC\D1\00\E1\D7\C7\D5\D3\D4\C1\00\F3\C5\CE\D4\D1\C2\D2\D1\00\EF\CB\D4\D1\C2\D2\D1\00\EE\CF\D1\C2\D2\D1\00\E4\C5\CB\C1\C2\D2\D1\00\B2\E1\DA\00\BF\DD\D4\00\B2\E2\E0\00\C1\E0\D4\00\C7\E2\D2\00\BF\E2\DD\00\C1\D1\E2\00\B2\DE\E1\DA\E0\D5\E1\D5\DD\EC\D5\00\BF\DE\DD\D5\D4\D5\DB\EC\DD\D8\DA\00\B2\E2\DE\E0\DD\D8\DA\00\C1\E0\D5\D4\D0\00\C7\D5\E2\D2\D5\E0\D3\00\BF\EF\E2\DD\D8\E6\D0\00\C1\E3\D1\D1\DE\E2\D0\00\CF\DD\D2\00\C4\D5\D2\00\BC\D0\E0\00\B0\DF\E0\00\BC\D0\D9\00\B8\EE\DD\00\B8\EE\DB\00\B0\D2\D3\00\C1\D5\DD\00\BE\DA\E2\00\BD\DE\EF\00\B4\D5\DA\00\CF\DD\D2\D0\E0\EF\00\C4\D5\D2\E0\D0\DB\EF\00\BC\D0\E0\E2\D0\00\B0\DF\E0\D5\DB\EF\00\BC\D0\EF\00\B8\EE\DD\EF\00\B8\EE\DB\EF\00\B0\D2\D3\E3\E1\E2\D0\00\C1\D5\DD\E2\EF\D1\E0\EF\00\BE\DA\E2\EF\D1\E0\EF\00\BD\DE\EF\D1\E0\EF\00\B4\D5\DA\D0\D1\E0\EF\00\D0\92\D1\81\D0\BA\00\D0\9F\D0\BD\D0\B4\00\D0\92\D1\82\D1\80\00\D0\A7\D1\82\D0\B2\00\D0\9F\D1\82\D0\BD\00\D0\A1\D0\B1\D1\82\00\D0\92\D0\BE\D1\81\D0\BA\D1\80\D0\B5\D1\81\D0\B5\D0\BD\D1\8C\D0\B5\00\D0\9F\D0\BE\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D1\8C\D0\BD\D0\B8\D0\BA\00\D0\92\D1\82\D0\BE\D1\80\D0\BD\D0\B8\D0\BA\00\D0\A1\D1\80\D0\B5\D0\B4\D0\B0\00\D0\A7\D0\B5\D1\82\D0\B2\D0\B5\D1\80\D0\B3\00\D0\9F\D1\8F\D1\82\D0\BD\D0\B8\D1\86\D0\B0\00\D0\A1\D1\83\D0\B1\D0\B1\D0\BE\D1\82\D0\B0\00\D0\AF\D0\BD\D0\B2\00\D0\A4\D0\B5\D0\B2\00\D0\9C\D0\B0\D1\80\00\D0\90\D0\BF\D1\80\00\D0\9C\D0\B0\D0\B9\00\D0\98\D1\8E\D0\BD\00\D0\98\D1\8E\D0\BB\00\D0\90\D0\B2\D0\B3\00\D0\A1\D0\B5\D0\BD\00\D0\9E\D0\BA\D1\82\00\D0\9D\D0\BE\D1\8F\00\D0\94\D0\B5\D0\BA\00\D0\AF\D0\BD\D0\B2\D0\B0\D1\80\D1\8F\00\D0\A4\D0\B5\D0\B2\D1\80\D0\B0\D0\BB\D1\8F\00\D0\9C\D0\B0\D1\80\D1\82\D0\B0\00\D0\90\D0\BF\D1\80\D0\B5\D0\BB\D1\8F\00\D0\9C\D0\B0\D1\8F\00\D0\98\D1\8E\D0\BD\D1\8F\00\D0\98\D1\8E\D0\BB\D1\8F\00\D0\90\D0\B2\D0\B3\D1\83\D1\81\D1\82\D0\B0\00\D0\A1\D0\B5\D0\BD\D1\82\D1\8F\D0\B1\D1\80\D1\8F\00\D0\9E\D0\BA\D1\82\D1\8F\D0\B1\D1\80\D1\8F\00\D0\9D\D0\BE\D1\8F\D0\B1\D1\80\D1\8F\00\D0\94\D0\B5\D0\BA\D0\B0\D0\B1\D1\80\D1\8F\00\F7\D4\CF\00\F3\D5\C2\00\F1\CE\D7\C1\D2\D8\00\E6\C5\D7\D2\C1\CC\D8\00\ED\C1\D2\D4\00\E1\D0\D2\C5\CC\D8\00\E9\C0\CE\D8\00\E9\C0\CC\D8\00\E1\D7\C7\D5\D3\D4\00\F3\C5\CE\D4\D1\C2\D2\D8\00\EF\CB\D4\D1\C2\D2\D8\00\EE\CF\D1\C2\D2\D8\00\E4\C5\CB\C1\C2\D2\D8\00\D0\92\D1\82\D0\BE\00\D0\AF\D0\BD\D0\B2\D0\B0\D1\80\D1\8C\00\D0\A4\D0\B5\D0\B2\D1\80\D0\B0\D0\BB\D1\8C\00\D0\9C\D0\B0\D1\80\D1\82\00\D0\90\D0\BF\D1\80\D0\B5\D0\BB\D1\8C\00\D0\98\D1\8E\D0\BD\D1\8C\00\D0\98\D1\8E\D0\BB\D1\8C\00\D0\90\D0\B2\D0\B3\D1\83\D1\81\D1\82\00\D0\A1\D0\B5\D0\BD\D1\82\D1\8F\D0\B1\D1\80\D1\8C\00\D0\9E\D0\BA\D1\82\D1\8F\D0\B1\D1\80\D1\8C\00\D0\9D\D0\BE\D1\8F\D0\B1\D1\80\D1\8C\00\D0\94\D0\B5\D0\BA\D0\B0\D0\B1\D1\80\D1\8C\00sotn\00vuos\00ma\C5\8B\00gask\00duor\00bear\00l\C3\A1v\00sotnabeaivi\00vuoss\C3\A1rga\00ma\C5\8B\C5\8Bebarga\00gaskavahkku\00duorasdat\00bearjadat\00l\C3\A1vvardat\00o\C4\91\C4\91j\00guov\00njuk\00cuo\C5\8B\00mies\00geas\00suoi\00borg\00\C4\8Dak\C4\8D\00golg\00sk\C3\A1b\00juov\00o\C4\91\C4\91ajagem\C3\A1nu\00guovvam\C3\A1nu\00njuk\C4\8Dam\C3\A1nu\00cuo\C5\8Bom\C3\A1nu\00miessem\C3\A1nu\00geassem\C3\A1nu\00suoidnem\C3\A1nu\00borgem\C3\A1nu\00\C4\8Dak\C4\8Dam\C3\A1nu\00golggotm\C3\A1nu\00sk\C3\A1bmam\C3\A1nu\00juovlam\C3\A1nu\00%a, %b %e. b. %Y %T %Z\00Ut\00\A9t\00Pi\00Nede\B5a\00Pondelok\00Utorok\00Streda\00\A9tvrtok\00Piatok\00marec\00Nede\C4\BEa\00\C5\A0tvrtok\00ned\00sre\00\E8et\00pet\00nedelja\00ponedeljek\00torek\00sreda\00\E8etrtek\00petek\00avg\00junij\00julij\00avgust\00\C4\8Det\00\C4\8Detrtek\00Die \00H\EBn \00Mar \00M\EBr \00Enj \00Pre \00Sht \00e diel \00e h\EBn\EB \00e mart\EB \00e m\EBrkur\EB \00e enjte \00e premte \00e shtun\EB \00Shk\00Pri\00Qer\00Kor\00Gsh\00Sht\00Tet\00N\EBn\00Dhj\00janar\00shkurt\00prill\00qershor\00korrik\00gusht\00shtator\00tetor\00n\EBntor\00dhjetor\00PD\00MD\00%Y-%b-%d %I.%M.%S.%p %Z\00%Y-%b-%d\00%I.%M.%S. %Z\00%I.%M.%S.%p %Z\00H\C3\ABn \00M\C3\ABr \00e h\C3\ABn\C3\AB \00e mart\C3\AB \00e m\C3\ABrkur\C3\AB \00e shtun\C3\AB \00N\C3\ABn\00n\C3\ABntor\00uto\00sub\00ponedeljak\00utorak\00\E8etvrtak\00petak\00subota\00septembar\00oktobar\00novembar\00decembar\00%d-%m-%Y.\00\C4\8Detvrtak\00\E3\E2\DE\00\E1\E3\D1\00\DD\D5\D4\D5\F9a\00\DF\DE\DD\D5\D4\D5\F9\D0\DA\00\E3\E2\DE\E0\D0\DA\00\E7\D5\E2\D2\E0\E2\D0\DA\00\DF\D5\E2\D0\DA\00\E1\E3\D1\DE\E2\D0\00\E4\D5\D1\00\DD\DE\D2\00\D4\D5\E6\00\F8\D0\DD\E3\D0\E0\00\E4\D5\D1\E0\E3\D0\E0\00\E1\D5\DF\E2\D5\DC\D1\D0\E0\00\DE\DA\E2\DE\D1\D0\E0\00\DD\DE\D2\D5\DC\D1\D0\E0\00\D4\D5\E6\D5\DC\D1\D0\E0\00+%a %d %b %Y %T %Z\00\D1\83\D1\82\D0\BE\00\D1\81\D1\83\D0\B1\00\D0\BD\D0\B5\D0\B4\D0\B5\D1\99a\00\D0\BF\D0\BE\D0\BD\D0\B5\D0\B4\D0\B5\D1\99\D0\B0\D0\BA\00\D1\83\D1\82\D0\BE\D1\80\D0\B0\D0\BA\00\D1\87\D0\B5\D1\82\D0\B2\D1\80\D1\82\D0\B0\D0\BA\00\D0\BF\D0\B5\D1\82\D0\B0\D0\BA\00\D1\81\D1\83\D0\B1\D0\BE\D1\82\D0\B0\00\D1\84\D0\B5\D0\B1\00\D0\BD\D0\BE\D0\B2\00\D0\B4\D0\B5\D1\86\00\D1\98\D0\B0\D0\BD\D1\83\D0\B0\D1\80\00\D1\84\D0\B5\D0\B1\D1\80\D1\83\D0\B0\D1\80\00\D1\81\D0\B5\D0\BF\D1\82\D0\B5\D0\BC\D0\B1\D0\B0\D1\80\00\D0\BE\D0\BA\D1\82\D0\BE\D0\B1\D0\B0\D1\80\00\D0\BD\D0\BE\D0\B2\D0\B5\D0\BC\D0\B1\D0\B0\D1\80\00\D0\B4\D0\B5\D1\86\D0\B5\D0\BC\D0\B1\D0\B0\D1\80\00s\F6n\00m\E5n\00tis\00l\F6r\00s\F6ndag\00m\E5ndag\00tisdag\00l\F6rdag\00augusti\00%a %e %b %Y %H.%M.%S\00s\C3\B6n\00m\C3\A5n\00l\C3\B6r\00s\C3\B6ndag\00m\C3\A5ndag\00l\C3\B6rdag\00\E0\AE\9E\00\E0\AE\A4\00\E0\AE\9A\00\E0\AE\AA\00\E0\AE\B5\00\E0\AE\9E\E0\AE\BE\E0\AE\AF\E0\AE\BF\E0\AE\B1\E0\AF\81\00\E0\AE\A4\E0\AE\BF\E0\AE\99\E0\AF\8D\E0\AE\95\E0\AE\B3\E0\AF\8D\00\E0\AE\9A\E0\AF\86\E0\AE\B5\E0\AF\8D\E0\AE\B5\E0\AE\BE\E0\AE\AF\E0\AF\8D\00\E0\AE\AA\E0\AF\81\E0\AE\A4\E0\AE\A9\E0\AF\8D\00\E0\AE\B5\E0\AE\BF\E0\AE\AF\E0\AE\BE\E0\AE\B4\E0\AE\A9\E0\AF\8D\00\E0\AE\B5\E0\AF\86\E0\AE\B3\E0\AF\8D\E0\AE\B3\E0\AE\BF\00\E0\AE\9A\E0\AE\A9\E0\AE\BF\00\E0\AE\9C\E0\AE\A9\E0\AE\B5\E0\AE\B0\E0\AE\BF\00\E0\AE\AA\E0\AF\86\E0\AE\AA\E0\AF\8D\E0\AE\B0\E0\AE\B5\E0\AE\B0\E0\AE\BF\00\E0\AE\AE\E0\AE\BE\E0\AE\B0\E0\AF\8D\E0\AE\9A\E0\AF\8D\00\E0\AE\8F\E0\AE\AA\E0\AF\8D\E0\AE\B0\E0\AE\B2\E0\AF\8D\00\E0\AE\AE\E0\AF\87\00\E0\AE\9C\E0\AF\82\E0\AE\A9\E0\AF\8D\00\E0\AE\9C\E0\AF\82\E0\AE\B2\E0\AF\88\00\E0\AE\86\E0\AE\95\E0\AE\B8\E0\AF\8D\E0\AE\9F\E0\AF\8D\00\E0\AE\9A\E0\AF\86\E0\AE\AA\E0\AF\8D\E0\AE\9F\E0\AE\AE\E0\AF\8D\E0\AE\AA\E0\AE\B0\E0\AF\8D\00\E0\AE\85\E0\AE\95\E0\AF\8D\E0\AE\9F\E0\AF\8B\E0\AE\AA\E0\AE\B0\E0\AF\8D\00\E0\AE\A8\E0\AE\B5\E0\AE\AE\E0\AF\8D\E0\AE\AA\E0\AE\B0\E0\AF\8D\00\E0\AE\9F\E0\AE\BF\E0\AE\9A\E0\AE\AE\E0\AF\8D\E0\AE\AA\E0\AE\B0\E0\AF\8Dr\00\E0\AE\95\E0\AE\BE\E0\AE\B2\E0\AF\88\00\E0\AE\AE\E0\AE\BE\E0\AE\B2\E0\AF\88\00\E0\B0\86\E0\B0\A6\E0\B0\BF\00\E0\B0\B8\E0\B1\8B\E0\B0\AE\00\E0\B0\AE\E0\B0\82\E0\B0\97\E0\B0\B3\00\E0\B0\AC\E0\B1\81\E0\B0\A7\00\E0\B0\97\E0\B1\81\E0\B0\B0\E0\B1\81\00\E0\B0\B6\E0\B1\81\E0\B0\95\E0\B1\8D\E0\B0\B0\00\E0\B0\B6\E0\B0\A8\E0\B0\BF\00\E0\B0\86\E0\B0\A6\E0\B0\BF\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\B8\E0\B1\8B\E0\B0\AE\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\AE\E0\B0\82\E0\B0\97\E0\B0\B3\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\AC\E0\B1\81\E0\B0\A7\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\97\E0\B1\81\E0\B0\B0\E0\B1\81\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\B6\E0\B1\81\E0\B0\95\E0\B1\8D\E0\B0\B0\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\B6\E0\B0\A8\E0\B0\BF\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\9C\E0\B0\A8\E0\B0\B5\E0\B0\B0\E0\B0\BF\00\E0\B0\AB\E0\B0\BF\E0\B0\AC\E0\B1\8D\E0\B0\B0\E0\B0\B5\E0\B0\B0\E0\B0\BF\00\E0\B0\AE\E0\B0\BE\E0\B0\B0\E0\B1\8D\E0\B0\9A\E0\B0\BF\00\E0\B0\8F\E0\B0\AA\E0\B1\8D\E0\B0\B0\E0\B0\BF\E0\B0\B2\E0\B1\8D\00\E0\B0\AE\E0\B1\87\00\E0\B0\9C\E0\B1\82\E0\B0\A8\E0\B1\8D\00\E0\B0\9C\E0\B1\82\E0\B0\B2\E0\B1\88\00\E0\B0\86\E0\B0\97\E0\B0\B8\E0\B1\8D\E0\B0\9F\E0\B1\81\00\E0\B0\B8\E0\B1\86\E0\B0\AA\E0\B1\8D\E0\B0\9F\E0\B1\86\E0\B0\82\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\85\E0\B0\95\E0\B1\8D\E0\B0\9F\E0\B1\8B\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\A8\E0\B0\B5\E0\B0\82\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\A1\E0\B0\BF\E0\B0\B8\E0\B1\86\E0\B0\82\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\AA\E0\B1\82\E0\B0\B0\E0\B1\8D\E0\B0\B5\E0\B0\BE\E0\B0\B9\E0\B1\8D\E0\B0\A8\00\E0\B0\85\E0\B0\AA\E0\B0\B0\E0\B0\BE\E0\B0\B9\E0\B1\8D\E0\B0\A8\00\CD\D2.\00\A8.\00\CD.\00\BE.\00\BE\C4.\00\C8.\00\CA.\00\CD\D2\B7\D4\B5\C2\EC\00\A8\D1\B9\B7\C3\EC\00\CD\D1\A7\A4\D2\C3\00\BE\D8\B8\00\BE\C4\CB\D1\CA\BA\B4\D5\00\C8\D8\A1\C3\EC\00\E0\CA\D2\C3\EC\00\C1.\A4.\00\A1.\BE.\00\C1\D5.\A4.\00\E0\C1.\C2.\00\BE.\A4.\00\C1\D4.\C2.\00\A1.\A4.\00\CA.\A4.\00\A1.\C2.\00\B5.\A4.\00\BE.\C2.\00\B8.\A4.\00\C1\A1\C3\D2\A4\C1\00\A1\D8\C1\C0\D2\BE\D1\B9\B8\EC\00\C1\D5\B9\D2\A4\C1\00\E0\C1\C9\D2\C2\B9\00\BE\C4\C9\C0\D2\A4\C1\00\C1\D4\B6\D8\B9\D2\C2\B9\00\A1\C3\A1\AE\D2\A4\C1\00\CA\D4\A7\CB\D2\A4\C1\00\A1\D1\B9\C2\D2\C2\B9\00\B5\D8\C5\D2\A4\C1\00\BE\C4\C8\A8\D4\A1\D2\C2\B9\00\B8\D1\B9\C7\D2\A4\C1\00%a %e %b %Ey, %H:%M:%S\00%d/%m/%Ey\00+:1:-543/01/01:+*:\BE.\C8.:%EC %Ey\00\00%e %b %Ey\00\C7\D1\B9%A\B7\D5\E8 %e %B %EC %Ey, %H.%M.%S \B9.\00%H.%M.%S \B9.\00\E0\B8\AD\E0\B8\B2.\00\E0\B8\88.\00\E0\B8\AD.\00\E0\B8\9E.\00\E0\B8\9E\E0\B8\A4.\00\E0\B8\A8.\00\E0\B8\AA.\00\E0\B8\AD\E0\B8\B2\E0\B8\97\E0\B8\B4\E0\B8\95\E0\B8\A2\E0\B9\8C\00\E0\B8\88\E0\B8\B1\E0\B8\99\E0\B8\97\E0\B8\A3\E0\B9\8C\00\E0\B8\AD\E0\B8\B1\E0\B8\87\E0\B8\84\E0\B8\B2\E0\B8\A3\00\E0\B8\9E\E0\B8\B8\E0\B8\98\00\E0\B8\9E\E0\B8\A4\E0\B8\AB\E0\B8\B1\E0\B8\AA\E0\B8\9A\E0\B8\94\E0\B8\B5\00\E0\B8\A8\E0\B8\B8\E0\B8\81\E0\B8\A3\E0\B9\8C\00\E0\B9\80\E0\B8\AA\E0\B8\B2\E0\B8\A3\E0\B9\8C\00\E0\B8\A1.\E0\B8\84.\00\E0\B8\81.\E0\B8\9E.\00\E0\B8\A1\E0\B8\B5.\E0\B8\84.\00\E0\B9\80\E0\B8\A1.\E0\B8\A2.\00\E0\B8\9E.\E0\B8\84.\00\E0\B8\A1\E0\B8\B4.\E0\B8\A2.\00\E0\B8\81.\E0\B8\84.\00\E0\B8\AA.\E0\B8\84.\00\E0\B8\81.\E0\B8\A2.\00\E0\B8\95.\E0\B8\84.\00\E0\B8\9E.\E0\B8\A2.\00\E0\B8\98.\E0\B8\84.\00\E0\B8\A1\E0\B8\81\E0\B8\A3\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\81\E0\B8\B8\E0\B8\A1\E0\B8\A0\E0\B8\B2\E0\B8\9E\E0\B8\B1\E0\B8\99\E0\B8\98\E0\B9\8C\00\E0\B8\A1\E0\B8\B5\E0\B8\99\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B9\80\E0\B8\A1\E0\B8\A9\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\9E\E0\B8\A4\E0\B8\A9\E0\B8\A0\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\A1\E0\B8\B4\E0\B8\96\E0\B8\B8\E0\B8\99\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\81\E0\B8\A3\E0\B8\81\E0\B8\8E\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\AA\E0\B8\B4\E0\B8\87\E0\B8\AB\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\81\E0\B8\B1\E0\B8\99\E0\B8\A2\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\95\E0\B8\B8\E0\B8\A5\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\9E\E0\B8\A4\E0\B8\A8\E0\B8\88\E0\B8\B4\E0\B8\81\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\98\E0\B8\B1\E0\B8\99\E0\B8\A7\E0\B8\B2\E0\B8\84\E0\B8\A1\00+:1:-543/01/01:+*:\E0\B8\9E.\E0\B8\A8.:%EC %Ey\00\00\E0\B8\A7\E0\B8\B1\E0\B8\99%A\E0\B8\97\E0\B8\B5\E0\B9\88 %e %B %EC %Ey, %H.%M.%S \E0\B8\99.\00%H.%M.%S \E0\B8\99.\00\E1\88\B0\E1\8A\95\E1\89\A0\E1\89\B5\00\E1\88\B0\E1\8A\91\E1\8B\AD\00\E1\88\B0\E1\88\89\E1\88\B5\00\E1\88\93\E1\88\99\E1\88\B5\00\E1\8B\93\E1\88\AD\E1\89\A2\00\E1\89\80\E1\8B\B3\E1\88\9D\00\E1\8C\A5\E1\88\AA\00\E1\88\88\E1\8A\AB\E1\89\B2\00\E1\88\98\E1\8C\8B\E1\89\A2\00\E1\88\9A\E1\8B\AB\E1\8B\9D\00\E1\8C\8D\E1\8A\95\E1\89\A6\00\E1\88\B0\E1\8A\90\00\E1\88\93\E1\88\9D\E1\88\88\00\E1\8A\90\E1\88\93\E1\88\B0\00\E1\88\98\E1\88\B5\E1\8A\A8\00\E1\8C\A5\E1\89\85\E1\88\9D\00\E1\88\95\E1\8B\B3\E1\88\AD\00\E1\89\B3\E1\88\95\E1\88\B3\00\E1\88\88\E1\8A\AB\E1\89\B2\E1\89\B5\00\E1\88\98\E1\8C\8B\E1\89\A2\E1\89\B5\00\E1\88\9A\E1\8B\AB\E1\8B\9D\E1\8B\AB\00\E1\8C\8D\E1\8A\95\E1\89\A6\E1\89\B5\00\E1\88\98\E1\88\B5\E1\8A\A8\E1\88\A8\E1\88\9D\00\E1\8C\A5\E1\89\85\E1\88\9D\E1\89\B2\00\E1\89\B3\E1\88\95\E1\88\B3\E1\88\B5\00\E1\8A\95\E1\8C\89\E1\88\86 \E1\88\B0\E1\8B\93\E1\89\B0\00\E1\8B\B5\E1\88\95\E1\88\AD \E1\88\B0\E1\8B\93\E1\89\B5\00%A\E1\8D\A3 %b %e \E1\88\98\E1\8B\93\E1\88\8D\E1\89\B2 %l:%M:%S %Z %Y\00Lin\00Miy\00Huw\00Biy\00Linggo\00Lunes\00Miyerkoles\00Huwebes\00Biyernes\00Sabado\00Ene\00Hun\00Hul\00Nob\00Enero\00Pebrero\00Marso\00Mayo\00Hunyo\00Hulyo\00Septiyembre\00Oktubre\00Nobiyembre\00Disyembre\00Paz\00Pzt\00Sal\00\C7r\FE\00Pr\FE\00Cum\00Cts\00Pazar\00Pazartesi\00Sal\FD\00\C7ar\FEamba\00Per\FEembe\00Cuma\00Cumartesi\00Oca\00\DEub\00Nis\00Haz\00Tem\00A\F0u\00Eyl\00Eki\00Kas\00Ara\00Ocak\00\DEubat\00Nisan\00May\FDs\00Haziran\00Temmuz\00A\F0ustos\00Eyl\FCl\00Ekim\00Kas\FDm\00Aral\FDk\00\D6\D6\00\D6S\00\C3\87r\C5\9F\00Pr\C5\9F\00Sal\C4\B1\00\C3\87ar\C5\9Famba\00Per\C5\9Fembe\00\C5\9Eub\00A\C4\9Fu\00\C5\9Eubat\00May\C4\B1s\00A\C4\9Fustos\00Eyl\C3\BCl\00Kas\C4\B1m\00Aral\C4\B1k\00\C3\96\C3\96\00\C3\96S\00\D0\AF\D0\BA\D1\88\00\D0\94\D1\8B\D1\88\00\D0\A1\D0\B8\D1\88\00\D0\A7\D3\99\D1\80\D1\88\00\D0\9F\D3\99\D0\BD\D2\97\00\D2\96\D0\BE\D0\BC\00\D0\A8\D0\B8\D0\BC\00\D0\AF\D0\BA\D1\88\D3\99\D0\BC\D0\B1\D0\B5\00\D0\94\D1\8B\D1\88\D3\99\D0\BC\D0\B1\D0\B5\00\D0\A1\D0\B8\D1\88\D3\99\D0\BC\D0\B1\D0\B5\00\D0\A7\D3\99\D1\80\D1\88\D3\99\D3\99\D0\BC\D0\B1\D0\B5\00\D0\9F\D3\99\D0\BD\D2\97\D0\B5\D1\88\D0\BC\D0\B1\D0\B5\00\D2\96\D0\BE\D0\BC\D0\B3\D0\B0\00\D0\A8\D0\B8\D0\BC\D0\B1\D3\99\00\EE\C4\CC\00\EE\C5\C4\A6\CC\D1\00\F0\CF\CE\C5\C4\A6\CC\CF\CB\00\F7\A6\D7\D4\CF\D2\CF\CB\00\F3\C5\D2\C5\C4\C1\00\FE\C5\D4\D7\C5\D2\00\F0'\D1\D4\CE\C9\C3\D1\00\F3\D5\C2\CF\D4\C1\00\F3\A6\DE\00\EC\C0\D4\00\E2\C5\D2\00\EB\D7\A6\00\F4\D2\C1\00\FE\C5\D2\00\EC\C9\D0\00\F3\C5\D2\00\F7\C5\D2\00\F6\CF\D7\00\EC\C9\D3\00\E7\D2\D5\00\F3\A6\DE\C5\CE\D8\00\EC\C0\D4\C9\CA\00\E2\C5\D2\C5\DA\C5\CE\D8\00\EB\D7\A6\D4\C5\CE\D8\00\F4\D2\C1\D7\C5\CE\D8\00\FE\C5\D2\D7\C5\CE\D8\00\EC\C9\D0\C5\CE\D8\00\F3\C5\D2\D0\C5\CE\D8\00\F7\C5\D2\C5\D3\C5\CE\D8\00\F6\CF\D7\D4\C5\CE\D8\00\EC\C9\D3\D4\CF\D0\C1\C4\00\E7\D2\D5\C4\C5\CE\D8\00\D0\9D\D0\B4\D0\BB\00\D0\9D\D0\B5\D0\B4\D1\96\D0\BB\D1\8F\00\D0\9F\D0\BE\D0\BD\D0\B5\D0\B4\D1\96\D0\BB\D0\BE\D0\BA\00\D0\92\D1\96\D0\B2\D1\82\D0\BE\D1\80\D0\BE\D0\BA\00\D0\A1\D0\B5\D1\80\D0\B5\D0\B4\D0\B0\00\D0\A7\D0\B5\D1\82\D0\B2\D0\B5\D1\80\00\D0\9F'\D1\8F\D1\82\D0\BD\D0\B8\D1\86\D1\8F\00\D0\A1\D1\96\D1\87\00\D0\91\D0\B5\D1\80\00\D0\9A\D0\B2\D1\96\00\D0\A7\D0\B5\D1\80\00\D0\9B\D0\B8\D0\BF\00\D0\A1\D0\B5\D1\80\00\D0\92\D0\B5\D1\80\00\D0\96\D0\BE\D0\B2\00\D0\9B\D0\B8\D1\81\00\D0\93\D1\80\D1\83\00\D0\A1\D1\96\D1\87\D0\B5\D0\BD\D1\8C\00\D0\9B\D1\8E\D1\82\D0\B8\D0\B9\00\D0\91\D0\B5\D1\80\D0\B5\D0\B7\D0\B5\D0\BD\D1\8C\00\D0\9A\D0\B2\D1\96\D1\82\D0\B5\D0\BD\D1\8C\00\D0\A7\D0\B5\D1\80\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\9B\D0\B8\D0\BF\D0\B5\D0\BD\D1\8C\00\D0\A1\D0\B5\D1\80\D0\BF\D0\B5\D0\BD\D1\8C\00\D0\92\D0\B5\D1\80\D0\B5\D1\81\D0\B5\D0\BD\D1\8C\00\D0\96\D0\BE\D0\B2\D1\82\D0\B5\D0\BD\D1\8C\00\D0\9B\D0\B8\D1\81\D1\82\D0\BE\D0\BF\D0\B0\D0\B4\00\D0\93\D1\80\D1\83\D0\B4\D0\B5\D0\BD\D1\8C\00\D8\A7\D8\AA\D9\88\D8\A7\D8\B1\00\D9\BE\D9\8A\D8\B1\00\D9\85\D9\86\DA\AF\D9\84\00\D8\A8\D8\AF\DA\BE\00\D8\AC\D9\85\D8\B9\D8\B1\D8\A7\D8\AA\00\D9\87\D9\81\D8\AA\D9\87\00\D8\AC\D9\86\D9\88\D8\B1\D9\8A\00\D9\81\D8\B1\D9\88\D8\B1\D9\8A\00\D9\85\D8\A7\D8\B1\DA\86\00\D8\A7\D9\BE\D8\B1\D9\8A\D9\84\00\D9\85\D9\93\DB\8C\00\D8\AC\D9\88\D9\86\00\D8\AC\D9\88\D9\84\D8\A7\D9\8A\00\D8\A7\DA\AF\D8\B3\D8\AA\00\D8\B3\D8\AA\D9\85\D8\A8\D8\B1\00\D8\A7\D9\83\D8\AA\D9\88\D8\A8\D8\B1\00\D9\86\D9\88\D9\85\D8\A8\D8\B1\00\D8\AF\D8\B3\D9\85\D8\A8\D8\B1\00\D8\B4\00\D9\88 %H:%M:%S %Z \D8\AA %d %B %Y\00%P %I:%M:%S\00Yak\00Se\00Cho\00Pay\00Ju\00Sha\00yakshanba\00dushanba\00seshanba\00chorshanba\00payshanba\00juma\00shanba\00Yav\00Iyn\00Iyl\00Avg\00senyabr\00%T, %d %B, %Y yil, %A\00CN \00Th 2 \00Th 3 \00Th 4 \00Th 5 \00Th 6 \00Th 7 \00Chu\CC\89 nh\C3\A2\CC\A3t \00Th\C6\B0\CC\81 hai \00Th\C6\B0\CC\81 ba \00Th\C6\B0\CC\81 t\C6\B0 \00Th\C6\B0\CC\81 n\C4\83m \00Th\C6\B0\CC\81 s\C3\A1u \00Th\C6\B0\CC\81 ba\CC\89y \00Thg 1\00Thg 2\00Thg 3\00Thg 4\00Thg 5\00Thg 6\00Thg 7\00Thg 8\00Thg 9\00Thg 10\00Thg 11\00Thg 12\00Th\C3\A1ng m\C3\B4\CC\A3t\00Th\C3\A1ng hai\00Th\C3\A1ng ba\00Th\C3\A1ng t\C6\B0\00Th\C3\A1ng n\C4\83m\00Th\C3\A1ng s\C3\A1u\00Th\C3\A1ng ba\CC\89y\00Th\C3\A1ng t\C3\A1m\00Th\C3\A1ng ch\C3\ADn\00Th\C3\A1ng m\C6\B0\C6\A1\CC\80i\00Th\C3\A1ng m\C6\B0\C6\A1\CC\80i m\C3\B4\CC\A3t\00Th\C3\A1ng m\C6\B0\C6\A1\CC\80i hai\00%H:%M:%S %Z %A %d %b %Y\00%H:%M:%S %Z\00d\EEm\00lon\00m\E5r\00dju\00vin\00sem\00d\EEmegne\00londi\00m\E5rdi\00merkidi\00djudi\00vinrdi\00semdi\00dja\00fev\00m\E5s\00djn\00djl\00awo\00n\F4v\00djanv\EE\00fevr\EE\00m\E5ss\00avri\00djun\00djulete\00awousse\00setimbe\00oct\F4be\00n\F4vimbe\00decimbe\00Li %A %d di %B %Y %T %Z\00d\C3\AEm\00m\C3\A5r\00d\C3\AEmegne\00m\C3\A5rdi\00m\C3\A5s\00n\C3\B4v\00djanv\C3\AE\00fevr\C3\AE\00m\C3\A5ss\00oct\C3\B4be\00n\C3\B4vimbe\00\E6\E5\F0'\00\EE\E0\C8\F0'\00\E3\E9\F0'\00\EE\E9\E8'\00\E3\E0\C8\F0'\00\F4\CF\F8\D6\C7'\00\E6\E5\F0\E8\E9\F7\00\EE\E0\C8\F0\E8\E9\F7\00\E3\E9\F0\F1\E8\E9\F7\00\EE\E9\E8\D4\E0\C8\EA\00\E3\E0\C8\F0\F2\F8\F9\E8\E9\F7\00\F4\CF\F8\D6\C7\E8\E9\F7\00\E9\E0\C7\F0'\00\F4\CF\F2\E1'\00\EE\E0\C7\F8'\00\E0\C7\F4\CC\F8'\00\EE\D6\C7\00\E9\E5\F0'\00\E9\E5\EC'\00\E0\D5\E2'\00\F1\F2\F4\CC'\00\E0\C8\F7\E8'\00\F0\E0\C8\D4'\00\E3\F2\F6'\00\E9\E0\C7\F0\E5\E0\C7\F8\00\F4\CF\F2\E1\F8\E5\E0\C7\F8\00\EE\E0\C7\F8\F5\00\E0\C7\F4\CC\F8\E9\EC\00\E0\D5\E2\F1\E8\00\F1\F2\F4\CC\E8\F2\EE\E1\F2\F8\00\E0\C8\F7\E8\E0\C8\E1\F2\F8\00\F0A\C8\D4\F2\EE\E1\F2\F8\00\D7\96\D7\95\D7\A0'\00\D7\9E\D7\90\D6\B8\D7\A0'\00\D7\93\D7\99\D7\A0'\00\D7\9E\D7\99\D7\98'\00\D7\93\D7\90\D6\B8\D7\A0'\00\D7\A4\D6\BF\D7\A8\D7\B2\D6\B7'\00\D7\96\D7\95\D7\A0\D7\98\D7\99\D7\A7\00\D7\9E\D7\90\D6\B8\D7\A0\D7\98\D7\99\D7\A7\00\D7\93\D7\99\D7\A0\D7\A1\D7\98\D7\99\D7\A7\00\D7\9E\D7\99\D7\98\D7\B0\D7\90\D6\B8\D7\9A\00\D7\93\D7\90\D6\B8\D7\A0\D7\A2\D7\A8\D7\A9\D7\98\D7\99\D7\A7\00\D7\A4\D6\BF\D7\A8\D7\B2\D6\B7\D7\98\D7\99\D7\A7\00\D7\99\D7\90\D6\B7\D7\A0'\00\D7\A4\D6\BF\D7\A2\D7\91'\00\D7\9E\D7\90\D6\B7\D7\A8'\00\D7\90\D6\B7\D7\A4\D6\BC\D7\A8'\00\D7\9E\D7\B2\D6\B7\00\D7\99\D7\95\D7\A0'\00\D7\99\D7\95\D7\9C'\00\D7\90\D7\B1\D7\92'\00\D7\A1\D7\A2\D7\A4\D6\BC'\00\D7\90\D6\B8\D7\A7\D7\98'\00\D7\A0\D7\90\D6\B8\D7\B0'\00\D7\93\D7\A2\D7\A6'\00\D7\99\D7\90\D6\B7\D7\A0\D7\95\D7\90\D6\B7\D7\A8\00\D7\A4\D6\BF\D7\A2\D7\91\D7\A8\D7\95\D7\90\D6\B7\D7\A8\00\D7\9E\D7\90\D6\B7\D7\A8\D7\A5\00\D7\90\D6\B7\D7\A4\D6\BC\D7\A8\D7\99\D7\9C\00\D7\90\D7\B1\D7\92\D7\A1\D7\98\00\D7\A1\D7\A2\D7\A4\D6\BC\D7\98\D7\A2\D7\9E\D7\91\D7\A2\D7\A8\00\D7\90\D6\B8\D7\A7\D7\98\D7\90\D6\B8\D7\91\D7\A2\D7\A8\00\D7\A0A\D6\B8\D7\B0\D7\A2\D7\9E\D7\91\D7\A2\D7\A8\00\E4\B8\80\00\E4\BA\8C\00\E4\B8\89\00\E5\9B\9B\00\E4\BA\94\00\E5\85\AD\00\E6\98\9F\E6\9C\9F\E6\97\A5\00\E6\98\9F\E6\9C\9F\E4\B8\80\00\E6\98\9F\E6\9C\9F\E4\BA\8C\00\E6\98\9F\E6\9C\9F\E4\B8\89\00\E6\98\9F\E6\9C\9F\E5\9B\9B\00\E6\98\9F\E6\9C\9F\E4\BA\94\00\E6\98\9F\E6\9C\9F\E5\85\AD\00\E4\B8\80\E6\9C\88\00\E4\BA\8C\E6\9C\88\00\E4\B8\89\E6\9C\88\00\E5\9B\9B\E6\9C\88\00\E4\BA\94\E6\9C\88\00\E5\85\AD\E6\9C\88\00\E4\B8\83\E6\9C\88\00\E5\85\AB\E6\9C\88\00\E4\B9\9D\E6\9C\88\00\E5\8D\81\E6\9C\88\00\E5\8D\81\E4\B8\80\E6\9C\88\00\E5\8D\81\E4\BA\8C\E6\9C\88\00\E4\B8\8A\E5\8D\88\00\E4\B8\8B\E5\8D\88\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %A %H\E6\97\B6%M\E5\88\86%S\E7\A7\92\00%H\E6\97\B6%M\E5\88\86%S\E7\A7\92\00%p %I\E6\97\B6%M\E5\88\86%S\E7\A7\92\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %A %H:%M:%S\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %A\00%I\E6\99\82%M\E5\88\86%S\E7\A7\92 %Z\00%p %I:%M:%S\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %H\E6\97\B6%M\E5\88\86%S\E7\A7\92 %Z\00%H\E6\97\B6%M\E5\88\86%S\E7\A7\92 %Z\00\E9\80\B1\E6\97\A5\00\E9\80\B1\E4\B8\80\00\E9\80\B1\E4\BA\8C\00\E9\80\B1\E4\B8\89\00\E9\80\B1\E5\9B\9B\00\E9\80\B1\E4\BA\94\00\E9\80\B1\E5\85\AD\00\E8\A5\BF\E5\85\83%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 (%A) %H\E6\99\82%M\E5\88\86%S\E7\A7\92\00\E8\A5\BF\E5\85\83%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5\00%p %I\E6\99\82%M\E5\88\86%S\E7\A7\92\00", [1804 x i8] c"\00^[yY]\00^[nN]\00[jJ].*\00[nN].*\00^[yY].*\00^[nN].*\00^[\E6].*\00^[\E4].*\00^[\D9\86].*\00^[\D9\84].*\00^[\D9\86]\00^[\D9\84]\00\D9\86\D8\B9\D9\85\00\D9\84\D8\A7\00^(\E6|\E6\D9\E5)\00^(\E4|\E4\C7)\00\E6\D9\E5\00\E4\C7\00^(\D9\86|\D9\86\D8\B9\D9\85)\00^(\D9\84|\D9\84\D8\A7)\00^[Bb].*\00^[YyNn].*\00yox\00b\C9\99li\00^[\C4\E4Yy].*\00^[\CD\EDNn].*\00^[\D0\94\D0\B4Yy].*\00^[\D0\9D\D0\BDNn].*\00^[+1\C4\E4DdYyOo].*\00^[-0\CD\EDNnKk].*\00^[+1\D0\94\D0\B4DdYyOo].*\00^[-0\D0\9D\D0\BDNnKk].*\00[yYsS\D5\A1\D4\B1].*\00[nN\D5\B8\D5\88].*\00\D5\A1\D5\B5\D5\B8\00\D5\B8\D5\B9\00^[\E0\A6\B9\E0\A7\8D\E0\A6\AF\E0\A6\BE\E0\A6\81]\00^[\E0\A6\A8\E0\A6\BE]\00\E0\A6\B9\E0\A7\8D\E0\A6\AF\E0\A6\BE\E0\A6\81\00\E0\A6\A8\E0\A6\BE\00[oOyY].*\00^[dDyY]*.\00^[nN]*.\00[sSyY].*\00^[aAyY].*\00ano\00ne\00[iItTyY].*\00ie\00na\00^[1JjYy].*\00^[0Nn].*\00^[jJyY].*\00^[\ED\CDyY].*\00^[\EF\CFnN].*\00^[\CE\BD\CE\9DyY].*\00^[\CE\BF\CE\9FnN].*\00[yY].*\00^[yYoO].*\00^[1JjsSyYoO].*\00^[0nN].*\00Yes\00No\00^[JjYy].*\00^[sSyY].*\00^[EeNn].*\00^[bBsSyY].*\00^[eEnN].*\00[yY\D8\A8f].*\00[nN\D8\AE\D9\86o].*\00^[KkJjYy].*\00^[NnEe].*\00^[Nn].*\00^[oOjJyY1].*\00^[nN0].*\00^[oOyY].*\00^[OojJsSyY].*\00^[tTyY].*\00^[Yy\EB].*\00^[Nn\EC].*\00^[Yy\D7\9B].*\00^[Nn\D7\9C].*\00^[dDyY].*\00^[IiYy].*\00[yYsS\B3\B2].*\00[nN\E1\E0].*\00\B3\DB\E1\00\E1\E3\00[tTnN].*\00^[sSjJoOyY].*\00^([yY\EF\BD\99\EF\BC\B9]|\E3\81\AF\E3\81\84|\E3\83\8F\E3\82\A4)\00^([nN\EF\BD\8E\EF\BC\AE]|\E3\81\84\E3\81\84\E3\81\88|\E3\82\A4\E3\82\A4\E3\82\A8)\00\E3\81\AF\E3\81\84\00\E3\81\84\E3\81\84\E3\81\88\00[1yYkKxX\E1].*\00[0nNaA\C0].*\00[1yYkKxX\E1\83\AE].*\00[0nNaA\E1\83\90].*\00^[JjYyAa].*\00^[yY\EC\98\88]\00^[nN\EC\95\84\EB\8B\88\EC\98\A4]\00[eE].*\00^[TtYy].*\00^[1yY\E2\C2\E4\C4aA].*\00^[0nNkK].*\00\E2e\00k\E2ore\00^[1yY\C4\81\C4\80\C3\A4\C3\84aA].*\00\C4\81e\00k\C4\81ore\00[\B4\D4DdYy1].*\00[\BD\DDNn0].*\00\D4\D0\00\DD\D5\00[\D0\94\D0\B4DdYy1].*\00[\D0\9D\D0\BDNn0].*\00\D0\B4\D0\B0\00\D0\BD\D0\B5\00^(Yes|[yY])\00^(No|[nN])\00^[tT]\00Ya\00Tidak\00[oOsS].*\00^[SsyY].*\00^[DdYy].*\00^[\E4\C4Yy].*\00^[\EE\CENn].*\00^[\B4\D4Yy].*\00^[\BD\DDNn].*\00[\E4\C4Yy].*\00[\EE\CENn].*\00[\D0\94\D0\B4Yy].*\00[\D0\9D\D0\BDNn].*\00^[Ii].*\00[aA\E1\C1yY].*\00\E1no\00nie\00[aA\C3\A1\C3\81yY].*\00\C3\A1no\00^[YyJj].*\00[dDyY1].*\00[nN0].*\00[\B4\D4Yy].*\00[\BD\DDNn].*\00^[\E0\AE\86\E0\AE\AE\E0\AF\8D]\00^[\E0\AE\87\E0\AE\B2\E0\AF\8D\E0\AE\B2\E0\AF\88]\00\E0\AE\86\E0\AE\AE\E0\AF\8D\00\E0\AE\87\E0\AE\B2\E0\AF\8D\E0\AE\B2\E0\AF\88\00^[\E0\B0\85]\00^[\E0\B0\95]\00\E0\B0\85\E0\B0\B5\E0\B0\A8\E0\B1\81\00\E0\B0\95\E0\B0\BE\E0\B0\A6\E0\B1\81\00\C4\C1\00\CE\C5\D4\00\D0\BD\D0\B5\D1\82\00^[yY\AA]\00^[nN\C1]\00\E3\AA\E8\00\E4\C1\E8\E3\AA\E8\00^[yY\E0\B8\8A]\00^[nN\E0\B8\A1]\00\E0\B9\83\E0\B8\8A\E0\B9\88\00\E0\B9\84\E0\B8\A1\E0\B9\88\E0\B9\83\E0\B8\8A\E0\B9\88\00^[eE].*\00^[hH].*\00evet\00hay\FDr\00hay\C4\B1r\00\D3\98\D0\B9\D0\B5\00\D0\AE\D0\BA\00[\F4\D4Yy].*\00[\D0\A2\D1\82Yy].*\00[yY\D9\87\D8\A8f].*\00[nN\D9\86o].*\00\D8\A8\D9\84\D9\83\D9\84\00\D9\86\D9\87\D9\8A\DA\BA\00^[YyHh].*\00^[JjNn].*\00Ha\00Yo'q\00[oOyYaAwW].*\00Oyi\00Neni\00^[Yy\E9].*\00^[Nn\F0\F7].*\00\E9\E0\C7\00\F7\D6\EF\00^[Yy\D7\99].*\00^[Nn\D7\A0\D7\A7].*\00\D7\99\D7\90\D6\B7\00\D7\A7\D7\B2\D7\9F\00^[yY\E6\98\AF]\00^[nN\E4\B8\8D\E5\90\A6]\00", [23 x %struct.__codeset_8_bit_t.202] [%struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\01\02\03\04\04\04\04\04\04\04\04\05", [16 x i8] c"\00\00\00\00\01\02\03\04\04\04\04\04\04\04\04\05", [16 x i8] c"\00\01\02\03\04\05\06\07\08\09\0A\0B\0C\0D\0E\0F", [38 x i8] c"\00\01\01\01\01\02\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\03\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06", [16 x i8] zeroinitializer, [16 x i8] c"\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10", [38 x i8] c"\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\07\08\09\0A\0B\0C\0D\0E\0F\0F\0F\0F\10\10\10\10", [16 x i8] c"\06\07\08\07\09\0A\0B\0C\0D\0D\0D\0D\0D\0D\0D\0D", [16 x i8] c"\11\12\13\14\15\16\17\18\19\1A\1B\1C\1D\1E\1F ", [38 x i8] c"\04\01\01\01\05\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\06\07\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\11\12\13\12\02\02\14\02\02\15\16\17\18\18\18\19", [16 x i8] zeroinitializer, [16 x i8] c"!\22#$%&'()*+,-./0", [38 x i8] c"\08\09\0A\01\01\0B\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\0C\0D\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\1A\1B\1C\1D\02\1E\14\1E\18\18\18\18\1F\10 \10", [16 x i8] c"\00\0E\00\0F\00\00\00\00\00\00\00\00\00\00\00\10", [16 x i8] c"123456'789:;<=>?", [38 x i8] c"\0E\0F\0A\01\01\01\01\01\01\01\01\01\01\01\01\01\10\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\11\0D\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\02\1E\14\1E\0F\0F!\22\10\10 \10", [16 x i8] c"\00\00\00\00\00\00\00\00\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\0356'7@ABCD=>?", [38 x i8] c"\12\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00#$%&\0F\0F\0F\22\10\10\10'", [16 x i8] c"\00\00\00\00\12\13\12\13\0D\0D\0D\11\0D\0D\0D\11", [16 x i8] c"\00\01\02\03EFGHIJKLMNOP", [38 x i8] c"\13\14\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\15\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\02\0C\14(\0F\0F!\22\10\10 ", [16 x i8] c"\00\00\00\00\00\0A\00\0A\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\03QRSTUVWXYZ[\\", [38 x i8] c"\16\17\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\18\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00)*+,\0F\0F\0F\22\10\10\10\10", [16 x i8] c"\00\00\00\00\14\15\16\17\0D\0D\0D\11\0D\0D\0D\18", [16 x i8] c"\00\01\02\03]^_`@AabD=cd", [38 x i8] c"\19\1A\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\1B\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00-./0\0F\0F!\22\10\10 \10", [16 x i8] c"\00\00\00\00\19\1A\1B\1C\0D\0D\11\11\0D\0D\11\1D", [16 x i8] c"\00\01\02\03efgh@ABCD=>?", [38 x i8] c"\1C\1D\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\1E\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\001234\0F\0F\0F\22\10\10\10\10", [16 x i8] c"\00\00\00\00\1E\1F !\0D\0D\0D\11\0D\0D\0D\1D", [16 x i8] c"\00\01\02\03ijklmAnop=qr", [38 x i8] c"\1F !\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\22\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\005678\0F\0F!\22\10\10 ", [16 x i8] c"\00\00\00\00\22#\22#\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\03stuvwxyz{|}~", [38 x i8] c"#$%\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\009:;<=\0F>\22?\10@ ", [16 x i8] c"\00\00\00\00$%$&'\0D(\11'\0D(\11", [16 x i8] c"\00\01\02\03\7F\80\81\82\83A\84\85\86=\87\88", [38 x i8] c"&'(\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00AB7C\0F\0F!\22\10\10 ", [16 x i8] c"\00\00\00\00\22)\22*\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\03\89\8A\8B\8CI\8D\8E\8FM\90\91\92", [38 x i8] c")*+\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00D$\0F\0F\0F\0F\10\10\10\10E&", [16 x i8] c"\00\00\00\00+,\0D\0D\0D\0D\0D\0D\0D\0D+,", [16 x i8] c"\00\01\02\03\93\94\19\1A\1B\1C\1D\1E\1F \95\96", [38 x i8] c",\01\01\01-\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01.\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00FG\06HI\18\18J\18KL\06", [16 x i8] zeroinitializer, [16 x i8] c"\00\01\02\03\97\98\10\99\9A\9B\9C\9D\9E\9F\A0\10", [38 x i8] c"/\01\01\01\01\010\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00MN-OP\0FQRS\10\10T", [16 x i8] c"\00\00\00\00\00\00-./\0D01/\0D23", [16 x i8] c"\00\01\02\03\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC", [38 x i8] c"1\01\012\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\013\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00U\02\14V\06\06\06W\18\18\18\19", [16 x i8] zeroinitializer, [16 x i8] c"\00\01\02\03\AD&'\AE\10\10\10\AF-./0", [38 x i8] c"4\01\01\01\015\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\016\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\02\1E\14\1E\0F\0F!\22\10\10 \10", [16 x i8] c"\00\00\00\00\00\00\00\00\0D\0D\114\0D\0D\115", [16 x i8] c"\00\01\02\0356'7@A\B0\B1D=\B2\B3", [38 x i8] c"78\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\02\02\02\02X\02Y\02\10\10\10\10\0F\0F\0F\0F", [16 x i8] c"\00\00\00\006\006\0077777777", [16 x i8] c"\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\BF\C0\C1\C2\C3", [38 x i8] c"9\01\01\01:\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01;<\01=" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"Z[\\]^_`a\10\10\10\10\0F\0F\0F\0F", [16 x i8] c"89:\00;\00<\0077777777", [16 x i8] c"\C4\C5\C6\C7\C8\C9\CA\CB\BC\BD\BE\BF\C0\C1\C2\C3", [38 x i8] c">\01\01\01?\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\11\07\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\02\02\02\02b\14cd\10\10\10\10\0F\0F\0F\0F", [16 x i8] c"\00\00\00\00=>=>77777777", [16 x i8] c"\B4\B5\B6\B7\CC\CD\CE\CF\BC\BD\BE\BF\C0\C1\C2\C3", [38 x i8] c"9\01\01\01@\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01;<\01A" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\06\06\06\06I\18\18\18\18e\18fge\18h", [16 x i8] zeroinitializer, [16 x i8] c"\10\10\10\10\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB", [38 x i8] c"\01\01\01\01\01\01\01\01\01\01\01\01\01\01B\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }], [20 x i8] c"\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\01\01\01\01\01", [10 x i16] [i16 0, i16 2, i16 4, i16 6, i16 8, i16 10, i16 12, i16 14, i16 16, i16 18], [20 x i16] [i16 1, i16 21, i16 3, i16 24, i16 5, i16 27, i16 7, i16 30, i16 9, i16 33, i16 11, i16 36, i16 13, i16 39, i16 15, i16 42, i16 17, i16 45, i16 19, i16 48], [45 x i8] c"\00\00\00\01\01\01\00\02\01\00\02\02\01\00\01\01\00\00\01\03\01\01\04\01\00\05\01\01\01\00\02\06\01\01\05\00\01\07\01\01\05\01\00\02\03", [3 x i16] [i16 0, i16 3, i16 11], [15 x i16] [i16 1, i16 3, i16 17, i16 0, i16 1, i16 3, i16 10, i16 12, i16 15, i16 20, i16 23, i16 0, i16 5, i16 7, i16 25], [3894 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\03\03\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\03\03\04\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\04\04\05\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\05\04\06\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\06\05\07\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\07\05\08\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\08\06\09\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\09\06\0A\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0A\07\0B\02\02\02\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\0B\08\0C\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0C\08\0D\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0D\09\0E\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0E\09\0F\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0F\0A\10\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\10\0A\11\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\11\0B\12\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\12\0B\13\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\13\0C\14\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\14\0C\15\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\15\0D\16\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\16\0D\17\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\17\0E\18\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\18\0E\19\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\19\0F\1A\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1A\0F\1B\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1B\10\1C\02\00\00\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01\1C\10\1D\02\00\00\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01\1D\11\1E\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1E\11\1F\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1F\12 \02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02 \12!\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02!\13\22\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\22\13#\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02#\14$\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02$\14%\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02%\15&\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01&\16'\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01'\16(\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01(\17)\01\04\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01)\17*\01\05\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01*\00+\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01+\07,\02\02\03\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01,\18-\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01-\18.\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01.\19/\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01/\18-\01\01\03\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\01\03\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\011\180\01\01\03\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\012\1A1\01\04\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\013\1A2\01\05\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\014\1B3\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\015\1B4\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\016\1C5\01\01\01\00\01\01\01\01\03\01\03\02\03\01\03\01\03\02\037\18-\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\011\180\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\012\18-\01\01\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\030\18.\01\01\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\031\180\01\01\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\032\1D6\02\03\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\038\18-\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01-\18.\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01.\180\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\019\18-\01\01\01\00\01\04\04\02\01\01\01\01\01\02\01\01\01\01\01-\18.\01\01\01\00\01\04\04\02\01\01\01\01\01\02\01\01\01\01\01.\1E\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\1F7\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01: \02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\1C0\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\012\1C8\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01;!9\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04<\18-\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\010\18.\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\011\180\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\012\22\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02#:\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04=$\02\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04\02%\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\01\01\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01&;\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01>\18<\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01?'\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02(=\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01@)\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02*\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02+>\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01A,\02\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02-\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02\18-\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\011\180\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\012.?\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01B/@\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01C0\02\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\021A\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01D2B\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01E3C\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01F%\02\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\024D\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01G5E\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01H5F\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01I6G\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01J7H\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01K85\01\04\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01785\01\05\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\017\18-\01\01\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\01\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\011\180\01\01\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\0129I\03\06\01\00\01\03\03\02\02\02\02\01\01\02\02\02\02\01\01L\18-\01\01\01\00\01\01\01\02\03\02\03\01\01\02\03\02\03\01\01-\18.\01\01\01\00\01\01\01\02\03\02\03\01\01\02\03\02\03\01\01.\180\01\01\01\00\01\01\01\02\03\02\03\01\01\02\03\02\03\01\019 \02\01\03\01\00\01\01\01\02\02\02\02\01\04\02\02\02\02\01\04M\180\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\019:J\02\02\01\00\01\01\01\01\02\01\02\03\02\01\02\01\02\03\02N:K\02\02\01\00\01\01\01\01\02\01\02\03\02\01\02\01\02\03\02O\07L\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01P;M\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01QQ\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01U?5\01\01\01\00\01\03\03\02\02\02\02\01\01\02\02\02\02\01\01V@R\02\02\01\00\01\03\03\01\01\01\01\01\03\01\01\01\01\01\03WAS\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01XAT\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01YBU\02\02\01\00\01\03\03\01\01\01\01\01\03\01\01\01\01\01\03ZCV\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01[DW\01\04\01\00\01\01\01\01\02\01\02\04\05\01\02\01\02\04\05\\DW\01\05\01\00\01\01\01\01\02\01\02\04\05\01\02\01\02\04\05\\EX\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01]EY\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01^\07Z\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01_F[\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04`G\\\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04a\18-\01\03\01\00\01\01\01\01\02\01\02\01\02\01\02\01\02\01\020\18.\01\03\01\00\01\01\01\01\02\01\02\01\02\01\02\01\02\01\021\180\01\03\01\00\01\01\01\01\02\01\02\01\02\01\02\01\02\01\022H5\01\04\01\00\01\01\01\01\02\01\01\01\05\01\02\01\01\01\057H5\01\05\01\00\01\01\01\01\02\01\01\01\05\01\02\01\01\01\057H5\01\01\01\00\01\01\01\01\01\01\01\02\03\01\01\01\01\02\037I]\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01bI^\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01cJ_\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01d\18-\04\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01-\18.\04\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01.\180\04\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\019K`\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01eLa\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01fLb\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01gL(\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01(Mc\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01hMd\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01iHe\01\01\01\00\01\01\01\01\01\01\01\02\03\01\01\01\01\02\03jNf\01\04\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01kNf\01\05\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01kOg\01\03\01\00\01\01\01\02\03\02\03\03\02\02\03\02\03\03\02lPh\01\01\01\00\01\02\02\01\01\01\01\01\01\01\01\01\01\01\01mQi\01\03\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\01nQj\01\03\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\01oQk\01\03\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\01pR5\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01V\07L\02\02\03\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01PSl\02\02\01\00\01\01\01\01\03\01\03\02\03\01\03\01\03\02\03qSm\02\02\01\00\01\01\01\01\03\01\03\02\03\01\03\01\03\02\03rT\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02#n\02\02\01\00\01\01\01\01\01\01\02\01\01\01\01\01\02\01\01sUo\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01tVp\02\02\01\00\01\01\01\01\02\01\01\03\01\01\02\01\01\03\01uWq\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01vXr\01\01\01\00\01\01\01\02\01\01\01\01\01\02\01\01\01\01\01w%\02\02\02\01\00\01\01\01\01\02\01\02\03\02\01\02\01\02\03\02\02YR\02\02\01\00\01\01\01\01\01\01\01\02\03\01\01\01\01\01\01WZs\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01x", [22 x i16] [i16 0, i16 91, i16 207, i16 212, i16 219, i16 223, i16 224, i16 226, i16 231, i16 236, i16 239, i16 243, i16 246, i16 250, i16 255, i16 261, i16 264, i16 268, i16 271, i16 275, i16 280, i16 286], [407 x i16] [i16 0, i16 5, i16 25, i16 35, i16 66, i16 97, i16 128, i16 159, i16 176, i16 207, i16 238, i16 269, i16 300, i16 331, i16 362, i16 393, i16 424, i16 459, i16 490, i16 521, i16 552, i16 583, i16 601, i16 630, i16 697, i16 720, i16 747, i16 768, i16 785, i16 799, i16 816, i16 821, i16 833, i16 845, i16 859, i16 864, i16 878, i16 883, i16 888, i16 906, i16 911, i16 923, i16 928, i16 933, i16 943, i16 948, i16 953, i16 963, i16 975, i16 980, i16 992, i16 1004, i16 1016, i16 1030, i16 1047, i16 1059, i16 1073, i16 1078, i16 1111, i16 1149, i16 1161, i16 1173, i16 1190, i16 1202, i16 1211, i16 1225, i16 1244, i16 1258, i16 1270, i16 1282, i16 1326, i16 1338, i16 1350, i16 1355, i16 1376, i16 1388, i16 1402, i16 1425, i16 1457, i16 1469, i16 1483, i16 1497, i16 1535, i16 1540, i16 1559, i16 1573, i16 1585, i16 1597, i16 1613, i16 1627, i16 1632, i16 0, i16 10, i16 30, i16 40, i16 51, i16 71, i16 82, i16 102, i16 113, i16 133, i16 144, i16 164, i16 181, i16 192, i16 212, i16 223, i16 243, i16 254, i16 274, i16 285, i16 305, i16 316, i16 336, i16 347, i16 367, i16 378, i16 398, i16 409, i16 429, i16 440, i16 464, i16 475, i16 495, i16 506, i16 526, i16 537, i16 557, i16 568, i16 588, i16 606, i16 615, i16 635, i16 644, i16 658, i16 667, i16 702, i16 711, i16 725, i16 742, i16 752, i16 759, i16 773, i16 778, i16 790, i16 804, i16 826, i16 838, i16 850, i16 869, i16 893, i16 697, i16 916, i16 938, i16 958, i16 968, i16 985, i16 997, i16 1009, i16 1021, i16 1035, i16 1040, i16 1052, i16 1064, i16 1083, i16 1116, i16 1123, i16 1134, i16 1154, i16 1166, i16 1178, i16 1183, i16 1195, i16 1216, i16 1230, i16 1235, i16 1249, i16 1263, i16 1275, i16 1287, i16 1296, i16 1311, i16 1331, i16 1343, i16 1360, i16 1367, i16 1381, i16 1393, i16 1407, i16 1416, i16 1430, i16 1437, i16 1448, i16 1462, i16 1474, i16 1488, i16 1502, i16 1511, i16 1520, i16 1545, i16 1550, i16 1564, i16 1578, i16 1590, i16 1602, i16 1618, i16 1637, i16 0, i16 12, i16 14, i16 1092, i16 30, i16 0, i16 14, i16 12, i16 593, i16 638, i16 649, i16 1095, i16 0, i16 16, i16 168, i16 680, i16 0, i16 0, i16 3, i16 1, i16 18, i16 16, i16 0, i16 793, i16 1, i16 18, i16 16, i16 0, i16 793, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 793, i16 18, i16 16, i16 1, i16 20, i16 18, i16 793, i16 0, i16 16, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 793, i16 18, i16 16, i16 1, i16 20, i16 18, i16 793, i16 0, i16 16, i16 3, i16 22, i16 32, i16 45, i16 58, i16 76, i16 89, i16 107, i16 120, i16 138, i16 151, i16 171, i16 186, i16 199, i16 217, i16 230, i16 248, i16 261, i16 279, i16 292, i16 310, i16 323, i16 341, i16 354, i16 372, i16 385, i16 403, i16 416, i16 434, i16 449, i16 469, i16 482, i16 500, i16 513, i16 531, i16 544, i16 562, i16 575, i16 595, i16 610, i16 622, i16 640, i16 652, i16 662, i16 683, i16 706, i16 715, i16 728, i16 732, i16 737, i16 744, i16 755, i16 763, i16 775, i16 781, i16 795, i16 808, i16 813, i16 829, i16 841, i16 854, i16 873, i16 896, i16 900, i16 919, i16 940, i16 960, i16 971, i16 988, i16 1000, i16 1012, i16 1025, i16 1037, i16 1043, i16 1055, i16 1068, i16 1098, i16 1108, i16 1119, i16 1128, i16 1141, i16 1157, i16 1169, i16 1180, i16 1186, i16 1198, i16 1207, i16 1220, i16 1232, i16 1239, i16 1253, i16 1266, i16 1278, i16 1291, i16 1303, i16 1318, i16 1334, i16 1346, i16 1363, i16 1371, i16 1384, i16 1397, i16 1411, i16 1420, i16 1433, i16 1442, i16 1452, i16 1465, i16 1478, i16 1492, i16 1506, i16 1515, i16 1527, i16 1547, i16 1554, i16 1568, i16 1581, i16 1593, i16 1607, i16 1622, i16 1641], [8250 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\00\00\00\00\01\00\00\00\00\01\00\01\01\01\01\00\01\01\01\01\00\01\00\01\01\01\01\01\01\01\00\00\00\00\00\00\02\02\02\02\02\02\02\02\02\02\02\02\02\02\01\01\01\01\02\01\01\01\01\02\01\02\02\02\02\01\02\02\02\02\01\02\01\02\02\02\02\02\02\00\00\00\00\00\00\00\03\03\03\03\03\03\03\03\03\03\03\03\03\03\02\02\02\02\03\02\02\02\02\03\02\03\03\03\03\02\03\03\03\03\02\03\02\03\03\03\03\03\03\02\00\00\00\00\00\00\04\04\04\04\04\04\04\04\04\04\04\04\04\04\03\03\03\03\04\03\03\03\03\04\03\04\04\04\04\03\04\04\04\04\03\04\03\04\04\04\03\03\03\02\00\00\00\00\00\00\03\03\03\03\03\03\03\03\03\03\03\03\03\05\02\02\02\02\03\02\02\02\02\03\02\03\03\03\03\02\03\03\03\03\02\03\02\03\03\03\03\03\03\02\00\00\00\00\00\00\04\04\04\04\04\04\04\04\04\04\04\04\04\06\03\03\03\03\04\03\03\03\03\04\03\04\04\04\04\03\04\04\04\04\03\04\03\04\04\04\03\03\03\02\00\00\00\00\00\00\04\04\04\04\04\04\04\04\04\04\04\04\04\06\03\03\03\03\04\03\03\03\03\04\03\04\04\04\04\03\04\04\04\04\03\04\03\04\04\04\04\04\04\03\00\00\00\00\00\00\05\05\05\05\05\05\05\03\03\03\03\03\03\05\04\04\04\04\05\04\04\04\04\05\04\05\05\05\05\04\05\05\05\05\04\05\04\05\03\03\03\03\03\02\00\00\00\00\00\00\06\06\06\06\06\06\06\04\04\04\04\04\04\06\05\05\05\05\06\05\05\05\05\06\05\06\06\06\06\05\06\06\06\06\05\06\05\06\04\04\03\03\03\02\00\00\00\00\00\00\00\00\00\00\00\00\00\03\05\03\03\03\05\05\00\00\00\00\00\00\00\00\00\00\00\00\05\05\05\06\07\05\07\05\04\05\04\05\05\05\05\05\05\04\00\00\00\00\00\00\00\00\00\00\00\00\00\04\06\04\04\04\06\06\00\00\00\00\00\00\00\00\00\00\00\00\06\06\06\07\08\06\08\06\05\06\05\06\05\05\05\05\05\04\00\00\00\00\00\00\05\05\05\05\05\05\05\03\03\03\03\03\03\05\04\04\04\04\05\04\04\04\04\05\04\05\05\05\05\04\09\07\05\05\04\05\04\05\03\03\03\03\03\02\00\00\00\00\00\00\06\06\06\06\06\06\06\04\04\04\04\04\04\06\05\05\05\05\06\05\05\05\05\06\05\06\06\06\06\05\0A\08\06\06\05\06\05\06\04\04\03\03\03\02\00\00\00\00\00\00\07\07\07\07\07\07\07\05\07\05\05\05\07\07\06\06\00\00\00\06\06\06\06\01\06\07\07\07\07\08\0B\09\09\07\06\07\06\07\05\05\06\06\01\01\00\00\00\00\00\00\07\07\07\08\08\08\07\06\08\06\06\06\08\08\06\06\00\00\00\07\07\06\06\01\06\07\07\07\07\08\0B\09\09\07\06\07\06\07\05\05\06\06\01\01\00\00\00\00\00\00\08\08\08\09\09\09\08\07\09\07\07\07\09\09\07\07\06\06\07\08\08\07\07\07\07\08\08\08\08\09\0C\0A\0A\08\07\08\07\08\05\05\07\06\01\01\00\00\00\00\00\00\09\09\09\0A\0A\0A\09\08\0A\08\08\08\0A\0A\08\08\07\07\08\09\09\08\08\08\08\09\09\09\09\0A\0D\0B\0B\09\08\09\08\09\05\05\07\06\01\01\00\00\00\00\00\00\0A\0A\0A\0B\0B\0B\0A\09\0B\09\09\09\0B\0B\09\09\08\08\09\0A\0A\09\09\09\09\0A\0A\0A\0A\0B\0E\0C\0C\0A\09\0A\09\0A\05\05\08\07\06\05\00\00\00\00\00\00\0B\0B\0B\0C\0C\0C\0B\0A\0C\0A\0A\0A\0C\0C\0A\0A\09\09\0A\0B\0B\0A\0A\0A\0A\0B\0B\0B\0B\0C\0F\0D\0D\0B\0A\0B\0A\0B\05\05\08\07\06\05\00\00\00\00\00\00\0C\0C\0C\0D\0D\0D\0C\0B\0D\0B\0B\0B\0D\0D\0B\0B\0A\0A\0B\0C\0C\0B\0B\0B\0B\0C\0C\0C\0C\0D\10\0E\0E\0C\0B\0C\0B\0C\06\06\09\08\04\03\00\00\00\00\00\00\0C\0C\0C\0D\0D\0D\0C\0B\0D\0B\0B\0B\0D\0D\0C\0C\0B\0B\0B\0C\0D\0C\0C\0B\0B\0C\0C\0C\0C\0D\10\0E\0E\0C\0C\0D\0C\0D\07\07\09\08\04\03\00\00\00\00\00\00\0D\0D\0D\0E\0E\0E\0D\0C\0E\0C\0C\0C\0E\0E\0D\0D\0C\0C\0C\0D\0E\0D\0D\0C\0C\0D\0D\0D\0D\0E\11\0F\0F\0D\0D\0E\0D\0E\08\08\0A\06\01\06\00\00\00\00\00\00\0E\0E\0E\0F\0F\0F\0E\0D\0F\0D\0D\0D\0F\0F\00\00\00\00\0D\00\00\00\00\01\00\00\0E\0E\0E\00\12\10\10\00\0E\0F\0E\0F\05\05\07\06\01\01\00\00\00\00\00\00\0E\0E\0E\0F\10\0F\0E\0D\0F\0D\0D\0E\0F\0F\00\00\00\00\0D\00\00\00\00\01\00\00\0E\0E\0E\00\12\10\10\00\0E\0F\0E\0F\05\05\07\06\01\01\00\00\00\00\00\00\0F\0F\0F\10\11\10\0F\0E\10\0E\0E\0F\10\10\0E\0E\0D\0D\0E\0E\0F\0E\0E\0D\0D\0E\0F\0F\0F\0F\13\11\11\0E\0F\10\0F\10\05\05\01\01\01\01\00\00\00\00\00\00\0F\0F\0F\10\11\10\0F\0E\10\0E\0E\0F\10\10\0E\0E\0D\0D\0E\0E\0F\0E\0E\0D\0D\0E\0F\0F\10\0F\13\11\11\0E\0F\10\0F\10\05\05\01\01\01\01\00\00\00\00\00\00\10\10\10\11\12\11\10\0F\11\0F\0F\10\11\11\0F\0F\0E\0E\0F\0F\10\0F\0F\0E\0E\0F\10\10\11\10\14\12\12\0F\10\11\10\11\05\05\0B\06\00\07\00\00\00\00\00\00\10\10\11\11\13\12\10\10\12\10\10\11\12\11\0F\10\0F\0E\10\10\11\0F\10\0F\0E\0F\10\11\12\10\15\13\13\0F\11\12\10\11\05\05\0C\06\00\07\00\00\00\00\00\00\11\11\12\12\14\13\11\11\13\11\11\12\13\12\10\11\10\0F\11\11\12\10\11\10\0F\10\11\12\13\11\16\14\14\10\12\13\11\12\05\05\0D\09\01\01\00\00\00\00\00\00\12\12\13\13\15\14\12\12\14\12\12\13\14\13\11\0E\0D\10\12\0E\0F\11\12\11\0D\11\12\13\14\12\17\15\15\11\13\14\12\13\05\05\01\0A\01\01\00\00\00\00\00\00\13\12\13\13\15\14\13\13\14\12\12\13\14\14\11\0E\0D\10\12\0E\0F\11\12\11\0D\11\12\13\14\12\17\15\15\11\13\14\12\13\05\05\01\0A\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\12\00\11\00\11\00\00\00\00\01\00\12\13\14\15\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\13\00\12\00\11\00\00\00\00\01\00\12\14\14\16\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\11\00\11\00\00\00\00\01\00\12\0E\0E\15\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\12\00\11\00\00\00\00\01\00\12\0E\0E\16\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\11\00\11\00\00\00\00\01\00\12\0E\0E\15\00\16\10\10\00\00\01\00\14\05\05\01\06\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\12\00\11\00\00\00\00\01\00\12\0E\0E\16\00\16\10\10\00\00\01\00\14\05\05\01\06\01\01\00\00\00\00\00\00\15\13\15\15\17\16\15\15\16\14\14\15\16\16\14\12\13\11\13\12\13\12\13\12\10\13\15\15\17\13\18\16\16\12\14\15\13\15\05\05\01\02\01\01\00\00\00\00\00\00\16\14\16\16\18\17\16\16\17\15\15\16\17\17\15\13\14\12\14\13\14\13\14\13\11\14\16\16\18\14\19\17\17\13\15\16\14\16\05\05\01\02\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\05\01\01\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\01\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\05\0F\0B\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\10\0C\07\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\04\04\04\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\11\0D\04\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\12\0E\04\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\0F\02\00\00\00\00\00\00\00\17\0D\17\0E\19\18\17\17\18\16\16\17\18\18\00\00\00\00\0D\00\00\14\00\01\00\00\17\17\19\15\1A\18\18\14\16\17\15\17\05\05\13\0B\01\01\00\00\00\00\00\00\18\0D\17\17\1A\19\18\18\19\17\17\18\19\19\16\0E\0D\0D\15\0E\0F\0E\12\0D\0D\15\18\18\1A\0F\1B\19\19\15\17\10\16\18\05\05\01\01\01\01\00\00\00\00\00\00\18\0D\17\18\1A\19\19\18\19\17\18\18\19\1A\16\0E\0D\0D\15\0E\0F\0E\12\0D\0D\15\18\18\1A\0F\1B\19\19\15\17\10\16\18\05\05\01\01\01\01\00\00\00\00\00\00\19\15\18\19\1B\1A\1A\19\1A\18\19\19\1A\1B\17\14\15\13\16\14\15\15\15\14\12\16\19\19\1B\16\1C\1A\1A\11\13\18\12\19\05\05\01\06\01\01\00\00\00\00\00\00\19\15\18\19\1B\1A\1A\1A\1B\19\1A\1A\1A\1C\17\14\16\13\16\14\15\15\15\14\12\16\19\19\1C\16\1C\1A\1A\11\13\18\12\19\05\05\01\06\01\01\00\00\00\00\00\00\1A\16\19\1A\1C\1B\1B\1B\1C\1A\1B\1B\1B\1D\18\15\0D\14\0E\15\16\16\16\15\13\17\1A\1A\1D\17\1D\1B\1B\16\18\19\17\1A\05\05\14\10\01\01\00\00\00\00\00\00\1B\17\1A\1B\1D\1C\1C\1C\1D\1B\1C\1C\1C\1E\19\16\03\15\17\16\17\17\17\16\14\18\1B\1B\04\18\1E\1C\1C\17\19\1A\18\1B\09\09\15\11\00\09\00\00\00\00\00\00\1C\18\1B\1C\1E\1D\1D\1D\1E\1C\1D\1D\1D\1F\1A\17\17\16\18\17\18\18\18\17\15\19\1C\1C\1E\19\1F\1D\1D\18\1A\1B\19\1C\05\05\16\06\01\01\00\00\00\00\00\00\1C\18\1B\1C\1E\1D\1D\1D\1E\1C\1D\1D\1D\1F\1B\18\17\17\19\18\19\19\19\18\15\1A\1C\1C\1E\19\1F\1E\1E\18\1A\1B\19\1C\05\05\16\06\01\01\00\00\00\00\00\00\1D\19\1C\1D\1F\1E\1E\1E\1F\1D\1E\1E\1E \11\0E\0D\10\0E\0E\0F\11\12\11\0D\0E\12\13\1F\1A\1C\15\15\11\13\14\12\1D\05\05\01\12\01\01\00\00\00\00\00\00\1D\1A\1D\1D \1F\1E\1E \1E\1E\1F\1F \11\0E\0D\10\0E\0E\0F\11\12\11\0D\0E\12\13\1F\1B\1C\15\15\11\13\14\12\1D\05\05\01\12\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\01\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\01\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\0B\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\0B\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\13\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\13\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\06\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\06\01\01\00\00\00\00\00\00\1E\1B\1E\1E\22 \22 !!\22\1C\1B\18\19\1A\19\1B\1C\1A\19\16\1D\1E\1F \1D \1B\1C\1D\1A \05\05\01\09\01\01\00\00\00\00\00\00\1E\1B\1F\1F# !#!!\22\22#\1C\1B\19\19\1A\19\1C\1D\1B\1A\16\1D\1F\1F!\1E! !\1C\1D\1E\1B!\05\05\01\09\01\01\00\00\00\00\00\00\1F\1C $!!\22$\22\22##$\1D\1C\1A\1A\1B\1A\1D\1E\1C\1B\17\1E \22\1F\22!\22\1D\1E\1F\1C\22\05\05\01\01\01\01\00\00\00\00\00\00\1F\1C $!!#$#\22##$\1D\1C\1B\1A\1C\1A\1D\1F\1C\1B\17\1F #\1F#\22\22\1E\1E\1F\1C#\05\05\01\01\01\01\00\00\00\00\00\00 \1D!!%\22\22$%$#$$%\1E\00\00\1B\11\1B\1E \1D\1C\00\00!!$ $##\1F\1F \15\17\05\05\01\01\01\01\00\00\00\00\00\00 \1D!\22%\22#$%$$$$&\1E\00\00\1B\11\1C\1E \1D\1C\00\00!!$ $$#\1F\1F \15\17\05\05\01\01\01\01\00\00\00\00\00\00!\1E\22#&#$%&%%%%'\1F\1D\1C\1C\1D\1D\1F!\1E\1D\18 \22\22%!%%$ !\1D$\05\05\01\01\01\01\00\00\00\00\00\00\22\1F#$'$%&'&&&&( \1E\1D\1D\1E\1E \22\1F\1E\19!##&\22&&%!!\22\1E%\00\00\17\01\00\0A\00\00\00\00\00\00# $%(%&'('''')!\1F\1E\1E\1F\1F!# \1F\1A\22$$'#''&\22\22#\1F&\00\00\17\01\00\0A\00\00\00\00\00\00$!%&)&'()((((*\22 \1F\1F \22$! \1B#%%($(('##$ '\0A\0A\09\08\04\03\00\00\00\00\00\00\0E\0E\0E\0F\0F\0F\0E\0D\0F\0D\0D\0D\0F\0F#! !!#%\22!\1C$&&)%))($$%!(\05\05\07\06\01\01\00\00\00\00\00\00\0E\0E\0E\0F\10\0F\0E\0D\0F\0D\0D\0E\0F\0F#!! !!#%\22!\1C$''*%))($$%!(\05\05\07\06\01\01\00\00\00\00\00\00%\22&'*'()*))))+\11\0E\22!\22\22$\11#\11\0D\11((+&**)%%&\12\13\05\05\18\0B\08\0B\00\00\00\00\00\00%\22&'*'(*+))**+\11\0E#\22##%\11#\11\0D\11)),'++*%%'\12\13\05\05\18\0B\08\0B\00\00\00\00\00\00&#'(+()+,**++,$\22$#$$&&$\22\1D%**-(,,+&&(\22)\05\05\0E\00\02\01\00\00\00\00\00\00'$(),)*,-++,,-%#%$%%''%#\1E&++.)--,'')#*\05\05\0E\00\02\01\00\00\00\00\00\00(%)*-*+-.,,--.\00$\00\00\01\00\00(\00\01\00\01,,/\00\01\10\10(\00\01\00\01\05\05\0E\01\01\01\00\00\00\00\00\00\00&*+.+,./--../\00\00\00\00&&()\00\01\1F\01--0*..-)\00*$\01\0B\0B\19\14\01\01\00\00\00\00\00\00\00'+,.,,.0...//\00\00\00\00'')*\00\01 \01..0+//.*\00+%\01\0B\0B\19\14\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/1///0\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\13\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/20001\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\13\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/1///0\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\02\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/20001\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\02\01\01\00\00\00\00\00\00)(,-0--0311120&%&%))++&%!'001-110+)-&,\0C\0C\1A\15\09\0C\01\00\01\01\01\00*)-.1..1422231'&'&**,,'&\22(112.221,*.'-\05\05\1B\0F\01\01\00\00\00\00\00\00+*./2//2533342('('++--('#)223/332-+/(.\05\05\1C\0F\01\01\00\00\00\00\00\00,+\1703003644453\11\0E\0D\10\12\0E\0F\11\12\11\0D\1133404\15\15.,0)/\05\05\01\16\01\01\00\00\00\00\00\00-,/14114755564)()(,,..)($*4451543/-1*0\0D\0D\1D\17\0A\0D\00\00\00\00\00\00\11\1D025\13\115866675*)*\0F--\12/*)%+55626540.2+1\05\05\01\01\01\01\00\00\00\00\00\00.-136226977786+*+)../0+*&,66737651/3,2\05\05\1E\18\01\01\00\00\00\00\00\00.-136236978787+*+)../0+*&,6674875203-3\05\05\1E\18\01\01\00\00\00\00\00\00/.247347:89898\11\0E\0D\10\0E/0\11\12\11\0D\1177\145986314.4\05\05\1F\19\01\01\00\00\00\00\00\00//358358:8:898\11\0E\0D\10\0E01\11\12\11\0D\1188\146997314.4\05\05\1F\19\01\01\00\00\00\00\00\000\01469469;9;9:9,+,*/121,+'-9987::8425/5\05\05 \01\01\01\00\00\00\00\00\000\0156:47:;:;:::,+,*/131,+'-:998::952605\05\05 \01\01\01\00\00\00\00\00\001067;58;<;<;;;-,-+0242-,(.;::9;;:63716\05\05!\06\01\01\00\00\00\00\00\002178<69<\0C\0A=<<<.\0A\09\09135\0A\0A\0A\0A\0B<\0B\0B\0C<<;\0B\0A\0B\0A\0B\05\05!\06\01\01\00\00\00\00\00\003289=7:==<>===/-\1F,2 63.-)/=;(:=(<74827\0E\0E\09\08\04\03\00\00\00\00\00\0043)*>*+>>,,>>.\00\00.\00\01\00\004\00\01\000,<;\00\01==8\00\01\008\05\05\09\08\04\03\00\00\00\00\00\00549:?8;??=???>\00.\00\003475\1D.\001>=<\00>>>95939\05\05\22\1A\04\03\00\00\00\00\00\00649:@9;@?=@@@>\00.\00\003575\1D.\002>=<\00>?>9593:\05\05\22\1A\04\03\00\00\00\00\00\007\18:;A:AAA?\11\0E/\104\0E\0F\11\12\11\0D\1133=\12?\15\15:\13\14\12\13\05\05\01\1B\01\01\00\00\00\00\00\0085;\0F;\1C@?;\0F\1C\0F;\05\05\01\06\01\01\00\00\00\00\00\00\17\0D\17=D\18\17CC@\0ED\10A\0E\0E\0D\0D\0E\0E\0F7\0E\0D\0D\11@?\10;\1C@?<\0F\1C\0F;\05\05\01\06\01\01\00\00\00\00\00\0097<>E<>DDACECB0/\0D-\12688//\0E3A@><\17A@=6:\10<\05\05\01\0B\01\01\00\00\00\00\00\0097DEADEDB0/\0D-\12688/0\0E3B@>=\17A@>7;\10=\05\05\01\0B\01\01\00\00\00\00\00\00 8=@F>\22\18FBEFE\19\00\06\00\1B\11\00\00 \1D\1C\00\12CA?\0F@BA\158<4>\05\05\01\0A\01\01\00\00\00\00\00\00 8=@F>#\18FCEFE\1A\00\06\00\1B\11\00\00 \1D\1C\00\12CA@\0F@BA\158<4>\05\05\01\0A\01\01\00\00\00\00\00\00 8=@F>\22$GDFGF%\00\06\00\1B\11\00\00 \1D\1C\00\12DBA $CB\1F\1F \15?\05\05\01\0A\01\01\00\00\00\00\00\00 8=@F>#$GEFGF&\00\06\00\1B\11\00\00 \1D\1C\00\12DBB $CB\1F\1F \15?\05\05\01\0A\01\01\00\00\00\00\00\00:9>AG??EHFGHGC1\0E\0D\10\0E79\11\12\0D\0D\11E\01C>\16DC\009=5@\05\05\01\0B\01\01\00\00\00\00\00\00:9>AG?@FHGGHGD1\0E\0D\10\0E79\11\12\0D\0D\11E\01C>\16DC\009=5@\05\05\01\0B\01\01\00\00\00\00\00\00;:?BH@AGIHHIHE200.58:901*4FCD?AED?:>6A\05\05\07\06\01\01\00\00\00\00\00\00<;@CIABHJIIJIF311/69;:12+5GDE@BFE@;?7B\05\05\07\06\01\01\00\00\00\00\00\00=B:E\05\05\07\06\01\01\00\00\00\00\00\00>=DDKCEJLKKLKH53318;=<34-7KHIDFJID?C;F\05\05%\0B\01\01\00\00\00\00\00\00\10\10E\11LD\10KMLLML\11\11\0E\0D\10\22\22$\11\12\11\0D\11((J\1AGKJ\11\13&\12\13\05\05\0B\06\00\07\00\00\00\00\00\00\10\10E\11MD\10LMLLNL\11\11\0E\0D\10##%\11\12\11\0D\11))J\1BHLK\11\13'\12\13\05\05\0C\06\00\07\00\00\00\00\00\00?7FENE>MNMMOMB\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13J\12\17MLE\13\14\12\13\05\05\01\06\01\01\00\00\00\00\00\00?7FEOE>MNMMPMB\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13J\12\17MLE\13\14\12\13\05\05\01\06\01\01\00\00\00\00\00\00@>GFPFFNONNQNI\004\002\0D<>>45.8LI\1FE\17NMF@D>45/8LI\1FE\17NMF@D=G\0F\0F&\1D\0C\0E\00\00\00\00\00\00?7HENEGMQPMROK\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13\07\12\17\15\15EAE>H\05\05\01\1E\01\01\00\00\00\00\00\00?7HEOEGMQPMSOK\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13\07\12\17\15\15EAE>H\05\05\01\1E\01\01\00\00\00\00\00\0010I7;5HORQ@@673RONILTSKGKDN\00\00)\1F\00\00\03\00\02\00\03\02GFP\02UKPWZX\02ZVT:;87=ACC9:6?SPOJMUTLHLEO\12\12*\02\02\00\00\00\00\00\00\00GFP\02UKPWZX\02ZVT\01\01\01\01\02\01\01\01\01\02\01\02\02\02\02\01\02\02\02\02\01\02\01\02\12\12*\02\02\00\00\00\00\00\00\00H\1D!LVL+X[$T[WU;$\00\1B\00BD \00\0170TQP NVU\1FIMFP\00\00\0E\00\02\00\00\00\00\00\00\00IGQMWMQY\\YU\\XV<<\008\00CED:;8@UR\0EKOWVMJNGQ\13\13\01\0A\01\00\00\00\00\00\00\00IGQNXMQY\\ZV]XV<=\008\00CEE:;8@US\0EKPWVNKNHR\14\14\01\0A\01\00\00\00\00\00\00\00JHROYNRZ][W^YW42207:<;23,6HEFACGFA<@8C\05\05\07\06\01\01\00\00\00\00\00\00K:?BH@A[^\\X_ZX=>99>DFF;<9AVTQLQXWOLOIS\05\05\07\06\01\01\00\00\00\00\00\00L\08::\08EGG<=:BWURM\0DYXPMPJT\05\05\07\06\01\01\00\00\00\00\00\00MISPZOS]`^Za\1CY??;;?FHH=>;CXVSNRZYQNQKU\04\15+\02\00\0F\00\00\00\00\00\00NJTQ[PT^a_[b\\Z@\06\00\00\00GII\06\01\06\07\07\07\07\08\0B\09\09EO\07\06\07\05\05,\01\01\01\00\00\00\00\00\00OKUR\\QU_b`\\c][A@<<@HJJ>?\18\15IKK\0E\0D>\11[YVP\0B\\[SQTNW\00\00.\02\00\00\00\00\00\00\00\00RMXS^SWbdc^e_(CB?=AJLL?@?E\\ZWQT&%TRUO%\00\00\17\01\00\0A\00\00\00\00\00\00SNYT_TXced_f`)DC@>BKMM@A@F][XRU'&USVP&\00\00\17\01\00\0A\00\00\00\00\00\00)OZU`UYdfe`ga]&%&%))++&%!'^\\YSV]\\VTWQX\15\16/\15\0E\10\00\00\00\00\00\00)OZU`UYdfe`ga]EDA?CLNNA%!'^\\YSV]\\VTWQX\15\160 \0F\11\00\00\00\00\00\00TP[VaVZdfe`ga]FEB@DMOOBBAG^\\YSV]\\VTWQX\15\161\15\10\01\00\00\00\00\00\00)OZU`UYegfahb^&%&%))++&%!'^\\YSV]\\VTWQX\15\162!\09\12\00\00\00\00\00\00", [50 x i16] [i16 0, i16 85, i16 166, i16 258, i16 345, i16 443, i16 530, i16 621, i16 723, i16 827, i16 930, i16 1028, i16 1133, i16 1232, i16 1327, i16 1398, i16 1468, i16 1535, i16 1600, i16 1669, i16 1747, i16 1827, i16 1907, i16 1974, i16 2041, i16 2107, i16 2179, i16 2274, i16 2367, i16 2457, i16 2541, i16 2628, i16 2722, i16 2815, i16 2902, i16 2987, i16 3075, i16 3157, i16 3246, i16 3268, i16 3291, i16 3342, i16 3376, i16 3393, i16 3412, i16 3416, i16 3417, i16 3420, i16 3422, i16 3426], [3429 x i16] [i16 1, i16 273, i16 463, i16 844, i16 1101, i16 858, i16 1122, i16 1977, i16 2348, i16 2594, i16 3018, i16 3253, i16 3606, i16 4397, i16 4635, i16 4806, i16 5023, i16 5441, i16 5662, i16 5858, i16 5884, i16 6040, i16 6288, i16 6938, i16 7125, i16 7310, i16 7573, i16 7838, i16 8226, i16 8624, i16 9025, i16 9539, i16 9921, i16 10130, i16 10434, i16 10640, i16 10937, i16 11606, i16 11946, i16 12190, i16 12640, i16 13317, i16 14931, i16 15189, i16 6952, i16 16066, i16 16636, i16 17024, i16 17365, i16 17819, i16 18049, i16 18224, i16 18661, i16 18735, i16 18983, i16 19067, i16 19176, i16 19479, i16 4589, i16 20213, i16 20433, i16 20653, i16 21280, i16 21712, i16 21810, i16 22607, i16 22680, i16 22719, i16 23133, i16 23665, i16 24019, i16 24674, i16 25025, i16 25183, i16 25483, i16 25641, i16 25844, i16 26175, i16 26395, i16 26524, i16 26932, i16 27130, i16 27204, i16 27426, i16 27844, i16 5, i16 276, i16 473, i16 846, i16 1104, i16 864, i16 1133, i16 1981, i16 2352, i16 2601, i16 3021, i16 3258, i16 3616, i16 4401, i16 4639, i16 4809, i16 5026, i16 5445, i16 5666, i16 6044, i16 6295, i16 7312, i16 7577, i16 7842, i16 8229, i16 8628, i16 8755, i16 9030, i16 9544, i16 9925, i16 10134, i16 10437, i16 10644, i16 10948, i16 11608, i16 11950, i16 12197, i16 2107, i16 12746, i16 12967, i16 13321, i16 14935, i16 15199, i16 15853, i16 16070, i16 16639, i16 17027, i16 17267, i16 17823, i16 18056, i16 18234, i16 18665, i16 18739, i16 19180, i16 19307, i16 19483, i16 19792, i16 20029, i16 20217, i16 20437, i16 20660, i16 21285, i16 21815, i16 22082, i16 22611, i16 22685, i16 22723, i16 23143, i16 23669, i16 24027, i16 24687, i16 25187, i16 25490, i16 26186, i16 4589, i16 26528, i16 26936, i16 27209, i16 27434, i16 27820, i16 27854, i16 9, i16 279, i16 480, i16 848, i16 1107, i16 872, i16 1148, i16 1985, i16 2356, i16 2608, i16 3024, i16 3263, i16 3626, i16 4405, i16 4643, i16 4812, i16 5029, i16 5255, i16 5449, i16 5670, i16 5888, i16 6048, i16 6302, i16 4895, i16 7314, i16 7581, i16 7846, i16 8232, i16 8632, i16 8760, i16 9035, i16 9301, i16 9549, i16 94, i16 10138, i16 10440, i16 10648, i16 10959, i16 11610, i16 11954, i16 12204, i16 12644, i16 12750, i16 12972, i16 13325, i16 14939, i16 15209, i16 16074, i16 16408, i16 16642, i16 17030, i16 17271, i16 17368, i16 17659, i16 17827, i16 18063, i16 18244, i16 18743, i16 19070, i16 19184, i16 19487, i16 19796, i16 276, i16 20221, i16 20441, i16 20667, i16 21048, i16 21132, i16 21290, i16 21635, i16 5678, i16 21820, i16 22151, i16 22255, i16 22391, i16 22615, i16 22727, i16 23153, i16 23672, i16 24032, i16 24697, i16 25191, i16 25497, i16 26193, i16 26399, i16 26534, i16 26940, i16 27135, i16 27215, i16 27444, i16 27824, i16 27864, i16 13, i16 282, i16 493, i16 850, i16 1110, i16 881, i16 1165, i16 1989, i16 2221, i16 2360, i16 2615, i16 3027, i16 3268, i16 3639, i16 4409, i16 4647, i16 4815, i16 5032, i16 5453, i16 5674, i16 5892, i16 6052, i16 6309, i16 7129, i16 7281, i16 7316, i16 7585, i16 7850, i16 8235, i16 8636, i16 9041, i16 9308, i16 9553, i16 9929, i16 10091, i16 10142, i16 10443, i16 10652, i16 10973, i16 11612, i16 11958, i16 12211, i16 12648, i16 12754, i16 12977, i16 13329, i16 14943, i16 15219, i16 15857, i16 16078, i16 16412, i16 16645, i16 17033, i16 17275, i16 17371, i16 17831, i16 18070, i16 18257, i16 18747, i16 19073, i16 19188, i16 19339, i16 19491, i16 19686, i16 19800, i16 20032, i16 20225, i16 20445, i16 21295, i16 21716, i16 21825, i16 22088, i16 22731, i16 23166, i16 23675, i16 24037, i16 25029, i16 25195, i16 25381, i16 25504, i16 26202, i16 26402, i16 26540, i16 27220, i16 27452, i16 27828, i16 27874, i16 17, i16 285, i16 503, i16 852, i16 1113, i16 890, i16 1182, i16 1993, i16 2228, i16 2364, i16 2622, i16 3030, i16 3273, i16 3649, i16 4413, i16 4651, i16 4791, i16 4818, i16 5035, i16 5259, i16 5457, i16 5678, i16 5896, i16 6056, i16 6316, i16 6942, i16 7133, i16 7318, i16 7589, i16 7854, i16 8238, i16 8640, i16 8765, i16 8827, i16 9046, i16 9314, i16 9557, i16 9933, i16 10147, i16 10446, i16 10656, i16 10984, i16 11616, i16 11962, i16 12218, i16 12652, i16 12758, i16 13129, i16 13333, i16 14947, i16 15229, i16 15861, i16 16082, i16 16416, i16 16648, i16 17036, i16 17279, i16 17374, i16 17663, i16 17835, i16 18077, i16 18267, i16 18669, i16 18751, i16 18988, i16 19076, i16 19192, i16 19343, i16 19437, i16 19495, i16 19804, i16 20035, i16 20229, i16 20449, i16 20674, i16 21300, i16 21638, i16 16919, i16 21720, i16 21796, i16 21830, i16 22735, i16 23176, i16 23678, i16 24042, i16 24707, i16 25033, i16 25199, i16 25387, i16 25513, i16 26209, i16 26406, i16 26546, i16 26944, i16 27225, i16 27460, i16 27832, i16 27884, i16 21, i16 288, i16 513, i16 854, i16 1116, i16 897, i16 1195, i16 1997, i16 2233, i16 2368, i16 2629, i16 3033, i16 3278, i16 3674, i16 4417, i16 4655, i16 4821, i16 5038, i16 5263, i16 5461, i16 5682, i16 5900, i16 6060, i16 6323, i16 6948, i16 7137, i16 7320, i16 7593, i16 7858, i16 8241, i16 8644, i16 8770, i16 9051, i16 9562, i16 9937, i16 10152, i16 10449, i16 10660, i16 10998, i16 11619, i16 11966, i16 12225, i16 12656, i16 12762, i16 12982, i16 13337, i16 14951, i16 15239, i16 15865, i16 16086, i16 16651, i16 17039, i16 17378, i16 17839, i16 18084, i16 18280, i16 18755, i16 18993, i16 19079, i16 19196, i16 19499, i16 19691, i16 19808, i16 20038, i16 20233, i16 20453, i16 20681, i16 21305, i16 21641, i16 21724, i16 21835, i16 22735, i16 23189, i16 23682, i16 24050, i16 24717, i16 25037, i16 25203, i16 25522, i16 7946, i16 26410, i16 26552, i16 26948, i16 27231, i16 27470, i16 27836, i16 27894, i16 25, i16 291, i16 523, i16 856, i16 1119, i16 1448, i16 1454, i16 2001, i16 2372, i16 2636, i16 3036, i16 3283, i16 3690, i16 4421, i16 4659, i16 4824, i16 273, i16 5465, i16 5686, i16 5863, i16 5904, i16 6064, i16 6330, i16 6952, i16 7141, i16 7286, i16 7322, i16 7597, i16 7862, i16 8244, i16 8648, i16 8831, i16 9057, i16 9567, i16 9941, i16 10096, i16 10156, i16 10452, i16 10664, i16 11015, i16 11621, i16 11970, i16 12232, i16 12660, i16 12766, i16 13341, i16 14955, i16 15249, i16 15869, i16 16090, i16 16654, i16 16919, i16 17042, i16 17283, i16 17381, i16 17668, i16 17843, i16 18091, i16 18296, i16 18759, i16 19082, i16 19200, i16 19503, i16 20041, i16 20181, i16 20237, i16 20457, i16 20688, i16 21052, i16 21310, i16 21840, i16 22155, i16 22259, i16 22398, i16 22619, i16 22690, i16 22727, i16 23205, i16 23685, i16 24055, i16 24727, i16 25207, i16 25529, i16 26222, i16 26413, i16 26558, i16 26952, i16 10488, i16 10728, i16 27840, i16 27904, i16 29, i16 294, i16 463, i16 858, i16 1122, i16 2005, i16 2238, i16 2376, i16 2643, i16 3039, i16 3288, i16 3700, i16 4397, i16 4663, i16 4827, i16 5041, i16 5267, i16 5441, i16 5690, i16 5868, i16 5908, i16 6068, i16 6337, i16 6956, i16 7145, i16 7324, i16 7502, i16 7601, i16 7866, i16 8247, i16 8652, i16 8835, i16 9062, i16 9320, i16 9572, i16 9820, i16 9945, i16 10160, i16 10455, i16 10668, i16 11026, i16 11625, i16 11815, i16 11974, i16 12239, i16 12664, i16 12770, i16 13133, i16 13345, i16 14959, i16 15259, i16 15873, i16 16094, i16 16420, i16 16657, i16 17045, i16 17287, i16 17384, i16 17672, i16 17847, i16 18098, i16 18306, i16 18673, i16 18763, i16 18998, i16 19085, i16 19205, i16 19347, i16 19507, i16 20044, i16 20185, i16 20241, i16 20461, i16 20695, i16 21315, i16 21644, i16 21695, i16 21728, i16 21845, i16 22263, i16 22405, i16 22623, i16 22695, i16 22739, i16 23215, i16 23688, i16 24060, i16 24674, i16 25041, i16 25211, i16 25536, i16 25645, i16 25851, i16 26175, i16 26417, i16 26564, i16 26956, i16 27140, i16 27238, i16 27482, i16 27844, i16 28220, i16 36, i16 301, i16 473, i16 864, i16 1133, i16 1792, i16 1878, i16 2016, i16 2251, i16 2384, i16 2658, i16 3046, i16 3301, i16 3719, i16 4401, i16 4672, i16 4836, i16 5048, i16 5275, i16 5469, i16 5697, i16 5916, i16 6076, i16 6352, i16 6965, i16 7153, i16 7333, i16 7513, i16 7609, i16 7882, i16 8257, i16 8663, i16 8775, i16 8844, i16 9075, i16 9334, i16 9584, i16 9953, i16 10169, i16 10461, i16 10679, i16 11046, i16 11634, i16 11825, i16 11981, i16 12252, i16 12671, i16 12781, i16 12987, i16 13142, i16 13271, i16 13355, i16 14965, i16 15275, i16 15880, i16 16104, i16 16427, i16 16669, i16 17055, i16 17391, i16 17854, i16 18325, i16 18678, i16 18771, i16 19092, i16 19213, i16 19312, i16 19355, i16 19517, i16 19696, i16 19812, i16 19936, i16 20053, i16 20253, i16 20473, i16 20718, i16 21327, i16 21651, i16 21736, i16 21853, i16 22094, i16 22159, i16 22270, i16 22417, i16 22630, i16 22703, i16 22758, i16 23237, i16 23696, i16 24082, i16 24687, i16 25048, i16 25217, i16 25551, i16 25652, i16 25864, i16 26186, i16 26427, i16 26579, i16 26964, i16 27245, i16 27495, i16 27854, i16 28227, i16 43, i16 309, i16 480, i16 872, i16 1148, i16 2028, i16 2264, i16 2395, i16 2679, i16 3057, i16 3322, i16 3738, i16 4425, i16 4684, i16 4844, i16 5056, i16 5285, i16 5474, i16 5704, i16 5923, i16 6084, i16 6367, i16 6971, i16 7159, i16 7343, i16 7524, i16 7620, i16 7895, i16 8267, i16 8673, i16 8786, i16 8850, i16 9084, i16 9344, i16 9592, i16 9833, i16 9958, i16 10177, i16 10465, i16 10686, i16 11066, i16 11640, i16 11992, i16 12273, i16 12677, i16 12791, i16 12998, i16 13149, i16 13279, i16 13365, i16 14974, i16 15300, i16 15895, i16 16114, i16 16434, i16 16681, i16 17065, i16 17396, i16 17680, i16 17865, i16 18344, i16 18780, i16 19100, i16 19221, i16 19362, i16 19530, i16 19820, i16 19922, i16 19944, i16 20015, i16 20058, i16 20195, i16 20265, i16 20485, i16 20741, i16 21338, i16 21660, i16 21747, i16 21861, i16 22104, i16 22170, i16 22280, i16 22436, i16 22637, i16 22780, i16 23259, i16 23703, i16 24101, i16 24697, i16 25227, i16 25392, i16 25566, i16 25662, i16 25883, i16 26193, i16 26436, i16 26591, i16 26970, i16 27149, i16 27253, i16 27510, i16 27864, i16 28234, i16 51, i16 317, i16 493, i16 881, i16 1165, i16 2039, i16 2276, i16 2403, i16 2694, i16 3065, i16 3337, i16 3760, i16 4432, i16 4691, i16 4852, i16 5062, i16 5293, i16 5481, i16 5712, i16 5932, i16 6090, i16 6378, i16 6977, i16 7166, i16 7291, i16 7353, i16 7535, i16 7630, i16 7911, i16 8275, i16 8682, i16 8856, i16 9093, i16 9355, i16 9600, i16 9965, i16 10101, i16 10185, i16 10471, i16 10697, i16 11089, i16 11645, i16 12002, i16 12292, i16 12684, i16 12803, i16 13012, i16 13157, i16 13288, i16 13375, i16 14984, i16 15328, i16 15909, i16 16124, i16 16443, i16 16693, i16 16923, i16 17074, i16 17298, i16 17402, i16 17873, i16 18111, i16 18344, i16 18790, i16 19007, i16 19108, i16 19229, i16 19537, i16 19710, i16 19826, i16 19950, i16 20064, i16 20273, i16 20493, i16 20756, i16 21351, i16 21667, i16 21753, i16 21870, i16 22114, i16 22805, i16 23284, i16 23710, i16 24120, i16 25054, i16 25232, i16 25398, i16 25581, i16 25671, i16 25900, i16 26202, i16 26445, i16 26602, i16 26976, i16 27261, i16 27525, i16 27874, i16 28241, i16 61, i16 326, i16 503, i16 890, i16 1182, i16 2050, i16 2292, i16 2410, i16 2707, i16 3071, i16 3348, i16 3779, i16 4441, i16 4699, i16 4796, i16 4861, i16 5069, i16 5301, i16 5457, i16 5719, i16 5941, i16 6098, i16 6393, i16 6986, i16 7176, i16 7363, i16 7546, i16 7641, i16 7928, i16 8287, i16 8692, i16 8796, i16 8865, i16 9105, i16 9369, i16 9610, i16 9974, i16 10193, i16 10477, i16 10708, i16 11109, i16 11652, i16 11833, i16 12013, i16 12313, i16 12689, i16 12816, i16 13167, i16 13299, i16 13385, i16 14994, i16 15356, i16 15925, i16 16134, i16 16453, i16 16706, i16 17084, i16 17410, i16 17687, i16 17879, i16 18122, i16 18366, i16 18684, i16 18799, i16 19017, i16 19117, i16 19237, i16 19369, i16 19442, i16 19543, i16 19833, i16 19957, i16 20073, i16 20279, i16 20499, i16 20767, i16 21363, i16 21674, i16 21703, i16 21759, i16 21801, i16 21881, i16 22177, i16 22245, i16 22287, i16 22449, i16 22821, i16 23306, i16 23714, i16 24130, i16 24707, i16 25065, i16 25241, i16 25409, i16 25600, i16 25678, i16 25913, i16 26209, i16 26456, i16 26614, i16 26984, i16 27269, i16 27540, i16 27884, i16 28248, i16 70, i16 336, i16 513, i16 897, i16 1195, i16 1800, i16 1893, i16 2063, i16 2309, i16 2417, i16 2720, i16 3081, i16 3367, i16 3813, i16 4446, i16 4708, i16 4868, i16 5077, i16 5310, i16 5489, i16 5727, i16 5952, i16 6105, i16 6406, i16 6994, i16 7183, i16 7373, i16 7650, i16 7946, i16 8295, i16 8701, i16 8806, i16 8871, i16 9115, i16 9380, i16 9620, i16 9980, i16 10201, i16 10483, i16 10719, i16 11132, i16 11662, i16 11846, i16 12023, i16 12332, i16 12695, i16 12828, i16 13026, i16 13175, i16 13308, i16 13395, i16 15004, i16 15384, i16 15940, i16 16144, i16 16460, i16 16721, i16 17096, i16 17416, i16 17888, i16 18139, i16 18388, i16 18691, i16 18808, i16 19027, i16 19127, i16 19246, i16 19552, i16 19717, i16 19840, i16 19964, i16 20077, i16 20287, i16 20507, i16 20782, i16 21373, i16 21682, i16 21767, i16 21890, i16 22186, i16 22296, i16 22466, i16 22843, i16 23331, i16 23723, i16 24155, i16 24717, i16 25073, i16 25250, i16 25619, i16 25685, i16 25926, i16 26466, i16 26627, i16 26990, i16 27280, i16 27561, i16 27894, i16 28255, i16 77, i16 343, i16 523, i16 904, i16 1208, i16 1448, i16 1454, i16 2075, i16 2323, i16 2425, i16 2735, i16 3087, i16 3378, i16 3838, i16 4453, i16 4714, i16 4878, i16 5083, i16 5496, i16 5734, i16 5876, i16 5960, i16 6115, i16 6425, i16 7003, i16 7191, i16 7302, i16 7379, i16 7557, i16 7659, i16 7955, i16 8305, i16 8714, i16 8880, i16 9125, i16 9391, i16 9629, i16 9987, i16 10111, i16 10210, i16 10488, i16 10728, i16 11158, i16 11669, i16 12030, i16 12345, i16 12701, i16 12839, i16 13405, i16 15014, i16 15412, i16 15956, i16 16154, i16 16470, i16 16734, i16 16937, i16 17107, i16 17424, i16 17694, i16 17894, i16 18150, i16 18413, i16 18818, i16 19135, i16 19254, i16 19376, i16 19559, i16 20084, i16 20202, i16 20295, i16 20515, i16 20797, i16 21383, i16 21900, i16 22127, i16 22192, i16 22302, i16 22477, i16 22644, i16 22711, i16 22862, i16 23359, i16 23729, i16 24171, i16 24727, i16 25082, i16 25255, i16 25630, i16 25694, i16 26222, i16 26471, i16 26640, i16 26997, i16 27904, i16 28262, i16 86, i16 533, i16 911, i16 1220, i16 1532, i16 1624, i16 2087, i16 2432, i16 2748, i16 3094, i16 3391, i16 3857, i16 4013, i16 4460, i16 4887, i16 5090, i16 5503, i16 5741, i16 5968, i16 6016, i16 6123, i16 6440, i16 7198, i16 7387, i16 7669, i16 7964, i16 8314, i16 8518, i16 9137, i16 9641, i16 9994, i16 10217, i16 10492, i16 10735, i16 11178, i16 11432, i16 12036, i16 12356, i16 13415, i16 15021, i16 15431, i16 16164, i16 16480, i16 16746, i16 17432, i16 17901, i16 18163, i16 18432, i16 19566, i16 20092, i16 20303, i16 20523, i16 20812, i16 21394, i16 22872, i16 23381, i16 23735, i16 24187, i16 24737, i16 25089, i16 25265, i16 25701, i16 25942, i16 26231, i16 26478, i16 26654, i16 27003, i16 27289, i16 27578, i16 13487, i16 27914, i16 90, i16 543, i16 915, i16 1227, i16 1545, i16 1648, i16 2091, i16 2436, i16 2755, i16 3098, i16 3398, i16 3867, i16 4038, i16 4465, i16 4891, i16 5094, i16 5317, i16 5507, i16 6127, i16 6447, i16 7393, i16 7673, i16 7971, i16 8321, i16 8526, i16 8887, i16 8974, i16 9141, i16 9645, i16 10224, i16 10496, i16 10742, i16 11194, i16 11436, i16 12040, i16 12363, i16 12707, i16 13421, i16 15025, i16 15441, i16 16170, i16 16484, i16 16750, i16 17437, i16 17905, i16 18457, i16 18826, i16 19570, i16 20307, i16 20527, i16 20819, i16 21401, i16 21910, i16 22309, i16 22490, i16 22888, i16 23397, i16 23740, i16 24196, i16 24744, i16 25269, i16 25419, i16 25705, i16 26242, i16 26660, i16 27007, i16 27295, i16 27588, i16 13492, i16 27921, i16 94, i16 553, i16 919, i16 1234, i16 1550, i16 1657, i16 2440, i16 2762, i16 3102, i16 3405, i16 3877, i16 4069, i16 4470, i16 4895, i16 5098, i16 5322, i16 5449, i16 5972, i16 6021, i16 6131, i16 6454, i16 7399, i16 7566, i16 8328, i16 9147, i16 9404, i16 9649, i16 9842, i16 10232, i16 10500, i16 10749, i16 11213, i16 11440, i16 11574, i16 11677, i16 11854, i16 12044, i16 12370, i16 13427, i16 15029, i16 15451, i16 16176, i16 5453, i16 16754, i16 17441, i16 17909, i16 18698, i16 19144, i16 20311, i16 20531, i16 20826, i16 21406, i16 22913, i16 23422, i16 23745, i16 24205, i16 24754, i16 25709, i16 25949, i16 26253, i16 26666, i16 27011, i16 27156, i16 27301, i16 27598, i16 13497, i16 27928, i16 98, i16 563, i16 923, i16 1241, i16 1555, i16 1666, i16 2444, i16 2769, i16 3106, i16 3412, i16 3887, i16 4085, i16 4475, i16 4899, i16 5102, i16 5511, i16 5745, i16 6135, i16 6461, i16 7405, i16 7677, i16 7978, i16 8335, i16 8534, i16 8891, i16 9153, i16 9653, i16 9998, i16 10239, i16 10504, i16 10756, i16 11229, i16 11444, i16 11681, i16 11859, i16 12048, i16 12377, i16 13433, i16 15033, i16 15461, i16 16182, i16 16758, i16 17445, i16 17913, i16 18482, i16 19574, i16 20315, i16 20535, i16 20833, i16 21411, i16 21914, i16 22932, i16 23441, i16 23751, i16 24217, i16 24764, i16 25273, i16 25713, i16 25956, i16 26262, i16 26672, i16 27307, i16 27608, i16 13502, i16 27935, i16 102, i16 352, i16 573, i16 927, i16 1248, i16 1561, i16 1677, i16 2448, i16 2776, i16 3110, i16 3419, i16 3900, i16 4480, i16 4721, i16 4903, i16 5106, i16 5327, i16 5515, i16 5749, i16 6139, i16 6468, i16 2144, i16 7411, i16 7985, i16 8342, i16 8542, i16 9157, i16 9657, i16 9847, i16 10246, i16 10508, i16 10763, i16 11248, i16 11448, i16 11685, i16 11864, i16 12052, i16 12384, i16 12851, i16 13038, i16 13183, i16 13439, i16 15037, i16 15471, i16 16188, i16 16489, i16 16762, i16 17449, i16 17917, i16 18170, i16 18501, i16 18830, i16 19148, i16 20319, i16 20539, i16 20840, i16 21417, i16 22951, i16 23463, i16 23757, i16 24229, i16 24774, i16 25717, i16 26273, i16 26678, i16 27314, i16 27620, i16 13507, i16 27942, i16 106, i16 580, i16 931, i16 1255, i16 1566, i16 1686, i16 2095, i16 2338, i16 2452, i16 2783, i16 3114, i16 3426, i16 3907, i16 4485, i16 4907, i16 5110, i16 5332, i16 5519, i16 6143, i16 6475, i16 7417, i16 7681, i16 7992, i16 8349, i16 8550, i16 9162, i16 9661, i16 10002, i16 10119, i16 10254, i16 10512, i16 10770, i16 11255, i16 11452, i16 11689, i16 11869, i16 12056, i16 12391, i16 12855, i16 13043, i16 13187, i16 13445, i16 15041, i16 15481, i16 16194, i16 16492, i16 16766, i16 17117, i16 17309, i16 17454, i16 17921, i16 18177, i16 18834, i16 19039, i16 19578, i16 20096, i16 20323, i16 20543, i16 20847, i16 21422, i16 21918, i16 22958, i16 23470, i16 23762, i16 24238, i16 24784, i16 25093, i16 25277, i16 25721, i16 25963, i16 26280, i16 26482, i16 26684, i16 27015, i16 27318, i16 27627, i16 13512, i16 27949, i16 110, i16 587, i16 935, i16 1262, i16 1573, i16 1699, i16 2099, i16 2343, i16 2456, i16 2790, i16 3118, i16 3433, i16 3917, i16 4104, i16 4490, i16 4911, i16 5114, i16 5337, i16 5523, i16 6148, i16 6484, i16 7423, i16 7685, i16 7999, i16 8356, i16 8560, i16 8895, i16 9168, i16 9411, i16 9665, i16 10006, i16 10263, i16 10516, i16 10777, i16 11265, i16 11456, i16 11693, i16 11874, i16 12060, i16 12398, i16 12859, i16 13048, i16 13191, i16 13451, i16 15045, i16 15491, i16 16200, i16 16770, i16 17121, i16 17314, i16 17459, i16 17703, i16 17925, i16 18184, i16 18508, i16 18838, i16 19582, i16 20100, i16 20327, i16 20547, i16 20854, i16 21427, i16 21922, i16 22971, i16 23483, i16 23768, i16 24250, i16 24791, i16 25097, i16 25281, i16 25725, i16 25970, i16 26287, i16 26486, i16 26690, i16 27019, i16 27323, i16 27635, i16 13517, i16 27956, i16 114, i16 597, i16 939, i16 1269, i16 1578, i16 1708, i16 2103, i16 2460, i16 2797, i16 3122, i16 3440, i16 3927, i16 4120, i16 4495, i16 4915, i16 5118, i16 5527, i16 5753, i16 6153, i16 6493, i16 7010, i16 7429, i16 7689, i16 8006, i16 8363, i16 8569, i16 8899, i16 8979, i16 9173, i16 9417, i16 9669, i16 9852, i16 10010, i16 10272, i16 10520, i16 10784, i16 11281, i16 11460, i16 12064, i16 12405, i16 12711, i16 12863, i16 13053, i16 13457, i16 15049, i16 15501, i16 16206, i16 16496, i16 16774, i16 4584, i16 17929, i16 18521, i16 18702, i16 18842, i16 19384, i16 19450, i16 19586, i16 20331, i16 20551, i16 20861, i16 21432, i16 21773, i16 21926, i16 22984, i16 23496, i16 23773, i16 24259, i16 24801, i16 25285, i16 25424, i16 25729, i16 25977, i16 26298, i16 26490, i16 26696, i16 27023, i16 27328, i16 27643, i16 13522, i16 27963, i16 118, i16 607, i16 943, i16 1276, i16 1581, i16 1713, i16 2107, i16 2464, i16 2804, i16 3126, i16 3447, i16 3934, i16 4316, i16 4500, i16 4919, i16 5122, i16 5342, i16 5531, i16 5757, i16 6157, i16 6500, i16 7435, i16 7693, i16 8013, i16 8370, i16 8579, i16 9177, i16 9422, i16 5441, i16 10014, i16 10282, i16 10524, i16 10791, i16 11297, i16 11464, i16 11612, i16 12068, i16 12412, i16 13463, i16 15053, i16 15511, i16 16212, i16 16500, i16 16778, i16 17466, i16 17933, i16 18537, i16 19590, i16 20335, i16 20555, i16 20868, i16 21437, i16 21930, i16 23003, i16 23515, i16 23778, i16 24268, i16 24811, i16 25289, i16 25733, i16 25984, i16 26307, i16 26702, i16 27333, i16 27651, i16 13527, i16 27970, i16 122, i16 356, i16 617, i16 947, i16 1283, i16 1587, i16 1724, i16 2468, i16 2811, i16 3130, i16 3454, i16 3944, i16 4505, i16 4923, i16 5126, i16 5348, i16 5535, i16 5761, i16 6161, i16 6507, i16 7441, i16 7697, i16 8020, i16 8377, i16 8588, i16 9183, i16 9429, i16 9673, i16 10018, i16 10291, i16 10528, i16 10798, i16 11319, i16 11468, i16 12072, i16 12419, i16 13195, i16 13469, i16 15057, i16 15521, i16 16218, i16 16504, i16 16782, i16 17471, i16 17937, i16 18565, i16 18846, i16 19594, i16 19725, i16 20339, i16 20559, i16 20875, i16 21444, i16 21934, i16 23034, i16 23546, i16 23783, i16 24277, i16 24821, i16 25293, i16 25737, i16 25991, i16 26318, i16 26708, i16 27339, i16 27661, i16 27977, i16 126, i16 627, i16 951, i16 1290, i16 1599, i16 1746, i16 2111, i16 2472, i16 2818, i16 3134, i16 3461, i16 3966, i16 4510, i16 4927, i16 5130, i16 5539, i16 6165, i16 6514, i16 7447, i16 7701, i16 8027, i16 8384, i16 9189, i16 5904, i16 10300, i16 10532, i16 10805, i16 11341, i16 11472, i16 12076, i16 12426, i16 12867, i16 13059, i16 13475, i16 15061, i16 15531, i16 16224, i16 4589, i16 16786, i16 17478, i16 17941, i16 18587, i16 20343, i16 20563, i16 20882, i16 21449, i16 21938, i16 22138, i16 22313, i16 22497, i16 23059, i16 23571, i16 23788, i16 24286, i16 24831, i16 25101, i16 25297, i16 25741, i16 25998, i16 26331, i16 26715, i16 27027, i16 27161, i16 27345, i16 27671, i16 27984, i16 130, i16 360, i16 637, i16 955, i16 1297, i16 1612, i16 1770, i16 2115, i16 2476, i16 2825, i16 3138, i16 3468, i16 3988, i16 4515, i16 4931, i16 5134, i16 5544, i16 5765, i16 5976, i16 6169, i16 6521, i16 7202, i16 7453, i16 7705, i16 8034, i16 8391, i16 8597, i16 8903, i16 8984, i16 9194, i16 9677, i16 9857, i16 10309, i16 10536, i16 10812, i16 11360, i16 11476, i16 12080, i16 12433, i16 13481, i16 15065, i16 15541, i16 16230, i16 16508, i16 16790, i16 17485, i16 17945, i16 18615, i16 18707, i16 18850, i16 19044, i16 19598, i16 20347, i16 20567, i16 20889, i16 21455, i16 21942, i16 22317, i16 22504, i16 23081, i16 23590, i16 23793, i16 24295, i16 24841, i16 25301, i16 25745, i16 26005, i16 26342, i16 26722, i16 27351, i16 27681, i16 27994, i16 134, i16 364, i16 647, i16 959, i16 1304, i16 1532, i16 1624, i16 2119, i16 2480, i16 2832, i16 3142, i16 3475, i16 4013, i16 4520, i16 4725, i16 4935, i16 5138, i16 5548, i16 5769, i16 5980, i16 6026, i16 6173, i16 6528, i16 7015, i16 7206, i16 7459, i16 7709, i16 8041, i16 8398, i16 8907, i16 9199, i16 9436, i16 9681, i16 10022, i16 10319, i16 10540, i16 10819, i16 11178, i16 11480, i16 11579, i16 11697, i16 11879, i16 12084, i16 12440, i16 12715, i16 12871, i16 13064, i16 13199, i16 13487, i16 15069, i16 15551, i16 15971, i16 16236, i16 16512, i16 16794, i16 17125, i16 17319, i16 17490, i16 17711, i16 17949, i16 18191, i16 18432, i16 18854, i16 19388, i16 19455, i16 19602, i16 19730, i16 19846, i16 19970, i16 20104, i16 20351, i16 20571, i16 20896, i16 21056, i16 21139, i16 21460, i16 21946, i16 22321, i16 22511, i16 22872, i16 23381, i16 23798, i16 24304, i16 24737, i16 25105, i16 25305, i16 25749, i16 26012, i16 26231, i16 26729, i16 27031, i16 27166, i16 27356, i16 27689, i16 27914, i16 142, i16 373, i16 663, i16 965, i16 1315, i16 1545, i16 1648, i16 2126, i16 2489, i16 2849, i16 3149, i16 3488, i16 4038, i16 4527, i16 4732, i16 4941, i16 5144, i16 5354, i16 5555, i16 5776, i16 5987, i16 6184, i16 6549, i16 7023, i16 7212, i16 7467, i16 7719, i16 8054, i16 8407, i16 8915, i16 8989, i16 9206, i16 9695, i16 10030, i16 10333, i16 10546, i16 10830, i16 11194, i16 11489, i16 11589, i16 11704, i16 11887, i16 12093, i16 12457, i16 12723, i16 12878, i16 13072, i16 13207, i16 13492, i16 15077, i16 15573, i16 15979, i16 16243, i16 16523, i16 16801, i16 17134, i16 17329, i16 17501, i16 17957, i16 18457, i16 18711, i16 18861, i16 19395, i16 19463, i16 19610, i16 19854, i16 19978, i16 20358, i16 20578, i16 20909, i16 21063, i16 21152, i16 21476, i16 21952, i16 22328, i16 22524, i16 22888, i16 23397, i16 23805, i16 24323, i16 24851, i16 25111, i16 25310, i16 25429, i16 25756, i16 26025, i16 26242, i16 26743, i16 27038, i16 27174, i16 27365, i16 27706, i16 27921, i16 151, i16 383, i16 553, i16 972, i16 1328, i16 1550, i16 1657, i16 2133, i16 2494, i16 2858, i16 3158, i16 3505, i16 4069, i16 4537, i16 4740, i16 4948, i16 5017, i16 5149, i16 5360, i16 5474, i16 5784, i16 5993, i16 6034, i16 6196, i16 6572, i16 7032, i16 7220, i16 7399, i16 7566, i16 7727, i16 8416, i16 8726, i16 9147, i16 9404, i16 9706, i16 9862, i16 10039, i16 10232, i16 10500, i16 10749, i16 11213, i16 11497, i16 11598, i16 11712, i16 11896, i16 12102, i16 12474, i16 12732, i16 12886, i16 13497, i16 15087, i16 15601, i16 15988, i16 16250, i16 16535, i16 16809, i16 17513, i16 17723, i16 17966, i16 18698, i16 18866, i16 19152, i16 19615, i16 19864, i16 19929, i16 19988, i16 20022, i16 20113, i16 20366, i16 20586, i16 20924, i16 21071, i16 21167, i16 21488, i16 21689, i16 22913, i16 23422, i16 23816, i16 24354, i16 24864, i16 25119, i16 25762, i16 26036, i16 26253, i16 26754, i16 27044, i16 27181, i16 27375, i16 27725, i16 27928, i16 157, i16 679, i16 977, i16 1337, i16 1555, i16 1666, i16 1808, i16 1908, i16 2138, i16 2502, i16 2873, i16 3163, i16 3514, i16 4085, i16 4544, i16 4953, i16 5156, i16 5564, i16 5790, i16 6204, i16 6587, i16 7038, i16 7476, i16 7735, i16 8065, i16 8426, i16 8731, i16 8820, i16 8923, i16 9214, i16 9444, i16 9714, i16 10045, i16 10349, i16 10553, i16 10843, i16 11229, i16 11504, i16 11720, i16 11905, i16 12108, i16 12485, i16 12891, i16 13081, i16 13216, i16 13502, i16 15093, i16 15617, i16 15995, i16 16257, i16 16545, i16 16814, i16 16951, i16 17144, i16 17340, i16 17528, i16 17739, i16 17971, i16 18482, i16 19403, i16 19622, i16 19739, i16 20120, i16 20372, i16 20592, i16 20935, i16 21076, i16 21176, i16 21501, i16 21959, i16 22932, i16 23441, i16 23823, i16 24373, i16 24877, i16 25316, i16 25771, i16 26053, i16 26262, i16 26764, i16 27049, i16 27381, i16 27736, i16 27935, i16 102, i16 352, i16 573, i16 983, i16 1348, i16 1561, i16 1677, i16 1815, i16 1921, i16 1943, i16 1955, i16 2144, i16 2511, i16 2890, i16 3110, i16 3419, i16 3900, i16 4550, i16 4721, i16 4959, i16 5162, i16 5368, i16 5515, i16 5749, i16 6213, i16 6604, i16 7045, i16 7226, i16 4903, i16 7743, i16 8076, i16 8435, i16 9222, i16 9453, i16 9725, i16 9871, i16 10051, i16 10246, i16 10508, i16 10763, i16 11248, i16 11512, i16 11728, i16 11914, i16 12115, i16 12498, i16 12851, i16 13038, i16 13223, i16 13507, i16 15100, i16 15636, i16 16002, i16 16264, i16 16555, i16 16824, i16 16962, i16 17152, i16 17542, i16 17917, i16 18170, i16 18501, i16 18872, i16 19148, i16 19870, i16 20379, i16 20599, i16 20948, i16 20319, i16 20840, i16 21513, i16 11685, i16 11864, i16 22951, i16 23463, i16 23830, i16 24392, i16 24890, i16 25125, i16 25322, i16 25436, i16 25779, i16 26273, i16 26775, i16 27314, i16 27620, i16 27942, i16 163, i16 389, i16 580, i16 988, i16 1357, i16 1566, i16 1686, i16 1950, i16 1968, i16 2148, i16 2519, i16 2905, i16 3114, i16 3426, i16 3907, i16 4554, i16 4745, i16 4964, i16 5169, i16 5376, i16 5571, i16 5796, i16 6219, i16 6615, i16 7050, i16 7231, i16 7417, i16 7751, i16 8081, i16 8444, i16 8605, i16 8929, i16 9162, i16 9735, i16 9882, i16 10056, i16 10124, i16 10356, i16 10559, i16 10854, i16 11255, i16 11520, i16 11734, i16 11921, i16 12122, i16 12511, i16 12897, i16 13088, i16 13230, i16 13512, i16 15106, i16 15652, i16 16271, i16 16562, i16 16832, i16 16972, i16 17158, i16 17349, i16 17550, i16 17977, i16 18206, i16 106, i16 18878, i16 19049, i16 19410, i16 19631, i16 19875, i16 19994, i16 20128, i16 20383, i16 20603, i16 20955, i16 21083, i16 21189, i16 21525, i16 11689, i16 11869, i16 21777, i16 21965, i16 17921, i16 18177, i16 22958, i16 23470, i16 23838, i16 24414, i16 24784, i16 25130, i16 25328, i16 25787, i16 26068, i16 26280, i16 26787, i16 27054, i16 27949, i16 168, i16 395, i16 587, i16 994, i16 1368, i16 1573, i16 1699, i16 1820, i16 1930, i16 2153, i16 2527, i16 2920, i16 3118, i16 3433, i16 4104, i16 4563, i16 4750, i16 4969, i16 5176, i16 5384, i16 5579, i16 5801, i16 6227, i16 6630, i16 7056, i16 7237, i16 7423, i16 7758, i16 8090, i16 8452, i16 8614, i16 8934, i16 9168, i16 9411, i16 9746, i16 10061, i16 10368, i16 10564, i16 10863, i16 11265, i16 11527, i16 11741, i16 11929, i16 12130, i16 12526, i16 12902, i16 13095, i16 13237, i16 13517, i16 15113, i16 15671, i16 16278, i16 16571, i16 16841, i16 17165, i16 17357, i16 17557, i16 17755, i16 17982, i16 18215, i16 18508, i16 18720, i16 18884, i16 19415, i16 19640, i16 19881, i16 20000, i16 20134, i16 20388, i16 20608, i16 20964, i16 21088, i16 21198, i16 21537, i16 11693, i16 11874, i16 21783, i16 21973, i16 17925, i16 18184, i16 22971, i16 23483, i16 23847, i16 24439, i16 24791, i16 25136, i16 25336, i16 25795, i16 26083, i16 26287, i16 26799, i16 27059, i16 27956, i16 173, i16 401, i16 692, i16 1000, i16 1379, i16 1578, i16 1708, i16 2158, i16 2534, i16 2933, i16 3169, i16 3525, i16 4120, i16 4570, i16 4976, i16 5185, i16 5590, i16 5806, i16 6235, i16 6645, i16 7062, i16 7243, i16 7766, i16 8006, i16 8461, i16 8942, i16 8998, i16 9238, i16 9470, i16 9758, i16 9894, i16 10067, i16 10272, i16 10569, i16 10872, i16 11281, i16 11534, i16 11748, i16 12138, i16 12541, i16 12738, i16 12907, i16 13102, i16 13522, i16 15120, i16 15690, i16 16007, i16 16285, i16 16585, i16 16848, i16 16982, i16 17172, i16 17568, i16 17767, i16 17987, i16 18521, i16 18702, i16 18890, i16 19158, i16 19422, i16 19472, i16 19647, i16 19749, i16 20393, i16 20613, i16 20973, i16 21093, i16 21207, i16 21550, i16 21789, i16 21980, i16 22651, i16 22984, i16 23496, i16 23855, i16 24461, i16 24801, i16 25343, i16 25443, i16 25802, i16 26096, i16 26298, i16 26812, i16 27067, i16 27389, i16 27751, i16 27963, i16 180, i16 705, i16 1006, i16 1390, i16 1581, i16 1713, i16 2165, i16 2542, i16 2948, i16 3176, i16 3538, i16 4136, i16 4316, i16 4575, i16 4755, i16 4982, i16 5191, i16 5394, i16 5595, i16 5813, i16 6245, i16 6664, i16 7071, i16 7250, i16 7774, i16 8101, i16 8468, i16 8947, i16 9245, i16 9478, i16 9770, i16 10074, i16 10382, i16 10576, i16 10885, i16 11297, i16 11542, i16 11758, i16 12147, i16 12558, i16 13244, i16 13527, i16 15128, i16 15712, i16 16017, i16 16292, i16 16593, i16 16858, i16 16994, i16 17180, i16 17583, i16 17994, i16 18537, i16 18897, i16 19656, i16 19759, i16 19887, i16 20140, i16 20401, i16 20621, i16 20988, i16 21100, i16 21220, i16 21561, i16 21986, i16 22199, i16 22336, i16 22539, i16 23003, i16 23515, i16 23863, i16 24483, i16 24903, i16 25142, i16 25351, i16 25452, i16 25810, i16 26111, i16 26307, i16 26494, i16 26824, i16 27075, i16 27395, i16 27762, i16 27970, i16 190, i16 410, i16 724, i16 1013, i16 1403, i16 1587, i16 1724, i16 2174, i16 2551, i16 2965, i16 3186, i16 3557, i16 4170, i16 3944, i16 4584, i16 4765, i16 4991, i16 5196, i16 5402, i16 5600, i16 5823, i16 6257, i16 6687, i16 7081, i16 7483, i16 7781, i16 8116, i16 8476, i16 8957, i16 9258, i16 9493, i16 9783, i16 10083, i16 10394, i16 10583, i16 10898, i16 11319, i16 11548, i16 11769, i16 11937, i16 12158, i16 12579, i16 12913, i16 13110, i16 13254, i16 13469, i16 15139, i16 15743, i16 16028, i16 16299, i16 16606, i16 16866, i16 17191, i16 17590, i16 17784, i16 18004, i16 18565, i16 18907, i16 19665, i16 19769, i16 19896, i16 20151, i16 20410, i16 20630, i16 21005, i16 21109, i16 21237, i16 21574, i16 21994, i16 22209, i16 22346, i16 22558, i16 23034, i16 23546, i16 23871, i16 24505, i16 24919, i16 25154, i16 25357, i16 25819, i16 26128, i16 26318, i16 26837, i16 27083, i16 27187, i16 27406, i16 27783, i16 27977, i16 198, i16 743, i16 1020, i16 1416, i16 1599, i16 1746, i16 2182, i16 2562, i16 2986, i16 3195, i16 3574, i16 4195, i16 3966, i16 4589, i16 4773, i16 4999, i16 5202, i16 5607, i16 5831, i16 6267, i16 6706, i16 7089, i16 7261, i16 7787, i16 8127, i16 8484, i16 9275, i16 9511, i16 9794, i16 10408, i16 10591, i16 10913, i16 11341, i16 11557, i16 12169, i16 12600, i16 12921, i16 13119, i16 13475, i16 15149, i16 15771, i16 16037, i16 16306, i16 16616, i16 16873, i16 17003, i16 17200, i16 17606, i16 17801, i16 18013, i16 18587, i16 18915, i16 19904, i16 20161, i16 20418, i16 20638, i16 21020, i16 21117, i16 21252, i16 21587, i16 22000, i16 22143, i16 22217, i16 22354, i16 22573, i16 23059, i16 23571, i16 23878, i16 24524, i16 24831, i16 25162, i16 25362, i16 25459, i16 25827, i16 26143, i16 26331, i16 26853, i16 27090, i16 27195, i16 27416, i16 27802, i16 27984, i16 207, i16 418, i16 759, i16 1027, i16 1429, i16 1612, i16 1770, i16 2189, i16 2571, i16 3003, i16 3203, i16 3589, i16 4220, i16 3988, i16 4592, i16 4782, i16 5008, i16 5211, i16 5616, i16 5840, i16 5998, i16 6277, i16 6725, i16 7098, i16 7271, i16 7492, i16 7794, i16 8140, i16 8494, i16 8737, i16 8965, i16 9004, i16 9288, i16 9525, i16 9807, i16 9907, i16 10419, i16 10598, i16 10926, i16 11360, i16 11565, i16 12179, i16 12619, i16 13262, i16 13481, i16 15158, i16 15796, i16 16047, i16 16316, i16 16623, i16 16883, i16 17014, i16 17210, i16 17623, i16 18021, i16 18615, i16 18726, i16 18924, i16 19056, i16 19428, i16 19677, i16 19782, i16 19913, i16 20006, i16 20171, i16 20425, i16 20645, i16 21033, i16 21124, i16 21265, i16 21600, i16 22007, i16 22226, i16 22363, i16 22590, i16 23081, i16 23590, i16 23888, i16 24552, i16 24932, i16 25173, i16 25368, i16 25466, i16 25836, i16 26160, i16 26342, i16 26876, i16 27098, i16 27994, i16 216, i16 427, i16 775, i16 1034, i16 1442, i16 0, i16 4248, i16 4347, i16 4598, i16 8153, i16 11382, i16 12930, i16 13532, i16 16326, i16 18637, i16 22015, i16 23107, i16 23615, i16 24945, i16 25375, i16 25474, i16 28004, i16 219, i16 430, i16 785, i16 1036, i16 1445, i16 0, i16 4261, i16 4375, i16 4598, i16 8160, i16 11410, i16 12933, i16 13539, i16 16333, i16 18649, i16 22018, i16 23120, i16 23643, i16 24965, i16 25378, i16 25479, i16 26353, i16 28011, i16 222, i16 433, i16 798, i16 1038, i16 1465, i16 1827, i16 2196, i16 2579, i16 3212, i16 4277, i16 4600, i16 5220, i16 5410, i16 5624, i16 6746, i16 6764, i16 6779, i16 6847, i16 6890, i16 7107, i16 7802, i16 8167, i16 8503, i16 10604, i16 11777, i16 12936, i16 13546, i16 15168, i16 15824, i16 16340, i16 16892, i16 17220, i16 17631, i16 18030, i16 18934, i16 19263, i16 19321, i16 21612, i16 22021, i16 22372, i16 22659, i16 23896, i16 24985, i16 26356, i16 26502, i16 26896, i16 27106, i16 28018, i16 28088, i16 28166, i16 28269, i16 243, i16 451, i16 832, i16 1063, i16 1492, i16 1853, i16 2212, i16 3226, i16 4304, i16 5653, i16 5849, i16 6007, i16 6807, i16 6876, i16 6917, i16 6929, i16 7817, i16 8199, i16 8746, i16 9014, i16 12955, i16 13578, i16 16057, i16 16351, i16 16910, i16 17257, i16 18966, i16 19167, i16 19285, i16 22045, i16 22235, i16 23919, i16 28116, i16 28312, i16 252, i16 460, i16 841, i16 1073, i16 1504, i16 1867, i16 3235, i16 6821, i16 11806, i16 13594, i16 16369, i16 19295, i16 22054, i16 26920, i16 28053, i16 28135, i16 28201, i16 261, i16 0, i16 1086, i16 1517, i16 1867, i16 3244, i16 4623, i16 5246, i16 6833, i16 8208, i16 10628, i16 11806, i16 13610, i16 16387, i16 22067, i16 26383, i16 28069, i16 28154, i16 28334, i16 0, i16 13628, i16 23929, i16 24574, i16 0, i16 0, i16 14004, i16 23961, i16 0, i16 14018, i16 0, i16 14901, i16 23971, i16 24610, i16 0, i16 24007, i16 24660], [372 x i8] c"\00\00\00\00\01\01\00\00\02\02\00\00\03\03\00\00\04\04\00\00\05\05\01\01\06\06\02\02\07\07\01\01\08\08\00\00\09\09\00\00\0A\0A\00\03\0A\0A\03\03\0B\0B\00\00\0C\0C\00\00\0D\0D\00\00\0E\0E\00\00\0F\0F\04\04\10\10\05\05\11\01\00\00\12\11\00\00\13\01\00\00\14\02\06\06\15\01\07\07\16\12\00\00\17\02\00\00\18\13\00\00\19\14\00\00\1A\01\00\00\1B\02\00\00\1C\15\00\00\00\00\08\08\1D\02\00\00\1E\02\00\00\1D\16\00\00\1F\17\00\00 \18\00\00!\19\00\00\1D\1A\00\00\22\1B\00\00#\02\00\00$\02\00\00%\02\00\00&\1C\00\00'\1D\00\00(\02\00\00)\02\00\00*\1E\09\09\1A\1F\00\00+\02\00\00, \0A\0A-!\00\00.\22\00\00/\1A\00\000#\00\001\01\00\002\1A\00\003$\0B\0B4$\0C\0C5%\0D\0D6&\0E\0E7'\00\00\00(\0F\0F8\01\00\002\02\00\009\02\00\00:\02\00\00;)\00\00<*\00\00=+\00\00>,\00\00\1D-\00\00?\01\10\10@\01\11\10A\1A\00\00B.\00\00C/\00\00D0\12\11E1\13\12;)\14\13\0C\0C\0E\14F2\15\15G3\16\16H4\17\17H4\17\18\0C\0C\18\19I+\00\00J,\00\00K5\19\1AL6\1A\1BM\01\1B\1CN7\1C\1DO8\1D\1EP9\00\00", [4 x i16] [i16 0, i16 81, i16 139, i16 169], [200 x i16] [i16 1, i16 13, i16 27, i16 43, i16 57, i16 73, i16 97, i16 121, i16 114, i16 85, i16 145, i16 173, i16 193, i16 217, i16 247, i16 281, i16 317, i16 369, i16 378, i16 396, i16 405, i16 422, i16 439, i16 459, i16 469, i16 489, i16 513, i16 520, i16 530, i16 561, i16 571, i16 591, i16 613, i16 635, i16 665, i16 687, i16 697, i16 711, i16 721, i16 739, i16 759, i16 769, i16 779, i16 815, i16 829, i16 908, i16 932, i16 960, i16 972, i16 996, i16 1003, i16 1013, i16 1048, i16 1078, i16 1106, i16 1142, i16 1180, i16 1189, i16 1199, i16 1209, i16 1229, i16 1249, i16 1267, i16 1297, i16 1316, i16 1334, i16 1344, i16 1362, i16 1380, i16 1438, i16 1492, i16 1517, i16 1564, i16 1610, i16 1619, i16 1630, i16 1670, i16 1698, i16 1720, i16 1747, i16 1783, i16 7, i16 20, i16 35, i16 50, i16 65, i16 79, i16 106, i16 134, i16 118, i16 92, i16 153, i16 183, i16 205, i16 233, i16 265, i16 294, i16 336, i16 388, i16 450, i16 479, i16 501, i16 545, i16 581, i16 603, i16 623, i16 647, i16 657, i16 678, i16 730, i16 749, i16 790, i16 806, i16 857, i16 921, i16 947, i16 981, i16 1028, i16 1090, i16 1120, i16 1154, i16 1165, i16 1219, i16 1239, i16 1258, i16 1278, i16 1289, i16 1354, i16 1371, i16 1393, i16 1445, i16 1499, i16 1526, i16 1572, i16 1642, i16 1680, i16 1729, i16 1757, i16 1792, i16 0, i16 85, i16 114, i16 167, i16 305, i16 346, i16 415, i16 433, i16 554, i16 799, i16 891, i16 1039, i16 1067, i16 1100, i16 1132, i16 1171, i16 1308, i16 1329, i16 1412, i16 1452, i16 1478, i16 1506, i16 1535, i16 1580, i16 1598, i16 1652, i16 1690, i16 1711, i16 1739, i16 1769, i16 0, i16 92, i16 118, i16 163, i16 312, i16 362, i16 419, i16 436, i16 558, i16 803, i16 898, i16 1042, i16 1071, i16 1103, i16 1137, i16 1174, i16 1312, i16 1422, i16 1465, i16 1481, i16 1485, i16 1510, i16 1545, i16 1585, i16 1591, i16 1605, i16 1661, i16 1693, i16 1715, i16 1743, i16 1776], [91141 x i16] [i16 7, i16 145, i16 4, i16 5352, i16 1159, i16 2868, i16 9485, i16 12504, i16 4, i16 38, i16 5, i16 3, i16 256, i16 576, i16 22623, i16 1154, i16 1623, i16 0, i16 19968, i16 20901, i16 1708, i16 747, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4, i16 10, i16 5, i16 4, i16 128, i16 480, i16 2038, i16 1693, i16 1947, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1154, i16 1154, i16 1986, i16 2440, i16 0, i16 4, i16 2, i16 5, i16 4, i16 128, i16 480, i16 1886, i16 1885, i16 1886, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2847, i16 2847, i16 2178, i16 5976, i16 0, i16 2, i16 0, i16 5, i16 6, i16 32, i16 64, i16 213, i16 212, i16 213, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4732, i16 4732, i16 0, i16 9496, i16 0, i16 4, i16 5, i16 5, i16 5, i16 64, i16 96, i16 409, i16 408, i16 409, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4944, i16 4944, i16 2193, i16 9976, i16 0, i16 1, i16 0, i16 4, i16 5, i16 128, i16 816, i16 13169, i16 13168, i16 13169, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5352, i16 5352, i16 0, i16 10360, i16 0, i16 1, i16 0, i16 5, i16 2, i16 512, i16 6176, i16 17172, i16 5999, i16 17172, i16 0, i16 -21504, i16 11171, i16 1111, i16 3125, i16 5352, i16 5352, i16 0, i16 -32216, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 5, i16 114, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 55, i16 246, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 92, i16 0, i16 0, i16 1155, i16 274, i16 372, i16 0, i16 1155, i16 300, i16 0, i16 0, i16 1155, i16 300, i16 0, i16 0, i16 1155, i16 331, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 390, i16 0, i16 0, i16 1155, i16 448, i16 498, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 547, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 730, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 798, i16 648, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 875, i16 786, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 916, i16 0, i16 0, i16 1155, i16 1075, i16 924, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 1433, i16 1502, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 1721, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 1780, i16 1634, i16 0, i16 1155, i16 1915, i16 498, i16 0, i16 1155, i16 2012, i16 1844, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 2049, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 2235, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 300, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 1, i16 680, i16 2383, i16 1986, i16 1, i16 680, i16 2880, i16 1986, i16 1, i16 680, i16 3369, i16 1986, i16 1, i16 680, i16 3871, i16 1986, i16 1, i16 680, i16 4373, i16 2016, i16 1, i16 680, i16 4869, i16 1986, i16 1, i16 680, i16 5366, i16 1986, i16 1, i16 680, i16 5868, i16 2016, i16 1, i16 680, i16 6369, i16 1986, i16 1, i16 680, i16 6952, i16 2058, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7976, i16 1986, i16 1, i16 680, i16 5868, i16 2016, i16 1, i16 680, i16 2880, i16 1986, i16 1, i16 680, i16 8476, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 8967, i16 2124, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 8967, i16 2124, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7976, i16 1986, i16 1, i16 680, i16 5868, i16 2016, i16 1, i16 680, i16 7478, i16 1986, i16 2, i16 1338, i16 3, i16 2178, i16 2, i16 1338, i16 3, i16 2178, i16 3, i16 212, i16 3, i16 0, i16 4, i16 6, i16 3, i16 2193, i16 5, i16 13168, i16 3, i16 0, i16 6, i16 17171, i16 3, i16 0, i16 1, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 21, i16 22, i16 23, i16 24, i16 30, i16 40, i16 44, i16 45, i16 50, i16 51, i16 52, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 120, i16 125, i16 126, i16 135, i16 137, i16 144, i16 157, i16 159, i16 160, i16 162, i16 167, i16 170, i16 172, i16 175, i16 177, i16 182, i16 183, i16 186, i16 188, i16 193, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 236, i16 237, i16 240, i16 241, i16 242, i16 243, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 458, i16 459, i16 460, i16 461, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 640, i16 651, i16 652, i16 654, i16 655, i16 669, i16 683, i16 685, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 698, i16 708, i16 711, i16 719, i16 720, i16 722, i16 724, i16 725, i16 726, i16 727, i16 728, i16 731, i16 732, i16 733, i16 735, i16 742, i16 743, i16 744, i16 745, i16 746, i16 747, i16 748, i16 756, i16 757, i16 758, i16 759, i16 761, i16 764, i16 765, i16 766, i16 767, i16 768, i16 774, i16 775, i16 776, i16 779, i16 780, i16 783, i16 784, i16 785, i16 786, i16 793, i16 798, i16 805, i16 806, i16 808, i16 810, i16 811, i16 812, i16 816, i16 818, i16 819, i16 820, i16 821, i16 826, i16 827, i16 828, i16 830, i16 831, i16 832, i16 833, i16 840, i16 843, i16 844, i16 859, i16 860, i16 862, i16 863, i16 877, i16 891, i16 893, i16 895, i16 896, i16 897, i16 898, i16 899, i16 900, i16 901, i16 902, i16 903, i16 906, i16 916, i16 919, i16 927, i16 928, i16 930, i16 932, i16 933, i16 934, i16 935, i16 936, i16 939, i16 940, i16 942, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 955, i16 963, i16 964, i16 965, i16 967, i16 970, i16 971, i16 972, i16 973, i16 979, i16 980, i16 981, i16 984, i16 985, i16 988, i16 989, i16 990, i16 991, i16 998, i16 1002, i16 1009, i16 1010, i16 1012, i16 1014, i16 1015, i16 1016, i16 1020, i16 1022, i16 1023, i16 1024, i16 1025, i16 1030, i16 1031, i16 1032, i16 1034, i16 1035, i16 1036, i16 1037, i16 1044, i16 1047, i16 1108, i16 1109, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 1117, i16 1118, i16 1119, i16 1120, i16 1121, i16 1122, i16 1123, i16 1124, i16 1125, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1132, i16 1133, i16 1134, i16 1139, i16 1140, i16 1141, i16 1142, i16 1143, i16 1147, i16 1157, i16 1158, i16 1183, i16 1184, i16 1185, i16 1186, i16 1187, i16 1188, i16 1189, i16 1190, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1206, i16 1207, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1235, i16 1236, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1242, i16 1243, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 1251, i16 1252, i16 1253, i16 1254, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1263, i16 1264, i16 1265, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1318, i16 1319, i16 1348, i16 1349, i16 1350, i16 1351, i16 1356, i16 1357, i16 1358, i16 1359, i16 1368, i16 1369, i16 1371, i16 1372, i16 1373, i16 1374, i16 1377, i16 1378, i16 1379, i16 1380, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 1390, i16 1391, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1400, i16 1403, i16 1404, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1418, i16 1419, i16 1420, i16 1421, i16 1422, i16 1423, i16 1424, i16 1425, i16 1426, i16 1427, i16 1428, i16 1429, i16 1430, i16 1431, i16 1432, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1440, i16 1441, i16 1442, i16 1443, i16 1444, i16 1445, i16 1446, i16 1447, i16 1448, i16 1449, i16 1450, i16 1451, i16 1452, i16 1453, i16 1454, i16 1455, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1481, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1507, i16 1513, i16 1520, i16 1521, i16 1523, i16 1529, i16 1530, i16 1531, i16 1533, i16 1536, i16 1537, i16 1540, i16 1542, i16 1543, i16 1544, i16 1545, i16 1548, i16 1551, i16 1552, i16 1554, i16 1555, i16 1558, i16 1559, i16 1560, i16 1562, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1571, i16 1578, i16 1584, i16 1585, i16 1587, i16 1593, i16 1596, i16 1598, i16 1601, i16 1602, i16 1605, i16 1607, i16 1608, i16 1609, i16 1610, i16 1613, i16 1616, i16 1617, i16 1619, i16 1620, i16 1623, i16 1624, i16 1625, i16 1627, i16 1629, i16 1630, i16 2, i16 25, i16 26, i16 27, i16 28, i16 29, i16 41, i16 48, i16 49, i16 132, i16 141, i16 151, i16 153, i16 155, i16 169, i16 185, i16 199, i16 200, i16 235, i16 299, i16 300, i16 301, i16 302, i16 304, i16 305, i16 307, i16 308, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 317, i16 318, i16 319, i16 320, i16 321, i16 323, i16 324, i16 325, i16 326, i16 328, i16 329, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 339, i16 341, i16 342, i16 344, i16 345, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 641, i16 642, i16 643, i16 644, i16 648, i16 649, i16 650, i16 653, i16 662, i16 663, i16 664, i16 665, i16 666, i16 682, i16 684, i16 705, i16 706, i16 707, i16 714, i16 715, i16 716, i16 721, i16 723, i16 730, i16 755, i16 760, i16 771, i16 772, i16 773, i16 794, i16 795, i16 796, i16 797, i16 807, i16 814, i16 815, i16 817, i16 823, i16 841, i16 842, i16 849, i16 850, i16 851, i16 852, i16 856, i16 857, i16 858, i16 861, i16 870, i16 871, i16 872, i16 873, i16 874, i16 890, i16 892, i16 913, i16 914, i16 915, i16 922, i16 923, i16 924, i16 929, i16 931, i16 938, i16 962, i16 966, i16 976, i16 977, i16 978, i16 999, i16 1000, i16 1001, i16 1011, i16 1018, i16 1019, i16 1021, i16 1027, i16 1045, i16 1046, i16 1048, i16 1084, i16 1085, i16 1086, i16 1087, i16 1088, i16 1089, i16 1090, i16 1091, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1099, i16 1100, i16 1101, i16 1102, i16 1103, i16 1104, i16 1105, i16 1106, i16 1107, i16 1110, i16 1137, i16 1138, i16 1144, i16 1145, i16 1146, i16 1154, i16 1155, i16 1156, i16 1159, i16 1175, i16 1176, i16 1177, i16 1178, i16 1179, i16 1180, i16 1181, i16 1182, i16 1191, i16 1192, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1310, i16 1311, i16 1312, i16 1313, i16 1314, i16 1315, i16 1316, i16 1317, i16 1346, i16 1347, i16 1352, i16 1353, i16 1354, i16 1355, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 1367, i16 1511, i16 1517, i16 1518, i16 1519, i16 1522, i16 1527, i16 1528, i16 1535, i16 1539, i16 1546, i16 1547, i16 1550, i16 1557, i16 1561, i16 1563, i16 1575, i16 1577, i16 1582, i16 1583, i16 1586, i16 1591, i16 1592, i16 1595, i16 1600, i16 1604, i16 1611, i16 1612, i16 1615, i16 1622, i16 1626, i16 1628, i16 4, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 322, i16 323, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 446, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 460, i16 464, i16 468, i16 472, i16 474, i16 475, i16 477, i16 478, i16 480, i16 482, i16 483, i16 485, i16 486, i16 488, i16 489, i16 490, i16 493, i16 494, i16 496, i16 497, i16 498, i16 501, i16 502, i16 504, i16 505, i16 506, i16 508, i16 509, i16 511, i16 512, i16 513, i16 514, i16 515, i16 516, i16 517, i16 518, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 714, i16 715, i16 716, i16 717, i16 718, i16 719, i16 720, i16 721, i16 722, i16 723, i16 724, i16 725, i16 726, i16 727, i16 728, i16 729, i16 730, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 737, i16 738, i16 739, i16 740, i16 741, i16 742, i16 743, i16 744, i16 745, i16 746, i16 747, i16 748, i16 749, i16 750, i16 751, i16 752, i16 755, i16 783, i16 784, i16 785, i16 788, i16 789, i16 790, i16 791, i16 792, i16 793, i16 794, i16 795, i16 796, i16 797, i16 798, i16 799, i16 800, i16 801, i16 802, i16 803, i16 804, i16 805, i16 806, i16 807, i16 808, i16 809, i16 810, i16 811, i16 812, i16 813, i16 814, i16 815, i16 816, i16 817, i16 818, i16 819, i16 824, i16 825, i16 828, i16 829, i16 830, i16 831, i16 832, i16 833, i16 834, i16 835, i16 840, i16 841, i16 842, i16 851, i16 852, i16 853, i16 854, i16 855, i16 856, i16 857, i16 858, i16 859, i16 860, i16 861, i16 864, i16 865, i16 868, i16 869, i16 870, i16 871, i16 874, i16 875, i16 876, i16 881, i16 882, i16 883, i16 884, i16 885, i16 886, i16 887, i16 888, i16 891, i16 892, i16 893, i16 894, i16 895, i16 896, i16 897, i16 904, i16 905, i16 908, i16 909, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 918, i16 919, i16 920, i16 921, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 929, i16 930, i16 931, i16 932, i16 933, i16 934, i16 935, i16 936, i16 937, i16 938, i16 939, i16 940, i16 941, i16 942, i16 943, i16 948, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 964, i16 965, i16 966, i16 967, i16 968, i16 969, i16 970, i16 971, i16 972, i16 977, i16 978, i16 979, i16 980, i16 981, i16 982, i16 983, i16 984, i16 987, i16 988, i16 989, i16 992, i16 993, i16 994, i16 995, i16 996, i16 997, i16 998, i16 999, i16 1000, i16 1001, i16 1002, i16 1003, i16 1004, i16 1005, i16 1006, i16 1007, i16 1008, i16 1012, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1023, i16 1024, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 1039, i16 1040, i16 1041, i16 1042, i16 1045, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 1058, i16 1059, i16 1060, i16 1061, i16 1062, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1072, i16 1073, i16 1074, i16 1078, i16 1079, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1103, i16 1104, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1112, i16 1113, i16 1116, i16 1117, i16 1120, i16 1121, i16 1122, i16 1123, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1138, i16 1139, i16 1140, i16 1143, i16 1144, i16 1145, i16 1146, i16 1147, i16 1148, i16 1149, i16 1150, i16 1151, i16 1152, i16 1153, i16 1154, i16 1155, i16 1156, i16 1157, i16 1158, i16 1159, i16 1160, i16 1161, i16 1162, i16 1163, i16 1164, i16 1169, i16 1170, i16 1173, i16 1174, i16 1175, i16 1176, i16 1177, i16 1178, i16 1183, i16 1184, i16 1185, i16 1186, i16 1189, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1244, i16 1245, i16 1246, i16 1249, i16 1250, i16 1251, i16 1252, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1265, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1281, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1298, i16 1299, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1314, i16 1315, i16 1318, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1328, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 1336, i16 1337, i16 1338, i16 1339, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 1360, i16 1369, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1404, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1427, i16 1428, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1481, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 1528, i16 1529, i16 1530, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 1539, i16 1540, i16 1541, i16 1542, i16 1543, i16 1544, i16 1545, i16 1546, i16 1547, i16 1548, i16 1549, i16 1550, i16 1551, i16 1552, i16 1553, i16 1554, i16 1555, i16 1556, i16 1557, i16 1558, i16 1559, i16 1560, i16 1561, i16 1562, i16 1563, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 1595, i16 1596, i16 1597, i16 1598, i16 1599, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1611, i16 1612, i16 1613, i16 1614, i16 1615, i16 1616, i16 1617, i16 1618, i16 1619, i16 1620, i16 1621, i16 1622, i16 1623, i16 1624, i16 1625, i16 1626, i16 1627, i16 1628, i16 1629, i16 1630, i16 1631, i16 1632, i16 1633, i16 1634, i16 1635, i16 1636, i16 1637, i16 1638, i16 1639, i16 1640, i16 1641, i16 1642, i16 1643, i16 1644, i16 1645, i16 1646, i16 1647, i16 1648, i16 1649, i16 1650, i16 1651, i16 1652, i16 1653, i16 1654, i16 1655, i16 1656, i16 1657, i16 1658, i16 1659, i16 1660, i16 1661, i16 1662, i16 1663, i16 1664, i16 1665, i16 1666, i16 1667, i16 1668, i16 1669, i16 1670, i16 1671, i16 1672, i16 1673, i16 1674, i16 1675, i16 1676, i16 1677, i16 1678, i16 1679, i16 1680, i16 1681, i16 1682, i16 1683, i16 1684, i16 1685, i16 1686, i16 1687, i16 1688, i16 1689, i16 1690, i16 1691, i16 1692, i16 1693, i16 1694, i16 1695, i16 1696, i16 1697, i16 1698, i16 1699, i16 1700, i16 1701, i16 1702, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 1717, i16 1718, i16 1719, i16 1720, i16 1721, i16 1722, i16 1723, i16 1724, i16 1725, i16 1726, i16 1727, i16 1728, i16 1729, i16 1730, i16 1731, i16 1732, i16 1733, i16 1734, i16 1735, i16 1736, i16 1737, i16 1738, i16 1739, i16 1740, i16 1741, i16 1742, i16 1743, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 1749, i16 1750, i16 1751, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 1758, i16 1759, i16 1760, i16 1761, i16 1762, i16 1763, i16 1764, i16 1765, i16 1766, i16 1767, i16 1768, i16 1769, i16 1770, i16 1771, i16 1772, i16 1773, i16 1774, i16 1775, i16 1776, i16 1777, i16 1778, i16 1779, i16 1780, i16 1781, i16 1782, i16 1783, i16 1784, i16 1785, i16 1786, i16 1787, i16 1788, i16 1789, i16 1790, i16 1791, i16 1792, i16 1793, i16 1794, i16 1795, i16 1796, i16 1797, i16 1798, i16 1799, i16 1800, i16 1801, i16 1802, i16 1803, i16 1804, i16 1805, i16 1806, i16 1807, i16 1808, i16 1809, i16 1810, i16 1811, i16 1812, i16 1813, i16 1814, i16 1815, i16 1816, i16 1817, i16 1818, i16 1819, i16 1820, i16 1821, i16 1822, i16 1823, i16 1824, i16 1825, i16 1826, i16 1827, i16 1828, i16 1829, i16 1830, i16 1831, i16 1832, i16 1833, i16 1834, i16 1835, i16 1836, i16 1837, i16 1838, i16 1839, i16 1840, i16 1841, i16 1842, i16 1843, i16 1844, i16 1845, i16 1846, i16 1847, i16 1848, i16 1849, i16 1850, i16 1851, i16 1852, i16 1853, i16 1854, i16 1855, i16 1856, i16 1857, i16 1858, i16 1859, i16 1860, i16 1861, i16 1862, i16 1863, i16 1864, i16 1865, i16 1866, i16 1867, i16 1868, i16 1869, i16 1870, i16 1871, i16 1872, i16 1873, i16 1874, i16 1875, i16 1876, i16 1877, i16 1878, i16 1879, i16 1880, i16 1881, i16 1882, i16 1883, i16 1884, i16 1885, i16 1886, i16 1887, i16 1888, i16 1889, i16 1890, i16 1891, i16 1892, i16 1893, i16 1894, i16 1895, i16 1896, i16 1897, i16 1898, i16 1899, i16 1900, i16 1901, i16 1902, i16 1903, i16 1904, i16 1905, i16 1906, i16 1907, i16 1908, i16 1909, i16 1910, i16 1911, i16 1912, i16 1913, i16 1914, i16 1915, i16 1916, i16 1917, i16 1918, i16 1919, i16 1920, i16 1921, i16 1922, i16 1923, i16 1924, i16 1925, i16 1926, i16 1927, i16 1928, i16 1929, i16 1930, i16 1931, i16 1932, i16 1933, i16 1934, i16 1935, i16 1936, i16 1937, i16 1938, i16 1939, i16 1940, i16 1941, i16 1942, i16 1943, i16 1944, i16 1945, i16 1946, i16 1947, i16 1948, i16 1949, i16 1950, i16 1951, i16 1952, i16 1953, i16 1954, i16 1955, i16 1956, i16 1957, i16 1958, i16 1959, i16 1960, i16 1961, i16 1962, i16 1963, i16 1964, i16 1965, i16 1966, i16 1967, i16 1968, i16 1969, i16 1970, i16 1971, i16 1972, i16 1973, i16 1974, i16 1975, i16 1976, i16 1977, i16 1978, i16 1979, i16 1980, i16 1981, i16 1982, i16 1983, i16 1984, i16 1985, i16 1986, i16 1987, i16 1988, i16 1989, i16 1990, i16 1991, i16 1992, i16 1993, i16 1994, i16 1995, i16 1996, i16 1997, i16 1998, i16 1999, i16 2000, i16 2001, i16 2002, i16 2003, i16 2004, i16 2005, i16 2006, i16 2007, i16 2008, i16 2009, i16 2010, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 458, i16 459, i16 460, i16 461, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 482, i16 483, i16 484, i16 485, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 494, i16 495, i16 496, i16 497, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 520, i16 521, i16 522, i16 523, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 714, i16 715, i16 716, i16 717, i16 718, i16 719, i16 720, i16 721, i16 722, i16 723, i16 724, i16 725, i16 726, i16 727, i16 728, i16 729, i16 730, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 737, i16 738, i16 739, i16 740, i16 741, i16 742, i16 743, i16 744, i16 745, i16 746, i16 747, i16 748, i16 749, i16 750, i16 751, i16 752, i16 753, i16 754, i16 755, i16 756, i16 757, i16 758, i16 759, i16 760, i16 761, i16 762, i16 763, i16 764, i16 765, i16 766, i16 767, i16 768, i16 769, i16 770, i16 771, i16 772, i16 773, i16 774, i16 775, i16 776, i16 777, i16 778, i16 779, i16 780, i16 781, i16 782, i16 783, i16 784, i16 785, i16 786, i16 787, i16 788, i16 789, i16 790, i16 791, i16 792, i16 793, i16 794, i16 795, i16 796, i16 797, i16 798, i16 799, i16 800, i16 801, i16 802, i16 803, i16 804, i16 805, i16 806, i16 807, i16 808, i16 809, i16 810, i16 811, i16 812, i16 813, i16 814, i16 815, i16 816, i16 817, i16 818, i16 819, i16 820, i16 821, i16 822, i16 823, i16 824, i16 825, i16 826, i16 827, i16 828, i16 829, i16 830, i16 831, i16 832, i16 833, i16 834, i16 835, i16 836, i16 837, i16 838, i16 839, i16 840, i16 841, i16 842, i16 843, i16 844, i16 845, i16 846, i16 847, i16 848, i16 849, i16 850, i16 851, i16 852, i16 853, i16 854, i16 855, i16 856, i16 857, i16 858, i16 859, i16 860, i16 861, i16 862, i16 863, i16 864, i16 865, i16 866, i16 867, i16 868, i16 869, i16 870, i16 871, i16 872, i16 873, i16 874, i16 875, i16 876, i16 877, i16 878, i16 879, i16 880, i16 881, i16 882, i16 883, i16 884, i16 885, i16 886, i16 887, i16 888, i16 889, i16 890, i16 891, i16 892, i16 893, i16 894, i16 895, i16 896, i16 897, i16 898, i16 899, i16 900, i16 901, i16 902, i16 903, i16 904, i16 905, i16 906, i16 907, i16 908, i16 909, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 918, i16 919, i16 920, i16 921, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 929, i16 930, i16 931, i16 932, i16 933, i16 934, i16 935, i16 936, i16 937, i16 938, i16 939, i16 940, i16 941, i16 942, i16 943, i16 944, i16 945, i16 946, i16 947, i16 948, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 964, i16 965, i16 966, i16 967, i16 968, i16 969, i16 970, i16 971, i16 972, i16 973, i16 974, i16 975, i16 976, i16 977, i16 978, i16 979, i16 980, i16 981, i16 982, i16 983, i16 984, i16 985, i16 986, i16 987, i16 988, i16 989, i16 990, i16 991, i16 992, i16 993, i16 994, i16 995, i16 996, i16 997, i16 998, i16 999, i16 1000, i16 1001, i16 1002, i16 1003, i16 1004, i16 1005, i16 1006, i16 1007, i16 1008, i16 1009, i16 1010, i16 1011, i16 1012, i16 1013, i16 1014, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1023, i16 1024, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 1037, i16 1038, i16 1039, i16 1040, i16 1041, i16 1042, i16 1043, i16 1044, i16 1045, i16 1046, i16 1047, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 1058, i16 1059, i16 1060, i16 1061, i16 1062, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1070, i16 1071, i16 1072, i16 1073, i16 1074, i16 1075, i16 1076, i16 1077, i16 1078, i16 1079, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1088, i16 1089, i16 1090, i16 1091, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1099, i16 1100, i16 1101, i16 1102, i16 1103, i16 1104, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 1117, i16 1118, i16 1119, i16 1120, i16 1121, i16 1122, i16 1123, i16 1124, i16 1125, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1132, i16 1133, i16 1134, i16 1135, i16 1136, i16 1137, i16 1138, i16 1139, i16 1140, i16 1141, i16 1142, i16 1143, i16 1144, i16 1145, i16 1146, i16 1147, i16 1148, i16 1149, i16 1150, i16 1151, i16 1152, i16 1153, i16 1154, i16 1155, i16 1156, i16 1157, i16 1158, i16 1159, i16 1160, i16 1161, i16 1162, i16 1163, i16 1164, i16 1165, i16 1166, i16 1167, i16 1168, i16 1169, i16 1170, i16 1171, i16 1172, i16 1173, i16 1174, i16 1175, i16 1176, i16 1177, i16 1178, i16 1179, i16 1180, i16 1181, i16 1182, i16 1183, i16 1184, i16 1185, i16 1186, i16 1187, i16 1188, i16 1189, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1206, i16 1207, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1235, i16 1236, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1242, i16 1243, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 1251, i16 1252, i16 1253, i16 1254, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1263, i16 1264, i16 1265, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1281, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1314, i16 1315, i16 1316, i16 1317, i16 1318, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 1367, i16 1368, i16 1369, i16 1370, i16 1371, i16 1372, i16 1373, i16 1374, i16 1375, i16 1376, i16 1377, i16 1378, i16 1379, i16 1380, i16 1381, i16 1382, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 1390, i16 1391, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1400, i16 1401, i16 1402, i16 1403, i16 1404, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1418, i16 1419, i16 1420, i16 1421, i16 1422, i16 1423, i16 1424, i16 1425, i16 1426, i16 1427, i16 1428, i16 1429, i16 1430, i16 1431, i16 1432, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1440, i16 1441, i16 1442, i16 1443, i16 1444, i16 1445, i16 1446, i16 1447, i16 1448, i16 1449, i16 1450, i16 1451, i16 1452, i16 1453, i16 1454, i16 1455, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1481, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 1528, i16 1529, i16 1530, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 1539, i16 1540, i16 1541, i16 1542, i16 1543, i16 1544, i16 1545, i16 1546, i16 1547, i16 1548, i16 1549, i16 1550, i16 1551, i16 1552, i16 1553, i16 1554, i16 1555, i16 1556, i16 1557, i16 1558, i16 1559, i16 1560, i16 1561, i16 1562, i16 1563, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 1595, i16 1596, i16 1597, i16 1598, i16 1599, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1611, i16 1612, i16 1613, i16 1614, i16 1615, i16 1616, i16 1617, i16 1618, i16 1619, i16 1620, i16 1621, i16 1622, i16 1623, i16 1624, i16 1625, i16 1626, i16 1627, i16 1628, i16 1629, i16 1630, i16 1631, i16 1632, i16 1633, i16 1634, i16 1635, i16 1636, i16 1637, i16 1638, i16 1639, i16 1640, i16 1641, i16 1642, i16 1643, i16 1644, i16 1645, i16 1646, i16 1647, i16 1648, i16 1649, i16 1650, i16 1651, i16 1652, i16 1653, i16 1654, i16 1655, i16 1656, i16 1657, i16 1658, i16 1659, i16 1660, i16 1661, i16 1662, i16 1663, i16 1664, i16 1665, i16 1666, i16 1667, i16 1668, i16 1669, i16 1670, i16 1671, i16 1672, i16 1673, i16 1674, i16 1675, i16 1676, i16 1677, i16 1678, i16 1679, i16 1680, i16 1681, i16 1682, i16 1683, i16 1684, i16 1685, i16 1686, i16 1687, i16 1688, i16 1689, i16 1690, i16 1691, i16 1692, i16 1693, i16 1694, i16 1695, i16 1696, i16 1697, i16 1698, i16 1699, i16 1700, i16 1701, i16 1702, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 1717, i16 1718, i16 1719, i16 1720, i16 1721, i16 1722, i16 1723, i16 1724, i16 1725, i16 1726, i16 1727, i16 1728, i16 1729, i16 1730, i16 1731, i16 1732, i16 1733, i16 1734, i16 1735, i16 1736, i16 1737, i16 1738, i16 1739, i16 1740, i16 1741, i16 1742, i16 1743, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 1749, i16 1750, i16 1751, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 1758, i16 1759, i16 1760, i16 1761, i16 1762, i16 1763, i16 1764, i16 1765, i16 1766, i16 1767, i16 1768, i16 1769, i16 1770, i16 1771, i16 1772, i16 1773, i16 1774, i16 1775, i16 1776, i16 1777, i16 1778, i16 1779, i16 1780, i16 1781, i16 1782, i16 1783, i16 1784, i16 1785, i16 1786, i16 1787, i16 1788, i16 1789, i16 1790, i16 1791, i16 1792, i16 1793, i16 1794, i16 1795, i16 1796, i16 1797, i16 1798, i16 1799, i16 1800, i16 1801, i16 1802, i16 1803, i16 1804, i16 1805, i16 1806, i16 1807, i16 1808, i16 1809, i16 1810, i16 1811, i16 1812, i16 1813, i16 1814, i16 1815, i16 1816, i16 1817, i16 1818, i16 1819, i16 1820, i16 1821, i16 1822, i16 1823, i16 1824, i16 1825, i16 1826, i16 1827, i16 1828, i16 1829, i16 1830, i16 1831, i16 1832, i16 1833, i16 1834, i16 1835, i16 1836, i16 1837, i16 1838, i16 1839, i16 1840, i16 1841, i16 1842, i16 1843, i16 1844, i16 1845, i16 1846, i16 1847, i16 1848, i16 1849, i16 1850, i16 1851, i16 1852, i16 1853, i16 1854, i16 1855, i16 1856, i16 1857, i16 1858, i16 1859, i16 1860, i16 1861, i16 1862, i16 1863, i16 1864, i16 1865, i16 1866, i16 1867, i16 1868, i16 1869, i16 1870, i16 1871, i16 1872, i16 1873, i16 1874, i16 1875, i16 1876, i16 1877, i16 1878, i16 1879, i16 1880, i16 1881, i16 1882, i16 1883, i16 1884, i16 1885, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 2, i16 1, i16 3, i16 1, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 457, i16 458, i16 459, i16 460, i16 461, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 482, i16 483, i16 484, i16 485, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 494, i16 495, i16 496, i16 497, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 520, i16 521, i16 522, i16 523, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 714, i16 715, i16 716, i16 717, i16 718, i16 719, i16 720, i16 721, i16 722, i16 723, i16 724, i16 725, i16 726, i16 727, i16 728, i16 729, i16 730, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 737, i16 738, i16 739, i16 740, i16 741, i16 742, i16 743, i16 744, i16 745, i16 746, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1188, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1206, i16 1207, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1235, i16 1236, i16 1187, i16 1190, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1242, i16 1243, i16 1187, i16 1190, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 1251, i16 1252, i16 1187, i16 1190, i16 1253, i16 1254, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1263, i16 1264, i16 1265, i16 1187, i16 1190, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1281, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1187, i16 1190, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1187, i16 1314, i16 1315, i16 1316, i16 1317, i16 1318, i16 1190, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1329, i16 1330, i16 1331, i16 1187, i16 1190, i16 1332, i16 1333, i16 1334, i16 1335, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 1187, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 1367, i16 1368, i16 1369, i16 1370, i16 1371, i16 1372, i16 1373, i16 1187, i16 1374, i16 1375, i16 1190, i16 1376, i16 1377, i16 1378, i16 1187, i16 1190, i16 1379, i16 1380, i16 1381, i16 1382, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 1187, i16 1190, i16 1390, i16 1391, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1400, i16 1401, i16 1402, i16 1403, i16 1404, i16 1187, i16 1190, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1187, i16 1190, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1418, i16 1419, i16 1420, i16 1421, i16 1422, i16 1423, i16 1187, i16 1190, i16 1424, i16 1425, i16 1426, i16 1427, i16 1428, i16 1429, i16 1430, i16 1431, i16 1432, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1440, i16 1441, i16 1442, i16 1443, i16 1444, i16 1445, i16 1446, i16 1447, i16 1448, i16 1449, i16 1450, i16 1451, i16 1452, i16 1453, i16 1454, i16 1455, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1187, i16 1190, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1187, i16 1190, i16 1481, i16 1187, i16 1190, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1187, i16 1190, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1187, i16 1513, i16 1514, i16 1515, i16 1190, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 1528, i16 1529, i16 1530, i16 1187, i16 1190, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 1539, i16 1540, i16 1541, i16 1542, i16 1543, i16 1544, i16 1545, i16 1546, i16 1547, i16 1548, i16 1549, i16 1550, i16 1551, i16 1552, i16 1553, i16 1554, i16 1555, i16 1556, i16 1557, i16 1558, i16 1559, i16 1560, i16 1561, i16 1562, i16 1563, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1187, i16 1187, i16 1187, i16 1190, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1187, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 1595, i16 1596, i16 1597, i16 1598, i16 1599, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1187, i16 1611, i16 1612, i16 1613, i16 1614, i16 1611, i16 1615, i16 1611, i16 1616, i16 1611, i16 1617, i16 1611, i16 1618, i16 1619, i16 1620, i16 1611, i16 1621, i16 1611, i16 1622, i16 1623, i16 1624, i16 1611, i16 1625, i16 1611, i16 1626, i16 1627, i16 1628, i16 1629, i16 1630, i16 1631, i16 1611, i16 1632, i16 1611, i16 1633, i16 1611, i16 1634, i16 1611, i16 1635, i16 1611, i16 1636, i16 1611, i16 1637, i16 1638, i16 1639, i16 1611, i16 1640, i16 1611, i16 1641, i16 1611, i16 1642, i16 1643, i16 1611, i16 1644, i16 1611, i16 1645, i16 1646, i16 1647, i16 1648, i16 1649, i16 1650, i16 1611, i16 1651, i16 1611, i16 1652, i16 1611, i16 1653, i16 1611, i16 1654, i16 1655, i16 1656, i16 1657, i16 1658, i16 1657, i16 1659, i16 1657, i16 1660, i16 1657, i16 1661, i16 1657, i16 1662, i16 1657, i16 1663, i16 1657, i16 1664, i16 1657, i16 1665, i16 1657, i16 1666, i16 1657, i16 1667, i16 1657, i16 1668, i16 1657, i16 1669, i16 1657, i16 1670, i16 1657, i16 1671, i16 1657, i16 1672, i16 1657, i16 1673, i16 1657, i16 1674, i16 1657, i16 1675, i16 1657, i16 1676, i16 1657, i16 1677, i16 1657, i16 1678, i16 1657, i16 1679, i16 1657, i16 1680, i16 1657, i16 1681, i16 1657, i16 1682, i16 1657, i16 1683, i16 1657, i16 1684, i16 1657, i16 1685, i16 1657, i16 1686, i16 1657, i16 1687, i16 1657, i16 1688, i16 1657, i16 1689, i16 1657, i16 1690, i16 1657, i16 1691, i16 1657, i16 1692, i16 1657, i16 1693, i16 1657, i16 1694, i16 1657, i16 1695, i16 1657, i16 1696, i16 1657, i16 1697, i16 1657, i16 1698, i16 1699, i16 1700, i16 1657, i16 1701, i16 1699, i16 1702, i16 1657, i16 1703, i16 1657, i16 1704, i16 1657, i16 1705, i16 1657, i16 1706, i16 1657, i16 1707, i16 1657, i16 1708, i16 1657, i16 1709, i16 1657, i16 1710, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1189, i16 1189, i16 1189, i16 1189, i16 1712, i16 1712, i16 1713, i16 1714, i16 1714, i16 1714, i16 1714, i16 1714, i16 1714, i16 1712, i16 1712, i16 1715, i16 1715, i16 1715, i16 1712, i16 1716, i16 1716, i16 1716, i16 1716, i16 1712, i16 1712, i16 1712, i16 1717, i16 1717, i16 1717, i16 1717, i16 1717, i16 1717, i16 1717, i16 1712, i16 1718, i16 1718, i16 1718, i16 1718, i16 1712, i16 1719, i16 1719, i16 1719, i16 1719, i16 1712, i16 1720, i16 1720, i16 1720, i16 1720, i16 1712, i16 1721, i16 1721, i16 1721, i16 1721, i16 1712, i16 1722, i16 1722, i16 1712, i16 1723, i16 1723, i16 1712, i16 1724, i16 1724, i16 1712, i16 1725, i16 1725, i16 1712, i16 1726, i16 1726, i16 1726, i16 1726, i16 1712, i16 1727, i16 1727, i16 1727, i16 1727, i16 1712, i16 1728, i16 1728, i16 1728, i16 1728, i16 1712, i16 1729, i16 1729, i16 1729, i16 1729, i16 1712, i16 1730, i16 1730, i16 1730, i16 1730, i16 1712, i16 1731, i16 1731, i16 1731, i16 1731, i16 1712, i16 1732, i16 1732, i16 1732, i16 1732, i16 1712, i16 1733, i16 1733, i16 1733, i16 1733, i16 1712, i16 1734, i16 1734, i16 1734, i16 1734, i16 1712, i16 1735, i16 1735, i16 1735, i16 1735, i16 1712, i16 1736, i16 1736, i16 1736, i16 1736, i16 1712, i16 1737, i16 1737, i16 1737, i16 1737, i16 1712, i16 1738, i16 1738, i16 1738, i16 1738, i16 1712, i16 1739, i16 1739, i16 1739, i16 1739, i16 1712, i16 1740, i16 1740, i16 1740, i16 1740, i16 1712, i16 1741, i16 1741, i16 1712, i16 1742, i16 1742, i16 1712, i16 1743, i16 1743, i16 1743, i16 1743, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 1749, i16 1750, i16 1751, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 1758, i16 1759, i16 1760, i16 1761, i16 1762, i16 1712, i16 1763, i16 1763, i16 1763, i16 1712, i16 1764, i16 1764, i16 1764, i16 1712, i16 1765, i16 1765, i16 1765, i16 1765, i16 1712, i16 1766, i16 1766, i16 1766, i16 1712, i16 1767, i16 1767, i16 1767, i16 1712, i16 1768, i16 1768, i16 1768, i16 1768, i16 1712, i16 1769, i16 1769, i16 1769, i16 1712, i16 1770, i16 1770, i16 1770, i16 1712, i16 1771, i16 1771, i16 1771, i16 1771, i16 1712, i16 1772, i16 1772, i16 1772, i16 1712, i16 1773, i16 1773, i16 1773, i16 1712, i16 1774, i16 1774, i16 1774, i16 1712, i16 1775, i16 1775, i16 1775, i16 1712, i16 1776, i16 1776, i16 1776, i16 1712, i16 1777, i16 1777, i16 1777, i16 1712, i16 1778, i16 1778, i16 1778, i16 1712, i16 1779, i16 1779, i16 1779, i16 1712, i16 1780, i16 1780, i16 1780, i16 1780, i16 1780, i16 1712, i16 1781, i16 1781, i16 1781, i16 1712, i16 1782, i16 1782, i16 1782, i16 1712, i16 1783, i16 1712, i16 1784, i16 1712, i16 1785, i16 1712, i16 1786, i16 1712, i16 1787, i16 1712, i16 1788, i16 1788, i16 1788, i16 1788, i16 1788, i16 1712, i16 1789, i16 1789, i16 1789, i16 1789, i16 1789, i16 1712, i16 1790, i16 1790, i16 1790, i16 1790, i16 1790, i16 1712, i16 1791, i16 1791, i16 1791, i16 1791, i16 1791, i16 1712, i16 1792, i16 1792, i16 1792, i16 1792, i16 1792, i16 1712, i16 1793, i16 1712, i16 1794, i16 1712, i16 1795, i16 1712, i16 1796, i16 1712, i16 1797, i16 1712, i16 1798, i16 1798, i16 1798, i16 1712, i16 1799, i16 1799, i16 1799, i16 1712, i16 1800, i16 1800, i16 1800, i16 1712, i16 1801, i16 1712, i16 1802, i16 1712, i16 1803, i16 1712, i16 1804, i16 1712, i16 1805, i16 1712, i16 1806, i16 1806, i16 1806, i16 1712, i16 1807, i16 1712, i16 1808, i16 1712, i16 1809, i16 1712, i16 1810, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2093, i16 2094, i16 2095, i16 2096, i16 2097, i16 2098, i16 2099, i16 2100, i16 2101, i16 2102, i16 2103, i16 2104, i16 2105, i16 2106, i16 2107, i16 2108, i16 2109, i16 2110, i16 2111, i16 2112, i16 2113, i16 2114, i16 2115, i16 2116, i16 2117, i16 2118, i16 2119, i16 2120, i16 2121, i16 2122, i16 2123, i16 2124, i16 2125, i16 2126, i16 2127, i16 2128, i16 2129, i16 2130, i16 2131, i16 2132, i16 2133, i16 2134, i16 2135, i16 2136, i16 2137, i16 2138, i16 2139, i16 2140, i16 2141, i16 2142, i16 2143, i16 2144, i16 2145, i16 2146, i16 2147, i16 2148, i16 2149, i16 2150, i16 2151, i16 2091, i16 2152, i16 2153, i16 2154, i16 2155, i16 2156, i16 2157, i16 2093, i16 2158, i16 2159, i16 2160, i16 2161, i16 2162, i16 2163, i16 2164, i16 2091, i16 2093, i16 2165, i16 2166, i16 2167, i16 2168, i16 2169, i16 2170, i16 2171, i16 2172, i16 2173, i16 2174, i16 2175, i16 2176, i16 2177, i16 2178, i16 2179, i16 2091, i16 2093, i16 2180, i16 2181, i16 2182, i16 2183, i16 2184, i16 2185, i16 2186, i16 2187, i16 2188, i16 2189, i16 2190, i16 2191, i16 2192, i16 2193, i16 2194, i16 2091, i16 2093, i16 2195, i16 2196, i16 2197, i16 2198, i16 2199, i16 2200, i16 2201, i16 2202, i16 2203, i16 2204, i16 2205, i16 2206, i16 2207, i16 2208, i16 2209, i16 2210, i16 2211, i16 2212, i16 2213, i16 2214, i16 2215, i16 2216, i16 2217, i16 2218, i16 2219, i16 2220, i16 2221, i16 2222, i16 2223, i16 2224, i16 2225, i16 2226, i16 2227, i16 2228, i16 2229, i16 2230, i16 2231, i16 2232, i16 2233, i16 2234, i16 2235, i16 2236, i16 2237, i16 2238, i16 2239, i16 2240, i16 2241, i16 2242, i16 2243, i16 2091, i16 2093, i16 2244, i16 2245, i16 2246, i16 2247, i16 2248, i16 2091, i16 2249, i16 2250, i16 2251, i16 2252, i16 2253, i16 2093, i16 2254, i16 2255, i16 2256, i16 2257, i16 2258, i16 2259, i16 2260, i16 2261, i16 2262, i16 2263, i16 2264, i16 2265, i16 2266, i16 2267, i16 2268, i16 2269, i16 2270, i16 2091, i16 2093, i16 2271, i16 2272, i16 2273, i16 2274, i16 2275, i16 2276, i16 2277, i16 2278, i16 2279, i16 2280, i16 2281, i16 2282, i16 2283, i16 2284, i16 2285, i16 2091, i16 2093, i16 2286, i16 2287, i16 2093, i16 2288, i16 2289, i16 2290, i16 2291, i16 2292, i16 2293, i16 2294, i16 2295, i16 2296, i16 2297, i16 2298, i16 2299, i16 2300, i16 2301, i16 2302, i16 2303, i16 2304, i16 2305, i16 2306, i16 2307, i16 2308, i16 2309, i16 2310, i16 2311, i16 2312, i16 2313, i16 2314, i16 2315, i16 2316, i16 2317, i16 2318, i16 2319, i16 2320, i16 2091, i16 2321, i16 2322, i16 2093, i16 2323, i16 2324, i16 2325, i16 2091, i16 2093, i16 2326, i16 2327, i16 2328, i16 2329, i16 2330, i16 2331, i16 2332, i16 2333, i16 2334, i16 2335, i16 2336, i16 2337, i16 2338, i16 2091, i16 2339, i16 2093, i16 2340, i16 2341, i16 2342, i16 2343, i16 2344, i16 2345, i16 2346, i16 2347, i16 2348, i16 2349, i16 2350, i16 2351, i16 2352, i16 2353, i16 2354, i16 2355, i16 2356, i16 2357, i16 2358, i16 2091, i16 2093, i16 2359, i16 2360, i16 2361, i16 2362, i16 2363, i16 2364, i16 2365, i16 2091, i16 2093, i16 2366, i16 2367, i16 2368, i16 2369, i16 2370, i16 2371, i16 2372, i16 2373, i16 2374, i16 2375, i16 2376, i16 2377, i16 2378, i16 2379, i16 2380, i16 2381, i16 2382, i16 2383, i16 2091, i16 2384, i16 2385, i16 2093, i16 2386, i16 2387, i16 2388, i16 2389, i16 2390, i16 2391, i16 2392, i16 2393, i16 2394, i16 2395, i16 2396, i16 2397, i16 2398, i16 2399, i16 2400, i16 2401, i16 2402, i16 2403, i16 2404, i16 2405, i16 2406, i16 2407, i16 2408, i16 2409, i16 2410, i16 2411, i16 2412, i16 2413, i16 2414, i16 2415, i16 2416, i16 2417, i16 2418, i16 2419, i16 2420, i16 2421, i16 2422, i16 2423, i16 2424, i16 2425, i16 2426, i16 2427, i16 2428, i16 2429, i16 2430, i16 2431, i16 2432, i16 2433, i16 2434, i16 2435, i16 2436, i16 2437, i16 2438, i16 2439, i16 2440, i16 2441, i16 2442, i16 2443, i16 2444, i16 2445, i16 2446, i16 2447, i16 2448, i16 2449, i16 2450, i16 2451, i16 2091, i16 2452, i16 2453, i16 2093, i16 2454, i16 2455, i16 2456, i16 2457, i16 2458, i16 2091, i16 2093, i16 2459, i16 2091, i16 2093, i16 2460, i16 2461, i16 2462, i16 2463, i16 2464, i16 2465, i16 2466, i16 2467, i16 2468, i16 2469, i16 2470, i16 2471, i16 2472, i16 2473, i16 2474, i16 2475, i16 2476, i16 2178, i16 2477, i16 2091, i16 2093, i16 2478, i16 2479, i16 2480, i16 2481, i16 2482, i16 2483, i16 2484, i16 2485, i16 2486, i16 2487, i16 2488, i16 2489, i16 2490, i16 2491, i16 2492, i16 2493, i16 2178, i16 2494, i16 2495, i16 2496, i16 2091, i16 2497, i16 2498, i16 2499, i16 2093, i16 2500, i16 2501, i16 2502, i16 2503, i16 2504, i16 2505, i16 2506, i16 2507, i16 2508, i16 2509, i16 2510, i16 2511, i16 2512, i16 2513, i16 2514, i16 2091, i16 2515, i16 2516, i16 2093, i16 2517, i16 2518, i16 2519, i16 2520, i16 2521, i16 2522, i16 2523, i16 2524, i16 2525, i16 2526, i16 2527, i16 2528, i16 2529, i16 2530, i16 2531, i16 2532, i16 2533, i16 2534, i16 2535, i16 2536, i16 2537, i16 2538, i16 2539, i16 2540, i16 2541, i16 2542, i16 2543, i16 2544, i16 2545, i16 2546, i16 2547, i16 2548, i16 2549, i16 2550, i16 2551, i16 2552, i16 2553, i16 2554, i16 2555, i16 2556, i16 2557, i16 2558, i16 2559, i16 2560, i16 2561, i16 2562, i16 2563, i16 2564, i16 2565, i16 2566, i16 2567, i16 2568, i16 2569, i16 2570, i16 2571, i16 2572, i16 2573, i16 2574, i16 2575, i16 2576, i16 2577, i16 2091, i16 2093, i16 2578, i16 2579, i16 2580, i16 2581, i16 2582, i16 2091, i16 2093, i16 2583, i16 2584, i16 2585, i16 2586, i16 2587, i16 2588, i16 2589, i16 2590, i16 2591, i16 2592, i16 2593, i16 2594, i16 2595, i16 2091, i16 2093, i16 2596, i16 2597, i16 2598, i16 2599, i16 2600, i16 2091, i16 2093, i16 2601, i16 2602, i16 2603, i16 2604, i16 2605, i16 2606, i16 2607, i16 2608, i16 2609, i16 2610, i16 2611, i16 2612, i16 2613, i16 2614, i16 2615, i16 2616, i16 2617, i16 2091, i16 2093, i16 2618, i16 2619, i16 2620, i16 2621, i16 2622, i16 2623, i16 2624, i16 2625, i16 2626, i16 2627, i16 2628, i16 2629, i16 2630, i16 2091, i16 2178, i16 2631, i16 2632, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2634, i16 2635, i16 2636, i16 2637, i16 2638, i16 2639, i16 2640, i16 2641, i16 2642, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2643, i16 2092, i16 2644, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2645, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2646, i16 2647, i16 2648, i16 2649, i16 2650, i16 2647, i16 2651, i16 2647, i16 2652, i16 2647, i16 2653, i16 2647, i16 2654, i16 2655, i16 2656, i16 2647, i16 2657, i16 2647, i16 2658, i16 2659, i16 2660, i16 2647, i16 2661, i16 2647, i16 2662, i16 2663, i16 2664, i16 2665, i16 2666, i16 2667, i16 2647, i16 2668, i16 2647, i16 2669, i16 2647, i16 2670, i16 2647, i16 2671, i16 2647, i16 2672, i16 2647, i16 2673, i16 2674, i16 2675, i16 2647, i16 2676, i16 2647, i16 2677, i16 2647, i16 2678, i16 2679, i16 2647, i16 2680, i16 2647, i16 2681, i16 2682, i16 2683, i16 2684, i16 2685, i16 2686, i16 2647, i16 2687, i16 2647, i16 2688, i16 2647, i16 2689, i16 2647, i16 2690, i16 2691, i16 2692, i16 2693, i16 2694, i16 2693, i16 2695, i16 2693, i16 2696, i16 2693, i16 2697, i16 2693, i16 2698, i16 2693, i16 2699, i16 2693, i16 2700, i16 2693, i16 2701, i16 2693, i16 2702, i16 2693, i16 2703, i16 2693, i16 2704, i16 2693, i16 2705, i16 2693, i16 2706, i16 2693, i16 2707, i16 2693, i16 2708, i16 2693, i16 2709, i16 2693, i16 2710, i16 2693, i16 2711, i16 2693, i16 2712, i16 2693, i16 2713, i16 2693, i16 2714, i16 2693, i16 2715, i16 2693, i16 2716, i16 2693, i16 2717, i16 2693, i16 2718, i16 2693, i16 2719, i16 2693, i16 2720, i16 2693, i16 2721, i16 2693, i16 2722, i16 2693, i16 2723, i16 2693, i16 2724, i16 2693, i16 2725, i16 2693, i16 2726, i16 2693, i16 2727, i16 2693, i16 2728, i16 2693, i16 2729, i16 2693, i16 2730, i16 2693, i16 2731, i16 2693, i16 2732, i16 2693, i16 2733, i16 2693, i16 2734, i16 2735, i16 2736, i16 2693, i16 2737, i16 2735, i16 2738, i16 2693, i16 2739, i16 2693, i16 2740, i16 2693, i16 2741, i16 2693, i16 2742, i16 2693, i16 2743, i16 2693, i16 2744, i16 2693, i16 2745, i16 2693, i16 2746, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2092, i16 2092, i16 2092, i16 2092, i16 2632, i16 2632, i16 2748, i16 2749, i16 2749, i16 2749, i16 2749, i16 2749, i16 2749, i16 2632, i16 2632, i16 2750, i16 2750, i16 2750, i16 2632, i16 2751, i16 2751, i16 2751, i16 2751, i16 2632, i16 2632, i16 2632, i16 2752, i16 2752, i16 2752, i16 2752, i16 2752, i16 2752, i16 2752, i16 2632, i16 2753, i16 2753, i16 2753, i16 2753, i16 2632, i16 2754, i16 2754, i16 2754, i16 2754, i16 2632, i16 2755, i16 2755, i16 2755, i16 2755, i16 2632, i16 2756, i16 2756, i16 2756, i16 2756, i16 2632, i16 2757, i16 2757, i16 2632, i16 2758, i16 2758, i16 2632, i16 2759, i16 2759, i16 2632, i16 2760, i16 2760, i16 2632, i16 2761, i16 2761, i16 2761, i16 2761, i16 2632, i16 2762, i16 2762, i16 2762, i16 2762, i16 2632, i16 2763, i16 2763, i16 2763, i16 2763, i16 2632, i16 2764, i16 2764, i16 2764, i16 2764, i16 2632, i16 2765, i16 2765, i16 2765, i16 2765, i16 2632, i16 2766, i16 2766, i16 2766, i16 2766, i16 2632, i16 2767, i16 2767, i16 2767, i16 2767, i16 2632, i16 2768, i16 2768, i16 2768, i16 2768, i16 2632, i16 2769, i16 2769, i16 2769, i16 2769, i16 2632, i16 2770, i16 2770, i16 2770, i16 2770, i16 2632, i16 2771, i16 2771, i16 2771, i16 2771, i16 2632, i16 2772, i16 2772, i16 2772, i16 2772, i16 2632, i16 2773, i16 2773, i16 2773, i16 2773, i16 2632, i16 2774, i16 2774, i16 2774, i16 2774, i16 2632, i16 2775, i16 2775, i16 2775, i16 2775, i16 2632, i16 2776, i16 2776, i16 2632, i16 2777, i16 2777, i16 2632, i16 2778, i16 2778, i16 2778, i16 2778, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2633, i16 2634, i16 2635, i16 2636, i16 2637, i16 2638, i16 2639, i16 2640, i16 2641, i16 2642, i16 2780, i16 2781, i16 2782, i16 2783, i16 2784, i16 2785, i16 2786, i16 2787, i16 2632, i16 2788, i16 2788, i16 2788, i16 2632, i16 2789, i16 2789, i16 2789, i16 2632, i16 2790, i16 2790, i16 2790, i16 2790, i16 2632, i16 2791, i16 2791, i16 2791, i16 2632, i16 2792, i16 2792, i16 2792, i16 2632, i16 2793, i16 2793, i16 2793, i16 2793, i16 2632, i16 2794, i16 2794, i16 2794, i16 2632, i16 2795, i16 2795, i16 2795, i16 2632, i16 2796, i16 2796, i16 2796, i16 2796, i16 2632, i16 2797, i16 2797, i16 2797, i16 2632, i16 2798, i16 2798, i16 2798, i16 2632, i16 2799, i16 2799, i16 2799, i16 2632, i16 2800, i16 2800, i16 2800, i16 2632, i16 2801, i16 2801, i16 2801, i16 2632, i16 2802, i16 2802, i16 2802, i16 2632, i16 2803, i16 2803, i16 2803, i16 2632, i16 2804, i16 2804, i16 2804, i16 2632, i16 2805, i16 2805, i16 2805, i16 2805, i16 2805, i16 2632, i16 2806, i16 2806, i16 2806, i16 2632, i16 2807, i16 2807, i16 2807, i16 2632, i16 2808, i16 2632, i16 2809, i16 2632, i16 2810, i16 2632, i16 2811, i16 2632, i16 2812, i16 2632, i16 2813, i16 2813, i16 2813, i16 2813, i16 2813, i16 2632, i16 2814, i16 2814, i16 2814, i16 2814, i16 2814, i16 2632, i16 2815, i16 2815, i16 2815, i16 2815, i16 2815, i16 2632, i16 2816, i16 2816, i16 2816, i16 2816, i16 2816, i16 2632, i16 2817, i16 2817, i16 2817, i16 2817, i16 2817, i16 2632, i16 2818, i16 2632, i16 2819, i16 2632, i16 2820, i16 2632, i16 2821, i16 2632, i16 2822, i16 2632, i16 2823, i16 2823, i16 2823, i16 2632, i16 2824, i16 2824, i16 2824, i16 2632, i16 2825, i16 2825, i16 2825, i16 2632, i16 2826, i16 2632, i16 2827, i16 2632, i16 2828, i16 2632, i16 2829, i16 2632, i16 2830, i16 2632, i16 2831, i16 2831, i16 2831, i16 2632, i16 2832, i16 2632, i16 2833, i16 2632, i16 2834, i16 2632, i16 2835, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2837, i16 2836, i16 2838, i16 2836, i16 2839, i16 2836, i16 2840, i16 2836, i16 2841, i16 2836, i16 2842, i16 2836, i16 2843, i16 2836, i16 2844, i16 2836, i16 2845, i16 2836, i16 2846, i16 2836, i16 2847, i16 2836, i16 2848, i16 2836, i16 2849, i16 2836, i16 2850, i16 2836, i16 2851, i16 2836, i16 2852, i16 2836, i16 2853, i16 2836, i16 2854, i16 2836, i16 2855, i16 2836, i16 2856, i16 2836, i16 2857, i16 2836, i16 2858, i16 2836, i16 2859, i16 2836, i16 2860, i16 2836, i16 2861, i16 2836, i16 2862, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2836, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2646, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2866, i16 2867, i16 2866, i16 2868, i16 2866, i16 2869, i16 2866, i16 2870, i16 2866, i16 2871, i16 2866, i16 2872, i16 2866, i16 2873, i16 2866, i16 2874, i16 2866, i16 2875, i16 2866, i16 2876, i16 2877, i16 2878, i16 2877, i16 2879, i16 2877, i16 2880, i16 2877, i16 2881, i16 2877, i16 2882, i16 2877, i16 2883, i16 2877, i16 2884, i16 2877, i16 2885, i16 2877, i16 2886, i16 2877, i16 2887, i16 2877, i16 2888, i16 2877, i16 2889, i16 2877, i16 2890, i16 2877, i16 2891, i16 2877, i16 2892, i16 2877, i16 2893, i16 2877, i16 2894, i16 2877, i16 2895, i16 2877, i16 2896, i16 2877, i16 2897, i16 2877, i16 2898, i16 2877, i16 2899, i16 2877, i16 2900, i16 2877, i16 2901, i16 2877, i16 2902, i16 2877, i16 2903, i16 2866, i16 2904, i16 2905, i16 2906, i16 2907, i16 2908, i16 2866, i16 2909, i16 2910, i16 2911, i16 2912, i16 2913, i16 2866, i16 2914, i16 2915, i16 2916, i16 2917, i16 2918, i16 2866, i16 2919, i16 2920, i16 2921, i16 2922, i16 2923, i16 2866, i16 2924, i16 2925, i16 2926, i16 2927, i16 2928, i16 2866, i16 2929, i16 2930, i16 2931, i16 2932, i16 2933, i16 2866, i16 2934, i16 2935, i16 2936, i16 2937, i16 2938, i16 2866, i16 2939, i16 2940, i16 2941, i16 2942, i16 2943, i16 2866, i16 2944, i16 2945, i16 2946, i16 2947, i16 2948, i16 2866, i16 2949, i16 2950, i16 2951, i16 2952, i16 2953, i16 2866, i16 2954, i16 2955, i16 2956, i16 2957, i16 2958, i16 2866, i16 2959, i16 2960, i16 2961, i16 2962, i16 2963, i16 2866, i16 2964, i16 2965, i16 2966, i16 2967, i16 2968, i16 2866, i16 2969, i16 2970, i16 2971, i16 2972, i16 2973, i16 2866, i16 2974, i16 2975, i16 2976, i16 2977, i16 2978, i16 2866, i16 2979, i16 2980, i16 2981, i16 2982, i16 2983, i16 2866, i16 2984, i16 2985, i16 2986, i16 2987, i16 2988, i16 2866, i16 2989, i16 2990, i16 2991, i16 2992, i16 2993, i16 2866, i16 2994, i16 2995, i16 2996, i16 2997, i16 2998, i16 2866, i16 2999, i16 3000, i16 3001, i16 3002, i16 3003, i16 2866, i16 3004, i16 3005, i16 3006, i16 3007, i16 3008, i16 2866, i16 3009, i16 3010, i16 3011, i16 3012, i16 3013, i16 2866, i16 3014, i16 3015, i16 3016, i16 3017, i16 3018, i16 2866, i16 3019, i16 3020, i16 3021, i16 3022, i16 3023, i16 2866, i16 3024, i16 3025, i16 3026, i16 3027, i16 3028, i16 2866, i16 3029, i16 3030, i16 3031, i16 3032, i16 3033, i16 2866, i16 3034, i16 3035, i16 3036, i16 3037, i16 3038, i16 2866, i16 3039, i16 3040, i16 3041, i16 3042, i16 3043, i16 2866, i16 3044, i16 3045, i16 3046, i16 3047, i16 3048, i16 2866, i16 3049, i16 3050, i16 3051, i16 3052, i16 3053, i16 2866, i16 3054, i16 3055, i16 3056, i16 3057, i16 3058, i16 2866, i16 3059, i16 3060, i16 3061, i16 3062, i16 3063, i16 2866, i16 3064, i16 3065, i16 3066, i16 3067, i16 3068, i16 2866, i16 3069, i16 3070, i16 3071, i16 3072, i16 3073, i16 2866, i16 3074, i16 3075, i16 3076, i16 3077, i16 3078, i16 2866, i16 2866, i16 3079, i16 3080, i16 3081, i16 3082, i16 3083, i16 2866, i16 2866, i16 3084, i16 3085, i16 3086, i16 3087, i16 3088, i16 2866, i16 3089, i16 3090, i16 3091, i16 3092, i16 3093, i16 2866, i16 3094, i16 3095, i16 3096, i16 3097, i16 3098, i16 2866, i16 3099, i16 3100, i16 3101, i16 3102, i16 3103, i16 2866, i16 3104, i16 3105, i16 3106, i16 3107, i16 3108, i16 2866, i16 3109, i16 3110, i16 3111, i16 3112, i16 3113, i16 2866, i16 3114, i16 3115, i16 3116, i16 3117, i16 3118, i16 2866, i16 3119, i16 3120, i16 3121, i16 3122, i16 3123, i16 2866, i16 2866, i16 2866, i16 2866, i16 3124, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 99, i16 104, i16 112, i16 117, i16 122, i16 124, i16 126, i16 128, i16 130, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 1162, i16 296, i16 0, i16 704, i16 0, i16 1166, i16 293, i16 0, i16 714, i16 0, i16 1168, i16 296, i16 0, i16 1167, i16 293, i16 0, i16 723, i16 0, i16 1169, i16 299, i16 0, i16 728, i16 0, i16 1170, i16 293, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 49, i16 51, i16 53, i16 55, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 83, i16 85, i16 87, i16 89, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 1174, i16 169, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 1176, i16 169, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 1173, i16 169, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 1175, i16 169, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 1222, i16 411, i16 0, i16 1221, i16 491, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 1219, i16 411, i16 0, i16 1220, i16 491, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 48, i16 50, i16 52, i16 54, i16 62, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 94, i16 96, i16 98, i16 100, i16 108, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 138, i16 140, i16 142, i16 144, i16 146, i16 148, i16 478, i16 0, i16 1265, i16 1008, i16 0, i16 1264, i16 1047, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 1269, i16 421, i16 0, i16 1268, i16 501, i16 0, i16 504, i16 0, i16 1273, i16 421, i16 0, i16 1272, i16 501, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 1262, i16 1008, i16 0, i16 1263, i16 1047, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 1266, i16 421, i16 0, i16 1267, i16 501, i16 0, i16 425, i16 0, i16 1270, i16 421, i16 0, i16 1271, i16 501, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 52, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 92, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 1318, i16 989, i16 0, i16 1317, i16 1029, i16 0, i16 491, i16 0, i16 1322, i16 401, i16 0, i16 1321, i16 481, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 1315, i16 989, i16 0, i16 1316, i16 1029, i16 0, i16 411, i16 0, i16 1319, i16 401, i16 0, i16 1320, i16 481, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 1222, i16 411, i16 0, i16 1221, i16 491, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1328, i16 413, i16 0, i16 1327, i16 493, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 1219, i16 411, i16 0, i16 1220, i16 491, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1325, i16 413, i16 0, i16 1326, i16 493, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 62, i16 142, i16 144, i16 168, i16 170, i16 194, i16 218, i16 220, i16 222, i16 224, i16 248, i16 272, i16 274, i16 298, i16 322, i16 402, i16 404, i16 428, i16 430, i16 454, i16 478, i16 480, i16 482, i16 484, i16 508, i16 532, i16 534, i16 558, i16 560, i16 562, i16 564, i16 566, i16 568, i16 570, i16 572, i16 574, i16 576, i16 1425, i16 451, i16 0, i16 1429, i16 398, i16 451, i16 0, i16 1428, i16 398, i16 528, i16 0, i16 1424, i16 528, i16 0, i16 1427, i16 478, i16 451, i16 0, i16 1426, i16 478, i16 528, i16 0, i16 478, i16 0, i16 1451, i16 471, i16 451, i16 0, i16 1450, i16 471, i16 528, i16 0, i16 1437, i16 471, i16 0, i16 1459, i16 399, i16 471, i16 451, i16 0, i16 1458, i16 399, i16 471, i16 528, i16 0, i16 1441, i16 399, i16 471, i16 0, i16 1457, i16 399, i16 548, i16 451, i16 0, i16 1456, i16 399, i16 548, i16 528, i16 0, i16 1440, i16 399, i16 548, i16 0, i16 1449, i16 548, i16 451, i16 0, i16 1448, i16 548, i16 528, i16 0, i16 1436, i16 548, i16 0, i16 1455, i16 479, i16 471, i16 451, i16 0, i16 1454, i16 479, i16 471, i16 528, i16 0, i16 1439, i16 479, i16 471, i16 0, i16 1453, i16 479, i16 548, i16 451, i16 0, i16 1452, i16 479, i16 548, i16 528, i16 0, i16 1438, i16 479, i16 548, i16 0, i16 479, i16 0, i16 490, i16 0, i16 1473, i16 467, i16 0, i16 1477, i16 411, i16 467, i16 0, i16 1476, i16 411, i16 544, i16 0, i16 1472, i16 544, i16 0, i16 1475, i16 491, i16 467, i16 0, i16 1474, i16 491, i16 544, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 1485, i16 467, i16 0, i16 1489, i16 425, i16 467, i16 0, i16 1488, i16 425, i16 544, i16 0, i16 1484, i16 544, i16 0, i16 1487, i16 504, i16 467, i16 0, i16 1486, i16 504, i16 544, i16 0, i16 504, i16 0, i16 1497, i16 467, i16 0, i16 1501, i16 432, i16 467, i16 0, i16 1500, i16 432, i16 544, i16 0, i16 1496, i16 544, i16 0, i16 1499, i16 511, i16 467, i16 0, i16 1498, i16 511, i16 544, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 1509, i16 471, i16 0, i16 1513, i16 451, i16 471, i16 0, i16 1512, i16 451, i16 548, i16 0, i16 1508, i16 548, i16 0, i16 1511, i16 528, i16 471, i16 0, i16 1510, i16 528, i16 548, i16 0, i16 528, i16 0, i16 1521, i16 467, i16 0, i16 1525, i16 453, i16 467, i16 0, i16 1524, i16 453, i16 544, i16 0, i16 1520, i16 544, i16 0, i16 1523, i16 530, i16 467, i16 0, i16 1522, i16 530, i16 544, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 1537, i16 471, i16 451, i16 0, i16 1536, i16 471, i16 528, i16 0, i16 1533, i16 451, i16 0, i16 1535, i16 548, i16 451, i16 0, i16 1534, i16 548, i16 528, i16 0, i16 1532, i16 528, i16 0, i16 548, i16 0, i16 1431, i16 451, i16 0, i16 1435, i16 398, i16 451, i16 0, i16 1434, i16 398, i16 528, i16 0, i16 1430, i16 528, i16 0, i16 1433, i16 478, i16 451, i16 0, i16 1432, i16 478, i16 528, i16 0, i16 398, i16 0, i16 1463, i16 471, i16 451, i16 0, i16 1462, i16 471, i16 528, i16 0, i16 1443, i16 471, i16 0, i16 1471, i16 399, i16 471, i16 451, i16 0, i16 1470, i16 399, i16 471, i16 528, i16 0, i16 1447, i16 399, i16 471, i16 0, i16 1469, i16 399, i16 548, i16 451, i16 0, i16 1468, i16 399, i16 548, i16 528, i16 0, i16 1446, i16 399, i16 548, i16 0, i16 1461, i16 548, i16 451, i16 0, i16 1460, i16 548, i16 528, i16 0, i16 1442, i16 548, i16 0, i16 1467, i16 479, i16 471, i16 451, i16 0, i16 1466, i16 479, i16 471, i16 528, i16 0, i16 1445, i16 479, i16 471, i16 0, i16 1465, i16 479, i16 548, i16 451, i16 0, i16 1464, i16 479, i16 548, i16 528, i16 0, i16 1444, i16 479, i16 548, i16 0, i16 399, i16 0, i16 410, i16 0, i16 1478, i16 467, i16 0, i16 1483, i16 411, i16 467, i16 0, i16 1482, i16 411, i16 544, i16 0, i16 1479, i16 544, i16 0, i16 1481, i16 491, i16 467, i16 0, i16 1480, i16 491, i16 544, i16 0, i16 411, i16 0, i16 990, i16 0, i16 1490, i16 467, i16 0, i16 1495, i16 425, i16 467, i16 0, i16 1494, i16 425, i16 544, i16 0, i16 1491, i16 544, i16 0, i16 1493, i16 504, i16 467, i16 0, i16 1492, i16 504, i16 544, i16 0, i16 425, i16 0, i16 1502, i16 467, i16 0, i16 1507, i16 432, i16 467, i16 0, i16 1506, i16 432, i16 544, i16 0, i16 1503, i16 544, i16 0, i16 1505, i16 511, i16 467, i16 0, i16 1504, i16 511, i16 544, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 1515, i16 471, i16 0, i16 1519, i16 451, i16 471, i16 0, i16 1518, i16 451, i16 548, i16 0, i16 1514, i16 548, i16 0, i16 1517, i16 528, i16 471, i16 0, i16 1516, i16 528, i16 548, i16 0, i16 451, i16 0, i16 1527, i16 467, i16 0, i16 1531, i16 453, i16 467, i16 0, i16 1530, i16 453, i16 544, i16 0, i16 1526, i16 544, i16 0, i16 1529, i16 530, i16 467, i16 0, i16 1528, i16 530, i16 544, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 1543, i16 471, i16 451, i16 0, i16 1542, i16 471, i16 528, i16 0, i16 1539, i16 451, i16 0, i16 1541, i16 548, i16 451, i16 0, i16 1540, i16 548, i16 528, i16 0, i16 1538, i16 528, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 112, i16 117, i16 122, i16 127, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1559, i16 1554, i16 0, i16 1556, i16 1552, i16 0, i16 1073, i16 0, i16 1560, i16 1553, i16 0, i16 582, i16 0, i16 1562, i16 1553, i16 0, i16 1080, i16 0, i16 1563, i16 1553, i16 0, i16 1082, i16 0, i16 1561, i16 1553, i16 0, i16 1564, i16 0, i16 38, i16 46, i16 54, i16 62, i16 64, i16 66, i16 74, i16 82, i16 84, i16 92, i16 100, i16 102, i16 110, i16 112, i16 114, i16 122, i16 130, i16 138, i16 140, i16 142, i16 150, i16 158, i16 160, i16 168, i16 176, i16 178, i16 186, i16 188, i16 190, i16 192, i16 194, i16 196, i16 198, i16 200, i16 202, i16 204, i16 206, i16 208, i16 1591, i16 413, i16 0, i16 1590, i16 493, i16 0, i16 478, i16 0, i16 1595, i16 399, i16 0, i16 1594, i16 479, i16 0, i16 479, i16 0, i16 1599, i16 410, i16 0, i16 1598, i16 490, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 1603, i16 425, i16 0, i16 1602, i16 504, i16 0, i16 504, i16 0, i16 1222, i16 411, i16 0, i16 1221, i16 491, i16 0, i16 511, i16 0, i16 515, i16 0, i16 1607, i16 413, i16 0, i16 1606, i16 493, i16 0, i16 522, i16 0, i16 1611, i16 413, i16 0, i16 1610, i16 493, i16 0, i16 524, i16 0, i16 528, i16 0, i16 1615, i16 413, i16 0, i16 1614, i16 493, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 1588, i16 413, i16 0, i16 1589, i16 493, i16 0, i16 398, i16 0, i16 1592, i16 399, i16 0, i16 1593, i16 479, i16 0, i16 399, i16 0, i16 1596, i16 410, i16 0, i16 1597, i16 490, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 1600, i16 425, i16 0, i16 1601, i16 504, i16 0, i16 425, i16 0, i16 1219, i16 411, i16 0, i16 1220, i16 491, i16 0, i16 432, i16 0, i16 437, i16 0, i16 1604, i16 413, i16 0, i16 1605, i16 493, i16 0, i16 445, i16 0, i16 1608, i16 413, i16 0, i16 1609, i16 493, i16 0, i16 447, i16 0, i16 451, i16 0, i16 1612, i16 413, i16 0, i16 1613, i16 493, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 138, i16 140, i16 1591, i16 413, i16 0, i16 1590, i16 493, i16 0, i16 1621, i16 169, i16 413, i16 0, i16 1620, i16 169, i16 493, i16 0, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 1588, i16 413, i16 0, i16 1589, i16 493, i16 0, i16 1618, i16 169, i16 413, i16 0, i16 1619, i16 169, i16 493, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 10, i16 12, i16 14, i16 16, i16 18, i16 20, i16 22, i16 24, i16 26, i16 28, i16 681, i16 0, i16 738, i16 0, i16 749, i16 0, i16 901, i16 0, i16 927, i16 0, i16 682, i16 0, i16 739, i16 0, i16 750, i16 0, i16 902, i16 0, i16 928, i16 0, i16 10, i16 18, i16 20, i16 22, i16 24, i16 26, i16 34, i16 36, i16 38, i16 40, i16 1884, i16 682, i16 0, i16 1883, i16 681, i16 0, i16 681, i16 0, i16 738, i16 0, i16 749, i16 0, i16 901, i16 0, i16 927, i16 0, i16 1886, i16 682, i16 0, i16 1885, i16 681, i16 0, i16 682, i16 0, i16 739, i16 0, i16 750, i16 0, i16 902, i16 0, i16 928, i16 0, i16 10, i16 12, i16 14, i16 22, i16 30, i16 38, i16 40, i16 42, i16 50, i16 58, i16 681, i16 0, i16 738, i16 0, i16 1928, i16 1880, i16 0, i16 1927, i16 1879, i16 0, i16 749, i16 0, i16 1932, i16 884, i16 0, i16 1931, i16 883, i16 0, i16 901, i16 0, i16 1936, i16 884, i16 0, i16 1935, i16 883, i16 0, i16 927, i16 0, i16 682, i16 0, i16 739, i16 0, i16 1930, i16 1880, i16 0, i16 1929, i16 1879, i16 0, i16 750, i16 0, i16 1934, i16 884, i16 0, i16 1933, i16 883, i16 0, i16 902, i16 0, i16 1938, i16 884, i16 0, i16 1937, i16 883, i16 0, i16 928, i16 0, i16 10, i16 12, i16 20, i16 22, i16 30, i16 32, i16 34, i16 42, i16 44, i16 52, i16 681, i16 0, i16 1940, i16 837, i16 0, i16 1939, i16 836, i16 0, i16 738, i16 0, i16 749, i16 0, i16 1944, i16 902, i16 0, i16 1943, i16 901, i16 0, i16 901, i16 0, i16 927, i16 0, i16 682, i16 0, i16 1942, i16 837, i16 0, i16 1941, i16 836, i16 0, i16 739, i16 0, i16 750, i16 0, i16 1946, i16 902, i16 0, i16 1945, i16 901, i16 0, i16 902, i16 0, i16 928, i16 0, i16 2, i16 10, i16 295, i16 278, i16 0, i16 294, i16 277, i16 0, i16 161, i16 0, i16 296, i16 278, i16 0, i16 162, i16 0, i16 5, i16 139, i16 273, i16 407, i16 541, i16 387, i16 386, i16 0, i16 381, i16 380, i16 0, i16 375, i16 374, i16 0, i16 369, i16 368, i16 0, i16 363, i16 362, i16 0, i16 357, i16 356, i16 0, i16 351, i16 350, i16 0, i16 345, i16 344, i16 0, i16 338, i16 337, i16 0, i16 331, i16 330, i16 0, i16 325, i16 324, i16 0, i16 319, i16 318, i16 0, i16 313, i16 312, i16 0, i16 307, i16 306, i16 0, i16 301, i16 300, i16 0, i16 295, i16 294, i16 0, i16 289, i16 288, i16 0, i16 283, i16 282, i16 0, i16 277, i16 276, i16 0, i16 271, i16 270, i16 0, i16 265, i16 264, i16 0, i16 259, i16 258, i16 0, i16 253, i16 252, i16 0, i16 247, i16 246, i16 0, i16 241, i16 240, i16 0, i16 235, i16 234, i16 0, i16 229, i16 228, i16 0, i16 223, i16 222, i16 0, i16 217, i16 216, i16 0, i16 211, i16 210, i16 0, i16 205, i16 204, i16 0, i16 199, i16 198, i16 0, i16 193, i16 192, i16 0, i16 187, i16 186, i16 0, i16 181, i16 180, i16 0, i16 175, i16 174, i16 0, i16 169, i16 168, i16 0, i16 163, i16 162, i16 0, i16 157, i16 156, i16 0, i16 151, i16 150, i16 0, i16 145, i16 144, i16 0, i16 139, i16 138, i16 0, i16 133, i16 132, i16 0, i16 127, i16 126, i16 0, i16 404, i16 0, i16 388, i16 386, i16 0, i16 382, i16 380, i16 0, i16 376, i16 374, i16 0, i16 370, i16 368, i16 0, i16 364, i16 362, i16 0, i16 358, i16 356, i16 0, i16 352, i16 350, i16 0, i16 346, i16 344, i16 0, i16 339, i16 337, i16 0, i16 332, i16 330, i16 0, i16 326, i16 324, i16 0, i16 320, i16 318, i16 0, i16 314, i16 312, i16 0, i16 308, i16 306, i16 0, i16 302, i16 300, i16 0, i16 296, i16 294, i16 0, i16 290, i16 288, i16 0, i16 284, i16 282, i16 0, i16 278, i16 276, i16 0, i16 272, i16 270, i16 0, i16 266, i16 264, i16 0, i16 260, i16 258, i16 0, i16 254, i16 252, i16 0, i16 248, i16 246, i16 0, i16 242, i16 240, i16 0, i16 236, i16 234, i16 0, i16 230, i16 228, i16 0, i16 224, i16 222, i16 0, i16 218, i16 216, i16 0, i16 212, i16 210, i16 0, i16 206, i16 204, i16 0, i16 200, i16 198, i16 0, i16 194, i16 192, i16 0, i16 188, i16 186, i16 0, i16 182, i16 180, i16 0, i16 176, i16 174, i16 0, i16 170, i16 168, i16 0, i16 164, i16 162, i16 0, i16 158, i16 156, i16 0, i16 152, i16 150, i16 0, i16 146, i16 144, i16 0, i16 140, i16 138, i16 0, i16 134, i16 132, i16 0, i16 128, i16 126, i16 0, i16 405, i16 0, i16 389, i16 386, i16 0, i16 383, i16 380, i16 0, i16 377, i16 374, i16 0, i16 371, i16 368, i16 0, i16 365, i16 362, i16 0, i16 359, i16 356, i16 0, i16 353, i16 350, i16 0, i16 347, i16 344, i16 0, i16 340, i16 337, i16 0, i16 333, i16 330, i16 0, i16 327, i16 324, i16 0, i16 321, i16 318, i16 0, i16 315, i16 312, i16 0, i16 309, i16 306, i16 0, i16 303, i16 300, i16 0, i16 297, i16 294, i16 0, i16 291, i16 288, i16 0, i16 285, i16 282, i16 0, i16 279, i16 276, i16 0, i16 273, i16 270, i16 0, i16 267, i16 264, i16 0, i16 261, i16 258, i16 0, i16 255, i16 252, i16 0, i16 249, i16 246, i16 0, i16 243, i16 240, i16 0, i16 237, i16 234, i16 0, i16 231, i16 228, i16 0, i16 225, i16 222, i16 0, i16 219, i16 216, i16 0, i16 213, i16 210, i16 0, i16 207, i16 204, i16 0, i16 201, i16 198, i16 0, i16 195, i16 192, i16 0, i16 189, i16 186, i16 0, i16 183, i16 180, i16 0, i16 177, i16 174, i16 0, i16 171, i16 168, i16 0, i16 165, i16 162, i16 0, i16 159, i16 156, i16 0, i16 153, i16 150, i16 0, i16 147, i16 144, i16 0, i16 141, i16 138, i16 0, i16 135, i16 132, i16 0, i16 129, i16 126, i16 0, i16 406, i16 0, i16 390, i16 386, i16 0, i16 384, i16 380, i16 0, i16 378, i16 374, i16 0, i16 372, i16 368, i16 0, i16 366, i16 362, i16 0, i16 360, i16 356, i16 0, i16 354, i16 350, i16 0, i16 348, i16 344, i16 0, i16 341, i16 337, i16 0, i16 334, i16 330, i16 0, i16 328, i16 324, i16 0, i16 322, i16 318, i16 0, i16 316, i16 312, i16 0, i16 310, i16 306, i16 0, i16 304, i16 300, i16 0, i16 298, i16 294, i16 0, i16 292, i16 288, i16 0, i16 286, i16 282, i16 0, i16 280, i16 276, i16 0, i16 274, i16 270, i16 0, i16 268, i16 264, i16 0, i16 262, i16 258, i16 0, i16 256, i16 252, i16 0, i16 250, i16 246, i16 0, i16 244, i16 240, i16 0, i16 238, i16 234, i16 0, i16 232, i16 228, i16 0, i16 226, i16 222, i16 0, i16 220, i16 216, i16 0, i16 214, i16 210, i16 0, i16 208, i16 204, i16 0, i16 202, i16 198, i16 0, i16 196, i16 192, i16 0, i16 190, i16 186, i16 0, i16 184, i16 180, i16 0, i16 178, i16 174, i16 0, i16 172, i16 168, i16 0, i16 166, i16 162, i16 0, i16 160, i16 156, i16 0, i16 154, i16 150, i16 0, i16 148, i16 144, i16 0, i16 142, i16 138, i16 0, i16 136, i16 132, i16 0, i16 130, i16 126, i16 0, i16 407, i16 0, i16 391, i16 386, i16 0, i16 385, i16 380, i16 0, i16 379, i16 374, i16 0, i16 373, i16 368, i16 0, i16 367, i16 362, i16 0, i16 361, i16 356, i16 0, i16 355, i16 350, i16 0, i16 349, i16 344, i16 0, i16 342, i16 337, i16 0, i16 335, i16 330, i16 0, i16 329, i16 324, i16 0, i16 323, i16 318, i16 0, i16 317, i16 312, i16 0, i16 311, i16 306, i16 0, i16 305, i16 300, i16 0, i16 299, i16 294, i16 0, i16 293, i16 288, i16 0, i16 287, i16 282, i16 0, i16 281, i16 276, i16 0, i16 275, i16 270, i16 0, i16 269, i16 264, i16 0, i16 263, i16 258, i16 0, i16 257, i16 252, i16 0, i16 251, i16 246, i16 0, i16 245, i16 240, i16 0, i16 239, i16 234, i16 0, i16 233, i16 228, i16 0, i16 227, i16 222, i16 0, i16 221, i16 216, i16 0, i16 215, i16 210, i16 0, i16 209, i16 204, i16 0, i16 203, i16 198, i16 0, i16 197, i16 192, i16 0, i16 191, i16 186, i16 0, i16 185, i16 180, i16 0, i16 179, i16 174, i16 0, i16 173, i16 168, i16 0, i16 167, i16 162, i16 0, i16 161, i16 156, i16 0, i16 155, i16 150, i16 0, i16 149, i16 144, i16 0, i16 143, i16 138, i16 0, i16 137, i16 132, i16 0, i16 131, i16 126, i16 0, i16 408, i16 0, i16 1, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 263, i16 1158, i16 0, i16 1159, i16 0, i16 2, i16 272, i16 1160, i16 0, i16 1161, i16 0, i16 2, i16 1375, i16 1163, i16 748, i16 1164, i16 749, i16 2, i16 1381, i16 1165, i16 750, i16 1166, i16 751, i16 2, i16 1392, i16 1167, i16 752, i16 1168, i16 753, i16 2, i16 1401, i16 1169, i16 754, i16 1170, i16 755, i16 1, i16 1156, i16 244, i16 0, i16 1157, i16 253, i16 0, i16 1162, i16 1370, i16 756, i16 1155, i16 22611, i16 1, i16 0, i16 1, i16 1171, i16 142, i16 0, i16 1172, i16 163, i16 0, i16 1173, i16 699, i16 757, i16 1174, i16 907, i16 758, i16 1175, i16 762, i16 759, i16 1176, i16 968, i16 760, i16 1155, i16 22611, i16 1, i16 0, i16 1, i16 1177, i16 306, i16 0, i16 1178, i16 1512, i16 761, i16 1179, i16 1576, i16 762, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 145, i16 900, i16 0, i16 1183, i16 0, i16 901, i16 0, i16 902, i16 0, i16 903, i16 0, i16 2, i16 636, i16 1196, i16 763, i16 974, i16 764, i16 2, i16 845, i16 1197, i16 765, i16 1014, i16 766, i16 2, i16 712, i16 992, i16 767, i16 990, i16 768, i16 2, i16 920, i16 1030, i16 769, i16 1032, i16 770, i16 2, i16 749, i16 995, i16 771, i16 994, i16 772, i16 2, i16 956, i16 1035, i16 773, i16 1034, i16 774, i16 2, i16 762, i16 1198, i16 775, i16 996, i16 775, i16 2, i16 968, i16 1199, i16 776, i16 1036, i16 776, i16 1, i16 1180, i16 121, i16 0, i16 1181, i16 127, i16 0, i16 1182, i16 142, i16 0, i16 1184, i16 161, i16 0, i16 1185, i16 163, i16 0, i16 1186, i16 173, i16 0, i16 1187, i16 178, i16 0, i16 1188, i16 303, i16 0, i16 1189, i16 309, i16 0, i16 1190, i16 322, i16 0, i16 1191, i16 327, i16 0, i16 1192, i16 330, i16 0, i16 1193, i16 340, i16 0, i16 1194, i16 343, i16 0, i16 1195, i16 346, i16 0, i16 978, i16 656, i16 777, i16 1018, i16 864, i16 778, i16 985, i16 699, i16 779, i16 1025, i16 907, i16 780, i16 1001, i16 787, i16 781, i16 1041, i16 992, i16 782, i16 1004, i16 809, i16 783, i16 1043, i16 1013, i16 784, i16 1200, i16 1506, i16 785, i16 1201, i16 1570, i16 786, i16 1202, i16 1514, i16 787, i16 1203, i16 1579, i16 788, i16 1204, i16 1532, i16 789, i16 1205, i16 1597, i16 790, i16 1206, i16 1538, i16 791, i16 1207, i16 1603, i16 792, i16 1208, i16 1541, i16 793, i16 1209, i16 1606, i16 794, i16 1210, i16 1549, i16 795, i16 1211, i16 1614, i16 796, i16 1212, i16 1553, i16 797, i16 1213, i16 1618, i16 798, i16 1214, i16 1556, i16 799, i16 1215, i16 1621, i16 800, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 749, i16 1219, i16 801, i16 1220, i16 802, i16 2, i16 956, i16 1221, i16 803, i16 1222, i16 804, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1218, i16 161, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 12, i16 22611, i16 1223, i16 805, i16 1224, i16 805, i16 1225, i16 805, i16 1226, i16 805, i16 1227, i16 805, i16 1228, i16 805, i16 1229, i16 805, i16 1230, i16 805, i16 1231, i16 805, i16 1232, i16 805, i16 1233, i16 805, i16 1234, i16 805, i16 1, i16 1155, i16 22623, i16 1, i16 0, i16 1, i16 1188, i16 303, i16 0, i16 1235, i16 316, i16 0, i16 1236, i16 322, i16 0, i16 1237, i16 338, i16 0, i16 1238, i16 343, i16 0, i16 1239, i16 346, i16 0, i16 1200, i16 1506, i16 785, i16 1201, i16 1570, i16 786, i16 1240, i16 1524, i16 806, i16 1241, i16 1588, i16 807, i16 1242, i16 1532, i16 808, i16 1243, i16 1597, i16 809, i16 1244, i16 1549, i16 810, i16 1245, i16 1614, i16 811, i16 1246, i16 1553, i16 812, i16 1247, i16 1618, i16 813, i16 1248, i16 1556, i16 814, i16 1249, i16 1621, i16 815, i16 1155, i16 22611, i16 1, i16 0, i16 4, i16 189, i16 1250, i16 0, i16 1251, i16 0, i16 1252, i16 0, i16 1253, i16 0, i16 3, i16 645, i16 974, i16 816, i16 975, i16 817, i16 977, i16 818, i16 2, i16 769, i16 996, i16 819, i16 997, i16 820, i16 3, i16 853, i16 1014, i16 821, i16 1015, i16 822, i16 1017, i16 823, i16 2, i16 974, i16 1036, i16 824, i16 1037, i16 825, i16 1, i16 895, i16 53, i16 0, i16 1046, i16 1026, i16 826, i16 1007, i16 822, i16 827, i16 1004, i16 813, i16 828, i16 1043, i16 1017, i16 829, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 127, i16 1254, i16 0, i16 1255, i16 0, i16 898, i16 0, i16 1256, i16 0, i16 1257, i16 0, i16 2, i16 656, i16 979, i16 830, i16 981, i16 831, i16 2, i16 864, i16 1019, i16 832, i16 1021, i16 833, i16 3, i16 670, i16 1262, i16 834, i16 1263, i16 835, i16 984, i16 836, i16 3, i16 878, i16 1264, i16 837, i16 1265, i16 838, i16 1024, i16 839, i16 2, i16 736, i16 1266, i16 840, i16 1267, i16 841, i16 2, i16 943, i16 1268, i16 842, i16 1269, i16 843, i16 2, i16 749, i16 1270, i16 844, i16 1271, i16 845, i16 2, i16 956, i16 1272, i16 846, i16 1273, i16 847, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1258, i16 158, i16 0, i16 1259, i16 161, i16 0, i16 1260, i16 173, i16 0, i16 1261, i16 189, i16 0, i16 1000, i16 787, i16 848, i16 1040, i16 992, i16 849, i16 1008, i16 834, i16 850, i16 1047, i16 1038, i16 851, i16 1155, i16 22611, i16 1, i16 0, i16 4, i16 121, i16 1274, i16 0, i16 1275, i16 0, i16 1276, i16 0, i16 1277, i16 0, i16 4, i16 127, i16 1255, i16 0, i16 1278, i16 0, i16 1279, i16 0, i16 1280, i16 0, i16 2, i16 133, i16 1281, i16 0, i16 1282, i16 0, i16 2, i16 142, i16 1284, i16 0, i16 1285, i16 0, i16 2, i16 173, i16 1287, i16 0, i16 1260, i16 0, i16 5, i16 194, i16 1288, i16 0, i16 1253, i16 0, i16 1250, i16 0, i16 1289, i16 0, i16 1252, i16 0, i16 4, i16 636, i16 971, i16 852, i16 970, i16 853, i16 972, i16 854, i16 973, i16 855, i16 4, i16 845, i16 1011, i16 856, i16 1010, i16 857, i16 1012, i16 858, i16 1013, i16 859, i16 2, i16 656, i16 978, i16 860, i16 981, i16 861, i16 2, i16 864, i16 1018, i16 862, i16 1021, i16 863, i16 2, i16 667, i16 1290, i16 864, i16 1291, i16 865, i16 2, i16 875, i16 1292, i16 864, i16 1293, i16 866, i16 2, i16 670, i16 983, i16 867, i16 984, i16 868, i16 2, i16 878, i16 1023, i16 869, i16 1024, i16 870, i16 2, i16 709, i16 1295, i16 871, i16 1296, i16 872, i16 2, i16 917, i16 1297, i16 871, i16 1298, i16 872, i16 3, i16 992, i16 1002, i16 873, i16 1000, i16 874, i16 1040, i16 875, i16 3, i16 645, i16 974, i16 876, i16 975, i16 817, i16 977, i16 877, i16 2, i16 769, i16 996, i16 819, i16 997, i16 820, i16 3, i16 853, i16 1014, i16 878, i16 1015, i16 822, i16 1017, i16 879, i16 2, i16 974, i16 1036, i16 824, i16 1037, i16 825, i16 1, i16 889, i16 16, i16 0, i16 1283, i16 138, i16 0, i16 1286, i16 156, i16 0, i16 1294, i16 696, i16 880, i16 1299, i16 734, i16 881, i16 1300, i16 941, i16 882, i16 1004, i16 813, i16 828, i16 1043, i16 1017, i16 829, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 46, i16 897, i16 0, i16 896, i16 0, i16 2, i16 121, i16 1301, i16 0, i16 1302, i16 0, i16 2, i16 636, i16 972, i16 883, i16 976, i16 884, i16 2, i16 845, i16 1012, i16 885, i16 1016, i16 886, i16 2, i16 787, i16 1305, i16 781, i16 1001, i16 781, i16 2, i16 992, i16 1306, i16 781, i16 1041, i16 782, i16 2, i16 799, i16 1307, i16 887, i16 1003, i16 887, i16 2, i16 1003, i16 1308, i16 887, i16 1042, i16 888, i16 1, i16 1303, i16 152, i16 0, i16 1186, i16 173, i16 0, i16 1304, i16 176, i16 0, i16 991, i16 717, i16 889, i16 1031, i16 925, i16 890, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 699, i16 1315, i16 891, i16 1316, i16 892, i16 2, i16 907, i16 1317, i16 893, i16 1318, i16 894, i16 2, i16 717, i16 1319, i16 895, i16 1320, i16 896, i16 2, i16 925, i16 1321, i16 897, i16 1322, i16 898, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1309, i16 127, i16 0, i16 1310, i16 138, i16 0, i16 1311, i16 142, i16 0, i16 1312, i16 145, i16 0, i16 1313, i16 152, i16 0, i16 1314, i16 187, i16 0, i16 982, i16 656, i16 899, i16 1022, i16 864, i16 900, i16 987, i16 696, i16 901, i16 1027, i16 904, i16 902, i16 989, i16 712, i16 903, i16 1029, i16 920, i16 904, i16 1009, i16 829, i16 905, i16 1048, i16 1033, i16 906, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 749, i16 1219, i16 907, i16 1220, i16 908, i16 2, i16 956, i16 1221, i16 909, i16 1222, i16 910, i16 2, i16 824, i16 1325, i16 911, i16 1326, i16 912, i16 2, i16 1028, i16 1327, i16 913, i16 1328, i16 914, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1323, i16 161, i16 0, i16 1324, i16 184, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 76, i16 1632, i16 1329, i16 915, i16 1330, i16 915, i16 1331, i16 915, i16 1332, i16 915, i16 1333, i16 915, i16 1334, i16 915, i16 1335, i16 915, i16 1336, i16 915, i16 1337, i16 915, i16 1338, i16 915, i16 1339, i16 915, i16 1340, i16 915, i16 1341, i16 915, i16 1342, i16 915, i16 1343, i16 915, i16 1344, i16 915, i16 1345, i16 915, i16 1346, i16 915, i16 1347, i16 915, i16 1348, i16 915, i16 1349, i16 915, i16 1350, i16 915, i16 1351, i16 915, i16 1352, i16 915, i16 1353, i16 915, i16 1354, i16 915, i16 1355, i16 915, i16 1356, i16 915, i16 1357, i16 915, i16 1358, i16 915, i16 1359, i16 915, i16 1360, i16 915, i16 1361, i16 915, i16 1362, i16 915, i16 1363, i16 915, i16 1364, i16 915, i16 1365, i16 915, i16 1366, i16 915, i16 1367, i16 916, i16 1368, i16 916, i16 1369, i16 916, i16 1370, i16 916, i16 1371, i16 916, i16 1372, i16 916, i16 1373, i16 916, i16 1374, i16 916, i16 1375, i16 916, i16 1376, i16 916, i16 1377, i16 916, i16 1378, i16 916, i16 1379, i16 916, i16 1380, i16 916, i16 1381, i16 916, i16 1382, i16 916, i16 1383, i16 916, i16 1384, i16 916, i16 1385, i16 916, i16 1386, i16 916, i16 1387, i16 916, i16 1388, i16 916, i16 1389, i16 916, i16 1390, i16 916, i16 1391, i16 916, i16 1392, i16 916, i16 1393, i16 916, i16 1394, i16 916, i16 1395, i16 916, i16 1396, i16 916, i16 1397, i16 916, i16 1398, i16 916, i16 1399, i16 916, i16 1400, i16 916, i16 1401, i16 916, i16 1402, i16 916, i16 1403, i16 916, i16 1404, i16 916, i16 1, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 3, i16 1216, i16 0, i16 1405, i16 0, i16 1406, i16 0, i16 1407, i16 0, i16 1408, i16 0, i16 5, i16 16, i16 1217, i16 0, i16 1409, i16 0, i16 1410, i16 0, i16 1411, i16 0, i16 1412, i16 0, i16 2, i16 133, i16 1414, i16 0, i16 1415, i16 0, i16 4, i16 163, i16 996, i16 917, i16 998, i16 918, i16 1036, i16 919, i16 1038, i16 920, i16 4, i16 178, i16 1004, i16 921, i16 1006, i16 922, i16 1043, i16 923, i16 1045, i16 924, i16 6, i16 864, i16 1424, i16 925, i16 1425, i16 926, i16 1426, i16 927, i16 1427, i16 928, i16 1428, i16 929, i16 1429, i16 930, i16 6, i16 656, i16 1430, i16 931, i16 1431, i16 932, i16 1432, i16 933, i16 1433, i16 934, i16 1434, i16 935, i16 1435, i16 936, i16 6, i16 878, i16 1436, i16 937, i16 1437, i16 938, i16 1438, i16 939, i16 1439, i16 940, i16 1440, i16 941, i16 1441, i16 942, i16 6, i16 670, i16 1442, i16 943, i16 1443, i16 944, i16 1444, i16 945, i16 1445, i16 946, i16 1446, i16 947, i16 1447, i16 948, i16 12, i16 878, i16 1448, i16 949, i16 1449, i16 950, i16 1450, i16 951, i16 1451, i16 952, i16 1452, i16 953, i16 1453, i16 954, i16 1454, i16 955, i16 1455, i16 956, i16 1456, i16 953, i16 1457, i16 954, i16 1458, i16 955, i16 1459, i16 956, i16 12, i16 670, i16 1460, i16 957, i16 1461, i16 958, i16 1462, i16 959, i16 1463, i16 960, i16 1464, i16 961, i16 1465, i16 962, i16 1466, i16 963, i16 1467, i16 964, i16 1468, i16 961, i16 1469, i16 962, i16 1470, i16 963, i16 1471, i16 964, i16 6, i16 907, i16 1472, i16 965, i16 1473, i16 966, i16 1474, i16 967, i16 1475, i16 968, i16 1476, i16 969, i16 1477, i16 970, i16 6, i16 699, i16 1478, i16 971, i16 1479, i16 972, i16 1480, i16 973, i16 1481, i16 974, i16 1482, i16 975, i16 1483, i16 976, i16 6, i16 943, i16 1484, i16 977, i16 1485, i16 978, i16 1486, i16 979, i16 1487, i16 980, i16 1488, i16 981, i16 1489, i16 982, i16 6, i16 736, i16 1490, i16 983, i16 1491, i16 984, i16 1492, i16 985, i16 1493, i16 986, i16 1494, i16 987, i16 1495, i16 988, i16 6, i16 956, i16 1496, i16 989, i16 1497, i16 990, i16 1498, i16 991, i16 1499, i16 992, i16 1500, i16 993, i16 1501, i16 994, i16 6, i16 749, i16 1502, i16 995, i16 1503, i16 996, i16 1504, i16 997, i16 1505, i16 998, i16 1506, i16 999, i16 1507, i16 1000, i16 6, i16 992, i16 1508, i16 1001, i16 1509, i16 1002, i16 1510, i16 1003, i16 1511, i16 1004, i16 1512, i16 1005, i16 1513, i16 1006, i16 6, i16 787, i16 1514, i16 1007, i16 1515, i16 1008, i16 1516, i16 1009, i16 1517, i16 1010, i16 1518, i16 1011, i16 1519, i16 1012, i16 6, i16 1003, i16 1520, i16 1013, i16 1521, i16 1014, i16 1522, i16 1015, i16 1523, i16 1016, i16 1524, i16 1017, i16 1525, i16 1018, i16 6, i16 799, i16 1526, i16 1019, i16 1527, i16 1020, i16 1528, i16 1021, i16 1529, i16 1022, i16 1530, i16 1023, i16 1531, i16 1024, i16 6, i16 1038, i16 1532, i16 1025, i16 1533, i16 1026, i16 1534, i16 1027, i16 1535, i16 1028, i16 1536, i16 1029, i16 1537, i16 1030, i16 6, i16 834, i16 1538, i16 1031, i16 1539, i16 1032, i16 1540, i16 1033, i16 1541, i16 1034, i16 1542, i16 1035, i16 1543, i16 1036, i16 1, i16 1413, i16 127, i16 0, i16 1416, i16 142, i16 0, i16 1417, i16 158, i16 0, i16 1418, i16 161, i16 0, i16 1419, i16 163, i16 0, i16 1420, i16 173, i16 0, i16 1421, i16 176, i16 0, i16 1422, i16 178, i16 0, i16 1423, i16 189, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 9, i16 31, i16 890, i16 0, i16 892, i16 0, i16 1544, i16 0, i16 891, i16 0, i16 1545, i16 0, i16 1546, i16 0, i16 1547, i16 0, i16 893, i16 0, i16 894, i16 0, i16 2, i16 42, i16 1548, i16 0, i16 1549, i16 0, i16 3, i16 194, i16 1550, i16 0, i16 906, i16 0, i16 905, i16 0, i16 2, i16 238, i16 907, i16 0, i16 1551, i16 0, i16 16, i16 482, i16 961, i16 1037, i16 962, i16 1037, i16 963, i16 1037, i16 967, i16 1037, i16 968, i16 1037, i16 969, i16 1037, i16 964, i16 1037, i16 965, i16 1037, i16 966, i16 1037, i16 954, i16 1037, i16 955, i16 1037, i16 956, i16 1037, i16 959, i16 1037, i16 960, i16 1037, i16 957, i16 1037, i16 958, i16 1037, i16 4, i16 520, i16 1552, i16 1037, i16 1553, i16 1037, i16 1554, i16 1037, i16 1555, i16 1037, i16 35, i16 1049, i16 1050, i16 641, i16 1049, i16 642, i16 1052, i16 643, i16 1051, i16 644, i16 1054, i16 645, i16 1053, i16 646, i16 1056, i16 647, i16 1055, i16 648, i16 1058, i16 649, i16 1057, i16 650, i16 1060, i16 651, i16 1059, i16 652, i16 1062, i16 653, i16 1061, i16 654, i16 1064, i16 655, i16 1063, i16 656, i16 1066, i16 657, i16 1065, i16 658, i16 1068, i16 659, i16 1067, i16 660, i16 1070, i16 1038, i16 1556, i16 1038, i16 1073, i16 665, i16 1557, i16 1039, i16 1069, i16 661, i16 1071, i16 1040, i16 1558, i16 1040, i16 1072, i16 1041, i16 1559, i16 1041, i16 1079, i16 1042, i16 1560, i16 1042, i16 1081, i16 1043, i16 1561, i16 1044, i16 1562, i16 1045, i16 1563, i16 1043, i16 2, i16 1135, i16 1076, i16 667, i16 1075, i16 1046, i16 6, i16 1148, i16 1077, i16 669, i16 1074, i16 1047, i16 1078, i16 1048, i16 1564, i16 1049, i16 1080, i16 1050, i16 1082, i16 1051, i16 15, i16 1160, i16 1084, i16 1052, i16 1085, i16 1053, i16 1090, i16 1054, i16 1091, i16 1055, i16 1565, i16 1056, i16 1566, i16 1057, i16 1083, i16 1058, i16 1086, i16 1059, i16 1087, i16 1060, i16 1088, i16 1061, i16 1089, i16 1062, i16 1108, i16 1063, i16 1109, i16 1064, i16 1567, i16 1065, i16 1568, i16 1066, i16 8, i16 1276, i16 1098, i16 1067, i16 1099, i16 1068, i16 1100, i16 1069, i16 1101, i16 1070, i16 1094, i16 1071, i16 1095, i16 1072, i16 1096, i16 1073, i16 1097, i16 1074, i16 26, i16 1320, i16 1102, i16 1075, i16 1103, i16 1076, i16 1104, i16 1077, i16 1105, i16 1078, i16 1092, i16 1079, i16 1093, i16 1080, i16 1106, i16 1081, i16 1107, i16 1082, i16 1570, i16 1083, i16 1571, i16 1084, i16 1572, i16 1085, i16 1573, i16 1086, i16 1110, i16 1087, i16 1111, i16 1088, i16 1112, i16 1089, i16 1113, i16 1090, i16 1114, i16 1091, i16 1115, i16 1092, i16 1116, i16 1093, i16 1117, i16 1094, i16 1118, i16 1095, i16 1119, i16 1096, i16 1120, i16 1097, i16 1121, i16 1098, i16 1122, i16 1099, i16 1123, i16 1100, i16 1, i16 1569, i16 1229, i16 1101, i16 1155, i16 22611, i16 1, i16 0, i16 1, i16 1574, i16 127, i16 0, i16 1575, i16 142, i16 0, i16 1576, i16 145, i16 0, i16 1577, i16 154, i16 0, i16 1578, i16 173, i16 0, i16 1579, i16 178, i16 0, i16 1020, i16 864, i16 1102, i16 980, i16 656, i16 1103, i16 1026, i16 907, i16 1104, i16 986, i16 699, i16 1105, i16 1028, i16 920, i16 1106, i16 988, i16 712, i16 1107, i16 1033, i16 937, i16 1108, i16 993, i16 729, i16 1109, i16 1039, i16 992, i16 1110, i16 999, i16 787, i16 1111, i16 1044, i16 1013, i16 1112, i16 1005, i16 809, i16 1113, i16 1155, i16 22611, i16 1, i16 0, i16 3, i16 127, i16 1580, i16 0, i16 898, i16 0, i16 1581, i16 0, i16 3, i16 138, i16 1582, i16 0, i16 899, i16 0, i16 1583, i16 0, i16 2, i16 656, i16 1588, i16 1114, i16 1589, i16 1115, i16 2, i16 864, i16 1590, i16 1116, i16 1591, i16 1117, i16 2, i16 670, i16 1592, i16 1118, i16 1593, i16 1119, i16 2, i16 878, i16 1594, i16 1120, i16 1595, i16 1121, i16 2, i16 696, i16 1596, i16 1122, i16 1597, i16 1123, i16 2, i16 904, i16 1598, i16 1124, i16 1599, i16 1125, i16 2, i16 699, i16 1219, i16 1126, i16 1220, i16 1127, i16 2, i16 907, i16 1221, i16 1128, i16 1222, i16 1129, i16 2, i16 736, i16 1600, i16 1130, i16 1601, i16 1131, i16 2, i16 943, i16 1602, i16 1132, i16 1603, i16 1133, i16 2, i16 777, i16 1604, i16 1134, i16 1605, i16 1135, i16 2, i16 982, i16 1606, i16 1136, i16 1607, i16 1137, i16 2, i16 781, i16 1608, i16 1138, i16 1609, i16 1139, i16 2, i16 986, i16 1610, i16 1140, i16 1611, i16 1141, i16 2, i16 799, i16 1612, i16 1142, i16 1613, i16 1143, i16 2, i16 1003, i16 1614, i16 1144, i16 1615, i16 1145, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1584, i16 158, i16 0, i16 1585, i16 168, i16 0, i16 1586, i16 171, i16 0, i16 1587, i16 176, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 127, i16 1254, i16 0, i16 1255, i16 0, i16 898, i16 0, i16 1256, i16 0, i16 1257, i16 0, i16 2, i16 656, i16 979, i16 830, i16 981, i16 831, i16 2, i16 864, i16 1019, i16 832, i16 1021, i16 833, i16 3, i16 670, i16 1262, i16 834, i16 1263, i16 835, i16 984, i16 836, i16 5, i16 878, i16 1264, i16 837, i16 1265, i16 838, i16 1024, i16 839, i16 1266, i16 840, i16 1267, i16 841, i16 2, i16 943, i16 1268, i16 842, i16 1269, i16 843, i16 2, i16 749, i16 1270, i16 844, i16 1271, i16 845, i16 2, i16 956, i16 1272, i16 846, i16 1273, i16 847, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1258, i16 158, i16 0, i16 1259, i16 161, i16 0, i16 1260, i16 173, i16 0, i16 1261, i16 189, i16 0, i16 1000, i16 787, i16 848, i16 1040, i16 992, i16 849, i16 1008, i16 834, i16 850, i16 1047, i16 1038, i16 851, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 127, i16 1616, i16 0, i16 1617, i16 0, i16 4, i16 656, i16 1588, i16 1146, i16 1589, i16 1147, i16 1618, i16 1148, i16 1619, i16 1149, i16 4, i16 864, i16 1590, i16 1150, i16 1591, i16 1151, i16 1620, i16 1152, i16 1621, i16 1153, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 46, i16 74, i16 908, i16 0, i16 909, i16 0, i16 910, i16 0, i16 911, i16 0, i16 912, i16 0, i16 913, i16 0, i16 914, i16 0, i16 915, i16 0, i16 916, i16 0, i16 917, i16 0, i16 918, i16 0, i16 919, i16 0, i16 920, i16 0, i16 921, i16 0, i16 922, i16 0, i16 923, i16 0, i16 924, i16 0, i16 925, i16 0, i16 926, i16 0, i16 927, i16 0, i16 928, i16 0, i16 929, i16 0, i16 930, i16 0, i16 931, i16 0, i16 932, i16 0, i16 933, i16 0, i16 934, i16 0, i16 935, i16 0, i16 936, i16 0, i16 937, i16 0, i16 938, i16 0, i16 939, i16 0, i16 940, i16 0, i16 941, i16 0, i16 942, i16 0, i16 943, i16 0, i16 944, i16 0, i16 945, i16 0, i16 946, i16 0, i16 947, i16 0, i16 948, i16 0, i16 949, i16 0, i16 950, i16 0, i16 951, i16 0, i16 952, i16 0, i16 953, i16 0, i16 3, i16 1508, i16 1125, i16 1154, i16 1136, i16 1155, i16 1128, i16 1156, i16 3, i16 1514, i16 1126, i16 1157, i16 1127, i16 1158, i16 1138, i16 1159, i16 3, i16 1524, i16 1144, i16 1160, i16 1130, i16 1161, i16 1137, i16 1162, i16 3, i16 1572, i16 1140, i16 1163, i16 1152, i16 1164, i16 1143, i16 1165, i16 3, i16 1579, i16 1141, i16 1166, i16 1142, i16 1167, i16 1154, i16 1168, i16 3, i16 1588, i16 1129, i16 1169, i16 1145, i16 1170, i16 1153, i16 1171, i16 1, i16 1124, i16 1506, i16 1172, i16 1133, i16 1532, i16 1173, i16 1131, i16 1534, i16 1174, i16 1132, i16 1538, i16 1175, i16 1135, i16 1549, i16 1176, i16 1134, i16 1556, i16 1177, i16 1139, i16 1570, i16 1178, i16 1146, i16 1594, i16 1179, i16 1149, i16 1597, i16 1180, i16 1147, i16 1599, i16 1181, i16 1148, i16 1603, i16 1182, i16 1151, i16 1614, i16 1183, i16 1150, i16 1621, i16 1184, i16 1155, i16 22611, i16 1, i16 0, i16 6, i16 145, i16 904, i16 0, i16 900, i16 0, i16 1183, i16 0, i16 901, i16 0, i16 902, i16 0, i16 903, i16 0, i16 2, i16 712, i16 992, i16 767, i16 990, i16 768, i16 2, i16 920, i16 1030, i16 769, i16 1032, i16 770, i16 1, i16 1181, i16 127, i16 0, i16 1180, i16 136, i16 0, i16 1182, i16 142, i16 0, i16 1622, i16 163, i16 0, i16 1186, i16 173, i16 0, i16 1187, i16 178, i16 0, i16 1188, i16 303, i16 0, i16 1189, i16 309, i16 0, i16 1190, i16 322, i16 0, i16 1192, i16 330, i16 0, i16 1193, i16 340, i16 0, i16 1194, i16 343, i16 0, i16 1195, i16 346, i16 0, i16 978, i16 656, i16 777, i16 1018, i16 864, i16 778, i16 1196, i16 686, i16 763, i16 1197, i16 894, i16 765, i16 985, i16 699, i16 779, i16 1025, i16 907, i16 780, i16 996, i16 762, i16 1185, i16 1036, i16 968, i16 1186, i16 1001, i16 787, i16 781, i16 1041, i16 992, i16 782, i16 1004, i16 809, i16 783, i16 1043, i16 1013, i16 784, i16 1200, i16 1506, i16 785, i16 1201, i16 1570, i16 786, i16 1202, i16 1514, i16 787, i16 1203, i16 1579, i16 788, i16 1204, i16 1532, i16 789, i16 1205, i16 1597, i16 790, i16 1208, i16 1541, i16 793, i16 1209, i16 1606, i16 794, i16 1210, i16 1549, i16 795, i16 1211, i16 1614, i16 796, i16 1212, i16 1553, i16 797, i16 1213, i16 1618, i16 798, i16 1214, i16 1556, i16 799, i16 1215, i16 1621, i16 800, i16 1155, i16 22611, i16 1, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 877, i16 1780, i16 1190, i16 1781, i16 1833, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 990, i16 1792, i16 1190, i16 1793, i16 1844, i16 3, i16 1009, i16 1794, i16 1845, i16 1795, i16 1846, i16 1796, i16 1847, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 4, i16 1206, i16 1828, i16 1190, i16 1829, i16 1878, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1266, i16 1838, i16 1190, i16 1839, i16 1887, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 8, i16 1361, i16 1848, i16 1190, i16 1849, i16 1896, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1803, i16 1075, i16 1925, i16 0, i16 2, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 20, i16 1370, i16 1850, i16 1934, i16 1851, i16 1935, i16 1852, i16 1936, i16 1853, i16 1937, i16 1854, i16 1938, i16 1855, i16 1939, i16 1856, i16 1934, i16 1857, i16 1940, i16 1858, i16 1941, i16 1859, i16 1942, i16 1860, i16 1943, i16 1861, i16 1944, i16 1862, i16 1945, i16 1863, i16 1946, i16 1864, i16 1947, i16 1865, i16 1948, i16 1866, i16 1949, i16 1867, i16 1950, i16 1868, i16 1951, i16 1869, i16 1952, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 7, i16 1418, i16 1874, i16 1187, i16 1848, i16 1953, i16 1849, i16 1954, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 20, i16 1440, i16 1760, i16 1190, i16 1761, i16 1955, i16 1762, i16 1956, i16 1763, i16 1957, i16 1764, i16 1190, i16 1765, i16 1958, i16 1770, i16 1959, i16 1771, i16 1960, i16 1772, i16 1959, i16 1773, i16 1961, i16 1774, i16 1959, i16 1775, i16 1962, i16 1828, i16 1190, i16 1829, i16 1878, i16 1822, i16 1963, i16 1823, i16 1964, i16 1824, i16 1963, i16 1825, i16 1965, i16 1820, i16 1966, i16 1821, i16 1967, i16 27, i16 2011, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 1, i16 1696, i16 1, i16 1187, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 877, i16 1778, i16 1968, i16 1779, i16 1846, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1836, i16 1971, i16 1837, i16 1846, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 2, i16 1429, i16 1881, i16 1923, i16 1882, i16 1924, i16 2, i16 1440, i16 1879, i16 1974, i16 1880, i16 1846, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 2, i16 836, i16 1768, i16 1821, i16 1769, i16 1822, i16 8, i16 843, i16 1766, i16 1190, i16 1767, i16 1975, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 877, i16 1776, i16 1190, i16 1777, i16 1976, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 2, i16 944, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 955, i16 1786, i16 1190, i16 1787, i16 1977, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 2, i16 1088, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1099, i16 1804, i16 1190, i16 1805, i16 1978, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 4, i16 1132, i16 1808, i16 1190, i16 1809, i16 1979, i16 1814, i16 1864, i16 1815, i16 1865, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 4, i16 1206, i16 1816, i16 1190, i16 1817, i16 1980, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1834, i16 1190, i16 1835, i16 1981, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 3, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 2, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 4, i16 1440, i16 1877, i16 1190, i16 1878, i16 1982, i16 1881, i16 1190, i16 1882, i16 1983, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 9, i16 1418, i16 1874, i16 1187, i16 1848, i16 1984, i16 1849, i16 1985, i16 1844, i16 1984, i16 1845, i16 1986, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 24, i16 1440, i16 1770, i16 1190, i16 1771, i16 1987, i16 1772, i16 1988, i16 1773, i16 1989, i16 1774, i16 1990, i16 1775, i16 1991, i16 1764, i16 1992, i16 1765, i16 1993, i16 1822, i16 1190, i16 1823, i16 1994, i16 1824, i16 1995, i16 1825, i16 1996, i16 1828, i16 1997, i16 1829, i16 1998, i16 1818, i16 1999, i16 1819, i16 2000, i16 1760, i16 1190, i16 1761, i16 1955, i16 1883, i16 2001, i16 1884, i16 2002, i16 1885, i16 2003, i16 1886, i16 2004, i16 1762, i16 2001, i16 1763, i16 2005, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 2, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 8, i16 843, i16 1768, i16 1190, i16 1769, i16 2006, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 877, i16 1778, i16 1190, i16 1779, i16 2007, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 2, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 2, i16 955, i16 1788, i16 1190, i16 1789, i16 2008, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 990, i16 1790, i16 1190, i16 1791, i16 2009, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 7, i16 1046, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 1874, i16 1187, i16 1799, i16 1190, i16 1800, i16 2010, i16 3, i16 1075, i16 1801, i16 1190, i16 1802, i16 2011, i16 1803, i16 1925, i16 2, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 2, i16 1099, i16 1806, i16 1190, i16 1807, i16 2012, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 4, i16 1132, i16 1812, i16 1190, i16 1813, i16 2013, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 4, i16 1206, i16 1826, i16 1190, i16 1827, i16 2014, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1242, i16 1832, i16 1190, i16 1833, i16 2015, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1836, i16 1190, i16 1837, i16 2016, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 8, i16 1361, i16 1846, i16 1190, i16 1847, i16 2017, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1418, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 2, i16 1429, i16 1881, i16 1923, i16 1882, i16 1924, i16 2, i16 1440, i16 1879, i16 1190, i16 1880, i16 2018, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1046, i16 1870, i16 1190, i16 1871, i16 1915, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 2, i16 1400, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 81, i16 1697, i16 1712, i16 1698, i16 2019, i16 1699, i16 2019, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 898, i16 1887, i16 2020, i16 1888, i16 2021, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 9, i16 1418, i16 1874, i16 1187, i16 1848, i16 1984, i16 1849, i16 1985, i16 1844, i16 1984, i16 1845, i16 1986, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 24, i16 1440, i16 1770, i16 1190, i16 1771, i16 1987, i16 1772, i16 1988, i16 1773, i16 1989, i16 1774, i16 1990, i16 1775, i16 1991, i16 1764, i16 1992, i16 1765, i16 1993, i16 1822, i16 1190, i16 1823, i16 1994, i16 1824, i16 1995, i16 1825, i16 1996, i16 1828, i16 1997, i16 1829, i16 1998, i16 1818, i16 1999, i16 1819, i16 2000, i16 1760, i16 1190, i16 1761, i16 1955, i16 1883, i16 2001, i16 1884, i16 2002, i16 1885, i16 2003, i16 1886, i16 2004, i16 1762, i16 2001, i16 1763, i16 2005, i16 1, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1220, i16 2022, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1892, i16 1189, i16 1893, i16 1189, i16 1894, i16 1189, i16 3, i16 461, i16 1895, i16 1189, i16 1896, i16 1189, i16 1897, i16 1189, i16 3, i16 465, i16 1898, i16 1189, i16 1899, i16 1189, i16 1900, i16 1189, i16 3, i16 469, i16 1901, i16 1189, i16 1902, i16 1189, i16 1903, i16 1189, i16 2, i16 491, i16 1910, i16 1189, i16 1911, i16 1189, i16 2, i16 499, i16 1913, i16 1189, i16 1914, i16 1189, i16 29, i16 519, i16 1918, i16 1189, i16 1703, i16 1189, i16 1704, i16 1189, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 1717, i16 1189, i16 1718, i16 1189, i16 1719, i16 1189, i16 1720, i16 1189, i16 1721, i16 1189, i16 1722, i16 1189, i16 1723, i16 1189, i16 1724, i16 1189, i16 1725, i16 1189, i16 1726, i16 1189, i16 1727, i16 1189, i16 1728, i16 1189, i16 1729, i16 1189, i16 1730, i16 1189, i16 2, i16 753, i16 1919, i16 1189, i16 1920, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1759, i16 1846, i16 1758, i16 2023, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 898, i16 1888, i16 1846, i16 1887, i16 2024, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 955, i16 1785, i16 1846, i16 1784, i16 2025, i16 4, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 1921, i16 2026, i16 1922, i16 2027, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1046, i16 1798, i16 1846, i16 1797, i16 2028, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 2029, i16 1815, i16 2030, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 2, i16 1179, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1817, i16 1846, i16 1816, i16 2031, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 8, i16 1361, i16 1843, i16 1846, i16 1842, i16 2032, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 2, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 7, i16 1418, i16 1874, i16 1187, i16 1873, i16 1846, i16 1872, i16 2033, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 10, i16 1440, i16 1841, i16 1846, i16 1840, i16 2034, i16 1771, i16 1846, i16 1770, i16 2035, i16 1831, i16 2036, i16 1830, i16 2037, i16 1829, i16 1846, i16 1828, i16 2038, i16 1823, i16 2039, i16 1822, i16 2040, i16 4, i16 2011, i16 1923, i16 1744, i16 1924, i16 2041, i16 1925, i16 2042, i16 1926, i16 2043, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1702, i16 205, i16 1189, i16 1701, i16 221, i16 1189, i16 1700, i16 324, i16 1189, i16 1889, i16 371, i16 1189, i16 1890, i16 445, i16 1189, i16 1891, i16 447, i16 1189, i16 1904, i16 473, i16 1189, i16 1905, i16 476, i16 1189, i16 1906, i16 479, i16 1189, i16 1907, i16 481, i16 1189, i16 1908, i16 484, i16 1189, i16 1909, i16 487, i16 1189, i16 1912, i16 495, i16 1189, i16 1915, i16 503, i16 1189, i16 1916, i16 507, i16 1189, i16 1917, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 4, i16 877, i16 1778, i16 1190, i16 1779, i16 2007, i16 1776, i16 1190, i16 1777, i16 1976, i16 6, i16 898, i16 1927, i16 1190, i16 1928, i16 2044, i16 1929, i16 2045, i16 1930, i16 2046, i16 1782, i16 1190, i16 1783, i16 2047, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 4, i16 1099, i16 1931, i16 1190, i16 1932, i16 2048, i16 1933, i16 2049, i16 1934, i16 2050, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 6, i16 1132, i16 1935, i16 1190, i16 1936, i16 2051, i16 1937, i16 2052, i16 1938, i16 2053, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1836, i16 1190, i16 1837, i16 2016, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 2, i16 1429, i16 1881, i16 1923, i16 1882, i16 1924, i16 2, i16 1440, i16 1879, i16 1190, i16 1880, i16 2018, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 4, i16 1132, i16 1810, i16 1190, i16 1811, i16 2054, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 10, i16 1266, i16 1836, i16 2055, i16 1837, i16 2056, i16 1875, i16 2057, i16 1876, i16 2058, i16 1877, i16 2059, i16 1878, i16 2060, i16 1881, i16 2061, i16 1882, i16 2062, i16 1879, i16 2063, i16 1880, i16 2064, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 22, i16 1370, i16 1856, i16 2065, i16 1857, i16 2066, i16 1858, i16 2067, i16 1859, i16 2068, i16 1860, i16 2069, i16 1861, i16 2070, i16 1862, i16 2071, i16 1863, i16 2072, i16 1868, i16 2073, i16 1869, i16 2074, i16 1866, i16 2075, i16 1867, i16 2076, i16 1864, i16 2077, i16 1865, i16 2078, i16 1820, i16 2079, i16 1821, i16 2080, i16 1764, i16 2081, i16 1765, i16 2082, i16 1828, i16 2081, i16 1829, i16 2083, i16 1848, i16 2081, i16 1849, i16 2084, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 1874, i16 1418, i16 1187, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 4, i16 877, i16 1939, i16 1190, i16 1940, i16 2085, i16 1941, i16 2086, i16 1942, i16 2087, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 4, i16 1099, i16 1943, i16 1190, i16 1944, i16 2088, i16 1945, i16 2089, i16 1946, i16 2090, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 4, i16 1132, i16 1810, i16 1190, i16 1811, i16 2054, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 32766, i16 32766, i16 32766, i16 -2, i16 16384, i16 0, i16 16384, i16 -2, i16 16384, i16 0, i16 16384, i16 -16206, i16 16384, i16 0, i16 16384, i16 -16204, i16 16384, i16 0, i16 16384, i16 -16353, i16 16384, i16 0, i16 16384, i16 -16352, i16 16384, i16 0, i16 16384, i16 -16351, i16 16384, i16 0, i16 16384, i16 -16350, i16 16384, i16 0, i16 16384, i16 -16349, i16 16384, i16 0, i16 16384, i16 -16348, i16 16384, i16 0, i16 16384, i16 -16347, i16 16384, i16 0, i16 16384, i16 -16346, i16 16384, i16 0, i16 16384, i16 -16345, i16 16384, i16 0, i16 16384, i16 -16344, i16 16384, i16 0, i16 16384, i16 -16343, i16 16384, i16 0, i16 16384, i16 -16342, i16 16384, i16 0, i16 16384, i16 -16341, i16 16384, i16 0, i16 16384, i16 -15486, i16 16384, i16 0, i16 16384, i16 -16340, i16 16384, i16 0, i16 16384, i16 -16339, i16 16384, i16 0, i16 16384, i16 -15485, i16 16384, i16 0, i16 16384, i16 -16338, i16 16384, i16 0, i16 16384, i16 -15484, i16 16384, i16 0, i16 16384, i16 -15483, i16 16384, i16 0, i16 16384, i16 -15482, i16 16384, i16 0, i16 16384, i16 -16337, i16 16384, i16 0, i16 16384, i16 -16336, i16 16384, i16 0, i16 16384, i16 -16335, i16 16384, i16 0, i16 16384, i16 -16334, i16 16384, i16 0, i16 16384, i16 -16333, i16 16384, i16 0, i16 16384, i16 -15481, i16 16384, i16 0, i16 16384, i16 -16332, i16 16384, i16 0, i16 16384, i16 -16331, i16 16384, i16 0, i16 16384, i16 -16330, i16 16384, i16 0, i16 16384, i16 -16329, i16 16384, i16 0, i16 16384, i16 -16328, i16 16384, i16 0, i16 16384, i16 -16327, i16 16384, i16 0, i16 16384, i16 -15480, i16 16384, i16 0, i16 16384, i16 -16326, i16 16384, i16 0, i16 16384, i16 -16325, i16 16534, i16 14, i16 17273, i16 -16384, i16 16415, i16 14, i16 17273, i16 -16384, i16 16416, i16 14, i16 17273, i16 -16384, i16 16417, i16 14, i16 17273, i16 -16384, i16 16418, i16 14, i16 17273, i16 -16384, i16 16419, i16 14, i16 17273, i16 -16384, i16 16420, i16 14, i16 17273, i16 -16384, i16 16421, i16 14, i16 17273, i16 -16384, i16 16422, i16 14, i16 17273, i16 -16384, i16 16423, i16 14, i16 17273, i16 -16384, i16 16424, i16 14, i16 17273, i16 -16384, i16 16415, i16 17, i16 17273, i16 -16384, i16 16415, i16 896, i16 17273, i16 -16384, i16 16415, i16 897, i16 17273, i16 -16384, i16 16415, i16 19, i16 17273, i16 -16384, i16 16415, i16 21, i16 17273, i16 -16384, i16 16415, i16 18, i16 17273, i16 -16384, i16 16415, i16 20, i16 17273, i16 -16384, i16 16415, i16 14, i16 16392, i16 -16384, i16 16416, i16 14, i16 16392, i16 -16384, i16 16417, i16 14, i16 16392, i16 -16384, i16 16418, i16 14, i16 16392, i16 -16384, i16 16419, i16 14, i16 16392, i16 -16384, i16 16420, i16 14, i16 16392, i16 -16384, i16 16421, i16 14, i16 16392, i16 -16384, i16 16422, i16 14, i16 16392, i16 -16384, i16 16423, i16 14, i16 16392, i16 -16384, i16 16424, i16 14, i16 16392, i16 -16384, i16 16425, i16 14, i16 17273, i16 -16384, i16 16425, i16 15, i16 16392, i16 -16384, i16 16425, i16 26, i16 17273, i16 -16384, i16 16425, i16 27, i16 17273, i16 -16384, i16 16426, i16 14, i16 17273, i16 -16384, i16 16427, i16 14, i16 17273, i16 -16384, i16 17282, i16 14, i16 17273, i16 -16384, i16 17282, i16 18, i16 17273, i16 -16384, i16 16428, i16 14, i16 17273, i16 -16384, i16 16428, i16 16, i16 17273, i16 -16384, i16 16428, i16 17, i16 17273, i16 -16384, i16 16428, i16 897, i16 17273, i16 -16384, i16 16428, i16 20, i16 17273, i16 -16384, i16 16428, i16 18, i16 17273, i16 -16384, i16 16428, i16 23, i16 17273, i16 -16384, i16 16428, i16 26, i16 17273, i16 -16384, i16 16428, i16 27, i16 17273, i16 -16384, i16 16429, i16 14, i16 17273, i16 -16384, i16 17283, i16 14, i16 17273, i16 -16384, i16 17283, i16 25, i16 17273, i16 -16384, i16 16430, i16 14, i16 17273, i16 -16384, i16 17284, i16 16, i16 17273, i16 -16384, i16 17284, i16 17, i16 17273, i16 -16384, i16 17284, i16 20, i16 17273, i16 -16384, i16 17284, i16 22, i16 17273, i16 -16384, i16 17284, i16 26, i16 17273, i16 -16384, i16 17284, i16 27, i16 17273, i16 -16384, i16 18009, i16 1628, i16 18015, i16 -16384, i16 17285, i16 14, i16 17273, i16 -16384, i16 17286, i16 14, i16 17273, i16 -16384, i16 17286, i16 15, i16 17273, i16 -16384, i16 17286, i16 25, i16 17273, i16 -16384, i16 16431, i16 14, i16 17273, i16 -16384, i16 16431, i16 16, i16 17273, i16 -16384, i16 16431, i16 18, i16 17273, i16 -16384, i16 16431, i16 24, i16 17273, i16 -16384, i16 16431, i16 25, i16 17273, i16 -16384, i16 16431, i16 23, i16 17273, i16 -16384, i16 16432, i16 14, i16 17273, i16 -16384, i16 16433, i16 14, i16 17273, i16 -16384, i16 16433, i16 15, i16 17273, i16 -16384, i16 16433, i16 16, i16 17273, i16 -16384, i16 16433, i16 18, i16 17273, i16 -16384, i16 16433, i16 25, i16 17273, i16 -16384, i16 16434, i16 14, i16 17273, i16 -16384, i16 16434, i16 15, i16 16392, i16 -16384, i16 16434, i16 16, i16 17273, i16 -16384, i16 16434, i16 17, i16 17273, i16 -16384, i16 16434, i16 897, i16 17273, i16 -16384, i16 16434, i16 22, i16 17273, i16 -16384, i16 16434, i16 27, i16 17273, i16 -16384, i16 18018, i16 1628, i16 18015, i16 -16384, i16 16435, i16 14, i16 17273, i16 -16384, i16 17287, i16 14, i16 17273, i16 -16384, i16 16436, i16 14, i16 17273, i16 -16384, i16 16436, i16 16, i16 17273, i16 -16384, i16 16436, i16 18, i16 17273, i16 -16384, i16 16436, i16 25, i16 17273, i16 -16384, i16 16437, i16 14, i16 17273, i16 -16384, i16 16437, i16 16, i16 17273, i16 -16384, i16 16438, i16 14, i16 17273, i16 -16384, i16 16438, i16 18, i16 17273, i16 -16384, i16 16438, i16 24, i16 17273, i16 -16384, i16 16439, i16 14, i16 17273, i16 -16384, i16 16439, i16 16, i16 17273, i16 -16384, i16 16439, i16 17, i16 17273, i16 -16384, i16 16439, i16 897, i16 17273, i16 -16384, i16 16439, i16 19, i16 17273, i16 -16384, i16 16439, i16 22, i16 17273, i16 -16384, i16 16439, i16 26, i16 17273, i16 -16384, i16 16439, i16 27, i16 17273, i16 -16384, i16 16440, i16 14, i16 17273, i16 -16384, i16 16441, i16 897, i16 17273, i16 -16384, i16 17288, i16 14, i16 17273, i16 -16384, i16 16442, i16 14, i16 17273, i16 -16384, i16 16442, i16 16, i16 17273, i16 -16384, i16 16442, i16 20, i16 17273, i16 -16384, i16 16442, i16 897, i16 17273, i16 -16384, i16 16443, i16 14, i16 17273, i16 -16384, i16 16443, i16 16, i16 17273, i16 -16384, i16 16444, i16 14, i16 17273, i16 -16384, i16 16425, i16 14, i16 16393, i16 -16384, i16 16425, i16 26, i16 16393, i16 -16384, i16 16425, i16 27, i16 16393, i16 -16384, i16 16426, i16 14, i16 16393, i16 -16384, i16 16427, i16 14, i16 16393, i16 -16384, i16 17282, i16 14, i16 16393, i16 -16384, i16 17282, i16 18, i16 16393, i16 -16384, i16 16428, i16 14, i16 16393, i16 -16384, i16 16428, i16 16, i16 16393, i16 -16384, i16 16428, i16 17, i16 16393, i16 -16384, i16 16428, i16 897, i16 16393, i16 -16384, i16 16428, i16 20, i16 16393, i16 -16384, i16 16428, i16 18, i16 16393, i16 -16384, i16 16428, i16 23, i16 16393, i16 -16384, i16 16428, i16 26, i16 16393, i16 -16384, i16 16428, i16 27, i16 16393, i16 -16384, i16 16429, i16 14, i16 16393, i16 -16384, i16 17283, i16 14, i16 16393, i16 -16384, i16 17283, i16 25, i16 16393, i16 -16384, i16 16430, i16 14, i16 16393, i16 -16384, i16 17284, i16 16, i16 16393, i16 -16384, i16 17284, i16 17, i16 16393, i16 -16384, i16 17284, i16 20, i16 16393, i16 -16384, i16 17284, i16 22, i16 16393, i16 -16384, i16 17284, i16 26, i16 16393, i16 -16384, i16 17284, i16 27, i16 16393, i16 -16384, i16 18009, i16 1628, i16 18021, i16 -16384, i16 17285, i16 14, i16 16393, i16 -16384, i16 17286, i16 14, i16 16393, i16 -16384, i16 17286, i16 25, i16 16393, i16 -16384, i16 16431, i16 14, i16 16393, i16 -16384, i16 16431, i16 16, i16 16393, i16 -16384, i16 16431, i16 18, i16 16393, i16 -16384, i16 16431, i16 24, i16 16393, i16 -16384, i16 16431, i16 25, i16 16393, i16 -16384, i16 16431, i16 23, i16 16393, i16 -16384, i16 16432, i16 14, i16 16393, i16 -16384, i16 16433, i16 14, i16 16393, i16 -16384, i16 16433, i16 16, i16 16393, i16 -16384, i16 16433, i16 18, i16 16393, i16 -16384, i16 16433, i16 25, i16 16393, i16 -16384, i16 16434, i16 14, i16 16393, i16 -16384, i16 16434, i16 16, i16 16393, i16 -16384, i16 16434, i16 17, i16 16393, i16 -16384, i16 16434, i16 897, i16 16393, i16 -16384, i16 16434, i16 22, i16 16393, i16 -16384, i16 16434, i16 27, i16 16393, i16 -16384, i16 18018, i16 1628, i16 18021, i16 -16384, i16 16435, i16 14, i16 16393, i16 -16384, i16 17287, i16 14, i16 16393, i16 -16384, i16 16436, i16 14, i16 16393, i16 -16384, i16 16436, i16 16, i16 16393, i16 -16384, i16 16436, i16 18, i16 16393, i16 -16384, i16 16436, i16 25, i16 16393, i16 -16384, i16 16437, i16 14, i16 16393, i16 -16384, i16 16437, i16 16, i16 16393, i16 -16384, i16 16438, i16 14, i16 16393, i16 -16384, i16 16438, i16 18, i16 16393, i16 -16384, i16 16438, i16 24, i16 16393, i16 -16384, i16 16439, i16 14, i16 16393, i16 -16384, i16 16439, i16 16, i16 16393, i16 -16384, i16 16439, i16 17, i16 16393, i16 -16384, i16 16439, i16 897, i16 16393, i16 -16384, i16 16439, i16 19, i16 16393, i16 -16384, i16 16439, i16 22, i16 16393, i16 -16384, i16 16439, i16 26, i16 16393, i16 -16384, i16 16439, i16 27, i16 16393, i16 -16384, i16 16440, i16 14, i16 16393, i16 -16384, i16 16441, i16 897, i16 16393, i16 -16384, i16 17288, i16 14, i16 16393, i16 -16384, i16 16442, i16 14, i16 16393, i16 -16384, i16 16442, i16 16, i16 16393, i16 -16384, i16 16442, i16 897, i16 16393, i16 -16384, i16 16442, i16 20, i16 16393, i16 -16384, i16 16443, i16 14, i16 16393, i16 -16384, i16 16443, i16 16, i16 16393, i16 -16384, i16 16444, i16 14, i16 16393, i16 -16384, i16 16445, i16 16398, i16 17273, i16 -16384, i16 16446, i16 16398, i16 17273, i16 -16384, i16 16448, i16 16398, i16 17273, i16 -16384, i16 16449, i16 16398, i16 17273, i16 -16384, i16 16450, i16 16398, i16 17273, i16 -16384, i16 16451, i16 16398, i16 17273, i16 -16384, i16 16452, i16 16398, i16 17273, i16 -16384, i16 16453, i16 16398, i16 17273, i16 -16384, i16 16454, i16 16398, i16 17273, i16 -16384, i16 16455, i16 16398, i16 17273, i16 -16384, i16 16456, i16 16398, i16 17273, i16 -16384, i16 16457, i16 16398, i16 17273, i16 -16384, i16 16458, i16 16398, i16 17273, i16 -16384, i16 16459, i16 16398, i16 17273, i16 -16384, i16 16460, i16 16398, i16 17273, i16 -16384, i16 16461, i16 16398, i16 17273, i16 -16384, i16 16462, i16 16398, i16 17273, i16 -16384, i16 16463, i16 16398, i16 17273, i16 -16384, i16 16464, i16 16398, i16 17273, i16 -16384, i16 16465, i16 16398, i16 17273, i16 -16384, i16 16466, i16 16398, i16 17273, i16 -16384, i16 16467, i16 16398, i16 17273, i16 -16384, i16 16468, i16 16398, i16 17273, i16 -16384, i16 16469, i16 16398, i16 17273, i16 -16384, i16 16470, i16 16398, i16 17273, i16 -16384, i16 16471, i16 16398, i16 17273, i16 -16384, i16 16474, i16 16398, i16 17273, i16 -16384, i16 16475, i16 16398, i16 17273, i16 -16384, i16 16476, i16 16398, i16 17273, i16 -16384, i16 16477, i16 16398, i16 17273, i16 -16384, i16 16478, i16 16398, i16 17273, i16 -16384, i16 16480, i16 16398, i16 17273, i16 -16384, i16 16482, i16 17278, i16 17273, i16 -16384, i16 16482, i16 16398, i16 17273, i16 -16384, i16 61, i16 14, i16 3, i16 -16384, i16 61, i16 14, i16 4, i16 -16384, i16 61, i16 14, i16 5, i16 -16384, i16 61, i16 14, i16 6, i16 -16384, i16 62, i16 14, i16 3, i16 -16384, i16 62, i16 14, i16 4, i16 -16384, i16 62, i16 14, i16 5, i16 -16384, i16 62, i16 14, i16 6, i16 -16384, i16 64, i16 14, i16 3, i16 -16384, i16 64, i16 14, i16 4, i16 -16384, i16 64, i16 14, i16 5, i16 -16384, i16 64, i16 14, i16 6, i16 -16384, i16 65, i16 14, i16 3, i16 -16384, i16 65, i16 14, i16 4, i16 -16384, i16 65, i16 14, i16 5, i16 -16384, i16 65, i16 14, i16 6, i16 -16384, i16 66, i16 14, i16 3, i16 -16384, i16 66, i16 14, i16 4, i16 -16384, i16 66, i16 14, i16 5, i16 -16384, i16 66, i16 14, i16 6, i16 -16384, i16 67, i16 14, i16 3, i16 -16384, i16 67, i16 14, i16 4, i16 -16384, i16 67, i16 14, i16 5, i16 -16384, i16 67, i16 14, i16 6, i16 -16384, i16 68, i16 14, i16 3, i16 -16384, i16 68, i16 14, i16 4, i16 -16384, i16 68, i16 14, i16 5, i16 -16384, i16 68, i16 14, i16 6, i16 -16384, i16 69, i16 14, i16 3, i16 -16384, i16 69, i16 14, i16 4, i16 -16384, i16 69, i16 14, i16 5, i16 -16384, i16 69, i16 14, i16 6, i16 -16384, i16 70, i16 14, i16 3, i16 -16384, i16 70, i16 14, i16 4, i16 -16384, i16 70, i16 14, i16 5, i16 -16384, i16 70, i16 14, i16 6, i16 -16384, i16 71, i16 14, i16 3, i16 -16384, i16 71, i16 14, i16 4, i16 -16384, i16 72, i16 14, i16 3, i16 -16384, i16 72, i16 14, i16 4, i16 -16384, i16 73, i16 14, i16 3, i16 -16384, i16 73, i16 14, i16 4, i16 -16384, i16 74, i16 14, i16 3, i16 -16384, i16 74, i16 14, i16 4, i16 -16384, i16 75, i16 14, i16 3, i16 -16384, i16 75, i16 14, i16 4, i16 -16384, i16 76, i16 14, i16 3, i16 -16384, i16 76, i16 14, i16 4, i16 -16384, i16 77, i16 14, i16 3, i16 -16384, i16 77, i16 14, i16 4, i16 -16384, i16 78, i16 14, i16 3, i16 -16384, i16 78, i16 14, i16 4, i16 -16384, i16 78, i16 14, i16 5, i16 -16384, i16 78, i16 14, i16 6, i16 -16384, i16 79, i16 14, i16 3, i16 -16384, i16 79, i16 14, i16 4, i16 -16384, i16 79, i16 14, i16 5, i16 -16384, i16 79, i16 14, i16 6, i16 -16384, i16 80, i16 14, i16 3, i16 -16384, i16 80, i16 14, i16 4, i16 -16384, i16 80, i16 14, i16 5, i16 -16384, i16 80, i16 14, i16 6, i16 -16384, i16 81, i16 14, i16 3, i16 -16384, i16 81, i16 14, i16 4, i16 -16384, i16 81, i16 14, i16 5, i16 -16384, i16 81, i16 14, i16 6, i16 -16384, i16 82, i16 14, i16 3, i16 -16384, i16 82, i16 14, i16 4, i16 -16384, i16 82, i16 14, i16 5, i16 -16384, i16 82, i16 14, i16 6, i16 -16384, i16 83, i16 14, i16 3, i16 -16384, i16 83, i16 14, i16 4, i16 -16384, i16 83, i16 14, i16 5, i16 -16384, i16 83, i16 14, i16 6, i16 -16384, i16 84, i16 14, i16 3, i16 -16384, i16 84, i16 14, i16 4, i16 -16384, i16 84, i16 14, i16 5, i16 -16384, i16 84, i16 14, i16 6, i16 -16384, i16 85, i16 14, i16 3, i16 -16384, i16 85, i16 14, i16 4, i16 -16384, i16 85, i16 14, i16 5, i16 -16384, i16 85, i16 14, i16 6, i16 -16384, i16 86, i16 14, i16 3, i16 -16384, i16 86, i16 14, i16 4, i16 -16384, i16 86, i16 14, i16 5, i16 -16384, i16 86, i16 14, i16 6, i16 -16384, i16 87, i16 14, i16 3, i16 -16384, i16 87, i16 14, i16 4, i16 -16384, i16 87, i16 14, i16 5, i16 -16384, i16 87, i16 14, i16 6, i16 -16384, i16 90, i16 14, i16 3, i16 -16384, i16 90, i16 14, i16 4, i16 -16384, i16 90, i16 14, i16 5, i16 -16384, i16 90, i16 14, i16 6, i16 -16384, i16 91, i16 14, i16 3, i16 -16384, i16 91, i16 14, i16 4, i16 -16384, i16 91, i16 14, i16 5, i16 -16384, i16 91, i16 14, i16 6, i16 -16384, i16 92, i16 14, i16 3, i16 -16384, i16 92, i16 14, i16 4, i16 -16384, i16 92, i16 14, i16 5, i16 -16384, i16 92, i16 14, i16 6, i16 -16384, i16 93, i16 14, i16 3, i16 -16384, i16 93, i16 14, i16 4, i16 -16384, i16 93, i16 14, i16 5, i16 -16384, i16 93, i16 14, i16 6, i16 -16384, i16 94, i16 14, i16 3, i16 -16384, i16 94, i16 14, i16 4, i16 -16384, i16 96, i16 14, i16 3, i16 -16384, i16 96, i16 14, i16 4, i16 -16384, i16 1640, i16 1643, i16 1646, i16 -16384, i16 1640, i16 1643, i16 1649, i16 -16384, i16 1640, i16 1643, i16 1652, i16 -16384, i16 1640, i16 1643, i16 1655, i16 -16384, i16 98, i16 894, i16 3, i16 -16384, i16 98, i16 894, i16 4, i16 -16384, i16 98, i16 14, i16 3, i16 -16384, i16 98, i16 14, i16 4, i16 -16384, i16 16483, i16 16398, i16 16384, i16 -16384, i16 16484, i16 16398, i16 16384, i16 -16384, i16 16485, i16 16398, i16 16384, i16 -16384, i16 16486, i16 16398, i16 16384, i16 -16384, i16 16487, i16 16398, i16 16384, i16 -16384, i16 16488, i16 16398, i16 16384, i16 -16384, i16 16489, i16 16398, i16 16384, i16 -16384, i16 16490, i16 16398, i16 16384, i16 -16384, i16 16491, i16 16398, i16 16384, i16 -16384, i16 16492, i16 16398, i16 16384, i16 -16384, i16 16493, i16 16398, i16 16384, i16 -16384, i16 16494, i16 16398, i16 16384, i16 -16384, i16 16495, i16 16398, i16 16384, i16 -16384, i16 16496, i16 16398, i16 16384, i16 -16384, i16 16497, i16 16398, i16 16384, i16 -16384, i16 16498, i16 16398, i16 16384, i16 -16384, i16 16499, i16 16398, i16 16384, i16 -16384, i16 16500, i16 16398, i16 16384, i16 -16384, i16 16501, i16 16398, i16 16384, i16 -16384, i16 16502, i16 16398, i16 16384, i16 -16384, i16 16503, i16 16398, i16 16384, i16 -16384, i16 16504, i16 16398, i16 16384, i16 -16384, i16 16505, i16 16398, i16 16384, i16 -16384, i16 16506, i16 16398, i16 16384, i16 -16384, i16 16507, i16 16398, i16 16384, i16 -16384, i16 16508, i16 16398, i16 16384, i16 -16384, i16 16509, i16 16398, i16 16384, i16 -16384, i16 16510, i16 14, i16 16393, i16 -16384, i16 16510, i16 28, i16 16393, i16 -16384, i16 16511, i16 14, i16 16393, i16 -16384, i16 16512, i16 14, i16 16393, i16 -16384, i16 16512, i16 15, i16 16393, i16 -16384, i16 16513, i16 14, i16 16393, i16 -16384, i16 16513, i16 15, i16 16393, i16 -16384, i16 16514, i16 14, i16 16393, i16 -16384, i16 16514, i16 28, i16 16393, i16 -16384, i16 16515, i16 14, i16 16393, i16 -16384, i16 16515, i16 15, i16 16393, i16 -16384, i16 16516, i16 14, i16 16393, i16 -16384, i16 16516, i16 28, i16 16393, i16 -16384, i16 16517, i16 14, i16 16393, i16 -16384, i16 16518, i16 14, i16 16393, i16 -16384, i16 16518, i16 28, i16 16393, i16 -16384, i16 16518, i16 29, i16 16393, i16 -16384, i16 16519, i16 14, i16 16393, i16 -16384, i16 16519, i16 15, i16 16393, i16 -16384, i16 16519, i16 895, i16 16393, i16 -16384, i16 16520, i16 14, i16 16393, i16 -16384, i16 16521, i16 14, i16 16393, i16 -16384, i16 16522, i16 14, i16 16393, i16 -16384, i16 16523, i16 14, i16 16393, i16 -16384, i16 16524, i16 14, i16 16393, i16 -16384, i16 16524, i16 28, i16 16393, i16 -16384, i16 16525, i16 14, i16 16393, i16 -16384, i16 16526, i16 14, i16 16393, i16 -16384, i16 16527, i16 14, i16 16393, i16 -16384, i16 16527, i16 15, i16 16393, i16 -16384, i16 16527, i16 895, i16 16393, i16 -16384, i16 16528, i16 14, i16 16393, i16 -16384, i16 16528, i16 15, i16 16393, i16 -16384, i16 16529, i16 14, i16 16393, i16 -16384, i16 16529, i16 28, i16 16393, i16 -16384, i16 16529, i16 29, i16 16393, i16 -16384, i16 16529, i16 30, i16 16393, i16 -16384, i16 16529, i16 26, i16 16393, i16 -16384, i16 16529, i16 27, i16 16393, i16 -16384, i16 16530, i16 14, i16 16393, i16 -16384, i16 16530, i16 895, i16 16393, i16 -16384, i16 16531, i16 14, i16 16393, i16 -16384, i16 16531, i16 15, i16 16393, i16 -16384, i16 16532, i16 14, i16 16393, i16 -16384, i16 16532, i16 15, i16 16393, i16 -16384, i16 16533, i16 14, i16 16393, i16 -16384, i16 16533, i16 28, i16 16393, i16 -16384, i16 16510, i16 14, i16 16396, i16 -16384, i16 16510, i16 28, i16 16396, i16 -16384, i16 16511, i16 14, i16 16396, i16 -16384, i16 16511, i16 15, i16 16396, i16 -16384, i16 16512, i16 14, i16 16396, i16 -16384, i16 16513, i16 14, i16 16396, i16 -16384, i16 16514, i16 14, i16 16396, i16 -16384, i16 16514, i16 28, i16 16396, i16 -16384, i16 16515, i16 14, i16 16396, i16 -16384, i16 16515, i16 15, i16 16396, i16 -16384, i16 16516, i16 14, i16 16396, i16 -16384, i16 16516, i16 28, i16 16396, i16 -16384, i16 16517, i16 14, i16 16396, i16 -16384, i16 16517, i16 15, i16 16396, i16 -16384, i16 16518, i16 14, i16 16396, i16 -16384, i16 16518, i16 28, i16 16396, i16 -16384, i16 16518, i16 29, i16 16396, i16 -16384, i16 16518, i16 30, i16 16396, i16 -16384, i16 16518, i16 26, i16 16396, i16 -16384, i16 16519, i16 14, i16 16396, i16 -16384, i16 16519, i16 15, i16 16396, i16 -16384, i16 16519, i16 895, i16 16396, i16 -16384, i16 16520, i16 14, i16 16396, i16 -16384, i16 16521, i16 14, i16 16396, i16 -16384, i16 16522, i16 14, i16 16396, i16 -16384, i16 16523, i16 14, i16 16396, i16 -16384, i16 16524, i16 14, i16 16396, i16 -16384, i16 16524, i16 28, i16 16396, i16 -16384, i16 16525, i16 14, i16 16396, i16 -16384, i16 16525, i16 15, i16 16396, i16 -16384, i16 16526, i16 15, i16 16396, i16 -16384, i16 16527, i16 14, i16 16396, i16 -16384, i16 16527, i16 15, i16 16396, i16 -16384, i16 16527, i16 895, i16 16396, i16 -16384, i16 16527, i16 26, i16 16396, i16 -16384, i16 16528, i16 14, i16 16396, i16 -16384, i16 16528, i16 15, i16 16396, i16 -16384, i16 16529, i16 14, i16 16396, i16 -16384, i16 16529, i16 28, i16 16396, i16 -16384, i16 16529, i16 29, i16 16396, i16 -16384, i16 16529, i16 30, i16 16396, i16 -16384, i16 16530, i16 14, i16 16396, i16 -16384, i16 16530, i16 15, i16 16396, i16 -16384, i16 16530, i16 895, i16 16396, i16 -16384, i16 16531, i16 14, i16 16396, i16 -16384, i16 16532, i16 14, i16 16396, i16 -16384, i16 16532, i16 15, i16 16396, i16 -16384, i16 16533, i16 14, i16 16396, i16 -16384, i16 16533, i16 28, i16 16396, i16 -16384, i16 17292, i16 16398, i16 17273, i16 -16384, i16 17293, i16 16398, i16 17273, i16 -16384, i16 17294, i16 16398, i16 17273, i16 -16384, i16 17295, i16 16398, i16 17273, i16 -16384, i16 17296, i16 16398, i16 17273, i16 -16384, i16 17299, i16 16398, i16 17273, i16 -16384, i16 17302, i16 16398, i16 17273, i16 -16384, i16 17303, i16 16398, i16 17273, i16 -16384, i16 17305, i16 16398, i16 17273, i16 -16384, i16 17308, i16 16398, i16 17273, i16 -16384, i16 17309, i16 16398, i16 17273, i16 -16384, i16 17310, i16 16398, i16 17273, i16 -16384, i16 17311, i16 16398, i16 17273, i16 -16384, i16 17313, i16 16398, i16 17273, i16 -16384, i16 17314, i16 16398, i16 17273, i16 -16384, i16 17316, i16 16398, i16 17273, i16 -16384, i16 17317, i16 16398, i16 17273, i16 -16384, i16 17318, i16 16398, i16 17273, i16 -16384, i16 17319, i16 16398, i16 17273, i16 -16384, i16 17320, i16 16398, i16 17273, i16 -16384, i16 17323, i16 16398, i16 17273, i16 -16384, i16 17325, i16 16398, i16 17273, i16 -16384, i16 17326, i16 16398, i16 17273, i16 -16384, i16 17327, i16 16398, i16 17273, i16 -16384, i16 17328, i16 16398, i16 17273, i16 -16384, i16 17330, i16 16398, i16 17273, i16 -16384, i16 17331, i16 16398, i16 17273, i16 -16384, i16 17332, i16 16398, i16 17273, i16 -16384, i16 17334, i16 16398, i16 17273, i16 -16384, i16 17336, i16 16398, i16 17273, i16 -16384, i16 17337, i16 16398, i16 17273, i16 -16384, i16 17292, i16 16398, i16 16393, i16 -16384, i16 17293, i16 16398, i16 16393, i16 -16384, i16 17294, i16 16398, i16 16393, i16 -16384, i16 17295, i16 16398, i16 16393, i16 -16384, i16 17296, i16 16398, i16 16393, i16 -16384, i16 17299, i16 16398, i16 16393, i16 -16384, i16 17302, i16 16398, i16 16393, i16 -16384, i16 17303, i16 16398, i16 16393, i16 -16384, i16 17305, i16 16398, i16 16393, i16 -16384, i16 17308, i16 16398, i16 16393, i16 -16384, i16 17310, i16 16398, i16 16393, i16 -16384, i16 17311, i16 16398, i16 16393, i16 -16384, i16 17313, i16 16398, i16 16393, i16 -16384, i16 17314, i16 16398, i16 16393, i16 -16384, i16 17316, i16 16398, i16 16393, i16 -16384, i16 17317, i16 16398, i16 16393, i16 -16384, i16 17318, i16 16398, i16 16393, i16 -16384, i16 17319, i16 16398, i16 16393, i16 -16384, i16 17320, i16 16398, i16 16393, i16 -16384, i16 17323, i16 16398, i16 16393, i16 -16384, i16 17325, i16 16398, i16 16393, i16 -16384, i16 17326, i16 16398, i16 16393, i16 -16384, i16 17327, i16 16398, i16 16393, i16 -16384, i16 17328, i16 16398, i16 16393, i16 -16384, i16 17330, i16 16398, i16 16393, i16 -16384, i16 17331, i16 16398, i16 16393, i16 -16384, i16 17332, i16 16398, i16 16393, i16 -16384, i16 17334, i16 16398, i16 16393, i16 -16384, i16 17336, i16 16398, i16 16393, i16 -16384, i16 17337, i16 16398, i16 16393, i16 -16384, i16 16425, i16 16, i16 17273, i16 -16384, i16 16425, i16 17, i16 17273, i16 -16384, i16 16425, i16 897, i16 17273, i16 -16384, i16 16425, i16 22, i16 17273, i16 -16384, i16 16425, i16 20, i16 17273, i16 -16384, i16 16425, i16 19, i16 17273, i16 -16384, i16 16425, i16 896, i16 17273, i16 -16384, i16 18042, i16 1628, i16 18015, i16 -16384, i16 16427, i16 25, i16 17273, i16 -16384, i16 16427, i16 16, i16 17273, i16 -16384, i16 16427, i16 897, i16 17273, i16 -16384, i16 16427, i16 18, i16 17273, i16 -16384, i16 16427, i16 23, i16 17273, i16 -16384, i16 17282, i16 15, i16 17273, i16 -16384, i16 17282, i16 24, i16 17273, i16 -16384, i16 17283, i16 896, i16 17273, i16 -16384, i16 17283, i16 897, i16 17273, i16 -16384, i16 17283, i16 23, i16 17273, i16 -16384, i16 16430, i16 897, i16 17273, i16 -16384, i16 16430, i16 24, i16 17273, i16 -16384, i16 17284, i16 14, i16 17273, i16 -16384, i16 17284, i16 897, i16 17273, i16 -16384, i16 17284, i16 15, i16 17273, i16 -16384, i16 17285, i16 897, i16 17273, i16 -16384, i16 16433, i16 22, i16 17273, i16 -16384, i16 18045, i16 1628, i16 18015, i16 -16384, i16 16434, i16 20, i16 17273, i16 -16384, i16 16434, i16 24, i16 17273, i16 -16384, i16 16434, i16 21, i16 17273, i16 -16384, i16 16437, i16 897, i16 17273, i16 -16384, i16 16437, i16 18, i16 17273, i16 -16384, i16 16437, i16 25, i16 17273, i16 -16384, i16 18048, i16 1628, i16 18015, i16 -16384, i16 16438, i16 25, i16 17273, i16 -16384, i16 16439, i16 20, i16 17273, i16 -16384, i16 16439, i16 896, i16 17273, i16 -16384, i16 16439, i16 21, i16 17273, i16 -16384, i16 16441, i16 14, i16 17273, i16 -16384, i16 16443, i16 18, i16 17273, i16 -16384, i16 16443, i16 23, i16 17273, i16 -16384, i16 16425, i16 16, i16 16393, i16 -16384, i16 16425, i16 17, i16 16393, i16 -16384, i16 16425, i16 897, i16 16393, i16 -16384, i16 16425, i16 22, i16 16393, i16 -16384, i16 16425, i16 20, i16 16393, i16 -16384, i16 16425, i16 19, i16 16393, i16 -16384, i16 16425, i16 896, i16 16393, i16 -16384, i16 18042, i16 1628, i16 18021, i16 -16384, i16 16427, i16 25, i16 16393, i16 -16384, i16 16427, i16 16, i16 16393, i16 -16384, i16 16427, i16 897, i16 16393, i16 -16384, i16 16427, i16 18, i16 16393, i16 -16384, i16 16427, i16 23, i16 16393, i16 -16384, i16 17282, i16 15, i16 16393, i16 -16384, i16 17282, i16 24, i16 16393, i16 -16384, i16 17283, i16 896, i16 16393, i16 -16384, i16 17283, i16 897, i16 16393, i16 -16384, i16 17283, i16 23, i16 16393, i16 -16384, i16 16430, i16 897, i16 16393, i16 -16384, i16 16430, i16 24, i16 16393, i16 -16384, i16 17284, i16 14, i16 16393, i16 -16384, i16 17284, i16 897, i16 16393, i16 -16384, i16 17284, i16 15, i16 16393, i16 -16384, i16 17285, i16 897, i16 16393, i16 -16384, i16 16433, i16 22, i16 16393, i16 -16384, i16 18045, i16 1628, i16 18021, i16 -16384, i16 16434, i16 20, i16 16393, i16 -16384, i16 16434, i16 24, i16 16393, i16 -16384, i16 16434, i16 21, i16 16393, i16 -16384, i16 16437, i16 897, i16 16393, i16 -16384, i16 16437, i16 18, i16 16393, i16 -16384, i16 16437, i16 25, i16 16393, i16 -16384, i16 16438, i16 25, i16 16393, i16 -16384, i16 16439, i16 20, i16 16393, i16 -16384, i16 16439, i16 896, i16 16393, i16 -16384, i16 16439, i16 21, i16 16393, i16 -16384, i16 16441, i16 14, i16 16393, i16 -16384, i16 16443, i16 18, i16 16393, i16 -16384, i16 16443, i16 23, i16 16393, i16 -16384, i16 16415, i16 16398, i16 17273, i16 -16384, i16 16415, i16 16399, i16 17273, i16 -16384, i16 16416, i16 16398, i16 17273, i16 -16384, i16 16416, i16 16399, i16 17273, i16 -16384, i16 16417, i16 16398, i16 17273, i16 -16384, i16 16417, i16 16399, i16 17273, i16 -16384, i16 16418, i16 16398, i16 17273, i16 -16384, i16 16418, i16 16399, i16 17273, i16 -16384, i16 16419, i16 16398, i16 17273, i16 -16384, i16 16419, i16 16399, i16 17273, i16 -16384, i16 16420, i16 16398, i16 17273, i16 -16384, i16 16420, i16 16399, i16 17273, i16 -16384, i16 16421, i16 16398, i16 17273, i16 -16384, i16 16421, i16 16399, i16 17273, i16 -16384, i16 16422, i16 16398, i16 17273, i16 -16384, i16 16422, i16 16399, i16 17273, i16 -16384, i16 16423, i16 16398, i16 17273, i16 -16384, i16 16423, i16 16399, i16 17273, i16 -16384, i16 16424, i16 16398, i16 17273, i16 -16384, i16 16424, i16 16399, i16 17273, i16 -16384, i16 17289, i16 16398, i16 17273, i16 -16384, i16 17290, i16 16397, i16 17273, i16 -16384, i16 17290, i16 17274, i16 17273, i16 -16384, i16 17290, i16 17276, i16 17273, i16 -16384, i16 17290, i16 16398, i16 17273, i16 -16384, i16 16447, i16 16398, i16 17273, i16 -16384, i16 16472, i16 16398, i16 17273, i16 -16384, i16 16473, i16 16398, i16 17273, i16 -16384, i16 17291, i16 16398, i16 17273, i16 -16384, i16 16479, i16 16398, i16 17273, i16 -16384, i16 16480, i16 17275, i16 17273, i16 -16384, i16 16481, i16 16398, i16 17273, i16 -16384, i16 18051, i16 18054, i16 18015, i16 -16384, i16 16481, i16 17277, i16 17273, i16 -16384, i16 905, i16 14, i16 3, i16 -16384, i16 906, i16 13, i16 3, i16 -16384, i16 906, i16 13, i16 4, i16 -16384, i16 906, i16 890, i16 3, i16 -16384, i16 906, i16 890, i16 4, i16 -16384, i16 906, i16 892, i16 3, i16 -16384, i16 906, i16 892, i16 4, i16 -16384, i16 906, i16 14, i16 3, i16 -16384, i16 906, i16 14, i16 4, i16 -16384, i16 63, i16 14, i16 3, i16 -16384, i16 63, i16 14, i16 4, i16 -16384, i16 88, i16 14, i16 3, i16 -16384, i16 88, i16 14, i16 4, i16 -16384, i16 88, i16 14, i16 5, i16 -16384, i16 88, i16 14, i16 6, i16 -16384, i16 89, i16 14, i16 3, i16 -16384, i16 89, i16 14, i16 4, i16 -16384, i16 89, i16 14, i16 5, i16 -16384, i16 89, i16 14, i16 6, i16 -16384, i16 907, i16 14, i16 3, i16 -16384, i16 907, i16 14, i16 4, i16 -16384, i16 907, i16 14, i16 5, i16 -16384, i16 907, i16 14, i16 6, i16 -16384, i16 95, i16 14, i16 3, i16 -16384, i16 95, i16 14, i16 4, i16 -16384, i16 96, i16 891, i16 3, i16 -16384, i16 96, i16 891, i16 4, i16 -16384, i16 97, i16 14, i16 3, i16 -16384, i16 97, i16 14, i16 4, i16 -16384, i16 97, i16 893, i16 3, i16 -16384, i16 97, i16 893, i16 4, i16 -16384, i16 97, i16 893, i16 5, i16 -16384, i16 97, i16 893, i16 6, i16 -16384, i16 1673, i16 1676, i16 1679, i16 -16384, i16 1673, i16 1676, i16 1682, i16 -16384, i16 1673, i16 1685, i16 1679, i16 -16384, i16 1673, i16 1685, i16 1682, i16 -16384, i16 1673, i16 1688, i16 1679, i16 -16384, i16 1673, i16 1688, i16 1682, i16 -16384, i16 1673, i16 1643, i16 1679, i16 -16384, i16 1673, i16 1643, i16 1682, i16 -16384, i16 17297, i16 16398, i16 17273, i16 -16384, i16 17298, i16 16398, i16 17273, i16 -16384, i16 17300, i16 16398, i16 17273, i16 -16384, i16 17301, i16 16398, i16 17273, i16 -16384, i16 17304, i16 16398, i16 17273, i16 -16384, i16 17306, i16 16398, i16 17273, i16 -16384, i16 17307, i16 16398, i16 17273, i16 -16384, i16 17312, i16 16398, i16 17273, i16 -16384, i16 17315, i16 16398, i16 17273, i16 -16384, i16 17321, i16 16398, i16 17273, i16 -16384, i16 17322, i16 16398, i16 17273, i16 -16384, i16 17324, i16 16398, i16 17273, i16 -16384, i16 17329, i16 16398, i16 17273, i16 -16384, i16 17333, i16 16398, i16 17273, i16 -16384, i16 17335, i16 16398, i16 17273, i16 -16384, i16 17297, i16 16398, i16 16393, i16 -16384, i16 17298, i16 16398, i16 16393, i16 -16384, i16 17300, i16 16398, i16 16393, i16 -16384, i16 17301, i16 16398, i16 16393, i16 -16384, i16 17304, i16 16398, i16 16393, i16 -16384, i16 17306, i16 16398, i16 16393, i16 -16384, i16 17307, i16 16398, i16 16393, i16 -16384, i16 17309, i16 16398, i16 16393, i16 -16384, i16 17312, i16 16398, i16 16393, i16 -16384, i16 17315, i16 16398, i16 16393, i16 -16384, i16 17321, i16 16398, i16 16393, i16 -16384, i16 17322, i16 16398, i16 16393, i16 -16384, i16 17324, i16 16398, i16 16393, i16 -16384, i16 17329, i16 16398, i16 16393, i16 -16384, i16 17333, i16 16398, i16 16393, i16 -16384, i16 17335, i16 16398, i16 16393, i16 -16384, i16 32767, i16 16384, i16 16384, i16 -16384, i16 18075, i16 18078, i16 16384, i16 -16384, i16 18081, i16 18078, i16 16384, i16 -16384, i16 18084, i16 18078, i16 16384, i16 -16384, i16 17541, i16 16407, i16 17273, i16 -16384, i16 17542, i16 16407, i16 17273, i16 -16384, i16 17543, i16 16407, i16 17273, i16 -16384, i16 17544, i16 16407, i16 17273, i16 -16384, i16 17545, i16 16407, i16 17273, i16 -16384, i16 17540, i16 16407, i16 17273, i16 -16384, i16 17555, i16 16399, i16 17273, i16 -16384, i16 17555, i16 16399, i16 16393, i16 -16384, i16 17556, i16 16399, i16 17273, i16 -16384, i16 17556, i16 16399, i16 16393, i16 -16384, i16 17561, i16 16398, i16 17273, i16 -16384, i16 17561, i16 16398, i16 16393, i16 -16384, i16 17564, i16 16399, i16 17273, i16 -16384, i16 17564, i16 16404, i16 17273, i16 -16384, i16 17564, i16 16399, i16 16393, i16 -16384, i16 17564, i16 16404, i16 16393, i16 -16384, i16 17284, i16 16398, i16 17273, i16 -16384, i16 17567, i16 16407, i16 17273, i16 -16384, i16 17284, i16 16398, i16 16393, i16 -16384, i16 17567, i16 16407, i16 16393, i16 -16384, i16 17568, i16 16399, i16 17273, i16 -16384, i16 17568, i16 16406, i16 17273, i16 -16384, i16 17568, i16 16399, i16 16393, i16 -16384, i16 17568, i16 16406, i16 16393, i16 -16384, i16 17569, i16 16404, i16 17273, i16 -16384, i16 17569, i16 16404, i16 16393, i16 -16384, i16 17565, i16 16409, i16 17273, i16 -16384, i16 17565, i16 16409, i16 16393, i16 -16384, i16 17566, i16 17280, i16 17273, i16 -16384, i16 17566, i16 17280, i16 16393, i16 -16384, i16 17570, i16 16409, i16 17273, i16 -16384, i16 17570, i16 16409, i16 16393, i16 -16384, i16 17571, i16 16404, i16 17273, i16 -16384, i16 17571, i16 16404, i16 16393, i16 -16384, i16 17572, i16 16399, i16 17273, i16 -16384, i16 17572, i16 16399, i16 16393, i16 -16384, i16 17573, i16 16399, i16 17273, i16 -16384, i16 17573, i16 16399, i16 16393, i16 -16384, i16 17574, i16 16399, i16 17273, i16 -16384, i16 17574, i16 16399, i16 16393, i16 -16384, i16 17575, i16 16399, i16 17273, i16 -16384, i16 17575, i16 16399, i16 16393, i16 -16384, i16 17576, i16 16399, i16 17273, i16 -16384, i16 17576, i16 16399, i16 16393, i16 -16384, i16 17577, i16 16399, i16 17273, i16 -16384, i16 17577, i16 16399, i16 16393, i16 -16384, i16 17578, i16 16399, i16 17273, i16 -16384, i16 17578, i16 16399, i16 16393, i16 -16384, i16 17579, i16 16399, i16 17273, i16 -16384, i16 17579, i16 16399, i16 16393, i16 -16384, i16 17602, i16 16407, i16 17273, i16 -16384, i16 17602, i16 16407, i16 17600, i16 -16384, i16 17602, i16 16407, i16 16393, i16 -16384, i16 17602, i16 16407, i16 17601, i16 -16384, i16 32766, i16 16384, i16 16384, i16 16384, i16 17619, i16 16399, i16 17273, i16 -16384, i16 17619, i16 16399, i16 16393, i16 -16384, i16 17620, i16 16399, i16 17273, i16 -16384, i16 17620, i16 16399, i16 16393, i16 -16384, i16 17621, i16 16399, i16 17273, i16 -16384, i16 17621, i16 16399, i16 16393, i16 -16384, i16 17622, i16 16399, i16 17273, i16 -16384, i16 17622, i16 16399, i16 16393, i16 -16384, i16 17623, i16 16399, i16 17273, i16 -16384, i16 17623, i16 16399, i16 16393, i16 -16384, i16 17635, i16 16404, i16 17273, i16 -16384, i16 17634, i16 16403, i16 17273, i16 -16384, i16 17635, i16 17279, i16 17273, i16 -16384, i16 17636, i16 16404, i16 17273, i16 -16384, i16 17637, i16 16408, i16 17273, i16 -16384, i16 17635, i16 16404, i16 16393, i16 -16384, i16 17634, i16 16403, i16 16393, i16 -16384, i16 17635, i16 17279, i16 16393, i16 -16384, i16 17636, i16 16404, i16 16393, i16 -16384, i16 17637, i16 16408, i16 16393, i16 -16384, i16 16440, i16 16398, i16 16393, i16 -16327, i16 16440, i16 16398, i16 17273, i16 -16327, i16 16442, i16 16404, i16 17273, i16 -16384, i16 16442, i16 16404, i16 16393, i16 -16384, i16 17638, i16 16407, i16 17273, i16 -16384, i16 17639, i16 16407, i16 17273, i16 -16384, i16 17638, i16 16407, i16 16393, i16 -16384, i16 17639, i16 16407, i16 16393, i16 -16384, i16 17640, i16 16407, i16 17273, i16 -16384, i16 17640, i16 16407, i16 17600, i16 -16384, i16 17641, i16 16407, i16 17273, i16 -16384, i16 17640, i16 16407, i16 16393, i16 -16384, i16 17640, i16 16407, i16 17601, i16 -16384, i16 17641, i16 16407, i16 16393, i16 -16384, i16 17642, i16 16407, i16 17273, i16 -16384, i16 17642, i16 16407, i16 17600, i16 -16384, i16 17642, i16 16407, i16 16393, i16 -16384, i16 17642, i16 16407, i16 17601, i16 -16384, i16 17643, i16 16407, i16 17273, i16 -16384, i16 17643, i16 16407, i16 17600, i16 -16384, i16 17643, i16 16407, i16 16393, i16 -16384, i16 17643, i16 16407, i16 17601, i16 -16384, i16 17644, i16 16407, i16 17273, i16 -16384, i16 17644, i16 16407, i16 16393, i16 -16384, i16 17645, i16 16407, i16 17273, i16 -16384, i16 17645, i16 16407, i16 16393, i16 -16384, i16 17658, i16 16401, i16 17273, i16 -16384, i16 17660, i16 16400, i16 17273, i16 -16384, i16 17661, i16 17281, i16 17273, i16 -16384, i16 17659, i16 16406, i16 17273, i16 -16384, i16 17658, i16 16401, i16 16393, i16 -16384, i16 17660, i16 16400, i16 16393, i16 -16384, i16 17661, i16 17281, i16 16393, i16 -16384, i16 17659, i16 16406, i16 16393, i16 -16384, i16 17662, i16 16409, i16 17273, i16 -16384, i16 17639, i16 16402, i16 17273, i16 -16384, i16 17662, i16 16409, i16 16393, i16 -16384, i16 17639, i16 16402, i16 16393, i16 -16384, i16 17663, i16 16398, i16 17273, i16 -16384, i16 17664, i16 16402, i16 17273, i16 -16384, i16 17664, i16 16402, i16 16393, i16 -16384, i16 17666, i16 16399, i16 17273, i16 -16384, i16 17665, i16 16408, i16 17273, i16 -16384, i16 17666, i16 16399, i16 16393, i16 -16384, i16 17665, i16 16408, i16 16393, i16 -16384, i16 17668, i16 16402, i16 17273, i16 -16384, i16 17669, i16 16408, i16 17273, i16 -16384, i16 17671, i16 18078, i16 18015, i16 -16384, i16 17644, i16 16402, i16 17273, i16 -16384, i16 17644, i16 16402, i16 16393, i16 -16384, i16 17673, i16 16404, i16 17273, i16 -16384, i16 17672, i16 17279, i16 17273, i16 -16384, i16 17673, i16 16404, i16 16393, i16 -16384, i16 17672, i16 17279, i16 16393, i16 -16384, i16 17667, i16 16398, i16 17273, i16 -16384, i16 17670, i16 16402, i16 17273, i16 -16384, i16 17670, i16 16402, i16 16393, i16 -16384, i16 17685, i16 17281, i16 17273, i16 -16384, i16 17686, i16 17280, i16 17273, i16 -16384, i16 17685, i16 17281, i16 16393, i16 -16384, i16 17686, i16 17280, i16 16393, i16 -16384, i16 17688, i16 16409, i16 17273, i16 -16384, i16 17688, i16 16409, i16 16393, i16 -16384, i16 17687, i16 17281, i16 17273, i16 -16384, i16 17687, i16 17281, i16 16393, i16 -16384, i16 17695, i16 16399, i16 17273, i16 -16384, i16 17695, i16 16399, i16 17600, i16 -16384, i16 17695, i16 16399, i16 16393, i16 -16384, i16 17695, i16 16399, i16 17601, i16 -16384, i16 17697, i16 16399, i16 17273, i16 -16384, i16 17697, i16 16399, i16 17600, i16 -16384, i16 17697, i16 16399, i16 16393, i16 -16384, i16 17697, i16 16399, i16 17601, i16 -16384, i16 17693, i16 16407, i16 17273, i16 -16384, i16 17693, i16 16407, i16 16393, i16 -16384, i16 17694, i16 16407, i16 17273, i16 -16384, i16 17694, i16 16407, i16 16393, i16 -16384, i16 17696, i16 16408, i16 17273, i16 -16384, i16 17696, i16 16408, i16 16393, i16 -16384, i16 17698, i16 16407, i16 17273, i16 -16384, i16 17698, i16 16407, i16 16393, i16 -16384, i16 17707, i16 16407, i16 17273, i16 -16384, i16 17707, i16 16407, i16 17600, i16 -16384, i16 17707, i16 16407, i16 16393, i16 -16384, i16 17707, i16 16407, i16 17601, i16 -16384, i16 17708, i16 16407, i16 17273, i16 -16384, i16 17708, i16 16407, i16 17600, i16 -16384, i16 17708, i16 16407, i16 16393, i16 -16384, i16 17708, i16 16407, i16 17601, i16 -16384, i16 32766, i16 16398, i16 17273, i16 -16384, i16 32766, i16 16398, i16 16393, i16 -16384, i16 17803, i16 16404, i16 17273, i16 -16384, i16 17803, i16 16405, i16 17273, i16 -16384, i16 17803, i16 16404, i16 16393, i16 -16384, i16 17803, i16 16405, i16 16393, i16 -16384, i16 17806, i16 16404, i16 17273, i16 -16384, i16 17806, i16 16405, i16 17273, i16 -16384, i16 17806, i16 16404, i16 16393, i16 -16384, i16 17806, i16 16405, i16 16393, i16 -16384, i16 17797, i16 16398, i16 16393, i16 -16384, i16 17797, i16 16398, i16 17601, i16 -16384, i16 18087, i16 18054, i16 18021, i16 -16384, i16 18087, i16 18054, i16 18090, i16 -16384, i16 18087, i16 18054, i16 18093, i16 -16384, i16 18087, i16 18054, i16 18096, i16 -16384, i16 17797, i16 16398, i16 17600, i16 -16384, i16 17797, i16 16398, i16 17273, i16 -16384, i16 18087, i16 18054, i16 18099, i16 -16384, i16 18087, i16 18054, i16 18102, i16 -16384, i16 18087, i16 18054, i16 18105, i16 -16384, i16 18087, i16 18054, i16 18015, i16 -16384, i16 17798, i16 16398, i16 16393, i16 -16384, i16 17798, i16 16398, i16 17601, i16 -16384, i16 18108, i16 18054, i16 18021, i16 -16384, i16 18108, i16 18054, i16 18090, i16 -16384, i16 18108, i16 18054, i16 18093, i16 -16384, i16 18108, i16 18054, i16 18096, i16 -16384, i16 17798, i16 16398, i16 17600, i16 -16384, i16 17798, i16 16398, i16 17273, i16 -16384, i16 18108, i16 18054, i16 18099, i16 -16384, i16 18108, i16 18054, i16 18102, i16 -16384, i16 18108, i16 18054, i16 18105, i16 -16384, i16 18108, i16 18054, i16 18015, i16 -16384, i16 17799, i16 16398, i16 17796, i16 -16384, i16 17799, i16 16398, i16 17795, i16 -16384, i16 17799, i16 16398, i16 17794, i16 -16384, i16 17799, i16 16398, i16 17793, i16 -16384, i16 18111, i16 18054, i16 18114, i16 -16384, i16 18111, i16 18054, i16 18117, i16 -16384, i16 18111, i16 18054, i16 18120, i16 -16384, i16 18111, i16 18054, i16 18123, i16 -16384, i16 17799, i16 16398, i16 17792, i16 -16384, i16 17799, i16 16398, i16 17791, i16 -16384, i16 17799, i16 16398, i16 17790, i16 -16384, i16 17799, i16 16398, i16 17789, i16 -16384, i16 18111, i16 18054, i16 18126, i16 -16384, i16 18111, i16 18054, i16 18129, i16 -16384, i16 18111, i16 18054, i16 18132, i16 -16384, i16 18111, i16 18054, i16 18135, i16 -16384, i16 17800, i16 16398, i16 16393, i16 -16384, i16 17800, i16 16398, i16 17601, i16 -16384, i16 18138, i16 18054, i16 18021, i16 -16384, i16 18138, i16 18054, i16 18090, i16 -16384, i16 18138, i16 18054, i16 18093, i16 -16384, i16 18138, i16 18054, i16 18096, i16 -16384, i16 17800, i16 16398, i16 17273, i16 -16384, i16 17800, i16 16398, i16 17600, i16 -16384, i16 18138, i16 18054, i16 18099, i16 -16384, i16 18138, i16 18054, i16 18102, i16 -16384, i16 18138, i16 18054, i16 18105, i16 -16384, i16 18138, i16 18054, i16 18015, i16 -16384, i16 17801, i16 16398, i16 16393, i16 -16384, i16 17801, i16 16398, i16 17601, i16 -16384, i16 18141, i16 18054, i16 18021, i16 -16384, i16 18141, i16 18054, i16 18090, i16 -16384, i16 18141, i16 18054, i16 18093, i16 -16384, i16 18141, i16 18054, i16 18096, i16 -16384, i16 17801, i16 16398, i16 17273, i16 -16384, i16 17801, i16 16398, i16 17600, i16 -16384, i16 18141, i16 18054, i16 18099, i16 -16384, i16 18141, i16 18054, i16 18102, i16 -16384, i16 18141, i16 18054, i16 18105, i16 -16384, i16 18141, i16 18054, i16 18015, i16 -16384, i16 17802, i16 16398, i16 16393, i16 -16384, i16 17802, i16 16398, i16 17601, i16 -16384, i16 18144, i16 18054, i16 18021, i16 -16384, i16 18144, i16 18054, i16 18090, i16 -16384, i16 18144, i16 18054, i16 18093, i16 -16384, i16 18144, i16 18054, i16 18096, i16 -16384, i16 17802, i16 16398, i16 17273, i16 -16384, i16 17802, i16 16398, i16 17600, i16 -16384, i16 18144, i16 18054, i16 18099, i16 -16384, i16 18144, i16 18054, i16 18102, i16 -16384, i16 18144, i16 18054, i16 18105, i16 -16384, i16 18144, i16 18054, i16 18015, i16 -16384, i16 17804, i16 16398, i16 16393, i16 -16384, i16 17804, i16 16398, i16 17601, i16 -16384, i16 18147, i16 18054, i16 18021, i16 -16384, i16 18147, i16 18054, i16 18090, i16 -16384, i16 18147, i16 18054, i16 18093, i16 -16384, i16 18147, i16 18054, i16 18096, i16 -16384, i16 17804, i16 16398, i16 17600, i16 -16384, i16 17804, i16 16398, i16 17273, i16 -16384, i16 18147, i16 18054, i16 18099, i16 -16384, i16 18147, i16 18054, i16 18102, i16 -16384, i16 18147, i16 18054, i16 18105, i16 -16384, i16 18147, i16 18054, i16 18015, i16 -16384, i16 17805, i16 16398, i16 16393, i16 -16384, i16 17805, i16 16398, i16 17601, i16 -16384, i16 18150, i16 18054, i16 18021, i16 -16384, i16 18150, i16 18054, i16 18090, i16 -16384, i16 18150, i16 18054, i16 18093, i16 -16384, i16 18150, i16 18054, i16 18096, i16 -16384, i16 17805, i16 16398, i16 17600, i16 -16384, i16 17805, i16 16398, i16 17273, i16 -16384, i16 18150, i16 18054, i16 18099, i16 -16384, i16 18150, i16 18054, i16 18102, i16 -16384, i16 18150, i16 18054, i16 18105, i16 -16384, i16 18150, i16 18054, i16 18015, i16 -16384, i16 17807, i16 16398, i16 16393, i16 -16384, i16 17807, i16 16398, i16 17601, i16 -16384, i16 18153, i16 18054, i16 18021, i16 -16384, i16 18153, i16 18054, i16 18090, i16 -16384, i16 18153, i16 18054, i16 18093, i16 -16384, i16 18153, i16 18054, i16 18096, i16 -16384, i16 17807, i16 16398, i16 17600, i16 -16384, i16 17807, i16 16398, i16 17273, i16 -16384, i16 18153, i16 18054, i16 18099, i16 -16384, i16 18153, i16 18054, i16 18102, i16 -16384, i16 18153, i16 18054, i16 18105, i16 -16384, i16 18153, i16 18054, i16 18015, i16 -16384, i16 16384, i16 16384, i16 16384, i16 -2, i16 17934, i16 16398, i16 17273, i16 -16384, i16 17290, i16 17928, i16 17273, i16 -16384, i16 17289, i16 17274, i16 17273, i16 -16384, i16 17289, i16 17276, i16 17273, i16 -16384, i16 17289, i16 17275, i16 17273, i16 -16384, i16 17289, i16 17929, i16 17273, i16 -16384, i16 17289, i16 17929, i16 17932, i16 -16384, i16 17289, i16 17929, i16 17933, i16 -16384, i16 16472, i16 16399, i16 17273, i16 -16384, i16 17291, i16 17931, i16 17273, i16 -16384, i16 17291, i16 17274, i16 17273, i16 -16384, i16 17935, i16 16398, i16 17273, i16 -16384, i16 17935, i16 17930, i16 17273, i16 -16384, i16 17935, i16 17277, i16 17273, i16 -16384, i16 17934, i16 16398, i16 16387, i16 -16384, i16 17934, i16 16398, i16 16388, i16 -16384, i16 17290, i16 16398, i16 16387, i16 -16384, i16 17290, i16 16398, i16 16388, i16 -16384, i16 17290, i16 17928, i16 16387, i16 -16384, i16 17290, i16 17928, i16 16388, i16 -16384, i16 17289, i16 16398, i16 16387, i16 -16384, i16 17289, i16 17274, i16 16387, i16 -16384, i16 17289, i16 17274, i16 16388, i16 -16384, i16 17289, i16 17276, i16 16387, i16 -16384, i16 17289, i16 17276, i16 16388, i16 -16384, i16 17289, i16 17275, i16 16387, i16 -16384, i16 17289, i16 17275, i16 16388, i16 -16384, i16 17289, i16 17929, i16 16387, i16 -16384, i16 17289, i16 17929, i16 16388, i16 -16384, i16 16472, i16 16398, i16 16387, i16 -16384, i16 16472, i16 16398, i16 16388, i16 -16384, i16 16472, i16 16398, i16 16389, i16 -16384, i16 16472, i16 16398, i16 16390, i16 -16384, i16 16472, i16 16399, i16 16387, i16 -16384, i16 16472, i16 16399, i16 16388, i16 -16384, i16 16472, i16 16399, i16 16389, i16 -16384, i16 16472, i16 16399, i16 16390, i16 -16384, i16 17291, i16 16398, i16 16387, i16 -16384, i16 17291, i16 16398, i16 16388, i16 -16384, i16 17291, i16 16398, i16 16389, i16 -16384, i16 17291, i16 16398, i16 16390, i16 -16384, i16 17291, i16 17931, i16 16387, i16 -16384, i16 17291, i16 17931, i16 16388, i16 -16384, i16 17291, i16 17274, i16 16387, i16 -16384, i16 17291, i16 17274, i16 16388, i16 -16384, i16 17935, i16 16398, i16 16387, i16 -16384, i16 17935, i16 16398, i16 16388, i16 -16384, i16 17935, i16 16398, i16 16389, i16 -16384, i16 17935, i16 16398, i16 16390, i16 -16384, i16 17935, i16 17930, i16 16387, i16 -16384, i16 17935, i16 17930, i16 16388, i16 -16384, i16 17935, i16 17277, i16 16387, i16 -16384, i16 17935, i16 17277, i16 16388, i16 -16384, i16 17935, i16 17277, i16 16389, i16 -16384, i16 17935, i16 17277, i16 16390, i16 -16384, i16 18156, i16 18054, i16 18159, i16 -16384, i16 18156, i16 18054, i16 18162, i16 -16384, i16 18165, i16 18168, i16 18159, i16 -16384, i16 18165, i16 18168, i16 18162, i16 -16384, i16 18165, i16 18171, i16 18159, i16 -16384, i16 18165, i16 18171, i16 18162, i16 -16384, i16 18174, i16 18054, i16 18159, i16 -16384, i16 18174, i16 18054, i16 18162, i16 -16384, i16 18177, i16 18182, i16 18187, i16 -16384, i16 17958, i16 17281, i16 16393, i16 -16384, i16 17958, i16 17281, i16 17273, i16 -16384, i16 17959, i16 17281, i16 16393, i16 -16384, i16 17959, i16 17281, i16 17273, i16 -16384, i16 17960, i16 17281, i16 16393, i16 -16384, i16 17960, i16 17281, i16 17273, i16 -16384, i16 17961, i16 17281, i16 16393, i16 -16384, i16 17961, i16 17281, i16 17273, i16 -16384, i16 17962, i16 17281, i16 16393, i16 -16384, i16 17962, i16 17281, i16 17273, i16 -16384, i16 17963, i16 17280, i16 16393, i16 -16384, i16 17963, i16 17280, i16 17273, i16 -16384, i16 17964, i16 16407, i16 17273, i16 -16384, i16 17964, i16 16407, i16 17600, i16 -16384, i16 17964, i16 16407, i16 16393, i16 -16384, i16 17964, i16 16407, i16 17601, i16 -16384, i16 17965, i16 16407, i16 17273, i16 -16384, i16 17965, i16 16407, i16 17600, i16 -16384, i16 17965, i16 16407, i16 16393, i16 -16384, i16 17965, i16 16407, i16 17601, i16 -16384, i16 17966, i16 16407, i16 17273, i16 -16384, i16 17966, i16 16407, i16 17600, i16 -16384, i16 17966, i16 16407, i16 16393, i16 -16384, i16 17966, i16 16407, i16 17601, i16 -16384, i16 17967, i16 16407, i16 17273, i16 -16384, i16 17967, i16 16407, i16 17600, i16 -16384, i16 17967, i16 16407, i16 16393, i16 -16384, i16 17967, i16 16407, i16 17601, i16 -16384, i16 17968, i16 16407, i16 17273, i16 -16384, i16 17968, i16 16407, i16 17600, i16 -16384, i16 17968, i16 16407, i16 16393, i16 -16384, i16 17968, i16 16407, i16 17601, i16 -16384, i16 17969, i16 16407, i16 17273, i16 -16384, i16 17969, i16 16407, i16 17600, i16 -16384, i16 17969, i16 16407, i16 16393, i16 -16384, i16 17969, i16 16407, i16 17601, i16 -16384, i16 17970, i16 16407, i16 17273, i16 -16384, i16 17970, i16 16407, i16 17600, i16 -16384, i16 17970, i16 16407, i16 16393, i16 -16384, i16 17970, i16 16407, i16 17601, i16 -16384, i16 17971, i16 16407, i16 17273, i16 -16384, i16 17971, i16 16407, i16 17600, i16 -16384, i16 17971, i16 16407, i16 16393, i16 -16384, i16 17971, i16 16407, i16 17601, i16 -16384, i16 18000, i16 16407, i16 17273, i16 -16384, i16 18000, i16 16407, i16 17600, i16 -16384, i16 18001, i16 16407, i16 17273, i16 -16384, i16 18001, i16 16407, i16 17600, i16 -16384, i16 18000, i16 16407, i16 16393, i16 -16384, i16 18000, i16 16407, i16 17601, i16 -16384, i16 18001, i16 16407, i16 16393, i16 -16384, i16 18001, i16 16407, i16 17601, i16 -16384, i16 18192, i16 18078, i16 18015, i16 -16384, i16 18192, i16 18195, i16 18015, i16 -16384, i16 18198, i16 18078, i16 18015, i16 -16384, i16 17299, i16 17300, i16 17273, i16 -16384, i16 17299, i16 17301, i16 17273, i16 -16384, i16 17299, i16 17335, i16 17273, i16 -16384, i16 17305, i16 17306, i16 17273, i16 -16384, i16 17305, i16 17307, i16 17273, i16 -16384, i16 17305, i16 17333, i16 17273, i16 -16384, i16 18192, i16 18078, i16 18021, i16 -16384, i16 18192, i16 18195, i16 18021, i16 -16384, i16 18198, i16 18078, i16 18021, i16 -16384, i16 17299, i16 17300, i16 16393, i16 -16384, i16 17299, i16 17301, i16 16393, i16 -16384, i16 17299, i16 17335, i16 16393, i16 -16384, i16 17305, i16 17306, i16 16393, i16 -16384, i16 17305, i16 17307, i16 16393, i16 -16384, i16 17305, i16 17333, i16 16393, i16 -16384, i16 17295, i16 17297, i16 17273, i16 -16384, i16 17310, i16 17321, i16 17273, i16 -16384, i16 18201, i16 18078, i16 18015, i16 -16384, i16 18204, i16 18078, i16 18015, i16 -16384, i16 17323, i16 17324, i16 17273, i16 -16384, i16 17328, i16 17322, i16 17273, i16 -16384, i16 17295, i16 17297, i16 16393, i16 -16384, i16 17308, i16 17309, i16 16393, i16 -16384, i16 17310, i16 17321, i16 16393, i16 -16384, i16 18201, i16 18078, i16 18021, i16 -16384, i16 18204, i16 18078, i16 18021, i16 -16384, i16 17323, i16 17324, i16 16393, i16 -16384, i16 17328, i16 17322, i16 16393, i16 -16384, i16 18006, i16 16404, i16 17273, i16 -16384, i16 18006, i16 16404, i16 16393, i16 -16384, i16 32766, i16 16382, i16 32766, i16 -16386, i16 32766, i16 16382, i16 32766, i16 -32768, i16 16384, i16 0, i16 16384, i16 -16386, i16 32766, i16 2, i16 16385, i16 -32768, i16 17065, i16 2, i16 18080, i16 -32768, i16 17065, i16 2, i16 32766, i16 -32768, i16 17065, i16 5, i16 16385, i16 -32768, i16 17065, i16 5, i16 18080, i16 -32768, i16 17065, i16 6, i16 16385, i16 -32768, i16 17065, i16 6, i16 18080, i16 -32768, i16 17065, i16 7, i16 16385, i16 -32768, i16 17065, i16 7, i16 18080, i16 -32768, i16 17065, i16 8, i16 16385, i16 -32768, i16 17065, i16 8, i16 18080, i16 -32768, i16 17065, i16 9, i16 16385, i16 -32768, i16 17065, i16 9, i16 18080, i16 -32768, i16 17065, i16 11, i16 16385, i16 -32768, i16 17065, i16 11, i16 18080, i16 -32768, i16 17065, i16 12, i16 16385, i16 -32768, i16 17065, i16 12, i16 18080, i16 -32768, i16 17065, i16 13, i16 16385, i16 -32768, i16 17065, i16 13, i16 18080, i16 -32768, i16 17065, i16 15, i16 16385, i16 -32768, i16 17065, i16 15, i16 18080, i16 -32768, i16 17065, i16 16, i16 16385, i16 -32768, i16 17065, i16 16, i16 18080, i16 -32768, i16 17065, i16 17, i16 16385, i16 -32768, i16 17065, i16 17, i16 18080, i16 -32768, i16 17065, i16 18, i16 16385, i16 -32768, i16 17065, i16 18, i16 18080, i16 -32768, i16 17065, i16 19, i16 16385, i16 -32768, i16 17065, i16 19, i16 18080, i16 -32768, i16 17065, i16 20, i16 16385, i16 -32768, i16 17065, i16 20, i16 18080, i16 -32768, i16 17065, i16 21, i16 16385, i16 -32768, i16 17065, i16 21, i16 18080, i16 -32768, i16 17065, i16 22, i16 16385, i16 -32768, i16 17065, i16 22, i16 18080, i16 -32768, i16 17065, i16 27, i16 16385, i16 -32768, i16 17065, i16 27, i16 18080, i16 -32768, i16 17065, i16 29, i16 16385, i16 -32768, i16 17065, i16 29, i16 18080, i16 -32768, i16 17065, i16 34, i16 16385, i16 -32768, i16 17065, i16 34, i16 18080, i16 -32768, i16 17065, i16 35, i16 16385, i16 -32768, i16 17065, i16 35, i16 18080, i16 -32768, i16 17065, i16 40, i16 16385, i16 -32768, i16 17065, i16 40, i16 18080, i16 -32768, i16 17065, i16 55, i16 16385, i16 -32768, i16 17065, i16 55, i16 18080, i16 -32768, i16 17113, i16 2, i16 18080, i16 -32768, i16 17113, i16 39, i16 16385, i16 -32768, i16 17113, i16 39, i16 18080, i16 -32768, i16 17113, i16 40, i16 16385, i16 -32768, i16 17113, i16 40, i16 18080, i16 -32768, i16 17113, i16 58, i16 16385, i16 -32768, i16 17113, i16 58, i16 18080, i16 -32768, i16 17122, i16 2, i16 18080, i16 -32768, i16 17122, i16 16, i16 16385, i16 -32768, i16 17122, i16 16, i16 18080, i16 -32768, i16 17122, i16 34, i16 16385, i16 -32768, i16 17122, i16 34, i16 18080, i16 -32768, i16 17122, i16 39, i16 16385, i16 -32768, i16 17122, i16 39, i16 18080, i16 -32768, i16 17122, i16 45, i16 16385, i16 -32768, i16 17122, i16 45, i16 18080, i16 -32768, i16 17133, i16 2, i16 18080, i16 -32768, i16 17133, i16 22, i16 16385, i16 -32768, i16 17133, i16 22, i16 18080, i16 -32768, i16 17133, i16 39, i16 16385, i16 -32768, i16 17133, i16 39, i16 18080, i16 -32768, i16 17133, i16 40, i16 16385, i16 -32768, i16 17133, i16 40, i16 18080, i16 -32768, i16 17133, i16 44, i16 16385, i16 -32768, i16 17133, i16 44, i16 18080, i16 -32768, i16 17133, i16 57, i16 16385, i16 -32768, i16 17133, i16 57, i16 18080, i16 -32768, i16 17133, i16 58, i16 16385, i16 -32768, i16 17133, i16 58, i16 18080, i16 -32768, i16 17148, i16 2, i16 18080, i16 -32768, i16 17148, i16 5, i16 16385, i16 -32768, i16 17148, i16 5, i16 18080, i16 -32768, i16 17148, i16 6, i16 16385, i16 -32768, i16 17148, i16 6, i16 18080, i16 -32768, i16 17148, i16 7, i16 16385, i16 -32768, i16 17148, i16 7, i16 18080, i16 -32768, i16 17148, i16 15, i16 16385, i16 -32768, i16 17148, i16 15, i16 18080, i16 -32768, i16 17148, i16 16, i16 16385, i16 -32768, i16 17148, i16 16, i16 18080, i16 -32768, i16 17148, i16 17, i16 16385, i16 -32768, i16 17148, i16 17, i16 18080, i16 -32768, i16 17148, i16 18, i16 16385, i16 -32768, i16 17148, i16 18, i16 18080, i16 -32768, i16 17148, i16 19, i16 16385, i16 -32768, i16 17148, i16 19, i16 18080, i16 -32768, i16 17148, i16 20, i16 16385, i16 -32768, i16 17148, i16 20, i16 18080, i16 -32768, i16 17148, i16 21, i16 16385, i16 -32768, i16 17148, i16 21, i16 18080, i16 -32768, i16 17148, i16 22, i16 16385, i16 -32768, i16 17148, i16 22, i16 18080, i16 -32768, i16 17148, i16 28, i16 16385, i16 -32768, i16 17148, i16 28, i16 18080, i16 -32768, i16 17148, i16 34, i16 16385, i16 -32768, i16 17148, i16 34, i16 18080, i16 -32768, i16 17148, i16 35, i16 16385, i16 -32768, i16 17148, i16 35, i16 18080, i16 -32768, i16 17148, i16 38, i16 16385, i16 -32768, i16 17148, i16 38, i16 18080, i16 -32768, i16 17148, i16 39, i16 16385, i16 -32768, i16 17148, i16 39, i16 18080, i16 -32768, i16 17148, i16 40, i16 16385, i16 -32768, i16 17148, i16 40, i16 18080, i16 -32768, i16 17148, i16 47, i16 16385, i16 -32768, i16 17148, i16 47, i16 18080, i16 -32768, i16 17148, i16 51, i16 16385, i16 -32768, i16 17148, i16 51, i16 18080, i16 -32768, i16 17148, i16 52, i16 16385, i16 -32768, i16 17148, i16 52, i16 18080, i16 -32768, i16 17148, i16 57, i16 16385, i16 -32768, i16 17148, i16 57, i16 18080, i16 -32768, i16 17193, i16 2, i16 18080, i16 -32768, i16 17193, i16 34, i16 16385, i16 -32768, i16 17193, i16 34, i16 18080, i16 -32768, i16 17193, i16 39, i16 16385, i16 -32768, i16 17193, i16 39, i16 18080, i16 -32768, i16 18531, i16 2150, i16 18537, i16 -32768, i16 18540, i16 2150, i16 18543, i16 -32768, i16 18546, i16 2150, i16 18549, i16 -32768, i16 18552, i16 2172, i16 18560, i16 -32768, i16 18564, i16 2172, i16 18568, i16 -32768, i16 17205, i16 2, i16 18080, i16 -32768, i16 17205, i16 3, i16 16385, i16 -32768, i16 17205, i16 3, i16 18080, i16 -32768, i16 17205, i16 16, i16 16385, i16 -32768, i16 17205, i16 16, i16 18080, i16 -32768, i16 17205, i16 22, i16 16385, i16 -32768, i16 17205, i16 22, i16 18080, i16 -32768, i16 17205, i16 39, i16 16385, i16 -32768, i16 17205, i16 39, i16 18080, i16 -32768, i16 17205, i16 42, i16 16385, i16 -32768, i16 17205, i16 42, i16 18080, i16 -32768, i16 17205, i16 50, i16 16385, i16 -32768, i16 17205, i16 50, i16 18080, i16 -32768, i16 17220, i16 2, i16 18080, i16 -32768, i16 17220, i16 14, i16 16385, i16 -32768, i16 17220, i16 14, i16 18080, i16 -32768, i16 17220, i16 16, i16 16385, i16 -32768, i16 17220, i16 16, i16 18080, i16 -32768, i16 17220, i16 28, i16 16385, i16 -32768, i16 17220, i16 28, i16 18080, i16 -32768, i16 17220, i16 39, i16 16385, i16 -32768, i16 17220, i16 39, i16 18080, i16 -32768, i16 17220, i16 40, i16 16385, i16 -32768, i16 17220, i16 40, i16 18080, i16 -32768, i16 17220, i16 42, i16 16385, i16 -32768, i16 17220, i16 42, i16 18080, i16 -32768, i16 17220, i16 44, i16 16385, i16 -32768, i16 17220, i16 44, i16 18080, i16 -32768, i16 18178, i16 2, i16 18080, i16 -32768, i16 18178, i16 5, i16 16385, i16 -32768, i16 18178, i16 5, i16 18080, i16 -32768, i16 18178, i16 6, i16 16385, i16 -32768, i16 18178, i16 6, i16 18080, i16 -32768, i16 18178, i16 7, i16 16385, i16 -32768, i16 18178, i16 7, i16 18080, i16 -32768, i16 18178, i16 15, i16 16385, i16 -32768, i16 18178, i16 15, i16 18080, i16 -32768, i16 18178, i16 16, i16 16385, i16 -32768, i16 18178, i16 16, i16 18080, i16 -32768, i16 18178, i16 22, i16 16385, i16 -32768, i16 18178, i16 22, i16 18080, i16 -32768, i16 18178, i16 28, i16 16385, i16 -32768, i16 18178, i16 28, i16 18080, i16 -32768, i16 18178, i16 30, i16 16385, i16 -32768, i16 18178, i16 30, i16 18080, i16 -32768, i16 18178, i16 34, i16 16385, i16 -32768, i16 18178, i16 34, i16 18080, i16 -32768, i16 18178, i16 35, i16 16385, i16 -32768, i16 18178, i16 35, i16 18080, i16 -32768, i16 18178, i16 38, i16 16385, i16 -32768, i16 18178, i16 38, i16 18080, i16 -32768, i16 18178, i16 40, i16 16385, i16 -32768, i16 18178, i16 40, i16 18080, i16 -32768, i16 18178, i16 48, i16 16385, i16 -32768, i16 18178, i16 48, i16 18080, i16 -32768, i16 18572, i16 2191, i16 18578, i16 -32768, i16 18572, i16 2191, i16 18581, i16 -32768, i16 17267, i16 2, i16 18080, i16 -32768, i16 17267, i16 16, i16 16385, i16 -32768, i16 17267, i16 16, i16 18080, i16 -32768, i16 17272, i16 2, i16 18080, i16 -32768, i16 17272, i16 3, i16 16385, i16 -32768, i16 17272, i16 3, i16 18080, i16 -32768, i16 17272, i16 22, i16 16385, i16 -32768, i16 17272, i16 22, i16 18080, i16 -32768, i16 17272, i16 34, i16 16385, i16 -32768, i16 17272, i16 34, i16 18080, i16 -32768, i16 17272, i16 40, i16 16385, i16 -32768, i16 17272, i16 40, i16 18080, i16 -32768, i16 17272, i16 58, i16 16385, i16 -32768, i16 17272, i16 58, i16 18080, i16 -32768, i16 17285, i16 2, i16 18080, i16 -32768, i16 17285, i16 3, i16 16385, i16 -32768, i16 17285, i16 3, i16 18080, i16 -32768, i16 17285, i16 22, i16 16385, i16 -32768, i16 17285, i16 22, i16 18080, i16 -32768, i16 17285, i16 39, i16 16385, i16 -32768, i16 17285, i16 39, i16 18080, i16 -32768, i16 17285, i16 40, i16 16385, i16 -32768, i16 17285, i16 40, i16 18080, i16 -32768, i16 17285, i16 56, i16 16385, i16 -32768, i16 17285, i16 56, i16 18080, i16 -32768, i16 17285, i16 57, i16 16385, i16 -32768, i16 17285, i16 57, i16 18080, i16 -32768, i16 17285, i16 58, i16 16385, i16 -32768, i16 17285, i16 58, i16 18080, i16 -32768, i16 17302, i16 2, i16 18080, i16 -32768, i16 17302, i16 3, i16 16385, i16 -32768, i16 17302, i16 3, i16 18080, i16 -32768, i16 17302, i16 39, i16 16385, i16 -32768, i16 17302, i16 39, i16 18080, i16 -32768, i16 17302, i16 40, i16 16385, i16 -32768, i16 17302, i16 40, i16 18080, i16 -32768, i16 17311, i16 2, i16 18080, i16 -32768, i16 17311, i16 22, i16 16385, i16 -32768, i16 17311, i16 22, i16 18080, i16 -32768, i16 17311, i16 39, i16 16385, i16 -32768, i16 17311, i16 39, i16 18080, i16 -32768, i16 17311, i16 40, i16 16385, i16 -32768, i16 17311, i16 40, i16 18080, i16 -32768, i16 17311, i16 57, i16 16385, i16 -32768, i16 17311, i16 57, i16 18080, i16 -32768, i16 17311, i16 58, i16 16385, i16 -32768, i16 17311, i16 58, i16 18080, i16 -32768, i16 17311, i16 65, i16 18080, i16 -32768, i16 17325, i16 2, i16 18080, i16 -32768, i16 17325, i16 2, i16 32766, i16 -32768, i16 17325, i16 5, i16 16385, i16 -32768, i16 17325, i16 5, i16 18080, i16 -32768, i16 17325, i16 6, i16 16385, i16 -32768, i16 17325, i16 6, i16 18080, i16 -32768, i16 17325, i16 7, i16 16385, i16 -32768, i16 17325, i16 7, i16 18080, i16 -32768, i16 17325, i16 15, i16 16385, i16 -32768, i16 17325, i16 15, i16 18080, i16 -32768, i16 17325, i16 16, i16 16385, i16 -32768, i16 17325, i16 16, i16 18080, i16 -32768, i16 17325, i16 17, i16 16385, i16 -32768, i16 17325, i16 17, i16 18080, i16 -32768, i16 17325, i16 18, i16 16385, i16 -32768, i16 17325, i16 18, i16 18080, i16 -32768, i16 17325, i16 19, i16 16385, i16 -32768, i16 17325, i16 19, i16 18080, i16 -32768, i16 17325, i16 20, i16 16385, i16 -32768, i16 17325, i16 20, i16 18080, i16 -32768, i16 17325, i16 21, i16 16385, i16 -32768, i16 17325, i16 21, i16 18080, i16 -32768, i16 17325, i16 22, i16 16385, i16 -32768, i16 17325, i16 22, i16 18080, i16 -32768, i16 17325, i16 34, i16 16385, i16 -32768, i16 17325, i16 34, i16 18080, i16 -32768, i16 17325, i16 36, i16 16385, i16 -32768, i16 17325, i16 36, i16 18080, i16 -32768, i16 17325, i16 37, i16 16385, i16 -32768, i16 17325, i16 37, i16 18080, i16 -32768, i16 17325, i16 40, i16 16385, i16 -32768, i16 17325, i16 40, i16 18080, i16 -32768, i16 17325, i16 48, i16 16385, i16 -32768, i16 17325, i16 48, i16 18080, i16 -32768, i16 17325, i16 49, i16 16385, i16 -32768, i16 17325, i16 49, i16 18080, i16 -32768, i16 17325, i16 51, i16 16385, i16 -32768, i16 17325, i16 51, i16 18080, i16 -32768, i16 17325, i16 52, i16 16385, i16 -32768, i16 17325, i16 52, i16 18080, i16 -32768, i16 17325, i16 59, i16 16385, i16 -32768, i16 17325, i16 59, i16 18080, i16 -32768, i16 17325, i16 60, i16 16385, i16 -32768, i16 17325, i16 60, i16 18080, i16 -32768, i16 17325, i16 61, i16 16385, i16 -32768, i16 17325, i16 61, i16 18080, i16 -32768, i16 17325, i16 62, i16 16385, i16 -32768, i16 17325, i16 62, i16 18080, i16 -32768, i16 17325, i16 63, i16 16385, i16 -32768, i16 17325, i16 63, i16 18080, i16 -32768, i16 17325, i16 64, i16 16385, i16 -32768, i16 17325, i16 64, i16 18080, i16 -32768, i16 17379, i16 2, i16 18080, i16 -32768, i16 17379, i16 3, i16 16385, i16 -32768, i16 17379, i16 3, i16 18080, i16 -32768, i16 17379, i16 39, i16 16385, i16 -32768, i16 17379, i16 39, i16 18080, i16 -32768, i16 17386, i16 2, i16 18080, i16 -32768, i16 17389, i16 2, i16 18080, i16 -32768, i16 17389, i16 3, i16 16385, i16 -32768, i16 17389, i16 3, i16 18080, i16 -32768, i16 17389, i16 6, i16 16385, i16 -32768, i16 17389, i16 6, i16 18080, i16 -32768, i16 17389, i16 15, i16 16385, i16 -32768, i16 17389, i16 15, i16 18080, i16 -32768, i16 17389, i16 22, i16 16385, i16 -32768, i16 17389, i16 22, i16 18080, i16 -32768, i16 17389, i16 39, i16 16385, i16 -32768, i16 17389, i16 39, i16 18080, i16 -32768, i16 17389, i16 40, i16 16385, i16 -32768, i16 17389, i16 40, i16 18080, i16 -32768, i16 17389, i16 56, i16 16385, i16 -32768, i16 17389, i16 56, i16 18080, i16 -32768, i16 17389, i16 58, i16 16385, i16 -32768, i16 17389, i16 58, i16 18080, i16 -32768, i16 17408, i16 2, i16 18080, i16 -32768, i16 18584, i16 2150, i16 18587, i16 -32768, i16 17408, i16 4, i16 16385, i16 -32768, i16 17408, i16 4, i16 18080, i16 -32768, i16 17408, i16 16, i16 16385, i16 -32768, i16 17408, i16 16, i16 18080, i16 -32768, i16 17408, i16 24, i16 16385, i16 -32768, i16 17408, i16 24, i16 18080, i16 -32768, i16 17408, i16 39, i16 16385, i16 -32768, i16 17408, i16 39, i16 18080, i16 -32768, i16 17408, i16 40, i16 16385, i16 -32768, i16 17408, i16 40, i16 18080, i16 -32768, i16 17408, i16 41, i16 16385, i16 -32768, i16 17408, i16 41, i16 18080, i16 -32768, i16 17408, i16 16382, i16 18080, i16 -32768, i16 18590, i16 2150, i16 18593, i16 -32768, i16 18584, i16 2150, i16 18596, i16 -32768, i16 17427, i16 2, i16 18080, i16 -32768, i16 17427, i16 22, i16 16385, i16 -32768, i16 17427, i16 22, i16 18080, i16 -32768, i16 17427, i16 39, i16 16385, i16 -32768, i16 17427, i16 39, i16 18080, i16 -32768, i16 17427, i16 40, i16 16385, i16 -32768, i16 17427, i16 40, i16 18080, i16 -32768, i16 17427, i16 42, i16 16385, i16 -32768, i16 17427, i16 42, i16 18080, i16 -32768, i16 17427, i16 44, i16 16385, i16 -32768, i16 17427, i16 44, i16 18080, i16 -32768, i16 17427, i16 57, i16 16385, i16 -32768, i16 17427, i16 57, i16 18080, i16 -32768, i16 17427, i16 58, i16 16385, i16 -32768, i16 17427, i16 58, i16 18080, i16 -32768, i16 17444, i16 2, i16 18080, i16 -32768, i16 17444, i16 5, i16 16385, i16 -32768, i16 17444, i16 5, i16 18080, i16 -32768, i16 17444, i16 6, i16 16385, i16 -32768, i16 17444, i16 6, i16 18080, i16 -32768, i16 17444, i16 7, i16 16385, i16 -32768, i16 17444, i16 7, i16 18080, i16 -32768, i16 17444, i16 15, i16 16385, i16 -32768, i16 17444, i16 15, i16 18080, i16 -32768, i16 17444, i16 16, i16 16385, i16 -32768, i16 17444, i16 16, i16 18080, i16 -32768, i16 17444, i16 22, i16 16385, i16 -32768, i16 17444, i16 22, i16 18080, i16 -32768, i16 17444, i16 25, i16 16385, i16 -32768, i16 17444, i16 25, i16 18080, i16 -32768, i16 17444, i16 29, i16 16385, i16 -32768, i16 17444, i16 29, i16 18080, i16 -32768, i16 17444, i16 30, i16 16385, i16 -32768, i16 17444, i16 30, i16 18080, i16 -32768, i16 17444, i16 31, i16 16385, i16 -32768, i16 17444, i16 31, i16 18080, i16 -32768, i16 17444, i16 32, i16 16385, i16 -32768, i16 17444, i16 32, i16 18080, i16 -32768, i16 17444, i16 34, i16 16385, i16 -32768, i16 17444, i16 34, i16 18080, i16 -32768, i16 17444, i16 35, i16 16385, i16 -32768, i16 17444, i16 35, i16 18080, i16 -32768, i16 17444, i16 36, i16 16385, i16 -32768, i16 17444, i16 36, i16 18080, i16 -32768, i16 17444, i16 38, i16 16385, i16 -32768, i16 17444, i16 38, i16 18080, i16 -32768, i16 17444, i16 40, i16 16385, i16 -32768, i16 17444, i16 40, i16 18080, i16 -32768, i16 17444, i16 48, i16 16385, i16 -32768, i16 17444, i16 48, i16 18080, i16 -32768, i16 17444, i16 53, i16 16385, i16 -32768, i16 17444, i16 53, i16 18080, i16 -32768, i16 17444, i16 54, i16 16385, i16 -32768, i16 17444, i16 54, i16 18080, i16 -32768, i16 17444, i16 57, i16 16385, i16 -32768, i16 17444, i16 57, i16 18080, i16 -32768, i16 17444, i16 59, i16 16385, i16 -32768, i16 17444, i16 59, i16 18080, i16 -32768, i16 17444, i16 60, i16 16385, i16 -32768, i16 17444, i16 60, i16 18080, i16 -32768, i16 17444, i16 61, i16 16385, i16 -32768, i16 17444, i16 61, i16 18080, i16 -32768, i16 17444, i16 62, i16 16385, i16 -32768, i16 17444, i16 62, i16 18080, i16 -32768, i16 17444, i16 63, i16 16385, i16 -32768, i16 17444, i16 63, i16 18080, i16 -32768, i16 17444, i16 64, i16 16385, i16 -32768, i16 17444, i16 64, i16 18080, i16 -32768, i16 17501, i16 2, i16 18080, i16 -32768, i16 17501, i16 28, i16 16385, i16 -32768, i16 17501, i16 28, i16 18080, i16 -32768, i16 17501, i16 39, i16 16385, i16 -32768, i16 17501, i16 39, i16 18080, i16 -32768, i16 18254, i16 5, i16 16385, i16 -32768, i16 18254, i16 5, i16 18080, i16 -32768, i16 18254, i16 16, i16 16385, i16 -32768, i16 18254, i16 16, i16 18080, i16 -32768, i16 18254, i16 28, i16 16385, i16 -32768, i16 18254, i16 28, i16 18080, i16 -32768, i16 18254, i16 34, i16 16385, i16 -32768, i16 18254, i16 34, i16 18080, i16 -32768, i16 18254, i16 35, i16 16385, i16 -32768, i16 18254, i16 35, i16 18080, i16 -32768, i16 18254, i16 39, i16 16385, i16 -32768, i16 18254, i16 39, i16 18080, i16 -32768, i16 18254, i16 40, i16 16385, i16 -32768, i16 18254, i16 40, i16 18080, i16 -32768, i16 18259, i16 16, i16 16385, i16 -32768, i16 18259, i16 16, i16 18080, i16 -32768, i16 18259, i16 40, i16 16385, i16 -32768, i16 18259, i16 40, i16 18080, i16 -32768, i16 18259, i16 42, i16 16385, i16 -32768, i16 18259, i16 42, i16 18080, i16 -32768, i16 18259, i16 58, i16 16385, i16 -32768, i16 18259, i16 58, i16 18080, i16 -32768, i16 32766, i16 1, i16 16450, i16 -32768, i16 17531, i16 1, i16 16451, i16 -32768, i16 17531, i16 1696, i16 16450, i16 -32768, i16 17531, i16 1696, i16 16451, i16 -32768, i16 17535, i16 1696, i16 16450, i16 -32768, i16 17537, i16 1696, i16 16450, i16 -32768, i16 17539, i16 1696, i16 16450, i16 -32768, i16 17541, i16 1, i16 16451, i16 -32768, i16 17541, i16 1696, i16 16450, i16 -32768, i16 17541, i16 1696, i16 16451, i16 -32768, i16 17545, i16 1696, i16 16450, i16 -32768, i16 17547, i16 1, i16 16451, i16 -32768, i16 17547, i16 1696, i16 16450, i16 -32768, i16 17547, i16 1696, i16 16451, i16 -32768, i16 17551, i16 1696, i16 16450, i16 -32768, i16 17553, i16 1, i16 16451, i16 -32768, i16 17553, i16 1, i16 16452, i16 -32768, i16 17553, i16 1696, i16 16450, i16 -32768, i16 17553, i16 1696, i16 16451, i16 -32768, i16 17553, i16 1696, i16 16452, i16 -32768, i16 17553, i16 1696, i16 16453, i16 -32768, i16 17560, i16 1696, i16 16450, i16 -32768, i16 17562, i16 1696, i16 16450, i16 -32768, i16 17564, i16 1696, i16 16450, i16 -32768, i16 17566, i16 1696, i16 16450, i16 -32768, i16 17568, i16 1696, i16 16450, i16 -32768, i16 17570, i16 1, i16 16451, i16 -32768, i16 17570, i16 1696, i16 16450, i16 -32768, i16 17570, i16 1696, i16 16451, i16 -32768, i16 17574, i16 1696, i16 16450, i16 -32768, i16 17576, i16 1696, i16 16450, i16 -32768, i16 17578, i16 1696, i16 16450, i16 -32768, i16 17578, i16 1696, i16 32766, i16 -32768, i16 17581, i16 1696, i16 16450, i16 -32768, i16 17583, i16 1, i16 16451, i16 -32768, i16 17583, i16 1, i16 16452, i16 -32768, i16 17583, i16 1696, i16 16450, i16 -32768, i16 17583, i16 1696, i16 16451, i16 -32768, i16 17583, i16 1696, i16 16452, i16 -32768, i16 17583, i16 1696, i16 16453, i16 -32768, i16 17590, i16 1696, i16 16450, i16 -32768, i16 17592, i16 1696, i16 16450, i16 -32768, i16 17594, i16 1696, i16 16450, i16 -32768, i16 17596, i16 1, i16 16451, i16 -32768, i16 17596, i16 1696, i16 16450, i16 -32768, i16 17596, i16 1696, i16 16451, i16 -32768, i16 32766, i16 70, i16 16385, i16 -32768, i16 17600, i16 70, i16 18080, i16 -32768, i16 17602, i16 70, i16 18080, i16 -32768, i16 17604, i16 70, i16 18080, i16 -32768, i16 17606, i16 70, i16 18080, i16 -32768, i16 17608, i16 70, i16 18080, i16 -32768, i16 17610, i16 70, i16 18080, i16 -32768, i16 17612, i16 70, i16 18080, i16 -32768, i16 17614, i16 70, i16 18080, i16 -32768, i16 17616, i16 70, i16 18080, i16 -32768, i16 17618, i16 70, i16 18080, i16 -32768, i16 17620, i16 70, i16 18080, i16 -32768, i16 17622, i16 70, i16 18080, i16 -32768, i16 17624, i16 70, i16 18080, i16 -32768, i16 17626, i16 70, i16 18080, i16 -32768, i16 17628, i16 70, i16 18080, i16 -32768, i16 17630, i16 70, i16 18080, i16 -32768, i16 17632, i16 70, i16 18080, i16 -32768, i16 17634, i16 70, i16 18080, i16 -32768, i16 17636, i16 70, i16 18080, i16 -32768, i16 17638, i16 70, i16 18080, i16 -32768, i16 17640, i16 70, i16 18080, i16 -32768, i16 17642, i16 70, i16 18080, i16 -32768, i16 17644, i16 70, i16 18080, i16 -32768, i16 17646, i16 70, i16 18080, i16 -32768, i16 17648, i16 70, i16 18080, i16 -32768, i16 17650, i16 70, i16 18080, i16 -32768, i16 17652, i16 70, i16 18080, i16 -32768, i16 17654, i16 70, i16 18080, i16 -32768, i16 17656, i16 70, i16 18080, i16 -32768, i16 17658, i16 70, i16 18080, i16 -32768, i16 17660, i16 70, i16 18080, i16 -32768, i16 17662, i16 70, i16 18080, i16 -32768, i16 17664, i16 70, i16 18080, i16 -32768, i16 17666, i16 70, i16 18080, i16 -32768, i16 17668, i16 70, i16 18080, i16 -32768, i16 17670, i16 70, i16 18080, i16 -32768, i16 17672, i16 70, i16 18080, i16 -32768, i16 17674, i16 70, i16 18080, i16 -32768, i16 17676, i16 70, i16 18080, i16 -32768, i16 17678, i16 70, i16 18080, i16 -32768, i16 17680, i16 70, i16 18080, i16 -32768, i16 32766, i16 70, i16 18080, i16 -32768, i16 17682, i16 70, i16 16385, i16 -32768, i16 17684, i16 70, i16 18080, i16 -32768, i16 17686, i16 70, i16 16385, i16 -32768, i16 17688, i16 70, i16 18080, i16 -32768, i16 17690, i16 70, i16 18080, i16 -32768, i16 17692, i16 70, i16 18080, i16 -32768, i16 17694, i16 70, i16 18080, i16 -32768, i16 17696, i16 70, i16 18080, i16 -32768, i16 17698, i16 70, i16 18080, i16 -32768, i16 17700, i16 70, i16 18080, i16 -32768, i16 17702, i16 70, i16 18080, i16 -32768, i16 32766, i16 0, i16 16384, i16 -32768, i16 32766, i16 16382, i16 16384, i16 -32768, i16 17736, i16 16382, i16 16384, i16 -32768, i16 17735, i16 16382, i16 16384, i16 -32768, i16 17745, i16 16382, i16 16384, i16 -32768, i16 17749, i16 16382, i16 16384, i16 -32768, i16 17756, i16 16382, i16 16384, i16 -32768, i16 17764, i16 16382, i16 16384, i16 -32768, i16 17769, i16 16382, i16 16384, i16 -32768, i16 17774, i16 16382, i16 16384, i16 -32768, i16 17779, i16 16382, i16 16384, i16 -32768, i16 17784, i16 16382, i16 16384, i16 -32768, i16 17787, i16 16382, i16 16384, i16 -32768, i16 17790, i16 16382, i16 16384, i16 -32768, i16 17793, i16 16382, i16 16384, i16 -32768, i16 17796, i16 16382, i16 16384, i16 -32768, i16 17801, i16 16382, i16 16384, i16 -32768, i16 17806, i16 16382, i16 16384, i16 -32768, i16 17811, i16 16382, i16 16384, i16 -32768, i16 17816, i16 16382, i16 16384, i16 -32768, i16 17821, i16 16382, i16 16384, i16 -32768, i16 17826, i16 16382, i16 16384, i16 -32768, i16 17831, i16 16382, i16 16384, i16 -32768, i16 17836, i16 16382, i16 16384, i16 -32768, i16 17841, i16 16382, i16 16384, i16 -32768, i16 17846, i16 16382, i16 16384, i16 -32768, i16 17851, i16 16382, i16 16384, i16 -32768, i16 17856, i16 16382, i16 16384, i16 -32768, i16 17861, i16 16382, i16 16384, i16 -32768, i16 17866, i16 16382, i16 16384, i16 -32768, i16 17871, i16 16382, i16 16384, i16 -32768, i16 17874, i16 16382, i16 16384, i16 -32768, i16 17877, i16 16382, i16 16384, i16 -32768, i16 16384, i16 0, i16 32766, i16 -32768, i16 18115, i16 16382, i16 16384, i16 -32768, i16 18124, i16 16382, i16 16384, i16 -32768, i16 18125, i16 16382, i16 16384, i16 -32768, i16 18126, i16 16382, i16 16384, i16 -32768, i16 18127, i16 16382, i16 16384, i16 -32768, i16 18128, i16 16382, i16 16384, i16 -32768, i16 18129, i16 16382, i16 16384, i16 -32768, i16 18130, i16 16382, i16 16384, i16 -32768, i16 18131, i16 16382, i16 16384, i16 -32768, i16 18132, i16 16382, i16 16384, i16 -32768, i16 18599, i16 2218, i16 18605, i16 -32768, i16 18599, i16 2224, i16 18611, i16 -32768, i16 18614, i16 2233, i16 18620, i16 -32768, i16 18614, i16 2239, i16 18626, i16 -32768, i16 18629, i16 2248, i16 18635, i16 -32768, i16 18629, i16 2254, i16 18641, i16 -32768, i16 18644, i16 2263, i16 18650, i16 -32768, i16 18644, i16 2269, i16 18656, i16 -32768, i16 17909, i16 16382, i16 16384, i16 -32768, i16 17913, i16 16382, i16 16384, i16 -32768, i16 17917, i16 16382, i16 16384, i16 -32768, i16 17922, i16 16382, i16 16384, i16 -32768, i16 17926, i16 16382, i16 16384, i16 -32768, i16 17930, i16 16382, i16 16384, i16 -32768, i16 17935, i16 16382, i16 16384, i16 -32768, i16 17939, i16 16382, i16 16384, i16 -32768, i16 17943, i16 16382, i16 16384, i16 -32768, i16 17948, i16 16382, i16 16384, i16 -32768, i16 17952, i16 16382, i16 16384, i16 -32768, i16 17956, i16 16382, i16 16384, i16 -32768, i16 17960, i16 16382, i16 16384, i16 -32768, i16 17964, i16 16382, i16 16384, i16 -32768, i16 17968, i16 16382, i16 16384, i16 -32768, i16 17972, i16 16382, i16 16384, i16 -32768, i16 17976, i16 16382, i16 16384, i16 -32768, i16 17980, i16 16382, i16 16384, i16 -32768, i16 17986, i16 16382, i16 16384, i16 -32768, i16 17990, i16 16382, i16 16384, i16 -32768, i16 17994, i16 16382, i16 16384, i16 -32768, i16 17996, i16 16382, i16 16384, i16 -32768, i16 17998, i16 16382, i16 16384, i16 -32768, i16 18000, i16 16382, i16 16384, i16 -32768, i16 18002, i16 16382, i16 16384, i16 -32768, i16 18004, i16 16382, i16 16384, i16 -32768, i16 18010, i16 16382, i16 16384, i16 -32768, i16 18016, i16 16382, i16 16384, i16 -32768, i16 18022, i16 16382, i16 16384, i16 -32768, i16 18028, i16 16382, i16 16384, i16 -32768, i16 18034, i16 16382, i16 16384, i16 -32768, i16 18036, i16 16382, i16 16384, i16 -32768, i16 18038, i16 16382, i16 16384, i16 -32768, i16 18040, i16 16382, i16 16384, i16 -32768, i16 18042, i16 16382, i16 16384, i16 -32768, i16 18044, i16 16382, i16 16384, i16 -32768, i16 18048, i16 16382, i16 16384, i16 -32768, i16 18052, i16 16382, i16 16384, i16 -32768, i16 18056, i16 16382, i16 16384, i16 -32768, i16 18058, i16 16382, i16 16384, i16 -32768, i16 18060, i16 16382, i16 16384, i16 -32768, i16 18062, i16 16382, i16 16384, i16 -32768, i16 18064, i16 16382, i16 16384, i16 -32768, i16 18066, i16 16382, i16 16384, i16 -32768, i16 18070, i16 16382, i16 16384, i16 -32768, i16 18072, i16 16382, i16 16384, i16 -32768, i16 18074, i16 16382, i16 16384, i16 -32768, i16 18076, i16 16382, i16 16384, i16 -32768, i16 17065, i16 3, i16 16385, i16 -32768, i16 17065, i16 3, i16 18080, i16 -32768, i16 17065, i16 25, i16 16385, i16 -32768, i16 17065, i16 25, i16 18080, i16 -32768, i16 17065, i16 26, i16 16385, i16 -32768, i16 17065, i16 26, i16 18080, i16 -32768, i16 17065, i16 28, i16 16385, i16 -32768, i16 17065, i16 28, i16 18080, i16 -32768, i16 17065, i16 48, i16 16385, i16 -32768, i16 17065, i16 48, i16 18080, i16 -32768, i16 17065, i16 50, i16 16385, i16 -32768, i16 17065, i16 50, i16 18080, i16 -32768, i16 18659, i16 2278, i16 18578, i16 -32768, i16 18659, i16 2278, i16 18581, i16 -32768, i16 18659, i16 2281, i16 18578, i16 -32768, i16 18659, i16 2281, i16 18581, i16 -32768, i16 18659, i16 2284, i16 18578, i16 -32768, i16 18659, i16 2284, i16 18581, i16 -32768, i16 17122, i16 3, i16 16385, i16 -32768, i16 17122, i16 3, i16 18080, i16 -32768, i16 17122, i16 22, i16 16385, i16 -32768, i16 17122, i16 22, i16 18080, i16 -32768, i16 18164, i16 2, i16 18080, i16 -32768, i16 17133, i16 42, i16 16385, i16 -32768, i16 17133, i16 42, i16 18080, i16 -32768, i16 17148, i16 3, i16 16385, i16 -32768, i16 17148, i16 3, i16 18080, i16 -32768, i16 17148, i16 48, i16 16385, i16 -32768, i16 17148, i16 48, i16 18080, i16 -32768, i16 17148, i16 50, i16 16385, i16 -32768, i16 17148, i16 50, i16 18080, i16 -32768, i16 17205, i16 44, i16 16385, i16 -32768, i16 17205, i16 44, i16 18080, i16 -32768, i16 18176, i16 2, i16 18080, i16 -32768, i16 18179, i16 2, i16 16385, i16 -32768, i16 32766, i16 2, i16 18080, i16 -32768, i16 18178, i16 2, i16 16385, i16 -32768, i16 18178, i16 3, i16 16385, i16 -32768, i16 18178, i16 3, i16 18080, i16 -32768, i16 18178, i16 50, i16 16385, i16 -32768, i16 18178, i16 50, i16 18080, i16 -32768, i16 17272, i16 44, i16 16385, i16 -32768, i16 17272, i16 44, i16 18080, i16 -32768, i16 17285, i16 42, i16 16385, i16 -32768, i16 17285, i16 42, i16 18080, i16 -32768, i16 17285, i16 44, i16 16385, i16 -32768, i16 17285, i16 44, i16 18080, i16 -32768, i16 17311, i16 3, i16 16385, i16 -32768, i16 17311, i16 3, i16 18080, i16 -32768, i16 17311, i16 35, i16 16385, i16 -32768, i16 17311, i16 35, i16 18080, i16 -32768, i16 17311, i16 44, i16 16385, i16 -32768, i16 17311, i16 44, i16 18080, i16 -32768, i16 18671, i16 2290, i16 18578, i16 -32768, i16 18671, i16 2290, i16 18581, i16 -32768, i16 17325, i16 3, i16 16385, i16 -32768, i16 17325, i16 3, i16 18080, i16 -32768, i16 17325, i16 33, i16 16385, i16 -32768, i16 17325, i16 33, i16 18080, i16 -32768, i16 17325, i16 35, i16 16385, i16 -32768, i16 17325, i16 35, i16 18080, i16 -32768, i16 17325, i16 42, i16 16385, i16 -32768, i16 17325, i16 42, i16 18080, i16 -32768, i16 17325, i16 43, i16 16385, i16 -32768, i16 17325, i16 43, i16 18080, i16 -32768, i16 17325, i16 50, i16 16385, i16 -32768, i16 17325, i16 50, i16 18080, i16 -32768, i16 18212, i16 2, i16 18080, i16 -32768, i16 18677, i16 2296, i16 18578, i16 -32768, i16 18677, i16 2296, i16 18581, i16 -32768, i16 17389, i16 44, i16 16385, i16 -32768, i16 17389, i16 44, i16 18080, i16 -32768, i16 17408, i16 3, i16 16385, i16 -32768, i16 17408, i16 3, i16 18080, i16 -32768, i16 17408, i16 22, i16 16385, i16 -32768, i16 17408, i16 22, i16 18080, i16 -32768, i16 18222, i16 2, i16 18080, i16 -32768, i16 18683, i16 2302, i16 18578, i16 -32768, i16 18683, i16 2302, i16 18581, i16 -32768, i16 17444, i16 3, i16 16385, i16 -32768, i16 17444, i16 3, i16 18080, i16 -32768, i16 17444, i16 33, i16 16385, i16 -32768, i16 17444, i16 33, i16 18080, i16 -32768, i16 17444, i16 50, i16 16385, i16 -32768, i16 17444, i16 50, i16 18080, i16 -32768, i16 18232, i16 2, i16 18080, i16 -32768, i16 18234, i16 2, i16 18080, i16 -32768, i16 18234, i16 35, i16 16385, i16 -32768, i16 18234, i16 35, i16 18080, i16 -32768, i16 18234, i16 40, i16 16385, i16 -32768, i16 18234, i16 40, i16 18080, i16 -32768, i16 18240, i16 2, i16 18080, i16 -32768, i16 18240, i16 3, i16 16385, i16 -32768, i16 18240, i16 3, i16 18080, i16 -32768, i16 18240, i16 5, i16 16385, i16 -32768, i16 18240, i16 5, i16 18080, i16 -32768, i16 18240, i16 16, i16 16385, i16 -32768, i16 18240, i16 16, i16 18080, i16 -32768, i16 18240, i16 28, i16 16385, i16 -32768, i16 18240, i16 28, i16 18080, i16 -32768, i16 18240, i16 39, i16 16385, i16 -32768, i16 18240, i16 39, i16 18080, i16 -32768, i16 18240, i16 40, i16 16385, i16 -32768, i16 18240, i16 40, i16 18080, i16 -32768, i16 18254, i16 2, i16 18080, i16 -32768, i16 18254, i16 3, i16 16385, i16 -32768, i16 18254, i16 3, i16 18080, i16 -32768, i16 18259, i16 2, i16 18080, i16 -32768, i16 18259, i16 3, i16 16385, i16 -32768, i16 18259, i16 3, i16 18080, i16 -32768, i16 18259, i16 22, i16 16385, i16 -32768, i16 18259, i16 22, i16 18080, i16 -32768, i16 18259, i16 39, i16 16385, i16 -32768, i16 18259, i16 39, i16 18080, i16 -32768, i16 17272, i16 16382, i16 18080, i16 -32768, i16 17122, i16 44, i16 16385, i16 -32768, i16 17122, i16 44, i16 18080, i16 -32768, i16 17205, i16 7, i16 16385, i16 -32768, i16 17205, i16 7, i16 18080, i16 -32768, i16 18178, i16 39, i16 16385, i16 -32768, i16 18178, i16 39, i16 18080, i16 -32768, i16 17408, i16 44, i16 16385, i16 -32768, i16 17408, i16 44, i16 18080, i16 -32768, i16 32766, i16 16382, i16 16386, i16 -32767, i16 18234, i16 1850, i16 16386, i16 -31072, i16 18234, i16 1850, i16 16419, i16 -32767, i16 18234, i16 1850, i16 16419, i16 -31072, i16 18234, i16 1850, i16 16424, i16 -32767, i16 18234, i16 1850, i16 16424, i16 -31072, i16 18240, i16 1856, i16 16386, i16 -31072, i16 18240, i16 1856, i16 16387, i16 -32767, i16 18240, i16 1856, i16 16387, i16 -31072, i16 18240, i16 1856, i16 16389, i16 -32767, i16 18240, i16 1856, i16 16389, i16 -31072, i16 18240, i16 1856, i16 16400, i16 -32767, i16 18240, i16 1856, i16 16400, i16 -31072, i16 18240, i16 1856, i16 16412, i16 -32767, i16 18240, i16 1856, i16 16412, i16 -31072, i16 18240, i16 1856, i16 16423, i16 -32767, i16 18240, i16 1856, i16 16423, i16 -31072, i16 18240, i16 1856, i16 16424, i16 -32767, i16 18240, i16 1856, i16 16424, i16 -31072, i16 18254, i16 73, i16 16385, i16 -32768, i16 18254, i16 73, i16 18080, i16 -32768, i16 18144, i16 2, i16 18080, i16 -32768, i16 18144, i16 3, i16 16385, i16 -32768, i16 18144, i16 3, i16 18080, i16 -32768, i16 18148, i16 2, i16 18080, i16 -32768, i16 18148, i16 16382, i16 16385, i16 -32768, i16 18148, i16 1770, i16 18080, i16 -32768, i16 18148, i16 1772, i16 18080, i16 -32768, i16 18148, i16 1774, i16 18080, i16 -32768, i16 18212, i16 16382, i16 16385, i16 -32768, i16 18212, i16 1822, i16 18080, i16 -32768, i16 18212, i16 1824, i16 18080, i16 -32768, i16 18212, i16 35, i16 16385, i16 -32768, i16 18212, i16 35, i16 18080, i16 -32768, i16 18163, i16 2, i16 16385, i16 -32768, i16 17325, i16 28, i16 16385, i16 -32768, i16 17325, i16 28, i16 18080, i16 -32768, i16 18221, i16 2, i16 16385, i16 -32768, i16 17444, i16 28, i16 16385, i16 -32768, i16 17444, i16 28, i16 18080, i16 -32768, i16 18264, i16 2, i16 16385, i16 -32768, i16 18150, i16 2, i16 18080, i16 -32768, i16 18160, i16 2, i16 18080, i16 -32768, i16 18170, i16 2, i16 18080, i16 -32768, i16 18188, i16 2, i16 18080, i16 -32768, i16 18192, i16 2, i16 18080, i16 -32768, i16 18200, i16 2, i16 18080, i16 -32768, i16 18218, i16 2, i16 18080, i16 -32768, i16 18261, i16 2, i16 18080, i16 -32768, i16 18265, i16 2, i16 18080, i16 -32768, i16 18254, i16 16382, i16 16385, i16 -32768, i16 18254, i16 1848, i16 18080, i16 -32768, i16 18254, i16 1844, i16 18080, i16 -32768, i16 18154, i16 2, i16 18080, i16 -32768, i16 18154, i16 3, i16 16385, i16 -32768, i16 18154, i16 3, i16 18080, i16 -32768, i16 18154, i16 50, i16 16385, i16 -32768, i16 18154, i16 50, i16 18080, i16 -32768, i16 18154, i16 73, i16 16385, i16 -32768, i16 18154, i16 73, i16 18080, i16 -32768, i16 18206, i16 2, i16 18080, i16 -32768, i16 18206, i16 3, i16 16385, i16 -32768, i16 18206, i16 3, i16 18080, i16 -32768, i16 18206, i16 28, i16 16385, i16 -32768, i16 18206, i16 28, i16 18080, i16 -32768, i16 18206, i16 33, i16 16385, i16 -32768, i16 18206, i16 33, i16 18080, i16 -32768, i16 18144, i16 16382, i16 16385, i16 -32768, i16 18144, i16 1883, i16 18078, i16 -32768, i16 18144, i16 1883, i16 18079, i16 -32768, i16 18144, i16 1883, i16 18080, i16 -32768, i16 18144, i16 1762, i16 18080, i16 -32768, i16 18152, i16 2, i16 18080, i16 -32768, i16 18162, i16 2, i16 18080, i16 -32768, i16 18172, i16 2, i16 18080, i16 -32768, i16 18174, i16 2, i16 18080, i16 -32768, i16 18183, i16 2, i16 18080, i16 -32768, i16 18185, i16 2, i16 18080, i16 -32768, i16 18190, i16 2, i16 18080, i16 -32768, i16 18196, i16 2, i16 18080, i16 -32768, i16 18210, i16 2, i16 18080, i16 -32768, i16 18216, i16 2, i16 18080, i16 -32768, i16 18220, i16 2, i16 18080, i16 -32768, i16 18230, i16 2, i16 18080, i16 -32768, i16 18263, i16 2, i16 18080, i16 -32768, i16 18081, i16 16382, i16 16384, i16 -32768, i16 17133, i16 16382, i16 16385, i16 -32768, i16 17133, i16 1887, i16 18080, i16 -32768, i16 17386, i16 73, i16 18080, i16 -32768, i16 18143, i16 2, i16 16385, i16 -32768, i16 18272, i16 2, i16 16385, i16 -32768, i16 18169, i16 2, i16 16385, i16 -32768, i16 17205, i16 8, i16 16385, i16 -32768, i16 17205, i16 8, i16 18080, i16 -32768, i16 18182, i16 2, i16 16385, i16 -32768, i16 17311, i16 16382, i16 16385, i16 -32768, i16 17311, i16 1814, i16 18080, i16 -32768, i16 18201, i16 2, i16 16385, i16 -32768, i16 18227, i16 2, i16 16385, i16 -32768, i16 18257, i16 2, i16 16385, i16 -32768, i16 18225, i16 2, i16 16385, i16 -32768, i16 18155, i16 2, i16 16385, i16 -32768, i16 18155, i16 73, i16 18080, i16 -32768, i16 18155, i16 73, i16 16385, i16 -32768, i16 18213, i16 2, i16 16385, i16 -32768, i16 18213, i16 73, i16 18080, i16 -32768, i16 18213, i16 73, i16 16385, i16 -32768, i16 16384, i16 0, i16 16400, i16 -32768, i16 16384, i16 0, i16 16434, i16 -32768, i16 16384, i16 0, i16 16389, i16 -32768, i16 18311, i16 2, i16 18078, i16 -32768, i16 18311, i16 2, i16 18079, i16 -32768, i16 18311, i16 2, i16 18080, i16 -32768, i16 18166, i16 2, i16 18080, i16 -32768, i16 18315, i16 2, i16 18078, i16 -32768, i16 18315, i16 2, i16 18079, i16 -32768, i16 18315, i16 2, i16 18080, i16 -32768, i16 18319, i16 2, i16 18078, i16 -32768, i16 18319, i16 2, i16 18079, i16 -32768, i16 18319, i16 2, i16 18080, i16 -32768, i16 18194, i16 2, i16 18080, i16 -32768, i16 32766, i16 22, i16 16385, i16 -16386, i16 18220, i16 22, i16 18080, i16 -16386, i16 32766, i16 2, i16 16385, i16 -16386, i16 18259, i16 2, i16 18080, i16 -16386, i16 18259, i16 3, i16 16385, i16 -16386, i16 18259, i16 3, i16 18080, i16 -16386, i16 18259, i16 39, i16 16385, i16 -16386, i16 18259, i16 39, i16 18080, i16 -16386, i16 18259, i16 22, i16 16385, i16 -16386, i16 18259, i16 22, i16 18080, i16 -16386, i16 18234, i16 16382, i16 16386, i16 -32767, i16 18234, i16 1856, i16 16386, i16 -31072, i16 18234, i16 1856, i16 16387, i16 -32767, i16 18234, i16 1856, i16 16387, i16 -31072, i16 18234, i16 1856, i16 16389, i16 -32767, i16 18234, i16 1856, i16 16389, i16 -31072, i16 18234, i16 1856, i16 16400, i16 -32767, i16 18234, i16 1856, i16 16400, i16 -31072, i16 18234, i16 1856, i16 16434, i16 -32767, i16 18234, i16 1856, i16 16434, i16 -31072, i16 18234, i16 1856, i16 16423, i16 -32767, i16 18234, i16 1856, i16 16423, i16 -31072, i16 18234, i16 1856, i16 16412, i16 -32767, i16 18234, i16 1856, i16 16412, i16 -31072, i16 32766, i16 35, i16 16385, i16 -16386, i16 18204, i16 35, i16 18080, i16 -16386, i16 32766, i16 28, i16 16385, i16 -16386, i16 18148, i16 28, i16 18080, i16 -16386, i16 18212, i16 28, i16 18080, i16 -16386, i16 18232, i16 28, i16 18080, i16 -16386, i16 18323, i16 2, i16 18078, i16 -32768, i16 18323, i16 2, i16 18079, i16 -32768, i16 18323, i16 2, i16 18080, i16 -32768, i16 18327, i16 2, i16 18078, i16 -32768, i16 18327, i16 2, i16 18079, i16 -32768, i16 18327, i16 2, i16 18080, i16 -32768, i16 32766, i16 32766, i16 32766, i16 32766, i16 16384, i16 16384, i16 16384, i16 32766, i16 32766, i16 16389, i16 16385, i16 32766, i16 16470, i16 16389, i16 16388, i16 16470, i16 16470, i16 16389, i16 32766, i16 16470, i16 16470, i16 16392, i16 16385, i16 16470, i16 16470, i16 16392, i16 16388, i16 16470, i16 16470, i16 16393, i16 16385, i16 16470, i16 16470, i16 16393, i16 16388, i16 16470, i16 16470, i16 16405, i16 16385, i16 16470, i16 16470, i16 16405, i16 16388, i16 16470, i16 16470, i16 16397, i16 16385, i16 16470, i16 16470, i16 16397, i16 16388, i16 16470, i16 16470, i16 16408, i16 16385, i16 16470, i16 16470, i16 16408, i16 16388, i16 16470, i16 16470, i16 16409, i16 16385, i16 16470, i16 16470, i16 16409, i16 16388, i16 16470, i16 16470, i16 16411, i16 16385, i16 16470, i16 16470, i16 16411, i16 16388, i16 16470, i16 16470, i16 16410, i16 16385, i16 16470, i16 16470, i16 16410, i16 16388, i16 16470, i16 16470, i16 16435, i16 16385, i16 16470, i16 16470, i16 16435, i16 16388, i16 16470, i16 16470, i16 16398, i16 16385, i16 16470, i16 16470, i16 16398, i16 16388, i16 16470, i16 16470, i16 16394, i16 16385, i16 16470, i16 16470, i16 16394, i16 16388, i16 16470, i16 16470, i16 16412, i16 16385, i16 16470, i16 16470, i16 16412, i16 16388, i16 16470, i16 16470, i16 16413, i16 16385, i16 16470, i16 16470, i16 16413, i16 16388, i16 16470, i16 16470, i16 16415, i16 16385, i16 16470, i16 16470, i16 16415, i16 16388, i16 16470, i16 16470, i16 16414, i16 16385, i16 16470, i16 16470, i16 16414, i16 16388, i16 16470, i16 16470, i16 16436, i16 16385, i16 16470, i16 16470, i16 16436, i16 16388, i16 16470, i16 16470, i16 16395, i16 16385, i16 16470, i16 16470, i16 16395, i16 16388, i16 16470, i16 16470, i16 16399, i16 16385, i16 16470, i16 16470, i16 16399, i16 16388, i16 16470, i16 16470, i16 16417, i16 16385, i16 16470, i16 16470, i16 16417, i16 16388, i16 16470, i16 16470, i16 16450, i16 16385, i16 16470, i16 16470, i16 16450, i16 16388, i16 16470, i16 16470, i16 16402, i16 16385, i16 16470, i16 16470, i16 16402, i16 16388, i16 16470, i16 16470, i16 16426, i16 16385, i16 16470, i16 16470, i16 16426, i16 16388, i16 16470, i16 16470, i16 16400, i16 16385, i16 16470, i16 16470, i16 16400, i16 16388, i16 16470, i16 16470, i16 16396, i16 16385, i16 16470, i16 16470, i16 16396, i16 16388, i16 16470, i16 16470, i16 16444, i16 16385, i16 16470, i16 16470, i16 16444, i16 16388, i16 16470, i16 16470, i16 16449, i16 16385, i16 16470, i16 16470, i16 16449, i16 16388, i16 16470, i16 16470, i16 16391, i16 16385, i16 16470, i16 16470, i16 16391, i16 16388, i16 16470, i16 16470, i16 16418, i16 16385, i16 16470, i16 16470, i16 16418, i16 16388, i16 16470, i16 18628, i16 18631, i16 18517, i16 18628, i16 18628, i16 18631, i16 18425, i16 18628, i16 18628, i16 18634, i16 18517, i16 18628, i16 18628, i16 18634, i16 18425, i16 18628, i16 18628, i16 18637, i16 18517, i16 18628, i16 18628, i16 18637, i16 18425, i16 18628, i16 16536, i16 16389, i16 16388, i16 16536, i16 16536, i16 16390, i16 16385, i16 16536, i16 16536, i16 16390, i16 16388, i16 16536, i16 16536, i16 16444, i16 16385, i16 16536, i16 16536, i16 16444, i16 16388, i16 16536, i16 16536, i16 16445, i16 16385, i16 16536, i16 16536, i16 16445, i16 16388, i16 16536, i16 16545, i16 16389, i16 16388, i16 16545, i16 16545, i16 16392, i16 16385, i16 16545, i16 16545, i16 16392, i16 16388, i16 16545, i16 16545, i16 16394, i16 16385, i16 16545, i16 16545, i16 16394, i16 16388, i16 16545, i16 16545, i16 16400, i16 16385, i16 16545, i16 16545, i16 16400, i16 16388, i16 16545, i16 16545, i16 16390, i16 16385, i16 16545, i16 16545, i16 16390, i16 16388, i16 16545, i16 16545, i16 16448, i16 16385, i16 16545, i16 16545, i16 16448, i16 16388, i16 16545, i16 16545, i16 16437, i16 16385, i16 16545, i16 16545, i16 16437, i16 16388, i16 16545, i16 32766, i16 16395, i16 16385, i16 32766, i16 16559, i16 16395, i16 16388, i16 16559, i16 16562, i16 16389, i16 16388, i16 16562, i16 16562, i16 16395, i16 16385, i16 16562, i16 16562, i16 16395, i16 16388, i16 16562, i16 16562, i16 16390, i16 16385, i16 16562, i16 16562, i16 16390, i16 16388, i16 16562, i16 16562, i16 16444, i16 16385, i16 16562, i16 16562, i16 16444, i16 16388, i16 16562, i16 16562, i16 16452, i16 16385, i16 16562, i16 16562, i16 16452, i16 16388, i16 16562, i16 16562, i16 16448, i16 16385, i16 16562, i16 16562, i16 16448, i16 16388, i16 16562, i16 16562, i16 16421, i16 16385, i16 16562, i16 16562, i16 16421, i16 16388, i16 16562, i16 16562, i16 16445, i16 16385, i16 16562, i16 16562, i16 16445, i16 16388, i16 16562, i16 16579, i16 16389, i16 16388, i16 16579, i16 16579, i16 16392, i16 16385, i16 16579, i16 16579, i16 16392, i16 16388, i16 16579, i16 16579, i16 16393, i16 16385, i16 16579, i16 16579, i16 16393, i16 16388, i16 16579, i16 16579, i16 16405, i16 16385, i16 16579, i16 16579, i16 16405, i16 16388, i16 16579, i16 16579, i16 16397, i16 16385, i16 16579, i16 16579, i16 16397, i16 16388, i16 16579, i16 16579, i16 16398, i16 16385, i16 16579, i16 16579, i16 16398, i16 16388, i16 16579, i16 16579, i16 16394, i16 16385, i16 16579, i16 16579, i16 16394, i16 16388, i16 16579, i16 16579, i16 16412, i16 16385, i16 16579, i16 16579, i16 16412, i16 16388, i16 16579, i16 16579, i16 16413, i16 16385, i16 16579, i16 16579, i16 16413, i16 16388, i16 16579, i16 16579, i16 16415, i16 16385, i16 16579, i16 16579, i16 16415, i16 16388, i16 16579, i16 16579, i16 16414, i16 16385, i16 16579, i16 16579, i16 16414, i16 16388, i16 16579, i16 16579, i16 16436, i16 16385, i16 16579, i16 16579, i16 16436, i16 16388, i16 16579, i16 16579, i16 16395, i16 16385, i16 16579, i16 16579, i16 16395, i16 16388, i16 16579, i16 16579, i16 16402, i16 16385, i16 16579, i16 16579, i16 16402, i16 16388, i16 16579, i16 16579, i16 16400, i16 16385, i16 16579, i16 16579, i16 16400, i16 16388, i16 16579, i16 16579, i16 16396, i16 16385, i16 16579, i16 16579, i16 16396, i16 16388, i16 16579, i16 16579, i16 16446, i16 16385, i16 16579, i16 16579, i16 16446, i16 16388, i16 16579, i16 16579, i16 16390, i16 16385, i16 16579, i16 16579, i16 16390, i16 16388, i16 16579, i16 16579, i16 16444, i16 16385, i16 16579, i16 16579, i16 16444, i16 16388, i16 16579, i16 16579, i16 16439, i16 16385, i16 16579, i16 16579, i16 16439, i16 16388, i16 16579, i16 16579, i16 16449, i16 16385, i16 16579, i16 16579, i16 16449, i16 16388, i16 16579, i16 16579, i16 16391, i16 16385, i16 16579, i16 16579, i16 16391, i16 16388, i16 16579, i16 16579, i16 16419, i16 16385, i16 16579, i16 16579, i16 16419, i16 16388, i16 16579, i16 16579, i16 16420, i16 16385, i16 16579, i16 16579, i16 16420, i16 16388, i16 16579, i16 16579, i16 16421, i16 16385, i16 16579, i16 16579, i16 16421, i16 16388, i16 16579, i16 16630, i16 16389, i16 16388, i16 16630, i16 16630, i16 16400, i16 16385, i16 16630, i16 16630, i16 16400, i16 16388, i16 16630, i16 16630, i16 16390, i16 16385, i16 16630, i16 16630, i16 16390, i16 16388, i16 16630, i16 18640, i16 18643, i16 18646, i16 18640, i16 18649, i16 18643, i16 18652, i16 18649, i16 18655, i16 18643, i16 18658, i16 18655, i16 18661, i16 18665, i16 18669, i16 18661, i16 18673, i16 18665, i16 18677, i16 18673, i16 16642, i16 16389, i16 16388, i16 16642, i16 16642, i16 16392, i16 16385, i16 16642, i16 16642, i16 16392, i16 16388, i16 16642, i16 16642, i16 16397, i16 16385, i16 16642, i16 16642, i16 16397, i16 16388, i16 16642, i16 16642, i16 16394, i16 16385, i16 16642, i16 16642, i16 16394, i16 16388, i16 16642, i16 16642, i16 16395, i16 16385, i16 16642, i16 16642, i16 16395, i16 16388, i16 16642, i16 16642, i16 16390, i16 16385, i16 16642, i16 16642, i16 16390, i16 16388, i16 16642, i16 16642, i16 16452, i16 16385, i16 16642, i16 16642, i16 16452, i16 16388, i16 16642, i16 16642, i16 16448, i16 16385, i16 16642, i16 16642, i16 16448, i16 16388, i16 16642, i16 16642, i16 16391, i16 16385, i16 16642, i16 16642, i16 16391, i16 16388, i16 16642, i16 16661, i16 16389, i16 16388, i16 16661, i16 16661, i16 16447, i16 16385, i16 16661, i16 16661, i16 16447, i16 16388, i16 16661, i16 16661, i16 16394, i16 16385, i16 16661, i16 16661, i16 16394, i16 16388, i16 16661, i16 16661, i16 16402, i16 16385, i16 16661, i16 16661, i16 16402, i16 16388, i16 16661, i16 16661, i16 16390, i16 16385, i16 16661, i16 16661, i16 16390, i16 16388, i16 16661, i16 16661, i16 16444, i16 16385, i16 16661, i16 16661, i16 16444, i16 16388, i16 16661, i16 16661, i16 16452, i16 16385, i16 16661, i16 16661, i16 16452, i16 16388, i16 16661, i16 16661, i16 16448, i16 16385, i16 16661, i16 16661, i16 16448, i16 16388, i16 16661, i16 16678, i16 16389, i16 16386, i16 16678, i16 16678, i16 16389, i16 16388, i16 16678, i16 16681, i16 16389, i16 16388, i16 16681, i16 16681, i16 16392, i16 16385, i16 16681, i16 16681, i16 16392, i16 16388, i16 16681, i16 16681, i16 16393, i16 16385, i16 16681, i16 16681, i16 16393, i16 16388, i16 16681, i16 16681, i16 16405, i16 16385, i16 16681, i16 16681, i16 16405, i16 16388, i16 16681, i16 16681, i16 16397, i16 16385, i16 16681, i16 16681, i16 16397, i16 16388, i16 16681, i16 16681, i16 16398, i16 16385, i16 16681, i16 16681, i16 16398, i16 16388, i16 16681, i16 16681, i16 16394, i16 16385, i16 16681, i16 16681, i16 16394, i16 16388, i16 16681, i16 16681, i16 16395, i16 16385, i16 16681, i16 16681, i16 16395, i16 16388, i16 16681, i16 16681, i16 16402, i16 16385, i16 16681, i16 16681, i16 16402, i16 16388, i16 16681, i16 16681, i16 16427, i16 16385, i16 16681, i16 16681, i16 16427, i16 16388, i16 16681, i16 16681, i16 16400, i16 16385, i16 16681, i16 16681, i16 16400, i16 16388, i16 16681, i16 16681, i16 16396, i16 16385, i16 16681, i16 16681, i16 16396, i16 16388, i16 16681, i16 16681, i16 16446, i16 16385, i16 16681, i16 16681, i16 16446, i16 16388, i16 16681, i16 16681, i16 16390, i16 16385, i16 16681, i16 16681, i16 16390, i16 16388, i16 16681, i16 16681, i16 16444, i16 16385, i16 16681, i16 16681, i16 16444, i16 16388, i16 16681, i16 16681, i16 16449, i16 16385, i16 16681, i16 16681, i16 16449, i16 16388, i16 16681, i16 16681, i16 16391, i16 16385, i16 16681, i16 16681, i16 16391, i16 16388, i16 16681, i16 18681, i16 18684, i16 18517, i16 18681, i16 18681, i16 18684, i16 18425, i16 18681, i16 16718, i16 16389, i16 16388, i16 16718, i16 16718, i16 16394, i16 16385, i16 16718, i16 16718, i16 16394, i16 16388, i16 16718, i16 16723, i16 16389, i16 16388, i16 16723, i16 16723, i16 16392, i16 16385, i16 16723, i16 16723, i16 16392, i16 16388, i16 16723, i16 16723, i16 16395, i16 16385, i16 16723, i16 16723, i16 16395, i16 16388, i16 16723, i16 16723, i16 16400, i16 16385, i16 16723, i16 16723, i16 16400, i16 16388, i16 16723, i16 16723, i16 16444, i16 16385, i16 16723, i16 16723, i16 16444, i16 16388, i16 16723, i16 16723, i16 16448, i16 16385, i16 16723, i16 16723, i16 16448, i16 16388, i16 16723, i16 16723, i16 16445, i16 16385, i16 16723, i16 16723, i16 16445, i16 16388, i16 16723, i16 16723, i16 32766, i16 16388, i16 16723, i16 16739, i16 16389, i16 16388, i16 16739, i16 16739, i16 16392, i16 16385, i16 16739, i16 16739, i16 16392, i16 16388, i16 16739, i16 16739, i16 16395, i16 16385, i16 16739, i16 16739, i16 16395, i16 16388, i16 16739, i16 16739, i16 16390, i16 16385, i16 16739, i16 16739, i16 16390, i16 16388, i16 16739, i16 16739, i16 16444, i16 16385, i16 16739, i16 16739, i16 16444, i16 16388, i16 16739, i16 16739, i16 16452, i16 16385, i16 16739, i16 16739, i16 16452, i16 16388, i16 16739, i16 16739, i16 16448, i16 16385, i16 16739, i16 16739, i16 16448, i16 16388, i16 16739, i16 16739, i16 16434, i16 16385, i16 16739, i16 16739, i16 16434, i16 16388, i16 16739, i16 16739, i16 16421, i16 16385, i16 16739, i16 16739, i16 16421, i16 16388, i16 16739, i16 16739, i16 16445, i16 16385, i16 16739, i16 16739, i16 16445, i16 16388, i16 16739, i16 16760, i16 16389, i16 16388, i16 16760, i16 16760, i16 16392, i16 16385, i16 16760, i16 16760, i16 16392, i16 16388, i16 16760, i16 16760, i16 16390, i16 16385, i16 16760, i16 16760, i16 16390, i16 16388, i16 16760, i16 16760, i16 16444, i16 16385, i16 16760, i16 16760, i16 16444, i16 16388, i16 16760, i16 16769, i16 16389, i16 16388, i16 16769, i16 16769, i16 16392, i16 16385, i16 16769, i16 16769, i16 16392, i16 16388, i16 16769, i16 16769, i16 16395, i16 16385, i16 16769, i16 16769, i16 16395, i16 16388, i16 16769, i16 16769, i16 16396, i16 16385, i16 16769, i16 16769, i16 16396, i16 16388, i16 16769, i16 16769, i16 16390, i16 16385, i16 16769, i16 16769, i16 16390, i16 16388, i16 16769, i16 16769, i16 16444, i16 16385, i16 16769, i16 16769, i16 16444, i16 16388, i16 16769, i16 16769, i16 16448, i16 16385, i16 16769, i16 16769, i16 16448, i16 16388, i16 16769, i16 16769, i16 16421, i16 16385, i16 16769, i16 16769, i16 16421, i16 16388, i16 16769, i16 16769, i16 16445, i16 16385, i16 16769, i16 16769, i16 16445, i16 16388, i16 16769, i16 16769, i16 16451, i16 16388, i16 16769, i16 18687, i16 18690, i16 18517, i16 18687, i16 18687, i16 18690, i16 18425, i16 18687, i16 16791, i16 16389, i16 16388, i16 16791, i16 16791, i16 16389, i16 32766, i16 16791, i16 16791, i16 16392, i16 16385, i16 16791, i16 16791, i16 16392, i16 16388, i16 16791, i16 16791, i16 16393, i16 16385, i16 16791, i16 16791, i16 16393, i16 16388, i16 16791, i16 16791, i16 16405, i16 16385, i16 16791, i16 16791, i16 16405, i16 16388, i16 16791, i16 16791, i16 16397, i16 16385, i16 16791, i16 16791, i16 16397, i16 16388, i16 16791, i16 16791, i16 16398, i16 16385, i16 16791, i16 16791, i16 16398, i16 16388, i16 16791, i16 16791, i16 16394, i16 16385, i16 16791, i16 16791, i16 16394, i16 16388, i16 16791, i16 16791, i16 16412, i16 16385, i16 16791, i16 16791, i16 16412, i16 16388, i16 16791, i16 16791, i16 16413, i16 16385, i16 16791, i16 16791, i16 16413, i16 16388, i16 16791, i16 16791, i16 16415, i16 16385, i16 16791, i16 16791, i16 16415, i16 16388, i16 16791, i16 16791, i16 16414, i16 16385, i16 16791, i16 16791, i16 16414, i16 16388, i16 16791, i16 16791, i16 16436, i16 16385, i16 16791, i16 16791, i16 16436, i16 16388, i16 16791, i16 16791, i16 16395, i16 16385, i16 16791, i16 16791, i16 16395, i16 16388, i16 16791, i16 16791, i16 16402, i16 16385, i16 16791, i16 16791, i16 16402, i16 16388, i16 16791, i16 16791, i16 16404, i16 16385, i16 16791, i16 16791, i16 16404, i16 16388, i16 16791, i16 16791, i16 16400, i16 16385, i16 16791, i16 16791, i16 16400, i16 16388, i16 16791, i16 16791, i16 16396, i16 16385, i16 16791, i16 16791, i16 16396, i16 16388, i16 16791, i16 16791, i16 16406, i16 16385, i16 16791, i16 16791, i16 16406, i16 16388, i16 16791, i16 16791, i16 16431, i16 16385, i16 16791, i16 16791, i16 16431, i16 16388, i16 16791, i16 16791, i16 16444, i16 16385, i16 16791, i16 16791, i16 16444, i16 16388, i16 16791, i16 16791, i16 16452, i16 16385, i16 16791, i16 16791, i16 16452, i16 16388, i16 16791, i16 16791, i16 16443, i16 16385, i16 16791, i16 16791, i16 16443, i16 16388, i16 16791, i16 16791, i16 16449, i16 16385, i16 16791, i16 16791, i16 16449, i16 16388, i16 16791, i16 16791, i16 16440, i16 16385, i16 16791, i16 16791, i16 16440, i16 16388, i16 16791, i16 16791, i16 16391, i16 16385, i16 16791, i16 16791, i16 16391, i16 16388, i16 16791, i16 16791, i16 16419, i16 16385, i16 16791, i16 16791, i16 16419, i16 16388, i16 16791, i16 16791, i16 16420, i16 16385, i16 16791, i16 16791, i16 16420, i16 16388, i16 16791, i16 16791, i16 16401, i16 16385, i16 16791, i16 16791, i16 16401, i16 16388, i16 16791, i16 16791, i16 16422, i16 16385, i16 16791, i16 16791, i16 16422, i16 16388, i16 16791, i16 16791, i16 16423, i16 16385, i16 16791, i16 16791, i16 16423, i16 16388, i16 16791, i16 16791, i16 16425, i16 16385, i16 16791, i16 16791, i16 16425, i16 16388, i16 16791, i16 16791, i16 16424, i16 16385, i16 16791, i16 16791, i16 16424, i16 16388, i16 16791, i16 16791, i16 16441, i16 16385, i16 16791, i16 16791, i16 16441, i16 16388, i16 16791, i16 18693, i16 18696, i16 18517, i16 18693, i16 18693, i16 18696, i16 18425, i16 18693, i16 16861, i16 16389, i16 16388, i16 16861, i16 16861, i16 16392, i16 16385, i16 16861, i16 16861, i16 16392, i16 16388, i16 16861, i16 16861, i16 16390, i16 16385, i16 16861, i16 16861, i16 16390, i16 16388, i16 16861, i16 16868, i16 16389, i16 16388, i16 16868, i16 16871, i16 16389, i16 16388, i16 16871, i16 16871, i16 16392, i16 16385, i16 16871, i16 16871, i16 16392, i16 16388, i16 16871, i16 16871, i16 16405, i16 16385, i16 16871, i16 16871, i16 16405, i16 16388, i16 16871, i16 16871, i16 16398, i16 16385, i16 16871, i16 16871, i16 16398, i16 16388, i16 16871, i16 16871, i16 16390, i16 16385, i16 16871, i16 16871, i16 16390, i16 16388, i16 16871, i16 16871, i16 16444, i16 16385, i16 16871, i16 16871, i16 16444, i16 16388, i16 16871, i16 16871, i16 16448, i16 16385, i16 16871, i16 16871, i16 16448, i16 16388, i16 16871, i16 16871, i16 16434, i16 16385, i16 16871, i16 16871, i16 16434, i16 16388, i16 16871, i16 16871, i16 16445, i16 16385, i16 16871, i16 16871, i16 16445, i16 16388, i16 16871, i16 16889, i16 16395, i16 16388, i16 16889, i16 16892, i16 16389, i16 16388, i16 16892, i16 18699, i16 18643, i16 18702, i16 18699, i16 16892, i16 16392, i16 16385, i16 16892, i16 16892, i16 16392, i16 16388, i16 16892, i16 16892, i16 16403, i16 16385, i16 16892, i16 16892, i16 16403, i16 16388, i16 16892, i16 16892, i16 16394, i16 16385, i16 16892, i16 16892, i16 16394, i16 16388, i16 16892, i16 16892, i16 16390, i16 16385, i16 16892, i16 16892, i16 16390, i16 16388, i16 16892, i16 16892, i16 16444, i16 16385, i16 16892, i16 16892, i16 16444, i16 16388, i16 16892, i16 16892, i16 16433, i16 16385, i16 16892, i16 16892, i16 16433, i16 16388, i16 16892, i16 16892, i16 16448, i16 16385, i16 16892, i16 16892, i16 16448, i16 16388, i16 16892, i16 16909, i16 16395, i16 16388, i16 16909, i16 16909, i16 16416, i16 16385, i16 16909, i16 16909, i16 16416, i16 16388, i16 16909, i16 16892, i16 32766, i16 16388, i16 16892, i16 18705, i16 18643, i16 18708, i16 18705, i16 18699, i16 18643, i16 18711, i16 16384, i16 16917, i16 16389, i16 16388, i16 16917, i16 16917, i16 16395, i16 16385, i16 16917, i16 16917, i16 16395, i16 16388, i16 16917, i16 16917, i16 16390, i16 16385, i16 16917, i16 16917, i16 16390, i16 16388, i16 16917, i16 16917, i16 16444, i16 16385, i16 16917, i16 16917, i16 16444, i16 16388, i16 16917, i16 16917, i16 16452, i16 16385, i16 16917, i16 16917, i16 16452, i16 16388, i16 16917, i16 16917, i16 16448, i16 16385, i16 16917, i16 16917, i16 16448, i16 16388, i16 16917, i16 16917, i16 16421, i16 16385, i16 16917, i16 16917, i16 16421, i16 16388, i16 16917, i16 16917, i16 16445, i16 16385, i16 16917, i16 16917, i16 16445, i16 16388, i16 16917, i16 18714, i16 18717, i16 18517, i16 18714, i16 18714, i16 18717, i16 18425, i16 18714, i16 16936, i16 16389, i16 16388, i16 16936, i16 16936, i16 16392, i16 16385, i16 16936, i16 16936, i16 16392, i16 16388, i16 16936, i16 16936, i16 16393, i16 16385, i16 16936, i16 16936, i16 16393, i16 16388, i16 16936, i16 16936, i16 16405, i16 16385, i16 16936, i16 16936, i16 16405, i16 16388, i16 16936, i16 16936, i16 16397, i16 16385, i16 16936, i16 16936, i16 16397, i16 16388, i16 16936, i16 16936, i16 16398, i16 16385, i16 16936, i16 16936, i16 16398, i16 16388, i16 16936, i16 16936, i16 16394, i16 16385, i16 16936, i16 16936, i16 16394, i16 16388, i16 16936, i16 16936, i16 16395, i16 16385, i16 16936, i16 16936, i16 16395, i16 16388, i16 16936, i16 16936, i16 16399, i16 16385, i16 16936, i16 16936, i16 16399, i16 16388, i16 16936, i16 16936, i16 16402, i16 16385, i16 16936, i16 16936, i16 16402, i16 16388, i16 16936, i16 16936, i16 16426, i16 16385, i16 16936, i16 16936, i16 16426, i16 16388, i16 16936, i16 16936, i16 16427, i16 16385, i16 16936, i16 16936, i16 16427, i16 16388, i16 16936, i16 16936, i16 16428, i16 16385, i16 16936, i16 16936, i16 16428, i16 16388, i16 16936, i16 16936, i16 16429, i16 16385, i16 16936, i16 16936, i16 16429, i16 16388, i16 16936, i16 16936, i16 16404, i16 16385, i16 16936, i16 16936, i16 16404, i16 16388, i16 16936, i16 16936, i16 16400, i16 16385, i16 16936, i16 16936, i16 16400, i16 16388, i16 16936, i16 16936, i16 16396, i16 16385, i16 16936, i16 16936, i16 16396, i16 16388, i16 16936, i16 16936, i16 16406, i16 16385, i16 16936, i16 16936, i16 16406, i16 16388, i16 16936, i16 16936, i16 16446, i16 16385, i16 16936, i16 16936, i16 16446, i16 16388, i16 16936, i16 16936, i16 16444, i16 16385, i16 16936, i16 16936, i16 16444, i16 16388, i16 16936, i16 16936, i16 16449, i16 16385, i16 16936, i16 16936, i16 16449, i16 16388, i16 16936, i16 16936, i16 16391, i16 16385, i16 16936, i16 16936, i16 16391, i16 16388, i16 16936, i16 16936, i16 16430, i16 16385, i16 16936, i16 16936, i16 16430, i16 16388, i16 16936, i16 16936, i16 16442, i16 16385, i16 16936, i16 16936, i16 16442, i16 16388, i16 16936, i16 16936, i16 16421, i16 16385, i16 16936, i16 16936, i16 16421, i16 16388, i16 16936, i16 16936, i16 16401, i16 16385, i16 16936, i16 16936, i16 16401, i16 16388, i16 16936, i16 16936, i16 16422, i16 16385, i16 16936, i16 16936, i16 16422, i16 16388, i16 16936, i16 16936, i16 16423, i16 16385, i16 16936, i16 16936, i16 16423, i16 16388, i16 16936, i16 16936, i16 16425, i16 16385, i16 16936, i16 16936, i16 16425, i16 16388, i16 16936, i16 16936, i16 16424, i16 16385, i16 16936, i16 16936, i16 16424, i16 16388, i16 16936, i16 16936, i16 16441, i16 16385, i16 16936, i16 16936, i16 16441, i16 16388, i16 16936, i16 16999, i16 16389, i16 16388, i16 16999, i16 16999, i16 16396, i16 16385, i16 16999, i16 16999, i16 16396, i16 16388, i16 16999, i16 16999, i16 16444, i16 16385, i16 16999, i16 16999, i16 16444, i16 16388, i16 16999, i16 17006, i16 16389, i16 16388, i16 17006, i16 17006, i16 16392, i16 16385, i16 17006, i16 17006, i16 16392, i16 16388, i16 17006, i16 17006, i16 16393, i16 16385, i16 17006, i16 17006, i16 16393, i16 16388, i16 17006, i16 17006, i16 16394, i16 16385, i16 17006, i16 17006, i16 16394, i16 16388, i16 17006, i16 17006, i16 16402, i16 16385, i16 17006, i16 17006, i16 16402, i16 16388, i16 17006, i16 17006, i16 16390, i16 16385, i16 17006, i16 17006, i16 16390, i16 16388, i16 17006, i16 17006, i16 16444, i16 16385, i16 17006, i16 17006, i16 16444, i16 16388, i16 17006, i16 17021, i16 16389, i16 16388, i16 17021, i16 17021, i16 16402, i16 16385, i16 17021, i16 17021, i16 16402, i16 16388, i16 17021, i16 17021, i16 16390, i16 16385, i16 17021, i16 17021, i16 16390, i16 16388, i16 17021, i16 17028, i16 16389, i16 16388, i16 17028, i16 17028, i16 16392, i16 16385, i16 17028, i16 17028, i16 16392, i16 16388, i16 17028, i16 17028, i16 16393, i16 16385, i16 17028, i16 17028, i16 16393, i16 16388, i16 17028, i16 17028, i16 16394, i16 16385, i16 17028, i16 17028, i16 16394, i16 16388, i16 17028, i16 17028, i16 16402, i16 16385, i16 17028, i16 17028, i16 16402, i16 16388, i16 17028, i16 17028, i16 16400, i16 16385, i16 17028, i16 17028, i16 16400, i16 16388, i16 17028, i16 17028, i16 16396, i16 16385, i16 17028, i16 17028, i16 16396, i16 16388, i16 17028, i16 17028, i16 16390, i16 16385, i16 17028, i16 17028, i16 16390, i16 16388, i16 17028, i16 17028, i16 16444, i16 16385, i16 17028, i16 17028, i16 16444, i16 16388, i16 17028, i16 17047, i16 16389, i16 16388, i16 17047, i16 17047, i16 16392, i16 16385, i16 17047, i16 17047, i16 16392, i16 16388, i16 17047, i16 17047, i16 16394, i16 16385, i16 17047, i16 17047, i16 16394, i16 16388, i16 17047, i16 17047, i16 16390, i16 16385, i16 17047, i16 17047, i16 16390, i16 16388, i16 17047, i16 17047, i16 16444, i16 16385, i16 17047, i16 17047, i16 16444, i16 16388, i16 17047, i16 17047, i16 16452, i16 16385, i16 17047, i16 17047, i16 16452, i16 16388, i16 17047, i16 17047, i16 16445, i16 16385, i16 17047, i16 17047, i16 16445, i16 16388, i16 17047, i16 17062, i16 16395, i16 16388, i16 17062, i16 32766, i16 32766, i16 16384, i16 32766, i16 17064, i16 32766, i16 16384, i16 17064, i16 17073, i16 32766, i16 16384, i16 17073, i16 17074, i16 32766, i16 16384, i16 17074, i16 17075, i16 32766, i16 16384, i16 17075, i16 17076, i16 32766, i16 16384, i16 17076, i16 17077, i16 32766, i16 16384, i16 17077, i16 17078, i16 32766, i16 16384, i16 17078, i16 17079, i16 32766, i16 16384, i16 17079, i16 17080, i16 32766, i16 16384, i16 17080, i16 17081, i16 32766, i16 16384, i16 17081, i16 16384, i16 16384, i16 16384, i16 17133, i16 16384, i16 16384, i16 16384, i16 17135, i16 16384, i16 16384, i16 16384, i16 17197, i16 16384, i16 16384, i16 16384, i16 16384, i16 32766, i16 16385, i16 16453, i16 32766, i16 17723, i16 16385, i16 16454, i16 17723, i16 17723, i16 16388, i16 16453, i16 17723, i16 17723, i16 16388, i16 16454, i16 17723, i16 17727, i16 16388, i16 16453, i16 17727, i16 17729, i16 16388, i16 16453, i16 17729, i16 17731, i16 16388, i16 16453, i16 17731, i16 17733, i16 16385, i16 16454, i16 17733, i16 17733, i16 16388, i16 16453, i16 17733, i16 17733, i16 16388, i16 16454, i16 17733, i16 17737, i16 16388, i16 16453, i16 17737, i16 17739, i16 16385, i16 16454, i16 17739, i16 17739, i16 16388, i16 16453, i16 17739, i16 17739, i16 16388, i16 16454, i16 17739, i16 17743, i16 16388, i16 16453, i16 17743, i16 17745, i16 16385, i16 16454, i16 17745, i16 17745, i16 16385, i16 16455, i16 17745, i16 17745, i16 16388, i16 16453, i16 17745, i16 17745, i16 16388, i16 16454, i16 17745, i16 17745, i16 16388, i16 16455, i16 17745, i16 17745, i16 16388, i16 16456, i16 17745, i16 17752, i16 16388, i16 16453, i16 17752, i16 17754, i16 16388, i16 16453, i16 17754, i16 17756, i16 16388, i16 16453, i16 17756, i16 17758, i16 16388, i16 16453, i16 17758, i16 17760, i16 16388, i16 16453, i16 17760, i16 17762, i16 16385, i16 16454, i16 17762, i16 17762, i16 16388, i16 16453, i16 17762, i16 17762, i16 16388, i16 16454, i16 17762, i16 17766, i16 16388, i16 16453, i16 17766, i16 17768, i16 16388, i16 16453, i16 17768, i16 17770, i16 16388, i16 16453, i16 17770, i16 17770, i16 16388, i16 32766, i16 17770, i16 17773, i16 16388, i16 16453, i16 17773, i16 17775, i16 16385, i16 16454, i16 17775, i16 17775, i16 16385, i16 16455, i16 17775, i16 17775, i16 16388, i16 16453, i16 17775, i16 17775, i16 16388, i16 16454, i16 17775, i16 17775, i16 16388, i16 16455, i16 17775, i16 17775, i16 16388, i16 16456, i16 17775, i16 17782, i16 16388, i16 16453, i16 17782, i16 17784, i16 16388, i16 16453, i16 17784, i16 17786, i16 16388, i16 16453, i16 17786, i16 17788, i16 16385, i16 16454, i16 17788, i16 17788, i16 16388, i16 16453, i16 17788, i16 17788, i16 16388, i16 16454, i16 17788, i16 32766, i16 16457, i16 16385, i16 32766, i16 17792, i16 16457, i16 16388, i16 17792, i16 17794, i16 16457, i16 16388, i16 17794, i16 17796, i16 16457, i16 16388, i16 17796, i16 17798, i16 16457, i16 16388, i16 17798, i16 17800, i16 16457, i16 16388, i16 17800, i16 17802, i16 16457, i16 16388, i16 17802, i16 17804, i16 16457, i16 16388, i16 17804, i16 17806, i16 16457, i16 16388, i16 17806, i16 17808, i16 16457, i16 16388, i16 17808, i16 17810, i16 16457, i16 16388, i16 17810, i16 17812, i16 16457, i16 16388, i16 17812, i16 17814, i16 16457, i16 16388, i16 17814, i16 17816, i16 16457, i16 16388, i16 17816, i16 17818, i16 16457, i16 16388, i16 17818, i16 17820, i16 16457, i16 16388, i16 17820, i16 17822, i16 16457, i16 16388, i16 17822, i16 17824, i16 16457, i16 16388, i16 17824, i16 17826, i16 16457, i16 16388, i16 17826, i16 17828, i16 16457, i16 16388, i16 17828, i16 17830, i16 16457, i16 16388, i16 17830, i16 17832, i16 16457, i16 16388, i16 17832, i16 17834, i16 16457, i16 16388, i16 17834, i16 17836, i16 16457, i16 16388, i16 17836, i16 17838, i16 16457, i16 16388, i16 17838, i16 17840, i16 16457, i16 16388, i16 17840, i16 17842, i16 16457, i16 16388, i16 17842, i16 17844, i16 16457, i16 16388, i16 17844, i16 17846, i16 16457, i16 16388, i16 17846, i16 17848, i16 16457, i16 16388, i16 17848, i16 17850, i16 16457, i16 16388, i16 17850, i16 17852, i16 16457, i16 16388, i16 17852, i16 17854, i16 16457, i16 16388, i16 17854, i16 17856, i16 16457, i16 16388, i16 17856, i16 17858, i16 16457, i16 16388, i16 17858, i16 17860, i16 16457, i16 16388, i16 17860, i16 17862, i16 16457, i16 16388, i16 17862, i16 17864, i16 16457, i16 16388, i16 17864, i16 17866, i16 16457, i16 16388, i16 17866, i16 17868, i16 16457, i16 16388, i16 17868, i16 17870, i16 16457, i16 16388, i16 17870, i16 17872, i16 16457, i16 16388, i16 17872, i16 32766, i16 16457, i16 16388, i16 32766, i16 17874, i16 16457, i16 16385, i16 17874, i16 17876, i16 16457, i16 16388, i16 17876, i16 17878, i16 16457, i16 16385, i16 17878, i16 17880, i16 16457, i16 16388, i16 17880, i16 17882, i16 16457, i16 16388, i16 17882, i16 17884, i16 16457, i16 16388, i16 17884, i16 17886, i16 16457, i16 16388, i16 17886, i16 17888, i16 16457, i16 16388, i16 17888, i16 17890, i16 16457, i16 16388, i16 17890, i16 17892, i16 16457, i16 16388, i16 17892, i16 17894, i16 16457, i16 16388, i16 17894, i16 32766, i16 16384, i16 16384, i16 32766, i16 17928, i16 32766, i16 16384, i16 17928, i16 17927, i16 32766, i16 16384, i16 17927, i16 17937, i16 32766, i16 16384, i16 17937, i16 17941, i16 32766, i16 16384, i16 17941, i16 17948, i16 32766, i16 16384, i16 17948, i16 17956, i16 32766, i16 16384, i16 17956, i16 17961, i16 32766, i16 16384, i16 17961, i16 17966, i16 32766, i16 16384, i16 17966, i16 17971, i16 32766, i16 16384, i16 17971, i16 17976, i16 32766, i16 16384, i16 17976, i16 17979, i16 32766, i16 16384, i16 17979, i16 17982, i16 32766, i16 16384, i16 17982, i16 17985, i16 32766, i16 16384, i16 17985, i16 17988, i16 32766, i16 16384, i16 17988, i16 17993, i16 32766, i16 16384, i16 17993, i16 17998, i16 32766, i16 16384, i16 17998, i16 18003, i16 32766, i16 16384, i16 18003, i16 18008, i16 32766, i16 16384, i16 18008, i16 18013, i16 32766, i16 16384, i16 18013, i16 18018, i16 32766, i16 16384, i16 18018, i16 18023, i16 32766, i16 16384, i16 18023, i16 18028, i16 32766, i16 16384, i16 18028, i16 18033, i16 32766, i16 16384, i16 18033, i16 18038, i16 32766, i16 16384, i16 18038, i16 18043, i16 32766, i16 16384, i16 18043, i16 18048, i16 32766, i16 16384, i16 18048, i16 18053, i16 32766, i16 16384, i16 18053, i16 18058, i16 32766, i16 16384, i16 18058, i16 18063, i16 32766, i16 16384, i16 18063, i16 18066, i16 32766, i16 16384, i16 18066, i16 18069, i16 32766, i16 16384, i16 18069, i16 16384, i16 16384, i16 32766, i16 32766, i16 18720, i16 18720, i16 18723, i16 18720, i16 18720, i16 18726, i16 18729, i16 18720, i16 18732, i16 18732, i16 18735, i16 18732, i16 18732, i16 18738, i16 18741, i16 18732, i16 18744, i16 18744, i16 18747, i16 18744, i16 18744, i16 18750, i16 18753, i16 18744, i16 18756, i16 18759, i16 18762, i16 18756, i16 18756, i16 18765, i16 18768, i16 18756, i16 18101, i16 32766, i16 16384, i16 18101, i16 18105, i16 32766, i16 16384, i16 18105, i16 18109, i16 32766, i16 16384, i16 18109, i16 18114, i16 32766, i16 16384, i16 18114, i16 18118, i16 32766, i16 16384, i16 18118, i16 18122, i16 32766, i16 16384, i16 18122, i16 18127, i16 32766, i16 16384, i16 18127, i16 18131, i16 32766, i16 16384, i16 18131, i16 18135, i16 32766, i16 16384, i16 18135, i16 18140, i16 32766, i16 16384, i16 18140, i16 18144, i16 32766, i16 16384, i16 18144, i16 18148, i16 32766, i16 16384, i16 18148, i16 18152, i16 32766, i16 16384, i16 18152, i16 18156, i16 32766, i16 16384, i16 18156, i16 18160, i16 32766, i16 16384, i16 18160, i16 18164, i16 32766, i16 16384, i16 18164, i16 18168, i16 32766, i16 16384, i16 18168, i16 18172, i16 32766, i16 16384, i16 18172, i16 18178, i16 32766, i16 16384, i16 18178, i16 18182, i16 32766, i16 16384, i16 18182, i16 18186, i16 32766, i16 16384, i16 18186, i16 18188, i16 32766, i16 16384, i16 18188, i16 18190, i16 32766, i16 16384, i16 18190, i16 18192, i16 32766, i16 16384, i16 18192, i16 18194, i16 32766, i16 16384, i16 18194, i16 18196, i16 32766, i16 16384, i16 18196, i16 18202, i16 32766, i16 16384, i16 18202, i16 18208, i16 32766, i16 16384, i16 18208, i16 18214, i16 32766, i16 16384, i16 18214, i16 18220, i16 32766, i16 16384, i16 18220, i16 18226, i16 32766, i16 16384, i16 18226, i16 18228, i16 32766, i16 16384, i16 18228, i16 18230, i16 32766, i16 16384, i16 18230, i16 18232, i16 32766, i16 16384, i16 18232, i16 18234, i16 32766, i16 16384, i16 18234, i16 18236, i16 32766, i16 16384, i16 18236, i16 18240, i16 32766, i16 16384, i16 18240, i16 18244, i16 32766, i16 16384, i16 18244, i16 18248, i16 32766, i16 16384, i16 18248, i16 18250, i16 32766, i16 16384, i16 18250, i16 18252, i16 32766, i16 16384, i16 18252, i16 18254, i16 32766, i16 16384, i16 18254, i16 18256, i16 32766, i16 16384, i16 18256, i16 18258, i16 32766, i16 16384, i16 18258, i16 18262, i16 32766, i16 16384, i16 18262, i16 18264, i16 32766, i16 16384, i16 18264, i16 18266, i16 32766, i16 16384, i16 18266, i16 18268, i16 32766, i16 16384, i16 18268, i16 32766, i16 32766, i16 16384, i16 16384, i16 16396, i16 32766, i16 16384, i16 16384, i16 16398, i16 32766, i16 16384, i16 16384, i16 16400, i16 32766, i16 16384, i16 16384, i16 16402, i16 32766, i16 16384, i16 16384, i16 16404, i16 32766, i16 16384, i16 16384, i16 16406, i16 32766, i16 16384, i16 16384, i16 16408, i16 32766, i16 16384, i16 16384, i16 16410, i16 32766, i16 16384, i16 16384, i16 16412, i16 32766, i16 16384, i16 16384, i16 16414, i16 32766, i16 16384, i16 16384, i16 16416, i16 32766, i16 16384, i16 16384, i16 16418, i16 32766, i16 16384, i16 16384, i16 16420, i16 32766, i16 16384, i16 16384, i16 16422, i16 32766, i16 16384, i16 16384, i16 16424, i16 32766, i16 16384, i16 16384, i16 16426, i16 32766, i16 16384, i16 16384, i16 16428, i16 32766, i16 16384, i16 16384, i16 16430, i16 32766, i16 16384, i16 16384, i16 16432, i16 32766, i16 16384, i16 16384, i16 16434, i16 32766, i16 16384, i16 16384, i16 16436, i16 32766, i16 16384, i16 16384, i16 16438, i16 32766, i16 16384, i16 16384, i16 16440, i16 32766, i16 16384, i16 16384, i16 16442, i16 32766, i16 16384, i16 16384, i16 16444, i16 32766, i16 16384, i16 16384, i16 16446, i16 32766, i16 16384, i16 16384, i16 16384, i16 32766, i16 16384, i16 16384, i16 16384, i16 16384, i16 32766, i16 16384, i16 16384, i16 32766, i16 16385, i16 16385, i16 32766, i16 16385, i16 16385, i16 16385, i16 16438, i16 16386, i16 16385, i16 16385, i16 16440, i16 16386, i16 16385, i16 16385, i16 16442, i16 16386, i16 16385, i16 16385, i16 16444, i16 16386, i16 16385, i16 16385, i16 16446, i16 16386, i16 16385, i16 16385, i16 16448, i16 16386, i16 16385, i16 16385, i16 16450, i16 16386, i16 16385, i16 16385, i16 16452, i16 16386, i16 16385, i16 16385, i16 16454, i16 16386, i16 16385, i16 16385, i16 16456, i16 16386, i16 16385, i16 16385, i16 32766, i16 16385, i16 16385, i16 16387, i16 16458, i16 16385, i16 16385, i16 16388, i16 16460, i16 16385, i16 16385, i16 16388, i16 16462, i16 16385, i16 16385, i16 16388, i16 16464, i16 16385, i16 16385, i16 16388, i16 16466, i16 16385, i16 16385, i16 16388, i16 16468, i16 16385, i16 16385, i16 16388, i16 16470, i16 16385, i16 16385, i16 16388, i16 16472, i16 16385, i16 16385, i16 16388, i16 16474, i16 16385, i16 16385, i16 16388, i16 16476, i16 16385, i16 16385, i16 16388, i16 16478, i16 16385, i16 16385, i16 16388, i16 16480, i16 16385, i16 16385, i16 16388, i16 16482, i16 16385, i16 16385, i16 16388, i16 16484, i16 16385, i16 16385, i16 16388, i16 16486, i16 16385, i16 16385, i16 16388, i16 16488, i16 16385, i16 16385, i16 16388, i16 16490, i16 16385, i16 16385, i16 16388, i16 16492, i16 16385, i16 16385, i16 16388, i16 16494, i16 16385, i16 16385, i16 16388, i16 16496, i16 16385, i16 16385, i16 16388, i16 16498, i16 16385, i16 16385, i16 16388, i16 16500, i16 16385, i16 16385, i16 16388, i16 16502, i16 16385, i16 16385, i16 16388, i16 16504, i16 16385, i16 16385, i16 16388, i16 16506, i16 16385, i16 16385, i16 16388, i16 16508, i16 16385, i16 16385, i16 16388, i16 17294, i16 16385, i16 16385, i16 16385, i16 17297, i16 16385, i16 16385, i16 16385, i16 17300, i16 16385, i16 16385, i16 16385, i16 17303, i16 16385, i16 16385, i16 16385, i16 17306, i16 16385, i16 16385, i16 16385, i16 17309, i16 16385, i16 16385, i16 16385, i16 17312, i16 16385, i16 16385, i16 16385, i16 17315, i16 16385, i16 16385, i16 16385, i16 17318, i16 16385, i16 16385, i16 16385, i16 17321, i16 16385, i16 16385, i16 16385, i16 17324, i16 16385, i16 16385, i16 16385, i16 17327, i16 16385, i16 16385, i16 16385, i16 17330, i16 16385, i16 16385, i16 16385, i16 17333, i16 16385, i16 16385, i16 16385, i16 17336, i16 16385, i16 16385, i16 16385, i16 17339, i16 16385, i16 16385, i16 16385, i16 17342, i16 16385, i16 16385, i16 16385, i16 17345, i16 16385, i16 16385, i16 16385, i16 17348, i16 16385, i16 16385, i16 16385, i16 17351, i16 16385, i16 16385, i16 16385, i16 17354, i16 16385, i16 16385, i16 16385, i16 17357, i16 16385, i16 16385, i16 16385, i16 17360, i16 16385, i16 16385, i16 16385, i16 17363, i16 16385, i16 16385, i16 16385, i16 17366, i16 16385, i16 16385, i16 16385, i16 17369, i16 16385, i16 16385, i16 16385, i16 17372, i16 16385, i16 16385, i16 16385, i16 17375, i16 16385, i16 16385, i16 16385, i16 17378, i16 16385, i16 16385, i16 16385, i16 17381, i16 16385, i16 16385, i16 16385, i16 17384, i16 16385, i16 16385, i16 16385, i16 17387, i16 16385, i16 16385, i16 16385, i16 17390, i16 16385, i16 16385, i16 16385, i16 17393, i16 16385, i16 16385, i16 16385, i16 17396, i16 16385, i16 16385, i16 16385, i16 17399, i16 16385, i16 16385, i16 16385, i16 17402, i16 16385, i16 16385, i16 16385, i16 17405, i16 16385, i16 16385, i16 16385, i16 17408, i16 16385, i16 16385, i16 16385, i16 17411, i16 16385, i16 16385, i16 16385, i16 17414, i16 16385, i16 16385, i16 16385, i16 17417, i16 16385, i16 16385, i16 16385, i16 17420, i16 16385, i16 16385, i16 16385, i16 17423, i16 16385, i16 16385, i16 16385, i16 17426, i16 16385, i16 16385, i16 16385, i16 17429, i16 16385, i16 16385, i16 16385, i16 17432, i16 16385, i16 16385, i16 16385, i16 17435, i16 16385, i16 16385, i16 16385, i16 17438, i16 16385, i16 16385, i16 16385, i16 17441, i16 16385, i16 16385, i16 16385, i16 17444, i16 16385, i16 16385, i16 16385, i16 17447, i16 16385, i16 16385, i16 16385, i16 17450, i16 16385, i16 16385, i16 16385, i16 17453, i16 16385, i16 16385, i16 16385, i16 17456, i16 16385, i16 16385, i16 16385, i16 17459, i16 16385, i16 16385, i16 16385, i16 17462, i16 16385, i16 16385, i16 16385, i16 17465, i16 16385, i16 16385, i16 16385, i16 17468, i16 16385, i16 16385, i16 16385, i16 17471, i16 16385, i16 16385, i16 16385, i16 17474, i16 16385, i16 16385, i16 16385, i16 17477, i16 16385, i16 16385, i16 16385, i16 17480, i16 16385, i16 16385, i16 16385, i16 17483, i16 16385, i16 16385, i16 16385, i16 17486, i16 16385, i16 16385, i16 16385, i16 17489, i16 16385, i16 16385, i16 16385, i16 17492, i16 16385, i16 16385, i16 16385, i16 17495, i16 16385, i16 16385, i16 16385, i16 17498, i16 16385, i16 16385, i16 16385, i16 17501, i16 16385, i16 16385, i16 16385, i16 17504, i16 16385, i16 16385, i16 16385, i16 17507, i16 16385, i16 16385, i16 16385, i16 17510, i16 16385, i16 16385, i16 16385, i16 17513, i16 16385, i16 16385, i16 16385, i16 17516, i16 16385, i16 16385, i16 16385, i16 17519, i16 16385, i16 16385, i16 16385, i16 17522, i16 16385, i16 16385, i16 16385, i16 17525, i16 16385, i16 16385, i16 16385, i16 17528, i16 16385, i16 16385, i16 16385, i16 17531, i16 16385, i16 16385, i16 16385, i16 17534, i16 16385, i16 16385, i16 16385, i16 17537, i16 16385, i16 16385, i16 16385, i16 17540, i16 16385, i16 16385, i16 16385, i16 17543, i16 16385, i16 16385, i16 16385, i16 17546, i16 16385, i16 16385, i16 16385, i16 17549, i16 16385, i16 16385, i16 16385, i16 17552, i16 16385, i16 16385, i16 16385, i16 17555, i16 16385, i16 16385, i16 16385, i16 17558, i16 16385, i16 16385, i16 16385, i16 17561, i16 16385, i16 16385, i16 16385, i16 17564, i16 16385, i16 16385, i16 16385, i16 17567, i16 16385, i16 16385, i16 16385, i16 17570, i16 16385, i16 16385, i16 16385, i16 17573, i16 16385, i16 16385, i16 16385, i16 17576, i16 16385, i16 16385, i16 16385, i16 17579, i16 16385, i16 16385, i16 16385, i16 17582, i16 16385, i16 16385, i16 16385, i16 17585, i16 16385, i16 16385, i16 16385, i16 17588, i16 16385, i16 16385, i16 16385, i16 17591, i16 16385, i16 16385, i16 16385, i16 17594, i16 16385, i16 16385, i16 16385, i16 17597, i16 16385, i16 16385, i16 16385, i16 17600, i16 16385, i16 16385, i16 16385, i16 17603, i16 16385, i16 16385, i16 16385, i16 17606, i16 16385, i16 16385, i16 16385, i16 17609, i16 16385, i16 16385, i16 16385, i16 17612, i16 16385, i16 16385, i16 16385, i16 17615, i16 16385, i16 16385, i16 16385, i16 17618, i16 16385, i16 16385, i16 16385, i16 17621, i16 16385, i16 16385, i16 16385, i16 17624, i16 16385, i16 16385, i16 16385, i16 17627, i16 16385, i16 16385, i16 16385, i16 17630, i16 16385, i16 16385, i16 16385, i16 17633, i16 16385, i16 16385, i16 16385, i16 17636, i16 16385, i16 16385, i16 16385, i16 17639, i16 16385, i16 16385, i16 16385, i16 17642, i16 16385, i16 16385, i16 16385, i16 17645, i16 16385, i16 16385, i16 16385, i16 17648, i16 16385, i16 16385, i16 16385, i16 17651, i16 16385, i16 16385, i16 16385, i16 17654, i16 16385, i16 16385, i16 16385, i16 17657, i16 16385, i16 16385, i16 16385, i16 17660, i16 16385, i16 16385, i16 16385, i16 17663, i16 16385, i16 16385, i16 16385, i16 17666, i16 16385, i16 16385, i16 16385, i16 17669, i16 16385, i16 16385, i16 16385, i16 17672, i16 16385, i16 16385, i16 16385, i16 17675, i16 16385, i16 16385, i16 16385, i16 17678, i16 16385, i16 16385, i16 16385, i16 17681, i16 16385, i16 16385, i16 16385, i16 17684, i16 16385, i16 16385, i16 16385, i16 17687, i16 16385, i16 16385, i16 16385, i16 17690, i16 16385, i16 16385, i16 16385, i16 17693, i16 16385, i16 16385, i16 16385, i16 17696, i16 16385, i16 16385, i16 16385, i16 17699, i16 16385, i16 16385, i16 16385, i16 17702, i16 16385, i16 16385, i16 16385, i16 17705, i16 16385, i16 16385, i16 16385, i16 17708, i16 16385, i16 16385, i16 16385, i16 17711, i16 16385, i16 16385, i16 16385, i16 17714, i16 16385, i16 16385, i16 16385, i16 17717, i16 16385, i16 16385, i16 16385, i16 17720, i16 16385, i16 16385, i16 16385, i16 17723, i16 16385, i16 16385, i16 16385, i16 17726, i16 16385, i16 16385, i16 16385, i16 17729, i16 16385, i16 16385, i16 16385, i16 17732, i16 16385, i16 16385, i16 16385, i16 17735, i16 16385, i16 16385, i16 16385, i16 17738, i16 16385, i16 16385, i16 16385, i16 17741, i16 16385, i16 16385, i16 16385, i16 17744, i16 16385, i16 16385, i16 16385, i16 17747, i16 16385, i16 16385, i16 16385, i16 17750, i16 16385, i16 16385, i16 16385, i16 17753, i16 16385, i16 16385, i16 16385, i16 17756, i16 16385, i16 16385, i16 16385, i16 17759, i16 16385, i16 16385, i16 16385, i16 17762, i16 16385, i16 16385, i16 16385, i16 17765, i16 16385, i16 16385, i16 16385, i16 17768, i16 16385, i16 16385, i16 16385, i16 17771, i16 16385, i16 16385, i16 16385, i16 17774, i16 16385, i16 16385, i16 16385, i16 17777, i16 16385, i16 16385, i16 16385, i16 17780, i16 16385, i16 16385, i16 16385, i16 17783, i16 16385, i16 16385, i16 16385, i16 17786, i16 16385, i16 16385, i16 16385, i16 17789, i16 16385, i16 16385, i16 16385, i16 17792, i16 16385, i16 16385, i16 16385, i16 17795, i16 16385, i16 16385, i16 16385, i16 17798, i16 16385, i16 16385, i16 16385, i16 17801, i16 16385, i16 16385, i16 16385, i16 17804, i16 16385, i16 16385, i16 16385, i16 17807, i16 16385, i16 16385, i16 16385, i16 17810, i16 16385, i16 16385, i16 16385, i16 17813, i16 16385, i16 16385, i16 16385, i16 17816, i16 16385, i16 16385, i16 16385, i16 17819, i16 16385, i16 16385, i16 16385, i16 17822, i16 16385, i16 16385, i16 16385, i16 17825, i16 16385, i16 16385, i16 16385, i16 17828, i16 16385, i16 16385, i16 16385, i16 17831, i16 16385, i16 16385, i16 16385, i16 17834, i16 16385, i16 16385, i16 16385, i16 17837, i16 16385, i16 16385, i16 16385, i16 17840, i16 16385, i16 16385, i16 16385, i16 17843, i16 16385, i16 16385, i16 16385, i16 17846, i16 16385, i16 16385, i16 16385, i16 17849, i16 16385, i16 16385, i16 16385, i16 17852, i16 16385, i16 16385, i16 16385, i16 17855, i16 16385, i16 16385, i16 16385, i16 17858, i16 16385, i16 16385, i16 16385, i16 17861, i16 16385, i16 16385, i16 16385, i16 17864, i16 16385, i16 16385, i16 16385, i16 17867, i16 16385, i16 16385, i16 16385, i16 17870, i16 16385, i16 16385, i16 16385, i16 17873, i16 16385, i16 16385, i16 16385, i16 17876, i16 16385, i16 16385, i16 16385, i16 17879, i16 16385, i16 16385, i16 16385, i16 17882, i16 16385, i16 16385, i16 16385, i16 17885, i16 16385, i16 16385, i16 16385, i16 17888, i16 16385, i16 16385, i16 16385, i16 17891, i16 16385, i16 16385, i16 16385, i16 17894, i16 16385, i16 16385, i16 16385, i16 17897, i16 16385, i16 16385, i16 16385, i16 17900, i16 16385, i16 16385, i16 16385, i16 17903, i16 16385, i16 16385, i16 16385, i16 17906, i16 16385, i16 16385, i16 16385, i16 17909, i16 16385, i16 16385, i16 16385, i16 17912, i16 16385, i16 16385, i16 16385, i16 17915, i16 16385, i16 16385, i16 16385, i16 17918, i16 16385, i16 16385, i16 16385, i16 17921, i16 16385, i16 16385, i16 16385, i16 17924, i16 16385, i16 16385, i16 16385, i16 17927, i16 16385, i16 16385, i16 16385, i16 17930, i16 16385, i16 16385, i16 16385, i16 17933, i16 16385, i16 16385, i16 16385, i16 17936, i16 16385, i16 16385, i16 16385, i16 17939, i16 16385, i16 16385, i16 16385, i16 17942, i16 16385, i16 16385, i16 16385, i16 17945, i16 16385, i16 16385, i16 16385, i16 17948, i16 16385, i16 16385, i16 16385, i16 17951, i16 16385, i16 16385, i16 16385, i16 16779, i16 16385, i16 16385, i16 16389, i16 32767, i16 16384, i16 16384, i16 16384, i16 17284, i16 17285, i16 0, i16 895, i16 895, i16 0, i16 17273, i16 17273, i16 0, i16 16434, i16 16428, i16 0, i16 16393, i16 16393, i16 0, i16 97, i16 905, i16 0, i16 14, i16 14, i16 0, i16 3, i16 3, i16 0, i16 4, i16 3, i16 0, i16 5, i16 3, i16 0, i16 6, i16 3, i16 0, i16 16425, i16 16428, i16 0, i16 16433, i16 17283, i16 0, i16 16437, i16 16437, i16 0, i16 16481, i16 17289, i16 0, i16 16398, i16 16398, i16 0, i16 91, i16 906, i16 0, i16 14, i16 13, i16 0, i16 3, i16 4, i16 0, i16 4, i16 4, i16 0, i16 14, i16 890, i16 0, i16 14, i16 892, i16 0, i16 16488, i16 16488, i16 0, i16 17279, i16 17279, i16 0, i16 16488, i16 16492, i16 0, i16 16492, i16 16492, i16 0, i16 17797, i16 17797, i16 0, i16 16393, i16 17601, i16 0, i16 16393, i16 17600, i16 0, i16 16393, i16 17273, i16 0, i16 17273, i16 16393, i16 0, i16 17273, i16 17601, i16 0, i16 17273, i16 17600, i16 0, i16 17798, i16 17798, i16 0, i16 17799, i16 17799, i16 0, i16 16393, i16 17796, i16 0, i16 16393, i16 17795, i16 0, i16 16393, i16 17794, i16 0, i16 16393, i16 17793, i16 0, i16 17273, i16 17796, i16 0, i16 17273, i16 17795, i16 0, i16 17273, i16 17794, i16 0, i16 17273, i16 17793, i16 0, i16 17800, i16 17800, i16 0, i16 17801, i16 17801, i16 0, i16 17802, i16 17802, i16 0, i16 17804, i16 17804, i16 0, i16 17805, i16 17805, i16 0, i16 17807, i16 17807, i16 0, i16 16475, i16 17934, i16 0, i16 16387, i16 16388, i16 0, i16 16388, i16 16388, i16 0, i16 16475, i16 17289, i16 0, i16 16398, i16 17274, i16 0, i16 16398, i16 17276, i16 0, i16 16475, i16 17290, i16 0, i16 16458, i16 17935, i16 17290, i16 16475, i16 0, i16 17279, i16 17279, i16 17279, i16 17279, i16 0, i16 16389, i16 16390, i16 16388, i16 16387, i16 0, i16 17296, i16 17302, i16 0, i16 17329, i16 17279, i16 0, i16 17296, i16 17303, i16 0, i16 17311, i16 17334, i16 0, i16 17314, i16 17334, i16 0, i16 17193, i16 17193, i16 0, i16 2, i16 2, i16 0, i16 17200, i16 17200, i16 0, i16 17193, i16 18178, i16 0, i16 17201, i16 17201, i16 0, i16 17193, i16 17285, i16 0, i16 17202, i16 17202, i16 0, i16 17193, i16 17193, i16 18178, i16 0, i16 2, i16 2, i16 2, i16 0, i16 17203, i16 17203, i16 17203, i16 0, i16 17193, i16 17193, i16 17285, i16 0, i16 17204, i16 17204, i16 17204, i16 0, i16 18178, i16 17267, i16 0, i16 881, i16 881, i16 0, i16 16385, i16 16385, i16 0, i16 18080, i16 18080, i16 0, i16 17408, i16 17427, i16 0, i16 17410, i16 17410, i16 0, i16 17408, i16 17408, i16 0, i16 18080, i16 17425, i16 0, i16 17426, i16 17426, i16 0, i16 17851, i16 17736, i16 0, i16 1467, i16 1352, i16 0, i16 17901, i16 17901, i16 0, i16 1467, i16 1353, i16 0, i16 17902, i16 17902, i16 0, i16 17851, i16 17738, i16 0, i16 1467, i16 1354, i16 0, i16 17903, i16 17903, i16 0, i16 1467, i16 1355, i16 0, i16 17904, i16 17904, i16 0, i16 17851, i16 17741, i16 0, i16 1467, i16 1357, i16 0, i16 17905, i16 17905, i16 0, i16 1467, i16 1358, i16 0, i16 17906, i16 17906, i16 0, i16 17851, i16 17745, i16 0, i16 1467, i16 1362, i16 0, i16 17907, i16 17907, i16 0, i16 1467, i16 1363, i16 0, i16 17908, i16 17908, i16 0, i16 17065, i16 17148, i16 0, i16 1770, i16 1770, i16 0, i16 1772, i16 1772, i16 0, i16 1774, i16 1774, i16 0, i16 17311, i16 17205, i16 0, i16 1814, i16 1814, i16 0, i16 17325, i16 17148, i16 0, i16 1830, i16 1830, i16 0, i16 17427, i16 17220, i16 0, i16 1840, i16 1840, i16 0, i16 16470, i16 16579, i16 0, i16 16530, i16 16530, i16 0, i16 16532, i16 16532, i16 0, i16 16534, i16 16534, i16 0, i16 16630, i16 16630, i16 0, i16 16389, i16 16389, i16 0, i16 16637, i16 16637, i16 0, i16 16630, i16 16681, i16 0, i16 16638, i16 16638, i16 0, i16 16630, i16 16739, i16 0, i16 16639, i16 16639, i16 0, i16 16630, i16 16630, i16 16681, i16 0, i16 16389, i16 16389, i16 16389, i16 0, i16 16640, i16 16640, i16 16640, i16 0, i16 16630, i16 16630, i16 16739, i16 0, i16 16641, i16 16641, i16 16641, i16 0, i16 16681, i16 16718, i16 0, i16 16716, i16 16716, i16 0, i16 16769, i16 16642, i16 0, i16 16789, i16 16789, i16 0, i16 16791, i16 16579, i16 0, i16 16859, i16 16859, i16 0, i16 16892, i16 16917, i16 0, i16 16894, i16 16894, i16 0, i16 16892, i16 16892, i16 0, i16 16388, i16 16915, i16 0, i16 16916, i16 16916, i16 0, i16 16917, i16 16661, i16 0, i16 16934, i16 16934, i16 0, i16 18043, i16 17928, i16 0, i16 18093, i16 18093, i16 0, i16 18043, i16 17929, i16 0, i16 18094, i16 18094, i16 0, i16 18043, i16 17930, i16 0, i16 18095, i16 18095, i16 0, i16 18043, i16 17931, i16 0, i16 18096, i16 18096, i16 0, i16 18043, i16 17933, i16 0, i16 18097, i16 18097, i16 0, i16 18043, i16 17934, i16 0, i16 18098, i16 18098, i16 0, i16 18043, i16 17937, i16 0, i16 18043, i16 17938, i16 0, i16 18099, i16 18099, i16 0, i16 18043, i16 17939, i16 0, i16 18100, i16 18100, i16 0, i16 16510, i16 16788, i16 0, i16 16510, i16 16789, i16 0, i16 16510, i16 16790, i16 0, i16 16510, i16 16791, i16 0, i16 16510, i16 16792, i16 0, i16 16516, i16 16788, i16 0, i16 16516, i16 16789, i16 0, i16 16516, i16 16790, i16 0, i16 16516, i16 16791, i16 0, i16 16516, i16 16792, i16 0, i16 16522, i16 16788, i16 0, i16 16522, i16 16789, i16 0, i16 16522, i16 16790, i16 0, i16 16522, i16 16791, i16 0, i16 16522, i16 16792, i16 0, i16 16528, i16 16788, i16 0, i16 16528, i16 16789, i16 0, i16 16528, i16 16790, i16 0, i16 16528, i16 16791, i16 0, i16 16528, i16 16792, i16 0, i16 16534, i16 16788, i16 0, i16 16534, i16 16789, i16 0, i16 16534, i16 16790, i16 0, i16 16534, i16 16791, i16 0, i16 16534, i16 16792, i16 0, i16 16540, i16 16788, i16 0, i16 16540, i16 16789, i16 0, i16 16540, i16 16790, i16 0, i16 16540, i16 16791, i16 0, i16 16540, i16 16792, i16 0, i16 16546, i16 16788, i16 0, i16 16546, i16 16789, i16 0, i16 16546, i16 16790, i16 0, i16 16546, i16 16791, i16 0, i16 16546, i16 16792, i16 0, i16 16552, i16 16788, i16 0, i16 16552, i16 16789, i16 0, i16 16552, i16 16790, i16 0, i16 16552, i16 16791, i16 0, i16 16552, i16 16792, i16 0, i16 16558, i16 16788, i16 0, i16 16558, i16 16789, i16 0, i16 16558, i16 16790, i16 0, i16 16558, i16 16791, i16 0, i16 16558, i16 16792, i16 0, i16 16564, i16 16788, i16 0, i16 16564, i16 16789, i16 0, i16 16564, i16 16790, i16 0, i16 16564, i16 16791, i16 0, i16 16564, i16 16792, i16 0, i16 16570, i16 16788, i16 0, i16 16570, i16 16789, i16 0, i16 16570, i16 16790, i16 0, i16 16570, i16 16791, i16 0, i16 16570, i16 16792, i16 0, i16 16576, i16 16788, i16 0, i16 16576, i16 16789, i16 0, i16 16576, i16 16790, i16 0, i16 16576, i16 16791, i16 0, i16 16576, i16 16792, i16 0, i16 16582, i16 16788, i16 0, i16 16582, i16 16789, i16 0, i16 16582, i16 16790, i16 0, i16 16582, i16 16791, i16 0, i16 16582, i16 16792, i16 0, i16 16588, i16 16788, i16 0, i16 16588, i16 16789, i16 0, i16 16588, i16 16790, i16 0, i16 16588, i16 16791, i16 0, i16 16588, i16 16792, i16 0, i16 16594, i16 16788, i16 0, i16 16594, i16 16789, i16 0, i16 16594, i16 16790, i16 0, i16 16594, i16 16791, i16 0, i16 16594, i16 16792, i16 0, i16 16600, i16 16788, i16 0, i16 16600, i16 16789, i16 0, i16 16600, i16 16790, i16 0, i16 16600, i16 16791, i16 0, i16 16600, i16 16792, i16 0, i16 16606, i16 16788, i16 0, i16 16606, i16 16789, i16 0, i16 16606, i16 16790, i16 0, i16 16606, i16 16791, i16 0, i16 16606, i16 16792, i16 0, i16 16612, i16 16788, i16 0, i16 16612, i16 16789, i16 0, i16 16612, i16 16790, i16 0, i16 16612, i16 16791, i16 0, i16 16612, i16 16792, i16 0, i16 16618, i16 16788, i16 0, i16 16618, i16 16789, i16 0, i16 16618, i16 16790, i16 0, i16 16618, i16 16791, i16 0, i16 16618, i16 16792, i16 0, i16 16624, i16 16788, i16 0, i16 16624, i16 16789, i16 0, i16 16624, i16 16790, i16 0, i16 16624, i16 16791, i16 0, i16 16624, i16 16792, i16 0, i16 16630, i16 16788, i16 0, i16 16630, i16 16789, i16 0, i16 16630, i16 16790, i16 0, i16 16630, i16 16791, i16 0, i16 16630, i16 16792, i16 0, i16 16636, i16 16788, i16 0, i16 16636, i16 16789, i16 0, i16 16636, i16 16790, i16 0, i16 16636, i16 16791, i16 0, i16 16636, i16 16792, i16 0, i16 16642, i16 16788, i16 0, i16 16642, i16 16789, i16 0, i16 16642, i16 16790, i16 0, i16 16642, i16 16791, i16 0, i16 16642, i16 16792, i16 0, i16 16648, i16 16788, i16 0, i16 16648, i16 16789, i16 0, i16 16648, i16 16790, i16 0, i16 16648, i16 16791, i16 0, i16 16648, i16 16792, i16 0, i16 16654, i16 16788, i16 0, i16 16654, i16 16789, i16 0, i16 16654, i16 16790, i16 0, i16 16654, i16 16791, i16 0, i16 16654, i16 16792, i16 0, i16 16660, i16 16788, i16 0, i16 16660, i16 16789, i16 0, i16 16660, i16 16790, i16 0, i16 16660, i16 16791, i16 0, i16 16660, i16 16792, i16 0, i16 16666, i16 16788, i16 0, i16 16666, i16 16789, i16 0, i16 16666, i16 16790, i16 0, i16 16666, i16 16791, i16 0, i16 16666, i16 16792, i16 0, i16 16672, i16 16788, i16 0, i16 16672, i16 16789, i16 0, i16 16672, i16 16790, i16 0, i16 16672, i16 16791, i16 0, i16 16672, i16 16792, i16 0, i16 16678, i16 16788, i16 0, i16 16678, i16 16789, i16 0, i16 16678, i16 16790, i16 0, i16 16678, i16 16791, i16 0, i16 16678, i16 16792, i16 0, i16 16684, i16 16788, i16 0, i16 16684, i16 16789, i16 0, i16 16684, i16 16790, i16 0, i16 16684, i16 16791, i16 0, i16 16684, i16 16792, i16 0, i16 16690, i16 16788, i16 0, i16 16690, i16 16789, i16 0, i16 16690, i16 16790, i16 0, i16 16690, i16 16791, i16 0, i16 16690, i16 16792, i16 0, i16 16696, i16 16788, i16 0, i16 16696, i16 16789, i16 0, i16 16696, i16 16790, i16 0, i16 16696, i16 16791, i16 0, i16 16696, i16 16792, i16 0, i16 16702, i16 16788, i16 0, i16 16702, i16 16789, i16 0, i16 16702, i16 16790, i16 0, i16 16702, i16 16791, i16 0, i16 16702, i16 16792, i16 0, i16 16708, i16 16788, i16 0, i16 16708, i16 16789, i16 0, i16 16708, i16 16790, i16 0, i16 16708, i16 16791, i16 0, i16 16708, i16 16792, i16 0, i16 16714, i16 16788, i16 0, i16 16714, i16 16789, i16 0, i16 16714, i16 16790, i16 0, i16 16714, i16 16791, i16 0, i16 16714, i16 16792, i16 0, i16 16721, i16 16788, i16 0, i16 16721, i16 16789, i16 0, i16 16721, i16 16790, i16 0, i16 16721, i16 16791, i16 0, i16 16721, i16 16792, i16 0, i16 16728, i16 16788, i16 0, i16 16728, i16 16789, i16 0, i16 16728, i16 16790, i16 0, i16 16728, i16 16791, i16 0, i16 16728, i16 16792, i16 0, i16 16734, i16 16788, i16 0, i16 16734, i16 16789, i16 0, i16 16734, i16 16790, i16 0, i16 16734, i16 16791, i16 0, i16 16734, i16 16792, i16 0, i16 16740, i16 16788, i16 0, i16 16740, i16 16789, i16 0, i16 16740, i16 16790, i16 0, i16 16740, i16 16791, i16 0, i16 16740, i16 16792, i16 0, i16 16746, i16 16788, i16 0, i16 16746, i16 16789, i16 0, i16 16746, i16 16790, i16 0, i16 16746, i16 16791, i16 0, i16 16746, i16 16792, i16 0, i16 16752, i16 16788, i16 0, i16 16752, i16 16789, i16 0, i16 16752, i16 16790, i16 0, i16 16752, i16 16791, i16 0, i16 16752, i16 16792, i16 0, i16 16758, i16 16788, i16 0, i16 16758, i16 16789, i16 0, i16 16758, i16 16790, i16 0, i16 16758, i16 16791, i16 0, i16 16758, i16 16792, i16 0, i16 16764, i16 16788, i16 0, i16 16764, i16 16789, i16 0, i16 16764, i16 16790, i16 0, i16 16764, i16 16791, i16 0, i16 16764, i16 16792, i16 0, i16 16770, i16 16788, i16 0, i16 16770, i16 16789, i16 0, i16 16770, i16 16790, i16 0, i16 16770, i16 16791, i16 0, i16 16770, i16 16792, i16 0, i16 14, i16 17, i16 8, i16 13, i16 15, i16 6, i16 12, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5, i16 10, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9, i16 7, i16 11, i16 0, i16 0, i16 16, i16 3, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4, i16 0, i16 1, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 15, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 168, i16 173, i16 100, i16 105, i16 110, i16 116, i16 125, i16 131, i16 140, i16 144, i16 146, i16 148, i16 151, i16 154, i16 160, i16 163, i16 120, i16 124, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 26, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 82, i16 114, i16 5, i16 119, i16 0, i16 32, i16 0, i16 136, i16 111, i16 6, i16 17, i16 8, i16 167, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 16, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 36, i16 0, i16 37, i16 0, i16 0, i16 0, i16 0, i16 0, i16 38, i16 0, i16 0, i16 0, i16 0, i16 39, i16 0, i16 40, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 55, i16 123, i16 129, i16 134, i16 139, i16 0, i16 52, i16 99, i16 104, i16 109, i16 115, i16 0, i16 0, i16 0, i16 0, i16 0, i16 77, i16 85, i16 89, i16 0, i16 170, i16 174, i16 178, i16 180, i16 147, i16 0, i16 0, i16 0, i16 0, i16 0, i16 35, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 25, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 61, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 80, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 58, i16 0, i16 0, i16 12, i16 0, i16 0, i16 0, i16 28, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 159, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 143, i16 145, i16 0, i16 0, i16 0, i16 0, i16 172, i16 177, i16 0, i16 0, i16 0, i16 0, i16 47, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 41, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 191, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 13, i16 0, i16 24, i16 51, i16 87, i16 93, i16 102, i16 70, i16 142, i16 175, i16 0, i16 76, i16 90, i16 72, i16 49, i16 4, i16 92, i16 53, i16 96, i16 0, i16 54, i16 0, i16 30, i16 97, i16 18, i16 31, i16 0, i16 0, i16 0, i16 79, i16 91, i16 10, i16 45, i16 0, i16 0, i16 0, i16 158, i16 33, i16 155, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9, i16 184, i16 81, i16 189, i16 196, i16 64, i16 94, i16 75, i16 88, i16 98, i16 66, i16 46, i16 63, i16 187, i16 84, i16 0, i16 50, i16 95, i16 101, i16 106, i16 150, i16 162, i16 133, i16 138, i16 169, i16 192, i16 126, i16 83, i16 183, i16 153, i16 135, i16 179, i16 112, i16 117, i16 122, i16 128, i16 132, i16 185, i16 194, i16 156, i16 195, i16 186, i16 200, i16 67, i16 176, i16 149, i16 181, i16 188, i16 57, i16 141, i16 121, i16 127, i16 130, i16 137, i16 103, i16 107, i16 113, i16 118, i16 56, i16 108, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 152, i16 43, i16 34, i16 7, i16 44, i16 171, i16 0, i16 0, i16 0, i16 165, i16 42, i16 166, i16 0, i16 0, i16 59, i16 19, i16 197, i16 199, i16 22, i16 20, i16 23, i16 21, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 48, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 27, i16 0, i16 0, i16 0, i16 182, i16 198, i16 60, i16 190, i16 62, i16 193, i16 65, i16 157, i16 161, i16 164, i16 69, i16 68, i16 71, i16 78, i16 74, i16 86, i16 0, i16 2, i16 29, i16 3, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 14, i16 73, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1292, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1197, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1199, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 557, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 597, i16 598, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 691, i16 692, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1211, i16 1210, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 701, i16 702, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 731, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 223, i16 230, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 245, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1198, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 268, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1298, i16 1296, i16 1297, i16 1295, i16 0, i16 0, i16 0, i16 0, i16 1569, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1570, i16 1571, i16 1572, i16 1573, i16 0, i16 0, i16 0, i16 0, i16 1106, i16 1107, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1661, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 246, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 247, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 250, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 251, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 253, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 269, i16 0, i16 0, i16 0, i16 270, i16 0, i16 0, i16 0, i16 376, i16 378, i16 379, i16 380, i16 0, i16 0, i16 0, i16 263, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 266, i16 267, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1290, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 581, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 584, i16 583, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 609, i16 610, i16 611, i16 612, i16 0, i16 0, i16 0, i16 0, i16 152, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1207, i16 1206, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 189, i16 0, i16 0, i16 0, i16 244, i16 0, i16 0, i16 0, i16 1224, i16 0, i16 0, i16 1223, i16 0, i16 0, i16 0, i16 0, i16 1226, i16 0, i16 0, i16 1225, i16 0, i16 0, i16 0, i16 0, i16 1228, i16 0, i16 0, i16 1227, i16 0, i16 0, i16 0, i16 0, i16 1230, i16 0, i16 0, i16 1229, i16 0, i16 0, i16 0, i16 0, i16 1232, i16 0, i16 0, i16 1231, i16 0, i16 0, i16 0, i16 0, i16 1234, i16 0, i16 0, i16 1233, i16 0, i16 0, i16 0, i16 0, i16 1241, i16 1240, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1243, i16 1242, i16 1205, i16 1204, i16 0, i16 0, i16 0, i16 0, i16 1247, i16 1246, i16 0, i16 0, i16 1249, i16 1248, i16 0, i16 0, i16 226, i16 228, i16 225, i16 0, i16 0, i16 0, i16 0, i16 0, i16 760, i16 0, i16 734, i16 0, i16 748, i16 0, i16 0, i16 260, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 264, i16 265, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 554, i16 0, i16 0, i16 0, i16 0, i16 552, i16 0, i16 0, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 0, i16 1069, i16 1070, i16 1071, i16 1079, i16 1072, i16 1081, i16 1657, i16 0, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 0, i16 564, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1076, i16 0, i16 0, i16 0, i16 0, i16 0, i16 577, i16 0, i16 1367, i16 1368, i16 1369, i16 1370, i16 1371, i16 1372, i16 1373, i16 0, i16 1127, i16 1125, i16 1124, i16 1126, i16 1128, i16 1129, i16 1130, i16 0, i16 1142, i16 1140, i16 1139, i16 1141, i16 1143, i16 1144, i16 1145, i16 0, i16 1196, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 256, i16 257, i16 255, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1024, i16 984, i16 489, i16 409, i16 0, i16 0, i16 487, i16 407, i16 258, i16 261, i16 259, i16 262, i16 0, i16 0, i16 0, i16 0, i16 1027, i16 987, i16 492, i16 412, i16 1028, i16 988, i16 1029, i16 989, i16 773, i16 0, i16 775, i16 825, i16 771, i16 822, i16 749, i16 800, i16 774, i16 776, i16 746, i16 766, i16 779, i16 786, i16 790, i16 794, i16 1032, i16 992, i16 500, i16 420, i16 1033, i16 993, i16 503, i16 424, i16 781, i16 792, i16 768, i16 769, i16 767, i16 821, i16 808, i16 0, i16 1037, i16 535, i16 534, i16 536, i16 1043, i16 545, i16 550, i16 1002, i16 526, i16 449, i16 529, i16 452, i16 1039, i16 999, i16 1041, i16 1001, i16 1038, i16 998, i16 521, i16 444, i16 525, i16 448, i16 527, i16 450, i16 271, i16 575, i16 576, i16 1075, i16 578, i16 579, i16 580, i16 1077, i16 1040, i16 1000, i16 1042, i16 1003, i16 531, i16 454, i16 532, i16 455, i16 1555, i16 1557, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1300, i16 1299, i16 0, i16 0, i16 0, i16 0, i16 1293, i16 1291, i16 1045, i16 1006, i16 539, i16 462, i16 542, i16 465, i16 546, i16 470, i16 791, i16 793, i16 798, i16 801, i16 802, i16 803, i16 804, i16 805, i16 1049, i16 1051, i16 1053, i16 1055, i16 1057, i16 1059, i16 1061, i16 1063, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 538, i16 461, i16 540, i16 463, i16 1044, i16 1005, i16 537, i16 460, i16 1050, i16 1052, i16 1054, i16 1056, i16 1058, i16 1060, i16 1062, i16 1064, i16 1306, i16 1305, i16 1308, i16 1307, i16 0, i16 0, i16 0, i16 0, i16 796, i16 730, i16 732, i16 733, i16 735, i16 737, i16 739, i16 741, i16 1565, i16 1566, i16 0, i16 0, i16 0, i16 0, i16 589, i16 590, i16 543, i16 544, i16 1637, i16 181, i16 213, i16 182, i16 224, i16 151, i16 799, i16 809, i16 813, i16 797, i16 0, i16 0, i16 0, i16 0, i16 290, i16 291, i16 0, i16 292, i16 293, i16 294, i16 295, i16 296, i16 547, i16 549, i16 472, i16 1048, i16 1009, i16 1047, i16 1008, i16 0, i16 551, i16 1074, i16 553, i16 555, i16 556, i16 558, i16 559, i16 560, i16 807, i16 758, i16 811, i16 810, i16 814, i16 816, i16 820, i16 823, i16 297, i16 298, i16 299, i16 300, i16 0, i16 0, i16 0, i16 0, i16 1065, i16 1067, i16 272, i16 273, i16 274, i16 275, i16 0, i16 0, i16 1066, i16 1068, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 561, i16 1567, i16 1568, i16 0, i16 0, i16 0, i16 0, i16 0, i16 562, i16 563, i16 565, i16 567, i16 568, i16 569, i16 570, i16 571, i16 819, i16 778, i16 780, i16 782, i16 783, i16 785, i16 787, i16 789, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 566, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1078, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 824, i16 826, i16 795, i16 818, i16 806, i16 817, i16 827, i16 0, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1108, i16 1109, i16 1088, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 572, i16 573, i16 574, i16 0, i16 0, i16 0, i16 0, i16 0, i16 828, i16 829, i16 830, i16 831, i16 832, i16 833, i16 834, i16 835, i16 1344, i16 1345, i16 1346, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1089, i16 695, i16 696, i16 697, i16 698, i16 1090, i16 1091, i16 585, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 836, i16 837, i16 839, i16 840, i16 841, i16 842, i16 843, i16 844, i16 838, i16 1131, i16 1132, i16 1134, i16 1133, i16 0, i16 1135, i16 1136, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 586, i16 587, i16 588, i16 1092, i16 1093, i16 593, i16 594, i16 595, i16 1100, i16 1101, i16 675, i16 676, i16 677, i16 678, i16 0, i16 0, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 845, i16 846, i16 847, i16 848, i16 849, i16 850, i16 851, i16 852, i16 591, i16 592, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 0, i16 596, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 853, i16 854, i16 855, i16 1137, i16 856, i16 1138, i16 857, i16 858, i16 599, i16 600, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 1117, i16 1118, i16 859, i16 860, i16 861, i16 862, i16 863, i16 864, i16 865, i16 866, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 1374, i16 1375, i16 1376, i16 1377, i16 1378, i16 1379, i16 1380, i16 1381, i16 1119, i16 1120, i16 1121, i16 1122, i16 1123, i16 0, i16 0, i16 0, i16 608, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 1632, i16 523, i16 1633, i16 1634, i16 1635, i16 533, i16 541, i16 1636, i16 867, i16 868, i16 869, i16 870, i16 871, i16 872, i16 873, i16 874, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 1382, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 875, i16 876, i16 877, i16 878, i16 879, i16 880, i16 881, i16 882, i16 620, i16 621, i16 622, i16 625, i16 626, i16 627, i16 628, i16 631, i16 365, i16 160, i16 192, i16 194, i16 191, i16 195, i16 241, i16 185, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 1390, i16 1391, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1646, i16 446, i16 1647, i16 1648, i16 1649, i16 456, i16 464, i16 1650, i16 623, i16 624, i16 633, i16 634, i16 629, i16 630, i16 1098, i16 1099, i16 883, i16 884, i16 885, i16 1153, i16 886, i16 1154, i16 887, i16 888, i16 374, i16 375, i16 158, i16 157, i16 234, i16 236, i16 238, i16 161, i16 1398, i16 1399, i16 1400, i16 1401, i16 1402, i16 1403, i16 1404, i16 0, i16 632, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 1146, i16 1147, i16 1148, i16 1150, i16 1149, i16 0, i16 1151, i16 1152, i16 1658, i16 1659, i16 1660, i16 954, i16 957, i16 959, i16 961, i16 964, i16 383, i16 0, i16 0, i16 0, i16 387, i16 388, i16 389, i16 390, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 391, i16 392, i16 219, i16 217, i16 0, i16 178, i16 180, i16 0, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 1163, i16 1164, i16 1165, i16 0, i16 0, i16 0, i16 0, i16 0, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 403, i16 402, i16 404, i16 405, i16 415, i16 414, i16 991, i16 416, i16 150, i16 159, i16 172, i16 215, i16 193, i16 216, i16 214, i16 169, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 1179, i16 1178, i16 1201, i16 1200, i16 0, i16 0, i16 0, i16 0, i16 413, i16 1642, i16 421, i16 422, i16 1643, i16 431, i16 1644, i16 1645, i16 674, i16 1094, i16 1095, i16 1096, i16 1097, i16 679, i16 680, i16 681, i16 164, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 167, i16 384, i16 438, i16 176, i16 377, i16 381, i16 382, i16 162, i16 423, i16 505, i16 426, i16 508, i16 429, i16 506, i16 427, i16 509, i16 168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 170, i16 171, i16 0, i16 0, i16 173, i16 174, i16 0, i16 0, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 430, i16 507, i16 428, i16 512, i16 434, i16 514, i16 436, i16 513, i16 177, i16 179, i16 212, i16 218, i16 156, i16 155, i16 165, i16 163, i16 690, i16 1102, i16 1103, i16 1104, i16 1105, i16 693, i16 694, i16 1110, i16 435, i16 433, i16 1035, i16 995, i16 520, i16 443, i16 0, i16 0, i16 1203, i16 1202, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1209, i16 1208, i16 0, i16 0, i16 0, i16 0, i16 1245, i16 1244, i16 699, i16 700, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 955, i16 956, i16 958, i16 0, i16 960, i16 0, i16 962, i16 963, i16 190, i16 474, i16 477, i16 1624, i16 1625, i16 481, i16 1626, i16 1627, i16 703, i16 1652, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 1215, i16 1214, i16 1213, i16 1212, i16 0, i16 0, i16 0, i16 0, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 965, i16 966, i16 968, i16 969, i16 277, i16 278, i16 280, i16 281, i16 711, i16 712, i16 713, i16 1653, i16 715, i16 716, i16 717, i16 718, i16 967, i16 276, i16 279, i16 1552, i16 1553, i16 1554, i16 0, i16 0, i16 971, i16 970, i16 972, i16 973, i16 974, i16 975, i16 977, i16 978, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 719, i16 720, i16 721, i16 722, i16 1654, i16 724, i16 725, i16 726, i16 466, i16 467, i16 1651, i16 183, i16 240, i16 184, i16 229, i16 332, i16 727, i16 1655, i16 1656, i16 0, i16 0, i16 0, i16 0, i16 0, i16 983, i16 994, i16 440, i16 439, i16 441, i16 442, i16 996, i16 231, i16 476, i16 396, i16 1016, i16 976, i16 475, i16 395, i16 1019, i16 979, i16 222, i16 393, i16 397, i16 1638, i16 1639, i16 401, i16 1640, i16 1641, i16 738, i16 742, i16 745, i16 0, i16 755, i16 0, i16 765, i16 777, i16 227, i16 187, i16 394, i16 175, i16 239, i16 154, i16 188, i16 153, i16 483, i16 482, i16 484, i16 485, i16 495, i16 494, i16 1031, i16 496, i16 740, i16 788, i16 736, i16 784, i16 761, i16 812, i16 763, i16 815, i16 997, i16 458, i16 457, i16 459, i16 1004, i16 468, i16 473, i16 469, i16 743, i16 744, i16 747, i16 750, i16 751, i16 752, i16 753, i16 754, i16 488, i16 408, i16 486, i16 406, i16 1026, i16 986, i16 1025, i16 985, i16 233, i16 0, i16 0, i16 0, i16 235, i16 237, i16 0, i16 0, i16 493, i16 1628, i16 501, i16 502, i16 1629, i16 510, i16 1630, i16 1631, i16 497, i16 417, i16 499, i16 419, i16 0, i16 0, i16 498, i16 418, i16 242, i16 220, i16 385, i16 386, i16 221, i16 243, i16 186, i16 166, i16 1011, i16 1010, i16 1012, i16 1013, i16 1014, i16 1015, i16 1017, i16 1018, i16 756, i16 757, i16 0, i16 759, i16 762, i16 764, i16 770, i16 772, i16 248, i16 0, i16 0, i16 0, i16 252, i16 0, i16 0, i16 0, i16 1020, i16 980, i16 1022, i16 982, i16 1021, i16 981, i16 480, i16 400, i16 254, i16 0, i16 0, i16 0, i16 249, i16 0, i16 0, i16 0, i16 1023, i16 1034, i16 517, i16 516, i16 518, i16 519, i16 1036, i16 232, i16 8, i16 13, i16 9, i16 5, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 14, i16 7, i16 11, i16 3, i16 6, i16 0, i16 0, i16 0, i16 0, i16 10, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 81, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8, i16 42, i16 98, i16 109, i16 122, i16 130, i16 140, i16 151, i16 164, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 35, i16 0, i16 108, i16 0, i16 110, i16 120, i16 125, i16 133, i16 0, i16 0, i16 0, i16 0, i16 15, i16 0, i16 141, i16 148, i16 112, i16 117, i16 160, i16 139, i16 149, i16 57, i16 167, i16 170, i16 174, i16 47, i16 60, i16 61, i16 39, i16 0, i16 0, i16 11, i16 92, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 43, i16 18, i16 0, i16 0, i16 10, i16 12, i16 51, i16 119, i16 93, i16 169, i16 172, i16 96, i16 0, i16 0, i16 28, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 23, i16 9, i16 0, i16 14, i16 66, i16 0, i16 67, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 32, i16 75, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 46, i16 147, i16 152, i16 156, i16 31, i16 0, i16 0, i16 157, i16 161, i16 0, i16 36, i16 0, i16 0, i16 0, i16 0, i16 0, i16 37, i16 22, i16 176, i16 0, i16 0, i16 38, i16 181, i16 63, i16 70, i16 48, i16 17, i16 0, i16 73, i16 74, i16 0, i16 0, i16 52, i16 102, i16 135, i16 155, i16 114, i16 171, i16 101, i16 173, i16 111, i16 121, i16 94, i16 127, i16 142, i16 103, i16 143, i16 104, i16 175, i16 180, i16 89, i16 62, i16 124, i16 71, i16 80, i16 83, i16 20, i16 49, i16 166, i16 95, i16 7, i16 106, i16 165, i16 26, i16 55, i16 153, i16 179, i16 154, i16 182, i16 56, i16 40, i16 41, i16 77, i16 158, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 79, i16 86, i16 0, i16 76, i16 82, i16 88, i16 0, i16 59, i16 69, i16 85, i16 99, i16 116, i16 131, i16 58, i16 68, i16 84, i16 97, i16 115, i16 128, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 78, i16 50, i16 87, i16 27, i16 33, i16 34, i16 123, i16 0, i16 44, i16 16, i16 24, i16 0, i16 25, i16 0, i16 3, i16 0, i16 45, i16 105, i16 107, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 126, i16 54, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 144, i16 177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 13, i16 21, i16 19, i16 0, i16 0, i16 53, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 29, i16 30, i16 129, i16 137, i16 146, i16 138, i16 134, i16 0, i16 0, i16 159, i16 178, i16 90, i16 118, i16 132, i16 163, i16 64, i16 72, i16 91, i16 113, i16 162, i16 145, i16 65, i16 150, i16 168, i16 100, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 136, i16 5, i16 6, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 592, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 161, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 172, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 167, i16 168, i16 169, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 170, i16 0, i16 171, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 714, i16 715, i16 864, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1505, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 524, i16 0, i16 525, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 581, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1348, i16 0, i16 0, i16 0, i16 1349, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1923, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 526, i16 527, i16 528, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 427, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 343, i16 344, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 290, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 594, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 742, i16 743, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1924, i16 146, i16 0, i16 1925, i16 0, i16 1926, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 232, i16 233, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 234, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 520, i16 521, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 522, i16 523, i16 0, i16 0, i16 0, i16 0, i16 0, i16 345, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 823, i16 824, i16 0, i16 0, i16 0, i16 0, i16 1762, i16 1763, i16 1772, i16 1773, i16 1824, i16 1825, i16 0, i16 0, i16 0, i16 0, i16 323, i16 324, i16 325, i16 326, i16 0, i16 0, i16 0, i16 0, i16 327, i16 0, i16 328, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1371, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 153, i16 154, i16 0, i16 0, i16 0, i16 0, i16 155, i16 0, i16 0, i16 0, i16 156, i16 0, i16 0, i16 0, i16 0, i16 0, i16 157, i16 158, i16 1148, i16 159, i16 1158, i16 1164, i16 1170, i16 0, i16 1187, i16 0, i16 1200, i16 1213, i16 0, i16 0, i16 0, i16 0, i16 1701, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 546, i16 0, i16 0, i16 0, i16 547, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 329, i16 0, i16 330, i16 0, i16 0, i16 331, i16 0, i16 0, i16 0, i16 332, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 333, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 358, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 225, i16 226, i16 0, i16 0, i16 227, i16 0, i16 228, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 229, i16 0, i16 230, i16 0, i16 0, i16 0, i16 231, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 1733, i16 1735, i16 1737, i16 1739, i16 0, i16 0, i16 0, i16 517, i16 518, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 519, i16 0, i16 0, i16 1310, i16 1311, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1312, i16 1313, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1314, i16 1315, i16 1316, i16 1317, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1353, i16 0, i16 1355, i16 0, i16 0, i16 0, i16 1358, i16 0, i16 0, i16 0, i16 0, i16 1362, i16 1363, i16 1366, i16 0, i16 0, i16 593, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 339, i16 340, i16 0, i16 0, i16 341, i16 342, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 348, i16 0, i16 0, i16 0, i16 0, i16 0, i16 349, i16 350, i16 351, i16 352, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 173, i16 174, i16 175, i16 176, i16 177, i16 0, i16 0, i16 180, i16 181, i16 0, i16 0, i16 0, i16 178, i16 179, i16 0, i16 0, i16 499, i16 500, i16 0, i16 0, i16 0, i16 501, i16 0, i16 0, i16 502, i16 0, i16 503, i16 504, i16 0, i16 0, i16 0, i16 282, i16 0, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 811, i16 812, i16 0, i16 0, i16 0, i16 0, i16 0, i16 894, i16 895, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 304, i16 305, i16 306, i16 307, i16 0, i16 0, i16 308, i16 309, i16 1700, i16 310, i16 0, i16 0, i16 311, i16 312, i16 313, i16 0, i16 1351, i16 1352, i16 1354, i16 1356, i16 1357, i16 1359, i16 1361, i16 1365, i16 1372, i16 1375, i16 1380, i16 1385, i16 1390, i16 1395, i16 1400, i16 0, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 75, i16 78, i16 76, i16 79, i16 77, i16 604, i16 605, i16 0, i16 658, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 672, i16 673, i16 674, i16 675, i16 676, i16 1364, i16 677, i16 678, i16 679, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1234, i16 1230, i16 1224, i16 1236, i16 1288, i16 1244, i16 1246, i16 1248, i16 1258, i16 1264, i16 1276, i16 1254, i16 0, i16 1280, i16 1292, i16 0, i16 1235, i16 1231, i16 1225, i16 1237, i16 1289, i16 1245, i16 1247, i16 1249, i16 1259, i16 1265, i16 1277, i16 1255, i16 0, i16 1281, i16 1293, i16 0, i16 476, i16 477, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1525, i16 1527, i16 1529, i16 1531, i16 1533, i16 1535, i16 1538, i16 1540, i16 1542, i16 1544, i16 1547, i16 1549, i16 1551, i16 1553, i16 1555, i16 0, i16 1526, i16 1528, i16 1530, i16 1532, i16 1534, i16 1536, i16 1539, i16 1541, i16 1543, i16 1545, i16 1548, i16 1550, i16 1552, i16 1554, i16 1556, i16 0, i16 505, i16 0, i16 0, i16 506, i16 0, i16 507, i16 508, i16 0, i16 0, i16 509, i16 510, i16 0, i16 0, i16 511, i16 512, i16 513, i16 514, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 515, i16 516, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1796, i16 1795, i16 881, i16 882, i16 885, i16 886, i16 1801, i16 1802, i16 1803, i16 903, i16 904, i16 1806, i16 1807, i16 905, i16 906, i16 907, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 1033, i16 1034, i16 1035, i16 1036, i16 1027, i16 1028, i16 1031, i16 1032, i16 1037, i16 1038, i16 1047, i16 1048, i16 1049, i16 1050, i16 1057, i16 1058, i16 778, i16 779, i16 780, i16 781, i16 782, i16 783, i16 784, i16 785, i16 870, i16 871, i16 876, i16 877, i16 972, i16 973, i16 966, i16 967, i16 529, i16 0, i16 530, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 0, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 1557, i16 1560, i16 1562, i16 1564, i16 1566, i16 1568, i16 1570, i16 1572, i16 1574, i16 1576, i16 1578, i16 1580, i16 1582, i16 1584, i16 1586, i16 1588, i16 1558, i16 1561, i16 1563, i16 1565, i16 1567, i16 1569, i16 1571, i16 1573, i16 1575, i16 1577, i16 1579, i16 1581, i16 1583, i16 1585, i16 1587, i16 1589, i16 279, i16 280, i16 281, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1818, i16 1819, i16 1830, i16 1831, i16 1007, i16 1008, i16 1832, i16 1833, i16 1013, i16 1014, i16 1834, i16 1835, i16 1029, i16 1030, i16 1838, i16 1839, i16 1055, i16 1056, i16 1098, i16 1099, i16 1090, i16 1091, i16 1100, i16 1101, i16 1088, i16 1089, i16 1096, i16 1097, i16 1852, i16 1853, i16 1854, i16 1855, i16 291, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 292, i16 0, i16 293, i16 0, i16 294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 548, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 0, i16 0, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 1318, i16 1319, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 295, i16 0, i16 296, i16 297, i16 0, i16 298, i16 299, i16 300, i16 301, i16 0, i16 0, i16 302, i16 0, i16 0, i16 0, i16 303, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 1836, i16 1837, i16 1053, i16 1054, i16 1045, i16 1046, i16 1051, i16 1052, i16 1086, i16 1087, i16 1846, i16 1847, i16 1066, i16 1067, i16 1074, i16 1075, i16 816, i16 817, i16 818, i16 819, i16 820, i16 1042, i16 1026, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 0, i16 0, i16 0, i16 0, i16 571, i16 0, i16 0, i16 0, i16 1844, i16 1845, i16 1094, i16 1095, i16 1862, i16 1863, i16 1126, i16 1127, i16 1128, i16 1877, i16 1878, i16 1881, i16 1882, i16 1879, i16 1880, i16 1040, i16 1590, i16 1592, i16 1594, i16 1596, i16 1598, i16 1600, i16 1602, i16 1604, i16 1606, i16 1608, i16 1610, i16 1612, i16 1614, i16 1616, i16 1618, i16 1620, i16 1591, i16 1593, i16 1595, i16 1597, i16 1599, i16 1601, i16 1603, i16 1605, i16 1607, i16 1609, i16 1611, i16 1613, i16 1615, i16 1617, i16 1619, i16 1621, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 314, i16 0, i16 0, i16 0, i16 0, i16 315, i16 0, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 0, i16 322, i16 0, i16 572, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 829, i16 830, i16 1790, i16 1791, i16 840, i16 841, i16 848, i16 849, i16 872, i16 873, i16 1799, i16 1800, i16 858, i16 859, i16 878, i16 879, i16 833, i16 834, i16 844, i16 845, i16 846, i16 847, i16 842, i16 843, i16 850, i16 851, i16 838, i16 839, i16 874, i16 875, i16 868, i16 869, i16 1860, i16 1861, i16 1858, i16 1859, i16 1864, i16 1865, i16 1866, i16 1867, i16 1868, i16 1869, i16 1121, i16 1122, i16 1119, i16 1120, i16 1134, i16 1135, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1350, i16 1452, i16 1457, i16 1462, i16 1467, i16 1472, i16 1477, i16 1482, i16 1487, i16 1490, i16 1493, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 74, i16 87, i16 120, i16 122, i16 119, i16 123, i16 143, i16 114, i16 94, i16 116, i16 683, i16 104, i16 141, i16 82, i16 117, i16 81, i16 1103, i16 0, i16 0, i16 0, i16 0, i16 1142, i16 1143, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1360, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1370, i16 0, i16 1622, i16 1624, i16 1626, i16 1628, i16 1630, i16 1632, i16 1634, i16 1636, i16 1638, i16 1640, i16 1642, i16 1644, i16 1646, i16 1648, i16 1650, i16 1652, i16 1367, i16 1368, i16 1369, i16 1373, i16 1374, i16 1376, i16 1377, i16 1378, i16 1379, i16 1381, i16 1382, i16 1383, i16 1384, i16 1386, i16 1387, i16 1388, i16 1623, i16 1625, i16 1627, i16 1629, i16 1631, i16 1633, i16 1635, i16 1637, i16 1639, i16 1641, i16 1643, i16 1645, i16 1647, i16 1649, i16 1651, i16 1653, i16 1112, i16 1113, i16 1124, i16 1125, i16 1136, i16 1137, i16 1130, i16 1131, i16 1132, i16 1133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 92, i16 1953, i16 730, i16 1954, i16 1955, i16 765, i16 810, i16 822, i16 837, i16 853, i16 884, i16 889, i16 1956, i16 919, i16 1957, i16 942, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 1887, i16 1810, i16 944, i16 1816, i16 952, i16 1820, i16 1828, i16 134, i16 1822, i16 1062, i16 1842, i16 1070, i16 1848, i16 1872, i16 1840, i16 1041, i16 1888, i16 1811, i16 945, i16 1817, i16 953, i16 1821, i16 1829, i16 133, i16 1823, i16 1063, i16 1843, i16 1071, i16 1849, i16 1873, i16 1841, i16 1129, i16 353, i16 0, i16 354, i16 0, i16 0, i16 355, i16 0, i16 0, i16 1889, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 865, i16 964, i16 965, i16 1072, i16 1073, i16 1076, i16 1077, i16 1078, i16 1079, i16 1082, i16 1083, i16 1080, i16 1081, i16 0, i16 718, i16 719, i16 356, i16 357, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 359, i16 360, i16 361, i16 362, i16 0, i16 0, i16 363, i16 364, i16 365, i16 366, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1389, i16 1391, i16 1392, i16 1393, i16 1394, i16 1396, i16 1397, i16 1398, i16 1399, i16 1401, i16 1402, i16 1404, i16 1405, i16 1407, i16 1408, i16 1410, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 1905, i16 445, i16 446, i16 1906, i16 447, i16 1907, i16 448, i16 449, i16 1908, i16 450, i16 451, i16 1909, i16 452, i16 453, i16 454, i16 1910, i16 1138, i16 1139, i16 1140, i16 1141, i16 1144, i16 1145, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 118, i16 1948, i16 729, i16 1949, i16 1950, i16 764, i16 809, i16 821, i16 836, i16 1794, i16 883, i16 888, i16 1951, i16 918, i16 1952, i16 941, i16 1654, i16 1656, i16 1658, i16 1660, i16 1662, i16 1664, i16 1666, i16 1668, i16 1670, i16 1672, i16 1674, i16 1676, i16 1678, i16 1680, i16 1682, i16 1684, i16 1655, i16 1657, i16 1659, i16 1661, i16 1663, i16 1665, i16 1667, i16 1669, i16 1671, i16 1673, i16 1675, i16 1677, i16 1679, i16 1681, i16 1683, i16 1685, i16 1911, i16 455, i16 456, i16 1912, i16 457, i16 458, i16 459, i16 1913, i16 1914, i16 460, i16 461, i16 1915, i16 462, i16 463, i16 464, i16 1916, i16 890, i16 891, i16 896, i16 897, i16 898, i16 899, i16 909, i16 910, i16 911, i16 912, i16 915, i16 916, i16 913, i16 914, i16 920, i16 921, i16 1403, i16 1406, i16 1409, i16 1412, i16 1417, i16 1422, i16 1427, i16 1432, i16 1437, i16 1442, i16 1447, i16 0, i16 0, i16 0, i16 0, i16 0, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 1411, i16 1413, i16 1414, i16 1415, i16 1416, i16 1418, i16 1419, i16 1420, i16 1421, i16 1423, i16 1424, i16 1425, i16 1426, i16 1428, i16 1429, i16 1430, i16 135, i16 334, i16 0, i16 0, i16 137, i16 139, i16 0, i16 0, i16 0, i16 0, i16 335, i16 336, i16 0, i16 0, i16 337, i16 338, i16 908, i16 1804, i16 1805, i16 1808, i16 1809, i16 1812, i16 1813, i16 929, i16 930, i16 939, i16 1814, i16 1815, i16 1826, i16 1827, i16 948, i16 949, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 655, i16 656, i16 657, i16 0, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 144, i16 132, i16 1750, i16 1751, i16 91, i16 145, i16 115, i16 96, i16 97, i16 1749, i16 943, i16 105, i16 1734, i16 1736, i16 1738, i16 89, i16 1686, i16 1688, i16 1690, i16 1692, i16 1537, i16 1546, i16 1559, i16 0, i16 0, i16 0, i16 0, i16 577, i16 578, i16 579, i16 580, i16 0, i16 1175, i16 1147, i16 1151, i16 1153, i16 1155, i16 1157, i16 1161, i16 1163, i16 1167, i16 1169, i16 1176, i16 1178, i16 1180, i16 1182, i16 1184, i16 1186, i16 1431, i16 1433, i16 1434, i16 1435, i16 1436, i16 1438, i16 1439, i16 1440, i16 1441, i16 1443, i16 1444, i16 1445, i16 1446, i16 1448, i16 1449, i16 1450, i16 1687, i16 1689, i16 1691, i16 1693, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 573, i16 574, i16 575, i16 576, i16 0, i16 922, i16 923, i16 924, i16 925, i16 931, i16 932, i16 933, i16 934, i16 937, i16 938, i16 935, i16 936, i16 968, i16 969, i16 970, i16 971, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 0, i16 0, i16 0, i16 0, i16 160, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1697, i16 86, i16 101, i16 127, i16 121, i16 128, i16 126, i16 98, i16 106, i16 108, i16 124, i16 130, i16 83, i16 1698, i16 90, i16 1699, i16 162, i16 163, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 164, i16 165, i16 166, i16 1190, i16 1192, i16 0, i16 1194, i16 1197, i16 1199, i16 1206, i16 1208, i16 1210, i16 1212, i16 1171, i16 1201, i16 1150, i16 1160, i16 1166, i16 1173, i16 1191, i16 1193, i16 1196, i16 1195, i16 1198, i16 1202, i16 1207, i16 1209, i16 1211, i16 1214, i16 1174, i16 1204, i16 1189, i16 1203, i16 1215, i16 0, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 1717, i16 1718, i16 1451, i16 1453, i16 1454, i16 1455, i16 1456, i16 1458, i16 1459, i16 1460, i16 1461, i16 1463, i16 1464, i16 1465, i16 1466, i16 1468, i16 1469, i16 1470, i16 428, i16 1890, i16 429, i16 1891, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 1892, i16 1893, i16 1894, i16 684, i16 1758, i16 702, i16 722, i16 1764, i16 1760, i16 1770, i16 1780, i16 766, i16 1784, i16 774, i16 788, i16 854, i16 1797, i16 862, i16 866, i16 685, i16 1759, i16 703, i16 723, i16 1765, i16 1761, i16 1771, i16 1781, i16 767, i16 1785, i16 775, i16 789, i16 855, i16 1798, i16 863, i16 867, i16 686, i16 687, i16 700, i16 701, i16 768, i16 769, i16 772, i16 773, i16 856, i16 857, i16 860, i16 861, i16 946, i16 947, i16 950, i16 951, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 798, i16 799, i16 790, i16 791, i16 792, i16 793, i16 776, i16 777, i16 1205, i16 1149, i16 1152, i16 1154, i16 1156, i16 1159, i16 1162, i16 1165, i16 1168, i16 1172, i16 1177, i16 1179, i16 1181, i16 1183, i16 1185, i16 1188, i16 182, i16 0, i16 0, i16 183, i16 184, i16 185, i16 186, i16 187, i16 99, i16 100, i16 188, i16 189, i16 102, i16 103, i16 190, i16 191, i16 439, i16 1895, i16 1896, i16 1897, i16 440, i16 1898, i16 1899, i16 1900, i16 441, i16 1901, i16 1902, i16 1903, i16 442, i16 1904, i16 443, i16 444, i16 1719, i16 1720, i16 1721, i16 1722, i16 1723, i16 1724, i16 1725, i16 1726, i16 1727, i16 1728, i16 1729, i16 1730, i16 475, i16 0, i16 0, i16 0, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 984, i16 985, i16 986, i16 987, i16 988, i16 989, i16 1471, i16 1473, i16 1474, i16 1475, i16 1476, i16 1478, i16 1479, i16 1480, i16 1481, i16 1483, i16 1484, i16 1485, i16 1486, i16 1488, i16 1489, i16 1491, i16 192, i16 193, i16 1702, i16 0, i16 0, i16 194, i16 195, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1216, i16 1218, i16 1220, i16 1222, i16 1228, i16 1232, i16 1238, i16 1240, i16 1242, i16 1250, i16 1252, i16 1256, i16 1260, i16 1262, i16 1266, i16 1268, i16 1217, i16 1219, i16 1221, i16 1223, i16 1229, i16 1233, i16 1239, i16 1241, i16 1243, i16 1251, i16 1253, i16 1257, i16 1261, i16 1263, i16 1267, i16 1269, i16 1731, i16 1740, i16 1741, i16 1742, i16 1743, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 85, i16 84, i16 136, i16 138, i16 140, i16 88, i16 196, i16 0, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 0, i16 208, i16 0, i16 1732, i16 0, i16 0, i16 0, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 131, i16 129, i16 209, i16 107, i16 109, i16 0, i16 1226, i16 1227, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 716, i16 717, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 746, i16 747, i16 753, i16 754, i16 755, i16 756, i16 761, i16 762, i16 465, i16 466, i16 1917, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 1918, i16 0, i16 0, i16 0, i16 0, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 0, i16 724, i16 725, i16 720, i16 721, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 690, i16 691, i16 980, i16 981, i16 978, i16 979, i16 997, i16 998, i16 999, i16 1000, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1492, i16 1494, i16 1495, i16 1496, i16 1497, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 0, i16 0, i16 0, i16 726, i16 727, i16 1774, i16 1775, i16 831, i16 832, i16 827, i16 828, i16 892, i16 893, i16 974, i16 975, i16 976, i16 977, i16 0, i16 0, i16 982, i16 983, i16 1921, i16 1922, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1102, i16 478, i16 0, i16 0, i16 0, i16 479, i16 0, i16 0, i16 0, i16 480, i16 0, i16 0, i16 0, i16 481, i16 0, i16 0, i16 0, i16 990, i16 991, i16 992, i16 993, i16 1092, i16 1093, i16 1084, i16 1085, i16 1104, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1503, i16 1504, i16 1506, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 482, i16 483, i16 484, i16 485, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 995, i16 1002, i16 1005, i16 1024, i16 1043, i16 1060, i16 1850, i16 1856, i16 1117, i16 1870, i16 1875, i16 110, i16 125, i16 111, i16 93, i16 80, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 996, i16 1003, i16 1006, i16 1025, i16 1044, i16 1061, i16 1851, i16 1857, i16 1118, i16 1871, i16 1876, i16 112, i16 142, i16 113, i16 95, i16 622, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 494, i16 495, i16 496, i16 0, i16 497, i16 498, i16 0, i16 0, i16 1768, i16 1769, i16 688, i16 689, i16 1766, i16 1767, i16 1776, i16 1777, i16 740, i16 741, i16 744, i16 745, i16 1778, i16 1779, i16 751, i16 752, i16 235, i16 0, i16 236, i16 0, i16 0, i16 0, i16 237, i16 0, i16 0, i16 0, i16 0, i16 238, i16 0, i16 0, i16 0, i16 0, i16 1009, i16 1010, i16 1011, i16 1012, i16 1064, i16 1065, i16 1068, i16 1069, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 757, i16 758, i16 759, i16 760, i16 804, i16 805, i16 802, i16 803, i16 806, i16 807, i16 794, i16 795, i16 800, i16 801, i16 813, i16 814, i16 1270, i16 1272, i16 1274, i16 1278, i16 1282, i16 1284, i16 1286, i16 1290, i16 1294, i16 1296, i16 1299, i16 1300, i16 1303, i16 1304, i16 1306, i16 1308, i16 1782, i16 1783, i16 1788, i16 1789, i16 770, i16 771, i16 796, i16 797, i16 1786, i16 1787, i16 786, i16 787, i16 825, i16 826, i16 1792, i16 1793, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 1271, i16 1273, i16 1275, i16 1279, i16 1283, i16 1285, i16 1287, i16 1291, i16 1295, i16 1297, i16 1298, i16 1301, i16 1302, i16 1305, i16 1307, i16 1309, i16 9, i16 11, i16 8, i16 5, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12, i16 7, i16 13, i16 3, i16 6, i16 0, i16 0, i16 0, i16 0, i16 14, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 181, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8, i16 38, i16 76, i16 84, i16 94, i16 104, i16 117, i16 126, i16 135, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 36, i16 0, i16 170, i16 0, i16 171, i16 176, i16 66, i16 74, i16 0, i16 0, i16 0, i16 0, i16 13, i16 0, i16 81, i16 86, i16 49, i16 50, i16 112, i16 82, i16 96, i16 51, i16 118, i16 120, i16 123, i16 40, i16 54, i16 134, i16 41, i16 0, i16 0, i16 11, i16 165, i16 0, i16 0, i16 0, i16 0, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 46, i16 18, i16 0, i16 0, i16 9, i16 12, i16 47, i16 90, i16 67, i16 138, i16 141, i16 71, i16 0, i16 0, i16 26, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 22, i16 10, i16 0, i16 14, i16 142, i16 0, i16 145, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 34, i16 150, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 39, i16 169, i16 98, i16 100, i16 29, i16 0, i16 0, i16 147, i16 110, i16 0, i16 37, i16 0, i16 0, i16 0, i16 0, i16 0, i16 32, i16 21, i16 65, i16 0, i16 0, i16 33, i16 122, i16 129, i16 136, i16 57, i16 17, i16 0, i16 139, i16 140, i16 0, i16 0, i16 55, i16 127, i16 149, i16 128, i16 151, i16 56, i16 44, i16 45, i16 172, i16 131, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 173, i16 179, i16 0, i16 61, i16 175, i16 99, i16 146, i16 180, i16 167, i16 160, i16 168, i16 63, i16 73, i16 97, i16 83, i16 106, i16 52, i16 108, i16 53, i16 132, i16 154, i16 68, i16 93, i16 116, i16 148, i16 70, i16 95, i16 20, i16 62, i16 158, i16 107, i16 7, i16 89, i16 133, i16 25, i16 80, i16 85, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 109, i16 174, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 19, i16 16, i16 0, i16 0, i16 48, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 27, i16 28, i16 103, i16 114, i16 121, i16 115, i16 91, i16 0, i16 0, i16 125, i16 155, i16 72, i16 101, i16 124, i16 157, i16 64, i16 79, i16 119, i16 137, i16 130, i16 111, i16 161, i16 143, i16 163, i16 113, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 92, i16 5, i16 6, i16 3, i16 144, i16 58, i16 152, i16 30, i16 31, i16 35, i16 78, i16 0, i16 42, i16 15, i16 23, i16 0, i16 24, i16 0, i16 4, i16 0, i16 43, i16 69, i16 166, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 153, i16 156, i16 159, i16 0, i16 60, i16 164, i16 178, i16 77, i16 88, i16 105, i16 59, i16 162, i16 177, i16 75, i16 87, i16 102, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 831, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1251, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 842, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 979, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 837, i16 838, i16 839, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 840, i16 0, i16 841, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 121, i16 122, i16 311, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1697, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1539, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1183, i16 0, i16 1184, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1240, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1540, i16 0, i16 0, i16 0, i16 1541, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1058, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1185, i16 1186, i16 1187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 975, i16 976, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 816, i16 811, i16 819, i16 818, i16 800, i16 821, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 929, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1253, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 815, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 167, i16 168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 771, i16 772, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 877, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1179, i16 1180, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1181, i16 1182, i16 0, i16 0, i16 0, i16 0, i16 0, i16 977, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 978, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 260, i16 261, i16 0, i16 0, i16 0, i16 0, i16 125, i16 126, i16 148, i16 149, i16 450, i16 451, i16 0, i16 0, i16 0, i16 0, i16 1563, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 823, i16 824, i16 0, i16 0, i16 0, i16 0, i16 825, i16 0, i16 0, i16 0, i16 826, i16 0, i16 0, i16 0, i16 0, i16 0, i16 827, i16 828, i16 1340, i16 829, i16 1350, i16 1356, i16 1362, i16 0, i16 1379, i16 0, i16 1392, i16 1405, i16 0, i16 0, i16 0, i16 0, i16 946, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 961, i16 962, i16 963, i16 964, i16 0, i16 0, i16 0, i16 0, i16 803, i16 0, i16 965, i16 0, i16 0, i16 0, i16 0, i16 804, i16 0, i16 805, i16 0, i16 0, i16 806, i16 0, i16 0, i16 0, i16 802, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 808, i16 0, i16 876, i16 0, i16 0, i16 0, i16 809, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 878, i16 879, i16 880, i16 881, i16 882, i16 883, i16 884, i16 885, i16 682, i16 684, i16 686, i16 688, i16 0, i16 0, i16 0, i16 0, i16 1205, i16 0, i16 0, i16 0, i16 1206, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 966, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 989, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 767, i16 768, i16 0, i16 0, i16 769, i16 0, i16 770, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1545, i16 0, i16 1547, i16 0, i16 0, i16 0, i16 1550, i16 0, i16 0, i16 0, i16 0, i16 1554, i16 1555, i16 1558, i16 0, i16 0, i16 79, i16 80, i16 81, i16 82, i16 83, i16 0, i16 0, i16 84, i16 85, i16 0, i16 0, i16 0, i16 843, i16 844, i16 0, i16 0, i16 1158, i16 1159, i16 0, i16 0, i16 0, i16 1160, i16 0, i16 0, i16 1161, i16 0, i16 1162, i16 1163, i16 0, i16 0, i16 0, i16 0, i16 1176, i16 1177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1178, i16 0, i16 0, i16 971, i16 972, i16 0, i16 0, i16 973, i16 974, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 980, i16 0, i16 0, i16 0, i16 0, i16 0, i16 981, i16 982, i16 983, i16 984, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1502, i16 1503, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1504, i16 1505, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1506, i16 1507, i16 1508, i16 1509, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1252, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1543, i16 1544, i16 1546, i16 1548, i16 1549, i16 1551, i16 1553, i16 1557, i16 1564, i16 1567, i16 1572, i16 1577, i16 1582, i16 1587, i16 1592, i16 0, i16 1317, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1092, i16 1093, i16 0, i16 1095, i16 0, i16 1097, i16 1098, i16 0, i16 1100, i16 1101, i16 0, i16 1103, i16 1104, i16 1105, i16 0, i16 0, i16 1108, i16 1109, i16 0, i16 1111, i16 1112, i16 1113, i16 0, i16 0, i16 1116, i16 1117, i16 0, i16 1119, i16 1120, i16 1121, i16 0, i16 0, i16 1135, i16 1136, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 391, i16 412, i16 410, i16 420, i16 440, i16 434, i16 791, i16 448, i16 556, i16 554, i16 564, i16 570, i16 646, i16 550, i16 531, i16 0, i16 392, i16 413, i16 411, i16 421, i16 441, i16 435, i16 787, i16 449, i16 557, i16 555, i16 565, i16 571, i16 647, i16 551, i16 653, i16 0, i16 1164, i16 0, i16 0, i16 1165, i16 0, i16 1166, i16 1167, i16 0, i16 0, i16 1168, i16 1169, i16 0, i16 0, i16 1170, i16 1171, i16 0, i16 1426, i16 1422, i16 1416, i16 1428, i16 1480, i16 1436, i16 1438, i16 1440, i16 1450, i16 1456, i16 1468, i16 1446, i16 0, i16 1472, i16 1484, i16 0, i16 1427, i16 1423, i16 1417, i16 1429, i16 1481, i16 1437, i16 1439, i16 1441, i16 1451, i16 1457, i16 1469, i16 1447, i16 0, i16 1473, i16 1485, i16 0, i16 921, i16 0, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 943, i16 735, i16 944, i16 945, i16 0, i16 0, i16 793, i16 947, i16 847, i16 788, i16 0, i16 0, i16 949, i16 950, i16 951, i16 0, i16 1717, i16 1719, i16 1721, i16 1723, i16 1725, i16 1727, i16 1730, i16 1732, i16 1734, i16 1736, i16 1739, i16 1741, i16 1743, i16 1745, i16 1747, i16 0, i16 1718, i16 1720, i16 1722, i16 1724, i16 1726, i16 1728, i16 1731, i16 1733, i16 1735, i16 1737, i16 1740, i16 1742, i16 1744, i16 1746, i16 1748, i16 0, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 707, i16 710, i16 708, i16 711, i16 709, i16 1263, i16 1264, i16 0, i16 248, i16 249, i16 0, i16 0, i16 0, i16 0, i16 0, i16 345, i16 346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 517, i16 518, i16 519, i16 520, i16 513, i16 514, i16 527, i16 528, i16 521, i16 522, i16 537, i16 538, i16 539, i16 540, i16 547, i16 548, i16 773, i16 0, i16 774, i16 0, i16 0, i16 0, i16 775, i16 0, i16 0, i16 0, i16 0, i16 776, i16 0, i16 0, i16 0, i16 0, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 1037, i16 1038, i16 1039, i16 1040, i16 1041, i16 1042, i16 1043, i16 1044, i16 1045, i16 1542, i16 1644, i16 1649, i16 1654, i16 1659, i16 1664, i16 1669, i16 1674, i16 1679, i16 1682, i16 1685, i16 1690, i16 1691, i16 1692, i16 1693, i16 1694, i16 268, i16 269, i16 272, i16 273, i16 281, i16 282, i16 289, i16 290, i16 319, i16 320, i16 329, i16 330, i16 305, i16 306, i16 327, i16 328, i16 780, i16 0, i16 985, i16 0, i16 0, i16 986, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 525, i16 526, i16 543, i16 544, i16 535, i16 536, i16 541, i16 542, i16 584, i16 585, i16 594, i16 595, i16 560, i16 561, i16 568, i16 569, i16 1552, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1562, i16 0, i16 274, i16 275, i16 285, i16 286, i16 287, i16 288, i16 283, i16 284, i16 291, i16 292, i16 279, i16 280, i16 321, i16 322, i16 315, i16 316, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1046, i16 1047, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 0, i16 0, i16 0, i16 0, i16 1814, i16 1816, i16 1818, i16 1820, i16 1822, i16 1824, i16 1826, i16 1828, i16 1830, i16 1832, i16 1834, i16 1836, i16 1838, i16 1840, i16 1842, i16 1844, i16 1559, i16 1560, i16 1561, i16 1565, i16 1566, i16 1568, i16 1569, i16 1570, i16 1571, i16 1573, i16 1574, i16 1575, i16 1576, i16 1578, i16 1579, i16 1580, i16 1815, i16 1817, i16 1819, i16 1821, i16 1823, i16 1825, i16 1827, i16 1829, i16 1831, i16 1833, i16 1835, i16 1837, i16 1839, i16 1841, i16 1843, i16 1845, i16 795, i16 784, i16 0, i16 0, i16 796, i16 797, i16 0, i16 0, i16 0, i16 0, i16 967, i16 968, i16 0, i16 0, i16 969, i16 970, i16 545, i16 546, i16 598, i16 599, i16 588, i16 589, i16 600, i16 601, i16 586, i16 587, i16 596, i16 597, i16 617, i16 618, i16 619, i16 620, i16 1314, i16 1315, i16 1316, i16 0, i16 1318, i16 801, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1059, i16 0, i16 1061, i16 0, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1070, i16 1071, i16 0, i16 0, i16 0, i16 1060, i16 1062, i16 1072, i16 1073, i16 1074, i16 1076, i16 1077, i16 1078, i16 1080, i16 1081, i16 1082, i16 1084, i16 1085, i16 1086, i16 1088, i16 1091, i16 807, i16 794, i16 699, i16 700, i16 814, i16 766, i16 762, i16 822, i16 817, i16 698, i16 409, i16 786, i16 683, i16 685, i16 687, i16 716, i16 1581, i16 1583, i16 1584, i16 1585, i16 1586, i16 1588, i16 1589, i16 1590, i16 1591, i16 1593, i16 1594, i16 1596, i16 1597, i16 1599, i16 1600, i16 1602, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1556, i16 1335, i16 1336, i16 1337, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1075, i16 0, i16 0, i16 0, i16 1079, i16 0, i16 0, i16 0, i16 1083, i16 0, i16 0, i16 0, i16 1087, i16 0, i16 1089, i16 1090, i16 1846, i16 1848, i16 1850, i16 1852, i16 1854, i16 1856, i16 1858, i16 1860, i16 1862, i16 1864, i16 1866, i16 1868, i16 1870, i16 1872, i16 1874, i16 1876, i16 1847, i16 1849, i16 1851, i16 1853, i16 1855, i16 1857, i16 1859, i16 1861, i16 1863, i16 1865, i16 1867, i16 1869, i16 1871, i16 1873, i16 1875, i16 1877, i16 312, i16 432, i16 433, i16 566, i16 567, i16 572, i16 573, i16 574, i16 575, i16 578, i16 579, i16 576, i16 577, i16 0, i16 131, i16 132, i16 1595, i16 1598, i16 1601, i16 1604, i16 1609, i16 1614, i16 1619, i16 1624, i16 1629, i16 1634, i16 1639, i16 0, i16 0, i16 0, i16 0, i16 0, i16 830, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 832, i16 833, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 834, i16 835, i16 836, i16 323, i16 324, i16 332, i16 333, i16 336, i16 337, i16 349, i16 350, i16 354, i16 357, i16 358, i16 367, i16 368, i16 359, i16 360, i16 361, i16 1603, i16 1605, i16 1606, i16 1607, i16 1608, i16 1610, i16 1611, i16 1612, i16 1613, i16 1615, i16 1616, i16 1617, i16 1618, i16 1620, i16 1621, i16 1622, i16 580, i16 581, i16 592, i16 593, i16 628, i16 629, i16 650, i16 651, i16 652, i16 665, i16 666, i16 669, i16 670, i16 678, i16 679, i16 530, i16 1094, i16 1096, i16 1099, i16 1102, i16 1106, i16 1107, i16 1110, i16 1114, i16 1115, i16 1118, i16 1122, i16 1125, i16 1134, i16 0, i16 0, i16 0, i16 77, i16 718, i16 764, i16 756, i16 810, i16 765, i16 739, i16 757, i16 820, i16 761, i16 88, i16 785, i16 781, i16 733, i16 760, i16 812, i16 845, i16 846, i16 948, i16 0, i16 0, i16 848, i16 849, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 78, i16 717, i16 720, i16 798, i16 759, i16 758, i16 755, i16 721, i16 743, i16 745, i16 792, i16 789, i16 713, i16 731, i16 712, i16 741, i16 850, i16 0, i16 851, i16 852, i16 853, i16 854, i16 855, i16 856, i16 857, i16 750, i16 752, i16 858, i16 859, i16 0, i16 813, i16 0, i16 341, i16 342, i16 347, i16 348, i16 351, i16 352, i16 363, i16 364, i16 369, i16 370, i16 373, i16 374, i16 371, i16 372, i16 378, i16 379, i16 1878, i16 1880, i16 1882, i16 1884, i16 1729, i16 1738, i16 1751, i16 0, i16 0, i16 0, i16 0, i16 1236, i16 1237, i16 1238, i16 1239, i16 0, i16 1367, i16 1339, i16 1343, i16 1345, i16 1347, i16 1349, i16 1353, i16 1355, i16 1359, i16 1361, i16 1368, i16 1370, i16 1372, i16 1374, i16 1376, i16 1378, i16 1623, i16 1625, i16 1626, i16 1627, i16 1628, i16 1630, i16 1631, i16 1632, i16 1633, i16 1635, i16 1636, i16 1637, i16 1638, i16 1640, i16 1641, i16 1642, i16 1879, i16 1881, i16 1883, i16 1885, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1232, i16 1233, i16 1234, i16 1235, i16 0, i16 91, i16 89, i16 109, i16 135, i16 129, i16 123, i16 146, i16 171, i16 199, i16 197, i16 207, i16 221, i16 301, i16 299, i16 309, i16 313, i16 603, i16 0, i16 0, i16 0, i16 0, i16 673, i16 674, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 92, i16 90, i16 110, i16 136, i16 130, i16 124, i16 147, i16 172, i16 200, i16 198, i16 208, i16 222, i16 302, i16 300, i16 310, i16 314, i16 93, i16 94, i16 107, i16 108, i16 201, i16 202, i16 205, i16 206, i16 303, i16 304, i16 307, i16 308, i16 414, i16 415, i16 418, i16 419, i16 861, i16 862, i16 863, i16 864, i16 865, i16 866, i16 867, i16 868, i16 869, i16 870, i16 871, i16 872, i16 873, i16 874, i16 875, i16 0, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 231, i16 232, i16 223, i16 224, i16 225, i16 226, i16 209, i16 210, i16 1123, i16 1124, i16 0, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1132, i16 1133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 612, i16 613, i16 648, i16 649, i16 660, i16 661, i16 654, i16 655, i16 656, i16 657, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1382, i16 1384, i16 0, i16 1386, i16 1389, i16 1391, i16 1398, i16 1400, i16 1402, i16 1404, i16 1363, i16 1393, i16 1342, i16 1352, i16 1358, i16 1365, i16 1383, i16 1385, i16 1388, i16 1387, i16 1390, i16 1394, i16 1399, i16 1401, i16 1403, i16 1406, i16 1366, i16 1396, i16 1381, i16 1395, i16 1407, i16 0, i16 362, i16 365, i16 366, i16 387, i16 388, i16 397, i16 398, i16 389, i16 390, i16 403, i16 405, i16 406, i16 456, i16 457, i16 416, i16 417, i16 1643, i16 1645, i16 1646, i16 1647, i16 1648, i16 1650, i16 1651, i16 1652, i16 1653, i16 1655, i16 1656, i16 1657, i16 1658, i16 1660, i16 1661, i16 1662, i16 1137, i16 0, i16 0, i16 0, i16 1138, i16 0, i16 0, i16 0, i16 1139, i16 0, i16 0, i16 0, i16 1140, i16 0, i16 0, i16 0, i16 626, i16 627, i16 624, i16 625, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 641, i16 642, i16 639, i16 640, i16 658, i16 659, i16 1141, i16 1142, i16 1143, i16 1144, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1397, i16 1341, i16 1344, i16 1346, i16 1348, i16 1351, i16 1354, i16 1357, i16 1360, i16 1364, i16 1369, i16 1371, i16 1373, i16 1375, i16 1377, i16 1380, i16 886, i16 887, i16 888, i16 889, i16 890, i16 891, i16 892, i16 893, i16 894, i16 895, i16 896, i16 897, i16 898, i16 899, i16 900, i16 901, i16 1145, i16 1146, i16 1147, i16 1148, i16 1149, i16 1150, i16 1151, i16 1152, i16 1153, i16 1154, i16 1155, i16 0, i16 1156, i16 1157, i16 0, i16 0, i16 380, i16 381, i16 382, i16 383, i16 393, i16 394, i16 395, i16 396, i16 401, i16 402, i16 399, i16 400, i16 442, i16 443, i16 444, i16 445, i16 127, i16 128, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 173, i16 174, i16 182, i16 183, i16 184, i16 185, i16 192, i16 193, i16 1663, i16 1665, i16 1666, i16 1667, i16 1668, i16 1670, i16 1671, i16 1672, i16 1673, i16 1675, i16 1676, i16 1677, i16 1678, i16 1680, i16 1681, i16 1683, i16 1408, i16 1410, i16 1412, i16 1414, i16 1420, i16 1424, i16 1430, i16 1432, i16 1434, i16 1442, i16 1444, i16 1448, i16 1452, i16 1454, i16 1458, i16 1460, i16 1409, i16 1411, i16 1413, i16 1415, i16 1421, i16 1425, i16 1431, i16 1433, i16 1435, i16 1443, i16 1445, i16 1449, i16 1453, i16 1455, i16 1459, i16 1461, i16 902, i16 903, i16 904, i16 905, i16 906, i16 907, i16 908, i16 909, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 137, i16 138, i16 133, i16 134, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 97, i16 98, i16 1418, i16 1419, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 141, i16 142, i16 95, i16 96, i16 139, i16 140, i16 163, i16 164, i16 165, i16 166, i16 169, i16 170, i16 175, i16 176, i16 180, i16 181, i16 143, i16 144, i16 150, i16 151, i16 270, i16 271, i16 266, i16 267, i16 343, i16 344, i16 452, i16 453, i16 454, i16 455, i16 0, i16 0, i16 1172, i16 1173, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1174, i16 1175, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1684, i16 1686, i16 1687, i16 1688, i16 1689, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 0, i16 0, i16 0, i16 918, i16 919, i16 920, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 667, i16 668, i16 671, i16 672, i16 675, i16 676, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1695, i16 1696, i16 1698, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 930, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 931, i16 0, i16 932, i16 0, i16 933, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1699, i16 1700, i16 1701, i16 1702, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1188, i16 0, i16 1189, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 934, i16 0, i16 935, i16 936, i16 0, i16 937, i16 938, i16 939, i16 940, i16 0, i16 0, i16 941, i16 0, i16 0, i16 0, i16 942, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 0, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 680, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 719, i16 714, i16 749, i16 778, i16 751, i16 715, i16 681, i16 0, i16 0, i16 0, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 790, i16 732, i16 860, i16 744, i16 746, i16 0, i16 436, i16 437, i16 475, i16 476, i16 489, i16 490, i16 499, i16 500, i16 505, i16 506, i16 511, i16 512, i16 515, i16 516, i16 523, i16 524, i16 1462, i16 1464, i16 1466, i16 1470, i16 1474, i16 1476, i16 1478, i16 1482, i16 1486, i16 1488, i16 1491, i16 1492, i16 1495, i16 1496, i16 1498, i16 1500, i16 1207, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1463, i16 1465, i16 1467, i16 1471, i16 1475, i16 1477, i16 1479, i16 1483, i16 1487, i16 1489, i16 1490, i16 1493, i16 1494, i16 1497, i16 1499, i16 1501, i16 952, i16 0, i16 0, i16 0, i16 0, i16 953, i16 0, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 0, i16 960, i16 0, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 0, i16 0, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 186, i16 187, i16 237, i16 238, i16 203, i16 204, i16 229, i16 230, i16 235, i16 236, i16 219, i16 220, i16 264, i16 265, i16 262, i16 263, i16 188, i16 189, i16 190, i16 191, i16 241, i16 242, i16 239, i16 240, i16 243, i16 244, i16 227, i16 228, i16 233, i16 234, i16 250, i16 251, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 0, i16 0, i16 0, i16 0, i16 1230, i16 0, i16 0, i16 0, i16 460, i16 461, i16 458, i16 459, i16 479, i16 480, i16 481, i16 482, i16 495, i16 496, i16 497, i16 498, i16 501, i16 502, i16 503, i16 504, i16 462, i16 463, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 602, i16 1231, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 722, i16 87, i16 153, i16 1888, i16 179, i16 196, i16 247, i16 259, i16 278, i16 298, i16 335, i16 340, i16 356, i16 377, i16 386, i16 408, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 317, i16 318, i16 325, i16 326, i16 446, i16 447, i16 438, i16 439, i16 1749, i16 1752, i16 1754, i16 1756, i16 1758, i16 1760, i16 1762, i16 1764, i16 1766, i16 1768, i16 1770, i16 1772, i16 1774, i16 1776, i16 1778, i16 1780, i16 470, i16 471, i16 472, i16 473, i16 590, i16 591, i16 582, i16 583, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 1750, i16 1753, i16 1755, i16 1757, i16 1759, i16 1761, i16 1763, i16 1765, i16 1767, i16 1769, i16 1771, i16 1773, i16 1775, i16 1777, i16 1779, i16 1781, i16 1241, i16 1242, i16 1243, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 987, i16 988, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 477, i16 484, i16 487, i16 508, i16 533, i16 552, i16 615, i16 622, i16 637, i16 644, i16 663, i16 747, i16 742, i16 748, i16 779, i16 777, i16 478, i16 485, i16 488, i16 509, i16 534, i16 553, i16 616, i16 623, i16 638, i16 645, i16 664, i16 753, i16 740, i16 754, i16 799, i16 1281, i16 734, i16 0, i16 0, i16 736, i16 737, i16 738, i16 782, i16 783, i16 729, i16 730, i16 723, i16 728, i16 726, i16 727, i16 724, i16 725, i16 990, i16 991, i16 992, i16 993, i16 0, i16 0, i16 994, i16 995, i16 996, i16 997, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 998, i16 999, i16 1000, i16 1001, i16 1002, i16 1003, i16 1004, i16 1005, i16 1006, i16 1007, i16 1008, i16 1009, i16 1010, i16 1011, i16 1012, i16 1013, i16 1510, i16 1511, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 491, i16 492, i16 493, i16 494, i16 558, i16 559, i16 562, i16 563, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1265, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1014, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1023, i16 1024, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1782, i16 1784, i16 1786, i16 1788, i16 1790, i16 1792, i16 1794, i16 1796, i16 1798, i16 1800, i16 1802, i16 1804, i16 1806, i16 1808, i16 1810, i16 1812, i16 1783, i16 1785, i16 1787, i16 1789, i16 1791, i16 1793, i16 1795, i16 1797, i16 1799, i16 1801, i16 1803, i16 1805, i16 1807, i16 1809, i16 1811, i16 1813, i16 1528, i16 1529, i16 1530, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 0, i16 0, i16 0, i16 0, i16 0, i16 763, i16 86, i16 152, i16 1887, i16 178, i16 195, i16 246, i16 258, i16 277, i16 297, i16 334, i16 339, i16 355, i16 376, i16 385, i16 407, i16 253, i16 254, i16 255, i16 256, i16 257, i16 532, i16 510, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 3, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 5, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 134, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 136, i16 0, i16 0, i16 0, i16 137, i16 0, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 1, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 12, i16 14, i16 16, i16 18, i16 20, i16 22, i16 24, i16 26, i16 28, i16 30, i16 32, i16 34, i16 36, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 13, i16 15, i16 17, i16 19, i16 21, i16 23, i16 25, i16 27, i16 29, i16 31, i16 33, i16 35, i16 37, i16 39, i16 41, i16 43, i16 45, i16 47, i16 49, i16 51, i16 53, i16 55, i16 57, i16 59, i16 61, i16 63, i16 92, i16 93, i16 94, i16 95, i16 202, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 96, i16 0, i16 0, i16 0, i16 133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 135, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 203, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 5, i16 6, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 4, i16 3, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 126, i16 132, i16 138, i16 144, i16 150, i16 156, i16 162, i16 168, i16 174, i16 180, i16 186, i16 192, i16 198, i16 204, i16 210, i16 216, i16 222, i16 228, i16 234, i16 240, i16 246, i16 252, i16 258, i16 264, i16 270, i16 276, i16 282, i16 288, i16 294, i16 300, i16 306, i16 7, i16 13, i16 23, i16 39, i16 32, i16 40, i16 38, i16 22, i16 24, i16 29, i16 36, i16 41, i16 10, i16 9, i16 16, i16 15, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 12, i16 11, i16 42, i16 43, i16 44, i16 14, i16 19, i16 75, i16 77, i16 79, i16 81, i16 83, i16 85, i16 87, i16 89, i16 91, i16 93, i16 95, i16 97, i16 99, i16 101, i16 103, i16 105, i16 107, i16 109, i16 111, i16 113, i16 115, i16 117, i16 119, i16 121, i16 123, i16 125, i16 26, i16 45, i16 27, i16 21, i16 0, i16 30, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 25, i16 37, i16 28, i16 20, i16 8, i16 312, i16 318, i16 324, i16 330, i16 336, i16 337, i16 343, i16 344, i16 350, i16 356, i16 362, i16 368, i16 374, i16 380, i16 386, i16 17, i16 393, i16 394, i16 395, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 47, i16 0, i16 0, i16 0, i16 0, i16 31, i16 410, i16 411, i16 412, i16 413, i16 414, i16 396, i16 18, i16 49, i16 50, i16 51, i16 52, i16 53, i16 48, i16 392, i16 46, i16 33, i16 55, i16 57, i16 59, i16 61, i16 63, i16 65, i16 67, i16 69, i16 71, i16 73, i16 34, i16 35, i16 0, i16 0, i16 0, i16 0, i16 32, i16 3, i16 45, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7, i16 37, i16 2, i16 12, i16 0, i16 0, i16 0, i16 0, i16 27, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 25, i16 33, i16 28, i16 44, i16 11, i16 14, i16 29, i16 40, i16 23, i16 9, i16 20, i16 10, i16 38, i16 22, i16 42, i16 31, i16 49, i16 36, i16 43, i16 16, i16 15, i16 26, i16 21, i16 35, i16 17, i16 18, i16 13, i16 47, i16 24, i16 6, i16 34, i16 4, i16 39, i16 19, i16 8, i16 41, i16 5, i16 48, i16 50, i16 46, i16 30, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 266, i16 373, i16 661, i16 236, i16 595, i16 0, i16 0, i16 94, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 615, i16 647, i16 136, i16 0, i16 0, i16 390, i16 36, i16 15, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 31, i16 0, i16 0, i16 0, i16 0, i16 0, i16 60, i16 455, i16 499, i16 0, i16 0, i16 4, i16 259, i16 192, i16 133, i16 445, i16 669, i16 550, i16 172, i16 0, i16 0, i16 62, i16 153, i16 389, i16 409, i16 145, i16 1, i16 180, i16 570, i16 258, i16 261, i16 414, i16 610, i16 140, i16 566, i16 280, i16 150, i16 468, i16 333, i16 655, i16 176, i16 402, i16 260, i16 173, i16 607, i16 281, i16 293, i16 306, i16 319, i16 267, i16 168, i16 368, i16 382, i16 456, i16 249, i16 437, i16 500, i16 95, i16 14, i16 465, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 68, i16 129, i16 0, i16 0, i16 12, i16 0, i16 9, i16 0, i16 533, i16 84, i16 587, i16 606, i16 447, i16 652, i16 668, i16 291, i16 318, i16 459, i16 61, i16 659, i16 395, i16 195, i16 202, i16 186, i16 30, i16 590, i16 617, i16 422, i16 209, i16 535, i16 137, i16 485, i16 511, i16 222, i16 165, i16 337, i16 355, i16 371, i16 385, i16 190, i16 35, i16 627, i16 98, i16 660, i16 85, i16 278, i16 244, i16 376, i16 391, i16 101, i16 69, i16 377, i16 185, i16 401, i16 205, i16 453, i16 38, i16 24, i16 331, i16 352, i16 644, i16 649, i16 662, i16 398, i16 673, i16 454, i16 287, i16 152, i16 223, i16 307, i16 294, i16 419, i16 39, i16 0, i16 357, i16 22, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 296, i16 160, i16 363, i16 342, i16 360, i16 378, i16 42, i16 415, i16 434, i16 206, i16 431, i16 13, i16 490, i16 462, i16 521, i16 486, i16 304, i16 593, i16 525, i16 253, i16 622, i16 645, i16 234, i16 269, i16 104, i16 279, i16 63, i16 425, i16 199, i16 78, i16 174, i16 72, i16 569, i16 295, i16 620, i16 161, i16 340, i16 658, i16 273, i16 680, i16 289, i16 404, i16 361, i16 359, i16 372, i16 423, i16 73, i16 417, i16 315, i16 132, i16 356, i16 362, i16 381, i16 412, i16 26, i16 594, i16 87, i16 471, i16 497, i16 601, i16 227, i16 118, i16 542, i16 557, i16 317, i16 353, i16 265, i16 182, i16 188, i16 0, i16 0, i16 0, i16 0, i16 5, i16 74, i16 544, i16 448, i16 211, i16 475, i16 575, i16 599, i16 524, i16 545, i16 552, i16 239, i16 157, i16 66, i16 585, i16 103, i16 614, i16 48, i16 632, i16 687, i16 282, i16 308, i16 329, i16 604, i16 514, i16 183, i16 537, i16 530, i16 326, i16 177, i16 226, i16 380, i16 406, i16 76, i16 204, i16 208, i16 215, i16 584, i16 247, i16 605, i16 428, i16 679, i16 634, i16 637, i16 37, i16 138, i16 316, i16 196, i16 34, i16 230, i16 44, i16 286, i16 676, i16 312, i16 603, i16 609, i16 549, i16 513, i16 310, i16 325, i16 346, i16 77, i16 388, i16 128, i16 399, i16 411, i16 418, i16 54, i16 444, i16 299, i16 480, i16 113, i16 197, i16 602, i16 89, i16 158, i16 635, i16 59, i16 670, i16 493, i16 276, i16 105, i16 416, i16 429, i16 334, i16 159, i16 110, i16 370, i16 384, i16 684, i16 248, i16 424, i16 301, i16 156, i16 343, i16 242, i16 214, i16 504, i16 515, i16 556, i16 403, i16 81, i16 364, i16 374, i16 189, i16 413, i16 427, i16 28, i16 207, i16 473, i16 494, i16 672, i16 228, i16 540, i16 283, i16 100, i16 586, i16 323, i16 344, i16 375, i16 155, i16 630, i16 124, i16 626, i16 526, i16 613, i16 665, i16 677, i16 16, i16 305, i16 290, i16 167, i16 339, i16 383, i16 408, i16 122, i16 449, i16 80, i16 467, i16 169, i16 218, i16 200, i16 532, i16 543, i16 561, i16 508, i16 510, i16 553, i16 256, i16 582, i16 653, i16 643, i16 0, i16 241, i16 619, i16 666, i16 147, i16 348, i16 397, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 648, i16 141, i16 82, i16 292, i16 309, i16 608, i16 354, i16 410, i16 386, i16 311, i16 439, i16 321, i16 109, i16 460, i16 481, i16 498, i16 394, i16 495, i16 461, i16 112, i16 19, i16 457, i16 254, i16 489, i16 503, i16 221, i16 512, i16 86, i16 527, i16 139, i16 568, i16 580, i16 143, i16 0, i16 0, i16 7, i16 300, i16 49, i16 57, i16 528, i16 102, i16 430, i16 194, i16 564, i16 17, i16 579, i16 0, i16 0, i16 144, i16 83, i16 531, i16 324, i16 229, i16 154, i16 179, i16 387, i16 53, i16 43, i16 277, i16 201, i16 108, i16 21, i16 625, i16 483, i16 146, i16 347, i16 396, i16 446, i16 505, i16 252, i16 336, i16 477, i16 351, i16 379, i16 322, i16 436, i16 0, i16 0, i16 18, i16 8, i16 420, i16 250, i16 450, i16 472, i16 633, i16 518, i16 529, i16 119, i16 631, i16 268, i16 674, i16 142, i16 686, i16 458, i16 134, i16 328, i16 678, i16 488, i16 509, i16 491, i16 541, i16 657, i16 120, i16 563, i16 675, i16 583, i16 245, i16 91, i16 618, i16 0, i16 0, i16 0, i16 683, i16 516, i16 314, i16 681, i16 193, i16 572, i16 358, i16 443, i16 611, i16 421, i16 646, i16 262, i16 272, i16 107, i16 99, i16 538, i16 685, i16 288, i16 64, i16 70, i16 166, i16 50, i16 25, i16 52, i16 71, i16 392, i16 191, i16 426, i16 433, i16 442, i16 451, i16 441, i16 435, i16 438, i16 11, i16 338, i16 106, i16 40, i16 0, i16 0, i16 10, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 440, i16 466, i16 478, i16 501, i16 523, i16 536, i16 554, i16 522, i16 592, i16 581, i16 233, i16 555, i16 251, i16 476, i16 636, i16 264, i16 203, i16 452, i16 474, i16 365, i16 178, i16 187, i16 539, i16 126, i16 565, i16 578, i16 600, i16 220, i16 2, i16 624, i16 639, i16 654, i16 212, i16 562, i16 407, i16 616, i16 33, i16 650, i16 47, i16 332, i16 271, i16 131, i16 97, i16 298, i16 162, i16 341, i16 65, i16 367, i16 213, i16 149, i16 151, i16 302, i16 163, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3, i16 484, i16 345, i16 67, i16 591, i16 469, i16 487, i16 51, i16 171, i16 303, i16 400, i16 175, i16 58, i16 125, i16 598, i16 79, i16 628, i16 463, i16 651, i16 350, i16 274, i16 470, i16 56, i16 464, i16 520, i16 612, i16 640, i16 238, i16 507, i16 123, i16 127, i16 88, i16 623, i16 642, i16 664, i16 548, i16 547, i16 216, i16 682, i16 492, i16 116, i16 519, i16 240, i16 667, i16 588, i16 597, i16 23, i16 559, i16 641, i16 577, i16 93, i16 270, i16 96, i16 225, i16 534, i16 589, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 482, i16 184, i16 224, i16 393, i16 0, i16 0, i16 0, i16 41, i16 121, i16 75, i16 198, i16 517, i16 90, i16 263, i16 210, i16 671, i16 231, i16 496, i16 45, i16 574, i16 246, i16 235, i16 621, i16 32, i16 479, i16 237, i16 560, i16 284, i16 571, i16 327, i16 217, i16 366, i16 232, i16 432, i16 55, i16 111, i16 0, i16 27, i16 114, i16 219, i16 115, i16 573, i16 546, i16 567, i16 6, i16 46, i16 243, i16 130, i16 502, i16 320, i16 92, i16 117, i16 369, i16 551, i16 558, i16 20, i16 164, i16 576, i16 275, i16 257, i16 297, i16 656, i16 596, i16 506, i16 255, i16 629, i16 638, i16 135, i16 0, i16 29, i16 663, i16 285, i16 313, i16 349, i16 148, i16 181, i16 405, i16 330, i16 335, i16 170, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3171, i16 12478, i16 12479, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2196, i16 6503, i16 11985, i16 1886, i16 6504, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2650, i16 12441, i16 12442, i16 0, i16 0, i16 0, i16 0, i16 12443, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2542, i16 11756, i16 11757, i16 6356, i16 0, i16 0, i16 11758, i16 11759, i16 6358, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1165, i16 0, i16 5777, i16 0, i16 5778, i16 10826, i16 10825, i16 10827, i16 10828, i16 10829, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1956, i16 6848, i16 6849, i16 1656, i16 0, i16 12717, i16 0, i16 12718, i16 0, i16 12719, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7035, i16 0, i16 0, i16 1517, i16 7036, i16 13063, i16 13064, i16 13065, i16 7037, i16 0, i16 1888, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7306, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 341, i16 0, i16 342, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 351, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 326, i16 327, i16 325, i16 328, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11125, i16 0, i16 0, i16 5992, i16 0, i16 5993, i16 0, i16 990, i16 11126, i16 0, i16 0, i16 947, i16 5990, i16 11127, i16 0, i16 11128, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 251, i16 0, i16 0, i16 0, i16 0, i16 250, i16 255, i16 0, i16 259, i16 260, i16 0, i16 0, i16 261, i16 262, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 368, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7427, i16 2983, i16 3748, i16 7428, i16 0, i16 7430, i16 3029, i16 7431, i16 3631, i16 7432, i16 2168, i16 7433, i16 1818, i16 7434, i16 1866, i16 965, i16 7435, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3587, i16 0, i16 13156, i16 13157, i16 13158, i16 13159, i16 0, i16 13160, i16 7092, i16 13161, i16 13162, i16 0, i16 0, i16 0, i16 0, i16 7093, i16 5548, i16 13163, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7201, i16 7287, i16 7229, i16 7315, i16 7247, i16 7332, i16 7265, i16 7350, i16 7274, i16 7359, i16 7271, i16 7356, i16 7273, i16 7358, i16 7272, i16 7357, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8287, i16 0, i16 0, i16 0, i16 0, i16 8288, i16 0, i16 2969, i16 8289, i16 0, i16 0, i16 8290, i16 0, i16 0, i16 8291, i16 4207, i16 3113, i16 8292, i16 0, i16 8293, i16 8294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9649, i16 5112, i16 9650, i16 9651, i16 5118, i16 0, i16 0, i16 5116, i16 0, i16 2728, i16 0, i16 0, i16 5123, i16 5113, i16 9652, i16 0, i16 9653, i16 0, i16 9654, i16 5114, i16 5090, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9574, i16 0, i16 9575, i16 0, i16 0, i16 1049, i16 0, i16 0, i16 892, i16 0, i16 9576, i16 5056, i16 0, i16 9577, i16 5059, i16 9578, i16 0, i16 0, i16 3600, i16 9579, i16 0, i16 9580, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 364, i16 0, i16 0, i16 363, i16 0, i16 362, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7882, i16 7883, i16 0, i16 0, i16 4012, i16 3474, i16 0, i16 2068, i16 7884, i16 4018, i16 0, i16 7885, i16 7886, i16 0, i16 4017, i16 4008, i16 0, i16 7887, i16 7888, i16 7889, i16 2472, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 995, i16 0, i16 0, i16 7950, i16 0, i16 0, i16 4058, i16 7951, i16 2153, i16 4054, i16 7952, i16 4052, i16 7953, i16 4053, i16 7954, i16 4055, i16 7955, i16 0, i16 7956, i16 7957, i16 7958, i16 0, i16 7959, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3650, i16 0, i16 9772, i16 5182, i16 0, i16 0, i16 0, i16 847, i16 0, i16 9773, i16 0, i16 9774, i16 9775, i16 9776, i16 9777, i16 0, i16 9778, i16 5184, i16 0, i16 0, i16 9779, i16 5183, i16 0, i16 5181, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10072, i16 10073, i16 5305, i16 0, i16 10074, i16 0, i16 0, i16 5306, i16 10075, i16 0, i16 0, i16 10076, i16 5307, i16 0, i16 0, i16 0, i16 10077, i16 0, i16 10078, i16 10079, i16 866, i16 0, i16 10080, i16 10081, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3182, i16 0, i16 6816, i16 12656, i16 0, i16 12657, i16 12658, i16 6817, i16 12659, i16 6818, i16 0, i16 0, i16 12660, i16 0, i16 6819, i16 12661, i16 12662, i16 0, i16 12663, i16 12664, i16 0, i16 0, i16 0, i16 12665, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11391, i16 0, i16 1000, i16 6110, i16 6111, i16 11358, i16 0, i16 0, i16 0, i16 11359, i16 0, i16 6106, i16 0, i16 1808, i16 11360, i16 0, i16 11361, i16 0, i16 11362, i16 0, i16 11363, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1683, i16 0, i16 12778, i16 0, i16 12779, i16 6888, i16 12780, i16 12781, i16 6889, i16 0, i16 12782, i16 0, i16 12783, i16 12784, i16 12785, i16 0, i16 1055, i16 12786, i16 0, i16 12787, i16 6890, i16 0, i16 12788, i16 12789, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8637, i16 0, i16 0, i16 8638, i16 0, i16 0, i16 8639, i16 4435, i16 4441, i16 4433, i16 0, i16 2779, i16 8640, i16 8641, i16 4438, i16 3156, i16 8642, i16 8643, i16 4432, i16 8644, i16 4437, i16 3636, i16 1834, i16 0, i16 8645, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7102, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7101, i16 7104, i16 7108, i16 7107, i16 0, i16 7105, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11222, i16 0, i16 0, i16 11223, i16 0, i16 3292, i16 0, i16 3660, i16 11224, i16 11225, i16 11226, i16 11227, i16 0, i16 6049, i16 0, i16 0, i16 11228, i16 0, i16 0, i16 11230, i16 11231, i16 6056, i16 11232, i16 0, i16 6048, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8409, i16 8410, i16 0, i16 8411, i16 0, i16 4283, i16 0, i16 0, i16 8412, i16 1205, i16 4284, i16 8413, i16 0, i16 4285, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8414, i16 0, i16 8415, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4599, i16 752, i16 8844, i16 8845, i16 1720, i16 0, i16 8846, i16 0, i16 2177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8847, i16 8848, i16 0, i16 0, i16 8849, i16 2707, i16 0, i16 8850, i16 3053, i16 4605, i16 2405, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4632, i16 0, i16 0, i16 8909, i16 8910, i16 0, i16 0, i16 2464, i16 0, i16 4639, i16 8911, i16 0, i16 8912, i16 4633, i16 8913, i16 0, i16 4630, i16 4637, i16 8914, i16 0, i16 0, i16 0, i16 4607, i16 0, i16 8915, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 316, i16 315, i16 0, i16 0, i16 0, i16 312, i16 0, i16 0, i16 314, i16 313, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8817, i16 0, i16 8818, i16 0, i16 0, i16 3069, i16 4663, i16 0, i16 0, i16 0, i16 0, i16 3279, i16 0, i16 8819, i16 0, i16 2706, i16 8820, i16 8821, i16 0, i16 3368, i16 8822, i16 4583, i16 934, i16 2605, i16 8823, i16 8824, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7940, i16 2549, i16 0, i16 7941, i16 970, i16 7942, i16 0, i16 0, i16 7943, i16 7944, i16 7945, i16 7946, i16 7947, i16 7948, i16 0, i16 4042, i16 0, i16 4044, i16 2069, i16 858, i16 7949, i16 0, i16 4047, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 311, i16 310, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2652, i16 12969, i16 6980, i16 0, i16 3024, i16 0, i16 6985, i16 6981, i16 0, i16 0, i16 0, i16 6982, i16 0, i16 12970, i16 3300, i16 3413, i16 0, i16 2861, i16 12971, i16 0, i16 12972, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1124, i16 11078, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11079, i16 920, i16 5954, i16 3639, i16 2498, i16 11080, i16 0, i16 3131, i16 0, i16 5966, i16 11081, i16 988, i16 5964, i16 0, i16 5962, i16 5953, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2662, i16 9547, i16 9548, i16 9549, i16 883, i16 1622, i16 5035, i16 0, i16 0, i16 9551, i16 9552, i16 0, i16 9553, i16 1974, i16 5040, i16 0, i16 5039, i16 5034, i16 0, i16 5037, i16 9554, i16 0, i16 1099, i16 9555, i16 5036, i16 2948, i16 9556, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8864, i16 8865, i16 3280, i16 1919, i16 4620, i16 0, i16 4619, i16 8866, i16 8867, i16 2243, i16 0, i16 0, i16 8868, i16 1497, i16 0, i16 8869, i16 8870, i16 4613, i16 2086, i16 8871, i16 0, i16 2885, i16 2924, i16 8872, i16 8873, i16 0, i16 8874, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11173, i16 6028, i16 11174, i16 11175, i16 3524, i16 11176, i16 0, i16 0, i16 11177, i16 3575, i16 11178, i16 0, i16 11179, i16 11180, i16 0, i16 0, i16 0, i16 11181, i16 2619, i16 11182, i16 11183, i16 11184, i16 1102, i16 11185, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6850, i16 12720, i16 0, i16 1057, i16 0, i16 0, i16 0, i16 2954, i16 6851, i16 6852, i16 0, i16 12721, i16 12722, i16 12723, i16 2589, i16 2888, i16 12724, i16 0, i16 0, i16 0, i16 12725, i16 12726, i16 0, i16 6853, i16 12727, i16 0, i16 12728, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4292, i16 0, i16 4294, i16 0, i16 8425, i16 0, i16 8426, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8427, i16 0, i16 0, i16 0, i16 0, i16 8429, i16 0, i16 4295, i16 0, i16 0, i16 0, i16 8428, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10961, i16 5874, i16 10962, i16 0, i16 0, i16 10963, i16 5872, i16 10964, i16 0, i16 2208, i16 0, i16 3164, i16 5877, i16 10965, i16 5876, i16 1639, i16 3710, i16 0, i16 10966, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5893, i16 0, i16 0, i16 0, i16 0, i16 13078, i16 7046, i16 3001, i16 0, i16 13079, i16 7047, i16 7049, i16 0, i16 13080, i16 7050, i16 13081, i16 13082, i16 13083, i16 0, i16 0, i16 13084, i16 13085, i16 13086, i16 0, i16 0, i16 7048, i16 1668, i16 3422, i16 3350, i16 4361, i16 0, i16 4996, i16 3374, i16 0, i16 0, i16 0, i16 0, i16 9766, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9767, i16 5177, i16 2557, i16 5180, i16 5175, i16 9768, i16 9769, i16 0, i16 5179, i16 9770, i16 0, i16 0, i16 9771, i16 5178, i16 2751, i16 802, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4915, i16 9346, i16 9347, i16 4920, i16 4924, i16 9348, i16 9349, i16 1331, i16 0, i16 0, i16 9350, i16 0, i16 9351, i16 9352, i16 9353, i16 0, i16 0, i16 9354, i16 9355, i16 0, i16 1259, i16 4922, i16 0, i16 9356, i16 0, i16 0, i16 0, i16 1216, i16 0, i16 0, i16 0, i16 0, i16 9780, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5176, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3286, i16 9781, i16 0, i16 0, i16 5186, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9539, i16 0, i16 0, i16 9540, i16 0, i16 0, i16 9541, i16 3517, i16 5042, i16 0, i16 9542, i16 9543, i16 0, i16 9544, i16 5041, i16 9545, i16 0, i16 0, i16 0, i16 2335, i16 0, i16 5038, i16 9546, i16 3547, i16 0, i16 0, i16 2835, i16 5032, i16 0, i16 0, i16 0, i16 0, i16 10582, i16 0, i16 3236, i16 986, i16 0, i16 10583, i16 0, i16 5611, i16 0, i16 5608, i16 10584, i16 5613, i16 10585, i16 10586, i16 5612, i16 0, i16 2990, i16 3384, i16 10587, i16 1806, i16 5606, i16 5615, i16 5610, i16 10588, i16 5609, i16 5605, i16 10589, i16 5607, i16 0, i16 0, i16 0, i16 0, i16 12640, i16 0, i16 6807, i16 12641, i16 0, i16 0, i16 12642, i16 6809, i16 2511, i16 1086, i16 1087, i16 6808, i16 0, i16 12643, i16 12644, i16 12645, i16 1194, i16 1515, i16 12646, i16 12647, i16 1195, i16 12648, i16 12649, i16 2750, i16 0, i16 0, i16 3629, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9849, i16 0, i16 0, i16 0, i16 5220, i16 0, i16 2687, i16 9850, i16 5222, i16 5221, i16 0, i16 9851, i16 5223, i16 0, i16 5224, i16 0, i16 9852, i16 1936, i16 3162, i16 0, i16 9853, i16 9854, i16 3453, i16 5225, i16 5226, i16 2397, i16 1877, i16 5227, i16 0, i16 0, i16 0, i16 0, i16 944, i16 0, i16 13087, i16 0, i16 13088, i16 0, i16 0, i16 13089, i16 7052, i16 1263, i16 7053, i16 7054, i16 7055, i16 0, i16 1676, i16 0, i16 7056, i16 13090, i16 0, i16 0, i16 5266, i16 3436, i16 0, i16 2504, i16 7057, i16 7059, i16 7058, i16 13091, i16 0, i16 0, i16 0, i16 0, i16 9393, i16 0, i16 0, i16 9394, i16 3008, i16 0, i16 4946, i16 0, i16 9395, i16 0, i16 0, i16 0, i16 9396, i16 9397, i16 9398, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4950, i16 4947, i16 9399, i16 9400, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1215, i16 9243, i16 4856, i16 0, i16 9244, i16 3418, i16 4831, i16 1214, i16 9245, i16 4838, i16 0, i16 9246, i16 9247, i16 9248, i16 3315, i16 9249, i16 4839, i16 4841, i16 9250, i16 4845, i16 4833, i16 9251, i16 2541, i16 0, i16 9252, i16 9253, i16 0, i16 2798, i16 0, i16 0, i16 0, i16 0, i16 7110, i16 7111, i16 7122, i16 0, i16 7123, i16 7124, i16 7125, i16 0, i16 7127, i16 0, i16 7128, i16 7130, i16 7136, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 0, i16 0, i16 0, i16 0, i16 6623, i16 0, i16 0, i16 12326, i16 12327, i16 12328, i16 0, i16 2886, i16 0, i16 2772, i16 0, i16 0, i16 12329, i16 12330, i16 12331, i16 0, i16 2680, i16 12332, i16 6636, i16 12333, i16 12334, i16 0, i16 12335, i16 2566, i16 6632, i16 0, i16 12336, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2303, i16 11822, i16 1920, i16 6405, i16 0, i16 11823, i16 0, i16 1077, i16 11824, i16 6406, i16 11825, i16 0, i16 2429, i16 6407, i16 0, i16 6408, i16 3170, i16 0, i16 0, i16 1230, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11826, i16 0, i16 0, i16 0, i16 8200, i16 905, i16 0, i16 8201, i16 1202, i16 2877, i16 3273, i16 0, i16 0, i16 0, i16 0, i16 4173, i16 2396, i16 4172, i16 1435, i16 8202, i16 8203, i16 3342, i16 4171, i16 0, i16 2788, i16 4175, i16 8204, i16 4174, i16 8205, i16 0, i16 8206, i16 8207, i16 8208, i16 0, i16 0, i16 0, i16 9739, i16 9740, i16 0, i16 0, i16 0, i16 9741, i16 9742, i16 9743, i16 9744, i16 5111, i16 0, i16 9749, i16 0, i16 0, i16 5171, i16 0, i16 0, i16 9745, i16 9746, i16 0, i16 0, i16 2884, i16 0, i16 0, i16 0, i16 0, i16 9747, i16 9748, i16 0, i16 0, i16 0, i16 0, i16 8486, i16 0, i16 0, i16 0, i16 8487, i16 0, i16 4332, i16 0, i16 8488, i16 1185, i16 4333, i16 8490, i16 0, i16 8489, i16 0, i16 4335, i16 4334, i16 0, i16 0, i16 4336, i16 0, i16 8491, i16 8492, i16 0, i16 4337, i16 0, i16 2327, i16 1970, i16 0, i16 0, i16 0, i16 0, i16 808, i16 5862, i16 0, i16 2563, i16 0, i16 10928, i16 0, i16 0, i16 0, i16 2963, i16 10929, i16 2496, i16 10930, i16 0, i16 0, i16 10931, i16 0, i16 10932, i16 10933, i16 5864, i16 10934, i16 10935, i16 5860, i16 5863, i16 5858, i16 0, i16 5861, i16 3289, i16 0, i16 0, i16 0, i16 0, i16 6698, i16 0, i16 0, i16 12462, i16 784, i16 12463, i16 12464, i16 6696, i16 12465, i16 6700, i16 6699, i16 0, i16 0, i16 12466, i16 12467, i16 12468, i16 12469, i16 6702, i16 6701, i16 6703, i16 0, i16 2827, i16 12470, i16 12471, i16 0, i16 6704, i16 12472, i16 12473, i16 12474, i16 0, i16 0, i16 0, i16 299, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7121, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9006, i16 0, i16 1543, i16 0, i16 9007, i16 4685, i16 9008, i16 0, i16 0, i16 0, i16 4688, i16 0, i16 3145, i16 9009, i16 1278, i16 9010, i16 0, i16 9011, i16 4687, i16 4686, i16 2959, i16 4689, i16 1330, i16 0, i16 0, i16 0, i16 4691, i16 4690, i16 9012, i16 0, i16 0, i16 0, i16 5172, i16 9750, i16 9751, i16 0, i16 0, i16 0, i16 0, i16 0, i16 981, i16 9752, i16 0, i16 9753, i16 2803, i16 1032, i16 0, i16 0, i16 0, i16 0, i16 9754, i16 9755, i16 0, i16 1283, i16 0, i16 0, i16 0, i16 1935, i16 1735, i16 9756, i16 0, i16 0, i16 0, i16 0, i16 9782, i16 9783, i16 9784, i16 9785, i16 9786, i16 0, i16 5185, i16 0, i16 9787, i16 9788, i16 0, i16 0, i16 9789, i16 0, i16 0, i16 0, i16 0, i16 914, i16 0, i16 0, i16 0, i16 0, i16 5188, i16 3207, i16 0, i16 5187, i16 0, i16 9790, i16 0, i16 0, i16 0, i16 0, i16 8247, i16 8248, i16 863, i16 1136, i16 8249, i16 4189, i16 0, i16 3414, i16 3112, i16 0, i16 0, i16 8250, i16 8251, i16 0, i16 8252, i16 8253, i16 0, i16 8254, i16 0, i16 753, i16 8255, i16 0, i16 0, i16 0, i16 834, i16 0, i16 0, i16 0, i16 1828, i16 0, i16 0, i16 0, i16 10308, i16 0, i16 0, i16 0, i16 5464, i16 0, i16 10309, i16 0, i16 0, i16 0, i16 5465, i16 0, i16 0, i16 0, i16 10310, i16 10311, i16 0, i16 0, i16 10312, i16 0, i16 5466, i16 0, i16 10313, i16 5467, i16 3400, i16 5468, i16 0, i16 10314, i16 10315, i16 0, i16 0, i16 0, i16 10830, i16 10831, i16 5779, i16 0, i16 10832, i16 0, i16 0, i16 0, i16 0, i16 5780, i16 5781, i16 5782, i16 10833, i16 5783, i16 5784, i16 10834, i16 10835, i16 5786, i16 5785, i16 0, i16 0, i16 5787, i16 0, i16 0, i16 10836, i16 10837, i16 10838, i16 0, i16 5788, i16 0, i16 0, i16 0, i16 6991, i16 0, i16 0, i16 6989, i16 0, i16 1118, i16 0, i16 6988, i16 1891, i16 942, i16 0, i16 0, i16 12981, i16 12982, i16 0, i16 12983, i16 12984, i16 12985, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12986, i16 1658, i16 12987, i16 12989, i16 6998, i16 6997, i16 0, i16 0, i16 0, i16 12117, i16 0, i16 0, i16 0, i16 12118, i16 12119, i16 2864, i16 6566, i16 1989, i16 1937, i16 2966, i16 2612, i16 12120, i16 0, i16 0, i16 1955, i16 12121, i16 2231, i16 0, i16 6567, i16 12122, i16 6568, i16 12123, i16 12124, i16 12125, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1113, i16 5562, i16 5561, i16 10536, i16 5565, i16 5558, i16 10537, i16 5566, i16 3574, i16 10538, i16 5567, i16 10539, i16 5568, i16 0, i16 10540, i16 4170, i16 5570, i16 0, i16 5569, i16 0, i16 0, i16 0, i16 5571, i16 5572, i16 10541, i16 3586, i16 5573, i16 0, i16 6797, i16 0, i16 0, i16 0, i16 4186, i16 8227, i16 2474, i16 0, i16 8228, i16 3307, i16 0, i16 0, i16 0, i16 2761, i16 8229, i16 8230, i16 8231, i16 8232, i16 0, i16 4187, i16 8233, i16 0, i16 0, i16 0, i16 8234, i16 0, i16 3352, i16 8235, i16 1727, i16 8236, i16 0, i16 2071, i16 0, i16 0, i16 0, i16 0, i16 4961, i16 0, i16 0, i16 9421, i16 4960, i16 0, i16 4962, i16 9422, i16 0, i16 979, i16 9423, i16 2554, i16 0, i16 4963, i16 0, i16 9424, i16 1152, i16 4965, i16 0, i16 9425, i16 0, i16 9426, i16 4964, i16 0, i16 4966, i16 0, i16 9427, i16 0, i16 4967, i16 0, i16 0, i16 0, i16 10341, i16 10342, i16 5477, i16 0, i16 10343, i16 10344, i16 0, i16 0, i16 0, i16 10345, i16 0, i16 10346, i16 0, i16 0, i16 0, i16 10347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10348, i16 2104, i16 10349, i16 0, i16 0, i16 0, i16 0, i16 2175, i16 8612, i16 3107, i16 0, i16 8613, i16 8614, i16 8615, i16 0, i16 8616, i16 1208, i16 2913, i16 0, i16 0, i16 8617, i16 8618, i16 8619, i16 8620, i16 8621, i16 0, i16 4422, i16 1833, i16 3309, i16 3310, i16 0, i16 0, i16 933, i16 4427, i16 8622, i16 0, i16 0, i16 0, i16 0, i16 2695, i16 3881, i16 7678, i16 0, i16 2444, i16 0, i16 7679, i16 1764, i16 3882, i16 3883, i16 2359, i16 0, i16 3880, i16 0, i16 0, i16 0, i16 0, i16 3885, i16 7680, i16 3305, i16 7681, i16 7682, i16 0, i16 7683, i16 1659, i16 7684, i16 0, i16 3884, i16 7685, i16 0, i16 0, i16 0, i16 5002, i16 5001, i16 0, i16 9479, i16 9480, i16 9481, i16 0, i16 0, i16 0, i16 9482, i16 0, i16 9483, i16 0, i16 0, i16 0, i16 0, i16 9484, i16 2224, i16 9485, i16 9486, i16 3120, i16 881, i16 0, i16 9487, i16 9488, i16 0, i16 0, i16 3038, i16 9489, i16 0, i16 0, i16 0, i16 12200, i16 12201, i16 12202, i16 12203, i16 0, i16 12204, i16 6671, i16 0, i16 0, i16 6599, i16 0, i16 12205, i16 12206, i16 12207, i16 0, i16 0, i16 12208, i16 3640, i16 12209, i16 12210, i16 1555, i16 12211, i16 12212, i16 12213, i16 0, i16 12214, i16 0, i16 12215, i16 6609, i16 0, i16 0, i16 0, i16 1469, i16 0, i16 8946, i16 0, i16 8947, i16 4649, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8948, i16 8949, i16 8950, i16 1800, i16 4646, i16 0, i16 4645, i16 0, i16 0, i16 8951, i16 8952, i16 2925, i16 8953, i16 0, i16 8954, i16 2834, i16 8955, i16 0, i16 0, i16 0, i16 1223, i16 1538, i16 4235, i16 1083, i16 0, i16 8338, i16 4236, i16 0, i16 2462, i16 0, i16 0, i16 8339, i16 8340, i16 4237, i16 4277, i16 0, i16 4238, i16 0, i16 4239, i16 0, i16 0, i16 4240, i16 0, i16 4242, i16 0, i16 8341, i16 8342, i16 8343, i16 8344, i16 0, i16 0, i16 0, i16 5320, i16 5319, i16 5321, i16 10092, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5322, i16 5324, i16 5323, i16 0, i16 0, i16 1680, i16 10093, i16 5326, i16 0, i16 5325, i16 10094, i16 10095, i16 1158, i16 0, i16 2206, i16 0, i16 2747, i16 0, i16 5327, i16 2273, i16 0, i16 0, i16 0, i16 9928, i16 1677, i16 1845, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9929, i16 5264, i16 5265, i16 9930, i16 0, i16 9931, i16 0, i16 0, i16 0, i16 9932, i16 5267, i16 9933, i16 0, i16 0, i16 0, i16 0, i16 9934, i16 9935, i16 9936, i16 0, i16 0, i16 0, i16 4811, i16 0, i16 0, i16 0, i16 3111, i16 0, i16 0, i16 0, i16 9216, i16 0, i16 0, i16 9217, i16 9218, i16 9219, i16 9220, i16 9221, i16 0, i16 4823, i16 9222, i16 952, i16 4812, i16 0, i16 9223, i16 9224, i16 9225, i16 9226, i16 0, i16 4829, i16 4813, i16 0, i16 0, i16 0, i16 13009, i16 13010, i16 0, i16 13011, i16 7009, i16 0, i16 7008, i16 13012, i16 0, i16 0, i16 13013, i16 13014, i16 1463, i16 0, i16 0, i16 13015, i16 13016, i16 0, i16 13017, i16 13018, i16 13019, i16 13020, i16 0, i16 7013, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11738, i16 0, i16 0, i16 1460, i16 0, i16 0, i16 0, i16 0, i16 6342, i16 6344, i16 11739, i16 0, i16 6345, i16 1251, i16 5811, i16 2150, i16 0, i16 6346, i16 0, i16 11740, i16 1575, i16 11741, i16 11742, i16 0, i16 0, i16 11743, i16 6347, i16 11744, i16 0, i16 0, i16 0, i16 0, i16 5086, i16 9609, i16 9610, i16 0, i16 0, i16 9611, i16 9612, i16 3388, i16 9613, i16 0, i16 5084, i16 5088, i16 9614, i16 0, i16 9615, i16 9616, i16 9617, i16 9618, i16 0, i16 1545, i16 9619, i16 2098, i16 0, i16 0, i16 2556, i16 9620, i16 9621, i16 9622, i16 5078, i16 0, i16 0, i16 0, i16 7917, i16 7918, i16 0, i16 0, i16 1489, i16 4034, i16 4032, i16 2394, i16 1257, i16 1321, i16 7919, i16 4029, i16 0, i16 1393, i16 0, i16 7920, i16 0, i16 0, i16 0, i16 875, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7921, i16 0, i16 0, i16 0, i16 238, i16 0, i16 300, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1015, i16 0, i16 11621, i16 2163, i16 6275, i16 0, i16 11622, i16 0, i16 11623, i16 0, i16 11624, i16 0, i16 0, i16 0, i16 11625, i16 0, i16 11626, i16 6276, i16 0, i16 11627, i16 0, i16 6277, i16 11628, i16 0, i16 0, i16 0, i16 11629, i16 0, i16 11630, i16 0, i16 0, i16 7936, i16 1823, i16 4040, i16 0, i16 0, i16 0, i16 0, i16 7937, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7938, i16 4043, i16 0, i16 4048, i16 0, i16 0, i16 0, i16 4046, i16 4045, i16 7939, i16 0, i16 0, i16 8448, i16 8449, i16 0, i16 0, i16 8450, i16 0, i16 8451, i16 0, i16 8455, i16 4317, i16 4314, i16 0, i16 4316, i16 0, i16 3553, i16 8453, i16 4315, i16 0, i16 0, i16 8452, i16 0, i16 0, i16 0, i16 8454, i16 0, i16 0, i16 4305, i16 0, i16 0, i16 8456, i16 0, i16 0, i16 2310, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8927, i16 0, i16 0, i16 4643, i16 8928, i16 0, i16 8929, i16 8930, i16 8931, i16 8932, i16 0, i16 0, i16 0, i16 2725, i16 0, i16 8933, i16 8934, i16 8935, i16 8936, i16 0, i16 8937, i16 0, i16 0, i16 10759, i16 10760, i16 10761, i16 10762, i16 10763, i16 5714, i16 0, i16 0, i16 1368, i16 3077, i16 10764, i16 10765, i16 10766, i16 2420, i16 0, i16 3613, i16 2046, i16 0, i16 0, i16 5762, i16 0, i16 10767, i16 5724, i16 10768, i16 2343, i16 0, i16 5720, i16 5725, i16 5727, i16 0, i16 0, i16 0, i16 6161, i16 11432, i16 11433, i16 11434, i16 11435, i16 11436, i16 11437, i16 11438, i16 0, i16 11439, i16 11440, i16 3498, i16 0, i16 0, i16 11441, i16 0, i16 0, i16 11442, i16 0, i16 11443, i16 0, i16 11444, i16 11445, i16 11446, i16 0, i16 0, i16 0, i16 0, i16 11447, i16 6160, i16 0, i16 0, i16 8998, i16 4677, i16 4676, i16 0, i16 8999, i16 0, i16 0, i16 9000, i16 4644, i16 4678, i16 4666, i16 0, i16 9001, i16 1836, i16 0, i16 9002, i16 0, i16 0, i16 4679, i16 4680, i16 4682, i16 4681, i16 4683, i16 1027, i16 9003, i16 1613, i16 9004, i16 9005, i16 3281, i16 2264, i16 0, i16 0, i16 13103, i16 13104, i16 0, i16 0, i16 0, i16 7071, i16 7072, i16 13105, i16 0, i16 0, i16 0, i16 0, i16 2723, i16 13106, i16 13107, i16 13108, i16 13109, i16 1558, i16 13110, i16 7074, i16 13111, i16 13112, i16 0, i16 13113, i16 13114, i16 13115, i16 0, i16 0, i16 0, i16 13116, i16 0, i16 0, i16 1852, i16 10946, i16 0, i16 1337, i16 2289, i16 3697, i16 3391, i16 5865, i16 2301, i16 10947, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10948, i16 10949, i16 10950, i16 0, i16 1266, i16 5868, i16 10951, i16 0, i16 10952, i16 0, i16 0, i16 0, i16 4159, i16 0, i16 0, i16 8181, i16 8182, i16 0, i16 0, i16 3238, i16 4160, i16 8183, i16 8184, i16 0, i16 0, i16 971, i16 4161, i16 0, i16 8185, i16 8186, i16 8187, i16 3499, i16 1043, i16 0, i16 3939, i16 2007, i16 2468, i16 4162, i16 3452, i16 8189, i16 0, i16 0, i16 0, i16 0, i16 9280, i16 0, i16 0, i16 9281, i16 0, i16 0, i16 0, i16 9282, i16 3515, i16 0, i16 0, i16 0, i16 9283, i16 0, i16 0, i16 0, i16 0, i16 3181, i16 4862, i16 2479, i16 0, i16 9284, i16 0, i16 4868, i16 2374, i16 9285, i16 4859, i16 4872, i16 4871, i16 0, i16 0, i16 0, i16 334, i16 335, i16 0, i16 0, i16 332, i16 333, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5718, i16 5712, i16 0, i16 0, i16 10752, i16 10753, i16 0, i16 0, i16 10754, i16 5716, i16 1963, i16 806, i16 5711, i16 5719, i16 5723, i16 1634, i16 3431, i16 10755, i16 2679, i16 5713, i16 10756, i16 10757, i16 5721, i16 10758, i16 5710, i16 2561, i16 0, i16 5715, i16 774, i16 3419, i16 0, i16 0, i16 9566, i16 0, i16 0, i16 5052, i16 0, i16 9567, i16 2096, i16 0, i16 0, i16 0, i16 3487, i16 0, i16 5049, i16 0, i16 0, i16 9568, i16 9569, i16 5044, i16 9570, i16 5050, i16 9571, i16 9572, i16 9573, i16 3627, i16 0, i16 2802, i16 2847, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3942, i16 7777, i16 3458, i16 0, i16 0, i16 7778, i16 7779, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7780, i16 0, i16 0, i16 0, i16 0, i16 7781, i16 7782, i16 0, i16 3943, i16 0, i16 3615, i16 7783, i16 1589, i16 0, i16 0, i16 7784, i16 0, i16 1519, i16 0, i16 0, i16 9320, i16 0, i16 0, i16 9321, i16 0, i16 4903, i16 4896, i16 0, i16 0, i16 4909, i16 0, i16 4907, i16 9322, i16 9323, i16 0, i16 9324, i16 4902, i16 9325, i16 0, i16 9326, i16 0, i16 0, i16 0, i16 4901, i16 0, i16 2673, i16 0, i16 2412, i16 9327, i16 4899, i16 0, i16 0, i16 12650, i16 12651, i16 0, i16 12652, i16 12653, i16 1557, i16 0, i16 0, i16 12654, i16 6810, i16 12655, i16 0, i16 0, i16 6811, i16 6812, i16 6813, i16 0, i16 6815, i16 6814, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4205, i16 8279, i16 0, i16 8280, i16 3151, i16 8281, i16 0, i16 0, i16 4206, i16 0, i16 4201, i16 8282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8283, i16 0, i16 0, i16 8284, i16 8285, i16 0, i16 0, i16 8286, i16 3404, i16 0, i16 0, i16 2671, i16 2855, i16 880, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2331, i16 9194, i16 0, i16 2269, i16 1413, i16 0, i16 9195, i16 0, i16 0, i16 0, i16 9196, i16 4801, i16 9197, i16 0, i16 0, i16 12666, i16 6821, i16 6820, i16 12667, i16 6822, i16 0, i16 12668, i16 0, i16 0, i16 0, i16 12669, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3085, i16 5822, i16 0, i16 0, i16 2164, i16 0, i16 0, i16 12678, i16 6825, i16 0, i16 3440, i16 0, i16 12679, i16 12680, i16 6826, i16 3531, i16 0, i16 873, i16 0, i16 0, i16 0, i16 1812, i16 12681, i16 6827, i16 1011, i16 6828, i16 12682, i16 12683, i16 12684, i16 6829, i16 0, i16 12685, i16 12686, i16 12687, i16 6831, i16 6832, i16 12688, i16 0, i16 0, i16 7827, i16 0, i16 7828, i16 0, i16 7829, i16 7830, i16 1967, i16 7831, i16 1959, i16 7832, i16 0, i16 7833, i16 7834, i16 0, i16 3977, i16 3975, i16 0, i16 3380, i16 7835, i16 3972, i16 3981, i16 3976, i16 0, i16 0, i16 0, i16 3979, i16 1535, i16 3408, i16 0, i16 7836, i16 0, i16 0, i16 9623, i16 9624, i16 0, i16 0, i16 0, i16 3486, i16 9625, i16 0, i16 0, i16 5081, i16 0, i16 0, i16 5074, i16 2801, i16 0, i16 0, i16 5077, i16 9626, i16 0, i16 0, i16 5083, i16 0, i16 0, i16 0, i16 0, i16 9627, i16 0, i16 9628, i16 3708, i16 1903, i16 0, i16 0, i16 10135, i16 5355, i16 10136, i16 5354, i16 0, i16 0, i16 0, i16 0, i16 0, i16 893, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5363, i16 3073, i16 5357, i16 10137, i16 5359, i16 0, i16 0, i16 5361, i16 2185, i16 10138, i16 0, i16 5362, i16 5360, i16 1905, i16 10139, i16 0, i16 0, i16 7585, i16 3813, i16 7586, i16 3811, i16 7587, i16 2389, i16 7588, i16 7589, i16 0, i16 0, i16 0, i16 3812, i16 3814, i16 7590, i16 0, i16 7591, i16 7603, i16 0, i16 0, i16 3816, i16 7592, i16 0, i16 0, i16 3815, i16 7593, i16 3229, i16 0, i16 0, i16 7594, i16 0, i16 0, i16 0, i16 6307, i16 11695, i16 6305, i16 0, i16 11696, i16 2575, i16 11697, i16 11698, i16 11699, i16 2282, i16 1171, i16 6306, i16 0, i16 2214, i16 0, i16 11700, i16 3607, i16 11701, i16 11702, i16 11703, i16 3691, i16 11704, i16 0, i16 0, i16 6308, i16 6319, i16 2646, i16 11705, i16 6318, i16 11706, i16 0, i16 0, i16 12974, i16 6986, i16 0, i16 0, i16 6987, i16 2843, i16 6984, i16 6983, i16 0, i16 12973, i16 0, i16 0, i16 943, i16 0, i16 0, i16 12975, i16 6995, i16 0, i16 0, i16 6994, i16 0, i16 12976, i16 12977, i16 0, i16 0, i16 924, i16 12978, i16 12979, i16 12980, i16 6992, i16 0, i16 0, i16 1714, i16 0, i16 0, i16 10326, i16 10327, i16 0, i16 0, i16 10328, i16 0, i16 0, i16 5472, i16 10329, i16 10330, i16 0, i16 0, i16 10331, i16 5473, i16 0, i16 1503, i16 1738, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10332, i16 0, i16 0, i16 0, i16 0, i16 9906, i16 0, i16 9907, i16 9908, i16 0, i16 9909, i16 0, i16 0, i16 5255, i16 9910, i16 0, i16 9911, i16 0, i16 0, i16 0, i16 0, i16 9912, i16 9913, i16 0, i16 0, i16 5257, i16 5254, i16 9914, i16 9915, i16 0, i16 3429, i16 5256, i16 5258, i16 9916, i16 3601, i16 0, i16 0, i16 4280, i16 7388, i16 0, i16 0, i16 0, i16 0, i16 7389, i16 7390, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3551, i16 0, i16 2906, i16 7391, i16 7392, i16 0, i16 0, i16 0, i16 7393, i16 0, i16 0, i16 0, i16 0, i16 1126, i16 7394, i16 0, i16 0, i16 9401, i16 9402, i16 3554, i16 4948, i16 9403, i16 9404, i16 0, i16 9405, i16 4900, i16 0, i16 0, i16 0, i16 0, i16 9406, i16 9407, i16 9408, i16 4951, i16 0, i16 0, i16 0, i16 4952, i16 9409, i16 0, i16 0, i16 0, i16 9410, i16 0, i16 860, i16 9411, i16 4954, i16 0, i16 0, i16 2749, i16 6472, i16 0, i16 0, i16 0, i16 0, i16 11939, i16 0, i16 0, i16 6475, i16 0, i16 11946, i16 11940, i16 0, i16 11941, i16 11942, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11943, i16 1893, i16 11944, i16 11945, i16 6474, i16 6473, i16 1461, i16 6476, i16 0, i16 0, i16 0, i16 9917, i16 0, i16 9918, i16 5262, i16 0, i16 9919, i16 9920, i16 5261, i16 2617, i16 2920, i16 9921, i16 0, i16 1502, i16 5260, i16 0, i16 9922, i16 9923, i16 0, i16 5259, i16 9924, i16 3488, i16 3489, i16 0, i16 0, i16 9925, i16 9926, i16 0, i16 9927, i16 5263, i16 917, i16 0, i16 0, i16 5579, i16 0, i16 5592, i16 0, i16 5582, i16 10551, i16 1287, i16 0, i16 5581, i16 5594, i16 0, i16 0, i16 0, i16 5580, i16 0, i16 2109, i16 0, i16 0, i16 10552, i16 0, i16 0, i16 0, i16 5584, i16 5585, i16 0, i16 2730, i16 0, i16 0, i16 5586, i16 10553, i16 0, i16 0, i16 7119, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 360, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6868, i16 0, i16 0, i16 0, i16 0, i16 12737, i16 0, i16 0, i16 12738, i16 12739, i16 12740, i16 6859, i16 6860, i16 0, i16 12741, i16 6861, i16 6862, i16 0, i16 12742, i16 12743, i16 0, i16 0, i16 6864, i16 12744, i16 0, i16 6863, i16 0, i16 12745, i16 12746, i16 2024, i16 0, i16 0, i16 4310, i16 8439, i16 8440, i16 0, i16 8441, i16 8442, i16 0, i16 3277, i16 0, i16 8438, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8443, i16 0, i16 0, i16 8444, i16 0, i16 0, i16 0, i16 0, i16 8445, i16 0, i16 0, i16 0, i16 8446, i16 0, i16 8447, i16 0, i16 0, i16 2523, i16 0, i16 10008, i16 5286, i16 10009, i16 0, i16 10010, i16 10011, i16 10012, i16 10013, i16 10014, i16 10015, i16 10016, i16 10017, i16 10018, i16 10019, i16 5288, i16 3619, i16 1364, i16 3093, i16 2949, i16 0, i16 0, i16 10020, i16 5289, i16 0, i16 0, i16 0, i16 0, i16 5291, i16 0, i16 0, i16 6368, i16 0, i16 0, i16 6370, i16 11784, i16 11785, i16 0, i16 6369, i16 6371, i16 11786, i16 3321, i16 6372, i16 6373, i16 0, i16 11787, i16 0, i16 11788, i16 11789, i16 6374, i16 0, i16 0, i16 0, i16 6376, i16 11790, i16 0, i16 11791, i16 11792, i16 1040, i16 2696, i16 0, i16 0, i16 0, i16 7648, i16 0, i16 2257, i16 3861, i16 2025, i16 0, i16 7649, i16 3862, i16 0, i16 2623, i16 3596, i16 2783, i16 0, i16 7650, i16 0, i16 7651, i16 7652, i16 7653, i16 0, i16 7654, i16 3935, i16 0, i16 7655, i16 0, i16 0, i16 3863, i16 7099, i16 1346, i16 7656, i16 0, i16 0, i16 0, i16 6882, i16 0, i16 6884, i16 6883, i16 0, i16 0, i16 0, i16 6885, i16 6887, i16 6886, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 745, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 735, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8685, i16 0, i16 8686, i16 2141, i16 4477, i16 2868, i16 8687, i16 8688, i16 8689, i16 8690, i16 0, i16 0, i16 8691, i16 8692, i16 0, i16 3698, i16 0, i16 4473, i16 8693, i16 8694, i16 0, i16 0, i16 4479, i16 8695, i16 1682, i16 8696, i16 2292, i16 8697, i16 8698, i16 797, i16 0, i16 0, i16 4592, i16 0, i16 8825, i16 2551, i16 4586, i16 4593, i16 4588, i16 4595, i16 4591, i16 0, i16 4590, i16 2986, i16 8826, i16 4584, i16 1026, i16 4582, i16 1296, i16 2520, i16 4578, i16 8827, i16 8828, i16 4581, i16 1611, i16 2308, i16 8829, i16 2084, i16 4589, i16 2957, i16 0, i16 0, i16 0, i16 0, i16 1265, i16 2324, i16 1901, i16 3479, i16 4245, i16 0, i16 8355, i16 8356, i16 0, i16 0, i16 8357, i16 8358, i16 1275, i16 8359, i16 1728, i16 8360, i16 8361, i16 1045, i16 906, i16 2073, i16 973, i16 8362, i16 4246, i16 3509, i16 8363, i16 0, i16 8364, i16 0, i16 0, i16 2008, i16 0, i16 0, i16 3570, i16 2894, i16 0, i16 0, i16 0, i16 0, i16 850, i16 12532, i16 2316, i16 1895, i16 0, i16 0, i16 0, i16 12533, i16 3212, i16 12534, i16 871, i16 0, i16 0, i16 0, i16 3642, i16 3546, i16 0, i16 6745, i16 12535, i16 2756, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7672, i16 0, i16 3030, i16 3233, i16 0, i16 3875, i16 7673, i16 3559, i16 3876, i16 0, i16 0, i16 0, i16 3877, i16 0, i16 2813, i16 7674, i16 7675, i16 3878, i16 0, i16 7676, i16 2258, i16 1779, i16 1487, i16 3879, i16 1820, i16 1670, i16 7677, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3834, i16 0, i16 7631, i16 2907, i16 7632, i16 0, i16 2363, i16 3836, i16 3837, i16 3013, i16 1585, i16 3686, i16 3838, i16 0, i16 0, i16 1315, i16 0, i16 0, i16 0, i16 3217, i16 2459, i16 1390, i16 2740, i16 0, i16 0, i16 0, i16 1486, i16 0, i16 7633, i16 0, i16 0, i16 0, i16 13052, i16 0, i16 0, i16 0, i16 0, i16 13053, i16 0, i16 0, i16 13051, i16 0, i16 0, i16 0, i16 13054, i16 0, i16 13055, i16 13056, i16 13057, i16 0, i16 0, i16 13058, i16 13059, i16 0, i16 0, i16 13060, i16 7032, i16 7033, i16 13061, i16 13062, i16 7034, i16 0, i16 0, i16 0, i16 9469, i16 0, i16 9470, i16 9471, i16 0, i16 0, i16 4997, i16 9472, i16 0, i16 0, i16 0, i16 9473, i16 9474, i16 1844, i16 9475, i16 3394, i16 9476, i16 4998, i16 4999, i16 0, i16 0, i16 1219, i16 0, i16 9477, i16 0, i16 5000, i16 0, i16 0, i16 0, i16 9478, i16 0, i16 2304, i16 0, i16 6423, i16 11858, i16 11859, i16 0, i16 11860, i16 1554, i16 0, i16 6420, i16 6421, i16 11861, i16 0, i16 0, i16 3668, i16 11862, i16 11864, i16 11865, i16 2648, i16 11866, i16 2352, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6424, i16 11867, i16 0, i16 6427, i16 0, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 0, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 520, i16 521, i16 522, i16 523, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 0, i16 1028, i16 1703, i16 6923, i16 6922, i16 3382, i16 0, i16 0, i16 12844, i16 0, i16 0, i16 12845, i16 12846, i16 6925, i16 6926, i16 6924, i16 0, i16 6927, i16 0, i16 0, i16 3349, i16 12847, i16 12848, i16 12849, i16 6928, i16 0, i16 1306, i16 12850, i16 0, i16 0, i16 12851, i16 0, i16 0, i16 6661, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6659, i16 0, i16 0, i16 12412, i16 12413, i16 0, i16 12414, i16 12415, i16 12416, i16 12417, i16 6660, i16 6658, i16 0, i16 2525, i16 0, i16 6662, i16 12418, i16 0, i16 12420, i16 0, i16 12419, i16 0, i16 12549, i16 6764, i16 12550, i16 6761, i16 0, i16 6762, i16 0, i16 6763, i16 6765, i16 12551, i16 0, i16 0, i16 0, i16 12552, i16 12553, i16 0, i16 0, i16 2285, i16 0, i16 0, i16 12554, i16 3464, i16 12555, i16 12556, i16 2286, i16 12557, i16 12558, i16 6766, i16 0, i16 3084, i16 0, i16 0, i16 6663, i16 0, i16 12421, i16 6665, i16 12422, i16 0, i16 0, i16 12423, i16 0, i16 12424, i16 0, i16 12425, i16 0, i16 0, i16 0, i16 0, i16 1174, i16 6664, i16 3467, i16 0, i16 12426, i16 0, i16 0, i16 0, i16 12427, i16 6676, i16 6666, i16 12428, i16 0, i16 6669, i16 12429, i16 0, i16 4105, i16 8057, i16 0, i16 1690, i16 8058, i16 2550, i16 8059, i16 8060, i16 4102, i16 2683, i16 8061, i16 0, i16 8062, i16 8063, i16 8064, i16 8065, i16 8066, i16 0, i16 8067, i16 8068, i16 8069, i16 0, i16 8070, i16 0, i16 8071, i16 8072, i16 8073, i16 8074, i16 0, i16 8075, i16 4106, i16 0, i16 6409, i16 11827, i16 0, i16 11828, i16 2647, i16 0, i16 0, i16 11829, i16 0, i16 898, i16 0, i16 0, i16 11830, i16 0, i16 0, i16 11831, i16 11832, i16 0, i16 0, i16 0, i16 11833, i16 0, i16 0, i16 0, i16 6410, i16 0, i16 0, i16 0, i16 0, i16 11834, i16 11835, i16 0, i16 3338, i16 2521, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3370, i16 0, i16 0, i16 5024, i16 0, i16 9517, i16 5025, i16 9518, i16 980, i16 9519, i16 0, i16 0, i16 0, i16 3197, i16 3470, i16 5027, i16 1876, i16 2095, i16 5020, i16 5026, i16 911, i16 0, i16 3595, i16 0, i16 7373, i16 7374, i16 0, i16 3223, i16 0, i16 7375, i16 0, i16 3714, i16 7376, i16 0, i16 2601, i16 7377, i16 7378, i16 7379, i16 3715, i16 1399, i16 0, i16 0, i16 7380, i16 3716, i16 0, i16 1182, i16 2547, i16 0, i16 1944, i16 3717, i16 0, i16 0, i16 3718, i16 0, i16 4364, i16 4365, i16 2956, i16 0, i16 0, i16 8542, i16 0, i16 4366, i16 3652, i16 3672, i16 8544, i16 8543, i16 0, i16 8545, i16 4368, i16 4367, i16 8546, i16 8547, i16 1066, i16 8548, i16 8549, i16 4369, i16 0, i16 0, i16 0, i16 4372, i16 4373, i16 8550, i16 4371, i16 8551, i16 3127, i16 0, i16 1549, i16 1851, i16 0, i16 0, i16 3079, i16 10923, i16 10924, i16 0, i16 1507, i16 3318, i16 10925, i16 5857, i16 5855, i16 0, i16 1637, i16 0, i16 1638, i16 818, i16 0, i16 1757, i16 0, i16 0, i16 0, i16 10926, i16 10927, i16 2964, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3599, i16 9227, i16 4820, i16 9228, i16 2970, i16 9229, i16 0, i16 9230, i16 0, i16 0, i16 0, i16 0, i16 4828, i16 0, i16 4815, i16 0, i16 0, i16 0, i16 765, i16 4817, i16 0, i16 9231, i16 1619, i16 9232, i16 0, i16 9233, i16 4819, i16 9234, i16 4818, i16 0, i16 4814, i16 0, i16 4879, i16 0, i16 4887, i16 0, i16 9315, i16 0, i16 7096, i16 9316, i16 0, i16 4884, i16 1620, i16 2665, i16 2411, i16 4882, i16 0, i16 4877, i16 9317, i16 0, i16 4880, i16 0, i16 0, i16 9318, i16 9319, i16 3516, i16 3357, i16 0, i16 0, i16 0, i16 4885, i16 4895, i16 0, i16 0, i16 11023, i16 11024, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11025, i16 5925, i16 1641, i16 5926, i16 3045, i16 0, i16 5940, i16 0, i16 0, i16 0, i16 11026, i16 5928, i16 11027, i16 2478, i16 2992, i16 1528, i16 5927, i16 2348, i16 11028, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5395, i16 5396, i16 0, i16 10200, i16 10201, i16 0, i16 5400, i16 5397, i16 5398, i16 5399, i16 0, i16 5401, i16 10202, i16 10203, i16 10204, i16 5402, i16 10205, i16 5403, i16 0, i16 10206, i16 0, i16 5404, i16 0, i16 5405, i16 0, i16 3016, i16 2767, i16 5406, i16 2989, i16 3115, i16 0, i16 0, i16 8468, i16 4323, i16 8469, i16 4322, i16 0, i16 0, i16 4321, i16 8470, i16 0, i16 8471, i16 2791, i16 4300, i16 0, i16 0, i16 0, i16 4329, i16 0, i16 8472, i16 8473, i16 8474, i16 8475, i16 0, i16 0, i16 0, i16 8476, i16 0, i16 8477, i16 0, i16 4325, i16 0, i16 8478, i16 0, i16 6679, i16 0, i16 12440, i16 12439, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1304, i16 3121, i16 0, i16 9655, i16 0, i16 1904, i16 0, i16 9656, i16 1678, i16 9657, i16 0, i16 9658, i16 9659, i16 0, i16 3678, i16 0, i16 5110, i16 0, i16 5122, i16 912, i16 2413, i16 9660, i16 0, i16 9661, i16 0, i16 9662, i16 9663, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8729, i16 4504, i16 0, i16 4505, i16 8730, i16 8731, i16 4494, i16 1871, i16 8732, i16 4498, i16 2491, i16 1609, i16 4480, i16 2176, i16 0, i16 0, i16 0, i16 0, i16 4518, i16 0, i16 3262, i16 0, i16 0, i16 4508, i16 4509, i16 4510, i16 0, i16 0, i16 4517, i16 8733, i16 4516, i16 0, i16 9757, i16 0, i16 0, i16 0, i16 9758, i16 9759, i16 0, i16 0, i16 3666, i16 2225, i16 0, i16 0, i16 0, i16 913, i16 0, i16 0, i16 0, i16 5174, i16 0, i16 9760, i16 9761, i16 9762, i16 9763, i16 9764, i16 5173, i16 0, i16 9765, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7458, i16 7459, i16 1127, i16 7460, i16 7461, i16 3762, i16 0, i16 3754, i16 7462, i16 7463, i16 3632, i16 7464, i16 1867, i16 7465, i16 3755, i16 7466, i16 3760, i16 7467, i16 7468, i16 7469, i16 0, i16 3763, i16 7470, i16 3756, i16 7471, i16 7472, i16 1310, i16 0, i16 790, i16 7473, i16 7474, i16 0, i16 11555, i16 6226, i16 0, i16 6231, i16 0, i16 11556, i16 3192, i16 0, i16 0, i16 6233, i16 0, i16 6232, i16 11557, i16 11558, i16 11559, i16 1103, i16 0, i16 3294, i16 6234, i16 0, i16 11560, i16 11561, i16 0, i16 11562, i16 11563, i16 11564, i16 0, i16 11565, i16 6246, i16 6236, i16 0, i16 0, i16 1572, i16 0, i16 0, i16 0, i16 0, i16 5480, i16 2711, i16 0, i16 0, i16 10359, i16 0, i16 5483, i16 1050, i16 5478, i16 10360, i16 0, i16 3075, i16 0, i16 855, i16 10361, i16 1761, i16 0, i16 3709, i16 10362, i16 0, i16 5482, i16 0, i16 0, i16 10364, i16 10365, i16 10366, i16 0, i16 6950, i16 6947, i16 6946, i16 6948, i16 12905, i16 0, i16 12906, i16 1466, i16 0, i16 12907, i16 12908, i16 0, i16 0, i16 0, i16 12909, i16 6954, i16 6953, i16 6952, i16 12910, i16 0, i16 764, i16 0, i16 12911, i16 12912, i16 12913, i16 12914, i16 0, i16 0, i16 12915, i16 0, i16 12916, i16 0, i16 2856, i16 4921, i16 0, i16 9357, i16 0, i16 4923, i16 9358, i16 0, i16 0, i16 9359, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9360, i16 4917, i16 9361, i16 0, i16 0, i16 0, i16 0, i16 4919, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9362, i16 1091, i16 0, i16 11816, i16 0, i16 11817, i16 6393, i16 6394, i16 0, i16 6396, i16 2440, i16 11818, i16 6395, i16 1191, i16 0, i16 6398, i16 0, i16 6397, i16 6399, i16 0, i16 11819, i16 6401, i16 6403, i16 0, i16 6404, i16 11820, i16 0, i16 0, i16 0, i16 11821, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6188, i16 6187, i16 6118, i16 0, i16 0, i16 0, i16 6192, i16 11497, i16 0, i16 0, i16 0, i16 0, i16 11498, i16 11499, i16 0, i16 11500, i16 6189, i16 11501, i16 0, i16 0, i16 11502, i16 6190, i16 0, i16 0, i16 6191, i16 11503, i16 6193, i16 11504, i16 0, i16 0, i16 0, i16 0, i16 8237, i16 0, i16 8238, i16 8239, i16 0, i16 4188, i16 0, i16 8240, i16 1827, i16 8241, i16 1826, i16 0, i16 8242, i16 0, i16 0, i16 770, i16 1537, i16 8243, i16 2260, i16 794, i16 0, i16 0, i16 0, i16 0, i16 4192, i16 4193, i16 0, i16 4190, i16 8244, i16 8245, i16 8246, i16 0, i16 4912, i16 4937, i16 4936, i16 0, i16 0, i16 9383, i16 0, i16 9385, i16 9384, i16 0, i16 0, i16 9386, i16 0, i16 0, i16 0, i16 9387, i16 4942, i16 0, i16 3665, i16 9388, i16 9389, i16 9390, i16 0, i16 0, i16 0, i16 4945, i16 1400, i16 9391, i16 9392, i16 4941, i16 4943, i16 0, i16 12592, i16 0, i16 6789, i16 12593, i16 12594, i16 6790, i16 12595, i16 6791, i16 12596, i16 12597, i16 6792, i16 12598, i16 12599, i16 12600, i16 0, i16 12601, i16 12602, i16 0, i16 1179, i16 12603, i16 0, i16 0, i16 12604, i16 12605, i16 12606, i16 0, i16 12610, i16 6793, i16 12607, i16 12608, i16 0, i16 0, i16 819, i16 0, i16 12066, i16 12067, i16 12068, i16 0, i16 12069, i16 12070, i16 0, i16 1648, i16 0, i16 12064, i16 0, i16 3685, i16 0, i16 0, i16 0, i16 12079, i16 0, i16 0, i16 12071, i16 0, i16 12072, i16 12073, i16 12074, i16 0, i16 6560, i16 12075, i16 12076, i16 0, i16 12077, i16 0, i16 6451, i16 11911, i16 11912, i16 6454, i16 6453, i16 0, i16 6452, i16 0, i16 11913, i16 6456, i16 6455, i16 0, i16 3463, i16 0, i16 0, i16 11914, i16 6458, i16 11915, i16 6457, i16 6459, i16 11916, i16 0, i16 0, i16 0, i16 6460, i16 11917, i16 11918, i16 0, i16 11919, i16 11920, i16 0, i16 0, i16 1332, i16 9520, i16 0, i16 5017, i16 5022, i16 9521, i16 0, i16 0, i16 2333, i16 2988, i16 0, i16 3072, i16 9522, i16 0, i16 9523, i16 9524, i16 9525, i16 9526, i16 5019, i16 9527, i16 3284, i16 9528, i16 5021, i16 0, i16 5030, i16 9529, i16 5028, i16 9530, i16 5023, i16 0, i16 0, i16 0, i16 6708, i16 12480, i16 0, i16 12481, i16 12482, i16 12483, i16 0, i16 6709, i16 0, i16 1754, i16 0, i16 12484, i16 0, i16 6710, i16 6711, i16 0, i16 12485, i16 3324, i16 12486, i16 0, i16 0, i16 0, i16 12487, i16 12488, i16 12489, i16 12490, i16 2386, i16 12491, i16 12492, i16 0, i16 749, i16 0, i16 12852, i16 0, i16 12853, i16 0, i16 12854, i16 12855, i16 0, i16 12856, i16 0, i16 12857, i16 12858, i16 12859, i16 12860, i16 12861, i16 3664, i16 0, i16 0, i16 0, i16 12862, i16 6929, i16 12863, i16 0, i16 12864, i16 12865, i16 12866, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12867, i16 0, i16 10805, i16 10806, i16 0, i16 0, i16 10807, i16 5742, i16 5750, i16 0, i16 5758, i16 5757, i16 10808, i16 0, i16 3373, i16 10809, i16 10810, i16 1414, i16 0, i16 0, i16 10811, i16 0, i16 0, i16 0, i16 0, i16 10812, i16 5756, i16 0, i16 5760, i16 5759, i16 5763, i16 10813, i16 5765, i16 0, i16 2872, i16 2230, i16 12031, i16 12032, i16 2588, i16 0, i16 1397, i16 0, i16 6536, i16 3494, i16 870, i16 12033, i16 3244, i16 998, i16 6531, i16 6532, i16 6533, i16 6534, i16 2840, i16 2534, i16 812, i16 6538, i16 0, i16 6539, i16 7097, i16 0, i16 12034, i16 2466, i16 12035, i16 6540, i16 0, i16 0, i16 6969, i16 12928, i16 12929, i16 6968, i16 6967, i16 12930, i16 12931, i16 12932, i16 12933, i16 12934, i16 0, i16 0, i16 3136, i16 6965, i16 828, i16 6970, i16 12935, i16 6972, i16 0, i16 0, i16 12936, i16 12937, i16 12938, i16 0, i16 1106, i16 6951, i16 862, i16 0, i16 12939, i16 6974, i16 0, i16 0, i16 9018, i16 4694, i16 4695, i16 0, i16 9019, i16 0, i16 3213, i16 4241, i16 2287, i16 9020, i16 0, i16 3139, i16 0, i16 1741, i16 0, i16 3070, i16 3036, i16 9021, i16 0, i16 0, i16 9022, i16 0, i16 2764, i16 9023, i16 3598, i16 0, i16 4697, i16 1921, i16 9024, i16 0, i16 4698, i16 0, i16 1341, i16 12391, i16 0, i16 6651, i16 6645, i16 12392, i16 12393, i16 6644, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12395, i16 12396, i16 12394, i16 12397, i16 12398, i16 0, i16 12399, i16 0, i16 0, i16 0, i16 6462, i16 11921, i16 0, i16 0, i16 0, i16 0, i16 11922, i16 0, i16 11923, i16 6461, i16 2195, i16 6463, i16 11924, i16 11925, i16 1386, i16 6464, i16 6466, i16 0, i16 11926, i16 0, i16 11927, i16 0, i16 0, i16 0, i16 0, i16 11928, i16 11929, i16 0, i16 0, i16 6467, i16 0, i16 0, i16 10814, i16 1807, i16 5761, i16 0, i16 0, i16 10815, i16 10816, i16 5766, i16 5767, i16 10817, i16 0, i16 5768, i16 10818, i16 5774, i16 2746, i16 5770, i16 10819, i16 5769, i16 5771, i16 5772, i16 10820, i16 5773, i16 0, i16 10821, i16 0, i16 10822, i16 5775, i16 5776, i16 10823, i16 10824, i16 0, i16 0, i16 11328, i16 6096, i16 0, i16 0, i16 0, i16 0, i16 11329, i16 0, i16 11330, i16 0, i16 0, i16 0, i16 3557, i16 0, i16 5430, i16 6098, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11331, i16 0, i16 11332, i16 0, i16 11333, i16 0, i16 11334, i16 11335, i16 0, i16 6099, i16 0, i16 8772, i16 8773, i16 4542, i16 0, i16 8776, i16 4541, i16 8774, i16 0, i16 8775, i16 0, i16 0, i16 8777, i16 8778, i16 0, i16 8779, i16 0, i16 0, i16 2633, i16 0, i16 4545, i16 0, i16 4543, i16 4533, i16 1495, i16 0, i16 4544, i16 0, i16 4548, i16 4547, i16 4549, i16 4546, i16 0, i16 9798, i16 0, i16 0, i16 0, i16 9799, i16 9800, i16 9801, i16 0, i16 3656, i16 9802, i16 9803, i16 5194, i16 0, i16 2338, i16 0, i16 9804, i16 0, i16 9805, i16 0, i16 0, i16 5190, i16 5195, i16 9806, i16 0, i16 915, i16 9807, i16 0, i16 9808, i16 0, i16 9809, i16 0, i16 0, i16 2122, i16 6364, i16 11773, i16 11774, i16 0, i16 11775, i16 0, i16 11776, i16 11777, i16 1666, i16 3724, i16 6365, i16 11778, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11779, i16 0, i16 11780, i16 11781, i16 0, i16 6366, i16 3126, i16 6367, i16 11782, i16 6375, i16 0, i16 11783, i16 0, i16 0, i16 1355, i16 1412, i16 5657, i16 0, i16 0, i16 10668, i16 10669, i16 0, i16 3209, i16 0, i16 2227, i16 0, i16 3393, i16 0, i16 10670, i16 5658, i16 0, i16 3584, i16 0, i16 10671, i16 2991, i16 0, i16 2381, i16 2927, i16 0, i16 0, i16 2012, i16 0, i16 0, i16 10672, i16 777, i16 0, i16 13131, i16 0, i16 13132, i16 13133, i16 13134, i16 13135, i16 13136, i16 0, i16 0, i16 7078, i16 5519, i16 0, i16 0, i16 6400, i16 6795, i16 0, i16 0, i16 7079, i16 13137, i16 7080, i16 13138, i16 13139, i16 13140, i16 13141, i16 0, i16 13142, i16 0, i16 0, i16 13143, i16 13144, i16 7082, i16 0, i16 12365, i16 0, i16 12366, i16 12367, i16 0, i16 12368, i16 1054, i16 12369, i16 12375, i16 0, i16 12370, i16 6638, i16 6639, i16 2660, i16 0, i16 6637, i16 0, i16 0, i16 0, i16 12371, i16 12372, i16 12373, i16 0, i16 0, i16 6641, i16 12374, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1872, i16 4600, i16 8835, i16 8836, i16 0, i16 0, i16 1835, i16 4601, i16 781, i16 8837, i16 8838, i16 4596, i16 8839, i16 0, i16 0, i16 8840, i16 2634, i16 0, i16 8841, i16 0, i16 0, i16 8842, i16 0, i16 8843, i16 1298, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1329, i16 0, i16 1618, i16 1119, i16 0, i16 0, i16 0, i16 0, i16 9199, i16 9198, i16 4803, i16 1111, i16 4809, i16 9200, i16 9201, i16 0, i16 9202, i16 9203, i16 9204, i16 4806, i16 9205, i16 2332, i16 0, i16 0, i16 0, i16 1070, i16 1697, i16 0, i16 9206, i16 1069, i16 1732, i16 0, i16 9207, i16 0, i16 6996, i16 12990, i16 12991, i16 6993, i16 12988, i16 6999, i16 12992, i16 7000, i16 0, i16 12993, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7005, i16 7004, i16 0, i16 12994, i16 12995, i16 0, i16 0, i16 0, i16 0, i16 7006, i16 0, i16 0, i16 852, i16 7001, i16 7002, i16 12996, i16 0, i16 4182, i16 2908, i16 3063, i16 3426, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2912, i16 8220, i16 8221, i16 4191, i16 8222, i16 0, i16 0, i16 0, i16 8223, i16 1239, i16 0, i16 8224, i16 3508, i16 8225, i16 0, i16 3392, i16 0, i16 4286, i16 0, i16 4183, i16 0, i16 8226, i16 0, i16 1880, i16 0, i16 0, i16 0, i16 5494, i16 5489, i16 10378, i16 10379, i16 10380, i16 5495, i16 5490, i16 10381, i16 0, i16 10382, i16 0, i16 3057, i16 5488, i16 10383, i16 10384, i16 5491, i16 10385, i16 10386, i16 0, i16 0, i16 0, i16 5498, i16 10388, i16 0, i16 0, i16 0, i16 10389, i16 0, i16 9560, i16 0, i16 5043, i16 5045, i16 9561, i16 865, i16 9562, i16 0, i16 1623, i16 3677, i16 0, i16 1056, i16 0, i16 3161, i16 9563, i16 9564, i16 0, i16 0, i16 0, i16 3536, i16 0, i16 0, i16 1031, i16 2182, i16 5047, i16 0, i16 0, i16 9565, i16 0, i16 0, i16 0, i16 0, i16 12376, i16 0, i16 6647, i16 12377, i16 12378, i16 12379, i16 12380, i16 6650, i16 12381, i16 12382, i16 12383, i16 12384, i16 12385, i16 0, i16 0, i16 6649, i16 2732, i16 0, i16 12386, i16 0, i16 0, i16 6642, i16 6643, i16 6646, i16 12387, i16 0, i16 0, i16 12388, i16 6648, i16 12389, i16 12390, i16 0, i16 11868, i16 0, i16 0, i16 11869, i16 11870, i16 11871, i16 0, i16 6425, i16 6426, i16 3528, i16 11872, i16 0, i16 0, i16 0, i16 2820, i16 6430, i16 11873, i16 0, i16 0, i16 11874, i16 0, i16 11875, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6428, i16 6429, i16 6431, i16 0, i16 12126, i16 2216, i16 6569, i16 12127, i16 6570, i16 0, i16 12128, i16 0, i16 6571, i16 3550, i16 0, i16 1990, i16 12129, i16 0, i16 0, i16 0, i16 0, i16 6573, i16 6572, i16 12130, i16 1649, i16 0, i16 1674, i16 1811, i16 12131, i16 12132, i16 12133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4703, i16 9033, i16 4701, i16 4704, i16 3590, i16 4702, i16 0, i16 9034, i16 9035, i16 0, i16 2340, i16 4705, i16 0, i16 9036, i16 2455, i16 9037, i16 0, i16 4706, i16 0, i16 9038, i16 0, i16 9039, i16 1211, i16 9040, i16 4708, i16 0, i16 4707, i16 0, i16 0, i16 0, i16 9041, i16 0, i16 11104, i16 11105, i16 5986, i16 0, i16 0, i16 0, i16 0, i16 826, i16 0, i16 0, i16 5977, i16 11106, i16 11107, i16 11108, i16 5976, i16 11109, i16 5971, i16 5970, i16 11110, i16 5968, i16 5967, i16 2598, i16 11111, i16 2528, i16 5973, i16 11112, i16 0, i16 11113, i16 11114, i16 0, i16 0, i16 0, i16 11364, i16 0, i16 6107, i16 2941, i16 0, i16 11365, i16 11366, i16 11367, i16 6108, i16 6109, i16 6119, i16 0, i16 11368, i16 0, i16 6113, i16 6116, i16 11369, i16 0, i16 11370, i16 11371, i16 11372, i16 6112, i16 11373, i16 11374, i16 11375, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11376, i16 0, i16 12134, i16 6576, i16 12135, i16 0, i16 12136, i16 12137, i16 2037, i16 0, i16 6575, i16 12138, i16 6574, i16 0, i16 2510, i16 12139, i16 0, i16 1576, i16 12140, i16 2284, i16 12141, i16 12142, i16 12143, i16 0, i16 3017, i16 12144, i16 0, i16 0, i16 0, i16 1992, i16 0, i16 12145, i16 0, i16 0, i16 4458, i16 8665, i16 4461, i16 4463, i16 0, i16 8666, i16 0, i16 8667, i16 1902, i16 8668, i16 4469, i16 2705, i16 4459, i16 8669, i16 0, i16 0, i16 8670, i16 4467, i16 8671, i16 1022, i16 8672, i16 4465, i16 4466, i16 8673, i16 0, i16 4462, i16 4464, i16 0, i16 8674, i16 8675, i16 1568, i16 0, i16 7018, i16 7024, i16 13030, i16 7017, i16 0, i16 7022, i16 13031, i16 0, i16 13032, i16 13033, i16 0, i16 0, i16 0, i16 0, i16 7023, i16 0, i16 0, i16 0, i16 7026, i16 13034, i16 13035, i16 13036, i16 13037, i16 0, i16 7025, i16 13038, i16 0, i16 0, i16 0, i16 13039, i16 13040, i16 0, i16 10858, i16 10859, i16 5804, i16 1421, i16 0, i16 10860, i16 0, i16 2345, i16 1248, i16 10861, i16 0, i16 0, i16 10862, i16 5808, i16 5805, i16 0, i16 0, i16 5806, i16 0, i16 10863, i16 0, i16 5809, i16 0, i16 5810, i16 5807, i16 0, i16 0, i16 10864, i16 848, i16 0, i16 10865, i16 0, i16 3180, i16 2325, i16 0, i16 1918, i16 4261, i16 2074, i16 4262, i16 4263, i16 796, i16 2463, i16 2205, i16 8379, i16 4264, i16 2832, i16 2075, i16 0, i16 2076, i16 0, i16 4265, i16 0, i16 0, i16 2326, i16 8380, i16 0, i16 0, i16 2077, i16 0, i16 0, i16 0, i16 8381, i16 8382, i16 0, i16 12400, i16 12401, i16 6655, i16 12402, i16 0, i16 0, i16 6656, i16 12403, i16 12404, i16 0, i16 0, i16 0, i16 12405, i16 12406, i16 12407, i16 6657, i16 0, i16 0, i16 6654, i16 6653, i16 12408, i16 12409, i16 12410, i16 2127, i16 2823, i16 6652, i16 0, i16 0, i16 0, i16 0, i16 12411, i16 0, i16 8562, i16 8563, i16 8564, i16 8565, i16 3456, i16 1522, i16 1541, i16 8566, i16 4392, i16 0, i16 8567, i16 8568, i16 4393, i16 8569, i16 4399, i16 8570, i16 1942, i16 0, i16 0, i16 8571, i16 2630, i16 8572, i16 1324, i16 4394, i16 0, i16 0, i16 8573, i16 3106, i16 8574, i16 2569, i16 8575, i16 0, i16 12146, i16 6577, i16 0, i16 2124, i16 0, i16 12147, i16 0, i16 12148, i16 0, i16 6580, i16 6578, i16 12149, i16 12150, i16 12151, i16 6579, i16 12152, i16 12153, i16 12154, i16 12155, i16 6582, i16 6581, i16 12156, i16 0, i16 2151, i16 0, i16 6583, i16 12157, i16 12158, i16 12159, i16 0, i16 12160, i16 0, i16 3960, i16 7810, i16 1256, i16 1065, i16 0, i16 0, i16 0, i16 1662, i16 1255, i16 2688, i16 844, i16 2830, i16 3407, i16 1592, i16 3560, i16 2758, i16 1591, i16 0, i16 7811, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7812, i16 1418, i16 0, i16 3969, i16 0, i16 1376, i16 0, i16 3705, i16 11299, i16 0, i16 0, i16 0, i16 0, i16 11300, i16 0, i16 6080, i16 11301, i16 11302, i16 0, i16 3556, i16 11303, i16 6082, i16 6084, i16 0, i16 0, i16 0, i16 0, i16 6085, i16 0, i16 0, i16 11305, i16 0, i16 11306, i16 0, i16 6088, i16 6086, i16 0, i16 11307, i16 0, i16 10363, i16 0, i16 5484, i16 10367, i16 0, i16 0, i16 3232, i16 10368, i16 2306, i16 5486, i16 0, i16 10369, i16 10370, i16 0, i16 5487, i16 10371, i16 10372, i16 10373, i16 10374, i16 0, i16 5485, i16 0, i16 0, i16 0, i16 0, i16 1073, i16 10375, i16 5493, i16 10376, i16 5492, i16 10377, i16 0, i16 12670, i16 1233, i16 12671, i16 0, i16 12672, i16 12673, i16 12674, i16 0, i16 6823, i16 12675, i16 6824, i16 0, i16 3910, i16 4959, i16 3052, i16 0, i16 0, i16 836, i16 12676, i16 772, i16 0, i16 12677, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1863, i16 3299, i16 2155, i16 0, i16 0, i16 1408, i16 6500, i16 6501, i16 6502, i16 11984, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8328, i16 2139, i16 0, i16 0, i16 8329, i16 0, i16 0, i16 0, i16 0, i16 4225, i16 0, i16 2685, i16 8330, i16 0, i16 0, i16 876, i16 0, i16 4223, i16 0, i16 8324, i16 0, i16 4226, i16 0, i16 8331, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4227, i16 0, i16 0, i16 4489, i16 8720, i16 0, i16 0, i16 0, i16 0, i16 4497, i16 4496, i16 0, i16 8721, i16 8722, i16 4501, i16 0, i16 0, i16 0, i16 8723, i16 8724, i16 0, i16 0, i16 4502, i16 8725, i16 8726, i16 8727, i16 0, i16 8728, i16 0, i16 0, i16 4500, i16 4503, i16 4495, i16 4499, i16 0, i16 8076, i16 2221, i16 8077, i16 0, i16 0, i16 0, i16 0, i16 4104, i16 4107, i16 0, i16 1434, i16 8078, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4108, i16 8079, i16 8088, i16 0, i16 8080, i16 0, i16 8081, i16 8082, i16 0, i16 8083, i16 8084, i16 8085, i16 8086, i16 0, i16 12940, i16 0, i16 12941, i16 12942, i16 12943, i16 6973, i16 6971, i16 2544, i16 12944, i16 12945, i16 0, i16 0, i16 0, i16 12946, i16 12947, i16 12948, i16 0, i16 3363, i16 12949, i16 12950, i16 0, i16 12951, i16 3623, i16 12952, i16 0, i16 6975, i16 12953, i16 12960, i16 12954, i16 12955, i16 12956, i16 0, i16 654, i16 7143, i16 7144, i16 7145, i16 7146, i16 7147, i16 7148, i16 7149, i16 7150, i16 7151, i16 7152, i16 7153, i16 0, i16 7154, i16 7155, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 0, i16 1423, i16 6557, i16 0, i16 6558, i16 12078, i16 0, i16 0, i16 3179, i16 0, i16 0, i16 12081, i16 0, i16 1079, i16 0, i16 12082, i16 12083, i16 0, i16 0, i16 0, i16 12084, i16 3496, i16 12080, i16 1340, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2771, i16 12085, i16 12086, i16 0, i16 10127, i16 5350, i16 0, i16 0, i16 10128, i16 5345, i16 5346, i16 0, i16 5349, i16 5348, i16 3100, i16 0, i16 0, i16 2377, i16 2376, i16 10129, i16 1246, i16 10130, i16 10131, i16 5351, i16 10132, i16 0, i16 0, i16 0, i16 10133, i16 5352, i16 0, i16 10134, i16 5353, i16 0, i16 0, i16 0, i16 11407, i16 0, i16 11408, i16 0, i16 6142, i16 0, i16 0, i16 11409, i16 6143, i16 0, i16 0, i16 0, i16 0, i16 11410, i16 11411, i16 0, i16 11412, i16 11413, i16 0, i16 6138, i16 0, i16 0, i16 6140, i16 0, i16 11414, i16 11415, i16 6141, i16 11416, i16 11417, i16 11418, i16 6139, i16 0, i16 5010, i16 5007, i16 3535, i16 0, i16 9507, i16 9508, i16 9509, i16 2657, i16 9510, i16 0, i16 0, i16 2870, i16 5008, i16 0, i16 0, i16 5016, i16 0, i16 5015, i16 1406, i16 9511, i16 9512, i16 946, i16 9513, i16 9514, i16 1712, i16 5009, i16 5011, i16 9515, i16 0, i16 0, i16 9516, i16 0, i16 8851, i16 8852, i16 8853, i16 8854, i16 0, i16 8855, i16 0, i16 0, i16 2447, i16 8856, i16 8857, i16 1790, i16 4606, i16 8858, i16 4608, i16 4604, i16 0, i16 8859, i16 8860, i16 8861, i16 3254, i16 0, i16 2654, i16 8862, i16 0, i16 0, i16 8863, i16 2403, i16 0, i16 0, i16 0, i16 0, i16 11163, i16 0, i16 6002, i16 2839, i16 0, i16 11164, i16 6007, i16 0, i16 0, i16 11165, i16 6004, i16 3291, i16 6010, i16 809, i16 11166, i16 0, i16 11167, i16 0, i16 5998, i16 0, i16 11168, i16 0, i16 0, i16 0, i16 11169, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3228, i16 2651, i16 1687, i16 0, i16 1655, i16 2038, i16 12619, i16 2215, i16 0, i16 12620, i16 0, i16 6801, i16 12622, i16 12623, i16 6800, i16 3505, i16 1193, i16 3051, i16 2873, i16 12624, i16 0, i16 12625, i16 2247, i16 3611, i16 12621, i16 1462, i16 0, i16 12626, i16 0, i16 12627, i16 0, i16 0, i16 4765, i16 0, i16 0, i16 0, i16 9146, i16 4768, i16 9147, i16 9148, i16 2244, i16 0, i16 0, i16 9149, i16 0, i16 3562, i16 786, i16 1749, i16 2465, i16 0, i16 1934, i16 9150, i16 9151, i16 2144, i16 0, i16 0, i16 4771, i16 0, i16 0, i16 2765, i16 9152, i16 4769, i16 2448, i16 0, i16 3230, i16 8167, i16 0, i16 8165, i16 4143, i16 0, i16 2568, i16 8168, i16 0, i16 1018, i16 0, i16 2138, i16 8169, i16 8170, i16 0, i16 8171, i16 4145, i16 8172, i16 4144, i16 8173, i16 1663, i16 8174, i16 4146, i16 4148, i16 4147, i16 8175, i16 0, i16 4150, i16 8176, i16 4139, i16 4152, i16 0, i16 6046, i16 0, i16 0, i16 0, i16 0, i16 11204, i16 0, i16 11205, i16 11206, i16 11207, i16 0, i16 0, i16 6024, i16 0, i16 11208, i16 0, i16 11209, i16 1114, i16 0, i16 11210, i16 0, i16 0, i16 0, i16 2149, i16 6035, i16 11211, i16 6040, i16 2426, i16 11212, i16 11213, i16 6036, i16 0, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 0, i16 6047, i16 11241, i16 11242, i16 11243, i16 11244, i16 2678, i16 11245, i16 0, i16 0, i16 11246, i16 11247, i16 6052, i16 839, i16 0, i16 11248, i16 0, i16 0, i16 11229, i16 11249, i16 11250, i16 2439, i16 11251, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3224, i16 0, i16 11252, i16 0, i16 9892, i16 1333, i16 5243, i16 5245, i16 0, i16 5244, i16 9893, i16 0, i16 9894, i16 0, i16 0, i16 9895, i16 0, i16 5246, i16 0, i16 1546, i16 0, i16 5247, i16 0, i16 0, i16 9896, i16 9897, i16 1382, i16 9898, i16 2375, i16 0, i16 1684, i16 0, i16 0, i16 0, i16 9899, i16 0, i16 10918, i16 0, i16 0, i16 5849, i16 5851, i16 5850, i16 3006, i16 10919, i16 2902, i16 0, i16 3689, i16 3010, i16 0, i16 10920, i16 0, i16 0, i16 0, i16 0, i16 5853, i16 0, i16 0, i16 2112, i16 0, i16 3105, i16 0, i16 5854, i16 5852, i16 10921, i16 1167, i16 10922, i16 0, i16 0, i16 7848, i16 3986, i16 0, i16 3995, i16 3988, i16 7849, i16 7850, i16 3992, i16 7851, i16 7852, i16 3993, i16 3989, i16 7853, i16 7854, i16 4022, i16 0, i16 7855, i16 1758, i16 1044, i16 0, i16 0, i16 0, i16 7856, i16 3987, i16 7857, i16 7858, i16 7859, i16 3997, i16 831, i16 3996, i16 7860, i16 0, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 458, i16 459, i16 460, i16 461, i16 0, i16 3248, i16 8554, i16 4385, i16 3673, i16 0, i16 8555, i16 8556, i16 8557, i16 4386, i16 3221, i16 4389, i16 3711, i16 3727, i16 8558, i16 1889, i16 2898, i16 4390, i16 0, i16 1276, i16 2629, i16 835, i16 4391, i16 3195, i16 1607, i16 8559, i16 0, i16 2579, i16 8560, i16 8561, i16 0, i16 2704, i16 0, i16 3000, i16 0, i16 12729, i16 2481, i16 895, i16 1387, i16 0, i16 1388, i16 12730, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2614, i16 6858, i16 1389, i16 12731, i16 12732, i16 1012, i16 0, i16 0, i16 6857, i16 12733, i16 12734, i16 6855, i16 12735, i16 6856, i16 12736, i16 6854, i16 0, i16 3513, i16 4657, i16 0, i16 8965, i16 4653, i16 0, i16 4654, i16 0, i16 8966, i16 8967, i16 8968, i16 8969, i16 2407, i16 8970, i16 0, i16 8971, i16 8972, i16 4652, i16 0, i16 4587, i16 8973, i16 0, i16 8974, i16 4656, i16 0, i16 4651, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6334, i16 11726, i16 11727, i16 11728, i16 11729, i16 11730, i16 0, i16 11731, i16 6338, i16 0, i16 0, i16 6335, i16 11736, i16 6337, i16 6336, i16 0, i16 0, i16 11732, i16 11733, i16 11734, i16 0, i16 6339, i16 0, i16 1890, i16 11735, i16 6341, i16 6340, i16 3167, i16 0, i16 11737, i16 6343, i16 0, i16 11198, i16 6026, i16 0, i16 6021, i16 11199, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2114, i16 0, i16 0, i16 0, i16 0, i16 1982, i16 0, i16 11200, i16 11201, i16 1885, i16 11202, i16 0, i16 0, i16 0, i16 3433, i16 0, i16 0, i16 3134, i16 0, i16 11203, i16 6037, i16 0, i16 6591, i16 0, i16 2689, i16 12170, i16 12171, i16 3336, i16 1401, i16 0, i16 12172, i16 12173, i16 0, i16 12174, i16 12175, i16 12176, i16 12177, i16 12178, i16 12179, i16 0, i16 0, i16 0, i16 6594, i16 6595, i16 12180, i16 0, i16 12181, i16 0, i16 12182, i16 6593, i16 12183, i16 0, i16 6597, i16 0, i16 3009, i16 4355, i16 3219, i16 4356, i16 0, i16 0, i16 0, i16 8521, i16 0, i16 8522, i16 8523, i16 8524, i16 8525, i16 8526, i16 0, i16 8527, i16 0, i16 1140, i16 3220, i16 2922, i16 4358, i16 4359, i16 0, i16 1603, i16 1141, i16 4360, i16 1521, i16 3507, i16 3480, i16 1207, i16 4362, i16 0, i16 3526, i16 0, i16 6257, i16 0, i16 0, i16 3193, i16 2945, i16 6258, i16 11600, i16 6259, i16 1508, i16 0, i16 11601, i16 0, i16 1227, i16 11602, i16 0, i16 0, i16 6260, i16 11603, i16 11604, i16 1854, i16 2940, i16 6261, i16 0, i16 1075, i16 11605, i16 11606, i16 0, i16 0, i16 11607, i16 0, i16 3783, i16 7516, i16 3268, i16 2576, i16 3779, i16 1484, i16 7517, i16 3776, i16 3784, i16 3778, i16 3614, i16 3785, i16 3692, i16 7518, i16 0, i16 7519, i16 0, i16 7520, i16 7521, i16 0, i16 7522, i16 1379, i16 0, i16 0, i16 1483, i16 0, i16 7546, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9159, i16 0, i16 0, i16 9160, i16 4783, i16 0, i16 3091, i16 0, i16 4774, i16 0, i16 4780, i16 4779, i16 0, i16 9161, i16 9162, i16 2296, i16 9163, i16 0, i16 9164, i16 0, i16 3360, i16 9165, i16 3616, i16 9166, i16 9167, i16 3354, i16 9168, i16 977, i16 1841, i16 0, i16 0, i16 0, i16 7112, i16 302, i16 303, i16 7120, i16 0, i16 7113, i16 309, i16 236, i16 7117, i16 7116, i16 0, i16 340, i16 0, i16 7118, i16 7106, i16 296, i16 283, i16 0, i16 0, i16 234, i16 0, i16 367, i16 0, i16 7103, i16 0, i16 7115, i16 0, i16 0, i16 0, i16 0, i16 7114, i16 0, i16 8138, i16 4127, i16 0, i16 8139, i16 0, i16 0, i16 8140, i16 8141, i16 925, i16 0, i16 2741, i16 0, i16 0, i16 0, i16 0, i16 4129, i16 0, i16 4125, i16 0, i16 0, i16 2203, i16 0, i16 0, i16 8142, i16 4133, i16 0, i16 0, i16 8143, i16 0, i16 2013, i16 8144, i16 0, i16 972, i16 4211, i16 0, i16 8307, i16 0, i16 8308, i16 0, i16 8309, i16 1900, i16 0, i16 4210, i16 1492, i16 0, i16 0, i16 8310, i16 4224, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4217, i16 4214, i16 0, i16 0, i16 8311, i16 0, i16 8312, i16 0, i16 0, i16 0, i16 0, i16 6865, i16 12747, i16 12748, i16 12749, i16 6867, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12750, i16 12751, i16 0, i16 1234, i16 6866, i16 12752, i16 12753, i16 2434, i16 1516, i16 0, i16 0, i16 12754, i16 0, i16 0, i16 6869, i16 0, i16 0, i16 0, i16 0, i16 12755, i16 0, i16 0, i16 10449, i16 0, i16 0, i16 0, i16 0, i16 1305, i16 5518, i16 10450, i16 10451, i16 5520, i16 10452, i16 0, i16 0, i16 5521, i16 10453, i16 2916, i16 10454, i16 0, i16 5522, i16 10455, i16 0, i16 0, i16 0, i16 10456, i16 5523, i16 5524, i16 10457, i16 0, i16 1366, i16 984, i16 2850, i16 0, i16 9683, i16 9684, i16 0, i16 2032, i16 0, i16 5139, i16 0, i16 9685, i16 0, i16 0, i16 0, i16 9686, i16 5132, i16 2637, i16 5129, i16 2682, i16 0, i16 0, i16 0, i16 5164, i16 0, i16 0, i16 0, i16 5126, i16 0, i16 5125, i16 0, i16 5134, i16 9687, i16 9688, i16 0, i16 0, i16 12499, i16 840, i16 2211, i16 2059, i16 1178, i16 6721, i16 0, i16 0, i16 0, i16 2977, i16 0, i16 6723, i16 0, i16 12500, i16 0, i16 841, i16 0, i16 6722, i16 2661, i16 12501, i16 3610, i16 2824, i16 6716, i16 3571, i16 0, i16 1514, i16 12502, i16 12503, i16 3530, i16 12504, i16 12505, i16 0, i16 6357, i16 0, i16 0, i16 0, i16 11760, i16 2819, i16 11761, i16 6359, i16 11762, i16 3296, i16 11763, i16 6360, i16 0, i16 6361, i16 11764, i16 6362, i16 11765, i16 0, i16 11766, i16 11767, i16 6363, i16 0, i16 11768, i16 11769, i16 11772, i16 2871, i16 11770, i16 0, i16 11771, i16 0, i16 0, i16 0, i16 11480, i16 0, i16 11481, i16 0, i16 6158, i16 11482, i16 0, i16 0, i16 11483, i16 11484, i16 11485, i16 0, i16 6178, i16 6182, i16 6177, i16 11486, i16 6184, i16 11488, i16 11489, i16 11490, i16 6186, i16 6185, i16 0, i16 11491, i16 11487, i16 11492, i16 11493, i16 11494, i16 0, i16 11495, i16 11496, i16 0, i16 12506, i16 12507, i16 12508, i16 12509, i16 1398, i16 3585, i16 0, i16 1411, i16 12510, i16 2503, i16 5873, i16 0, i16 6724, i16 1039, i16 2234, i16 0, i16 12511, i16 0, i16 0, i16 1081, i16 6726, i16 12512, i16 6727, i16 6725, i16 1471, i16 12513, i16 1746, i16 2128, i16 12514, i16 0, i16 12515, i16 0, i16 3548, i16 773, i16 5703, i16 0, i16 10730, i16 1290, i16 10731, i16 5700, i16 0, i16 10732, i16 0, i16 0, i16 0, i16 5701, i16 0, i16 10733, i16 2812, i16 5699, i16 5696, i16 0, i16 1035, i16 2317, i16 0, i16 10734, i16 1505, i16 10735, i16 10736, i16 0, i16 5708, i16 0, i16 10737, i16 0, i16 13021, i16 0, i16 0, i16 7014, i16 0, i16 0, i16 0, i16 0, i16 7015, i16 13022, i16 7010, i16 13023, i16 0, i16 13024, i16 6990, i16 0, i16 13025, i16 7016, i16 0, i16 2690, i16 13026, i16 0, i16 0, i16 7020, i16 13027, i16 7021, i16 7019, i16 13028, i16 0, i16 0, i16 13029, i16 0, i16 9187, i16 4794, i16 0, i16 4791, i16 0, i16 9188, i16 4799, i16 0, i16 4789, i16 0, i16 0, i16 4787, i16 0, i16 4795, i16 4785, i16 9189, i16 2607, i16 9190, i16 3465, i16 1911, i16 1769, i16 9191, i16 9192, i16 0, i16 9176, i16 0, i16 1711, i16 0, i16 0, i16 3362, i16 1060, i16 0, i16 3044, i16 0, i16 5746, i16 10797, i16 10798, i16 5741, i16 10799, i16 0, i16 0, i16 2344, i16 1453, i16 0, i16 1978, i16 10800, i16 0, i16 10801, i16 0, i16 10802, i16 0, i16 2160, i16 2365, i16 5752, i16 0, i16 10803, i16 5754, i16 5755, i16 0, i16 0, i16 5751, i16 5753, i16 10804, i16 0, i16 231, i16 0, i16 305, i16 301, i16 304, i16 306, i16 0, i16 263, i16 264, i16 307, i16 281, i16 225, i16 0, i16 226, i16 252, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 228, i16 229, i16 288, i16 286, i16 289, i16 230, i16 0, i16 3568, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11549, i16 6229, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11550, i16 11551, i16 11552, i16 6230, i16 2117, i16 6228, i16 11553, i16 0, i16 11554, i16 3542, i16 6225, i16 0, i16 0, i16 6227, i16 2278, i16 2249, i16 0, i16 0, i16 3824, i16 0, i16 7611, i16 0, i16 0, i16 0, i16 7612, i16 7613, i16 0, i16 3476, i16 0, i16 7614, i16 7615, i16 0, i16 7616, i16 0, i16 7617, i16 3434, i16 7618, i16 7619, i16 7620, i16 0, i16 3826, i16 7621, i16 7622, i16 3825, i16 3828, i16 3827, i16 0, i16 0, i16 3829, i16 0, i16 8177, i16 8178, i16 0, i16 4151, i16 4149, i16 0, i16 0, i16 0, i16 8179, i16 0, i16 1825, i16 2204, i16 0, i16 2395, i16 4153, i16 2277, i16 822, i16 2975, i16 8180, i16 0, i16 0, i16 0, i16 2684, i16 0, i16 4155, i16 4154, i16 4156, i16 4157, i16 4158, i16 0, i16 0, i16 0, i16 7922, i16 0, i16 7923, i16 4038, i16 4036, i16 7924, i16 4093, i16 0, i16 7925, i16 0, i16 7926, i16 7927, i16 0, i16 7928, i16 0, i16 0, i16 7929, i16 7930, i16 7931, i16 4041, i16 0, i16 0, i16 7932, i16 7933, i16 0, i16 4035, i16 7934, i16 4039, i16 0, i16 7935, i16 4037, i16 0, i16 8434, i16 0, i16 0, i16 0, i16 0, i16 8435, i16 2237, i16 0, i16 0, i16 0, i16 4302, i16 0, i16 8436, i16 1759, i16 0, i16 0, i16 4308, i16 8437, i16 0, i16 4309, i16 4303, i16 1046, i16 4304, i16 4313, i16 4312, i16 4311, i16 4307, i16 0, i16 0, i16 0, i16 4306, i16 0, i16 10738, i16 10739, i16 10740, i16 0, i16 10741, i16 10742, i16 0, i16 10743, i16 5705, i16 0, i16 10744, i16 10745, i16 10746, i16 0, i16 5707, i16 0, i16 10747, i16 0, i16 5704, i16 0, i16 0, i16 10748, i16 10749, i16 0, i16 1452, i16 2456, i16 5709, i16 2421, i16 10750, i16 10751, i16 5722, i16 0, i16 10227, i16 5421, i16 2961, i16 0, i16 10228, i16 3346, i16 0, i16 885, i16 10229, i16 894, i16 10230, i16 10231, i16 5422, i16 10232, i16 0, i16 0, i16 0, i16 5424, i16 0, i16 10233, i16 0, i16 5423, i16 2799, i16 0, i16 10234, i16 0, i16 2274, i16 4957, i16 0, i16 5425, i16 3410, i16 0, i16 9460, i16 0, i16 9461, i16 0, i16 0, i16 9462, i16 9463, i16 0, i16 0, i16 0, i16 4993, i16 4992, i16 0, i16 9464, i16 4995, i16 0, i16 9465, i16 0, i16 4994, i16 0, i16 0, i16 0, i16 9466, i16 0, i16 9467, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9468, i16 0, i16 5109, i16 0, i16 0, i16 0, i16 1156, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9674, i16 0, i16 9675, i16 9676, i16 9677, i16 1476, i16 0, i16 0, i16 9678, i16 5135, i16 9679, i16 9680, i16 5130, i16 2337, i16 9681, i16 9682, i16 1094, i16 0, i16 4855, i16 4834, i16 4854, i16 0, i16 4847, i16 4835, i16 0, i16 4851, i16 0, i16 4852, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4869, i16 9275, i16 0, i16 9276, i16 2859, i16 9277, i16 4842, i16 0, i16 9278, i16 4865, i16 0, i16 9279, i16 0, i16 4867, i16 0, i16 2681, i16 0, i16 3579, i16 0, i16 0, i16 2145, i16 2334, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9557, i16 0, i16 5048, i16 5046, i16 0, i16 3140, i16 0, i16 9558, i16 9559, i16 0, i16 8956, i16 0, i16 8957, i16 2736, i16 4647, i16 8958, i16 0, i16 8959, i16 4648, i16 0, i16 3174, i16 8960, i16 2944, i16 1782, i16 0, i16 2330, i16 0, i16 3331, i16 8961, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1068, i16 0, i16 4655, i16 4650, i16 8962, i16 8963, i16 8964, i16 0, i16 8190, i16 3397, i16 8191, i16 8192, i16 4164, i16 0, i16 2508, i16 8193, i16 2742, i16 2469, i16 3150, i16 4165, i16 4166, i16 930, i16 8194, i16 8195, i16 1899, i16 4167, i16 8196, i16 0, i16 8197, i16 8198, i16 793, i16 4168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4169, i16 8199, i16 0, i16 12543, i16 12544, i16 12545, i16 6755, i16 0, i16 0, i16 3401, i16 12546, i16 0, i16 6756, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6757, i16 12547, i16 3669, i16 12548, i16 0, i16 0, i16 0, i16 0, i16 4761, i16 6758, i16 0, i16 0, i16 0, i16 6759, i16 6760, i16 0, i16 11520, i16 1644, i16 6199, i16 810, i16 11521, i16 0, i16 0, i16 0, i16 3124, i16 11522, i16 0, i16 6200, i16 0, i16 0, i16 0, i16 0, i16 2229, i16 11523, i16 6207, i16 0, i16 0, i16 6204, i16 0, i16 2610, i16 0, i16 11524, i16 0, i16 11525, i16 0, i16 6205, i16 6202, i16 1371, i16 5889, i16 0, i16 10986, i16 5892, i16 5891, i16 0, i16 0, i16 0, i16 3319, i16 5895, i16 0, i16 0, i16 0, i16 0, i16 10987, i16 0, i16 5896, i16 0, i16 10988, i16 2366, i16 10989, i16 5897, i16 0, i16 0, i16 5899, i16 0, i16 5903, i16 10990, i16 0, i16 5900, i16 5898, i16 2938, i16 6145, i16 11425, i16 0, i16 6156, i16 11426, i16 11427, i16 993, i16 0, i16 6152, i16 0, i16 6157, i16 0, i16 0, i16 0, i16 6153, i16 11428, i16 0, i16 11429, i16 11430, i16 0, i16 6150, i16 0, i16 2644, i16 0, i16 6147, i16 0, i16 0, i16 11431, i16 0, i16 0, i16 0, i16 2979, i16 11265, i16 11266, i16 11267, i16 6058, i16 11268, i16 0, i16 0, i16 0, i16 3706, i16 2815, i16 3178, i16 11269, i16 0, i16 6071, i16 0, i16 11270, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6077, i16 0, i16 11271, i16 11272, i16 11273, i16 0, i16 11274, i16 6078, i16 11275, i16 12802, i16 0, i16 6898, i16 6899, i16 12803, i16 12804, i16 6900, i16 12805, i16 0, i16 12806, i16 3018, i16 6902, i16 12807, i16 3101, i16 6903, i16 6901, i16 0, i16 6905, i16 12808, i16 12809, i16 6904, i16 12810, i16 0, i16 6906, i16 0, i16 12811, i16 12812, i16 6907, i16 0, i16 12813, i16 0, i16 12814, i16 4611, i16 0, i16 8875, i16 2404, i16 8876, i16 0, i16 0, i16 8877, i16 1961, i16 4616, i16 8878, i16 0, i16 2085, i16 0, i16 4610, i16 4615, i16 8879, i16 0, i16 2958, i16 0, i16 8880, i16 8881, i16 4609, i16 0, i16 1404, i16 8882, i16 8883, i16 1088, i16 0, i16 0, i16 8884, i16 4617, i16 4100, i16 0, i16 1753, i16 0, i16 0, i16 8052, i16 8053, i16 1358, i16 0, i16 0, i16 3306, i16 0, i16 8054, i16 8055, i16 4098, i16 4101, i16 1718, i16 1594, i16 8056, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9732, i16 0, i16 0, i16 9733, i16 0, i16 0, i16 2616, i16 2514, i16 0, i16 0, i16 0, i16 0, i16 2254, i16 0, i16 0, i16 9734, i16 5168, i16 0, i16 5170, i16 0, i16 9735, i16 0, i16 0, i16 9736, i16 0, i16 9737, i16 0, i16 0, i16 9738, i16 0, i16 5169, i16 0, i16 10244, i16 2103, i16 0, i16 0, i16 5434, i16 0, i16 10245, i16 5433, i16 5432, i16 3094, i16 10246, i16 1160, i16 1506, i16 0, i16 10247, i16 0, i16 0, i16 0, i16 10248, i16 0, i16 10249, i16 10250, i16 0, i16 10251, i16 0, i16 10252, i16 10253, i16 5440, i16 10254, i16 0, i16 5437, i16 2186, i16 7429, i16 0, i16 0, i16 7447, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3758, i16 7448, i16 0, i16 7449, i16 0, i16 7450, i16 3761, i16 3759, i16 7451, i16 0, i16 967, i16 0, i16 3216, i16 3753, i16 7452, i16 7453, i16 7454, i16 7455, i16 3757, i16 1580, i16 7456, i16 7457, i16 1819, i16 12293, i16 12294, i16 0, i16 12295, i16 2058, i16 12296, i16 0, i16 12297, i16 12298, i16 6620, i16 3252, i16 0, i16 12299, i16 891, i16 12300, i16 0, i16 12301, i16 0, i16 3133, i16 2613, i16 0, i16 0, i16 0, i16 0, i16 1303, i16 12302, i16 6622, i16 12303, i16 1652, i16 0, i16 0, i16 12304, i16 7686, i16 7687, i16 0, i16 1488, i16 1747, i16 2984, i16 7688, i16 0, i16 0, i16 3888, i16 3886, i16 0, i16 0, i16 0, i16 7689, i16 3186, i16 2135, i16 3895, i16 1095, i16 3889, i16 3887, i16 2390, i16 0, i16 7690, i16 7691, i16 7692, i16 0, i16 0, i16 0, i16 3891, i16 0, i16 3890, i16 11526, i16 6201, i16 6208, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1425, i16 0, i16 0, i16 2499, i16 0, i16 6214, i16 0, i16 0, i16 0, i16 0, i16 6210, i16 0, i16 0, i16 0, i16 2458, i16 6209, i16 11527, i16 6212, i16 11528, i16 11529, i16 11530, i16 0, i16 6203, i16 11531, i16 4103, i16 0, i16 0, i16 4114, i16 0, i16 0, i16 4115, i16 8095, i16 8096, i16 0, i16 0, i16 3351, i16 8097, i16 0, i16 2136, i16 8098, i16 0, i16 0, i16 4117, i16 4118, i16 4116, i16 8099, i16 4120, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2931, i16 8100, i16 8101, i16 817, i16 5383, i16 5384, i16 5385, i16 10177, i16 5386, i16 10178, i16 10179, i16 5382, i16 0, i16 10180, i16 0, i16 0, i16 0, i16 10181, i16 0, i16 0, i16 5388, i16 0, i16 10182, i16 10183, i16 5387, i16 10184, i16 0, i16 0, i16 10185, i16 10186, i16 10187, i16 5389, i16 10188, i16 0, i16 0, i16 0, i16 11015, i16 5917, i16 5918, i16 11016, i16 0, i16 5919, i16 0, i16 5920, i16 1338, i16 4660, i16 5921, i16 0, i16 2318, i16 5922, i16 1916, i16 11017, i16 5923, i16 0, i16 3726, i16 11018, i16 11019, i16 0, i16 5924, i16 3251, i16 1181, i16 11020, i16 11021, i16 2347, i16 2023, i16 11022, i16 3176, i16 1981, i16 5128, i16 5127, i16 5133, i16 9689, i16 2250, i16 0, i16 5124, i16 9690, i16 9691, i16 0, i16 0, i16 9692, i16 9693, i16 9694, i16 5136, i16 0, i16 9695, i16 5137, i16 9696, i16 9697, i16 9698, i16 0, i16 9699, i16 1155, i16 0, i16 0, i16 9700, i16 0, i16 0, i16 0, i16 0, i16 9701, i16 8457, i16 8458, i16 8459, i16 0, i16 8460, i16 0, i16 0, i16 0, i16 0, i16 2238, i16 8461, i16 0, i16 4318, i16 8462, i16 0, i16 1708, i16 8463, i16 0, i16 0, i16 4319, i16 0, i16 0, i16 4320, i16 0, i16 0, i16 8464, i16 8465, i16 0, i16 0, i16 0, i16 8466, i16 8467, i16 2314, i16 5617, i16 10602, i16 0, i16 3048, i16 10603, i16 5621, i16 3240, i16 10604, i16 2590, i16 10605, i16 5616, i16 5618, i16 0, i16 0, i16 5619, i16 0, i16 0, i16 0, i16 0, i16 10606, i16 0, i16 10607, i16 10608, i16 0, i16 10609, i16 10610, i16 10611, i16 0, i16 5622, i16 0, i16 0, i16 13066, i16 7038, i16 13067, i16 13068, i16 13069, i16 13070, i16 0, i16 13071, i16 7039, i16 0, i16 0, i16 7040, i16 7041, i16 0, i16 13072, i16 13073, i16 0, i16 7044, i16 7042, i16 3687, i16 0, i16 7043, i16 13074, i16 3644, i16 13075, i16 0, i16 0, i16 13076, i16 0, i16 7045, i16 13077, i16 3624, i16 4363, i16 0, i16 8531, i16 0, i16 8532, i16 8533, i16 2776, i16 1719, i16 8534, i16 0, i16 8535, i16 1540, i16 8536, i16 2702, i16 0, i16 0, i16 0, i16 8537, i16 0, i16 8538, i16 0, i16 780, i16 2045, i16 1606, i16 3510, i16 0, i16 0, i16 0, i16 0, i16 8539, i16 8540, i16 8541, i16 6667, i16 12430, i16 6668, i16 12431, i16 0, i16 0, i16 0, i16 0, i16 12432, i16 0, i16 6670, i16 12433, i16 0, i16 12434, i16 12435, i16 12436, i16 6672, i16 12437, i16 12438, i16 0, i16 0, i16 6673, i16 0, i16 6674, i16 0, i16 0, i16 0, i16 0, i16 6677, i16 6675, i16 6678, i16 6680, i16 2572, i16 9363, i16 0, i16 9364, i16 4930, i16 0, i16 9365, i16 9366, i16 0, i16 9367, i16 0, i16 9368, i16 0, i16 4928, i16 1570, i16 0, i16 4927, i16 9369, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4933, i16 0, i16 0, i16 0, i16 9370, i16 4800, i16 9371, i16 9372, i16 9373, i16 3340, i16 0, i16 2831, i16 8114, i16 8115, i16 1491, i16 2484, i16 0, i16 8116, i16 8117, i16 4119, i16 4122, i16 8119, i16 8120, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2473, i16 0, i16 0, i16 0, i16 4123, i16 0, i16 8121, i16 0, i16 4124, i16 8122, i16 8123, i16 7436, i16 0, i16 7437, i16 2674, i16 0, i16 0, i16 2533, i16 3752, i16 7438, i16 7439, i16 0, i16 7440, i16 7441, i16 789, i16 2692, i16 1994, i16 1705, i16 3475, i16 7442, i16 2483, i16 7443, i16 964, i16 7444, i16 3751, i16 7445, i16 3501, i16 3747, i16 3749, i16 1763, i16 3750, i16 4184, i16 7446, i16 11532, i16 0, i16 6213, i16 0, i16 6215, i16 0, i16 0, i16 0, i16 11533, i16 0, i16 11534, i16 3080, i16 0, i16 0, i16 6211, i16 0, i16 6216, i16 6218, i16 0, i16 0, i16 1548, i16 6206, i16 0, i16 778, i16 0, i16 0, i16 11535, i16 0, i16 0, i16 11536, i16 11537, i16 6217, i16 4109, i16 8087, i16 1595, i16 1059, i16 4111, i16 0, i16 0, i16 8089, i16 8090, i16 8091, i16 4112, i16 0, i16 8092, i16 0, i16 0, i16 0, i16 4113, i16 0, i16 0, i16 4110, i16 0, i16 0, i16 0, i16 0, i16 8093, i16 0, i16 0, i16 0, i16 0, i16 8094, i16 0, i16 0, i16 5901, i16 0, i16 5902, i16 10992, i16 0, i16 10993, i16 951, i16 0, i16 5909, i16 5904, i16 10994, i16 10991, i16 0, i16 5905, i16 10995, i16 10996, i16 0, i16 5906, i16 0, i16 2438, i16 0, i16 10997, i16 0, i16 10998, i16 5908, i16 5907, i16 5910, i16 10999, i16 0, i16 11000, i16 11001, i16 5911, i16 7693, i16 0, i16 7694, i16 1063, i16 0, i16 7695, i16 0, i16 1467, i16 3896, i16 3578, i16 7696, i16 0, i16 7697, i16 3892, i16 0, i16 0, i16 0, i16 3897, i16 3894, i16 7698, i16 3893, i16 7699, i16 7700, i16 7701, i16 7702, i16 0, i16 7703, i16 3612, i16 7704, i16 0, i16 0, i16 1586, i16 10510, i16 5545, i16 5546, i16 2148, i16 0, i16 10511, i16 0, i16 10512, i16 0, i16 5547, i16 10513, i16 1074, i16 0, i16 10514, i16 0, i16 0, i16 5549, i16 0, i16 0, i16 0, i16 1477, i16 10515, i16 1285, i16 0, i16 10516, i16 5550, i16 1394, i16 0, i16 0, i16 5551, i16 10517, i16 2341, i16 2063, i16 1318, i16 0, i16 3924, i16 0, i16 7751, i16 0, i16 7752, i16 7753, i16 7754, i16 3060, i16 7755, i16 7756, i16 7757, i16 0, i16 3925, i16 7758, i16 3926, i16 7759, i16 3927, i16 0, i16 7760, i16 0, i16 0, i16 3928, i16 3099, i16 1381, i16 814, i16 7761, i16 7762, i16 7763, i16 2844, i16 4623, i16 8891, i16 0, i16 2460, i16 4629, i16 8892, i16 4624, i16 0, i16 8893, i16 4626, i16 0, i16 0, i16 0, i16 0, i16 8894, i16 3128, i16 2708, i16 8895, i16 4627, i16 8896, i16 8897, i16 8898, i16 3483, i16 0, i16 0, i16 0, i16 3511, i16 1146, i16 8899, i16 0, i16 0, i16 0, i16 12815, i16 12816, i16 12817, i16 12818, i16 12819, i16 12820, i16 6908, i16 0, i16 12821, i16 12822, i16 0, i16 12823, i16 12824, i16 12825, i16 12826, i16 0, i16 12827, i16 0, i16 12828, i16 0, i16 0, i16 0, i16 12829, i16 0, i16 6909, i16 12830, i16 6910, i16 12831, i16 12832, i16 0, i16 0, i16 6911, i16 5648, i16 0, i16 0, i16 5645, i16 0, i16 0, i16 10645, i16 0, i16 0, i16 0, i16 10646, i16 0, i16 5644, i16 2299, i16 0, i16 5647, i16 5649, i16 10648, i16 10649, i16 10650, i16 5646, i16 10647, i16 5653, i16 0, i16 5650, i16 10651, i16 10652, i16 10653, i16 10654, i16 10655, i16 10656, i16 5651, i16 10000, i16 10001, i16 0, i16 1284, i16 10002, i16 5284, i16 3564, i16 10003, i16 0, i16 3581, i16 10004, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10005, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10006, i16 10007, i16 0, i16 0, i16 0, i16 0, i16 1297, i16 1067, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8830, i16 0, i16 1098, i16 2156, i16 4597, i16 4602, i16 0, i16 4598, i16 8831, i16 1496, i16 8832, i16 4603, i16 1781, i16 1664, i16 0, i16 0, i16 0, i16 0, i16 8833, i16 8834, i16 1973, i16 4585, i16 10769, i16 918, i16 0, i16 0, i16 2889, i16 5731, i16 0, i16 0, i16 10781, i16 5738, i16 5732, i16 5739, i16 0, i16 0, i16 0, i16 0, i16 10782, i16 10783, i16 5735, i16 0, i16 0, i16 10784, i16 0, i16 10785, i16 0, i16 0, i16 0, i16 2998, i16 10786, i16 10787, i16 1915, i16 5737, i16 12305, i16 0, i16 12306, i16 0, i16 0, i16 0, i16 1791, i16 0, i16 12307, i16 0, i16 0, i16 0, i16 0, i16 12308, i16 0, i16 6621, i16 2232, i16 12309, i16 0, i16 0, i16 12310, i16 12311, i16 0, i16 0, i16 2233, i16 6625, i16 6627, i16 0, i16 12312, i16 12313, i16 12314, i16 12315, i16 11538, i16 1744, i16 3651, i16 6219, i16 6220, i16 2428, i16 0, i16 0, i16 0, i16 0, i16 11539, i16 11540, i16 11541, i16 11542, i16 11543, i16 3567, i16 0, i16 11544, i16 11545, i16 11546, i16 6221, i16 3492, i16 0, i16 0, i16 6222, i16 6223, i16 0, i16 11547, i16 3257, i16 6224, i16 11548, i16 1717, i16 1299, i16 2766, i16 9602, i16 5080, i16 5089, i16 760, i16 857, i16 9603, i16 0, i16 958, i16 0, i16 5082, i16 2449, i16 5073, i16 5075, i16 1624, i16 0, i16 0, i16 9604, i16 0, i16 0, i16 0, i16 9605, i16 0, i16 5092, i16 9606, i16 5087, i16 9607, i16 9608, i16 0, i16 5079, i16 0, i16 2323, i16 7769, i16 0, i16 7770, i16 0, i16 7771, i16 1424, i16 0, i16 0, i16 3937, i16 0, i16 0, i16 7772, i16 7773, i16 3938, i16 851, i16 830, i16 1198, i16 7774, i16 2445, i16 1264, i16 3552, i16 0, i16 3941, i16 956, i16 7775, i16 0, i16 3940, i16 0, i16 0, i16 7776, i16 1319, i16 7188, i16 7173, i16 7187, i16 7239, i16 7324, i16 7241, i16 7326, i16 7240, i16 7325, i16 7189, i16 7175, i16 7190, i16 7249, i16 7334, i16 0, i16 0, i16 7248, i16 7333, i16 7177, i16 7192, i16 7251, i16 7336, i16 7253, i16 7338, i16 7252, i16 7337, i16 7254, i16 7339, i16 7255, i16 7340, i16 7257, i16 7342, i16 6165, i16 11458, i16 0, i16 0, i16 6169, i16 0, i16 6172, i16 6171, i16 11459, i16 11460, i16 11461, i16 6163, i16 0, i16 0, i16 11462, i16 0, i16 6166, i16 0, i16 6183, i16 0, i16 0, i16 11463, i16 11464, i16 0, i16 0, i16 11465, i16 11466, i16 0, i16 11467, i16 0, i16 0, i16 11468, i16 2582, i16 0, i16 5005, i16 0, i16 0, i16 0, i16 0, i16 9550, i16 5013, i16 0, i16 5006, i16 9499, i16 0, i16 9500, i16 0, i16 9501, i16 2470, i16 0, i16 1281, i16 5014, i16 9502, i16 0, i16 9503, i16 0, i16 9504, i16 9505, i16 1475, i16 9506, i16 0, i16 1220, i16 5012, i16 0, i16 10518, i16 2858, i16 10519, i16 2313, i16 1770, i16 10520, i16 10521, i16 0, i16 5552, i16 0, i16 10522, i16 10523, i16 0, i16 0, i16 0, i16 0, i16 10524, i16 10525, i16 2597, i16 2418, i16 10526, i16 5554, i16 5556, i16 5553, i16 5555, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10527, i16 1405, i16 12054, i16 12055, i16 12056, i16 2878, i16 0, i16 12057, i16 3297, i16 0, i16 6553, i16 0, i16 1930, i16 0, i16 0, i16 0, i16 0, i16 6554, i16 12058, i16 6555, i16 12059, i16 12060, i16 12061, i16 6556, i16 12062, i16 0, i16 2720, i16 0, i16 0, i16 0, i16 0, i16 12063, i16 12065, i16 0, i16 11287, i16 0, i16 11288, i16 0, i16 6066, i16 11289, i16 2349, i16 11290, i16 6070, i16 1786, i16 2192, i16 1419, i16 3461, i16 11304, i16 3466, i16 2049, i16 0, i16 0, i16 0, i16 0, i16 11291, i16 0, i16 11292, i16 11293, i16 11294, i16 6083, i16 6081, i16 0, i16 11295, i16 11296, i16 11297, i16 11298, i16 3864, i16 3345, i16 7657, i16 0, i16 0, i16 7658, i16 2039, i16 2529, i16 0, i16 3866, i16 2881, i16 0, i16 0, i16 3867, i16 7659, i16 0, i16 3868, i16 1041, i16 7660, i16 7661, i16 7662, i16 3869, i16 1316, i16 7663, i16 2857, i16 929, i16 2015, i16 0, i16 0, i16 3002, i16 3870, i16 0, i16 5912, i16 11002, i16 0, i16 2190, i16 11003, i16 1006, i16 0, i16 5913, i16 3620, i16 0, i16 1884, i16 11004, i16 11005, i16 1980, i16 0, i16 0, i16 11006, i16 11007, i16 11008, i16 1853, i16 2586, i16 11009, i16 11010, i16 0, i16 11011, i16 11012, i16 5914, i16 5915, i16 856, i16 11013, i16 5916, i16 11014, i16 6936, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12883, i16 12884, i16 6937, i16 12885, i16 3361, i16 1792, i16 12886, i16 1775, i16 2358, i16 0, i16 12887, i16 12888, i16 12889, i16 0, i16 6938, i16 0, i16 0, i16 12890, i16 12891, i16 6941, i16 0, i16 12892, i16 12893, i16 0, i16 12894, i16 12895, i16 7960, i16 7961, i16 868, i16 7962, i16 7963, i16 0, i16 7964, i16 0, i16 0, i16 7965, i16 0, i16 7966, i16 2368, i16 7967, i16 4049, i16 7968, i16 4050, i16 0, i16 0, i16 0, i16 7969, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1117, i16 0, i16 0, i16 7970, i16 0, i16 2842, i16 1323, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1002, i16 4296, i16 4301, i16 0, i16 0, i16 4299, i16 8430, i16 3276, i16 3275, i16 8431, i16 8432, i16 0, i16 8433, i16 0, i16 2790, i16 0, i16 0, i16 0, i16 4298, i16 2019, i16 0, i16 4297, i16 0, i16 0, i16 12570, i16 6777, i16 0, i16 0, i16 1110, i16 6775, i16 6779, i16 0, i16 0, i16 12571, i16 0, i16 6780, i16 0, i16 785, i16 0, i16 6781, i16 6782, i16 0, i16 0, i16 0, i16 0, i16 12572, i16 12573, i16 12574, i16 2129, i16 12575, i16 12576, i16 0, i16 6783, i16 0, i16 12577, i16 12578, i16 4891, i16 9304, i16 0, i16 0, i16 0, i16 9305, i16 9306, i16 4888, i16 9307, i16 0, i16 0, i16 9308, i16 0, i16 9309, i16 4876, i16 9310, i16 0, i16 4905, i16 4875, i16 0, i16 4894, i16 0, i16 0, i16 9311, i16 9312, i16 0, i16 9313, i16 4886, i16 9314, i16 0, i16 4881, i16 4878, i16 6939, i16 12896, i16 0, i16 0, i16 0, i16 0, i16 6942, i16 12897, i16 12898, i16 1578, i16 6940, i16 0, i16 0, i16 0, i16 12899, i16 6943, i16 12900, i16 6944, i16 6945, i16 0, i16 6949, i16 0, i16 1789, i16 12901, i16 12902, i16 0, i16 0, i16 2505, i16 0, i16 12903, i16 0, i16 12904, i16 7197, i16 7196, i16 7199, i16 7205, i16 7198, i16 7204, i16 7169, i16 7209, i16 7213, i16 7212, i16 7215, i16 7214, i16 7226, i16 7225, i16 7228, i16 7227, i16 0, i16 7242, i16 7244, i16 7243, i16 7246, i16 7250, i16 7245, i16 284, i16 7176, i16 7261, i16 7260, i16 7263, i16 7262, i16 7276, i16 7179, i16 7193, i16 8734, i16 0, i16 3376, i16 1144, i16 0, i16 4514, i16 0, i16 1440, i16 1047, i16 0, i16 0, i16 4511, i16 8735, i16 0, i16 3589, i16 4513, i16 799, i16 4515, i16 8736, i16 4506, i16 4512, i16 4519, i16 1439, i16 4507, i16 8737, i16 0, i16 0, i16 8738, i16 8739, i16 0, i16 3532, i16 8740, i16 287, i16 350, i16 0, i16 0, i16 0, i16 0, i16 290, i16 291, i16 0, i16 0, i16 352, i16 353, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1311, i16 966, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4185, i16 0, i16 3372, i16 3173, i16 1581, i16 0, i16 0, i16 7475, i16 0, i16 0, i16 2170, i16 3588, i16 7476, i16 0, i16 7477, i16 0, i16 7478, i16 7479, i16 7480, i16 7481, i16 3245, i16 5407, i16 10207, i16 0, i16 5408, i16 2729, i16 10208, i16 1034, i16 1627, i16 5409, i16 0, i16 0, i16 5410, i16 10209, i16 10210, i16 5411, i16 0, i16 1788, i16 0, i16 0, i16 5413, i16 0, i16 10211, i16 5412, i16 0, i16 0, i16 5414, i16 5415, i16 10212, i16 10213, i16 10214, i16 0, i16 10215, i16 8479, i16 0, i16 4324, i16 0, i16 0, i16 0, i16 0, i16 8480, i16 0, i16 0, i16 0, i16 8481, i16 4326, i16 0, i16 4327, i16 0, i16 8482, i16 0, i16 12526, i16 0, i16 8483, i16 0, i16 0, i16 4330, i16 8484, i16 8485, i16 3635, i16 0, i16 4331, i16 4328, i16 0, i16 0, i16 11039, i16 0, i16 5936, i16 11040, i16 5935, i16 0, i16 1168, i16 11041, i16 5937, i16 0, i16 5938, i16 5939, i16 0, i16 11042, i16 1702, i16 3606, i16 0, i16 5941, i16 2162, i16 0, i16 11043, i16 0, i16 919, i16 5942, i16 5943, i16 0, i16 0, i16 11044, i16 0, i16 11045, i16 5944, i16 11046, i16 2080, i16 4375, i16 4374, i16 4370, i16 0, i16 8552, i16 0, i16 0, i16 4376, i16 4377, i16 0, i16 8553, i16 4378, i16 0, i16 0, i16 0, i16 4381, i16 4379, i16 0, i16 4380, i16 4382, i16 0, i16 907, i16 2703, i16 4383, i16 0, i16 1493, i16 1019, i16 2929, i16 0, i16 4384, i16 2904, i16 6176, i16 0, i16 11469, i16 11470, i16 11471, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11472, i16 11473, i16 0, i16 11474, i16 0, i16 6174, i16 0, i16 11475, i16 6175, i16 11476, i16 0, i16 0, i16 6180, i16 6181, i16 11477, i16 1037, i16 11478, i16 1249, i16 0, i16 0, i16 6179, i16 11479, i16 6688, i16 12452, i16 1177, i16 1080, i16 1653, i16 3023, i16 12453, i16 6690, i16 6689, i16 12454, i16 0, i16 12455, i16 12456, i16 6691, i16 0, i16 0, i16 0, i16 0, i16 899, i16 0, i16 12457, i16 0, i16 12458, i16 0, i16 0, i16 6694, i16 12459, i16 6693, i16 6692, i16 12460, i16 6695, i16 12461, i16 10528, i16 0, i16 0, i16 10529, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5557, i16 1409, i16 0, i16 10530, i16 0, i16 1286, i16 3521, i16 5559, i16 0, i16 0, i16 10531, i16 0, i16 10532, i16 5560, i16 0, i16 0, i16 10533, i16 853, i16 10534, i16 10535, i16 0, i16 0, i16 5563, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 12833, i16 0, i16 6912, i16 6913, i16 0, i16 6914, i16 12834, i16 6915, i16 6916, i16 6917, i16 6918, i16 12835, i16 0, i16 12836, i16 6919, i16 6920, i16 0, i16 4953, i16 6921, i16 12837, i16 12838, i16 12839, i16 0, i16 12840, i16 0, i16 12841, i16 12842, i16 5678, i16 1235, i16 12843, i16 0, i16 0, i16 4130, i16 0, i16 0, i16 9454, i16 9455, i16 1218, i16 4988, i16 0, i16 0, i16 9456, i16 0, i16 4989, i16 9457, i16 3265, i16 3355, i16 0, i16 0, i16 0, i16 2852, i16 4990, i16 3071, i16 0, i16 9458, i16 0, i16 3092, i16 0, i16 9459, i16 3428, i16 0, i16 0, i16 0, i16 4991, i16 7202, i16 7288, i16 7200, i16 7286, i16 7203, i16 7289, i16 7206, i16 7292, i16 7207, i16 7293, i16 7210, i16 7296, i16 7208, i16 7294, i16 7211, i16 7297, i16 7170, i16 7181, i16 7218, i16 7304, i16 0, i16 0, i16 7217, i16 7303, i16 7219, i16 7305, i16 7216, i16 7302, i16 7220, i16 7307, i16 7221, i16 7308, i16 7971, i16 7972, i16 7973, i16 7974, i16 4057, i16 0, i16 7975, i16 0, i16 1200, i16 7976, i16 4060, i16 4056, i16 4059, i16 7977, i16 0, i16 7978, i16 0, i16 7979, i16 7980, i16 0, i16 3203, i16 7981, i16 0, i16 0, i16 2866, i16 0, i16 3025, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10788, i16 5734, i16 5740, i16 5733, i16 0, i16 0, i16 2003, i16 10789, i16 10790, i16 0, i16 0, i16 3288, i16 10791, i16 10792, i16 2011, i16 10793, i16 0, i16 5736, i16 5748, i16 10794, i16 0, i16 5744, i16 10795, i16 5747, i16 0, i16 5745, i16 5749, i16 5743, i16 0, i16 5717, i16 2300, i16 10796, i16 7717, i16 3904, i16 0, i16 3337, i16 7718, i16 2653, i16 7719, i16 3477, i16 7720, i16 3246, i16 0, i16 0, i16 7721, i16 3905, i16 0, i16 7722, i16 0, i16 7723, i16 6771, i16 0, i16 7724, i16 2829, i16 7725, i16 3906, i16 1131, i16 3396, i16 0, i16 7726, i16 7727, i16 2062, i16 3907, i16 3260, i16 8741, i16 8742, i16 3482, i16 8743, i16 8744, i16 0, i16 0, i16 4522, i16 0, i16 0, i16 4526, i16 8745, i16 0, i16 8746, i16 2437, i16 0, i16 3654, i16 4527, i16 8747, i16 8748, i16 4524, i16 0, i16 4521, i16 8749, i16 8750, i16 4520, i16 4525, i16 0, i16 8751, i16 8752, i16 0, i16 8753, i16 10021, i16 5294, i16 0, i16 10022, i16 10023, i16 0, i16 10024, i16 10025, i16 0, i16 0, i16 0, i16 10026, i16 0, i16 10027, i16 0, i16 0, i16 0, i16 10028, i16 10029, i16 0, i16 0, i16 5290, i16 0, i16 10030, i16 0, i16 5293, i16 1571, i16 884, i16 5295, i16 10031, i16 2235, i16 5292, i16 295, i16 0, i16 294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5671, i16 0, i16 5673, i16 0, i16 10682, i16 5672, i16 0, i16 10683, i16 10684, i16 10685, i16 1547, i16 0, i16 0, i16 10686, i16 2367, i16 10687, i16 0, i16 0, i16 5675, i16 10688, i16 10689, i16 10690, i16 2811, i16 10691, i16 5674, i16 10692, i16 10693, i16 0, i16 5676, i16 10694, i16 3210, i16 2419, i16 10279, i16 2226, i16 10280, i16 2849, i16 10281, i16 5448, i16 3334, i16 10282, i16 5445, i16 0, i16 10283, i16 5446, i16 10284, i16 0, i16 0, i16 0, i16 10285, i16 0, i16 10286, i16 10287, i16 10288, i16 0, i16 0, i16 0, i16 0, i16 5451, i16 10289, i16 0, i16 0, i16 10290, i16 5450, i16 5449, i16 11047, i16 11048, i16 0, i16 11049, i16 11050, i16 0, i16 0, i16 11051, i16 0, i16 11052, i16 11053, i16 827, i16 0, i16 5945, i16 11054, i16 0, i16 0, i16 11055, i16 5946, i16 0, i16 11056, i16 0, i16 11057, i16 0, i16 11058, i16 3166, i16 11059, i16 11060, i16 0, i16 1912, i16 0, i16 5948, i16 2600, i16 0, i16 10266, i16 0, i16 0, i16 10267, i16 10268, i16 5443, i16 0, i16 0, i16 10269, i16 0, i16 0, i16 10270, i16 10271, i16 10272, i16 0, i16 0, i16 10273, i16 0, i16 0, i16 0, i16 10274, i16 10275, i16 0, i16 0, i16 5444, i16 5447, i16 10276, i16 0, i16 10277, i16 10278, i16 3625, i16 0, i16 10032, i16 5298, i16 7098, i16 0, i16 10033, i16 10034, i16 10035, i16 5296, i16 5299, i16 10036, i16 0, i16 10037, i16 10038, i16 5285, i16 5297, i16 10039, i16 10040, i16 1713, i16 0, i16 0, i16 5300, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5301, i16 0, i16 5929, i16 0, i16 0, i16 11029, i16 11030, i16 11031, i16 11032, i16 2715, i16 0, i16 0, i16 0, i16 11033, i16 0, i16 0, i16 11034, i16 11035, i16 0, i16 11036, i16 0, i16 0, i16 0, i16 0, i16 11037, i16 0, i16 5931, i16 5930, i16 5933, i16 0, i16 11038, i16 5932, i16 0, i16 5934, i16 2604, i16 8623, i16 8624, i16 0, i16 4424, i16 0, i16 0, i16 0, i16 8625, i16 8626, i16 8627, i16 1020, i16 8628, i16 8629, i16 8630, i16 8631, i16 4475, i16 4426, i16 8632, i16 8633, i16 0, i16 2923, i16 8634, i16 0, i16 4425, i16 0, i16 8635, i16 4423, i16 8636, i16 1681, i16 0, i16 4429, i16 6444, i16 11900, i16 11901, i16 6446, i16 6443, i16 0, i16 0, i16 0, i16 0, i16 11902, i16 0, i16 0, i16 11903, i16 11904, i16 0, i16 11905, i16 11906, i16 11907, i16 6449, i16 0, i16 1986, i16 0, i16 6448, i16 0, i16 0, i16 11908, i16 11909, i16 11910, i16 6450, i16 0, i16 0, i16 0, i16 11308, i16 0, i16 0, i16 0, i16 2816, i16 6087, i16 11309, i16 0, i16 11310, i16 3046, i16 6074, i16 0, i16 0, i16 11311, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11312, i16 0, i16 0, i16 11313, i16 2050, i16 0, i16 6089, i16 6094, i16 2427, i16 11314, i16 0, i16 6093, i16 11315, i16 8493, i16 2035, i16 0, i16 2410, i16 8494, i16 1600, i16 1709, i16 1601, i16 1295, i16 8495, i16 0, i16 4338, i16 0, i16 0, i16 1710, i16 0, i16 0, i16 1539, i16 4339, i16 3383, i16 2942, i16 4340, i16 0, i16 1602, i16 8496, i16 8497, i16 0, i16 1133, i16 0, i16 2538, i16 1359, i16 0, i16 11566, i16 0, i16 0, i16 0, i16 0, i16 6237, i16 11567, i16 11568, i16 11569, i16 0, i16 6238, i16 6239, i16 0, i16 0, i16 0, i16 0, i16 11570, i16 11571, i16 11572, i16 0, i16 0, i16 11573, i16 6243, i16 0, i16 6244, i16 11574, i16 11575, i16 6242, i16 0, i16 0, i16 11576, i16 0, i16 3377, i16 0, i16 5093, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3015, i16 9629, i16 0, i16 5105, i16 1524, i16 0, i16 0, i16 9630, i16 0, i16 0, i16 2031, i16 0, i16 5095, i16 9631, i16 0, i16 0, i16 3580, i16 1625, i16 0, i16 5108, i16 8498, i16 0, i16 1831, i16 3154, i16 0, i16 0, i16 3034, i16 8499, i16 0, i16 0, i16 0, i16 4341, i16 1206, i16 8500, i16 0, i16 0, i16 0, i16 4344, i16 8501, i16 0, i16 8502, i16 8503, i16 2626, i16 0, i16 8504, i16 4343, i16 4342, i16 4345, i16 0, i16 2700, i16 0, i16 8505, i16 8754, i16 0, i16 0, i16 0, i16 3205, i16 8755, i16 0, i16 2833, i16 8756, i16 1441, i16 8757, i16 4528, i16 4523, i16 8758, i16 4529, i16 0, i16 0, i16 0, i16 1494, i16 0, i16 0, i16 0, i16 950, i16 0, i16 8759, i16 8760, i16 4537, i16 0, i16 8761, i16 0, i16 1145, i16 0, i16 10291, i16 0, i16 0, i16 0, i16 10292, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5453, i16 10293, i16 10294, i16 5452, i16 0, i16 0, i16 5454, i16 0, i16 0, i16 10295, i16 10296, i16 10297, i16 0, i16 0, i16 0, i16 10298, i16 0, i16 0, i16 0, i16 5456, i16 10299, i16 308, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 267, i16 253, i16 268, i16 237, i16 239, i16 11316, i16 0, i16 6062, i16 0, i16 11317, i16 11318, i16 6095, i16 2384, i16 0, i16 0, i16 6090, i16 6092, i16 0, i16 11319, i16 11320, i16 0, i16 11321, i16 11322, i16 11323, i16 6091, i16 0, i16 0, i16 4949, i16 4934, i16 11324, i16 11325, i16 6097, i16 11326, i16 0, i16 0, i16 11327, i16 0, i16 821, i16 2621, i16 7367, i16 1896, i16 7368, i16 7369, i16 0, i16 3375, i16 2131, i16 1795, i16 2130, i16 961, i16 7370, i16 3147, i16 3502, i16 0, i16 3712, i16 854, i16 7371, i16 0, i16 1105, i16 3713, i16 2253, i16 3932, i16 1269, i16 3215, i16 0, i16 0, i16 0, i16 0, i16 2132, i16 7372, i16 4661, i16 4662, i16 2726, i16 4664, i16 8975, i16 8976, i16 1783, i16 4659, i16 0, i16 8977, i16 8978, i16 0, i16 1243, i16 8979, i16 0, i16 4665, i16 8980, i16 4658, i16 4669, i16 0, i16 4668, i16 8981, i16 4667, i16 8982, i16 0, i16 0, i16 4670, i16 8983, i16 0, i16 4672, i16 2142, i16 8984, i16 9013, i16 0, i16 1147, i16 1801, i16 0, i16 0, i16 2869, i16 9014, i16 0, i16 0, i16 0, i16 9015, i16 1444, i16 0, i16 0, i16 0, i16 2239, i16 0, i16 4692, i16 0, i16 2265, i16 2727, i16 0, i16 3158, i16 4693, i16 0, i16 9016, i16 0, i16 0, i16 9017, i16 0, i16 0, i16 11061, i16 11062, i16 0, i16 11063, i16 11064, i16 1036, i16 763, i16 11065, i16 11066, i16 11067, i16 11068, i16 5947, i16 5950, i16 2953, i16 11069, i16 2191, i16 11070, i16 987, i16 11071, i16 3290, i16 11072, i16 0, i16 0, i16 11073, i16 1464, i16 1369, i16 11074, i16 5949, i16 11075, i16 1007, i16 11076, i16 11077, i16 7223, i16 7309, i16 7222, i16 0, i16 7224, i16 7310, i16 7171, i16 7183, i16 7233, i16 7318, i16 7231, i16 7316, i16 0, i16 0, i16 7232, i16 7317, i16 7230, i16 7184, i16 7172, i16 7185, i16 7234, i16 7319, i16 7235, i16 7320, i16 7186, i16 7236, i16 7321, i16 7238, i16 7323, i16 7237, i16 7322, i16 7174, i16 12087, i16 0, i16 6561, i16 0, i16 12088, i16 12089, i16 12090, i16 0, i16 12091, i16 0, i16 0, i16 0, i16 0, i16 12092, i16 0, i16 0, i16 12093, i16 0, i16 6562, i16 0, i16 12094, i16 0, i16 12095, i16 12096, i16 12097, i16 6563, i16 12098, i16 0, i16 12099, i16 0, i16 12100, i16 0, i16 10041, i16 10042, i16 0, i16 3565, i16 0, i16 10043, i16 10044, i16 10045, i16 0, i16 10046, i16 0, i16 5302, i16 0, i16 0, i16 0, i16 10047, i16 10048, i16 10049, i16 10050, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10051, i16 10052, i16 10053, i16 0, i16 10054, i16 0, i16 5303, i16 10055, i16 11577, i16 6240, i16 11578, i16 6235, i16 6241, i16 11579, i16 11580, i16 0, i16 0, i16 11581, i16 0, i16 0, i16 6245, i16 6741, i16 0, i16 11582, i16 0, i16 0, i16 11583, i16 0, i16 0, i16 0, i16 941, i16 11584, i16 0, i16 0, i16 11585, i16 11586, i16 11587, i16 0, i16 6248, i16 1372, i16 7482, i16 7483, i16 1427, i16 2442, i16 1001, i16 7484, i16 7485, i16 0, i16 7486, i16 7487, i16 2018, i16 7488, i16 7489, i16 7490, i16 3767, i16 7491, i16 3772, i16 3770, i16 7492, i16 0, i16 3765, i16 0, i16 0, i16 2452, i16 3768, i16 0, i16 3771, i16 3769, i16 7493, i16 3250, i16 0, i16 3766, i16 8506, i16 0, i16 0, i16 0, i16 0, i16 2222, i16 0, i16 0, i16 8508, i16 0, i16 0, i16 1832, i16 0, i16 2291, i16 8507, i16 2488, i16 1217, i16 0, i16 8509, i16 2627, i16 0, i16 8510, i16 4346, i16 4347, i16 2140, i16 0, i16 0, i16 0, i16 0, i16 3308, i16 8511, i16 0, i16 8762, i16 8763, i16 8764, i16 4535, i16 0, i16 0, i16 4536, i16 1694, i16 4534, i16 4532, i16 4531, i16 4538, i16 4530, i16 4540, i16 8765, i16 8766, i16 1024, i16 0, i16 0, i16 0, i16 0, i16 8767, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8768, i16 8769, i16 8770, i16 8771, i16 7739, i16 3449, i16 2900, i16 7740, i16 0, i16 3270, i16 3916, i16 0, i16 3917, i16 0, i16 7741, i16 7742, i16 7743, i16 3919, i16 0, i16 3921, i16 3920, i16 7744, i16 0, i16 7745, i16 0, i16 3922, i16 962, i16 3327, i16 7746, i16 1777, i16 3923, i16 7747, i16 7748, i16 2400, i16 7749, i16 7750, i16 9531, i16 3285, i16 2947, i16 1282, i16 0, i16 2724, i16 0, i16 9532, i16 2608, i16 9533, i16 5031, i16 9534, i16 9535, i16 0, i16 9536, i16 5029, i16 2494, i16 5018, i16 9537, i16 882, i16 9538, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2108, i16 5574, i16 5575, i16 2022, i16 0, i16 2837, i16 5576, i16 0, i16 10542, i16 10543, i16 2539, i16 10544, i16 10545, i16 5577, i16 0, i16 2559, i16 5578, i16 10546, i16 0, i16 0, i16 10547, i16 0, i16 1314, i16 0, i16 3835, i16 2592, i16 1892, i16 10548, i16 0, i16 10549, i16 10550, i16 1161, i16 11836, i16 0, i16 0, i16 1954, i16 0, i16 0, i16 11837, i16 0, i16 2241, i16 0, i16 0, i16 11838, i16 11839, i16 0, i16 0, i16 11840, i16 0, i16 0, i16 11841, i16 2450, i16 0, i16 11842, i16 0, i16 11843, i16 0, i16 11844, i16 6413, i16 11845, i16 11863, i16 0, i16 6412, i16 0, i16 318, i16 317, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 320, i16 319, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 322, i16 321, i16 0, i16 0, i16 4671, i16 8985, i16 0, i16 0, i16 8986, i16 4675, i16 0, i16 0, i16 8987, i16 8988, i16 8989, i16 0, i16 0, i16 0, i16 0, i16 8990, i16 0, i16 0, i16 0, i16 8991, i16 8992, i16 0, i16 8993, i16 0, i16 4673, i16 8994, i16 0, i16 8995, i16 4674, i16 4636, i16 8996, i16 8997, i16 9791, i16 3398, i16 0, i16 0, i16 0, i16 0, i16 2100, i16 0, i16 0, i16 0, i16 0, i16 9792, i16 0, i16 9793, i16 0, i16 9794, i16 9795, i16 9796, i16 0, i16 0, i16 0, i16 0, i16 2362, i16 0, i16 9797, i16 0, i16 0, i16 0, i16 2099, i16 0, i16 0, i16 0, i16 6976, i16 0, i16 0, i16 12957, i16 0, i16 0, i16 0, i16 6977, i16 12962, i16 12958, i16 12959, i16 12961, i16 0, i16 0, i16 12963, i16 0, i16 12964, i16 0, i16 12965, i16 0, i16 0, i16 12966, i16 6978, i16 12967, i16 6979, i16 0, i16 0, i16 12968, i16 0, i16 0, i16 0, i16 0, i16 8256, i16 795, i16 0, i16 748, i16 8257, i16 0, i16 0, i16 0, i16 0, i16 4198, i16 0, i16 0, i16 8258, i16 8259, i16 8260, i16 0, i16 0, i16 4196, i16 8261, i16 8262, i16 0, i16 0, i16 0, i16 0, i16 3405, i16 0, i16 4199, i16 0, i16 4197, i16 0, i16 8263, i16 4195, i16 12352, i16 12353, i16 12354, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12355, i16 0, i16 12356, i16 12357, i16 1116, i16 12358, i16 0, i16 12359, i16 0, i16 0, i16 12360, i16 0, i16 6640, i16 12361, i16 1716, i16 2432, i16 12362, i16 0, i16 2667, i16 12363, i16 0, i16 0, i16 12364, i16 0, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 0, i16 0, i16 0, i16 0, i16 227, i16 249, i16 240, i16 241, i16 0, i16 833, i16 8016, i16 0, i16 2567, i16 8017, i16 8018, i16 8019, i16 8020, i16 8021, i16 0, i16 0, i16 8023, i16 0, i16 8024, i16 4081, i16 0, i16 1689, i16 8022, i16 792, i16 2217, i16 0, i16 0, i16 8025, i16 8026, i16 0, i16 4082, i16 1536, i16 0, i16 0, i16 1672, i16 0, i16 4084, i16 1089, i16 0, i16 0, i16 10554, i16 0, i16 2213, i16 3163, i16 10555, i16 5588, i16 10556, i16 10557, i16 10558, i16 2509, i16 10559, i16 10560, i16 10561, i16 10562, i16 10563, i16 0, i16 5583, i16 10564, i16 5587, i16 5589, i16 0, i16 0, i16 1776, i16 0, i16 0, i16 0, i16 10565, i16 0, i16 10566, i16 4929, i16 0, i16 4931, i16 4932, i16 0, i16 9374, i16 0, i16 0, i16 0, i16 0, i16 4944, i16 9375, i16 4940, i16 0, i16 4821, i16 9376, i16 9377, i16 9378, i16 0, i16 4939, i16 9379, i16 0, i16 0, i16 0, i16 4938, i16 0, i16 0, i16 4935, i16 0, i16 9380, i16 9381, i16 9382, i16 9025, i16 767, i16 0, i16 9026, i16 1361, i16 2294, i16 9027, i16 3159, i16 0, i16 0, i16 0, i16 4699, i16 1813, i16 2570, i16 9028, i16 1838, i16 2178, i16 0, i16 9029, i16 9030, i16 9031, i16 0, i16 0, i16 4700, i16 0, i16 3282, i16 0, i16 0, i16 926, i16 1839, i16 0, i16 9032, i16 12609, i16 12611, i16 0, i16 0, i16 12612, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6794, i16 2910, i16 12613, i16 0, i16 12614, i16 6796, i16 960, i16 12615, i16 6799, i16 6798, i16 12616, i16 12617, i16 0, i16 12618, i16 843, i16 0, i16 0, i16 0, i16 1342, i16 4418, i16 1567, i16 8603, i16 0, i16 8606, i16 0, i16 0, i16 8604, i16 4419, i16 3187, i16 2026, i16 8605, i16 8607, i16 4420, i16 3090, i16 8608, i16 8609, i16 8610, i16 0, i16 2846, i16 2632, i16 0, i16 0, i16 0, i16 8611, i16 2735, i16 0, i16 0, i16 4421, i16 1226, i16 0, i16 0, i16 3395, i16 0, i16 10255, i16 0, i16 5436, i16 5438, i16 5439, i16 0, i16 10256, i16 5435, i16 0, i16 0, i16 0, i16 10257, i16 10258, i16 10259, i16 0, i16 0, i16 0, i16 0, i16 10260, i16 10261, i16 10262, i16 5441, i16 5442, i16 10263, i16 2640, i16 0, i16 1188, i16 10264, i16 10265, i16 0, i16 12868, i16 0, i16 0, i16 6931, i16 12869, i16 12870, i16 12871, i16 12872, i16 0, i16 12873, i16 12874, i16 12875, i16 0, i16 12876, i16 775, i16 12877, i16 12878, i16 6932, i16 3200, i16 6930, i16 12879, i16 0, i16 6933, i16 6934, i16 0, i16 0, i16 12880, i16 0, i16 0, i16 12881, i16 12882, i16 6935, i16 12101, i16 0, i16 12103, i16 12104, i16 0, i16 12102, i16 0, i16 12105, i16 0, i16 12106, i16 0, i16 0, i16 0, i16 2721, i16 12107, i16 12108, i16 6565, i16 12109, i16 6564, i16 0, i16 12110, i16 0, i16 12111, i16 12112, i16 0, i16 12113, i16 12114, i16 0, i16 12115, i16 12116, i16 0, i16 0, i16 1350, i16 4271, i16 0, i16 0, i16 0, i16 1294, i16 4272, i16 0, i16 1403, i16 0, i16 2860, i16 949, i16 0, i16 1830, i16 4273, i16 4276, i16 4275, i16 1402, i16 0, i16 4274, i16 0, i16 2743, i16 0, i16 0, i16 0, i16 8393, i16 8394, i16 0, i16 8395, i16 0, i16 2453, i16 0, i16 7494, i16 2169, i16 7495, i16 3366, i16 3773, i16 3774, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1971, i16 3787, i16 7496, i16 0, i16 7497, i16 2955, i16 0, i16 3117, i16 3782, i16 0, i16 3269, i16 0, i16 955, i16 0, i16 7498, i16 7499, i16 3786, i16 7500, i16 11846, i16 0, i16 6411, i16 0, i16 0, i16 11847, i16 11848, i16 11849, i16 11850, i16 0, i16 11851, i16 6419, i16 6417, i16 0, i16 11852, i16 6414, i16 0, i16 11853, i16 0, i16 0, i16 11854, i16 11855, i16 6416, i16 11856, i16 0, i16 11857, i16 6415, i16 6418, i16 0, i16 1302, i16 0, i16 6422, i16 3911, i16 7728, i16 2259, i16 3908, i16 1357, i16 7729, i16 3909, i16 1132, i16 7730, i16 7731, i16 7732, i16 0, i16 7733, i16 0, i16 0, i16 0, i16 7734, i16 7735, i16 1417, i16 3912, i16 7736, i16 3913, i16 7737, i16 7738, i16 3914, i16 3915, i16 1932, i16 0, i16 0, i16 0, i16 1588, i16 3439, i16 10567, i16 10568, i16 0, i16 0, i16 0, i16 5596, i16 3109, i16 10569, i16 3007, i16 2808, i16 0, i16 1367, i16 5595, i16 5593, i16 10570, i16 3022, i16 5590, i16 2593, i16 2810, i16 0, i16 2809, i16 10571, i16 1771, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5614, i16 0, i16 0, i16 10056, i16 10057, i16 5283, i16 10058, i16 0, i16 0, i16 10059, i16 5304, i16 10060, i16 10061, i16 10062, i16 10063, i16 0, i16 0, i16 10064, i16 10065, i16 1157, i16 10066, i16 10067, i16 0, i16 0, i16 10068, i16 0, i16 0, i16 0, i16 10069, i16 0, i16 10070, i16 0, i16 1878, i16 0, i16 10071, i16 11336, i16 8188, i16 11337, i16 0, i16 0, i16 0, i16 11338, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6100, i16 1552, i16 0, i16 1267, i16 0, i16 11339, i16 11340, i16 6102, i16 3865, i16 11341, i16 11342, i16 11343, i16 11344, i16 1300, i16 0, i16 3591, i16 11345, i16 1392, i16 6103, i16 842, i16 0, i16 0, i16 3622, i16 12516, i16 12517, i16 12518, i16 6729, i16 6544, i16 12519, i16 6728, i16 0, i16 0, i16 0, i16 12520, i16 12521, i16 6732, i16 6730, i16 6731, i16 12522, i16 6733, i16 0, i16 6734, i16 3641, i16 6735, i16 6736, i16 12523, i16 2290, i16 3028, i16 0, i16 0, i16 0, i16 11082, i16 5951, i16 11083, i16 5952, i16 11084, i16 1940, i16 1385, i16 2618, i16 11085, i16 0, i16 11086, i16 2862, i16 0, i16 11087, i16 0, i16 11088, i16 0, i16 888, i16 0, i16 5956, i16 5955, i16 0, i16 11089, i16 11090, i16 0, i16 5961, i16 5957, i16 5960, i16 0, i16 11091, i16 11092, i16 0, i16 2892, i16 4870, i16 2887, i16 9286, i16 9287, i16 9288, i16 9289, i16 0, i16 9290, i16 9291, i16 4874, i16 4861, i16 9292, i16 1349, i16 4864, i16 2028, i16 9293, i16 9294, i16 9295, i16 2971, i16 4866, i16 1352, i16 0, i16 4858, i16 4860, i16 4857, i16 9296, i16 9297, i16 3675, i16 1085, i16 4863, i16 9298, i16 10316, i16 0, i16 3457, i16 5469, i16 10317, i16 2577, i16 10318, i16 2981, i16 0, i16 1384, i16 10319, i16 0, i16 10320, i16 2558, i16 5470, i16 1335, i16 10321, i16 10322, i16 0, i16 2297, i16 10323, i16 0, i16 0, i16 0, i16 10324, i16 0, i16 0, i16 10325, i16 5471, i16 0, i16 0, i16 0, i16 10572, i16 0, i16 0, i16 0, i16 10573, i16 5598, i16 10574, i16 5600, i16 0, i16 10575, i16 10576, i16 0, i16 5603, i16 10577, i16 5604, i16 10578, i16 5601, i16 5602, i16 10579, i16 10580, i16 5599, i16 5597, i16 0, i16 10581, i16 0, i16 0, i16 5591, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3149, i16 8118, i16 0, i16 4121, i16 8102, i16 0, i16 8103, i16 8104, i16 0, i16 8105, i16 0, i16 0, i16 0, i16 8106, i16 0, i16 0, i16 8107, i16 0, i16 0, i16 0, i16 2154, i16 8108, i16 8109, i16 1898, i16 8110, i16 2968, i16 1201, i16 0, i16 1760, i16 8111, i16 8112, i16 8113, i16 7501, i16 7502, i16 0, i16 0, i16 7503, i16 3780, i16 3789, i16 7504, i16 0, i16 2393, i16 7505, i16 1533, i16 7506, i16 2967, i16 7507, i16 5253, i16 7508, i16 3788, i16 2780, i16 7509, i16 3777, i16 0, i16 1583, i16 7510, i16 7511, i16 1582, i16 3775, i16 7512, i16 7513, i16 7514, i16 7515, i16 1931, i16 2382, i16 3317, i16 1772, i16 10710, i16 0, i16 0, i16 10711, i16 0, i16 0, i16 0, i16 10712, i16 1850, i16 2686, i16 10713, i16 5691, i16 3628, i16 1742, i16 10714, i16 5692, i16 2189, i16 0, i16 5694, i16 0, i16 0, i16 0, i16 2111, i16 1701, i16 0, i16 10715, i16 10716, i16 10717, i16 5693, i16 4431, i16 8660, i16 1023, i16 4451, i16 4453, i16 2580, i16 0, i16 8661, i16 1693, i16 957, i16 4445, i16 4456, i16 4455, i16 1328, i16 0, i16 2446, i16 1097, i16 8662, i16 0, i16 0, i16 0, i16 1438, i16 0, i16 4446, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8663, i16 8664, i16 5455, i16 0, i16 10300, i16 0, i16 0, i16 3234, i16 0, i16 10301, i16 0, i16 0, i16 10302, i16 0, i16 2021, i16 3603, i16 10303, i16 10304, i16 5457, i16 10305, i16 0, i16 2836, i16 0, i16 10306, i16 5458, i16 0, i16 0, i16 5459, i16 0, i16 5463, i16 5461, i16 5462, i16 10307, i16 5460, i16 8528, i16 2628, i16 0, i16 1604, i16 2078, i16 0, i16 0, i16 3064, i16 0, i16 0, i16 2079, i16 8529, i16 0, i16 0, i16 8530, i16 2055, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2701, i16 3278, i16 2744, i16 0, i16 0, i16 1605, i16 0, i16 3155, i16 0, i16 0, i16 0, i16 4177, i16 8209, i16 4176, i16 8210, i16 0, i16 931, i16 0, i16 4178, i16 2070, i16 4180, i16 2536, i16 8211, i16 4179, i16 8212, i16 3208, i16 8213, i16 0, i16 0, i16 8214, i16 2054, i16 2778, i16 8215, i16 8216, i16 0, i16 4181, i16 8217, i16 0, i16 8218, i16 8219, i16 1596, i16 0, i16 0, i16 9810, i16 0, i16 5193, i16 0, i16 2972, i16 5189, i16 5192, i16 2101, i16 9811, i16 3050, i16 0, i16 0, i16 5196, i16 0, i16 1922, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9812, i16 0, i16 0, i16 0, i16 2339, i16 0, i16 0, i16 11346, i16 11347, i16 11348, i16 11349, i16 11350, i16 0, i16 0, i16 6104, i16 0, i16 11351, i16 0, i16 2609, i16 11352, i16 0, i16 0, i16 11353, i16 0, i16 6105, i16 0, i16 0, i16 0, i16 11354, i16 11355, i16 11356, i16 0, i16 2903, i16 11357, i16 771, i16 0, i16 0, i16 0, i16 0, i16 8787, i16 4558, i16 8788, i16 8789, i16 0, i16 0, i16 2328, i16 8790, i16 0, i16 8791, i16 4559, i16 8792, i16 0, i16 0, i16 4560, i16 1241, i16 4561, i16 0, i16 4562, i16 4563, i16 2492, i16 0, i16 0, i16 0, i16 1542, i16 8793, i16 0, i16 3442, i16 0, i16 8794, i16 0, i16 3311, i16 9299, i16 4873, i16 1048, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1756, i16 0, i16 0, i16 9300, i16 900, i16 0, i16 0, i16 4890, i16 9301, i16 0, i16 3676, i16 4893, i16 9302, i16 0, i16 9303, i16 0, i16 0, i16 2181, i16 4892, i16 0, i16 0, i16 0, i16 2388, i16 7075, i16 13117, i16 0, i16 0, i16 0, i16 13118, i16 0, i16 0, i16 0, i16 13119, i16 13120, i16 7076, i16 0, i16 0, i16 13121, i16 0, i16 13122, i16 13123, i16 0, i16 13124, i16 0, i16 0, i16 13125, i16 0, i16 13126, i16 13127, i16 3096, i16 13128, i16 13129, i16 7077, i16 13130, i16 5972, i16 0, i16 11115, i16 11116, i16 11117, i16 5975, i16 0, i16 11118, i16 0, i16 2423, i16 1456, i16 0, i16 0, i16 11119, i16 11120, i16 872, i16 5974, i16 11121, i16 1642, i16 11156, i16 11099, i16 11122, i16 11123, i16 11124, i16 2424, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12628, i16 6804, i16 0, i16 12629, i16 6803, i16 12638, i16 12630, i16 0, i16 0, i16 0, i16 0, i16 12631, i16 3326, i16 2825, i16 12632, i16 12633, i16 12634, i16 0, i16 12635, i16 12636, i16 887, i16 12637, i16 0, i16 6805, i16 6802, i16 0, i16 0, i16 3144, i16 3545, i16 6806, i16 12639, i16 0, i16 9813, i16 0, i16 0, i16 0, i16 5199, i16 9814, i16 0, i16 9815, i16 5191, i16 0, i16 1410, i16 0, i16 9816, i16 0, i16 0, i16 5197, i16 0, i16 0, i16 9817, i16 0, i16 3519, i16 5200, i16 0, i16 0, i16 0, i16 7100, i16 9818, i16 9819, i16 0, i16 0, i16 0, i16 2014, i16 11093, i16 11094, i16 3425, i16 5959, i16 989, i16 1120, i16 5963, i16 11095, i16 11096, i16 5965, i16 11097, i16 11098, i16 0, i16 0, i16 1455, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5969, i16 5978, i16 5979, i16 0, i16 0, i16 11100, i16 756, i16 11101, i16 11102, i16 11103, i16 343, i16 0, i16 348, i16 344, i16 0, i16 0, i16 0, i16 349, i16 330, i16 0, i16 0, i16 331, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 354, i16 0, i16 0, i16 356, i16 292, i16 0, i16 7256, i16 7341, i16 7259, i16 7344, i16 7258, i16 7343, i16 7178, i16 7194, i16 7270, i16 7355, i16 7267, i16 7352, i16 7264, i16 7349, i16 7269, i16 7354, i16 7266, i16 7351, i16 7268, i16 7353, i16 7275, i16 7360, i16 7278, i16 7363, i16 7277, i16 7279, i16 7364, i16 7281, i16 7366, i16 7280, i16 7365, i16 0, i16 11608, i16 6262, i16 0, i16 0, i16 0, i16 11609, i16 6264, i16 3558, i16 0, i16 6263, i16 2193, i16 0, i16 6265, i16 0, i16 0, i16 6266, i16 11610, i16 0, i16 6267, i16 1170, i16 11611, i16 11612, i16 11613, i16 11614, i16 0, i16 0, i16 6268, i16 0, i16 11615, i16 6269, i16 0, i16 6270, i16 345, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 338, i16 339, i16 337, i16 336, i16 358, i16 359, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 293, i16 357, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 355, i16 0, i16 0, i16 3929, i16 1996, i16 7764, i16 2322, i16 0, i16 3931, i16 3930, i16 2064, i16 1562, i16 3933, i16 3031, i16 7766, i16 7765, i16 3934, i16 0, i16 0, i16 0, i16 3061, i16 2457, i16 2515, i16 1317, i16 0, i16 0, i16 2891, i16 2548, i16 7767, i16 2985, i16 7768, i16 3329, i16 0, i16 3936, i16 0, i16 9049, i16 0, i16 1614, i16 4714, i16 9050, i16 0, i16 1696, i16 2087, i16 9051, i16 9052, i16 4713, i16 0, i16 2088, i16 9053, i16 3409, i16 1695, i16 0, i16 9054, i16 9055, i16 800, i16 2295, i16 9056, i16 9057, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4720, i16 9058, i16 9059, i16 2266, i16 5210, i16 0, i16 0, i16 0, i16 0, i16 2414, i16 1803, i16 5212, i16 0, i16 0, i16 0, i16 0, i16 5211, i16 2159, i16 3955, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5213, i16 0, i16 0, i16 9838, i16 5215, i16 0, i16 5198, i16 5214, i16 0, i16 9839, i16 5216, i16 9820, i16 0, i16 9821, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5201, i16 0, i16 0, i16 0, i16 5202, i16 0, i16 0, i16 9822, i16 9823, i16 2921, i16 9824, i16 9825, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5204, i16 9826, i16 0, i16 0, i16 0, i16 5205, i16 9827, i16 1630, i16 0, i16 5677, i16 0, i16 0, i16 0, i16 10695, i16 3605, i16 0, i16 10696, i16 0, i16 10697, i16 0, i16 0, i16 0, i16 5679, i16 0, i16 0, i16 5680, i16 0, i16 5681, i16 10698, i16 5682, i16 0, i16 1848, i16 0, i16 5683, i16 1450, i16 0, i16 0, i16 1289, i16 0, i16 10590, i16 1162, i16 0, i16 0, i16 0, i16 10591, i16 0, i16 0, i16 0, i16 0, i16 2560, i16 0, i16 10592, i16 2342, i16 0, i16 10593, i16 10594, i16 3003, i16 10595, i16 0, i16 5620, i16 10596, i16 10597, i16 0, i16 3005, i16 0, i16 10598, i16 10599, i16 10600, i16 10601, i16 0, i16 0, i16 3168, i16 1751, i16 1646, i16 0, i16 11793, i16 0, i16 0, i16 3142, i16 996, i16 3047, i16 6379, i16 1172, i16 2302, i16 6378, i16 6383, i16 2620, i16 3444, i16 0, i16 6381, i16 6382, i16 1229, i16 0, i16 6384, i16 2974, i16 2500, i16 11794, i16 11795, i16 3082, i16 2748, i16 6380, i16 0, i16 3322, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 1377, i16 0, i16 0, i16 2005, i16 0, i16 2841, i16 0, i16 0, i16 12248, i16 12249, i16 12250, i16 0, i16 0, i16 12251, i16 12252, i16 0, i16 0, i16 2356, i16 12253, i16 6614, i16 0, i16 6608, i16 6613, i16 12254, i16 3412, i16 12255, i16 2649, i16 6615, i16 6612, i16 0, i16 0, i16 12256, i16 10849, i16 0, i16 5794, i16 5796, i16 0, i16 3540, i16 5795, i16 5798, i16 5797, i16 0, i16 3522, i16 10850, i16 5799, i16 10851, i16 3095, i16 10852, i16 10853, i16 10854, i16 0, i16 0, i16 5800, i16 0, i16 10855, i16 10856, i16 0, i16 0, i16 5803, i16 0, i16 10857, i16 5802, i16 5801, i16 0, i16 5475, i16 10333, i16 10334, i16 10335, i16 0, i16 2773, i16 1739, i16 1261, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10336, i16 10337, i16 0, i16 10338, i16 0, i16 3287, i16 0, i16 2950, i16 10339, i16 0, i16 10340, i16 0, i16 0, i16 2774, i16 0, i16 0, i16 0, i16 0, i16 1651, i16 7523, i16 7524, i16 7525, i16 3790, i16 0, i16 7526, i16 7527, i16 3791, i16 3795, i16 791, i16 7528, i16 0, i16 7529, i16 0, i16 7530, i16 3237, i16 3794, i16 7531, i16 7532, i16 7533, i16 0, i16 3793, i16 3797, i16 7534, i16 0, i16 7535, i16 3796, i16 0, i16 2693, i16 0, i16 0, i16 7536, i16 9828, i16 9829, i16 0, i16 2926, i16 9830, i16 0, i16 0, i16 0, i16 2804, i16 5207, i16 0, i16 9831, i16 9832, i16 0, i16 5209, i16 0, i16 3618, i16 0, i16 5206, i16 9833, i16 5208, i16 916, i16 9834, i16 5203, i16 0, i16 9835, i16 9836, i16 0, i16 9837, i16 0, i16 0, i16 4051, i16 11876, i16 11877, i16 11878, i16 11879, i16 0, i16 0, i16 11880, i16 11881, i16 0, i16 0, i16 6445, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6434, i16 11882, i16 0, i16 11883, i16 6435, i16 6433, i16 11884, i16 11885, i16 11886, i16 11887, i16 0, i16 0, i16 0, i16 11888, i16 0, i16 0, i16 4709, i16 4710, i16 1212, i16 0, i16 0, i16 2905, i16 2553, i16 1291, i16 1840, i16 2408, i16 0, i16 0, i16 2027, i16 761, i16 0, i16 0, i16 9042, i16 4711, i16 9043, i16 0, i16 9044, i16 9045, i16 0, i16 0, i16 0, i16 9046, i16 935, i16 4715, i16 0, i16 0, i16 9047, i16 9048, i16 8037, i16 0, i16 8038, i16 8039, i16 8040, i16 8041, i16 4095, i16 766, i16 1748, i16 8042, i16 8043, i16 0, i16 8044, i16 1432, i16 8045, i16 8046, i16 2578, i16 0, i16 0, i16 8047, i16 8048, i16 0, i16 0, i16 4096, i16 4097, i16 0, i16 0, i16 4099, i16 0, i16 8049, i16 8050, i16 8051, i16 615, i16 616, i16 0, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 7126, i16 7129, i16 7131, i16 7132, i16 7133, i16 7134, i16 7141, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 6247, i16 11588, i16 11589, i16 11590, i16 6250, i16 0, i16 6249, i16 0, i16 0, i16 0, i16 6252, i16 11591, i16 0, i16 6251, i16 11592, i16 6253, i16 11593, i16 0, i16 1984, i16 11594, i16 6254, i16 11595, i16 0, i16 6255, i16 0, i16 0, i16 11596, i16 11597, i16 11598, i16 11599, i16 6256, i16 2279, i16 8295, i16 0, i16 8296, i16 0, i16 0, i16 0, i16 0, i16 8297, i16 0, i16 0, i16 0, i16 0, i16 8298, i16 0, i16 0, i16 0, i16 0, i16 8299, i16 8300, i16 8301, i16 0, i16 8302, i16 0, i16 0, i16 8303, i16 0, i16 8304, i16 8305, i16 4208, i16 4212, i16 4209, i16 8306, i16 1128, i16 7640, i16 3851, i16 7641, i16 3849, i16 3406, i16 3850, i16 0, i16 3153, i16 3852, i16 3853, i16 3854, i16 2782, i16 7642, i16 0, i16 0, i16 3858, i16 3856, i16 3857, i16 3855, i16 1752, i16 3859, i16 3451, i16 3633, i16 7643, i16 0, i16 7644, i16 0, i16 7645, i16 3860, i16 7646, i16 7647, i16 2152, i16 12316, i16 6626, i16 6628, i16 12317, i16 12318, i16 1360, i16 12319, i16 3132, i16 12320, i16 12321, i16 1939, i16 3662, i16 0, i16 6624, i16 1773, i16 0, i16 0, i16 3690, i16 12322, i16 12323, i16 6630, i16 12324, i16 12325, i16 0, i16 0, i16 6629, i16 6631, i16 0, i16 0, i16 0, i16 0, i16 3944, i16 7785, i16 0, i16 0, i16 7786, i16 3946, i16 3945, i16 0, i16 2218, i16 864, i16 7787, i16 7788, i16 0, i16 901, i16 3947, i16 7789, i16 3948, i16 0, i16 7790, i16 1520, i16 7791, i16 7792, i16 3949, i16 7793, i16 7794, i16 0, i16 7795, i16 1293, i16 0, i16 7796, i16 0, i16 0, i16 4200, i16 3671, i16 0, i16 0, i16 8271, i16 8272, i16 2951, i16 8273, i16 8274, i16 4202, i16 0, i16 0, i16 8275, i16 0, i16 0, i16 0, i16 8276, i16 0, i16 0, i16 0, i16 0, i16 8277, i16 0, i16 0, i16 0, i16 0, i16 1692, i16 0, i16 0, i16 0, i16 8278, i16 0, i16 5994, i16 0, i16 5984, i16 0, i16 0, i16 0, i16 11142, i16 11143, i16 5996, i16 11144, i16 5982, i16 2999, i16 11145, i16 11170, i16 0, i16 0, i16 0, i16 3544, i16 0, i16 0, i16 0, i16 5991, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6013, i16 11146, i16 11147, i16 4972, i16 0, i16 9436, i16 4974, i16 4973, i16 9437, i16 3339, i16 0, i16 0, i16 2029, i16 1949, i16 1815, i16 0, i16 4975, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4977, i16 2158, i16 9438, i16 4976, i16 0, i16 0, i16 9439, i16 0, i16 0, i16 4978, i16 9440, i16 5228, i16 9855, i16 9856, i16 9857, i16 0, i16 9858, i16 5229, i16 3239, i16 3040, i16 0, i16 0, i16 5230, i16 2962, i16 0, i16 9859, i16 9860, i16 9861, i16 0, i16 2638, i16 9862, i16 0, i16 9863, i16 9864, i16 0, i16 5231, i16 1004, i16 9865, i16 1292, i16 9866, i16 3415, i16 9867, i16 3399, i16 365, i16 366, i16 0, i16 0, i16 0, i16 258, i16 257, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 361, i16 0, i16 297, i16 298, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 323, i16 0, i16 0, i16 0, i16 0, i16 878, i16 9060, i16 9061, i16 9062, i16 9063, i16 2020, i16 9064, i16 3353, i16 1767, i16 9065, i16 9066, i16 9067, i16 9068, i16 2089, i16 9069, i16 2256, i16 9070, i16 9071, i16 0, i16 9072, i16 4719, i16 4717, i16 4718, i16 9074, i16 0, i16 9073, i16 0, i16 0, i16 2606, i16 0, i16 0, i16 4750, i16 10350, i16 10351, i16 0, i16 10352, i16 10353, i16 0, i16 0, i16 0, i16 10354, i16 0, i16 10355, i16 3583, i16 1628, i16 0, i16 10356, i16 1504, i16 0, i16 0, i16 3004, i16 0, i16 5479, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10357, i16 0, i16 5481, i16 0, i16 10358, i16 0, i16 6767, i16 7051, i16 3421, i16 12559, i16 6768, i16 0, i16 6769, i16 12560, i16 6770, i16 1082, i16 12561, i16 6772, i16 0, i16 2212, i16 12562, i16 0, i16 0, i16 6773, i16 0, i16 12563, i16 1407, i16 0, i16 12564, i16 12565, i16 12566, i16 6774, i16 6778, i16 12567, i16 6776, i16 12568, i16 0, i16 12569, i16 9328, i16 9329, i16 4897, i16 9330, i16 0, i16 4904, i16 0, i16 0, i16 0, i16 0, i16 4910, i16 3086, i16 4916, i16 0, i16 0, i16 9331, i16 0, i16 9332, i16 4911, i16 4914, i16 4908, i16 9333, i16 0, i16 2615, i16 0, i16 3119, i16 9334, i16 4898, i16 0, i16 9335, i16 4906, i16 2093, i16 9840, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2997, i16 9841, i16 9842, i16 9843, i16 0, i16 0, i16 0, i16 5217, i16 0, i16 0, i16 5218, i16 0, i16 0, i16 9844, i16 0, i16 0, i16 0, i16 9845, i16 0, i16 0, i16 9846, i16 5219, i16 0, i16 9847, i16 0, i16 9848, i16 10096, i16 10097, i16 0, i16 1805, i16 10098, i16 928, i16 5328, i16 10099, i16 3520, i16 10100, i16 10101, i16 3256, i16 5329, i16 0, i16 0, i16 10102, i16 2755, i16 3490, i16 1626, i16 2184, i16 0, i16 0, i16 10103, i16 2574, i16 3918, i16 10104, i16 2639, i16 1005, i16 5330, i16 10105, i16 10106, i16 10107, i16 7537, i16 0, i16 7538, i16 7539, i16 0, i16 1485, i16 7540, i16 7541, i16 0, i16 0, i16 7542, i16 0, i16 3798, i16 7543, i16 0, i16 0, i16 7544, i16 7545, i16 1910, i16 0, i16 2443, i16 2694, i16 1395, i16 0, i16 3799, i16 0, i16 0, i16 0, i16 0, i16 1237, i16 0, i16 0, i16 11377, i16 11378, i16 0, i16 11379, i16 6114, i16 11380, i16 6115, i16 1929, i16 0, i16 6117, i16 0, i16 2564, i16 0, i16 1457, i16 1061, i16 0, i16 0, i16 11381, i16 11382, i16 0, i16 6120, i16 11383, i16 0, i16 11384, i16 0, i16 1058, i16 11385, i16 6125, i16 11386, i16 0, i16 6121, i16 6124, i16 11889, i16 11890, i16 6432, i16 0, i16 2718, i16 0, i16 0, i16 6437, i16 6441, i16 6438, i16 6436, i16 11891, i16 6439, i16 11892, i16 11893, i16 11894, i16 6440, i16 0, i16 0, i16 0, i16 11895, i16 6447, i16 0, i16 0, i16 0, i16 6442, i16 0, i16 11896, i16 11897, i16 11898, i16 11899, i16 2305, i16 10866, i16 940, i16 0, i16 10867, i16 0, i16 5812, i16 5813, i16 0, i16 10868, i16 0, i16 5814, i16 0, i16 3537, i16 0, i16 10869, i16 10870, i16 0, i16 0, i16 1979, i16 0, i16 5816, i16 5815, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10871, i16 0, i16 0, i16 0, i16 10872, i16 3699, i16 4782, i16 2240, i16 0, i16 0, i16 0, i16 4781, i16 0, i16 0, i16 4776, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1544, i16 9169, i16 9170, i16 9171, i16 4788, i16 4786, i16 9172, i16 978, i16 4784, i16 4790, i16 4796, i16 0, i16 9173, i16 9174, i16 9175, i16 0, i16 0, i16 7283, i16 7282, i16 7285, i16 7291, i16 7284, i16 7290, i16 7180, i16 7295, i16 7299, i16 7298, i16 7301, i16 7300, i16 7312, i16 7311, i16 7314, i16 7313, i16 7182, i16 7327, i16 7329, i16 7328, i16 7331, i16 7335, i16 7330, i16 285, i16 7191, i16 7346, i16 7345, i16 7348, i16 7347, i16 7361, i16 7195, i16 7362, i16 9075, i16 4724, i16 1873, i16 1615, i16 4722, i16 9076, i16 9077, i16 0, i16 0, i16 4723, i16 9078, i16 2179, i16 9079, i16 0, i16 9081, i16 4721, i16 0, i16 9080, i16 1794, i16 0, i16 0, i16 0, i16 0, i16 9082, i16 9083, i16 9084, i16 0, i16 9085, i16 9086, i16 4726, i16 4725, i16 4730, i16 1908, i16 0, i16 11233, i16 11234, i16 0, i16 0, i16 6015, i16 11235, i16 0, i16 0, i16 0, i16 0, i16 11236, i16 0, i16 11237, i16 0, i16 11238, i16 3235, i16 0, i16 3379, i16 6055, i16 6054, i16 0, i16 6050, i16 6051, i16 0, i16 861, i16 0, i16 11239, i16 0, i16 11240, i16 6053, i16 1909, i16 0, i16 0, i16 0, i16 2851, i16 5627, i16 5626, i16 0, i16 10612, i16 5623, i16 10613, i16 0, i16 0, i16 3681, i16 0, i16 0, i16 0, i16 0, i16 10614, i16 5632, i16 10615, i16 10616, i16 5636, i16 5633, i16 10617, i16 10618, i16 10619, i16 0, i16 10620, i16 0, i16 10621, i16 0, i16 7797, i16 0, i16 1797, i16 3950, i16 0, i16 7798, i16 0, i16 0, i16 3367, i16 1706, i16 1273, i16 3478, i16 2391, i16 3032, i16 1966, i16 7799, i16 0, i16 0, i16 7800, i16 7801, i16 2006, i16 7802, i16 1945, i16 1958, i16 0, i16 2053, i16 7803, i16 3033, i16 0, i16 7804, i16 7805, i16 3953, i16 12917, i16 0, i16 12918, i16 0, i16 6964, i16 0, i16 6960, i16 0, i16 6961, i16 6957, i16 6963, i16 12919, i16 6959, i16 1093, i16 0, i16 12920, i16 3703, i16 12921, i16 6962, i16 6958, i16 6956, i16 6955, i16 12922, i16 0, i16 12923, i16 12924, i16 12925, i16 6966, i16 12926, i16 0, i16 12927, i16 0, i16 9590, i16 2555, i16 9591, i16 0, i16 5069, i16 9592, i16 5058, i16 0, i16 5064, i16 9593, i16 5071, i16 837, i16 5061, i16 0, i16 5072, i16 9594, i16 9595, i16 2183, i16 0, i16 2030, i16 9596, i16 3194, i16 9597, i16 1699, i16 0, i16 5053, i16 5067, i16 2745, i16 9598, i16 0, i16 0, i16 0, i16 3448, i16 0, i16 6681, i16 2357, i16 12444, i16 0, i16 0, i16 6682, i16 12445, i16 3225, i16 6683, i16 1038, i16 12446, i16 12447, i16 12448, i16 867, i16 0, i16 1176, i16 0, i16 1175, i16 6684, i16 0, i16 6685, i16 0, i16 6686, i16 6687, i16 0, i16 0, i16 0, i16 12449, i16 12450, i16 12451, i16 4472, i16 4470, i16 8699, i16 2401, i16 0, i16 8700, i16 0, i16 4460, i16 1799, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2475, i16 4491, i16 8701, i16 2402, i16 4486, i16 8702, i16 4483, i16 4484, i16 8703, i16 1943, i16 4487, i16 4490, i16 8704, i16 8705, i16 0, i16 0, i16 6008, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11157, i16 3267, i16 11158, i16 5999, i16 0, i16 0, i16 0, i16 991, i16 1551, i16 3104, i16 6009, i16 0, i16 5997, i16 0, i16 11159, i16 6006, i16 11160, i16 11161, i16 0, i16 6016, i16 11162, i16 6001, i16 0, i16 0, i16 9336, i16 3424, i16 4926, i16 4913, i16 9337, i16 0, i16 0, i16 0, i16 9338, i16 1499, i16 936, i16 1090, i16 0, i16 0, i16 4889, i16 0, i16 9339, i16 0, i16 9340, i16 0, i16 9341, i16 2094, i16 4918, i16 9342, i16 4925, i16 1962, i16 1109, i16 9343, i16 0, i16 2545, i16 9344, i16 9345, i16 11640, i16 0, i16 11641, i16 1480, i16 11642, i16 6284, i16 11643, i16 0, i16 0, i16 0, i16 3295, i16 11644, i16 11645, i16 2312, i16 0, i16 11646, i16 0, i16 1301, i16 0, i16 3462, i16 2385, i16 11647, i16 6285, i16 11648, i16 0, i16 0, i16 2194, i16 2611, i16 2119, i16 11649, i16 11650, i16 0, i16 8313, i16 2599, i16 0, i16 4213, i16 0, i16 8314, i16 4215, i16 0, i16 0, i16 4216, i16 8315, i16 0, i16 0, i16 0, i16 8316, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8317, i16 8318, i16 0, i16 0, i16 0, i16 4218, i16 4219, i16 0, i16 8319, i16 0, i16 0, i16 11129, i16 0, i16 11130, i16 0, i16 11131, i16 5980, i16 11132, i16 5988, i16 0, i16 5995, i16 5989, i16 0, i16 0, i16 11133, i16 5987, i16 0, i16 0, i16 0, i16 11134, i16 5958, i16 11135, i16 11136, i16 5985, i16 0, i16 11137, i16 11138, i16 5981, i16 11139, i16 11140, i16 11141, i16 1169, i16 5983, i16 890, i16 11664, i16 6294, i16 1459, i16 0, i16 11665, i16 1857, i16 11666, i16 0, i16 1856, i16 0, i16 3704, i16 6293, i16 6292, i16 2350, i16 0, i16 1260, i16 3694, i16 1053, i16 2121, i16 0, i16 11667, i16 11668, i16 11669, i16 0, i16 11670, i16 11671, i16 11672, i16 6291, i16 0, i16 11673, i16 11674, i16 3962, i16 0, i16 3663, i16 7821, i16 7822, i16 0, i16 3271, i16 7823, i16 2697, i16 1563, i16 1671, i16 0, i16 0, i16 7824, i16 3970, i16 7825, i16 0, i16 2874, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7826, i16 3974, i16 3707, i16 4830, i16 0, i16 0, i16 4844, i16 801, i16 9267, i16 0, i16 4832, i16 9268, i16 9269, i16 3403, i16 4837, i16 2157, i16 2664, i16 4827, i16 9270, i16 9271, i16 4843, i16 9272, i16 0, i16 0, i16 9273, i16 9274, i16 0, i16 2245, i16 4853, i16 1108, i16 1498, i16 0, i16 0, i16 0, i16 11387, i16 0, i16 0, i16 11388, i16 3027, i16 11389, i16 0, i16 11390, i16 0, i16 6122, i16 0, i16 0, i16 6123, i16 3135, i16 3059, i16 6126, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2530, i16 6136, i16 11392, i16 6132, i16 11393, i16 11394, i16 1008, i16 0, i16 2172, i16 0, i16 0, i16 8264, i16 8265, i16 4194, i16 0, i16 8266, i16 8267, i16 3247, i16 8268, i16 0, i16 0, i16 8269, i16 0, i16 1565, i16 8270, i16 0, i16 0, i16 0, i16 0, i16 4203, i16 4204, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2072, i16 0, i16 0, i16 0, i16 6012, i16 0, i16 6011, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2982, i16 6018, i16 0, i16 6029, i16 0, i16 0, i16 11171, i16 0, i16 1121, i16 0, i16 0, i16 0, i16 6032, i16 0, i16 0, i16 6014, i16 11172, i16 0, i16 0, i16 6019, i16 3549, i16 0, i16 0, i16 10108, i16 0, i16 0, i16 10109, i16 5331, i16 0, i16 5336, i16 10110, i16 10111, i16 5334, i16 5333, i16 4684, i16 1033, i16 5332, i16 10112, i16 803, i16 10113, i16 3011, i16 10114, i16 0, i16 3043, i16 0, i16 0, i16 10115, i16 0, i16 3582, i16 5337, i16 5335, i16 2591, i16 2255, i16 10116, i16 10117, i16 7806, i16 874, i16 2392, i16 1590, i16 1534, i16 1380, i16 7807, i16 7808, i16 3957, i16 2532, i16 2531, i16 1320, i16 2065, i16 3958, i16 3956, i16 969, i16 2507, i16 1897, i16 1822, i16 845, i16 0, i16 7809, i16 1107, i16 1661, i16 1821, i16 0, i16 3959, i16 0, i16 0, i16 0, i16 0, i16 0, i16 639, i16 640, i16 7138, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 7135, i16 7140, i16 7137, i16 7139, i16 7142, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6271, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1076, i16 0, i16 11616, i16 11617, i16 11618, i16 11619, i16 11620, i16 0, i16 6272, i16 0, i16 6273, i16 6274, i16 0, i16 0, i16 9087, i16 9088, i16 4731, i16 0, i16 4727, i16 0, i16 1029, i16 4728, i16 4729, i16 3054, i16 9090, i16 9091, i16 9092, i16 0, i16 3160, i16 1445, i16 4732, i16 0, i16 0, i16 9094, i16 2267, i16 9095, i16 2090, i16 9097, i16 9098, i16 9099, i16 2581, i16 9100, i16 9102, i16 0, i16 9093, i16 9096, i16 9599, i16 0, i16 0, i16 0, i16 9600, i16 2271, i16 0, i16 1100, i16 1734, i16 2097, i16 5055, i16 2001, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1447, i16 0, i16 5054, i16 0, i16 0, i16 0, i16 5076, i16 2044, i16 1523, i16 0, i16 5091, i16 9601, i16 5085, i16 8320, i16 8321, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8322, i16 1203, i16 0, i16 4221, i16 4220, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4222, i16 8323, i16 0, i16 8325, i16 0, i16 8326, i16 0, i16 8327, i16 0, i16 0, i16 8576, i16 4395, i16 0, i16 0, i16 8577, i16 8578, i16 0, i16 8579, i16 4396, i16 0, i16 1325, i16 0, i16 4397, i16 8580, i16 4398, i16 0, i16 8581, i16 4400, i16 0, i16 2805, i16 8582, i16 0, i16 4401, i16 4402, i16 8583, i16 4403, i16 0, i16 8584, i16 4388, i16 4387, i16 0, i16 0, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 0, i16 0, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 1665, i16 2915, i16 0, i16 0, i16 5051, i16 0, i16 0, i16 0, i16 9719, i16 9720, i16 0, i16 3555, i16 5149, i16 0, i16 5153, i16 2522, i16 9721, i16 5152, i16 0, i16 5131, i16 0, i16 9722, i16 6697, i16 0, i16 0, i16 9723, i16 5157, i16 0, i16 9724, i16 9725, i16 5161, i16 0, i16 5249, i16 5250, i16 5248, i16 0, i16 0, i16 9900, i16 0, i16 0, i16 0, i16 1950, i16 0, i16 0, i16 2853, i16 1334, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9901, i16 9902, i16 0, i16 0, i16 5252, i16 2543, i16 5251, i16 9903, i16 9904, i16 3680, i16 2973, i16 9905, i16 0, i16 5507, i16 1426, i16 0, i16 0, i16 10420, i16 10421, i16 10422, i16 1247, i16 1222, i16 1846, i16 10423, i16 10424, i16 0, i16 0, i16 0, i16 10425, i16 3491, i16 10426, i16 0, i16 5513, i16 10427, i16 5512, i16 2379, i16 5509, i16 10428, i16 0, i16 5511, i16 10429, i16 10430, i16 2010, i16 2187, i16 5510, i16 11651, i16 6286, i16 0, i16 11652, i16 0, i16 11653, i16 6289, i16 11654, i16 6290, i16 11655, i16 0, i16 0, i16 0, i16 11656, i16 11657, i16 0, i16 1715, i16 2471, i16 6288, i16 11658, i16 2120, i16 3125, i16 11659, i16 11660, i16 11661, i16 0, i16 0, i16 6287, i16 11662, i16 11663, i16 1855, i16 0, i16 5508, i16 0, i16 2917, i16 0, i16 0, i16 2106, i16 0, i16 10431, i16 3123, i16 10432, i16 0, i16 10433, i16 0, i16 1740, i16 0, i16 0, i16 0, i16 0, i16 10434, i16 0, i16 0, i16 0, i16 0, i16 2807, i16 0, i16 10435, i16 5514, i16 10436, i16 10437, i16 0, i16 10438, i16 5515, i16 4485, i16 1972, i16 8706, i16 4488, i16 0, i16 0, i16 4482, i16 8707, i16 3469, i16 3468, i16 8708, i16 0, i16 8709, i16 4492, i16 4493, i16 798, i16 8710, i16 8711, i16 8712, i16 8713, i16 8714, i16 4481, i16 8715, i16 8716, i16 0, i16 8717, i16 1391, i16 751, i16 8718, i16 0, i16 8719, i16 1143, i16 4230, i16 8332, i16 0, i16 4228, i16 0, i16 4229, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8333, i16 8334, i16 0, i16 0, i16 0, i16 1829, i16 4231, i16 8335, i16 0, i16 1597, i16 4232, i16 8336, i16 1869, i16 2461, i16 0, i16 4233, i16 4234, i16 1837, i16 1598, i16 8337, i16 3427, i16 1673, i16 0, i16 3259, i16 5542, i16 10499, i16 10500, i16 3335, i16 10501, i16 10502, i16 5544, i16 0, i16 0, i16 10503, i16 2298, i16 886, i16 959, i16 757, i16 0, i16 0, i16 0, i16 0, i16 10504, i16 10505, i16 5543, i16 0, i16 10506, i16 0, i16 0, i16 10507, i16 10508, i16 0, i16 10509, i16 2441, i16 6521, i16 754, i16 3661, i16 0, i16 0, i16 0, i16 6526, i16 12021, i16 12022, i16 12024, i16 0, i16 12025, i16 12026, i16 2502, i16 12023, i16 0, i16 1988, i16 2197, i16 12027, i16 12028, i16 6528, i16 6527, i16 12029, i16 824, i16 6529, i16 0, i16 0, i16 3110, i16 0, i16 6537, i16 12030, i16 8585, i16 4404, i16 1436, i16 8586, i16 8587, i16 0, i16 3102, i16 8588, i16 0, i16 1729, i16 3118, i16 2631, i16 3138, i16 4405, i16 0, i16 8589, i16 2081, i16 877, i16 8590, i16 4406, i16 8591, i16 8592, i16 0, i16 4407, i16 8593, i16 3459, i16 8594, i16 0, i16 3065, i16 8595, i16 8596, i16 4410, i16 10634, i16 1163, i16 0, i16 5637, i16 0, i16 10635, i16 10636, i16 5638, i16 10637, i16 0, i16 5639, i16 5642, i16 10638, i16 0, i16 0, i16 0, i16 0, i16 10639, i16 0, i16 10640, i16 10641, i16 0, i16 10642, i16 5641, i16 3087, i16 10643, i16 10644, i16 0, i16 0, i16 5643, i16 3657, i16 3266, i16 1675, i16 3402, i16 12998, i16 12997, i16 7003, i16 12999, i16 0, i16 0, i16 0, i16 13000, i16 13001, i16 13002, i16 3301, i16 0, i16 0, i16 7011, i16 13003, i16 0, i16 7007, i16 0, i16 0, i16 0, i16 13004, i16 13005, i16 0, i16 0, i16 7012, i16 13006, i16 13007, i16 0, i16 13008, i16 0, i16 7563, i16 7564, i16 7565, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7566, i16 0, i16 1722, i16 3506, i16 0, i16 7567, i16 7568, i16 0, i16 3804, i16 3807, i16 3803, i16 1721, i16 0, i16 2060, i16 0, i16 7569, i16 7570, i16 0, i16 0, i16 7571, i16 1428, i16 0, i16 3980, i16 7837, i16 0, i16 7838, i16 3982, i16 7839, i16 3984, i16 0, i16 7840, i16 7841, i16 0, i16 1765, i16 3693, i16 7842, i16 3973, i16 3971, i16 3983, i16 7843, i16 3978, i16 0, i16 0, i16 7844, i16 7845, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7846, i16 0, i16 0, i16 7847, i16 9868, i16 953, i16 3679, i16 9869, i16 0, i16 0, i16 0, i16 3333, i16 9870, i16 3199, i16 0, i16 9871, i16 0, i16 0, i16 9872, i16 9873, i16 0, i16 9874, i16 2272, i16 0, i16 5232, i16 0, i16 0, i16 9875, i16 9876, i16 2848, i16 0, i16 9877, i16 9878, i16 1500, i16 5233, i16 9879, i16 11148, i16 6005, i16 0, i16 0, i16 0, i16 2246, i16 0, i16 11149, i16 0, i16 11150, i16 1253, i16 0, i16 1370, i16 0, i16 6000, i16 11151, i16 11152, i16 11153, i16 0, i16 992, i16 11154, i16 0, i16 2113, i16 0, i16 6003, i16 0, i16 0, i16 0, i16 1743, i16 11155, i16 0, i16 2768, i16 4749, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4751, i16 0, i16 9131, i16 4752, i16 0, i16 9132, i16 9133, i16 0, i16 9134, i16 0, i16 4753, i16 0, i16 1351, i16 879, i16 1616, i16 4754, i16 0, i16 4755, i16 2048, i16 2409, i16 9135, i16 9089, i16 3954, i16 2373, i16 2372, i16 2493, i16 9101, i16 1348, i16 0, i16 4733, i16 4737, i16 0, i16 0, i16 976, i16 4734, i16 4736, i16 0, i16 9103, i16 9104, i16 9105, i16 4735, i16 0, i16 9106, i16 2042, i16 9107, i16 0, i16 0, i16 0, i16 2571, i16 782, i16 4738, i16 9108, i16 9109, i16 9110, i16 9111, i16 4739, i16 0, i16 9112, i16 10897, i16 5830, i16 0, i16 0, i16 10898, i16 0, i16 10899, i16 0, i16 5831, i16 0, i16 0, i16 0, i16 10900, i16 0, i16 10901, i16 0, i16 10902, i16 0, i16 0, i16 1883, i16 10903, i16 10904, i16 3454, i16 10905, i16 0, i16 10906, i16 10907, i16 5833, i16 10908, i16 2562, i16 10909, i16 5832, i16 3218, i16 3626, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8131, i16 1017, i16 4128, i16 8132, i16 8133, i16 0, i16 8134, i16 8135, i16 2369, i16 4131, i16 0, i16 2786, i16 8136, i16 0, i16 2760, i16 2787, i16 3026, i16 2670, i16 0, i16 0, i16 0, i16 1726, i16 8137, i16 3731, i16 3303, i16 3732, i16 0, i16 1579, i16 816, i16 3365, i16 0, i16 1307, i16 0, i16 0, i16 1308, i16 1309, i16 2691, i16 3593, i16 7399, i16 3733, i16 0, i16 0, i16 3734, i16 0, i16 0, i16 3735, i16 0, i16 0, i16 7400, i16 2200, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4243, i16 8345, i16 0, i16 4244, i16 8346, i16 2517, i16 8347, i16 846, i16 1946, i16 779, i16 8348, i16 2398, i16 1137, i16 1894, i16 8349, i16 1599, i16 8350, i16 8351, i16 0, i16 8352, i16 8353, i16 2789, i16 8354, i16 1968, i16 1138, i16 2603, i16 2699, i16 769, i16 1240, i16 3274, i16 0, i16 1907, i16 7060, i16 0, i16 0, i16 0, i16 13092, i16 7061, i16 0, i16 13093, i16 7062, i16 0, i16 0, i16 0, i16 13094, i16 13095, i16 13096, i16 7063, i16 13097, i16 13098, i16 13099, i16 0, i16 7064, i16 13100, i16 7065, i16 7066, i16 13101, i16 7067, i16 0, i16 7068, i16 7069, i16 7070, i16 0, i16 13102, i16 7572, i16 0, i16 3808, i16 7573, i16 7574, i16 1356, i16 0, i16 7575, i16 0, i16 3805, i16 3806, i16 0, i16 7576, i16 2828, i16 7577, i16 2435, i16 7578, i16 1312, i16 0, i16 7579, i16 7580, i16 3328, i16 3809, i16 0, i16 7581, i16 0, i16 3594, i16 0, i16 7582, i16 7583, i16 3810, i16 7584, i16 6549, i16 6548, i16 6546, i16 5564, i16 1173, i16 12043, i16 0, i16 6514, i16 12044, i16 6551, i16 6550, i16 12045, i16 12046, i16 0, i16 12047, i16 6552, i16 12048, i16 3495, i16 0, i16 0, i16 0, i16 12049, i16 0, i16 12050, i16 12051, i16 12052, i16 0, i16 12053, i16 0, i16 0, i16 0, i16 0, i16 2710, i16 2000, i16 1280, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9490, i16 9491, i16 0, i16 9492, i16 3039, i16 9493, i16 1887, i16 0, i16 9494, i16 0, i16 9495, i16 5004, i16 0, i16 1153, i16 0, i16 9496, i16 927, i16 9497, i16 9498, i16 2895, i16 5003, i16 1621, i16 10390, i16 10391, i16 0, i16 0, i16 10387, i16 0, i16 10392, i16 5497, i16 3348, i16 0, i16 10393, i16 0, i16 5496, i16 0, i16 0, i16 820, i16 0, i16 0, i16 10394, i16 10395, i16 5500, i16 0, i16 10397, i16 10398, i16 0, i16 0, i16 10399, i16 10400, i16 0, i16 5499, i16 0, i16 10401, i16 12184, i16 12185, i16 0, i16 0, i16 12186, i16 12187, i16 12188, i16 12189, i16 0, i16 12190, i16 12191, i16 0, i16 12192, i16 2876, i16 1062, i16 0, i16 12193, i16 6601, i16 12194, i16 12195, i16 6598, i16 6600, i16 12196, i16 0, i16 12197, i16 0, i16 0, i16 0, i16 12198, i16 12199, i16 6596, i16 0, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 3481, i16 0, i16 8676, i16 1142, i16 8677, i16 8678, i16 896, i16 4468, i16 8679, i16 2933, i16 758, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8680, i16 8681, i16 3066, i16 4428, i16 4474, i16 4478, i16 3446, i16 8682, i16 4471, i16 0, i16 0, i16 8683, i16 2792, i16 4476, i16 8684, i16 0, i16 9113, i16 0, i16 2635, i16 0, i16 9114, i16 0, i16 3646, i16 0, i16 0, i16 0, i16 0, i16 1814, i16 0, i16 9115, i16 3264, i16 0, i16 0, i16 9116, i16 9117, i16 0, i16 3312, i16 9118, i16 0, i16 0, i16 4746, i16 4741, i16 0, i16 9119, i16 4744, i16 0, i16 4743, i16 9120, i16 922, i16 2387, i16 12036, i16 1512, i16 0, i16 3529, i16 12037, i16 12038, i16 6541, i16 2731, i16 0, i16 0, i16 12039, i16 2431, i16 1928, i16 6542, i16 12040, i16 0, i16 6545, i16 0, i16 12041, i16 2036, i16 6543, i16 2354, i16 2353, i16 12042, i16 813, i16 0, i16 3608, i16 6547, i16 0, i16 3083, i16 2714, i16 5730, i16 10770, i16 0, i16 5726, i16 10771, i16 10772, i16 0, i16 3241, i16 1164, i16 10773, i16 10774, i16 3420, i16 10775, i16 0, i16 807, i16 0, i16 10776, i16 5729, i16 0, i16 3658, i16 10777, i16 10778, i16 0, i16 0, i16 10779, i16 10780, i16 5728, i16 0, i16 0, i16 0, i16 0, i16 11930, i16 11931, i16 0, i16 11932, i16 11933, i16 6468, i16 6465, i16 11934, i16 6469, i16 0, i16 1927, i16 6470, i16 1231, i16 1422, i16 0, i16 11935, i16 0, i16 11936, i16 1511, i16 0, i16 11937, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6471, i16 11938, i16 0, i16 0, i16 2893, i16 11419, i16 0, i16 0, i16 11420, i16 0, i16 11421, i16 0, i16 0, i16 0, i16 2319, i16 0, i16 3684, i16 6148, i16 11422, i16 6149, i16 0, i16 0, i16 0, i16 0, i16 6155, i16 0, i16 2165, i16 0, i16 6151, i16 11423, i16 6154, i16 0, i16 0, i16 0, i16 11424, i16 0, i16 6146, i16 11675, i16 0, i16 6296, i16 11676, i16 6297, i16 6295, i16 11677, i16 1553, i16 0, i16 3503, i16 0, i16 11678, i16 1858, i16 2914, i16 0, i16 11679, i16 11680, i16 6300, i16 11681, i16 2281, i16 0, i16 2565, i16 11682, i16 11683, i16 3493, i16 11684, i16 6303, i16 0, i16 0, i16 0, i16 1573, i16 11685, i16 10140, i16 10141, i16 5356, i16 5358, i16 10142, i16 3129, i16 10143, i16 2102, i16 0, i16 0, i16 5365, i16 0, i16 10144, i16 5364, i16 10145, i16 10146, i16 0, i16 0, i16 5366, i16 0, i16 1879, i16 1700, i16 0, i16 10147, i16 2806, i16 5367, i16 0, i16 2668, i16 10148, i16 0, i16 5369, i16 10149, i16 10396, i16 2105, i16 0, i16 0, i16 0, i16 0, i16 10402, i16 5501, i16 0, i16 0, i16 0, i16 0, i16 10403, i16 0, i16 2378, i16 0, i16 10404, i16 5503, i16 5502, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5504, i16 10405, i16 0, i16 10406, i16 0, i16 10407, i16 10408, i16 5789, i16 10839, i16 0, i16 10840, i16 10841, i16 10842, i16 10843, i16 5792, i16 5790, i16 5791, i16 1750, i16 1454, i16 0, i16 10844, i16 2585, i16 0, i16 3020, i16 10845, i16 2047, i16 0, i16 0, i16 2952, i16 0, i16 3078, i16 5793, i16 4539, i16 0, i16 0, i16 0, i16 10846, i16 10847, i16 10848, i16 10910, i16 0, i16 0, i16 0, i16 10911, i16 0, i16 5835, i16 0, i16 0, i16 0, i16 5834, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5836, i16 0, i16 0, i16 0, i16 2276, i16 0, i16 5837, i16 0, i16 5838, i16 0, i16 0, i16 0, i16 3214, i16 5839, i16 12702, i16 12703, i16 6839, i16 0, i16 0, i16 6841, i16 12704, i16 12705, i16 12706, i16 6840, i16 0, i16 6843, i16 6846, i16 12707, i16 12708, i16 0, i16 6842, i16 6844, i16 6845, i16 0, i16 12709, i16 6847, i16 0, i16 1343, i16 12710, i16 12711, i16 0, i16 12712, i16 12713, i16 0, i16 12714, i16 12715, i16 1951, i16 9987, i16 0, i16 9988, i16 0, i16 5280, i16 9989, i16 9990, i16 0, i16 9991, i16 1433, i16 0, i16 0, i16 3042, i16 5281, i16 0, i16 0, i16 5308, i16 0, i16 0, i16 9992, i16 9993, i16 0, i16 9994, i16 5287, i16 9995, i16 9996, i16 9997, i16 0, i16 9998, i16 1526, i16 9999, i16 5279, i16 0, i16 982, i16 0, i16 0, i16 9976, i16 9977, i16 0, i16 5275, i16 9978, i16 1804, i16 9979, i16 9980, i16 2658, i16 5277, i16 9981, i16 0, i16 0, i16 9982, i16 9983, i16 0, i16 0, i16 9984, i16 0, i16 0, i16 9985, i16 0, i16 0, i16 0, i16 9986, i16 5282, i16 0, i16 5535, i16 10488, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10489, i16 0, i16 0, i16 0, i16 10490, i16 0, i16 10491, i16 1952, i16 10492, i16 10493, i16 5538, i16 825, i16 0, i16 10494, i16 10495, i16 0, i16 5541, i16 10496, i16 10497, i16 10498, i16 5539, i16 985, i16 1449, i16 5540, i16 1629, i16 2976, i16 11805, i16 1510, i16 6388, i16 6387, i16 0, i16 3169, i16 0, i16 11806, i16 0, i16 1906, i16 0, i16 11807, i16 2769, i16 0, i16 11808, i16 11809, i16 0, i16 11810, i16 0, i16 0, i16 11811, i16 0, i16 11812, i16 11813, i16 0, i16 6391, i16 6392, i16 1647, i16 6390, i16 11814, i16 11815, i16 9632, i16 0, i16 823, i16 0, i16 0, i16 5106, i16 0, i16 9633, i16 0, i16 0, i16 5094, i16 0, i16 0, i16 9634, i16 9635, i16 5100, i16 0, i16 9636, i16 5102, i16 9637, i16 0, i16 0, i16 3518, i16 5097, i16 0, i16 0, i16 2733, i16 9638, i16 0, i16 5099, i16 0, i16 9639, i16 10912, i16 2422, i16 5840, i16 0, i16 10913, i16 0, i16 10914, i16 0, i16 5841, i16 0, i16 0, i16 0, i16 0, i16 10915, i16 0, i16 3659, i16 5844, i16 10916, i16 5843, i16 5842, i16 2641, i16 10917, i16 5845, i16 2161, i16 0, i16 5846, i16 0, i16 0, i16 0, i16 5847, i16 3683, i16 5848, i16 5537, i16 1365, i16 0, i16 0, i16 3688, i16 2364, i16 0, i16 0, i16 0, i16 0, i16 5516, i16 10439, i16 10440, i16 983, i16 2712, i16 3190, i16 0, i16 10441, i16 0, i16 10442, i16 10443, i16 10444, i16 10445, i16 0, i16 10446, i16 0, i16 0, i16 10447, i16 10448, i16 5517, i16 0, i16 0, i16 9121, i16 4740, i16 9122, i16 9123, i16 4745, i16 0, i16 0, i16 2875, i16 9124, i16 4742, i16 0, i16 0, i16 9125, i16 0, i16 9126, i16 9127, i16 0, i16 0, i16 0, i16 0, i16 9128, i16 0, i16 4747, i16 0, i16 0, i16 2043, i16 4748, i16 9129, i16 3514, i16 2995, i16 0, i16 9130, i16 4770, i16 2143, i16 3438, i16 4772, i16 4773, i16 3543, i16 9153, i16 0, i16 0, i16 0, i16 4778, i16 0, i16 9154, i16 1617, i16 9155, i16 2960, i16 4775, i16 2795, i16 4712, i16 4716, i16 9156, i16 1262, i16 9157, i16 2946, i16 0, i16 0, i16 0, i16 9158, i16 4777, i16 0, i16 2091, i16 3037, i16 932, i16 2261, i16 4409, i16 4408, i16 1437, i16 2489, i16 0, i16 4414, i16 4412, i16 8597, i16 4411, i16 3572, i16 1566, i16 8598, i16 0, i16 8599, i16 2056, i16 4413, i16 2763, i16 1997, i16 0, i16 0, i16 8600, i16 2845, i16 4417, i16 4416, i16 0, i16 0, i16 8601, i16 8602, i16 4415, i16 0, i16 10150, i16 10151, i16 3566, i16 5368, i16 10152, i16 0, i16 0, i16 10153, i16 0, i16 2416, i16 0, i16 0, i16 10154, i16 0, i16 10155, i16 10156, i16 5374, i16 10157, i16 5376, i16 5377, i16 2583, i16 0, i16 0, i16 0, i16 0, i16 10158, i16 5375, i16 0, i16 5372, i16 0, i16 5370, i16 5371, i16 9640, i16 9641, i16 5107, i16 9642, i16 5101, i16 3416, i16 0, i16 9643, i16 9644, i16 5096, i16 9645, i16 1875, i16 5120, i16 9646, i16 9647, i16 9648, i16 0, i16 1101, i16 0, i16 5098, i16 5103, i16 5104, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2513, i16 2495, i16 0, i16 4009, i16 7890, i16 0, i16 0, i16 2516, i16 4014, i16 2067, i16 7891, i16 0, i16 7892, i16 7893, i16 0, i16 4011, i16 7894, i16 0, i16 3445, i16 7895, i16 7896, i16 0, i16 1431, i16 0, i16 0, i16 4015, i16 4016, i16 7897, i16 0, i16 7898, i16 7899, i16 4013, i16 4019, i16 7900, i16 0, i16 6057, i16 6061, i16 0, i16 3058, i16 0, i16 0, i16 11253, i16 0, i16 6060, i16 2115, i16 1914, i16 6063, i16 0, i16 0, i16 1339, i16 11254, i16 11255, i16 11256, i16 11257, i16 11258, i16 0, i16 6064, i16 11259, i16 3184, i16 6059, i16 11260, i16 6020, i16 0, i16 11261, i16 11262, i16 11263, i16 11264, i16 10409, i16 0, i16 0, i16 0, i16 0, i16 10410, i16 5474, i16 10411, i16 0, i16 10412, i16 5476, i16 5506, i16 5505, i16 10413, i16 0, i16 0, i16 0, i16 10414, i16 0, i16 0, i16 10415, i16 10416, i16 0, i16 0, i16 0, i16 0, i16 1881, i16 10417, i16 3638, i16 10418, i16 1923, i16 10419, i16 4266, i16 0, i16 4267, i16 8383, i16 3441, i16 0, i16 8384, i16 0, i16 4268, i16 8385, i16 0, i16 8386, i16 8387, i16 1347, i16 8388, i16 0, i16 8389, i16 1969, i16 8390, i16 0, i16 0, i16 8391, i16 8392, i16 0, i16 4269, i16 4270, i16 1933, i16 2167, i16 2897, i16 2207, i16 3089, i16 2909, i16 6315, i16 6323, i16 6316, i16 0, i16 6312, i16 0, i16 2717, i16 6311, i16 0, i16 0, i16 0, i16 6309, i16 11707, i16 3472, i16 1859, i16 0, i16 11708, i16 6313, i16 0, i16 6310, i16 11709, i16 11710, i16 11711, i16 6317, i16 2051, i16 0, i16 1530, i16 0, i16 11712, i16 0, i16 2527, i16 11713, i16 7083, i16 7084, i16 3645, i16 7081, i16 0, i16 0, i16 7085, i16 7086, i16 13145, i16 13146, i16 7088, i16 0, i16 7087, i16 13147, i16 13148, i16 13149, i16 13150, i16 13151, i16 7090, i16 13152, i16 0, i16 13153, i16 7091, i16 7089, i16 0, i16 0, i16 13154, i16 0, i16 0, i16 13155, i16 0, i16 0, i16 11947, i16 0, i16 11948, i16 1078, i16 0, i16 6478, i16 0, i16 11949, i16 11950, i16 1745, i16 6477, i16 0, i16 6486, i16 0, i16 0, i16 11951, i16 11952, i16 0, i16 6480, i16 6482, i16 3258, i16 6479, i16 11953, i16 11954, i16 11955, i16 6481, i16 0, i16 6485, i16 6483, i16 1232, i16 11956, i16 6484, i16 1964, i16 0, i16 12536, i16 12537, i16 6746, i16 12538, i16 6747, i16 2199, i16 6748, i16 12539, i16 3643, i16 0, i16 0, i16 6743, i16 6750, i16 6752, i16 0, i16 6751, i16 0, i16 6749, i16 0, i16 0, i16 6753, i16 0, i16 0, i16 6754, i16 12540, i16 12541, i16 2433, i16 12542, i16 999, i16 0, i16 12716, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8365, i16 8366, i16 1941, i16 4247, i16 1204, i16 2863, i16 3386, i16 4248, i16 0, i16 4249, i16 0, i16 0, i16 3152, i16 8367, i16 0, i16 8368, i16 4251, i16 0, i16 1129, i16 1396, i16 4250, i16 0, i16 8369, i16 8370, i16 8371, i16 8372, i16 8373, i16 1139, i16 0, i16 2173, i16 4255, i16 1780, i16 10159, i16 5373, i16 10160, i16 10161, i16 10162, i16 0, i16 0, i16 10163, i16 10164, i16 5380, i16 10165, i16 5378, i16 10166, i16 5379, i16 0, i16 10167, i16 0, i16 0, i16 10168, i16 10169, i16 0, i16 10170, i16 10171, i16 0, i16 0, i16 10172, i16 0, i16 10173, i16 10174, i16 10175, i16 10176, i16 5381, i16 2480, i16 12493, i16 6712, i16 0, i16 3172, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6715, i16 6713, i16 1654, i16 0, i16 6714, i16 1531, i16 0, i16 12494, i16 0, i16 12495, i16 0, i16 12496, i16 12497, i16 12498, i16 0, i16 0, i16 3226, i16 6717, i16 6719, i16 6718, i16 6720, i16 6065, i16 11276, i16 0, i16 0, i16 2993, i16 11277, i16 11278, i16 6075, i16 6067, i16 11279, i16 6069, i16 11280, i16 11281, i16 0, i16 0, i16 11282, i16 6079, i16 6068, i16 0, i16 11283, i16 6072, i16 0, i16 0, i16 921, i16 11284, i16 2882, i16 0, i16 6073, i16 6076, i16 11285, i16 0, i16 11286, i16 10673, i16 5663, i16 5661, i16 0, i16 5659, i16 1122, i16 10674, i16 2110, i16 5664, i16 0, i16 0, i16 5662, i16 0, i16 5660, i16 5668, i16 0, i16 10675, i16 5667, i16 5666, i16 5665, i16 0, i16 0, i16 10676, i16 10677, i16 0, i16 5669, i16 10678, i16 10679, i16 10680, i16 5670, i16 2275, i16 10681, i16 6834, i16 6830, i16 12689, i16 0, i16 6833, i16 0, i16 12690, i16 12691, i16 1180, i16 0, i16 0, i16 12692, i16 6835, i16 0, i16 6836, i16 0, i16 0, i16 12693, i16 12694, i16 12695, i16 12696, i16 12697, i16 0, i16 0, i16 0, i16 12698, i16 12699, i16 12700, i16 12701, i16 6837, i16 6838, i16 0, i16 11186, i16 3177, i16 6034, i16 2814, i16 11187, i16 11188, i16 762, i16 11189, i16 0, i16 6027, i16 11190, i16 6023, i16 2425, i16 6017, i16 6025, i16 6030, i16 11191, i16 2919, i16 0, i16 11192, i16 11193, i16 755, i16 11194, i16 6022, i16 11195, i16 6031, i16 3183, i16 0, i16 11196, i16 11197, i16 0, i16 0, i16 2228, i16 5817, i16 0, i16 10873, i16 0, i16 10874, i16 5818, i16 0, i16 10875, i16 5819, i16 0, i16 1190, i16 10876, i16 0, i16 10877, i16 10878, i16 1166, i16 0, i16 10879, i16 5820, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5821, i16 10880, i16 3344, i16 3538, i16 10881, i16 10882, i16 10883, i16 2996, i16 0, i16 1154, i16 3655, i16 0, i16 0, i16 9664, i16 0, i16 0, i16 9665, i16 9666, i16 3378, i16 2675, i16 9673, i16 0, i16 9667, i16 9668, i16 5117, i16 5119, i16 9669, i16 0, i16 0, i16 9670, i16 0, i16 2361, i16 0, i16 0, i16 9671, i16 9672, i16 0, i16 5121, i16 5115, i16 4021, i16 7906, i16 7907, i16 4031, i16 2360, i16 0, i16 7908, i16 4033, i16 7909, i16 1593, i16 4023, i16 2624, i16 0, i16 0, i16 7910, i16 7911, i16 0, i16 7912, i16 7913, i16 7914, i16 7915, i16 0, i16 0, i16 7916, i16 4027, i16 4020, i16 1134, i16 0, i16 1199, i16 1096, i16 4028, i16 4024, i16 11957, i16 11958, i16 0, i16 11959, i16 0, i16 11960, i16 6487, i16 11961, i16 11962, i16 2965, i16 3621, i16 0, i16 11963, i16 11964, i16 11965, i16 1987, i16 0, i16 0, i16 0, i16 6488, i16 11966, i16 11967, i16 11968, i16 11969, i16 3473, i16 6490, i16 11970, i16 6489, i16 0, i16 0, i16 6493, i16 3504, i16 7094, i16 13164, i16 13165, i16 13166, i16 0, i16 13167, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8374, i16 974, i16 4254, i16 0, i16 4252, i16 4256, i16 4253, i16 2918, i16 4883, i16 2174, i16 0, i16 4257, i16 0, i16 0, i16 3597, i16 8375, i16 4258, i16 8376, i16 0, i16 4260, i16 8377, i16 2625, i16 4259, i16 0, i16 2252, i16 0, i16 1870, i16 0, i16 0, i16 8378, i16 2485, i16 1960, i16 9142, i16 0, i16 9143, i16 0, i16 0, i16 0, i16 4759, i16 4760, i16 3435, i16 0, i16 3381, i16 3369, i16 3343, i16 1784, i16 4762, i16 0, i16 0, i16 1948, i16 0, i16 9144, i16 3332, i16 0, i16 4764, i16 4767, i16 4766, i16 0, i16 1210, i16 0, i16 0, i16 1279, i16 9145, i16 4763, i16 1975, i16 1847, i16 10458, i16 0, i16 10459, i16 0, i16 0, i16 10460, i16 10461, i16 5525, i16 10462, i16 1976, i16 0, i16 0, i16 0, i16 10463, i16 0, i16 975, i16 3130, i16 0, i16 10464, i16 5526, i16 10465, i16 0, i16 3076, i16 0, i16 10466, i16 0, i16 0, i16 10467, i16 10468, i16 2380, i16 6327, i16 3527, i16 0, i16 0, i16 0, i16 0, i16 6330, i16 0, i16 6333, i16 0, i16 0, i16 6331, i16 3116, i16 11722, i16 0, i16 0, i16 11723, i16 0, i16 0, i16 6328, i16 0, i16 0, i16 0, i16 11724, i16 0, i16 1373, i16 0, i16 0, i16 11725, i16 0, i16 6332, i16 0, i16 6584, i16 6585, i16 12161, i16 12162, i16 0, i16 12163, i16 3049, i16 1736, i16 1938, i16 6586, i16 0, i16 6587, i16 3569, i16 2004, i16 3455, i16 3609, i16 6588, i16 1375, i16 0, i16 12164, i16 12165, i16 0, i16 6589, i16 12166, i16 2722, i16 12167, i16 12168, i16 6592, i16 1115, i16 2198, i16 12169, i16 6590, i16 10936, i16 1550, i16 0, i16 0, i16 838, i16 5859, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10937, i16 10938, i16 5866, i16 10939, i16 5867, i16 10940, i16 10941, i16 2838, i16 0, i16 10942, i16 0, i16 1336, i16 10943, i16 10944, i16 0, i16 5878, i16 2936, i16 10945, i16 0, i16 11448, i16 0, i16 6159, i16 11449, i16 0, i16 0, i16 0, i16 11450, i16 0, i16 0, i16 0, i16 6168, i16 11451, i16 11452, i16 11453, i16 6162, i16 0, i16 11454, i16 0, i16 6170, i16 0, i16 11455, i16 0, i16 0, i16 0, i16 0, i16 3541, i16 6173, i16 0, i16 6164, i16 11456, i16 11457, i16 12216, i16 0, i16 12217, i16 12218, i16 2739, i16 6604, i16 12219, i16 12220, i16 6607, i16 6605, i16 12221, i16 6610, i16 0, i16 12222, i16 12223, i16 12224, i16 6611, i16 12225, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6603, i16 12226, i16 12227, i16 6616, i16 923, i16 12228, i16 12229, i16 6602, i16 0, i16 7865, i16 832, i16 4007, i16 0, i16 0, i16 3999, i16 4000, i16 0, i16 2066, i16 3356, i16 7866, i16 0, i16 7867, i16 4005, i16 4004, i16 7868, i16 0, i16 0, i16 2734, i16 0, i16 0, i16 0, i16 7869, i16 0, i16 0, i16 0, i16 4006, i16 0, i16 7870, i16 4003, i16 7871, i16 7872, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 0, i16 687, i16 7156, i16 7157, i16 7158, i16 7159, i16 7160, i16 7161, i16 7162, i16 7163, i16 7164, i16 7165, i16 7166, i16 0, i16 7167, i16 7168, i16 2490, i16 4430, i16 0, i16 0, i16 8646, i16 1277, i16 4440, i16 2262, i16 908, i16 4434, i16 1021, i16 4439, i16 0, i16 8647, i16 0, i16 1326, i16 0, i16 4436, i16 0, i16 8648, i16 0, i16 8649, i16 0, i16 0, i16 0, i16 0, i16 4442, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12475, i16 6705, i16 6707, i16 0, i16 12476, i16 6706, i16 12477, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1724, i16 0, i16 0, i16 3792, i16 0, i16 9136, i16 0, i16 9137, i16 1481, i16 3484, i16 0, i16 3283, i16 0, i16 3189, i16 9138, i16 4756, i16 0, i16 0, i16 0, i16 9139, i16 1768, i16 2656, i16 4757, i16 3674, i16 0, i16 9140, i16 0, i16 3313, i16 9141, i16 2636, i16 4758, i16 1213, i16 8124, i16 4126, i16 0, i16 0, i16 2698, i16 0, i16 8125, i16 8126, i16 0, i16 0, i16 1135, i16 0, i16 0, i16 8127, i16 0, i16 7095, i16 904, i16 3272, i16 8128, i16 0, i16 2137, i16 2759, i16 0, i16 0, i16 0, i16 8129, i16 1755, i16 0, i16 0, i16 4132, i16 0, i16 8130, i16 5309, i16 0, i16 3122, i16 5310, i16 10082, i16 0, i16 1125, i16 5311, i16 10083, i16 5312, i16 10084, i16 10085, i16 0, i16 0, i16 5313, i16 10086, i16 5315, i16 5316, i16 5314, i16 0, i16 10087, i16 0, i16 3146, i16 5318, i16 5317, i16 0, i16 10088, i16 10089, i16 10090, i16 0, i16 0, i16 10091, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 1470, i16 2526, i16 5138, i16 2934, i16 0, i16 9713, i16 5145, i16 9714, i16 9715, i16 0, i16 9716, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5150, i16 5148, i16 0, i16 0, i16 5151, i16 0, i16 9717, i16 5154, i16 0, i16 0, i16 9718, i16 5147, i16 7873, i16 7874, i16 0, i16 0, i16 859, i16 7875, i16 1707, i16 2171, i16 7876, i16 7877, i16 0, i16 0, i16 7878, i16 7879, i16 7880, i16 4001, i16 2785, i16 0, i16 0, i16 0, i16 4002, i16 7881, i16 747, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1474, i16 1874, i16 0, i16 1362, i16 9412, i16 0, i16 0, i16 937, i16 9413, i16 0, i16 0, i16 9414, i16 9415, i16 0, i16 0, i16 9416, i16 0, i16 0, i16 3534, i16 0, i16 0, i16 9417, i16 9418, i16 4956, i16 4955, i16 4958, i16 1244, i16 9419, i16 0, i16 1363, i16 1151, i16 9420, i16 3523, i16 3682, i16 0, i16 1636, i16 5824, i16 1925, i16 5823, i16 10884, i16 10885, i16 0, i16 10886, i16 5825, i16 1882, i16 10887, i16 10888, i16 10889, i16 2486, i16 10890, i16 5826, i16 10891, i16 10892, i16 1635, i16 10893, i16 3432, i16 5827, i16 5828, i16 0, i16 0, i16 5829, i16 10894, i16 10895, i16 10896, i16 11971, i16 11972, i16 6492, i16 11973, i16 1104, i16 6491, i16 6496, i16 11974, i16 0, i16 6495, i16 0, i16 0, i16 6494, i16 2737, i16 6497, i16 11975, i16 0, i16 11976, i16 11977, i16 11978, i16 11979, i16 11980, i16 0, i16 6498, i16 11981, i16 0, i16 0, i16 0, i16 6499, i16 11982, i16 11983, i16 1667, i16 3012, i16 10118, i16 3108, i16 0, i16 5339, i16 3577, i16 1448, i16 5340, i16 0, i16 5338, i16 3055, i16 5341, i16 0, i16 5342, i16 0, i16 10119, i16 804, i16 10120, i16 0, i16 2147, i16 5347, i16 0, i16 5344, i16 2890, i16 5343, i16 10121, i16 10122, i16 10123, i16 10124, i16 10125, i16 10126, i16 1221, i16 4804, i16 1472, i16 1446, i16 2796, i16 9208, i16 9209, i16 4802, i16 0, i16 783, i16 0, i16 9210, i16 0, i16 9211, i16 4805, i16 4807, i16 0, i16 1354, i16 1415, i16 9193, i16 1149, i16 1258, i16 9212, i16 0, i16 9213, i16 9214, i16 4810, i16 0, i16 9215, i16 1774, i16 3364, i16 0, i16 1802, i16 8900, i16 759, i16 0, i16 4625, i16 0, i16 8901, i16 0, i16 0, i16 0, i16 4622, i16 8902, i16 0, i16 8903, i16 0, i16 1209, i16 0, i16 0, i16 0, i16 8904, i16 8905, i16 910, i16 8906, i16 4628, i16 0, i16 8907, i16 8908, i16 3512, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2501, i16 2430, i16 12015, i16 2821, i16 12016, i16 6516, i16 1268, i16 0, i16 12017, i16 0, i16 0, i16 6525, i16 12018, i16 6522, i16 6535, i16 2822, i16 2595, i16 6519, i16 0, i16 2719, i16 2770, i16 6520, i16 6524, i16 2219, i16 12019, i16 2978, i16 2669, i16 12020, i16 0, i16 2283, i16 6523, i16 2451, i16 4550, i16 8780, i16 0, i16 8781, i16 8782, i16 0, i16 0, i16 8783, i16 4551, i16 4552, i16 3263, i16 0, i16 4554, i16 4553, i16 1998, i16 0, i16 2263, i16 1003, i16 1025, i16 8784, i16 4555, i16 8785, i16 776, i16 0, i16 0, i16 0, i16 2293, i16 4556, i16 8786, i16 6377, i16 4557, i16 1468, i16 12230, i16 12231, i16 3014, i16 0, i16 6606, i16 12232, i16 2125, i16 12233, i16 12234, i16 12235, i16 0, i16 0, i16 0, i16 0, i16 12236, i16 12237, i16 12238, i16 1650, i16 0, i16 0, i16 0, i16 12239, i16 12240, i16 12241, i16 12242, i16 12243, i16 0, i16 12244, i16 12245, i16 12246, i16 3323, i16 12247, i16 1479, i16 11505, i16 6195, i16 11506, i16 6194, i16 11507, i16 1983, i16 0, i16 11508, i16 11509, i16 11510, i16 11511, i16 1643, i16 5033, i16 11512, i16 0, i16 0, i16 11513, i16 6196, i16 2016, i16 0, i16 11514, i16 11515, i16 1052, i16 11516, i16 6197, i16 11517, i16 889, i16 11518, i16 2116, i16 6198, i16 11519, i16 968, i16 0, i16 0, i16 3649, i16 7705, i16 7706, i16 7707, i16 7708, i16 0, i16 2052, i16 2775, i16 1660, i16 3900, i16 3901, i16 0, i16 7709, i16 7710, i16 3634, i16 0, i16 0, i16 3670, i16 3903, i16 7711, i16 7712, i16 7713, i16 1587, i16 7714, i16 7715, i16 3902, i16 7716, i16 1042, i16 0, i16 1224, i16 0, i16 10478, i16 10479, i16 0, i16 0, i16 0, i16 10480, i16 5531, i16 10481, i16 10482, i16 2713, i16 10483, i16 5532, i16 2288, i16 0, i16 0, i16 10484, i16 0, i16 0, i16 3390, i16 10485, i16 0, i16 3098, i16 5533, i16 5534, i16 2584, i16 10486, i16 3604, i16 0, i16 10487, i16 5536, i16 2248, i16 1192, i16 0, i16 0, i16 3497, i16 1010, i16 1991, i16 1556, i16 0, i16 6739, i16 12524, i16 6738, i16 1862, i16 6740, i16 6737, i16 0, i16 0, i16 1787, i16 12525, i16 0, i16 0, i16 6744, i16 6167, i16 0, i16 12527, i16 3952, i16 12528, i16 2242, i16 6742, i16 12529, i16 12530, i16 12531, i16 1225, i16 0, i16 5685, i16 10699, i16 3460, i16 1631, i16 5684, i16 10700, i16 10701, i16 10702, i16 5688, i16 3447, i16 0, i16 2935, i16 0, i16 10703, i16 3114, i16 10704, i16 10705, i16 10706, i16 2034, i16 5687, i16 10707, i16 1924, i16 1632, i16 1849, i16 1288, i16 3211, i16 5686, i16 10708, i16 10709, i16 0, i16 1737, i16 5235, i16 5234, i16 0, i16 9880, i16 0, i16 0, i16 5236, i16 0, i16 9881, i16 0, i16 0, i16 0, i16 9882, i16 9883, i16 0, i16 0, i16 0, i16 5237, i16 9884, i16 0, i16 0, i16 5238, i16 0, i16 0, i16 0, i16 0, i16 9885, i16 0, i16 0, i16 0, i16 0, i16 1993, i16 2201, i16 3740, i16 7401, i16 3738, i16 0, i16 3739, i16 1271, i16 0, i16 0, i16 1688, i16 1013, i16 0, i16 3737, i16 3736, i16 3198, i16 7402, i16 0, i16 0, i16 0, i16 1817, i16 1816, i16 2467, i16 3741, i16 3148, i16 2320, i16 7403, i16 7404, i16 0, i16 245, i16 3742, i16 3744, i16 10953, i16 0, i16 0, i16 5870, i16 10954, i16 0, i16 0, i16 10955, i16 0, i16 5869, i16 0, i16 0, i16 10956, i16 0, i16 0, i16 5871, i16 10957, i16 2537, i16 0, i16 2937, i16 0, i16 10958, i16 0, i16 0, i16 0, i16 2642, i16 10959, i16 0, i16 10960, i16 0, i16 5875, i16 0, i16 714, i16 725, i16 715, i16 726, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 716, i16 0, i16 0, i16 727, i16 717, i16 0, i16 0, i16 728, i16 719, i16 0, i16 0, i16 730, i16 718, i16 0, i16 0, i16 729, i16 720, i16 741, i16 0, i16 0, i16 2762, i16 1913, i16 8396, i16 8397, i16 2399, i16 3561, i16 0, i16 8398, i16 8399, i16 8400, i16 0, i16 0, i16 4278, i16 8401, i16 4279, i16 2867, i16 8402, i16 1798, i16 0, i16 0, i16 8403, i16 8404, i16 4281, i16 0, i16 0, i16 4282, i16 8405, i16 8406, i16 8407, i16 8408, i16 0, i16 0, i16 8650, i16 4444, i16 4454, i16 4452, i16 0, i16 0, i16 4449, i16 8651, i16 8652, i16 8653, i16 4448, i16 3653, i16 8654, i16 4450, i16 0, i16 0, i16 1327, i16 8655, i16 1608, i16 0, i16 8656, i16 2057, i16 8657, i16 8658, i16 0, i16 4457, i16 4443, i16 0, i16 0, i16 8659, i16 0, i16 4447, i16 6348, i16 11745, i16 0, i16 1809, i16 11746, i16 11747, i16 0, i16 0, i16 0, i16 0, i16 4696, i16 11748, i16 6349, i16 11749, i16 6350, i16 11750, i16 1985, i16 0, i16 6351, i16 6352, i16 11751, i16 11752, i16 6353, i16 0, i16 0, i16 6354, i16 6355, i16 0, i16 11753, i16 0, i16 11754, i16 11755, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 482, i16 483, i16 484, i16 485, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 10190, i16 10191, i16 3602, i16 10192, i16 10193, i16 10194, i16 5392, i16 5390, i16 5391, i16 10195, i16 10189, i16 10196, i16 1187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3471, i16 0, i16 0, i16 10197, i16 3231, i16 0, i16 5394, i16 10198, i16 0, i16 0, i16 5393, i16 0, i16 0, i16 10199, i16 11214, i16 6043, i16 11215, i16 0, i16 2594, i16 0, i16 6044, i16 11216, i16 11217, i16 3525, i16 6033, i16 1051, i16 11218, i16 6039, i16 0, i16 11219, i16 6042, i16 3389, i16 0, i16 11220, i16 0, i16 0, i16 6045, i16 0, i16 0, i16 6038, i16 6041, i16 0, i16 11221, i16 0, i16 0, i16 0, i16 8145, i16 8146, i16 0, i16 1322, i16 0, i16 4134, i16 0, i16 8147, i16 8148, i16 8149, i16 8150, i16 0, i16 8151, i16 8152, i16 0, i16 8153, i16 8154, i16 0, i16 0, i16 3261, i16 8155, i16 0, i16 8156, i16 2436, i16 0, i16 0, i16 0, i16 0, i16 2663, i16 8157, i16 0, i16 4136, i16 9937, i16 0, i16 0, i16 2002, i16 0, i16 0, i16 9938, i16 9939, i16 5269, i16 9940, i16 5268, i16 9941, i16 9942, i16 0, i16 9943, i16 9944, i16 5270, i16 9945, i16 1072, i16 0, i16 0, i16 5272, i16 0, i16 9946, i16 5271, i16 9947, i16 5274, i16 5273, i16 9948, i16 0, i16 0, i16 0, i16 11986, i16 11987, i16 0, i16 6505, i16 11988, i16 11989, i16 11990, i16 3899, i16 3898, i16 0, i16 0, i16 0, i16 0, i16 6506, i16 5764, i16 6507, i16 2535, i16 2166, i16 2939, i16 0, i16 0, i16 11991, i16 11992, i16 6508, i16 11993, i16 0, i16 3242, i16 2677, i16 1685, i16 0, i16 11994, i16 2540, i16 3539, i16 0, i16 0, i16 0, i16 9581, i16 5066, i16 5060, i16 5057, i16 9582, i16 0, i16 9583, i16 3617, i16 5063, i16 0, i16 9584, i16 9585, i16 0, i16 2009, i16 5065, i16 0, i16 0, i16 5070, i16 9586, i16 0, i16 2800, i16 5068, i16 0, i16 9587, i16 0, i16 9588, i16 5062, i16 9589, i16 1236, i16 0, i16 3722, i16 0, i16 0, i16 3723, i16 3592, i16 0, i16 3500, i16 2415, i16 3725, i16 1865, i16 2896, i16 7395, i16 3728, i16 0, i16 0, i16 869, i16 1560, i16 0, i16 1559, i16 815, i16 7396, i16 7397, i16 3702, i16 3701, i16 0, i16 1704, i16 746, i16 7398, i16 3729, i16 3730, i16 8916, i16 0, i16 8917, i16 0, i16 8918, i16 8919, i16 4634, i16 0, i16 4638, i16 8920, i16 8921, i16 0, i16 3035, i16 2794, i16 0, i16 8922, i16 8923, i16 0, i16 0, i16 0, i16 4631, i16 8924, i16 4635, i16 0, i16 0, i16 0, i16 1443, i16 0, i16 0, i16 8925, i16 1766, i16 8926, i16 9428, i16 4968, i16 1842, i16 2270, i16 1686, i16 0, i16 3175, i16 9429, i16 0, i16 3255, i16 3695, i16 9430, i16 0, i16 0, i16 9431, i16 1864, i16 9432, i16 0, i16 0, i16 1733, i16 3647, i16 9433, i16 0, i16 0, i16 4969, i16 4970, i16 0, i16 1843, i16 0, i16 9434, i16 9435, i16 4971, i16 12756, i16 0, i16 12757, i16 12758, i16 12759, i16 0, i16 0, i16 12760, i16 2482, i16 0, i16 0, i16 6870, i16 0, i16 12761, i16 12762, i16 0, i16 2826, i16 0, i16 0, i16 12763, i16 0, i16 12764, i16 12765, i16 6871, i16 12766, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6876, i16 0, i16 7381, i16 7382, i16 3719, i16 2928, i16 7383, i16 1270, i16 0, i16 7384, i16 0, i16 0, i16 0, i16 2930, i16 0, i16 2880, i16 1532, i16 3302, i16 0, i16 7385, i16 0, i16 0, i16 0, i16 6101, i16 3720, i16 2133, i16 3721, i16 954, i16 7386, i16 0, i16 7387, i16 1378, i16 1577, i16 3450, i16 1238, i16 3818, i16 3819, i16 7595, i16 948, i16 0, i16 7596, i16 7597, i16 7598, i16 3817, i16 0, i16 7599, i16 7600, i16 7601, i16 7602, i16 0, i16 7604, i16 0, i16 1957, i16 0, i16 3822, i16 3821, i16 3820, i16 7605, i16 3764, i16 7606, i16 3823, i16 7607, i16 7608, i16 7609, i16 7610, i16 2061, i16 10967, i16 10968, i16 0, i16 0, i16 0, i16 5881, i16 5882, i16 10969, i16 10970, i16 10971, i16 0, i16 1953, i16 0, i16 10972, i16 5880, i16 10973, i16 1679, i16 5879, i16 0, i16 0, i16 5883, i16 0, i16 0, i16 10974, i16 2643, i16 3191, i16 2346, i16 0, i16 0, i16 0, i16 0, i16 2497, i16 3800, i16 7547, i16 0, i16 7548, i16 7549, i16 3802, i16 7550, i16 0, i16 0, i16 0, i16 7551, i16 0, i16 0, i16 3304, i16 7552, i16 7553, i16 7554, i16 1473, i16 7555, i16 7556, i16 7557, i16 0, i16 7558, i16 0, i16 1796, i16 3088, i16 3801, i16 7559, i16 7560, i16 0, i16 7561, i16 7562, i16 4569, i16 0, i16 0, i16 4567, i16 8807, i16 0, i16 0, i16 0, i16 4570, i16 0, i16 0, i16 0, i16 0, i16 8808, i16 3206, i16 8809, i16 0, i16 768, i16 0, i16 8810, i16 0, i16 0, i16 3157, i16 0, i16 0, i16 3068, i16 8811, i16 0, i16 4571, i16 8812, i16 4574, i16 2082, i16 4825, i16 9235, i16 2092, i16 9236, i16 0, i16 9237, i16 4163, i16 1569, i16 3563, i16 9238, i16 9239, i16 0, i16 0, i16 4816, i16 9240, i16 2709, i16 1030, i16 1698, i16 9241, i16 4808, i16 0, i16 4824, i16 1092, i16 0, i16 0, i16 4822, i16 4826, i16 9242, i16 2797, i16 0, i16 0, i16 0, i16 9177, i16 2477, i16 9178, i16 9179, i16 3222, i16 9180, i16 4798, i16 0, i16 9181, i16 9182, i16 3097, i16 0, i16 0, i16 0, i16 4797, i16 2987, i16 3314, i16 1148, i16 9183, i16 2336, i16 1999, i16 0, i16 0, i16 9184, i16 2676, i16 9185, i16 3485, i16 0, i16 9186, i16 4793, i16 4792, i16 0, i16 1242, i16 0, i16 4572, i16 4579, i16 2083, i16 0, i16 0, i16 0, i16 0, i16 4573, i16 2943, i16 0, i16 0, i16 8813, i16 8814, i16 8815, i16 8816, i16 3533, i16 4575, i16 4576, i16 4580, i16 2793, i16 4577, i16 1610, i16 2311, i16 0, i16 0, i16 4594, i16 3021, i16 0, i16 2519, i16 0, i16 6874, i16 12768, i16 6873, i16 6875, i16 12769, i16 6872, i16 0, i16 12767, i16 0, i16 0, i16 12770, i16 12771, i16 12772, i16 6878, i16 12773, i16 0, i16 0, i16 12774, i16 0, i16 0, i16 12775, i16 6877, i16 12776, i16 6880, i16 0, i16 0, i16 1344, i16 6879, i16 0, i16 12777, i16 0, i16 6881, i16 11995, i16 11996, i16 849, i16 0, i16 3371, i16 2210, i16 11997, i16 0, i16 0, i16 0, i16 11998, i16 11999, i16 0, i16 12000, i16 1465, i16 0, i16 12001, i16 1374, i16 12002, i16 12003, i16 3243, i16 12004, i16 0, i16 0, i16 0, i16 0, i16 6509, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1245, i16 0, i16 5239, i16 0, i16 0, i16 0, i16 0, i16 5240, i16 9886, i16 0, i16 0, i16 0, i16 1501, i16 9887, i16 9888, i16 3041, i16 0, i16 9889, i16 5242, i16 0, i16 9890, i16 0, i16 2146, i16 0, i16 0, i16 5241, i16 0, i16 0, i16 0, i16 0, i16 9891, i16 0, i16 7901, i16 7902, i16 0, i16 4010, i16 7903, i16 0, i16 7904, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4025, i16 4030, i16 0, i16 4026, i16 7905, i16 9949, i16 9950, i16 0, i16 9951, i16 1525, i16 9952, i16 9953, i16 3573, i16 0, i16 1353, i16 0, i16 939, i16 0, i16 0, i16 9954, i16 0, i16 9955, i16 0, i16 0, i16 9956, i16 0, i16 9957, i16 1383, i16 9958, i16 9959, i16 0, i16 0, i16 0, i16 9960, i16 0, i16 9961, i16 9962, i16 222, i16 223, i16 224, i16 244, i16 0, i16 246, i16 247, i16 248, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 324, i16 329, i16 265, i16 266, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 254, i16 0, i16 0, i16 0, i16 4062, i16 0, i16 0, i16 0, i16 7982, i16 7983, i16 4061, i16 1064, i16 7984, i16 0, i16 4063, i16 7985, i16 7986, i16 0, i16 0, i16 4066, i16 0, i16 0, i16 0, i16 0, i16 4065, i16 7987, i16 0, i16 0, i16 0, i16 7988, i16 7989, i16 0, i16 0, i16 7990, i16 7991, i16 7992, i16 8158, i16 8159, i16 8160, i16 0, i16 0, i16 0, i16 8161, i16 0, i16 3330, i16 8162, i16 0, i16 4137, i16 0, i16 0, i16 4142, i16 0, i16 0, i16 8163, i16 8164, i16 3204, i16 0, i16 0, i16 0, i16 0, i16 4141, i16 4135, i16 4138, i16 4140, i16 8166, i16 0, i16 1691, i16 0, i16 10718, i16 10719, i16 1977, i16 1527, i16 2383, i16 5689, i16 5695, i16 10720, i16 10721, i16 0, i16 0, i16 5690, i16 1451, i16 10722, i16 5698, i16 5702, i16 1478, i16 10723, i16 0, i16 10724, i16 0, i16 0, i16 5697, i16 10725, i16 0, i16 10726, i16 10727, i16 5706, i16 10728, i16 10729, i16 1633, i16 0, i16 736, i16 0, i16 0, i16 731, i16 722, i16 743, i16 0, i16 0, i16 738, i16 0, i16 0, i16 733, i16 721, i16 0, i16 0, i16 737, i16 742, i16 0, i16 0, i16 732, i16 723, i16 0, i16 0, i16 739, i16 744, i16 0, i16 0, i16 734, i16 724, i16 0, i16 0, i16 740, i16 2784, i16 7664, i16 7665, i16 2202, i16 3871, i16 7666, i16 3201, i16 2307, i16 1123, i16 0, i16 1130, i16 3872, i16 0, i16 0, i16 3874, i16 0, i16 0, i16 1429, i16 7667, i16 7668, i16 3873, i16 7669, i16 7670, i16 3648, i16 7671, i16 0, i16 0, i16 0, i16 0, i16 2040, i16 0, i16 0, i16 4064, i16 0, i16 2932, i16 0, i16 0, i16 4067, i16 7993, i16 7994, i16 7995, i16 7996, i16 0, i16 7997, i16 7998, i16 7999, i16 4068, i16 0, i16 0, i16 8000, i16 0, i16 8001, i16 4070, i16 0, i16 4069, i16 8002, i16 0, i16 0, i16 0, i16 0, i16 4072, i16 0, i16 8003, i16 0, i16 8416, i16 945, i16 8417, i16 8418, i16 0, i16 0, i16 8419, i16 0, i16 2370, i16 1189, i16 8420, i16 4287, i16 3385, i16 0, i16 0, i16 0, i16 0, i16 2487, i16 8421, i16 1084, i16 8422, i16 8423, i16 4289, i16 4291, i16 1184, i16 0, i16 8424, i16 4288, i16 4290, i16 0, i16 4293, i16 0, i16 9441, i16 0, i16 9442, i16 9443, i16 4979, i16 0, i16 0, i16 0, i16 9444, i16 9445, i16 4980, i16 4981, i16 9446, i16 9447, i16 9448, i16 4982, i16 9449, i16 4984, i16 4983, i16 4985, i16 938, i16 2573, i16 0, i16 4986, i16 9450, i16 9451, i16 1785, i16 1071, i16 4987, i16 9452, i16 9453, i16 2753, i16 12257, i16 0, i16 0, i16 0, i16 12258, i16 12259, i16 0, i16 12260, i16 12261, i16 0, i16 0, i16 12262, i16 0, i16 2355, i16 0, i16 12263, i16 0, i16 0, i16 12264, i16 0, i16 0, i16 0, i16 12265, i16 6619, i16 12266, i16 6618, i16 12267, i16 12268, i16 12269, i16 12270, i16 0, i16 12271, i16 10469, i16 5529, i16 10470, i16 5530, i16 2980, i16 10471, i16 2188, i16 5527, i16 0, i16 2596, i16 10472, i16 10473, i16 5528, i16 10474, i16 0, i16 0, i16 2107, i16 10475, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10476, i16 0, i16 0, i16 805, i16 10477, i16 0, i16 0, i16 0, i16 12005, i16 0, i16 6511, i16 12006, i16 12007, i16 6510, i16 997, i16 0, i16 12008, i16 2899, i16 6512, i16 2994, i16 0, i16 2738, i16 12009, i16 6513, i16 2017, i16 12010, i16 0, i16 0, i16 6515, i16 12011, i16 12012, i16 3411, i16 6530, i16 6517, i16 6518, i16 12013, i16 0, i16 2666, i16 12014, i16 0, i16 1254, i16 0, i16 12579, i16 6786, i16 0, i16 0, i16 6785, i16 0, i16 6784, i16 0, i16 0, i16 6329, i16 12580, i16 3249, i16 12581, i16 0, i16 0, i16 12582, i16 12583, i16 6787, i16 6788, i16 12584, i16 12585, i16 0, i16 12586, i16 12587, i16 12588, i16 0, i16 12589, i16 0, i16 12590, i16 12591, i16 9702, i16 5142, i16 0, i16 5141, i16 5143, i16 9703, i16 9704, i16 9705, i16 9706, i16 0, i16 5146, i16 0, i16 0, i16 0, i16 9707, i16 9708, i16 9709, i16 2754, i16 0, i16 5140, i16 0, i16 9710, i16 9711, i16 0, i16 0, i16 5144, i16 0, i16 0, i16 9712, i16 0, i16 0, i16 0, i16 2280, i16 6299, i16 0, i16 6304, i16 1574, i16 6301, i16 6302, i16 11686, i16 6298, i16 11687, i16 0, i16 0, i16 2315, i16 2854, i16 11688, i16 11689, i16 2546, i16 0, i16 994, i16 11690, i16 0, i16 0, i16 11691, i16 11692, i16 0, i16 3081, i16 0, i16 11693, i16 1250, i16 0, i16 11694, i16 2645, i16 10216, i16 0, i16 10217, i16 10218, i16 10219, i16 10220, i16 10221, i16 10222, i16 10223, i16 0, i16 10224, i16 0, i16 0, i16 10225, i16 3074, i16 0, i16 5416, i16 0, i16 0, i16 0, i16 5417, i16 0, i16 0, i16 7073, i16 5418, i16 5419, i16 5420, i16 0, i16 0, i16 10226, i16 0, i16 1793, i16 6633, i16 0, i16 0, i16 0, i16 12337, i16 12338, i16 0, i16 12339, i16 0, i16 12340, i16 12341, i16 0, i16 1416, i16 12342, i16 6635, i16 12343, i16 12344, i16 12345, i16 0, i16 12346, i16 12347, i16 1513, i16 12348, i16 0, i16 0, i16 0, i16 12349, i16 0, i16 6634, i16 12350, i16 2126, i16 12351, i16 8938, i16 8939, i16 0, i16 8940, i16 0, i16 0, i16 0, i16 4640, i16 0, i16 3347, i16 0, i16 0, i16 0, i16 8941, i16 0, i16 4641, i16 0, i16 0, i16 0, i16 8942, i16 8943, i16 0, i16 4642, i16 0, i16 3423, i16 0, i16 2251, i16 8944, i16 0, i16 8945, i16 0, i16 0, i16 235, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 269, i16 256, i16 270, i16 7109, i16 0, i16 4075, i16 4073, i16 4071, i16 4074, i16 0, i16 8004, i16 0, i16 0, i16 4076, i16 8005, i16 8006, i16 8007, i16 8010, i16 8011, i16 4077, i16 8008, i16 8009, i16 4078, i16 0, i16 4079, i16 0, i16 0, i16 0, i16 4080, i16 3841, i16 8012, i16 1965, i16 1824, i16 8013, i16 8014, i16 1016, i16 8015, i16 6891, i16 12790, i16 0, i16 12791, i16 2236, i16 0, i16 12792, i16 0, i16 12793, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12794, i16 6892, i16 12795, i16 6893, i16 12796, i16 6894, i16 6895, i16 12797, i16 12798, i16 12799, i16 1657, i16 0, i16 0, i16 12800, i16 12801, i16 0, i16 6896, i16 6897, i16 9963, i16 0, i16 9964, i16 0, i16 0, i16 9965, i16 9966, i16 0, i16 0, i16 1186, i16 9967, i16 9968, i16 0, i16 9969, i16 0, i16 0, i16 0, i16 0, i16 3637, i16 5276, i16 0, i16 9970, i16 0, i16 9971, i16 0, i16 9972, i16 0, i16 5278, i16 9973, i16 9974, i16 0, i16 9975, i16 7405, i16 7406, i16 7407, i16 2506, i16 3630, i16 787, i16 0, i16 0, i16 7408, i16 0, i16 0, i16 0, i16 0, i16 3743, i16 963, i16 7409, i16 1345, i16 7410, i16 2602, i16 7411, i16 0, i16 7412, i16 1482, i16 3745, i16 0, i16 0, i16 0, i16 2911, i16 0, i16 7413, i16 7414, i16 7415, i16 494, i16 495, i16 496, i16 497, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 232, i16 233, i16 242, i16 243, i16 0, i16 750, i16 3137, i16 3994, i16 0, i16 3990, i16 0, i16 7861, i16 3985, i16 3991, i16 1725, i16 7862, i16 0, i16 0, i16 7863, i16 7864, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3998, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12272, i16 12273, i16 12274, i16 12275, i16 0, i16 12276, i16 12277, i16 12278, i16 12279, i16 0, i16 0, i16 12280, i16 12281, i16 12282, i16 12283, i16 6617, i16 12284, i16 0, i16 3298, i16 12285, i16 0, i16 12286, i16 0, i16 12287, i16 12288, i16 12289, i16 0, i16 0, i16 12290, i16 12291, i16 0, i16 12292, i16 1009, i16 6386, i16 3667, i16 2659, i16 3696, i16 11796, i16 11797, i16 1860, i16 6385, i16 11798, i16 2454, i16 11799, i16 0, i16 6402, i16 2351, i16 11800, i16 0, i16 2901, i16 0, i16 3143, i16 0, i16 11802, i16 11801, i16 0, i16 0, i16 11803, i16 6389, i16 1810, i16 1861, i16 11804, i16 2123, i16 0, i16 4849, i16 4836, i16 0, i16 4846, i16 0, i16 9254, i16 0, i16 4840, i16 9255, i16 0, i16 9256, i16 9257, i16 9258, i16 9259, i16 2180, i16 4850, i16 9260, i16 9261, i16 2268, i16 0, i16 0, i16 9262, i16 9263, i16 0, i16 0, i16 4848, i16 1150, i16 9264, i16 9265, i16 9266, i16 0, i16 0, i16 13041, i16 0, i16 0, i16 0, i16 0, i16 13042, i16 7028, i16 13043, i16 0, i16 13044, i16 0, i16 13045, i16 0, i16 7029, i16 13046, i16 7030, i16 13047, i16 0, i16 3700, i16 13048, i16 13049, i16 0, i16 0, i16 0, i16 7027, i16 2512, i16 1762, i16 0, i16 0, i16 7031, i16 13050, i16 0, i16 6130, i16 0, i16 3293, i16 6131, i16 11395, i16 11396, i16 6128, i16 11397, i16 6129, i16 6134, i16 6137, i16 11398, i16 0, i16 6135, i16 11399, i16 11400, i16 11401, i16 6133, i16 6127, i16 11402, i16 11403, i16 0, i16 0, i16 0, i16 2587, i16 11404, i16 6144, i16 0, i16 3387, i16 0, i16 11405, i16 11406, i16 4083, i16 8027, i16 8028, i16 3253, i16 4085, i16 0, i16 0, i16 8029, i16 4087, i16 4086, i16 8030, i16 4088, i16 8031, i16 4089, i16 0, i16 1490, i16 0, i16 8032, i16 903, i16 4090, i16 0, i16 8033, i16 4092, i16 0, i16 4091, i16 0, i16 8034, i16 8035, i16 4094, i16 8036, i16 0, i16 2777, i16 3830, i16 829, i16 7623, i16 1518, i16 1430, i16 1995, i16 2622, i16 1313, i16 2321, i16 1584, i16 7624, i16 1669, i16 3832, i16 3417, i16 2757, i16 7625, i16 1868, i16 0, i16 3831, i16 7626, i16 3833, i16 7627, i16 0, i16 7628, i16 7629, i16 0, i16 2781, i16 0, i16 1112, i16 0, i16 0, i16 7630, i16 3320, i16 897, i16 811, i16 0, i16 2818, i16 11714, i16 11715, i16 6321, i16 0, i16 0, i16 11721, i16 11716, i16 6320, i16 0, i16 2883, i16 0, i16 6325, i16 11717, i16 0, i16 0, i16 6314, i16 0, i16 6324, i16 6326, i16 0, i16 1509, i16 6322, i16 1645, i16 11718, i16 1926, i16 11719, i16 11720, i16 3576, i16 1731, i16 2552, i16 4614, i16 8885, i16 2309, i16 8886, i16 1612, i16 2223, i16 909, i16 2371, i16 4612, i16 1252, i16 8887, i16 8888, i16 8889, i16 0, i16 0, i16 1442, i16 0, i16 2672, i16 4618, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2406, i16 0, i16 8890, i16 4621, i16 0, i16 7416, i16 1196, i16 7417, i16 7418, i16 0, i16 0, i16 0, i16 0, i16 7419, i16 3746, i16 788, i16 7420, i16 7421, i16 1561, i16 1197, i16 3185, i16 3019, i16 1272, i16 7422, i16 0, i16 0, i16 7423, i16 7424, i16 7425, i16 0, i16 7426, i16 1014, i16 0, i16 3781, i16 2752, i16 0, i16 0, i16 1529, i16 0, i16 2716, i16 6278, i16 11631, i16 11632, i16 0, i16 11633, i16 1458, i16 0, i16 2209, i16 0, i16 6281, i16 0, i16 2817, i16 11634, i16 6280, i16 11635, i16 11636, i16 1420, i16 11637, i16 11638, i16 6279, i16 2524, i16 1228, i16 0, i16 0, i16 6282, i16 0, i16 6283, i16 11639, i16 2118, i16 2041, i16 4564, i16 8795, i16 8796, i16 8797, i16 0, i16 8798, i16 2329, i16 6559, i16 3067, i16 0, i16 1947, i16 8799, i16 1730, i16 4565, i16 0, i16 8800, i16 8801, i16 8802, i16 2476, i16 8803, i16 3196, i16 8804, i16 0, i16 2518, i16 0, i16 8805, i16 4568, i16 8806, i16 0, i16 4566, i16 0, i16 10235, i16 5426, i16 0, i16 1159, i16 3056, i16 5427, i16 10236, i16 5428, i16 10237, i16 0, i16 5429, i16 0, i16 10238, i16 0, i16 3437, i16 0, i16 10239, i16 10240, i16 3430, i16 0, i16 2655, i16 0, i16 10241, i16 0, i16 2417, i16 10242, i16 0, i16 5431, i16 10243, i16 0, i16 2033, i16 0, i16 5628, i16 10657, i16 0, i16 10658, i16 5652, i16 5654, i16 0, i16 10659, i16 0, i16 10660, i16 0, i16 0, i16 5655, i16 10661, i16 10662, i16 0, i16 10663, i16 0, i16 10664, i16 3227, i16 0, i16 5656, i16 0, i16 0, i16 0, i16 10665, i16 0, i16 0, i16 10666, i16 10667, i16 3443, i16 0, i16 3325, i16 7813, i16 0, i16 0, i16 0, i16 0, i16 3062, i16 7814, i16 7815, i16 3968, i16 7816, i16 1183, i16 3963, i16 3964, i16 3966, i16 7817, i16 0, i16 7818, i16 0, i16 0, i16 7819, i16 7820, i16 3967, i16 0, i16 1274, i16 2220, i16 0, i16 3202, i16 3965, i16 3961, i16 1564, i16 0, i16 5629, i16 10622, i16 10623, i16 10624, i16 10625, i16 0, i16 10626, i16 5630, i16 0, i16 10627, i16 0, i16 10628, i16 10629, i16 5635, i16 10630, i16 10631, i16 0, i16 5624, i16 3951, i16 5631, i16 5625, i16 0, i16 0, i16 5634, i16 0, i16 10632, i16 0, i16 10633, i16 0, i16 0, i16 0, i16 5640, i16 4350, i16 0, i16 0, i16 4349, i16 4348, i16 3188, i16 0, i16 4357, i16 0, i16 8514, i16 0, i16 8512, i16 3341, i16 0, i16 4351, i16 0, i16 8513, i16 8515, i16 0, i16 0, i16 4353, i16 3358, i16 8516, i16 4352, i16 8517, i16 0, i16 0, i16 8518, i16 8519, i16 0, i16 8520, i16 4354, i16 9726, i16 5159, i16 0, i16 0, i16 0, i16 9727, i16 9728, i16 9729, i16 0, i16 5155, i16 0, i16 5156, i16 0, i16 9730, i16 0, i16 5160, i16 0, i16 5158, i16 0, i16 0, i16 0, i16 3141, i16 0, i16 9731, i16 5166, i16 0, i16 5163, i16 5162, i16 0, i16 5165, i16 2865, i16 5167, i16 3839, i16 0, i16 3840, i16 7634, i16 7635, i16 2879, i16 902, i16 0, i16 0, i16 3843, i16 1778, i16 7636, i16 3842, i16 1723, i16 7637, i16 3844, i16 5856, i16 3845, i16 3316, i16 3846, i16 0, i16 3847, i16 3848, i16 2134, i16 7638, i16 1917, i16 0, i16 0, i16 0, i16 7639, i16 0, i16 0, i16 5887, i16 10975, i16 5888, i16 5884, i16 10977, i16 10978, i16 10979, i16 0, i16 5885, i16 0, i16 5886, i16 10980, i16 0, i16 0, i16 10981, i16 1640, i16 10976, i16 0, i16 0, i16 5894, i16 0, i16 5890, i16 10982, i16 0, i16 10983, i16 0, i16 3165, i16 10984, i16 3359, i16 3103, i16 10985, i16 0, i16 120, i16 12, i16 25, i16 0, i16 0, i16 5, i16 0, i16 23, i16 156, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 17, i16 157, i16 107, i16 21, i16 147, i16 174, i16 24, i16 0, i16 3, i16 173, i16 137, i16 30, i16 88, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 143, i16 145, i16 8, i16 117, i16 132, i16 0, i16 0, i16 177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 187, i16 95, i16 182, i16 161, i16 129, i16 127, i16 97, i16 135, i16 103, i16 108, i16 83, i16 86, i16 166, i16 139, i16 89, i16 172, i16 56, i16 77, i16 106, i16 162, i16 189, i16 155, i16 41, i16 141, i16 124, i16 28, i16 74, i16 68, i16 113, i16 27, i16 67, i16 85, i16 144, i16 70, i16 126, i16 96, i16 35, i16 61, i16 190, i16 123, i16 176, i16 171, i16 148, i16 183, i16 38, i16 54, i16 142, i16 186, i16 87, i16 75, i16 94, i16 76, i16 32, i16 98, i16 163, i16 20, i16 133, i16 154, i16 66, i16 138, i16 52, i16 101, i16 44, i16 63, i16 19, i16 22, i16 164, i16 191, i16 136, i16 80, i16 65, i16 91, i16 114, i16 181, i16 51, i16 79, i16 184, i16 116, i16 151, i16 92, i16 140, i16 64, i16 167, i16 50, i16 110, i16 130, i16 192, i16 152, i16 100, i16 99, i16 36, i16 93, i16 72, i16 146, i16 131, i16 33, i16 47, i16 119, i16 7, i16 73, i16 185, i16 57, i16 160, i16 150, i16 78, i16 45, i16 118, i16 49, i16 115, i16 29, i16 31, i16 69, i16 188, i16 53, i16 149, i16 121, i16 55, i16 109, i16 82, i16 153, i16 178, i16 90, i16 122, i16 104, i16 6, i16 175, i16 60, i16 59, i16 43, i16 180, i16 125, i16 16, i16 179, i16 102, i16 134, i16 62, i16 37, i16 158, i16 71, i16 40, i16 84, i16 0, i16 1, i16 159, i16 13, i16 81, i16 111, i16 46, i16 105, i16 9, i16 128, i16 18, i16 170, i16 11, i16 15, i16 39, i16 34, i16 2, i16 48, i16 10, i16 14, i16 26, i16 58, i16 42, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 169, i16 112, i16 168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 165, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 84, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1270, i16 1950, i16 0, i16 426, i16 2786, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3365, i16 3389, i16 3410, i16 1975, i16 0, i16 2471, i16 2480, i16 2502, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2924, i16 1668, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 408, i16 0, i16 0, i16 3296, i16 0, i16 3249, i16 1864, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 141, i16 0, i16 51, i16 1513, i16 1049, i16 2968, i16 2294, i16 0, i16 1390, i16 979, i16 0, i16 1886, i16 0, i16 617, i16 0, i16 0, i16 0, i16 1282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 471, i16 2852, i16 0, i16 0, i16 0, i16 0, i16 3275, i16 2769, i16 2449, i16 0, i16 0, i16 0, i16 0, i16 693, i16 657, i16 2725, i16 1421, i16 1123, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1524, i16 2708, i16 2736, i16 2762, i16 2793, i16 2808, i16 2834, i16 2854, i16 2870, i16 2890, i16 2909, i16 2932, i16 2958, i16 2983, i16 3003, i16 3025, i16 3042, i16 3062, i16 3085, i16 3108, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2374, i16 367, i16 1664, i16 0, i16 0, i16 0, i16 0, i16 2342, i16 0, i16 0, i16 0, i16 0, i16 165, i16 2704, i16 1683, i16 0, i16 0, i16 1370, i16 0, i16 2875, i16 0, i16 2939, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1678, i16 423, i16 0, i16 2585, i16 0, i16 0, i16 0, i16 2178, i16 0, i16 0, i16 0, i16 463, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 603, i16 0, i16 3282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2510, i16 0, i16 0, i16 0, i16 2978, i16 0, i16 0, i16 0, i16 0, i16 0, i16 454, i16 3047, i16 2404, i16 0, i16 0, i16 1652, i16 0, i16 628, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1882, i16 3318, i16 2723, i16 1548, i16 2895, i16 3235, i16 3268, i16 2013, i16 0, i16 899, i16 0, i16 0, i16 2999, i16 270, i16 3031, i16 926, i16 0, i16 511, i16 0, i16 0, i16 2064, i16 271, i16 2107, i16 537, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2071, i16 1576, i16 0, i16 1014, i16 610, i16 703, i16 0, i16 89, i16 277, i16 2618, i16 2078, i16 373, i16 2562, i16 2653, i16 0, i16 20, i16 2792, i16 1006, i16 1991, i16 745, i16 0, i16 2504, i16 1920, i16 3246, i16 1187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1040, i16 538, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1639, i16 1552, i16 1656, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1084, i16 0, i16 0, i16 343, i16 947, i16 0, i16 1748, i16 0, i16 0, i16 2269, i16 1677, i16 2648, i16 0, i16 455, i16 0, i16 2224, i16 572, i16 0, i16 0, i16 0, i16 0, i16 272, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 218, i16 2385, i16 42, i16 1008, i16 2883, i16 1666, i16 3317, i16 0, i16 0, i16 0, i16 845, i16 1527, i16 0, i16 966, i16 1411, i16 2278, i16 0, i16 0, i16 0, i16 529, i16 764, i16 1103, i16 2200, i16 446, i16 1517, i16 1958, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1554, i16 2767, i16 2782, i16 2040, i16 1538, i16 0, i16 0, i16 3329, i16 0, i16 320, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2561, i16 0, i16 183, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1077, i16 1744, i16 1381, i16 0, i16 1821, i16 2017, i16 2216, i16 1487, i16 2180, i16 1772, i16 0, i16 1191, i16 0, i16 0, i16 0, i16 2697, i16 1177, i16 1167, i16 1491, i16 0, i16 0, i16 0, i16 1684, i16 1161, i16 0, i16 0, i16 261, i16 0, i16 0, i16 0, i16 0, i16 0, i16 353, i16 1482, i16 385, i16 2859, i16 2317, i16 136, i16 2314, i16 598, i16 2350, i16 2114, i16 3321, i16 177, i16 3325, i16 740, i16 1376, i16 0, i16 564, i16 3237, i16 2522, i16 0, i16 220, i16 451, i16 896, i16 985, i16 0, i16 931, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1514, i16 391, i16 2423, i16 0, i16 1547, i16 0, i16 904, i16 0, i16 3173, i16 265, i16 0, i16 1255, i16 0, i16 406, i16 3030, i16 2947, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2682, i16 0, i16 0, i16 0, i16 90, i16 1190, i16 0, i16 0, i16 0, i16 0, i16 3076, i16 3092, i16 2084, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1002, i16 3212, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3169, i16 789, i16 0, i16 3187, i16 948, i16 1953, i16 530, i16 245, i16 1845, i16 769, i16 646, i16 0, i16 670, i16 2443, i16 1563, i16 2644, i16 1508, i16 2949, i16 0, i16 0, i16 0, i16 0, i16 0, i16 330, i16 0, i16 2594, i16 2182, i16 696, i16 0, i16 0, i16 0, i16 0, i16 1906, i16 3349, i16 3372, i16 3395, i16 3415, i16 1974, i16 1997, i16 0, i16 1128, i16 2030, i16 2057, i16 2085, i16 2106, i16 2126, i16 2152, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 884, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1151, i16 0, i16 0, i16 0, i16 0, i16 907, i16 0, i16 0, i16 1164, i16 0, i16 2089, i16 328, i16 2093, i16 0, i16 1196, i16 0, i16 921, i16 0, i16 0, i16 0, i16 0, i16 929, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 910, i16 152, i16 0, i16 1679, i16 0, i16 1452, i16 0, i16 0, i16 0, i16 1992, i16 65, i16 1016, i16 259, i16 0, i16 0, i16 1174, i16 1900, i16 3026, i16 3184, i16 2125, i16 0, i16 0, i16 2720, i16 0, i16 0, i16 3373, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2737, i16 0, i16 0, i16 0, i16 1427, i16 0, i16 1750, i16 2491, i16 1564, i16 1184, i16 2996, i16 889, i16 3105, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1290, i16 0, i16 3191, i16 0, i16 2844, i16 401, i16 3231, i16 3156, i16 241, i16 1896, i16 0, i16 0, i16 0, i16 0, i16 699, i16 0, i16 1035, i16 0, i16 0, i16 2360, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1115, i16 3123, i16 1925, i16 3287, i16 0, i16 0, i16 0, i16 0, i16 1450, i16 803, i16 1267, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3280, i16 2450, i16 1696, i16 3032, i16 1377, i16 0, i16 0, i16 0, i16 568, i16 0, i16 2921, i16 2479, i16 2955, i16 2063, i16 1546, i16 1367, i16 1641, i16 0, i16 1039, i16 0, i16 0, i16 0, i16 0, i16 3264, i16 0, i16 2136, i16 0, i16 3056, i16 0, i16 0, i16 0, i16 0, i16 467, i16 0, i16 0, i16 0, i16 3041, i16 1967, i16 1980, i16 0, i16 932, i16 1066, i16 0, i16 3061, i16 3344, i16 920, i16 3399, i16 915, i16 3409, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1520, i16 3160, i16 3104, i16 973, i16 1426, i16 1893, i16 0, i16 2838, i16 0, i16 0, i16 0, i16 1137, i16 1473, i16 0, i16 1810, i16 942, i16 331, i16 0, i16 1150, i16 0, i16 43, i16 0, i16 2179, i16 1614, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 508, i16 487, i16 0, i16 0, i16 1726, i16 0, i16 734, i16 308, i16 0, i16 0, i16 2990, i16 3063, i16 2991, i16 0, i16 3011, i16 1074, i16 3210, i16 3037, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1827, i16 0, i16 897, i16 0, i16 75, i16 0, i16 0, i16 0, i16 1030, i16 462, i16 0, i16 0, i16 2414, i16 2898, i16 0, i16 0, i16 3253, i16 1468, i16 2833, i16 3273, i16 1955, i16 0, i16 127, i16 913, i16 0, i16 0, i16 507, i16 2716, i16 1126, i16 3029, i16 0, i16 3382, i16 2668, i16 0, i16 2555, i16 128, i16 0, i16 0, i16 0, i16 0, i16 1127, i16 2981, i16 1437, i16 0, i16 0, i16 0, i16 1500, i16 0, i16 0, i16 480, i16 0, i16 114, i16 0, i16 0, i16 205, i16 1655, i16 0, i16 0, i16 34, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 370, i16 500, i16 528, i16 0, i16 2690, i16 2876, i16 1477, i16 3133, i16 333, i16 0, i16 0, i16 0, i16 0, i16 1793, i16 0, i16 0, i16 1529, i16 2550, i16 1096, i16 1112, i16 1588, i16 820, i16 3267, i16 2595, i16 1977, i16 3394, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 125, i16 1589, i16 0, i16 1933, i16 847, i16 2168, i16 468, i16 0, i16 3405, i16 0, i16 0, i16 1506, i16 0, i16 0, i16 683, i16 1939, i16 2846, i16 2878, i16 2642, i16 0, i16 0, i16 2377, i16 0, i16 0, i16 2596, i16 0, i16 1532, i16 0, i16 1107, i16 0, i16 0, i16 0, i16 1919, i16 3021, i16 120, i16 0, i16 644, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2732, i16 501, i16 279, i16 2509, i16 1644, i16 1863, i16 0, i16 0, i16 395, i16 246, i16 1025, i16 626, i16 3384, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1675, i16 0, i16 2734, i16 0, i16 3140, i16 990, i16 0, i16 0, i16 2169, i16 0, i16 0, i16 1027, i16 552, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2583, i16 0, i16 3286, i16 0, i16 1212, i16 316, i16 0, i16 0, i16 2830, i16 0, i16 0, i16 0, i16 0, i16 909, i16 1229, i16 0, i16 0, i16 335, i16 0, i16 0, i16 359, i16 647, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1153, i16 0, i16 0, i16 901, i16 0, i16 0, i16 0, i16 2492, i16 2027, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3219, i16 0, i16 2744, i16 476, i16 0, i16 11, i16 243, i16 0, i16 2327, i16 3098, i16 0, i16 0, i16 0, i16 97, i16 0, i16 0, i16 0, i16 1523, i16 0, i16 0, i16 783, i16 1121, i16 3144, i16 0, i16 0, i16 0, i16 496, i16 0, i16 0, i16 0, i16 0, i16 0, i16 158, i16 0, i16 2711, i16 1954, i16 3311, i16 886, i16 239, i16 1528, i16 1343, i16 1531, i16 225, i16 0, i16 1047, i16 0, i16 2311, i16 3385, i16 607, i16 2571, i16 2130, i16 848, i16 0, i16 2750, i16 440, i16 794, i16 2102, i16 460, i16 2018, i16 2208, i16 1181, i16 0, i16 0, i16 0, i16 1755, i16 2493, i16 1397, i16 0, i16 3417, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 780, i16 206, i16 2759, i16 0, i16 0, i16 834, i16 0, i16 0, i16 672, i16 0, i16 2241, i16 1359, i16 0, i16 0, i16 584, i16 1978, i16 3009, i16 0, i16 0, i16 0, i16 1160, i16 211, i16 2666, i16 0, i16 0, i16 0, i16 0, i16 2074, i16 0, i16 0, i16 0, i16 0, i16 17, i16 2606, i16 1737, i16 202, i16 1812, i16 1007, i16 0, i16 1841, i16 1345, i16 0, i16 738, i16 1162, i16 2860, i16 1943, i16 1814, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1674, i16 2556, i16 66, i16 542, i16 1205, i16 3419, i16 0, i16 2603, i16 2500, i16 425, i16 0, i16 0, i16 278, i16 1961, i16 680, i16 0, i16 1124, i16 1758, i16 0, i16 1555, i16 1446, i16 2210, i16 1405, i16 350, i16 3028, i16 2892, i16 0, i16 0, i16 0, i16 0, i16 1826, i16 2907, i16 21, i16 558, i16 1600, i16 1932, i16 0, i16 0, i16 1779, i16 0, i16 0, i16 1295, i16 0, i16 0, i16 28, i16 1725, i16 0, i16 0, i16 0, i16 0, i16 1981, i16 0, i16 2384, i16 1942, i16 0, i16 0, i16 0, i16 0, i16 0, i16 795, i16 452, i16 0, i16 208, i16 0, i16 0, i16 3044, i16 0, i16 0, i16 0, i16 0, i16 166, i16 836, i16 340, i16 337, i16 0, i16 0, i16 1875, i16 0, i16 0, i16 1159, i16 32, i16 1879, i16 1304, i16 0, i16 414, i16 515, i16 1347, i16 365, i16 0, i16 1884, i16 1521, i16 970, i16 0, i16 0, i16 858, i16 3141, i16 0, i16 717, i16 1866, i16 0, i16 1280, i16 1791, i16 2234, i16 0, i16 1414, i16 2147, i16 0, i16 0, i16 1645, i16 0, i16 0, i16 0, i16 404, i16 0, i16 0, i16 984, i16 3122, i16 0, i16 0, i16 0, i16 145, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1803, i16 0, i16 0, i16 1651, i16 2447, i16 0, i16 0, i16 2291, i16 472, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1134, i16 838, i16 0, i16 470, i16 2650, i16 606, i16 1065, i16 0, i16 1130, i16 0, i16 0, i16 0, i16 0, i16 1374, i16 1694, i16 1572, i16 1648, i16 2386, i16 200, i16 694, i16 0, i16 2530, i16 0, i16 0, i16 1752, i16 159, i16 2351, i16 3097, i16 1410, i16 1125, i16 0, i16 0, i16 412, i16 0, i16 1556, i16 0, i16 0, i16 625, i16 0, i16 1649, i16 0, i16 2100, i16 2469, i16 0, i16 273, i16 3016, i16 0, i16 0, i16 0, i16 0, i16 0, i16 399, i16 276, i16 2646, i16 671, i16 1732, i16 1888, i16 1382, i16 57, i16 0, i16 0, i16 0, i16 0, i16 0, i16 999, i16 0, i16 0, i16 681, i16 190, i16 2424, i16 0, i16 1319, i16 1454, i16 0, i16 0, i16 539, i16 0, i16 761, i16 0, i16 2021, i16 0, i16 0, i16 2189, i16 54, i16 0, i16 0, i16 0, i16 0, i16 3073, i16 0, i16 3049, i16 1501, i16 3198, i16 0, i16 0, i16 0, i16 2802, i16 255, i16 1960, i16 0, i16 0, i16 0, i16 263, i16 0, i16 0, i16 0, i16 0, i16 3168, i16 3007, i16 784, i16 3164, i16 0, i16 0, i16 788, i16 2164, i16 1711, i16 1088, i16 1328, i16 3024, i16 0, i16 2497, i16 1825, i16 2888, i16 1003, i16 986, i16 1603, i16 0, i16 0, i16 1012, i16 2473, i16 329, i16 0, i16 0, i16 0, i16 189, i16 2254, i16 1348, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 283, i16 155, i16 0, i16 0, i16 2908, i16 1209, i16 346, i16 0, i16 2765, i16 0, i16 1957, i16 0, i16 0, i16 0, i16 828, i16 0, i16 0, i16 2807, i16 0, i16 1676, i16 0, i16 1091, i16 768, i16 0, i16 2818, i16 349, i16 1789, i16 2193, i16 0, i16 164, i16 0, i16 1171, i16 2810, i16 938, i16 1163, i16 719, i16 2554, i16 2822, i16 0, i16 1575, i16 1200, i16 0, i16 2598, i16 753, i16 2532, i16 972, i16 689, i16 0, i16 1284, i16 0, i16 0, i16 0, i16 0, i16 0, i16 64, i16 800, i16 0, i16 0, i16 0, i16 1307, i16 509, i16 106, i16 0, i16 3278, i16 819, i16 0, i16 3013, i16 1015, i16 26, i16 1631, i16 1202, i16 1117, i16 0, i16 2326, i16 0, i16 3046, i16 49, i16 0, i16 736, i16 0, i16 776, i16 1109, i16 0, i16 0, i16 3182, i16 0, i16 0, i16 0, i16 0, i16 0, i16 217, i16 510, i16 2212, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 341, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2689, i16 0, i16 0, i16 2117, i16 0, i16 0, i16 0, i16 2825, i16 1273, i16 2948, i16 0, i16 977, i16 268, i16 1266, i16 1283, i16 1369, i16 1795, i16 207, i16 1685, i16 3014, i16 497, i16 0, i16 437, i16 2505, i16 0, i16 2563, i16 0, i16 0, i16 732, i16 553, i16 1247, i16 2372, i16 0, i16 0, i16 1637, i16 3251, i16 3313, i16 1308, i16 0, i16 10, i16 2912, i16 1061, i16 131, i16 0, i16 0, i16 0, i16 2111, i16 0, i16 0, i16 0, i16 0, i16 0, i16 169, i16 0, i16 0, i16 0, i16 490, i16 642, i16 677, i16 0, i16 0, i16 180, i16 1565, i16 148, i16 569, i16 2201, i16 0, i16 315, i16 0, i16 0, i16 0, i16 1818, i16 1021, i16 0, i16 0, i16 0, i16 1244, i16 0, i16 76, i16 0, i16 3406, i16 0, i16 93, i16 0, i16 513, i16 960, i16 0, i16 859, i16 96, i16 1964, i16 0, i16 0, i16 386, i16 1629, i16 1510, i16 0, i16 2656, i16 269, i16 321, i16 0, i16 0, i16 0, i16 0, i16 3106, i16 2930, i16 1402, i16 80, i16 867, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2660, i16 368, i16 0, i16 2661, i16 2045, i16 0, i16 0, i16 0, i16 1581, i16 1544, i16 3381, i16 0, i16 2853, i16 891, i16 449, i16 2010, i16 3277, i16 0, i16 0, i16 2382, i16 2172, i16 2069, i16 2897, i16 0, i16 1773, i16 0, i16 0, i16 1291, i16 0, i16 645, i16 2135, i16 2034, i16 0, i16 0, i16 0, i16 2584, i16 772, i16 1898, i16 0, i16 0, i16 48, i16 1245, i16 1113, i16 747, i16 0, i16 0, i16 1973, i16 0, i16 0, i16 209, i16 2281, i16 1289, i16 2785, i16 0, i16 0, i16 2118, i16 176, i16 1248, i16 2037, i16 2043, i16 339, i16 3293, i16 2066, i16 86, i16 248, i16 857, i16 0, i16 0, i16 1433, i16 0, i16 0, i16 0, i16 1585, i16 2756, i16 2680, i16 1650, i16 1718, i16 0, i16 0, i16 0, i16 0, i16 0, i16 394, i16 1024, i16 1537, i16 0, i16 0, i16 3170, i16 2362, i16 40, i16 53, i16 1101, i16 0, i16 2933, i16 900, i16 1447, i16 0, i16 3179, i16 833, i16 1566, i16 1494, i16 2973, i16 0, i16 0, i16 2609, i16 0, i16 927, i16 2303, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 650, i16 0, i16 0, i16 1075, i16 235, i16 823, i16 565, i16 3079, i16 0, i16 785, i16 777, i16 186, i16 2969, i16 1860, i16 2232, i16 0, i16 873, i16 741, i16 3125, i16 3257, i16 2239, i16 0, i16 3121, i16 1242, i16 2791, i16 0, i16 0, i16 1435, i16 974, i16 1780, i16 961, i16 0, i16 0, i16 2874, i16 757, i16 0, i16 0, i16 0, i16 400, i16 1432, i16 2766, i16 3039, i16 1001, i16 1507, i16 2972, i16 0, i16 2514, i16 1512, i16 2046, i16 0, i16 0, i16 0, i16 1253, i16 0, i16 2098, i16 545, i16 2165, i16 531, i16 555, i16 0, i16 0, i16 3371, i16 0, i16 0, i16 0, i16 742, i16 0, i16 807, i16 1931, i16 0, i16 1076, i16 0, i16 2026, i16 3245, i16 0, i16 0, i16 117, i16 1467, i16 2104, i16 631, i16 0, i16 754, i16 156, i16 2258, i16 307, i16 0, i16 60, i16 0, i16 1260, i16 1371, i16 3328, i16 1870, i16 0, i16 0, i16 61, i16 1241, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 424, i16 2403, i16 2148, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1231, i16 2367, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1596, i16 3096, i16 2202, i16 363, i16 1609, i16 2710, i16 2582, i16 791, i16 2705, i16 0, i16 2543, i16 2319, i16 2558, i16 2597, i16 1, i16 2495, i16 2730, i16 0, i16 3374, i16 2485, i16 2487, i16 0, i16 581, i16 1476, i16 3359, i16 2499, i16 2719, i16 0, i16 1876, i16 3240, i16 0, i16 0, i16 2110, i16 0, i16 198, i16 1488, i16 2262, i16 140, i16 0, i16 0, i16 782, i16 3157, i16 27, i16 3136, i16 0, i16 1092, i16 0, i16 1302, i16 0, i16 1912, i16 1217, i16 0, i16 1642, i16 0, i16 2457, i16 0, i16 3400, i16 1530, i16 0, i16 0, i16 167, i16 524, i16 221, i16 0, i16 2119, i16 998, i16 461, i16 0, i16 1358, i16 1037, i16 3378, i16 3206, i16 841, i16 68, i16 1762, i16 0, i16 1756, i16 2665, i16 482, i16 1004, i16 0, i16 2501, i16 0, i16 3204, i16 918, i16 724, i16 322, i16 2401, i16 0, i16 0, i16 2412, i16 306, i16 733, i16 863, i16 0, i16 0, i16 2904, i16 0, i16 0, i16 1979, i16 0, i16 1985, i16 556, i16 3312, i16 2987, i16 3045, i16 643, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3128, i16 1729, i16 0, i16 2970, i16 161, i16 0, i16 0, i16 0, i16 0, i16 602, i16 0, i16 1682, i16 0, i16 2523, i16 0, i16 92, i16 0, i16 0, i16 583, i16 0, i16 0, i16 697, i16 1263, i16 253, i16 504, i16 0, i16 0, i16 0, i16 0, i16 1636, i16 56, i16 0, i16 0, i16 2617, i16 0, i16 0, i16 0, i16 0, i16 2960, i16 2884, i16 0, i16 1999, i16 438, i16 0, i16 0, i16 0, i16 0, i16 1116, i16 2929, i16 2605, i16 0, i16 2323, i16 774, i16 1032, i16 0, i16 2015, i16 2336, i16 0, i16 520, i16 0, i16 2016, i16 1634, i16 1182, i16 1362, i16 850, i16 2906, i16 596, i16 3274, i16 0, i16 199, i16 2242, i16 0, i16 1934, i16 0, i16 2635, i16 0, i16 1746, i16 2915, i16 0, i16 1375, i16 1118, i16 3004, i16 0, i16 477, i16 0, i16 0, i16 0, i16 0, i16 715, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3185, i16 0, i16 0, i16 0, i16 3248, i16 2541, i16 2340, i16 3258, i16 24, i16 2230, i16 1654, i16 0, i16 3421, i16 1923, i16 2565, i16 2280, i16 0, i16 3167, i16 3149, i16 895, i16 3306, i16 994, i16 2009, i16 1543, i16 2273, i16 0, i16 14, i16 814, i16 540, i16 2243, i16 1384, i16 969, i16 0, i16 2914, i16 1698, i16 0, i16 0, i16 995, i16 1119, i16 2474, i16 2855, i16 498, i16 0, i16 0, i16 2312, i16 3331, i16 2002, i16 2324, i16 0, i16 111, i16 1281, i16 410, i16 2158, i16 1404, i16 708, i16 2625, i16 0, i16 0, i16 0, i16 82, i16 1965, i16 486, i16 3228, i16 661, i16 0, i16 2961, i16 0, i16 197, i16 2842, i16 2060, i16 517, i16 1518, i16 0, i16 0, i16 1853, i16 2257, i16 3392, i16 2419, i16 251, i16 975, i16 0, i16 883, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1423, i16 0, i16 2521, i16 0, i16 2305, i16 0, i16 3380, i16 0, i16 0, i16 1054, i16 1108, i16 1842, i16 0, i16 943, i16 811, i16 2963, i16 0, i16 0, i16 0, i16 2455, i16 0, i16 1511, i16 0, i16 0, i16 1907, i16 3408, i16 2431, i16 516, i16 0, i16 238, i16 2124, i16 1483, i16 0, i16 825, i16 2271, i16 0, i16 1475, i16 1297, i16 0, i16 2001, i16 1346, i16 0, i16 0, i16 0, i16 0, i16 1387, i16 0, i16 0, i16 2629, i16 0, i16 614, i16 1274, i16 839, i16 3154, i16 1005, i16 0, i16 3189, i16 1136, i16 1000, i16 0, i16 2727, i16 2848, i16 3, i16 0, i16 112, i16 1234, i16 1459, i16 770, i16 0, i16 1828, i16 0, i16 2065, i16 0, i16 1106, i16 2444, i16 0, i16 830, i16 1457, i16 1764, i16 2604, i16 3057, i16 1098, i16 1223, i16 0, i16 362, i16 1460, i16 1840, i16 0, i16 1913, i16 580, i16 829, i16 958, i16 0, i16 3337, i16 0, i16 1833, i16 2778, i16 387, i16 2865, i16 310, i16 193, i16 3403, i16 0, i16 0, i16 0, i16 2614, i16 466, i16 0, i16 0, i16 2428, i16 1646, i16 0, i16 0, i16 0, i16 0, i16 1917, i16 0, i16 1908, i16 1859, i16 0, i16 1660, i16 804, i16 1592, i16 0, i16 3094, i16 3216, i16 2295, i16 33, i16 443, i16 3358, i16 0, i16 1394, i16 250, i16 213, i16 0, i16 1971, i16 3080, i16 1354, i16 3360, i16 0, i16 1265, i16 1584, i16 2053, i16 512, i16 0, i16 2928, i16 409, i16 2225, i16 779, i16 1186, i16 0, i16 0, i16 381, i16 0, i16 0, i16 2369, i16 0, i16 3368, i16 0, i16 0, i16 1479, i16 924, i16 0, i16 0, i16 599, i16 3139, i16 0, i16 1492, i16 2101, i16 0, i16 0, i16 0, i16 0, i16 0, i16 184, i16 0, i16 2197, i16 651, i16 0, i16 601, i16 0, i16 0, i16 29, i16 0, i16 1149, i16 3302, i16 1156, i16 3111, i16 1269, i16 1298, i16 0, i16 2073, i16 0, i16 615, i16 262, i16 0, i16 0, i16 1349, i16 118, i16 3159, i16 3178, i16 3316, i16 1252, i16 1277, i16 3301, i16 493, i16 3119, i16 2977, i16 842, i16 2399, i16 318, i16 2940, i16 2123, i16 0, i16 1620, i16 0, i16 2951, i16 0, i16 0, i16 0, i16 0, i16 2453, i16 0, i16 0, i16 1323, i16 288, i16 0, i16 0, i16 1615, i16 2715, i16 0, i16 0, i16 2691, i16 0, i16 0, i16 1388, i16 0, i16 280, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1250, i16 0, i16 392, i16 275, i16 0, i16 0, i16 0, i16 0, i16 1926, i16 3008, i16 0, i16 620, i16 0, i16 0, i16 0, i16 2971, i16 3401, i16 0, i16 0, i16 0, i16 1314, i16 608, i16 944, i16 0, i16 1534, i16 1131, i16 1430, i16 2835, i16 525, i16 1559, i16 3115, i16 0, i16 1672, i16 0, i16 3232, i16 0, i16 0, i16 382, i16 0, i16 3377, i16 352, i16 2301, i16 1207, i16 0, i16 1611, i16 0, i16 0, i16 260, i16 0, i16 94, i16 0, i16 2795, i16 1197, i16 0, i16 3402, i16 45, i16 0, i16 1816, i16 2185, i16 1216, i16 2678, i16 2866, i16 0, i16 2677, i16 0, i16 0, i16 687, i16 1342, i16 2420, i16 2163, i16 2142, i16 0, i16 876, i16 2989, i16 1172, i16 3393, i16 1550, i16 2506, i16 3017, i16 879, i16 0, i16 1169, i16 2729, i16 1817, i16 323, i16 0, i16 0, i16 1562, i16 1436, i16 0, i16 3397, i16 2616, i16 922, i16 44, i16 2966, i16 3135, i16 0, i16 0, i16 1713, i16 0, i16 491, i16 0, i16 0, i16 0, i16 2024, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2943, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3364, i16 3355, i16 2004, i16 2105, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3262, i16 0, i16 1082, i16 2663, i16 0, i16 0, i16 2379, i16 0, i16 0, i16 0, i16 2, i16 1330, i16 1747, i16 0, i16 731, i16 0, i16 2639, i16 0, i16 393, i16 18, i16 722, i16 0, i16 813, i16 223, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3353, i16 0, i16 1504, i16 0, i16 3099, i16 30, i16 1574, i16 2218, i16 566, i16 2621, i16 1989, i16 2917, i16 0, i16 3305, i16 0, i16 1398, i16 2651, i16 843, i16 2159, i16 317, i16 1335, i16 640, i16 865, i16 62, i16 2937, i16 1385, i16 919, i16 1034, i16 1233, i16 1850, i16 792, i16 1972, i16 987, i16 0, i16 2529, i16 1717, i16 364, i16 1095, i16 2696, i16 1142, i16 5, i16 1029, i16 0, i16 0, i16 1962, i16 1595, i16 0, i16 1145, i16 637, i16 1662, i16 0, i16 3386, i16 925, i16 2076, i16 2672, i16 0, i16 338, i16 0, i16 1198, i16 0, i16 1846, i16 0, i16 0, i16 366, i16 2622, i16 0, i16 739, i16 869, i16 799, i16 1480, i16 0, i16 0, i16 1721, i16 0, i16 1542, i16 160, i16 0, i16 1195, i16 1891, i16 2526, i16 3236, i16 502, i16 1697, i16 0, i16 1577, i16 514, i16 2373, i16 3289, i16 0, i16 478, i16 0, i16 0, i16 0, i16 2591, i16 2383, i16 660, i16 2297, i16 0, i16 234, i16 267, i16 124, i16 0, i16 2077, i16 534, i16 1838, i16 1568, i16 0, i16 0, i16 1619, i16 1873, i16 2033, i16 2484, i16 0, i16 2964, i16 2787, i16 1147, i16 0, i16 721, i16 0, i16 0, i16 0, i16 2815, i16 3086, i16 1622, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3336, i16 0, i16 3239, i16 1796, i16 0, i16 2976, i16 139, i16 1176, i16 0, i16 888, i16 2919, i16 3196, i16 1440, i16 2044, i16 574, i16 1754, i16 0, i16 586, i16 1760, i16 1087, i16 2331, i16 544, i16 0, i16 3279, i16 0, i16 0, i16 0, i16 1602, i16 2985, i16 1366, i16 91, i16 894, i16 523, i16 911, i16 2345, i16 2669, i16 3067, i16 3292, i16 2638, i16 806, i16 1341, i16 2986, i16 3363, i16 3227, i16 0, i16 659, i16 868, i16 0, i16 2794, i16 2296, i16 713, i16 1832, i16 0, i16 3217, i16 3304, i16 1811, i16 231, i16 2657, i16 0, i16 0, i16 3127, i16 852, i16 358, i16 0, i16 2318, i16 1570, i16 817, i16 3069, i16 3420, i16 447, i16 2520, i16 638, i16 2299, i16 0, i16 2693, i16 1043, i16 0, i16 1140, i16 1591, i16 1837, i16 236, i16 1355, i16 0, i16 2763, i16 0, i16 1022, i16 2422, i16 0, i16 2138, i16 0, i16 179, i16 0, i16 0, i16 1100, i16 0, i16 1326, i16 2574, i16 2211, i16 1702, i16 0, i16 1089, i16 0, i16 0, i16 377, i16 1687, i16 0, i16 793, i16 0, i16 667, i16 126, i16 934, i16 2300, i16 2079, i16 3370, i16 2233, i16 2862, i16 810, i16 0, i16 0, i16 3263, i16 756, i16 1809, i16 2714, i16 2518, i16 1422, i16 1665, i16 2722, i16 3194, i16 1296, i16 1412, i16 0, i16 138, i16 101, i16 2353, i16 0, i16 1179, i16 1225, i16 458, i16 3413, i16 1579, i16 2090, i16 1561, i16 0, i16 0, i16 0, i16 2809, i16 1497, i16 1389, i16 1019, i16 1329, i16 2421, i16 396, i16 2695, i16 6, i16 2095, i16 950, i16 489, i16 0, i16 1661, i16 0, i16 1808, i16 2171, i16 2511, i16 0, i16 1086, i16 1219, i16 2006, i16 25, i16 0, i16 0, i16 1201, i16 522, i16 0, i16 0, i16 618, i16 0, i16 0, i16 2235, i16 880, i16 0, i16 0, i16 334, i16 1305, i16 1705, i16 2204, i16 1858, i16 1013, i16 1306, i16 0, i16 1085, i16 1533, i16 87, i16 2067, i16 1502, i16 2290, i16 1799, i16 0, i16 3146, i16 1794, i16 3346, i16 2192, i16 0, i16 0, i16 653, i16 1429, i16 887, i16 314, i16 2041, i16 2436, i16 875, i16 1331, i16 1481, i16 0, i16 403, i16 0, i16 0, i16 1910, i16 0, i16 1155, i16 0, i16 2072, i16 3266, i16 1165, i16 1857, i16 1557, i16 1801, i16 2496, i16 3131, i16 2926, i16 2643, i16 1582, i16 0, i16 0, i16 0, i16 122, i16 686, i16 168, i16 0, i16 2398, i16 2749, i16 1553, i16 2413, i16 1541, i16 2440, i16 134, i16 1578, i16 247, i16 0, i16 1193, i16 1321, i16 2575, i16 570, i16 2894, i16 0, i16 0, i16 0, i16 2581, i16 2636, i16 2270, i16 12, i16 1424, i16 1188, i16 1383, i16 0, i16 485, i16 700, i16 3254, i16 149, i16 2922, i16 1627, i16 2545, i16 0, i16 1693, i16 0, i16 953, i16 0, i16 0, i16 0, i16 0, i16 600, i16 1138, i16 0, i16 2059, i16 1525, i16 0, i16 1657, i16 0, i16 1727, i16 2841, i16 532, i16 3176, i16 993, i16 1930, i16 192, i16 0, i16 1740, i16 0, i16 3192, i16 1927, i16 802, i16 2849, i16 1064, i16 2109, i16 0, i16 324, i16 144, i16 881, i16 2133, i16 0, i16 2610, i16 171, i16 1129, i16 1378, i16 0, i16 1835, i16 435, i16 760, i16 1324, i16 0, i16 1251, i16 3100, i16 0, i16 835, i16 0, i16 3310, i16 636, i16 594, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2333, i16 1632, i16 3379, i16 3018, i16 3285, i16 388, i16 2748, i16 0, i16 0, i16 0, i16 0, i16 1905, i16 3354, i16 0, i16 2014, i16 0, i16 0, i16 763, i16 0, i16 2011, i16 0, i16 3033, i16 3223, i16 1009, i16 0, i16 1287, i16 292, i16 413, i16 0, i16 0, i16 0, i16 0, i16 31, i16 2143, i16 2128, i16 1878, i16 956, i16 822, i16 2430, i16 311, i16 0, i16 0, i16 2313, i16 1256, i16 2956, i16 0, i16 224, i16 0, i16 2965, i16 109, i16 634, i16 1431, i16 2465, i16 0, i16 0, i16 0, i16 1775, i16 2462, i16 1090, i16 778, i16 3271, i16 1819, i16 0, i16 2645, i16 291, i16 0, i16 1904, i16 0, i16 182, i16 536, i16 0, i16 0, i16 1203, i16 827, i16 294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8, i16 2005, i16 15, i16 2031, i16 3269, i16 3297, i16 3319, i16 0, i16 3213, i16 3241, i16 3259, i16 0, i16 295, i16 133, i16 2811, i16 1707, i16 1915, i16 0, i16 154, i16 174, i16 3416, i16 2448, i16 1144, i16 0, i16 0, i16 0, i16 0, i16 890, i16 1865, i16 1368, i16 1496, i16 1868, i16 1050, i16 1823, i16 2389, i16 1264, i16 752, i16 2456, i16 0, i16 0, i16 356, i16 1336, i16 2116, i16 978, i16 1831, i16 0, i16 2068, i16 1215, i16 705, i16 1044, i16 0, i16 702, i16 0, i16 0, i16 129, i16 0, i16 0, i16 2364, i16 0, i16 0, i16 1312, i16 0, i16 0, i16 16, i16 0, i16 3244, i16 1133, i16 3078, i16 1139, i16 0, i16 2478, i16 0, i16 422, i16 2573, i16 2007, i16 1097, i16 812, i16 0, i16 0, i16 0, i16 665, i16 0, i16 0, i16 0, i16 0, i16 1736, i16 0, i16 2157, i16 549, i16 3165, i16 0, i16 0, i16 0, i16 1271, i16 0, i16 219, i16 0, i16 0, i16 0, i16 1783, i16 0, i16 0, i16 397, i16 3383, i16 0, i16 0, i16 0, i16 2279, i16 3375, i16 1052, i16 0, i16 0, i16 1712, i16 546, i16 1798, i16 3309, i16 0, i16 380, i16 0, i16 0, i16 3038, i16 0, i16 1621, i16 1122, i16 711, i16 3222, i16 2742, i16 0, i16 1701, i16 1053, i16 0, i16 3327, i16 1922, i16 0, i16 1800, i16 1731, i16 0, i16 2516, i16 655, i16 0, i16 2358, i16 2393, i16 2464, i16 2494, i16 2580, i16 2679, i16 2743, i16 2788, i16 2824, i16 2858, i16 2935, i16 2982, i16 3101, i16 3153, i16 3276, i16 2438, i16 2488, i16 2757, i16 2052, i16 2144, i16 2286, i16 2337, i16 2400, i16 2452, i16 2738, i16 2779, i16 2845, i16 2887, i16 3020, i16 3134, i16 3188, i16 3102, i16 1847, i16 2733, i16 2758, i16 1560, i16 1535, i16 824, i16 1822, i16 0, i16 0, i16 2816, i16 2380, i16 0, i16 1228, i16 0, i16 2366, i16 2378, i16 1968, i16 1599, i16 2042, i16 1318, i16 1338, i16 1569, i16 300, i16 0, i16 2873, i16 2320, i16 0, i16 2893, i16 1706, i16 0, i16 1916, i16 0, i16 3129, i16 590, i16 0, i16 0, i16 2836, i16 0, i16 37, i16 0, i16 0, i16 0, i16 551, i16 3155, i16 3177, i16 1951, i16 1056, i16 1855, i16 3247, i16 562, i16 3208, i16 3294, i16 862, i16 0, i16 3055, i16 1453, i16 1626, i16 296, i16 1871, i16 0, i16 1069, i16 0, i16 1767, i16 1776, i16 58, i16 2992, i16 611, i16 2607, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1941, i16 2347, i16 1813, i16 0, i16 2203, i16 1148, i16 0, i16 0, i16 1667, i16 0, i16 0, i16 162, i16 108, i16 0, i16 1211, i16 1063, i16 83, i16 2249, i16 0, i16 1288, i16 832, i16 0, i16 826, i16 88, i16 1434, i16 0, i16 0, i16 0, i16 2087, i16 2773, i16 1852, i16 1921, i16 2220, i16 0, i16 2627, i16 1333, i16 1120, i16 1902, i16 0, i16 1079, i16 1073, i16 305, i16 0, i16 3074, i16 2755, i16 2628, i16 2244, i16 547, i16 0, i16 527, i16 0, i16 428, i16 0, i16 0, i16 3130, i16 3158, i16 3180, i16 3200, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1601, i16 2058, i16 1332, i16 0, i16 0, i16 242, i16 0, i16 0, i16 0, i16 0, i16 3335, i16 374, i16 1877, i16 2903, i16 2726, i16 0, i16 2131, i16 325, i16 1807, i16 378, i16 1606, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 429, i16 172, i16 201, i16 0, i16 585, i16 0, i16 0, i16 2913, i16 351, i16 698, i16 2264, i16 2187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1104, i16 1114, i16 2003, i16 2029, i16 2056, i16 2083, i16 2103, i16 2120, i16 2145, i16 2173, i16 2195, i16 2228, i16 2256, i16 2277, i16 2302, i16 2328, i16 2346, i16 2363, i16 2388, i16 2408, i16 2429, i16 2454, i16 2472, i16 1406, i16 2507, i16 2533, i16 2553, i16 2578, i16 2601, i16 2623, i16 2640, i16 2667, i16 597, i16 0, i16 0, i16 1363, i16 0, i16 0, i16 0, i16 244, i16 474, i16 0, i16 0, i16 0, i16 229, i16 0, i16 481, i16 0, i16 0, i16 2531, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2275, i16 0, i16 0, i16 2357, i16 548, i16 0, i16 1670, i16 701, i16 2901, i16 3404, i16 0, i16 1067, i16 2008, i16 2577, i16 1844, i16 1659, i16 2564, i16 0, i16 2905, i16 3220, i16 442, i16 0, i16 1407, i16 0, i16 1416, i16 0, i16 1663, i16 1036, i16 0, i16 0, i16 2548, i16 3088, i16 0, i16 473, i16 0, i16 2486, i16 2659, i16 3143, i16 0, i16 1861, i16 1881, i16 0, i16 629, i16 840, i16 2519, i16 3068, i16 2012, i16 0, i16 0, i16 2149, i16 1739, i16 3303, i16 949, i16 577, i16 725, i16 658, i16 146, i16 67, i16 2916, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 945, i16 0, i16 0, i16 505, i16 469, i16 3166, i16 3209, i16 1883, i16 0, i16 0, i16 0, i16 1540, i16 0, i16 3332, i16 3072, i16 2593, i16 1610, i16 1257, i16 0, i16 0, i16 578, i16 0, i16 2394, i16 1766, i16 959, i16 1218, i16 0, i16 0, i16 0, i16 632, i16 0, i16 623, i16 1068, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 348, i16 1624, i16 1315, i16 0, i16 878, i16 3095, i16 116, i16 2426, i16 0, i16 737, i16 1466, i16 13, i16 212, i16 0, i16 3315, i16 831, i16 0, i16 2670, i16 1635, i16 1612, i16 0, i16 0, i16 0, i16 1357, i16 709, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1630, i16 2934, i16 488, i16 157, i16 1327, i16 2054, i16 2407, i16 450, i16 0, i16 981, i16 1135, i16 0, i16 1918, i16 1189, i16 729, i16 2427, i16 0, i16 0, i16 2739, i16 3291, i16 0, i16 675, i16 1834, i16 0, i16 1080, i16 589, i16 1415, i16 2537, i16 2406, i16 119, i16 1393, i16 2387, i16 2910, i16 1897, i16 0, i16 1310, i16 1690, i16 0, i16 2988, i16 0, i16 0, i16 0, i16 0, i16 3322, i16 1048, i16 1399, i16 0, i16 1023, i16 0, i16 1361, i16 1617, i16 375, i16 1699, i16 1778, i16 914, i16 1033, i16 0, i16 1334, i16 0, i16 1279, i16 0, i16 0, i16 1952, i16 210, i16 354, i16 0, i16 1738, i16 2881, i16 2283, i16 0, i16 2451, i16 861, i16 3006, i16 0, i16 2800, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1313, i16 1417, i16 2287, i16 1703, i16 2137, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 866, i16 622, i16 1316, i16 1408, i16 1820, i16 898, i16 1728, i16 2600, i16 1320, i16 2332, i16 2813, i16 2630, i16 0, i16 0, i16 427, i16 0, i16 69, i16 459, i16 3043, i16 445, i16 0, i16 1640, i16 706, i16 3050, i16 0, i16 1658, i16 0, i16 0, i16 0, i16 2288, i16 3051, i16 0, i16 1638, i16 402, i16 0, i16 2886, i16 1350, i16 74, i16 0, i16 0, i16 105, i16 266, i16 1214, i16 0, i16 0, i16 0, i16 723, i16 2198, i16 1895, i16 1356, i16 893, i16 535, i16 2248, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2209, i16 3391, i16 0, i16 1254, i16 72, i16 0, i16 2918, i16 3376, i16 2631, i16 1889, i16 2329, i16 2112, i16 2967, i16 0, i16 2831, i16 0, i16 433, i16 2626, i16 2664, i16 1403, i16 1604, i16 0, i16 656, i16 2227, i16 0, i16 0, i16 3181, i16 0, i16 0, i16 933, i16 1146, i16 750, i16 2439, i16 503, i16 1715, i16 885, i16 1784, i16 432, i16 2153, i16 2176, i16 2206, i16 2237, i16 2265, i16 2284, i16 2308, i16 2121, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3054, i16 3082, i16 3103, i16 3126, i16 3151, i16 3171, i16 3193, i16 36, i16 877, i16 0, i16 758, i16 0, i16 1301, i16 147, i16 1262, i16 1072, i16 1616, i16 0, i16 0, i16 0, i16 0, i16 1774, i16 2051, i16 1567, i16 0, i16 2435, i16 2483, i16 0, i16 905, i16 0, i16 2397, i16 256, i16 1851, i16 0, i16 303, i16 0, i16 0, i16 0, i16 0, i16 0, i16 882, i16 0, i16 0, i16 0, i16 1094, i16 1733, i16 1409, i16 0, i16 0, i16 464, i16 0, i16 1880, i16 707, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1243, i16 1963, i16 767, i16 0, i16 0, i16 0, i16 992, i16 0, i16 1571, i16 3334, i16 0, i16 1719, i16 3036, i16 0, i16 2676, i16 624, i16 728, i16 1261, i16 798, i16 1493, i16 0, i16 0, i16 2702, i16 1526, i16 746, i16 3183, i16 0, i16 1046, i16 0, i16 1462, i16 0, i16 2576, i16 1293, i16 3333, i16 0, i16 0, i16 0, i16 3324, i16 1549, i16 0, i16 0, i16 0, i16 2681, i16 1041, i16 2798, i16 1516, i16 1143, i16 1949, i16 1598, i16 390, i16 1236, i16 1448, i16 2829, i16 2432, i16 298, i16 304, i16 2980, i16 336, i16 0, i16 284, i16 0, i16 533, i16 0, i16 0, i16 0, i16 2741, i16 3407, i16 0, i16 2760, i16 1224, i16 100, i16 0, i16 151, i16 0, i16 2885, i16 0, i16 3272, i16 3398, i16 2167, i16 0, i16 0, i16 2175, i16 2184, i16 2196, i16 2191, i16 2205, i16 2307, i16 2222, i16 2322, i16 2214, i16 2343, i16 2229, i16 2348, i16 2236, i16 2490, i16 2508, i16 2534, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 376, i16 3202, i16 1158, i16 0, i16 0, i16 712, i16 1994, i16 906, i16 0, i16 0, i16 0, i16 751, i16 692, i16 1372, i16 936, i16 2146, i16 1829, i16 1474, i16 357, i16 1618, i16 930, i16 2381, i16 2392, i16 0, i16 0, i16 0, i16 46, i16 3256, i16 0, i16 0, i16 0, i16 0, i16 2425, i16 519, i16 0, i16 2466, i16 3340, i16 0, i16 0, i16 0, i16 0, i16 2559, i16 3233, i16 2995, i16 281, i16 0, i16 2685, i16 1680, i16 3175, i16 2402, i16 2752, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1770, i16 1105, i16 3059, i16 1340, i16 801, i16 0, i16 521, i16 0, i16 2170, i16 0, i16 0, i16 1154, i16 0, i16 0, i16 1583, i16 22, i16 2652, i16 3211, i16 0, i16 0, i16 0, i16 0, i16 361, i16 0, i16 928, i16 0, i16 0, i16 3089, i16 557, i16 815, i16 0, i16 0, i16 1325, i16 2950, i16 1110, i16 2310, i16 2113, i16 0, i16 2115, i16 2330, i16 635, i16 2418, i16 967, i16 0, i16 230, i16 666, i16 1709, i16 0, i16 0, i16 1456, i16 2370, i16 3060, i16 0, i16 0, i16 1392, i16 851, i16 342, i16 805, i16 1854, i16 0, i16 2433, i16 3281, i16 1787, i16 2535, i16 0, i16 576, i16 2700, i16 1987, i16 0, i16 0, i16 2549, i16 407, i16 2174, i16 2957, i16 0, i16 0, i16 0, i16 0, i16 1993, i16 1413, i16 175, i16 0, i16 912, i16 2161, i16 0, i16 976, i16 2039, i16 649, i16 0, i16 1239, i16 2979, i16 1111, i16 1849, i16 1078, i16 0, i16 662, i16 668, i16 964, i16 0, i16 3314, i16 595, i16 3120, i16 3152, i16 592, i16 2687, i16 0, i16 2804, i16 2828, i16 2847, i16 2796, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1465, i16 2612, i16 2633, i16 2655, i16 2675, i16 2699, i16 2724, i16 2747, i16 2774, i16 2799, i16 2821, i16 2840, i16 2864, i16 2882, i16 2899, i16 2925, i16 641, i16 781, i16 0, i16 1996, i16 1613, i16 856, i16 1929, i16 1924, i16 0, i16 1781, i16 240, i16 1192, i16 35, i16 787, i16 3197, i16 1593, i16 3081, i16 2927, i16 0, i16 2686, i16 0, i16 1235, i16 0, i16 104, i16 1505, i16 0, i16 0, i16 0, i16 579, i16 3412, i16 2998, i16 1990, i16 2945, i16 2975, i16 2994, i16 3015, i16 3035, i16 0, i16 0, i16 0, i16 1742, i16 3070, i16 3093, i16 3116, i16 3137, i16 3162, i16 3186, i16 3203, i16 3226, i16 3250, i16 3270, i16 3298, i16 3320, i16 3345, i16 3366, i16 3390, i16 3411, i16 1976, i16 1998, i16 2025, i16 2049, i16 2075, i16 0, i16 0, i16 142, i16 0, i16 1213, i16 0, i16 560, i16 1166, i16 3001, i16 290, i16 0, i16 1536, i16 0, i16 633, i16 1309, i16 0, i16 1856, i16 1026, i16 0, i16 0, i16 591, i16 0, i16 0, i16 773, i16 0, i16 571, i16 2590, i16 110, i16 0, i16 0, i16 0, i16 0, i16 41, i16 621, i16 3218, i16 312, i16 3150, i16 431, i16 1894, i16 0, i16 963, i16 1790, i16 2952, i16 1558, i16 3199, i16 3142, i16 0, i16 2889, i16 0, i16 2761, i16 0, i16 0, i16 0, i16 0, i16 892, i16 0, i16 0, i16 0, i16 2869, i16 2877, i16 955, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1688, i16 313, i16 1710, i16 0, i16 1647, i16 0, i16 0, i16 0, i16 0, i16 0, i16 150, i16 383, i16 0, i16 0, i16 957, i16 1268, i16 0, i16 0, i16 1199, i16 3255, i16 2586, i16 1183, i16 0, i16 0, i16 0, i16 405, i16 2764, i16 818, i16 543, i16 293, i16 1017, i16 4, i16 3225, i16 0, i16 1984, i16 0, i16 0, i16 0, i16 3091, i16 2000, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 639, i16 0, i16 1428, i16 0, i16 444, i16 0, i16 718, i16 2251, i16 0, i16 0, i16 2306, i16 2181, i16 0, i16 2458, i16 0, i16 3083, i16 99, i16 0, i16 0, i16 479, i16 2260, i16 3064, i16 0, i16 3343, i16 0, i16 103, i16 1210, i16 727, i16 1469, i16 3339, i16 582, i16 0, i16 1956, i16 0, i16 0, i16 2223, i16 63, i16 203, i16 1208, i16 2141, i16 1238, i16 344, i16 2415, i16 796, i16 3323, i16 1692, i16 3117, i16 0, i16 0, i16 1653, i16 1175, i16 2446, i16 448, i16 327, i16 1928, i16 2706, i16 2713, i16 2826, i16 421, i16 2832, i16 0, i16 0, i16 113, i16 0, i16 2108, i16 1607, i16 2217, i16 1839, i16 2023, i16 679, i16 1275, i16 766, i16 252, i16 2789, i16 1391, i16 2872, i16 274, i16 1438, i16 0, i16 0, i16 1396, i16 1625, i16 0, i16 0, i16 0, i16 0, i16 561, i16 616, i16 790, i16 1691, i16 0, i16 1628, i16 1443, i16 3221, i16 0, i16 1700, i16 0, i16 1495, i16 1353, i16 2437, i16 59, i16 0, i16 2539, i16 1940, i16 0, i16 0, i16 0, i16 254, i16 0, i16 1439, i16 988, i16 369, i16 102, i16 195, i16 682, i16 0, i16 0, i16 1765, i16 0, i16 1704, i16 0, i16 704, i16 0, i16 554, i16 1222, i16 2784, i16 0, i16 0, i16 0, i16 559, i16 0, i16 0, i16 0, i16 302, i16 0, i16 0, i16 0, i16 0, i16 3284, i16 3234, i16 0, i16 2463, i16 3071, i16 1802, i16 1232, i16 0, i16 264, i16 0, i16 2868, i16 908, i16 0, i16 0, i16 0, i16 178, i16 0, i16 228, i16 0, i16 871, i16 0, i16 0, i16 0, i16 257, i16 0, i16 673, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 952, i16 416, i16 0, i16 419, i16 1936, i16 1503, i16 0, i16 319, i16 0, i16 0, i16 3342, i16 0, i16 0, i16 3174, i16 735, i16 39, i16 0, i16 1062, i16 573, i16 1594, i16 1168, i16 0, i16 962, i16 1441, i16 1173, i16 3084, i16 864, i16 0, i16 1970, i16 227, i16 3114, i16 0, i16 0, i16 1753, i16 1761, i16 1194, i16 0, i16 0, i16 0, i16 2094, i16 2122, i16 2154, i16 2177, i16 2207, i16 2238, i16 2266, i16 2285, i16 2309, i16 2335, i16 2355, i16 2376, i16 2396, i16 2417, i16 2442, i16 2468, i16 1292, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1451, i16 2589, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1401, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2475, i16 1869, i16 0, i16 0, i16 1317, i16 1059, i16 2777, i16 2728, i16 0, i16 0, i16 0, i16 0, i16 417, i16 1081, i16 1911, i16 0, i16 0, i16 0, i16 0, i16 3307, i16 1038, i16 0, i16 0, i16 0, i16 0, i16 2099, i16 575, i16 0, i16 0, i16 0, i16 2896, i16 2637, i16 3243, i16 0, i16 1141, i16 123, i16 1498, i16 1988, i16 2513, i16 0, i16 55, i16 2772, i16 2356, i16 1373, i16 1605, i16 0, i16 287, i16 3052, i16 0, i16 355, i16 765, i16 0, i16 0, i16 2781, i16 0, i16 2797, i16 1573, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 941, i16 1909, i16 2552, i16 0, i16 0, i16 0, i16 2276, i16 0, i16 38, i16 0, i16 1874, i16 50, i16 0, i16 0, i16 1380, i16 684, i16 0, i16 0, i16 411, i16 755, i16 1983, i16 2613, i16 0, i16 0, i16 0, i16 1478, i16 137, i16 0, i16 2544, i16 0, i16 2219, i16 332, i16 1455, i16 3350, i16 2325, i16 1294, i16 1946, i16 1028, i16 2062, i16 1445, i16 0, i16 0, i16 0, i16 797, i16 0, i16 1395, i16 0, i16 441, i16 499, i16 2823, i16 1890, i16 495, i16 1490, i16 3148, i16 1071, i16 1716, i16 3295, i16 0, i16 0, i16 937, i16 1797, i16 1246, i16 3205, i16 0, i16 946, i16 0, i16 2731, i16 0, i16 285, i16 0, i16 0, i16 0, i16 2459, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 384, i16 204, i16 2735, i16 716, i16 0, i16 0, i16 0, i16 153, i16 3347, i16 0, i16 0, i16 0, i16 2489, i16 2482, i16 1419, i16 2703, i16 2226, i16 1471, i16 0, i16 1418, i16 951, i16 0, i16 0, i16 0, i16 0, i16 232, i16 0, i16 0, i16 3326, i16 0, i16 0, i16 1470, i16 0, i16 0, i16 494, i16 0, i16 107, i16 2409, i16 1769, i16 1058, i16 3261, i16 0, i16 3147, i16 1285, i16 0, i16 1351, i16 3362, i16 0, i16 1204, i16 695, i16 0, i16 360, i16 1539, i16 2634, i16 0, i16 0, i16 2250, i16 0, i16 95, i16 3034, i16 1815, i16 0, i16 2993, i16 52, i16 1722, i16 0, i16 0, i16 0, i16 1276, i16 3172, i16 2199, i16 808, i16 786, i16 2361, i16 0, i16 1458, i16 2215, i16 0, i16 483, i16 3230, i16 1206, i16 2183, i16 2213, i16 2245, i16 2268, i16 2289, i16 2315, i16 2339, i16 2354, i16 2375, i16 2395, i16 2416, i16 2441, i16 2467, i16 2477, i16 2753, i16 2517, i16 2547, i16 2566, i16 2587, i16 2611, i16 2632, i16 2654, i16 2674, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 439, i16 2127, i16 2746, i16 3195, i16 2974, i16 0, i16 9, i16 1157, i16 1986, i16 1055, i16 1178, i16 0, i16 436, i16 0, i16 3388, i16 3048, i16 654, i16 0, i16 3058, i16 0, i16 1545, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2515, i16 0, i16 1221, i16 1099, i16 187, i16 2092, i16 1463, i16 2647, i16 2803, i16 0, i16 0, i16 0, i16 0, i16 1031, i16 2658, i16 0, i16 1836, i16 0, i16 0, i16 47, i16 2879, i16 3019, i16 2166, i16 0, i16 0, i16 1843, i16 0, i16 0, i16 398, i16 0, i16 1848, i16 874, i16 297, i16 0, i16 0, i16 0, i16 1686, i16 613, i16 3002, i16 2931, i16 2867, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2754, i16 2503, i16 2391, i16 3065, i16 3110, i16 3138, i16 3163, i16 3190, i16 3229, i16 3288, i16 3338, i16 3357, i16 2036, i16 2070, i16 2097, i16 2129, i16 2156, i16 2186, i16 2247, i16 2274, i16 2298, i16 2344, i16 2365, i16 2019, i16 2801, i16 2684, i16 2405, i16 3341, i16 3027, i16 3348, i16 3422, i16 2091, i16 1485, i16 0, i16 3010, i16 902, i16 0, i16 0, i16 1948, i16 0, i16 0, i16 0, i16 309, i16 0, i16 3418, i16 484, i16 0, i16 0, i16 2567, i16 1944, i16 0, i16 1724, i16 0, i16 1777, i16 492, i16 81, i16 688, i16 1714, i16 1499, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2770, i16 3075, i16 1804, i16 0, i16 1227, i16 1751, i16 2936, i16 0, i16 0, i16 0, i16 121, i16 0, i16 1180, i16 1364, i16 1322, i16 3112, i16 588, i16 347, i16 1982, i16 2162, i16 2938, i16 2304, i16 3215, i16 2528, i16 0, i16 0, i16 0, i16 2814, i16 1442, i16 71, i16 0, i16 593, i16 2775, i16 2240, i16 1741, i16 0, i16 0, i16 0, i16 2692, i16 1966, i16 0, i16 379, i16 1102, i16 3000, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1745, i16 0, i16 0, i16 0, i16 3161, i16 1057, i16 2683, i16 222, i16 2338, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1749, i16 2524, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2334, i16 2349, i16 2368, i16 2390, i16 2411, i16 2434, i16 2461, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3214, i16 3242, i16 3260, i16 3283, i16 3308, i16 3330, i16 3352, i16 0, i16 0, i16 0, i16 0, i16 0, i16 989, i16 982, i16 0, i16 0, i16 0, i16 0, i16 1938, i16 0, i16 0, i16 1681, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 991, i16 0, i16 730, i16 2911, i16 0, i16 0, i16 0, i16 1899, i16 2028, i16 185, i16 2512, i16 2569, i16 2673, i16 2267, i16 2806, i16 2941, i16 2540, i16 2923, i16 2086, i16 0, i16 1892, i16 0, i16 903, i16 2920, i16 2592, i16 2751, i16 1093, i16 1708, i16 0, i16 3005, i16 19, i16 3356, i16 2527, i16 216, i16 2619, i16 2188, i16 2557, i16 627, i16 748, i16 135, i16 1344, i16 0, i16 872, i16 1018, i16 2790, i16 2776, i16 0, i16 669, i16 2721, i16 73, i16 2139, i16 1278, i16 188, i16 0, i16 2662, i16 0, i16 0, i16 0, i16 0, i16 550, i16 1484, i16 1083, i16 1303, i16 3238, i16 2783, i16 2805, i16 2688, i16 2891, i16 2839, i16 2863, i16 2572, i16 2624, i16 2641, i16 2588, i16 2709, i16 2944, i16 2718, i16 2740, i16 2768, i16 2820, i16 2871, i16 2579, i16 2698, i16 215, i16 2959, i16 844, i16 2151, i16 2984, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2272, i16 0, i16 2155, i16 2445, i16 371, i16 1070, i16 2953, i16 1633, i16 389, i16 1272, i16 691, i16 1365, i16 1759, i16 2857, i16 1045, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2902, i16 2263, i16 170, i16 855, i16 3113, i16 685, i16 1379, i16 1226, i16 2082, i16 1311, i16 1643, i16 0, i16 3040, i16 1768, i16 1995, i16 1623, i16 2088, i16 3022, i16 1425, i16 1170, i16 2282, i16 0, i16 0, i16 923, i16 1515, i16 1300, i16 3090, i16 2476, i16 1914, i16 289, i16 587, i16 1937, i16 2546, i16 2536, i16 1449, i16 2962, i16 3207, i16 0, i16 1519, i16 1259, i16 968, i16 1590, i16 2371, i16 3066, i16 1249, i16 173, i16 759, i16 1945, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 526, i16 2096, i16 0, i16 0, i16 0, i16 0, i16 3367, i16 0, i16 541, i16 2231, i16 954, i16 0, i16 0, i16 237, i16 0, i16 0, i16 430, i16 0, i16 0, i16 0, i16 2081, i16 726, i16 2020, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 939, i16 23, i16 0, i16 3109, i16 0, i16 0, i16 0, i16 0, i16 3252, i16 2599, i16 0, i16 965, i16 2221, i16 420, i16 1386, i16 0, i16 1734, i16 0, i16 1824, i16 0, i16 0, i16 0, i16 1969, i16 2259, i16 1509, i16 0, i16 1580, i16 1887, i16 2712, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 194, i16 0, i16 2134, i16 2568, i16 2649, i16 226, i16 663, i16 2048, i16 1862, i16 2460, i16 1400, i16 1299, i16 3369, i16 0, i16 0, i16 1867, i16 465, i16 2620, i16 916, i16 771, i16 940, i16 233, i16 0, i16 3132, i16 2132, i16 720, i16 1020, i16 2050, i16 0, i16 2316, i16 1723, i16 3351, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2246, i16 2032, i16 0, i16 326, i16 3387, i16 714, i16 475, i16 0, i16 1673, i16 0, i16 0, i16 1743, i16 0, i16 3145, i16 0, i16 0, i16 1258, i16 1240, i16 1830, i16 0, i16 70, i16 0, i16 163, i16 0, i16 2817, i16 1230, i16 2481, i16 2253, i16 2880, i16 2551, i16 2701, i16 115, i16 2851, i16 2292, i16 434, i16 0, i16 0, i16 1420, i16 1152, i16 2150, i16 3201, i16 2498, i16 3224, i16 77, i16 0, i16 0, i16 0, i16 690, i16 2538, i16 1903, i16 1901, i16 2812, i16 3396, i16 1959, i16 3023, i16 0, i16 0, i16 0, i16 0, i16 1671, i16 258, i16 1060, i16 0, i16 1587, i16 191, i16 775, i16 935, i16 0, i16 0, i16 743, i16 2615, i16 1010, i16 0, i16 0, i16 0, i16 181, i16 3300, i16 372, i16 0, i16 1689, i16 749, i16 1695, i16 0, i16 2542, i16 2359, i16 418, i16 1730, i16 2771, i16 1735, i16 2470, i16 453, i16 2352, i16 2608, i16 143, i16 1337, i16 2160, i16 1339, i16 1352, i16 78, i16 3124, i16 983, i16 249, i16 0, i16 0, i16 3087, i16 1757, i16 2997, i16 2038, i16 1472, i16 2837, i16 619, i16 3414, i16 3053, i16 79, i16 2061, i16 1885, i16 1132, i16 2055, i16 3118, i16 604, i16 0, i16 0, i16 0, i16 1608, i16 744, i16 0, i16 2560, i16 0, i16 980, i16 1785, i16 301, i16 1489, i16 0, i16 853, i16 2293, i16 1792, i16 0, i16 0, i16 98, i16 1805, i16 456, i16 997, i16 0, i16 849, i16 1011, i16 821, i16 518, i16 0, i16 0, i16 605, i16 630, i16 0, i16 0, i16 0, i16 0, i16 1185, i16 0, i16 0, i16 0, i16 7, i16 0, i16 0, i16 0, i16 609, i16 2570, i16 2946, i16 345, i16 2856, i16 0, i16 415, i16 0, i16 0, i16 0, i16 0, i16 1360, i16 0, i16 2035, i16 1771, i16 2525, i16 0, i16 0, i16 0, i16 0, i16 846, i16 1720, i16 3361, i16 648, i16 132, i16 2252, i16 2080, i16 506, i16 0, i16 0, i16 0, i16 860, i16 214, i16 1522, i16 2819, i16 2671, i16 1051, i16 1551, i16 3107, i16 0, i16 0, i16 0, i16 1806, i16 1286, i16 2745, i16 1782, i16 870, i16 2022, i16 1935, i16 0, i16 1669, i16 809, i16 130, i16 0, i16 299, i16 0, i16 0, i16 2707, i16 2410, i16 0, i16 2602, i16 762, i16 3290, i16 3265, i16 2717, i16 85, i16 1597, i16 2341, i16 1763, i16 612, i16 2140, i16 2694, i16 664, i16 3299, i16 1042, i16 0, i16 1486, i16 1786, i16 2047, i16 2827, i16 1464, i16 3012, i16 2190, i16 0, i16 0, i16 196, i16 2942, i16 0, i16 837, i16 1586, i16 0, i16 1461, i16 710, i16 3077, i16 0, i16 996, i16 0, i16 0, i16 1237, i16 917, i16 457, i16 2194, i16 2954, i16 1220, i16 2780, i16 1444, i16 0, i16 0, i16 676, i16 1788, i16 0, i16 0, i16 971, i16 0, i16 652, i16 0, i16 0, i16 0, i16 0, i16 678, i16 2261, i16 0, i16 0, i16 674, i16 816, i16 2843, i16 286, i16 2900, i16 0, i16 2861, i16 563, i16 567, i16 2255, i16 2850, i16 1872, i16 2321, i16 1947, i16 0, i16 0, i16 854, i16 282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 14592, i16 0, i16 0, i16 0, i16 15360, i16 0, i16 0, i16 0, i16 13825, i16 0, i16 0, i16 0, i16 14338, i16 0, i16 0, i16 0, i16 14595, i16 0, i16 0, i16 0, i16 15620, i16 0, i16 0, i16 0, i16 13317, i16 0, i16 0, i16 0, i16 774, i16 0, i16 0, i16 0, i16 12806, i16 0, i16 0, i16 0, i16 15110, i16 0, i16 0, i16 0, i16 16903, i16 0, i16 0, i16 0, i16 13320, i16 0, i16 0, i16 0, i16 16136, i16 0, i16 0, i16 0, i16 15625, i16 0, i16 0, i16 0, i16 778, i16 0, i16 0, i16 0, i16 13578, i16 0, i16 0, i16 0, i16 14859, i16 0, i16 0, i16 0, i16 12556, i16 0, i16 0, i16 0, i16 14092, i16 0, i16 0, i16 0, i16 16652, i16 0, i16 0, i16 0, i16 12302, i16 0, i16 0, i16 0, i16 15118, i16 0, i16 0, i16 0, i16 17166, i16 0, i16 0, i16 0, i16 12559, i16 0, i16 0, i16 0, i16 12815, i16 0, i16 0, i16 0, i16 12304, i16 0, i16 0, i16 0, i16 14353, i16 0, i16 0, i16 0, i16 16913, i16 0, i16 0, i16 0, i16 14354, i16 0, i16 0, i16 0, i16 14355, i16 0, i16 0, i16 0, i16 16659, i16 0, i16 0, i16 0, i16 13844, i16 0, i16 0, i16 0, i16 13590, i16 0, i16 0, i16 0, i16 13591, i16 0, i16 0, i16 0, i16 15639, i16 0, i16 0, i16 0, i16 280, i16 0, i16 0, i16 0, i16 13336, i16 0, i16 0, i16 0, i16 14616, i16 0, i16 0, i16 0, i16 14105, i16 0, i16 0, i16 0, i16 13594, i16 0, i16 0, i16 0, i16 12571, i16 0, i16 0, i16 0, i16 13340, i16 0, i16 0, i16 0, i16 14620, i16 0, i16 0, i16 0, i16 14365, i16 0, i16 0, i16 0, i16 13854, i16 0, i16 0, i16 0, i16 16926, i16 0, i16 0, i16 0, i16 12831, i16 0, i16 0, i16 0, i16 14623, i16 0, i16 0, i16 0, i16 16415, i16 0, i16 0, i16 0, i16 16671, i16 0, i16 0, i16 0, i16 12576, i16 0, i16 0, i16 0, i16 15648, i16 0, i16 0, i16 0, i16 16928, i16 0, i16 0, i16 0, i16 12833, i16 0, i16 0, i16 0, i16 12322, i16 0, i16 0, i16 0, i16 13346, i16 0, i16 0, i16 0, i16 14370, i16 0, i16 0, i16 0, i16 16418, i16 0, i16 0, i16 0, i16 15907, i16 0, i16 0, i16 0, i16 14631, i16 0, i16 0, i16 0, i16 14632, i16 0, i16 0, i16 0, i16 15400, i16 0, i16 0, i16 0, i16 15656, i16 0, i16 0, i16 0, i16 13353, i16 0, i16 0, i16 0, i16 13609, i16 0, i16 0, i16 0, i16 15145, i16 0, i16 0, i16 0, i16 12330, i16 0, i16 0, i16 0, i16 12587, i16 0, i16 0, i16 0, i16 14891, i16 0, i16 0, i16 0, i16 15147, i16 0, i16 0, i16 0, i16 12588, i16 0, i16 0, i16 0, i16 13868, i16 0, i16 0, i16 0, i16 14381, i16 0, i16 0, i16 0, i16 15149, i16 0, i16 0, i16 0, i16 12334, i16 0, i16 0, i16 0, i16 16430, i16 0, i16 0, i16 0, i16 13359, i16 0, i16 0, i16 0, i16 14383, i16 0, i16 0, i16 0, i16 13616, i16 0, i16 0, i16 0, i16 15664, i16 0, i16 0, i16 0, i16 16432, i16 0, i16 0, i16 0, i16 12593, i16 0, i16 0, i16 0, i16 16945, i16 0, i16 0, i16 0, i16 15666, i16 0, i16 0, i16 0, i16 16690, i16 0, i16 0, i16 0, i16 15923, i16 0, i16 0, i16 0, i16 12340, i16 0, i16 0, i16 0, i16 14388, i16 0, i16 0, i16 0, i16 15924, i16 0, i16 0, i16 0, i16 12853, i16 0, i16 0, i16 0, i16 13112, i16 0, i16 0, i16 0, i16 15928, i16 0, i16 0, i16 0, i16 15929, i16 0, i16 0, i16 0, i16 16185, i16 0, i16 0, i16 0, i16 13626, i16 0, i16 0, i16 0, i16 13882, i16 0, i16 0, i16 0, i16 15930, i16 0, i16 0, i16 0, i16 12347, i16 0, i16 0, i16 0, i16 12603, i16 0, i16 0, i16 0, i16 13627, i16 0, i16 0, i16 0, i16 15675, i16 0, i16 0, i16 0, i16 12860, i16 0, i16 0, i16 0, i16 14396, i16 0, i16 0, i16 0, i16 16444, i16 0, i16 0, i16 0, i16 12351, i16 0, i16 0, i16 0, i16 13631, i16 0, i16 0, i16 0, i16 16703, i16 0, i16 0, i16 0, i16 12353, i16 0, i16 0, i16 0, i16 12865, i16 0, i16 0, i16 0, i16 13377, i16 0, i16 0, i16 0, i16 14145, i16 0, i16 0, i16 0, i16 15425, i16 0, i16 0, i16 0, i16 12866, i16 0, i16 0, i16 0, i16 13634, i16 0, i16 0, i16 0, i16 16962, i16 0, i16 0, i16 0, i16 13380, i16 0, i16 0, i16 0, i16 14916, i16 0, i16 0, i16 0, i16 13125, i16 0, i16 0, i16 0, i16 13893, i16 0, i16 0, i16 0, i16 15429, i16 0, i16 0, i16 0, i16 16709, i16 0, i16 0, i16 0, i16 13638, i16 0, i16 0, i16 0, i16 15430, i16 0, i16 0, i16 0, i16 15686, i16 0, i16 0, i16 0, i16 16966, i16 0, i16 0, i16 0, i16 13383, i16 0, i16 0, i16 0, i16 16455, i16 0, i16 0, i16 0, i16 16456, i16 0, i16 0, i16 0, i16 16712, i16 0, i16 0, i16 0, i16 12361, i16 0, i16 0, i16 0, i16 12617, i16 0, i16 0, i16 0, i16 15177, i16 0, i16 0, i16 0, i16 12874, i16 0, i16 0, i16 0, i16 16970, i16 0, i16 0, i16 0, i16 12875, i16 0, i16 0, i16 0, i16 14412, i16 0, i16 0, i16 0, i16 15948, i16 0, i16 0, i16 0, i16 12621, i16 0, i16 0, i16 0, i16 13646, i16 0, i16 0, i16 0, i16 14414, i16 0, i16 0, i16 0, i16 12623, i16 0, i16 0, i16 0, i16 14159, i16 0, i16 0, i16 0, i16 13136, i16 0, i16 0, i16 0, i16 16464, i16 0, i16 0, i16 0, i16 16976, i16 0, i16 0, i16 0, i16 12882, i16 0, i16 0, i16 0, i16 15698, i16 0, i16 0, i16 0, i16 14419, i16 0, i16 0, i16 0, i16 12373, i16 0, i16 0, i16 0, i16 15957, i16 0, i16 0, i16 0, i16 16981, i16 0, i16 0, i16 0, i16 13398, i16 0, i16 0, i16 0, i16 14934, i16 0, i16 0, i16 0, i16 13400, i16 0, i16 0, i16 0, i16 13145, i16 0, i16 0, i16 0, i16 13402, i16 0, i16 0, i16 0, i16 14682, i16 0, i16 0, i16 0, i16 16730, i16 0, i16 0, i16 0, i16 16986, i16 0, i16 0, i16 0, i16 14939, i16 0, i16 0, i16 0, i16 13148, i16 0, i16 0, i16 0, i16 15708, i16 0, i16 0, i16 0, i16 16476, i16 0, i16 0, i16 0, i16 13149, i16 0, i16 0, i16 0, i16 14173, i16 0, i16 0, i16 0, i16 15453, i16 0, i16 0, i16 0, i16 15709, i16 0, i16 0, i16 0, i16 16733, i16 0, i16 0, i16 0, i16 14174, i16 0, i16 0, i16 0, i16 15710, i16 0, i16 0, i16 0, i16 12383, i16 0, i16 0, i16 0, i16 16735, i16 0, i16 0, i16 0, i16 15712, i16 0, i16 0, i16 0, i16 12641, i16 0, i16 0, i16 0, i16 13409, i16 0, i16 0, i16 0, i16 16226, i16 0, i16 0, i16 0, i16 13923, i16 0, i16 0, i16 0, i16 14179, i16 0, i16 0, i16 0, i16 16483, i16 0, i16 0, i16 0, i16 15716, i16 0, i16 0, i16 0, i16 13414, i16 0, i16 0, i16 0, i16 615, i16 0, i16 0, i16 0, i16 871, i16 0, i16 0, i16 0, i16 12906, i16 0, i16 0, i16 0, i16 14186, i16 0, i16 0, i16 0, i16 14442, i16 0, i16 0, i16 0, i16 14698, i16 0, i16 0, i16 0, i16 16490, i16 0, i16 0, i16 0, i16 12651, i16 0, i16 0, i16 0, i16 13675, i16 0, i16 0, i16 0, i16 13164, i16 0, i16 0, i16 0, i16 13420, i16 0, i16 0, i16 0, i16 15980, i16 0, i16 0, i16 0, i16 13935, i16 0, i16 0, i16 0, i16 13680, i16 0, i16 0, i16 0, i16 16752, i16 0, i16 0, i16 0, i16 13938, i16 0, i16 0, i16 0, i16 15475, i16 0, i16 0, i16 0, i16 15731, i16 0, i16 0, i16 0, i16 12660, i16 0, i16 0, i16 0, i16 15732, i16 0, i16 0, i16 0, i16 14453, i16 0, i16 0, i16 0, i16 14709, i16 0, i16 0, i16 0, i16 15221, i16 0, i16 0, i16 0, i16 12406, i16 0, i16 0, i16 0, i16 13174, i16 0, i16 0, i16 0, i16 12919, i16 0, i16 0, i16 0, i16 16759, i16 0, i16 0, i16 0, i16 15480, i16 0, i16 0, i16 0, i16 14201, i16 0, i16 0, i16 0, i16 15737, i16 0, i16 0, i16 0, i16 15993, i16 0, i16 0, i16 0, i16 16250, i16 0, i16 0, i16 0, i16 12411, i16 0, i16 0, i16 0, i16 636, i16 0, i16 0, i16 0, i16 13180, i16 0, i16 0, i16 0, i16 14460, i16 0, i16 0, i16 0, i16 14716, i16 0, i16 0, i16 0, i16 14972, i16 0, i16 0, i16 0, i16 15228, i16 0, i16 0, i16 0, i16 12669, i16 0, i16 0, i16 0, i16 14205, i16 0, i16 0, i16 0, i16 16765, i16 0, i16 0, i16 0, i16 12926, i16 0, i16 0, i16 0, i16 15486, i16 0, i16 0, i16 0, i16 15742, i16 0, i16 0, i16 0, i16 14207, i16 0, i16 0, i16 0, i16 16767, i16 0, i16 0, i16 0, i16 13185, i16 0, i16 0, i16 0, i16 12931, i16 0, i16 0, i16 0, i16 13187, i16 0, i16 0, i16 0, i16 13699, i16 0, i16 0, i16 0, i16 14467, i16 0, i16 0, i16 0, i16 12421, i16 0, i16 0, i16 0, i16 13701, i16 0, i16 0, i16 0, i16 14725, i16 0, i16 0, i16 0, i16 14981, i16 0, i16 0, i16 0, i16 16261, i16 0, i16 0, i16 0, i16 13190, i16 0, i16 0, i16 0, i16 14214, i16 0, i16 0, i16 0, i16 16006, i16 0, i16 0, i16 0, i16 13703, i16 0, i16 0, i16 0, i16 12425, i16 0, i16 0, i16 0, i16 13705, i16 0, i16 0, i16 0, i16 14473, i16 0, i16 0, i16 0, i16 14985, i16 0, i16 0, i16 0, i16 13962, i16 0, i16 0, i16 0, i16 16266, i16 0, i16 0, i16 0, i16 12939, i16 0, i16 0, i16 0, i16 13453, i16 0, i16 0, i16 0, i16 14221, i16 0, i16 0, i16 0, i16 16013, i16 0, i16 0, i16 0, i16 17037, i16 0, i16 0, i16 0, i16 15503, i16 0, i16 0, i16 0, i16 14737, i16 0, i16 0, i16 0, i16 12946, i16 0, i16 0, i16 0, i16 13458, i16 0, i16 0, i16 0, i16 15506, i16 0, i16 0, i16 0, i16 17042, i16 0, i16 0, i16 0, i16 12435, i16 0, i16 0, i16 0, i16 16019, i16 0, i16 0, i16 0, i16 17043, i16 0, i16 0, i16 0, i16 12948, i16 0, i16 0, i16 0, i16 13972, i16 0, i16 0, i16 0, i16 16532, i16 0, i16 0, i16 0, i16 13975, i16 0, i16 0, i16 0, i16 15768, i16 0, i16 0, i16 0, i16 16793, i16 0, i16 0, i16 0, i16 13466, i16 0, i16 0, i16 0, i16 155, i16 0, i16 0, i16 0, i16 156, i16 0, i16 0, i16 0, i16 13469, i16 0, i16 0, i16 0, i16 16285, i16 0, i16 0, i16 0, i16 12958, i16 0, i16 0, i16 0, i16 13215, i16 0, i16 0, i16 0, i16 13727, i16 0, i16 0, i16 0, i16 14751, i16 0, i16 0, i16 0, i16 15263, i16 0, i16 0, i16 0, i16 15775, i16 0, i16 0, i16 0, i16 12704, i16 0, i16 0, i16 0, i16 16800, i16 0, i16 0, i16 0, i16 13473, i16 0, i16 0, i16 0, i16 14241, i16 0, i16 0, i16 0, i16 15521, i16 0, i16 0, i16 0, i16 16801, i16 0, i16 0, i16 0, i16 12962, i16 0, i16 0, i16 0, i16 15010, i16 0, i16 0, i16 0, i16 15778, i16 0, i16 0, i16 0, i16 15267, i16 0, i16 0, i16 0, i16 14500, i16 0, i16 0, i16 0, i16 165, i16 0, i16 0, i16 0, i16 15781, i16 0, i16 0, i16 0, i16 16293, i16 0, i16 0, i16 0, i16 166, i16 0, i16 0, i16 0, i16 17063, i16 0, i16 0, i16 0, i16 13736, i16 0, i16 0, i16 0, i16 16296, i16 0, i16 0, i16 0, i16 16808, i16 0, i16 0, i16 0, i16 12713, i16 0, i16 0, i16 0, i16 13993, i16 0, i16 0, i16 0, i16 16041, i16 0, i16 0, i16 0, i16 16810, i16 0, i16 0, i16 0, i16 17066, i16 0, i16 0, i16 0, i16 13483, i16 0, i16 0, i16 0, i16 13484, i16 0, i16 0, i16 0, i16 16300, i16 0, i16 0, i16 0, i16 13741, i16 0, i16 0, i16 0, i16 15277, i16 0, i16 0, i16 0, i16 12462, i16 0, i16 0, i16 0, i16 13999, i16 0, i16 0, i16 0, i16 16559, i16 0, i16 0, i16 0, i16 176, i16 0, i16 0, i16 0, i16 16048, i16 0, i16 0, i16 0, i16 13233, i16 0, i16 0, i16 0, i16 14769, i16 0, i16 0, i16 0, i16 16049, i16 0, i16 0, i16 0, i16 16305, i16 0, i16 0, i16 0, i16 13746, i16 0, i16 0, i16 0, i16 13747, i16 0, i16 0, i16 0, i16 180, i16 0, i16 0, i16 0, i16 13237, i16 0, i16 0, i16 0, i16 13749, i16 0, i16 0, i16 0, i16 14773, i16 0, i16 0, i16 0, i16 16309, i16 0, i16 0, i16 0, i16 16821, i16 0, i16 0, i16 0, i16 13750, i16 0, i16 0, i16 0, i16 14263, i16 0, i16 0, i16 0, i16 696, i16 0, i16 0, i16 0, i16 15544, i16 0, i16 0, i16 0, i16 16312, i16 0, i16 0, i16 0, i16 15290, i16 0, i16 0, i16 0, i16 16570, i16 0, i16 0, i16 0, i16 12475, i16 0, i16 0, i16 0, i16 13755, i16 0, i16 0, i16 0, i16 14779, i16 0, i16 0, i16 0, i16 15035, i16 0, i16 0, i16 0, i16 16828, i16 0, i16 0, i16 0, i16 15037, i16 0, i16 0, i16 0, i16 14526, i16 0, i16 0, i16 0, i16 15294, i16 0, i16 0, i16 0, i16 16832, i16 0, i16 0, i16 0, i16 15809, i16 0, i16 0, i16 0, i16 13506, i16 0, i16 0, i16 0, i16 16066, i16 0, i16 0, i16 0, i16 16834, i16 0, i16 0, i16 0, i16 12739, i16 0, i16 0, i16 0, i16 13763, i16 0, i16 0, i16 0, i16 12740, i16 0, i16 0, i16 0, i16 13764, i16 0, i16 0, i16 0, i16 16068, i16 0, i16 0, i16 0, i16 15045, i16 0, i16 0, i16 0, i16 15301, i16 0, i16 0, i16 0, i16 14278, i16 0, i16 0, i16 0, i16 12743, i16 0, i16 0, i16 0, i16 14791, i16 0, i16 0, i16 0, i16 17095, i16 0, i16 0, i16 0, i16 13768, i16 0, i16 0, i16 0, i16 15560, i16 0, i16 0, i16 0, i16 12745, i16 0, i16 0, i16 0, i16 13513, i16 0, i16 0, i16 0, i16 13514, i16 0, i16 0, i16 0, i16 13770, i16 0, i16 0, i16 0, i16 14027, i16 0, i16 0, i16 0, i16 17099, i16 0, i16 0, i16 0, i16 13516, i16 0, i16 0, i16 0, i16 17100, i16 0, i16 0, i16 0, i16 14285, i16 0, i16 0, i16 0, i16 16845, i16 0, i16 0, i16 0, i16 12494, i16 0, i16 0, i16 0, i16 14798, i16 0, i16 0, i16 0, i16 17102, i16 0, i16 0, i16 0, i16 16079, i16 0, i16 0, i16 0, i16 13520, i16 0, i16 0, i16 0, i16 14032, i16 0, i16 0, i16 0, i16 14288, i16 0, i16 0, i16 0, i16 14800, i16 0, i16 0, i16 0, i16 14289, i16 0, i16 0, i16 0, i16 15569, i16 0, i16 0, i16 0, i16 17105, i16 0, i16 0, i16 0, i16 13778, i16 0, i16 0, i16 0, i16 14034, i16 0, i16 0, i16 0, i16 14803, i16 0, i16 0, i16 0, i16 16083, i16 0, i16 0, i16 0, i16 14805, i16 0, i16 0, i16 0, i16 15829, i16 0, i16 0, i16 0, i16 16597, i16 0, i16 0, i16 0, i16 16853, i16 0, i16 0, i16 0, i16 16598, i16 0, i16 0, i16 0, i16 12503, i16 0, i16 0, i16 0, i16 13527, i16 0, i16 0, i16 0, i16 16088, i16 0, i16 0, i16 0, i16 12761, i16 0, i16 0, i16 0, i16 13785, i16 0, i16 0, i16 0, i16 14809, i16 0, i16 0, i16 0, i16 12508, i16 0, i16 0, i16 0, i16 13276, i16 0, i16 0, i16 0, i16 13532, i16 0, i16 0, i16 0, i16 15836, i16 0, i16 0, i16 0, i16 16348, i16 0, i16 0, i16 0, i16 17116, i16 0, i16 0, i16 0, i16 14045, i16 0, i16 0, i16 0, i16 15837, i16 0, i16 0, i16 0, i16 14558, i16 0, i16 0, i16 0, i16 15326, i16 0, i16 0, i16 0, i16 14047, i16 0, i16 0, i16 0, i16 12768, i16 0, i16 0, i16 0, i16 15584, i16 0, i16 0, i16 0, i16 225, i16 0, i16 0, i16 0, i16 13793, i16 0, i16 0, i16 0, i16 13027, i16 0, i16 0, i16 0, i16 14819, i16 0, i16 0, i16 0, i16 16099, i16 0, i16 0, i16 0, i16 16867, i16 0, i16 0, i16 0, i16 14052, i16 0, i16 0, i16 0, i16 17124, i16 0, i16 0, i16 0, i16 14821, i16 0, i16 0, i16 0, i16 15077, i16 0, i16 0, i16 0, i16 13286, i16 0, i16 0, i16 0, i16 12519, i16 0, i16 0, i16 0, i16 12775, i16 0, i16 0, i16 0, i16 13031, i16 0, i16 0, i16 0, i16 14311, i16 0, i16 0, i16 0, i16 14823, i16 0, i16 0, i16 0, i16 13800, i16 0, i16 0, i16 0, i16 16616, i16 0, i16 0, i16 0, i16 14057, i16 0, i16 0, i16 0, i16 14826, i16 0, i16 0, i16 0, i16 15594, i16 0, i16 0, i16 0, i16 13291, i16 0, i16 0, i16 0, i16 16108, i16 0, i16 0, i16 0, i16 237, i16 0, i16 0, i16 0, i16 12781, i16 0, i16 0, i16 0, i16 15597, i16 0, i16 0, i16 0, i16 15342, i16 0, i16 0, i16 0, i16 14063, i16 0, i16 0, i16 0, i16 15087, i16 0, i16 0, i16 0, i16 15344, i16 0, i16 0, i16 0, i16 13809, i16 0, i16 0, i16 0, i16 17138, i16 0, i16 0, i16 0, i16 15091, i16 0, i16 0, i16 0, i16 16627, i16 0, i16 0, i16 0, i16 12788, i16 0, i16 0, i16 0, i16 14580, i16 0, i16 0, i16 0, i16 15348, i16 0, i16 0, i16 0, i16 16628, i16 0, i16 0, i16 0, i16 13813, i16 0, i16 0, i16 0, i16 13302, i16 0, i16 0, i16 0, i16 14326, i16 0, i16 0, i16 0, i16 15094, i16 0, i16 0, i16 0, i16 15863, i16 0, i16 0, i16 0, i16 16375, i16 0, i16 0, i16 0, i16 15353, i16 0, i16 0, i16 0, i16 15609, i16 0, i16 0, i16 0, i16 14586, i16 0, i16 0, i16 0, i16 15354, i16 0, i16 0, i16 0, i16 15355, i16 0, i16 0, i16 0, i16 15867, i16 0, i16 0, i16 0, i16 15100, i16 0, i16 0, i16 0, i16 12285, i16 0, i16 0, i16 0, i16 13053, i16 0, i16 0, i16 0, i16 14333, i16 0, i16 0, i16 0, i16 12542, i16 0, i16 0, i16 0, i16 12798, i16 0, i16 0, i16 0, i16 13310, i16 0, i16 0, i16 0, i16 14846, i16 0, i16 0, i16 0, i16 15103, i16 0, i16 0, i16 256, i16 0, i16 0, i16 0, i16 14080, i16 0, i16 0, i16 0, i16 13313, i16 17049, i16 0, i16 0, i16 12546, i16 0, i16 0, i16 0, i16 14082, i16 0, i16 0, i16 0, i16 15618, i16 0, i16 0, i16 0, i16 12547, i16 0, i16 0, i16 0, i16 16899, i16 0, i16 0, i16 0, i16 14852, i16 17003, i16 0, i16 0, i16 16388, i16 0, i16 0, i16 0, i16 16644, i16 0, i16 0, i16 0, i16 13573, i16 0, i16 0, i16 0, i16 14085, i16 0, i16 0, i16 0, i16 15109, i16 0, i16 0, i16 0, i16 13318, i16 0, i16 0, i16 0, i16 15366, i16 0, i16 0, i16 0, i16 15622, i16 0, i16 0, i16 0, i16 16390, i16 14495, i16 0, i16 0, i16 16902, i16 13005, i16 0, i16 0, i16 12295, i16 12296, i16 0, i16 0, i16 14343, i16 13546, i16 0, i16 0, i16 16647, i16 0, i16 0, i16 0, i16 14344, i16 0, i16 0, i16 0, i16 15880, i16 15683, i16 0, i16 0, i16 265, i16 264, i16 0, i16 0, i16 12553, i16 14944, i16 0, i16 0, i16 13833, i16 0, i16 0, i16 0, i16 14857, i16 0, i16 0, i16 0, i16 15881, i16 0, i16 0, i16 0, i16 16137, i16 0, i16 0, i16 0, i16 16649, i16 0, i16 0, i16 0, i16 17162, i16 0, i16 0, i16 0, i16 12555, i16 16345, i16 0, i16 0, i16 13067, i16 0, i16 0, i16 0, i16 15115, i16 0, i16 0, i16 0, i16 12300, i16 0, i16 0, i16 0, i16 14348, i16 0, i16 0, i16 0, i16 15628, i16 14483, i16 0, i16 0, i16 16140, i16 0, i16 0, i16 0, i16 12557, i16 0, i16 0, i16 0, i16 14349, i16 0, i16 0, i16 0, i16 14605, i16 15757, i16 0, i16 0, i16 15629, i16 0, i16 0, i16 0, i16 15885, i16 0, i16 0, i16 0, i16 782, i16 0, i16 0, i16 0, i16 13582, i16 13021, i16 0, i16 0, i16 14094, i16 0, i16 0, i16 0, i16 14862, i16 0, i16 0, i16 0, i16 16398, i16 14978, i16 0, i16 0, i16 14352, i16 0, i16 0, i16 0, i16 15376, i16 0, i16 0, i16 0, i16 15121, i16 0, i16 0, i16 0, i16 16657, i16 0, i16 0, i16 0, i16 17169, i16 0, i16 0, i16 0, i16 16658, i16 0, i16 0, i16 0, i16 12819, i16 15198, i16 0, i16 0, i16 13331, i16 0, i16 0, i16 0, i16 13588, i16 15915, i16 0, i16 0, i16 16148, i16 0, i16 0, i16 0, i16 13589, i16 14715, i16 0, i16 0, i16 15125, i16 0, i16 0, i16 0, i16 16661, i16 0, i16 0, i16 0, i16 12310, i16 0, i16 0, i16 0, i16 12566, i16 15116, i16 0, i16 0, i16 13334, i16 0, i16 0, i16 0, i16 14102, i16 15783, i16 0, i16 0, i16 13335, i16 0, i16 0, i16 0, i16 16152, i16 0, i16 0, i16 0, i16 12569, i16 0, i16 0, i16 0, i16 282, i16 0, i16 0, i16 0, i16 794, i16 0, i16 0, i16 0, i16 13338, i16 0, i16 0, i16 0, i16 15386, i16 15387, i16 0, i16 0, i16 15643, i16 16909, i16 0, i16 0, i16 16155, i16 14782, i16 0, i16 0, i16 16667, i16 0, i16 0, i16 0, i16 12828, i16 0, i16 0, i16 0, i16 15644, i16 0, i16 0, i16 0, i16 12829, i16 0, i16 0, i16 0, i16 13597, i16 0, i16 0, i16 0, i16 15133, i16 0, i16 0, i16 0, i16 16413, i16 0, i16 0, i16 0, i16 16669, i16 0, i16 0, i16 0, i16 14110, i16 0, i16 0, i16 0, i16 15902, i16 0, i16 0, i16 0, i16 16158, i16 0, i16 0, i16 0, i16 16670, i16 0, i16 0, i16 0, i16 12320, i16 0, i16 0, i16 0, i16 13344, i16 0, i16 0, i16 0, i16 14624, i16 13170, i16 0, i16 0, i16 15392, i16 0, i16 0, i16 0, i16 16672, i16 12786, i16 0, i16 0, i16 12321, i16 0, i16 0, i16 0, i16 13601, i16 0, i16 0, i16 0, i16 14881, i16 17167, i16 0, i16 0, i16 15649, i16 16630, i16 0, i16 0, i16 15905, i16 16062, i16 0, i16 0, i16 16929, i16 0, i16 0, i16 0, i16 14114, i16 0, i16 0, i16 0, i16 14882, i16 0, i16 0, i16 0, i16 15906, i16 12444, i16 0, i16 0, i16 16674, i16 0, i16 0, i16 0, i16 16163, i16 0, i16 0, i16 0, i16 13860, i16 13824, i16 0, i16 0, i16 14116, i16 15911, i16 0, i16 0, i16 14884, i16 0, i16 0, i16 0, i16 12325, i16 0, i16 0, i16 0, i16 12837, i16 0, i16 0, i16 0, i16 16678, i16 0, i16 0, i16 0, i16 12327, i16 0, i16 0, i16 0, i16 14887, i16 0, i16 0, i16 0, i16 16423, i16 0, i16 0, i16 0, i16 12328, i16 16639, i16 0, i16 0, i16 16425, i16 0, i16 0, i16 0, i16 13610, i16 16180, i16 0, i16 0, i16 14890, i16 0, i16 0, i16 0, i16 16170, i16 0, i16 0, i16 0, i16 15403, i16 0, i16 0, i16 0, i16 16171, i16 0, i16 0, i16 0, i16 12332, i16 0, i16 0, i16 0, i16 15404, i16 15291, i16 0, i16 0, i16 14125, i16 0, i16 0, i16 0, i16 14893, i16 15274, i16 0, i16 0, i16 16685, i16 0, i16 0, i16 0, i16 16941, i16 0, i16 0, i16 0, i16 14382, i16 0, i16 0, i16 0, i16 14638, i16 12998, i16 0, i16 0, i16 16174, i16 0, i16 0, i16 0, i16 12591, i16 0, i16 0, i16 0, i16 14639, i16 0, i16 0, i16 0, i16 13360, i16 0, i16 0, i16 0, i16 14384, i16 0, i16 0, i16 0, i16 14640, i16 0, i16 0, i16 0, i16 13361, i16 0, i16 0, i16 0, i16 14641, i16 0, i16 0, i16 0, i16 15409, i16 0, i16 0, i16 0, i16 16433, i16 0, i16 0, i16 0, i16 14642, i16 0, i16 0, i16 0, i16 14898, i16 13976, i16 0, i16 0, i16 15154, i16 0, i16 0, i16 0, i16 12851, i16 15968, i16 0, i16 0, i16 13619, i16 0, i16 0, i16 0, i16 16947, i16 0, i16 0, i16 0, i16 15156, i16 0, i16 0, i16 0, i16 13365, i16 0, i16 0, i16 0, i16 13621, i16 12675, i16 0, i16 0, i16 12598, i16 15066, i16 0, i16 0, i16 12343, i16 13378, i16 0, i16 0, i16 14135, i16 0, i16 0, i16 0, i16 14391, i16 0, i16 0, i16 0, i16 16951, i16 15075, i16 0, i16 0, i16 12856, i16 0, i16 0, i16 0, i16 15160, i16 13821, i16 0, i16 0, i16 14905, i16 0, i16 0, i16 0, i16 12858, i16 0, i16 0, i16 0, i16 13370, i16 0, i16 0, i16 0, i16 14138, i16 0, i16 0, i16 0, i16 14907, i16 0, i16 0, i16 0, i16 13628, i16 0, i16 0, i16 0, i16 13884, i16 0, i16 0, i16 0, i16 16956, i16 0, i16 0, i16 0, i16 13885, i16 0, i16 0, i16 0, i16 14141, i16 0, i16 0, i16 0, i16 14398, i16 0, i16 0, i16 0, i16 15166, i16 0, i16 0, i16 0, i16 16958, i16 0, i16 0, i16 0, i16 13375, i16 0, i16 0, i16 0, i16 13889, i16 0, i16 0, i16 0, i16 14913, i16 14137, i16 0, i16 0, i16 16193, i16 0, i16 0, i16 0, i16 16449, i16 0, i16 0, i16 0, i16 15938, i16 0, i16 0, i16 0, i16 12355, i16 0, i16 0, i16 0, i16 13379, i16 0, i16 0, i16 0, i16 14660, i16 16660, i16 0, i16 0, i16 15684, i16 0, i16 0, i16 0, i16 12613, i16 16161, i16 0, i16 0, i16 12869, i16 0, i16 0, i16 0, i16 16965, i16 0, i16 0, i16 0, i16 13126, i16 0, i16 0, i16 0, i16 14406, i16 0, i16 0, i16 0, i16 12359, i16 0, i16 0, i16 0, i16 13895, i16 15817, i16 0, i16 0, i16 16711, i16 0, i16 0, i16 0, i16 13640, i16 0, i16 0, i16 0, i16 14920, i16 0, i16 0, i16 0, i16 15944, i16 0, i16 0, i16 0, i16 13385, i16 0, i16 0, i16 0, i16 13641, i16 0, i16 0, i16 0, i16 15945, i16 16859, i16 0, i16 0, i16 16457, i16 0, i16 0, i16 0, i16 12362, i16 0, i16 0, i16 0, i16 13130, i16 0, i16 0, i16 0, i16 14154, i16 0, i16 0, i16 0, i16 14666, i16 0, i16 0, i16 0, i16 16202, i16 0, i16 0, i16 0, i16 13131, i16 15689, i16 0, i16 0, i16 13387, i16 0, i16 0, i16 0, i16 14155, i16 0, i16 0, i16 0, i16 15179, i16 12896, i16 0, i16 0, i16 15691, i16 0, i16 0, i16 0, i16 12364, i16 14260, i16 0, i16 0, i16 13388, i16 13894, i16 0, i16 0, i16 13901, i16 0, i16 0, i16 0, i16 14669, i16 15472, i16 0, i16 0, i16 15949, i16 0, i16 0, i16 0, i16 13390, i16 16026, i16 0, i16 0, i16 14670, i16 0, i16 0, i16 0, i16 13135, i16 16906, i16 0, i16 0, i16 13391, i16 0, i16 0, i16 0, i16 16463, i16 0, i16 0, i16 0, i16 13392, i16 13404, i16 0, i16 0, i16 16720, i16 0, i16 0, i16 0, i16 13649, i16 0, i16 0, i16 0, i16 16209, i16 0, i16 0, i16 0, i16 14674, i16 0, i16 0, i16 0, i16 16722, i16 0, i16 0, i16 0, i16 14163, i16 0, i16 0, i16 0, i16 14675, i16 0, i16 0, i16 0, i16 15699, i16 0, i16 0, i16 0, i16 12628, i16 14648, i16 0, i16 0, i16 13396, i16 0, i16 0, i16 0, i16 15188, i16 0, i16 0, i16 0, i16 12886, i16 0, i16 0, i16 0, i16 13910, i16 0, i16 0, i16 0, i16 14422, i16 0, i16 0, i16 0, i16 15958, i16 12707, i16 0, i16 0, i16 16214, i16 0, i16 0, i16 0, i16 16470, i16 0, i16 0, i16 0, i16 12631, i16 13625, i16 0, i16 0, i16 13143, i16 0, i16 0, i16 0, i16 14423, i16 0, i16 0, i16 0, i16 13656, i16 0, i16 0, i16 0, i16 13912, i16 0, i16 0, i16 0, i16 14424, i16 0, i16 0, i16 0, i16 12633, i16 0, i16 0, i16 0, i16 13913, i16 0, i16 0, i16 0, i16 12890, i16 0, i16 0, i16 0, i16 13146, i16 0, i16 0, i16 0, i16 15962, i16 0, i16 0, i16 0, i16 13147, i16 0, i16 0, i16 0, i16 13659, i16 0, i16 0, i16 0, i16 13405, i16 0, i16 0, i16 0, i16 13150, i16 0, i16 0, i16 0, i16 13406, i16 0, i16 0, i16 0, i16 14686, i16 0, i16 0, i16 0, i16 12895, i16 12407, i16 0, i16 0, i16 15455, i16 0, i16 0, i16 0, i16 14176, i16 0, i16 0, i16 0, i16 14432, i16 0, i16 0, i16 0, i16 15200, i16 0, i16 0, i16 0, i16 16736, i16 0, i16 0, i16 0, i16 12897, i16 0, i16 0, i16 0, i16 13921, i16 0, i16 0, i16 0, i16 14689, i16 0, i16 0, i16 0, i16 13154, i16 0, i16 0, i16 0, i16 16994, i16 16995, i16 0, i16 0, i16 15971, i16 15754, i16 0, i16 0, i16 13156, i16 0, i16 0, i16 0, i16 14692, i16 0, i16 0, i16 0, i16 15460, i16 0, i16 0, i16 0, i16 16228, i16 0, i16 0, i16 0, i16 12389, i16 0, i16 0, i16 0, i16 13669, i16 0, i16 0, i16 0, i16 16486, i16 0, i16 0, i16 0, i16 13927, i16 12380, i16 0, i16 0, i16 14951, i16 15813, i16 0, i16 0, i16 15975, i16 0, i16 0, i16 0, i16 16487, i16 0, i16 0, i16 0, i16 12904, i16 12905, i16 0, i16 0, i16 13416, i16 14004, i16 0, i16 0, i16 15977, i16 0, i16 0, i16 0, i16 12394, i16 15982, i16 0, i16 0, i16 15978, i16 0, i16 0, i16 0, i16 13676, i16 0, i16 0, i16 0, i16 15212, i16 0, i16 0, i16 0, i16 14445, i16 0, i16 0, i16 0, i16 12654, i16 0, i16 0, i16 0, i16 13934, i16 0, i16 0, i16 0, i16 13679, i16 0, i16 0, i16 0, i16 14449, i16 0, i16 0, i16 0, i16 16241, i16 0, i16 0, i16 0, i16 13426, i16 16648, i16 0, i16 0, i16 12915, i16 0, i16 0, i16 0, i16 13427, i16 14180, i16 0, i16 0, i16 14451, i16 15717, i16 0, i16 0, i16 16243, i16 0, i16 0, i16 0, i16 14452, i16 0, i16 0, i16 0, i16 14708, i16 0, i16 0, i16 0, i16 12917, i16 0, i16 0, i16 0, i16 14966, i16 0, i16 0, i16 0, i16 13944, i16 0, i16 0, i16 0, i16 15992, i16 0, i16 0, i16 0, i16 16760, i16 0, i16 0, i16 0, i16 17016, i16 15317, i16 0, i16 0, i16 15225, i16 0, i16 0, i16 0, i16 12666, i16 0, i16 0, i16 0, i16 15738, i16 13848, i16 0, i16 0, i16 17018, i16 0, i16 0, i16 0, i16 13947, i16 0, i16 0, i16 0, i16 15996, i16 0, i16 0, i16 0, i16 13181, i16 0, i16 0, i16 0, i16 15229, i16 0, i16 0, i16 0, i16 13438, i16 13197, i16 0, i16 0, i16 15743, i16 0, i16 0, i16 0, i16 17023, i16 0, i16 0, i16 0, i16 13184, i16 0, i16 0, i16 0, i16 13440, i16 0, i16 0, i16 0, i16 13442, i16 0, i16 0, i16 0, i16 16515, i16 0, i16 0, i16 0, i16 12420, i16 0, i16 0, i16 0, i16 13189, i16 0, i16 0, i16 0, i16 13445, i16 13494, i16 0, i16 0, i16 15237, i16 0, i16 0, i16 0, i16 13958, i16 0, i16 0, i16 0, i16 16262, i16 0, i16 0, i16 0, i16 15239, i16 0, i16 0, i16 0, i16 13960, i16 0, i16 0, i16 0, i16 16776, i16 0, i16 0, i16 0, i16 17032, i16 0, i16 0, i16 0, i16 13193, i16 0, i16 0, i16 0, i16 13961, i16 0, i16 0, i16 0, i16 16010, i16 0, i16 0, i16 0, i16 13451, i16 0, i16 0, i16 0, i16 12428, i16 14380, i16 0, i16 0, i16 14732, i16 16704, i16 0, i16 0, i16 15244, i16 0, i16 0, i16 0, i16 16524, i16 15420, i16 0, i16 0, i16 16269, i16 0, i16 0, i16 0, i16 13198, i16 16103, i16 0, i16 0, i16 13710, i16 17081, i16 0, i16 0, i16 13711, i16 0, i16 0, i16 0, i16 14479, i16 14478, i16 0, i16 0, i16 16015, i16 13394, i16 0, i16 0, i16 16271, i16 0, i16 0, i16 0, i16 12688, i16 0, i16 0, i16 0, i16 16784, i16 0, i16 0, i16 0, i16 13201, i16 14579, i16 0, i16 0, i16 13713, i16 0, i16 0, i16 0, i16 14738, i16 0, i16 0, i16 0, i16 12947, i16 0, i16 0, i16 0, i16 13459, i16 14369, i16 0, i16 0, i16 15251, i16 14807, i16 0, i16 0, i16 14740, i16 0, i16 0, i16 0, i16 17044, i16 0, i16 0, i16 0, i16 14229, i16 0, i16 0, i16 0, i16 14741, i16 0, i16 0, i16 0, i16 13718, i16 0, i16 0, i16 0, i16 13974, i16 0, i16 0, i16 0, i16 14230, i16 0, i16 0, i16 0, i16 17046, i16 13544, i16 0, i16 0, i16 12439, i16 0, i16 0, i16 0, i16 16023, i16 0, i16 0, i16 0, i16 17047, i16 15588, i16 0, i16 0, i16 13464, i16 14488, i16 0, i16 0, i16 13209, i16 0, i16 0, i16 0, i16 15257, i16 13925, i16 0, i16 0, i16 16281, i16 0, i16 0, i16 0, i16 16794, i16 13906, i16 0, i16 0, i16 12955, i16 13571, i16 0, i16 0, i16 668, i16 0, i16 0, i16 0, i16 14748, i16 0, i16 0, i16 0, i16 15004, i16 0, i16 0, i16 0, i16 12701, i16 0, i16 0, i16 0, i16 15773, i16 14925, i16 0, i16 0, i16 16029, i16 0, i16 0, i16 0, i16 17053, i16 0, i16 0, i16 0, i16 12446, i16 0, i16 0, i16 0, i16 13982, i16 0, i16 0, i16 0, i16 14494, i16 0, i16 0, i16 0, i16 17054, i16 16165, i16 0, i16 0, i16 14239, i16 0, i16 0, i16 0, i16 15007, i16 0, i16 0, i16 0, i16 16031, i16 0, i16 0, i16 0, i16 13216, i16 15956, i16 0, i16 0, i16 12705, i16 0, i16 0, i16 0, i16 16289, i16 0, i16 0, i16 0, i16 674, i16 0, i16 0, i16 0, i16 15266, i16 0, i16 0, i16 0, i16 16290, i16 0, i16 0, i16 0, i16 16546, i16 0, i16 0, i16 0, i16 16802, i16 0, i16 0, i16 0, i16 12451, i16 0, i16 0, i16 0, i16 15523, i16 0, i16 0, i16 0, i16 16291, i16 0, i16 0, i16 0, i16 12452, i16 12408, i16 0, i16 0, i16 12708, i16 0, i16 0, i16 0, i16 12964, i16 0, i16 0, i16 0, i16 14244, i16 0, i16 0, i16 0, i16 16292, i16 0, i16 0, i16 0, i16 15269, i16 0, i16 0, i16 0, i16 16037, i16 0, i16 0, i16 0, i16 16549, i16 0, i16 0, i16 0, i16 12710, i16 15019, i16 0, i16 0, i16 15782, i16 0, i16 0, i16 0, i16 16294, i16 0, i16 0, i16 0, i16 12455, i16 17045, i16 0, i16 0, i16 12711, i16 13480, i16 0, i16 0, i16 13479, i16 0, i16 0, i16 0, i16 13991, i16 0, i16 0, i16 0, i16 14503, i16 0, i16 0, i16 0, i16 15527, i16 0, i16 0, i16 0, i16 16295, i16 16721, i16 0, i16 0, i16 12456, i16 0, i16 0, i16 0, i16 13224, i16 12838, i16 0, i16 0, i16 15784, i16 0, i16 0, i16 0, i16 13737, i16 0, i16 0, i16 0, i16 13738, i16 0, i16 0, i16 0, i16 13739, i16 0, i16 0, i16 0, i16 13995, i16 14438, i16 0, i16 0, i16 14763, i16 0, i16 0, i16 0, i16 16299, i16 13632, i16 0, i16 0, i16 13996, i16 14799, i16 0, i16 0, i16 15788, i16 13599, i16 0, i16 0, i16 14253, i16 12873, i16 0, i16 0, i16 14765, i16 0, i16 0, i16 0, i16 17069, i16 0, i16 0, i16 0, i16 174, i16 0, i16 0, i16 0, i16 15790, i16 0, i16 0, i16 0, i16 13743, i16 0, i16 0, i16 0, i16 15279, i16 16077, i16 0, i16 0, i16 13744, i16 13482, i16 0, i16 0, i16 15792, i16 0, i16 0, i16 0, i16 16816, i16 0, i16 0, i16 0, i16 14513, i16 15755, i16 0, i16 0, i16 178, i16 0, i16 0, i16 0, i16 13490, i16 16151, i16 0, i16 0, i16 14514, i16 16601, i16 0, i16 0, i16 15026, i16 0, i16 0, i16 0, i16 15538, i16 16535, i16 0, i16 0, i16 16562, i16 0, i16 0, i16 0, i16 16818, i16 0, i16 0, i16 0, i16 691, i16 0, i16 0, i16 0, i16 14515, i16 0, i16 0, i16 0, i16 16307, i16 0, i16 0, i16 0, i16 12980, i16 12981, i16 0, i16 0, i16 13492, i16 0, i16 0, i16 0, i16 15028, i16 0, i16 0, i16 0, i16 15284, i16 14607, i16 0, i16 0, i16 15285, i16 0, i16 0, i16 0, i16 694, i16 785, i16 0, i16 0, i16 12470, i16 15646, i16 0, i16 0, i16 15798, i16 0, i16 0, i16 0, i16 12983, i16 13478, i16 0, i16 0, i16 13495, i16 0, i16 0, i16 0, i16 12728, i16 16993, i16 0, i16 0, i16 12984, i16 14160, i16 0, i16 0, i16 13496, i16 0, i16 0, i16 0, i16 185, i16 184, i16 0, i16 0, i16 12985, i16 0, i16 0, i16 0, i16 15033, i16 0, i16 0, i16 0, i16 13498, i16 0, i16 0, i16 0, i16 16314, i16 16812, i16 0, i16 0, i16 187, i16 186, i16 0, i16 0, i16 699, i16 792, i16 0, i16 0, i16 14011, i16 12526, i16 0, i16 0, i16 16315, i16 0, i16 0, i16 0, i16 16571, i16 0, i16 0, i16 0, i16 13500, i16 0, i16 0, i16 0, i16 701, i16 793, i16 0, i16 0, i16 12733, i16 0, i16 0, i16 0, i16 13501, i16 0, i16 0, i16 0, i16 702, i16 795, i16 0, i16 0, i16 13246, i16 15414, i16 0, i16 0, i16 14014, i16 0, i16 0, i16 0, i16 191, i16 190, i16 0, i16 0, i16 12735, i16 0, i16 0, i16 0, i16 12991, i16 0, i16 0, i16 0, i16 13503, i16 0, i16 0, i16 0, i16 14271, i16 0, i16 0, i16 0, i16 14527, i16 14060, i16 0, i16 0, i16 12480, i16 0, i16 0, i16 0, i16 13249, i16 0, i16 0, i16 0, i16 15553, i16 14199, i16 0, i16 0, i16 16065, i16 0, i16 0, i16 0, i16 12738, i16 0, i16 0, i16 0, i16 14530, i16 14206, i16 0, i16 0, i16 14786, i16 0, i16 0, i16 0, i16 12995, i16 0, i16 0, i16 0, i16 14531, i16 0, i16 0, i16 0, i16 16579, i16 0, i16 0, i16 0, i16 15556, i16 0, i16 0, i16 0, i16 16836, i16 0, i16 0, i16 0, i16 14277, i16 0, i16 0, i16 0, i16 16325, i16 0, i16 0, i16 0, i16 16837, i16 0, i16 0, i16 0, i16 12742, i16 0, i16 0, i16 0, i16 16839, i16 0, i16 0, i16 0, i16 200, i16 201, i16 0, i16 0, i16 15304, i16 15303, i16 0, i16 0, i16 15816, i16 14955, i16 0, i16 0, i16 16328, i16 0, i16 0, i16 0, i16 16584, i16 0, i16 0, i16 0, i16 16073, i16 0, i16 0, i16 0, i16 16329, i16 0, i16 0, i16 0, i16 17097, i16 0, i16 0, i16 0, i16 202, i16 0, i16 0, i16 0, i16 13258, i16 0, i16 0, i16 0, i16 14794, i16 0, i16 0, i16 0, i16 15050, i16 0, i16 0, i16 0, i16 15562, i16 0, i16 0, i16 0, i16 16074, i16 0, i16 0, i16 0, i16 13260, i16 0, i16 0, i16 0, i16 13772, i16 15199, i16 0, i16 0, i16 16332, i16 0, i16 0, i16 0, i16 16588, i16 0, i16 0, i16 0, i16 13517, i16 0, i16 0, i16 0, i16 13262, i16 0, i16 0, i16 0, i16 15822, i16 0, i16 0, i16 0, i16 14543, i16 12589, i16 0, i16 0, i16 16335, i16 0, i16 0, i16 0, i16 12752, i16 13794, i16 0, i16 0, i16 13264, i16 0, i16 0, i16 0, i16 15057, i16 13046, i16 0, i16 0, i16 16849, i16 16921, i16 0, i16 0, i16 210, i16 211, i16 0, i16 0, i16 13522, i16 0, i16 0, i16 0, i16 14802, i16 0, i16 0, i16 0, i16 15314, i16 13029, i16 0, i16 0, i16 12499, i16 0, i16 0, i16 0, i16 13011, i16 0, i16 0, i16 0, i16 14035, i16 16620, i16 0, i16 0, i16 212, i16 213, i16 0, i16 0, i16 16084, i16 0, i16 0, i16 0, i16 16340, i16 0, i16 0, i16 0, i16 16342, i16 0, i16 0, i16 0, i16 13783, i16 0, i16 0, i16 0, i16 13016, i16 14788, i16 0, i16 0, i16 14808, i16 0, i16 0, i16 0, i16 15064, i16 0, i16 0, i16 0, i16 14041, i16 14269, i16 0, i16 0, i16 14297, i16 0, i16 0, i16 0, i16 15065, i16 0, i16 0, i16 0, i16 15833, i16 0, i16 0, i16 0, i16 13018, i16 0, i16 0, i16 0, i16 219, i16 0, i16 0, i16 0, i16 13787, i16 0, i16 0, i16 0, i16 14299, i16 0, i16 0, i16 0, i16 14811, i16 0, i16 0, i16 0, i16 15324, i16 16112, i16 0, i16 0, i16 13277, i16 0, i16 0, i16 0, i16 16605, i16 0, i16 0, i16 0, i16 13534, i16 0, i16 0, i16 0, i16 13790, i16 0, i16 0, i16 0, i16 15070, i16 0, i16 0, i16 0, i16 13791, i16 0, i16 0, i16 0, i16 14559, i16 0, i16 0, i16 0, i16 16607, i16 0, i16 0, i16 0, i16 16863, i16 14628, i16 0, i16 0, i16 17119, i16 0, i16 0, i16 0, i16 13024, i16 13060, i16 0, i16 0, i16 13536, i16 0, i16 0, i16 0, i16 14048, i16 0, i16 0, i16 0, i16 14816, i16 0, i16 0, i16 0, i16 15328, i16 0, i16 0, i16 0, i16 16352, i16 16046, i16 0, i16 0, i16 12513, i16 0, i16 0, i16 0, i16 14817, i16 0, i16 0, i16 0, i16 15329, i16 0, i16 0, i16 0, i16 15841, i16 0, i16 0, i16 0, i16 17121, i16 0, i16 0, i16 0, i16 13538, i16 0, i16 0, i16 0, i16 14050, i16 0, i16 0, i16 0, i16 15842, i16 14561, i16 0, i16 0, i16 16098, i16 0, i16 0, i16 0, i16 14564, i16 0, i16 0, i16 0, i16 15332, i16 0, i16 0, i16 0, i16 15845, i16 12345, i16 0, i16 0, i16 13798, i16 15306, i16 0, i16 0, i16 17126, i16 12973, i16 0, i16 0, i16 12520, i16 0, i16 0, i16 0, i16 14056, i16 0, i16 0, i16 0, i16 14568, i16 0, i16 0, i16 0, i16 14824, i16 0, i16 0, i16 0, i16 17129, i16 0, i16 0, i16 0, i16 12522, i16 12391, i16 0, i16 0, i16 13802, i16 0, i16 0, i16 0, i16 14570, i16 16105, i16 0, i16 0, i16 16106, i16 15989, i16 0, i16 0, i16 14827, i16 13366, i16 0, i16 0, i16 16875, i16 0, i16 0, i16 0, i16 15084, i16 15744, i16 0, i16 0, i16 13293, i16 0, i16 0, i16 0, i16 13549, i16 0, i16 0, i16 0, i16 14317, i16 0, i16 0, i16 0, i16 15853, i16 16114, i16 0, i16 0, i16 15854, i16 0, i16 0, i16 0, i16 13039, i16 0, i16 0, i16 0, i16 14064, i16 0, i16 0, i16 0, i16 14832, i16 17077, i16 0, i16 0, i16 15088, i16 0, i16 0, i16 0, i16 13553, i16 0, i16 0, i16 0, i16 14577, i16 0, i16 0, i16 0, i16 14833, i16 0, i16 0, i16 0, i16 15857, i16 0, i16 0, i16 0, i16 15090, i16 15635, i16 0, i16 0, i16 15346, i16 0, i16 0, i16 0, i16 15858, i16 14520, i16 0, i16 0, i16 16882, i16 0, i16 0, i16 0, i16 244, i16 243, i16 0, i16 0, i16 13812, i16 0, i16 0, i16 0, i16 14068, i16 0, i16 0, i16 0, i16 14325, i16 0, i16 0, i16 0, i16 17141, i16 16512, i16 0, i16 0, i16 13558, i16 0, i16 0, i16 0, i16 16374, i16 15645, i16 0, i16 0, i16 12535, i16 0, i16 0, i16 0, i16 16120, i16 0, i16 0, i16 0, i16 16376, i16 0, i16 0, i16 0, i16 17144, i16 16840, i16 0, i16 0, i16 14585, i16 0, i16 0, i16 0, i16 15097, i16 16614, i16 0, i16 0, i16 16121, i16 0, i16 0, i16 0, i16 16889, i16 0, i16 0, i16 0, i16 12794, i16 14493, i16 0, i16 0, i16 13562, i16 0, i16 0, i16 0, i16 14074, i16 0, i16 0, i16 0, i16 14587, i16 0, i16 0, i16 0, i16 12540, i16 0, i16 0, i16 0, i16 16124, i16 16211, i16 0, i16 0, i16 13565, i16 16820, i16 0, i16 0, i16 15101, i16 0, i16 0, i16 0, i16 15357, i16 0, i16 0, i16 0, i16 16638, i16 0, i16 0, i16 0, i16 13055, i16 0, i16 0, i16 0, i16 15871, i16 0, i16 0, i16 0, i16 16127, i16 0, i16 0, i16 0, i16 16383, i16 0, i16 0, i16 0, i16 16895, i16 0, i16 0, i16 14336, i16 0, i16 0, i16 0, i16 15872, i16 0, i16 0, i16 0, i16 16896, i16 12854, i16 0, i16 0, i16 12289, i16 0, i16 0, i16 0, i16 13057, i16 0, i16 0, i16 0, i16 14593, i16 0, i16 0, i16 0, i16 15361, i16 14291, i16 12990, i16 0, i16 16129, i16 0, i16 0, i16 0, i16 2, i16 3, i16 0, i16 0, i16 12290, i16 0, i16 0, i16 0, i16 13826, i16 14262, i16 0, i16 0, i16 15106, i16 0, i16 0, i16 0, i16 17154, i16 0, i16 0, i16 0, i16 12291, i16 0, i16 0, i16 0, i16 13315, i16 0, i16 0, i16 0, i16 14339, i16 12729, i16 13820, i16 0, i16 14851, i16 0, i16 0, i16 0, i16 15875, i16 0, i16 0, i16 0, i16 4, i16 5, i16 6, i16 0, i16 12292, i16 14533, i16 0, i16 0, i16 13316, i16 0, i16 0, i16 0, i16 16900, i16 12787, i16 15477, i16 0, i16 17156, i16 0, i16 14379, i16 0, i16 14341, i16 0, i16 0, i16 0, i16 14597, i16 0, i16 0, i16 0, i16 12550, i16 0, i16 0, i16 0, i16 15878, i16 0, i16 0, i16 0, i16 13575, i16 0, i16 0, i16 0, i16 14087, i16 13298, i16 0, i16 0, i16 14599, i16 0, i16 0, i16 0, i16 16135, i16 13144, i16 0, i16 0, i16 16391, i16 0, i16 0, i16 0, i16 520, i16 521, i16 522, i16 0, i16 13832, i16 0, i16 0, i16 0, i16 14088, i16 14747, i16 13614, i16 0, i16 14600, i16 14465, i16 0, i16 0, i16 16392, i16 0, i16 0, i16 0, i16 12809, i16 0, i16 0, i16 0, i16 13577, i16 15658, i16 0, i16 0, i16 13066, i16 0, i16 0, i16 0, i16 15114, i16 0, i16 15163, i16 0, i16 16650, i16 0, i16 15347, i16 0, i16 12811, i16 0, i16 0, i16 0, i16 13579, i16 0, i16 0, i16 0, i16 16139, i16 0, i16 13204, i16 0, i16 16651, i16 0, i16 12426, i16 0, i16 17163, i16 0, i16 0, i16 0, i16 14860, i16 0, i16 0, i16 0, i16 15884, i16 13063, i16 12474, i16 0, i16 17164, i16 17165, i16 0, i16 0, i16 13325, i16 16860, i16 0, i16 0, i16 16397, i16 0, i16 0, i16 0, i16 13326, i16 0, i16 0, i16 0, i16 16654, i16 0, i16 0, i16 0, i16 16910, i16 0, i16 0, i16 0, i16 783, i16 0, i16 0, i16 0, i16 13071, i16 16937, i16 15040, i16 0, i16 13583, i16 0, i16 0, i16 0, i16 14863, i16 0, i16 0, i16 0, i16 15119, i16 0, i16 16996, i16 0, i16 16655, i16 0, i16 16656, i16 0, i16 13584, i16 0, i16 15449, i16 0, i16 14608, i16 14546, i16 0, i16 0, i16 15120, i16 0, i16 0, i16 0, i16 16400, i16 0, i16 0, i16 0, i16 13329, i16 0, i16 0, i16 0, i16 14609, i16 17131, i16 0, i16 0, i16 15889, i16 12524, i16 0, i16 0, i16 786, i16 695, i16 787, i16 0, i16 12818, i16 12650, i16 0, i16 0, i16 13843, i16 0, i16 15910, i16 0, i16 14099, i16 0, i16 0, i16 0, i16 15123, i16 0, i16 13134, i16 0, i16 15891, i16 14665, i16 17026, i16 0, i16 14356, i16 13443, i16 14504, i16 0, i16 15124, i16 0, i16 0, i16 0, i16 16404, i16 0, i16 13658, i16 0, i16 16917, i16 0, i16 0, i16 0, i16 14358, i16 13399, i16 0, i16 0, i16 15126, i16 0, i16 0, i16 0, i16 15894, i16 12941, i16 12942, i16 0, i16 12311, i16 0, i16 0, i16 0, i16 14103, i16 0, i16 16763, i16 0, i16 15895, i16 0, i16 17074, i16 0, i16 16663, i16 0, i16 0, i16 0, i16 16919, i16 0, i16 0, i16 0, i16 15128, i16 0, i16 0, i16 0, i16 16664, i16 0, i16 0, i16 0, i16 16920, i16 0, i16 13816, i16 0, i16 13337, i16 0, i16 0, i16 0, i16 13849, i16 0, i16 15779, i16 0, i16 14873, i16 0, i16 0, i16 0, i16 15129, i16 0, i16 0, i16 0, i16 15641, i16 0, i16 0, i16 0, i16 15897, i16 0, i16 12885, i16 0, i16 13850, i16 0, i16 0, i16 0, i16 14362, i16 0, i16 0, i16 0, i16 16666, i16 16590, i16 15456, i16 0, i16 1051, i16 0, i16 0, i16 0, i16 16668, i16 16710, i16 12369, i16 0, i16 797, i16 703, i16 796, i16 0, i16 13853, i16 0, i16 0, i16 0, i16 15901, i16 16166, i16 14550, i16 0, i16 16157, i16 0, i16 0, i16 0, i16 13342, i16 16181, i16 12441, i16 0, i16 15134, i16 15135, i16 0, i16 0, i16 16414, i16 0, i16 0, i16 0, i16 287, i16 284, i16 0, i16 0, i16 14879, i16 16693, i16 0, i16 0, i16 16927, i16 13356, i16 0, i16 0, i16 288, i16 289, i16 290, i16 0, i16 12832, i16 16729, i16 0, i16 0, i16 15136, i16 0, i16 15657, i16 0, i16 15137, i16 0, i16 15988, i16 0, i16 16417, i16 0, i16 0, i16 0, i16 16673, i16 0, i16 13283, i16 0, i16 13602, i16 0, i16 0, i16 0, i16 14115, i16 0, i16 0, i16 0, i16 14371, i16 0, i16 0, i16 0, i16 16675, i16 0, i16 0, i16 0, i16 12580, i16 16042, i16 12849, i16 0, i16 13348, i16 14712, i16 15662, i16 0, i16 15140, i16 0, i16 0, i16 0, i16 15909, i16 0, i16 0, i16 0, i16 16933, i16 0, i16 13345, i16 0, i16 12582, i16 0, i16 13797, i16 0, i16 13350, i16 0, i16 0, i16 0, i16 13862, i16 0, i16 0, i16 0, i16 16934, i16 0, i16 0, i16 0, i16 15143, i16 16324, i16 0, i16 0, i16 12840, i16 15772, i16 0, i16 0, i16 14888, i16 14337, i16 0, i16 0, i16 16424, i16 0, i16 0, i16 0, i16 16680, i16 0, i16 0, i16 0, i16 16936, i16 12953, i16 0, i16 0, i16 14633, i16 0, i16 0, i16 0, i16 14889, i16 12899, i16 0, i16 0, i16 15401, i16 15603, i16 0, i16 0, i16 15146, i16 0, i16 0, i16 0, i16 13611, i16 0, i16 0, i16 0, i16 16684, i16 0, i16 0, i16 0, i16 14637, i16 0, i16 0, i16 0, i16 16429, i16 0, i16 0, i16 0, i16 12590, i16 0, i16 0, i16 0, i16 13358, i16 13570, i16 14553, i16 0, i16 14126, i16 0, i16 0, i16 0, i16 14894, i16 0, i16 0, i16 0, i16 15407, i16 15848, i16 16384, i16 0, i16 15919, i16 0, i16 0, i16 0, i16 16431, i16 0, i16 16343, i16 0, i16 16687, i16 0, i16 0, i16 0, i16 16943, i16 0, i16 0, i16 0, i16 15408, i16 0, i16 14373, i16 0, i16 15920, i16 0, i16 0, i16 0, i16 16176, i16 0, i16 16162, i16 0, i16 16688, i16 0, i16 16319, i16 0, i16 13617, i16 0, i16 0, i16 0, i16 14385, i16 0, i16 0, i16 0, i16 12338, i16 0, i16 0, i16 0, i16 12594, i16 0, i16 13859, i16 0, i16 12850, i16 0, i16 0, i16 0, i16 13618, i16 0, i16 0, i16 0, i16 14386, i16 0, i16 12777, i16 0, i16 15922, i16 16156, i16 13300, i16 0, i16 13363, i16 12934, i16 0, i16 0, i16 15668, i16 0, i16 0, i16 0, i16 16692, i16 0, i16 0, i16 0, i16 12341, i16 0, i16 0, i16 0, i16 14645, i16 13454, i16 13712, i16 0, i16 15925, i16 14582, i16 0, i16 0, i16 12342, i16 0, i16 0, i16 0, i16 13110, i16 0, i16 0, i16 0, i16 13622, i16 16877, i16 0, i16 0, i16 14134, i16 16977, i16 14101, i16 0, i16 15926, i16 0, i16 14100, i16 0, i16 12855, i16 0, i16 0, i16 0, i16 13111, i16 0, i16 0, i16 0, i16 15415, i16 0, i16 13550, i16 0, i16 12344, i16 14324, i16 0, i16 0, i16 13368, i16 17123, i16 0, i16 0, i16 13880, i16 0, i16 0, i16 0, i16 14136, i16 15933, i16 16499, i16 0, i16 15672, i16 0, i16 0, i16 0, i16 16184, i16 0, i16 0, i16 0, i16 14649, i16 17057, i16 12572, i16 0, i16 15161, i16 0, i16 13899, i16 0, i16 16697, i16 14679, i16 0, i16 0, i16 12602, i16 16064, i16 0, i16 0, i16 14650, i16 0, i16 0, i16 0, i16 14906, i16 15697, i16 14606, i16 0, i16 16186, i16 0, i16 0, i16 0, i16 16954, i16 0, i16 12615, i16 0, i16 12859, i16 0, i16 0, i16 0, i16 13883, i16 0, i16 0, i16 0, i16 16443, i16 0, i16 0, i16 0, i16 16955, i16 0, i16 0, i16 0, i16 1084, i16 0, i16 0, i16 0, i16 13372, i16 0, i16 15883, i16 0, i16 14652, i16 0, i16 15961, i16 0, i16 12605, i16 16723, i16 0, i16 0, i16 13373, i16 0, i16 0, i16 0, i16 14397, i16 0, i16 0, i16 0, i16 14653, i16 0, i16 0, i16 0, i16 14909, i16 15552, i16 14122, i16 0, i16 12862, i16 0, i16 0, i16 0, i16 13374, i16 0, i16 13511, i16 0, i16 12607, i16 0, i16 0, i16 0, i16 14143, i16 0, i16 0, i16 0, i16 15679, i16 0, i16 16861, i16 0, i16 16191, i16 0, i16 0, i16 0, i16 12352, i16 0, i16 13142, i16 0, i16 12608, i16 0, i16 0, i16 0, i16 13120, i16 0, i16 0, i16 0, i16 13376, i16 16172, i16 12431, i16 0, i16 13888, i16 0, i16 0, i16 0, i16 14400, i16 0, i16 0, i16 0, i16 15680, i16 13424, i16 0, i16 0, i16 13633, i16 0, i16 0, i16 0, i16 15170, i16 0, i16 0, i16 0, i16 15682, i16 0, i16 0, i16 0, i16 16194, i16 0, i16 12409, i16 0, i16 14403, i16 0, i16 15776, i16 0, i16 14659, i16 14658, i16 0, i16 0, i16 15171, i16 0, i16 0, i16 0, i16 16195, i16 0, i16 13887, i16 0, i16 13124, i16 0, i16 0, i16 0, i16 13636, i16 0, i16 0, i16 0, i16 14404, i16 0, i16 0, i16 0, i16 16196, i16 0, i16 0, i16 0, i16 16452, i16 0, i16 0, i16 0, i16 16964, i16 0, i16 14108, i16 0, i16 14661, i16 0, i16 12817, i16 0, i16 14917, i16 16969, i16 12392, i16 0, i16 15941, i16 0, i16 15896, i16 0, i16 16197, i16 0, i16 0, i16 0, i16 16454, i16 0, i16 0, i16 0, i16 13639, i16 0, i16 0, i16 0, i16 14919, i16 0, i16 0, i16 0, i16 15175, i16 0, i16 14644, i16 0, i16 15687, i16 0, i16 16380, i16 0, i16 13384, i16 0, i16 0, i16 0, i16 13896, i16 0, i16 0, i16 0, i16 14408, i16 0, i16 0, i16 0, i16 13897, i16 0, i16 0, i16 0, i16 12618, i16 17068, i16 0, i16 0, i16 13642, i16 16781, i16 0, i16 0, i16 13898, i16 16924, i16 0, i16 0, i16 15178, i16 14797, i16 0, i16 0, i16 12363, i16 0, i16 0, i16 0, i16 14411, i16 16971, i16 0, i16 0, i16 14923, i16 0, i16 15843, i16 0, i16 15947, i16 0, i16 0, i16 0, i16 16459, i16 0, i16 0, i16 0, i16 16715, i16 0, i16 0, i16 0, i16 14156, i16 0, i16 0, i16 0, i16 12877, i16 0, i16 16806, i16 0, i16 13389, i16 0, i16 0, i16 0, i16 14157, i16 0, i16 0, i16 0, i16 16461, i16 0, i16 16018, i16 0, i16 16717, i16 0, i16 0, i16 0, i16 13902, i16 0, i16 0, i16 0, i16 14926, i16 0, i16 12720, i16 0, i16 15694, i16 0, i16 15793, i16 0, i16 15950, i16 0, i16 0, i16 0, i16 16974, i16 0, i16 0, i16 0, i16 12879, i16 0, i16 0, i16 0, i16 14671, i16 0, i16 0, i16 0, i16 15439, i16 0, i16 0, i16 0, i16 15695, i16 0, i16 0, i16 0, i16 14416, i16 0, i16 0, i16 0, i16 15696, i16 0, i16 16589, i16 0, i16 14673, i16 0, i16 0, i16 0, i16 16465, i16 0, i16 15220, i16 0, i16 14162, i16 0, i16 0, i16 0, i16 16466, i16 15454, i16 13875, i16 0, i16 12627, i16 0, i16 0, i16 0, i16 13139, i16 0, i16 15444, i16 0, i16 13395, i16 0, i16 0, i16 0, i16 13651, i16 0, i16 0, i16 0, i16 16979, i16 0, i16 0, i16 0, i16 13140, i16 0, i16 0, i16 0, i16 13908, i16 0, i16 0, i16 0, i16 14420, i16 0, i16 0, i16 0, i16 14676, i16 0, i16 0, i16 0, i16 16212, i16 0, i16 0, i16 0, i16 16724, i16 0, i16 0, i16 0, i16 13141, i16 15167, i16 12734, i16 0, i16 13653, i16 0, i16 0, i16 0, i16 14421, i16 0, i16 12527, i16 0, i16 14677, i16 0, i16 0, i16 0, i16 15701, i16 0, i16 0, i16 0, i16 16213, i16 0, i16 0, i16 0, i16 12374, i16 12375, i16 0, i16 0, i16 12630, i16 0, i16 0, i16 0, i16 14678, i16 0, i16 0, i16 0, i16 16982, i16 13183, i16 0, i16 0, i16 13655, i16 0, i16 16233, i16 0, i16 14935, i16 0, i16 0, i16 0, i16 15447, i16 0, i16 0, i16 0, i16 16471, i16 13382, i16 0, i16 0, i16 16983, i16 15838, i16 14030, i16 0, i16 12376, i16 0, i16 0, i16 0, i16 14168, i16 0, i16 0, i16 0, i16 16216, i16 0, i16 14287, i16 0, i16 16728, i16 0, i16 0, i16 0, i16 89, i16 0, i16 0, i16 0, i16 14425, i16 0, i16 0, i16 0, i16 15705, i16 0, i16 0, i16 0, i16 16473, i16 0, i16 13593, i16 0, i16 16985, i16 0, i16 13907, i16 0, i16 90, i16 91, i16 92, i16 0, i16 12891, i16 0, i16 0, i16 0, i16 13915, i16 0, i16 0, i16 0, i16 14171, i16 0, i16 0, i16 0, i16 15707, i16 0, i16 0, i16 0, i16 12892, i16 0, i16 0, i16 0, i16 13660, i16 0, i16 0, i16 0, i16 14428, i16 0, i16 0, i16 0, i16 14940, i16 0, i16 0, i16 0, i16 16220, i16 16689, i16 15887, i16 0, i16 16988, i16 0, i16 0, i16 0, i16 12893, i16 0, i16 12842, i16 0, i16 14685, i16 16372, i16 0, i16 0, i16 13918, i16 12927, i16 0, i16 0, i16 16734, i16 0, i16 15318, i16 0, i16 13663, i16 0, i16 16595, i16 0, i16 12640, i16 0, i16 0, i16 0, i16 14945, i16 0, i16 0, i16 0, i16 15457, i16 0, i16 0, i16 0, i16 15713, i16 16567, i16 0, i16 0, i16 16225, i16 0, i16 15660, i16 0, i16 12386, i16 0, i16 0, i16 0, i16 14690, i16 0, i16 17039, i16 0, i16 16482, i16 0, i16 0, i16 0, i16 12643, i16 15955, i16 12727, i16 0, i16 13155, i16 12358, i16 0, i16 0, i16 13411, i16 17107, i16 0, i16 0, i16 16227, i16 0, i16 0, i16 0, i16 13412, i16 0, i16 15652, i16 0, i16 13924, i16 14113, i16 0, i16 0, i16 15972, i16 17161, i16 14439, i16 0, i16 16740, i16 0, i16 0, i16 0, i16 12901, i16 0, i16 0, i16 0, i16 15205, i16 0, i16 13167, i16 0, i16 15973, i16 0, i16 0, i16 0, i16 16741, i16 0, i16 14792, i16 0, i16 12646, i16 0, i16 12827, i16 0, i16 12902, i16 16984, i16 13252, i16 0, i16 14182, i16 0, i16 0, i16 0, i16 15462, i16 0, i16 0, i16 0, i16 12903, i16 0, i16 0, i16 0, i16 13159, i16 0, i16 0, i16 0, i16 14183, i16 0, i16 0, i16 0, i16 15207, i16 0, i16 0, i16 0, i16 15719, i16 0, i16 0, i16 0, i16 872, i16 873, i16 874, i16 0, i16 13672, i16 0, i16 0, i16 0, i16 14184, i16 0, i16 13723, i16 0, i16 14440, i16 15702, i16 13754, i16 0, i16 14696, i16 0, i16 12323, i16 0, i16 16488, i16 0, i16 0, i16 0, i16 12649, i16 0, i16 0, i16 0, i16 13161, i16 15899, i16 0, i16 0, i16 14185, i16 0, i16 0, i16 0, i16 14441, i16 0, i16 0, i16 0, i16 13162, i16 0, i16 0, i16 0, i16 13419, i16 0, i16 0, i16 0, i16 14443, i16 0, i16 0, i16 0, i16 15979, i16 16623, i16 0, i16 0, i16 876, i16 877, i16 878, i16 0, i16 13932, i16 13543, i16 0, i16 0, i16 17004, i16 16055, i16 15825, i16 0, i16 12397, i16 13647, i16 0, i16 0, i16 13165, i16 17058, i16 13093, i16 0, i16 14957, i16 0, i16 16405, i16 0, i16 15469, i16 0, i16 0, i16 0, i16 16749, i16 0, i16 0, i16 0, i16 13166, i16 0, i16 13950, i16 0, i16 15470, i16 12770, i16 0, i16 0, i16 16494, i16 13846, i16 16862, i16 0, i16 12655, i16 16472, i16 0, i16 0, i16 12911, i16 0, i16 14435, i16 0, i16 14447, i16 13098, i16 0, i16 0, i16 15215, i16 0, i16 0, i16 0, i16 15471, i16 0, i16 0, i16 0, i16 15727, i16 15044, i16 0, i16 0, i16 17007, i16 15700, i16 12367, i16 0, i16 12400, i16 0, i16 0, i16 0, i16 12912, i16 0, i16 0, i16 0, i16 14192, i16 0, i16 0, i16 0, i16 16240, i16 15211, i16 0, i16 0, i16 16496, i16 0, i16 16462, i16 0, i16 12401, i16 0, i16 0, i16 0, i16 14193, i16 16914, i16 16725, i16 0, i16 15217, i16 0, i16 12511, i16 0, i16 16497, i16 0, i16 14251, i16 0, i16 12402, i16 0, i16 0, i16 0, i16 13682, i16 0, i16 15219, i16 0, i16 14962, i16 0, i16 16960, i16 0, i16 12659, i16 16333, i16 0, i16 0, i16 13683, i16 0, i16 0, i16 0, i16 13684, i16 0, i16 12944, i16 0, i16 16756, i16 16757, i16 12346, i16 0, i16 17012, i16 13397, i16 0, i16 0, i16 17013, i16 0, i16 0, i16 0, i16 13430, i16 0, i16 0, i16 0, i16 14454, i16 0, i16 0, i16 0, i16 15222, i16 0, i16 0, i16 0, i16 15990, i16 0, i16 12661, i16 0, i16 13943, i16 13179, i16 16645, i16 0, i16 14455, i16 0, i16 0, i16 0, i16 14967, i16 0, i16 0, i16 0, i16 17015, i16 0, i16 15677, i16 0, i16 12920, i16 0, i16 0, i16 0, i16 15736, i16 0, i16 14401, i16 0, i16 13433, i16 12583, i16 0, i16 0, i16 13945, i16 0, i16 0, i16 0, i16 17017, i16 0, i16 0, i16 0, i16 15226, i16 0, i16 0, i16 0, i16 15994, i16 16110, i16 0, i16 0, i16 16762, i16 0, i16 0, i16 0, i16 15739, i16 0, i16 0, i16 0, i16 16507, i16 0, i16 0, i16 0, i16 15740, i16 0, i16 0, i16 0, i16 13693, i16 0, i16 13630, i16 0, i16 13949, i16 0, i16 14130, i16 0, i16 14461, i16 0, i16 0, i16 0, i16 15741, i16 0, i16 0, i16 0, i16 382, i16 383, i16 384, i16 0, i16 12670, i16 0, i16 0, i16 0, i16 13694, i16 0, i16 0, i16 0, i16 14718, i16 0, i16 0, i16 0, i16 16254, i16 16540, i16 14067, i16 0, i16 17022, i16 0, i16 0, i16 0, i16 13951, i16 14569, i16 0, i16 0, i16 14719, i16 0, i16 0, i16 0, i16 14975, i16 0, i16 0, i16 0, i16 15999, i16 16395, i16 0, i16 0, i16 16255, i16 15970, i16 0, i16 0, i16 14464, i16 0, i16 0, i16 0, i16 16000, i16 0, i16 15654, i16 0, i16 16768, i16 0, i16 0, i16 0, i16 129, i16 130, i16 0, i16 0, i16 12417, i16 0, i16 0, i16 0, i16 14209, i16 0, i16 0, i16 0, i16 16257, i16 13839, i16 0, i16 0, i16 12418, i16 0, i16 0, i16 0, i16 13698, i16 0, i16 0, i16 0, i16 14722, i16 0, i16 0, i16 0, i16 16514, i16 0, i16 0, i16 0, i16 15236, i16 0, i16 12423, i16 0, i16 17028, i16 0, i16 14146, i16 0, i16 133, i16 0, i16 0, i16 0, i16 13957, i16 0, i16 0, i16 0, i16 14469, i16 0, i16 14664, i16 0, i16 15749, i16 15089, i16 0, i16 0, i16 16773, i16 0, i16 0, i16 0, i16 17029, i16 16890, i16 0, i16 0, i16 134, i16 0, i16 0, i16 0, i16 12422, i16 16944, i16 0, i16 0, i16 13702, i16 0, i16 0, i16 0, i16 14726, i16 12950, i16 15112, i16 0, i16 135, i16 0, i16 216, i16 0, i16 12935, i16 15489, i16 14213, i16 0, i16 13191, i16 13212, i16 14463, i16 0, i16 13959, i16 13804, i16 0, i16 0, i16 16007, i16 0, i16 16851, i16 0, i16 17031, i16 0, i16 15590, i16 0, i16 13192, i16 0, i16 14757, i16 0, i16 13448, i16 0, i16 0, i16 0, i16 14728, i16 0, i16 14610, i16 0, i16 16008, i16 0, i16 0, i16 0, i16 12681, i16 0, i16 0, i16 0, i16 15753, i16 0, i16 0, i16 0, i16 13194, i16 0, i16 14601, i16 0, i16 13706, i16 13328, i16 0, i16 0, i16 12683, i16 0, i16 0, i16 0, i16 16267, i16 13977, i16 0, i16 0, i16 16523, i16 0, i16 0, i16 0, i16 13196, i16 16505, i16 0, i16 0, i16 16268, i16 0, i16 0, i16 0, i16 15501, i16 0, i16 0, i16 0, i16 13966, i16 0, i16 14225, i16 0, i16 14222, i16 0, i16 15866, i16 0, i16 16782, i16 15483, i16 12909, i16 0, i16 14991, i16 0, i16 0, i16 0, i16 14224, i16 16057, i16 16615, i16 0, i16 14480, i16 0, i16 0, i16 0, i16 14736, i16 0, i16 16389, i16 0, i16 14992, i16 0, i16 12530, i16 0, i16 15760, i16 0, i16 15102, i16 0, i16 16528, i16 0, i16 12544, i16 0, i16 12689, i16 0, i16 0, i16 0, i16 14481, i16 0, i16 0, i16 0, i16 16017, i16 0, i16 16265, i16 0, i16 16273, i16 0, i16 0, i16 0, i16 17041, i16 12577, i16 0, i16 0, i16 13714, i16 0, i16 17088, i16 0, i16 13970, i16 0, i16 0, i16 0, i16 14994, i16 0, i16 0, i16 0, i16 13203, i16 0, i16 15248, i16 0, i16 13715, i16 0, i16 0, i16 0, i16 14227, i16 0, i16 14729, i16 0, i16 12436, i16 12560, i16 0, i16 0, i16 15508, i16 0, i16 0, i16 0, i16 16020, i16 13774, i16 13965, i16 0, i16 16788, i16 0, i16 13922, i16 0, i16 12949, i16 14112, i16 0, i16 0, i16 14485, i16 12372, i16 0, i16 0, i16 14997, i16 0, i16 0, i16 0, i16 15509, i16 17038, i16 0, i16 0, i16 15765, i16 0, i16 13172, i16 0, i16 16021, i16 0, i16 0, i16 0, i16 16533, i16 17065, i16 15937, i16 0, i16 14742, i16 0, i16 0, i16 0, i16 14998, i16 0, i16 0, i16 0, i16 16278, i16 12741, i16 0, i16 0, i16 16534, i16 0, i16 0, i16 0, i16 14487, i16 0, i16 0, i16 0, i16 16279, i16 0, i16 0, i16 0, i16 13720, i16 0, i16 14858, i16 0, i16 16280, i16 14376, i16 0, i16 0, i16 13721, i16 0, i16 13661, i16 0, i16 15769, i16 0, i16 0, i16 0, i16 16025, i16 0, i16 12517, i16 0, i16 13978, i16 0, i16 0, i16 0, i16 14234, i16 0, i16 0, i16 0, i16 14490, i16 0, i16 16578, i16 0, i16 13467, i16 0, i16 0, i16 0, i16 15259, i16 0, i16 0, i16 0, i16 13724, i16 13489, i16 0, i16 0, i16 14492, i16 0, i16 0, i16 0, i16 15260, i16 0, i16 0, i16 0, i16 12445, i16 0, i16 0, i16 0, i16 13981, i16 0, i16 0, i16 0, i16 14749, i16 0, i16 15349, i16 0, i16 16797, i16 14625, i16 0, i16 0, i16 14750, i16 0, i16 14516, i16 0, i16 15262, i16 0, i16 0, i16 0, i16 15774, i16 0, i16 0, i16 0, i16 16286, i16 13429, i16 14081, i16 0, i16 12703, i16 0, i16 0, i16 0, i16 12959, i16 0, i16 0, i16 0, i16 13471, i16 0, i16 0, i16 0, i16 16799, i16 0, i16 0, i16 0, i16 14240, i16 0, i16 0, i16 0, i16 15264, i16 0, i16 0, i16 0, i16 16288, i16 0, i16 0, i16 0, i16 12449, i16 0, i16 0, i16 0, i16 14754, i16 0, i16 0, i16 0, i16 16034, i16 0, i16 14965, i16 0, i16 13219, i16 0, i16 0, i16 0, i16 13475, i16 12802, i16 0, i16 0, i16 13987, i16 0, i16 0, i16 0, i16 14499, i16 0, i16 14961, i16 0, i16 14755, i16 0, i16 0, i16 0, i16 15011, i16 0, i16 0, i16 0, i16 16035, i16 0, i16 0, i16 0, i16 16803, i16 0, i16 14505, i16 0, i16 13988, i16 0, i16 0, i16 0, i16 15012, i16 0, i16 13477, i16 0, i16 15268, i16 0, i16 0, i16 0, i16 12453, i16 0, i16 0, i16 0, i16 14245, i16 0, i16 0, i16 0, i16 15270, i16 13548, i16 0, i16 0, i16 13223, i16 12676, i16 0, i16 0, i16 15015, i16 0, i16 14969, i16 0, i16 16039, i16 0, i16 0, i16 0, i16 16551, i16 0, i16 0, i16 0, i16 13992, i16 12922, i16 12751, i16 0, i16 14248, i16 0, i16 13984, i16 0, i16 15016, i16 0, i16 0, i16 0, i16 169, i16 347, i16 0, i16 0, i16 14761, i16 0, i16 0, i16 0, i16 16809, i16 0, i16 15476, i16 0, i16 12970, i16 0, i16 0, i16 0, i16 14506, i16 12454, i16 0, i16 0, i16 14762, i16 0, i16 0, i16 0, i16 15786, i16 16009, i16 0, i16 0, i16 14507, i16 0, i16 13835, i16 0, i16 16555, i16 14270, i16 15187, i16 0, i16 12716, i16 16963, i16 13886, i16 0, i16 13740, i16 0, i16 0, i16 0, i16 14252, i16 0, i16 13592, i16 0, i16 15532, i16 0, i16 0, i16 0, i16 173, i16 0, i16 0, i16 0, i16 12461, i16 0, i16 0, i16 0, i16 14510, i16 12978, i16 0, i16 0, i16 16814, i16 0, i16 0, i16 0, i16 12719, i16 15416, i16 0, i16 0, i16 13231, i16 0, i16 0, i16 0, i16 13487, i16 0, i16 0, i16 0, i16 16047, i16 0, i16 0, i16 0, i16 16303, i16 13486, i16 15435, i16 0, i16 12464, i16 0, i16 0, i16 0, i16 13232, i16 0, i16 14864, i16 0, i16 14000, i16 0, i16 0, i16 0, i16 15280, i16 0, i16 0, i16 0, i16 16304, i16 0, i16 0, i16 0, i16 17072, i16 0, i16 13786, i16 0, i16 13745, i16 0, i16 0, i16 0, i16 14001, i16 0, i16 16036, i16 0, i16 17073, i16 0, i16 0, i16 0, i16 12722, i16 0, i16 0, i16 0, i16 14002, i16 13056, i16 16377, i16 0, i16 16306, i16 0, i16 0, i16 0, i16 12467, i16 0, i16 0, i16 0, i16 12979, i16 15210, i16 0, i16 0, i16 13235, i16 16467, i16 0, i16 0, i16 14003, i16 0, i16 12539, i16 0, i16 14259, i16 0, i16 0, i16 0, i16 12468, i16 0, i16 0, i16 0, i16 13236, i16 0, i16 0, i16 0, i16 13748, i16 0, i16 0, i16 0, i16 14772, i16 0, i16 0, i16 0, i16 14261, i16 0, i16 16750, i16 0, i16 15797, i16 0, i16 15079, i16 0, i16 182, i16 181, i16 0, i16 0, i16 12982, i16 0, i16 0, i16 0, i16 16566, i16 14236, i16 12396, i16 0, i16 14007, i16 0, i16 14200, i16 0, i16 15287, i16 15298, i16 0, i16 0, i16 16311, i16 0, i16 0, i16 0, i16 17079, i16 0, i16 16957, i16 0, i16 14008, i16 0, i16 0, i16 0, i16 14264, i16 0, i16 0, i16 0, i16 15032, i16 0, i16 0, i16 0, i16 15800, i16 0, i16 12647, i16 0, i16 17080, i16 0, i16 0, i16 0, i16 14777, i16 0, i16 12653, i16 0, i16 12730, i16 13939, i16 0, i16 0, i16 13242, i16 0, i16 0, i16 0, i16 17082, i16 15463, i16 0, i16 0, i16 13243, i16 0, i16 0, i16 0, i16 13499, i16 0, i16 12619, i16 0, i16 15547, i16 0, i16 0, i16 0, i16 16059, i16 0, i16 0, i16 0, i16 16827, i16 0, i16 0, i16 0, i16 12732, i16 0, i16 0, i16 0, i16 14780, i16 0, i16 0, i16 0, i16 16060, i16 16222, i16 16477, i16 0, i16 14013, i16 0, i16 0, i16 0, i16 16829, i16 14875, i16 0, i16 0, i16 12478, i16 0, i16 13819, i16 0, i16 16318, i16 0, i16 0, i16 0, i16 17086, i16 16766, i16 0, i16 0, i16 959, i16 960, i16 961, i16 0, i16 12479, i16 17114, i16 0, i16 0, i16 16831, i16 0, i16 0, i16 0, i16 17087, i16 0, i16 14320, i16 0, i16 12736, i16 0, i16 0, i16 0, i16 14784, i16 0, i16 0, i16 0, i16 15296, i16 0, i16 0, i16 0, i16 14529, i16 15967, i16 0, i16 0, i16 14785, i16 0, i16 14535, i16 0, i16 16577, i16 0, i16 16787, i16 0, i16 14018, i16 0, i16 12889, i16 0, i16 15554, i16 16918, i16 14331, i16 0, i16 17090, i16 0, i16 0, i16 0, i16 13507, i16 0, i16 0, i16 0, i16 14787, i16 14334, i16 12388, i16 0, i16 15555, i16 13137, i16 0, i16 0, i16 16067, i16 0, i16 14279, i16 0, i16 16835, i16 0, i16 0, i16 0, i16 14276, i16 0, i16 0, i16 0, i16 14532, i16 0, i16 0, i16 0, i16 15812, i16 0, i16 0, i16 0, i16 16580, i16 0, i16 16561, i16 0, i16 17092, i16 13324, i16 0, i16 0, i16 12485, i16 0, i16 0, i16 0, i16 13509, i16 0, i16 0, i16 0, i16 16581, i16 0, i16 0, i16 0, i16 17093, i16 14943, i16 0, i16 0, i16 13766, i16 16326, i16 0, i16 0, i16 15302, i16 0, i16 0, i16 0, i16 12487, i16 16568, i16 0, i16 0, i16 15559, i16 0, i16 0, i16 0, i16 15815, i16 0, i16 13257, i16 0, i16 16327, i16 0, i16 0, i16 0, i16 16583, i16 0, i16 0, i16 0, i16 12488, i16 0, i16 0, i16 0, i16 12744, i16 0, i16 16842, i16 0, i16 14024, i16 17150, i16 0, i16 0, i16 15048, i16 0, i16 0, i16 0, i16 13769, i16 0, i16 0, i16 0, i16 14537, i16 0, i16 0, i16 0, i16 14538, i16 0, i16 0, i16 0, i16 16330, i16 0, i16 0, i16 0, i16 12491, i16 0, i16 0, i16 0, i16 12747, i16 0, i16 0, i16 0, i16 14283, i16 0, i16 0, i16 0, i16 15563, i16 15180, i16 0, i16 0, i16 16331, i16 0, i16 0, i16 0, i16 16587, i16 16365, i16 0, i16 0, i16 204, i16 160, i16 0, i16 0, i16 12492, i16 0, i16 0, i16 0, i16 12748, i16 12463, i16 14825, i16 0, i16 15564, i16 14603, i16 14662, i16 0, i16 16076, i16 16453, i16 0, i16 0, i16 12493, i16 13904, i16 0, i16 0, i16 14029, i16 0, i16 0, i16 0, i16 12750, i16 0, i16 13916, i16 0, i16 15054, i16 0, i16 0, i16 0, i16 16334, i16 0, i16 0, i16 0, i16 16846, i16 0, i16 0, i16 0, i16 15312, i16 16790, i16 14958, i16 0, i16 15824, i16 0, i16 0, i16 0, i16 12497, i16 0, i16 0, i16 0, i16 12498, i16 16586, i16 0, i16 0, i16 13266, i16 0, i16 0, i16 0, i16 16082, i16 0, i16 0, i16 0, i16 16338, i16 16898, i16 0, i16 0, i16 13267, i16 0, i16 0, i16 0, i16 15571, i16 0, i16 13048, i16 0, i16 16339, i16 0, i16 0, i16 0, i16 13268, i16 0, i16 16251, i16 0, i16 14548, i16 0, i16 13322, i16 0, i16 17108, i16 0, i16 0, i16 0, i16 13525, i16 0, i16 0, i16 0, i16 14549, i16 16208, i16 0, i16 0, i16 15061, i16 16355, i16 12754, i16 0, i16 16085, i16 0, i16 16086, i16 0, i16 16341, i16 0, i16 0, i16 0, i16 12758, i16 0, i16 0, i16 0, i16 13782, i16 13206, i16 0, i16 0, i16 14038, i16 0, i16 0, i16 0, i16 14294, i16 0, i16 0, i16 0, i16 13271, i16 15273, i16 0, i16 0, i16 14551, i16 0, i16 0, i16 0, i16 15063, i16 0, i16 0, i16 0, i16 15319, i16 15008, i16 0, i16 0, i16 16087, i16 0, i16 0, i16 0, i16 16855, i16 0, i16 0, i16 0, i16 17111, i16 0, i16 0, i16 0, i16 13528, i16 0, i16 0, i16 0, i16 15320, i16 13709, i16 0, i16 0, i16 15576, i16 0, i16 0, i16 0, i16 15832, i16 0, i16 0, i16 0, i16 17112, i16 0, i16 15491, i16 0, i16 15577, i16 15748, i16 0, i16 0, i16 16857, i16 0, i16 0, i16 0, i16 17113, i16 0, i16 0, i16 0, i16 12506, i16 0, i16 0, i16 0, i16 13530, i16 0, i16 16095, i16 0, i16 15834, i16 16856, i16 0, i16 0, i16 16090, i16 0, i16 15381, i16 0, i16 16346, i16 0, i16 0, i16 0, i16 16858, i16 0, i16 0, i16 0, i16 12507, i16 15526, i16 12403, i16 0, i16 16091, i16 0, i16 0, i16 0, i16 16347, i16 14430, i16 0, i16 0, i16 14044, i16 0, i16 0, i16 0, i16 14556, i16 0, i16 13251, i16 0, i16 12765, i16 0, i16 0, i16 0, i16 17117, i16 0, i16 0, i16 0, i16 14302, i16 0, i16 0, i16 0, i16 16094, i16 0, i16 12956, i16 0, i16 12767, i16 0, i16 0, i16 0, i16 15583, i16 0, i16 14655, i16 0, i16 14304, i16 15497, i16 0, i16 0, i16 14560, i16 0, i16 0, i16 0, i16 15840, i16 0, i16 16260, i16 0, i16 13281, i16 0, i16 0, i16 0, i16 14049, i16 0, i16 0, i16 0, i16 16097, i16 0, i16 12370, i16 0, i16 15074, i16 0, i16 0, i16 0, i16 15330, i16 15690, i16 15960, i16 0, i16 16866, i16 0, i16 0, i16 0, i16 227, i16 0, i16 0, i16 0, i16 12515, i16 0, i16 13876, i16 0, i16 14563, i16 0, i16 0, i16 0, i16 16611, i16 0, i16 0, i16 0, i16 12516, i16 0, i16 0, i16 0, i16 13284, i16 0, i16 0, i16 0, i16 13540, i16 0, i16 0, i16 0, i16 13796, i16 0, i16 0, i16 0, i16 14308, i16 0, i16 0, i16 0, i16 14309, i16 0, i16 0, i16 0, i16 14565, i16 0, i16 16525, i16 0, i16 16101, i16 14818, i16 0, i16 0, i16 16357, i16 14010, i16 0, i16 0, i16 14566, i16 0, i16 0, i16 0, i16 15334, i16 0, i16 0, i16 0, i16 16102, i16 16942, i16 15214, i16 0, i16 15847, i16 0, i16 0, i16 0, i16 16359, i16 15252, i16 0, i16 0, i16 232, i16 0, i16 0, i16 0, i16 15336, i16 0, i16 15165, i16 0, i16 16361, i16 15730, i16 0, i16 0, i16 14058, i16 0, i16 0, i16 0, i16 14314, i16 0, i16 0, i16 0, i16 15082, i16 12921, i16 14023, i16 0, i16 12779, i16 0, i16 0, i16 0, i16 13035, i16 0, i16 0, i16 0, i16 15083, i16 16001, i16 0, i16 0, i16 15595, i16 0, i16 0, i16 0, i16 16107, i16 0, i16 14187, i16 0, i16 16363, i16 0, i16 0, i16 0, i16 236, i16 0, i16 0, i16 0, i16 15596, i16 0, i16 0, i16 0, i16 16876, i16 0, i16 0, i16 0, i16 14061, i16 0, i16 0, i16 0, i16 14829, i16 14436, i16 16437, i16 0, i16 16621, i16 15846, i16 0, i16 0, i16 17133, i16 0, i16 0, i16 0, i16 12782, i16 0, i16 0, i16 0, i16 14318, i16 0, i16 14389, i16 0, i16 15598, i16 12969, i16 0, i16 0, i16 239, i16 0, i16 0, i16 0, i16 13295, i16 0, i16 0, i16 0, i16 496, i16 497, i16 498, i16 0, i16 12784, i16 0, i16 14922, i16 0, i16 16624, i16 0, i16 0, i16 0, i16 16880, i16 16428, i16 16881, i16 0, i16 14322, i16 15067, i16 0, i16 0, i16 14578, i16 0, i16 0, i16 0, i16 15602, i16 0, i16 0, i16 0, i16 12531, i16 0, i16 0, i16 0, i16 13299, i16 14574, i16 0, i16 0, i16 15859, i16 12469, i16 0, i16 0, i16 17139, i16 0, i16 0, i16 0, i16 12532, i16 0, i16 0, i16 0, i16 14836, i16 0, i16 0, i16 0, i16 13301, i16 0, i16 0, i16 0, i16 13557, i16 13244, i16 16772, i16 0, i16 12534, i16 0, i16 13973, i16 0, i16 13814, i16 13690, i16 0, i16 0, i16 14070, i16 0, i16 0, i16 0, i16 15862, i16 0, i16 0, i16 0, i16 16118, i16 0, i16 0, i16 0, i16 13303, i16 0, i16 0, i16 0, i16 13559, i16 14258, i16 0, i16 0, i16 14327, i16 14477, i16 0, i16 0, i16 16119, i16 0, i16 13937, i16 0, i16 16887, i16 0, i16 0, i16 0, i16 17143, i16 12677, i16 0, i16 0, i16 14840, i16 12604, i16 15706, i16 0, i16 14329, i16 0, i16 15728, i16 0, i16 16633, i16 0, i16 15151, i16 0, i16 13818, i16 16626, i16 15466, i16 0, i16 14330, i16 0, i16 0, i16 0, i16 16634, i16 12664, i16 0, i16 0, i16 251, i16 0, i16 0, i16 0, i16 13307, i16 0, i16 12887, i16 0, i16 16123, i16 0, i16 0, i16 0, i16 16379, i16 0, i16 0, i16 0, i16 16635, i16 0, i16 0, i16 0, i16 17147, i16 16591, i16 0, i16 0, i16 12796, i16 0, i16 0, i16 0, i16 14844, i16 0, i16 0, i16 0, i16 15356, i16 0, i16 0, i16 0, i16 15868, i16 0, i16 0, i16 0, i16 16636, i16 0, i16 0, i16 0, i16 16892, i16 13247, i16 0, i16 0, i16 12797, i16 0, i16 0, i16 0, i16 15613, i16 14079, i16 0, i16 0, i16 12286, i16 0, i16 13968, i16 0, i16 14078, i16 0, i16 0, i16 0, i16 14590, i16 13127, i16 0, i16 0, i16 15614, i16 13555, i16 13688, i16 0, i16 15870, i16 0, i16 0, i16 0, i16 16126, i16 0, i16 0, i16 0, i16 16382, i16 0, i16 0, i16 0, i16 12543, i16 0, i16 13728, i16 0, i16 13823, i16 0, i16 13674, i16 0, i16 15615, i16 12820, i16 0, i16 15104, i16 0, i16 0, i16 0, i16 15616, i16 13933, i16 15995, i16 0, i16 16128, i16 0, i16 0, i16 12308, i16 16640, i16 0, i16 0, i16 16054, i16 17152, i16 12348, i16 0, i16 0, i16 257, i16 258, i16 261, i16 260, i16 12801, i16 0, i16 0, i16 0, i16 13569, i16 16879, i16 0, i16 0, i16 14849, i16 0, i16 0, i16 0, i16 15617, i16 14776, i16 0, i16 0, i16 15873, i16 0, i16 14896, i16 0, i16 16385, i16 0, i16 0, i16 0, i16 514, i16 515, i16 516, i16 517, i16 770, i16 771, i16 772, i16 0, i16 1026, i16 1027, i16 1028, i16 1029, i16 13058, i16 12645, i16 0, i16 14683, i16 15874, i16 0, i16 0, i16 12460, i16 16386, i16 0, i16 0, i16 0, i16 259, i16 262, i16 0, i16 0, i16 12803, i16 0, i16 0, i16 0, i16 13059, i16 13351, i16 0, i16 0, i16 14083, i16 14084, i16 0, i16 0, i16 15107, i16 0, i16 0, i16 0, i16 16387, i16 0, i16 15688, i16 0, i16 16643, i16 0, i16 0, i16 0, i16 17155, i16 0, i16 16783, i16 0, i16 13828, i16 0, i16 0, i16 0, i16 15108, i16 12610, i16 14517, i16 0, i16 15364, i16 15365, i16 12936, i16 0, i16 15876, i16 0, i16 0, i16 0, i16 12805, i16 13691, i16 0, i16 0, i16 14853, i16 0, i16 0, i16 0, i16 15621, i16 0, i16 0, i16 0, i16 16901, i16 0, i16 0, i16 16677, i16 17157, i16 0, i16 0, i16 0, i16 518, i16 519, i16 0, i16 0, i16 1030, i16 1031, i16 1032, i16 1033, i16 13574, i16 0, i16 0, i16 0, i16 13830, i16 0, i16 0, i16 0, i16 14086, i16 0, i16 0, i16 0, i16 14342, i16 15893, i16 15892, i16 0, i16 7, i16 8, i16 9, i16 10, i16 263, i16 277, i16 278, i16 0, i16 775, i16 0, i16 0, i16 0, i16 12807, i16 0, i16 0, i16 0, i16 13319, i16 0, i16 0, i16 0, i16 13831, i16 0, i16 0, i16 0, i16 14855, i16 0, i16 0, i16 0, i16 15367, i16 0, i16 0, i16 17002, i16 15879, i16 14820, i16 14767, i16 0, i16 17159, i16 17158, i16 16518, i16 0, i16 776, i16 773, i16 777, i16 233, i16 12552, i16 16573, i16 0, i16 14188, i16 12808, i16 0, i16 0, i16 0, i16 13576, i16 12432, i16 0, i16 0, i16 16904, i16 0, i16 0, i16 0, i16 13065, i16 0, i16 0, i16 0, i16 13321, i16 13327, i16 13330, i16 13434, i16 14345, i16 13568, i16 0, i16 0, i16 15113, i16 14228, i16 0, i16 0, i16 15369, i16 15370, i16 0, i16 0, i16 16393, i16 13771, i16 0, i16 0, i16 266, i16 0, i16 267, i16 0, i16 1034, i16 1035, i16 1036, i16 1037, i16 12298, i16 0, i16 16519, i16 0, i16 12554, i16 0, i16 0, i16 0, i16 14090, i16 15681, i16 12652, i16 0, i16 11, i16 12, i16 13, i16 14, i16 523, i16 524, i16 525, i16 526, i16 779, i16 780, i16 781, i16 0, i16 15371, i16 0, i16 12852, i16 0, i16 15627, i16 0, i16 0, i16 0, i16 16907, i16 14760, i16 0, i16 0, i16 12812, i16 0, i16 13177, i16 0, i16 13068, i16 13069, i16 13070, i16 13072, i16 13580, i16 16024, i16 14835, i16 13381, i16 14604, i16 15275, i16 0, i16 0, i16 15372, i16 12415, i16 0, i16 12648, i16 269, i16 270, i16 0, i16 0, i16 12301, i16 12570, i16 0, i16 12599, i16 12813, i16 0, i16 0, i16 15111, i16 13581, i16 12989, i16 0, i16 0, i16 13837, i16 0, i16 16492, i16 0, i16 14093, i16 0, i16 0, i16 12975, i16 14861, i16 0, i16 15592, i16 0, i16 16141, i16 0, i16 0, i16 0, i16 16653, i16 0, i16 0, i16 0, i16 1038, i16 1039, i16 1040, i16 1041, i16 12814, i16 0, i16 0, i16 12706, i16 13838, i16 14545, i16 16980, i16 0, i16 15374, i16 15377, i16 15382, i16 15384, i16 15630, i16 0, i16 0, i16 0, i16 15886, i16 15536, i16 0, i16 14123, i16 16142, i16 14132, i16 14450, i16 0, i16 15, i16 16, i16 17, i16 18, i16 527, i16 528, i16 529, i16 530, i16 12303, i16 13730, i16 0, i16 0, i16 14095, i16 0, i16 0, i16 0, i16 15375, i16 0, i16 0, i16 0, i16 15631, i16 14274, i16 14286, i16 16727, i16 16143, i16 0, i16 0, i16 12638, i16 16399, i16 0, i16 14372, i16 0, i16 784, i16 0, i16 0, i16 0, i16 13840, i16 0, i16 12299, i16 0, i16 14096, i16 16478, i16 0, i16 0, i16 17168, i16 0, i16 0, i16 0, i16 12305, i16 0, i16 0, i16 13199, i16 12561, i16 0, i16 0, i16 0, i16 13073, i16 13074, i16 13075, i16 13076, i16 14097, i16 0, i16 0, i16 0, i16 14865, i16 0, i16 0, i16 0, i16 15633, i16 12694, i16 0, i16 12377, i16 16401, i16 0, i16 12835, i16 0, i16 1042, i16 1043, i16 1044, i16 0, i16 13586, i16 0, i16 14476, i16 0, i16 13842, i16 12965, i16 0, i16 14265, i16 14098, i16 0, i16 0, i16 0, i16 15122, i16 15419, i16 0, i16 15300, i16 15634, i16 13210, i16 0, i16 0, i16 16402, i16 0, i16 0, i16 12309, i16 17170, i16 16987, i16 16811, i16 14313, i16 19, i16 20, i16 21, i16 0, i16 275, i16 273, i16 0, i16 0, i16 531, i16 532, i16 533, i16 534, i16 12307, i16 0, i16 15734, i16 0, i16 13587, i16 0, i16 0, i16 0, i16 16403, i16 12791, i16 0, i16 0, i16 788, i16 0, i16 0, i16 0, i16 12564, i16 12629, i16 0, i16 14470, i16 14868, i16 14870, i16 14874, i16 14910, i16 16916, i16 13696, i16 0, i16 0, i16 789, i16 697, i16 790, i16 0, i16 1045, i16 1046, i16 1047, i16 1048, i16 12565, i16 0, i16 0, i16 0, i16 12821, i16 0, i16 0, i16 0, i16 13077, i16 13079, i16 13080, i16 13081, i16 13333, i16 0, i16 0, i16 0, i16 14357, i16 0, i16 0, i16 0, i16 14613, i16 13502, i16 0, i16 0, i16 14869, i16 0, i16 0, i16 0, i16 15637, i16 14361, i16 14107, i16 0, i16 22, i16 0, i16 23, i16 24, i16 16150, i16 14012, i16 13767, i16 0, i16 279, i16 276, i16 0, i16 0, i16 535, i16 536, i16 0, i16 537, i16 791, i16 0, i16 0, i16 0, i16 12567, i16 0, i16 0, i16 15172, i16 12823, i16 16179, i16 15581, i16 12312, i16 13847, i16 0, i16 0, i16 13811, i16 14359, i16 0, i16 0, i16 0, i16 14615, i16 0, i16 0, i16 14235, i16 15127, i16 0, i16 15766, i16 0, i16 15383, i16 0, i16 13753, i16 0, i16 12568, i16 0, i16 0, i16 13306, i16 12824, i16 0, i16 15607, i16 12864, i16 14104, i16 0, i16 0, i16 0, i16 14872, i16 0, i16 0, i16 0, i16 15640, i16 0, i16 0, i16 14139, i16 25, i16 26, i16 27, i16 28, i16 281, i16 0, i16 0, i16 0, i16 1049, i16 1050, i16 1052, i16 1053, i16 12313, i16 13332, i16 0, i16 12825, i16 14617, i16 0, i16 13773, i16 15987, i16 16409, i16 0, i16 15799, i16 0, i16 538, i16 539, i16 540, i16 541, i16 12314, i16 0, i16 0, i16 0, i16 12826, i16 0, i16 0, i16 12800, i16 13082, i16 13083, i16 13084, i16 13085, i16 14106, i16 16843, i16 0, i16 16575, i16 14618, i16 0, i16 0, i16 0, i16 15642, i16 0, i16 0, i16 0, i16 13339, i16 15747, i16 0, i16 0, i16 13851, i16 0, i16 13432, i16 0, i16 14363, i16 0, i16 0, i16 15368, i16 14619, i16 0, i16 0, i16 0, i16 15131, i16 0, i16 0, i16 16830, i16 16411, i16 0, i16 0, i16 0, i16 16923, i16 14142, i16 0, i16 14540, i16 12316, i16 0, i16 0, i16 16908, i16 13596, i16 0, i16 15599, i16 0, i16 14364, i16 17134, i16 0, i16 0, i16 14876, i16 0, i16 0, i16 0, i16 15388, i16 15391, i16 15393, i16 15394, i16 29, i16 30, i16 31, i16 32, i16 12317, i16 0, i16 0, i16 15758, i16 12573, i16 0, i16 0, i16 0, i16 13341, i16 0, i16 0, i16 0, i16 14109, i16 0, i16 0, i16 13273, i16 15389, i16 0, i16 14346, i16 14634, i16 286, i16 0, i16 0, i16 679, i16 542, i16 543, i16 0, i16 0, i16 798, i16 799, i16 800, i16 801, i16 1054, i16 1055, i16 1056, i16 1057, i16 12574, i16 0, i16 14714, i16 0, i16 13086, i16 13087, i16 13088, i16 13089, i16 13598, i16 0, i16 0, i16 0, i16 14366, i16 0, i16 0, i16 13288, i16 14622, i16 0, i16 0, i16 13168, i16 14878, i16 14663, i16 0, i16 0, i16 13343, i16 0, i16 0, i16 16050, i16 13855, i16 13834, i16 0, i16 12997, i16 14111, i16 12898, i16 0, i16 14936, i16 14367, i16 0, i16 0, i16 0, i16 15647, i16 0, i16 0, i16 0, i16 16159, i16 0, i16 0, i16 0, i16 544, i16 555, i16 545, i16 556, i16 13600, i16 0, i16 0, i16 0, i16 13856, i16 16531, i16 0, i16 0, i16 14880, i16 0, i16 0, i16 0, i16 16160, i16 0, i16 0, i16 0, i16 16416, i16 0, i16 13817, i16 0, i16 33, i16 34, i16 35, i16 36, i16 13857, i16 0, i16 0, i16 0, i16 546, i16 583, i16 582, i16 557, i16 802, i16 803, i16 804, i16 805, i16 1058, i16 1059, i16 1060, i16 1061, i16 12578, i16 0, i16 0, i16 0, i16 12834, i16 16537, i16 13775, i16 0, i16 14626, i16 0, i16 0, i16 0, i16 15138, i16 0, i16 0, i16 0, i16 16930, i16 0, i16 0, i16 0, i16 291, i16 292, i16 293, i16 294, i16 547, i16 577, i16 576, i16 558, i16 12579, i16 12755, i16 0, i16 0, i16 13091, i16 13092, i16 13096, i16 13097, i16 13347, i16 0, i16 0, i16 0, i16 14627, i16 14539, i16 15436, i16 0, i16 15651, i16 0, i16 15105, i16 0, i16 16931, i16 0, i16 0, i16 12335, i16 548, i16 579, i16 578, i16 559, i16 15908, i16 0, i16 0, i16 0, i16 16164, i16 0, i16 13836, i16 0, i16 16932, i16 15385, i16 0, i16 0, i16 37, i16 38, i16 39, i16 40, i16 549, i16 581, i16 580, i16 560, i16 13349, i16 0, i16 0, i16 0, i16 13605, i16 0, i16 0, i16 0, i16 13861, i16 0, i16 14594, i16 15626, i16 14629, i16 0, i16 12476, i16 0, i16 14885, i16 0, i16 0, i16 0, i16 15141, i16 0, i16 0, i16 12717, i16 15397, i16 0, i16 0, i16 0, i16 15653, i16 0, i16 0, i16 16014, i16 550, i16 571, i16 584, i16 585, i16 806, i16 807, i16 808, i16 809, i16 1062, i16 1063, i16 1064, i16 1065, i16 12326, i16 0, i16 0, i16 0, i16 13606, i16 0, i16 0, i16 0, i16 14118, i16 16596, i16 15068, i16 14731, i16 14886, i16 0, i16 12514, i16 0, i16 16422, i16 0, i16 14654, i16 0, i16 295, i16 296, i16 297, i16 298, i16 551, i16 592, i16 593, i16 567, i16 12839, i16 0, i16 0, i16 0, i16 13607, i16 14883, i16 16707, i16 0, i16 13863, i16 0, i16 0, i16 0, i16 15399, i16 0, i16 0, i16 0, i16 15655, i16 14031, i16 14395, i16 0, i16 16167, i16 0, i16 15903, i16 0, i16 16935, i16 0, i16 0, i16 0, i16 552, i16 573, i16 588, i16 589, i16 13352, i16 0, i16 0, i16 0, i16 13608, i16 0, i16 0, i16 0, i16 14120, i16 0, i16 15293, i16 0, i16 15144, i16 0, i16 0, i16 0, i16 15912, i16 12541, i16 13870, i16 0, i16 41, i16 42, i16 43, i16 44, i16 553, i16 596, i16 597, i16 569, i16 12585, i16 0, i16 0, i16 0, i16 12841, i16 12810, i16 0, i16 0, i16 13865, i16 0, i16 0, i16 13462, i16 14377, i16 12693, i16 0, i16 12872, i16 15913, i16 0, i16 0, i16 0, i16 16169, i16 12857, i16 0, i16 13290, i16 554, i16 600, i16 601, i16 570, i16 810, i16 811, i16 812, i16 813, i16 1066, i16 1067, i16 1068, i16 1069, i16 13866, i16 0, i16 14612, i16 0, i16 14378, i16 0, i16 16272, i16 13312, i16 15402, i16 0, i16 0, i16 0, i16 16426, i16 14161, i16 0, i16 0, i16 16682, i16 0, i16 0, i16 0, i16 16938, i16 0, i16 16694, i16 16603, i16 299, i16 300, i16 301, i16 302, i16 12331, i16 0, i16 0, i16 0, i16 13099, i16 13100, i16 13102, i16 13103, i16 13867, i16 0, i16 0, i16 0, i16 15659, i16 0, i16 0, i16 14841, i16 13612, i16 0, i16 16751, i16 13410, i16 14636, i16 0, i16 0, i16 0, i16 14892, i16 14009, i16 0, i16 0, i16 15148, i16 0, i16 15943, i16 12679, i16 15916, i16 0, i16 0, i16 0, i16 16940, i16 16394, i16 14706, i16 0, i16 45, i16 46, i16 47, i16 48, i16 12333, i16 0, i16 0, i16 12297, i16 12845, i16 0, i16 0, i16 14223, i16 13357, i16 16618, i16 0, i16 0, i16 13613, i16 14635, i16 0, i16 0, i16 13869, i16 0, i16 0, i16 0, i16 15661, i16 0, i16 0, i16 0, i16 15917, i16 16642, i16 0, i16 0, i16 16173, i16 0, i16 0, i16 13254, i16 814, i16 815, i16 816, i16 817, i16 1070, i16 1071, i16 1072, i16 1073, i16 12846, i16 0, i16 16637, i16 13664, i16 303, i16 304, i16 305, i16 306, i16 12847, i16 0, i16 0, i16 0, i16 13615, i16 0, i16 13985, i16 0, i16 13871, i16 0, i16 0, i16 0, i16 14895, i16 0, i16 15844, i16 14089, i16 12592, i16 0, i16 16205, i16 0, i16 13104, i16 13105, i16 13106, i16 13107, i16 13872, i16 0, i16 0, i16 0, i16 15152, i16 0, i16 12319, i16 12545, i16 49, i16 50, i16 51, i16 52, i16 13873, i16 0, i16 0, i16 0, i16 14129, i16 0, i16 0, i16 0, i16 14897, i16 0, i16 0, i16 0, i16 15665, i16 0, i16 16344, i16 16912, i16 15921, i16 16016, i16 14055, i16 13417, i16 16177, i16 0, i16 0, i16 14753, i16 818, i16 819, i16 820, i16 821, i16 1074, i16 1075, i16 1076, i16 1077, i16 15410, i16 15411, i16 15413, i16 15417, i16 16178, i16 14405, i16 0, i16 0, i16 16434, i16 15807, i16 15243, i16 0, i16 307, i16 308, i16 309, i16 310, i16 12339, i16 0, i16 0, i16 15839, i16 14131, i16 0, i16 0, i16 0, i16 14387, i16 0, i16 0, i16 0, i16 14643, i16 15448, i16 0, i16 0, i16 15155, i16 0, i16 0, i16 0, i16 15667, i16 0, i16 0, i16 0, i16 16435, i16 0, i16 0, i16 12749, i16 12596, i16 0, i16 0, i16 0, i16 13108, i16 13109, i16 13114, i16 13115, i16 13364, i16 14877, i16 0, i16 0, i16 14900, i16 0, i16 0, i16 0, i16 16436, i16 0, i16 0, i16 0, i16 53, i16 54, i16 55, i16 56, i16 12597, i16 0, i16 0, i16 16939, i16 13877, i16 0, i16 16491, i16 15185, i16 14901, i16 0, i16 0, i16 0, i16 16949, i16 0, i16 15802, i16 0, i16 566, i16 586, i16 587, i16 561, i16 822, i16 823, i16 824, i16 825, i16 1078, i16 1079, i16 1080, i16 1081, i16 14390, i16 0, i16 0, i16 0, i16 14902, i16 0, i16 0, i16 12930, i16 15158, i16 0, i16 12620, i16 15062, i16 15670, i16 0, i16 0, i16 0, i16 16438, i16 15340, i16 0, i16 16791, i16 311, i16 312, i16 313, i16 314, i16 13367, i16 16221, i16 16526, i16 0, i16 13879, i16 14764, i16 15132, i16 0, i16 15159, i16 15814, i16 0, i16 0, i16 15671, i16 0, i16 0, i16 16804, i16 16439, i16 13563, i16 0, i16 0, i16 16695, i16 0, i16 0, i16 0, i16 568, i16 590, i16 591, i16 563, i16 12600, i16 0, i16 0, i16 0, i16 13624, i16 0, i16 16032, i16 16310, i16 16440, i16 0, i16 12692, i16 13449, i16 16696, i16 0, i16 0, i16 14281, i16 16952, i16 16111, i16 0, i16 0, i16 57, i16 58, i16 59, i16 60, i16 13113, i16 0, i16 0, i16 0, i16 13881, i16 13940, i16 13941, i16 0, i16 15673, i16 16353, i16 0, i16 16691, i16 16441, i16 0, i16 12822, i16 15936, i16 16953, i16 16871, i16 15856, i16 12551, i16 826, i16 827, i16 828, i16 829, i16 1082, i16 1083, i16 1085, i16 1086, i16 14394, i16 15473, i16 0, i16 0, i16 15418, i16 15422, i16 15423, i16 15428, i16 16442, i16 0, i16 0, i16 0, i16 315, i16 316, i16 317, i16 318, i16 15931, i16 0, i16 14069, i16 0, i16 16187, i16 16188, i16 0, i16 0, i16 16699, i16 0, i16 0, i16 16698, i16 572, i16 594, i16 595, i16 562, i16 13116, i16 13117, i16 13118, i16 13119, i16 14908, i16 0, i16 0, i16 14194, i16 61, i16 62, i16 63, i16 64, i16 13629, i16 0, i16 0, i16 0, i16 574, i16 598, i16 599, i16 564, i16 830, i16 831, i16 832, i16 833, i16 12350, i16 0, i16 15031, i16 0, i16 12606, i16 13556, i16 14165, i16 0, i16 16190, i16 0, i16 0, i16 14219, i16 16446, i16 0, i16 0, i16 12529, i16 319, i16 320, i16 321, i16 322, i16 1087, i16 1088, i16 1089, i16 1090, i16 12863, i16 0, i16 0, i16 0, i16 14399, i16 0, i16 0, i16 15204, i16 14911, i16 14912, i16 14914, i16 14915, i16 14144, i16 13858, i16 0, i16 0, i16 14656, i16 0, i16 0, i16 0, i16 15424, i16 0, i16 0, i16 0, i16 16448, i16 14368, i16 17076, i16 12951, i16 65, i16 66, i16 67, i16 68, i16 12609, i16 0, i16 0, i16 0, i16 13121, i16 13122, i16 13292, i16 13314, i16 14657, i16 15421, i16 16239, i16 12586, i16 15169, i16 0, i16 0, i16 16147, i16 834, i16 835, i16 836, i16 837, i16 12354, i16 0, i16 16676, i16 14020, i16 13890, i16 0, i16 0, i16 0, i16 14402, i16 0, i16 15406, i16 0, i16 15426, i16 14351, i16 0, i16 0, i16 16450, i16 17137, i16 0, i16 0, i16 16706, i16 0, i16 0, i16 0, i16 323, i16 324, i16 325, i16 326, i16 1091, i16 1092, i16 1093, i16 1094, i16 12867, i16 0, i16 0, i16 0, i16 13123, i16 0, i16 13799, i16 13101, i16 13635, i16 0, i16 0, i16 0, i16 13891, i16 0, i16 0, i16 0, i16 14147, i16 0, i16 14148, i16 14149, i16 15939, i16 0, i16 14140, i16 13205, i16 16451, i16 0, i16 0, i16 0, i16 12356, i16 0, i16 0, i16 12804, i16 12612, i16 0, i16 0, i16 0, i16 12868, i16 0, i16 0, i16 0, i16 16708, i16 0, i16 0, i16 14124, i16 69, i16 70, i16 71, i16 72, i16 12357, i16 13758, i16 0, i16 17094, i16 838, i16 839, i16 840, i16 841, i16 12870, i16 12894, i16 12907, i16 12992, i16 14150, i16 0, i16 0, i16 13722, i16 14918, i16 14921, i16 14927, i16 14929, i16 16198, i16 0, i16 0, i16 0, i16 327, i16 328, i16 329, i16 330, i16 1095, i16 1096, i16 1097, i16 1098, i16 12871, i16 13304, i16 0, i16 0, i16 14151, i16 15380, i16 0, i16 16447, i16 14407, i16 0, i16 0, i16 0, i16 15431, i16 15432, i16 15433, i16 15434, i16 16199, i16 0, i16 16646, i16 12696, i16 16967, i16 0, i16 0, i16 0, i16 12360, i16 0, i16 0, i16 0, i16 12616, i16 0, i16 0, i16 0, i16 14152, i16 14254, i16 14256, i16 14275, i16 16200, i16 15023, i16 0, i16 0, i16 16968, i16 0, i16 0, i16 15490, i16 73, i16 74, i16 75, i16 76, i16 14409, i16 16493, i16 0, i16 12457, i16 16201, i16 0, i16 0, i16 12412, i16 842, i16 843, i16 844, i16 845, i16 13386, i16 0, i16 0, i16 0, i16 14410, i16 0, i16 0, i16 0, i16 15946, i16 0, i16 0, i16 0, i16 16458, i16 0, i16 0, i16 0, i16 331, i16 332, i16 333, i16 334, i16 1099, i16 1100, i16 1101, i16 1102, i16 13643, i16 0, i16 0, i16 0, i16 14667, i16 16229, i16 14220, i16 0, i16 16203, i16 0, i16 13697, i16 16959, i16 12876, i16 0, i16 14128, i16 0, i16 13644, i16 13645, i16 0, i16 0, i16 13900, i16 0, i16 0, i16 0, i16 14668, i16 15935, i16 0, i16 0, i16 15692, i16 0, i16 0, i16 0, i16 16460, i16 17118, i16 13652, i16 16277, i16 16716, i16 0, i16 0, i16 0, i16 16972, i16 13323, i16 0, i16 0, i16 77, i16 78, i16 79, i16 80, i16 13133, i16 0, i16 0, i16 0, i16 14413, i16 14238, i16 0, i16 0, i16 15437, i16 13403, i16 15831, i16 14474, i16 15693, i16 12584, i16 0, i16 14433, i16 846, i16 847, i16 848, i16 849, i16 12366, i16 0, i16 0, i16 0, i16 12622, i16 0, i16 0, i16 0, i16 14158, i16 0, i16 0, i16 0, i16 15182, i16 15183, i16 15189, i16 15191, i16 15438, i16 0, i16 15541, i16 0, i16 16718, i16 0, i16 0, i16 0, i16 335, i16 336, i16 337, i16 338, i16 1103, i16 1104, i16 1105, i16 1106, i16 16207, i16 13692, i16 0, i16 0, i16 16719, i16 16092, i16 0, i16 12318, i16 16975, i16 0, i16 16560, i16 0, i16 12368, i16 0, i16 14730, i16 16284, i16 12624, i16 13779, i16 0, i16 0, i16 12880, i16 0, i16 0, i16 0, i16 13648, i16 16754, i16 0, i16 0, i16 14672, i16 0, i16 0, i16 0, i16 14928, i16 0, i16 0, i16 0, i16 15440, i16 15484, i16 15485, i16 15488, i16 15952, i16 0, i16 0, i16 0, i16 81, i16 82, i16 83, i16 84, i16 12625, i16 0, i16 0, i16 0, i16 12881, i16 0, i16 0, i16 0, i16 13393, i16 15069, i16 0, i16 0, i16 13905, i16 0, i16 0, i16 0, i16 15441, i16 0, i16 12759, i16 15305, i16 15953, i16 15242, i16 0, i16 0, i16 850, i16 851, i16 0, i16 0, i16 12626, i16 0, i16 16516, i16 0, i16 13138, i16 0, i16 0, i16 0, i16 14930, i16 14931, i16 14933, i16 14937, i16 15954, i16 12429, i16 0, i16 0, i16 16978, i16 0, i16 12756, i16 0, i16 339, i16 340, i16 341, i16 342, i16 1107, i16 1108, i16 1109, i16 1110, i16 12371, i16 0, i16 0, i16 13280, i16 12883, i16 16244, i16 0, i16 14076, i16 852, i16 853, i16 854, i16 855, i16 85, i16 86, i16 87, i16 88, i16 13909, i16 0, i16 0, i16 0, i16 15190, i16 16683, i16 0, i16 0, i16 15446, i16 0, i16 0, i16 16364, i16 16726, i16 0, i16 15405, i16 0, i16 343, i16 344, i16 345, i16 346, i16 14167, i16 0, i16 0, i16 0, i16 16215, i16 0, i16 0, i16 16946, i16 856, i16 857, i16 858, i16 859, i16 12632, i16 0, i16 12954, i16 14051, i16 14680, i16 0, i16 0, i16 16133, i16 15192, i16 0, i16 0, i16 12731, i16 15704, i16 0, i16 0, i16 0, i16 13657, i16 0, i16 16746, i16 15249, i16 14169, i16 0, i16 0, i16 14941, i16 14681, i16 0, i16 0, i16 13062, i16 15193, i16 15196, i16 15203, i16 15208, i16 16217, i16 0, i16 0, i16 0, i16 602, i16 603, i16 575, i16 604, i16 12378, i16 0, i16 0, i16 0, i16 12634, i16 0, i16 0, i16 0, i16 13914, i16 0, i16 0, i16 0, i16 14938, i16 14942, i16 14950, i16 14952, i16 16218, i16 0, i16 15720, i16 15308, i16 16474, i16 0, i16 0, i16 0, i16 12635, i16 0, i16 15162, i16 0, i16 15195, i16 15117, i16 0, i16 0, i16 16219, i16 14723, i16 0, i16 14210, i16 16475, i16 16878, i16 0, i16 0, i16 16731, i16 13425, i16 13354, i16 0, i16 860, i16 861, i16 862, i16 863, i16 12636, i16 12671, i16 12843, i16 12848, i16 15452, i16 0, i16 0, i16 16113, i16 15964, i16 0, i16 0, i16 0, i16 16732, i16 15276, i16 0, i16 0, i16 93, i16 94, i16 95, i16 96, i16 605, i16 606, i16 607, i16 608, i16 12381, i16 0, i16 0, i16 0, i16 12637, i16 0, i16 0, i16 0, i16 15197, i16 0, i16 0, i16 0, i16 16989, i16 16604, i16 16529, i16 12685, i16 12382, i16 0, i16 0, i16 0, i16 13662, i16 17008, i16 17091, i16 15900, i16 15966, i16 0, i16 15965, i16 0, i16 16990, i16 0, i16 0, i16 15548, i16 351, i16 352, i16 353, i16 354, i16 12639, i16 13535, i16 16905, i16 0, i16 13407, i16 14189, i16 0, i16 0, i16 13919, i16 14215, i16 0, i16 0, i16 14175, i16 0, i16 16825, i16 0, i16 14687, i16 0, i16 15830, i16 17030, i16 16479, i16 0, i16 15951, i16 0, i16 864, i16 865, i16 866, i16 0, i16 12384, i16 15412, i16 14756, i16 0, i16 13152, i16 16096, i16 0, i16 0, i16 13408, i16 0, i16 0, i16 0, i16 13920, i16 0, i16 0, i16 0, i16 14688, i16 0, i16 0, i16 0, i16 16224, i16 0, i16 0, i16 0, i16 16480, i16 0, i16 0, i16 0, i16 16992, i16 0, i16 0, i16 0, i16 97, i16 98, i16 99, i16 100, i16 609, i16 610, i16 611, i16 565, i16 12385, i16 15963, i16 0, i16 0, i16 13153, i16 15352, i16 0, i16 0, i16 14177, i16 16622, i16 0, i16 0, i16 15201, i16 13463, i16 0, i16 12601, i16 16481, i16 0, i16 16100, i16 14801, i16 16737, i16 14119, i16 13491, i16 15570, i16 12642, i16 15578, i16 0, i16 15586, i16 14178, i16 0, i16 0, i16 0, i16 14434, i16 0, i16 12816, i16 0, i16 15202, i16 12458, i16 0, i16 0, i16 15714, i16 0, i16 0, i16 0, i16 16738, i16 17040, i16 0, i16 13241, i16 355, i16 356, i16 357, i16 358, i16 14691, i16 0, i16 13169, i16 0, i16 14947, i16 0, i16 0, i16 15534, i16 12644, i16 0, i16 16786, i16 0, i16 12900, i16 14153, i16 16593, i16 0, i16 13668, i16 0, i16 16247, i16 0, i16 101, i16 102, i16 103, i16 104, i16 13157, i16 0, i16 0, i16 0, i16 13413, i16 0, i16 0, i16 0, i16 14181, i16 0, i16 0, i16 0, i16 14437, i16 14744, i16 12562, i16 0, i16 14949, i16 14462, i16 12293, i16 0, i16 16485, i16 0, i16 0, i16 0, i16 16997, i16 13129, i16 0, i16 15959, i16 870, i16 0, i16 0, i16 0, i16 13670, i16 12405, i16 0, i16 0, i16 13926, i16 0, i16 16547, i16 0, i16 15206, i16 0, i16 0, i16 0, i16 16742, i16 0, i16 15362, i16 0, i16 359, i16 360, i16 361, i16 362, i16 13671, i16 0, i16 0, i16 16700, i16 14695, i16 0, i16 14197, i16 0, i16 16231, i16 0, i16 0, i16 15711, i16 16743, i16 0, i16 0, i16 0, i16 16999, i16 12558, i16 0, i16 0, i16 616, i16 622, i16 623, i16 624, i16 13928, i16 13929, i16 0, i16 0, i16 15464, i16 16002, i16 0, i16 0, i16 15976, i16 0, i16 0, i16 16852, i16 16232, i16 0, i16 16003, i16 0, i16 16744, i16 0, i16 14502, i16 13911, i16 105, i16 106, i16 107, i16 108, i16 617, i16 675, i16 690, i16 283, i16 14953, i16 14956, i16 14964, i16 14968, i16 15209, i16 13666, i16 16813, i16 14575, i16 15465, i16 0, i16 0, i16 0, i16 15721, i16 0, i16 0, i16 0, i16 16489, i16 13095, i16 0, i16 14300, i16 16745, i16 0, i16 0, i16 0, i16 14954, i16 0, i16 0, i16 0, i16 363, i16 364, i16 365, i16 366, i16 619, i16 620, i16 621, i16 640, i16 875, i16 0, i16 0, i16 0, i16 12395, i16 0, i16 0, i16 0, i16 13163, i16 0, i16 13604, i16 0, i16 13931, i16 0, i16 16865, i16 13665, i16 14699, i16 0, i16 0, i16 0, i16 15723, i16 0, i16 0, i16 0, i16 16747, i16 15442, i16 12315, i16 0, i16 14444, i16 0, i16 14347, i16 0, i16 14700, i16 15223, i16 0, i16 0, i16 15468, i16 0, i16 0, i16 0, i16 15724, i16 0, i16 0, i16 0, i16 16236, i16 0, i16 12512, i16 16144, i16 109, i16 110, i16 111, i16 112, i16 14701, i16 0, i16 12413, i16 15310, i16 15213, i16 0, i16 0, i16 16807, i16 15981, i16 0, i16 0, i16 14611, i16 12398, i16 0, i16 13810, i16 0, i16 13422, i16 0, i16 0, i16 0, i16 13678, i16 16641, i16 15345, i16 0, i16 14702, i16 0, i16 0, i16 0, i16 15726, i16 0, i16 12419, i16 17035, i16 16238, i16 0, i16 14062, i16 0, i16 367, i16 368, i16 369, i16 370, i16 879, i16 880, i16 881, i16 882, i16 12399, i16 15153, i16 0, i16 0, i16 13423, i16 0, i16 0, i16 17122, i16 14191, i16 0, i16 16427, i16 0, i16 14703, i16 13623, i16 0, i16 16506, i16 15983, i16 15729, i16 0, i16 0, i16 16495, i16 0, i16 16714, i16 0, i16 12656, i16 0, i16 13762, i16 0, i16 13936, i16 0, i16 0, i16 12284, i16 14448, i16 12575, i16 0, i16 13776, i16 14704, i16 0, i16 13229, i16 15194, i16 113, i16 114, i16 115, i16 116, i16 625, i16 626, i16 627, i16 628, i16 12657, i16 16053, i16 0, i16 0, i16 15985, i16 0, i16 16183, i16 13515, i16 17009, i16 0, i16 14554, i16 0, i16 12658, i16 0, i16 0, i16 0, i16 15474, i16 0, i16 16770, i16 0, i16 16498, i16 15164, i16 0, i16 0, i16 17010, i16 0, i16 13788, i16 13789, i16 371, i16 372, i16 373, i16 374, i16 883, i16 884, i16 885, i16 886, i16 14963, i16 15898, i16 0, i16 0, i16 16755, i16 0, i16 0, i16 0, i16 17011, i16 0, i16 0, i16 15514, i16 12404, i16 0, i16 0, i16 0, i16 12916, i16 0, i16 0, i16 14195, i16 16500, i16 0, i16 14290, i16 0, i16 117, i16 118, i16 119, i16 120, i16 629, i16 630, i16 631, i16 618, i16 13173, i16 0, i16 16230, i16 0, i16 13685, i16 13795, i16 16412, i16 0, i16 16245, i16 0, i16 16891, i16 0, i16 16501, i16 0, i16 0, i16 0, i16 12918, i16 0, i16 0, i16 0, i16 13686, i16 0, i16 0, i16 0, i16 13942, i16 13667, i16 0, i16 0, i16 14198, i16 12283, i16 0, i16 0, i16 14710, i16 0, i16 0, i16 0, i16 15478, i16 0, i16 15445, i16 15918, i16 16246, i16 16210, i16 13864, i16 0, i16 16758, i16 0, i16 0, i16 0, i16 375, i16 376, i16 377, i16 378, i16 887, i16 888, i16 889, i16 890, i16 12663, i16 0, i16 0, i16 0, i16 13431, i16 15482, i16 0, i16 0, i16 13687, i16 0, i16 0, i16 0, i16 15479, i16 0, i16 0, i16 0, i16 15735, i16 0, i16 14247, i16 0, i16 15991, i16 0, i16 0, i16 12861, i16 16503, i16 0, i16 0, i16 0, i16 13176, i16 0, i16 0, i16 0, i16 14456, i16 0, i16 0, i16 14707, i16 15224, i16 0, i16 0, i16 0, i16 16248, i16 0, i16 0, i16 0, i16 121, i16 122, i16 123, i16 124, i16 13689, i16 0, i16 0, i16 15343, i16 15481, i16 0, i16 15241, i16 0, i16 16761, i16 15321, i16 0, i16 0, i16 13178, i16 0, i16 16356, i16 0, i16 13946, i16 14970, i16 0, i16 0, i16 14458, i16 0, i16 0, i16 15513, i16 379, i16 380, i16 224, i16 0, i16 891, i16 892, i16 893, i16 894, i16 12923, i16 0, i16 0, i16 0, i16 14203, i16 0, i16 0, i16 0, i16 14459, i16 16609, i16 0, i16 12288, i16 14971, i16 14974, i16 14977, i16 14979, i16 15227, i16 17075, i16 14960, i16 0, i16 17019, i16 12410, i16 0, i16 0, i16 12668, i16 0, i16 12416, i16 0, i16 12924, i16 0, i16 0, i16 16146, i16 13948, i16 13979, i16 14073, i16 14121, i16 16764, i16 0, i16 0, i16 0, i16 17020, i16 0, i16 0, i16 0, i16 125, i16 126, i16 127, i16 132, i16 637, i16 638, i16 671, i16 672, i16 12925, i16 0, i16 0, i16 17153, i16 13437, i16 14216, i16 0, i16 0, i16 15997, i16 0, i16 0, i16 0, i16 16253, i16 17110, i16 16998, i16 0, i16 17021, i16 14028, i16 14602, i16 0, i16 12414, i16 0, i16 0, i16 15940, i16 13182, i16 0, i16 0, i16 0, i16 15230, i16 0, i16 0, i16 0, i16 15998, i16 13078, i16 12795, i16 0, i16 639, i16 688, i16 632, i16 0, i16 895, i16 896, i16 897, i16 898, i16 15487, i16 0, i16 16117, i16 0, i16 16511, i16 0, i16 13967, i16 0, i16 12672, i16 0, i16 0, i16 0, i16 12928, i16 0, i16 0, i16 0, i16 13952, i16 0, i16 0, i16 14693, i16 14720, i16 15363, i16 17000, i16 0, i16 15232, i16 0, i16 0, i16 14017, i16 17024, i16 0, i16 0, i16 0, i16 385, i16 386, i16 387, i16 388, i16 641, i16 680, i16 681, i16 682, i16 12673, i16 15969, i16 15810, i16 15142, i16 12929, i16 14360, i16 15168, i16 0, i16 13953, i16 17120, i16 0, i16 0, i16 15233, i16 0, i16 0, i16 0, i16 15745, i16 13371, i16 15358, i16 16608, i16 16513, i16 0, i16 0, i16 0, i16 16769, i16 0, i16 14392, i16 0, i16 17025, i16 0, i16 0, i16 0, i16 642, i16 643, i16 644, i16 645, i16 12674, i16 0, i16 13497, i16 16005, i16 13186, i16 0, i16 0, i16 0, i16 14466, i16 16629, i16 0, i16 0, i16 15746, i16 0, i16 0, i16 0, i16 131, i16 0, i16 693, i16 0, i16 899, i16 900, i16 901, i16 902, i16 13955, i16 0, i16 14350, i16 0, i16 15235, i16 14924, i16 0, i16 0, i16 16259, i16 0, i16 12776, i16 15255, i16 16771, i16 0, i16 0, i16 0, i16 17027, i16 0, i16 0, i16 0, i16 12932, i16 15535, i16 13829, i16 12760, i16 13188, i16 0, i16 0, i16 16888, i16 13444, i16 0, i16 0, i16 0, i16 14212, i16 0, i16 0, i16 15638, i16 14468, i16 0, i16 15186, i16 13221, i16 16004, i16 0, i16 0, i16 13654, i16 389, i16 390, i16 391, i16 392, i16 12933, i16 15624, i16 0, i16 0, i16 15493, i16 15494, i16 15495, i16 15496, i16 16517, i16 0, i16 12390, i16 0, i16 646, i16 647, i16 648, i16 649, i16 12678, i16 0, i16 0, i16 0, i16 13446, i16 0, i16 0, i16 0, i16 14982, i16 14983, i16 14984, i16 14986, i16 15238, i16 0, i16 14524, i16 0, i16 15750, i16 0, i16 14589, i16 0, i16 16774, i16 12986, i16 15718, i16 0, i16 903, i16 904, i16 905, i16 906, i16 13447, i16 0, i16 0, i16 0, i16 14471, i16 12595, i16 16282, i16 14959, i16 15751, i16 0, i16 14208, i16 0, i16 16263, i16 0, i16 14091, i16 0, i16 16775, i16 15669, i16 0, i16 0, i16 136, i16 348, i16 349, i16 350, i16 12424, i16 12430, i16 12447, i16 12611, i16 12680, i16 0, i16 16168, i16 0, i16 14472, i16 14429, i16 0, i16 0, i16 15240, i16 15283, i16 15323, i16 15359, i16 15752, i16 15337, i16 15932, i16 14724, i16 16264, i16 0, i16 0, i16 0, i16 16520, i16 0, i16 0, i16 0, i16 137, i16 203, i16 0, i16 0, i16 393, i16 394, i16 395, i16 396, i16 12937, i16 15537, i16 0, i16 0, i16 14217, i16 0, i16 0, i16 0, i16 16777, i16 0, i16 0, i16 0, i16 17033, i16 0, i16 15761, i16 0, i16 138, i16 139, i16 0, i16 0, i16 650, i16 651, i16 657, i16 658, i16 12682, i16 0, i16 0, i16 0, i16 12938, i16 0, i16 0, i16 0, i16 14218, i16 0, i16 0, i16 16130, i16 16778, i16 13956, i16 0, i16 0, i16 17034, i16 0, i16 13841, i16 12533, i16 907, i16 908, i16 909, i16 910, i16 12427, i16 0, i16 0, i16 0, i16 13195, i16 0, i16 16922, i16 0, i16 13707, i16 0, i16 0, i16 0, i16 14475, i16 0, i16 0, i16 0, i16 15499, i16 15502, i16 15504, i16 15510, i16 16011, i16 0, i16 0, i16 16509, i16 16779, i16 12836, i16 16582, i16 0, i16 140, i16 141, i16 0, i16 0, i16 652, i16 653, i16 654, i16 655, i16 12684, i16 0, i16 0, i16 0, i16 13452, i16 12433, i16 0, i16 0, i16 13708, i16 0, i16 14987, i16 0, i16 13964, i16 0, i16 15770, i16 16631, i16 14988, i16 14989, i16 14990, i16 14993, i16 15500, i16 0, i16 0, i16 0, i16 15756, i16 17160, i16 0, i16 0, i16 16012, i16 0, i16 0, i16 0, i16 16780, i16 14427, i16 14651, i16 16249, i16 397, i16 398, i16 399, i16 400, i16 14733, i16 15528, i16 0, i16 0, i16 15245, i16 16145, i16 12910, i16 15246, i16 142, i16 143, i16 0, i16 0, i16 12686, i16 0, i16 0, i16 0, i16 16270, i16 15176, i16 16407, i16 0, i16 911, i16 912, i16 913, i16 914, i16 12687, i16 0, i16 0, i16 0, i16 13455, i16 13547, i16 13572, i16 13917, i16 15759, i16 0, i16 0, i16 0, i16 16527, i16 13808, i16 0, i16 12337, i16 144, i16 145, i16 146, i16 147, i16 656, i16 0, i16 0, i16 0, i16 13200, i16 0, i16 0, i16 14170, i16 13456, i16 0, i16 0, i16 0, i16 401, i16 402, i16 403, i16 404, i16 12945, i16 13998, i16 0, i16 0, i16 13457, i16 16256, i16 0, i16 16553, i16 13969, i16 13521, i16 0, i16 0, i16 15505, i16 0, i16 0, i16 0, i16 12434, i16 0, i16 15058, i16 13539, i16 12690, i16 14684, i16 12987, i16 16033, i16 14482, i16 0, i16 0, i16 0, i16 15250, i16 0, i16 0, i16 0, i16 15762, i16 14596, i16 16510, i16 0, i16 16274, i16 13878, i16 0, i16 0, i16 16530, i16 0, i16 0, i16 13211, i16 659, i16 660, i16 661, i16 662, i16 915, i16 916, i16 917, i16 918, i16 13971, i16 0, i16 12440, i16 0, i16 14739, i16 0, i16 0, i16 0, i16 14995, i16 14996, i16 14999, i16 15000, i16 15507, i16 14598, i16 14237, i16 15914, i16 15763, i16 15390, i16 12379, i16 14705, i16 16275, i16 0, i16 0, i16 0, i16 148, i16 149, i16 150, i16 151, i16 13460, i16 0, i16 16753, i16 15034, i16 13716, i16 13717, i16 15801, i16 0, i16 14484, i16 13903, i16 14323, i16 0, i16 15764, i16 0, i16 15835, i16 0, i16 16276, i16 16223, i16 0, i16 0, i16 405, i16 406, i16 407, i16 408, i16 12437, i16 0, i16 0, i16 13759, i16 13461, i16 0, i16 0, i16 0, i16 15253, i16 0, i16 0, i16 0, i16 14486, i16 15451, i16 0, i16 16104, i16 663, i16 664, i16 665, i16 666, i16 919, i16 920, i16 921, i16 922, i16 13207, i16 0, i16 0, i16 15529, i16 13719, i16 12365, i16 16469, i16 15002, i16 14231, i16 12961, i16 0, i16 0, i16 14743, i16 0, i16 0, i16 0, i16 15511, i16 15515, i16 15516, i16 15519, i16 15767, i16 14614, i16 0, i16 13954, i16 152, i16 153, i16 0, i16 199, i16 12952, i16 0, i16 0, i16 0, i16 13208, i16 0, i16 0, i16 0, i16 14232, i16 0, i16 0, i16 0, i16 15256, i16 13725, i16 0, i16 16406, i16 16792, i16 0, i16 12502, i16 0, i16 17048, i16 0, i16 16613, i16 0, i16 409, i16 410, i16 411, i16 412, i16 12697, i16 0, i16 0, i16 0, i16 13465, i16 0, i16 15265, i16 16948, i16 14489, i16 0, i16 12306, i16 0, i16 15001, i16 15003, i16 15009, i16 15014, i16 12442, i16 13226, i16 0, i16 14226, i16 12698, i16 15313, i16 0, i16 17014, i16 15258, i16 0, i16 0, i16 0, i16 16538, i16 13681, i16 16557, i16 0, i16 667, i16 612, i16 613, i16 614, i16 923, i16 924, i16 925, i16 926, i16 12443, i16 16521, i16 0, i16 16894, i16 16539, i16 16116, i16 14202, i16 15247, i16 16795, i16 16796, i16 16864, i16 16991, i16 17052, i16 0, i16 0, i16 0, i16 157, i16 177, i16 0, i16 0, i16 413, i16 414, i16 415, i16 416, i16 669, i16 670, i16 285, i16 687, i16 12957, i16 0, i16 12393, i16 0, i16 13213, i16 0, i16 13510, i16 0, i16 15005, i16 0, i16 0, i16 0, i16 15517, i16 0, i16 0, i16 0, i16 16541, i16 15492, i16 0, i16 0, i16 158, i16 159, i16 0, i16 0, i16 12702, i16 16396, i16 16565, i16 0, i16 13726, i16 0, i16 15904, i16 0, i16 15006, i16 0, i16 0, i16 13595, i16 15518, i16 0, i16 0, i16 0, i16 927, i16 928, i16 929, i16 930, i16 13983, i16 0, i16 0, i16 0, i16 16287, i16 0, i16 0, i16 0, i16 17055, i16 0, i16 0, i16 0, i16 13472, i16 14810, i16 14523, i16 0, i16 15520, i16 15531, i16 15539, i16 15540, i16 16544, i16 0, i16 12913, i16 0, i16 161, i16 205, i16 0, i16 0, i16 417, i16 418, i16 419, i16 420, i16 673, i16 633, i16 634, i16 635, i16 13729, i16 14746, i16 0, i16 15579, i16 14497, i16 0, i16 0, i16 13296, i16 16545, i16 0, i16 0, i16 15030, i16 162, i16 154, i16 868, i16 869, i16 12450, i16 0, i16 0, i16 0, i16 13218, i16 16234, i16 0, i16 0, i16 13474, i16 0, i16 15986, i16 0, i16 931, i16 932, i16 933, i16 934, i16 12963, i16 16061, i16 0, i16 0, i16 13731, i16 14781, i16 15351, i16 0, i16 14243, i16 0, i16 0, i16 0, i16 17059, i16 15542, i16 13128, i16 0, i16 13476, i16 0, i16 0, i16 0, i16 13732, i16 0, i16 0, i16 15733, i16 15524, i16 0, i16 13441, i16 0, i16 16548, i16 16337, i16 0, i16 13756, i16 17060, i16 0, i16 0, i16 0, i16 421, i16 422, i16 423, i16 424, i16 12709, i16 0, i16 0, i16 0, i16 13733, i16 0, i16 0, i16 0, i16 13989, i16 0, i16 0, i16 0, i16 14501, i16 0, i16 0, i16 15771, i16 15013, i16 0, i16 13401, i16 13158, i16 15525, i16 0, i16 0, i16 0, i16 16805, i16 15459, i16 15096, i16 13761, i16 17061, i16 0, i16 14417, i16 0, i16 12966, i16 0, i16 15984, i16 0, i16 13734, i16 0, i16 13803, i16 13637, i16 14246, i16 0, i16 14315, i16 0, i16 16038, i16 0, i16 0, i16 14842, i16 16550, i16 12792, i16 0, i16 0, i16 17062, i16 0, i16 0, i16 15604, i16 167, i16 168, i16 218, i16 381, i16 935, i16 936, i16 937, i16 938, i16 13735, i16 0, i16 13742, i16 13171, i16 14759, i16 16681, i16 0, i16 13892, i16 15271, i16 15272, i16 14418, i16 0, i16 12968, i16 0, i16 14867, i16 0, i16 16040, i16 0, i16 16175, i16 0, i16 16552, i16 16563, i16 16665, i16 16686, i16 425, i16 426, i16 427, i16 428, i16 13225, i16 15942, i16 13512, i16 0, i16 13481, i16 0, i16 0, i16 0, i16 15017, i16 15018, i16 15020, i16 15021, i16 15785, i16 0, i16 0, i16 16662, i16 16297, i16 0, i16 0, i16 0, i16 12714, i16 0, i16 12438, i16 16242, i16 14250, i16 16679, i16 14694, i16 0, i16 15530, i16 15333, i16 0, i16 0, i16 16298, i16 15512, i16 0, i16 13777, i16 16554, i16 0, i16 0, i16 13450, i16 171, i16 0, i16 170, i16 0, i16 683, i16 676, i16 677, i16 678, i16 939, i16 940, i16 941, i16 942, i16 12459, i16 16235, i16 0, i16 0, i16 12715, i16 0, i16 0, i16 0, i16 12971, i16 0, i16 0, i16 0, i16 13227, i16 0, i16 0, i16 0, i16 15787, i16 0, i16 0, i16 0, i16 17067, i16 0, i16 0, i16 0, i16 172, i16 0, i16 0, i16 0, i16 12972, i16 0, i16 0, i16 15139, i16 13228, i16 0, i16 0, i16 0, i16 14508, i16 0, i16 13704, i16 0, i16 16044, i16 0, i16 0, i16 0, i16 16556, i16 0, i16 0, i16 0, i16 429, i16 430, i16 431, i16 432, i16 685, i16 0, i16 0, i16 686, i16 13485, i16 0, i16 0, i16 0, i16 13997, i16 0, i16 0, i16 0, i16 14509, i16 13175, i16 16316, i16 0, i16 15533, i16 0, i16 0, i16 0, i16 15789, i16 17036, i16 0, i16 0, i16 16045, i16 0, i16 16600, i16 0, i16 16301, i16 0, i16 15820, i16 12844, i16 12718, i16 16063, i16 12914, i16 14117, i16 12974, i16 0, i16 16705, i16 0, i16 13230, i16 0, i16 15623, i16 13677, i16 14766, i16 0, i16 0, i16 0, i16 15022, i16 0, i16 13436, i16 0, i16 15278, i16 0, i16 14272, i16 0, i16 16302, i16 14904, i16 16258, i16 16283, i16 16558, i16 16824, i16 0, i16 0, i16 943, i16 944, i16 945, i16 946, i16 14255, i16 16131, i16 0, i16 13355, i16 15791, i16 0, i16 0, i16 0, i16 16815, i16 0, i16 0, i16 0, i16 17071, i16 0, i16 0, i16 0, i16 13488, i16 0, i16 0, i16 0, i16 14768, i16 0, i16 14039, i16 0, i16 15024, i16 15039, i16 15041, i16 15046, i16 433, i16 434, i16 435, i16 436, i16 689, i16 684, i16 0, i16 0, i16 12465, i16 13274, i16 0, i16 13752, i16 12721, i16 16798, i16 14932, i16 0, i16 12977, i16 0, i16 12908, i16 0, i16 14257, i16 14133, i16 0, i16 0, i16 15025, i16 0, i16 0, i16 0, i16 16817, i16 12884, i16 0, i16 0, i16 12466, i16 16789, i16 12563, i16 13222, i16 13234, i16 0, i16 0, i16 0, i16 15794, i16 0, i16 0, i16 0, i16 947, i16 948, i16 949, i16 950, i16 12723, i16 0, i16 0, i16 0, i16 14771, i16 0, i16 13435, i16 0, i16 16051, i16 15890, i16 0, i16 0, i16 16819, i16 12329, i16 0, i16 17001, i16 692, i16 0, i16 0, i16 0, i16 12724, i16 0, i16 13132, i16 0, i16 15796, i16 0, i16 0, i16 0, i16 16308, i16 16502, i16 16504, i16 16536, i16 437, i16 438, i16 439, i16 440, i16 12725, i16 0, i16 0, i16 0, i16 13493, i16 0, i16 0, i16 0, i16 14005, i16 0, i16 0, i16 0, i16 15029, i16 0, i16 0, i16 0, i16 12726, i16 0, i16 15184, i16 0, i16 13238, i16 16154, i16 16911, i16 0, i16 14006, i16 0, i16 0, i16 0, i16 14774, i16 0, i16 0, i16 0, i16 15286, i16 0, i16 0, i16 0, i16 16822, i16 14980, i16 0, i16 0, i16 17078, i16 0, i16 0, i16 0, i16 951, i16 952, i16 953, i16 954, i16 12471, i16 0, i16 0, i16 12778, i16 13751, i16 0, i16 16204, i16 0, i16 14519, i16 0, i16 0, i16 0, i16 14775, i16 0, i16 0, i16 0, i16 15543, i16 15546, i16 15549, i16 15550, i16 12472, i16 16606, i16 14284, i16 0, i16 13240, i16 12549, i16 0, i16 13294, i16 15288, i16 0, i16 0, i16 0, i16 16056, i16 0, i16 0, i16 0, i16 441, i16 442, i16 443, i16 444, i16 12473, i16 0, i16 0, i16 0, i16 14521, i16 14717, i16 14727, i16 14735, i16 15289, i16 12888, i16 0, i16 16378, i16 16313, i16 13827, i16 0, i16 14976, i16 16569, i16 16206, i16 0, i16 0, i16 698, i16 0, i16 0, i16 0, i16 14266, i16 0, i16 0, i16 0, i16 14778, i16 0, i16 0, i16 0, i16 16058, i16 0, i16 0, i16 0, i16 955, i16 956, i16 957, i16 958, i16 14267, i16 0, i16 0, i16 0, i16 12988, i16 0, i16 0, i16 0, i16 14268, i16 0, i16 13468, i16 0, i16 15036, i16 0, i16 0, i16 0, i16 16572, i16 14518, i16 12691, i16 13239, i16 189, i16 188, i16 0, i16 253, i16 445, i16 446, i16 447, i16 448, i16 12477, i16 15331, i16 0, i16 0, i16 13245, i16 0, i16 0, i16 0, i16 13757, i16 0, i16 0, i16 14374, i16 14525, i16 0, i16 13038, i16 0, i16 16317, i16 0, i16 0, i16 0, i16 17085, i16 0, i16 15086, i16 0, i16 15038, i16 0, i16 17064, i16 0, i16 15806, i16 0, i16 0, i16 0, i16 16574, i16 0, i16 0, i16 0, i16 14783, i16 0, i16 0, i16 0, i16 15551, i16 15803, i16 0, i16 16468, i16 704, i16 705, i16 706, i16 707, i16 13248, i16 14745, i16 0, i16 15254, i16 13504, i16 0, i16 0, i16 0, i16 14016, i16 15498, i16 16826, i16 0, i16 15808, i16 0, i16 12581, i16 0, i16 16320, i16 0, i16 0, i16 0, i16 16576, i16 0, i16 0, i16 0, i16 193, i16 192, i16 0, i16 0, i16 449, i16 450, i16 451, i16 452, i16 12481, i16 15674, i16 0, i16 0, i16 12737, i16 0, i16 0, i16 16125, i16 12993, i16 12996, i16 12999, i16 13000, i16 13505, i16 12448, i16 0, i16 16713, i16 15297, i16 15282, i16 16915, i16 0, i16 16321, i16 0, i16 0, i16 0, i16 17089, i16 0, i16 0, i16 0, i16 962, i16 963, i16 964, i16 965, i16 12482, i16 0, i16 0, i16 0, i16 12994, i16 0, i16 0, i16 14948, i16 13250, i16 0, i16 17056, i16 0, i16 15042, i16 0, i16 0, i16 0, i16 16322, i16 0, i16 0, i16 0, i16 195, i16 196, i16 194, i16 197, i16 12483, i16 16508, i16 13428, i16 13090, i16 14019, i16 15663, i16 0, i16 14242, i16 15043, i16 0, i16 15522, i16 0, i16 15299, i16 14752, i16 16138, i16 12614, i16 15811, i16 0, i16 0, i16 0, i16 708, i16 709, i16 710, i16 711, i16 12484, i16 0, i16 13845, i16 0, i16 13508, i16 12695, i16 0, i16 0, i16 453, i16 454, i16 455, i16 456, i16 13253, i16 0, i16 0, i16 0, i16 13765, i16 0, i16 0, i16 12940, i16 14021, i16 0, i16 0, i16 0, i16 14789, i16 0, i16 12336, i16 0, i16 15557, i16 0, i16 0, i16 0, i16 16069, i16 0, i16 14166, i16 0, i16 198, i16 271, i16 274, i16 272, i16 966, i16 967, i16 968, i16 969, i16 12486, i16 15292, i16 0, i16 0, i16 14022, i16 12548, i16 0, i16 0, i16 14534, i16 14770, i16 0, i16 14512, i16 14790, i16 0, i16 0, i16 0, i16 15558, i16 0, i16 0, i16 0, i16 16070, i16 15545, i16 0, i16 0, i16 13255, i16 0, i16 0, i16 0, i16 15047, i16 15051, i16 15053, i16 15055, i16 16071, i16 16132, i16 16153, i16 16237, i16 712, i16 713, i16 714, i16 715, i16 14280, i16 0, i16 15295, i16 0, i16 14536, i16 0, i16 0, i16 0, i16 16072, i16 16419, i16 0, i16 15427, i16 17096, i16 0, i16 0, i16 0, i16 457, i16 458, i16 459, i16 460, i16 12489, i16 0, i16 0, i16 13963, i16 13001, i16 13002, i16 13003, i16 13004, i16 14025, i16 0, i16 0, i16 0, i16 14793, i16 16370, i16 0, i16 0, i16 15049, i16 0, i16 14621, i16 15073, i16 15561, i16 0, i16 0, i16 15636, i16 16585, i16 0, i16 0, i16 16785, i16 970, i16 971, i16 972, i16 973, i16 12490, i16 0, i16 0, i16 0, i16 12746, i16 13990, i16 0, i16 0, i16 14026, i16 0, i16 13980, i16 0, i16 15818, i16 15722, i16 0, i16 14075, i16 17098, i16 0, i16 0, i16 0, i16 14795, i16 0, i16 0, i16 0, i16 15307, i16 0, i16 0, i16 0, i16 15819, i16 0, i16 0, i16 15927, i16 16075, i16 0, i16 0, i16 0, i16 716, i16 717, i16 718, i16 719, i16 14796, i16 0, i16 16022, i16 0, i16 15052, i16 0, i16 13418, i16 12665, i16 16844, i16 0, i16 0, i16 0, i16 461, i16 462, i16 463, i16 464, i16 13261, i16 0, i16 0, i16 0, i16 14541, i16 13220, i16 0, i16 0, i16 15309, i16 0, i16 12712, i16 0, i16 15565, i16 15566, i16 15568, i16 15573, i16 15821, i16 0, i16 16052, i16 0, i16 17101, i16 0, i16 0, i16 0, i16 974, i16 975, i16 976, i16 977, i16 13006, i16 13007, i16 13008, i16 13009, i16 13518, i16 0, i16 0, i16 14415, i16 14542, i16 0, i16 0, i16 0, i16 16078, i16 14393, i16 0, i16 0, i16 207, i16 0, i16 235, i16 0, i16 12495, i16 0, i16 0, i16 16950, i16 13519, i16 0, i16 0, i16 0, i16 15311, i16 0, i16 14830, i16 14282, i16 15567, i16 0, i16 0, i16 16619, i16 15823, i16 0, i16 0, i16 16027, i16 16847, i16 0, i16 0, i16 14496, i16 17103, i16 17115, i16 0, i16 0, i16 208, i16 0, i16 0, i16 209, i16 720, i16 721, i16 722, i16 723, i16 14544, i16 0, i16 0, i16 0, i16 15056, i16 15059, i16 15071, i16 15076, i16 16336, i16 0, i16 0, i16 0, i16 16592, i16 15685, i16 0, i16 0, i16 16848, i16 0, i16 13214, i16 0, i16 17104, i16 14273, i16 14711, i16 0, i16 465, i16 466, i16 467, i16 468, i16 12753, i16 14734, i16 0, i16 16252, i16 14033, i16 0, i16 0, i16 15601, i16 16081, i16 0, i16 0, i16 0, i16 978, i16 979, i16 980, i16 981, i16 13010, i16 13012, i16 13013, i16 13014, i16 15826, i16 16028, i16 12772, i16 0, i16 16594, i16 0, i16 0, i16 0, i16 16850, i16 0, i16 16189, i16 0, i16 17106, i16 0, i16 0, i16 12294, i16 14547, i16 0, i16 0, i16 14190, i16 15315, i16 0, i16 0, i16 0, i16 15827, i16 0, i16 0, i16 12830, i16 724, i16 725, i16 726, i16 727, i16 12500, i16 0, i16 0, i16 16134, i16 13524, i16 0, i16 0, i16 0, i16 13780, i16 13256, i16 0, i16 0, i16 14804, i16 16701, i16 0, i16 0, i16 15060, i16 0, i16 12324, i16 0, i16 15316, i16 0, i16 15341, i16 0, i16 15572, i16 0, i16 0, i16 14646, i16 15828, i16 0, i16 13541, i16 15450, i16 469, i16 470, i16 471, i16 472, i16 12501, i16 0, i16 0, i16 0, i16 12757, i16 0, i16 0, i16 14292, i16 13269, i16 0, i16 0, i16 0, i16 13781, i16 0, i16 0, i16 13202, i16 14293, i16 0, i16 0, i16 14850, i16 982, i16 983, i16 984, i16 985, i16 13526, i16 12773, i16 0, i16 13700, i16 15574, i16 15575, i16 15650, i16 15725, i16 16854, i16 0, i16 15593, i16 14511, i16 13015, i16 13017, i16 13019, i16 13020, i16 14295, i16 0, i16 0, i16 0, i16 16599, i16 13986, i16 0, i16 0, i16 728, i16 729, i16 730, i16 731, i16 12504, i16 0, i16 0, i16 0, i16 13272, i16 13695, i16 17084, i16 13561, i16 14040, i16 16182, i16 16408, i16 0, i16 14296, i16 0, i16 0, i16 0, i16 14552, i16 0, i16 13151, i16 16838, i16 217, i16 215, i16 214, i16 206, i16 473, i16 474, i16 475, i16 0, i16 13529, i16 0, i16 15231, i16 0, i16 16089, i16 0, i16 16543, i16 0, i16 986, i16 987, i16 988, i16 989, i16 12762, i16 0, i16 0, i16 12667, i16 14042, i16 0, i16 14899, i16 0, i16 14298, i16 0, i16 0, i16 0, i16 15322, i16 14491, i16 0, i16 12496, i16 16602, i16 0, i16 0, i16 0, i16 12763, i16 0, i16 0, i16 15467, i16 13275, i16 14301, i16 0, i16 17006, i16 13531, i16 0, i16 14555, i16 0, i16 220, i16 0, i16 0, i16 0, i16 476, i16 477, i16 478, i16 479, i16 732, i16 733, i16 734, i16 735, i16 12764, i16 15934, i16 0, i16 16323, i16 14812, i16 12878, i16 0, i16 15877, i16 15580, i16 14196, i16 16484, i16 15632, i16 221, i16 0, i16 175, i16 222, i16 12509, i16 0, i16 0, i16 0, i16 13533, i16 0, i16 0, i16 0, i16 14557, i16 14233, i16 0, i16 0, i16 14813, i16 0, i16 0, i16 0, i16 15325, i16 0, i16 15780, i16 0, i16 16093, i16 16897, i16 13603, i16 0, i16 16349, i16 0, i16 14054, i16 14713, i16 990, i16 991, i16 992, i16 993, i16 12510, i16 15805, i16 13369, i16 0, i16 12766, i16 0, i16 0, i16 0, i16 13022, i16 13026, i16 13030, i16 13032, i16 13278, i16 14015, i16 13585, i16 0, i16 14046, i16 0, i16 0, i16 0, i16 14814, i16 0, i16 0, i16 0, i16 15582, i16 0, i16 0, i16 16043, i16 16350, i16 0, i16 0, i16 0, i16 223, i16 0, i16 268, i16 128, i16 13279, i16 15703, i16 16122, i16 0, i16 14303, i16 0, i16 0, i16 13160, i16 14815, i16 0, i16 0, i16 14647, i16 15327, i16 15373, i16 0, i16 14127, i16 16351, i16 0, i16 14211, i16 0, i16 480, i16 481, i16 482, i16 483, i16 736, i16 737, i16 738, i16 739, i16 13792, i16 0, i16 0, i16 14426, i16 15072, i16 15398, i16 0, i16 0, i16 12769, i16 0, i16 0, i16 0, i16 13537, i16 0, i16 0, i16 0, i16 14305, i16 0, i16 0, i16 0, i16 15585, i16 16868, i16 0, i16 0, i16 226, i16 229, i16 228, i16 231, i16 994, i16 995, i16 996, i16 997, i16 13282, i16 0, i16 0, i16 0, i16 14306, i16 0, i16 12700, i16 0, i16 14562, i16 15395, i16 0, i16 0, i16 16354, i16 0, i16 14249, i16 0, i16 16610, i16 0, i16 0, i16 13023, i16 12771, i16 0, i16 0, i16 0, i16 14307, i16 0, i16 0, i16 0, i16 15587, i16 17070, i16 0, i16 13673, i16 484, i16 485, i16 0, i16 0, i16 740, i16 741, i16 742, i16 743, i16 13028, i16 15378, i16 15379, i16 13805, i16 16612, i16 0, i16 14204, i16 16080, i16 13285, i16 0, i16 0, i16 0, i16 14053, i16 0, i16 13415, i16 0, i16 15589, i16 0, i16 12505, i16 16542, i16 16869, i16 0, i16 12780, i16 0, i16 17125, i16 16445, i16 0, i16 0, i16 230, i16 867, i16 700, i16 0, i16 486, i16 487, i16 488, i16 489, i16 998, i16 999, i16 1000, i16 1001, i16 12518, i16 0, i16 0, i16 0, i16 12774, i16 0, i16 0, i16 0, i16 13542, i16 0, i16 12967, i16 16522, i16 14310, i16 17148, i16 0, i16 0, i16 14822, i16 0, i16 0, i16 0, i16 15078, i16 15095, i16 15173, i16 15174, i16 16358, i16 0, i16 0, i16 13564, i16 16870, i16 0, i16 0, i16 0, i16 13287, i16 0, i16 12943, i16 14498, i16 14567, i16 0, i16 0, i16 0, i16 15335, i16 0, i16 0, i16 0, i16 17127, i16 15461, i16 13470, i16 0, i16 744, i16 745, i16 746, i16 747, i16 14312, i16 0, i16 0, i16 0, i16 15080, i16 15157, i16 13874, i16 13265, i16 16360, i16 0, i16 0, i16 0, i16 16872, i16 0, i16 0, i16 0, i16 13033, i16 13034, i16 13036, i16 13037, i16 13289, i16 12536, i16 0, i16 16564, i16 13545, i16 0, i16 0, i16 15443, i16 13801, i16 0, i16 13620, i16 0, i16 15081, i16 15804, i16 0, i16 0, i16 15849, i16 0, i16 0, i16 0, i16 16617, i16 0, i16 0, i16 0, i16 16873, i16 14697, i16 0, i16 0, i16 234, i16 0, i16 0, i16 0, i16 490, i16 491, i16 492, i16 493, i16 1002, i16 1003, i16 1004, i16 1005, i16 15338, i16 0, i16 0, i16 0, i16 16362, i16 0, i16 14446, i16 15234, i16 16874, i16 0, i16 0, i16 13025, i16 17130, i16 0, i16 0, i16 0, i16 12523, i16 0, i16 13760, i16 0, i16 14059, i16 14375, i16 0, i16 0, i16 14571, i16 0, i16 12662, i16 0, i16 15339, i16 14340, i16 0, i16 0, i16 15851, i16 0, i16 0, i16 16883, i16 748, i16 749, i16 750, i16 751, i16 14316, i16 0, i16 16739, i16 0, i16 14572, i16 0, i16 16192, i16 14871, i16 14828, i16 0, i16 0, i16 0, i16 15852, i16 12976, i16 15777, i16 0, i16 17132, i16 0, i16 0, i16 0, i16 12525, i16 14854, i16 0, i16 0, i16 14573, i16 14036, i16 0, i16 14037, i16 15085, i16 17109, i16 13852, i16 0, i16 16109, i16 15216, i16 13094, i16 0, i16 238, i16 0, i16 0, i16 179, i16 494, i16 495, i16 0, i16 0, i16 1006, i16 1007, i16 1008, i16 1009, i16 13806, i16 15676, i16 16961, i16 0, i16 16366, i16 15218, i16 0, i16 0, i16 12783, i16 0, i16 15396, i16 0, i16 13551, i16 15458, i16 17151, i16 0, i16 13807, i16 0, i16 0, i16 0, i16 14831, i16 0, i16 0, i16 0, i16 15855, i16 0, i16 14172, i16 0, i16 16367, i16 0, i16 14806, i16 12387, i16 240, i16 0, i16 163, i16 164, i16 752, i16 753, i16 754, i16 755, i16 12528, i16 0, i16 0, i16 12349, i16 13040, i16 0, i16 0, i16 15092, i16 13552, i16 13270, i16 0, i16 0, i16 14576, i16 0, i16 0, i16 0, i16 15600, i16 0, i16 0, i16 13650, i16 16368, i16 0, i16 0, i16 17051, i16 17136, i16 15591, i16 12699, i16 0, i16 13041, i16 13042, i16 13043, i16 13044, i16 13297, i16 0, i16 14164, i16 0, i16 14065, i16 0, i16 0, i16 0, i16 14321, i16 14328, i16 14431, i16 14457, i16 16369, i16 0, i16 16030, i16 16833, i16 16625, i16 0, i16 0, i16 0, i16 242, i16 241, i16 0, i16 0, i16 1010, i16 1011, i16 1012, i16 1013, i16 13554, i16 0, i16 0, i16 16702, i16 14066, i16 0, i16 0, i16 0, i16 14834, i16 14837, i16 14838, i16 14845, i16 499, i16 500, i16 501, i16 502, i16 16115, i16 0, i16 13362, i16 0, i16 16371, i16 14903, i16 15888, i16 0, i16 756, i16 757, i16 0, i16 0, i16 15860, i16 0, i16 0, i16 0, i16 16884, i16 0, i16 0, i16 0, i16 245, i16 248, i16 0, i16 249, i16 12789, i16 14319, i16 0, i16 0, i16 13045, i16 13047, i16 13052, i16 13064, i16 14581, i16 0, i16 16841, i16 0, i16 15093, i16 15181, i16 14721, i16 13061, i16 15605, i16 15130, i16 15715, i16 0, i16 15861, i16 0, i16 0, i16 14946, i16 16373, i16 15027, i16 0, i16 0, i16 16885, i16 0, i16 0, i16 16823, i16 246, i16 247, i16 0, i16 250, i16 758, i16 759, i16 760, i16 761, i16 1014, i16 1015, i16 1016, i16 1017, i16 12790, i16 0, i16 0, i16 0, i16 15350, i16 13930, i16 0, i16 0, i16 15606, i16 0, i16 0, i16 0, i16 16886, i16 16410, i16 15882, i16 17128, i16 17142, i16 16149, i16 0, i16 17135, i16 503, i16 504, i16 505, i16 506, i16 13815, i16 0, i16 0, i16 0, i16 14071, i16 0, i16 0, i16 0, i16 14583, i16 0, i16 0, i16 0, i16 14839, i16 16973, i16 15261, i16 17140, i16 13560, i16 0, i16 17083, i16 0, i16 14072, i16 0, i16 0, i16 0, i16 14584, i16 0, i16 15281, i16 0, i16 15608, i16 0, i16 0, i16 0, i16 15864, i16 16748, i16 0, i16 0, i16 16632, i16 15150, i16 0, i16 0, i16 12537, i16 0, i16 0, i16 14973, i16 12793, i16 14630, i16 15850, i16 0, i16 13049, i16 14043, i16 0, i16 0, i16 13305, i16 13263, i16 0, i16 0, i16 15865, i16 0, i16 0, i16 0, i16 17145, i16 16421, i16 0, i16 13784, i16 762, i16 763, i16 764, i16 765, i16 1018, i16 1019, i16 1020, i16 1021, i16 12538, i16 0, i16 0, i16 12960, i16 13050, i16 15974, i16 0, i16 13523, i16 15610, i16 0, i16 0, i16 0, i16 17146, i16 0, i16 0, i16 0, i16 507, i16 508, i16 509, i16 510, i16 13051, i16 0, i16 0, i16 0, i16 15099, i16 17005, i16 17050, i16 16925, i16 15611, i16 15678, i16 0, i16 0, i16 252, i16 0, i16 0, i16 183, i16 13308, i16 14843, i16 0, i16 0, i16 14332, i16 14758, i16 0, i16 0, i16 14588, i16 0, i16 16420, i16 14528, i16 15612, i16 15795, i16 0, i16 0, i16 13309, i16 0, i16 0, i16 0, i16 15869, i16 13439, i16 0, i16 0, i16 16381, i16 0, i16 0, i16 0, i16 16893, i16 14522, i16 0, i16 0, i16 17149, i16 0, i16 12785, i16 0, i16 254, i16 255, i16 0, i16 0, i16 766, i16 767, i16 768, i16 769, i16 1022, i16 1023, i16 1024, i16 1025, i16 13054, i16 0, i16 0, i16 13994, i16 13566, i16 0, i16 0, i16 0, i16 13822, i16 13259, i16 0, i16 15098, i16 511, i16 512, i16 0, i16 513, i16 12287, i16 0, i16 0, i16 13421, i16 12799, i16 0, i16 0, i16 0, i16 13311, i16 0, i16 0, i16 0, i16 13567, i16 0, i16 14077, i16 0, i16 14335, i16 12521, i16 13217, i16 0, i16 14591, i16 15619, i16 0, i16 0, i16 14847, i16 14848, i16 14856, i16 14866], [6 x i8] c"\0A\03\162\00\04", [24 x i64] [i64 48508, i64 48528, i64 48548, i64 14648, i64 48588, i64 48634, i64 48640, i64 14699, i64 48670, i64 52564, i64 52608, i64 14727, i64 53422, i64 61672, i64 61772, i64 16373, i64 0, i64 0, i64 0, i64 0, i64 68630, i64 69002, i64 69010, i64 44726], [2826 x i8] c"\00\00\01\00\00\00\00\00\00\01\00\08\00\01\01\01e\01\01\02\02\00\01\01\01e\01\02\00\02\00\02\02\02d\02\03\00\12\00\02\03\03c\03\03\02\02\00\02\04\04c\04\04\00\12\00\02\05\05b\03\04\02\02\00\02\06\06b\04\05\00\12\00\02\07\05a\03\05\02\02\00\02\08\06a\04\06\00\12\00\02\09\05`\03\06\02\02\00\02\0A\06`\04\07\00\02\00\03\0B\07_\05\08\00\12\00\02\0C\05^\03\08\02\02\00\02\0D\06^\04\09\00\12\00\02\0E\08]\03\09\02\02\00\02\0F\09]\04\0A\00\12\00\02\10\05\\\03\0A\02\02\00\02\11\06\\\04\0B\00\12\00\02\12\08[\03\0B\02\02\00\02\13\09[\04\0C\00\12\00\02\14\05Z\03\0C\02\02\00\02\15\06Z\04\0D\00\12\00\02\16\05Y\03\0D\02\02\00\02\17\06Y\04\0E\00\12\00\02\18\05X\03\0E\02\02\00\02\19\06X\04\0F\00\12\00\02\1A\05W\03\0F\02\02\00\02\1B\06W\04\10\00\12\00\00\1C\0A\8E\06\10\02\02\00\00\1D\0B\8E\07\11\00\12\00\02\1E\05V\03\11\02\02\00\02\1F\06V\04\12\00\12\00\02 \0CU\03\12\02\02\00\02!\0DU\04\13\00\12\00\02\22\05T\08\13\02\02\00\02#\06T\09\14\00\12\00\02$\05S\08\14\02\02\00\02%\06S\09\15\00\15\00\01&\0ER\0A\15\02\02\00\01&\0FR\0B\16\00\05\00\01'\10Q\0C\16\02\02\00\01(\11Q\0D\17\00\05\00\04)\12P\0E\17\02\02\00\04*\13P\0F\18\00\02\00\02+\14O\10\19\00\02\00\03,\15N\11\1A\00\08\00\05-\16M\12\1A\02\02\00\05.\16M\12\1B\00\0E\00\05/\17L\13\1B\02\02\00\05/\18L\13\1C\00\08\00\050\19\8B\14\1C\02\02\00\051\1A\8B\14\1D\00\0C\00\052\19\8B\14\1D\02\02\00\051\1A\8B\14\1E\00\0E\00\063\1B\8C\15\1E\02\02\00\074\1C\8C\15\1F\00\0B\00\025\1DK\16\1F\02\02\00\026\1DK\16 \00\08\00\017\1E\8A\17 \02\02\00\017\1F\8A\17!\00\08\00\058 J\18!\02\02\00\059!J\18\22\00\0C\00\05: J\18\22\02\02\00\059!J\18#\00\08\00\01;\22I\18#\02\02\00\01<#I\18$\00\0C\00\01=\22I\18$\02\02\00\01<#I\18%\00\08\00\08>$H\18%\02\02\00\08>%H\18&\00\08\00\01?$G\18&\02\02\00\01@%G\18'\00\0C\00\01A$G\18'\02\02\00\01@%G\18(\00\08\00\01;\22F\18(\02\02\00\01<#F\18)\00\0C\00\01=\22F\18)\02\02\00\01<#F\18*\00\13\00\09B&E\19*\02\02\00\09C'E\1A+\00\08\00\02D(D\02+\02\02\00\02D(D\02,\00\08\00\02E)C\1B,\02\02\00\02E)C\1B-\00\08\00\02F*\89\1C-\02\02\00\02F*\89\1C.\00\08\00\01G+B\1D.\02\02\00\01H+B\1D/\00\08\00\025)A\02/\02\02\00\026)A\020\00\08\00\02I,@\1E0\02\02\00\02I,@\1E1\00\08\00\02J)?\021\02\02\00\02K)?\022\00\0C\00\02L)?\022\02\02\00\02K)?\023\00\02\00\03\0B->\1E4\00\08\00\02M)=\024\02\02\00\02M)=\025\00\08\00\02N.<\1E5\02\02\00\02N.<\1E6\00\08\00\02O/;\1E6\02\02\00\02O/;\1E7\00\08\00\02P0:\027\02\02\00\02P0:\028\00\08\00\02Q)9\1B8\02\02\00\02Q)9\1B9\00\08\00\02R)8\1B9\02\02\00\02R)8\1B:\02\02\00\05S17\1F;\00\08\00\01T2\88 ;\02\02\00\01T3\88 <\00\08\00\05U2\87 <\02\02\00\05U3\87 =\00\08\00\05V2\86 =\02\02\00\05V3\86 >\00\08\00\05W2\85 >\02\02\00\05W3\85 ?\00\08\00\00X2\84 ?\02\02\00\00X3\84 @\00\08\00\00Y2\83 @\02\02\00\00Y3\83 A\00\08\00\05Z2\82 A\02\02\00\05Z3\82 B\00\08\00\05[2\81 B\02\02\00\05\\3\81 C\00\0C\00\05]2\81 C\02\02\00\05\\3\81 D\00\08\00\00^2\80 D\02\02\00\00^3\80 E\00\08\00\00_2\7F E\02\02\00\00_3\7F F\00\08\00\00`2~ F\02\02\00\00`3~ G\00\08\00\00a2} G\02\02\00\00a3} H\00\08\00\00b2| H\02\02\00\00b3| I\00\08\00\00c2{ I\02\02\00\00c3{ J\00\08\00\00d2z J\02\02\00\00d3z K\00\08\00\05e2y K\02\02\00\05e3y L\00\08\00\00f2x L\02\02\00\00g3x M\00\08\00\02P2w M\02\02\00\02P3w N\00\08\00\05h2v N\02\02\00\05h3v O\00\08\00\05i2u O\02\02\00\05i3u P\00\08\00\06j4t!P\02\02\00\07k5t!Q\00\08\00\05l66\22Q\02\02\00\05m66\22R\00\0C\00\05n66\22R\02\02\00\05m66\22S\02\02\01\0Ao75#S\00\02\01\0Ao75#T\00\08\00\01p8s$T\02\02\00\01q9s$U\00\0C\00\01r8s$U\02\02\00\01q9s$V\00\08\00\017:r%V\02\02\00\017;r%W\00\08\00\09?<4&W\02\02\00\09@=4&X\00\0C\00\09A<4&X\02\02\00\09@=4&Y\00\08\00\0Bs>q'Y\02\02\00\0Bs?q'Z\00\08\00\05>@3(Z\02\02\00\05>A3([\00\08\00\05-B2'[\02\02\00\05.C2'\\\00\0C\00\05tB2'\\\02\02\00\05.C2']\00\08\00\05-B1']\02\02\00\05.C1'^\00\0C\00\05tB1'^\02\02\00\05.C1'_\00\08\00\02JD0)_\02\02\00\02KE0)`\00\0C\00\02LD0)`\02\02\00\02KE0)a\00\0C\00\025F/\1Ba\02\02\00\026G/\1Bb\00\08\00\05lHp b\02\02\00\05mIp c\00\0C\00\05nHp c\02\02\00\05mIp d\00\08\00\025J.\1Bd\02\02\00\026J.\1Be\00\14\00\02uK-*e\02\02\00\02vL-+f\02\02\00\02wM,\02f\00\02\00\02wM,\02g\00\0E\00\05xNo,g\02\02\00\05xOo,h\00\0E\00\01yP+-h\02\02\00\01yQ+-i\00\03\00\02zR*.i\02\02\00\02{S*\10j\00\08\00\01|T)/j\02\02\00\01|T)/k\00\08\00\01}Un\18k\02\02\00\01}Vn\18l\00\08\00\0C>W(0l\02\02\00\0C>X(0m\00\08\00\05lY' m\02\02\00\05mZ' n\00\0C\00\05nY' n\02\02\00\05mZ' o\00\14\00\02uK&*o\02\02\00\02vL&+p\02\02\00\02~[\901q\00\07\00\01\7F\\%2q\02\02\00\01\80]%3r\00\08\00\017^m4r\02\02\00\017^m4s\02\02\00\02\81_\915t\00\08\00\025`$6t\02\02\00\026`$6u\00\0A\00\01\82al7u\02\02\00\01\82bl7v\00\0A\00\06\83ck%v\02\02\00\07\84dk%w\00\0A\00\02Me#8w\02\02\00\02Mf#9x\00\11\00\0D\85g\22:x\02\02\00\0D\86h\22;y\02\02\00\02\87i!\82\02\02\00\05.s\1B>\83\00\0E\00\05\90ti?\83\02\02\00\05\91ui?\84\00\08\00\05\92v\1A@\84\02\02\00\05\92w\1A@\85\00\08\00\05\93x\19@\85\02\02\00\05\94y\19@\86\00\0C\00\05\95x\19@\86\02\02\00\05\94y\19@\87\00\0E\00\05\96z\18A\87\02\02\00\05\96{\18A\88\16\16\00\01\97|\17B\88\00\11\00\01\98}\17C\88\02\02\00\01\99~\17\0D\89\00\18\00\01\9A\7F\16D\89\02\02\00\01\9B\80\16E\8A\00\02\00\01\9C\81\15F\8B\00\0E\00\06\9D\82\8DG\8B\02\02\00\07\9E\83\8DH\8C\00\0E\00\0B\9F\84hI\8C\02\02\00\0B\9F\85hI\8D\00\08\00\01\A0\86\14\02\8D\02\02\00\01\A0\87\14\02\8E\00\0E\00\05\A1\88\13J\8E\02\02\00\05\A1\89\13J\8F\00\11\00\05\A2\8A\13K\8F\02\02\00\05\A3\8B\13E\90\00\08\00\01p\8Cg\18\90\02\02\00\01q\8Dg\18\91\00\0C\00\01r\8Cg\18\91\02\02\00\01q\8Dg\18\92\00\08\00\0D\A4\8C\12\18\92\02\02\00\0D\A4\8D\12\18\93\00\02\00\03\0B\8E\11L\94\00\02\00\0E\A5\8F\10M\95\00\17\00\01\97|\0FN\95\02\02\00\01\99~\0FO\96\00\19\00\02\A6\90\8FP\96\02\02\00\02\A7\91\8FQ\97\00\02\00\02\A8\92\0E\02\98\00\02\00\02\02\93\0D\02\99\00\08\00\02\A9\94\0C\02\99\02\02\00\02\A9\94\0C\02\9A\00\15\00\00\AA\95fR\9A\02\02\00\00\AA\96fS\9B\02\02\00\01\99\97\0BT\9C\00\18\00\01\9A\98\0AU\9C\02\02\00\01\9B\99\0AV\9D\00\02\00\02\AB\9A\09W\9E\00\08\00\02\AC\9B\08X\9E\02\02\00\02\AC\9B\08X\9F\02\02\00\01\AD\9C\07\02\9F\00\02\00\01\AD\9C\07\02\A0\00\08\00\09?\9D\06Y\A0\02\02\00\09@\9E\06Y\A1\00\0C\00\09A\9D\06Y\A2\00\06\00\02\AE\9F\05Z\A2\02\02\00\02\AE\A0\05[\A3\02\02\00\02\AF\A1\04\\\A4\02\02\00\02I\A2\03\\\A5\00\02\00\02O\A3\02\1E\A6\02\02\00\02\B0\A4\01\\", [835 x i8] c"af_ZAam_ETar_AEar_BHar_DZar_EGar_INar_IQar_JOar_KWar_LBar_LYar_MAar_OMar_QAar_SAar_SDar_SYar_TNar_YEaz_AZbe_BYbg_BGbn_BDbn_INbr_FRbs_BAca_EScaeEScs_CZcy_GBda_DKde_ATdeeATde_BEdeeBEde_CHde_DEdeeDEde_LUdeeLUel_GRen_AUen_BWen_CAen_DKen_GBen_HKen_IEeneIEen_INen_NZen_PHen_SGen_USen_ZAen_ZWeo_EOes_ARes_BOes_CLes_COes_CRes_DOes_ECes_ESeseESes_GTes_HNes_MXes_NIes_PAes_PEes_PRes_PYes_SVes_USes_UYes_VEet_EEeu_ESeueESfa_IRfi_FIfieFIfo_FOfr_BEfreBEfr_CAfr_CHfr_FRfreFRfr_LUfreLUga_IEgaeIEgd_GBgl_ESgleESgv_GBhe_ILhi_INhr_HRhu_HUhy_AMid_IDis_ISit_CHit_ITiteITiw_ILja_JPka_GEkl_GLko_KRkw_GBlt_LTlv_LVmi_NZmk_MKmr_INms_MYmt_MTnl_BEnleBEnl_NLnleNLnn_NOno_NOoc_FRpl_PLpt_BRpt_PTptePTro_ROru_RUru_UAse_NOsk_SKsl_SIsq_ALsr_YUsrcYUsv_FIsveFIsv_SEta_INte_INtg_TJth_THti_ERti_ETtl_PHtr_TRtt_RUuk_UAur_PKuz_UZvi_VNwa_BEwaeBEyi_USzh_CNzh_HKzh_SGzh_TW\00\00\00\00\00", [18 x i8] c"\05eeuro\00\09ccyrillic\00", [69 x i8] c"\06\0F\1A&.9LC_CTYPE\00LC_NUMERIC\00LC_MONETARY\00LC_TIME\00LC_COLLATE\00LC_MESSAGES\00", [255 x i8] c"\18\22(/6BMYeq}\89\94\9F\AA\B5\C0\CB\D6\E1\E8\EF\F6\00ARMSCII-8\00ASCII\00CP1251\00CP1255\00GEORGIAN-PS\00ISO-8859-1\00ISO-8859-10\00ISO-8859-13\00ISO-8859-14\00ISO-8859-15\00ISO-8859-16\00ISO-8859-2\00ISO-8859-3\00ISO-8859-4\00ISO-8859-5\00ISO-8859-6\00ISO-8859-7\00ISO-8859-8\00ISO-8859-9\00KOI8-R\00KOI8-T\00KOI8-U\00TIS-620\00\00" }, align 8 +@__C_ctype_b_data = constant <{ [256 x i16], [128 x i16] }> <{ [256 x i16] [i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 8195, i16 8194, i16 8194, i16 8194, i16 8194, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 24577, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -11000, i16 -11000, i16 -11000, i16 -11000, i16 -11000, i16 -11000, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -10744, i16 -10744, i16 -10744, i16 -10744, i16 -10744, i16 -10744, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 2], [128 x i16] zeroinitializer }>, align 16 +@__C_ctype_b = global i16* bitcast (i8* getelementptr (i8, i8* bitcast (<{ [256 x i16], [128 x i16] }>* @__C_ctype_b_data to i8*), i64 256) to i16*), align 8 +@__C_ctype_tolower_data = constant [384 x i16] [i16 -128, i16 -127, i16 -126, i16 -125, i16 -124, i16 -123, i16 -122, i16 -121, i16 -120, i16 -119, i16 -118, i16 -117, i16 -116, i16 -115, i16 -114, i16 -113, i16 -112, i16 -111, i16 -110, i16 -109, i16 -108, i16 -107, i16 -106, i16 -105, i16 -104, i16 -103, i16 -102, i16 -101, i16 -100, i16 -99, i16 -98, i16 -97, i16 -96, i16 -95, i16 -94, i16 -93, i16 -92, i16 -91, i16 -90, i16 -89, i16 -88, i16 -87, i16 -86, i16 -85, i16 -84, i16 -83, i16 -82, i16 -81, i16 -80, i16 -79, i16 -78, i16 -77, i16 -76, i16 -75, i16 -74, i16 -73, i16 -72, i16 -71, i16 -70, i16 -69, i16 -68, i16 -67, i16 -66, i16 -65, i16 -64, i16 -63, i16 -62, i16 -61, i16 -60, i16 -59, i16 -58, i16 -57, i16 -56, i16 -55, i16 -54, i16 -53, i16 -52, i16 -51, i16 -50, i16 -49, i16 -48, i16 -47, i16 -46, i16 -45, i16 -44, i16 -43, i16 -42, i16 -41, i16 -40, i16 -39, i16 -38, i16 -37, i16 -36, i16 -35, i16 -34, i16 -33, i16 -32, i16 -31, i16 -30, i16 -29, i16 -28, i16 -27, i16 -26, i16 -25, i16 -24, i16 -23, i16 -22, i16 -21, i16 -20, i16 -19, i16 -18, i16 -17, i16 -16, i16 -15, i16 -14, i16 -13, i16 -12, i16 -11, i16 -10, i16 -9, i16 -8, i16 -7, i16 -6, i16 -5, i16 -4, i16 -3, i16 -2, i16 -1, i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255], align 16 +@__C_ctype_tolower = global i16* bitcast (i8* getelementptr (i8, i8* bitcast ([384 x i16]* @__C_ctype_tolower_data to i8*), i64 256) to i16*), align 8 +@__C_ctype_toupper_data = constant [384 x i16] [i16 -128, i16 -127, i16 -126, i16 -125, i16 -124, i16 -123, i16 -122, i16 -121, i16 -120, i16 -119, i16 -118, i16 -117, i16 -116, i16 -115, i16 -114, i16 -113, i16 -112, i16 -111, i16 -110, i16 -109, i16 -108, i16 -107, i16 -106, i16 -105, i16 -104, i16 -103, i16 -102, i16 -101, i16 -100, i16 -99, i16 -98, i16 -97, i16 -96, i16 -95, i16 -94, i16 -93, i16 -92, i16 -91, i16 -90, i16 -89, i16 -88, i16 -87, i16 -86, i16 -85, i16 -84, i16 -83, i16 -82, i16 -81, i16 -80, i16 -79, i16 -78, i16 -77, i16 -76, i16 -75, i16 -74, i16 -73, i16 -72, i16 -71, i16 -70, i16 -69, i16 -68, i16 -67, i16 -66, i16 -65, i16 -64, i16 -63, i16 -62, i16 -61, i16 -60, i16 -59, i16 -58, i16 -57, i16 -56, i16 -55, i16 -54, i16 -53, i16 -52, i16 -51, i16 -50, i16 -49, i16 -48, i16 -47, i16 -46, i16 -45, i16 -44, i16 -43, i16 -42, i16 -41, i16 -40, i16 -39, i16 -38, i16 -37, i16 -36, i16 -35, i16 -34, i16 -33, i16 -32, i16 -31, i16 -30, i16 -29, i16 -28, i16 -27, i16 -26, i16 -25, i16 -24, i16 -23, i16 -22, i16 -21, i16 -20, i16 -19, i16 -18, i16 -17, i16 -16, i16 -15, i16 -14, i16 -13, i16 -12, i16 -11, i16 -10, i16 -9, i16 -8, i16 -7, i16 -6, i16 -5, i16 -4, i16 -3, i16 -2, i16 -1, i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255], align 16 +@__C_ctype_toupper = global i16* bitcast (i8* getelementptr (i8, i8* bitcast ([384 x i16]* @__C_ctype_toupper_data to i8*), i64 256) to i16*), align 8 +@errno = global i32 0, align 4 +@h_errno = global i32 0, align 4 +@.str.218 = private unnamed_addr constant [17 x i8] c"ignoring (EPERM)\00", align 1 +@.str.7.220 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.1.221 = private unnamed_addr constant [9 x i8] c"ignoring\00", align 1 +@.str.2.222 = private unnamed_addr constant [82 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/illegal.c\00", align 1 +@.str.3.223 = private unnamed_addr constant [20 x i8] c"longjmp unsupported\00", align 1 +@.str.4.224 = private unnamed_addr constant [8 x i8] c"xxx.err\00", align 1 +@.str.5.226 = private unnamed_addr constant [18 x i8] c"ignoring (EACCES)\00", align 1 +@.str.6.227 = private unnamed_addr constant [18 x i8] c"ignoring (ENOMEM)\00", align 1 +@error_message_count = global i32 0, align 4 +@error_one_per_line = global i32 0, align 4 +@.str.230 = private unnamed_addr constant [5 x i8] c": %s\00", align 1 +@__error_at_line.old_line_number = internal global i32 0, align 4 +@__error_at_line.old_file_name = internal global i8* null, align 8 +@.str.1.231 = private unnamed_addr constant [8 x i8] c"%s:%d: \00", align 1 +@hr_locale = internal global [448 x i8] zeroinitializer, align 16 +@utf8.238 = internal constant [6 x i8] c"UTF-8\00", align 1 +@static_fd = internal global i32 -1, align 4 +@static_ut_name = internal global i8* getelementptr inbounds ([14 x i8], [14 x i8]* @default_file_name, i32 0, i32 0), align 8 +@default_file_name = internal constant [14 x i8] c"/var/run/utmp\00", align 1 +@static_utmp = internal global %struct.utmp.323 zeroinitializer, align 8 +@mbrtowc.mbstate = internal global %struct.__mbstate_t.512 zeroinitializer, align 4 +@__dso_handle = extern_weak global i8*, align 8 +@optind = global i32 1, align 4 +@opterr = global i32 1, align 4 +@optopt = global i32 63, align 4 +@optarg = global i8* null, align 8 +@getopt_data = internal global %struct._getopt_data zeroinitializer, align 8 +@.str.309 = private unnamed_addr constant [3 x i8] c"--\00", align 1 +@.str.1.310 = private unnamed_addr constant [30 x i8] c"%s: option `%s' is ambiguous\0A\00", align 1 +@.str.2.311 = private unnamed_addr constant [45 x i8] c"%s: option `--%s' doesn't allow an argument\0A\00", align 1 +@.str.3.312 = private unnamed_addr constant [45 x i8] c"%s: option `%c%s' doesn't allow an argument\0A\00", align 1 +@.str.4.313 = private unnamed_addr constant [38 x i8] c"%s: option `%s' requires an argument\0A\00", align 1 +@.str.5.314 = private unnamed_addr constant [32 x i8] c"%s: unrecognized option `--%s'\0A\00", align 1 +@.str.6.315 = private unnamed_addr constant [32 x i8] c"%s: unrecognized option `%c%s'\0A\00", align 1 +@.str.7.316 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@.str.8.317 = private unnamed_addr constant [26 x i8] c"%s: illegal option -- %c\0A\00", align 1 +@.str.9.318 = private unnamed_addr constant [26 x i8] c"%s: invalid option -- %c\0A\00", align 1 +@.str.10.319 = private unnamed_addr constant [39 x i8] c"%s: option requires an argument -- %c\0A\00", align 1 +@.str.11.320 = private unnamed_addr constant [16 x i8] c"POSIXLY_CORRECT\00", align 1 +@.str.325 = private unnamed_addr constant [14 x i8] c"#\80\80\80\80\80\80\80\80\80\80\80\80\00", align 1 +@newlocale.envstr = internal global [4 x i8*] [i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.329, i32 0, i32 0), i8* null, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.2.330, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @posix, i32 0, i32 0)], align 16 +@.str.3.326 = private unnamed_addr constant [2 x i8] c"=\00", align 1 +@.str.4.327 = private unnamed_addr constant [2 x i8] c";\00", align 1 +@posix = internal constant [6 x i8] c"POSIX\00", align 1 +@utf8.328 = internal constant [6 x i8] c"UTF-8\00", align 1 +@.str.1.329 = private unnamed_addr constant [7 x i8] c"LC_ALL\00", align 1 +@.str.2.330 = private unnamed_addr constant [5 x i8] c"LANG\00", align 1 +@empty = internal constant [1 x i8] zeroinitializer, align 1 +@mbsnrtowcs.mbstate = internal global %struct.__mbstate_t.512 zeroinitializer, align 4 +@_do_one_spec.spec_base = internal constant [7 x i8] c"\10\10\10\08\0A\0A\0A", align 1 +@.str.347 = private unnamed_addr constant [6 x i8] c"(nil)\00", align 1 +@.str.1.348 = private unnamed_addr constant [7 x i8] c"(null)\00", align 1 +@_do_one_spec.prefix = internal constant [12 x i8] c"+\00-\00 \000x\000X\00", align 1 +@strerror.buf = internal global [50 x i8] zeroinitializer, align 16 +@bound = internal constant [5 x i64] [i64 128, i64 2048, i64 65536, i64 2097152, i64 67108864], align 16 +@first = internal global [6 x i8] c"\00\C0\E0\F0\F8\FC", align 1 +@desc2flag = internal constant [13 x i16] [i16 0, i16 2048, i16 4, i16 256, i16 512, i16 8, i16 128, i16 2, i16 64, i16 1024, i16 32, i16 1, i16 16], align 16 +@fmt = internal constant [20 x i8] c"inf\00INF\00nan\00NAN\00.\00,\00", align 16 +@exp10_table = internal constant [9 x double] [double 1.000000e+01, double 1.000000e+02, double 1.000000e+04, double 1.000000e+08, double 1.000000e+16, double 1.000000e+32, double 1.000000e+64, double 1.000000e+128, double 1.000000e+256], align 16 +@_ppfs_init.invalid_mbs = internal constant [33 x i8] c"Invalid multibyte format string.\00", align 16 +@_ppfs_parsespec.spec_flags = internal constant [8 x i8] c" +0-#'I\00", align 1 +@_ppfs_parsespec.qual_chars = internal constant [20 x i8] c"hlLjztqZ\00\02\04\08\04\04\04\08\04\00\01\08", align 16 +@_ppfs_parsespec.spec_chars = internal constant [21 x i8] c"npxXoudifFeEgGaACScs\00", align 16 +@_ppfs_parsespec.spec_ranges = internal constant [9 x i8] c"\00\01\07\0F\10\11\12\13\14", align 1 +@_ppfs_parsespec.spec_or_mask = internal constant [8 x i16] [i16 4096, i16 5, i16 0, i16 7, i16 2, i16 4, i16 1, i16 3], align 16 +@_ppfs_parsespec.spec_and_mask = internal constant [8 x i16] [i16 7936, i16 5, i16 3840, i16 2055, i16 2, i16 4, i16 1, i16 3], align 16 +@type_codes = internal constant [12 x i16] [i16 8, i16 5, i16 3, i16 4, i16 1, i16 512, i16 0, i16 1024, i16 2048, i16 2, i16 7, i16 2055], align 16 +@type_sizes = internal constant [12 x i8] c"\00\01\01\01\04\02\01\01\01\01\01\01", align 1 +@__exit_count = hidden global i32 0, align 4 +@__exit_function_table = hidden global %struct.exit_function* null, align 8 +@__exit_slots = hidden global i32 0, align 4 +@__xpg_strerror_r.unknown = internal constant [14 x i8] c"Unknown error ", align 1 +@mbsrtowcs.mbstate = internal global %struct.__mbstate_t.512 zeroinitializer, align 4 +@_string_syserrmsgs = hidden constant [2906 x i8] c"Success\00Operation not permitted\00No such file or directory\00No such process\00Interrupted system call\00Input/output error\00No such device or address\00Argument list too long\00Exec format error\00Bad file descriptor\00No child processes\00Resource temporarily unavailable\00Cannot allocate memory\00Permission denied\00Bad address\00Block device required\00Device or resource busy\00File exists\00Invalid cross-device link\00No such device\00Not a directory\00Is a directory\00Invalid argument\00Too many open files in system\00Too many open files\00Inappropriate ioctl for device\00Text file busy\00File too large\00No space left on device\00Illegal seek\00Read-only file system\00Too many links\00Broken pipe\00Numerical argument out of domain\00Numerical result out of range\00Resource deadlock avoided\00File name too long\00No locks available\00Function not implemented\00Directory not empty\00Too many levels of symbolic links\00\00No message of desired type\00Identifier removed\00Channel number out of range\00Level 2 not synchronized\00Level 3 halted\00Level 3 reset\00Link number out of range\00Protocol driver not attached\00No CSI structure available\00Level 2 halted\00Invalid exchange\00Invalid request descriptor\00Exchange full\00No anode\00Invalid request code\00Invalid slot\00\00Bad font file format\00Device not a stream\00No data available\00Timer expired\00Out of streams resources\00Machine is not on the network\00Package not installed\00Object is remote\00Link has been severed\00Advertise error\00Srmount error\00Communication error on send\00Protocol error\00Multihop attempted\00RFS specific error\00Bad message\00Value too large for defined data type\00Name not unique on network\00File descriptor in bad state\00Remote address changed\00Can not access a needed shared library\00Accessing a corrupted shared library\00.lib section in a.out corrupted\00Attempting to link in too many shared libraries\00Cannot exec a shared library directly\00Invalid or incomplete multibyte or wide character\00Interrupted system call should be restarted\00Streams pipe error\00Too many users\00Socket operation on non-socket\00Destination address required\00Message too long\00Protocol wrong type for socket\00Protocol not available\00Protocol not supported\00Socket type not supported\00Operation not supported\00Protocol family not supported\00Address family not supported by protocol\00Address already in use\00Cannot assign requested address\00Network is down\00Network is unreachable\00Network dropped connection on reset\00Software caused connection abort\00Connection reset by peer\00No buffer space available\00Transport endpoint is already connected\00Transport endpoint is not connected\00Cannot send after transport endpoint shutdown\00Too many references: cannot splice\00Connection timed out\00Connection refused\00Host is down\00No route to host\00Operation already in progress\00Operation now in progress\00Stale NFS file handle\00Structure needs cleaning\00Not a XENIX named type file\00No XENIX semaphores available\00Is a named type file\00Remote I/O error\00Disk quota exceeded\00No medium found\00Wrong medium type\00", align 16 + +@__progname = weak alias i8*, i8** @program_invocation_short_name +@__progname_full = weak alias i8*, i8** @program_invocation_name +@environ = weak alias i8**, i8*** @__environ +@__getdents = dso_local alias i64 (i32, %struct.dirent64*, i64), i64 (i32, %struct.dirent64*, i64)* @getdents +@getchar = alias i32 (), i32 ()* @getchar_unlocked +@raise = weak alias i32 (i32), i32 (i32)* @__raise +@fgetc_unlocked = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@getc_unlocked = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@fgetc = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@getc = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@__getdents64 = dso_local alias i64 (i32, i8*, i64), i64 (i32, i8*, i64)* @getdents64 +@error = weak alias void (i32, i32, i8*, ...), void (i32, i32, i8*, ...)* @__error +@error_at_line = weak alias void (i32, i32, i8*, i32, i8*, ...), void (i32, i32, i8*, i32, i8*, ...)* @__error_at_line +@feof = alias i32 (%struct.__STDIO_FILE_STRUCT.590*), i32 (%struct.__STDIO_FILE_STRUCT.590*)* @feof_unlocked +@ferror = alias i32 (%struct.__STDIO_FILE_STRUCT.592*), i32 (%struct.__STDIO_FILE_STRUCT.592*)* @ferror_unlocked +@fflush = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fflush_unlocked +@fileno = alias i32 (%struct.__STDIO_FILE_STRUCT.608*), i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno_unlocked +@fputc_unlocked = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@putc_unlocked = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@fputc = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@putc = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@fputs = alias i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*), i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked +@fseeko = alias i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32), i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32)* @fseek +@fwrite = alias i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*), i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*)* @fwrite_unlocked +@strerror_r = weak alias i32 (i32, i8*, i64), i32 (i32, i8*, i64)* @__xpg_strerror_r + +; Function Attrs: noinline nounwind uwtable +define void @__uClibc_init() #0 { +entry: + %0 = load i32, i32* @__uClibc_init.been_there_done_that, align 4 + %tobool = icmp ne i32 %0, 0 + br i1 %tobool, label %if.end4, label %if.end + +if.end: ; preds = %entry + %1 = load i32, i32* @__uClibc_init.been_there_done_that, align 4 + %inc = add nsw i32 %1, 1 + store i32 %inc, i32* @__uClibc_init.been_there_done_that, align 4 + store i64 4096, i64* @__pagesize, align 8 + call void @_locale_init() #18 + call void @_stdio_init() #18 + br label %if.end4 + +if.end4: ; preds = %entry, %if.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define void @__uClibc_fini() #0 { +entry: + %0 = load void ()*, void ()** @__app_fini, align 8 + %cmp = icmp ne void ()* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load void ()*, void ()** @__app_fini, align 8 + call void %1() #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %2 = load void ()*, void ()** @__rtld_fini, align 8 + %cmp1 = icmp ne void ()* %2, null + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + %3 = load void ()*, void ()** @__rtld_fini, align 8 + call void %3() #18 + br label %if.end3 + +if.end3: ; preds = %if.then2, %if.end + ret void +} + +; Function Attrs: noinline noreturn nounwind uwtable +define void @__uClibc_main(i32 (i32, i8**, i8**)* %main, i32 %argc, i8** %argv, void ()* %app_init, void ()* %app_fini, void ()* %rtld_fini, i8* %stack_end) #1 { +entry: + %main.addr = alloca i32 (i32, i8**, i8**)*, align 8 + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %app_init.addr = alloca void ()*, align 8 + %app_fini.addr = alloca void ()*, align 8 + %rtld_fini.addr = alloca void ()*, align 8 + %stack_end.addr = alloca i8*, align 8 + %aux_dat = alloca i64*, align 8 + %auxvt = alloca [15 x %struct.Elf64_auxv_t], align 16 + %auxv_entry = alloca %struct.Elf64_auxv_t*, align 8 + store i32 (i32, i8**, i8**)* %main, i32 (i32, i8**, i8**)** %main.addr, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store void ()* %app_init, void ()** %app_init.addr, align 8 + store void ()* %app_fini, void ()** %app_fini.addr, align 8 + store void ()* %rtld_fini, void ()** %rtld_fini.addr, align 8 + store i8* %stack_end, i8** %stack_end.addr, align 8 + %0 = load i8*, i8** %stack_end.addr, align 8 + store i8* %0, i8** @__libc_stack_end, align 8 + %1 = load void ()*, void ()** %rtld_fini.addr, align 8 + store void ()* %1, void ()** @__rtld_fini, align 8 + %2 = load i8**, i8*** %argv.addr, align 8 + %3 = load i32, i32* %argc.addr, align 4 + %add = add nsw i32 %3, 1 + %idxprom = sext i32 %add to i64 + %arrayidx = getelementptr inbounds i8*, i8** %2, i64 %idxprom + store i8** %arrayidx, i8*** @__environ, align 8 + %4 = load i8**, i8*** @__environ, align 8 + %5 = bitcast i8** %4 to i8* + %6 = load i8**, i8*** %argv.addr, align 8 + %7 = load i8*, i8** %6, align 8 + %cmp = icmp eq i8* %5, %7 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %8 = load i8**, i8*** %argv.addr, align 8 + %9 = load i32, i32* %argc.addr, align 4 + %idxprom1 = sext i32 %9 to i64 + %arrayidx2 = getelementptr inbounds i8*, i8** %8, i64 %idxprom1 + store i8** %arrayidx2, i8*** @__environ, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %arraydecay = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 0 + %10 = bitcast %struct.Elf64_auxv_t* %arraydecay to i8* + %call = call i8* @memset(i8* %10, i32 0, i64 240) #19 + %11 = load i8**, i8*** @__environ, align 8 + %12 = bitcast i8** %11 to i64* + store i64* %12, i64** %aux_dat, align 8 + br label %while.cond + +while.cond: ; preds = %while.cond, %if.end + %13 = load i64*, i64** %aux_dat, align 8 + %14 = load i64, i64* %13, align 8 + %tobool = icmp ne i64 %14, 0 + %15 = load i64*, i64** %aux_dat, align 8 + %incdec.ptr = getelementptr inbounds i64, i64* %15, i32 1 + store i64* %incdec.ptr, i64** %aux_dat, align 8 + br i1 %tobool, label %while.cond, label %while.cond4 + +while.cond4: ; preds = %while.cond, %if.end12 + %16 = load i64*, i64** %aux_dat, align 8 + %17 = load i64, i64* %16, align 8 + %tobool5 = icmp ne i64 %17, 0 + br i1 %tobool5, label %while.body6, label %while.end13 + +while.body6: ; preds = %while.cond4 + %18 = load i64*, i64** %aux_dat, align 8 + %19 = bitcast i64* %18 to %struct.Elf64_auxv_t* + store %struct.Elf64_auxv_t* %19, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %20 = load %struct.Elf64_auxv_t*, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %a_type = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %20, i32 0, i32 0 + %21 = load i64, i64* %a_type, align 8 + %cmp7 = icmp ule i64 %21, 14 + br i1 %cmp7, label %if.then8, label %if.end12 + +if.then8: ; preds = %while.body6 + %22 = load %struct.Elf64_auxv_t*, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %a_type9 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %22, i32 0, i32 0 + %23 = load i64, i64* %a_type9, align 8 + %arrayidx10 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 %23 + %24 = bitcast %struct.Elf64_auxv_t* %arrayidx10 to i8* + %25 = load %struct.Elf64_auxv_t*, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %26 = bitcast %struct.Elf64_auxv_t* %25 to i8* + %call11 = call i8* @memcpy(i8* %24, i8* %26, i64 16) #19 + br label %if.end12 + +if.end12: ; preds = %if.then8, %while.body6 + %27 = load i64*, i64** %aux_dat, align 8 + %add.ptr = getelementptr inbounds i64, i64* %27, i64 2 + store i64* %add.ptr, i64** %aux_dat, align 8 + br label %while.cond4 + +while.end13: ; preds = %while.cond4 + call void @__uClibc_init() #18 + %arrayidx14 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 6 + %a_un = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx14, i32 0, i32 1 + %a_val = bitcast %union.anon.193* %a_un to i64* + %28 = load i64, i64* %a_val, align 8 + %tobool15 = icmp ne i64 %28, 0 + %arrayidx16 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 6 + %a_un17 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx16, i32 0, i32 1 + %a_val18 = bitcast %union.anon.193* %a_un17 to i64* + %29 = load i64, i64* %a_val18, align 8 + %cond = select i1 %tobool15, i64 %29, i64 4096 + store i64 %cond, i64* @__pagesize, align 8 + %arrayidx19 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 11 + %a_un20 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx19, i32 0, i32 1 + %a_val21 = bitcast %union.anon.193* %a_un20 to i64* + %30 = load i64, i64* %a_val21, align 8 + %cmp22 = icmp eq i64 %30, -1 + br i1 %cmp22, label %land.lhs.true, label %lor.lhs.false + +land.lhs.true: ; preds = %while.end13 + %call23 = call i32 @__check_suid() #18 + %tobool24 = icmp ne i32 %call23, 0 + br i1 %tobool24, label %if.then45, label %lor.lhs.false + +lor.lhs.false: ; preds = %land.lhs.true, %while.end13 + %arrayidx25 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 11 + %a_un26 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx25, i32 0, i32 1 + %a_val27 = bitcast %union.anon.193* %a_un26 to i64* + %31 = load i64, i64* %a_val27, align 8 + %cmp28 = icmp ne i64 %31, -1 + br i1 %cmp28, label %land.lhs.true29, label %if.end46 + +land.lhs.true29: ; preds = %lor.lhs.false + %arrayidx30 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 11 + %a_un31 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx30, i32 0, i32 1 + %a_val32 = bitcast %union.anon.193* %a_un31 to i64* + %32 = load i64, i64* %a_val32, align 8 + %arrayidx33 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 12 + %a_un34 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx33, i32 0, i32 1 + %a_val35 = bitcast %union.anon.193* %a_un34 to i64* + %33 = load i64, i64* %a_val35, align 8 + %cmp36 = icmp ne i64 %32, %33 + br i1 %cmp36, label %if.then45, label %lor.lhs.false37 + +lor.lhs.false37: ; preds = %land.lhs.true29 + %arrayidx38 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 13 + %a_un39 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx38, i32 0, i32 1 + %a_val40 = bitcast %union.anon.193* %a_un39 to i64* + %34 = load i64, i64* %a_val40, align 8 + %arrayidx41 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 14 + %a_un42 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx41, i32 0, i32 1 + %a_val43 = bitcast %union.anon.193* %a_un42 to i64* + %35 = load i64, i64* %a_val43, align 8 + %cmp44 = icmp ne i64 %34, %35 + br i1 %cmp44, label %if.then45, label %if.end46 + +if.then45: ; preds = %lor.lhs.false37, %land.lhs.true29, %land.lhs.true + call void @__check_one_fd(i32 0, i32 131072) #18 + call void @__check_one_fd(i32 1, i32 131074) #18 + call void @__check_one_fd(i32 2, i32 131074) #18 + br label %if.end46 + +if.end46: ; preds = %if.then45, %lor.lhs.false37, %lor.lhs.false + %36 = load i8**, i8*** %argv.addr, align 8 + %37 = load i8*, i8** %36, align 8 + store i8* %37, i8** @__uclibc_progname, align 8 + %38 = load i8**, i8*** %argv.addr, align 8 + %39 = load i8*, i8** %38, align 8 + store i8* %39, i8** @program_invocation_name, align 8 + %40 = load i8**, i8*** %argv.addr, align 8 + %41 = load i8*, i8** %40, align 8 + %call47 = call i8* @strrchr(i8* %41, i32 47) #20 + store i8* %call47, i8** @program_invocation_short_name, align 8 + %42 = load i8*, i8** @program_invocation_short_name, align 8 + %cmp48 = icmp ne i8* %42, null + br i1 %cmp48, label %if.then49, label %if.else + +if.then49: ; preds = %if.end46 + %43 = load i8*, i8** @program_invocation_short_name, align 8 + %incdec.ptr50 = getelementptr inbounds i8, i8* %43, i32 1 + store i8* %incdec.ptr50, i8** @program_invocation_short_name, align 8 + br label %if.end51 + +if.else: ; preds = %if.end46 + %44 = load i8*, i8** @program_invocation_name, align 8 + store i8* %44, i8** @program_invocation_short_name, align 8 + br label %if.end51 + +if.end51: ; preds = %if.else, %if.then49 + %45 = load void ()*, void ()** %app_fini.addr, align 8 + store void ()* %45, void ()** @__app_fini, align 8 + %46 = load void ()*, void ()** %app_init.addr, align 8 + %cmp52 = icmp ne void ()* %46, null + br i1 %cmp52, label %if.then53, label %if.then55 + +if.then53: ; preds = %if.end51 + %47 = load void ()*, void ()** %app_init.addr, align 8 + call void %47() #18 + br label %if.then55 + +if.then55: ; preds = %if.end51, %if.then53 + %call56 = call i32* @__errno_location() #21 + store i32 0, i32* %call56, align 4 + %call59 = call i32* @__h_errno_location() #21 + store i32 0, i32* %call59, align 4 + %48 = load i32 (i32, i8**, i8**)*, i32 (i32, i8**, i8**)** %main.addr, align 8 + %49 = load i32, i32* %argc.addr, align 4 + %50 = load i8**, i8*** %argv.addr, align 8 + %51 = load i8**, i8*** @__environ, align 8 + %call61 = call i32 %48(i32 %49, i8** %50, i8** %51) #18 + call void @exit(i32 %call61) #22 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__check_suid() #0 { +entry: + %retval = alloca i32, align 4 + %uid = alloca i32, align 4 + %euid = alloca i32, align 4 + %gid = alloca i32, align 4 + %egid = alloca i32, align 4 + %call = call i32 @getuid() #19 + store i32 %call, i32* %uid, align 4 + %call1 = call i32 @geteuid() #19 + store i32 %call1, i32* %euid, align 4 + %call2 = call i32 @getgid() #19 + store i32 %call2, i32* %gid, align 4 + %call3 = call i32 @getegid() #19 + store i32 %call3, i32* %egid, align 4 + %0 = load i32, i32* %uid, align 4 + %1 = load i32, i32* %euid, align 4 + %cmp = icmp eq i32 %0, %1 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %2 = load i32, i32* %gid, align 4 + %3 = load i32, i32* %egid, align 4 + %cmp4 = icmp eq i32 %2, %3 + br i1 %cmp4, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__check_one_fd(i32 %fd, i32 %mode) #0 { +entry: + %fd.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %st = alloca %struct.stat.192, align 8 + %nullfd = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 (i32, i32, ...) @fcntl(i32 %0, i32 1) #18 + %cmp = icmp eq i32 %call, -1 + br i1 %cmp, label %land.rhs, label %land.end + +land.rhs: ; preds = %entry + %call1 = call i32* @__errno_location() #21 + %1 = load i32, i32* %call1, align 4 + %cmp2 = icmp eq i32 %1, 9 + br label %land.end + +land.end: ; preds = %land.rhs, %entry + %2 = phi i1 [ false, %entry ], [ %cmp2, %land.rhs ] + %lnot = xor i1 %2, true + %lnot3 = xor i1 %lnot, true + %lnot.ext = zext i1 %lnot3 to i32 + %conv = sext i32 %lnot.ext to i64 + %tobool = icmp ne i64 %conv, 0 + br i1 %tobool, label %if.then, label %if.end17 + +if.then: ; preds = %land.end + %3 = load i32, i32* %mode.addr, align 4 + %call4 = call i32 (i8*, i32, ...) @open(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.1, i64 0, i64 0), i32 %3) #18 + store i32 %call4, i32* %nullfd, align 4 + %4 = load i32, i32* %nullfd, align 4 + %5 = load i32, i32* %fd.addr, align 4 + %cmp5 = icmp ne i32 %4, %5 + br i1 %cmp5, label %if.then16, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then + %6 = load i32, i32* %fd.addr, align 4 + %call7 = call i32 bitcast (i32 (i32, %struct.stat64*)* @fstat to i32 (i32, %struct.stat.192*)*)(i32 %6, %struct.stat.192* %st) #19 + %tobool8 = icmp ne i32 %call7, 0 + br i1 %tobool8, label %if.then16, label %lor.lhs.false9 + +lor.lhs.false9: ; preds = %lor.lhs.false + %st_mode = getelementptr inbounds %struct.stat.192, %struct.stat.192* %st, i32 0, i32 3 + %7 = load i32, i32* %st_mode, align 8 + %and = and i32 %7, 61440 + %cmp10 = icmp eq i32 %and, 8192 + br i1 %cmp10, label %lor.lhs.false12, label %if.then16 + +lor.lhs.false12: ; preds = %lor.lhs.false9 + %st_rdev = getelementptr inbounds %struct.stat.192, %struct.stat.192* %st, i32 0, i32 7 + %8 = load i64, i64* %st_rdev, align 8 + %call13 = call i64 @gnu_dev_makedev.174(i32 1, i32 3) #19 + %cmp14 = icmp ne i64 %8, %call13 + br i1 %cmp14, label %if.then16, label %if.end17 + +if.then16: ; preds = %lor.lhs.false12, %lor.lhs.false9, %lor.lhs.false, %if.then + call void @abort() #22 + unreachable + +if.end17: ; preds = %lor.lhs.false12, %land.end + ret void +} + +; Function Attrs: nounwind +declare i32 @getuid() #2 + +; Function Attrs: nounwind +declare i32 @geteuid() #2 + +; Function Attrs: nounwind +declare i32 @getgid() #2 + +; Function Attrs: nounwind +declare i32 @getegid() #2 + +; Function Attrs: noinline nounwind uwtable +define internal i64 @gnu_dev_makedev.174(i32 %__major, i32 %__minor) #0 { +entry: + %__major.addr = alloca i32, align 4 + %__minor.addr = alloca i32, align 4 + store i32 %__major, i32* %__major.addr, align 4 + store i32 %__minor, i32* %__minor.addr, align 4 + %0 = load i32, i32* %__minor.addr, align 4 + %and = and i32 %0, 255 + %1 = load i32, i32* %__major.addr, align 4 + %and1 = and i32 %1, 4095 + %shl = shl i32 %and1, 8 + %or = or i32 %and, %shl + %conv = zext i32 %or to i64 + %2 = load i32, i32* %__minor.addr, align 4 + %and2 = and i32 %2, -256 + %conv3 = zext i32 %and2 to i64 + %shl4 = shl i64 %conv3, 12 + %or5 = or i64 %conv, %shl4 + %3 = load i32, i32* %__major.addr, align 4 + %and6 = and i32 %3, -4096 + %conv7 = zext i32 %and6 to i64 + %shl8 = shl i64 %conv7, 32 + %or9 = or i64 %or5, %shl8 + ret i64 %or9 +} + +define i32 @main(i32 %argc, i8** %argv) { +entry: + call void @__uClibc_main(i32 (i32, i8**, i8**)* @__user_main, i32 %argc, i8** %argv, void ()* null, void ()* null, void ()* null, i8* null) + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define i32 @siggetmask() #0 { +entry: + %call = call i32 @sigblock(i32 0) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i64 @__fpending(%struct.__STDIO_FILE_STRUCT.513* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.513*, align 8 + store %struct.__STDIO_FILE_STRUCT.513* %stream, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.513*, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.513, %struct.__STDIO_FILE_STRUCT.513* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %cond.true, label %cond.end + +cond.true: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.513*, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.513, %struct.__STDIO_FILE_STRUCT.513* %2, i32 0, i32 5 + %3 = load i8*, i8** %__bufpos, align 8 + %4 = load %struct.__STDIO_FILE_STRUCT.513*, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.513, %struct.__STDIO_FILE_STRUCT.513* %4, i32 0, i32 3 + %5 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %3 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + br label %cond.end + +cond.end: ; preds = %entry, %cond.true + %cond = phi i64 [ %sub.ptr.sub, %cond.true ], [ 0, %entry ] + ret i64 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i8* @gets(i8* %s) #0 { +entry: + %s.addr = alloca i8*, align 8 + %p = alloca i8*, align 8 + %c = alloca i32, align 4 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %call = call i32 @getchar_unlocked() #18 + store i32 %call, i32* %c, align 4 + %cmp = icmp ne i32 %call, -1 + br i1 %cmp, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %1 = load i32, i32* %c, align 4 + %conv = trunc i32 %1 to i8 + %2 = load i8*, i8** %p, align 8 + store i8 %conv, i8* %2, align 1 + %conv1 = sext i8 %conv to i32 + %cmp2 = icmp ne i32 %conv1, 10 + br i1 %cmp2, label %while.body, label %while.end + +while.body: ; preds = %land.rhs + %3 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + br label %while.cond + +while.end: ; preds = %while.cond, %land.rhs + %4 = load i32, i32* %c, align 4 + %cmp4 = icmp eq i32 %4, -1 + br i1 %cmp4, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.end + %5 = load i8*, i8** %s.addr, align 8 + %6 = load i8*, i8** %p, align 8 + %cmp6 = icmp eq i8* %5, %6 + br i1 %cmp6, label %if.then, label %if.else + +if.then: ; preds = %lor.lhs.false, %while.end + store i8* null, i8** %s.addr, align 8 + br label %if.end + +if.else: ; preds = %lor.lhs.false + %7 = load i8*, i8** %p, align 8 + store i8 0, i8* %7, align 1 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %8 = load i8*, i8** %s.addr, align 8 + ret i8* %8 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @tmpnam(i8* %s) #0 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %tmpbufmem = alloca [20 x i8], align 16 + %tmpbuf = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %tobool = icmp ne i8* %0, null + %arraydecay = getelementptr inbounds [20 x i8], [20 x i8]* %tmpbufmem, i64 0, i64 0 + %cond = select i1 %tobool, i8* %0, i8* %arraydecay + store i8* %cond, i8** %tmpbuf, align 8 + %1 = load i8*, i8** %tmpbuf, align 8 + %call = call i32 @___path_search(i8* %1, i64 20, i8* null, i8* null) #18 + %conv = sext i32 %call to i64 + %tobool1 = icmp ne i64 %conv, 0 + br i1 %tobool1, label %if.then, label %if.end + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %tmpbuf, align 8 + %call2 = call i32 @__gen_tempname(i8* %2, i32 3) #18 + %conv3 = sext i32 %call2 to i64 + %tobool4 = icmp ne i64 %conv3, 0 + br i1 %tobool4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end + store i8* null, i8** %retval, align 8 + br label %return + +if.end6: ; preds = %if.end + %3 = load i8*, i8** %s.addr, align 8 + %cmp = icmp eq i8* %3, null + br i1 %cmp, label %if.then8, label %if.end10 + +if.then8: ; preds = %if.end6 + %4 = load i8*, i8** %tmpbuf, align 8 + %call9 = call i8* @memcpy(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @tmpnam_buffer, i64 0, i64 0), i8* %4, i64 20) #19 + store i8* %call9, i8** %retval, align 8 + br label %return + +if.end10: ; preds = %if.end6 + %5 = load i8*, i8** %s.addr, align 8 + store i8* %5, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end10, %if.then8, %if.then5, %if.then + %6 = load i8*, i8** %retval, align 8 + ret i8* %6 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @mktemp(i8* nonnull %template) #0 { +entry: + %template.addr = alloca i8*, align 8 + store i8* %template, i8** %template.addr, align 8 + %0 = load i8*, i8** %template.addr, align 8 + %call = call i32 @__gen_tempname(i8* %0, i32 3) #18 + %cmp = icmp slt i32 %call, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load i8*, i8** %template.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + store i8 0, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then, %entry + %2 = load i8*, i8** %template.addr, align 8 + ret i8* %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @access(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %pathname.addr, align 8 + %call1 = call i8* @__concretize_string(i8* %2) + %3 = load i32, i32* %mode.addr, align 4 + %call2 = call i64 (i64, ...) @syscall(i64 21, i8* %call1, i32 %3) #11 + %conv = trunc i64 %call2 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.exe_disk_file_t* @__get_sym_file(i8* %pathname) #3 { +entry: + %retval = alloca %struct.exe_disk_file_t*, align 8 + %pathname.addr = alloca i8*, align 8 + %cwd = alloca [1024 x i8], align 16 + %cwd_len = alloca i64, align 8 + %c = alloca i8, align 1 + %i = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + %0 = load i8*, i8** %pathname.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %pathname.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %2 to i32 + %cmp = icmp eq i32 %conv, 47 + br i1 %cmp, label %if.then2, label %if.end29 + +if.then2: ; preds = %if.end + %3 = bitcast [1024 x i8]* %cwd to i8* + %4 = call i8* @memset(i8* %3, i32 0, i64 1024) + %arraydecay = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 0 + %call = call i8* @getcwd(i8* %arraydecay, i64 1024) #11 + %tobool3 = icmp ne i8* %call, null + br i1 %tobool3, label %if.then4, label %if.end29 + +if.then4: ; preds = %if.then2 + %arraydecay5 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 0 + %call6 = call i64 @strlen(i8* %arraydecay5) #23 + store i64 %call6, i64* %cwd_len, align 8 + %5 = load i64, i64* %cwd_len, align 8 + %cmp7 = icmp ugt i64 %5, 0 + br i1 %cmp7, label %land.lhs.true, label %if.end15 + +land.lhs.true: ; preds = %if.then4 + %6 = load i64, i64* %cwd_len, align 8 + %sub = sub i64 %6, 1 + %arrayidx9 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 %sub + %7 = load i8, i8* %arrayidx9, align 1 + %conv10 = sext i8 %7 to i32 + %cmp11 = icmp eq i32 %conv10, 47 + br i1 %cmp11, label %if.then13, label %if.end15 + +if.then13: ; preds = %land.lhs.true + %8 = load i64, i64* %cwd_len, align 8 + %dec = add i64 %8, -1 + store i64 %dec, i64* %cwd_len, align 8 + %arrayidx14 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 %dec + store i8 0, i8* %arrayidx14, align 1 + br label %if.end15 + +if.end15: ; preds = %if.then13, %land.lhs.true, %if.then4 + %9 = load i8*, i8** %pathname.addr, align 8 + %arraydecay16 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 0 + %10 = load i64, i64* %cwd_len, align 8 + %call17 = call i32 @strncmp(i8* %9, i8* %arraydecay16, i64 %10) #23 + %cmp18 = icmp eq i32 %call17, 0 + br i1 %cmp18, label %if.then20, label %if.end29 + +if.then20: ; preds = %if.end15 + %11 = load i8*, i8** %pathname.addr, align 8 + %12 = load i64, i64* %cwd_len, align 8 + %arrayidx21 = getelementptr inbounds i8, i8* %11, i64 %12 + %13 = load i8, i8* %arrayidx21, align 1 + %conv22 = sext i8 %13 to i32 + %cmp23 = icmp ne i32 %conv22, 0 + br i1 %cmp23, label %if.then25, label %if.end29 + +if.then25: ; preds = %if.then20 + %14 = load i64, i64* %cwd_len, align 8 + %add = add i64 %14, 1 + %15 = load i8*, i8** %pathname.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %15, i64 %add + store i8* %add.ptr, i8** %pathname.addr, align 8 + br label %if.end29 + +if.end29: ; preds = %if.then2, %if.then20, %if.then25, %if.end15, %if.end + %16 = load i8*, i8** %pathname.addr, align 8 + %arrayidx30 = getelementptr inbounds i8, i8* %16, i64 0 + %17 = load i8, i8* %arrayidx30, align 1 + store i8 %17, i8* %c, align 1 + %18 = load i8, i8* %c, align 1 + %conv31 = sext i8 %18 to i32 + %cmp32 = icmp eq i32 %conv31, 0 + br i1 %cmp32, label %if.then38, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end29 + %19 = load i8*, i8** %pathname.addr, align 8 + %arrayidx34 = getelementptr inbounds i8, i8* %19, i64 1 + %20 = load i8, i8* %arrayidx34, align 1 + %conv35 = sext i8 %20 to i32 + %cmp36 = icmp ne i32 %conv35, 0 + br i1 %cmp36, label %if.then38, label %if.end39 + +if.then38: ; preds = %lor.lhs.false, %if.end29 + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +if.end39: ; preds = %lor.lhs.false + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end39 + %21 = load i32, i32* %i, align 4 + %22 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %cmp40 = icmp ult i32 %21, %22 + br i1 %cmp40, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %23 = load i8, i8* %c, align 1 + %conv42 = sext i8 %23 to i32 + %24 = load i32, i32* %i, align 4 + %conv43 = trunc i32 %24 to i8 + %conv44 = sext i8 %conv43 to i32 + %add45 = add nsw i32 65, %conv44 + %cmp46 = icmp eq i32 %conv42, %add45 + br i1 %cmp46, label %if.then48, label %for.inc + +if.then48: ; preds = %for.body + %25 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %26 = load i32, i32* %i, align 4 + %idxprom = zext i32 %26 to i64 + %arrayidx49 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %25, i64 %idxprom + store %struct.exe_disk_file_t* %arrayidx49, %struct.exe_disk_file_t** %df, align 8 + %27 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %27, i32 0, i32 2 + %28 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %28, i32 0, i32 1 + %29 = load i64, i64* %st_ino, align 8 + %cmp50 = icmp eq i64 %29, 0 + br i1 %cmp50, label %if.then52, label %if.end53 + +if.then52: ; preds = %if.then48 + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +if.end53: ; preds = %if.then48 + %30 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + store %struct.exe_disk_file_t* %30, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +for.inc: ; preds = %for.body + %31 = load i32, i32* %i, align 4 + %inc = add i32 %31, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +return: ; preds = %for.end, %if.end53, %if.then52, %if.then38, %if.then + %32 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %retval, align 8 + ret %struct.exe_disk_file_t* %32 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @__concretize_string(i8* %s) #3 { +entry: + %s.addr = alloca i8*, align 8 + %sc = alloca i8*, align 8 + %i = alloca i32, align 4 + %c = alloca i8, align 1 + %cc = alloca i8, align 1 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %call = call i8* @__concretize_ptr(i8* %0) + store i8* %call, i8** %sc, align 8 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load i8*, i8** %sc, align 8 + %2 = load i8, i8* %1, align 1 + store i8 %2, i8* %c, align 1 + %3 = load i8, i8* %c, align 1 + %conv = sext i8 %3 to i64 + %call1 = call i32 @gs_is_symbolic(i64 %conv) + %tobool = icmp ne i32 %call1, 0 + br i1 %tobool, label %if.end4, label %if.then + +if.then: ; preds = %for.cond + %4 = load i8, i8* %c, align 1 + %tobool2 = icmp ne i8 %4, 0 + br i1 %tobool2, label %for.inc, label %for.end + +if.end4: ; preds = %for.cond + %5 = load i32, i32* %i, align 4 + %6 = load i32, i32* %i, align 4 + %sub = sub i32 %6, 1 + %and = and i32 %5, %sub + %tobool5 = icmp ne i32 %and, 0 + %7 = load i8, i8* %c, align 1 + br i1 %tobool5, label %if.else14, label %if.then6 + +if.then6: ; preds = %if.end4 + %tobool7 = icmp ne i8 %7, 0 + br i1 %tobool7, label %if.else, label %if.then8 + +if.then8: ; preds = %if.then6 + %8 = load i8*, i8** %sc, align 8 + store i8 0, i8* %8, align 1 + br label %for.end + +if.else: ; preds = %if.then6 + %9 = load i8, i8* %c, align 1 + %conv9 = sext i8 %9 to i32 + %cmp = icmp eq i32 %conv9, 47 + br i1 %cmp, label %if.then11, label %for.inc + +if.then11: ; preds = %if.else + %10 = load i8*, i8** %sc, align 8 + store i8 47, i8* %10, align 1 + br label %for.inc + +if.else14: ; preds = %if.end4 + %conv15 = sext i8 %7 to i64 + %call16 = call i64 @gs_get_valuel(i64 %conv15) + %conv17 = trunc i64 %call16 to i8 + store i8 %conv17, i8* %cc, align 1 + %11 = load i8, i8* %cc, align 1 + %conv18 = sext i8 %11 to i32 + %12 = load i8, i8* %c, align 1 + %conv19 = sext i8 %12 to i32 + %cmp20 = icmp eq i32 %conv18, %conv19 + call void @gs_assume(i1 zeroext %cmp20) + %13 = load i8, i8* %cc, align 1 + %14 = load i8*, i8** %sc, align 8 + store i8 %13, i8* %14, align 1 + %15 = load i8, i8* %cc, align 1 + %tobool22 = icmp ne i8 %15, 0 + br i1 %tobool22, label %for.inc, label %for.end + +for.inc: ; preds = %if.else, %if.then11, %if.else14, %if.then + %16 = load i32, i32* %i, align 4 + %inc = add i32 %16, 1 + store i32 %inc, i32* %i, align 4 + %17 = load i8*, i8** %sc, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %17, i32 1 + store i8* %incdec.ptr, i8** %sc, align 8 + br label %for.cond + +for.end: ; preds = %if.else14, %if.then, %if.then8 + %18 = load i8*, i8** %s.addr, align 8 + ret i8* %18 +} + +; Function Attrs: nounwind +declare dso_local i64 @syscall(i64, ...) #4 + +; Function Attrs: noinline nounwind uwtable +define internal i8* @__concretize_ptr(i8* %p) #3 { +entry: + %p.addr = alloca i8*, align 8 + store i8* %p, i8** %p.addr, align 8 + %0 = load i8*, i8** %p.addr, align 8 + %1 = ptrtoint i8* %0 to i64 + %call = call i32 @gs_is_symbolic(i64 %1) + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @gs_report_error(i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 1386, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.27, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.28, i64 0, i64 0)) #24 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %p.addr, align 8 + ret i8* %2 +} + +declare dso_local i32 @gs_is_symbolic(i64) #5 + +declare dso_local i64 @gs_get_valuel(i64) #5 + +declare dso_local void @gs_assume(i1 zeroext) #5 + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.25, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +declare dso_local void @print_string(i8*) #5 + +declare dso_local void @sym_print(i32, ...) #5 + +; Function Attrs: noreturn +declare dso_local void @stop(i32) #7 + +; Function Attrs: argmemonly nounwind willreturn writeonly +declare void @llvm.memset.p0i8.i64(i8* nocapture writeonly, i8, i64, i1 immarg) #8 + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @getcwd(i8* %buf, i64 %size) #3 { +entry: + %retval = alloca i8*, align 8 + %buf.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %r = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + %0 = load i32, i32* @getcwd.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @getcwd.n_calls, align 4 + %1 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool = icmp ne i32 %1, 0 + br i1 %tobool, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %2 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %3 = load i32, i32* %2, align 4 + %4 = load i32, i32* @getcwd.n_calls, align 4 + %cmp = icmp eq i32 %3, %4 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %5 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %5, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call = call i32* @__errno_location() #25 + store i32 34, i32* %call, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + %6 = load i8*, i8** %buf.addr, align 8 + %tobool1 = icmp ne i8* %6, null + br i1 %tobool1, label %if.else, label %if.then2 + +if.then2: ; preds = %if.end + store i64 1024, i64* %size.addr, align 8 + %7 = load i64, i64* %size.addr, align 8 + %call3 = call noalias i8* @malloc(i64 %7) #11 + store i8* %call3, i8** %buf.addr, align 8 + %8 = load i8*, i8** %buf.addr, align 8 + %tobool4 = icmp ne i8* %8, null + br i1 %tobool4, label %if.end12, label %if.then5 + +if.then5: ; preds = %if.then2 + %call6 = call i32* @__errno_location() #25 + store i32 12, i32* %call6, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.else: ; preds = %if.end + %9 = load i64, i64* %size.addr, align 8 + %tobool8 = icmp ne i64 %9, 0 + br i1 %tobool8, label %if.end12, label %if.then9 + +if.then9: ; preds = %if.else + %call10 = call i32* @__errno_location() #25 + store i32 22, i32* %call10, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end12: ; preds = %if.else, %if.then2 + %10 = load i8*, i8** %buf.addr, align 8 + %call13 = call i8* @__concretize_ptr(i8* %10) + store i8* %call13, i8** %buf.addr, align 8 + %11 = load i64, i64* %size.addr, align 8 + %call14 = call i64 @__concretize_size(i64 %11) + store i64 %call14, i64* %size.addr, align 8 + %12 = load i8*, i8** %buf.addr, align 8 + %13 = load i64, i64* %size.addr, align 8 + %call15 = call i64 (i64, ...) @syscall(i64 79, i8* %12, i64 %13) #11 + %conv = trunc i64 %call15 to i32 + store i32 %conv, i32* %r, align 4 + %14 = load i32, i32* %r, align 4 + %cmp16 = icmp eq i32 %14, -1 + br i1 %cmp16, label %if.then18, label %if.end19 + +if.then18: ; preds = %if.end12 + store i8* null, i8** %retval, align 8 + br label %return + +if.end19: ; preds = %if.end12 + %15 = load i8*, i8** %buf.addr, align 8 + store i8* %15, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end19, %if.then18, %if.then9, %if.then5, %if.then + %16 = load i8*, i8** %retval, align 8 + ret i8* %16 +} + +; Function Attrs: nounwind +declare dso_local noalias i8* @malloc(i64) #4 + +; Function Attrs: noinline nounwind uwtable +define internal i64 @__concretize_size(i64 %s) #3 { +entry: + %s.addr = alloca i64, align 8 + %sc = alloca i64, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %call = call i64 @gs_get_valuel(i64 %0) + store i64 %call, i64* %sc, align 8 + %1 = load i64, i64* %sc, align 8 + %2 = load i64, i64* %s.addr, align 8 + %cmp = icmp eq i64 %1, %2 + call void @gs_assume(i1 zeroext %cmp) + %3 = load i64, i64* %sc, align 8 + ret i64 %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @umask(i32 %mask) #3 { +entry: + %mask.addr = alloca i32, align 4 + %r = alloca i32, align 4 + store i32 %mask, i32* %mask.addr, align 4 + %0 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 1), align 8 + store i32 %0, i32* %r, align 4 + %1 = load i32, i32* %mask.addr, align 4 + %and = and i32 %1, 511 + store i32 %and, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 1), align 8 + %2 = load i32, i32* %r, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_open(i8* %pathname, i32 %flags, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %fd = alloca i32, align 4 + %os_fd = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + store i32 0, i32* %fd, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %0, 32 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %1 = load i32, i32* %fd, align 4 + %idxprom = sext i32 %1 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + %flags1 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %arrayidx, i32 0, i32 1 + %2 = load i32, i32* %flags1, align 4 + %and = and i32 %2, 1 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %for.inc, label %for.end + +for.inc: ; preds = %for.body + %3 = load i32, i32* %fd, align 4 + %inc = add nsw i32 %3, 1 + store i32 %inc, i32* %fd, align 4 + br label %for.cond + +for.end: ; preds = %for.body, %for.cond + %4 = load i32, i32* %fd, align 4 + %cmp2 = icmp eq i32 %4, 32 + br i1 %cmp2, label %if.then3, label %if.end4 + +if.then3: ; preds = %for.end + %call = call i32* @__errno_location() #25 + store i32 24, i32* %call, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %for.end + %5 = load i32, i32* %fd, align 4 + %idxprom5 = sext i32 %5 to i64 + %arrayidx6 = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom5 + store %struct.exe_file_t* %arrayidx6, %struct.exe_file_t** %f, align 8 + %6 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %7 = bitcast %struct.exe_file_t* %6 to i8* + %8 = call i8* @memset(i8* %7, i32 0, i64 24) + %9 = load i8*, i8** %pathname.addr, align 8 + %call7 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %9) + store %struct.exe_disk_file_t* %call7, %struct.exe_disk_file_t** %df, align 8 + %10 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %tobool8 = icmp ne %struct.exe_disk_file_t* %10, null + br i1 %tobool8, label %if.then9, label %if.else45 + +if.then9: ; preds = %if.end4 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %12 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %12, i32 0, i32 3 + store %struct.exe_disk_file_t* %11, %struct.exe_disk_file_t** %dfile, align 8 + %13 = load i32, i32* %flags.addr, align 4 + %and10 = and i32 %13, 64 + %tobool11 = icmp ne i32 %and10, 0 + br i1 %tobool11, label %land.lhs.true, label %if.end16 + +land.lhs.true: ; preds = %if.then9 + %14 = load i32, i32* %flags.addr, align 4 + %and12 = and i32 %14, 128 + %tobool13 = icmp ne i32 %and12, 0 + br i1 %tobool13, label %if.then14, label %if.end16 + +if.then14: ; preds = %land.lhs.true + %call15 = call i32* @__errno_location() #25 + store i32 17, i32* %call15, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end16: ; preds = %land.lhs.true, %if.then9 + %15 = load i32, i32* %flags.addr, align 4 + %and17 = and i32 %15, 512 + %tobool18 = icmp ne i32 %and17, 0 + br i1 %tobool18, label %land.lhs.true19, label %if.end24 + +land.lhs.true19: ; preds = %if.end16 + %16 = load i32, i32* %flags.addr, align 4 + %and20 = and i32 %16, 0 + %tobool21 = icmp ne i32 %and20, 0 + br i1 %tobool21, label %if.then22, label %if.end24 + +if.then22: ; preds = %land.lhs.true19 + call void @gs_warning(i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.5, i64 0, i64 0)) + %call23 = call i32* @__errno_location() #25 + store i32 13, i32* %call23, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end24: ; preds = %land.lhs.true19, %if.end16 + %17 = load i32, i32* %flags.addr, align 4 + %and25 = and i32 %17, 128 + %tobool26 = icmp ne i32 %and25, 0 + br i1 %tobool26, label %land.lhs.true27, label %if.end32 + +land.lhs.true27: ; preds = %if.end24 + %18 = load i32, i32* %flags.addr, align 4 + %and28 = and i32 %18, 64 + %tobool29 = icmp ne i32 %and28, 0 + br i1 %tobool29, label %if.end32, label %if.then30 + +if.then30: ; preds = %land.lhs.true27 + call void @gs_warning(i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.1.6, i64 0, i64 0)) + %call31 = call i32* @__errno_location() #25 + store i32 13, i32* %call31, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end32: ; preds = %land.lhs.true27, %if.end24 + %19 = load i32, i32* %flags.addr, align 4 + %20 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %20, i32 0, i32 2 + %21 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %call33 = call i32 @has_permission(i32 %19, %struct.stat64* %21) + %tobool34 = icmp ne i32 %call33, 0 + br i1 %tobool34, label %if.else, label %if.then35 + +if.then35: ; preds = %if.end32 + %call36 = call i32* @__errno_location() #25 + store i32 13, i32* %call36, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.end32 + %22 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile37 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %22, i32 0, i32 3 + %23 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile37, align 8 + %stat38 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %23, i32 0, i32 2 + %24 = load %struct.stat64*, %struct.stat64** %stat38, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %24, i32 0, i32 3 + %25 = load i32, i32* %st_mode, align 8 + %and39 = and i32 %25, -512 + %26 = load i32, i32* %mode.addr, align 4 + %27 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 1), align 8 + %neg = xor i32 %27, -1 + %and40 = and i32 %26, %neg + %or = or i32 %and39, %and40 + %28 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile41 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %28, i32 0, i32 3 + %29 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile41, align 8 + %stat42 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %29, i32 0, i32 2 + %30 = load %struct.stat64*, %struct.stat64** %stat42, align 8 + %st_mode43 = getelementptr inbounds %struct.stat64, %struct.stat64* %30, i32 0, i32 3 + store i32 %or, i32* %st_mode43, align 8 + br label %if.end53 + +if.else45: ; preds = %if.end4 + %31 = load i8*, i8** %pathname.addr, align 8 + %call46 = call i8* @__concretize_string(i8* %31) + %32 = load i32, i32* %flags.addr, align 4 + %33 = load i32, i32* %mode.addr, align 4 + %call47 = call i64 (i64, ...) @syscall(i64 2, i8* %call46, i32 %32, i32 %33) #11 + %conv = trunc i64 %call47 to i32 + store i32 %conv, i32* %os_fd, align 4 + %34 = load i32, i32* %os_fd, align 4 + %cmp48 = icmp eq i32 %34, -1 + br i1 %cmp48, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.else45 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end51: ; preds = %if.else45 + %35 = load i32, i32* %os_fd, align 4 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd52 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 0 + store i32 %35, i32* %fd52, align 8 + br label %if.end53 + +if.end53: ; preds = %if.end51, %if.else + %37 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %37, i32 0, i32 1 + store i32 1, i32* %flags54, align 4 + %38 = load i32, i32* %flags.addr, align 4 + %and55 = and i32 %38, 3 + %cmp56 = icmp eq i32 %and55, 0 + br i1 %cmp56, label %if.then58, label %if.else61 + +if.then58: ; preds = %if.end53 + %39 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags59 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %39, i32 0, i32 1 + %40 = load i32, i32* %flags59, align 4 + %or60 = or i32 %40, 4 + store i32 %or60, i32* %flags59, align 4 + br label %if.end72 + +if.else61: ; preds = %if.end53 + %41 = load i32, i32* %flags.addr, align 4 + %and62 = and i32 %41, 3 + %cmp63 = icmp eq i32 %and62, 1 + %42 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags66 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %42, i32 0, i32 1 + %43 = load i32, i32* %flags66, align 4 + br i1 %cmp63, label %if.then65, label %if.else68 + +if.then65: ; preds = %if.else61 + %or67 = or i32 %43, 8 + store i32 %or67, i32* %flags66, align 4 + br label %if.end72 + +if.else68: ; preds = %if.else61 + %or70 = or i32 %43, 12 + store i32 %or70, i32* %flags66, align 4 + br label %if.end72 + +if.end72: ; preds = %if.then65, %if.else68, %if.then58 + %44 = load i32, i32* %fd, align 4 + store i32 %44, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end72, %if.then50, %if.then35, %if.then30, %if.then22, %if.then14, %if.then3 + %45 = load i32, i32* %retval, align 4 + ret i32 %45 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @gs_warning(i8* %message) #3 { +entry: + %message.addr = alloca i8*, align 8 + store i8* %message, i8** %message.addr, align 8 + %0 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %0) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.25, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @has_permission(i32 %flags, %struct.stat64* %s) #3 { +entry: + %retval = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %s.addr = alloca %struct.stat64*, align 8 + %write_access = alloca i32, align 4 + %read_access = alloca i32, align 4 + %mode = alloca i32, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store %struct.stat64* %s, %struct.stat64** %s.addr, align 8 + %0 = load %struct.stat64*, %struct.stat64** %s.addr, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %0, i32 0, i32 3 + %1 = load i32, i32* %st_mode, align 8 + store i32 %1, i32* %mode, align 4 + %2 = load i32, i32* %flags.addr, align 4 + %and = and i32 %2, 0 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %3 = load i32, i32* %flags.addr, align 4 + %and1 = and i32 %3, 2 + %tobool2 = icmp ne i32 %and1, 0 + br i1 %tobool2, label %if.then, label %if.else + +if.then: ; preds = %lor.lhs.false, %entry + store i32 1, i32* %read_access, align 4 + br label %if.end + +if.else: ; preds = %lor.lhs.false + store i32 0, i32* %read_access, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %4 = load i32, i32* %flags.addr, align 4 + %and3 = and i32 %4, 1 + %tobool4 = icmp ne i32 %and3, 0 + br i1 %tobool4, label %if.then8, label %lor.lhs.false5 + +lor.lhs.false5: ; preds = %if.end + %5 = load i32, i32* %flags.addr, align 4 + %and6 = and i32 %5, 2 + %tobool7 = icmp ne i32 %and6, 0 + br i1 %tobool7, label %if.then8, label %if.else9 + +if.then8: ; preds = %lor.lhs.false5, %if.end + store i32 1, i32* %write_access, align 4 + br label %if.end10 + +if.else9: ; preds = %lor.lhs.false5 + store i32 0, i32* %write_access, align 4 + br label %if.end10 + +if.end10: ; preds = %if.else9, %if.then8 + %6 = load i32, i32* %read_access, align 4 + %tobool11 = icmp ne i32 %6, 0 + br i1 %tobool11, label %land.lhs.true, label %if.end18 + +land.lhs.true: ; preds = %if.end10 + %7 = load i32, i32* %mode, align 4 + %and12 = and i32 %7, 256 + %8 = load i32, i32* %mode, align 4 + %and13 = and i32 %8, 32 + %or = or i32 %and12, %and13 + %9 = load i32, i32* %mode, align 4 + %and14 = and i32 %9, 4 + %or15 = or i32 %or, %and14 + %tobool16 = icmp ne i32 %or15, 0 + br i1 %tobool16, label %if.then17, label %if.end18 + +if.then17: ; preds = %land.lhs.true + store i32 0, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %land.lhs.true, %if.end10 + %10 = load i32, i32* %write_access, align 4 + %tobool19 = icmp ne i32 %10, 0 + br i1 %tobool19, label %land.lhs.true20, label %if.end28 + +land.lhs.true20: ; preds = %if.end18 + %11 = load i32, i32* %mode, align 4 + %and21 = and i32 %11, 128 + %12 = load i32, i32* %mode, align 4 + %and22 = and i32 %12, 16 + %or23 = or i32 %and21, %and22 + %13 = load i32, i32* %mode, align 4 + %and24 = and i32 %13, 2 + %or25 = or i32 %or23, %and24 + %tobool26 = icmp ne i32 %or25, 0 + br i1 %tobool26, label %if.end28, label %if.then27 + +if.then27: ; preds = %land.lhs.true20 + store i32 0, i32* %retval, align 4 + br label %return + +if.end28: ; preds = %land.lhs.true20, %if.end18 + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end28, %if.then27, %if.then17 + %14 = load i32, i32* %retval, align 4 + ret i32 %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_openat(i32 %basefd, i8* %pathname, i32 %flags, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %basefd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %fd = alloca i32, align 4 + %bf = alloca %struct.exe_file_t*, align 8 + %os_fd = alloca i32, align 4 + store i32 %basefd, i32* %basefd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %basefd.addr, align 4 + %cmp = icmp ne i32 %0, -100 + br i1 %cmp, label %if.then, label %if.end8 + +if.then: ; preds = %entry + %1 = load i32, i32* %basefd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %bf, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %bf, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.else, label %if.then1 + +if.then1: ; preds = %if.then + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %bf, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 3 + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool3 = icmp ne %struct.exe_disk_file_t* %4, null + br i1 %tobool3, label %if.then4, label %if.end6 + +if.then4: ; preds = %if.else + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0)) + %call5 = call i32* @__errno_location() #25 + store i32 2, i32* %call5, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.else + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %bf, align 8 + %fd7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd7, align 8 + store i32 %6, i32* %basefd.addr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end6, %entry + %7 = load i8*, i8** %pathname.addr, align 8 + %call9 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %7) + %tobool10 = icmp ne %struct.exe_disk_file_t* %call9, null + br i1 %tobool10, label %if.then11, label %if.end13 + +if.then11: ; preds = %if.end8 + %8 = load i8*, i8** %pathname.addr, align 8 + %9 = load i32, i32* %flags.addr, align 4 + %10 = load i32, i32* %mode.addr, align 4 + %call12 = call i32 @__fd_open(i8* %8, i32 %9, i32 %10) + store i32 %call12, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.end8 + store i32 0, i32* %fd, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end13 + %11 = load i32, i32* %fd, align 4 + %cmp14 = icmp slt i32 %11, 32 + br i1 %cmp14, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %12 = load i32, i32* %fd, align 4 + %idxprom = sext i32 %12 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + %flags15 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %arrayidx, i32 0, i32 1 + %13 = load i32, i32* %flags15, align 4 + %and = and i32 %13, 1 + %tobool16 = icmp ne i32 %and, 0 + br i1 %tobool16, label %for.inc, label %for.end + +for.inc: ; preds = %for.body + %14 = load i32, i32* %fd, align 4 + %inc = add nsw i32 %14, 1 + store i32 %inc, i32* %fd, align 4 + br label %for.cond + +for.end: ; preds = %for.body, %for.cond + %15 = load i32, i32* %fd, align 4 + %cmp19 = icmp eq i32 %15, 32 + br i1 %cmp19, label %if.then20, label %if.end22 + +if.then20: ; preds = %for.end + %call21 = call i32* @__errno_location() #25 + store i32 24, i32* %call21, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end22: ; preds = %for.end + %16 = load i32, i32* %fd, align 4 + %idxprom23 = sext i32 %16 to i64 + %arrayidx24 = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom23 + store %struct.exe_file_t* %arrayidx24, %struct.exe_file_t** %f, align 8 + %17 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %18 = bitcast %struct.exe_file_t* %17 to i8* + %19 = call i8* @memset(i8* %18, i32 0, i64 24) + %20 = load i32, i32* %basefd.addr, align 4 + %conv = sext i32 %20 to i64 + %21 = load i8*, i8** %pathname.addr, align 8 + %call25 = call i8* @__concretize_string(i8* %21) + %22 = load i32, i32* %flags.addr, align 4 + %conv26 = sext i32 %22 to i64 + %23 = load i32, i32* %mode.addr, align 4 + %call27 = call i64 (i64, ...) @syscall(i64 257, i64 %conv, i8* %call25, i64 %conv26, i32 %23) #11 + %conv28 = trunc i64 %call27 to i32 + store i32 %conv28, i32* %os_fd, align 4 + %24 = load i32, i32* %os_fd, align 4 + %cmp29 = icmp eq i32 %24, -1 + br i1 %cmp29, label %if.then31, label %if.end32 + +if.then31: ; preds = %if.end22 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end32: ; preds = %if.end22 + %25 = load i32, i32* %os_fd, align 4 + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd33 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 0 + store i32 %25, i32* %fd33, align 8 + %27 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags34 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %27, i32 0, i32 1 + store i32 1, i32* %flags34, align 4 + %28 = load i32, i32* %flags.addr, align 4 + %and35 = and i32 %28, 3 + %cmp36 = icmp eq i32 %and35, 0 + br i1 %cmp36, label %if.then38, label %if.else40 + +if.then38: ; preds = %if.end32 + %29 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags39 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %29, i32 0, i32 1 + %30 = load i32, i32* %flags39, align 4 + %or = or i32 %30, 4 + store i32 %or, i32* %flags39, align 4 + br label %if.end51 + +if.else40: ; preds = %if.end32 + %31 = load i32, i32* %flags.addr, align 4 + %and41 = and i32 %31, 3 + %cmp42 = icmp eq i32 %and41, 1 + %32 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags45 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %32, i32 0, i32 1 + %33 = load i32, i32* %flags45, align 4 + br i1 %cmp42, label %if.then44, label %if.else47 + +if.then44: ; preds = %if.else40 + %or46 = or i32 %33, 8 + store i32 %or46, i32* %flags45, align 4 + br label %if.end51 + +if.else47: ; preds = %if.else40 + %or49 = or i32 %33, 12 + store i32 %or49, i32* %flags45, align 4 + br label %if.end51 + +if.end51: ; preds = %if.then44, %if.else47, %if.then38 + %34 = load i32, i32* %fd, align 4 + store i32 %34, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end51, %if.then31, %if.then20, %if.then11, %if.then4, %if.then1 + %35 = load i32, i32* %retval, align 4 + ret i32 %35 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.exe_file_t* @__get_file(i32 %fd) #3 { +entry: + %retval = alloca %struct.exe_file_t*, align 8 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %cmp = icmp sge i32 %0, 0 + %1 = load i32, i32* %fd.addr, align 4 + %cmp1 = icmp slt i32 %1, 32 + %or.cond = and i1 %cmp, %cmp1 + br i1 %or.cond, label %if.then, label %if.end3 + +if.then: ; preds = %entry + %2 = load i32, i32* %fd.addr, align 4 + %idxprom = sext i32 %2 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + store %struct.exe_file_t* %arrayidx, %struct.exe_file_t** %f, align 8 + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 1 + %4 = load i32, i32* %flags, align 4 + %and = and i32 %4, 1 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.then + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + store %struct.exe_file_t* %5, %struct.exe_file_t** %retval, align 8 + br label %return + +if.end3: ; preds = %if.then, %entry + store %struct.exe_file_t* null, %struct.exe_file_t** %retval, align 8 + br label %return + +return: ; preds = %if.end3, %if.then2 + %6 = load %struct.exe_file_t*, %struct.exe_file_t** %retval, align 8 + ret %struct.exe_file_t* %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @utimes(i8* nonnull %path, %struct.timespec* %times) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %times.addr = alloca %struct.timespec*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + %newTimes = alloca [2 x %struct.timespec], align 16 + store i8* %path, i8** %path.addr, align 8 + store %struct.timespec* %times, %struct.timespec** %times.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end12 + +if.then: ; preds = %entry + %2 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %tobool1 = icmp ne %struct.timespec* %2, null + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + %arrayidx = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 0 + %call3 = call i32 @gettimeofday(%struct.timespec* %arrayidx, i8* null) #11 + %arrayidx4 = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 1 + %arrayidx5 = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 0 + %3 = bitcast %struct.timespec* %arrayidx4 to i8* + %4 = bitcast %struct.timespec* %arrayidx5 to i8* + %5 = call i8* @memcpy(i8* %3, i8* %4, i64 16) + %arraydecay = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 0 + store %struct.timespec* %arraydecay, %struct.timespec** %times.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %6 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %arrayidx6 = getelementptr inbounds %struct.timespec, %struct.timespec* %6, i64 0 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %arrayidx6, i32 0, i32 0 + %7 = load i64, i64* %tv_sec, align 8 + %8 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %8, i32 0, i32 2 + %9 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_atim = getelementptr inbounds %struct.stat64, %struct.stat64* %9, i32 0, i32 11 + %tv_sec7 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim, i32 0, i32 0 + store i64 %7, i64* %tv_sec7, align 8 + %10 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %arrayidx8 = getelementptr inbounds %struct.timespec, %struct.timespec* %10, i64 1 + %tv_sec9 = getelementptr inbounds %struct.timespec, %struct.timespec* %arrayidx8, i32 0, i32 0 + %11 = load i64, i64* %tv_sec9, align 8 + %12 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat10 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %12, i32 0, i32 2 + %13 = load %struct.stat64*, %struct.stat64** %stat10, align 8 + %st_mtim = getelementptr inbounds %struct.stat64, %struct.stat64* %13, i32 0, i32 12 + %tv_sec11 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim, i32 0, i32 0 + store i64 %11, i64* %tv_sec11, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.end12: ; preds = %entry + %14 = load i8*, i8** %path.addr, align 8 + %call13 = call i8* @__concretize_string(i8* %14) + %15 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %call14 = call i64 (i64, ...) @syscall(i64 235, i8* %call13, %struct.timespec* %15) #11 + %conv = trunc i64 %call14 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end12, %if.end + %16 = load i32, i32* %retval, align 4 + ret i32 %16 +} + +; Function Attrs: nounwind +declare dso_local i32 @gettimeofday(%struct.timespec*, i8*) #4 + +; Function Attrs: argmemonly nounwind willreturn +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* noalias nocapture writeonly, i8* noalias nocapture readonly, i64, i1 immarg) #9 + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @futimesat(i32 %fd, i8* %path, %struct.timespec* %times) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %times.addr = alloca %struct.timespec*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.timespec* %times, %struct.timespec** %times.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %cmp = icmp ne i32 %0, -100 + br i1 %cmp, label %if.then, label %if.end8 + +if.then: ; preds = %entry + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.else, label %if.then1 + +if.then1: ; preds = %if.then + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 3 + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool3 = icmp ne %struct.exe_disk_file_t* %4, null + br i1 %tobool3, label %if.then4, label %if.end6 + +if.then4: ; preds = %if.else + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0)) + %call5 = call i32* @__errno_location() #25 + store i32 2, i32* %call5, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.else + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd7, align 8 + store i32 %6, i32* %fd.addr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end6, %entry + %7 = load i8*, i8** %path.addr, align 8 + %call9 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %7) + %tobool10 = icmp ne %struct.exe_disk_file_t* %call9, null + br i1 %tobool10, label %if.then11, label %if.end13 + +if.then11: ; preds = %if.end8 + %8 = load i8*, i8** %path.addr, align 8 + %9 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %call12 = call i32 @utimes(i8* %8, %struct.timespec* %9) #11 + store i32 %call12, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.end8 + %10 = load i32, i32* %fd.addr, align 4 + %conv = sext i32 %10 to i64 + %11 = load i8*, i8** %path.addr, align 8 + %tobool14 = icmp ne i8* %11, null + br i1 %tobool14, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end13 + %12 = load i8*, i8** %path.addr, align 8 + %call15 = call i8* @__concretize_string(i8* %12) + br label %cond.end + +cond.end: ; preds = %if.end13, %cond.true + %cond = phi i8* [ %call15, %cond.true ], [ null, %if.end13 ] + %13 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %call16 = call i64 (i64, ...) @syscall(i64 261, i64 %conv, i8* %cond, %struct.timespec* %13) #11 + %conv17 = trunc i64 %call16 to i32 + store i32 %conv17, i32* %retval, align 4 + br label %return + +return: ; preds = %cond.end, %if.then11, %if.then4, %if.then1 + %14 = load i32, i32* %retval, align 4 + ret i32 %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @close(i32 %fd) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %r = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 0, i32* %r, align 4 + %0 = load i32, i32* @close.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @close.n_calls, align 4 + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @close.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %9 = bitcast %struct.exe_file_t* %8 to i8* + %10 = call i8* @memset(i8* %9, i32 0, i64 24) + %11 = load i32, i32* %r, align 4 + store i32 %11, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %12 = load i32, i32* %retval, align 4 + ret i32 %12 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @read(i32 %fd, i8* %buf, i64 %count) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %r = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + %0 = load i32, i32* @read.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @read.n_calls, align 4 + %1 = load i64, i64* %count.addr, align 8 + %cmp = icmp eq i64 %1, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i64 0, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %buf.addr, align 8 + %cmp1 = icmp eq i8* %2, null + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + %call = call i32* @__errno_location() #25 + store i32 14, i32* %call, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %3 = load i32, i32* %fd.addr, align 4 + %call4 = call %struct.exe_file_t* @__get_file(i32 %3) + store %struct.exe_file_t* %call4, %struct.exe_file_t** %f, align 8 + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %4, null + br i1 %tobool, label %if.end7, label %if.then5 + +if.then5: ; preds = %if.end3 + %call6 = call i32* @__errno_location() #25 + store i32 9, i32* %call6, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end7: ; preds = %if.end3 + %5 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool8 = icmp ne i32 %5, 0 + br i1 %tobool8, label %land.lhs.true, label %if.end12 + +land.lhs.true: ; preds = %if.end7 + %6 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %7 = load i32, i32* %6, align 4 + %8 = load i32, i32* @read.n_calls, align 4 + %cmp9 = icmp eq i32 %7, %8 + br i1 %cmp9, label %if.then10, label %if.end12 + +if.then10: ; preds = %land.lhs.true + %9 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %9, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call11 = call i32* @__errno_location() #25 + store i32 5, i32* %call11, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end12: ; preds = %land.lhs.true, %if.end7 + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 3 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool13 = icmp ne %struct.exe_disk_file_t* %11, null + br i1 %tobool13, label %if.else38, label %if.then14 + +if.then14: ; preds = %if.end12 + %12 = load i8*, i8** %buf.addr, align 8 + %call15 = call i8* @__concretize_ptr(i8* %12) + store i8* %call15, i8** %buf.addr, align 8 + %13 = load i64, i64* %count.addr, align 8 + %call16 = call i64 @__concretize_size(i64 %13) + store i64 %call16, i64* %count.addr, align 8 + %14 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd17 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %14, i32 0, i32 0 + %15 = load i32, i32* %fd17, align 8 + %cmp18 = icmp eq i32 %15, 0 + %16 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd20 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %16, i32 0, i32 0 + %17 = load i32, i32* %fd20, align 8 + %18 = load i8*, i8** %buf.addr, align 8 + %19 = load i64, i64* %count.addr, align 8 + br i1 %cmp18, label %if.then19, label %if.else + +if.then19: ; preds = %if.then14 + %call21 = call i64 (i64, ...) @syscall(i64 0, i32 %17, i8* %18, i64 %19) #11 + %conv = trunc i64 %call21 to i32 + store i32 %conv, i32* %r, align 4 + br label %if.end25 + +if.else: ; preds = %if.then14 + %20 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %20, i32 0, i32 2 + %21 = load i64, i64* %off, align 8 + %call23 = call i64 (i64, ...) @syscall(i64 17, i32 %17, i8* %18, i64 %19, i64 %21) #11 + %conv24 = trunc i64 %call23 to i32 + store i32 %conv24, i32* %r, align 4 + br label %if.end25 + +if.end25: ; preds = %if.else, %if.then19 + %22 = load i32, i32* %r, align 4 + %cmp26 = icmp eq i32 %22, -1 + br i1 %cmp26, label %if.then28, label %if.end29 + +if.then28: ; preds = %if.end25 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end29: ; preds = %if.end25 + %23 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd30 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %23, i32 0, i32 0 + %24 = load i32, i32* %fd30, align 8 + %cmp31 = icmp ne i32 %24, 0 + br i1 %cmp31, label %if.then33, label %if.end36 + +if.then33: ; preds = %if.end29 + %25 = load i32, i32* %r, align 4 + %conv34 = sext i32 %25 to i64 + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off35 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 2 + %27 = load i64, i64* %off35, align 8 + %add = add nsw i64 %27, %conv34 + store i64 %add, i64* %off35, align 8 + br label %if.end36 + +if.end36: ; preds = %if.then33, %if.end29 + %28 = load i32, i32* %r, align 4 + %conv37 = sext i32 %28 to i64 + store i64 %conv37, i64* %retval, align 8 + br label %return + +if.else38: ; preds = %if.end12 + %29 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off39 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %29, i32 0, i32 2 + %30 = load i64, i64* %off39, align 8 + %cmp40 = icmp sge i64 %30, 0 + br i1 %cmp40, label %if.end44, label %if.else43 + +if.else43: ; preds = %if.else38 + call void @__assert_fail(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.3, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 393, i8* getelementptr inbounds ([34 x i8], [34 x i8]* @__PRETTY_FUNCTION__.read, i64 0, i64 0)) #26 + unreachable + +if.end44: ; preds = %if.else38 + %31 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile45 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %31, i32 0, i32 3 + %32 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile45, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %32, i32 0, i32 0 + %33 = load i32, i32* %size, align 8 + %conv46 = zext i32 %33 to i64 + %34 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off47 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %34, i32 0, i32 2 + %35 = load i64, i64* %off47, align 8 + %cmp48 = icmp slt i64 %conv46, %35 + br i1 %cmp48, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.end44 + store i64 0, i64* %retval, align 8 + br label %return + +if.end51: ; preds = %if.end44 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off52 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 2 + %37 = load i64, i64* %off52, align 8 + %38 = load i64, i64* %count.addr, align 8 + %add53 = add i64 %37, %38 + %39 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %39, i32 0, i32 3 + %40 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile54, align 8 + %size55 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %40, i32 0, i32 0 + %41 = load i32, i32* %size55, align 8 + %conv56 = zext i32 %41 to i64 + %cmp57 = icmp ugt i64 %add53, %conv56 + br i1 %cmp57, label %if.then59, label %if.end64 + +if.then59: ; preds = %if.end51 + %42 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile60 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %42, i32 0, i32 3 + %43 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile60, align 8 + %size61 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %43, i32 0, i32 0 + %44 = load i32, i32* %size61, align 8 + %conv62 = zext i32 %44 to i64 + %45 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off63 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %45, i32 0, i32 2 + %46 = load i64, i64* %off63, align 8 + %sub = sub nsw i64 %conv62, %46 + store i64 %sub, i64* %count.addr, align 8 + br label %if.end64 + +if.end64: ; preds = %if.then59, %if.end51 + %47 = load i8*, i8** %buf.addr, align 8 + %48 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile65 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %48, i32 0, i32 3 + %49 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile65, align 8 + %contents = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %49, i32 0, i32 1 + %50 = load i8*, i8** %contents, align 8 + %51 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off66 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %51, i32 0, i32 2 + %52 = load i64, i64* %off66, align 8 + %add.ptr = getelementptr inbounds i8, i8* %50, i64 %52 + %53 = load i64, i64* %count.addr, align 8 + %54 = call i8* @memcpy(i8* %47, i8* %add.ptr, i64 %53) + %55 = load i64, i64* %count.addr, align 8 + %56 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off67 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %56, i32 0, i32 2 + %57 = load i64, i64* %off67, align 8 + %add68 = add i64 %57, %55 + store i64 %add68, i64* %off67, align 8 + %58 = load i64, i64* %count.addr, align 8 + store i64 %58, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end64, %if.then50, %if.end36, %if.then28, %if.then10, %if.then5, %if.then2, %if.then + %59 = load i64, i64* %retval, align 8 + ret i64 %59 +} + +; Function Attrs: noreturn nounwind +declare dso_local void @__assert_fail(i8*, i8*, i32, i8*) #10 + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @write(i32 %fd, i8* %buf, i64 %count) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %r = alloca i32, align 4 + %actual_count = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + %0 = load i32, i32* @write.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @write.n_calls, align 4 + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @write.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + br i1 %tobool6, label %if.else42, label %if.then7 + +if.then7: ; preds = %if.end5 + %10 = load i8*, i8** %buf.addr, align 8 + %call8 = call i8* @__concretize_ptr(i8* %10) + store i8* %call8, i8** %buf.addr, align 8 + %11 = load i64, i64* %count.addr, align 8 + %call9 = call i64 @__concretize_size(i64 %11) + store i64 %call9, i64* %count.addr, align 8 + %12 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd10 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %12, i32 0, i32 0 + %13 = load i32, i32* %fd10, align 8 + %cmp11 = icmp eq i32 %13, 1 + br i1 %cmp11, label %if.then14, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then7 + %14 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd12 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %14, i32 0, i32 0 + %15 = load i32, i32* %fd12, align 8 + %cmp13 = icmp eq i32 %15, 2 + br i1 %cmp13, label %if.then14, label %if.else + +if.then14: ; preds = %lor.lhs.false, %if.then7 + %16 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd15 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %16, i32 0, i32 0 + %17 = load i32, i32* %fd15, align 8 + %18 = load i8*, i8** %buf.addr, align 8 + %19 = load i64, i64* %count.addr, align 8 + %call16 = call i64 (i64, ...) @syscall(i64 1, i32 %17, i8* %18, i64 %19) #11 + %conv = trunc i64 %call16 to i32 + store i32 %conv, i32* %r, align 4 + br label %if.end20 + +if.else: ; preds = %lor.lhs.false + %20 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd17 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %20, i32 0, i32 0 + %21 = load i32, i32* %fd17, align 8 + %22 = load i8*, i8** %buf.addr, align 8 + %23 = load i64, i64* %count.addr, align 8 + %24 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %24, i32 0, i32 2 + %25 = load i64, i64* %off, align 8 + %call18 = call i64 (i64, ...) @syscall(i64 18, i32 %21, i8* %22, i64 %23, i64 %25) #11 + %conv19 = trunc i64 %call18 to i32 + store i32 %conv19, i32* %r, align 4 + br label %if.end20 + +if.end20: ; preds = %if.else, %if.then14 + %26 = load i32, i32* %r, align 4 + %cmp21 = icmp eq i32 %26, -1 + br i1 %cmp21, label %if.then23, label %if.end24 + +if.then23: ; preds = %if.end20 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end24: ; preds = %if.end20 + %27 = load i32, i32* %r, align 4 + %cmp25 = icmp sge i32 %27, 0 + br i1 %cmp25, label %if.end29, label %if.else28 + +if.else28: ; preds = %if.end24 + call void @__assert_fail(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.5.7, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 445, i8* getelementptr inbounds ([41 x i8], [41 x i8]* @__PRETTY_FUNCTION__.write, i64 0, i64 0)) #26 + unreachable + +if.end29: ; preds = %if.end24 + %28 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd30 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %28, i32 0, i32 0 + %29 = load i32, i32* %fd30, align 8 + %cmp31 = icmp ne i32 %29, 1 + br i1 %cmp31, label %land.lhs.true33, label %if.end40 + +land.lhs.true33: ; preds = %if.end29 + %30 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd34 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %30, i32 0, i32 0 + %31 = load i32, i32* %fd34, align 8 + %cmp35 = icmp ne i32 %31, 2 + br i1 %cmp35, label %if.then37, label %if.end40 + +if.then37: ; preds = %land.lhs.true33 + %32 = load i32, i32* %r, align 4 + %conv38 = sext i32 %32 to i64 + %33 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off39 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %33, i32 0, i32 2 + %34 = load i64, i64* %off39, align 8 + %add = add nsw i64 %34, %conv38 + store i64 %add, i64* %off39, align 8 + br label %if.end40 + +if.end40: ; preds = %if.then37, %land.lhs.true33, %if.end29 + %35 = load i32, i32* %r, align 4 + %conv41 = sext i32 %35 to i64 + store i64 %conv41, i64* %retval, align 8 + br label %return + +if.else42: ; preds = %if.end5 + store i64 0, i64* %actual_count, align 8 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off43 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 2 + %37 = load i64, i64* %off43, align 8 + %38 = load i64, i64* %count.addr, align 8 + %add44 = add i64 %37, %38 + %39 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile45 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %39, i32 0, i32 3 + %40 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile45, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %40, i32 0, i32 0 + %41 = load i32, i32* %size, align 8 + %conv46 = zext i32 %41 to i64 + %cmp47 = icmp ule i64 %add44, %conv46 + br i1 %cmp47, label %if.then49, label %if.else50 + +if.then49: ; preds = %if.else42 + %42 = load i64, i64* %count.addr, align 8 + store i64 %42, i64* %actual_count, align 8 + br label %if.end67 + +if.else50: ; preds = %if.else42 + %43 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 3), align 8 + %tobool51 = icmp ne i32 %43, 0 + br i1 %tobool51, label %if.then52, label %if.else53 + +if.then52: ; preds = %if.else50 + call void @__assert_fail(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.6, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 458, i8* getelementptr inbounds ([41 x i8], [41 x i8]* @__PRETTY_FUNCTION__.write, i64 0, i64 0)) #26 + unreachable + +if.else53: ; preds = %if.else50 + %44 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %44, i32 0, i32 2 + %45 = load i64, i64* %off54, align 8 + %46 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile55 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %46, i32 0, i32 3 + %47 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile55, align 8 + %size56 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %47, i32 0, i32 0 + %48 = load i32, i32* %size56, align 8 + %conv57 = zext i32 %48 to i64 + %cmp58 = icmp slt i64 %45, %conv57 + br i1 %cmp58, label %if.then60, label %if.end67 + +if.then60: ; preds = %if.else53 + %49 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile61 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %49, i32 0, i32 3 + %50 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile61, align 8 + %size62 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %50, i32 0, i32 0 + %51 = load i32, i32* %size62, align 8 + %conv63 = zext i32 %51 to i64 + %52 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off64 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %52, i32 0, i32 2 + %53 = load i64, i64* %off64, align 8 + %sub = sub nsw i64 %conv63, %53 + store i64 %sub, i64* %actual_count, align 8 + br label %if.end67 + +if.end67: ; preds = %if.then60, %if.else53, %if.then49 + %54 = load i64, i64* %actual_count, align 8 + %tobool68 = icmp ne i64 %54, 0 + br i1 %tobool68, label %if.then69, label %if.end72 + +if.then69: ; preds = %if.end67 + %55 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile70 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %55, i32 0, i32 3 + %56 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile70, align 8 + %contents = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %56, i32 0, i32 1 + %57 = load i8*, i8** %contents, align 8 + %58 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off71 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %58, i32 0, i32 2 + %59 = load i64, i64* %off71, align 8 + %add.ptr = getelementptr inbounds i8, i8* %57, i64 %59 + %60 = load i8*, i8** %buf.addr, align 8 + %61 = load i64, i64* %actual_count, align 8 + %62 = call i8* @memcpy(i8* %add.ptr, i8* %60, i64 %61) + br label %if.end72 + +if.end72: ; preds = %if.then69, %if.end67 + %63 = load i64, i64* %count.addr, align 8 + %64 = load i64, i64* %actual_count, align 8 + %cmp73 = icmp ne i64 %63, %64 + br i1 %cmp73, label %if.then75, label %if.end76 + +if.then75: ; preds = %if.end72 + call void @gs_warning(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.7, i64 0, i64 0)) + br label %if.end76 + +if.end76: ; preds = %if.then75, %if.end72 + %65 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile77 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %65, i32 0, i32 3 + %66 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile77, align 8 + %67 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + %cmp78 = icmp eq %struct.exe_disk_file_t* %66, %67 + br i1 %cmp78, label %if.then80, label %if.end84 + +if.then80: ; preds = %if.end76 + %68 = load i64, i64* %actual_count, align 8 + %69 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 3), align 8 + %conv81 = zext i32 %69 to i64 + %add82 = add i64 %conv81, %68 + %conv83 = trunc i64 %add82 to i32 + store i32 %conv83, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 3), align 8 + br label %if.end84 + +if.end84: ; preds = %if.then80, %if.end76 + %70 = load i64, i64* %count.addr, align 8 + %71 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off85 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %71, i32 0, i32 2 + %72 = load i64, i64* %off85, align 8 + %add86 = add i64 %72, %70 + store i64 %add86, i64* %off85, align 8 + %73 = load i64, i64* %count.addr, align 8 + store i64 %73, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end84, %if.end40, %if.then23, %if.then3, %if.then + %74 = load i64, i64* %retval, align 8 + ret i64 %74 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @__fd_lseek(i32 %fd, i64 %offset, i32 %whence) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + %new_off = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + %4 = load i32, i32* %whence.addr, align 4 + br i1 %tobool2, label %if.end24, label %if.then3 + +if.then3: ; preds = %if.end + %cmp = icmp eq i32 %4, 0 + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd5 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd5, align 8 + br i1 %cmp, label %if.then4, label %if.else + +if.then4: ; preds = %if.then3 + %7 = load i64, i64* %offset.addr, align 8 + %call6 = call i64 (i64, ...) @syscall(i64 8, i32 %6, i64 %7, i32 0) #11 + store i64 %call6, i64* %new_off, align 8 + br label %if.end19 + +if.else: ; preds = %if.then3 + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 2 + %9 = load i64, i64* %off, align 8 + %call8 = call i64 (i64, ...) @syscall(i64 8, i32 %6, i64 %9, i32 0) #11 + store i64 %call8, i64* %new_off, align 8 + %10 = load i64, i64* %new_off, align 8 + %cmp9 = icmp ne i64 %10, -1 + br i1 %cmp9, label %if.then10, label %if.end19 + +if.then10: ; preds = %if.else + %11 = load i64, i64* %new_off, align 8 + %12 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off11 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %12, i32 0, i32 2 + %13 = load i64, i64* %off11, align 8 + %cmp12 = icmp eq i64 %11, %13 + br i1 %cmp12, label %if.end15, label %if.else14 + +if.else14: ; preds = %if.then10 + call void @__assert_fail(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.8, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 504, i8* getelementptr inbounds ([38 x i8], [38 x i8]* @__PRETTY_FUNCTION__.__fd_lseek, i64 0, i64 0)) #26 + unreachable + +if.end15: ; preds = %if.then10 + %14 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd16 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %14, i32 0, i32 0 + %15 = load i32, i32* %fd16, align 8 + %16 = load i64, i64* %offset.addr, align 8 + %17 = load i32, i32* %whence.addr, align 4 + %call17 = call i64 (i64, ...) @syscall(i64 8, i32 %15, i64 %16, i32 %17) #11 + store i64 %call17, i64* %new_off, align 8 + br label %if.end19 + +if.end19: ; preds = %if.else, %if.end15, %if.then4 + %18 = load i64, i64* %new_off, align 8 + %cmp20 = icmp eq i64 %18, -1 + br i1 %cmp20, label %if.then21, label %if.end22 + +if.then21: ; preds = %if.end19 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end22: ; preds = %if.end19 + %19 = load i64, i64* %new_off, align 8 + %20 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off23 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %20, i32 0, i32 2 + store i64 %19, i64* %off23, align 8 + %21 = load i64, i64* %new_off, align 8 + store i64 %21, i64* %retval, align 8 + br label %return + +if.end24: ; preds = %if.end + br label %NodeBlock3 + +NodeBlock3: ; preds = %if.end24 + %case.cmp4 = icmp eq i32 %4, 0 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %4, 1 + br i1 %case.cmp2, label %sw.bb25, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %4, 2 + br i1 %case.cmp, label %sw.bb27, label %newDefault + +sw.bb: ; preds = %NodeBlock3 + %22 = load i64, i64* %offset.addr, align 8 + store i64 %22, i64* %new_off, align 8 + br label %sw.epilog + +sw.bb25: ; preds = %NodeBlock1 + %23 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off26 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %23, i32 0, i32 2 + %24 = load i64, i64* %off26, align 8 + %25 = load i64, i64* %offset.addr, align 8 + %add = add nsw i64 %24, %25 + store i64 %add, i64* %new_off, align 8 + br label %sw.epilog + +sw.bb27: ; preds = %NodeBlock + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile28 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 3 + %27 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile28, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %27, i32 0, i32 0 + %28 = load i32, i32* %size, align 8 + %conv = zext i32 %28 to i64 + %29 = load i64, i64* %offset.addr, align 8 + %add29 = add nsw i64 %conv, %29 + store i64 %add29, i64* %new_off, align 8 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + %call30 = call i32* @__errno_location() #25 + store i32 22, i32* %call30, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +sw.epilog: ; preds = %sw.bb27, %sw.bb25, %sw.bb + %30 = load i64, i64* %new_off, align 8 + %cmp31 = icmp slt i64 %30, 0 + br i1 %cmp31, label %if.then33, label %if.end35 + +if.then33: ; preds = %sw.epilog + %call34 = call i32* @__errno_location() #25 + store i32 22, i32* %call34, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end35: ; preds = %sw.epilog + %31 = load i64, i64* %new_off, align 8 + %32 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off36 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %32, i32 0, i32 2 + store i64 %31, i64* %off36, align 8 + %33 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off37 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %33, i32 0, i32 2 + %34 = load i64, i64* %off37, align 8 + store i64 %34, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end35, %if.then33, %sw.default, %if.end22, %if.then21, %if.then + %35 = load i64, i64* %retval, align 8 + ret i64 %35 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_stat(i8* %path, %struct.stat64* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %3 = bitcast %struct.stat64* %2 to i8* + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %4, i32 0, i32 2 + %5 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %6 = bitcast %struct.stat64* %5 to i8* + %7 = call i8* @memcpy(i8* %3, i8* %6, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load i8*, i8** %path.addr, align 8 + %call1 = call i8* @__concretize_string(i8* %8) + %9 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %call2 = call i64 (i64, ...) @syscall(i64 4, i8* %call1, %struct.stat64* %9) #11 + %conv = trunc i64 %call2 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %10 = load i32, i32* %retval, align 4 + ret i32 %10 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstatat(i32 %fd, i8* nonnull %path, %struct.stat64* nonnull %buf, i32 %flags) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %flags.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %dfile9 = alloca %struct.exe_disk_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %cmp = icmp ne i32 %0, -100 + br i1 %cmp, label %if.then, label %if.end8 + +if.then: ; preds = %entry + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.else, label %if.then1 + +if.then1: ; preds = %if.then + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 3 + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool3 = icmp ne %struct.exe_disk_file_t* %4, null + br i1 %tobool3, label %if.then4, label %if.end6 + +if.then4: ; preds = %if.else + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0)) + %call5 = call i32* @__errno_location() #25 + store i32 2, i32* %call5, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.else + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd7, align 8 + store i32 %6, i32* %fd.addr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end6, %entry + %7 = load i8*, i8** %path.addr, align 8 + %call10 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %7) + store %struct.exe_disk_file_t* %call10, %struct.exe_disk_file_t** %dfile9, align 8 + %8 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile9, align 8 + %tobool11 = icmp ne %struct.exe_disk_file_t* %8, null + br i1 %tobool11, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.end8 + %9 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %10 = bitcast %struct.stat64* %9 to i8* + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile9, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %11, i32 0, i32 2 + %12 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %13 = bitcast %struct.stat64* %12 to i8* + %14 = call i8* @memcpy(i8* %10, i8* %13, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.end8 + %15 = load i32, i32* %fd.addr, align 4 + %conv = sext i32 %15 to i64 + %16 = load i8*, i8** %path.addr, align 8 + %tobool14 = icmp ne i8* %16, null + br i1 %tobool14, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end13 + %17 = load i8*, i8** %path.addr, align 8 + %call15 = call i8* @__concretize_string(i8* %17) + br label %cond.end + +cond.end: ; preds = %if.end13, %cond.true + %cond = phi i8* [ %call15, %cond.true ], [ null, %if.end13 ] + %18 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %19 = load i32, i32* %flags.addr, align 4 + %conv16 = sext i32 %19 to i64 + %call17 = call i64 (i64, ...) @syscall(i64 262, i64 %conv, i8* %cond, %struct.stat64* %18, i64 %conv16) #11 + %conv18 = trunc i64 %call17 to i32 + store i32 %conv18, i32* %retval, align 4 + br label %return + +return: ; preds = %cond.end, %if.then12, %if.then4, %if.then1 + %20 = load i32, i32* %retval, align 4 + ret i32 %20 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_lstat(i8* %path, %struct.stat64* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %3 = bitcast %struct.stat64* %2 to i8* + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %4, i32 0, i32 2 + %5 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %6 = bitcast %struct.stat64* %5 to i8* + %7 = call i8* @memcpy(i8* %3, i8* %6, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load i8*, i8** %path.addr, align 8 + %call1 = call i8* @__concretize_string(i8* %8) + %9 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %call2 = call i64 (i64, ...) @syscall(i64 6, i8* %call1, %struct.stat64* %9) #11 + %conv = trunc i64 %call2 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %10 = load i32, i32* %retval, align 4 + ret i32 %10 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chdir(i8* nonnull %path) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0)) + %call1 = call i32* @__errno_location() #25 + store i32 2, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %2) + %call3 = call i64 (i64, ...) @syscall(i64 80, i8* %call2) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %3 = load i32, i32* %retval, align 4 + ret i32 %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fchdir(i32 %fd) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %if.end + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 2, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd6, align 8 + %call7 = call i64 (i64, ...) @syscall(i64 81, i32 %5) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chmod(i8* nonnull %path, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load i32, i32* @chmod.n_calls, align 4 + %inc = add nsw i32 %1, 1 + store i32 %inc, i32* @chmod.n_calls, align 4 + %2 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool = icmp ne i32 %2, 0 + br i1 %tobool, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %3 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 11), align 8 + %4 = load i32, i32* %3, align 4 + %5 = load i32, i32* @chmod.n_calls, align 4 + %cmp = icmp eq i32 %4, %5 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %6 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %6, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call1 = call i32* @__errno_location() #25 + store i32 5, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + %7 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %7, null + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %if.end + %8 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %9 = load i32, i32* %mode.addr, align 4 + %call4 = call i32 @__df_chmod(%struct.exe_disk_file_t* %8, i32 %9) + store i32 %call4, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %if.end + %10 = load i8*, i8** %path.addr, align 8 + %call6 = call i8* @__concretize_string(i8* %10) + %11 = load i32, i32* %mode.addr, align 4 + %call7 = call i64 (i64, ...) @syscall(i64 90, i8* %call6, i32 %11) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %12 = load i32, i32* %retval, align 4 + ret i32 %12 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__df_chmod(%struct.exe_disk_file_t* %df, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %df.addr = alloca %struct.exe_disk_file_t*, align 8 + %mode.addr = alloca i32, align 4 + store %struct.exe_disk_file_t* %df, %struct.exe_disk_file_t** %df.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %call = call i32 @geteuid() #11 + %0 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %0, i32 0, i32 2 + %1 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_uid = getelementptr inbounds %struct.stat64, %struct.stat64* %1, i32 0, i32 4 + %2 = load i32, i32* %st_uid, align 4 + %cmp = icmp eq i32 %call, %2 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %call1 = call i32 @getgid() #11 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %3, i32 0, i32 2 + %4 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + %st_gid = getelementptr inbounds %struct.stat64, %struct.stat64* %4, i32 0, i32 5 + %5 = load i32, i32* %st_gid, align 8 + %cmp3 = icmp ne i32 %call1, %5 + br i1 %cmp3, label %if.then4, label %if.end + +if.then4: ; preds = %if.then + %6 = load i32, i32* %mode.addr, align 4 + %and = and i32 %6, -1025 + store i32 %and, i32* %mode.addr, align 4 + br label %if.end + +if.end: ; preds = %if.then4, %if.then + %7 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat5 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %7, i32 0, i32 2 + %8 = load %struct.stat64*, %struct.stat64** %stat5, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %8, i32 0, i32 3 + %9 = load i32, i32* %st_mode, align 8 + %and6 = and i32 %9, -4096 + %10 = load i32, i32* %mode.addr, align 4 + %and7 = and i32 %10, 4095 + %or = or i32 %and6, %and7 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat8 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %11, i32 0, i32 2 + %12 = load %struct.stat64*, %struct.stat64** %stat8, align 8 + %st_mode9 = getelementptr inbounds %struct.stat64, %struct.stat64* %12, i32 0, i32 3 + store i32 %or, i32* %st_mode9, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %call10 = call i32* @__errno_location() #25 + store i32 1, i32* %call10, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.else, %if.end + %13 = load i32, i32* %retval, align 4 + ret i32 %13 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fchmod(i32 %fd, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i32, i32* @fchmod.n_calls, align 4 + %inc = add nsw i32 %2, 1 + store i32 %inc, i32* @fchmod.n_calls, align 4 + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 12), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @fchmod.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + br i1 %tobool6, label %if.then7, label %if.end10 + +if.then7: ; preds = %if.end5 + %dfile8 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 3 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile8, align 8 + %12 = load i32, i32* %mode.addr, align 4 + %call9 = call i32 @__df_chmod(%struct.exe_disk_file_t* %11, i32 %12) + store i32 %call9, i32* %retval, align 4 + br label %return + +if.end10: ; preds = %if.end5 + %fd11 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 0 + %13 = load i32, i32* %fd11, align 8 + %14 = load i32, i32* %mode.addr, align 4 + %call12 = call i64 (i64, ...) @syscall(i64 91, i32 %13, i32 %14) #11 + %conv = trunc i64 %call12 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end10, %if.then7, %if.then3, %if.then + %15 = load i32, i32* %retval, align 4 + ret i32 %15 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chown(i8* nonnull %path, i32 %owner, i32 %group) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %df, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %3 = load i32, i32* %owner.addr, align 4 + %4 = load i32, i32* %group.addr, align 4 + %call1 = call i32 @__df_chown(%struct.exe_disk_file_t* %2, i32 %3, i32 %4) + store i32 %call1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %5 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %5) + %6 = load i32, i32* %owner.addr, align 4 + %7 = load i32, i32* %group.addr, align 4 + %call3 = call i64 (i64, ...) @syscall(i64 92, i8* %call2, i32 %6, i32 %7) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__df_chown(%struct.exe_disk_file_t* %df, i32 %owner, i32 %group) #3 { +entry: + %df.addr = alloca %struct.exe_disk_file_t*, align 8 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + store %struct.exe_disk_file_t* %df, %struct.exe_disk_file_t** %df.addr, align 8 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + call void @gs_warning(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.26, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fchown(i32 %fd, i32 %owner, i32 %group) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end6 + +if.then3: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile4 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 3 + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile4, align 8 + %6 = load i32, i32* %owner.addr, align 4 + %7 = load i32, i32* %group.addr, align 4 + %call5 = call i32 @__df_chown(%struct.exe_disk_file_t* %5, i32 %6, i32 %7) + store i32 %call5, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.end + %8 = load i32, i32* %fd.addr, align 4 + %9 = load i32, i32* %owner.addr, align 4 + %10 = load i32, i32* %group.addr, align 4 + %call7 = call i64 (i64, ...) @syscall(i64 93, i32 %8, i32 %9, i32 %10) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end6, %if.then3, %if.then + %11 = load i32, i32* %retval, align 4 + ret i32 %11 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @lchown(i8* nonnull %path, i32 %owner, i32 %group) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %df, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %3 = load i32, i32* %owner.addr, align 4 + %4 = load i32, i32* %group.addr, align 4 + %call1 = call i32 @__df_chown(%struct.exe_disk_file_t* %2, i32 %3, i32 %4) + store i32 %call1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %5 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %5) + %6 = load i32, i32* %owner.addr, align 4 + %7 = load i32, i32* %group.addr, align 4 + %call3 = call i64 (i64, ...) @syscall(i64 92, i8* %call2, i32 %6, i32 %7) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_fstat(i32 %fd, %struct.stat64* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.end6, label %if.then3 + +if.then3: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd4 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd4, align 8 + %6 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %call5 = call i64 (i64, ...) @syscall(i64 5, i32 %5, %struct.stat64* %6) #11 + %conv = trunc i64 %call5 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.end + %7 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %8 = bitcast %struct.stat64* %7 to i8* + %9 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %9, i32 0, i32 3 + %10 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile7, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %10, i32 0, i32 2 + %11 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %12 = bitcast %struct.stat64* %11 to i8* + %13 = call i8* @memcpy(i8* %8, i8* %12, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end6, %if.then3, %if.then + %14 = load i32, i32* %retval, align 4 + ret i32 %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_ftruncate(i32 %fd, i64 %length) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %length.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %length, i64* %length.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load i32, i32* @__fd_ftruncate.n_calls, align 4 + %inc = add nsw i32 %1, 1 + store i32 %inc, i32* @__fd_ftruncate.n_calls, align 4 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @__fd_ftruncate.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + br i1 %tobool6, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end5 + call void @gs_warning(i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.10, i64 0, i64 0)) + %call8 = call i32* @__errno_location() #25 + store i32 5, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end9: ; preds = %if.end5 + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd10 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 0 + %11 = load i32, i32* %fd10, align 8 + %12 = load i64, i64* %length.addr, align 8 + %call11 = call i64 (i64, ...) @syscall(i64 77, i32 %11, i64 %12) #11 + %conv = trunc i64 %call11 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end9, %if.then7, %if.then3, %if.then + %13 = load i32, i32* %retval, align 4 + ret i32 %13 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_getdents(i32 %fd, %struct.dirent64* %dirp, i32 %count) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %dirp.addr = alloca %struct.dirent64*, align 8 + %count.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %i = alloca i64, align 8 + %pad = alloca i64, align 8 + %bytes = alloca i64, align 8 + %df = alloca %struct.exe_disk_file_t*, align 8 + %os_pos = alloca i64, align 8 + %res = alloca i32, align 4 + %s = alloca i64, align 8 + %pos = alloca i32, align 4 + %dp = alloca %struct.dirent64*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.dirent64* %dirp, %struct.dirent64** %dirp.addr, align 8 + store i32 %count, i32* %count.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.else + +if.then3: ; preds = %if.end + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 22, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 2 + %5 = load i64, i64* %off, align 8 + %cmp = icmp ult i64 %5, 4096 + br i1 %cmp, label %if.then5, label %if.else43 + +if.then5: ; preds = %if.else + store i64 0, i64* %bytes, align 8 + %6 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %6, i32 0, i32 2 + %7 = load i64, i64* %off6, align 8 + %div = udiv i64 %7, 280 + store i64 %div, i64* %i, align 8 + %8 = load i64, i64* %i, align 8 + %mul = mul i64 %8, 280 + %9 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %9, i32 0, i32 2 + %10 = load i64, i64* %off7, align 8 + %cmp8 = icmp ne i64 %mul, %10 + br i1 %cmp8, label %if.then11, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then5 + %11 = load i64, i64* %i, align 8 + %12 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %conv = zext i32 %12 to i64 + %cmp9 = icmp sgt i64 %11, %conv + br i1 %cmp9, label %if.then11, label %for.cond + +if.then11: ; preds = %lor.lhs.false, %if.then5 + %call12 = call i32* @__errno_location() #25 + store i32 22, i32* %call12, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +for.cond: ; preds = %lor.lhs.false, %for.body + %13 = load i64, i64* %i, align 8 + %14 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %conv14 = zext i32 %14 to i64 + %cmp15 = icmp slt i64 %13, %conv14 + br i1 %cmp15, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %15 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %16 = load i64, i64* %i, align 8 + %arrayidx = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %15, i64 %16 + store %struct.exe_disk_file_t* %arrayidx, %struct.exe_disk_file_t** %df, align 8 + %17 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %17, i32 0, i32 2 + %18 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %18, i32 0, i32 1 + %19 = load i64, i64* %st_ino, align 8 + %20 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_ino = getelementptr inbounds %struct.dirent64, %struct.dirent64* %20, i32 0, i32 0 + store i64 %19, i64* %d_ino, align 8 + %21 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen = getelementptr inbounds %struct.dirent64, %struct.dirent64* %21, i32 0, i32 2 + store i16 280, i16* %d_reclen, align 8 + %22 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat17 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %22, i32 0, i32 2 + %23 = load %struct.stat64*, %struct.stat64** %stat17, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %23, i32 0, i32 3 + %24 = load i32, i32* %st_mode, align 8 + %and = and i32 %24, 61440 + %shr = lshr i32 %and, 12 + %conv18 = trunc i32 %shr to i8 + %25 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_type = getelementptr inbounds %struct.dirent64, %struct.dirent64* %25, i32 0, i32 3 + store i8 %conv18, i8* %d_type, align 2 + %26 = load i64, i64* %i, align 8 + %add = add nsw i64 65, %26 + %conv19 = trunc i64 %add to i8 + %27 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_name = getelementptr inbounds %struct.dirent64, %struct.dirent64* %27, i32 0, i32 4 + %arrayidx20 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name, i64 0, i64 0 + store i8 %conv19, i8* %arrayidx20, align 1 + %28 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_name21 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %28, i32 0, i32 4 + %arrayidx22 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name21, i64 0, i64 1 + store i8 0, i8* %arrayidx22, align 1 + %29 = load i64, i64* %i, align 8 + %add23 = add nsw i64 %29, 1 + %mul24 = mul i64 %add23, 280 + %30 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_off = getelementptr inbounds %struct.dirent64, %struct.dirent64* %30, i32 0, i32 1 + store i64 %mul24, i64* %d_off, align 8 + %31 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen25 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %31, i32 0, i32 2 + %32 = load i16, i16* %d_reclen25, align 8 + %conv26 = zext i16 %32 to i64 + %33 = load i64, i64* %bytes, align 8 + %add27 = add nsw i64 %33, %conv26 + store i64 %add27, i64* %bytes, align 8 + %34 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %incdec.ptr = getelementptr inbounds %struct.dirent64, %struct.dirent64* %34, i32 1 + store %struct.dirent64* %incdec.ptr, %struct.dirent64** %dirp.addr, align 8 + %35 = load i64, i64* %i, align 8 + %inc = add nsw i64 %35, 1 + store i64 %inc, i64* %i, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %36 = load i32, i32* %count.addr, align 4 + %cmp28 = icmp uge i32 %36, 4096 + %37 = load i32, i32* %count.addr, align 4 + %cond = select i1 %cmp28, i32 4096, i32 %37 + %conv30 = zext i32 %cond to i64 + store i64 %conv30, i64* %pad, align 8 + %38 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_ino31 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %38, i32 0, i32 0 + store i64 0, i64* %d_ino31, align 8 + %39 = load i64, i64* %pad, align 8 + %40 = load i64, i64* %bytes, align 8 + %sub = sub nsw i64 %39, %40 + %conv32 = trunc i64 %sub to i16 + %41 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen33 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %41, i32 0, i32 2 + store i16 %conv32, i16* %d_reclen33, align 8 + %42 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_type34 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %42, i32 0, i32 3 + store i8 0, i8* %d_type34, align 2 + %43 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_name35 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %43, i32 0, i32 4 + %arrayidx36 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name35, i64 0, i64 0 + store i8 0, i8* %arrayidx36, align 1 + %44 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_off37 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %44, i32 0, i32 1 + store i64 4096, i64* %d_off37, align 8 + %45 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen38 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %45, i32 0, i32 2 + %46 = load i16, i16* %d_reclen38, align 8 + %conv39 = zext i16 %46 to i64 + %47 = load i64, i64* %bytes, align 8 + %add40 = add nsw i64 %47, %conv39 + store i64 %add40, i64* %bytes, align 8 + %48 = load i64, i64* %pad, align 8 + %49 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off41 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %49, i32 0, i32 2 + store i64 %48, i64* %off41, align 8 + %50 = load i64, i64* %bytes, align 8 + %conv42 = trunc i64 %50 to i32 + store i32 %conv42, i32* %retval, align 4 + br label %return + +if.else43: ; preds = %if.else + %51 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off44 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %51, i32 0, i32 2 + %52 = load i64, i64* %off44, align 8 + %sub45 = sub nsw i64 %52, 4096 + store i64 %sub45, i64* %os_pos, align 8 + store i64 0, i64* %s, align 8 + %53 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %54 = bitcast %struct.dirent64* %53 to i8* + %55 = load i32, i32* %count.addr, align 4 + %conv46 = zext i32 %55 to i64 + %56 = call i8* @memset(i8* %54, i32 0, i64 %conv46) + %57 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd47 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %57, i32 0, i32 0 + %58 = load i32, i32* %fd47, align 8 + %59 = load i64, i64* %os_pos, align 8 + %call48 = call i64 (i64, ...) @syscall(i64 8, i32 %58, i64 %59, i32 0) #11 + store i64 %call48, i64* %s, align 8 + %60 = load i64, i64* %s, align 8 + %cmp49 = icmp ne i64 %60, -1 + br i1 %cmp49, label %if.end53, label %if.else52 + +if.else52: ; preds = %if.else43 + call void @__assert_fail(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.12, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 840, i8* getelementptr inbounds ([65 x i8], [65 x i8]* @__PRETTY_FUNCTION__.__fd_getdents, i64 0, i64 0)) #26 + unreachable + +if.end53: ; preds = %if.else43 + %61 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %61, i32 0, i32 0 + %62 = load i32, i32* %fd54, align 8 + %63 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %64 = load i32, i32* %count.addr, align 4 + %call55 = call i64 (i64, ...) @syscall(i64 217, i32 %62, %struct.dirent64* %63, i32 %64) #11 + %conv56 = trunc i64 %call55 to i32 + store i32 %conv56, i32* %res, align 4 + %65 = load i32, i32* %res, align 4 + %cmp57 = icmp sgt i32 %65, -1 + br i1 %cmp57, label %if.then59, label %if.end78 + +if.then59: ; preds = %if.end53 + store i32 0, i32* %pos, align 4 + %66 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd60 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %66, i32 0, i32 0 + %67 = load i32, i32* %fd60, align 8 + %call61 = call i64 (i64, ...) @syscall(i64 8, i32 %67, i32 0, i32 1) #11 + %68 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off62 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %68, i32 0, i32 2 + store i64 %call61, i64* %off62, align 8 + %69 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off63 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %69, i32 0, i32 2 + %70 = load i64, i64* %off63, align 8 + %cmp64 = icmp ne i64 %70, -1 + br i1 %cmp64, label %if.end68, label %if.else67 + +if.else67: ; preds = %if.then59 + call void @__assert_fail(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.13, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 845, i8* getelementptr inbounds ([65 x i8], [65 x i8]* @__PRETTY_FUNCTION__.__fd_getdents, i64 0, i64 0)) #26 + unreachable + +if.end68: ; preds = %if.then59 + %71 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off69 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %71, i32 0, i32 2 + %72 = load i64, i64* %off69, align 8 + %add70 = add nsw i64 %72, 4096 + store i64 %add70, i64* %off69, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end68 + %73 = load i32, i32* %pos, align 4 + %74 = load i32, i32* %res, align 4 + %cmp71 = icmp slt i32 %73, %74 + br i1 %cmp71, label %while.body, label %if.end78 + +while.body: ; preds = %while.cond + %75 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %76 = bitcast %struct.dirent64* %75 to i8* + %77 = load i32, i32* %pos, align 4 + %idx.ext = sext i32 %77 to i64 + %add.ptr = getelementptr inbounds i8, i8* %76, i64 %idx.ext + %78 = bitcast i8* %add.ptr to %struct.dirent64* + store %struct.dirent64* %78, %struct.dirent64** %dp, align 8 + %79 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_off73 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %79, i32 0, i32 1 + %80 = load i64, i64* %d_off73, align 8 + %add74 = add nsw i64 %80, 4096 + store i64 %add74, i64* %d_off73, align 8 + %81 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_reclen75 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %81, i32 0, i32 2 + %82 = load i16, i16* %d_reclen75, align 8 + %conv76 = zext i16 %82 to i32 + %83 = load i32, i32* %pos, align 4 + %add77 = add nsw i32 %83, %conv76 + store i32 %add77, i32* %pos, align 4 + br label %while.cond + +if.end78: ; preds = %while.cond, %if.end53 + %84 = load i32, i32* %res, align 4 + store i32 %84, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end78, %for.end, %if.then11, %if.then3, %if.then + %85 = load i32, i32* %retval, align 4 + ret i32 %85 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @ioctl(i32 %fd, i64 %request, ...) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %request.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + %buf = alloca i8*, align 8 + %stat = alloca %struct.stat64*, align 8 + %ts = alloca %struct.termios*, align 8 + %ws = alloca %struct.winsize*, align 8 + %res = alloca i32*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %request, i64* %request.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay2 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay2) + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.end + %2 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 3 + %reg_save_area = load i8*, i8** %2, align 16 + %3 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %4 = bitcast i8* %3 to i8** + %5 = add i32 %gp_offset, 8 + store i32 %5, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.end + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %6 = bitcast i8* %overflow_arg_area to i8** + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i8** [ %4, %vaarg.in_reg ], [ %6, %vaarg.in_mem ] + %7 = load i8*, i8** %vaarg.addr, align 8 + store i8* %7, i8** %buf, align 8 + %arraydecay4 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay45 = bitcast %struct.__va_list_tag.0* %arraydecay4 to i8* + call void @llvm.va_end(i8* %arraydecay45) + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + br i1 %tobool6, label %if.then7, label %if.end103 + +if.then7: ; preds = %vaarg.end + %dfile8 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 3 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile8, align 8 + %stat9 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %11, i32 0, i32 2 + %12 = load %struct.stat64*, %struct.stat64** %stat9, align 8 + %13 = bitcast %struct.stat64* %12 to %struct.stat64* + store %struct.stat64* %13, %struct.stat64** %stat, align 8 + %14 = load i64, i64* %request.addr, align 8 + br label %NodeBlock13 + +NodeBlock13: ; preds = %if.then7 + %case.cmp14 = icmp eq i64 %14, 21505 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i64 %14, 21506 + br i1 %case.cmp12, label %sw.bb48, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i64 %14, 21507 + br i1 %case.cmp10, label %sw.bb55, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i64 %14, 21508 + br i1 %case.cmp8, label %sw.bb60, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i64 %14, 21523 + br i1 %case.cmp6, label %sw.bb67, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i64 %14, 21524 + br i1 %case.cmp4, label %sw.bb74, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i64 %14, 21531 + br i1 %case.cmp2, label %sw.bb82, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i64 %14, 2150657282 + br i1 %case.cmp, label %sw.bb100, label %newDefault + +sw.bb: ; preds = %NodeBlock13 + %15 = load i8*, i8** %buf, align 8 + %16 = bitcast i8* %15 to %struct.termios* + store %struct.termios* %16, %struct.termios** %ts, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.14, i64 0, i64 0)) + %17 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %17, i32 0, i32 3 + %18 = load i32, i32* %st_mode, align 8 + %and = and i32 %18, 61440 + %cmp = icmp eq i32 %and, 8192 + br i1 %cmp, label %if.then10, label %if.else + +if.then10: ; preds = %sw.bb + %19 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_iflag = getelementptr inbounds %struct.termios, %struct.termios* %19, i32 0, i32 0 + store i32 27906, i32* %c_iflag, align 4 + %20 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_oflag = getelementptr inbounds %struct.termios, %struct.termios* %20, i32 0, i32 1 + store i32 5, i32* %c_oflag, align 4 + %21 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cflag = getelementptr inbounds %struct.termios, %struct.termios* %21, i32 0, i32 2 + store i32 1215, i32* %c_cflag, align 4 + %22 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_lflag = getelementptr inbounds %struct.termios, %struct.termios* %22, i32 0, i32 3 + store i32 35287, i32* %c_lflag, align 4 + %23 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_line = getelementptr inbounds %struct.termios, %struct.termios* %23, i32 0, i32 4 + store i8 0, i8* %c_line, align 4 + %24 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc = getelementptr inbounds %struct.termios, %struct.termios* %24, i32 0, i32 5 + %arrayidx = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc, i64 0, i64 0 + store i8 3, i8* %arrayidx, align 1 + %25 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc11 = getelementptr inbounds %struct.termios, %struct.termios* %25, i32 0, i32 5 + %arrayidx12 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc11, i64 0, i64 1 + store i8 28, i8* %arrayidx12, align 1 + %26 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc13 = getelementptr inbounds %struct.termios, %struct.termios* %26, i32 0, i32 5 + %arrayidx14 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc13, i64 0, i64 2 + store i8 127, i8* %arrayidx14, align 1 + %27 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc15 = getelementptr inbounds %struct.termios, %struct.termios* %27, i32 0, i32 5 + %arrayidx16 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc15, i64 0, i64 3 + store i8 21, i8* %arrayidx16, align 1 + %28 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc17 = getelementptr inbounds %struct.termios, %struct.termios* %28, i32 0, i32 5 + %arrayidx18 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc17, i64 0, i64 4 + store i8 4, i8* %arrayidx18, align 1 + %29 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc19 = getelementptr inbounds %struct.termios, %struct.termios* %29, i32 0, i32 5 + %arrayidx20 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc19, i64 0, i64 5 + store i8 0, i8* %arrayidx20, align 1 + %30 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc21 = getelementptr inbounds %struct.termios, %struct.termios* %30, i32 0, i32 5 + %arrayidx22 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc21, i64 0, i64 6 + store i8 1, i8* %arrayidx22, align 1 + %31 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc23 = getelementptr inbounds %struct.termios, %struct.termios* %31, i32 0, i32 5 + %arrayidx24 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc23, i64 0, i64 7 + store i8 -1, i8* %arrayidx24, align 1 + %32 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc25 = getelementptr inbounds %struct.termios, %struct.termios* %32, i32 0, i32 5 + %arrayidx26 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc25, i64 0, i64 8 + store i8 17, i8* %arrayidx26, align 1 + %33 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc27 = getelementptr inbounds %struct.termios, %struct.termios* %33, i32 0, i32 5 + %arrayidx28 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc27, i64 0, i64 9 + store i8 19, i8* %arrayidx28, align 1 + %34 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc29 = getelementptr inbounds %struct.termios, %struct.termios* %34, i32 0, i32 5 + %arrayidx30 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc29, i64 0, i64 10 + store i8 26, i8* %arrayidx30, align 1 + %35 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc31 = getelementptr inbounds %struct.termios, %struct.termios* %35, i32 0, i32 5 + %arrayidx32 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc31, i64 0, i64 11 + store i8 -1, i8* %arrayidx32, align 1 + %36 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc33 = getelementptr inbounds %struct.termios, %struct.termios* %36, i32 0, i32 5 + %arrayidx34 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc33, i64 0, i64 12 + store i8 18, i8* %arrayidx34, align 1 + %37 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc35 = getelementptr inbounds %struct.termios, %struct.termios* %37, i32 0, i32 5 + %arrayidx36 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc35, i64 0, i64 13 + store i8 15, i8* %arrayidx36, align 1 + %38 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc37 = getelementptr inbounds %struct.termios, %struct.termios* %38, i32 0, i32 5 + %arrayidx38 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc37, i64 0, i64 14 + store i8 23, i8* %arrayidx38, align 1 + %39 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc39 = getelementptr inbounds %struct.termios, %struct.termios* %39, i32 0, i32 5 + %arrayidx40 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc39, i64 0, i64 15 + store i8 22, i8* %arrayidx40, align 1 + %40 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc41 = getelementptr inbounds %struct.termios, %struct.termios* %40, i32 0, i32 5 + %arrayidx42 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc41, i64 0, i64 16 + store i8 -1, i8* %arrayidx42, align 1 + %41 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc43 = getelementptr inbounds %struct.termios, %struct.termios* %41, i32 0, i32 5 + %arrayidx44 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc43, i64 0, i64 17 + store i8 0, i8* %arrayidx44, align 1 + %42 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc45 = getelementptr inbounds %struct.termios, %struct.termios* %42, i32 0, i32 5 + %arrayidx46 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc45, i64 0, i64 18 + store i8 0, i8* %arrayidx46, align 1 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %sw.bb + %call47 = call i32* @__errno_location() #25 + store i32 25, i32* %call47, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb48: ; preds = %NodeBlock11 + call void @gs_warning_once(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.15, i64 0, i64 0)) + %43 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode49 = getelementptr inbounds %struct.stat64, %struct.stat64* %43, i32 0, i32 3 + %44 = load i32, i32* %st_mode49, align 8 + %and50 = and i32 %44, 61440 + %cmp51 = icmp eq i32 %and50, 8192 + br i1 %cmp51, label %if.then52, label %if.else53 + +if.then52: ; preds = %sw.bb48 + store i32 0, i32* %retval, align 4 + br label %return + +if.else53: ; preds = %sw.bb48 + %call54 = call i32* @__errno_location() #25 + store i32 25, i32* %call54, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb55: ; preds = %NodeBlock9 + call void @gs_warning_once(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.16, i64 0, i64 0)) + %45 = load i32, i32* %fd.addr, align 4 + %cmp56 = icmp eq i32 %45, 0 + br i1 %cmp56, label %if.then57, label %if.else58 + +if.then57: ; preds = %sw.bb55 + store i32 0, i32* %retval, align 4 + br label %return + +if.else58: ; preds = %sw.bb55 + %call59 = call i32* @__errno_location() #25 + store i32 25, i32* %call59, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb60: ; preds = %NodeBlock7 + call void @gs_warning_once(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.17, i64 0, i64 0)) + %46 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode61 = getelementptr inbounds %struct.stat64, %struct.stat64* %46, i32 0, i32 3 + %47 = load i32, i32* %st_mode61, align 8 + %and62 = and i32 %47, 61440 + %cmp63 = icmp eq i32 %and62, 8192 + br i1 %cmp63, label %if.then64, label %if.else65 + +if.then64: ; preds = %sw.bb60 + store i32 0, i32* %retval, align 4 + br label %return + +if.else65: ; preds = %sw.bb60 + %call66 = call i32* @__errno_location() #25 + store i32 25, i32* %call66, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb67: ; preds = %NodeBlock5 + %48 = load i8*, i8** %buf, align 8 + %49 = bitcast i8* %48 to %struct.winsize* + store %struct.winsize* %49, %struct.winsize** %ws, align 8 + %50 = load %struct.winsize*, %struct.winsize** %ws, align 8 + %ws_row = getelementptr inbounds %struct.winsize, %struct.winsize* %50, i32 0, i32 0 + store i16 24, i16* %ws_row, align 2 + %51 = load %struct.winsize*, %struct.winsize** %ws, align 8 + %ws_col = getelementptr inbounds %struct.winsize, %struct.winsize* %51, i32 0, i32 1 + store i16 80, i16* %ws_col, align 2 + call void @gs_warning_once(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.18, i64 0, i64 0)) + %52 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode68 = getelementptr inbounds %struct.stat64, %struct.stat64* %52, i32 0, i32 3 + %53 = load i32, i32* %st_mode68, align 8 + %and69 = and i32 %53, 61440 + %cmp70 = icmp eq i32 %and69, 8192 + br i1 %cmp70, label %if.then71, label %if.else72 + +if.then71: ; preds = %sw.bb67 + store i32 0, i32* %retval, align 4 + br label %return + +if.else72: ; preds = %sw.bb67 + %call73 = call i32* @__errno_location() #25 + store i32 25, i32* %call73, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb74: ; preds = %NodeBlock3 + call void @gs_warning_once(i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.19, i64 0, i64 0)) + %54 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode75 = getelementptr inbounds %struct.stat64, %struct.stat64* %54, i32 0, i32 3 + %55 = load i32, i32* %st_mode75, align 8 + %and76 = and i32 %55, 61440 + %cmp77 = icmp eq i32 %and76, 8192 + %call79 = call i32* @__errno_location() #25 + br i1 %cmp77, label %if.then78, label %if.else80 + +if.then78: ; preds = %sw.bb74 + store i32 22, i32* %call79, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else80: ; preds = %sw.bb74 + store i32 25, i32* %call79, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb82: ; preds = %NodeBlock1 + %56 = load i8*, i8** %buf, align 8 + %57 = bitcast i8* %56 to i32* + store i32* %57, i32** %res, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.20, i64 0, i64 0)) + %58 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode83 = getelementptr inbounds %struct.stat64, %struct.stat64* %58, i32 0, i32 3 + %59 = load i32, i32* %st_mode83, align 8 + %and84 = and i32 %59, 61440 + %cmp85 = icmp eq i32 %and84, 8192 + br i1 %cmp85, label %if.then86, label %if.else98 + +if.then86: ; preds = %sw.bb82 + %60 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %60, i32 0, i32 2 + %61 = load i64, i64* %off, align 8 + %62 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile87 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %62, i32 0, i32 3 + %63 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile87, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %63, i32 0, i32 0 + %64 = load i32, i32* %size, align 8 + %conv = zext i32 %64 to i64 + %cmp88 = icmp slt i64 %61, %conv + br i1 %cmp88, label %if.then90, label %if.else96 + +if.then90: ; preds = %if.then86 + %65 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile91 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %65, i32 0, i32 3 + %66 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile91, align 8 + %size92 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %66, i32 0, i32 0 + %67 = load i32, i32* %size92, align 8 + %conv93 = zext i32 %67 to i64 + %68 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off94 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %68, i32 0, i32 2 + %69 = load i64, i64* %off94, align 8 + %sub = sub nsw i64 %conv93, %69 + %conv95 = trunc i64 %sub to i32 + %70 = load i32*, i32** %res, align 8 + store i32 %conv95, i32* %70, align 4 + br label %if.end97 + +if.else96: ; preds = %if.then86 + %71 = load i32*, i32** %res, align 8 + store i32 0, i32* %71, align 4 + br label %if.end97 + +if.end97: ; preds = %if.else96, %if.then90 + store i32 0, i32* %retval, align 4 + br label %return + +if.else98: ; preds = %sw.bb82 + %call99 = call i32* @__errno_location() #25 + store i32 25, i32* %call99, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb100: ; preds = %NodeBlock + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.21, i64 0, i64 0)) + %call101 = call i32* @__errno_location() #25 + store i32 22, i32* %call101, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0)) + %call102 = call i32* @__errno_location() #25 + store i32 22, i32* %call102, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end103: ; preds = %vaarg.end + %fd104 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 0 + %72 = load i32, i32* %fd104, align 8 + %73 = load i64, i64* %request.addr, align 8 + %74 = load i8*, i8** %buf, align 8 + %call105 = call i64 (i64, ...) @syscall(i64 16, i32 %72, i64 %73, i8* %74) #11 + %conv106 = trunc i64 %call105 to i32 + store i32 %conv106, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end103, %sw.default, %sw.bb100, %if.else98, %if.end97, %if.else80, %if.then78, %if.else72, %if.then71, %if.else65, %if.then64, %if.else58, %if.then57, %if.else53, %if.then52, %if.else, %if.then10, %if.then + %75 = load i32, i32* %retval, align 4 + ret i32 %75 +} + +; Function Attrs: nounwind +declare void @llvm.va_start(i8*) #11 + +; Function Attrs: nounwind +declare void @llvm.va_end(i8*) #11 + +declare dso_local void @gs_warning_once(i8*) #5 + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fcntl(i32 %fd, i32 %cmd, ...) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %cmd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + %arg = alloca i32, align 4 + %lock = alloca %struct.flock*, align 8 + %flags = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %cmd, i32* %cmd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i32, i32* %cmd.addr, align 4 + %cmp = icmp eq i32 %2, 1 + %3 = load i32, i32* %cmd.addr, align 4 + %cmp2 = icmp eq i32 %3, 3 + %or.cond = or i1 %cmp, %cmp2 + %4 = load i32, i32* %cmd.addr, align 4 + %cmp4 = icmp eq i32 %4, 9 + %or.cond1 = or i1 %or.cond, %cmp4 + %5 = load i32, i32* %cmd.addr, align 4 + %cmp6 = icmp eq i32 %5, 11 + %or.cond2 = or i1 %or.cond1, %cmp6 + %6 = load i32, i32* %cmd.addr, align 4 + %cmp8 = icmp eq i32 %6, 1025 + %or.cond3 = or i1 %or.cond2, %cmp8 + %7 = load i32, i32* %cmd.addr, align 4 + %cmp10 = icmp eq i32 %7, 1026 + %or.cond4 = or i1 %or.cond3, %cmp10 + br i1 %or.cond4, label %if.then11, label %if.else + +if.then11: ; preds = %if.end + store i32 0, i32* %arg, align 4 + br label %if.end40 + +if.else: ; preds = %if.end + %8 = load i32, i32* %cmd.addr, align 4 + %cmp12 = icmp eq i32 %8, 5 + %9 = load i32, i32* %cmd.addr, align 4 + %cmp14 = icmp eq i32 %9, 6 + %or.cond5 = or i1 %cmp12, %cmp14 + %10 = load i32, i32* %cmd.addr, align 4 + %cmp16 = icmp eq i32 %10, 7 + %or.cond6 = or i1 %or.cond5, %cmp16 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay18 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay18) + %arraydecay19 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %or.cond6, label %if.then17, label %if.else22 + +if.then17: ; preds = %if.else + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then17 + %11 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 3 + %reg_save_area = load i8*, i8** %11, align 16 + %12 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %13 = bitcast i8* %12 to %struct.flock** + %14 = add i32 %gp_offset, 8 + store i32 %14, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then17 + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %15 = bitcast i8* %overflow_arg_area to %struct.flock** + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi %struct.flock** [ %13, %vaarg.in_reg ], [ %15, %vaarg.in_mem ] + %16 = load %struct.flock*, %struct.flock** %vaarg.addr, align 8 + store %struct.flock* %16, %struct.flock** %lock, align 8 + %arraydecay20 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay2021 = bitcast %struct.__va_list_tag.0* %arraydecay20 to i8* + call void @llvm.va_end(i8* %arraydecay2021) + br label %if.end40 + +if.else22: ; preds = %if.else + br i1 %fits_in_gp, label %vaarg.in_reg29, label %vaarg.in_mem31 + +vaarg.in_reg29: ; preds = %if.else22 + %17 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 3 + %reg_save_area30 = load i8*, i8** %17, align 16 + %18 = getelementptr i8, i8* %reg_save_area30, i32 %gp_offset + %19 = bitcast i8* %18 to i32* + %20 = add i32 %gp_offset, 8 + store i32 %20, i32* %gp_offset_p, align 16 + br label %vaarg.end35 + +vaarg.in_mem31: ; preds = %if.else22 + %overflow_arg_area_p32 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 2 + %overflow_arg_area33 = load i8*, i8** %overflow_arg_area_p32, align 8 + %21 = bitcast i8* %overflow_arg_area33 to i32* + %overflow_arg_area.next34 = getelementptr i8, i8* %overflow_arg_area33, i32 8 + store i8* %overflow_arg_area.next34, i8** %overflow_arg_area_p32, align 8 + br label %vaarg.end35 + +vaarg.end35: ; preds = %vaarg.in_mem31, %vaarg.in_reg29 + %vaarg.addr36 = phi i32* [ %19, %vaarg.in_reg29 ], [ %21, %vaarg.in_mem31 ] + %22 = load i32, i32* %vaarg.addr36, align 4 + store i32 %22, i32* %arg, align 4 + %arraydecay37 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay3738 = bitcast %struct.__va_list_tag.0* %arraydecay37 to i8* + call void @llvm.va_end(i8* %arraydecay3738) + br label %if.end40 + +if.end40: ; preds = %vaarg.end, %vaarg.end35, %if.then11 + %23 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %23, i32 0, i32 3 + %24 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool41 = icmp ne %struct.exe_disk_file_t* %24, null + br i1 %tobool41, label %if.then42, label %if.end60 + +if.then42: ; preds = %if.end40 + %25 = load i32, i32* %cmd.addr, align 4 + br label %NodeBlock13 + +NodeBlock13: ; preds = %if.then42 + %case.cmp14 = icmp eq i32 %25, 1 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %25, 2 + br i1 %case.cmp12, label %sw.bb47, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %25, 3 + br i1 %case.cmp10, label %sw.bb56, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %25, 5 + br i1 %case.cmp8, label %sw.bb57, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock7 + %case.cmp = icmp eq i32 %25, 6 + br i1 %case.cmp, label %sw.bb58, label %newDefault + +sw.bb: ; preds = %NodeBlock13 + store i32 0, i32* %flags, align 4 + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags43 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 1 + %27 = load i32, i32* %flags43, align 4 + %and = and i32 %27, 2 + %tobool44 = icmp ne i32 %and, 0 + br i1 %tobool44, label %if.then45, label %if.end46 + +if.then45: ; preds = %sw.bb + %28 = load i32, i32* %flags, align 4 + %or = or i32 %28, 1 + store i32 %or, i32* %flags, align 4 + br label %if.end46 + +if.end46: ; preds = %if.then45, %sw.bb + %29 = load i32, i32* %flags, align 4 + store i32 %29, i32* %retval, align 4 + br label %return + +sw.bb47: ; preds = %NodeBlock11 + %30 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags48 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %30, i32 0, i32 1 + %31 = load i32, i32* %flags48, align 4 + %and49 = and i32 %31, -3 + store i32 %and49, i32* %flags48, align 4 + %32 = load i32, i32* %arg, align 4 + %and50 = and i32 %32, 1 + %tobool51 = icmp ne i32 %and50, 0 + br i1 %tobool51, label %if.then52, label %if.end55 + +if.then52: ; preds = %sw.bb47 + %33 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags53 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %33, i32 0, i32 1 + %34 = load i32, i32* %flags53, align 4 + %or54 = or i32 %34, 2 + store i32 %or54, i32* %flags53, align 4 + br label %if.end55 + +if.end55: ; preds = %if.then52, %sw.bb47 + store i32 0, i32* %retval, align 4 + br label %return + +sw.bb56: ; preds = %NodeBlock9 + store i32 0, i32* %retval, align 4 + br label %return + +sw.bb57: ; preds = %NodeBlock7 + %35 = load %struct.flock*, %struct.flock** %lock, align 8 + %l_type = getelementptr inbounds %struct.flock, %struct.flock* %35, i32 0, i32 0 + store i16 2, i16* %l_type, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +sw.bb58: ; preds = %NodeBlock + store i32 0, i32* %retval, align 4 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0)) + %call59 = call i32* @__errno_location() #25 + store i32 22, i32* %call59, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end60: ; preds = %if.end40 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd61 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 0 + %37 = load i32, i32* %fd61, align 8 + %38 = load i32, i32* %cmd.addr, align 4 + %39 = load i32, i32* %arg, align 4 + %call62 = call i64 (i64, ...) @syscall(i64 72, i32 %37, i32 %38, i32 %39) #11 + %conv = trunc i64 %call62 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end60, %sw.default, %sw.bb58, %sw.bb57, %sw.bb56, %if.end55, %if.end46, %if.then + %40 = load i32, i32* %retval, align 4 + ret i32 %40 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_statfs(i8* %path, %struct.statfs* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.statfs*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.statfs* %buf, %struct.statfs** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0)) + %call1 = call i32* @__errno_location() #25 + store i32 2, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %2) + %3 = load %struct.statfs*, %struct.statfs** %buf.addr, align 8 + %call3 = call i64 (i64, ...) @syscall(i64 137, i8* %call2, %struct.statfs* %3) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstatfs(i32 %fd, %struct.statfs* nonnull %buf) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.statfs*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.statfs* %buf, %struct.statfs** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %if.end + call void @gs_warning(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.22, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 9, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd6, align 8 + %6 = load %struct.statfs*, %struct.statfs** %buf.addr, align 8 + %call7 = call i64 (i64, ...) @syscall(i64 138, i32 %5, %struct.statfs* %6) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %7 = load i32, i32* %retval, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fsync(i32 %fd) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.else + store i32 0, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %if.else + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd5 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd5, align 8 + %call6 = call i64 (i64, ...) @syscall(i64 74, i32 %5) #11 + %conv = trunc i64 %call6 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @dup2(i32 %oldfd, i32 %newfd) #3 { +entry: + %retval = alloca i32, align 4 + %oldfd.addr = alloca i32, align 4 + %newfd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %f2 = alloca %struct.exe_file_t*, align 8 + store i32 %oldfd, i32* %oldfd.addr, align 4 + store i32 %newfd, i32* %newfd.addr, align 4 + %0 = load i32, i32* %oldfd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + %2 = load i32, i32* %newfd.addr, align 4 + %cmp = icmp sge i32 %2, 0 + %or.cond = and i1 %tobool, %cmp + %3 = load i32, i32* %newfd.addr, align 4 + %cmp1 = icmp slt i32 %3, 32 + %or.cond1 = and i1 %or.cond, %cmp1 + br i1 %or.cond1, label %if.else, label %if.then + +if.then: ; preds = %entry + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %4 = load i32, i32* %newfd.addr, align 4 + %idxprom = sext i32 %4 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + store %struct.exe_file_t* %arrayidx, %struct.exe_file_t** %f2, align 8 + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f2, align 8 + %flags = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 1 + %6 = load i32, i32* %flags, align 4 + %and = and i32 %6, 1 + %tobool3 = icmp ne i32 %and, 0 + br i1 %tobool3, label %if.then4, label %if.end + +if.then4: ; preds = %if.else + %7 = load i32, i32* %newfd.addr, align 4 + %call5 = call i32 @close(i32 %7) + br label %if.end + +if.end: ; preds = %if.then4, %if.else + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f2, align 8 + %9 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %10 = bitcast %struct.exe_file_t* %8 to i8* + %11 = bitcast %struct.exe_file_t* %9 to i8* + %12 = call i8* @memcpy(i8* %10, i8* %11, i64 24) + %13 = load %struct.exe_file_t*, %struct.exe_file_t** %f2, align 8 + %flags6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %13, i32 0, i32 1 + %14 = load i32, i32* %flags6, align 4 + %and7 = and i32 %14, -3 + store i32 %and7, i32* %flags6, align 4 + %15 = load i32, i32* %newfd.addr, align 4 + store i32 %15, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %16 = load i32, i32* %retval, align 4 + ret i32 %16 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @dup(i32 %oldfd) #3 { +entry: + %retval = alloca i32, align 4 + %oldfd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %fd = alloca i32, align 4 + store i32 %oldfd, i32* %oldfd.addr, align 4 + %0 = load i32, i32* %oldfd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + store i32 0, i32* %fd, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.else + %2 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %2, 32 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %3 = load i32, i32* %fd, align 4 + %idxprom = sext i32 %3 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + %flags = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %arrayidx, i32 0, i32 1 + %4 = load i32, i32* %flags, align 4 + %and = and i32 %4, 1 + %tobool2 = icmp ne i32 %and, 0 + br i1 %tobool2, label %for.inc, label %for.end + +for.inc: ; preds = %for.body + %5 = load i32, i32* %fd, align 4 + %inc = add nsw i32 %5, 1 + store i32 %inc, i32* %fd, align 4 + br label %for.cond + +for.end: ; preds = %for.body, %for.cond + %6 = load i32, i32* %fd, align 4 + %cmp4 = icmp eq i32 %6, 32 + br i1 %cmp4, label %if.then5, label %if.else7 + +if.then5: ; preds = %for.end + %call6 = call i32* @__errno_location() #25 + store i32 24, i32* %call6, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else7: ; preds = %for.end + %7 = load i32, i32* %oldfd.addr, align 4 + %8 = load i32, i32* %fd, align 4 + %call8 = call i32 @dup2(i32 %7, i32 %8) #11 + store i32 %call8, i32* %retval, align 4 + br label %return + +return: ; preds = %if.else7, %if.then5, %if.then + %9 = load i32, i32* %retval, align 4 + ret i32 %9 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rmdir(i8* nonnull %pathname) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 16384 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %5, i32 0, i32 2 + %6 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 1 + store i64 0, i64* %st_ino, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %call3 = call i32* @__errno_location() #25 + store i32 20, i32* %call3, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 1, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.else, %if.then1 + %7 = load i32, i32* %retval, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @unlink(i8* nonnull %pathname) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 32768 + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %5, i32 0, i32 2 + %6 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 1 + store i64 0, i64* %st_ino, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %st_mode4 = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 3 + %7 = load i32, i32* %st_mode4, align 8 + %and5 = and i32 %7, 61440 + %cmp6 = icmp eq i32 %and5, 16384 + %call8 = call i32* @__errno_location() #25 + br i1 %cmp6, label %if.then7, label %if.else9 + +if.then7: ; preds = %if.else + store i32 21, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else9: ; preds = %if.else + store i32 1, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0)) + %call11 = call i32* @__errno_location() #25 + store i32 1, i32* %call11, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.else9, %if.then7, %if.then1 + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @unlinkat(i32 %dirfd, i8* nonnull %pathname, i32 %flags) #3 { +entry: + %retval = alloca i32, align 4 + %dirfd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i32 %dirfd, i32* %dirfd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 32768 + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %5, i32 0, i32 2 + %6 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 1 + store i64 0, i64* %st_ino, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %st_mode4 = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 3 + %7 = load i32, i32* %st_mode4, align 8 + %and5 = and i32 %7, 61440 + %cmp6 = icmp eq i32 %and5, 16384 + %call8 = call i32* @__errno_location() #25 + br i1 %cmp6, label %if.then7, label %if.else9 + +if.then7: ; preds = %if.else + store i32 21, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else9: ; preds = %if.else + store i32 1, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0)) + %call11 = call i32* @__errno_location() #25 + store i32 1, i32* %call11, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.else9, %if.then7, %if.then1 + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @readlink(i8* nonnull %path, i8* nonnull %buf, i64 %bufsize) #3 { +entry: + %retval = alloca i64, align 8 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end20 + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 40960 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %5 = load i8*, i8** %path.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 0 + %6 = load i8, i8* %arrayidx, align 1 + %7 = load i8*, i8** %buf.addr, align 8 + %arrayidx2 = getelementptr inbounds i8, i8* %7, i64 0 + store i8 %6, i8* %arrayidx2, align 1 + %8 = load i64, i64* %bufsize.addr, align 8 + %cmp3 = icmp ugt i64 %8, 1 + br i1 %cmp3, label %if.then4, label %if.end + +if.then4: ; preds = %if.then1 + %9 = load i8*, i8** %buf.addr, align 8 + %arrayidx5 = getelementptr inbounds i8, i8* %9, i64 1 + store i8 46, i8* %arrayidx5, align 1 + br label %if.end + +if.end: ; preds = %if.then4, %if.then1 + %10 = load i64, i64* %bufsize.addr, align 8 + %cmp6 = icmp ugt i64 %10, 2 + br i1 %cmp6, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end + %11 = load i8*, i8** %buf.addr, align 8 + %arrayidx8 = getelementptr inbounds i8, i8* %11, i64 2 + store i8 108, i8* %arrayidx8, align 1 + br label %if.end9 + +if.end9: ; preds = %if.then7, %if.end + %12 = load i64, i64* %bufsize.addr, align 8 + %cmp10 = icmp ugt i64 %12, 3 + br i1 %cmp10, label %if.then11, label %if.end13 + +if.then11: ; preds = %if.end9 + %13 = load i8*, i8** %buf.addr, align 8 + %arrayidx12 = getelementptr inbounds i8, i8* %13, i64 3 + store i8 110, i8* %arrayidx12, align 1 + br label %if.end13 + +if.end13: ; preds = %if.then11, %if.end9 + %14 = load i64, i64* %bufsize.addr, align 8 + %cmp14 = icmp ugt i64 %14, 4 + br i1 %cmp14, label %if.then15, label %if.end17 + +if.then15: ; preds = %if.end13 + %15 = load i8*, i8** %buf.addr, align 8 + %arrayidx16 = getelementptr inbounds i8, i8* %15, i64 4 + store i8 107, i8* %arrayidx16, align 1 + br label %if.end17 + +if.end17: ; preds = %if.then15, %if.end13 + %16 = load i64, i64* %bufsize.addr, align 8 + %cmp18 = icmp ugt i64 %16, 5 + %17 = load i64, i64* %bufsize.addr, align 8 + %cond = select i1 %cmp18, i64 5, i64 %17 + store i64 %cond, i64* %retval, align 8 + br label %return + +if.else: ; preds = %if.then + %call19 = call i32* @__errno_location() #25 + store i32 22, i32* %call19, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end20: ; preds = %entry + %18 = load i8*, i8** %path.addr, align 8 + %19 = load i8*, i8** %buf.addr, align 8 + %20 = load i64, i64* %bufsize.addr, align 8 + %call21 = call i64 (i64, ...) @syscall(i64 89, i8* %18, i8* %19, i64 %20) #11 + store i64 %call21, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end20, %if.else, %if.end17 + %21 = load i64, i64* %retval, align 8 + ret i64 %21 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @select(i32 %nfds, %struct.fd_set* %read, %struct.fd_set* %write, %struct.fd_set* %except, %struct.timespec* %timeout) #3 { +entry: + %retval = alloca i32, align 4 + %nfds.addr = alloca i32, align 4 + %read.addr = alloca %struct.fd_set*, align 8 + %write.addr = alloca %struct.fd_set*, align 8 + %except.addr = alloca %struct.fd_set*, align 8 + %timeout.addr = alloca %struct.timespec*, align 8 + %in_read = alloca %struct.fd_set, align 8 + %in_write = alloca %struct.fd_set, align 8 + %in_except = alloca %struct.fd_set, align 8 + %os_read = alloca %struct.fd_set, align 8 + %os_write = alloca %struct.fd_set, align 8 + %os_except = alloca %struct.fd_set, align 8 + %i = alloca i32, align 4 + %count = alloca i32, align 4 + %os_nfds = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %tv = alloca %struct.timespec, align 8 + %r = alloca i32, align 4 + %f182 = alloca %struct.exe_file_t*, align 8 + store i32 %nfds, i32* %nfds.addr, align 4 + store %struct.fd_set* %read, %struct.fd_set** %read.addr, align 8 + store %struct.fd_set* %write, %struct.fd_set** %write.addr, align 8 + store %struct.fd_set* %except, %struct.fd_set** %except.addr, align 8 + store %struct.timespec* %timeout, %struct.timespec** %timeout.addr, align 8 + store i32 0, i32* %count, align 4 + store i32 0, i32* %os_nfds, align 4 + %0 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %tobool = icmp ne %struct.fd_set* %0, null + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %entry + %1 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %2 = bitcast %struct.fd_set* %in_read to i8* + %3 = bitcast %struct.fd_set* %1 to i8* + %4 = call i8* @memcpy(i8* %2, i8* %3, i64 128) + %5 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %6 = bitcast %struct.fd_set* %5 to i8* + %7 = call i8* @memset(i8* %6, i32 0, i64 128) + br label %if.end + +if.else: ; preds = %entry + %8 = bitcast %struct.fd_set* %in_read to i8* + %9 = call i8* @memset(i8* %8, i32 0, i64 128) + br label %if.end + +if.end: ; preds = %if.else, %if.then + %10 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %tobool1 = icmp ne %struct.fd_set* %10, null + br i1 %tobool1, label %if.then2, label %if.else3 + +if.then2: ; preds = %if.end + %11 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %12 = bitcast %struct.fd_set* %in_write to i8* + %13 = bitcast %struct.fd_set* %11 to i8* + %14 = call i8* @memcpy(i8* %12, i8* %13, i64 128) + %15 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %16 = bitcast %struct.fd_set* %15 to i8* + %17 = call i8* @memset(i8* %16, i32 0, i64 128) + br label %if.end4 + +if.else3: ; preds = %if.end + %18 = bitcast %struct.fd_set* %in_write to i8* + %19 = call i8* @memset(i8* %18, i32 0, i64 128) + br label %if.end4 + +if.end4: ; preds = %if.else3, %if.then2 + %20 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %tobool5 = icmp ne %struct.fd_set* %20, null + br i1 %tobool5, label %if.then6, label %if.else7 + +if.then6: ; preds = %if.end4 + %21 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %22 = bitcast %struct.fd_set* %in_except to i8* + %23 = bitcast %struct.fd_set* %21 to i8* + %24 = call i8* @memcpy(i8* %22, i8* %23, i64 128) + %25 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %26 = bitcast %struct.fd_set* %25 to i8* + %27 = call i8* @memset(i8* %26, i32 0, i64 128) + br label %if.end8 + +if.else7: ; preds = %if.end4 + %28 = bitcast %struct.fd_set* %in_except to i8* + %29 = call i8* @memset(i8* %28, i32 0, i64 128) + br label %if.end8 + +if.end8: ; preds = %if.else7, %if.then6 + %30 = bitcast %struct.fd_set* %os_read to i8* + %31 = call i8* @memset(i8* %30, i32 0, i64 128) + %32 = bitcast %struct.fd_set* %os_write to i8* + %33 = call i8* @memset(i8* %32, i32 0, i64 128) + %34 = bitcast %struct.fd_set* %os_except to i8* + %35 = call i8* @memset(i8* %34, i32 0, i64 128) + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end8 + %36 = load i32, i32* %i, align 4 + %37 = load i32, i32* %nfds.addr, align 4 + %cmp = icmp slt i32 %36, %37 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %fds_bits = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_read, i32 0, i32 0 + %38 = load i32, i32* %i, align 4 + %div = sdiv i32 %38, 64 + %idxprom = sext i32 %div to i64 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits, i64 0, i64 %idxprom + %39 = load i64, i64* %arrayidx, align 8 + %40 = load i32, i32* %i, align 4 + %rem = srem i32 %40, 64 + %shl = shl i32 1, %rem + %conv = sext i32 %shl to i64 + %and = and i64 %39, %conv + %tobool9 = icmp ne i64 %and, 0 + br i1 %tobool9, label %if.then29, label %lor.lhs.false + +lor.lhs.false: ; preds = %for.body + %fds_bits10 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_write, i32 0, i32 0 + %41 = load i32, i32* %i, align 4 + %div11 = sdiv i32 %41, 64 + %idxprom12 = sext i32 %div11 to i64 + %arrayidx13 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits10, i64 0, i64 %idxprom12 + %42 = load i64, i64* %arrayidx13, align 8 + %43 = load i32, i32* %i, align 4 + %rem14 = srem i32 %43, 64 + %shl15 = shl i32 1, %rem14 + %conv16 = sext i32 %shl15 to i64 + %and17 = and i64 %42, %conv16 + %tobool18 = icmp ne i64 %and17, 0 + br i1 %tobool18, label %if.then29, label %lor.lhs.false19 + +lor.lhs.false19: ; preds = %lor.lhs.false + %fds_bits20 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_except, i32 0, i32 0 + %44 = load i32, i32* %i, align 4 + %div21 = sdiv i32 %44, 64 + %idxprom22 = sext i32 %div21 to i64 + %arrayidx23 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits20, i64 0, i64 %idxprom22 + %45 = load i64, i64* %arrayidx23, align 8 + %46 = load i32, i32* %i, align 4 + %rem24 = srem i32 %46, 64 + %shl25 = shl i32 1, %rem24 + %conv26 = sext i32 %shl25 to i64 + %and27 = and i64 %45, %conv26 + %tobool28 = icmp ne i64 %and27, 0 + br i1 %tobool28, label %if.then29, label %for.inc + +if.then29: ; preds = %lor.lhs.false19, %lor.lhs.false, %for.body + %47 = load i32, i32* %i, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %47) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %48 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool30 = icmp ne %struct.exe_file_t* %48, null + br i1 %tobool30, label %if.else33, label %if.then31 + +if.then31: ; preds = %if.then29 + %call32 = call i32* @__errno_location() #25 + store i32 9, i32* %call32, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else33: ; preds = %if.then29 + %49 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %49, i32 0, i32 3 + %50 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool34 = icmp ne %struct.exe_disk_file_t* %50, null + %fds_bits36 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_read, i32 0, i32 0 + %51 = load i32, i32* %i, align 4 + %div37 = sdiv i32 %51, 64 + %idxprom38 = sext i32 %div37 to i64 + %arrayidx39 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits36, i64 0, i64 %idxprom38 + %52 = load i64, i64* %arrayidx39, align 8 + %53 = load i32, i32* %i, align 4 + %rem40 = srem i32 %53, 64 + %shl41 = shl i32 1, %rem40 + %conv42 = sext i32 %shl41 to i64 + %and43 = and i64 %52, %conv42 + %tobool44 = icmp ne i64 %and43, 0 + br i1 %tobool34, label %if.then35, label %if.else92 + +if.then35: ; preds = %if.else33 + br i1 %tobool44, label %if.then45, label %if.end53 + +if.then45: ; preds = %if.then35 + %54 = load i32, i32* %i, align 4 + %rem46 = srem i32 %54, 64 + %shl47 = shl i32 1, %rem46 + %conv48 = sext i32 %shl47 to i64 + %55 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %fds_bits49 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %55, i32 0, i32 0 + %56 = load i32, i32* %i, align 4 + %div50 = sdiv i32 %56, 64 + %idxprom51 = sext i32 %div50 to i64 + %arrayidx52 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits49, i64 0, i64 %idxprom51 + %57 = load i64, i64* %arrayidx52, align 8 + %or = or i64 %57, %conv48 + store i64 %or, i64* %arrayidx52, align 8 + br label %if.end53 + +if.end53: ; preds = %if.then45, %if.then35 + %fds_bits54 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_write, i32 0, i32 0 + %58 = load i32, i32* %i, align 4 + %div55 = sdiv i32 %58, 64 + %idxprom56 = sext i32 %div55 to i64 + %arrayidx57 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits54, i64 0, i64 %idxprom56 + %59 = load i64, i64* %arrayidx57, align 8 + %60 = load i32, i32* %i, align 4 + %rem58 = srem i32 %60, 64 + %shl59 = shl i32 1, %rem58 + %conv60 = sext i32 %shl59 to i64 + %and61 = and i64 %59, %conv60 + %tobool62 = icmp ne i64 %and61, 0 + br i1 %tobool62, label %if.then63, label %if.end72 + +if.then63: ; preds = %if.end53 + %61 = load i32, i32* %i, align 4 + %rem64 = srem i32 %61, 64 + %shl65 = shl i32 1, %rem64 + %conv66 = sext i32 %shl65 to i64 + %62 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %fds_bits67 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %62, i32 0, i32 0 + %63 = load i32, i32* %i, align 4 + %div68 = sdiv i32 %63, 64 + %idxprom69 = sext i32 %div68 to i64 + %arrayidx70 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits67, i64 0, i64 %idxprom69 + %64 = load i64, i64* %arrayidx70, align 8 + %or71 = or i64 %64, %conv66 + store i64 %or71, i64* %arrayidx70, align 8 + br label %if.end72 + +if.end72: ; preds = %if.then63, %if.end53 + %fds_bits73 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_except, i32 0, i32 0 + %65 = load i32, i32* %i, align 4 + %div74 = sdiv i32 %65, 64 + %idxprom75 = sext i32 %div74 to i64 + %arrayidx76 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits73, i64 0, i64 %idxprom75 + %66 = load i64, i64* %arrayidx76, align 8 + %67 = load i32, i32* %i, align 4 + %rem77 = srem i32 %67, 64 + %shl78 = shl i32 1, %rem77 + %conv79 = sext i32 %shl78 to i64 + %and80 = and i64 %66, %conv79 + %tobool81 = icmp ne i64 %and80, 0 + br i1 %tobool81, label %if.then82, label %if.end91 + +if.then82: ; preds = %if.end72 + %68 = load i32, i32* %i, align 4 + %rem83 = srem i32 %68, 64 + %shl84 = shl i32 1, %rem83 + %conv85 = sext i32 %shl84 to i64 + %69 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %fds_bits86 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %69, i32 0, i32 0 + %70 = load i32, i32* %i, align 4 + %div87 = sdiv i32 %70, 64 + %idxprom88 = sext i32 %div87 to i64 + %arrayidx89 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits86, i64 0, i64 %idxprom88 + %71 = load i64, i64* %arrayidx89, align 8 + %or90 = or i64 %71, %conv85 + store i64 %or90, i64* %arrayidx89, align 8 + br label %if.end91 + +if.end91: ; preds = %if.then82, %if.end72 + %72 = load i32, i32* %count, align 4 + %inc = add nsw i32 %72, 1 + store i32 %inc, i32* %count, align 4 + br label %for.inc + +if.else92: ; preds = %if.else33 + br i1 %tobool44, label %if.then102, label %if.end112 + +if.then102: ; preds = %if.else92 + %73 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %73, i32 0, i32 0 + %74 = load i32, i32* %fd, align 8 + %rem103 = srem i32 %74, 64 + %shl104 = shl i32 1, %rem103 + %conv105 = sext i32 %shl104 to i64 + %fds_bits106 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_read, i32 0, i32 0 + %75 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd107 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %75, i32 0, i32 0 + %76 = load i32, i32* %fd107, align 8 + %div108 = sdiv i32 %76, 64 + %idxprom109 = sext i32 %div108 to i64 + %arrayidx110 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits106, i64 0, i64 %idxprom109 + %77 = load i64, i64* %arrayidx110, align 8 + %or111 = or i64 %77, %conv105 + store i64 %or111, i64* %arrayidx110, align 8 + br label %if.end112 + +if.end112: ; preds = %if.then102, %if.else92 + %fds_bits113 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_write, i32 0, i32 0 + %78 = load i32, i32* %i, align 4 + %div114 = sdiv i32 %78, 64 + %idxprom115 = sext i32 %div114 to i64 + %arrayidx116 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits113, i64 0, i64 %idxprom115 + %79 = load i64, i64* %arrayidx116, align 8 + %80 = load i32, i32* %i, align 4 + %rem117 = srem i32 %80, 64 + %shl118 = shl i32 1, %rem117 + %conv119 = sext i32 %shl118 to i64 + %and120 = and i64 %79, %conv119 + %tobool121 = icmp ne i64 %and120, 0 + br i1 %tobool121, label %if.then122, label %if.end133 + +if.then122: ; preds = %if.end112 + %81 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd123 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %81, i32 0, i32 0 + %82 = load i32, i32* %fd123, align 8 + %rem124 = srem i32 %82, 64 + %shl125 = shl i32 1, %rem124 + %conv126 = sext i32 %shl125 to i64 + %fds_bits127 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_write, i32 0, i32 0 + %83 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd128 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %83, i32 0, i32 0 + %84 = load i32, i32* %fd128, align 8 + %div129 = sdiv i32 %84, 64 + %idxprom130 = sext i32 %div129 to i64 + %arrayidx131 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits127, i64 0, i64 %idxprom130 + %85 = load i64, i64* %arrayidx131, align 8 + %or132 = or i64 %85, %conv126 + store i64 %or132, i64* %arrayidx131, align 8 + br label %if.end133 + +if.end133: ; preds = %if.then122, %if.end112 + %fds_bits134 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_except, i32 0, i32 0 + %86 = load i32, i32* %i, align 4 + %div135 = sdiv i32 %86, 64 + %idxprom136 = sext i32 %div135 to i64 + %arrayidx137 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits134, i64 0, i64 %idxprom136 + %87 = load i64, i64* %arrayidx137, align 8 + %88 = load i32, i32* %i, align 4 + %rem138 = srem i32 %88, 64 + %shl139 = shl i32 1, %rem138 + %conv140 = sext i32 %shl139 to i64 + %and141 = and i64 %87, %conv140 + %tobool142 = icmp ne i64 %and141, 0 + br i1 %tobool142, label %if.then143, label %if.end154 + +if.then143: ; preds = %if.end133 + %89 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd144 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %89, i32 0, i32 0 + %90 = load i32, i32* %fd144, align 8 + %rem145 = srem i32 %90, 64 + %shl146 = shl i32 1, %rem145 + %conv147 = sext i32 %shl146 to i64 + %fds_bits148 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_except, i32 0, i32 0 + %91 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd149 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %91, i32 0, i32 0 + %92 = load i32, i32* %fd149, align 8 + %div150 = sdiv i32 %92, 64 + %idxprom151 = sext i32 %div150 to i64 + %arrayidx152 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits148, i64 0, i64 %idxprom151 + %93 = load i64, i64* %arrayidx152, align 8 + %or153 = or i64 %93, %conv147 + store i64 %or153, i64* %arrayidx152, align 8 + br label %if.end154 + +if.end154: ; preds = %if.then143, %if.end133 + %94 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd155 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %94, i32 0, i32 0 + %95 = load i32, i32* %fd155, align 8 + %96 = load i32, i32* %os_nfds, align 4 + %cmp156 = icmp sge i32 %95, %96 + br i1 %cmp156, label %if.then158, label %for.inc + +if.then158: ; preds = %if.end154 + %97 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd159 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %97, i32 0, i32 0 + %98 = load i32, i32* %fd159, align 8 + %add = add nsw i32 %98, 1 + store i32 %add, i32* %os_nfds, align 4 + br label %for.inc + +for.inc: ; preds = %lor.lhs.false19, %if.end91, %if.then158, %if.end154 + %99 = load i32, i32* %i, align 4 + %inc164 = add nsw i32 %99, 1 + store i32 %inc164, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %100 = load i32, i32* %os_nfds, align 4 + %cmp165 = icmp sgt i32 %100, 0 + br i1 %cmp165, label %if.then167, label %if.end262 + +if.then167: ; preds = %for.end + %101 = bitcast %struct.timespec* %tv to i8* + %102 = call i8* @memset(i8* %101, i32 0, i64 16) + %103 = load i32, i32* %os_nfds, align 4 + %call168 = call i64 (i64, ...) @syscall(i64 23, i32 %103, %struct.fd_set* %os_read, %struct.fd_set* %os_write, %struct.fd_set* %os_except, %struct.timespec* %tv) #11 + %conv169 = trunc i64 %call168 to i32 + store i32 %conv169, i32* %r, align 4 + %104 = load i32, i32* %r, align 4 + %cmp170 = icmp eq i32 %104, -1 + br i1 %cmp170, label %if.then172, label %if.else176 + +if.then172: ; preds = %if.then167 + %105 = load i32, i32* %count, align 4 + %tobool173 = icmp ne i32 %105, 0 + br i1 %tobool173, label %if.end262, label %if.then174 + +if.then174: ; preds = %if.then172 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else176: ; preds = %if.then167 + %106 = load i32, i32* %r, align 4 + %107 = load i32, i32* %count, align 4 + %add177 = add nsw i32 %107, %106 + store i32 %add177, i32* %count, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond178 + +for.cond178: ; preds = %for.inc258, %if.else176 + %108 = load i32, i32* %i, align 4 + %109 = load i32, i32* %nfds.addr, align 4 + %cmp179 = icmp slt i32 %108, %109 + br i1 %cmp179, label %for.body181, label %if.end262 + +for.body181: ; preds = %for.cond178 + %110 = load i32, i32* %i, align 4 + %call183 = call %struct.exe_file_t* @__get_file(i32 %110) + store %struct.exe_file_t* %call183, %struct.exe_file_t** %f182, align 8 + %111 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %tobool184 = icmp ne %struct.exe_file_t* %111, null + br i1 %tobool184, label %land.lhs.true, label %for.inc258 + +land.lhs.true: ; preds = %for.body181 + %112 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %dfile185 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %112, i32 0, i32 3 + %113 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile185, align 8 + %tobool186 = icmp ne %struct.exe_disk_file_t* %113, null + br i1 %tobool186, label %for.inc258, label %if.then187 + +if.then187: ; preds = %land.lhs.true + %114 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %tobool188 = icmp ne %struct.fd_set* %114, null + br i1 %tobool188, label %land.lhs.true189, label %if.end210 + +land.lhs.true189: ; preds = %if.then187 + %fds_bits190 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_read, i32 0, i32 0 + %115 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd191 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %115, i32 0, i32 0 + %116 = load i32, i32* %fd191, align 8 + %div192 = sdiv i32 %116, 64 + %idxprom193 = sext i32 %div192 to i64 + %arrayidx194 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits190, i64 0, i64 %idxprom193 + %117 = load i64, i64* %arrayidx194, align 8 + %118 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd195 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %118, i32 0, i32 0 + %119 = load i32, i32* %fd195, align 8 + %rem196 = srem i32 %119, 64 + %shl197 = shl i32 1, %rem196 + %conv198 = sext i32 %shl197 to i64 + %and199 = and i64 %117, %conv198 + %tobool200 = icmp ne i64 %and199, 0 + br i1 %tobool200, label %if.then201, label %if.end210 + +if.then201: ; preds = %land.lhs.true189 + %120 = load i32, i32* %i, align 4 + %rem202 = srem i32 %120, 64 + %shl203 = shl i32 1, %rem202 + %conv204 = sext i32 %shl203 to i64 + %121 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %fds_bits205 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %121, i32 0, i32 0 + %122 = load i32, i32* %i, align 4 + %div206 = sdiv i32 %122, 64 + %idxprom207 = sext i32 %div206 to i64 + %arrayidx208 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits205, i64 0, i64 %idxprom207 + %123 = load i64, i64* %arrayidx208, align 8 + %or209 = or i64 %123, %conv204 + store i64 %or209, i64* %arrayidx208, align 8 + br label %if.end210 + +if.end210: ; preds = %if.then201, %land.lhs.true189, %if.then187 + %124 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %tobool211 = icmp ne %struct.fd_set* %124, null + br i1 %tobool211, label %land.lhs.true212, label %if.end233 + +land.lhs.true212: ; preds = %if.end210 + %fds_bits213 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_write, i32 0, i32 0 + %125 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd214 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %125, i32 0, i32 0 + %126 = load i32, i32* %fd214, align 8 + %div215 = sdiv i32 %126, 64 + %idxprom216 = sext i32 %div215 to i64 + %arrayidx217 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits213, i64 0, i64 %idxprom216 + %127 = load i64, i64* %arrayidx217, align 8 + %128 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd218 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %128, i32 0, i32 0 + %129 = load i32, i32* %fd218, align 8 + %rem219 = srem i32 %129, 64 + %shl220 = shl i32 1, %rem219 + %conv221 = sext i32 %shl220 to i64 + %and222 = and i64 %127, %conv221 + %tobool223 = icmp ne i64 %and222, 0 + br i1 %tobool223, label %if.then224, label %if.end233 + +if.then224: ; preds = %land.lhs.true212 + %130 = load i32, i32* %i, align 4 + %rem225 = srem i32 %130, 64 + %shl226 = shl i32 1, %rem225 + %conv227 = sext i32 %shl226 to i64 + %131 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %fds_bits228 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %131, i32 0, i32 0 + %132 = load i32, i32* %i, align 4 + %div229 = sdiv i32 %132, 64 + %idxprom230 = sext i32 %div229 to i64 + %arrayidx231 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits228, i64 0, i64 %idxprom230 + %133 = load i64, i64* %arrayidx231, align 8 + %or232 = or i64 %133, %conv227 + store i64 %or232, i64* %arrayidx231, align 8 + br label %if.end233 + +if.end233: ; preds = %if.then224, %land.lhs.true212, %if.end210 + %134 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %tobool234 = icmp ne %struct.fd_set* %134, null + br i1 %tobool234, label %land.lhs.true235, label %for.inc258 + +land.lhs.true235: ; preds = %if.end233 + %fds_bits236 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_except, i32 0, i32 0 + %135 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd237 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %135, i32 0, i32 0 + %136 = load i32, i32* %fd237, align 8 + %div238 = sdiv i32 %136, 64 + %idxprom239 = sext i32 %div238 to i64 + %arrayidx240 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits236, i64 0, i64 %idxprom239 + %137 = load i64, i64* %arrayidx240, align 8 + %138 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd241 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %138, i32 0, i32 0 + %139 = load i32, i32* %fd241, align 8 + %rem242 = srem i32 %139, 64 + %shl243 = shl i32 1, %rem242 + %conv244 = sext i32 %shl243 to i64 + %and245 = and i64 %137, %conv244 + %tobool246 = icmp ne i64 %and245, 0 + br i1 %tobool246, label %if.then247, label %for.inc258 + +if.then247: ; preds = %land.lhs.true235 + %140 = load i32, i32* %i, align 4 + %rem248 = srem i32 %140, 64 + %shl249 = shl i32 1, %rem248 + %conv250 = sext i32 %shl249 to i64 + %141 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %fds_bits251 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %141, i32 0, i32 0 + %142 = load i32, i32* %i, align 4 + %div252 = sdiv i32 %142, 64 + %idxprom253 = sext i32 %div252 to i64 + %arrayidx254 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits251, i64 0, i64 %idxprom253 + %143 = load i64, i64* %arrayidx254, align 8 + %or255 = or i64 %143, %conv250 + store i64 %or255, i64* %arrayidx254, align 8 + br label %for.inc258 + +for.inc258: ; preds = %for.body181, %land.lhs.true, %if.then247, %land.lhs.true235, %if.end233 + %144 = load i32, i32* %i, align 4 + %inc259 = add nsw i32 %144, 1 + store i32 %inc259, i32* %i, align 4 + br label %for.cond178 + +if.end262: ; preds = %if.then172, %for.cond178, %for.end + %145 = load i32, i32* %count, align 4 + store i32 %145, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end262, %if.then174, %if.then31 + %146 = load i32, i32* %retval, align 4 + ret i32 %146 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chroot(i8* nonnull %path) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %0, i64 0 + %1 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call = call i32* @__errno_location() #25 + store i32 2, i32* %call, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %path.addr, align 8 + %arrayidx2 = getelementptr inbounds i8, i8* %2, i64 0 + %3 = load i8, i8* %arrayidx2, align 1 + %conv3 = sext i8 %3 to i32 + %cmp4 = icmp eq i32 %conv3, 47 + br i1 %cmp4, label %land.lhs.true, label %if.end11 + +land.lhs.true: ; preds = %if.end + %4 = load i8*, i8** %path.addr, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %4, i64 1 + %5 = load i8, i8* %arrayidx6, align 1 + %conv7 = sext i8 %5 to i32 + %cmp8 = icmp eq i32 %conv7, 0 + br i1 %cmp8, label %if.then10, label %if.end11 + +if.then10: ; preds = %land.lhs.true + store i32 0, i32* %retval, align 4 + br label %return + +if.end11: ; preds = %land.lhs.true, %if.end + call void @gs_warning(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.24, i64 0, i64 0)) + %call12 = call i32* @__errno_location() #25 + store i32 2, i32* %call12, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end11, %if.then10, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @open(i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i8*, i8** %pathname.addr, align 8 + %8 = load i32, i32* %flags.addr, align 4 + %9 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_open(i8* %7, i32 %8, i32 %9) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @openat(i32 %fd, i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %fd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i32, i32* %fd.addr, align 4 + %8 = load i8*, i8** %pathname.addr, align 8 + %9 = load i32, i32* %flags.addr, align 4 + %10 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_openat(i32 %7, i8* %8, i32 %9, i32 %10) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @lseek(i32 %fd, i64 %off, i32 %whence) #3 { +entry: + %fd.addr = alloca i32, align 4 + %off.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %off, i64* %off.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %off.addr, align 8 + %2 = load i32, i32* %whence.addr, align 4 + %call = call i64 @__fd_lseek(i32 %0, i64 %1, i32 %2) + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__xstat(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__stat64_to_stat(%struct.stat64* %a, %struct.stat64* %b) #3 { +entry: + %a.addr = alloca %struct.stat64*, align 8 + %b.addr = alloca %struct.stat64*, align 8 + store %struct.stat64* %a, %struct.stat64** %a.addr, align 8 + store %struct.stat64* %b, %struct.stat64** %b.addr, align 8 + %0 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_dev = getelementptr inbounds %struct.stat64, %struct.stat64* %0, i32 0, i32 0 + %1 = load i64, i64* %st_dev, align 8 + %2 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_dev1 = getelementptr inbounds %struct.stat64, %struct.stat64* %2, i32 0, i32 0 + store i64 %1, i64* %st_dev1, align 8 + %3 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 1 + %4 = load i64, i64* %st_ino, align 8 + %5 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_ino2 = getelementptr inbounds %struct.stat64, %struct.stat64* %5, i32 0, i32 1 + store i64 %4, i64* %st_ino2, align 8 + %6 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 3 + %7 = load i32, i32* %st_mode, align 8 + %8 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_mode3 = getelementptr inbounds %struct.stat64, %struct.stat64* %8, i32 0, i32 3 + store i32 %7, i32* %st_mode3, align 8 + %9 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_nlink = getelementptr inbounds %struct.stat64, %struct.stat64* %9, i32 0, i32 2 + %10 = load i64, i64* %st_nlink, align 8 + %11 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_nlink4 = getelementptr inbounds %struct.stat64, %struct.stat64* %11, i32 0, i32 2 + store i64 %10, i64* %st_nlink4, align 8 + %12 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_uid = getelementptr inbounds %struct.stat64, %struct.stat64* %12, i32 0, i32 4 + %13 = load i32, i32* %st_uid, align 4 + %14 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_uid5 = getelementptr inbounds %struct.stat64, %struct.stat64* %14, i32 0, i32 4 + store i32 %13, i32* %st_uid5, align 4 + %15 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_gid = getelementptr inbounds %struct.stat64, %struct.stat64* %15, i32 0, i32 5 + %16 = load i32, i32* %st_gid, align 8 + %17 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_gid6 = getelementptr inbounds %struct.stat64, %struct.stat64* %17, i32 0, i32 5 + store i32 %16, i32* %st_gid6, align 8 + %18 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_rdev = getelementptr inbounds %struct.stat64, %struct.stat64* %18, i32 0, i32 7 + %19 = load i64, i64* %st_rdev, align 8 + %20 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_rdev7 = getelementptr inbounds %struct.stat64, %struct.stat64* %20, i32 0, i32 7 + store i64 %19, i64* %st_rdev7, align 8 + %21 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_size = getelementptr inbounds %struct.stat64, %struct.stat64* %21, i32 0, i32 8 + %22 = load i64, i64* %st_size, align 8 + %23 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_size8 = getelementptr inbounds %struct.stat64, %struct.stat64* %23, i32 0, i32 8 + store i64 %22, i64* %st_size8, align 8 + %24 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_atim = getelementptr inbounds %struct.stat64, %struct.stat64* %24, i32 0, i32 11 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim, i32 0, i32 0 + %25 = load i64, i64* %tv_sec, align 8 + %26 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_atim9 = getelementptr inbounds %struct.stat64, %struct.stat64* %26, i32 0, i32 11 + %tv_sec10 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim9, i32 0, i32 0 + store i64 %25, i64* %tv_sec10, align 8 + %27 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_mtim = getelementptr inbounds %struct.stat64, %struct.stat64* %27, i32 0, i32 12 + %tv_sec11 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim, i32 0, i32 0 + %28 = load i64, i64* %tv_sec11, align 8 + %29 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_mtim12 = getelementptr inbounds %struct.stat64, %struct.stat64* %29, i32 0, i32 12 + %tv_sec13 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim12, i32 0, i32 0 + store i64 %28, i64* %tv_sec13, align 8 + %30 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_ctim = getelementptr inbounds %struct.stat64, %struct.stat64* %30, i32 0, i32 13 + %tv_sec14 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim, i32 0, i32 0 + %31 = load i64, i64* %tv_sec14, align 8 + %32 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_ctim15 = getelementptr inbounds %struct.stat64, %struct.stat64* %32, i32 0, i32 13 + %tv_sec16 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim15, i32 0, i32 0 + store i64 %31, i64* %tv_sec16, align 8 + %33 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_blksize = getelementptr inbounds %struct.stat64, %struct.stat64* %33, i32 0, i32 9 + %34 = load i64, i64* %st_blksize, align 8 + %35 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_blksize17 = getelementptr inbounds %struct.stat64, %struct.stat64* %35, i32 0, i32 9 + store i64 %34, i64* %st_blksize17, align 8 + %36 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_blocks = getelementptr inbounds %struct.stat64, %struct.stat64* %36, i32 0, i32 10 + %37 = load i64, i64* %st_blocks, align 8 + %38 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_blocks18 = getelementptr inbounds %struct.stat64, %struct.stat64* %38, i32 0, i32 10 + store i64 %37, i64* %st_blocks18, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @stat(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__lxstat(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @lstat(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fxstat(i32 %vers, i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %vers, i32* %vers.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstat(i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @ftruncate(i32 %fd, i64 %length) #3 { +entry: + %fd.addr = alloca i32, align 4 + %length.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %length, i64* %length.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %length.addr, align 8 + %call = call i32 @__fd_ftruncate(i32 %0, i64 %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @statfs(i8* nonnull %path, %struct.statfs* nonnull %buf32) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf32.addr = alloca %struct.statfs*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.statfs* %buf32, %struct.statfs** %buf32.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.statfs*, %struct.statfs** %buf32.addr, align 8 + %call = call i32 @__fd_statfs(i8* %0, %struct.statfs* %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @getdents(i32 %fd, %struct.dirent64* %dirp, i64 %nbytes) #3 { +entry: + %fd.addr = alloca i32, align 4 + %dirp.addr = alloca %struct.dirent64*, align 8 + %nbytes.addr = alloca i64, align 8 + %dp64 = alloca %struct.dirent64*, align 8 + %res = alloca i64, align 8 + %end = alloca %struct.dirent64*, align 8 + %dp = alloca %struct.dirent64*, align 8 + %name_len = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.dirent64* %dirp, %struct.dirent64** %dirp.addr, align 8 + store i64 %nbytes, i64* %nbytes.addr, align 8 + %0 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %1 = bitcast %struct.dirent64* %0 to %struct.dirent64* + store %struct.dirent64* %1, %struct.dirent64** %dp64, align 8 + %2 = load i32, i32* %fd.addr, align 4 + %3 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %4 = load i64, i64* %nbytes.addr, align 8 + %conv = trunc i64 %4 to i32 + %call = call i32 @__fd_getdents(i32 %2, %struct.dirent64* %3, i32 %conv) + %conv1 = sext i32 %call to i64 + store i64 %conv1, i64* %res, align 8 + %5 = load i64, i64* %res, align 8 + %cmp = icmp sgt i64 %5, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %6 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %7 = bitcast %struct.dirent64* %6 to i8* + %8 = load i64, i64* %res, align 8 + %add.ptr = getelementptr inbounds i8, i8* %7, i64 %8 + %9 = bitcast i8* %add.ptr to %struct.dirent64* + store %struct.dirent64* %9, %struct.dirent64** %end, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.then + %10 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %11 = load %struct.dirent64*, %struct.dirent64** %end, align 8 + %cmp3 = icmp ult %struct.dirent64* %10, %11 + br i1 %cmp3, label %while.body, label %if.end + +while.body: ; preds = %while.cond + %12 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %13 = bitcast %struct.dirent64* %12 to %struct.dirent64* + store %struct.dirent64* %13, %struct.dirent64** %dp, align 8 + %14 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_reclen = getelementptr inbounds %struct.dirent64, %struct.dirent64* %14, i32 0, i32 2 + %15 = load i16, i16* %d_reclen, align 8 + %conv5 = zext i16 %15 to i64 + %sub = sub i64 %conv5, ptrtoint ([256 x i8]* getelementptr inbounds (%struct.dirent64, %struct.dirent64* null, i32 0, i32 4) to i64) + store i64 %sub, i64* %name_len, align 8 + %16 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_ino = getelementptr inbounds %struct.dirent64, %struct.dirent64* %16, i32 0, i32 0 + %17 = load i64, i64* %d_ino, align 8 + %18 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_ino6 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %18, i32 0, i32 0 + store i64 %17, i64* %d_ino6, align 8 + %19 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_off = getelementptr inbounds %struct.dirent64, %struct.dirent64* %19, i32 0, i32 1 + %20 = load i64, i64* %d_off, align 8 + %21 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_off7 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %21, i32 0, i32 1 + store i64 %20, i64* %d_off7, align 8 + %22 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_reclen8 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %22, i32 0, i32 2 + %23 = load i16, i16* %d_reclen8, align 8 + %24 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_reclen9 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %24, i32 0, i32 2 + store i16 %23, i16* %d_reclen9, align 8 + %25 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_type = getelementptr inbounds %struct.dirent64, %struct.dirent64* %25, i32 0, i32 3 + %26 = load i8, i8* %d_type, align 2 + %27 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_type10 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %27, i32 0, i32 3 + store i8 %26, i8* %d_type10, align 2 + %28 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_name = getelementptr inbounds %struct.dirent64, %struct.dirent64* %28, i32 0, i32 4 + %arraydecay = getelementptr inbounds [256 x i8], [256 x i8]* %d_name, i64 0, i64 0 + %29 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_name11 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %29, i32 0, i32 4 + %arraydecay12 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name11, i64 0, i64 0 + %30 = load i64, i64* %name_len, align 8 + %31 = call i8* @memmove(i8* %arraydecay, i8* %arraydecay12, i64 %30) + %32 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %33 = bitcast %struct.dirent64* %32 to i8* + %34 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_reclen13 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %34, i32 0, i32 2 + %35 = load i16, i16* %d_reclen13, align 8 + %conv14 = zext i16 %35 to i32 + %idx.ext = sext i32 %conv14 to i64 + %add.ptr15 = getelementptr inbounds i8, i8* %33, i64 %idx.ext + %36 = bitcast i8* %add.ptr15 to %struct.dirent64* + store %struct.dirent64* %36, %struct.dirent64** %dp64, align 8 + br label %while.cond + +if.end: ; preds = %while.cond, %entry + %37 = load i64, i64* %res, align 8 + ret i64 %37 +} + +; Function Attrs: argmemonly nounwind willreturn +declare void @llvm.memmove.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i1 immarg) #9 + +; Function Attrs: noinline nounwind uwtable +define dso_local void @klee_init_env(i32* %argcPtr, i8*** %argvPtr) #3 { +entry: + %argcPtr.addr = alloca i32*, align 8 + %argvPtr.addr = alloca i8***, align 8 + %argc = alloca i32, align 4 + %argv = alloca i8**, align 8 + %new_argc = alloca i32, align 4 + %n_args = alloca i32, align 4 + %new_argv = alloca [1024 x i8*], align 16 + %max_len = alloca i32, align 4 + %min_argvs = alloca i32, align 4 + %max_argvs = alloca i32, align 4 + %sym_files = alloca i32, align 4 + %sym_file_len = alloca i32, align 4 + %sym_stdin_len = alloca i32, align 4 + %sym_stdout_flag = alloca i32, align 4 + %save_all_writes_flag = alloca i32, align 4 + %fd_fail = alloca i32, align 4 + %final_argv = alloca i8**, align 8 + %sym_arg_name = alloca [6 x i8], align 1 + %sym_arg_num = alloca i32, align 4 + %k = alloca i32, align 4 + %i = alloca i32, align 4 + %msg = alloca i8*, align 8 + %msg40 = alloca i8*, align 8 + %msg105 = alloca i8*, align 8 + %msg145 = alloca i8*, align 8 + %msg215 = alloca i8*, align 8 + store i32* %argcPtr, i32** %argcPtr.addr, align 8 + store i8*** %argvPtr, i8**** %argvPtr.addr, align 8 + %0 = load i32*, i32** %argcPtr.addr, align 8 + %1 = load i32, i32* %0, align 4 + store i32 %1, i32* %argc, align 4 + %2 = load i8***, i8**** %argvPtr.addr, align 8 + %3 = load i8**, i8*** %2, align 8 + store i8** %3, i8*** %argv, align 8 + store i32 0, i32* %new_argc, align 4 + store i32 0, i32* %sym_files, align 4 + store i32 0, i32* %sym_file_len, align 4 + store i32 0, i32* %sym_stdin_len, align 4 + store i32 0, i32* %sym_stdout_flag, align 4 + store i32 0, i32* %save_all_writes_flag, align 4 + store i32 0, i32* %fd_fail, align 4 + %4 = bitcast [6 x i8]* %sym_arg_name to i8* + %5 = call i8* @memcpy(i8* %4, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @__const.klee_init_env.sym_arg_name, i32 0, i32 0), i64 6) + store i32 0, i32* %sym_arg_num, align 4 + store i32 0, i32* %k, align 4 + %arrayidx = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 5 + store i8 0, i8* %arrayidx, align 1 + %6 = load i32, i32* %argc, align 4 + %cmp = icmp eq i32 %6, 2 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %7 = load i8**, i8*** %argv, align 8 + %arrayidx1 = getelementptr inbounds i8*, i8** %7, i64 1 + %8 = load i8*, i8** %arrayidx1, align 8 + %call = call i32 @__streq(i8* %8, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.29, i64 0, i64 0)) + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + call void @__emit_error(i8* getelementptr inbounds ([964 x i8], [964 x i8]* @.str.1.30, i64 0, i64 0)) + br label %if.end + +if.end: ; preds = %if.then, %land.lhs.true, %entry + br label %while.cond + +while.cond: ; preds = %if.end239, %if.end + %9 = load i32, i32* %k, align 4 + %10 = load i32, i32* %argc, align 4 + %cmp2 = icmp slt i32 %9, %10 + br i1 %cmp2, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %11 = load i8**, i8*** %argv, align 8 + %12 = load i32, i32* %k, align 4 + %idxprom = sext i32 %12 to i64 + %arrayidx3 = getelementptr inbounds i8*, i8** %11, i64 %idxprom + %13 = load i8*, i8** %arrayidx3, align 8 + %call4 = call i32 @__streq(i8* %13, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.2.31, i64 0, i64 0)) + %tobool5 = icmp ne i32 %call4, 0 + br i1 %tobool5, label %if.then10, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.body + %14 = load i8**, i8*** %argv, align 8 + %15 = load i32, i32* %k, align 4 + %idxprom6 = sext i32 %15 to i64 + %arrayidx7 = getelementptr inbounds i8*, i8** %14, i64 %idxprom6 + %16 = load i8*, i8** %arrayidx7, align 8 + %call8 = call i32 @__streq(i8* %16, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.32, i64 0, i64 0)) + %tobool9 = icmp ne i32 %call8, 0 + br i1 %tobool9, label %if.then10, label %if.else + +if.then10: ; preds = %lor.lhs.false, %while.body + store i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.4.33, i64 0, i64 0), i8** %msg, align 8 + %17 = load i32, i32* %k, align 4 + %inc = add nsw i32 %17, 1 + store i32 %inc, i32* %k, align 4 + %18 = load i32, i32* %argc, align 4 + %cmp11 = icmp eq i32 %inc, %18 + br i1 %cmp11, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.then10 + %19 = load i8*, i8** %msg, align 8 + call void @__emit_error(i8* %19) + br label %if.end13 + +if.end13: ; preds = %if.then12, %if.then10 + %20 = load i8**, i8*** %argv, align 8 + %21 = load i32, i32* %k, align 4 + %inc14 = add nsw i32 %21, 1 + store i32 %inc14, i32* %k, align 4 + %idxprom15 = sext i32 %21 to i64 + %arrayidx16 = getelementptr inbounds i8*, i8** %20, i64 %idxprom15 + %22 = load i8*, i8** %arrayidx16, align 8 + %23 = load i8*, i8** %msg, align 8 + %call17 = call i64 @__str_to_int(i8* %22, i8* %23) + %conv = trunc i64 %call17 to i32 + store i32 %conv, i32* %max_len, align 4 + %24 = load i32, i32* %sym_arg_num, align 4 + %cmp18 = icmp ugt i32 %24, 99 + br i1 %cmp18, label %if.then20, label %if.end21 + +if.then20: ; preds = %if.end13 + call void @__emit_error(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.5.34, i64 0, i64 0)) + br label %if.end21 + +if.end21: ; preds = %if.then20, %if.end13 + %25 = load i32, i32* %sym_arg_num, align 4 + %div = udiv i32 %25, 10 + %add = add i32 48, %div + %conv22 = trunc i32 %add to i8 + %arrayidx23 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 3 + store i8 %conv22, i8* %arrayidx23, align 1 + %26 = load i32, i32* %sym_arg_num, align 4 + %rem = urem i32 %26, 10 + %add24 = add i32 48, %rem + %conv25 = trunc i32 %add24 to i8 + %arrayidx26 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 4 + store i8 %conv25, i8* %arrayidx26, align 1 + %27 = load i32, i32* %sym_arg_num, align 4 + %inc27 = add i32 %27, 1 + store i32 %inc27, i32* %sym_arg_num, align 4 + %arraydecay = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %28 = load i32, i32* %max_len, align 4 + %arraydecay28 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 0 + %call29 = call i8* @__get_sym_str(i32 %28, i8* %arraydecay28) + call void @__add_arg(i32* %new_argc, i8** %arraydecay, i8* %call29, i32 1024) + br label %if.end239 + +if.else: ; preds = %lor.lhs.false + %29 = load i8**, i8*** %argv, align 8 + %30 = load i32, i32* %k, align 4 + %idxprom30 = sext i32 %30 to i64 + %arrayidx31 = getelementptr inbounds i8*, i8** %29, i64 %idxprom30 + %31 = load i8*, i8** %arrayidx31, align 8 + %call32 = call i32 @__streq(i8* %31, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.6.35, i64 0, i64 0)) + %tobool33 = icmp ne i32 %call32, 0 + br i1 %tobool33, label %if.then39, label %lor.lhs.false34 + +lor.lhs.false34: ; preds = %if.else + %32 = load i8**, i8*** %argv, align 8 + %33 = load i32, i32* %k, align 4 + %idxprom35 = sext i32 %33 to i64 + %arrayidx36 = getelementptr inbounds i8*, i8** %32, i64 %idxprom35 + %34 = load i8*, i8** %arrayidx36, align 8 + %call37 = call i32 @__streq(i8* %34, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.7.36, i64 0, i64 0)) + %tobool38 = icmp ne i32 %call37, 0 + br i1 %tobool38, label %if.then39, label %if.else94 + +if.then39: ; preds = %lor.lhs.false34, %if.else + store i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.8.37, i64 0, i64 0), i8** %msg40, align 8 + %35 = load i32, i32* %k, align 4 + %add41 = add nsw i32 %35, 3 + %36 = load i32, i32* %argc, align 4 + %cmp42 = icmp sge i32 %add41, %36 + br i1 %cmp42, label %if.then44, label %if.end45 + +if.then44: ; preds = %if.then39 + %37 = load i8*, i8** %msg40, align 8 + call void @__emit_error(i8* %37) + br label %if.end45 + +if.end45: ; preds = %if.then44, %if.then39 + %38 = load i32, i32* %k, align 4 + %inc46 = add nsw i32 %38, 1 + store i32 %inc46, i32* %k, align 4 + %39 = load i8**, i8*** %argv, align 8 + %40 = load i32, i32* %k, align 4 + %inc47 = add nsw i32 %40, 1 + store i32 %inc47, i32* %k, align 4 + %idxprom48 = sext i32 %40 to i64 + %arrayidx49 = getelementptr inbounds i8*, i8** %39, i64 %idxprom48 + %41 = load i8*, i8** %arrayidx49, align 8 + %42 = load i8*, i8** %msg40, align 8 + %call50 = call i64 @__str_to_int(i8* %41, i8* %42) + %conv51 = trunc i64 %call50 to i32 + store i32 %conv51, i32* %min_argvs, align 4 + %43 = load i8**, i8*** %argv, align 8 + %44 = load i32, i32* %k, align 4 + %inc52 = add nsw i32 %44, 1 + store i32 %inc52, i32* %k, align 4 + %idxprom53 = sext i32 %44 to i64 + %arrayidx54 = getelementptr inbounds i8*, i8** %43, i64 %idxprom53 + %45 = load i8*, i8** %arrayidx54, align 8 + %46 = load i8*, i8** %msg40, align 8 + %call55 = call i64 @__str_to_int(i8* %45, i8* %46) + %conv56 = trunc i64 %call55 to i32 + store i32 %conv56, i32* %max_argvs, align 4 + %47 = load i8**, i8*** %argv, align 8 + %48 = load i32, i32* %k, align 4 + %inc57 = add nsw i32 %48, 1 + store i32 %inc57, i32* %k, align 4 + %idxprom58 = sext i32 %48 to i64 + %arrayidx59 = getelementptr inbounds i8*, i8** %47, i64 %idxprom58 + %49 = load i8*, i8** %arrayidx59, align 8 + %50 = load i8*, i8** %msg40, align 8 + %call60 = call i64 @__str_to_int(i8* %49, i8* %50) + %conv61 = trunc i64 %call60 to i32 + store i32 %conv61, i32* %max_len, align 4 + %51 = load i32, i32* %min_argvs, align 4 + %52 = load i32, i32* %max_argvs, align 4 + %cmp62 = icmp ugt i32 %51, %52 + br i1 %cmp62, label %if.then70, label %lor.lhs.false64 + +lor.lhs.false64: ; preds = %if.end45 + %53 = load i32, i32* %min_argvs, align 4 + %cmp65 = icmp eq i32 %53, 0 + %54 = load i32, i32* %max_argvs, align 4 + %cmp68 = icmp eq i32 %54, 0 + %or.cond = and i1 %cmp65, %cmp68 + br i1 %or.cond, label %if.then70, label %if.end71 + +if.then70: ; preds = %lor.lhs.false64, %if.end45 + call void @__emit_error(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.9.38, i64 0, i64 0)) + br label %if.end71 + +if.end71: ; preds = %if.then70, %lor.lhs.false64 + %55 = load i32, i32* %min_argvs, align 4 + %56 = load i32, i32* %max_argvs, align 4 + %add72 = add i32 %56, 1 + %call73 = call i32 @gs_range(i32 %55, i32 %add72, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.10.39, i64 0, i64 0)) + store i32 %call73, i32* %n_args, align 4 + %57 = load i32, i32* %sym_arg_num, align 4 + %58 = load i32, i32* %max_argvs, align 4 + %add74 = add i32 %57, %58 + %cmp75 = icmp ugt i32 %add74, 99 + br i1 %cmp75, label %if.then77, label %if.end78 + +if.then77: ; preds = %if.end71 + call void @__emit_error(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.5.34, i64 0, i64 0)) + br label %if.end78 + +if.end78: ; preds = %if.then77, %if.end71 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end78 + %59 = load i32, i32* %i, align 4 + %60 = load i32, i32* %n_args, align 4 + %cmp79 = icmp slt i32 %59, %60 + br i1 %cmp79, label %for.body, label %if.end239 + +for.body: ; preds = %for.cond + %61 = load i32, i32* %sym_arg_num, align 4 + %div81 = udiv i32 %61, 10 + %add82 = add i32 48, %div81 + %conv83 = trunc i32 %add82 to i8 + %arrayidx84 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 3 + store i8 %conv83, i8* %arrayidx84, align 1 + %62 = load i32, i32* %sym_arg_num, align 4 + %rem85 = urem i32 %62, 10 + %add86 = add i32 48, %rem85 + %conv87 = trunc i32 %add86 to i8 + %arrayidx88 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 4 + store i8 %conv87, i8* %arrayidx88, align 1 + %63 = load i32, i32* %sym_arg_num, align 4 + %inc89 = add i32 %63, 1 + store i32 %inc89, i32* %sym_arg_num, align 4 + %arraydecay90 = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %64 = load i32, i32* %max_len, align 4 + %arraydecay91 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 0 + %call92 = call i8* @__get_sym_str(i32 %64, i8* %arraydecay91) + call void @__add_arg(i32* %new_argc, i8** %arraydecay90, i8* %call92, i32 1024) + %65 = load i32, i32* %i, align 4 + %inc93 = add nsw i32 %65, 1 + store i32 %inc93, i32* %i, align 4 + br label %for.cond + +if.else94: ; preds = %lor.lhs.false34 + %66 = load i8**, i8*** %argv, align 8 + %67 = load i32, i32* %k, align 4 + %idxprom95 = sext i32 %67 to i64 + %arrayidx96 = getelementptr inbounds i8*, i8** %66, i64 %idxprom95 + %68 = load i8*, i8** %arrayidx96, align 8 + %call97 = call i32 @__streq(i8* %68, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.11.40, i64 0, i64 0)) + %tobool98 = icmp ne i32 %call97, 0 + br i1 %tobool98, label %if.then104, label %lor.lhs.false99 + +lor.lhs.false99: ; preds = %if.else94 + %69 = load i8**, i8*** %argv, align 8 + %70 = load i32, i32* %k, align 4 + %idxprom100 = sext i32 %70 to i64 + %arrayidx101 = getelementptr inbounds i8*, i8** %69, i64 %idxprom100 + %71 = load i8*, i8** %arrayidx101, align 8 + %call102 = call i32 @__streq(i8* %71, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.12.41, i64 0, i64 0)) + %tobool103 = icmp ne i32 %call102, 0 + br i1 %tobool103, label %if.then104, label %if.else134 + +if.then104: ; preds = %lor.lhs.false99, %if.else94 + store i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.13.42, i64 0, i64 0), i8** %msg105, align 8 + %72 = load i32, i32* %k, align 4 + %add106 = add nsw i32 %72, 2 + %73 = load i32, i32* %argc, align 4 + %cmp107 = icmp sge i32 %add106, %73 + br i1 %cmp107, label %if.then109, label %if.end110 + +if.then109: ; preds = %if.then104 + %74 = load i8*, i8** %msg105, align 8 + call void @__emit_error(i8* %74) + br label %if.end110 + +if.end110: ; preds = %if.then109, %if.then104 + %75 = load i32, i32* %sym_files, align 4 + %cmp111 = icmp ne i32 %75, 0 + br i1 %cmp111, label %if.then113, label %if.end114 + +if.then113: ; preds = %if.end110 + call void @__emit_error(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.14.43, i64 0, i64 0)) + br label %if.end114 + +if.end114: ; preds = %if.then113, %if.end110 + %76 = load i32, i32* %k, align 4 + %inc115 = add nsw i32 %76, 1 + store i32 %inc115, i32* %k, align 4 + %77 = load i8**, i8*** %argv, align 8 + %78 = load i32, i32* %k, align 4 + %inc116 = add nsw i32 %78, 1 + store i32 %inc116, i32* %k, align 4 + %idxprom117 = sext i32 %78 to i64 + %arrayidx118 = getelementptr inbounds i8*, i8** %77, i64 %idxprom117 + %79 = load i8*, i8** %arrayidx118, align 8 + %80 = load i8*, i8** %msg105, align 8 + %call119 = call i64 @__str_to_int(i8* %79, i8* %80) + %conv120 = trunc i64 %call119 to i32 + store i32 %conv120, i32* %sym_files, align 4 + %81 = load i8**, i8*** %argv, align 8 + %82 = load i32, i32* %k, align 4 + %inc121 = add nsw i32 %82, 1 + store i32 %inc121, i32* %k, align 4 + %idxprom122 = sext i32 %82 to i64 + %arrayidx123 = getelementptr inbounds i8*, i8** %81, i64 %idxprom122 + %83 = load i8*, i8** %arrayidx123, align 8 + %84 = load i8*, i8** %msg105, align 8 + %call124 = call i64 @__str_to_int(i8* %83, i8* %84) + %conv125 = trunc i64 %call124 to i32 + store i32 %conv125, i32* %sym_file_len, align 4 + %85 = load i32, i32* %sym_files, align 4 + %cmp126 = icmp eq i32 %85, 0 + br i1 %cmp126, label %if.then128, label %if.end129 + +if.then128: ; preds = %if.end114 + call void @__emit_error(i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.15.44, i64 0, i64 0)) + br label %if.end129 + +if.end129: ; preds = %if.then128, %if.end114 + %86 = load i32, i32* %sym_file_len, align 4 + %cmp130 = icmp eq i32 %86, 0 + br i1 %cmp130, label %if.then132, label %if.end239 + +if.then132: ; preds = %if.end129 + call void @__emit_error(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.16.45, i64 0, i64 0)) + br label %if.end239 + +if.else134: ; preds = %lor.lhs.false99 + %87 = load i8**, i8*** %argv, align 8 + %88 = load i32, i32* %k, align 4 + %idxprom135 = sext i32 %88 to i64 + %arrayidx136 = getelementptr inbounds i8*, i8** %87, i64 %idxprom135 + %89 = load i8*, i8** %arrayidx136, align 8 + %call137 = call i32 @__streq(i8* %89, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.17.46, i64 0, i64 0)) + %tobool138 = icmp ne i32 %call137, 0 + br i1 %tobool138, label %if.then144, label %lor.lhs.false139 + +lor.lhs.false139: ; preds = %if.else134 + %90 = load i8**, i8*** %argv, align 8 + %91 = load i32, i32* %k, align 4 + %idxprom140 = sext i32 %91 to i64 + %arrayidx141 = getelementptr inbounds i8*, i8** %90, i64 %idxprom140 + %92 = load i8*, i8** %arrayidx141, align 8 + %call142 = call i32 @__streq(i8* %92, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.18.47, i64 0, i64 0)) + %tobool143 = icmp ne i32 %call142, 0 + br i1 %tobool143, label %if.then144, label %if.else156 + +if.then144: ; preds = %lor.lhs.false139, %if.else134 + store i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.19.48, i64 0, i64 0), i8** %msg145, align 8 + %93 = load i32, i32* %k, align 4 + %inc146 = add nsw i32 %93, 1 + store i32 %inc146, i32* %k, align 4 + %94 = load i32, i32* %argc, align 4 + %cmp147 = icmp eq i32 %inc146, %94 + br i1 %cmp147, label %if.then149, label %if.end150 + +if.then149: ; preds = %if.then144 + %95 = load i8*, i8** %msg145, align 8 + call void @__emit_error(i8* %95) + br label %if.end150 + +if.end150: ; preds = %if.then149, %if.then144 + %96 = load i8**, i8*** %argv, align 8 + %97 = load i32, i32* %k, align 4 + %inc151 = add nsw i32 %97, 1 + store i32 %inc151, i32* %k, align 4 + %idxprom152 = sext i32 %97 to i64 + %arrayidx153 = getelementptr inbounds i8*, i8** %96, i64 %idxprom152 + %98 = load i8*, i8** %arrayidx153, align 8 + %99 = load i8*, i8** %msg145, align 8 + %call154 = call i64 @__str_to_int(i8* %98, i8* %99) + %conv155 = trunc i64 %call154 to i32 + store i32 %conv155, i32* %sym_stdin_len, align 4 + br label %if.end239 + +if.else156: ; preds = %lor.lhs.false139 + %100 = load i8**, i8*** %argv, align 8 + %101 = load i32, i32* %k, align 4 + %idxprom157 = sext i32 %101 to i64 + %arrayidx158 = getelementptr inbounds i8*, i8** %100, i64 %idxprom157 + %102 = load i8*, i8** %arrayidx158, align 8 + %call159 = call i32 @__streq(i8* %102, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.20.49, i64 0, i64 0)) + %tobool160 = icmp ne i32 %call159, 0 + br i1 %tobool160, label %if.then166, label %lor.lhs.false161 + +lor.lhs.false161: ; preds = %if.else156 + %103 = load i8**, i8*** %argv, align 8 + %104 = load i32, i32* %k, align 4 + %idxprom162 = sext i32 %104 to i64 + %arrayidx163 = getelementptr inbounds i8*, i8** %103, i64 %idxprom162 + %105 = load i8*, i8** %arrayidx163, align 8 + %call164 = call i32 @__streq(i8* %105, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.21.50, i64 0, i64 0)) + %tobool165 = icmp ne i32 %call164, 0 + br i1 %tobool165, label %if.then166, label %if.else168 + +if.then166: ; preds = %lor.lhs.false161, %if.else156 + store i32 1, i32* %sym_stdout_flag, align 4 + %106 = load i32, i32* %k, align 4 + %inc167 = add nsw i32 %106, 1 + store i32 %inc167, i32* %k, align 4 + br label %if.end239 + +if.else168: ; preds = %lor.lhs.false161 + %107 = load i8**, i8*** %argv, align 8 + %108 = load i32, i32* %k, align 4 + %idxprom169 = sext i32 %108 to i64 + %arrayidx170 = getelementptr inbounds i8*, i8** %107, i64 %idxprom169 + %109 = load i8*, i8** %arrayidx170, align 8 + %call171 = call i32 @__streq(i8* %109, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.22.51, i64 0, i64 0)) + %tobool172 = icmp ne i32 %call171, 0 + br i1 %tobool172, label %if.then178, label %lor.lhs.false173 + +lor.lhs.false173: ; preds = %if.else168 + %110 = load i8**, i8*** %argv, align 8 + %111 = load i32, i32* %k, align 4 + %idxprom174 = sext i32 %111 to i64 + %arrayidx175 = getelementptr inbounds i8*, i8** %110, i64 %idxprom174 + %112 = load i8*, i8** %arrayidx175, align 8 + %call176 = call i32 @__streq(i8* %112, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23.52, i64 0, i64 0)) + %tobool177 = icmp ne i32 %call176, 0 + br i1 %tobool177, label %if.then178, label %if.else180 + +if.then178: ; preds = %lor.lhs.false173, %if.else168 + store i32 1, i32* %save_all_writes_flag, align 4 + %113 = load i32, i32* %k, align 4 + %inc179 = add nsw i32 %113, 1 + store i32 %inc179, i32* %k, align 4 + br label %if.end239 + +if.else180: ; preds = %lor.lhs.false173 + %114 = load i8**, i8*** %argv, align 8 + %115 = load i32, i32* %k, align 4 + %idxprom181 = sext i32 %115 to i64 + %arrayidx182 = getelementptr inbounds i8*, i8** %114, i64 %idxprom181 + %116 = load i8*, i8** %arrayidx182, align 8 + %call183 = call i32 @__streq(i8* %116, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.24.53, i64 0, i64 0)) + %tobool184 = icmp ne i32 %call183, 0 + br i1 %tobool184, label %if.then190, label %lor.lhs.false185 + +lor.lhs.false185: ; preds = %if.else180 + %117 = load i8**, i8*** %argv, align 8 + %118 = load i32, i32* %k, align 4 + %idxprom186 = sext i32 %118 to i64 + %arrayidx187 = getelementptr inbounds i8*, i8** %117, i64 %idxprom186 + %119 = load i8*, i8** %arrayidx187, align 8 + %call188 = call i32 @__streq(i8* %119, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.25.54, i64 0, i64 0)) + %tobool189 = icmp ne i32 %call188, 0 + br i1 %tobool189, label %if.then190, label %if.else192 + +if.then190: ; preds = %lor.lhs.false185, %if.else180 + store i32 1, i32* %fd_fail, align 4 + %120 = load i32, i32* %k, align 4 + %inc191 = add nsw i32 %120, 1 + store i32 %inc191, i32* %k, align 4 + br label %if.end239 + +if.else192: ; preds = %lor.lhs.false185 + %121 = load i8**, i8*** %argv, align 8 + %122 = load i32, i32* %k, align 4 + %idxprom193 = sext i32 %122 to i64 + %arrayidx194 = getelementptr inbounds i8*, i8** %121, i64 %idxprom193 + %123 = load i8*, i8** %arrayidx194, align 8 + %call195 = call i32 @__streq(i8* %123, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.26.55, i64 0, i64 0)) + %tobool196 = icmp ne i32 %call195, 0 + br i1 %tobool196, label %if.then202, label %lor.lhs.false197 + +lor.lhs.false197: ; preds = %if.else192 + %124 = load i8**, i8*** %argv, align 8 + %125 = load i32, i32* %k, align 4 + %idxprom198 = sext i32 %125 to i64 + %arrayidx199 = getelementptr inbounds i8*, i8** %124, i64 %idxprom198 + %126 = load i8*, i8** %arrayidx199, align 8 + %call200 = call i32 @__streq(i8* %126, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.27.56, i64 0, i64 0)) + %tobool201 = icmp ne i32 %call200, 0 + br i1 %tobool201, label %if.then202, label %if.else204 + +if.then202: ; preds = %lor.lhs.false197, %if.else192 + %127 = load i32, i32* %k, align 4 + %add203 = add nsw i32 %127, 2 + store i32 %add203, i32* %k, align 4 + br label %if.end239 + +if.else204: ; preds = %lor.lhs.false197 + %128 = load i8**, i8*** %argv, align 8 + %129 = load i32, i32* %k, align 4 + %idxprom205 = sext i32 %129 to i64 + %arrayidx206 = getelementptr inbounds i8*, i8** %128, i64 %idxprom205 + %130 = load i8*, i8** %arrayidx206, align 8 + %call207 = call i32 @__streq(i8* %130, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.28.57, i64 0, i64 0)) + %tobool208 = icmp ne i32 %call207, 0 + br i1 %tobool208, label %if.then214, label %lor.lhs.false209 + +lor.lhs.false209: ; preds = %if.else204 + %131 = load i8**, i8*** %argv, align 8 + %132 = load i32, i32* %k, align 4 + %idxprom210 = sext i32 %132 to i64 + %arrayidx211 = getelementptr inbounds i8*, i8** %131, i64 %idxprom210 + %133 = load i8*, i8** %arrayidx211, align 8 + %call212 = call i32 @__streq(i8* %133, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.29.58, i64 0, i64 0)) + %tobool213 = icmp ne i32 %call212, 0 + br i1 %tobool213, label %if.then214, label %if.else226 + +if.then214: ; preds = %lor.lhs.false209, %if.else204 + store i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.30, i64 0, i64 0), i8** %msg215, align 8 + %134 = load i32, i32* %k, align 4 + %inc216 = add nsw i32 %134, 1 + store i32 %inc216, i32* %k, align 4 + %135 = load i32, i32* %argc, align 4 + %cmp217 = icmp eq i32 %inc216, %135 + br i1 %cmp217, label %if.then219, label %if.end220 + +if.then219: ; preds = %if.then214 + %136 = load i8*, i8** %msg215, align 8 + call void @__emit_error(i8* %136) + br label %if.end220 + +if.end220: ; preds = %if.then219, %if.then214 + %137 = load i8**, i8*** %argv, align 8 + %138 = load i32, i32* %k, align 4 + %inc221 = add nsw i32 %138, 1 + store i32 %inc221, i32* %k, align 4 + %idxprom222 = sext i32 %138 to i64 + %arrayidx223 = getelementptr inbounds i8*, i8** %137, i64 %idxprom222 + %139 = load i8*, i8** %arrayidx223, align 8 + %140 = load i8*, i8** %msg215, align 8 + %call224 = call i64 @__str_to_int(i8* %139, i8* %140) + %conv225 = trunc i64 %call224 to i32 + store i32 %conv225, i32* %fd_fail, align 4 + br label %if.end239 + +if.else226: ; preds = %lor.lhs.false209 + %arraydecay227 = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %141 = load i8**, i8*** %argv, align 8 + %142 = load i32, i32* %k, align 4 + %inc228 = add nsw i32 %142, 1 + store i32 %inc228, i32* %k, align 4 + %idxprom229 = sext i32 %142 to i64 + %arrayidx230 = getelementptr inbounds i8*, i8** %141, i64 %idxprom229 + %143 = load i8*, i8** %arrayidx230, align 8 + call void @__add_arg(i32* %new_argc, i8** %arraydecay227, i8* %143, i32 1024) + br label %if.end239 + +if.end239: ; preds = %for.cond, %if.end150, %if.then178, %if.then202, %if.else226, %if.end220, %if.then190, %if.then166, %if.end129, %if.then132, %if.end21 + br label %while.cond + +while.end: ; preds = %while.cond + %144 = load i32, i32* %new_argc, align 4 + %add240 = add nsw i32 %144, 1 + %conv241 = sext i32 %add240 to i64 + %mul = mul i64 %conv241, 8 + %call242 = call noalias i8* @malloc(i64 %mul) #11 + %145 = bitcast i8* %call242 to i8** + store i8** %145, i8*** %final_argv, align 8 + %146 = load i8**, i8*** %final_argv, align 8 + %tobool243 = icmp ne i8** %146, null + br i1 %tobool243, label %if.end245, label %if.then244 + +if.then244: ; preds = %while.end + call void @__emit_error(i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.31, i64 0, i64 0)) + br label %if.end245 + +if.end245: ; preds = %if.then244, %while.end + %147 = load i8**, i8*** %final_argv, align 8 + %148 = bitcast i8** %147 to i8* + %arraydecay246 = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %149 = bitcast i8** %arraydecay246 to i8* + %150 = load i32, i32* %new_argc, align 4 + %conv247 = sext i32 %150 to i64 + %mul248 = mul i64 %conv247, 8 + %151 = call i8* @memcpy(i8* %148, i8* %149, i64 %mul248) + %152 = load i8**, i8*** %final_argv, align 8 + %153 = load i32, i32* %new_argc, align 4 + %idxprom249 = sext i32 %153 to i64 + %arrayidx250 = getelementptr inbounds i8*, i8** %152, i64 %idxprom249 + store i8* null, i8** %arrayidx250, align 8 + %154 = load i32, i32* %new_argc, align 4 + %155 = load i32*, i32** %argcPtr.addr, align 8 + store i32 %154, i32* %155, align 4 + %156 = load i8**, i8*** %final_argv, align 8 + %157 = load i8***, i8**** %argvPtr.addr, align 8 + store i8** %156, i8*** %157, align 8 + %158 = load i32, i32* %sym_files, align 4 + %159 = load i32, i32* %sym_file_len, align 4 + %160 = load i32, i32* %sym_stdin_len, align 4 + %161 = load i32, i32* %sym_stdout_flag, align 4 + %162 = load i32, i32* %save_all_writes_flag, align 4 + %163 = load i32, i32* %fd_fail, align 4 + call void @klee_init_fds(i32 %158, i32 %159, i32 %160, i32 %161, i32 %162, i32 %163) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__streq(i8* %a, i8* %b) #3 { +entry: + %retval = alloca i32, align 4 + %a.addr = alloca i8*, align 8 + %b.addr = alloca i8*, align 8 + store i8* %a, i8** %a.addr, align 8 + store i8* %b, i8** %b.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %0 = load i8*, i8** %a.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %2 = load i8*, i8** %b.addr, align 8 + %3 = load i8, i8* %2, align 1 + %conv1 = sext i8 %3 to i32 + %cmp = icmp eq i32 %conv, %conv1 + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i8*, i8** %a.addr, align 8 + %5 = load i8, i8* %4, align 1 + %tobool = icmp ne i8 %5, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %while.body + store i32 1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %while.body + %6 = load i8*, i8** %a.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %a.addr, align 8 + %7 = load i8*, i8** %b.addr, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %7, i32 1 + store i8* %incdec.ptr3, i8** %b.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %while.end, %if.then + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__emit_error(i8* %msg) #3 { +entry: + %msg.addr = alloca i8*, align 8 + store i8* %msg, i8** %msg.addr, align 8 + %0 = load i8*, i8** %msg.addr, align 8 + call void @gs_report_error.59(i8* getelementptr inbounds ([88 x i8], [88 x i8]* @.str.32, i64 0, i64 0), i32 21, i8* %0, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.33, i64 0, i64 0)) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @__str_to_int(i8* %s, i8* %error_msg) #3 { +entry: + %s.addr = alloca i8*, align 8 + %error_msg.addr = alloca i8*, align 8 + %res = alloca i64, align 8 + %c = alloca i8, align 1 + store i8* %s, i8** %s.addr, align 8 + store i8* %error_msg, i8** %error_msg.addr, align 8 + store i64 0, i64* %res, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i8, i8* %0, align 1 + %tobool = icmp ne i8 %1, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %2 = load i8*, i8** %error_msg.addr, align 8 + call void @__emit_error(i8* %2) + br label %if.end + +if.end: ; preds = %if.then, %entry + br label %while.cond + +while.cond: ; preds = %if.end9, %if.end + %3 = load i8*, i8** %s.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %s.addr, align 8 + %4 = load i8, i8* %3, align 1 + store i8 %4, i8* %c, align 1 + %tobool1 = icmp ne i8 %4, 0 + br i1 %tobool1, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %5 = load i8, i8* %c, align 1 + %conv = sext i8 %5 to i32 + %cmp = icmp sge i32 %conv, 48 + br i1 %cmp, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %while.body + %6 = load i8, i8* %c, align 1 + %conv3 = sext i8 %6 to i32 + %cmp4 = icmp sle i32 %conv3, 57 + br i1 %cmp4, label %if.then6, label %if.else + +if.then6: ; preds = %land.lhs.true + %7 = load i64, i64* %res, align 8 + %mul = mul nsw i64 %7, 10 + %8 = load i8, i8* %c, align 1 + %conv7 = sext i8 %8 to i32 + %sub = sub nsw i32 %conv7, 48 + %conv8 = sext i32 %sub to i64 + %add = add nsw i64 %mul, %conv8 + store i64 %add, i64* %res, align 8 + br label %if.end9 + +if.else: ; preds = %land.lhs.true, %while.body + %9 = load i8*, i8** %error_msg.addr, align 8 + call void @__emit_error(i8* %9) + br label %if.end9 + +if.end9: ; preds = %if.else, %if.then6 + br label %while.cond + +while.end: ; preds = %while.cond + %10 = load i64, i64* %res, align 8 + ret i64 %10 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @__get_sym_str(i32 %numChars, i8* %name) #3 { +entry: + %numChars.addr = alloca i32, align 4 + %name.addr = alloca i8*, align 8 + %i = alloca i32, align 4 + %s = alloca i8*, align 8 + store i32 %numChars, i32* %numChars.addr, align 4 + store i8* %name, i8** %name.addr, align 8 + %0 = load i32, i32* %numChars.addr, align 4 + %add = add nsw i32 %0, 1 + %conv = sext i32 %add to i64 + %call = call noalias i8* @malloc(i64 %conv) #11 + store i8* %call, i8** %s, align 8 + %1 = load i8*, i8** %s, align 8 + %tobool = icmp ne i8* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @__emit_error(i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.31, i64 0, i64 0)) + br label %if.end + +if.end: ; preds = %if.then, %entry + %2 = load i8*, i8** %s, align 8 + %3 = load i32, i32* %numChars.addr, align 4 + %add1 = add nsw i32 %3, 1 + %conv2 = sext i32 %add1 to i64 + %4 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %2, i64 %conv2, i8* %4) + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %5 = load i32, i32* %i, align 4 + %6 = load i32, i32* %numChars.addr, align 4 + %cmp = icmp slt i32 %5, %6 + %7 = load i8*, i8** %s, align 8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %8 = load i8*, i8** %s, align 8 + %9 = load i32, i32* %i, align 4 + %idxprom = sext i32 %9 to i64 + %arrayidx = getelementptr inbounds i8, i8* %8, i64 %idxprom + %10 = load i8, i8* %arrayidx, align 1 + %call4 = call i32 @__isprint(i8 signext %10) + %tobool5 = icmp ne i32 %call4, 0 + call void @gs_posix_prefer_cex(i8* %7, i1 zeroext %tobool5) + %11 = load i32, i32* %i, align 4 + %inc = add nsw i32 %11, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %12 = load i32, i32* %numChars.addr, align 4 + %idxprom6 = sext i32 %12 to i64 + %arrayidx7 = getelementptr inbounds i8, i8* %7, i64 %idxprom6 + store i8 0, i8* %arrayidx7, align 1 + %13 = load i8*, i8** %s, align 8 + ret i8* %13 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__add_arg(i32* %argc, i8** %argv, i8* %arg, i32 %argcMax) #3 { +entry: + %argc.addr = alloca i32*, align 8 + %argv.addr = alloca i8**, align 8 + %arg.addr = alloca i8*, align 8 + %argcMax.addr = alloca i32, align 4 + store i32* %argc, i32** %argc.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i32 %argcMax, i32* %argcMax.addr, align 4 + %0 = load i32*, i32** %argc.addr, align 8 + %1 = load i32, i32* %0, align 4 + %2 = load i32, i32* %argcMax.addr, align 4 + %cmp = icmp eq i32 %1, %2 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + call void @__emit_error(i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.35, i64 0, i64 0)) + br label %if.end + +if.else: ; preds = %entry + %3 = load i8*, i8** %arg.addr, align 8 + %4 = load i8**, i8*** %argv.addr, align 8 + %5 = load i32*, i32** %argc.addr, align 8 + %6 = load i32, i32* %5, align 4 + %idxprom = sext i32 %6 to i64 + %arrayidx = getelementptr inbounds i8*, i8** %4, i64 %idxprom + store i8* %3, i8** %arrayidx, align 8 + %7 = load i32*, i32** %argc.addr, align 8 + %8 = load i32, i32* %7, align 4 + %inc = add nsw i32 %8, 1 + store i32 %inc, i32* %7, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @gs_range(i32 %begin, i32 %end, i8* %name) #3 { +entry: + %begin.addr = alloca i32, align 4 + %end.addr = alloca i32, align 4 + %name.addr = alloca i8*, align 8 + %x = alloca i32, align 4 + store i32 %begin, i32* %begin.addr, align 4 + store i32 %end, i32* %end.addr, align 4 + store i8* %name, i8** %name.addr, align 8 + %0 = bitcast i32* %x to i8* + %1 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %0, i64 4, i8* %1) + %2 = load i32, i32* %x, align 4 + %3 = load i32, i32* %begin.addr, align 4 + %cmp = icmp sge i32 %2, %3 + call void @gs_assume(i1 zeroext %cmp) + %4 = load i32, i32* %x, align 4 + %5 = load i32, i32* %end.addr, align 4 + %cmp1 = icmp slt i32 %4, %5 + call void @gs_assume(i1 zeroext %cmp1) + %6 = load i32, i32* %x, align 4 + ret i32 %6 +} + +declare dso_local void @make_symbolic(i8*, i64, ...) #5 + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__isprint(i8 signext %c) #3 { +entry: + %c.addr = alloca i8, align 1 + store i8 %c, i8* %c.addr, align 1 + %0 = load i8, i8* %c.addr, align 1 + %conv = sext i8 %0 to i32 + %cmp = icmp sle i32 32, %conv + %conv1 = zext i1 %cmp to i32 + %1 = load i8, i8* %c.addr, align 1 + %conv2 = sext i8 %1 to i32 + %cmp3 = icmp sle i32 %conv2, 126 + %conv4 = zext i1 %cmp3 to i32 + %and = and i32 %conv1, %conv4 + ret i32 %and +} + +declare dso_local void @gs_posix_prefer_cex(i8*, i1 zeroext) #5 + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error.59(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.34, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__user_main(i32 %argcPtr, i8** %argvPtr, i8** %envp) #3 { +entry: + %argcPtr.addr = alloca i32, align 4 + %argvPtr.addr = alloca i8**, align 8 + %envp.addr = alloca i8**, align 8 + store i32 %argcPtr, i32* %argcPtr.addr, align 4 + store i8** %argvPtr, i8*** %argvPtr.addr, align 8 + store i8** %envp, i8*** %envp.addr, align 8 + call void @klee_init_env(i32* %argcPtr.addr, i8*** %argvPtr.addr) + %0 = load i32, i32* %argcPtr.addr, align 4 + %1 = load i8**, i8*** %argvPtr.addr, align 8 + %2 = load i8**, i8*** %envp.addr, align 8 + %call = call i32 bitcast (i32 (i32, i8**)* @__klee_posix_wrapped_main to i32 (i32, i8**, i8**)*)(i32 %0, i8** %1, i8** %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind readnone uwtable +declare i32* @__errno_location() #12 + +; Function Attrs: noinline nounwind readnone uwtable +define weak i32* @__h_errno_location() #12 { +entry: + ret i32* @h_errno +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @___path_search(i8* %tmpl, i64 %tmpl_len, i8* %dir, i8* %pfx) #0 { +entry: + %retval = alloca i32, align 4 + %tmpl.addr = alloca i8*, align 8 + %tmpl_len.addr = alloca i64, align 8 + %dir.addr = alloca i8*, align 8 + %pfx.addr = alloca i8*, align 8 + %dlen = alloca i64, align 8 + %plen = alloca i64, align 8 + store i8* %tmpl, i8** %tmpl.addr, align 8 + store i64 %tmpl_len, i64* %tmpl_len.addr, align 8 + store i8* %dir, i8** %dir.addr, align 8 + store i8* %pfx, i8** %pfx.addr, align 8 + %0 = load i8*, i8** %pfx.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %lor.lhs.false, label %if.then + +lor.lhs.false: ; preds = %entry + %1 = load i8*, i8** %pfx.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %tobool1 = icmp ne i8 %2, 0 + br i1 %tobool1, label %if.else, label %if.then + +if.then: ; preds = %lor.lhs.false, %entry + store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.68, i64 0, i64 0), i8** %pfx.addr, align 8 + store i64 4, i64* %plen, align 8 + br label %if.end3 + +if.else: ; preds = %lor.lhs.false + %3 = load i8*, i8** %pfx.addr, align 8 + %call = call i64 @strlen(i8* %3) #20 + store i64 %call, i64* %plen, align 8 + %4 = load i64, i64* %plen, align 8 + %cmp = icmp ugt i64 %4, 5 + %spec.store.select = select i1 %cmp, i64 5, i64 %call + store i64 %spec.store.select, i64* %plen, align 8 + br label %if.end3 + +if.end3: ; preds = %if.else, %if.then + %5 = load i8*, i8** %dir.addr, align 8 + %cmp4 = icmp eq i8* %5, null + br i1 %cmp4, label %if.then5, label %if.end18 + +if.then5: ; preds = %if.end3 + %call6 = call i32 @direxists(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0)) #18 + %tobool7 = icmp ne i32 %call6, 0 + br i1 %tobool7, label %if.then8, label %if.else9 + +if.then8: ; preds = %if.then5 + store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0), i8** %dir.addr, align 8 + br label %if.end18 + +if.else9: ; preds = %if.then5 + %call10 = call i32 @strcmp(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0)) #20 + %cmp11 = icmp ne i32 %call10, 0 + br i1 %cmp11, label %land.lhs.true, label %if.else15 + +land.lhs.true: ; preds = %if.else9 + %call12 = call i32 @direxists(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0)) #18 + %tobool13 = icmp ne i32 %call12, 0 + br i1 %tobool13, label %if.then14, label %if.else15 + +if.then14: ; preds = %land.lhs.true + store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0), i8** %dir.addr, align 8 + br label %if.end18 + +if.else15: ; preds = %land.lhs.true, %if.else9 + store i32 2, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %if.then8, %if.then14, %if.end3 + %6 = load i8*, i8** %dir.addr, align 8 + %call19 = call i64 @strlen(i8* %6) #20 + store i64 %call19, i64* %dlen, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end18 + %7 = load i64, i64* %dlen, align 8 + %cmp20 = icmp ugt i64 %7, 1 + br i1 %cmp20, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %8 = load i8*, i8** %dir.addr, align 8 + %9 = load i64, i64* %dlen, align 8 + %sub = sub i64 %9, 1 + %arrayidx21 = getelementptr inbounds i8, i8* %8, i64 %sub + %10 = load i8, i8* %arrayidx21, align 1 + %conv = sext i8 %10 to i32 + %cmp22 = icmp eq i32 %conv, 47 + br i1 %cmp22, label %while.body, label %while.end + +while.body: ; preds = %land.rhs + %11 = load i64, i64* %dlen, align 8 + %dec = add i64 %11, -1 + store i64 %dec, i64* %dlen, align 8 + br label %while.cond + +while.end: ; preds = %while.cond, %land.rhs + %12 = load i64, i64* %tmpl_len.addr, align 8 + %13 = load i64, i64* %dlen, align 8 + %add = add i64 %13, 1 + %14 = load i64, i64* %plen, align 8 + %add24 = add i64 %add, %14 + %add25 = add i64 %add24, 6 + %add26 = add i64 %add25, 1 + %cmp27 = icmp ult i64 %12, %add26 + br i1 %cmp27, label %if.then29, label %if.end30 + +if.then29: ; preds = %while.end + store i32 22, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end30: ; preds = %while.end + %15 = load i8*, i8** %tmpl.addr, align 8 + %16 = load i64, i64* %dlen, align 8 + %17 = load i8*, i8** %dir.addr, align 8 + %18 = load i64, i64* %plen, align 8 + %19 = load i8*, i8** %pfx.addr, align 8 + %call31 = call i32 (i8*, i8*, ...) @sprintf(i8* %15, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.2.70, i64 0, i64 0), i64 %16, i8* %17, i64 %18, i8* %19) #19 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end30, %if.then29, %if.else15 + %20 = load i32, i32* %retval, align 4 + ret i32 %20 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @direxists(i8* %dir) #0 { +entry: + %dir.addr = alloca i8*, align 8 + %buf = alloca %struct.stat.192, align 8 + store i8* %dir, i8** %dir.addr, align 8 + %0 = load i8*, i8** %dir.addr, align 8 + %call = call i32 bitcast (i32 (i8*, %struct.stat64*)* @stat to i32 (i8*, %struct.stat.192*)*)(i8* %0, %struct.stat.192* %buf) #19 + %cmp = icmp eq i32 %call, 0 + %st_mode = getelementptr inbounds %struct.stat.192, %struct.stat.192* %buf, i32 0, i32 3 + %1 = load i32, i32* %st_mode, align 8 + %and = and i32 %1, 61440 + %cmp1 = icmp eq i32 %and, 16384 + %2 = select i1 %cmp, i1 %cmp1, i1 false + %land.ext = zext i1 %2 to i32 + ret i32 %land.ext +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__gen_tempname(i8* %tmpl, i32 %kind) #0 { +entry: + %retval = alloca i32, align 4 + %tmpl.addr = alloca i8*, align 8 + %kind.addr = alloca i32, align 4 + %XXXXXX = alloca i8*, align 8 + %i = alloca i32, align 4 + %fd = alloca i32, align 4 + %save_errno = alloca i32, align 4 + %randomness = alloca [6 x i8], align 1 + %len = alloca i64, align 8 + %j = alloca i32, align 4 + %st = alloca %struct.stat.192, align 8 + store i8* %tmpl, i8** %tmpl.addr, align 8 + store i32 %kind, i32* %kind.addr, align 4 + %0 = load i32, i32* @errno, align 4 + store i32 %0, i32* %save_errno, align 4 + %1 = load i8*, i8** %tmpl.addr, align 8 + %call = call i64 @strlen(i8* %1) #20 + store i64 %call, i64* %len, align 8 + %2 = load i8*, i8** %tmpl.addr, align 8 + %3 = load i64, i64* %len, align 8 + %add.ptr = getelementptr inbounds i8, i8* %2, i64 %3 + %add.ptr1 = getelementptr inbounds i8, i8* %add.ptr, i64 -6 + store i8* %add.ptr1, i8** %XXXXXX, align 8 + %4 = load i64, i64* %len, align 8 + %cmp = icmp ult i64 %4, 6 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %5 = load i8*, i8** %XXXXXX, align 8 + %call2 = call i32 @strcmp(i8* %5, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.3.73, i64 0, i64 0)) #20 + %tobool = icmp ne i32 %call2, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %lor.lhs.false, %entry + store i32 22, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %lor.lhs.false + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc44, %if.end + %6 = load i32, i32* %i, align 4 + %cmp3 = icmp ult i32 %6, 238328 + br i1 %cmp3, label %for.body, label %for.end46 + +for.body: ; preds = %for.cond + %arraydecay = getelementptr inbounds [6 x i8], [6 x i8]* %randomness, i64 0, i64 0 + %call4 = call i32 @fillrand(i8* %arraydecay, i32 6) #18 + %conv = zext i32 %call4 to i64 + %cmp5 = icmp ne i64 %conv, 6 + br i1 %cmp5, label %if.then7, label %if.end9 + +if.then7: ; preds = %for.body + %arraydecay8 = getelementptr inbounds [6 x i8], [6 x i8]* %randomness, i64 0, i64 0 + call void @brain_damaged_fillrand(i8* %arraydecay8, i32 6) #18 + br label %if.end9 + +if.end9: ; preds = %if.then7, %for.body + store i32 0, i32* %j, align 4 + br label %for.cond10 + +for.cond10: ; preds = %for.body14, %if.end9 + %7 = load i32, i32* %j, align 4 + %conv11 = sext i32 %7 to i64 + %cmp12 = icmp ult i64 %conv11, 6 + br i1 %cmp12, label %for.body14, label %for.end + +for.body14: ; preds = %for.cond10 + %8 = load i32, i32* %j, align 4 + %idxprom = sext i32 %8 to i64 + %arrayidx = getelementptr inbounds [6 x i8], [6 x i8]* %randomness, i64 0, i64 %idxprom + %9 = load i8, i8* %arrayidx, align 1 + %conv15 = zext i8 %9 to i32 + %rem = srem i32 %conv15, 62 + %idxprom16 = sext i32 %rem to i64 + %arrayidx17 = getelementptr inbounds [63 x i8], [63 x i8]* @letters, i64 0, i64 %idxprom16 + %10 = load i8, i8* %arrayidx17, align 1 + %11 = load i8*, i8** %XXXXXX, align 8 + %12 = load i32, i32* %j, align 4 + %idxprom18 = sext i32 %12 to i64 + %arrayidx19 = getelementptr inbounds i8, i8* %11, i64 %idxprom18 + store i8 %10, i8* %arrayidx19, align 1 + %13 = load i32, i32* %j, align 4 + %inc = add nsw i32 %13, 1 + store i32 %inc, i32* %j, align 4 + br label %for.cond10 + +for.end: ; preds = %for.cond10 + %14 = load i32, i32* %kind.addr, align 4 + br label %NodeBlock5 + +NodeBlock5: ; preds = %for.end + %case.cmp6 = icmp eq i32 %14, 3 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %14, 0 + br i1 %case.cmp4, label %sw.bb29, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %14, 1 + br i1 %case.cmp2, label %sw.bb31, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %14, 2 + br i1 %case.cmp, label %sw.bb33, label %newDefault + +sw.bb: ; preds = %NodeBlock5 + %15 = load i8*, i8** %tmpl.addr, align 8 + %call20 = call i32 bitcast (i32 (i8*, %struct.stat64*)* @stat to i32 (i8*, %struct.stat.192*)*)(i8* %15, %struct.stat.192* %st) #19 + %cmp21 = icmp slt i32 %call20, 0 + br i1 %cmp21, label %if.then23, label %if.else27 + +if.then23: ; preds = %sw.bb + %16 = load i32, i32* @errno, align 4 + %cmp24 = icmp eq i32 %16, 2 + br i1 %cmp24, label %if.then26, label %if.else + +if.then26: ; preds = %if.then23 + store i32 0, i32* %fd, align 4 + br label %restore_and_ret + +if.else: ; preds = %if.then23 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else27: ; preds = %sw.bb + store i32 0, i32* %fd, align 4 + br label %sw.bb29 + +sw.bb29: ; preds = %NodeBlock3, %if.else27 + %17 = load i8*, i8** %tmpl.addr, align 8 + %call30 = call i32 (i8*, i32, ...) @open(i8* %17, i32 194, i32 384) #18 + store i32 %call30, i32* %fd, align 4 + br label %sw.epilog + +sw.bb31: ; preds = %NodeBlock1 + %18 = load i8*, i8** %tmpl.addr, align 8 + %call32 = call i32 (i8*, i32, ...) @open64(i8* %18, i32 194, i32 384) #18 + store i32 %call32, i32* %fd, align 4 + br label %sw.epilog + +sw.bb33: ; preds = %NodeBlock + %19 = load i8*, i8** %tmpl.addr, align 8 + %call34 = call i32 @mkdir(i8* %19, i32 448) #19 + store i32 %call34, i32* %fd, align 4 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i32 -1, i32* %fd, align 4 + br label %sw.epilog + +sw.epilog: ; preds = %sw.default, %sw.bb33, %sw.bb31, %sw.bb29 + %20 = load i32, i32* %fd, align 4 + %cmp35 = icmp sge i32 %20, 0 + br i1 %cmp35, label %restore_and_ret, label %if.else38 + +restore_and_ret: ; preds = %sw.epilog, %if.then26 + %21 = load i32, i32* %save_errno, align 4 + store i32 %21, i32* @errno, align 4 + %22 = load i32, i32* %fd, align 4 + store i32 %22, i32* %retval, align 4 + br label %return + +if.else38: ; preds = %sw.epilog + %23 = load i32, i32* @errno, align 4 + %cmp39 = icmp ne i32 %23, 17 + br i1 %cmp39, label %if.then41, label %for.inc44 + +if.then41: ; preds = %if.else38 + store i32 -1, i32* %retval, align 4 + br label %return + +for.inc44: ; preds = %if.else38 + %24 = load i32, i32* %i, align 4 + %inc45 = add i32 %24, 1 + store i32 %inc45, i32* %i, align 4 + br label %for.cond + +for.end46: ; preds = %for.cond + store i32 17, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %for.end46, %if.then41, %restore_and_ret, %if.else, %if.then + %25 = load i32, i32* %retval, align 4 + ret i32 %25 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @fillrand(i8* %buf, i32 %len) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %len.addr = alloca i32, align 4 + %fd = alloca i32, align 4 + %result = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i32 %len, i32* %len.addr, align 4 + store i32 -1, i32* %result, align 4 + %call = call i32 (i8*, i32, ...) @open(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.4.74, i64 0, i64 0), i32 0) #18 + store i32 %call, i32* %fd, align 4 + %0 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %0, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call1 = call i32 (i8*, i32, ...) @open(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.5.75, i64 0, i64 0), i32 2048) #18 + store i32 %call1, i32* %fd, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i32, i32* %fd, align 4 + %cmp2 = icmp sge i32 %1, 0 + br i1 %cmp2, label %if.then3, label %if.end7 + +if.then3: ; preds = %if.end + %2 = load i32, i32* %fd, align 4 + %3 = load i8*, i8** %buf.addr, align 8 + %4 = load i32, i32* %len.addr, align 4 + %conv = zext i32 %4 to i64 + %call4 = call i64 @read(i32 %2, i8* %3, i64 %conv) #18 + %conv5 = trunc i64 %call4 to i32 + store i32 %conv5, i32* %result, align 4 + %5 = load i32, i32* %fd, align 4 + %call6 = call i32 @close(i32 %5) #18 + br label %if.end7 + +if.end7: ; preds = %if.then3, %if.end + %6 = load i32, i32* %result, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @brain_damaged_fillrand(i8* %buf, i32 %len) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %len.addr = alloca i32, align 4 + %i = alloca i32, align 4 + %k = alloca i32, align 4 + %tv = alloca %struct.timespec, align 8 + %high = alloca i32, align 4 + %low = alloca i32, align 4 + %rh = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i32 %len, i32* %len.addr, align 4 + %call = call i32 bitcast (i32 (%struct.timespec*, i8*)* @gettimeofday to i32 (%struct.timespec*, %struct.__mbstate_t.512*)*)(%struct.timespec* %tv, %struct.__mbstate_t.512* null) #19 + %tv_usec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 1 + %0 = load i64, i64* %tv_usec, align 8 + %shl = shl i64 %0, 16 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %1 = load i64, i64* %tv_sec, align 8 + %xor = xor i64 %shl, %1 + %call1 = call i32 @getpid() #19 + %conv = sext i32 %call1 to i64 + %xor2 = xor i64 %xor, %conv + %2 = load i64, i64* @brain_damaged_fillrand.value, align 8 + %add = add i64 %2, %xor2 + store i64 %add, i64* @brain_damaged_fillrand.value, align 8 + %3 = load i64, i64* @brain_damaged_fillrand.value, align 8 + %and = and i64 %3, 4294967295 + %conv3 = trunc i64 %and to i32 + store i32 %conv3, i32* %low, align 4 + %4 = load i64, i64* @brain_damaged_fillrand.value, align 8 + %shr = lshr i64 %4, 32 + %conv4 = trunc i64 %shr to i32 + store i32 %conv4, i32* %high, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %5 = load i32, i32* %i, align 4 + %6 = load i32, i32* %len.addr, align 4 + %cmp = icmp ult i32 %5, %6 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %7 = load i32, i32* %high, align 4 + %rem = urem i32 %7, 62 + store i32 %rem, i32* %rh, align 4 + %8 = load i32, i32* %high, align 4 + %div = udiv i32 %8, 62 + store i32 %div, i32* %high, align 4 + %9 = load i32, i32* %low, align 4 + %rem6 = urem i32 %9, 62 + %10 = load i32, i32* %rh, align 4 + %mul = mul i32 4, %10 + %add7 = add i32 %rem6, %mul + store i32 %add7, i32* %k, align 4 + %11 = load i32, i32* %low, align 4 + %div8 = udiv i32 %11, 62 + %12 = load i32, i32* %rh, align 4 + %mul9 = mul i32 69273666, %12 + %add10 = add i32 %div8, %mul9 + %13 = load i32, i32* %k, align 4 + %div11 = udiv i32 %13, 62 + %add12 = add i32 %add10, %div11 + store i32 %add12, i32* %low, align 4 + %14 = load i32, i32* %k, align 4 + %rem13 = urem i32 %14, 62 + store i32 %rem13, i32* %k, align 4 + %15 = load i32, i32* %k, align 4 + %idxprom = zext i32 %15 to i64 + %arrayidx = getelementptr inbounds [63 x i8], [63 x i8]* @letters, i64 0, i64 %idxprom + %16 = load i8, i8* %arrayidx, align 1 + %17 = load i8*, i8** %buf.addr, align 8 + %18 = load i32, i32* %i, align 4 + %idxprom14 = zext i32 %18 to i64 + %arrayidx15 = getelementptr inbounds i8, i8* %17, i64 %idxprom14 + store i8 %16, i8* %arrayidx15, align 1 + %19 = load i32, i32* %i, align 4 + %inc = add i32 %19, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + ret void +} + +; Function Attrs: nounwind +declare i32 @getpid() #2 + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_locale_set_l(i8* %p, %struct.__uclibc_locale_struct.201* %base) #0 { +entry: + %retval = alloca i32, align 4 + %p.addr = alloca i8*, align 8 + %base.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %x = alloca i8**, align 8 + %s = alloca i8*, align 8 + %stp = alloca i64*, align 8 + %r = alloca i8*, align 8 + %io = alloca i16*, align 8 + %ii = alloca i16*, align 8 + %d = alloca i8*, align 8 + %row = alloca i32, align 4 + %crow = alloca i32, align 4 + %len = alloca i32, align 4 + %c = alloca i32, align 4 + %i = alloca i32, align 4 + %newcol = alloca %struct.__collate_t.200, align 8 + %c8b = alloca %struct.__codeset_8_bit_t.202*, align 8 + %u = alloca i32, align 4 + %m = alloca i16, align 2 + store i8* %p, i8** %p.addr, align 8 + store %struct.__uclibc_locale_struct.201* %base, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 6 + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 1 + store i8* %add.ptr, i8** %s, align 8 + store i32 0, i32* %i, align 4 + %1 = load i8*, i8** %p.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %1, i32 1 + store i8* %incdec.ptr, i8** %p.addr, align 8 + %index2weight = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %newcol, i32 0, i32 23 + store i16* null, i16** %index2weight, align 8 + %2 = load i8*, i8** %p.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %2, i64 8 + %3 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %3 to i32 + %4 = load i8*, i8** %s, align 8 + %arrayidx1 = getelementptr inbounds i8, i8* %4, i64 8 + %5 = load i8, i8* %arrayidx1, align 1 + %conv2 = zext i8 %5 to i32 + %cmp = icmp ne i32 %conv, %conv2 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %6 = load i8*, i8** %p.addr, align 8 + %arrayidx4 = getelementptr inbounds i8, i8* %6, i64 9 + %7 = load i8, i8* %arrayidx4, align 1 + %conv5 = zext i8 %7 to i32 + %8 = load i8*, i8** %s, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %8, i64 9 + %9 = load i8, i8* %arrayidx6, align 1 + %conv7 = zext i8 %9 to i32 + %cmp8 = icmp ne i32 %conv5, %conv7 + br i1 %cmp8, label %if.then, label %if.end22 + +if.then: ; preds = %lor.lhs.false, %entry + %10 = load i8*, i8** %p.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv10 = zext i8 %11 to i32 + %and = and i32 %conv10, 127 + %shl = shl i32 %and, 7 + %12 = load i8*, i8** %p.addr, align 8 + %arrayidx11 = getelementptr inbounds i8, i8* %12, i64 1 + %13 = load i8, i8* %arrayidx11, align 1 + %conv12 = zext i8 %13 to i32 + %and13 = and i32 %conv12, 127 + %add = add nsw i32 %shl, %and13 + store i32 %add, i32* %row, align 4 + %14 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %14, i32 0, i32 31 + %15 = load i32, i32* %row, align 4 + %mul = mul nsw i32 9, %15 + %add14 = add nsw i32 %mul, 3 + %add15 = add nsw i32 %add14, 4 + %idxprom = sext i32 %add15 to i64 + %arrayidx16 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales, i64 0, i64 %idxprom + %16 = load i8, i8* %arrayidx16, align 1 + %conv17 = zext i8 %16 to i32 + %call = call i32 @init_cur_collate(i32 %conv17, %struct.__collate_t.200* %newcol) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end, label %if.then18 + +if.then18: ; preds = %if.then + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %if.then + %17 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %collate = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %17, i32 0, i32 118 + %index2weight19 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate, i32 0, i32 23 + %18 = load i16*, i16** %index2weight19, align 8 + %19 = bitcast i16* %18 to i8* + call void @free(i8* %19) #19 + %20 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %collate20 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %20, i32 0, i32 118 + %21 = bitcast %struct.__collate_t.200* %collate20 to i8* + %22 = bitcast %struct.__collate_t.200* %newcol to i8* + %call21 = call i8* @memcpy(i8* %21, i8* %22, i64 112) #19 + br label %if.end22 + +if.end22: ; preds = %if.end, %lor.lhs.false + br label %do.body + +do.body: ; preds = %if.end313, %if.end22 + %23 = load i8*, i8** %p.addr, align 8 + %24 = load i8, i8* %23, align 1 + %conv23 = zext i8 %24 to i32 + %25 = load i8*, i8** %s, align 8 + %26 = load i8, i8* %25, align 1 + %conv24 = zext i8 %26 to i32 + %cmp25 = icmp ne i32 %conv23, %conv24 + br i1 %cmp25, label %if.then34, label %lor.lhs.false27 + +lor.lhs.false27: ; preds = %do.body + %27 = load i8*, i8** %p.addr, align 8 + %arrayidx28 = getelementptr inbounds i8, i8* %27, i64 1 + %28 = load i8, i8* %arrayidx28, align 1 + %conv29 = zext i8 %28 to i32 + %29 = load i8*, i8** %s, align 8 + %arrayidx30 = getelementptr inbounds i8, i8* %29, i64 1 + %30 = load i8, i8* %arrayidx30, align 1 + %conv31 = zext i8 %30 to i32 + %cmp32 = icmp ne i32 %conv29, %conv31 + br i1 %cmp32, label %if.then34, label %if.end313 + +if.then34: ; preds = %lor.lhs.false27, %do.body + %31 = load i8*, i8** %p.addr, align 8 + %32 = load i8, i8* %31, align 1 + %conv35 = zext i8 %32 to i32 + %and36 = and i32 %conv35, 127 + %shl37 = shl i32 %and36, 7 + %33 = load i8*, i8** %p.addr, align 8 + %arrayidx38 = getelementptr inbounds i8, i8* %33, i64 1 + %34 = load i8, i8* %arrayidx38, align 1 + %conv39 = zext i8 %34 to i32 + %and40 = and i32 %conv39, 127 + %add41 = add nsw i32 %shl37, %and40 + store i32 %add41, i32* %row, align 4 + %35 = load i8*, i8** %p.addr, align 8 + %36 = load i8, i8* %35, align 1 + %37 = load i8*, i8** %s, align 8 + store i8 %36, i8* %37, align 1 + %38 = load i8*, i8** %p.addr, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %38, i64 1 + %39 = load i8, i8* %arrayidx42, align 1 + %40 = load i8*, i8** %s, align 8 + %arrayidx43 = getelementptr inbounds i8, i8* %40, i64 1 + store i8 %39, i8* %arrayidx43, align 1 + %41 = load i32, i32* %i, align 4 + %cmp44 = icmp ne i32 %41, 4 + br i1 %cmp44, label %land.lhs.true, label %if.end92 + +land.lhs.true: ; preds = %if.then34 + %42 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_common_item_offsets_LEN = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %42, i32 0, i32 29 + %43 = load i32, i32* %i, align 4 + %idxprom46 = sext i32 %43 to i64 + %arrayidx47 = getelementptr inbounds [6 x i8], [6 x i8]* %lc_common_item_offsets_LEN, i64 0, i64 %idxprom46 + %44 = load i8, i8* %arrayidx47, align 1 + %conv48 = zext i8 %44 to i32 + store i32 %conv48, i32* %len, align 4 + %cmp49 = icmp ne i32 %conv48, 0 + br i1 %cmp49, label %if.then51, label %if.end92 + +if.then51: ; preds = %land.lhs.true + %45 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales52 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %45, i32 0, i32 31 + %46 = load i32, i32* %row, align 4 + %mul53 = mul nsw i32 9, %46 + %add54 = add nsw i32 %mul53, 3 + %47 = load i32, i32* %i, align 4 + %add55 = add nsw i32 %add54, %47 + %idxprom56 = sext i32 %add55 to i64 + %arrayidx57 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales52, i64 0, i64 %idxprom56 + %48 = load i8, i8* %arrayidx57, align 1 + %conv58 = zext i8 %48 to i32 + %49 = load i32, i32* %len, align 4 + %mul59 = mul nsw i32 %conv58, %49 + store i32 %mul59, i32* %crow, align 4 + %50 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %51 = bitcast %struct.__uclibc_locale_struct.201* %50 to i8* + %52 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %52, i32 0, i32 7 + %53 = load i32, i32* %i, align 4 + %idxprom60 = sext i32 %53 to i64 + %arrayidx61 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets, i64 0, i64 %idxprom60 + %54 = load i16, i16* %arrayidx61, align 2 + %conv62 = zext i16 %54 to i32 + %idx.ext = sext i32 %conv62 to i64 + %add.ptr63 = getelementptr inbounds i8, i8* %51, i64 %idx.ext + %55 = bitcast i8* %add.ptr63 to i8** + store i8** %55, i8*** %x, align 8 + %56 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_common_tbl_offsets = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %56, i32 0, i32 30 + %arraydecay64 = getelementptr inbounds [24 x i64], [24 x i64]* %lc_common_tbl_offsets, i64 0, i64 0 + %57 = load i32, i32* %i, align 4 + %mul65 = mul nsw i32 4, %57 + %idx.ext66 = sext i32 %mul65 to i64 + %add.ptr67 = getelementptr inbounds i64, i64* %arraydecay64, i64 %idx.ext66 + store i64* %add.ptr67, i64** %stp, align 8 + %58 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %59 = bitcast %struct.__locale_mmap_t.203* %58 to i8* + %60 = load i64*, i64** %stp, align 8 + %61 = load i64, i64* %60, align 8 + %add.ptr68 = getelementptr inbounds i8, i8* %59, i64 %61 + store i8* %add.ptr68, i8** %r, align 8 + %62 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %63 = bitcast %struct.__locale_mmap_t.203* %62 to i8* + %64 = load i64*, i64** %stp, align 8 + %incdec.ptr69 = getelementptr inbounds i64, i64* %64, i32 1 + store i64* %incdec.ptr69, i64** %stp, align 8 + %65 = load i64, i64* %incdec.ptr69, align 8 + %add.ptr70 = getelementptr inbounds i8, i8* %63, i64 %65 + %66 = bitcast i8* %add.ptr70 to i16* + store i16* %66, i16** %io, align 8 + %67 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %68 = bitcast %struct.__locale_mmap_t.203* %67 to i8* + %69 = load i64*, i64** %stp, align 8 + %incdec.ptr71 = getelementptr inbounds i64, i64* %69, i32 1 + store i64* %incdec.ptr71, i64** %stp, align 8 + %70 = load i64, i64* %incdec.ptr71, align 8 + %add.ptr72 = getelementptr inbounds i8, i8* %68, i64 %70 + %71 = bitcast i8* %add.ptr72 to i16* + store i16* %71, i16** %ii, align 8 + %72 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %73 = bitcast %struct.__locale_mmap_t.203* %72 to i8* + %74 = load i64*, i64** %stp, align 8 + %incdec.ptr73 = getelementptr inbounds i64, i64* %74, i32 1 + store i64* %incdec.ptr73, i64** %stp, align 8 + %75 = load i64, i64* %incdec.ptr73, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %73, i64 %75 + store i8* %add.ptr74, i8** %d, align 8 + store i32 0, i32* %c, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.then51 + %76 = load i32, i32* %c, align 4 + %77 = load i32, i32* %len, align 4 + %cmp75 = icmp slt i32 %76, %77 + br i1 %cmp75, label %for.body, label %if.end92 + +for.body: ; preds = %for.cond + %78 = load i8*, i8** %d, align 8 + %79 = load i16*, i16** %ii, align 8 + %80 = load i8*, i8** %r, align 8 + %81 = load i32, i32* %crow, align 4 + %82 = load i32, i32* %c, align 4 + %add77 = add nsw i32 %81, %82 + %idxprom78 = sext i32 %add77 to i64 + %arrayidx79 = getelementptr inbounds i8, i8* %80, i64 %idxprom78 + %83 = load i8, i8* %arrayidx79, align 1 + %conv80 = zext i8 %83 to i32 + %84 = load i16*, i16** %io, align 8 + %85 = load i32, i32* %c, align 4 + %idxprom81 = sext i32 %85 to i64 + %arrayidx82 = getelementptr inbounds i16, i16* %84, i64 %idxprom81 + %86 = load i16, i16* %arrayidx82, align 2 + %conv83 = zext i16 %86 to i32 + %add84 = add nsw i32 %conv80, %conv83 + %idxprom85 = sext i32 %add84 to i64 + %arrayidx86 = getelementptr inbounds i16, i16* %79, i64 %idxprom85 + %87 = load i16, i16* %arrayidx86, align 2 + %conv87 = zext i16 %87 to i32 + %idx.ext88 = sext i32 %conv87 to i64 + %add.ptr89 = getelementptr inbounds i8, i8* %78, i64 %idx.ext88 + %88 = load i8**, i8*** %x, align 8 + %89 = load i32, i32* %c, align 4 + %idx.ext90 = sext i32 %89 to i64 + %add.ptr91 = getelementptr inbounds i8*, i8** %88, i64 %idx.ext90 + store i8* %add.ptr89, i8** %add.ptr91, align 8 + %90 = load i32, i32* %c, align 4 + %inc = add nsw i32 %90, 1 + store i32 %inc, i32* %c, align 4 + br label %for.cond + +if.end92: ; preds = %for.cond, %land.lhs.true, %if.then34 + %91 = load i32, i32* %i, align 4 + %cmp93 = icmp eq i32 %91, 0 + br i1 %cmp93, label %if.then95, label %if.else295 + +if.then95: ; preds = %if.end92 + %92 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales96 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %92, i32 0, i32 31 + %93 = load i32, i32* %row, align 4 + %mul97 = mul nsw i32 9, %93 + %add98 = add nsw i32 %mul97, 2 + %idxprom99 = sext i32 %add98 to i64 + %arrayidx100 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales96, i64 0, i64 %idxprom99 + %94 = load i8, i8* %arrayidx100, align 1 + %conv101 = zext i8 %94 to i32 + store i32 %conv101, i32* %c, align 4 + %95 = load i32, i32* %c, align 4 + %cmp102 = icmp sle i32 %95, 2 + br i1 %cmp102, label %if.then104, label %if.else112 + +if.then104: ; preds = %if.then95 + %96 = load i32, i32* %c, align 4 + %cmp105 = icmp eq i32 %96, 2 + %97 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %codeset = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %97, i32 0, i32 38 + br i1 %cmp105, label %if.then107, label %if.else + +if.then107: ; preds = %if.then104 + store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf8, i64 0, i64 0), i8** %codeset, align 8 + %98 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %98, i32 0, i32 9 + store i8 1, i8* %encoding, align 8 + %99 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %mb_cur_max = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %99, i32 0, i32 10 + store i8 6, i8* %mb_cur_max, align 1 + br label %if.end280 + +if.else: ; preds = %if.then104 + store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @ascii, i64 0, i64 0), i8** %codeset, align 8 + %100 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %encoding109 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %100, i32 0, i32 9 + store i8 0, i8* %encoding109, align 8 + %101 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %mb_cur_max110 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %101, i32 0, i32 10 + store i8 1, i8* %mb_cur_max110, align 1 + br label %if.end280 + +if.else112: ; preds = %if.then95 + %102 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %102, i32 0, i32 35 + %arraydecay113 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list, i64 0, i64 0 + store i8* %arraydecay113, i8** %r, align 8 + %103 = load i8*, i8** %r, align 8 + %104 = load i8*, i8** %r, align 8 + %105 = load i32, i32* %c, align 4 + %sub = sub nsw i32 %105, 3 + store i32 %sub, i32* %c, align 4 + %idxprom114 = sext i32 %sub to i64 + %arrayidx115 = getelementptr inbounds i8, i8* %104, i64 %idxprom114 + %106 = load i8, i8* %arrayidx115, align 1 + %conv116 = zext i8 %106 to i32 + %idx.ext117 = sext i32 %conv116 to i64 + %add.ptr118 = getelementptr inbounds i8, i8* %103, i64 %idx.ext117 + %107 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %codeset119 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %107, i32 0, i32 38 + store i8* %add.ptr118, i8** %codeset119, align 8 + %108 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %encoding120 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %108, i32 0, i32 9 + store i8 2, i8* %encoding120, align 8 + %109 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %mb_cur_max121 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %109, i32 0, i32 10 + store i8 1, i8* %mb_cur_max121, align 1 + %110 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_8_bit = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %110, i32 0, i32 12 + %arraydecay122 = getelementptr inbounds [23 x %struct.__codeset_8_bit_t.202], [23 x %struct.__codeset_8_bit_t.202]* %codeset_8_bit, i64 0, i64 0 + %111 = load i32, i32* %c, align 4 + %idx.ext123 = sext i32 %111 to i64 + %add.ptr124 = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %arraydecay122, i64 %idx.ext123 + store %struct.__codeset_8_bit_t.202* %add.ptr124, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %112 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8ctype = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %112, i32 0, i32 0 + %arraydecay125 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8ctype, i64 0, i64 0 + %113 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8ctype126 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %113, i32 0, i32 12 + store i8* %arraydecay125, i8** %idx8ctype126, align 8 + %114 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8uplow = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %114, i32 0, i32 1 + %arraydecay127 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8uplow, i64 0, i64 0 + %115 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8uplow128 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %115, i32 0, i32 14 + store i8* %arraydecay127, i8** %idx8uplow128, align 8 + %116 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8c2wc = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %116, i32 0, i32 2 + %arraydecay129 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8c2wc, i64 0, i64 0 + %117 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8c2wc130 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %117, i32 0, i32 16 + store i8* %arraydecay129, i8** %idx8c2wc130, align 8 + %118 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8wc2c = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %118, i32 0, i32 3 + %arraydecay131 = getelementptr inbounds [38 x i8], [38 x i8]* %idx8wc2c, i64 0, i64 0 + %119 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8wc2c132 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %119, i32 0, i32 18 + store i8* %arraydecay131, i8** %idx8wc2c132, align 8 + %120 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b_data = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %120, i32 0, i32 3 + %arraydecay133 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data, i64 0, i64 0 + %121 = bitcast i16* %arraydecay133 to i8* + %122 = load i16*, i16** @__C_ctype_b, align 8 + %add.ptr134 = getelementptr inbounds i16, i16* %122, i64 -128 + %123 = bitcast i16* %add.ptr134 to i8* + %call135 = call i8* @memcpy(i8* %121, i8* %123, i64 768) #19 + %124 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %124, i32 0, i32 4 + %arraydecay136 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data, i64 0, i64 0 + %125 = bitcast i16* %arraydecay136 to i8* + %126 = load i16*, i16** @__C_ctype_tolower, align 8 + %add.ptr137 = getelementptr inbounds i16, i16* %126, i64 -128 + %127 = bitcast i16* %add.ptr137 to i8* + %call138 = call i8* @memcpy(i8* %125, i8* %127, i64 768) #19 + %128 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %128, i32 0, i32 5 + %arraydecay139 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data, i64 0, i64 0 + %129 = bitcast i16* %arraydecay139 to i8* + %130 = load i16*, i16** @__C_ctype_toupper, align 8 + %add.ptr140 = getelementptr inbounds i16, i16* %130, i64 -128 + %131 = bitcast i16* %add.ptr140 to i8* + %call141 = call i8* @memcpy(i8* %129, i8* %131, i64 768) #19 + store i32 0, i32* %u, align 4 + br label %for.cond142 + +for.cond142: ; preds = %for.inc268, %if.else112 + %132 = load i32, i32* %u, align 4 + %cmp143 = icmp slt i32 %132, 128 + %133 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + br i1 %cmp143, label %for.body145, label %for.end270 + +for.body145: ; preds = %for.cond142 + %tbl8ctype = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %133, i32 0, i32 13 + %134 = load i8*, i8** %tbl8ctype, align 8 + %135 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8ctype146 = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %135, i32 0, i32 0 + %136 = load i32, i32* %u, align 4 + %shr = ashr i32 %136, 3 + %idxprom147 = sext i32 %shr to i64 + %arrayidx148 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8ctype146, i64 0, i64 %idxprom147 + %137 = load i8, i8* %arrayidx148, align 1 + %conv149 = zext i8 %137 to i32 + %shl150 = shl i32 %conv149, 2 + %138 = load i32, i32* %u, align 4 + %and151 = and i32 %138, 7 + %shr152 = ashr i32 %and151, 1 + %add153 = add nsw i32 %shl150, %shr152 + %idxprom154 = sext i32 %add153 to i64 + %arrayidx155 = getelementptr inbounds i8, i8* %134, i64 %idxprom154 + %139 = load i8, i8* %arrayidx155, align 1 + %conv156 = zext i8 %139 to i32 + store i32 %conv156, i32* %c, align 4 + %140 = load i32, i32* %u, align 4 + %and157 = and i32 %140, 1 + %tobool158 = icmp ne i32 %and157, 0 + %141 = load i32, i32* %c, align 4 + %shr159 = ashr i32 %141, 4 + %and160 = and i32 %141, 15 + %cond = select i1 %tobool158, i32 %shr159, i32 %and160 + store i32 %cond, i32* %c, align 4 + %142 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %code2flag = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %142, i32 0, i32 20 + %143 = load i16*, i16** %code2flag, align 8 + %144 = load i32, i32* %c, align 4 + %idxprom161 = sext i32 %144 to i64 + %arrayidx162 = getelementptr inbounds i16, i16* %143, i64 %idxprom161 + %145 = load i16, i16* %arrayidx162, align 2 + store i16 %145, i16* %m, align 2 + %146 = load i16, i16* %m, align 2 + %147 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b_data163 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %147, i32 0, i32 3 + %148 = load i32, i32* %u, align 4 + %add164 = add nsw i32 256, %148 + %idxprom165 = sext i32 %add164 to i64 + %arrayidx166 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data163, i64 0, i64 %idxprom165 + store i16 %146, i16* %arrayidx166, align 2 + %149 = load i32, i32* %u, align 4 + %add167 = add nsw i32 128, %149 + %conv168 = trunc i32 %add167 to i8 + %conv169 = sext i8 %conv168 to i32 + %cmp170 = icmp ne i32 %conv169, -1 + br i1 %cmp170, label %if.then172, label %if.end180 + +if.then172: ; preds = %for.body145 + %150 = load i16, i16* %m, align 2 + %151 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b_data173 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %151, i32 0, i32 3 + %152 = load i32, i32* %u, align 4 + %add174 = add nsw i32 128, %152 + %conv175 = trunc i32 %add174 to i8 + %conv176 = sext i8 %conv175 to i32 + %add177 = add nsw i32 128, %conv176 + %idxprom178 = sext i32 %add177 to i64 + %arrayidx179 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data173, i64 0, i64 %idxprom178 + store i16 %150, i16* %arrayidx179, align 2 + br label %if.end180 + +if.end180: ; preds = %if.then172, %for.body145 + %153 = load i32, i32* %u, align 4 + %add181 = add nsw i32 128, %153 + %conv182 = trunc i32 %add181 to i16 + %154 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data183 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %154, i32 0, i32 4 + %155 = load i32, i32* %u, align 4 + %add184 = add nsw i32 256, %155 + %idxprom185 = sext i32 %add184 to i64 + %arrayidx186 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data183, i64 0, i64 %idxprom185 + store i16 %conv182, i16* %arrayidx186, align 2 + %156 = load i32, i32* %u, align 4 + %add187 = add nsw i32 128, %156 + %conv188 = trunc i32 %add187 to i16 + %157 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data189 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %157, i32 0, i32 5 + %158 = load i32, i32* %u, align 4 + %add190 = add nsw i32 256, %158 + %idxprom191 = sext i32 %add190 to i64 + %arrayidx192 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data189, i64 0, i64 %idxprom191 + store i16 %conv188, i16* %arrayidx192, align 2 + %159 = load i16, i16* %m, align 2 + %conv193 = zext i16 %159 to i32 + %and194 = and i32 %conv193, 768 + %tobool195 = icmp ne i32 %and194, 0 + br i1 %tobool195, label %if.then196, label %for.inc268 + +if.then196: ; preds = %if.end180 + %160 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8uplow = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %160, i32 0, i32 15 + %161 = load i8*, i8** %tbl8uplow, align 8 + %162 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8uplow197 = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %162, i32 0, i32 1 + %163 = load i32, i32* %u, align 4 + %shr198 = ashr i32 %163, 3 + %idxprom199 = sext i32 %shr198 to i64 + %arrayidx200 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8uplow197, i64 0, i64 %idxprom199 + %164 = load i8, i8* %arrayidx200, align 1 + %conv201 = zext i8 %164 to i32 + %shl202 = shl i32 %conv201, 3 + %165 = load i32, i32* %u, align 4 + %add203 = add nsw i32 128, %165 + %and204 = and i32 %add203, 7 + %add205 = add nsw i32 %shl202, %and204 + %idxprom206 = sext i32 %add205 to i64 + %arrayidx207 = getelementptr inbounds i8, i8* %161, i64 %idxprom206 + %166 = load i8, i8* %arrayidx207, align 1 + %conv208 = zext i8 %166 to i32 + store i32 %conv208, i32* %c, align 4 + %167 = load i16, i16* %m, align 2 + %conv209 = zext i16 %167 to i32 + %and210 = and i32 %conv209, 512 + %tobool211 = icmp ne i32 %and210, 0 + %168 = load i32, i32* %u, align 4 + %add213 = add nsw i32 128, %168 + %169 = load i32, i32* %c, align 4 + br i1 %tobool211, label %if.then212, label %if.else239 + +if.then212: ; preds = %if.then196 + %add214 = add nsw i32 %add213, %169 + %conv215 = trunc i32 %add214 to i8 + %conv216 = zext i8 %conv215 to i16 + %170 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data217 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %170, i32 0, i32 5 + %171 = load i32, i32* %u, align 4 + %add218 = add nsw i32 256, %171 + %idxprom219 = sext i32 %add218 to i64 + %arrayidx220 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data217, i64 0, i64 %idxprom219 + store i16 %conv216, i16* %arrayidx220, align 2 + %172 = load i32, i32* %u, align 4 + %add221 = add nsw i32 128, %172 + %conv222 = trunc i32 %add221 to i8 + %conv223 = sext i8 %conv222 to i32 + %cmp224 = icmp ne i32 %conv223, -1 + br i1 %cmp224, label %if.then226, label %for.inc268 + +if.then226: ; preds = %if.then212 + %173 = load i32, i32* %u, align 4 + %add227 = add nsw i32 128, %173 + %174 = load i32, i32* %c, align 4 + %add228 = add nsw i32 %add227, %174 + %conv229 = trunc i32 %add228 to i8 + %conv230 = zext i8 %conv229 to i16 + %175 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data231 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %175, i32 0, i32 5 + %176 = load i32, i32* %u, align 4 + %add232 = add nsw i32 128, %176 + %conv233 = trunc i32 %add232 to i8 + %conv234 = sext i8 %conv233 to i32 + %add235 = add nsw i32 128, %conv234 + %idxprom236 = sext i32 %add235 to i64 + %arrayidx237 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data231, i64 0, i64 %idxprom236 + store i16 %conv230, i16* %arrayidx237, align 2 + br label %for.inc268 + +if.else239: ; preds = %if.then196 + %sub241 = sub nsw i32 %add213, %169 + %conv242 = trunc i32 %sub241 to i8 + %conv243 = zext i8 %conv242 to i16 + %177 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data244 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %177, i32 0, i32 4 + %178 = load i32, i32* %u, align 4 + %add245 = add nsw i32 256, %178 + %idxprom246 = sext i32 %add245 to i64 + %arrayidx247 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data244, i64 0, i64 %idxprom246 + store i16 %conv243, i16* %arrayidx247, align 2 + %179 = load i32, i32* %u, align 4 + %add248 = add nsw i32 128, %179 + %conv249 = trunc i32 %add248 to i8 + %conv250 = sext i8 %conv249 to i32 + %cmp251 = icmp ne i32 %conv250, -1 + br i1 %cmp251, label %if.then253, label %for.inc268 + +if.then253: ; preds = %if.else239 + %180 = load i32, i32* %u, align 4 + %add254 = add nsw i32 128, %180 + %181 = load i32, i32* %c, align 4 + %sub255 = sub nsw i32 %add254, %181 + %conv256 = trunc i32 %sub255 to i8 + %conv257 = zext i8 %conv256 to i16 + %182 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data258 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %182, i32 0, i32 4 + %183 = load i32, i32* %u, align 4 + %add259 = add nsw i32 128, %183 + %conv260 = trunc i32 %add259 to i8 + %conv261 = sext i8 %conv260 to i32 + %add262 = add nsw i32 128, %conv261 + %idxprom263 = sext i32 %add262 to i64 + %arrayidx264 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data258, i64 0, i64 %idxprom263 + store i16 %conv257, i16* %arrayidx264, align 2 + br label %for.inc268 + +for.inc268: ; preds = %if.end180, %if.else239, %if.then253, %if.then212, %if.then226 + %184 = load i32, i32* %u, align 4 + %inc269 = add nsw i32 %184, 1 + store i32 %inc269, i32* %u, align 4 + br label %for.cond142 + +for.end270: ; preds = %for.cond142 + %__ctype_b_data271 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %133, i32 0, i32 3 + %arraydecay272 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data271, i64 0, i64 0 + %add.ptr273 = getelementptr inbounds i16, i16* %arraydecay272, i64 128 + %185 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %185, i32 0, i32 0 + store i16* %add.ptr273, i16** %__ctype_b, align 8 + %186 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data274 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %186, i32 0, i32 4 + %arraydecay275 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data274, i64 0, i64 0 + %add.ptr276 = getelementptr inbounds i16, i16* %arraydecay275, i64 128 + %187 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %187, i32 0, i32 1 + store i16* %add.ptr276, i16** %__ctype_tolower, align 8 + %188 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data277 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %188, i32 0, i32 5 + %arraydecay278 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data277, i64 0, i64 0 + %add.ptr279 = getelementptr inbounds i16, i16* %arraydecay278, i64 128 + %189 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %189, i32 0, i32 2 + store i16* %add.ptr279, i16** %__ctype_toupper, align 8 + br label %if.end280 + +if.end280: ; preds = %if.then107, %if.else, %for.end270 + %190 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %outdigit_length = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %190, i32 0, i32 11 + %arraydecay281 = getelementptr inbounds [10 x i8], [10 x i8]* %outdigit_length, i64 0, i64 0 + store i8* %arraydecay281, i8** %d, align 8 + %191 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %outdigit0_mb = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %191, i32 0, i32 28 + store i8** %outdigit0_mb, i8*** %x, align 8 + store i32 0, i32* %c, align 4 + br label %for.cond282 + +for.cond282: ; preds = %for.body285, %if.end280 + %192 = load i32, i32* %c, align 4 + %cmp283 = icmp slt i32 %192, 10 + br i1 %cmp283, label %for.body285, label %if.end313 + +for.body285: ; preds = %for.cond282 + %193 = load i8**, i8*** %x, align 8 + %194 = load i32, i32* %c, align 4 + %idxprom286 = sext i32 %194 to i64 + %arrayidx287 = getelementptr inbounds i8*, i8** %193, i64 %idxprom286 + %195 = load i8*, i8** %arrayidx287, align 8 + %call288 = call i64 @strlen(i8* %195) #20 + %conv289 = trunc i64 %call288 to i8 + %196 = load i8*, i8** %d, align 8 + %197 = load i32, i32* %c, align 4 + %idxprom290 = sext i32 %197 to i64 + %arrayidx291 = getelementptr inbounds i8, i8* %196, i64 %idxprom290 + store i8 %conv289, i8* %arrayidx291, align 1 + %198 = load i32, i32* %c, align 4 + %inc293 = add nsw i32 %198, 1 + store i32 %inc293, i32* %c, align 4 + br label %for.cond282 + +if.else295: ; preds = %if.end92 + %199 = load i32, i32* %i, align 4 + %cmp296 = icmp eq i32 %199, 1 + br i1 %cmp296, label %if.then298, label %if.end313 + +if.then298: ; preds = %if.else295 + %200 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %decimal_point_wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %200, i32 0, i32 24 + %201 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %decimal_point = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %201, i32 0, i32 39 + %202 = load i8*, i8** %decimal_point, align 8 + %203 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call299 = call i32 @__locale_mbrtowc_l(i32* %decimal_point_wc, i8* %202, %struct.__uclibc_locale_struct.201* %203) #18 + %204 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %decimal_point_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %204, i32 0, i32 26 + store i32 %call299, i32* %decimal_point_len, align 8 + %205 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %grouping = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %205, i32 0, i32 41 + %206 = load i8*, i8** %grouping, align 8 + %207 = load i8, i8* %206, align 1 + %tobool300 = icmp ne i8 %207, 0 + br i1 %tobool300, label %if.then301, label %if.end313 + +if.then301: ; preds = %if.then298 + %208 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep_wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %208, i32 0, i32 25 + %209 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %209, i32 0, i32 40 + %210 = load i8*, i8** %thousands_sep, align 8 + %211 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call302 = call i32 @__locale_mbrtowc_l(i32* %thousands_sep_wc, i8* %210, %struct.__uclibc_locale_struct.201* %211) #18 + %212 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %212, i32 0, i32 27 + store i32 %call302, i32* %thousands_sep_len, align 4 + %213 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep_len303 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %213, i32 0, i32 27 + %214 = load i32, i32* %thousands_sep_len303, align 4 + %cmp304 = icmp eq i32 %214, 0 + br i1 %cmp304, label %if.then306, label %if.end313 + +if.then306: ; preds = %if.then301 + %215 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep307 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %215, i32 0, i32 40 + %216 = load i8*, i8** %thousands_sep307, align 8 + %217 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %grouping308 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %217, i32 0, i32 41 + store i8* %216, i8** %grouping308, align 8 + br label %if.end313 + +if.end313: ; preds = %for.cond282, %if.then298, %if.then306, %if.then301, %if.else295, %lor.lhs.false27 + %218 = load i32, i32* %i, align 4 + %inc314 = add nsw i32 %218, 1 + store i32 %inc314, i32* %i, align 4 + %219 = load i8*, i8** %p.addr, align 8 + %add.ptr315 = getelementptr inbounds i8, i8* %219, i64 2 + store i8* %add.ptr315, i8** %p.addr, align 8 + %220 = load i8*, i8** %s, align 8 + %add.ptr316 = getelementptr inbounds i8, i8* %220, i64 2 + store i8* %add.ptr316, i8** %s, align 8 + %221 = load i32, i32* %i, align 4 + %cmp317 = icmp slt i32 %221, 6 + br i1 %cmp317, label %do.body, label %do.end + +do.end: ; preds = %if.end313 + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end, %if.then18 + %222 = load i32, i32* %retval, align 4 + ret i32 %222 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @init_cur_collate(i32 %der_num, %struct.__collate_t.200* %cur_collate) #0 { +entry: + %retval = alloca i32, align 4 + %der_num.addr = alloca i32, align 4 + %cur_collate.addr = alloca %struct.__collate_t.200*, align 8 + %__locale_collate_tbl = alloca i16*, align 8 + %cdh = alloca %struct.coldata_header_t*, align 8 + %cdb = alloca %struct.coldata_base_t*, align 8 + %cdd = alloca %struct.winsize*, align 8 + %p = alloca i16*, align 8 + %n = alloca i64, align 8 + %i = alloca i16, align 2 + %w = alloca i16, align 2 + store i32 %der_num, i32* %der_num.addr, align 4 + store %struct.__collate_t.200* %cur_collate, %struct.__collate_t.200** %cur_collate.addr, align 8 + %0 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %collate_data = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %0, i32 0, i32 28 + %arraydecay = getelementptr inbounds [91141 x i16], [91141 x i16]* %collate_data, i64 0, i64 0 + store i16* %arraydecay, i16** %__locale_collate_tbl, align 8 + %1 = load i32, i32* %der_num.addr, align 4 + %tobool = icmp ne i32 %1, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %2 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %num_weights = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %2, i32 0, i32 0 + store i16 0, i16* %num_weights, align 8 + store i32 1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* %der_num.addr, align 4 + %dec = add nsw i32 %3, -1 + store i32 %dec, i32* %der_num.addr, align 4 + %4 = load i16*, i16** %__locale_collate_tbl, align 8 + %5 = bitcast i16* %4 to %struct.coldata_header_t* + store %struct.coldata_header_t* %5, %struct.coldata_header_t** %cdh, align 8 + %6 = load i16*, i16** %__locale_collate_tbl, align 8 + %7 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_base = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %7, i32 0, i32 0 + %8 = load i16, i16* %num_base, align 2 + %conv = zext i16 %8 to i64 + %mul = mul i64 %conv, 38 + %add = add i64 16, %mul + %9 = load i32, i32* %der_num.addr, align 4 + %conv1 = sext i32 %9 to i64 + %mul2 = mul i64 %conv1, 8 + %add3 = add i64 %add, %mul2 + %div = udiv i64 %add3, 2 + %add.ptr = getelementptr inbounds i16, i16* %6, i64 %div + %10 = bitcast i16* %add.ptr to %struct.winsize* + store %struct.winsize* %10, %struct.winsize** %cdd, align 8 + %11 = load i16*, i16** %__locale_collate_tbl, align 8 + %12 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %base_idx = getelementptr inbounds %struct.winsize, %struct.winsize* %12, i32 0, i32 0 + %13 = load i16, i16* %base_idx, align 2 + %conv4 = zext i16 %13 to i64 + %mul5 = mul i64 %conv4, 38 + %add6 = add i64 16, %mul5 + %div7 = udiv i64 %add6, 2 + %add.ptr8 = getelementptr inbounds i16, i16* %11, i64 %div7 + %14 = bitcast i16* %add.ptr8 to %struct.coldata_base_t* + store %struct.coldata_base_t* %14, %struct.coldata_base_t** %cdb, align 8 + %15 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %16 = bitcast %struct.__collate_t.200* %15 to i8* + %17 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %18 = bitcast %struct.coldata_base_t* %17 to i8* + %call = call i8* @memcpy(i8* %16, i8* %18, i64 28) #19 + %19 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %undefined_idx = getelementptr inbounds %struct.winsize, %struct.winsize* %19, i32 0, i32 1 + %20 = load i16, i16* %undefined_idx, align 2 + %21 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %undefined_idx9 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %21, i32 0, i32 9 + store i16 %20, i16* %undefined_idx9, align 2 + %22 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ti_shift = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %22, i32 0, i32 3 + %23 = load i16, i16* %ti_shift, align 2 + %conv10 = zext i16 %23 to i32 + %shl = shl i32 1, %conv10 + %sub = sub nsw i32 %shl, 1 + %conv11 = trunc i32 %sub to i16 + %24 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ti_mask = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %24, i32 0, i32 15 + store i16 %conv11, i16* %ti_mask, align 2 + %25 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ii_shift = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %25, i32 0, i32 2 + %26 = load i16, i16* %ii_shift, align 4 + %conv12 = zext i16 %26 to i32 + %shl13 = shl i32 1, %conv12 + %sub14 = sub nsw i32 %shl13, 1 + %conv15 = trunc i32 %sub14 to i16 + %27 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ii_mask = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %27, i32 0, i32 14 + store i16 %conv15, i16* %ii_mask, align 4 + %28 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_base16 = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %28, i32 0, i32 0 + %29 = load i16, i16* %num_base16, align 2 + %conv17 = zext i16 %29 to i64 + %mul18 = mul i64 %conv17, 38 + %add19 = add i64 16, %mul18 + %30 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_der = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %30, i32 0, i32 1 + %31 = load i16, i16* %num_der, align 2 + %conv20 = zext i16 %31 to i64 + %mul21 = mul i64 %conv20, 8 + %add22 = add i64 %add19, %mul21 + %div23 = udiv i64 %add22, 2 + store i64 %div23, i64* %n, align 8 + %32 = load i16*, i16** %__locale_collate_tbl, align 8 + %33 = load i64, i64* %n, align 8 + %add.ptr24 = getelementptr inbounds i16, i16* %32, i64 %33 + %34 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %index2weight_offset = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %34, i32 0, i32 14 + %35 = load i16, i16* %index2weight_offset, align 2 + %conv25 = zext i16 %35 to i32 + %idx.ext = sext i32 %conv25 to i64 + %add.ptr26 = getelementptr inbounds i16, i16* %add.ptr24, i64 %idx.ext + %36 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %36, i32 0, i32 16 + store i16* %add.ptr26, i16** %index2weight_tbl, align 8 + %37 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_index2weight = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %37, i32 0, i32 3 + %38 = load i16, i16* %num_index2weight, align 2 + %conv27 = zext i16 %38 to i64 + %39 = load i64, i64* %n, align 8 + %add28 = add i64 %39, %conv27 + store i64 %add28, i64* %n, align 8 + %40 = load i16*, i16** %__locale_collate_tbl, align 8 + %41 = load i64, i64* %n, align 8 + %add.ptr29 = getelementptr inbounds i16, i16* %40, i64 %41 + %42 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %index2ruleidx_offset = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %42, i32 0, i32 15 + %43 = load i16, i16* %index2ruleidx_offset, align 2 + %conv30 = zext i16 %43 to i32 + %idx.ext31 = sext i32 %conv30 to i64 + %add.ptr32 = getelementptr inbounds i16, i16* %add.ptr29, i64 %idx.ext31 + %44 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %44, i32 0, i32 17 + store i16* %add.ptr32, i16** %index2ruleidx_tbl, align 8 + %45 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_index2weight33 = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %45, i32 0, i32 3 + %46 = load i16, i16* %num_index2weight33, align 2 + %conv34 = zext i16 %46 to i64 + %47 = load i64, i64* %n, align 8 + %add35 = add i64 %47, %conv34 + store i64 %add35, i64* %n, align 8 + %48 = load i16*, i16** %__locale_collate_tbl, align 8 + %49 = load i64, i64* %n, align 8 + %add.ptr36 = getelementptr inbounds i16, i16* %48, i64 %49 + %50 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %multistart_offset = getelementptr inbounds %struct.winsize, %struct.winsize* %50, i32 0, i32 3 + %51 = load i16, i16* %multistart_offset, align 2 + %conv37 = zext i16 %51 to i32 + %idx.ext38 = sext i32 %conv37 to i64 + %add.ptr39 = getelementptr inbounds i16, i16* %add.ptr36, i64 %idx.ext38 + %52 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %multistart_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %52, i32 0, i32 18 + store i16* %add.ptr39, i16** %multistart_tbl, align 8 + %53 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_multistart = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %53, i32 0, i32 5 + %54 = load i16, i16* %num_multistart, align 2 + %conv40 = zext i16 %54 to i64 + %55 = load i64, i64* %n, align 8 + %add41 = add i64 %55, %conv40 + store i64 %add41, i64* %n, align 8 + %56 = load i16*, i16** %__locale_collate_tbl, align 8 + %57 = load i64, i64* %n, align 8 + %add.ptr42 = getelementptr inbounds i16, i16* %56, i64 %57 + %58 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %overrides_offset = getelementptr inbounds %struct.winsize, %struct.winsize* %58, i32 0, i32 2 + %59 = load i16, i16* %overrides_offset, align 2 + %conv43 = zext i16 %59 to i32 + %idx.ext44 = sext i32 %conv43 to i64 + %add.ptr45 = getelementptr inbounds i16, i16* %add.ptr42, i64 %idx.ext44 + %60 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %overrides_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %60, i32 0, i32 20 + store i16* %add.ptr45, i16** %overrides_tbl, align 8 + %61 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_override = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %61, i32 0, i32 6 + %62 = load i16, i16* %num_override, align 2 + %conv46 = zext i16 %62 to i64 + %63 = load i64, i64* %n, align 8 + %add47 = add i64 %63, %conv46 + store i64 %add47, i64* %n, align 8 + %64 = load i16*, i16** %__locale_collate_tbl, align 8 + %65 = load i64, i64* %n, align 8 + %add.ptr48 = getelementptr inbounds i16, i16* %64, i64 %65 + %66 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ruletable = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %66, i32 0, i32 22 + store i16* %add.ptr48, i16** %ruletable, align 8 + %67 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_ruletable = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %67, i32 0, i32 7 + %68 = load i16, i16* %num_ruletable, align 2 + %conv49 = zext i16 %68 to i64 + %69 = load i64, i64* %n, align 8 + %add50 = add i64 %69, %conv49 + store i64 %add50, i64* %n, align 8 + %70 = load i16*, i16** %__locale_collate_tbl, align 8 + %71 = load i64, i64* %n, align 8 + %add.ptr51 = getelementptr inbounds i16, i16* %70, i64 %71 + %72 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %weightstr = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %72, i32 0, i32 21 + store i16* %add.ptr51, i16** %weightstr, align 8 + %73 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_weightstr = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %73, i32 0, i32 4 + %74 = load i16, i16* %num_weightstr, align 2 + %conv52 = zext i16 %74 to i64 + %75 = load i64, i64* %n, align 8 + %add53 = add i64 %75, %conv52 + store i64 %add53, i64* %n, align 8 + %76 = load i16*, i16** %__locale_collate_tbl, align 8 + %77 = load i64, i64* %n, align 8 + %add.ptr54 = getelementptr inbounds i16, i16* %76, i64 %77 + %78 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %wcs2colidt_offset_hi = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %78, i32 0, i32 18 + %79 = load i16, i16* %wcs2colidt_offset_hi, align 2 + %conv55 = zext i16 %79 to i64 + %shl56 = shl i64 %conv55, 16 + %add.ptr57 = getelementptr inbounds i16, i16* %add.ptr54, i64 %shl56 + %80 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %wcs2colidt_offset_low = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %80, i32 0, i32 17 + %81 = load i16, i16* %wcs2colidt_offset_low, align 2 + %conv58 = zext i16 %81 to i32 + %idx.ext59 = sext i32 %conv58 to i64 + %add.ptr60 = getelementptr inbounds i16, i16* %add.ptr57, i64 %idx.ext59 + %82 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %wcs2colidt_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %82, i32 0, i32 19 + store i16* %add.ptr60, i16** %wcs2colidt_tbl, align 8 + %83 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %MAX_WEIGHTS = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %83, i32 0, i32 2 + %84 = load i16, i16* %MAX_WEIGHTS, align 2 + %85 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %MAX_WEIGHTS61 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %85, i32 0, i32 25 + store i16 %84, i16* %MAX_WEIGHTS61, align 8 + %86 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %max_col_index = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %86, i32 0, i32 8 + %87 = load i16, i16* %max_col_index, align 8 + %conv62 = zext i16 %87 to i32 + %mul63 = mul nsw i32 2, %conv62 + %add64 = add nsw i32 %mul63, 2 + %conv65 = sext i32 %add64 to i64 + %call66 = call noalias i8* @calloc(i64 %conv65, i64 2) #19 + %88 = bitcast i8* %call66 to i16* + %89 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %89, i32 0, i32 23 + store i16* %88, i16** %index2weight, align 8 + %90 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight67 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %90, i32 0, i32 23 + %91 = load i16*, i16** %index2weight67, align 8 + %tobool68 = icmp ne i16* %91, null + br i1 %tobool68, label %if.end70, label %if.then69 + +if.then69: ; preds = %if.end + store i32 0, i32* %retval, align 4 + br label %return + +if.end70: ; preds = %if.end + %92 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight71 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %92, i32 0, i32 23 + %93 = load i16*, i16** %index2weight71, align 8 + %94 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %max_col_index72 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %94, i32 0, i32 8 + %95 = load i16, i16* %max_col_index72, align 8 + %conv73 = zext i16 %95 to i32 + %idx.ext74 = sext i32 %conv73 to i64 + %add.ptr75 = getelementptr inbounds i16, i16* %93, i64 %idx.ext74 + %add.ptr76 = getelementptr inbounds i16, i16* %add.ptr75, i64 1 + %96 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %96, i32 0, i32 24 + store i16* %add.ptr76, i16** %index2ruleidx, align 8 + %97 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight77 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %97, i32 0, i32 23 + %98 = load i16*, i16** %index2weight77, align 8 + %99 = bitcast i16* %98 to i8* + %100 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight_tbl78 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %100, i32 0, i32 16 + %101 = load i16*, i16** %index2weight_tbl78, align 8 + %102 = bitcast i16* %101 to i8* + %103 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %num_col_base = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %103, i32 0, i32 7 + %104 = load i16, i16* %num_col_base, align 2 + %conv79 = zext i16 %104 to i64 + %mul80 = mul i64 %conv79, 2 + %call81 = call i8* @memcpy(i8* %99, i8* %102, i64 %mul80) #19 + %105 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx82 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %105, i32 0, i32 24 + %106 = load i16*, i16** %index2ruleidx82, align 8 + %107 = bitcast i16* %106 to i8* + %108 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx_tbl83 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %108, i32 0, i32 17 + %109 = load i16*, i16** %index2ruleidx_tbl83, align 8 + %110 = bitcast i16* %109 to i8* + %111 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %num_col_base84 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %111, i32 0, i32 7 + %112 = load i16, i16* %num_col_base84, align 2 + %conv85 = zext i16 %112 to i64 + %mul86 = mul i64 %conv85, 2 + %call87 = call i8* @memcpy(i8* %107, i8* %110, i64 %mul86) #19 + %113 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %overrides_tbl88 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %113, i32 0, i32 20 + %114 = load i16*, i16** %overrides_tbl88, align 8 + store i16* %114, i16** %p, align 8 + br label %while.cond + +while.cond: ; preds = %do.body, %if.end70 + %115 = load i16*, i16** %p, align 8 + %116 = load i16, i16* %115, align 2 + %conv89 = zext i16 %116 to i32 + %cmp = icmp sgt i32 %conv89, 1 + br i1 %cmp, label %while.body, label %while.cond105 + +while.body: ; preds = %while.cond + %117 = load i16*, i16** %p, align 8 + %incdec.ptr = getelementptr inbounds i16, i16* %117, i32 1 + store i16* %incdec.ptr, i16** %p, align 8 + %118 = load i16, i16* %117, align 2 + %conv91 = zext i16 %118 to i64 + store i64 %conv91, i64* %n, align 8 + %119 = load i16*, i16** %p, align 8 + %incdec.ptr92 = getelementptr inbounds i16, i16* %119, i32 1 + store i16* %incdec.ptr92, i16** %p, align 8 + %120 = load i16, i16* %119, align 2 + store i16 %120, i16* %w, align 2 + br label %do.body + +do.body: ; preds = %do.body, %while.body + %121 = load i16*, i16** %p, align 8 + %incdec.ptr93 = getelementptr inbounds i16, i16* %121, i32 1 + store i16* %incdec.ptr93, i16** %p, align 8 + %122 = load i16, i16* %121, align 2 + store i16 %122, i16* %i, align 2 + %123 = load i16, i16* %w, align 2 + %inc = add i16 %123, 1 + store i16 %inc, i16* %w, align 2 + %124 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight94 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %124, i32 0, i32 23 + %125 = load i16*, i16** %index2weight94, align 8 + %126 = load i16, i16* %i, align 2 + %conv95 = zext i16 %126 to i32 + %sub96 = sub nsw i32 %conv95, 1 + %idxprom = sext i32 %sub96 to i64 + %arrayidx = getelementptr inbounds i16, i16* %125, i64 %idxprom + store i16 %123, i16* %arrayidx, align 2 + %127 = load i16*, i16** %p, align 8 + %incdec.ptr97 = getelementptr inbounds i16, i16* %127, i32 1 + store i16* %incdec.ptr97, i16** %p, align 8 + %128 = load i16, i16* %127, align 2 + %129 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx98 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %129, i32 0, i32 24 + %130 = load i16*, i16** %index2ruleidx98, align 8 + %131 = load i16, i16* %i, align 2 + %conv99 = zext i16 %131 to i32 + %sub100 = sub nsw i32 %conv99, 1 + %idxprom101 = sext i32 %sub100 to i64 + %arrayidx102 = getelementptr inbounds i16, i16* %130, i64 %idxprom101 + store i16 %128, i16* %arrayidx102, align 2 + %132 = load i64, i64* %n, align 8 + %dec103 = add i64 %132, -1 + store i64 %dec103, i64* %n, align 8 + %tobool104 = icmp ne i64 %dec103, 0 + br i1 %tobool104, label %do.body, label %while.cond + +while.cond105: ; preds = %while.cond, %while.body108 + %133 = load i16*, i16** %p, align 8 + %incdec.ptr106 = getelementptr inbounds i16, i16* %133, i32 1 + store i16* %incdec.ptr106, i16** %p, align 8 + %134 = load i16, i16* %incdec.ptr106, align 2 + %tobool107 = icmp ne i16 %134, 0 + br i1 %tobool107, label %while.body108, label %while.end121 + +while.body108: ; preds = %while.cond105 + %135 = load i16*, i16** %p, align 8 + %136 = load i16, i16* %135, align 2 + store i16 %136, i16* %i, align 2 + %137 = load i16*, i16** %p, align 8 + %incdec.ptr109 = getelementptr inbounds i16, i16* %137, i32 1 + store i16* %incdec.ptr109, i16** %p, align 8 + %138 = load i16, i16* %incdec.ptr109, align 2 + %139 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight110 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %139, i32 0, i32 23 + %140 = load i16*, i16** %index2weight110, align 8 + %141 = load i16, i16* %i, align 2 + %conv111 = zext i16 %141 to i32 + %sub112 = sub nsw i32 %conv111, 1 + %idxprom113 = sext i32 %sub112 to i64 + %arrayidx114 = getelementptr inbounds i16, i16* %140, i64 %idxprom113 + store i16 %138, i16* %arrayidx114, align 2 + %142 = load i16*, i16** %p, align 8 + %incdec.ptr115 = getelementptr inbounds i16, i16* %142, i32 1 + store i16* %incdec.ptr115, i16** %p, align 8 + %143 = load i16, i16* %incdec.ptr115, align 2 + %144 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx116 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %144, i32 0, i32 24 + %145 = load i16*, i16** %index2ruleidx116, align 8 + %146 = load i16, i16* %i, align 2 + %conv117 = zext i16 %146 to i32 + %sub118 = sub nsw i32 %conv117, 1 + %idxprom119 = sext i32 %sub118 to i64 + %arrayidx120 = getelementptr inbounds i16, i16* %145, i64 %idxprom119 + store i16 %143, i16* %arrayidx120, align 2 + br label %while.cond105 + +while.end121: ; preds = %while.cond105 + store i16 0, i16* %i, align 2 + br label %for.cond + +for.cond: ; preds = %for.inc, %while.end121 + %147 = load i16, i16* %i, align 2 + %conv122 = zext i16 %147 to i32 + %148 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %multistart_tbl123 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %148, i32 0, i32 18 + %149 = load i16*, i16** %multistart_tbl123, align 8 + %arrayidx124 = getelementptr inbounds i16, i16* %149, i64 0 + %150 = load i16, i16* %arrayidx124, align 2 + %conv125 = zext i16 %150 to i32 + %cmp126 = icmp slt i32 %conv122, %conv125 + br i1 %cmp126, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %151 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %multistart_tbl128 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %151, i32 0, i32 18 + %152 = load i16*, i16** %multistart_tbl128, align 8 + store i16* %152, i16** %p, align 8 + %153 = load i16*, i16** %p, align 8 + %154 = load i16, i16* %i, align 2 + %idxprom129 = zext i16 %154 to i64 + %arrayidx130 = getelementptr inbounds i16, i16* %153, i64 %idxprom129 + %155 = load i16, i16* %arrayidx130, align 2 + %conv131 = zext i16 %155 to i32 + %156 = load i16*, i16** %p, align 8 + %idx.ext132 = sext i32 %conv131 to i64 + %add.ptr133 = getelementptr inbounds i16, i16* %156, i64 %idx.ext132 + store i16* %add.ptr133, i16** %p, align 8 + br label %do.body134 + +do.body134: ; preds = %do.body141, %for.body + %157 = load i16*, i16** %p, align 8 + %incdec.ptr135 = getelementptr inbounds i16, i16* %157, i32 1 + store i16* %incdec.ptr135, i16** %p, align 8 + %158 = load i16, i16* %157, align 2 + %conv136 = zext i16 %158 to i64 + store i64 %conv136, i64* %n, align 8 + %159 = load i16*, i16** %p, align 8 + %160 = load i16, i16* %159, align 2 + %tobool138 = icmp ne i16 %160, 0 + br i1 %tobool138, label %do.body141, label %for.inc + +do.body141: ; preds = %do.body134, %do.body141 + %161 = load i16*, i16** %p, align 8 + %incdec.ptr143 = getelementptr inbounds i16, i16* %161, i32 1 + store i16* %incdec.ptr143, i16** %p, align 8 + %162 = load i16, i16* %161, align 2 + %tobool144 = icmp ne i16 %162, 0 + br i1 %tobool144, label %do.body141, label %do.body134 + +for.inc: ; preds = %do.body134 + %163 = load i16, i16* %i, align 2 + %inc150 = add i16 %163, 1 + store i16 %inc150, i16* %i, align 2 + br label %for.cond + +for.end: ; preds = %for.cond + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %for.end, %if.then69, %if.then + %164 = load i32, i32* %retval, align 4 + ret i32 %164 +} + +; Function Attrs: nounwind +declare void @free(i8*) #2 + +; Function Attrs: nounwind +declare noalias i8* @calloc(i64, i64) #2 + +; Function Attrs: noinline nounwind uwtable +define hidden void @_locale_init_l(%struct.__uclibc_locale_struct.201* %base) #0 { +entry: + %base.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + store %struct.__uclibc_locale_struct.201* %base, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 6 + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + %call = call i8* @memset(i8* %arraydecay, i32 0, i64 14) #19 + %1 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale1 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %1, i32 0, i32 6 + %arrayidx = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale1, i64 0, i64 0 + store i8 35, i8* %arrayidx, align 8 + %2 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_item_count = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %2, i32 0, i32 8 + %arraydecay2 = getelementptr inbounds [6 x i8], [6 x i8]* %category_item_count, i64 0, i64 0 + %3 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_common_item_offsets_LEN = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %3, i32 0, i32 29 + %arraydecay3 = getelementptr inbounds [6 x i8], [6 x i8]* %lc_common_item_offsets_LEN, i64 0, i64 0 + %call4 = call i8* @memcpy(i8* %arraydecay2, i8* %arraydecay3, i64 6) #19 + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_item_count5 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %4, i32 0, i32 8 + %arrayidx6 = getelementptr inbounds [6 x i8], [6 x i8]* %category_item_count5, i64 0, i64 0 + %5 = load i8, i8* %arrayidx6, align 2 + %inc = add i8 %5, 1 + store i8 %inc, i8* %arrayidx6, align 2 + %6 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %6, i32 0, i32 7 + %arrayidx7 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets, i64 0, i64 0 + store i16 2488, i16* %arrayidx7, align 2 + %7 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets8 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %7, i32 0, i32 7 + %arrayidx9 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets8, i64 0, i64 1 + store i16 2576, i16* %arrayidx9, align 2 + %8 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets10 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %8, i32 0, i32 7 + %arrayidx11 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets10, i64 0, i64 2 + store i16 2600, i16* %arrayidx11, align 2 + %9 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets12 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %9, i32 0, i32 7 + %arrayidx13 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets12, i64 0, i64 3 + store i16 2776, i16* %arrayidx13, align 2 + %10 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets14 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %10, i32 0, i32 7 + %arrayidx15 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets14, i64 0, i64 5 + store i16 3176, i16* %arrayidx15, align 2 + %11 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8ctype = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %11, i32 0, i32 0 + %12 = bitcast [420 x i8]* %tbl8ctype to i8* + %13 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8ctype16 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %13, i32 0, i32 13 + store i8* %12, i8** %tbl8ctype16, align 8 + %14 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8uplow = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %14, i32 0, i32 1 + %15 = bitcast [504 x i8]* %tbl8uplow to i8* + %16 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8uplow17 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %16, i32 0, i32 15 + store i8* %15, i8** %tbl8uplow17, align 8 + %17 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8c2wc = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %17, i32 0, i32 2 + %18 = bitcast [1760 x i16]* %tbl8c2wc to i16* + %19 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8c2wc18 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %19, i32 0, i32 17 + store i16* %18, i16** %tbl8c2wc18, align 8 + %20 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8wc2c = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %20, i32 0, i32 3 + %21 = bitcast [4528 x i8]* %tbl8wc2c to i8* + %22 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8wc2c19 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %22, i32 0, i32 19 + store i8* %21, i8** %tbl8wc2c19, align 8 + %23 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tblwctype = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %23, i32 0, i32 4 + %24 = bitcast [3604 x i8]* %tblwctype to i8* + %25 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tblwctype20 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %25, i32 0, i32 21 + store i8* %24, i8** %tblwctype20, align 8 + %26 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tblwuplow = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %26, i32 0, i32 5 + %27 = bitcast [1680 x i8]* %tblwuplow to i8* + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tblwuplow21 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %28, i32 0, i32 22 + store i8* %27, i8** %tblwuplow21, align 8 + %29 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tblwuplow_diff = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %29, i32 0, i32 6 + %30 = bitcast [196 x i16]* %tblwuplow_diff to i16* + %31 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tblwuplow_diff22 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %31, i32 0, i32 23 + store i16* %30, i16** %tblwuplow_diff22, align 8 + %32 = load i16*, i16** @__C_ctype_b, align 8 + %33 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %33, i32 0, i32 0 + store i16* %32, i16** %__ctype_b, align 8 + %34 = load i16*, i16** @__C_ctype_tolower, align 8 + %35 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %35, i32 0, i32 1 + store i16* %34, i16** %__ctype_tolower, align 8 + %36 = load i16*, i16** @__C_ctype_toupper, align 8 + %37 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %37, i32 0, i32 2 + store i16* %36, i16** %__ctype_toupper, align 8 + %38 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %code2flag = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %38, i32 0, i32 20 + store i16* getelementptr inbounds ([16 x i16], [16 x i16]* @__code2flag, i64 0, i64 0), i16** %code2flag, align 8 + %39 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call23 = call i32 @_locale_set_l(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.76, i64 0, i64 0), %struct.__uclibc_locale_struct.201* %39) #18 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_locale_init() #0 { +entry: + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__global_locale, align 8 + call void @_locale_init_l(%struct.__uclibc_locale_struct.201* %0) #18 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @sigblock(i32 %mask) #0 { +entry: + %retval = alloca i32, align 4 + %mask.addr = alloca i32, align 4 + %set = alloca %struct.fd_set, align 8 + %oset = alloca %struct.fd_set, align 8 + store i32 %mask, i32* %mask.addr, align 4 + %0 = load i32, i32* %mask.addr, align 4 + %call = call i32 @sigset_set_old_mask(%struct.fd_set* %set, i32 %0) #18 + %cmp = icmp slt i32 %call, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %call1 = call i32 @sigprocmask(i32 0, %struct.fd_set* %set, %struct.fd_set* %oset) #19 + %cmp2 = icmp slt i32 %call1, 0 + br i1 %cmp2, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.end + store i32 -1, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %if.end + %call5 = call i32 @sigset_get_old_mask(%struct.fd_set* %oset) #18 + store i32 %call5, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %1 = load i32, i32* %retval, align 4 + ret i32 %1 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @sigset_set_old_mask(%struct.fd_set* %set, i32 %mask) #0 { +entry: + %set.addr = alloca %struct.fd_set*, align 8 + %mask.addr = alloca i32, align 4 + %ptr = alloca i64*, align 8 + %cnt = alloca i32, align 4 + store %struct.fd_set* %set, %struct.fd_set** %set.addr, align 8 + store i32 %mask, i32* %mask.addr, align 4 + %0 = load %struct.fd_set*, %struct.fd_set** %set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %0, i32 0, i32 0 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 0 + store i64* %arrayidx, i64** %ptr, align 8 + %1 = load i32, i32* %mask.addr, align 4 + %conv = zext i32 %1 to i64 + %2 = load i64*, i64** %ptr, align 8 + %incdec.ptr = getelementptr inbounds i64, i64* %2, i32 1 + store i64* %incdec.ptr, i64** %ptr, align 8 + store i64 %conv, i64* %2, align 8 + store i32 14, i32* %cnt, align 4 + br label %do.body + +do.body: ; preds = %do.body, %entry + %3 = load i64*, i64** %ptr, align 8 + %incdec.ptr1 = getelementptr inbounds i64, i64* %3, i32 1 + store i64* %incdec.ptr1, i64** %ptr, align 8 + store i64 0, i64* %3, align 8 + %4 = load i32, i32* %cnt, align 4 + %dec = add nsw i32 %4, -1 + store i32 %dec, i32* %cnt, align 4 + %cmp = icmp sge i32 %dec, 0 + br i1 %cmp, label %do.body, label %do.end + +do.end: ; preds = %do.body + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @sigset_get_old_mask(%struct.fd_set* %set) #0 { +entry: + %set.addr = alloca %struct.fd_set*, align 8 + store %struct.fd_set* %set, %struct.fd_set** %set.addr, align 8 + %0 = load %struct.fd_set*, %struct.fd_set** %set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %0, i32 0, i32 0 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 0 + %1 = load i64, i64* %arrayidx, align 8 + %conv = trunc i64 %1 to i32 + ret i32 %conv +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_stdio_term() #0 { +entry: + %ptr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %0, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %1, null + br i1 %tobool, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 0 + %3 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %3 to i32 + %and = and i32 %conv, 64 + %tobool1 = icmp ne i32 %and, 0 + br i1 %tobool1, label %if.then, label %for.inc + +if.then: ; preds = %for.body + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %call = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %4) #18 + br label %for.inc + +for.inc: ; preds = %for.body, %if.then + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 9 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %6, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_stdio_init() #0 { +entry: + %old_errno = alloca i32, align 4 + %0 = load i32, i32* @errno, align 4 + store i32 %0, i32* %old_errno, align 4 + %call = call i32 @isatty(i32 0) #19 + %sub = sub nsw i32 1, %call + %mul = mul i32 %sub, 256 + %1 = load i16, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 0, i32 0), align 16 + %conv = zext i16 %1 to i32 + %xor = xor i32 %conv, %mul + %conv1 = trunc i32 %xor to i16 + store i16 %conv1, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 0, i32 0), align 16 + %call2 = call i32 @isatty(i32 1) #19 + %sub3 = sub nsw i32 1, %call2 + %mul4 = mul i32 %sub3, 256 + %2 = load i16, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 1, i32 0), align 8 + %conv5 = zext i16 %2 to i32 + %xor6 = xor i32 %conv5, %mul4 + %conv7 = trunc i32 %xor6 to i16 + store i16 %conv7, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 1, i32 0), align 8 + %3 = load i32, i32* %old_errno, align 4 + store i32 %3, i32* @errno, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getchar_unlocked() #0 { +entry: + %stream = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdin, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %0, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %1, i32 0, i32 5 + %2 = load i8*, i8** %__bufpos, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 7 + %4 = load i8*, i8** %__bufgetc_u, align 8 + %cmp = icmp ult i8* %2, %4 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %entry + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 5 + %6 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + %7 = load i8, i8* %6, align 1 + %conv = zext i8 %7 to i32 + br label %cond.end + +cond.false: ; preds = %entry + %call = call i32 @__fgetc_unlocked(%struct.__STDIO_FILE_STRUCT.568* %5) #18 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ %conv, %cond.true ], [ %call, %cond.false ] + ret i32 %cond +} + +; Function Attrs: noinline noreturn nounwind uwtable +declare void @abort() #1 + +; Function Attrs: noreturn +declare void @_exit(i32) #13 + +; Function Attrs: noinline noreturn nounwind uwtable +define void @exit(i32 %rv) #1 { +entry: + %rv.addr = alloca i32, align 4 + store i32 %rv, i32* %rv.addr, align 4 + %0 = load void (i32)*, void (i32)** @__exit_cleanup, align 8 + %tobool = icmp ne void (i32)* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load void (i32)*, void (i32)** @__exit_cleanup, align 8 + %2 = load i32, i32* %rv.addr, align 4 + call void %1(i32 %2) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + call void @__uClibc_fini() #18 + call void @_stdio_term() #18 + %3 = load i32, i32* %rv.addr, align 4 + call void @_exit(i32 %3) #27 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define i8* @memcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r1 = alloca i8*, align 8 + %r2 = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %r1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %r2, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %2 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load i8*, i8** %r2, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %r2, align 8 + %4 = load i8, i8* %3, align 1 + %5 = load i8*, i8** %r1, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr1, i8** %r1, align 8 + store i8 %4, i8* %5, align 1 + %6 = load i64, i64* %n.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %7 = load i8*, i8** %s1.addr, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @memset(i8* nonnull %s, i32 %c, i64 %n) #0 { +entry: + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %n.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %1 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %2 = load i32, i32* %c.addr, align 4 + %conv = trunc i32 %2 to i8 + %3 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + store i8 %conv, i8* %3, align 1 + %4 = load i64, i64* %n.addr, align 8 + %dec = add i64 %4, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %5 = load i8*, i8** %s.addr, align 8 + ret i8* %5 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @strrchr(i8* nonnull %s, i32 %c) #14 { +entry: + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i8* null, i8** %p, align 8 + br label %do.body + +do.body: ; preds = %do.cond, %entry + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %2 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %2 to i8 + %conv2 = sext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + br i1 %cmp, label %if.then, label %do.cond + +if.then: ; preds = %do.body + %3 = load i8*, i8** %s.addr, align 8 + store i8* %3, i8** %p, align 8 + br label %do.cond + +do.cond: ; preds = %do.body, %if.then + %4 = load i8*, i8** %s.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr, i8** %s.addr, align 8 + %5 = load i8, i8* %4, align 1 + %tobool = icmp ne i8 %5, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %6 = load i8*, i8** %p, align 8 + ret i8* %6 +} + +; Function Attrs: noinline noreturn nounwind uwtable +define dso_local void @usage(i32 %status) #6 { +entry: + %status.addr = alloca i32, align 4 + store i32 %status, i32* %status.addr, align 4 + %0 = load i32, i32* %status.addr, align 4 + %cmp = icmp ne i32 %0, 0 + br i1 %cmp, label %do.body, label %if.else + +do.body: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stderr to %struct._IO_FILE**), align 8 + %2 = load i8*, i8** @program_name, align 8 + %call = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %1, i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.95, i64 0, i64 0), i8* %2) + br label %if.end + +if.else: ; preds = %entry + %3 = load i8*, i8** @program_name, align 8 + %call1 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.1.96, i64 0, i64 0), i8* %3) + %4 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call2 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([52 x i8], [52 x i8]* @.str.2.97, i64 0, i64 0), %struct._IO_FILE* %4) + %5 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call3 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.3.98, i64 0, i64 0), %struct._IO_FILE* %5) + %6 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call4 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([189 x i8], [189 x i8]* @.str.4.99, i64 0, i64 0), %struct._IO_FILE* %6) + %7 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call5 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([192 x i8], [192 x i8]* @.str.5.100, i64 0, i64 0), %struct._IO_FILE* %7) + %8 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call6 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([191 x i8], [191 x i8]* @.str.6.101, i64 0, i64 0), %struct._IO_FILE* %8) + %9 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call7 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([53 x i8], [53 x i8]* @.str.7.102, i64 0, i64 0), %struct._IO_FILE* %9) + %10 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call8 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.8.103, i64 0, i64 0), %struct._IO_FILE* %10) + %11 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call9 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.9.104, i64 0, i64 0), %struct._IO_FILE* %11) + %12 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call10 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.10.105, i64 0, i64 0), %struct._IO_FILE* %12) + %13 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call11 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.11.106, i64 0, i64 0), %struct._IO_FILE* %13) + %14 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call12 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.12.107, i64 0, i64 0), %struct._IO_FILE* %14) + %15 = load i8*, i8** @program_name, align 8 + %16 = load i8*, i8** @program_name, align 8 + %call13 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([156 x i8], [156 x i8]* @.str.13.108, i64 0, i64 0), i8* %15, i8* %16) + call void @emit_ancillary_info(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.14.109, i64 0, i64 0)) + br label %if.end + +if.end: ; preds = %if.else, %do.body + %17 = load i32, i32* %status.addr, align 4 + call void @exit(i32 %17) #26 + unreachable +} + +declare dso_local i32 @printf(i8*, ...) #5 + +; Function Attrs: noinline nounwind uwtable +define internal void @emit_ancillary_info(i8* %program) #3 { +entry: + %program.addr = alloca i8*, align 8 + %infomap = alloca [7 x %struct.infomap], align 16 + %node = alloca i8*, align 8 + %map_prog = alloca %struct.infomap*, align 8 + %lc_messages = alloca i8*, align 8 + store i8* %program, i8** %program.addr, align 8 + %0 = bitcast [7 x %struct.infomap]* %infomap to i8* + %1 = call i8* @memcpy(i8* %0, i8* bitcast ([7 x %struct.infomap]* @__const.emit_ancillary_info.infomap to i8*), i64 112) + %2 = load i8*, i8** %program.addr, align 8 + store i8* %2, i8** %node, align 8 + %arraydecay = getelementptr inbounds [7 x %struct.infomap], [7 x %struct.infomap]* %infomap, i64 0, i64 0 + store %struct.infomap* %arraydecay, %struct.infomap** %map_prog, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %3 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + %program1 = getelementptr inbounds %struct.infomap, %struct.infomap* %3, i32 0, i32 0 + %4 = load i8*, i8** %program1, align 8 + %tobool = icmp ne i8* %4, null + br i1 %tobool, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %5 = load i8*, i8** %program.addr, align 8 + %6 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + %program2 = getelementptr inbounds %struct.infomap, %struct.infomap* %6, i32 0, i32 0 + %7 = load i8*, i8** %program2, align 8 + %call = call i32 @strcmp(i8* %5, i8* %7) #23 + %cmp = icmp eq i32 %call, 0 + %lnot = xor i1 %cmp, true + br label %land.end + +land.end: ; preds = %land.rhs, %while.cond + %8 = phi i1 [ false, %while.cond ], [ %lnot, %land.rhs ] + %9 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + br i1 %8, label %while.body, label %while.end + +while.body: ; preds = %land.end + %incdec.ptr = getelementptr inbounds %struct.infomap, %struct.infomap* %9, i32 1 + store %struct.infomap* %incdec.ptr, %struct.infomap** %map_prog, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %node3 = getelementptr inbounds %struct.infomap, %struct.infomap* %9, i32 0, i32 1 + %10 = load i8*, i8** %node3, align 8 + %tobool4 = icmp ne i8* %10, null + br i1 %tobool4, label %if.then, label %if.end + +if.then: ; preds = %while.end + %11 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + %node5 = getelementptr inbounds %struct.infomap, %struct.infomap* %11, i32 0, i32 1 + %12 = load i8*, i8** %node5, align 8 + store i8* %12, i8** %node, align 8 + br label %if.end + +if.end: ; preds = %if.then, %while.end + %call6 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.34.110, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.18.111, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.35.112, i64 0, i64 0)) + %call7 = call i8* @setlocale(i32 5, i8* null) #11 + store i8* %call7, i8** %lc_messages, align 8 + %13 = load i8*, i8** %lc_messages, align 8 + %tobool8 = icmp ne i8* %13, null + br i1 %tobool8, label %land.lhs.true, label %if.end13 + +land.lhs.true: ; preds = %if.end + %14 = load i8*, i8** %lc_messages, align 8 + %call9 = call i32 @strncmp(i8* %14, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.36, i64 0, i64 0), i64 3) #23 + %tobool10 = icmp ne i32 %call9, 0 + br i1 %tobool10, label %if.then11, label %if.end13 + +if.then11: ; preds = %land.lhs.true + %15 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call12 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.37, i64 0, i64 0), %struct._IO_FILE* %15) + br label %if.end13 + +if.end13: ; preds = %if.then11, %land.lhs.true, %if.end + %16 = load i8*, i8** %program.addr, align 8 + %call14 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.38, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.35.112, i64 0, i64 0), i8* %16) + %17 = load i8*, i8** %node, align 8 + %18 = load i8*, i8** %node, align 8 + %19 = load i8*, i8** %program.addr, align 8 + %cmp15 = icmp eq i8* %18, %19 + %20 = zext i1 %cmp15 to i64 + %cond = select i1 %cmp15, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.40, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.15.113, i64 0, i64 0) + %call16 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([51 x i8], [51 x i8]* @.str.39, i64 0, i64 0), i8* %17, i8* %cond) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__klee_posix_wrapped_main(i32 %argc, i8** %argv) #3 { +entry: + %retval = alloca i32, align 4 + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %c = alloca i32, align 4 + store i32 0, i32* %retval, align 4 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + %0 = load i8**, i8*** %argv.addr, align 8 + %arrayidx = getelementptr inbounds i8*, i8** %0, i64 0 + %1 = load i8*, i8** %arrayidx, align 8 + call void @set_program_name(i8* %1) + %call = call i8* @setlocale(i32 6, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.15.113, i64 0, i64 0)) #11 + %call1 = call zeroext i1 @hard_locale(i32 3) + %frombool = zext i1 %call1 to i8 + store i8 %frombool, i8* @hard_LC_COLLATE, align 1 + %call2 = call i32 @atexit(void ()* @close_stdout) #11 + store i8 1, i8* @only_file_1, align 1 + store i8 1, i8* @only_file_2, align 1 + store i8 1, i8* @both, align 1 + store i8 0, i8* @seen_unpairable, align 1 + store i8 0, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @issued_disorder_warning, i64 0, i64 1), align 1 + store i8 0, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @issued_disorder_warning, i64 0, i64 0), align 1 + store i32 0, i32* @check_input_order, align 4 + store i8 0, i8* @total_option, align 1 + br label %while.cond + +while.cond: ; preds = %sw.epilog, %entry + %2 = load i32, i32* %argc.addr, align 4 + %3 = load i8**, i8*** %argv.addr, align 8 + %call3 = call i32 @getopt_long(i32 %2, i8** %3, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.16.125, i64 0, i64 0), %struct.option* getelementptr inbounds ([8 x %struct.option], [8 x %struct.option]* @long_options, i64 0, i64 0), i32* null) #11 + store i32 %call3, i32* %c, align 4 + %cmp = icmp ne i32 %call3, -1 + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i32, i32* %c, align 4 + br label %NodeBlock17 + +NodeBlock17: ; preds = %while.body + %case.cmp18 = icmp eq i32 %4, 49 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %4, 50 + br i1 %case.cmp16, label %sw.bb4, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %4, 51 + br i1 %case.cmp14, label %sw.bb5, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %4, 122 + br i1 %case.cmp12, label %sw.bb6, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %4, 129 + br i1 %case.cmp10, label %sw.bb7, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %4, 128 + br i1 %case.cmp8, label %sw.bb8, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %4, 130 + br i1 %case.cmp6, label %sw.bb9, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %4, 131 + br i1 %case.cmp4, label %sw.bb14, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %4, -130 + br i1 %case.cmp2, label %sw.bb15, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %4, -131 + br i1 %case.cmp, label %sw.bb16, label %newDefault + +sw.bb: ; preds = %NodeBlock17 + store i8 0, i8* @only_file_1, align 1 + br label %sw.epilog + +sw.bb4: ; preds = %NodeBlock15 + store i8 0, i8* @only_file_2, align 1 + br label %sw.epilog + +sw.bb5: ; preds = %NodeBlock13 + store i8 0, i8* @both, align 1 + br label %sw.epilog + +sw.bb6: ; preds = %NodeBlock11 + store i8 0, i8* @delim, align 1 + br label %sw.epilog + +sw.bb7: ; preds = %NodeBlock9 + store i32 2, i32* @check_input_order, align 4 + br label %sw.epilog + +sw.bb8: ; preds = %NodeBlock7 + store i32 1, i32* @check_input_order, align 4 + br label %sw.epilog + +sw.bb9: ; preds = %NodeBlock5 + %5 = load i64, i64* @col_sep_len, align 8 + %tobool = icmp ne i64 %5, 0 + br i1 %tobool, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %sw.bb9 + %6 = load i8*, i8** @col_sep, align 8 + %7 = load i8*, i8** @optarg, align 8 + %call10 = call i32 @strcmp(i8* %6, i8* %7) #23 + %cmp11 = icmp eq i32 %call10, 0 + br i1 %cmp11, label %if.end, label %if.then + +if.then: ; preds = %land.lhs.true + call void (i32, i32, i8*, ...) @error(i32 1, i32 0, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.17.126, i64 0, i64 0)) + unreachable + +if.end: ; preds = %land.lhs.true, %sw.bb9 + %8 = load i8*, i8** @optarg, align 8 + store i8* %8, i8** @col_sep, align 8 + %9 = load i8*, i8** @optarg, align 8 + %10 = load i8, i8* %9, align 1 + %conv = sext i8 %10 to i32 + %tobool12 = icmp ne i32 %conv, 0 + br i1 %tobool12, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end + %11 = load i8*, i8** @optarg, align 8 + %call13 = call i64 @strlen(i8* %11) #23 + br label %cond.end + +cond.end: ; preds = %if.end, %cond.true + %cond = phi i64 [ %call13, %cond.true ], [ 1, %if.end ] + store i64 %cond, i64* @col_sep_len, align 8 + br label %sw.epilog + +sw.bb14: ; preds = %NodeBlock3 + store i8 1, i8* @total_option, align 1 + br label %sw.epilog + +sw.bb15: ; preds = %NodeBlock1 + call void @usage(i32 0) #24 + unreachable + +sw.bb16: ; preds = %NodeBlock + %12 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %13 = load i8*, i8** @Version, align 8 + call void (%struct._IO_FILE*, i8*, i8*, i8*, ...) @version_etc(%struct._IO_FILE* %12, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.14.109, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.18.111, i64 0, i64 0), i8* %13, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.19.127, i64 0, i64 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.20.128, i64 0, i64 0), i8* null) + call void @exit(i32 0) #26 + unreachable + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @usage(i32 1) #24 + unreachable + +sw.epilog: ; preds = %sw.bb14, %cond.end, %sw.bb8, %sw.bb7, %sw.bb6, %sw.bb5, %sw.bb4, %sw.bb + br label %while.cond + +while.end: ; preds = %while.cond + %14 = load i64, i64* @col_sep_len, align 8 + %tobool17 = icmp ne i64 %14, 0 + br i1 %tobool17, label %if.end19, label %if.then18 + +if.then18: ; preds = %while.end + store i64 1, i64* @col_sep_len, align 8 + br label %if.end19 + +if.end19: ; preds = %if.then18, %while.end + %15 = load i32, i32* %argc.addr, align 4 + %16 = load i32, i32* @optind, align 4 + %sub = sub nsw i32 %15, %16 + %cmp20 = icmp slt i32 %sub, 2 + %17 = load i32, i32* %argc.addr, align 4 + %18 = load i32, i32* @optind, align 4 + br i1 %cmp20, label %if.then22, label %if.end30 + +if.then22: ; preds = %if.end19 + %cmp23 = icmp sle i32 %17, %18 + br i1 %cmp23, label %if.then25, label %if.else + +if.then25: ; preds = %if.then22 + call void (i32, i32, i8*, ...) @error(i32 0, i32 0, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.21.129, i64 0, i64 0)) + br label %if.end29 + +if.else: ; preds = %if.then22 + %19 = load i8**, i8*** %argv.addr, align 8 + %20 = load i32, i32* %argc.addr, align 4 + %sub26 = sub nsw i32 %20, 1 + %idxprom = sext i32 %sub26 to i64 + %arrayidx27 = getelementptr inbounds i8*, i8** %19, i64 %idxprom + %21 = load i8*, i8** %arrayidx27, align 8 + %call28 = call i8* @quote(i8* %21) + call void (i32, i32, i8*, ...) @error(i32 0, i32 0, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.22.130, i64 0, i64 0), i8* %call28) + br label %if.end29 + +if.end29: ; preds = %if.else, %if.then25 + call void @usage(i32 1) #24 + unreachable + +if.end30: ; preds = %if.end19 + %sub31 = sub nsw i32 %17, %18 + %cmp32 = icmp slt i32 2, %sub31 + %22 = load i8**, i8*** %argv.addr, align 8 + %23 = load i32, i32* @optind, align 4 + br i1 %cmp32, label %if.then34, label %if.end38 + +if.then34: ; preds = %if.end30 + %add = add nsw i32 %23, 2 + %idxprom35 = sext i32 %add to i64 + %arrayidx36 = getelementptr inbounds i8*, i8** %22, i64 %idxprom35 + %24 = load i8*, i8** %arrayidx36, align 8 + %call37 = call i8* @quote(i8* %24) + call void (i32, i32, i8*, ...) @error(i32 0, i32 0, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23.131, i64 0, i64 0), i8* %call37) + call void @usage(i32 1) #24 + unreachable + +if.end38: ; preds = %if.end30 + %idx.ext = sext i32 %23 to i64 + %add.ptr = getelementptr inbounds i8*, i8** %22, i64 %idx.ext + call void @compare_files(i8** %add.ptr) + %25 = load i8, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @issued_disorder_warning, i64 0, i64 0), align 1 + %tobool39 = trunc i8 %25 to i1 + br i1 %tobool39, label %if.then43, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end38 + %26 = load i8, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @issued_disorder_warning, i64 0, i64 1), align 1 + %tobool41 = trunc i8 %26 to i1 + br i1 %tobool41, label %if.then43, label %if.else44 + +if.then43: ; preds = %lor.lhs.false, %if.end38 + call void (i32, i32, i8*, ...) @error(i32 1, i32 0, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.24.132, i64 0, i64 0)) + unreachable + +if.else44: ; preds = %lor.lhs.false + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_program_name(i8* %argv0) #3 { +entry: + %argv0.addr = alloca i8*, align 8 + %slash = alloca i8*, align 8 + %base = alloca i8*, align 8 + store i8* %argv0, i8** %argv0.addr, align 8 + %0 = load i8*, i8** %argv0.addr, align 8 + %cmp = icmp eq i8* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stderr to %struct._IO_FILE**), align 8 + %call = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.82, i64 0, i64 0), %struct._IO_FILE* %1) + call void @abort() #26 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %argv0.addr, align 8 + %call1 = call i8* @strrchr(i8* %2, i32 47) #23 + store i8* %call1, i8** %slash, align 8 + %3 = load i8*, i8** %slash, align 8 + %cmp2 = icmp ne i8* %3, null + %4 = load i8*, i8** %slash, align 8 + %add.ptr = getelementptr inbounds i8, i8* %4, i64 1 + %5 = load i8*, i8** %argv0.addr, align 8 + %cond = select i1 %cmp2, i8* %add.ptr, i8* %5 + store i8* %cond, i8** %base, align 8 + %6 = load i8*, i8** %base, align 8 + %7 = load i8*, i8** %argv0.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %6 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %cmp3 = icmp sge i64 %sub.ptr.sub, 7 + br i1 %cmp3, label %land.lhs.true, label %if.end13 + +land.lhs.true: ; preds = %if.end + %8 = load i8*, i8** %base, align 8 + %add.ptr4 = getelementptr inbounds i8, i8* %8, i64 -7 + %call5 = call i32 @strncmp(i8* %add.ptr4, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1.83, i64 0, i64 0), i64 7) #23 + %cmp6 = icmp eq i32 %call5, 0 + br i1 %cmp6, label %if.then7, label %if.end13 + +if.then7: ; preds = %land.lhs.true + %9 = load i8*, i8** %base, align 8 + store i8* %9, i8** %argv0.addr, align 8 + %10 = load i8*, i8** %base, align 8 + %call8 = call i32 @strncmp(i8* %10, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2.84, i64 0, i64 0), i64 3) #23 + %cmp9 = icmp eq i32 %call8, 0 + br i1 %cmp9, label %if.then10, label %if.end13 + +if.then10: ; preds = %if.then7 + %11 = load i8*, i8** %base, align 8 + %add.ptr11 = getelementptr inbounds i8, i8* %11, i64 3 + store i8* %add.ptr11, i8** %argv0.addr, align 8 + %12 = load i8*, i8** %argv0.addr, align 8 + store i8* %12, i8** @program_invocation_short_name, align 8 + br label %if.end13 + +if.end13: ; preds = %if.then7, %if.then10, %land.lhs.true, %if.end + %13 = load i8*, i8** %argv0.addr, align 8 + store i8* %13, i8** @program_name, align 8 + %14 = load i8*, i8** %argv0.addr, align 8 + store i8* %14, i8** @program_invocation_name, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @hard_locale(i32 %category) #3 { +entry: + %retval = alloca i1, align 1 + %category.addr = alloca i32, align 4 + %locale = alloca [257 x i8], align 16 + store i32 %category, i32* %category.addr, align 4 + %0 = load i32, i32* %category.addr, align 4 + %arraydecay = getelementptr inbounds [257 x i8], [257 x i8]* %locale, i64 0, i64 0 + %call = call i32 @setlocale_null_r(i32 %0, i8* %arraydecay, i64 257) + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +if.end: ; preds = %entry + %arraydecay1 = getelementptr inbounds [257 x i8], [257 x i8]* %locale, i64 0, i64 0 + %call2 = call i32 @strcmp(i8* %arraydecay1, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.68.133, i64 0, i64 0)) #23 + %cmp = icmp eq i32 %call2, 0 + br i1 %cmp, label %lor.end, label %lor.rhs + +lor.rhs: ; preds = %if.end + %arraydecay3 = getelementptr inbounds [257 x i8], [257 x i8]* %locale, i64 0, i64 0 + %call4 = call i32 @strcmp(i8* %arraydecay3, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1.69.134, i64 0, i64 0)) #23 + %cmp5 = icmp eq i32 %call4, 0 + br label %lor.end + +lor.end: ; preds = %lor.rhs, %if.end + %1 = phi i1 [ true, %if.end ], [ %cmp5, %lor.rhs ] + %lnot = xor i1 %1, true + store i1 %lnot, i1* %retval, align 1 + br label %return + +return: ; preds = %lor.end, %if.then + %2 = load i1, i1* %retval, align 1 + ret i1 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @close_stdout() #3 { +entry: + %write_error = alloca i8*, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call = call i32 @close_stream(%struct._IO_FILE* %0) + %cmp = icmp ne i32 %call, 0 + br i1 %cmp, label %land.lhs.true, label %if.end9 + +land.lhs.true: ; preds = %entry + %1 = load i8, i8* @ignore_EPIPE, align 1 + %tobool = trunc i8 %1 to i1 + br i1 %tobool, label %land.lhs.true1, label %if.then + +land.lhs.true1: ; preds = %land.lhs.true + %call2 = call i32* @__errno_location() #25 + %2 = load i32, i32* %call2, align 4 + %cmp3 = icmp eq i32 %2, 32 + br i1 %cmp3, label %if.end9, label %if.then + +if.then: ; preds = %land.lhs.true1, %land.lhs.true + store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.57, i64 0, i64 0), i8** %write_error, align 8 + %3 = load i8*, i8** @file_name, align 8 + %tobool4 = icmp ne i8* %3, null + %call6 = call i32* @__errno_location() #25 + %4 = load i32, i32* %call6, align 4 + br i1 %tobool4, label %if.then5, label %if.else + +if.then5: ; preds = %if.then + %5 = load i8*, i8** @file_name, align 8 + %call7 = call i8* @quotearg_colon(i8* %5) + %6 = load i8*, i8** %write_error, align 8 + call void (i32, i32, i8*, ...) @error(i32 0, i32 %4, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.58, i64 0, i64 0), i8* %call7, i8* %6) + br label %if.end + +if.else: ; preds = %if.then + %7 = load i8*, i8** %write_error, align 8 + call void (i32, i32, i8*, ...) @error(i32 0, i32 %4, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2.59, i64 0, i64 0), i8* %7) + br label %if.end + +if.end: ; preds = %if.else, %if.then5 + %8 = load volatile i32, i32* @exit_failure, align 4 + call void @_exit(i32 %8) #24 + unreachable + +if.end9: ; preds = %land.lhs.true1, %entry + %9 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stderr to %struct._IO_FILE**), align 8 + %call10 = call i32 @close_stream(%struct._IO_FILE* %9) + %cmp11 = icmp ne i32 %call10, 0 + br i1 %cmp11, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.end9 + %10 = load volatile i32, i32* @exit_failure, align 4 + call void @_exit(i32 %10) #24 + unreachable + +if.end13: ; preds = %if.end9 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, ...) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors = alloca [1 x %struct.__va_list_tag.0], align 16 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %authors, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %1 = load i8*, i8** %command_name.addr, align 8 + %2 = load i8*, i8** %package.addr, align 8 + %3 = load i8*, i8** %version.addr, align 8 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %authors, i64 0, i64 0 + call void @version_etc_va(%struct._IO_FILE* %0, i8* %1, i8* %2, i8* %3, %struct.__va_list_tag.0* %arraydecay2) + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %authors, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote(i8* %arg) #3 { +entry: + %arg.addr = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quote_n(i32 0, i8* %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define internal void @compare_files(i8** %infiles) #3 { +entry: + %infiles.addr = alloca i8**, align 8 + %lba = alloca [2 x [4 x %struct.linebuffer]], align 16 + %thisline = alloca [2 x %struct.linebuffer*], align 16 + %all_line = alloca [2 x [4 x %struct.linebuffer*]], align 16 + %alt = alloca [2 x [3 x i32]], align 16 + %streams = alloca [2 x %struct._IO_FILE*], align 16 + %total = alloca [3 x i64], align 16 + %i = alloca i32, align 4 + %j = alloca i32, align 4 + %order = alloca i32, align 4 + %fill_up = alloca [2 x i8], align 1 + %len = alloca i64, align 8 + %buf1 = alloca [21 x i8], align 16 + %buf2 = alloca [21 x i8], align 16 + %buf3 = alloca [21 x i8], align 16 + store i8** %infiles, i8*** %infiles.addr, align 8 + %0 = bitcast [3 x i64]* %total to i8* + %1 = call i8* @memset(i8* %0, i32 0, i64 24) + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc61, %entry + %2 = load i32, i32* %i, align 4 + %cmp = icmp slt i32 %2, 2 + br i1 %cmp, label %for.body, label %while.cond + +for.body: ; preds = %for.cond + store i32 0, i32* %j, align 4 + br label %for.cond1 + +for.cond1: ; preds = %for.body3, %for.body + %3 = load i32, i32* %j, align 4 + %cmp2 = icmp slt i32 %3, 4 + %4 = load i32, i32* %i, align 4 + %idxprom = sext i32 %4 to i64 + br i1 %cmp2, label %for.body3, label %for.end + +for.body3: ; preds = %for.cond1 + %arrayidx = getelementptr inbounds [2 x [4 x %struct.linebuffer]], [2 x [4 x %struct.linebuffer]]* %lba, i64 0, i64 %idxprom + %5 = load i32, i32* %j, align 4 + %idxprom4 = sext i32 %5 to i64 + %arrayidx5 = getelementptr inbounds [4 x %struct.linebuffer], [4 x %struct.linebuffer]* %arrayidx, i64 0, i64 %idxprom4 + call void @initbuffer(%struct.linebuffer* %arrayidx5) + %6 = load i32, i32* %i, align 4 + %idxprom6 = sext i32 %6 to i64 + %arrayidx7 = getelementptr inbounds [2 x [4 x %struct.linebuffer]], [2 x [4 x %struct.linebuffer]]* %lba, i64 0, i64 %idxprom6 + %7 = load i32, i32* %j, align 4 + %idxprom8 = sext i32 %7 to i64 + %arrayidx9 = getelementptr inbounds [4 x %struct.linebuffer], [4 x %struct.linebuffer]* %arrayidx7, i64 0, i64 %idxprom8 + %8 = load i32, i32* %i, align 4 + %idxprom10 = sext i32 %8 to i64 + %arrayidx11 = getelementptr inbounds [2 x [4 x %struct.linebuffer*]], [2 x [4 x %struct.linebuffer*]]* %all_line, i64 0, i64 %idxprom10 + %9 = load i32, i32* %j, align 4 + %idxprom12 = sext i32 %9 to i64 + %arrayidx13 = getelementptr inbounds [4 x %struct.linebuffer*], [4 x %struct.linebuffer*]* %arrayidx11, i64 0, i64 %idxprom12 + store %struct.linebuffer* %arrayidx9, %struct.linebuffer** %arrayidx13, align 8 + %10 = load i32, i32* %j, align 4 + %inc = add nsw i32 %10, 1 + store i32 %inc, i32* %j, align 4 + br label %for.cond1 + +for.end: ; preds = %for.cond1 + %arrayidx15 = getelementptr inbounds [2 x [3 x i32]], [2 x [3 x i32]]* %alt, i64 0, i64 %idxprom + %arrayidx16 = getelementptr inbounds [3 x i32], [3 x i32]* %arrayidx15, i64 0, i64 0 + store i32 0, i32* %arrayidx16, align 4 + %11 = load i32, i32* %i, align 4 + %idxprom17 = sext i32 %11 to i64 + %arrayidx18 = getelementptr inbounds [2 x [3 x i32]], [2 x [3 x i32]]* %alt, i64 0, i64 %idxprom17 + %arrayidx19 = getelementptr inbounds [3 x i32], [3 x i32]* %arrayidx18, i64 0, i64 1 + store i32 0, i32* %arrayidx19, align 4 + %12 = load i32, i32* %i, align 4 + %idxprom20 = sext i32 %12 to i64 + %arrayidx21 = getelementptr inbounds [2 x [3 x i32]], [2 x [3 x i32]]* %alt, i64 0, i64 %idxprom20 + %arrayidx22 = getelementptr inbounds [3 x i32], [3 x i32]* %arrayidx21, i64 0, i64 2 + store i32 0, i32* %arrayidx22, align 4 + %13 = load i8**, i8*** %infiles.addr, align 8 + %14 = load i32, i32* %i, align 4 + %idxprom23 = sext i32 %14 to i64 + %arrayidx24 = getelementptr inbounds i8*, i8** %13, i64 %idxprom23 + %15 = load i8*, i8** %arrayidx24, align 8 + %call = call i32 @strcmp(i8* %15, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.49, i64 0, i64 0)) #23 + %cmp25 = icmp eq i32 %call, 0 + br i1 %cmp25, label %cond.true, label %cond.false + +cond.true: ; preds = %for.end + %16 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdin to %struct._IO_FILE**), align 8 + br label %cond.end + +cond.false: ; preds = %for.end + %17 = load i8**, i8*** %infiles.addr, align 8 + %18 = load i32, i32* %i, align 4 + %idxprom26 = sext i32 %18 to i64 + %arrayidx27 = getelementptr inbounds i8*, i8** %17, i64 %idxprom26 + %19 = load i8*, i8** %arrayidx27, align 8 + %call28 = call %struct._IO_FILE* @fopen_safer(i8* %19, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.50, i64 0, i64 0)) + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi %struct._IO_FILE* [ %16, %cond.true ], [ %call28, %cond.false ] + %20 = load i32, i32* %i, align 4 + %idxprom29 = sext i32 %20 to i64 + %arrayidx30 = getelementptr inbounds [2 x %struct._IO_FILE*], [2 x %struct._IO_FILE*]* %streams, i64 0, i64 %idxprom29 + store %struct._IO_FILE* %cond, %struct._IO_FILE** %arrayidx30, align 8 + %21 = load i32, i32* %i, align 4 + %idxprom31 = sext i32 %21 to i64 + %arrayidx32 = getelementptr inbounds [2 x %struct._IO_FILE*], [2 x %struct._IO_FILE*]* %streams, i64 0, i64 %idxprom31 + %22 = load %struct._IO_FILE*, %struct._IO_FILE** %arrayidx32, align 8 + %tobool = icmp ne %struct._IO_FILE* %22, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %cond.end + %call33 = call i32* @__errno_location() #25 + %23 = load i32, i32* %call33, align 4 + %24 = load i8**, i8*** %infiles.addr, align 8 + %25 = load i32, i32* %i, align 4 + %idxprom34 = sext i32 %25 to i64 + %arrayidx35 = getelementptr inbounds i8*, i8** %24, i64 %idxprom34 + %26 = load i8*, i8** %arrayidx35, align 8 + %call36 = call i8* @quotearg_n_style_colon(i32 0, i32 3, i8* %26) + call void (i32, i32, i8*, ...) @error(i32 1, i32 %23, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.51, i64 0, i64 0), i8* %call36) + unreachable + +if.end: ; preds = %cond.end + %27 = load i32, i32* %i, align 4 + %idxprom37 = sext i32 %27 to i64 + %arrayidx38 = getelementptr inbounds [2 x %struct._IO_FILE*], [2 x %struct._IO_FILE*]* %streams, i64 0, i64 %idxprom37 + %28 = load %struct._IO_FILE*, %struct._IO_FILE** %arrayidx38, align 8 + call void @fadvise(%struct._IO_FILE* %28, i32 2) + %29 = load i32, i32* %i, align 4 + %idxprom39 = sext i32 %29 to i64 + %arrayidx40 = getelementptr inbounds [2 x [4 x %struct.linebuffer*]], [2 x [4 x %struct.linebuffer*]]* %all_line, i64 0, i64 %idxprom39 + %30 = load i32, i32* %i, align 4 + %idxprom41 = sext i32 %30 to i64 + %arrayidx42 = getelementptr inbounds [2 x [3 x i32]], [2 x [3 x i32]]* %alt, i64 0, i64 %idxprom41 + %arrayidx43 = getelementptr inbounds [3 x i32], [3 x i32]* %arrayidx42, i64 0, i64 0 + %31 = load i32, i32* %arrayidx43, align 4 + %idxprom44 = sext i32 %31 to i64 + %arrayidx45 = getelementptr inbounds [4 x %struct.linebuffer*], [4 x %struct.linebuffer*]* %arrayidx40, i64 0, i64 %idxprom44 + %32 = load %struct.linebuffer*, %struct.linebuffer** %arrayidx45, align 8 + %33 = load i32, i32* %i, align 4 + %idxprom46 = sext i32 %33 to i64 + %arrayidx47 = getelementptr inbounds [2 x %struct._IO_FILE*], [2 x %struct._IO_FILE*]* %streams, i64 0, i64 %idxprom46 + %34 = load %struct._IO_FILE*, %struct._IO_FILE** %arrayidx47, align 8 + %35 = load i8, i8* @delim, align 1 + %call48 = call %struct.linebuffer* @readlinebuffer_delim(%struct.linebuffer* %32, %struct._IO_FILE* %34, i8 signext %35) + %36 = load i32, i32* %i, align 4 + %idxprom49 = sext i32 %36 to i64 + %arrayidx50 = getelementptr inbounds [2 x %struct.linebuffer*], [2 x %struct.linebuffer*]* %thisline, i64 0, i64 %idxprom49 + store %struct.linebuffer* %call48, %struct.linebuffer** %arrayidx50, align 8 + %37 = load i32, i32* %i, align 4 + %idxprom51 = sext i32 %37 to i64 + %arrayidx52 = getelementptr inbounds [2 x %struct._IO_FILE*], [2 x %struct._IO_FILE*]* %streams, i64 0, i64 %idxprom51 + %38 = load %struct._IO_FILE*, %struct._IO_FILE** %arrayidx52, align 8 + %call53 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.592*)* @ferror_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %38) #11 + %tobool54 = icmp ne i32 %call53, 0 + br i1 %tobool54, label %if.then55, label %for.inc61 + +if.then55: ; preds = %if.end + %call56 = call i32* @__errno_location() #25 + %39 = load i32, i32* %call56, align 4 + %40 = load i8**, i8*** %infiles.addr, align 8 + %41 = load i32, i32* %i, align 4 + %idxprom57 = sext i32 %41 to i64 + %arrayidx58 = getelementptr inbounds i8*, i8** %40, i64 %idxprom57 + %42 = load i8*, i8** %arrayidx58, align 8 + %call59 = call i8* @quotearg_n_style_colon(i32 0, i32 3, i8* %42) + call void (i32, i32, i8*, ...) @error(i32 1, i32 %39, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.51, i64 0, i64 0), i8* %call59) + unreachable + +for.inc61: ; preds = %if.end + %43 = load i32, i32* %i, align 4 + %inc62 = add nsw i32 %43, 1 + store i32 %inc62, i32* %i, align 4 + br label %for.cond + +while.cond: ; preds = %for.cond154, %for.cond + %arrayidx64 = getelementptr inbounds [2 x %struct.linebuffer*], [2 x %struct.linebuffer*]* %thisline, i64 0, i64 0 + %44 = load %struct.linebuffer*, %struct.linebuffer** %arrayidx64, align 16 + %tobool65 = icmp ne %struct.linebuffer* %44, null + %arrayidx66 = getelementptr inbounds [2 x %struct.linebuffer*], [2 x %struct.linebuffer*]* %thisline, i64 0, i64 1 + %45 = load %struct.linebuffer*, %struct.linebuffer** %arrayidx66, align 8 + %tobool67 = icmp ne %struct.linebuffer* %45, null + %46 = select i1 %tobool65, i1 true, i1 %tobool67 + br i1 %46, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %47 = bitcast [2 x i8]* %fill_up to i8* + %48 = call i8* @memset(i8* %47, i32 0, i64 2) + %arrayidx68 = getelementptr inbounds [2 x %struct.linebuffer*], [2 x %struct.linebuffer*]* %thisline, i64 0, i64 0 + %49 = load %struct.linebuffer*, %struct.linebuffer** %arrayidx68, align 16 + %tobool69 = icmp ne %struct.linebuffer* %49, null + br i1 %tobool69, label %if.else, label %if.then70 + +if.then70: ; preds = %while.body + store i32 1, i32* %order, align 4 + br label %if.end124 + +if.else: ; preds = %while.body + %arrayidx71 = getelementptr inbounds [2 x %struct.linebuffer*], [2 x %struct.linebuffer*]* %thisline, i64 0, i64 1 + %50 = load %struct.linebuffer*, %struct.linebuffer** %arrayidx71, align 8 + %tobool72 = icmp ne %struct.linebuffer* %50, null + br i1 %tobool72, label %if.else74, label %if.then73 + +if.then73: ; preds = %if.else + store i32 -1, i32* %order, align 4 + br label %if.end124 + +if.else74: ; preds = %if.else + %51 = load i8, i8* @hard_LC_COLLATE, align 1 + %tobool75 = trunc i8 %51 to i1 + %arrayidx77 = getelementptr inbounds [2 x %struct.linebuffer*], [2 x %struct.linebuffer*]* %thisline, i64 0, i64 0 + %52 = load %struct.linebuffer*, %struct.linebuffer** %arrayidx77, align 16 + br i1 %tobool75, label %if.then76, label %if.else85 + +if.then76: ; preds = %if.else74 + %buffer = getelementptr inbounds %struct.linebuffer, %struct.linebuffer* %52, i32 0, i32 2 + %53 = load i8*, i8** %buffer, align 8 + %arrayidx78 = getelementptr inbounds [2 x %struct.linebuffer*], [2 x %struct.linebuffer*]* %thisline, i64 0, i64 0 + %54 = load %struct.linebuffer*, %struct.linebuffer** %arrayidx78, align 16 + %length = getelementptr inbounds %struct.linebuffer, %struct.linebuffer* %54, i32 0, i32 1 + %55 = load i64, i64* %length, align 8 + %sub = sub i64 %55, 1 + %arrayidx79 = getelementptr inbounds [2 x %struct.linebuffer*], [2 x %struct.linebuffer*]* %thisline, i64 0, i64 1 + %56 = load %struct.linebuffer*, %struct.linebuffer** %arrayidx79, align 8 + %buffer80 = getelementptr inbounds %struct.linebuffer, %struct.linebuffer* %56, i32 0, i32 2 + %57 = load i8*, i8** %buffer80, align 8 + %arrayidx81 = getelementptr inbounds [2 x %struct.linebuffer*], [2 x %struct.linebuffer*]* %thisline, i64 0, i64 1 + %58 = load %struct.linebuffer*, %struct.linebuffer** %arrayidx81, align 8 + %length82 = getelementptr inbounds %struct.linebuffer, %struct.linebuffer* %58, i32 0, i32 1 + %59 = load i64, i64* %length82, align 8 + %sub83 = sub i64 %59, 1 + %call84 = call i32 @xmemcoll(i8* %53, i64 %sub, i8* %57, i64 %sub83) + store i32 %call84, i32* %order, align 4 + br label %if.end124 + +if.else85: ; preds = %if.else74 + %length87 = getelementptr inbounds %struct.linebuffer, %struct.linebuffer* %52, i32 0, i32 1 + %60 = load i64, i64* %length87, align 8 + %arrayidx88 = getelementptr inbounds [2 x %struct.linebuffer*], [2 x %struct.linebuffer*]* %thisline, i64 0, i64 1 + %61 = load %struct.linebuffer*, %struct.linebuffer** %arrayidx88, align 8 + %length89 = getelementptr inbounds %struct.linebuffer, %struct.linebuffer* %61, i32 0, i32 1 + %62 = load i64, i64* %length89, align 8 + %cmp90 = icmp ult i64 %60, %62 + br i1 %cmp90, label %cond.true91, label %cond.false94 + +cond.true91: ; preds = %if.else85 + %arrayidx92 = getelementptr inbounds [2 x %struct.linebuffer*], [2 x %struct.linebuffer*]* %thisline, i64 0, i64 0 + %63 = load %struct.linebuffer*, %struct.linebuffer** %arrayidx92, align 16 + %length93 = getelementptr inbounds %struct.linebuffer, %struct.linebuffer* %63, i32 0, i32 1 + %64 = load i64, i64* %length93, align 8 + br label %cond.end97 + +cond.false94: ; preds = %if.else85 + %arrayidx95 = getelementptr inbounds [2 x %struct.linebuffer*], [2 x %struct.linebuffer*]* %thisline, i64 0, i64 1 + %65 = load %struct.linebuffer*, %struct.linebuffer** %arrayidx95, align 8 + %length96 = getelementptr inbounds %struct.linebuffer, %struct.linebuffer* %65, i32 0, i32 1 + %66 = load i64, i64* %length96, align 8 + br label %cond.end97 + +cond.end97: ; preds = %cond.false94, %cond.true91 + %cond98 = phi i64 [ %64, %cond.true91 ], [ %66, %cond.false94 ] + %sub99 = sub i64 %cond98, 1 + store i64 %sub99, i64* %len, align 8 + %arrayidx100 = getelementptr inbounds [2 x %struct.linebuffer*], [2 x %struct.linebuffer*]* %thisline, i64 0, i64 0 + %67 = load %struct.linebuffer*, %struct.linebuffer** %arrayidx100, align 16 + %buffer101 = getelementptr inbounds %struct.linebuffer, %struct.linebuffer* %67, i32 0, i32 2 + %68 = load i8*, i8** %buffer101, align 8 + %arrayidx102 = getelementptr inbounds [2 x %struct.linebuffer*], [2 x %struct.linebuffer*]* %thisline, i64 0, i64 1 + %69 = load %struct.linebuffer*, %struct.linebuffer** %arrayidx102, align 8 + %buffer103 = getelementptr inbounds %struct.linebuffer, %struct.linebuffer* %69, i32 0, i32 2 + %70 = load i8*, i8** %buffer103, align 8 + %71 = load i64, i64* %len, align 8 + %call104 = call i32 @memcmp(i8* %68, i8* %70, i64 %71) #23 + store i32 %call104, i32* %order, align 4 + %72 = load i32, i32* %order, align 4 + %cmp105 = icmp eq i32 %72, 0 + br i1 %cmp105, label %if.then106, label %if.end124 + +if.then106: ; preds = %cond.end97 + %arrayidx107 = getelementptr inbounds [2 x %struct.linebuffer*], [2 x %struct.linebuffer*]* %thisline, i64 0, i64 0 + %73 = load %struct.linebuffer*, %struct.linebuffer** %arrayidx107, align 16 + %length108 = getelementptr inbounds %struct.linebuffer, %struct.linebuffer* %73, i32 0, i32 1 + %74 = load i64, i64* %length108, align 8 + %arrayidx109 = getelementptr inbounds [2 x %struct.linebuffer*], [2 x %struct.linebuffer*]* %thisline, i64 0, i64 1 + %75 = load %struct.linebuffer*, %struct.linebuffer** %arrayidx109, align 8 + %length110 = getelementptr inbounds %struct.linebuffer, %struct.linebuffer* %75, i32 0, i32 1 + %76 = load i64, i64* %length110, align 8 + %cmp111 = icmp ult i64 %74, %76 + br i1 %cmp111, label %cond.end119, label %cond.false113 + +cond.false113: ; preds = %if.then106 + %arrayidx114 = getelementptr inbounds [2 x %struct.linebuffer*], [2 x %struct.linebuffer*]* %thisline, i64 0, i64 0 + %77 = load %struct.linebuffer*, %struct.linebuffer** %arrayidx114, align 16 + %length115 = getelementptr inbounds %struct.linebuffer, %struct.linebuffer* %77, i32 0, i32 1 + %78 = load i64, i64* %length115, align 8 + %arrayidx116 = getelementptr inbounds [2 x %struct.linebuffer*], [2 x %struct.linebuffer*]* %thisline, i64 0, i64 1 + %79 = load %struct.linebuffer*, %struct.linebuffer** %arrayidx116, align 8 + %length117 = getelementptr inbounds %struct.linebuffer, %struct.linebuffer* %79, i32 0, i32 1 + %80 = load i64, i64* %length117, align 8 + %cmp118 = icmp ne i64 %78, %80 + %conv = zext i1 %cmp118 to i32 + br label %cond.end119 + +cond.end119: ; preds = %if.then106, %cond.false113 + %cond120 = phi i32 [ %conv, %cond.false113 ], [ -1, %if.then106 ] + store i32 %cond120, i32* %order, align 4 + br label %if.end124 + +if.end124: ; preds = %if.then73, %cond.end97, %cond.end119, %if.then76, %if.then70 + %81 = load i32, i32* %order, align 4 + %cmp125 = icmp eq i32 %81, 0 + br i1 %cmp125, label %if.then127, label %if.else131 + +if.then127: ; preds = %if.end124 + %arrayidx128 = getelementptr inbounds [3 x i64], [3 x i64]* %total, i64 0, i64 2 + %82 = load i64, i64* %arrayidx128, align 16 + %inc129 = add i64 %82, 1 + store i64 %inc129, i64* %arrayidx128, align 16 + %arrayidx130 = getelementptr inbounds [2 x %struct.linebuffer*], [2 x %struct.linebuffer*]* %thisline, i64 0, i64 1 + %83 = load %struct.linebuffer*, %struct.linebuffer** %arrayidx130, align 8 + %84 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + call void @writeline(%struct.linebuffer* %83, %struct._IO_FILE* %84, i32 3) + br label %if.end143 + +if.else131: ; preds = %if.end124 + store i8 1, i8* @seen_unpairable, align 1 + %85 = load i32, i32* %order, align 4 + %cmp132 = icmp sle i32 %85, 0 + br i1 %cmp132, label %if.then134, label %if.else138 + +if.then134: ; preds = %if.else131 + %arrayidx135 = getelementptr inbounds [3 x i64], [3 x i64]* %total, i64 0, i64 0 + %86 = load i64, i64* %arrayidx135, align 16 + %inc136 = add i64 %86, 1 + store i64 %inc136, i64* %arrayidx135, align 16 + %arrayidx137 = getelementptr inbounds [2 x %struct.linebuffer*], [2 x %struct.linebuffer*]* %thisline, i64 0, i64 0 + %87 = load %struct.linebuffer*, %struct.linebuffer** %arrayidx137, align 16 + %88 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + call void @writeline(%struct.linebuffer* %87, %struct._IO_FILE* %88, i32 1) + br label %if.end143 + +if.else138: ; preds = %if.else131 + %arrayidx139 = getelementptr inbounds [3 x i64], [3 x i64]* %total, i64 0, i64 1 + %89 = load i64, i64* %arrayidx139, align 8 + %inc140 = add i64 %89, 1 + store i64 %inc140, i64* %arrayidx139, align 8 + %arrayidx141 = getelementptr inbounds [2 x %struct.linebuffer*], [2 x %struct.linebuffer*]* %thisline, i64 0, i64 1 + %90 = load %struct.linebuffer*, %struct.linebuffer** %arrayidx141, align 8 + %91 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + call void @writeline(%struct.linebuffer* %90, %struct._IO_FILE* %91, i32 2) + br label %if.end143 + +if.end143: ; preds = %if.then134, %if.else138, %if.then127 + %92 = load i32, i32* %order, align 4 + %cmp144 = icmp sle i32 0, %92 + br i1 %cmp144, label %if.then146, label %if.end148 + +if.then146: ; preds = %if.end143 + %arrayidx147 = getelementptr inbounds [2 x i8], [2 x i8]* %fill_up, i64 0, i64 1 + store i8 1, i8* %arrayidx147, align 1 + br label %if.end148 + +if.end148: ; preds = %if.then146, %if.end143 + %93 = load i32, i32* %order, align 4 + %cmp149 = icmp sle i32 %93, 0 + br i1 %cmp149, label %if.then151, label %if.end153 + +if.then151: ; preds = %if.end148 + %arrayidx152 = getelementptr inbounds [2 x i8], [2 x i8]* %fill_up, i64 0, i64 0 + store i8 1, i8* %arrayidx152, align 1 + br label %if.end153 + +if.end153: ; preds = %if.then151, %if.end148 + store i32 0, i32* %i, align 4 + br label %for.cond154 + +for.cond154: ; preds = %for.inc247, %if.end153 + %94 = load i32, i32* %i, align 4 + %cmp155 = icmp slt i32 %94, 2 + br i1 %cmp155, label %for.body157, label %while.cond + +for.body157: ; preds = %for.cond154 + %95 = load i32, i32* %i, align 4 + %idxprom158 = sext i32 %95 to i64 + %arrayidx159 = getelementptr inbounds [2 x i8], [2 x i8]* %fill_up, i64 0, i64 %idxprom158 + %96 = load i8, i8* %arrayidx159, align 1 + %tobool160 = trunc i8 %96 to i1 + br i1 %tobool160, label %if.then161, label %for.inc247 + +if.then161: ; preds = %for.body157 + %97 = load i32, i32* %i, align 4 + %idxprom162 = sext i32 %97 to i64 + %arrayidx163 = getelementptr inbounds [2 x [3 x i32]], [2 x [3 x i32]]* %alt, i64 0, i64 %idxprom162 + %arrayidx164 = getelementptr inbounds [3 x i32], [3 x i32]* %arrayidx163, i64 0, i64 1 + %98 = load i32, i32* %arrayidx164, align 4 + %99 = load i32, i32* %i, align 4 + %idxprom165 = sext i32 %99 to i64 + %arrayidx166 = getelementptr inbounds [2 x [3 x i32]], [2 x [3 x i32]]* %alt, i64 0, i64 %idxprom165 + %arrayidx167 = getelementptr inbounds [3 x i32], [3 x i32]* %arrayidx166, i64 0, i64 2 + store i32 %98, i32* %arrayidx167, align 4 + %100 = load i32, i32* %i, align 4 + %idxprom168 = sext i32 %100 to i64 + %arrayidx169 = getelementptr inbounds [2 x [3 x i32]], [2 x [3 x i32]]* %alt, i64 0, i64 %idxprom168 + %arrayidx170 = getelementptr inbounds [3 x i32], [3 x i32]* %arrayidx169, i64 0, i64 0 + %101 = load i32, i32* %arrayidx170, align 4 + %102 = load i32, i32* %i, align 4 + %idxprom171 = sext i32 %102 to i64 + %arrayidx172 = getelementptr inbounds [2 x [3 x i32]], [2 x [3 x i32]]* %alt, i64 0, i64 %idxprom171 + %arrayidx173 = getelementptr inbounds [3 x i32], [3 x i32]* %arrayidx172, i64 0, i64 1 + store i32 %101, i32* %arrayidx173, align 4 + %103 = load i32, i32* %i, align 4 + %idxprom174 = sext i32 %103 to i64 + %arrayidx175 = getelementptr inbounds [2 x [3 x i32]], [2 x [3 x i32]]* %alt, i64 0, i64 %idxprom174 + %arrayidx176 = getelementptr inbounds [3 x i32], [3 x i32]* %arrayidx175, i64 0, i64 0 + %104 = load i32, i32* %arrayidx176, align 4 + %add = add nsw i32 %104, 1 + %and = and i32 %add, 3 + %105 = load i32, i32* %i, align 4 + %idxprom177 = sext i32 %105 to i64 + %arrayidx178 = getelementptr inbounds [2 x [3 x i32]], [2 x [3 x i32]]* %alt, i64 0, i64 %idxprom177 + %arrayidx179 = getelementptr inbounds [3 x i32], [3 x i32]* %arrayidx178, i64 0, i64 0 + store i32 %and, i32* %arrayidx179, align 4 + %106 = load i32, i32* %i, align 4 + %idxprom180 = sext i32 %106 to i64 + %arrayidx181 = getelementptr inbounds [2 x [4 x %struct.linebuffer*]], [2 x [4 x %struct.linebuffer*]]* %all_line, i64 0, i64 %idxprom180 + %107 = load i32, i32* %i, align 4 + %idxprom182 = sext i32 %107 to i64 + %arrayidx183 = getelementptr inbounds [2 x [3 x i32]], [2 x [3 x i32]]* %alt, i64 0, i64 %idxprom182 + %arrayidx184 = getelementptr inbounds [3 x i32], [3 x i32]* %arrayidx183, i64 0, i64 0 + %108 = load i32, i32* %arrayidx184, align 4 + %idxprom185 = sext i32 %108 to i64 + %arrayidx186 = getelementptr inbounds [4 x %struct.linebuffer*], [4 x %struct.linebuffer*]* %arrayidx181, i64 0, i64 %idxprom185 + %109 = load %struct.linebuffer*, %struct.linebuffer** %arrayidx186, align 8 + %110 = load i32, i32* %i, align 4 + %idxprom187 = sext i32 %110 to i64 + %arrayidx188 = getelementptr inbounds [2 x %struct._IO_FILE*], [2 x %struct._IO_FILE*]* %streams, i64 0, i64 %idxprom187 + %111 = load %struct._IO_FILE*, %struct._IO_FILE** %arrayidx188, align 8 + %112 = load i8, i8* @delim, align 1 + %call189 = call %struct.linebuffer* @readlinebuffer_delim(%struct.linebuffer* %109, %struct._IO_FILE* %111, i8 signext %112) + %113 = load i32, i32* %i, align 4 + %idxprom190 = sext i32 %113 to i64 + %arrayidx191 = getelementptr inbounds [2 x %struct.linebuffer*], [2 x %struct.linebuffer*]* %thisline, i64 0, i64 %idxprom190 + store %struct.linebuffer* %call189, %struct.linebuffer** %arrayidx191, align 8 + %114 = load i32, i32* %i, align 4 + %idxprom192 = sext i32 %114 to i64 + %arrayidx193 = getelementptr inbounds [2 x %struct.linebuffer*], [2 x %struct.linebuffer*]* %thisline, i64 0, i64 %idxprom192 + %115 = load %struct.linebuffer*, %struct.linebuffer** %arrayidx193, align 8 + %tobool194 = icmp ne %struct.linebuffer* %115, null + %116 = load i32, i32* %i, align 4 + %idxprom196 = sext i32 %116 to i64 + %arrayidx197 = getelementptr inbounds [2 x [4 x %struct.linebuffer*]], [2 x [4 x %struct.linebuffer*]]* %all_line, i64 0, i64 %idxprom196 + %117 = load i32, i32* %i, align 4 + %idxprom198 = sext i32 %117 to i64 + %arrayidx199 = getelementptr inbounds [2 x [3 x i32]], [2 x [3 x i32]]* %alt, i64 0, i64 %idxprom198 + br i1 %tobool194, label %if.then195, label %if.else206 + +if.then195: ; preds = %if.then161 + %arrayidx200 = getelementptr inbounds [3 x i32], [3 x i32]* %arrayidx199, i64 0, i64 1 + %118 = load i32, i32* %arrayidx200, align 4 + %idxprom201 = sext i32 %118 to i64 + %arrayidx202 = getelementptr inbounds [4 x %struct.linebuffer*], [4 x %struct.linebuffer*]* %arrayidx197, i64 0, i64 %idxprom201 + %119 = load %struct.linebuffer*, %struct.linebuffer** %arrayidx202, align 8 + %120 = load i32, i32* %i, align 4 + %idxprom203 = sext i32 %120 to i64 + %arrayidx204 = getelementptr inbounds [2 x %struct.linebuffer*], [2 x %struct.linebuffer*]* %thisline, i64 0, i64 %idxprom203 + %121 = load %struct.linebuffer*, %struct.linebuffer** %arrayidx204, align 8 + %122 = load i32, i32* %i, align 4 + %add205 = add nsw i32 %122, 1 + call void @check_order(%struct.linebuffer* %119, %struct.linebuffer* %121, i32 %add205) + br label %if.end233 + +if.else206: ; preds = %if.then161 + %arrayidx211 = getelementptr inbounds [3 x i32], [3 x i32]* %arrayidx199, i64 0, i64 2 + %123 = load i32, i32* %arrayidx211, align 4 + %idxprom212 = sext i32 %123 to i64 + %arrayidx213 = getelementptr inbounds [4 x %struct.linebuffer*], [4 x %struct.linebuffer*]* %arrayidx197, i64 0, i64 %idxprom212 + %124 = load %struct.linebuffer*, %struct.linebuffer** %arrayidx213, align 8 + %buffer214 = getelementptr inbounds %struct.linebuffer, %struct.linebuffer* %124, i32 0, i32 2 + %125 = load i8*, i8** %buffer214, align 8 + %tobool215 = icmp ne i8* %125, null + br i1 %tobool215, label %if.then216, label %if.end233 + +if.then216: ; preds = %if.else206 + %126 = load i32, i32* %i, align 4 + %idxprom217 = sext i32 %126 to i64 + %arrayidx218 = getelementptr inbounds [2 x [4 x %struct.linebuffer*]], [2 x [4 x %struct.linebuffer*]]* %all_line, i64 0, i64 %idxprom217 + %127 = load i32, i32* %i, align 4 + %idxprom219 = sext i32 %127 to i64 + %arrayidx220 = getelementptr inbounds [2 x [3 x i32]], [2 x [3 x i32]]* %alt, i64 0, i64 %idxprom219 + %arrayidx221 = getelementptr inbounds [3 x i32], [3 x i32]* %arrayidx220, i64 0, i64 2 + %128 = load i32, i32* %arrayidx221, align 4 + %idxprom222 = sext i32 %128 to i64 + %arrayidx223 = getelementptr inbounds [4 x %struct.linebuffer*], [4 x %struct.linebuffer*]* %arrayidx218, i64 0, i64 %idxprom222 + %129 = load %struct.linebuffer*, %struct.linebuffer** %arrayidx223, align 8 + %130 = load i32, i32* %i, align 4 + %idxprom224 = sext i32 %130 to i64 + %arrayidx225 = getelementptr inbounds [2 x [4 x %struct.linebuffer*]], [2 x [4 x %struct.linebuffer*]]* %all_line, i64 0, i64 %idxprom224 + %131 = load i32, i32* %i, align 4 + %idxprom226 = sext i32 %131 to i64 + %arrayidx227 = getelementptr inbounds [2 x [3 x i32]], [2 x [3 x i32]]* %alt, i64 0, i64 %idxprom226 + %arrayidx228 = getelementptr inbounds [3 x i32], [3 x i32]* %arrayidx227, i64 0, i64 1 + %132 = load i32, i32* %arrayidx228, align 4 + %idxprom229 = sext i32 %132 to i64 + %arrayidx230 = getelementptr inbounds [4 x %struct.linebuffer*], [4 x %struct.linebuffer*]* %arrayidx225, i64 0, i64 %idxprom229 + %133 = load %struct.linebuffer*, %struct.linebuffer** %arrayidx230, align 8 + %134 = load i32, i32* %i, align 4 + %add231 = add nsw i32 %134, 1 + call void @check_order(%struct.linebuffer* %129, %struct.linebuffer* %133, i32 %add231) + br label %if.end233 + +if.end233: ; preds = %if.else206, %if.then216, %if.then195 + %135 = load i32, i32* %i, align 4 + %idxprom234 = sext i32 %135 to i64 + %arrayidx235 = getelementptr inbounds [2 x %struct._IO_FILE*], [2 x %struct._IO_FILE*]* %streams, i64 0, i64 %idxprom234 + %136 = load %struct._IO_FILE*, %struct._IO_FILE** %arrayidx235, align 8 + %call236 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.592*)* @ferror_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %136) #11 + %tobool237 = icmp ne i32 %call236, 0 + br i1 %tobool237, label %if.then238, label %if.end243 + +if.then238: ; preds = %if.end233 + %call239 = call i32* @__errno_location() #25 + %137 = load i32, i32* %call239, align 4 + %138 = load i8**, i8*** %infiles.addr, align 8 + %139 = load i32, i32* %i, align 4 + %idxprom240 = sext i32 %139 to i64 + %arrayidx241 = getelementptr inbounds i8*, i8** %138, i64 %idxprom240 + %140 = load i8*, i8** %arrayidx241, align 8 + %call242 = call i8* @quotearg_n_style_colon(i32 0, i32 3, i8* %140) + call void (i32, i32, i8*, ...) @error(i32 1, i32 %137, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.51, i64 0, i64 0), i8* %call242) + unreachable + +if.end243: ; preds = %if.end233 + %141 = load i32, i32* %i, align 4 + %idxprom244 = sext i32 %141 to i64 + %arrayidx245 = getelementptr inbounds [2 x i8], [2 x i8]* %fill_up, i64 0, i64 %idxprom244 + store i8 0, i8* %arrayidx245, align 1 + br label %for.inc247 + +for.inc247: ; preds = %for.body157, %if.end243 + %142 = load i32, i32* %i, align 4 + %inc248 = add nsw i32 %142, 1 + store i32 %inc248, i32* %i, align 4 + br label %for.cond154 + +while.end: ; preds = %while.cond + store i32 0, i32* %i, align 4 + br label %for.cond250 + +for.cond250: ; preds = %for.inc265, %while.end + %143 = load i32, i32* %i, align 4 + %cmp251 = icmp slt i32 %143, 2 + br i1 %cmp251, label %for.body253, label %for.end267 + +for.body253: ; preds = %for.cond250 + %144 = load i32, i32* %i, align 4 + %idxprom254 = sext i32 %144 to i64 + %arrayidx255 = getelementptr inbounds [2 x %struct._IO_FILE*], [2 x %struct._IO_FILE*]* %streams, i64 0, i64 %idxprom254 + %145 = load %struct._IO_FILE*, %struct._IO_FILE** %arrayidx255, align 8 + %call256 = call i32 @rpl_fclose(%struct._IO_FILE* %145) + %cmp257 = icmp ne i32 %call256, 0 + br i1 %cmp257, label %if.then259, label %for.inc265 + +if.then259: ; preds = %for.body253 + %call260 = call i32* @__errno_location() #25 + %146 = load i32, i32* %call260, align 4 + %147 = load i8**, i8*** %infiles.addr, align 8 + %148 = load i32, i32* %i, align 4 + %idxprom261 = sext i32 %148 to i64 + %arrayidx262 = getelementptr inbounds i8*, i8** %147, i64 %idxprom261 + %149 = load i8*, i8** %arrayidx262, align 8 + %call263 = call i8* @quotearg_n_style_colon(i32 0, i32 3, i8* %149) + call void (i32, i32, i8*, ...) @error(i32 1, i32 %146, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.51, i64 0, i64 0), i8* %call263) + unreachable + +for.inc265: ; preds = %for.body253 + %150 = load i32, i32* %i, align 4 + %inc266 = add nsw i32 %150, 1 + store i32 %inc266, i32* %i, align 4 + br label %for.cond250 + +for.end267: ; preds = %for.cond250 + %151 = load i8, i8* @total_option, align 1 + %tobool268 = trunc i8 %151 to i1 + br i1 %tobool268, label %if.then269, label %if.end280 + +if.then269: ; preds = %for.end267 + %arrayidx270 = getelementptr inbounds [3 x i64], [3 x i64]* %total, i64 0, i64 0 + %152 = load i64, i64* %arrayidx270, align 16 + %arraydecay = getelementptr inbounds [21 x i8], [21 x i8]* %buf1, i64 0, i64 0 + %call271 = call i8* @umaxtostr(i64 %152, i8* %arraydecay) + %153 = load i8*, i8** @col_sep, align 8 + %arrayidx272 = getelementptr inbounds [3 x i64], [3 x i64]* %total, i64 0, i64 1 + %154 = load i64, i64* %arrayidx272, align 8 + %arraydecay273 = getelementptr inbounds [21 x i8], [21 x i8]* %buf2, i64 0, i64 0 + %call274 = call i8* @umaxtostr(i64 %154, i8* %arraydecay273) + %155 = load i8*, i8** @col_sep, align 8 + %arrayidx275 = getelementptr inbounds [3 x i64], [3 x i64]* %total, i64 0, i64 2 + %156 = load i64, i64* %arrayidx275, align 16 + %arraydecay276 = getelementptr inbounds [21 x i8], [21 x i8]* %buf3, i64 0, i64 0 + %call277 = call i8* @umaxtostr(i64 %156, i8* %arraydecay276) + %157 = load i8*, i8** @col_sep, align 8 + %158 = load i8, i8* @delim, align 1 + %conv278 = zext i8 %158 to i32 + %call279 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.52, i64 0, i64 0), i8* %call271, i8* %153, i8* %call274, i8* %155, i8* %call277, i8* %157, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.44, i64 0, i64 0), i32 %conv278) + br label %if.end280 + +if.end280: ; preds = %if.then269, %for.end267 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @initbuffer(%struct.linebuffer* %linebuffer) #3 { +entry: + %linebuffer.addr = alloca %struct.linebuffer*, align 8 + store %struct.linebuffer* %linebuffer, %struct.linebuffer** %linebuffer.addr, align 8 + %0 = load %struct.linebuffer*, %struct.linebuffer** %linebuffer.addr, align 8 + %1 = bitcast %struct.linebuffer* %0 to i8* + %2 = call i8* @memset(i8* %1, i32 0, i64 24) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local %struct._IO_FILE* @fopen_safer(i8* %file, i8* %mode) #3 { +entry: + %retval = alloca %struct._IO_FILE*, align 8 + %file.addr = alloca i8*, align 8 + %mode.addr = alloca i8*, align 8 + %fp = alloca %struct._IO_FILE*, align 8 + %fd = alloca i32, align 4 + %f = alloca i32, align 4 + %e = alloca i32, align 4 + %e15 = alloca i32, align 4 + store i8* %file, i8** %file.addr, align 8 + store i8* %mode, i8** %mode.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + %1 = load i8*, i8** %mode.addr, align 8 + %call = call %struct._IO_FILE* bitcast (%struct.__STDIO_FILE_STRUCT.588* (i8*, i8*)* @fopen to %struct._IO_FILE* (i8*, i8*)*)(i8* %0, i8* %1) + store %struct._IO_FILE* %call, %struct._IO_FILE** %fp, align 8 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp, align 8 + %tobool = icmp ne %struct._IO_FILE* %2, null + br i1 %tobool, label %if.then, label %if.end21 + +if.then: ; preds = %entry + %3 = load %struct._IO_FILE*, %struct._IO_FILE** %fp, align 8 + %call1 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %3) #11 + store i32 %call1, i32* %fd, align 4 + %4 = load i32, i32* %fd, align 4 + %cmp = icmp sle i32 0, %4 + %5 = load i32, i32* %fd, align 4 + %cmp2 = icmp sle i32 %5, 2 + %or.cond = and i1 %cmp, %cmp2 + br i1 %or.cond, label %if.then3, label %if.end21 + +if.then3: ; preds = %if.then + %6 = load i32, i32* %fd, align 4 + %call4 = call i32 @dup_safer(i32 %6) + store i32 %call4, i32* %f, align 4 + %7 = load i32, i32* %f, align 4 + %cmp5 = icmp slt i32 %7, 0 + br i1 %cmp5, label %if.then6, label %if.end + +if.then6: ; preds = %if.then3 + %call7 = call i32* @__errno_location() #25 + %8 = load i32, i32* %call7, align 4 + store i32 %8, i32* %e, align 4 + %9 = load %struct._IO_FILE*, %struct._IO_FILE** %fp, align 8 + %call8 = call i32 @rpl_fclose(%struct._IO_FILE* %9) + %10 = load i32, i32* %e, align 4 + %call9 = call i32* @__errno_location() #25 + store i32 %10, i32* %call9, align 4 + store %struct._IO_FILE* null, %struct._IO_FILE** %retval, align 8 + br label %return + +if.end: ; preds = %if.then3 + %11 = load %struct._IO_FILE*, %struct._IO_FILE** %fp, align 8 + %call10 = call i32 @rpl_fclose(%struct._IO_FILE* %11) + %cmp11 = icmp ne i32 %call10, 0 + br i1 %cmp11, label %if.then14, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %12 = load i32, i32* %f, align 4 + %13 = load i8*, i8** %mode.addr, align 8 + %call12 = call %struct._IO_FILE* bitcast (%struct.__STDIO_FILE_STRUCT.588* (i32, i8*)* @fdopen to %struct._IO_FILE* (i32, i8*)*)(i32 %12, i8* %13) #11 + store %struct._IO_FILE* %call12, %struct._IO_FILE** %fp, align 8 + %tobool13 = icmp ne %struct._IO_FILE* %call12, null + br i1 %tobool13, label %if.end21, label %if.then14 + +if.then14: ; preds = %lor.lhs.false, %if.end + %call16 = call i32* @__errno_location() #25 + %14 = load i32, i32* %call16, align 4 + store i32 %14, i32* %e15, align 4 + %15 = load i32, i32* %f, align 4 + %call17 = call i32 @close(i32 %15) + %16 = load i32, i32* %e15, align 4 + %call18 = call i32* @__errno_location() #25 + store i32 %16, i32* %call18, align 4 + store %struct._IO_FILE* null, %struct._IO_FILE** %retval, align 8 + br label %return + +if.end21: ; preds = %if.then, %lor.lhs.false, %entry + %17 = load %struct._IO_FILE*, %struct._IO_FILE** %fp, align 8 + store %struct._IO_FILE* %17, %struct._IO_FILE** %retval, align 8 + br label %return + +return: ; preds = %if.end21, %if.then14, %if.then6 + %18 = load %struct._IO_FILE*, %struct._IO_FILE** %retval, align 8 + ret %struct._IO_FILE* %18 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_style_colon(i32 %n, i32 %s, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %options = alloca %struct.quoting_options, align 8 + %tmp = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + call void @quoting_options_from_style(%struct.quoting_options* sret align 8 %tmp, i32 %0) + %1 = bitcast %struct.quoting_options* %options to i8* + %2 = bitcast %struct.quoting_options* %tmp to i8* + %3 = call i8* @memcpy(i8* %1, i8* %2, i64 56) + %call = call i32 @set_char_quoting(%struct.quoting_options* %options, i8 signext 58, i32 1) + %4 = load i32, i32* %n.addr, align 4 + %5 = load i8*, i8** %arg.addr, align 8 + %call1 = call i8* @quotearg_n_options(i32 %4, i8* %5, i64 -1, %struct.quoting_options* %options) + ret i8* %call1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @fadvise(%struct._IO_FILE* %fp, i32 %advice) #3 { +entry: + %fp.addr = alloca %struct._IO_FILE*, align 8 + %advice.addr = alloca i32, align 4 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + store i32 %advice, i32* %advice.addr, align 4 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %tobool = icmp ne %struct._IO_FILE* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %1) #11 + %2 = load i32, i32* %advice.addr, align 4 + call void @fdadvise(i32 %call, i64 0, i64 0, i32 %2) + br label %if.end + +if.end: ; preds = %if.then, %entry + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local %struct.linebuffer* @readlinebuffer_delim(%struct.linebuffer* %linebuffer, %struct._IO_FILE* %stream, i8 signext %delimiter) #3 { +entry: + %retval = alloca %struct.linebuffer*, align 8 + %linebuffer.addr = alloca %struct.linebuffer*, align 8 + %stream.addr = alloca %struct._IO_FILE*, align 8 + %delimiter.addr = alloca i8, align 1 + %c = alloca i32, align 4 + %buffer = alloca i8*, align 8 + %p = alloca i8*, align 8 + %end = alloca i8*, align 8 + %oldsize = alloca i64, align 8 + store %struct.linebuffer* %linebuffer, %struct.linebuffer** %linebuffer.addr, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8 %delimiter, i8* %delimiter.addr, align 1 + %0 = load %struct.linebuffer*, %struct.linebuffer** %linebuffer.addr, align 8 + %buffer1 = getelementptr inbounds %struct.linebuffer, %struct.linebuffer* %0, i32 0, i32 2 + %1 = load i8*, i8** %buffer1, align 8 + store i8* %1, i8** %buffer, align 8 + %2 = load %struct.linebuffer*, %struct.linebuffer** %linebuffer.addr, align 8 + %buffer2 = getelementptr inbounds %struct.linebuffer, %struct.linebuffer* %2, i32 0, i32 2 + %3 = load i8*, i8** %buffer2, align 8 + store i8* %3, i8** %p, align 8 + %4 = load i8*, i8** %buffer, align 8 + %5 = load %struct.linebuffer*, %struct.linebuffer** %linebuffer.addr, align 8 + %size = getelementptr inbounds %struct.linebuffer, %struct.linebuffer* %5, i32 0, i32 0 + %6 = load i64, i64* %size, align 8 + %add.ptr = getelementptr inbounds i8, i8* %4, i64 %6 + store i8* %add.ptr, i8** %end, align 8 + %7 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.590*)* @feof_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %7) #11 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %do.body + +if.then: ; preds = %entry + store %struct.linebuffer* null, %struct.linebuffer** %retval, align 8 + br label %return + +do.body: ; preds = %entry, %if.end27 + %8 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call3 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @getc_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %8) + store i32 %call3, i32* %c, align 4 + %9 = load i32, i32* %c, align 4 + %cmp = icmp eq i32 %9, -1 + br i1 %cmp, label %if.then4, label %if.end16 + +if.then4: ; preds = %do.body + %10 = load i8*, i8** %p, align 8 + %11 = load i8*, i8** %buffer, align 8 + %cmp5 = icmp eq i8* %10, %11 + br i1 %cmp5, label %if.then8, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then4 + %12 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call6 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.592*)* @ferror_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %12) #11 + %tobool7 = icmp ne i32 %call6, 0 + br i1 %tobool7, label %if.then8, label %if.end9 + +if.then8: ; preds = %lor.lhs.false, %if.then4 + store %struct.linebuffer* null, %struct.linebuffer** %retval, align 8 + br label %return + +if.end9: ; preds = %lor.lhs.false + %13 = load i8*, i8** %p, align 8 + %arrayidx = getelementptr inbounds i8, i8* %13, i64 -1 + %14 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %14 to i32 + %15 = load i8, i8* %delimiter.addr, align 1 + %conv10 = sext i8 %15 to i32 + %cmp11 = icmp eq i32 %conv, %conv10 + br i1 %cmp11, label %do.end, label %if.end14 + +if.end14: ; preds = %if.end9 + %16 = load i8, i8* %delimiter.addr, align 1 + %conv15 = sext i8 %16 to i32 + store i32 %conv15, i32* %c, align 4 + br label %if.end16 + +if.end16: ; preds = %if.end14, %do.body + %17 = load i8*, i8** %p, align 8 + %18 = load i8*, i8** %end, align 8 + %cmp17 = icmp eq i8* %17, %18 + br i1 %cmp17, label %if.then19, label %if.end27 + +if.then19: ; preds = %if.end16 + %19 = load %struct.linebuffer*, %struct.linebuffer** %linebuffer.addr, align 8 + %size20 = getelementptr inbounds %struct.linebuffer, %struct.linebuffer* %19, i32 0, i32 0 + %20 = load i64, i64* %size20, align 8 + store i64 %20, i64* %oldsize, align 8 + %21 = load i8*, i8** %buffer, align 8 + %22 = load %struct.linebuffer*, %struct.linebuffer** %linebuffer.addr, align 8 + %size21 = getelementptr inbounds %struct.linebuffer, %struct.linebuffer* %22, i32 0, i32 0 + %call22 = call i8* @x2realloc(i8* %21, i64* %size21) + store i8* %call22, i8** %buffer, align 8 + %23 = load i8*, i8** %buffer, align 8 + %24 = load i64, i64* %oldsize, align 8 + %add.ptr23 = getelementptr inbounds i8, i8* %23, i64 %24 + store i8* %add.ptr23, i8** %p, align 8 + %25 = load i8*, i8** %buffer, align 8 + %26 = load %struct.linebuffer*, %struct.linebuffer** %linebuffer.addr, align 8 + %buffer24 = getelementptr inbounds %struct.linebuffer, %struct.linebuffer* %26, i32 0, i32 2 + store i8* %25, i8** %buffer24, align 8 + %27 = load i8*, i8** %buffer, align 8 + %28 = load %struct.linebuffer*, %struct.linebuffer** %linebuffer.addr, align 8 + %size25 = getelementptr inbounds %struct.linebuffer, %struct.linebuffer* %28, i32 0, i32 0 + %29 = load i64, i64* %size25, align 8 + %add.ptr26 = getelementptr inbounds i8, i8* %27, i64 %29 + store i8* %add.ptr26, i8** %end, align 8 + br label %if.end27 + +if.end27: ; preds = %if.then19, %if.end16 + %30 = load i32, i32* %c, align 4 + %conv28 = trunc i32 %30 to i8 + %31 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %31, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + store i8 %conv28, i8* %31, align 1 + %32 = load i32, i32* %c, align 4 + %33 = load i8, i8* %delimiter.addr, align 1 + %conv29 = sext i8 %33 to i32 + %cmp30 = icmp ne i32 %32, %conv29 + br i1 %cmp30, label %do.body, label %do.end + +do.end: ; preds = %if.end9, %if.end27 + %34 = load i8*, i8** %p, align 8 + %35 = load i8*, i8** %buffer, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %34 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %35 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %36 = load %struct.linebuffer*, %struct.linebuffer** %linebuffer.addr, align 8 + %length = getelementptr inbounds %struct.linebuffer, %struct.linebuffer* %36, i32 0, i32 1 + store i64 %sub.ptr.sub, i64* %length, align 8 + %37 = load %struct.linebuffer*, %struct.linebuffer** %linebuffer.addr, align 8 + store %struct.linebuffer* %37, %struct.linebuffer** %retval, align 8 + br label %return + +return: ; preds = %do.end, %if.then8, %if.then + %38 = load %struct.linebuffer*, %struct.linebuffer** %retval, align 8 + ret %struct.linebuffer* %38 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @xmemcoll(i8* %s1, i64 %s1len, i8* %s2, i64 %s2len) #3 { +entry: + %s1.addr = alloca i8*, align 8 + %s1len.addr = alloca i64, align 8 + %s2.addr = alloca i8*, align 8 + %s2len.addr = alloca i64, align 8 + %diff = alloca i32, align 4 + %collation_errno = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i64 %s1len, i64* %s1len.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %s2len, i64* %s2len.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + %1 = load i64, i64* %s1len.addr, align 8 + %2 = load i8*, i8** %s2.addr, align 8 + %3 = load i64, i64* %s2len.addr, align 8 + %call = call i32 @memcoll(i8* %0, i64 %1, i8* %2, i64 %3) + store i32 %call, i32* %diff, align 4 + %call1 = call i32* @__errno_location() #25 + %4 = load i32, i32* %call1, align 4 + store i32 %4, i32* %collation_errno, align 4 + %5 = load i32, i32* %collation_errno, align 4 + %tobool = icmp ne i32 %5, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %6 = load i32, i32* %collation_errno, align 4 + %7 = load i8*, i8** %s1.addr, align 8 + %8 = load i64, i64* %s1len.addr, align 8 + %9 = load i8*, i8** %s2.addr, align 8 + %10 = load i64, i64* %s2len.addr, align 8 + call void @collate_error(i32 %6, i8* %7, i64 %8, i8* %9, i64 %10) + br label %if.end + +if.end: ; preds = %if.then, %entry + %11 = load i32, i32* %diff, align 4 + ret i32 %11 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @writeline(%struct.linebuffer* %line, %struct._IO_FILE* %stream, i32 %class) #3 { +entry: + %line.addr = alloca %struct.linebuffer*, align 8 + %stream.addr = alloca %struct._IO_FILE*, align 8 + %class.addr = alloca i32, align 4 + store %struct.linebuffer* %line, %struct.linebuffer** %line.addr, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i32 %class, i32* %class.addr, align 4 + %0 = load i32, i32* %class.addr, align 4 + br label %NodeBlock3 + +NodeBlock3: ; preds = %entry + %case.cmp4 = icmp eq i32 %0, 1 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 2 + br i1 %case.cmp2, label %sw.bb1, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 3 + br i1 %case.cmp, label %sw.bb8, label %newDefault + +sw.bb: ; preds = %NodeBlock3 + %1 = load i8, i8* @only_file_1, align 1 + %tobool = trunc i8 %1 to i1 + br i1 %tobool, label %sw.epilog, label %return + +sw.bb1: ; preds = %NodeBlock1 + %2 = load i8, i8* @only_file_2, align 1 + %tobool2 = trunc i8 %2 to i1 + br i1 %tobool2, label %if.end4, label %return + +if.end4: ; preds = %sw.bb1 + %3 = load i8, i8* @only_file_1, align 1 + %tobool5 = trunc i8 %3 to i1 + br i1 %tobool5, label %if.then6, label %sw.epilog + +if.then6: ; preds = %if.end4 + %4 = load i8*, i8** @col_sep, align 8 + %5 = load i64, i64* @col_sep_len, align 8 + %6 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call = call i64 bitcast (i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*)* @fwrite_unlocked to i64 (i8*, i64, i64, %struct._IO_FILE*)*)(i8* %4, i64 1, i64 %5, %struct._IO_FILE* %6) + br label %sw.epilog + +sw.bb8: ; preds = %NodeBlock + %7 = load i8, i8* @both, align 1 + %tobool9 = trunc i8 %7 to i1 + br i1 %tobool9, label %if.end11, label %return + +if.end11: ; preds = %sw.bb8 + %8 = load i8, i8* @only_file_1, align 1 + %tobool12 = trunc i8 %8 to i1 + br i1 %tobool12, label %if.then13, label %if.end15 + +if.then13: ; preds = %if.end11 + %9 = load i8*, i8** @col_sep, align 8 + %10 = load i64, i64* @col_sep_len, align 8 + %11 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call14 = call i64 bitcast (i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*)* @fwrite_unlocked to i64 (i8*, i64, i64, %struct._IO_FILE*)*)(i8* %9, i64 1, i64 %10, %struct._IO_FILE* %11) + br label %if.end15 + +if.end15: ; preds = %if.then13, %if.end11 + %12 = load i8, i8* @only_file_2, align 1 + %tobool16 = trunc i8 %12 to i1 + br i1 %tobool16, label %if.then17, label %sw.epilog + +if.then17: ; preds = %if.end15 + %13 = load i8*, i8** @col_sep, align 8 + %14 = load i64, i64* @col_sep_len, align 8 + %15 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call18 = call i64 bitcast (i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*)* @fwrite_unlocked to i64 (i8*, i64, i64, %struct._IO_FILE*)*)(i8* %13, i64 1, i64 %14, %struct._IO_FILE* %15) + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.epilog + +sw.epilog: ; preds = %newDefault, %if.end15, %if.then17, %if.end4, %if.then6, %sw.bb + %16 = load %struct.linebuffer*, %struct.linebuffer** %line.addr, align 8 + %buffer = getelementptr inbounds %struct.linebuffer, %struct.linebuffer* %16, i32 0, i32 2 + %17 = load i8*, i8** %buffer, align 8 + %18 = load %struct.linebuffer*, %struct.linebuffer** %line.addr, align 8 + %length = getelementptr inbounds %struct.linebuffer, %struct.linebuffer* %18, i32 0, i32 1 + %19 = load i64, i64* %length, align 8 + %20 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call20 = call i64 bitcast (i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*)* @fwrite_unlocked to i64 (i8*, i64, i64, %struct._IO_FILE*)*)(i8* %17, i64 1, i64 %19, %struct._IO_FILE* %20) + br label %return + +return: ; preds = %sw.bb8, %sw.bb1, %sw.bb, %sw.epilog + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @check_order(%struct.linebuffer* %prev, %struct.linebuffer* %current, i32 %whatfile) #3 { +entry: + %prev.addr = alloca %struct.linebuffer*, align 8 + %current.addr = alloca %struct.linebuffer*, align 8 + %whatfile.addr = alloca i32, align 4 + %order = alloca i32, align 4 + store %struct.linebuffer* %prev, %struct.linebuffer** %prev.addr, align 8 + store %struct.linebuffer* %current, %struct.linebuffer** %current.addr, align 8 + store i32 %whatfile, i32* %whatfile.addr, align 4 + %0 = load i32, i32* @check_input_order, align 4 + %cmp = icmp ne i32 %0, 2 + br i1 %cmp, label %land.lhs.true, label %if.end25 + +land.lhs.true: ; preds = %entry + %1 = load i32, i32* @check_input_order, align 4 + %cmp1 = icmp eq i32 %1, 1 + br i1 %cmp1, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %land.lhs.true + %2 = load i8, i8* @seen_unpairable, align 1 + %tobool = trunc i8 %2 to i1 + br i1 %tobool, label %if.then, label %if.end25 + +if.then: ; preds = %lor.lhs.false, %land.lhs.true + %3 = load i32, i32* %whatfile.addr, align 4 + %sub = sub nsw i32 %3, 1 + %idxprom = sext i32 %sub to i64 + %arrayidx = getelementptr inbounds [2 x i8], [2 x i8]* @issued_disorder_warning, i64 0, i64 %idxprom + %4 = load i8, i8* %arrayidx, align 1 + %tobool2 = trunc i8 %4 to i1 + br i1 %tobool2, label %if.end25, label %if.then3 + +if.then3: ; preds = %if.then + %5 = load i8, i8* @hard_LC_COLLATE, align 1 + %tobool4 = trunc i8 %5 to i1 + %6 = load %struct.linebuffer*, %struct.linebuffer** %prev.addr, align 8 + %buffer = getelementptr inbounds %struct.linebuffer, %struct.linebuffer* %6, i32 0, i32 2 + %7 = load i8*, i8** %buffer, align 8 + %8 = load %struct.linebuffer*, %struct.linebuffer** %prev.addr, align 8 + %length = getelementptr inbounds %struct.linebuffer, %struct.linebuffer* %8, i32 0, i32 1 + %9 = load i64, i64* %length, align 8 + %sub6 = sub i64 %9, 1 + %10 = load %struct.linebuffer*, %struct.linebuffer** %current.addr, align 8 + %buffer7 = getelementptr inbounds %struct.linebuffer, %struct.linebuffer* %10, i32 0, i32 2 + %11 = load i8*, i8** %buffer7, align 8 + %12 = load %struct.linebuffer*, %struct.linebuffer** %current.addr, align 8 + %length8 = getelementptr inbounds %struct.linebuffer, %struct.linebuffer* %12, i32 0, i32 1 + %13 = load i64, i64* %length8, align 8 + %sub9 = sub i64 %13, 1 + br i1 %tobool4, label %if.then5, label %if.else + +if.then5: ; preds = %if.then3 + %call = call i32 @xmemcoll(i8* %7, i64 %sub6, i8* %11, i64 %sub9) + store i32 %call, i32* %order, align 4 + br label %if.end + +if.else: ; preds = %if.then3 + %call16 = call i32 @memcmp2(i8* %7, i64 %sub6, i8* %11, i64 %sub9) #23 + store i32 %call16, i32* %order, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then5 + %14 = load i32, i32* %order, align 4 + %cmp17 = icmp slt i32 0, %14 + br i1 %cmp17, label %if.then18, label %if.end25 + +if.then18: ; preds = %if.end + %15 = load i32, i32* @check_input_order, align 4 + %cmp19 = icmp eq i32 %15, 1 + %16 = zext i1 %cmp19 to i64 + %cond = select i1 %cmp19, i32 1, i32 0 + %17 = load i32, i32* %whatfile.addr, align 4 + call void (i32, i32, i8*, ...) @error(i32 %cond, i32 0, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.53, i64 0, i64 0), i32 %17) + %18 = load i32, i32* %whatfile.addr, align 4 + %sub20 = sub nsw i32 %18, 1 + %idxprom21 = sext i32 %sub20 to i64 + %arrayidx22 = getelementptr inbounds [2 x i8], [2 x i8]* @issued_disorder_warning, i64 0, i64 %idxprom21 + store i8 1, i8* %arrayidx22, align 1 + br label %if.end25 + +if.end25: ; preds = %if.then, %if.then18, %if.end, %lor.lhs.false, %entry + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fclose(%struct._IO_FILE* nonnull %fp) #3 { +entry: + %retval = alloca i32, align 4 + %fp.addr = alloca %struct._IO_FILE*, align 8 + %saved_errno = alloca i32, align 4 + %fd = alloca i32, align 4 + %result = alloca i32, align 4 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + store i32 0, i32* %saved_errno, align 4 + store i32 0, i32* %result, align 4 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %0) #11 + store i32 %call, i32* %fd, align 4 + %1 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %1, 0 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call1 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fclose to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %2) + store i32 %call1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %call2 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.519*)* @__freading to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %2) #11 + %cmp3 = icmp ne i32 %call2, 0 + br i1 %cmp3, label %lor.lhs.false, label %land.lhs.true + +lor.lhs.false: ; preds = %if.end + %3 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call4 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %3) #11 + %call5 = call i64 @lseek(i32 %call4, i64 0, i32 1) #11 + %cmp6 = icmp ne i64 %call5, -1 + br i1 %cmp6, label %land.lhs.true, label %if.end10 + +land.lhs.true: ; preds = %lor.lhs.false, %if.end + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call7 = call i32 @rpl_fflush(%struct._IO_FILE* %4) + %tobool = icmp ne i32 %call7, 0 + br i1 %tobool, label %if.then8, label %if.end10 + +if.then8: ; preds = %land.lhs.true + %call9 = call i32* @__errno_location() #25 + %5 = load i32, i32* %call9, align 4 + store i32 %5, i32* %saved_errno, align 4 + br label %if.end10 + +if.end10: ; preds = %if.then8, %land.lhs.true, %lor.lhs.false + %6 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call11 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fclose to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %6) + store i32 %call11, i32* %result, align 4 + %7 = load i32, i32* %saved_errno, align 4 + %cmp12 = icmp ne i32 %7, 0 + br i1 %cmp12, label %if.then13, label %if.end15 + +if.then13: ; preds = %if.end10 + %8 = load i32, i32* %saved_errno, align 4 + %call14 = call i32* @__errno_location() #25 + store i32 %8, i32* %call14, align 4 + store i32 -1, i32* %result, align 4 + br label %if.end15 + +if.end15: ; preds = %if.then13, %if.end10 + %9 = load i32, i32* %result, align 4 + store i32 %9, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end15, %if.then + %10 = load i32, i32* %retval, align 4 + ret i32 %10 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @umaxtostr(i64 %i, i8* %buf) #3 { +entry: + %i.addr = alloca i64, align 8 + %buf.addr = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i64 %i, i64* %i.addr, align 8 + store i8* %buf, i8** %buf.addr, align 8 + %0 = load i8*, i8** %buf.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %0, i64 20 + store i8* %add.ptr, i8** %p, align 8 + %1 = load i8*, i8** %p, align 8 + store i8 0, i8* %1, align 1 + %2 = load i64, i64* %i.addr, align 8 + %cmp = icmp ult i64 %2, 0 + br i1 %cmp, label %do.body, label %do.body4 + +do.body: ; preds = %entry, %do.body + %3 = load i64, i64* %i.addr, align 8 + %rem = urem i64 %3, 10 + %sub = sub i64 48, %rem + %conv = trunc i64 %sub to i8 + %4 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %4, i32 -1 + store i8* %incdec.ptr, i8** %p, align 8 + store i8 %conv, i8* %incdec.ptr, align 1 + %5 = load i64, i64* %i.addr, align 8 + %div = udiv i64 %5, 10 + store i64 %div, i64* %i.addr, align 8 + %cmp1 = icmp ne i64 %div, 0 + br i1 %cmp1, label %do.body, label %do.end + +do.end: ; preds = %do.body + %6 = load i8*, i8** %p, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %6, i32 -1 + store i8* %incdec.ptr3, i8** %p, align 8 + store i8 45, i8* %incdec.ptr3, align 1 + br label %if.end + +do.body4: ; preds = %entry, %do.body4 + %7 = load i64, i64* %i.addr, align 8 + %rem5 = urem i64 %7, 10 + %add = add i64 48, %rem5 + %conv6 = trunc i64 %add to i8 + %8 = load i8*, i8** %p, align 8 + %incdec.ptr7 = getelementptr inbounds i8, i8* %8, i32 -1 + store i8* %incdec.ptr7, i8** %p, align 8 + store i8 %conv6, i8* %incdec.ptr7, align 1 + %9 = load i64, i64* %i.addr, align 8 + %div9 = udiv i64 %9, 10 + store i64 %div9, i64* %i.addr, align 8 + %cmp10 = icmp ne i64 %div9, 0 + br i1 %cmp10, label %do.body4, label %if.end + +if.end: ; preds = %do.body4, %do.end + %10 = load i8*, i8** %p, align 8 + ret i8* %10 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fflush(%struct._IO_FILE* %stream) #3 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %cmp = icmp eq %struct._IO_FILE* %0, null + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.519*)* @__freading to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %1) #11 + %cmp1 = icmp ne i32 %call, 0 + br i1 %cmp1, label %if.end, label %if.then + +if.then: ; preds = %lor.lhs.false, %entry + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call2 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fflush to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %2) + store i32 %call2, i32* %retval, align 4 + br label %return + +if.end: ; preds = %lor.lhs.false + %3 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + call void @clear_ungetc_buffer_preserving_position(%struct._IO_FILE* %3) + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call3 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fflush to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %4) + store i32 %call3, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %5 = load i32, i32* %retval, align 4 + ret i32 %5 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @clear_ungetc_buffer_preserving_position(%struct._IO_FILE* %fp) #3 { +entry: + %fp.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_flags = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %0, i32 0, i32 0 + %1 = load i32, i32* %_flags, align 8 + %and = and i32 %1, 256 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 @rpl_fseeko(%struct._IO_FILE* %2, i64 0, i32 1) + br label %if.end + +if.end: ; preds = %if.then, %entry + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fseeko(%struct._IO_FILE* nonnull %fp, i64 %offset, i32 %whence) #3 { +entry: + %retval = alloca i32, align 4 + %fp.addr = alloca %struct._IO_FILE*, align 8 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + %pos = alloca i64, align 8 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_read_end = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %0, i32 0, i32 2 + %1 = load i8*, i8** %_IO_read_end, align 8 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_read_ptr = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %2, i32 0, i32 1 + %3 = load i8*, i8** %_IO_read_ptr, align 8 + %cmp = icmp eq i8* %1, %3 + br i1 %cmp, label %land.lhs.true, label %if.end7 + +land.lhs.true: ; preds = %entry + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_write_ptr = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %4, i32 0, i32 5 + %5 = load i8*, i8** %_IO_write_ptr, align 8 + %6 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_write_base = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %6, i32 0, i32 4 + %7 = load i8*, i8** %_IO_write_base, align 8 + %cmp1 = icmp eq i8* %5, %7 + br i1 %cmp1, label %land.lhs.true2, label %if.end7 + +land.lhs.true2: ; preds = %land.lhs.true + %8 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_save_base = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %8, i32 0, i32 9 + %9 = load i8*, i8** %_IO_save_base, align 8 + %cmp3 = icmp eq i8* %9, null + br i1 %cmp3, label %if.then, label %if.end7 + +if.then: ; preds = %land.lhs.true2 + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %10) #11 + %11 = load i64, i64* %offset.addr, align 8 + %12 = load i32, i32* %whence.addr, align 4 + %call4 = call i64 @lseek(i32 %call, i64 %11, i32 %12) #11 + store i64 %call4, i64* %pos, align 8 + %13 = load i64, i64* %pos, align 8 + %cmp5 = icmp eq i64 %13, -1 + br i1 %cmp5, label %if.then6, label %if.end + +if.then6: ; preds = %if.then + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %if.then + %14 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_flags = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %14, i32 0, i32 0 + %15 = load i32, i32* %_flags, align 8 + %and = and i32 %15, -17 + store i32 %and, i32* %_flags, align 8 + %16 = load i64, i64* %pos, align 8 + %17 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_offset = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %17, i32 0, i32 21 + store i64 %16, i64* %_offset, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.end7: ; preds = %land.lhs.true2, %land.lhs.true, %entry + %18 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %19 = load i64, i64* %offset.addr, align 8 + %20 = load i32, i32* %whence.addr, align 4 + %call8 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32)* @fseeko to i32 (%struct._IO_FILE*, i64, i32)*)(%struct._IO_FILE* %18, i64 %19, i32 %20) + store i32 %call8, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end7, %if.end, %if.then6 + %21 = load i32, i32* %retval, align 4 + ret i32 %21 +} + +; Function Attrs: noinline nounwind readonly uwtable +define dso_local i32 @memcmp2(i8* %s1, i64 %n1, i8* %s2, i64 %n2) #15 { +entry: + %s1.addr = alloca i8*, align 8 + %n1.addr = alloca i64, align 8 + %s2.addr = alloca i8*, align 8 + %n2.addr = alloca i64, align 8 + %cmp = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i64 %n1, i64* %n1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n2, i64* %n2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + %2 = load i64, i64* %n1.addr, align 8 + %3 = load i64, i64* %n2.addr, align 8 + %cmp1 = icmp ule i64 %2, %3 + %4 = load i64, i64* %n1.addr, align 8 + %5 = load i64, i64* %n2.addr, align 8 + %cond = select i1 %cmp1, i64 %4, i64 %5 + %call = call i32 @memcmp(i8* %0, i8* %1, i64 %cond) #23 + store i32 %call, i32* %cmp, align 4 + %6 = load i32, i32* %cmp, align 4 + %cmp2 = icmp eq i32 %6, 0 + br i1 %cmp2, label %if.then, label %if.end8 + +if.then: ; preds = %entry + %7 = load i64, i64* %n1.addr, align 8 + %8 = load i64, i64* %n2.addr, align 8 + %cmp3 = icmp ult i64 %7, %8 + br i1 %cmp3, label %if.then4, label %if.else + +if.then4: ; preds = %if.then + store i32 -1, i32* %cmp, align 4 + br label %if.end8 + +if.else: ; preds = %if.then + %9 = load i64, i64* %n1.addr, align 8 + %10 = load i64, i64* %n2.addr, align 8 + %cmp5 = icmp ugt i64 %9, %10 + br i1 %cmp5, label %if.then6, label %if.end8 + +if.then6: ; preds = %if.else + store i32 1, i32* %cmp, align 4 + br label %if.end8 + +if.end8: ; preds = %if.then4, %if.then6, %if.else, %entry + %11 = load i32, i32* %cmp, align 4 + ret i32 %11 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @memcoll(i8* %s1, i64 %s1len, i8* %s2, i64 %s2len) #3 { +entry: + %s1.addr = alloca i8*, align 8 + %s1len.addr = alloca i64, align 8 + %s2.addr = alloca i8*, align 8 + %s2len.addr = alloca i64, align 8 + %diff = alloca i32, align 4 + %n1 = alloca i8, align 1 + %n2 = alloca i8, align 1 + store i8* %s1, i8** %s1.addr, align 8 + store i64 %s1len, i64* %s1len.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %s2len, i64* %s2len.addr, align 8 + %0 = load i64, i64* %s1len.addr, align 8 + %1 = load i64, i64* %s2len.addr, align 8 + %cmp = icmp eq i64 %0, %1 + br i1 %cmp, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %entry + %2 = load i8*, i8** %s1.addr, align 8 + %3 = load i8*, i8** %s2.addr, align 8 + %4 = load i64, i64* %s1len.addr, align 8 + %call = call i32 @memcmp(i8* %2, i8* %3, i64 %4) #23 + %cmp1 = icmp eq i32 %call, 0 + br i1 %cmp1, label %if.then, label %if.else + +if.then: ; preds = %land.lhs.true + %call2 = call i32* @__errno_location() #25 + store i32 0, i32* %call2, align 4 + store i32 0, i32* %diff, align 4 + br label %if.end + +if.else: ; preds = %land.lhs.true, %entry + %5 = load i8*, i8** %s1.addr, align 8 + %6 = load i64, i64* %s1len.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 %6 + %7 = load i8, i8* %arrayidx, align 1 + store i8 %7, i8* %n1, align 1 + %8 = load i8*, i8** %s2.addr, align 8 + %9 = load i64, i64* %s2len.addr, align 8 + %arrayidx3 = getelementptr inbounds i8, i8* %8, i64 %9 + %10 = load i8, i8* %arrayidx3, align 1 + store i8 %10, i8* %n2, align 1 + %11 = load i8*, i8** %s1.addr, align 8 + %12 = load i64, i64* %s1len.addr, align 8 + %arrayidx4 = getelementptr inbounds i8, i8* %11, i64 %12 + store i8 0, i8* %arrayidx4, align 1 + %13 = load i8*, i8** %s2.addr, align 8 + %14 = load i64, i64* %s2len.addr, align 8 + %arrayidx5 = getelementptr inbounds i8, i8* %13, i64 %14 + store i8 0, i8* %arrayidx5, align 1 + %15 = load i8*, i8** %s1.addr, align 8 + %16 = load i64, i64* %s1len.addr, align 8 + %add = add i64 %16, 1 + %17 = load i8*, i8** %s2.addr, align 8 + %18 = load i64, i64* %s2len.addr, align 8 + %add6 = add i64 %18, 1 + %call7 = call i32 @strcoll_loop(i8* %15, i64 %add, i8* %17, i64 %add6) + store i32 %call7, i32* %diff, align 4 + %19 = load i8, i8* %n1, align 1 + %20 = load i8*, i8** %s1.addr, align 8 + %21 = load i64, i64* %s1len.addr, align 8 + %arrayidx8 = getelementptr inbounds i8, i8* %20, i64 %21 + store i8 %19, i8* %arrayidx8, align 1 + %22 = load i8, i8* %n2, align 1 + %23 = load i8*, i8** %s2.addr, align 8 + %24 = load i64, i64* %s2len.addr, align 8 + %arrayidx9 = getelementptr inbounds i8, i8* %23, i64 %24 + store i8 %22, i8* %arrayidx9, align 1 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %25 = load i32, i32* %diff, align 4 + ret i32 %25 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @collate_error(i32 %collation_errno, i8* %s1, i64 %s1len, i8* %s2, i64 %s2len) #3 { +entry: + %collation_errno.addr = alloca i32, align 4 + %s1.addr = alloca i8*, align 8 + %s1len.addr = alloca i64, align 8 + %s2.addr = alloca i8*, align 8 + %s2len.addr = alloca i64, align 8 + store i32 %collation_errno, i32* %collation_errno.addr, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i64 %s1len, i64* %s1len.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %s2len, i64* %s2len.addr, align 8 + %0 = load i32, i32* %collation_errno.addr, align 4 + call void (i32, i32, i8*, ...) @error(i32 0, i32 %0, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.155, i64 0, i64 0)) + call void (i32, i32, i8*, ...) @error(i32 0, i32 0, i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.1.156, i64 0, i64 0)) + %1 = load volatile i32, i32* @exit_failure, align 4 + %2 = load i8*, i8** %s1.addr, align 8 + %3 = load i64, i64* %s1len.addr, align 8 + %call = call i8* @quotearg_n_style_mem(i32 0, i32 8, i8* %2, i64 %3) + %4 = load i8*, i8** %s2.addr, align 8 + %5 = load i64, i64* %s2len.addr, align 8 + %call1 = call i8* @quotearg_n_style_mem(i32 1, i32 8, i8* %4, i64 %5) + call void (i32, i32, i8*, ...) @error(i32 %1, i32 0, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.2.157, i64 0, i64 0), i8* %call, i8* %call1) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_style_mem(i32 %n, i32 %s, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + call void @quoting_options_from_style(%struct.quoting_options* sret align 8 %o, i32 %0) + %1 = load i32, i32* %n.addr, align 4 + %2 = load i8*, i8** %arg.addr, align 8 + %3 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %1, i8* %2, i64 %3, %struct.quoting_options* %o) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define internal void @quoting_options_from_style(%struct.quoting_options* noalias sret align 8 %agg.result, i32 %style) #3 { +entry: + %style.addr = alloca i32, align 4 + store i32 %style, i32* %style.addr, align 4 + %0 = bitcast %struct.quoting_options* %agg.result to i8* + %1 = call i8* @memset(i8* %0, i32 0, i64 56) + %2 = load i32, i32* %style.addr, align 4 + %cmp = icmp eq i32 %2, 10 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @abort() #26 + unreachable + +if.end: ; preds = %entry + %3 = load i32, i32* %style.addr, align 4 + %style1 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %agg.result, i32 0, i32 0 + store i32 %3, i32* %style1, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @quotearg_n_options(i32 %n, i8* %arg, i64 %argsize, %struct.quoting_options* %options) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %options.addr = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %sv = alloca %struct.slotvec*, align 8 + %preallocated = alloca i8, align 1 + %nmax = alloca i32, align 4 + %size = alloca i64, align 8 + %val = alloca i8*, align 8 + %flags = alloca i32, align 4 + %qsize = alloca i64, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store %struct.quoting_options* %options, %struct.quoting_options** %options.addr, align 8 + %call = call i32* @__errno_location() #25 + %0 = load i32, i32* %call, align 4 + store i32 %0, i32* %e, align 4 + %1 = load %struct.slotvec*, %struct.slotvec** @slotvec, align 8 + store %struct.slotvec* %1, %struct.slotvec** %sv, align 8 + %2 = load i32, i32* %n.addr, align 4 + %cmp = icmp slt i32 %2, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @abort() #26 + unreachable + +if.end: ; preds = %entry + %3 = load i32, i32* @nslots, align 4 + %4 = load i32, i32* %n.addr, align 4 + %cmp1 = icmp sle i32 %3, %4 + br i1 %cmp1, label %if.then2, label %if.end15 + +if.then2: ; preds = %if.end + %5 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %cmp3 = icmp eq %struct.slotvec* %5, @slotvec0 + %frombool = zext i1 %cmp3 to i8 + store i8 %frombool, i8* %preallocated, align 1 + store i32 2147483646, i32* %nmax, align 4 + %6 = load i32, i32* %nmax, align 4 + %7 = load i32, i32* %n.addr, align 4 + %cmp4 = icmp slt i32 %6, %7 + br i1 %cmp4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.then2 + call void @xalloc_die() #24 + unreachable + +if.end6: ; preds = %if.then2 + %8 = load i8, i8* %preallocated, align 1 + %tobool = trunc i8 %8 to i1 + %9 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %cond = select i1 %tobool, %struct.slotvec* null, %struct.slotvec* %9 + %10 = bitcast %struct.slotvec* %cond to i8* + %11 = load i32, i32* %n.addr, align 4 + %add = add nsw i32 %11, 1 + %conv = sext i32 %add to i64 + %mul = mul i64 %conv, 16 + %call7 = call i8* @xrealloc(i8* %10, i64 %mul) + %12 = bitcast i8* %call7 to %struct.slotvec* + store %struct.slotvec* %12, %struct.slotvec** %sv, align 8 + store %struct.slotvec* %12, %struct.slotvec** @slotvec, align 8 + %13 = load i8, i8* %preallocated, align 1 + %tobool8 = trunc i8 %13 to i1 + br i1 %tobool8, label %if.then9, label %if.end10 + +if.then9: ; preds = %if.end6 + %14 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %15 = bitcast %struct.slotvec* %14 to i8* + %16 = call i8* @memcpy(i8* %15, i8* bitcast (%struct.slotvec* @slotvec0 to i8*), i64 16) + br label %if.end10 + +if.end10: ; preds = %if.then9, %if.end6 + %17 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %18 = load i32, i32* @nslots, align 4 + %idx.ext = sext i32 %18 to i64 + %add.ptr = getelementptr inbounds %struct.slotvec, %struct.slotvec* %17, i64 %idx.ext + %19 = bitcast %struct.slotvec* %add.ptr to i8* + %20 = load i32, i32* %n.addr, align 4 + %add11 = add nsw i32 %20, 1 + %21 = load i32, i32* @nslots, align 4 + %sub = sub nsw i32 %add11, %21 + %conv12 = sext i32 %sub to i64 + %mul13 = mul i64 %conv12, 16 + %22 = call i8* @memset(i8* %19, i32 0, i64 %mul13) + %23 = load i32, i32* %n.addr, align 4 + %add14 = add nsw i32 %23, 1 + store i32 %add14, i32* @nslots, align 4 + br label %if.end15 + +if.end15: ; preds = %if.end10, %if.end + %24 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %25 = load i32, i32* %n.addr, align 4 + %idxprom = sext i32 %25 to i64 + %arrayidx = getelementptr inbounds %struct.slotvec, %struct.slotvec* %24, i64 %idxprom + %size16 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx, i32 0, i32 0 + %26 = load i64, i64* %size16, align 8 + store i64 %26, i64* %size, align 8 + %27 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %28 = load i32, i32* %n.addr, align 4 + %idxprom17 = sext i32 %28 to i64 + %arrayidx18 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %27, i64 %idxprom17 + %val19 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx18, i32 0, i32 1 + %29 = load i8*, i8** %val19, align 8 + store i8* %29, i8** %val, align 8 + %30 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %flags20 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %30, i32 0, i32 1 + %31 = load i32, i32* %flags20, align 4 + %or = or i32 %31, 1 + store i32 %or, i32* %flags, align 4 + %32 = load i8*, i8** %val, align 8 + %33 = load i64, i64* %size, align 8 + %34 = load i8*, i8** %arg.addr, align 8 + %35 = load i64, i64* %argsize.addr, align 8 + %36 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %36, i32 0, i32 0 + %37 = load i32, i32* %style, align 8 + %38 = load i32, i32* %flags, align 4 + %39 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %39, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %40 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %left_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %40, i32 0, i32 3 + %41 = load i8*, i8** %left_quote, align 8 + %42 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %right_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %42, i32 0, i32 4 + %43 = load i8*, i8** %right_quote, align 8 + %call21 = call i64 @quotearg_buffer_restyled(i8* %32, i64 %33, i8* %34, i64 %35, i32 %37, i32 %38, i32* %arraydecay, i8* %41, i8* %43) + store i64 %call21, i64* %qsize, align 8 + %44 = load i64, i64* %size, align 8 + %45 = load i64, i64* %qsize, align 8 + %cmp22 = icmp ule i64 %44, %45 + br i1 %cmp22, label %if.then24, label %if.end43 + +if.then24: ; preds = %if.end15 + %46 = load i64, i64* %qsize, align 8 + %add25 = add i64 %46, 1 + store i64 %add25, i64* %size, align 8 + %47 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %48 = load i32, i32* %n.addr, align 4 + %idxprom26 = sext i32 %48 to i64 + %arrayidx27 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %47, i64 %idxprom26 + %size28 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx27, i32 0, i32 0 + store i64 %add25, i64* %size28, align 8 + %49 = load i8*, i8** %val, align 8 + %cmp29 = icmp ne i8* %49, getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i64 0, i64 0) + br i1 %cmp29, label %if.then31, label %if.end32 + +if.then31: ; preds = %if.then24 + %50 = load i8*, i8** %val, align 8 + call void @free(i8* %50) #11 + br label %if.end32 + +if.end32: ; preds = %if.then31, %if.then24 + %51 = load i64, i64* %size, align 8 + %call33 = call noalias i8* @xcharalloc(i64 %51) + store i8* %call33, i8** %val, align 8 + %52 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %53 = load i32, i32* %n.addr, align 4 + %idxprom34 = sext i32 %53 to i64 + %arrayidx35 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %52, i64 %idxprom34 + %val36 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx35, i32 0, i32 1 + store i8* %call33, i8** %val36, align 8 + %54 = load i8*, i8** %val, align 8 + %55 = load i64, i64* %size, align 8 + %56 = load i8*, i8** %arg.addr, align 8 + %57 = load i64, i64* %argsize.addr, align 8 + %58 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %style37 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %58, i32 0, i32 0 + %59 = load i32, i32* %style37, align 8 + %60 = load i32, i32* %flags, align 4 + %61 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %quote_these_too38 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %61, i32 0, i32 2 + %arraydecay39 = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too38, i64 0, i64 0 + %62 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %left_quote40 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %62, i32 0, i32 3 + %63 = load i8*, i8** %left_quote40, align 8 + %64 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %right_quote41 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %64, i32 0, i32 4 + %65 = load i8*, i8** %right_quote41, align 8 + %call42 = call i64 @quotearg_buffer_restyled(i8* %54, i64 %55, i8* %56, i64 %57, i32 %59, i32 %60, i32* %arraydecay39, i8* %63, i8* %65) + br label %if.end43 + +if.end43: ; preds = %if.end32, %if.end15 + %66 = load i32, i32* %e, align 4 + %call44 = call i32* @__errno_location() #25 + store i32 %66, i32* %call44, align 4 + %67 = load i8*, i8** %val, align 8 + ret i8* %67 +} + +; Function Attrs: noinline noreturn nounwind uwtable +define dso_local void @xalloc_die() #6 { +entry: + %0 = load volatile i32, i32* @exit_failure, align 4 + call void (i32, i32, i8*, ...) @error(i32 %0, i32 0, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.151, i64 0, i64 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.1.152, i64 0, i64 0)) + call void @abort() #26 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @xrealloc(i8* %p, i64 %n) #3 { +entry: + %retval = alloca i8*, align 8 + %p.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %tobool = icmp eq i64 %0, 0 + %1 = load i8*, i8** %p.addr, align 8 + %tobool1 = icmp ne i8* %1, null + %or.cond = and i1 %tobool, %tobool1 + %2 = load i8*, i8** %p.addr, align 8 + br i1 %or.cond, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @free(i8* %2) #11 + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %3 = load i64, i64* %n.addr, align 8 + %call = call i8* @realloc(i8* %2, i64 %3) #11 + store i8* %call, i8** %p.addr, align 8 + %4 = load i8*, i8** %p.addr, align 8 + %tobool2 = icmp eq i8* %4, null + %5 = load i64, i64* %n.addr, align 8 + %tobool4 = icmp ne i64 %5, 0 + %or.cond1 = and i1 %tobool2, %tobool4 + br i1 %or.cond1, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end + call void @xalloc_die() #24 + unreachable + +if.end6: ; preds = %if.end + %6 = load i8*, i8** %p.addr, align 8 + store i8* %6, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end6, %if.then + %7 = load i8*, i8** %retval, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @quotearg_buffer_restyled(i8* %buffer, i64 %buffersize, i8* %arg, i64 %argsize, i32 %quoting_style, i32 %flags, i32* %quote_these_too, i8* %left_quote, i8* %right_quote) #3 { +entry: + %retval = alloca i64, align 8 + %buffer.addr = alloca i8*, align 8 + %buffersize.addr = alloca i64, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %quoting_style.addr = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %quote_these_too.addr = alloca i32*, align 8 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %i = alloca i64, align 8 + %len = alloca i64, align 8 + %orig_buffersize = alloca i64, align 8 + %quote_string = alloca i8*, align 8 + %quote_string_len = alloca i64, align 8 + %backslash_escapes = alloca i8, align 1 + %unibyte_locale = alloca i8, align 1 + %elide_outer_quotes = alloca i8, align 1 + %pending_shell_escape_end = alloca i8, align 1 + %encountered_single_quote = alloca i8, align 1 + %all_c_and_shell_quote_compat = alloca i8, align 1 + %c = alloca i8, align 1 + %esc = alloca i8, align 1 + %is_right_quote = alloca i8, align 1 + %escaping = alloca i8, align 1 + %c_and_shell_quote_compat = alloca i8, align 1 + %m = alloca i64, align 8 + %printable = alloca i8, align 1 + %mbstate = alloca %struct.__mbstate_t, align 4 + %w = alloca i32, align 4 + %bytes = alloca i64, align 8 + %j = alloca i64, align 8 + %ilim = alloca i64, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %buffersize, i64* %buffersize.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store i32 %quoting_style, i32* %quoting_style.addr, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store i32* %quote_these_too, i32** %quote_these_too.addr, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i64 0, i64* %len, align 8 + store i64 0, i64* %orig_buffersize, align 8 + store i8* null, i8** %quote_string, align 8 + store i64 0, i64* %quote_string_len, align 8 + store i8 0, i8* %backslash_escapes, align 1 + %call = call i64 @__ctype_get_mb_cur_max() #11 + %cmp = icmp eq i64 %call, 1 + %frombool = zext i1 %cmp to i8 + store i8 %frombool, i8* %unibyte_locale, align 1 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 2 + %cmp1 = icmp ne i32 %and, 0 + %frombool2 = zext i1 %cmp1 to i8 + store i8 %frombool2, i8* %elide_outer_quotes, align 1 + store i8 0, i8* %pending_shell_escape_end, align 1 + store i8 0, i8* %encountered_single_quote, align 1 + store i8 1, i8* %all_c_and_shell_quote_compat, align 1 + br label %process_input + +process_input: ; preds = %if.then701, %entry + %1 = load i32, i32* %quoting_style.addr, align 4 + br label %NodeBlock27 + +NodeBlock27: ; preds = %process_input + %case.cmp28 = icmp eq i32 %1, 6 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %1, 5 + br i1 %case.cmp26, label %sw.bb3, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %1, 7 + br i1 %case.cmp24, label %sw.bb7, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %1, 8 + br i1 %case.cmp22, label %sw.bb8, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %1, 9 + br i1 %case.cmp20, label %sw.bb8, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %1, 10 + br i1 %case.cmp18, label %sw.bb8, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %1, 3 + br i1 %case.cmp16, label %sw.bb26, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %1, 1 + br i1 %case.cmp14, label %sw.bb27, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %1, 4 + br i1 %case.cmp12, label %sw.bb28, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %1, 2 + br i1 %case.cmp10, label %sw.bb32, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock9 + %case.cmp = icmp eq i32 %1, 0 + br i1 %case.cmp, label %sw.bb43, label %newDefault + +sw.bb: ; preds = %NodeBlock27 + store i32 5, i32* %quoting_style.addr, align 4 + store i8 1, i8* %elide_outer_quotes, align 1 + br label %sw.bb3 + +sw.bb3: ; preds = %NodeBlock25, %sw.bb + %2 = load i8, i8* %elide_outer_quotes, align 1 + %tobool = trunc i8 %2 to i1 + br i1 %tobool, label %if.end6, label %do.body + +do.body: ; preds = %sw.bb3 + %3 = load i64, i64* %len, align 8 + %4 = load i64, i64* %buffersize.addr, align 8 + %cmp4 = icmp ult i64 %3, %4 + br i1 %cmp4, label %if.then5, label %if.end + +if.then5: ; preds = %do.body + %5 = load i8*, i8** %buffer.addr, align 8 + %6 = load i64, i64* %len, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 %6 + store i8 34, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then5, %do.body + %7 = load i64, i64* %len, align 8 + %inc = add i64 %7, 1 + store i64 %inc, i64* %len, align 8 + br label %if.end6 + +if.end6: ; preds = %if.end, %sw.bb3 + store i8 1, i8* %backslash_escapes, align 1 + store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10.95, i64 0, i64 0), i8** %quote_string, align 8 + store i64 1, i64* %quote_string_len, align 8 + br label %sw.epilog + +sw.bb7: ; preds = %NodeBlock23 + store i8 1, i8* %backslash_escapes, align 1 + store i8 0, i8* %elide_outer_quotes, align 1 + br label %sw.epilog + +sw.bb8: ; preds = %NodeBlock21, %NodeBlock19, %NodeBlock17 + %8 = load i32, i32* %quoting_style.addr, align 4 + %cmp9 = icmp ne i32 %8, 10 + br i1 %cmp9, label %if.then10, label %if.end13 + +if.then10: ; preds = %sw.bb8 + %9 = load i32, i32* %quoting_style.addr, align 4 + %call11 = call i8* @gettext_quote(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.11.96, i64 0, i64 0), i32 %9) + store i8* %call11, i8** %left_quote.addr, align 8 + %10 = load i32, i32* %quoting_style.addr, align 4 + %call12 = call i8* @gettext_quote(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.97, i64 0, i64 0), i32 %10) + store i8* %call12, i8** %right_quote.addr, align 8 + br label %if.end13 + +if.end13: ; preds = %if.then10, %sw.bb8 + %11 = load i8, i8* %elide_outer_quotes, align 1 + %tobool14 = trunc i8 %11 to i1 + br i1 %tobool14, label %if.end24, label %if.then15 + +if.then15: ; preds = %if.end13 + %12 = load i8*, i8** %left_quote.addr, align 8 + store i8* %12, i8** %quote_string, align 8 + br label %for.cond + +for.cond: ; preds = %if.end21, %if.then15 + %13 = load i8*, i8** %quote_string, align 8 + %14 = load i8, i8* %13, align 1 + %tobool16 = icmp ne i8 %14, 0 + br i1 %tobool16, label %do.body17, label %if.end24 + +do.body17: ; preds = %for.cond + %15 = load i64, i64* %len, align 8 + %16 = load i64, i64* %buffersize.addr, align 8 + %cmp18 = icmp ult i64 %15, %16 + br i1 %cmp18, label %if.then19, label %if.end21 + +if.then19: ; preds = %do.body17 + %17 = load i8*, i8** %quote_string, align 8 + %18 = load i8, i8* %17, align 1 + %19 = load i8*, i8** %buffer.addr, align 8 + %20 = load i64, i64* %len, align 8 + %arrayidx20 = getelementptr inbounds i8, i8* %19, i64 %20 + store i8 %18, i8* %arrayidx20, align 1 + br label %if.end21 + +if.end21: ; preds = %if.then19, %do.body17 + %21 = load i64, i64* %len, align 8 + %inc22 = add i64 %21, 1 + store i64 %inc22, i64* %len, align 8 + %22 = load i8*, i8** %quote_string, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %22, i32 1 + store i8* %incdec.ptr, i8** %quote_string, align 8 + br label %for.cond + +if.end24: ; preds = %for.cond, %if.end13 + store i8 1, i8* %backslash_escapes, align 1 + %23 = load i8*, i8** %right_quote.addr, align 8 + store i8* %23, i8** %quote_string, align 8 + %24 = load i8*, i8** %quote_string, align 8 + %call25 = call i64 @strlen(i8* %24) #23 + store i64 %call25, i64* %quote_string_len, align 8 + br label %sw.epilog + +sw.bb26: ; preds = %NodeBlock15 + store i8 1, i8* %backslash_escapes, align 1 + br label %sw.bb27 + +sw.bb27: ; preds = %NodeBlock13, %sw.bb26 + store i8 1, i8* %elide_outer_quotes, align 1 + br label %sw.bb28 + +sw.bb28: ; preds = %NodeBlock11, %sw.bb27 + %25 = load i8, i8* %elide_outer_quotes, align 1 + %tobool29 = trunc i8 %25 to i1 + br i1 %tobool29, label %sw.bb32, label %if.then30 + +if.then30: ; preds = %sw.bb28 + store i8 1, i8* %backslash_escapes, align 1 + br label %sw.bb32 + +sw.bb32: ; preds = %NodeBlock9, %sw.bb28, %if.then30 + store i32 2, i32* %quoting_style.addr, align 4 + %26 = load i8, i8* %elide_outer_quotes, align 1 + %tobool33 = trunc i8 %26 to i1 + br i1 %tobool33, label %if.end42, label %do.body35 + +do.body35: ; preds = %sw.bb32 + %27 = load i64, i64* %len, align 8 + %28 = load i64, i64* %buffersize.addr, align 8 + %cmp36 = icmp ult i64 %27, %28 + br i1 %cmp36, label %if.then37, label %if.end39 + +if.then37: ; preds = %do.body35 + %29 = load i8*, i8** %buffer.addr, align 8 + %30 = load i64, i64* %len, align 8 + %arrayidx38 = getelementptr inbounds i8, i8* %29, i64 %30 + store i8 39, i8* %arrayidx38, align 1 + br label %if.end39 + +if.end39: ; preds = %if.then37, %do.body35 + %31 = load i64, i64* %len, align 8 + %inc40 = add i64 %31, 1 + store i64 %inc40, i64* %len, align 8 + br label %if.end42 + +if.end42: ; preds = %if.end39, %sw.bb32 + store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.97, i64 0, i64 0), i8** %quote_string, align 8 + store i64 1, i64* %quote_string_len, align 8 + br label %sw.epilog + +sw.bb43: ; preds = %NodeBlock + store i8 0, i8* %elide_outer_quotes, align 1 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @abort() #26 + unreachable + +sw.epilog: ; preds = %sw.bb43, %if.end42, %if.end24, %sw.bb7, %if.end6 + store i64 0, i64* %i, align 8 + br label %for.cond44 + +for.cond44: ; preds = %for.inc673, %sw.epilog + %32 = load i64, i64* %argsize.addr, align 8 + %cmp45 = icmp eq i64 %32, -1 + br i1 %cmp45, label %cond.true, label %cond.false + +cond.true: ; preds = %for.cond44 + %33 = load i8*, i8** %arg.addr, align 8 + %34 = load i64, i64* %i, align 8 + %arrayidx46 = getelementptr inbounds i8, i8* %33, i64 %34 + %35 = load i8, i8* %arrayidx46, align 1 + %conv = sext i8 %35 to i32 + %cmp47 = icmp eq i32 %conv, 0 + %conv48 = zext i1 %cmp47 to i32 + br label %cond.end + +cond.false: ; preds = %for.cond44 + %36 = load i64, i64* %i, align 8 + %37 = load i64, i64* %argsize.addr, align 8 + %cmp49 = icmp eq i64 %36, %37 + %conv50 = zext i1 %cmp49 to i32 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ %conv48, %cond.true ], [ %conv50, %cond.false ] + %tobool51 = icmp ne i32 %cond, 0 + %lnot = xor i1 %tobool51, true + br i1 %lnot, label %for.body52, label %for.end675 + +for.body52: ; preds = %cond.end + store i8 0, i8* %is_right_quote, align 1 + store i8 0, i8* %escaping, align 1 + store i8 0, i8* %c_and_shell_quote_compat, align 1 + %38 = load i8, i8* %backslash_escapes, align 1 + %tobool53 = trunc i8 %38 to i1 + %39 = load i32, i32* %quoting_style.addr, align 4 + %cmp55 = icmp ne i32 %39, 2 + %or.cond = and i1 %tobool53, %cmp55 + %40 = load i64, i64* %quote_string_len, align 8 + %tobool58 = icmp ne i64 %40, 0 + %or.cond1 = and i1 %or.cond, %tobool58 + br i1 %or.cond1, label %land.lhs.true59, label %if.end80 + +land.lhs.true59: ; preds = %for.body52 + %41 = load i64, i64* %i, align 8 + %42 = load i64, i64* %quote_string_len, align 8 + %add = add i64 %41, %42 + %43 = load i64, i64* %argsize.addr, align 8 + %cmp60 = icmp eq i64 %43, -1 + %44 = load i64, i64* %quote_string_len, align 8 + %cmp63 = icmp ult i64 1, %44 + %or.cond2 = and i1 %cmp60, %cmp63 + br i1 %or.cond2, label %cond.true65, label %cond.false67 + +cond.true65: ; preds = %land.lhs.true59 + %45 = load i8*, i8** %arg.addr, align 8 + %call66 = call i64 @strlen(i8* %45) #23 + store i64 %call66, i64* %argsize.addr, align 8 + br label %cond.end68 + +cond.false67: ; preds = %land.lhs.true59 + %46 = load i64, i64* %argsize.addr, align 8 + br label %cond.end68 + +cond.end68: ; preds = %cond.false67, %cond.true65 + %cond69 = phi i64 [ %call66, %cond.true65 ], [ %46, %cond.false67 ] + %cmp70 = icmp ule i64 %add, %cond69 + br i1 %cmp70, label %land.lhs.true72, label %if.end80 + +land.lhs.true72: ; preds = %cond.end68 + %47 = load i8*, i8** %arg.addr, align 8 + %48 = load i64, i64* %i, align 8 + %add.ptr = getelementptr inbounds i8, i8* %47, i64 %48 + %49 = load i8*, i8** %quote_string, align 8 + %50 = load i64, i64* %quote_string_len, align 8 + %call73 = call i32 @memcmp(i8* %add.ptr, i8* %49, i64 %50) #23 + %cmp74 = icmp eq i32 %call73, 0 + br i1 %cmp74, label %if.then76, label %if.end80 + +if.then76: ; preds = %land.lhs.true72 + %51 = load i8, i8* %elide_outer_quotes, align 1 + %tobool77 = trunc i8 %51 to i1 + br i1 %tobool77, label %force_outer_quoting_style, label %if.end79 + +if.end79: ; preds = %if.then76 + store i8 1, i8* %is_right_quote, align 1 + br label %if.end80 + +if.end80: ; preds = %if.end79, %land.lhs.true72, %cond.end68, %for.body52 + %52 = load i8*, i8** %arg.addr, align 8 + %53 = load i64, i64* %i, align 8 + %arrayidx81 = getelementptr inbounds i8, i8* %52, i64 %53 + %54 = load i8, i8* %arrayidx81, align 1 + store i8 %54, i8* %c, align 1 + %55 = load i8, i8* %c, align 1 + %conv82 = zext i8 %55 to i32 + br label %NodeBlock232 + +NodeBlock232: ; preds = %if.end80 + %case.cmp233 = icmp eq i32 %conv82, 0 + br i1 %case.cmp233, label %sw.bb83, label %NodeBlock230 + +NodeBlock230: ; preds = %NodeBlock232 + %case.cmp231 = icmp eq i32 %conv82, 63 + br i1 %case.cmp231, label %sw.bb170, label %NodeBlock228 + +NodeBlock228: ; preds = %NodeBlock230 + %case.cmp229 = icmp eq i32 %conv82, 7 + br i1 %case.cmp229, label %sw.bb236, label %NodeBlock226 + +NodeBlock226: ; preds = %NodeBlock228 + %case.cmp227 = icmp eq i32 %conv82, 8 + br i1 %case.cmp227, label %sw.bb237, label %NodeBlock224 + +NodeBlock224: ; preds = %NodeBlock226 + %case.cmp225 = icmp eq i32 %conv82, 12 + br i1 %case.cmp225, label %sw.bb238, label %NodeBlock222 + +NodeBlock222: ; preds = %NodeBlock224 + %case.cmp223 = icmp eq i32 %conv82, 10 + br i1 %case.cmp223, label %sw.bb239, label %NodeBlock220 + +NodeBlock220: ; preds = %NodeBlock222 + %case.cmp221 = icmp eq i32 %conv82, 13 + br i1 %case.cmp221, label %sw.bb240, label %NodeBlock218 + +NodeBlock218: ; preds = %NodeBlock220 + %case.cmp219 = icmp eq i32 %conv82, 9 + br i1 %case.cmp219, label %sw.bb241, label %NodeBlock216 + +NodeBlock216: ; preds = %NodeBlock218 + %case.cmp217 = icmp eq i32 %conv82, 11 + br i1 %case.cmp217, label %sw.bb242, label %NodeBlock214 + +NodeBlock214: ; preds = %NodeBlock216 + %case.cmp215 = icmp eq i32 %conv82, 92 + br i1 %case.cmp215, label %sw.bb243, label %NodeBlock212 + +NodeBlock212: ; preds = %NodeBlock214 + %case.cmp213 = icmp eq i32 %conv82, 123 + br i1 %case.cmp213, label %sw.bb270, label %NodeBlock210 + +NodeBlock210: ; preds = %NodeBlock212 + %case.cmp211 = icmp eq i32 %conv82, 125 + br i1 %case.cmp211, label %sw.bb270, label %NodeBlock208 + +NodeBlock208: ; preds = %NodeBlock210 + %case.cmp209 = icmp eq i32 %conv82, 35 + br i1 %case.cmp209, label %sw.bb283, label %NodeBlock206 + +NodeBlock206: ; preds = %NodeBlock208 + %case.cmp207 = icmp eq i32 %conv82, 126 + br i1 %case.cmp207, label %sw.bb283, label %NodeBlock204 + +NodeBlock204: ; preds = %NodeBlock206 + %case.cmp205 = icmp eq i32 %conv82, 32 + br i1 %case.cmp205, label %sw.bb288, label %NodeBlock202 + +NodeBlock202: ; preds = %NodeBlock204 + %case.cmp203 = icmp eq i32 %conv82, 33 + br i1 %case.cmp203, label %sw.bb289, label %NodeBlock200 + +NodeBlock200: ; preds = %NodeBlock202 + %case.cmp201 = icmp eq i32 %conv82, 34 + br i1 %case.cmp201, label %sw.bb289, label %NodeBlock198 + +NodeBlock198: ; preds = %NodeBlock200 + %case.cmp199 = icmp eq i32 %conv82, 36 + br i1 %case.cmp199, label %sw.bb289, label %NodeBlock196 + +NodeBlock196: ; preds = %NodeBlock198 + %case.cmp197 = icmp eq i32 %conv82, 38 + br i1 %case.cmp197, label %sw.bb289, label %NodeBlock194 + +NodeBlock194: ; preds = %NodeBlock196 + %case.cmp195 = icmp eq i32 %conv82, 40 + br i1 %case.cmp195, label %sw.bb289, label %NodeBlock192 + +NodeBlock192: ; preds = %NodeBlock194 + %case.cmp193 = icmp eq i32 %conv82, 41 + br i1 %case.cmp193, label %sw.bb289, label %NodeBlock190 + +NodeBlock190: ; preds = %NodeBlock192 + %case.cmp191 = icmp eq i32 %conv82, 42 + br i1 %case.cmp191, label %sw.bb289, label %NodeBlock188 + +NodeBlock188: ; preds = %NodeBlock190 + %case.cmp189 = icmp eq i32 %conv82, 59 + br i1 %case.cmp189, label %sw.bb289, label %NodeBlock186 + +NodeBlock186: ; preds = %NodeBlock188 + %case.cmp187 = icmp eq i32 %conv82, 60 + br i1 %case.cmp187, label %sw.bb289, label %NodeBlock184 + +NodeBlock184: ; preds = %NodeBlock186 + %case.cmp185 = icmp eq i32 %conv82, 61 + br i1 %case.cmp185, label %sw.bb289, label %NodeBlock182 + +NodeBlock182: ; preds = %NodeBlock184 + %case.cmp183 = icmp eq i32 %conv82, 62 + br i1 %case.cmp183, label %sw.bb289, label %NodeBlock180 + +NodeBlock180: ; preds = %NodeBlock182 + %case.cmp181 = icmp eq i32 %conv82, 91 + br i1 %case.cmp181, label %sw.bb289, label %NodeBlock178 + +NodeBlock178: ; preds = %NodeBlock180 + %case.cmp179 = icmp eq i32 %conv82, 94 + br i1 %case.cmp179, label %sw.bb289, label %NodeBlock176 + +NodeBlock176: ; preds = %NodeBlock178 + %case.cmp177 = icmp eq i32 %conv82, 96 + br i1 %case.cmp177, label %sw.bb289, label %NodeBlock174 + +NodeBlock174: ; preds = %NodeBlock176 + %case.cmp175 = icmp eq i32 %conv82, 124 + br i1 %case.cmp175, label %sw.bb289, label %NodeBlock172 + +NodeBlock172: ; preds = %NodeBlock174 + %case.cmp173 = icmp eq i32 %conv82, 39 + br i1 %case.cmp173, label %sw.bb297, label %NodeBlock170 + +NodeBlock170: ; preds = %NodeBlock172 + %case.cmp171 = icmp eq i32 %conv82, 37 + br i1 %case.cmp171, label %sw.bb334, label %NodeBlock168 + +NodeBlock168: ; preds = %NodeBlock170 + %case.cmp169 = icmp eq i32 %conv82, 43 + br i1 %case.cmp169, label %sw.bb334, label %NodeBlock166 + +NodeBlock166: ; preds = %NodeBlock168 + %case.cmp167 = icmp eq i32 %conv82, 44 + br i1 %case.cmp167, label %sw.bb334, label %NodeBlock164 + +NodeBlock164: ; preds = %NodeBlock166 + %case.cmp165 = icmp eq i32 %conv82, 45 + br i1 %case.cmp165, label %sw.bb334, label %NodeBlock162 + +NodeBlock162: ; preds = %NodeBlock164 + %case.cmp163 = icmp eq i32 %conv82, 46 + br i1 %case.cmp163, label %sw.bb334, label %NodeBlock160 + +NodeBlock160: ; preds = %NodeBlock162 + %case.cmp161 = icmp eq i32 %conv82, 47 + br i1 %case.cmp161, label %sw.bb334, label %NodeBlock158 + +NodeBlock158: ; preds = %NodeBlock160 + %case.cmp159 = icmp eq i32 %conv82, 48 + br i1 %case.cmp159, label %sw.bb334, label %NodeBlock156 + +NodeBlock156: ; preds = %NodeBlock158 + %case.cmp157 = icmp eq i32 %conv82, 49 + br i1 %case.cmp157, label %sw.bb334, label %NodeBlock154 + +NodeBlock154: ; preds = %NodeBlock156 + %case.cmp155 = icmp eq i32 %conv82, 50 + br i1 %case.cmp155, label %sw.bb334, label %NodeBlock152 + +NodeBlock152: ; preds = %NodeBlock154 + %case.cmp153 = icmp eq i32 %conv82, 51 + br i1 %case.cmp153, label %sw.bb334, label %NodeBlock150 + +NodeBlock150: ; preds = %NodeBlock152 + %case.cmp151 = icmp eq i32 %conv82, 52 + br i1 %case.cmp151, label %sw.bb334, label %NodeBlock148 + +NodeBlock148: ; preds = %NodeBlock150 + %case.cmp149 = icmp eq i32 %conv82, 53 + br i1 %case.cmp149, label %sw.bb334, label %NodeBlock146 + +NodeBlock146: ; preds = %NodeBlock148 + %case.cmp147 = icmp eq i32 %conv82, 54 + br i1 %case.cmp147, label %sw.bb334, label %NodeBlock144 + +NodeBlock144: ; preds = %NodeBlock146 + %case.cmp145 = icmp eq i32 %conv82, 55 + br i1 %case.cmp145, label %sw.bb334, label %NodeBlock142 + +NodeBlock142: ; preds = %NodeBlock144 + %case.cmp143 = icmp eq i32 %conv82, 56 + br i1 %case.cmp143, label %sw.bb334, label %NodeBlock140 + +NodeBlock140: ; preds = %NodeBlock142 + %case.cmp141 = icmp eq i32 %conv82, 57 + br i1 %case.cmp141, label %sw.bb334, label %NodeBlock138 + +NodeBlock138: ; preds = %NodeBlock140 + %case.cmp139 = icmp eq i32 %conv82, 58 + br i1 %case.cmp139, label %sw.bb334, label %NodeBlock136 + +NodeBlock136: ; preds = %NodeBlock138 + %case.cmp137 = icmp eq i32 %conv82, 65 + br i1 %case.cmp137, label %sw.bb334, label %NodeBlock134 + +NodeBlock134: ; preds = %NodeBlock136 + %case.cmp135 = icmp eq i32 %conv82, 66 + br i1 %case.cmp135, label %sw.bb334, label %NodeBlock132 + +NodeBlock132: ; preds = %NodeBlock134 + %case.cmp133 = icmp eq i32 %conv82, 67 + br i1 %case.cmp133, label %sw.bb334, label %NodeBlock130 + +NodeBlock130: ; preds = %NodeBlock132 + %case.cmp131 = icmp eq i32 %conv82, 68 + br i1 %case.cmp131, label %sw.bb334, label %NodeBlock128 + +NodeBlock128: ; preds = %NodeBlock130 + %case.cmp129 = icmp eq i32 %conv82, 69 + br i1 %case.cmp129, label %sw.bb334, label %NodeBlock126 + +NodeBlock126: ; preds = %NodeBlock128 + %case.cmp127 = icmp eq i32 %conv82, 70 + br i1 %case.cmp127, label %sw.bb334, label %NodeBlock124 + +NodeBlock124: ; preds = %NodeBlock126 + %case.cmp125 = icmp eq i32 %conv82, 71 + br i1 %case.cmp125, label %sw.bb334, label %NodeBlock122 + +NodeBlock122: ; preds = %NodeBlock124 + %case.cmp123 = icmp eq i32 %conv82, 72 + br i1 %case.cmp123, label %sw.bb334, label %NodeBlock120 + +NodeBlock120: ; preds = %NodeBlock122 + %case.cmp121 = icmp eq i32 %conv82, 73 + br i1 %case.cmp121, label %sw.bb334, label %NodeBlock118 + +NodeBlock118: ; preds = %NodeBlock120 + %case.cmp119 = icmp eq i32 %conv82, 74 + br i1 %case.cmp119, label %sw.bb334, label %NodeBlock116 + +NodeBlock116: ; preds = %NodeBlock118 + %case.cmp117 = icmp eq i32 %conv82, 75 + br i1 %case.cmp117, label %sw.bb334, label %NodeBlock114 + +NodeBlock114: ; preds = %NodeBlock116 + %case.cmp115 = icmp eq i32 %conv82, 76 + br i1 %case.cmp115, label %sw.bb334, label %NodeBlock112 + +NodeBlock112: ; preds = %NodeBlock114 + %case.cmp113 = icmp eq i32 %conv82, 77 + br i1 %case.cmp113, label %sw.bb334, label %NodeBlock110 + +NodeBlock110: ; preds = %NodeBlock112 + %case.cmp111 = icmp eq i32 %conv82, 78 + br i1 %case.cmp111, label %sw.bb334, label %NodeBlock108 + +NodeBlock108: ; preds = %NodeBlock110 + %case.cmp109 = icmp eq i32 %conv82, 79 + br i1 %case.cmp109, label %sw.bb334, label %NodeBlock106 + +NodeBlock106: ; preds = %NodeBlock108 + %case.cmp107 = icmp eq i32 %conv82, 80 + br i1 %case.cmp107, label %sw.bb334, label %NodeBlock104 + +NodeBlock104: ; preds = %NodeBlock106 + %case.cmp105 = icmp eq i32 %conv82, 81 + br i1 %case.cmp105, label %sw.bb334, label %NodeBlock102 + +NodeBlock102: ; preds = %NodeBlock104 + %case.cmp103 = icmp eq i32 %conv82, 82 + br i1 %case.cmp103, label %sw.bb334, label %NodeBlock100 + +NodeBlock100: ; preds = %NodeBlock102 + %case.cmp101 = icmp eq i32 %conv82, 83 + br i1 %case.cmp101, label %sw.bb334, label %NodeBlock98 + +NodeBlock98: ; preds = %NodeBlock100 + %case.cmp99 = icmp eq i32 %conv82, 84 + br i1 %case.cmp99, label %sw.bb334, label %NodeBlock96 + +NodeBlock96: ; preds = %NodeBlock98 + %case.cmp97 = icmp eq i32 %conv82, 85 + br i1 %case.cmp97, label %sw.bb334, label %NodeBlock94 + +NodeBlock94: ; preds = %NodeBlock96 + %case.cmp95 = icmp eq i32 %conv82, 86 + br i1 %case.cmp95, label %sw.bb334, label %NodeBlock92 + +NodeBlock92: ; preds = %NodeBlock94 + %case.cmp93 = icmp eq i32 %conv82, 87 + br i1 %case.cmp93, label %sw.bb334, label %NodeBlock90 + +NodeBlock90: ; preds = %NodeBlock92 + %case.cmp91 = icmp eq i32 %conv82, 88 + br i1 %case.cmp91, label %sw.bb334, label %NodeBlock88 + +NodeBlock88: ; preds = %NodeBlock90 + %case.cmp89 = icmp eq i32 %conv82, 89 + br i1 %case.cmp89, label %sw.bb334, label %NodeBlock86 + +NodeBlock86: ; preds = %NodeBlock88 + %case.cmp87 = icmp eq i32 %conv82, 90 + br i1 %case.cmp87, label %sw.bb334, label %NodeBlock84 + +NodeBlock84: ; preds = %NodeBlock86 + %case.cmp85 = icmp eq i32 %conv82, 93 + br i1 %case.cmp85, label %sw.bb334, label %NodeBlock82 + +NodeBlock82: ; preds = %NodeBlock84 + %case.cmp83 = icmp eq i32 %conv82, 95 + br i1 %case.cmp83, label %sw.bb334, label %NodeBlock80 + +NodeBlock80: ; preds = %NodeBlock82 + %case.cmp81 = icmp eq i32 %conv82, 97 + br i1 %case.cmp81, label %sw.bb334, label %NodeBlock78 + +NodeBlock78: ; preds = %NodeBlock80 + %case.cmp79 = icmp eq i32 %conv82, 98 + br i1 %case.cmp79, label %sw.bb334, label %NodeBlock76 + +NodeBlock76: ; preds = %NodeBlock78 + %case.cmp77 = icmp eq i32 %conv82, 99 + br i1 %case.cmp77, label %sw.bb334, label %NodeBlock74 + +NodeBlock74: ; preds = %NodeBlock76 + %case.cmp75 = icmp eq i32 %conv82, 100 + br i1 %case.cmp75, label %sw.bb334, label %NodeBlock72 + +NodeBlock72: ; preds = %NodeBlock74 + %case.cmp73 = icmp eq i32 %conv82, 101 + br i1 %case.cmp73, label %sw.bb334, label %NodeBlock70 + +NodeBlock70: ; preds = %NodeBlock72 + %case.cmp71 = icmp eq i32 %conv82, 102 + br i1 %case.cmp71, label %sw.bb334, label %NodeBlock68 + +NodeBlock68: ; preds = %NodeBlock70 + %case.cmp69 = icmp eq i32 %conv82, 103 + br i1 %case.cmp69, label %sw.bb334, label %NodeBlock66 + +NodeBlock66: ; preds = %NodeBlock68 + %case.cmp67 = icmp eq i32 %conv82, 104 + br i1 %case.cmp67, label %sw.bb334, label %NodeBlock64 + +NodeBlock64: ; preds = %NodeBlock66 + %case.cmp65 = icmp eq i32 %conv82, 105 + br i1 %case.cmp65, label %sw.bb334, label %NodeBlock62 + +NodeBlock62: ; preds = %NodeBlock64 + %case.cmp63 = icmp eq i32 %conv82, 106 + br i1 %case.cmp63, label %sw.bb334, label %NodeBlock60 + +NodeBlock60: ; preds = %NodeBlock62 + %case.cmp61 = icmp eq i32 %conv82, 107 + br i1 %case.cmp61, label %sw.bb334, label %NodeBlock58 + +NodeBlock58: ; preds = %NodeBlock60 + %case.cmp59 = icmp eq i32 %conv82, 108 + br i1 %case.cmp59, label %sw.bb334, label %NodeBlock56 + +NodeBlock56: ; preds = %NodeBlock58 + %case.cmp57 = icmp eq i32 %conv82, 109 + br i1 %case.cmp57, label %sw.bb334, label %NodeBlock54 + +NodeBlock54: ; preds = %NodeBlock56 + %case.cmp55 = icmp eq i32 %conv82, 110 + br i1 %case.cmp55, label %sw.bb334, label %NodeBlock52 + +NodeBlock52: ; preds = %NodeBlock54 + %case.cmp53 = icmp eq i32 %conv82, 111 + br i1 %case.cmp53, label %sw.bb334, label %NodeBlock50 + +NodeBlock50: ; preds = %NodeBlock52 + %case.cmp51 = icmp eq i32 %conv82, 112 + br i1 %case.cmp51, label %sw.bb334, label %NodeBlock48 + +NodeBlock48: ; preds = %NodeBlock50 + %case.cmp49 = icmp eq i32 %conv82, 113 + br i1 %case.cmp49, label %sw.bb334, label %NodeBlock46 + +NodeBlock46: ; preds = %NodeBlock48 + %case.cmp47 = icmp eq i32 %conv82, 114 + br i1 %case.cmp47, label %sw.bb334, label %NodeBlock44 + +NodeBlock44: ; preds = %NodeBlock46 + %case.cmp45 = icmp eq i32 %conv82, 115 + br i1 %case.cmp45, label %sw.bb334, label %NodeBlock42 + +NodeBlock42: ; preds = %NodeBlock44 + %case.cmp43 = icmp eq i32 %conv82, 116 + br i1 %case.cmp43, label %sw.bb334, label %NodeBlock40 + +NodeBlock40: ; preds = %NodeBlock42 + %case.cmp41 = icmp eq i32 %conv82, 117 + br i1 %case.cmp41, label %sw.bb334, label %NodeBlock38 + +NodeBlock38: ; preds = %NodeBlock40 + %case.cmp39 = icmp eq i32 %conv82, 118 + br i1 %case.cmp39, label %sw.bb334, label %NodeBlock36 + +NodeBlock36: ; preds = %NodeBlock38 + %case.cmp37 = icmp eq i32 %conv82, 119 + br i1 %case.cmp37, label %sw.bb334, label %NodeBlock34 + +NodeBlock34: ; preds = %NodeBlock36 + %case.cmp35 = icmp eq i32 %conv82, 120 + br i1 %case.cmp35, label %sw.bb334, label %NodeBlock32 + +NodeBlock32: ; preds = %NodeBlock34 + %case.cmp33 = icmp eq i32 %conv82, 121 + br i1 %case.cmp33, label %sw.bb334, label %NodeBlock30 + +NodeBlock30: ; preds = %NodeBlock32 + %case.cmp31 = icmp eq i32 %conv82, 122 + br i1 %case.cmp31, label %sw.bb334, label %newDefault29 + +sw.bb83: ; preds = %NodeBlock232 + %56 = load i8, i8* %backslash_escapes, align 1 + %tobool84 = trunc i8 %56 to i1 + br i1 %tobool84, label %do.body86, label %if.else + +do.body86: ; preds = %sw.bb83 + %57 = load i8, i8* %elide_outer_quotes, align 1 + %tobool87 = trunc i8 %57 to i1 + br i1 %tobool87, label %force_outer_quoting_style, label %if.end89 + +if.end89: ; preds = %do.body86 + store i8 1, i8* %escaping, align 1 + %58 = load i32, i32* %quoting_style.addr, align 4 + %cmp90 = icmp eq i32 %58, 2 + br i1 %cmp90, label %land.lhs.true92, label %do.body120 + +land.lhs.true92: ; preds = %if.end89 + %59 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool93 = trunc i8 %59 to i1 + br i1 %tobool93, label %do.body120, label %do.body95 + +do.body95: ; preds = %land.lhs.true92 + %60 = load i64, i64* %len, align 8 + %61 = load i64, i64* %buffersize.addr, align 8 + %cmp96 = icmp ult i64 %60, %61 + br i1 %cmp96, label %if.then98, label %if.end100 + +if.then98: ; preds = %do.body95 + %62 = load i8*, i8** %buffer.addr, align 8 + %63 = load i64, i64* %len, align 8 + %arrayidx99 = getelementptr inbounds i8, i8* %62, i64 %63 + store i8 39, i8* %arrayidx99, align 1 + br label %if.end100 + +if.end100: ; preds = %if.then98, %do.body95 + %64 = load i64, i64* %len, align 8 + %inc101 = add i64 %64, 1 + store i64 %inc101, i64* %len, align 8 + %65 = load i64, i64* %len, align 8 + %66 = load i64, i64* %buffersize.addr, align 8 + %cmp104 = icmp ult i64 %65, %66 + br i1 %cmp104, label %if.then106, label %if.end108 + +if.then106: ; preds = %if.end100 + %67 = load i8*, i8** %buffer.addr, align 8 + %68 = load i64, i64* %len, align 8 + %arrayidx107 = getelementptr inbounds i8, i8* %67, i64 %68 + store i8 36, i8* %arrayidx107, align 1 + br label %if.end108 + +if.end108: ; preds = %if.then106, %if.end100 + %69 = load i64, i64* %len, align 8 + %inc109 = add i64 %69, 1 + store i64 %inc109, i64* %len, align 8 + %70 = load i64, i64* %len, align 8 + %71 = load i64, i64* %buffersize.addr, align 8 + %cmp112 = icmp ult i64 %70, %71 + br i1 %cmp112, label %if.then114, label %if.end116 + +if.then114: ; preds = %if.end108 + %72 = load i8*, i8** %buffer.addr, align 8 + %73 = load i64, i64* %len, align 8 + %arrayidx115 = getelementptr inbounds i8, i8* %72, i64 %73 + store i8 39, i8* %arrayidx115, align 1 + br label %if.end116 + +if.end116: ; preds = %if.then114, %if.end108 + %74 = load i64, i64* %len, align 8 + %inc117 = add i64 %74, 1 + store i64 %inc117, i64* %len, align 8 + store i8 1, i8* %pending_shell_escape_end, align 1 + br label %do.body120 + +do.body120: ; preds = %if.end89, %land.lhs.true92, %if.end116 + %75 = load i64, i64* %len, align 8 + %76 = load i64, i64* %buffersize.addr, align 8 + %cmp121 = icmp ult i64 %75, %76 + br i1 %cmp121, label %if.then123, label %if.end125 + +if.then123: ; preds = %do.body120 + %77 = load i8*, i8** %buffer.addr, align 8 + %78 = load i64, i64* %len, align 8 + %arrayidx124 = getelementptr inbounds i8, i8* %77, i64 %78 + store i8 92, i8* %arrayidx124, align 1 + br label %if.end125 + +if.end125: ; preds = %if.then123, %do.body120 + %79 = load i64, i64* %len, align 8 + %inc126 = add i64 %79, 1 + store i64 %inc126, i64* %len, align 8 + %80 = load i32, i32* %quoting_style.addr, align 4 + %cmp129 = icmp ne i32 %80, 2 + br i1 %cmp129, label %land.lhs.true131, label %if.end164 + +land.lhs.true131: ; preds = %if.end125 + %81 = load i64, i64* %i, align 8 + %add132 = add i64 %81, 1 + %82 = load i64, i64* %argsize.addr, align 8 + %cmp133 = icmp ult i64 %add132, %82 + br i1 %cmp133, label %land.lhs.true135, label %if.end164 + +land.lhs.true135: ; preds = %land.lhs.true131 + %83 = load i8*, i8** %arg.addr, align 8 + %84 = load i64, i64* %i, align 8 + %add136 = add i64 %84, 1 + %arrayidx137 = getelementptr inbounds i8, i8* %83, i64 %add136 + %85 = load i8, i8* %arrayidx137, align 1 + %conv138 = sext i8 %85 to i32 + %cmp139 = icmp sle i32 48, %conv138 + br i1 %cmp139, label %land.lhs.true141, label %if.end164 + +land.lhs.true141: ; preds = %land.lhs.true135 + %86 = load i8*, i8** %arg.addr, align 8 + %87 = load i64, i64* %i, align 8 + %add142 = add i64 %87, 1 + %arrayidx143 = getelementptr inbounds i8, i8* %86, i64 %add142 + %88 = load i8, i8* %arrayidx143, align 1 + %conv144 = sext i8 %88 to i32 + %cmp145 = icmp sle i32 %conv144, 57 + br i1 %cmp145, label %do.body148, label %if.end164 + +do.body148: ; preds = %land.lhs.true141 + %89 = load i64, i64* %len, align 8 + %90 = load i64, i64* %buffersize.addr, align 8 + %cmp149 = icmp ult i64 %89, %90 + br i1 %cmp149, label %if.then151, label %if.end153 + +if.then151: ; preds = %do.body148 + %91 = load i8*, i8** %buffer.addr, align 8 + %92 = load i64, i64* %len, align 8 + %arrayidx152 = getelementptr inbounds i8, i8* %91, i64 %92 + store i8 48, i8* %arrayidx152, align 1 + br label %if.end153 + +if.end153: ; preds = %if.then151, %do.body148 + %93 = load i64, i64* %len, align 8 + %inc154 = add i64 %93, 1 + store i64 %inc154, i64* %len, align 8 + %94 = load i64, i64* %len, align 8 + %95 = load i64, i64* %buffersize.addr, align 8 + %cmp157 = icmp ult i64 %94, %95 + br i1 %cmp157, label %if.then159, label %if.end161 + +if.then159: ; preds = %if.end153 + %96 = load i8*, i8** %buffer.addr, align 8 + %97 = load i64, i64* %len, align 8 + %arrayidx160 = getelementptr inbounds i8, i8* %96, i64 %97 + store i8 48, i8* %arrayidx160, align 1 + br label %if.end161 + +if.end161: ; preds = %if.then159, %if.end153 + %98 = load i64, i64* %len, align 8 + %inc162 = add i64 %98, 1 + store i64 %inc162, i64* %len, align 8 + br label %if.end164 + +if.end164: ; preds = %if.end161, %land.lhs.true141, %land.lhs.true135, %land.lhs.true131, %if.end125 + store i8 48, i8* %c, align 1 + br label %sw.epilog564 + +if.else: ; preds = %sw.bb83 + %99 = load i32, i32* %flags.addr, align 4 + %and165 = and i32 %99, 1 + %tobool166 = icmp ne i32 %and165, 0 + br i1 %tobool166, label %for.inc673, label %sw.epilog564 + +sw.bb170: ; preds = %NodeBlock230 + %100 = load i32, i32* %quoting_style.addr, align 4 + br label %NodeBlock237 + +NodeBlock237: ; preds = %sw.bb170 + %case.cmp238 = icmp eq i32 %100, 2 + br i1 %case.cmp238, label %sw.bb171, label %NodeBlock235 + +NodeBlock235: ; preds = %NodeBlock237 + %case.cmp236 = icmp eq i32 %100, 5 + br i1 %case.cmp236, label %sw.bb175, label %newDefault234 + +sw.bb171: ; preds = %NodeBlock237 + %101 = load i8, i8* %elide_outer_quotes, align 1 + %tobool172 = trunc i8 %101 to i1 + br i1 %tobool172, label %force_outer_quoting_style, label %sw.epilog564 + +sw.bb175: ; preds = %NodeBlock235 + %102 = load i32, i32* %flags.addr, align 4 + %and176 = and i32 %102, 4 + %tobool177 = icmp ne i32 %and176, 0 + br i1 %tobool177, label %land.lhs.true178, label %sw.epilog564 + +land.lhs.true178: ; preds = %sw.bb175 + %103 = load i64, i64* %i, align 8 + %add179 = add i64 %103, 2 + %104 = load i64, i64* %argsize.addr, align 8 + %cmp180 = icmp ult i64 %add179, %104 + br i1 %cmp180, label %land.lhs.true182, label %sw.epilog564 + +land.lhs.true182: ; preds = %land.lhs.true178 + %105 = load i8*, i8** %arg.addr, align 8 + %106 = load i64, i64* %i, align 8 + %add183 = add i64 %106, 1 + %arrayidx184 = getelementptr inbounds i8, i8* %105, i64 %add183 + %107 = load i8, i8* %arrayidx184, align 1 + %conv185 = sext i8 %107 to i32 + %cmp186 = icmp eq i32 %conv185, 63 + br i1 %cmp186, label %if.then188, label %sw.epilog564 + +if.then188: ; preds = %land.lhs.true182 + %108 = load i8*, i8** %arg.addr, align 8 + %109 = load i64, i64* %i, align 8 + %add189 = add i64 %109, 2 + %arrayidx190 = getelementptr inbounds i8, i8* %108, i64 %add189 + %110 = load i8, i8* %arrayidx190, align 1 + %conv191 = sext i8 %110 to i32 + br label %NodeBlock256 + +NodeBlock256: ; preds = %if.then188 + %case.cmp257 = icmp eq i32 %conv191, 33 + br i1 %case.cmp257, label %sw.bb192, label %NodeBlock254 + +NodeBlock254: ; preds = %NodeBlock256 + %case.cmp255 = icmp eq i32 %conv191, 39 + br i1 %case.cmp255, label %sw.bb192, label %NodeBlock252 + +NodeBlock252: ; preds = %NodeBlock254 + %case.cmp253 = icmp eq i32 %conv191, 40 + br i1 %case.cmp253, label %sw.bb192, label %NodeBlock250 + +NodeBlock250: ; preds = %NodeBlock252 + %case.cmp251 = icmp eq i32 %conv191, 41 + br i1 %case.cmp251, label %sw.bb192, label %NodeBlock248 + +NodeBlock248: ; preds = %NodeBlock250 + %case.cmp249 = icmp eq i32 %conv191, 45 + br i1 %case.cmp249, label %sw.bb192, label %NodeBlock246 + +NodeBlock246: ; preds = %NodeBlock248 + %case.cmp247 = icmp eq i32 %conv191, 47 + br i1 %case.cmp247, label %sw.bb192, label %NodeBlock244 + +NodeBlock244: ; preds = %NodeBlock246 + %case.cmp245 = icmp eq i32 %conv191, 60 + br i1 %case.cmp245, label %sw.bb192, label %NodeBlock242 + +NodeBlock242: ; preds = %NodeBlock244 + %case.cmp243 = icmp eq i32 %conv191, 61 + br i1 %case.cmp243, label %sw.bb192, label %NodeBlock240 + +NodeBlock240: ; preds = %NodeBlock242 + %case.cmp241 = icmp eq i32 %conv191, 62 + br i1 %case.cmp241, label %sw.bb192, label %newDefault239 + +sw.bb192: ; preds = %NodeBlock256, %NodeBlock254, %NodeBlock252, %NodeBlock250, %NodeBlock248, %NodeBlock246, %NodeBlock244, %NodeBlock242, %NodeBlock240 + %111 = load i8, i8* %elide_outer_quotes, align 1 + %tobool193 = trunc i8 %111 to i1 + br i1 %tobool193, label %force_outer_quoting_style, label %if.end195 + +if.end195: ; preds = %sw.bb192 + %112 = load i8*, i8** %arg.addr, align 8 + %113 = load i64, i64* %i, align 8 + %add196 = add i64 %113, 2 + %arrayidx197 = getelementptr inbounds i8, i8* %112, i64 %add196 + %114 = load i8, i8* %arrayidx197, align 1 + store i8 %114, i8* %c, align 1 + %115 = load i64, i64* %i, align 8 + %add198 = add i64 %115, 2 + store i64 %add198, i64* %i, align 8 + %116 = load i64, i64* %len, align 8 + %117 = load i64, i64* %buffersize.addr, align 8 + %cmp200 = icmp ult i64 %116, %117 + br i1 %cmp200, label %if.then202, label %if.end204 + +if.then202: ; preds = %if.end195 + %118 = load i8*, i8** %buffer.addr, align 8 + %119 = load i64, i64* %len, align 8 + %arrayidx203 = getelementptr inbounds i8, i8* %118, i64 %119 + store i8 63, i8* %arrayidx203, align 1 + br label %if.end204 + +if.end204: ; preds = %if.then202, %if.end195 + %120 = load i64, i64* %len, align 8 + %inc205 = add i64 %120, 1 + store i64 %inc205, i64* %len, align 8 + %121 = load i64, i64* %len, align 8 + %122 = load i64, i64* %buffersize.addr, align 8 + %cmp208 = icmp ult i64 %121, %122 + br i1 %cmp208, label %if.then210, label %if.end212 + +if.then210: ; preds = %if.end204 + %123 = load i8*, i8** %buffer.addr, align 8 + %124 = load i64, i64* %len, align 8 + %arrayidx211 = getelementptr inbounds i8, i8* %123, i64 %124 + store i8 34, i8* %arrayidx211, align 1 + br label %if.end212 + +if.end212: ; preds = %if.then210, %if.end204 + %125 = load i64, i64* %len, align 8 + %inc213 = add i64 %125, 1 + store i64 %inc213, i64* %len, align 8 + %126 = load i64, i64* %len, align 8 + %127 = load i64, i64* %buffersize.addr, align 8 + %cmp216 = icmp ult i64 %126, %127 + br i1 %cmp216, label %if.then218, label %if.end220 + +if.then218: ; preds = %if.end212 + %128 = load i8*, i8** %buffer.addr, align 8 + %129 = load i64, i64* %len, align 8 + %arrayidx219 = getelementptr inbounds i8, i8* %128, i64 %129 + store i8 34, i8* %arrayidx219, align 1 + br label %if.end220 + +if.end220: ; preds = %if.then218, %if.end212 + %130 = load i64, i64* %len, align 8 + %inc221 = add i64 %130, 1 + store i64 %inc221, i64* %len, align 8 + %131 = load i64, i64* %len, align 8 + %132 = load i64, i64* %buffersize.addr, align 8 + %cmp224 = icmp ult i64 %131, %132 + br i1 %cmp224, label %if.then226, label %if.end228 + +if.then226: ; preds = %if.end220 + %133 = load i8*, i8** %buffer.addr, align 8 + %134 = load i64, i64* %len, align 8 + %arrayidx227 = getelementptr inbounds i8, i8* %133, i64 %134 + store i8 63, i8* %arrayidx227, align 1 + br label %if.end228 + +if.end228: ; preds = %if.then226, %if.end220 + %135 = load i64, i64* %len, align 8 + %inc229 = add i64 %135, 1 + store i64 %inc229, i64* %len, align 8 + br label %sw.epilog564 + +sw.bb236: ; preds = %NodeBlock228 + store i8 97, i8* %esc, align 1 + br label %c_escape + +sw.bb237: ; preds = %NodeBlock226 + store i8 98, i8* %esc, align 1 + br label %c_escape + +sw.bb238: ; preds = %NodeBlock224 + store i8 102, i8* %esc, align 1 + br label %c_escape + +sw.bb239: ; preds = %NodeBlock222 + store i8 110, i8* %esc, align 1 + br label %c_and_shell_escape + +sw.bb240: ; preds = %NodeBlock220 + store i8 114, i8* %esc, align 1 + br label %c_and_shell_escape + +sw.bb241: ; preds = %NodeBlock218 + store i8 116, i8* %esc, align 1 + br label %c_and_shell_escape + +sw.bb242: ; preds = %NodeBlock216 + store i8 118, i8* %esc, align 1 + br label %c_escape + +sw.bb243: ; preds = %NodeBlock214 + %136 = load i8, i8* %c, align 1 + store i8 %136, i8* %esc, align 1 + %137 = load i32, i32* %quoting_style.addr, align 4 + %cmp244 = icmp eq i32 %137, 2 + br i1 %cmp244, label %if.then246, label %if.end250 + +if.then246: ; preds = %sw.bb243 + %138 = load i8, i8* %elide_outer_quotes, align 1 + %tobool247 = trunc i8 %138 to i1 + br i1 %tobool247, label %force_outer_quoting_style, label %do.body634 + +if.end250: ; preds = %sw.bb243 + %139 = load i8, i8* %backslash_escapes, align 1 + %tobool251 = trunc i8 %139 to i1 + br i1 %tobool251, label %land.lhs.true253, label %c_and_shell_escape + +land.lhs.true253: ; preds = %if.end250 + %140 = load i8, i8* %elide_outer_quotes, align 1 + %tobool254 = trunc i8 %140 to i1 + %141 = load i64, i64* %quote_string_len, align 8 + %tobool257 = icmp ne i64 %141, 0 + %or.cond3 = and i1 %tobool254, %tobool257 + br i1 %or.cond3, label %do.body634, label %c_and_shell_escape + +c_and_shell_escape: ; preds = %if.end250, %land.lhs.true253, %sw.bb241, %sw.bb240, %sw.bb239 + %142 = load i32, i32* %quoting_style.addr, align 4 + %cmp260 = icmp eq i32 %142, 2 + br i1 %cmp260, label %land.lhs.true262, label %c_escape + +land.lhs.true262: ; preds = %c_and_shell_escape + %143 = load i8, i8* %elide_outer_quotes, align 1 + %tobool263 = trunc i8 %143 to i1 + br i1 %tobool263, label %force_outer_quoting_style, label %c_escape + +c_escape: ; preds = %c_and_shell_escape, %land.lhs.true262, %sw.bb242, %sw.bb238, %sw.bb237, %sw.bb236 + %144 = load i8, i8* %backslash_escapes, align 1 + %tobool267 = trunc i8 %144 to i1 + br i1 %tobool267, label %if.then268, label %sw.epilog564 + +if.then268: ; preds = %c_escape + %145 = load i8, i8* %esc, align 1 + store i8 %145, i8* %c, align 1 + br label %do.body586 + +sw.bb270: ; preds = %NodeBlock212, %NodeBlock210 + %146 = load i64, i64* %argsize.addr, align 8 + %cmp271 = icmp eq i64 %146, -1 + br i1 %cmp271, label %cond.true273, label %cond.false278 + +cond.true273: ; preds = %sw.bb270 + %147 = load i8*, i8** %arg.addr, align 8 + %arrayidx274 = getelementptr inbounds i8, i8* %147, i64 1 + %148 = load i8, i8* %arrayidx274, align 1 + %conv275 = sext i8 %148 to i32 + %cmp276 = icmp eq i32 %conv275, 0 + br i1 %cmp276, label %sw.bb283, label %sw.epilog564 + +cond.false278: ; preds = %sw.bb270 + %149 = load i64, i64* %argsize.addr, align 8 + %cmp279 = icmp eq i64 %149, 1 + br i1 %cmp279, label %sw.bb283, label %sw.epilog564 + +sw.bb283: ; preds = %NodeBlock208, %NodeBlock206, %cond.true273, %cond.false278 + %150 = load i64, i64* %i, align 8 + %cmp284 = icmp ne i64 %150, 0 + br i1 %cmp284, label %sw.epilog564, label %sw.bb288 + +sw.bb288: ; preds = %NodeBlock204, %sw.bb283 + store i8 1, i8* %c_and_shell_quote_compat, align 1 + br label %sw.bb289 + +sw.bb289: ; preds = %NodeBlock202, %NodeBlock200, %NodeBlock198, %NodeBlock196, %NodeBlock194, %NodeBlock192, %NodeBlock190, %NodeBlock188, %NodeBlock186, %NodeBlock184, %NodeBlock182, %NodeBlock180, %NodeBlock178, %NodeBlock176, %NodeBlock174, %sw.bb288 + %151 = load i32, i32* %quoting_style.addr, align 4 + %cmp290 = icmp eq i32 %151, 2 + br i1 %cmp290, label %land.lhs.true292, label %sw.epilog564 + +land.lhs.true292: ; preds = %sw.bb289 + %152 = load i8, i8* %elide_outer_quotes, align 1 + %tobool293 = trunc i8 %152 to i1 + br i1 %tobool293, label %force_outer_quoting_style, label %sw.epilog564 + +sw.bb297: ; preds = %NodeBlock172 + store i8 1, i8* %encountered_single_quote, align 1 + store i8 1, i8* %c_and_shell_quote_compat, align 1 + %153 = load i32, i32* %quoting_style.addr, align 4 + %cmp298 = icmp eq i32 %153, 2 + br i1 %cmp298, label %if.then300, label %sw.epilog564 + +if.then300: ; preds = %sw.bb297 + %154 = load i8, i8* %elide_outer_quotes, align 1 + %tobool301 = trunc i8 %154 to i1 + br i1 %tobool301, label %force_outer_quoting_style, label %if.end303 + +if.end303: ; preds = %if.then300 + %155 = load i64, i64* %buffersize.addr, align 8 + %tobool304 = icmp eq i64 %155, 0 + %156 = load i64, i64* %orig_buffersize, align 8 + %tobool306 = icmp ne i64 %156, 0 + %or.cond4 = or i1 %tobool304, %tobool306 + br i1 %or.cond4, label %do.body309, label %if.then307 + +if.then307: ; preds = %if.end303 + %157 = load i64, i64* %buffersize.addr, align 8 + store i64 %157, i64* %orig_buffersize, align 8 + store i64 0, i64* %buffersize.addr, align 8 + br label %do.body309 + +do.body309: ; preds = %if.then307, %if.end303 + %158 = load i64, i64* %len, align 8 + %159 = load i64, i64* %buffersize.addr, align 8 + %cmp310 = icmp ult i64 %158, %159 + br i1 %cmp310, label %if.then312, label %if.end314 + +if.then312: ; preds = %do.body309 + %160 = load i8*, i8** %buffer.addr, align 8 + %161 = load i64, i64* %len, align 8 + %arrayidx313 = getelementptr inbounds i8, i8* %160, i64 %161 + store i8 39, i8* %arrayidx313, align 1 + br label %if.end314 + +if.end314: ; preds = %if.then312, %do.body309 + %162 = load i64, i64* %len, align 8 + %inc315 = add i64 %162, 1 + store i64 %inc315, i64* %len, align 8 + %163 = load i64, i64* %len, align 8 + %164 = load i64, i64* %buffersize.addr, align 8 + %cmp318 = icmp ult i64 %163, %164 + br i1 %cmp318, label %if.then320, label %if.end322 + +if.then320: ; preds = %if.end314 + %165 = load i8*, i8** %buffer.addr, align 8 + %166 = load i64, i64* %len, align 8 + %arrayidx321 = getelementptr inbounds i8, i8* %165, i64 %166 + store i8 92, i8* %arrayidx321, align 1 + br label %if.end322 + +if.end322: ; preds = %if.then320, %if.end314 + %167 = load i64, i64* %len, align 8 + %inc323 = add i64 %167, 1 + store i64 %inc323, i64* %len, align 8 + %168 = load i64, i64* %len, align 8 + %169 = load i64, i64* %buffersize.addr, align 8 + %cmp326 = icmp ult i64 %168, %169 + br i1 %cmp326, label %if.then328, label %if.end330 + +if.then328: ; preds = %if.end322 + %170 = load i8*, i8** %buffer.addr, align 8 + %171 = load i64, i64* %len, align 8 + %arrayidx329 = getelementptr inbounds i8, i8* %170, i64 %171 + store i8 39, i8* %arrayidx329, align 1 + br label %if.end330 + +if.end330: ; preds = %if.then328, %if.end322 + %172 = load i64, i64* %len, align 8 + %inc331 = add i64 %172, 1 + store i64 %inc331, i64* %len, align 8 + store i8 0, i8* %pending_shell_escape_end, align 1 + br label %sw.epilog564 + +sw.bb334: ; preds = %NodeBlock170, %NodeBlock168, %NodeBlock166, %NodeBlock164, %NodeBlock162, %NodeBlock160, %NodeBlock158, %NodeBlock156, %NodeBlock154, %NodeBlock152, %NodeBlock150, %NodeBlock148, %NodeBlock146, %NodeBlock144, %NodeBlock142, %NodeBlock140, %NodeBlock138, %NodeBlock136, %NodeBlock134, %NodeBlock132, %NodeBlock130, %NodeBlock128, %NodeBlock126, %NodeBlock124, %NodeBlock122, %NodeBlock120, %NodeBlock118, %NodeBlock116, %NodeBlock114, %NodeBlock112, %NodeBlock110, %NodeBlock108, %NodeBlock106, %NodeBlock104, %NodeBlock102, %NodeBlock100, %NodeBlock98, %NodeBlock96, %NodeBlock94, %NodeBlock92, %NodeBlock90, %NodeBlock88, %NodeBlock86, %NodeBlock84, %NodeBlock82, %NodeBlock80, %NodeBlock78, %NodeBlock76, %NodeBlock74, %NodeBlock72, %NodeBlock70, %NodeBlock68, %NodeBlock66, %NodeBlock64, %NodeBlock62, %NodeBlock60, %NodeBlock58, %NodeBlock56, %NodeBlock54, %NodeBlock52, %NodeBlock50, %NodeBlock48, %NodeBlock46, %NodeBlock44, %NodeBlock42, %NodeBlock40, %NodeBlock38, %NodeBlock36, %NodeBlock34, %NodeBlock32, %NodeBlock30 + store i8 1, i8* %c_and_shell_quote_compat, align 1 + br label %sw.epilog564 + +newDefault29: ; preds = %NodeBlock30 + br label %sw.default335 + +sw.default335: ; preds = %newDefault29 + %173 = load i8, i8* %unibyte_locale, align 1 + %tobool336 = trunc i8 %173 to i1 + br i1 %tobool336, label %if.then337, label %if.else346 + +if.then337: ; preds = %sw.default335 + store i64 1, i64* %m, align 8 + %call338 = call i16** @__ctype_b_loc() #25 + %174 = load i16*, i16** %call338, align 8 + %175 = load i8, i8* %c, align 1 + %conv339 = zext i8 %175 to i32 + %idxprom = sext i32 %conv339 to i64 + %arrayidx340 = getelementptr inbounds i16, i16* %174, i64 %idxprom + %176 = load i16, i16* %arrayidx340, align 2 + %conv341 = zext i16 %176 to i32 + %and342 = and i32 %conv341, 16384 + %cmp343 = icmp ne i32 %and342, 0 + %frombool345 = zext i1 %cmp343 to i8 + store i8 %frombool345, i8* %printable, align 1 + br label %if.end410 + +if.else346: ; preds = %sw.default335 + %177 = bitcast %struct.__mbstate_t* %mbstate to i8* + %178 = call i8* @memset(i8* %177, i32 0, i64 8) + store i64 0, i64* %m, align 8 + store i8 1, i8* %printable, align 1 + %179 = load i64, i64* %argsize.addr, align 8 + %cmp347 = icmp eq i64 %179, -1 + br i1 %cmp347, label %if.then349, label %if.end351 + +if.then349: ; preds = %if.else346 + %180 = load i8*, i8** %arg.addr, align 8 + %call350 = call i64 @strlen(i8* %180) #23 + store i64 %call350, i64* %argsize.addr, align 8 + br label %if.end351 + +if.end351: ; preds = %if.then349, %if.else346 + br label %do.body352 + +do.body352: ; preds = %if.end401, %if.end351 + %181 = load i8*, i8** %arg.addr, align 8 + %182 = load i64, i64* %i, align 8 + %183 = load i64, i64* %m, align 8 + %add353 = add i64 %182, %183 + %arrayidx354 = getelementptr inbounds i8, i8* %181, i64 %add353 + %184 = load i64, i64* %argsize.addr, align 8 + %185 = load i64, i64* %i, align 8 + %186 = load i64, i64* %m, align 8 + %add355 = add i64 %185, %186 + %sub = sub i64 %184, %add355 + %call356 = call i64 @rpl_mbrtowc(i32* %w, i8* %arrayidx354, i64 %sub, %struct.__mbstate_t* %mbstate) + store i64 %call356, i64* %bytes, align 8 + %187 = load i64, i64* %bytes, align 8 + %cmp357 = icmp eq i64 %187, 0 + br i1 %cmp357, label %if.end410, label %if.else360 + +if.else360: ; preds = %do.body352 + %188 = load i64, i64* %bytes, align 8 + %cmp361 = icmp eq i64 %188, -1 + br i1 %cmp361, label %if.then363, label %if.else364 + +if.then363: ; preds = %if.else360 + store i8 0, i8* %printable, align 1 + br label %if.end410 + +if.else364: ; preds = %if.else360 + %189 = load i64, i64* %bytes, align 8 + %cmp365 = icmp eq i64 %189, -2 + br i1 %cmp365, label %if.then367, label %if.else376 + +if.then367: ; preds = %if.else364 + store i8 0, i8* %printable, align 1 + br label %while.cond + +while.cond: ; preds = %while.body, %if.then367 + %190 = load i64, i64* %i, align 8 + %191 = load i64, i64* %m, align 8 + %add368 = add i64 %190, %191 + %192 = load i64, i64* %argsize.addr, align 8 + %cmp369 = icmp ult i64 %add368, %192 + br i1 %cmp369, label %land.rhs, label %if.end410 + +land.rhs: ; preds = %while.cond + %193 = load i8*, i8** %arg.addr, align 8 + %194 = load i64, i64* %i, align 8 + %195 = load i64, i64* %m, align 8 + %add371 = add i64 %194, %195 + %arrayidx372 = getelementptr inbounds i8, i8* %193, i64 %add371 + %196 = load i8, i8* %arrayidx372, align 1 + %conv373 = sext i8 %196 to i32 + %tobool374 = icmp ne i32 %conv373, 0 + br i1 %tobool374, label %while.body, label %if.end410 + +while.body: ; preds = %land.rhs + %197 = load i64, i64* %m, align 8 + %inc375 = add i64 %197, 1 + store i64 %inc375, i64* %m, align 8 + br label %while.cond + +if.else376: ; preds = %if.else364 + %198 = load i8, i8* %elide_outer_quotes, align 1 + %tobool377 = trunc i8 %198 to i1 + %199 = load i32, i32* %quoting_style.addr, align 4 + %cmp380 = icmp eq i32 %199, 2 + %or.cond5 = and i1 %tobool377, %cmp380 + br i1 %or.cond5, label %if.then382, label %if.end397 + +if.then382: ; preds = %if.else376 + store i64 1, i64* %j, align 8 + br label %for.cond383 + +for.cond383: ; preds = %for.inc394, %if.then382 + %200 = load i64, i64* %j, align 8 + %201 = load i64, i64* %bytes, align 8 + %cmp384 = icmp ult i64 %200, %201 + br i1 %cmp384, label %for.body386, label %if.end397 + +for.body386: ; preds = %for.cond383 + %202 = load i8*, i8** %arg.addr, align 8 + %203 = load i64, i64* %i, align 8 + %204 = load i64, i64* %m, align 8 + %add387 = add i64 %203, %204 + %205 = load i64, i64* %j, align 8 + %add388 = add i64 %add387, %205 + %arrayidx389 = getelementptr inbounds i8, i8* %202, i64 %add388 + %206 = load i8, i8* %arrayidx389, align 1 + %conv390 = sext i8 %206 to i32 + br label %NodeBlock267 + +NodeBlock267: ; preds = %for.body386 + %case.cmp268 = icmp eq i32 %conv390, 91 + br i1 %case.cmp268, label %force_outer_quoting_style, label %NodeBlock265 + +NodeBlock265: ; preds = %NodeBlock267 + %case.cmp266 = icmp eq i32 %conv390, 92 + br i1 %case.cmp266, label %force_outer_quoting_style, label %NodeBlock263 + +NodeBlock263: ; preds = %NodeBlock265 + %case.cmp264 = icmp eq i32 %conv390, 94 + br i1 %case.cmp264, label %force_outer_quoting_style, label %NodeBlock261 + +NodeBlock261: ; preds = %NodeBlock263 + %case.cmp262 = icmp eq i32 %conv390, 96 + br i1 %case.cmp262, label %force_outer_quoting_style, label %NodeBlock259 + +NodeBlock259: ; preds = %NodeBlock261 + %case.cmp260 = icmp eq i32 %conv390, 124 + br i1 %case.cmp260, label %force_outer_quoting_style, label %newDefault258 + +newDefault258: ; preds = %NodeBlock259 + br label %for.inc394 + +for.inc394: ; preds = %newDefault258 + %207 = load i64, i64* %j, align 8 + %inc395 = add i64 %207, 1 + store i64 %inc395, i64* %j, align 8 + br label %for.cond383 + +if.end397: ; preds = %for.cond383, %if.else376 + %208 = load i32, i32* %w, align 4 + %call398 = call i32 @iswprint(i32 %208) #11 + %tobool399 = icmp ne i32 %call398, 0 + br i1 %tobool399, label %if.end401, label %if.then400 + +if.then400: ; preds = %if.end397 + store i8 0, i8* %printable, align 1 + br label %if.end401 + +if.end401: ; preds = %if.then400, %if.end397 + %209 = load i64, i64* %bytes, align 8 + %210 = load i64, i64* %m, align 8 + %add402 = add i64 %210, %209 + store i64 %add402, i64* %m, align 8 + %call406 = call i32 bitcast (i32 (%struct.__mbstate_t.512*)* @mbsinit to i32 (%struct.__mbstate_t*)*)(%struct.__mbstate_t* %mbstate) #23 + %tobool407 = icmp ne i32 %call406, 0 + %lnot408 = xor i1 %tobool407, true + br i1 %lnot408, label %do.body352, label %if.end410 + +if.end410: ; preds = %if.then363, %if.end401, %do.body352, %while.cond, %land.rhs, %if.then337 + %211 = load i8, i8* %printable, align 1 + %tobool411 = trunc i8 %211 to i1 + %frombool412 = zext i1 %tobool411 to i8 + store i8 %frombool412, i8* %c_and_shell_quote_compat, align 1 + %212 = load i64, i64* %m, align 8 + %cmp413 = icmp ult i64 1, %212 + br i1 %cmp413, label %if.then419, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end410 + %213 = load i8, i8* %backslash_escapes, align 1 + %tobool415 = trunc i8 %213 to i1 + br i1 %tobool415, label %land.lhs.true417, label %sw.epilog564 + +land.lhs.true417: ; preds = %lor.lhs.false + %214 = load i8, i8* %printable, align 1 + %tobool418 = trunc i8 %214 to i1 + br i1 %tobool418, label %sw.epilog564, label %if.then419 + +if.then419: ; preds = %land.lhs.true417, %if.end410 + %215 = load i64, i64* %i, align 8 + %216 = load i64, i64* %m, align 8 + %add420 = add i64 %215, %216 + store i64 %add420, i64* %ilim, align 8 + br label %for.cond421 + +for.cond421: ; preds = %if.end556, %if.then419 + %217 = load i8, i8* %backslash_escapes, align 1 + %tobool422 = trunc i8 %217 to i1 + br i1 %tobool422, label %land.lhs.true424, label %if.else505 + +land.lhs.true424: ; preds = %for.cond421 + %218 = load i8, i8* %printable, align 1 + %tobool425 = trunc i8 %218 to i1 + br i1 %tobool425, label %if.else505, label %do.body427 + +do.body427: ; preds = %land.lhs.true424 + %219 = load i8, i8* %elide_outer_quotes, align 1 + %tobool428 = trunc i8 %219 to i1 + br i1 %tobool428, label %force_outer_quoting_style, label %if.end430 + +if.end430: ; preds = %do.body427 + store i8 1, i8* %escaping, align 1 + %220 = load i32, i32* %quoting_style.addr, align 4 + %cmp431 = icmp eq i32 %220, 2 + br i1 %cmp431, label %land.lhs.true433, label %do.body464 + +land.lhs.true433: ; preds = %if.end430 + %221 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool434 = trunc i8 %221 to i1 + br i1 %tobool434, label %do.body464, label %do.body436 + +do.body436: ; preds = %land.lhs.true433 + %222 = load i64, i64* %len, align 8 + %223 = load i64, i64* %buffersize.addr, align 8 + %cmp437 = icmp ult i64 %222, %223 + br i1 %cmp437, label %if.then439, label %if.end441 + +if.then439: ; preds = %do.body436 + %224 = load i8*, i8** %buffer.addr, align 8 + %225 = load i64, i64* %len, align 8 + %arrayidx440 = getelementptr inbounds i8, i8* %224, i64 %225 + store i8 39, i8* %arrayidx440, align 1 + br label %if.end441 + +if.end441: ; preds = %if.then439, %do.body436 + %226 = load i64, i64* %len, align 8 + %inc442 = add i64 %226, 1 + store i64 %inc442, i64* %len, align 8 + %227 = load i64, i64* %len, align 8 + %228 = load i64, i64* %buffersize.addr, align 8 + %cmp446 = icmp ult i64 %227, %228 + br i1 %cmp446, label %if.then448, label %if.end450 + +if.then448: ; preds = %if.end441 + %229 = load i8*, i8** %buffer.addr, align 8 + %230 = load i64, i64* %len, align 8 + %arrayidx449 = getelementptr inbounds i8, i8* %229, i64 %230 + store i8 36, i8* %arrayidx449, align 1 + br label %if.end450 + +if.end450: ; preds = %if.then448, %if.end441 + %231 = load i64, i64* %len, align 8 + %inc451 = add i64 %231, 1 + store i64 %inc451, i64* %len, align 8 + %232 = load i64, i64* %len, align 8 + %233 = load i64, i64* %buffersize.addr, align 8 + %cmp455 = icmp ult i64 %232, %233 + br i1 %cmp455, label %if.then457, label %if.end459 + +if.then457: ; preds = %if.end450 + %234 = load i8*, i8** %buffer.addr, align 8 + %235 = load i64, i64* %len, align 8 + %arrayidx458 = getelementptr inbounds i8, i8* %234, i64 %235 + store i8 39, i8* %arrayidx458, align 1 + br label %if.end459 + +if.end459: ; preds = %if.then457, %if.end450 + %236 = load i64, i64* %len, align 8 + %inc460 = add i64 %236, 1 + store i64 %inc460, i64* %len, align 8 + store i8 1, i8* %pending_shell_escape_end, align 1 + br label %do.body464 + +do.body464: ; preds = %if.end430, %land.lhs.true433, %if.end459 + %237 = load i64, i64* %len, align 8 + %238 = load i64, i64* %buffersize.addr, align 8 + %cmp465 = icmp ult i64 %237, %238 + br i1 %cmp465, label %if.then467, label %if.end469 + +if.then467: ; preds = %do.body464 + %239 = load i8*, i8** %buffer.addr, align 8 + %240 = load i64, i64* %len, align 8 + %arrayidx468 = getelementptr inbounds i8, i8* %239, i64 %240 + store i8 92, i8* %arrayidx468, align 1 + br label %if.end469 + +if.end469: ; preds = %if.then467, %do.body464 + %241 = load i64, i64* %len, align 8 + %inc470 = add i64 %241, 1 + store i64 %inc470, i64* %len, align 8 + %242 = load i64, i64* %len, align 8 + %243 = load i64, i64* %buffersize.addr, align 8 + %cmp476 = icmp ult i64 %242, %243 + br i1 %cmp476, label %if.then478, label %if.end483 + +if.then478: ; preds = %if.end469 + %244 = load i8, i8* %c, align 1 + %conv479 = zext i8 %244 to i32 + %shr = ashr i32 %conv479, 6 + %add480 = add nsw i32 48, %shr + %conv481 = trunc i32 %add480 to i8 + %245 = load i8*, i8** %buffer.addr, align 8 + %246 = load i64, i64* %len, align 8 + %arrayidx482 = getelementptr inbounds i8, i8* %245, i64 %246 + store i8 %conv481, i8* %arrayidx482, align 1 + br label %if.end483 + +if.end483: ; preds = %if.then478, %if.end469 + %247 = load i64, i64* %len, align 8 + %inc484 = add i64 %247, 1 + store i64 %inc484, i64* %len, align 8 + %248 = load i64, i64* %len, align 8 + %249 = load i64, i64* %buffersize.addr, align 8 + %cmp488 = icmp ult i64 %248, %249 + br i1 %cmp488, label %if.then490, label %if.end497 + +if.then490: ; preds = %if.end483 + %250 = load i8, i8* %c, align 1 + %conv491 = zext i8 %250 to i32 + %shr492 = ashr i32 %conv491, 3 + %and493 = and i32 %shr492, 7 + %add494 = add nsw i32 48, %and493 + %conv495 = trunc i32 %add494 to i8 + %251 = load i8*, i8** %buffer.addr, align 8 + %252 = load i64, i64* %len, align 8 + %arrayidx496 = getelementptr inbounds i8, i8* %251, i64 %252 + store i8 %conv495, i8* %arrayidx496, align 1 + br label %if.end497 + +if.end497: ; preds = %if.then490, %if.end483 + %253 = load i64, i64* %len, align 8 + %inc498 = add i64 %253, 1 + store i64 %inc498, i64* %len, align 8 + %254 = load i8, i8* %c, align 1 + %conv501 = zext i8 %254 to i32 + %and502 = and i32 %conv501, 7 + %add503 = add nsw i32 48, %and502 + %conv504 = trunc i32 %add503 to i8 + store i8 %conv504, i8* %c, align 1 + br label %if.end518 + +if.else505: ; preds = %land.lhs.true424, %for.cond421 + %255 = load i8, i8* %is_right_quote, align 1 + %tobool506 = trunc i8 %255 to i1 + br i1 %tobool506, label %do.body508, label %if.end518 + +do.body508: ; preds = %if.else505 + %256 = load i64, i64* %len, align 8 + %257 = load i64, i64* %buffersize.addr, align 8 + %cmp509 = icmp ult i64 %256, %257 + br i1 %cmp509, label %if.then511, label %if.end513 + +if.then511: ; preds = %do.body508 + %258 = load i8*, i8** %buffer.addr, align 8 + %259 = load i64, i64* %len, align 8 + %arrayidx512 = getelementptr inbounds i8, i8* %258, i64 %259 + store i8 92, i8* %arrayidx512, align 1 + br label %if.end513 + +if.end513: ; preds = %if.then511, %do.body508 + %260 = load i64, i64* %len, align 8 + %inc514 = add i64 %260, 1 + store i64 %inc514, i64* %len, align 8 + store i8 0, i8* %is_right_quote, align 1 + br label %if.end518 + +if.end518: ; preds = %if.else505, %if.end513, %if.end497 + %261 = load i64, i64* %ilim, align 8 + %262 = load i64, i64* %i, align 8 + %add519 = add i64 %262, 1 + %cmp520 = icmp ule i64 %261, %add519 + br i1 %cmp520, label %do.body634, label %do.body524 + +do.body524: ; preds = %if.end518 + %263 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool525 = trunc i8 %263 to i1 + br i1 %tobool525, label %land.lhs.true527, label %do.body551 + +land.lhs.true527: ; preds = %do.body524 + %264 = load i8, i8* %escaping, align 1 + %tobool528 = trunc i8 %264 to i1 + br i1 %tobool528, label %do.body551, label %do.body530 + +do.body530: ; preds = %land.lhs.true527 + %265 = load i64, i64* %len, align 8 + %266 = load i64, i64* %buffersize.addr, align 8 + %cmp531 = icmp ult i64 %265, %266 + br i1 %cmp531, label %if.then533, label %if.end535 + +if.then533: ; preds = %do.body530 + %267 = load i8*, i8** %buffer.addr, align 8 + %268 = load i64, i64* %len, align 8 + %arrayidx534 = getelementptr inbounds i8, i8* %267, i64 %268 + store i8 39, i8* %arrayidx534, align 1 + br label %if.end535 + +if.end535: ; preds = %if.then533, %do.body530 + %269 = load i64, i64* %len, align 8 + %inc536 = add i64 %269, 1 + store i64 %inc536, i64* %len, align 8 + %270 = load i64, i64* %len, align 8 + %271 = load i64, i64* %buffersize.addr, align 8 + %cmp540 = icmp ult i64 %270, %271 + br i1 %cmp540, label %if.then542, label %if.end544 + +if.then542: ; preds = %if.end535 + %272 = load i8*, i8** %buffer.addr, align 8 + %273 = load i64, i64* %len, align 8 + %arrayidx543 = getelementptr inbounds i8, i8* %272, i64 %273 + store i8 39, i8* %arrayidx543, align 1 + br label %if.end544 + +if.end544: ; preds = %if.then542, %if.end535 + %274 = load i64, i64* %len, align 8 + %inc545 = add i64 %274, 1 + store i64 %inc545, i64* %len, align 8 + store i8 0, i8* %pending_shell_escape_end, align 1 + br label %do.body551 + +do.body551: ; preds = %if.end544, %land.lhs.true527, %do.body524 + %275 = load i64, i64* %len, align 8 + %276 = load i64, i64* %buffersize.addr, align 8 + %cmp552 = icmp ult i64 %275, %276 + br i1 %cmp552, label %if.then554, label %if.end556 + +if.then554: ; preds = %do.body551 + %277 = load i8, i8* %c, align 1 + %278 = load i8*, i8** %buffer.addr, align 8 + %279 = load i64, i64* %len, align 8 + %arrayidx555 = getelementptr inbounds i8, i8* %278, i64 %279 + store i8 %277, i8* %arrayidx555, align 1 + br label %if.end556 + +if.end556: ; preds = %if.then554, %do.body551 + %280 = load i64, i64* %len, align 8 + %inc557 = add i64 %280, 1 + store i64 %inc557, i64* %len, align 8 + %281 = load i8*, i8** %arg.addr, align 8 + %282 = load i64, i64* %i, align 8 + %inc560 = add i64 %282, 1 + store i64 %inc560, i64* %i, align 8 + %arrayidx561 = getelementptr inbounds i8, i8* %281, i64 %inc560 + %283 = load i8, i8* %arrayidx561, align 1 + store i8 %283, i8* %c, align 1 + br label %for.cond421 + +newDefault234: ; preds = %NodeBlock235 + br label %sw.epilog564 + +newDefault239: ; preds = %NodeBlock240 + br label %sw.epilog564 + +sw.epilog564: ; preds = %newDefault239, %newDefault234, %lor.lhs.false, %land.lhs.true417, %sw.bb297, %if.end330, %sw.bb289, %land.lhs.true292, %sw.bb283, %cond.true273, %cond.false278, %c_escape, %sw.bb171, %if.end228, %land.lhs.true182, %land.lhs.true178, %sw.bb175, %if.end164, %if.else, %sw.bb334 + %284 = load i8, i8* %backslash_escapes, align 1 + %tobool565 = trunc i8 %284 to i1 + %285 = load i32, i32* %quoting_style.addr, align 4 + %cmp568 = icmp ne i32 %285, 2 + %or.cond6 = and i1 %tobool565, %cmp568 + br i1 %or.cond6, label %land.lhs.true573, label %lor.lhs.false570 + +lor.lhs.false570: ; preds = %sw.epilog564 + %286 = load i8, i8* %elide_outer_quotes, align 1 + %tobool571 = trunc i8 %286 to i1 + br i1 %tobool571, label %land.lhs.true573, label %land.lhs.true582 + +land.lhs.true573: ; preds = %sw.epilog564, %lor.lhs.false570 + %287 = load i32*, i32** %quote_these_too.addr, align 8 + %tobool574 = icmp ne i32* %287, null + br i1 %tobool574, label %land.lhs.true575, label %land.lhs.true582 + +land.lhs.true575: ; preds = %land.lhs.true573 + %288 = load i32*, i32** %quote_these_too.addr, align 8 + %289 = load i8, i8* %c, align 1 + %conv576 = zext i8 %289 to i64 + %div = udiv i64 %conv576, 32 + %arrayidx577 = getelementptr inbounds i32, i32* %288, i64 %div + %290 = load i32, i32* %arrayidx577, align 4 + %291 = load i8, i8* %c, align 1 + %conv578 = zext i8 %291 to i64 + %rem = urem i64 %conv578, 32 + %sh_prom = trunc i64 %rem to i32 + %shr579 = lshr i32 %290, %sh_prom + %and580 = and i32 %shr579, 1 + %tobool581 = icmp ne i32 %and580, 0 + br i1 %tobool581, label %do.body586, label %land.lhs.true582 + +land.lhs.true582: ; preds = %land.lhs.true575, %land.lhs.true573, %lor.lhs.false570 + %292 = load i8, i8* %is_right_quote, align 1 + %tobool583 = trunc i8 %292 to i1 + br i1 %tobool583, label %do.body586, label %do.body634 + +do.body586: ; preds = %if.then268, %land.lhs.true582, %land.lhs.true575 + %293 = load i8, i8* %elide_outer_quotes, align 1 + %tobool587 = trunc i8 %293 to i1 + br i1 %tobool587, label %force_outer_quoting_style, label %if.end589 + +if.end589: ; preds = %do.body586 + store i8 1, i8* %escaping, align 1 + %294 = load i32, i32* %quoting_style.addr, align 4 + %cmp590 = icmp eq i32 %294, 2 + br i1 %cmp590, label %land.lhs.true592, label %do.body623 + +land.lhs.true592: ; preds = %if.end589 + %295 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool593 = trunc i8 %295 to i1 + br i1 %tobool593, label %do.body623, label %do.body595 + +do.body595: ; preds = %land.lhs.true592 + %296 = load i64, i64* %len, align 8 + %297 = load i64, i64* %buffersize.addr, align 8 + %cmp596 = icmp ult i64 %296, %297 + br i1 %cmp596, label %if.then598, label %if.end600 + +if.then598: ; preds = %do.body595 + %298 = load i8*, i8** %buffer.addr, align 8 + %299 = load i64, i64* %len, align 8 + %arrayidx599 = getelementptr inbounds i8, i8* %298, i64 %299 + store i8 39, i8* %arrayidx599, align 1 + br label %if.end600 + +if.end600: ; preds = %if.then598, %do.body595 + %300 = load i64, i64* %len, align 8 + %inc601 = add i64 %300, 1 + store i64 %inc601, i64* %len, align 8 + %301 = load i64, i64* %len, align 8 + %302 = load i64, i64* %buffersize.addr, align 8 + %cmp605 = icmp ult i64 %301, %302 + br i1 %cmp605, label %if.then607, label %if.end609 + +if.then607: ; preds = %if.end600 + %303 = load i8*, i8** %buffer.addr, align 8 + %304 = load i64, i64* %len, align 8 + %arrayidx608 = getelementptr inbounds i8, i8* %303, i64 %304 + store i8 36, i8* %arrayidx608, align 1 + br label %if.end609 + +if.end609: ; preds = %if.then607, %if.end600 + %305 = load i64, i64* %len, align 8 + %inc610 = add i64 %305, 1 + store i64 %inc610, i64* %len, align 8 + %306 = load i64, i64* %len, align 8 + %307 = load i64, i64* %buffersize.addr, align 8 + %cmp614 = icmp ult i64 %306, %307 + br i1 %cmp614, label %if.then616, label %if.end618 + +if.then616: ; preds = %if.end609 + %308 = load i8*, i8** %buffer.addr, align 8 + %309 = load i64, i64* %len, align 8 + %arrayidx617 = getelementptr inbounds i8, i8* %308, i64 %309 + store i8 39, i8* %arrayidx617, align 1 + br label %if.end618 + +if.end618: ; preds = %if.then616, %if.end609 + %310 = load i64, i64* %len, align 8 + %inc619 = add i64 %310, 1 + store i64 %inc619, i64* %len, align 8 + store i8 1, i8* %pending_shell_escape_end, align 1 + br label %do.body623 + +do.body623: ; preds = %if.end589, %land.lhs.true592, %if.end618 + %311 = load i64, i64* %len, align 8 + %312 = load i64, i64* %buffersize.addr, align 8 + %cmp624 = icmp ult i64 %311, %312 + br i1 %cmp624, label %if.then626, label %if.end628 + +if.then626: ; preds = %do.body623 + %313 = load i8*, i8** %buffer.addr, align 8 + %314 = load i64, i64* %len, align 8 + %arrayidx627 = getelementptr inbounds i8, i8* %313, i64 %314 + store i8 92, i8* %arrayidx627, align 1 + br label %if.end628 + +if.end628: ; preds = %if.then626, %do.body623 + %315 = load i64, i64* %len, align 8 + %inc629 = add i64 %315, 1 + store i64 %inc629, i64* %len, align 8 + br label %do.body634 + +do.body634: ; preds = %if.end628, %if.then246, %land.lhs.true253, %if.end518, %land.lhs.true582 + %316 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool635 = trunc i8 %316 to i1 + br i1 %tobool635, label %land.lhs.true637, label %do.body661 + +land.lhs.true637: ; preds = %do.body634 + %317 = load i8, i8* %escaping, align 1 + %tobool638 = trunc i8 %317 to i1 + br i1 %tobool638, label %do.body661, label %do.body640 + +do.body640: ; preds = %land.lhs.true637 + %318 = load i64, i64* %len, align 8 + %319 = load i64, i64* %buffersize.addr, align 8 + %cmp641 = icmp ult i64 %318, %319 + br i1 %cmp641, label %if.then643, label %if.end645 + +if.then643: ; preds = %do.body640 + %320 = load i8*, i8** %buffer.addr, align 8 + %321 = load i64, i64* %len, align 8 + %arrayidx644 = getelementptr inbounds i8, i8* %320, i64 %321 + store i8 39, i8* %arrayidx644, align 1 + br label %if.end645 + +if.end645: ; preds = %if.then643, %do.body640 + %322 = load i64, i64* %len, align 8 + %inc646 = add i64 %322, 1 + store i64 %inc646, i64* %len, align 8 + %323 = load i64, i64* %len, align 8 + %324 = load i64, i64* %buffersize.addr, align 8 + %cmp650 = icmp ult i64 %323, %324 + br i1 %cmp650, label %if.then652, label %if.end654 + +if.then652: ; preds = %if.end645 + %325 = load i8*, i8** %buffer.addr, align 8 + %326 = load i64, i64* %len, align 8 + %arrayidx653 = getelementptr inbounds i8, i8* %325, i64 %326 + store i8 39, i8* %arrayidx653, align 1 + br label %if.end654 + +if.end654: ; preds = %if.then652, %if.end645 + %327 = load i64, i64* %len, align 8 + %inc655 = add i64 %327, 1 + store i64 %inc655, i64* %len, align 8 + store i8 0, i8* %pending_shell_escape_end, align 1 + br label %do.body661 + +do.body661: ; preds = %if.end654, %land.lhs.true637, %do.body634 + %328 = load i64, i64* %len, align 8 + %329 = load i64, i64* %buffersize.addr, align 8 + %cmp662 = icmp ult i64 %328, %329 + br i1 %cmp662, label %if.then664, label %if.end666 + +if.then664: ; preds = %do.body661 + %330 = load i8, i8* %c, align 1 + %331 = load i8*, i8** %buffer.addr, align 8 + %332 = load i64, i64* %len, align 8 + %arrayidx665 = getelementptr inbounds i8, i8* %331, i64 %332 + store i8 %330, i8* %arrayidx665, align 1 + br label %if.end666 + +if.end666: ; preds = %if.then664, %do.body661 + %333 = load i64, i64* %len, align 8 + %inc667 = add i64 %333, 1 + store i64 %inc667, i64* %len, align 8 + %334 = load i8, i8* %c_and_shell_quote_compat, align 1 + %tobool670 = trunc i8 %334 to i1 + br i1 %tobool670, label %for.inc673, label %if.then671 + +if.then671: ; preds = %if.end666 + store i8 0, i8* %all_c_and_shell_quote_compat, align 1 + br label %for.inc673 + +for.inc673: ; preds = %if.end666, %if.then671, %if.else + %335 = load i64, i64* %i, align 8 + %inc674 = add i64 %335, 1 + store i64 %inc674, i64* %i, align 8 + br label %for.cond44 + +for.end675: ; preds = %cond.end + %336 = load i64, i64* %len, align 8 + %cmp676 = icmp eq i64 %336, 0 + %337 = load i32, i32* %quoting_style.addr, align 4 + %cmp679 = icmp eq i32 %337, 2 + %or.cond7 = and i1 %cmp676, %cmp679 + br i1 %or.cond7, label %land.lhs.true681, label %if.end685 + +land.lhs.true681: ; preds = %for.end675 + %338 = load i8, i8* %elide_outer_quotes, align 1 + %tobool682 = trunc i8 %338 to i1 + br i1 %tobool682, label %force_outer_quoting_style, label %if.end685 + +if.end685: ; preds = %land.lhs.true681, %for.end675 + %339 = load i32, i32* %quoting_style.addr, align 4 + %cmp686 = icmp eq i32 %339, 2 + br i1 %cmp686, label %land.lhs.true688, label %if.end704 + +land.lhs.true688: ; preds = %if.end685 + %340 = load i8, i8* %elide_outer_quotes, align 1 + %tobool689 = trunc i8 %340 to i1 + br i1 %tobool689, label %if.end704, label %land.lhs.true690 + +land.lhs.true690: ; preds = %land.lhs.true688 + %341 = load i8, i8* %encountered_single_quote, align 1 + %tobool691 = trunc i8 %341 to i1 + br i1 %tobool691, label %if.then693, label %if.end704 + +if.then693: ; preds = %land.lhs.true690 + %342 = load i8, i8* %all_c_and_shell_quote_compat, align 1 + %tobool694 = trunc i8 %342 to i1 + br i1 %tobool694, label %if.then695, label %if.else697 + +if.then695: ; preds = %if.then693 + %343 = load i8*, i8** %buffer.addr, align 8 + %344 = load i64, i64* %orig_buffersize, align 8 + %345 = load i8*, i8** %arg.addr, align 8 + %346 = load i64, i64* %argsize.addr, align 8 + %347 = load i32, i32* %flags.addr, align 4 + %348 = load i32*, i32** %quote_these_too.addr, align 8 + %349 = load i8*, i8** %left_quote.addr, align 8 + %350 = load i8*, i8** %right_quote.addr, align 8 + %call696 = call i64 @quotearg_buffer_restyled(i8* %343, i64 %344, i8* %345, i64 %346, i32 5, i32 %347, i32* %348, i8* %349, i8* %350) + store i64 %call696, i64* %retval, align 8 + br label %return + +if.else697: ; preds = %if.then693 + %351 = load i64, i64* %buffersize.addr, align 8 + %tobool698 = icmp eq i64 %351, 0 + %352 = load i64, i64* %orig_buffersize, align 8 + %tobool700 = icmp ne i64 %352, 0 + %or.cond8 = and i1 %tobool698, %tobool700 + br i1 %or.cond8, label %if.then701, label %if.end704 + +if.then701: ; preds = %if.else697 + %353 = load i64, i64* %orig_buffersize, align 8 + store i64 %353, i64* %buffersize.addr, align 8 + store i64 0, i64* %len, align 8 + br label %process_input + +if.end704: ; preds = %if.else697, %land.lhs.true690, %land.lhs.true688, %if.end685 + %354 = load i8*, i8** %quote_string, align 8 + %tobool705 = icmp ne i8* %354, null + br i1 %tobool705, label %land.lhs.true706, label %if.end724 + +land.lhs.true706: ; preds = %if.end704 + %355 = load i8, i8* %elide_outer_quotes, align 1 + %tobool707 = trunc i8 %355 to i1 + br i1 %tobool707, label %if.end724, label %for.cond709 + +for.cond709: ; preds = %land.lhs.true706, %if.end717 + %356 = load i8*, i8** %quote_string, align 8 + %357 = load i8, i8* %356, align 1 + %tobool710 = icmp ne i8 %357, 0 + br i1 %tobool710, label %do.body712, label %if.end724 + +do.body712: ; preds = %for.cond709 + %358 = load i64, i64* %len, align 8 + %359 = load i64, i64* %buffersize.addr, align 8 + %cmp713 = icmp ult i64 %358, %359 + br i1 %cmp713, label %if.then715, label %if.end717 + +if.then715: ; preds = %do.body712 + %360 = load i8*, i8** %quote_string, align 8 + %361 = load i8, i8* %360, align 1 + %362 = load i8*, i8** %buffer.addr, align 8 + %363 = load i64, i64* %len, align 8 + %arrayidx716 = getelementptr inbounds i8, i8* %362, i64 %363 + store i8 %361, i8* %arrayidx716, align 1 + br label %if.end717 + +if.end717: ; preds = %if.then715, %do.body712 + %364 = load i64, i64* %len, align 8 + %inc718 = add i64 %364, 1 + store i64 %inc718, i64* %len, align 8 + %365 = load i8*, i8** %quote_string, align 8 + %incdec.ptr722 = getelementptr inbounds i8, i8* %365, i32 1 + store i8* %incdec.ptr722, i8** %quote_string, align 8 + br label %for.cond709 + +if.end724: ; preds = %for.cond709, %land.lhs.true706, %if.end704 + %366 = load i64, i64* %len, align 8 + %367 = load i64, i64* %buffersize.addr, align 8 + %cmp725 = icmp ult i64 %366, %367 + br i1 %cmp725, label %if.then727, label %if.end729 + +if.then727: ; preds = %if.end724 + %368 = load i8*, i8** %buffer.addr, align 8 + %369 = load i64, i64* %len, align 8 + %arrayidx728 = getelementptr inbounds i8, i8* %368, i64 %369 + store i8 0, i8* %arrayidx728, align 1 + br label %if.end729 + +if.end729: ; preds = %if.then727, %if.end724 + %370 = load i64, i64* %len, align 8 + store i64 %370, i64* %retval, align 8 + br label %return + +force_outer_quoting_style: ; preds = %NodeBlock267, %NodeBlock265, %NodeBlock263, %NodeBlock261, %NodeBlock259, %land.lhs.true681, %do.body586, %do.body427, %if.then300, %land.lhs.true292, %land.lhs.true262, %if.then246, %sw.bb192, %sw.bb171, %do.body86, %if.then76 + %371 = load i32, i32* %quoting_style.addr, align 4 + %cmp730 = icmp eq i32 %371, 2 + br i1 %cmp730, label %land.lhs.true732, label %if.end736 + +land.lhs.true732: ; preds = %force_outer_quoting_style + %372 = load i8, i8* %backslash_escapes, align 1 + %tobool733 = trunc i8 %372 to i1 + br i1 %tobool733, label %if.then735, label %if.end736 + +if.then735: ; preds = %land.lhs.true732 + store i32 4, i32* %quoting_style.addr, align 4 + br label %if.end736 + +if.end736: ; preds = %if.then735, %land.lhs.true732, %force_outer_quoting_style + %373 = load i8*, i8** %buffer.addr, align 8 + %374 = load i64, i64* %buffersize.addr, align 8 + %375 = load i8*, i8** %arg.addr, align 8 + %376 = load i64, i64* %argsize.addr, align 8 + %377 = load i32, i32* %quoting_style.addr, align 4 + %378 = load i32, i32* %flags.addr, align 4 + %and737 = and i32 %378, -3 + %379 = load i8*, i8** %left_quote.addr, align 8 + %380 = load i8*, i8** %right_quote.addr, align 8 + %call738 = call i64 @quotearg_buffer_restyled(i8* %373, i64 %374, i8* %375, i64 %376, i32 %377, i32 %and737, i32* null, i8* %379, i8* %380) + store i64 %call738, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end736, %if.end729, %if.then695 + %381 = load i64, i64* %retval, align 8 + ret i64 %381 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xcharalloc(i64 %n) #3 { +entry: + %n.addr = alloca i64, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @xmalloc(i64 %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xmalloc(i64 %n) #3 { +entry: + %n.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @malloc(i64 %0) #11 + store i8* %call, i8** %p, align 8 + %1 = load i8*, i8** %p, align 8 + %tobool = icmp eq i8* %1, null + %2 = load i64, i64* %n.addr, align 8 + %cmp = icmp ne i64 %2, 0 + %or.cond = and i1 %tobool, %cmp + br i1 %or.cond, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %entry + %3 = load i8*, i8** %p, align 8 + ret i8* %3 +} + +; Function Attrs: nounwind +declare dso_local i64 @__ctype_get_mb_cur_max() #4 + +; Function Attrs: noinline nounwind uwtable +define internal i8* @gettext_quote(i8* %msgid, i32 %s) #3 { +entry: + %retval = alloca i8*, align 8 + %msgid.addr = alloca i8*, align 8 + %s.addr = alloca i32, align 4 + %translation = alloca i8*, align 8 + %locale_code = alloca i8*, align 8 + store i8* %msgid, i8** %msgid.addr, align 8 + store i32 %s, i32* %s.addr, align 4 + %0 = load i8*, i8** %msgid.addr, align 8 + store i8* %0, i8** %translation, align 8 + %1 = load i8*, i8** %translation, align 8 + %2 = load i8*, i8** %msgid.addr, align 8 + %cmp = icmp ne i8* %1, %2 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %3 = load i8*, i8** %translation, align 8 + store i8* %3, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %call = call i8* @locale_charset() + store i8* %call, i8** %locale_code, align 8 + %4 = load i8*, i8** %locale_code, align 8 + %call1 = call i32 @c_strcasecmp(i8* %4, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.13.98, i64 0, i64 0)) #23 + %cmp2 = icmp eq i32 %call1, 0 + br i1 %cmp2, label %if.then3, label %if.end6 + +if.then3: ; preds = %if.end + %5 = load i8*, i8** %msgid.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 0 + %6 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %6 to i32 + %cmp4 = icmp eq i32 %conv, 96 + %7 = zext i1 %cmp4 to i64 + %cond = select i1 %cmp4, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.14.99, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.15.100, i64 0, i64 0) + store i8* %cond, i8** %retval, align 8 + br label %return + +if.end6: ; preds = %if.end + %8 = load i8*, i8** %locale_code, align 8 + %call7 = call i32 @c_strcasecmp(i8* %8, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.16.101, i64 0, i64 0)) #23 + %cmp8 = icmp eq i32 %call7, 0 + br i1 %cmp8, label %if.then10, label %if.end16 + +if.then10: ; preds = %if.end6 + %9 = load i8*, i8** %msgid.addr, align 8 + %arrayidx11 = getelementptr inbounds i8, i8* %9, i64 0 + %10 = load i8, i8* %arrayidx11, align 1 + %conv12 = sext i8 %10 to i32 + %cmp13 = icmp eq i32 %conv12, 96 + %11 = zext i1 %cmp13 to i64 + %cond15 = select i1 %cmp13, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.17.102, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.18.103, i64 0, i64 0) + store i8* %cond15, i8** %retval, align 8 + br label %return + +if.end16: ; preds = %if.end6 + %12 = load i32, i32* %s.addr, align 4 + %cmp17 = icmp eq i32 %12, 9 + %13 = zext i1 %cmp17 to i64 + %cond19 = select i1 %cmp17, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10.95, i64 0, i64 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.97, i64 0, i64 0) + store i8* %cond19, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end16, %if.then10, %if.then3, %if.then + %14 = load i8*, i8** %retval, align 8 + ret i8* %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @rpl_mbrtowc(i32* %pwc, i8* %s, i64 %n, %struct.__mbstate_t* %ps) #3 { +entry: + %retval = alloca i64, align 8 + %pwc.addr = alloca i32*, align 8 + %s.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t*, align 8 + %ret = alloca i64, align 8 + %wc = alloca i32, align 4 + %uc = alloca i8, align 1 + store i32* %pwc, i32** %pwc.addr, align 8 + store i8* %s, i8** %s.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__mbstate_t* %ps, %struct.__mbstate_t** %ps.addr, align 8 + %0 = load i32*, i32** %pwc.addr, align 8 + %tobool = icmp ne i32* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i32* %wc, i32** %pwc.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i32*, i32** %pwc.addr, align 8 + %2 = load i8*, i8** %s.addr, align 8 + %3 = load i64, i64* %n.addr, align 8 + %4 = load %struct.__mbstate_t*, %struct.__mbstate_t** %ps.addr, align 8 + %call = call i64 bitcast (i64 (i32*, i8*, i64, %struct.__mbstate_t.512*)* @mbrtowc to i64 (i32*, i8*, i64, %struct.__mbstate_t*)*)(i32* %1, i8* %2, i64 %3, %struct.__mbstate_t* %4) #11 + store i64 %call, i64* %ret, align 8 + %5 = load i64, i64* %ret, align 8 + %cmp = icmp ule i64 -2, %5 + %6 = load i64, i64* %n.addr, align 8 + %cmp1 = icmp ne i64 %6, 0 + %or.cond = and i1 %cmp, %cmp1 + br i1 %or.cond, label %land.lhs.true2, label %if.end5 + +land.lhs.true2: ; preds = %if.end + %call3 = call zeroext i1 @hard_locale(i32 0) + br i1 %call3, label %if.end5, label %if.then4 + +if.then4: ; preds = %land.lhs.true2 + %7 = load i8*, i8** %s.addr, align 8 + %8 = load i8, i8* %7, align 1 + store i8 %8, i8* %uc, align 1 + %9 = load i8, i8* %uc, align 1 + %conv = zext i8 %9 to i32 + %10 = load i32*, i32** %pwc.addr, align 8 + store i32 %conv, i32* %10, align 4 + store i64 1, i64* %retval, align 8 + br label %return + +if.end5: ; preds = %land.lhs.true2, %if.end + %11 = load i64, i64* %ret, align 8 + store i64 %11, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end5, %if.then4 + %12 = load i64, i64* %retval, align 8 + ret i64 %12 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @locale_charset() #3 { +entry: + %codeset = alloca i8*, align 8 + %call = call i8* @nl_langinfo(i32 14) #11 + store i8* %call, i8** %codeset, align 8 + %0 = load i8*, i8** %codeset, align 8 + %cmp = icmp eq i8* %0, null + %spec.store.select = select i1 %cmp, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.174, i64 0, i64 0), i8* %call + store i8* %spec.store.select, i8** %codeset, align 8 + %1 = load i8*, i8** %codeset, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %2 to i32 + %cmp1 = icmp eq i32 %conv, 0 + %spec.store.select1 = select i1 %cmp1, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1.175, i64 0, i64 0), i8* %spec.store.select + store i8* %spec.store.select1, i8** %codeset, align 8 + %3 = load i8*, i8** %codeset, align 8 + ret i8* %3 +} + +; Function Attrs: noinline nounwind readonly uwtable +define dso_local i32 @c_strcasecmp(i8* %s1, i8* %s2) #15 { +entry: + %retval = alloca i32, align 4 + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %p1 = alloca i8*, align 8 + %p2 = alloca i8*, align 8 + %c1 = alloca i8, align 1 + %c2 = alloca i8, align 1 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %p1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %p2, align 8 + %2 = load i8*, i8** %p1, align 8 + %3 = load i8*, i8** %p2, align 8 + %cmp = icmp eq i8* %2, %3 + br i1 %cmp, label %if.then, label %do.body + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +do.body: ; preds = %entry, %if.end9 + %4 = load i8*, i8** %p1, align 8 + %5 = load i8, i8* %4, align 1 + %conv = zext i8 %5 to i32 + %call = call i32 @c_tolower(i32 %conv) + %conv1 = trunc i32 %call to i8 + store i8 %conv1, i8* %c1, align 1 + %6 = load i8*, i8** %p2, align 8 + %7 = load i8, i8* %6, align 1 + %conv2 = zext i8 %7 to i32 + %call3 = call i32 @c_tolower(i32 %conv2) + %conv4 = trunc i32 %call3 to i8 + store i8 %conv4, i8* %c2, align 1 + %8 = load i8, i8* %c1, align 1 + %conv5 = zext i8 %8 to i32 + %cmp6 = icmp eq i32 %conv5, 0 + br i1 %cmp6, label %do.end, label %if.end9 + +if.end9: ; preds = %do.body + %9 = load i8*, i8** %p1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %p1, align 8 + %10 = load i8*, i8** %p2, align 8 + %incdec.ptr10 = getelementptr inbounds i8, i8* %10, i32 1 + store i8* %incdec.ptr10, i8** %p2, align 8 + %11 = load i8, i8* %c1, align 1 + %conv11 = zext i8 %11 to i32 + %12 = load i8, i8* %c2, align 1 + %conv12 = zext i8 %12 to i32 + %cmp13 = icmp eq i32 %conv11, %conv12 + br i1 %cmp13, label %do.body, label %do.end + +do.end: ; preds = %do.body, %if.end9 + %13 = load i8, i8* %c1, align 1 + %conv15 = zext i8 %13 to i32 + %14 = load i8, i8* %c2, align 1 + %conv16 = zext i8 %14 to i32 + %sub = sub nsw i32 %conv15, %conv16 + store i32 %sub, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end, %if.then + %15 = load i32, i32* %retval, align 4 + ret i32 %15 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @c_tolower(i32 %c) #3 { +entry: + %retval = alloca i32, align 4 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -65 + %switch = icmp ult i32 %.off, 26 + %1 = load i32, i32* %c.addr, align 4 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + %sub = sub nsw i32 %1, 65 + %add = add nsw i32 %sub, 97 + store i32 %add, i32* %retval, align 4 + br label %return + +sw.default: ; preds = %entry + store i32 %1, i32* %retval, align 4 + br label %return + +return: ; preds = %sw.default, %sw.bb + %2 = load i32, i32* %retval, align 4 + ret i32 %2 +} + +; Function Attrs: nounwind +declare dso_local i8* @realloc(i8*, i64) #4 + +; Function Attrs: noinline nounwind uwtable +define internal i32 @strcoll_loop(i8* %s1, i64 %s1size, i8* %s2, i64 %s2size) #3 { +entry: + %retval = alloca i32, align 4 + %s1.addr = alloca i8*, align 8 + %s1size.addr = alloca i64, align 8 + %s2.addr = alloca i8*, align 8 + %s2size.addr = alloca i64, align 8 + %diff = alloca i32, align 4 + %size1 = alloca i64, align 8 + %size2 = alloca i64, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i64 %s1size, i64* %s1size.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %s2size, i64* %s2size.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %call = call i32* @__errno_location() #25 + store i32 0, i32* %call, align 4 + %0 = load i8*, i8** %s1.addr, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + %call1 = call i32 @strcoll(i8* %0, i8* %1) #23 + store i32 %call1, i32* %diff, align 4 + %tobool = icmp ne i32 %call1, 0 + br i1 %tobool, label %lor.end, label %lor.rhs + +lor.rhs: ; preds = %while.cond + %call2 = call i32* @__errno_location() #25 + %2 = load i32, i32* %call2, align 4 + %tobool3 = icmp ne i32 %2, 0 + br label %lor.end + +lor.end: ; preds = %lor.rhs, %while.cond + %3 = phi i1 [ true, %while.cond ], [ %tobool3, %lor.rhs ] + %lnot = xor i1 %3, true + br i1 %lnot, label %while.body, label %while.end + +while.body: ; preds = %lor.end + %4 = load i8*, i8** %s1.addr, align 8 + %call4 = call i64 @strlen(i8* %4) #23 + %add = add i64 %call4, 1 + store i64 %add, i64* %size1, align 8 + %5 = load i8*, i8** %s2.addr, align 8 + %call5 = call i64 @strlen(i8* %5) #23 + %add6 = add i64 %call5, 1 + store i64 %add6, i64* %size2, align 8 + %6 = load i64, i64* %size1, align 8 + %7 = load i8*, i8** %s1.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %7, i64 %6 + store i8* %add.ptr, i8** %s1.addr, align 8 + %8 = load i64, i64* %size2, align 8 + %9 = load i8*, i8** %s2.addr, align 8 + %add.ptr7 = getelementptr inbounds i8, i8* %9, i64 %8 + store i8* %add.ptr7, i8** %s2.addr, align 8 + %10 = load i64, i64* %size1, align 8 + %11 = load i64, i64* %s1size.addr, align 8 + %sub = sub i64 %11, %10 + store i64 %sub, i64* %s1size.addr, align 8 + %12 = load i64, i64* %size2, align 8 + %13 = load i64, i64* %s2size.addr, align 8 + %sub8 = sub i64 %13, %12 + store i64 %sub8, i64* %s2size.addr, align 8 + %14 = load i64, i64* %s1size.addr, align 8 + %cmp = icmp eq i64 %14, 0 + %15 = load i64, i64* %s2size.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + %cmp9 = icmp ne i64 %15, 0 + %conv = zext i1 %cmp9 to i32 + %sub10 = sub nsw i32 0, %conv + store i32 %sub10, i32* %retval, align 4 + br label %return + +if.end: ; preds = %while.body + %cmp11 = icmp eq i64 %15, 0 + br i1 %cmp11, label %if.then13, label %while.cond + +if.then13: ; preds = %if.end + store i32 1, i32* %retval, align 4 + br label %return + +while.end: ; preds = %lor.end + %16 = load i32, i32* %diff, align 4 + store i32 %16, i32* %retval, align 4 + br label %return + +return: ; preds = %while.end, %if.then13, %if.then + %17 = load i32, i32* %retval, align 4 + ret i32 %17 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @x2realloc(i8* %p, i64* %pn) #3 { +entry: + %p.addr = alloca i8*, align 8 + %pn.addr = alloca i64*, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64* %pn, i64** %pn.addr, align 8 + %0 = load i8*, i8** %p.addr, align 8 + %1 = load i64*, i64** %pn.addr, align 8 + %call = call i8* @x2nrealloc(i8* %0, i64* %1, i64 1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @x2nrealloc(i8* %p, i64* %pn, i64 %s) #3 { +entry: + %p.addr = alloca i8*, align 8 + %pn.addr = alloca i64*, align 8 + %s.addr = alloca i64, align 8 + %n = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64* %pn, i64** %pn.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64*, i64** %pn.addr, align 8 + %1 = load i64, i64* %0, align 8 + store i64 %1, i64* %n, align 8 + %2 = load i8*, i8** %p.addr, align 8 + %tobool = icmp ne i8* %2, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %3 = load i64, i64* %n, align 8 + %tobool1 = icmp ne i64 %3, 0 + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + %4 = load i64, i64* %s.addr, align 8 + %div = udiv i64 128, %4 + store i64 %div, i64* %n, align 8 + %5 = load i64, i64* %n, align 8 + %tobool3 = icmp ne i64 %5, 0 + %lnot = xor i1 %tobool3, true + %lnot.ext = zext i1 %lnot to i32 + %conv = sext i32 %lnot.ext to i64 + %6 = load i64, i64* %n, align 8 + %add = add i64 %6, %conv + store i64 %add, i64* %n, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %7 = load i64, i64* %s.addr, align 8 + %div4 = udiv i64 9223372036854775807, %7 + %8 = load i64, i64* %n, align 8 + %cmp = icmp ult i64 %div4, %8 + br i1 %cmp, label %if.then6, label %if.end16 + +if.then6: ; preds = %if.end + call void @xalloc_die() #24 + unreachable + +if.else: ; preds = %entry + %9 = load i64, i64* %s.addr, align 8 + %div8 = udiv i64 6148914691236517204, %9 + %10 = load i64, i64* %n, align 8 + %cmp9 = icmp ule i64 %div8, %10 + br i1 %cmp9, label %if.then11, label %if.end12 + +if.then11: ; preds = %if.else + call void @xalloc_die() #24 + unreachable + +if.end12: ; preds = %if.else + %11 = load i64, i64* %n, align 8 + %div13 = udiv i64 %11, 2 + %add14 = add i64 %div13, 1 + %12 = load i64, i64* %n, align 8 + %add15 = add i64 %12, %add14 + store i64 %add15, i64* %n, align 8 + br label %if.end16 + +if.end16: ; preds = %if.end, %if.end12 + %13 = load i64, i64* %n, align 8 + %14 = load i64*, i64** %pn.addr, align 8 + store i64 %13, i64* %14, align 8 + %15 = load i8*, i8** %p.addr, align 8 + %16 = load i64, i64* %n, align 8 + %17 = load i64, i64* %s.addr, align 8 + %mul = mul i64 %16, %17 + %call = call i8* @xrealloc(i8* %15, i64 %mul) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @fdadvise(i32 %fd, i64 %offset, i64 %len, i32 %advice) #3 { +entry: + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %advice.addr = alloca i32, align 4 + %__x = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store i32 %advice, i32* %advice.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %offset.addr, align 8 + %2 = load i64, i64* %len.addr, align 8 + %3 = load i32, i32* %advice.addr, align 4 + %call = call i32 @posix_fadvise(i32 %0, i64 %1, i64 %2, i32 %3) #11 + store i32 %call, i32* %__x, align 4 + %4 = load i32, i32* %__x, align 4 + ret void +} + +; Function Attrs: nounwind +declare dso_local i32 @posix_fadvise(i32, i64, i64, i32) #4 + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @set_char_quoting(%struct.quoting_options* %o, i8 signext %c, i32 %i) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %c.addr = alloca i8, align 1 + %i.addr = alloca i32, align 4 + %uc = alloca i8, align 1 + %p = alloca i32*, align 8 + %shift = alloca i32, align 4 + %r = alloca i32, align 4 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i8 %c, i8* %c.addr, align 1 + store i32 %i, i32* %i.addr, align 4 + %0 = load i8, i8* %c.addr, align 1 + store i8 %0, i8* %uc, align 1 + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %1, null + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %2, %struct.quoting_options* @default_quoting_options + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %cond, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %3 = load i8, i8* %uc, align 1 + %conv = zext i8 %3 to i64 + %div = udiv i64 %conv, 32 + %add.ptr = getelementptr inbounds i32, i32* %arraydecay, i64 %div + store i32* %add.ptr, i32** %p, align 8 + %4 = load i8, i8* %uc, align 1 + %conv1 = zext i8 %4 to i64 + %rem = urem i64 %conv1, 32 + %conv2 = trunc i64 %rem to i32 + store i32 %conv2, i32* %shift, align 4 + %5 = load i32*, i32** %p, align 8 + %6 = load i32, i32* %5, align 4 + %7 = load i32, i32* %shift, align 4 + %shr = lshr i32 %6, %7 + %and = and i32 %shr, 1 + store i32 %and, i32* %r, align 4 + %8 = load i32, i32* %i.addr, align 4 + %and3 = and i32 %8, 1 + %9 = load i32, i32* %r, align 4 + %xor = xor i32 %and3, %9 + %10 = load i32, i32* %shift, align 4 + %shl = shl i32 %xor, %10 + %11 = load i32*, i32** %p, align 8 + %12 = load i32, i32* %11, align 4 + %xor4 = xor i32 %12, %shl + store i32 %xor4, i32* %11, align 4 + %13 = load i32, i32* %r, align 4 + ret i32 %13 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @dup_safer(i32 %fd) #3 { +entry: + %fd.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 (i32, i32, ...) @rpl_fcntl(i32 %0, i32 0, i32 3) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fcntl(i32 %fd, i32 %action, ...) #3 { +entry: + %fd.addr = alloca i32, align 4 + %action.addr = alloca i32, align 4 + %arg = alloca [1 x %struct.__va_list_tag.0], align 16 + %result = alloca i32, align 4 + %target = alloca i32, align 4 + %target4 = alloca i32, align 4 + %x = alloca i32, align 4 + %p = alloca i8*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %action, i32* %action.addr, align 4 + store i32 -1, i32* %result, align 4 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load i32, i32* %action.addr, align 4 + br label %NodeBlock1 + +NodeBlock1: ; preds = %entry + %case.cmp2 = icmp eq i32 %0, 0 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 1030 + br i1 %case.cmp, label %sw.bb3, label %newDefault + +sw.bb: ; preds = %NodeBlock1 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %sw.bb + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %sw.bb + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %target, align 4 + %7 = load i32, i32* %fd.addr, align 4 + %8 = load i32, i32* %target, align 4 + %call = call i32 @rpl_fcntl_DUPFD(i32 %7, i32 %8) + store i32 %call, i32* %result, align 4 + br label %sw.epilog48 + +sw.bb3: ; preds = %NodeBlock + %arraydecay5 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %gp_offset_p6 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay5, i32 0, i32 0 + %gp_offset7 = load i32, i32* %gp_offset_p6, align 16 + %fits_in_gp8 = icmp ule i32 %gp_offset7, 40 + br i1 %fits_in_gp8, label %vaarg.in_reg9, label %vaarg.in_mem11 + +vaarg.in_reg9: ; preds = %sw.bb3 + %9 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay5, i32 0, i32 3 + %reg_save_area10 = load i8*, i8** %9, align 16 + %10 = getelementptr i8, i8* %reg_save_area10, i32 %gp_offset7 + %11 = bitcast i8* %10 to i32* + %12 = add i32 %gp_offset7, 8 + store i32 %12, i32* %gp_offset_p6, align 16 + br label %vaarg.end15 + +vaarg.in_mem11: ; preds = %sw.bb3 + %overflow_arg_area_p12 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay5, i32 0, i32 2 + %overflow_arg_area13 = load i8*, i8** %overflow_arg_area_p12, align 8 + %13 = bitcast i8* %overflow_arg_area13 to i32* + %overflow_arg_area.next14 = getelementptr i8, i8* %overflow_arg_area13, i32 8 + store i8* %overflow_arg_area.next14, i8** %overflow_arg_area_p12, align 8 + br label %vaarg.end15 + +vaarg.end15: ; preds = %vaarg.in_mem11, %vaarg.in_reg9 + %vaarg.addr16 = phi i32* [ %11, %vaarg.in_reg9 ], [ %13, %vaarg.in_mem11 ] + %14 = load i32, i32* %vaarg.addr16, align 4 + store i32 %14, i32* %target4, align 4 + %15 = load i32, i32* %fd.addr, align 4 + %16 = load i32, i32* %target4, align 4 + %call17 = call i32 @rpl_fcntl_DUPFD_CLOEXEC(i32 %15, i32 %16) + store i32 %call17, i32* %result, align 4 + br label %sw.epilog48 + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + %17 = load i32, i32* %action.addr, align 4 + br label %NodeBlock36 + +NodeBlock36: ; preds = %sw.default + %case.cmp37 = icmp eq i32 %17, 1 + br i1 %case.cmp37, label %sw.bb18, label %NodeBlock34 + +NodeBlock34: ; preds = %NodeBlock36 + %case.cmp35 = icmp eq i32 %17, 3 + br i1 %case.cmp35, label %sw.bb18, label %NodeBlock32 + +NodeBlock32: ; preds = %NodeBlock34 + %case.cmp33 = icmp eq i32 %17, 1025 + br i1 %case.cmp33, label %sw.bb18, label %NodeBlock30 + +NodeBlock30: ; preds = %NodeBlock32 + %case.cmp31 = icmp eq i32 %17, 9 + br i1 %case.cmp31, label %sw.bb18, label %NodeBlock28 + +NodeBlock28: ; preds = %NodeBlock30 + %case.cmp29 = icmp eq i32 %17, 1032 + br i1 %case.cmp29, label %sw.bb18, label %NodeBlock26 + +NodeBlock26: ; preds = %NodeBlock28 + %case.cmp27 = icmp eq i32 %17, 1034 + br i1 %case.cmp27, label %sw.bb18, label %NodeBlock24 + +NodeBlock24: ; preds = %NodeBlock26 + %case.cmp25 = icmp eq i32 %17, 11 + br i1 %case.cmp25, label %sw.bb18, label %NodeBlock22 + +NodeBlock22: ; preds = %NodeBlock24 + %case.cmp23 = icmp eq i32 %17, 1033 + br i1 %case.cmp23, label %sw.bb20, label %NodeBlock20 + +NodeBlock20: ; preds = %NodeBlock22 + %case.cmp21 = icmp eq i32 %17, 0 + br i1 %case.cmp21, label %sw.bb20, label %NodeBlock18 + +NodeBlock18: ; preds = %NodeBlock20 + %case.cmp19 = icmp eq i32 %17, 1030 + br i1 %case.cmp19, label %sw.bb20, label %NodeBlock16 + +NodeBlock16: ; preds = %NodeBlock18 + %case.cmp17 = icmp eq i32 %17, 1026 + br i1 %case.cmp17, label %sw.bb20, label %NodeBlock14 + +NodeBlock14: ; preds = %NodeBlock16 + %case.cmp15 = icmp eq i32 %17, 2 + br i1 %case.cmp15, label %sw.bb20, label %NodeBlock12 + +NodeBlock12: ; preds = %NodeBlock14 + %case.cmp13 = icmp eq i32 %17, 4 + br i1 %case.cmp13, label %sw.bb20, label %NodeBlock10 + +NodeBlock10: ; preds = %NodeBlock12 + %case.cmp11 = icmp eq i32 %17, 1024 + br i1 %case.cmp11, label %sw.bb20, label %NodeBlock8 + +NodeBlock8: ; preds = %NodeBlock10 + %case.cmp9 = icmp eq i32 %17, 8 + br i1 %case.cmp9, label %sw.bb20, label %NodeBlock6 + +NodeBlock6: ; preds = %NodeBlock8 + %case.cmp7 = icmp eq i32 %17, 1031 + br i1 %case.cmp7, label %sw.bb20, label %NodeBlock4 + +NodeBlock4: ; preds = %NodeBlock6 + %case.cmp5 = icmp eq i32 %17, 10 + br i1 %case.cmp5, label %sw.bb20, label %newDefault3 + +sw.bb18: ; preds = %NodeBlock36, %NodeBlock34, %NodeBlock32, %NodeBlock30, %NodeBlock28, %NodeBlock26, %NodeBlock24 + %18 = load i32, i32* %fd.addr, align 4 + %19 = load i32, i32* %action.addr, align 4 + %call19 = call i32 (i32, i32, ...) @fcntl(i32 %18, i32 %19) + store i32 %call19, i32* %result, align 4 + br label %sw.epilog48 + +sw.bb20: ; preds = %NodeBlock22, %NodeBlock20, %NodeBlock18, %NodeBlock16, %NodeBlock14, %NodeBlock12, %NodeBlock10, %NodeBlock8, %NodeBlock6, %NodeBlock4 + %arraydecay21 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %gp_offset_p22 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay21, i32 0, i32 0 + %gp_offset23 = load i32, i32* %gp_offset_p22, align 16 + %fits_in_gp24 = icmp ule i32 %gp_offset23, 40 + br i1 %fits_in_gp24, label %vaarg.in_reg25, label %vaarg.in_mem27 + +vaarg.in_reg25: ; preds = %sw.bb20 + %20 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay21, i32 0, i32 3 + %reg_save_area26 = load i8*, i8** %20, align 16 + %21 = getelementptr i8, i8* %reg_save_area26, i32 %gp_offset23 + %22 = bitcast i8* %21 to i32* + %23 = add i32 %gp_offset23, 8 + store i32 %23, i32* %gp_offset_p22, align 16 + br label %vaarg.end31 + +vaarg.in_mem27: ; preds = %sw.bb20 + %overflow_arg_area_p28 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay21, i32 0, i32 2 + %overflow_arg_area29 = load i8*, i8** %overflow_arg_area_p28, align 8 + %24 = bitcast i8* %overflow_arg_area29 to i32* + %overflow_arg_area.next30 = getelementptr i8, i8* %overflow_arg_area29, i32 8 + store i8* %overflow_arg_area.next30, i8** %overflow_arg_area_p28, align 8 + br label %vaarg.end31 + +vaarg.end31: ; preds = %vaarg.in_mem27, %vaarg.in_reg25 + %vaarg.addr32 = phi i32* [ %22, %vaarg.in_reg25 ], [ %24, %vaarg.in_mem27 ] + %25 = load i32, i32* %vaarg.addr32, align 4 + store i32 %25, i32* %x, align 4 + %26 = load i32, i32* %fd.addr, align 4 + %27 = load i32, i32* %action.addr, align 4 + %28 = load i32, i32* %x, align 4 + %call33 = call i32 (i32, i32, ...) @fcntl(i32 %26, i32 %27, i32 %28) + store i32 %call33, i32* %result, align 4 + br label %sw.epilog48 + +newDefault3: ; preds = %NodeBlock4 + br label %sw.default34 + +sw.default34: ; preds = %newDefault3 + %arraydecay35 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %gp_offset_p36 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay35, i32 0, i32 0 + %gp_offset37 = load i32, i32* %gp_offset_p36, align 16 + %fits_in_gp38 = icmp ule i32 %gp_offset37, 40 + br i1 %fits_in_gp38, label %vaarg.in_reg39, label %vaarg.in_mem41 + +vaarg.in_reg39: ; preds = %sw.default34 + %29 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay35, i32 0, i32 3 + %reg_save_area40 = load i8*, i8** %29, align 16 + %30 = getelementptr i8, i8* %reg_save_area40, i32 %gp_offset37 + %31 = bitcast i8* %30 to i8** + %32 = add i32 %gp_offset37, 8 + store i32 %32, i32* %gp_offset_p36, align 16 + br label %vaarg.end45 + +vaarg.in_mem41: ; preds = %sw.default34 + %overflow_arg_area_p42 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay35, i32 0, i32 2 + %overflow_arg_area43 = load i8*, i8** %overflow_arg_area_p42, align 8 + %33 = bitcast i8* %overflow_arg_area43 to i8** + %overflow_arg_area.next44 = getelementptr i8, i8* %overflow_arg_area43, i32 8 + store i8* %overflow_arg_area.next44, i8** %overflow_arg_area_p42, align 8 + br label %vaarg.end45 + +vaarg.end45: ; preds = %vaarg.in_mem41, %vaarg.in_reg39 + %vaarg.addr46 = phi i8** [ %31, %vaarg.in_reg39 ], [ %33, %vaarg.in_mem41 ] + %34 = load i8*, i8** %vaarg.addr46, align 8 + store i8* %34, i8** %p, align 8 + %35 = load i32, i32* %fd.addr, align 4 + %36 = load i32, i32* %action.addr, align 4 + %37 = load i8*, i8** %p, align 8 + %call47 = call i32 (i32, i32, ...) @fcntl(i32 %35, i32 %36, i8* %37) + store i32 %call47, i32* %result, align 4 + br label %sw.epilog48 + +sw.epilog48: ; preds = %sw.bb18, %vaarg.end31, %vaarg.end45, %vaarg.end15, %vaarg.end + %arraydecay49 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay4950 = bitcast %struct.__va_list_tag.0* %arraydecay49 to i8* + call void @llvm.va_end(i8* %arraydecay4950) + %38 = load i32, i32* %result, align 4 + ret i32 %38 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @rpl_fcntl_DUPFD(i32 %fd, i32 %target) #3 { +entry: + %fd.addr = alloca i32, align 4 + %target.addr = alloca i32, align 4 + %result = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %target, i32* %target.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i32, i32* %target.addr, align 4 + %call = call i32 (i32, i32, ...) @fcntl(i32 %0, i32 0, i32 %1) + store i32 %call, i32* %result, align 4 + %2 = load i32, i32* %result, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @rpl_fcntl_DUPFD_CLOEXEC(i32 %fd, i32 %target) #3 { +entry: + %fd.addr = alloca i32, align 4 + %target.addr = alloca i32, align 4 + %result = alloca i32, align 4 + %flags = alloca i32, align 4 + %saved_errno = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %target, i32* %target.addr, align 4 + %0 = load i32, i32* @rpl_fcntl_DUPFD_CLOEXEC.have_dupfd_cloexec, align 4 + %cmp = icmp sle i32 0, %0 + %1 = load i32, i32* %fd.addr, align 4 + %2 = load i32, i32* %target.addr, align 4 + br i1 %cmp, label %if.then, label %if.else9 + +if.then: ; preds = %entry + %call = call i32 (i32, i32, ...) @fcntl(i32 %1, i32 1030, i32 %2) + store i32 %call, i32* %result, align 4 + %3 = load i32, i32* %result, align 4 + %cmp1 = icmp sle i32 0, %3 + br i1 %cmp1, label %if.then4, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then + %call2 = call i32* @__errno_location() #25 + %4 = load i32, i32* %call2, align 4 + %cmp3 = icmp ne i32 %4, 22 + br i1 %cmp3, label %if.then4, label %if.else + +if.then4: ; preds = %lor.lhs.false, %if.then + store i32 1, i32* @rpl_fcntl_DUPFD_CLOEXEC.have_dupfd_cloexec, align 4 + br label %if.end11 + +if.else: ; preds = %lor.lhs.false + %5 = load i32, i32* %fd.addr, align 4 + %6 = load i32, i32* %target.addr, align 4 + %call5 = call i32 @rpl_fcntl_DUPFD(i32 %5, i32 %6) + store i32 %call5, i32* %result, align 4 + %7 = load i32, i32* %result, align 4 + %cmp6 = icmp sge i32 %7, 0 + br i1 %cmp6, label %if.then7, label %if.end11 + +if.then7: ; preds = %if.else + store i32 -1, i32* @rpl_fcntl_DUPFD_CLOEXEC.have_dupfd_cloexec, align 4 + br label %if.end11 + +if.else9: ; preds = %entry + %call10 = call i32 @rpl_fcntl_DUPFD(i32 %1, i32 %2) + store i32 %call10, i32* %result, align 4 + br label %if.end11 + +if.end11: ; preds = %if.then4, %if.then7, %if.else, %if.else9 + %8 = load i32, i32* %result, align 4 + %cmp12 = icmp sle i32 0, %8 + %9 = load i32, i32* @rpl_fcntl_DUPFD_CLOEXEC.have_dupfd_cloexec, align 4 + %cmp13 = icmp eq i32 %9, -1 + %or.cond = and i1 %cmp12, %cmp13 + br i1 %or.cond, label %if.then14, label %if.end25 + +if.then14: ; preds = %if.end11 + %10 = load i32, i32* %result, align 4 + %call15 = call i32 (i32, i32, ...) @fcntl(i32 %10, i32 1) + store i32 %call15, i32* %flags, align 4 + %11 = load i32, i32* %flags, align 4 + %cmp16 = icmp slt i32 %11, 0 + br i1 %cmp16, label %if.then20, label %lor.lhs.false17 + +lor.lhs.false17: ; preds = %if.then14 + %12 = load i32, i32* %result, align 4 + %13 = load i32, i32* %flags, align 4 + %or = or i32 %13, 1 + %call18 = call i32 (i32, i32, ...) @fcntl(i32 %12, i32 2, i32 %or) + %cmp19 = icmp eq i32 %call18, -1 + br i1 %cmp19, label %if.then20, label %if.end25 + +if.then20: ; preds = %lor.lhs.false17, %if.then14 + %call21 = call i32* @__errno_location() #25 + %14 = load i32, i32* %call21, align 4 + store i32 %14, i32* %saved_errno, align 4 + %15 = load i32, i32* %result, align 4 + %call22 = call i32 @close(i32 %15) + %16 = load i32, i32* %saved_errno, align 4 + %call23 = call i32* @__errno_location() #25 + store i32 %16, i32* %call23, align 4 + store i32 -1, i32* %result, align 4 + br label %if.end25 + +if.end25: ; preds = %lor.lhs.false17, %if.then20, %if.end11 + %17 = load i32, i32* %result, align 4 + ret i32 %17 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote_n(i32 %n, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quote_n_mem(i32 %0, i8* %1, i64 -1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote_n_mem(i32 %n, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %2 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %0, i8* %1, i64 %2, %struct.quoting_options* @quote_quoting_options) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc_va(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, %struct.__va_list_tag.0* %authors) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors.addr = alloca %struct.__va_list_tag.0*, align 8 + %n_authors = alloca i64, align 8 + %authtab = alloca [10 x i8*], align 16 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + store %struct.__va_list_tag.0* %authors, %struct.__va_list_tag.0** %authors.addr, align 8 + store i64 0, i64* %n_authors, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i64, i64* %n_authors, align 8 + %cmp = icmp ult i64 %0, 10 + br i1 %cmp, label %land.rhs, label %for.end + +land.rhs: ; preds = %for.cond + %1 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %authors.addr, align 8 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %1, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 8 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %land.rhs + %2 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %1, i32 0, i32 3 + %reg_save_area = load i8*, i8** %2, align 8 + %3 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %4 = bitcast i8* %3 to i8** + %5 = add i32 %gp_offset, 8 + store i32 %5, i32* %gp_offset_p, align 8 + br label %vaarg.end + +vaarg.in_mem: ; preds = %land.rhs + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %1, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %6 = bitcast i8* %overflow_arg_area to i8** + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i8** [ %4, %vaarg.in_reg ], [ %6, %vaarg.in_mem ] + %7 = load i8*, i8** %vaarg.addr, align 8 + %8 = load i64, i64* %n_authors, align 8 + %arrayidx = getelementptr inbounds [10 x i8*], [10 x i8*]* %authtab, i64 0, i64 %8 + store i8* %7, i8** %arrayidx, align 8 + %cmp1 = icmp ne i8* %7, null + br i1 %cmp1, label %for.inc, label %for.end + +for.inc: ; preds = %vaarg.end + %9 = load i64, i64* %n_authors, align 8 + %inc = add i64 %9, 1 + store i64 %inc, i64* %n_authors, align 8 + br label %for.cond + +for.end: ; preds = %for.cond, %vaarg.end + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %11 = load i8*, i8** %command_name.addr, align 8 + %12 = load i8*, i8** %package.addr, align 8 + %13 = load i8*, i8** %version.addr, align 8 + %arraydecay = getelementptr inbounds [10 x i8*], [10 x i8*]* %authtab, i64 0, i64 0 + %14 = load i64, i64* %n_authors, align 8 + call void @version_etc_arn(%struct._IO_FILE* %10, i8* %11, i8* %12, i8* %13, i8** %arraydecay, i64 %14) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc_arn(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, i8** %authors, i64 %n_authors) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors.addr = alloca i8**, align 8 + %n_authors.addr = alloca i64, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + store i8** %authors, i8*** %authors.addr, align 8 + store i64 %n_authors, i64* %n_authors.addr, align 8 + %0 = load i8*, i8** %command_name.addr, align 8 + %tobool = icmp ne i8* %0, null + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %entry + %2 = load i8*, i8** %command_name.addr, align 8 + %3 = load i8*, i8** %package.addr, align 8 + %4 = load i8*, i8** %version.addr, align 8 + %call = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %1, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.114, i64 0, i64 0), i8* %2, i8* %3, i8* %4) + br label %if.end + +if.else: ; preds = %entry + %5 = load i8*, i8** %package.addr, align 8 + %6 = load i8*, i8** %version.addr, align 8 + %call1 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %1, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.115, i64 0, i64 0), i8* %5, i8* %6) + br label %if.end + +if.end: ; preds = %if.else, %if.then + %7 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call2 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %7, i8* getelementptr inbounds ([47 x i8], [47 x i8]* @version_etc_copyright, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2.116, i64 0, i64 0), i32 2020) + %8 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call3 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.117, i64 0, i64 0), %struct._IO_FILE* %8) + %9 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call4 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %9, i8* getelementptr inbounds ([171 x i8], [171 x i8]* @.str.4.118, i64 0, i64 0), i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.5.119, i64 0, i64 0)) + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call5 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.117, i64 0, i64 0), %struct._IO_FILE* %10) + %11 = load i64, i64* %n_authors.addr, align 8 + br label %NodeBlock17 + +NodeBlock17: ; preds = %if.end + %case.cmp18 = icmp eq i64 %11, 0 + br i1 %case.cmp18, label %sw.epilog, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i64 %11, 1 + br i1 %case.cmp16, label %sw.bb6, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i64 %11, 2 + br i1 %case.cmp14, label %sw.bb8, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i64 %11, 3 + br i1 %case.cmp12, label %sw.bb12, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i64 %11, 4 + br i1 %case.cmp10, label %sw.bb17, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i64 %11, 5 + br i1 %case.cmp8, label %sw.bb23, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i64 %11, 6 + br i1 %case.cmp6, label %sw.bb30, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i64 %11, 7 + br i1 %case.cmp4, label %sw.bb38, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i64 %11, 8 + br i1 %case.cmp2, label %sw.bb47, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i64 %11, 9 + br i1 %case.cmp, label %sw.bb57, label %newDefault + +sw.bb6: ; preds = %NodeBlock15 + %12 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %13 = load i8**, i8*** %authors.addr, align 8 + %arrayidx = getelementptr inbounds i8*, i8** %13, i64 0 + %14 = load i8*, i8** %arrayidx, align 8 + %call7 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %12, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.6.120, i64 0, i64 0), i8* %14) + br label %sw.epilog + +sw.bb8: ; preds = %NodeBlock13 + %15 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %16 = load i8**, i8*** %authors.addr, align 8 + %arrayidx9 = getelementptr inbounds i8*, i8** %16, i64 0 + %17 = load i8*, i8** %arrayidx9, align 8 + %18 = load i8**, i8*** %authors.addr, align 8 + %arrayidx10 = getelementptr inbounds i8*, i8** %18, i64 1 + %19 = load i8*, i8** %arrayidx10, align 8 + %call11 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %15, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.7.121, i64 0, i64 0), i8* %17, i8* %19) + br label %sw.epilog + +sw.bb12: ; preds = %NodeBlock11 + %20 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %21 = load i8**, i8*** %authors.addr, align 8 + %arrayidx13 = getelementptr inbounds i8*, i8** %21, i64 0 + %22 = load i8*, i8** %arrayidx13, align 8 + %23 = load i8**, i8*** %authors.addr, align 8 + %arrayidx14 = getelementptr inbounds i8*, i8** %23, i64 1 + %24 = load i8*, i8** %arrayidx14, align 8 + %25 = load i8**, i8*** %authors.addr, align 8 + %arrayidx15 = getelementptr inbounds i8*, i8** %25, i64 2 + %26 = load i8*, i8** %arrayidx15, align 8 + %call16 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %20, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.8.122, i64 0, i64 0), i8* %22, i8* %24, i8* %26) + br label %sw.epilog + +sw.bb17: ; preds = %NodeBlock9 + %27 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %28 = load i8**, i8*** %authors.addr, align 8 + %arrayidx18 = getelementptr inbounds i8*, i8** %28, i64 0 + %29 = load i8*, i8** %arrayidx18, align 8 + %30 = load i8**, i8*** %authors.addr, align 8 + %arrayidx19 = getelementptr inbounds i8*, i8** %30, i64 1 + %31 = load i8*, i8** %arrayidx19, align 8 + %32 = load i8**, i8*** %authors.addr, align 8 + %arrayidx20 = getelementptr inbounds i8*, i8** %32, i64 2 + %33 = load i8*, i8** %arrayidx20, align 8 + %34 = load i8**, i8*** %authors.addr, align 8 + %arrayidx21 = getelementptr inbounds i8*, i8** %34, i64 3 + %35 = load i8*, i8** %arrayidx21, align 8 + %call22 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %27, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.9.123, i64 0, i64 0), i8* %29, i8* %31, i8* %33, i8* %35) + br label %sw.epilog + +sw.bb23: ; preds = %NodeBlock7 + %36 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %37 = load i8**, i8*** %authors.addr, align 8 + %arrayidx24 = getelementptr inbounds i8*, i8** %37, i64 0 + %38 = load i8*, i8** %arrayidx24, align 8 + %39 = load i8**, i8*** %authors.addr, align 8 + %arrayidx25 = getelementptr inbounds i8*, i8** %39, i64 1 + %40 = load i8*, i8** %arrayidx25, align 8 + %41 = load i8**, i8*** %authors.addr, align 8 + %arrayidx26 = getelementptr inbounds i8*, i8** %41, i64 2 + %42 = load i8*, i8** %arrayidx26, align 8 + %43 = load i8**, i8*** %authors.addr, align 8 + %arrayidx27 = getelementptr inbounds i8*, i8** %43, i64 3 + %44 = load i8*, i8** %arrayidx27, align 8 + %45 = load i8**, i8*** %authors.addr, align 8 + %arrayidx28 = getelementptr inbounds i8*, i8** %45, i64 4 + %46 = load i8*, i8** %arrayidx28, align 8 + %call29 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %36, i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.10.124, i64 0, i64 0), i8* %38, i8* %40, i8* %42, i8* %44, i8* %46) + br label %sw.epilog + +sw.bb30: ; preds = %NodeBlock5 + %47 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %48 = load i8**, i8*** %authors.addr, align 8 + %arrayidx31 = getelementptr inbounds i8*, i8** %48, i64 0 + %49 = load i8*, i8** %arrayidx31, align 8 + %50 = load i8**, i8*** %authors.addr, align 8 + %arrayidx32 = getelementptr inbounds i8*, i8** %50, i64 1 + %51 = load i8*, i8** %arrayidx32, align 8 + %52 = load i8**, i8*** %authors.addr, align 8 + %arrayidx33 = getelementptr inbounds i8*, i8** %52, i64 2 + %53 = load i8*, i8** %arrayidx33, align 8 + %54 = load i8**, i8*** %authors.addr, align 8 + %arrayidx34 = getelementptr inbounds i8*, i8** %54, i64 3 + %55 = load i8*, i8** %arrayidx34, align 8 + %56 = load i8**, i8*** %authors.addr, align 8 + %arrayidx35 = getelementptr inbounds i8*, i8** %56, i64 4 + %57 = load i8*, i8** %arrayidx35, align 8 + %58 = load i8**, i8*** %authors.addr, align 8 + %arrayidx36 = getelementptr inbounds i8*, i8** %58, i64 5 + %59 = load i8*, i8** %arrayidx36, align 8 + %call37 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %47, i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.11.125, i64 0, i64 0), i8* %49, i8* %51, i8* %53, i8* %55, i8* %57, i8* %59) + br label %sw.epilog + +sw.bb38: ; preds = %NodeBlock3 + %60 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %61 = load i8**, i8*** %authors.addr, align 8 + %arrayidx39 = getelementptr inbounds i8*, i8** %61, i64 0 + %62 = load i8*, i8** %arrayidx39, align 8 + %63 = load i8**, i8*** %authors.addr, align 8 + %arrayidx40 = getelementptr inbounds i8*, i8** %63, i64 1 + %64 = load i8*, i8** %arrayidx40, align 8 + %65 = load i8**, i8*** %authors.addr, align 8 + %arrayidx41 = getelementptr inbounds i8*, i8** %65, i64 2 + %66 = load i8*, i8** %arrayidx41, align 8 + %67 = load i8**, i8*** %authors.addr, align 8 + %arrayidx42 = getelementptr inbounds i8*, i8** %67, i64 3 + %68 = load i8*, i8** %arrayidx42, align 8 + %69 = load i8**, i8*** %authors.addr, align 8 + %arrayidx43 = getelementptr inbounds i8*, i8** %69, i64 4 + %70 = load i8*, i8** %arrayidx43, align 8 + %71 = load i8**, i8*** %authors.addr, align 8 + %arrayidx44 = getelementptr inbounds i8*, i8** %71, i64 5 + %72 = load i8*, i8** %arrayidx44, align 8 + %73 = load i8**, i8*** %authors.addr, align 8 + %arrayidx45 = getelementptr inbounds i8*, i8** %73, i64 6 + %74 = load i8*, i8** %arrayidx45, align 8 + %call46 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %60, i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.12.126, i64 0, i64 0), i8* %62, i8* %64, i8* %66, i8* %68, i8* %70, i8* %72, i8* %74) + br label %sw.epilog + +sw.bb47: ; preds = %NodeBlock1 + %75 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %76 = load i8**, i8*** %authors.addr, align 8 + %arrayidx48 = getelementptr inbounds i8*, i8** %76, i64 0 + %77 = load i8*, i8** %arrayidx48, align 8 + %78 = load i8**, i8*** %authors.addr, align 8 + %arrayidx49 = getelementptr inbounds i8*, i8** %78, i64 1 + %79 = load i8*, i8** %arrayidx49, align 8 + %80 = load i8**, i8*** %authors.addr, align 8 + %arrayidx50 = getelementptr inbounds i8*, i8** %80, i64 2 + %81 = load i8*, i8** %arrayidx50, align 8 + %82 = load i8**, i8*** %authors.addr, align 8 + %arrayidx51 = getelementptr inbounds i8*, i8** %82, i64 3 + %83 = load i8*, i8** %arrayidx51, align 8 + %84 = load i8**, i8*** %authors.addr, align 8 + %arrayidx52 = getelementptr inbounds i8*, i8** %84, i64 4 + %85 = load i8*, i8** %arrayidx52, align 8 + %86 = load i8**, i8*** %authors.addr, align 8 + %arrayidx53 = getelementptr inbounds i8*, i8** %86, i64 5 + %87 = load i8*, i8** %arrayidx53, align 8 + %88 = load i8**, i8*** %authors.addr, align 8 + %arrayidx54 = getelementptr inbounds i8*, i8** %88, i64 6 + %89 = load i8*, i8** %arrayidx54, align 8 + %90 = load i8**, i8*** %authors.addr, align 8 + %arrayidx55 = getelementptr inbounds i8*, i8** %90, i64 7 + %91 = load i8*, i8** %arrayidx55, align 8 + %call56 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %75, i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.13.127, i64 0, i64 0), i8* %77, i8* %79, i8* %81, i8* %83, i8* %85, i8* %87, i8* %89, i8* %91) + br label %sw.epilog + +sw.bb57: ; preds = %NodeBlock + %92 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %93 = load i8**, i8*** %authors.addr, align 8 + %arrayidx58 = getelementptr inbounds i8*, i8** %93, i64 0 + %94 = load i8*, i8** %arrayidx58, align 8 + %95 = load i8**, i8*** %authors.addr, align 8 + %arrayidx59 = getelementptr inbounds i8*, i8** %95, i64 1 + %96 = load i8*, i8** %arrayidx59, align 8 + %97 = load i8**, i8*** %authors.addr, align 8 + %arrayidx60 = getelementptr inbounds i8*, i8** %97, i64 2 + %98 = load i8*, i8** %arrayidx60, align 8 + %99 = load i8**, i8*** %authors.addr, align 8 + %arrayidx61 = getelementptr inbounds i8*, i8** %99, i64 3 + %100 = load i8*, i8** %arrayidx61, align 8 + %101 = load i8**, i8*** %authors.addr, align 8 + %arrayidx62 = getelementptr inbounds i8*, i8** %101, i64 4 + %102 = load i8*, i8** %arrayidx62, align 8 + %103 = load i8**, i8*** %authors.addr, align 8 + %arrayidx63 = getelementptr inbounds i8*, i8** %103, i64 5 + %104 = load i8*, i8** %arrayidx63, align 8 + %105 = load i8**, i8*** %authors.addr, align 8 + %arrayidx64 = getelementptr inbounds i8*, i8** %105, i64 6 + %106 = load i8*, i8** %arrayidx64, align 8 + %107 = load i8**, i8*** %authors.addr, align 8 + %arrayidx65 = getelementptr inbounds i8*, i8** %107, i64 7 + %108 = load i8*, i8** %arrayidx65, align 8 + %109 = load i8**, i8*** %authors.addr, align 8 + %arrayidx66 = getelementptr inbounds i8*, i8** %109, i64 8 + %110 = load i8*, i8** %arrayidx66, align 8 + %call67 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %92, i8* getelementptr inbounds ([52 x i8], [52 x i8]* @.str.14.128, i64 0, i64 0), i8* %94, i8* %96, i8* %98, i8* %100, i8* %102, i8* %104, i8* %106, i8* %108, i8* %110) + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + %111 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %112 = load i8**, i8*** %authors.addr, align 8 + %arrayidx68 = getelementptr inbounds i8*, i8** %112, i64 0 + %113 = load i8*, i8** %arrayidx68, align 8 + %114 = load i8**, i8*** %authors.addr, align 8 + %arrayidx69 = getelementptr inbounds i8*, i8** %114, i64 1 + %115 = load i8*, i8** %arrayidx69, align 8 + %116 = load i8**, i8*** %authors.addr, align 8 + %arrayidx70 = getelementptr inbounds i8*, i8** %116, i64 2 + %117 = load i8*, i8** %arrayidx70, align 8 + %118 = load i8**, i8*** %authors.addr, align 8 + %arrayidx71 = getelementptr inbounds i8*, i8** %118, i64 3 + %119 = load i8*, i8** %arrayidx71, align 8 + %120 = load i8**, i8*** %authors.addr, align 8 + %arrayidx72 = getelementptr inbounds i8*, i8** %120, i64 4 + %121 = load i8*, i8** %arrayidx72, align 8 + %122 = load i8**, i8*** %authors.addr, align 8 + %arrayidx73 = getelementptr inbounds i8*, i8** %122, i64 5 + %123 = load i8*, i8** %arrayidx73, align 8 + %124 = load i8**, i8*** %authors.addr, align 8 + %arrayidx74 = getelementptr inbounds i8*, i8** %124, i64 6 + %125 = load i8*, i8** %arrayidx74, align 8 + %126 = load i8**, i8*** %authors.addr, align 8 + %arrayidx75 = getelementptr inbounds i8*, i8** %126, i64 7 + %127 = load i8*, i8** %arrayidx75, align 8 + %128 = load i8**, i8*** %authors.addr, align 8 + %arrayidx76 = getelementptr inbounds i8*, i8** %128, i64 8 + %129 = load i8*, i8** %arrayidx76, align 8 + %call77 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %111, i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.15.129, i64 0, i64 0), i8* %113, i8* %115, i8* %117, i8* %119, i8* %121, i8* %123, i8* %125, i8* %127, i8* %129) + br label %sw.epilog + +sw.epilog: ; preds = %NodeBlock17, %sw.default, %sw.bb57, %sw.bb47, %sw.bb38, %sw.bb30, %sw.bb23, %sw.bb17, %sw.bb12, %sw.bb8, %sw.bb6 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @close_stream(%struct._IO_FILE* %stream) #3 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct._IO_FILE*, align 8 + %some_pending = alloca i8, align 1 + %prev_fail = alloca i8, align 1 + %fclose_fail = alloca i8, align 1 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.513*)* @__fpending to i64 (%struct._IO_FILE*)*)(%struct._IO_FILE* %0) #11 + %cmp = icmp ne i64 %call, 0 + %frombool = zext i1 %cmp to i8 + store i8 %frombool, i8* %some_pending, align 1 + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call1 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.592*)* @ferror_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %1) #11 + %cmp2 = icmp ne i32 %call1, 0 + %frombool3 = zext i1 %cmp2 to i8 + store i8 %frombool3, i8* %prev_fail, align 1 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call4 = call i32 @rpl_fclose(%struct._IO_FILE* %2) + %cmp5 = icmp ne i32 %call4, 0 + %frombool6 = zext i1 %cmp5 to i8 + store i8 %frombool6, i8* %fclose_fail, align 1 + %3 = load i8, i8* %prev_fail, align 1 + %tobool = trunc i8 %3 to i1 + br i1 %tobool, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %4 = load i8, i8* %fclose_fail, align 1 + %tobool7 = trunc i8 %4 to i1 + br i1 %tobool7, label %land.lhs.true, label %if.end15 + +land.lhs.true: ; preds = %lor.lhs.false + %5 = load i8, i8* %some_pending, align 1 + %tobool8 = trunc i8 %5 to i1 + br i1 %tobool8, label %if.then, label %lor.lhs.false9 + +lor.lhs.false9: ; preds = %land.lhs.true + %call10 = call i32* @__errno_location() #25 + %6 = load i32, i32* %call10, align 4 + %cmp11 = icmp ne i32 %6, 9 + br i1 %cmp11, label %if.then, label %if.end15 + +if.then: ; preds = %lor.lhs.false9, %land.lhs.true, %entry + %7 = load i8, i8* %fclose_fail, align 1 + %tobool12 = trunc i8 %7 to i1 + br i1 %tobool12, label %if.end, label %if.then13 + +if.then13: ; preds = %if.then + %call14 = call i32* @__errno_location() #25 + store i32 0, i32* %call14, align 4 + br label %if.end + +if.end: ; preds = %if.then13, %if.then + store i32 -1, i32* %retval, align 4 + br label %return + +if.end15: ; preds = %lor.lhs.false9, %lor.lhs.false + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end15, %if.end + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_colon(i8* %arg) #3 { +entry: + %arg.addr = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_char(i8* %0, i8 signext 58) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_char(i8* %arg, i8 signext %ch) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %ch.addr = alloca i8, align 1 + store i8* %arg, i8** %arg.addr, align 8 + store i8 %ch, i8* %ch.addr, align 1 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i8, i8* %ch.addr, align 1 + %call = call i8* @quotearg_char_mem(i8* %0, i64 -1, i8 signext %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_char_mem(i8* %arg, i64 %argsize, i8 signext %ch) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %ch.addr = alloca i8, align 1 + %options = alloca %struct.quoting_options, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store i8 %ch, i8* %ch.addr, align 1 + %0 = bitcast %struct.quoting_options* %options to i8* + %1 = call i8* @memcpy(i8* %0, i8* bitcast (%struct.quoting_options* @default_quoting_options to i8*), i64 56) + %2 = load i8, i8* %ch.addr, align 1 + %call = call i32 @set_char_quoting(%struct.quoting_options* %options, i8 signext %2, i32 1) + %3 = load i8*, i8** %arg.addr, align 8 + %4 = load i64, i64* %argsize.addr, align 8 + %call1 = call i8* @quotearg_n_options(i32 0, i8* %3, i64 %4, %struct.quoting_options* %options) + ret i8* %call1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @setlocale_null_r(i32 %category, i8* nonnull %buf, i64 %bufsize) #3 { +entry: + %category.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + store i32 %category, i32* %category.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i32, i32* %category.addr, align 4 + %1 = load i8*, i8** %buf.addr, align 8 + %2 = load i64, i64* %bufsize.addr, align 8 + %call = call i32 @setlocale_null_unlocked(i32 %0, i8* %1, i64 %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @setlocale_null_unlocked(i32 %category, i8* %buf, i64 %bufsize) #3 { +entry: + %retval = alloca i32, align 4 + %category.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %result = alloca i8*, align 8 + %length = alloca i64, align 8 + store i32 %category, i32* %category.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i32, i32* %category.addr, align 4 + %call = call i8* @setlocale_null_androidfix(i32 %0) + store i8* %call, i8** %result, align 8 + %1 = load i8*, i8** %result, align 8 + %cmp = icmp eq i8* %1, null + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %2 = load i64, i64* %bufsize.addr, align 8 + %cmp1 = icmp ugt i64 %2, 0 + br i1 %cmp1, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + %3 = load i8*, i8** %buf.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %3, i64 0 + store i8 0, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + store i32 22, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %4 = load i8*, i8** %result, align 8 + %call3 = call i64 @strlen(i8* %4) #23 + store i64 %call3, i64* %length, align 8 + %5 = load i64, i64* %length, align 8 + %6 = load i64, i64* %bufsize.addr, align 8 + %cmp4 = icmp ult i64 %5, %6 + br i1 %cmp4, label %if.then5, label %if.else6 + +if.then5: ; preds = %if.else + %7 = load i8*, i8** %buf.addr, align 8 + %8 = load i8*, i8** %result, align 8 + %9 = load i64, i64* %length, align 8 + %add = add i64 %9, 1 + %10 = call i8* @memcpy(i8* %7, i8* %8, i64 %add) + store i32 0, i32* %retval, align 4 + br label %return + +if.else6: ; preds = %if.else + %11 = load i64, i64* %bufsize.addr, align 8 + %cmp7 = icmp ugt i64 %11, 0 + br i1 %cmp7, label %if.then8, label %if.end11 + +if.then8: ; preds = %if.else6 + %12 = load i8*, i8** %buf.addr, align 8 + %13 = load i8*, i8** %result, align 8 + %14 = load i64, i64* %bufsize.addr, align 8 + %sub = sub i64 %14, 1 + %15 = call i8* @memcpy(i8* %12, i8* %13, i64 %sub) + %16 = load i8*, i8** %buf.addr, align 8 + %17 = load i64, i64* %bufsize.addr, align 8 + %sub9 = sub i64 %17, 1 + %arrayidx10 = getelementptr inbounds i8, i8* %16, i64 %sub9 + store i8 0, i8* %arrayidx10, align 1 + br label %if.end11 + +if.end11: ; preds = %if.then8, %if.else6 + store i32 34, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end11, %if.then5, %if.end + %18 = load i32, i32* %retval, align 4 + ret i32 %18 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @setlocale_null_androidfix(i32 %category) #3 { +entry: + %category.addr = alloca i32, align 4 + %result = alloca i8*, align 8 + store i32 %category, i32* %category.addr, align 4 + %0 = load i32, i32* %category.addr, align 4 + %call = call i8* @setlocale(i32 %0, i8* null) #11 + store i8* %call, i8** %result, align 8 + %1 = load i8*, i8** %result, align 8 + ret i8* %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @close_stdout_set_file_name(i8* %file) #3 { +entry: + %file.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + store i8* %0, i8** @file_name, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @close_stdout_set_ignore_EPIPE(i1 zeroext %ignore) #3 { +entry: + %ignore.addr = alloca i8, align 1 + %frombool = zext i1 %ignore to i8 + store i8 %frombool, i8* %ignore.addr, align 1 + %0 = load i8, i8* %ignore.addr, align 1 + %tobool = trunc i8 %0 to i1 + %frombool1 = zext i1 %tobool to i8 + store i8 %frombool1, i8* @ignore_EPIPE, align 1 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local %struct.linebuffer* @readlinebuffer(%struct.linebuffer* %linebuffer, %struct._IO_FILE* %stream) #3 { +entry: + %linebuffer.addr = alloca %struct.linebuffer*, align 8 + %stream.addr = alloca %struct._IO_FILE*, align 8 + store %struct.linebuffer* %linebuffer, %struct.linebuffer** %linebuffer.addr, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + %0 = load %struct.linebuffer*, %struct.linebuffer** %linebuffer.addr, align 8 + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call = call %struct.linebuffer* @readlinebuffer_delim(%struct.linebuffer* %0, %struct._IO_FILE* %1, i8 signext 10) + ret %struct.linebuffer* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @freebuffer(%struct.linebuffer* %linebuffer) #3 { +entry: + %linebuffer.addr = alloca %struct.linebuffer*, align 8 + store %struct.linebuffer* %linebuffer, %struct.linebuffer** %linebuffer.addr, align 8 + %0 = load %struct.linebuffer*, %struct.linebuffer** %linebuffer.addr, align 8 + %buffer = getelementptr inbounds %struct.linebuffer, %struct.linebuffer* %0, i32 0, i32 2 + %1 = load i8*, i8** %buffer, align 8 + call void @free(i8* %1) #11 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local %struct.quoting_options* @clone_quoting_options(%struct.quoting_options* %o) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %p = alloca %struct.quoting_options*, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %call = call i32* @__errno_location() #25 + %0 = load i32, i32* %call, align 4 + store i32 %0, i32* %e, align 4 + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %1, null + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %2, %struct.quoting_options* @default_quoting_options + %3 = bitcast %struct.quoting_options* %cond to i8* + %call1 = call i8* @xmemdup(i8* %3, i64 56) + %4 = bitcast i8* %call1 to %struct.quoting_options* + store %struct.quoting_options* %4, %struct.quoting_options** %p, align 8 + %5 = load i32, i32* %e, align 4 + %call2 = call i32* @__errno_location() #25 + store i32 %5, i32* %call2, align 4 + %6 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + ret %struct.quoting_options* %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @xmemdup(i8* %p, i64 %s) #3 { +entry: + %p.addr = alloca i8*, align 8 + %s.addr = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %call = call noalias i8* @xmalloc(i64 %0) + %1 = load i8*, i8** %p.addr, align 8 + %2 = load i64, i64* %s.addr, align 8 + %3 = call i8* @memcpy(i8* %call, i8* %1, i64 %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @get_quoting_style(%struct.quoting_options* %o) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %1, %struct.quoting_options* @default_quoting_options + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %cond, i32 0, i32 0 + %2 = load i32, i32* %style, align 8 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_quoting_style(%struct.quoting_options* %o, i32 %s) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %s.addr = alloca i32, align 4 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i32 %s, i32* %s.addr, align 4 + %0 = load i32, i32* %s.addr, align 4 + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %1, null + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %2, %struct.quoting_options* @default_quoting_options + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %cond, i32 0, i32 0 + store i32 %0, i32* %style, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @set_quoting_flags(%struct.quoting_options* %o, i32 %i) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %i.addr = alloca i32, align 4 + %r = alloca i32, align 4 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i32 %i, i32* %i.addr, align 4 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store %struct.quoting_options* @default_quoting_options, %struct.quoting_options** %o.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %flags = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %1, i32 0, i32 1 + %2 = load i32, i32* %flags, align 4 + store i32 %2, i32* %r, align 4 + %3 = load i32, i32* %i.addr, align 4 + %4 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %flags1 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %4, i32 0, i32 1 + store i32 %3, i32* %flags1, align 4 + %5 = load i32, i32* %r, align 4 + ret i32 %5 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_custom_quoting(%struct.quoting_options* %o, i8* %left_quote, i8* %right_quote) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store %struct.quoting_options* @default_quoting_options, %struct.quoting_options** %o.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %1, i32 0, i32 0 + store i32 10, i32* %style, align 8 + %2 = load i8*, i8** %left_quote.addr, align 8 + %tobool1 = icmp ne i8* %2, null + %3 = load i8*, i8** %right_quote.addr, align 8 + %tobool2 = icmp ne i8* %3, null + %or.cond = and i1 %tobool1, %tobool2 + br i1 %or.cond, label %if.end4, label %if.then3 + +if.then3: ; preds = %if.end + call void @abort() #26 + unreachable + +if.end4: ; preds = %if.end + %4 = load i8*, i8** %left_quote.addr, align 8 + %5 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %left_quote5 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %5, i32 0, i32 3 + store i8* %4, i8** %left_quote5, align 8 + %6 = load i8*, i8** %right_quote.addr, align 8 + %7 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %right_quote6 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %7, i32 0, i32 4 + store i8* %6, i8** %right_quote6, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @quotearg_buffer(i8* %buffer, i64 %buffersize, i8* %arg, i64 %argsize, %struct.quoting_options* %o) #3 { +entry: + %buffer.addr = alloca i8*, align 8 + %buffersize.addr = alloca i64, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o.addr = alloca %struct.quoting_options*, align 8 + %p = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %r = alloca i64, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %buffersize, i64* %buffersize.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %1, %struct.quoting_options* @default_quoting_options + store %struct.quoting_options* %cond, %struct.quoting_options** %p, align 8 + %call = call i32* @__errno_location() #25 + %2 = load i32, i32* %call, align 4 + store i32 %2, i32* %e, align 4 + %3 = load i8*, i8** %buffer.addr, align 8 + %4 = load i64, i64* %buffersize.addr, align 8 + %5 = load i8*, i8** %arg.addr, align 8 + %6 = load i64, i64* %argsize.addr, align 8 + %7 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %7, i32 0, i32 0 + %8 = load i32, i32* %style, align 8 + %9 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %flags = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %9, i32 0, i32 1 + %10 = load i32, i32* %flags, align 4 + %11 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %11, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %12 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %left_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %12, i32 0, i32 3 + %13 = load i8*, i8** %left_quote, align 8 + %14 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %right_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %14, i32 0, i32 4 + %15 = load i8*, i8** %right_quote, align 8 + %call1 = call i64 @quotearg_buffer_restyled(i8* %3, i64 %4, i8* %5, i64 %6, i32 %8, i32 %10, i32* %arraydecay, i8* %13, i8* %15) + store i64 %call1, i64* %r, align 8 + %16 = load i32, i32* %e, align 4 + %call2 = call i32* @__errno_location() #25 + store i32 %16, i32* %call2, align 4 + %17 = load i64, i64* %r, align 8 + ret i64 %17 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_alloc(i8* %arg, i64 %argsize, %struct.quoting_options* %o) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o.addr = alloca %struct.quoting_options*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %call = call i8* @quotearg_alloc_mem(i8* %0, i64 %1, i64* null, %struct.quoting_options* %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_alloc_mem(i8* %arg, i64 %argsize, i64* %size, %struct.quoting_options* %o) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %size.addr = alloca i64*, align 8 + %o.addr = alloca %struct.quoting_options*, align 8 + %p = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %flags = alloca i32, align 4 + %bufsize = alloca i64, align 8 + %buf = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store i64* %size, i64** %size.addr, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %1, %struct.quoting_options* @default_quoting_options + store %struct.quoting_options* %cond, %struct.quoting_options** %p, align 8 + %call = call i32* @__errno_location() #25 + %2 = load i32, i32* %call, align 4 + store i32 %2, i32* %e, align 4 + %3 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %flags1 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %3, i32 0, i32 1 + %4 = load i32, i32* %flags1, align 4 + %5 = load i64*, i64** %size.addr, align 8 + %tobool2 = icmp ne i64* %5, null + %6 = zext i1 %tobool2 to i64 + %cond3 = select i1 %tobool2, i32 0, i32 1 + %or = or i32 %4, %cond3 + store i32 %or, i32* %flags, align 4 + %7 = load i8*, i8** %arg.addr, align 8 + %8 = load i64, i64* %argsize.addr, align 8 + %9 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %9, i32 0, i32 0 + %10 = load i32, i32* %style, align 8 + %11 = load i32, i32* %flags, align 4 + %12 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %12, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %13 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %left_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %13, i32 0, i32 3 + %14 = load i8*, i8** %left_quote, align 8 + %15 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %right_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %15, i32 0, i32 4 + %16 = load i8*, i8** %right_quote, align 8 + %call4 = call i64 @quotearg_buffer_restyled(i8* null, i64 0, i8* %7, i64 %8, i32 %10, i32 %11, i32* %arraydecay, i8* %14, i8* %16) + %add = add i64 %call4, 1 + store i64 %add, i64* %bufsize, align 8 + %17 = load i64, i64* %bufsize, align 8 + %call5 = call noalias i8* @xcharalloc(i64 %17) + store i8* %call5, i8** %buf, align 8 + %18 = load i8*, i8** %buf, align 8 + %19 = load i64, i64* %bufsize, align 8 + %20 = load i8*, i8** %arg.addr, align 8 + %21 = load i64, i64* %argsize.addr, align 8 + %22 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %style6 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %22, i32 0, i32 0 + %23 = load i32, i32* %style6, align 8 + %24 = load i32, i32* %flags, align 4 + %25 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %quote_these_too7 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %25, i32 0, i32 2 + %arraydecay8 = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too7, i64 0, i64 0 + %26 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %left_quote9 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %26, i32 0, i32 3 + %27 = load i8*, i8** %left_quote9, align 8 + %28 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %right_quote10 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %28, i32 0, i32 4 + %29 = load i8*, i8** %right_quote10, align 8 + %call11 = call i64 @quotearg_buffer_restyled(i8* %18, i64 %19, i8* %20, i64 %21, i32 %23, i32 %24, i32* %arraydecay8, i8* %27, i8* %29) + %30 = load i32, i32* %e, align 4 + %call12 = call i32* @__errno_location() #25 + store i32 %30, i32* %call12, align 4 + %31 = load i64*, i64** %size.addr, align 8 + %tobool13 = icmp ne i64* %31, null + br i1 %tobool13, label %if.then, label %if.end + +if.then: ; preds = %entry + %32 = load i64, i64* %bufsize, align 8 + %sub = sub i64 %32, 1 + %33 = load i64*, i64** %size.addr, align 8 + store i64 %sub, i64* %33, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %34 = load i8*, i8** %buf, align 8 + ret i8* %34 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @quotearg_free() #3 { +entry: + %sv = alloca %struct.slotvec*, align 8 + %i = alloca i32, align 4 + %0 = load %struct.slotvec*, %struct.slotvec** @slotvec, align 8 + store %struct.slotvec* %0, %struct.slotvec** %sv, align 8 + store i32 1, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %1 = load i32, i32* %i, align 4 + %2 = load i32, i32* @nslots, align 4 + %cmp = icmp slt i32 %1, %2 + %3 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %4 = load i32, i32* %i, align 4 + %idxprom = sext i32 %4 to i64 + %arrayidx = getelementptr inbounds %struct.slotvec, %struct.slotvec* %3, i64 %idxprom + %val = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx, i32 0, i32 1 + %5 = load i8*, i8** %val, align 8 + call void @free(i8* %5) #11 + %6 = load i32, i32* %i, align 4 + %inc = add nsw i32 %6, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %arrayidx1 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %3, i64 0 + %val2 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx1, i32 0, i32 1 + %7 = load i8*, i8** %val2, align 8 + %cmp3 = icmp ne i8* %7, getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i64 0, i64 0) + br i1 %cmp3, label %if.then, label %if.end + +if.then: ; preds = %for.end + %8 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %arrayidx4 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %8, i64 0 + %val5 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx4, i32 0, i32 1 + %9 = load i8*, i8** %val5, align 8 + call void @free(i8* %9) #11 + store i64 256, i64* getelementptr inbounds (%struct.slotvec, %struct.slotvec* @slotvec0, i32 0, i32 0), align 8 + store i8* getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i64 0, i64 0), i8** getelementptr inbounds (%struct.slotvec, %struct.slotvec* @slotvec0, i32 0, i32 1), align 8 + br label %if.end + +if.end: ; preds = %if.then, %for.end + %10 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %cmp6 = icmp ne %struct.slotvec* %10, @slotvec0 + br i1 %cmp6, label %if.then7, label %if.end8 + +if.then7: ; preds = %if.end + %11 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %12 = bitcast %struct.slotvec* %11 to i8* + call void @free(i8* %12) #11 + store %struct.slotvec* @slotvec0, %struct.slotvec** @slotvec, align 8 + br label %if.end8 + +if.end8: ; preds = %if.then7, %if.end + store i32 1, i32* @nslots, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n(i32 %n, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %0, i8* %1, i64 -1, %struct.quoting_options* @default_quoting_options) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_mem(i32 %n, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %2 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %0, i8* %1, i64 %2, %struct.quoting_options* @default_quoting_options) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg(i8* %arg) #3 { +entry: + %arg.addr = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n(i32 0, i8* %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_mem(i8* %arg, i64 %argsize) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_mem(i32 0, i8* %0, i64 %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_style(i32 %n, i32 %s, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %o = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + call void @quoting_options_from_style(%struct.quoting_options* sret align 8 %o, i32 %0) + %1 = load i32, i32* %n.addr, align 4 + %2 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %1, i8* %2, i64 -1, %struct.quoting_options* %o) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_style(i32 %s, i8* %arg) #3 { +entry: + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_style(i32 0, i32 %0, i8* %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_style_mem(i32 %s, i8* %arg, i64 %argsize) #3 { +entry: + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %2 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_style_mem(i32 0, i32 %0, i8* %1, i64 %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_colon_mem(i8* %arg, i64 %argsize) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_char_mem(i8* %0, i64 %1, i8 signext 58) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_custom(i32 %n, i8* %left_quote, i8* %right_quote, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %left_quote.addr, align 8 + %2 = load i8*, i8** %right_quote.addr, align 8 + %3 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_custom_mem(i32 %0, i8* %1, i8* %2, i8* %3, i64 -1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_custom_mem(i32 %n, i8* %left_quote, i8* %right_quote, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = bitcast %struct.quoting_options* %o to i8* + %1 = call i8* @memcpy(i8* %0, i8* bitcast (%struct.quoting_options* @default_quoting_options to i8*), i64 56) + %2 = load i8*, i8** %left_quote.addr, align 8 + %3 = load i8*, i8** %right_quote.addr, align 8 + call void @set_custom_quoting(%struct.quoting_options* %o, i8* %2, i8* %3) + %4 = load i32, i32* %n.addr, align 4 + %5 = load i8*, i8** %arg.addr, align 8 + %6 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %4, i8* %5, i64 %6, %struct.quoting_options* %o) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_custom(i8* %left_quote, i8* %right_quote, i8* %arg) #3 { +entry: + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %left_quote.addr, align 8 + %1 = load i8*, i8** %right_quote.addr, align 8 + %2 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_custom(i32 0, i8* %0, i8* %1, i8* %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_custom_mem(i8* %left_quote, i8* %right_quote, i8* %arg, i64 %argsize) #3 { +entry: + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %left_quote.addr, align 8 + %1 = load i8*, i8** %right_quote.addr, align 8 + %2 = load i8*, i8** %arg.addr, align 8 + %3 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_custom_mem(i32 0, i8* %0, i8* %1, i8* %2, i64 %3) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote_mem(i8* %arg, i64 %argsize) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quote_n_mem(i32 0, i8* %0, i64 %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @setlocale_null(i32 %category) #3 { +entry: + %category.addr = alloca i32, align 4 + store i32 %category, i32* %category.addr, align 4 + %0 = load i32, i32* %category.addr, align 4 + %call = call i8* @setlocale_null_androidfix(i32 %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc_ar(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, i8** %authors) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors.addr = alloca i8**, align 8 + %n_authors = alloca i64, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + store i8** %authors, i8*** %authors.addr, align 8 + store i64 0, i64* %n_authors, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i8**, i8*** %authors.addr, align 8 + %1 = load i64, i64* %n_authors, align 8 + %arrayidx = getelementptr inbounds i8*, i8** %0, i64 %1 + %2 = load i8*, i8** %arrayidx, align 8 + %tobool = icmp ne i8* %2, null + br i1 %tobool, label %for.inc, label %for.end + +for.inc: ; preds = %for.cond + %3 = load i64, i64* %n_authors, align 8 + %inc = add i64 %3, 1 + store i64 %inc, i64* %n_authors, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %5 = load i8*, i8** %command_name.addr, align 8 + %6 = load i8*, i8** %package.addr, align 8 + %7 = load i8*, i8** %version.addr, align 8 + %8 = load i8**, i8*** %authors.addr, align 8 + %9 = load i64, i64* %n_authors, align 8 + call void @version_etc_arn(%struct._IO_FILE* %4, i8* %5, i8* %6, i8* %7, i8** %8, i64 %9) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @emit_bug_reporting_address() #3 { +entry: + %0 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.117, i64 0, i64 0), %struct._IO_FILE* %0) + %call1 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.16.132, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.17.133, i64 0, i64 0)) + %call2 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.18.134, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.19.135, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.20.136, i64 0, i64 0)) + %call3 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.21.137, i64 0, i64 0), i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.22.138, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xnmalloc(i64 %n, i64 %s) #3 { +entry: + %n.addr = alloca i64, align 8 + %s.addr = alloca i64, align 8 + store i64 %n, i64* %n.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %div = udiv i64 9223372036854775807, %0 + %1 = load i64, i64* %n.addr, align 8 + %cmp = icmp ult i64 %div, %1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %entry + %2 = load i64, i64* %n.addr, align 8 + %3 = load i64, i64* %s.addr, align 8 + %mul = mul i64 %2, %3 + %call = call noalias i8* @xmalloc(i64 %mul) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @xnrealloc(i8* %p, i64 %n, i64 %s) #3 { +entry: + %p.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %s.addr = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %div = udiv i64 9223372036854775807, %0 + %1 = load i64, i64* %n.addr, align 8 + %cmp = icmp ult i64 %div, %1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %p.addr, align 8 + %3 = load i64, i64* %n.addr, align 8 + %4 = load i64, i64* %s.addr, align 8 + %mul = mul i64 %3, %4 + %call = call i8* @xrealloc(i8* %2, i64 %mul) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xzalloc(i64 %n) #3 { +entry: + %n.addr = alloca i64, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @xcalloc(i64 %0, i64 1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xcalloc(i64 %n, i64 %s) #3 { +entry: + %n.addr = alloca i64, align 8 + %s.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i64 %n, i64* %n.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %div = udiv i64 9223372036854775807, %0 + %1 = load i64, i64* %n.addr, align 8 + %cmp = icmp ult i64 %div, %1 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load i64, i64* %n.addr, align 8 + %3 = load i64, i64* %s.addr, align 8 + %call = call noalias i8* @calloc(i64 %2, i64 %3) #11 + store i8* %call, i8** %p, align 8 + %tobool = icmp ne i8* %call, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %lor.lhs.false, %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %lor.lhs.false + %4 = load i8*, i8** %p, align 8 + ret i8* %4 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xstrdup(i8* %string) #3 { +entry: + %string.addr = alloca i8*, align 8 + store i8* %string, i8** %string.addr, align 8 + %0 = load i8*, i8** %string.addr, align 8 + %1 = load i8*, i8** %string.addr, align 8 + %call = call i64 @strlen(i8* %1) #23 + %add = add i64 %call, 1 + %call1 = call i8* @xmemdup(i8* %0, i64 %add) + ret i8* %call1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @xmemcoll0(i8* %s1, i64 %s1size, i8* %s2, i64 %s2size) #3 { +entry: + %s1.addr = alloca i8*, align 8 + %s1size.addr = alloca i64, align 8 + %s2.addr = alloca i8*, align 8 + %s2size.addr = alloca i64, align 8 + %diff = alloca i32, align 4 + %collation_errno = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i64 %s1size, i64* %s1size.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %s2size, i64* %s2size.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + %1 = load i64, i64* %s1size.addr, align 8 + %2 = load i8*, i8** %s2.addr, align 8 + %3 = load i64, i64* %s2size.addr, align 8 + %call = call i32 @memcoll0(i8* %0, i64 %1, i8* %2, i64 %3) + store i32 %call, i32* %diff, align 4 + %call1 = call i32* @__errno_location() #25 + %4 = load i32, i32* %call1, align 4 + store i32 %4, i32* %collation_errno, align 4 + %5 = load i32, i32* %collation_errno, align 4 + %tobool = icmp ne i32 %5, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %6 = load i32, i32* %collation_errno, align 4 + %7 = load i8*, i8** %s1.addr, align 8 + %8 = load i64, i64* %s1size.addr, align 8 + %sub = sub i64 %8, 1 + %9 = load i8*, i8** %s2.addr, align 8 + %10 = load i64, i64* %s2size.addr, align 8 + %sub2 = sub i64 %10, 1 + call void @collate_error(i32 %6, i8* %7, i64 %sub, i8* %9, i64 %sub2) + br label %if.end + +if.end: ; preds = %if.then, %entry + %11 = load i32, i32* %diff, align 4 + ret i32 %11 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @memcoll0(i8* %s1, i64 %s1size, i8* %s2, i64 %s2size) #3 { +entry: + %retval = alloca i32, align 4 + %s1.addr = alloca i8*, align 8 + %s1size.addr = alloca i64, align 8 + %s2.addr = alloca i8*, align 8 + %s2size.addr = alloca i64, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i64 %s1size, i64* %s1size.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %s2size, i64* %s2size.addr, align 8 + %0 = load i64, i64* %s1size.addr, align 8 + %1 = load i64, i64* %s2size.addr, align 8 + %cmp = icmp eq i64 %0, %1 + br i1 %cmp, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %entry + %2 = load i8*, i8** %s1.addr, align 8 + %3 = load i8*, i8** %s2.addr, align 8 + %4 = load i64, i64* %s1size.addr, align 8 + %call = call i32 @memcmp(i8* %2, i8* %3, i64 %4) #23 + %cmp1 = icmp eq i32 %call, 0 + br i1 %cmp1, label %if.then, label %if.else + +if.then: ; preds = %land.lhs.true + %call2 = call i32* @__errno_location() #25 + store i32 0, i32* %call2, align 4 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %land.lhs.true, %entry + %5 = load i8*, i8** %s1.addr, align 8 + %6 = load i64, i64* %s1size.addr, align 8 + %7 = load i8*, i8** %s2.addr, align 8 + %8 = load i64, i64* %s2size.addr, align 8 + %call3 = call i32 @strcoll_loop(i8* %5, i64 %6, i8* %7, i64 %8) + store i32 %call3, i32* %retval, align 4 + br label %return + +return: ; preds = %if.else, %if.then + %9 = load i32, i32* %retval, align 4 + ret i32 %9 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isalnum(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock121 + +NodeBlock121: ; preds = %entry + %case.cmp122 = icmp eq i32 %0, 48 + br i1 %case.cmp122, label %sw.bb, label %NodeBlock119 + +NodeBlock119: ; preds = %NodeBlock121 + %case.cmp120 = icmp eq i32 %0, 49 + br i1 %case.cmp120, label %sw.bb, label %NodeBlock117 + +NodeBlock117: ; preds = %NodeBlock119 + %case.cmp118 = icmp eq i32 %0, 50 + br i1 %case.cmp118, label %sw.bb, label %NodeBlock115 + +NodeBlock115: ; preds = %NodeBlock117 + %case.cmp116 = icmp eq i32 %0, 51 + br i1 %case.cmp116, label %sw.bb, label %NodeBlock113 + +NodeBlock113: ; preds = %NodeBlock115 + %case.cmp114 = icmp eq i32 %0, 52 + br i1 %case.cmp114, label %sw.bb, label %NodeBlock111 + +NodeBlock111: ; preds = %NodeBlock113 + %case.cmp112 = icmp eq i32 %0, 53 + br i1 %case.cmp112, label %sw.bb, label %NodeBlock109 + +NodeBlock109: ; preds = %NodeBlock111 + %case.cmp110 = icmp eq i32 %0, 54 + br i1 %case.cmp110, label %sw.bb, label %NodeBlock107 + +NodeBlock107: ; preds = %NodeBlock109 + %case.cmp108 = icmp eq i32 %0, 55 + br i1 %case.cmp108, label %sw.bb, label %NodeBlock105 + +NodeBlock105: ; preds = %NodeBlock107 + %case.cmp106 = icmp eq i32 %0, 56 + br i1 %case.cmp106, label %sw.bb, label %NodeBlock103 + +NodeBlock103: ; preds = %NodeBlock105 + %case.cmp104 = icmp eq i32 %0, 57 + br i1 %case.cmp104, label %sw.bb, label %NodeBlock101 + +NodeBlock101: ; preds = %NodeBlock103 + %case.cmp102 = icmp eq i32 %0, 97 + br i1 %case.cmp102, label %sw.bb, label %NodeBlock99 + +NodeBlock99: ; preds = %NodeBlock101 + %case.cmp100 = icmp eq i32 %0, 98 + br i1 %case.cmp100, label %sw.bb, label %NodeBlock97 + +NodeBlock97: ; preds = %NodeBlock99 + %case.cmp98 = icmp eq i32 %0, 99 + br i1 %case.cmp98, label %sw.bb, label %NodeBlock95 + +NodeBlock95: ; preds = %NodeBlock97 + %case.cmp96 = icmp eq i32 %0, 100 + br i1 %case.cmp96, label %sw.bb, label %NodeBlock93 + +NodeBlock93: ; preds = %NodeBlock95 + %case.cmp94 = icmp eq i32 %0, 101 + br i1 %case.cmp94, label %sw.bb, label %NodeBlock91 + +NodeBlock91: ; preds = %NodeBlock93 + %case.cmp92 = icmp eq i32 %0, 102 + br i1 %case.cmp92, label %sw.bb, label %NodeBlock89 + +NodeBlock89: ; preds = %NodeBlock91 + %case.cmp90 = icmp eq i32 %0, 103 + br i1 %case.cmp90, label %sw.bb, label %NodeBlock87 + +NodeBlock87: ; preds = %NodeBlock89 + %case.cmp88 = icmp eq i32 %0, 104 + br i1 %case.cmp88, label %sw.bb, label %NodeBlock85 + +NodeBlock85: ; preds = %NodeBlock87 + %case.cmp86 = icmp eq i32 %0, 105 + br i1 %case.cmp86, label %sw.bb, label %NodeBlock83 + +NodeBlock83: ; preds = %NodeBlock85 + %case.cmp84 = icmp eq i32 %0, 106 + br i1 %case.cmp84, label %sw.bb, label %NodeBlock81 + +NodeBlock81: ; preds = %NodeBlock83 + %case.cmp82 = icmp eq i32 %0, 107 + br i1 %case.cmp82, label %sw.bb, label %NodeBlock79 + +NodeBlock79: ; preds = %NodeBlock81 + %case.cmp80 = icmp eq i32 %0, 108 + br i1 %case.cmp80, label %sw.bb, label %NodeBlock77 + +NodeBlock77: ; preds = %NodeBlock79 + %case.cmp78 = icmp eq i32 %0, 109 + br i1 %case.cmp78, label %sw.bb, label %NodeBlock75 + +NodeBlock75: ; preds = %NodeBlock77 + %case.cmp76 = icmp eq i32 %0, 110 + br i1 %case.cmp76, label %sw.bb, label %NodeBlock73 + +NodeBlock73: ; preds = %NodeBlock75 + %case.cmp74 = icmp eq i32 %0, 111 + br i1 %case.cmp74, label %sw.bb, label %NodeBlock71 + +NodeBlock71: ; preds = %NodeBlock73 + %case.cmp72 = icmp eq i32 %0, 112 + br i1 %case.cmp72, label %sw.bb, label %NodeBlock69 + +NodeBlock69: ; preds = %NodeBlock71 + %case.cmp70 = icmp eq i32 %0, 113 + br i1 %case.cmp70, label %sw.bb, label %NodeBlock67 + +NodeBlock67: ; preds = %NodeBlock69 + %case.cmp68 = icmp eq i32 %0, 114 + br i1 %case.cmp68, label %sw.bb, label %NodeBlock65 + +NodeBlock65: ; preds = %NodeBlock67 + %case.cmp66 = icmp eq i32 %0, 115 + br i1 %case.cmp66, label %sw.bb, label %NodeBlock63 + +NodeBlock63: ; preds = %NodeBlock65 + %case.cmp64 = icmp eq i32 %0, 116 + br i1 %case.cmp64, label %sw.bb, label %NodeBlock61 + +NodeBlock61: ; preds = %NodeBlock63 + %case.cmp62 = icmp eq i32 %0, 117 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 118 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 119 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 120 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 121 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 122 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 65 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 66 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 67 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 68 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 69 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 70 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 71 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 72 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 73 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 74 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 75 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 76 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 77 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 78 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 79 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 80 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 81 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 82 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 83 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 84 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 85 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 86 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 87 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 88 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 89 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 90 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock121, %NodeBlock119, %NodeBlock117, %NodeBlock115, %NodeBlock113, %NodeBlock111, %NodeBlock109, %NodeBlock107, %NodeBlock105, %NodeBlock103, %NodeBlock101, %NodeBlock99, %NodeBlock97, %NodeBlock95, %NodeBlock93, %NodeBlock91, %NodeBlock89, %NodeBlock87, %NodeBlock85, %NodeBlock83, %NodeBlock81, %NodeBlock79, %NodeBlock77, %NodeBlock75, %NodeBlock73, %NodeBlock71, %NodeBlock69, %NodeBlock67, %NodeBlock65, %NodeBlock63, %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isalpha(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock101 + +NodeBlock101: ; preds = %entry + %case.cmp102 = icmp eq i32 %0, 97 + br i1 %case.cmp102, label %sw.bb, label %NodeBlock99 + +NodeBlock99: ; preds = %NodeBlock101 + %case.cmp100 = icmp eq i32 %0, 98 + br i1 %case.cmp100, label %sw.bb, label %NodeBlock97 + +NodeBlock97: ; preds = %NodeBlock99 + %case.cmp98 = icmp eq i32 %0, 99 + br i1 %case.cmp98, label %sw.bb, label %NodeBlock95 + +NodeBlock95: ; preds = %NodeBlock97 + %case.cmp96 = icmp eq i32 %0, 100 + br i1 %case.cmp96, label %sw.bb, label %NodeBlock93 + +NodeBlock93: ; preds = %NodeBlock95 + %case.cmp94 = icmp eq i32 %0, 101 + br i1 %case.cmp94, label %sw.bb, label %NodeBlock91 + +NodeBlock91: ; preds = %NodeBlock93 + %case.cmp92 = icmp eq i32 %0, 102 + br i1 %case.cmp92, label %sw.bb, label %NodeBlock89 + +NodeBlock89: ; preds = %NodeBlock91 + %case.cmp90 = icmp eq i32 %0, 103 + br i1 %case.cmp90, label %sw.bb, label %NodeBlock87 + +NodeBlock87: ; preds = %NodeBlock89 + %case.cmp88 = icmp eq i32 %0, 104 + br i1 %case.cmp88, label %sw.bb, label %NodeBlock85 + +NodeBlock85: ; preds = %NodeBlock87 + %case.cmp86 = icmp eq i32 %0, 105 + br i1 %case.cmp86, label %sw.bb, label %NodeBlock83 + +NodeBlock83: ; preds = %NodeBlock85 + %case.cmp84 = icmp eq i32 %0, 106 + br i1 %case.cmp84, label %sw.bb, label %NodeBlock81 + +NodeBlock81: ; preds = %NodeBlock83 + %case.cmp82 = icmp eq i32 %0, 107 + br i1 %case.cmp82, label %sw.bb, label %NodeBlock79 + +NodeBlock79: ; preds = %NodeBlock81 + %case.cmp80 = icmp eq i32 %0, 108 + br i1 %case.cmp80, label %sw.bb, label %NodeBlock77 + +NodeBlock77: ; preds = %NodeBlock79 + %case.cmp78 = icmp eq i32 %0, 109 + br i1 %case.cmp78, label %sw.bb, label %NodeBlock75 + +NodeBlock75: ; preds = %NodeBlock77 + %case.cmp76 = icmp eq i32 %0, 110 + br i1 %case.cmp76, label %sw.bb, label %NodeBlock73 + +NodeBlock73: ; preds = %NodeBlock75 + %case.cmp74 = icmp eq i32 %0, 111 + br i1 %case.cmp74, label %sw.bb, label %NodeBlock71 + +NodeBlock71: ; preds = %NodeBlock73 + %case.cmp72 = icmp eq i32 %0, 112 + br i1 %case.cmp72, label %sw.bb, label %NodeBlock69 + +NodeBlock69: ; preds = %NodeBlock71 + %case.cmp70 = icmp eq i32 %0, 113 + br i1 %case.cmp70, label %sw.bb, label %NodeBlock67 + +NodeBlock67: ; preds = %NodeBlock69 + %case.cmp68 = icmp eq i32 %0, 114 + br i1 %case.cmp68, label %sw.bb, label %NodeBlock65 + +NodeBlock65: ; preds = %NodeBlock67 + %case.cmp66 = icmp eq i32 %0, 115 + br i1 %case.cmp66, label %sw.bb, label %NodeBlock63 + +NodeBlock63: ; preds = %NodeBlock65 + %case.cmp64 = icmp eq i32 %0, 116 + br i1 %case.cmp64, label %sw.bb, label %NodeBlock61 + +NodeBlock61: ; preds = %NodeBlock63 + %case.cmp62 = icmp eq i32 %0, 117 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 118 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 119 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 120 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 121 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 122 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 65 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 66 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 67 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 68 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 69 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 70 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 71 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 72 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 73 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 74 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 75 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 76 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 77 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 78 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 79 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 80 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 81 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 82 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 83 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 84 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 85 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 86 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 87 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 88 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 89 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 90 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock101, %NodeBlock99, %NodeBlock97, %NodeBlock95, %NodeBlock93, %NodeBlock91, %NodeBlock89, %NodeBlock87, %NodeBlock85, %NodeBlock83, %NodeBlock81, %NodeBlock79, %NodeBlock77, %NodeBlock75, %NodeBlock73, %NodeBlock71, %NodeBlock69, %NodeBlock67, %NodeBlock65, %NodeBlock63, %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isascii(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %switch = icmp ult i32 %0, 128 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isblank(i32 %c) #3 { +entry: + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %cmp = icmp eq i32 %0, 32 + %1 = load i32, i32* %c.addr, align 4 + %cmp1 = icmp eq i32 %1, 9 + %2 = select i1 %cmp, i1 true, i1 %cmp1 + ret i1 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_iscntrl(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock63 + +NodeBlock63: ; preds = %entry + %case.cmp64 = icmp eq i32 %0, 7 + br i1 %case.cmp64, label %sw.bb, label %NodeBlock61 + +NodeBlock61: ; preds = %NodeBlock63 + %case.cmp62 = icmp eq i32 %0, 8 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 12 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 10 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 13 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 9 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 11 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 0 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 1 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 2 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 3 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 4 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 5 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 6 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 14 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 15 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 16 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 17 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 18 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 19 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 20 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 21 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 22 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 23 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 24 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 25 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 26 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 27 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 28 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 29 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 30 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 31 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 127 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock63, %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isdigit(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -48 + %switch = icmp ult i32 %.off, 10 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isgraph(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -33 + %switch = icmp ult i32 %.off, 94 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_islower(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -97 + %switch = icmp ult i32 %.off, 26 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isprint(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -32 + %switch = icmp ult i32 %.off, 95 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_ispunct(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock61 + +NodeBlock61: ; preds = %entry + %case.cmp62 = icmp eq i32 %0, 33 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 34 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 35 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 36 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 37 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 38 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 39 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 40 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 41 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 42 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 43 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 44 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 45 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 46 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 47 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 58 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 59 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 60 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 61 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 62 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 63 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 64 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 91 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 92 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 93 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 94 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 95 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 96 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 123 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 124 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 125 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 126 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isspace(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock9 + +NodeBlock9: ; preds = %entry + %case.cmp10 = icmp eq i32 %0, 32 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 9 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 10 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 11 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 12 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 13 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isupper(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -65 + %switch = icmp ult i32 %.off, 26 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isxdigit(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock41 + +NodeBlock41: ; preds = %entry + %case.cmp42 = icmp eq i32 %0, 48 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 49 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 50 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 51 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 52 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 53 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 54 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 55 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 56 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 57 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 97 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 98 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 99 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 100 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 101 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 102 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 65 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 66 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 67 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 68 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 69 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 70 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @c_toupper(i32 %c) #3 { +entry: + %retval = alloca i32, align 4 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -97 + %switch = icmp ult i32 %.off, 26 + %1 = load i32, i32* %c.addr, align 4 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + %sub = sub nsw i32 %1, 97 + %add = add nsw i32 %sub, 65 + store i32 %add, i32* %retval, align 4 + br label %return + +sw.default: ; preds = %entry + store i32 %1, i32* %retval, align 4 + br label %return + +return: ; preds = %sw.default, %sw.bb + %2 = load i32, i32* %retval, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @klee_init_fds(i32 %n_files, i32 %file_length, i32 %stdin_length, i32 %sym_stdout_flag, i32 %save_all_writes_flag, i32 %max_failures) #3 { +entry: + %n_files.addr = alloca i32, align 4 + %file_length.addr = alloca i32, align 4 + %stdin_length.addr = alloca i32, align 4 + %sym_stdout_flag.addr = alloca i32, align 4 + %save_all_writes_flag.addr = alloca i32, align 4 + %max_failures.addr = alloca i32, align 4 + %k = alloca i32, align 4 + %name = alloca [7 x i8], align 1 + %s = alloca %struct.stat64, align 8 + store i32 %n_files, i32* %n_files.addr, align 4 + store i32 %file_length, i32* %file_length.addr, align 4 + store i32 %stdin_length, i32* %stdin_length.addr, align 4 + store i32 %sym_stdout_flag, i32* %sym_stdout_flag.addr, align 4 + store i32 %save_all_writes_flag, i32* %save_all_writes_flag.addr, align 4 + store i32 %max_failures, i32* %max_failures.addr, align 4 + %0 = bitcast [7 x i8]* %name to i8* + %1 = call i8* @memcpy(i8* %0, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @__const.klee_init_fds.name, i32 0, i32 0), i64 7) + %call = call i32 @stat64(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.141, i64 0, i64 0), %struct.stat64* %s) #11 + %2 = load i32, i32* %n_files.addr, align 4 + store i32 %2, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %3 = load i32, i32* %n_files.addr, align 4 + %conv = zext i32 %3 to i64 + %mul = mul i64 24, %conv + %call1 = call noalias i8* @malloc(i64 %mul) #11 + %4 = bitcast i8* %call1 to %struct.exe_disk_file_t* + store %struct.exe_disk_file_t* %4, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %5 = load i32, i32* %n_files.addr, align 4 + %tobool = icmp eq i32 %5, 0 + %6 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %6, null + %or.cond = or i1 %tobool, %tobool2 + br i1 %or.cond, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @gs_report_error.145(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.142, i64 0, i64 0), i32 124, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.143, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.144, i64 0, i64 0)) #24 + unreachable + +if.end: ; preds = %entry + store i32 0, i32* %k, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %7 = load i32, i32* %k, align 4 + %8 = load i32, i32* %n_files.addr, align 4 + %cmp = icmp ult i32 %7, %8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %9 = load i32, i32* %k, align 4 + %add = add i32 65, %9 + %conv4 = trunc i32 %add to i8 + %arrayidx = getelementptr inbounds [7 x i8], [7 x i8]* %name, i64 0, i64 0 + store i8 %conv4, i8* %arrayidx, align 1 + %10 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %11 = load i32, i32* %k, align 4 + %idxprom = zext i32 %11 to i64 + %arrayidx5 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %10, i64 %idxprom + %12 = load i32, i32* %file_length.addr, align 4 + %arraydecay = getelementptr inbounds [7 x i8], [7 x i8]* %name, i64 0, i64 0 + call void @__create_new_dfile(%struct.exe_disk_file_t* %arrayidx5, i32 %12, i8* %arraydecay, %struct.stat64* %s) + %13 = load i32, i32* %k, align 4 + %inc = add i32 %13, 1 + store i32 %inc, i32* %k, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %14 = load i32, i32* %stdin_length.addr, align 4 + %tobool6 = icmp ne i32 %14, 0 + br i1 %tobool6, label %if.then7, label %if.else + +if.then7: ; preds = %for.end + %call8 = call noalias i8* @malloc(i64 24) #11 + %15 = bitcast i8* %call8 to %struct.exe_disk_file_t* + store %struct.exe_disk_file_t* %15, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + %16 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + %tobool9 = icmp ne %struct.exe_disk_file_t* %16, null + br i1 %tobool9, label %if.end11, label %if.then10 + +if.then10: ; preds = %if.then7 + call void @gs_report_error.145(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.142, i64 0, i64 0), i32 135, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.143, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.144, i64 0, i64 0)) #24 + unreachable + +if.end11: ; preds = %if.then7 + %17 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + %18 = load i32, i32* %stdin_length.addr, align 4 + call void @__create_new_dfile(%struct.exe_disk_file_t* %17, i32 %18, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.4.146, i64 0, i64 0), %struct.stat64* %s) + %19 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + store %struct.exe_disk_file_t* %19, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0, i64 0, i32 3), align 8 + br label %if.end12 + +if.else: ; preds = %for.end + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + br label %if.end12 + +if.end12: ; preds = %if.else, %if.end11 + %20 = load i32, i32* %max_failures.addr, align 4 + store i32 %20, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %21 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool13 = icmp ne i32 %21, 0 + br i1 %tobool13, label %if.then14, label %if.end31 + +if.then14: ; preds = %if.end12 + %call15 = call noalias i8* @malloc(i64 4) #11 + %22 = bitcast i8* %call15 to i32* + store i32* %22, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %call16 = call noalias i8* @malloc(i64 4) #11 + %23 = bitcast i8* %call16 to i32* + store i32* %23, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %call17 = call noalias i8* @malloc(i64 4) #11 + %24 = bitcast i8* %call17 to i32* + store i32* %24, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %call18 = call noalias i8* @malloc(i64 4) #11 + %25 = bitcast i8* %call18 to i32* + store i32* %25, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %call19 = call noalias i8* @malloc(i64 4) #11 + %26 = bitcast i8* %call19 to i32* + store i32* %26, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %27 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %tobool20 = icmp ne i32* %27, null + %28 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %tobool22 = icmp ne i32* %28, null + %or.cond1 = and i1 %tobool20, %tobool22 + %29 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %tobool24 = icmp ne i32* %29, null + %or.cond2 = and i1 %or.cond1, %tobool24 + %30 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %tobool26 = icmp ne i32* %30, null + %or.cond3 = and i1 %or.cond2, %tobool26 + %31 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %tobool28 = icmp ne i32* %31, null + %or.cond4 = and i1 %or.cond3, %tobool28 + br i1 %or.cond4, label %if.end30, label %if.then29 + +if.then29: ; preds = %if.then14 + call void @gs_report_error.145(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.142, i64 0, i64 0), i32 150, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.143, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.144, i64 0, i64 0)) #24 + unreachable + +if.end30: ; preds = %if.then14 + %32 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %33 = bitcast i32* %32 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %33, i64 4, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.5.147, i64 0, i64 0)) + %34 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %35 = bitcast i32* %34 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %35, i64 4, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.6.148, i64 0, i64 0)) + %36 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %37 = bitcast i32* %36 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %37, i64 4, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.7.149, i64 0, i64 0)) + %38 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %39 = bitcast i32* %38 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %39, i64 4, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.8.150, i64 0, i64 0)) + %40 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %41 = bitcast i32* %40 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %41, i64 4, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.9.151, i64 0, i64 0)) + br label %if.end31 + +if.end31: ; preds = %if.end30, %if.end12 + %42 = load i32, i32* %sym_stdout_flag.addr, align 4 + %tobool32 = icmp ne i32 %42, 0 + br i1 %tobool32, label %if.then33, label %if.else38 + +if.then33: ; preds = %if.end31 + %call34 = call noalias i8* @malloc(i64 24) #11 + %43 = bitcast i8* %call34 to %struct.exe_disk_file_t* + store %struct.exe_disk_file_t* %43, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + %44 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + %tobool35 = icmp ne %struct.exe_disk_file_t* %44, null + br i1 %tobool35, label %if.end37, label %if.then36 + +if.then36: ; preds = %if.then33 + call void @gs_report_error.145(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.142, i64 0, i64 0), i32 163, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.143, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.144, i64 0, i64 0)) #24 + unreachable + +if.end37: ; preds = %if.then33 + %45 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + call void @__create_new_dfile(%struct.exe_disk_file_t* %45, i32 1024, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.10.152, i64 0, i64 0), %struct.stat64* %s) + %46 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + store %struct.exe_disk_file_t* %46, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0, i64 1, i32 3), align 8 + store i32 0, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 3), align 8 + br label %if.end39 + +if.else38: ; preds = %if.end31 + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + br label %if.end39 + +if.end39: ; preds = %if.else38, %if.end37 + %47 = load i32, i32* %save_all_writes_flag.addr, align 4 + store i32 %47, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 3), align 8 + %call40 = call i32 @__sym_uint32(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.11.153, i64 0, i64 0)) + store i32 %call40, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 2), align 4 + %48 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 2), align 4 + %cmp41 = icmp eq i32 %48, 1 + call void @gs_assume(i1 zeroext %cmp41) + ret void +} + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error.145(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.156, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__create_new_dfile(%struct.exe_disk_file_t* %dfile, i32 %size, i8* %name, %struct.stat64* %defaults) #3 { +entry: + %dfile.addr = alloca %struct.exe_disk_file_t*, align 8 + %size.addr = alloca i32, align 4 + %name.addr = alloca i8*, align 8 + %defaults.addr = alloca %struct.stat64*, align 8 + %s = alloca %struct.stat64*, align 8 + %sp = alloca i8*, align 8 + %sname = alloca [64 x i8], align 16 + store %struct.exe_disk_file_t* %dfile, %struct.exe_disk_file_t** %dfile.addr, align 8 + store i32 %size, i32* %size.addr, align 4 + store i8* %name, i8** %name.addr, align 8 + store %struct.stat64* %defaults, %struct.stat64** %defaults.addr, align 8 + %call = call noalias i8* @malloc(i64 144) #11 + %0 = bitcast i8* %call to %struct.stat64* + store %struct.stat64* %0, %struct.stat64** %s, align 8 + %1 = load %struct.stat64*, %struct.stat64** %s, align 8 + %tobool = icmp ne %struct.stat64* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @gs_report_error.145(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.142, i64 0, i64 0), i32 47, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.143, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.144, i64 0, i64 0)) #24 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %name.addr, align 8 + store i8* %2, i8** %sp, align 8 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %3 = load i8*, i8** %sp, align 8 + %4 = load i8, i8* %3, align 1 + %tobool1 = icmp ne i8 %4, 0 + %5 = load i8*, i8** %sp, align 8 + br i1 %tobool1, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %6 = load i8, i8* %5, align 1 + %7 = load i8*, i8** %sp, align 8 + %8 = load i8*, i8** %name.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %8 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %arrayidx = getelementptr inbounds [64 x i8], [64 x i8]* %sname, i64 0, i64 %sub.ptr.sub + store i8 %6, i8* %arrayidx, align 1 + %9 = load i8*, i8** %sp, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %sp, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %10 = load i8*, i8** %name.addr, align 8 + %sub.ptr.lhs.cast2 = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast3 = ptrtoint i8* %10 to i64 + %sub.ptr.sub4 = sub i64 %sub.ptr.lhs.cast2, %sub.ptr.rhs.cast3 + %arrayidx5 = getelementptr inbounds [64 x i8], [64 x i8]* %sname, i64 0, i64 %sub.ptr.sub4 + %11 = call i8* @memcpy(i8* %arrayidx5, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.13.154, i64 0, i64 0), i64 6) + %12 = load i32, i32* %size.addr, align 4 + %tobool6 = icmp ne i32 %12, 0 + br i1 %tobool6, label %if.end8, label %if.else + +if.else: ; preds = %for.end + call void @__assert_fail(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.14.155, i64 0, i64 0), i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.142, i64 0, i64 0), i32 55, i8* getelementptr inbounds ([88 x i8], [88 x i8]* @__PRETTY_FUNCTION__.__create_new_dfile, i64 0, i64 0)) #26 + unreachable + +if.end8: ; preds = %for.end + %13 = load i32, i32* %size.addr, align 4 + %14 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size9 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %14, i32 0, i32 0 + store i32 %13, i32* %size9, align 8 + %15 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size10 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %15, i32 0, i32 0 + %16 = load i32, i32* %size10, align 8 + %conv = zext i32 %16 to i64 + %call11 = call noalias i8* @malloc(i64 %conv) #11 + %17 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %contents = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %17, i32 0, i32 1 + store i8* %call11, i8** %contents, align 8 + %18 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %contents12 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %18, i32 0, i32 1 + %19 = load i8*, i8** %contents12, align 8 + %tobool13 = icmp ne i8* %19, null + br i1 %tobool13, label %if.end15, label %if.then14 + +if.then14: ; preds = %if.end8 + call void @gs_report_error.145(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.142, i64 0, i64 0), i32 60, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.143, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.144, i64 0, i64 0)) #24 + unreachable + +if.end15: ; preds = %if.end8 + %20 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %contents16 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %20, i32 0, i32 1 + %21 = load i8*, i8** %contents16, align 8 + %22 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size17 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %22, i32 0, i32 0 + %23 = load i32, i32* %size17, align 8 + %conv18 = zext i32 %23 to i64 + %24 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %21, i64 %conv18, i8* %24) + %25 = load %struct.stat64*, %struct.stat64** %s, align 8 + %26 = bitcast %struct.stat64* %25 to i8* + %arraydecay = getelementptr inbounds [64 x i8], [64 x i8]* %sname, i64 0, i64 0 + call void (i8*, i64, ...) @make_symbolic(i8* %26, i64 144, i8* %arraydecay) + %27 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %27, i32 0, i32 1 + %28 = load i64, i64* %st_ino, align 8 + %call19 = call i32 @gs_is_symbolic(i64 %28) + %tobool20 = icmp ne i32 %call19, 0 + br i1 %tobool20, label %if.end26, label %land.lhs.true + +land.lhs.true: ; preds = %if.end15 + %29 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino21 = getelementptr inbounds %struct.stat64, %struct.stat64* %29, i32 0, i32 1 + %30 = load i64, i64* %st_ino21, align 8 + %and = and i64 %30, 2147483647 + %cmp = icmp eq i64 %and, 0 + br i1 %cmp, label %if.then23, label %if.end26 + +if.then23: ; preds = %land.lhs.true + %31 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_ino24 = getelementptr inbounds %struct.stat64, %struct.stat64* %31, i32 0, i32 1 + %32 = load i64, i64* %st_ino24, align 8 + %33 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino25 = getelementptr inbounds %struct.stat64, %struct.stat64* %33, i32 0, i32 1 + store i64 %32, i64* %st_ino25, align 8 + br label %if.end26 + +if.end26: ; preds = %if.then23, %land.lhs.true, %if.end15 + %34 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino27 = getelementptr inbounds %struct.stat64, %struct.stat64* %34, i32 0, i32 1 + %35 = load i64, i64* %st_ino27, align 8 + %and28 = and i64 %35, 2147483647 + %cmp29 = icmp ne i64 %and28, 0 + call void @gs_assume(i1 zeroext %cmp29) + %36 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_blksize = getelementptr inbounds %struct.stat64, %struct.stat64* %36, i32 0, i32 9 + %37 = load i64, i64* %st_blksize, align 8 + %and31 = and i64 %37, -65536 + %cmp32 = icmp eq i64 %and31, 0 + call void @gs_assume(i1 zeroext %cmp32) + %38 = load %struct.stat64*, %struct.stat64** %s, align 8 + %39 = bitcast %struct.stat64* %38 to i8* + %40 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %40, i32 0, i32 3 + %41 = load i32, i32* %st_mode, align 8 + %and34 = and i32 %41, -61952 + %tobool35 = icmp ne i32 %and34, 0 + %lnot = xor i1 %tobool35, true + call void @gs_prefer_cex(i8* %39, i1 zeroext %lnot) + %42 = load %struct.stat64*, %struct.stat64** %s, align 8 + %43 = bitcast %struct.stat64* %42 to i8* + %44 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_dev = getelementptr inbounds %struct.stat64, %struct.stat64* %44, i32 0, i32 0 + %45 = load i64, i64* %st_dev, align 8 + %46 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_dev36 = getelementptr inbounds %struct.stat64, %struct.stat64* %46, i32 0, i32 0 + %47 = load i64, i64* %st_dev36, align 8 + %cmp37 = icmp eq i64 %45, %47 + call void @gs_prefer_cex(i8* %43, i1 zeroext %cmp37) + %48 = load %struct.stat64*, %struct.stat64** %s, align 8 + %49 = bitcast %struct.stat64* %48 to i8* + %50 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_rdev = getelementptr inbounds %struct.stat64, %struct.stat64* %50, i32 0, i32 7 + %51 = load i64, i64* %st_rdev, align 8 + %52 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_rdev39 = getelementptr inbounds %struct.stat64, %struct.stat64* %52, i32 0, i32 7 + %53 = load i64, i64* %st_rdev39, align 8 + %cmp40 = icmp eq i64 %51, %53 + call void @gs_prefer_cex(i8* %49, i1 zeroext %cmp40) + %54 = load %struct.stat64*, %struct.stat64** %s, align 8 + %55 = bitcast %struct.stat64* %54 to i8* + %56 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode42 = getelementptr inbounds %struct.stat64, %struct.stat64* %56, i32 0, i32 3 + %57 = load i32, i32* %st_mode42, align 8 + %and43 = and i32 %57, 448 + %cmp44 = icmp eq i32 %and43, 384 + call void @gs_prefer_cex(i8* %55, i1 zeroext %cmp44) + %58 = load %struct.stat64*, %struct.stat64** %s, align 8 + %59 = bitcast %struct.stat64* %58 to i8* + %60 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode46 = getelementptr inbounds %struct.stat64, %struct.stat64* %60, i32 0, i32 3 + %61 = load i32, i32* %st_mode46, align 8 + %and47 = and i32 %61, 56 + %cmp48 = icmp eq i32 %and47, 32 + call void @gs_prefer_cex(i8* %59, i1 zeroext %cmp48) + %62 = load %struct.stat64*, %struct.stat64** %s, align 8 + %63 = bitcast %struct.stat64* %62 to i8* + %64 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode50 = getelementptr inbounds %struct.stat64, %struct.stat64* %64, i32 0, i32 3 + %65 = load i32, i32* %st_mode50, align 8 + %and51 = and i32 %65, 7 + %cmp52 = icmp eq i32 %and51, 4 + call void @gs_prefer_cex(i8* %63, i1 zeroext %cmp52) + %66 = load %struct.stat64*, %struct.stat64** %s, align 8 + %67 = bitcast %struct.stat64* %66 to i8* + %68 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode54 = getelementptr inbounds %struct.stat64, %struct.stat64* %68, i32 0, i32 3 + %69 = load i32, i32* %st_mode54, align 8 + %and55 = and i32 %69, 61440 + %cmp56 = icmp eq i32 %and55, 32768 + call void @gs_prefer_cex(i8* %67, i1 zeroext %cmp56) + %70 = load %struct.stat64*, %struct.stat64** %s, align 8 + %71 = bitcast %struct.stat64* %70 to i8* + %72 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_nlink = getelementptr inbounds %struct.stat64, %struct.stat64* %72, i32 0, i32 2 + %73 = load i64, i64* %st_nlink, align 8 + %cmp58 = icmp eq i64 %73, 1 + call void @gs_prefer_cex(i8* %71, i1 zeroext %cmp58) + %74 = load %struct.stat64*, %struct.stat64** %s, align 8 + %75 = bitcast %struct.stat64* %74 to i8* + %76 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_uid = getelementptr inbounds %struct.stat64, %struct.stat64* %76, i32 0, i32 4 + %77 = load i32, i32* %st_uid, align 4 + %78 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_uid60 = getelementptr inbounds %struct.stat64, %struct.stat64* %78, i32 0, i32 4 + %79 = load i32, i32* %st_uid60, align 4 + %cmp61 = icmp eq i32 %77, %79 + call void @gs_prefer_cex(i8* %75, i1 zeroext %cmp61) + %80 = load %struct.stat64*, %struct.stat64** %s, align 8 + %81 = bitcast %struct.stat64* %80 to i8* + %82 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_gid = getelementptr inbounds %struct.stat64, %struct.stat64* %82, i32 0, i32 5 + %83 = load i32, i32* %st_gid, align 8 + %84 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_gid63 = getelementptr inbounds %struct.stat64, %struct.stat64* %84, i32 0, i32 5 + %85 = load i32, i32* %st_gid63, align 8 + %cmp64 = icmp eq i32 %83, %85 + call void @gs_prefer_cex(i8* %81, i1 zeroext %cmp64) + %86 = load %struct.stat64*, %struct.stat64** %s, align 8 + %87 = bitcast %struct.stat64* %86 to i8* + %88 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_blksize66 = getelementptr inbounds %struct.stat64, %struct.stat64* %88, i32 0, i32 9 + %89 = load i64, i64* %st_blksize66, align 8 + %cmp67 = icmp eq i64 %89, 4096 + call void @gs_prefer_cex(i8* %87, i1 zeroext %cmp67) + %90 = load %struct.stat64*, %struct.stat64** %s, align 8 + %91 = bitcast %struct.stat64* %90 to i8* + %92 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_atim = getelementptr inbounds %struct.stat64, %struct.stat64* %92, i32 0, i32 11 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim, i32 0, i32 0 + %93 = load i64, i64* %tv_sec, align 8 + %94 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_atim69 = getelementptr inbounds %struct.stat64, %struct.stat64* %94, i32 0, i32 11 + %tv_sec70 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim69, i32 0, i32 0 + %95 = load i64, i64* %tv_sec70, align 8 + %cmp71 = icmp eq i64 %93, %95 + call void @gs_prefer_cex(i8* %91, i1 zeroext %cmp71) + %96 = load %struct.stat64*, %struct.stat64** %s, align 8 + %97 = bitcast %struct.stat64* %96 to i8* + %98 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mtim = getelementptr inbounds %struct.stat64, %struct.stat64* %98, i32 0, i32 12 + %tv_sec73 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim, i32 0, i32 0 + %99 = load i64, i64* %tv_sec73, align 8 + %100 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_mtim74 = getelementptr inbounds %struct.stat64, %struct.stat64* %100, i32 0, i32 12 + %tv_sec75 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim74, i32 0, i32 0 + %101 = load i64, i64* %tv_sec75, align 8 + %cmp76 = icmp eq i64 %99, %101 + call void @gs_prefer_cex(i8* %97, i1 zeroext %cmp76) + %102 = load %struct.stat64*, %struct.stat64** %s, align 8 + %103 = bitcast %struct.stat64* %102 to i8* + %104 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ctim = getelementptr inbounds %struct.stat64, %struct.stat64* %104, i32 0, i32 13 + %tv_sec78 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim, i32 0, i32 0 + %105 = load i64, i64* %tv_sec78, align 8 + %106 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_ctim79 = getelementptr inbounds %struct.stat64, %struct.stat64* %106, i32 0, i32 13 + %tv_sec80 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim79, i32 0, i32 0 + %107 = load i64, i64* %tv_sec80, align 8 + %cmp81 = icmp eq i64 %105, %107 + call void @gs_prefer_cex(i8* %103, i1 zeroext %cmp81) + %108 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size83 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %108, i32 0, i32 0 + %109 = load i32, i32* %size83, align 8 + %conv84 = zext i32 %109 to i64 + %110 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_size = getelementptr inbounds %struct.stat64, %struct.stat64* %110, i32 0, i32 8 + store i64 %conv84, i64* %st_size, align 8 + %111 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_blocks = getelementptr inbounds %struct.stat64, %struct.stat64* %111, i32 0, i32 10 + store i64 8, i64* %st_blocks, align 8 + %112 = load %struct.stat64*, %struct.stat64** %s, align 8 + %113 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %113, i32 0, i32 2 + store %struct.stat64* %112, %struct.stat64** %stat, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__sym_uint32(i8* %name) #3 { +entry: + %name.addr = alloca i8*, align 8 + %x = alloca i32, align 4 + store i8* %name, i8** %name.addr, align 8 + %0 = bitcast i32* %x to i8* + %1 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %0, i64 4, i8* %1) + %2 = load i32, i32* %x, align 4 + ret i32 %2 +} + +declare dso_local void @gs_prefer_cex(i8*, i1 zeroext) #5 + +; Function Attrs: noinline nounwind uwtable +define weak hidden i32 @__syscall_rt_sigaction(i32 %signum, %struct.sigaction.800* %act, %struct.sigaction.800* %oldact, i64 %_something) #3 { +entry: + %signum.addr = alloca i32, align 4 + %act.addr = alloca %struct.sigaction.800*, align 8 + %oldact.addr = alloca %struct.sigaction.800*, align 8 + %_something.addr = alloca i64, align 8 + store i32 %signum, i32* %signum.addr, align 4 + store %struct.sigaction.800* %act, %struct.sigaction.800** %act.addr, align 8 + store %struct.sigaction.800* %oldact, %struct.sigaction.800** %oldact.addr, align 8 + store i64 %_something, i64* %_something.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.157, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @sigaction(i32 %signum, %struct.sigaction.800* %act, %struct.sigaction.800* %oldact) #3 { +entry: + %signum.addr = alloca i32, align 4 + %act.addr = alloca %struct.sigaction.800*, align 8 + %oldact.addr = alloca %struct.sigaction.800*, align 8 + store i32 %signum, i32* %signum.addr, align 4 + store %struct.sigaction.800* %act, %struct.sigaction.800** %act.addr, align 8 + store %struct.sigaction.800* %oldact, %struct.sigaction.800** %oldact.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.157, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @sigprocmask(i32 %how, %struct.fd_set* %set, %struct.fd_set* %oldset) #3 { +entry: + %how.addr = alloca i32, align 4 + %set.addr = alloca %struct.fd_set*, align 8 + %oldset.addr = alloca %struct.fd_set*, align 8 + store i32 %how, i32* %how.addr, align 4 + store %struct.fd_set* %set, %struct.fd_set** %set.addr, align 8 + store %struct.fd_set* %oldset, %struct.fd_set** %oldset.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.157, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @fdatasync(i32 %fd) #3 { +entry: + %fd.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local void @sync() #3 { +entry: + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @__socketcall(i32 %type, i32* %args) #3 { +entry: + %type.addr = alloca i32, align 4 + %args.addr = alloca i32*, align 8 + store i32 %type, i32* %type.addr, align 4 + store i32* %args, i32** %args.addr, align 8 + call void @gs_warning.163(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.1.162, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 97, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @gs_warning.163(i8* %message) #3 { +entry: + %message.addr = alloca i8*, align 8 + store i8* %message, i8** %message.addr, align 8 + %0 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %0) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.11.164, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @_IO_getc(%struct._IO_FILE* %f) #3 { +entry: + %f.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %f, %struct._IO_FILE** %f.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %f.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %0) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @_IO_putc(i32 %c, %struct._IO_FILE* %f) #3 { +entry: + %c.addr = alloca i32, align 4 + %f.addr = alloca %struct._IO_FILE*, align 8 + store i32 %c, i32* %c.addr, align 4 + store %struct._IO_FILE* %f, %struct._IO_FILE** %f.addr, align 8 + %0 = load i32, i32* %c.addr, align 4 + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %f.addr, align 8 + %call = call i32 bitcast (i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked to i32 (i32, %struct._IO_FILE*)*)(i32 %0, %struct._IO_FILE* %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mkdir(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + call void @gs_warning.163(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 5, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mkfifo(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + call void @gs_warning.163(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 5, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mknod(i8* nonnull %pathname, i32 %mode, i64 %dev) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + %dev.addr = alloca i64, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + store i64 %dev, i64* %dev.addr, align 8 + call void @gs_warning.163(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 5, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @pipe(i32* %filedes) #3 { +entry: + %filedes.addr = alloca i32*, align 8 + store i32* %filedes, i32** %filedes.addr, align 8 + call void @gs_warning.163(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.3.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 23, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @link(i8* nonnull %oldpath, i8* nonnull %newpath) #3 { +entry: + %oldpath.addr = alloca i8*, align 8 + %newpath.addr = alloca i8*, align 8 + store i8* %oldpath, i8** %oldpath.addr, align 8 + store i8* %newpath, i8** %newpath.addr, align 8 + call void @gs_warning.163(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.169, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @symlink(i8* nonnull %oldpath, i8* nonnull %newpath) #3 { +entry: + %oldpath.addr = alloca i8*, align 8 + %newpath.addr = alloca i8*, align 8 + store i8* %oldpath, i8** %oldpath.addr, align 8 + store i8* %newpath, i8** %newpath.addr, align 8 + call void @gs_warning.163(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.169, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @rename(i8* %oldpath, i8* %newpath) #3 { +entry: + %oldpath.addr = alloca i8*, align 8 + %newpath.addr = alloca i8*, align 8 + store i8* %oldpath, i8** %oldpath.addr, align 8 + store i8* %newpath, i8** %newpath.addr, align 8 + call void @gs_warning.163(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.169, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @nanosleep(%struct.timespec* %req, %struct.timespec* %rem) #3 { +entry: + %req.addr = alloca %struct.timespec*, align 8 + %rem.addr = alloca %struct.timespec*, align 8 + store %struct.timespec* %req, %struct.timespec** %req.addr, align 8 + store %struct.timespec* %rem, %struct.timespec** %rem.addr, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @clock_gettime(i32 %clk_id, %struct.timespec* %res) #3 { +entry: + %clk_id.addr = alloca i32, align 4 + %res.addr = alloca %struct.timespec*, align 8 + %tv = alloca %struct.timespec, align 8 + store i32 %clk_id, i32* %clk_id.addr, align 4 + store %struct.timespec* %res, %struct.timespec** %res.addr, align 8 + %call = call i32 @gettimeofday(%struct.timespec* %tv, i8* null) #11 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %0 = load i64, i64* %tv_sec, align 8 + %1 = load %struct.timespec*, %struct.timespec** %res.addr, align 8 + %tv_sec1 = getelementptr inbounds %struct.timespec, %struct.timespec* %1, i32 0, i32 0 + store i64 %0, i64* %tv_sec1, align 8 + %tv_usec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 1 + %2 = load i64, i64* %tv_usec, align 8 + %mul = mul nsw i64 %2, 1000 + %3 = load %struct.timespec*, %struct.timespec** %res.addr, align 8 + %tv_nsec = getelementptr inbounds %struct.timespec, %struct.timespec* %3, i32 0, i32 1 + store i64 %mul, i64* %tv_nsec, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @clock_settime(i32 %clk_id, %struct.timespec* %res) #3 { +entry: + %clk_id.addr = alloca i32, align 4 + %res.addr = alloca %struct.timespec*, align 8 + store i32 %clk_id, i32* %clk_id.addr, align 4 + store %struct.timespec* %res, %struct.timespec** %res.addr, align 8 + call void @gs_warning.163(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.169, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @time(i64* %t) #3 { +entry: + %t.addr = alloca i64*, align 8 + %tv = alloca %struct.timespec, align 8 + store i64* %t, i64** %t.addr, align 8 + %call = call i32 @gettimeofday(%struct.timespec* %tv, i8* null) #11 + %0 = load i64*, i64** %t.addr, align 8 + %tobool = icmp ne i64* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %1 = load i64, i64* %tv_sec, align 8 + %2 = load i64*, i64** %t.addr, align 8 + store i64 %1, i64* %2, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %tv_sec1 = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %3 = load i64, i64* %tv_sec1, align 8 + ret i64 %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @times(%struct.tms* %buf) #3 { +entry: + %buf.addr = alloca %struct.tms*, align 8 + store %struct.tms* %buf, %struct.tms** %buf.addr, align 8 + %0 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tobool = icmp ne %struct.tms* %0, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + call void @gs_warning.163(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.5.170, i64 0, i64 0)) + br label %if.end + +if.else: ; preds = %entry + call void @gs_warning.163(i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.6.171, i64 0, i64 0)) + %1 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_utime = getelementptr inbounds %struct.tms, %struct.tms* %1, i32 0, i32 0 + store i64 0, i64* %tms_utime, align 8 + %2 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_stime = getelementptr inbounds %struct.tms, %struct.tms* %2, i32 0, i32 1 + store i64 0, i64* %tms_stime, align 8 + %3 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_cutime = getelementptr inbounds %struct.tms, %struct.tms* %3, i32 0, i32 2 + store i64 0, i64* %tms_cutime, align 8 + %4 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_cstime = getelementptr inbounds %struct.tms, %struct.tms* %4, i32 0, i32 3 + store i64 0, i64* %tms_cstime, align 8 + br label %if.end + +if.end: ; preds = %if.else, %if.then + ret i64 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local %struct.utmpx* @getutxent() #3 { +entry: + %call = call %struct.utmp* bitcast (%struct.utmp.323* ()* @getutent to %struct.utmp* ()*)() #11 + %0 = bitcast %struct.utmp* %call to %struct.utmpx* + ret %struct.utmpx* %0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local void @setutxent() #3 { +entry: + call void @setutent() #11 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local void @endutxent() #3 { +entry: + call void @endutent() #11 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @utmpxname(i8* %file) #3 { +entry: + %file.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + %call = call i32 @utmpname(i8* %0) #11 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @euidaccess(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %1 = load i32, i32* %mode.addr, align 4 + %call = call i32 @access(i8* %0, i32 %1) #11 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @eaccess(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %1 = load i32, i32* %mode.addr, align 4 + %call = call i32 @euidaccess(i8* %0, i32 %1) #11 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @group_member(i32 %__gid) #3 { +entry: + %__gid.addr = alloca i32, align 4 + store i32 %__gid, i32* %__gid.addr, align 4 + %0 = load i32, i32* %__gid.addr, align 4 + %call = call i32 @getgid() #11 + %cmp = icmp eq i32 %0, %call + br i1 %cmp, label %lor.end, label %lor.rhs + +lor.rhs: ; preds = %entry + %1 = load i32, i32* %__gid.addr, align 4 + %call1 = call i32 @getegid() #11 + %cmp2 = icmp eq i32 %1, %call1 + br label %lor.end + +lor.end: ; preds = %lor.rhs, %entry + %2 = phi i1 [ true, %entry ], [ %cmp2, %lor.rhs ] + %lor.ext = zext i1 %2 to i32 + ret i32 %lor.ext +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @utime(i8* nonnull %filename, %struct.timespec* %buf) #3 { +entry: + %filename.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.timespec*, align 8 + store i8* %filename, i8** %filename.addr, align 8 + store %struct.timespec* %buf, %struct.timespec** %buf.addr, align 8 + call void @gs_warning.163(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.169, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @futimes(i32 %fd, %struct.timespec* %times) #3 { +entry: + %fd.addr = alloca i32, align 4 + %times.addr = alloca %struct.timespec*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.timespec* %times, %struct.timespec** %times.addr, align 8 + call void @gs_warning.163(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.7.172, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 9, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind readonly uwtable +define dso_local i32 @strverscmp(i8* nonnull %__s1, i8* nonnull %__s2) #15 { +entry: + %__s1.addr = alloca i8*, align 8 + %__s2.addr = alloca i8*, align 8 + store i8* %__s1, i8** %__s1.addr, align 8 + store i8* %__s2, i8** %__s2.addr, align 8 + %0 = load i8*, i8** %__s1.addr, align 8 + %1 = load i8*, i8** %__s2.addr, align 8 + %call = call i32 @strcmp(i8* %0, i8* %1) #23 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @gnu_dev_major(i64 %__dev) #3 { +entry: + %__dev.addr = alloca i64, align 8 + store i64 %__dev, i64* %__dev.addr, align 8 + %0 = load i64, i64* %__dev.addr, align 8 + %shr = lshr i64 %0, 8 + %and = and i64 %shr, 4095 + %1 = load i64, i64* %__dev.addr, align 8 + %shr1 = lshr i64 %1, 32 + %conv = trunc i64 %shr1 to i32 + %and2 = and i32 %conv, -4096 + %conv3 = zext i32 %and2 to i64 + %or = or i64 %and, %conv3 + %conv4 = trunc i64 %or to i32 + ret i32 %conv4 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @gnu_dev_minor(i64 %__dev) #3 { +entry: + %__dev.addr = alloca i64, align 8 + store i64 %__dev, i64* %__dev.addr, align 8 + %0 = load i64, i64* %__dev.addr, align 8 + %and = and i64 %0, 255 + %1 = load i64, i64* %__dev.addr, align 8 + %shr = lshr i64 %1, 12 + %conv = trunc i64 %shr to i32 + %and1 = and i32 %conv, -256 + %conv2 = zext i32 %and1 to i64 + %or = or i64 %and, %conv2 + %conv3 = trunc i64 %or to i32 + ret i32 %conv3 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i64 @gnu_dev_makedev(i32 %__major, i32 %__minor) #3 { +entry: + %__major.addr = alloca i32, align 4 + %__minor.addr = alloca i32, align 4 + store i32 %__major, i32* %__major.addr, align 4 + store i32 %__minor, i32* %__minor.addr, align 4 + %0 = load i32, i32* %__minor.addr, align 4 + %and = and i32 %0, 255 + %1 = load i32, i32* %__major.addr, align 4 + %and1 = and i32 %1, 4095 + %shl = shl i32 %and1, 8 + %or = or i32 %and, %shl + %conv = zext i32 %or to i64 + %2 = load i32, i32* %__minor.addr, align 4 + %and2 = and i32 %2, -256 + %conv3 = zext i32 %and2 to i64 + %shl4 = shl i64 %conv3, 12 + %or5 = or i64 %conv, %shl4 + %3 = load i32, i32* %__major.addr, align 4 + %and6 = and i32 %3, -4096 + %conv7 = zext i32 %and6 to i64 + %shl8 = shl i64 %conv7, 32 + %or9 = or i64 %or5, %shl8 + ret i64 %or9 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i8* @canonicalize_file_name(i8* nonnull %name) #3 { +entry: + %retval = alloca i8*, align 8 + %name.addr = alloca i8*, align 8 + %resolved_name = alloca i8*, align 8 + store i8* %name, i8** %name.addr, align 8 + %call = call noalias i8* @malloc(i64 4096) #11 + store i8* %call, i8** %resolved_name, align 8 + %0 = load i8*, i8** %resolved_name, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %name.addr, align 8 + %2 = load i8*, i8** %resolved_name, align 8 + %call1 = call i8* @realpath(i8* %1, i8* %2) #11 + %tobool2 = icmp ne i8* %call1, null + %3 = load i8*, i8** %resolved_name, align 8 + br i1 %tobool2, label %if.end4, label %if.then3 + +if.then3: ; preds = %if.end + call void @free(i8* %3) #11 + store i8* null, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %if.end + store i8* %3, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %4 = load i8*, i8** %retval, align 8 + ret i8* %4 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @getloadavg(double* nonnull %loadavg, i32 %nelem) #3 { +entry: + %loadavg.addr = alloca double*, align 8 + %nelem.addr = alloca i32, align 4 + store double* %loadavg, double** %loadavg.addr, align 8 + store i32 %nelem, i32* %nelem.addr, align 4 + call void @gs_warning.163(i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.8.175, i64 0, i64 0)) + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @wait(i32* %status) #3 { +entry: + %status.addr = alloca i32*, align 8 + store i32* %status, i32** %status.addr, align 8 + call void @gs_warning.163(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.176, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @wait3(i32* %status, i32 %options, %struct.rusage* %rusage) #3 { +entry: + %status.addr = alloca i32*, align 8 + %options.addr = alloca i32, align 4 + %rusage.addr = alloca %struct.rusage*, align 8 + store i32* %status, i32** %status.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + store %struct.rusage* %rusage, %struct.rusage** %rusage.addr, align 8 + call void @gs_warning.163(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.176, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @wait4(i32 %pid, i32* %status, i32 %options, %struct.rusage* %rusage) #3 { +entry: + %pid.addr = alloca i32, align 4 + %status.addr = alloca i32*, align 8 + %options.addr = alloca i32, align 4 + %rusage.addr = alloca %struct.rusage*, align 8 + store i32 %pid, i32* %pid.addr, align 4 + store i32* %status, i32** %status.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + store %struct.rusage* %rusage, %struct.rusage** %rusage.addr, align 8 + call void @gs_warning.163(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.176, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @waitpid(i32 %pid, i32* %status, i32 %options) #3 { +entry: + %pid.addr = alloca i32, align 4 + %status.addr = alloca i32*, align 8 + %options.addr = alloca i32, align 4 + store i32 %pid, i32* %pid.addr, align 4 + store i32* %status, i32** %status.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + call void @gs_warning.163(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.176, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @waitid(i32 %idtype, i32 %id, %struct.siginfo_t* %infop, i32 %options) #3 { +entry: + %idtype.addr = alloca i32, align 4 + %id.addr = alloca i32, align 4 + %infop.addr = alloca %struct.siginfo_t*, align 8 + %options.addr = alloca i32, align 4 + store i32 %idtype, i32* %idtype.addr, align 4 + store i32 %id, i32* %id.addr, align 4 + store %struct.siginfo_t* %infop, %struct.siginfo_t** %infop.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + call void @gs_warning.163(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.176, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mount(i8* %source, i8* %target, i8* %filesystemtype, i64 %mountflags, i8* %data) #3 { +entry: + %source.addr = alloca i8*, align 8 + %target.addr = alloca i8*, align 8 + %filesystemtype.addr = alloca i8*, align 8 + %mountflags.addr = alloca i64, align 8 + %data.addr = alloca i8*, align 8 + store i8* %source, i8** %source.addr, align 8 + store i8* %target, i8** %target.addr, align 8 + store i8* %filesystemtype, i8** %filesystemtype.addr, align 8 + store i64 %mountflags, i64* %mountflags.addr, align 8 + store i8* %data, i8** %data.addr, align 8 + call void @gs_warning.163(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.169, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @umount(i8* %target) #3 { +entry: + %target.addr = alloca i8*, align 8 + store i8* %target, i8** %target.addr, align 8 + call void @gs_warning.163(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.169, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @umount2(i8* %target, i32 %flags) #3 { +entry: + %target.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + store i8* %target, i8** %target.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + call void @gs_warning.163(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.169, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @swapon(i8* %path, i32 %swapflags) #3 { +entry: + %path.addr = alloca i8*, align 8 + %swapflags.addr = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store i32 %swapflags, i32* %swapflags.addr, align 4 + call void @gs_warning.163(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.169, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @swapoff(i8* %path) #3 { +entry: + %path.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + call void @gs_warning.163(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.169, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setgid(i32 %gid) #3 { +entry: + %gid.addr = alloca i32, align 4 + store i32 %gid, i32* %gid.addr, align 4 + call void @gs_warning.163(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.10.177, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setgroups(i64 %size, i32* %list) #3 { +entry: + %size.addr = alloca i64, align 8 + %list.addr = alloca i32*, align 8 + store i64 %size, i64* %size.addr, align 8 + store i32* %list, i32** %list.addr, align 8 + call void @gs_warning.163(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.169, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @sethostname(i8* nonnull %name, i64 %len) #3 { +entry: + %name.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + store i8* %name, i8** %name.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + call void @gs_warning.163(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.169, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setpgid(i32 %pid, i32 %pgid) #3 { +entry: + %pid.addr = alloca i32, align 4 + %pgid.addr = alloca i32, align 4 + store i32 %pid, i32* %pid.addr, align 4 + store i32 %pgid, i32* %pgid.addr, align 4 + call void @gs_warning.163(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.169, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setpgrp() #3 { +entry: + call void @gs_warning.163(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.169, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setpriority(i32 %which, i32 %who, i32 %prio) #3 { +entry: + %which.addr = alloca i32, align 4 + %who.addr = alloca i32, align 4 + %prio.addr = alloca i32, align 4 + store i32 %which, i32* %which.addr, align 4 + store i32 %who, i32* %who.addr, align 4 + store i32 %prio, i32* %prio.addr, align 4 + call void @gs_warning.163(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.169, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setresgid(i32 %rgid, i32 %egid, i32 %sgid) #3 { +entry: + %rgid.addr = alloca i32, align 4 + %egid.addr = alloca i32, align 4 + %sgid.addr = alloca i32, align 4 + store i32 %rgid, i32* %rgid.addr, align 4 + store i32 %egid, i32* %egid.addr, align 4 + store i32 %sgid, i32* %sgid.addr, align 4 + call void @gs_warning.163(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.169, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setresuid(i32 %ruid, i32 %euid, i32 %suid) #3 { +entry: + %ruid.addr = alloca i32, align 4 + %euid.addr = alloca i32, align 4 + %suid.addr = alloca i32, align 4 + store i32 %ruid, i32* %ruid.addr, align 4 + store i32 %euid, i32* %euid.addr, align 4 + store i32 %suid, i32* %suid.addr, align 4 + call void @gs_warning.163(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.169, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setrlimit(i32 %resource, %struct.timespec* %rlim) #3 { +entry: + %resource.addr = alloca i32, align 4 + %rlim.addr = alloca %struct.timespec*, align 8 + store i32 %resource, i32* %resource.addr, align 4 + store %struct.timespec* %rlim, %struct.timespec** %rlim.addr, align 8 + call void @gs_warning.163(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.169, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setrlimit64(i32 %resource, %struct.timespec* %rlim) #3 { +entry: + %resource.addr = alloca i32, align 4 + %rlim.addr = alloca %struct.timespec*, align 8 + store i32 %resource, i32* %resource.addr, align 4 + store %struct.timespec* %rlim, %struct.timespec** %rlim.addr, align 8 + call void @gs_warning.163(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.169, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setsid() #3 { +entry: + call void @gs_warning.163(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.169, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @settimeofday(%struct.timespec* %tv, %struct.__mbstate_t.512* %tz) #3 { +entry: + %tv.addr = alloca %struct.timespec*, align 8 + %tz.addr = alloca %struct.__mbstate_t.512*, align 8 + store %struct.timespec* %tv, %struct.timespec** %tv.addr, align 8 + store %struct.__mbstate_t.512* %tz, %struct.__mbstate_t.512** %tz.addr, align 8 + call void @gs_warning.163(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.169, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setuid(i32 %uid) #3 { +entry: + %uid.addr = alloca i32, align 4 + store i32 %uid, i32* %uid.addr, align 4 + call void @gs_warning.163(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.10.177, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @reboot(i32 %flag) #3 { +entry: + %flag.addr = alloca i32, align 4 + store i32 %flag, i32* %flag.addr, align 4 + call void @gs_warning.163(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.169, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mlock(i8* %addr, i64 %len) #3 { +entry: + %addr.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + store i8* %addr, i8** %addr.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + call void @gs_warning.163(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.169, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @munlock(i8* %addr, i64 %len) #3 { +entry: + %addr.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + store i8* %addr, i8** %addr.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + call void @gs_warning.163(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.169, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @pause() #3 { +entry: + call void @gs_warning.163(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.169, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i64 @readahead(i32 %fd, i64* %offset, i64 %count) #3 { +entry: + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64*, align 8 + %count.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64* %offset, i64** %offset.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + call void @gs_warning.163(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.169, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i64 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i8* @mmap(i8* %start, i64 %length, i32 %prot, i32 %flags, i32 %fd, i64 %offset) #3 { +entry: + %start.addr = alloca i8*, align 8 + %length.addr = alloca i64, align 8 + %prot.addr = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + store i8* %start, i8** %start.addr, align 8 + store i64 %length, i64* %length.addr, align 8 + store i32 %prot, i32* %prot.addr, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + call void @gs_warning.163(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.169, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i8* inttoptr (i64 -1 to i8*) +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i8* @mmap64(i8* %start, i64 %length, i32 %prot, i32 %flags, i32 %fd, i64 %offset) #3 { +entry: + %start.addr = alloca i8*, align 8 + %length.addr = alloca i64, align 8 + %prot.addr = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + store i8* %start, i8** %start.addr, align 8 + store i64 %length, i64* %length.addr, align 8 + store i32 %prot, i32* %prot.addr, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + call void @gs_warning.163(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.169, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i8* inttoptr (i64 -1 to i8*) +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @munmap(i8* %start, i64 %length) #3 { +entry: + %start.addr = alloca i8*, align 8 + %length.addr = alloca i64, align 8 + store i8* %start, i8** %start.addr, align 8 + store i64 %length, i64* %length.addr, align 8 + call void @gs_warning.163(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.169, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__locale_mbrtowc_l(i32* noalias %dst, i8* noalias %src, %struct.__uclibc_locale_struct.201* %loc) #0 { +entry: + %retval = alloca i32, align 4 + %dst.addr = alloca i32*, align 8 + %src.addr = alloca i8*, align 8 + %loc.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %ps = alloca %struct.__mbstate_t.512, align 4 + %p = alloca i8*, align 8 + %r = alloca i64, align 8 + %wc = alloca i32, align 4 + store i32* %dst, i32** %dst.addr, align 8 + store i8* %src, i8** %src.addr, align 8 + store %struct.__uclibc_locale_struct.201* %loc, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 9 + %1 = load i8, i8* %encoding, align 8 + %conv = zext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 1 + %2 = load i8*, i8** %src.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i8* %2, i8** %p, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %ps, i32 0, i32 0 + store i32 0, i32* %__mask, align 4 + %3 = load i32*, i32** %dst.addr, align 8 + %call = call i64 @_wchar_utf8sntowcs(i32* %3, i64 1, i8** %p, i64 -1, %struct.__mbstate_t.512* %ps, i32 1) #18 + store i64 %call, i64* %r, align 8 + %4 = load i64, i64* %r, align 8 + %cmp2 = icmp eq i64 %4, 1 + %5 = load i8*, i8** %p, align 8 + %6 = load i8*, i8** %src.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %6 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %7 = load i64, i64* %r, align 8 + %cond = select i1 %cmp2, i64 %sub.ptr.sub, i64 %7 + %conv4 = trunc i64 %cond to i32 + store i32 %conv4, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load i8, i8* %2, align 1 + %conv5 = zext i8 %8 to i32 + %9 = load i32*, i32** %dst.addr, align 8 + store i32 %conv5, i32* %9, align 4 + %cmp6 = icmp slt i32 %conv5, 128 + br i1 %cmp6, label %if.then8, label %if.end12 + +if.then8: ; preds = %if.end + %10 = load i8*, i8** %src.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv9 = sext i8 %11 to i32 + %cmp10 = icmp ne i32 %conv9, 0 + %conv11 = zext i1 %cmp10 to i32 + store i32 %conv11, i32* %retval, align 4 + br label %return + +if.end12: ; preds = %if.end + %12 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %encoding13 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %12, i32 0, i32 9 + %13 = load i8, i8* %encoding13, align 8 + %conv14 = zext i8 %13 to i32 + %cmp15 = icmp eq i32 %conv14, 2 + br i1 %cmp15, label %if.then17, label %if.end24 + +if.then17: ; preds = %if.end12 + %14 = load i32*, i32** %dst.addr, align 8 + %15 = load i32, i32* %14, align 4 + %sub = sub nsw i32 %15, 128 + store i32 %sub, i32* %wc, align 4 + %16 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %tbl8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %16, i32 0, i32 17 + %17 = load i16*, i16** %tbl8c2wc, align 8 + %18 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %idx8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %18, i32 0, i32 16 + %19 = load i8*, i8** %idx8c2wc, align 8 + %20 = load i32, i32* %wc, align 4 + %shr = ashr i32 %20, 3 + %idxprom = sext i32 %shr to i64 + %arrayidx = getelementptr inbounds i8, i8* %19, i64 %idxprom + %21 = load i8, i8* %arrayidx, align 1 + %conv18 = zext i8 %21 to i32 + %shl = shl i32 %conv18, 3 + %22 = load i32, i32* %wc, align 4 + %and = and i32 %22, 7 + %add = add nsw i32 %shl, %and + %idxprom19 = sext i32 %add to i64 + %arrayidx20 = getelementptr inbounds i16, i16* %17, i64 %idxprom19 + %23 = load i16, i16* %arrayidx20, align 2 + %conv21 = zext i16 %23 to i32 + %24 = load i32*, i32** %dst.addr, align 8 + store i32 %conv21, i32* %24, align 4 + %25 = load i32*, i32** %dst.addr, align 8 + %26 = load i32, i32* %25, align 4 + %tobool = icmp ne i32 %26, 0 + br i1 %tobool, label %if.then22, label %if.end24 + +if.then22: ; preds = %if.then17 + store i32 1, i32* %retval, align 4 + br label %return + +if.end24: ; preds = %if.then17, %if.end12 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end24, %if.then22, %if.then8, %if.then + %27 = load i32, i32* %retval, align 4 + ret i32 %27 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__raise(i32 %signo) #0 { +entry: + %signo.addr = alloca i32, align 4 + store i32 %signo, i32* %signo.addr, align 4 + %call = call i32 @getpid() #19 + %0 = load i32, i32* %signo.addr, align 4 + %call1 = call i32 @kill(i32 %call, i32 %0) #19 + ret i32 %call1 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__libc_sigaction(i32 %sig, %struct.sigaction.800* %act, %struct.sigaction.800* %oact) #0 { +entry: + %sig.addr = alloca i32, align 4 + %act.addr = alloca %struct.sigaction.800*, align 8 + %oact.addr = alloca %struct.sigaction.800*, align 8 + %result = alloca i32, align 4 + %kact = alloca %struct.kernel_sigaction, align 8 + %koact = alloca %struct.kernel_sigaction, align 8 + store i32 %sig, i32* %sig.addr, align 4 + store %struct.sigaction.800* %act, %struct.sigaction.800** %act.addr, align 8 + store %struct.sigaction.800* %oact, %struct.sigaction.800** %oact.addr, align 8 + %0 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %tobool = icmp ne %struct.sigaction.800* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %__sigaction_handler = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %1, i32 0, i32 0 + %sa_handler = bitcast %union.anon.799* %__sigaction_handler to void (i32)** + %2 = load void (i32)*, void (i32)** %sa_handler, align 8 + %k_sa_handler = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 0 + store void (i32)* %2, void (i32)** %k_sa_handler, align 8 + %sa_mask = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 3 + %3 = bitcast %struct.fd_set* %sa_mask to i8* + %4 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %sa_mask1 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %4, i32 0, i32 1 + %5 = bitcast %struct.fd_set* %sa_mask1 to i8* + %call = call i8* @memcpy(i8* %3, i8* %5, i64 128) #19 + %6 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %sa_flags = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %6, i32 0, i32 2 + %7 = load i32, i32* %sa_flags, align 8 + %conv = sext i32 %7 to i64 + %sa_flags2 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 1 + store i64 %conv, i64* %sa_flags2, align 8 + %8 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %sa_restorer = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %8, i32 0, i32 3 + %9 = load void ()*, void ()** %sa_restorer, align 8 + %sa_restorer3 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 2 + store void ()* %9, void ()** %sa_restorer3, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %10 = load i32, i32* %sig.addr, align 4 + %11 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %tobool4 = icmp ne %struct.sigaction.800* %11, null + %kact. = select i1 %tobool4, %struct.kernel_sigaction* %kact, %struct.kernel_sigaction* null + %12 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %tobool5 = icmp ne %struct.sigaction.800* %12, null + %cond9 = select i1 %tobool5, %struct.kernel_sigaction* %koact, %struct.kernel_sigaction* null + %call10 = call i32 bitcast (i32 (i32, %struct.sigaction.800*, %struct.sigaction.800*, i64)* @__syscall_rt_sigaction to i32 (i32, %struct.kernel_sigaction*, %struct.kernel_sigaction*, i64)*)(i32 %10, %struct.kernel_sigaction* %kact., %struct.kernel_sigaction* %cond9, i64 8) #18 + store i32 %call10, i32* %result, align 4 + %13 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %tobool11 = icmp ne %struct.sigaction.800* %13, null + %14 = load i32, i32* %result, align 4 + %cmp = icmp sge i32 %14, 0 + %or.cond = and i1 %tobool11, %cmp + br i1 %or.cond, label %if.then13, label %if.end25 + +if.then13: ; preds = %if.end + %k_sa_handler14 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 0 + %15 = load void (i32)*, void (i32)** %k_sa_handler14, align 8 + %16 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %__sigaction_handler15 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %16, i32 0, i32 0 + %sa_handler16 = bitcast %union.anon.799* %__sigaction_handler15 to void (i32)** + store void (i32)* %15, void (i32)** %sa_handler16, align 8 + %17 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %sa_mask17 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %17, i32 0, i32 1 + %18 = bitcast %struct.fd_set* %sa_mask17 to i8* + %sa_mask18 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 3 + %19 = bitcast %struct.fd_set* %sa_mask18 to i8* + %call19 = call i8* @memcpy(i8* %18, i8* %19, i64 128) #19 + %sa_flags20 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 1 + %20 = load i64, i64* %sa_flags20, align 8 + %conv21 = trunc i64 %20 to i32 + %21 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %sa_flags22 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %21, i32 0, i32 2 + store i32 %conv21, i32* %sa_flags22, align 8 + %sa_restorer23 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 2 + %22 = load void ()*, void ()** %sa_restorer23, align 8 + %23 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %sa_restorer24 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %23, i32 0, i32 3 + store void ()* %22, void ()** %sa_restorer24, align 8 + br label %if.end25 + +if.end25: ; preds = %if.then13, %if.end + %24 = load i32, i32* %result, align 4 + ret i32 %24 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__sigismember(%struct.fd_set* %__set, i32 %__sig) #0 { +entry: + %__set.addr = alloca %struct.fd_set*, align 8 + %__sig.addr = alloca i32, align 4 + %__mask = alloca i64, align 8 + %__word = alloca i64, align 8 + store %struct.fd_set* %__set, %struct.fd_set** %__set.addr, align 8 + store i32 %__sig, i32* %__sig.addr, align 4 + %0 = load i32, i32* %__sig.addr, align 4 + %sub = sub nsw i32 %0, 1 + %conv = sext i32 %sub to i64 + %rem = urem i64 %conv, 64 + %shl = shl i64 1, %rem + store i64 %shl, i64* %__mask, align 8 + %1 = load i32, i32* %__sig.addr, align 4 + %sub1 = sub nsw i32 %1, 1 + %conv2 = sext i32 %sub1 to i64 + %div = udiv i64 %conv2, 64 + store i64 %div, i64* %__word, align 8 + %2 = load %struct.fd_set*, %struct.fd_set** %__set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %2, i32 0, i32 0 + %3 = load i64, i64* %__word, align 8 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 %3 + %4 = load i64, i64* %arrayidx, align 8 + %5 = load i64, i64* %__mask, align 8 + %and = and i64 %4, %5 + %tobool = icmp ne i64 %and, 0 + %6 = zext i1 %tobool to i64 + %cond = select i1 %tobool, i32 1, i32 0 + ret i32 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__sigaddset(%struct.fd_set* %__set, i32 %__sig) #0 { +entry: + %__set.addr = alloca %struct.fd_set*, align 8 + %__sig.addr = alloca i32, align 4 + %__mask = alloca i64, align 8 + %__word = alloca i64, align 8 + store %struct.fd_set* %__set, %struct.fd_set** %__set.addr, align 8 + store i32 %__sig, i32* %__sig.addr, align 4 + %0 = load i32, i32* %__sig.addr, align 4 + %sub = sub nsw i32 %0, 1 + %conv = sext i32 %sub to i64 + %rem = urem i64 %conv, 64 + %shl = shl i64 1, %rem + store i64 %shl, i64* %__mask, align 8 + %1 = load i32, i32* %__sig.addr, align 4 + %sub1 = sub nsw i32 %1, 1 + %conv2 = sext i32 %sub1 to i64 + %div = udiv i64 %conv2, 64 + store i64 %div, i64* %__word, align 8 + %2 = load i64, i64* %__mask, align 8 + %3 = load %struct.fd_set*, %struct.fd_set** %__set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %3, i32 0, i32 0 + %4 = load i64, i64* %__word, align 8 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 %4 + %5 = load i64, i64* %arrayidx, align 8 + %or = or i64 %5, %2 + store i64 %or, i64* %arrayidx, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__sigdelset(%struct.fd_set* %__set, i32 %__sig) #0 { +entry: + %__set.addr = alloca %struct.fd_set*, align 8 + %__sig.addr = alloca i32, align 4 + %__mask = alloca i64, align 8 + %__word = alloca i64, align 8 + store %struct.fd_set* %__set, %struct.fd_set** %__set.addr, align 8 + store i32 %__sig, i32* %__sig.addr, align 4 + %0 = load i32, i32* %__sig.addr, align 4 + %sub = sub nsw i32 %0, 1 + %conv = sext i32 %sub to i64 + %rem = urem i64 %conv, 64 + %shl = shl i64 1, %rem + store i64 %shl, i64* %__mask, align 8 + %1 = load i32, i32* %__sig.addr, align 4 + %sub1 = sub nsw i32 %1, 1 + %conv2 = sext i32 %sub1 to i64 + %div = udiv i64 %conv2, 64 + store i64 %div, i64* %__word, align 8 + %2 = load i64, i64* %__mask, align 8 + %neg = xor i64 %2, -1 + %3 = load %struct.fd_set*, %struct.fd_set** %__set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %3, i32 0, i32 0 + %4 = load i64, i64* %__word, align 8 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 %4 + %5 = load i64, i64* %arrayidx, align 8 + %and = and i64 %5, %neg + store i64 %and, i64* %arrayidx, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %bufsize = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 5 + %1 = load i8*, i8** %__bufpos, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 3 + %3 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %1 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %3 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %bufsize, align 8 + %cmp = icmp ne i64 %sub.ptr.sub, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 3 + %5 = load i8*, i8** %__bufstart1, align 8 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 5 + store i8* %5, i8** %__bufpos2, align 8 + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart3 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 3 + %9 = load i8*, i8** %__bufstart3, align 8 + %10 = load i64, i64* %bufsize, align 8 + %call = call i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %7, i8* %9, i64 %10) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos4 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 5 + %12 = load i8*, i8** %__bufpos4, align 8 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart5 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 3 + %14 = load i8*, i8** %__bufstart5, align 8 + %sub.ptr.lhs.cast6 = ptrtoint i8* %12 to i64 + %sub.ptr.rhs.cast7 = ptrtoint i8* %14 to i64 + %sub.ptr.sub8 = sub i64 %sub.ptr.lhs.cast6, %sub.ptr.rhs.cast7 + ret i64 %sub.ptr.sub8 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__fgetc_unlocked(%struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %uc = alloca i8, align 1 + %uc56 = alloca i8, align 1 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 5 + %1 = load i8*, i8** %__bufpos, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 7 + %3 = load i8*, i8** %__bufgetc_u, align 8 + %cmp = icmp ult i8* %1, %3 + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 5 + %5 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + %6 = load i8, i8* %5, align 1 + %conv = zext i8 %6 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 0 + %7 = load i16, i16* %__modeflags, align 8 + %conv2 = zext i16 %7 to i32 + %and = and i32 %conv2, 131 + %cmp3 = icmp ugt i32 %and, 128 + br i1 %cmp3, label %if.then5, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2r_o(%struct.__STDIO_FILE_STRUCT.568* %8, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end63, label %if.then5 + +if.then5: ; preds = %lor.lhs.false, %if.end + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %9, i32 0, i32 0 + %10 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %10 to i32 + %and8 = and i32 %conv7, 2 + %tobool9 = icmp ne i32 %and8, 0 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %tobool9, label %if.then10, label %if.end18 + +if.then10: ; preds = %if.then5 + %__ungot = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 10 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags11 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags11, align 8 + %dec = add i16 %13, -1 + store i16 %dec, i16* %__modeflags11, align 8 + %conv12 = zext i16 %13 to i32 + %and13 = and i32 %conv12, 1 + %idxprom = sext i32 %and13 to i64 + %arrayidx = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot, i64 0, i64 %idxprom + %14 = load i32, i32* %arrayidx, align 4 + %conv14 = trunc i32 %14 to i8 + store i8 %conv14, i8* %uc, align 1 + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__ungot15 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 10 + %arrayidx16 = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot15, i64 0, i64 1 + store i32 0, i32* %arrayidx16, align 4 + %16 = load i8, i8* %uc, align 1 + %conv17 = zext i8 %16 to i32 + store i32 %conv17, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %if.then5 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 6 + %17 = load i8*, i8** %__bufread, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos19 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 5 + %19 = load i8*, i8** %__bufpos19, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %17 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool20 = icmp ne i64 %sub.ptr.sub, 0 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %tobool20, label %if.then21, label %if.end25 + +if.then21: ; preds = %if.end18 + %__bufpos22 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 5 + %21 = load i8*, i8** %__bufpos22, align 8 + %incdec.ptr23 = getelementptr inbounds i8, i8* %21, i32 1 + store i8* %incdec.ptr23, i8** %__bufpos22, align 8 + %22 = load i8, i8* %21, align 1 + %conv24 = zext i8 %22 to i32 + store i32 %conv24, i32* %retval, align 4 + br label %return + +if.end25: ; preds = %if.end18 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 2 + %23 = load i32, i32* %__filedes, align 4 + %cmp26 = icmp eq i32 %23, -2 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags29 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 0 + %25 = load i16, i16* %__modeflags29, align 8 + %conv30 = zext i16 %25 to i32 + br i1 %cmp26, label %if.then28, label %if.end32 + +if.then28: ; preds = %if.end25 + %or = or i32 %conv30, 4 + %conv31 = trunc i32 %or to i16 + store i16 %conv31, i16* %__modeflags29, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end32: ; preds = %if.end25 + %and35 = and i32 %conv30, 768 + %tobool36 = icmp ne i32 %and35, 0 + br i1 %tobool36, label %if.then37, label %if.end39 + +if.then37: ; preds = %if.end32 + %call38 = call i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.568* bitcast (%struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist to %struct.__STDIO_FILE_STRUCT.568*)) #18 + br label %if.end39 + +if.end39: ; preds = %if.then37, %if.end32 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 4 + %27 = load i8*, i8** %__bufend, align 8 + %28 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %28, i32 0, i32 3 + %29 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast40 = ptrtoint i8* %27 to i64 + %sub.ptr.rhs.cast41 = ptrtoint i8* %29 to i64 + %sub.ptr.sub42 = sub i64 %sub.ptr.lhs.cast40, %sub.ptr.rhs.cast41 + %tobool43 = icmp ne i64 %sub.ptr.sub42, 0 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %tobool43, label %if.then44, label %if.else + +if.then44: ; preds = %if.end39 + %__bufstart45 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %30, i32 0, i32 3 + %31 = load i8*, i8** %__bufstart45, align 8 + %32 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u46 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %32, i32 0, i32 7 + store i8* %31, i8** %__bufgetc_u46, align 8 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call47 = call i64 @__stdio_rfill(%struct.__STDIO_FILE_STRUCT.568* %33) #18 + %tobool48 = icmp ne i64 %call47, 0 + br i1 %tobool48, label %if.then49, label %if.end63 + +if.then49: ; preds = %if.then44 + %34 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread50 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %34, i32 0, i32 6 + %35 = load i8*, i8** %__bufread50, align 8 + %36 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u51 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %36, i32 0, i32 7 + store i8* %35, i8** %__bufgetc_u51, align 8 + %37 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos52 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %37, i32 0, i32 5 + %38 = load i8*, i8** %__bufpos52, align 8 + %incdec.ptr53 = getelementptr inbounds i8, i8* %38, i32 1 + store i8* %incdec.ptr53, i8** %__bufpos52, align 8 + %39 = load i8, i8* %38, align 1 + %conv54 = zext i8 %39 to i32 + store i32 %conv54, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.end39 + %call57 = call i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.568* %30, i8* %uc56, i64 1) #18 + %tobool58 = icmp ne i64 %call57, 0 + br i1 %tobool58, label %if.then59, label %if.end63 + +if.then59: ; preds = %if.else + %40 = load i8, i8* %uc56, align 1 + %conv60 = zext i8 %40 to i32 + store i32 %conv60, i32* %retval, align 4 + br label %return + +if.end63: ; preds = %if.then44, %if.else, %lor.lhs.false + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end63, %if.then59, %if.then49, %if.then28, %if.then21, %if.then10, %if.then + %41 = load i32, i32* %retval, align 4 + ret i32 %41 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @sprintf(i8* noalias %buf, i8* noalias %format, ...) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %format.addr = alloca i8*, align 8 + %arg = alloca [1 x %struct.__va_list_tag.0], align 16 + %rv = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load i8*, i8** %buf.addr, align 8 + %1 = load i8*, i8** %format.addr, align 8 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %call = call i32 @vsnprintf(i8* %0, i64 -1, i8* %1, %struct.__va_list_tag.0* %arraydecay2) #19 + store i32 %call, i32* %rv, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + %2 = load i32, i32* %rv, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @strcmp(i8* nonnull %s1, i8* nonnull %s2) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %r = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + br label %while.cond + +while.cond: ; preds = %land.rhs, %entry + %0 = load i8*, i8** %s1.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = zext i8 %1 to i32 + %2 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %2, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %3 = load i8, i8* %2, align 1 + %conv1 = zext i8 %3 to i32 + %sub = sub nsw i32 %conv, %conv1 + store i32 %sub, i32* %r, align 4 + %cmp = icmp eq i32 %sub, 0 + br i1 %cmp, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %4 = load i8*, i8** %s1.addr, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr3, i8** %s1.addr, align 8 + %5 = load i8, i8* %4, align 1 + %conv4 = sext i8 %5 to i32 + %tobool = icmp ne i32 %conv4, 0 + br i1 %tobool, label %while.cond, label %while.end + +while.end: ; preds = %while.cond, %land.rhs + %6 = load i32, i32* %r, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i64 @strlen(i8* nonnull %s) #14 { +entry: + %s.addr = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load i8*, i8** %p, align 8 + %2 = load i8, i8* %1, align 1 + %tobool = icmp ne i8 %2, 0 + %3 = load i8*, i8** %p, align 8 + br i1 %tobool, label %for.inc, label %for.end + +for.inc: ; preds = %for.cond + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %4 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %3 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %4 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @strncmp(i8* nonnull %s1, i8* nonnull %s2, i64 %n) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i32 0, i32* %r, align 4 + br label %while.cond + +while.cond: ; preds = %land.rhs, %entry + %0 = load i64, i64* %n.addr, align 8 + %dec = add i64 %0, -1 + store i64 %dec, i64* %n.addr, align 8 + %tobool = icmp ne i64 %0, 0 + br i1 %tobool, label %land.lhs.true, label %while.end + +land.lhs.true: ; preds = %while.cond + %1 = load i8*, i8** %s1.addr, align 8 + %2 = load i8, i8* %1, align 1 + %conv = zext i8 %2 to i32 + %3 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %4 = load i8, i8* %3, align 1 + %conv1 = zext i8 %4 to i32 + %sub = sub nsw i32 %conv, %conv1 + store i32 %sub, i32* %r, align 4 + %cmp = icmp eq i32 %sub, 0 + br i1 %cmp, label %land.rhs, label %while.end + +land.rhs: ; preds = %land.lhs.true + %5 = load i8*, i8** %s1.addr, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr3, i8** %s1.addr, align 8 + %6 = load i8, i8* %5, align 1 + %conv4 = sext i8 %6 to i32 + %tobool5 = icmp ne i32 %conv4, 0 + br i1 %tobool5, label %while.cond, label %while.end + +while.end: ; preds = %while.cond, %land.lhs.true, %land.rhs + %7 = load i32, i32* %r, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @isatty(i32 %fd) #0 { +entry: + %fd.addr = alloca i32, align 4 + %term = alloca %struct.termios, align 4 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 @tcgetattr(i32 %0, %struct.termios* %term) #19 + %cmp = icmp eq i32 %call, 0 + %conv = zext i1 %cmp to i32 + ret i32 %conv +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @open64(i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i8*, i8** %pathname.addr, align 8 + %8 = load i32, i32* %flags.addr, align 4 + %9 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_open(i8* %7, i32 %8, i32 %9) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @openat64(i32 %fd, i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %fd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i32, i32* %fd.addr, align 4 + %8 = load i8*, i8** %pathname.addr, align 8 + %9 = load i32, i32* %flags.addr, align 4 + %10 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_openat(i32 %7, i8* %8, i32 %9, i32 %10) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @lseek64(i32 %fd, i64 %offset, i32 %whence) #3 { +entry: + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %offset.addr, align 8 + %2 = load i32, i32* %whence.addr, align 4 + %call = call i64 @__fd_lseek(i32 %0, i64 %1, i32 %2) + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__xstat64(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @stat64(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__lxstat64(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @lstat64(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fxstat64(i32 %vers, i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %vers, i32* %vers.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstat64(i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @ftruncate64(i32 %fd, i64 %length) #3 { +entry: + %fd.addr = alloca i32, align 4 + %length.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %length, i64* %length.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %length.addr, align 8 + %call = call i32 @__fd_ftruncate(i32 %0, i64 %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @statfs64(i8* nonnull %path, %struct.statfs* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.statfs*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.statfs* %buf, %struct.statfs** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.statfs*, %struct.statfs** %buf.addr, align 8 + %call = call i32 @__fd_statfs(i8* %0, %struct.statfs* %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @getdents64(i32 %fd, i8* nonnull %dirp, i64 %count) #3 { +entry: + %fd.addr = alloca i32, align 4 + %dirp.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %dirp, i8** %dirp.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i8*, i8** %dirp.addr, align 8 + %2 = bitcast i8* %1 to %struct.dirent64* + %3 = load i64, i64* %count.addr, align 8 + %conv = trunc i64 %3 to i32 + %call = call i32 @__fd_getdents(i32 %0, %struct.dirent64* %2, i32 %conv) + %conv1 = sext i32 %call to i64 + ret i64 %conv1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @kill(i32 %pid, i32 %sig) #3 { +entry: + %pid.addr = alloca i32, align 4 + %sig.addr = alloca i32, align 4 + store i32 %pid, i32* %pid.addr, align 4 + store i32 %sig, i32* %sig.addr, align 4 + call void @gs_warning.219(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.218, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @gs_warning.219(i8* %message) #3 { +entry: + %message.addr = alloca i8*, align 8 + store i8* %message, i8** %message.addr, align 8 + %0 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %0) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.7.220, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind returns_twice uwtable +define weak dso_local i32 @_setjmp(%struct.__jmp_buf_tag* %__env) #16 { +entry: + %__env.addr = alloca %struct.__jmp_buf_tag*, align 8 + store %struct.__jmp_buf_tag* %__env, %struct.__jmp_buf_tag** %__env.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1.221, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline noreturn nounwind uwtable +define dso_local void @longjmp(%struct.__jmp_buf_tag* %env, i32 %val) #6 { +entry: + %env.addr = alloca %struct.__jmp_buf_tag*, align 8 + %val.addr = alloca i32, align 4 + store %struct.__jmp_buf_tag* %env, %struct.__jmp_buf_tag** %env.addr, align 8 + store i32 %val, i32* %val.addr, align 4 + call void @gs_report_error.225(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.2.222, i64 0, i64 0), i32 37, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.3.223, i64 0, i64 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.4.224, i64 0, i64 0)) #24 + unreachable +} + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error.225(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.7.220, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execl(i8* nonnull %path, i8* nonnull %arg, ...) #3 { +entry: + %path.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + call void @gs_warning.219(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.226, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execlp(i8* nonnull %file, i8* nonnull %arg, ...) #3 { +entry: + %file.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + call void @gs_warning.219(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.226, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execle(i8* nonnull %path, i8* nonnull %arg, ...) #3 { +entry: + %path.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + call void @gs_warning.219(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.226, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execv(i8* nonnull %path, i8** nonnull %argv) #3 { +entry: + %path.addr = alloca i8*, align 8 + %argv.addr = alloca i8**, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + call void @gs_warning.219(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.226, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execvp(i8* nonnull %file, i8** nonnull %argv) #3 { +entry: + %file.addr = alloca i8*, align 8 + %argv.addr = alloca i8**, align 8 + store i8* %file, i8** %file.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + call void @gs_warning.219(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.226, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execve(i8* nonnull %file, i8** nonnull %argv, i8** %envp) #3 { +entry: + %file.addr = alloca i8*, align 8 + %argv.addr = alloca i8**, align 8 + %envp.addr = alloca i8**, align 8 + store i8* %file, i8** %file.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + store i8** %envp, i8*** %envp.addr, align 8 + call void @gs_warning.219(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.226, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fork() #3 { +entry: + call void @gs_warning.219(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.6.227, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 12, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind returns_twice uwtable +define dso_local i32 @vfork() #16 { +entry: + %call = call i32 @fork() #11 + ret i32 %call +} + +; Function Attrs: noinline nounwind readnone uwtable +define i16** @__ctype_b_loc() #12 { +entry: + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 0 + ret i16** %__ctype_b +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @__error(i32 %status, i32 %errnum, i8* %message, ...) #0 { +entry: + %status.addr = alloca i32, align 4 + %errnum.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %args = alloca [1 x %struct.__va_list_tag.0], align 16 + %__S = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %tmp = alloca i32, align 4 + store i32 %status, i32* %status.addr, align 4 + store i32 %errnum, i32* %errnum.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdout, align 8 + %call = call i32 @fflush(%struct.__STDIO_FILE_STRUCT.568* %0) #18 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %2 = load i8*, i8** %message.addr, align 8 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %call3 = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %1, i8* %2, %struct.__va_list_tag.0* %arraydecay2) #18 + %arraydecay4 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay45 = bitcast %struct.__va_list_tag.0* %arraydecay4 to i8* + call void @llvm.va_end(i8* %arraydecay45) + %3 = load i32, i32* @error_message_count, align 4 + %inc = add i32 %3, 1 + store i32 %inc, i32* @error_message_count, align 4 + %4 = load i32, i32* %errnum.addr, align 4 + %tobool = icmp ne i32 %4, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %6 = load i32, i32* %errnum.addr, align 4 + %call6 = call i8* @strerror(i32 %6) #19 + %call7 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %5, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.230, i64 0, i64 0), i8* %call6) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %7, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 5 + %9 = load i8*, i8** %__bufpos, align 8 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 8 + %11 = load i8*, i8** %__bufputc_u, align 8 + %cmp = icmp ult i8* %9, %11 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %if.end + %__bufpos8 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 5 + %13 = load i8*, i8** %__bufpos8, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %13, i32 1 + store i8* %incdec.ptr, i8** %__bufpos8, align 8 + store i8 10, i8* %13, align 1 + br label %cond.end + +cond.false: ; preds = %if.end + %call9 = call i32 @__fputc_unlocked(i32 10, %struct.__STDIO_FILE_STRUCT.568* %12) #18 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ 10, %cond.true ], [ %call9, %cond.false ] + store i32 %cond, i32* %tmp, align 4 + %14 = load i32, i32* %tmp, align 4 + %15 = load i32, i32* %status.addr, align 4 + %tobool10 = icmp ne i32 %15, 0 + br i1 %tobool10, label %if.then11, label %if.end12 + +if.then11: ; preds = %cond.end + %16 = load i32, i32* %status.addr, align 4 + call void @exit(i32 %16) #22 + unreachable + +if.end12: ; preds = %cond.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @__error_at_line(i32 %status, i32 %errnum, i8* %file_name, i32 %line_number, i8* %message, ...) #0 { +entry: + %status.addr = alloca i32, align 4 + %errnum.addr = alloca i32, align 4 + %file_name.addr = alloca i8*, align 8 + %line_number.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %args = alloca [1 x %struct.__va_list_tag.0], align 16 + %__S = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %tmp = alloca i32, align 4 + store i32 %status, i32* %status.addr, align 4 + store i32 %errnum, i32* %errnum.addr, align 4 + store i8* %file_name, i8** %file_name.addr, align 8 + store i32 %line_number, i32* %line_number.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + %0 = load i32, i32* @error_one_per_line, align 4 + %tobool = icmp ne i32 %0, 0 + br i1 %tobool, label %if.then, label %if.end4 + +if.then: ; preds = %entry + %1 = load i32, i32* @__error_at_line.old_line_number, align 4 + %2 = load i32, i32* %line_number.addr, align 4 + %cmp = icmp eq i32 %1, %2 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %if.then + %3 = load i8*, i8** %file_name.addr, align 8 + %4 = load i8*, i8** @__error_at_line.old_file_name, align 8 + %cmp1 = icmp eq i8* %3, %4 + br i1 %cmp1, label %if.end25, label %lor.lhs.false + +lor.lhs.false: ; preds = %land.lhs.true + %5 = load i8*, i8** @__error_at_line.old_file_name, align 8 + %6 = load i8*, i8** %file_name.addr, align 8 + %call = call i32 @strcmp(i8* %5, i8* %6) #20 + %tobool2 = icmp ne i32 %call, 0 + br i1 %tobool2, label %if.end, label %if.end25 + +if.end: ; preds = %lor.lhs.false, %if.then + %7 = load i8*, i8** %file_name.addr, align 8 + store i8* %7, i8** @__error_at_line.old_file_name, align 8 + %8 = load i32, i32* %line_number.addr, align 4 + store i32 %8, i32* @__error_at_line.old_line_number, align 4 + br label %if.end4 + +if.end4: ; preds = %if.end, %entry + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdout, align 8 + %call5 = call i32 @fflush(%struct.__STDIO_FILE_STRUCT.568* %9) #18 + %10 = load i8*, i8** %file_name.addr, align 8 + %cmp6 = icmp ne i8* %10, null + br i1 %cmp6, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end4 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %12 = load i8*, i8** %file_name.addr, align 8 + %13 = load i32, i32* %line_number.addr, align 4 + %call8 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %11, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1.231, i64 0, i64 0), i8* %12, i32 %13) #18 + br label %if.end9 + +if.end9: ; preds = %if.then7, %if.end4 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay10 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay10) + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %15 = load i8*, i8** %message.addr, align 8 + %arraydecay11 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %call12 = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %14, i8* %15, %struct.__va_list_tag.0* %arraydecay11) #18 + %arraydecay13 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay1314 = bitcast %struct.__va_list_tag.0* %arraydecay13 to i8* + call void @llvm.va_end(i8* %arraydecay1314) + %16 = load i32, i32* @error_message_count, align 4 + %inc = add i32 %16, 1 + store i32 %inc, i32* @error_message_count, align 4 + %17 = load i32, i32* %errnum.addr, align 4 + %tobool15 = icmp ne i32 %17, 0 + br i1 %tobool15, label %if.then16, label %if.end19 + +if.then16: ; preds = %if.end9 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %19 = load i32, i32* %errnum.addr, align 4 + %call17 = call i8* @strerror(i32 %19) #19 + %call18 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %18, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.230, i64 0, i64 0), i8* %call17) #18 + br label %if.end19 + +if.end19: ; preds = %if.then16, %if.end9 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %20, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %21 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %21, i32 0, i32 5 + %22 = load i8*, i8** %__bufpos, align 8 + %23 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %23, i32 0, i32 8 + %24 = load i8*, i8** %__bufputc_u, align 8 + %cmp20 = icmp ult i8* %22, %24 + %25 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + br i1 %cmp20, label %cond.true, label %cond.false + +cond.true: ; preds = %if.end19 + %__bufpos21 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %25, i32 0, i32 5 + %26 = load i8*, i8** %__bufpos21, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %26, i32 1 + store i8* %incdec.ptr, i8** %__bufpos21, align 8 + store i8 10, i8* %26, align 1 + br label %cond.end + +cond.false: ; preds = %if.end19 + %call22 = call i32 @__fputc_unlocked(i32 10, %struct.__STDIO_FILE_STRUCT.568* %25) #18 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ 10, %cond.true ], [ %call22, %cond.false ] + store i32 %cond, i32* %tmp, align 4 + %27 = load i32, i32* %tmp, align 4 + %28 = load i32, i32* %status.addr, align 4 + %tobool23 = icmp ne i32 %28, 0 + br i1 %tobool23, label %if.then24, label %if.end25 + +if.then24: ; preds = %cond.end + %29 = load i32, i32* %status.addr, align 4 + call void @exit(i32 %29) #22 + unreachable + +if.end25: ; preds = %land.lhs.true, %lor.lhs.false, %cond.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i8* @nl_langinfo(i32 %item) #0 { +entry: + %item.addr = alloca i32, align 4 + store i32 %item, i32* %item.addr, align 4 + %0 = load i32, i32* %item.addr, align 4 + %1 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %call = call i8* @nl_langinfo_l(i32 %0, %struct.__uclibc_locale_struct.201* %1) #18 + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define i8* @setlocale(i32 %category, i8* %locale) #0 { +entry: + %retval = alloca i8*, align 8 + %category.addr = alloca i32, align 4 + %locale.addr = alloca i8*, align 8 + store i32 %category, i32* %category.addr, align 4 + store i8* %locale, i8** %locale.addr, align 8 + %0 = load i32, i32* %category.addr, align 4 + %cmp = icmp ugt i32 %0, 6 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %locale.addr, align 8 + %cmp1 = icmp ne i8* %1, null + br i1 %cmp1, label %if.then2, label %if.end5 + +if.then2: ; preds = %if.end + %2 = load i32, i32* %category.addr, align 4 + %shl = shl i32 1, %2 + %3 = load i8*, i8** %locale.addr, align 8 + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__global_locale, align 8 + %call = call %struct.__uclibc_locale_struct.201* @newlocale(i32 %shl, i8* %3, %struct.__uclibc_locale_struct.201* %4) #19 + %tobool = icmp ne %struct.__uclibc_locale_struct.201* %call, null + br i1 %tobool, label %if.end4, label %if.then3 + +if.then3: ; preds = %if.then2 + store i8* null, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %if.then2 + %5 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__global_locale, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %5, i32 0, i32 6 + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + call void @update_hr_locale(i8* %arraydecay) #18 + br label %if.end5 + +if.end5: ; preds = %if.end4, %if.end + %6 = load i32, i32* %category.addr, align 4 + %mul = mul nsw i32 %6, 32 + %idx.ext = sext i32 %mul to i64 + %add.ptr = getelementptr inbounds i8, i8* getelementptr inbounds ([448 x i8], [448 x i8]* @hr_locale, i64 0, i64 0), i64 %idx.ext + store i8* %add.ptr, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %7 = load i8*, i8** %retval, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @update_hr_locale(i8* %spec) #0 { +entry: + %spec.addr = alloca i8*, align 8 + %loc = alloca i8*, align 8 + %s = alloca i8*, align 8 + %n = alloca i8*, align 8 + %i = alloca i32, align 4 + %category = alloca i32, align 4 + %done = alloca i32, align 4 + %at = alloca i8, align 1 + %q = alloca i8*, align 8 + store i8* %spec, i8** %spec.addr, align 8 + store i32 0, i32* %category, align 4 + store i32 0, i32* %done, align 4 + br label %do.body + +do.body: ; preds = %do.end127, %entry + %0 = load i8*, i8** %spec.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %0, i64 1 + store i8* %add.ptr, i8** %s, align 8 + %1 = load i32, i32* %category, align 4 + %mul = mul nsw i32 %1, 32 + %idx.ext = sext i32 %mul to i64 + %add.ptr1 = getelementptr inbounds i8, i8* getelementptr inbounds ([448 x i8], [448 x i8]* @hr_locale, i64 0, i64 0), i64 %idx.ext + store i8* %add.ptr1, i8** %n, align 8 + %2 = load i32, i32* %category, align 4 + %cmp = icmp eq i32 %2, 6 + br i1 %cmp, label %if.then, label %SKIP + +if.then: ; preds = %do.body + store i32 1, i32* %done, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.then + %3 = load i32, i32* %i, align 4 + %cmp2 = icmp slt i32 %3, 5 + br i1 %cmp2, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %4 = load i8*, i8** %s, align 8 + %5 = load i32, i32* %i, align 4 + %idxprom = sext i32 %5 to i64 + %arrayidx = getelementptr inbounds i8, i8* %4, i64 %idxprom + %6 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %6 to i32 + %7 = load i8*, i8** %s, align 8 + %8 = load i32, i32* %i, align 4 + %add = add nsw i32 %8, 2 + %idxprom3 = sext i32 %add to i64 + %arrayidx4 = getelementptr inbounds i8, i8* %7, i64 %idxprom3 + %9 = load i8, i8* %arrayidx4, align 1 + %conv5 = zext i8 %9 to i32 + %cmp6 = icmp ne i32 %conv, %conv5 + br i1 %cmp6, label %SKIP, label %lor.lhs.false + +lor.lhs.false: ; preds = %for.body + %10 = load i8*, i8** %s, align 8 + %11 = load i32, i32* %i, align 4 + %add8 = add nsw i32 %11, 1 + %idxprom9 = sext i32 %add8 to i64 + %arrayidx10 = getelementptr inbounds i8, i8* %10, i64 %idxprom9 + %12 = load i8, i8* %arrayidx10, align 1 + %conv11 = zext i8 %12 to i32 + %13 = load i8*, i8** %s, align 8 + %14 = load i32, i32* %i, align 4 + %add12 = add nsw i32 %14, 3 + %idxprom13 = sext i32 %add12 to i64 + %arrayidx14 = getelementptr inbounds i8, i8* %13, i64 %idxprom13 + %15 = load i8, i8* %arrayidx14, align 1 + %conv15 = zext i8 %15 to i32 + %cmp16 = icmp ne i32 %conv11, %conv15 + br i1 %cmp16, label %SKIP, label %for.inc + +for.inc: ; preds = %lor.lhs.false + %16 = load i32, i32* %i, align 4 + %add19 = add nsw i32 %16, 2 + store i32 %add19, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + store i32 0, i32* %category, align 4 + br label %SKIP + +SKIP: ; preds = %do.body, %for.end, %for.body, %lor.lhs.false + %17 = load i32, i32* %category, align 4 + %cmp21 = icmp eq i32 %17, 6 + %18 = load i32, i32* %category, align 4 + %cond = select i1 %cmp21, i32 0, i32 %18 + store i32 %cond, i32* %i, align 4 + %19 = load i32, i32* %i, align 4 + %mul23 = mul nsw i32 2, %19 + %20 = load i8*, i8** %s, align 8 + %idx.ext24 = sext i32 %mul23 to i64 + %add.ptr25 = getelementptr inbounds i8, i8* %20, i64 %idx.ext24 + store i8* %add.ptr25, i8** %s, align 8 + br label %do.body26 + +do.body26: ; preds = %if.end122, %SKIP + %21 = load i8*, i8** %s, align 8 + %22 = load i8, i8* %21, align 1 + %conv27 = zext i8 %22 to i32 + %cmp28 = icmp ne i32 %conv27, 255 + br i1 %cmp28, label %if.then35, label %lor.lhs.false30 + +lor.lhs.false30: ; preds = %do.body26 + %23 = load i8*, i8** %s, align 8 + %arrayidx31 = getelementptr inbounds i8, i8* %23, i64 1 + %24 = load i8, i8* %arrayidx31, align 1 + %conv32 = zext i8 %24 to i32 + %cmp33 = icmp ne i32 %conv32, 255 + br i1 %cmp33, label %if.then35, label %if.end122 + +if.then35: ; preds = %lor.lhs.false30, %do.body26 + %25 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %25, i32 0, i32 31 + %arraydecay = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales, i64 0, i64 0 + %26 = load i8*, i8** %s, align 8 + %27 = load i8, i8* %26, align 1 + %conv36 = zext i8 %27 to i32 + %and = and i32 %conv36, 127 + %shl = shl i32 %and, 7 + %28 = load i8*, i8** %s, align 8 + %arrayidx37 = getelementptr inbounds i8, i8* %28, i64 1 + %29 = load i8, i8* %arrayidx37, align 1 + %conv38 = zext i8 %29 to i32 + %and39 = and i32 %conv38, 127 + %add40 = add nsw i32 %shl, %and39 + %mul41 = mul nsw i32 9, %add40 + %idx.ext42 = sext i32 %mul41 to i64 + %add.ptr43 = getelementptr inbounds i8, i8* %arraydecay, i64 %idx.ext42 + store i8* %add.ptr43, i8** %loc, align 8 + %30 = load i32, i32* %category, align 4 + %cmp44 = icmp eq i32 %30, 6 + br i1 %cmp44, label %if.then46, label %if.end54 + +if.then46: ; preds = %if.then35 + %31 = load i8*, i8** %n, align 8 + %32 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %32, i32 0, i32 34 + %arraydecay47 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names, i64 0, i64 0 + %33 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names48 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %33, i32 0, i32 34 + %34 = load i32, i32* %i, align 4 + %idxprom49 = sext i32 %34 to i64 + %arrayidx50 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names48, i64 0, i64 %idxprom49 + %35 = load i8, i8* %arrayidx50, align 1 + %conv51 = zext i8 %35 to i32 + %idx.ext52 = sext i32 %conv51 to i64 + %add.ptr53 = getelementptr inbounds i8, i8* %arraydecay47, i64 %idx.ext52 + %call = call i8* @stpcpy(i8* %31, i8* %add.ptr53) #19 + store i8* %call, i8** %n, align 8 + %36 = load i8*, i8** %n, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %36, i32 1 + store i8* %incdec.ptr, i8** %n, align 8 + store i8 61, i8* %36, align 1 + br label %if.end54 + +if.end54: ; preds = %if.then46, %if.then35 + %37 = load i8*, i8** %loc, align 8 + %38 = load i8, i8* %37, align 1 + %conv55 = zext i8 %38 to i32 + %cmp56 = icmp eq i32 %conv55, 0 + br i1 %cmp56, label %if.then58, label %if.else + +if.then58: ; preds = %if.end54 + %39 = load i8*, i8** %n, align 8 + %incdec.ptr59 = getelementptr inbounds i8, i8* %39, i32 1 + store i8* %incdec.ptr59, i8** %n, align 8 + store i8 67, i8* %39, align 1 + %40 = load i8*, i8** %n, align 8 + store i8 0, i8* %40, align 1 + br label %if.end120 + +if.else: ; preds = %if.end54 + store i8 0, i8* %at, align 1 + %41 = load i8*, i8** %n, align 8 + %42 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_names5 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %42, i32 0, i32 32 + %arraydecay60 = getelementptr inbounds [835 x i8], [835 x i8]* %locale_names5, i64 0, i64 0 + %43 = load i8*, i8** %loc, align 8 + %44 = load i8, i8* %43, align 1 + %conv61 = zext i8 %44 to i32 + %sub = sub nsw i32 %conv61, 1 + %mul62 = mul nsw i32 5, %sub + %idx.ext63 = sext i32 %mul62 to i64 + %add.ptr64 = getelementptr inbounds i8, i8* %arraydecay60, i64 %idx.ext63 + %call65 = call i8* @memcpy(i8* %41, i8* %add.ptr64, i64 5) #19 + %45 = load i8*, i8** %n, align 8 + %arrayidx66 = getelementptr inbounds i8, i8* %45, i64 2 + %46 = load i8, i8* %arrayidx66, align 1 + %conv67 = sext i8 %46 to i32 + %cmp68 = icmp ne i32 %conv67, 95 + br i1 %cmp68, label %if.then70, label %if.end73 + +if.then70: ; preds = %if.else + %47 = load i8*, i8** %n, align 8 + %arrayidx71 = getelementptr inbounds i8, i8* %47, i64 2 + %48 = load i8, i8* %arrayidx71, align 1 + store i8 %48, i8* %at, align 1 + %49 = load i8*, i8** %n, align 8 + %arrayidx72 = getelementptr inbounds i8, i8* %49, i64 2 + store i8 95, i8* %arrayidx72, align 1 + br label %if.end73 + +if.end73: ; preds = %if.then70, %if.else + %50 = load i8*, i8** %n, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %50, i64 5 + store i8* %add.ptr74, i8** %n, align 8 + %51 = load i8*, i8** %n, align 8 + %incdec.ptr75 = getelementptr inbounds i8, i8* %51, i32 1 + store i8* %incdec.ptr75, i8** %n, align 8 + store i8 46, i8* %51, align 1 + %52 = load i8*, i8** %loc, align 8 + %arrayidx76 = getelementptr inbounds i8, i8* %52, i64 2 + %53 = load i8, i8* %arrayidx76, align 1 + %conv77 = zext i8 %53 to i32 + %cmp78 = icmp eq i32 %conv77, 2 + br i1 %cmp78, label %if.then80, label %if.else82 + +if.then80: ; preds = %if.end73 + %54 = load i8*, i8** %n, align 8 + %call81 = call i8* @stpcpy(i8* %54, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf8.238, i64 0, i64 0)) #19 + store i8* %call81, i8** %n, align 8 + br label %if.end100 + +if.else82: ; preds = %if.end73 + %55 = load i8*, i8** %loc, align 8 + %arrayidx83 = getelementptr inbounds i8, i8* %55, i64 2 + %56 = load i8, i8* %arrayidx83, align 1 + %conv84 = zext i8 %56 to i32 + %cmp85 = icmp sge i32 %conv84, 3 + br i1 %cmp85, label %if.then87, label %if.end100 + +if.then87: ; preds = %if.else82 + %57 = load i8*, i8** %n, align 8 + %58 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %58, i32 0, i32 35 + %arraydecay88 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list, i64 0, i64 0 + %59 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list89 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %59, i32 0, i32 35 + %60 = load i8*, i8** %loc, align 8 + %arrayidx90 = getelementptr inbounds i8, i8* %60, i64 2 + %61 = load i8, i8* %arrayidx90, align 1 + %conv91 = zext i8 %61 to i32 + %sub92 = sub nsw i32 %conv91, 3 + %idxprom93 = sext i32 %sub92 to i64 + %arrayidx94 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list89, i64 0, i64 %idxprom93 + %62 = load i8, i8* %arrayidx94, align 1 + %conv95 = zext i8 %62 to i32 + %idx.ext96 = sext i32 %conv95 to i64 + %add.ptr97 = getelementptr inbounds i8, i8* %arraydecay88, i64 %idx.ext96 + %call98 = call i8* @stpcpy(i8* %57, i8* %add.ptr97) #19 + store i8* %call98, i8** %n, align 8 + br label %if.end100 + +if.end100: ; preds = %if.else82, %if.then87, %if.then80 + %63 = load i8, i8* %at, align 1 + %tobool = icmp ne i8 %63, 0 + br i1 %tobool, label %if.then101, label %if.end120 + +if.then101: ; preds = %if.end100 + %64 = load i8*, i8** %n, align 8 + %incdec.ptr102 = getelementptr inbounds i8, i8* %64, i32 1 + store i8* %incdec.ptr102, i8** %n, align 8 + store i8 64, i8* %64, align 1 + %65 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_at_modifiers = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %65, i32 0, i32 33 + %arraydecay103 = getelementptr inbounds [18 x i8], [18 x i8]* %locale_at_modifiers, i64 0, i64 0 + store i8* %arraydecay103, i8** %q, align 8 + br label %do.body104 + +do.body104: ; preds = %if.end113, %if.then101 + %66 = load i8*, i8** %q, align 8 + %arrayidx105 = getelementptr inbounds i8, i8* %66, i64 1 + %67 = load i8, i8* %arrayidx105, align 1 + %conv106 = sext i8 %67 to i32 + %68 = load i8, i8* %at, align 1 + %conv107 = sext i8 %68 to i32 + %cmp108 = icmp eq i32 %conv106, %conv107 + br i1 %cmp108, label %if.then110, label %if.end113 + +if.then110: ; preds = %do.body104 + %69 = load i8*, i8** %n, align 8 + %70 = load i8*, i8** %q, align 8 + %add.ptr111 = getelementptr inbounds i8, i8* %70, i64 2 + %call112 = call i8* @stpcpy(i8* %69, i8* %add.ptr111) #19 + store i8* %call112, i8** %n, align 8 + br label %if.end120 + +if.end113: ; preds = %do.body104 + %71 = load i8*, i8** %q, align 8 + %72 = load i8, i8* %71, align 1 + %conv114 = sext i8 %72 to i32 + %add115 = add nsw i32 2, %conv114 + %73 = load i8*, i8** %q, align 8 + %idx.ext116 = sext i32 %add115 to i64 + %add.ptr117 = getelementptr inbounds i8, i8* %73, i64 %idx.ext116 + store i8* %add.ptr117, i8** %q, align 8 + %74 = load i8*, i8** %q, align 8 + %75 = load i8, i8* %74, align 1 + %tobool118 = icmp ne i8 %75, 0 + br i1 %tobool118, label %do.body104, label %if.end120 + +if.end120: ; preds = %if.end100, %if.end113, %if.then110, %if.then58 + %76 = load i8*, i8** %n, align 8 + %incdec.ptr121 = getelementptr inbounds i8, i8* %76, i32 1 + store i8* %incdec.ptr121, i8** %n, align 8 + store i8 59, i8* %76, align 1 + br label %if.end122 + +if.end122: ; preds = %if.end120, %lor.lhs.false30 + %77 = load i8*, i8** %s, align 8 + %add.ptr123 = getelementptr inbounds i8, i8* %77, i64 2 + store i8* %add.ptr123, i8** %s, align 8 + %78 = load i32, i32* %i, align 4 + %inc = add nsw i32 %78, 1 + store i32 %inc, i32* %i, align 4 + %79 = load i32, i32* %category, align 4 + %cmp125 = icmp slt i32 %inc, %79 + br i1 %cmp125, label %do.body26, label %do.end127 + +do.end127: ; preds = %if.end122 + %80 = load i8*, i8** %n, align 8 + %incdec.ptr128 = getelementptr inbounds i8, i8* %80, i32 -1 + store i8* %incdec.ptr128, i8** %n, align 8 + store i8 0, i8* %incdec.ptr128, align 1 + %81 = load i32, i32* %category, align 4 + %inc129 = add nsw i32 %81, 1 + store i32 %inc129, i32* %category, align 4 + %82 = load i32, i32* %done, align 4 + %tobool131 = icmp ne i32 %82, 0 + %lnot = xor i1 %tobool131, true + br i1 %lnot, label %do.body, label %do.end132 + +do.end132: ; preds = %do.end127 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define void @setutent() #0 { +entry: + call void @__setutent() #18 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__setutent() #0 { +entry: + %ret = alloca i32, align 4 + %0 = load i32, i32* @static_fd, align 4 + %cmp = icmp eq i32 %0, -1 + br i1 %cmp, label %if.then, label %if.end16 + +if.then: ; preds = %entry + %1 = load i8*, i8** @static_ut_name, align 8 + %call = call i32 (i8*, i32, ...) @open(i8* %1, i32 2) #18 + store i32 %call, i32* @static_fd, align 4 + %cmp1 = icmp slt i32 %call, 0 + br i1 %cmp1, label %if.then2, label %if.end6 + +if.then2: ; preds = %if.then + %2 = load i8*, i8** @static_ut_name, align 8 + %call3 = call i32 (i8*, i32, ...) @open(i8* %2, i32 0) #18 + store i32 %call3, i32* @static_fd, align 4 + %cmp4 = icmp slt i32 %call3, 0 + br i1 %cmp4, label %bummer, label %if.end6 + +if.end6: ; preds = %if.then2, %if.then + %3 = load i32, i32* @static_fd, align 4 + %call7 = call i32 (i32, i32, ...) @fcntl(i32 %3, i32 1, i32 0) #18 + store i32 %call7, i32* %ret, align 4 + %4 = load i32, i32* %ret, align 4 + %cmp8 = icmp sge i32 %4, 0 + br i1 %cmp8, label %if.then9, label %if.end11 + +if.then9: ; preds = %if.end6 + %5 = load i32, i32* @static_fd, align 4 + %6 = load i32, i32* %ret, align 4 + %or = or i32 %6, 1 + %call10 = call i32 (i32, i32, ...) @fcntl(i32 %5, i32 2, i32 %or) #18 + store i32 %call10, i32* %ret, align 4 + br label %if.end11 + +if.end11: ; preds = %if.then9, %if.end6 + %7 = load i32, i32* %ret, align 4 + %cmp12 = icmp slt i32 %7, 0 + br i1 %cmp12, label %bummer, label %if.end16 + +bummer: ; preds = %if.end11, %if.then2 + store i32 -1, i32* @static_fd, align 4 + %8 = load i32, i32* @static_fd, align 4 + %call14 = call i32 @close(i32 %8) #18 + br label %return + +if.end16: ; preds = %if.end11, %entry + %9 = load i32, i32* @static_fd, align 4 + %call17 = call i64 @lseek(i32 %9, i64 0, i32 0) #19 + br label %return + +return: ; preds = %if.end16, %bummer + ret void +} + +; Function Attrs: noinline nounwind uwtable +define void @endutent() #0 { +entry: + %0 = load i32, i32* @static_fd, align 4 + %cmp = icmp ne i32 %0, -1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load i32, i32* @static_fd, align 4 + %call = call i32 @close(i32 %1) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + store i32 -1, i32* @static_fd, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @getutent() #0 { +entry: + %ret = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* null, %struct.utmp.323** %ret, align 8 + %0 = load i32, i32* @static_fd, align 4 + %call = call %struct.utmp.323* @__getutent(i32 %0) #18 + store %struct.utmp.323* %call, %struct.utmp.323** %ret, align 8 + %1 = load %struct.utmp.323*, %struct.utmp.323** %ret, align 8 + ret %struct.utmp.323* %1 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.utmp.323* @__getutent(i32 %utmp_fd) #0 { +entry: + %retval = alloca %struct.utmp.323*, align 8 + %utmp_fd.addr = alloca i32, align 4 + %ret = alloca %struct.utmp.323*, align 8 + store i32 %utmp_fd, i32* %utmp_fd.addr, align 4 + store %struct.utmp.323* null, %struct.utmp.323** %ret, align 8 + %0 = load i32, i32* %utmp_fd.addr, align 4 + %cmp = icmp eq i32 %0, -1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @__setutent() #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i32, i32* %utmp_fd.addr, align 4 + %cmp1 = icmp eq i32 %1, -1 + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + store %struct.utmp.323* null, %struct.utmp.323** %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %2 = load i32, i32* %utmp_fd.addr, align 4 + %call = call i64 @read(i32 %2, i8* bitcast (%struct.utmp.323* @static_utmp to i8*), i64 400) #18 + %cmp4 = icmp eq i64 %call, 400 + br i1 %cmp4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end3 + store %struct.utmp.323* @static_utmp, %struct.utmp.323** %ret, align 8 + br label %if.end6 + +if.end6: ; preds = %if.then5, %if.end3 + %3 = load %struct.utmp.323*, %struct.utmp.323** %ret, align 8 + store %struct.utmp.323* %3, %struct.utmp.323** %retval, align 8 + br label %return + +return: ; preds = %if.end6, %if.then2 + %4 = load %struct.utmp.323*, %struct.utmp.323** %retval, align 8 + ret %struct.utmp.323* %4 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @getutid(%struct.utmp.323* %utmp_entry) #0 { +entry: + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + %ret = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + store %struct.utmp.323* null, %struct.utmp.323** %ret, align 8 + %0 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %call = call %struct.utmp.323* @__getutid(%struct.utmp.323* %0) #18 + store %struct.utmp.323* %call, %struct.utmp.323** %ret, align 8 + %1 = load %struct.utmp.323*, %struct.utmp.323** %ret, align 8 + ret %struct.utmp.323* %1 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.utmp.323* @__getutid(%struct.utmp.323* %utmp_entry) #0 { +entry: + %retval = alloca %struct.utmp.323*, align 8 + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + %lutmp = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end47, %entry + %0 = load i32, i32* @static_fd, align 4 + %call = call %struct.utmp.323* @__getutent(i32 %0) #18 + store %struct.utmp.323* %call, %struct.utmp.323** %lutmp, align 8 + %cmp = icmp ne %struct.utmp.323* %call, null + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %1 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %1, i32 0, i32 0 + %2 = load i16, i16* %ut_type, align 8 + %conv = sext i16 %2 to i32 + %cmp1 = icmp eq i32 %conv, 1 + br i1 %cmp1, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.body + %3 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type3 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %3, i32 0, i32 0 + %4 = load i16, i16* %ut_type3, align 8 + %conv4 = sext i16 %4 to i32 + %cmp5 = icmp eq i32 %conv4, 2 + br i1 %cmp5, label %land.lhs.true, label %lor.lhs.false7 + +lor.lhs.false7: ; preds = %lor.lhs.false + %5 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type8 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %5, i32 0, i32 0 + %6 = load i16, i16* %ut_type8, align 8 + %conv9 = sext i16 %6 to i32 + %cmp10 = icmp eq i32 %conv9, 3 + br i1 %cmp10, label %land.lhs.true, label %lor.lhs.false12 + +lor.lhs.false12: ; preds = %lor.lhs.false7 + %7 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type13 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %7, i32 0, i32 0 + %8 = load i16, i16* %ut_type13, align 8 + %conv14 = sext i16 %8 to i32 + %cmp15 = icmp eq i32 %conv14, 4 + br i1 %cmp15, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %lor.lhs.false12, %lor.lhs.false7, %lor.lhs.false, %while.body + %9 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_type17 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %9, i32 0, i32 0 + %10 = load i16, i16* %ut_type17, align 8 + %conv18 = sext i16 %10 to i32 + %11 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type19 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %11, i32 0, i32 0 + %12 = load i16, i16* %ut_type19, align 8 + %conv20 = sext i16 %12 to i32 + %cmp21 = icmp eq i32 %conv18, %conv20 + br i1 %cmp21, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %13 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + store %struct.utmp.323* %13, %struct.utmp.323** %retval, align 8 + br label %return + +if.end: ; preds = %land.lhs.true, %lor.lhs.false12 + %14 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type23 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %14, i32 0, i32 0 + %15 = load i16, i16* %ut_type23, align 8 + %conv24 = sext i16 %15 to i32 + %cmp25 = icmp eq i32 %conv24, 5 + br i1 %cmp25, label %land.lhs.true42, label %lor.lhs.false27 + +lor.lhs.false27: ; preds = %if.end + %16 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type28 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %16, i32 0, i32 0 + %17 = load i16, i16* %ut_type28, align 8 + %conv29 = sext i16 %17 to i32 + %cmp30 = icmp eq i32 %conv29, 8 + br i1 %cmp30, label %land.lhs.true42, label %lor.lhs.false32 + +lor.lhs.false32: ; preds = %lor.lhs.false27 + %18 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type33 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %18, i32 0, i32 0 + %19 = load i16, i16* %ut_type33, align 8 + %conv34 = sext i16 %19 to i32 + %cmp35 = icmp eq i32 %conv34, 6 + br i1 %cmp35, label %land.lhs.true42, label %lor.lhs.false37 + +lor.lhs.false37: ; preds = %lor.lhs.false32 + %20 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type38 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %20, i32 0, i32 0 + %21 = load i16, i16* %ut_type38, align 8 + %conv39 = sext i16 %21 to i32 + %cmp40 = icmp eq i32 %conv39, 7 + br i1 %cmp40, label %land.lhs.true42, label %if.end47 + +land.lhs.true42: ; preds = %lor.lhs.false37, %lor.lhs.false32, %lor.lhs.false27, %if.end + %22 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_id = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %22, i32 0, i32 3 + %arraydecay = getelementptr inbounds [4 x i8], [4 x i8]* %ut_id, i64 0, i64 0 + %23 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_id43 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %23, i32 0, i32 3 + %arraydecay44 = getelementptr inbounds [4 x i8], [4 x i8]* %ut_id43, i64 0, i64 0 + %call45 = call i32 @strncmp(i8* %arraydecay, i8* %arraydecay44, i64 4) #20 + %tobool = icmp ne i32 %call45, 0 + br i1 %tobool, label %if.end47, label %if.then46 + +if.then46: ; preds = %land.lhs.true42 + %24 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + store %struct.utmp.323* %24, %struct.utmp.323** %retval, align 8 + br label %return + +if.end47: ; preds = %land.lhs.true42, %lor.lhs.false37 + br label %while.cond + +while.end: ; preds = %while.cond + store %struct.utmp.323* null, %struct.utmp.323** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then46, %if.then + %25 = load %struct.utmp.323*, %struct.utmp.323** %retval, align 8 + ret %struct.utmp.323* %25 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @getutline(%struct.utmp.323* %utmp_entry) #0 { +entry: + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + %lutmp = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + store %struct.utmp.323* null, %struct.utmp.323** %lutmp, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %0 = load i32, i32* @static_fd, align 4 + %call = call %struct.utmp.323* @__getutent(i32 %0) #18 + store %struct.utmp.323* %call, %struct.utmp.323** %lutmp, align 8 + %cmp = icmp ne %struct.utmp.323* %call, null + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %1 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_type = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %1, i32 0, i32 0 + %2 = load i16, i16* %ut_type, align 8 + %conv = sext i16 %2 to i32 + %cmp1 = icmp eq i32 %conv, 7 + br i1 %cmp1, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.body + %3 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_type3 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %3, i32 0, i32 0 + %4 = load i16, i16* %ut_type3, align 8 + %conv4 = sext i16 %4 to i32 + %cmp5 = icmp eq i32 %conv4, 6 + br i1 %cmp5, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %lor.lhs.false, %while.body + %5 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_line = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %5, i32 0, i32 2 + %arraydecay = getelementptr inbounds [32 x i8], [32 x i8]* %ut_line, i64 0, i64 0 + %6 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_line7 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %6, i32 0, i32 2 + %arraydecay8 = getelementptr inbounds [32 x i8], [32 x i8]* %ut_line7, i64 0, i64 0 + %call9 = call i32 @strcmp(i8* %arraydecay, i8* %arraydecay8) #20 + %tobool = icmp ne i32 %call9, 0 + br i1 %tobool, label %if.end, label %while.end + +if.end: ; preds = %land.lhs.true, %lor.lhs.false + br label %while.cond + +while.end: ; preds = %land.lhs.true, %while.cond + %7 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + ret %struct.utmp.323* %7 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @pututline(%struct.utmp.323* %utmp_entry) #0 { +entry: + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + %0 = load i32, i32* @static_fd, align 4 + %call = call i64 @lseek(i32 %0, i64 -400, i32 1) #19 + %1 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %call1 = call %struct.utmp.323* @__getutid(%struct.utmp.323* %1) #18 + %cmp = icmp ne %struct.utmp.323* %call1, null + %2 = load i32, i32* @static_fd, align 4 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %call2 = call i64 @lseek(i32 %2, i64 -400, i32 1) #19 + br label %if.end + +if.else: ; preds = %entry + %call3 = call i64 @lseek(i32 %2, i64 0, i32 2) #19 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %3 = load i32, i32* @static_fd, align 4 + %4 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %5 = bitcast %struct.utmp.323* %4 to i8* + %call4 = call i64 @write(i32 %3, i8* %5, i64 400) #18 + %cmp5 = icmp ne i64 %call4, 400 + br i1 %cmp5, label %if.then6, label %if.end7 + +if.then6: ; preds = %if.end + store %struct.utmp.323* null, %struct.utmp.323** %utmp_entry.addr, align 8 + br label %if.end7 + +if.end7: ; preds = %if.then6, %if.end + %6 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + ret %struct.utmp.323* %6 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @utmpname(i8* %new_ut_name) #0 { +entry: + %new_ut_name.addr = alloca i8*, align 8 + store i8* %new_ut_name, i8** %new_ut_name.addr, align 8 + %0 = load i8*, i8** %new_ut_name.addr, align 8 + %cmp = icmp ne i8* %0, null + br i1 %cmp, label %if.then, label %if.end6 + +if.then: ; preds = %entry + %1 = load i8*, i8** @static_ut_name, align 8 + %cmp1 = icmp ne i8* %1, getelementptr inbounds ([14 x i8], [14 x i8]* @default_file_name, i64 0, i64 0) + br i1 %cmp1, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + %2 = load i8*, i8** @static_ut_name, align 8 + call void @free(i8* %2) #19 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %3 = load i8*, i8** %new_ut_name.addr, align 8 + %call = call noalias i8* @strdup(i8* %3) #19 + store i8* %call, i8** @static_ut_name, align 8 + %4 = load i8*, i8** @static_ut_name, align 8 + %cmp3 = icmp eq i8* %4, null + %spec.store.select = select i1 %cmp3, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @default_file_name, i64 0, i64 0), i8* %call + store i8* %spec.store.select, i8** @static_ut_name, align 8 + br label %if.end6 + +if.end6: ; preds = %if.end, %entry + %5 = load i32, i32* @static_fd, align 4 + %cmp7 = icmp ne i32 %5, -1 + br i1 %cmp7, label %if.then8, label %if.end10 + +if.then8: ; preds = %if.end6 + %6 = load i32, i32* @static_fd, align 4 + %call9 = call i32 @close(i32 %6) #18 + br label %if.end10 + +if.end10: ; preds = %if.then8, %if.end6 + store i32 -1, i32* @static_fd, align 4 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_wchar_utf8sntowcs(i32* noalias %pwc, i64 %wn, i8** noalias %src, i64 %n, %struct.__mbstate_t.512* %ps, i32 %allow_continuation) #0 { +entry: + %retval = alloca i64, align 8 + %pwc.addr = alloca i32*, align 8 + %wn.addr = alloca i64, align 8 + %src.addr = alloca i8**, align 8 + %n.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %allow_continuation.addr = alloca i32, align 4 + %s = alloca i8*, align 8 + %mask = alloca i32, align 4 + %wc = alloca i32, align 4 + %wcbuf = alloca [1 x i32], align 4 + %count = alloca i64, align 8 + %incr = alloca i32, align 4 + store i32* %pwc, i32** %pwc.addr, align 8 + store i64 %wn, i64* %wn.addr, align 8 + store i8** %src, i8*** %src.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + store i32 %allow_continuation, i32* %allow_continuation.addr, align 4 + %0 = load i8**, i8*** %src.addr, align 8 + %1 = load i8*, i8** %0, align 8 + store i8* %1, i8** %s, align 8 + store i32 1, i32* %incr, align 4 + %2 = load i32*, i32** %pwc.addr, align 8 + %tobool = icmp ne i32* %2, null + br i1 %tobool, label %lor.lhs.false, label %if.then + +lor.lhs.false: ; preds = %entry + %3 = load i32*, i32** %pwc.addr, align 8 + %4 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %5 = bitcast %struct.__mbstate_t.512* %4 to i32* + %cmp = icmp eq i32* %3, %5 + br i1 %cmp, label %if.then, label %if.end3 + +if.then: ; preds = %lor.lhs.false, %entry + %6 = load i32*, i32** %pwc.addr, align 8 + %tobool1 = icmp ne i32* %6, null + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + store i64 -1, i64* %wn.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %arraydecay = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay, i32** %pwc.addr, align 8 + store i32 0, i32* %incr, align 4 + br label %if.end3 + +if.end3: ; preds = %if.end, %lor.lhs.false + %7 = load i64, i64* %wn.addr, align 8 + store i64 %7, i64* %count, align 8 + %tobool4 = icmp ne i64 %7, 0 + br i1 %tobool4, label %if.end6, label %if.then5 + +if.then5: ; preds = %if.end3 + store i64 0, i64* %retval, align 8 + br label %return + +if.end6: ; preds = %if.end3 + %8 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %8, i32 0, i32 0 + %9 = load i32, i32* %__mask, align 4 + store i32 %9, i32* %mask, align 4 + %cmp7 = icmp ne i32 %9, 0 + br i1 %cmp7, label %if.then8, label %do.body + +if.then8: ; preds = %if.end6 + %10 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %10, i32 0, i32 1 + %11 = load i32, i32* %__wc, align 4 + store i32 %11, i32* %wc, align 4 + %cmp9 = icmp ne i32 %11, 65535 + br i1 %cmp9, label %if.then10, label %if.end14 + +if.then10: ; preds = %if.then8 + %12 = load i64, i64* %n.addr, align 8 + %tobool11 = icmp ne i64 %12, 0 + br i1 %tobool11, label %while.cond, label %DONE + +if.end14: ; preds = %if.then8 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +do.body: ; preds = %if.end6, %land.rhs + %13 = load i64, i64* %n.addr, align 8 + %tobool16 = icmp ne i64 %13, 0 + br i1 %tobool16, label %if.end18, label %DONE + +if.end18: ; preds = %do.body + %14 = load i64, i64* %n.addr, align 8 + %dec = add i64 %14, -1 + store i64 %dec, i64* %n.addr, align 8 + %15 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %15, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %16 = load i8, i8* %15, align 1 + %conv = zext i8 %16 to i32 + store i32 %conv, i32* %wc, align 4 + %cmp19 = icmp uge i32 %conv, 128 + br i1 %cmp19, label %if.then21, label %COMPLETE + +if.then21: ; preds = %if.end18 + store i32 64, i32* %mask, align 4 + %17 = load i8*, i8** %s, align 8 + %arrayidx = getelementptr inbounds i8, i8* %17, i64 -1 + %18 = load i8, i8* %arrayidx, align 1 + %conv22 = sext i8 %18 to i32 + %sub = sub nsw i32 %conv22, 192 + %conv23 = trunc i32 %sub to i8 + %conv24 = zext i8 %conv23 to i32 + %cmp25 = icmp slt i32 %conv24, 62 + br i1 %cmp25, label %START, label %BAD + +BAD: ; preds = %if.end52, %lor.lhs.false55, %lor.lhs.false59, %while.body, %if.then21 + %19 = load i32, i32* %mask, align 4 + %20 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask29 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %20, i32 0, i32 0 + store i32 %19, i32* %__mask29, align 4 + %21 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc30 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %21, i32 0, i32 1 + store i32 65535, i32* %__wc30, align 4 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +while.cond: ; preds = %START, %if.then10 + %22 = load i64, i64* %n.addr, align 8 + %tobool31 = icmp ne i64 %22, 0 + br i1 %tobool31, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %23 = load i64, i64* %n.addr, align 8 + %dec32 = add i64 %23, -1 + store i64 %dec32, i64* %n.addr, align 8 + %24 = load i8*, i8** %s, align 8 + %25 = load i8, i8* %24, align 1 + %conv33 = sext i8 %25 to i32 + %and = and i32 %conv33, 192 + %cmp34 = icmp ne i32 %and, 128 + br i1 %cmp34, label %BAD, label %if.end37 + +if.end37: ; preds = %while.body + %26 = load i32, i32* %mask, align 4 + %shl = shl i32 %26, 5 + store i32 %shl, i32* %mask, align 4 + %27 = load i32, i32* %wc, align 4 + %shl38 = shl i32 %27, 6 + store i32 %shl38, i32* %wc, align 4 + %28 = load i8*, i8** %s, align 8 + %29 = load i8, i8* %28, align 1 + %conv39 = sext i8 %29 to i32 + %and40 = and i32 %conv39, 63 + %30 = load i32, i32* %wc, align 4 + %add = add i32 %30, %and40 + store i32 %add, i32* %wc, align 4 + %31 = load i8*, i8** %s, align 8 + %incdec.ptr41 = getelementptr inbounds i8, i8* %31, i32 1 + store i8* %incdec.ptr41, i8** %s, align 8 + br label %START + +START: ; preds = %if.then21, %if.end37 + %32 = load i32, i32* %mask, align 4 + %shl42 = shl i32 %32, 1 + %neg = xor i32 %shl42, -1 + %33 = load i32, i32* %wc, align 4 + %and43 = and i32 %33, %neg + store i32 %and43, i32* %wc, align 4 + %34 = load i32, i32* %wc, align 4 + %35 = load i32, i32* %mask, align 4 + %and44 = and i32 %34, %35 + %cmp45 = icmp eq i32 %and44, 0 + br i1 %cmp45, label %if.then47, label %while.cond + +if.then47: ; preds = %START + %36 = load i32, i32* %mask, align 4 + %shr = lshr i32 %36, 5 + store i32 %shr, i32* %mask, align 4 + %cmp48 = icmp eq i32 %shr, 64 + br i1 %cmp48, label %if.then50, label %if.end52 + +if.then50: ; preds = %if.then47 + %37 = load i32, i32* %mask, align 4 + %38 = load i32, i32* %mask, align 4 + %add51 = add i32 %38, %37 + store i32 %add51, i32* %mask, align 4 + br label %if.end52 + +if.end52: ; preds = %if.then50, %if.then47 + %39 = load i32, i32* %wc, align 4 + %40 = load i32, i32* %mask, align 4 + %cmp53 = icmp ult i32 %39, %40 + br i1 %cmp53, label %BAD, label %lor.lhs.false55 + +lor.lhs.false55: ; preds = %if.end52 + %41 = load i32, i32* %wc, align 4 + %sub56 = sub i32 %41, 65534 + %cmp57 = icmp ult i32 %sub56, 2 + br i1 %cmp57, label %BAD, label %lor.lhs.false59 + +lor.lhs.false59: ; preds = %lor.lhs.false55 + %42 = load i32, i32* %wc, align 4 + %sub60 = sub i32 %42, 55296 + %cmp61 = icmp ult i32 %sub60, 2048 + br i1 %cmp61, label %BAD, label %COMPLETE + +while.end: ; preds = %while.cond + %43 = load i32, i32* %allow_continuation.addr, align 4 + %tobool66 = icmp ne i32 %43, 0 + br i1 %tobool66, label %if.end77, label %if.then67 + +if.then67: ; preds = %while.end + %44 = load i64, i64* %count, align 8 + %45 = load i64, i64* %wn.addr, align 8 + %cmp68 = icmp ne i64 %44, %45 + br i1 %cmp68, label %if.then70, label %do.body72 + +if.then70: ; preds = %if.then67 + store i64 0, i64* %retval, align 8 + br label %return + +do.body72: ; preds = %if.then67, %do.body72 + %46 = load i8*, i8** %s, align 8 + %incdec.ptr73 = getelementptr inbounds i8, i8* %46, i32 -1 + store i8* %incdec.ptr73, i8** %s, align 8 + %47 = load i32, i32* %mask, align 4 + %shr74 = lshr i32 %47, 5 + store i32 %shr74, i32* %mask, align 4 + %cmp75 = icmp uge i32 %shr74, 64 + br i1 %cmp75, label %do.body72, label %DONE + +if.end77: ; preds = %while.end + %48 = load i32, i32* %mask, align 4 + %49 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask78 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %49, i32 0, i32 0 + store i32 %48, i32* %__mask78, align 4 + %50 = load i32, i32* %wc, align 4 + %51 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc79 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %51, i32 0, i32 1 + store i32 %50, i32* %__wc79, align 4 + %52 = load i8*, i8** %s, align 8 + %53 = load i8**, i8*** %src.addr, align 8 + store i8* %52, i8** %53, align 8 + store i64 -2, i64* %retval, align 8 + br label %return + +COMPLETE: ; preds = %if.end18, %lor.lhs.false59 + %54 = load i32, i32* %wc, align 4 + %55 = load i32*, i32** %pwc.addr, align 8 + store i32 %54, i32* %55, align 4 + %56 = load i32, i32* %incr, align 4 + %57 = load i32*, i32** %pwc.addr, align 8 + %idx.ext = sext i32 %56 to i64 + %add.ptr = getelementptr inbounds i32, i32* %57, i64 %idx.ext + store i32* %add.ptr, i32** %pwc.addr, align 8 + %58 = load i32, i32* %wc, align 4 + %tobool82 = icmp ne i32 %58, 0 + br i1 %tobool82, label %land.rhs, label %do.end85 + +land.rhs: ; preds = %COMPLETE + %59 = load i64, i64* %count, align 8 + %dec83 = add i64 %59, -1 + store i64 %dec83, i64* %count, align 8 + %tobool84 = icmp ne i64 %dec83, 0 + br i1 %tobool84, label %do.body, label %do.end85 + +do.end85: ; preds = %COMPLETE, %land.rhs + %60 = load i32, i32* %wc, align 4 + %tobool86 = icmp ne i32 %60, 0 + br i1 %tobool86, label %DONE, label %if.then87 + +if.then87: ; preds = %do.end85 + store i8* null, i8** %s, align 8 + br label %DONE + +DONE: ; preds = %do.end85, %if.then87, %do.body72, %do.body, %if.then10 + %61 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask89 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %61, i32 0, i32 0 + store i32 0, i32* %__mask89, align 4 + %62 = load i32*, i32** %pwc.addr, align 8 + %arraydecay90 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %cmp91 = icmp ne i32* %62, %arraydecay90 + br i1 %cmp91, label %if.then93, label %if.end94 + +if.then93: ; preds = %DONE + %63 = load i8*, i8** %s, align 8 + %64 = load i8**, i8*** %src.addr, align 8 + store i8* %63, i8** %64, align 8 + br label %if.end94 + +if.end94: ; preds = %if.then93, %DONE + %65 = load i64, i64* %wn.addr, align 8 + %66 = load i64, i64* %count, align 8 + %sub95 = sub i64 %65, %66 + store i64 %sub95, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end94, %if.end77, %if.then70, %BAD, %if.end14, %if.then5 + %67 = load i64, i64* %retval, align 8 + ret i64 %67 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @mbrtowc(i32* noalias %pwc, i8* noalias %s, i64 %n, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %retval = alloca i64, align 8 + %pwc.addr = alloca i32*, align 8 + %s.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %wcbuf = alloca [1 x i32], align 4 + %p = alloca i8*, align 8 + %r = alloca i64, align 8 + %empty_string = alloca [1 x i8], align 1 + store i32* %pwc, i32** %pwc.addr, align 8 + store i8* %s, i8** %s.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %tobool = icmp ne %struct.__mbstate_t.512* %0, null + %spec.store.select = select i1 %tobool, %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512* @mbrtowc.mbstate + store %struct.__mbstate_t.512* %spec.store.select, %struct.__mbstate_t.512** %ps.addr, align 8 + %1 = load i8*, i8** %s.addr, align 8 + %tobool1 = icmp ne i8* %1, null + br i1 %tobool1, label %if.else, label %if.then2 + +if.then2: ; preds = %entry + %2 = load i8*, i8** %s.addr, align 8 + %3 = bitcast i8* %2 to i32* + store i32* %3, i32** %pwc.addr, align 8 + %arrayidx = getelementptr inbounds [1 x i8], [1 x i8]* %empty_string, i64 0, i64 0 + store i8 0, i8* %arrayidx, align 1 + %arraydecay = getelementptr inbounds [1 x i8], [1 x i8]* %empty_string, i64 0, i64 0 + store i8* %arraydecay, i8** %s.addr, align 8 + store i64 1, i64* %n.addr, align 8 + br label %if.end7 + +if.else: ; preds = %entry + %4 = load i64, i64* %n.addr, align 8 + %tobool3 = icmp ne i64 %4, 0 + br i1 %tobool3, label %if.end7, label %if.then4 + +if.then4: ; preds = %if.else + %5 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %5, i32 0, i32 0 + %6 = load i32, i32* %__mask, align 4 + %tobool5 = icmp ne i32 %6, 0 + br i1 %tobool5, label %land.rhs, label %land.end + +land.rhs: ; preds = %if.then4 + %7 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %7, i32 0, i32 1 + %8 = load i32, i32* %__wc, align 4 + %cmp = icmp eq i32 %8, 65535 + br label %land.end + +land.end: ; preds = %land.rhs, %if.then4 + %9 = phi i1 [ false, %if.then4 ], [ %cmp, %land.rhs ] + %10 = zext i1 %9 to i64 + %cond = select i1 %9, i64 -1, i64 -2 + store i64 %cond, i64* %retval, align 8 + br label %return + +if.end7: ; preds = %if.else, %if.then2 + %11 = load i8*, i8** %s.addr, align 8 + store i8* %11, i8** %p, align 8 + %12 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %12, i32 0, i32 9 + %13 = load i8, i8* %encoding, align 8 + %conv = zext i8 %13 to i32 + %cmp8 = icmp eq i32 %conv, 1 + br i1 %cmp8, label %if.then10, label %if.end18 + +if.then10: ; preds = %if.end7 + %14 = load i32*, i32** %pwc.addr, align 8 + %tobool11 = icmp ne i32* %14, null + br i1 %tobool11, label %if.end14, label %if.then12 + +if.then12: ; preds = %if.then10 + %arraydecay13 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay13, i32** %pwc.addr, align 8 + br label %if.end14 + +if.end14: ; preds = %if.then12, %if.then10 + %15 = load i32*, i32** %pwc.addr, align 8 + %16 = load i64, i64* %n.addr, align 8 + %17 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @_wchar_utf8sntowcs(i32* %15, i64 1, i8** %p, i64 %16, %struct.__mbstate_t.512* %17, i32 1) #18 + store i64 %call, i64* %r, align 8 + %18 = load i64, i64* %r, align 8 + %cmp15 = icmp eq i64 %18, 1 + %19 = load i8*, i8** %p, align 8 + %20 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %20 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %21 = load i64, i64* %r, align 8 + %cond17 = select i1 %cmp15, i64 %sub.ptr.sub, i64 %21 + store i64 %cond17, i64* %retval, align 8 + br label %return + +if.end18: ; preds = %if.end7 + %arraydecay19 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %22 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call20 = call i64 @mbsnrtowcs(i32* %arraydecay19, i8** %p, i64 -1, i64 1, %struct.__mbstate_t.512* %22) #19 + store i64 %call20, i64* %r, align 8 + %23 = load i64, i64* %r, align 8 + %cmp21 = icmp sge i64 %23, 0 + %24 = load i32*, i32** %pwc.addr, align 8 + %tobool24 = icmp ne i32* %24, null + %or.cond = and i1 %cmp21, %tobool24 + br i1 %or.cond, label %if.then25, label %if.end28 + +if.then25: ; preds = %if.end18 + %arraydecay26 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %25 = load i32, i32* %arraydecay26, align 4 + %26 = load i32*, i32** %pwc.addr, align 8 + store i32 %25, i32* %26, align 4 + br label %if.end28 + +if.end28: ; preds = %if.then25, %if.end18 + %27 = load i64, i64* %r, align 8 + store i64 %27, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end28, %if.end14, %land.end + %28 = load i64, i64* %retval, align 8 + ret i64 %28 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @mbsinit(%struct.__mbstate_t.512* %ps) #14 { +entry: + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %tobool = icmp ne %struct.__mbstate_t.512* %0, null + br i1 %tobool, label %lor.rhs, label %lor.end + +lor.rhs: ; preds = %entry + %1 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %1, i32 0, i32 0 + %2 = load i32, i32* %__mask, align 4 + %tobool1 = icmp ne i32 %2, 0 + %lnot = xor i1 %tobool1, true + br label %lor.end + +lor.end: ; preds = %lor.rhs, %entry + %3 = phi i1 [ true, %entry ], [ %lnot, %lor.rhs ] + %lor.ext = zext i1 %3 to i32 + ret i32 %lor.ext +} + +; Function Attrs: noinline nounwind uwtable +define i32 @iswprint(i32 %wc) #0 { +entry: + %wc.addr = alloca i32, align 4 + store i32 %wc, i32* %wc.addr, align 4 + %0 = load i32, i32* %wc.addr, align 4 + %call = call i32 @iswctype(i32 %0, i32 8) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.568* %stream, i8* %buf, i64 %bufsize) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %rv = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + store i64 0, i64* %rv, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 4 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end18, label %if.then + +if.then: ; preds = %entry + %2 = load i64, i64* %bufsize.addr, align 8 + %cmp = icmp ugt i64 %2, 9223372036854775807 + br i1 %cmp, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + store i64 9223372036854775807, i64* %bufsize.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 2 + %4 = load i32, i32* %__filedes, align 4 + %5 = load i8*, i8** %buf.addr, align 8 + %6 = load i64, i64* %bufsize.addr, align 8 + %call = call i64 @read(i32 %4, i8* %5, i64 %6) #18 + store i64 %call, i64* %rv, align 8 + %cmp3 = icmp sle i64 %call, 0 + br i1 %cmp3, label %if.then5, label %if.end18 + +if.then5: ; preds = %if.end + %7 = load i64, i64* %rv, align 8 + %cmp6 = icmp eq i64 %7, 0 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags9 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags9, align 8 + %conv10 = zext i16 %9 to i32 + br i1 %cmp6, label %if.then8, label %if.else + +if.then8: ; preds = %if.then5 + %or = or i32 %conv10, 4 + %conv11 = trunc i32 %or to i16 + store i16 %conv11, i16* %__modeflags9, align 8 + br label %if.end18 + +if.else: ; preds = %if.then5 + %or14 = or i32 %conv10, 8 + %conv15 = trunc i32 %or14 to i16 + store i16 %conv15, i16* %__modeflags9, align 8 + store i64 0, i64* %rv, align 8 + br label %if.end18 + +if.end18: ; preds = %if.end, %if.else, %if.then8, %entry + %10 = load i64, i64* %rv, align 8 + ret i64 %10 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %stream, i8* %buf, i64 %bufsize) #0 { +entry: + %retval = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %todo = alloca i64, align 8 + %rv = alloca i64, align 8 + %stodo = alloca i64, align 8 + %s = alloca i8*, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i64, i64* %bufsize.addr, align 8 + store i64 %0, i64* %todo, align 8 + br label %do.body + +do.body: ; preds = %if.then3, %entry + %1 = load i64, i64* %todo, align 8 + %cmp = icmp eq i64 %1, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %do.body + %2 = load i64, i64* %bufsize.addr, align 8 + store i64 %2, i64* %retval, align 8 + br label %do.end32 + +if.end: ; preds = %do.body + %3 = load i64, i64* %todo, align 8 + %cmp1 = icmp ule i64 %3, 9223372036854775807 + %4 = load i64, i64* %todo, align 8 + %cond = select i1 %cmp1, i64 %4, i64 9223372036854775807 + store i64 %cond, i64* %stodo, align 8 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 2 + %6 = load i32, i32* %__filedes, align 4 + %7 = load i8*, i8** %buf.addr, align 8 + %8 = load i64, i64* %stodo, align 8 + %call = call i64 @write(i32 %6, i8* %7, i64 %8) #18 + store i64 %call, i64* %rv, align 8 + %cmp2 = icmp sge i64 %call, 0 + br i1 %cmp2, label %if.then3, label %if.else + +if.then3: ; preds = %if.end + %9 = load i64, i64* %rv, align 8 + %10 = load i64, i64* %todo, align 8 + %sub = sub i64 %10, %9 + store i64 %sub, i64* %todo, align 8 + %11 = load i64, i64* %rv, align 8 + %12 = load i8*, i8** %buf.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %12, i64 %11 + store i8* %add.ptr, i8** %buf.addr, align 8 + br label %do.body + +if.else: ; preds = %if.end + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 0 + %14 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %14 to i32 + %or = or i32 %conv, 8 + %conv4 = trunc i32 %or to i16 + store i16 %conv4, i16* %__modeflags, align 8 + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 4 + %16 = load i8*, i8** %__bufend, align 8 + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 3 + %18 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %16 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %18 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %stodo, align 8 + %cmp5 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %cmp5, label %if.then7, label %if.end28 + +if.then7: ; preds = %if.else + %19 = load i64, i64* %stodo, align 8 + %20 = load i64, i64* %todo, align 8 + %cmp8 = icmp ugt i64 %19, %20 + br i1 %cmp8, label %if.then10, label %if.end11 + +if.then10: ; preds = %if.then7 + %21 = load i64, i64* %todo, align 8 + store i64 %21, i64* %stodo, align 8 + br label %if.end11 + +if.end11: ; preds = %if.then10, %if.then7 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart12 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 3 + %23 = load i8*, i8** %__bufstart12, align 8 + store i8* %23, i8** %s, align 8 + br label %do.body13 + +do.body13: ; preds = %if.end20, %if.end11 + %24 = load i8*, i8** %buf.addr, align 8 + %25 = load i8, i8* %24, align 1 + %26 = load i8*, i8** %s, align 8 + store i8 %25, i8* %26, align 1 + %conv14 = zext i8 %25 to i32 + %cmp15 = icmp eq i32 %conv14, 10 + br i1 %cmp15, label %land.lhs.true, label %if.end20 + +land.lhs.true: ; preds = %do.body13 + %27 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %27, i32 0, i32 0 + %28 = load i16, i16* %__modeflags17, align 8 + %conv18 = zext i16 %28 to i32 + %and = and i32 %conv18, 256 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %do.end, label %if.end20 + +if.end20: ; preds = %land.lhs.true, %do.body13 + %29 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %29, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %30 = load i8*, i8** %buf.addr, align 8 + %incdec.ptr21 = getelementptr inbounds i8, i8* %30, i32 1 + store i8* %incdec.ptr21, i8** %buf.addr, align 8 + %31 = load i64, i64* %stodo, align 8 + %dec = add nsw i64 %31, -1 + store i64 %dec, i64* %stodo, align 8 + %tobool22 = icmp ne i64 %dec, 0 + br i1 %tobool22, label %do.body13, label %do.end + +do.end: ; preds = %land.lhs.true, %if.end20 + %32 = load i8*, i8** %s, align 8 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %33, i32 0, i32 5 + store i8* %32, i8** %__bufpos, align 8 + %34 = load i8*, i8** %s, align 8 + %35 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart23 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %35, i32 0, i32 3 + %36 = load i8*, i8** %__bufstart23, align 8 + %sub.ptr.lhs.cast24 = ptrtoint i8* %34 to i64 + %sub.ptr.rhs.cast25 = ptrtoint i8* %36 to i64 + %sub.ptr.sub26 = sub i64 %sub.ptr.lhs.cast24, %sub.ptr.rhs.cast25 + %37 = load i64, i64* %todo, align 8 + %sub27 = sub i64 %37, %sub.ptr.sub26 + store i64 %sub27, i64* %todo, align 8 + br label %if.end28 + +if.end28: ; preds = %do.end, %if.else + %38 = load i64, i64* %bufsize.addr, align 8 + %39 = load i64, i64* %todo, align 8 + %sub29 = sub i64 %38, %39 + store i64 %sub29, i64* %retval, align 8 + br label %do.end32 + +do.end32: ; preds = %if.then, %if.end28 + %40 = load i64, i64* %retval, align 8 + ret i64 %40 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__freading(%struct.__STDIO_FILE_STRUCT.519* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.519*, align 8 + store %struct.__STDIO_FILE_STRUCT.519* %stream, %struct.__STDIO_FILE_STRUCT.519** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.519*, %struct.__STDIO_FILE_STRUCT.519** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.519, %struct.__STDIO_FILE_STRUCT.519* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 35 + ret i32 %and +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_rfill(%struct.__STDIO_FILE_STRUCT.568* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %rv = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %1, i32 0, i32 3 + %2 = load i8*, i8** %__bufstart, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 4 + %4 = load i8*, i8** %__bufend, align 8 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 3 + %6 = load i8*, i8** %__bufstart1, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %4 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %6 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %call = call i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.568* %0, i8* %2, i64 %sub.ptr.sub) #18 + store i64 %call, i64* %rv, align 8 + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %7, i32 0, i32 3 + %8 = load i8*, i8** %__bufstart2, align 8 + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %9, i32 0, i32 5 + store i8* %8, i8** %__bufpos, align 8 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart3 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 3 + %11 = load i8*, i8** %__bufstart3, align 8 + %12 = load i64, i64* %rv, align 8 + %add.ptr = getelementptr inbounds i8, i8* %11, i64 %12 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 6 + store i8* %add.ptr, i8** %__bufread, align 8 + %14 = load i64, i64* %rv, align 8 + ret i64 %14 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_trans2r_o(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %oflag) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %oflag.addr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %oflag, i32* %oflag.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %2 = load i32, i32* %oflag.addr, align 4 + %and = and i32 %conv, %2 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end9, label %if.then + +if.then: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 0 + %4 = load i16, i16* %__modeflags1, align 8 + %conv2 = zext i16 %4 to i32 + %and3 = and i32 %conv2, 2176 + %tobool4 = icmp ne i32 %and3, 0 + br i1 %tobool4, label %DO_EBADF, label %if.end + +if.end: ; preds = %if.then + %5 = load i32, i32* %oflag.addr, align 4 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 0 + %7 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %7 to i32 + %or = or i32 %conv7, %5 + %conv8 = trunc i32 %or to i16 + store i16 %conv8, i16* %__modeflags6, align 8 + br label %if.end9 + +if.end9: ; preds = %if.end, %entry + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags10, align 8 + %conv11 = zext i16 %9 to i32 + %and12 = and i32 %conv11, 16 + %tobool13 = icmp ne i32 %and12, 0 + br i1 %tobool13, label %DO_EBADF, label %if.end19 + +DO_EBADF: ; preds = %if.end9, %if.then + store i32 9, i32* @errno, align 4 + br label %ERROR + +ERROR: ; preds = %if.then24, %DO_EBADF + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags15 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 0 + %11 = load i16, i16* %__modeflags15, align 8 + %conv16 = zext i16 %11 to i32 + %or17 = or i32 %conv16, 8 + %conv18 = trunc i32 %or17 to i16 + store i16 %conv18, i16* %__modeflags15, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end19: ; preds = %if.end9 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags20 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags20, align 8 + %conv21 = zext i16 %13 to i32 + %and22 = and i32 %conv21, 64 + %tobool23 = icmp ne i32 %and22, 0 + br i1 %tobool23, label %if.then24, label %if.end32 + +if.then24: ; preds = %if.end19 + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %14) #18 + %tobool25 = icmp ne i64 %call, 0 + br i1 %tobool25, label %ERROR, label %if.end27 + +if.end27: ; preds = %if.then24 + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 3 + %16 = load i8*, i8** %__bufstart, align 8 + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 8 + store i8* %16, i8** %__bufputc_u, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags28 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 0 + %19 = load i16, i16* %__modeflags28, align 8 + %conv29 = zext i16 %19 to i32 + %and30 = and i32 %conv29, -65 + %conv31 = trunc i32 %and30 to i16 + store i16 %conv31, i16* %__modeflags28, align 8 + br label %if.end32 + +if.end32: ; preds = %if.end27, %if.end19 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags33 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 0 + %21 = load i16, i16* %__modeflags33, align 8 + %conv34 = zext i16 %21 to i32 + %or35 = or i32 %conv34, 1 + %conv36 = trunc i32 %or35 to i16 + store i16 %conv36, i16* %__modeflags33, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end32, %ERROR + %22 = load i32, i32* %retval, align 4 + ret i32 %22 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fclose(%struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %rv = alloca i32, align 4 + %ptr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 0, i32* %rv, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %0, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %1, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp = icmp eq %struct.__STDIO_FILE_STRUCT.568* %1, %2 + br i1 %cmp, label %if.then, label %while.cond + +if.then: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 9 + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %4, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + br label %if.end7 + +while.cond: ; preds = %entry, %if.end + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %5, null + br i1 %tobool, label %while.body, label %if.end7 + +while.body: ; preds = %while.cond + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 9 + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen1, align 8 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp2 = icmp eq %struct.__STDIO_FILE_STRUCT.568* %7, %8 + br i1 %cmp2, label %if.then3, label %if.end + +if.then3: ; preds = %while.body + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen4 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %9, i32 0, i32 9 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen4, align 8 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen5 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 9 + store %struct.__STDIO_FILE_STRUCT.568* %10, %struct.__STDIO_FILE_STRUCT.568** %__nextopen5, align 8 + br label %if.end7 + +if.end: ; preds = %while.body + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 9 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen6, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %13, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + br label %while.cond + +if.end7: ; preds = %while.cond, %if.then3, %if.then + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %14, i32 0, i32 0 + %15 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %15 to i32 + %and = and i32 %conv, 64 + %tobool8 = icmp ne i32 %and, 0 + br i1 %tobool8, label %if.then9, label %if.end10 + +if.then9: ; preds = %if.end7 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.568* %16) #18 + store i32 %call, i32* %rv, align 4 + br label %if.end10 + +if.end10: ; preds = %if.then9, %if.end7 + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 2 + %18 = load i32, i32* %__filedes, align 4 + %call11 = call i32 @close(i32 %18) #18 + %cmp12 = icmp slt i32 %call11, 0 + br i1 %cmp12, label %if.then14, label %if.end15 + +if.then14: ; preds = %if.end10 + store i32 -1, i32* %rv, align 4 + br label %if.end15 + +if.end15: ; preds = %if.then14, %if.end10 + %19 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes16 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %19, i32 0, i32 2 + store i32 -1, i32* %__filedes16, align 4 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 0 + %21 = load i16, i16* %__modeflags17, align 8 + %conv18 = zext i16 %21 to i32 + %and19 = and i32 %conv18, 24576 + %conv20 = trunc i32 %and19 to i16 + store i16 %conv20, i16* %__modeflags17, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags21 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 0 + %23 = load i16, i16* %__modeflags21, align 8 + %conv22 = zext i16 %23 to i32 + %or = or i32 %conv22, 48 + %conv23 = trunc i32 %or to i16 + store i16 %conv23, i16* %__modeflags21, align 8 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags24 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 0 + %25 = load i16, i16* %__modeflags24, align 8 + %conv25 = zext i16 %25 to i32 + %and26 = and i32 %conv25, 16384 + %tobool27 = icmp ne i32 %and26, 0 + br i1 %tobool27, label %if.then28, label %do.body30 + +if.then28: ; preds = %if.end15 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 3 + %27 = load i8*, i8** %__bufstart, align 8 + call void @free(i8* %27) #19 + br label %do.body30 + +do.body30: ; preds = %if.then28, %if.end15 + %28 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags31 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %28, i32 0, i32 0 + %29 = load i16, i16* %__modeflags31, align 8 + %conv32 = zext i16 %29 to i32 + %and33 = and i32 %conv32, 8192 + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %if.then35, label %do.end37 + +if.then35: ; preds = %do.body30 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %31 = bitcast %struct.__STDIO_FILE_STRUCT.568* %30 to i8* + call void @free(i8* %31) #19 + br label %do.end37 + +do.end37: ; preds = %do.body30, %if.then35 + %32 = load i32, i32* %rv, align 4 + ret i32 %32 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.__STDIO_FILE_STRUCT.588* @fdopen(i32 %filedes, i8* %mode) #0 { +entry: + %filedes.addr = alloca i32, align 4 + %mode.addr = alloca i8*, align 8 + %cur_mode = alloca i64, align 8 + store i32 %filedes, i32* %filedes.addr, align 4 + store i8* %mode, i8** %mode.addr, align 8 + %0 = load i32, i32* %filedes.addr, align 4 + %call = call i32 (i32, i32, ...) @fcntl(i32 %0, i32 3) #18 + %conv = sext i32 %call to i64 + store i64 %conv, i64* %cur_mode, align 8 + %cmp = icmp ne i64 %conv, -1 + br i1 %cmp, label %cond.true, label %cond.end + +cond.true: ; preds = %entry + %1 = load i64, i64* %cur_mode, align 8 + %2 = load i8*, i8** %mode.addr, align 8 + %3 = load i32, i32* %filedes.addr, align 4 + %call2 = call %struct.__STDIO_FILE_STRUCT.588* bitcast (%struct.__STDIO_FILE_STRUCT.568* (i64, i8*, %struct.__STDIO_FILE_STRUCT.568*, i32)* @_stdio_fopen to %struct.__STDIO_FILE_STRUCT.588* (i64, i8*, %struct.__STDIO_FILE_STRUCT.588*, i32)*)(i64 %1, i8* %2, %struct.__STDIO_FILE_STRUCT.588* null, i32 %3) #18 + br label %cond.end + +cond.end: ; preds = %entry, %cond.true + %cond = phi %struct.__STDIO_FILE_STRUCT.588* [ %call2, %cond.true ], [ null, %entry ] + ret %struct.__STDIO_FILE_STRUCT.588* %cond +} + +; Function Attrs: noinline nounwind uwtable +define i32 @feof_unlocked(%struct.__STDIO_FILE_STRUCT.590* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.590*, align 8 + store %struct.__STDIO_FILE_STRUCT.590* %stream, %struct.__STDIO_FILE_STRUCT.590** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.590*, %struct.__STDIO_FILE_STRUCT.590** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.590, %struct.__STDIO_FILE_STRUCT.590* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 4 + ret i32 %and +} + +; Function Attrs: noinline nounwind uwtable +define i32 @ferror_unlocked(%struct.__STDIO_FILE_STRUCT.592* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.592*, align 8 + store %struct.__STDIO_FILE_STRUCT.592* %stream, %struct.__STDIO_FILE_STRUCT.592** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.592*, %struct.__STDIO_FILE_STRUCT.592** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.592, %struct.__STDIO_FILE_STRUCT.592* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 8 + ret i32 %and +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %retval1 = alloca i32, align 4 + %bufmask = alloca i16, align 2 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 0, i32* %retval1, align 4 + store i16 256, i16* %bufmask, align 2 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp = icmp eq %struct.__STDIO_FILE_STRUCT.568* %0, bitcast (%struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist to %struct.__STDIO_FILE_STRUCT.568*) + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store %struct.__STDIO_FILE_STRUCT.568* null, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i16 0, i16* %bufmask, align 2 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %1, null + br i1 %tobool, label %if.else21, label %if.then2 + +if.then2: ; preds = %if.end + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %2, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end20, %if.then2 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %tobool3 = icmp ne %struct.__STDIO_FILE_STRUCT.568* %3, null + br i1 %tobool3, label %while.body, label %if.end39 + +while.body: ; preds = %while.cond + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 0 + %5 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %5 to i32 + %and = and i32 %conv, 64 + %tobool4 = icmp ne i32 %and, 0 + br i1 %tobool4, label %if.then5, label %if.end20 + +if.then5: ; preds = %while.body + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 0 + %7 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %7 to i32 + %8 = load i16, i16* %bufmask, align 2 + %conv8 = zext i16 %8 to i32 + %or = or i32 %conv7, %conv8 + %xor = xor i32 %or, 320 + %and9 = and i32 %xor, 832 + %tobool10 = icmp ne i32 %and9, 0 + br i1 %tobool10, label %if.end20, label %if.then11 + +if.then11: ; preds = %if.then5 + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %9) #18 + %tobool12 = icmp ne i64 %call, 0 + br i1 %tobool12, label %if.else, label %if.then13 + +if.then13: ; preds = %if.then11 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 3 + %11 = load i8*, i8** %__bufstart, align 8 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 8 + store i8* %11, i8** %__bufputc_u, align 8 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags14 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 0 + %14 = load i16, i16* %__modeflags14, align 8 + %conv15 = zext i16 %14 to i32 + %and16 = and i32 %conv15, -65 + %conv17 = trunc i32 %and16 to i16 + store i16 %conv17, i16* %__modeflags14, align 8 + br label %if.end20 + +if.else: ; preds = %if.then11 + store i32 -1, i32* %retval1, align 4 + br label %if.end20 + +if.end20: ; preds = %if.then5, %if.else, %if.then13, %while.body + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 9 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %16, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br label %while.cond + +if.else21: ; preds = %if.end + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags22 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 0 + %18 = load i16, i16* %__modeflags22, align 8 + %conv23 = zext i16 %18 to i32 + %and24 = and i32 %conv23, 64 + %tobool25 = icmp ne i32 %and24, 0 + br i1 %tobool25, label %if.then26, label %if.end39 + +if.then26: ; preds = %if.else21 + %19 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call27 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %19) #18 + %tobool28 = icmp ne i64 %call27, 0 + br i1 %tobool28, label %if.else36, label %if.then29 + +if.then29: ; preds = %if.then26 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart30 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 3 + %21 = load i8*, i8** %__bufstart30, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u31 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 8 + store i8* %21, i8** %__bufputc_u31, align 8 + %23 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags32 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %23, i32 0, i32 0 + %24 = load i16, i16* %__modeflags32, align 8 + %conv33 = zext i16 %24 to i32 + %and34 = and i32 %conv33, -65 + %conv35 = trunc i32 %and34 to i16 + store i16 %conv35, i16* %__modeflags32, align 8 + br label %if.end39 + +if.else36: ; preds = %if.then26 + store i32 -1, i32* %retval1, align 4 + br label %if.end39 + +if.end39: ; preds = %if.else21, %if.else36, %if.then29, %while.cond + %25 = load i32, i32* %retval1, align 4 + ret i32 %25 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fileno_unlocked(%struct.__STDIO_FILE_STRUCT.608* %stream) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.608*, align 8 + store %struct.__STDIO_FILE_STRUCT.608* %stream, %struct.__STDIO_FILE_STRUCT.608** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.608*, %struct.__STDIO_FILE_STRUCT.608** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.608, %struct.__STDIO_FILE_STRUCT.608* %0, i32 0, i32 2 + %1 = load i32, i32* %__filedes, align 4 + %cmp = icmp sge i32 %1, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.608*, %struct.__STDIO_FILE_STRUCT.608** %stream.addr, align 8 + %__filedes1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.608, %struct.__STDIO_FILE_STRUCT.608* %2, i32 0, i32 2 + %3 = load i32, i32* %__filedes1, align 4 + store i32 %3, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + store i32 9, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.__STDIO_FILE_STRUCT.588* @fopen(i8* noalias %filename, i8* noalias %mode) #0 { +entry: + %filename.addr = alloca i8*, align 8 + %mode.addr = alloca i8*, align 8 + store i8* %filename, i8** %filename.addr, align 8 + store i8* %mode, i8** %mode.addr, align 8 + %0 = load i8*, i8** %filename.addr, align 8 + %1 = ptrtoint i8* %0 to i64 + %2 = load i8*, i8** %mode.addr, align 8 + %call = call %struct.__STDIO_FILE_STRUCT.588* bitcast (%struct.__STDIO_FILE_STRUCT.568* (i64, i8*, %struct.__STDIO_FILE_STRUCT.568*, i32)* @_stdio_fopen to %struct.__STDIO_FILE_STRUCT.588* (i64, i8*, %struct.__STDIO_FILE_STRUCT.588*, i32)*)(i64 %1, i8* %2, %struct.__STDIO_FILE_STRUCT.588* null, i32 -1) #18 + ret %struct.__STDIO_FILE_STRUCT.588* %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fprintf(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i8* noalias %format, ...) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %format.addr = alloca i8*, align 8 + %arg = alloca [1 x %struct.__va_list_tag.0], align 16 + %rv = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdout, align 8 + %cmp = icmp eq %struct.__STDIO_FILE_STRUCT.568* %0, %1 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %cmp2 = icmp eq %struct.__STDIO_FILE_STRUCT.568* %2, %3 + br i1 %cmp2, label %if.then, label %if.else + +if.then: ; preds = %lor.lhs.false, %entry + %4 = load i8*, i8** %format.addr, align 8 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %call = call i32 @vprintf(i8* %4, %struct.__va_list_tag.0* %arraydecay3) #18 + store i32 %call, i32* %rv, align 4 + br label %if.end + +if.else: ; preds = %lor.lhs.false + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %6 = load i8*, i8** %format.addr, align 8 + %arraydecay4 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %call5 = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %5, i8* %6, %struct.__va_list_tag.0* %arraydecay4) #18 + store i32 %call5, i32* %rv, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %arraydecay6 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay67 = bitcast %struct.__va_list_tag.0* %arraydecay6 to i8* + call void @llvm.va_end(i8* %arraydecay67) + %7 = load i32, i32* %rv, align 4 + ret i32 %7 +} + +declare i32 @vprintf(i8*, %struct.__va_list_tag.0*) #17 + +; Function Attrs: noinline nounwind uwtable +define i32 @__fputc_unlocked(i32 %c, %struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %retval = alloca i32, align 4 + %c.addr = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %uc = alloca i8, align 1 + store i32 %c, i32* %c.addr, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 5 + %1 = load i8*, i8** %__bufpos, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 8 + %3 = load i8*, i8** %__bufputc_u, align 8 + %cmp = icmp ult i8* %1, %3 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %4 = load i32, i32* %c.addr, align 4 + %conv = trunc i32 %4 to i8 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 5 + %6 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + store i8 %conv, i8* %6, align 1 + %7 = load i32, i32* %c.addr, align 4 + %conv2 = trunc i32 %7 to i8 + %conv3 = zext i8 %conv2 to i32 + store i32 %conv3, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags, align 8 + %conv4 = zext i16 %9 to i32 + %and = and i32 %conv4, 192 + %cmp5 = icmp eq i32 %and, 192 + br i1 %cmp5, label %if.then7, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* %10, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %BAD, label %if.then7 + +if.then7: ; preds = %lor.lhs.false, %if.end + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 2 + %12 = load i32, i32* %__filedes, align 4 + %cmp8 = icmp eq i32 %12, -2 + br i1 %cmp8, label %if.then10, label %if.end13 + +if.then10: ; preds = %if.then7 + %13 = load i32, i32* %c.addr, align 4 + %conv11 = trunc i32 %13 to i8 + %conv12 = zext i8 %conv11 to i32 + store i32 %conv12, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.then7 + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %14, i32 0, i32 4 + %15 = load i8*, i8** %__bufend, align 8 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %16, i32 0, i32 3 + %17 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %15 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %17 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool14 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %tobool14, label %if.then15, label %if.else + +if.then15: ; preds = %if.end13 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend16 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 4 + %19 = load i8*, i8** %__bufend16, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 5 + %21 = load i8*, i8** %__bufpos17, align 8 + %sub.ptr.lhs.cast18 = ptrtoint i8* %19 to i64 + %sub.ptr.rhs.cast19 = ptrtoint i8* %21 to i64 + %sub.ptr.sub20 = sub i64 %sub.ptr.lhs.cast18, %sub.ptr.rhs.cast19 + %tobool21 = icmp ne i64 %sub.ptr.sub20, 0 + br i1 %tobool21, label %if.end25, label %land.lhs.true + +land.lhs.true: ; preds = %if.then15 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call22 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %22) #18 + %tobool23 = icmp ne i64 %call22, 0 + br i1 %tobool23, label %BAD, label %if.end25 + +if.end25: ; preds = %land.lhs.true, %if.then15 + %23 = load i32, i32* %c.addr, align 4 + %conv26 = trunc i32 %23 to i8 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos27 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 5 + %25 = load i8*, i8** %__bufpos27, align 8 + %incdec.ptr28 = getelementptr inbounds i8, i8* %25, i32 1 + store i8* %incdec.ptr28, i8** %__bufpos27, align 8 + store i8 %conv26, i8* %25, align 1 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags29 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 0 + %27 = load i16, i16* %__modeflags29, align 8 + %conv30 = zext i16 %27 to i32 + %and31 = and i32 %conv30, 256 + %tobool32 = icmp ne i32 %and31, 0 + br i1 %tobool32, label %if.then33, label %if.end51 + +if.then33: ; preds = %if.end25 + %28 = load i32, i32* %c.addr, align 4 + %conv34 = trunc i32 %28 to i8 + %conv35 = zext i8 %conv34 to i32 + %cmp36 = icmp eq i32 %conv35, 10 + br i1 %cmp36, label %land.lhs.true38, label %if.end51 + +land.lhs.true38: ; preds = %if.then33 + %29 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call39 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %29) #18 + %tobool40 = icmp ne i64 %call39, 0 + br i1 %tobool40, label %if.then41, label %if.end51 + +if.then41: ; preds = %land.lhs.true38 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos42 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %30, i32 0, i32 5 + %31 = load i8*, i8** %__bufpos42, align 8 + %incdec.ptr43 = getelementptr inbounds i8, i8* %31, i32 -1 + store i8* %incdec.ptr43, i8** %__bufpos42, align 8 + br label %BAD + +if.else: ; preds = %if.end13 + %32 = load i32, i32* %c.addr, align 4 + %conv46 = trunc i32 %32 to i8 + store i8 %conv46, i8* %uc, align 1 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call47 = call i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %33, i8* %uc, i64 1) #18 + %tobool48 = icmp ne i64 %call47, 0 + br i1 %tobool48, label %if.end51, label %BAD + +if.end51: ; preds = %if.else, %if.end25, %land.lhs.true38, %if.then33 + %34 = load i32, i32* %c.addr, align 4 + %conv52 = trunc i32 %34 to i8 + %conv53 = zext i8 %conv52 to i32 + store i32 %conv53, i32* %retval, align 4 + br label %return + +BAD: ; preds = %lor.lhs.false, %if.else, %land.lhs.true, %if.then41 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %BAD, %if.end51, %if.then10, %if.then + %35 = load i32, i32* %retval, align 4 + ret i32 %35 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fputs_unlocked(i8* noalias %s, %struct.__STDIO_FILE_STRUCT.621* noalias %stream) #0 { +entry: + %s.addr = alloca i8*, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.621*, align 8 + %n = alloca i64, align 8 + store i8* %s, i8** %s.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.621* %stream, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %call = call i64 @strlen(i8* %0) #20 + store i64 %call, i64* %n, align 8 + %1 = load i8*, i8** %s.addr, align 8 + %2 = load i64, i64* %n, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %call1 = call i64 bitcast (i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*)* @fwrite_unlocked to i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.621*)*)(i8* %1, i64 1, i64 %2, %struct.__STDIO_FILE_STRUCT.621* %3) #18 + %4 = load i64, i64* %n, align 8 + %cmp = icmp eq i64 %call1, %4 + %5 = load i64, i64* %n, align 8 + %cond = select i1 %cmp, i64 %5, i64 -1 + %conv = trunc i64 %cond to i32 + ret i32 %conv +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fseek(%struct.__STDIO_FILE_STRUCT.636* %stream, i64 %offset, i32 %whence) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %1 = load i64, i64* %offset.addr, align 8 + %2 = load i32, i32* %whence.addr, align 4 + %call = call i32 @fseeko64(%struct.__STDIO_FILE_STRUCT.636* %0, i64 %1, i32 %2) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i64 @fwrite_unlocked(i8* noalias %ptr, i64 %size, i64 %nmemb, %struct.__STDIO_FILE_STRUCT.568* noalias %stream) #0 { +entry: + %retval = alloca i64, align 8 + %ptr.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %nmemb.addr = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + store i8* %ptr, i8** %ptr.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + store i64 %nmemb, i64* %nmemb.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 192 + %cmp = icmp eq i32 %and, 192 + br i1 %cmp, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* %2, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end13, label %land.lhs.true + +land.lhs.true: ; preds = %lor.lhs.false, %entry + %3 = load i64, i64* %size.addr, align 8 + %tobool2 = icmp ne i64 %3, 0 + %4 = load i64, i64* %nmemb.addr, align 8 + %tobool4 = icmp ne i64 %4, 0 + %or.cond = and i1 %tobool2, %tobool4 + br i1 %or.cond, label %if.then, label %if.end13 + +if.then: ; preds = %land.lhs.true + %5 = load i64, i64* %nmemb.addr, align 8 + %6 = load i64, i64* %size.addr, align 8 + %div = udiv i64 -1, %6 + %cmp5 = icmp ule i64 %5, %div + br i1 %cmp5, label %if.then7, label %if.end + +if.then7: ; preds = %if.then + %7 = load i8*, i8** %ptr.addr, align 8 + %8 = load i64, i64* %size.addr, align 8 + %9 = load i64, i64* %nmemb.addr, align 8 + %mul = mul i64 %8, %9 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call8 = call i64 @__stdio_fwrite(i8* %7, i64 %mul, %struct.__STDIO_FILE_STRUCT.568* %10) #18 + %11 = load i64, i64* %size.addr, align 8 + %div9 = udiv i64 %call8, %11 + store i64 %div9, i64* %retval, align 8 + br label %return + +if.end: ; preds = %if.then + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags10, align 8 + %conv11 = zext i16 %13 to i32 + %or = or i32 %conv11, 8 + %conv12 = trunc i32 %or to i16 + store i16 %conv12, i16* %__modeflags10, align 8 + store i32 22, i32* @errno, align 4 + br label %if.end13 + +if.end13: ; preds = %if.end, %land.lhs.true, %lor.lhs.false + store i64 0, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end13, %if.then7 + %14 = load i64, i64* %retval, align 8 + ret i64 %14 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @vsnprintf(i8* noalias %buf, i64 %size, i8* noalias %format, %struct.__va_list_tag.0* %arg) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %format.addr = alloca i8*, align 8 + %arg.addr = alloca %struct.__va_list_tag.0*, align 8 + %f = alloca %struct.__STDIO_FILE_STRUCT.568, align 8 + %rv = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + store %struct.__va_list_tag.0* %arg, %struct.__va_list_tag.0** %arg.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 2 + store i32 -2, i32* %__filedes, align 4 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 0 + store i16 208, i16* %__modeflags, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 1 + %arrayidx = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 0 + store i8 0, i8* %arrayidx, align 2 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + store i32 0, i32* %__mask, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 9 + store %struct.__STDIO_FILE_STRUCT.568* null, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + %0 = load i64, i64* %size.addr, align 8 + %1 = load i8*, i8** %buf.addr, align 8 + %2 = ptrtoint i8* %1 to i64 + %sub = sub i64 -1, %2 + %cmp = icmp ugt i64 %0, %sub + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %3 = load i8*, i8** %buf.addr, align 8 + %4 = ptrtoint i8* %3 to i64 + %sub1 = sub i64 -1, %4 + store i64 %sub1, i64* %size.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %5 = load i8*, i8** %buf.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 3 + store i8* %5, i8** %__bufstart, align 8 + %6 = load i8*, i8** %buf.addr, align 8 + %7 = load i64, i64* %size.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %6, i64 %7 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 4 + store i8* %add.ptr, i8** %__bufend, align 8 + %__bufstart2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 3 + %8 = load i8*, i8** %__bufstart2, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + store i8* %8, i8** %__bufpos, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 6 + store i8* %8, i8** %__bufread, align 8 + %__bufstart3 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 3 + %9 = load i8*, i8** %__bufstart3, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 7 + store i8* %9, i8** %__bufgetc_u, align 8 + %__bufend4 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 4 + %10 = load i8*, i8** %__bufend4, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 8 + store i8* %10, i8** %__bufputc_u, align 8 + %11 = load i8*, i8** %format.addr, align 8 + %12 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %arg.addr, align 8 + %call = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %f, i8* %11, %struct.__va_list_tag.0* %12) #18 + store i32 %call, i32* %rv, align 4 + %13 = load i64, i64* %size.addr, align 8 + %tobool = icmp ne i64 %13, 0 + br i1 %tobool, label %if.then5, label %if.end13 + +if.then5: ; preds = %if.end + %__bufpos6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + %14 = load i8*, i8** %__bufpos6, align 8 + %__bufend7 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 4 + %15 = load i8*, i8** %__bufend7, align 8 + %cmp8 = icmp eq i8* %14, %15 + br i1 %cmp8, label %if.then9, label %if.end11 + +if.then9: ; preds = %if.then5 + %__bufpos10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + %16 = load i8*, i8** %__bufpos10, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %16, i32 -1 + store i8* %incdec.ptr, i8** %__bufpos10, align 8 + br label %if.end11 + +if.end11: ; preds = %if.then9, %if.then5 + %__bufpos12 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + %17 = load i8*, i8** %__bufpos12, align 8 + store i8 0, i8* %17, align 1 + br label %if.end13 + +if.end13: ; preds = %if.end11, %if.end + %18 = load i32, i32* %rv, align 4 + ret i32 %18 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @atexit(void ()* nonnull %func) #0 { +entry: + %func.addr = alloca void ()*, align 8 + store void ()* %func, void ()** %func.addr, align 8 + %0 = load void ()*, void ()** %func.addr, align 8 + %1 = bitcast void ()* %0 to void (i8*)* + br i1 icmp eq (i8** @__dso_handle, i8** null), label %cond.end, label %cond.false + +cond.false: ; preds = %entry + %2 = load i8*, i8** @__dso_handle, align 8 + br label %cond.end + +cond.end: ; preds = %entry, %cond.false + %cond = phi i8* [ %2, %cond.false ], [ null, %entry ] + %call = call i32 @__cxa_atexit(void (i8*)* %1, i8* null, i8* %cond) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i8* @realpath(i8* %path, i8* nonnull %got_path) #0 { +entry: + %retval = alloca i8*, align 8 + %path.addr = alloca i8*, align 8 + %got_path.addr = alloca i8*, align 8 + %copy_path = alloca [4096 x i8], align 16 + %max_path = alloca i8*, align 8 + %new_path = alloca i8*, align 8 + %path_len = alloca i64, align 8 + %readlinks = alloca i32, align 4 + %link_len = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store i8* %got_path, i8** %got_path.addr, align 8 + store i32 0, i32* %readlinks, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %cmp = icmp eq i8* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 22, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %path.addr, align 8 + %2 = load i8, i8* %1, align 1 + %conv = sext i8 %2 to i32 + %cmp1 = icmp eq i32 %conv, 0 + br i1 %cmp1, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.end + store i32 2, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %if.end + %3 = load i8*, i8** %path.addr, align 8 + %call = call i64 @strlen(i8* %3) #20 + store i64 %call, i64* %path_len, align 8 + %4 = load i64, i64* %path_len, align 8 + %cmp5 = icmp uge i64 %4, 4094 + br i1 %cmp5, label %if.then7, label %if.end8 + +if.then7: ; preds = %if.end4 + store i32 36, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end8: ; preds = %if.end4 + %arraydecay = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 4095 + %5 = load i64, i64* %path_len, align 8 + %idx.neg = sub i64 0, %5 + %add.ptr9 = getelementptr inbounds i8, i8* %add.ptr, i64 %idx.neg + %6 = load i8*, i8** %path.addr, align 8 + %call10 = call i8* @strcpy(i8* %add.ptr9, i8* %6) #19 + %arraydecay11 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr12 = getelementptr inbounds i8, i8* %arraydecay11, i64 4095 + %7 = load i64, i64* %path_len, align 8 + %idx.neg13 = sub i64 0, %7 + %add.ptr14 = getelementptr inbounds i8, i8* %add.ptr12, i64 %idx.neg13 + store i8* %add.ptr14, i8** %path.addr, align 8 + %8 = load i8*, i8** %got_path.addr, align 8 + %add.ptr15 = getelementptr inbounds i8, i8* %8, i64 4096 + %add.ptr16 = getelementptr inbounds i8, i8* %add.ptr15, i64 -2 + store i8* %add.ptr16, i8** %max_path, align 8 + %9 = load i8*, i8** %got_path.addr, align 8 + store i8* %9, i8** %new_path, align 8 + %10 = load i8*, i8** %path.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv17 = sext i8 %11 to i32 + %cmp18 = icmp ne i32 %conv17, 47 + %12 = load i8*, i8** %new_path, align 8 + br i1 %cmp18, label %if.then20, label %if.else + +if.then20: ; preds = %if.end8 + %call21 = call i8* @getcwd(i8* %12, i64 4095) #19 + %tobool = icmp ne i8* %call21, null + br i1 %tobool, label %if.end23, label %if.then22 + +if.then22: ; preds = %if.then20 + store i8* null, i8** %retval, align 8 + br label %return + +if.end23: ; preds = %if.then20 + %13 = load i8*, i8** %new_path, align 8 + %call24 = call i64 @strlen(i8* %13) #20 + %14 = load i8*, i8** %new_path, align 8 + %add.ptr25 = getelementptr inbounds i8, i8* %14, i64 %call24 + store i8* %add.ptr25, i8** %new_path, align 8 + %15 = load i8*, i8** %new_path, align 8 + %arrayidx = getelementptr inbounds i8, i8* %15, i64 -1 + %16 = load i8, i8* %arrayidx, align 1 + %conv26 = sext i8 %16 to i32 + %cmp27 = icmp ne i32 %conv26, 47 + br i1 %cmp27, label %if.then29, label %if.end33 + +if.then29: ; preds = %if.end23 + %17 = load i8*, i8** %new_path, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %17, i32 1 + store i8* %incdec.ptr, i8** %new_path, align 8 + store i8 47, i8* %17, align 1 + br label %if.end33 + +if.else: ; preds = %if.end8 + %incdec.ptr31 = getelementptr inbounds i8, i8* %12, i32 1 + store i8* %incdec.ptr31, i8** %new_path, align 8 + store i8 47, i8* %12, align 1 + %18 = load i8*, i8** %path.addr, align 8 + %incdec.ptr32 = getelementptr inbounds i8, i8* %18, i32 1 + store i8* %incdec.ptr32, i8** %path.addr, align 8 + br label %if.end33 + +if.end33: ; preds = %if.end23, %if.then29, %if.else + br label %while.cond + +while.cond: ; preds = %while.cond79, %if.then72, %if.end155, %if.then55, %if.then40, %if.end33 + %19 = load i8*, i8** %path.addr, align 8 + %20 = load i8, i8* %19, align 1 + %conv34 = sext i8 %20 to i32 + %cmp35 = icmp ne i32 %conv34, 0 + br i1 %cmp35, label %while.body, label %while.end157 + +while.body: ; preds = %while.cond + %21 = load i8*, i8** %path.addr, align 8 + %22 = load i8, i8* %21, align 1 + %conv37 = sext i8 %22 to i32 + %cmp38 = icmp eq i32 %conv37, 47 + %23 = load i8*, i8** %path.addr, align 8 + br i1 %cmp38, label %if.then40, label %if.end42 + +if.then40: ; preds = %while.body + %incdec.ptr41 = getelementptr inbounds i8, i8* %23, i32 1 + store i8* %incdec.ptr41, i8** %path.addr, align 8 + br label %while.cond + +if.end42: ; preds = %while.body + %24 = load i8, i8* %23, align 1 + %conv43 = sext i8 %24 to i32 + %cmp44 = icmp eq i32 %conv43, 46 + br i1 %cmp44, label %if.then46, label %if.end88 + +if.then46: ; preds = %if.end42 + %25 = load i8*, i8** %path.addr, align 8 + %arrayidx47 = getelementptr inbounds i8, i8* %25, i64 1 + %26 = load i8, i8* %arrayidx47, align 1 + %conv48 = sext i8 %26 to i32 + %cmp49 = icmp eq i32 %conv48, 0 + br i1 %cmp49, label %if.then55, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then46 + %27 = load i8*, i8** %path.addr, align 8 + %arrayidx51 = getelementptr inbounds i8, i8* %27, i64 1 + %28 = load i8, i8* %arrayidx51, align 1 + %conv52 = sext i8 %28 to i32 + %cmp53 = icmp eq i32 %conv52, 47 + br i1 %cmp53, label %if.then55, label %if.end57 + +if.then55: ; preds = %lor.lhs.false, %if.then46 + %29 = load i8*, i8** %path.addr, align 8 + %incdec.ptr56 = getelementptr inbounds i8, i8* %29, i32 1 + store i8* %incdec.ptr56, i8** %path.addr, align 8 + br label %while.cond + +if.end57: ; preds = %lor.lhs.false + %30 = load i8*, i8** %path.addr, align 8 + %arrayidx58 = getelementptr inbounds i8, i8* %30, i64 1 + %31 = load i8, i8* %arrayidx58, align 1 + %conv59 = sext i8 %31 to i32 + %cmp60 = icmp eq i32 %conv59, 46 + br i1 %cmp60, label %if.then62, label %if.end88 + +if.then62: ; preds = %if.end57 + %32 = load i8*, i8** %path.addr, align 8 + %arrayidx63 = getelementptr inbounds i8, i8* %32, i64 2 + %33 = load i8, i8* %arrayidx63, align 1 + %conv64 = sext i8 %33 to i32 + %cmp65 = icmp eq i32 %conv64, 0 + br i1 %cmp65, label %if.then72, label %lor.lhs.false67 + +lor.lhs.false67: ; preds = %if.then62 + %34 = load i8*, i8** %path.addr, align 8 + %arrayidx68 = getelementptr inbounds i8, i8* %34, i64 2 + %35 = load i8, i8* %arrayidx68, align 1 + %conv69 = sext i8 %35 to i32 + %cmp70 = icmp eq i32 %conv69, 47 + br i1 %cmp70, label %if.then72, label %if.end88 + +if.then72: ; preds = %lor.lhs.false67, %if.then62 + %36 = load i8*, i8** %path.addr, align 8 + %add.ptr73 = getelementptr inbounds i8, i8* %36, i64 2 + store i8* %add.ptr73, i8** %path.addr, align 8 + %37 = load i8*, i8** %new_path, align 8 + %38 = load i8*, i8** %got_path.addr, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %38, i64 1 + %cmp75 = icmp eq i8* %37, %add.ptr74 + br i1 %cmp75, label %while.cond, label %while.cond79 + +while.cond79: ; preds = %while.cond79, %if.then72 + %39 = load i8*, i8** %new_path, align 8 + %incdec.ptr80 = getelementptr inbounds i8, i8* %39, i32 -1 + store i8* %incdec.ptr80, i8** %new_path, align 8 + %arrayidx81 = getelementptr inbounds i8, i8* %incdec.ptr80, i64 -1 + %40 = load i8, i8* %arrayidx81, align 1 + %conv82 = sext i8 %40 to i32 + %cmp83 = icmp ne i32 %conv82, 47 + br i1 %cmp83, label %while.cond79, label %while.cond + +if.end88: ; preds = %if.end57, %lor.lhs.false67, %if.end42 + br label %while.cond89 + +while.cond89: ; preds = %if.end100, %if.end88 + %41 = load i8*, i8** %path.addr, align 8 + %42 = load i8, i8* %41, align 1 + %conv90 = sext i8 %42 to i32 + %cmp91 = icmp ne i32 %conv90, 0 + br i1 %cmp91, label %land.rhs, label %while.end103 + +land.rhs: ; preds = %while.cond89 + %43 = load i8*, i8** %path.addr, align 8 + %44 = load i8, i8* %43, align 1 + %conv93 = sext i8 %44 to i32 + %cmp94 = icmp ne i32 %conv93, 47 + br i1 %cmp94, label %while.body96, label %while.end103 + +while.body96: ; preds = %land.rhs + %45 = load i8*, i8** %new_path, align 8 + %46 = load i8*, i8** %max_path, align 8 + %cmp97 = icmp ugt i8* %45, %46 + br i1 %cmp97, label %if.then99, label %if.end100 + +if.then99: ; preds = %while.body96 + store i32 36, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end100: ; preds = %while.body96 + %47 = load i8*, i8** %path.addr, align 8 + %incdec.ptr101 = getelementptr inbounds i8, i8* %47, i32 1 + store i8* %incdec.ptr101, i8** %path.addr, align 8 + %48 = load i8, i8* %47, align 1 + %49 = load i8*, i8** %new_path, align 8 + %incdec.ptr102 = getelementptr inbounds i8, i8* %49, i32 1 + store i8* %incdec.ptr102, i8** %new_path, align 8 + store i8 %48, i8* %49, align 1 + br label %while.cond89 + +while.end103: ; preds = %while.cond89, %land.rhs + %50 = load i32, i32* %readlinks, align 4 + %inc = add nsw i32 %50, 1 + store i32 %inc, i32* %readlinks, align 4 + %cmp104 = icmp sgt i32 %50, 32 + br i1 %cmp104, label %if.then106, label %if.end107 + +if.then106: ; preds = %while.end103 + store i32 40, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end107: ; preds = %while.end103 + %51 = load i8*, i8** %path.addr, align 8 + %call108 = call i64 @strlen(i8* %51) #20 + store i64 %call108, i64* %path_len, align 8 + %52 = load i8*, i8** %new_path, align 8 + store i8 0, i8* %52, align 1 + %53 = load i8*, i8** %got_path.addr, align 8 + %arraydecay109 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %call110 = call i64 @readlink(i8* %53, i8* %arraydecay109, i64 4095) #19 + %conv111 = trunc i64 %call110 to i32 + store i32 %conv111, i32* %link_len, align 4 + %54 = load i32, i32* %link_len, align 4 + %cmp112 = icmp slt i32 %54, 0 + br i1 %cmp112, label %if.then114, label %if.else119 + +if.then114: ; preds = %if.end107 + %55 = load i32, i32* @errno, align 4 + %cmp115 = icmp ne i32 %55, 22 + br i1 %cmp115, label %if.then117, label %if.end155 + +if.then117: ; preds = %if.then114 + store i8* null, i8** %retval, align 8 + br label %return + +if.else119: ; preds = %if.end107 + %56 = load i64, i64* %path_len, align 8 + %57 = load i32, i32* %link_len, align 4 + %conv120 = sext i32 %57 to i64 + %add = add i64 %56, %conv120 + %cmp121 = icmp uge i64 %add, 4094 + br i1 %cmp121, label %if.then123, label %if.end124 + +if.then123: ; preds = %if.else119 + store i32 36, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end124: ; preds = %if.else119 + %arraydecay125 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %58 = load i8, i8* %arraydecay125, align 16 + %conv126 = sext i8 %58 to i32 + %cmp127 = icmp eq i32 %conv126, 47 + br i1 %cmp127, label %if.then129, label %while.cond131 + +if.then129: ; preds = %if.end124 + %59 = load i8*, i8** %got_path.addr, align 8 + store i8* %59, i8** %new_path, align 8 + br label %if.end138 + +while.cond131: ; preds = %while.cond131, %if.end124 + %60 = load i8*, i8** %new_path, align 8 + %incdec.ptr132 = getelementptr inbounds i8, i8* %60, i32 -1 + store i8* %incdec.ptr132, i8** %new_path, align 8 + %61 = load i8, i8* %incdec.ptr132, align 1 + %conv133 = sext i8 %61 to i32 + %cmp134 = icmp ne i32 %conv133, 47 + br i1 %cmp134, label %while.cond131, label %if.end138 + +if.end138: ; preds = %while.cond131, %if.then129 + %arraydecay139 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr140 = getelementptr inbounds i8, i8* %arraydecay139, i64 4095 + %62 = load i32, i32* %link_len, align 4 + %idx.ext = sext i32 %62 to i64 + %idx.neg141 = sub i64 0, %idx.ext + %add.ptr142 = getelementptr inbounds i8, i8* %add.ptr140, i64 %idx.neg141 + %63 = load i64, i64* %path_len, align 8 + %idx.neg143 = sub i64 0, %63 + %add.ptr144 = getelementptr inbounds i8, i8* %add.ptr142, i64 %idx.neg143 + %arraydecay145 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %64 = load i32, i32* %link_len, align 4 + %conv146 = sext i32 %64 to i64 + %call147 = call i8* @memmove(i8* %add.ptr144, i8* %arraydecay145, i64 %conv146) #19 + %arraydecay148 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr149 = getelementptr inbounds i8, i8* %arraydecay148, i64 4095 + %65 = load i32, i32* %link_len, align 4 + %idx.ext150 = sext i32 %65 to i64 + %idx.neg151 = sub i64 0, %idx.ext150 + %add.ptr152 = getelementptr inbounds i8, i8* %add.ptr149, i64 %idx.neg151 + %66 = load i64, i64* %path_len, align 8 + %idx.neg153 = sub i64 0, %66 + %add.ptr154 = getelementptr inbounds i8, i8* %add.ptr152, i64 %idx.neg153 + store i8* %add.ptr154, i8** %path.addr, align 8 + br label %if.end155 + +if.end155: ; preds = %if.then114, %if.end138 + %67 = load i8*, i8** %new_path, align 8 + %incdec.ptr156 = getelementptr inbounds i8, i8* %67, i32 1 + store i8* %incdec.ptr156, i8** %new_path, align 8 + store i8 47, i8* %67, align 1 + br label %while.cond + +while.end157: ; preds = %while.cond + %68 = load i8*, i8** %new_path, align 8 + %69 = load i8*, i8** %got_path.addr, align 8 + %add.ptr158 = getelementptr inbounds i8, i8* %69, i64 1 + %cmp159 = icmp ne i8* %68, %add.ptr158 + br i1 %cmp159, label %land.lhs.true, label %if.end167 + +land.lhs.true: ; preds = %while.end157 + %70 = load i8*, i8** %new_path, align 8 + %arrayidx161 = getelementptr inbounds i8, i8* %70, i64 -1 + %71 = load i8, i8* %arrayidx161, align 1 + %conv162 = sext i8 %71 to i32 + %cmp163 = icmp eq i32 %conv162, 47 + br i1 %cmp163, label %if.then165, label %if.end167 + +if.then165: ; preds = %land.lhs.true + %72 = load i8*, i8** %new_path, align 8 + %incdec.ptr166 = getelementptr inbounds i8, i8* %72, i32 -1 + store i8* %incdec.ptr166, i8** %new_path, align 8 + br label %if.end167 + +if.end167: ; preds = %if.then165, %land.lhs.true, %while.end157 + %73 = load i8*, i8** %new_path, align 8 + store i8 0, i8* %73, align 1 + %74 = load i8*, i8** %got_path.addr, align 8 + store i8* %74, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end167, %if.then123, %if.then117, %if.then106, %if.then99, %if.then22, %if.then7, %if.then3, %if.then + %75 = load i8*, i8** %retval, align 8 + ret i8* %75 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @memcmp(i8* nonnull %s1, i8* nonnull %s2, i64 %n) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r1 = alloca i8*, align 8 + %r2 = alloca i8*, align 8 + %r = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %r1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %r2, align 8 + store i32 0, i32* %r, align 4 + br label %while.cond + +while.cond: ; preds = %land.rhs, %entry + %2 = load i64, i64* %n.addr, align 8 + %dec = add i64 %2, -1 + store i64 %dec, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %3 = load i8*, i8** %r1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %r1, align 8 + %4 = load i8, i8* %3, align 1 + %conv = zext i8 %4 to i32 + %5 = load i8*, i8** %r2, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr1, i8** %r2, align 8 + %6 = load i8, i8* %5, align 1 + %conv2 = zext i8 %6 to i32 + %sub = sub nsw i32 %conv, %conv2 + store i32 %sub, i32* %r, align 4 + %cmp = icmp eq i32 %sub, 0 + br i1 %cmp, label %while.cond, label %while.end + +while.end: ; preds = %while.cond, %land.rhs + %7 = load i32, i32* %r, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @strcoll(i8* nonnull %s0, i8* nonnull %s1) #14 { +entry: + %s0.addr = alloca i8*, align 8 + %s1.addr = alloca i8*, align 8 + store i8* %s0, i8** %s0.addr, align 8 + store i8* %s1, i8** %s1.addr, align 8 + %0 = load i8*, i8** %s0.addr, align 8 + %1 = load i8*, i8** %s1.addr, align 8 + %2 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %call = call i32 @strcoll_l(i8* %0, i8* %1, %struct.__uclibc_locale_struct.201* %2) #20 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i64 @strxfrm(i8* noalias %ws1, i8* noalias nonnull %ws2, i64 %n) #0 { +entry: + %ws1.addr = alloca i8*, align 8 + %ws2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + store i8* %ws1, i8** %ws1.addr, align 8 + store i8* %ws2, i8** %ws2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %ws1.addr, align 8 + %1 = load i8*, i8** %ws2.addr, align 8 + %2 = load i64, i64* %n.addr, align 8 + %3 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %call = call i64 @strxfrm_l(i8* %0, i8* %1, i64 %2, %struct.__uclibc_locale_struct.201* %3) #19 + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @tcgetattr(i32 %fd, %struct.termios* %termios_p) #0 { +entry: + %fd.addr = alloca i32, align 4 + %termios_p.addr = alloca %struct.termios*, align 8 + %k_termios = alloca %struct.__kernel_termios, align 4 + %retval1 = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.termios* %termios_p, %struct.termios** %termios_p.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 (i32, i64, ...) @ioctl(i32 %0, i64 21505, %struct.__kernel_termios* %k_termios) #19 + store i32 %call, i32* %retval1, align 4 + %c_iflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 0 + %1 = load i32, i32* %c_iflag, align 4 + %2 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_iflag2 = getelementptr inbounds %struct.termios, %struct.termios* %2, i32 0, i32 0 + store i32 %1, i32* %c_iflag2, align 4 + %c_oflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 1 + %3 = load i32, i32* %c_oflag, align 4 + %4 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_oflag3 = getelementptr inbounds %struct.termios, %struct.termios* %4, i32 0, i32 1 + store i32 %3, i32* %c_oflag3, align 4 + %c_cflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 2 + %5 = load i32, i32* %c_cflag, align 4 + %6 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_cflag4 = getelementptr inbounds %struct.termios, %struct.termios* %6, i32 0, i32 2 + store i32 %5, i32* %c_cflag4, align 4 + %c_lflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 3 + %7 = load i32, i32* %c_lflag, align 4 + %8 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_lflag5 = getelementptr inbounds %struct.termios, %struct.termios* %8, i32 0, i32 3 + store i32 %7, i32* %c_lflag5, align 4 + %c_line = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 4 + %9 = load i8, i8* %c_line, align 4 + %10 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_line6 = getelementptr inbounds %struct.termios, %struct.termios* %10, i32 0, i32 4 + store i8 %9, i8* %c_line6, align 4 + %11 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_cc = getelementptr inbounds %struct.termios, %struct.termios* %11, i32 0, i32 5 + %arrayidx = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc, i64 0, i64 0 + %c_cc7 = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 5 + %arrayidx8 = getelementptr inbounds [19 x i8], [19 x i8]* %c_cc7, i64 0, i64 0 + %call9 = call i8* @mempcpy(i8* %arrayidx, i8* %arrayidx8, i64 19) #19 + %call10 = call i8* @memset(i8* %call9, i32 0, i64 13) #19 + %12 = load i32, i32* %retval1, align 4 + ret i32 %12 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_getopt_internal(i32 %argc, i8** %argv, i8* %optstring, %struct.option* %longopts, i32* %longind, i32 %long_only) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + %longopts.addr = alloca %struct.option*, align 8 + %longind.addr = alloca i32*, align 8 + %long_only.addr = alloca i32, align 4 + %result = alloca i32, align 4 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + store %struct.option* %longopts, %struct.option** %longopts.addr, align 8 + store i32* %longind, i32** %longind.addr, align 8 + store i32 %long_only, i32* %long_only.addr, align 4 + %0 = load i32, i32* @optind, align 4 + store i32 %0, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 0), align 8 + %1 = load i32, i32* @opterr, align 4 + store i32 %1, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 1), align 4 + %2 = load i32, i32* %argc.addr, align 4 + %3 = load i8**, i8*** %argv.addr, align 8 + %4 = load i8*, i8** %optstring.addr, align 8 + %5 = load %struct.option*, %struct.option** %longopts.addr, align 8 + %6 = load i32*, i32** %longind.addr, align 8 + %7 = load i32, i32* %long_only.addr, align 4 + %call = call i32 @_getopt_internal_r(i32 %2, i8** %3, i8* %4, %struct.option* %5, i32* %6, i32 %7, %struct._getopt_data* @getopt_data) #18 + store i32 %call, i32* %result, align 4 + %8 = load i32, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 0), align 8 + store i32 %8, i32* @optind, align 4 + %9 = load i8*, i8** getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 3), align 8 + store i8* %9, i8** @optarg, align 8 + %10 = load i32, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 2), align 8 + store i32 %10, i32* @optopt, align 4 + %11 = load i32, i32* %result, align 4 + ret i32 %11 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_getopt_internal_r(i32 %argc, i8** %argv, i8* %optstring, %struct.option* %longopts, i32* %longind, i32 %long_only, %struct._getopt_data* %d) #0 { +entry: + %retval = alloca i32, align 4 + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + %longopts.addr = alloca %struct.option*, align 8 + %longind.addr = alloca i32*, align 8 + %long_only.addr = alloca i32, align 4 + %d.addr = alloca %struct._getopt_data*, align 8 + %print_errors = alloca i32, align 4 + %nameend = alloca i8*, align 8 + %p = alloca %struct.option*, align 8 + %pfound = alloca %struct.option*, align 8 + %exact = alloca i32, align 4 + %ambig = alloca i32, align 4 + %indfound = alloca i32, align 4 + %option_index = alloca i32, align 4 + %c = alloca i8, align 1 + %temp = alloca i8*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + store %struct.option* %longopts, %struct.option** %longopts.addr, align 8 + store i32* %longind, i32** %longind.addr, align 8 + store i32 %long_only, i32* %long_only.addr, align 4 + store %struct._getopt_data* %d, %struct._getopt_data** %d.addr, align 8 + %0 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %opterr = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %0, i32 0, i32 1 + %1 = load i32, i32* %opterr, align 4 + store i32 %1, i32* %print_errors, align 4 + %2 = load i8*, i8** %optstring.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %2, i64 0 + %3 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %3 to i32 + %cmp = icmp eq i32 %conv, 58 + %spec.store.select = select i1 %cmp, i32 0, i32 %1 + store i32 %spec.store.select, i32* %print_errors, align 4 + %4 = load i32, i32* %argc.addr, align 4 + %cmp2 = icmp slt i32 %4, 1 + br i1 %cmp2, label %if.then4, label %if.end5 + +if.then4: ; preds = %entry + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %entry + %5 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %5, i32 0, i32 3 + store i8* null, i8** %optarg, align 8 + %6 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %6, i32 0, i32 0 + %7 = load i32, i32* %optind, align 8 + %cmp6 = icmp eq i32 %7, 0 + br i1 %cmp6, label %if.then8, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end5 + %8 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__initialized = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %8, i32 0, i32 4 + %9 = load i32, i32* %__initialized, align 8 + %tobool = icmp ne i32 %9, 0 + br i1 %tobool, label %if.end16, label %if.then8 + +if.then8: ; preds = %lor.lhs.false, %if.end5 + %10 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind9 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %10, i32 0, i32 0 + %11 = load i32, i32* %optind9, align 8 + %cmp10 = icmp eq i32 %11, 0 + br i1 %cmp10, label %if.then12, label %if.end14 + +if.then12: ; preds = %if.then8 + %12 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind13 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %12, i32 0, i32 0 + store i32 1, i32* %optind13, align 8 + br label %if.end14 + +if.end14: ; preds = %if.then12, %if.then8 + %13 = load i32, i32* %argc.addr, align 4 + %14 = load i8**, i8*** %argv.addr, align 8 + %15 = load i8*, i8** %optstring.addr, align 8 + %16 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %call = call i8* @_getopt_initialize(i32 %13, i8** %14, i8* %15, %struct._getopt_data* %16) #18 + store i8* %call, i8** %optstring.addr, align 8 + %17 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__initialized15 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %17, i32 0, i32 4 + store i32 1, i32* %__initialized15, align 8 + br label %if.end16 + +if.end16: ; preds = %if.end14, %lor.lhs.false + %18 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %18, i32 0, i32 5 + %19 = load i8*, i8** %__nextchar, align 8 + %cmp17 = icmp eq i8* %19, null + br i1 %cmp17, label %if.then24, label %lor.lhs.false19 + +lor.lhs.false19: ; preds = %if.end16 + %20 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar20 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %20, i32 0, i32 5 + %21 = load i8*, i8** %__nextchar20, align 8 + %22 = load i8, i8* %21, align 1 + %conv21 = sext i8 %22 to i32 + %cmp22 = icmp eq i32 %conv21, 0 + br i1 %cmp22, label %if.then24, label %if.end171 + +if.then24: ; preds = %lor.lhs.false19, %if.end16 + %23 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %23, i32 0, i32 9 + %24 = load i32, i32* %__last_nonopt, align 4 + %25 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind25 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %25, i32 0, i32 0 + %26 = load i32, i32* %optind25, align 8 + %cmp26 = icmp sgt i32 %24, %26 + br i1 %cmp26, label %if.then28, label %if.end31 + +if.then28: ; preds = %if.then24 + %27 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind29 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %27, i32 0, i32 0 + %28 = load i32, i32* %optind29, align 8 + %29 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt30 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %29, i32 0, i32 9 + store i32 %28, i32* %__last_nonopt30, align 4 + br label %if.end31 + +if.end31: ; preds = %if.then28, %if.then24 + %30 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %30, i32 0, i32 8 + %31 = load i32, i32* %__first_nonopt, align 8 + %32 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind32 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %32, i32 0, i32 0 + %33 = load i32, i32* %optind32, align 8 + %cmp33 = icmp sgt i32 %31, %33 + br i1 %cmp33, label %if.then35, label %if.end38 + +if.then35: ; preds = %if.end31 + %34 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind36 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %34, i32 0, i32 0 + %35 = load i32, i32* %optind36, align 8 + %36 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt37 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %36, i32 0, i32 8 + store i32 %35, i32* %__first_nonopt37, align 8 + br label %if.end38 + +if.end38: ; preds = %if.then35, %if.end31 + %37 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %37, i32 0, i32 6 + %38 = load i32, i32* %__ordering, align 8 + %cmp39 = icmp eq i32 %38, 1 + br i1 %cmp39, label %if.then41, label %if.end79 + +if.then41: ; preds = %if.end38 + %39 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt42 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %39, i32 0, i32 8 + %40 = load i32, i32* %__first_nonopt42, align 8 + %41 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt43 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %41, i32 0, i32 9 + %42 = load i32, i32* %__last_nonopt43, align 4 + %cmp44 = icmp ne i32 %40, %42 + br i1 %cmp44, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %if.then41 + %43 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt46 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %43, i32 0, i32 9 + %44 = load i32, i32* %__last_nonopt46, align 4 + %45 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind47 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %45, i32 0, i32 0 + %46 = load i32, i32* %optind47, align 8 + %cmp48 = icmp ne i32 %44, %46 + br i1 %cmp48, label %if.then50, label %if.else + +if.then50: ; preds = %land.lhs.true + %47 = load i8**, i8*** %argv.addr, align 8 + %48 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + call void @exchange(i8** %47, %struct._getopt_data* %48) #18 + br label %if.end59 + +if.else: ; preds = %land.lhs.true, %if.then41 + %49 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt51 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %49, i32 0, i32 9 + %50 = load i32, i32* %__last_nonopt51, align 4 + %51 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind52 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %51, i32 0, i32 0 + %52 = load i32, i32* %optind52, align 8 + %cmp53 = icmp ne i32 %50, %52 + br i1 %cmp53, label %if.then55, label %if.end59 + +if.then55: ; preds = %if.else + %53 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind56 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %53, i32 0, i32 0 + %54 = load i32, i32* %optind56, align 8 + %55 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt57 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %55, i32 0, i32 8 + store i32 %54, i32* %__first_nonopt57, align 8 + br label %if.end59 + +if.end59: ; preds = %if.else, %if.then55, %if.then50 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end59 + %56 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind60 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %56, i32 0, i32 0 + %57 = load i32, i32* %optind60, align 8 + %58 = load i32, i32* %argc.addr, align 4 + %cmp61 = icmp slt i32 %57, %58 + br i1 %cmp61, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %59 = load i8**, i8*** %argv.addr, align 8 + %60 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind63 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %60, i32 0, i32 0 + %61 = load i32, i32* %optind63, align 8 + %idxprom = sext i32 %61 to i64 + %arrayidx64 = getelementptr inbounds i8*, i8** %59, i64 %idxprom + %62 = load i8*, i8** %arrayidx64, align 8 + %arrayidx65 = getelementptr inbounds i8, i8* %62, i64 0 + %63 = load i8, i8* %arrayidx65, align 1 + %conv66 = sext i8 %63 to i32 + %cmp67 = icmp ne i32 %conv66, 45 + br i1 %cmp67, label %land.end, label %lor.rhs + +lor.rhs: ; preds = %land.rhs + %64 = load i8**, i8*** %argv.addr, align 8 + %65 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind69 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %65, i32 0, i32 0 + %66 = load i32, i32* %optind69, align 8 + %idxprom70 = sext i32 %66 to i64 + %arrayidx71 = getelementptr inbounds i8*, i8** %64, i64 %idxprom70 + %67 = load i8*, i8** %arrayidx71, align 8 + %arrayidx72 = getelementptr inbounds i8, i8* %67, i64 1 + %68 = load i8, i8* %arrayidx72, align 1 + %conv73 = sext i8 %68 to i32 + %cmp74 = icmp eq i32 %conv73, 0 + br label %land.end + +land.end: ; preds = %land.rhs, %lor.rhs, %while.cond + %69 = phi i1 [ false, %while.cond ], [ true, %land.rhs ], [ %cmp74, %lor.rhs ] + %70 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind76 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %70, i32 0, i32 0 + %71 = load i32, i32* %optind76, align 8 + br i1 %69, label %while.body, label %while.end + +while.body: ; preds = %land.end + %inc = add nsw i32 %71, 1 + store i32 %inc, i32* %optind76, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %72 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt78 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %72, i32 0, i32 9 + store i32 %71, i32* %__last_nonopt78, align 4 + br label %if.end79 + +if.end79: ; preds = %while.end, %if.end38 + %73 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind80 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %73, i32 0, i32 0 + %74 = load i32, i32* %optind80, align 8 + %75 = load i32, i32* %argc.addr, align 4 + %cmp81 = icmp ne i32 %74, %75 + br i1 %cmp81, label %land.lhs.true83, label %if.end114 + +land.lhs.true83: ; preds = %if.end79 + %76 = load i8**, i8*** %argv.addr, align 8 + %77 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind84 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %77, i32 0, i32 0 + %78 = load i32, i32* %optind84, align 8 + %idxprom85 = sext i32 %78 to i64 + %arrayidx86 = getelementptr inbounds i8*, i8** %76, i64 %idxprom85 + %79 = load i8*, i8** %arrayidx86, align 8 + %call87 = call i32 @strcmp(i8* %79, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.309, i64 0, i64 0)) #20 + %tobool88 = icmp ne i32 %call87, 0 + br i1 %tobool88, label %if.end114, label %if.then89 + +if.then89: ; preds = %land.lhs.true83 + %80 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind90 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %80, i32 0, i32 0 + %81 = load i32, i32* %optind90, align 8 + %inc91 = add nsw i32 %81, 1 + store i32 %inc91, i32* %optind90, align 8 + %82 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt92 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %82, i32 0, i32 8 + %83 = load i32, i32* %__first_nonopt92, align 8 + %84 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt93 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %84, i32 0, i32 9 + %85 = load i32, i32* %__last_nonopt93, align 4 + %cmp94 = icmp ne i32 %83, %85 + br i1 %cmp94, label %land.lhs.true96, label %if.else102 + +land.lhs.true96: ; preds = %if.then89 + %86 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt97 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %86, i32 0, i32 9 + %87 = load i32, i32* %__last_nonopt97, align 4 + %88 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind98 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %88, i32 0, i32 0 + %89 = load i32, i32* %optind98, align 8 + %cmp99 = icmp ne i32 %87, %89 + br i1 %cmp99, label %if.then101, label %if.else102 + +if.then101: ; preds = %land.lhs.true96 + %90 = load i8**, i8*** %argv.addr, align 8 + %91 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + call void @exchange(i8** %90, %struct._getopt_data* %91) #18 + br label %if.end111 + +if.else102: ; preds = %land.lhs.true96, %if.then89 + %92 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt103 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %92, i32 0, i32 8 + %93 = load i32, i32* %__first_nonopt103, align 8 + %94 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt104 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %94, i32 0, i32 9 + %95 = load i32, i32* %__last_nonopt104, align 4 + %cmp105 = icmp eq i32 %93, %95 + br i1 %cmp105, label %if.then107, label %if.end111 + +if.then107: ; preds = %if.else102 + %96 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind108 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %96, i32 0, i32 0 + %97 = load i32, i32* %optind108, align 8 + %98 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt109 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %98, i32 0, i32 8 + store i32 %97, i32* %__first_nonopt109, align 8 + br label %if.end111 + +if.end111: ; preds = %if.else102, %if.then107, %if.then101 + %99 = load i32, i32* %argc.addr, align 4 + %100 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt112 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %100, i32 0, i32 9 + store i32 %99, i32* %__last_nonopt112, align 4 + %101 = load i32, i32* %argc.addr, align 4 + %102 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind113 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %102, i32 0, i32 0 + store i32 %101, i32* %optind113, align 8 + br label %if.end114 + +if.end114: ; preds = %if.end111, %land.lhs.true83, %if.end79 + %103 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind115 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %103, i32 0, i32 0 + %104 = load i32, i32* %optind115, align 8 + %105 = load i32, i32* %argc.addr, align 4 + %cmp116 = icmp eq i32 %104, %105 + br i1 %cmp116, label %if.then118, label %if.end127 + +if.then118: ; preds = %if.end114 + %106 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt119 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %106, i32 0, i32 8 + %107 = load i32, i32* %__first_nonopt119, align 8 + %108 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt120 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %108, i32 0, i32 9 + %109 = load i32, i32* %__last_nonopt120, align 4 + %cmp121 = icmp ne i32 %107, %109 + br i1 %cmp121, label %if.then123, label %if.end126 + +if.then123: ; preds = %if.then118 + %110 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt124 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %110, i32 0, i32 8 + %111 = load i32, i32* %__first_nonopt124, align 8 + %112 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind125 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %112, i32 0, i32 0 + store i32 %111, i32* %optind125, align 8 + br label %if.end126 + +if.end126: ; preds = %if.then123, %if.then118 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end127: ; preds = %if.end114 + %113 = load i8**, i8*** %argv.addr, align 8 + %114 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind128 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %114, i32 0, i32 0 + %115 = load i32, i32* %optind128, align 8 + %idxprom129 = sext i32 %115 to i64 + %arrayidx130 = getelementptr inbounds i8*, i8** %113, i64 %idxprom129 + %116 = load i8*, i8** %arrayidx130, align 8 + %arrayidx131 = getelementptr inbounds i8, i8* %116, i64 0 + %117 = load i8, i8* %arrayidx131, align 1 + %conv132 = sext i8 %117 to i32 + %cmp133 = icmp ne i32 %conv132, 45 + br i1 %cmp133, label %if.then143, label %lor.lhs.false135 + +lor.lhs.false135: ; preds = %if.end127 + %118 = load i8**, i8*** %argv.addr, align 8 + %119 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind136 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %119, i32 0, i32 0 + %120 = load i32, i32* %optind136, align 8 + %idxprom137 = sext i32 %120 to i64 + %arrayidx138 = getelementptr inbounds i8*, i8** %118, i64 %idxprom137 + %121 = load i8*, i8** %arrayidx138, align 8 + %arrayidx139 = getelementptr inbounds i8, i8* %121, i64 1 + %122 = load i8, i8* %arrayidx139, align 1 + %conv140 = sext i8 %122 to i32 + %cmp141 = icmp eq i32 %conv140, 0 + br i1 %cmp141, label %if.then143, label %if.end154 + +if.then143: ; preds = %lor.lhs.false135, %if.end127 + %123 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering144 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %123, i32 0, i32 6 + %124 = load i32, i32* %__ordering144, align 8 + %cmp145 = icmp eq i32 %124, 0 + br i1 %cmp145, label %if.then147, label %if.end148 + +if.then147: ; preds = %if.then143 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end148: ; preds = %if.then143 + %125 = load i8**, i8*** %argv.addr, align 8 + %126 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind149 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %126, i32 0, i32 0 + %127 = load i32, i32* %optind149, align 8 + %inc150 = add nsw i32 %127, 1 + store i32 %inc150, i32* %optind149, align 8 + %idxprom151 = sext i32 %127 to i64 + %arrayidx152 = getelementptr inbounds i8*, i8** %125, i64 %idxprom151 + %128 = load i8*, i8** %arrayidx152, align 8 + %129 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg153 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %129, i32 0, i32 3 + store i8* %128, i8** %optarg153, align 8 + store i32 1, i32* %retval, align 4 + br label %return + +if.end154: ; preds = %lor.lhs.false135 + %130 = load i8**, i8*** %argv.addr, align 8 + %131 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind155 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %131, i32 0, i32 0 + %132 = load i32, i32* %optind155, align 8 + %idxprom156 = sext i32 %132 to i64 + %arrayidx157 = getelementptr inbounds i8*, i8** %130, i64 %idxprom156 + %133 = load i8*, i8** %arrayidx157, align 8 + %add.ptr = getelementptr inbounds i8, i8* %133, i64 1 + %134 = load %struct.option*, %struct.option** %longopts.addr, align 8 + %cmp158 = icmp ne %struct.option* %134, null + br i1 %cmp158, label %land.rhs160, label %land.end168 + +land.rhs160: ; preds = %if.end154 + %135 = load i8**, i8*** %argv.addr, align 8 + %136 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind161 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %136, i32 0, i32 0 + %137 = load i32, i32* %optind161, align 8 + %idxprom162 = sext i32 %137 to i64 + %arrayidx163 = getelementptr inbounds i8*, i8** %135, i64 %idxprom162 + %138 = load i8*, i8** %arrayidx163, align 8 + %arrayidx164 = getelementptr inbounds i8, i8* %138, i64 1 + %139 = load i8, i8* %arrayidx164, align 1 + %conv165 = sext i8 %139 to i32 + %cmp166 = icmp eq i32 %conv165, 45 + br label %land.end168 + +land.end168: ; preds = %land.rhs160, %if.end154 + %140 = phi i1 [ false, %if.end154 ], [ %cmp166, %land.rhs160 ] + %land.ext = zext i1 %140 to i32 + %idx.ext = sext i32 %land.ext to i64 + %add.ptr169 = getelementptr inbounds i8, i8* %add.ptr, i64 %idx.ext + %141 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar170 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %141, i32 0, i32 5 + store i8* %add.ptr169, i8** %__nextchar170, align 8 + br label %if.end171 + +if.end171: ; preds = %land.end168, %lor.lhs.false19 + %142 = load %struct.option*, %struct.option** %longopts.addr, align 8 + %cmp172 = icmp ne %struct.option* %142, null + br i1 %cmp172, label %land.lhs.true174, label %if.end418 + +land.lhs.true174: ; preds = %if.end171 + %143 = load i8**, i8*** %argv.addr, align 8 + %144 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind175 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %144, i32 0, i32 0 + %145 = load i32, i32* %optind175, align 8 + %idxprom176 = sext i32 %145 to i64 + %arrayidx177 = getelementptr inbounds i8*, i8** %143, i64 %idxprom176 + %146 = load i8*, i8** %arrayidx177, align 8 + %arrayidx178 = getelementptr inbounds i8, i8* %146, i64 1 + %147 = load i8, i8* %arrayidx178, align 1 + %conv179 = sext i8 %147 to i32 + %cmp180 = icmp eq i32 %conv179, 45 + br i1 %cmp180, label %if.then199, label %lor.lhs.false182 + +lor.lhs.false182: ; preds = %land.lhs.true174 + %148 = load i32, i32* %long_only.addr, align 4 + %tobool183 = icmp ne i32 %148, 0 + br i1 %tobool183, label %land.lhs.true184, label %if.end418 + +land.lhs.true184: ; preds = %lor.lhs.false182 + %149 = load i8**, i8*** %argv.addr, align 8 + %150 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind185 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %150, i32 0, i32 0 + %151 = load i32, i32* %optind185, align 8 + %idxprom186 = sext i32 %151 to i64 + %arrayidx187 = getelementptr inbounds i8*, i8** %149, i64 %idxprom186 + %152 = load i8*, i8** %arrayidx187, align 8 + %arrayidx188 = getelementptr inbounds i8, i8* %152, i64 2 + %153 = load i8, i8* %arrayidx188, align 1 + %conv189 = sext i8 %153 to i32 + %tobool190 = icmp ne i32 %conv189, 0 + br i1 %tobool190, label %if.then199, label %lor.lhs.false191 + +lor.lhs.false191: ; preds = %land.lhs.true184 + %154 = load i8*, i8** %optstring.addr, align 8 + %155 = load i8**, i8*** %argv.addr, align 8 + %156 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind192 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %156, i32 0, i32 0 + %157 = load i32, i32* %optind192, align 8 + %idxprom193 = sext i32 %157 to i64 + %arrayidx194 = getelementptr inbounds i8*, i8** %155, i64 %idxprom193 + %158 = load i8*, i8** %arrayidx194, align 8 + %arrayidx195 = getelementptr inbounds i8, i8* %158, i64 1 + %159 = load i8, i8* %arrayidx195, align 1 + %conv196 = sext i8 %159 to i32 + %call197 = call i8* @strchr(i8* %154, i32 %conv196) #20 + %tobool198 = icmp ne i8* %call197, null + br i1 %tobool198, label %if.end418, label %if.then199 + +if.then199: ; preds = %lor.lhs.false191, %land.lhs.true184, %land.lhs.true174 + store %struct.option* null, %struct.option** %pfound, align 8 + store i32 0, i32* %exact, align 4 + store i32 0, i32* %ambig, align 4 + store i32 -1, i32* %indfound, align 4 + %160 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar200 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %160, i32 0, i32 5 + %161 = load i8*, i8** %__nextchar200, align 8 + store i8* %161, i8** %nameend, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.then199 + %162 = load i8*, i8** %nameend, align 8 + %163 = load i8, i8* %162, align 1 + %conv201 = sext i8 %163 to i32 + %tobool202 = icmp ne i32 %conv201, 0 + br i1 %tobool202, label %land.rhs203, label %for.end + +land.rhs203: ; preds = %for.cond + %164 = load i8*, i8** %nameend, align 8 + %165 = load i8, i8* %164, align 1 + %conv204 = sext i8 %165 to i32 + %cmp205 = icmp ne i32 %conv204, 61 + br i1 %cmp205, label %for.inc, label %for.end + +for.inc: ; preds = %land.rhs203 + %166 = load i8*, i8** %nameend, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %166, i32 1 + store i8* %incdec.ptr, i8** %nameend, align 8 + br label %for.cond + +for.end: ; preds = %for.cond, %land.rhs203 + %167 = load %struct.option*, %struct.option** %longopts.addr, align 8 + store %struct.option* %167, %struct.option** %p, align 8 + store i32 0, i32* %option_index, align 4 + br label %for.cond209 + +for.cond209: ; preds = %for.inc252, %for.end + %168 = load %struct.option*, %struct.option** %p, align 8 + %name = getelementptr inbounds %struct.option, %struct.option* %168, i32 0, i32 0 + %169 = load i8*, i8** %name, align 8 + %tobool210 = icmp ne i8* %169, null + br i1 %tobool210, label %for.body211, label %for.end255 + +for.body211: ; preds = %for.cond209 + %170 = load %struct.option*, %struct.option** %p, align 8 + %name212 = getelementptr inbounds %struct.option, %struct.option* %170, i32 0, i32 0 + %171 = load i8*, i8** %name212, align 8 + %172 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar213 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %172, i32 0, i32 5 + %173 = load i8*, i8** %__nextchar213, align 8 + %174 = load i8*, i8** %nameend, align 8 + %175 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar214 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %175, i32 0, i32 5 + %176 = load i8*, i8** %__nextchar214, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %174 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %176 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %call215 = call i32 @strncmp(i8* %171, i8* %173, i64 %sub.ptr.sub) #20 + %tobool216 = icmp ne i32 %call215, 0 + br i1 %tobool216, label %for.inc252, label %if.then217 + +if.then217: ; preds = %for.body211 + %177 = load i8*, i8** %nameend, align 8 + %178 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar218 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %178, i32 0, i32 5 + %179 = load i8*, i8** %__nextchar218, align 8 + %sub.ptr.lhs.cast219 = ptrtoint i8* %177 to i64 + %sub.ptr.rhs.cast220 = ptrtoint i8* %179 to i64 + %sub.ptr.sub221 = sub i64 %sub.ptr.lhs.cast219, %sub.ptr.rhs.cast220 + %conv222 = trunc i64 %sub.ptr.sub221 to i32 + %180 = load %struct.option*, %struct.option** %p, align 8 + %name223 = getelementptr inbounds %struct.option, %struct.option* %180, i32 0, i32 0 + %181 = load i8*, i8** %name223, align 8 + %call224 = call i64 @strlen(i8* %181) #20 + %conv225 = trunc i64 %call224 to i32 + %cmp226 = icmp eq i32 %conv222, %conv225 + br i1 %cmp226, label %if.then228, label %if.else229 + +if.then228: ; preds = %if.then217 + %182 = load %struct.option*, %struct.option** %p, align 8 + store %struct.option* %182, %struct.option** %pfound, align 8 + %183 = load i32, i32* %option_index, align 4 + store i32 %183, i32* %indfound, align 4 + store i32 1, i32* %exact, align 4 + br label %for.end255 + +if.else229: ; preds = %if.then217 + %184 = load %struct.option*, %struct.option** %pfound, align 8 + %cmp230 = icmp eq %struct.option* %184, null + br i1 %cmp230, label %if.then232, label %if.else233 + +if.then232: ; preds = %if.else229 + %185 = load %struct.option*, %struct.option** %p, align 8 + store %struct.option* %185, %struct.option** %pfound, align 8 + %186 = load i32, i32* %option_index, align 4 + store i32 %186, i32* %indfound, align 4 + br label %for.inc252 + +if.else233: ; preds = %if.else229 + %187 = load i32, i32* %long_only.addr, align 4 + %tobool234 = icmp ne i32 %187, 0 + br i1 %tobool234, label %if.then247, label %lor.lhs.false235 + +lor.lhs.false235: ; preds = %if.else233 + %188 = load %struct.option*, %struct.option** %pfound, align 8 + %has_arg = getelementptr inbounds %struct.option, %struct.option* %188, i32 0, i32 1 + %189 = load i32, i32* %has_arg, align 8 + %190 = load %struct.option*, %struct.option** %p, align 8 + %has_arg236 = getelementptr inbounds %struct.option, %struct.option* %190, i32 0, i32 1 + %191 = load i32, i32* %has_arg236, align 8 + %cmp237 = icmp ne i32 %189, %191 + br i1 %cmp237, label %if.then247, label %lor.lhs.false239 + +lor.lhs.false239: ; preds = %lor.lhs.false235 + %192 = load %struct.option*, %struct.option** %pfound, align 8 + %flag = getelementptr inbounds %struct.option, %struct.option* %192, i32 0, i32 2 + %193 = load i32*, i32** %flag, align 8 + %194 = load %struct.option*, %struct.option** %p, align 8 + %flag240 = getelementptr inbounds %struct.option, %struct.option* %194, i32 0, i32 2 + %195 = load i32*, i32** %flag240, align 8 + %cmp241 = icmp ne i32* %193, %195 + br i1 %cmp241, label %if.then247, label %lor.lhs.false243 + +lor.lhs.false243: ; preds = %lor.lhs.false239 + %196 = load %struct.option*, %struct.option** %pfound, align 8 + %val = getelementptr inbounds %struct.option, %struct.option* %196, i32 0, i32 3 + %197 = load i32, i32* %val, align 8 + %198 = load %struct.option*, %struct.option** %p, align 8 + %val244 = getelementptr inbounds %struct.option, %struct.option* %198, i32 0, i32 3 + %199 = load i32, i32* %val244, align 8 + %cmp245 = icmp ne i32 %197, %199 + br i1 %cmp245, label %if.then247, label %for.inc252 + +if.then247: ; preds = %lor.lhs.false243, %lor.lhs.false239, %lor.lhs.false235, %if.else233 + store i32 1, i32* %ambig, align 4 + br label %for.inc252 + +for.inc252: ; preds = %for.body211, %if.then232, %if.then247, %lor.lhs.false243 + %200 = load %struct.option*, %struct.option** %p, align 8 + %incdec.ptr253 = getelementptr inbounds %struct.option, %struct.option* %200, i32 1 + store %struct.option* %incdec.ptr253, %struct.option** %p, align 8 + %201 = load i32, i32* %option_index, align 4 + %inc254 = add nsw i32 %201, 1 + store i32 %inc254, i32* %option_index, align 4 + br label %for.cond209 + +for.end255: ; preds = %if.then228, %for.cond209 + %202 = load i32, i32* %ambig, align 4 + %tobool256 = icmp eq i32 %202, 0 + %203 = load i32, i32* %exact, align 4 + %tobool258 = icmp ne i32 %203, 0 + %or.cond = or i1 %tobool256, %tobool258 + br i1 %or.cond, label %if.end274, label %if.then259 + +if.then259: ; preds = %for.end255 + %204 = load i32, i32* %print_errors, align 4 + %tobool260 = icmp ne i32 %204, 0 + br i1 %tobool260, label %if.then261, label %if.end267 + +if.then261: ; preds = %if.then259 + %205 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %206 = load i8**, i8*** %argv.addr, align 8 + %arrayidx262 = getelementptr inbounds i8*, i8** %206, i64 0 + %207 = load i8*, i8** %arrayidx262, align 8 + %208 = load i8**, i8*** %argv.addr, align 8 + %209 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind263 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %209, i32 0, i32 0 + %210 = load i32, i32* %optind263, align 8 + %idxprom264 = sext i32 %210 to i64 + %arrayidx265 = getelementptr inbounds i8*, i8** %208, i64 %idxprom264 + %211 = load i8*, i8** %arrayidx265, align 8 + %call266 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %205, i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.1.310, i64 0, i64 0), i8* %207, i8* %211) #18 + br label %if.end267 + +if.end267: ; preds = %if.then261, %if.then259 + %212 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar268 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %212, i32 0, i32 5 + %213 = load i8*, i8** %__nextchar268, align 8 + %call269 = call i64 @strlen(i8* %213) #20 + %214 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar270 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %214, i32 0, i32 5 + %215 = load i8*, i8** %__nextchar270, align 8 + %add.ptr271 = getelementptr inbounds i8, i8* %215, i64 %call269 + store i8* %add.ptr271, i8** %__nextchar270, align 8 + %216 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind272 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %216, i32 0, i32 0 + %217 = load i32, i32* %optind272, align 8 + %inc273 = add nsw i32 %217, 1 + store i32 %inc273, i32* %optind272, align 8 + %218 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %218, i32 0, i32 2 + store i32 0, i32* %optopt, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.end274: ; preds = %for.end255 + %219 = load %struct.option*, %struct.option** %pfound, align 8 + %cmp275 = icmp ne %struct.option* %219, null + br i1 %cmp275, label %if.then277, label %if.end372 + +if.then277: ; preds = %if.end274 + %220 = load i32, i32* %indfound, align 4 + store i32 %220, i32* %option_index, align 4 + %221 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind278 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %221, i32 0, i32 0 + %222 = load i32, i32* %optind278, align 8 + %inc279 = add nsw i32 %222, 1 + store i32 %inc279, i32* %optind278, align 8 + %223 = load i8*, i8** %nameend, align 8 + %224 = load i8, i8* %223, align 1 + %tobool280 = icmp ne i8 %224, 0 + %225 = load %struct.option*, %struct.option** %pfound, align 8 + %has_arg282 = getelementptr inbounds %struct.option, %struct.option* %225, i32 0, i32 1 + %226 = load i32, i32* %has_arg282, align 8 + br i1 %tobool280, label %if.then281, label %if.else320 + +if.then281: ; preds = %if.then277 + %tobool283 = icmp ne i32 %226, 0 + br i1 %tobool283, label %if.then284, label %if.else287 + +if.then284: ; preds = %if.then281 + %227 = load i8*, i8** %nameend, align 8 + %add.ptr285 = getelementptr inbounds i8, i8* %227, i64 1 + %228 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg286 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %228, i32 0, i32 3 + store i8* %add.ptr285, i8** %optarg286, align 8 + br label %if.end356 + +if.else287: ; preds = %if.then281 + %229 = load i32, i32* %print_errors, align 4 + %tobool288 = icmp ne i32 %229, 0 + br i1 %tobool288, label %if.then289, label %if.end312 + +if.then289: ; preds = %if.else287 + %230 = load i8**, i8*** %argv.addr, align 8 + %231 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind290 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %231, i32 0, i32 0 + %232 = load i32, i32* %optind290, align 8 + %sub = sub nsw i32 %232, 1 + %idxprom291 = sext i32 %sub to i64 + %arrayidx292 = getelementptr inbounds i8*, i8** %230, i64 %idxprom291 + %233 = load i8*, i8** %arrayidx292, align 8 + %arrayidx293 = getelementptr inbounds i8, i8* %233, i64 1 + %234 = load i8, i8* %arrayidx293, align 1 + %conv294 = sext i8 %234 to i32 + %cmp295 = icmp eq i32 %conv294, 45 + %235 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %236 = load i8**, i8*** %argv.addr, align 8 + %arrayidx298 = getelementptr inbounds i8*, i8** %236, i64 0 + %237 = load i8*, i8** %arrayidx298, align 8 + br i1 %cmp295, label %if.then297, label %if.else301 + +if.then297: ; preds = %if.then289 + %238 = load %struct.option*, %struct.option** %pfound, align 8 + %name299 = getelementptr inbounds %struct.option, %struct.option* %238, i32 0, i32 0 + %239 = load i8*, i8** %name299, align 8 + %call300 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %235, i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.2.311, i64 0, i64 0), i8* %237, i8* %239) #18 + br label %if.end312 + +if.else301: ; preds = %if.then289 + %240 = load i8**, i8*** %argv.addr, align 8 + %241 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind303 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %241, i32 0, i32 0 + %242 = load i32, i32* %optind303, align 8 + %sub304 = sub nsw i32 %242, 1 + %idxprom305 = sext i32 %sub304 to i64 + %arrayidx306 = getelementptr inbounds i8*, i8** %240, i64 %idxprom305 + %243 = load i8*, i8** %arrayidx306, align 8 + %arrayidx307 = getelementptr inbounds i8, i8* %243, i64 0 + %244 = load i8, i8* %arrayidx307, align 1 + %conv308 = sext i8 %244 to i32 + %245 = load %struct.option*, %struct.option** %pfound, align 8 + %name309 = getelementptr inbounds %struct.option, %struct.option* %245, i32 0, i32 0 + %246 = load i8*, i8** %name309, align 8 + %call310 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %235, i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.3.312, i64 0, i64 0), i8* %237, i32 %conv308, i8* %246) #18 + br label %if.end312 + +if.end312: ; preds = %if.then297, %if.else301, %if.else287 + %247 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar313 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %247, i32 0, i32 5 + %248 = load i8*, i8** %__nextchar313, align 8 + %call314 = call i64 @strlen(i8* %248) #20 + %249 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar315 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %249, i32 0, i32 5 + %250 = load i8*, i8** %__nextchar315, align 8 + %add.ptr316 = getelementptr inbounds i8, i8* %250, i64 %call314 + store i8* %add.ptr316, i8** %__nextchar315, align 8 + %251 = load %struct.option*, %struct.option** %pfound, align 8 + %val317 = getelementptr inbounds %struct.option, %struct.option* %251, i32 0, i32 3 + %252 = load i32, i32* %val317, align 8 + %253 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt318 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %253, i32 0, i32 2 + store i32 %252, i32* %optopt318, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.else320: ; preds = %if.then277 + %cmp322 = icmp eq i32 %226, 1 + br i1 %cmp322, label %if.then324, label %if.end356 + +if.then324: ; preds = %if.else320 + %254 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind325 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %254, i32 0, i32 0 + %255 = load i32, i32* %optind325, align 8 + %256 = load i32, i32* %argc.addr, align 4 + %cmp326 = icmp slt i32 %255, %256 + br i1 %cmp326, label %if.then328, label %if.else334 + +if.then328: ; preds = %if.then324 + %257 = load i8**, i8*** %argv.addr, align 8 + %258 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind329 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %258, i32 0, i32 0 + %259 = load i32, i32* %optind329, align 8 + %inc330 = add nsw i32 %259, 1 + store i32 %inc330, i32* %optind329, align 8 + %idxprom331 = sext i32 %259 to i64 + %arrayidx332 = getelementptr inbounds i8*, i8** %257, i64 %idxprom331 + %260 = load i8*, i8** %arrayidx332, align 8 + %261 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg333 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %261, i32 0, i32 3 + store i8* %260, i8** %optarg333, align 8 + br label %if.end356 + +if.else334: ; preds = %if.then324 + %262 = load i32, i32* %print_errors, align 4 + %tobool335 = icmp ne i32 %262, 0 + br i1 %tobool335, label %if.then336, label %if.end343 + +if.then336: ; preds = %if.else334 + %263 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %264 = load i8**, i8*** %argv.addr, align 8 + %arrayidx337 = getelementptr inbounds i8*, i8** %264, i64 0 + %265 = load i8*, i8** %arrayidx337, align 8 + %266 = load i8**, i8*** %argv.addr, align 8 + %267 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind338 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %267, i32 0, i32 0 + %268 = load i32, i32* %optind338, align 8 + %sub339 = sub nsw i32 %268, 1 + %idxprom340 = sext i32 %sub339 to i64 + %arrayidx341 = getelementptr inbounds i8*, i8** %266, i64 %idxprom340 + %269 = load i8*, i8** %arrayidx341, align 8 + %call342 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %263, i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.4.313, i64 0, i64 0), i8* %265, i8* %269) #18 + br label %if.end343 + +if.end343: ; preds = %if.then336, %if.else334 + %270 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar344 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %270, i32 0, i32 5 + %271 = load i8*, i8** %__nextchar344, align 8 + %call345 = call i64 @strlen(i8* %271) #20 + %272 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar346 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %272, i32 0, i32 5 + %273 = load i8*, i8** %__nextchar346, align 8 + %add.ptr347 = getelementptr inbounds i8, i8* %273, i64 %call345 + store i8* %add.ptr347, i8** %__nextchar346, align 8 + %274 = load %struct.option*, %struct.option** %pfound, align 8 + %val348 = getelementptr inbounds %struct.option, %struct.option* %274, i32 0, i32 3 + %275 = load i32, i32* %val348, align 8 + %276 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt349 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %276, i32 0, i32 2 + store i32 %275, i32* %optopt349, align 8 + %277 = load i8*, i8** %optstring.addr, align 8 + %arrayidx350 = getelementptr inbounds i8, i8* %277, i64 0 + %278 = load i8, i8* %arrayidx350, align 1 + %conv351 = sext i8 %278 to i32 + %cmp352 = icmp eq i32 %conv351, 58 + %279 = zext i1 %cmp352 to i64 + %cond = select i1 %cmp352, i32 58, i32 63 + store i32 %cond, i32* %retval, align 4 + br label %return + +if.end356: ; preds = %if.else320, %if.then328, %if.then284 + %280 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar357 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %280, i32 0, i32 5 + %281 = load i8*, i8** %__nextchar357, align 8 + %call358 = call i64 @strlen(i8* %281) #20 + %282 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar359 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %282, i32 0, i32 5 + %283 = load i8*, i8** %__nextchar359, align 8 + %add.ptr360 = getelementptr inbounds i8, i8* %283, i64 %call358 + store i8* %add.ptr360, i8** %__nextchar359, align 8 + %284 = load i32*, i32** %longind.addr, align 8 + %cmp361 = icmp ne i32* %284, null + br i1 %cmp361, label %if.then363, label %if.end364 + +if.then363: ; preds = %if.end356 + %285 = load i32, i32* %option_index, align 4 + %286 = load i32*, i32** %longind.addr, align 8 + store i32 %285, i32* %286, align 4 + br label %if.end364 + +if.end364: ; preds = %if.then363, %if.end356 + %287 = load %struct.option*, %struct.option** %pfound, align 8 + %flag365 = getelementptr inbounds %struct.option, %struct.option* %287, i32 0, i32 2 + %288 = load i32*, i32** %flag365, align 8 + %tobool366 = icmp ne i32* %288, null + %289 = load %struct.option*, %struct.option** %pfound, align 8 + %val368 = getelementptr inbounds %struct.option, %struct.option* %289, i32 0, i32 3 + %290 = load i32, i32* %val368, align 8 + br i1 %tobool366, label %if.then367, label %if.end370 + +if.then367: ; preds = %if.end364 + %291 = load %struct.option*, %struct.option** %pfound, align 8 + %flag369 = getelementptr inbounds %struct.option, %struct.option* %291, i32 0, i32 2 + %292 = load i32*, i32** %flag369, align 8 + store i32 %290, i32* %292, align 4 + store i32 0, i32* %retval, align 4 + br label %return + +if.end370: ; preds = %if.end364 + store i32 %290, i32* %retval, align 4 + br label %return + +if.end372: ; preds = %if.end274 + %293 = load i32, i32* %long_only.addr, align 4 + %tobool373 = icmp ne i32 %293, 0 + br i1 %tobool373, label %lor.lhs.false374, label %if.then388 + +lor.lhs.false374: ; preds = %if.end372 + %294 = load i8**, i8*** %argv.addr, align 8 + %295 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind375 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %295, i32 0, i32 0 + %296 = load i32, i32* %optind375, align 8 + %idxprom376 = sext i32 %296 to i64 + %arrayidx377 = getelementptr inbounds i8*, i8** %294, i64 %idxprom376 + %297 = load i8*, i8** %arrayidx377, align 8 + %arrayidx378 = getelementptr inbounds i8, i8* %297, i64 1 + %298 = load i8, i8* %arrayidx378, align 1 + %conv379 = sext i8 %298 to i32 + %cmp380 = icmp eq i32 %conv379, 45 + br i1 %cmp380, label %if.then388, label %lor.lhs.false382 + +lor.lhs.false382: ; preds = %lor.lhs.false374 + %299 = load i8*, i8** %optstring.addr, align 8 + %300 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar383 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %300, i32 0, i32 5 + %301 = load i8*, i8** %__nextchar383, align 8 + %302 = load i8, i8* %301, align 1 + %conv384 = sext i8 %302 to i32 + %call385 = call i8* @strchr(i8* %299, i32 %conv384) #20 + %cmp386 = icmp eq i8* %call385, null + br i1 %cmp386, label %if.then388, label %if.end418 + +if.then388: ; preds = %lor.lhs.false382, %lor.lhs.false374, %if.end372 + %303 = load i32, i32* %print_errors, align 4 + %tobool389 = icmp ne i32 %303, 0 + br i1 %tobool389, label %if.then390, label %if.end412 + +if.then390: ; preds = %if.then388 + %304 = load i8**, i8*** %argv.addr, align 8 + %305 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind391 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %305, i32 0, i32 0 + %306 = load i32, i32* %optind391, align 8 + %idxprom392 = sext i32 %306 to i64 + %arrayidx393 = getelementptr inbounds i8*, i8** %304, i64 %idxprom392 + %307 = load i8*, i8** %arrayidx393, align 8 + %arrayidx394 = getelementptr inbounds i8, i8* %307, i64 1 + %308 = load i8, i8* %arrayidx394, align 1 + %conv395 = sext i8 %308 to i32 + %cmp396 = icmp eq i32 %conv395, 45 + %309 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %310 = load i8**, i8*** %argv.addr, align 8 + %arrayidx399 = getelementptr inbounds i8*, i8** %310, i64 0 + %311 = load i8*, i8** %arrayidx399, align 8 + br i1 %cmp396, label %if.then398, label %if.else402 + +if.then398: ; preds = %if.then390 + %312 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar400 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %312, i32 0, i32 5 + %313 = load i8*, i8** %__nextchar400, align 8 + %call401 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %309, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.5.314, i64 0, i64 0), i8* %311, i8* %313) #18 + br label %if.end412 + +if.else402: ; preds = %if.then390 + %314 = load i8**, i8*** %argv.addr, align 8 + %315 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind404 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %315, i32 0, i32 0 + %316 = load i32, i32* %optind404, align 8 + %idxprom405 = sext i32 %316 to i64 + %arrayidx406 = getelementptr inbounds i8*, i8** %314, i64 %idxprom405 + %317 = load i8*, i8** %arrayidx406, align 8 + %arrayidx407 = getelementptr inbounds i8, i8* %317, i64 0 + %318 = load i8, i8* %arrayidx407, align 1 + %conv408 = sext i8 %318 to i32 + %319 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar409 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %319, i32 0, i32 5 + %320 = load i8*, i8** %__nextchar409, align 8 + %call410 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %309, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.6.315, i64 0, i64 0), i8* %311, i32 %conv408, i8* %320) #18 + br label %if.end412 + +if.end412: ; preds = %if.then398, %if.else402, %if.then388 + %321 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar413 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %321, i32 0, i32 5 + store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.7.316, i64 0, i64 0), i8** %__nextchar413, align 8 + %322 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind414 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %322, i32 0, i32 0 + %323 = load i32, i32* %optind414, align 8 + %inc415 = add nsw i32 %323, 1 + store i32 %inc415, i32* %optind414, align 8 + %324 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt416 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %324, i32 0, i32 2 + store i32 0, i32* %optopt416, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.end418: ; preds = %lor.lhs.false382, %lor.lhs.false191, %lor.lhs.false182, %if.end171 + %325 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar419 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %325, i32 0, i32 5 + %326 = load i8*, i8** %__nextchar419, align 8 + %incdec.ptr420 = getelementptr inbounds i8, i8* %326, i32 1 + store i8* %incdec.ptr420, i8** %__nextchar419, align 8 + %327 = load i8, i8* %326, align 1 + store i8 %327, i8* %c, align 1 + %328 = load i8*, i8** %optstring.addr, align 8 + %329 = load i8, i8* %c, align 1 + %conv421 = sext i8 %329 to i32 + %call422 = call i8* @strchr(i8* %328, i32 %conv421) #20 + store i8* %call422, i8** %temp, align 8 + %330 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar423 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %330, i32 0, i32 5 + %331 = load i8*, i8** %__nextchar423, align 8 + %332 = load i8, i8* %331, align 1 + %conv424 = sext i8 %332 to i32 + %cmp425 = icmp eq i32 %conv424, 0 + br i1 %cmp425, label %if.then427, label %if.end430 + +if.then427: ; preds = %if.end418 + %333 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind428 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %333, i32 0, i32 0 + %334 = load i32, i32* %optind428, align 8 + %inc429 = add nsw i32 %334, 1 + store i32 %inc429, i32* %optind428, align 8 + br label %if.end430 + +if.end430: ; preds = %if.then427, %if.end418 + %335 = load i8*, i8** %temp, align 8 + %cmp431 = icmp eq i8* %335, null + br i1 %cmp431, label %if.then437, label %lor.lhs.false433 + +lor.lhs.false433: ; preds = %if.end430 + %336 = load i8, i8* %c, align 1 + %conv434 = sext i8 %336 to i32 + %cmp435 = icmp eq i32 %conv434, 58 + br i1 %cmp435, label %if.then437, label %if.end453 + +if.then437: ; preds = %lor.lhs.false433, %if.end430 + %337 = load i32, i32* %print_errors, align 4 + %tobool438 = icmp ne i32 %337, 0 + br i1 %tobool438, label %if.then439, label %if.end450 + +if.then439: ; preds = %if.then437 + %338 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__posixly_correct = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %338, i32 0, i32 7 + %339 = load i32, i32* %__posixly_correct, align 4 + %tobool440 = icmp ne i32 %339, 0 + %340 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %341 = load i8**, i8*** %argv.addr, align 8 + %arrayidx442 = getelementptr inbounds i8*, i8** %341, i64 0 + %342 = load i8*, i8** %arrayidx442, align 8 + %343 = load i8, i8* %c, align 1 + %conv443 = sext i8 %343 to i32 + br i1 %tobool440, label %if.then441, label %if.else445 + +if.then441: ; preds = %if.then439 + %call444 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %340, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.8.317, i64 0, i64 0), i8* %342, i32 %conv443) #18 + br label %if.end450 + +if.else445: ; preds = %if.then439 + %call448 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %340, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.9.318, i64 0, i64 0), i8* %342, i32 %conv443) #18 + br label %if.end450 + +if.end450: ; preds = %if.then441, %if.else445, %if.then437 + %344 = load i8, i8* %c, align 1 + %conv451 = sext i8 %344 to i32 + %345 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt452 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %345, i32 0, i32 2 + store i32 %conv451, i32* %optopt452, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.end453: ; preds = %lor.lhs.false433 + %346 = load i8*, i8** %temp, align 8 + %arrayidx454 = getelementptr inbounds i8, i8* %346, i64 1 + %347 = load i8, i8* %arrayidx454, align 1 + %conv455 = sext i8 %347 to i32 + %cmp456 = icmp eq i32 %conv455, 58 + br i1 %cmp456, label %if.then458, label %if.end517 + +if.then458: ; preds = %if.end453 + %348 = load i8*, i8** %temp, align 8 + %arrayidx459 = getelementptr inbounds i8, i8* %348, i64 2 + %349 = load i8, i8* %arrayidx459, align 1 + %conv460 = sext i8 %349 to i32 + %cmp461 = icmp eq i32 %conv460, 58 + %350 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar464 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %350, i32 0, i32 5 + %351 = load i8*, i8** %__nextchar464, align 8 + %352 = load i8, i8* %351, align 1 + %conv465 = sext i8 %352 to i32 + %cmp466 = icmp ne i32 %conv465, 0 + %353 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + br i1 %cmp461, label %if.then463, label %if.else477 + +if.then463: ; preds = %if.then458 + br i1 %cmp466, label %if.then468, label %if.else473 + +if.then468: ; preds = %if.then463 + %__nextchar469 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 5 + %354 = load i8*, i8** %__nextchar469, align 8 + %355 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg470 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %355, i32 0, i32 3 + store i8* %354, i8** %optarg470, align 8 + %356 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind471 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %356, i32 0, i32 0 + %357 = load i32, i32* %optind471, align 8 + %inc472 = add nsw i32 %357, 1 + store i32 %inc472, i32* %optind471, align 8 + br label %if.end475 + +if.else473: ; preds = %if.then463 + %optarg474 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 3 + store i8* null, i8** %optarg474, align 8 + br label %if.end475 + +if.end475: ; preds = %if.else473, %if.then468 + %358 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar476 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %358, i32 0, i32 5 + store i8* null, i8** %__nextchar476, align 8 + br label %if.end517 + +if.else477: ; preds = %if.then458 + br i1 %cmp466, label %if.then482, label %if.else487 + +if.then482: ; preds = %if.else477 + %__nextchar483 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 5 + %359 = load i8*, i8** %__nextchar483, align 8 + %360 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg484 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %360, i32 0, i32 3 + store i8* %359, i8** %optarg484, align 8 + %361 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind485 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %361, i32 0, i32 0 + %362 = load i32, i32* %optind485, align 8 + %inc486 = add nsw i32 %362, 1 + store i32 %inc486, i32* %optind485, align 8 + br label %if.end514 + +if.else487: ; preds = %if.else477 + %optind488 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 0 + %363 = load i32, i32* %optind488, align 8 + %364 = load i32, i32* %argc.addr, align 4 + %cmp489 = icmp eq i32 %363, %364 + br i1 %cmp489, label %if.then491, label %if.else507 + +if.then491: ; preds = %if.else487 + %365 = load i32, i32* %print_errors, align 4 + %tobool492 = icmp ne i32 %365, 0 + br i1 %tobool492, label %if.then493, label %if.end497 + +if.then493: ; preds = %if.then491 + %366 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %367 = load i8**, i8*** %argv.addr, align 8 + %arrayidx494 = getelementptr inbounds i8*, i8** %367, i64 0 + %368 = load i8*, i8** %arrayidx494, align 8 + %369 = load i8, i8* %c, align 1 + %conv495 = sext i8 %369 to i32 + %call496 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %366, i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.10.319, i64 0, i64 0), i8* %368, i32 %conv495) #18 + br label %if.end497 + +if.end497: ; preds = %if.then493, %if.then491 + %370 = load i8, i8* %c, align 1 + %conv498 = sext i8 %370 to i32 + %371 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt499 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %371, i32 0, i32 2 + store i32 %conv498, i32* %optopt499, align 8 + %372 = load i8*, i8** %optstring.addr, align 8 + %arrayidx500 = getelementptr inbounds i8, i8* %372, i64 0 + %373 = load i8, i8* %arrayidx500, align 1 + %conv501 = sext i8 %373 to i32 + %cmp502 = icmp eq i32 %conv501, 58 + br i1 %cmp502, label %if.then504, label %if.else505 + +if.then504: ; preds = %if.end497 + store i8 58, i8* %c, align 1 + br label %if.end514 + +if.else505: ; preds = %if.end497 + store i8 63, i8* %c, align 1 + br label %if.end514 + +if.else507: ; preds = %if.else487 + %374 = load i8**, i8*** %argv.addr, align 8 + %375 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind508 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %375, i32 0, i32 0 + %376 = load i32, i32* %optind508, align 8 + %inc509 = add nsw i32 %376, 1 + store i32 %inc509, i32* %optind508, align 8 + %idxprom510 = sext i32 %376 to i64 + %arrayidx511 = getelementptr inbounds i8*, i8** %374, i64 %idxprom510 + %377 = load i8*, i8** %arrayidx511, align 8 + %378 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg512 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %378, i32 0, i32 3 + store i8* %377, i8** %optarg512, align 8 + br label %if.end514 + +if.end514: ; preds = %if.else507, %if.else505, %if.then504, %if.then482 + %379 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar515 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %379, i32 0, i32 5 + store i8* null, i8** %__nextchar515, align 8 + br label %if.end517 + +if.end517: ; preds = %if.end475, %if.end514, %if.end453 + %380 = load i8, i8* %c, align 1 + %conv518 = sext i8 %380 to i32 + store i32 %conv518, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end517, %if.end450, %if.end412, %if.end370, %if.then367, %if.end343, %if.end312, %if.end267, %if.end148, %if.then147, %if.end126, %if.then4 + %381 = load i32, i32* %retval, align 4 + ret i32 %381 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @_getopt_initialize(i32 %argc, i8** %argv, i8* %optstring, %struct._getopt_data* %d) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + %d.addr = alloca %struct._getopt_data*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + store %struct._getopt_data* %d, %struct._getopt_data** %d.addr, align 8 + %0 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %0, i32 0, i32 0 + %1 = load i32, i32* %optind, align 8 + %2 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %2, i32 0, i32 9 + store i32 %1, i32* %__last_nonopt, align 4 + %3 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %3, i32 0, i32 8 + store i32 %1, i32* %__first_nonopt, align 8 + %4 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %4, i32 0, i32 5 + store i8* null, i8** %__nextchar, align 8 + %call = call i8* @getenv(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.11.320, i64 0, i64 0)) #19 + %tobool = icmp ne i8* %call, null + %lnot = xor i1 %tobool, true + %lnot1 = xor i1 %lnot, true + %lnot.ext = zext i1 %lnot1 to i32 + %5 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__posixly_correct = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %5, i32 0, i32 7 + store i32 %lnot.ext, i32* %__posixly_correct, align 4 + %6 = load i8*, i8** %optstring.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %6, i64 0 + %7 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %7 to i32 + %cmp = icmp eq i32 %conv, 45 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %8 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %8, i32 0, i32 6 + store i32 2, i32* %__ordering, align 8 + %9 = load i8*, i8** %optstring.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %optstring.addr, align 8 + br label %if.end18 + +if.else: ; preds = %entry + %10 = load i8*, i8** %optstring.addr, align 8 + %arrayidx3 = getelementptr inbounds i8, i8* %10, i64 0 + %11 = load i8, i8* %arrayidx3, align 1 + %conv4 = sext i8 %11 to i32 + %cmp5 = icmp eq i32 %conv4, 43 + %12 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + br i1 %cmp5, label %if.then7, label %if.else10 + +if.then7: ; preds = %if.else + %__ordering8 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %12, i32 0, i32 6 + store i32 0, i32* %__ordering8, align 8 + %13 = load i8*, i8** %optstring.addr, align 8 + %incdec.ptr9 = getelementptr inbounds i8, i8* %13, i32 1 + store i8* %incdec.ptr9, i8** %optstring.addr, align 8 + br label %if.end18 + +if.else10: ; preds = %if.else + %__posixly_correct11 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %12, i32 0, i32 7 + %14 = load i32, i32* %__posixly_correct11, align 4 + %tobool12 = icmp ne i32 %14, 0 + %15 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering14 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %15, i32 0, i32 6 + br i1 %tobool12, label %if.then13, label %if.else15 + +if.then13: ; preds = %if.else10 + store i32 0, i32* %__ordering14, align 8 + br label %if.end18 + +if.else15: ; preds = %if.else10 + store i32 1, i32* %__ordering14, align 8 + br label %if.end18 + +if.end18: ; preds = %if.then7, %if.else15, %if.then13, %if.then + %16 = load i8*, i8** %optstring.addr, align 8 + ret i8* %16 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @exchange(i8** %argv, %struct._getopt_data* %d) #0 { +entry: + %argv.addr = alloca i8**, align 8 + %d.addr = alloca %struct._getopt_data*, align 8 + %bottom = alloca i32, align 4 + %middle = alloca i32, align 4 + %top = alloca i32, align 4 + %tem = alloca i8*, align 8 + %len = alloca i32, align 4 + %i = alloca i32, align 4 + %len20 = alloca i32, align 4 + %i22 = alloca i32, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store %struct._getopt_data* %d, %struct._getopt_data** %d.addr, align 8 + %0 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %0, i32 0, i32 8 + %1 = load i32, i32* %__first_nonopt, align 8 + store i32 %1, i32* %bottom, align 4 + %2 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %2, i32 0, i32 9 + %3 = load i32, i32* %__last_nonopt, align 4 + store i32 %3, i32* %middle, align 4 + %4 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %4, i32 0, i32 0 + %5 = load i32, i32* %optind, align 8 + store i32 %5, i32* %top, align 4 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %6 = load i32, i32* %top, align 4 + %7 = load i32, i32* %middle, align 4 + %cmp = icmp sgt i32 %6, %7 + %8 = load i32, i32* %middle, align 4 + %9 = load i32, i32* %bottom, align 4 + %cmp1 = icmp sgt i32 %8, %9 + %10 = select i1 %cmp, i1 %cmp1, i1 false + br i1 %10, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %11 = load i32, i32* %top, align 4 + %12 = load i32, i32* %middle, align 4 + %sub = sub nsw i32 %11, %12 + %13 = load i32, i32* %middle, align 4 + %14 = load i32, i32* %bottom, align 4 + %sub2 = sub nsw i32 %13, %14 + %cmp3 = icmp sgt i32 %sub, %sub2 + br i1 %cmp3, label %if.then, label %if.else + +if.then: ; preds = %while.body + %15 = load i32, i32* %middle, align 4 + %16 = load i32, i32* %bottom, align 4 + %sub4 = sub nsw i32 %15, %16 + store i32 %sub4, i32* %len, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.then + %17 = load i32, i32* %i, align 4 + %18 = load i32, i32* %len, align 4 + %cmp5 = icmp slt i32 %17, %18 + br i1 %cmp5, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %19 = load i8**, i8*** %argv.addr, align 8 + %20 = load i32, i32* %bottom, align 4 + %21 = load i32, i32* %i, align 4 + %add = add nsw i32 %20, %21 + %idxprom = sext i32 %add to i64 + %arrayidx = getelementptr inbounds i8*, i8** %19, i64 %idxprom + %22 = load i8*, i8** %arrayidx, align 8 + store i8* %22, i8** %tem, align 8 + %23 = load i8**, i8*** %argv.addr, align 8 + %24 = load i32, i32* %top, align 4 + %25 = load i32, i32* %middle, align 4 + %26 = load i32, i32* %bottom, align 4 + %sub6 = sub nsw i32 %25, %26 + %sub7 = sub nsw i32 %24, %sub6 + %27 = load i32, i32* %i, align 4 + %add8 = add nsw i32 %sub7, %27 + %idxprom9 = sext i32 %add8 to i64 + %arrayidx10 = getelementptr inbounds i8*, i8** %23, i64 %idxprom9 + %28 = load i8*, i8** %arrayidx10, align 8 + %29 = load i8**, i8*** %argv.addr, align 8 + %30 = load i32, i32* %bottom, align 4 + %31 = load i32, i32* %i, align 4 + %add11 = add nsw i32 %30, %31 + %idxprom12 = sext i32 %add11 to i64 + %arrayidx13 = getelementptr inbounds i8*, i8** %29, i64 %idxprom12 + store i8* %28, i8** %arrayidx13, align 8 + %32 = load i8*, i8** %tem, align 8 + %33 = load i8**, i8*** %argv.addr, align 8 + %34 = load i32, i32* %top, align 4 + %35 = load i32, i32* %middle, align 4 + %36 = load i32, i32* %bottom, align 4 + %sub14 = sub nsw i32 %35, %36 + %sub15 = sub nsw i32 %34, %sub14 + %37 = load i32, i32* %i, align 4 + %add16 = add nsw i32 %sub15, %37 + %idxprom17 = sext i32 %add16 to i64 + %arrayidx18 = getelementptr inbounds i8*, i8** %33, i64 %idxprom17 + store i8* %32, i8** %arrayidx18, align 8 + %38 = load i32, i32* %i, align 4 + %inc = add nsw i32 %38, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %39 = load i32, i32* %len, align 4 + %40 = load i32, i32* %top, align 4 + %sub19 = sub nsw i32 %40, %39 + store i32 %sub19, i32* %top, align 4 + br label %if.end + +if.else: ; preds = %while.body + %41 = load i32, i32* %top, align 4 + %42 = load i32, i32* %middle, align 4 + %sub21 = sub nsw i32 %41, %42 + store i32 %sub21, i32* %len20, align 4 + store i32 0, i32* %i22, align 4 + br label %for.cond23 + +for.cond23: ; preds = %for.body25, %if.else + %43 = load i32, i32* %i22, align 4 + %44 = load i32, i32* %len20, align 4 + %cmp24 = icmp slt i32 %43, %44 + br i1 %cmp24, label %for.body25, label %for.end40 + +for.body25: ; preds = %for.cond23 + %45 = load i8**, i8*** %argv.addr, align 8 + %46 = load i32, i32* %bottom, align 4 + %47 = load i32, i32* %i22, align 4 + %add26 = add nsw i32 %46, %47 + %idxprom27 = sext i32 %add26 to i64 + %arrayidx28 = getelementptr inbounds i8*, i8** %45, i64 %idxprom27 + %48 = load i8*, i8** %arrayidx28, align 8 + store i8* %48, i8** %tem, align 8 + %49 = load i8**, i8*** %argv.addr, align 8 + %50 = load i32, i32* %middle, align 4 + %51 = load i32, i32* %i22, align 4 + %add29 = add nsw i32 %50, %51 + %idxprom30 = sext i32 %add29 to i64 + %arrayidx31 = getelementptr inbounds i8*, i8** %49, i64 %idxprom30 + %52 = load i8*, i8** %arrayidx31, align 8 + %53 = load i8**, i8*** %argv.addr, align 8 + %54 = load i32, i32* %bottom, align 4 + %55 = load i32, i32* %i22, align 4 + %add32 = add nsw i32 %54, %55 + %idxprom33 = sext i32 %add32 to i64 + %arrayidx34 = getelementptr inbounds i8*, i8** %53, i64 %idxprom33 + store i8* %52, i8** %arrayidx34, align 8 + %56 = load i8*, i8** %tem, align 8 + %57 = load i8**, i8*** %argv.addr, align 8 + %58 = load i32, i32* %middle, align 4 + %59 = load i32, i32* %i22, align 4 + %add35 = add nsw i32 %58, %59 + %idxprom36 = sext i32 %add35 to i64 + %arrayidx37 = getelementptr inbounds i8*, i8** %57, i64 %idxprom36 + store i8* %56, i8** %arrayidx37, align 8 + %60 = load i32, i32* %i22, align 4 + %inc39 = add nsw i32 %60, 1 + store i32 %inc39, i32* %i22, align 4 + br label %for.cond23 + +for.end40: ; preds = %for.cond23 + %61 = load i32, i32* %len20, align 4 + %62 = load i32, i32* %bottom, align 4 + %add41 = add nsw i32 %62, %61 + store i32 %add41, i32* %bottom, align 4 + br label %if.end + +if.end: ; preds = %for.end40, %for.end + br label %while.cond + +while.end: ; preds = %while.cond + %63 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind42 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %63, i32 0, i32 0 + %64 = load i32, i32* %optind42, align 8 + %65 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt43 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %65, i32 0, i32 9 + %66 = load i32, i32* %__last_nonopt43, align 4 + %sub44 = sub nsw i32 %64, %66 + %67 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt45 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %67, i32 0, i32 8 + %68 = load i32, i32* %__first_nonopt45, align 8 + %add46 = add nsw i32 %68, %sub44 + store i32 %add46, i32* %__first_nonopt45, align 8 + %69 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind47 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %69, i32 0, i32 0 + %70 = load i32, i32* %optind47, align 8 + %71 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt48 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %71, i32 0, i32 9 + store i32 %70, i32* %__last_nonopt48, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getopt(i32 %argc, i8** %argv, i8* %optstring) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + %0 = load i32, i32* %argc.addr, align 4 + %1 = load i8**, i8*** %argv.addr, align 8 + %2 = load i8*, i8** %optstring.addr, align 8 + %call = call i32 @_getopt_internal(i32 %0, i8** %1, i8* %2, %struct.option* null, i32* null, i32 0) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getopt_long(i32 %argc, i8** %argv, i8* %options, %struct.option* %long_options, i32* %opt_index) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %options.addr = alloca i8*, align 8 + %long_options.addr = alloca %struct.option*, align 8 + %opt_index.addr = alloca i32*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %options, i8** %options.addr, align 8 + store %struct.option* %long_options, %struct.option** %long_options.addr, align 8 + store i32* %opt_index, i32** %opt_index.addr, align 8 + %0 = load i32, i32* %argc.addr, align 4 + %1 = load i8**, i8*** %argv.addr, align 8 + %2 = load i8*, i8** %options.addr, align 8 + %3 = load %struct.option*, %struct.option** %long_options.addr, align 8 + %4 = load i32*, i32** %opt_index.addr, align 8 + %call = call i32 @_getopt_internal(i32 %0, i8** %1, i8* %2, %struct.option* %3, i32* %4, i32 0) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getopt_long_only(i32 %argc, i8** %argv, i8* %options, %struct.option* %long_options, i32* %opt_index) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %options.addr = alloca i8*, align 8 + %long_options.addr = alloca %struct.option*, align 8 + %opt_index.addr = alloca i32*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %options, i8** %options.addr, align 8 + store %struct.option* %long_options, %struct.option** %long_options.addr, align 8 + store i32* %opt_index, i32** %opt_index.addr, align 8 + %0 = load i32, i32* %argc.addr, align 4 + %1 = load i8**, i8*** %argv.addr, align 8 + %2 = load i8*, i8** %options.addr, align 8 + %3 = load %struct.option*, %struct.option** %long_options.addr, align 8 + %4 = load i32*, i32** %opt_index.addr, align 8 + %call = call i32 @_getopt_internal(i32 %0, i8** %1, i8* %2, %struct.option* %3, i32* %4, i32 1) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define %struct.__uclibc_locale_struct.201* @newlocale(i32 %category_mask, i8* %locale, %struct.__uclibc_locale_struct.201* %base) #0 { +entry: + %retval = alloca %struct.__uclibc_locale_struct.201*, align 8 + %category_mask.addr = alloca i32, align 4 + %locale.addr = alloca i8*, align 8 + %base.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %p = alloca i8*, align 8 + %i = alloca i32, align 4 + %j = alloca i32, align 4 + %k = alloca i32, align 4 + %new_selector = alloca [14 x i8], align 1 + store i32 %category_mask, i32* %category_mask.addr, align 4 + store i8* %locale, i8** %locale.addr, align 8 + store %struct.__uclibc_locale_struct.201* %base, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %0 = load i32, i32* %category_mask.addr, align 4 + %cmp = icmp eq i32 %0, 64 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 8127, i32* %category_mask.addr, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i8*, i8** %locale.addr, align 8 + %tobool = icmp eq i8* %1, null + %2 = load i32, i32* %category_mask.addr, align 4 + %cmp1 = icmp ugt i32 %2, 8127 + %or.cond = or i1 %tobool, %cmp1 + br i1 %or.cond, label %INVALID, label %if.end3 + +INVALID: ; preds = %if.else, %do.end, %if.end + store i32 22, i32* @errno, align 4 + store %struct.__uclibc_locale_struct.201* null, %struct.__uclibc_locale_struct.201** %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %3 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tobool4 = icmp ne %struct.__uclibc_locale_struct.201* %3, null + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %4, i32 0, i32 6 + %arraydecay5 = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + %cond = select i1 %tobool4, i8* %arraydecay5, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.325, i64 0, i64 0) + %call = call i8* @strcpy(i8* %arraydecay, i8* %cond) #19 + %5 = load i8*, i8** %locale.addr, align 8 + %6 = load i8, i8* %5, align 1 + %tobool6 = icmp ne i8 %6, 0 + br i1 %tobool6, label %if.else, label %if.then7 + +if.then7: ; preds = %if.end3 + store i32 1, i32* %i, align 4 + store i32 0, i32* %k, align 4 + br label %do.body + +do.body: ; preds = %if.end25, %if.then7 + %7 = load i32, i32* %category_mask.addr, align 4 + %8 = load i32, i32* %i, align 4 + %and = and i32 %7, %8 + %tobool8 = icmp ne i32 %and, 0 + br i1 %tobool8, label %if.then9, label %if.end25 + +if.then9: ; preds = %do.body + %9 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %9, i32 0, i32 34 + %arraydecay10 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names, i64 0, i64 0 + %10 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names11 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %10, i32 0, i32 34 + %11 = load i32, i32* %k, align 4 + %idxprom = sext i32 %11 to i64 + %arrayidx = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names11, i64 0, i64 %idxprom + %12 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %12 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay10, i64 %idx.ext + store i8* %add.ptr, i8** getelementptr inbounds ([4 x i8*], [4 x i8*]* @newlocale.envstr, i64 0, i64 1), align 8 + store i32 0, i32* %j, align 4 + br label %do.body12 + +do.body12: ; preds = %land.rhs, %lor.rhs, %if.then9 + %13 = load i32, i32* %j, align 4 + %idxprom13 = sext i32 %13 to i64 + %arrayidx14 = getelementptr inbounds [4 x i8*], [4 x i8*]* @newlocale.envstr, i64 0, i64 %idxprom13 + %14 = load i8*, i8** %arrayidx14, align 8 + store i8* %14, i8** %p, align 8 + %15 = load i32, i32* %j, align 4 + %inc = add nsw i32 %15, 1 + store i32 %inc, i32* %j, align 4 + %cmp15 = icmp slt i32 %inc, 4 + br i1 %cmp15, label %land.rhs, label %do.end + +land.rhs: ; preds = %do.body12 + %16 = load i8*, i8** %p, align 8 + %call17 = call i8* @getenv(i8* %16) #19 + store i8* %call17, i8** %p, align 8 + %tobool18 = icmp ne i8* %call17, null + br i1 %tobool18, label %lor.rhs, label %do.body12 + +lor.rhs: ; preds = %land.rhs + %17 = load i8*, i8** %p, align 8 + %18 = load i8, i8* %17, align 1 + %tobool19 = icmp ne i8 %18, 0 + %lnot = xor i1 %tobool19, true + br i1 %lnot, label %do.body12, label %do.end + +do.end: ; preds = %do.body12, %lor.rhs + %19 = load i32, i32* %i, align 4 + %20 = load i8*, i8** %p, align 8 + %arraydecay20 = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %call21 = call i32 @find_locale(i32 %19, i8* %20, i8* %arraydecay20) #18 + %tobool22 = icmp ne i32 %call21, 0 + br i1 %tobool22, label %if.end25, label %INVALID + +if.end25: ; preds = %do.end, %do.body + %21 = load i32, i32* %i, align 4 + %22 = load i32, i32* %i, align 4 + %add = add nsw i32 %22, %21 + store i32 %add, i32* %i, align 4 + %23 = load i32, i32* %k, align 4 + %inc27 = add nsw i32 %23, 1 + store i32 %inc27, i32* %k, align 4 + %cmp28 = icmp slt i32 %inc27, 6 + br i1 %cmp28, label %do.body, label %if.end36 + +if.else: ; preds = %if.end3 + %24 = load i32, i32* %category_mask.addr, align 4 + %25 = load i8*, i8** %locale.addr, align 8 + %arraydecay31 = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %call32 = call i8* @composite_locale(i32 %24, i8* %25, i8* %arraydecay31) #18 + %tobool33 = icmp ne i8* %call32, null + br i1 %tobool33, label %if.end36, label %INVALID + +if.end36: ; preds = %if.else, %if.end25 + %26 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tobool37 = icmp ne %struct.__uclibc_locale_struct.201* %26, null + br i1 %tobool37, label %if.end44, label %if.then38 + +if.then38: ; preds = %if.end36 + %call39 = call noalias i8* @calloc(i64 1, i64 3320) #19 + %27 = bitcast i8* %call39 to %struct.__uclibc_locale_struct.201* + store %struct.__uclibc_locale_struct.201* %27, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cmp40 = icmp eq %struct.__uclibc_locale_struct.201* %27, null + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + br i1 %cmp40, label %if.then42, label %if.end43 + +if.then42: ; preds = %if.then38 + store %struct.__uclibc_locale_struct.201* %28, %struct.__uclibc_locale_struct.201** %retval, align 8 + br label %return + +if.end43: ; preds = %if.then38 + call void @_locale_init_l(%struct.__uclibc_locale_struct.201* %28) #18 + br label %if.end44 + +if.end44: ; preds = %if.end43, %if.end36 + %arraydecay45 = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %29 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call46 = call i32 @_locale_set_l(i8* %arraydecay45, %struct.__uclibc_locale_struct.201* %29) #18 + %30 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + store %struct.__uclibc_locale_struct.201* %30, %struct.__uclibc_locale_struct.201** %retval, align 8 + br label %return + +return: ; preds = %if.end44, %if.then42, %INVALID + %31 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %retval, align 8 + ret %struct.__uclibc_locale_struct.201* %31 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @find_locale(i32 %category_mask, i8* %p, i8* %new_locale) #0 { +entry: + %retval = alloca i32, align 4 + %category_mask.addr = alloca i32, align 4 + %p.addr = alloca i8*, align 8 + %new_locale.addr = alloca i8*, align 8 + %i = alloca i32, align 4 + %s = alloca i8*, align 8 + %n = alloca i16, align 2 + %lang_cult = alloca i8, align 1 + %codeset = alloca i8, align 1 + %buf = alloca [18 x i8], align 16 + %q = alloca i8*, align 8 + store i32 %category_mask, i32* %category_mask.addr, align 4 + store i8* %p, i8** %p.addr, align 8 + store i8* %new_locale, i8** %new_locale.addr, align 8 + %0 = load i8*, i8** %p.addr, align 8 + %call = call i8* @strchr(i8* %0, i32 64) #20 + store i8* %call, i8** %q, align 8 + %cmp = icmp ne i8* %call, null + br i1 %cmp, label %if.then, label %if.end27 + +if.then: ; preds = %entry + %1 = load i8*, i8** %q, align 8 + %2 = load i8*, i8** %p.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %1 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %2 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %sub = sub nsw i64 %sub.ptr.sub, 5 + %cmp1 = icmp ugt i64 %sub, 13 + br i1 %cmp1, label %if.then4, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then + %3 = load i8*, i8** %p.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %3, i64 2 + %4 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %4 to i32 + %cmp2 = icmp ne i32 %conv, 95 + br i1 %cmp2, label %if.then4, label %if.end + +if.then4: ; preds = %lor.lhs.false, %if.then + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %lor.lhs.false + %5 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_at_modifiers = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %5, i32 0, i32 33 + %arraydecay = getelementptr inbounds [18 x i8], [18 x i8]* %locale_at_modifiers, i64 0, i64 0 + store i8* %arraydecay, i8** %s, align 8 + br label %do.body + +do.body: ; preds = %if.end8, %if.end + %6 = load i8*, i8** %s, align 8 + %add.ptr = getelementptr inbounds i8, i8* %6, i64 2 + %7 = load i8*, i8** %q, align 8 + %add.ptr5 = getelementptr inbounds i8, i8* %7, i64 1 + %call6 = call i32 @strcmp(i8* %add.ptr, i8* %add.ptr5) #20 + %tobool = icmp ne i32 %call6, 0 + br i1 %tobool, label %if.end8, label %do.end + +if.end8: ; preds = %do.body + %8 = load i8*, i8** %s, align 8 + %9 = load i8, i8* %8, align 1 + %conv9 = zext i8 %9 to i32 + %add = add nsw i32 2, %conv9 + %10 = load i8*, i8** %s, align 8 + %idx.ext = sext i32 %add to i64 + %add.ptr10 = getelementptr inbounds i8, i8* %10, i64 %idx.ext + store i8* %add.ptr10, i8** %s, align 8 + %11 = load i8*, i8** %s, align 8 + %12 = load i8, i8* %11, align 1 + %tobool11 = icmp ne i8 %12, 0 + br i1 %tobool11, label %do.body, label %do.end + +do.end: ; preds = %do.body, %if.end8 + %13 = load i8*, i8** %s, align 8 + %14 = load i8, i8* %13, align 1 + %tobool12 = icmp ne i8 %14, 0 + br i1 %tobool12, label %if.end14, label %if.then13 + +if.then13: ; preds = %do.end + store i32 0, i32* %retval, align 4 + br label %return + +if.end14: ; preds = %do.end + %arraydecay15 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 0 + %15 = load i8*, i8** %p.addr, align 8 + %16 = load i8*, i8** %q, align 8 + %17 = load i8*, i8** %p.addr, align 8 + %sub.ptr.lhs.cast16 = ptrtoint i8* %16 to i64 + %sub.ptr.rhs.cast17 = ptrtoint i8* %17 to i64 + %sub.ptr.sub18 = sub i64 %sub.ptr.lhs.cast16, %sub.ptr.rhs.cast17 + %call19 = call i8* @memcpy(i8* %arraydecay15, i8* %15, i64 %sub.ptr.sub18) #19 + %18 = load i8*, i8** %q, align 8 + %19 = load i8*, i8** %p.addr, align 8 + %sub.ptr.lhs.cast20 = ptrtoint i8* %18 to i64 + %sub.ptr.rhs.cast21 = ptrtoint i8* %19 to i64 + %sub.ptr.sub22 = sub i64 %sub.ptr.lhs.cast20, %sub.ptr.rhs.cast21 + %arrayidx23 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 %sub.ptr.sub22 + store i8 0, i8* %arrayidx23, align 1 + %20 = load i8*, i8** %s, align 8 + %arrayidx24 = getelementptr inbounds i8, i8* %20, i64 1 + %21 = load i8, i8* %arrayidx24, align 1 + %arrayidx25 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 2 + store i8 %21, i8* %arrayidx25, align 2 + %arraydecay26 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay26, i8** %p.addr, align 8 + br label %if.end27 + +if.end27: ; preds = %if.end14, %entry + store i8 0, i8* %codeset, align 1 + store i8 0, i8* %lang_cult, align 1 + %22 = load i8*, i8** %p.addr, align 8 + %23 = load i8, i8* %22, align 1 + %conv28 = sext i8 %23 to i32 + %cmp29 = icmp eq i32 %conv28, 67 + br i1 %cmp29, label %land.lhs.true, label %lor.lhs.false33 + +land.lhs.true: ; preds = %if.end27 + %24 = load i8*, i8** %p.addr, align 8 + %arrayidx31 = getelementptr inbounds i8, i8* %24, i64 1 + %25 = load i8, i8* %arrayidx31, align 1 + %tobool32 = icmp ne i8 %25, 0 + br i1 %tobool32, label %lor.lhs.false33, label %FIND_LOCALE + +lor.lhs.false33: ; preds = %land.lhs.true, %if.end27 + %26 = load i8*, i8** %p.addr, align 8 + %call34 = call i32 @strcmp(i8* %26, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @posix, i64 0, i64 0)) #20 + %tobool35 = icmp ne i32 %call34, 0 + br i1 %tobool35, label %if.end37, label %FIND_LOCALE + +if.end37: ; preds = %lor.lhs.false33 + %27 = load i8*, i8** %p.addr, align 8 + %call38 = call i64 @strlen(i8* %27) #20 + %cmp39 = icmp ugt i64 %call38, 5 + br i1 %cmp39, label %land.lhs.true41, label %FIND_LANG_CULT + +land.lhs.true41: ; preds = %if.end37 + %28 = load i8*, i8** %p.addr, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %28, i64 5 + %29 = load i8, i8* %arrayidx42, align 1 + %conv43 = sext i8 %29 to i32 + %cmp44 = icmp eq i32 %conv43, 46 + br i1 %cmp44, label %if.then46, label %FIND_LANG_CULT + +if.then46: ; preds = %land.lhs.true41 + store i8 2, i8* %codeset, align 1 + %30 = load i8*, i8** %p.addr, align 8 + %add.ptr47 = getelementptr inbounds i8, i8* %30, i64 6 + %call48 = call i32 @strcmp(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf8.328, i64 0, i64 0), i8* %add.ptr47) #20 + %cmp49 = icmp ne i32 %call48, 0 + br i1 %cmp49, label %if.then51, label %FIND_LANG_CULT + +if.then51: ; preds = %if.then46 + %31 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %31, i32 0, i32 35 + %arraydecay52 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list, i64 0, i64 0 + store i8* %arraydecay52, i8** %s, align 8 + br label %do.body53 + +do.body53: ; preds = %do.cond64, %if.then51 + %32 = load i8, i8* %codeset, align 1 + %inc = add i8 %32, 1 + store i8 %inc, i8* %codeset, align 1 + %33 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list54 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %33, i32 0, i32 35 + %arraydecay55 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list54, i64 0, i64 0 + %34 = load i8*, i8** %s, align 8 + %35 = load i8, i8* %34, align 1 + %conv56 = zext i8 %35 to i32 + %idx.ext57 = sext i32 %conv56 to i64 + %add.ptr58 = getelementptr inbounds i8, i8* %arraydecay55, i64 %idx.ext57 + %36 = load i8*, i8** %p.addr, align 8 + %add.ptr59 = getelementptr inbounds i8, i8* %36, i64 6 + %call60 = call i32 @strcmp(i8* %add.ptr58, i8* %add.ptr59) #20 + %tobool61 = icmp ne i32 %call60, 0 + br i1 %tobool61, label %do.cond64, label %FIND_LANG_CULT + +do.cond64: ; preds = %do.body53 + %37 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %37, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %38 = load i8, i8* %incdec.ptr, align 1 + %tobool65 = icmp ne i8 %38, 0 + br i1 %tobool65, label %do.body53, label %do.end66 + +do.end66: ; preds = %do.cond64 + store i32 0, i32* %retval, align 4 + br label %return + +FIND_LANG_CULT: ; preds = %if.end37, %land.lhs.true41, %if.then46, %do.body53 + %39 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_names5 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %39, i32 0, i32 32 + %arraydecay69 = getelementptr inbounds [835 x i8], [835 x i8]* %locale_names5, i64 0, i64 0 + store i8* %arraydecay69, i8** %s, align 8 + br label %do.body70 + +do.body70: ; preds = %if.end75, %FIND_LANG_CULT + %40 = load i8, i8* %lang_cult, align 1 + %inc71 = add i8 %40, 1 + store i8 %inc71, i8* %lang_cult, align 1 + %41 = load i8*, i8** %s, align 8 + %42 = load i8*, i8** %p.addr, align 8 + %call72 = call i32 @strncmp(i8* %41, i8* %42, i64 5) #20 + %tobool73 = icmp ne i32 %call72, 0 + br i1 %tobool73, label %if.end75, label %FIND_LOCALE + +if.end75: ; preds = %do.body70 + %43 = load i8*, i8** %s, align 8 + %add.ptr76 = getelementptr inbounds i8, i8* %43, i64 5 + store i8* %add.ptr76, i8** %s, align 8 + %44 = load i8, i8* %lang_cult, align 1 + %conv78 = zext i8 %44 to i32 + %cmp79 = icmp slt i32 %conv78, 167 + br i1 %cmp79, label %do.body70, label %do.end81 + +do.end81: ; preds = %if.end75 + store i32 0, i32* %retval, align 4 + br label %return + +FIND_LOCALE: ; preds = %do.body70, %land.lhs.true, %lor.lhs.false33 + %45 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %45, i32 0, i32 31 + %arraydecay82 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales, i64 0, i64 0 + store i8* %arraydecay82, i8** %s, align 8 + store i16 0, i16* %n, align 2 + br label %do.body83 + +do.body83: ; preds = %if.end120, %FIND_LOCALE + %46 = load i8, i8* %lang_cult, align 1 + %conv84 = zext i8 %46 to i32 + %47 = load i8*, i8** %s, align 8 + %48 = load i8, i8* %47, align 1 + %conv85 = zext i8 %48 to i32 + %cmp86 = icmp eq i32 %conv84, %conv85 + br i1 %cmp86, label %land.lhs.true88, label %if.end120 + +land.lhs.true88: ; preds = %do.body83 + %49 = load i8, i8* %codeset, align 1 + %conv89 = zext i8 %49 to i32 + %50 = load i8*, i8** %s, align 8 + %arrayidx90 = getelementptr inbounds i8, i8* %50, i64 1 + %51 = load i8, i8* %arrayidx90, align 1 + %conv91 = zext i8 %51 to i32 + %cmp92 = icmp eq i32 %conv89, %conv91 + br i1 %cmp92, label %if.then100, label %lor.lhs.false94 + +lor.lhs.false94: ; preds = %land.lhs.true88 + %52 = load i8, i8* %codeset, align 1 + %conv95 = zext i8 %52 to i32 + %53 = load i8*, i8** %s, align 8 + %arrayidx96 = getelementptr inbounds i8, i8* %53, i64 2 + %54 = load i8, i8* %arrayidx96, align 1 + %conv97 = zext i8 %54 to i32 + %cmp98 = icmp eq i32 %conv95, %conv97 + br i1 %cmp98, label %if.then100, label %if.end120 + +if.then100: ; preds = %lor.lhs.false94, %land.lhs.true88 + store i32 1, i32* %i, align 4 + %55 = load i8*, i8** %new_locale.addr, align 8 + %add.ptr101 = getelementptr inbounds i8, i8* %55, i64 1 + store i8* %add.ptr101, i8** %s, align 8 + br label %do.body102 + +do.body102: ; preds = %if.end113, %if.then100 + %56 = load i32, i32* %category_mask.addr, align 4 + %57 = load i32, i32* %i, align 4 + %and = and i32 %56, %57 + %tobool103 = icmp ne i32 %and, 0 + br i1 %tobool103, label %if.then104, label %if.end113 + +if.then104: ; preds = %do.body102 + %58 = load i16, i16* %n, align 2 + %conv105 = zext i16 %58 to i32 + %shr = ashr i32 %conv105, 7 + %or = or i32 %shr, 128 + %conv106 = trunc i32 %or to i8 + %59 = load i8*, i8** %s, align 8 + %arrayidx107 = getelementptr inbounds i8, i8* %59, i64 0 + store i8 %conv106, i8* %arrayidx107, align 1 + %60 = load i16, i16* %n, align 2 + %conv108 = zext i16 %60 to i32 + %and109 = and i32 %conv108, 127 + %or110 = or i32 %and109, 128 + %conv111 = trunc i32 %or110 to i8 + %61 = load i8*, i8** %s, align 8 + %arrayidx112 = getelementptr inbounds i8, i8* %61, i64 1 + store i8 %conv111, i8* %arrayidx112, align 1 + br label %if.end113 + +if.end113: ; preds = %if.then104, %do.body102 + %62 = load i8*, i8** %s, align 8 + %add.ptr114 = getelementptr inbounds i8, i8* %62, i64 2 + store i8* %add.ptr114, i8** %s, align 8 + %63 = load i32, i32* %i, align 4 + %64 = load i32, i32* %i, align 4 + %add115 = add nsw i32 %64, %63 + store i32 %add115, i32* %i, align 4 + %65 = load i32, i32* %i, align 4 + %cmp117 = icmp slt i32 %65, 64 + br i1 %cmp117, label %do.body102, label %do.end119 + +do.end119: ; preds = %if.end113 + %66 = load i32, i32* %i, align 4 + store i32 %66, i32* %retval, align 4 + br label %return + +if.end120: ; preds = %lor.lhs.false94, %do.body83 + %67 = load i8*, i8** %s, align 8 + %add.ptr121 = getelementptr inbounds i8, i8* %67, i64 9 + store i8* %add.ptr121, i8** %s, align 8 + %68 = load i16, i16* %n, align 2 + %inc122 = add i16 %68, 1 + store i16 %inc122, i16* %n, align 2 + %69 = load i16, i16* %n, align 2 + %conv124 = zext i16 %69 to i32 + %cmp125 = icmp sle i32 %conv124, 314 + br i1 %cmp125, label %do.body83, label %do.end127 + +do.end127: ; preds = %if.end120 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end127, %do.end119, %do.end81, %do.end66, %if.then13, %if.then4 + %70 = load i32, i32* %retval, align 4 + ret i32 %70 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @composite_locale(i32 %category_mask, i8* %locale, i8* %new_locale) #0 { +entry: + %retval = alloca i8*, align 8 + %category_mask.addr = alloca i32, align 4 + %locale.addr = alloca i8*, align 8 + %new_locale.addr = alloca i8*, align 8 + %buf = alloca [256 x i8], align 16 + %t = alloca i8*, align 8 + %e = alloca i8*, align 8 + %c = alloca i32, align 4 + %component_mask = alloca i32, align 4 + store i32 %category_mask, i32* %category_mask.addr, align 4 + store i8* %locale, i8** %locale.addr, align 8 + store i8* %new_locale, i8** %new_locale.addr, align 8 + %0 = load i8*, i8** %locale.addr, align 8 + %call = call i8* @strchr(i8* %0, i32 61) #20 + %tobool = icmp ne i8* %call, null + br i1 %tobool, label %if.end4, label %if.then + +if.then: ; preds = %entry + %1 = load i32, i32* %category_mask.addr, align 4 + %2 = load i8*, i8** %locale.addr, align 8 + %3 = load i8*, i8** %new_locale.addr, align 8 + %call1 = call i32 @find_locale(i32 %1, i8* %2, i8* %3) #18 + %tobool2 = icmp ne i32 %call1, 0 + br i1 %tobool2, label %if.end, label %if.then3 + +if.then3: ; preds = %if.then + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %if.then + %4 = load i8*, i8** %new_locale.addr, align 8 + store i8* %4, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %entry + %5 = load i8*, i8** %locale.addr, align 8 + %call5 = call i64 @strlen(i8* %5) #20 + %cmp = icmp uge i64 %call5, 256 + br i1 %cmp, label %if.then6, label %if.end7 + +if.then6: ; preds = %if.end4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end7: ; preds = %if.end4 + %arraydecay = getelementptr inbounds [256 x i8], [256 x i8]* %buf, i64 0, i64 0 + %6 = load i8*, i8** %locale.addr, align 8 + %call8 = call i8* @stpcpy(i8* %arraydecay, i8* %6) #19 + store i32 0, i32* %component_mask, align 4 + %arraydecay9 = getelementptr inbounds [256 x i8], [256 x i8]* %buf, i64 0, i64 0 + %call10 = call i8* @strtok_r(i8* %arraydecay9, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.326, i64 0, i64 0), i8** %e) #19 + store i8* %call10, i8** %t, align 8 + br label %do.body + +do.body: ; preds = %do.cond, %if.end7 + store i32 0, i32* %c, align 4 + br label %while.cond + +while.cond: ; preds = %while.body, %do.body + %7 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %7, i32 0, i32 34 + %arraydecay11 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names, i64 0, i64 0 + %8 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names12 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %8, i32 0, i32 34 + %9 = load i32, i32* %c, align 4 + %idxprom = sext i32 %9 to i64 + %arrayidx = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names12, i64 0, i64 %idxprom + %10 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %10 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay11, i64 %idx.ext + %11 = load i8*, i8** %t, align 8 + %call13 = call i32 @strcmp(i8* %add.ptr, i8* %11) #20 + %tobool14 = icmp ne i32 %call13, 0 + br i1 %tobool14, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %12 = load i32, i32* %c, align 4 + %inc = add nsw i32 %12, 1 + store i32 %inc, i32* %c, align 4 + %cmp15 = icmp eq i32 %inc, 6 + br i1 %cmp15, label %if.then17, label %while.cond + +if.then17: ; preds = %while.body + store i8* null, i8** %retval, align 8 + br label %return + +while.end: ; preds = %while.cond + %call19 = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.4.327, i64 0, i64 0), i8** %e) #19 + store i8* %call19, i8** %t, align 8 + %13 = load i32, i32* %c, align 4 + %shl = shl i32 1, %13 + store i32 %shl, i32* %c, align 4 + %14 = load i32, i32* %component_mask, align 4 + %15 = load i32, i32* %c, align 4 + %and = and i32 %14, %15 + %tobool20 = icmp ne i32 %and, 0 + br i1 %tobool20, label %if.then21, label %if.end22 + +if.then21: ; preds = %while.end + store i8* null, i8** %retval, align 8 + br label %return + +if.end22: ; preds = %while.end + %16 = load i32, i32* %c, align 4 + %17 = load i32, i32* %component_mask, align 4 + %or = or i32 %17, %16 + store i32 %or, i32* %component_mask, align 4 + %18 = load i32, i32* %category_mask.addr, align 4 + %19 = load i32, i32* %c, align 4 + %and23 = and i32 %18, %19 + %tobool24 = icmp ne i32 %and23, 0 + br i1 %tobool24, label %land.lhs.true, label %do.cond + +land.lhs.true: ; preds = %if.end22 + %20 = load i8*, i8** %t, align 8 + %tobool25 = icmp ne i8* %20, null + br i1 %tobool25, label %lor.lhs.false, label %if.then28 + +lor.lhs.false: ; preds = %land.lhs.true + %21 = load i32, i32* %c, align 4 + %22 = load i8*, i8** %t, align 8 + %23 = load i8*, i8** %new_locale.addr, align 8 + %call26 = call i32 @find_locale(i32 %21, i8* %22, i8* %23) #18 + %tobool27 = icmp ne i32 %call26, 0 + br i1 %tobool27, label %do.cond, label %if.then28 + +if.then28: ; preds = %lor.lhs.false, %land.lhs.true + store i8* null, i8** %retval, align 8 + br label %return + +do.cond: ; preds = %if.end22, %lor.lhs.false + %call30 = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.326, i64 0, i64 0), i8** %e) #19 + store i8* %call30, i8** %t, align 8 + %cmp31 = icmp ne i8* %call30, null + br i1 %cmp31, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %24 = load i32, i32* %category_mask.addr, align 4 + %25 = load i32, i32* %component_mask, align 4 + %neg = xor i32 %25, -1 + %and33 = and i32 %24, %neg + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %if.then35, label %if.end36 + +if.then35: ; preds = %do.end + store i8* null, i8** %retval, align 8 + br label %return + +if.end36: ; preds = %do.end + %26 = load i8*, i8** %new_locale.addr, align 8 + store i8* %26, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end36, %if.then35, %if.then28, %if.then21, %if.then17, %if.then6, %if.end, %if.then3 + %27 = load i8*, i8** %retval, align 8 + ret i8* %27 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @nl_langinfo_l(i32 %item, %struct.__uclibc_locale_struct.201* %locale_arg) #0 { +entry: + %retval = alloca i8*, align 8 + %item.addr = alloca i32, align 4 + %locale_arg.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %c = alloca i32, align 4 + %i = alloca i32, align 4 + store i32 %item, i32* %item.addr, align 4 + store %struct.__uclibc_locale_struct.201* %locale_arg, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %0 = load i32, i32* %item.addr, align 4 + %shr = ashr i32 %0, 8 + store i32 %shr, i32* %c, align 4 + %1 = load i32, i32* %item.addr, align 4 + %and = and i32 %1, 255 + store i32 %and, i32* %i, align 4 + %2 = load i32, i32* %c, align 4 + %cmp = icmp ult i32 %2, 6 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %3 = load i32, i32* %i, align 4 + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %category_item_count = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %4, i32 0, i32 8 + %5 = load i32, i32* %c, align 4 + %idxprom = zext i32 %5 to i64 + %arrayidx = getelementptr inbounds [6 x i8], [6 x i8]* %category_item_count, i64 0, i64 %idxprom + %6 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %6 to i32 + %cmp1 = icmp ult i32 %3, %conv + br i1 %cmp1, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %7 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %8 = bitcast %struct.__uclibc_locale_struct.201* %7 to i8* + %9 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %category_offsets = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %9, i32 0, i32 7 + %10 = load i32, i32* %c, align 4 + %idxprom3 = zext i32 %10 to i64 + %arrayidx4 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets, i64 0, i64 %idxprom3 + %11 = load i16, i16* %arrayidx4, align 2 + %conv5 = zext i16 %11 to i32 + %idx.ext = sext i32 %conv5 to i64 + %add.ptr = getelementptr inbounds i8, i8* %8, i64 %idx.ext + %12 = bitcast i8* %add.ptr to i8** + %13 = load i32, i32* %i, align 4 + %idxprom6 = zext i32 %13 to i64 + %arrayidx7 = getelementptr inbounds i8*, i8** %12, i64 %idxprom6 + %14 = load i8*, i8** %arrayidx7, align 8 + store i8* %14, i8** %retval, align 8 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @empty, i64 0, i64 0), i8** %retval, align 8 + br label %return + +return: ; preds = %if.end, %if.then + %15 = load i8*, i8** %retval, align 8 + ret i8* %15 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @mbsnrtowcs(i32* noalias %dst, i8** noalias %src, i64 %NMC, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %retval = alloca i64, align 8 + %dst.addr = alloca i32*, align 8 + %src.addr = alloca i8**, align 8 + %NMC.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %wcbuf = alloca [1 x i32], align 4 + %s = alloca i8*, align 8 + %count = alloca i64, align 8 + %incr = alloca i32, align 4 + %r = alloca i64, align 8 + %wc = alloca i32, align 4 + store i32* %dst, i32** %dst.addr, align 8 + store i8** %src, i8*** %src.addr, align 8 + store i64 %NMC, i64* %NMC.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %tobool = icmp ne %struct.__mbstate_t.512* %0, null + %spec.store.select = select i1 %tobool, %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512* @mbsnrtowcs.mbstate + store %struct.__mbstate_t.512* %spec.store.select, %struct.__mbstate_t.512** %ps.addr, align 8 + %1 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %1, i32 0, i32 9 + %2 = load i8, i8* %encoding, align 8 + %conv = zext i8 %2 to i32 + %cmp = icmp eq i32 %conv, 1 + br i1 %cmp, label %if.then2, label %if.end5 + +if.then2: ; preds = %entry + %3 = load i32*, i32** %dst.addr, align 8 + %4 = load i64, i64* %len.addr, align 8 + %5 = load i8**, i8*** %src.addr, align 8 + %6 = load i64, i64* %NMC.addr, align 8 + %7 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @_wchar_utf8sntowcs(i32* %3, i64 %4, i8** %5, i64 %6, %struct.__mbstate_t.512* %7, i32 1) #18 + store i64 %call, i64* %r, align 8 + %cmp3 = icmp ne i64 %call, -2 + %8 = load i64, i64* %r, align 8 + %cond = select i1 %cmp3, i64 %8, i64 0 + store i64 %cond, i64* %retval, align 8 + br label %return + +if.end5: ; preds = %entry + store i32 1, i32* %incr, align 4 + %9 = load i32*, i32** %dst.addr, align 8 + %tobool6 = icmp ne i32* %9, null + br i1 %tobool6, label %lor.lhs.false, label %if.then9 + +lor.lhs.false: ; preds = %if.end5 + %10 = load i32*, i32** %dst.addr, align 8 + %11 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %12 = bitcast %struct.__mbstate_t.512* %11 to i32* + %cmp7 = icmp eq i32* %10, %12 + br i1 %cmp7, label %if.then9, label %if.end13 + +if.then9: ; preds = %lor.lhs.false, %if.end5 + %13 = load i32*, i32** %dst.addr, align 8 + %tobool10 = icmp ne i32* %13, null + br i1 %tobool10, label %if.end12, label %if.then11 + +if.then11: ; preds = %if.then9 + store i64 -1, i64* %len.addr, align 8 + br label %if.end12 + +if.end12: ; preds = %if.then11, %if.then9 + %arraydecay = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay, i32** %dst.addr, align 8 + store i32 0, i32* %incr, align 4 + br label %if.end13 + +if.end13: ; preds = %if.end12, %lor.lhs.false + %14 = load i64, i64* %len.addr, align 8 + %15 = load i64, i64* %NMC.addr, align 8 + %cmp14 = icmp ugt i64 %14, %15 + br i1 %cmp14, label %if.then16, label %if.end17 + +if.then16: ; preds = %if.end13 + %16 = load i64, i64* %NMC.addr, align 8 + store i64 %16, i64* %len.addr, align 8 + br label %if.end17 + +if.end17: ; preds = %if.then16, %if.end13 + %17 = load i64, i64* %len.addr, align 8 + store i64 %17, i64* %count, align 8 + %18 = load i8**, i8*** %src.addr, align 8 + %19 = load i8*, i8** %18, align 8 + store i8* %19, i8** %s, align 8 + %20 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding18 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %20, i32 0, i32 9 + %21 = load i8, i8* %encoding18, align 8 + %conv19 = zext i8 %21 to i32 + %cmp20 = icmp eq i32 %conv19, 2 + br i1 %cmp20, label %while.cond, label %while.cond46 + +while.cond: ; preds = %if.end17, %if.end38 + %22 = load i64, i64* %count, align 8 + %tobool23 = icmp ne i64 %22, 0 + br i1 %tobool23, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %23 = load i8*, i8** %s, align 8 + %24 = load i8, i8* %23, align 1 + %conv24 = zext i8 %24 to i32 + store i32 %conv24, i32* %wc, align 4 + %cmp25 = icmp sge i32 %conv24, 128 + br i1 %cmp25, label %if.then27, label %if.end35 + +if.then27: ; preds = %while.body + %25 = load i32, i32* %wc, align 4 + %sub = sub nsw i32 %25, 128 + store i32 %sub, i32* %wc, align 4 + %26 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %tbl8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %26, i32 0, i32 17 + %27 = load i16*, i16** %tbl8c2wc, align 8 + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %idx8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %28, i32 0, i32 16 + %29 = load i8*, i8** %idx8c2wc, align 8 + %30 = load i32, i32* %wc, align 4 + %shr = ashr i32 %30, 3 + %idxprom = sext i32 %shr to i64 + %arrayidx = getelementptr inbounds i8, i8* %29, i64 %idxprom + %31 = load i8, i8* %arrayidx, align 1 + %conv28 = zext i8 %31 to i32 + %shl = shl i32 %conv28, 3 + %32 = load i32, i32* %wc, align 4 + %and = and i32 %32, 7 + %add = add nsw i32 %shl, %and + %idxprom29 = sext i32 %add to i64 + %arrayidx30 = getelementptr inbounds i16, i16* %27, i64 %idxprom29 + %33 = load i16, i16* %arrayidx30, align 2 + %conv31 = zext i16 %33 to i32 + store i32 %conv31, i32* %wc, align 4 + %34 = load i32, i32* %wc, align 4 + %tobool32 = icmp ne i32 %34, 0 + br i1 %tobool32, label %if.end35, label %BAD + +if.end35: ; preds = %if.then27, %while.body + %35 = load i32, i32* %wc, align 4 + %36 = load i32*, i32** %dst.addr, align 8 + store i32 %35, i32* %36, align 4 + %tobool36 = icmp ne i32 %35, 0 + br i1 %tobool36, label %if.end38, label %if.then37 + +if.then37: ; preds = %if.end35 + store i8* null, i8** %s, align 8 + br label %while.end + +if.end38: ; preds = %if.end35 + %37 = load i32, i32* %incr, align 4 + %38 = load i32*, i32** %dst.addr, align 8 + %idx.ext = sext i32 %37 to i64 + %add.ptr = getelementptr inbounds i32, i32* %38, i64 %idx.ext + store i32* %add.ptr, i32** %dst.addr, align 8 + %39 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %39, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %40 = load i64, i64* %count, align 8 + %dec = add i64 %40, -1 + store i64 %dec, i64* %count, align 8 + br label %while.cond + +while.end: ; preds = %if.then37, %while.cond + %41 = load i32*, i32** %dst.addr, align 8 + %arraydecay39 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %cmp40 = icmp ne i32* %41, %arraydecay39 + br i1 %cmp40, label %if.then42, label %if.end43 + +if.then42: ; preds = %while.end + %42 = load i8*, i8** %s, align 8 + %43 = load i8**, i8*** %src.addr, align 8 + store i8* %42, i8** %43, align 8 + br label %if.end43 + +if.end43: ; preds = %if.then42, %while.end + %44 = load i64, i64* %len.addr, align 8 + %45 = load i64, i64* %count, align 8 + %sub44 = sub i64 %44, %45 + store i64 %sub44, i64* %retval, align 8 + br label %return + +while.cond46: ; preds = %if.end17, %if.end57 + %46 = load i64, i64* %count, align 8 + %tobool47 = icmp ne i64 %46, 0 + br i1 %tobool47, label %while.body48, label %while.end62 + +while.body48: ; preds = %while.cond46 + %47 = load i8*, i8** %s, align 8 + %48 = load i8, i8* %47, align 1 + %conv49 = zext i8 %48 to i32 + %49 = load i32*, i32** %dst.addr, align 8 + store i32 %conv49, i32* %49, align 4 + %cmp50 = icmp eq i32 %conv49, 0 + br i1 %cmp50, label %if.then52, label %if.end53 + +if.then52: ; preds = %while.body48 + store i8* null, i8** %s, align 8 + br label %while.end62 + +if.end53: ; preds = %while.body48 + %50 = load i32*, i32** %dst.addr, align 8 + %51 = load i32, i32* %50, align 4 + %cmp54 = icmp sge i32 %51, 128 + br i1 %cmp54, label %BAD, label %if.end57 + +BAD: ; preds = %if.end53, %if.then27 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end57: ; preds = %if.end53 + %52 = load i8*, i8** %s, align 8 + %incdec.ptr58 = getelementptr inbounds i8, i8* %52, i32 1 + store i8* %incdec.ptr58, i8** %s, align 8 + %53 = load i32, i32* %incr, align 4 + %54 = load i32*, i32** %dst.addr, align 8 + %idx.ext59 = sext i32 %53 to i64 + %add.ptr60 = getelementptr inbounds i32, i32* %54, i64 %idx.ext59 + store i32* %add.ptr60, i32** %dst.addr, align 8 + %55 = load i64, i64* %count, align 8 + %dec61 = add i64 %55, -1 + store i64 %dec61, i64* %count, align 8 + br label %while.cond46 + +while.end62: ; preds = %if.then52, %while.cond46 + %56 = load i32*, i32** %dst.addr, align 8 + %arraydecay63 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %cmp64 = icmp ne i32* %56, %arraydecay63 + br i1 %cmp64, label %if.then66, label %if.end67 + +if.then66: ; preds = %while.end62 + %57 = load i8*, i8** %s, align 8 + %58 = load i8**, i8*** %src.addr, align 8 + store i8* %57, i8** %58, align 8 + br label %if.end67 + +if.end67: ; preds = %if.then66, %while.end62 + %59 = load i64, i64* %len.addr, align 8 + %60 = load i64, i64* %count, align 8 + %sub68 = sub i64 %59, %60 + store i64 %sub68, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end67, %BAD, %if.end43, %if.then2 + %61 = load i64, i64* %retval, align 8 + ret i64 %61 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @iswctype(i32 %wc, i32 %desc) #0 { +entry: + %wc.addr = alloca i32, align 4 + %desc.addr = alloca i32, align 4 + store i32 %wc, i32* %wc.addr, align 4 + store i32 %desc, i32* %desc.addr, align 4 + %0 = load i32, i32* %wc.addr, align 4 + %1 = load i32, i32* %desc.addr, align 4 + %2 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %call = call i32 @iswctype_l(i32 %0, i32 %1, %struct.__uclibc_locale_struct.201* %2) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define hidden %struct.__STDIO_FILE_STRUCT.568* @_stdio_fopen(i64 %fname_or_mode, i8* noalias %mode, %struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %filedes) #0 { +entry: + %retval = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %fname_or_mode.addr = alloca i64, align 8 + %mode.addr = alloca i8*, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %filedes.addr = alloca i32, align 4 + %open_mode = alloca i32, align 4 + %i = alloca i32, align 4 + store i64 %fname_or_mode, i64* %fname_or_mode.addr, align 8 + store i8* %mode, i8** %mode.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %filedes, i32* %filedes.addr, align 4 + store i32 0, i32* %open_mode, align 4 + %0 = load i8*, i8** %mode.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %cmp = icmp ne i32 %conv, 114 + br i1 %cmp, label %if.then, label %if.end17 + +if.then: ; preds = %entry + store i32 577, i32* %open_mode, align 4 + %2 = load i8*, i8** %mode.addr, align 8 + %3 = load i8, i8* %2, align 1 + %conv2 = sext i8 %3 to i32 + %cmp3 = icmp ne i32 %conv2, 119 + br i1 %cmp3, label %if.then5, label %if.end17 + +if.then5: ; preds = %if.then + store i32 1089, i32* %open_mode, align 4 + %4 = load i8*, i8** %mode.addr, align 8 + %5 = load i8, i8* %4, align 1 + %conv6 = sext i8 %5 to i32 + %cmp7 = icmp ne i32 %conv6, 97 + br i1 %cmp7, label %DO_EINVAL, label %if.end17 + +DO_EINVAL: ; preds = %if.then40, %land.lhs.true, %if.then5 + store i32 22, i32* @errno, align 4 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %6, null + br i1 %tobool, label %do.body, label %if.end14 + +do.body: ; preds = %if.end62, %DO_EINVAL + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %7, i32 0, i32 0 + %8 = load i16, i16* %__modeflags, align 8 + %conv11 = zext i16 %8 to i32 + %and = and i32 %conv11, 8192 + %tobool12 = icmp ne i32 %and, 0 + br i1 %tobool12, label %if.then13, label %if.end14 + +if.then13: ; preds = %do.body + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %10 = bitcast %struct.__STDIO_FILE_STRUCT.568* %9 to i8* + call void @free(i8* %10) #19 + br label %if.end14 + +if.end14: ; preds = %if.then13, %do.body, %DO_EINVAL + store %struct.__STDIO_FILE_STRUCT.568* null, %struct.__STDIO_FILE_STRUCT.568** %retval, align 8 + br label %return + +if.end17: ; preds = %if.then, %if.then5, %entry + %11 = load i8*, i8** %mode.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %11, i64 1 + %12 = load i8, i8* %arrayidx, align 1 + %conv18 = sext i8 %12 to i32 + %cmp19 = icmp eq i32 %conv18, 98 + br i1 %cmp19, label %if.then21, label %if.end22 + +if.then21: ; preds = %if.end17 + %13 = load i8*, i8** %mode.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %13, i32 1 + store i8* %incdec.ptr, i8** %mode.addr, align 8 + br label %if.end22 + +if.end22: ; preds = %if.then21, %if.end17 + %14 = load i8*, i8** %mode.addr, align 8 + %arrayidx23 = getelementptr inbounds i8, i8* %14, i64 1 + %15 = load i8, i8* %arrayidx23, align 1 + %conv24 = sext i8 %15 to i32 + %cmp25 = icmp eq i32 %conv24, 43 + br i1 %cmp25, label %if.then27, label %if.end29 + +if.then27: ; preds = %if.end22 + %16 = load i8*, i8** %mode.addr, align 8 + %incdec.ptr28 = getelementptr inbounds i8, i8* %16, i32 1 + store i8* %incdec.ptr28, i8** %mode.addr, align 8 + %17 = load i32, i32* %open_mode, align 4 + %or = or i32 %17, 1 + store i32 %or, i32* %open_mode, align 4 + %18 = load i32, i32* %open_mode, align 4 + %add = add i32 %18, 1 + store i32 %add, i32* %open_mode, align 4 + br label %if.end29 + +if.end29: ; preds = %if.then27, %if.end22 + %19 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %tobool30 = icmp ne %struct.__STDIO_FILE_STRUCT.568* %19, null + br i1 %tobool30, label %if.end37, label %if.then31 + +if.then31: ; preds = %if.end29 + %call = call noalias i8* @malloc(i64 88) #19 + %20 = bitcast i8* %call to %struct.__STDIO_FILE_STRUCT.568* + store %struct.__STDIO_FILE_STRUCT.568* %20, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp32 = icmp eq %struct.__STDIO_FILE_STRUCT.568* %20, null + %21 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %cmp32, label %if.then34, label %if.end35 + +if.then34: ; preds = %if.then31 + store %struct.__STDIO_FILE_STRUCT.568* %21, %struct.__STDIO_FILE_STRUCT.568** %retval, align 8 + br label %return + +if.end35: ; preds = %if.then31 + %__modeflags36 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %21, i32 0, i32 0 + store i16 8192, i16* %__modeflags36, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 3 + store i8* null, i8** %__bufstart, align 8 + br label %if.end37 + +if.end37: ; preds = %if.end35, %if.end29 + %23 = load i32, i32* %filedes.addr, align 4 + %cmp38 = icmp sge i32 %23, 0 + %24 = load i32, i32* %filedes.addr, align 4 + br i1 %cmp38, label %if.then40, label %if.else + +if.then40: ; preds = %if.end37 + %25 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %25, i32 0, i32 2 + store i32 %24, i32* %__filedes, align 4 + %26 = load i32, i32* %open_mode, align 4 + %and41 = and i32 %26, 3 + %add42 = add i32 %and41, 1 + store i32 %add42, i32* %i, align 4 + %27 = load i32, i32* %i, align 4 + %28 = load i64, i64* %fname_or_mode.addr, align 8 + %conv43 = trunc i64 %28 to i32 + %add44 = add nsw i32 %conv43, 1 + %and45 = and i32 %27, %add44 + %29 = load i32, i32* %i, align 4 + %cmp46 = icmp ne i32 %and45, %29 + br i1 %cmp46, label %DO_EINVAL, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then40 + %30 = load i32, i32* %open_mode, align 4 + %31 = load i64, i64* %fname_or_mode.addr, align 8 + %conv48 = trunc i64 %31 to i32 + %neg = xor i32 %conv48, -1 + %and49 = and i32 %30, %neg + %and50 = and i32 %and49, 1024 + %tobool51 = icmp ne i32 %and50, 0 + br i1 %tobool51, label %land.lhs.true, label %if.end55 + +land.lhs.true: ; preds = %lor.lhs.false + %32 = load i32, i32* %filedes.addr, align 4 + %call52 = call i32 (i32, i32, ...) @fcntl(i32 %32, i32 4, i32 1024) #18 + %tobool53 = icmp ne i32 %call52, 0 + br i1 %tobool53, label %DO_EINVAL, label %if.end55 + +if.end55: ; preds = %land.lhs.true, %lor.lhs.false + %33 = load i64, i64* %fname_or_mode.addr, align 8 + %conv56 = trunc i64 %33 to i32 + %and57 = and i32 %conv56, 0 + %34 = load i32, i32* %open_mode, align 4 + %or58 = or i32 %34, %and57 + store i32 %or58, i32* %open_mode, align 4 + br label %if.end69 + +if.else: ; preds = %if.end37 + %cmp59 = icmp slt i32 %24, -1 + br i1 %cmp59, label %if.then61, label %if.end62 + +if.then61: ; preds = %if.else + %35 = load i32, i32* %open_mode, align 4 + store i32 %35, i32* %open_mode, align 4 + br label %if.end62 + +if.end62: ; preds = %if.then61, %if.else + %36 = load i64, i64* %fname_or_mode.addr, align 8 + %37 = inttoptr i64 %36 to i8* + %38 = load i32, i32* %open_mode, align 4 + %call63 = call i32 (i8*, i32, ...) @open(i8* %37, i32 %38, i32 438) #18 + %39 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes64 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %39, i32 0, i32 2 + store i32 %call63, i32* %__filedes64, align 4 + %cmp65 = icmp slt i32 %call63, 0 + br i1 %cmp65, label %do.body, label %if.end69 + +if.end69: ; preds = %if.end62, %if.end55 + %40 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags70 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %40, i32 0, i32 0 + %41 = load i16, i16* %__modeflags70, align 8 + %conv71 = zext i16 %41 to i32 + %and72 = and i32 %conv71, 8192 + %conv73 = trunc i32 %and72 to i16 + store i16 %conv73, i16* %__modeflags70, align 8 + %42 = load i32, i32* %open_mode, align 4 + %and74 = and i32 %42, 1024 + %43 = load i32, i32* %open_mode, align 4 + %and75 = and i32 %43, 3 + %add76 = add i32 %and75, 1 + %xor = xor i32 %add76, 3 + %mul = mul i32 %xor, 16 + %or77 = or i32 %and74, %mul + %44 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags78 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %44, i32 0, i32 0 + %45 = load i16, i16* %__modeflags78, align 8 + %conv79 = zext i16 %45 to i32 + %or80 = or i32 %conv79, %or77 + %conv81 = trunc i32 %or80 to i16 + store i16 %conv81, i16* %__modeflags78, align 8 + %46 = load i32, i32* @errno, align 4 + store i32 %46, i32* %i, align 4 + %47 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes82 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %47, i32 0, i32 2 + %48 = load i32, i32* %__filedes82, align 4 + %call83 = call i32 @isatty(i32 %48) #19 + %mul84 = mul i32 %call83, 256 + %49 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags85 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %49, i32 0, i32 0 + %50 = load i16, i16* %__modeflags85, align 8 + %conv86 = zext i16 %50 to i32 + %or87 = or i32 %conv86, %mul84 + %conv88 = trunc i32 %or87 to i16 + store i16 %conv88, i16* %__modeflags85, align 8 + %51 = load i32, i32* %i, align 4 + store i32 %51, i32* @errno, align 4 + %52 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart89 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %52, i32 0, i32 3 + %53 = load i8*, i8** %__bufstart89, align 8 + %tobool90 = icmp ne i8* %53, null + br i1 %tobool90, label %if.end106, label %if.then91 + +if.then91: ; preds = %if.end69 + %call92 = call noalias i8* @malloc(i64 4096) #19 + %54 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart93 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %54, i32 0, i32 3 + store i8* %call92, i8** %__bufstart93, align 8 + %cmp94 = icmp ne i8* %call92, null + %55 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart97 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %55, i32 0, i32 3 + %56 = load i8*, i8** %__bufstart97, align 8 + br i1 %cmp94, label %if.then96, label %if.else102 + +if.then96: ; preds = %if.then91 + %add.ptr = getelementptr inbounds i8, i8* %56, i64 4096 + %57 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %57, i32 0, i32 4 + store i8* %add.ptr, i8** %__bufend, align 8 + %58 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags98 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %58, i32 0, i32 0 + %59 = load i16, i16* %__modeflags98, align 8 + %conv99 = zext i16 %59 to i32 + %or100 = or i32 %conv99, 16384 + %conv101 = trunc i32 %or100 to i16 + store i16 %conv101, i16* %__modeflags98, align 8 + br label %if.end106 + +if.else102: ; preds = %if.then91 + %60 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend104 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %60, i32 0, i32 4 + store i8* %56, i8** %__bufend104, align 8 + br label %if.end106 + +if.end106: ; preds = %if.then96, %if.else102, %if.end69 + %61 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart107 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %61, i32 0, i32 3 + %62 = load i8*, i8** %__bufstart107, align 8 + %63 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %63, i32 0, i32 7 + store i8* %62, i8** %__bufgetc_u, align 8 + %64 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart108 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %64, i32 0, i32 3 + %65 = load i8*, i8** %__bufstart108, align 8 + %66 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %66, i32 0, i32 8 + store i8* %65, i8** %__bufputc_u, align 8 + %67 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart109 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %67, i32 0, i32 3 + %68 = load i8*, i8** %__bufstart109, align 8 + %69 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %69, i32 0, i32 5 + store i8* %68, i8** %__bufpos, align 8 + %70 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %70, i32 0, i32 6 + store i8* %68, i8** %__bufread, align 8 + %71 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %71, i32 0, i32 1 + %arrayidx110 = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 0 + store i8 0, i8* %arrayidx110, align 2 + %72 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %72, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + store i32 0, i32* %__mask, align 8 + %73 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + %74 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %74, i32 0, i32 9 + store %struct.__STDIO_FILE_STRUCT.568* %73, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + %75 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %75, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + %76 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %76, %struct.__STDIO_FILE_STRUCT.568** %retval, align 8 + br label %return + +return: ; preds = %if.end106, %if.then34, %if.end14 + %77 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %retval, align 8 + ret %struct.__STDIO_FILE_STRUCT.568* %77 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_fwrite(i8* noalias %buffer, i64 %bytes, %struct.__STDIO_FILE_STRUCT.568* noalias %stream) #0 { +entry: + %retval = alloca i64, align 8 + %buffer.addr = alloca i8*, align 8 + %bytes.addr = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %pending = alloca i64, align 8 + %p = alloca i8*, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %bytes, i64* %bytes.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 512 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end63, label %if.then + +if.then: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 2 + %3 = load i32, i32* %__filedes, align 4 + %cmp = icmp eq i32 %3, -2 + br i1 %cmp, label %if.then2, label %if.end8 + +if.then2: ; preds = %if.then + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 4 + %5 = load i8*, i8** %__bufend, align 8 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 5 + %7 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %pending, align 8 + %8 = load i64, i64* %pending, align 8 + %9 = load i64, i64* %bytes.addr, align 8 + %cmp3 = icmp ugt i64 %8, %9 + br i1 %cmp3, label %if.then5, label %if.end + +if.then5: ; preds = %if.then2 + %10 = load i64, i64* %bytes.addr, align 8 + store i64 %10, i64* %pending, align 8 + br label %if.end + +if.end: ; preds = %if.then5, %if.then2 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 5 + %12 = load i8*, i8** %__bufpos6, align 8 + %13 = load i8*, i8** %buffer.addr, align 8 + %14 = load i64, i64* %pending, align 8 + %call = call i8* @memcpy(i8* %12, i8* %13, i64 %14) #19 + %15 = load i64, i64* %pending, align 8 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos7 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %16, i32 0, i32 5 + %17 = load i8*, i8** %__bufpos7, align 8 + %add.ptr = getelementptr inbounds i8, i8* %17, i64 %15 + store i8* %add.ptr, i8** %__bufpos7, align 8 + %18 = load i64, i64* %bytes.addr, align 8 + store i64 %18, i64* %retval, align 8 + br label %return + +if.end8: ; preds = %if.then + %19 = load i64, i64* %bytes.addr, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend9 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 4 + %21 = load i8*, i8** %__bufend9, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 5 + %23 = load i8*, i8** %__bufpos10, align 8 + %sub.ptr.lhs.cast11 = ptrtoint i8* %21 to i64 + %sub.ptr.rhs.cast12 = ptrtoint i8* %23 to i64 + %sub.ptr.sub13 = sub i64 %sub.ptr.lhs.cast11, %sub.ptr.rhs.cast12 + %cmp14 = icmp ule i64 %19, %sub.ptr.sub13 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 5 + %25 = load i8*, i8** %__bufpos17, align 8 + br i1 %cmp14, label %if.then16, label %if.end51 + +if.then16: ; preds = %if.end8 + %26 = load i8*, i8** %buffer.addr, align 8 + %27 = load i64, i64* %bytes.addr, align 8 + %call18 = call i8* @memcpy(i8* %25, i8* %26, i64 %27) #19 + %28 = load i64, i64* %bytes.addr, align 8 + %29 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos19 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %29, i32 0, i32 5 + %30 = load i8*, i8** %__bufpos19, align 8 + %add.ptr20 = getelementptr inbounds i8, i8* %30, i64 %28 + store i8* %add.ptr20, i8** %__bufpos19, align 8 + %31 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags21 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %31, i32 0, i32 0 + %32 = load i16, i16* %__modeflags21, align 8 + %conv22 = zext i16 %32 to i32 + %and23 = and i32 %conv22, 256 + %tobool24 = icmp ne i32 %and23, 0 + br i1 %tobool24, label %land.lhs.true, label %if.end50 + +land.lhs.true: ; preds = %if.then16 + %33 = load i8*, i8** %buffer.addr, align 8 + %34 = load i64, i64* %bytes.addr, align 8 + %call25 = call i8* @memrchr(i8* %33, i32 10, i64 %34) #20 + %tobool26 = icmp ne i8* %call25, null + br i1 %tobool26, label %if.then27, label %if.end50 + +if.then27: ; preds = %land.lhs.true + %35 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call28 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %35) #18 + store i64 %call28, i64* %pending, align 8 + %cmp29 = icmp ugt i64 %call28, 0 + br i1 %cmp29, label %if.then31, label %if.end50 + +if.then31: ; preds = %if.then27 + %36 = load i64, i64* %pending, align 8 + %37 = load i64, i64* %bytes.addr, align 8 + %cmp32 = icmp ugt i64 %36, %37 + br i1 %cmp32, label %if.then34, label %if.end35 + +if.then34: ; preds = %if.then31 + %38 = load i64, i64* %bytes.addr, align 8 + store i64 %38, i64* %pending, align 8 + br label %if.end35 + +if.end35: ; preds = %if.then34, %if.then31 + %39 = load i64, i64* %bytes.addr, align 8 + %40 = load i64, i64* %pending, align 8 + %sub = sub i64 %39, %40 + %41 = load i8*, i8** %buffer.addr, align 8 + %add.ptr36 = getelementptr inbounds i8, i8* %41, i64 %sub + store i8* %add.ptr36, i8** %buffer.addr, align 8 + %42 = load i8*, i8** %buffer.addr, align 8 + %43 = load i64, i64* %pending, align 8 + %call37 = call i8* @memchr(i8* %42, i32 10, i64 %43) #20 + store i8* %call37, i8** %p, align 8 + %cmp38 = icmp ne i8* %call37, null + br i1 %cmp38, label %if.then40, label %if.end50 + +if.then40: ; preds = %if.end35 + %44 = load i8*, i8** %buffer.addr, align 8 + %45 = load i64, i64* %pending, align 8 + %add.ptr41 = getelementptr inbounds i8, i8* %44, i64 %45 + %46 = load i8*, i8** %p, align 8 + %sub.ptr.lhs.cast42 = ptrtoint i8* %add.ptr41 to i64 + %sub.ptr.rhs.cast43 = ptrtoint i8* %46 to i64 + %sub.ptr.sub44 = sub i64 %sub.ptr.lhs.cast42, %sub.ptr.rhs.cast43 + store i64 %sub.ptr.sub44, i64* %pending, align 8 + %47 = load i64, i64* %pending, align 8 + %48 = load i64, i64* %bytes.addr, align 8 + %sub45 = sub i64 %48, %47 + store i64 %sub45, i64* %bytes.addr, align 8 + %49 = load i64, i64* %pending, align 8 + %50 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos46 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %50, i32 0, i32 5 + %51 = load i8*, i8** %__bufpos46, align 8 + %idx.neg = sub i64 0, %49 + %add.ptr47 = getelementptr inbounds i8, i8* %51, i64 %idx.neg + store i8* %add.ptr47, i8** %__bufpos46, align 8 + br label %if.end50 + +if.end50: ; preds = %if.then27, %if.then40, %if.end35, %land.lhs.true, %if.then16 + %52 = load i64, i64* %bytes.addr, align 8 + store i64 %52, i64* %retval, align 8 + br label %return + +if.end51: ; preds = %if.end8 + %53 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %53, i32 0, i32 3 + %54 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast53 = ptrtoint i8* %25 to i64 + %sub.ptr.rhs.cast54 = ptrtoint i8* %54 to i64 + %sub.ptr.sub55 = sub i64 %sub.ptr.lhs.cast53, %sub.ptr.rhs.cast54 + %tobool56 = icmp ne i64 %sub.ptr.sub55, 0 + br i1 %tobool56, label %if.then57, label %if.end63 + +if.then57: ; preds = %if.end51 + %55 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call58 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %55) #18 + %tobool59 = icmp ne i64 %call58, 0 + br i1 %tobool59, label %if.then60, label %if.end63 + +if.then60: ; preds = %if.then57 + store i64 0, i64* %retval, align 8 + br label %return + +if.end63: ; preds = %if.end51, %if.then57, %entry + %56 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %57 = load i8*, i8** %buffer.addr, align 8 + %58 = load i64, i64* %bytes.addr, align 8 + %call64 = call i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %56, i8* %57, i64 %58) #18 + store i64 %call64, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end63, %if.then60, %if.end50, %if.end + %59 = load i64, i64* %retval, align 8 + ret i64 %59 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %oflag) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %oflag.addr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %oflag, i32* %oflag.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %2 = load i32, i32* %oflag.addr, align 4 + %and = and i32 %conv, %2 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end9, label %if.then + +if.then: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 0 + %4 = load i16, i16* %__modeflags1, align 8 + %conv2 = zext i16 %4 to i32 + %and3 = and i32 %conv2, 2176 + %tobool4 = icmp ne i32 %and3, 0 + br i1 %tobool4, label %DO_EBADF, label %if.end + +if.end: ; preds = %if.then + %5 = load i32, i32* %oflag.addr, align 4 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 0 + %7 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %7 to i32 + %or = or i32 %conv7, %5 + %conv8 = trunc i32 %or to i16 + store i16 %conv8, i16* %__modeflags6, align 8 + br label %if.end9 + +if.end9: ; preds = %if.end, %entry + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags10, align 8 + %conv11 = zext i16 %9 to i32 + %and12 = and i32 %conv11, 32 + %tobool13 = icmp ne i32 %and12, 0 + br i1 %tobool13, label %DO_EBADF, label %if.end19 + +DO_EBADF: ; preds = %if.end9, %if.then + store i32 9, i32* @errno, align 4 + br label %ERROR + +ERROR: ; preds = %land.lhs.true, %DO_EBADF + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags15 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 0 + %11 = load i16, i16* %__modeflags15, align 8 + %conv16 = zext i16 %11 to i32 + %or17 = or i32 %conv16, 8 + %conv18 = trunc i32 %or17 to i16 + store i16 %conv18, i16* %__modeflags15, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end19: ; preds = %if.end9 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags20 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags20, align 8 + %conv21 = zext i16 %13 to i32 + %and22 = and i32 %conv21, 3 + %tobool23 = icmp ne i32 %and22, 0 + br i1 %tobool23, label %if.then24, label %if.end50 + +if.then24: ; preds = %if.end19 + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags25 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %14, i32 0, i32 0 + %15 = load i16, i16* %__modeflags25, align 8 + %conv26 = zext i16 %15 to i32 + %and27 = and i32 %conv26, 4 + %tobool28 = icmp ne i32 %and27, 0 + br i1 %tobool28, label %if.end42, label %if.then29 + +if.then29: ; preds = %if.then24 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %16, i32 0, i32 6 + %17 = load i8*, i8** %__bufread, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 5 + %19 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %17 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool30 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %tobool30, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then29 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags31 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 0 + %21 = load i16, i16* %__modeflags31, align 8 + %conv32 = zext i16 %21 to i32 + %and33 = and i32 %conv32, 2 + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %land.lhs.true, label %if.end42 + +land.lhs.true: ; preds = %lor.lhs.false, %if.then29 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %23 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags35 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %23, i32 0, i32 0 + %24 = load i16, i16* %__modeflags35, align 8 + %conv36 = zext i16 %24 to i32 + %and37 = and i32 %conv36, 1024 + %tobool38 = icmp ne i32 %and37, 0 + %25 = zext i1 %tobool38 to i64 + %cond = select i1 %tobool38, i32 2, i32 1 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32)* @fseek to i32 (%struct.__STDIO_FILE_STRUCT.568*, i64, i32)*)(%struct.__STDIO_FILE_STRUCT.568* %22, i64 0, i32 %cond) #18 + %tobool39 = icmp ne i32 %call, 0 + br i1 %tobool39, label %ERROR, label %if.end42 + +if.end42: ; preds = %lor.lhs.false, %land.lhs.true, %if.then24 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags43 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 0 + %27 = load i16, i16* %__modeflags43, align 8 + %conv44 = zext i16 %27 to i32 + %and45 = and i32 %conv44, -4 + %conv46 = trunc i32 %and45 to i16 + store i16 %conv46, i16* %__modeflags43, align 8 + %28 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %28, i32 0, i32 3 + %29 = load i8*, i8** %__bufstart, align 8 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %30, i32 0, i32 7 + store i8* %29, i8** %__bufgetc_u, align 8 + %31 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart47 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %31, i32 0, i32 3 + %32 = load i8*, i8** %__bufstart47, align 8 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos48 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %33, i32 0, i32 5 + store i8* %32, i8** %__bufpos48, align 8 + %34 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread49 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %34, i32 0, i32 6 + store i8* %32, i8** %__bufread49, align 8 + br label %if.end50 + +if.end50: ; preds = %if.end42, %if.end19 + %35 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags51 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %35, i32 0, i32 0 + %36 = load i16, i16* %__modeflags51, align 8 + %conv52 = zext i16 %36 to i32 + %or53 = or i32 %conv52, 64 + %conv54 = trunc i32 %or53 to i16 + store i16 %conv54, i16* %__modeflags51, align 8 + %37 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags55 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %37, i32 0, i32 0 + %38 = load i16, i16* %__modeflags55, align 8 + %conv56 = zext i16 %38 to i32 + %and57 = and i32 %conv56, 2816 + %tobool58 = icmp ne i32 %and57, 0 + br i1 %tobool58, label %if.end60, label %if.then59 + +if.then59: ; preds = %if.end50 + %39 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %39, i32 0, i32 4 + %40 = load i8*, i8** %__bufend, align 8 + %41 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %41, i32 0, i32 8 + store i8* %40, i8** %__bufputc_u, align 8 + br label %if.end60 + +if.end60: ; preds = %if.then59, %if.end50 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end60, %ERROR + %42 = load i32, i32* %retval, align 4 + ret i32 %42 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fseeko64(%struct.__STDIO_FILE_STRUCT.636* %stream, i64 %offset, i32 %whence) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + %pos = alloca i64, align 8 + %retval1 = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i64, i64* %offset.addr, align 8 + store i64 %0, i64* %pos, align 8 + store i32 -1, i32* %retval1, align 4 + %1 = load i32, i32* %whence.addr, align 4 + %cmp = icmp ugt i32 %1, 2 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + store i32 22, i32* @errno, align 4 + br label %if.end20 + +if.else: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %2, i32 0, i32 0 + %3 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %3 to i32 + %and = and i32 %conv, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %lor.lhs.false, label %land.lhs.true + +lor.lhs.false: ; preds = %if.else + %4 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %call = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.568*)* @__stdio_wcommit to i64 (%struct.__STDIO_FILE_STRUCT.636*)*)(%struct.__STDIO_FILE_STRUCT.636* %4) #18 + %tobool2 = icmp ne i64 %call, 0 + br i1 %tobool2, label %if.end20, label %land.lhs.true + +land.lhs.true: ; preds = %lor.lhs.false, %if.else + %5 = load i32, i32* %whence.addr, align 4 + %cmp3 = icmp ne i32 %5, 1 + br i1 %cmp3, label %land.lhs.true9, label %lor.lhs.false5 + +lor.lhs.false5: ; preds = %land.lhs.true + %6 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %call6 = call i32 @__stdio_adjust_position(%struct.__STDIO_FILE_STRUCT.636* %6, i64* %pos) #18 + %cmp7 = icmp sge i32 %call6, 0 + br i1 %cmp7, label %land.lhs.true9, label %if.end20 + +land.lhs.true9: ; preds = %lor.lhs.false5, %land.lhs.true + %7 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %8 = load i32, i32* %whence.addr, align 4 + %call10 = call i32 @__stdio_seek(%struct.__STDIO_FILE_STRUCT.636* %7, i64* %pos, i32 %8) #18 + %cmp11 = icmp sge i32 %call10, 0 + br i1 %cmp11, label %if.then13, label %if.end20 + +if.then13: ; preds = %land.lhs.true9 + %9 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags14 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %9, i32 0, i32 0 + %10 = load i16, i16* %__modeflags14, align 8 + %conv15 = zext i16 %10 to i32 + %and16 = and i32 %conv15, -72 + %conv17 = trunc i32 %and16 to i16 + store i16 %conv17, i16* %__modeflags14, align 8 + %11 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %11, i32 0, i32 3 + %12 = load i8*, i8** %__bufstart, align 8 + %13 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %13, i32 0, i32 5 + store i8* %12, i8** %__bufpos, align 8 + %14 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %14, i32 0, i32 6 + store i8* %12, i8** %__bufread, align 8 + %15 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufstart18 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %15, i32 0, i32 3 + %16 = load i8*, i8** %__bufstart18, align 8 + %17 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %17, i32 0, i32 7 + store i8* %16, i8** %__bufgetc_u, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufstart19 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %18, i32 0, i32 3 + %19 = load i8*, i8** %__bufstart19, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %20, i32 0, i32 8 + store i8* %19, i8** %__bufputc_u, align 8 + %21 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %21, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + store i32 0, i32* %__mask, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %22, i32 0, i32 1 + %arrayidx = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 0 + store i8 0, i8* %arrayidx, align 2 + store i32 0, i32* %retval1, align 4 + br label %if.end20 + +if.end20: ; preds = %lor.lhs.false, %lor.lhs.false5, %land.lhs.true9, %if.then13, %if.then + %23 = load i32, i32* %retval1, align 4 + ret i32 %23 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i8* noalias %format, %struct.__va_list_tag.0* %arg) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %format.addr = alloca i8*, align 8 + %arg.addr = alloca %struct.__va_list_tag.0*, align 8 + %ppfs = alloca %struct.ppfs_t.722, align 8 + %count = alloca i32, align 4 + %r = alloca i32, align 4 + %s = alloca i8*, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + store %struct.__va_list_tag.0* %arg, %struct.__va_list_tag.0** %arg.addr, align 8 + store i32 0, i32* %count, align 4 + %0 = load i8*, i8** %format.addr, align 8 + store i8* %0, i8** %s, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %1, i32 0, i32 0 + %2 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %2 to i32 + %and = and i32 %conv, 192 + %cmp = icmp eq i32 %and, 192 + br i1 %cmp, label %if.else, label %land.lhs.true + +land.lhs.true: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* %3, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %land.lhs.true + store i32 -1, i32* %count, align 4 + br label %if.end65 + +if.else: ; preds = %land.lhs.true, %entry + %4 = load i8*, i8** %format.addr, align 8 + %call2 = call i32 @_ppfs_init(%struct.ppfs_t.722* %ppfs, i8* %4) #18 + %cmp3 = icmp slt i32 %call2, 0 + br i1 %cmp3, label %if.then5, label %if.else13 + +if.then5: ; preds = %if.else + %fmtpos = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %5 = load i8*, i8** %fmtpos, align 8 + %call6 = call i64 @strlen(i8* %5) #20 + %cmp7 = icmp ugt i64 %call6, 0 + br i1 %cmp7, label %cond.true, label %cond.end + +cond.true: ; preds = %if.then5 + %fmtpos9 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %6 = load i8*, i8** %fmtpos9, align 8 + %fmtpos10 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %7 = load i8*, i8** %fmtpos10, align 8 + %call11 = call i64 @strlen(i8* %7) #20 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call12 = call i64 @__stdio_fwrite(i8* %6, i64 %call11, %struct.__STDIO_FILE_STRUCT.568* %8) #18 + br label %cond.end + +cond.end: ; preds = %if.then5, %cond.true + %cond = phi i64 [ %call12, %cond.true ], [ 0, %if.then5 ] + store i32 -1, i32* %count, align 4 + br label %if.end65 + +if.else13: ; preds = %if.else + %9 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %arg.addr, align 8 + call void @_ppfs_prepargs(%struct.ppfs_t.722* %ppfs, %struct.__va_list_tag.0* %9) #18 + br label %do.body + +do.body: ; preds = %do.cond, %if.else13 + br label %while.cond + +while.cond: ; preds = %while.body, %do.body + %10 = load i8*, i8** %format.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv14 = sext i8 %11 to i32 + %tobool15 = icmp ne i32 %conv14, 0 + br i1 %tobool15, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %12 = load i8*, i8** %format.addr, align 8 + %13 = load i8, i8* %12, align 1 + %conv16 = sext i8 %13 to i32 + %cmp17 = icmp ne i32 %conv16, 37 + br label %land.end + +land.end: ; preds = %land.rhs, %while.cond + %14 = phi i1 [ false, %while.cond ], [ %cmp17, %land.rhs ] + %15 = load i8*, i8** %format.addr, align 8 + br i1 %14, label %while.body, label %while.end + +while.body: ; preds = %land.end + %incdec.ptr = getelementptr inbounds i8, i8* %15, i32 1 + store i8* %incdec.ptr, i8** %format.addr, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %16 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %15 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %16 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool19 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %tobool19, label %if.then20, label %if.end42 + +if.then20: ; preds = %while.end + %17 = load i8*, i8** %format.addr, align 8 + %18 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast21 = ptrtoint i8* %17 to i64 + %sub.ptr.rhs.cast22 = ptrtoint i8* %18 to i64 + %sub.ptr.sub23 = sub i64 %sub.ptr.lhs.cast21, %sub.ptr.rhs.cast22 + %cmp24 = icmp sgt i64 %sub.ptr.sub23, 0 + br i1 %cmp24, label %cond.true26, label %cond.end32 + +cond.true26: ; preds = %if.then20 + %19 = load i8*, i8** %s, align 8 + %20 = load i8*, i8** %format.addr, align 8 + %21 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast27 = ptrtoint i8* %20 to i64 + %sub.ptr.rhs.cast28 = ptrtoint i8* %21 to i64 + %sub.ptr.sub29 = sub i64 %sub.ptr.lhs.cast27, %sub.ptr.rhs.cast28 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call30 = call i64 @__stdio_fwrite(i8* %19, i64 %sub.ptr.sub29, %struct.__STDIO_FILE_STRUCT.568* %22) #18 + br label %cond.end32 + +cond.end32: ; preds = %if.then20, %cond.true26 + %cond33 = phi i64 [ %call30, %cond.true26 ], [ 0, %if.then20 ] + %conv34 = trunc i64 %cond33 to i32 + store i32 %conv34, i32* %r, align 4 + %conv35 = sext i32 %conv34 to i64 + %23 = load i8*, i8** %format.addr, align 8 + %24 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast36 = ptrtoint i8* %23 to i64 + %sub.ptr.rhs.cast37 = ptrtoint i8* %24 to i64 + %sub.ptr.sub38 = sub i64 %sub.ptr.lhs.cast36, %sub.ptr.rhs.cast37 + %cmp39 = icmp ne i64 %conv35, %sub.ptr.sub38 + br i1 %cmp39, label %if.then41, label %if.end + +if.then41: ; preds = %cond.end32 + store i32 -1, i32* %count, align 4 + br label %do.end + +if.end: ; preds = %cond.end32 + %25 = load i32, i32* %r, align 4 + %26 = load i32, i32* %count, align 4 + %add = add nsw i32 %26, %25 + store i32 %add, i32* %count, align 4 + br label %if.end42 + +if.end42: ; preds = %if.end, %while.end + %27 = load i8*, i8** %format.addr, align 8 + %28 = load i8, i8* %27, align 1 + %tobool43 = icmp ne i8 %28, 0 + br i1 %tobool43, label %if.end45, label %do.end + +if.end45: ; preds = %if.end42 + %29 = load i8*, i8** %format.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %29, i64 1 + %30 = load i8, i8* %arrayidx, align 1 + %conv46 = sext i8 %30 to i32 + %cmp47 = icmp ne i32 %conv46, 37 + %31 = load i8*, i8** %format.addr, align 8 + %incdec.ptr50 = getelementptr inbounds i8, i8* %31, i32 1 + store i8* %incdec.ptr50, i8** %format.addr, align 8 + br i1 %cmp47, label %if.then49, label %if.else58 + +if.then49: ; preds = %if.end45 + %fmtpos51 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + store i8* %incdec.ptr50, i8** %fmtpos51, align 8 + %32 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call52 = call i32 @_do_one_spec(%struct.__STDIO_FILE_STRUCT.568* %32, %struct.ppfs_t.722* %ppfs, i32* %count) #18 + store i32 %call52, i32* %r, align 4 + %cmp53 = icmp slt i32 %call52, 0 + br i1 %cmp53, label %if.then55, label %if.end56 + +if.then55: ; preds = %if.then49 + store i32 -1, i32* %count, align 4 + br label %do.end + +if.end56: ; preds = %if.then49 + %fmtpos57 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %33 = load i8*, i8** %fmtpos57, align 8 + store i8* %33, i8** %format.addr, align 8 + store i8* %33, i8** %s, align 8 + br label %do.cond + +if.else58: ; preds = %if.end45 + store i8* %incdec.ptr50, i8** %s, align 8 + %34 = load i8*, i8** %format.addr, align 8 + %incdec.ptr60 = getelementptr inbounds i8, i8* %34, i32 1 + store i8* %incdec.ptr60, i8** %format.addr, align 8 + br label %do.cond + +do.cond: ; preds = %if.end56, %if.else58 + br label %do.body + +do.end: ; preds = %if.end42, %if.then55, %if.then41 + %arg62 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 7 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg62, i64 0, i64 0 + %arraydecay63 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_end(i8* %arraydecay63) + br label %if.end65 + +if.end65: ; preds = %cond.end, %do.end, %if.then + %35 = load i32, i32* %count, align 4 + ret i32 %35 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_do_one_spec(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, %struct.ppfs_t.722* %ppfs, i32* %count) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %count.addr = alloca i32*, align 8 + %argptr = alloca [1 x i8*], align 8 + %argtype = alloca i32*, align 8 + %ws = alloca i32*, align 8 + %mbstate = alloca %struct.__mbstate_t.512, align 4 + %slen = alloca i64, align 8 + %base = alloca i32, align 4 + %numpad = alloca i32, align 4 + %alphacase = alloca i32, align 4 + %numfill = alloca i32, align 4 + %prefix_num = alloca i32, align 4 + %padchar = alloca i8, align 1 + %buf = alloca [128 x i8], align 16 + %p = alloca %union.anon.193*, align 8 + %i = alloca i32, align 4 + %s = alloca i8*, align 8 + %nf = alloca i64, align 8 + %t = alloca i64, align 8 + %t351 = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store i32* %count, i32** %count.addr, align 8 + store i32* null, i32** %ws, align 8 + store i32 0, i32* %numfill, align 4 + store i32 11, i32* %prefix_num, align 4 + store i8 32, i8* %padchar, align 1 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %call = call i32 @_ppfs_parsespec(%struct.ppfs_t.722* %0) #18 + %1 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + call void @_ppfs_setargs(%struct.ppfs_t.722* %1) #18 + %2 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype1 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %2, i32 0, i32 6 + %arraydecay = getelementptr inbounds [9 x i32], [9 x i32]* %argtype1, i64 0, i64 0 + %3 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %3, i32 0, i32 5 + %arrayidx = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber, i64 0, i64 2 + %4 = load i8, i8* %arrayidx, align 2 + %conv = zext i8 %4 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds i32, i32* %arraydecay, i64 %idx.ext + %add.ptr2 = getelementptr inbounds i32, i32* %add.ptr, i64 -1 + store i32* %add.ptr2, i32** %argtype, align 8 + %5 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argvalue = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %5, i32 0, i32 8 + %arraydecay3 = getelementptr inbounds [9 x %union.anon.193], [9 x %union.anon.193]* %argvalue, i64 0, i64 0 + store %union.anon.193* %arraydecay3, %union.anon.193** %p, align 8 + %6 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %6, i32 0, i32 2 + %7 = load i32, i32* %maxposarg, align 4 + %cmp = icmp sgt i32 %7, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %8 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber5 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %8, i32 0, i32 5 + %arrayidx6 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber5, i64 0, i64 2 + %9 = load i8, i8* %arrayidx6, align 2 + %conv7 = zext i8 %9 to i32 + %sub = sub nsw i32 %conv7, 1 + %10 = load %union.anon.193*, %union.anon.193** %p, align 8 + %idx.ext8 = sext i32 %sub to i64 + %add.ptr9 = getelementptr inbounds %union.anon.193, %union.anon.193* %10, i64 %idx.ext8 + store %union.anon.193* %add.ptr9, %union.anon.193** %p, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %11 = load i32, i32* %i, align 4 + %12 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %12, i32 0, i32 3 + %13 = load i32, i32* %num_data_args, align 8 + %cmp10 = icmp slt i32 %11, %13 + br i1 %cmp10, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %14 = load %union.anon.193*, %union.anon.193** %p, align 8 + %incdec.ptr = getelementptr inbounds %union.anon.193, %union.anon.193* %14, i32 1 + store %union.anon.193* %incdec.ptr, %union.anon.193** %p, align 8 + %15 = bitcast %union.anon.193* %14 to i8* + %16 = load i32, i32* %i, align 4 + %idxprom = sext i32 %16 to i64 + %arrayidx12 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 %idxprom + store i8* %15, i8** %arrayidx12, align 8 + %17 = load i32, i32* %i, align 4 + %inc = add nsw i32 %17, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + store i8* null, i8** %s, align 8 + %18 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %18, i32 0, i32 4 + %19 = load i32, i32* %conv_num, align 4 + %cmp13 = icmp eq i32 %19, 0 + br i1 %cmp13, label %if.then15, label %if.end18 + +if.then15: ; preds = %for.end + %arraydecay16 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %20 = load i8*, i8** %arraydecay16, align 8 + %21 = bitcast i8* %20 to i8** + %22 = load i8*, i8** %21, align 8 + %23 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %23, i32 0, i32 1 + %_flags = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 3 + %24 = load i32, i32* %_flags, align 4 + %and = and i32 %24, 3840 + %25 = load i32*, i32** %count.addr, align 8 + %26 = load i32, i32* %25, align 4 + %conv17 = sext i32 %26 to i64 + call void @_store_inttype(i8* %22, i32 %and, i64 %conv17) #18 + store i32 0, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %for.end + %27 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num19 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %27, i32 0, i32 4 + %28 = load i32, i32* %conv_num19, align 4 + %cmp20 = icmp ule i32 %28, 7 + br i1 %cmp20, label %if.then22, label %if.else179 + +if.then22: ; preds = %if.end18 + store i32 87, i32* %alphacase, align 4 + %29 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num23 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %29, i32 0, i32 4 + %30 = load i32, i32* %conv_num23, align 4 + %sub24 = sub i32 %30, 1 + %idxprom25 = sext i32 %sub24 to i64 + %arrayidx26 = getelementptr inbounds [7 x i8], [7 x i8]* @_do_one_spec.spec_base, i64 0, i64 %idxprom25 + %31 = load i8, i8* %arrayidx26, align 1 + %conv27 = sext i8 %31 to i32 + store i32 %conv27, i32* %base, align 4 + %cmp28 = icmp eq i32 %conv27, 10 + br i1 %cmp28, label %if.then30, label %if.end42 + +if.then30: ; preds = %if.then22 + %32 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info31 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %32, i32 0, i32 1 + %_flags32 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info31, i32 0, i32 3 + %33 = load i32, i32* %_flags32, align 4 + %and33 = and i32 %33, 32 + %tobool = icmp ne i32 %and33, 0 + br i1 %tobool, label %if.then34, label %if.end35 + +if.then34: ; preds = %if.then30 + store i32 44, i32* %alphacase, align 4 + br label %if.end35 + +if.end35: ; preds = %if.then34, %if.then30 + %34 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info36 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %34, i32 0, i32 1 + %_flags37 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info36, i32 0, i32 3 + %35 = load i32, i32* %_flags37, align 4 + %and38 = and i32 %35, 64 + %tobool39 = icmp ne i32 %and38, 0 + br i1 %tobool39, label %if.then40, label %if.end42 + +if.then40: ; preds = %if.end35 + %36 = load i32, i32* %alphacase, align 4 + %or = or i32 %36, 128 + store i32 %or, i32* %alphacase, align 4 + br label %if.end42 + +if.end42: ; preds = %if.end35, %if.then40, %if.then22 + %37 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num43 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %37, i32 0, i32 4 + %38 = load i32, i32* %conv_num43, align 4 + %cmp44 = icmp ule i32 %38, 5 + br i1 %cmp44, label %if.then46, label %if.else57 + +if.then46: ; preds = %if.end42 + %39 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num47 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %39, i32 0, i32 4 + %40 = load i32, i32* %conv_num47, align 4 + %cmp48 = icmp eq i32 %40, 3 + br i1 %cmp48, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.then46 + store i32 55, i32* %alphacase, align 4 + br label %if.end51 + +if.end51: ; preds = %if.then50, %if.then46 + %41 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num52 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %41, i32 0, i32 4 + %42 = load i32, i32* %conv_num52, align 4 + %cmp53 = icmp eq i32 %42, 1 + br i1 %cmp53, label %if.then55, label %if.end59 + +if.then55: ; preds = %if.end51 + store i32 6, i32* %prefix_num, align 4 + br label %if.end59 + +if.else57: ; preds = %if.end42 + %43 = load i32, i32* %base, align 4 + %sub58 = sub nsw i32 0, %43 + store i32 %sub58, i32* %base, align 4 + br label %if.end59 + +if.end59: ; preds = %if.then55, %if.end51, %if.else57 + %44 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info60 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %44, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info60, i32 0, i32 0 + %45 = load i32, i32* %prec, align 8 + %cmp61 = icmp slt i32 %45, 0 + br i1 %cmp61, label %if.then63, label %if.end66 + +if.then63: ; preds = %if.end59 + %46 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info64 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %46, i32 0, i32 1 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info64, i32 0, i32 4 + %47 = load i32, i32* %pad, align 8 + %conv65 = trunc i32 %47 to i8 + store i8 %conv65, i8* %padchar, align 1 + br label %if.end66 + +if.end66: ; preds = %if.then63, %if.end59 + %arraydecay67 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %add.ptr68 = getelementptr inbounds i8, i8* %arraydecay67, i64 128 + %add.ptr69 = getelementptr inbounds i8, i8* %add.ptr68, i64 -1 + %48 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num70 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %48, i32 0, i32 4 + %49 = load i32, i32* %conv_num70, align 4 + %cmp71 = icmp eq i32 %49, 1 + br i1 %cmp71, label %cond.end, label %cond.false + +cond.false: ; preds = %if.end66 + %50 = load i32*, i32** %argtype, align 8 + %51 = load i32, i32* %50, align 4 + %and73 = and i32 %51, 3840 + br label %cond.end + +cond.end: ; preds = %if.end66, %cond.false + %cond = phi i32 [ %and73, %cond.false ], [ 1024, %if.end66 ] + %arraydecay74 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %52 = load i8*, i8** %arraydecay74, align 8 + %53 = load i32, i32* %base, align 4 + %call75 = call i64 @_load_inttype(i32 %cond, i8* %52, i32 %53) #18 + %54 = load i32, i32* %base, align 4 + %55 = load i32, i32* %alphacase, align 4 + %call76 = call i8* @_uintmaxtostr(i8* %add.ptr69, i64 %call75, i32 %54, i32 %55) #18 + store i8* %call76, i8** %s, align 8 + %56 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num77 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %56, i32 0, i32 4 + %57 = load i32, i32* %conv_num77, align 4 + %cmp78 = icmp ugt i32 %57, 5 + br i1 %cmp78, label %if.then80, label %if.end104 + +if.then80: ; preds = %cond.end + %58 = load i8*, i8** %s, align 8 + %59 = load i8, i8* %58, align 1 + %conv81 = sext i8 %59 to i32 + %cmp82 = icmp eq i32 %conv81, 45 + %60 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info85 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %60, i32 0, i32 1 + %_flags86 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info85, i32 0, i32 3 + %61 = load i32, i32* %_flags86, align 4 + br i1 %cmp82, label %if.then84, label %if.else89 + +if.then84: ; preds = %if.then80 + %or87 = or i32 %61, 2 + store i32 %or87, i32* %_flags86, align 4 + %62 = load i8*, i8** %s, align 8 + %incdec.ptr88 = getelementptr inbounds i8, i8* %62, i32 1 + store i8* %incdec.ptr88, i8** %s, align 8 + store i32 2, i32* %prefix_num, align 4 + br label %if.end104 + +if.else89: ; preds = %if.then80 + %and92 = and i32 %61, 2 + %tobool93 = icmp ne i32 %and92, 0 + br i1 %tobool93, label %if.then94, label %if.else95 + +if.then94: ; preds = %if.else89 + store i32 0, i32* %prefix_num, align 4 + br label %if.end104 + +if.else95: ; preds = %if.else89 + %63 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info96 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %63, i32 0, i32 1 + %_flags97 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info96, i32 0, i32 3 + %64 = load i32, i32* %_flags97, align 4 + %and98 = and i32 %64, 1 + %tobool99 = icmp ne i32 %and98, 0 + br i1 %tobool99, label %if.then100, label %if.end104 + +if.then100: ; preds = %if.else95 + store i32 4, i32* %prefix_num, align 4 + br label %if.end104 + +if.end104: ; preds = %if.then84, %if.else95, %if.then100, %if.then94, %cond.end + %arraydecay105 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %add.ptr106 = getelementptr inbounds i8, i8* %arraydecay105, i64 128 + %add.ptr107 = getelementptr inbounds i8, i8* %add.ptr106, i64 -1 + %65 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %add.ptr107 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %65 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %slen, align 8 + %66 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info108 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %66, i32 0, i32 1 + %prec109 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info108, i32 0, i32 0 + %67 = load i32, i32* %prec109, align 8 + %cmp110 = icmp slt i32 %67, 0 + br i1 %cmp110, label %cond.end116, label %cond.false113 + +cond.false113: ; preds = %if.end104 + %68 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info114 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %68, i32 0, i32 1 + %prec115 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info114, i32 0, i32 0 + %69 = load i32, i32* %prec115, align 8 + br label %cond.end116 + +cond.end116: ; preds = %if.end104, %cond.false113 + %cond117 = phi i32 [ %69, %cond.false113 ], [ 1, %if.end104 ] + store i32 %cond117, i32* %numfill, align 4 + %70 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info118 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %70, i32 0, i32 1 + %_flags119 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info118, i32 0, i32 3 + %71 = load i32, i32* %_flags119, align 4 + %and120 = and i32 %71, 16 + %tobool121 = icmp ne i32 %and120, 0 + br i1 %tobool121, label %if.then122, label %if.end149 + +if.then122: ; preds = %cond.end116 + %72 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num123 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %72, i32 0, i32 4 + %73 = load i32, i32* %conv_num123, align 4 + %cmp124 = icmp ule i32 %73, 2 + br i1 %cmp124, label %if.then126, label %if.end127 + +if.then126: ; preds = %if.then122 + store i32 6, i32* %prefix_num, align 4 + br label %if.end127 + +if.end127: ; preds = %if.then126, %if.then122 + %74 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num128 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %74, i32 0, i32 4 + %75 = load i32, i32* %conv_num128, align 4 + %cmp129 = icmp eq i32 %75, 3 + br i1 %cmp129, label %if.then131, label %if.end132 + +if.then131: ; preds = %if.end127 + store i32 9, i32* %prefix_num, align 4 + br label %if.end132 + +if.end132: ; preds = %if.then131, %if.end127 + %76 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num133 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %76, i32 0, i32 4 + %77 = load i32, i32* %conv_num133, align 4 + %cmp134 = icmp eq i32 %77, 4 + br i1 %cmp134, label %land.lhs.true, label %if.end149 + +land.lhs.true: ; preds = %if.end132 + %78 = load i32, i32* %numfill, align 4 + %conv136 = sext i32 %78 to i64 + %79 = load i64, i64* %slen, align 8 + %cmp137 = icmp ule i64 %conv136, %79 + br i1 %cmp137, label %if.then139, label %if.end149 + +if.then139: ; preds = %land.lhs.true + %80 = load i8*, i8** %s, align 8 + %81 = load i8, i8* %80, align 1 + %conv140 = sext i8 %81 to i32 + %cmp141 = icmp eq i32 %conv140, 48 + %82 = load i64, i64* %slen, align 8 + %add = add i64 %82, 1 + %cond146 = select i1 %cmp141, i64 1, i64 %add + %conv147 = trunc i64 %cond146 to i32 + store i32 %conv147, i32* %numfill, align 4 + br label %if.end149 + +if.end149: ; preds = %if.end132, %land.lhs.true, %if.then139, %cond.end116 + %83 = load i8*, i8** %s, align 8 + %84 = load i8, i8* %83, align 1 + %conv150 = sext i8 %84 to i32 + %cmp151 = icmp eq i32 %conv150, 48 + br i1 %cmp151, label %if.then153, label %if.end168 + +if.then153: ; preds = %if.end149 + %85 = load i32, i32* %prefix_num, align 4 + %cmp154 = icmp sge i32 %85, 6 + br i1 %cmp154, label %if.then156, label %if.end157 + +if.then156: ; preds = %if.then153 + store i32 11, i32* %prefix_num, align 4 + br label %if.end157 + +if.end157: ; preds = %if.then156, %if.then153 + %86 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num158 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %86, i32 0, i32 4 + %87 = load i32, i32* %conv_num158, align 4 + %cmp159 = icmp eq i32 %87, 1 + br i1 %cmp159, label %if.then161, label %if.else162 + +if.then161: ; preds = %if.end157 + store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.347, i64 0, i64 0), i8** %s, align 8 + store i64 5, i64* %slen, align 8 + store i32 0, i32* %numfill, align 4 + br label %if.end168 + +if.else162: ; preds = %if.end157 + %88 = load i32, i32* %numfill, align 4 + %cmp163 = icmp eq i32 %88, 0 + br i1 %cmp163, label %if.then165, label %if.end168 + +if.then165: ; preds = %if.else162 + store i64 0, i64* %slen, align 8 + br label %if.end168 + +if.end168: ; preds = %if.then161, %if.then165, %if.else162, %if.end149 + %89 = load i32, i32* %numfill, align 4 + %conv169 = sext i32 %89 to i64 + %90 = load i64, i64* %slen, align 8 + %cmp170 = icmp ugt i64 %conv169, %90 + %91 = load i32, i32* %numfill, align 4 + %conv173 = sext i32 %91 to i64 + %92 = load i64, i64* %slen, align 8 + %sub174 = sub i64 %conv173, %92 + %cond177 = select i1 %cmp170, i64 %sub174, i64 0 + %conv178 = trunc i64 %cond177 to i32 + store i32 %conv178, i32* %numfill, align 4 + br label %if.end278 + +if.else179: ; preds = %if.end18 + %93 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num180 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %93, i32 0, i32 4 + %94 = load i32, i32* %conv_num180, align 4 + %cmp181 = icmp ule i32 %94, 15 + br i1 %cmp181, label %if.then183, label %if.else203 + +if.then183: ; preds = %if.else179 + %95 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %arraydecay189 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %96 = load i8*, i8** %arraydecay189, align 8 + %97 = bitcast i8* %96 to double* + %98 = load double, double* %97, align 8 + %99 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info194 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %99, i32 0, i32 1 + %call195 = call i64 @_fpmaxtostr(%struct.__STDIO_FILE_STRUCT.568* %95, double %98, %struct.printf_info.720* %info194, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)* @_fp_out_narrow) #18 + store i64 %call195, i64* %nf, align 8 + %100 = load i64, i64* %nf, align 8 + %cmp196 = icmp slt i64 %100, 0 + br i1 %cmp196, label %if.then198, label %if.end199 + +if.then198: ; preds = %if.then183 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end199: ; preds = %if.then183 + %101 = load i64, i64* %nf, align 8 + %102 = load i32*, i32** %count.addr, align 8 + %103 = load i32, i32* %102, align 4 + %conv200 = sext i32 %103 to i64 + %add201 = add nsw i64 %conv200, %101 + %conv202 = trunc i64 %add201 to i32 + store i32 %conv202, i32* %102, align 4 + store i32 0, i32* %retval, align 4 + br label %return + +if.else203: ; preds = %if.else179 + %104 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num204 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %104, i32 0, i32 4 + %105 = load i32, i32* %conv_num204, align 4 + %cmp205 = icmp ule i32 %105, 17 + br i1 %cmp205, label %if.then207, label %if.else242 + +if.then207: ; preds = %if.else203 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %mbstate, i32 0, i32 0 + store i32 0, i32* %__mask, align 4 + %106 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num208 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %106, i32 0, i32 4 + %107 = load i32, i32* %conv_num208, align 4 + %cmp209 = icmp eq i32 %107, 17 + br i1 %cmp209, label %if.then211, label %if.else232 + +if.then211: ; preds = %if.then207 + %arraydecay212 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %108 = load i8*, i8** %arraydecay212, align 8 + %109 = bitcast i8* %108 to i32** + %110 = load i32*, i32** %109, align 8 + store i32* %110, i32** %ws, align 8 + %tobool213 = icmp ne i32* %110, null + br i1 %tobool213, label %if.end215, label %NULL_STRING + +if.end215: ; preds = %if.then211 + %111 = bitcast i32** %ws to i8* + %112 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info216 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %112, i32 0, i32 1 + %prec217 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info216, i32 0, i32 0 + %113 = load i32, i32* %prec217, align 8 + %cmp218 = icmp sge i32 %113, 0 + br i1 %cmp218, label %cond.true220, label %cond.end225 + +cond.true220: ; preds = %if.end215 + %114 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info221 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %114, i32 0, i32 1 + %prec222 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info221, i32 0, i32 0 + %115 = load i32, i32* %prec222, align 8 + %conv223 = sext i32 %115 to i64 + br label %cond.end225 + +cond.end225: ; preds = %if.end215, %cond.true220 + %cond226 = phi i64 [ %conv223, %cond.true220 ], [ -1, %if.end215 ] + %call227 = call i64 @wcsrtombs(i8* %111, i32** %ws, i64 %cond226, %struct.__mbstate_t.512* %mbstate) #19 + store i64 %call227, i64* %slen, align 8 + %cmp228 = icmp eq i64 %call227, -1 + br i1 %cmp228, label %if.then230, label %if.end278 + +if.then230: ; preds = %cond.end225 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else232: ; preds = %if.then207 + %arraydecay233 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay233, i8** %s, align 8 + %116 = load i8*, i8** %s, align 8 + %arraydecay234 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %117 = load i8*, i8** %arraydecay234, align 8 + %118 = bitcast i8* %117 to i32* + %119 = load i32, i32* %118, align 4 + %call235 = call i64 @wcrtomb(i8* %116, i32 %119, %struct.__mbstate_t.512* %mbstate) #19 + store i64 %call235, i64* %slen, align 8 + %120 = load i64, i64* %slen, align 8 + %cmp236 = icmp eq i64 %120, -1 + br i1 %cmp236, label %if.then238, label %if.end239 + +if.then238: ; preds = %if.else232 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end239: ; preds = %if.else232 + %121 = load i8*, i8** %s, align 8 + %122 = load i64, i64* %slen, align 8 + %arrayidx240 = getelementptr inbounds i8, i8* %121, i64 %122 + store i8 0, i8* %arrayidx240, align 1 + br label %if.end278 + +if.else242: ; preds = %if.else203 + %123 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num243 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %123, i32 0, i32 4 + %124 = load i32, i32* %conv_num243, align 4 + %cmp244 = icmp ule i32 %124, 19 + br i1 %cmp244, label %if.then246, label %if.else274 + +if.then246: ; preds = %if.else242 + %125 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num247 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %125, i32 0, i32 4 + %126 = load i32, i32* %conv_num247, align 4 + %cmp248 = icmp eq i32 %126, 19 + br i1 %cmp248, label %if.then250, label %if.else268 + +if.then250: ; preds = %if.then246 + %arraydecay251 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %127 = load i8*, i8** %arraydecay251, align 8 + %128 = bitcast i8* %127 to i8** + %129 = load i8*, i8** %128, align 8 + store i8* %129, i8** %s, align 8 + %130 = load i8*, i8** %s, align 8 + %tobool252 = icmp ne i8* %130, null + br i1 %tobool252, label %if.then253, label %NULL_STRING + +if.then253: ; preds = %if.then250 + %131 = load i8*, i8** %s, align 8 + %132 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info254 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %132, i32 0, i32 1 + %prec255 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info254, i32 0, i32 0 + %133 = load i32, i32* %prec255, align 8 + %cmp256 = icmp sge i32 %133, 0 + br i1 %cmp256, label %cond.true258, label %cond.end263 + +cond.true258: ; preds = %if.then253 + %134 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info259 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %134, i32 0, i32 1 + %prec260 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info259, i32 0, i32 0 + %135 = load i32, i32* %prec260, align 8 + %conv261 = sext i32 %135 to i64 + br label %cond.end263 + +cond.end263: ; preds = %if.then253, %cond.true258 + %cond264 = phi i64 [ %conv261, %cond.true258 ], [ -1, %if.then253 ] + %call265 = call i64 @strnlen(i8* %131, i64 %cond264) #20 + store i64 %call265, i64* %slen, align 8 + br label %if.end278 + +NULL_STRING: ; preds = %if.then250, %if.then211 + store i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.348, i64 0, i64 0), i8** %s, align 8 + store i64 6, i64* %slen, align 8 + br label %if.end278 + +if.else268: ; preds = %if.then246 + %arraydecay269 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay269, i8** %s, align 8 + %arraydecay270 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %136 = load i8*, i8** %arraydecay270, align 8 + %137 = bitcast i8* %136 to i32* + %138 = load i32, i32* %137, align 4 + %conv271 = trunc i32 %138 to i8 + %139 = load i8*, i8** %s, align 8 + store i8 %conv271, i8* %139, align 1 + %140 = load i8*, i8** %s, align 8 + %arrayidx272 = getelementptr inbounds i8, i8* %140, i64 1 + store i8 0, i8* %arrayidx272, align 1 + store i64 1, i64* %slen, align 8 + br label %if.end278 + +if.else274: ; preds = %if.else242 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end278: ; preds = %cond.end263, %NULL_STRING, %if.else268, %if.end239, %cond.end225, %if.end168 + %141 = load i64, i64* %slen, align 8 + %142 = load i32, i32* %numfill, align 4 + %conv279 = sext i32 %142 to i64 + %add280 = add i64 %141, %conv279 + store i64 %add280, i64* %t, align 8 + %143 = load i32, i32* %prefix_num, align 4 + %cmp281 = icmp ne i32 %143, 11 + br i1 %cmp281, label %if.then283, label %if.end289 + +if.then283: ; preds = %if.end278 + %144 = load i32, i32* %prefix_num, align 4 + %cmp284 = icmp slt i32 %144, 6 + %145 = zext i1 %cmp284 to i64 + %cond286 = select i1 %cmp284, i32 1, i32 2 + %conv287 = sext i32 %cond286 to i64 + %146 = load i64, i64* %t, align 8 + %add288 = add i64 %146, %conv287 + store i64 %add288, i64* %t, align 8 + br label %if.end289 + +if.end289: ; preds = %if.then283, %if.end278 + %147 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info290 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %147, i32 0, i32 1 + %width = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info290, i32 0, i32 1 + %148 = load i32, i32* %width, align 4 + %conv291 = sext i32 %148 to i64 + %149 = load i64, i64* %t, align 8 + %cmp292 = icmp ugt i64 %conv291, %149 + br i1 %cmp292, label %cond.true294, label %cond.end300 + +cond.true294: ; preds = %if.end289 + %150 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info295 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %150, i32 0, i32 1 + %width296 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info295, i32 0, i32 1 + %151 = load i32, i32* %width296, align 4 + %conv297 = sext i32 %151 to i64 + %152 = load i64, i64* %t, align 8 + %sub298 = sub i64 %conv297, %152 + br label %cond.end300 + +cond.end300: ; preds = %if.end289, %cond.true294 + %cond301 = phi i64 [ %sub298, %cond.true294 ], [ 0, %if.end289 ] + %conv302 = trunc i64 %cond301 to i32 + store i32 %conv302, i32* %numpad, align 4 + %153 = load i64, i64* %t, align 8 + %154 = load i32, i32* %numpad, align 4 + %conv303 = sext i32 %154 to i64 + %add304 = add i64 %153, %conv303 + %155 = load i32*, i32** %count.addr, align 8 + %156 = load i32, i32* %155, align 4 + %conv305 = sext i32 %156 to i64 + %add306 = add i64 %conv305, %add304 + %conv307 = trunc i64 %add306 to i32 + store i32 %conv307, i32* %155, align 4 + %157 = load i8, i8* %padchar, align 1 + %conv308 = sext i8 %157 to i32 + %cmp309 = icmp eq i32 %conv308, 48 + br i1 %cmp309, label %if.then311, label %if.end313 + +if.then311: ; preds = %cond.end300 + %158 = load i32, i32* %numpad, align 4 + %159 = load i32, i32* %numfill, align 4 + %add312 = add nsw i32 %159, %158 + store i32 %add312, i32* %numfill, align 4 + store i32 0, i32* %numpad, align 4 + br label %if.end313 + +if.end313: ; preds = %if.then311, %cond.end300 + %160 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info314 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %160, i32 0, i32 1 + %_flags315 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info314, i32 0, i32 3 + %161 = load i32, i32* %_flags315, align 4 + %and316 = and i32 %161, 8 + %tobool317 = icmp ne i32 %and316, 0 + br i1 %tobool317, label %if.end326, label %if.then318 + +if.then318: ; preds = %if.end313 + %162 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %163 = load i32, i32* %numpad, align 4 + %conv319 = sext i32 %163 to i64 + %call320 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %162, i32 32, i64 %conv319) #18 + %164 = load i32, i32* %numpad, align 4 + %conv321 = sext i32 %164 to i64 + %cmp322 = icmp ne i64 %call320, %conv321 + br i1 %cmp322, label %if.then324, label %if.end325 + +if.then324: ; preds = %if.then318 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end325: ; preds = %if.then318 + store i32 0, i32* %numpad, align 4 + br label %if.end326 + +if.end326: ; preds = %if.end325, %if.end313 + %165 = load i32, i32* %prefix_num, align 4 + %idx.ext327 = sext i32 %165 to i64 + %add.ptr328 = getelementptr inbounds i8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @_do_one_spec.prefix, i64 0, i64 0), i64 %idx.ext327 + %166 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call329 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct.__STDIO_FILE_STRUCT.568*)*)(i8* %add.ptr328, %struct.__STDIO_FILE_STRUCT.568* %166) #18 + %167 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %168 = load i32, i32* %numfill, align 4 + %conv330 = sext i32 %168 to i64 + %call331 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %167, i32 48, i64 %conv330) #18 + %169 = load i32, i32* %numfill, align 4 + %conv332 = sext i32 %169 to i64 + %cmp333 = icmp ne i64 %call331, %conv332 + br i1 %cmp333, label %if.then335, label %if.end336 + +if.then335: ; preds = %if.end326 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end336: ; preds = %if.end326 + %170 = load i32*, i32** %ws, align 8 + %tobool337 = icmp ne i32* %170, null + br i1 %tobool337, label %if.else350, label %if.then338 + +if.then338: ; preds = %if.end336 + %171 = load i64, i64* %slen, align 8 + %cmp339 = icmp ugt i64 %171, 0 + br i1 %cmp339, label %cond.true341, label %cond.end344 + +cond.true341: ; preds = %if.then338 + %172 = load i8*, i8** %s, align 8 + %173 = load i64, i64* %slen, align 8 + %174 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call342 = call i64 @__stdio_fwrite(i8* %172, i64 %173, %struct.__STDIO_FILE_STRUCT.568* %174) #18 + br label %cond.end344 + +cond.end344: ; preds = %if.then338, %cond.true341 + %cond345 = phi i64 [ %call342, %cond.true341 ], [ 0, %if.then338 ] + %175 = load i64, i64* %slen, align 8 + %cmp346 = icmp ne i64 %cond345, %175 + br i1 %cmp346, label %if.then348, label %if.end375 + +if.then348: ; preds = %cond.end344 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else350: ; preds = %if.end336 + %__mask352 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %mbstate, i32 0, i32 0 + store i32 0, i32* %__mask352, align 4 + br label %while.cond + +while.cond: ; preds = %if.end373, %if.else350 + %176 = load i64, i64* %slen, align 8 + %tobool353 = icmp ne i64 %176, 0 + br i1 %tobool353, label %while.body, label %if.end375 + +while.body: ; preds = %while.cond + %177 = load i64, i64* %slen, align 8 + %cmp354 = icmp ule i64 %177, 128 + %178 = load i64, i64* %slen, align 8 + %cond359 = select i1 %cmp354, i64 %178, i64 128 + store i64 %cond359, i64* %t351, align 8 + %arraydecay360 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %179 = load i64, i64* %t351, align 8 + %call361 = call i64 @wcsrtombs(i8* %arraydecay360, i32** %ws, i64 %179, %struct.__mbstate_t.512* %mbstate) #19 + store i64 %call361, i64* %t351, align 8 + %180 = load i64, i64* %t351, align 8 + %cmp362 = icmp ugt i64 %180, 0 + br i1 %cmp362, label %cond.true364, label %cond.end368 + +cond.true364: ; preds = %while.body + %arraydecay365 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %181 = load i64, i64* %t351, align 8 + %182 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call366 = call i64 @__stdio_fwrite(i8* %arraydecay365, i64 %181, %struct.__STDIO_FILE_STRUCT.568* %182) #18 + br label %cond.end368 + +cond.end368: ; preds = %while.body, %cond.true364 + %cond369 = phi i64 [ %call366, %cond.true364 ], [ 0, %while.body ] + %183 = load i64, i64* %t351, align 8 + %cmp370 = icmp ne i64 %cond369, %183 + br i1 %cmp370, label %if.then372, label %if.end373 + +if.then372: ; preds = %cond.end368 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end373: ; preds = %cond.end368 + %184 = load i64, i64* %t351, align 8 + %185 = load i64, i64* %slen, align 8 + %sub374 = sub i64 %185, %184 + store i64 %sub374, i64* %slen, align 8 + br label %while.cond + +if.end375: ; preds = %while.cond, %cond.end344 + %186 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %187 = load i32, i32* %numpad, align 4 + %conv376 = sext i32 %187 to i64 + %call377 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %186, i32 32, i64 %conv376) #18 + %188 = load i32, i32* %numpad, align 4 + %conv378 = sext i32 %188 to i64 + %cmp379 = icmp ne i64 %call377, %conv378 + br i1 %cmp379, label %if.then381, label %if.end382 + +if.then381: ; preds = %if.end375 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end382: ; preds = %if.end375 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end382, %if.then381, %if.then372, %if.then348, %if.then335, %if.then324, %if.else274, %if.then238, %if.then230, %if.end199, %if.then198, %if.then15 + %189 = load i32, i32* %retval, align 4 + ret i32 %189 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @_fp_out_narrow(%struct.__STDIO_FILE_STRUCT.568* %fp, i64 %type, i64 %len, i64 %buf) #0 { +entry: + %retval = alloca i64, align 8 + %fp.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %type.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %buf.addr = alloca i64, align 8 + %r = alloca i64, align 8 + %buflen = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %fp, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + store i64 %type, i64* %type.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store i64 %buf, i64* %buf.addr, align 8 + store i64 0, i64* %r, align 8 + %0 = load i64, i64* %type.addr, align 8 + %and = and i64 %0, 128 + %tobool = icmp ne i64 %and, 0 + br i1 %tobool, label %if.then, label %if.end12 + +if.then: ; preds = %entry + %1 = load i64, i64* %buf.addr, align 8 + %2 = inttoptr i64 %1 to i8* + %call = call i64 @strlen(i8* %2) #20 + %conv = trunc i64 %call to i32 + store i32 %conv, i32* %buflen, align 4 + %3 = load i32, i32* %buflen, align 4 + %conv1 = sext i32 %3 to i64 + %4 = load i64, i64* %len.addr, align 8 + %sub = sub nsw i64 %4, %conv1 + store i64 %sub, i64* %len.addr, align 8 + %cmp = icmp sgt i64 %sub, 0 + br i1 %cmp, label %if.then3, label %if.end10 + +if.then3: ; preds = %if.then + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + %6 = load i64, i64* %type.addr, align 8 + %and4 = and i64 %6, 127 + %conv5 = trunc i64 %and4 to i32 + %7 = load i64, i64* %len.addr, align 8 + %call6 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %5, i32 %conv5, i64 %7) #18 + store i64 %call6, i64* %r, align 8 + %8 = load i64, i64* %len.addr, align 8 + %cmp7 = icmp ne i64 %call6, %8 + br i1 %cmp7, label %if.then9, label %if.end10 + +if.then9: ; preds = %if.then3 + %9 = load i64, i64* %r, align 8 + store i64 %9, i64* %retval, align 8 + br label %return + +if.end10: ; preds = %if.then3, %if.then + %10 = load i32, i32* %buflen, align 4 + %conv11 = sext i32 %10 to i64 + store i64 %conv11, i64* %len.addr, align 8 + br label %if.end12 + +if.end12: ; preds = %if.end10, %entry + %11 = load i64, i64* %r, align 8 + %12 = load i64, i64* %len.addr, align 8 + %cmp13 = icmp sgt i64 %12, 0 + br i1 %cmp13, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end12 + %13 = load i64, i64* %buf.addr, align 8 + %14 = inttoptr i64 %13 to i8* + %15 = load i64, i64* %len.addr, align 8 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + %call15 = call i64 @__stdio_fwrite(i8* %14, i64 %15, %struct.__STDIO_FILE_STRUCT.568* %16) #18 + br label %cond.end + +cond.end: ; preds = %if.end12, %cond.true + %cond = phi i64 [ %call15, %cond.true ], [ 0, %if.end12 ] + %add = add i64 %11, %cond + store i64 %add, i64* %retval, align 8 + br label %return + +return: ; preds = %cond.end, %if.then9 + %17 = load i64, i64* %retval, align 8 + ret i64 %17 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %padchar, i64 %numpad) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %padchar.addr = alloca i32, align 4 + %numpad.addr = alloca i64, align 8 + %todo = alloca i64, align 8 + %pad = alloca [1 x i8], align 1 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %padchar, i32* %padchar.addr, align 4 + store i64 %numpad, i64* %numpad.addr, align 8 + %0 = load i64, i64* %numpad.addr, align 8 + store i64 %0, i64* %todo, align 8 + %1 = load i32, i32* %padchar.addr, align 4 + %conv = trunc i32 %1 to i8 + %arraydecay = getelementptr inbounds [1 x i8], [1 x i8]* %pad, i64 0, i64 0 + store i8 %conv, i8* %arraydecay, align 1 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %2 = load i64, i64* %todo, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %arraydecay1 = getelementptr inbounds [1 x i8], [1 x i8]* %pad, i64 0, i64 0 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i64 @__stdio_fwrite(i8* %arraydecay1, i64 1, %struct.__STDIO_FILE_STRUCT.568* %3) #18 + %cmp = icmp eq i64 %call, 1 + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %land.rhs + %4 = load i64, i64* %todo, align 8 + %dec = add i64 %4, -1 + store i64 %dec, i64* %todo, align 8 + br label %while.cond + +while.end: ; preds = %while.cond, %land.rhs + %5 = load i64, i64* %numpad.addr, align 8 + %6 = load i64, i64* %todo, align 8 + %sub = sub i64 %5, %6 + ret i64 %sub +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__cxa_atexit(void (i8*)* %func, i8* %arg, i8* %dso_handle) #0 { +entry: + %retval = alloca i32, align 4 + %func.addr = alloca void (i8*)*, align 8 + %arg.addr = alloca i8*, align 8 + %dso_handle.addr = alloca i8*, align 8 + %efp = alloca %struct.exit_function*, align 8 + store void (i8*)* %func, void (i8*)** %func.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i8* %dso_handle, i8** %dso_handle.addr, align 8 + %0 = load void (i8*)*, void (i8*)** %func.addr, align 8 + %cmp = icmp eq void (i8*)* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %call = call %struct.exit_function* @__new_exitfn() #18 + store %struct.exit_function* %call, %struct.exit_function** %efp, align 8 + %1 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %cmp1 = icmp eq %struct.exit_function* %1, null + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + store i32 -1, i32* %retval, align 4 + br label %return + +if.end3: ; preds = %if.end + %2 = load void (i8*)*, void (i8*)** %func.addr, align 8 + %3 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs = getelementptr inbounds %struct.exit_function, %struct.exit_function* %3, i32 0, i32 1 + %cxa_atexit = bitcast %union.anon.772* %funcs to %struct.anon.0.771* + %func4 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit, i32 0, i32 0 + store void (i8*)* %2, void (i8*)** %func4, align 8 + %4 = load i8*, i8** %arg.addr, align 8 + %5 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs5 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %5, i32 0, i32 1 + %cxa_atexit6 = bitcast %union.anon.772* %funcs5 to %struct.anon.0.771* + %arg7 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit6, i32 0, i32 1 + store i8* %4, i8** %arg7, align 8 + %6 = load i8*, i8** %dso_handle.addr, align 8 + %7 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs8 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %7, i32 0, i32 1 + %cxa_atexit9 = bitcast %union.anon.772* %funcs8 to %struct.anon.0.771* + %dso_handle10 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit9, i32 0, i32 2 + store i8* %6, i8** %dso_handle10, align 8 + %8 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %type = getelementptr inbounds %struct.exit_function, %struct.exit_function* %8, i32 0, i32 0 + store i64 3, i64* %type, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end3, %if.then2, %if.then + %9 = load i32, i32* %retval, align 4 + ret i32 %9 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @getenv(i8* nonnull %var) #0 { +entry: + %retval = alloca i8*, align 8 + %var.addr = alloca i8*, align 8 + %len = alloca i32, align 4 + %ep = alloca i8**, align 8 + store i8* %var, i8** %var.addr, align 8 + %0 = load i8**, i8*** @__environ, align 8 + store i8** %0, i8*** %ep, align 8 + %tobool = icmp ne i8** %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %var.addr, align 8 + %call = call i64 @strlen(i8* %1) #20 + %conv = trunc i64 %call to i32 + store i32 %conv, i32* %len, align 4 + br label %while.cond + +while.cond: ; preds = %if.end10, %if.end + %2 = load i8**, i8*** %ep, align 8 + %3 = load i8*, i8** %2, align 8 + %tobool1 = icmp ne i8* %3, null + br i1 %tobool1, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i8*, i8** %var.addr, align 8 + %5 = load i8**, i8*** %ep, align 8 + %6 = load i8*, i8** %5, align 8 + %7 = load i32, i32* %len, align 4 + %conv2 = sext i32 %7 to i64 + %call3 = call i32 @memcmp(i8* %4, i8* %6, i64 %conv2) #20 + %cmp = icmp eq i32 %call3, 0 + br i1 %cmp, label %land.lhs.true, label %if.end10 + +land.lhs.true: ; preds = %while.body + %8 = load i8**, i8*** %ep, align 8 + %9 = load i8*, i8** %8, align 8 + %10 = load i32, i32* %len, align 4 + %idxprom = sext i32 %10 to i64 + %arrayidx = getelementptr inbounds i8, i8* %9, i64 %idxprom + %11 = load i8, i8* %arrayidx, align 1 + %conv5 = sext i8 %11 to i32 + %cmp6 = icmp eq i32 %conv5, 61 + br i1 %cmp6, label %if.then8, label %if.end10 + +if.then8: ; preds = %land.lhs.true + %12 = load i8**, i8*** %ep, align 8 + %13 = load i8*, i8** %12, align 8 + %14 = load i32, i32* %len, align 4 + %idx.ext = sext i32 %14 to i64 + %add.ptr = getelementptr inbounds i8, i8* %13, i64 %idx.ext + %add.ptr9 = getelementptr inbounds i8, i8* %add.ptr, i64 1 + store i8* %add.ptr9, i8** %retval, align 8 + br label %return + +if.end10: ; preds = %land.lhs.true, %while.body + %15 = load i8**, i8*** %ep, align 8 + %incdec.ptr = getelementptr inbounds i8*, i8** %15, i32 1 + store i8** %incdec.ptr, i8*** %ep, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then8, %if.then + %16 = load i8*, i8** %retval, align 8 + ret i8* %16 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @memmove(i8* nonnull %s1, i8* nonnull %s2, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %p, align 8 + %2 = load i8*, i8** %p, align 8 + %3 = load i8*, i8** %s, align 8 + %cmp = icmp uge i8* %2, %3 + br i1 %cmp, label %while.cond, label %while.cond2 + +while.cond: ; preds = %entry, %while.body + %4 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %4, 0 + br i1 %tobool, label %while.body, label %if.end + +while.body: ; preds = %while.cond + %5 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %6 = load i8, i8* %5, align 1 + %7 = load i8*, i8** %s, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %7, i32 1 + store i8* %incdec.ptr1, i8** %s, align 8 + store i8 %6, i8* %7, align 1 + %8 = load i64, i64* %n.addr, align 8 + %dec = add i64 %8, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.cond2: ; preds = %entry, %while.body4 + %9 = load i64, i64* %n.addr, align 8 + %tobool3 = icmp ne i64 %9, 0 + br i1 %tobool3, label %while.body4, label %if.end + +while.body4: ; preds = %while.cond2 + %10 = load i64, i64* %n.addr, align 8 + %dec5 = add i64 %10, -1 + store i64 %dec5, i64* %n.addr, align 8 + %11 = load i8*, i8** %p, align 8 + %12 = load i64, i64* %n.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %11, i64 %12 + %13 = load i8, i8* %arrayidx, align 1 + %14 = load i8*, i8** %s, align 8 + %15 = load i64, i64* %n.addr, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %14, i64 %15 + store i8 %13, i8* %arrayidx6, align 1 + br label %while.cond2 + +if.end: ; preds = %while.cond2, %while.cond + %16 = load i8*, i8** %s1.addr, align 8 + ret i8* %16 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @mempcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r1 = alloca i8*, align 8 + %r2 = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %r1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %r2, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %2 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load i8*, i8** %r2, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %r2, align 8 + %4 = load i8, i8* %3, align 1 + %5 = load i8*, i8** %r1, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr1, i8** %r1, align 8 + store i8 %4, i8* %5, align 1 + %6 = load i64, i64* %n.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %7 = load i8*, i8** %r1, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @stpcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + br label %while.cond + +while.cond: ; preds = %while.cond, %entry + %0 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %0, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %1 = load i8, i8* %0, align 1 + %2 = load i8*, i8** %s1.addr, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %2, i32 1 + store i8* %incdec.ptr1, i8** %s1.addr, align 8 + store i8 %1, i8* %2, align 1 + %conv = sext i8 %1 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %while.cond, label %while.end + +while.end: ; preds = %while.cond + %3 = load i8*, i8** %s1.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %3, i64 -1 + ret i8* %add.ptr +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @strchr(i8* nonnull %s, i32 %c) #14 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %entry + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %2 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %2 to i8 + %conv2 = sext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + %3 = load i8*, i8** %s.addr, align 8 + br i1 %cmp, label %if.then, label %do.cond + +if.then: ; preds = %do.body + store i8* %3, i8** %retval, align 8 + br label %return + +do.cond: ; preds = %do.body + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %s.addr, align 8 + %4 = load i8, i8* %3, align 1 + %tobool = icmp ne i8 %4, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %do.end, %if.then + %5 = load i8*, i8** %retval, align 8 + ret i8* %5 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @strcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + br label %while.cond + +while.cond: ; preds = %while.cond, %entry + %1 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %1, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %2 = load i8, i8* %1, align 1 + %3 = load i8*, i8** %s, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr1, i8** %s, align 8 + store i8 %2, i8* %3, align 1 + %conv = sext i8 %2 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %while.cond, label %while.end + +while.end: ; preds = %while.cond + %4 = load i8*, i8** %s1.addr, align 8 + ret i8* %4 +} + +; Function Attrs: noinline nounwind uwtable +define noalias i8* @strdup(i8* nonnull %s1) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + %l = alloca i64, align 8 + store i8* %s1, i8** %s1.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + %call = call i64 @strlen(i8* %0) #20 + %add = add i64 %call, 1 + %mul = mul i64 %add, 1 + store i64 %mul, i64* %l, align 8 + %1 = load i64, i64* %l, align 8 + %call1 = call noalias i8* @malloc(i64 %1) #19 + store i8* %call1, i8** %s, align 8 + %cmp = icmp ne i8* %call1, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load i8*, i8** %s, align 8 + %3 = load i8*, i8** %s1.addr, align 8 + %4 = load i64, i64* %l, align 8 + %call2 = call i8* @memcpy(i8* %2, i8* %3, i64 %4) #19 + br label %if.end + +if.end: ; preds = %if.then, %entry + %5 = load i8*, i8** %s, align 8 + ret i8* %5 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @strerror(i32 %errnum) #0 { +entry: + %errnum.addr = alloca i32, align 4 + store i32 %errnum, i32* %errnum.addr, align 4 + %0 = load i32, i32* %errnum.addr, align 4 + %call = call i32 @__xpg_strerror_r(i32 %0, i8* getelementptr inbounds ([50 x i8], [50 x i8]* @strerror.buf, i64 0, i64 0), i64 50) #18 + ret i8* getelementptr inbounds ([50 x i8], [50 x i8]* @strerror.buf, i64 0, i64 0) +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @strcoll_l(i8* nonnull %s0, i8* nonnull %s1, %struct.__uclibc_locale_struct.201* nonnull %locale_arg) #14 { +entry: + %retval = alloca i32, align 4 + %s0.addr = alloca i8*, align 8 + %s1.addr = alloca i8*, align 8 + %locale_arg.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %ws = alloca [2 x %struct.col_state_t], align 16 + %pass = alloca i32, align 4 + store i8* %s0, i8** %s0.addr, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store %struct.__uclibc_locale_struct.201* %locale_arg, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 118 + %num_weights = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate, i32 0, i32 0 + %1 = load i16, i16* %num_weights, align 8 + %tobool = icmp ne i16 %1, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %2 = load i8*, i8** %s0.addr, align 8 + %3 = load i8*, i8** %s1.addr, align 8 + %call = call i32 @strcmp(i8* %2, i8* %3) #20 + store i32 %call, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + store i32 0, i32* %pass, align 4 + br label %do.body + +do.body: ; preds = %do.cond17, %if.end + %arraydecay = getelementptr inbounds [2 x %struct.col_state_t], [2 x %struct.col_state_t]* %ws, i64 0, i64 0 + %4 = load i8*, i8** %s0.addr, align 8 + call void @init_col_state(%struct.col_state_t* %arraydecay, i8* %4) #18 + %arraydecay1 = getelementptr inbounds [2 x %struct.col_state_t], [2 x %struct.col_state_t]* %ws, i64 0, i64 0 + %add.ptr = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %arraydecay1, i64 1 + %5 = load i8*, i8** %s1.addr, align 8 + call void @init_col_state(%struct.col_state_t* %add.ptr, i8* %5) #18 + br label %do.body2 + +do.body2: ; preds = %do.cond, %do.body + %arraydecay3 = getelementptr inbounds [2 x %struct.col_state_t], [2 x %struct.col_state_t]* %ws, i64 0, i64 0 + %6 = load i32, i32* %pass, align 4 + %7 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + call void @next_weight(%struct.col_state_t* %arraydecay3, i32 %6, %struct.__uclibc_locale_struct.201* %7) #18 + %arraydecay4 = getelementptr inbounds [2 x %struct.col_state_t], [2 x %struct.col_state_t]* %ws, i64 0, i64 0 + %add.ptr5 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %arraydecay4, i64 1 + %8 = load i32, i32* %pass, align 4 + %9 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + call void @next_weight(%struct.col_state_t* %add.ptr5, i32 %8, %struct.__uclibc_locale_struct.201* %9) #18 + %arrayidx = getelementptr inbounds [2 x %struct.col_state_t], [2 x %struct.col_state_t]* %ws, i64 0, i64 0 + %weight = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %arrayidx, i32 0, i32 2 + %10 = load i32, i32* %weight, align 16 + %arrayidx6 = getelementptr inbounds [2 x %struct.col_state_t], [2 x %struct.col_state_t]* %ws, i64 0, i64 1 + %weight7 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %arrayidx6, i32 0, i32 2 + %11 = load i32, i32* %weight7, align 16 + %cmp = icmp ne i32 %10, %11 + %arrayidx9 = getelementptr inbounds [2 x %struct.col_state_t], [2 x %struct.col_state_t]* %ws, i64 0, i64 0 + %weight10 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %arrayidx9, i32 0, i32 2 + %12 = load i32, i32* %weight10, align 16 + br i1 %cmp, label %if.then8, label %do.cond + +if.then8: ; preds = %do.body2 + %arrayidx11 = getelementptr inbounds [2 x %struct.col_state_t], [2 x %struct.col_state_t]* %ws, i64 0, i64 1 + %weight12 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %arrayidx11, i32 0, i32 2 + %13 = load i32, i32* %weight12, align 16 + %sub = sub i32 %12, %13 + store i32 %sub, i32* %retval, align 4 + br label %return + +do.cond: ; preds = %do.body2 + %tobool16 = icmp ne i32 %12, 0 + br i1 %tobool16, label %do.body2, label %do.cond17 + +do.cond17: ; preds = %do.cond + %14 = load i32, i32* %pass, align 4 + %inc = add nsw i32 %14, 1 + store i32 %inc, i32* %pass, align 4 + %15 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate18 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %15, i32 0, i32 118 + %num_weights19 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate18, i32 0, i32 0 + %16 = load i16, i16* %num_weights19, align 8 + %conv = zext i16 %16 to i32 + %cmp20 = icmp slt i32 %inc, %conv + br i1 %cmp20, label %do.body, label %do.end22 + +do.end22: ; preds = %do.cond17 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end22, %if.then8, %if.then + %17 = load i32, i32* %retval, align 4 + ret i32 %17 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @init_col_state(%struct.col_state_t* %cs, i8* %wcs) #0 { +entry: + %cs.addr = alloca %struct.col_state_t*, align 8 + %wcs.addr = alloca i8*, align 8 + store %struct.col_state_t* %cs, %struct.col_state_t** %cs.addr, align 8 + store i8* %wcs, i8** %wcs.addr, align 8 + %0 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %1 = bitcast %struct.col_state_t* %0 to i8* + %call = call i8* @memset(i8* %1, i32 0, i64 256) #19 + %2 = load i8*, i8** %wcs.addr, align 8 + %3 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %s = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %3, i32 0, i32 0 + store i8* %2, i8** %s, align 8 + %4 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %ibb = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %4, i32 0, i32 13 + %arraydecay = getelementptr inbounds [128 x i8], [128 x i8]* %ibb, i64 0, i64 0 + %5 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %back_buf = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %5, i32 0, i32 10 + store i8* %arraydecay, i8** %back_buf, align 8 + %6 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bp = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %6, i32 0, i32 12 + store i8* %arraydecay, i8** %bp, align 8 + %7 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bb_size = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %7, i32 0, i32 14 + store i64 128, i64* %bb_size, align 8 + %8 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %back_buf1 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %8, i32 0, i32 10 + %9 = load i8*, i8** %back_buf1, align 8 + %10 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bb_size2 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %10, i32 0, i32 14 + %11 = load i64, i64* %bb_size2, align 8 + %sub = sub i64 %11, 1 + %add.ptr = getelementptr inbounds i8, i8* %9, i64 %sub + %12 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bbe = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %12, i32 0, i32 11 + store i8* %add.ptr, i8** %bbe, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @next_weight(%struct.col_state_t* %cs, i32 %pass, %struct.__uclibc_locale_struct.201* %locale_arg) #0 { +entry: + %cs.addr = alloca %struct.col_state_t*, align 8 + %pass.addr = alloca i32, align 4 + %locale_arg.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %r = alloca i32, align 4 + %w = alloca i32, align 4 + %ru = alloca i32, align 4 + %ri = alloca i32, align 4 + %popping_backup_stack = alloca i32, align 4 + %n = alloca i64, align 8 + %p = alloca i16*, align 8 + %WC = alloca i32, align 4 + %n0 = alloca i64, align 8 + %nx = alloca i64, align 8 + store %struct.col_state_t* %cs, %struct.col_state_t** %cs.addr, align 8 + store i32 %pass, i32* %pass.addr, align 4 + store %struct.__uclibc_locale_struct.201* %locale_arg, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + br label %do.body + +do.body: ; preds = %do.cond424, %entry + %0 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %ru_pushed = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %0, i32 0, i32 15 + %1 = load i32, i32* %ru_pushed, align 8 + %tobool = icmp ne i32 %1, 0 + %2 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %do.body + %ru_pushed1 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %2, i32 0, i32 15 + %3 = load i32, i32* %ru_pushed1, align 8 + store i32 %3, i32* %ru, align 4 + %4 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %ru_pushed2 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %4, i32 0, i32 15 + store i32 0, i32* %ru_pushed2, align 8 + br label %POSITION_SKIP + +if.end: ; preds = %do.body + %cip = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %2, i32 0, i32 8 + %5 = load i32*, i32** %cip, align 8 + %tobool3 = icmp ne i32* %5, null + br i1 %tobool3, label %if.then4, label %if.else + +if.then4: ; preds = %if.end + %6 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %cip5 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %6, i32 0, i32 8 + %7 = load i32*, i32** %cip5, align 8 + %incdec.ptr = getelementptr inbounds i32, i32* %7, i32 1 + store i32* %incdec.ptr, i32** %cip5, align 8 + %8 = load i32, i32* %7, align 4 + store i32 %8, i32* %r, align 4 + %cmp = icmp eq i32 %8, 0 + br i1 %cmp, label %if.then6, label %if.end8 + +if.then6: ; preds = %if.then4 + %9 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %cip7 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %9, i32 0, i32 8 + store i32* null, i32** %cip7, align 8 + br label %do.cond424 + +if.end8: ; preds = %if.then4 + %10 = load i32, i32* %r, align 4 + %and = and i32 %10, 16383 + %11 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %weightidx = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %11, i32 0, i32 5 + store i32 %and, i32* %weightidx, align 4 + br label %if.end351 + +if.else: ; preds = %if.end + store i32 0, i32* %popping_backup_stack, align 4 + br label %IGNORE_LOOP + +IGNORE_LOOP: ; preds = %if.then184, %if.else + %12 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bp = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %12, i32 0, i32 12 + %13 = load i8*, i8** %bp, align 8 + %14 = load i8, i8* %13, align 1 + %tobool9 = icmp ne i8 %14, 0 + br i1 %tobool9, label %POP_BACKUP, label %if.else33 + +POP_BACKUP: ; preds = %IGNORE_LOOP, %if.then317, %if.end312 + store i32 1, i32* %popping_backup_stack, align 4 + store i64 0, i64* %n, align 8 + %15 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bp11 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %15, i32 0, i32 12 + %16 = load i8*, i8** %bp11, align 8 + %17 = load i8, i8* %16, align 1 + %conv = sext i8 %17 to i32 + %cmp12 = icmp sgt i32 %conv, 0 + %18 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + br i1 %cmp12, label %if.then14, label %if.else25 + +if.then14: ; preds = %POP_BACKUP + %s = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %18, i32 0, i32 0 + %19 = load i8*, i8** %s, align 8 + %add.ptr = getelementptr inbounds i8, i8* %19, i64 -1 + store i8* %add.ptr, i8** %s, align 8 + %20 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bp15 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %20, i32 0, i32 12 + %21 = load i8*, i8** %bp15, align 8 + %22 = load i8, i8* %21, align 1 + %conv16 = sext i8 %22 to i32 + %sub = sub nsw i32 %conv16, 1 + %conv17 = trunc i32 %sub to i8 + store i8 %conv17, i8* %21, align 1 + %conv18 = sext i8 %conv17 to i32 + %cmp19 = icmp eq i32 %conv18, 0 + br i1 %cmp19, label %if.then21, label %if.end39 + +if.then21: ; preds = %if.then14 + %23 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bp22 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %23, i32 0, i32 12 + %24 = load i8*, i8** %bp22, align 8 + %add.ptr23 = getelementptr inbounds i8, i8* %24, i64 -1 + store i8* %add.ptr23, i8** %bp22, align 8 + br label %if.end39 + +if.else25: ; preds = %POP_BACKUP + %bp26 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %18, i32 0, i32 12 + %25 = load i8*, i8** %bp26, align 8 + %26 = load i8, i8* %25, align 1 + %conv27 = sext i8 %26 to i32 + %27 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %s28 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %27, i32 0, i32 0 + %28 = load i8*, i8** %s28, align 8 + %idx.ext = sext i32 %conv27 to i64 + %add.ptr29 = getelementptr inbounds i8, i8* %28, i64 %idx.ext + store i8* %add.ptr29, i8** %s28, align 8 + %29 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bp30 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %29, i32 0, i32 12 + %30 = load i8*, i8** %bp30, align 8 + %add.ptr31 = getelementptr inbounds i8, i8* %30, i64 -1 + store i8* %add.ptr31, i8** %bp30, align 8 + br label %if.end39 + +if.else33: ; preds = %IGNORE_LOOP + %31 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %s34 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %31, i32 0, i32 0 + %32 = load i8*, i8** %s34, align 8 + %33 = load i8, i8* %32, align 1 + %tobool35 = icmp ne i8 %33, 0 + %34 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + br i1 %tobool35, label %if.else37, label %if.then36 + +if.then36: ; preds = %if.else33 + %weight = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %34, i32 0, i32 2 + store i32 0, i32* %weight, align 8 + br label %do.end425 + +if.else37: ; preds = %if.else33 + %position = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %34, i32 0, i32 7 + %35 = load i64, i64* %position, align 8 + %add = add i64 %35, 1 + store i64 %add, i64* %position, align 8 + br label %if.end39 + +if.end39: ; preds = %if.else25, %if.then21, %if.then14, %if.else37 + br label %BACK_LOOP + +BACK_LOOP: ; preds = %if.end306, %if.end39 + %36 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %s40 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %36, i32 0, i32 0 + %37 = load i8*, i8** %s40, align 8 + %38 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %call = call i32 @__locale_mbrtowc_l(i32* %WC, i8* %37, %struct.__uclibc_locale_struct.201* %38) #18 + %conv41 = sext i32 %call to i64 + store i64 %conv41, i64* %n0, align 8 + store i64 %conv41, i64* %n, align 8 + %39 = load i64, i64* %n, align 8 + %cmp42 = icmp slt i64 %39, 0 + br i1 %cmp42, label %if.then44, label %if.end46 + +if.then44: ; preds = %BACK_LOOP + store i32 84, i32* @errno, align 4 + %40 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %weight45 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %40, i32 0, i32 2 + store i32 0, i32* %weight45, align 8 + br label %do.end425 + +if.end46: ; preds = %BACK_LOOP + %41 = load i32, i32* %WC, align 4 + %42 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %call47 = call i32 @lookup(i32 %41, %struct.__uclibc_locale_struct.201* %42) #18 + store i32 %call47, i32* %r, align 4 + %43 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %colitem = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %43, i32 0, i32 4 + store i32 %call47, i32* %colitem, align 8 + %44 = load i32, i32* %r, align 4 + %45 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %45, i32 0, i32 118 + %max_col_index = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate, i32 0, i32 8 + %46 = load i16, i16* %max_col_index, align 8 + %conv48 = zext i16 %46 to i32 + %cmp49 = icmp sgt i32 %44, %conv48 + br i1 %cmp49, label %if.then51, label %if.else101 + +if.then51: ; preds = %if.end46 + %47 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate52 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %47, i32 0, i32 118 + %multistart_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate52, i32 0, i32 18 + %48 = load i16*, i16** %multistart_tbl, align 8 + store i16* %48, i16** %p, align 8 + %49 = load i16*, i16** %p, align 8 + %50 = load i32, i32* %r, align 4 + %51 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate53 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %51, i32 0, i32 118 + %max_col_index54 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate53, i32 0, i32 8 + %52 = load i16, i16* %max_col_index54, align 8 + %conv55 = zext i16 %52 to i32 + %sub56 = sub nsw i32 %50, %conv55 + %sub57 = sub nsw i32 %sub56, 1 + %idxprom = sext i32 %sub57 to i64 + %arrayidx = getelementptr inbounds i16, i16* %49, i64 %idxprom + %53 = load i16, i16* %arrayidx, align 2 + %conv58 = zext i16 %53 to i32 + %54 = load i16*, i16** %p, align 8 + %idx.ext59 = sext i32 %conv58 to i64 + %add.ptr60 = getelementptr inbounds i16, i16* %54, i64 %idx.ext59 + store i16* %add.ptr60, i16** %p, align 8 + br label %do.body61 + +do.body61: ; preds = %do.body91, %if.then51 + %55 = load i64, i64* %n0, align 8 + store i64 %55, i64* %n, align 8 + %56 = load i16*, i16** %p, align 8 + %incdec.ptr62 = getelementptr inbounds i16, i16* %56, i32 1 + store i16* %incdec.ptr62, i16** %p, align 8 + %57 = load i16, i16* %56, align 2 + %conv63 = zext i16 %57 to i32 + store i32 %conv63, i32* %r, align 4 + br label %do.body64 + +do.body64: ; preds = %if.end94, %do.body61 + %58 = load i16*, i16** %p, align 8 + %59 = load i16, i16* %58, align 2 + %tobool65 = icmp ne i16 %59, 0 + br i1 %tobool65, label %if.end68, label %if.then66 + +if.then66: ; preds = %do.body64 + %60 = load i32, i32* %r, align 4 + %61 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %colitem67 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %61, i32 0, i32 4 + store i32 %60, i32* %colitem67, align 8 + br label %FOUND + +if.end68: ; preds = %do.body64 + %62 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %s69 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %62, i32 0, i32 0 + %63 = load i8*, i8** %s69, align 8 + %64 = load i64, i64* %n, align 8 + %arrayidx70 = getelementptr inbounds i8, i8* %63, i64 %64 + %65 = load i8, i8* %arrayidx70, align 1 + %tobool71 = icmp ne i8 %65, 0 + br i1 %tobool71, label %if.then72, label %if.end82 + +if.then72: ; preds = %if.end68 + %66 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %s73 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %66, i32 0, i32 0 + %67 = load i8*, i8** %s73, align 8 + %68 = load i64, i64* %n, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %67, i64 %68 + %69 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %call75 = call i32 @__locale_mbrtowc_l(i32* %WC, i8* %add.ptr74, %struct.__uclibc_locale_struct.201* %69) #18 + %conv76 = sext i32 %call75 to i64 + store i64 %conv76, i64* %nx, align 8 + %70 = load i64, i64* %nx, align 8 + %cmp77 = icmp ult i64 %70, 0 + br i1 %cmp77, label %if.then79, label %if.end82 + +if.then79: ; preds = %if.then72 + store i32 84, i32* @errno, align 4 + %71 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %weight80 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %71, i32 0, i32 2 + store i32 0, i32* %weight80, align 8 + br label %do.end425 + +if.end82: ; preds = %if.then72, %if.end68 + %72 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %s83 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %72, i32 0, i32 0 + %73 = load i8*, i8** %s83, align 8 + %74 = load i64, i64* %n, align 8 + %arrayidx84 = getelementptr inbounds i8, i8* %73, i64 %74 + %75 = load i8, i8* %arrayidx84, align 1 + %tobool85 = icmp ne i8 %75, 0 + br i1 %tobool85, label %lor.lhs.false, label %if.then90 + +lor.lhs.false: ; preds = %if.end82 + %76 = load i32, i32* %WC, align 4 + %77 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %call86 = call i32 @lookup(i32 %76, %struct.__uclibc_locale_struct.201* %77) #18 + %78 = load i16*, i16** %p, align 8 + %79 = load i16, i16* %78, align 2 + %conv87 = zext i16 %79 to i32 + %cmp88 = icmp ne i32 %call86, %conv87 + br i1 %cmp88, label %if.then90, label %if.end94 + +if.then90: ; preds = %lor.lhs.false, %if.end82 + br label %do.body91 + +do.body91: ; preds = %do.body91, %if.then90 + %80 = load i16*, i16** %p, align 8 + %incdec.ptr92 = getelementptr inbounds i16, i16* %80, i32 1 + store i16* %incdec.ptr92, i16** %p, align 8 + %81 = load i16, i16* %80, align 2 + %tobool93 = icmp ne i16 %81, 0 + br i1 %tobool93, label %do.body91, label %do.body61 + +if.end94: ; preds = %lor.lhs.false + %82 = load i16*, i16** %p, align 8 + %incdec.ptr95 = getelementptr inbounds i16, i16* %82, i32 1 + store i16* %incdec.ptr95, i16** %p, align 8 + %83 = load i64, i64* %nx, align 8 + %84 = load i64, i64* %n, align 8 + %add96 = add i64 %84, %83 + store i64 %add96, i64* %n, align 8 + br label %do.body64 + +if.else101: ; preds = %if.end46 + %85 = load i32, i32* %r, align 4 + %cmp102 = icmp eq i32 %85, 0 + %86 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate105 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %86, i32 0, i32 118 + br i1 %cmp102, label %if.then104, label %if.else189 + +if.then104: ; preds = %if.else101 + %range_count = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate105, i32 0, i32 11 + %87 = load i16, i16* %range_count, align 2 + %conv106 = zext i16 %87 to i32 + %tobool107 = icmp ne i32 %conv106, 0 + br i1 %tobool107, label %land.lhs.true, label %if.else140 + +land.lhs.true: ; preds = %if.then104 + %88 = load i32, i32* %WC, align 4 + %89 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate108 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %89, i32 0, i32 118 + %range_low = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate108, i32 0, i32 10 + %90 = load i16, i16* %range_low, align 4 + %conv109 = zext i16 %90 to i32 + %sub110 = sub nsw i32 %88, %conv109 + %91 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate111 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %91, i32 0, i32 118 + %range_count112 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate111, i32 0, i32 11 + %92 = load i16, i16* %range_count112, align 2 + %conv113 = zext i16 %92 to i32 + %cmp114 = icmp ule i32 %sub110, %conv113 + br i1 %cmp114, label %if.then116, label %if.else140 + +if.then116: ; preds = %land.lhs.true + %93 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate117 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %93, i32 0, i32 118 + %ruletable = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate117, i32 0, i32 22 + %94 = load i16*, i16** %ruletable, align 8 + %95 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate118 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %95, i32 0, i32 118 + %range_rule_offset = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate118, i32 0, i32 13 + %96 = load i16, i16* %range_rule_offset, align 2 + %conv119 = zext i16 %96 to i32 + %97 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate120 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %97, i32 0, i32 118 + %MAX_WEIGHTS = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate120, i32 0, i32 25 + %98 = load i16, i16* %MAX_WEIGHTS, align 8 + %conv121 = zext i16 %98 to i32 + %mul = mul nsw i32 %conv119, %conv121 + %99 = load i32, i32* %pass.addr, align 4 + %add122 = add nsw i32 %mul, %99 + %idxprom123 = sext i32 %add122 to i64 + %arrayidx124 = getelementptr inbounds i16, i16* %94, i64 %idxprom123 + %100 = load i16, i16* %arrayidx124, align 2 + %conv125 = zext i16 %100 to i32 + store i32 %conv125, i32* %ru, align 4 + %101 = load i32, i32* %ru, align 4 + %and126 = and i32 %101, 16383 + %cmp127 = icmp eq i32 %and126, 16383 + br i1 %cmp127, label %if.then129, label %RANGE_SKIP_TO + +if.then129: ; preds = %if.then116 + %102 = load i32, i32* %ru, align 4 + %and130 = and i32 %102, 49152 + %or = or i32 %and130, 16379 + store i32 %or, i32* %ru, align 4 + %103 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate131 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %103, i32 0, i32 118 + %range_base_weight = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate131, i32 0, i32 12 + %104 = load i16, i16* %range_base_weight, align 8 + %conv132 = zext i16 %104 to i32 + %105 = load i32, i32* %WC, align 4 + %106 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate133 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %106, i32 0, i32 118 + %range_low134 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate133, i32 0, i32 10 + %107 = load i16, i16* %range_low134, align 4 + %conv135 = zext i16 %107 to i32 + %sub136 = sub nsw i32 %105, %conv135 + %add137 = add nsw i32 %conv132, %sub136 + %108 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %weight138 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %108, i32 0, i32 2 + store i32 %add137, i32* %weight138, align 8 + br label %RANGE_SKIP_TO + +if.else140: ; preds = %land.lhs.true, %if.then104 + %109 = load i32, i32* %WC, align 4 + %conv141 = zext i32 %109 to i64 + %cmp142 = icmp ule i64 %conv141, 2147483647 + br i1 %cmp142, label %UNDEFINED, label %if.else181 + +UNDEFINED: ; preds = %FOUND, %if.else140 + %110 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate145 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %110, i32 0, i32 118 + %undefined_idx = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate145, i32 0, i32 9 + %111 = load i16, i16* %undefined_idx, align 2 + %conv146 = zext i16 %111 to i32 + store i32 %conv146, i32* %ri, align 4 + %112 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate147 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %112, i32 0, i32 118 + %num_weights = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate147, i32 0, i32 0 + %113 = load i16, i16* %num_weights, align 8 + %conv148 = zext i16 %113 to i32 + %cmp149 = icmp eq i32 %conv148, 1 + br i1 %cmp149, label %if.then151, label %if.end156 + +if.then151: ; preds = %UNDEFINED + %114 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %weightidx152 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %114, i32 0, i32 5 + store i32 16379, i32* %weightidx152, align 4 + %115 = load i32, i32* %ri, align 4 + %116 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %weight153 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %116, i32 0, i32 2 + store i32 %115, i32* %weight153, align 8 + %117 = load i64, i64* %n, align 8 + %118 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %s154 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %118, i32 0, i32 0 + %119 = load i8*, i8** %s154, align 8 + %add.ptr155 = getelementptr inbounds i8, i8* %119, i64 %117 + store i8* %add.ptr155, i8** %s154, align 8 + br label %PROCESS_WEIGHT + +if.end156: ; preds = %UNDEFINED + %120 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate157 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %120, i32 0, i32 118 + %index2ruleidx = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate157, i32 0, i32 24 + %121 = load i16*, i16** %index2ruleidx, align 8 + %122 = load i32, i32* %ri, align 4 + %sub158 = sub nsw i32 %122, 1 + %idxprom159 = sext i32 %sub158 to i64 + %arrayidx160 = getelementptr inbounds i16, i16* %121, i64 %idxprom159 + %123 = load i16, i16* %arrayidx160, align 2 + %conv161 = zext i16 %123 to i32 + store i32 %conv161, i32* %ri, align 4 + %124 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate162 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %124, i32 0, i32 118 + %ruletable163 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate162, i32 0, i32 22 + %125 = load i16*, i16** %ruletable163, align 8 + %126 = load i32, i32* %ri, align 4 + %127 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate164 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %127, i32 0, i32 118 + %MAX_WEIGHTS165 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate164, i32 0, i32 25 + %128 = load i16, i16* %MAX_WEIGHTS165, align 8 + %conv166 = zext i16 %128 to i32 + %mul167 = mul nsw i32 %126, %conv166 + %129 = load i32, i32* %pass.addr, align 4 + %add168 = add nsw i32 %mul167, %129 + %idxprom169 = sext i32 %add168 to i64 + %arrayidx170 = getelementptr inbounds i16, i16* %125, i64 %idxprom169 + %130 = load i16, i16* %arrayidx170, align 2 + %conv171 = zext i16 %130 to i32 + store i32 %conv171, i32* %ru, align 4 + %131 = load i32, i32* %ru, align 4 + %and172 = and i32 %131, 16383 + %cmp173 = icmp eq i32 %and172, 16382 + br i1 %cmp173, label %if.then175, label %RANGE_SKIP_TO + +if.then175: ; preds = %if.end156 + %132 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate176 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %132, i32 0, i32 118 + %undefined_idx177 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate176, i32 0, i32 9 + %133 = load i16, i16* %undefined_idx177, align 2 + %conv178 = zext i16 %133 to i32 + %134 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %colitem179 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %134, i32 0, i32 4 + store i32 %conv178, i32* %colitem179, align 8 + br label %RANGE_SKIP_TO + +if.else181: ; preds = %if.else140 + store i32 22, i32* @errno, align 4 + %135 = load i32, i32* %pass.addr, align 4 + %cmp182 = icmp sgt i32 %135, 0 + br i1 %cmp182, label %if.then184, label %if.end187 + +if.then184: ; preds = %if.else181 + %136 = load i64, i64* %n, align 8 + %137 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %s185 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %137, i32 0, i32 0 + %138 = load i8*, i8** %s185, align 8 + %add.ptr186 = getelementptr inbounds i8, i8* %138, i64 %136 + store i8* %add.ptr186, i8** %s185, align 8 + br label %IGNORE_LOOP + +if.end187: ; preds = %if.else181 + store i32 32763, i32* %ru, align 4 + %139 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %weight188 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %139, i32 0, i32 2 + store i32 65535, i32* %weight188, align 8 + br label %RANGE_SKIP_TO + +if.else189: ; preds = %if.else101 + %num_weights191 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate105, i32 0, i32 0 + %140 = load i16, i16* %num_weights191, align 8 + %conv192 = zext i16 %140 to i32 + %cmp193 = icmp eq i32 %conv192, 1 + br i1 %cmp193, label %if.then195, label %FOUND + +if.then195: ; preds = %if.else189 + %141 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %weightidx196 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %141, i32 0, i32 5 + store i32 16379, i32* %weightidx196, align 4 + %142 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %colitem197 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %142, i32 0, i32 4 + %143 = load i32, i32* %colitem197, align 8 + %144 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %weight198 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %144, i32 0, i32 2 + store i32 %143, i32* %weight198, align 8 + %145 = load i64, i64* %n, align 8 + %146 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %s199 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %146, i32 0, i32 0 + %147 = load i8*, i8** %s199, align 8 + %add.ptr200 = getelementptr inbounds i8, i8* %147, i64 %145 + store i8* %add.ptr200, i8** %s199, align 8 + br label %PROCESS_WEIGHT + +FOUND: ; preds = %if.else189, %if.then66 + %148 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate205 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %148, i32 0, i32 118 + %index2ruleidx206 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate205, i32 0, i32 24 + %149 = load i16*, i16** %index2ruleidx206, align 8 + %150 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %colitem207 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %150, i32 0, i32 4 + %151 = load i32, i32* %colitem207, align 8 + %sub208 = sub nsw i32 %151, 1 + %idxprom209 = sext i32 %sub208 to i64 + %arrayidx210 = getelementptr inbounds i16, i16* %149, i64 %idxprom209 + %152 = load i16, i16* %arrayidx210, align 2 + %conv211 = zext i16 %152 to i32 + store i32 %conv211, i32* %ri, align 4 + %153 = load i32, i32* %ri, align 4 + %tobool212 = icmp ne i32 %153, 0 + br i1 %tobool212, label %if.end214, label %UNDEFINED + +if.end214: ; preds = %FOUND + %154 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate215 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %154, i32 0, i32 118 + %ruletable216 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate215, i32 0, i32 22 + %155 = load i16*, i16** %ruletable216, align 8 + %156 = load i32, i32* %ri, align 4 + %157 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate217 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %157, i32 0, i32 118 + %MAX_WEIGHTS218 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate217, i32 0, i32 25 + %158 = load i16, i16* %MAX_WEIGHTS218, align 8 + %conv219 = zext i16 %158 to i32 + %mul220 = mul nsw i32 %156, %conv219 + %159 = load i32, i32* %pass.addr, align 4 + %add221 = add nsw i32 %mul220, %159 + %idxprom222 = sext i32 %add221 to i64 + %arrayidx223 = getelementptr inbounds i16, i16* %155, i64 %idxprom222 + %160 = load i16, i16* %arrayidx223, align 2 + %conv224 = zext i16 %160 to i32 + store i32 %conv224, i32* %ru, align 4 + br label %RANGE_SKIP_TO + +RANGE_SKIP_TO: ; preds = %if.end156, %if.then175, %if.then116, %if.then129, %if.end214, %if.end187 + %161 = load i32, i32* %popping_backup_stack, align 4 + %tobool225 = icmp ne i32 %161, 0 + br i1 %tobool225, label %if.else336, label %if.then226 + +if.then226: ; preds = %RANGE_SKIP_TO + %162 = load i32, i32* %ru, align 4 + %and227 = and i32 %162, 49152 + %tobool228 = icmp ne i32 %and227, 0 + %163 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bp315 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %163, i32 0, i32 12 + %164 = load i8*, i8** %bp315, align 8 + br i1 %tobool228, label %if.else314, label %if.then229 + +if.then229: ; preds = %if.then226 + %165 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bbe = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %165, i32 0, i32 11 + %166 = load i8*, i8** %bbe, align 8 + %cmp231 = icmp eq i8* %164, %166 + br i1 %cmp231, label %if.then233, label %if.end272 + +if.then233: ; preds = %if.then229 + %167 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %back_buf = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %167, i32 0, i32 10 + %168 = load i8*, i8** %back_buf, align 8 + %169 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %ibb = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %169, i32 0, i32 13 + %arraydecay = getelementptr inbounds [128 x i8], [128 x i8]* %ibb, i64 0, i64 0 + %cmp234 = icmp eq i8* %168, %arraydecay + %170 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + br i1 %cmp234, label %if.then236, label %if.else249 + +if.then236: ; preds = %if.then233 + %bb_size = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %170, i32 0, i32 14 + %171 = load i64, i64* %bb_size, align 8 + %add237 = add i64 %171, 128 + %call238 = call noalias i8* @malloc(i64 %add237) #19 + %172 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bp239 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %172, i32 0, i32 12 + store i8* %call238, i8** %bp239, align 8 + %173 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bp240 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %173, i32 0, i32 12 + %174 = load i8*, i8** %bp240, align 8 + %tobool241 = icmp ne i8* %174, null + br i1 %tobool241, label %if.end244, label %if.then242 + +if.then242: ; preds = %if.then236 + store i32 12, i32* @errno, align 4 + %175 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %weight243 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %175, i32 0, i32 2 + store i32 0, i32* %weight243, align 8 + br label %do.end425 + +if.end244: ; preds = %if.then236 + %176 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bp245 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %176, i32 0, i32 12 + %177 = load i8*, i8** %bp245, align 8 + %178 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %back_buf246 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %178, i32 0, i32 10 + %179 = load i8*, i8** %back_buf246, align 8 + %180 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bb_size247 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %180, i32 0, i32 14 + %181 = load i64, i64* %bb_size247, align 8 + %call248 = call i8* @memcpy(i8* %177, i8* %179, i64 %181) #19 + br label %if.end260 + +if.else249: ; preds = %if.then233 + %back_buf250 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %170, i32 0, i32 10 + %182 = load i8*, i8** %back_buf250, align 8 + %183 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bb_size251 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %183, i32 0, i32 14 + %184 = load i64, i64* %bb_size251, align 8 + %add252 = add i64 %184, 128 + %call253 = call noalias i8* @realloc(i8* %182, i64 %add252) #19 + %185 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bp254 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %185, i32 0, i32 12 + store i8* %call253, i8** %bp254, align 8 + %186 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bp255 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %186, i32 0, i32 12 + %187 = load i8*, i8** %bp255, align 8 + %tobool256 = icmp ne i8* %187, null + br i1 %tobool256, label %if.end260, label %if.then257 + +if.then257: ; preds = %if.else249 + store i32 12, i32* @errno, align 4 + %188 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %weight258 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %188, i32 0, i32 2 + store i32 0, i32* %weight258, align 8 + br label %do.end425 + +if.end260: ; preds = %if.else249, %if.end244 + %189 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bb_size261 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %189, i32 0, i32 14 + %190 = load i64, i64* %bb_size261, align 8 + %add262 = add i64 %190, 128 + store i64 %add262, i64* %bb_size261, align 8 + %191 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bp263 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %191, i32 0, i32 12 + %192 = load i8*, i8** %bp263, align 8 + %193 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bbe264 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %193, i32 0, i32 11 + %194 = load i8*, i8** %bbe264, align 8 + %195 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %back_buf265 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %195, i32 0, i32 10 + %196 = load i8*, i8** %back_buf265, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %194 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %196 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %add.ptr266 = getelementptr inbounds i8, i8* %192, i64 %sub.ptr.sub + %197 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bbe267 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %197, i32 0, i32 11 + store i8* %add.ptr266, i8** %bbe267, align 8 + %198 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bp268 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %198, i32 0, i32 12 + %199 = load i8*, i8** %bp268, align 8 + %200 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %back_buf269 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %200, i32 0, i32 10 + store i8* %199, i8** %back_buf269, align 8 + %201 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bbe270 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %201, i32 0, i32 11 + %202 = load i8*, i8** %bbe270, align 8 + %203 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bp271 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %203, i32 0, i32 12 + store i8* %202, i8** %bp271, align 8 + br label %if.end272 + +if.end272: ; preds = %if.end260, %if.then229 + %204 = load i64, i64* %n, align 8 + %cmp273 = icmp eq i64 %204, 1 + br i1 %cmp273, label %if.then275, label %if.else301 + +if.then275: ; preds = %if.end272 + %205 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bp276 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %205, i32 0, i32 12 + %206 = load i8*, i8** %bp276, align 8 + %207 = load i8, i8* %206, align 1 + %conv277 = sext i8 %207 to i32 + %tobool278 = icmp ne i32 %conv277, 0 + br i1 %tobool278, label %land.lhs.true279, label %if.else289 + +land.lhs.true279: ; preds = %if.then275 + %208 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bp280 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %208, i32 0, i32 12 + %209 = load i8*, i8** %bp280, align 8 + %210 = load i8, i8* %209, align 1 + %conv281 = zext i8 %210 to i32 + %cmp282 = icmp slt i32 %conv281, 127 + br i1 %cmp282, label %if.then284, label %if.else289 + +if.then284: ; preds = %land.lhs.true279 + %211 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bp285 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %211, i32 0, i32 12 + %212 = load i8*, i8** %bp285, align 8 + %213 = load i8, i8* %212, align 1 + %conv286 = sext i8 %213 to i32 + %add287 = add nsw i32 %conv286, 1 + %conv288 = trunc i32 %add287 to i8 + store i8 %conv288, i8* %212, align 1 + br label %if.end306 + +if.else289: ; preds = %land.lhs.true279, %if.then275 + %214 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bp290 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %214, i32 0, i32 12 + %215 = load i8*, i8** %bp290, align 8 + %tobool291 = icmp ne i8* %215, null + %216 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + br i1 %tobool291, label %if.else295, label %if.then292 + +if.then292: ; preds = %if.else289 + %back_buf293 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %216, i32 0, i32 10 + %217 = load i8*, i8** %back_buf293, align 8 + %218 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bp294 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %218, i32 0, i32 12 + store i8* %217, i8** %bp294, align 8 + br label %if.end298 + +if.else295: ; preds = %if.else289 + %bp296 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %216, i32 0, i32 12 + %219 = load i8*, i8** %bp296, align 8 + %incdec.ptr297 = getelementptr inbounds i8, i8* %219, i32 1 + store i8* %incdec.ptr297, i8** %bp296, align 8 + br label %if.end298 + +if.end298: ; preds = %if.else295, %if.then292 + %220 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bp299 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %220, i32 0, i32 12 + %221 = load i8*, i8** %bp299, align 8 + store i8 1, i8* %221, align 1 + br label %if.end306 + +if.else301: ; preds = %if.end272 + %222 = load i64, i64* %n, align 8 + %sub302 = sub nsw i64 0, %222 + %conv303 = trunc i64 %sub302 to i8 + %223 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bp304 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %223, i32 0, i32 12 + %224 = load i8*, i8** %bp304, align 8 + %incdec.ptr305 = getelementptr inbounds i8, i8* %224, i32 1 + store i8* %incdec.ptr305, i8** %bp304, align 8 + store i8 %conv303, i8* %incdec.ptr305, align 1 + br label %if.end306 + +if.end306: ; preds = %if.then284, %if.end298, %if.else301 + %225 = load i64, i64* %n, align 8 + %226 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %s307 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %226, i32 0, i32 0 + %227 = load i8*, i8** %s307, align 8 + %add.ptr308 = getelementptr inbounds i8, i8* %227, i64 %225 + store i8* %add.ptr308, i8** %s307, align 8 + %228 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %s309 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %228, i32 0, i32 0 + %229 = load i8*, i8** %s309, align 8 + %230 = load i8, i8* %229, align 1 + %tobool310 = icmp ne i8 %230, 0 + br i1 %tobool310, label %BACK_LOOP, label %if.end312 + +if.end312: ; preds = %if.end306 + %231 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %s313 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %231, i32 0, i32 0 + %232 = load i8*, i8** %s313, align 8 + %233 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %eob = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %233, i32 0, i32 1 + store i8* %232, i8** %eob, align 8 + br label %POP_BACKUP + +if.else314: ; preds = %if.then226 + %234 = load i8, i8* %164, align 1 + %tobool316 = icmp ne i8 %234, 0 + br i1 %tobool316, label %if.then317, label %if.else320 + +if.then317: ; preds = %if.else314 + %235 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %s318 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %235, i32 0, i32 0 + %236 = load i8*, i8** %s318, align 8 + %237 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %eob319 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %237, i32 0, i32 1 + store i8* %236, i8** %eob319, align 8 + br label %POP_BACKUP + +if.else320: ; preds = %if.else314 + %238 = load i32, i32* %ru, align 4 + %and321 = and i32 %238, 49151 + %cmp322 = icmp ugt i32 %and321, 32768 + br i1 %cmp322, label %if.then324, label %if.end345 + +if.then324: ; preds = %if.else320 + %239 = load i32, i32* %ru, align 4 + %240 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %ru_pushed325 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %240, i32 0, i32 15 + store i32 %239, i32* %ru_pushed325, align 8 + %241 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %position326 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %241, i32 0, i32 7 + %242 = load i64, i64* %position326, align 8 + %conv327 = trunc i64 %242 to i32 + %243 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %weight328 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %243, i32 0, i32 2 + store i32 %conv327, i32* %weight328, align 8 + %244 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %position329 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %244, i32 0, i32 7 + store i64 0, i64* %position329, align 8 + %245 = load i64, i64* %n, align 8 + %246 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %s330 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %246, i32 0, i32 0 + %247 = load i8*, i8** %s330, align 8 + %add.ptr331 = getelementptr inbounds i8, i8* %247, i64 %245 + store i8* %add.ptr331, i8** %s330, align 8 + %248 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %weightidx332 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %248, i32 0, i32 5 + store i32 16379, i32* %weightidx332, align 4 + br label %PROCESS_WEIGHT + +if.else336: ; preds = %RANGE_SKIP_TO + %249 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bp337 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %249, i32 0, i32 12 + %250 = load i8*, i8** %bp337, align 8 + %251 = load i8, i8* %250, align 1 + %tobool338 = icmp ne i8 %251, 0 + br i1 %tobool338, label %if.end342, label %if.then339 + +if.then339: ; preds = %if.else336 + %252 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %eob340 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %252, i32 0, i32 1 + %253 = load i8*, i8** %eob340, align 8 + %254 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %s341 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %254, i32 0, i32 0 + store i8* %253, i8** %s341, align 8 + br label %if.end342 + +if.end342: ; preds = %if.then339, %if.else336 + %255 = load i64, i64* %n, align 8 + %256 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %s343 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %256, i32 0, i32 0 + %257 = load i8*, i8** %s343, align 8 + %idx.neg = sub i64 0, %255 + %add.ptr344 = getelementptr inbounds i8, i8* %257, i64 %idx.neg + store i8* %add.ptr344, i8** %s343, align 8 + br label %if.end345 + +if.end345: ; preds = %if.else320, %if.end342 + %258 = load i64, i64* %n, align 8 + %259 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %s346 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %259, i32 0, i32 0 + %260 = load i8*, i8** %s346, align 8 + %add.ptr347 = getelementptr inbounds i8, i8* %260, i64 %258 + store i8* %add.ptr347, i8** %s346, align 8 + br label %POSITION_SKIP + +POSITION_SKIP: ; preds = %if.end345, %if.then + %261 = load i32, i32* %ru, align 4 + %and348 = and i32 %261, 16383 + %262 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %weightidx349 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %262, i32 0, i32 5 + store i32 %and348, i32* %weightidx349, align 4 + %263 = load i32, i32* %ru, align 4 + %and350 = and i32 %263, 49152 + %264 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %rule = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %264, i32 0, i32 6 + store i32 %and350, i32* %rule, align 8 + br label %if.end351 + +if.end351: ; preds = %POSITION_SKIP, %if.end8 + %265 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %weightidx352 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %265, i32 0, i32 5 + %266 = load i32, i32* %weightidx352, align 4 + %tobool353 = icmp ne i32 %266, 0 + br i1 %tobool353, label %PROCESS_WEIGHT, label %do.cond424 + +PROCESS_WEIGHT: ; preds = %if.end351, %if.then324, %if.then195, %if.then151 + %267 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %weightidx356 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %267, i32 0, i32 5 + %268 = load i32, i32* %weightidx356, align 4 + %sub357 = sub i32 %268, 16377 + %cmp358 = icmp ule i32 %sub357, 4 + %269 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %weightidx361 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %269, i32 0, i32 5 + %270 = load i32, i32* %weightidx361, align 4 + br i1 %cmp358, label %if.then360, label %if.end367 + +if.then360: ; preds = %PROCESS_WEIGHT + %cmp362 = icmp eq i32 %270, 16377 + br i1 %cmp362, label %if.then364, label %do.end425 + +if.then364: ; preds = %if.then360 + %271 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %ui_weight = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %271, i32 0, i32 3 + %272 = load i32, i32* %ui_weight, align 4 + %273 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %weight365 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %273, i32 0, i32 2 + store i32 %272, i32* %weight365, align 8 + br label %do.end425 + +if.end367: ; preds = %PROCESS_WEIGHT + %cmp369 = icmp eq i32 %270, 16382 + br i1 %cmp369, label %if.then371, label %if.else378 + +if.then371: ; preds = %if.end367 + %274 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate372 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %274, i32 0, i32 118 + %index2weight = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate372, i32 0, i32 23 + %275 = load i16*, i16** %index2weight, align 8 + %276 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %colitem373 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %276, i32 0, i32 4 + %277 = load i32, i32* %colitem373, align 8 + %sub374 = sub nsw i32 %277, 1 + %idxprom375 = sext i32 %sub374 to i64 + %arrayidx376 = getelementptr inbounds i16, i16* %275, i64 %idxprom375 + %278 = load i16, i16* %arrayidx376, align 2 + %conv377 = zext i16 %278 to i32 + store i32 %conv377, i32* %w, align 4 + br label %if.end422 + +if.else378: ; preds = %if.end367 + %279 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %weightidx379 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %279, i32 0, i32 5 + %280 = load i32, i32* %weightidx379, align 4 + %281 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate380 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %281, i32 0, i32 118 + %max_col_index381 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate380, i32 0, i32 8 + %282 = load i16, i16* %max_col_index381, align 8 + %conv382 = zext i16 %282 to i32 + %cmp383 = icmp sle i32 %280, %conv382 + %283 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate386 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %283, i32 0, i32 118 + br i1 %cmp383, label %if.then385, label %if.else393 + +if.then385: ; preds = %if.else378 + %index2weight387 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate386, i32 0, i32 23 + %284 = load i16*, i16** %index2weight387, align 8 + %285 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %weightidx388 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %285, i32 0, i32 5 + %286 = load i32, i32* %weightidx388, align 4 + %sub389 = sub nsw i32 %286, 1 + %idxprom390 = sext i32 %sub389 to i64 + %arrayidx391 = getelementptr inbounds i16, i16* %284, i64 %idxprom390 + %287 = load i16, i16* %arrayidx391, align 2 + %conv392 = zext i16 %287 to i32 + store i32 %conv392, i32* %w, align 4 + br label %if.end422 + +if.else393: ; preds = %if.else378 + %weightstr = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate386, i32 0, i32 21 + %288 = load i16*, i16** %weightstr, align 8 + %289 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %weightidx395 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %289, i32 0, i32 5 + %290 = load i32, i32* %weightidx395, align 4 + %291 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate396 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %291, i32 0, i32 118 + %max_col_index397 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate396, i32 0, i32 8 + %292 = load i16, i16* %max_col_index397, align 8 + %conv398 = zext i16 %292 to i32 + %add399 = add nsw i32 %conv398, 2 + %sub400 = sub nsw i32 %290, %add399 + %idx.ext401 = sext i32 %sub400 to i64 + %add.ptr402 = getelementptr inbounds i16, i16* %288, i64 %idx.ext401 + store i16* %add.ptr402, i16** %p, align 8 + %293 = load i16*, i16** %p, align 8 + %294 = load i16, i16* %293, align 2 + %conv403 = zext i16 %294 to i32 + %and404 = and i32 %conv403, 16383 + %tobool405 = icmp ne i32 %and404, 0 + br i1 %tobool405, label %if.then406, label %do.cond424 + +if.then406: ; preds = %if.else393 + store i32 0, i32* %r, align 4 + br label %do.body407 + +do.body407: ; preds = %do.body407, %if.then406 + %295 = load i16*, i16** %p, align 8 + %incdec.ptr408 = getelementptr inbounds i16, i16* %295, i32 1 + store i16* %incdec.ptr408, i16** %p, align 8 + %296 = load i16, i16* %295, align 2 + %conv409 = zext i16 %296 to i32 + %297 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %ci_pending = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %297, i32 0, i32 9 + %298 = load i32, i32* %r, align 4 + %inc = add nsw i32 %298, 1 + store i32 %inc, i32* %r, align 4 + %idxprom410 = sext i32 %298 to i64 + %arrayidx411 = getelementptr inbounds [8 x i32], [8 x i32]* %ci_pending, i64 0, i64 %idxprom410 + store i32 %conv409, i32* %arrayidx411, align 4 + %299 = load i16*, i16** %p, align 8 + %300 = load i16, i16* %299, align 2 + %conv413 = zext i16 %300 to i32 + %and414 = and i32 %conv413, 16383 + %tobool415 = icmp ne i32 %and414, 0 + br i1 %tobool415, label %do.body407, label %do.end416 + +do.end416: ; preds = %do.body407 + %301 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %ci_pending417 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %301, i32 0, i32 9 + %arraydecay418 = getelementptr inbounds [8 x i32], [8 x i32]* %ci_pending417, i64 0, i64 0 + %302 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %cip419 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %302, i32 0, i32 8 + store i32* %arraydecay418, i32** %cip419, align 8 + br label %do.cond424 + +if.end422: ; preds = %if.then385, %if.then371 + %303 = load i32, i32* %w, align 4 + %304 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %weight423 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %304, i32 0, i32 2 + store i32 %303, i32* %weight423, align 8 + br label %do.end425 + +do.cond424: ; preds = %if.else393, %do.end416, %if.end351, %if.then6 + br label %do.body + +do.end425: ; preds = %if.then360, %if.then364, %if.then36, %if.then44, %if.then79, %if.then242, %if.then257, %if.end422 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @lookup(i32 %wc, %struct.__uclibc_locale_struct.201* %locale_arg) #0 { +entry: + %retval = alloca i32, align 4 + %wc.addr = alloca i32, align 4 + %locale_arg.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %sc = alloca i32, align 4 + %n = alloca i32, align 4 + %i0 = alloca i32, align 4 + %i1 = alloca i32, align 4 + store i32 %wc, i32* %wc.addr, align 4 + store %struct.__uclibc_locale_struct.201* %locale_arg, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %0 = load i32, i32* %wc.addr, align 4 + %cmp = icmp ugt i32 %0, 65535 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %1 = load i32, i32* %wc.addr, align 4 + %2 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %2, i32 0, i32 118 + %ti_mask = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate, i32 0, i32 15 + %3 = load i16, i16* %ti_mask, align 2 + %conv = zext i16 %3 to i32 + %and = and i32 %1, %conv + store i32 %and, i32* %sc, align 4 + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate1 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %4, i32 0, i32 118 + %ti_shift = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate1, i32 0, i32 3 + %5 = load i16, i16* %ti_shift, align 2 + %conv2 = zext i16 %5 to i32 + %6 = load i32, i32* %wc.addr, align 4 + %shr = ashr i32 %6, %conv2 + store i32 %shr, i32* %wc.addr, align 4 + %7 = load i32, i32* %wc.addr, align 4 + %8 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate3 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %8, i32 0, i32 118 + %ii_mask = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate3, i32 0, i32 14 + %9 = load i16, i16* %ii_mask, align 4 + %conv4 = zext i16 %9 to i32 + %and5 = and i32 %7, %conv4 + store i32 %and5, i32* %n, align 4 + %10 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate6 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %10, i32 0, i32 118 + %ii_shift = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate6, i32 0, i32 2 + %11 = load i16, i16* %ii_shift, align 4 + %conv7 = zext i16 %11 to i32 + %12 = load i32, i32* %wc.addr, align 4 + %shr8 = ashr i32 %12, %conv7 + store i32 %shr8, i32* %wc.addr, align 4 + %13 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate9 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %13, i32 0, i32 118 + %wcs2colidt_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate9, i32 0, i32 19 + %14 = load i16*, i16** %wcs2colidt_tbl, align 8 + %15 = load i32, i32* %wc.addr, align 4 + %idxprom = sext i32 %15 to i64 + %arrayidx = getelementptr inbounds i16, i16* %14, i64 %idxprom + %16 = load i16, i16* %arrayidx, align 2 + %conv10 = zext i16 %16 to i32 + store i32 %conv10, i32* %i0, align 4 + %17 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate11 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %17, i32 0, i32 118 + %ii_shift12 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate11, i32 0, i32 2 + %18 = load i16, i16* %ii_shift12, align 4 + %conv13 = zext i16 %18 to i32 + %19 = load i32, i32* %i0, align 4 + %shl = shl i32 %19, %conv13 + store i32 %shl, i32* %i0, align 4 + %20 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate14 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %20, i32 0, i32 118 + %wcs2colidt_tbl15 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate14, i32 0, i32 19 + %21 = load i16*, i16** %wcs2colidt_tbl15, align 8 + %22 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate16 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %22, i32 0, i32 118 + %ii_len = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate16, i32 0, i32 4 + %23 = load i16, i16* %ii_len, align 8 + %conv17 = zext i16 %23 to i32 + %24 = load i32, i32* %i0, align 4 + %add = add i32 %conv17, %24 + %25 = load i32, i32* %n, align 4 + %add18 = add i32 %add, %25 + %idxprom19 = zext i32 %add18 to i64 + %arrayidx20 = getelementptr inbounds i16, i16* %21, i64 %idxprom19 + %26 = load i16, i16* %arrayidx20, align 2 + %conv21 = zext i16 %26 to i32 + store i32 %conv21, i32* %i1, align 4 + %27 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate22 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %27, i32 0, i32 118 + %ti_shift23 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate22, i32 0, i32 3 + %28 = load i16, i16* %ti_shift23, align 2 + %conv24 = zext i16 %28 to i32 + %29 = load i32, i32* %i1, align 4 + %shl25 = shl i32 %29, %conv24 + store i32 %shl25, i32* %i1, align 4 + %30 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate26 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %30, i32 0, i32 118 + %wcs2colidt_tbl27 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate26, i32 0, i32 19 + %31 = load i16*, i16** %wcs2colidt_tbl27, align 8 + %32 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate28 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %32, i32 0, i32 118 + %ii_len29 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate28, i32 0, i32 4 + %33 = load i16, i16* %ii_len29, align 8 + %conv30 = zext i16 %33 to i32 + %34 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate31 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %34, i32 0, i32 118 + %ti_len = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate31, i32 0, i32 5 + %35 = load i16, i16* %ti_len, align 2 + %conv32 = zext i16 %35 to i32 + %add33 = add nsw i32 %conv30, %conv32 + %36 = load i32, i32* %i1, align 4 + %add34 = add i32 %add33, %36 + %37 = load i32, i32* %sc, align 4 + %add35 = add i32 %add34, %37 + %idxprom36 = zext i32 %add35 to i64 + %arrayidx37 = getelementptr inbounds i16, i16* %31, i64 %idxprom36 + %38 = load i16, i16* %arrayidx37, align 2 + %conv38 = zext i16 %38 to i32 + store i32 %conv38, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %39 = load i32, i32* %retval, align 4 + ret i32 %39 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @strxfrm_l(i8* noalias %ws1, i8* noalias nonnull %ws2, i64 %n, %struct.__uclibc_locale_struct.201* nonnull %locale_arg) #0 { +entry: + %retval = alloca i64, align 8 + %ws1.addr = alloca i8*, align 8 + %ws2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %locale_arg.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %cs = alloca %struct.col_state_t, align 8 + %count = alloca i64, align 8 + %inc = alloca i64, align 8 + %pass = alloca i32, align 4 + store i8* %ws1, i8** %ws1.addr, align 8 + store i8* %ws2, i8** %ws2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__uclibc_locale_struct.201* %locale_arg, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 118 + %num_weights = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate, i32 0, i32 0 + %1 = load i16, i16* %num_weights, align 8 + %tobool = icmp ne i16 %1, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %2 = load i8*, i8** %ws1.addr, align 8 + %3 = load i8*, i8** %ws2.addr, align 8 + %4 = load i64, i64* %n.addr, align 8 + %call = call i64 @strlcpy(i8* %2, i8* %3, i64 %4) #19 + store i64 %call, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + store i32 0, i32* %pass, align 4 + store i64 0, i64* %count, align 8 + store i64 0, i64* %inc, align 8 + br label %do.body + +do.body: ; preds = %do.cond8, %if.end + %5 = load i8*, i8** %ws2.addr, align 8 + call void @init_col_state(%struct.col_state_t* %cs, i8* %5) #18 + br label %do.body1 + +do.body1: ; preds = %do.body1, %do.body + %6 = load i32, i32* %pass, align 4 + %7 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + call void @next_weight(%struct.col_state_t* %cs, i32 %6, %struct.__uclibc_locale_struct.201* %7) #18 + %8 = load i8*, i8** %ws1.addr, align 8 + %9 = load i64, i64* %count, align 8 + %10 = load i64, i64* %n.addr, align 8 + %weight = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %cs, i32 0, i32 2 + %11 = load i32, i32* %weight, align 8 + %add = add i32 %11, 1 + %call2 = call i64 @store(i8* %8, i64 %9, i64 %10, i32 %add) #18 + store i64 %call2, i64* %inc, align 8 + %12 = load i64, i64* %inc, align 8 + %13 = load i64, i64* %count, align 8 + %add3 = add i64 %13, %12 + store i64 %add3, i64* %count, align 8 + %weight4 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %cs, i32 0, i32 2 + %14 = load i32, i32* %weight4, align 8 + %tobool5 = icmp ne i32 %14, 0 + br i1 %tobool5, label %do.body1, label %do.end + +do.end: ; preds = %do.body1 + %15 = load i64, i64* %count, align 8 + %16 = load i64, i64* %n.addr, align 8 + %cmp = icmp ule i64 %15, %16 + br i1 %cmp, label %if.then6, label %do.cond8 + +if.then6: ; preds = %do.end + %17 = load i8*, i8** %ws1.addr, align 8 + %18 = load i64, i64* %count, align 8 + %sub = sub i64 %18, 1 + %arrayidx = getelementptr inbounds i8, i8* %17, i64 %sub + store i8 1, i8* %arrayidx, align 1 + br label %do.cond8 + +do.cond8: ; preds = %do.end, %if.then6 + %19 = load i32, i32* %pass, align 4 + %inc9 = add nsw i32 %19, 1 + store i32 %inc9, i32* %pass, align 4 + %20 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate10 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %20, i32 0, i32 118 + %num_weights11 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate10, i32 0, i32 0 + %21 = load i16, i16* %num_weights11, align 8 + %conv = zext i16 %21 to i32 + %cmp12 = icmp slt i32 %inc9, %conv + br i1 %cmp12, label %do.body, label %do.end14 + +do.end14: ; preds = %do.cond8 + %22 = load i64, i64* %count, align 8 + %23 = load i64, i64* %n.addr, align 8 + %cmp15 = icmp ule i64 %22, %23 + br i1 %cmp15, label %if.then17, label %if.end20 + +if.then17: ; preds = %do.end14 + %24 = load i8*, i8** %ws1.addr, align 8 + %25 = load i64, i64* %count, align 8 + %sub18 = sub i64 %25, 1 + %arrayidx19 = getelementptr inbounds i8, i8* %24, i64 %sub18 + store i8 0, i8* %arrayidx19, align 1 + br label %if.end20 + +if.end20: ; preds = %if.then17, %do.end14 + %26 = load i64, i64* %count, align 8 + %sub21 = sub i64 %26, 1 + store i64 %sub21, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end20, %if.then + %27 = load i64, i64* %retval, align 8 + ret i64 %27 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @store(i8* %s, i64 %count, i64 %n, i32 %weight) #0 { +entry: + %s.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + %n.addr = alloca i64, align 8 + %weight.addr = alloca i32, align 4 + %i = alloca i32, align 4 + %r = alloca i32, align 4 + store i8* %s, i8** %s.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i32 %weight, i32* %weight.addr, align 4 + store i32 0, i32* %i, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %entry + %0 = load i32, i32* %weight.addr, align 4 + %conv = zext i32 %0 to i64 + %1 = load i32, i32* %i, align 4 + %idxprom = sext i32 %1 to i64 + %arrayidx = getelementptr inbounds [5 x i64], [5 x i64]* @bound, i64 0, i64 %idxprom + %2 = load i64, i64* %arrayidx, align 8 + %cmp = icmp ult i64 %conv, %2 + br i1 %cmp, label %do.end, label %do.cond + +do.cond: ; preds = %do.body + %3 = load i32, i32* %i, align 4 + %inc = add nsw i32 %3, 1 + store i32 %inc, i32* %i, align 4 + %conv2 = sext i32 %inc to i64 + %cmp3 = icmp ult i64 %conv2, 5 + br i1 %cmp3, label %do.body, label %do.end + +do.end: ; preds = %do.body, %do.cond + %4 = load i32, i32* %i, align 4 + %add = add nsw i32 %4, 1 + store i32 %add, i32* %r, align 4 + %5 = load i32, i32* %i, align 4 + %conv5 = sext i32 %5 to i64 + %6 = load i64, i64* %count.addr, align 8 + %add6 = add i64 %conv5, %6 + %7 = load i64, i64* %n.addr, align 8 + %cmp7 = icmp ult i64 %add6, %7 + br i1 %cmp7, label %if.then9, label %if.end20 + +if.then9: ; preds = %do.end + %8 = load i64, i64* %count.addr, align 8 + %9 = load i8*, i8** %s.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %9, i64 %8 + store i8* %add.ptr, i8** %s.addr, align 8 + %10 = load i32, i32* %i, align 4 + %idxprom10 = sext i32 %10 to i64 + %arrayidx11 = getelementptr inbounds [6 x i8], [6 x i8]* @first, i64 0, i64 %idxprom10 + %11 = load i8, i8* %arrayidx11, align 1 + %12 = load i8*, i8** %s.addr, align 8 + %arrayidx12 = getelementptr inbounds i8, i8* %12, i64 0 + store i8 %11, i8* %arrayidx12, align 1 + br label %while.cond + +while.cond: ; preds = %while.body, %if.then9 + %13 = load i32, i32* %i, align 4 + %tobool = icmp ne i32 %13, 0 + %14 = load i32, i32* %weight.addr, align 4 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %and = and i32 %14, 63 + %or = or i32 128, %and + %conv13 = trunc i32 %or to i8 + %15 = load i8*, i8** %s.addr, align 8 + %16 = load i32, i32* %i, align 4 + %idxprom14 = sext i32 %16 to i64 + %arrayidx15 = getelementptr inbounds i8, i8* %15, i64 %idxprom14 + store i8 %conv13, i8* %arrayidx15, align 1 + %17 = load i32, i32* %weight.addr, align 4 + %shr = lshr i32 %17, 6 + store i32 %shr, i32* %weight.addr, align 4 + %18 = load i32, i32* %i, align 4 + %dec = add nsw i32 %18, -1 + store i32 %dec, i32* %i, align 4 + br label %while.cond + +while.end: ; preds = %while.cond + %19 = load i8*, i8** %s.addr, align 8 + %arrayidx16 = getelementptr inbounds i8, i8* %19, i64 0 + %20 = load i8, i8* %arrayidx16, align 1 + %conv17 = zext i8 %20 to i32 + %or18 = or i32 %conv17, %14 + %conv19 = trunc i32 %or18 to i8 + store i8 %conv19, i8* %arrayidx16, align 1 + br label %if.end20 + +if.end20: ; preds = %while.end, %do.end + %21 = load i32, i32* %r, align 4 + %conv21 = sext i32 %21 to i64 + ret i64 %conv21 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @wcrtomb(i8* noalias %s, i32 %wc, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %s.addr = alloca i8*, align 8 + %wc.addr = alloca i32, align 4 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %wcbuf = alloca [1 x i32], align 4 + %pwc = alloca i32*, align 8 + %r = alloca i64, align 8 + %buf = alloca [16 x i8], align 16 + store i8* %s, i8** %s.addr, align 8 + store i32 %wc, i32* %wc.addr, align 4 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay, i8** %s.addr, align 8 + store i32 0, i32* %wc.addr, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %arraydecay1 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay1, i32** %pwc, align 8 + %1 = load i32, i32* %wc.addr, align 4 + %arrayidx = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32 %1, i32* %arrayidx, align 4 + %2 = load i8*, i8** %s.addr, align 8 + %3 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @wcsnrtombs(i8* %2, i32** %pwc, i64 1, i64 16, %struct.__mbstate_t.512* %3) #19 + store i64 %call, i64* %r, align 8 + %4 = load i64, i64* %r, align 8 + %cmp = icmp ne i64 %4, 0 + %5 = load i64, i64* %r, align 8 + %cond = select i1 %cmp, i64 %5, i64 1 + ret i64 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i64 @wcsrtombs(i8* noalias %dst, i32** noalias %src, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %dst.addr = alloca i8*, align 8 + %src.addr = alloca i32**, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + store i8* %dst, i8** %dst.addr, align 8 + store i32** %src, i32*** %src.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load i8*, i8** %dst.addr, align 8 + %1 = load i32**, i32*** %src.addr, align 8 + %2 = load i64, i64* %len.addr, align 8 + %3 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @wcsnrtombs(i8* %0, i32** %1, i64 -1, i64 %2, %struct.__mbstate_t.512* %3) #19 + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @iswctype_l(i32 %wc, i32 %desc, %struct.__uclibc_locale_struct.201* %locale) #0 { +entry: + %retval = alloca i32, align 4 + %wc.addr = alloca i32, align 4 + %desc.addr = alloca i32, align 4 + %locale.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %sc = alloca i32, align 4 + %n = alloca i32, align 4 + %i0 = alloca i32, align 4 + %i1 = alloca i32, align 4 + %d = alloca i8, align 1 + store i32 %wc, i32* %wc.addr, align 4 + store i32 %desc, i32* %desc.addr, align 4 + store %struct.__uclibc_locale_struct.201* %locale, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + store i8 0, i8* %d, align 1 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 9 + %1 = load i8, i8* %encoding, align 8 + %conv = zext i8 %1 to i32 + %cmp = icmp ne i32 %conv, 0 + %2 = load i32, i32* %wc.addr, align 4 + %cmp2 = icmp ule i32 %2, 127 + %or.cond = or i1 %cmp, %cmp2 + br i1 %or.cond, label %if.then, label %if.end78 + +if.then: ; preds = %entry + %3 = load i32, i32* %desc.addr, align 4 + %cmp4 = icmp ult i32 %3, 12 + br i1 %cmp4, label %if.then6, label %if.end58 + +if.then6: ; preds = %if.then + %4 = load i32, i32* %wc.addr, align 4 + %cmp7 = icmp ule i32 %4, 196607 + %5 = load i32, i32* %wc.addr, align 4 + br i1 %cmp7, label %if.then9, label %if.else + +if.then9: ; preds = %if.then6 + %and = and i32 %5, 7 + store i32 %and, i32* %sc, align 4 + %6 = load i32, i32* %wc.addr, align 4 + %shr = lshr i32 %6, 3 + store i32 %shr, i32* %wc.addr, align 4 + %7 = load i32, i32* %wc.addr, align 4 + %and10 = and i32 %7, 31 + store i32 %and10, i32* %n, align 4 + %8 = load i32, i32* %wc.addr, align 4 + %shr11 = lshr i32 %8, 5 + store i32 %shr11, i32* %wc.addr, align 4 + %9 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %tblwctype = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %9, i32 0, i32 21 + %10 = load i8*, i8** %tblwctype, align 8 + %11 = load i32, i32* %wc.addr, align 4 + %idxprom = zext i32 %11 to i64 + %arrayidx = getelementptr inbounds i8, i8* %10, i64 %idxprom + %12 = load i8, i8* %arrayidx, align 1 + %conv12 = zext i8 %12 to i32 + store i32 %conv12, i32* %i0, align 4 + %13 = load i32, i32* %i0, align 4 + %shl = shl i32 %13, 5 + store i32 %shl, i32* %i0, align 4 + %14 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %tblwctype13 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %14, i32 0, i32 21 + %15 = load i8*, i8** %tblwctype13, align 8 + %16 = load i32, i32* %i0, align 4 + %add = add i32 768, %16 + %17 = load i32, i32* %n, align 4 + %add14 = add i32 %add, %17 + %idxprom15 = zext i32 %add14 to i64 + %arrayidx16 = getelementptr inbounds i8, i8* %15, i64 %idxprom15 + %18 = load i8, i8* %arrayidx16, align 1 + %conv17 = zext i8 %18 to i32 + store i32 %conv17, i32* %i1, align 4 + %19 = load i32, i32* %i1, align 4 + %shl18 = shl i32 %19, 2 + store i32 %shl18, i32* %i1, align 4 + %20 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %tblwctype19 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %20, i32 0, i32 21 + %21 = load i8*, i8** %tblwctype19, align 8 + %22 = load i32, i32* %i1, align 4 + %add20 = add i32 2656, %22 + %23 = load i32, i32* %sc, align 4 + %shr21 = lshr i32 %23, 1 + %add22 = add i32 %add20, %shr21 + %idxprom23 = zext i32 %add22 to i64 + %arrayidx24 = getelementptr inbounds i8, i8* %21, i64 %idxprom23 + %24 = load i8, i8* %arrayidx24, align 1 + store i8 %24, i8* %d, align 1 + %25 = load i32, i32* %sc, align 4 + %and25 = and i32 %25, 1 + %tobool = icmp ne i32 %and25, 0 + %26 = load i8, i8* %d, align 1 + %conv26 = zext i8 %26 to i32 + %shr27 = ashr i32 %conv26, 4 + %and29 = and i32 %conv26, 15 + %cond = select i1 %tobool, i32 %shr27, i32 %and29 + %conv30 = trunc i32 %cond to i8 + store i8 %conv30, i8* %d, align 1 + br label %if.end50 + +if.else: ; preds = %if.then6 + %conv31 = zext i32 %5 to i64 + %sub = sub i64 %conv31, 917536 + %conv32 = trunc i64 %sub to i32 + %cmp33 = icmp ule i32 %conv32, 95 + br i1 %cmp33, label %if.then49, label %lor.lhs.false35 + +lor.lhs.false35: ; preds = %if.else + %27 = load i32, i32* %wc.addr, align 4 + %conv36 = zext i32 %27 to i64 + %cmp37 = icmp eq i64 %conv36, 917505 + br i1 %cmp37, label %if.then49, label %lor.lhs.false39 + +lor.lhs.false39: ; preds = %lor.lhs.false35 + %28 = load i32, i32* %wc.addr, align 4 + %conv40 = zext i32 %28 to i64 + %sub41 = sub i64 %conv40, 983040 + %conv42 = trunc i64 %sub41 to i32 + %conv43 = zext i32 %conv42 to i64 + %cmp44 = icmp ult i64 %conv43, 131072 + br i1 %cmp44, label %land.lhs.true, label %if.end50 + +land.lhs.true: ; preds = %lor.lhs.false39 + %29 = load i32, i32* %wc.addr, align 4 + %and46 = and i32 %29, 65535 + %cmp47 = icmp ule i32 %and46, 65533 + br i1 %cmp47, label %if.then49, label %if.end50 + +if.then49: ; preds = %land.lhs.true, %lor.lhs.false35, %if.else + store i8 6, i8* %d, align 1 + br label %if.end50 + +if.end50: ; preds = %lor.lhs.false39, %land.lhs.true, %if.then49, %if.then9 + %30 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %code2flag = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %30, i32 0, i32 20 + %31 = load i16*, i16** %code2flag, align 8 + %32 = load i8, i8* %d, align 1 + %idxprom51 = zext i8 %32 to i64 + %arrayidx52 = getelementptr inbounds i16, i16* %31, i64 %idxprom51 + %33 = load i16, i16* %arrayidx52, align 2 + %conv53 = zext i16 %33 to i32 + %34 = load i32, i32* %desc.addr, align 4 + %idxprom54 = zext i32 %34 to i64 + %arrayidx55 = getelementptr inbounds [13 x i16], [13 x i16]* @desc2flag, i64 0, i64 %idxprom54 + %35 = load i16, i16* %arrayidx55, align 2 + %conv56 = zext i16 %35 to i32 + %and57 = and i32 %conv53, %conv56 + store i32 %and57, i32* %retval, align 4 + br label %return + +if.end58: ; preds = %if.then + %36 = load i32, i32* %desc.addr, align 4 + %cmp59 = icmp eq i32 %36, 12 + br i1 %cmp59, label %cond.false68, label %cond.end76 + +cond.false68: ; preds = %if.end58 + %37 = load i32, i32* %wc.addr, align 4 + %sub69 = sub i32 %37, 48 + %cmp70 = icmp ult i32 %sub69, 10 + %38 = load i32, i32* %wc.addr, align 4 + %or = or i32 %38, 32 + %sub72 = sub i32 %or, 97 + %cmp73 = icmp ult i32 %sub72, 6 + %39 = select i1 %cmp70, i1 true, i1 %cmp73 + %lor.ext = zext i1 %39 to i32 + br label %cond.end76 + +cond.end76: ; preds = %if.end58, %cond.false68 + %cond77 = phi i32 [ %lor.ext, %cond.false68 ], [ 0, %if.end58 ] + store i32 %cond77, i32* %retval, align 4 + br label %return + +if.end78: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end78, %cond.end76, %if.end50 + %40 = load i32, i32* %retval, align 4 + ret i32 %40 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_adjust_position(%struct.__STDIO_FILE_STRUCT.636* noalias %stream, i64* %pos) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %pos.addr = alloca i64*, align 8 + %oldpos = alloca i64, align 8 + %corr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64* %pos, i64** %pos.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 3 + store i32 %and, i32* %corr, align 4 + %cmp = icmp ne i32 %and, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load i32, i32* %corr, align 4 + %dec = add nsw i32 %2, -1 + store i32 %dec, i32* %corr, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %3 = load i32, i32* %corr, align 4 + %tobool = icmp ne i32 %3, 0 + br i1 %tobool, label %land.lhs.true, label %if.end22 + +land.lhs.true: ; preds = %if.end + %4 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %4, i32 0, i32 0 + %5 = load i16, i16* %__modeflags2, align 8 + %conv3 = zext i16 %5 to i32 + %and4 = and i32 %conv3, 2048 + %tobool5 = icmp ne i32 %and4, 0 + br i1 %tobool5, label %if.then6, label %if.end22 + +if.then6: ; preds = %land.lhs.true + %6 = load i32, i32* %corr, align 4 + %cmp7 = icmp sgt i32 %6, 1 + br i1 %cmp7, label %if.then10, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then6 + %7 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %7, i32 0, i32 10 + %arrayidx = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot, i64 0, i64 1 + %8 = load i32, i32* %arrayidx, align 4 + %tobool9 = icmp ne i32 %8, 0 + br i1 %tobool9, label %if.then10, label %if.end11 + +if.then10: ; preds = %lor.lhs.false, %if.then6 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end11: ; preds = %lor.lhs.false + %9 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %9, i32 0, i32 1 + %arrayidx12 = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 1 + %10 = load i8, i8* %arrayidx12, align 1 + %conv13 = zext i8 %10 to i32 + %add = add nsw i32 1, %conv13 + %11 = load i32, i32* %corr, align 4 + %sub = sub nsw i32 %11, %add + store i32 %sub, i32* %corr, align 4 + %12 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %12, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + %13 = load i32, i32* %__mask, align 8 + %cmp14 = icmp sgt i32 %13, 0 + br i1 %cmp14, label %if.then16, label %if.end22 + +if.then16: ; preds = %if.end11 + %14 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot_width17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %14, i32 0, i32 1 + %arrayidx18 = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width17, i64 0, i64 0 + %15 = load i8, i8* %arrayidx18, align 2 + %conv19 = zext i8 %15 to i32 + %16 = load i32, i32* %corr, align 4 + %sub20 = sub nsw i32 %16, %conv19 + store i32 %sub20, i32* %corr, align 4 + br label %if.end22 + +if.end22: ; preds = %if.end11, %if.then16, %land.lhs.true, %if.end + %17 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags23 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %17, i32 0, i32 0 + %18 = load i16, i16* %__modeflags23, align 8 + %conv24 = zext i16 %18 to i32 + %and25 = and i32 %conv24, 64 + %tobool26 = icmp ne i32 %and25, 0 + %19 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + br i1 %tobool26, label %cond.true, label %cond.false + +cond.true: ; preds = %if.end22 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %19, i32 0, i32 3 + %20 = load i8*, i8** %__bufstart, align 8 + br label %cond.end + +cond.false: ; preds = %if.end22 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %19, i32 0, i32 6 + %21 = load i8*, i8** %__bufread, align 8 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i8* [ %20, %cond.true ], [ %21, %cond.false ] + %22 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %22, i32 0, i32 5 + %23 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %cond to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %23 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %24 = load i32, i32* %corr, align 4 + %conv27 = sext i32 %24 to i64 + %add28 = add nsw i64 %conv27, %sub.ptr.sub + %conv29 = trunc i64 %add28 to i32 + store i32 %conv29, i32* %corr, align 4 + %25 = load i64*, i64** %pos.addr, align 8 + %26 = load i64, i64* %25, align 8 + store i64 %26, i64* %oldpos, align 8 + %27 = load i32, i32* %corr, align 4 + %conv30 = sext i32 %27 to i64 + %28 = load i64*, i64** %pos.addr, align 8 + %29 = load i64, i64* %28, align 8 + %sub31 = sub nsw i64 %29, %conv30 + store i64 %sub31, i64* %28, align 8 + %30 = load i64, i64* %oldpos, align 8 + %cmp32 = icmp sgt i64 %sub31, %30 + br i1 %cmp32, label %if.then34, label %if.end36 + +if.then34: ; preds = %cond.end + %31 = load i32, i32* %corr, align 4 + %sub35 = sub nsw i32 0, %31 + store i32 %sub35, i32* %corr, align 4 + br label %if.end36 + +if.end36: ; preds = %if.then34, %cond.end + %32 = load i32, i32* %corr, align 4 + %cmp37 = icmp slt i32 %32, 0 + br i1 %cmp37, label %if.then39, label %if.end40 + +if.then39: ; preds = %if.end36 + store i32 75, i32* @errno, align 4 + br label %if.end40 + +if.end40: ; preds = %if.then39, %if.end36 + %33 = load i32, i32* %corr, align 4 + store i32 %33, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end40, %if.then10 + %34 = load i32, i32* %retval, align 4 + ret i32 %34 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_seek(%struct.__STDIO_FILE_STRUCT.636* %stream, i64* %pos, i32 %whence) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %pos.addr = alloca i64*, align 8 + %whence.addr = alloca i32, align 4 + %res = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64* %pos, i64** %pos.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %0, i32 0, i32 2 + %1 = load i32, i32* %__filedes, align 4 + %2 = load i64*, i64** %pos.addr, align 8 + %3 = load i64, i64* %2, align 8 + %4 = load i32, i32* %whence.addr, align 4 + %call = call i64 @lseek64(i32 %1, i64 %3, i32 %4) #19 + store i64 %call, i64* %res, align 8 + %5 = load i64, i64* %res, align 8 + %cmp = icmp sge i64 %5, 0 + %6 = load i64, i64* %res, align 8 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %entry + %7 = load i64*, i64** %pos.addr, align 8 + store i64 %6, i64* %7, align 8 + br label %cond.end + +cond.false: ; preds = %entry + %conv = trunc i64 %6 to i32 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ 0, %cond.true ], [ %conv, %cond.false ] + ret i32 %cond +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_fpmaxtostr(%struct.__STDIO_FILE_STRUCT.568* %fp, double %x, %struct.printf_info.720* %info, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)* %fp_outfunc) #0 { +entry: + %retval = alloca i64, align 8 + %fp.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %x.addr = alloca double, align 8 + %info.addr = alloca %struct.printf_info.720*, align 8 + %fp_outfunc.addr = alloca i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)*, align 8 + %round = alloca i32, align 4 + %o_exp = alloca i32, align 4 + %exp = alloca i32, align 4 + %width = alloca i32, align 4 + %preci = alloca i32, align 4 + %cnt = alloca i32, align 4 + %s = alloca i8*, align 8 + %e = alloca i8*, align 8 + %pc_fwi = alloca [24 x i64], align 16 + %ppc = alloca i64*, align 8 + %ppc_last = alloca i64*, align 8 + %exp_buf = alloca [16 x i8], align 16 + %buf = alloca [21 x i8], align 16 + %sign_str = alloca [6 x i8], align 1 + %o_mode = alloca i8, align 1 + %mode = alloca i8, align 1 + %i = alloca i32, align 4 + %j = alloca i32, align 4 + %exp_neg = alloca i32, align 4 + %i92 = alloca i32, align 4 + %j93 = alloca i32, align 4 + %digit_block = alloca i64, align 8 + %i151 = alloca i32, align 4 + %i218 = alloca i32, align 4 + %p = alloca i8*, align 8 + %j329 = alloca i32, align 4 + %exp_char = alloca i8, align 1 + %exp_sign = alloca i8, align 1 + %i359 = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %fp, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + store double %x, double* %x.addr, align 8 + store %struct.printf_info.720* %info, %struct.printf_info.720** %info.addr, align 8 + store i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)* %fp_outfunc, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)** %fp_outfunc.addr, align 8 + %0 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %width1 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %0, i32 0, i32 1 + %1 = load i32, i32* %width1, align 4 + store i32 %1, i32* %width, align 4 + %2 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %2, i32 0, i32 0 + %3 = load i32, i32* %prec, align 4 + store i32 %3, i32* %preci, align 4 + %4 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %spec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %4, i32 0, i32 2 + %5 = load i32, i32* %spec, align 4 + %conv = trunc i32 %5 to i8 + store i8 %conv, i8* %mode, align 1 + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + store i8 101, i8* %arraydecay, align 16 + %6 = load i8, i8* %mode, align 1 + %conv2 = sext i8 %6 to i32 + %or = or i32 %conv2, 32 + %cmp = icmp eq i32 %or, 97 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %7 = load i8, i8* %mode, align 1 + %conv4 = sext i8 %7 to i32 + %add = add nsw i32 %conv4, 6 + %conv5 = trunc i32 %add to i8 + store i8 %conv5, i8* %mode, align 1 + br label %if.end + +if.end: ; preds = %if.then, %entry + %8 = load i32, i32* %preci, align 4 + %cmp6 = icmp slt i32 %8, 0 + br i1 %cmp6, label %if.then8, label %if.end9 + +if.then8: ; preds = %if.end + store i32 6, i32* %preci, align 4 + br label %if.end9 + +if.end9: ; preds = %if.then8, %if.end + %arraydecay10 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 0, i8* %arraydecay10, align 1 + %9 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %showsign = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %9, i32 0, i32 3 + %bf.load = load i32, i32* %showsign, align 4 + %bf.lshr = lshr i32 %bf.load, 1 + %bf.clear = and i32 %bf.lshr, 1 + %tobool = icmp ne i32 %bf.clear, 0 + br i1 %tobool, label %if.then11, label %if.else + +if.then11: ; preds = %if.end9 + %arraydecay12 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 43, i8* %arraydecay12, align 1 + br label %if.end19 + +if.else: ; preds = %if.end9 + %10 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %space = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %10, i32 0, i32 3 + %bf.load13 = load i32, i32* %space, align 4 + %bf.clear14 = and i32 %bf.load13, 1 + %tobool15 = icmp ne i32 %bf.clear14, 0 + br i1 %tobool15, label %if.then16, label %if.end19 + +if.then16: ; preds = %if.else + %arraydecay17 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 32, i8* %arraydecay17, align 1 + br label %if.end19 + +if.end19: ; preds = %if.else, %if.then16, %if.then11 + %arraydecay20 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay20, i64 1 + store i8 0, i8* %add.ptr, align 1 + %arrayidx = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 0, i64* %arrayidx, align 8 + %11 = load double, double* %x.addr, align 8 + %12 = load double, double* %x.addr, align 8 + %cmp21 = fcmp une double %11, %12 + br i1 %cmp21, label %if.then23, label %if.end25 + +if.then23: ; preds = %if.end19 + %arrayidx24 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 8, i64* %arrayidx24, align 8 + br label %INF_NAN + +if.end25: ; preds = %if.end19 + %13 = load double, double* %x.addr, align 8 + %cmp26 = fcmp oeq double %13, 0.000000e+00 + %14 = load double, double* %x.addr, align 8 + br i1 %cmp26, label %if.then28, label %if.end34 + +if.then28: ; preds = %if.end25 + %div = fdiv double 1.000000e+00, %14 + %cmp29 = fcmp olt double %div, 0.000000e+00 + br i1 %cmp29, label %if.then31, label %if.end33 + +if.then31: ; preds = %if.then28 + %arraydecay32 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 45, i8* %arraydecay32, align 1 + br label %if.end33 + +if.end33: ; preds = %if.then31, %if.then28 + store i32 -1, i32* %exp, align 4 + br label %GENERATE_DIGITS + +if.end34: ; preds = %if.end25 + %cmp35 = fcmp olt double %14, 0.000000e+00 + br i1 %cmp35, label %if.then37, label %if.end39 + +if.then37: ; preds = %if.end34 + %arraydecay38 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 45, i8* %arraydecay38, align 1 + %15 = load double, double* %x.addr, align 8 + %fneg = fneg double %15 + store double %fneg, double* %x.addr, align 8 + br label %if.end39 + +if.end39: ; preds = %if.then37, %if.end34 + %16 = load double, double* %x.addr, align 8 + %17 = load double, double* %x.addr, align 8 + %div40 = fdiv double %17, 4.000000e+00 + %cmp41 = fcmp oeq double %16, %div40 + br i1 %cmp41, label %INF_NAN, label %if.end58 + +INF_NAN: ; preds = %if.end39, %if.then23 + %18 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %18, i32 0, i32 4 + store i32 32, i32* %pad, align 4 + %arraydecay44 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + %add.ptr45 = getelementptr inbounds i64, i64* %arraydecay44, i64 6 + store i64* %add.ptr45, i64** %ppc, align 8 + %arrayidx46 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 3 + store i64 112, i64* %arrayidx46, align 8 + %arrayidx47 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 4 + store i64 3, i64* %arrayidx47, align 16 + %19 = load i8, i8* %mode, align 1 + %conv48 = sext i8 %19 to i32 + %cmp49 = icmp slt i32 %conv48, 97 + br i1 %cmp49, label %if.then51, label %if.end54 + +if.then51: ; preds = %INF_NAN + %arrayidx52 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + %20 = load i64, i64* %arrayidx52, align 8 + %add53 = add nsw i64 %20, 4 + store i64 %add53, i64* %arrayidx52, align 8 + br label %if.end54 + +if.end54: ; preds = %if.then51, %INF_NAN + %arrayidx55 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + %21 = load i64, i64* %arrayidx55, align 8 + %add.ptr56 = getelementptr inbounds i8, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 0), i64 %21 + %22 = ptrtoint i8* %add.ptr56 to i64 + %arrayidx57 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 %22, i64* %arrayidx57, align 8 + br label %EXIT_SPECIAL + +if.end58: ; preds = %if.end39 + store i32 8, i32* %exp, align 4 + store i32 9, i32* %i, align 4 + store i32 256, i32* %j, align 4 + store i32 0, i32* %exp_neg, align 4 + %23 = load double, double* %x.addr, align 8 + %cmp59 = fcmp olt double %23, 1.000000e+08 + br i1 %cmp59, label %if.then61, label %if.end62 + +if.then61: ; preds = %if.end58 + store i32 1, i32* %exp_neg, align 4 + br label %if.end62 + +if.end62: ; preds = %if.then61, %if.end58 + br label %do.body + +do.body: ; preds = %if.end85, %if.end62 + %24 = load i32, i32* %i, align 4 + %dec = add nsw i32 %24, -1 + store i32 %dec, i32* %i, align 4 + %25 = load i32, i32* %exp_neg, align 4 + %tobool63 = icmp ne i32 %25, 0 + %26 = load double, double* %x.addr, align 8 + %27 = load i32, i32* %i, align 4 + %idxprom = sext i32 %27 to i64 + %arrayidx65 = getelementptr inbounds [9 x double], [9 x double]* @exp10_table, i64 0, i64 %idxprom + %28 = load double, double* %arrayidx65, align 8 + br i1 %tobool63, label %if.then64, label %if.else73 + +if.then64: ; preds = %do.body + %mul = fmul double %26, %28 + %cmp66 = fcmp olt double %mul, 1.000000e+09 + br i1 %cmp66, label %if.then68, label %if.end85 + +if.then68: ; preds = %if.then64 + %29 = load i32, i32* %i, align 4 + %idxprom69 = sext i32 %29 to i64 + %arrayidx70 = getelementptr inbounds [9 x double], [9 x double]* @exp10_table, i64 0, i64 %idxprom69 + %30 = load double, double* %arrayidx70, align 8 + %31 = load double, double* %x.addr, align 8 + %mul71 = fmul double %31, %30 + store double %mul71, double* %x.addr, align 8 + %32 = load i32, i32* %j, align 4 + %33 = load i32, i32* %exp, align 4 + %sub = sub nsw i32 %33, %32 + store i32 %sub, i32* %exp, align 4 + br label %if.end85 + +if.else73: ; preds = %do.body + %div76 = fdiv double %26, %28 + %cmp77 = fcmp oge double %div76, 1.000000e+08 + br i1 %cmp77, label %if.then79, label %if.end85 + +if.then79: ; preds = %if.else73 + %34 = load i32, i32* %i, align 4 + %idxprom80 = sext i32 %34 to i64 + %arrayidx81 = getelementptr inbounds [9 x double], [9 x double]* @exp10_table, i64 0, i64 %idxprom80 + %35 = load double, double* %arrayidx81, align 8 + %36 = load double, double* %x.addr, align 8 + %div82 = fdiv double %36, %35 + store double %div82, double* %x.addr, align 8 + %37 = load i32, i32* %j, align 4 + %38 = load i32, i32* %exp, align 4 + %add83 = add nsw i32 %38, %37 + store i32 %add83, i32* %exp, align 4 + br label %if.end85 + +if.end85: ; preds = %if.else73, %if.then79, %if.then64, %if.then68 + %39 = load i32, i32* %j, align 4 + %shr = ashr i32 %39, 1 + store i32 %shr, i32* %j, align 4 + %40 = load i32, i32* %i, align 4 + %tobool86 = icmp ne i32 %40, 0 + br i1 %tobool86, label %do.body, label %do.end + +do.end: ; preds = %if.end85 + %41 = load double, double* %x.addr, align 8 + %cmp87 = fcmp oge double %41, 1.000000e+09 + br i1 %cmp87, label %if.then89, label %GENERATE_DIGITS + +if.then89: ; preds = %do.end + %42 = load double, double* getelementptr inbounds ([9 x double], [9 x double]* @exp10_table, i64 0, i64 0), align 16 + %43 = load double, double* %x.addr, align 8 + %div90 = fdiv double %43, %42 + store double %div90, double* %x.addr, align 8 + %44 = load i32, i32* %exp, align 4 + %inc = add nsw i32 %44, 1 + store i32 %inc, i32* %exp, align 4 + br label %GENERATE_DIGITS + +GENERATE_DIGITS: ; preds = %do.end, %if.then89, %if.end33 + %arraydecay94 = getelementptr inbounds [21 x i8], [21 x i8]* %buf, i64 0, i64 0 + %add.ptr95 = getelementptr inbounds i8, i8* %arraydecay94, i64 2 + store i8* %add.ptr95, i8** %s, align 8 + store i32 0, i32* %i92, align 4 + br label %do.body96 + +do.body96: ; preds = %do.cond114, %GENERATE_DIGITS + %45 = load double, double* %x.addr, align 8 + %conv97 = fptoui double %45 to i64 + store i64 %conv97, i64* %digit_block, align 8 + %46 = load double, double* %x.addr, align 8 + %47 = load i64, i64* %digit_block, align 8 + %conv98 = uitofp i64 %47 to double + %sub99 = fsub double %46, %conv98 + %mul100 = fmul double %sub99, 1.000000e+09 + store double %mul100, double* %x.addr, align 8 + %48 = load i8*, i8** %s, align 8 + %add.ptr101 = getelementptr inbounds i8, i8* %48, i64 9 + store i8* %add.ptr101, i8** %s, align 8 + store i32 0, i32* %j93, align 4 + br label %do.body102 + +do.body102: ; preds = %do.body102, %do.body96 + %49 = load i64, i64* %digit_block, align 8 + %rem = urem i64 %49, 10 + %add103 = add i64 48, %rem + %conv104 = trunc i64 %add103 to i8 + %50 = load i8*, i8** %s, align 8 + %51 = load i32, i32* %j93, align 4 + %inc105 = add nsw i32 %51, 1 + store i32 %inc105, i32* %j93, align 4 + %sub106 = sub nsw i32 0, %inc105 + %idxprom107 = sext i32 %sub106 to i64 + %arrayidx108 = getelementptr inbounds i8, i8* %50, i64 %idxprom107 + store i8 %conv104, i8* %arrayidx108, align 1 + %52 = load i64, i64* %digit_block, align 8 + %div109 = udiv i64 %52, 10 + store i64 %div109, i64* %digit_block, align 8 + %53 = load i32, i32* %j93, align 4 + %cmp111 = icmp slt i32 %53, 9 + br i1 %cmp111, label %do.body102, label %do.cond114 + +do.cond114: ; preds = %do.body102 + %54 = load i32, i32* %i92, align 4 + %inc115 = add nsw i32 %54, 1 + store i32 %inc115, i32* %i92, align 4 + %cmp116 = icmp slt i32 %inc115, 2 + br i1 %cmp116, label %do.body96, label %do.end118 + +do.end118: ; preds = %do.cond114 + %55 = load i8, i8* %mode, align 1 + %conv119 = sext i8 %55 to i32 + %cmp120 = icmp slt i32 %conv119, 97 + br i1 %cmp120, label %if.then122, label %if.end130 + +if.then122: ; preds = %do.end118 + %arraydecay123 = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + %56 = load i8, i8* %arraydecay123, align 16 + %conv124 = sext i8 %56 to i32 + %sub125 = sub nsw i32 %conv124, 32 + %conv126 = trunc i32 %sub125 to i8 + store i8 %conv126, i8* %arraydecay123, align 16 + %57 = load i8, i8* %mode, align 1 + %conv127 = sext i8 %57 to i32 + %add128 = add nsw i32 %conv127, 32 + %conv129 = trunc i32 %add128 to i8 + store i8 %conv129, i8* %mode, align 1 + br label %if.end130 + +if.end130: ; preds = %if.then122, %do.end118 + %58 = load i8, i8* %mode, align 1 + store i8 %58, i8* %o_mode, align 1 + %59 = load i8, i8* %mode, align 1 + %conv131 = sext i8 %59 to i32 + %cmp132 = icmp eq i32 %conv131, 103 + %60 = load i32, i32* %preci, align 4 + %cmp134 = icmp sgt i32 %60, 0 + %or.cond = and i1 %cmp132, %cmp134 + br i1 %or.cond, label %if.then136, label %if.end138 + +if.then136: ; preds = %if.end130 + %61 = load i32, i32* %preci, align 4 + %dec137 = add nsw i32 %61, -1 + store i32 %dec137, i32* %preci, align 4 + br label %if.end138 + +if.end138: ; preds = %if.then136, %if.end130 + %62 = load i32, i32* %preci, align 4 + store i32 %62, i32* %round, align 4 + %63 = load i8, i8* %mode, align 1 + %conv139 = sext i8 %63 to i32 + %cmp140 = icmp eq i32 %conv139, 102 + br i1 %cmp140, label %if.then142, label %if.end149 + +if.then142: ; preds = %if.end138 + %64 = load i32, i32* %exp, align 4 + %65 = load i32, i32* %round, align 4 + %add143 = add nsw i32 %65, %64 + store i32 %add143, i32* %round, align 4 + %66 = load i32, i32* %round, align 4 + %cmp144 = icmp slt i32 %66, -1 + br i1 %cmp144, label %if.then146, label %if.end149 + +if.then146: ; preds = %if.then142 + %arraydecay147 = getelementptr inbounds [21 x i8], [21 x i8]* %buf, i64 0, i64 0 + %call = call i8* @memset(i8* %arraydecay147, i32 48, i64 17) #19 + store i32 -1, i32* %exp, align 4 + store i32 -1, i32* %round, align 4 + br label %if.end149 + +if.end149: ; preds = %if.then142, %if.then146, %if.end138 + %arraydecay150 = getelementptr inbounds [21 x i8], [21 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay150, i8** %s, align 8 + %67 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %67, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + store i8 0, i8* %67, align 1 + %68 = load i8*, i8** %s, align 8 + store i8 48, i8* %68, align 1 + store i32 0, i32* %i151, align 4 + %69 = load i8*, i8** %s, align 8 + %add.ptr152 = getelementptr inbounds i8, i8* %69, i64 17 + %add.ptr153 = getelementptr inbounds i8, i8* %add.ptr152, i64 1 + store i8* %add.ptr153, i8** %e, align 8 + %70 = load i32, i32* %round, align 4 + %cmp154 = icmp slt i32 %70, 17 + br i1 %cmp154, label %if.then156, label %if.end164 + +if.then156: ; preds = %if.end149 + %71 = load i8*, i8** %s, align 8 + %72 = load i32, i32* %round, align 4 + %idx.ext = sext i32 %72 to i64 + %add.ptr157 = getelementptr inbounds i8, i8* %71, i64 %idx.ext + %add.ptr158 = getelementptr inbounds i8, i8* %add.ptr157, i64 2 + store i8* %add.ptr158, i8** %e, align 8 + %73 = load i8*, i8** %e, align 8 + %74 = load i8, i8* %73, align 1 + %conv159 = sext i8 %74 to i32 + %cmp160 = icmp sge i32 %conv159, 53 + br i1 %cmp160, label %if.then162, label %if.end164 + +if.then162: ; preds = %if.then156 + store i32 1, i32* %i151, align 4 + br label %if.end164 + +if.end164: ; preds = %if.then156, %if.then162, %if.end149 + br label %do.body165 + +do.body165: ; preds = %do.body165, %lor.rhs, %if.end164 + %75 = load i32, i32* %i151, align 4 + %76 = load i8*, i8** %e, align 8 + %incdec.ptr166 = getelementptr inbounds i8, i8* %76, i32 -1 + store i8* %incdec.ptr166, i8** %e, align 8 + %77 = load i8, i8* %incdec.ptr166, align 1 + %conv167 = sext i8 %77 to i32 + %add168 = add nsw i32 %conv167, %75 + %conv169 = trunc i32 %add168 to i8 + store i8 %conv169, i8* %incdec.ptr166, align 1 + %78 = load i8*, i8** %e, align 8 + %79 = load i8, i8* %78, align 1 + %conv171 = sext i8 %79 to i32 + %cmp172 = icmp eq i32 %conv171, 48 + br i1 %cmp172, label %do.body165, label %lor.rhs + +lor.rhs: ; preds = %do.body165 + %80 = load i8*, i8** %e, align 8 + %81 = load i8, i8* %80, align 1 + %conv174 = sext i8 %81 to i32 + %cmp175 = icmp sgt i32 %conv174, 57 + br i1 %cmp175, label %do.body165, label %do.end177 + +do.end177: ; preds = %lor.rhs + %82 = load i32, i32* %exp, align 4 + store i32 %82, i32* %o_exp, align 4 + %83 = load i8*, i8** %e, align 8 + %84 = load i8*, i8** %s, align 8 + %cmp178 = icmp ule i8* %83, %84 + br i1 %cmp178, label %if.then180, label %if.else182 + +if.then180: ; preds = %do.end177 + %85 = load i32, i32* %o_exp, align 4 + %inc181 = add nsw i32 %85, 1 + store i32 %inc181, i32* %o_exp, align 4 + %86 = load i8*, i8** %s, align 8 + store i8* %86, i8** %e, align 8 + br label %if.end184 + +if.else182: ; preds = %do.end177 + %87 = load i8*, i8** %s, align 8 + %incdec.ptr183 = getelementptr inbounds i8, i8* %87, i32 1 + store i8* %incdec.ptr183, i8** %s, align 8 + br label %if.end184 + +if.end184: ; preds = %if.else182, %if.then180 + %88 = load i8*, i8** %e, align 8 + %incdec.ptr185 = getelementptr inbounds i8, i8* %88, i32 1 + store i8* %incdec.ptr185, i8** %e, align 8 + store i8 0, i8* %incdec.ptr185, align 1 + %89 = load i8, i8* %mode, align 1 + %conv186 = sext i8 %89 to i32 + %cmp187 = icmp eq i32 %conv186, 103 + %90 = load i32, i32* %o_exp, align 4 + %cmp190 = icmp sge i32 %90, -4 + %or.cond1 = and i1 %cmp187, %cmp190 + br i1 %or.cond1, label %land.lhs.true192, label %if.end197 + +land.lhs.true192: ; preds = %if.end184 + %91 = load i32, i32* %o_exp, align 4 + %92 = load i32, i32* %round, align 4 + %cmp193 = icmp sle i32 %91, %92 + br i1 %cmp193, label %if.then195, label %if.end197 + +if.then195: ; preds = %land.lhs.true192 + store i8 102, i8* %mode, align 1 + %93 = load i32, i32* %round, align 4 + %94 = load i32, i32* %o_exp, align 4 + %sub196 = sub nsw i32 %93, %94 + store i32 %sub196, i32* %preci, align 4 + br label %if.end197 + +if.end197: ; preds = %if.then195, %land.lhs.true192, %if.end184 + %95 = load i32, i32* %o_exp, align 4 + store i32 %95, i32* %exp, align 4 + %96 = load i8, i8* %mode, align 1 + %conv198 = sext i8 %96 to i32 + %cmp199 = icmp ne i32 %conv198, 102 + br i1 %cmp199, label %if.then201, label %if.end202 + +if.then201: ; preds = %if.end197 + store i32 0, i32* %o_exp, align 4 + br label %if.end202 + +if.end202: ; preds = %if.then201, %if.end197 + %97 = load i32, i32* %o_exp, align 4 + %cmp203 = icmp slt i32 %97, 0 + br i1 %cmp203, label %if.then205, label %if.end207 + +if.then205: ; preds = %if.end202 + %98 = load i8*, i8** %s, align 8 + %incdec.ptr206 = getelementptr inbounds i8, i8* %98, i32 -1 + store i8* %incdec.ptr206, i8** %s, align 8 + store i8 48, i8* %incdec.ptr206, align 1 + br label %if.end207 + +if.end207: ; preds = %if.then205, %if.end202 + %arrayidx208 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 3 + store i64 176, i64* %arrayidx208, align 8 + %arrayidx209 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 4 + store i64 1, i64* %arrayidx209, align 16 + %arraydecay210 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %add.ptr211 = getelementptr inbounds i8, i8* %arraydecay210, i64 4 + %99 = ptrtoint i8* %add.ptr211 to i64 + %arrayidx212 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 %99, i64* %arrayidx212, align 8 + %100 = load i8*, i8** %s, align 8 + %incdec.ptr213 = getelementptr inbounds i8, i8* %100, i32 1 + store i8* %incdec.ptr213, i8** %s, align 8 + %101 = load i8, i8* %100, align 1 + %arrayidx214 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 4 + store i8 %101, i8* %arrayidx214, align 1 + %arrayidx215 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 5 + store i8 0, i8* %arrayidx215, align 1 + %arraydecay216 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + %add.ptr217 = getelementptr inbounds i64, i64* %arraydecay216, i64 6 + store i64* %add.ptr217, i64** %ppc, align 8 + %102 = load i8*, i8** %e, align 8 + %103 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %102 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %103 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %conv219 = trunc i64 %sub.ptr.sub to i32 + store i32 %conv219, i32* %i218, align 4 + %104 = load i32, i32* %o_exp, align 4 + %cmp220 = icmp sge i32 %104, 0 + br i1 %cmp220, label %if.then222, label %if.end253 + +if.then222: ; preds = %if.end207 + %105 = load i64*, i64** %ppc, align 8 + %arrayidx223 = getelementptr inbounds i64, i64* %105, i64 0 + store i64 112, i64* %arrayidx223, align 8 + %106 = load i8*, i8** %s, align 8 + %107 = ptrtoint i8* %106 to i64 + %108 = load i64*, i64** %ppc, align 8 + %arrayidx224 = getelementptr inbounds i64, i64* %108, i64 2 + store i64 %107, i64* %arrayidx224, align 8 + %109 = load i32, i32* %o_exp, align 4 + %110 = load i32, i32* %i218, align 4 + %cmp225 = icmp sge i32 %109, %110 + br i1 %cmp225, label %if.then227, label %if.else241 + +if.then227: ; preds = %if.then222 + %111 = load i32, i32* %i218, align 4 + %conv228 = sext i32 %111 to i64 + %112 = load i64*, i64** %ppc, align 8 + %arrayidx229 = getelementptr inbounds i64, i64* %112, i64 1 + store i64 %conv228, i64* %arrayidx229, align 8 + %113 = load i64*, i64** %ppc, align 8 + %add.ptr230 = getelementptr inbounds i64, i64* %113, i64 3 + store i64* %add.ptr230, i64** %ppc, align 8 + %114 = load i32, i32* %i218, align 4 + %115 = load i32, i32* %o_exp, align 4 + %sub231 = sub nsw i32 %115, %114 + store i32 %sub231, i32* %o_exp, align 4 + store i32 0, i32* %i218, align 4 + %116 = load i32, i32* %o_exp, align 4 + %cmp232 = icmp sgt i32 %116, 0 + br i1 %cmp232, label %if.then234, label %if.end252 + +if.then234: ; preds = %if.then227 + %117 = load i64*, i64** %ppc, align 8 + %arrayidx235 = getelementptr inbounds i64, i64* %117, i64 0 + store i64 176, i64* %arrayidx235, align 8 + %118 = load i32, i32* %o_exp, align 4 + %conv236 = sext i32 %118 to i64 + %119 = load i64*, i64** %ppc, align 8 + %arrayidx237 = getelementptr inbounds i64, i64* %119, i64 1 + store i64 %conv236, i64* %arrayidx237, align 8 + %120 = load i64*, i64** %ppc, align 8 + %arrayidx238 = getelementptr inbounds i64, i64* %120, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx238, align 8 + %121 = load i64*, i64** %ppc, align 8 + %add.ptr239 = getelementptr inbounds i64, i64* %121, i64 3 + store i64* %add.ptr239, i64** %ppc, align 8 + br label %if.end252 + +if.else241: ; preds = %if.then222 + %122 = load i32, i32* %o_exp, align 4 + %cmp242 = icmp sgt i32 %122, 0 + br i1 %cmp242, label %if.then244, label %if.end252 + +if.then244: ; preds = %if.else241 + %123 = load i32, i32* %o_exp, align 4 + %conv245 = sext i32 %123 to i64 + %124 = load i64*, i64** %ppc, align 8 + %arrayidx246 = getelementptr inbounds i64, i64* %124, i64 1 + store i64 %conv245, i64* %arrayidx246, align 8 + %125 = load i64*, i64** %ppc, align 8 + %add.ptr247 = getelementptr inbounds i64, i64* %125, i64 3 + store i64* %add.ptr247, i64** %ppc, align 8 + %126 = load i32, i32* %o_exp, align 4 + %127 = load i8*, i8** %s, align 8 + %idx.ext248 = sext i32 %126 to i64 + %add.ptr249 = getelementptr inbounds i8, i8* %127, i64 %idx.ext248 + store i8* %add.ptr249, i8** %s, align 8 + %128 = load i32, i32* %o_exp, align 4 + %129 = load i32, i32* %i218, align 4 + %sub250 = sub nsw i32 %129, %128 + store i32 %sub250, i32* %i218, align 4 + br label %if.end252 + +if.end252: ; preds = %if.else241, %if.then244, %if.then227, %if.then234 + store i32 -1, i32* %o_exp, align 4 + br label %if.end253 + +if.end253: ; preds = %if.end252, %if.end207 + %130 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %alt = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %130, i32 0, i32 3 + %bf.load254 = load i32, i32* %alt, align 4 + %bf.lshr255 = lshr i32 %bf.load254, 4 + %bf.clear256 = and i32 %bf.lshr255, 1 + %tobool257 = icmp ne i32 %bf.clear256, 0 + %131 = load i32, i32* %i218, align 4 + %tobool258 = icmp ne i32 %131, 0 + %or.cond2 = or i1 %tobool257, %tobool258 + br i1 %or.cond2, label %if.then266, label %lor.lhs.false259 + +lor.lhs.false259: ; preds = %if.end253 + %132 = load i8, i8* %o_mode, align 1 + %conv260 = sext i8 %132 to i32 + %cmp261 = icmp ne i32 %conv260, 103 + %133 = load i32, i32* %preci, align 4 + %cmp264 = icmp sgt i32 %133, 0 + %or.cond3 = and i1 %cmp261, %cmp264 + br i1 %or.cond3, label %if.then266, label %if.end281 + +if.then266: ; preds = %lor.lhs.false259, %if.end253 + %134 = load i64*, i64** %ppc, align 8 + %arrayidx267 = getelementptr inbounds i64, i64* %134, i64 0 + store i64 112, i64* %arrayidx267, align 8 + %135 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %wide = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %135, i32 0, i32 3 + %bf.load268 = load i32, i32* %wide, align 4 + %bf.lshr269 = lshr i32 %bf.load268, 7 + %bf.clear270 = and i32 %bf.lshr269, 1 + %tobool271 = icmp ne i32 %bf.clear270, 0 + br i1 %tobool271, label %if.then272, label %if.else275 + +if.then272: ; preds = %if.then266 + %136 = load i64*, i64** %ppc, align 8 + %arrayidx273 = getelementptr inbounds i64, i64* %136, i64 1 + store i64 1, i64* %arrayidx273, align 8 + %137 = load i64*, i64** %ppc, align 8 + %arrayidx274 = getelementptr inbounds i64, i64* %137, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 16) to i64), i64* %arrayidx274, align 8 + br label %if.end279 + +if.else275: ; preds = %if.then266 + %138 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %decimal_point_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %138, i32 0, i32 26 + %139 = load i32, i32* %decimal_point_len, align 8 + %conv276 = sext i32 %139 to i64 + %140 = load i64*, i64** %ppc, align 8 + %arrayidx277 = getelementptr inbounds i64, i64* %140, i64 1 + store i64 %conv276, i64* %arrayidx277, align 8 + %141 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %decimal_point = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %141, i32 0, i32 39 + %142 = load i8*, i8** %decimal_point, align 8 + %143 = ptrtoint i8* %142 to i64 + %144 = load i64*, i64** %ppc, align 8 + %arrayidx278 = getelementptr inbounds i64, i64* %144, i64 2 + store i64 %143, i64* %arrayidx278, align 8 + br label %if.end279 + +if.end279: ; preds = %if.else275, %if.then272 + %145 = load i64*, i64** %ppc, align 8 + %add.ptr280 = getelementptr inbounds i64, i64* %145, i64 3 + store i64* %add.ptr280, i64** %ppc, align 8 + br label %if.end281 + +if.end281: ; preds = %if.end279, %lor.lhs.false259 + %146 = load i32, i32* %o_exp, align 4 + %inc282 = add nsw i32 %146, 1 + store i32 %inc282, i32* %o_exp, align 4 + %cmp283 = icmp slt i32 %inc282, 0 + br i1 %cmp283, label %if.then285, label %if.end292 + +if.then285: ; preds = %if.end281 + %147 = load i64*, i64** %ppc, align 8 + %arrayidx286 = getelementptr inbounds i64, i64* %147, i64 0 + store i64 176, i64* %arrayidx286, align 8 + %148 = load i32, i32* %o_exp, align 4 + %sub287 = sub nsw i32 0, %148 + %conv288 = sext i32 %sub287 to i64 + %149 = load i64*, i64** %ppc, align 8 + %arrayidx289 = getelementptr inbounds i64, i64* %149, i64 1 + store i64 %conv288, i64* %arrayidx289, align 8 + %150 = load i64*, i64** %ppc, align 8 + %arrayidx290 = getelementptr inbounds i64, i64* %150, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx290, align 8 + %151 = load i64*, i64** %ppc, align 8 + %add.ptr291 = getelementptr inbounds i64, i64* %151, i64 3 + store i64* %add.ptr291, i64** %ppc, align 8 + br label %if.end292 + +if.end292: ; preds = %if.then285, %if.end281 + %152 = load i32, i32* %i218, align 4 + %tobool293 = icmp ne i32 %152, 0 + br i1 %tobool293, label %if.then294, label %if.end300 + +if.then294: ; preds = %if.end292 + %153 = load i64*, i64** %ppc, align 8 + %arrayidx295 = getelementptr inbounds i64, i64* %153, i64 0 + store i64 112, i64* %arrayidx295, align 8 + %154 = load i32, i32* %i218, align 4 + %conv296 = sext i32 %154 to i64 + %155 = load i64*, i64** %ppc, align 8 + %arrayidx297 = getelementptr inbounds i64, i64* %155, i64 1 + store i64 %conv296, i64* %arrayidx297, align 8 + %156 = load i8*, i8** %s, align 8 + %157 = ptrtoint i8* %156 to i64 + %158 = load i64*, i64** %ppc, align 8 + %arrayidx298 = getelementptr inbounds i64, i64* %158, i64 2 + store i64 %157, i64* %arrayidx298, align 8 + %159 = load i64*, i64** %ppc, align 8 + %add.ptr299 = getelementptr inbounds i64, i64* %159, i64 3 + store i64* %add.ptr299, i64** %ppc, align 8 + br label %if.end300 + +if.end300: ; preds = %if.then294, %if.end292 + %160 = load i8, i8* %o_mode, align 1 + %conv301 = sext i8 %160 to i32 + %cmp302 = icmp ne i32 %conv301, 103 + br i1 %cmp302, label %if.then310, label %lor.lhs.false304 + +lor.lhs.false304: ; preds = %if.end300 + %161 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %alt305 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %161, i32 0, i32 3 + %bf.load306 = load i32, i32* %alt305, align 4 + %bf.lshr307 = lshr i32 %bf.load306, 4 + %bf.clear308 = and i32 %bf.lshr307, 1 + %tobool309 = icmp ne i32 %bf.clear308, 0 + br i1 %tobool309, label %if.then310, label %if.end322 + +if.then310: ; preds = %lor.lhs.false304, %if.end300 + %162 = load i32, i32* %o_exp, align 4 + %163 = load i32, i32* %i218, align 4 + %sub311 = sub nsw i32 %163, %162 + store i32 %sub311, i32* %i218, align 4 + %164 = load i32, i32* %i218, align 4 + %165 = load i32, i32* %preci, align 4 + %cmp312 = icmp slt i32 %164, %165 + br i1 %cmp312, label %if.then314, label %if.end322 + +if.then314: ; preds = %if.then310 + %166 = load i32, i32* %preci, align 4 + %167 = load i32, i32* %i218, align 4 + %sub315 = sub nsw i32 %166, %167 + store i32 %sub315, i32* %i218, align 4 + %168 = load i64*, i64** %ppc, align 8 + %arrayidx316 = getelementptr inbounds i64, i64* %168, i64 0 + store i64 176, i64* %arrayidx316, align 8 + %169 = load i32, i32* %i218, align 4 + %conv317 = sext i32 %169 to i64 + %170 = load i64*, i64** %ppc, align 8 + %arrayidx318 = getelementptr inbounds i64, i64* %170, i64 1 + store i64 %conv317, i64* %arrayidx318, align 8 + %171 = load i64*, i64** %ppc, align 8 + %arrayidx319 = getelementptr inbounds i64, i64* %171, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx319, align 8 + %172 = load i64*, i64** %ppc, align 8 + %add.ptr320 = getelementptr inbounds i64, i64* %172, i64 3 + store i64* %add.ptr320, i64** %ppc, align 8 + br label %if.end322 + +if.end322: ; preds = %if.then310, %if.then314, %lor.lhs.false304 + %173 = load i8, i8* %mode, align 1 + %conv323 = sext i8 %173 to i32 + %cmp324 = icmp ne i32 %conv323, 102 + br i1 %cmp324, label %if.then326, label %EXIT_SPECIAL + +if.then326: ; preds = %if.end322 + %arraydecay327 = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + %add.ptr328 = getelementptr inbounds i8, i8* %arraydecay327, i64 16 + store i8* %add.ptr328, i8** %p, align 8 + %arraydecay330 = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + %174 = load i8, i8* %arraydecay330, align 16 + store i8 %174, i8* %exp_char, align 1 + store i8 43, i8* %exp_sign, align 1 + %175 = load i32, i32* %exp, align 4 + %cmp331 = icmp slt i32 %175, 0 + br i1 %cmp331, label %if.then333, label %if.end335 + +if.then333: ; preds = %if.then326 + store i8 45, i8* %exp_sign, align 1 + %176 = load i32, i32* %exp, align 4 + %sub334 = sub nsw i32 0, %176 + store i32 %sub334, i32* %exp, align 4 + br label %if.end335 + +if.end335: ; preds = %if.then333, %if.then326 + %177 = load i8*, i8** %p, align 8 + %incdec.ptr336 = getelementptr inbounds i8, i8* %177, i32 -1 + store i8* %incdec.ptr336, i8** %p, align 8 + store i8 0, i8* %incdec.ptr336, align 1 + store i32 2, i32* %j329, align 4 + br label %do.body337 + +do.body337: ; preds = %do.body337, %if.end335 + %178 = load i32, i32* %exp, align 4 + %rem338 = srem i32 %178, 10 + %add339 = add nsw i32 48, %rem338 + %conv340 = trunc i32 %add339 to i8 + %179 = load i8*, i8** %p, align 8 + %incdec.ptr341 = getelementptr inbounds i8, i8* %179, i32 -1 + store i8* %incdec.ptr341, i8** %p, align 8 + store i8 %conv340, i8* %incdec.ptr341, align 1 + %180 = load i32, i32* %exp, align 4 + %div342 = sdiv i32 %180, 10 + store i32 %div342, i32* %exp, align 4 + %181 = load i32, i32* %j329, align 4 + %inc344 = add nsw i32 %181, 1 + store i32 %inc344, i32* %j329, align 4 + %cmp345 = icmp slt i32 %inc344, 4 + %182 = load i32, i32* %exp, align 4 + %tobool348 = icmp ne i32 %182, 0 + %183 = select i1 %cmp345, i1 true, i1 %tobool348 + br i1 %183, label %do.body337, label %do.end350 + +do.end350: ; preds = %do.body337 + %184 = load i8, i8* %exp_sign, align 1 + %185 = load i8*, i8** %p, align 8 + %incdec.ptr351 = getelementptr inbounds i8, i8* %185, i32 -1 + store i8* %incdec.ptr351, i8** %p, align 8 + store i8 %184, i8* %incdec.ptr351, align 1 + %186 = load i8, i8* %exp_char, align 1 + %187 = load i8*, i8** %p, align 8 + %incdec.ptr352 = getelementptr inbounds i8, i8* %187, i32 -1 + store i8* %incdec.ptr352, i8** %p, align 8 + store i8 %186, i8* %incdec.ptr352, align 1 + %188 = load i64*, i64** %ppc, align 8 + %arrayidx353 = getelementptr inbounds i64, i64* %188, i64 0 + store i64 112, i64* %arrayidx353, align 8 + %189 = load i32, i32* %j329, align 4 + %conv354 = sext i32 %189 to i64 + %190 = load i64*, i64** %ppc, align 8 + %arrayidx355 = getelementptr inbounds i64, i64* %190, i64 1 + store i64 %conv354, i64* %arrayidx355, align 8 + %191 = load i8*, i8** %p, align 8 + %192 = ptrtoint i8* %191 to i64 + %193 = load i64*, i64** %ppc, align 8 + %arrayidx356 = getelementptr inbounds i64, i64* %193, i64 2 + store i64 %192, i64* %arrayidx356, align 8 + %194 = load i64*, i64** %ppc, align 8 + %add.ptr357 = getelementptr inbounds i64, i64* %194, i64 3 + store i64* %add.ptr357, i64** %ppc, align 8 + br label %EXIT_SPECIAL + +EXIT_SPECIAL: ; preds = %if.end322, %do.end350, %if.end54 + %195 = load i64*, i64** %ppc, align 8 + store i64* %195, i64** %ppc_last, align 8 + %arraydecay360 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + %add.ptr361 = getelementptr inbounds i64, i64* %arraydecay360, i64 4 + store i64* %add.ptr361, i64** %ppc, align 8 + br label %do.body362 + +do.body362: ; preds = %do.body362, %EXIT_SPECIAL + %196 = load i64*, i64** %ppc, align 8 + %197 = load i64, i64* %196, align 8 + %198 = load i32, i32* %width, align 4 + %conv363 = sext i32 %198 to i64 + %sub364 = sub nsw i64 %conv363, %197 + %conv365 = trunc i64 %sub364 to i32 + store i32 %conv365, i32* %width, align 4 + %199 = load i64*, i64** %ppc, align 8 + %add.ptr366 = getelementptr inbounds i64, i64* %199, i64 3 + store i64* %add.ptr366, i64** %ppc, align 8 + %200 = load i64*, i64** %ppc, align 8 + %201 = load i64*, i64** %ppc_last, align 8 + %cmp368 = icmp ult i64* %200, %201 + br i1 %cmp368, label %do.body362, label %do.end370 + +do.end370: ; preds = %do.body362 + %arraydecay371 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + store i64* %arraydecay371, i64** %ppc, align 8 + %202 = load i64*, i64** %ppc, align 8 + %arrayidx372 = getelementptr inbounds i64, i64* %202, i64 0 + store i64 160, i64* %arrayidx372, align 8 + %arraydecay373 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %203 = load i8, i8* %arraydecay373, align 1 + %conv374 = sext i8 %203 to i32 + %cmp375 = icmp ne i32 %conv374, 0 + %conv376 = zext i1 %cmp375 to i32 + store i32 %conv376, i32* %i359, align 4 + %conv377 = sext i32 %conv376 to i64 + %204 = load i64*, i64** %ppc, align 8 + %arrayidx378 = getelementptr inbounds i64, i64* %204, i64 1 + store i64 %conv377, i64* %arrayidx378, align 8 + %arraydecay379 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %205 = ptrtoint i8* %arraydecay379 to i64 + %206 = load i64*, i64** %ppc, align 8 + %arrayidx380 = getelementptr inbounds i64, i64* %206, i64 2 + store i64 %205, i64* %arrayidx380, align 8 + %207 = load i32, i32* %i359, align 4 + %208 = load i32, i32* %width, align 4 + %sub381 = sub nsw i32 %208, %207 + store i32 %sub381, i32* %width, align 4 + %cmp382 = icmp sgt i32 %sub381, 0 + br i1 %cmp382, label %if.then384, label %if.end409 + +if.then384: ; preds = %do.end370 + %209 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %left = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %209, i32 0, i32 3 + %bf.load385 = load i32, i32* %left, align 4 + %bf.lshr386 = lshr i32 %bf.load385, 3 + %bf.clear387 = and i32 %bf.lshr386, 1 + %tobool388 = icmp ne i32 %bf.clear387, 0 + br i1 %tobool388, label %if.then389, label %if.else395 + +if.then389: ; preds = %if.then384 + %210 = load i64*, i64** %ppc_last, align 8 + %arrayidx390 = getelementptr inbounds i64, i64* %210, i64 0 + store i64 160, i64* %arrayidx390, align 8 + %211 = load i32, i32* %width, align 4 + %conv391 = sext i32 %211 to i64 + %212 = load i64*, i64** %ppc_last, align 8 + %arrayidx392 = getelementptr inbounds i64, i64* %212, i64 1 + store i64 %conv391, i64* %arrayidx392, align 8 + %213 = load i64*, i64** %ppc_last, align 8 + %arrayidx393 = getelementptr inbounds i64, i64* %213, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx393, align 8 + %214 = load i64*, i64** %ppc_last, align 8 + %add.ptr394 = getelementptr inbounds i64, i64* %214, i64 3 + store i64* %add.ptr394, i64** %ppc_last, align 8 + br label %if.end409 + +if.else395: ; preds = %if.then384 + %215 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %pad396 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %215, i32 0, i32 4 + %216 = load i32, i32* %pad396, align 4 + %cmp397 = icmp eq i32 %216, 48 + %217 = load i32, i32* %width, align 4 + %conv400 = sext i32 %217 to i64 + %218 = load i64*, i64** %ppc, align 8 + br i1 %cmp397, label %if.then399, label %if.else403 + +if.then399: ; preds = %if.else395 + %arrayidx401 = getelementptr inbounds i64, i64* %218, i64 4 + %219 = load i64, i64* %arrayidx401, align 8 + %add402 = add nsw i64 %219, %conv400 + store i64 %add402, i64* %arrayidx401, align 8 + br label %if.end409 + +if.else403: ; preds = %if.else395 + %arrayidx405 = getelementptr inbounds i64, i64* %218, i64 1 + %220 = load i64, i64* %arrayidx405, align 8 + %add406 = add nsw i64 %220, %conv400 + store i64 %add406, i64* %arrayidx405, align 8 + br label %if.end409 + +if.end409: ; preds = %if.then389, %if.else403, %if.then399, %do.end370 + store i32 0, i32* %cnt, align 4 + br label %do.body410 + +do.body410: ; preds = %if.end418, %if.end409 + %221 = load i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)*, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)** %fp_outfunc.addr, align 8 + %222 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + %223 = load i64*, i64** %ppc, align 8 + %224 = load i64, i64* %223, align 8 + %225 = load i64*, i64** %ppc, align 8 + %arrayidx411 = getelementptr inbounds i64, i64* %225, i64 1 + %226 = load i64, i64* %arrayidx411, align 8 + %227 = load i64*, i64** %ppc, align 8 + %arrayidx412 = getelementptr inbounds i64, i64* %227, i64 2 + %228 = load i64, i64* %arrayidx412, align 8 + %call413 = call i64 %221(%struct.__STDIO_FILE_STRUCT.568* %222, i64 %224, i64 %226, i64 %228) #18 + %229 = load i64*, i64** %ppc, align 8 + %arrayidx414 = getelementptr inbounds i64, i64* %229, i64 1 + %230 = load i64, i64* %arrayidx414, align 8 + %cmp415 = icmp ne i64 %call413, %230 + br i1 %cmp415, label %if.then417, label %if.end418 + +if.then417: ; preds = %do.body410 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end418: ; preds = %do.body410 + %231 = load i64*, i64** %ppc, align 8 + %arrayidx419 = getelementptr inbounds i64, i64* %231, i64 1 + %232 = load i64, i64* %arrayidx419, align 8 + %233 = load i32, i32* %cnt, align 4 + %conv420 = sext i32 %233 to i64 + %add421 = add nsw i64 %conv420, %232 + %conv422 = trunc i64 %add421 to i32 + store i32 %conv422, i32* %cnt, align 4 + %234 = load i64*, i64** %ppc, align 8 + %add.ptr423 = getelementptr inbounds i64, i64* %234, i64 3 + store i64* %add.ptr423, i64** %ppc, align 8 + %235 = load i64*, i64** %ppc, align 8 + %236 = load i64*, i64** %ppc_last, align 8 + %cmp425 = icmp ult i64* %235, %236 + br i1 %cmp425, label %do.body410, label %do.end427 + +do.end427: ; preds = %if.end418 + %237 = load i32, i32* %cnt, align 4 + %conv428 = sext i32 %237 to i64 + store i64 %conv428, i64* %retval, align 8 + br label %return + +return: ; preds = %do.end427, %if.then417 + %238 = load i64, i64* %retval, align 8 + ret i64 %238 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_load_inttype(i32 %desttype, i8* %src, i32 %uflag) #0 { +entry: + %retval = alloca i64, align 8 + %desttype.addr = alloca i32, align 4 + %src.addr = alloca i8*, align 8 + %uflag.addr = alloca i32, align 4 + %x = alloca i32, align 4 + %x24 = alloca i32, align 4 + store i32 %desttype, i32* %desttype.addr, align 4 + store i8* %src, i8** %src.addr, align 8 + store i32 %uflag, i32* %uflag.addr, align 4 + %0 = load i32, i32* %uflag.addr, align 4 + %cmp = icmp sge i32 %0, 0 + %1 = load i32, i32* %desttype.addr, align 4 + %and = and i32 %1, 3072 + %tobool = icmp ne i32 %and, 0 + %2 = load i8*, i8** %src.addr, align 8 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + br i1 %tobool, label %if.then1, label %if.end4 + +if.then1: ; preds = %if.then + %3 = bitcast i8* %2 to i64* + %4 = load i64, i64* %3, align 8 + store i64 %4, i64* %retval, align 8 + br label %return + +if.end4: ; preds = %if.then + %5 = bitcast i8* %2 to i32* + %6 = load i32, i32* %5, align 4 + store i32 %6, i32* %x, align 4 + %7 = load i32, i32* %desttype.addr, align 4 + %cmp5 = icmp eq i32 %7, 256 + br i1 %cmp5, label %if.then6, label %if.end8 + +if.then6: ; preds = %if.end4 + %8 = load i32, i32* %x, align 4 + %conv = trunc i32 %8 to i8 + %conv7 = zext i8 %conv to i32 + store i32 %conv7, i32* %x, align 4 + br label %if.end8 + +if.end8: ; preds = %if.then6, %if.end4 + %9 = load i32, i32* %desttype.addr, align 4 + %cmp9 = icmp eq i32 %9, 512 + br i1 %cmp9, label %if.then11, label %if.end14 + +if.then11: ; preds = %if.end8 + %10 = load i32, i32* %x, align 4 + %conv12 = trunc i32 %10 to i16 + %conv13 = zext i16 %conv12 to i32 + store i32 %conv13, i32* %x, align 4 + br label %if.end14 + +if.end14: ; preds = %if.then11, %if.end8 + %11 = load i32, i32* %x, align 4 + %conv15 = zext i32 %11 to i64 + store i64 %conv15, i64* %retval, align 8 + br label %return + +if.else: ; preds = %entry + br i1 %tobool, label %if.then18, label %if.end23 + +if.then18: ; preds = %if.else + %12 = bitcast i8* %2 to i64* + %13 = load i64, i64* %12, align 8 + store i64 %13, i64* %retval, align 8 + br label %return + +if.end23: ; preds = %if.else + %14 = bitcast i8* %2 to i32* + %15 = load i32, i32* %14, align 4 + store i32 %15, i32* %x24, align 4 + %16 = load i32, i32* %desttype.addr, align 4 + %cmp25 = icmp eq i32 %16, 256 + br i1 %cmp25, label %if.then27, label %if.end30 + +if.then27: ; preds = %if.end23 + %17 = load i32, i32* %x24, align 4 + %conv28 = trunc i32 %17 to i8 + %conv29 = sext i8 %conv28 to i32 + store i32 %conv29, i32* %x24, align 4 + br label %if.end30 + +if.end30: ; preds = %if.then27, %if.end23 + %18 = load i32, i32* %desttype.addr, align 4 + %cmp31 = icmp eq i32 %18, 512 + br i1 %cmp31, label %if.then33, label %if.end36 + +if.then33: ; preds = %if.end30 + %19 = load i32, i32* %x24, align 4 + %conv34 = trunc i32 %19 to i16 + %conv35 = sext i16 %conv34 to i32 + store i32 %conv35, i32* %x24, align 4 + br label %if.end36 + +if.end36: ; preds = %if.then33, %if.end30 + %20 = load i32, i32* %x24, align 4 + %conv37 = sext i32 %20 to i64 + store i64 %conv37, i64* %retval, align 8 + br label %return + +return: ; preds = %if.then18, %if.then1, %if.end36, %if.end14 + %21 = load i64, i64* %retval, align 8 + ret i64 %21 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_ppfs_init(%struct.ppfs_t.722* %ppfs, i8* %fmt0) #0 { +entry: + %retval = alloca i32, align 4 + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %fmt0.addr = alloca i8*, align 8 + %r = alloca i32, align 4 + %mbstate = alloca %struct.__mbstate_t.512, align 4 + %p = alloca i8*, align 8 + %p8 = alloca i32*, align 8 + %fmt = alloca i8*, align 8 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store i8* %fmt0, i8** %fmt0.addr, align 8 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %1 = bitcast %struct.ppfs_t.722* %0 to i8* + %call = call i8* @memset(i8* %1, i32 0, i64 176) #19 + %2 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %2, i32 0, i32 2 + %3 = load i32, i32* %maxposarg, align 4 + %dec = add nsw i32 %3, -1 + store i32 %dec, i32* %maxposarg, align 4 + %4 = load i8*, i8** %fmt0.addr, align 8 + %5 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %5, i32 0, i32 0 + store i8* %4, i8** %fmtpos, align 8 + %6 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %6, i32 0, i32 9 + %7 = load i8, i8* %encoding, align 8 + %conv = zext i8 %7 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %if.then, label %if.end7 + +if.then: ; preds = %entry + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %mbstate, i32 0, i32 0 + store i32 0, i32* %__mask, align 4 + %8 = load i8*, i8** %fmt0.addr, align 8 + store i8* %8, i8** %p, align 8 + %call2 = call i64 @mbsrtowcs(i32* null, i8** %p, i64 -1, %struct.__mbstate_t.512* %mbstate) #19 + %cmp3 = icmp eq i64 %call2, -1 + br i1 %cmp3, label %if.then5, label %if.end7 + +if.then5: ; preds = %if.then + %9 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos6 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %9, i32 0, i32 0 + store i8* getelementptr inbounds ([33 x i8], [33 x i8]* @_ppfs_init.invalid_mbs, i64 0, i64 0), i8** %fmtpos6, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end7: ; preds = %if.then, %entry + %10 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %10, i32 0, i32 6 + %arraydecay = getelementptr inbounds [9 x i32], [9 x i32]* %argtype, i64 0, i64 0 + store i32* %arraydecay, i32** %p8, align 8 + store i32 9, i32* %r, align 4 + br label %do.body + +do.body: ; preds = %do.body, %if.end7 + %11 = load i32*, i32** %p8, align 8 + %incdec.ptr = getelementptr inbounds i32, i32* %11, i32 1 + store i32* %incdec.ptr, i32** %p8, align 8 + store i32 8, i32* %11, align 4 + %12 = load i32, i32* %r, align 4 + %dec9 = add nsw i32 %12, -1 + store i32 %dec9, i32* %r, align 4 + %tobool = icmp ne i32 %dec9, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.body + %13 = load i8*, i8** %fmt0.addr, align 8 + store i8* %13, i8** %fmt, align 8 + br label %while.cond + +while.cond: ; preds = %if.end27, %do.end + %14 = load i8*, i8** %fmt, align 8 + %15 = load i8, i8* %14, align 1 + %tobool10 = icmp ne i8 %15, 0 + br i1 %tobool10, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %16 = load i8*, i8** %fmt, align 8 + %17 = load i8, i8* %16, align 1 + %conv11 = sext i8 %17 to i32 + %cmp12 = icmp eq i32 %conv11, 37 + br i1 %cmp12, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %while.body + %18 = load i8*, i8** %fmt, align 8 + %incdec.ptr14 = getelementptr inbounds i8, i8* %18, i32 1 + store i8* %incdec.ptr14, i8** %fmt, align 8 + %19 = load i8, i8* %incdec.ptr14, align 1 + %conv15 = sext i8 %19 to i32 + %cmp16 = icmp ne i32 %conv15, 37 + br i1 %cmp16, label %if.then18, label %if.else + +if.then18: ; preds = %land.lhs.true + %20 = load i8*, i8** %fmt, align 8 + %21 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos19 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %21, i32 0, i32 0 + store i8* %20, i8** %fmtpos19, align 8 + %22 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %call20 = call i32 @_ppfs_parsespec(%struct.ppfs_t.722* %22) #18 + store i32 %call20, i32* %r, align 4 + %cmp21 = icmp slt i32 %call20, 0 + br i1 %cmp21, label %if.then23, label %if.end24 + +if.then23: ; preds = %if.then18 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end24: ; preds = %if.then18 + %23 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos25 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %23, i32 0, i32 0 + %24 = load i8*, i8** %fmtpos25, align 8 + store i8* %24, i8** %fmt, align 8 + br label %if.end27 + +if.else: ; preds = %land.lhs.true, %while.body + %25 = load i8*, i8** %fmt, align 8 + %incdec.ptr26 = getelementptr inbounds i8, i8* %25, i32 1 + store i8* %incdec.ptr26, i8** %fmt, align 8 + br label %if.end27 + +if.end27: ; preds = %if.else, %if.end24 + br label %while.cond + +while.end: ; preds = %while.cond + %26 = load i8*, i8** %fmt0.addr, align 8 + %27 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos28 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %27, i32 0, i32 0 + store i8* %26, i8** %fmtpos28, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %while.end, %if.then23, %if.then5 + %28 = load i32, i32* %retval, align 4 + ret i32 %28 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_ppfs_parsespec(%struct.ppfs_t.722* %ppfs) #0 { +entry: + %retval = alloca i32, align 4 + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %fmt = alloca i8*, align 8 + %p = alloca i8*, align 8 + %preci = alloca i32, align 4 + %width = alloca i32, align 4 + %flags = alloca i32, align 4 + %dataargtype = alloca i32, align 4 + %i = alloca i32, align 4 + %dpoint = alloca i32, align 4 + %maxposarg = alloca i32, align 4 + %p_m_spec_chars = alloca i32, align 4 + %n = alloca i32, align 4 + %argtype = alloca [3 x i32], align 4 + %argnumber = alloca [3 x i32], align 4 + %buf = alloca [32 x i8], align 16 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store i32 -1, i32* %preci, align 4 + %arrayidx = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 0 + store i32 0, i32* %arrayidx, align 4 + %arrayidx1 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 1 + store i32 0, i32* %arrayidx1, align 4 + %arrayidx2 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 0 + store i32 8, i32* %arrayidx2, align 4 + %arrayidx3 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 1 + store i32 8, i32* %arrayidx3, align 4 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg4 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %0, i32 0, i32 2 + %1 = load i32, i32* %maxposarg4, align 4 + store i32 %1, i32* %maxposarg, align 4 + store i32 0, i32* %dpoint, align 4 + store i32 0, i32* %width, align 4 + %2 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %2, i32 0, i32 1 + %_flags = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 3 + %3 = load i32, i32* %_flags, align 4 + %and = and i32 %3, 128 + store i32 %and, i32* %flags, align 4 + %cmp = icmp eq i32 %and, 0 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %4 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %4, i32 0, i32 0 + %5 = load i8*, i8** %fmtpos, align 8 + store i8* %5, i8** %fmt, align 8 + br label %if.end20 + +if.else: ; preds = %entry + %arraydecay = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 1 + store i8* %add.ptr, i8** %fmt, align 8 + store i32 0, i32* %i, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %if.else + %6 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos5 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %6, i32 0, i32 0 + %7 = load i8*, i8** %fmtpos5, align 8 + %8 = bitcast i8* %7 to i32* + %9 = load i32, i32* %i, align 4 + %sub = sub nsw i32 %9, 1 + %idxprom = sext i32 %sub to i64 + %arrayidx6 = getelementptr inbounds i32, i32* %8, i64 %idxprom + %10 = load i32, i32* %arrayidx6, align 4 + %conv = trunc i32 %10 to i8 + %11 = load i32, i32* %i, align 4 + %idxprom7 = sext i32 %11 to i64 + %arrayidx8 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 %idxprom7 + store i8 %conv, i8* %arrayidx8, align 1 + %conv9 = sext i8 %conv to i32 + %12 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos10 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %12, i32 0, i32 0 + %13 = load i8*, i8** %fmtpos10, align 8 + %14 = bitcast i8* %13 to i32* + %15 = load i32, i32* %i, align 4 + %sub11 = sub nsw i32 %15, 1 + %idxprom12 = sext i32 %sub11 to i64 + %arrayidx13 = getelementptr inbounds i32, i32* %14, i64 %idxprom12 + %16 = load i32, i32* %arrayidx13, align 4 + %cmp14 = icmp ne i32 %conv9, %16 + br i1 %cmp14, label %if.then16, label %do.cond + +if.then16: ; preds = %do.body + store i32 -1, i32* %retval, align 4 + br label %return + +do.cond: ; preds = %do.body + %17 = load i32, i32* %i, align 4 + %inc = add nsw i32 %17, 1 + store i32 %inc, i32* %i, align 4 + %idxprom17 = sext i32 %17 to i64 + %arrayidx18 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 %idxprom17 + %18 = load i8, i8* %arrayidx18, align 1 + %tobool = icmp ne i8 %18, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %arrayidx19 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 31 + store i8 0, i8* %arrayidx19, align 1 + br label %if.end20 + +if.end20: ; preds = %do.end, %if.then + br label %width_precision + +width_precision: ; preds = %do.end89, %if.then129, %if.end20 + %19 = load i8*, i8** %fmt, align 8 + store i8* %19, i8** %p, align 8 + %20 = load i8*, i8** %fmt, align 8 + %21 = load i8, i8* %20, align 1 + %conv21 = sext i8 %21 to i32 + %cmp22 = icmp eq i32 %conv21, 42 + br i1 %cmp22, label %if.then24, label %if.end28 + +if.then24: ; preds = %width_precision + %22 = load i32, i32* %dpoint, align 4 + %sub25 = sub nsw i32 0, %22 + %idxprom26 = sext i32 %sub25 to i64 + %arrayidx27 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 %idxprom26 + store i32 0, i32* %arrayidx27, align 4 + %23 = load i8*, i8** %fmt, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %23, i32 1 + store i8* %incdec.ptr, i8** %fmt, align 8 + br label %if.end28 + +if.end28: ; preds = %if.then24, %width_precision + store i32 0, i32* %i, align 4 + br label %while.cond + +while.cond: ; preds = %if.end40, %if.end28 + %call = call i16** @__ctype_b_loc() #21 + %24 = load i16*, i16** %call, align 8 + %25 = load i8*, i8** %fmt, align 8 + %26 = load i8, i8* %25, align 1 + %conv29 = sext i8 %26 to i32 + %idxprom30 = sext i32 %conv29 to i64 + %arrayidx31 = getelementptr inbounds i16, i16* %24, i64 %idxprom30 + %27 = load i16, i16* %arrayidx31, align 2 + %conv32 = zext i16 %27 to i32 + %and33 = and i32 %conv32, 2048 + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %28 = load i32, i32* %i, align 4 + %cmp35 = icmp slt i32 %28, 4095 + br i1 %cmp35, label %if.then37, label %if.end40 + +if.then37: ; preds = %while.body + %29 = load i32, i32* %i, align 4 + %mul = mul nsw i32 %29, 10 + %30 = load i8*, i8** %fmt, align 8 + %31 = load i8, i8* %30, align 1 + %conv38 = sext i8 %31 to i32 + %sub39 = sub nsw i32 %conv38, 48 + %add = add nsw i32 %mul, %sub39 + store i32 %add, i32* %i, align 4 + br label %if.end40 + +if.end40: ; preds = %if.then37, %while.body + %32 = load i8*, i8** %fmt, align 8 + %incdec.ptr41 = getelementptr inbounds i8, i8* %32, i32 1 + store i8* %incdec.ptr41, i8** %fmt, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %33 = load i8*, i8** %p, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %33, i64 -1 + %34 = load i8, i8* %arrayidx42, align 1 + %conv43 = sext i8 %34 to i32 + %cmp44 = icmp eq i32 %conv43, 37 + br i1 %cmp44, label %if.then46, label %PREC_WIDTH + +if.then46: ; preds = %while.end + %35 = load i8*, i8** %fmt, align 8 + %36 = load i8, i8* %35, align 1 + %conv47 = sext i8 %36 to i32 + %cmp48 = icmp eq i32 %conv47, 36 + %37 = load i32, i32* %i, align 4 + %cmp50 = icmp sgt i32 %37, 0 + %or.cond = and i1 %cmp48, %cmp50 + br i1 %or.cond, label %if.then52, label %if.else63 + +if.then52: ; preds = %if.then46 + %38 = load i8*, i8** %fmt, align 8 + %incdec.ptr53 = getelementptr inbounds i8, i8* %38, i32 1 + store i8* %incdec.ptr53, i8** %fmt, align 8 + %39 = load i32, i32* %maxposarg, align 4 + %cmp54 = icmp eq i32 %39, 0 + br i1 %cmp54, label %if.then56, label %if.end57 + +if.then56: ; preds = %if.then52 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end57: ; preds = %if.then52 + %40 = load i32, i32* %i, align 4 + %arrayidx58 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 2 + store i32 %40, i32* %arrayidx58, align 4 + %41 = load i32, i32* %maxposarg, align 4 + %cmp59 = icmp sgt i32 %40, %41 + br i1 %cmp59, label %if.then61, label %if.end76 + +if.then61: ; preds = %if.end57 + %42 = load i32, i32* %i, align 4 + store i32 %42, i32* %maxposarg, align 4 + br label %if.end76 + +if.else63: ; preds = %if.then46 + %43 = load i32, i32* %maxposarg, align 4 + %cmp64 = icmp sgt i32 %43, 0 + br i1 %cmp64, label %if.then66, label %if.end67 + +if.then66: ; preds = %if.else63 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end67: ; preds = %if.else63 + store i32 0, i32* %maxposarg, align 4 + %44 = load i8*, i8** %fmt, align 8 + %45 = load i8*, i8** %p, align 8 + %cmp68 = icmp ugt i8* %44, %45 + br i1 %cmp68, label %land.lhs.true70, label %if.end75 + +land.lhs.true70: ; preds = %if.end67 + %46 = load i8*, i8** %p, align 8 + %47 = load i8, i8* %46, align 1 + %conv71 = sext i8 %47 to i32 + %cmp72 = icmp ne i32 %conv71, 48 + br i1 %cmp72, label %PREC_WIDTH, label %if.end75 + +if.end75: ; preds = %land.lhs.true70, %if.end67 + %48 = load i8*, i8** %p, align 8 + store i8* %48, i8** %fmt, align 8 + br label %if.end76 + +if.end76: ; preds = %if.end57, %if.then61, %if.end75 + br label %restart_flags + +restart_flags: ; preds = %if.then83, %if.end76 + store i32 1, i32* %i, align 4 + store i8* getelementptr inbounds ([8 x i8], [8 x i8]* @_ppfs_parsespec.spec_flags, i64 0, i64 0), i8** %p, align 8 + br label %do.body77 + +do.body77: ; preds = %if.end85, %restart_flags + %49 = load i8*, i8** %fmt, align 8 + %50 = load i8, i8* %49, align 1 + %conv78 = sext i8 %50 to i32 + %51 = load i8*, i8** %p, align 8 + %incdec.ptr79 = getelementptr inbounds i8, i8* %51, i32 1 + store i8* %incdec.ptr79, i8** %p, align 8 + %52 = load i8, i8* %51, align 1 + %conv80 = sext i8 %52 to i32 + %cmp81 = icmp eq i32 %conv78, %conv80 + br i1 %cmp81, label %if.then83, label %if.end85 + +if.then83: ; preds = %do.body77 + %53 = load i8*, i8** %fmt, align 8 + %incdec.ptr84 = getelementptr inbounds i8, i8* %53, i32 1 + store i8* %incdec.ptr84, i8** %fmt, align 8 + %54 = load i32, i32* %i, align 4 + %55 = load i32, i32* %flags, align 4 + %or = or i32 %55, %54 + store i32 %or, i32* %flags, align 4 + br label %restart_flags + +if.end85: ; preds = %do.body77 + %56 = load i32, i32* %i, align 4 + %57 = load i32, i32* %i, align 4 + %add86 = add nsw i32 %57, %56 + store i32 %add86, i32* %i, align 4 + %58 = load i8*, i8** %p, align 8 + %59 = load i8, i8* %58, align 1 + %tobool88 = icmp ne i8 %59, 0 + br i1 %tobool88, label %do.body77, label %do.end89 + +do.end89: ; preds = %if.end85 + store i32 0, i32* %i, align 4 + %60 = load i32, i32* %flags, align 4 + %and90 = and i32 %60, 10 + %shr = ashr i32 %and90, 1 + %neg = xor i32 %shr, -1 + %61 = load i32, i32* %flags, align 4 + %and91 = and i32 %61, %neg + store i32 %and91, i32* %flags, align 4 + %62 = load i8*, i8** %fmt, align 8 + %arrayidx92 = getelementptr inbounds i8, i8* %62, i64 -1 + %63 = load i8, i8* %arrayidx92, align 1 + %conv93 = sext i8 %63 to i32 + %cmp94 = icmp ne i32 %conv93, 37 + br i1 %cmp94, label %width_precision, label %PREC_WIDTH + +PREC_WIDTH: ; preds = %while.end, %do.end89, %land.lhs.true70 + %64 = load i8*, i8** %p, align 8 + %65 = load i8, i8* %64, align 1 + %conv99 = sext i8 %65 to i32 + %cmp100 = icmp eq i32 %conv99, 42 + br i1 %cmp100, label %if.then102, label %if.end123 + +if.then102: ; preds = %PREC_WIDTH + %66 = load i32, i32* %maxposarg, align 4 + %tobool103 = icmp ne i32 %66, 0 + br i1 %tobool103, label %if.then104, label %if.else116 + +if.then104: ; preds = %if.then102 + %67 = load i8*, i8** %fmt, align 8 + %incdec.ptr105 = getelementptr inbounds i8, i8* %67, i32 1 + store i8* %incdec.ptr105, i8** %fmt, align 8 + %68 = load i8, i8* %67, align 1 + %conv106 = sext i8 %68 to i32 + %cmp107 = icmp ne i32 %conv106, 36 + %69 = load i32, i32* %i, align 4 + %cmp109 = icmp sle i32 %69, 0 + %or.cond1 = or i1 %cmp107, %cmp109 + br i1 %or.cond1, label %if.then111, label %if.end112 + +if.then111: ; preds = %if.then104 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end112: ; preds = %if.then104 + %70 = load i32, i32* %i, align 4 + %71 = load i32, i32* %dpoint, align 4 + %sub113 = sub nsw i32 0, %71 + %idxprom114 = sext i32 %sub113 to i64 + %arrayidx115 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 %idxprom114 + store i32 %70, i32* %arrayidx115, align 4 + br label %if.end122 + +if.else116: ; preds = %if.then102 + %72 = load i8*, i8** %p, align 8 + %incdec.ptr117 = getelementptr inbounds i8, i8* %72, i32 1 + store i8* %incdec.ptr117, i8** %p, align 8 + %73 = load i8*, i8** %fmt, align 8 + %cmp118 = icmp ne i8* %incdec.ptr117, %73 + br i1 %cmp118, label %if.then120, label %if.end122 + +if.then120: ; preds = %if.else116 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end122: ; preds = %if.else116, %if.end112 + store i32 -2147483648, i32* %i, align 4 + br label %if.end123 + +if.end123: ; preds = %if.end122, %PREC_WIDTH + %74 = load i32, i32* %dpoint, align 4 + %tobool124 = icmp ne i32 %74, 0 + %75 = load i32, i32* %i, align 4 + br i1 %tobool124, label %if.else132, label %if.then125 + +if.then125: ; preds = %if.end123 + store i32 %75, i32* %width, align 4 + %76 = load i8*, i8** %fmt, align 8 + %77 = load i8, i8* %76, align 1 + %conv126 = sext i8 %77 to i32 + %cmp127 = icmp eq i32 %conv126, 46 + br i1 %cmp127, label %if.then129, label %if.end133 + +if.then129: ; preds = %if.then125 + %78 = load i8*, i8** %fmt, align 8 + %incdec.ptr130 = getelementptr inbounds i8, i8* %78, i32 1 + store i8* %incdec.ptr130, i8** %fmt, align 8 + store i32 -1, i32* %dpoint, align 4 + br label %width_precision + +if.else132: ; preds = %if.end123 + store i32 %75, i32* %preci, align 4 + br label %if.end133 + +if.end133: ; preds = %if.then125, %if.else132 + store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @_ppfs_parsespec.qual_chars, i64 0, i64 0), i8** %p, align 8 + br label %do.body134 + +do.body134: ; preds = %do.cond142, %if.end133 + %79 = load i8*, i8** %fmt, align 8 + %80 = load i8, i8* %79, align 1 + %conv135 = sext i8 %80 to i32 + %81 = load i8*, i8** %p, align 8 + %82 = load i8, i8* %81, align 1 + %conv136 = sext i8 %82 to i32 + %cmp137 = icmp eq i32 %conv135, %conv136 + br i1 %cmp137, label %if.then139, label %do.cond142 + +if.then139: ; preds = %do.body134 + %83 = load i8*, i8** %fmt, align 8 + %incdec.ptr140 = getelementptr inbounds i8, i8* %83, i32 1 + store i8* %incdec.ptr140, i8** %fmt, align 8 + br label %do.end145 + +do.cond142: ; preds = %do.body134 + %84 = load i8*, i8** %p, align 8 + %incdec.ptr143 = getelementptr inbounds i8, i8* %84, i32 1 + store i8* %incdec.ptr143, i8** %p, align 8 + %85 = load i8, i8* %incdec.ptr143, align 1 + %tobool144 = icmp ne i8 %85, 0 + br i1 %tobool144, label %do.body134, label %do.end145 + +do.end145: ; preds = %do.cond142, %if.then139 + %86 = load i8*, i8** %p, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %86 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, ptrtoint ([20 x i8]* @_ppfs_parsespec.qual_chars to i64) + %cmp146 = icmp slt i64 %sub.ptr.sub, 2 + br i1 %cmp146, label %land.lhs.true148, label %if.end156 + +land.lhs.true148: ; preds = %do.end145 + %87 = load i8*, i8** %fmt, align 8 + %88 = load i8, i8* %87, align 1 + %conv149 = sext i8 %88 to i32 + %89 = load i8*, i8** %p, align 8 + %90 = load i8, i8* %89, align 1 + %conv150 = sext i8 %90 to i32 + %cmp151 = icmp eq i32 %conv149, %conv150 + br i1 %cmp151, label %if.then153, label %if.end156 + +if.then153: ; preds = %land.lhs.true148 + %91 = load i8*, i8** %p, align 8 + %add.ptr154 = getelementptr inbounds i8, i8* %91, i64 9 + store i8* %add.ptr154, i8** %p, align 8 + %92 = load i8*, i8** %fmt, align 8 + %incdec.ptr155 = getelementptr inbounds i8, i8* %92, i32 1 + store i8* %incdec.ptr155, i8** %fmt, align 8 + br label %if.end156 + +if.end156: ; preds = %if.then153, %land.lhs.true148, %do.end145 + %93 = load i8*, i8** %p, align 8 + %arrayidx157 = getelementptr inbounds i8, i8* %93, i64 9 + %94 = load i8, i8* %arrayidx157, align 1 + %conv158 = sext i8 %94 to i32 + %shl = shl i32 %conv158, 8 + store i32 %shl, i32* %dataargtype, align 4 + %95 = load i8*, i8** %fmt, align 8 + %96 = load i8, i8* %95, align 1 + %tobool159 = icmp ne i8 %96, 0 + br i1 %tobool159, label %if.end161, label %if.then160 + +if.then160: ; preds = %if.end156 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end161: ; preds = %if.end156 + store i8* getelementptr inbounds ([21 x i8], [21 x i8]* @_ppfs_parsespec.spec_chars, i64 0, i64 0), i8** %p, align 8 + br label %do.body162 + +do.body162: ; preds = %do.cond199, %if.end161 + %97 = load i8*, i8** %fmt, align 8 + %98 = load i8, i8* %97, align 1 + %conv163 = sext i8 %98 to i32 + %99 = load i8*, i8** %p, align 8 + %100 = load i8, i8* %99, align 1 + %conv164 = sext i8 %100 to i32 + %cmp165 = icmp eq i32 %conv163, %conv164 + %101 = load i8*, i8** %p, align 8 + br i1 %cmp165, label %if.then167, label %do.cond199 + +if.then167: ; preds = %do.body162 + %sub.ptr.lhs.cast168 = ptrtoint i8* %101 to i64 + %sub.ptr.sub169 = sub i64 %sub.ptr.lhs.cast168, ptrtoint ([21 x i8]* @_ppfs_parsespec.spec_chars to i64) + %conv170 = trunc i64 %sub.ptr.sub169 to i32 + store i32 %conv170, i32* %p_m_spec_chars, align 4 + %102 = load i32, i32* %p_m_spec_chars, align 4 + %cmp171 = icmp sge i32 %102, 18 + br i1 %cmp171, label %land.lhs.true173, label %if.end178 + +land.lhs.true173: ; preds = %if.then167 + %103 = load i32, i32* %dataargtype, align 4 + %and174 = and i32 %103, 1024 + %tobool175 = icmp ne i32 %and174, 0 + br i1 %tobool175, label %if.then176, label %if.end178 + +if.then176: ; preds = %land.lhs.true173 + %104 = load i32, i32* %p_m_spec_chars, align 4 + %sub177 = sub nsw i32 %104, 2 + store i32 %sub177, i32* %p_m_spec_chars, align 4 + br label %if.end178 + +if.end178: ; preds = %if.then176, %land.lhs.true173, %if.then167 + %105 = load i32, i32* %p_m_spec_chars, align 4 + %106 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %106, i32 0, i32 4 + store i32 %105, i32* %conv_num, align 4 + store i8* getelementptr inbounds (i8, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @_ppfs_parsespec.spec_ranges, i64 0, i64 0), i64 -1), i8** %p, align 8 + br label %while.cond179 + +while.cond179: ; preds = %while.cond179, %if.end178 + %107 = load i32, i32* %p_m_spec_chars, align 4 + %108 = load i8*, i8** %p, align 8 + %incdec.ptr180 = getelementptr inbounds i8, i8* %108, i32 1 + store i8* %incdec.ptr180, i8** %p, align 8 + %109 = load i8, i8* %incdec.ptr180, align 1 + %conv181 = sext i8 %109 to i32 + %cmp182 = icmp sgt i32 %107, %conv181 + br i1 %cmp182, label %while.cond179, label %while.end185 + +while.end185: ; preds = %while.cond179 + %110 = load i8*, i8** %p, align 8 + %sub.ptr.lhs.cast186 = ptrtoint i8* %110 to i64 + %sub.ptr.sub187 = sub i64 %sub.ptr.lhs.cast186, ptrtoint ([9 x i8]* @_ppfs_parsespec.spec_ranges to i64) + %conv188 = trunc i64 %sub.ptr.sub187 to i32 + store i32 %conv188, i32* %i, align 4 + %111 = load i32, i32* %dataargtype, align 4 + %112 = load i32, i32* %i, align 4 + %idxprom189 = sext i32 %112 to i64 + %arrayidx190 = getelementptr inbounds [8 x i16], [8 x i16]* @_ppfs_parsespec.spec_or_mask, i64 0, i64 %idxprom189 + %113 = load i16, i16* %arrayidx190, align 2 + %conv191 = sext i16 %113 to i32 + %or192 = or i32 %111, %conv191 + %114 = load i32, i32* %i, align 4 + %idxprom193 = sext i32 %114 to i64 + %arrayidx194 = getelementptr inbounds [8 x i16], [8 x i16]* @_ppfs_parsespec.spec_and_mask, i64 0, i64 %idxprom193 + %115 = load i16, i16* %arrayidx194, align 2 + %conv195 = sext i16 %115 to i32 + %and196 = and i32 %or192, %conv195 + %arrayidx197 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 2 + store i32 %and196, i32* %arrayidx197, align 4 + store i8* getelementptr inbounds ([21 x i8], [21 x i8]* @_ppfs_parsespec.spec_chars, i64 0, i64 0), i8** %p, align 8 + br label %do.end202 + +do.cond199: ; preds = %do.body162 + %incdec.ptr200 = getelementptr inbounds i8, i8* %101, i32 1 + store i8* %incdec.ptr200, i8** %p, align 8 + %116 = load i8, i8* %incdec.ptr200, align 1 + %tobool201 = icmp ne i8 %116, 0 + br i1 %tobool201, label %do.body162, label %do.end202 + +do.end202: ; preds = %do.cond199, %while.end185 + %117 = load i8*, i8** %fmt, align 8 + %118 = load i8, i8* %117, align 1 + %conv203 = sext i8 %118 to i32 + %119 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info204 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %119, i32 0, i32 1 + %spec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info204, i32 0, i32 2 + store i32 %conv203, i32* %spec, align 8 + %120 = load i32, i32* %preci, align 4 + %121 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info205 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %121, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info205, i32 0, i32 0 + store i32 %120, i32* %prec, align 8 + %122 = load i32, i32* %width, align 4 + %123 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info206 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %123, i32 0, i32 1 + %width207 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info206, i32 0, i32 1 + store i32 %122, i32* %width207, align 4 + %124 = load i32, i32* %flags, align 4 + %and208 = and i32 %124, 4 + %tobool209 = icmp ne i32 %and208, 0 + %125 = zext i1 %tobool209 to i64 + %cond = select i1 %tobool209, i32 48, i32 32 + %126 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info210 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %126, i32 0, i32 1 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info210, i32 0, i32 4 + store i32 %cond, i32* %pad, align 8 + %127 = load i32, i32* %flags, align 4 + %and211 = and i32 %127, -5 + %128 = load i32, i32* %dataargtype, align 4 + %and212 = and i32 %128, 3840 + %or213 = or i32 %and211, %and212 + %129 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info214 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %129, i32 0, i32 1 + %_flags215 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info214, i32 0, i32 3 + store i32 %or213, i32* %_flags215, align 4 + %130 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %130, i32 0, i32 3 + store i32 1, i32* %num_data_args, align 8 + %131 = load i8*, i8** %p, align 8 + %132 = load i8, i8* %131, align 1 + %tobool216 = icmp ne i8 %132, 0 + br i1 %tobool216, label %if.end218, label %if.then217 + +if.then217: ; preds = %do.end202 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end218: ; preds = %do.end202 + %133 = load i32, i32* %maxposarg, align 4 + %cmp219 = icmp sgt i32 %133, 0 + br i1 %cmp219, label %if.then221, label %if.else265 + +if.then221: ; preds = %if.end218 + store i32 0, i32* %i, align 4 + br label %do.body222 + +do.body222: ; preds = %do.cond258, %if.then221 + %134 = load i32, i32* %i, align 4 + %cmp223 = icmp sle i32 %134, 2 + br i1 %cmp223, label %cond.true, label %cond.false + +cond.true: ; preds = %do.body222 + %135 = load i32, i32* %i, align 4 + %idxprom225 = sext i32 %135 to i64 + %arrayidx226 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 %idxprom225 + %136 = load i32, i32* %arrayidx226, align 4 + %conv227 = trunc i32 %136 to i8 + %137 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber228 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %137, i32 0, i32 5 + %138 = load i32, i32* %i, align 4 + %idxprom229 = sext i32 %138 to i64 + %arrayidx230 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber228, i64 0, i64 %idxprom229 + store i8 %conv227, i8* %arrayidx230, align 1 + %conv231 = zext i8 %conv227 to i32 + br label %cond.end + +cond.false: ; preds = %do.body222 + %arrayidx232 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 2 + %139 = load i32, i32* %arrayidx232, align 4 + %140 = load i32, i32* %i, align 4 + %sub233 = sub nsw i32 %140, 2 + %add234 = add nsw i32 %139, %sub233 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond235 = phi i32 [ %conv231, %cond.true ], [ %add234, %cond.false ] + store i32 %cond235, i32* %n, align 4 + %141 = load i32, i32* %n, align 4 + %142 = load i32, i32* %maxposarg, align 4 + %cmp236 = icmp sgt i32 %141, %142 + br i1 %cmp236, label %if.then238, label %if.end243 + +if.then238: ; preds = %cond.end + %143 = load i32, i32* %n, align 4 + store i32 %143, i32* %maxposarg, align 4 + %cmp239 = icmp sgt i32 %143, 9 + br i1 %cmp239, label %if.then241, label %if.end243 + +if.then241: ; preds = %if.then238 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end243: ; preds = %if.then238, %cond.end + %144 = load i32, i32* %n, align 4 + %dec = add nsw i32 %144, -1 + store i32 %dec, i32* %n, align 4 + %145 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype244 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %145, i32 0, i32 6 + %146 = load i32, i32* %n, align 4 + %idxprom245 = sext i32 %146 to i64 + %arrayidx246 = getelementptr inbounds [9 x i32], [9 x i32]* %argtype244, i64 0, i64 %idxprom245 + %147 = load i32, i32* %arrayidx246, align 4 + %148 = load i32, i32* %i, align 4 + %idxprom247 = sext i32 %148 to i64 + %arrayidx248 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 %idxprom247 + %149 = load i32, i32* %arrayidx248, align 4 + %call249 = call i32 @_is_equal_or_bigger_arg(i32 %147, i32 %149) #18 + %tobool250 = icmp ne i32 %call249, 0 + br i1 %tobool250, label %if.then251, label %do.cond258 + +if.then251: ; preds = %if.end243 + %150 = load i32, i32* %i, align 4 + %idxprom252 = sext i32 %150 to i64 + %arrayidx253 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 %idxprom252 + %151 = load i32, i32* %arrayidx253, align 4 + %152 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype254 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %152, i32 0, i32 6 + %153 = load i32, i32* %n, align 4 + %idxprom255 = sext i32 %153 to i64 + %arrayidx256 = getelementptr inbounds [9 x i32], [9 x i32]* %argtype254, i64 0, i64 %idxprom255 + store i32 %151, i32* %arrayidx256, align 4 + br label %do.cond258 + +do.cond258: ; preds = %if.end243, %if.then251 + %154 = load i32, i32* %i, align 4 + %inc259 = add nsw i32 %154, 1 + store i32 %inc259, i32* %i, align 4 + %155 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args260 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %155, i32 0, i32 3 + %156 = load i32, i32* %num_data_args260, align 8 + %add261 = add nsw i32 %156, 2 + %cmp262 = icmp slt i32 %inc259, %add261 + br i1 %cmp262, label %do.body222, label %if.end276 + +if.else265: ; preds = %if.end218 + %157 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber266 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %157, i32 0, i32 5 + %arrayidx267 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber266, i64 0, i64 2 + store i8 1, i8* %arrayidx267, align 2 + %158 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype268 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %158, i32 0, i32 6 + %arraydecay269 = getelementptr inbounds [9 x i32], [9 x i32]* %argtype268, i64 0, i64 0 + %159 = bitcast i32* %arraydecay269 to i8* + %arraydecay270 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 0 + %add.ptr271 = getelementptr inbounds i32, i32* %arraydecay270, i64 2 + %160 = bitcast i32* %add.ptr271 to i8* + %161 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args272 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %161, i32 0, i32 3 + %162 = load i32, i32* %num_data_args272, align 8 + %conv273 = sext i32 %162 to i64 + %mul274 = mul i64 %conv273, 4 + %call275 = call i8* @memcpy(i8* %159, i8* %160, i64 %mul274) #19 + br label %if.end276 + +if.end276: ; preds = %do.cond258, %if.else265 + %163 = load i32, i32* %maxposarg, align 4 + %164 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg277 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %164, i32 0, i32 2 + store i32 %163, i32* %maxposarg277, align 4 + %165 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info278 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %165, i32 0, i32 1 + %_flags279 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info278, i32 0, i32 3 + %166 = load i32, i32* %_flags279, align 4 + %and280 = and i32 %166, 128 + store i32 %and280, i32* %flags, align 4 + %cmp281 = icmp eq i32 %and280, 0 + br i1 %cmp281, label %if.then283, label %if.else286 + +if.then283: ; preds = %if.end276 + %167 = load i8*, i8** %fmt, align 8 + %incdec.ptr284 = getelementptr inbounds i8, i8* %167, i32 1 + store i8* %incdec.ptr284, i8** %fmt, align 8 + %168 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos285 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %168, i32 0, i32 0 + store i8* %incdec.ptr284, i8** %fmtpos285, align 8 + br label %if.end293 + +if.else286: ; preds = %if.end276 + %169 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos287 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %169, i32 0, i32 0 + %170 = load i8*, i8** %fmtpos287, align 8 + %171 = bitcast i8* %170 to i32* + %172 = load i8*, i8** %fmt, align 8 + %arraydecay288 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 0 + %sub.ptr.lhs.cast289 = ptrtoint i8* %172 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %arraydecay288 to i64 + %sub.ptr.sub290 = sub i64 %sub.ptr.lhs.cast289, %sub.ptr.rhs.cast + %add.ptr291 = getelementptr inbounds i32, i32* %171, i64 %sub.ptr.sub290 + %173 = bitcast i32* %add.ptr291 to i8* + %174 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos292 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %174, i32 0, i32 0 + store i8* %173, i8** %fmtpos292, align 8 + br label %if.end293 + +if.end293: ; preds = %if.else286, %if.then283 + %175 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args294 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %175, i32 0, i32 3 + %176 = load i32, i32* %num_data_args294, align 8 + %add295 = add nsw i32 %176, 2 + store i32 %add295, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end293, %if.then241, %if.then217, %if.then160, %if.then120, %if.then111, %if.then66, %if.then56, %if.then16 + %177 = load i32, i32* %retval, align 4 + ret i32 %177 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_is_equal_or_bigger_arg(i32 %curtype, i32 %newtype) #0 { +entry: + %retval = alloca i32, align 4 + %curtype.addr = alloca i32, align 4 + %newtype.addr = alloca i32, align 4 + store i32 %curtype, i32* %curtype.addr, align 4 + store i32 %newtype, i32* %newtype.addr, align 4 + %0 = load i32, i32* %newtype.addr, align 4 + %cmp = icmp eq i32 %0, 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %1 = load i32, i32* %curtype.addr, align 4 + %cmp1 = icmp eq i32 %1, 8 + br i1 %cmp1, label %if.then3, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %2 = load i32, i32* %curtype.addr, align 4 + %3 = load i32, i32* %newtype.addr, align 4 + %cmp2 = icmp eq i32 %2, %3 + br i1 %cmp2, label %if.then3, label %if.end4 + +if.then3: ; preds = %lor.lhs.false, %if.end + store i32 1, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %lor.lhs.false + %4 = load i32, i32* %curtype.addr, align 4 + %call = call i32 @_promoted_size(i32 %4) #18 + %5 = load i32, i32* %newtype.addr, align 4 + %call5 = call i32 @_promoted_size(i32 %5) #18 + %cmp6 = icmp sle i32 %call, %call5 + %conv = zext i1 %cmp6 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_promoted_size(i32 %argtype) #0 { +entry: + %argtype.addr = alloca i32, align 4 + %p = alloca i16*, align 8 + store i32 %argtype, i32* %argtype.addr, align 4 + store i16* getelementptr inbounds (i16, i16* getelementptr inbounds ([12 x i16], [12 x i16]* @type_codes, i64 0, i64 0), i64 12), i16** %p, align 8 + br label %do.body + +do.body: ; preds = %do.body, %entry + %0 = load i16*, i16** %p, align 8 + %incdec.ptr = getelementptr inbounds i16, i16* %0, i32 -1 + store i16* %incdec.ptr, i16** %p, align 8 + %1 = load i16, i16* %incdec.ptr, align 2 + %conv = sext i16 %1 to i32 + %2 = load i32, i32* %argtype.addr, align 4 + %cmp = icmp ne i32 %conv, %2 + %3 = load i16*, i16** %p, align 8 + %cmp2 = icmp ugt i16* %3, getelementptr inbounds ([12 x i16], [12 x i16]* @type_codes, i64 0, i64 0) + %or.cond = and i1 %cmp, %cmp2 + br i1 %or.cond, label %do.body, label %do.end + +do.end: ; preds = %do.body + %4 = load i16*, i16** %p, align 8 + %sub.ptr.lhs.cast = ptrtoint i16* %4 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, ptrtoint ([12 x i16]* @type_codes to i64) + %sub.ptr.div = sdiv exact i64 %sub.ptr.sub, 2 + %conv4 = trunc i64 %sub.ptr.div to i32 + %idxprom = sext i32 %conv4 to i64 + %arrayidx = getelementptr inbounds [12 x i8], [12 x i8]* @type_sizes, i64 0, i64 %idxprom + %5 = load i8, i8* %arrayidx, align 1 + %conv5 = zext i8 %5 to i32 + ret i32 %conv5 +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_ppfs_prepargs(%struct.ppfs_t.722* %ppfs, %struct.__va_list_tag.0* %arg) #0 { +entry: + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %arg.addr = alloca %struct.__va_list_tag.0*, align 8 + %i = alloca i32, align 4 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store %struct.__va_list_tag.0* %arg, %struct.__va_list_tag.0** %arg.addr, align 8 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg1 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %0, i32 0, i32 7 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg1, i64 0, i64 0 + %1 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %arg.addr, align 8 + %2 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + %3 = bitcast %struct.__va_list_tag.0* %1 to i8* + %vacopy.cast.dst = bitcast i8* %2 to i64* + %vacopy.cast.src = bitcast i8* %3 to i64* + %4 = load i64, i64* %vacopy.cast.src, align 8 + store volatile i64 %4, i64* %vacopy.cast.dst, align 8 + %5 = getelementptr i64, i64* %vacopy.cast.dst, i64 1 + %6 = getelementptr i64, i64* %vacopy.cast.src, i64 1 + %7 = load i64, i64* %6, align 8 + store i64 %7, i64* %5, align 8 + %8 = getelementptr i64, i64* %5, i64 1 + %9 = getelementptr i64, i64* %6, i64 1 + %10 = load i64, i64* %9, align 8 + store i64 %10, i64* %8, align 8 + %11 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %11, i32 0, i32 2 + %12 = load i32, i32* %maxposarg, align 4 + store i32 %12, i32* %i, align 4 + %cmp = icmp sgt i32 %12, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %13 = load i32, i32* %i, align 4 + %14 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %14, i32 0, i32 3 + store i32 %13, i32* %num_data_args, align 8 + %15 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg2 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %15, i32 0, i32 2 + store i32 0, i32* %maxposarg2, align 4 + %16 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %16, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 0 + store i32 0, i32* %prec, align 8 + %17 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info3 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %17, i32 0, i32 1 + %width = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info3, i32 0, i32 1 + store i32 0, i32* %width, align 4 + %18 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + call void @_ppfs_setargs(%struct.ppfs_t.722* %18) #18 + %19 = load i32, i32* %i, align 4 + %20 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg4 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %20, i32 0, i32 2 + store i32 %19, i32* %maxposarg4, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + ret void +} + +; Function Attrs: nounwind +declare void @llvm.va_copy(i8*, i8*) #11 + +; Function Attrs: noinline nounwind uwtable +define hidden void @_ppfs_setargs(%struct.ppfs_t.722* %ppfs) #0 { +entry: + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %p = alloca %union.anon.193*, align 8 + %i = alloca i32, align 4 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argvalue = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %0, i32 0, i32 8 + %arraydecay = getelementptr inbounds [9 x %union.anon.193], [9 x %union.anon.193]* %argvalue, i64 0, i64 0 + store %union.anon.193* %arraydecay, %union.anon.193** %p, align 8 + %1 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %1, i32 0, i32 2 + %2 = load i32, i32* %maxposarg, align 4 + %cmp = icmp eq i32 %2, 0 + %3 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %3, i32 0, i32 1 + %width = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 1 + %4 = load i32, i32* %width, align 4 + %cmp1 = icmp eq i32 %4, -2147483648 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + br i1 %cmp1, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + %5 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %5, i32 0, i32 7 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 8 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then2 + %6 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 3 + %reg_save_area = load i8*, i8** %6, align 8 + %7 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %8 = bitcast i8* %7 to i32* + %9 = add i32 %gp_offset, 8 + store i32 %9, i32* %gp_offset_p, align 8 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then2 + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %10 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %8, %vaarg.in_reg ], [ %10, %vaarg.in_mem ] + %11 = load i32, i32* %vaarg.addr, align 4 + %12 = load %union.anon.193*, %union.anon.193** %p, align 8 + %u = bitcast %union.anon.193* %12 to i32* + store i32 %11, i32* %u, align 8 + %13 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info4 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %13, i32 0, i32 1 + %width5 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info4, i32 0, i32 1 + store i32 %11, i32* %width5, align 4 + br label %if.end + +if.end: ; preds = %vaarg.end, %if.then + %14 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info6 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %14, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info6, i32 0, i32 0 + %15 = load i32, i32* %prec, align 8 + %cmp7 = icmp eq i32 %15, -2147483648 + br i1 %cmp7, label %if.then8, label %if.end25 + +if.then8: ; preds = %if.end + %16 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg9 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %16, i32 0, i32 7 + %arraydecay10 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg9, i64 0, i64 0 + %gp_offset_p11 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay10, i32 0, i32 0 + %gp_offset12 = load i32, i32* %gp_offset_p11, align 8 + %fits_in_gp13 = icmp ule i32 %gp_offset12, 40 + br i1 %fits_in_gp13, label %vaarg.in_reg14, label %vaarg.in_mem16 + +vaarg.in_reg14: ; preds = %if.then8 + %17 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay10, i32 0, i32 3 + %reg_save_area15 = load i8*, i8** %17, align 8 + %18 = getelementptr i8, i8* %reg_save_area15, i32 %gp_offset12 + %19 = bitcast i8* %18 to i32* + %20 = add i32 %gp_offset12, 8 + store i32 %20, i32* %gp_offset_p11, align 8 + br label %vaarg.end20 + +vaarg.in_mem16: ; preds = %if.then8 + %overflow_arg_area_p17 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay10, i32 0, i32 2 + %overflow_arg_area18 = load i8*, i8** %overflow_arg_area_p17, align 8 + %21 = bitcast i8* %overflow_arg_area18 to i32* + %overflow_arg_area.next19 = getelementptr i8, i8* %overflow_arg_area18, i32 8 + store i8* %overflow_arg_area.next19, i8** %overflow_arg_area_p17, align 8 + br label %vaarg.end20 + +vaarg.end20: ; preds = %vaarg.in_mem16, %vaarg.in_reg14 + %vaarg.addr21 = phi i32* [ %19, %vaarg.in_reg14 ], [ %21, %vaarg.in_mem16 ] + %22 = load i32, i32* %vaarg.addr21, align 4 + %23 = load %union.anon.193*, %union.anon.193** %p, align 8 + %u22 = bitcast %union.anon.193* %23 to i32* + store i32 %22, i32* %u22, align 8 + %24 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info23 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %24, i32 0, i32 1 + %prec24 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info23, i32 0, i32 0 + store i32 %22, i32* %prec24, align 8 + br label %if.end25 + +if.end25: ; preds = %vaarg.end20, %if.end + store i32 0, i32* %i, align 4 + br label %while.cond + +while.cond: ; preds = %NodeBlock, %sw.epilog, %if.end25 + %25 = load i32, i32* %i, align 4 + %26 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %26, i32 0, i32 3 + %27 = load i32, i32* %num_data_args, align 8 + %cmp26 = icmp slt i32 %25, %27 + br i1 %cmp26, label %while.body, label %if.end149 + +while.body: ; preds = %while.cond + %28 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %28, i32 0, i32 6 + %29 = load i32, i32* %i, align 4 + %inc = add nsw i32 %29, 1 + store i32 %inc, i32* %i, align 4 + %idxprom = sext i32 %29 to i64 + %arrayidx = getelementptr inbounds [9 x i32], [9 x i32]* %argtype, i64 0, i64 %idxprom + %30 = load i32, i32* %arrayidx, align 4 + br label %NodeBlock17 + +NodeBlock17: ; preds = %while.body + %case.cmp18 = icmp eq i32 %30, 2048 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %30, 1024 + br i1 %case.cmp16, label %sw.bb40, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %30, 1 + br i1 %case.cmp14, label %sw.bb54, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %30, 256 + br i1 %case.cmp12, label %sw.bb54, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %30, 512 + br i1 %case.cmp10, label %sw.bb54, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %30, 0 + br i1 %case.cmp8, label %sw.bb54, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %30, 2 + br i1 %case.cmp6, label %sw.bb69, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %30, 7 + br i1 %case.cmp4, label %sw.bb83, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %30, 2055 + br i1 %case.cmp2, label %sw.bb94, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %30, 8 + br i1 %case.cmp, label %while.cond, label %newDefault + +sw.bb: ; preds = %NodeBlock17 + %31 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg27 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %31, i32 0, i32 7 + %arraydecay28 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg27, i64 0, i64 0 + %gp_offset_p29 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay28, i32 0, i32 0 + %gp_offset30 = load i32, i32* %gp_offset_p29, align 8 + %fits_in_gp31 = icmp ule i32 %gp_offset30, 40 + br i1 %fits_in_gp31, label %vaarg.in_reg32, label %vaarg.in_mem34 + +vaarg.in_reg32: ; preds = %sw.bb + %32 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay28, i32 0, i32 3 + %reg_save_area33 = load i8*, i8** %32, align 8 + %33 = getelementptr i8, i8* %reg_save_area33, i32 %gp_offset30 + %34 = bitcast i8* %33 to i64* + %35 = add i32 %gp_offset30, 8 + store i32 %35, i32* %gp_offset_p29, align 8 + br label %vaarg.end38 + +vaarg.in_mem34: ; preds = %sw.bb + %overflow_arg_area_p35 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay28, i32 0, i32 2 + %overflow_arg_area36 = load i8*, i8** %overflow_arg_area_p35, align 8 + %36 = bitcast i8* %overflow_arg_area36 to i64* + %overflow_arg_area.next37 = getelementptr i8, i8* %overflow_arg_area36, i32 8 + store i8* %overflow_arg_area.next37, i8** %overflow_arg_area_p35, align 8 + br label %vaarg.end38 + +vaarg.end38: ; preds = %vaarg.in_mem34, %vaarg.in_reg32 + %vaarg.addr39 = phi i64* [ %34, %vaarg.in_reg32 ], [ %36, %vaarg.in_mem34 ] + %37 = load i64, i64* %vaarg.addr39, align 8 + %38 = load %union.anon.193*, %union.anon.193** %p, align 8 + %ull = bitcast %union.anon.193* %38 to i64* + store i64 %37, i64* %ull, align 8 + br label %sw.epilog + +sw.bb40: ; preds = %NodeBlock15 + %39 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg41 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %39, i32 0, i32 7 + %arraydecay42 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg41, i64 0, i64 0 + %gp_offset_p43 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay42, i32 0, i32 0 + %gp_offset44 = load i32, i32* %gp_offset_p43, align 8 + %fits_in_gp45 = icmp ule i32 %gp_offset44, 40 + br i1 %fits_in_gp45, label %vaarg.in_reg46, label %vaarg.in_mem48 + +vaarg.in_reg46: ; preds = %sw.bb40 + %40 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay42, i32 0, i32 3 + %reg_save_area47 = load i8*, i8** %40, align 8 + %41 = getelementptr i8, i8* %reg_save_area47, i32 %gp_offset44 + %42 = bitcast i8* %41 to i64* + %43 = add i32 %gp_offset44, 8 + store i32 %43, i32* %gp_offset_p43, align 8 + br label %vaarg.end52 + +vaarg.in_mem48: ; preds = %sw.bb40 + %overflow_arg_area_p49 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay42, i32 0, i32 2 + %overflow_arg_area50 = load i8*, i8** %overflow_arg_area_p49, align 8 + %44 = bitcast i8* %overflow_arg_area50 to i64* + %overflow_arg_area.next51 = getelementptr i8, i8* %overflow_arg_area50, i32 8 + store i8* %overflow_arg_area.next51, i8** %overflow_arg_area_p49, align 8 + br label %vaarg.end52 + +vaarg.end52: ; preds = %vaarg.in_mem48, %vaarg.in_reg46 + %vaarg.addr53 = phi i64* [ %42, %vaarg.in_reg46 ], [ %44, %vaarg.in_mem48 ] + %45 = load i64, i64* %vaarg.addr53, align 8 + %46 = load %union.anon.193*, %union.anon.193** %p, align 8 + %ul = bitcast %union.anon.193* %46 to i64* + store i64 %45, i64* %ul, align 8 + br label %sw.epilog + +sw.bb54: ; preds = %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7 + %47 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg55 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %47, i32 0, i32 7 + %arraydecay56 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg55, i64 0, i64 0 + %gp_offset_p57 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay56, i32 0, i32 0 + %gp_offset58 = load i32, i32* %gp_offset_p57, align 8 + %fits_in_gp59 = icmp ule i32 %gp_offset58, 40 + br i1 %fits_in_gp59, label %vaarg.in_reg60, label %vaarg.in_mem62 + +vaarg.in_reg60: ; preds = %sw.bb54 + %48 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay56, i32 0, i32 3 + %reg_save_area61 = load i8*, i8** %48, align 8 + %49 = getelementptr i8, i8* %reg_save_area61, i32 %gp_offset58 + %50 = bitcast i8* %49 to i32* + %51 = add i32 %gp_offset58, 8 + store i32 %51, i32* %gp_offset_p57, align 8 + br label %vaarg.end66 + +vaarg.in_mem62: ; preds = %sw.bb54 + %overflow_arg_area_p63 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay56, i32 0, i32 2 + %overflow_arg_area64 = load i8*, i8** %overflow_arg_area_p63, align 8 + %52 = bitcast i8* %overflow_arg_area64 to i32* + %overflow_arg_area.next65 = getelementptr i8, i8* %overflow_arg_area64, i32 8 + store i8* %overflow_arg_area.next65, i8** %overflow_arg_area_p63, align 8 + br label %vaarg.end66 + +vaarg.end66: ; preds = %vaarg.in_mem62, %vaarg.in_reg60 + %vaarg.addr67 = phi i32* [ %50, %vaarg.in_reg60 ], [ %52, %vaarg.in_mem62 ] + %53 = load i32, i32* %vaarg.addr67, align 4 + %54 = load %union.anon.193*, %union.anon.193** %p, align 8 + %u68 = bitcast %union.anon.193* %54 to i32* + store i32 %53, i32* %u68, align 8 + br label %sw.epilog + +sw.bb69: ; preds = %NodeBlock5 + %55 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg70 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %55, i32 0, i32 7 + %arraydecay71 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg70, i64 0, i64 0 + %gp_offset_p72 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay71, i32 0, i32 0 + %gp_offset73 = load i32, i32* %gp_offset_p72, align 8 + %fits_in_gp74 = icmp ule i32 %gp_offset73, 40 + br i1 %fits_in_gp74, label %vaarg.in_reg75, label %vaarg.in_mem77 + +vaarg.in_reg75: ; preds = %sw.bb69 + %56 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay71, i32 0, i32 3 + %reg_save_area76 = load i8*, i8** %56, align 8 + %57 = getelementptr i8, i8* %reg_save_area76, i32 %gp_offset73 + %58 = bitcast i8* %57 to i32* + %59 = add i32 %gp_offset73, 8 + store i32 %59, i32* %gp_offset_p72, align 8 + br label %vaarg.end81 + +vaarg.in_mem77: ; preds = %sw.bb69 + %overflow_arg_area_p78 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay71, i32 0, i32 2 + %overflow_arg_area79 = load i8*, i8** %overflow_arg_area_p78, align 8 + %60 = bitcast i8* %overflow_arg_area79 to i32* + %overflow_arg_area.next80 = getelementptr i8, i8* %overflow_arg_area79, i32 8 + store i8* %overflow_arg_area.next80, i8** %overflow_arg_area_p78, align 8 + br label %vaarg.end81 + +vaarg.end81: ; preds = %vaarg.in_mem77, %vaarg.in_reg75 + %vaarg.addr82 = phi i32* [ %58, %vaarg.in_reg75 ], [ %60, %vaarg.in_mem77 ] + %61 = load i32, i32* %vaarg.addr82, align 4 + %62 = load %union.anon.193*, %union.anon.193** %p, align 8 + %wc = bitcast %union.anon.193* %62 to i32* + store i32 %61, i32* %wc, align 8 + br label %sw.epilog + +sw.bb83: ; preds = %NodeBlock3 + %63 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg84 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %63, i32 0, i32 7 + %arraydecay85 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg84, i64 0, i64 0 + %fp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay85, i32 0, i32 1 + %fp_offset = load i32, i32* %fp_offset_p, align 4 + %fits_in_fp = icmp ule i32 %fp_offset, 160 + br i1 %fits_in_fp, label %vaarg.in_reg86, label %vaarg.in_mem88 + +vaarg.in_reg86: ; preds = %sw.bb83 + %64 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay85, i32 0, i32 3 + %reg_save_area87 = load i8*, i8** %64, align 8 + %65 = getelementptr i8, i8* %reg_save_area87, i32 %fp_offset + %66 = bitcast i8* %65 to double* + %67 = add i32 %fp_offset, 16 + store i32 %67, i32* %fp_offset_p, align 4 + br label %vaarg.end92 + +vaarg.in_mem88: ; preds = %sw.bb83 + %overflow_arg_area_p89 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay85, i32 0, i32 2 + %overflow_arg_area90 = load i8*, i8** %overflow_arg_area_p89, align 8 + %68 = bitcast i8* %overflow_arg_area90 to double* + %overflow_arg_area.next91 = getelementptr i8, i8* %overflow_arg_area90, i32 8 + store i8* %overflow_arg_area.next91, i8** %overflow_arg_area_p89, align 8 + br label %vaarg.end92 + +vaarg.end92: ; preds = %vaarg.in_mem88, %vaarg.in_reg86 + %vaarg.addr93 = phi double* [ %66, %vaarg.in_reg86 ], [ %68, %vaarg.in_mem88 ] + %69 = load double, double* %vaarg.addr93, align 8 + %70 = load %union.anon.193*, %union.anon.193** %p, align 8 + %d = bitcast %union.anon.193* %70 to double* + store double %69, double* %d, align 8 + br label %sw.epilog + +sw.bb94: ; preds = %NodeBlock1 + %71 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg95 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %71, i32 0, i32 7 + %arraydecay96 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg95, i64 0, i64 0 + %fp_offset_p97 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay96, i32 0, i32 1 + %fp_offset98 = load i32, i32* %fp_offset_p97, align 4 + %fits_in_fp99 = icmp ule i32 %fp_offset98, 160 + br i1 %fits_in_fp99, label %vaarg.in_reg100, label %vaarg.in_mem102 + +vaarg.in_reg100: ; preds = %sw.bb94 + %72 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay96, i32 0, i32 3 + %reg_save_area101 = load i8*, i8** %72, align 8 + %73 = getelementptr i8, i8* %reg_save_area101, i32 %fp_offset98 + %74 = bitcast i8* %73 to double* + %75 = add i32 %fp_offset98, 16 + store i32 %75, i32* %fp_offset_p97, align 4 + br label %vaarg.end106 + +vaarg.in_mem102: ; preds = %sw.bb94 + %overflow_arg_area_p103 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay96, i32 0, i32 2 + %overflow_arg_area104 = load i8*, i8** %overflow_arg_area_p103, align 8 + %76 = bitcast i8* %overflow_arg_area104 to double* + %overflow_arg_area.next105 = getelementptr i8, i8* %overflow_arg_area104, i32 8 + store i8* %overflow_arg_area.next105, i8** %overflow_arg_area_p103, align 8 + br label %vaarg.end106 + +vaarg.end106: ; preds = %vaarg.in_mem102, %vaarg.in_reg100 + %vaarg.addr107 = phi double* [ %74, %vaarg.in_reg100 ], [ %76, %vaarg.in_mem102 ] + %77 = load double, double* %vaarg.addr107, align 8 + %78 = load %union.anon.193*, %union.anon.193** %p, align 8 + %ld = bitcast %union.anon.193* %78 to double* + store double %77, double* %ld, align 8 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.bb108 + +sw.bb108: ; preds = %newDefault + %79 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg109 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %79, i32 0, i32 7 + %arraydecay110 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg109, i64 0, i64 0 + %gp_offset_p111 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay110, i32 0, i32 0 + %gp_offset112 = load i32, i32* %gp_offset_p111, align 8 + %fits_in_gp113 = icmp ule i32 %gp_offset112, 40 + br i1 %fits_in_gp113, label %vaarg.in_reg114, label %vaarg.in_mem116 + +vaarg.in_reg114: ; preds = %sw.bb108 + %80 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay110, i32 0, i32 3 + %reg_save_area115 = load i8*, i8** %80, align 8 + %81 = getelementptr i8, i8* %reg_save_area115, i32 %gp_offset112 + %82 = bitcast i8* %81 to i8** + %83 = add i32 %gp_offset112, 8 + store i32 %83, i32* %gp_offset_p111, align 8 + br label %vaarg.end120 + +vaarg.in_mem116: ; preds = %sw.bb108 + %overflow_arg_area_p117 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay110, i32 0, i32 2 + %overflow_arg_area118 = load i8*, i8** %overflow_arg_area_p117, align 8 + %84 = bitcast i8* %overflow_arg_area118 to i8** + %overflow_arg_area.next119 = getelementptr i8, i8* %overflow_arg_area118, i32 8 + store i8* %overflow_arg_area.next119, i8** %overflow_arg_area_p117, align 8 + br label %vaarg.end120 + +vaarg.end120: ; preds = %vaarg.in_mem116, %vaarg.in_reg114 + %vaarg.addr121 = phi i8** [ %82, %vaarg.in_reg114 ], [ %84, %vaarg.in_mem116 ] + %85 = load i8*, i8** %vaarg.addr121, align 8 + %86 = load %union.anon.193*, %union.anon.193** %p, align 8 + %p122 = bitcast %union.anon.193* %86 to i8** + store i8* %85, i8** %p122, align 8 + br label %sw.epilog + +sw.epilog: ; preds = %vaarg.end120, %vaarg.end106, %vaarg.end92, %vaarg.end81, %vaarg.end66, %vaarg.end52, %vaarg.end38 + %87 = load %union.anon.193*, %union.anon.193** %p, align 8 + %incdec.ptr = getelementptr inbounds %union.anon.193, %union.anon.193* %87, i32 1 + store %union.anon.193* %incdec.ptr, %union.anon.193** %p, align 8 + br label %while.cond + +if.else: ; preds = %entry + br i1 %cmp1, label %if.then127, label %if.end133 + +if.then127: ; preds = %if.else + %88 = load %union.anon.193*, %union.anon.193** %p, align 8 + %89 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %89, i32 0, i32 5 + %arrayidx128 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber, i64 0, i64 0 + %90 = load i8, i8* %arrayidx128, align 8 + %conv = zext i8 %90 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds %union.anon.193, %union.anon.193* %88, i64 %idx.ext + %add.ptr129 = getelementptr inbounds %union.anon.193, %union.anon.193* %add.ptr, i64 -1 + %u130 = bitcast %union.anon.193* %add.ptr129 to i32* + %91 = load i32, i32* %u130, align 8 + %92 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info131 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %92, i32 0, i32 1 + %width132 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info131, i32 0, i32 1 + store i32 %91, i32* %width132, align 4 + br label %if.end133 + +if.end133: ; preds = %if.then127, %if.else + %93 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info134 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %93, i32 0, i32 1 + %prec135 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info134, i32 0, i32 0 + %94 = load i32, i32* %prec135, align 8 + %cmp136 = icmp eq i32 %94, -2147483648 + br i1 %cmp136, label %if.then138, label %if.end149 + +if.then138: ; preds = %if.end133 + %95 = load %union.anon.193*, %union.anon.193** %p, align 8 + %96 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber139 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %96, i32 0, i32 5 + %arrayidx140 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber139, i64 0, i64 1 + %97 = load i8, i8* %arrayidx140, align 1 + %conv141 = zext i8 %97 to i32 + %idx.ext142 = sext i32 %conv141 to i64 + %add.ptr143 = getelementptr inbounds %union.anon.193, %union.anon.193* %95, i64 %idx.ext142 + %add.ptr144 = getelementptr inbounds %union.anon.193, %union.anon.193* %add.ptr143, i64 -1 + %u145 = bitcast %union.anon.193* %add.ptr144 to i32* + %98 = load i32, i32* %u145, align 8 + %99 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info146 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %99, i32 0, i32 1 + %prec147 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info146, i32 0, i32 0 + store i32 %98, i32* %prec147, align 8 + br label %if.end149 + +if.end149: ; preds = %if.end133, %if.then138, %while.cond + %100 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info150 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %100, i32 0, i32 1 + %width151 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info150, i32 0, i32 1 + %101 = load i32, i32* %width151, align 4 + %cmp152 = icmp slt i32 %101, 0 + br i1 %cmp152, label %if.then154, label %if.end163 + +if.then154: ; preds = %if.end149 + %102 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info155 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %102, i32 0, i32 1 + %width156 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info155, i32 0, i32 1 + %103 = load i32, i32* %width156, align 4 + %sub = sub nsw i32 0, %103 + %104 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info157 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %104, i32 0, i32 1 + %width158 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info157, i32 0, i32 1 + store i32 %sub, i32* %width158, align 4 + %105 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info159 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %105, i32 0, i32 1 + %_flags = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info159, i32 0, i32 3 + %106 = load i32, i32* %_flags, align 4 + %or = or i32 %106, 8 + store i32 %or, i32* %_flags, align 4 + %107 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info160 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %107, i32 0, i32 1 + %_flags161 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info160, i32 0, i32 3 + %108 = load i32, i32* %_flags161, align 4 + %and = and i32 %108, -2 + store i32 %and, i32* %_flags161, align 4 + %109 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info162 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %109, i32 0, i32 1 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info162, i32 0, i32 4 + store i32 32, i32* %pad, align 8 + br label %if.end163 + +if.end163: ; preds = %if.then154, %if.end149 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_store_inttype(i8* %dest, i32 %desttype, i64 %val) #0 { +entry: + %dest.addr = alloca i8*, align 8 + %desttype.addr = alloca i32, align 4 + %val.addr = alloca i64, align 8 + store i8* %dest, i8** %dest.addr, align 8 + store i32 %desttype, i32* %desttype.addr, align 4 + store i64 %val, i64* %val.addr, align 8 + %0 = load i32, i32* %desttype.addr, align 4 + %cmp = icmp eq i32 %0, 256 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load i64, i64* %val.addr, align 8 + %conv = trunc i64 %1 to i8 + %2 = load i8*, i8** %dest.addr, align 8 + store i8 %conv, i8* %2, align 1 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* %desttype.addr, align 4 + %cmp1 = icmp eq i32 %3, 2048 + br i1 %cmp1, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.end + %4 = load i64, i64* %val.addr, align 8 + %5 = load i8*, i8** %dest.addr, align 8 + %6 = bitcast i8* %5 to i64* + store i64 %4, i64* %6, align 8 + br label %return + +if.end4: ; preds = %if.end + %7 = load i32, i32* %desttype.addr, align 4 + %cmp5 = icmp eq i32 %7, 512 + br i1 %cmp5, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end4 + %8 = load i64, i64* %val.addr, align 8 + %conv8 = trunc i64 %8 to i16 + %9 = load i8*, i8** %dest.addr, align 8 + %10 = bitcast i8* %9 to i16* + store i16 %conv8, i16* %10, align 2 + br label %return + +if.end9: ; preds = %if.end4 + %11 = load i32, i32* %desttype.addr, align 4 + %cmp10 = icmp eq i32 %11, 1024 + %12 = load i64, i64* %val.addr, align 8 + br i1 %cmp10, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.end9 + %13 = load i8*, i8** %dest.addr, align 8 + %14 = bitcast i8* %13 to i64* + store i64 %12, i64* %14, align 8 + br label %return + +if.end13: ; preds = %if.end9 + %conv14 = trunc i64 %12 to i32 + %15 = load i8*, i8** %dest.addr, align 8 + %16 = bitcast i8* %15 to i32* + store i32 %conv14, i32* %16, align 4 + br label %return + +return: ; preds = %if.end13, %if.then12, %if.then7, %if.then3, %if.then + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden i8* @_uintmaxtostr(i8* noalias %bufend, i64 %uval, i32 %base, i32 %alphacase) #0 { +entry: + %bufend.addr = alloca i8*, align 8 + %uval.addr = alloca i64, align 8 + %base.addr = alloca i32, align 4 + %alphacase.addr = alloca i32, align 4 + %negative = alloca i32, align 4 + %digit = alloca i32, align 4 + %H = alloca i32, align 4 + %L = alloca i32, align 4 + %high = alloca i32, align 4 + %low = alloca i32, align 4 + %rh = alloca i32, align 4 + %grouping = alloca i32, align 4 + %outdigit = alloca i32, align 4 + %g = alloca i8*, align 8 + store i8* %bufend, i8** %bufend.addr, align 8 + store i64 %uval, i64* %uval.addr, align 8 + store i32 %base, i32* %base.addr, align 4 + store i32 %alphacase, i32* %alphacase.addr, align 4 + store i32 0, i32* %negative, align 4 + %0 = load i32, i32* %base.addr, align 4 + %cmp = icmp slt i32 %0, 0 + br i1 %cmp, label %if.then, label %if.end4 + +if.then: ; preds = %entry + %1 = load i32, i32* %base.addr, align 4 + %sub = sub nsw i32 0, %1 + store i32 %sub, i32* %base.addr, align 4 + %2 = load i64, i64* %uval.addr, align 8 + %cmp1 = icmp ugt i64 %2, 9223372036854775807 + br i1 %cmp1, label %if.then2, label %if.end4 + +if.then2: ; preds = %if.then + %3 = load i64, i64* %uval.addr, align 8 + %sub3 = sub i64 0, %3 + store i64 %sub3, i64* %uval.addr, align 8 + store i32 1, i32* %negative, align 4 + br label %if.end4 + +if.end4: ; preds = %if.then, %if.then2, %entry + store i32 -1, i32* %grouping, align 4 + %4 = load i32, i32* %alphacase.addr, align 4 + %and = and i32 128, %4 + store i32 %and, i32* %outdigit, align 4 + %5 = load i32, i32* %outdigit, align 4 + %6 = load i32, i32* %alphacase.addr, align 4 + %xor = xor i32 %6, %5 + store i32 %xor, i32* %alphacase.addr, align 4 + %7 = load i32, i32* %alphacase.addr, align 4 + %cmp5 = icmp eq i32 %7, 44 + br i1 %cmp5, label %if.then6, label %if.end10 + +if.then6: ; preds = %if.end4 + %8 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %grouping7 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %8, i32 0, i32 41 + %9 = load i8*, i8** %grouping7, align 8 + store i8* %9, i8** %g, align 8 + %10 = load i8, i8* %9, align 1 + %tobool = icmp ne i8 %10, 0 + br i1 %tobool, label %if.then8, label %if.end10 + +if.then8: ; preds = %if.then6 + %11 = load i8*, i8** %g, align 8 + %12 = load i8, i8* %11, align 1 + %conv = sext i8 %12 to i32 + store i32 %conv, i32* %grouping, align 4 + br label %if.end10 + +if.end10: ; preds = %if.then6, %if.then8, %if.end4 + %13 = load i8*, i8** %bufend.addr, align 8 + store i8 0, i8* %13, align 1 + %14 = load i32, i32* %base.addr, align 4 + %div = udiv i32 -1, %14 + store i32 %div, i32* %H, align 4 + %15 = load i32, i32* %base.addr, align 4 + %rem = urem i32 -1, %15 + %add = add i32 %rem, 1 + store i32 %add, i32* %L, align 4 + %16 = load i32, i32* %L, align 4 + %17 = load i32, i32* %base.addr, align 4 + %cmp11 = icmp eq i32 %16, %17 + br i1 %cmp11, label %if.then13, label %if.end14 + +if.then13: ; preds = %if.end10 + %18 = load i32, i32* %H, align 4 + %inc = add i32 %18, 1 + store i32 %inc, i32* %H, align 4 + store i32 0, i32* %L, align 4 + br label %if.end14 + +if.end14: ; preds = %if.then13, %if.end10 + %19 = load i64, i64* %uval.addr, align 8 + %conv15 = trunc i64 %19 to i32 + store i32 %conv15, i32* %low, align 4 + %20 = load i64, i64* %uval.addr, align 8 + %shr = lshr i64 %20, 32 + %conv16 = trunc i64 %shr to i32 + store i32 %conv16, i32* %high, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %if.end14 + %21 = load i32, i32* %grouping, align 4 + %tobool17 = icmp ne i32 %21, 0 + br i1 %tobool17, label %if.end27, label %if.then18 + +if.then18: ; preds = %do.body + %22 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %thousands_sep_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %22, i32 0, i32 27 + %23 = load i32, i32* %thousands_sep_len, align 4 + %24 = load i8*, i8** %bufend.addr, align 8 + %idx.ext = sext i32 %23 to i64 + %idx.neg = sub i64 0, %idx.ext + %add.ptr = getelementptr inbounds i8, i8* %24, i64 %idx.neg + store i8* %add.ptr, i8** %bufend.addr, align 8 + %25 = load i8*, i8** %bufend.addr, align 8 + %26 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %thousands_sep = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %26, i32 0, i32 40 + %27 = load i8*, i8** %thousands_sep, align 8 + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %thousands_sep_len19 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %28, i32 0, i32 27 + %29 = load i32, i32* %thousands_sep_len19, align 4 + %conv20 = sext i32 %29 to i64 + %call = call i8* @memcpy(i8* %25, i8* %27, i64 %conv20) #19 + %30 = load i8*, i8** %g, align 8 + %arrayidx = getelementptr inbounds i8, i8* %30, i64 1 + %31 = load i8, i8* %arrayidx, align 1 + %conv21 = sext i8 %31 to i32 + %cmp22 = icmp ne i32 %conv21, 0 + br i1 %cmp22, label %if.then24, label %if.end25 + +if.then24: ; preds = %if.then18 + %32 = load i8*, i8** %g, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %32, i32 1 + store i8* %incdec.ptr, i8** %g, align 8 + br label %if.end25 + +if.end25: ; preds = %if.then24, %if.then18 + %33 = load i8*, i8** %g, align 8 + %34 = load i8, i8* %33, align 1 + %conv26 = sext i8 %34 to i32 + store i32 %conv26, i32* %grouping, align 4 + br label %if.end27 + +if.end27: ; preds = %if.end25, %do.body + %35 = load i32, i32* %grouping, align 4 + %dec = add nsw i32 %35, -1 + store i32 %dec, i32* %grouping, align 4 + %36 = load i32, i32* %high, align 4 + %tobool28 = icmp ne i32 %36, 0 + %lnot = xor i1 %tobool28, true + %lnot29 = xor i1 %lnot, true + %lnot.ext = zext i1 %lnot29 to i32 + %conv30 = sext i32 %lnot.ext to i64 + %tobool31 = icmp ne i64 %conv30, 0 + br i1 %tobool31, label %if.then32, label %if.else + +if.then32: ; preds = %if.end27 + %37 = load i32, i32* %high, align 4 + %38 = load i32, i32* %base.addr, align 4 + %rem33 = urem i32 %37, %38 + store i32 %rem33, i32* %rh, align 4 + %39 = load i32, i32* %base.addr, align 4 + %40 = load i32, i32* %high, align 4 + %div34 = udiv i32 %40, %39 + store i32 %div34, i32* %high, align 4 + %41 = load i32, i32* %low, align 4 + %42 = load i32, i32* %base.addr, align 4 + %rem35 = urem i32 %41, %42 + %43 = load i32, i32* %L, align 4 + %44 = load i32, i32* %rh, align 4 + %mul = mul i32 %43, %44 + %add36 = add i32 %rem35, %mul + store i32 %add36, i32* %digit, align 4 + %45 = load i32, i32* %low, align 4 + %46 = load i32, i32* %base.addr, align 4 + %div37 = udiv i32 %45, %46 + %47 = load i32, i32* %H, align 4 + %48 = load i32, i32* %rh, align 4 + %mul38 = mul i32 %47, %48 + %add39 = add i32 %div37, %mul38 + %49 = load i32, i32* %digit, align 4 + %50 = load i32, i32* %base.addr, align 4 + %div40 = udiv i32 %49, %50 + %add41 = add i32 %add39, %div40 + store i32 %add41, i32* %low, align 4 + %51 = load i32, i32* %base.addr, align 4 + %52 = load i32, i32* %digit, align 4 + %rem42 = urem i32 %52, %51 + store i32 %rem42, i32* %digit, align 4 + br label %if.end45 + +if.else: ; preds = %if.end27 + %53 = load i32, i32* %low, align 4 + %54 = load i32, i32* %base.addr, align 4 + %rem43 = urem i32 %53, %54 + store i32 %rem43, i32* %digit, align 4 + %55 = load i32, i32* %base.addr, align 4 + %56 = load i32, i32* %low, align 4 + %div44 = udiv i32 %56, %55 + store i32 %div44, i32* %low, align 4 + br label %if.end45 + +if.end45: ; preds = %if.else, %if.then32 + %57 = load i32, i32* %outdigit, align 4 + %tobool46 = icmp ne i32 %57, 0 + %lnot47 = xor i1 %tobool46, true + %lnot49 = xor i1 %lnot47, true + %lnot.ext50 = zext i1 %lnot49 to i32 + %conv51 = sext i32 %lnot.ext50 to i64 + %tobool52 = icmp ne i64 %conv51, 0 + br i1 %tobool52, label %if.then53, label %if.else66 + +if.then53: ; preds = %if.end45 + %58 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %outdigit_length = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %58, i32 0, i32 11 + %59 = load i32, i32* %digit, align 4 + %idxprom = zext i32 %59 to i64 + %arrayidx54 = getelementptr inbounds [10 x i8], [10 x i8]* %outdigit_length, i64 0, i64 %idxprom + %60 = load i8, i8* %arrayidx54, align 1 + %conv55 = zext i8 %60 to i32 + %61 = load i8*, i8** %bufend.addr, align 8 + %idx.ext56 = sext i32 %conv55 to i64 + %idx.neg57 = sub i64 0, %idx.ext56 + %add.ptr58 = getelementptr inbounds i8, i8* %61, i64 %idx.neg57 + store i8* %add.ptr58, i8** %bufend.addr, align 8 + %62 = load i8*, i8** %bufend.addr, align 8 + %63 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %outdigit0_mb = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %63, i32 0, i32 28 + %64 = load i32, i32* %digit, align 4 + %idxprom59 = zext i32 %64 to i64 + %arrayidx60 = getelementptr inbounds i8*, i8** %outdigit0_mb, i64 %idxprom59 + %65 = load i8*, i8** %arrayidx60, align 8 + %66 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %outdigit_length61 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %66, i32 0, i32 11 + %67 = load i32, i32* %digit, align 4 + %idxprom62 = zext i32 %67 to i64 + %arrayidx63 = getelementptr inbounds [10 x i8], [10 x i8]* %outdigit_length61, i64 0, i64 %idxprom62 + %68 = load i8, i8* %arrayidx63, align 1 + %conv64 = zext i8 %68 to i64 + %call65 = call i8* @memcpy(i8* %62, i8* %65, i64 %conv64) #19 + br label %do.cond + +if.else66: ; preds = %if.end45 + %69 = load i32, i32* %digit, align 4 + %cmp67 = icmp ult i32 %69, 10 + %70 = load i32, i32* %digit, align 4 + %add69 = add i32 %70, 48 + %71 = load i32, i32* %alphacase.addr, align 4 + %add70 = add i32 %70, %71 + %cond = select i1 %cmp67, i32 %add69, i32 %add70 + %conv71 = trunc i32 %cond to i8 + %72 = load i8*, i8** %bufend.addr, align 8 + %incdec.ptr72 = getelementptr inbounds i8, i8* %72, i32 -1 + store i8* %incdec.ptr72, i8** %bufend.addr, align 8 + store i8 %conv71, i8* %incdec.ptr72, align 1 + br label %do.cond + +do.cond: ; preds = %if.then53, %if.else66 + %73 = load i32, i32* %low, align 4 + %74 = load i32, i32* %high, align 4 + %or = or i32 %73, %74 + %tobool74 = icmp ne i32 %or, 0 + br i1 %tobool74, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %75 = load i32, i32* %negative, align 4 + %tobool75 = icmp ne i32 %75, 0 + br i1 %tobool75, label %if.then76, label %if.end78 + +if.then76: ; preds = %do.end + %76 = load i8*, i8** %bufend.addr, align 8 + %incdec.ptr77 = getelementptr inbounds i8, i8* %76, i32 -1 + store i8* %incdec.ptr77, i8** %bufend.addr, align 8 + store i8 45, i8* %incdec.ptr77, align 1 + br label %if.end78 + +if.end78: ; preds = %if.then76, %do.end + %77 = load i8*, i8** %bufend.addr, align 8 + ret i8* %77 +} + +; Function Attrs: noinline nounwind uwtable +define hidden %struct.exit_function* @__new_exitfn() #0 { +entry: + %efp = alloca %struct.exit_function*, align 8 + %0 = load i32, i32* @__exit_slots, align 4 + %1 = load i32, i32* @__exit_count, align 4 + %add = add nsw i32 %1, 1 + %cmp = icmp slt i32 %0, %add + br i1 %cmp, label %if.then, label %if.end6 + +if.then: ; preds = %entry + %2 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + %3 = bitcast %struct.exit_function* %2 to i8* + %4 = load i32, i32* @__exit_slots, align 4 + %add1 = add nsw i32 %4, 20 + %conv = sext i32 %add1 to i64 + %mul = mul i64 %conv, 32 + %call = call noalias i8* @realloc(i8* %3, i64 %mul) #19 + %5 = bitcast i8* %call to %struct.exit_function* + store %struct.exit_function* %5, %struct.exit_function** %efp, align 8 + %6 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %cmp2 = icmp eq %struct.exit_function* %6, null + br i1 %cmp2, label %if.then4, label %if.end + +if.then4: ; preds = %if.then + store i32 12, i32* @errno, align 4 + br label %DONE + +if.end: ; preds = %if.then + %7 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + store %struct.exit_function* %7, %struct.exit_function** @__exit_function_table, align 8 + %8 = load i32, i32* @__exit_slots, align 4 + %add5 = add nsw i32 %8, 20 + store i32 %add5, i32* @__exit_slots, align 4 + br label %if.end6 + +if.end6: ; preds = %if.end, %entry + store void (i32)* @__exit_handler, void (i32)** @__exit_cleanup, align 8 + %9 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + %10 = load i32, i32* @__exit_count, align 4 + %inc = add nsw i32 %10, 1 + store i32 %inc, i32* @__exit_count, align 4 + %idxprom = sext i32 %10 to i64 + %arrayidx = getelementptr inbounds %struct.exit_function, %struct.exit_function* %9, i64 %idxprom + store %struct.exit_function* %arrayidx, %struct.exit_function** %efp, align 8 + %11 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %type = getelementptr inbounds %struct.exit_function, %struct.exit_function* %11, i32 0, i32 0 + store i64 1, i64* %type, align 8 + br label %DONE + +DONE: ; preds = %if.end6, %if.then4 + %12 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + ret %struct.exit_function* %12 +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @__exit_handler(i32 %status) #0 { +entry: + %status.addr = alloca i32, align 4 + %efp = alloca %struct.exit_function*, align 8 + store i32 %status, i32* %status.addr, align 4 + br label %while.cond + +while.cond: ; preds = %sw.epilog, %entry + %0 = load i32, i32* @__exit_count, align 4 + %tobool = icmp ne i32 %0, 0 + %1 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %2 = load i32, i32* @__exit_count, align 4 + %dec = add nsw i32 %2, -1 + store i32 %dec, i32* @__exit_count, align 4 + %idxprom = sext i32 %dec to i64 + %arrayidx = getelementptr inbounds %struct.exit_function, %struct.exit_function* %1, i64 %idxprom + store %struct.exit_function* %arrayidx, %struct.exit_function** %efp, align 8 + %3 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %type = getelementptr inbounds %struct.exit_function, %struct.exit_function* %3, i32 0, i32 0 + %4 = load i64, i64* %type, align 8 + br label %NodeBlock1 + +NodeBlock1: ; preds = %while.body + %case.cmp2 = icmp eq i64 %4, 2 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i64 %4, 3 + br i1 %case.cmp, label %sw.bb7, label %newDefault + +sw.bb: ; preds = %NodeBlock1 + %5 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs = getelementptr inbounds %struct.exit_function, %struct.exit_function* %5, i32 0, i32 1 + %on_exit = bitcast %union.anon.772* %funcs to %struct.anon.779* + %func = getelementptr inbounds %struct.anon.779, %struct.anon.779* %on_exit, i32 0, i32 0 + %6 = load void (i32, i8*)*, void (i32, i8*)** %func, align 8 + %tobool1 = icmp ne void (i32, i8*)* %6, null + br i1 %tobool1, label %if.then, label %sw.epilog + +if.then: ; preds = %sw.bb + %7 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs2 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %7, i32 0, i32 1 + %on_exit3 = bitcast %union.anon.772* %funcs2 to %struct.anon.779* + %func4 = getelementptr inbounds %struct.anon.779, %struct.anon.779* %on_exit3, i32 0, i32 0 + %8 = load void (i32, i8*)*, void (i32, i8*)** %func4, align 8 + %9 = load i32, i32* %status.addr, align 4 + %10 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs5 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %10, i32 0, i32 1 + %on_exit6 = bitcast %union.anon.772* %funcs5 to %struct.anon.779* + %arg = getelementptr inbounds %struct.anon.779, %struct.anon.779* %on_exit6, i32 0, i32 1 + %11 = load i8*, i8** %arg, align 8 + call void %8(i32 %9, i8* %11) #18 + br label %sw.epilog + +sw.bb7: ; preds = %NodeBlock + %12 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs8 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %12, i32 0, i32 1 + %cxa_atexit = bitcast %union.anon.772* %funcs8 to %struct.anon.0.771* + %func9 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit, i32 0, i32 0 + %13 = load void (i8*)*, void (i8*)** %func9, align 8 + %tobool10 = icmp ne void (i8*)* %13, null + br i1 %tobool10, label %if.then11, label %sw.epilog + +if.then11: ; preds = %sw.bb7 + %14 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs12 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %14, i32 0, i32 1 + %cxa_atexit13 = bitcast %union.anon.772* %funcs12 to %struct.anon.0.771* + %func14 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit13, i32 0, i32 0 + %15 = load void (i8*)*, void (i8*)** %func14, align 8 + %16 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs15 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %16, i32 0, i32 1 + %cxa_atexit16 = bitcast %union.anon.772* %funcs15 to %struct.anon.0.771* + %arg17 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit16, i32 0, i32 1 + %17 = load i8*, i8** %arg17, align 8 + call void %15(i8* %17) #18 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.epilog + +sw.epilog: ; preds = %newDefault, %sw.bb7, %if.then11, %sw.bb, %if.then + br label %while.cond + +while.end: ; preds = %while.cond + %tobool19 = icmp ne %struct.exit_function* %1, null + br i1 %tobool19, label %if.then20, label %if.end21 + +if.then20: ; preds = %while.end + %18 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + %19 = bitcast %struct.exit_function* %18 to i8* + call void @free(i8* %19) #19 + br label %if.end21 + +if.end21: ; preds = %if.then20, %while.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__xpg_strerror_r(i32 %errnum, i8* %strerrbuf, i64 %buflen) #0 { +entry: + %errnum.addr = alloca i32, align 4 + %strerrbuf.addr = alloca i8*, align 8 + %buflen.addr = alloca i64, align 8 + %s = alloca i8*, align 8 + %i = alloca i32, align 4 + %retval1 = alloca i32, align 4 + %buf = alloca [50 x i8], align 16 + store i32 %errnum, i32* %errnum.addr, align 4 + store i8* %strerrbuf, i8** %strerrbuf.addr, align 8 + store i64 %buflen, i64* %buflen.addr, align 8 + store i32 22, i32* %retval1, align 4 + %0 = load i32, i32* %errnum.addr, align 4 + store i32 %0, i32* %i, align 4 + %1 = load i32, i32* %i, align 4 + %cmp = icmp ult i32 %1, 125 + br i1 %cmp, label %if.then, label %if.end7 + +if.then: ; preds = %entry + store i8* getelementptr inbounds ([2906 x i8], [2906 x i8]* @_string_syserrmsgs, i64 0, i64 0), i8** %s, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.then + %2 = load i32, i32* %i, align 4 + %tobool = icmp ne i32 %2, 0 + %3 = load i8*, i8** %s, align 8 + %4 = load i8, i8* %3, align 1 + %tobool2 = icmp ne i8 %4, 0 + br i1 %tobool, label %for.body, label %for.end + +for.body: ; preds = %for.cond + br i1 %tobool2, label %for.inc, label %if.then3 + +if.then3: ; preds = %for.body + %5 = load i32, i32* %i, align 4 + %dec = add nsw i32 %5, -1 + store i32 %dec, i32* %i, align 4 + br label %for.inc + +for.inc: ; preds = %for.body, %if.then3 + %6 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + br i1 %tobool2, label %if.then5, label %if.end7 + +if.then5: ; preds = %for.end + store i32 0, i32* %retval1, align 4 + br label %GOT_MESG + +if.end7: ; preds = %for.end, %entry + %arraydecay = getelementptr inbounds [50 x i8], [50 x i8]* %buf, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 50 + %add.ptr8 = getelementptr inbounds i8, i8* %add.ptr, i64 -1 + %7 = load i32, i32* %errnum.addr, align 4 + %conv = sext i32 %7 to i64 + %call = call i8* @_uintmaxtostr(i8* %add.ptr8, i64 %conv, i32 -10, i32 0) #18 + %add.ptr9 = getelementptr inbounds i8, i8* %call, i64 -14 + store i8* %add.ptr9, i8** %s, align 8 + %8 = load i8*, i8** %s, align 8 + %call10 = call i8* @memcpy(i8* %8, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @__xpg_strerror_r.unknown, i64 0, i64 0), i64 14) #19 + br label %GOT_MESG + +GOT_MESG: ; preds = %if.end7, %if.then5 + %9 = load i8*, i8** %strerrbuf.addr, align 8 + %tobool11 = icmp ne i8* %9, null + br i1 %tobool11, label %if.end13, label %if.then12 + +if.then12: ; preds = %GOT_MESG + store i64 0, i64* %buflen.addr, align 8 + br label %if.end13 + +if.end13: ; preds = %if.then12, %GOT_MESG + %10 = load i8*, i8** %s, align 8 + %call14 = call i64 @strlen(i8* %10) #20 + %add = add i64 %call14, 1 + %conv15 = trunc i64 %add to i32 + store i32 %conv15, i32* %i, align 4 + %11 = load i32, i32* %i, align 4 + %conv16 = sext i32 %11 to i64 + %12 = load i64, i64* %buflen.addr, align 8 + %cmp17 = icmp ugt i64 %conv16, %12 + br i1 %cmp17, label %if.then19, label %if.end21 + +if.then19: ; preds = %if.end13 + %13 = load i64, i64* %buflen.addr, align 8 + %conv20 = trunc i64 %13 to i32 + store i32 %conv20, i32* %i, align 4 + store i32 34, i32* %retval1, align 4 + br label %if.end21 + +if.end21: ; preds = %if.then19, %if.end13 + %14 = load i32, i32* %i, align 4 + %tobool22 = icmp ne i32 %14, 0 + br i1 %tobool22, label %if.then23, label %if.end26 + +if.then23: ; preds = %if.end21 + %15 = load i8*, i8** %strerrbuf.addr, align 8 + %16 = load i8*, i8** %s, align 8 + %17 = load i32, i32* %i, align 4 + %conv24 = sext i32 %17 to i64 + %call25 = call i8* @memcpy(i8* %15, i8* %16, i64 %conv24) #19 + %18 = load i8*, i8** %strerrbuf.addr, align 8 + %19 = load i32, i32* %i, align 4 + %sub = sub nsw i32 %19, 1 + %idxprom = sext i32 %sub to i64 + %arrayidx = getelementptr inbounds i8, i8* %18, i64 %idxprom + store i8 0, i8* %arrayidx, align 1 + br label %if.end26 + +if.end26: ; preds = %if.then23, %if.end21 + %20 = load i32, i32* %retval1, align 4 + %tobool27 = icmp ne i32 %20, 0 + br i1 %tobool27, label %if.then28, label %if.end29 + +if.then28: ; preds = %if.end26 + %21 = load i32, i32* %retval1, align 4 + store i32 %21, i32* @errno, align 4 + br label %if.end29 + +if.end29: ; preds = %if.then28, %if.end26 + %22 = load i32, i32* %retval1, align 4 + ret i32 %22 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @memchr(i8* nonnull %s, i32 %c, i64 %n) #14 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %n.addr = alloca i64, align 8 + %r = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %r, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %1 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %2 = load i8*, i8** %r, align 8 + %3 = load i8, i8* %2, align 1 + %conv = zext i8 %3 to i32 + %4 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %4 to i8 + %conv2 = zext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + %5 = load i8*, i8** %r, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + store i8* %5, i8** %retval, align 8 + br label %return + +if.end: ; preds = %while.body + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %r, align 8 + %6 = load i64, i64* %n.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then + %7 = load i8*, i8** %retval, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @memrchr(i8* nonnull %s, i32 %c, i64 %n) #14 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %n.addr = alloca i64, align 8 + %r = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i64, i64* %n.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %0, i64 %1 + store i8* %add.ptr, i8** %r, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %2 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load i8*, i8** %r, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 -1 + store i8* %incdec.ptr, i8** %r, align 8 + %4 = load i8, i8* %incdec.ptr, align 1 + %conv = zext i8 %4 to i32 + %5 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %5 to i8 + %conv2 = zext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + %6 = load i8*, i8** %r, align 8 + store i8* %6, i8** %retval, align 8 + br label %return + +if.end: ; preds = %while.body + %7 = load i64, i64* %n.addr, align 8 + %dec = add i64 %7, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then + %8 = load i8*, i8** %retval, align 8 + ret i8* %8 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @strlcpy(i8* noalias nonnull %dst, i8* noalias nonnull %src, i64 %n) #0 { +entry: + %dst.addr = alloca i8*, align 8 + %src.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %src0 = alloca i8*, align 8 + %dummy = alloca [1 x i8], align 1 + store i8* %dst, i8** %dst.addr, align 8 + store i8* %src, i8** %src.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %src.addr, align 8 + store i8* %0, i8** %src0, align 8 + %1 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x i8], [1 x i8]* %dummy, i64 0, i64 0 + store i8* %arraydecay, i8** %dst.addr, align 8 + br label %if.end + +if.else: ; preds = %entry + %2 = load i64, i64* %n.addr, align 8 + %dec = add i64 %2, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %if.end + +if.end: ; preds = %if.else, %if.then + br label %while.cond + +while.cond: ; preds = %if.end5, %if.end + %3 = load i8*, i8** %src.addr, align 8 + %4 = load i8, i8* %3, align 1 + %5 = load i8*, i8** %dst.addr, align 8 + store i8 %4, i8* %5, align 1 + %conv = sext i8 %4 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %6 = load i64, i64* %n.addr, align 8 + %tobool2 = icmp ne i64 %6, 0 + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %while.body + %7 = load i64, i64* %n.addr, align 8 + %dec4 = add i64 %7, -1 + store i64 %dec4, i64* %n.addr, align 8 + %8 = load i8*, i8** %dst.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %8, i32 1 + store i8* %incdec.ptr, i8** %dst.addr, align 8 + br label %if.end5 + +if.end5: ; preds = %if.then3, %while.body + %9 = load i8*, i8** %src.addr, align 8 + %incdec.ptr6 = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr6, i8** %src.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %10 = load i8*, i8** %src.addr, align 8 + %11 = load i8*, i8** %src0, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %10 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %11 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind readonly uwtable +define i64 @strnlen(i8* nonnull %s, i64 %max) #14 { +entry: + %s.addr = alloca i8*, align 8 + %max.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i64 %max, i64* %max.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %1 = load i64, i64* %max.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %2 = load i8*, i8** %p, align 8 + %3 = load i8, i8* %2, align 1 + %conv = sext i8 %3 to i32 + %tobool1 = icmp ne i32 %conv, 0 + br label %land.end + +land.end: ; preds = %land.rhs, %while.cond + %4 = phi i1 [ false, %while.cond ], [ %tobool1, %land.rhs ] + %5 = load i8*, i8** %p, align 8 + br i1 %4, label %while.body, label %while.end + +while.body: ; preds = %land.end + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %6 = load i64, i64* %max.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %max.addr, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %7 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind uwtable +define i8* @strtok_r(i8* noalias %s1, i8* noalias nonnull %s2, i8** noalias nonnull %next_start) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %next_start.addr = alloca i8**, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i8** %next_start, i8*** %next_start.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + %cmp = icmp ne i8* %0, null + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %1 = load i8**, i8*** %next_start.addr, align 8 + %2 = load i8*, i8** %1, align 8 + store i8* %2, i8** %s, align 8 + %cmp1 = icmp ne i8* %2, null + br i1 %cmp1, label %if.then, label %if.end7 + +if.then: ; preds = %lor.lhs.false, %entry + %3 = load i8*, i8** %s, align 8 + %4 = load i8*, i8** %s2.addr, align 8 + %call = call i64 @strspn(i8* %3, i8* %4) #20 + %5 = load i8*, i8** %s, align 8 + %add.ptr = getelementptr inbounds i8, i8* %5, i64 %call + store i8* %add.ptr, i8** %s, align 8 + %6 = load i8, i8* %add.ptr, align 1 + %tobool = icmp ne i8 %6, 0 + br i1 %tobool, label %if.then2, label %if.else + +if.then2: ; preds = %if.then + %7 = load i8*, i8** %s, align 8 + %8 = load i8*, i8** %s2.addr, align 8 + %call3 = call i8* @strpbrk(i8* %7, i8* %8) #20 + store i8* %call3, i8** %p, align 8 + %cmp4 = icmp ne i8* %call3, null + br i1 %cmp4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.then2 + %9 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + store i8 0, i8* %9, align 1 + br label %if.end6 + +if.else: ; preds = %if.then + store i8* null, i8** %s, align 8 + store i8* null, i8** %p, align 8 + br label %if.end6 + +if.end6: ; preds = %if.then2, %if.then5, %if.else + %10 = load i8*, i8** %p, align 8 + %11 = load i8**, i8*** %next_start.addr, align 8 + store i8* %10, i8** %11, align 8 + br label %if.end7 + +if.end7: ; preds = %if.end6, %lor.lhs.false + %12 = load i8*, i8** %s, align 8 + ret i8* %12 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @mbsrtowcs(i32* noalias %dst, i8** noalias %src, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %dst.addr = alloca i32*, align 8 + %src.addr = alloca i8**, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + store i32* %dst, i32** %dst.addr, align 8 + store i8** %src, i8*** %src.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load i32*, i32** %dst.addr, align 8 + %1 = load i8**, i8*** %src.addr, align 8 + %2 = load i64, i64* %len.addr, align 8 + %3 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %cmp = icmp ne %struct.__mbstate_t.512* %3, null + %4 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %cond = select i1 %cmp, %struct.__mbstate_t.512* %4, %struct.__mbstate_t.512* @mbsrtowcs.mbstate + %call = call i64 @mbsnrtowcs(i32* %0, i8** %1, i64 -1, i64 %2, %struct.__mbstate_t.512* %cond) #19 + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define i64 @wcsnrtombs(i8* noalias %dst, i32** noalias %src, i64 %NWC, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %retval = alloca i64, align 8 + %dst.addr = alloca i8*, align 8 + %src.addr = alloca i32**, align 8 + %NWC.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %s = alloca i32*, align 8 + %count = alloca i64, align 8 + %incr = alloca i32, align 4 + %buf = alloca [16 x i8], align 16 + %wc = alloca i32, align 4 + %u = alloca i32, align 4 + store i8* %dst, i8** %dst.addr, align 8 + store i32** %src, i32*** %src.addr, align 8 + store i64 %NWC, i64* %NWC.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 9 + %1 = load i8, i8* %encoding, align 8 + %conv = zext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load i8*, i8** %dst.addr, align 8 + %3 = load i64, i64* %len.addr, align 8 + %4 = load i32**, i32*** %src.addr, align 8 + %5 = load i64, i64* %NWC.addr, align 8 + %call = call i64 @_wchar_wcsntoutf8s(i8* %2, i64 %3, i32** %4, i64 %5) #18 + store i64 %call, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + store i32 1, i32* %incr, align 4 + %6 = load i8*, i8** %dst.addr, align 8 + %tobool = icmp ne i8* %6, null + br i1 %tobool, label %lor.lhs.false, label %if.then4 + +lor.lhs.false: ; preds = %if.end + %7 = load i8*, i8** %dst.addr, align 8 + %8 = load i32**, i32*** %src.addr, align 8 + %9 = bitcast i32** %8 to i8* + %cmp2 = icmp eq i8* %7, %9 + br i1 %cmp2, label %if.then4, label %if.end8 + +if.then4: ; preds = %lor.lhs.false, %if.end + %10 = load i8*, i8** %dst.addr, align 8 + %tobool5 = icmp ne i8* %10, null + br i1 %tobool5, label %if.end7, label %if.then6 + +if.then6: ; preds = %if.then4 + store i64 -1, i64* %len.addr, align 8 + br label %if.end7 + +if.end7: ; preds = %if.then6, %if.then4 + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay, i8** %dst.addr, align 8 + store i32 0, i32* %incr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end7, %lor.lhs.false + %11 = load i64, i64* %len.addr, align 8 + %12 = load i64, i64* %NWC.addr, align 8 + %cmp9 = icmp ugt i64 %11, %12 + br i1 %cmp9, label %if.then11, label %if.end12 + +if.then11: ; preds = %if.end8 + %13 = load i64, i64* %NWC.addr, align 8 + store i64 %13, i64* %len.addr, align 8 + br label %if.end12 + +if.end12: ; preds = %if.then11, %if.end8 + %14 = load i64, i64* %len.addr, align 8 + store i64 %14, i64* %count, align 8 + %15 = load i32**, i32*** %src.addr, align 8 + %16 = load i32*, i32** %15, align 8 + store i32* %16, i32** %s, align 8 + %17 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding13 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %17, i32 0, i32 9 + %18 = load i8, i8* %encoding13, align 8 + %conv14 = zext i8 %18 to i32 + %cmp15 = icmp eq i32 %conv14, 2 + br i1 %cmp15, label %while.cond, label %while.cond52 + +while.cond: ; preds = %if.end12, %if.end45 + %19 = load i64, i64* %count, align 8 + %tobool18 = icmp ne i64 %19, 0 + br i1 %tobool18, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %20 = load i32*, i32** %s, align 8 + %21 = load i32, i32* %20, align 4 + store i32 %21, i32* %wc, align 4 + %cmp19 = icmp ule i32 %21, 127 + br i1 %cmp19, label %if.then21, label %if.else + +if.then21: ; preds = %while.body + %22 = load i32, i32* %wc, align 4 + %conv22 = trunc i32 %22 to i8 + %23 = load i8*, i8** %dst.addr, align 8 + store i8 %conv22, i8* %23, align 1 + %tobool23 = icmp ne i8 %conv22, 0 + br i1 %tobool23, label %if.end45, label %if.then24 + +if.then24: ; preds = %if.then21 + store i32* null, i32** %s, align 8 + br label %while.end + +if.else: ; preds = %while.body + store i32 0, i32* %u, align 4 + %24 = load i32, i32* %wc, align 4 + %cmp26 = icmp ule i32 %24, 9727 + br i1 %cmp26, label %if.then28, label %if.end42 + +if.then28: ; preds = %if.else + %25 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %idx8wc2c = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %25, i32 0, i32 18 + %26 = load i8*, i8** %idx8wc2c, align 8 + %27 = load i32, i32* %wc, align 4 + %shr = lshr i32 %27, 8 + %idxprom = zext i32 %shr to i64 + %arrayidx = getelementptr inbounds i8, i8* %26, i64 %idxprom + %28 = load i8, i8* %arrayidx, align 1 + %conv29 = zext i8 %28 to i32 + store i32 %conv29, i32* %u, align 4 + %29 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %tbl8wc2c = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %29, i32 0, i32 19 + %30 = load i8*, i8** %tbl8wc2c, align 8 + %31 = load i32, i32* %u, align 4 + %shl = shl i32 %31, 4 + %32 = load i32, i32* %wc, align 4 + %shr30 = lshr i32 %32, 4 + %and = and i32 %shr30, 15 + %add = add i32 %shl, %and + %idxprom31 = zext i32 %add to i64 + %arrayidx32 = getelementptr inbounds i8, i8* %30, i64 %idxprom31 + %33 = load i8, i8* %arrayidx32, align 1 + %conv33 = zext i8 %33 to i32 + store i32 %conv33, i32* %u, align 4 + %34 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %tbl8wc2c34 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %34, i32 0, i32 19 + %35 = load i8*, i8** %tbl8wc2c34, align 8 + %36 = load i32, i32* %u, align 4 + %shl35 = shl i32 %36, 4 + %add36 = add i32 1072, %shl35 + %37 = load i32, i32* %wc, align 4 + %and37 = and i32 %37, 15 + %add38 = add i32 %add36, %and37 + %idxprom39 = zext i32 %add38 to i64 + %arrayidx40 = getelementptr inbounds i8, i8* %35, i64 %idxprom39 + %38 = load i8, i8* %arrayidx40, align 1 + %conv41 = zext i8 %38 to i32 + store i32 %conv41, i32* %u, align 4 + br label %if.end42 + +if.end42: ; preds = %if.then28, %if.else + %39 = load i32, i32* %u, align 4 + %tobool43 = icmp ne i32 %39, 0 + %40 = load i32, i32* %u, align 4 + %cond = select i1 %tobool43, i32 %40, i32 63 + %conv44 = trunc i32 %cond to i8 + %41 = load i8*, i8** %dst.addr, align 8 + store i8 %conv44, i8* %41, align 1 + br label %if.end45 + +if.end45: ; preds = %if.then21, %if.end42 + %42 = load i32*, i32** %s, align 8 + %incdec.ptr = getelementptr inbounds i32, i32* %42, i32 1 + store i32* %incdec.ptr, i32** %s, align 8 + %43 = load i32, i32* %incr, align 4 + %44 = load i8*, i8** %dst.addr, align 8 + %idx.ext = sext i32 %43 to i64 + %add.ptr = getelementptr inbounds i8, i8* %44, i64 %idx.ext + store i8* %add.ptr, i8** %dst.addr, align 8 + %45 = load i64, i64* %count, align 8 + %dec = add i64 %45, -1 + store i64 %dec, i64* %count, align 8 + br label %while.cond + +while.end: ; preds = %if.then24, %while.cond + %46 = load i8*, i8** %dst.addr, align 8 + %arraydecay46 = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + %cmp47 = icmp ne i8* %46, %arraydecay46 + br i1 %cmp47, label %if.then49, label %if.end50 + +if.then49: ; preds = %while.end + %47 = load i32*, i32** %s, align 8 + %48 = load i32**, i32*** %src.addr, align 8 + store i32* %47, i32** %48, align 8 + br label %if.end50 + +if.end50: ; preds = %if.then49, %while.end + %49 = load i64, i64* %len.addr, align 8 + %50 = load i64, i64* %count, align 8 + %sub = sub i64 %49, %50 + store i64 %sub, i64* %retval, align 8 + br label %return + +while.cond52: ; preds = %if.end12, %if.end64 + %51 = load i64, i64* %count, align 8 + %tobool53 = icmp ne i64 %51, 0 + br i1 %tobool53, label %while.body54, label %while.end69 + +while.body54: ; preds = %while.cond52 + %52 = load i32*, i32** %s, align 8 + %53 = load i32, i32* %52, align 4 + %cmp55 = icmp uge i32 %53, 128 + br i1 %cmp55, label %if.then57, label %if.end58 + +if.then57: ; preds = %while.body54 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end58: ; preds = %while.body54 + %54 = load i32*, i32** %s, align 8 + %55 = load i32, i32* %54, align 4 + %conv59 = trunc i32 %55 to i8 + %56 = load i8*, i8** %dst.addr, align 8 + store i8 %conv59, i8* %56, align 1 + %conv60 = sext i8 %conv59 to i32 + %cmp61 = icmp eq i32 %conv60, 0 + br i1 %cmp61, label %if.then63, label %if.end64 + +if.then63: ; preds = %if.end58 + store i32* null, i32** %s, align 8 + br label %while.end69 + +if.end64: ; preds = %if.end58 + %57 = load i32*, i32** %s, align 8 + %incdec.ptr65 = getelementptr inbounds i32, i32* %57, i32 1 + store i32* %incdec.ptr65, i32** %s, align 8 + %58 = load i32, i32* %incr, align 4 + %59 = load i8*, i8** %dst.addr, align 8 + %idx.ext66 = sext i32 %58 to i64 + %add.ptr67 = getelementptr inbounds i8, i8* %59, i64 %idx.ext66 + store i8* %add.ptr67, i8** %dst.addr, align 8 + %60 = load i64, i64* %count, align 8 + %dec68 = add i64 %60, -1 + store i64 %dec68, i64* %count, align 8 + br label %while.cond52 + +while.end69: ; preds = %if.then63, %while.cond52 + %61 = load i8*, i8** %dst.addr, align 8 + %arraydecay70 = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + %cmp71 = icmp ne i8* %61, %arraydecay70 + br i1 %cmp71, label %if.then73, label %if.end74 + +if.then73: ; preds = %while.end69 + %62 = load i32*, i32** %s, align 8 + %63 = load i32**, i32*** %src.addr, align 8 + store i32* %62, i32** %63, align 8 + br label %if.end74 + +if.end74: ; preds = %if.then73, %while.end69 + %64 = load i64, i64* %len.addr, align 8 + %65 = load i64, i64* %count, align 8 + %sub75 = sub i64 %64, %65 + store i64 %sub75, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end74, %if.then57, %if.end50, %if.then + %66 = load i64, i64* %retval, align 8 + ret i64 %66 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @strpbrk(i8* nonnull %s1, i8* nonnull %s2) #14 { +entry: + %retval = alloca i8*, align 8 + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc6, %entry + %1 = load i8*, i8** %s, align 8 + %2 = load i8, i8* %1, align 1 + %tobool = icmp ne i8 %2, 0 + br i1 %tobool, label %for.body, label %for.end8 + +for.body: ; preds = %for.cond + %3 = load i8*, i8** %s2.addr, align 8 + store i8* %3, i8** %p, align 8 + br label %for.cond1 + +for.cond1: ; preds = %for.inc, %for.body + %4 = load i8*, i8** %p, align 8 + %5 = load i8, i8* %4, align 1 + %tobool2 = icmp ne i8 %5, 0 + br i1 %tobool2, label %for.body3, label %for.inc6 + +for.body3: ; preds = %for.cond1 + %6 = load i8*, i8** %p, align 8 + %7 = load i8, i8* %6, align 1 + %conv = sext i8 %7 to i32 + %8 = load i8*, i8** %s, align 8 + %9 = load i8, i8* %8, align 1 + %conv4 = sext i8 %9 to i32 + %cmp = icmp eq i32 %conv, %conv4 + br i1 %cmp, label %if.then, label %for.inc + +if.then: ; preds = %for.body3 + %10 = load i8*, i8** %s, align 8 + store i8* %10, i8** %retval, align 8 + br label %return + +for.inc: ; preds = %for.body3 + %11 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %11, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + br label %for.cond1 + +for.inc6: ; preds = %for.cond1 + %12 = load i8*, i8** %s, align 8 + %incdec.ptr7 = getelementptr inbounds i8, i8* %12, i32 1 + store i8* %incdec.ptr7, i8** %s, align 8 + br label %for.cond + +for.end8: ; preds = %for.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %for.end8, %if.then + %13 = load i8*, i8** %retval, align 8 + ret i8* %13 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i64 @strspn(i8* nonnull %s1, i8* nonnull %s2) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %2 = load i8*, i8** %p, align 8 + %3 = load i8, i8* %2, align 1 + %tobool = icmp ne i8 %3, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %5 = load i8, i8* %4, align 1 + %conv = sext i8 %5 to i32 + %6 = load i8*, i8** %s, align 8 + %7 = load i8, i8* %6, align 1 + %conv1 = sext i8 %7 to i32 + %cmp = icmp eq i32 %conv, %conv1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + %8 = load i8*, i8** %s, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %8, i32 1 + store i8* %incdec.ptr3, i8** %s, align 8 + %9 = load i8*, i8** %s2.addr, align 8 + store i8* %9, i8** %p, align 8 + br label %if.end + +if.end: ; preds = %if.then, %while.body + br label %while.cond + +while.end: ; preds = %while.cond + %10 = load i8*, i8** %s, align 8 + %11 = load i8*, i8** %s1.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %10 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %11 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_wchar_wcsntoutf8s(i8* noalias %s, i64 %n, i32** noalias %src, i64 %wn) #0 { +entry: + %retval = alloca i64, align 8 + %s.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %src.addr = alloca i32**, align 8 + %wn.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + %len = alloca i64, align 8 + %t = alloca i64, align 8 + %wc = alloca i32, align 4 + %swc = alloca i32*, align 8 + %store = alloca i32, align 4 + %buf = alloca [16 x i8], align 16 + %m = alloca i8, align 1 + store i8* %s, i8** %s.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i32** %src, i32*** %src.addr, align 8 + store i64 %wn, i64* %wn.addr, align 8 + store i32 1, i32* %store, align 4 + %0 = load i8*, i8** %s.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %lor.lhs.false, label %if.then + +lor.lhs.false: ; preds = %entry + %1 = load i8*, i8** %s.addr, align 8 + %2 = load i32**, i32*** %src.addr, align 8 + %3 = bitcast i32** %2 to i8* + %cmp = icmp eq i8* %1, %3 + br i1 %cmp, label %if.then, label %if.end3 + +if.then: ; preds = %lor.lhs.false, %entry + %4 = load i8*, i8** %s.addr, align 8 + %tobool1 = icmp ne i8* %4, null + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + store i64 -1, i64* %n.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay, i8** %s.addr, align 8 + store i32 0, i32* %store, align 4 + br label %if.end3 + +if.end3: ; preds = %if.end, %lor.lhs.false + %5 = load i64, i64* %n.addr, align 8 + store i64 %5, i64* %t, align 8 + %6 = load i32**, i32*** %src.addr, align 8 + %7 = load i32*, i32** %6, align 8 + store i32* %7, i32** %swc, align 8 + br label %while.cond + +while.cond: ; preds = %if.end51, %if.end3 + %8 = load i64, i64* %wn.addr, align 8 + %tobool4 = icmp ne i64 %8, 0 + %9 = load i64, i64* %t, align 8 + %tobool5 = icmp ne i64 %9, 0 + %10 = select i1 %tobool4, i1 %tobool5, i1 false + br i1 %10, label %while.body, label %while.end52 + +while.body: ; preds = %while.cond + %11 = load i32*, i32** %swc, align 8 + %12 = load i32, i32* %11, align 4 + store i32 %12, i32* %wc, align 4 + %13 = load i32, i32* %wc, align 4 + %conv = trunc i32 %13 to i8 + %14 = load i8*, i8** %s.addr, align 8 + store i8 %conv, i8* %14, align 1 + store i64 1, i64* %len, align 8 + %15 = load i32, i32* %wc, align 4 + %cmp6 = icmp uge i32 %15, 128 + %16 = load i32, i32* %wc, align 4 + br i1 %cmp6, label %if.then8, label %if.else + +if.then8: ; preds = %while.body + %conv9 = zext i32 %16 to i64 + %cmp10 = icmp ugt i64 %conv9, 2147483647 + br i1 %cmp10, label %if.then19, label %lor.lhs.false12 + +lor.lhs.false12: ; preds = %if.then8 + %17 = load i32, i32* %wc, align 4 + %sub = sub i32 %17, 65534 + %cmp13 = icmp ult i32 %sub, 2 + br i1 %cmp13, label %if.then19, label %lor.lhs.false15 + +lor.lhs.false15: ; preds = %lor.lhs.false12 + %18 = load i32, i32* %wc, align 4 + %sub16 = sub i32 %18, 55296 + %cmp17 = icmp ult i32 %sub16, 2048 + br i1 %cmp17, label %if.then19, label %if.end20 + +if.then19: ; preds = %lor.lhs.false15, %lor.lhs.false12, %if.then8 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end20: ; preds = %lor.lhs.false15 + %19 = load i32, i32* %wc, align 4 + %shr = lshr i32 %19, 1 + store i32 %shr, i32* %wc, align 4 + %20 = load i8*, i8** %s.addr, align 8 + store i8* %20, i8** %p, align 8 + br label %do.body + +do.body: ; preds = %do.body, %if.end20 + %21 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %21, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %22 = load i32, i32* %wc, align 4 + %shr21 = lshr i32 %22, 5 + store i32 %shr21, i32* %wc, align 4 + %tobool22 = icmp ne i32 %shr21, 0 + br i1 %tobool22, label %do.body, label %do.end + +do.end: ; preds = %do.body + %23 = load i32*, i32** %swc, align 8 + %24 = load i32, i32* %23, align 4 + store i32 %24, i32* %wc, align 4 + %25 = load i8*, i8** %p, align 8 + %26 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %25 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %26 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %len, align 8 + %27 = load i64, i64* %t, align 8 + %cmp23 = icmp ugt i64 %sub.ptr.sub, %27 + br i1 %cmp23, label %while.end52, label %if.end26 + +if.end26: ; preds = %do.end + store i8 -128, i8* %m, align 1 + br label %while.cond27 + +while.cond27: ; preds = %while.body30, %if.end26 + %28 = load i8*, i8** %p, align 8 + %29 = load i8*, i8** %s.addr, align 8 + %cmp28 = icmp ugt i8* %28, %29 + %30 = load i8, i8* %m, align 1 + %conv31 = sext i8 %30 to i32 + br i1 %cmp28, label %while.body30, label %while.end + +while.body30: ; preds = %while.cond27 + %shr32 = ashr i32 %conv31, 1 + %or = or i32 %shr32, 128 + %conv33 = trunc i32 %or to i8 + store i8 %conv33, i8* %m, align 1 + %31 = load i32, i32* %wc, align 4 + %and = and i32 %31, 63 + %or34 = or i32 %and, 128 + %conv35 = trunc i32 %or34 to i8 + %32 = load i8*, i8** %p, align 8 + %incdec.ptr36 = getelementptr inbounds i8, i8* %32, i32 -1 + store i8* %incdec.ptr36, i8** %p, align 8 + store i8 %conv35, i8* %incdec.ptr36, align 1 + %33 = load i32, i32* %wc, align 4 + %shr37 = lshr i32 %33, 6 + store i32 %shr37, i32* %wc, align 4 + br label %while.cond27 + +while.end: ; preds = %while.cond27 + %shl = shl i32 %conv31, 1 + %34 = load i8*, i8** %s.addr, align 8 + %35 = load i8, i8* %34, align 1 + %conv39 = sext i8 %35 to i32 + %or40 = or i32 %conv39, %shl + %conv41 = trunc i32 %or40 to i8 + store i8 %conv41, i8* %34, align 1 + br label %if.end46 + +if.else: ; preds = %while.body + %cmp42 = icmp eq i32 %16, 0 + br i1 %cmp42, label %if.then44, label %if.end46 + +if.then44: ; preds = %if.else + store i32* null, i32** %swc, align 8 + br label %while.end52 + +if.end46: ; preds = %if.else, %while.end + %36 = load i32*, i32** %swc, align 8 + %incdec.ptr47 = getelementptr inbounds i32, i32* %36, i32 1 + store i32* %incdec.ptr47, i32** %swc, align 8 + %37 = load i64, i64* %wn.addr, align 8 + %dec = add i64 %37, -1 + store i64 %dec, i64* %wn.addr, align 8 + %38 = load i64, i64* %len, align 8 + %39 = load i64, i64* %t, align 8 + %sub48 = sub i64 %39, %38 + store i64 %sub48, i64* %t, align 8 + %40 = load i32, i32* %store, align 4 + %tobool49 = icmp ne i32 %40, 0 + br i1 %tobool49, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.end46 + %41 = load i64, i64* %len, align 8 + %42 = load i8*, i8** %s.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %42, i64 %41 + store i8* %add.ptr, i8** %s.addr, align 8 + br label %if.end51 + +if.end51: ; preds = %if.then50, %if.end46 + br label %while.cond + +while.end52: ; preds = %do.end, %if.then44, %while.cond + %43 = load i32, i32* %store, align 4 + %tobool53 = icmp ne i32 %43, 0 + br i1 %tobool53, label %if.then54, label %if.end55 + +if.then54: ; preds = %while.end52 + %44 = load i32*, i32** %swc, align 8 + %45 = load i32**, i32*** %src.addr, align 8 + store i32* %44, i32** %45, align 8 + br label %if.end55 + +if.end55: ; preds = %if.then54, %while.end52 + %46 = load i64, i64* %n.addr, align 8 + %47 = load i64, i64* %t, align 8 + %sub56 = sub i64 %46, %47 + store i64 %sub56, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end55, %if.then19 + %48 = load i64, i64* %retval, align 8 + ret i64 %48 +} + +attributes #0 = { noinline nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #1 = { noinline noreturn nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #2 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #3 = { noinline nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #4 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #5 = { "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #6 = { noinline noreturn nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #7 = { noreturn "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #8 = { argmemonly nounwind willreturn writeonly } +attributes #9 = { argmemonly nounwind willreturn } +attributes #10 = { noreturn nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #11 = { nounwind } +attributes #12 = { noinline nounwind readnone uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #13 = { noreturn "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #14 = { noinline nounwind readonly uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #15 = { noinline nounwind readonly uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #16 = { noinline nounwind returns_twice uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #17 = { "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #18 = { nobuiltin "no-builtins" } +attributes #19 = { nobuiltin nounwind "no-builtins" } +attributes #20 = { nobuiltin nounwind readonly "no-builtins" } +attributes #21 = { nobuiltin nounwind readnone "no-builtins" } +attributes #22 = { nobuiltin noreturn nounwind "no-builtins" } +attributes #23 = { nounwind readonly } +attributes #24 = { noreturn } +attributes #25 = { nounwind readnone } +attributes #26 = { noreturn nounwind } +attributes #27 = { nobuiltin noreturn "no-builtins" } + +!llvm.module.flags = !{!0, !1} +!llvm.ident = !{!2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2} + +!0 = !{i32 1, !"wchar_size", i32 4} +!1 = !{i32 7, !"PIC Level", i32 2} +!2 = !{!"clang version 11.1.0 (https://github.com/llvm/llvm-project.git 1fdec59bffc11ae37eb51a1b9869f0696bfd5312)"} diff --git a/benchmarks/coreutils/gensym_posix/cut.ll b/benchmarks/coreutils/gensym_posix/cut.ll new file mode 100644 index 000000000..a6a55dce7 --- /dev/null +++ b/benchmarks/coreutils/gensym_posix/cut.ll @@ -0,0 +1,34022 @@ +; ModuleID = '__uClibc_main.os' +source_filename = "libc/misc/internals/__uClibc_main.c" +target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" +target triple = "x86_64-unknown-linux-gnu" + +module asm ".section .gnu.warning.siggetmask" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.__fpending" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.gets" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.tmpnam" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.mktemp" +module asm "\09.previous" + +%struct.__uclibc_locale_struct.201 = type { i16*, i16*, i16*, [384 x i16], [384 x i16], [384 x i16], [14 x i8], [6 x i16], [6 x i8], i8, i8, [10 x i8], i8*, i8*, i8*, i8*, i8*, i16*, i8*, i8*, i16*, i8*, i8*, i16*, i32, i32, i32, i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__collate_t.200 } +%struct.__collate_t.200 = type { i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16*, i16*, i16*, i16*, i16*, i16*, i16*, i16*, i16*, i16 } +%struct.__STDIO_FILE_STRUCT.568 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.568*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__mbstate_t.512 = type { i32, i32 } +%struct.timespec = type { i64, i64 } +%struct.quoting_options = type { i32, i32, [8 x i32], i8*, i8* } +%struct.infomap = type { i8*, i8* } +%struct.option = type { i8*, i32, i32*, i32 } +%struct.slotvec = type { i64, i8* } +%struct.exe_file_t = type { i32, i32, i64, %struct.exe_disk_file_t* } +%struct.exe_disk_file_t = type { i32, i8*, %struct.stat64* } +%struct.stat64 = type { i64, i64, i64, i32, i32, i32, i32, i64, i64, i64, i64, %struct.timespec, %struct.timespec, %struct.timespec, [3 x i64] } +%struct.exe_file_system_t = type { i32, %struct.exe_disk_file_t*, %struct.exe_disk_file_t*, i32, %struct.exe_disk_file_t*, i32, i32*, i32*, i32*, i32*, i32*, i32*, i32* } +%struct.__locale_mmap_t.203 = type { [420 x i8], [504 x i8], [1760 x i16], [4528 x i8], [3604 x i8], [1680 x i8], [196 x i16], [51 x i8], [28 x i8], [1646 x i8], [28353 x i8], [1804 x i8], [23 x %struct.__codeset_8_bit_t.202], [20 x i8], [10 x i16], [20 x i16], [45 x i8], [3 x i16], [15 x i16], [3894 x i8], [22 x i16], [407 x i16], [8250 x i8], [50 x i16], [3429 x i16], [372 x i8], [4 x i16], [200 x i16], [91141 x i16], [6 x i8], [24 x i64], [2826 x i8], [835 x i8], [18 x i8], [69 x i8], [255 x i8] } +%struct.__codeset_8_bit_t.202 = type { [16 x i8], [16 x i8], [16 x i8], [38 x i8] } +%struct.utmp.323 = type { i16, i32, [32 x i8], [4 x i8], [32 x i8], [256 x i8], %struct.exit_status, i64, %struct.timespec, [4 x i32], [20 x i8] } +%struct.exit_status = type { i16, i16 } +%struct._getopt_data = type { i32, i32, i32, i8*, i32, i8*, i32, i32, i32, i32 } +%struct.exit_function = type { i64, %union.anon.772 } +%union.anon.772 = type { %struct.anon.0.771 } +%struct.anon.0.771 = type { void (i8*)*, i8*, i8* } +%struct.dirent64 = type { i64, i64, i16, i8, [256 x i8] } +%struct.__STDIO_FILE_STRUCT.581 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.581*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.590 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.590*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.592 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.592*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.608 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.608*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.621 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.621*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.636 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.636*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.Elf64_auxv_t = type { i64, %union.anon.193 } +%union.anon.193 = type { i64 } +%struct.stat.192 = type { i64, i64, i64, i32, i32, i32, i32, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, [3 x i64] } +%struct.__STDIO_FILE_STRUCT.513 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.513*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.exe_sym_env_t = type { [32 x %struct.exe_file_t], i32, i32, i32 } +%struct.__va_list_tag.0 = type { i32, i32, i8*, i8* } +%struct.termios = type { i32, i32, i32, i32, i8, [32 x i8], i32, i32 } +%struct.winsize = type { i16, i16, i16, i16 } +%struct.flock = type { i16, i16, i64, i64, i32 } +%struct.statfs = type { i64, i64, i64, i64, i64, i64, i64, %struct.__fsid_t, i64, i64, i64, [4 x i64] } +%struct.__fsid_t = type { [2 x i32] } +%struct.fd_set = type { [16 x i64] } +%struct.coldata_header_t = type { i16, i16, i16, i16, i16, i16, i16, i16 } +%struct.coldata_base_t = type { i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16 } +%struct._IO_FILE = type { i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct._IO_marker*, %struct._IO_FILE*, i32, i32, i64, i16, i8, [1 x i8], i8*, i64, %struct._IO_codecvt*, %struct._IO_wide_data*, %struct._IO_FILE*, i8*, i64, i32, [20 x i8] } +%struct._IO_marker = type opaque +%struct._IO_codecvt = type opaque +%struct._IO_wide_data = type opaque +%struct.__mbstate_t = type { i32, %union.anon } +%union.anon = type { i32 } +%struct.sigaction.800 = type { %union.anon.799, %struct.fd_set, i32, void ()* } +%union.anon.799 = type { void (i32)* } +%struct.tms = type { i64, i64, i64, i64 } +%struct.utmpx = type opaque +%struct.utmp = type { i16, i32, [32 x i8], [4 x i8], [32 x i8], [256 x i8], %struct.exit_status, i32, %struct.__mbstate_t.512, [4 x i32], [20 x i8] } +%struct.rusage = type { %struct.timespec, %struct.timespec, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193 } +%struct.siginfo_t = type { i32, i32, i32, i32, %union.anon.0 } +%union.anon.0 = type { %struct.anon.3, [80 x i8] } +%struct.anon.3 = type { i32, i32, i32, i64, i64 } +%struct.kernel_sigaction = type { void (i32)*, i64, void ()*, %struct.fd_set } +%struct.__jmp_buf_tag = type { [8 x i64], i32, %struct.fd_set } +%struct.__STDIO_FILE_STRUCT.519 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.519*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.612 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.612*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__kernel_termios = type { i32, i32, i32, i32, i8, [19 x i8] } +%struct.ppfs_t.722 = type { i8*, %struct.printf_info.720, i32, i32, i32, [4 x i8], [9 x i32], [1 x %struct.__va_list_tag.0], [9 x %union.anon.193] } +%struct.printf_info.720 = type { i32, i32, i32, i32, i32 } +%struct.anon.779 = type { void (i32, i8*)*, i8* } + +@__libc_stack_end = global i8* null, align 8 +@.str = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@__uclibc_progname = hidden global i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i32 0, i32 0), align 8 +@program_invocation_short_name = global i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i32 0, i32 0), align 8 +@program_invocation_name = global i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i32 0, i32 0), align 8 +@__environ = global i8** null, align 8 +@__pagesize = global i64 0, align 8 +@__uClibc_init.been_there_done_that = internal global i32 0, align 4 +@__app_fini = hidden global void ()* null, align 8 +@__rtld_fini = hidden global void ()* null, align 8 +@.str.1 = private unnamed_addr constant [10 x i8] c"/dev/null\00", align 1 +@llvm.used = appending global [5 x i8*] [i8* getelementptr inbounds ([57 x i8], [57 x i8]* @__evoke_link_warning_siggetmask, i32 0, i32 0), i8* getelementptr inbounds ([167 x i8], [167 x i8]* @__evoke_link_warning___fpending, i32 0, i32 0), i8* getelementptr inbounds ([57 x i8], [57 x i8]* @__evoke_link_warning_gets, i32 0, i32 0), i8* getelementptr inbounds ([55 x i8], [55 x i8]* @__evoke_link_warning_tmpnam, i32 0, i32 0), i8* getelementptr inbounds ([55 x i8], [55 x i8]* @__evoke_link_warning_mktemp, i32 0, i32 0)], section "llvm.metadata" +@__evoke_link_warning_siggetmask = internal constant [57 x i8] c"warning: `siggetmask' is obsolete; `sigprocmask' is best\00", section ".gnu.warning.siggetmask\0A#APP\0A\09#", align 16 +@__evoke_link_warning___fpending = internal constant [167 x i8] c"This version of __fpending returns bytes remaining in buffer for both narrow and wide streams. glibc's version returns wide chars in buffer for the wide stream case.\00", section ".gnu.warning.__fpending\0A#APP\0A\09#", align 16 +@__evoke_link_warning_gets = internal constant [57 x i8] c"the 'gets' function is dangerous and should not be used.\00", section ".gnu.warning.gets\0A#APP\0A\09#", align 16 +@__evoke_link_warning_tmpnam = internal constant [55 x i8] c"the use of `tmpnam' is dangerous, better use `mkstemp'\00", section ".gnu.warning.tmpnam\0A#APP\0A\09#", align 16 +@tmpnam_buffer = internal global [20 x i8] zeroinitializer, align 16 +@__evoke_link_warning_mktemp = internal constant [55 x i8] c"the use of `mktemp' is dangerous, better use `mkstemp'\00", section ".gnu.warning.mktemp\0A#APP\0A\09#", align 16 +@.str.4 = private unnamed_addr constant [77 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/fd.c\00", align 1 +@.str.27 = private unnamed_addr constant [37 x i8] c"ERROR: concretizing symbolic pointer\00", align 1 +@.str.28 = private unnamed_addr constant [9 x i8] c"user.err\00", align 1 +@.str.25 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@getcwd.n_calls = internal global i32 0, align 4 +@.str.5 = private unnamed_addr constant [46 x i8] c"Undefined call to open(): O_TRUNC | O_RDONLY\0A\00", align 1 +@.str.1.6 = private unnamed_addr constant [47 x i8] c"Undefined call to open(): O_EXCL w/o O_RDONLY\0A\00", align 1 +@.str.2 = private unnamed_addr constant [44 x i8] c"symbolic file descriptor, ignoring (ENOENT)\00", align 1 +@close.n_calls = internal global i32 0, align 4 +@read.n_calls = internal global i32 0, align 4 +@.str.3 = private unnamed_addr constant [12 x i8] c"f->off >= 0\00", align 1 +@__PRETTY_FUNCTION__.read = private unnamed_addr constant [34 x i8] c"ssize_t read(int, void *, size_t)\00", align 1 +@write.n_calls = internal global i32 0, align 4 +@.str.5.7 = private unnamed_addr constant [7 x i8] c"r >= 0\00", align 1 +@__PRETTY_FUNCTION__.write = private unnamed_addr constant [41 x i8] c"ssize_t write(int, const void *, size_t)\00", align 1 +@.str.6 = private unnamed_addr constant [2 x i8] c"0\00", align 1 +@.str.7 = private unnamed_addr constant [24 x i8] c"write() ignores bytes.\0A\00", align 1 +@.str.8 = private unnamed_addr constant [18 x i8] c"new_off == f->off\00", align 1 +@__PRETTY_FUNCTION__.__fd_lseek = private unnamed_addr constant [38 x i8] c"off64_t __fd_lseek(int, off64_t, int)\00", align 1 +@.str.9 = private unnamed_addr constant [33 x i8] c"symbolic file, ignoring (ENOENT)\00", align 1 +@chmod.n_calls = internal global i32 0, align 4 +@fchmod.n_calls = internal global i32 0, align 4 +@.str.26 = private unnamed_addr constant [32 x i8] c"symbolic file, ignoring (EPERM)\00", align 1 +@__fd_ftruncate.n_calls = internal global i32 0, align 4 +@.str.10 = private unnamed_addr constant [30 x i8] c"symbolic file, ignoring (EIO)\00", align 1 +@.str.11 = private unnamed_addr constant [33 x i8] c"symbolic file, ignoring (EINVAL)\00", align 1 +@.str.12 = private unnamed_addr constant [18 x i8] c"s != (off64_t) -1\00", align 1 +@__PRETTY_FUNCTION__.__fd_getdents = private unnamed_addr constant [65 x i8] c"int __fd_getdents(unsigned int, struct dirent64 *, unsigned int)\00", align 1 +@.str.13 = private unnamed_addr constant [22 x i8] c"f->off != (off64_t)-1\00", align 1 +@.str.14 = private unnamed_addr constant [41 x i8] c"(TCGETS) symbolic file, incomplete model\00", align 1 +@.str.15 = private unnamed_addr constant [42 x i8] c"(TCSETS) symbolic file, silently ignoring\00", align 1 +@.str.16 = private unnamed_addr constant [43 x i8] c"(TCSETSW) symbolic file, silently ignoring\00", align 1 +@.str.17 = private unnamed_addr constant [43 x i8] c"(TCSETSF) symbolic file, silently ignoring\00", align 1 +@.str.18 = private unnamed_addr constant [45 x i8] c"(TIOCGWINSZ) symbolic file, incomplete model\00", align 1 +@.str.19 = private unnamed_addr constant [46 x i8] c"(TIOCSWINSZ) symbolic file, ignoring (EINVAL)\00", align 1 +@.str.20 = private unnamed_addr constant [43 x i8] c"(FIONREAD) symbolic file, incomplete model\00", align 1 +@.str.21 = private unnamed_addr constant [44 x i8] c"(MTIOCGET) symbolic file, ignoring (EINVAL)\00", align 1 +@.str.22 = private unnamed_addr constant [32 x i8] c"symbolic file, ignoring (EBADF)\00", align 1 +@.str.23 = private unnamed_addr constant [17 x i8] c"ignoring (EPERM)\00", align 1 +@.str.24 = private unnamed_addr constant [18 x i8] c"ignoring (ENOENT)\00", align 1 +@__const.klee_init_env.sym_arg_name = private unnamed_addr constant [6 x i8] c"arg\00\00\00", align 1 +@.str.29 = private unnamed_addr constant [7 x i8] c"--help\00", align 1 +@.str.1.30 = private unnamed_addr constant [964 x i8] c"klee_init_env\0A\0Ausage: (klee_init_env) [options] [program arguments]\0A -sym-arg - Replace by a symbolic argument with length N\0A -sym-args - Replace by at least MIN arguments and at most\0A MAX arguments, each with maximum length N\0A -sym-files - Make NUM symbolic files ('A', 'B', 'C', etc.),\0A each with size N\0A -sym-stdin - Make stdin symbolic with size N.\0A -sym-stdout - Make stdout symbolic.\0A -save-all-writes - Allow write operations to execute as expected\0A even if they exceed the file size. If set to 0, all\0A writes exceeding the initial file size are discarded.\0A Note: file offset is always incremented.\0A -max-fail - Allow up to N injected failures\0A -fd-fail - Shortcut for '-max-fail 1'\0A\0A\00", align 1 +@.str.2.31 = private unnamed_addr constant [10 x i8] c"--sym-arg\00", align 1 +@.str.3.32 = private unnamed_addr constant [9 x i8] c"-sym-arg\00", align 1 +@.str.4.33 = private unnamed_addr constant [48 x i8] c"--sym-arg expects an integer argument \00", align 1 +@.str.5.34 = private unnamed_addr constant [45 x i8] c"No more than 100 symbolic arguments allowed.\00", align 1 +@.str.6.35 = private unnamed_addr constant [11 x i8] c"--sym-args\00", align 1 +@.str.7.36 = private unnamed_addr constant [10 x i8] c"-sym-args\00", align 1 +@.str.8.37 = private unnamed_addr constant [77 x i8] c"--sym-args expects three integer arguments \00", align 1 +@.str.9.38 = private unnamed_addr constant [28 x i8] c"Invalid range to --sym-args\00", align 1 +@.str.10.39 = private unnamed_addr constant [7 x i8] c"n_args\00", align 1 +@.str.11.40 = private unnamed_addr constant [12 x i8] c"--sym-files\00", align 1 +@.str.12.41 = private unnamed_addr constant [11 x i8] c"-sym-files\00", align 1 +@.str.13.42 = private unnamed_addr constant [72 x i8] c"--sym-files expects two integer arguments \00", align 1 +@.str.14.43 = private unnamed_addr constant [39 x i8] c"Multiple --sym-files are not allowed.\0A\00", align 1 +@.str.15.44 = private unnamed_addr constant [65 x i8] c"The first argument to --sym-files (number of files) cannot be 0\0A\00", align 1 +@.str.16.45 = private unnamed_addr constant [60 x i8] c"The second argument to --sym-files (file size) cannot be 0\0A\00", align 1 +@.str.17.46 = private unnamed_addr constant [12 x i8] c"--sym-stdin\00", align 1 +@.str.18.47 = private unnamed_addr constant [11 x i8] c"-sym-stdin\00", align 1 +@.str.19.48 = private unnamed_addr constant [57 x i8] c"--sym-stdin expects one integer argument \00", align 1 +@.str.20.49 = private unnamed_addr constant [13 x i8] c"--sym-stdout\00", align 1 +@.str.21.50 = private unnamed_addr constant [12 x i8] c"-sym-stdout\00", align 1 +@.str.22.51 = private unnamed_addr constant [18 x i8] c"--save-all-writes\00", align 1 +@.str.23.52 = private unnamed_addr constant [17 x i8] c"-save-all-writes\00", align 1 +@.str.24.53 = private unnamed_addr constant [10 x i8] c"--fd-fail\00", align 1 +@.str.25.54 = private unnamed_addr constant [9 x i8] c"-fd-fail\00", align 1 +@.str.26.55 = private unnamed_addr constant [12 x i8] c"--bout-file\00", align 1 +@.str.27.56 = private unnamed_addr constant [11 x i8] c"-bout-file\00", align 1 +@.str.28.57 = private unnamed_addr constant [11 x i8] c"--max-fail\00", align 1 +@.str.29.58 = private unnamed_addr constant [10 x i8] c"-max-fail\00", align 1 +@.str.30 = private unnamed_addr constant [54 x i8] c"--max-fail expects an integer argument \00", align 1 +@.str.31 = private unnamed_addr constant [31 x i8] c"out of memory in klee_init_env\00", align 1 +@.str.35 = private unnamed_addr constant [37 x i8] c"too many arguments for klee_init_env\00", align 1 +@.str.32 = private unnamed_addr constant [88 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/klee_init_env.c\00", align 1 +@.str.33 = private unnamed_addr constant [9 x i8] c"user.err\00", align 1 +@.str.34 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.68 = private unnamed_addr constant [5 x i8] c"file\00", align 1 +@.str.1.69 = private unnamed_addr constant [5 x i8] c"/tmp\00", align 1 +@.str.2.70 = private unnamed_addr constant [16 x i8] c"%.*s/%.*sXXXXXX\00", align 1 +@.str.3.73 = private unnamed_addr constant [7 x i8] c"XXXXXX\00", align 1 +@letters = internal constant [63 x i8] c"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\00", align 16 +@brain_damaged_fillrand.value = internal global i64 0, align 8 +@.str.4.74 = private unnamed_addr constant [13 x i8] c"/dev/urandom\00", align 1 +@.str.5.75 = private unnamed_addr constant [12 x i8] c"/dev/random\00", align 1 +@__global_locale_data = global %struct.__uclibc_locale_struct.201 zeroinitializer, align 8 +@__global_locale = global %struct.__uclibc_locale_struct.201* @__global_locale_data, align 8 +@__curlocale_var = global %struct.__uclibc_locale_struct.201* @__global_locale_data, align 8 +@utf8 = internal constant [6 x i8] c"UTF-8\00", align 1 +@ascii = internal constant [6 x i8] c"ASCII\00", align 1 +@__code2flag = internal constant [16 x i16] [i16 0, i16 -15352, i16 -14840, i16 -14584, i16 -15096, i16 -14328, i16 -16380, i16 -16384, i16 24576, i16 24577, i16 8192, i16 8193, i16 8194, i16 8195, i16 2, i16 0], align 16 +@.str.76 = private unnamed_addr constant [14 x i8] c"#\80\80\80\80\80\80\80\80\80\80\80\80\00", align 1 +@stdin = global %struct.__STDIO_FILE_STRUCT.568* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i32 0, i32 0), align 8 +@_stdio_streams = internal global [3 x %struct.__STDIO_FILE_STRUCT.568] [%struct.__STDIO_FILE_STRUCT.568 { i16 544, [2 x i8] zeroinitializer, i32 0, i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 88) to %struct.__STDIO_FILE_STRUCT.568*), [2 x i32] zeroinitializer, %struct.__mbstate_t.512 zeroinitializer, i8* null }, %struct.__STDIO_FILE_STRUCT.568 { i16 528, [2 x i8] zeroinitializer, i32 1, i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 176) to %struct.__STDIO_FILE_STRUCT.568*), [2 x i32] zeroinitializer, %struct.__mbstate_t.512 zeroinitializer, i8* null }, %struct.__STDIO_FILE_STRUCT.568 { i16 528, [2 x i8] zeroinitializer, i32 2, i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, %struct.__STDIO_FILE_STRUCT.568* null, [2 x i32] zeroinitializer, %struct.__mbstate_t.512 zeroinitializer, i8* null }], align 16 +@stdout = global %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 88) to %struct.__STDIO_FILE_STRUCT.568*), align 8 +@stderr = global %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 176) to %struct.__STDIO_FILE_STRUCT.568*), align 8 +@__stdin = global %struct.__STDIO_FILE_STRUCT.568* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i32 0, i32 0), align 8 +@__stdout = global %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 88) to %struct.__STDIO_FILE_STRUCT.568*), align 8 +@_stdio_openlist = global %struct.__STDIO_FILE_STRUCT.568* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i32 0, i32 0), align 8 +@been_there_done_that = internal global i32 0, align 4 +@__exit_cleanup = hidden global void (i32)* null, align 8 +@n_frp = dso_local global i64 0, align 8 +@frp = dso_local global %struct.timespec* null, align 8 +@Version = dso_local global i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.74, i32 0, i32 0), align 8 +@.str.74 = private unnamed_addr constant [5 x i8] c"8.32\00", align 1 +@exit_failure = dso_local global i32 1, align 4 +@program_name = dso_local global i8* null, align 8 +@quoting_style_args = dso_local constant [11 x i8*] [i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.95, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1.96, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2.97, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.3.98, i32 0, i32 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.4.99, i32 0, i32 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.5.100, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.6.101, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.7.102, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.8.103, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.9.104, i32 0, i32 0), i8* null], align 16 +@.str.95 = private unnamed_addr constant [8 x i8] c"literal\00", align 1 +@.str.1.96 = private unnamed_addr constant [6 x i8] c"shell\00", align 1 +@.str.2.97 = private unnamed_addr constant [13 x i8] c"shell-always\00", align 1 +@.str.3.98 = private unnamed_addr constant [13 x i8] c"shell-escape\00", align 1 +@.str.4.99 = private unnamed_addr constant [20 x i8] c"shell-escape-always\00", align 1 +@.str.5.100 = private unnamed_addr constant [2 x i8] c"c\00", align 1 +@.str.6.101 = private unnamed_addr constant [8 x i8] c"c-maybe\00", align 1 +@.str.7.102 = private unnamed_addr constant [7 x i8] c"escape\00", align 1 +@.str.8.103 = private unnamed_addr constant [7 x i8] c"locale\00", align 1 +@.str.9.104 = private unnamed_addr constant [8 x i8] c"clocale\00", align 1 +@quoting_style_vals = dso_local constant [10 x i32] [i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9], align 16 +@quote_quoting_options = dso_local global %struct.quoting_options { i32 8, i32 0, [8 x i32] zeroinitializer, i8* null, i8* null }, align 8 +@version_etc_copyright = dso_local constant [47 x i8] c"Copyright %s %d Free Software Foundation, Inc.\00", align 16 +@.str.96 = private unnamed_addr constant [39 x i8] c"Try '%s --help' for more information.\0A\00", align 1 +@.str.1.97 = private unnamed_addr constant [31 x i8] c"Usage: %s OPTION... [FILE]...\0A\00", align 1 +@.str.2.98 = private unnamed_addr constant [66 x i8] c"Print selected parts of lines from each FILE to standard output.\0A\00", align 1 +@.str.3.99 = private unnamed_addr constant [177 x i8] c" -b, --bytes=LIST select only these bytes\0A -c, --characters=LIST select only these characters\0A -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter\0A\00", align 1 +@.str.4.100 = private unnamed_addr constant [238 x i8] c" -f, --fields=LIST select only these fields; also print any line\0A that contains no delimiter character, unless\0A the -s option is specified\0A -n (ignored)\0A\00", align 1 +@.str.5.101 = private unnamed_addr constant [114 x i8] c" --complement complement the set of selected bytes, characters\0A or fields\0A\00", align 1 +@.str.6.102 = private unnamed_addr constant [210 x i8] c" -s, --only-delimited do not print lines not containing delimiters\0A --output-delimiter=STRING use STRING as the output delimiter\0A the default is to use the input delimiter\0A\00", align 1 +@.str.7.103 = private unnamed_addr constant [63 x i8] c" -z, --zero-terminated line delimiter is NUL, not newline\0A\00", align 1 +@.str.8.104 = private unnamed_addr constant [45 x i8] c" --help display this help and exit\0A\00", align 1 +@.str.9.105 = private unnamed_addr constant [54 x i8] c" --version output version information and exit\0A\00", align 1 +@.str.10.106 = private unnamed_addr constant [204 x i8] c"\0AUse one, and only one of -b, -c or -f. Each LIST is made up of one\0Arange, or many ranges separated by commas. Selected input is written\0Ain the same order that it is read, and is written exactly once.\0A\00", align 1 +@.str.11.107 = private unnamed_addr constant [262 x i8] c"Each range is one of:\0A\0A N N'th byte, character or field, counted from 1\0A N- from N'th byte, character or field, to end of line\0A N-M from N'th to M'th (included) byte, character or field\0A -M from first to M'th (included) byte, character or field\0A\00", align 1 +@.str.12.108 = private unnamed_addr constant [4 x i8] c"cut\00", align 1 +@__const.emit_ancillary_info.infomap = private unnamed_addr constant [7 x %struct.infomap] [%struct.infomap { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.27.111, i32 0, i32 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.28.112, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.29.113, i32 0, i32 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.30.114, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.31.115, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.32.116, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.33.117, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.32.116, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.34.118, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.32.116, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.35.119, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.32.116, i32 0, i32 0) }, %struct.infomap zeroinitializer], align 16 +@.str.36 = private unnamed_addr constant [23 x i8] c"\0A%s online help: <%s>\0A\00", align 1 +@.str.17.109 = private unnamed_addr constant [14 x i8] c"GNU coreutils\00", align 1 +@.str.37 = private unnamed_addr constant [40 x i8] c"https://www.gnu.org/software/coreutils/\00", align 1 +@.str.38 = private unnamed_addr constant [4 x i8] c"en_\00", align 1 +@.str.39 = private unnamed_addr constant [71 x i8] c"Report any translation bugs to \0A\00", align 1 +@.str.40 = private unnamed_addr constant [27 x i8] c"Full documentation <%s%s>\0A\00", align 1 +@.str.42 = private unnamed_addr constant [12 x i8] c" invocation\00", align 1 +@.str.13.110 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@.str.41 = private unnamed_addr constant [51 x i8] c"or available locally via: info '(coreutils) %s%s'\0A\00", align 1 +@.str.27.111 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@.str.28.112 = private unnamed_addr constant [16 x i8] c"test invocation\00", align 1 +@.str.29.113 = private unnamed_addr constant [10 x i8] c"coreutils\00", align 1 +@.str.30.114 = private unnamed_addr constant [22 x i8] c"Multi-call invocation\00", align 1 +@.str.31.115 = private unnamed_addr constant [10 x i8] c"sha224sum\00", align 1 +@.str.32.116 = private unnamed_addr constant [15 x i8] c"sha2 utilities\00", align 1 +@.str.33.117 = private unnamed_addr constant [10 x i8] c"sha256sum\00", align 1 +@.str.34.118 = private unnamed_addr constant [10 x i8] c"sha384sum\00", align 1 +@.str.35.119 = private unnamed_addr constant [10 x i8] c"sha512sum\00", align 1 +@.str.26.120 = private unnamed_addr constant [75 x i8] c"\0AMandatory arguments to long options are mandatory for short options too.\0A\00", align 1 +@.str.25.121 = private unnamed_addr constant [56 x i8] c"\0AWith no FILE, or when FILE is -, read standard input.\0A\00", align 1 +@operating_mode = internal global i32 0, align 4 +@suppress_non_delimited = internal global i8 0, align 1 +@delim = internal global i8 0, align 1 +@have_read_stdin = internal global i8 0, align 1 +@.str.14.124 = private unnamed_addr constant [12 x i8] c"b:c:d:f:nsz\00", align 1 +@longopts = internal constant [11 x %struct.option] [%struct.option { i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.43, i32 0, i32 0), i32 1, i32* null, i32 98 }, %struct.option { i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.44, i32 0, i32 0), i32 1, i32* null, i32 99 }, %struct.option { i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.45, i32 0, i32 0), i32 1, i32* null, i32 102 }, %struct.option { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.46, i32 0, i32 0), i32 1, i32* null, i32 100 }, %struct.option { i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.47, i32 0, i32 0), i32 0, i32* null, i32 115 }, %struct.option { i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.48, i32 0, i32 0), i32 1, i32* null, i32 128 }, %struct.option { i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.49, i32 0, i32 0), i32 0, i32* null, i32 129 }, %struct.option { i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.50, i32 0, i32 0), i32 0, i32* null, i32 122 }, %struct.option { i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.51, i32 0, i32 0), i32 0, i32* null, i32 -130 }, %struct.option { i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.52, i32 0, i32 0), i32 0, i32* null, i32 -131 }, %struct.option zeroinitializer], align 16 +@.str.15.125 = private unnamed_addr constant [39 x i8] c"only one type of list may be specified\00", align 1 +@.str.16.126 = private unnamed_addr constant [41 x i8] c"the delimiter must be a single character\00", align 1 +@output_delimiter_specified = internal global i8 0, align 1 +@output_delimiter_length = internal global i64 0, align 8 +@output_delimiter_string = internal global i8* null, align 8 +@line_delim = internal global i8 10, align 1 +@complement = internal global i8 0, align 1 +@.str.18.127 = private unnamed_addr constant [15 x i8] c"David M. Ihnat\00", align 1 +@.str.19.128 = private unnamed_addr constant [16 x i8] c"David MacKenzie\00", align 1 +@.str.20.129 = private unnamed_addr constant [13 x i8] c"Jim Meyering\00", align 1 +@.str.21.130 = private unnamed_addr constant [56 x i8] c"you must specify a list of bytes, characters, or fields\00", align 1 +@.str.22.131 = private unnamed_addr constant [66 x i8] c"an input delimiter may be specified only when operating on fields\00", align 1 +@.str.23.132 = private unnamed_addr constant [75 x i8] c"suppressing non-delimited lines makes sense\0A\09only when operating on fields\00", align 1 +@main.dummy = internal global [2 x i8] zeroinitializer, align 1 +@.str.24.133 = private unnamed_addr constant [2 x i8] c"-\00", align 1 +@.str.53 = private unnamed_addr constant [2 x i8] c"r\00", align 1 +@.str.54 = private unnamed_addr constant [3 x i8] c"%s\00", align 1 +@current_rp = internal global %struct.timespec* null, align 8 +@field_1_buffer = internal global i8* null, align 8 +@field_1_bufsize = internal global i64 0, align 8 +@.str.55 = private unnamed_addr constant [13 x i8] c"n_bytes != 0\00", align 1 +@.str.56 = private unnamed_addr constant [13 x i8] c"../src/cut.c\00", align 1 +@__PRETTY_FUNCTION__.cut_fields = private unnamed_addr constant [24 x i8] c"void cut_fields(FILE *)\00", align 1 +@.str.159 = private unnamed_addr constant [3 x i8] c"%s\00", align 1 +@.str.1.160 = private unnamed_addr constant [17 x i8] c"memory exhausted\00", align 1 +@slotvec = internal global %struct.slotvec* @slotvec0, align 8 +@nslots = internal global i32 1, align 4 +@slotvec0 = internal global %struct.slotvec { i64 256, i8* getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i32 0, i32 0) }, align 8 +@slot0 = internal global [256 x i8] zeroinitializer, align 16 +@.str.10.105 = private unnamed_addr constant [2 x i8] c"\22\00", align 1 +@.str.11.106 = private unnamed_addr constant [2 x i8] c"`\00", align 1 +@.str.12.107 = private unnamed_addr constant [2 x i8] c"'\00", align 1 +@.str.181 = private unnamed_addr constant [2 x i8] c"C\00", align 1 +@.str.1.182 = private unnamed_addr constant [6 x i8] c"POSIX\00", align 1 +@.str.13.108 = private unnamed_addr constant [6 x i8] c"UTF-8\00", align 1 +@.str.14.109 = private unnamed_addr constant [4 x i8] c"\E2\80\98\00", align 1 +@.str.15.110 = private unnamed_addr constant [4 x i8] c"\E2\80\99\00", align 1 +@.str.16.111 = private unnamed_addr constant [8 x i8] c"GB18030\00", align 1 +@.str.17.112 = private unnamed_addr constant [4 x i8] c"\A1\07e\00", align 1 +@.str.18.113 = private unnamed_addr constant [3 x i8] c"\A1\AF\00", align 1 +@.str.185 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@.str.1.186 = private unnamed_addr constant [6 x i8] c"ASCII\00", align 1 +@default_quoting_options = internal global %struct.quoting_options zeroinitializer, align 8 +@.str.57 = private unnamed_addr constant [2 x i8] c"-\00", align 1 +@.str.1.58 = private unnamed_addr constant [32 x i8] c"invalid byte or character range\00", align 1 +@.str.2.59 = private unnamed_addr constant [20 x i8] c"invalid field range\00", align 1 +@.str.3.60 = private unnamed_addr constant [45 x i8] c"byte/character positions are numbered from 1\00", align 1 +@.str.4.61 = private unnamed_addr constant [27 x i8] c"fields are numbered from 1\00", align 1 +@.str.5.63 = private unnamed_addr constant [34 x i8] c"invalid range with no endpoint: -\00", align 1 +@.str.6.64 = private unnamed_addr constant [25 x i8] c"invalid decreasing range\00", align 1 +@set_fields.num_start = internal global i8* null, align 8 +@.str.7.65 = private unnamed_addr constant [11 x i8] c"0123456789\00", align 1 +@.str.8.66 = private unnamed_addr constant [38 x i8] c"byte/character offset %s is too large\00", align 1 +@.str.9.67 = private unnamed_addr constant [29 x i8] c"field number %s is too large\00", align 1 +@.str.10.68 = private unnamed_addr constant [35 x i8] c"invalid byte/character position %s\00", align 1 +@.str.11.69 = private unnamed_addr constant [23 x i8] c"invalid field value %s\00", align 1 +@.str.12.70 = private unnamed_addr constant [41 x i8] c"missing list of byte/character positions\00", align 1 +@.str.13.71 = private unnamed_addr constant [23 x i8] c"missing list of fields\00", align 1 +@n_frp_allocated = internal global i64 0, align 8 +@.str.120 = private unnamed_addr constant [12 x i8] c"%s (%s) %s\0A\00", align 1 +@.str.1.121 = private unnamed_addr constant [7 x i8] c"%s %s\0A\00", align 1 +@.str.2.122 = private unnamed_addr constant [4 x i8] c"(C)\00", align 1 +@.str.3.123 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.4.124 = private unnamed_addr constant [171 x i8] c"License GPLv3+: GNU GPL version 3 or later <%s>.\0AThis is free software: you are free to change and redistribute it.\0AThere is NO WARRANTY, to the extent permitted by law.\0A\00", align 1 +@.str.5.125 = private unnamed_addr constant [34 x i8] c"https://gnu.org/licenses/gpl.html\00", align 1 +@.str.6.126 = private unnamed_addr constant [16 x i8] c"Written by %s.\0A\00", align 1 +@.str.7.127 = private unnamed_addr constant [23 x i8] c"Written by %s and %s.\0A\00", align 1 +@.str.8.128 = private unnamed_addr constant [28 x i8] c"Written by %s, %s, and %s.\0A\00", align 1 +@.str.9.129 = private unnamed_addr constant [32 x i8] c"Written by %s, %s, %s,\0Aand %s.\0A\00", align 1 +@.str.10.130 = private unnamed_addr constant [36 x i8] c"Written by %s, %s, %s,\0A%s, and %s.\0A\00", align 1 +@.str.11.131 = private unnamed_addr constant [40 x i8] c"Written by %s, %s, %s,\0A%s, %s, and %s.\0A\00", align 1 +@.str.12.132 = private unnamed_addr constant [44 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, and %s.\0A\00", align 1 +@.str.13.133 = private unnamed_addr constant [48 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, %s,\0Aand %s.\0A\00", align 1 +@.str.14.134 = private unnamed_addr constant [52 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, %s,\0A%s, and %s.\0A\00", align 1 +@.str.15.135 = private unnamed_addr constant [60 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, %s,\0A%s, %s, and others.\0A\00", align 1 +@.str.43 = private unnamed_addr constant [6 x i8] c"bytes\00", align 1 +@.str.44 = private unnamed_addr constant [11 x i8] c"characters\00", align 1 +@.str.45 = private unnamed_addr constant [7 x i8] c"fields\00", align 1 +@.str.46 = private unnamed_addr constant [10 x i8] c"delimiter\00", align 1 +@.str.47 = private unnamed_addr constant [15 x i8] c"only-delimited\00", align 1 +@.str.48 = private unnamed_addr constant [17 x i8] c"output-delimiter\00", align 1 +@.str.49 = private unnamed_addr constant [11 x i8] c"complement\00", align 1 +@.str.50 = private unnamed_addr constant [16 x i8] c"zero-terminated\00", align 1 +@.str.51 = private unnamed_addr constant [5 x i8] c"help\00", align 1 +@.str.52 = private unnamed_addr constant [8 x i8] c"version\00", align 1 +@ignore_EPIPE = internal global i8 0, align 1 +@.str.77 = private unnamed_addr constant [12 x i8] c"write error\00", align 1 +@file_name = internal global i8* null, align 8 +@.str.1.78 = private unnamed_addr constant [7 x i8] c"%s: %s\00", align 1 +@.str.2.79 = private unnamed_addr constant [3 x i8] c"%s\00", align 1 +@.str.92 = private unnamed_addr constant [56 x i8] c"A NULL argv[0] was passed through an exec system call.\0A\00", align 1 +@.str.1.93 = private unnamed_addr constant [8 x i8] c"/.libs/\00", align 1 +@.str.2.94 = private unnamed_addr constant [4 x i8] c"lt-\00", align 1 +@.str.16.138 = private unnamed_addr constant [20 x i8] c"Report bugs to: %s\0A\00", align 1 +@.str.17.139 = private unnamed_addr constant [22 x i8] c"bug-coreutils@gnu.org\00", align 1 +@.str.18.140 = private unnamed_addr constant [20 x i8] c"%s home page: <%s>\0A\00", align 1 +@.str.19.141 = private unnamed_addr constant [14 x i8] c"GNU coreutils\00", align 1 +@.str.20.142 = private unnamed_addr constant [40 x i8] c"https://www.gnu.org/software/coreutils/\00", align 1 +@.str.21.143 = private unnamed_addr constant [39 x i8] c"General help using GNU software: <%s>\0A\00", align 1 +@.str.22.144 = private unnamed_addr constant [29 x i8] c"https://www.gnu.org/gethelp/\00", align 1 +@__exe_env = dso_local global { <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] } { <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }> <{ %struct.exe_file_t { i32 0, i32 5, i64 0, %struct.exe_disk_file_t* null }, %struct.exe_file_t { i32 1, i32 9, i64 0, %struct.exe_disk_file_t* null }, %struct.exe_file_t { i32 2, i32 9, i64 0, %struct.exe_disk_file_t* null }, [29 x %struct.exe_file_t] zeroinitializer }>, i32 18, i32 0, i32 0, [4 x i8] undef }, align 8 +@__exe_fs = dso_local global %struct.exe_file_system_t zeroinitializer, align 8 +@__const.klee_init_fds.name = private unnamed_addr constant [7 x i8] c"?-data\00", align 1 +@.str.140 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@.str.1.141 = private unnamed_addr constant [82 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/fd_init.c\00", align 1 +@.str.2.142 = private unnamed_addr constant [31 x i8] c"out of memory in klee_init_env\00", align 1 +@.str.3.143 = private unnamed_addr constant [9 x i8] c"user.err\00", align 1 +@.str.4.145 = private unnamed_addr constant [6 x i8] c"stdin\00", align 1 +@.str.5.146 = private unnamed_addr constant [10 x i8] c"read_fail\00", align 1 +@.str.6.147 = private unnamed_addr constant [11 x i8] c"write_fail\00", align 1 +@.str.7.148 = private unnamed_addr constant [11 x i8] c"close_fail\00", align 1 +@.str.8.149 = private unnamed_addr constant [15 x i8] c"ftruncate_fail\00", align 1 +@.str.9.150 = private unnamed_addr constant [12 x i8] c"getcwd_fail\00", align 1 +@.str.10.151 = private unnamed_addr constant [7 x i8] c"stdout\00", align 1 +@.str.11.152 = private unnamed_addr constant [14 x i8] c"model_version\00", align 1 +@.str.13.153 = private unnamed_addr constant [6 x i8] c"-stat\00", align 1 +@.str.14.154 = private unnamed_addr constant [5 x i8] c"size\00", align 1 +@__PRETTY_FUNCTION__.__create_new_dfile = private unnamed_addr constant [88 x i8] c"void __create_new_dfile(exe_disk_file_t *, unsigned int, const char *, struct stat64 *)\00", align 1 +@.str.12.155 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.156 = private unnamed_addr constant [18 x i8] c"silently ignoring\00", align 1 +@.str.1.161 = private unnamed_addr constant [24 x i8] c"ignoring (EAFNOSUPPORT)\00", align 1 +@.str.11.163 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.2.166 = private unnamed_addr constant [15 x i8] c"ignoring (EIO)\00", align 1 +@.str.3.167 = private unnamed_addr constant [18 x i8] c"ignoring (ENFILE)\00", align 1 +@.str.4.168 = private unnamed_addr constant [17 x i8] c"ignoring (EPERM)\00", align 1 +@.str.5.169 = private unnamed_addr constant [13 x i8] c"returning 0\0A\00", align 1 +@.str.6.170 = private unnamed_addr constant [40 x i8] c"setting all times to 0 and returning 0\0A\00", align 1 +@.str.7.171 = private unnamed_addr constant [17 x i8] c"ignoring (EBADF)\00", align 1 +@.str.8.174 = private unnamed_addr constant [21 x i8] c"ignoring (-1 result)\00", align 1 +@.str.9.175 = private unnamed_addr constant [18 x i8] c"ignoring (ECHILD)\00", align 1 +@.str.10.176 = private unnamed_addr constant [32 x i8] c"silently ignoring (returning 0)\00", align 1 +@__locale_mmap = global %struct.__locale_mmap_t.203* @locale_mmap, align 8 +@locale_mmap = internal constant %struct.__locale_mmap_t.203 { [420 x i8] c"\EE\EE\EE\EE\06afffffff$$$$$$$$$$\06\00\00\00\00D&fffdDDbfff`b\22\22FBFfddfFf$\22fbbB\22DDDD\22\22\22\22\06&fff`\00\00`fffff&ff`ffff\11a\06\00\00\00\11\11\11\11\11\01`\06\EE&fffd\E4\EEnffffb\E2Nfaff\11\11\11\22\22\22\22bDDDdDDD$FDDdDDdD&\22\22b\22\22b\22\22\22\22\12bbf&Fb$dd$dF$$$F\22BB\22fffdbaffff$fba$dFBfdbddBf$df\22b$$FFFdFDdD&&&b&\22b\22Ff\06dFDd@&f&b&\22b D\04DD@DDd\22\02\22\22 \22\22bFAFdFDdd&\22B\22FDDD&\22\22\22\06\00\06\00\00\00f\00\00`\00`\10\11\11\11\11\01\00\00\11afff\06\00\00ff\00ff`f`DddDADDDD@DDDD\22\22!\22\22\22\22\22\22\02\06ffffff\06\00\00\00`f&fffFff\22Fff`b$\04dfff``\00\00 $&f\00`f\06fF@f``\00`f&b\22fFdDffFf\11\11\11a\11\01\00`\11\11\11\16\11f\00\00", [504 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00{}\00\00\00{\00\7F\7F\00\00\00\00\00\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\00\00\F0\FE\00\FE\00\00\00\00\00\00\F0\00\F0\F0\F0\F0\F0\00\00\00\00\00\00\00\00\FF\FF\E7\00\F1\00\00\F0\00\F0\00\00\00\00\F0\00\00\FF\FF\F1\00\00\00\F0\00\F0\00\E7\FF\FF\F0\E0\E0\E0\E0\E0\E0\E0\E0\00\00\F0\00\F0\00\00\00\00\00\F0\00\F0\00\00\A0\00\00\00\00\00\00\00\A0\E0\E0\E0\E0\E0\E0\E0\00\00\F0\F0\F0\F0\F0\F0\00\F0\F0\F0\F0\F0\00\F0\F0\00\FF\FF\00\FF\FF\FB\00\F0\00\F0\FB\F0\00\00\B0\FF\FF\FF\FF\FF\FF\00\FE\F0\FE\F0\FC\F0\FF\FF\FC\E0\E0\E0\E0\E0\E0\E0\B0\00\00\00\00\00\00\FE\00\FE\00\00\00\00\00\00\00\00\00\00\00\FC\00\00\00\FC\00\00\00\FF\FF\BF\00\E0\E0\E0\E0\E0\E0\E0\BF\00\FF\FF\F0\00\00\FE\00\FE\00\F0\00\FE\00\FE\F0\00\00\F9\F0\FC\00\00\00\FC\F9\F0\00\FF\FF\BF\F0\00\F0\00\F0\00\F0\F0\00\00\F0\F0\F0\F0\00\F0\F0\00\F0\00\00\00\00\F0\00\00@\F0\F0\F0\00\00\F0\00\90\F0\F0\F0\00\00\F0\E0\E0\E0\00\E0\E0\E0\E0\00\E0\E0\E0\E0\E0\E0\00\00\F0\F0\F0\F0\00\F0\00\00\F0\F0\F0\F0\FE\F0\FE\00\B0\B0\B0\B0\B0\B0\B0\B0\B0\B0\B0\B0\00\B0\B0\00\00\00\00\00\00\DA\00\DB\DB\DB\00\C0\00\C1\C1\00\E0\E0\E0\E0\E0\E0\E0\E0\E0\00\E0\E0\E0\E0\E0\E0\E0\E0\E0\DA\DB\DB\DB\E0\E0\E1\E0\E0\E0\E0\E0\E0\E0\E0\E0\C0\C1\C1\00\E0\E0\E0\E0\E0t\E0\00\E0\E0\E0\E0\E0L\E0\00\00\00\00\10\00\00\00\00 \10\02\00\02\00\00\00\00\00\00\02\00\02\01\01\00\10\00\00\00\00\00\00\00\00\01\01\10\00\10\00\00\00\00\00\10\00\10\00\00\00\00\00\10\10\00\10\10\00\00\00\00\00\10\00\00", [1760 x i16] [i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 0, i16 1415, i16 1417, i16 41, i16 40, i16 187, i16 171, i16 8212, i16 46, i16 1373, i16 44, i16 45, i16 1418, i16 8230, i16 1372, i16 1371, i16 1374, i16 1329, i16 1377, i16 1330, i16 1378, i16 1331, i16 1379, i16 1332, i16 1380, i16 1333, i16 1381, i16 1334, i16 1382, i16 1335, i16 1383, i16 1336, i16 1384, i16 1337, i16 1385, i16 1338, i16 1386, i16 1339, i16 1387, i16 1340, i16 1388, i16 1341, i16 1389, i16 1342, i16 1390, i16 1343, i16 1391, i16 1344, i16 1392, i16 1345, i16 1393, i16 1346, i16 1394, i16 1347, i16 1395, i16 1348, i16 1396, i16 1349, i16 1397, i16 1350, i16 1398, i16 1351, i16 1399, i16 1352, i16 1400, i16 1353, i16 1401, i16 1354, i16 1402, i16 1355, i16 1403, i16 1356, i16 1404, i16 1357, i16 1405, i16 1358, i16 1406, i16 1359, i16 1407, i16 1360, i16 1408, i16 1361, i16 1409, i16 1362, i16 1410, i16 1363, i16 1411, i16 1364, i16 1412, i16 1365, i16 1413, i16 1366, i16 1414, i16 1370, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1026, i16 1027, i16 8218, i16 1107, i16 8222, i16 8230, i16 8224, i16 8225, i16 8364, i16 8240, i16 1033, i16 8249, i16 1034, i16 1036, i16 1035, i16 1039, i16 1106, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 0, i16 8482, i16 1113, i16 8250, i16 1114, i16 1116, i16 1115, i16 1119, i16 160, i16 1038, i16 1118, i16 1032, i16 164, i16 1168, i16 166, i16 167, i16 1025, i16 169, i16 1028, i16 171, i16 172, i16 173, i16 174, i16 1031, i16 176, i16 177, i16 1030, i16 1110, i16 1169, i16 181, i16 182, i16 183, i16 1105, i16 8470, i16 1108, i16 187, i16 1112, i16 1029, i16 1109, i16 1111, i16 1040, i16 1041, i16 1042, i16 1043, i16 1044, i16 1045, i16 1046, i16 1047, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 1058, i16 1059, i16 1060, i16 1061, i16 1062, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1070, i16 1071, i16 1072, i16 1073, i16 1074, i16 1075, i16 1076, i16 1077, i16 1078, i16 1079, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1088, i16 1089, i16 1090, i16 1091, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1099, i16 1100, i16 1101, i16 1102, i16 1103, i16 8364, i16 0, i16 8218, i16 402, i16 8222, i16 8230, i16 8224, i16 8225, i16 710, i16 8240, i16 0, i16 8249, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 732, i16 8482, i16 0, i16 8250, i16 0, i16 0, i16 0, i16 0, i16 160, i16 161, i16 162, i16 163, i16 8362, i16 165, i16 166, i16 167, i16 168, i16 169, i16 215, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 247, i16 187, i16 188, i16 189, i16 190, i16 191, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 0, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 0, i16 0, i16 8206, i16 8207, i16 0, i16 128, i16 129, i16 8218, i16 402, i16 8222, i16 8230, i16 8224, i16 8225, i16 710, i16 8240, i16 352, i16 8249, i16 338, i16 141, i16 142, i16 143, i16 144, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 732, i16 8482, i16 353, i16 8250, i16 339, i16 157, i16 158, i16 376, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 4304, i16 4305, i16 4306, i16 4307, i16 4308, i16 4309, i16 4310, i16 4337, i16 4311, i16 4312, i16 4313, i16 4314, i16 4315, i16 4316, i16 4338, i16 4317, i16 4318, i16 4319, i16 4320, i16 4321, i16 4322, i16 4339, i16 4323, i16 4324, i16 4325, i16 4326, i16 4327, i16 4328, i16 4329, i16 4330, i16 4331, i16 4332, i16 4333, i16 4334, i16 4340, i16 4335, i16 4336, i16 4341, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 160, i16 260, i16 274, i16 290, i16 298, i16 296, i16 310, i16 167, i16 315, i16 272, i16 352, i16 358, i16 381, i16 173, i16 362, i16 330, i16 176, i16 261, i16 275, i16 291, i16 299, i16 297, i16 311, i16 183, i16 316, i16 273, i16 353, i16 359, i16 382, i16 8213, i16 363, i16 331, i16 256, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 302, i16 268, i16 201, i16 280, i16 203, i16 278, i16 205, i16 206, i16 207, i16 208, i16 325, i16 332, i16 211, i16 212, i16 213, i16 214, i16 360, i16 216, i16 370, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 257, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 303, i16 269, i16 233, i16 281, i16 235, i16 279, i16 237, i16 238, i16 239, i16 240, i16 326, i16 333, i16 243, i16 244, i16 245, i16 246, i16 361, i16 248, i16 371, i16 250, i16 251, i16 252, i16 253, i16 254, i16 312, i16 160, i16 8221, i16 162, i16 163, i16 164, i16 8222, i16 166, i16 167, i16 216, i16 169, i16 342, i16 171, i16 172, i16 173, i16 174, i16 198, i16 176, i16 177, i16 178, i16 179, i16 8220, i16 181, i16 182, i16 183, i16 248, i16 185, i16 343, i16 187, i16 188, i16 189, i16 190, i16 230, i16 260, i16 302, i16 256, i16 262, i16 196, i16 197, i16 280, i16 274, i16 268, i16 201, i16 377, i16 278, i16 290, i16 310, i16 298, i16 315, i16 352, i16 323, i16 325, i16 211, i16 332, i16 213, i16 214, i16 215, i16 370, i16 321, i16 346, i16 362, i16 220, i16 379, i16 381, i16 223, i16 261, i16 303, i16 257, i16 263, i16 228, i16 229, i16 281, i16 275, i16 269, i16 233, i16 378, i16 279, i16 291, i16 311, i16 299, i16 316, i16 353, i16 324, i16 326, i16 243, i16 333, i16 245, i16 246, i16 247, i16 371, i16 322, i16 347, i16 363, i16 252, i16 380, i16 382, i16 8217, i16 160, i16 7682, i16 7683, i16 163, i16 266, i16 267, i16 7690, i16 167, i16 7808, i16 169, i16 7810, i16 7691, i16 7922, i16 173, i16 174, i16 376, i16 7710, i16 7711, i16 288, i16 289, i16 7744, i16 7745, i16 182, i16 7766, i16 7809, i16 7767, i16 7811, i16 7776, i16 7923, i16 7812, i16 7813, i16 7777, i16 372, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 7786, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 374, i16 223, i16 373, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 7787, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 375, i16 255, i16 160, i16 161, i16 162, i16 163, i16 8364, i16 165, i16 352, i16 167, i16 353, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 381, i16 181, i16 182, i16 183, i16 382, i16 185, i16 186, i16 187, i16 338, i16 339, i16 376, i16 191, i16 160, i16 260, i16 261, i16 321, i16 8364, i16 171, i16 352, i16 167, i16 353, i16 169, i16 536, i16 8222, i16 377, i16 173, i16 378, i16 379, i16 176, i16 177, i16 268, i16 322, i16 381, i16 8221, i16 182, i16 183, i16 382, i16 269, i16 537, i16 187, i16 338, i16 339, i16 376, i16 380, i16 192, i16 193, i16 194, i16 258, i16 196, i16 262, i16 198, i16 199, i16 272, i16 323, i16 210, i16 211, i16 212, i16 336, i16 214, i16 346, i16 368, i16 217, i16 218, i16 219, i16 220, i16 280, i16 538, i16 223, i16 224, i16 225, i16 226, i16 259, i16 228, i16 263, i16 230, i16 231, i16 273, i16 324, i16 242, i16 243, i16 244, i16 337, i16 246, i16 347, i16 369, i16 249, i16 250, i16 251, i16 252, i16 281, i16 539, i16 255, i16 160, i16 260, i16 728, i16 321, i16 164, i16 317, i16 346, i16 167, i16 168, i16 352, i16 350, i16 356, i16 377, i16 173, i16 381, i16 379, i16 176, i16 261, i16 731, i16 322, i16 180, i16 318, i16 347, i16 711, i16 184, i16 353, i16 351, i16 357, i16 378, i16 733, i16 382, i16 380, i16 340, i16 193, i16 194, i16 258, i16 196, i16 313, i16 262, i16 199, i16 268, i16 201, i16 280, i16 203, i16 282, i16 205, i16 206, i16 270, i16 272, i16 323, i16 327, i16 211, i16 212, i16 336, i16 214, i16 215, i16 344, i16 366, i16 218, i16 368, i16 220, i16 221, i16 354, i16 223, i16 341, i16 225, i16 226, i16 259, i16 228, i16 314, i16 263, i16 231, i16 269, i16 233, i16 281, i16 235, i16 283, i16 237, i16 238, i16 271, i16 273, i16 324, i16 328, i16 243, i16 244, i16 337, i16 246, i16 247, i16 345, i16 367, i16 250, i16 369, i16 252, i16 253, i16 355, i16 729, i16 160, i16 294, i16 728, i16 163, i16 164, i16 0, i16 292, i16 167, i16 168, i16 304, i16 350, i16 286, i16 308, i16 173, i16 0, i16 379, i16 176, i16 295, i16 178, i16 179, i16 180, i16 181, i16 293, i16 183, i16 184, i16 305, i16 351, i16 287, i16 309, i16 189, i16 0, i16 380, i16 192, i16 193, i16 194, i16 0, i16 196, i16 266, i16 264, i16 199, i16 0, i16 209, i16 210, i16 211, i16 212, i16 288, i16 214, i16 215, i16 284, i16 217, i16 218, i16 219, i16 220, i16 364, i16 348, i16 223, i16 224, i16 225, i16 226, i16 0, i16 228, i16 267, i16 265, i16 231, i16 0, i16 241, i16 242, i16 243, i16 244, i16 289, i16 246, i16 247, i16 285, i16 249, i16 250, i16 251, i16 252, i16 365, i16 349, i16 729, i16 160, i16 260, i16 312, i16 342, i16 164, i16 296, i16 315, i16 167, i16 168, i16 352, i16 274, i16 290, i16 358, i16 173, i16 381, i16 175, i16 176, i16 261, i16 731, i16 343, i16 180, i16 297, i16 316, i16 711, i16 184, i16 353, i16 275, i16 291, i16 359, i16 330, i16 382, i16 331, i16 268, i16 201, i16 280, i16 203, i16 278, i16 205, i16 206, i16 298, i16 272, i16 325, i16 332, i16 310, i16 212, i16 213, i16 214, i16 215, i16 216, i16 370, i16 218, i16 219, i16 220, i16 360, i16 362, i16 223, i16 269, i16 233, i16 281, i16 235, i16 279, i16 237, i16 238, i16 299, i16 273, i16 326, i16 333, i16 311, i16 244, i16 245, i16 246, i16 247, i16 248, i16 371, i16 250, i16 251, i16 252, i16 361, i16 363, i16 729, i16 160, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 173, i16 1038, i16 1039, i16 8470, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 167, i16 1118, i16 1119, i16 160, i16 0, i16 0, i16 0, i16 164, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1548, i16 173, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1563, i16 0, i16 0, i16 0, i16 1567, i16 0, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1611, i16 1612, i16 1613, i16 1614, i16 1615, i16 1616, i16 1617, i16 1618, i16 0, i16 0, i16 0, i16 0, i16 0, i16 160, i16 8216, i16 8217, i16 163, i16 0, i16 0, i16 166, i16 167, i16 168, i16 169, i16 0, i16 171, i16 172, i16 173, i16 0, i16 8213, i16 176, i16 177, i16 178, i16 179, i16 900, i16 901, i16 902, i16 183, i16 904, i16 905, i16 906, i16 187, i16 908, i16 189, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 918, i16 919, i16 920, i16 921, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 929, i16 0, i16 931, i16 932, i16 933, i16 934, i16 935, i16 936, i16 937, i16 938, i16 939, i16 940, i16 941, i16 942, i16 943, i16 944, i16 945, i16 946, i16 947, i16 948, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 964, i16 965, i16 966, i16 967, i16 968, i16 969, i16 970, i16 971, i16 972, i16 973, i16 974, i16 0, i16 160, i16 0, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 184, i16 185, i16 247, i16 187, i16 188, i16 189, i16 190, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8215, i16 286, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 304, i16 350, i16 223, i16 287, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 305, i16 351, i16 255, i16 9472, i16 9474, i16 9484, i16 9488, i16 9492, i16 9496, i16 9500, i16 9508, i16 9516, i16 9524, i16 9532, i16 9600, i16 9604, i16 9608, i16 9612, i16 9616, i16 9617, i16 9618, i16 9619, i16 8992, i16 9632, i16 8729, i16 8730, i16 8776, i16 8804, i16 8805, i16 160, i16 8993, i16 176, i16 178, i16 183, i16 247, i16 9552, i16 9553, i16 9554, i16 1105, i16 9555, i16 9556, i16 9557, i16 9558, i16 9559, i16 9560, i16 9561, i16 9562, i16 9563, i16 9564, i16 9565, i16 9566, i16 9567, i16 9568, i16 9569, i16 1025, i16 9570, i16 9571, i16 9572, i16 9573, i16 9574, i16 9575, i16 9576, i16 9577, i16 9578, i16 9579, i16 9580, i16 169, i16 1102, i16 1072, i16 1073, i16 1094, i16 1076, i16 1077, i16 1092, i16 1075, i16 1093, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1103, i16 1088, i16 1089, i16 1090, i16 1091, i16 1078, i16 1074, i16 1100, i16 1099, i16 1079, i16 1096, i16 1101, i16 1097, i16 1095, i16 1098, i16 1070, i16 1040, i16 1041, i16 1062, i16 1044, i16 1045, i16 1060, i16 1043, i16 1061, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1071, i16 1056, i16 1057, i16 1058, i16 1059, i16 1046, i16 1042, i16 1068, i16 1067, i16 1047, i16 1064, i16 1069, i16 1065, i16 1063, i16 1066, i16 1179, i16 1171, i16 8218, i16 1170, i16 8222, i16 8230, i16 8224, i16 8225, i16 0, i16 8240, i16 1203, i16 8249, i16 1202, i16 1207, i16 1206, i16 0, i16 1178, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 0, i16 8482, i16 0, i16 8250, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1263, i16 1262, i16 1105, i16 164, i16 1251, i16 166, i16 167, i16 0, i16 0, i16 0, i16 171, i16 172, i16 173, i16 174, i16 0, i16 176, i16 177, i16 178, i16 1025, i16 0, i16 1250, i16 182, i16 183, i16 0, i16 8470, i16 0, i16 187, i16 0, i16 0, i16 0, i16 169, i16 9552, i16 9553, i16 9554, i16 1105, i16 1108, i16 9556, i16 1110, i16 1111, i16 9559, i16 9560, i16 9561, i16 9562, i16 9563, i16 1169, i16 9565, i16 9566, i16 9567, i16 9568, i16 9569, i16 1025, i16 1028, i16 9571, i16 1030, i16 1031, i16 9574, i16 9575, i16 9576, i16 9577, i16 9578, i16 1168, i16 9580, i16 169, i16 0, i16 3585, i16 3586, i16 3587, i16 3588, i16 3589, i16 3590, i16 3591, i16 3592, i16 3593, i16 3594, i16 3595, i16 3596, i16 3597, i16 3598, i16 3599, i16 3600, i16 3601, i16 3602, i16 3603, i16 3604, i16 3605, i16 3606, i16 3607, i16 3608, i16 3609, i16 3610, i16 3611, i16 3612, i16 3613, i16 3614, i16 3615, i16 3616, i16 3617, i16 3618, i16 3619, i16 3620, i16 3621, i16 3622, i16 3623, i16 3624, i16 3625, i16 3626, i16 3627, i16 3628, i16 3629, i16 3630, i16 3631, i16 3632, i16 3633, i16 3634, i16 3635, i16 3636, i16 3637, i16 3638, i16 3639, i16 3640, i16 3641, i16 3642, i16 0, i16 0, i16 0, i16 0, i16 3647, i16 3648, i16 3649, i16 3650, i16 3651, i16 3652, i16 3653, i16 3654, i16 3655, i16 3656, i16 3657, i16 3658, i16 3659, i16 3660, i16 3661, i16 3662, i16 3663, i16 3664, i16 3665, i16 3666, i16 3667, i16 3668, i16 3669, i16 3670, i16 3671, i16 3672, i16 3673, i16 3674, i16 3675, i16 0, i16 0, i16 0, i16 0], [4528 x i8] c"\00\00\01\00\00\00\00\00\02\03\04\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\06\07\08\09\0A\0B\00\00\00\00\00\00\00\00\0C\0D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\0F\00\00\00\00\10\11\12\13\14\15\00\00\00\16\00\00\00\00\00\00\00\17\18\19\00\00\00\00\00\00\1A\00\00\00\00\00\00\1B\1C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\1D\1E\00\1F\00 \00\00\00\00\00\00\00\00\00!\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\22#\00\00\00\00\00\00\00\00\00\00\00\00\00$%\13&'(\17\18\19\00\00\00\00\00\00)\00\00\00\00\00\00\00\1C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00*+,-\00\00.\14\00\00\00\00\00/01\00!\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00234\00\17\18\19\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03,-\11\12\13\14\00\00\00\00\00\00\00\00\02\0356789:;<=>?\00@A\00\00\00\00\00\00\00\00\00B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03CDEFGHIJKLMNOP\00\00\00\00\00\00\00\00\00Q\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03RS\11T\13UV\00W\00\00\00\00X\00\00\00\00\00\00\00\00YZ\00\00[\\]\00^\00\00\00\00\00\00_\00\00\00\00\00\00\00\00\02\03`a\11\12\13\14\00\00\00\00\00bcd\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00e\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03fghijklm\00\00nocp\00\00\00\00\00\00\00\00\00q\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00r\00\00\00\00\00\00\00\00e\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03stuvwxyz\00{|}~\7F\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\81\00\00\00\00\00\00\00\00\00\00\02\03\82\83\84\85\86\87\88\89\8A\8B\00\8C\8D\8E\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\8F\00\00\00\00\00\00\00\00\00\00\02\03\90t\91\92\93\94;\95\96\97\98\99\9A\9B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\9C\00\00\00\00\00\00\00\00\00\00\02\03\9D\00\00\00\00\00\9E-\11\12\13\9F\00\00\00\00\00\00\00\00\00\00\00\A0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03\A1\00\00\00\00\00\A2\A3\A4\A5\13\A6\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03\A7\A8\00\00\00\00\00\00\00\00\00\00\00\00\A9\11\AA\13\AB\00\00\00\00\AC\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03\AD\AE\00\1F\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\13&\00(\AF\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03,-\11\B0\13\B1\00\B2\00\B3\00\B4\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B5\B6\00\00\00\B7\B8\B9\BA\BB\BC\BD\00\00\00\00\00\00\00\00\00\00\00\BE\00\00\BF\00\C0\00\00\00\00\00\00\00\00\00\00\00\C1\00\00\00\00\00\00\00\00\00\00\00\00\00\C2\C3\C4\C5\00\C6\C7\00\C8\C9\CA\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\CB\CC\00\00\00\00\B8\B9\BA\BB\BC\BD\00\00\00\CD\00\CE\00\00\CF\00\D0\B9\BA\BB\BC\D1\00\00\00\D2\00\00\00\00\00\00\C2\C3\C4\C5\00\D3\D4\00\C8\C9\CA\00\00\00\00\00\D5-\11\D6\13\D7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A5\A4\00\00\AB\AC\A9\00\80\81\82\83\84\85\86\87\88\89\8A\8B\8C\8D\8E\8F\90\91\92\93\94\95\96\97\98\99\9A\9B\9C\9D\9E\9F\A0\00\00\00\00\00\00\00\00\00\00\A7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A6\00\00\00\00\00\B2\B4\B6\B8\BA\BC\BE\C0\C2\C4\C6\C8\CA\CC\CE\D0\D2\D4\D6\D8\DA\DC\DE\E0\E2\E4\E6\E8\EA\EC\EE\F0\F2\F4\F6\F8\FA\FC\00\00\00\FE\B0\AF\AA\B1\00\00\B3\B5\B7\B9\BB\BD\BF\C1\C3\C5\C7\C9\CB\CD\CF\D1\D3\D5\D7\D9\DB\DD\DF\E1\E3\E5\E7\E9\EB\ED\EF\F1\F3\F5\F7\F9\FB\FD\A2\00\A3\AD\00\00\00\00\00\00\00\00\00\A8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\AE\00\00\00\00\00\00\00\00\00\A0\00\00\00\A4\00\A6\A7\00\A9\00\AB\AC\AD\AE\00\B0\B1\00\00\00\B5\B6\B7\00\00\00\BB\00\00\00\00\00\A8\80\81\AA\BD\B2\AF\A3\8A\8C\8E\8D\00\A1\8F\C0\C1\C2\C3\C4\C5\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\E0\E1\E2\E3\E4\E5\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\FD\FE\FF\00\B8\90\83\BA\BE\B3\BF\BC\9A\9C\9E\9D\00\A2\9F\A5\B4\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\96\97\00\00\00\91\92\82\00\93\94\84\00\86\87\95\00\00\00\85\00\00\00\00\00\00\00\00\00\89\00\00\00\00\00\00\00\00\8B\9B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\88\00\00\00\00\00\00\00\00\00\B9\00\00\00\00\00\00\00\00\00\00\00\99\00\00\00\00\00\00\00\00\00\00\00\00\00\A0\A1\A2\A3\00\A5\A6\A7\A8\A9\00\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\00\BB\BC\BD\BE\BF\00\00\00\00\00\00\00\AA\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\BA\00\00\00\00\00\00\00\00\00\00\83\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\88\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\98\00\00\00\C0\C1\C2\C3\C4\C5\C6\C7\C8\C9\00\CB\CC\CD\CE\CF\D0\D1\D2\D3\00\00\00\00\00\00\00\00\00\00\00\00\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\00\00\00\00\00\D4\D5\D6\D7\D8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\FD\FE\00\00\00\00\00\00\00\00\00\00\A4\00\80\00\00\00\80\81\00\00\00\00\00\00\00\00\00\00\00\8D\8E\8F\90\00\00\00\00\00\00\00\00\00\00\00\00\9D\9E\00\A0\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\BF\00\00\00\00\00\00\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\00\00\8C\9C\00\00\00\00\00\00\00\00\00\00\00\00\8A\9A\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\9F\00\00\00\00\00\00\00\C0\C1\C2\C3\C4\C5\C6\C8\C9\CA\CB\CC\CD\CF\D0\D1\D2\D3\D4\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\E0\E1\E3\E4\C7\CE\D5\E2\E5\00\00\00\00\00\00\00\00\00\00\A0\00\00\00\00\00\00\A7\00\00\00\00\00\AD\00\00\B0\00\00\00\00\00\00\B7\00\00\00\00\00\00\00\00\00\C1\C2\C3\C4\C5\C6\00\00\C9\00\CB\00\CD\CE\CF\D0\00\00\D3\D4\D5\D6\00\D8\00\DA\DB\DC\DD\DE\DF\00\E1\E2\E3\E4\E5\E6\00\00\E9\00\EB\00\ED\EE\EF\F0\00\00\F3\F4\F5\F6\00\F8\00\FA\FB\FC\FD\FE\00\C0\E0\00\00\A1\B1\00\00\00\00\00\00\C8\E8\00\00\A9\B9\A2\B2\00\00\CC\EC\CA\EA\00\00\00\00\00\00\00\00\A3\B3\00\00\00\00\A5\B5\A4\B4\00\00\C7\E7\00\00\00\00\00\00\A6\B6\FF\00\00\A8\B8\00\00\00\00\00\00\00\00\D1\F1\00\00\00\AF\BF\D2\F2\00\00\AA\BA\00\00\00\00\AB\BB\D7\F7\AE\BE\00\00\00\00\00\00\D9\F9\00\00\00\00\00\00\00\00\00\AC\BC\00\00\00\00\00\00\BD\00\00\00\00\00\00\00\00\00\00\A0\00\A2\A3\A4\00\A6\A7\00\A9\00\AB\AC\AD\AE\00\B0\B1\B2\B3\00\B5\B6\B7\00\B9\00\BB\BC\BD\BE\00\00\00\00\00\C4\C5\AF\00\00\C9\00\00\00\00\00\00\00\00\00\D3\00\D5\D6\D7\A8\00\00\00\DC\00\00\DF\00\00\00\00\E4\E5\BF\00\00\E9\00\00\00\00\00\00\00\00\00\F3\00\F5\F6\F7\B8\00\00\00\FC\00\00\00\C2\E2\00\00\C0\E0\C3\E3\00\00\00\00\C8\E8\00\00\00\00\C7\E7\00\00\CB\EB\C6\E6\00\00\00\00\00\00\00\00\CC\EC\00\00\00\00\00\00\CE\EE\00\00\C1\E1\00\00\00\00\00\00\CD\ED\00\00\00\CF\EF\00\00\00\00\D9\F9\D1\F1\D2\F2\00\00\00\00\00\D4\F4\00\00\00\00\00\00\00\00\AA\BA\00\00\DA\FA\00\00\00\00\D0\F0\00\00\00\00\00\00\00\00\DB\FB\00\00\00\00\00\00\D8\F8\00\00\00\00\00\CA\EA\DD\FD\DE\FE\00\00\00\00\00\00\00\00\00\00\FF\00\00\B4\A1\A5\00\A0\00\00\A3\00\00\00\A7\00\A9\00\00\00\AD\AE\00\00\00\00\00\00\00\B6\00\00\00\00\00\00\00\00\00\00\D1\D2\D3\D4\D5\D6\00\D8\D9\DA\DB\DC\DD\00\DF\00\F1\F2\F3\F4\F5\F6\00\F8\F9\FA\FB\FC\FD\00\FF\00\00\00\00\00\00\00\00\00\00\A4\A5\00\00\00\00\B2\B3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\D0\F0\DE\FE\AF\00\00\00\00\00\00\00\00\00\A1\A2\00\00\00\00\00\00\A6\AB\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B0\B1\B4\B5\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B7\B9\00\00\00\00\00\00\00\00\BB\BF\00\00\00\00\00\00\00\00\D7\F7\00\00\00\00\A8\B8\AA\BA\BD\BE\00\00\00\00\00\00\00\00\00\00\00\00\AC\BC\00\00\00\00\00\00\00\00\00\00\00\00\A0\A1\A2\A3\00\A5\00\A7\00\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B3\00\B5\B6\B7\00\B9\BA\BB\00\00\00\BF\00\00\BC\BD\00\00\00\00\00\00\00\00\00\00\00\00\A6\A8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\BE\00\00\00\00\B4\B8\00\00\00\00\00\00\00\00\00\00\00\00\00\A4\00\00\00\A0\00\00\00\00\00\00\A7\00\A9\00\A5\00\AD\00\00\B0\B1\00\00\00\00\B6\B7\00\00\00\BB\00\00\00\00\C0\C1\C2\00\C4\00\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\00\00\D2\D3\D4\00\D6\00\00\D9\DA\DB\DC\00\00\DF\E0\E1\E2\00\E4\00\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\00\00\F2\F3\F4\00\F6\00\00\F9\FA\FB\FC\00\00\FF\00\00\C3\E3\A1\A2\C5\E5\00\00\00\00\B2\B9\00\00\D0\F0\00\00\00\00\00\00\DD\FD\00\00\00\00\00\00\00\A3\B3\D1\F1\00\00\00\00\00\00\00\00\00\00\00\D5\F5\BC\BD\00\00\00\00\00\00\D7\F7\00\00\00\00\D8\F8\00\00\00\00\00\00\BE\AC\AE\AF\BF\B4\B8\00\00\00\00\00\00\00\00\00\AA\BA\DE\FE\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B5\AB\00\A0\00\00\00\A4\00\00\A7\A8\00\00\00\00\AD\00\00\B0\00\00\00\B4\00\00\00\B8\00\00\00\00\00\00\00\00\C1\C2\00\C4\00\00\C7\00\C9\00\CB\00\CD\CE\00\00\00\00\D3\D4\00\D6\D7\00\00\DA\00\DC\DD\00\DF\00\E1\E2\00\E4\00\00\E7\00\E9\00\EB\00\ED\EE\00\00\00\00\F3\F4\00\F6\F7\00\00\FA\00\FC\FD\00\00\00\00\C3\E3\A1\B1\C6\E6\00\00\00\00\C8\E8\CF\EF\D0\F0\00\00\00\00\00\00\CA\EA\CC\EC\00\00\00\00\00\00\00\00\00\00\00\00\00\C5\E5\00\00\A5\B5\00\00\A3\B3\D1\F1\00\00\D2\F2\00\00\00\00\00\00\00\D5\F5\00\00\C0\E0\00\00\D8\F8\A6\B6\00\00\AA\BA\A9\B9\DE\FE\AB\BB\00\00\00\00\00\00\00\00\D9\F9\DB\FB\00\00\00\00\00\00\00\AC\BC\AF\BF\AE\BE\00\00\00\00\00\00\00\00\B7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A2\FF\00\B2\00\BD\00\00\A0\00\00\A3\A4\00\00\A7\A8\00\00\00\00\AD\00\00\B0\00\B2\B3\B4\B5\00\B7\B8\00\00\00\00\BD\00\00\C0\C1\C2\00\C4\00\00\C7\C8\C9\CA\CB\CC\CD\CE\CF\00\D1\D2\D3\D4\00\D6\D7\00\D9\DA\DB\DC\00\00\DF\E0\E1\E2\00\E4\00\00\E7\E8\E9\EA\EB\EC\ED\EE\EF\00\F1\F2\F3\F4\00\F6\F7\00\F9\FA\FB\FC\00\00\00\00\00\00\00\00\00\00\00\C6\E6\C5\E5\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\D8\F8\AB\BB\D5\F5\00\00\A6\B6\A1\B1\00\00\00\00\00\00\00\00\A9\B9\00\00\AC\BC\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\DE\FE\AA\BA\00\00\00\00\00\00\00\00\00\00\00\00\DD\FD\00\00\00\00\00\00\00\00\00\00\00\00\00\AF\BF\00\00\00\00\00\00\00\00\00\00\00\A2\FF\00\00\00\00\00\00\A0\00\00\00\A4\00\00\A7\A8\00\00\00\00\AD\00\AF\00\C1\C2\C3\C4\C5\C6\00\00\C9\00\CB\00\CD\CE\00\00\00\00\00\D4\D5\D6\D7\D8\00\DA\DB\DC\00\00\DF\00\E1\E2\E3\E4\E5\E6\00\00\E9\00\EB\00\ED\EE\00\00\00\00\00\F4\F5\F6\F7\F8\00\FA\FB\FC\00\00\00\D0\F0\AA\BA\00\00\CC\EC\CA\EA\00\00\00\00\00\00\00\00\AB\BB\00\00\00\00\A5\B5\CF\EF\00\00\C7\E7\00\00\00\00\00\00\D3\F3\A2\00\00\A6\B6\00\00\00\00\00\00\00\00\D1\F1\00\00\00\BD\BF\D2\F2\00\00\00\00\00\00\00\00\A3\B3\00\00\00\00\00\00\00\00\A9\B9\00\00\00\00\AC\BC\DD\FD\DE\FE\00\00\00\00\00\00\D9\F9\00\00\00\00\00\00\00\00\00\AE\BE\00\00\00\00\00\00\00\00\00\00\FF\00\B2\00\00\00\00\A0\00\00\00\00\00\00\FD\00\00\00\00\00\AD\00\00\00\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\00\AE\AF\00\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\00\FE\FF\00\00\00\00\00\00\F0\00\00\00\00\00\00\00\00\00\A0\00\00\00\A4\00\00\00\00\00\00\00\00\AD\00\00\00\00\00\00\00\00\00\00\00\00\00\00\AC\00\00\00\00\00\00\00\00\00\00\00\00\00\00\BB\00\00\00\BF\00\C1\C2\C3\C4\C5\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\00\00\00\00\00\F0\F1\F2\00\00\00\00\00\00\00\00\00\00\00\00\00\A0\00\00\A3\00\00\A6\A7\A8\A9\00\AB\AC\AD\00\00\B0\B1\B2\B3\00\00\00\B7\00\00\00\BB\00\BD\00\00\00\00\00\00\B4\B5\B6\00\B8\B9\BA\00\BC\00\BE\BF\D0\D1\00\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\FD\FE\00\00\00\00\00\00\AF\00\00\A1\A2\00\00\00\00\00\00\A0\00\A2\A3\A4\A5\A6\A7\A8\A9\00\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\00\BB\BC\BD\BE\00\00\00\00\00\00\00\00\DF\00\00\00\00\00\00\00\00\00\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\00\00\DF\00\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\00\00\FF\00\00\00\00\00\00\00\00\00\00\00\00\00\00\D0\F0\DD\FD\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\DE\FE\9A\00\00\00\00\00\00\00\00\BF\00\00\00\00\00\00\9C\00\9D\00\00\00\00\9E\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\9F\00\00\00\00\00\00\00\00\00\B3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E1\E2\F7\E7\E4\E5\F6\FA\E9\EA\EB\EC\ED\EE\EF\F0\F2\F3\F4\F5\E6\E8\E3\FE\FB\FD\FF\F9\F8\FC\E0\F1\C1\C2\D7\C7\C4\C5\D6\DA\C9\CA\CB\CC\CD\CE\CF\D0\D2\D3\D4\D5\C6\C8\C3\DE\DB\DD\DF\D9\D8\DC\C0\D1\00\A3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\95\96\00\00\00\00\00\00\00\00\00\00\00\00\00\97\00\00\00\00\00\00\00\00\00\00\00\98\99\00\00\00\00\00\00\00\00\00\00\93\9B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\00\81\00\00\00\00\00\00\00\00\00\82\00\00\00\83\00\00\00\84\00\00\00\85\00\00\00\86\00\00\00\00\00\00\00\87\00\00\00\00\00\00\00\88\00\00\00\00\00\00\00\89\00\00\00\00\00\00\00\8A\00\00\00\A0\A1\A2\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\00\00\00\8B\00\00\00\8C\00\00\00\8D\00\00\00\8E\00\00\00\8F\90\91\92\00\00\00\00\00\00\00\00\00\00\00\00\94\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A4\00\A6\A7\00\BF\00\AB\AC\AD\AE\00\B0\B1\B2\00\00\00\B6\B7\00\00\00\BB\00\00\00\00\00\00\83\81\00\00\00\00\00\00\90\80\00\00\00\00\00\00\8C\8A\00\00\8E\8D\00\00\00\00\00\00\00\00\00\00\B5\A5\00\00\00\00\00\00\00\00\00\00\A2\A1\00\B3\00\00\B4\00\B6\B7\00\00\00\00\00\00\00\00\00\A3\00\00\A4\00\A6\A7\00\00\00\00\00\00\00\00\BD\AD\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A0\A1\A2\00\A5\00\00\A8\A9\AA\AB\AC\00\AE\AF\B0\B1\B2\00\B5\00\00\B8\B9\BA\BB\BC\00\BE\00\00\00\00\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\00\00\00\00\DF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\00\00\00\00", [3604 x i8] c":!\1F2#\1E\02,\00'\04%&\05\07)\0F\12\09\0C\06\19\1A\0B+\00\00\00\00\00 \1D9*7407.$777\00\00\00\0158\03/3\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\17\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\16\19\19\19\19\13\00\00\00\00\00\00\00\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\14\00\00\00\00\00\00\00\007777777777777777777777777\19\10\08\19\1B-(\00\00\00\0E\22\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0061\00\00\11\0A\15\1C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\18\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\19\19\0D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E4\E4\E4\CD\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\D0\00\00\07\00\1A5UU>Uj\DE\00UovUUUUUUUUUUUZ\E4\DA\DEU\\\08UUUUI5UUUUUUUUUUS\E4\E4UUU\00\00\00\00\00\00\00UU\12?#UU(%;\C4-\002\03U\C7\00\B6PGUU(&=\E3\CC\1F\00 U\00\00\1DL(UU(U:\D2.\04\009U\00\00\1DUS\17UUGOS\11\D5\E4\00\00\1C\005UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU5UUUUXUAVXUk\00\00\00\00/\22\0B54\16\BC\CBJ\DEU<\00\00\00\00S\00\14\09U\BBSJDUUUUUUUUUUUUU7\00\00\00\14UUUUUSUUUUUUUS'S'UUUUS'UUUS'S'SSUUSUUTBLLUUUFJ\17(UUUUUUUUUUUUUUUUUUUUUULm\00UUn\00UUk\00UL*\00UUUUUU`\E4\E4\E4\E2\D3U7\00\00US'SUUUUSUU>\B9vp\D4\00\00\00\00UUUUUUUUUUI\00UUUR\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00UUUS\D0\00UUU>\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00UUUUG1\C5\C0UpY\C0\00\00\00\00\00\00\00\00UUUUR\00UUUUU)UUUUURUUUUUUU>\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00UUUUUUUUUULUUUUUUUUL\103UE&UUUUUUUUUUUUUUUUUU8UUUUUUUU>UUUUUUUUUU7UUUUUUUUUUUUUUUUUI\E4\E4\E4\E4\E4\E4\E0\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUH\00\00\00\00\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUHUUU\BBUUhUUUhUUUUUUUUUUUUUUUUUUUUR\00\00\00\00\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUUUR\00\00\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUUUUUUUS\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU^S\00xUUgUUUUUUUUUi\1F\00UUUUUUUY\00\00UUUUUUUU\17UUUUUU\00\00\00\00\00UNUU]UUU]UUXUUUXUUU\BBUUU\BBUUh9UUUUUU\86\AA\83\A7\86\AA\86\AA\83\A7{\96\86\AA\86\83\86\AA\86\AA\86\AA\82\AE\C9\AF}\AC\7F\AF\19\AD\92\92\00\00\00\00\97\AA\AA\AA\A86y\86\86\86\85\B4\B9\E4\CD\E4\E4\CD\D4\00UUU>g\00\92\92\92\92+\92\8F\00\00\00ezq~bUqraUURU\BDp\E4p\E4_\DF\00\00\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\91d\92\92\92\92\92\92\92\92\92\92\92\8C\92\92\92\92\92\92\92\9A\9Fs\92\92\92\92\92\A5\99\A0\A4\8E\93\9C\A1\8D[\8B\9F\9D\92\92\98\92\AA\AA\AA\AA\A7\86\86\86\86\83\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\AA\AA\AA\AA\AA\AA\86\86\86\86\86\86\92\92\92\92\94\CA\92\92\92\92\92\92\9A\9E\92\92\92\92\90\8C\B5\C1\E4\E4\E4\B9\E4\E4\E4\DC\C3\E0\B9\E4\E4\E4\E4\E4\D4\E4\E4\E4\B9\E0\00\00\E4\E4\E4\D0\E4\E4\B6K#UU($=\D1-\05\0A9U,\00\18@'0\13@T:\C5.\04\00\02U\C2\00\B6L(UU(Q:\D7.\0C\009U\00\00\1DL(UU(Q:\D7.\0C\019U\00\00\B6UUUUUU=\E4\DE\BEUoU,\00\B6K#UU(!;\D6-\04\0AlUp\C2\B9\E4Up\B1\AA\AA\B0\95\86\86\88\E1UUUUUUUUUUS\17\17\17\15\E0\E0\00\B8\BF\E4\E4\E4Up\E4\E4U5UUU>\B9\E4\E4H\E4\B9\E4\E4\E4\D7\E4\D6\00\00\00\00\00\00\CE\C8Zw\DDfcC\D9k\1B\E4\AA\AA\86\86H\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E0U7UUUUUUUUUUU\00UUUUU\BA\00\00\00\00\00\00\00\00\00\00\E4\E3\BBUUI\E4\E4\E4\C2\00\00\00\00\00\00UUUUY\E4t\00\00\00\00\00\00\00\00\00\E4\E4\00\00\D0\00\E4\E4\E5\B9\C6\E4\E0\D0LUUUUUUUUUUUUUUUUM\E4\E4\D2\B9\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\E4\C0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E4\E4\E4\D4\E4\E4\E4\E4\D0\00\B9\E4\E4\E4\E4\D1\E4\E4\E4\E4\E4\E4\E4\E4\E4\D0\E4\E4\E4\E4\E4\E0\E4\E4\E4\E4\E0\00\00\00\E4\C2\00\00\E4\E4\E4\E4\E4\E4\E4\D8UUW\AA\AA\AA\86\86\86\8A\E4\E0\E4\E4\E4\E4\E0\1E\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\00\00\00\00\E4\E4\E4\E4\E4\E4\E4\E4\DB\E4\00\00\E4\E4\0D\0F\0E\A2\9B\AA\A3\A6|\86\86\84\80\92\92\92\81\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E0\1B\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\E4\E4\E4\E0\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E0\00\00\00\00\00\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\00\00\00\E4\D0\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E6\E4\E4\E4vpw_5UUUUUUUUUS\B7vUUUUUUUUUUh\E9\E8\E4\E4\E4\EA\E4\E4\E4\E4\C4\06\D0\1Eu\E2\E4\E0\00\00\E4\E4\C0\00\00\00\E4\E4\E4\C2\00\00\EC\EB\EC\EC\E7\E4\B2\B3\B1\AA\AA\B0\95\86\86\89\EC\EC\EC\EC\E4\CF\DB\CF\AA\AA\AB\A9\86\86\87\86\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\11\00\00\00`\00\00\00f\00\00\00\90\00\00\06\00\00\00\10\11\00\00\10\16\00\00\11\10\00\00\11\11\00\00`\06\00\00f\00\00\00fd\00\01\00\06\00\01\10\01\00\06\00`\00\06\10\11\00\10\01\00\00\10\11\11\00\11\01\00\00\11\10\11\00\11\11\11\00\16\10\11\00!\01\11\00`\00`\00`ff\00f\06\00\00f\10\11\00fff\01\00\00\00\01\00\00\11\01\01\00\11\01\01\10\00\01\10\11\11\01\11\00\11\01\11\10\01\01\11\10\11\01\11\11\00\01\11\11\11\01`\00\00\01f\00\00\04$$$\06\00\00\00\06`f\00\06ff\00\10\01\01\10\10\01\01\11\10\01ff\10\11\01\01\10\11\01\11\10\11\10\10\10\11\11\11\10fff\11\00\00\00\11\00\00\10\11\00\00\11\11\00\00f\11\00\06f\11\00\11\00\11\00\16f\11\01\00\00\11\01\00\10\11\01\00\11\11\01\00`\11\01\10\11\11\06\10\11\11\10\01\11\11\10\10\11\11\10\11\01\11\10\11\11\11\11\00\00\11\11\01\00\11\11\01\01\11\11\01\10\11\11\01\11\11\11\01`\11\11\06\00\11\11\10\00\11\11\10\10\11\11\10\11\11\11\11\00\11\11\11\01\11\11\11\10\11\11\11\11\11\11\11\16\11\11\11D\11\11\11a\11\11\11f\11\11\16f\11\114B\11\11a\06\11\11a\11\11\11a\16\11\11af\11\11ff\11\12\11\11\11\12!\11\11\16\11\11\11!\00\00\11!\12\22\11D\11\16\11a\06\00\11a\11\11\11af\11\11aff\11f\00\00\11f\00\11\11f\06\00\11ff\06\11ff\11\11fff\12!\11\11\12\22\11\11\12$$$\16\00\00\00\16\00ff\16\11\11\11\16\11\11f\19\11\11\11 \22\22\22!!\11\11!!!!!\22\22\22\22\11\00\11\22\11\11!\22\11!\11\22\11!\12\22\12$\06\22!\01\11\22\22\22\00\22\22\22\02\22\22\22\12\22\22\22\22\22\22\22b\22bff\22bf\E6\22fff#4BB$\00\00\00$\11$!$\11DB$$\00\00$$$\00$$$\11$$$$$$$D$ff\06&\22\22\22@@@@@DDDA#$DA$$DABBBADDDB\11$DBB\22$BBB\02BBBBBD\12DBDBBD\04\04DD@DDDB$DDBB\22DD\22\22DDD\00DDD\04DDD$DDDDDDDdDD`fDDd\06DDdbDDdfDdffFDDDUUUUUfff`\06\00\00`f\06f`f\10\11`f\16\11`ff\00`fffa\00\00\00a\11\11\11a\11ffa\16\11\11af\06\00affff\00\00\00f\00fff\06\00\00f\06\00\06f\06\00`f\06\00ff\06fff\11\01\00f\11\11\11f!\01\11f$$$f`\16\00f`f\00f`fffaf\16faffff\00\00ff\00`ff\00fff\01\00ff\06\00ff\06\06ff\06`ff\06fff\11\11ff\16\11ff\16aff&fff``ffadfff\00fff\01fff\06fff\11fff\16fff`ffffffv\07if\16\11ifff\99\99ff\99\99\99i\CCfff\DE\CC\CC\EE\EE\EE\EE\EE", [1680 x i8] c"\04\06\07\00\00\00\00\00\00\00\00\00\00\00\00\05\01\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\00\00\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\0D\00\00\00\00\00\00QQRR\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\1B\1B\19\0F\1F\1F\1D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\03SSSUUUT\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\1B\1B\19\0F\1F\1F\1D\00\00\00\00\00\00\04\00\1B\1B\1A\1A\1F\1F\1E ((((((1\10,*(((((2\11.3%)/0$\064,-((\12((((((((((((((((((('\08(((((((((((#GIFHGIGIFH\16\17GIMNGIGIGIEJ\09OCKDL\09P((((5(&\00\00\00\07\1367\0B\0089\0C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\01:\0E\1B\18\1C\0F\1F\22!;(((<\00>>\1B\1B\1B\1B\1F\1F\1F\1F==((((#\0A((((((\10+(((('#((\00\00\00\00\14@@@?\00\15BBBA\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00WWWWVYYYYX\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\001\00\00\00\00\00\00\00Y\00\00\00\00\00\00\00^^\00\00\00\00\00\03\00\00\00\00\00\00\000\00\00\00\00\00\00\1C\1D\1E\1C\00\00\00#$\00%%\00\00\00E\00\00\00\00\00\00\00N\00\00\00\00\00\00\05\06\05\06\05\06\00\00+\00\00,\00\00\00\00/\00\00\00\00\00\00\00Z[\00\00\00\00\00\01\01\01\01\01\01\01\00\02\02\02\02\02\02\02\00\05\06\05\06\05\06\05\00\0B\05\06\05\06\0C\05\00\1C\1D\1E\05\06 !\00&\00'\00\00\00\00\00CCCCCCC\00DDDDDDD\00F\00F\00F\00F\00G\00G\00G\00G\01\01\00\01\01\01\01\01\01\01\01\00\00\00\00\00\01\01\01\01\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\015666\02\02\02\00\00\00\00\00\02\02\02\02\02\02\02\00\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\04\02\02\02\02899\00\02\027\02\02\02\02\02\05\06\00\00\00\00\00\00\05\06\00\00\05\06\00\1B\05\06\00\00\13\15\16\17\05\06\05\06\00\00\00\00\05\06\05\06\05\06\00\00\05\06\05\06\05\06\05\06\05\06\05\06\05\06\18\05\06\00\05\06\05\06\05\06\06\05\06\05\06\05\06\00\06\05\06\05\06\05\06\05\06\05\06\05\06\1F\05\06\06\0D\0D\05\06\00\0E\0F\06\18\00\00\05\06\18\05\06\19\19\05\06\05\06\1A\07\08\05\06\05\06\05\06\09\05\06\05\06\05\06\0A\10\05\06\0D\11\12\13\14\1D\1E\1C\1D\1E\05\06\05\22\00\05\06\05\06\05\06%\00\00(\00\00\00\00)*\00\00\00\00\00*-\00\00-\00\00\00\00-\00..\00\00\00\00222\003\0044:;\00\00\00<=\00>?\1F\00@A\00\00????????BBBBBBBBCCCCCCC\00CCCCCCCCDDDDDDD\00DDDDDDDDFF\00\00\00\00\00\00FF\00\00\00T\00\00FF\00N\00\00\00\00FFFFFF\00\00FFFFFFFFGGGGGG\00\00GGGGGGGGGGOOP\00Q\00GGSS\00\00\00\00GGUUV\00\00\00HHIIIIJJKKLLMM\00\00RRRRP\00\00\00WWXXP\00\00\00\\\\\\\\\\\\\\\\]]]]]]]]^^^^^^^^__\00\00\00\00\00\00________``````\00\00````````aaaaaa\00\00aaaaaaaa", [196 x i16] [i16 0, i16 0, i16 0, i16 32, i16 -32, i16 0, i16 743, i16 0, i16 121, i16 0, i16 0, i16 1, i16 -1, i16 0, i16 0, i16 -199, i16 -232, i16 0, i16 0, i16 -121, i16 -300, i16 0, i16 0, i16 210, i16 0, i16 206, i16 0, i16 205, i16 0, i16 79, i16 0, i16 202, i16 0, i16 203, i16 0, i16 207, i16 97, i16 0, i16 0, i16 211, i16 0, i16 209, i16 0, i16 213, i16 130, i16 0, i16 0, i16 214, i16 0, i16 218, i16 0, i16 217, i16 0, i16 219, i16 56, i16 0, i16 0, i16 2, i16 -1, i16 1, i16 -2, i16 0, i16 -79, i16 0, i16 0, i16 -97, i16 0, i16 -56, i16 0, i16 -130, i16 -210, i16 0, i16 -206, i16 0, i16 -205, i16 0, i16 -202, i16 0, i16 -203, i16 0, i16 -207, i16 0, i16 -209, i16 0, i16 -211, i16 0, i16 -213, i16 0, i16 -214, i16 0, i16 -218, i16 0, i16 -217, i16 0, i16 -219, i16 0, i16 84, i16 0, i16 0, i16 38, i16 0, i16 37, i16 0, i16 64, i16 0, i16 63, i16 -38, i16 0, i16 -37, i16 0, i16 -31, i16 0, i16 -64, i16 0, i16 -63, i16 0, i16 -62, i16 0, i16 -57, i16 0, i16 -47, i16 0, i16 -54, i16 0, i16 -86, i16 0, i16 -80, i16 0, i16 0, i16 -60, i16 -96, i16 0, i16 0, i16 80, i16 0, i16 48, i16 -48, i16 0, i16 -59, i16 0, i16 8, i16 0, i16 0, i16 -8, i16 74, i16 0, i16 86, i16 0, i16 100, i16 0, i16 128, i16 0, i16 112, i16 0, i16 126, i16 0, i16 9, i16 0, i16 0, i16 -74, i16 0, i16 -9, i16 -7205, i16 0, i16 0, i16 -86, i16 0, i16 -100, i16 7, i16 0, i16 0, i16 -112, i16 0, i16 -7, i16 0, i16 -128, i16 0, i16 -126, i16 0, i16 -7517, i16 0, i16 -8383, i16 0, i16 -8262, i16 0, i16 16, i16 -16, i16 0, i16 0, i16 26, i16 -26, i16 0, i16 0, i16 40, i16 -40, i16 0], [51 x i8] c"\000\001\002\003\004\005\006\007\008\009\00\DB\B0\00\DB\B1\00\DB\B2\00\DB\B3\00\DB\B4\00\DB\B5\00\DB\B6\00\DB\B7\00\DB\B8\00\DB\B9\00", [28 x i8] c"\00.\00,\00\03\00\03\02\00\A0\00\C2\A0\00 \00\D9\AB\00\D9\AC\00'\00\02\03\00", [1646 x i8] c"\00\7F\00-\00ZAR \00R\00,\00.\00\03\00\02\00\01\00-R\00ETB \00$\00-$\00AED \00\CF.\C5.\00-\CF.\C5.\00\D8\AF.\D8\A5.\00-\D8\AF.\D8\A5.\00BHD \00\CF.\C8.\00-\CF.\C8.\00\D8\AF.\D8\A8.\00-\D8\AF.\D8\A8.\00DZD \00\CF.\CC.\00-\CF.\CC.\00\D8\AF.\D8\AC.\00-\D8\AF.\D8\AC.\00EGP \00\CC.\E5.\00-\CC.\E5.\00\D8\AC.\D9\85.\00-\D8\AC.\D9\85.\00INR \00\E2\82\A8\00\03\02\00-\E2\82\A8\00IQD \00\CF.\D9.\00-\CF.\D9.\00\D8\AF.\D8\B9.\00-\D8\AF.\D8\B9.\00JOD \00\CF.\C3.\00-\CF.\C3.\00\D8\AF.\D8\A3.\00-\D8\AF.\D8\A3.\00KWD \00\CF.\E3.\00-\CF.\E3.\00\D8\AF.\D9\83.\00-\D8\AF.\D9\83.\00LBP \00\E4.\E4.\00-\E4.\E4.\00\D9\84.\D9\84.\00-\D9\84.\D9\84.\00LYD \00\CF.\E4.\00-\CF.\E4.\00\D8\AF.\D9\84.\00-\D8\AF.\D9\84.\00MAD \00\CF.\E5.\00-\CF.\E5.\00\D8\AF.\D9\85.\00-\D8\AF.\D9\85.\00OMR \00\D1.\D9.\00-\D1.\D9.\00\D8\B1.\D8\B9.\00-\D8\B1.\D8\B9.\00QAR \00\D1.\E2.\00-\D1.\E2.\00\D8\B1.\D9\82.\00-\D8\B1.\D9\82.\00SAR \00\D1\EA\C7\E4\00+\D1\EA\C7\E4\00\D8\B1\D9\8A\D8\A7\D9\84\00+\D8\B1\D9\8A\D8\A7\D9\84\00SDP \00\CC.\D3.\00-\CC.\D3.\00\D8\AC.\D8\B3.\00-\D8\AC.\D8\B3.\00SYP \00\E4.\D3.\00-\E4.\D3.\00\D9\84.\D8\B3.\00-\D9\84.\D8\B3.\00TND \00\CF.\CA.\00-\CF.\CA.\00\D8\AF.\D8\AA.\00-\D8\AF.\D8\AA.\00YER \00\D1.\EA.\00-\D1.\EA.\00\D8\B1.\D9\8A.\00-\D8\B1.\D9\8A.\00AZM \00man.\00 \00+man.\00BYR \00\F0\F3\E1\00+\F0\F3\E1\00\D1\80\D1\83\D0\B1\00+\D1\80\D1\83\D0\B1\00BGL \00\EB\E2\00\A0\00+\EB\E2\00\D0\BB\D0\B2\00\C2\A0\00+\D0\BB\D0\B2\00\E0\A7\B3\00-\E0\A7\B3\00\E0\A6\9F\E0\A6\BE\E0\A6\95\E0\A6\BE\00\02\03\00-\E0\A6\9F\E0\A6\BE\E0\A6\95\E0\A6\BE\00EUR \00EUR\00+EUR\00\E2\82\AC\00+\E2\82\AC\00BAK \00KM\00-KM\00-EUR\00-\E2\82\AC\00\A4\00-\A4\00CZK \00K\E8\00+K\E8\00K\C4\8D\00+K\C4\8D\00GBP \00\A3\00-\A3\00\C2\A3\00-\C2\A3\00DKK \00kr\00\04\00-kr\00CHF \00Fr.\00-Fr.\00+\A4\00AUD \00BWP \00Pu\00-Pu\00CAD \00\C2\A4\00-\C2\A4\00HKD \00HK$\00-HK$\00NZD \00PHP \00Php\00-Php\00SGD \00USD \00ZWD \00Z$\00-Z$\00-EUR \00ARS \00BOB \00$b\00-$b\00CLP \00COP \00CRC \00C\00-C\00DOP \00ECS \00GTQ \00Q\00-Q\00HNL \00L.\00-L.\00MXP \00NIO \00$C\00-$C\00PAB \00B/\00-B/\00PEN \00S/\00-S/\00PYG \00Gs.\00-Gs.\00SVC \00\A2\00-\A2\00\C2\A2\00-\C2\A2\00UYU \00N$\00-N$\00VEB \00Bs.\00-Bs.\00EEK \00IRR \00\D8\B1\DB\8C\D8\A7\D9\84\00\D9\AB\00\D9\AC\00+\D8\B1\DB\8C\D8\A7\D9\84\00+$\00ILS \00\F9\E7\00-\F9\E7\00\D7\A9\D7\97\00-\D7\A9\D7\97\00\E0\A4\B0\E0\A5\82\00-\E0\A4\B0\E0\A5\82\00HRK \00Kn\00-Kn\00HUF \00Ft\00+Ft\00AMD \00\B8\00-\B8\00\D4\B4\00-\D4\B4\00IDR \00Rp\00-Rp\00ISK \00+kr\00JPY \00\EF\BF\A5\00-\EF\BF\A5\00GEL \00\CB\00-\CB\00\E1\83\9A\00-\E1\83\9A\00KRW \00\EF\BF\A6\00-\EF\BF\A6\00LTL \00Lt\00+Lt\00LVL \00Ls\00-Ls\00MKD \00\D4\D5\DD\00+\D4\D5\DD\00\D0\B4\D0\B5\D0\BD\00+\D0\B4\D0\B5\D0\BD\00\E0\A4\B0\E0\A5\81\00-\E0\A4\B0\E0\A5\81\00MYR \00RM\00-RM\00MTL \00Lm\00-Lm\00NOK \00PLN \00Z\B3\00-Z\B3\00Z\C5\82\00-Z\C5\82\00BRL \00R$\00+R$\00ROL \00Lei\00-Lei\00RUR \00\D2\D5\C2\00+\D2\D5\C2\00\E0\E3\D1\00+\E0\E3\D1\00UAH \00\C7\D2\00+\C7\D2\00\D0\B3\D1\80\00+\D0\B3\D1\80\00 ru\00- ru\00SKK \00Sk\00+Sk\00SIT \00SIT\00+SIT\00ALL \00Lek\00-Lek\00YUN \00din\00-din\00\D4\D8\DD\00-\D4\D8\DD\00\D0\B4\D0\B8\D0\BD\00-\D0\B4\D0\B8\D0\BD\00SEK \00THB \00\DF\00-\DF\00\E0\B8\BF\00-\E0\B8\BF\00ERB \00PhP\00-PhP\00TRL \00TL\00+TL\00PKR \00Rs\00-Rs\00UZS \00so'm\00-so'm\00VND \00\E2\82\AB\00+\E2\82\AB\00CNY \00TWD \00NT$\00-NT$\00", [28353 x i8] c"\00Sun\00Mon\00Tue\00Wed\00Thu\00Fri\00Sat\00Sunday\00Monday\00Tuesday\00Wednesday\00Thursday\00Friday\00Saturday\00Jan\00Feb\00Mar\00Apr\00May\00Jun\00Jul\00Aug\00Sep\00Oct\00Nov\00Dec\00January\00February\00March\00April\00June\00July\00August\00September\00October\00November\00December\00AM\00PM\00%a %b %e %H:%M:%S %Y\00%m/%d/%y\00%H:%M:%S\00%I:%M:%S %p\00So\00Ma\00Di\00Wo\00Do\00Vr\00Sa\00Sondag\00Maandag\00Dinsdag\00Woensdag\00Donderdag\00Vrydag\00Saterdag\00Mei\00Okt\00Des\00Januarie\00Februarie\00Maart\00Junie\00Julie\00Augustus\00Oktober\00Desember\00VM\00NM\00%a %d %b %Y %T %Z\00%d/%m/%y\00%T\00\E1\8A\A5\E1\88\91\E1\8B\B5\00\E1\88\B0\E1\8A\9E\00\E1\88\9B\E1\8A\AD\E1\88\B0\E1\8A\9E\00\E1\88\A8\E1\89\A1\E1\8B\95\00\E1\88\90\E1\88\99\E1\88\B5\00\E1\8B\93\E1\88\AD\E1\89\A5\00\E1\89\85\E1\8B\B3\E1\88\9C\00\E1\8C\83\E1\8A\95\E1\8B\A9\00\E1\8D\8C\E1\89\A5\E1\88\A9\00\E1\88\9B\E1\88\AD\E1\89\BD\00\E1\8A\A4\E1\8D\95\E1\88\A8\00\E1\88\9C\E1\8B\AD\00\E1\8C\81\E1\8A\95\00\E1\8C\81\E1\88\8B\E1\8B\AD\00\E1\8A\A6\E1\8C\88\E1\88\B5\00\E1\88\B4\E1\8D\95\E1\89\B4\00\E1\8A\A6\E1\8A\AD\E1\89\B0\00\E1\8A\96\E1\89\AC\E1\88\9D\00\E1\8B\B2\E1\88\B4\E1\88\9D\00\E1\8C\83\E1\8A\95\E1\8B\A9\E1\8B\88\E1\88\AA\00\E1\8D\8C\E1\89\A5\E1\88\A9\E1\8B\88\E1\88\AA\00\E1\8A\A4\E1\8D\95\E1\88\A8\E1\88\8D\00\E1\8A\A6\E1\8C\88\E1\88\B5\E1\89\B5\00\E1\88\B4\E1\8D\95\E1\89\B4\E1\88\9D\E1\89\A0\E1\88\AD\00\E1\8A\A6\E1\8A\AD\E1\89\B0\E1\8B\8D\E1\89\A0\E1\88\AD\00\E1\8A\96\E1\89\AC\E1\88\9D\E1\89\A0\E1\88\AD\00\E1\8B\B2\E1\88\B4\E1\88\9D\E1\89\A0\E1\88\AD\00\E1\8C\A0\E1\8B\8B\E1\89\B5\00\E1\8A\A8\E1\88\B3\E1\8B\93\E1\89\B5\00%A\E1\8D\A3 %b %e \E1\89\80\E1\8A\95 %l:%M:%S %Z %Y\00%d/%m/%Y\00%r\00\CD\00\E6\00\CB\00\D1\00\CE\00\CC\00\D3\00\C7\E4\C3\CD\CF\00\C7\E4\C7\CB\E6\EA\E6\00\C7\E4\CB\E4\C7\CB\C7\C1\00\C7\E4\C3\D1\C8\D9\C7\C1\00\C7\E4\CE\E5\EA\D3\00\C7\E4\CC\E5\D9\C9\00\C7\E4\D3\C8\CA \00\EA\E6\C7\00\E1\C8\D1\00\E5\C7\D1\00\C3\C8\D1\00\E5\C7\EA\00\EA\E8\E6\00\EA\E8\E4\00\C3\DA\D3\00\D3\C8\CA\00\C3\E3\CA\00\E6\E8\E1\00\CF\EA\D3\00\EA\E6\C7\EA\D1\00\E1\C8\D1\C7\EA\D1\00\E5\C7\D1\D3\00\C3\C8\D1\EA\E4\00\E5\C7\EA\E8\00\EA\E8\E6\EA\E8\00\EA\E8\E4\EA\E8\00\C3\DA\D3\D7\D3\00\D3\C8\CA\E5\C8\D1\00\C3\E3\CA\E8\C8\D1\00\E6\E8\E1\E5\C8\D1\00\CF\EA\D3\E5\C8\D1\00\D5\00\E5\00%d %b, %Y %Z %I:%M:%S %p\00%d %b, %Y\00%Z %I:%M:%S \00%Z %I:%M:%S %p\00\D8\AD\00\D9\86\00\D8\AB\00\D8\B1\00\D8\AE\00\D8\AC\00\D8\B3\00\D8\A7\D9\84\D8\A3\D8\AD\D8\AF\00\D8\A7\D9\84\D8\A7\D8\AB\D9\86\D9\8A\D9\86\00\D8\A7\D9\84\D8\AB\D9\84\D8\A7\D8\AB\D8\A7\D8\A1\00\D8\A7\D9\84\D8\A3\D8\B1\D8\A8\D8\B9\D8\A7\D8\A1\00\D8\A7\D9\84\D8\AE\D9\85\D9\8A\D8\B3\00\D8\A7\D9\84\D8\AC\D9\85\D8\B9\D8\A9\00\D8\A7\D9\84\D8\B3\D8\A8\D8\AA \00\D9\8A\D9\86\D8\A7\00\D9\81\D8\A8\D8\B1\00\D9\85\D8\A7\D8\B1\00\D8\A3\D8\A8\D8\B1\00\D9\85\D8\A7\D9\8A\00\D9\8A\D9\88\D9\86\00\D9\8A\D9\88\D9\84\00\D8\A3\D8\BA\D8\B3\00\D8\B3\D8\A8\D8\AA\00\D8\A3\D9\83\D8\AA\00\D9\86\D9\88\D9\81\00\D8\AF\D9\8A\D8\B3\00\D9\8A\D9\86\D8\A7\D9\8A\D8\B1\00\D9\81\D8\A8\D8\B1\D8\A7\D9\8A\D8\B1\00\D9\85\D8\A7\D8\B1\D8\B3\00\D8\A3\D8\A8\D8\B1\D9\8A\D9\84\00\D9\85\D8\A7\D9\8A\D9\88\00\D9\8A\D9\88\D9\86\D9\8A\D9\88\00\D9\8A\D9\88\D9\84\D9\8A\D9\88\00\D8\A3\D8\BA\D8\B3\D8\B7\D8\B3\00\D8\B3\D8\A8\D8\AA\D9\85\D8\A8\D8\B1\00\D8\A3\D9\83\D8\AA\D9\88\D8\A8\D8\B1\00\D9\86\D9\88\D9\81\D9\85\D8\A8\D8\B1\00\D8\AF\D9\8A\D8\B3\D9\85\D8\A8\D8\B1\00\D8\B5\00\D9\85\00\C7\E4\D3\C8\CA\00\D8\A7\D9\84\D8\B3\D8\A8\D8\AA\00%A %d %B %Y %I:%M:%S %p %Z\00%A %d %B %Y\00%I:%M:%S %Z\00%I:%M:%S %p %Z\00\E3\C7\E6\E8\E6 \C7\E4\CB\C7\E6\EA\00\D4\C8\C7\D7\00\C2\D0\C7\D1\00\E6\EA\D3\C7\E6\00\E6\E8\C7\D1\00\CD\D2\EA\D1\C7\E6\00\CA\E5\E8\D2\00\C2\C8\00\C3\EA\E4\E8\E4\00\CA\D4\D1\EA\E6 \C7\E4\C3\E8\E4\00\CA\D4\D1\EA\E6 \C7\E4\CB\C7\E6\EA\00\E3\C7\E6\E8\E6 \C7\E4\C3\E8\E4\00\D9\83\D8\A7\D9\86\D9\88\D9\86 \D8\A7\D9\84\D8\AB\D8\A7\D9\86\D9\8A\00\D8\B4\D8\A8\D8\A7\D8\B7\00\D8\A2\D8\B0\D8\A7\D8\B1\00\D9\86\D9\8A\D8\B3\D8\A7\D9\86\00\D9\86\D9\88\D8\A7\D8\B1\00\D8\AD\D8\B2\D9\8A\D8\B1\D8\A7\D9\86\00\D8\AA\D9\85\D9\88\D8\B2\00\D8\A2\D8\A8\00\D8\A3\D9\8A\D9\84\D9\88\D9\84\00\D8\AA\D8\B4\D8\B1\D9\8A\D9\86 \D8\A7\D9\84\D8\A3\D9\88\D9\84\00\D8\AA\D8\B4\D8\B1\D9\8A\D9\86 \D8\A7\D9\84\D8\AB\D8\A7\D9\86\D9\8A\00\D9\83\D8\A7\D9\86\D9\88\D9\86 \D8\A7\D9\84\D8\A3\D9\88\D9\84\00\C7\E4\C5\CB\E6\EA\E6\00\C7\E4\CC\E5\D9\E0\C9\00\E6\EA\D3\E0\C7\E6\00\C3\EA\C7\D1\00\CA\E0\E5\E0\E8\D2\00%A %.1d %B %Y %.1H:%M:%S\00%A %.1d %B %Y\00%.1H:%M:%S\00\D8\A7\D9\84\D8\A5\D8\AB\D9\86\D9\8A\D9\86\00\D8\A7\D9\84\D8\AC\D9\85\D8\B9\D9\80\D8\A9\00\D9\86\D9\8A\D8\B3\D9\80\D8\A7\D9\86\00\D8\A3\D9\8A\D8\A7\D8\B1\00\D8\AA\D9\80\D9\85\D9\80\D9\88\D8\B2\00\E6\E8\C7\D1\C7\E6\00\CD\D2\EA\D1\00\D9\86\D9\88\D8\A7\D8\B1\D8\A7\D9\86\00\D8\AD\D8\B2\D9\8A\D8\B1\00baz\00bir\00iki\00\FC\E7\FC\00d\F6r\00be\FE\00alt\00bazar g\FCn\FC\00birinci g\FCn\00ikinci g\FCn\00\FC\E7\FCnc\FC g\FCn\00d\F6rd\FCnc\FC g\FCn\00be\FEinci g\FCn\00alt\FDnc\FD g\FCn\00Yan\00Fev\00\DDyn\00\DDyl\00Avq\00Sen\00Noy\00Dek\00yanvar\00fevral\00mart\00aprel\00may\00iyun\00iyul\00avqust\00sentyabr\00oktyabr\00noyabr\00dekabr\00%A, %d %B %Y %T\00%d.%m.%Y\00\C3\BC\C3\A7\C3\BC\00d\C3\B6r\00be\C5\9F\00bazar g\C3\BCn\C3\BC\00birinci g\C3\BCn\00ikinci g\C3\BCn\00\C3\BC\C3\A7\C3\BCnc\C3\BC g\C3\BCn\00d\C3\B6rd\C3\BCnc\C3\BC g\C3\BCn\00be\C5\9Finci g\C3\BCn\00alt\C4\B1nc\C4\B1 g\C3\BCn\00\C4\B0yn\00\C4\B0yl\00\CD\FF\E4\00\CF\E0\ED\00\C0\A2\F2\00\D1\F0\E4\00\D7\F6\E2\00\CF\FF\F2\00\D1\F3\E1\00\CD\FF\E4\E7\E5\EB\FF\00\CF\E0\ED\FF\E4\E7\E5\EB\E0\EA\00\C0\A2\F2\EE\F0\E0\EA\00\D1\E5\F0\E0\E4\E0\00\D7\E0\F6\E2\E5\F0\00\CF\FF\F2\ED\B3\F6\E0\00\D1\F3\E1\EE\F2\E0\00\D1\F2\E4\00\CB\FE\F2\00\D1\E0\EA\00\CA\F0\F1\00\D2\F0\E0\00\D7\FD\F0\00\CB\B3\EF\00\C6\ED\E2\00\C2\F0\F1\00\CA\F1\F2\00\CB\B3\F1\00\D1\ED\E6\00\D1\F2\F3\E4\E7\E5\ED\FC\00\CB\FE\F2\FB\00\D1\E0\EA\E0\E2\B3\EA\00\CA\F0\E0\F1\E0\E2\B3\EA\00\D2\F0\E0\E2\E5\ED\FC\00\D7\FD\F0\E2\E5\ED\FC\00\CB\B3\EF\E5\ED\FC\00\C6\ED\B3\E2\E5\ED\FC\00\C2\E5\F0\E0\F1\E5\ED\FC\00\CA\E0\F1\F2\F0\FB\F7\ED\B3\EA\00\CB\B3\F1\F2\E0\EF\E0\E4\00\D1\ED\E5\E6\E0\ED\FC\00%a %d %b %Y %T\00\D0\9D\D1\8F\D0\B4\00\D0\9F\D0\B0\D0\BD\00\D0\90\D1\9E\D1\82\00\D0\A1\D1\80\D0\B4\00\D0\A7\D1\86\D0\B2\00\D0\9F\D1\8F\D1\82\00\D0\A1\D1\83\D0\B1\00\D0\9D\D1\8F\D0\B4\D0\B7\D0\B5\D0\BB\D1\8F\00\D0\9F\D0\B0\D0\BD\D1\8F\D0\B4\D0\B7\D0\B5\D0\BB\D0\B0\D0\BA\00\D0\90\D1\9E\D1\82\D0\BE\D1\80\D0\B0\D0\BA\00\D0\A1\D0\B5\D1\80\D0\B0\D0\B4\D0\B0\00\D0\A7\D0\B0\D1\86\D0\B2\D0\B5\D1\80\00\D0\9F\D1\8F\D1\82\D0\BD\D1\96\D1\86\D0\B0\00\D0\A1\D1\83\D0\B1\D0\BE\D1\82\D0\B0\00\D0\A1\D1\82\D0\B4\00\D0\9B\D1\8E\D1\82\00\D0\A1\D0\B0\D0\BA\00\D0\9A\D1\80\D1\81\00\D0\A2\D1\80\D0\B0\00\D0\A7\D1\8D\D1\80\00\D0\9B\D1\96\D0\BF\00\D0\96\D0\BD\D0\B2\00\D0\92\D1\80\D1\81\00\D0\9A\D1\81\D1\82\00\D0\9B\D1\96\D1\81\00\D0\A1\D0\BD\D0\B6\00\D0\A1\D1\82\D1\83\D0\B4\D0\B7\D0\B5\D0\BD\D1\8C\00\D0\9B\D1\8E\D1\82\D1\8B\00\D0\A1\D0\B0\D0\BA\D0\B0\D0\B2\D1\96\D0\BA\00\D0\9A\D1\80\D0\B0\D1\81\D0\B0\D0\B2\D1\96\D0\BA\00\D0\A2\D1\80\D0\B0\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\A7\D1\8D\D1\80\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\9B\D1\96\D0\BF\D0\B5\D0\BD\D1\8C\00\D0\96\D0\BD\D1\96\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\92\D0\B5\D1\80\D0\B0\D1\81\D0\B5\D0\BD\D1\8C\00\D0\9A\D0\B0\D1\81\D1\82\D1\80\D1\8B\D1\87\D0\BD\D1\96\D0\BA\00\D0\9B\D1\96\D1\81\D1\82\D0\B0\D0\BF\D0\B0\D0\B4\00\D0\A1\D0\BD\D0\B5\D0\B6\D0\B0\D0\BD\D1\8C\00\ED\E4\00\EF\ED\00\E2\F2\00\F1\F0\00\F7\F2\00\EF\F2\00\F1\E1\00\ED\E5\E4\E5\EB\FF\00\EF\EE\ED\E5\E4\E5\EB\ED\E8\EA\00\E2\F2\EE\F0\ED\E8\EA\00\F1\F0\FF\E4\E0\00\F7\E5\F2\E2\FA\F0\F2\FA\EA\00\EF\E5\F2\FA\EA\00\F1\FA\E1\EE\F2\E0\00\FF\ED\F3\00\F4\E5\E2\00\EC\E0\F0\00\E0\EF\F0\00\EC\E0\E9\00\FE\ED\E8\00\FE\EB\E8\00\E0\E2\E3\00\F1\E5\EF\00\EE\EA\F2\00\ED\EE\E5\00\E4\E5\EA\00\FF\ED\F3\E0\F0\E8\00\F4\E5\E2\F0\F3\E0\F0\E8\00\EC\E0\F0\F2\00\E0\EF\F0\E8\EB\00\E0\E2\E3\F3\F1\F2\00\F1\E5\EF\F2\E5\EC\E2\F0\E8\00\EE\EA\F2\EE\EC\E2\F0\E8\00\ED\EE\E5\EC\E2\F0\E8\00\E4\E5\EA\E5\EC\E2\F0\E8\00%x (%a) %X %Z\00%e.%m.%Y\00%k,%M,%S\00%l,%M,%S\00\D0\BD\D0\B4\00\D0\BF\D0\BD\00\D0\B2\D1\82\00\D1\81\D1\80\00\D1\87\D1\82\00\D0\BF\D1\82\00\D1\81\D0\B1\00\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D1\8F\00\D0\BF\D0\BE\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D0\BD\D0\B8\D0\BA\00\D0\B2\D1\82\D0\BE\D1\80\D0\BD\D0\B8\D0\BA\00\D1\81\D1\80\D1\8F\D0\B4\D0\B0\00\D1\87\D0\B5\D1\82\D0\B2\D1\8A\D1\80\D1\82\D1\8A\D0\BA\00\D0\BF\D0\B5\D1\82\D1\8A\D0\BA\00\D1\81\D1\8A\D0\B1\D0\BE\D1\82\D0\B0\00\D1\8F\D0\BD\D1\83\00\D1\84\D0\B5\D0\B2\00\D0\BC\D0\B0\D1\80\00\D0\B0\D0\BF\D1\80\00\D0\BC\D0\B0\D0\B9\00\D1\8E\D0\BD\D0\B8\00\D1\8E\D0\BB\D0\B8\00\D0\B0\D0\B2\D0\B3\00\D1\81\D0\B5\D0\BF\00\D0\BE\D0\BA\D1\82\00\D0\BD\D0\BE\D0\B5\00\D0\B4\D0\B5\D0\BA\00\D1\8F\D0\BD\D1\83\D0\B0\D1\80\D0\B8\00\D1\84\D0\B5\D0\B2\D1\80\D1\83\D0\B0\D1\80\D0\B8\00\D0\BC\D0\B0\D1\80\D1\82\00\D0\B0\D0\BF\D1\80\D0\B8\D0\BB\00\D0\B0\D0\B2\D0\B3\D1\83\D1\81\D1\82\00\D1\81\D0\B5\D0\BF\D1\82\D0\B5\D0\BC\D0\B2\D1\80\D0\B8\00\D0\BE\D0\BA\D1\82\D0\BE\D0\BC\D0\B2\D1\80\D0\B8\00\D0\BD\D0\BE\D0\B5\D0\BC\D0\B2\D1\80\D0\B8\00\D0\B4\D0\B5\D0\BA\D0\B5\D0\BC\D0\B2\D1\80\D0\B8\00\E0\A6\B0\E0\A6\AC\E0\A6\BF\00\E0\A6\B8\E0\A7\8B\E0\A6\AE\00\E0\A6\AE\E0\A6\99\E0\A6\97\E0\A6\B2\00\E0\A6\AC\E0\A7\81\E0\A6\A7\00\E0\A6\AC\E0\A7\83\E0\A6\B9\E0\A6\B8\E0\A7\8D\E0\A6\AA\E0\A6\A4\E0\A6\BF\00\E0\A6\B6\E0\A7\81\E0\A6\95\E0\A7\8D\E0\A6\B0\00\E0\A6\B6\E0\A6\A8\E0\A6\BF\00\E0\A6\B0\E0\A6\AC\E0\A6\BF\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B8\E0\A7\8B\E0\A6\AE\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\AE\E0\A6\99\E0\A6\97\E0\A6\B2\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\AC\E0\A7\81\E0\A6\A7\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\AC\E0\A7\83\E0\A6\B9\E0\A6\B8\E0\A7\8D\E0\A6\AA\E0\A6\A4\E0\A6\BF\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B6\E0\A7\81\E0\A6\95\E0\A7\8D\E0\A6\B0\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B6\E0\A6\A8\E0\A6\BF\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\9C\E0\A6\BE\E0\A6\A8\00\E0\A6\AB\E0\A7\87\E0\A6\AC\00\E0\A6\AE\E0\A6\BE\E0\A6\B0\00\E0\A6\8F\E0\A6\AA\E0\A7\8D\E0\A6\B0\00\E0\A6\AE\E0\A7\87\00\E0\A6\9C\E0\A7\81\E0\A6\A8\00\E0\A6\9C\E0\A7\81\E0\A6\B2\00\E0\A6\86\E0\A6\97\00\E0\A6\B8\E0\A7\87\E0\A6\AA\00\E0\A6\85\E0\A6\95\E0\A7\8D\E0\A6\9F\E0\A7\8B\E0\A6\AC\E0\A6\B0\00\E0\A6\A8\E0\A6\AD\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\B0\00\E0\A6\A1\E0\A6\BF\E0\A6\B8\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\B0\00\E0\A6\9C\E0\A6\BE\E0\A6\A8\E0\A7\81\E0\A7\9F\E0\A6\BE\E0\A6\B0\E0\A7\80\00\E0\A6\AB\E0\A7\87\E0\A6\AC\E0\A7\8D\E0\A6\B0\E0\A7\81\E0\A7\9F\E0\A6\BE\E0\A6\B0\E0\A7\80\00\E0\A6\AE\E0\A6\BE\E0\A6\B0\E0\A7\8D\E0\A6\9A\00\E0\A6\8F\E0\A6\AA\E0\A7\8D\E0\A6\B0\E0\A6\BF\E0\A6\B2\00\E0\A6\9C\E0\A7\81\E0\A6\B2\E0\A6\BE\E0\A6\87\00\E0\A6\86\E0\A6\97\E0\A6\B8\E0\A7\8D\E0\A6\9F\00\E0\A6\B8\E0\A7\87\E0\A6\AA\E0\A7\8D\E0\A6\9F\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\85\E0\A6\95\E0\A7\8D\E0\A6\9F\E0\A7\8B\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\A8\E0\A6\AD\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\A1\E0\A6\BF\E0\A6\B8\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B8\E0\A6\95\E0\A6\BE\E0\A6\B2\00\E0\A6\AC\E0\A6\BF\E0\A6\95\E0\A6\BE\E0\A6\B2\00%A %d %b %Y %I:%M:%S %p %Z\00%A %d %b %Y\00\E0\A6\B8\E0\A7\87\E0\A6\AA\E0\A7\8D\E0\A6\9F\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\B0\00\E0\A6\AA\E0\A7\82\E0\A6\B0\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B9\E0\A7\8D\E0\A6\A3\00\E0\A6\85\E0\A6\AA\E0\A6\B0\E0\A6\BE\E0\A6\B9\E0\A7\8D\E0\A6\A3\00sul\00lun\00meu\00mer\00yao\00gwe\00sad\00meurzh\00merc'her\00yaou\00gwener\00sadorn\00Gen \00C'hw\00Meu \00Ebr \00Mae \00Eve \00Gou \00Eos \00Gwe \00Her \00Du \00Ker \00Genver\00C'hwevrer\00Meurzh\00Ebrel\00Mae\00Mezheven\00Gouere\00Eost\00Gwengolo\00Here\00Du\00Kerzu\00 \00D'ar %A %d a viz %B %Y\00%Ie%M:%S %p\00Ned\00Pon\00Uto\00Sri\00\C8et\00Pet\00Sub\00Nedjelja\00Ponedjeljak\00Utorak\00Srijeda\00\C8etvrtak\00Petak\00Subota\00Maj\00Januar\00Februar\00Mart\00Juni\00Juli\00Septembar\00Oktobar\00Novembar\00Decembar\00\C4\8Cet\00\C4\8Cetvrtak\00dg\00dl\00dt\00dc\00dj\00dv\00ds\00diumenge\00dilluns\00dimarts\00dimecres\00dijous\00divendres\00dissabte\00gen\00feb\00mar\00abr\00mai\00jun\00jul\00ago\00set\00oct\00nov\00des\00gener\00febrer\00mar\E7\00abril\00maig\00juny\00juliol\00agost\00setembre\00octubre\00novembre\00desembre\00mar\C3\A7\00Ne\00Po\00\DAt\00St\00\C8t\00P\E1\00Ned\ECle\00Pond\ECl\ED\00\DAter\FD\00St\F8eda\00\C8tvrtek\00P\E1tek\00Sobota\00led\00\FAno\00b\F8e\00dub\00kv\EC\00\E8en\00\E8ec\00srp\00z\E1\F8\00\F8\EDj\00lis\00pro\00leden\00\FAnor\00b\F8ezen\00duben\00kv\ECten\00\E8erven\00\E8ervenec\00srpen\00z\E1\F8\ED\00\F8\EDjen\00listopad\00prosinec\00%a\A0%e.\A0%B\A0%Y,\A0%H:%M:%S\A0%Z\00%I:%M:%S\00\C3\9At\00\C4\8Ct\00P\C3\A1\00Ned\C4\9Ble\00Pond\C4\9Bl\C3\AD\00\C3\9Ater\C3\BD\00St\C5\99eda\00\C4\8Ctvrtek\00P\C3\A1tek\00\C3\BAno\00b\C5\99e\00kv\C4\9B\00\C4\8Den\00\C4\8Dec\00z\C3\A1\C5\99\00\C5\99\C3\ADj\00\C3\BAnor\00b\C5\99ezen\00kv\C4\9Bten\00\C4\8Derven\00\C4\8Dervenec\00z\C3\A1\C5\99\C3\AD\00\C5\99\C3\ADjen\00%a\C2\A0%e.\C2\A0%B\C2\A0%Y,\C2\A0%H:%M:%S\C2\A0%Z\00Sul\00Llu\00Maw\00Mer\00Iau\00Gwe\00Sad\00Llun\00Mawrth\00Mercher\00Gwener\00Sadwrn\00Ion\00Chw\00Ebr\00Mai\00Meh\00Gor\00Aws\00Med\00Hyd\00Tach\00Rha\00Ionawr\00Chwefror\00Ebrill\00Mehefin\00Gorffennaf\00Awst\00Medi\00Hydref\00Tachwedd\00Rhagfyr\00Dydd %A %d a viz %B %Y %T %Z\00%d.%m.%y\00s\F8n\00man\00tir\00ons\00tor\00fre\00l\F8r\00s\F8ndag\00mandag\00tirsdag\00onsdag\00torsdag\00fredag\00l\F8rdag\00jan\00apr\00maj\00aug\00sep\00okt\00dec\00januar\00februar\00marts\00april\00juni\00juli\00august\00september\00oktober\00november\00december\00%d-%m-%Y\00s\C3\B8n\00l\C3\B8r\00s\C3\B8ndag\00l\C3\B8rdag\00Son\00Die\00Mit\00Don\00Fre\00Sam\00Sonntag\00Montag\00Dienstag\00Mittwoch\00Donnerstag\00Freitag\00Samstag\00J\E4n\00M\E4r\00Dez\00J\E4nner\00Feber\00M\E4rz\00Dezember\00%Y-%m-%d\00J\C3\A4n\00M\C3\A4r\00J\C3\A4nner\00M\C3\A4rz\00\CA\F5\F1\00\C4\E5\F5\00\D4\F1\E9\00\D4\E5\F4\00\D0\E5\EC\00\D0\E1\F1\00\D3\E1\E2\00\CA\F5\F1\E9\E1\EA\DE\00\C4\E5\F5\F4\DD\F1\E1\00\D4\F1\DF\F4\E7\00\D4\E5\F4\DC\F1\F4\E7\00\D0\DD\EC\F0\F4\E7\00\D0\E1\F1\E1\F3\EA\E5\F5\DE\00\D3\DC\E2\E2\E1\F4\EF\00\C9\E1\ED\00\D6\E5\E2\00\CC\DC\F1\00\C1\F0\F1\00\CC\DC\E9\00\C9\EF\FD\ED\00\C9\EF\FD\EB\00\C1\FD\E3\00\D3\E5\F0\00\CF\EA\F4\00\CD\EF\DD\00\C4\E5\EA\00\C9\E1\ED\EF\F5\DC\F1\E9\EF\F2\00\D6\E5\E2\F1\EF\F5\DC\F1\E9\EF\F2\00\CC\DC\F1\F4\E9\EF\F2\00\C1\F0\F1\DF\EB\E9\EF\F2\00\CC\DC\E9\EF\F2\00\C9\EF\FD\ED\E9\EF\F2\00\C9\EF\FD\EB\E9\EF\F2\00\C1\FD\E3\EF\F5\F3\F4\EF\F2\00\D3\E5\F0\F4\DD\EC\E2\F1\E9\EF\F2\00\CF\EA\F4\FE\E2\F1\E9\EF\F2\00\CD\EF\DD\EC\E2\F1\E9\EF\F2\00\C4\E5\EA\DD\EC\E2\F1\E9\EF\F2\00\CE\9A\CF\85\CF\81\00\CE\94\CE\B5\CF\85\00\CE\A4\CF\81\CE\B9\00\CE\A4\CE\B5\CF\84\00\CE\A0\CE\B5\CE\BC\00\CE\A0\CE\B1\CF\81\00\CE\A3\CE\B1\CE\B2\00\CE\9A\CF\85\CF\81\CE\B9\CE\B1\CE\BA\CE\AE\00\CE\94\CE\B5\CF\85\CF\84\CE\AD\CF\81\CE\B1\00\CE\A4\CF\81\CE\AF\CF\84\CE\B7\00\CE\A4\CE\B5\CF\84\CE\AC\CF\81\CF\84\CE\B7\00\CE\A0\CE\AD\CE\BC\CF\80\CF\84\CE\B7\00\CE\A0\CE\B1\CF\81\CE\B1\CF\83\CE\BA\CE\B5\CF\85\CE\AE\00\CE\A3\CE\AC\CE\B2\CE\B2\CE\B1\CF\84\CE\BF\00\CE\99\CE\B1\CE\BD\00\CE\A6\CE\B5\CE\B2\00\CE\9C\CE\AC\CF\81\00\CE\91\CF\80\CF\81\00\CE\9C\CE\AC\CE\B9\00\CE\99\CE\BF\CF\8D\CE\BD\00\CE\99\CE\BF\CF\8D\CE\BB\00\CE\91\CF\8D\CE\B3\00\CE\A3\CE\B5\CF\80\00\CE\9F\CE\BA\CF\84\00\CE\9D\CE\BF\CE\AD\00\CE\94\CE\B5\CE\BA\00\CE\99\CE\B1\CE\BD\CE\BF\CF\85\CE\AC\CF\81\CE\B9\CE\BF\CF\82\00\CE\A6\CE\B5\CE\B2\CF\81\CE\BF\CF\85\CE\AC\CF\81\CE\B9\CE\BF\CF\82\00\CE\9C\CE\AC\CF\81\CF\84\CE\B9\CE\BF\CF\82\00\CE\91\CF\80\CF\81\CE\AF\CE\BB\CE\B9\CE\BF\CF\82\00\CE\9C\CE\AC\CE\B9\CE\BF\CF\82\00\CE\99\CE\BF\CF\8D\CE\BD\CE\B9\CE\BF\CF\82\00\CE\99\CE\BF\CF\8D\CE\BB\CE\B9\CE\BF\CF\82\00\CE\91\CF\8D\CE\B3\CE\BF\CF\85\CF\83\CF\84\CE\BF\CF\82\00\CE\A3\CE\B5\CF\80\CF\84\CE\AD\CE\BC\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00\CE\9F\CE\BA\CF\84\CF\8E\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00\CE\9D\CE\BF\CE\AD\CE\BC\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00\CE\94\CE\B5\CE\BA\CE\AD\CE\BC\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00%a %d %b %Y %r %Z\00%Y-%m-%dT%T %Z\00%A, %B %d, %Y %p%I:%M:%S %Z\00%A, %B %d, %Y\00%I:%M:%S %Z\00%p%I:%M:%S %Z\00%A, %d %B, %Y %I:%M:%S %p %Z\00%A, %d %B, %Y\00%A %d,%B,%Y %I:%M:%S %p %Z\00%A %d,%B,%Y\00%m/%d/%Y\00dim\00\C4\B5a\C5\AD\00ven\00sab\00diman\C4\89o\00lundo\00mardo\00merkredo\00\C4\B5a\C5\ADdo\00vendredo\00sabato\00A\C5\ADg\00Januaro\00Februaro\00Marto\00Aprilo\00Majo\00Junio\00Julio\00A\C5\ADgusto\00Septembro\00Oktobro\00Novembro\00Decembro\00%a %d %b %Y %T %z\00dom\00mi\E9\00jue\00vie\00s\E1b\00domingo\00lunes\00martes\00mi\E9rcoles\00jueves\00viernes\00s\E1bado\00ene\00dic\00enero\00febrero\00marzo\00mayo\00junio\00julio\00agosto\00septiembre\00noviembre\00diciembre\00mi\C3\A9\00s\C3\A1b\00mi\C3\A9rcoles\00s\C3\A1bado\00P\00E\00T\00K\00N\00R\00L\00p\FChap\E4ev\00esmasp\E4ev\00teisip\E4ev\00kolmap\E4ev\00neljap\E4ev\00reede\00laup\E4ev\00jaan \00veebr\00m\E4rts\00apr \00mai \00juuni\00juuli\00aug \00sept \00okt \00nov \00dets \00jaanuar\00veebruar\00aprill\00oktoober\00detsember\00p\C3\BChap\C3\A4ev\00esmasp\C3\A4ev\00teisip\C3\A4ev\00kolmap\C3\A4ev\00neljap\C3\A4ev\00laup\C3\A4ev\00m\C3\A4rts\00ig.\00al.\00ar.\00az.\00og.\00or.\00lr.\00igandea\00astelehena\00asteartea\00asteazkena\00osteguna\00ostirala\00larunbata\00urt\00ots\00api\00eka\00uzt\00abu\00ira\00urr\00aza\00abe\00urtarrila\00otsaila\00martxoa\00apirila\00maiatza\00ekaina\00uztaila\00abuztua\00iraila\00urria\00azaroa\00abendua\00%y-%m-%d %T %Z\00%a, %Y.eko %bren %da\00\DB\8C.\00\D8\AF.\00\D8\B3.\00\DA\86.\00\D9\BE.\00\D8\AC.\00\D8\B4.\00\DB\8C\DA\A9\E2\80\8C\D8\B4\D9\86\D8\A8\D9\87\00\D8\AF\D9\88\D8\B4\D9\86\D8\A8\D9\87\00\D8\B3\D9\87\E2\80\8C\D8\B4\D9\86\D8\A8\D9\87\00\DA\86\D9\87\D8\A7\D8\B1\D8\B4\D9\86\D8\A8\D9\87\00\D9\BE\D9\86\D8\AC\E2\80\8C\D8\B4\D9\86\D8\A8\D9\87\00\D8\AC\D9\85\D8\B9\D9\87\00\D8\B4\D9\86\D8\A8\D9\87\00\DA\98\D8\A7\D9\86\00\D9\81\D9\88\D8\B1\00\D8\A2\D9\88\D8\B1\00\D9\85\D9\80\D9\87\00\DA\98\D9\88\D9\86\00\DA\98\D9\88\DB\8C\00\D8\A7\D9\88\D8\AA\00\D8\B3\D9\BE\D8\AA\00\D8\A7\D9\83\D8\AA\00\D9\86\D9\88\D8\A7\00\D8\AF\D8\B3\D8\A7\00\DA\98\D8\A7\D9\86\D9\88\DB\8C\D9\87\00\D9\81\D9\88\D8\B1\DB\8C\D9\87\00\D8\A2\D9\88\D8\B1\DB\8C\D9\84\00\D9\85\D9\87\00\DA\98\D9\88\D8\A6\D9\86\00\DA\98\D9\88\D8\A6\DB\8C\D9\87\00\D8\B3\D9\BE\D8\AA\D8\A7\D9\85\D8\A8\D8\B1\00\D8\A7\D9\83\D8\AA\D8\A8\D8\B1\00\D9\86\D9\88\D8\A7\D9\85\D8\A8\D8\B1\00\D8\AF\D8\B3\D8\A7\D9\85\D8\A8\D8\B1\00\D8\B5\D8\A8\D8\AD\00\D8\B9\D8\B5\D8\B1\00\E2\80\AB%A %e %B %Y\D8\8C %I:%M:%S %p\E2\80\AC\00%Y/%m/%d\00\E2\80\AB%I:%M:%S %p\E2\80\AC\00su\00ma\00ti\00ke\00to\00pe\00la\00sunnuntai\00maanantai\00tiistai\00keskiviikko\00torstai\00perjantai\00lauantai\00tammi\A0\00helmi\A0\00maalis\00huhti\A0\00touko\A0\00kes\E4\A0\A0\00hein\E4\A0\00elo\A0\A0\A0\00syys\A0\A0\00loka\A0\A0\00marras\00joulu\A0\00tammikuu\00helmikuu\00maaliskuu\00huhtikuu\00toukokuu\00kes\E4kuu\00hein\E4kuu\00elokuu\00syyskuu\00lokakuu\00marraskuu\00joulukuu\00%a %e %B %Y %T\00tammi\C2\A0\00helmi\C2\A0\00huhti\C2\A0\00touko\C2\A0\00kes\C3\A4\C2\A0\C2\A0\00hein\C3\A4\C2\A0\00elo\C2\A0\C2\A0\C2\A0\00syys\C2\A0\C2\A0\00loka\C2\A0\C2\A0\00joulu\C2\A0\00kes\C3\A4kuu\00hein\C3\A4kuu\00sun\00m\E1n\00t\FDs\00mik\00h\F3s\00fr\ED\00ley\00sunnudagur\00m\E1nadagur\00t\FDsdagur\00mikudagur\00h\F3sdagur\00fr\EDggjadagur\00leygardagur\00mars\00apr\EDl\00desember\00%d/%m-%Y\00m\C3\A1n\00t\C3\BDs\00h\C3\B3s\00fr\C3\AD\00m\C3\A1nadagur\00t\C3\BDsdagur\00h\C3\B3sdagur\00fr\C3\ADggjadagur\00apr\C3\ADl\00jeu\00sam\00dimanche\00lundi\00mardi\00mercredi\00jeudi\00vendredi\00samedi\00f\E9v\00avr\00jui\00ao\FB\00d\E9c\00janvier\00f\E9vrier\00avril\00juin\00juillet\00ao\FBt\00septembre\00octobre\00d\E9cembre\00f\C3\A9v\00ao\C3\BB\00d\C3\A9c\00f\C3\A9vrier\00ao\C3\BBt\00d\C3\A9cembre\00%d. %m. %y\00Domh\00Luan\00M\E1irt\00C\E9ad\00D\E9ar\00Aoine\00Sath\00D\E9 Domhnaigh\00D\E9 Luain\00D\E9 M\E1irt\00D\E9 C\E9adaoin\00D\E9ardaoin\00D\E9 hAoine\00D\E9 Sathairn\00Ean\00Feabh\00M\E1rta\00Aib\00Beal\00Meith\00I\FAil\00L\FAn\00MF\F3mh\00DF\F3mh\00Samh\00Noll\00Ean\E1ir\00Feabhra\00Aibre\E1n\00M\ED na Bealtaine\00L\FAnasa\00Me\E1n F\F3mhair\00Deireadh F\F3mhair\00M\ED na Samhna\00M\ED na Nollag\00M\C3\A1irt\00C\C3\A9ad\00D\C3\A9ar\00D\C3\A9 Domhnaigh\00D\C3\A9 Luain\00D\C3\A9 M\C3\A1irt\00D\C3\A9 C\C3\A9adaoin\00D\C3\A9ardaoin\00D\C3\A9 hAoine\00D\C3\A9 Sathairn\00M\C3\A1rta\00I\C3\BAil\00L\C3\BAn\00MF\C3\B3mh\00DF\C3\B3mh\00Ean\C3\A1ir\00Aibre\C3\A1n\00M\C3\AD na Bealtaine\00L\C3\BAnasa\00Me\C3\A1n F\C3\B3mhair\00Deireadh F\C3\B3mhair\00M\C3\AD na Samhna\00M\C3\AD na Nollag\00Dido\00Dilu\00Dim\00Dic\00Diar\00Diha\00Disa\00Did\F2mhnaich\00Diluain\00Dim\E0irt\00Diciadain\00Diardaoin\00Dihaoine\00Disathairne\00Fao\00Gea\00M\E0r\00Gib\00Mh\E0\00OgM\00luc\00L\F9n\00Dam\00D\F9b\00Am Faoilteach\00An Gearran\00Am M\E0rt\00An Giblean\00A' Mh\E0igh\00An t-Mh\ECos\00An t-luchar\00An L\F9nasdal\00An t-Sultain\00An Damhair\00An t-Samhain\00An D\F9bhlachd\00Did\C3\B2mhnaich\00Dim\C3\A0irt\00M\C3\A0r\00Mh\C3\A0\00L\C3\B9n\00D\C3\B9b\00Am M\C3\A0rt\00A' Mh\C3\A0igh\00An t-Mh\C3\ACos\00An L\C3\B9nasdal\00An D\C3\B9bhlachd\00Dom\00Lun\00M\E9r\00Xov\00Ven\00S\E1b\00Domingo\00Luns\00Martes\00M\E9rcores\00Xoves\00Venres\00S\E1bado\00Xan\00Abr\00Xu\F1\00Xul\00Ago\00Set\00Out\00Xaneiro\00Febreiro\00Marzo\00Abril\00Maio\00Xu\F1o\00Xullo\00Agosto\00Setembro\00Outubro\00M\C3\A9r\00S\C3\A1b\00M\C3\A9rcores\00S\C3\A1bado\00Xu\C3\B1\00Xu\C3\B1o\00Jed\00Jel\00Jem\00Jerc\00Jerd\00Jeh\00Jes\00Jedoonee\00Jelhein\00Jemayrt\00Jercean\00Jerdein\00Jeheiney\00Jesarn\00J-guer\00T-arree\00Mayrnt\00Avrril\00Boaldyn\00M-souree\00J-souree\00Luanistyn\00M-fouyir\00J-fouyir\00M.Houney\00M.Nollick\00Jerrey-geuree\00Toshiaght-arree\00Averil\00Mean-souree\00Jerrey-souree\00Mean-fouyir\00Jerrey-fouyir\00Mee Houney\00Mee ny Nollick\00\E0'\00\E1'\00\E2'\00\E3'\00\E4'\00\E5'\00\F9'\00\F8\E0\F9\E5\EF\00\F9\F0\E9\00\F9\EC\E9\F9\E9\00\F8\E1\E9\F2\E9\00\E7\EE\E9\F9\E9\00\F9\E9\F9\E9\00\F9\E1\FA\00\E9\F0\E5\00\F4\E1\F8\00\EE\F8\F5\00\E0\F4\F8\00\EE\E0\E9\00\E9\E5\F0\00\E9\E5\EC\00\E0\E5\E2\00\F1\F4\E8\00\E0\E5\F7\00\F0\E5\E1\00\E3\F6\EE\00\E9\F0\E5\E0\F8\00\F4\E1\F8\E5\E0\F8\00\E0\F4\F8\E9\EC\00\E9\E5\F0\E9\00\E9\E5\EC\E9\00\E0\E5\E2\E5\F1\E8\00\F1\F4\E8\EE\E1\F8\00\E0\E5\F7\E8\E5\E1\F8\00\F0\E5\E1\EE\E1\F8\00\E3\F6\EE\E1\F8\00%Z %H:%M:%S %Y %b %d %a\00%I:%M:%S %P\00\D7\90'\00\D7\91'\00\D7\92'\00\D7\93'\00\D7\94'\00\D7\95'\00\D7\A9'\00\D7\A8\D7\90\D7\A9\D7\95\D7\9F\00\D7\A9\D7\A0\D7\99\00\D7\A9\D7\9C\D7\99\D7\A9\D7\99\00\D7\A8\D7\91\D7\99\D7\A2\D7\99\00\D7\97\D7\9E\D7\99\D7\A9\D7\99\00\D7\A9\D7\99\D7\A9\D7\99\00\D7\A9\D7\91\D7\AA\00\D7\99\D7\A0\D7\95\00\D7\A4\D7\91\D7\A8\00\D7\9E\D7\A8\D7\A5\00\D7\90\D7\A4\D7\A8\00\D7\9E\D7\90\D7\99\00\D7\99\D7\95\D7\A0\00\D7\99\D7\95\D7\9C\00\D7\90\D7\95\D7\92\00\D7\A1\D7\A4\D7\98\00\D7\90\D7\95\D7\A7\00\D7\A0\D7\95\D7\91\00\D7\93\D7\A6\D7\9E\00\D7\99\D7\A0\D7\95\D7\90\D7\A8\00\D7\A4\D7\91\D7\A8\D7\95\D7\90\D7\A8\00\D7\90\D7\A4\D7\A8\D7\99\D7\9C\00\D7\99\D7\95\D7\A0\D7\99\00\D7\99\D7\95\D7\9C\D7\99\00\D7\90\D7\95\D7\92\D7\95\D7\A1\D7\98\00\D7\A1\D7\A4\D7\98\D7\9E\D7\91\D7\A8\00\D7\90\D7\95\D7\A7\D7\98\D7\95\D7\91\D7\A8\00\D7\A0\D7\95\D7\91\D7\9E\D7\91\D7\A8\00\D7\93\D7\A6\D7\9E\D7\91\D7\A8\00\E0\A4\B0\E0\A4\B5\E0\A4\BF \00\E0\A4\B8\E0\A5\8B\E0\A4\AE \00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B2 \00\E0\A4\AC\E0\A5\81\E0\A4\A7 \00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81 \00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0 \00\E0\A4\B6\E0\A4\A8\E0\A4\BF \00\E0\A4\B0\E0\A4\B5\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\B8\E0\A5\8B\E0\A4\AE\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B2\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\AC\E0\A5\81\E0\A4\A7\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\B6\E0\A4\A8\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\9C\E0\A4\A8\E0\A4\B5\E0\A4\B0\E0\A5\80\00\E0\A4\AB\E0\A4\BC\E0\A4\B0\E0\A4\B5\E0\A4\B0\E0\A5\80\00\E0\A4\AE\E0\A4\BE\E0\A4\B0\E0\A5\8D\E0\A4\9A\00\E0\A4\85\E0\A4\AA\E0\A5\8D\E0\A4\B0\E0\A5\87\E0\A4\B2\00\E0\A4\AE\E0\A4\88\00\E0\A4\9C\E0\A5\82\E0\A4\A8\00\E0\A4\9C\E0\A5\81\E0\A4\B2\E0\A4\BE\E0\A4\88\00\E0\A4\85\E0\A4\97\E0\A4\B8\E0\A5\8D\E0\A4\A4\00\E0\A4\B8\E0\A4\BF\E0\A4\A4\E0\A4\AE\E0\A5\8D\E0\A4\AC\E0\A4\B0\00\E0\A4\85\E0\A4\95\E0\A5\8D\E0\A4\9F\E0\A5\82\E0\A4\AC\E0\A4\B0\00\E0\A4\A8\E0\A4\B5\E0\A4\AE\E0\A5\8D\E0\A4\AC\E0\A4\B0\00\E0\A4\A6\E0\A4\BF\E0\A4\B8\E0\A4\AE\E0\A5\8D\E0\A4\AC\E0\A4\B0\00\E0\A4\AA\E0\A5\82\E0\A4\B0\E0\A5\8D\E0\A4\B5\E0\A4\BE\E0\A4\B9\E0\A5\8D\E0\A4\A8\00\E0\A4\85\E0\A4\AA\E0\A4\B0\E0\A4\BE\E0\A4\B9\E0\A5\8D\E0\A4\A8\00Sij\00Vel\00O\BEu\00Tra\00Svi\00Lip\00Srp\00Kol\00Ruj\00Lis\00Stu\00Pro\00Sije\E8anj\00Velja\E8a\00O\BEujak\00Travanj\00Svibanj\00Lipanj\00Srpanj\00Kolovoz\00Rujan\00Listopad\00Studeni\00Prosinac\00O\C5\BEu\00Sije\C4\8Danj\00Velja\C4\8Da\00O\C5\BEujak\00v\00h\00k\00sze\00cs\00p\00szo\00vas\E1rnap\00h\E9tf\F5\00kedd\00szerda\00cs\FCt\F6rt\F6k\00p\E9ntek\00szombat\00m\E1r\00\E1pr\00m\E1j\00j\FAn\00j\FAl\00janu\E1r\00febru\E1r\00m\E1rcius\00\E1prilis\00m\E1jus\00j\FAnius\00j\FAlius\00augusztus\00szeptember\00okt\F3ber\00%Y. %b. %e., %A, %H.%M.%S %Z\00%H.%M.%S\00vas\C3\A1rnap\00h\C3\A9tf\C5\91\00cs\C3\BCt\C3\B6rt\C3\B6k\00p\C3\A9ntek\00m\C3\A1r\00\C3\A1pr\00m\C3\A1j\00j\C3\BAn\00j\C3\BAl\00janu\C3\A1r\00febru\C3\A1r\00m\C3\A1rcius\00\C3\A1prilis\00m\C3\A1jus\00j\C3\BAnius\00j\C3\BAlius\00okt\C3\B3ber\00\CE\F1\CF\00\BA\F1\CF\00\BA\F1\F9\00\E2\F1\F9\00\D0\DD\B7\00\E0\F5\F1\00\DE\B5\C3\00\CE\C7\F1\B3\CF\C7\00\BA\F1\CF\E1\F5\DF\B3\B5\C3\C7\00\BA\F1\BB\F9\DF\B3\B5\C3\C7\00\E2\E1\F1\BB\F9\DF\B3\B5\C3\C7\00\D0\C7\DD\B7\DF\B3\B5\C3\C7\00\E0\F5\F1\B5\B3\C3\00\DE\B3\B5\B3\C3\00\D0\DD\ED\00\F6\EF\F1\00\D8\B3\F1\00\B2\E5\F1\00\D8\B3\DB\00\D0\DD\EB\00\D0\C9\EB\00\FA\B7\EB\00\EA\BB\E5\00\D0\E1\CF\00\DC\D9\B5\00\B8\BB\CF\00\D0\E1\F5\DD\ED\B3\F1\C7\00\F6\BB\EF\F1\ED\B3\F1\C7\00\D8\B3\F1\EF\C7\00\B2\E5\F1\C7\C9\C7\00\D8\B3\DB\C7\EB\C7\00\D0\E1\F5\DD\C7\EB\C7\00\D0\E1\F5\C9\C7\EB\C7\00\FA\B7\E1\EB\EF\E1\EB\C7\00\EA\BB\E5\EF\BB\D9\B5\BB\F1\C7\00\D0\E1\CF\EF\BB\D9\B5\BB\F1\C7\00\DC\E1\DB\BB\D9\B5\BB\F1\C7\00\B8\BB\CF\EF\BB\D9\B5\BB\F1\C7\00\D4\BF\D6\80\D5\AF\00\D4\B5\D6\80\D5\AF\00\D4\B5\D6\80\D6\84\00\D5\89\D6\80\D6\84\00\D5\80\D5\B6\D5\A3\00\D5\88\D6\82\D6\80\00\D5\87\D5\A2\D5\A9\00\D4\BF\D5\AB\D6\80\D5\A1\D5\AF\D5\AB\00\D4\B5\D6\80\D5\AF\D5\B8\D6\82\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D4\B5\D6\80\D5\A5\D6\84\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D5\89\D5\B8\D6\80\D5\A5\D6\84\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D5\80\D5\AB\D5\B6\D5\A3\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D5\88\D6\82\D6\80\D5\A2\D5\A1\D5\A9\00\D5\87\D5\A1\D5\A2\D5\A1\D5\A9\00\D5\80\D5\B6\D5\BE\00\D5\93\D5\BF\D6\80\00\D5\84\D5\A1\D6\80\00\D4\B1\D5\BA\D6\80\00\D5\84\D5\A1\D5\B5\00\D5\80\D5\B6\D5\BD\00\D5\80\D5\AC\D5\BD\00\D5\95\D5\A3\D5\BD\00\D5\8D\D5\A5\D5\BA\00\D5\80\D5\B8\D5\AF\00\D5\86\D5\B4\D5\A2\00\D4\B4\D5\A5\D5\AF\00\D5\80\D5\B8\D6\82\D5\B6\D5\BE\D5\A1\D6\80\D5\AB\00\D5\93\D5\A5\D5\BF\D6\80\D5\BE\D5\A1\D6\80\D5\AB\00\D5\84\D5\A1\D6\80\D5\BF\D5\AB\00\D4\B1\D5\BA\D6\80\D5\AB\D5\AC\D5\AB\00\D5\84\D5\A1\D5\B5\D5\AB\D5\BD\D5\AB\00\D5\80\D5\B8\D6\82\D5\B6\D5\AB\D5\BD\D5\AB\00\D5\80\D5\B8\D6\82\D5\AC\D5\AB\D5\BD\D5\AB\00\D5\95\D5\A3\D5\B8\D5\BD\D5\BF\D5\B8\D5\BD\D5\AB\00\D5\8D\D5\A5\D5\BA\D5\BF\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00\D5\80\D5\B8\D5\AF\D5\BF\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00\D5\86\D5\B8\D5\B5\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00\D4\B4\D5\A5\D5\AF\D5\BF\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00Min\00Sel\00Rab\00Kam\00Jum\00Sab\00Minggu\00Senin\00Selasa\00Rabu\00Kamis\00Jumat\00Sabtu\00Peb\00Agu\00Januari\00Pebruari\00Maret\00Agustus\00M\E1n\00\DEri\00Mi\F0\00Fim\00F\F6s\00Lau\00Sunnudagur\00M\E1nudagur\00\DEri\F0judagur\00Mi\F0vikudagur\00Fimmtudagur\00F\F6studagur\00Laugardagur\00Ma\ED\00J\FAn\00J\FAl\00\C1g\FA\00N\F3v\00Jan\FAar\00Febr\FAar\00Mars\00Apr\EDl\00J\FAn\ED\00J\FAl\ED\00\C1g\FAst\00Okt\F3ber\00N\F3vember\00fh\00eh\00%a %e.%b %Y, %T %Z\00%a %e.%b %Y\00M\C3\A1n\00\C3\9Eri\00Mi\C3\B0\00F\C3\B6s\00M\C3\A1nudagur\00\C3\9Eri\C3\B0judagur\00Mi\C3\B0vikudagur\00F\C3\B6studagur\00Ma\C3\AD\00J\C3\BAn\00J\C3\BAl\00\C3\81g\C3\BA\00N\C3\B3v\00Jan\C3\BAar\00Febr\C3\BAar\00Apr\C3\ADl\00J\C3\BAn\C3\AD\00J\C3\BAl\C3\AD\00\C3\81g\C3\BAst\00Okt\C3\B3ber\00N\C3\B3vember\00gio\00domenica\00luned\EC\00marted\EC\00mercoled\EC\00gioved\EC\00venerd\EC\00mag\00giu\00lug\00ott\00gennaio\00febbraio\00aprile\00maggio\00giugno\00luglio\00settembre\00ottobre\00dicembre\00luned\C3\AC\00marted\C3\AC\00mercoled\C3\AC\00gioved\C3\AC\00venerd\C3\AC\00\E6\97\A5\00\E6\9C\88\00\E7\81\AB\00\E6\B0\B4\00\E6\9C\A8\00\E9\87\91\00\E5\9C\9F\00\E6\97\A5\E6\9B\9C\E6\97\A5\00\E6\9C\88\E6\9B\9C\E6\97\A5\00\E7\81\AB\E6\9B\9C\E6\97\A5\00\E6\B0\B4\E6\9B\9C\E6\97\A5\00\E6\9C\A8\E6\9B\9C\E6\97\A5\00\E9\87\91\E6\9B\9C\E6\97\A5\00\E5\9C\9F\E6\9B\9C\E6\97\A5\00 1\E6\9C\88\00 2\E6\9C\88\00 3\E6\9C\88\00 4\E6\9C\88\00 5\E6\9C\88\00 6\E6\9C\88\00 7\E6\9C\88\00 8\E6\9C\88\00 9\E6\9C\88\0010\E6\9C\88\0011\E6\9C\88\0012\E6\9C\88\001\E6\9C\88\002\E6\9C\88\003\E6\9C\88\004\E6\9C\88\005\E6\9C\88\006\E6\9C\88\007\E6\9C\88\008\E6\9C\88\009\E6\9C\88\00\E5\8D\88\E5\89\8D\00\E5\8D\88\E5\BE\8C\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %H\E6\99\82%M\E5\88\86%S\E7\A7\92\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5\00%H\E6\99\82%M\E5\88\86%S\E7\A7\92\00%p%I\E6\99\82%M\E5\88\86%S\E7\A7\92\00+:2:1990/01/01:+*:\E5\B9\B3\E6\88\90:%EC%Ey\E5\B9\B4\00+:1:1989/01/08:1989/12/31:\E5\B9\B3\E6\88\90:%EC\E5\85\83\E5\B9\B4\00+:2:1927/01/01:1989/01/07:\E6\98\AD\E5\92\8C:%EC%Ey\E5\B9\B4\00+:1:1926/12/25:1926/12/31:\E6\98\AD\E5\92\8C:%EC\E5\85\83\E5\B9\B4\00+:2:1913/01/01:1926/12/24:\E5\A4\A7\E6\AD\A3:%EC%Ey\E5\B9\B4\00+:2:1912/07/30:1912/12/31:\E5\A4\A7\E6\AD\A3:%EC\E5\85\83\E5\B9\B4\00+:6:1873/01/01:1912/07/29:\E6\98\8E\E6\B2\BB:%EC%Ey\E5\B9\B4\00+:1:0001/01/01:1872/12/31:\E8\A5\BF\E6\9A\A6:%EC%Ey\E5\B9\B4\00+:1:-0001/12/31:-*:\E7\B4\80\E5\85\83\E5\89\8D:%EC%Ey\E5\B9\B4\00\00%EY%m\E6\9C\88%d\E6\97\A5\00\E3\80\87\00\E4\B8\80\00\E4\BA\8C\00\E4\B8\89\00\E5\9B\9B\00\E4\BA\94\00\E5\85\AD\00\E4\B8\83\00\E5\85\AB\00\E4\B9\9D\00\E5\8D\81\00\E5\8D\81\E4\B8\80\00\E5\8D\81\E4\BA\8C\00\E5\8D\81\E4\B8\89\00\E5\8D\81\E5\9B\9B\00\E5\8D\81\E4\BA\94\00\E5\8D\81\E5\85\AD\00\E5\8D\81\E4\B8\83\00\E5\8D\81\E5\85\AB\00\E5\8D\81\E4\B9\9D\00\E4\BA\8C\E5\8D\81\00\E4\BA\8C\E5\8D\81\E4\B8\80\00\E4\BA\8C\E5\8D\81\E4\BA\8C\00\E4\BA\8C\E5\8D\81\E4\B8\89\00\E4\BA\8C\E5\8D\81\E5\9B\9B\00\E4\BA\8C\E5\8D\81\E4\BA\94\00\E4\BA\8C\E5\8D\81\E5\85\AD\00\E4\BA\8C\E5\8D\81\E4\B8\83\00\E4\BA\8C\E5\8D\81\E5\85\AB\00\E4\BA\8C\E5\8D\81\E4\B9\9D\00\E4\B8\89\E5\8D\81\00\E4\B8\89\E5\8D\81\E4\B8\80\00\E4\B8\89\E5\8D\81\E4\BA\8C\00\E4\B8\89\E5\8D\81\E4\B8\89\00\E4\B8\89\E5\8D\81\E5\9B\9B\00\E4\B8\89\E5\8D\81\E4\BA\94\00\E4\B8\89\E5\8D\81\E5\85\AD\00\E4\B8\89\E5\8D\81\E4\B8\83\00\E4\B8\89\E5\8D\81\E5\85\AB\00\E4\B8\89\E5\8D\81\E4\B9\9D\00\E5\9B\9B\E5\8D\81\00\E5\9B\9B\E5\8D\81\E4\B8\80\00\E5\9B\9B\E5\8D\81\E4\BA\8C\00\E5\9B\9B\E5\8D\81\E4\B8\89\00\E5\9B\9B\E5\8D\81\E5\9B\9B\00\E5\9B\9B\E5\8D\81\E4\BA\94\00\E5\9B\9B\E5\8D\81\E5\85\AD\00\E5\9B\9B\E5\8D\81\E4\B8\83\00\E5\9B\9B\E5\8D\81\E5\85\AB\00\E5\9B\9B\E5\8D\81\E4\B9\9D\00\E4\BA\94\E5\8D\81\00\E4\BA\94\E5\8D\81\E4\B8\80\00\E4\BA\94\E5\8D\81\E4\BA\8C\00\E4\BA\94\E5\8D\81\E4\B8\89\00\E4\BA\94\E5\8D\81\E5\9B\9B\00\E4\BA\94\E5\8D\81\E4\BA\94\00\E4\BA\94\E5\8D\81\E5\85\AD\00\E4\BA\94\E5\8D\81\E4\B8\83\00\E4\BA\94\E5\8D\81\E5\85\AB\00\E4\BA\94\E5\8D\81\E4\B9\9D\00\E5\85\AD\E5\8D\81\00\E5\85\AD\E5\8D\81\E4\B8\80\00\E5\85\AD\E5\8D\81\E4\BA\8C\00\E5\85\AD\E5\8D\81\E4\B8\89\00\E5\85\AD\E5\8D\81\E5\9B\9B\00\E5\85\AD\E5\8D\81\E4\BA\94\00\E5\85\AD\E5\8D\81\E5\85\AD\00\E5\85\AD\E5\8D\81\E4\B8\83\00\E5\85\AD\E5\8D\81\E5\85\AB\00\E5\85\AD\E5\8D\81\E4\B9\9D\00\E4\B8\83\E5\8D\81\00\E4\B8\83\E5\8D\81\E4\B8\80\00\E4\B8\83\E5\8D\81\E4\BA\8C\00\E4\B8\83\E5\8D\81\E4\B8\89\00\E4\B8\83\E5\8D\81\E5\9B\9B\00\E4\B8\83\E5\8D\81\E4\BA\94\00\E4\B8\83\E5\8D\81\E5\85\AD\00\E4\B8\83\E5\8D\81\E4\B8\83\00\E4\B8\83\E5\8D\81\E5\85\AB\00\E4\B8\83\E5\8D\81\E4\B9\9D\00\E5\85\AB\E5\8D\81\00\E5\85\AB\E5\8D\81\E4\B8\80\00\E5\85\AB\E5\8D\81\E4\BA\8C\00\E5\85\AB\E5\8D\81\E4\B8\89\00\E5\85\AB\E5\8D\81\E5\9B\9B\00\E5\85\AB\E5\8D\81\E4\BA\94\00\E5\85\AB\E5\8D\81\E5\85\AD\00\E5\85\AB\E5\8D\81\E4\B8\83\00\E5\85\AB\E5\8D\81\E5\85\AB\00\E5\85\AB\E5\8D\81\E4\B9\9D\00\E4\B9\9D\E5\8D\81\00\E4\B9\9D\E5\8D\81\E4\B8\80\00\E4\B9\9D\E5\8D\81\E4\BA\8C\00\E4\B9\9D\E5\8D\81\E4\B8\89\00\E4\B9\9D\E5\8D\81\E5\9B\9B\00\E4\B9\9D\E5\8D\81\E4\BA\94\00\E4\B9\9D\E5\8D\81\E5\85\AD\00\E4\B9\9D\E5\8D\81\E4\B8\83\00\E4\B9\9D\E5\8D\81\E5\85\AB\00\E4\B9\9D\E5\8D\81\E4\B9\9D\00%EY%m\E6\9C\88%d\E6\97\A5 %H\E6\99\82%M\E5\88\86%S\E7\A7\92\00\CA\C5\C9\00\CF\D2\DB\00\D3\C0\CC\00\CF\C8\E1\00\E1\D6\C8\00\D0\C0\D2\00\DB\C0\C1\00\CA\C5\C9\D2\C0\00\CF\D2\DB\C0\C1\C0\C8\C9\00\D3\C0\CC\DB\C0\C1\C0\C8\C9\00\CF\C8\E1\DB\C0\C1\C0\C8\C9\00\E1\D6\C8\DB\C0\C1\C0\C8\C9\00\D0\C0\D2\C0\D3\CA\C4\C5\C9\00\DB\C0\C1\C0\C8\C9\00\C9\C0\CD\00\C8\C4\C1\00\CC\C0\D2\00\C0\D0\D2\00\CC\C0\C9\00\C9\C5\CD\00\C9\C5\CB\00\C0\C2\C5\00\D3\C4\D8\00\CF\D8\D4\00\CD\CF\C4\00\C3\C4\CA\00\C9\C0\CD\C5\C0\D2\C9\00\C8\C4\C1\C4\D2\C5\C0\CB\C9\00\CC\C0\D2\D4\C9\00\C0\D0\D2\C9\CB\C9\00\CC\C0\C9\D3\C9\00\C9\C5\CD\C9\D3\C9\00\C9\C5\CB\C9\D3\C9\00\C0\C2\C5\C9\D3\D4\CF\00\D3\C4\D8\D4\C4\CC\C1\C4\D2\C9\00\CF\D8\D4\CF\CC\C1\C4\D2\C9\00\CD\CF\C4\CC\C1\C4\D2\C9\00\C3\C4\CA\C4\CC\C1\C4\D2\C9\00%Y \DF\CB\C9\D3 %d %B, %T %Z\00\E1\83\99\E1\83\95\E1\83\98\00\E1\83\9D\E1\83\A0\E1\83\A8\00\E1\83\A1\E1\83\90\E1\83\9B\00\E1\83\9D\E1\83\97\E1\83\AE\00\E1\83\AE\E1\83\A3\E1\83\97\00\E1\83\9E\E1\83\90\E1\83\A0\00\E1\83\A8\E1\83\90\E1\83\91\00\E1\83\99\E1\83\95\E1\83\98\E1\83\A0\E1\83\90\00\E1\83\9D\E1\83\A0\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\A1\E1\83\90\E1\83\9B\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\9D\E1\83\97\E1\83\AE\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\AE\E1\83\A3\E1\83\97\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\9E\E1\83\90\E1\83\A0\E1\83\90\E1\83\A1\E1\83\99\E1\83\94\E1\83\95\E1\83\98\00\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\98\E1\83\90\E1\83\9C\00\E1\83\97\E1\83\94\E1\83\91\00\E1\83\9B\E1\83\90\E1\83\A0\00\E1\83\90\E1\83\9E\E1\83\A0\00\E1\83\9B\E1\83\90\E1\83\98\00\E1\83\98\E1\83\95\E1\83\9C\00\E1\83\98\E1\83\95\E1\83\9A\00\E1\83\90\E1\83\92\E1\83\95\00\E1\83\A1\E1\83\94\E1\83\A5\00\E1\83\9D\E1\83\A5\E1\83\A2\00\E1\83\9C\E1\83\9D\E1\83\94\00\E1\83\93\E1\83\94\E1\83\99\00\E1\83\98\E1\83\90\E1\83\9C\E1\83\95\E1\83\90\E1\83\A0\E1\83\98\00\E1\83\97\E1\83\94\E1\83\91\E1\83\94\E1\83\A0\E1\83\95\E1\83\90\E1\83\9A\E1\83\98\00\E1\83\9B\E1\83\90\E1\83\A0\E1\83\A2\E1\83\98\00\E1\83\90\E1\83\9E\E1\83\A0\E1\83\98\E1\83\9A\E1\83\98\00\E1\83\9B\E1\83\90\E1\83\98\E1\83\A1\E1\83\98\00\E1\83\98\E1\83\95\E1\83\9C\E1\83\98\E1\83\A1\E1\83\98\00\E1\83\98\E1\83\95\E1\83\9A\E1\83\98\E1\83\A1\E1\83\98\00\E1\83\90\E1\83\92\E1\83\95\E1\83\98\E1\83\A1\E1\83\A2\E1\83\9D\00\E1\83\A1\E1\83\94\E1\83\A5\E1\83\A2\E1\83\94\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00\E1\83\9D\E1\83\A5\E1\83\A2\E1\83\9D\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00\E1\83\9C\E1\83\9D\E1\83\94\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00\E1\83\93\E1\83\94\E1\83\99\E1\83\94\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00%Y \E1\83\AC\E1\83\9A\E1\83\98\E1\83\A1 %d %B, %T %Z\00ata\00pin\00sis\00tal\00arf\00sabaat\00ataasinngorneq\00marlunngorneq\00pingasunngorneq\00sisamanngorneq\00tallimanngorneq\00arfininngorneq\00januari\00februari\00martsi\00aprili\00maji\00augustusi\00septemberi\00oktoberi\00novemberi\00decemberi\00%d %b %Y\00\EC\9D\BC\00\EC\9B\94\00\ED\99\94\00\EC\88\98\00\EB\AA\A9\00\EA\B8\88\00\ED\86\A0\00\EC\9D\BC\EC\9A\94\EC\9D\BC\00\EC\9B\94\EC\9A\94\EC\9D\BC\00\ED\99\94\EC\9A\94\EC\9D\BC\00\EC\88\98\EC\9A\94\EC\9D\BC\00\EB\AA\A9\EC\9A\94\EC\9D\BC\00\EA\B8\88\EC\9A\94\EC\9D\BC\00\ED\86\A0\EC\9A\94\EC\9D\BC\00 1\EC\9B\94\00 2\EC\9B\94\00 3\EC\9B\94\00 4\EC\9B\94\00 5\EC\9B\94\00 6\EC\9B\94\00 7\EC\9B\94\00 8\EC\9B\94\00 9\EC\9B\94\0010\EC\9B\94\0011\EC\9B\94\0012\EC\9B\94\00\EC\9D\BC\EC\9B\94\00\EC\9D\B4\EC\9B\94\00\EC\82\BC\EC\9B\94\00\EC\82\AC\EC\9B\94\00\EC\98\A4\EC\9B\94\00\EC\9C\A0\EC\9B\94\00\EC\B9\A0\EC\9B\94\00\ED\8C\94\EC\9B\94\00\EA\B5\AC\EC\9B\94\00\EC\8B\9C\EC\9B\94\00\EC\8B\AD\EC\9D\BC\EC\9B\94\00\EC\8B\AD\EC\9D\B4\EC\9B\94\00\EC\98\A4\EC\A0\84\00\EC\98\A4\ED\9B\84\00%x (%a) %r\00%Y\EB\85\84 %m\EC\9B\94 %d\EC\9D\BC\00%H\EC\8B\9C %M\EB\B6\84 %S\EC\B4\88\00%p %I\EC\8B\9C %M\EB\B6\84 %S\EC\B4\88\00Mth\00Mhr\00Yow\00De Sul\00De Lun\00De Merth\00De Merher\00De Yow\00De Gwener\00De Sadorn\00Gen\00Whe>\00Me\00Evn\00Est\00Gwn\00Hed\00Kev\00Mys Genver\00Mys Whevrel\00Mys Merth\00Mys Ebrel\00Mys Me\00Mys Evan\00Mys Gortheren\00Mye Est\00Mys Gwyngala\00Mys Hedra\00Mys Du\00Mys Kevardhu\00Sk\00Pr\00An\00Tr\00Kt\00Pn\00\D0t\00Sekmadienis\00Pirmadienis\00Antradienis\00Tre\E8iadienis\00Ketvirtadienis\00Penktadienis\00\D0e\F0tadienis\00Sau\00Vas\00Kov\00Bal\00Geg\00Bir\00Lie\00Rgp\00Rgs\00Spa\00Lap\00Grd\00sausio\00vasario\00kovo\00baland\FEio\00gegu\FE\EBs\00bir\FEelio\00liepos\00rugpj\FB\E8io\00rugs\EBjo\00spalio\00lapkri\E8io\00gruod\FEio\00%Y m. %B %d d. %T\00%Y.%m.%d\00\C5\A0t\00Tre\C4\8Diadienis\00\C5\A0e\C5\A1tadienis\00baland\C5\BEio\00gegu\C5\BE\C4\97s\00bir\C5\BEelio\00rugpj\C5\AB\C4\8Dio\00rugs\C4\97jo\00lapkri\C4\8Dio\00gruod\C5\BEio\00Sv\00P\A0\00O\A0\00T\A0\00C\A0\00Pk\00S\A0\00sv\E7tdiena\00pirmdiena\00otrdiena\00tre\F0diena\00ceturtdiena\00piektdiena\00sestdiena\00j\FBn\00j\FBl\00janv\E2ris\00febru\E2ris\00apr\EElis\00maijs\00j\FBnijs\00j\FBlijs\00augusts\00septembris\00oktobris\00novembris\00decembris\00%A, %Y. gada %e. %B, plkst. %H un %M\00%Y.%m.%d.\00P\C2\A0\00O\C2\A0\00T\C2\A0\00C\C2\A0\00S\C2\A0\00sv\C4\93tdiena\00tre\C5\A1diena\00j\C5\ABn\00j\C5\ABl\00janv\C4\81ris\00febru\C4\81ris\00apr\C4\ABlis\00j\C5\ABnijs\00j\C5\ABlijs\00Ta\00T\FB\00We\00T\E2i\00Pa\00H\E2\00R\E2tapu\00Mane\00T\FBrei\00Wenerei\00T\E2ite\00Paraire\00H\E2tarei\00Kohi\00Hui\00Pou\00Pae\00Hara\00Pipi\00H\F4ngoi\00Mahu\00Whi-nu\00Whi-ra\00Haki\00Kohi-t\E2tea\00Hui-tanguru\00Pout\FB-te-rangi\00Paenga-wh\E2wh\E2\00Haratua\00Pipiri\00H\F4ngoingoi\00Here-turi-k\F4k\E2\00Mahuru\00Whiringa-\E2-nuku\00Whiringa-\E2-rangi\00Hakihea\00Te %A, te %d o %B, %Y %T %Z\00T\C5\AB\00T\C4\81i\00H\C4\81\00R\C4\81tapu\00T\C5\ABrei\00T\C4\81ite\00H\C4\81tarei\00H\C5\8Dngoi\00Kohi-t\C4\81tea\00Pout\C5\AB-te-rangi\00Paenga-wh\C4\81wh\C4\81\00H\C5\8Dngoingoi\00Here-turi-k\C5\8Dk\C4\81\00Whiringa-\C4\81-nuku\00Whiringa-\C4\81-rangi\00\DD\D5\D4\00\DF\DE\DD\00\D2\E2\DE\00\E1\E0\D5\00\E7\D5\E2\00\DF\D5\E2\00\E1\D0\D1\00\DD\D5\D4\D5\DB\D0\00\DF\DE\DD\D5\D4\D5\DB\DD\D8\DA\00\D2\E2\DE\E0\DD\D8\DA\00\E1\E0\D5\D4\D0\00\E7\D5\E2\D2\E0\E2\DE\DA\00\DF\D5\E2\DE\DA\00\E1\D0\D1\DE\E2\D0\00\F8\D0\DD\00\E4\D5\D2\00\DC\D0\E0\00\D0\DF\E0\00\DC\D0\F8\00\F8\E3\DD\00\F8\E3\DB\00\D0\D2\D3\00\E1\D5\DF\00\DE\DA\E2\00\DD\DE\D5\00\D4\D5\DA\00\F8\D0\DD\E3\D0\E0\D8\00\E4\D5\D2\E0\E3\D0\E0\D8\00\DC\D0\E0\E2\00\D0\DF\E0\D8\DB\00\F8\E3\DD\D8\00\F8\E3\DB\D8\00\D0\D2\D3\E3\E1\E2\00\E1\D5\DF\E2\D5\DC\D2\E0\D8\00\DE\DA\E2\DE\DC\D2\E0\D8\00\DD\DE\D5\DC\D2\E0\D8\00\D4\D5\DA\D5\DC\D2\E0\D8\00%a, %d %b %Y %T %Z\00\D0\BD\D0\B5\D0\B4\00\D0\BF\D0\BE\D0\BD\00\D0\B2\D1\82\D0\BE\00\D1\81\D1\80\D0\B5\00\D1\87\D0\B5\D1\82\00\D0\BF\D0\B5\D1\82\00\D1\81\D0\B0\D0\B1\00\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D0\B0\00\D1\81\D1\80\D0\B5\D0\B4\D0\B0\00\D1\87\D0\B5\D1\82\D0\B2\D1\80\D1\82\D0\BE\D0\BA\00\D0\BF\D0\B5\D1\82\D0\BE\D0\BA\00\D1\81\D0\B0\D0\B1\D0\BE\D1\82\D0\B0\00\D1\98\D0\B0\D0\BD\00\D0\BC\D0\B0\D1\98\00\D1\98\D1\83\D0\BD\00\D1\98\D1\83\D0\BB\00\D1\98\D0\B0\D0\BD\D1\83\D0\B0\D1\80\D0\B8\00\D1\98\D1\83\D0\BD\D0\B8\00\D1\98\D1\83\D0\BB\D0\B8\00\E0\A4\B0\E0\A4\B5\E0\A4\BF\00\E0\A4\B8\E0\A5\8B\E0\A4\AE\00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B3\00\E0\A4\AC\E0\A5\81\E0\A4\A7\00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81\00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0\00\E0\A4\B6\E0\A4\A8\E0\A4\BF\00\E0\A4\B0\E0\A4\B5\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\B8\E0\A5\8B\E0\A4\AE\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B3\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\B6\E0\A4\A8\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\9C\E0\A4\BE\E0\A4\A8\E0\A5\87\E0\A4\B5\E0\A4\BE\E0\A4\B0\E0\A5\80\00\E0\A4\AB\E0\A5\87\E0\A4\AC\E0\A5\83\E0\A4\B5\E0\A4\BE\E0\A4\B0\E0\A5\80\00\E0\A4\8F\E0\A4\AA\E0\A5\8D\E0\A4\B0\E0\A4\BF\E0\A4\B2\00\E0\A4\AE\E0\A5\87\00\E0\A4\9C\E0\A5\81\E0\A4\B2\E0\A5\88\00\E0\A4\93\E0\A4\97\E0\A4\B8\E0\A5\8D\E0\A4\9F\00\E0\A4\B8\E0\A5\87\E0\A4\AA\E0\A5\8D\E0\A4\9F\E0\A5\87\E0\A4\82\E0\A4\AC\E0\A4\B0\00\E0\A4\93\E0\A4\95\E0\A5\8D\E0\A4\9F\E0\A5\8B\E0\A4\AC\E0\A4\B0\00\E0\A4\A8\E0\A5\8B\E0\A4\B5\E0\A5\8D\E0\A4\B9\E0\A5\87\E0\A4\82\E0\A4\AC\E0\A4\B0\00\E0\A4\A1\E0\A4\BF\E0\A4\B8\E0\A5\87\E0\A4\82\E0\A4\AC\E0\A4\B0\00\E0\A4\AE.\E0\A4\AA\E0\A5\82.\00\E0\A4\AE.\E0\A4\A8\E0\A4\82.\00Ahd\00Isn\00Kha\00Ahad\00Isnin\00Khamis\00Jumaat\00Mac\00Ogos\00Dis\00Februari\00Julai\00Disember\00\A1ad\00Tne\00Tli\00Erb\00\A1am\00\D5im\00Sib\00il-\A1add\00it-Tnejn\00it-Tlieta\00l-Erbg\B1a\00il-\A1amis\00il-\D5img\B1a\00is-Sibt\00Fra\00Mej\00\D5un\00Lul\00Awi\00Ott\00Di\E5\00Jannar\00Frar\00Marzu\00Mejju\00\D5unju\00Lulju\00Awissu\00Settembru\00Ottubru\00Novembru\00Di\E5embru \00%A, %d ta %b, %Y %I:%M:%S %p %Z\00%A, %d ta %b, %Y\00\C4\A6ad\00\C4\A6am\00\C4\A0im\00il-\C4\A6add\00l-Erbg\C4\A7a\00il-\C4\A6amis\00il-\C4\A0img\C4\A7a\00\C4\A0un\00Di\C4\8B\00\C4\A0unju\00Di\C4\8Bembru \00zo\00di\00wo\00do\00vr\00za\00zondag\00maandag\00dinsdag\00woensdag\00donderdag\00vrijdag\00zaterdag\00mrt\00mei\00maart\00augustus\00%d-%m-%y\00su \00m\E5 \00ty \00on \00to \00fr \00lau \00sundag \00m\E5ndag \00tysdag \00onsdag \00torsdag \00fredag \00laurdag \00%d. %b %Y kl %H.%M %Z\00%d. %b %Y\00kl %H.%M %Z\00m\C3\A5 \00m\C3\A5ndag \00%a %d-%m-%Y %T %Z\00mec\00j\F3u\00dimenge\00diluns\00dimars\00dij\F3us\00disabte\00ag\F3\00geni\E8r\00febri\E8r\00abrial\00junh\00julhet\00ag\F3st\00decembre\00j\C3\B3u\00dij\C3\B3us\00ag\C3\B3\00geni\C3\A8r\00febri\C3\A8r\00ag\C3\B3st\00nie\00pon\00wto\00\B6ro\00czw\00pi\B1\00sob\00niedziela\00poniedzia\B3ek\00wtorek\00\B6roda\00czwartek\00pi\B1tek\00sobota\00sty\00lut\00kwi\00cze\00lip\00sie\00wrz\00pa\BC\00gru\00stycze\F1\00luty\00marzec\00kwiecie\F1\00czerwiec\00lipiec\00sierpie\F1\00wrzesie\F1\00pa\BCdziernik\00grudzie\F1\00\C5\9Bro\00pi\C4\85\00poniedzia\C5\82ek\00\C5\9Broda\00pi\C4\85tek\00pa\C5\BA\00stycze\C5\84\00kwiecie\C5\84\00sierpie\C5\84\00wrzesie\C5\84\00pa\C5\BAdziernik\00grudzie\C5\84\00Seg\00Ter\00Qua\00Qui\00Sex\00segunda\00ter\E7a\00quarta\00quinta\00sexta\00janeiro\00fevereiro\00mar\E7o\00maio\00junho\00julho\00setembro\00outubro\00novembro\00dezembro\00ter\C3\A7a\00mar\C3\A7o\00Segunda\00Ter\E7a\00Quarta\00Quinta\00Sexta\00Janeiro\00Fevereiro\00Mar\E7o\00Junho\00Julho\00Dezembro\00Ter\C3\A7a\00Mar\C3\A7o\00Lu\00Mi\00Jo\00Vi\00S\EE\00Duminic\C3\00Luni\00Mar\FEi\00Miercuri\00Joi\00Vineri\00S\EEmb\C3t\C3\00ian\00iun\00iul\00Ianuarie\00Martie\00Aprilie\00Iunie\00Iulie\00Septembrie\00Octombrie\00Noiembrie\00Decembrie\00S\C3\AE\00Duminic\C4\82\00Mar\C5\A3i\00S\C3\AEmb\C4\82t\C4\82\00\F7\D3\CB\00\F0\CE\C4\00\F7\D4\D2\00\F3\D2\C4\00\FE\D4\D7\00\F0\D4\CE\00\F3\C2\D4\00\F7\CF\D3\CB\D2\C5\D3\C5\CE\D8\C5\00\F0\CF\CE\C5\C4\C5\CC\D8\CE\C9\CB\00\F7\D4\CF\D2\CE\C9\CB\00\F3\D2\C5\C4\C1\00\FE\C5\D4\D7\C5\D2\C7\00\F0\D1\D4\CE\C9\C3\C1\00\F3\D5\C2\C2\CF\D4\C1\00\F1\CE\D7\00\E6\C5\D7\00\ED\C1\D2\00\E1\D0\D2\00\ED\C1\CA\00\E9\C0\CE\00\E9\C0\CC\00\E1\D7\C7\00\F3\C5\CE\00\EF\CB\D4\00\EE\CF\D1\00\E4\C5\CB\00\F1\CE\D7\C1\D2\D1\00\E6\C5\D7\D2\C1\CC\D1\00\ED\C1\D2\D4\C1\00\E1\D0\D2\C5\CC\D1\00\ED\C1\D1\00\E9\C0\CE\D1\00\E9\C0\CC\D1\00\E1\D7\C7\D5\D3\D4\C1\00\F3\C5\CE\D4\D1\C2\D2\D1\00\EF\CB\D4\D1\C2\D2\D1\00\EE\CF\D1\C2\D2\D1\00\E4\C5\CB\C1\C2\D2\D1\00\B2\E1\DA\00\BF\DD\D4\00\B2\E2\E0\00\C1\E0\D4\00\C7\E2\D2\00\BF\E2\DD\00\C1\D1\E2\00\B2\DE\E1\DA\E0\D5\E1\D5\DD\EC\D5\00\BF\DE\DD\D5\D4\D5\DB\EC\DD\D8\DA\00\B2\E2\DE\E0\DD\D8\DA\00\C1\E0\D5\D4\D0\00\C7\D5\E2\D2\D5\E0\D3\00\BF\EF\E2\DD\D8\E6\D0\00\C1\E3\D1\D1\DE\E2\D0\00\CF\DD\D2\00\C4\D5\D2\00\BC\D0\E0\00\B0\DF\E0\00\BC\D0\D9\00\B8\EE\DD\00\B8\EE\DB\00\B0\D2\D3\00\C1\D5\DD\00\BE\DA\E2\00\BD\DE\EF\00\B4\D5\DA\00\CF\DD\D2\D0\E0\EF\00\C4\D5\D2\E0\D0\DB\EF\00\BC\D0\E0\E2\D0\00\B0\DF\E0\D5\DB\EF\00\BC\D0\EF\00\B8\EE\DD\EF\00\B8\EE\DB\EF\00\B0\D2\D3\E3\E1\E2\D0\00\C1\D5\DD\E2\EF\D1\E0\EF\00\BE\DA\E2\EF\D1\E0\EF\00\BD\DE\EF\D1\E0\EF\00\B4\D5\DA\D0\D1\E0\EF\00\D0\92\D1\81\D0\BA\00\D0\9F\D0\BD\D0\B4\00\D0\92\D1\82\D1\80\00\D0\A7\D1\82\D0\B2\00\D0\9F\D1\82\D0\BD\00\D0\A1\D0\B1\D1\82\00\D0\92\D0\BE\D1\81\D0\BA\D1\80\D0\B5\D1\81\D0\B5\D0\BD\D1\8C\D0\B5\00\D0\9F\D0\BE\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D1\8C\D0\BD\D0\B8\D0\BA\00\D0\92\D1\82\D0\BE\D1\80\D0\BD\D0\B8\D0\BA\00\D0\A1\D1\80\D0\B5\D0\B4\D0\B0\00\D0\A7\D0\B5\D1\82\D0\B2\D0\B5\D1\80\D0\B3\00\D0\9F\D1\8F\D1\82\D0\BD\D0\B8\D1\86\D0\B0\00\D0\A1\D1\83\D0\B1\D0\B1\D0\BE\D1\82\D0\B0\00\D0\AF\D0\BD\D0\B2\00\D0\A4\D0\B5\D0\B2\00\D0\9C\D0\B0\D1\80\00\D0\90\D0\BF\D1\80\00\D0\9C\D0\B0\D0\B9\00\D0\98\D1\8E\D0\BD\00\D0\98\D1\8E\D0\BB\00\D0\90\D0\B2\D0\B3\00\D0\A1\D0\B5\D0\BD\00\D0\9E\D0\BA\D1\82\00\D0\9D\D0\BE\D1\8F\00\D0\94\D0\B5\D0\BA\00\D0\AF\D0\BD\D0\B2\D0\B0\D1\80\D1\8F\00\D0\A4\D0\B5\D0\B2\D1\80\D0\B0\D0\BB\D1\8F\00\D0\9C\D0\B0\D1\80\D1\82\D0\B0\00\D0\90\D0\BF\D1\80\D0\B5\D0\BB\D1\8F\00\D0\9C\D0\B0\D1\8F\00\D0\98\D1\8E\D0\BD\D1\8F\00\D0\98\D1\8E\D0\BB\D1\8F\00\D0\90\D0\B2\D0\B3\D1\83\D1\81\D1\82\D0\B0\00\D0\A1\D0\B5\D0\BD\D1\82\D1\8F\D0\B1\D1\80\D1\8F\00\D0\9E\D0\BA\D1\82\D1\8F\D0\B1\D1\80\D1\8F\00\D0\9D\D0\BE\D1\8F\D0\B1\D1\80\D1\8F\00\D0\94\D0\B5\D0\BA\D0\B0\D0\B1\D1\80\D1\8F\00\F7\D4\CF\00\F3\D5\C2\00\F1\CE\D7\C1\D2\D8\00\E6\C5\D7\D2\C1\CC\D8\00\ED\C1\D2\D4\00\E1\D0\D2\C5\CC\D8\00\E9\C0\CE\D8\00\E9\C0\CC\D8\00\E1\D7\C7\D5\D3\D4\00\F3\C5\CE\D4\D1\C2\D2\D8\00\EF\CB\D4\D1\C2\D2\D8\00\EE\CF\D1\C2\D2\D8\00\E4\C5\CB\C1\C2\D2\D8\00\D0\92\D1\82\D0\BE\00\D0\AF\D0\BD\D0\B2\D0\B0\D1\80\D1\8C\00\D0\A4\D0\B5\D0\B2\D1\80\D0\B0\D0\BB\D1\8C\00\D0\9C\D0\B0\D1\80\D1\82\00\D0\90\D0\BF\D1\80\D0\B5\D0\BB\D1\8C\00\D0\98\D1\8E\D0\BD\D1\8C\00\D0\98\D1\8E\D0\BB\D1\8C\00\D0\90\D0\B2\D0\B3\D1\83\D1\81\D1\82\00\D0\A1\D0\B5\D0\BD\D1\82\D1\8F\D0\B1\D1\80\D1\8C\00\D0\9E\D0\BA\D1\82\D1\8F\D0\B1\D1\80\D1\8C\00\D0\9D\D0\BE\D1\8F\D0\B1\D1\80\D1\8C\00\D0\94\D0\B5\D0\BA\D0\B0\D0\B1\D1\80\D1\8C\00sotn\00vuos\00ma\C5\8B\00gask\00duor\00bear\00l\C3\A1v\00sotnabeaivi\00vuoss\C3\A1rga\00ma\C5\8B\C5\8Bebarga\00gaskavahkku\00duorasdat\00bearjadat\00l\C3\A1vvardat\00o\C4\91\C4\91j\00guov\00njuk\00cuo\C5\8B\00mies\00geas\00suoi\00borg\00\C4\8Dak\C4\8D\00golg\00sk\C3\A1b\00juov\00o\C4\91\C4\91ajagem\C3\A1nu\00guovvam\C3\A1nu\00njuk\C4\8Dam\C3\A1nu\00cuo\C5\8Bom\C3\A1nu\00miessem\C3\A1nu\00geassem\C3\A1nu\00suoidnem\C3\A1nu\00borgem\C3\A1nu\00\C4\8Dak\C4\8Dam\C3\A1nu\00golggotm\C3\A1nu\00sk\C3\A1bmam\C3\A1nu\00juovlam\C3\A1nu\00%a, %b %e. b. %Y %T %Z\00Ut\00\A9t\00Pi\00Nede\B5a\00Pondelok\00Utorok\00Streda\00\A9tvrtok\00Piatok\00marec\00Nede\C4\BEa\00\C5\A0tvrtok\00ned\00sre\00\E8et\00pet\00nedelja\00ponedeljek\00torek\00sreda\00\E8etrtek\00petek\00avg\00junij\00julij\00avgust\00\C4\8Det\00\C4\8Detrtek\00Die \00H\EBn \00Mar \00M\EBr \00Enj \00Pre \00Sht \00e diel \00e h\EBn\EB \00e mart\EB \00e m\EBrkur\EB \00e enjte \00e premte \00e shtun\EB \00Shk\00Pri\00Qer\00Kor\00Gsh\00Sht\00Tet\00N\EBn\00Dhj\00janar\00shkurt\00prill\00qershor\00korrik\00gusht\00shtator\00tetor\00n\EBntor\00dhjetor\00PD\00MD\00%Y-%b-%d %I.%M.%S.%p %Z\00%Y-%b-%d\00%I.%M.%S. %Z\00%I.%M.%S.%p %Z\00H\C3\ABn \00M\C3\ABr \00e h\C3\ABn\C3\AB \00e mart\C3\AB \00e m\C3\ABrkur\C3\AB \00e shtun\C3\AB \00N\C3\ABn\00n\C3\ABntor\00uto\00sub\00ponedeljak\00utorak\00\E8etvrtak\00petak\00subota\00septembar\00oktobar\00novembar\00decembar\00%d-%m-%Y.\00\C4\8Detvrtak\00\E3\E2\DE\00\E1\E3\D1\00\DD\D5\D4\D5\F9a\00\DF\DE\DD\D5\D4\D5\F9\D0\DA\00\E3\E2\DE\E0\D0\DA\00\E7\D5\E2\D2\E0\E2\D0\DA\00\DF\D5\E2\D0\DA\00\E1\E3\D1\DE\E2\D0\00\E4\D5\D1\00\DD\DE\D2\00\D4\D5\E6\00\F8\D0\DD\E3\D0\E0\00\E4\D5\D1\E0\E3\D0\E0\00\E1\D5\DF\E2\D5\DC\D1\D0\E0\00\DE\DA\E2\DE\D1\D0\E0\00\DD\DE\D2\D5\DC\D1\D0\E0\00\D4\D5\E6\D5\DC\D1\D0\E0\00+%a %d %b %Y %T %Z\00\D1\83\D1\82\D0\BE\00\D1\81\D1\83\D0\B1\00\D0\BD\D0\B5\D0\B4\D0\B5\D1\99a\00\D0\BF\D0\BE\D0\BD\D0\B5\D0\B4\D0\B5\D1\99\D0\B0\D0\BA\00\D1\83\D1\82\D0\BE\D1\80\D0\B0\D0\BA\00\D1\87\D0\B5\D1\82\D0\B2\D1\80\D1\82\D0\B0\D0\BA\00\D0\BF\D0\B5\D1\82\D0\B0\D0\BA\00\D1\81\D1\83\D0\B1\D0\BE\D1\82\D0\B0\00\D1\84\D0\B5\D0\B1\00\D0\BD\D0\BE\D0\B2\00\D0\B4\D0\B5\D1\86\00\D1\98\D0\B0\D0\BD\D1\83\D0\B0\D1\80\00\D1\84\D0\B5\D0\B1\D1\80\D1\83\D0\B0\D1\80\00\D1\81\D0\B5\D0\BF\D1\82\D0\B5\D0\BC\D0\B1\D0\B0\D1\80\00\D0\BE\D0\BA\D1\82\D0\BE\D0\B1\D0\B0\D1\80\00\D0\BD\D0\BE\D0\B2\D0\B5\D0\BC\D0\B1\D0\B0\D1\80\00\D0\B4\D0\B5\D1\86\D0\B5\D0\BC\D0\B1\D0\B0\D1\80\00s\F6n\00m\E5n\00tis\00l\F6r\00s\F6ndag\00m\E5ndag\00tisdag\00l\F6rdag\00augusti\00%a %e %b %Y %H.%M.%S\00s\C3\B6n\00m\C3\A5n\00l\C3\B6r\00s\C3\B6ndag\00m\C3\A5ndag\00l\C3\B6rdag\00\E0\AE\9E\00\E0\AE\A4\00\E0\AE\9A\00\E0\AE\AA\00\E0\AE\B5\00\E0\AE\9E\E0\AE\BE\E0\AE\AF\E0\AE\BF\E0\AE\B1\E0\AF\81\00\E0\AE\A4\E0\AE\BF\E0\AE\99\E0\AF\8D\E0\AE\95\E0\AE\B3\E0\AF\8D\00\E0\AE\9A\E0\AF\86\E0\AE\B5\E0\AF\8D\E0\AE\B5\E0\AE\BE\E0\AE\AF\E0\AF\8D\00\E0\AE\AA\E0\AF\81\E0\AE\A4\E0\AE\A9\E0\AF\8D\00\E0\AE\B5\E0\AE\BF\E0\AE\AF\E0\AE\BE\E0\AE\B4\E0\AE\A9\E0\AF\8D\00\E0\AE\B5\E0\AF\86\E0\AE\B3\E0\AF\8D\E0\AE\B3\E0\AE\BF\00\E0\AE\9A\E0\AE\A9\E0\AE\BF\00\E0\AE\9C\E0\AE\A9\E0\AE\B5\E0\AE\B0\E0\AE\BF\00\E0\AE\AA\E0\AF\86\E0\AE\AA\E0\AF\8D\E0\AE\B0\E0\AE\B5\E0\AE\B0\E0\AE\BF\00\E0\AE\AE\E0\AE\BE\E0\AE\B0\E0\AF\8D\E0\AE\9A\E0\AF\8D\00\E0\AE\8F\E0\AE\AA\E0\AF\8D\E0\AE\B0\E0\AE\B2\E0\AF\8D\00\E0\AE\AE\E0\AF\87\00\E0\AE\9C\E0\AF\82\E0\AE\A9\E0\AF\8D\00\E0\AE\9C\E0\AF\82\E0\AE\B2\E0\AF\88\00\E0\AE\86\E0\AE\95\E0\AE\B8\E0\AF\8D\E0\AE\9F\E0\AF\8D\00\E0\AE\9A\E0\AF\86\E0\AE\AA\E0\AF\8D\E0\AE\9F\E0\AE\AE\E0\AF\8D\E0\AE\AA\E0\AE\B0\E0\AF\8D\00\E0\AE\85\E0\AE\95\E0\AF\8D\E0\AE\9F\E0\AF\8B\E0\AE\AA\E0\AE\B0\E0\AF\8D\00\E0\AE\A8\E0\AE\B5\E0\AE\AE\E0\AF\8D\E0\AE\AA\E0\AE\B0\E0\AF\8D\00\E0\AE\9F\E0\AE\BF\E0\AE\9A\E0\AE\AE\E0\AF\8D\E0\AE\AA\E0\AE\B0\E0\AF\8Dr\00\E0\AE\95\E0\AE\BE\E0\AE\B2\E0\AF\88\00\E0\AE\AE\E0\AE\BE\E0\AE\B2\E0\AF\88\00\E0\B0\86\E0\B0\A6\E0\B0\BF\00\E0\B0\B8\E0\B1\8B\E0\B0\AE\00\E0\B0\AE\E0\B0\82\E0\B0\97\E0\B0\B3\00\E0\B0\AC\E0\B1\81\E0\B0\A7\00\E0\B0\97\E0\B1\81\E0\B0\B0\E0\B1\81\00\E0\B0\B6\E0\B1\81\E0\B0\95\E0\B1\8D\E0\B0\B0\00\E0\B0\B6\E0\B0\A8\E0\B0\BF\00\E0\B0\86\E0\B0\A6\E0\B0\BF\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\B8\E0\B1\8B\E0\B0\AE\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\AE\E0\B0\82\E0\B0\97\E0\B0\B3\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\AC\E0\B1\81\E0\B0\A7\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\97\E0\B1\81\E0\B0\B0\E0\B1\81\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\B6\E0\B1\81\E0\B0\95\E0\B1\8D\E0\B0\B0\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\B6\E0\B0\A8\E0\B0\BF\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\9C\E0\B0\A8\E0\B0\B5\E0\B0\B0\E0\B0\BF\00\E0\B0\AB\E0\B0\BF\E0\B0\AC\E0\B1\8D\E0\B0\B0\E0\B0\B5\E0\B0\B0\E0\B0\BF\00\E0\B0\AE\E0\B0\BE\E0\B0\B0\E0\B1\8D\E0\B0\9A\E0\B0\BF\00\E0\B0\8F\E0\B0\AA\E0\B1\8D\E0\B0\B0\E0\B0\BF\E0\B0\B2\E0\B1\8D\00\E0\B0\AE\E0\B1\87\00\E0\B0\9C\E0\B1\82\E0\B0\A8\E0\B1\8D\00\E0\B0\9C\E0\B1\82\E0\B0\B2\E0\B1\88\00\E0\B0\86\E0\B0\97\E0\B0\B8\E0\B1\8D\E0\B0\9F\E0\B1\81\00\E0\B0\B8\E0\B1\86\E0\B0\AA\E0\B1\8D\E0\B0\9F\E0\B1\86\E0\B0\82\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\85\E0\B0\95\E0\B1\8D\E0\B0\9F\E0\B1\8B\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\A8\E0\B0\B5\E0\B0\82\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\A1\E0\B0\BF\E0\B0\B8\E0\B1\86\E0\B0\82\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\AA\E0\B1\82\E0\B0\B0\E0\B1\8D\E0\B0\B5\E0\B0\BE\E0\B0\B9\E0\B1\8D\E0\B0\A8\00\E0\B0\85\E0\B0\AA\E0\B0\B0\E0\B0\BE\E0\B0\B9\E0\B1\8D\E0\B0\A8\00\CD\D2.\00\A8.\00\CD.\00\BE.\00\BE\C4.\00\C8.\00\CA.\00\CD\D2\B7\D4\B5\C2\EC\00\A8\D1\B9\B7\C3\EC\00\CD\D1\A7\A4\D2\C3\00\BE\D8\B8\00\BE\C4\CB\D1\CA\BA\B4\D5\00\C8\D8\A1\C3\EC\00\E0\CA\D2\C3\EC\00\C1.\A4.\00\A1.\BE.\00\C1\D5.\A4.\00\E0\C1.\C2.\00\BE.\A4.\00\C1\D4.\C2.\00\A1.\A4.\00\CA.\A4.\00\A1.\C2.\00\B5.\A4.\00\BE.\C2.\00\B8.\A4.\00\C1\A1\C3\D2\A4\C1\00\A1\D8\C1\C0\D2\BE\D1\B9\B8\EC\00\C1\D5\B9\D2\A4\C1\00\E0\C1\C9\D2\C2\B9\00\BE\C4\C9\C0\D2\A4\C1\00\C1\D4\B6\D8\B9\D2\C2\B9\00\A1\C3\A1\AE\D2\A4\C1\00\CA\D4\A7\CB\D2\A4\C1\00\A1\D1\B9\C2\D2\C2\B9\00\B5\D8\C5\D2\A4\C1\00\BE\C4\C8\A8\D4\A1\D2\C2\B9\00\B8\D1\B9\C7\D2\A4\C1\00%a %e %b %Ey, %H:%M:%S\00%d/%m/%Ey\00+:1:-543/01/01:+*:\BE.\C8.:%EC %Ey\00\00%e %b %Ey\00\C7\D1\B9%A\B7\D5\E8 %e %B %EC %Ey, %H.%M.%S \B9.\00%H.%M.%S \B9.\00\E0\B8\AD\E0\B8\B2.\00\E0\B8\88.\00\E0\B8\AD.\00\E0\B8\9E.\00\E0\B8\9E\E0\B8\A4.\00\E0\B8\A8.\00\E0\B8\AA.\00\E0\B8\AD\E0\B8\B2\E0\B8\97\E0\B8\B4\E0\B8\95\E0\B8\A2\E0\B9\8C\00\E0\B8\88\E0\B8\B1\E0\B8\99\E0\B8\97\E0\B8\A3\E0\B9\8C\00\E0\B8\AD\E0\B8\B1\E0\B8\87\E0\B8\84\E0\B8\B2\E0\B8\A3\00\E0\B8\9E\E0\B8\B8\E0\B8\98\00\E0\B8\9E\E0\B8\A4\E0\B8\AB\E0\B8\B1\E0\B8\AA\E0\B8\9A\E0\B8\94\E0\B8\B5\00\E0\B8\A8\E0\B8\B8\E0\B8\81\E0\B8\A3\E0\B9\8C\00\E0\B9\80\E0\B8\AA\E0\B8\B2\E0\B8\A3\E0\B9\8C\00\E0\B8\A1.\E0\B8\84.\00\E0\B8\81.\E0\B8\9E.\00\E0\B8\A1\E0\B8\B5.\E0\B8\84.\00\E0\B9\80\E0\B8\A1.\E0\B8\A2.\00\E0\B8\9E.\E0\B8\84.\00\E0\B8\A1\E0\B8\B4.\E0\B8\A2.\00\E0\B8\81.\E0\B8\84.\00\E0\B8\AA.\E0\B8\84.\00\E0\B8\81.\E0\B8\A2.\00\E0\B8\95.\E0\B8\84.\00\E0\B8\9E.\E0\B8\A2.\00\E0\B8\98.\E0\B8\84.\00\E0\B8\A1\E0\B8\81\E0\B8\A3\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\81\E0\B8\B8\E0\B8\A1\E0\B8\A0\E0\B8\B2\E0\B8\9E\E0\B8\B1\E0\B8\99\E0\B8\98\E0\B9\8C\00\E0\B8\A1\E0\B8\B5\E0\B8\99\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B9\80\E0\B8\A1\E0\B8\A9\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\9E\E0\B8\A4\E0\B8\A9\E0\B8\A0\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\A1\E0\B8\B4\E0\B8\96\E0\B8\B8\E0\B8\99\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\81\E0\B8\A3\E0\B8\81\E0\B8\8E\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\AA\E0\B8\B4\E0\B8\87\E0\B8\AB\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\81\E0\B8\B1\E0\B8\99\E0\B8\A2\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\95\E0\B8\B8\E0\B8\A5\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\9E\E0\B8\A4\E0\B8\A8\E0\B8\88\E0\B8\B4\E0\B8\81\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\98\E0\B8\B1\E0\B8\99\E0\B8\A7\E0\B8\B2\E0\B8\84\E0\B8\A1\00+:1:-543/01/01:+*:\E0\B8\9E.\E0\B8\A8.:%EC %Ey\00\00\E0\B8\A7\E0\B8\B1\E0\B8\99%A\E0\B8\97\E0\B8\B5\E0\B9\88 %e %B %EC %Ey, %H.%M.%S \E0\B8\99.\00%H.%M.%S \E0\B8\99.\00\E1\88\B0\E1\8A\95\E1\89\A0\E1\89\B5\00\E1\88\B0\E1\8A\91\E1\8B\AD\00\E1\88\B0\E1\88\89\E1\88\B5\00\E1\88\93\E1\88\99\E1\88\B5\00\E1\8B\93\E1\88\AD\E1\89\A2\00\E1\89\80\E1\8B\B3\E1\88\9D\00\E1\8C\A5\E1\88\AA\00\E1\88\88\E1\8A\AB\E1\89\B2\00\E1\88\98\E1\8C\8B\E1\89\A2\00\E1\88\9A\E1\8B\AB\E1\8B\9D\00\E1\8C\8D\E1\8A\95\E1\89\A6\00\E1\88\B0\E1\8A\90\00\E1\88\93\E1\88\9D\E1\88\88\00\E1\8A\90\E1\88\93\E1\88\B0\00\E1\88\98\E1\88\B5\E1\8A\A8\00\E1\8C\A5\E1\89\85\E1\88\9D\00\E1\88\95\E1\8B\B3\E1\88\AD\00\E1\89\B3\E1\88\95\E1\88\B3\00\E1\88\88\E1\8A\AB\E1\89\B2\E1\89\B5\00\E1\88\98\E1\8C\8B\E1\89\A2\E1\89\B5\00\E1\88\9A\E1\8B\AB\E1\8B\9D\E1\8B\AB\00\E1\8C\8D\E1\8A\95\E1\89\A6\E1\89\B5\00\E1\88\98\E1\88\B5\E1\8A\A8\E1\88\A8\E1\88\9D\00\E1\8C\A5\E1\89\85\E1\88\9D\E1\89\B2\00\E1\89\B3\E1\88\95\E1\88\B3\E1\88\B5\00\E1\8A\95\E1\8C\89\E1\88\86 \E1\88\B0\E1\8B\93\E1\89\B0\00\E1\8B\B5\E1\88\95\E1\88\AD \E1\88\B0\E1\8B\93\E1\89\B5\00%A\E1\8D\A3 %b %e \E1\88\98\E1\8B\93\E1\88\8D\E1\89\B2 %l:%M:%S %Z %Y\00Lin\00Miy\00Huw\00Biy\00Linggo\00Lunes\00Miyerkoles\00Huwebes\00Biyernes\00Sabado\00Ene\00Hun\00Hul\00Nob\00Enero\00Pebrero\00Marso\00Mayo\00Hunyo\00Hulyo\00Septiyembre\00Oktubre\00Nobiyembre\00Disyembre\00Paz\00Pzt\00Sal\00\C7r\FE\00Pr\FE\00Cum\00Cts\00Pazar\00Pazartesi\00Sal\FD\00\C7ar\FEamba\00Per\FEembe\00Cuma\00Cumartesi\00Oca\00\DEub\00Nis\00Haz\00Tem\00A\F0u\00Eyl\00Eki\00Kas\00Ara\00Ocak\00\DEubat\00Nisan\00May\FDs\00Haziran\00Temmuz\00A\F0ustos\00Eyl\FCl\00Ekim\00Kas\FDm\00Aral\FDk\00\D6\D6\00\D6S\00\C3\87r\C5\9F\00Pr\C5\9F\00Sal\C4\B1\00\C3\87ar\C5\9Famba\00Per\C5\9Fembe\00\C5\9Eub\00A\C4\9Fu\00\C5\9Eubat\00May\C4\B1s\00A\C4\9Fustos\00Eyl\C3\BCl\00Kas\C4\B1m\00Aral\C4\B1k\00\C3\96\C3\96\00\C3\96S\00\D0\AF\D0\BA\D1\88\00\D0\94\D1\8B\D1\88\00\D0\A1\D0\B8\D1\88\00\D0\A7\D3\99\D1\80\D1\88\00\D0\9F\D3\99\D0\BD\D2\97\00\D2\96\D0\BE\D0\BC\00\D0\A8\D0\B8\D0\BC\00\D0\AF\D0\BA\D1\88\D3\99\D0\BC\D0\B1\D0\B5\00\D0\94\D1\8B\D1\88\D3\99\D0\BC\D0\B1\D0\B5\00\D0\A1\D0\B8\D1\88\D3\99\D0\BC\D0\B1\D0\B5\00\D0\A7\D3\99\D1\80\D1\88\D3\99\D3\99\D0\BC\D0\B1\D0\B5\00\D0\9F\D3\99\D0\BD\D2\97\D0\B5\D1\88\D0\BC\D0\B1\D0\B5\00\D2\96\D0\BE\D0\BC\D0\B3\D0\B0\00\D0\A8\D0\B8\D0\BC\D0\B1\D3\99\00\EE\C4\CC\00\EE\C5\C4\A6\CC\D1\00\F0\CF\CE\C5\C4\A6\CC\CF\CB\00\F7\A6\D7\D4\CF\D2\CF\CB\00\F3\C5\D2\C5\C4\C1\00\FE\C5\D4\D7\C5\D2\00\F0'\D1\D4\CE\C9\C3\D1\00\F3\D5\C2\CF\D4\C1\00\F3\A6\DE\00\EC\C0\D4\00\E2\C5\D2\00\EB\D7\A6\00\F4\D2\C1\00\FE\C5\D2\00\EC\C9\D0\00\F3\C5\D2\00\F7\C5\D2\00\F6\CF\D7\00\EC\C9\D3\00\E7\D2\D5\00\F3\A6\DE\C5\CE\D8\00\EC\C0\D4\C9\CA\00\E2\C5\D2\C5\DA\C5\CE\D8\00\EB\D7\A6\D4\C5\CE\D8\00\F4\D2\C1\D7\C5\CE\D8\00\FE\C5\D2\D7\C5\CE\D8\00\EC\C9\D0\C5\CE\D8\00\F3\C5\D2\D0\C5\CE\D8\00\F7\C5\D2\C5\D3\C5\CE\D8\00\F6\CF\D7\D4\C5\CE\D8\00\EC\C9\D3\D4\CF\D0\C1\C4\00\E7\D2\D5\C4\C5\CE\D8\00\D0\9D\D0\B4\D0\BB\00\D0\9D\D0\B5\D0\B4\D1\96\D0\BB\D1\8F\00\D0\9F\D0\BE\D0\BD\D0\B5\D0\B4\D1\96\D0\BB\D0\BE\D0\BA\00\D0\92\D1\96\D0\B2\D1\82\D0\BE\D1\80\D0\BE\D0\BA\00\D0\A1\D0\B5\D1\80\D0\B5\D0\B4\D0\B0\00\D0\A7\D0\B5\D1\82\D0\B2\D0\B5\D1\80\00\D0\9F'\D1\8F\D1\82\D0\BD\D0\B8\D1\86\D1\8F\00\D0\A1\D1\96\D1\87\00\D0\91\D0\B5\D1\80\00\D0\9A\D0\B2\D1\96\00\D0\A7\D0\B5\D1\80\00\D0\9B\D0\B8\D0\BF\00\D0\A1\D0\B5\D1\80\00\D0\92\D0\B5\D1\80\00\D0\96\D0\BE\D0\B2\00\D0\9B\D0\B8\D1\81\00\D0\93\D1\80\D1\83\00\D0\A1\D1\96\D1\87\D0\B5\D0\BD\D1\8C\00\D0\9B\D1\8E\D1\82\D0\B8\D0\B9\00\D0\91\D0\B5\D1\80\D0\B5\D0\B7\D0\B5\D0\BD\D1\8C\00\D0\9A\D0\B2\D1\96\D1\82\D0\B5\D0\BD\D1\8C\00\D0\A7\D0\B5\D1\80\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\9B\D0\B8\D0\BF\D0\B5\D0\BD\D1\8C\00\D0\A1\D0\B5\D1\80\D0\BF\D0\B5\D0\BD\D1\8C\00\D0\92\D0\B5\D1\80\D0\B5\D1\81\D0\B5\D0\BD\D1\8C\00\D0\96\D0\BE\D0\B2\D1\82\D0\B5\D0\BD\D1\8C\00\D0\9B\D0\B8\D1\81\D1\82\D0\BE\D0\BF\D0\B0\D0\B4\00\D0\93\D1\80\D1\83\D0\B4\D0\B5\D0\BD\D1\8C\00\D8\A7\D8\AA\D9\88\D8\A7\D8\B1\00\D9\BE\D9\8A\D8\B1\00\D9\85\D9\86\DA\AF\D9\84\00\D8\A8\D8\AF\DA\BE\00\D8\AC\D9\85\D8\B9\D8\B1\D8\A7\D8\AA\00\D9\87\D9\81\D8\AA\D9\87\00\D8\AC\D9\86\D9\88\D8\B1\D9\8A\00\D9\81\D8\B1\D9\88\D8\B1\D9\8A\00\D9\85\D8\A7\D8\B1\DA\86\00\D8\A7\D9\BE\D8\B1\D9\8A\D9\84\00\D9\85\D9\93\DB\8C\00\D8\AC\D9\88\D9\86\00\D8\AC\D9\88\D9\84\D8\A7\D9\8A\00\D8\A7\DA\AF\D8\B3\D8\AA\00\D8\B3\D8\AA\D9\85\D8\A8\D8\B1\00\D8\A7\D9\83\D8\AA\D9\88\D8\A8\D8\B1\00\D9\86\D9\88\D9\85\D8\A8\D8\B1\00\D8\AF\D8\B3\D9\85\D8\A8\D8\B1\00\D8\B4\00\D9\88 %H:%M:%S %Z \D8\AA %d %B %Y\00%P %I:%M:%S\00Yak\00Se\00Cho\00Pay\00Ju\00Sha\00yakshanba\00dushanba\00seshanba\00chorshanba\00payshanba\00juma\00shanba\00Yav\00Iyn\00Iyl\00Avg\00senyabr\00%T, %d %B, %Y yil, %A\00CN \00Th 2 \00Th 3 \00Th 4 \00Th 5 \00Th 6 \00Th 7 \00Chu\CC\89 nh\C3\A2\CC\A3t \00Th\C6\B0\CC\81 hai \00Th\C6\B0\CC\81 ba \00Th\C6\B0\CC\81 t\C6\B0 \00Th\C6\B0\CC\81 n\C4\83m \00Th\C6\B0\CC\81 s\C3\A1u \00Th\C6\B0\CC\81 ba\CC\89y \00Thg 1\00Thg 2\00Thg 3\00Thg 4\00Thg 5\00Thg 6\00Thg 7\00Thg 8\00Thg 9\00Thg 10\00Thg 11\00Thg 12\00Th\C3\A1ng m\C3\B4\CC\A3t\00Th\C3\A1ng hai\00Th\C3\A1ng ba\00Th\C3\A1ng t\C6\B0\00Th\C3\A1ng n\C4\83m\00Th\C3\A1ng s\C3\A1u\00Th\C3\A1ng ba\CC\89y\00Th\C3\A1ng t\C3\A1m\00Th\C3\A1ng ch\C3\ADn\00Th\C3\A1ng m\C6\B0\C6\A1\CC\80i\00Th\C3\A1ng m\C6\B0\C6\A1\CC\80i m\C3\B4\CC\A3t\00Th\C3\A1ng m\C6\B0\C6\A1\CC\80i hai\00%H:%M:%S %Z %A %d %b %Y\00%H:%M:%S %Z\00d\EEm\00lon\00m\E5r\00dju\00vin\00sem\00d\EEmegne\00londi\00m\E5rdi\00merkidi\00djudi\00vinrdi\00semdi\00dja\00fev\00m\E5s\00djn\00djl\00awo\00n\F4v\00djanv\EE\00fevr\EE\00m\E5ss\00avri\00djun\00djulete\00awousse\00setimbe\00oct\F4be\00n\F4vimbe\00decimbe\00Li %A %d di %B %Y %T %Z\00d\C3\AEm\00m\C3\A5r\00d\C3\AEmegne\00m\C3\A5rdi\00m\C3\A5s\00n\C3\B4v\00djanv\C3\AE\00fevr\C3\AE\00m\C3\A5ss\00oct\C3\B4be\00n\C3\B4vimbe\00\E6\E5\F0'\00\EE\E0\C8\F0'\00\E3\E9\F0'\00\EE\E9\E8'\00\E3\E0\C8\F0'\00\F4\CF\F8\D6\C7'\00\E6\E5\F0\E8\E9\F7\00\EE\E0\C8\F0\E8\E9\F7\00\E3\E9\F0\F1\E8\E9\F7\00\EE\E9\E8\D4\E0\C8\EA\00\E3\E0\C8\F0\F2\F8\F9\E8\E9\F7\00\F4\CF\F8\D6\C7\E8\E9\F7\00\E9\E0\C7\F0'\00\F4\CF\F2\E1'\00\EE\E0\C7\F8'\00\E0\C7\F4\CC\F8'\00\EE\D6\C7\00\E9\E5\F0'\00\E9\E5\EC'\00\E0\D5\E2'\00\F1\F2\F4\CC'\00\E0\C8\F7\E8'\00\F0\E0\C8\D4'\00\E3\F2\F6'\00\E9\E0\C7\F0\E5\E0\C7\F8\00\F4\CF\F2\E1\F8\E5\E0\C7\F8\00\EE\E0\C7\F8\F5\00\E0\C7\F4\CC\F8\E9\EC\00\E0\D5\E2\F1\E8\00\F1\F2\F4\CC\E8\F2\EE\E1\F2\F8\00\E0\C8\F7\E8\E0\C8\E1\F2\F8\00\F0A\C8\D4\F2\EE\E1\F2\F8\00\D7\96\D7\95\D7\A0'\00\D7\9E\D7\90\D6\B8\D7\A0'\00\D7\93\D7\99\D7\A0'\00\D7\9E\D7\99\D7\98'\00\D7\93\D7\90\D6\B8\D7\A0'\00\D7\A4\D6\BF\D7\A8\D7\B2\D6\B7'\00\D7\96\D7\95\D7\A0\D7\98\D7\99\D7\A7\00\D7\9E\D7\90\D6\B8\D7\A0\D7\98\D7\99\D7\A7\00\D7\93\D7\99\D7\A0\D7\A1\D7\98\D7\99\D7\A7\00\D7\9E\D7\99\D7\98\D7\B0\D7\90\D6\B8\D7\9A\00\D7\93\D7\90\D6\B8\D7\A0\D7\A2\D7\A8\D7\A9\D7\98\D7\99\D7\A7\00\D7\A4\D6\BF\D7\A8\D7\B2\D6\B7\D7\98\D7\99\D7\A7\00\D7\99\D7\90\D6\B7\D7\A0'\00\D7\A4\D6\BF\D7\A2\D7\91'\00\D7\9E\D7\90\D6\B7\D7\A8'\00\D7\90\D6\B7\D7\A4\D6\BC\D7\A8'\00\D7\9E\D7\B2\D6\B7\00\D7\99\D7\95\D7\A0'\00\D7\99\D7\95\D7\9C'\00\D7\90\D7\B1\D7\92'\00\D7\A1\D7\A2\D7\A4\D6\BC'\00\D7\90\D6\B8\D7\A7\D7\98'\00\D7\A0\D7\90\D6\B8\D7\B0'\00\D7\93\D7\A2\D7\A6'\00\D7\99\D7\90\D6\B7\D7\A0\D7\95\D7\90\D6\B7\D7\A8\00\D7\A4\D6\BF\D7\A2\D7\91\D7\A8\D7\95\D7\90\D6\B7\D7\A8\00\D7\9E\D7\90\D6\B7\D7\A8\D7\A5\00\D7\90\D6\B7\D7\A4\D6\BC\D7\A8\D7\99\D7\9C\00\D7\90\D7\B1\D7\92\D7\A1\D7\98\00\D7\A1\D7\A2\D7\A4\D6\BC\D7\98\D7\A2\D7\9E\D7\91\D7\A2\D7\A8\00\D7\90\D6\B8\D7\A7\D7\98\D7\90\D6\B8\D7\91\D7\A2\D7\A8\00\D7\A0A\D6\B8\D7\B0\D7\A2\D7\9E\D7\91\D7\A2\D7\A8\00\E4\B8\80\00\E4\BA\8C\00\E4\B8\89\00\E5\9B\9B\00\E4\BA\94\00\E5\85\AD\00\E6\98\9F\E6\9C\9F\E6\97\A5\00\E6\98\9F\E6\9C\9F\E4\B8\80\00\E6\98\9F\E6\9C\9F\E4\BA\8C\00\E6\98\9F\E6\9C\9F\E4\B8\89\00\E6\98\9F\E6\9C\9F\E5\9B\9B\00\E6\98\9F\E6\9C\9F\E4\BA\94\00\E6\98\9F\E6\9C\9F\E5\85\AD\00\E4\B8\80\E6\9C\88\00\E4\BA\8C\E6\9C\88\00\E4\B8\89\E6\9C\88\00\E5\9B\9B\E6\9C\88\00\E4\BA\94\E6\9C\88\00\E5\85\AD\E6\9C\88\00\E4\B8\83\E6\9C\88\00\E5\85\AB\E6\9C\88\00\E4\B9\9D\E6\9C\88\00\E5\8D\81\E6\9C\88\00\E5\8D\81\E4\B8\80\E6\9C\88\00\E5\8D\81\E4\BA\8C\E6\9C\88\00\E4\B8\8A\E5\8D\88\00\E4\B8\8B\E5\8D\88\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %A %H\E6\97\B6%M\E5\88\86%S\E7\A7\92\00%H\E6\97\B6%M\E5\88\86%S\E7\A7\92\00%p %I\E6\97\B6%M\E5\88\86%S\E7\A7\92\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %A %H:%M:%S\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %A\00%I\E6\99\82%M\E5\88\86%S\E7\A7\92 %Z\00%p %I:%M:%S\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %H\E6\97\B6%M\E5\88\86%S\E7\A7\92 %Z\00%H\E6\97\B6%M\E5\88\86%S\E7\A7\92 %Z\00\E9\80\B1\E6\97\A5\00\E9\80\B1\E4\B8\80\00\E9\80\B1\E4\BA\8C\00\E9\80\B1\E4\B8\89\00\E9\80\B1\E5\9B\9B\00\E9\80\B1\E4\BA\94\00\E9\80\B1\E5\85\AD\00\E8\A5\BF\E5\85\83%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 (%A) %H\E6\99\82%M\E5\88\86%S\E7\A7\92\00\E8\A5\BF\E5\85\83%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5\00%p %I\E6\99\82%M\E5\88\86%S\E7\A7\92\00", [1804 x i8] c"\00^[yY]\00^[nN]\00[jJ].*\00[nN].*\00^[yY].*\00^[nN].*\00^[\E6].*\00^[\E4].*\00^[\D9\86].*\00^[\D9\84].*\00^[\D9\86]\00^[\D9\84]\00\D9\86\D8\B9\D9\85\00\D9\84\D8\A7\00^(\E6|\E6\D9\E5)\00^(\E4|\E4\C7)\00\E6\D9\E5\00\E4\C7\00^(\D9\86|\D9\86\D8\B9\D9\85)\00^(\D9\84|\D9\84\D8\A7)\00^[Bb].*\00^[YyNn].*\00yox\00b\C9\99li\00^[\C4\E4Yy].*\00^[\CD\EDNn].*\00^[\D0\94\D0\B4Yy].*\00^[\D0\9D\D0\BDNn].*\00^[+1\C4\E4DdYyOo].*\00^[-0\CD\EDNnKk].*\00^[+1\D0\94\D0\B4DdYyOo].*\00^[-0\D0\9D\D0\BDNnKk].*\00[yYsS\D5\A1\D4\B1].*\00[nN\D5\B8\D5\88].*\00\D5\A1\D5\B5\D5\B8\00\D5\B8\D5\B9\00^[\E0\A6\B9\E0\A7\8D\E0\A6\AF\E0\A6\BE\E0\A6\81]\00^[\E0\A6\A8\E0\A6\BE]\00\E0\A6\B9\E0\A7\8D\E0\A6\AF\E0\A6\BE\E0\A6\81\00\E0\A6\A8\E0\A6\BE\00[oOyY].*\00^[dDyY]*.\00^[nN]*.\00[sSyY].*\00^[aAyY].*\00ano\00ne\00[iItTyY].*\00ie\00na\00^[1JjYy].*\00^[0Nn].*\00^[jJyY].*\00^[\ED\CDyY].*\00^[\EF\CFnN].*\00^[\CE\BD\CE\9DyY].*\00^[\CE\BF\CE\9FnN].*\00[yY].*\00^[yYoO].*\00^[1JjsSyYoO].*\00^[0nN].*\00Yes\00No\00^[JjYy].*\00^[sSyY].*\00^[EeNn].*\00^[bBsSyY].*\00^[eEnN].*\00[yY\D8\A8f].*\00[nN\D8\AE\D9\86o].*\00^[KkJjYy].*\00^[NnEe].*\00^[Nn].*\00^[oOjJyY1].*\00^[nN0].*\00^[oOyY].*\00^[OojJsSyY].*\00^[tTyY].*\00^[Yy\EB].*\00^[Nn\EC].*\00^[Yy\D7\9B].*\00^[Nn\D7\9C].*\00^[dDyY].*\00^[IiYy].*\00[yYsS\B3\B2].*\00[nN\E1\E0].*\00\B3\DB\E1\00\E1\E3\00[tTnN].*\00^[sSjJoOyY].*\00^([yY\EF\BD\99\EF\BC\B9]|\E3\81\AF\E3\81\84|\E3\83\8F\E3\82\A4)\00^([nN\EF\BD\8E\EF\BC\AE]|\E3\81\84\E3\81\84\E3\81\88|\E3\82\A4\E3\82\A4\E3\82\A8)\00\E3\81\AF\E3\81\84\00\E3\81\84\E3\81\84\E3\81\88\00[1yYkKxX\E1].*\00[0nNaA\C0].*\00[1yYkKxX\E1\83\AE].*\00[0nNaA\E1\83\90].*\00^[JjYyAa].*\00^[yY\EC\98\88]\00^[nN\EC\95\84\EB\8B\88\EC\98\A4]\00[eE].*\00^[TtYy].*\00^[1yY\E2\C2\E4\C4aA].*\00^[0nNkK].*\00\E2e\00k\E2ore\00^[1yY\C4\81\C4\80\C3\A4\C3\84aA].*\00\C4\81e\00k\C4\81ore\00[\B4\D4DdYy1].*\00[\BD\DDNn0].*\00\D4\D0\00\DD\D5\00[\D0\94\D0\B4DdYy1].*\00[\D0\9D\D0\BDNn0].*\00\D0\B4\D0\B0\00\D0\BD\D0\B5\00^(Yes|[yY])\00^(No|[nN])\00^[tT]\00Ya\00Tidak\00[oOsS].*\00^[SsyY].*\00^[DdYy].*\00^[\E4\C4Yy].*\00^[\EE\CENn].*\00^[\B4\D4Yy].*\00^[\BD\DDNn].*\00[\E4\C4Yy].*\00[\EE\CENn].*\00[\D0\94\D0\B4Yy].*\00[\D0\9D\D0\BDNn].*\00^[Ii].*\00[aA\E1\C1yY].*\00\E1no\00nie\00[aA\C3\A1\C3\81yY].*\00\C3\A1no\00^[YyJj].*\00[dDyY1].*\00[nN0].*\00[\B4\D4Yy].*\00[\BD\DDNn].*\00^[\E0\AE\86\E0\AE\AE\E0\AF\8D]\00^[\E0\AE\87\E0\AE\B2\E0\AF\8D\E0\AE\B2\E0\AF\88]\00\E0\AE\86\E0\AE\AE\E0\AF\8D\00\E0\AE\87\E0\AE\B2\E0\AF\8D\E0\AE\B2\E0\AF\88\00^[\E0\B0\85]\00^[\E0\B0\95]\00\E0\B0\85\E0\B0\B5\E0\B0\A8\E0\B1\81\00\E0\B0\95\E0\B0\BE\E0\B0\A6\E0\B1\81\00\C4\C1\00\CE\C5\D4\00\D0\BD\D0\B5\D1\82\00^[yY\AA]\00^[nN\C1]\00\E3\AA\E8\00\E4\C1\E8\E3\AA\E8\00^[yY\E0\B8\8A]\00^[nN\E0\B8\A1]\00\E0\B9\83\E0\B8\8A\E0\B9\88\00\E0\B9\84\E0\B8\A1\E0\B9\88\E0\B9\83\E0\B8\8A\E0\B9\88\00^[eE].*\00^[hH].*\00evet\00hay\FDr\00hay\C4\B1r\00\D3\98\D0\B9\D0\B5\00\D0\AE\D0\BA\00[\F4\D4Yy].*\00[\D0\A2\D1\82Yy].*\00[yY\D9\87\D8\A8f].*\00[nN\D9\86o].*\00\D8\A8\D9\84\D9\83\D9\84\00\D9\86\D9\87\D9\8A\DA\BA\00^[YyHh].*\00^[JjNn].*\00Ha\00Yo'q\00[oOyYaAwW].*\00Oyi\00Neni\00^[Yy\E9].*\00^[Nn\F0\F7].*\00\E9\E0\C7\00\F7\D6\EF\00^[Yy\D7\99].*\00^[Nn\D7\A0\D7\A7].*\00\D7\99\D7\90\D6\B7\00\D7\A7\D7\B2\D7\9F\00^[yY\E6\98\AF]\00^[nN\E4\B8\8D\E5\90\A6]\00", [23 x %struct.__codeset_8_bit_t.202] [%struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\01\02\03\04\04\04\04\04\04\04\04\05", [16 x i8] c"\00\00\00\00\01\02\03\04\04\04\04\04\04\04\04\05", [16 x i8] c"\00\01\02\03\04\05\06\07\08\09\0A\0B\0C\0D\0E\0F", [38 x i8] c"\00\01\01\01\01\02\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\03\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06", [16 x i8] zeroinitializer, [16 x i8] c"\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10", [38 x i8] c"\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\07\08\09\0A\0B\0C\0D\0E\0F\0F\0F\0F\10\10\10\10", [16 x i8] c"\06\07\08\07\09\0A\0B\0C\0D\0D\0D\0D\0D\0D\0D\0D", [16 x i8] c"\11\12\13\14\15\16\17\18\19\1A\1B\1C\1D\1E\1F ", [38 x i8] c"\04\01\01\01\05\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\06\07\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\11\12\13\12\02\02\14\02\02\15\16\17\18\18\18\19", [16 x i8] zeroinitializer, [16 x i8] c"!\22#$%&'()*+,-./0", [38 x i8] c"\08\09\0A\01\01\0B\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\0C\0D\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\1A\1B\1C\1D\02\1E\14\1E\18\18\18\18\1F\10 \10", [16 x i8] c"\00\0E\00\0F\00\00\00\00\00\00\00\00\00\00\00\10", [16 x i8] c"123456'789:;<=>?", [38 x i8] c"\0E\0F\0A\01\01\01\01\01\01\01\01\01\01\01\01\01\10\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\11\0D\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\02\1E\14\1E\0F\0F!\22\10\10 \10", [16 x i8] c"\00\00\00\00\00\00\00\00\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\0356'7@ABCD=>?", [38 x i8] c"\12\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00#$%&\0F\0F\0F\22\10\10\10'", [16 x i8] c"\00\00\00\00\12\13\12\13\0D\0D\0D\11\0D\0D\0D\11", [16 x i8] c"\00\01\02\03EFGHIJKLMNOP", [38 x i8] c"\13\14\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\15\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\02\0C\14(\0F\0F!\22\10\10 ", [16 x i8] c"\00\00\00\00\00\0A\00\0A\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\03QRSTUVWXYZ[\\", [38 x i8] c"\16\17\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\18\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00)*+,\0F\0F\0F\22\10\10\10\10", [16 x i8] c"\00\00\00\00\14\15\16\17\0D\0D\0D\11\0D\0D\0D\18", [16 x i8] c"\00\01\02\03]^_`@AabD=cd", [38 x i8] c"\19\1A\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\1B\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00-./0\0F\0F!\22\10\10 \10", [16 x i8] c"\00\00\00\00\19\1A\1B\1C\0D\0D\11\11\0D\0D\11\1D", [16 x i8] c"\00\01\02\03efgh@ABCD=>?", [38 x i8] c"\1C\1D\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\1E\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\001234\0F\0F\0F\22\10\10\10\10", [16 x i8] c"\00\00\00\00\1E\1F !\0D\0D\0D\11\0D\0D\0D\1D", [16 x i8] c"\00\01\02\03ijklmAnop=qr", [38 x i8] c"\1F !\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\22\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\005678\0F\0F!\22\10\10 ", [16 x i8] c"\00\00\00\00\22#\22#\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\03stuvwxyz{|}~", [38 x i8] c"#$%\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\009:;<=\0F>\22?\10@ ", [16 x i8] c"\00\00\00\00$%$&'\0D(\11'\0D(\11", [16 x i8] c"\00\01\02\03\7F\80\81\82\83A\84\85\86=\87\88", [38 x i8] c"&'(\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00AB7C\0F\0F!\22\10\10 ", [16 x i8] c"\00\00\00\00\22)\22*\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\03\89\8A\8B\8CI\8D\8E\8FM\90\91\92", [38 x i8] c")*+\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00D$\0F\0F\0F\0F\10\10\10\10E&", [16 x i8] c"\00\00\00\00+,\0D\0D\0D\0D\0D\0D\0D\0D+,", [16 x i8] c"\00\01\02\03\93\94\19\1A\1B\1C\1D\1E\1F \95\96", [38 x i8] c",\01\01\01-\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01.\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00FG\06HI\18\18J\18KL\06", [16 x i8] zeroinitializer, [16 x i8] c"\00\01\02\03\97\98\10\99\9A\9B\9C\9D\9E\9F\A0\10", [38 x i8] c"/\01\01\01\01\010\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00MN-OP\0FQRS\10\10T", [16 x i8] c"\00\00\00\00\00\00-./\0D01/\0D23", [16 x i8] c"\00\01\02\03\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC", [38 x i8] c"1\01\012\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\013\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00U\02\14V\06\06\06W\18\18\18\19", [16 x i8] zeroinitializer, [16 x i8] c"\00\01\02\03\AD&'\AE\10\10\10\AF-./0", [38 x i8] c"4\01\01\01\015\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\016\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\02\1E\14\1E\0F\0F!\22\10\10 \10", [16 x i8] c"\00\00\00\00\00\00\00\00\0D\0D\114\0D\0D\115", [16 x i8] c"\00\01\02\0356'7@A\B0\B1D=\B2\B3", [38 x i8] c"78\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\02\02\02\02X\02Y\02\10\10\10\10\0F\0F\0F\0F", [16 x i8] c"\00\00\00\006\006\0077777777", [16 x i8] c"\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\BF\C0\C1\C2\C3", [38 x i8] c"9\01\01\01:\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01;<\01=" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"Z[\\]^_`a\10\10\10\10\0F\0F\0F\0F", [16 x i8] c"89:\00;\00<\0077777777", [16 x i8] c"\C4\C5\C6\C7\C8\C9\CA\CB\BC\BD\BE\BF\C0\C1\C2\C3", [38 x i8] c">\01\01\01?\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\11\07\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\02\02\02\02b\14cd\10\10\10\10\0F\0F\0F\0F", [16 x i8] c"\00\00\00\00=>=>77777777", [16 x i8] c"\B4\B5\B6\B7\CC\CD\CE\CF\BC\BD\BE\BF\C0\C1\C2\C3", [38 x i8] c"9\01\01\01@\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01;<\01A" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\06\06\06\06I\18\18\18\18e\18fge\18h", [16 x i8] zeroinitializer, [16 x i8] c"\10\10\10\10\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB", [38 x i8] c"\01\01\01\01\01\01\01\01\01\01\01\01\01\01B\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }], [20 x i8] c"\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\01\01\01\01\01", [10 x i16] [i16 0, i16 2, i16 4, i16 6, i16 8, i16 10, i16 12, i16 14, i16 16, i16 18], [20 x i16] [i16 1, i16 21, i16 3, i16 24, i16 5, i16 27, i16 7, i16 30, i16 9, i16 33, i16 11, i16 36, i16 13, i16 39, i16 15, i16 42, i16 17, i16 45, i16 19, i16 48], [45 x i8] c"\00\00\00\01\01\01\00\02\01\00\02\02\01\00\01\01\00\00\01\03\01\01\04\01\00\05\01\01\01\00\02\06\01\01\05\00\01\07\01\01\05\01\00\02\03", [3 x i16] [i16 0, i16 3, i16 11], [15 x i16] [i16 1, i16 3, i16 17, i16 0, i16 1, i16 3, i16 10, i16 12, i16 15, i16 20, i16 23, i16 0, i16 5, i16 7, i16 25], [3894 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\03\03\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\03\03\04\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\04\04\05\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\05\04\06\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\06\05\07\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\07\05\08\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\08\06\09\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\09\06\0A\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0A\07\0B\02\02\02\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\0B\08\0C\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0C\08\0D\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0D\09\0E\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0E\09\0F\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0F\0A\10\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\10\0A\11\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\11\0B\12\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\12\0B\13\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\13\0C\14\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\14\0C\15\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\15\0D\16\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\16\0D\17\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\17\0E\18\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\18\0E\19\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\19\0F\1A\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1A\0F\1B\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1B\10\1C\02\00\00\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01\1C\10\1D\02\00\00\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01\1D\11\1E\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1E\11\1F\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1F\12 \02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02 \12!\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02!\13\22\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\22\13#\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02#\14$\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02$\14%\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02%\15&\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01&\16'\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01'\16(\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01(\17)\01\04\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01)\17*\01\05\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01*\00+\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01+\07,\02\02\03\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01,\18-\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01-\18.\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01.\19/\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01/\18-\01\01\03\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\01\03\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\011\180\01\01\03\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\012\1A1\01\04\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\013\1A2\01\05\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\014\1B3\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\015\1B4\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\016\1C5\01\01\01\00\01\01\01\01\03\01\03\02\03\01\03\01\03\02\037\18-\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\011\180\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\012\18-\01\01\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\030\18.\01\01\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\031\180\01\01\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\032\1D6\02\03\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\038\18-\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01-\18.\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01.\180\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\019\18-\01\01\01\00\01\04\04\02\01\01\01\01\01\02\01\01\01\01\01-\18.\01\01\01\00\01\04\04\02\01\01\01\01\01\02\01\01\01\01\01.\1E\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\1F7\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01: \02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\1C0\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\012\1C8\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01;!9\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04<\18-\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\010\18.\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\011\180\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\012\22\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02#:\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04=$\02\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04\02%\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\01\01\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01&;\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01>\18<\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01?'\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02(=\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01@)\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02*\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02+>\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01A,\02\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02-\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02\18-\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\011\180\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\012.?\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01B/@\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01C0\02\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\021A\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01D2B\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01E3C\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01F%\02\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\024D\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01G5E\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01H5F\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01I6G\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01J7H\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01K85\01\04\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01785\01\05\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\017\18-\01\01\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\01\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\011\180\01\01\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\0129I\03\06\01\00\01\03\03\02\02\02\02\01\01\02\02\02\02\01\01L\18-\01\01\01\00\01\01\01\02\03\02\03\01\01\02\03\02\03\01\01-\18.\01\01\01\00\01\01\01\02\03\02\03\01\01\02\03\02\03\01\01.\180\01\01\01\00\01\01\01\02\03\02\03\01\01\02\03\02\03\01\019 \02\01\03\01\00\01\01\01\02\02\02\02\01\04\02\02\02\02\01\04M\180\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\019:J\02\02\01\00\01\01\01\01\02\01\02\03\02\01\02\01\02\03\02N:K\02\02\01\00\01\01\01\01\02\01\02\03\02\01\02\01\02\03\02O\07L\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01P;M\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01QQ\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01U?5\01\01\01\00\01\03\03\02\02\02\02\01\01\02\02\02\02\01\01V@R\02\02\01\00\01\03\03\01\01\01\01\01\03\01\01\01\01\01\03WAS\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01XAT\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01YBU\02\02\01\00\01\03\03\01\01\01\01\01\03\01\01\01\01\01\03ZCV\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01[DW\01\04\01\00\01\01\01\01\02\01\02\04\05\01\02\01\02\04\05\\DW\01\05\01\00\01\01\01\01\02\01\02\04\05\01\02\01\02\04\05\\EX\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01]EY\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01^\07Z\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01_F[\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04`G\\\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04a\18-\01\03\01\00\01\01\01\01\02\01\02\01\02\01\02\01\02\01\020\18.\01\03\01\00\01\01\01\01\02\01\02\01\02\01\02\01\02\01\021\180\01\03\01\00\01\01\01\01\02\01\02\01\02\01\02\01\02\01\022H5\01\04\01\00\01\01\01\01\02\01\01\01\05\01\02\01\01\01\057H5\01\05\01\00\01\01\01\01\02\01\01\01\05\01\02\01\01\01\057H5\01\01\01\00\01\01\01\01\01\01\01\02\03\01\01\01\01\02\037I]\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01bI^\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01cJ_\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01d\18-\04\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01-\18.\04\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01.\180\04\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\019K`\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01eLa\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01fLb\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01gL(\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01(Mc\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01hMd\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01iHe\01\01\01\00\01\01\01\01\01\01\01\02\03\01\01\01\01\02\03jNf\01\04\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01kNf\01\05\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01kOg\01\03\01\00\01\01\01\02\03\02\03\03\02\02\03\02\03\03\02lPh\01\01\01\00\01\02\02\01\01\01\01\01\01\01\01\01\01\01\01mQi\01\03\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\01nQj\01\03\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\01oQk\01\03\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\01pR5\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01V\07L\02\02\03\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01PSl\02\02\01\00\01\01\01\01\03\01\03\02\03\01\03\01\03\02\03qSm\02\02\01\00\01\01\01\01\03\01\03\02\03\01\03\01\03\02\03rT\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02#n\02\02\01\00\01\01\01\01\01\01\02\01\01\01\01\01\02\01\01sUo\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01tVp\02\02\01\00\01\01\01\01\02\01\01\03\01\01\02\01\01\03\01uWq\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01vXr\01\01\01\00\01\01\01\02\01\01\01\01\01\02\01\01\01\01\01w%\02\02\02\01\00\01\01\01\01\02\01\02\03\02\01\02\01\02\03\02\02YR\02\02\01\00\01\01\01\01\01\01\01\02\03\01\01\01\01\01\01WZs\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01x", [22 x i16] [i16 0, i16 91, i16 207, i16 212, i16 219, i16 223, i16 224, i16 226, i16 231, i16 236, i16 239, i16 243, i16 246, i16 250, i16 255, i16 261, i16 264, i16 268, i16 271, i16 275, i16 280, i16 286], [407 x i16] [i16 0, i16 5, i16 25, i16 35, i16 66, i16 97, i16 128, i16 159, i16 176, i16 207, i16 238, i16 269, i16 300, i16 331, i16 362, i16 393, i16 424, i16 459, i16 490, i16 521, i16 552, i16 583, i16 601, i16 630, i16 697, i16 720, i16 747, i16 768, i16 785, i16 799, i16 816, i16 821, i16 833, i16 845, i16 859, i16 864, i16 878, i16 883, i16 888, i16 906, i16 911, i16 923, i16 928, i16 933, i16 943, i16 948, i16 953, i16 963, i16 975, i16 980, i16 992, i16 1004, i16 1016, i16 1030, i16 1047, i16 1059, i16 1073, i16 1078, i16 1111, i16 1149, i16 1161, i16 1173, i16 1190, i16 1202, i16 1211, i16 1225, i16 1244, i16 1258, i16 1270, i16 1282, i16 1326, i16 1338, i16 1350, i16 1355, i16 1376, i16 1388, i16 1402, i16 1425, i16 1457, i16 1469, i16 1483, i16 1497, i16 1535, i16 1540, i16 1559, i16 1573, i16 1585, i16 1597, i16 1613, i16 1627, i16 1632, i16 0, i16 10, i16 30, i16 40, i16 51, i16 71, i16 82, i16 102, i16 113, i16 133, i16 144, i16 164, i16 181, i16 192, i16 212, i16 223, i16 243, i16 254, i16 274, i16 285, i16 305, i16 316, i16 336, i16 347, i16 367, i16 378, i16 398, i16 409, i16 429, i16 440, i16 464, i16 475, i16 495, i16 506, i16 526, i16 537, i16 557, i16 568, i16 588, i16 606, i16 615, i16 635, i16 644, i16 658, i16 667, i16 702, i16 711, i16 725, i16 742, i16 752, i16 759, i16 773, i16 778, i16 790, i16 804, i16 826, i16 838, i16 850, i16 869, i16 893, i16 697, i16 916, i16 938, i16 958, i16 968, i16 985, i16 997, i16 1009, i16 1021, i16 1035, i16 1040, i16 1052, i16 1064, i16 1083, i16 1116, i16 1123, i16 1134, i16 1154, i16 1166, i16 1178, i16 1183, i16 1195, i16 1216, i16 1230, i16 1235, i16 1249, i16 1263, i16 1275, i16 1287, i16 1296, i16 1311, i16 1331, i16 1343, i16 1360, i16 1367, i16 1381, i16 1393, i16 1407, i16 1416, i16 1430, i16 1437, i16 1448, i16 1462, i16 1474, i16 1488, i16 1502, i16 1511, i16 1520, i16 1545, i16 1550, i16 1564, i16 1578, i16 1590, i16 1602, i16 1618, i16 1637, i16 0, i16 12, i16 14, i16 1092, i16 30, i16 0, i16 14, i16 12, i16 593, i16 638, i16 649, i16 1095, i16 0, i16 16, i16 168, i16 680, i16 0, i16 0, i16 3, i16 1, i16 18, i16 16, i16 0, i16 793, i16 1, i16 18, i16 16, i16 0, i16 793, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 793, i16 18, i16 16, i16 1, i16 20, i16 18, i16 793, i16 0, i16 16, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 793, i16 18, i16 16, i16 1, i16 20, i16 18, i16 793, i16 0, i16 16, i16 3, i16 22, i16 32, i16 45, i16 58, i16 76, i16 89, i16 107, i16 120, i16 138, i16 151, i16 171, i16 186, i16 199, i16 217, i16 230, i16 248, i16 261, i16 279, i16 292, i16 310, i16 323, i16 341, i16 354, i16 372, i16 385, i16 403, i16 416, i16 434, i16 449, i16 469, i16 482, i16 500, i16 513, i16 531, i16 544, i16 562, i16 575, i16 595, i16 610, i16 622, i16 640, i16 652, i16 662, i16 683, i16 706, i16 715, i16 728, i16 732, i16 737, i16 744, i16 755, i16 763, i16 775, i16 781, i16 795, i16 808, i16 813, i16 829, i16 841, i16 854, i16 873, i16 896, i16 900, i16 919, i16 940, i16 960, i16 971, i16 988, i16 1000, i16 1012, i16 1025, i16 1037, i16 1043, i16 1055, i16 1068, i16 1098, i16 1108, i16 1119, i16 1128, i16 1141, i16 1157, i16 1169, i16 1180, i16 1186, i16 1198, i16 1207, i16 1220, i16 1232, i16 1239, i16 1253, i16 1266, i16 1278, i16 1291, i16 1303, i16 1318, i16 1334, i16 1346, i16 1363, i16 1371, i16 1384, i16 1397, i16 1411, i16 1420, i16 1433, i16 1442, i16 1452, i16 1465, i16 1478, i16 1492, i16 1506, i16 1515, i16 1527, i16 1547, i16 1554, i16 1568, i16 1581, i16 1593, i16 1607, i16 1622, i16 1641], [8250 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\00\00\00\00\01\00\00\00\00\01\00\01\01\01\01\00\01\01\01\01\00\01\00\01\01\01\01\01\01\01\00\00\00\00\00\00\02\02\02\02\02\02\02\02\02\02\02\02\02\02\01\01\01\01\02\01\01\01\01\02\01\02\02\02\02\01\02\02\02\02\01\02\01\02\02\02\02\02\02\00\00\00\00\00\00\00\03\03\03\03\03\03\03\03\03\03\03\03\03\03\02\02\02\02\03\02\02\02\02\03\02\03\03\03\03\02\03\03\03\03\02\03\02\03\03\03\03\03\03\02\00\00\00\00\00\00\04\04\04\04\04\04\04\04\04\04\04\04\04\04\03\03\03\03\04\03\03\03\03\04\03\04\04\04\04\03\04\04\04\04\03\04\03\04\04\04\03\03\03\02\00\00\00\00\00\00\03\03\03\03\03\03\03\03\03\03\03\03\03\05\02\02\02\02\03\02\02\02\02\03\02\03\03\03\03\02\03\03\03\03\02\03\02\03\03\03\03\03\03\02\00\00\00\00\00\00\04\04\04\04\04\04\04\04\04\04\04\04\04\06\03\03\03\03\04\03\03\03\03\04\03\04\04\04\04\03\04\04\04\04\03\04\03\04\04\04\03\03\03\02\00\00\00\00\00\00\04\04\04\04\04\04\04\04\04\04\04\04\04\06\03\03\03\03\04\03\03\03\03\04\03\04\04\04\04\03\04\04\04\04\03\04\03\04\04\04\04\04\04\03\00\00\00\00\00\00\05\05\05\05\05\05\05\03\03\03\03\03\03\05\04\04\04\04\05\04\04\04\04\05\04\05\05\05\05\04\05\05\05\05\04\05\04\05\03\03\03\03\03\02\00\00\00\00\00\00\06\06\06\06\06\06\06\04\04\04\04\04\04\06\05\05\05\05\06\05\05\05\05\06\05\06\06\06\06\05\06\06\06\06\05\06\05\06\04\04\03\03\03\02\00\00\00\00\00\00\00\00\00\00\00\00\00\03\05\03\03\03\05\05\00\00\00\00\00\00\00\00\00\00\00\00\05\05\05\06\07\05\07\05\04\05\04\05\05\05\05\05\05\04\00\00\00\00\00\00\00\00\00\00\00\00\00\04\06\04\04\04\06\06\00\00\00\00\00\00\00\00\00\00\00\00\06\06\06\07\08\06\08\06\05\06\05\06\05\05\05\05\05\04\00\00\00\00\00\00\05\05\05\05\05\05\05\03\03\03\03\03\03\05\04\04\04\04\05\04\04\04\04\05\04\05\05\05\05\04\09\07\05\05\04\05\04\05\03\03\03\03\03\02\00\00\00\00\00\00\06\06\06\06\06\06\06\04\04\04\04\04\04\06\05\05\05\05\06\05\05\05\05\06\05\06\06\06\06\05\0A\08\06\06\05\06\05\06\04\04\03\03\03\02\00\00\00\00\00\00\07\07\07\07\07\07\07\05\07\05\05\05\07\07\06\06\00\00\00\06\06\06\06\01\06\07\07\07\07\08\0B\09\09\07\06\07\06\07\05\05\06\06\01\01\00\00\00\00\00\00\07\07\07\08\08\08\07\06\08\06\06\06\08\08\06\06\00\00\00\07\07\06\06\01\06\07\07\07\07\08\0B\09\09\07\06\07\06\07\05\05\06\06\01\01\00\00\00\00\00\00\08\08\08\09\09\09\08\07\09\07\07\07\09\09\07\07\06\06\07\08\08\07\07\07\07\08\08\08\08\09\0C\0A\0A\08\07\08\07\08\05\05\07\06\01\01\00\00\00\00\00\00\09\09\09\0A\0A\0A\09\08\0A\08\08\08\0A\0A\08\08\07\07\08\09\09\08\08\08\08\09\09\09\09\0A\0D\0B\0B\09\08\09\08\09\05\05\07\06\01\01\00\00\00\00\00\00\0A\0A\0A\0B\0B\0B\0A\09\0B\09\09\09\0B\0B\09\09\08\08\09\0A\0A\09\09\09\09\0A\0A\0A\0A\0B\0E\0C\0C\0A\09\0A\09\0A\05\05\08\07\06\05\00\00\00\00\00\00\0B\0B\0B\0C\0C\0C\0B\0A\0C\0A\0A\0A\0C\0C\0A\0A\09\09\0A\0B\0B\0A\0A\0A\0A\0B\0B\0B\0B\0C\0F\0D\0D\0B\0A\0B\0A\0B\05\05\08\07\06\05\00\00\00\00\00\00\0C\0C\0C\0D\0D\0D\0C\0B\0D\0B\0B\0B\0D\0D\0B\0B\0A\0A\0B\0C\0C\0B\0B\0B\0B\0C\0C\0C\0C\0D\10\0E\0E\0C\0B\0C\0B\0C\06\06\09\08\04\03\00\00\00\00\00\00\0C\0C\0C\0D\0D\0D\0C\0B\0D\0B\0B\0B\0D\0D\0C\0C\0B\0B\0B\0C\0D\0C\0C\0B\0B\0C\0C\0C\0C\0D\10\0E\0E\0C\0C\0D\0C\0D\07\07\09\08\04\03\00\00\00\00\00\00\0D\0D\0D\0E\0E\0E\0D\0C\0E\0C\0C\0C\0E\0E\0D\0D\0C\0C\0C\0D\0E\0D\0D\0C\0C\0D\0D\0D\0D\0E\11\0F\0F\0D\0D\0E\0D\0E\08\08\0A\06\01\06\00\00\00\00\00\00\0E\0E\0E\0F\0F\0F\0E\0D\0F\0D\0D\0D\0F\0F\00\00\00\00\0D\00\00\00\00\01\00\00\0E\0E\0E\00\12\10\10\00\0E\0F\0E\0F\05\05\07\06\01\01\00\00\00\00\00\00\0E\0E\0E\0F\10\0F\0E\0D\0F\0D\0D\0E\0F\0F\00\00\00\00\0D\00\00\00\00\01\00\00\0E\0E\0E\00\12\10\10\00\0E\0F\0E\0F\05\05\07\06\01\01\00\00\00\00\00\00\0F\0F\0F\10\11\10\0F\0E\10\0E\0E\0F\10\10\0E\0E\0D\0D\0E\0E\0F\0E\0E\0D\0D\0E\0F\0F\0F\0F\13\11\11\0E\0F\10\0F\10\05\05\01\01\01\01\00\00\00\00\00\00\0F\0F\0F\10\11\10\0F\0E\10\0E\0E\0F\10\10\0E\0E\0D\0D\0E\0E\0F\0E\0E\0D\0D\0E\0F\0F\10\0F\13\11\11\0E\0F\10\0F\10\05\05\01\01\01\01\00\00\00\00\00\00\10\10\10\11\12\11\10\0F\11\0F\0F\10\11\11\0F\0F\0E\0E\0F\0F\10\0F\0F\0E\0E\0F\10\10\11\10\14\12\12\0F\10\11\10\11\05\05\0B\06\00\07\00\00\00\00\00\00\10\10\11\11\13\12\10\10\12\10\10\11\12\11\0F\10\0F\0E\10\10\11\0F\10\0F\0E\0F\10\11\12\10\15\13\13\0F\11\12\10\11\05\05\0C\06\00\07\00\00\00\00\00\00\11\11\12\12\14\13\11\11\13\11\11\12\13\12\10\11\10\0F\11\11\12\10\11\10\0F\10\11\12\13\11\16\14\14\10\12\13\11\12\05\05\0D\09\01\01\00\00\00\00\00\00\12\12\13\13\15\14\12\12\14\12\12\13\14\13\11\0E\0D\10\12\0E\0F\11\12\11\0D\11\12\13\14\12\17\15\15\11\13\14\12\13\05\05\01\0A\01\01\00\00\00\00\00\00\13\12\13\13\15\14\13\13\14\12\12\13\14\14\11\0E\0D\10\12\0E\0F\11\12\11\0D\11\12\13\14\12\17\15\15\11\13\14\12\13\05\05\01\0A\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\12\00\11\00\11\00\00\00\00\01\00\12\13\14\15\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\13\00\12\00\11\00\00\00\00\01\00\12\14\14\16\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\11\00\11\00\00\00\00\01\00\12\0E\0E\15\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\12\00\11\00\00\00\00\01\00\12\0E\0E\16\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\11\00\11\00\00\00\00\01\00\12\0E\0E\15\00\16\10\10\00\00\01\00\14\05\05\01\06\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\12\00\11\00\00\00\00\01\00\12\0E\0E\16\00\16\10\10\00\00\01\00\14\05\05\01\06\01\01\00\00\00\00\00\00\15\13\15\15\17\16\15\15\16\14\14\15\16\16\14\12\13\11\13\12\13\12\13\12\10\13\15\15\17\13\18\16\16\12\14\15\13\15\05\05\01\02\01\01\00\00\00\00\00\00\16\14\16\16\18\17\16\16\17\15\15\16\17\17\15\13\14\12\14\13\14\13\14\13\11\14\16\16\18\14\19\17\17\13\15\16\14\16\05\05\01\02\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\05\01\01\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\01\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\05\0F\0B\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\10\0C\07\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\04\04\04\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\11\0D\04\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\12\0E\04\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\0F\02\00\00\00\00\00\00\00\17\0D\17\0E\19\18\17\17\18\16\16\17\18\18\00\00\00\00\0D\00\00\14\00\01\00\00\17\17\19\15\1A\18\18\14\16\17\15\17\05\05\13\0B\01\01\00\00\00\00\00\00\18\0D\17\17\1A\19\18\18\19\17\17\18\19\19\16\0E\0D\0D\15\0E\0F\0E\12\0D\0D\15\18\18\1A\0F\1B\19\19\15\17\10\16\18\05\05\01\01\01\01\00\00\00\00\00\00\18\0D\17\18\1A\19\19\18\19\17\18\18\19\1A\16\0E\0D\0D\15\0E\0F\0E\12\0D\0D\15\18\18\1A\0F\1B\19\19\15\17\10\16\18\05\05\01\01\01\01\00\00\00\00\00\00\19\15\18\19\1B\1A\1A\19\1A\18\19\19\1A\1B\17\14\15\13\16\14\15\15\15\14\12\16\19\19\1B\16\1C\1A\1A\11\13\18\12\19\05\05\01\06\01\01\00\00\00\00\00\00\19\15\18\19\1B\1A\1A\1A\1B\19\1A\1A\1A\1C\17\14\16\13\16\14\15\15\15\14\12\16\19\19\1C\16\1C\1A\1A\11\13\18\12\19\05\05\01\06\01\01\00\00\00\00\00\00\1A\16\19\1A\1C\1B\1B\1B\1C\1A\1B\1B\1B\1D\18\15\0D\14\0E\15\16\16\16\15\13\17\1A\1A\1D\17\1D\1B\1B\16\18\19\17\1A\05\05\14\10\01\01\00\00\00\00\00\00\1B\17\1A\1B\1D\1C\1C\1C\1D\1B\1C\1C\1C\1E\19\16\03\15\17\16\17\17\17\16\14\18\1B\1B\04\18\1E\1C\1C\17\19\1A\18\1B\09\09\15\11\00\09\00\00\00\00\00\00\1C\18\1B\1C\1E\1D\1D\1D\1E\1C\1D\1D\1D\1F\1A\17\17\16\18\17\18\18\18\17\15\19\1C\1C\1E\19\1F\1D\1D\18\1A\1B\19\1C\05\05\16\06\01\01\00\00\00\00\00\00\1C\18\1B\1C\1E\1D\1D\1D\1E\1C\1D\1D\1D\1F\1B\18\17\17\19\18\19\19\19\18\15\1A\1C\1C\1E\19\1F\1E\1E\18\1A\1B\19\1C\05\05\16\06\01\01\00\00\00\00\00\00\1D\19\1C\1D\1F\1E\1E\1E\1F\1D\1E\1E\1E \11\0E\0D\10\0E\0E\0F\11\12\11\0D\0E\12\13\1F\1A\1C\15\15\11\13\14\12\1D\05\05\01\12\01\01\00\00\00\00\00\00\1D\1A\1D\1D \1F\1E\1E \1E\1E\1F\1F \11\0E\0D\10\0E\0E\0F\11\12\11\0D\0E\12\13\1F\1B\1C\15\15\11\13\14\12\1D\05\05\01\12\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\01\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\01\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\0B\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\0B\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\13\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\13\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\06\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\06\01\01\00\00\00\00\00\00\1E\1B\1E\1E\22 \22 !!\22\1C\1B\18\19\1A\19\1B\1C\1A\19\16\1D\1E\1F \1D \1B\1C\1D\1A \05\05\01\09\01\01\00\00\00\00\00\00\1E\1B\1F\1F# !#!!\22\22#\1C\1B\19\19\1A\19\1C\1D\1B\1A\16\1D\1F\1F!\1E! !\1C\1D\1E\1B!\05\05\01\09\01\01\00\00\00\00\00\00\1F\1C $!!\22$\22\22##$\1D\1C\1A\1A\1B\1A\1D\1E\1C\1B\17\1E \22\1F\22!\22\1D\1E\1F\1C\22\05\05\01\01\01\01\00\00\00\00\00\00\1F\1C $!!#$#\22##$\1D\1C\1B\1A\1C\1A\1D\1F\1C\1B\17\1F #\1F#\22\22\1E\1E\1F\1C#\05\05\01\01\01\01\00\00\00\00\00\00 \1D!!%\22\22$%$#$$%\1E\00\00\1B\11\1B\1E \1D\1C\00\00!!$ $##\1F\1F \15\17\05\05\01\01\01\01\00\00\00\00\00\00 \1D!\22%\22#$%$$$$&\1E\00\00\1B\11\1C\1E \1D\1C\00\00!!$ $$#\1F\1F \15\17\05\05\01\01\01\01\00\00\00\00\00\00!\1E\22#&#$%&%%%%'\1F\1D\1C\1C\1D\1D\1F!\1E\1D\18 \22\22%!%%$ !\1D$\05\05\01\01\01\01\00\00\00\00\00\00\22\1F#$'$%&'&&&&( \1E\1D\1D\1E\1E \22\1F\1E\19!##&\22&&%!!\22\1E%\00\00\17\01\00\0A\00\00\00\00\00\00# $%(%&'('''')!\1F\1E\1E\1F\1F!# \1F\1A\22$$'#''&\22\22#\1F&\00\00\17\01\00\0A\00\00\00\00\00\00$!%&)&'()((((*\22 \1F\1F \22$! \1B#%%($(('##$ '\0A\0A\09\08\04\03\00\00\00\00\00\00\0E\0E\0E\0F\0F\0F\0E\0D\0F\0D\0D\0D\0F\0F#! !!#%\22!\1C$&&)%))($$%!(\05\05\07\06\01\01\00\00\00\00\00\00\0E\0E\0E\0F\10\0F\0E\0D\0F\0D\0D\0E\0F\0F#!! !!#%\22!\1C$''*%))($$%!(\05\05\07\06\01\01\00\00\00\00\00\00%\22&'*'()*))))+\11\0E\22!\22\22$\11#\11\0D\11((+&**)%%&\12\13\05\05\18\0B\08\0B\00\00\00\00\00\00%\22&'*'(*+))**+\11\0E#\22##%\11#\11\0D\11)),'++*%%'\12\13\05\05\18\0B\08\0B\00\00\00\00\00\00&#'(+()+,**++,$\22$#$$&&$\22\1D%**-(,,+&&(\22)\05\05\0E\00\02\01\00\00\00\00\00\00'$(),)*,-++,,-%#%$%%''%#\1E&++.)--,'')#*\05\05\0E\00\02\01\00\00\00\00\00\00(%)*-*+-.,,--.\00$\00\00\01\00\00(\00\01\00\01,,/\00\01\10\10(\00\01\00\01\05\05\0E\01\01\01\00\00\00\00\00\00\00&*+.+,./--../\00\00\00\00&&()\00\01\1F\01--0*..-)\00*$\01\0B\0B\19\14\01\01\00\00\00\00\00\00\00'+,.,,.0...//\00\00\00\00'')*\00\01 \01..0+//.*\00+%\01\0B\0B\19\14\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/1///0\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\13\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/20001\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\13\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/1///0\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\02\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/20001\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\02\01\01\00\00\00\00\00\00)(,-0--0311120&%&%))++&%!'001-110+)-&,\0C\0C\1A\15\09\0C\01\00\01\01\01\00*)-.1..1422231'&'&**,,'&\22(112.221,*.'-\05\05\1B\0F\01\01\00\00\00\00\00\00+*./2//2533342('('++--('#)223/332-+/(.\05\05\1C\0F\01\01\00\00\00\00\00\00,+\1703003644453\11\0E\0D\10\12\0E\0F\11\12\11\0D\1133404\15\15.,0)/\05\05\01\16\01\01\00\00\00\00\00\00-,/14114755564)()(,,..)($*4451543/-1*0\0D\0D\1D\17\0A\0D\00\00\00\00\00\00\11\1D025\13\115866675*)*\0F--\12/*)%+55626540.2+1\05\05\01\01\01\01\00\00\00\00\00\00.-136226977786+*+)../0+*&,66737651/3,2\05\05\1E\18\01\01\00\00\00\00\00\00.-136236978787+*+)../0+*&,6674875203-3\05\05\1E\18\01\01\00\00\00\00\00\00/.247347:89898\11\0E\0D\10\0E/0\11\12\11\0D\1177\145986314.4\05\05\1F\19\01\01\00\00\00\00\00\00//358358:8:898\11\0E\0D\10\0E01\11\12\11\0D\1188\146997314.4\05\05\1F\19\01\01\00\00\00\00\00\000\01469469;9;9:9,+,*/121,+'-9987::8425/5\05\05 \01\01\01\00\00\00\00\00\000\0156:47:;:;:::,+,*/131,+'-:998::952605\05\05 \01\01\01\00\00\00\00\00\001067;58;<;<;;;-,-+0242-,(.;::9;;:63716\05\05!\06\01\01\00\00\00\00\00\002178<69<\0C\0A=<<<.\0A\09\09135\0A\0A\0A\0A\0B<\0B\0B\0C<<;\0B\0A\0B\0A\0B\05\05!\06\01\01\00\00\00\00\00\003289=7:==<>===/-\1F,2 63.-)/=;(:=(<74827\0E\0E\09\08\04\03\00\00\00\00\00\0043)*>*+>>,,>>.\00\00.\00\01\00\004\00\01\000,<;\00\01==8\00\01\008\05\05\09\08\04\03\00\00\00\00\00\00549:?8;??=???>\00.\00\003475\1D.\001>=<\00>>>95939\05\05\22\1A\04\03\00\00\00\00\00\00649:@9;@?=@@@>\00.\00\003575\1D.\002>=<\00>?>9593:\05\05\22\1A\04\03\00\00\00\00\00\007\18:;A:AAA?\11\0E/\104\0E\0F\11\12\11\0D\1133=\12?\15\15:\13\14\12\13\05\05\01\1B\01\01\00\00\00\00\00\0085;\0F;\1C@?;\0F\1C\0F;\05\05\01\06\01\01\00\00\00\00\00\00\17\0D\17=D\18\17CC@\0ED\10A\0E\0E\0D\0D\0E\0E\0F7\0E\0D\0D\11@?\10;\1C@?<\0F\1C\0F;\05\05\01\06\01\01\00\00\00\00\00\0097<>E<>DDACECB0/\0D-\12688//\0E3A@><\17A@=6:\10<\05\05\01\0B\01\01\00\00\00\00\00\0097DEADEDB0/\0D-\12688/0\0E3B@>=\17A@>7;\10=\05\05\01\0B\01\01\00\00\00\00\00\00 8=@F>\22\18FBEFE\19\00\06\00\1B\11\00\00 \1D\1C\00\12CA?\0F@BA\158<4>\05\05\01\0A\01\01\00\00\00\00\00\00 8=@F>#\18FCEFE\1A\00\06\00\1B\11\00\00 \1D\1C\00\12CA@\0F@BA\158<4>\05\05\01\0A\01\01\00\00\00\00\00\00 8=@F>\22$GDFGF%\00\06\00\1B\11\00\00 \1D\1C\00\12DBA $CB\1F\1F \15?\05\05\01\0A\01\01\00\00\00\00\00\00 8=@F>#$GEFGF&\00\06\00\1B\11\00\00 \1D\1C\00\12DBB $CB\1F\1F \15?\05\05\01\0A\01\01\00\00\00\00\00\00:9>AG??EHFGHGC1\0E\0D\10\0E79\11\12\0D\0D\11E\01C>\16DC\009=5@\05\05\01\0B\01\01\00\00\00\00\00\00:9>AG?@FHGGHGD1\0E\0D\10\0E79\11\12\0D\0D\11E\01C>\16DC\009=5@\05\05\01\0B\01\01\00\00\00\00\00\00;:?BH@AGIHHIHE200.58:901*4FCD?AED?:>6A\05\05\07\06\01\01\00\00\00\00\00\00<;@CIABHJIIJIF311/69;:12+5GDE@BFE@;?7B\05\05\07\06\01\01\00\00\00\00\00\00=B:E\05\05\07\06\01\01\00\00\00\00\00\00>=DDKCEJLKKLKH53318;=<34-7KHIDFJID?C;F\05\05%\0B\01\01\00\00\00\00\00\00\10\10E\11LD\10KMLLML\11\11\0E\0D\10\22\22$\11\12\11\0D\11((J\1AGKJ\11\13&\12\13\05\05\0B\06\00\07\00\00\00\00\00\00\10\10E\11MD\10LMLLNL\11\11\0E\0D\10##%\11\12\11\0D\11))J\1BHLK\11\13'\12\13\05\05\0C\06\00\07\00\00\00\00\00\00?7FENE>MNMMOMB\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13J\12\17MLE\13\14\12\13\05\05\01\06\01\01\00\00\00\00\00\00?7FEOE>MNMMPMB\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13J\12\17MLE\13\14\12\13\05\05\01\06\01\01\00\00\00\00\00\00@>GFPFFNONNQNI\004\002\0D<>>45.8LI\1FE\17NMF@D>45/8LI\1FE\17NMF@D=G\0F\0F&\1D\0C\0E\00\00\00\00\00\00?7HENEGMQPMROK\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13\07\12\17\15\15EAE>H\05\05\01\1E\01\01\00\00\00\00\00\00?7HEOEGMQPMSOK\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13\07\12\17\15\15EAE>H\05\05\01\1E\01\01\00\00\00\00\00\0010I7;5HORQ@@673RONILTSKGKDN\00\00)\1F\00\00\03\00\02\00\03\02GFP\02UKPWZX\02ZVT:;87=ACC9:6?SPOJMUTLHLEO\12\12*\02\02\00\00\00\00\00\00\00GFP\02UKPWZX\02ZVT\01\01\01\01\02\01\01\01\01\02\01\02\02\02\02\01\02\02\02\02\01\02\01\02\12\12*\02\02\00\00\00\00\00\00\00H\1D!LVL+X[$T[WU;$\00\1B\00BD \00\0170TQP NVU\1FIMFP\00\00\0E\00\02\00\00\00\00\00\00\00IGQMWMQY\\YU\\XV<<\008\00CED:;8@UR\0EKOWVMJNGQ\13\13\01\0A\01\00\00\00\00\00\00\00IGQNXMQY\\ZV]XV<=\008\00CEE:;8@US\0EKPWVNKNHR\14\14\01\0A\01\00\00\00\00\00\00\00JHROYNRZ][W^YW42207:<;23,6HEFACGFA<@8C\05\05\07\06\01\01\00\00\00\00\00\00K:?BH@A[^\\X_ZX=>99>DFF;<9AVTQLQXWOLOIS\05\05\07\06\01\01\00\00\00\00\00\00L\08::\08EGG<=:BWURM\0DYXPMPJT\05\05\07\06\01\01\00\00\00\00\00\00MISPZOS]`^Za\1CY??;;?FHH=>;CXVSNRZYQNQKU\04\15+\02\00\0F\00\00\00\00\00\00NJTQ[PT^a_[b\\Z@\06\00\00\00GII\06\01\06\07\07\07\07\08\0B\09\09EO\07\06\07\05\05,\01\01\01\00\00\00\00\00\00OKUR\\QU_b`\\c][A@<<@HJJ>?\18\15IKK\0E\0D>\11[YVP\0B\\[SQTNW\00\00.\02\00\00\00\00\00\00\00\00RMXS^SWbdc^e_(CB?=AJLL?@?E\\ZWQT&%TRUO%\00\00\17\01\00\0A\00\00\00\00\00\00SNYT_TXced_f`)DC@>BKMM@A@F][XRU'&USVP&\00\00\17\01\00\0A\00\00\00\00\00\00)OZU`UYdfe`ga]&%&%))++&%!'^\\YSV]\\VTWQX\15\16/\15\0E\10\00\00\00\00\00\00)OZU`UYdfe`ga]EDA?CLNNA%!'^\\YSV]\\VTWQX\15\160 \0F\11\00\00\00\00\00\00TP[VaVZdfe`ga]FEB@DMOOBBAG^\\YSV]\\VTWQX\15\161\15\10\01\00\00\00\00\00\00)OZU`UYegfahb^&%&%))++&%!'^\\YSV]\\VTWQX\15\162!\09\12\00\00\00\00\00\00", [50 x i16] [i16 0, i16 85, i16 166, i16 258, i16 345, i16 443, i16 530, i16 621, i16 723, i16 827, i16 930, i16 1028, i16 1133, i16 1232, i16 1327, i16 1398, i16 1468, i16 1535, i16 1600, i16 1669, i16 1747, i16 1827, i16 1907, i16 1974, i16 2041, i16 2107, i16 2179, i16 2274, i16 2367, i16 2457, i16 2541, i16 2628, i16 2722, i16 2815, i16 2902, i16 2987, i16 3075, i16 3157, i16 3246, i16 3268, i16 3291, i16 3342, i16 3376, i16 3393, i16 3412, i16 3416, i16 3417, i16 3420, i16 3422, i16 3426], [3429 x i16] [i16 1, i16 273, i16 463, i16 844, i16 1101, i16 858, i16 1122, i16 1977, i16 2348, i16 2594, i16 3018, i16 3253, i16 3606, i16 4397, i16 4635, i16 4806, i16 5023, i16 5441, i16 5662, i16 5858, i16 5884, i16 6040, i16 6288, i16 6938, i16 7125, i16 7310, i16 7573, i16 7838, i16 8226, i16 8624, i16 9025, i16 9539, i16 9921, i16 10130, i16 10434, i16 10640, i16 10937, i16 11606, i16 11946, i16 12190, i16 12640, i16 13317, i16 14931, i16 15189, i16 6952, i16 16066, i16 16636, i16 17024, i16 17365, i16 17819, i16 18049, i16 18224, i16 18661, i16 18735, i16 18983, i16 19067, i16 19176, i16 19479, i16 4589, i16 20213, i16 20433, i16 20653, i16 21280, i16 21712, i16 21810, i16 22607, i16 22680, i16 22719, i16 23133, i16 23665, i16 24019, i16 24674, i16 25025, i16 25183, i16 25483, i16 25641, i16 25844, i16 26175, i16 26395, i16 26524, i16 26932, i16 27130, i16 27204, i16 27426, i16 27844, i16 5, i16 276, i16 473, i16 846, i16 1104, i16 864, i16 1133, i16 1981, i16 2352, i16 2601, i16 3021, i16 3258, i16 3616, i16 4401, i16 4639, i16 4809, i16 5026, i16 5445, i16 5666, i16 6044, i16 6295, i16 7312, i16 7577, i16 7842, i16 8229, i16 8628, i16 8755, i16 9030, i16 9544, i16 9925, i16 10134, i16 10437, i16 10644, i16 10948, i16 11608, i16 11950, i16 12197, i16 2107, i16 12746, i16 12967, i16 13321, i16 14935, i16 15199, i16 15853, i16 16070, i16 16639, i16 17027, i16 17267, i16 17823, i16 18056, i16 18234, i16 18665, i16 18739, i16 19180, i16 19307, i16 19483, i16 19792, i16 20029, i16 20217, i16 20437, i16 20660, i16 21285, i16 21815, i16 22082, i16 22611, i16 22685, i16 22723, i16 23143, i16 23669, i16 24027, i16 24687, i16 25187, i16 25490, i16 26186, i16 4589, i16 26528, i16 26936, i16 27209, i16 27434, i16 27820, i16 27854, i16 9, i16 279, i16 480, i16 848, i16 1107, i16 872, i16 1148, i16 1985, i16 2356, i16 2608, i16 3024, i16 3263, i16 3626, i16 4405, i16 4643, i16 4812, i16 5029, i16 5255, i16 5449, i16 5670, i16 5888, i16 6048, i16 6302, i16 4895, i16 7314, i16 7581, i16 7846, i16 8232, i16 8632, i16 8760, i16 9035, i16 9301, i16 9549, i16 94, i16 10138, i16 10440, i16 10648, i16 10959, i16 11610, i16 11954, i16 12204, i16 12644, i16 12750, i16 12972, i16 13325, i16 14939, i16 15209, i16 16074, i16 16408, i16 16642, i16 17030, i16 17271, i16 17368, i16 17659, i16 17827, i16 18063, i16 18244, i16 18743, i16 19070, i16 19184, i16 19487, i16 19796, i16 276, i16 20221, i16 20441, i16 20667, i16 21048, i16 21132, i16 21290, i16 21635, i16 5678, i16 21820, i16 22151, i16 22255, i16 22391, i16 22615, i16 22727, i16 23153, i16 23672, i16 24032, i16 24697, i16 25191, i16 25497, i16 26193, i16 26399, i16 26534, i16 26940, i16 27135, i16 27215, i16 27444, i16 27824, i16 27864, i16 13, i16 282, i16 493, i16 850, i16 1110, i16 881, i16 1165, i16 1989, i16 2221, i16 2360, i16 2615, i16 3027, i16 3268, i16 3639, i16 4409, i16 4647, i16 4815, i16 5032, i16 5453, i16 5674, i16 5892, i16 6052, i16 6309, i16 7129, i16 7281, i16 7316, i16 7585, i16 7850, i16 8235, i16 8636, i16 9041, i16 9308, i16 9553, i16 9929, i16 10091, i16 10142, i16 10443, i16 10652, i16 10973, i16 11612, i16 11958, i16 12211, i16 12648, i16 12754, i16 12977, i16 13329, i16 14943, i16 15219, i16 15857, i16 16078, i16 16412, i16 16645, i16 17033, i16 17275, i16 17371, i16 17831, i16 18070, i16 18257, i16 18747, i16 19073, i16 19188, i16 19339, i16 19491, i16 19686, i16 19800, i16 20032, i16 20225, i16 20445, i16 21295, i16 21716, i16 21825, i16 22088, i16 22731, i16 23166, i16 23675, i16 24037, i16 25029, i16 25195, i16 25381, i16 25504, i16 26202, i16 26402, i16 26540, i16 27220, i16 27452, i16 27828, i16 27874, i16 17, i16 285, i16 503, i16 852, i16 1113, i16 890, i16 1182, i16 1993, i16 2228, i16 2364, i16 2622, i16 3030, i16 3273, i16 3649, i16 4413, i16 4651, i16 4791, i16 4818, i16 5035, i16 5259, i16 5457, i16 5678, i16 5896, i16 6056, i16 6316, i16 6942, i16 7133, i16 7318, i16 7589, i16 7854, i16 8238, i16 8640, i16 8765, i16 8827, i16 9046, i16 9314, i16 9557, i16 9933, i16 10147, i16 10446, i16 10656, i16 10984, i16 11616, i16 11962, i16 12218, i16 12652, i16 12758, i16 13129, i16 13333, i16 14947, i16 15229, i16 15861, i16 16082, i16 16416, i16 16648, i16 17036, i16 17279, i16 17374, i16 17663, i16 17835, i16 18077, i16 18267, i16 18669, i16 18751, i16 18988, i16 19076, i16 19192, i16 19343, i16 19437, i16 19495, i16 19804, i16 20035, i16 20229, i16 20449, i16 20674, i16 21300, i16 21638, i16 16919, i16 21720, i16 21796, i16 21830, i16 22735, i16 23176, i16 23678, i16 24042, i16 24707, i16 25033, i16 25199, i16 25387, i16 25513, i16 26209, i16 26406, i16 26546, i16 26944, i16 27225, i16 27460, i16 27832, i16 27884, i16 21, i16 288, i16 513, i16 854, i16 1116, i16 897, i16 1195, i16 1997, i16 2233, i16 2368, i16 2629, i16 3033, i16 3278, i16 3674, i16 4417, i16 4655, i16 4821, i16 5038, i16 5263, i16 5461, i16 5682, i16 5900, i16 6060, i16 6323, i16 6948, i16 7137, i16 7320, i16 7593, i16 7858, i16 8241, i16 8644, i16 8770, i16 9051, i16 9562, i16 9937, i16 10152, i16 10449, i16 10660, i16 10998, i16 11619, i16 11966, i16 12225, i16 12656, i16 12762, i16 12982, i16 13337, i16 14951, i16 15239, i16 15865, i16 16086, i16 16651, i16 17039, i16 17378, i16 17839, i16 18084, i16 18280, i16 18755, i16 18993, i16 19079, i16 19196, i16 19499, i16 19691, i16 19808, i16 20038, i16 20233, i16 20453, i16 20681, i16 21305, i16 21641, i16 21724, i16 21835, i16 22735, i16 23189, i16 23682, i16 24050, i16 24717, i16 25037, i16 25203, i16 25522, i16 7946, i16 26410, i16 26552, i16 26948, i16 27231, i16 27470, i16 27836, i16 27894, i16 25, i16 291, i16 523, i16 856, i16 1119, i16 1448, i16 1454, i16 2001, i16 2372, i16 2636, i16 3036, i16 3283, i16 3690, i16 4421, i16 4659, i16 4824, i16 273, i16 5465, i16 5686, i16 5863, i16 5904, i16 6064, i16 6330, i16 6952, i16 7141, i16 7286, i16 7322, i16 7597, i16 7862, i16 8244, i16 8648, i16 8831, i16 9057, i16 9567, i16 9941, i16 10096, i16 10156, i16 10452, i16 10664, i16 11015, i16 11621, i16 11970, i16 12232, i16 12660, i16 12766, i16 13341, i16 14955, i16 15249, i16 15869, i16 16090, i16 16654, i16 16919, i16 17042, i16 17283, i16 17381, i16 17668, i16 17843, i16 18091, i16 18296, i16 18759, i16 19082, i16 19200, i16 19503, i16 20041, i16 20181, i16 20237, i16 20457, i16 20688, i16 21052, i16 21310, i16 21840, i16 22155, i16 22259, i16 22398, i16 22619, i16 22690, i16 22727, i16 23205, i16 23685, i16 24055, i16 24727, i16 25207, i16 25529, i16 26222, i16 26413, i16 26558, i16 26952, i16 10488, i16 10728, i16 27840, i16 27904, i16 29, i16 294, i16 463, i16 858, i16 1122, i16 2005, i16 2238, i16 2376, i16 2643, i16 3039, i16 3288, i16 3700, i16 4397, i16 4663, i16 4827, i16 5041, i16 5267, i16 5441, i16 5690, i16 5868, i16 5908, i16 6068, i16 6337, i16 6956, i16 7145, i16 7324, i16 7502, i16 7601, i16 7866, i16 8247, i16 8652, i16 8835, i16 9062, i16 9320, i16 9572, i16 9820, i16 9945, i16 10160, i16 10455, i16 10668, i16 11026, i16 11625, i16 11815, i16 11974, i16 12239, i16 12664, i16 12770, i16 13133, i16 13345, i16 14959, i16 15259, i16 15873, i16 16094, i16 16420, i16 16657, i16 17045, i16 17287, i16 17384, i16 17672, i16 17847, i16 18098, i16 18306, i16 18673, i16 18763, i16 18998, i16 19085, i16 19205, i16 19347, i16 19507, i16 20044, i16 20185, i16 20241, i16 20461, i16 20695, i16 21315, i16 21644, i16 21695, i16 21728, i16 21845, i16 22263, i16 22405, i16 22623, i16 22695, i16 22739, i16 23215, i16 23688, i16 24060, i16 24674, i16 25041, i16 25211, i16 25536, i16 25645, i16 25851, i16 26175, i16 26417, i16 26564, i16 26956, i16 27140, i16 27238, i16 27482, i16 27844, i16 28220, i16 36, i16 301, i16 473, i16 864, i16 1133, i16 1792, i16 1878, i16 2016, i16 2251, i16 2384, i16 2658, i16 3046, i16 3301, i16 3719, i16 4401, i16 4672, i16 4836, i16 5048, i16 5275, i16 5469, i16 5697, i16 5916, i16 6076, i16 6352, i16 6965, i16 7153, i16 7333, i16 7513, i16 7609, i16 7882, i16 8257, i16 8663, i16 8775, i16 8844, i16 9075, i16 9334, i16 9584, i16 9953, i16 10169, i16 10461, i16 10679, i16 11046, i16 11634, i16 11825, i16 11981, i16 12252, i16 12671, i16 12781, i16 12987, i16 13142, i16 13271, i16 13355, i16 14965, i16 15275, i16 15880, i16 16104, i16 16427, i16 16669, i16 17055, i16 17391, i16 17854, i16 18325, i16 18678, i16 18771, i16 19092, i16 19213, i16 19312, i16 19355, i16 19517, i16 19696, i16 19812, i16 19936, i16 20053, i16 20253, i16 20473, i16 20718, i16 21327, i16 21651, i16 21736, i16 21853, i16 22094, i16 22159, i16 22270, i16 22417, i16 22630, i16 22703, i16 22758, i16 23237, i16 23696, i16 24082, i16 24687, i16 25048, i16 25217, i16 25551, i16 25652, i16 25864, i16 26186, i16 26427, i16 26579, i16 26964, i16 27245, i16 27495, i16 27854, i16 28227, i16 43, i16 309, i16 480, i16 872, i16 1148, i16 2028, i16 2264, i16 2395, i16 2679, i16 3057, i16 3322, i16 3738, i16 4425, i16 4684, i16 4844, i16 5056, i16 5285, i16 5474, i16 5704, i16 5923, i16 6084, i16 6367, i16 6971, i16 7159, i16 7343, i16 7524, i16 7620, i16 7895, i16 8267, i16 8673, i16 8786, i16 8850, i16 9084, i16 9344, i16 9592, i16 9833, i16 9958, i16 10177, i16 10465, i16 10686, i16 11066, i16 11640, i16 11992, i16 12273, i16 12677, i16 12791, i16 12998, i16 13149, i16 13279, i16 13365, i16 14974, i16 15300, i16 15895, i16 16114, i16 16434, i16 16681, i16 17065, i16 17396, i16 17680, i16 17865, i16 18344, i16 18780, i16 19100, i16 19221, i16 19362, i16 19530, i16 19820, i16 19922, i16 19944, i16 20015, i16 20058, i16 20195, i16 20265, i16 20485, i16 20741, i16 21338, i16 21660, i16 21747, i16 21861, i16 22104, i16 22170, i16 22280, i16 22436, i16 22637, i16 22780, i16 23259, i16 23703, i16 24101, i16 24697, i16 25227, i16 25392, i16 25566, i16 25662, i16 25883, i16 26193, i16 26436, i16 26591, i16 26970, i16 27149, i16 27253, i16 27510, i16 27864, i16 28234, i16 51, i16 317, i16 493, i16 881, i16 1165, i16 2039, i16 2276, i16 2403, i16 2694, i16 3065, i16 3337, i16 3760, i16 4432, i16 4691, i16 4852, i16 5062, i16 5293, i16 5481, i16 5712, i16 5932, i16 6090, i16 6378, i16 6977, i16 7166, i16 7291, i16 7353, i16 7535, i16 7630, i16 7911, i16 8275, i16 8682, i16 8856, i16 9093, i16 9355, i16 9600, i16 9965, i16 10101, i16 10185, i16 10471, i16 10697, i16 11089, i16 11645, i16 12002, i16 12292, i16 12684, i16 12803, i16 13012, i16 13157, i16 13288, i16 13375, i16 14984, i16 15328, i16 15909, i16 16124, i16 16443, i16 16693, i16 16923, i16 17074, i16 17298, i16 17402, i16 17873, i16 18111, i16 18344, i16 18790, i16 19007, i16 19108, i16 19229, i16 19537, i16 19710, i16 19826, i16 19950, i16 20064, i16 20273, i16 20493, i16 20756, i16 21351, i16 21667, i16 21753, i16 21870, i16 22114, i16 22805, i16 23284, i16 23710, i16 24120, i16 25054, i16 25232, i16 25398, i16 25581, i16 25671, i16 25900, i16 26202, i16 26445, i16 26602, i16 26976, i16 27261, i16 27525, i16 27874, i16 28241, i16 61, i16 326, i16 503, i16 890, i16 1182, i16 2050, i16 2292, i16 2410, i16 2707, i16 3071, i16 3348, i16 3779, i16 4441, i16 4699, i16 4796, i16 4861, i16 5069, i16 5301, i16 5457, i16 5719, i16 5941, i16 6098, i16 6393, i16 6986, i16 7176, i16 7363, i16 7546, i16 7641, i16 7928, i16 8287, i16 8692, i16 8796, i16 8865, i16 9105, i16 9369, i16 9610, i16 9974, i16 10193, i16 10477, i16 10708, i16 11109, i16 11652, i16 11833, i16 12013, i16 12313, i16 12689, i16 12816, i16 13167, i16 13299, i16 13385, i16 14994, i16 15356, i16 15925, i16 16134, i16 16453, i16 16706, i16 17084, i16 17410, i16 17687, i16 17879, i16 18122, i16 18366, i16 18684, i16 18799, i16 19017, i16 19117, i16 19237, i16 19369, i16 19442, i16 19543, i16 19833, i16 19957, i16 20073, i16 20279, i16 20499, i16 20767, i16 21363, i16 21674, i16 21703, i16 21759, i16 21801, i16 21881, i16 22177, i16 22245, i16 22287, i16 22449, i16 22821, i16 23306, i16 23714, i16 24130, i16 24707, i16 25065, i16 25241, i16 25409, i16 25600, i16 25678, i16 25913, i16 26209, i16 26456, i16 26614, i16 26984, i16 27269, i16 27540, i16 27884, i16 28248, i16 70, i16 336, i16 513, i16 897, i16 1195, i16 1800, i16 1893, i16 2063, i16 2309, i16 2417, i16 2720, i16 3081, i16 3367, i16 3813, i16 4446, i16 4708, i16 4868, i16 5077, i16 5310, i16 5489, i16 5727, i16 5952, i16 6105, i16 6406, i16 6994, i16 7183, i16 7373, i16 7650, i16 7946, i16 8295, i16 8701, i16 8806, i16 8871, i16 9115, i16 9380, i16 9620, i16 9980, i16 10201, i16 10483, i16 10719, i16 11132, i16 11662, i16 11846, i16 12023, i16 12332, i16 12695, i16 12828, i16 13026, i16 13175, i16 13308, i16 13395, i16 15004, i16 15384, i16 15940, i16 16144, i16 16460, i16 16721, i16 17096, i16 17416, i16 17888, i16 18139, i16 18388, i16 18691, i16 18808, i16 19027, i16 19127, i16 19246, i16 19552, i16 19717, i16 19840, i16 19964, i16 20077, i16 20287, i16 20507, i16 20782, i16 21373, i16 21682, i16 21767, i16 21890, i16 22186, i16 22296, i16 22466, i16 22843, i16 23331, i16 23723, i16 24155, i16 24717, i16 25073, i16 25250, i16 25619, i16 25685, i16 25926, i16 26466, i16 26627, i16 26990, i16 27280, i16 27561, i16 27894, i16 28255, i16 77, i16 343, i16 523, i16 904, i16 1208, i16 1448, i16 1454, i16 2075, i16 2323, i16 2425, i16 2735, i16 3087, i16 3378, i16 3838, i16 4453, i16 4714, i16 4878, i16 5083, i16 5496, i16 5734, i16 5876, i16 5960, i16 6115, i16 6425, i16 7003, i16 7191, i16 7302, i16 7379, i16 7557, i16 7659, i16 7955, i16 8305, i16 8714, i16 8880, i16 9125, i16 9391, i16 9629, i16 9987, i16 10111, i16 10210, i16 10488, i16 10728, i16 11158, i16 11669, i16 12030, i16 12345, i16 12701, i16 12839, i16 13405, i16 15014, i16 15412, i16 15956, i16 16154, i16 16470, i16 16734, i16 16937, i16 17107, i16 17424, i16 17694, i16 17894, i16 18150, i16 18413, i16 18818, i16 19135, i16 19254, i16 19376, i16 19559, i16 20084, i16 20202, i16 20295, i16 20515, i16 20797, i16 21383, i16 21900, i16 22127, i16 22192, i16 22302, i16 22477, i16 22644, i16 22711, i16 22862, i16 23359, i16 23729, i16 24171, i16 24727, i16 25082, i16 25255, i16 25630, i16 25694, i16 26222, i16 26471, i16 26640, i16 26997, i16 27904, i16 28262, i16 86, i16 533, i16 911, i16 1220, i16 1532, i16 1624, i16 2087, i16 2432, i16 2748, i16 3094, i16 3391, i16 3857, i16 4013, i16 4460, i16 4887, i16 5090, i16 5503, i16 5741, i16 5968, i16 6016, i16 6123, i16 6440, i16 7198, i16 7387, i16 7669, i16 7964, i16 8314, i16 8518, i16 9137, i16 9641, i16 9994, i16 10217, i16 10492, i16 10735, i16 11178, i16 11432, i16 12036, i16 12356, i16 13415, i16 15021, i16 15431, i16 16164, i16 16480, i16 16746, i16 17432, i16 17901, i16 18163, i16 18432, i16 19566, i16 20092, i16 20303, i16 20523, i16 20812, i16 21394, i16 22872, i16 23381, i16 23735, i16 24187, i16 24737, i16 25089, i16 25265, i16 25701, i16 25942, i16 26231, i16 26478, i16 26654, i16 27003, i16 27289, i16 27578, i16 13487, i16 27914, i16 90, i16 543, i16 915, i16 1227, i16 1545, i16 1648, i16 2091, i16 2436, i16 2755, i16 3098, i16 3398, i16 3867, i16 4038, i16 4465, i16 4891, i16 5094, i16 5317, i16 5507, i16 6127, i16 6447, i16 7393, i16 7673, i16 7971, i16 8321, i16 8526, i16 8887, i16 8974, i16 9141, i16 9645, i16 10224, i16 10496, i16 10742, i16 11194, i16 11436, i16 12040, i16 12363, i16 12707, i16 13421, i16 15025, i16 15441, i16 16170, i16 16484, i16 16750, i16 17437, i16 17905, i16 18457, i16 18826, i16 19570, i16 20307, i16 20527, i16 20819, i16 21401, i16 21910, i16 22309, i16 22490, i16 22888, i16 23397, i16 23740, i16 24196, i16 24744, i16 25269, i16 25419, i16 25705, i16 26242, i16 26660, i16 27007, i16 27295, i16 27588, i16 13492, i16 27921, i16 94, i16 553, i16 919, i16 1234, i16 1550, i16 1657, i16 2440, i16 2762, i16 3102, i16 3405, i16 3877, i16 4069, i16 4470, i16 4895, i16 5098, i16 5322, i16 5449, i16 5972, i16 6021, i16 6131, i16 6454, i16 7399, i16 7566, i16 8328, i16 9147, i16 9404, i16 9649, i16 9842, i16 10232, i16 10500, i16 10749, i16 11213, i16 11440, i16 11574, i16 11677, i16 11854, i16 12044, i16 12370, i16 13427, i16 15029, i16 15451, i16 16176, i16 5453, i16 16754, i16 17441, i16 17909, i16 18698, i16 19144, i16 20311, i16 20531, i16 20826, i16 21406, i16 22913, i16 23422, i16 23745, i16 24205, i16 24754, i16 25709, i16 25949, i16 26253, i16 26666, i16 27011, i16 27156, i16 27301, i16 27598, i16 13497, i16 27928, i16 98, i16 563, i16 923, i16 1241, i16 1555, i16 1666, i16 2444, i16 2769, i16 3106, i16 3412, i16 3887, i16 4085, i16 4475, i16 4899, i16 5102, i16 5511, i16 5745, i16 6135, i16 6461, i16 7405, i16 7677, i16 7978, i16 8335, i16 8534, i16 8891, i16 9153, i16 9653, i16 9998, i16 10239, i16 10504, i16 10756, i16 11229, i16 11444, i16 11681, i16 11859, i16 12048, i16 12377, i16 13433, i16 15033, i16 15461, i16 16182, i16 16758, i16 17445, i16 17913, i16 18482, i16 19574, i16 20315, i16 20535, i16 20833, i16 21411, i16 21914, i16 22932, i16 23441, i16 23751, i16 24217, i16 24764, i16 25273, i16 25713, i16 25956, i16 26262, i16 26672, i16 27307, i16 27608, i16 13502, i16 27935, i16 102, i16 352, i16 573, i16 927, i16 1248, i16 1561, i16 1677, i16 2448, i16 2776, i16 3110, i16 3419, i16 3900, i16 4480, i16 4721, i16 4903, i16 5106, i16 5327, i16 5515, i16 5749, i16 6139, i16 6468, i16 2144, i16 7411, i16 7985, i16 8342, i16 8542, i16 9157, i16 9657, i16 9847, i16 10246, i16 10508, i16 10763, i16 11248, i16 11448, i16 11685, i16 11864, i16 12052, i16 12384, i16 12851, i16 13038, i16 13183, i16 13439, i16 15037, i16 15471, i16 16188, i16 16489, i16 16762, i16 17449, i16 17917, i16 18170, i16 18501, i16 18830, i16 19148, i16 20319, i16 20539, i16 20840, i16 21417, i16 22951, i16 23463, i16 23757, i16 24229, i16 24774, i16 25717, i16 26273, i16 26678, i16 27314, i16 27620, i16 13507, i16 27942, i16 106, i16 580, i16 931, i16 1255, i16 1566, i16 1686, i16 2095, i16 2338, i16 2452, i16 2783, i16 3114, i16 3426, i16 3907, i16 4485, i16 4907, i16 5110, i16 5332, i16 5519, i16 6143, i16 6475, i16 7417, i16 7681, i16 7992, i16 8349, i16 8550, i16 9162, i16 9661, i16 10002, i16 10119, i16 10254, i16 10512, i16 10770, i16 11255, i16 11452, i16 11689, i16 11869, i16 12056, i16 12391, i16 12855, i16 13043, i16 13187, i16 13445, i16 15041, i16 15481, i16 16194, i16 16492, i16 16766, i16 17117, i16 17309, i16 17454, i16 17921, i16 18177, i16 18834, i16 19039, i16 19578, i16 20096, i16 20323, i16 20543, i16 20847, i16 21422, i16 21918, i16 22958, i16 23470, i16 23762, i16 24238, i16 24784, i16 25093, i16 25277, i16 25721, i16 25963, i16 26280, i16 26482, i16 26684, i16 27015, i16 27318, i16 27627, i16 13512, i16 27949, i16 110, i16 587, i16 935, i16 1262, i16 1573, i16 1699, i16 2099, i16 2343, i16 2456, i16 2790, i16 3118, i16 3433, i16 3917, i16 4104, i16 4490, i16 4911, i16 5114, i16 5337, i16 5523, i16 6148, i16 6484, i16 7423, i16 7685, i16 7999, i16 8356, i16 8560, i16 8895, i16 9168, i16 9411, i16 9665, i16 10006, i16 10263, i16 10516, i16 10777, i16 11265, i16 11456, i16 11693, i16 11874, i16 12060, i16 12398, i16 12859, i16 13048, i16 13191, i16 13451, i16 15045, i16 15491, i16 16200, i16 16770, i16 17121, i16 17314, i16 17459, i16 17703, i16 17925, i16 18184, i16 18508, i16 18838, i16 19582, i16 20100, i16 20327, i16 20547, i16 20854, i16 21427, i16 21922, i16 22971, i16 23483, i16 23768, i16 24250, i16 24791, i16 25097, i16 25281, i16 25725, i16 25970, i16 26287, i16 26486, i16 26690, i16 27019, i16 27323, i16 27635, i16 13517, i16 27956, i16 114, i16 597, i16 939, i16 1269, i16 1578, i16 1708, i16 2103, i16 2460, i16 2797, i16 3122, i16 3440, i16 3927, i16 4120, i16 4495, i16 4915, i16 5118, i16 5527, i16 5753, i16 6153, i16 6493, i16 7010, i16 7429, i16 7689, i16 8006, i16 8363, i16 8569, i16 8899, i16 8979, i16 9173, i16 9417, i16 9669, i16 9852, i16 10010, i16 10272, i16 10520, i16 10784, i16 11281, i16 11460, i16 12064, i16 12405, i16 12711, i16 12863, i16 13053, i16 13457, i16 15049, i16 15501, i16 16206, i16 16496, i16 16774, i16 4584, i16 17929, i16 18521, i16 18702, i16 18842, i16 19384, i16 19450, i16 19586, i16 20331, i16 20551, i16 20861, i16 21432, i16 21773, i16 21926, i16 22984, i16 23496, i16 23773, i16 24259, i16 24801, i16 25285, i16 25424, i16 25729, i16 25977, i16 26298, i16 26490, i16 26696, i16 27023, i16 27328, i16 27643, i16 13522, i16 27963, i16 118, i16 607, i16 943, i16 1276, i16 1581, i16 1713, i16 2107, i16 2464, i16 2804, i16 3126, i16 3447, i16 3934, i16 4316, i16 4500, i16 4919, i16 5122, i16 5342, i16 5531, i16 5757, i16 6157, i16 6500, i16 7435, i16 7693, i16 8013, i16 8370, i16 8579, i16 9177, i16 9422, i16 5441, i16 10014, i16 10282, i16 10524, i16 10791, i16 11297, i16 11464, i16 11612, i16 12068, i16 12412, i16 13463, i16 15053, i16 15511, i16 16212, i16 16500, i16 16778, i16 17466, i16 17933, i16 18537, i16 19590, i16 20335, i16 20555, i16 20868, i16 21437, i16 21930, i16 23003, i16 23515, i16 23778, i16 24268, i16 24811, i16 25289, i16 25733, i16 25984, i16 26307, i16 26702, i16 27333, i16 27651, i16 13527, i16 27970, i16 122, i16 356, i16 617, i16 947, i16 1283, i16 1587, i16 1724, i16 2468, i16 2811, i16 3130, i16 3454, i16 3944, i16 4505, i16 4923, i16 5126, i16 5348, i16 5535, i16 5761, i16 6161, i16 6507, i16 7441, i16 7697, i16 8020, i16 8377, i16 8588, i16 9183, i16 9429, i16 9673, i16 10018, i16 10291, i16 10528, i16 10798, i16 11319, i16 11468, i16 12072, i16 12419, i16 13195, i16 13469, i16 15057, i16 15521, i16 16218, i16 16504, i16 16782, i16 17471, i16 17937, i16 18565, i16 18846, i16 19594, i16 19725, i16 20339, i16 20559, i16 20875, i16 21444, i16 21934, i16 23034, i16 23546, i16 23783, i16 24277, i16 24821, i16 25293, i16 25737, i16 25991, i16 26318, i16 26708, i16 27339, i16 27661, i16 27977, i16 126, i16 627, i16 951, i16 1290, i16 1599, i16 1746, i16 2111, i16 2472, i16 2818, i16 3134, i16 3461, i16 3966, i16 4510, i16 4927, i16 5130, i16 5539, i16 6165, i16 6514, i16 7447, i16 7701, i16 8027, i16 8384, i16 9189, i16 5904, i16 10300, i16 10532, i16 10805, i16 11341, i16 11472, i16 12076, i16 12426, i16 12867, i16 13059, i16 13475, i16 15061, i16 15531, i16 16224, i16 4589, i16 16786, i16 17478, i16 17941, i16 18587, i16 20343, i16 20563, i16 20882, i16 21449, i16 21938, i16 22138, i16 22313, i16 22497, i16 23059, i16 23571, i16 23788, i16 24286, i16 24831, i16 25101, i16 25297, i16 25741, i16 25998, i16 26331, i16 26715, i16 27027, i16 27161, i16 27345, i16 27671, i16 27984, i16 130, i16 360, i16 637, i16 955, i16 1297, i16 1612, i16 1770, i16 2115, i16 2476, i16 2825, i16 3138, i16 3468, i16 3988, i16 4515, i16 4931, i16 5134, i16 5544, i16 5765, i16 5976, i16 6169, i16 6521, i16 7202, i16 7453, i16 7705, i16 8034, i16 8391, i16 8597, i16 8903, i16 8984, i16 9194, i16 9677, i16 9857, i16 10309, i16 10536, i16 10812, i16 11360, i16 11476, i16 12080, i16 12433, i16 13481, i16 15065, i16 15541, i16 16230, i16 16508, i16 16790, i16 17485, i16 17945, i16 18615, i16 18707, i16 18850, i16 19044, i16 19598, i16 20347, i16 20567, i16 20889, i16 21455, i16 21942, i16 22317, i16 22504, i16 23081, i16 23590, i16 23793, i16 24295, i16 24841, i16 25301, i16 25745, i16 26005, i16 26342, i16 26722, i16 27351, i16 27681, i16 27994, i16 134, i16 364, i16 647, i16 959, i16 1304, i16 1532, i16 1624, i16 2119, i16 2480, i16 2832, i16 3142, i16 3475, i16 4013, i16 4520, i16 4725, i16 4935, i16 5138, i16 5548, i16 5769, i16 5980, i16 6026, i16 6173, i16 6528, i16 7015, i16 7206, i16 7459, i16 7709, i16 8041, i16 8398, i16 8907, i16 9199, i16 9436, i16 9681, i16 10022, i16 10319, i16 10540, i16 10819, i16 11178, i16 11480, i16 11579, i16 11697, i16 11879, i16 12084, i16 12440, i16 12715, i16 12871, i16 13064, i16 13199, i16 13487, i16 15069, i16 15551, i16 15971, i16 16236, i16 16512, i16 16794, i16 17125, i16 17319, i16 17490, i16 17711, i16 17949, i16 18191, i16 18432, i16 18854, i16 19388, i16 19455, i16 19602, i16 19730, i16 19846, i16 19970, i16 20104, i16 20351, i16 20571, i16 20896, i16 21056, i16 21139, i16 21460, i16 21946, i16 22321, i16 22511, i16 22872, i16 23381, i16 23798, i16 24304, i16 24737, i16 25105, i16 25305, i16 25749, i16 26012, i16 26231, i16 26729, i16 27031, i16 27166, i16 27356, i16 27689, i16 27914, i16 142, i16 373, i16 663, i16 965, i16 1315, i16 1545, i16 1648, i16 2126, i16 2489, i16 2849, i16 3149, i16 3488, i16 4038, i16 4527, i16 4732, i16 4941, i16 5144, i16 5354, i16 5555, i16 5776, i16 5987, i16 6184, i16 6549, i16 7023, i16 7212, i16 7467, i16 7719, i16 8054, i16 8407, i16 8915, i16 8989, i16 9206, i16 9695, i16 10030, i16 10333, i16 10546, i16 10830, i16 11194, i16 11489, i16 11589, i16 11704, i16 11887, i16 12093, i16 12457, i16 12723, i16 12878, i16 13072, i16 13207, i16 13492, i16 15077, i16 15573, i16 15979, i16 16243, i16 16523, i16 16801, i16 17134, i16 17329, i16 17501, i16 17957, i16 18457, i16 18711, i16 18861, i16 19395, i16 19463, i16 19610, i16 19854, i16 19978, i16 20358, i16 20578, i16 20909, i16 21063, i16 21152, i16 21476, i16 21952, i16 22328, i16 22524, i16 22888, i16 23397, i16 23805, i16 24323, i16 24851, i16 25111, i16 25310, i16 25429, i16 25756, i16 26025, i16 26242, i16 26743, i16 27038, i16 27174, i16 27365, i16 27706, i16 27921, i16 151, i16 383, i16 553, i16 972, i16 1328, i16 1550, i16 1657, i16 2133, i16 2494, i16 2858, i16 3158, i16 3505, i16 4069, i16 4537, i16 4740, i16 4948, i16 5017, i16 5149, i16 5360, i16 5474, i16 5784, i16 5993, i16 6034, i16 6196, i16 6572, i16 7032, i16 7220, i16 7399, i16 7566, i16 7727, i16 8416, i16 8726, i16 9147, i16 9404, i16 9706, i16 9862, i16 10039, i16 10232, i16 10500, i16 10749, i16 11213, i16 11497, i16 11598, i16 11712, i16 11896, i16 12102, i16 12474, i16 12732, i16 12886, i16 13497, i16 15087, i16 15601, i16 15988, i16 16250, i16 16535, i16 16809, i16 17513, i16 17723, i16 17966, i16 18698, i16 18866, i16 19152, i16 19615, i16 19864, i16 19929, i16 19988, i16 20022, i16 20113, i16 20366, i16 20586, i16 20924, i16 21071, i16 21167, i16 21488, i16 21689, i16 22913, i16 23422, i16 23816, i16 24354, i16 24864, i16 25119, i16 25762, i16 26036, i16 26253, i16 26754, i16 27044, i16 27181, i16 27375, i16 27725, i16 27928, i16 157, i16 679, i16 977, i16 1337, i16 1555, i16 1666, i16 1808, i16 1908, i16 2138, i16 2502, i16 2873, i16 3163, i16 3514, i16 4085, i16 4544, i16 4953, i16 5156, i16 5564, i16 5790, i16 6204, i16 6587, i16 7038, i16 7476, i16 7735, i16 8065, i16 8426, i16 8731, i16 8820, i16 8923, i16 9214, i16 9444, i16 9714, i16 10045, i16 10349, i16 10553, i16 10843, i16 11229, i16 11504, i16 11720, i16 11905, i16 12108, i16 12485, i16 12891, i16 13081, i16 13216, i16 13502, i16 15093, i16 15617, i16 15995, i16 16257, i16 16545, i16 16814, i16 16951, i16 17144, i16 17340, i16 17528, i16 17739, i16 17971, i16 18482, i16 19403, i16 19622, i16 19739, i16 20120, i16 20372, i16 20592, i16 20935, i16 21076, i16 21176, i16 21501, i16 21959, i16 22932, i16 23441, i16 23823, i16 24373, i16 24877, i16 25316, i16 25771, i16 26053, i16 26262, i16 26764, i16 27049, i16 27381, i16 27736, i16 27935, i16 102, i16 352, i16 573, i16 983, i16 1348, i16 1561, i16 1677, i16 1815, i16 1921, i16 1943, i16 1955, i16 2144, i16 2511, i16 2890, i16 3110, i16 3419, i16 3900, i16 4550, i16 4721, i16 4959, i16 5162, i16 5368, i16 5515, i16 5749, i16 6213, i16 6604, i16 7045, i16 7226, i16 4903, i16 7743, i16 8076, i16 8435, i16 9222, i16 9453, i16 9725, i16 9871, i16 10051, i16 10246, i16 10508, i16 10763, i16 11248, i16 11512, i16 11728, i16 11914, i16 12115, i16 12498, i16 12851, i16 13038, i16 13223, i16 13507, i16 15100, i16 15636, i16 16002, i16 16264, i16 16555, i16 16824, i16 16962, i16 17152, i16 17542, i16 17917, i16 18170, i16 18501, i16 18872, i16 19148, i16 19870, i16 20379, i16 20599, i16 20948, i16 20319, i16 20840, i16 21513, i16 11685, i16 11864, i16 22951, i16 23463, i16 23830, i16 24392, i16 24890, i16 25125, i16 25322, i16 25436, i16 25779, i16 26273, i16 26775, i16 27314, i16 27620, i16 27942, i16 163, i16 389, i16 580, i16 988, i16 1357, i16 1566, i16 1686, i16 1950, i16 1968, i16 2148, i16 2519, i16 2905, i16 3114, i16 3426, i16 3907, i16 4554, i16 4745, i16 4964, i16 5169, i16 5376, i16 5571, i16 5796, i16 6219, i16 6615, i16 7050, i16 7231, i16 7417, i16 7751, i16 8081, i16 8444, i16 8605, i16 8929, i16 9162, i16 9735, i16 9882, i16 10056, i16 10124, i16 10356, i16 10559, i16 10854, i16 11255, i16 11520, i16 11734, i16 11921, i16 12122, i16 12511, i16 12897, i16 13088, i16 13230, i16 13512, i16 15106, i16 15652, i16 16271, i16 16562, i16 16832, i16 16972, i16 17158, i16 17349, i16 17550, i16 17977, i16 18206, i16 106, i16 18878, i16 19049, i16 19410, i16 19631, i16 19875, i16 19994, i16 20128, i16 20383, i16 20603, i16 20955, i16 21083, i16 21189, i16 21525, i16 11689, i16 11869, i16 21777, i16 21965, i16 17921, i16 18177, i16 22958, i16 23470, i16 23838, i16 24414, i16 24784, i16 25130, i16 25328, i16 25787, i16 26068, i16 26280, i16 26787, i16 27054, i16 27949, i16 168, i16 395, i16 587, i16 994, i16 1368, i16 1573, i16 1699, i16 1820, i16 1930, i16 2153, i16 2527, i16 2920, i16 3118, i16 3433, i16 4104, i16 4563, i16 4750, i16 4969, i16 5176, i16 5384, i16 5579, i16 5801, i16 6227, i16 6630, i16 7056, i16 7237, i16 7423, i16 7758, i16 8090, i16 8452, i16 8614, i16 8934, i16 9168, i16 9411, i16 9746, i16 10061, i16 10368, i16 10564, i16 10863, i16 11265, i16 11527, i16 11741, i16 11929, i16 12130, i16 12526, i16 12902, i16 13095, i16 13237, i16 13517, i16 15113, i16 15671, i16 16278, i16 16571, i16 16841, i16 17165, i16 17357, i16 17557, i16 17755, i16 17982, i16 18215, i16 18508, i16 18720, i16 18884, i16 19415, i16 19640, i16 19881, i16 20000, i16 20134, i16 20388, i16 20608, i16 20964, i16 21088, i16 21198, i16 21537, i16 11693, i16 11874, i16 21783, i16 21973, i16 17925, i16 18184, i16 22971, i16 23483, i16 23847, i16 24439, i16 24791, i16 25136, i16 25336, i16 25795, i16 26083, i16 26287, i16 26799, i16 27059, i16 27956, i16 173, i16 401, i16 692, i16 1000, i16 1379, i16 1578, i16 1708, i16 2158, i16 2534, i16 2933, i16 3169, i16 3525, i16 4120, i16 4570, i16 4976, i16 5185, i16 5590, i16 5806, i16 6235, i16 6645, i16 7062, i16 7243, i16 7766, i16 8006, i16 8461, i16 8942, i16 8998, i16 9238, i16 9470, i16 9758, i16 9894, i16 10067, i16 10272, i16 10569, i16 10872, i16 11281, i16 11534, i16 11748, i16 12138, i16 12541, i16 12738, i16 12907, i16 13102, i16 13522, i16 15120, i16 15690, i16 16007, i16 16285, i16 16585, i16 16848, i16 16982, i16 17172, i16 17568, i16 17767, i16 17987, i16 18521, i16 18702, i16 18890, i16 19158, i16 19422, i16 19472, i16 19647, i16 19749, i16 20393, i16 20613, i16 20973, i16 21093, i16 21207, i16 21550, i16 21789, i16 21980, i16 22651, i16 22984, i16 23496, i16 23855, i16 24461, i16 24801, i16 25343, i16 25443, i16 25802, i16 26096, i16 26298, i16 26812, i16 27067, i16 27389, i16 27751, i16 27963, i16 180, i16 705, i16 1006, i16 1390, i16 1581, i16 1713, i16 2165, i16 2542, i16 2948, i16 3176, i16 3538, i16 4136, i16 4316, i16 4575, i16 4755, i16 4982, i16 5191, i16 5394, i16 5595, i16 5813, i16 6245, i16 6664, i16 7071, i16 7250, i16 7774, i16 8101, i16 8468, i16 8947, i16 9245, i16 9478, i16 9770, i16 10074, i16 10382, i16 10576, i16 10885, i16 11297, i16 11542, i16 11758, i16 12147, i16 12558, i16 13244, i16 13527, i16 15128, i16 15712, i16 16017, i16 16292, i16 16593, i16 16858, i16 16994, i16 17180, i16 17583, i16 17994, i16 18537, i16 18897, i16 19656, i16 19759, i16 19887, i16 20140, i16 20401, i16 20621, i16 20988, i16 21100, i16 21220, i16 21561, i16 21986, i16 22199, i16 22336, i16 22539, i16 23003, i16 23515, i16 23863, i16 24483, i16 24903, i16 25142, i16 25351, i16 25452, i16 25810, i16 26111, i16 26307, i16 26494, i16 26824, i16 27075, i16 27395, i16 27762, i16 27970, i16 190, i16 410, i16 724, i16 1013, i16 1403, i16 1587, i16 1724, i16 2174, i16 2551, i16 2965, i16 3186, i16 3557, i16 4170, i16 3944, i16 4584, i16 4765, i16 4991, i16 5196, i16 5402, i16 5600, i16 5823, i16 6257, i16 6687, i16 7081, i16 7483, i16 7781, i16 8116, i16 8476, i16 8957, i16 9258, i16 9493, i16 9783, i16 10083, i16 10394, i16 10583, i16 10898, i16 11319, i16 11548, i16 11769, i16 11937, i16 12158, i16 12579, i16 12913, i16 13110, i16 13254, i16 13469, i16 15139, i16 15743, i16 16028, i16 16299, i16 16606, i16 16866, i16 17191, i16 17590, i16 17784, i16 18004, i16 18565, i16 18907, i16 19665, i16 19769, i16 19896, i16 20151, i16 20410, i16 20630, i16 21005, i16 21109, i16 21237, i16 21574, i16 21994, i16 22209, i16 22346, i16 22558, i16 23034, i16 23546, i16 23871, i16 24505, i16 24919, i16 25154, i16 25357, i16 25819, i16 26128, i16 26318, i16 26837, i16 27083, i16 27187, i16 27406, i16 27783, i16 27977, i16 198, i16 743, i16 1020, i16 1416, i16 1599, i16 1746, i16 2182, i16 2562, i16 2986, i16 3195, i16 3574, i16 4195, i16 3966, i16 4589, i16 4773, i16 4999, i16 5202, i16 5607, i16 5831, i16 6267, i16 6706, i16 7089, i16 7261, i16 7787, i16 8127, i16 8484, i16 9275, i16 9511, i16 9794, i16 10408, i16 10591, i16 10913, i16 11341, i16 11557, i16 12169, i16 12600, i16 12921, i16 13119, i16 13475, i16 15149, i16 15771, i16 16037, i16 16306, i16 16616, i16 16873, i16 17003, i16 17200, i16 17606, i16 17801, i16 18013, i16 18587, i16 18915, i16 19904, i16 20161, i16 20418, i16 20638, i16 21020, i16 21117, i16 21252, i16 21587, i16 22000, i16 22143, i16 22217, i16 22354, i16 22573, i16 23059, i16 23571, i16 23878, i16 24524, i16 24831, i16 25162, i16 25362, i16 25459, i16 25827, i16 26143, i16 26331, i16 26853, i16 27090, i16 27195, i16 27416, i16 27802, i16 27984, i16 207, i16 418, i16 759, i16 1027, i16 1429, i16 1612, i16 1770, i16 2189, i16 2571, i16 3003, i16 3203, i16 3589, i16 4220, i16 3988, i16 4592, i16 4782, i16 5008, i16 5211, i16 5616, i16 5840, i16 5998, i16 6277, i16 6725, i16 7098, i16 7271, i16 7492, i16 7794, i16 8140, i16 8494, i16 8737, i16 8965, i16 9004, i16 9288, i16 9525, i16 9807, i16 9907, i16 10419, i16 10598, i16 10926, i16 11360, i16 11565, i16 12179, i16 12619, i16 13262, i16 13481, i16 15158, i16 15796, i16 16047, i16 16316, i16 16623, i16 16883, i16 17014, i16 17210, i16 17623, i16 18021, i16 18615, i16 18726, i16 18924, i16 19056, i16 19428, i16 19677, i16 19782, i16 19913, i16 20006, i16 20171, i16 20425, i16 20645, i16 21033, i16 21124, i16 21265, i16 21600, i16 22007, i16 22226, i16 22363, i16 22590, i16 23081, i16 23590, i16 23888, i16 24552, i16 24932, i16 25173, i16 25368, i16 25466, i16 25836, i16 26160, i16 26342, i16 26876, i16 27098, i16 27994, i16 216, i16 427, i16 775, i16 1034, i16 1442, i16 0, i16 4248, i16 4347, i16 4598, i16 8153, i16 11382, i16 12930, i16 13532, i16 16326, i16 18637, i16 22015, i16 23107, i16 23615, i16 24945, i16 25375, i16 25474, i16 28004, i16 219, i16 430, i16 785, i16 1036, i16 1445, i16 0, i16 4261, i16 4375, i16 4598, i16 8160, i16 11410, i16 12933, i16 13539, i16 16333, i16 18649, i16 22018, i16 23120, i16 23643, i16 24965, i16 25378, i16 25479, i16 26353, i16 28011, i16 222, i16 433, i16 798, i16 1038, i16 1465, i16 1827, i16 2196, i16 2579, i16 3212, i16 4277, i16 4600, i16 5220, i16 5410, i16 5624, i16 6746, i16 6764, i16 6779, i16 6847, i16 6890, i16 7107, i16 7802, i16 8167, i16 8503, i16 10604, i16 11777, i16 12936, i16 13546, i16 15168, i16 15824, i16 16340, i16 16892, i16 17220, i16 17631, i16 18030, i16 18934, i16 19263, i16 19321, i16 21612, i16 22021, i16 22372, i16 22659, i16 23896, i16 24985, i16 26356, i16 26502, i16 26896, i16 27106, i16 28018, i16 28088, i16 28166, i16 28269, i16 243, i16 451, i16 832, i16 1063, i16 1492, i16 1853, i16 2212, i16 3226, i16 4304, i16 5653, i16 5849, i16 6007, i16 6807, i16 6876, i16 6917, i16 6929, i16 7817, i16 8199, i16 8746, i16 9014, i16 12955, i16 13578, i16 16057, i16 16351, i16 16910, i16 17257, i16 18966, i16 19167, i16 19285, i16 22045, i16 22235, i16 23919, i16 28116, i16 28312, i16 252, i16 460, i16 841, i16 1073, i16 1504, i16 1867, i16 3235, i16 6821, i16 11806, i16 13594, i16 16369, i16 19295, i16 22054, i16 26920, i16 28053, i16 28135, i16 28201, i16 261, i16 0, i16 1086, i16 1517, i16 1867, i16 3244, i16 4623, i16 5246, i16 6833, i16 8208, i16 10628, i16 11806, i16 13610, i16 16387, i16 22067, i16 26383, i16 28069, i16 28154, i16 28334, i16 0, i16 13628, i16 23929, i16 24574, i16 0, i16 0, i16 14004, i16 23961, i16 0, i16 14018, i16 0, i16 14901, i16 23971, i16 24610, i16 0, i16 24007, i16 24660], [372 x i8] c"\00\00\00\00\01\01\00\00\02\02\00\00\03\03\00\00\04\04\00\00\05\05\01\01\06\06\02\02\07\07\01\01\08\08\00\00\09\09\00\00\0A\0A\00\03\0A\0A\03\03\0B\0B\00\00\0C\0C\00\00\0D\0D\00\00\0E\0E\00\00\0F\0F\04\04\10\10\05\05\11\01\00\00\12\11\00\00\13\01\00\00\14\02\06\06\15\01\07\07\16\12\00\00\17\02\00\00\18\13\00\00\19\14\00\00\1A\01\00\00\1B\02\00\00\1C\15\00\00\00\00\08\08\1D\02\00\00\1E\02\00\00\1D\16\00\00\1F\17\00\00 \18\00\00!\19\00\00\1D\1A\00\00\22\1B\00\00#\02\00\00$\02\00\00%\02\00\00&\1C\00\00'\1D\00\00(\02\00\00)\02\00\00*\1E\09\09\1A\1F\00\00+\02\00\00, \0A\0A-!\00\00.\22\00\00/\1A\00\000#\00\001\01\00\002\1A\00\003$\0B\0B4$\0C\0C5%\0D\0D6&\0E\0E7'\00\00\00(\0F\0F8\01\00\002\02\00\009\02\00\00:\02\00\00;)\00\00<*\00\00=+\00\00>,\00\00\1D-\00\00?\01\10\10@\01\11\10A\1A\00\00B.\00\00C/\00\00D0\12\11E1\13\12;)\14\13\0C\0C\0E\14F2\15\15G3\16\16H4\17\17H4\17\18\0C\0C\18\19I+\00\00J,\00\00K5\19\1AL6\1A\1BM\01\1B\1CN7\1C\1DO8\1D\1EP9\00\00", [4 x i16] [i16 0, i16 81, i16 139, i16 169], [200 x i16] [i16 1, i16 13, i16 27, i16 43, i16 57, i16 73, i16 97, i16 121, i16 114, i16 85, i16 145, i16 173, i16 193, i16 217, i16 247, i16 281, i16 317, i16 369, i16 378, i16 396, i16 405, i16 422, i16 439, i16 459, i16 469, i16 489, i16 513, i16 520, i16 530, i16 561, i16 571, i16 591, i16 613, i16 635, i16 665, i16 687, i16 697, i16 711, i16 721, i16 739, i16 759, i16 769, i16 779, i16 815, i16 829, i16 908, i16 932, i16 960, i16 972, i16 996, i16 1003, i16 1013, i16 1048, i16 1078, i16 1106, i16 1142, i16 1180, i16 1189, i16 1199, i16 1209, i16 1229, i16 1249, i16 1267, i16 1297, i16 1316, i16 1334, i16 1344, i16 1362, i16 1380, i16 1438, i16 1492, i16 1517, i16 1564, i16 1610, i16 1619, i16 1630, i16 1670, i16 1698, i16 1720, i16 1747, i16 1783, i16 7, i16 20, i16 35, i16 50, i16 65, i16 79, i16 106, i16 134, i16 118, i16 92, i16 153, i16 183, i16 205, i16 233, i16 265, i16 294, i16 336, i16 388, i16 450, i16 479, i16 501, i16 545, i16 581, i16 603, i16 623, i16 647, i16 657, i16 678, i16 730, i16 749, i16 790, i16 806, i16 857, i16 921, i16 947, i16 981, i16 1028, i16 1090, i16 1120, i16 1154, i16 1165, i16 1219, i16 1239, i16 1258, i16 1278, i16 1289, i16 1354, i16 1371, i16 1393, i16 1445, i16 1499, i16 1526, i16 1572, i16 1642, i16 1680, i16 1729, i16 1757, i16 1792, i16 0, i16 85, i16 114, i16 167, i16 305, i16 346, i16 415, i16 433, i16 554, i16 799, i16 891, i16 1039, i16 1067, i16 1100, i16 1132, i16 1171, i16 1308, i16 1329, i16 1412, i16 1452, i16 1478, i16 1506, i16 1535, i16 1580, i16 1598, i16 1652, i16 1690, i16 1711, i16 1739, i16 1769, i16 0, i16 92, i16 118, i16 163, i16 312, i16 362, i16 419, i16 436, i16 558, i16 803, i16 898, i16 1042, i16 1071, i16 1103, i16 1137, i16 1174, i16 1312, i16 1422, i16 1465, i16 1481, i16 1485, i16 1510, i16 1545, i16 1585, i16 1591, i16 1605, i16 1661, i16 1693, i16 1715, i16 1743, i16 1776], [91141 x i16] [i16 7, i16 145, i16 4, i16 5352, i16 1159, i16 2868, i16 9485, i16 12504, i16 4, i16 38, i16 5, i16 3, i16 256, i16 576, i16 22623, i16 1154, i16 1623, i16 0, i16 19968, i16 20901, i16 1708, i16 747, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4, i16 10, i16 5, i16 4, i16 128, i16 480, i16 2038, i16 1693, i16 1947, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1154, i16 1154, i16 1986, i16 2440, i16 0, i16 4, i16 2, i16 5, i16 4, i16 128, i16 480, i16 1886, i16 1885, i16 1886, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2847, i16 2847, i16 2178, i16 5976, i16 0, i16 2, i16 0, i16 5, i16 6, i16 32, i16 64, i16 213, i16 212, i16 213, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4732, i16 4732, i16 0, i16 9496, i16 0, i16 4, i16 5, i16 5, i16 5, i16 64, i16 96, i16 409, i16 408, i16 409, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4944, i16 4944, i16 2193, i16 9976, i16 0, i16 1, i16 0, i16 4, i16 5, i16 128, i16 816, i16 13169, i16 13168, i16 13169, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5352, i16 5352, i16 0, i16 10360, i16 0, i16 1, i16 0, i16 5, i16 2, i16 512, i16 6176, i16 17172, i16 5999, i16 17172, i16 0, i16 -21504, i16 11171, i16 1111, i16 3125, i16 5352, i16 5352, i16 0, i16 -32216, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 5, i16 114, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 55, i16 246, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 92, i16 0, i16 0, i16 1155, i16 274, i16 372, i16 0, i16 1155, i16 300, i16 0, i16 0, i16 1155, i16 300, i16 0, i16 0, i16 1155, i16 331, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 390, i16 0, i16 0, i16 1155, i16 448, i16 498, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 547, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 730, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 798, i16 648, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 875, i16 786, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 916, i16 0, i16 0, i16 1155, i16 1075, i16 924, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 1433, i16 1502, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 1721, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 1780, i16 1634, i16 0, i16 1155, i16 1915, i16 498, i16 0, i16 1155, i16 2012, i16 1844, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 2049, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 2235, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 300, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 1, i16 680, i16 2383, i16 1986, i16 1, i16 680, i16 2880, i16 1986, i16 1, i16 680, i16 3369, i16 1986, i16 1, i16 680, i16 3871, i16 1986, i16 1, i16 680, i16 4373, i16 2016, i16 1, i16 680, i16 4869, i16 1986, i16 1, i16 680, i16 5366, i16 1986, i16 1, i16 680, i16 5868, i16 2016, i16 1, i16 680, i16 6369, i16 1986, i16 1, i16 680, i16 6952, i16 2058, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7976, i16 1986, i16 1, i16 680, i16 5868, i16 2016, i16 1, i16 680, i16 2880, i16 1986, i16 1, i16 680, i16 8476, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 8967, i16 2124, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 8967, i16 2124, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7976, i16 1986, i16 1, i16 680, i16 5868, i16 2016, i16 1, i16 680, i16 7478, i16 1986, i16 2, i16 1338, i16 3, i16 2178, i16 2, i16 1338, i16 3, i16 2178, i16 3, i16 212, i16 3, i16 0, i16 4, i16 6, i16 3, i16 2193, i16 5, i16 13168, i16 3, i16 0, i16 6, i16 17171, i16 3, i16 0, i16 1, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 21, i16 22, i16 23, i16 24, i16 30, i16 40, i16 44, i16 45, i16 50, i16 51, i16 52, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 120, i16 125, i16 126, i16 135, i16 137, i16 144, i16 157, i16 159, i16 160, i16 162, i16 167, i16 170, i16 172, i16 175, i16 177, i16 182, i16 183, i16 186, i16 188, i16 193, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 236, i16 237, i16 240, i16 241, i16 242, i16 243, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 458, i16 459, i16 460, i16 461, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 640, i16 651, i16 652, i16 654, i16 655, i16 669, i16 683, i16 685, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 698, i16 708, i16 711, i16 719, i16 720, i16 722, i16 724, i16 725, i16 726, i16 727, i16 728, i16 731, i16 732, i16 733, i16 735, i16 742, i16 743, i16 744, i16 745, i16 746, i16 747, i16 748, i16 756, i16 757, i16 758, i16 759, i16 761, i16 764, i16 765, i16 766, i16 767, i16 768, i16 774, i16 775, i16 776, i16 779, i16 780, i16 783, i16 784, i16 785, i16 786, i16 793, i16 798, i16 805, i16 806, i16 808, i16 810, i16 811, i16 812, i16 816, i16 818, i16 819, i16 820, i16 821, i16 826, i16 827, i16 828, i16 830, i16 831, i16 832, i16 833, i16 840, i16 843, i16 844, i16 859, i16 860, i16 862, i16 863, i16 877, i16 891, i16 893, i16 895, i16 896, i16 897, i16 898, i16 899, i16 900, i16 901, i16 902, i16 903, i16 906, i16 916, i16 919, i16 927, i16 928, i16 930, i16 932, i16 933, i16 934, i16 935, i16 936, i16 939, i16 940, i16 942, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 955, i16 963, i16 964, i16 965, i16 967, i16 970, i16 971, i16 972, i16 973, i16 979, i16 980, i16 981, i16 984, i16 985, i16 988, i16 989, i16 990, i16 991, i16 998, i16 1002, i16 1009, i16 1010, i16 1012, i16 1014, i16 1015, i16 1016, i16 1020, i16 1022, i16 1023, i16 1024, i16 1025, i16 1030, i16 1031, i16 1032, i16 1034, i16 1035, i16 1036, i16 1037, i16 1044, i16 1047, i16 1108, i16 1109, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 1117, i16 1118, i16 1119, i16 1120, i16 1121, i16 1122, i16 1123, i16 1124, i16 1125, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1132, i16 1133, i16 1134, i16 1139, i16 1140, i16 1141, i16 1142, i16 1143, i16 1147, i16 1157, i16 1158, i16 1183, i16 1184, i16 1185, i16 1186, i16 1187, i16 1188, i16 1189, i16 1190, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1206, i16 1207, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1235, i16 1236, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1242, i16 1243, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 1251, i16 1252, i16 1253, i16 1254, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1263, i16 1264, i16 1265, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1318, i16 1319, i16 1348, i16 1349, i16 1350, i16 1351, i16 1356, i16 1357, i16 1358, i16 1359, i16 1368, i16 1369, i16 1371, i16 1372, i16 1373, i16 1374, i16 1377, i16 1378, i16 1379, i16 1380, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 1390, i16 1391, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1400, i16 1403, i16 1404, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1418, i16 1419, i16 1420, i16 1421, i16 1422, i16 1423, i16 1424, i16 1425, i16 1426, i16 1427, i16 1428, i16 1429, i16 1430, i16 1431, i16 1432, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1440, i16 1441, i16 1442, i16 1443, i16 1444, i16 1445, i16 1446, i16 1447, i16 1448, i16 1449, i16 1450, i16 1451, i16 1452, i16 1453, i16 1454, i16 1455, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1481, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1507, i16 1513, i16 1520, i16 1521, i16 1523, i16 1529, i16 1530, i16 1531, i16 1533, i16 1536, i16 1537, i16 1540, i16 1542, i16 1543, i16 1544, i16 1545, i16 1548, i16 1551, i16 1552, i16 1554, i16 1555, i16 1558, i16 1559, i16 1560, i16 1562, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1571, i16 1578, i16 1584, i16 1585, i16 1587, i16 1593, i16 1596, i16 1598, i16 1601, i16 1602, i16 1605, i16 1607, i16 1608, i16 1609, i16 1610, i16 1613, i16 1616, i16 1617, i16 1619, i16 1620, i16 1623, i16 1624, i16 1625, i16 1627, i16 1629, i16 1630, i16 2, i16 25, i16 26, i16 27, i16 28, i16 29, i16 41, i16 48, i16 49, i16 132, i16 141, i16 151, i16 153, i16 155, i16 169, i16 185, i16 199, i16 200, i16 235, i16 299, i16 300, i16 301, i16 302, i16 304, i16 305, i16 307, i16 308, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 317, i16 318, i16 319, i16 320, i16 321, i16 323, i16 324, i16 325, i16 326, i16 328, i16 329, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 339, i16 341, i16 342, i16 344, i16 345, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 641, i16 642, i16 643, i16 644, i16 648, i16 649, i16 650, i16 653, i16 662, i16 663, i16 664, i16 665, i16 666, i16 682, i16 684, i16 705, i16 706, i16 707, i16 714, i16 715, i16 716, i16 721, i16 723, i16 730, i16 755, i16 760, i16 771, i16 772, i16 773, i16 794, i16 795, i16 796, i16 797, i16 807, i16 814, i16 815, i16 817, i16 823, i16 841, i16 842, i16 849, i16 850, i16 851, i16 852, i16 856, i16 857, i16 858, i16 861, i16 870, i16 871, i16 872, i16 873, i16 874, i16 890, i16 892, i16 913, i16 914, i16 915, i16 922, i16 923, i16 924, i16 929, i16 931, i16 938, i16 962, i16 966, i16 976, i16 977, i16 978, i16 999, i16 1000, i16 1001, i16 1011, i16 1018, i16 1019, i16 1021, i16 1027, i16 1045, i16 1046, i16 1048, i16 1084, i16 1085, i16 1086, i16 1087, i16 1088, i16 1089, i16 1090, i16 1091, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1099, i16 1100, i16 1101, i16 1102, i16 1103, i16 1104, i16 1105, i16 1106, i16 1107, i16 1110, i16 1137, i16 1138, i16 1144, i16 1145, i16 1146, i16 1154, i16 1155, i16 1156, i16 1159, i16 1175, i16 1176, i16 1177, i16 1178, i16 1179, i16 1180, i16 1181, i16 1182, i16 1191, i16 1192, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1310, i16 1311, i16 1312, i16 1313, i16 1314, i16 1315, i16 1316, i16 1317, i16 1346, i16 1347, i16 1352, i16 1353, i16 1354, i16 1355, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 1367, i16 1511, i16 1517, i16 1518, i16 1519, i16 1522, i16 1527, i16 1528, i16 1535, i16 1539, i16 1546, i16 1547, i16 1550, i16 1557, i16 1561, i16 1563, i16 1575, i16 1577, i16 1582, i16 1583, i16 1586, i16 1591, i16 1592, i16 1595, i16 1600, i16 1604, i16 1611, i16 1612, i16 1615, i16 1622, i16 1626, i16 1628, i16 4, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 322, i16 323, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 446, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 460, i16 464, i16 468, i16 472, i16 474, i16 475, i16 477, i16 478, i16 480, i16 482, i16 483, i16 485, i16 486, i16 488, i16 489, i16 490, i16 493, i16 494, i16 496, i16 497, i16 498, i16 501, i16 502, i16 504, i16 505, i16 506, i16 508, i16 509, i16 511, i16 512, i16 513, i16 514, i16 515, i16 516, i16 517, i16 518, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 714, i16 715, i16 716, i16 717, i16 718, i16 719, i16 720, i16 721, i16 722, i16 723, i16 724, i16 725, i16 726, i16 727, i16 728, i16 729, i16 730, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 737, i16 738, i16 739, i16 740, i16 741, i16 742, i16 743, i16 744, i16 745, i16 746, i16 747, i16 748, i16 749, i16 750, i16 751, i16 752, i16 755, i16 783, i16 784, i16 785, i16 788, i16 789, i16 790, i16 791, i16 792, i16 793, i16 794, i16 795, i16 796, i16 797, i16 798, i16 799, i16 800, i16 801, i16 802, i16 803, i16 804, i16 805, i16 806, i16 807, i16 808, i16 809, i16 810, i16 811, i16 812, i16 813, i16 814, i16 815, i16 816, i16 817, i16 818, i16 819, i16 824, i16 825, i16 828, i16 829, i16 830, i16 831, i16 832, i16 833, i16 834, i16 835, i16 840, i16 841, i16 842, i16 851, i16 852, i16 853, i16 854, i16 855, i16 856, i16 857, i16 858, i16 859, i16 860, i16 861, i16 864, i16 865, i16 868, i16 869, i16 870, i16 871, i16 874, i16 875, i16 876, i16 881, i16 882, i16 883, i16 884, i16 885, i16 886, i16 887, i16 888, i16 891, i16 892, i16 893, i16 894, i16 895, i16 896, i16 897, i16 904, i16 905, i16 908, i16 909, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 918, i16 919, i16 920, i16 921, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 929, i16 930, i16 931, i16 932, i16 933, i16 934, i16 935, i16 936, i16 937, i16 938, i16 939, i16 940, i16 941, i16 942, i16 943, i16 948, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 964, i16 965, i16 966, i16 967, i16 968, i16 969, i16 970, i16 971, i16 972, i16 977, i16 978, i16 979, i16 980, i16 981, i16 982, i16 983, i16 984, i16 987, i16 988, i16 989, i16 992, i16 993, i16 994, i16 995, i16 996, i16 997, i16 998, i16 999, i16 1000, i16 1001, i16 1002, i16 1003, i16 1004, i16 1005, i16 1006, i16 1007, i16 1008, i16 1012, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1023, i16 1024, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 1039, i16 1040, i16 1041, i16 1042, i16 1045, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 1058, i16 1059, i16 1060, i16 1061, i16 1062, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1072, i16 1073, i16 1074, i16 1078, i16 1079, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1103, i16 1104, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1112, i16 1113, i16 1116, i16 1117, i16 1120, i16 1121, i16 1122, i16 1123, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1138, i16 1139, i16 1140, i16 1143, i16 1144, i16 1145, i16 1146, i16 1147, i16 1148, i16 1149, i16 1150, i16 1151, i16 1152, i16 1153, i16 1154, i16 1155, i16 1156, i16 1157, i16 1158, i16 1159, i16 1160, i16 1161, i16 1162, i16 1163, i16 1164, i16 1169, i16 1170, i16 1173, i16 1174, i16 1175, i16 1176, i16 1177, i16 1178, i16 1183, i16 1184, i16 1185, i16 1186, i16 1189, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1244, i16 1245, i16 1246, i16 1249, i16 1250, i16 1251, i16 1252, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1265, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1281, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1298, i16 1299, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1314, i16 1315, i16 1318, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1328, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 1336, i16 1337, i16 1338, i16 1339, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 1360, i16 1369, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1404, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1427, i16 1428, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1481, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 1528, i16 1529, i16 1530, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 1539, i16 1540, i16 1541, i16 1542, i16 1543, i16 1544, i16 1545, i16 1546, i16 1547, i16 1548, i16 1549, i16 1550, i16 1551, i16 1552, i16 1553, i16 1554, i16 1555, i16 1556, i16 1557, i16 1558, i16 1559, i16 1560, i16 1561, i16 1562, i16 1563, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 1595, i16 1596, i16 1597, i16 1598, i16 1599, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1611, i16 1612, i16 1613, i16 1614, i16 1615, i16 1616, i16 1617, i16 1618, i16 1619, i16 1620, i16 1621, i16 1622, i16 1623, i16 1624, i16 1625, i16 1626, i16 1627, i16 1628, i16 1629, i16 1630, i16 1631, i16 1632, i16 1633, i16 1634, i16 1635, i16 1636, i16 1637, i16 1638, i16 1639, i16 1640, i16 1641, i16 1642, i16 1643, i16 1644, i16 1645, i16 1646, i16 1647, i16 1648, i16 1649, i16 1650, i16 1651, i16 1652, i16 1653, i16 1654, i16 1655, i16 1656, i16 1657, i16 1658, i16 1659, i16 1660, i16 1661, i16 1662, i16 1663, i16 1664, i16 1665, i16 1666, i16 1667, i16 1668, i16 1669, i16 1670, i16 1671, i16 1672, i16 1673, i16 1674, i16 1675, i16 1676, i16 1677, i16 1678, i16 1679, i16 1680, i16 1681, i16 1682, i16 1683, i16 1684, i16 1685, i16 1686, i16 1687, i16 1688, i16 1689, i16 1690, i16 1691, i16 1692, i16 1693, i16 1694, i16 1695, i16 1696, i16 1697, i16 1698, i16 1699, i16 1700, i16 1701, i16 1702, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 1717, i16 1718, i16 1719, i16 1720, i16 1721, i16 1722, i16 1723, i16 1724, i16 1725, i16 1726, i16 1727, i16 1728, i16 1729, i16 1730, i16 1731, i16 1732, i16 1733, i16 1734, i16 1735, i16 1736, i16 1737, i16 1738, i16 1739, i16 1740, i16 1741, i16 1742, i16 1743, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 1749, i16 1750, i16 1751, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 1758, i16 1759, i16 1760, i16 1761, i16 1762, i16 1763, i16 1764, i16 1765, i16 1766, i16 1767, i16 1768, i16 1769, i16 1770, i16 1771, i16 1772, i16 1773, i16 1774, i16 1775, i16 1776, i16 1777, i16 1778, i16 1779, i16 1780, i16 1781, i16 1782, i16 1783, i16 1784, i16 1785, i16 1786, i16 1787, i16 1788, i16 1789, i16 1790, i16 1791, i16 1792, i16 1793, i16 1794, i16 1795, i16 1796, i16 1797, i16 1798, i16 1799, i16 1800, i16 1801, i16 1802, i16 1803, i16 1804, i16 1805, i16 1806, i16 1807, i16 1808, i16 1809, i16 1810, i16 1811, i16 1812, i16 1813, i16 1814, i16 1815, i16 1816, i16 1817, i16 1818, i16 1819, i16 1820, i16 1821, i16 1822, i16 1823, i16 1824, i16 1825, i16 1826, i16 1827, i16 1828, i16 1829, i16 1830, i16 1831, i16 1832, i16 1833, i16 1834, i16 1835, i16 1836, i16 1837, i16 1838, i16 1839, i16 1840, i16 1841, i16 1842, i16 1843, i16 1844, i16 1845, i16 1846, i16 1847, i16 1848, i16 1849, i16 1850, i16 1851, i16 1852, i16 1853, i16 1854, i16 1855, i16 1856, i16 1857, i16 1858, i16 1859, i16 1860, i16 1861, i16 1862, i16 1863, i16 1864, i16 1865, i16 1866, i16 1867, i16 1868, i16 1869, i16 1870, i16 1871, i16 1872, i16 1873, i16 1874, i16 1875, i16 1876, i16 1877, i16 1878, i16 1879, i16 1880, i16 1881, i16 1882, i16 1883, i16 1884, i16 1885, i16 1886, i16 1887, i16 1888, i16 1889, i16 1890, i16 1891, i16 1892, i16 1893, i16 1894, i16 1895, i16 1896, i16 1897, i16 1898, i16 1899, i16 1900, i16 1901, i16 1902, i16 1903, i16 1904, i16 1905, i16 1906, i16 1907, i16 1908, i16 1909, i16 1910, i16 1911, i16 1912, i16 1913, i16 1914, i16 1915, i16 1916, i16 1917, i16 1918, i16 1919, i16 1920, i16 1921, i16 1922, i16 1923, i16 1924, i16 1925, i16 1926, i16 1927, i16 1928, i16 1929, i16 1930, i16 1931, i16 1932, i16 1933, i16 1934, i16 1935, i16 1936, i16 1937, i16 1938, i16 1939, i16 1940, i16 1941, i16 1942, i16 1943, i16 1944, i16 1945, i16 1946, i16 1947, i16 1948, i16 1949, i16 1950, i16 1951, i16 1952, i16 1953, i16 1954, i16 1955, i16 1956, i16 1957, i16 1958, i16 1959, i16 1960, i16 1961, i16 1962, i16 1963, i16 1964, i16 1965, i16 1966, i16 1967, i16 1968, i16 1969, i16 1970, i16 1971, i16 1972, i16 1973, i16 1974, i16 1975, i16 1976, i16 1977, i16 1978, i16 1979, i16 1980, i16 1981, i16 1982, i16 1983, i16 1984, i16 1985, i16 1986, i16 1987, i16 1988, i16 1989, i16 1990, i16 1991, i16 1992, i16 1993, i16 1994, i16 1995, i16 1996, i16 1997, i16 1998, i16 1999, i16 2000, i16 2001, i16 2002, i16 2003, i16 2004, i16 2005, i16 2006, i16 2007, i16 2008, i16 2009, i16 2010, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 458, i16 459, i16 460, i16 461, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 482, i16 483, i16 484, i16 485, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 494, i16 495, i16 496, i16 497, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 520, i16 521, i16 522, i16 523, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 714, i16 715, i16 716, i16 717, i16 718, i16 719, i16 720, i16 721, i16 722, i16 723, i16 724, i16 725, i16 726, i16 727, i16 728, i16 729, i16 730, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 737, i16 738, i16 739, i16 740, i16 741, i16 742, i16 743, i16 744, i16 745, i16 746, i16 747, i16 748, i16 749, i16 750, i16 751, i16 752, i16 753, i16 754, i16 755, i16 756, i16 757, i16 758, i16 759, i16 760, i16 761, i16 762, i16 763, i16 764, i16 765, i16 766, i16 767, i16 768, i16 769, i16 770, i16 771, i16 772, i16 773, i16 774, i16 775, i16 776, i16 777, i16 778, i16 779, i16 780, i16 781, i16 782, i16 783, i16 784, i16 785, i16 786, i16 787, i16 788, i16 789, i16 790, i16 791, i16 792, i16 793, i16 794, i16 795, i16 796, i16 797, i16 798, i16 799, i16 800, i16 801, i16 802, i16 803, i16 804, i16 805, i16 806, i16 807, i16 808, i16 809, i16 810, i16 811, i16 812, i16 813, i16 814, i16 815, i16 816, i16 817, i16 818, i16 819, i16 820, i16 821, i16 822, i16 823, i16 824, i16 825, i16 826, i16 827, i16 828, i16 829, i16 830, i16 831, i16 832, i16 833, i16 834, i16 835, i16 836, i16 837, i16 838, i16 839, i16 840, i16 841, i16 842, i16 843, i16 844, i16 845, i16 846, i16 847, i16 848, i16 849, i16 850, i16 851, i16 852, i16 853, i16 854, i16 855, i16 856, i16 857, i16 858, i16 859, i16 860, i16 861, i16 862, i16 863, i16 864, i16 865, i16 866, i16 867, i16 868, i16 869, i16 870, i16 871, i16 872, i16 873, i16 874, i16 875, i16 876, i16 877, i16 878, i16 879, i16 880, i16 881, i16 882, i16 883, i16 884, i16 885, i16 886, i16 887, i16 888, i16 889, i16 890, i16 891, i16 892, i16 893, i16 894, i16 895, i16 896, i16 897, i16 898, i16 899, i16 900, i16 901, i16 902, i16 903, i16 904, i16 905, i16 906, i16 907, i16 908, i16 909, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 918, i16 919, i16 920, i16 921, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 929, i16 930, i16 931, i16 932, i16 933, i16 934, i16 935, i16 936, i16 937, i16 938, i16 939, i16 940, i16 941, i16 942, i16 943, i16 944, i16 945, i16 946, i16 947, i16 948, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 964, i16 965, i16 966, i16 967, i16 968, i16 969, i16 970, i16 971, i16 972, i16 973, i16 974, i16 975, i16 976, i16 977, i16 978, i16 979, i16 980, i16 981, i16 982, i16 983, i16 984, i16 985, i16 986, i16 987, i16 988, i16 989, i16 990, i16 991, i16 992, i16 993, i16 994, i16 995, i16 996, i16 997, i16 998, i16 999, i16 1000, i16 1001, i16 1002, i16 1003, i16 1004, i16 1005, i16 1006, i16 1007, i16 1008, i16 1009, i16 1010, i16 1011, i16 1012, i16 1013, i16 1014, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1023, i16 1024, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 1037, i16 1038, i16 1039, i16 1040, i16 1041, i16 1042, i16 1043, i16 1044, i16 1045, i16 1046, i16 1047, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 1058, i16 1059, i16 1060, i16 1061, i16 1062, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1070, i16 1071, i16 1072, i16 1073, i16 1074, i16 1075, i16 1076, i16 1077, i16 1078, i16 1079, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1088, i16 1089, i16 1090, i16 1091, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1099, i16 1100, i16 1101, i16 1102, i16 1103, i16 1104, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 1117, i16 1118, i16 1119, i16 1120, i16 1121, i16 1122, i16 1123, i16 1124, i16 1125, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1132, i16 1133, i16 1134, i16 1135, i16 1136, i16 1137, i16 1138, i16 1139, i16 1140, i16 1141, i16 1142, i16 1143, i16 1144, i16 1145, i16 1146, i16 1147, i16 1148, i16 1149, i16 1150, i16 1151, i16 1152, i16 1153, i16 1154, i16 1155, i16 1156, i16 1157, i16 1158, i16 1159, i16 1160, i16 1161, i16 1162, i16 1163, i16 1164, i16 1165, i16 1166, i16 1167, i16 1168, i16 1169, i16 1170, i16 1171, i16 1172, i16 1173, i16 1174, i16 1175, i16 1176, i16 1177, i16 1178, i16 1179, i16 1180, i16 1181, i16 1182, i16 1183, i16 1184, i16 1185, i16 1186, i16 1187, i16 1188, i16 1189, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1206, i16 1207, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1235, i16 1236, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1242, i16 1243, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 1251, i16 1252, i16 1253, i16 1254, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1263, i16 1264, i16 1265, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1281, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1314, i16 1315, i16 1316, i16 1317, i16 1318, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 1367, i16 1368, i16 1369, i16 1370, i16 1371, i16 1372, i16 1373, i16 1374, i16 1375, i16 1376, i16 1377, i16 1378, i16 1379, i16 1380, i16 1381, i16 1382, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 1390, i16 1391, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1400, i16 1401, i16 1402, i16 1403, i16 1404, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1418, i16 1419, i16 1420, i16 1421, i16 1422, i16 1423, i16 1424, i16 1425, i16 1426, i16 1427, i16 1428, i16 1429, i16 1430, i16 1431, i16 1432, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1440, i16 1441, i16 1442, i16 1443, i16 1444, i16 1445, i16 1446, i16 1447, i16 1448, i16 1449, i16 1450, i16 1451, i16 1452, i16 1453, i16 1454, i16 1455, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1481, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 1528, i16 1529, i16 1530, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 1539, i16 1540, i16 1541, i16 1542, i16 1543, i16 1544, i16 1545, i16 1546, i16 1547, i16 1548, i16 1549, i16 1550, i16 1551, i16 1552, i16 1553, i16 1554, i16 1555, i16 1556, i16 1557, i16 1558, i16 1559, i16 1560, i16 1561, i16 1562, i16 1563, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 1595, i16 1596, i16 1597, i16 1598, i16 1599, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1611, i16 1612, i16 1613, i16 1614, i16 1615, i16 1616, i16 1617, i16 1618, i16 1619, i16 1620, i16 1621, i16 1622, i16 1623, i16 1624, i16 1625, i16 1626, i16 1627, i16 1628, i16 1629, i16 1630, i16 1631, i16 1632, i16 1633, i16 1634, i16 1635, i16 1636, i16 1637, i16 1638, i16 1639, i16 1640, i16 1641, i16 1642, i16 1643, i16 1644, i16 1645, i16 1646, i16 1647, i16 1648, i16 1649, i16 1650, i16 1651, i16 1652, i16 1653, i16 1654, i16 1655, i16 1656, i16 1657, i16 1658, i16 1659, i16 1660, i16 1661, i16 1662, i16 1663, i16 1664, i16 1665, i16 1666, i16 1667, i16 1668, i16 1669, i16 1670, i16 1671, i16 1672, i16 1673, i16 1674, i16 1675, i16 1676, i16 1677, i16 1678, i16 1679, i16 1680, i16 1681, i16 1682, i16 1683, i16 1684, i16 1685, i16 1686, i16 1687, i16 1688, i16 1689, i16 1690, i16 1691, i16 1692, i16 1693, i16 1694, i16 1695, i16 1696, i16 1697, i16 1698, i16 1699, i16 1700, i16 1701, i16 1702, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 1717, i16 1718, i16 1719, i16 1720, i16 1721, i16 1722, i16 1723, i16 1724, i16 1725, i16 1726, i16 1727, i16 1728, i16 1729, i16 1730, i16 1731, i16 1732, i16 1733, i16 1734, i16 1735, i16 1736, i16 1737, i16 1738, i16 1739, i16 1740, i16 1741, i16 1742, i16 1743, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 1749, i16 1750, i16 1751, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 1758, i16 1759, i16 1760, i16 1761, i16 1762, i16 1763, i16 1764, i16 1765, i16 1766, i16 1767, i16 1768, i16 1769, i16 1770, i16 1771, i16 1772, i16 1773, i16 1774, i16 1775, i16 1776, i16 1777, i16 1778, i16 1779, i16 1780, i16 1781, i16 1782, i16 1783, i16 1784, i16 1785, i16 1786, i16 1787, i16 1788, i16 1789, i16 1790, i16 1791, i16 1792, i16 1793, i16 1794, i16 1795, i16 1796, i16 1797, i16 1798, i16 1799, i16 1800, i16 1801, i16 1802, i16 1803, i16 1804, i16 1805, i16 1806, i16 1807, i16 1808, i16 1809, i16 1810, i16 1811, i16 1812, i16 1813, i16 1814, i16 1815, i16 1816, i16 1817, i16 1818, i16 1819, i16 1820, i16 1821, i16 1822, i16 1823, i16 1824, i16 1825, i16 1826, i16 1827, i16 1828, i16 1829, i16 1830, i16 1831, i16 1832, i16 1833, i16 1834, i16 1835, i16 1836, i16 1837, i16 1838, i16 1839, i16 1840, i16 1841, i16 1842, i16 1843, i16 1844, i16 1845, i16 1846, i16 1847, i16 1848, i16 1849, i16 1850, i16 1851, i16 1852, i16 1853, i16 1854, i16 1855, i16 1856, i16 1857, i16 1858, i16 1859, i16 1860, i16 1861, i16 1862, i16 1863, i16 1864, i16 1865, i16 1866, i16 1867, i16 1868, i16 1869, i16 1870, i16 1871, i16 1872, i16 1873, i16 1874, i16 1875, i16 1876, i16 1877, i16 1878, i16 1879, i16 1880, i16 1881, i16 1882, i16 1883, i16 1884, i16 1885, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 2, i16 1, i16 3, i16 1, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 457, i16 458, i16 459, i16 460, i16 461, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 482, i16 483, i16 484, i16 485, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 494, i16 495, i16 496, i16 497, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 520, i16 521, i16 522, i16 523, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 714, i16 715, i16 716, i16 717, i16 718, i16 719, i16 720, i16 721, i16 722, i16 723, i16 724, i16 725, i16 726, i16 727, i16 728, i16 729, i16 730, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 737, i16 738, i16 739, i16 740, i16 741, i16 742, i16 743, i16 744, i16 745, i16 746, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1188, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1206, i16 1207, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1235, i16 1236, i16 1187, i16 1190, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1242, i16 1243, i16 1187, i16 1190, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 1251, i16 1252, i16 1187, i16 1190, i16 1253, i16 1254, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1263, i16 1264, i16 1265, i16 1187, i16 1190, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1281, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1187, i16 1190, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1187, i16 1314, i16 1315, i16 1316, i16 1317, i16 1318, i16 1190, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1329, i16 1330, i16 1331, i16 1187, i16 1190, i16 1332, i16 1333, i16 1334, i16 1335, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 1187, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 1367, i16 1368, i16 1369, i16 1370, i16 1371, i16 1372, i16 1373, i16 1187, i16 1374, i16 1375, i16 1190, i16 1376, i16 1377, i16 1378, i16 1187, i16 1190, i16 1379, i16 1380, i16 1381, i16 1382, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 1187, i16 1190, i16 1390, i16 1391, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1400, i16 1401, i16 1402, i16 1403, i16 1404, i16 1187, i16 1190, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1187, i16 1190, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1418, i16 1419, i16 1420, i16 1421, i16 1422, i16 1423, i16 1187, i16 1190, i16 1424, i16 1425, i16 1426, i16 1427, i16 1428, i16 1429, i16 1430, i16 1431, i16 1432, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1440, i16 1441, i16 1442, i16 1443, i16 1444, i16 1445, i16 1446, i16 1447, i16 1448, i16 1449, i16 1450, i16 1451, i16 1452, i16 1453, i16 1454, i16 1455, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1187, i16 1190, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1187, i16 1190, i16 1481, i16 1187, i16 1190, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1187, i16 1190, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1187, i16 1513, i16 1514, i16 1515, i16 1190, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 1528, i16 1529, i16 1530, i16 1187, i16 1190, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 1539, i16 1540, i16 1541, i16 1542, i16 1543, i16 1544, i16 1545, i16 1546, i16 1547, i16 1548, i16 1549, i16 1550, i16 1551, i16 1552, i16 1553, i16 1554, i16 1555, i16 1556, i16 1557, i16 1558, i16 1559, i16 1560, i16 1561, i16 1562, i16 1563, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1187, i16 1187, i16 1187, i16 1190, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1187, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 1595, i16 1596, i16 1597, i16 1598, i16 1599, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1187, i16 1611, i16 1612, i16 1613, i16 1614, i16 1611, i16 1615, i16 1611, i16 1616, i16 1611, i16 1617, i16 1611, i16 1618, i16 1619, i16 1620, i16 1611, i16 1621, i16 1611, i16 1622, i16 1623, i16 1624, i16 1611, i16 1625, i16 1611, i16 1626, i16 1627, i16 1628, i16 1629, i16 1630, i16 1631, i16 1611, i16 1632, i16 1611, i16 1633, i16 1611, i16 1634, i16 1611, i16 1635, i16 1611, i16 1636, i16 1611, i16 1637, i16 1638, i16 1639, i16 1611, i16 1640, i16 1611, i16 1641, i16 1611, i16 1642, i16 1643, i16 1611, i16 1644, i16 1611, i16 1645, i16 1646, i16 1647, i16 1648, i16 1649, i16 1650, i16 1611, i16 1651, i16 1611, i16 1652, i16 1611, i16 1653, i16 1611, i16 1654, i16 1655, i16 1656, i16 1657, i16 1658, i16 1657, i16 1659, i16 1657, i16 1660, i16 1657, i16 1661, i16 1657, i16 1662, i16 1657, i16 1663, i16 1657, i16 1664, i16 1657, i16 1665, i16 1657, i16 1666, i16 1657, i16 1667, i16 1657, i16 1668, i16 1657, i16 1669, i16 1657, i16 1670, i16 1657, i16 1671, i16 1657, i16 1672, i16 1657, i16 1673, i16 1657, i16 1674, i16 1657, i16 1675, i16 1657, i16 1676, i16 1657, i16 1677, i16 1657, i16 1678, i16 1657, i16 1679, i16 1657, i16 1680, i16 1657, i16 1681, i16 1657, i16 1682, i16 1657, i16 1683, i16 1657, i16 1684, i16 1657, i16 1685, i16 1657, i16 1686, i16 1657, i16 1687, i16 1657, i16 1688, i16 1657, i16 1689, i16 1657, i16 1690, i16 1657, i16 1691, i16 1657, i16 1692, i16 1657, i16 1693, i16 1657, i16 1694, i16 1657, i16 1695, i16 1657, i16 1696, i16 1657, i16 1697, i16 1657, i16 1698, i16 1699, i16 1700, i16 1657, i16 1701, i16 1699, i16 1702, i16 1657, i16 1703, i16 1657, i16 1704, i16 1657, i16 1705, i16 1657, i16 1706, i16 1657, i16 1707, i16 1657, i16 1708, i16 1657, i16 1709, i16 1657, i16 1710, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1189, i16 1189, i16 1189, i16 1189, i16 1712, i16 1712, i16 1713, i16 1714, i16 1714, i16 1714, i16 1714, i16 1714, i16 1714, i16 1712, i16 1712, i16 1715, i16 1715, i16 1715, i16 1712, i16 1716, i16 1716, i16 1716, i16 1716, i16 1712, i16 1712, i16 1712, i16 1717, i16 1717, i16 1717, i16 1717, i16 1717, i16 1717, i16 1717, i16 1712, i16 1718, i16 1718, i16 1718, i16 1718, i16 1712, i16 1719, i16 1719, i16 1719, i16 1719, i16 1712, i16 1720, i16 1720, i16 1720, i16 1720, i16 1712, i16 1721, i16 1721, i16 1721, i16 1721, i16 1712, i16 1722, i16 1722, i16 1712, i16 1723, i16 1723, i16 1712, i16 1724, i16 1724, i16 1712, i16 1725, i16 1725, i16 1712, i16 1726, i16 1726, i16 1726, i16 1726, i16 1712, i16 1727, i16 1727, i16 1727, i16 1727, i16 1712, i16 1728, i16 1728, i16 1728, i16 1728, i16 1712, i16 1729, i16 1729, i16 1729, i16 1729, i16 1712, i16 1730, i16 1730, i16 1730, i16 1730, i16 1712, i16 1731, i16 1731, i16 1731, i16 1731, i16 1712, i16 1732, i16 1732, i16 1732, i16 1732, i16 1712, i16 1733, i16 1733, i16 1733, i16 1733, i16 1712, i16 1734, i16 1734, i16 1734, i16 1734, i16 1712, i16 1735, i16 1735, i16 1735, i16 1735, i16 1712, i16 1736, i16 1736, i16 1736, i16 1736, i16 1712, i16 1737, i16 1737, i16 1737, i16 1737, i16 1712, i16 1738, i16 1738, i16 1738, i16 1738, i16 1712, i16 1739, i16 1739, i16 1739, i16 1739, i16 1712, i16 1740, i16 1740, i16 1740, i16 1740, i16 1712, i16 1741, i16 1741, i16 1712, i16 1742, i16 1742, i16 1712, i16 1743, i16 1743, i16 1743, i16 1743, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 1749, i16 1750, i16 1751, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 1758, i16 1759, i16 1760, i16 1761, i16 1762, i16 1712, i16 1763, i16 1763, i16 1763, i16 1712, i16 1764, i16 1764, i16 1764, i16 1712, i16 1765, i16 1765, i16 1765, i16 1765, i16 1712, i16 1766, i16 1766, i16 1766, i16 1712, i16 1767, i16 1767, i16 1767, i16 1712, i16 1768, i16 1768, i16 1768, i16 1768, i16 1712, i16 1769, i16 1769, i16 1769, i16 1712, i16 1770, i16 1770, i16 1770, i16 1712, i16 1771, i16 1771, i16 1771, i16 1771, i16 1712, i16 1772, i16 1772, i16 1772, i16 1712, i16 1773, i16 1773, i16 1773, i16 1712, i16 1774, i16 1774, i16 1774, i16 1712, i16 1775, i16 1775, i16 1775, i16 1712, i16 1776, i16 1776, i16 1776, i16 1712, i16 1777, i16 1777, i16 1777, i16 1712, i16 1778, i16 1778, i16 1778, i16 1712, i16 1779, i16 1779, i16 1779, i16 1712, i16 1780, i16 1780, i16 1780, i16 1780, i16 1780, i16 1712, i16 1781, i16 1781, i16 1781, i16 1712, i16 1782, i16 1782, i16 1782, i16 1712, i16 1783, i16 1712, i16 1784, i16 1712, i16 1785, i16 1712, i16 1786, i16 1712, i16 1787, i16 1712, i16 1788, i16 1788, i16 1788, i16 1788, i16 1788, i16 1712, i16 1789, i16 1789, i16 1789, i16 1789, i16 1789, i16 1712, i16 1790, i16 1790, i16 1790, i16 1790, i16 1790, i16 1712, i16 1791, i16 1791, i16 1791, i16 1791, i16 1791, i16 1712, i16 1792, i16 1792, i16 1792, i16 1792, i16 1792, i16 1712, i16 1793, i16 1712, i16 1794, i16 1712, i16 1795, i16 1712, i16 1796, i16 1712, i16 1797, i16 1712, i16 1798, i16 1798, i16 1798, i16 1712, i16 1799, i16 1799, i16 1799, i16 1712, i16 1800, i16 1800, i16 1800, i16 1712, i16 1801, i16 1712, i16 1802, i16 1712, i16 1803, i16 1712, i16 1804, i16 1712, i16 1805, i16 1712, i16 1806, i16 1806, i16 1806, i16 1712, i16 1807, i16 1712, i16 1808, i16 1712, i16 1809, i16 1712, i16 1810, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2093, i16 2094, i16 2095, i16 2096, i16 2097, i16 2098, i16 2099, i16 2100, i16 2101, i16 2102, i16 2103, i16 2104, i16 2105, i16 2106, i16 2107, i16 2108, i16 2109, i16 2110, i16 2111, i16 2112, i16 2113, i16 2114, i16 2115, i16 2116, i16 2117, i16 2118, i16 2119, i16 2120, i16 2121, i16 2122, i16 2123, i16 2124, i16 2125, i16 2126, i16 2127, i16 2128, i16 2129, i16 2130, i16 2131, i16 2132, i16 2133, i16 2134, i16 2135, i16 2136, i16 2137, i16 2138, i16 2139, i16 2140, i16 2141, i16 2142, i16 2143, i16 2144, i16 2145, i16 2146, i16 2147, i16 2148, i16 2149, i16 2150, i16 2151, i16 2091, i16 2152, i16 2153, i16 2154, i16 2155, i16 2156, i16 2157, i16 2093, i16 2158, i16 2159, i16 2160, i16 2161, i16 2162, i16 2163, i16 2164, i16 2091, i16 2093, i16 2165, i16 2166, i16 2167, i16 2168, i16 2169, i16 2170, i16 2171, i16 2172, i16 2173, i16 2174, i16 2175, i16 2176, i16 2177, i16 2178, i16 2179, i16 2091, i16 2093, i16 2180, i16 2181, i16 2182, i16 2183, i16 2184, i16 2185, i16 2186, i16 2187, i16 2188, i16 2189, i16 2190, i16 2191, i16 2192, i16 2193, i16 2194, i16 2091, i16 2093, i16 2195, i16 2196, i16 2197, i16 2198, i16 2199, i16 2200, i16 2201, i16 2202, i16 2203, i16 2204, i16 2205, i16 2206, i16 2207, i16 2208, i16 2209, i16 2210, i16 2211, i16 2212, i16 2213, i16 2214, i16 2215, i16 2216, i16 2217, i16 2218, i16 2219, i16 2220, i16 2221, i16 2222, i16 2223, i16 2224, i16 2225, i16 2226, i16 2227, i16 2228, i16 2229, i16 2230, i16 2231, i16 2232, i16 2233, i16 2234, i16 2235, i16 2236, i16 2237, i16 2238, i16 2239, i16 2240, i16 2241, i16 2242, i16 2243, i16 2091, i16 2093, i16 2244, i16 2245, i16 2246, i16 2247, i16 2248, i16 2091, i16 2249, i16 2250, i16 2251, i16 2252, i16 2253, i16 2093, i16 2254, i16 2255, i16 2256, i16 2257, i16 2258, i16 2259, i16 2260, i16 2261, i16 2262, i16 2263, i16 2264, i16 2265, i16 2266, i16 2267, i16 2268, i16 2269, i16 2270, i16 2091, i16 2093, i16 2271, i16 2272, i16 2273, i16 2274, i16 2275, i16 2276, i16 2277, i16 2278, i16 2279, i16 2280, i16 2281, i16 2282, i16 2283, i16 2284, i16 2285, i16 2091, i16 2093, i16 2286, i16 2287, i16 2093, i16 2288, i16 2289, i16 2290, i16 2291, i16 2292, i16 2293, i16 2294, i16 2295, i16 2296, i16 2297, i16 2298, i16 2299, i16 2300, i16 2301, i16 2302, i16 2303, i16 2304, i16 2305, i16 2306, i16 2307, i16 2308, i16 2309, i16 2310, i16 2311, i16 2312, i16 2313, i16 2314, i16 2315, i16 2316, i16 2317, i16 2318, i16 2319, i16 2320, i16 2091, i16 2321, i16 2322, i16 2093, i16 2323, i16 2324, i16 2325, i16 2091, i16 2093, i16 2326, i16 2327, i16 2328, i16 2329, i16 2330, i16 2331, i16 2332, i16 2333, i16 2334, i16 2335, i16 2336, i16 2337, i16 2338, i16 2091, i16 2339, i16 2093, i16 2340, i16 2341, i16 2342, i16 2343, i16 2344, i16 2345, i16 2346, i16 2347, i16 2348, i16 2349, i16 2350, i16 2351, i16 2352, i16 2353, i16 2354, i16 2355, i16 2356, i16 2357, i16 2358, i16 2091, i16 2093, i16 2359, i16 2360, i16 2361, i16 2362, i16 2363, i16 2364, i16 2365, i16 2091, i16 2093, i16 2366, i16 2367, i16 2368, i16 2369, i16 2370, i16 2371, i16 2372, i16 2373, i16 2374, i16 2375, i16 2376, i16 2377, i16 2378, i16 2379, i16 2380, i16 2381, i16 2382, i16 2383, i16 2091, i16 2384, i16 2385, i16 2093, i16 2386, i16 2387, i16 2388, i16 2389, i16 2390, i16 2391, i16 2392, i16 2393, i16 2394, i16 2395, i16 2396, i16 2397, i16 2398, i16 2399, i16 2400, i16 2401, i16 2402, i16 2403, i16 2404, i16 2405, i16 2406, i16 2407, i16 2408, i16 2409, i16 2410, i16 2411, i16 2412, i16 2413, i16 2414, i16 2415, i16 2416, i16 2417, i16 2418, i16 2419, i16 2420, i16 2421, i16 2422, i16 2423, i16 2424, i16 2425, i16 2426, i16 2427, i16 2428, i16 2429, i16 2430, i16 2431, i16 2432, i16 2433, i16 2434, i16 2435, i16 2436, i16 2437, i16 2438, i16 2439, i16 2440, i16 2441, i16 2442, i16 2443, i16 2444, i16 2445, i16 2446, i16 2447, i16 2448, i16 2449, i16 2450, i16 2451, i16 2091, i16 2452, i16 2453, i16 2093, i16 2454, i16 2455, i16 2456, i16 2457, i16 2458, i16 2091, i16 2093, i16 2459, i16 2091, i16 2093, i16 2460, i16 2461, i16 2462, i16 2463, i16 2464, i16 2465, i16 2466, i16 2467, i16 2468, i16 2469, i16 2470, i16 2471, i16 2472, i16 2473, i16 2474, i16 2475, i16 2476, i16 2178, i16 2477, i16 2091, i16 2093, i16 2478, i16 2479, i16 2480, i16 2481, i16 2482, i16 2483, i16 2484, i16 2485, i16 2486, i16 2487, i16 2488, i16 2489, i16 2490, i16 2491, i16 2492, i16 2493, i16 2178, i16 2494, i16 2495, i16 2496, i16 2091, i16 2497, i16 2498, i16 2499, i16 2093, i16 2500, i16 2501, i16 2502, i16 2503, i16 2504, i16 2505, i16 2506, i16 2507, i16 2508, i16 2509, i16 2510, i16 2511, i16 2512, i16 2513, i16 2514, i16 2091, i16 2515, i16 2516, i16 2093, i16 2517, i16 2518, i16 2519, i16 2520, i16 2521, i16 2522, i16 2523, i16 2524, i16 2525, i16 2526, i16 2527, i16 2528, i16 2529, i16 2530, i16 2531, i16 2532, i16 2533, i16 2534, i16 2535, i16 2536, i16 2537, i16 2538, i16 2539, i16 2540, i16 2541, i16 2542, i16 2543, i16 2544, i16 2545, i16 2546, i16 2547, i16 2548, i16 2549, i16 2550, i16 2551, i16 2552, i16 2553, i16 2554, i16 2555, i16 2556, i16 2557, i16 2558, i16 2559, i16 2560, i16 2561, i16 2562, i16 2563, i16 2564, i16 2565, i16 2566, i16 2567, i16 2568, i16 2569, i16 2570, i16 2571, i16 2572, i16 2573, i16 2574, i16 2575, i16 2576, i16 2577, i16 2091, i16 2093, i16 2578, i16 2579, i16 2580, i16 2581, i16 2582, i16 2091, i16 2093, i16 2583, i16 2584, i16 2585, i16 2586, i16 2587, i16 2588, i16 2589, i16 2590, i16 2591, i16 2592, i16 2593, i16 2594, i16 2595, i16 2091, i16 2093, i16 2596, i16 2597, i16 2598, i16 2599, i16 2600, i16 2091, i16 2093, i16 2601, i16 2602, i16 2603, i16 2604, i16 2605, i16 2606, i16 2607, i16 2608, i16 2609, i16 2610, i16 2611, i16 2612, i16 2613, i16 2614, i16 2615, i16 2616, i16 2617, i16 2091, i16 2093, i16 2618, i16 2619, i16 2620, i16 2621, i16 2622, i16 2623, i16 2624, i16 2625, i16 2626, i16 2627, i16 2628, i16 2629, i16 2630, i16 2091, i16 2178, i16 2631, i16 2632, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2634, i16 2635, i16 2636, i16 2637, i16 2638, i16 2639, i16 2640, i16 2641, i16 2642, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2643, i16 2092, i16 2644, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2645, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2646, i16 2647, i16 2648, i16 2649, i16 2650, i16 2647, i16 2651, i16 2647, i16 2652, i16 2647, i16 2653, i16 2647, i16 2654, i16 2655, i16 2656, i16 2647, i16 2657, i16 2647, i16 2658, i16 2659, i16 2660, i16 2647, i16 2661, i16 2647, i16 2662, i16 2663, i16 2664, i16 2665, i16 2666, i16 2667, i16 2647, i16 2668, i16 2647, i16 2669, i16 2647, i16 2670, i16 2647, i16 2671, i16 2647, i16 2672, i16 2647, i16 2673, i16 2674, i16 2675, i16 2647, i16 2676, i16 2647, i16 2677, i16 2647, i16 2678, i16 2679, i16 2647, i16 2680, i16 2647, i16 2681, i16 2682, i16 2683, i16 2684, i16 2685, i16 2686, i16 2647, i16 2687, i16 2647, i16 2688, i16 2647, i16 2689, i16 2647, i16 2690, i16 2691, i16 2692, i16 2693, i16 2694, i16 2693, i16 2695, i16 2693, i16 2696, i16 2693, i16 2697, i16 2693, i16 2698, i16 2693, i16 2699, i16 2693, i16 2700, i16 2693, i16 2701, i16 2693, i16 2702, i16 2693, i16 2703, i16 2693, i16 2704, i16 2693, i16 2705, i16 2693, i16 2706, i16 2693, i16 2707, i16 2693, i16 2708, i16 2693, i16 2709, i16 2693, i16 2710, i16 2693, i16 2711, i16 2693, i16 2712, i16 2693, i16 2713, i16 2693, i16 2714, i16 2693, i16 2715, i16 2693, i16 2716, i16 2693, i16 2717, i16 2693, i16 2718, i16 2693, i16 2719, i16 2693, i16 2720, i16 2693, i16 2721, i16 2693, i16 2722, i16 2693, i16 2723, i16 2693, i16 2724, i16 2693, i16 2725, i16 2693, i16 2726, i16 2693, i16 2727, i16 2693, i16 2728, i16 2693, i16 2729, i16 2693, i16 2730, i16 2693, i16 2731, i16 2693, i16 2732, i16 2693, i16 2733, i16 2693, i16 2734, i16 2735, i16 2736, i16 2693, i16 2737, i16 2735, i16 2738, i16 2693, i16 2739, i16 2693, i16 2740, i16 2693, i16 2741, i16 2693, i16 2742, i16 2693, i16 2743, i16 2693, i16 2744, i16 2693, i16 2745, i16 2693, i16 2746, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2092, i16 2092, i16 2092, i16 2092, i16 2632, i16 2632, i16 2748, i16 2749, i16 2749, i16 2749, i16 2749, i16 2749, i16 2749, i16 2632, i16 2632, i16 2750, i16 2750, i16 2750, i16 2632, i16 2751, i16 2751, i16 2751, i16 2751, i16 2632, i16 2632, i16 2632, i16 2752, i16 2752, i16 2752, i16 2752, i16 2752, i16 2752, i16 2752, i16 2632, i16 2753, i16 2753, i16 2753, i16 2753, i16 2632, i16 2754, i16 2754, i16 2754, i16 2754, i16 2632, i16 2755, i16 2755, i16 2755, i16 2755, i16 2632, i16 2756, i16 2756, i16 2756, i16 2756, i16 2632, i16 2757, i16 2757, i16 2632, i16 2758, i16 2758, i16 2632, i16 2759, i16 2759, i16 2632, i16 2760, i16 2760, i16 2632, i16 2761, i16 2761, i16 2761, i16 2761, i16 2632, i16 2762, i16 2762, i16 2762, i16 2762, i16 2632, i16 2763, i16 2763, i16 2763, i16 2763, i16 2632, i16 2764, i16 2764, i16 2764, i16 2764, i16 2632, i16 2765, i16 2765, i16 2765, i16 2765, i16 2632, i16 2766, i16 2766, i16 2766, i16 2766, i16 2632, i16 2767, i16 2767, i16 2767, i16 2767, i16 2632, i16 2768, i16 2768, i16 2768, i16 2768, i16 2632, i16 2769, i16 2769, i16 2769, i16 2769, i16 2632, i16 2770, i16 2770, i16 2770, i16 2770, i16 2632, i16 2771, i16 2771, i16 2771, i16 2771, i16 2632, i16 2772, i16 2772, i16 2772, i16 2772, i16 2632, i16 2773, i16 2773, i16 2773, i16 2773, i16 2632, i16 2774, i16 2774, i16 2774, i16 2774, i16 2632, i16 2775, i16 2775, i16 2775, i16 2775, i16 2632, i16 2776, i16 2776, i16 2632, i16 2777, i16 2777, i16 2632, i16 2778, i16 2778, i16 2778, i16 2778, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2633, i16 2634, i16 2635, i16 2636, i16 2637, i16 2638, i16 2639, i16 2640, i16 2641, i16 2642, i16 2780, i16 2781, i16 2782, i16 2783, i16 2784, i16 2785, i16 2786, i16 2787, i16 2632, i16 2788, i16 2788, i16 2788, i16 2632, i16 2789, i16 2789, i16 2789, i16 2632, i16 2790, i16 2790, i16 2790, i16 2790, i16 2632, i16 2791, i16 2791, i16 2791, i16 2632, i16 2792, i16 2792, i16 2792, i16 2632, i16 2793, i16 2793, i16 2793, i16 2793, i16 2632, i16 2794, i16 2794, i16 2794, i16 2632, i16 2795, i16 2795, i16 2795, i16 2632, i16 2796, i16 2796, i16 2796, i16 2796, i16 2632, i16 2797, i16 2797, i16 2797, i16 2632, i16 2798, i16 2798, i16 2798, i16 2632, i16 2799, i16 2799, i16 2799, i16 2632, i16 2800, i16 2800, i16 2800, i16 2632, i16 2801, i16 2801, i16 2801, i16 2632, i16 2802, i16 2802, i16 2802, i16 2632, i16 2803, i16 2803, i16 2803, i16 2632, i16 2804, i16 2804, i16 2804, i16 2632, i16 2805, i16 2805, i16 2805, i16 2805, i16 2805, i16 2632, i16 2806, i16 2806, i16 2806, i16 2632, i16 2807, i16 2807, i16 2807, i16 2632, i16 2808, i16 2632, i16 2809, i16 2632, i16 2810, i16 2632, i16 2811, i16 2632, i16 2812, i16 2632, i16 2813, i16 2813, i16 2813, i16 2813, i16 2813, i16 2632, i16 2814, i16 2814, i16 2814, i16 2814, i16 2814, i16 2632, i16 2815, i16 2815, i16 2815, i16 2815, i16 2815, i16 2632, i16 2816, i16 2816, i16 2816, i16 2816, i16 2816, i16 2632, i16 2817, i16 2817, i16 2817, i16 2817, i16 2817, i16 2632, i16 2818, i16 2632, i16 2819, i16 2632, i16 2820, i16 2632, i16 2821, i16 2632, i16 2822, i16 2632, i16 2823, i16 2823, i16 2823, i16 2632, i16 2824, i16 2824, i16 2824, i16 2632, i16 2825, i16 2825, i16 2825, i16 2632, i16 2826, i16 2632, i16 2827, i16 2632, i16 2828, i16 2632, i16 2829, i16 2632, i16 2830, i16 2632, i16 2831, i16 2831, i16 2831, i16 2632, i16 2832, i16 2632, i16 2833, i16 2632, i16 2834, i16 2632, i16 2835, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2837, i16 2836, i16 2838, i16 2836, i16 2839, i16 2836, i16 2840, i16 2836, i16 2841, i16 2836, i16 2842, i16 2836, i16 2843, i16 2836, i16 2844, i16 2836, i16 2845, i16 2836, i16 2846, i16 2836, i16 2847, i16 2836, i16 2848, i16 2836, i16 2849, i16 2836, i16 2850, i16 2836, i16 2851, i16 2836, i16 2852, i16 2836, i16 2853, i16 2836, i16 2854, i16 2836, i16 2855, i16 2836, i16 2856, i16 2836, i16 2857, i16 2836, i16 2858, i16 2836, i16 2859, i16 2836, i16 2860, i16 2836, i16 2861, i16 2836, i16 2862, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2836, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2646, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2866, i16 2867, i16 2866, i16 2868, i16 2866, i16 2869, i16 2866, i16 2870, i16 2866, i16 2871, i16 2866, i16 2872, i16 2866, i16 2873, i16 2866, i16 2874, i16 2866, i16 2875, i16 2866, i16 2876, i16 2877, i16 2878, i16 2877, i16 2879, i16 2877, i16 2880, i16 2877, i16 2881, i16 2877, i16 2882, i16 2877, i16 2883, i16 2877, i16 2884, i16 2877, i16 2885, i16 2877, i16 2886, i16 2877, i16 2887, i16 2877, i16 2888, i16 2877, i16 2889, i16 2877, i16 2890, i16 2877, i16 2891, i16 2877, i16 2892, i16 2877, i16 2893, i16 2877, i16 2894, i16 2877, i16 2895, i16 2877, i16 2896, i16 2877, i16 2897, i16 2877, i16 2898, i16 2877, i16 2899, i16 2877, i16 2900, i16 2877, i16 2901, i16 2877, i16 2902, i16 2877, i16 2903, i16 2866, i16 2904, i16 2905, i16 2906, i16 2907, i16 2908, i16 2866, i16 2909, i16 2910, i16 2911, i16 2912, i16 2913, i16 2866, i16 2914, i16 2915, i16 2916, i16 2917, i16 2918, i16 2866, i16 2919, i16 2920, i16 2921, i16 2922, i16 2923, i16 2866, i16 2924, i16 2925, i16 2926, i16 2927, i16 2928, i16 2866, i16 2929, i16 2930, i16 2931, i16 2932, i16 2933, i16 2866, i16 2934, i16 2935, i16 2936, i16 2937, i16 2938, i16 2866, i16 2939, i16 2940, i16 2941, i16 2942, i16 2943, i16 2866, i16 2944, i16 2945, i16 2946, i16 2947, i16 2948, i16 2866, i16 2949, i16 2950, i16 2951, i16 2952, i16 2953, i16 2866, i16 2954, i16 2955, i16 2956, i16 2957, i16 2958, i16 2866, i16 2959, i16 2960, i16 2961, i16 2962, i16 2963, i16 2866, i16 2964, i16 2965, i16 2966, i16 2967, i16 2968, i16 2866, i16 2969, i16 2970, i16 2971, i16 2972, i16 2973, i16 2866, i16 2974, i16 2975, i16 2976, i16 2977, i16 2978, i16 2866, i16 2979, i16 2980, i16 2981, i16 2982, i16 2983, i16 2866, i16 2984, i16 2985, i16 2986, i16 2987, i16 2988, i16 2866, i16 2989, i16 2990, i16 2991, i16 2992, i16 2993, i16 2866, i16 2994, i16 2995, i16 2996, i16 2997, i16 2998, i16 2866, i16 2999, i16 3000, i16 3001, i16 3002, i16 3003, i16 2866, i16 3004, i16 3005, i16 3006, i16 3007, i16 3008, i16 2866, i16 3009, i16 3010, i16 3011, i16 3012, i16 3013, i16 2866, i16 3014, i16 3015, i16 3016, i16 3017, i16 3018, i16 2866, i16 3019, i16 3020, i16 3021, i16 3022, i16 3023, i16 2866, i16 3024, i16 3025, i16 3026, i16 3027, i16 3028, i16 2866, i16 3029, i16 3030, i16 3031, i16 3032, i16 3033, i16 2866, i16 3034, i16 3035, i16 3036, i16 3037, i16 3038, i16 2866, i16 3039, i16 3040, i16 3041, i16 3042, i16 3043, i16 2866, i16 3044, i16 3045, i16 3046, i16 3047, i16 3048, i16 2866, i16 3049, i16 3050, i16 3051, i16 3052, i16 3053, i16 2866, i16 3054, i16 3055, i16 3056, i16 3057, i16 3058, i16 2866, i16 3059, i16 3060, i16 3061, i16 3062, i16 3063, i16 2866, i16 3064, i16 3065, i16 3066, i16 3067, i16 3068, i16 2866, i16 3069, i16 3070, i16 3071, i16 3072, i16 3073, i16 2866, i16 3074, i16 3075, i16 3076, i16 3077, i16 3078, i16 2866, i16 2866, i16 3079, i16 3080, i16 3081, i16 3082, i16 3083, i16 2866, i16 2866, i16 3084, i16 3085, i16 3086, i16 3087, i16 3088, i16 2866, i16 3089, i16 3090, i16 3091, i16 3092, i16 3093, i16 2866, i16 3094, i16 3095, i16 3096, i16 3097, i16 3098, i16 2866, i16 3099, i16 3100, i16 3101, i16 3102, i16 3103, i16 2866, i16 3104, i16 3105, i16 3106, i16 3107, i16 3108, i16 2866, i16 3109, i16 3110, i16 3111, i16 3112, i16 3113, i16 2866, i16 3114, i16 3115, i16 3116, i16 3117, i16 3118, i16 2866, i16 3119, i16 3120, i16 3121, i16 3122, i16 3123, i16 2866, i16 2866, i16 2866, i16 2866, i16 3124, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 99, i16 104, i16 112, i16 117, i16 122, i16 124, i16 126, i16 128, i16 130, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 1162, i16 296, i16 0, i16 704, i16 0, i16 1166, i16 293, i16 0, i16 714, i16 0, i16 1168, i16 296, i16 0, i16 1167, i16 293, i16 0, i16 723, i16 0, i16 1169, i16 299, i16 0, i16 728, i16 0, i16 1170, i16 293, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 49, i16 51, i16 53, i16 55, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 83, i16 85, i16 87, i16 89, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 1174, i16 169, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 1176, i16 169, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 1173, i16 169, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 1175, i16 169, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 1222, i16 411, i16 0, i16 1221, i16 491, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 1219, i16 411, i16 0, i16 1220, i16 491, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 48, i16 50, i16 52, i16 54, i16 62, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 94, i16 96, i16 98, i16 100, i16 108, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 138, i16 140, i16 142, i16 144, i16 146, i16 148, i16 478, i16 0, i16 1265, i16 1008, i16 0, i16 1264, i16 1047, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 1269, i16 421, i16 0, i16 1268, i16 501, i16 0, i16 504, i16 0, i16 1273, i16 421, i16 0, i16 1272, i16 501, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 1262, i16 1008, i16 0, i16 1263, i16 1047, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 1266, i16 421, i16 0, i16 1267, i16 501, i16 0, i16 425, i16 0, i16 1270, i16 421, i16 0, i16 1271, i16 501, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 52, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 92, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 1318, i16 989, i16 0, i16 1317, i16 1029, i16 0, i16 491, i16 0, i16 1322, i16 401, i16 0, i16 1321, i16 481, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 1315, i16 989, i16 0, i16 1316, i16 1029, i16 0, i16 411, i16 0, i16 1319, i16 401, i16 0, i16 1320, i16 481, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 1222, i16 411, i16 0, i16 1221, i16 491, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1328, i16 413, i16 0, i16 1327, i16 493, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 1219, i16 411, i16 0, i16 1220, i16 491, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1325, i16 413, i16 0, i16 1326, i16 493, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 62, i16 142, i16 144, i16 168, i16 170, i16 194, i16 218, i16 220, i16 222, i16 224, i16 248, i16 272, i16 274, i16 298, i16 322, i16 402, i16 404, i16 428, i16 430, i16 454, i16 478, i16 480, i16 482, i16 484, i16 508, i16 532, i16 534, i16 558, i16 560, i16 562, i16 564, i16 566, i16 568, i16 570, i16 572, i16 574, i16 576, i16 1425, i16 451, i16 0, i16 1429, i16 398, i16 451, i16 0, i16 1428, i16 398, i16 528, i16 0, i16 1424, i16 528, i16 0, i16 1427, i16 478, i16 451, i16 0, i16 1426, i16 478, i16 528, i16 0, i16 478, i16 0, i16 1451, i16 471, i16 451, i16 0, i16 1450, i16 471, i16 528, i16 0, i16 1437, i16 471, i16 0, i16 1459, i16 399, i16 471, i16 451, i16 0, i16 1458, i16 399, i16 471, i16 528, i16 0, i16 1441, i16 399, i16 471, i16 0, i16 1457, i16 399, i16 548, i16 451, i16 0, i16 1456, i16 399, i16 548, i16 528, i16 0, i16 1440, i16 399, i16 548, i16 0, i16 1449, i16 548, i16 451, i16 0, i16 1448, i16 548, i16 528, i16 0, i16 1436, i16 548, i16 0, i16 1455, i16 479, i16 471, i16 451, i16 0, i16 1454, i16 479, i16 471, i16 528, i16 0, i16 1439, i16 479, i16 471, i16 0, i16 1453, i16 479, i16 548, i16 451, i16 0, i16 1452, i16 479, i16 548, i16 528, i16 0, i16 1438, i16 479, i16 548, i16 0, i16 479, i16 0, i16 490, i16 0, i16 1473, i16 467, i16 0, i16 1477, i16 411, i16 467, i16 0, i16 1476, i16 411, i16 544, i16 0, i16 1472, i16 544, i16 0, i16 1475, i16 491, i16 467, i16 0, i16 1474, i16 491, i16 544, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 1485, i16 467, i16 0, i16 1489, i16 425, i16 467, i16 0, i16 1488, i16 425, i16 544, i16 0, i16 1484, i16 544, i16 0, i16 1487, i16 504, i16 467, i16 0, i16 1486, i16 504, i16 544, i16 0, i16 504, i16 0, i16 1497, i16 467, i16 0, i16 1501, i16 432, i16 467, i16 0, i16 1500, i16 432, i16 544, i16 0, i16 1496, i16 544, i16 0, i16 1499, i16 511, i16 467, i16 0, i16 1498, i16 511, i16 544, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 1509, i16 471, i16 0, i16 1513, i16 451, i16 471, i16 0, i16 1512, i16 451, i16 548, i16 0, i16 1508, i16 548, i16 0, i16 1511, i16 528, i16 471, i16 0, i16 1510, i16 528, i16 548, i16 0, i16 528, i16 0, i16 1521, i16 467, i16 0, i16 1525, i16 453, i16 467, i16 0, i16 1524, i16 453, i16 544, i16 0, i16 1520, i16 544, i16 0, i16 1523, i16 530, i16 467, i16 0, i16 1522, i16 530, i16 544, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 1537, i16 471, i16 451, i16 0, i16 1536, i16 471, i16 528, i16 0, i16 1533, i16 451, i16 0, i16 1535, i16 548, i16 451, i16 0, i16 1534, i16 548, i16 528, i16 0, i16 1532, i16 528, i16 0, i16 548, i16 0, i16 1431, i16 451, i16 0, i16 1435, i16 398, i16 451, i16 0, i16 1434, i16 398, i16 528, i16 0, i16 1430, i16 528, i16 0, i16 1433, i16 478, i16 451, i16 0, i16 1432, i16 478, i16 528, i16 0, i16 398, i16 0, i16 1463, i16 471, i16 451, i16 0, i16 1462, i16 471, i16 528, i16 0, i16 1443, i16 471, i16 0, i16 1471, i16 399, i16 471, i16 451, i16 0, i16 1470, i16 399, i16 471, i16 528, i16 0, i16 1447, i16 399, i16 471, i16 0, i16 1469, i16 399, i16 548, i16 451, i16 0, i16 1468, i16 399, i16 548, i16 528, i16 0, i16 1446, i16 399, i16 548, i16 0, i16 1461, i16 548, i16 451, i16 0, i16 1460, i16 548, i16 528, i16 0, i16 1442, i16 548, i16 0, i16 1467, i16 479, i16 471, i16 451, i16 0, i16 1466, i16 479, i16 471, i16 528, i16 0, i16 1445, i16 479, i16 471, i16 0, i16 1465, i16 479, i16 548, i16 451, i16 0, i16 1464, i16 479, i16 548, i16 528, i16 0, i16 1444, i16 479, i16 548, i16 0, i16 399, i16 0, i16 410, i16 0, i16 1478, i16 467, i16 0, i16 1483, i16 411, i16 467, i16 0, i16 1482, i16 411, i16 544, i16 0, i16 1479, i16 544, i16 0, i16 1481, i16 491, i16 467, i16 0, i16 1480, i16 491, i16 544, i16 0, i16 411, i16 0, i16 990, i16 0, i16 1490, i16 467, i16 0, i16 1495, i16 425, i16 467, i16 0, i16 1494, i16 425, i16 544, i16 0, i16 1491, i16 544, i16 0, i16 1493, i16 504, i16 467, i16 0, i16 1492, i16 504, i16 544, i16 0, i16 425, i16 0, i16 1502, i16 467, i16 0, i16 1507, i16 432, i16 467, i16 0, i16 1506, i16 432, i16 544, i16 0, i16 1503, i16 544, i16 0, i16 1505, i16 511, i16 467, i16 0, i16 1504, i16 511, i16 544, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 1515, i16 471, i16 0, i16 1519, i16 451, i16 471, i16 0, i16 1518, i16 451, i16 548, i16 0, i16 1514, i16 548, i16 0, i16 1517, i16 528, i16 471, i16 0, i16 1516, i16 528, i16 548, i16 0, i16 451, i16 0, i16 1527, i16 467, i16 0, i16 1531, i16 453, i16 467, i16 0, i16 1530, i16 453, i16 544, i16 0, i16 1526, i16 544, i16 0, i16 1529, i16 530, i16 467, i16 0, i16 1528, i16 530, i16 544, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 1543, i16 471, i16 451, i16 0, i16 1542, i16 471, i16 528, i16 0, i16 1539, i16 451, i16 0, i16 1541, i16 548, i16 451, i16 0, i16 1540, i16 548, i16 528, i16 0, i16 1538, i16 528, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 112, i16 117, i16 122, i16 127, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1559, i16 1554, i16 0, i16 1556, i16 1552, i16 0, i16 1073, i16 0, i16 1560, i16 1553, i16 0, i16 582, i16 0, i16 1562, i16 1553, i16 0, i16 1080, i16 0, i16 1563, i16 1553, i16 0, i16 1082, i16 0, i16 1561, i16 1553, i16 0, i16 1564, i16 0, i16 38, i16 46, i16 54, i16 62, i16 64, i16 66, i16 74, i16 82, i16 84, i16 92, i16 100, i16 102, i16 110, i16 112, i16 114, i16 122, i16 130, i16 138, i16 140, i16 142, i16 150, i16 158, i16 160, i16 168, i16 176, i16 178, i16 186, i16 188, i16 190, i16 192, i16 194, i16 196, i16 198, i16 200, i16 202, i16 204, i16 206, i16 208, i16 1591, i16 413, i16 0, i16 1590, i16 493, i16 0, i16 478, i16 0, i16 1595, i16 399, i16 0, i16 1594, i16 479, i16 0, i16 479, i16 0, i16 1599, i16 410, i16 0, i16 1598, i16 490, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 1603, i16 425, i16 0, i16 1602, i16 504, i16 0, i16 504, i16 0, i16 1222, i16 411, i16 0, i16 1221, i16 491, i16 0, i16 511, i16 0, i16 515, i16 0, i16 1607, i16 413, i16 0, i16 1606, i16 493, i16 0, i16 522, i16 0, i16 1611, i16 413, i16 0, i16 1610, i16 493, i16 0, i16 524, i16 0, i16 528, i16 0, i16 1615, i16 413, i16 0, i16 1614, i16 493, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 1588, i16 413, i16 0, i16 1589, i16 493, i16 0, i16 398, i16 0, i16 1592, i16 399, i16 0, i16 1593, i16 479, i16 0, i16 399, i16 0, i16 1596, i16 410, i16 0, i16 1597, i16 490, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 1600, i16 425, i16 0, i16 1601, i16 504, i16 0, i16 425, i16 0, i16 1219, i16 411, i16 0, i16 1220, i16 491, i16 0, i16 432, i16 0, i16 437, i16 0, i16 1604, i16 413, i16 0, i16 1605, i16 493, i16 0, i16 445, i16 0, i16 1608, i16 413, i16 0, i16 1609, i16 493, i16 0, i16 447, i16 0, i16 451, i16 0, i16 1612, i16 413, i16 0, i16 1613, i16 493, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 138, i16 140, i16 1591, i16 413, i16 0, i16 1590, i16 493, i16 0, i16 1621, i16 169, i16 413, i16 0, i16 1620, i16 169, i16 493, i16 0, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 1588, i16 413, i16 0, i16 1589, i16 493, i16 0, i16 1618, i16 169, i16 413, i16 0, i16 1619, i16 169, i16 493, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 10, i16 12, i16 14, i16 16, i16 18, i16 20, i16 22, i16 24, i16 26, i16 28, i16 681, i16 0, i16 738, i16 0, i16 749, i16 0, i16 901, i16 0, i16 927, i16 0, i16 682, i16 0, i16 739, i16 0, i16 750, i16 0, i16 902, i16 0, i16 928, i16 0, i16 10, i16 18, i16 20, i16 22, i16 24, i16 26, i16 34, i16 36, i16 38, i16 40, i16 1884, i16 682, i16 0, i16 1883, i16 681, i16 0, i16 681, i16 0, i16 738, i16 0, i16 749, i16 0, i16 901, i16 0, i16 927, i16 0, i16 1886, i16 682, i16 0, i16 1885, i16 681, i16 0, i16 682, i16 0, i16 739, i16 0, i16 750, i16 0, i16 902, i16 0, i16 928, i16 0, i16 10, i16 12, i16 14, i16 22, i16 30, i16 38, i16 40, i16 42, i16 50, i16 58, i16 681, i16 0, i16 738, i16 0, i16 1928, i16 1880, i16 0, i16 1927, i16 1879, i16 0, i16 749, i16 0, i16 1932, i16 884, i16 0, i16 1931, i16 883, i16 0, i16 901, i16 0, i16 1936, i16 884, i16 0, i16 1935, i16 883, i16 0, i16 927, i16 0, i16 682, i16 0, i16 739, i16 0, i16 1930, i16 1880, i16 0, i16 1929, i16 1879, i16 0, i16 750, i16 0, i16 1934, i16 884, i16 0, i16 1933, i16 883, i16 0, i16 902, i16 0, i16 1938, i16 884, i16 0, i16 1937, i16 883, i16 0, i16 928, i16 0, i16 10, i16 12, i16 20, i16 22, i16 30, i16 32, i16 34, i16 42, i16 44, i16 52, i16 681, i16 0, i16 1940, i16 837, i16 0, i16 1939, i16 836, i16 0, i16 738, i16 0, i16 749, i16 0, i16 1944, i16 902, i16 0, i16 1943, i16 901, i16 0, i16 901, i16 0, i16 927, i16 0, i16 682, i16 0, i16 1942, i16 837, i16 0, i16 1941, i16 836, i16 0, i16 739, i16 0, i16 750, i16 0, i16 1946, i16 902, i16 0, i16 1945, i16 901, i16 0, i16 902, i16 0, i16 928, i16 0, i16 2, i16 10, i16 295, i16 278, i16 0, i16 294, i16 277, i16 0, i16 161, i16 0, i16 296, i16 278, i16 0, i16 162, i16 0, i16 5, i16 139, i16 273, i16 407, i16 541, i16 387, i16 386, i16 0, i16 381, i16 380, i16 0, i16 375, i16 374, i16 0, i16 369, i16 368, i16 0, i16 363, i16 362, i16 0, i16 357, i16 356, i16 0, i16 351, i16 350, i16 0, i16 345, i16 344, i16 0, i16 338, i16 337, i16 0, i16 331, i16 330, i16 0, i16 325, i16 324, i16 0, i16 319, i16 318, i16 0, i16 313, i16 312, i16 0, i16 307, i16 306, i16 0, i16 301, i16 300, i16 0, i16 295, i16 294, i16 0, i16 289, i16 288, i16 0, i16 283, i16 282, i16 0, i16 277, i16 276, i16 0, i16 271, i16 270, i16 0, i16 265, i16 264, i16 0, i16 259, i16 258, i16 0, i16 253, i16 252, i16 0, i16 247, i16 246, i16 0, i16 241, i16 240, i16 0, i16 235, i16 234, i16 0, i16 229, i16 228, i16 0, i16 223, i16 222, i16 0, i16 217, i16 216, i16 0, i16 211, i16 210, i16 0, i16 205, i16 204, i16 0, i16 199, i16 198, i16 0, i16 193, i16 192, i16 0, i16 187, i16 186, i16 0, i16 181, i16 180, i16 0, i16 175, i16 174, i16 0, i16 169, i16 168, i16 0, i16 163, i16 162, i16 0, i16 157, i16 156, i16 0, i16 151, i16 150, i16 0, i16 145, i16 144, i16 0, i16 139, i16 138, i16 0, i16 133, i16 132, i16 0, i16 127, i16 126, i16 0, i16 404, i16 0, i16 388, i16 386, i16 0, i16 382, i16 380, i16 0, i16 376, i16 374, i16 0, i16 370, i16 368, i16 0, i16 364, i16 362, i16 0, i16 358, i16 356, i16 0, i16 352, i16 350, i16 0, i16 346, i16 344, i16 0, i16 339, i16 337, i16 0, i16 332, i16 330, i16 0, i16 326, i16 324, i16 0, i16 320, i16 318, i16 0, i16 314, i16 312, i16 0, i16 308, i16 306, i16 0, i16 302, i16 300, i16 0, i16 296, i16 294, i16 0, i16 290, i16 288, i16 0, i16 284, i16 282, i16 0, i16 278, i16 276, i16 0, i16 272, i16 270, i16 0, i16 266, i16 264, i16 0, i16 260, i16 258, i16 0, i16 254, i16 252, i16 0, i16 248, i16 246, i16 0, i16 242, i16 240, i16 0, i16 236, i16 234, i16 0, i16 230, i16 228, i16 0, i16 224, i16 222, i16 0, i16 218, i16 216, i16 0, i16 212, i16 210, i16 0, i16 206, i16 204, i16 0, i16 200, i16 198, i16 0, i16 194, i16 192, i16 0, i16 188, i16 186, i16 0, i16 182, i16 180, i16 0, i16 176, i16 174, i16 0, i16 170, i16 168, i16 0, i16 164, i16 162, i16 0, i16 158, i16 156, i16 0, i16 152, i16 150, i16 0, i16 146, i16 144, i16 0, i16 140, i16 138, i16 0, i16 134, i16 132, i16 0, i16 128, i16 126, i16 0, i16 405, i16 0, i16 389, i16 386, i16 0, i16 383, i16 380, i16 0, i16 377, i16 374, i16 0, i16 371, i16 368, i16 0, i16 365, i16 362, i16 0, i16 359, i16 356, i16 0, i16 353, i16 350, i16 0, i16 347, i16 344, i16 0, i16 340, i16 337, i16 0, i16 333, i16 330, i16 0, i16 327, i16 324, i16 0, i16 321, i16 318, i16 0, i16 315, i16 312, i16 0, i16 309, i16 306, i16 0, i16 303, i16 300, i16 0, i16 297, i16 294, i16 0, i16 291, i16 288, i16 0, i16 285, i16 282, i16 0, i16 279, i16 276, i16 0, i16 273, i16 270, i16 0, i16 267, i16 264, i16 0, i16 261, i16 258, i16 0, i16 255, i16 252, i16 0, i16 249, i16 246, i16 0, i16 243, i16 240, i16 0, i16 237, i16 234, i16 0, i16 231, i16 228, i16 0, i16 225, i16 222, i16 0, i16 219, i16 216, i16 0, i16 213, i16 210, i16 0, i16 207, i16 204, i16 0, i16 201, i16 198, i16 0, i16 195, i16 192, i16 0, i16 189, i16 186, i16 0, i16 183, i16 180, i16 0, i16 177, i16 174, i16 0, i16 171, i16 168, i16 0, i16 165, i16 162, i16 0, i16 159, i16 156, i16 0, i16 153, i16 150, i16 0, i16 147, i16 144, i16 0, i16 141, i16 138, i16 0, i16 135, i16 132, i16 0, i16 129, i16 126, i16 0, i16 406, i16 0, i16 390, i16 386, i16 0, i16 384, i16 380, i16 0, i16 378, i16 374, i16 0, i16 372, i16 368, i16 0, i16 366, i16 362, i16 0, i16 360, i16 356, i16 0, i16 354, i16 350, i16 0, i16 348, i16 344, i16 0, i16 341, i16 337, i16 0, i16 334, i16 330, i16 0, i16 328, i16 324, i16 0, i16 322, i16 318, i16 0, i16 316, i16 312, i16 0, i16 310, i16 306, i16 0, i16 304, i16 300, i16 0, i16 298, i16 294, i16 0, i16 292, i16 288, i16 0, i16 286, i16 282, i16 0, i16 280, i16 276, i16 0, i16 274, i16 270, i16 0, i16 268, i16 264, i16 0, i16 262, i16 258, i16 0, i16 256, i16 252, i16 0, i16 250, i16 246, i16 0, i16 244, i16 240, i16 0, i16 238, i16 234, i16 0, i16 232, i16 228, i16 0, i16 226, i16 222, i16 0, i16 220, i16 216, i16 0, i16 214, i16 210, i16 0, i16 208, i16 204, i16 0, i16 202, i16 198, i16 0, i16 196, i16 192, i16 0, i16 190, i16 186, i16 0, i16 184, i16 180, i16 0, i16 178, i16 174, i16 0, i16 172, i16 168, i16 0, i16 166, i16 162, i16 0, i16 160, i16 156, i16 0, i16 154, i16 150, i16 0, i16 148, i16 144, i16 0, i16 142, i16 138, i16 0, i16 136, i16 132, i16 0, i16 130, i16 126, i16 0, i16 407, i16 0, i16 391, i16 386, i16 0, i16 385, i16 380, i16 0, i16 379, i16 374, i16 0, i16 373, i16 368, i16 0, i16 367, i16 362, i16 0, i16 361, i16 356, i16 0, i16 355, i16 350, i16 0, i16 349, i16 344, i16 0, i16 342, i16 337, i16 0, i16 335, i16 330, i16 0, i16 329, i16 324, i16 0, i16 323, i16 318, i16 0, i16 317, i16 312, i16 0, i16 311, i16 306, i16 0, i16 305, i16 300, i16 0, i16 299, i16 294, i16 0, i16 293, i16 288, i16 0, i16 287, i16 282, i16 0, i16 281, i16 276, i16 0, i16 275, i16 270, i16 0, i16 269, i16 264, i16 0, i16 263, i16 258, i16 0, i16 257, i16 252, i16 0, i16 251, i16 246, i16 0, i16 245, i16 240, i16 0, i16 239, i16 234, i16 0, i16 233, i16 228, i16 0, i16 227, i16 222, i16 0, i16 221, i16 216, i16 0, i16 215, i16 210, i16 0, i16 209, i16 204, i16 0, i16 203, i16 198, i16 0, i16 197, i16 192, i16 0, i16 191, i16 186, i16 0, i16 185, i16 180, i16 0, i16 179, i16 174, i16 0, i16 173, i16 168, i16 0, i16 167, i16 162, i16 0, i16 161, i16 156, i16 0, i16 155, i16 150, i16 0, i16 149, i16 144, i16 0, i16 143, i16 138, i16 0, i16 137, i16 132, i16 0, i16 131, i16 126, i16 0, i16 408, i16 0, i16 1, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 263, i16 1158, i16 0, i16 1159, i16 0, i16 2, i16 272, i16 1160, i16 0, i16 1161, i16 0, i16 2, i16 1375, i16 1163, i16 748, i16 1164, i16 749, i16 2, i16 1381, i16 1165, i16 750, i16 1166, i16 751, i16 2, i16 1392, i16 1167, i16 752, i16 1168, i16 753, i16 2, i16 1401, i16 1169, i16 754, i16 1170, i16 755, i16 1, i16 1156, i16 244, i16 0, i16 1157, i16 253, i16 0, i16 1162, i16 1370, i16 756, i16 1155, i16 22611, i16 1, i16 0, i16 1, i16 1171, i16 142, i16 0, i16 1172, i16 163, i16 0, i16 1173, i16 699, i16 757, i16 1174, i16 907, i16 758, i16 1175, i16 762, i16 759, i16 1176, i16 968, i16 760, i16 1155, i16 22611, i16 1, i16 0, i16 1, i16 1177, i16 306, i16 0, i16 1178, i16 1512, i16 761, i16 1179, i16 1576, i16 762, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 145, i16 900, i16 0, i16 1183, i16 0, i16 901, i16 0, i16 902, i16 0, i16 903, i16 0, i16 2, i16 636, i16 1196, i16 763, i16 974, i16 764, i16 2, i16 845, i16 1197, i16 765, i16 1014, i16 766, i16 2, i16 712, i16 992, i16 767, i16 990, i16 768, i16 2, i16 920, i16 1030, i16 769, i16 1032, i16 770, i16 2, i16 749, i16 995, i16 771, i16 994, i16 772, i16 2, i16 956, i16 1035, i16 773, i16 1034, i16 774, i16 2, i16 762, i16 1198, i16 775, i16 996, i16 775, i16 2, i16 968, i16 1199, i16 776, i16 1036, i16 776, i16 1, i16 1180, i16 121, i16 0, i16 1181, i16 127, i16 0, i16 1182, i16 142, i16 0, i16 1184, i16 161, i16 0, i16 1185, i16 163, i16 0, i16 1186, i16 173, i16 0, i16 1187, i16 178, i16 0, i16 1188, i16 303, i16 0, i16 1189, i16 309, i16 0, i16 1190, i16 322, i16 0, i16 1191, i16 327, i16 0, i16 1192, i16 330, i16 0, i16 1193, i16 340, i16 0, i16 1194, i16 343, i16 0, i16 1195, i16 346, i16 0, i16 978, i16 656, i16 777, i16 1018, i16 864, i16 778, i16 985, i16 699, i16 779, i16 1025, i16 907, i16 780, i16 1001, i16 787, i16 781, i16 1041, i16 992, i16 782, i16 1004, i16 809, i16 783, i16 1043, i16 1013, i16 784, i16 1200, i16 1506, i16 785, i16 1201, i16 1570, i16 786, i16 1202, i16 1514, i16 787, i16 1203, i16 1579, i16 788, i16 1204, i16 1532, i16 789, i16 1205, i16 1597, i16 790, i16 1206, i16 1538, i16 791, i16 1207, i16 1603, i16 792, i16 1208, i16 1541, i16 793, i16 1209, i16 1606, i16 794, i16 1210, i16 1549, i16 795, i16 1211, i16 1614, i16 796, i16 1212, i16 1553, i16 797, i16 1213, i16 1618, i16 798, i16 1214, i16 1556, i16 799, i16 1215, i16 1621, i16 800, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 749, i16 1219, i16 801, i16 1220, i16 802, i16 2, i16 956, i16 1221, i16 803, i16 1222, i16 804, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1218, i16 161, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 12, i16 22611, i16 1223, i16 805, i16 1224, i16 805, i16 1225, i16 805, i16 1226, i16 805, i16 1227, i16 805, i16 1228, i16 805, i16 1229, i16 805, i16 1230, i16 805, i16 1231, i16 805, i16 1232, i16 805, i16 1233, i16 805, i16 1234, i16 805, i16 1, i16 1155, i16 22623, i16 1, i16 0, i16 1, i16 1188, i16 303, i16 0, i16 1235, i16 316, i16 0, i16 1236, i16 322, i16 0, i16 1237, i16 338, i16 0, i16 1238, i16 343, i16 0, i16 1239, i16 346, i16 0, i16 1200, i16 1506, i16 785, i16 1201, i16 1570, i16 786, i16 1240, i16 1524, i16 806, i16 1241, i16 1588, i16 807, i16 1242, i16 1532, i16 808, i16 1243, i16 1597, i16 809, i16 1244, i16 1549, i16 810, i16 1245, i16 1614, i16 811, i16 1246, i16 1553, i16 812, i16 1247, i16 1618, i16 813, i16 1248, i16 1556, i16 814, i16 1249, i16 1621, i16 815, i16 1155, i16 22611, i16 1, i16 0, i16 4, i16 189, i16 1250, i16 0, i16 1251, i16 0, i16 1252, i16 0, i16 1253, i16 0, i16 3, i16 645, i16 974, i16 816, i16 975, i16 817, i16 977, i16 818, i16 2, i16 769, i16 996, i16 819, i16 997, i16 820, i16 3, i16 853, i16 1014, i16 821, i16 1015, i16 822, i16 1017, i16 823, i16 2, i16 974, i16 1036, i16 824, i16 1037, i16 825, i16 1, i16 895, i16 53, i16 0, i16 1046, i16 1026, i16 826, i16 1007, i16 822, i16 827, i16 1004, i16 813, i16 828, i16 1043, i16 1017, i16 829, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 127, i16 1254, i16 0, i16 1255, i16 0, i16 898, i16 0, i16 1256, i16 0, i16 1257, i16 0, i16 2, i16 656, i16 979, i16 830, i16 981, i16 831, i16 2, i16 864, i16 1019, i16 832, i16 1021, i16 833, i16 3, i16 670, i16 1262, i16 834, i16 1263, i16 835, i16 984, i16 836, i16 3, i16 878, i16 1264, i16 837, i16 1265, i16 838, i16 1024, i16 839, i16 2, i16 736, i16 1266, i16 840, i16 1267, i16 841, i16 2, i16 943, i16 1268, i16 842, i16 1269, i16 843, i16 2, i16 749, i16 1270, i16 844, i16 1271, i16 845, i16 2, i16 956, i16 1272, i16 846, i16 1273, i16 847, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1258, i16 158, i16 0, i16 1259, i16 161, i16 0, i16 1260, i16 173, i16 0, i16 1261, i16 189, i16 0, i16 1000, i16 787, i16 848, i16 1040, i16 992, i16 849, i16 1008, i16 834, i16 850, i16 1047, i16 1038, i16 851, i16 1155, i16 22611, i16 1, i16 0, i16 4, i16 121, i16 1274, i16 0, i16 1275, i16 0, i16 1276, i16 0, i16 1277, i16 0, i16 4, i16 127, i16 1255, i16 0, i16 1278, i16 0, i16 1279, i16 0, i16 1280, i16 0, i16 2, i16 133, i16 1281, i16 0, i16 1282, i16 0, i16 2, i16 142, i16 1284, i16 0, i16 1285, i16 0, i16 2, i16 173, i16 1287, i16 0, i16 1260, i16 0, i16 5, i16 194, i16 1288, i16 0, i16 1253, i16 0, i16 1250, i16 0, i16 1289, i16 0, i16 1252, i16 0, i16 4, i16 636, i16 971, i16 852, i16 970, i16 853, i16 972, i16 854, i16 973, i16 855, i16 4, i16 845, i16 1011, i16 856, i16 1010, i16 857, i16 1012, i16 858, i16 1013, i16 859, i16 2, i16 656, i16 978, i16 860, i16 981, i16 861, i16 2, i16 864, i16 1018, i16 862, i16 1021, i16 863, i16 2, i16 667, i16 1290, i16 864, i16 1291, i16 865, i16 2, i16 875, i16 1292, i16 864, i16 1293, i16 866, i16 2, i16 670, i16 983, i16 867, i16 984, i16 868, i16 2, i16 878, i16 1023, i16 869, i16 1024, i16 870, i16 2, i16 709, i16 1295, i16 871, i16 1296, i16 872, i16 2, i16 917, i16 1297, i16 871, i16 1298, i16 872, i16 3, i16 992, i16 1002, i16 873, i16 1000, i16 874, i16 1040, i16 875, i16 3, i16 645, i16 974, i16 876, i16 975, i16 817, i16 977, i16 877, i16 2, i16 769, i16 996, i16 819, i16 997, i16 820, i16 3, i16 853, i16 1014, i16 878, i16 1015, i16 822, i16 1017, i16 879, i16 2, i16 974, i16 1036, i16 824, i16 1037, i16 825, i16 1, i16 889, i16 16, i16 0, i16 1283, i16 138, i16 0, i16 1286, i16 156, i16 0, i16 1294, i16 696, i16 880, i16 1299, i16 734, i16 881, i16 1300, i16 941, i16 882, i16 1004, i16 813, i16 828, i16 1043, i16 1017, i16 829, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 46, i16 897, i16 0, i16 896, i16 0, i16 2, i16 121, i16 1301, i16 0, i16 1302, i16 0, i16 2, i16 636, i16 972, i16 883, i16 976, i16 884, i16 2, i16 845, i16 1012, i16 885, i16 1016, i16 886, i16 2, i16 787, i16 1305, i16 781, i16 1001, i16 781, i16 2, i16 992, i16 1306, i16 781, i16 1041, i16 782, i16 2, i16 799, i16 1307, i16 887, i16 1003, i16 887, i16 2, i16 1003, i16 1308, i16 887, i16 1042, i16 888, i16 1, i16 1303, i16 152, i16 0, i16 1186, i16 173, i16 0, i16 1304, i16 176, i16 0, i16 991, i16 717, i16 889, i16 1031, i16 925, i16 890, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 699, i16 1315, i16 891, i16 1316, i16 892, i16 2, i16 907, i16 1317, i16 893, i16 1318, i16 894, i16 2, i16 717, i16 1319, i16 895, i16 1320, i16 896, i16 2, i16 925, i16 1321, i16 897, i16 1322, i16 898, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1309, i16 127, i16 0, i16 1310, i16 138, i16 0, i16 1311, i16 142, i16 0, i16 1312, i16 145, i16 0, i16 1313, i16 152, i16 0, i16 1314, i16 187, i16 0, i16 982, i16 656, i16 899, i16 1022, i16 864, i16 900, i16 987, i16 696, i16 901, i16 1027, i16 904, i16 902, i16 989, i16 712, i16 903, i16 1029, i16 920, i16 904, i16 1009, i16 829, i16 905, i16 1048, i16 1033, i16 906, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 749, i16 1219, i16 907, i16 1220, i16 908, i16 2, i16 956, i16 1221, i16 909, i16 1222, i16 910, i16 2, i16 824, i16 1325, i16 911, i16 1326, i16 912, i16 2, i16 1028, i16 1327, i16 913, i16 1328, i16 914, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1323, i16 161, i16 0, i16 1324, i16 184, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 76, i16 1632, i16 1329, i16 915, i16 1330, i16 915, i16 1331, i16 915, i16 1332, i16 915, i16 1333, i16 915, i16 1334, i16 915, i16 1335, i16 915, i16 1336, i16 915, i16 1337, i16 915, i16 1338, i16 915, i16 1339, i16 915, i16 1340, i16 915, i16 1341, i16 915, i16 1342, i16 915, i16 1343, i16 915, i16 1344, i16 915, i16 1345, i16 915, i16 1346, i16 915, i16 1347, i16 915, i16 1348, i16 915, i16 1349, i16 915, i16 1350, i16 915, i16 1351, i16 915, i16 1352, i16 915, i16 1353, i16 915, i16 1354, i16 915, i16 1355, i16 915, i16 1356, i16 915, i16 1357, i16 915, i16 1358, i16 915, i16 1359, i16 915, i16 1360, i16 915, i16 1361, i16 915, i16 1362, i16 915, i16 1363, i16 915, i16 1364, i16 915, i16 1365, i16 915, i16 1366, i16 915, i16 1367, i16 916, i16 1368, i16 916, i16 1369, i16 916, i16 1370, i16 916, i16 1371, i16 916, i16 1372, i16 916, i16 1373, i16 916, i16 1374, i16 916, i16 1375, i16 916, i16 1376, i16 916, i16 1377, i16 916, i16 1378, i16 916, i16 1379, i16 916, i16 1380, i16 916, i16 1381, i16 916, i16 1382, i16 916, i16 1383, i16 916, i16 1384, i16 916, i16 1385, i16 916, i16 1386, i16 916, i16 1387, i16 916, i16 1388, i16 916, i16 1389, i16 916, i16 1390, i16 916, i16 1391, i16 916, i16 1392, i16 916, i16 1393, i16 916, i16 1394, i16 916, i16 1395, i16 916, i16 1396, i16 916, i16 1397, i16 916, i16 1398, i16 916, i16 1399, i16 916, i16 1400, i16 916, i16 1401, i16 916, i16 1402, i16 916, i16 1403, i16 916, i16 1404, i16 916, i16 1, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 3, i16 1216, i16 0, i16 1405, i16 0, i16 1406, i16 0, i16 1407, i16 0, i16 1408, i16 0, i16 5, i16 16, i16 1217, i16 0, i16 1409, i16 0, i16 1410, i16 0, i16 1411, i16 0, i16 1412, i16 0, i16 2, i16 133, i16 1414, i16 0, i16 1415, i16 0, i16 4, i16 163, i16 996, i16 917, i16 998, i16 918, i16 1036, i16 919, i16 1038, i16 920, i16 4, i16 178, i16 1004, i16 921, i16 1006, i16 922, i16 1043, i16 923, i16 1045, i16 924, i16 6, i16 864, i16 1424, i16 925, i16 1425, i16 926, i16 1426, i16 927, i16 1427, i16 928, i16 1428, i16 929, i16 1429, i16 930, i16 6, i16 656, i16 1430, i16 931, i16 1431, i16 932, i16 1432, i16 933, i16 1433, i16 934, i16 1434, i16 935, i16 1435, i16 936, i16 6, i16 878, i16 1436, i16 937, i16 1437, i16 938, i16 1438, i16 939, i16 1439, i16 940, i16 1440, i16 941, i16 1441, i16 942, i16 6, i16 670, i16 1442, i16 943, i16 1443, i16 944, i16 1444, i16 945, i16 1445, i16 946, i16 1446, i16 947, i16 1447, i16 948, i16 12, i16 878, i16 1448, i16 949, i16 1449, i16 950, i16 1450, i16 951, i16 1451, i16 952, i16 1452, i16 953, i16 1453, i16 954, i16 1454, i16 955, i16 1455, i16 956, i16 1456, i16 953, i16 1457, i16 954, i16 1458, i16 955, i16 1459, i16 956, i16 12, i16 670, i16 1460, i16 957, i16 1461, i16 958, i16 1462, i16 959, i16 1463, i16 960, i16 1464, i16 961, i16 1465, i16 962, i16 1466, i16 963, i16 1467, i16 964, i16 1468, i16 961, i16 1469, i16 962, i16 1470, i16 963, i16 1471, i16 964, i16 6, i16 907, i16 1472, i16 965, i16 1473, i16 966, i16 1474, i16 967, i16 1475, i16 968, i16 1476, i16 969, i16 1477, i16 970, i16 6, i16 699, i16 1478, i16 971, i16 1479, i16 972, i16 1480, i16 973, i16 1481, i16 974, i16 1482, i16 975, i16 1483, i16 976, i16 6, i16 943, i16 1484, i16 977, i16 1485, i16 978, i16 1486, i16 979, i16 1487, i16 980, i16 1488, i16 981, i16 1489, i16 982, i16 6, i16 736, i16 1490, i16 983, i16 1491, i16 984, i16 1492, i16 985, i16 1493, i16 986, i16 1494, i16 987, i16 1495, i16 988, i16 6, i16 956, i16 1496, i16 989, i16 1497, i16 990, i16 1498, i16 991, i16 1499, i16 992, i16 1500, i16 993, i16 1501, i16 994, i16 6, i16 749, i16 1502, i16 995, i16 1503, i16 996, i16 1504, i16 997, i16 1505, i16 998, i16 1506, i16 999, i16 1507, i16 1000, i16 6, i16 992, i16 1508, i16 1001, i16 1509, i16 1002, i16 1510, i16 1003, i16 1511, i16 1004, i16 1512, i16 1005, i16 1513, i16 1006, i16 6, i16 787, i16 1514, i16 1007, i16 1515, i16 1008, i16 1516, i16 1009, i16 1517, i16 1010, i16 1518, i16 1011, i16 1519, i16 1012, i16 6, i16 1003, i16 1520, i16 1013, i16 1521, i16 1014, i16 1522, i16 1015, i16 1523, i16 1016, i16 1524, i16 1017, i16 1525, i16 1018, i16 6, i16 799, i16 1526, i16 1019, i16 1527, i16 1020, i16 1528, i16 1021, i16 1529, i16 1022, i16 1530, i16 1023, i16 1531, i16 1024, i16 6, i16 1038, i16 1532, i16 1025, i16 1533, i16 1026, i16 1534, i16 1027, i16 1535, i16 1028, i16 1536, i16 1029, i16 1537, i16 1030, i16 6, i16 834, i16 1538, i16 1031, i16 1539, i16 1032, i16 1540, i16 1033, i16 1541, i16 1034, i16 1542, i16 1035, i16 1543, i16 1036, i16 1, i16 1413, i16 127, i16 0, i16 1416, i16 142, i16 0, i16 1417, i16 158, i16 0, i16 1418, i16 161, i16 0, i16 1419, i16 163, i16 0, i16 1420, i16 173, i16 0, i16 1421, i16 176, i16 0, i16 1422, i16 178, i16 0, i16 1423, i16 189, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 9, i16 31, i16 890, i16 0, i16 892, i16 0, i16 1544, i16 0, i16 891, i16 0, i16 1545, i16 0, i16 1546, i16 0, i16 1547, i16 0, i16 893, i16 0, i16 894, i16 0, i16 2, i16 42, i16 1548, i16 0, i16 1549, i16 0, i16 3, i16 194, i16 1550, i16 0, i16 906, i16 0, i16 905, i16 0, i16 2, i16 238, i16 907, i16 0, i16 1551, i16 0, i16 16, i16 482, i16 961, i16 1037, i16 962, i16 1037, i16 963, i16 1037, i16 967, i16 1037, i16 968, i16 1037, i16 969, i16 1037, i16 964, i16 1037, i16 965, i16 1037, i16 966, i16 1037, i16 954, i16 1037, i16 955, i16 1037, i16 956, i16 1037, i16 959, i16 1037, i16 960, i16 1037, i16 957, i16 1037, i16 958, i16 1037, i16 4, i16 520, i16 1552, i16 1037, i16 1553, i16 1037, i16 1554, i16 1037, i16 1555, i16 1037, i16 35, i16 1049, i16 1050, i16 641, i16 1049, i16 642, i16 1052, i16 643, i16 1051, i16 644, i16 1054, i16 645, i16 1053, i16 646, i16 1056, i16 647, i16 1055, i16 648, i16 1058, i16 649, i16 1057, i16 650, i16 1060, i16 651, i16 1059, i16 652, i16 1062, i16 653, i16 1061, i16 654, i16 1064, i16 655, i16 1063, i16 656, i16 1066, i16 657, i16 1065, i16 658, i16 1068, i16 659, i16 1067, i16 660, i16 1070, i16 1038, i16 1556, i16 1038, i16 1073, i16 665, i16 1557, i16 1039, i16 1069, i16 661, i16 1071, i16 1040, i16 1558, i16 1040, i16 1072, i16 1041, i16 1559, i16 1041, i16 1079, i16 1042, i16 1560, i16 1042, i16 1081, i16 1043, i16 1561, i16 1044, i16 1562, i16 1045, i16 1563, i16 1043, i16 2, i16 1135, i16 1076, i16 667, i16 1075, i16 1046, i16 6, i16 1148, i16 1077, i16 669, i16 1074, i16 1047, i16 1078, i16 1048, i16 1564, i16 1049, i16 1080, i16 1050, i16 1082, i16 1051, i16 15, i16 1160, i16 1084, i16 1052, i16 1085, i16 1053, i16 1090, i16 1054, i16 1091, i16 1055, i16 1565, i16 1056, i16 1566, i16 1057, i16 1083, i16 1058, i16 1086, i16 1059, i16 1087, i16 1060, i16 1088, i16 1061, i16 1089, i16 1062, i16 1108, i16 1063, i16 1109, i16 1064, i16 1567, i16 1065, i16 1568, i16 1066, i16 8, i16 1276, i16 1098, i16 1067, i16 1099, i16 1068, i16 1100, i16 1069, i16 1101, i16 1070, i16 1094, i16 1071, i16 1095, i16 1072, i16 1096, i16 1073, i16 1097, i16 1074, i16 26, i16 1320, i16 1102, i16 1075, i16 1103, i16 1076, i16 1104, i16 1077, i16 1105, i16 1078, i16 1092, i16 1079, i16 1093, i16 1080, i16 1106, i16 1081, i16 1107, i16 1082, i16 1570, i16 1083, i16 1571, i16 1084, i16 1572, i16 1085, i16 1573, i16 1086, i16 1110, i16 1087, i16 1111, i16 1088, i16 1112, i16 1089, i16 1113, i16 1090, i16 1114, i16 1091, i16 1115, i16 1092, i16 1116, i16 1093, i16 1117, i16 1094, i16 1118, i16 1095, i16 1119, i16 1096, i16 1120, i16 1097, i16 1121, i16 1098, i16 1122, i16 1099, i16 1123, i16 1100, i16 1, i16 1569, i16 1229, i16 1101, i16 1155, i16 22611, i16 1, i16 0, i16 1, i16 1574, i16 127, i16 0, i16 1575, i16 142, i16 0, i16 1576, i16 145, i16 0, i16 1577, i16 154, i16 0, i16 1578, i16 173, i16 0, i16 1579, i16 178, i16 0, i16 1020, i16 864, i16 1102, i16 980, i16 656, i16 1103, i16 1026, i16 907, i16 1104, i16 986, i16 699, i16 1105, i16 1028, i16 920, i16 1106, i16 988, i16 712, i16 1107, i16 1033, i16 937, i16 1108, i16 993, i16 729, i16 1109, i16 1039, i16 992, i16 1110, i16 999, i16 787, i16 1111, i16 1044, i16 1013, i16 1112, i16 1005, i16 809, i16 1113, i16 1155, i16 22611, i16 1, i16 0, i16 3, i16 127, i16 1580, i16 0, i16 898, i16 0, i16 1581, i16 0, i16 3, i16 138, i16 1582, i16 0, i16 899, i16 0, i16 1583, i16 0, i16 2, i16 656, i16 1588, i16 1114, i16 1589, i16 1115, i16 2, i16 864, i16 1590, i16 1116, i16 1591, i16 1117, i16 2, i16 670, i16 1592, i16 1118, i16 1593, i16 1119, i16 2, i16 878, i16 1594, i16 1120, i16 1595, i16 1121, i16 2, i16 696, i16 1596, i16 1122, i16 1597, i16 1123, i16 2, i16 904, i16 1598, i16 1124, i16 1599, i16 1125, i16 2, i16 699, i16 1219, i16 1126, i16 1220, i16 1127, i16 2, i16 907, i16 1221, i16 1128, i16 1222, i16 1129, i16 2, i16 736, i16 1600, i16 1130, i16 1601, i16 1131, i16 2, i16 943, i16 1602, i16 1132, i16 1603, i16 1133, i16 2, i16 777, i16 1604, i16 1134, i16 1605, i16 1135, i16 2, i16 982, i16 1606, i16 1136, i16 1607, i16 1137, i16 2, i16 781, i16 1608, i16 1138, i16 1609, i16 1139, i16 2, i16 986, i16 1610, i16 1140, i16 1611, i16 1141, i16 2, i16 799, i16 1612, i16 1142, i16 1613, i16 1143, i16 2, i16 1003, i16 1614, i16 1144, i16 1615, i16 1145, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1584, i16 158, i16 0, i16 1585, i16 168, i16 0, i16 1586, i16 171, i16 0, i16 1587, i16 176, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 127, i16 1254, i16 0, i16 1255, i16 0, i16 898, i16 0, i16 1256, i16 0, i16 1257, i16 0, i16 2, i16 656, i16 979, i16 830, i16 981, i16 831, i16 2, i16 864, i16 1019, i16 832, i16 1021, i16 833, i16 3, i16 670, i16 1262, i16 834, i16 1263, i16 835, i16 984, i16 836, i16 5, i16 878, i16 1264, i16 837, i16 1265, i16 838, i16 1024, i16 839, i16 1266, i16 840, i16 1267, i16 841, i16 2, i16 943, i16 1268, i16 842, i16 1269, i16 843, i16 2, i16 749, i16 1270, i16 844, i16 1271, i16 845, i16 2, i16 956, i16 1272, i16 846, i16 1273, i16 847, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1258, i16 158, i16 0, i16 1259, i16 161, i16 0, i16 1260, i16 173, i16 0, i16 1261, i16 189, i16 0, i16 1000, i16 787, i16 848, i16 1040, i16 992, i16 849, i16 1008, i16 834, i16 850, i16 1047, i16 1038, i16 851, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 127, i16 1616, i16 0, i16 1617, i16 0, i16 4, i16 656, i16 1588, i16 1146, i16 1589, i16 1147, i16 1618, i16 1148, i16 1619, i16 1149, i16 4, i16 864, i16 1590, i16 1150, i16 1591, i16 1151, i16 1620, i16 1152, i16 1621, i16 1153, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 46, i16 74, i16 908, i16 0, i16 909, i16 0, i16 910, i16 0, i16 911, i16 0, i16 912, i16 0, i16 913, i16 0, i16 914, i16 0, i16 915, i16 0, i16 916, i16 0, i16 917, i16 0, i16 918, i16 0, i16 919, i16 0, i16 920, i16 0, i16 921, i16 0, i16 922, i16 0, i16 923, i16 0, i16 924, i16 0, i16 925, i16 0, i16 926, i16 0, i16 927, i16 0, i16 928, i16 0, i16 929, i16 0, i16 930, i16 0, i16 931, i16 0, i16 932, i16 0, i16 933, i16 0, i16 934, i16 0, i16 935, i16 0, i16 936, i16 0, i16 937, i16 0, i16 938, i16 0, i16 939, i16 0, i16 940, i16 0, i16 941, i16 0, i16 942, i16 0, i16 943, i16 0, i16 944, i16 0, i16 945, i16 0, i16 946, i16 0, i16 947, i16 0, i16 948, i16 0, i16 949, i16 0, i16 950, i16 0, i16 951, i16 0, i16 952, i16 0, i16 953, i16 0, i16 3, i16 1508, i16 1125, i16 1154, i16 1136, i16 1155, i16 1128, i16 1156, i16 3, i16 1514, i16 1126, i16 1157, i16 1127, i16 1158, i16 1138, i16 1159, i16 3, i16 1524, i16 1144, i16 1160, i16 1130, i16 1161, i16 1137, i16 1162, i16 3, i16 1572, i16 1140, i16 1163, i16 1152, i16 1164, i16 1143, i16 1165, i16 3, i16 1579, i16 1141, i16 1166, i16 1142, i16 1167, i16 1154, i16 1168, i16 3, i16 1588, i16 1129, i16 1169, i16 1145, i16 1170, i16 1153, i16 1171, i16 1, i16 1124, i16 1506, i16 1172, i16 1133, i16 1532, i16 1173, i16 1131, i16 1534, i16 1174, i16 1132, i16 1538, i16 1175, i16 1135, i16 1549, i16 1176, i16 1134, i16 1556, i16 1177, i16 1139, i16 1570, i16 1178, i16 1146, i16 1594, i16 1179, i16 1149, i16 1597, i16 1180, i16 1147, i16 1599, i16 1181, i16 1148, i16 1603, i16 1182, i16 1151, i16 1614, i16 1183, i16 1150, i16 1621, i16 1184, i16 1155, i16 22611, i16 1, i16 0, i16 6, i16 145, i16 904, i16 0, i16 900, i16 0, i16 1183, i16 0, i16 901, i16 0, i16 902, i16 0, i16 903, i16 0, i16 2, i16 712, i16 992, i16 767, i16 990, i16 768, i16 2, i16 920, i16 1030, i16 769, i16 1032, i16 770, i16 1, i16 1181, i16 127, i16 0, i16 1180, i16 136, i16 0, i16 1182, i16 142, i16 0, i16 1622, i16 163, i16 0, i16 1186, i16 173, i16 0, i16 1187, i16 178, i16 0, i16 1188, i16 303, i16 0, i16 1189, i16 309, i16 0, i16 1190, i16 322, i16 0, i16 1192, i16 330, i16 0, i16 1193, i16 340, i16 0, i16 1194, i16 343, i16 0, i16 1195, i16 346, i16 0, i16 978, i16 656, i16 777, i16 1018, i16 864, i16 778, i16 1196, i16 686, i16 763, i16 1197, i16 894, i16 765, i16 985, i16 699, i16 779, i16 1025, i16 907, i16 780, i16 996, i16 762, i16 1185, i16 1036, i16 968, i16 1186, i16 1001, i16 787, i16 781, i16 1041, i16 992, i16 782, i16 1004, i16 809, i16 783, i16 1043, i16 1013, i16 784, i16 1200, i16 1506, i16 785, i16 1201, i16 1570, i16 786, i16 1202, i16 1514, i16 787, i16 1203, i16 1579, i16 788, i16 1204, i16 1532, i16 789, i16 1205, i16 1597, i16 790, i16 1208, i16 1541, i16 793, i16 1209, i16 1606, i16 794, i16 1210, i16 1549, i16 795, i16 1211, i16 1614, i16 796, i16 1212, i16 1553, i16 797, i16 1213, i16 1618, i16 798, i16 1214, i16 1556, i16 799, i16 1215, i16 1621, i16 800, i16 1155, i16 22611, i16 1, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 877, i16 1780, i16 1190, i16 1781, i16 1833, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 990, i16 1792, i16 1190, i16 1793, i16 1844, i16 3, i16 1009, i16 1794, i16 1845, i16 1795, i16 1846, i16 1796, i16 1847, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 4, i16 1206, i16 1828, i16 1190, i16 1829, i16 1878, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1266, i16 1838, i16 1190, i16 1839, i16 1887, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 8, i16 1361, i16 1848, i16 1190, i16 1849, i16 1896, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1803, i16 1075, i16 1925, i16 0, i16 2, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 20, i16 1370, i16 1850, i16 1934, i16 1851, i16 1935, i16 1852, i16 1936, i16 1853, i16 1937, i16 1854, i16 1938, i16 1855, i16 1939, i16 1856, i16 1934, i16 1857, i16 1940, i16 1858, i16 1941, i16 1859, i16 1942, i16 1860, i16 1943, i16 1861, i16 1944, i16 1862, i16 1945, i16 1863, i16 1946, i16 1864, i16 1947, i16 1865, i16 1948, i16 1866, i16 1949, i16 1867, i16 1950, i16 1868, i16 1951, i16 1869, i16 1952, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 7, i16 1418, i16 1874, i16 1187, i16 1848, i16 1953, i16 1849, i16 1954, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 20, i16 1440, i16 1760, i16 1190, i16 1761, i16 1955, i16 1762, i16 1956, i16 1763, i16 1957, i16 1764, i16 1190, i16 1765, i16 1958, i16 1770, i16 1959, i16 1771, i16 1960, i16 1772, i16 1959, i16 1773, i16 1961, i16 1774, i16 1959, i16 1775, i16 1962, i16 1828, i16 1190, i16 1829, i16 1878, i16 1822, i16 1963, i16 1823, i16 1964, i16 1824, i16 1963, i16 1825, i16 1965, i16 1820, i16 1966, i16 1821, i16 1967, i16 27, i16 2011, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 1, i16 1696, i16 1, i16 1187, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 877, i16 1778, i16 1968, i16 1779, i16 1846, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1836, i16 1971, i16 1837, i16 1846, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 2, i16 1429, i16 1881, i16 1923, i16 1882, i16 1924, i16 2, i16 1440, i16 1879, i16 1974, i16 1880, i16 1846, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 2, i16 836, i16 1768, i16 1821, i16 1769, i16 1822, i16 8, i16 843, i16 1766, i16 1190, i16 1767, i16 1975, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 877, i16 1776, i16 1190, i16 1777, i16 1976, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 2, i16 944, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 955, i16 1786, i16 1190, i16 1787, i16 1977, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 2, i16 1088, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1099, i16 1804, i16 1190, i16 1805, i16 1978, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 4, i16 1132, i16 1808, i16 1190, i16 1809, i16 1979, i16 1814, i16 1864, i16 1815, i16 1865, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 4, i16 1206, i16 1816, i16 1190, i16 1817, i16 1980, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1834, i16 1190, i16 1835, i16 1981, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 3, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 2, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 4, i16 1440, i16 1877, i16 1190, i16 1878, i16 1982, i16 1881, i16 1190, i16 1882, i16 1983, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 9, i16 1418, i16 1874, i16 1187, i16 1848, i16 1984, i16 1849, i16 1985, i16 1844, i16 1984, i16 1845, i16 1986, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 24, i16 1440, i16 1770, i16 1190, i16 1771, i16 1987, i16 1772, i16 1988, i16 1773, i16 1989, i16 1774, i16 1990, i16 1775, i16 1991, i16 1764, i16 1992, i16 1765, i16 1993, i16 1822, i16 1190, i16 1823, i16 1994, i16 1824, i16 1995, i16 1825, i16 1996, i16 1828, i16 1997, i16 1829, i16 1998, i16 1818, i16 1999, i16 1819, i16 2000, i16 1760, i16 1190, i16 1761, i16 1955, i16 1883, i16 2001, i16 1884, i16 2002, i16 1885, i16 2003, i16 1886, i16 2004, i16 1762, i16 2001, i16 1763, i16 2005, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 2, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 8, i16 843, i16 1768, i16 1190, i16 1769, i16 2006, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 877, i16 1778, i16 1190, i16 1779, i16 2007, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 2, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 2, i16 955, i16 1788, i16 1190, i16 1789, i16 2008, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 990, i16 1790, i16 1190, i16 1791, i16 2009, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 7, i16 1046, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 1874, i16 1187, i16 1799, i16 1190, i16 1800, i16 2010, i16 3, i16 1075, i16 1801, i16 1190, i16 1802, i16 2011, i16 1803, i16 1925, i16 2, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 2, i16 1099, i16 1806, i16 1190, i16 1807, i16 2012, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 4, i16 1132, i16 1812, i16 1190, i16 1813, i16 2013, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 4, i16 1206, i16 1826, i16 1190, i16 1827, i16 2014, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1242, i16 1832, i16 1190, i16 1833, i16 2015, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1836, i16 1190, i16 1837, i16 2016, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 8, i16 1361, i16 1846, i16 1190, i16 1847, i16 2017, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1418, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 2, i16 1429, i16 1881, i16 1923, i16 1882, i16 1924, i16 2, i16 1440, i16 1879, i16 1190, i16 1880, i16 2018, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1046, i16 1870, i16 1190, i16 1871, i16 1915, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 2, i16 1400, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 81, i16 1697, i16 1712, i16 1698, i16 2019, i16 1699, i16 2019, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 898, i16 1887, i16 2020, i16 1888, i16 2021, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 9, i16 1418, i16 1874, i16 1187, i16 1848, i16 1984, i16 1849, i16 1985, i16 1844, i16 1984, i16 1845, i16 1986, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 24, i16 1440, i16 1770, i16 1190, i16 1771, i16 1987, i16 1772, i16 1988, i16 1773, i16 1989, i16 1774, i16 1990, i16 1775, i16 1991, i16 1764, i16 1992, i16 1765, i16 1993, i16 1822, i16 1190, i16 1823, i16 1994, i16 1824, i16 1995, i16 1825, i16 1996, i16 1828, i16 1997, i16 1829, i16 1998, i16 1818, i16 1999, i16 1819, i16 2000, i16 1760, i16 1190, i16 1761, i16 1955, i16 1883, i16 2001, i16 1884, i16 2002, i16 1885, i16 2003, i16 1886, i16 2004, i16 1762, i16 2001, i16 1763, i16 2005, i16 1, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1220, i16 2022, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1892, i16 1189, i16 1893, i16 1189, i16 1894, i16 1189, i16 3, i16 461, i16 1895, i16 1189, i16 1896, i16 1189, i16 1897, i16 1189, i16 3, i16 465, i16 1898, i16 1189, i16 1899, i16 1189, i16 1900, i16 1189, i16 3, i16 469, i16 1901, i16 1189, i16 1902, i16 1189, i16 1903, i16 1189, i16 2, i16 491, i16 1910, i16 1189, i16 1911, i16 1189, i16 2, i16 499, i16 1913, i16 1189, i16 1914, i16 1189, i16 29, i16 519, i16 1918, i16 1189, i16 1703, i16 1189, i16 1704, i16 1189, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 1717, i16 1189, i16 1718, i16 1189, i16 1719, i16 1189, i16 1720, i16 1189, i16 1721, i16 1189, i16 1722, i16 1189, i16 1723, i16 1189, i16 1724, i16 1189, i16 1725, i16 1189, i16 1726, i16 1189, i16 1727, i16 1189, i16 1728, i16 1189, i16 1729, i16 1189, i16 1730, i16 1189, i16 2, i16 753, i16 1919, i16 1189, i16 1920, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1759, i16 1846, i16 1758, i16 2023, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 898, i16 1888, i16 1846, i16 1887, i16 2024, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 955, i16 1785, i16 1846, i16 1784, i16 2025, i16 4, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 1921, i16 2026, i16 1922, i16 2027, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1046, i16 1798, i16 1846, i16 1797, i16 2028, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 2029, i16 1815, i16 2030, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 2, i16 1179, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1817, i16 1846, i16 1816, i16 2031, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 8, i16 1361, i16 1843, i16 1846, i16 1842, i16 2032, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 2, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 7, i16 1418, i16 1874, i16 1187, i16 1873, i16 1846, i16 1872, i16 2033, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 10, i16 1440, i16 1841, i16 1846, i16 1840, i16 2034, i16 1771, i16 1846, i16 1770, i16 2035, i16 1831, i16 2036, i16 1830, i16 2037, i16 1829, i16 1846, i16 1828, i16 2038, i16 1823, i16 2039, i16 1822, i16 2040, i16 4, i16 2011, i16 1923, i16 1744, i16 1924, i16 2041, i16 1925, i16 2042, i16 1926, i16 2043, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1702, i16 205, i16 1189, i16 1701, i16 221, i16 1189, i16 1700, i16 324, i16 1189, i16 1889, i16 371, i16 1189, i16 1890, i16 445, i16 1189, i16 1891, i16 447, i16 1189, i16 1904, i16 473, i16 1189, i16 1905, i16 476, i16 1189, i16 1906, i16 479, i16 1189, i16 1907, i16 481, i16 1189, i16 1908, i16 484, i16 1189, i16 1909, i16 487, i16 1189, i16 1912, i16 495, i16 1189, i16 1915, i16 503, i16 1189, i16 1916, i16 507, i16 1189, i16 1917, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 4, i16 877, i16 1778, i16 1190, i16 1779, i16 2007, i16 1776, i16 1190, i16 1777, i16 1976, i16 6, i16 898, i16 1927, i16 1190, i16 1928, i16 2044, i16 1929, i16 2045, i16 1930, i16 2046, i16 1782, i16 1190, i16 1783, i16 2047, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 4, i16 1099, i16 1931, i16 1190, i16 1932, i16 2048, i16 1933, i16 2049, i16 1934, i16 2050, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 6, i16 1132, i16 1935, i16 1190, i16 1936, i16 2051, i16 1937, i16 2052, i16 1938, i16 2053, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1836, i16 1190, i16 1837, i16 2016, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 2, i16 1429, i16 1881, i16 1923, i16 1882, i16 1924, i16 2, i16 1440, i16 1879, i16 1190, i16 1880, i16 2018, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 4, i16 1132, i16 1810, i16 1190, i16 1811, i16 2054, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 10, i16 1266, i16 1836, i16 2055, i16 1837, i16 2056, i16 1875, i16 2057, i16 1876, i16 2058, i16 1877, i16 2059, i16 1878, i16 2060, i16 1881, i16 2061, i16 1882, i16 2062, i16 1879, i16 2063, i16 1880, i16 2064, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 22, i16 1370, i16 1856, i16 2065, i16 1857, i16 2066, i16 1858, i16 2067, i16 1859, i16 2068, i16 1860, i16 2069, i16 1861, i16 2070, i16 1862, i16 2071, i16 1863, i16 2072, i16 1868, i16 2073, i16 1869, i16 2074, i16 1866, i16 2075, i16 1867, i16 2076, i16 1864, i16 2077, i16 1865, i16 2078, i16 1820, i16 2079, i16 1821, i16 2080, i16 1764, i16 2081, i16 1765, i16 2082, i16 1828, i16 2081, i16 1829, i16 2083, i16 1848, i16 2081, i16 1849, i16 2084, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 1874, i16 1418, i16 1187, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 4, i16 877, i16 1939, i16 1190, i16 1940, i16 2085, i16 1941, i16 2086, i16 1942, i16 2087, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 4, i16 1099, i16 1943, i16 1190, i16 1944, i16 2088, i16 1945, i16 2089, i16 1946, i16 2090, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 4, i16 1132, i16 1810, i16 1190, i16 1811, i16 2054, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 32766, i16 32766, i16 32766, i16 -2, i16 16384, i16 0, i16 16384, i16 -2, i16 16384, i16 0, i16 16384, i16 -16206, i16 16384, i16 0, i16 16384, i16 -16204, i16 16384, i16 0, i16 16384, i16 -16353, i16 16384, i16 0, i16 16384, i16 -16352, i16 16384, i16 0, i16 16384, i16 -16351, i16 16384, i16 0, i16 16384, i16 -16350, i16 16384, i16 0, i16 16384, i16 -16349, i16 16384, i16 0, i16 16384, i16 -16348, i16 16384, i16 0, i16 16384, i16 -16347, i16 16384, i16 0, i16 16384, i16 -16346, i16 16384, i16 0, i16 16384, i16 -16345, i16 16384, i16 0, i16 16384, i16 -16344, i16 16384, i16 0, i16 16384, i16 -16343, i16 16384, i16 0, i16 16384, i16 -16342, i16 16384, i16 0, i16 16384, i16 -16341, i16 16384, i16 0, i16 16384, i16 -15486, i16 16384, i16 0, i16 16384, i16 -16340, i16 16384, i16 0, i16 16384, i16 -16339, i16 16384, i16 0, i16 16384, i16 -15485, i16 16384, i16 0, i16 16384, i16 -16338, i16 16384, i16 0, i16 16384, i16 -15484, i16 16384, i16 0, i16 16384, i16 -15483, i16 16384, i16 0, i16 16384, i16 -15482, i16 16384, i16 0, i16 16384, i16 -16337, i16 16384, i16 0, i16 16384, i16 -16336, i16 16384, i16 0, i16 16384, i16 -16335, i16 16384, i16 0, i16 16384, i16 -16334, i16 16384, i16 0, i16 16384, i16 -16333, i16 16384, i16 0, i16 16384, i16 -15481, i16 16384, i16 0, i16 16384, i16 -16332, i16 16384, i16 0, i16 16384, i16 -16331, i16 16384, i16 0, i16 16384, i16 -16330, i16 16384, i16 0, i16 16384, i16 -16329, i16 16384, i16 0, i16 16384, i16 -16328, i16 16384, i16 0, i16 16384, i16 -16327, i16 16384, i16 0, i16 16384, i16 -15480, i16 16384, i16 0, i16 16384, i16 -16326, i16 16384, i16 0, i16 16384, i16 -16325, i16 16534, i16 14, i16 17273, i16 -16384, i16 16415, i16 14, i16 17273, i16 -16384, i16 16416, i16 14, i16 17273, i16 -16384, i16 16417, i16 14, i16 17273, i16 -16384, i16 16418, i16 14, i16 17273, i16 -16384, i16 16419, i16 14, i16 17273, i16 -16384, i16 16420, i16 14, i16 17273, i16 -16384, i16 16421, i16 14, i16 17273, i16 -16384, i16 16422, i16 14, i16 17273, i16 -16384, i16 16423, i16 14, i16 17273, i16 -16384, i16 16424, i16 14, i16 17273, i16 -16384, i16 16415, i16 17, i16 17273, i16 -16384, i16 16415, i16 896, i16 17273, i16 -16384, i16 16415, i16 897, i16 17273, i16 -16384, i16 16415, i16 19, i16 17273, i16 -16384, i16 16415, i16 21, i16 17273, i16 -16384, i16 16415, i16 18, i16 17273, i16 -16384, i16 16415, i16 20, i16 17273, i16 -16384, i16 16415, i16 14, i16 16392, i16 -16384, i16 16416, i16 14, i16 16392, i16 -16384, i16 16417, i16 14, i16 16392, i16 -16384, i16 16418, i16 14, i16 16392, i16 -16384, i16 16419, i16 14, i16 16392, i16 -16384, i16 16420, i16 14, i16 16392, i16 -16384, i16 16421, i16 14, i16 16392, i16 -16384, i16 16422, i16 14, i16 16392, i16 -16384, i16 16423, i16 14, i16 16392, i16 -16384, i16 16424, i16 14, i16 16392, i16 -16384, i16 16425, i16 14, i16 17273, i16 -16384, i16 16425, i16 15, i16 16392, i16 -16384, i16 16425, i16 26, i16 17273, i16 -16384, i16 16425, i16 27, i16 17273, i16 -16384, i16 16426, i16 14, i16 17273, i16 -16384, i16 16427, i16 14, i16 17273, i16 -16384, i16 17282, i16 14, i16 17273, i16 -16384, i16 17282, i16 18, i16 17273, i16 -16384, i16 16428, i16 14, i16 17273, i16 -16384, i16 16428, i16 16, i16 17273, i16 -16384, i16 16428, i16 17, i16 17273, i16 -16384, i16 16428, i16 897, i16 17273, i16 -16384, i16 16428, i16 20, i16 17273, i16 -16384, i16 16428, i16 18, i16 17273, i16 -16384, i16 16428, i16 23, i16 17273, i16 -16384, i16 16428, i16 26, i16 17273, i16 -16384, i16 16428, i16 27, i16 17273, i16 -16384, i16 16429, i16 14, i16 17273, i16 -16384, i16 17283, i16 14, i16 17273, i16 -16384, i16 17283, i16 25, i16 17273, i16 -16384, i16 16430, i16 14, i16 17273, i16 -16384, i16 17284, i16 16, i16 17273, i16 -16384, i16 17284, i16 17, i16 17273, i16 -16384, i16 17284, i16 20, i16 17273, i16 -16384, i16 17284, i16 22, i16 17273, i16 -16384, i16 17284, i16 26, i16 17273, i16 -16384, i16 17284, i16 27, i16 17273, i16 -16384, i16 18009, i16 1628, i16 18015, i16 -16384, i16 17285, i16 14, i16 17273, i16 -16384, i16 17286, i16 14, i16 17273, i16 -16384, i16 17286, i16 15, i16 17273, i16 -16384, i16 17286, i16 25, i16 17273, i16 -16384, i16 16431, i16 14, i16 17273, i16 -16384, i16 16431, i16 16, i16 17273, i16 -16384, i16 16431, i16 18, i16 17273, i16 -16384, i16 16431, i16 24, i16 17273, i16 -16384, i16 16431, i16 25, i16 17273, i16 -16384, i16 16431, i16 23, i16 17273, i16 -16384, i16 16432, i16 14, i16 17273, i16 -16384, i16 16433, i16 14, i16 17273, i16 -16384, i16 16433, i16 15, i16 17273, i16 -16384, i16 16433, i16 16, i16 17273, i16 -16384, i16 16433, i16 18, i16 17273, i16 -16384, i16 16433, i16 25, i16 17273, i16 -16384, i16 16434, i16 14, i16 17273, i16 -16384, i16 16434, i16 15, i16 16392, i16 -16384, i16 16434, i16 16, i16 17273, i16 -16384, i16 16434, i16 17, i16 17273, i16 -16384, i16 16434, i16 897, i16 17273, i16 -16384, i16 16434, i16 22, i16 17273, i16 -16384, i16 16434, i16 27, i16 17273, i16 -16384, i16 18018, i16 1628, i16 18015, i16 -16384, i16 16435, i16 14, i16 17273, i16 -16384, i16 17287, i16 14, i16 17273, i16 -16384, i16 16436, i16 14, i16 17273, i16 -16384, i16 16436, i16 16, i16 17273, i16 -16384, i16 16436, i16 18, i16 17273, i16 -16384, i16 16436, i16 25, i16 17273, i16 -16384, i16 16437, i16 14, i16 17273, i16 -16384, i16 16437, i16 16, i16 17273, i16 -16384, i16 16438, i16 14, i16 17273, i16 -16384, i16 16438, i16 18, i16 17273, i16 -16384, i16 16438, i16 24, i16 17273, i16 -16384, i16 16439, i16 14, i16 17273, i16 -16384, i16 16439, i16 16, i16 17273, i16 -16384, i16 16439, i16 17, i16 17273, i16 -16384, i16 16439, i16 897, i16 17273, i16 -16384, i16 16439, i16 19, i16 17273, i16 -16384, i16 16439, i16 22, i16 17273, i16 -16384, i16 16439, i16 26, i16 17273, i16 -16384, i16 16439, i16 27, i16 17273, i16 -16384, i16 16440, i16 14, i16 17273, i16 -16384, i16 16441, i16 897, i16 17273, i16 -16384, i16 17288, i16 14, i16 17273, i16 -16384, i16 16442, i16 14, i16 17273, i16 -16384, i16 16442, i16 16, i16 17273, i16 -16384, i16 16442, i16 20, i16 17273, i16 -16384, i16 16442, i16 897, i16 17273, i16 -16384, i16 16443, i16 14, i16 17273, i16 -16384, i16 16443, i16 16, i16 17273, i16 -16384, i16 16444, i16 14, i16 17273, i16 -16384, i16 16425, i16 14, i16 16393, i16 -16384, i16 16425, i16 26, i16 16393, i16 -16384, i16 16425, i16 27, i16 16393, i16 -16384, i16 16426, i16 14, i16 16393, i16 -16384, i16 16427, i16 14, i16 16393, i16 -16384, i16 17282, i16 14, i16 16393, i16 -16384, i16 17282, i16 18, i16 16393, i16 -16384, i16 16428, i16 14, i16 16393, i16 -16384, i16 16428, i16 16, i16 16393, i16 -16384, i16 16428, i16 17, i16 16393, i16 -16384, i16 16428, i16 897, i16 16393, i16 -16384, i16 16428, i16 20, i16 16393, i16 -16384, i16 16428, i16 18, i16 16393, i16 -16384, i16 16428, i16 23, i16 16393, i16 -16384, i16 16428, i16 26, i16 16393, i16 -16384, i16 16428, i16 27, i16 16393, i16 -16384, i16 16429, i16 14, i16 16393, i16 -16384, i16 17283, i16 14, i16 16393, i16 -16384, i16 17283, i16 25, i16 16393, i16 -16384, i16 16430, i16 14, i16 16393, i16 -16384, i16 17284, i16 16, i16 16393, i16 -16384, i16 17284, i16 17, i16 16393, i16 -16384, i16 17284, i16 20, i16 16393, i16 -16384, i16 17284, i16 22, i16 16393, i16 -16384, i16 17284, i16 26, i16 16393, i16 -16384, i16 17284, i16 27, i16 16393, i16 -16384, i16 18009, i16 1628, i16 18021, i16 -16384, i16 17285, i16 14, i16 16393, i16 -16384, i16 17286, i16 14, i16 16393, i16 -16384, i16 17286, i16 25, i16 16393, i16 -16384, i16 16431, i16 14, i16 16393, i16 -16384, i16 16431, i16 16, i16 16393, i16 -16384, i16 16431, i16 18, i16 16393, i16 -16384, i16 16431, i16 24, i16 16393, i16 -16384, i16 16431, i16 25, i16 16393, i16 -16384, i16 16431, i16 23, i16 16393, i16 -16384, i16 16432, i16 14, i16 16393, i16 -16384, i16 16433, i16 14, i16 16393, i16 -16384, i16 16433, i16 16, i16 16393, i16 -16384, i16 16433, i16 18, i16 16393, i16 -16384, i16 16433, i16 25, i16 16393, i16 -16384, i16 16434, i16 14, i16 16393, i16 -16384, i16 16434, i16 16, i16 16393, i16 -16384, i16 16434, i16 17, i16 16393, i16 -16384, i16 16434, i16 897, i16 16393, i16 -16384, i16 16434, i16 22, i16 16393, i16 -16384, i16 16434, i16 27, i16 16393, i16 -16384, i16 18018, i16 1628, i16 18021, i16 -16384, i16 16435, i16 14, i16 16393, i16 -16384, i16 17287, i16 14, i16 16393, i16 -16384, i16 16436, i16 14, i16 16393, i16 -16384, i16 16436, i16 16, i16 16393, i16 -16384, i16 16436, i16 18, i16 16393, i16 -16384, i16 16436, i16 25, i16 16393, i16 -16384, i16 16437, i16 14, i16 16393, i16 -16384, i16 16437, i16 16, i16 16393, i16 -16384, i16 16438, i16 14, i16 16393, i16 -16384, i16 16438, i16 18, i16 16393, i16 -16384, i16 16438, i16 24, i16 16393, i16 -16384, i16 16439, i16 14, i16 16393, i16 -16384, i16 16439, i16 16, i16 16393, i16 -16384, i16 16439, i16 17, i16 16393, i16 -16384, i16 16439, i16 897, i16 16393, i16 -16384, i16 16439, i16 19, i16 16393, i16 -16384, i16 16439, i16 22, i16 16393, i16 -16384, i16 16439, i16 26, i16 16393, i16 -16384, i16 16439, i16 27, i16 16393, i16 -16384, i16 16440, i16 14, i16 16393, i16 -16384, i16 16441, i16 897, i16 16393, i16 -16384, i16 17288, i16 14, i16 16393, i16 -16384, i16 16442, i16 14, i16 16393, i16 -16384, i16 16442, i16 16, i16 16393, i16 -16384, i16 16442, i16 897, i16 16393, i16 -16384, i16 16442, i16 20, i16 16393, i16 -16384, i16 16443, i16 14, i16 16393, i16 -16384, i16 16443, i16 16, i16 16393, i16 -16384, i16 16444, i16 14, i16 16393, i16 -16384, i16 16445, i16 16398, i16 17273, i16 -16384, i16 16446, i16 16398, i16 17273, i16 -16384, i16 16448, i16 16398, i16 17273, i16 -16384, i16 16449, i16 16398, i16 17273, i16 -16384, i16 16450, i16 16398, i16 17273, i16 -16384, i16 16451, i16 16398, i16 17273, i16 -16384, i16 16452, i16 16398, i16 17273, i16 -16384, i16 16453, i16 16398, i16 17273, i16 -16384, i16 16454, i16 16398, i16 17273, i16 -16384, i16 16455, i16 16398, i16 17273, i16 -16384, i16 16456, i16 16398, i16 17273, i16 -16384, i16 16457, i16 16398, i16 17273, i16 -16384, i16 16458, i16 16398, i16 17273, i16 -16384, i16 16459, i16 16398, i16 17273, i16 -16384, i16 16460, i16 16398, i16 17273, i16 -16384, i16 16461, i16 16398, i16 17273, i16 -16384, i16 16462, i16 16398, i16 17273, i16 -16384, i16 16463, i16 16398, i16 17273, i16 -16384, i16 16464, i16 16398, i16 17273, i16 -16384, i16 16465, i16 16398, i16 17273, i16 -16384, i16 16466, i16 16398, i16 17273, i16 -16384, i16 16467, i16 16398, i16 17273, i16 -16384, i16 16468, i16 16398, i16 17273, i16 -16384, i16 16469, i16 16398, i16 17273, i16 -16384, i16 16470, i16 16398, i16 17273, i16 -16384, i16 16471, i16 16398, i16 17273, i16 -16384, i16 16474, i16 16398, i16 17273, i16 -16384, i16 16475, i16 16398, i16 17273, i16 -16384, i16 16476, i16 16398, i16 17273, i16 -16384, i16 16477, i16 16398, i16 17273, i16 -16384, i16 16478, i16 16398, i16 17273, i16 -16384, i16 16480, i16 16398, i16 17273, i16 -16384, i16 16482, i16 17278, i16 17273, i16 -16384, i16 16482, i16 16398, i16 17273, i16 -16384, i16 61, i16 14, i16 3, i16 -16384, i16 61, i16 14, i16 4, i16 -16384, i16 61, i16 14, i16 5, i16 -16384, i16 61, i16 14, i16 6, i16 -16384, i16 62, i16 14, i16 3, i16 -16384, i16 62, i16 14, i16 4, i16 -16384, i16 62, i16 14, i16 5, i16 -16384, i16 62, i16 14, i16 6, i16 -16384, i16 64, i16 14, i16 3, i16 -16384, i16 64, i16 14, i16 4, i16 -16384, i16 64, i16 14, i16 5, i16 -16384, i16 64, i16 14, i16 6, i16 -16384, i16 65, i16 14, i16 3, i16 -16384, i16 65, i16 14, i16 4, i16 -16384, i16 65, i16 14, i16 5, i16 -16384, i16 65, i16 14, i16 6, i16 -16384, i16 66, i16 14, i16 3, i16 -16384, i16 66, i16 14, i16 4, i16 -16384, i16 66, i16 14, i16 5, i16 -16384, i16 66, i16 14, i16 6, i16 -16384, i16 67, i16 14, i16 3, i16 -16384, i16 67, i16 14, i16 4, i16 -16384, i16 67, i16 14, i16 5, i16 -16384, i16 67, i16 14, i16 6, i16 -16384, i16 68, i16 14, i16 3, i16 -16384, i16 68, i16 14, i16 4, i16 -16384, i16 68, i16 14, i16 5, i16 -16384, i16 68, i16 14, i16 6, i16 -16384, i16 69, i16 14, i16 3, i16 -16384, i16 69, i16 14, i16 4, i16 -16384, i16 69, i16 14, i16 5, i16 -16384, i16 69, i16 14, i16 6, i16 -16384, i16 70, i16 14, i16 3, i16 -16384, i16 70, i16 14, i16 4, i16 -16384, i16 70, i16 14, i16 5, i16 -16384, i16 70, i16 14, i16 6, i16 -16384, i16 71, i16 14, i16 3, i16 -16384, i16 71, i16 14, i16 4, i16 -16384, i16 72, i16 14, i16 3, i16 -16384, i16 72, i16 14, i16 4, i16 -16384, i16 73, i16 14, i16 3, i16 -16384, i16 73, i16 14, i16 4, i16 -16384, i16 74, i16 14, i16 3, i16 -16384, i16 74, i16 14, i16 4, i16 -16384, i16 75, i16 14, i16 3, i16 -16384, i16 75, i16 14, i16 4, i16 -16384, i16 76, i16 14, i16 3, i16 -16384, i16 76, i16 14, i16 4, i16 -16384, i16 77, i16 14, i16 3, i16 -16384, i16 77, i16 14, i16 4, i16 -16384, i16 78, i16 14, i16 3, i16 -16384, i16 78, i16 14, i16 4, i16 -16384, i16 78, i16 14, i16 5, i16 -16384, i16 78, i16 14, i16 6, i16 -16384, i16 79, i16 14, i16 3, i16 -16384, i16 79, i16 14, i16 4, i16 -16384, i16 79, i16 14, i16 5, i16 -16384, i16 79, i16 14, i16 6, i16 -16384, i16 80, i16 14, i16 3, i16 -16384, i16 80, i16 14, i16 4, i16 -16384, i16 80, i16 14, i16 5, i16 -16384, i16 80, i16 14, i16 6, i16 -16384, i16 81, i16 14, i16 3, i16 -16384, i16 81, i16 14, i16 4, i16 -16384, i16 81, i16 14, i16 5, i16 -16384, i16 81, i16 14, i16 6, i16 -16384, i16 82, i16 14, i16 3, i16 -16384, i16 82, i16 14, i16 4, i16 -16384, i16 82, i16 14, i16 5, i16 -16384, i16 82, i16 14, i16 6, i16 -16384, i16 83, i16 14, i16 3, i16 -16384, i16 83, i16 14, i16 4, i16 -16384, i16 83, i16 14, i16 5, i16 -16384, i16 83, i16 14, i16 6, i16 -16384, i16 84, i16 14, i16 3, i16 -16384, i16 84, i16 14, i16 4, i16 -16384, i16 84, i16 14, i16 5, i16 -16384, i16 84, i16 14, i16 6, i16 -16384, i16 85, i16 14, i16 3, i16 -16384, i16 85, i16 14, i16 4, i16 -16384, i16 85, i16 14, i16 5, i16 -16384, i16 85, i16 14, i16 6, i16 -16384, i16 86, i16 14, i16 3, i16 -16384, i16 86, i16 14, i16 4, i16 -16384, i16 86, i16 14, i16 5, i16 -16384, i16 86, i16 14, i16 6, i16 -16384, i16 87, i16 14, i16 3, i16 -16384, i16 87, i16 14, i16 4, i16 -16384, i16 87, i16 14, i16 5, i16 -16384, i16 87, i16 14, i16 6, i16 -16384, i16 90, i16 14, i16 3, i16 -16384, i16 90, i16 14, i16 4, i16 -16384, i16 90, i16 14, i16 5, i16 -16384, i16 90, i16 14, i16 6, i16 -16384, i16 91, i16 14, i16 3, i16 -16384, i16 91, i16 14, i16 4, i16 -16384, i16 91, i16 14, i16 5, i16 -16384, i16 91, i16 14, i16 6, i16 -16384, i16 92, i16 14, i16 3, i16 -16384, i16 92, i16 14, i16 4, i16 -16384, i16 92, i16 14, i16 5, i16 -16384, i16 92, i16 14, i16 6, i16 -16384, i16 93, i16 14, i16 3, i16 -16384, i16 93, i16 14, i16 4, i16 -16384, i16 93, i16 14, i16 5, i16 -16384, i16 93, i16 14, i16 6, i16 -16384, i16 94, i16 14, i16 3, i16 -16384, i16 94, i16 14, i16 4, i16 -16384, i16 96, i16 14, i16 3, i16 -16384, i16 96, i16 14, i16 4, i16 -16384, i16 1640, i16 1643, i16 1646, i16 -16384, i16 1640, i16 1643, i16 1649, i16 -16384, i16 1640, i16 1643, i16 1652, i16 -16384, i16 1640, i16 1643, i16 1655, i16 -16384, i16 98, i16 894, i16 3, i16 -16384, i16 98, i16 894, i16 4, i16 -16384, i16 98, i16 14, i16 3, i16 -16384, i16 98, i16 14, i16 4, i16 -16384, i16 16483, i16 16398, i16 16384, i16 -16384, i16 16484, i16 16398, i16 16384, i16 -16384, i16 16485, i16 16398, i16 16384, i16 -16384, i16 16486, i16 16398, i16 16384, i16 -16384, i16 16487, i16 16398, i16 16384, i16 -16384, i16 16488, i16 16398, i16 16384, i16 -16384, i16 16489, i16 16398, i16 16384, i16 -16384, i16 16490, i16 16398, i16 16384, i16 -16384, i16 16491, i16 16398, i16 16384, i16 -16384, i16 16492, i16 16398, i16 16384, i16 -16384, i16 16493, i16 16398, i16 16384, i16 -16384, i16 16494, i16 16398, i16 16384, i16 -16384, i16 16495, i16 16398, i16 16384, i16 -16384, i16 16496, i16 16398, i16 16384, i16 -16384, i16 16497, i16 16398, i16 16384, i16 -16384, i16 16498, i16 16398, i16 16384, i16 -16384, i16 16499, i16 16398, i16 16384, i16 -16384, i16 16500, i16 16398, i16 16384, i16 -16384, i16 16501, i16 16398, i16 16384, i16 -16384, i16 16502, i16 16398, i16 16384, i16 -16384, i16 16503, i16 16398, i16 16384, i16 -16384, i16 16504, i16 16398, i16 16384, i16 -16384, i16 16505, i16 16398, i16 16384, i16 -16384, i16 16506, i16 16398, i16 16384, i16 -16384, i16 16507, i16 16398, i16 16384, i16 -16384, i16 16508, i16 16398, i16 16384, i16 -16384, i16 16509, i16 16398, i16 16384, i16 -16384, i16 16510, i16 14, i16 16393, i16 -16384, i16 16510, i16 28, i16 16393, i16 -16384, i16 16511, i16 14, i16 16393, i16 -16384, i16 16512, i16 14, i16 16393, i16 -16384, i16 16512, i16 15, i16 16393, i16 -16384, i16 16513, i16 14, i16 16393, i16 -16384, i16 16513, i16 15, i16 16393, i16 -16384, i16 16514, i16 14, i16 16393, i16 -16384, i16 16514, i16 28, i16 16393, i16 -16384, i16 16515, i16 14, i16 16393, i16 -16384, i16 16515, i16 15, i16 16393, i16 -16384, i16 16516, i16 14, i16 16393, i16 -16384, i16 16516, i16 28, i16 16393, i16 -16384, i16 16517, i16 14, i16 16393, i16 -16384, i16 16518, i16 14, i16 16393, i16 -16384, i16 16518, i16 28, i16 16393, i16 -16384, i16 16518, i16 29, i16 16393, i16 -16384, i16 16519, i16 14, i16 16393, i16 -16384, i16 16519, i16 15, i16 16393, i16 -16384, i16 16519, i16 895, i16 16393, i16 -16384, i16 16520, i16 14, i16 16393, i16 -16384, i16 16521, i16 14, i16 16393, i16 -16384, i16 16522, i16 14, i16 16393, i16 -16384, i16 16523, i16 14, i16 16393, i16 -16384, i16 16524, i16 14, i16 16393, i16 -16384, i16 16524, i16 28, i16 16393, i16 -16384, i16 16525, i16 14, i16 16393, i16 -16384, i16 16526, i16 14, i16 16393, i16 -16384, i16 16527, i16 14, i16 16393, i16 -16384, i16 16527, i16 15, i16 16393, i16 -16384, i16 16527, i16 895, i16 16393, i16 -16384, i16 16528, i16 14, i16 16393, i16 -16384, i16 16528, i16 15, i16 16393, i16 -16384, i16 16529, i16 14, i16 16393, i16 -16384, i16 16529, i16 28, i16 16393, i16 -16384, i16 16529, i16 29, i16 16393, i16 -16384, i16 16529, i16 30, i16 16393, i16 -16384, i16 16529, i16 26, i16 16393, i16 -16384, i16 16529, i16 27, i16 16393, i16 -16384, i16 16530, i16 14, i16 16393, i16 -16384, i16 16530, i16 895, i16 16393, i16 -16384, i16 16531, i16 14, i16 16393, i16 -16384, i16 16531, i16 15, i16 16393, i16 -16384, i16 16532, i16 14, i16 16393, i16 -16384, i16 16532, i16 15, i16 16393, i16 -16384, i16 16533, i16 14, i16 16393, i16 -16384, i16 16533, i16 28, i16 16393, i16 -16384, i16 16510, i16 14, i16 16396, i16 -16384, i16 16510, i16 28, i16 16396, i16 -16384, i16 16511, i16 14, i16 16396, i16 -16384, i16 16511, i16 15, i16 16396, i16 -16384, i16 16512, i16 14, i16 16396, i16 -16384, i16 16513, i16 14, i16 16396, i16 -16384, i16 16514, i16 14, i16 16396, i16 -16384, i16 16514, i16 28, i16 16396, i16 -16384, i16 16515, i16 14, i16 16396, i16 -16384, i16 16515, i16 15, i16 16396, i16 -16384, i16 16516, i16 14, i16 16396, i16 -16384, i16 16516, i16 28, i16 16396, i16 -16384, i16 16517, i16 14, i16 16396, i16 -16384, i16 16517, i16 15, i16 16396, i16 -16384, i16 16518, i16 14, i16 16396, i16 -16384, i16 16518, i16 28, i16 16396, i16 -16384, i16 16518, i16 29, i16 16396, i16 -16384, i16 16518, i16 30, i16 16396, i16 -16384, i16 16518, i16 26, i16 16396, i16 -16384, i16 16519, i16 14, i16 16396, i16 -16384, i16 16519, i16 15, i16 16396, i16 -16384, i16 16519, i16 895, i16 16396, i16 -16384, i16 16520, i16 14, i16 16396, i16 -16384, i16 16521, i16 14, i16 16396, i16 -16384, i16 16522, i16 14, i16 16396, i16 -16384, i16 16523, i16 14, i16 16396, i16 -16384, i16 16524, i16 14, i16 16396, i16 -16384, i16 16524, i16 28, i16 16396, i16 -16384, i16 16525, i16 14, i16 16396, i16 -16384, i16 16525, i16 15, i16 16396, i16 -16384, i16 16526, i16 15, i16 16396, i16 -16384, i16 16527, i16 14, i16 16396, i16 -16384, i16 16527, i16 15, i16 16396, i16 -16384, i16 16527, i16 895, i16 16396, i16 -16384, i16 16527, i16 26, i16 16396, i16 -16384, i16 16528, i16 14, i16 16396, i16 -16384, i16 16528, i16 15, i16 16396, i16 -16384, i16 16529, i16 14, i16 16396, i16 -16384, i16 16529, i16 28, i16 16396, i16 -16384, i16 16529, i16 29, i16 16396, i16 -16384, i16 16529, i16 30, i16 16396, i16 -16384, i16 16530, i16 14, i16 16396, i16 -16384, i16 16530, i16 15, i16 16396, i16 -16384, i16 16530, i16 895, i16 16396, i16 -16384, i16 16531, i16 14, i16 16396, i16 -16384, i16 16532, i16 14, i16 16396, i16 -16384, i16 16532, i16 15, i16 16396, i16 -16384, i16 16533, i16 14, i16 16396, i16 -16384, i16 16533, i16 28, i16 16396, i16 -16384, i16 17292, i16 16398, i16 17273, i16 -16384, i16 17293, i16 16398, i16 17273, i16 -16384, i16 17294, i16 16398, i16 17273, i16 -16384, i16 17295, i16 16398, i16 17273, i16 -16384, i16 17296, i16 16398, i16 17273, i16 -16384, i16 17299, i16 16398, i16 17273, i16 -16384, i16 17302, i16 16398, i16 17273, i16 -16384, i16 17303, i16 16398, i16 17273, i16 -16384, i16 17305, i16 16398, i16 17273, i16 -16384, i16 17308, i16 16398, i16 17273, i16 -16384, i16 17309, i16 16398, i16 17273, i16 -16384, i16 17310, i16 16398, i16 17273, i16 -16384, i16 17311, i16 16398, i16 17273, i16 -16384, i16 17313, i16 16398, i16 17273, i16 -16384, i16 17314, i16 16398, i16 17273, i16 -16384, i16 17316, i16 16398, i16 17273, i16 -16384, i16 17317, i16 16398, i16 17273, i16 -16384, i16 17318, i16 16398, i16 17273, i16 -16384, i16 17319, i16 16398, i16 17273, i16 -16384, i16 17320, i16 16398, i16 17273, i16 -16384, i16 17323, i16 16398, i16 17273, i16 -16384, i16 17325, i16 16398, i16 17273, i16 -16384, i16 17326, i16 16398, i16 17273, i16 -16384, i16 17327, i16 16398, i16 17273, i16 -16384, i16 17328, i16 16398, i16 17273, i16 -16384, i16 17330, i16 16398, i16 17273, i16 -16384, i16 17331, i16 16398, i16 17273, i16 -16384, i16 17332, i16 16398, i16 17273, i16 -16384, i16 17334, i16 16398, i16 17273, i16 -16384, i16 17336, i16 16398, i16 17273, i16 -16384, i16 17337, i16 16398, i16 17273, i16 -16384, i16 17292, i16 16398, i16 16393, i16 -16384, i16 17293, i16 16398, i16 16393, i16 -16384, i16 17294, i16 16398, i16 16393, i16 -16384, i16 17295, i16 16398, i16 16393, i16 -16384, i16 17296, i16 16398, i16 16393, i16 -16384, i16 17299, i16 16398, i16 16393, i16 -16384, i16 17302, i16 16398, i16 16393, i16 -16384, i16 17303, i16 16398, i16 16393, i16 -16384, i16 17305, i16 16398, i16 16393, i16 -16384, i16 17308, i16 16398, i16 16393, i16 -16384, i16 17310, i16 16398, i16 16393, i16 -16384, i16 17311, i16 16398, i16 16393, i16 -16384, i16 17313, i16 16398, i16 16393, i16 -16384, i16 17314, i16 16398, i16 16393, i16 -16384, i16 17316, i16 16398, i16 16393, i16 -16384, i16 17317, i16 16398, i16 16393, i16 -16384, i16 17318, i16 16398, i16 16393, i16 -16384, i16 17319, i16 16398, i16 16393, i16 -16384, i16 17320, i16 16398, i16 16393, i16 -16384, i16 17323, i16 16398, i16 16393, i16 -16384, i16 17325, i16 16398, i16 16393, i16 -16384, i16 17326, i16 16398, i16 16393, i16 -16384, i16 17327, i16 16398, i16 16393, i16 -16384, i16 17328, i16 16398, i16 16393, i16 -16384, i16 17330, i16 16398, i16 16393, i16 -16384, i16 17331, i16 16398, i16 16393, i16 -16384, i16 17332, i16 16398, i16 16393, i16 -16384, i16 17334, i16 16398, i16 16393, i16 -16384, i16 17336, i16 16398, i16 16393, i16 -16384, i16 17337, i16 16398, i16 16393, i16 -16384, i16 16425, i16 16, i16 17273, i16 -16384, i16 16425, i16 17, i16 17273, i16 -16384, i16 16425, i16 897, i16 17273, i16 -16384, i16 16425, i16 22, i16 17273, i16 -16384, i16 16425, i16 20, i16 17273, i16 -16384, i16 16425, i16 19, i16 17273, i16 -16384, i16 16425, i16 896, i16 17273, i16 -16384, i16 18042, i16 1628, i16 18015, i16 -16384, i16 16427, i16 25, i16 17273, i16 -16384, i16 16427, i16 16, i16 17273, i16 -16384, i16 16427, i16 897, i16 17273, i16 -16384, i16 16427, i16 18, i16 17273, i16 -16384, i16 16427, i16 23, i16 17273, i16 -16384, i16 17282, i16 15, i16 17273, i16 -16384, i16 17282, i16 24, i16 17273, i16 -16384, i16 17283, i16 896, i16 17273, i16 -16384, i16 17283, i16 897, i16 17273, i16 -16384, i16 17283, i16 23, i16 17273, i16 -16384, i16 16430, i16 897, i16 17273, i16 -16384, i16 16430, i16 24, i16 17273, i16 -16384, i16 17284, i16 14, i16 17273, i16 -16384, i16 17284, i16 897, i16 17273, i16 -16384, i16 17284, i16 15, i16 17273, i16 -16384, i16 17285, i16 897, i16 17273, i16 -16384, i16 16433, i16 22, i16 17273, i16 -16384, i16 18045, i16 1628, i16 18015, i16 -16384, i16 16434, i16 20, i16 17273, i16 -16384, i16 16434, i16 24, i16 17273, i16 -16384, i16 16434, i16 21, i16 17273, i16 -16384, i16 16437, i16 897, i16 17273, i16 -16384, i16 16437, i16 18, i16 17273, i16 -16384, i16 16437, i16 25, i16 17273, i16 -16384, i16 18048, i16 1628, i16 18015, i16 -16384, i16 16438, i16 25, i16 17273, i16 -16384, i16 16439, i16 20, i16 17273, i16 -16384, i16 16439, i16 896, i16 17273, i16 -16384, i16 16439, i16 21, i16 17273, i16 -16384, i16 16441, i16 14, i16 17273, i16 -16384, i16 16443, i16 18, i16 17273, i16 -16384, i16 16443, i16 23, i16 17273, i16 -16384, i16 16425, i16 16, i16 16393, i16 -16384, i16 16425, i16 17, i16 16393, i16 -16384, i16 16425, i16 897, i16 16393, i16 -16384, i16 16425, i16 22, i16 16393, i16 -16384, i16 16425, i16 20, i16 16393, i16 -16384, i16 16425, i16 19, i16 16393, i16 -16384, i16 16425, i16 896, i16 16393, i16 -16384, i16 18042, i16 1628, i16 18021, i16 -16384, i16 16427, i16 25, i16 16393, i16 -16384, i16 16427, i16 16, i16 16393, i16 -16384, i16 16427, i16 897, i16 16393, i16 -16384, i16 16427, i16 18, i16 16393, i16 -16384, i16 16427, i16 23, i16 16393, i16 -16384, i16 17282, i16 15, i16 16393, i16 -16384, i16 17282, i16 24, i16 16393, i16 -16384, i16 17283, i16 896, i16 16393, i16 -16384, i16 17283, i16 897, i16 16393, i16 -16384, i16 17283, i16 23, i16 16393, i16 -16384, i16 16430, i16 897, i16 16393, i16 -16384, i16 16430, i16 24, i16 16393, i16 -16384, i16 17284, i16 14, i16 16393, i16 -16384, i16 17284, i16 897, i16 16393, i16 -16384, i16 17284, i16 15, i16 16393, i16 -16384, i16 17285, i16 897, i16 16393, i16 -16384, i16 16433, i16 22, i16 16393, i16 -16384, i16 18045, i16 1628, i16 18021, i16 -16384, i16 16434, i16 20, i16 16393, i16 -16384, i16 16434, i16 24, i16 16393, i16 -16384, i16 16434, i16 21, i16 16393, i16 -16384, i16 16437, i16 897, i16 16393, i16 -16384, i16 16437, i16 18, i16 16393, i16 -16384, i16 16437, i16 25, i16 16393, i16 -16384, i16 16438, i16 25, i16 16393, i16 -16384, i16 16439, i16 20, i16 16393, i16 -16384, i16 16439, i16 896, i16 16393, i16 -16384, i16 16439, i16 21, i16 16393, i16 -16384, i16 16441, i16 14, i16 16393, i16 -16384, i16 16443, i16 18, i16 16393, i16 -16384, i16 16443, i16 23, i16 16393, i16 -16384, i16 16415, i16 16398, i16 17273, i16 -16384, i16 16415, i16 16399, i16 17273, i16 -16384, i16 16416, i16 16398, i16 17273, i16 -16384, i16 16416, i16 16399, i16 17273, i16 -16384, i16 16417, i16 16398, i16 17273, i16 -16384, i16 16417, i16 16399, i16 17273, i16 -16384, i16 16418, i16 16398, i16 17273, i16 -16384, i16 16418, i16 16399, i16 17273, i16 -16384, i16 16419, i16 16398, i16 17273, i16 -16384, i16 16419, i16 16399, i16 17273, i16 -16384, i16 16420, i16 16398, i16 17273, i16 -16384, i16 16420, i16 16399, i16 17273, i16 -16384, i16 16421, i16 16398, i16 17273, i16 -16384, i16 16421, i16 16399, i16 17273, i16 -16384, i16 16422, i16 16398, i16 17273, i16 -16384, i16 16422, i16 16399, i16 17273, i16 -16384, i16 16423, i16 16398, i16 17273, i16 -16384, i16 16423, i16 16399, i16 17273, i16 -16384, i16 16424, i16 16398, i16 17273, i16 -16384, i16 16424, i16 16399, i16 17273, i16 -16384, i16 17289, i16 16398, i16 17273, i16 -16384, i16 17290, i16 16397, i16 17273, i16 -16384, i16 17290, i16 17274, i16 17273, i16 -16384, i16 17290, i16 17276, i16 17273, i16 -16384, i16 17290, i16 16398, i16 17273, i16 -16384, i16 16447, i16 16398, i16 17273, i16 -16384, i16 16472, i16 16398, i16 17273, i16 -16384, i16 16473, i16 16398, i16 17273, i16 -16384, i16 17291, i16 16398, i16 17273, i16 -16384, i16 16479, i16 16398, i16 17273, i16 -16384, i16 16480, i16 17275, i16 17273, i16 -16384, i16 16481, i16 16398, i16 17273, i16 -16384, i16 18051, i16 18054, i16 18015, i16 -16384, i16 16481, i16 17277, i16 17273, i16 -16384, i16 905, i16 14, i16 3, i16 -16384, i16 906, i16 13, i16 3, i16 -16384, i16 906, i16 13, i16 4, i16 -16384, i16 906, i16 890, i16 3, i16 -16384, i16 906, i16 890, i16 4, i16 -16384, i16 906, i16 892, i16 3, i16 -16384, i16 906, i16 892, i16 4, i16 -16384, i16 906, i16 14, i16 3, i16 -16384, i16 906, i16 14, i16 4, i16 -16384, i16 63, i16 14, i16 3, i16 -16384, i16 63, i16 14, i16 4, i16 -16384, i16 88, i16 14, i16 3, i16 -16384, i16 88, i16 14, i16 4, i16 -16384, i16 88, i16 14, i16 5, i16 -16384, i16 88, i16 14, i16 6, i16 -16384, i16 89, i16 14, i16 3, i16 -16384, i16 89, i16 14, i16 4, i16 -16384, i16 89, i16 14, i16 5, i16 -16384, i16 89, i16 14, i16 6, i16 -16384, i16 907, i16 14, i16 3, i16 -16384, i16 907, i16 14, i16 4, i16 -16384, i16 907, i16 14, i16 5, i16 -16384, i16 907, i16 14, i16 6, i16 -16384, i16 95, i16 14, i16 3, i16 -16384, i16 95, i16 14, i16 4, i16 -16384, i16 96, i16 891, i16 3, i16 -16384, i16 96, i16 891, i16 4, i16 -16384, i16 97, i16 14, i16 3, i16 -16384, i16 97, i16 14, i16 4, i16 -16384, i16 97, i16 893, i16 3, i16 -16384, i16 97, i16 893, i16 4, i16 -16384, i16 97, i16 893, i16 5, i16 -16384, i16 97, i16 893, i16 6, i16 -16384, i16 1673, i16 1676, i16 1679, i16 -16384, i16 1673, i16 1676, i16 1682, i16 -16384, i16 1673, i16 1685, i16 1679, i16 -16384, i16 1673, i16 1685, i16 1682, i16 -16384, i16 1673, i16 1688, i16 1679, i16 -16384, i16 1673, i16 1688, i16 1682, i16 -16384, i16 1673, i16 1643, i16 1679, i16 -16384, i16 1673, i16 1643, i16 1682, i16 -16384, i16 17297, i16 16398, i16 17273, i16 -16384, i16 17298, i16 16398, i16 17273, i16 -16384, i16 17300, i16 16398, i16 17273, i16 -16384, i16 17301, i16 16398, i16 17273, i16 -16384, i16 17304, i16 16398, i16 17273, i16 -16384, i16 17306, i16 16398, i16 17273, i16 -16384, i16 17307, i16 16398, i16 17273, i16 -16384, i16 17312, i16 16398, i16 17273, i16 -16384, i16 17315, i16 16398, i16 17273, i16 -16384, i16 17321, i16 16398, i16 17273, i16 -16384, i16 17322, i16 16398, i16 17273, i16 -16384, i16 17324, i16 16398, i16 17273, i16 -16384, i16 17329, i16 16398, i16 17273, i16 -16384, i16 17333, i16 16398, i16 17273, i16 -16384, i16 17335, i16 16398, i16 17273, i16 -16384, i16 17297, i16 16398, i16 16393, i16 -16384, i16 17298, i16 16398, i16 16393, i16 -16384, i16 17300, i16 16398, i16 16393, i16 -16384, i16 17301, i16 16398, i16 16393, i16 -16384, i16 17304, i16 16398, i16 16393, i16 -16384, i16 17306, i16 16398, i16 16393, i16 -16384, i16 17307, i16 16398, i16 16393, i16 -16384, i16 17309, i16 16398, i16 16393, i16 -16384, i16 17312, i16 16398, i16 16393, i16 -16384, i16 17315, i16 16398, i16 16393, i16 -16384, i16 17321, i16 16398, i16 16393, i16 -16384, i16 17322, i16 16398, i16 16393, i16 -16384, i16 17324, i16 16398, i16 16393, i16 -16384, i16 17329, i16 16398, i16 16393, i16 -16384, i16 17333, i16 16398, i16 16393, i16 -16384, i16 17335, i16 16398, i16 16393, i16 -16384, i16 32767, i16 16384, i16 16384, i16 -16384, i16 18075, i16 18078, i16 16384, i16 -16384, i16 18081, i16 18078, i16 16384, i16 -16384, i16 18084, i16 18078, i16 16384, i16 -16384, i16 17541, i16 16407, i16 17273, i16 -16384, i16 17542, i16 16407, i16 17273, i16 -16384, i16 17543, i16 16407, i16 17273, i16 -16384, i16 17544, i16 16407, i16 17273, i16 -16384, i16 17545, i16 16407, i16 17273, i16 -16384, i16 17540, i16 16407, i16 17273, i16 -16384, i16 17555, i16 16399, i16 17273, i16 -16384, i16 17555, i16 16399, i16 16393, i16 -16384, i16 17556, i16 16399, i16 17273, i16 -16384, i16 17556, i16 16399, i16 16393, i16 -16384, i16 17561, i16 16398, i16 17273, i16 -16384, i16 17561, i16 16398, i16 16393, i16 -16384, i16 17564, i16 16399, i16 17273, i16 -16384, i16 17564, i16 16404, i16 17273, i16 -16384, i16 17564, i16 16399, i16 16393, i16 -16384, i16 17564, i16 16404, i16 16393, i16 -16384, i16 17284, i16 16398, i16 17273, i16 -16384, i16 17567, i16 16407, i16 17273, i16 -16384, i16 17284, i16 16398, i16 16393, i16 -16384, i16 17567, i16 16407, i16 16393, i16 -16384, i16 17568, i16 16399, i16 17273, i16 -16384, i16 17568, i16 16406, i16 17273, i16 -16384, i16 17568, i16 16399, i16 16393, i16 -16384, i16 17568, i16 16406, i16 16393, i16 -16384, i16 17569, i16 16404, i16 17273, i16 -16384, i16 17569, i16 16404, i16 16393, i16 -16384, i16 17565, i16 16409, i16 17273, i16 -16384, i16 17565, i16 16409, i16 16393, i16 -16384, i16 17566, i16 17280, i16 17273, i16 -16384, i16 17566, i16 17280, i16 16393, i16 -16384, i16 17570, i16 16409, i16 17273, i16 -16384, i16 17570, i16 16409, i16 16393, i16 -16384, i16 17571, i16 16404, i16 17273, i16 -16384, i16 17571, i16 16404, i16 16393, i16 -16384, i16 17572, i16 16399, i16 17273, i16 -16384, i16 17572, i16 16399, i16 16393, i16 -16384, i16 17573, i16 16399, i16 17273, i16 -16384, i16 17573, i16 16399, i16 16393, i16 -16384, i16 17574, i16 16399, i16 17273, i16 -16384, i16 17574, i16 16399, i16 16393, i16 -16384, i16 17575, i16 16399, i16 17273, i16 -16384, i16 17575, i16 16399, i16 16393, i16 -16384, i16 17576, i16 16399, i16 17273, i16 -16384, i16 17576, i16 16399, i16 16393, i16 -16384, i16 17577, i16 16399, i16 17273, i16 -16384, i16 17577, i16 16399, i16 16393, i16 -16384, i16 17578, i16 16399, i16 17273, i16 -16384, i16 17578, i16 16399, i16 16393, i16 -16384, i16 17579, i16 16399, i16 17273, i16 -16384, i16 17579, i16 16399, i16 16393, i16 -16384, i16 17602, i16 16407, i16 17273, i16 -16384, i16 17602, i16 16407, i16 17600, i16 -16384, i16 17602, i16 16407, i16 16393, i16 -16384, i16 17602, i16 16407, i16 17601, i16 -16384, i16 32766, i16 16384, i16 16384, i16 16384, i16 17619, i16 16399, i16 17273, i16 -16384, i16 17619, i16 16399, i16 16393, i16 -16384, i16 17620, i16 16399, i16 17273, i16 -16384, i16 17620, i16 16399, i16 16393, i16 -16384, i16 17621, i16 16399, i16 17273, i16 -16384, i16 17621, i16 16399, i16 16393, i16 -16384, i16 17622, i16 16399, i16 17273, i16 -16384, i16 17622, i16 16399, i16 16393, i16 -16384, i16 17623, i16 16399, i16 17273, i16 -16384, i16 17623, i16 16399, i16 16393, i16 -16384, i16 17635, i16 16404, i16 17273, i16 -16384, i16 17634, i16 16403, i16 17273, i16 -16384, i16 17635, i16 17279, i16 17273, i16 -16384, i16 17636, i16 16404, i16 17273, i16 -16384, i16 17637, i16 16408, i16 17273, i16 -16384, i16 17635, i16 16404, i16 16393, i16 -16384, i16 17634, i16 16403, i16 16393, i16 -16384, i16 17635, i16 17279, i16 16393, i16 -16384, i16 17636, i16 16404, i16 16393, i16 -16384, i16 17637, i16 16408, i16 16393, i16 -16384, i16 16440, i16 16398, i16 16393, i16 -16327, i16 16440, i16 16398, i16 17273, i16 -16327, i16 16442, i16 16404, i16 17273, i16 -16384, i16 16442, i16 16404, i16 16393, i16 -16384, i16 17638, i16 16407, i16 17273, i16 -16384, i16 17639, i16 16407, i16 17273, i16 -16384, i16 17638, i16 16407, i16 16393, i16 -16384, i16 17639, i16 16407, i16 16393, i16 -16384, i16 17640, i16 16407, i16 17273, i16 -16384, i16 17640, i16 16407, i16 17600, i16 -16384, i16 17641, i16 16407, i16 17273, i16 -16384, i16 17640, i16 16407, i16 16393, i16 -16384, i16 17640, i16 16407, i16 17601, i16 -16384, i16 17641, i16 16407, i16 16393, i16 -16384, i16 17642, i16 16407, i16 17273, i16 -16384, i16 17642, i16 16407, i16 17600, i16 -16384, i16 17642, i16 16407, i16 16393, i16 -16384, i16 17642, i16 16407, i16 17601, i16 -16384, i16 17643, i16 16407, i16 17273, i16 -16384, i16 17643, i16 16407, i16 17600, i16 -16384, i16 17643, i16 16407, i16 16393, i16 -16384, i16 17643, i16 16407, i16 17601, i16 -16384, i16 17644, i16 16407, i16 17273, i16 -16384, i16 17644, i16 16407, i16 16393, i16 -16384, i16 17645, i16 16407, i16 17273, i16 -16384, i16 17645, i16 16407, i16 16393, i16 -16384, i16 17658, i16 16401, i16 17273, i16 -16384, i16 17660, i16 16400, i16 17273, i16 -16384, i16 17661, i16 17281, i16 17273, i16 -16384, i16 17659, i16 16406, i16 17273, i16 -16384, i16 17658, i16 16401, i16 16393, i16 -16384, i16 17660, i16 16400, i16 16393, i16 -16384, i16 17661, i16 17281, i16 16393, i16 -16384, i16 17659, i16 16406, i16 16393, i16 -16384, i16 17662, i16 16409, i16 17273, i16 -16384, i16 17639, i16 16402, i16 17273, i16 -16384, i16 17662, i16 16409, i16 16393, i16 -16384, i16 17639, i16 16402, i16 16393, i16 -16384, i16 17663, i16 16398, i16 17273, i16 -16384, i16 17664, i16 16402, i16 17273, i16 -16384, i16 17664, i16 16402, i16 16393, i16 -16384, i16 17666, i16 16399, i16 17273, i16 -16384, i16 17665, i16 16408, i16 17273, i16 -16384, i16 17666, i16 16399, i16 16393, i16 -16384, i16 17665, i16 16408, i16 16393, i16 -16384, i16 17668, i16 16402, i16 17273, i16 -16384, i16 17669, i16 16408, i16 17273, i16 -16384, i16 17671, i16 18078, i16 18015, i16 -16384, i16 17644, i16 16402, i16 17273, i16 -16384, i16 17644, i16 16402, i16 16393, i16 -16384, i16 17673, i16 16404, i16 17273, i16 -16384, i16 17672, i16 17279, i16 17273, i16 -16384, i16 17673, i16 16404, i16 16393, i16 -16384, i16 17672, i16 17279, i16 16393, i16 -16384, i16 17667, i16 16398, i16 17273, i16 -16384, i16 17670, i16 16402, i16 17273, i16 -16384, i16 17670, i16 16402, i16 16393, i16 -16384, i16 17685, i16 17281, i16 17273, i16 -16384, i16 17686, i16 17280, i16 17273, i16 -16384, i16 17685, i16 17281, i16 16393, i16 -16384, i16 17686, i16 17280, i16 16393, i16 -16384, i16 17688, i16 16409, i16 17273, i16 -16384, i16 17688, i16 16409, i16 16393, i16 -16384, i16 17687, i16 17281, i16 17273, i16 -16384, i16 17687, i16 17281, i16 16393, i16 -16384, i16 17695, i16 16399, i16 17273, i16 -16384, i16 17695, i16 16399, i16 17600, i16 -16384, i16 17695, i16 16399, i16 16393, i16 -16384, i16 17695, i16 16399, i16 17601, i16 -16384, i16 17697, i16 16399, i16 17273, i16 -16384, i16 17697, i16 16399, i16 17600, i16 -16384, i16 17697, i16 16399, i16 16393, i16 -16384, i16 17697, i16 16399, i16 17601, i16 -16384, i16 17693, i16 16407, i16 17273, i16 -16384, i16 17693, i16 16407, i16 16393, i16 -16384, i16 17694, i16 16407, i16 17273, i16 -16384, i16 17694, i16 16407, i16 16393, i16 -16384, i16 17696, i16 16408, i16 17273, i16 -16384, i16 17696, i16 16408, i16 16393, i16 -16384, i16 17698, i16 16407, i16 17273, i16 -16384, i16 17698, i16 16407, i16 16393, i16 -16384, i16 17707, i16 16407, i16 17273, i16 -16384, i16 17707, i16 16407, i16 17600, i16 -16384, i16 17707, i16 16407, i16 16393, i16 -16384, i16 17707, i16 16407, i16 17601, i16 -16384, i16 17708, i16 16407, i16 17273, i16 -16384, i16 17708, i16 16407, i16 17600, i16 -16384, i16 17708, i16 16407, i16 16393, i16 -16384, i16 17708, i16 16407, i16 17601, i16 -16384, i16 32766, i16 16398, i16 17273, i16 -16384, i16 32766, i16 16398, i16 16393, i16 -16384, i16 17803, i16 16404, i16 17273, i16 -16384, i16 17803, i16 16405, i16 17273, i16 -16384, i16 17803, i16 16404, i16 16393, i16 -16384, i16 17803, i16 16405, i16 16393, i16 -16384, i16 17806, i16 16404, i16 17273, i16 -16384, i16 17806, i16 16405, i16 17273, i16 -16384, i16 17806, i16 16404, i16 16393, i16 -16384, i16 17806, i16 16405, i16 16393, i16 -16384, i16 17797, i16 16398, i16 16393, i16 -16384, i16 17797, i16 16398, i16 17601, i16 -16384, i16 18087, i16 18054, i16 18021, i16 -16384, i16 18087, i16 18054, i16 18090, i16 -16384, i16 18087, i16 18054, i16 18093, i16 -16384, i16 18087, i16 18054, i16 18096, i16 -16384, i16 17797, i16 16398, i16 17600, i16 -16384, i16 17797, i16 16398, i16 17273, i16 -16384, i16 18087, i16 18054, i16 18099, i16 -16384, i16 18087, i16 18054, i16 18102, i16 -16384, i16 18087, i16 18054, i16 18105, i16 -16384, i16 18087, i16 18054, i16 18015, i16 -16384, i16 17798, i16 16398, i16 16393, i16 -16384, i16 17798, i16 16398, i16 17601, i16 -16384, i16 18108, i16 18054, i16 18021, i16 -16384, i16 18108, i16 18054, i16 18090, i16 -16384, i16 18108, i16 18054, i16 18093, i16 -16384, i16 18108, i16 18054, i16 18096, i16 -16384, i16 17798, i16 16398, i16 17600, i16 -16384, i16 17798, i16 16398, i16 17273, i16 -16384, i16 18108, i16 18054, i16 18099, i16 -16384, i16 18108, i16 18054, i16 18102, i16 -16384, i16 18108, i16 18054, i16 18105, i16 -16384, i16 18108, i16 18054, i16 18015, i16 -16384, i16 17799, i16 16398, i16 17796, i16 -16384, i16 17799, i16 16398, i16 17795, i16 -16384, i16 17799, i16 16398, i16 17794, i16 -16384, i16 17799, i16 16398, i16 17793, i16 -16384, i16 18111, i16 18054, i16 18114, i16 -16384, i16 18111, i16 18054, i16 18117, i16 -16384, i16 18111, i16 18054, i16 18120, i16 -16384, i16 18111, i16 18054, i16 18123, i16 -16384, i16 17799, i16 16398, i16 17792, i16 -16384, i16 17799, i16 16398, i16 17791, i16 -16384, i16 17799, i16 16398, i16 17790, i16 -16384, i16 17799, i16 16398, i16 17789, i16 -16384, i16 18111, i16 18054, i16 18126, i16 -16384, i16 18111, i16 18054, i16 18129, i16 -16384, i16 18111, i16 18054, i16 18132, i16 -16384, i16 18111, i16 18054, i16 18135, i16 -16384, i16 17800, i16 16398, i16 16393, i16 -16384, i16 17800, i16 16398, i16 17601, i16 -16384, i16 18138, i16 18054, i16 18021, i16 -16384, i16 18138, i16 18054, i16 18090, i16 -16384, i16 18138, i16 18054, i16 18093, i16 -16384, i16 18138, i16 18054, i16 18096, i16 -16384, i16 17800, i16 16398, i16 17273, i16 -16384, i16 17800, i16 16398, i16 17600, i16 -16384, i16 18138, i16 18054, i16 18099, i16 -16384, i16 18138, i16 18054, i16 18102, i16 -16384, i16 18138, i16 18054, i16 18105, i16 -16384, i16 18138, i16 18054, i16 18015, i16 -16384, i16 17801, i16 16398, i16 16393, i16 -16384, i16 17801, i16 16398, i16 17601, i16 -16384, i16 18141, i16 18054, i16 18021, i16 -16384, i16 18141, i16 18054, i16 18090, i16 -16384, i16 18141, i16 18054, i16 18093, i16 -16384, i16 18141, i16 18054, i16 18096, i16 -16384, i16 17801, i16 16398, i16 17273, i16 -16384, i16 17801, i16 16398, i16 17600, i16 -16384, i16 18141, i16 18054, i16 18099, i16 -16384, i16 18141, i16 18054, i16 18102, i16 -16384, i16 18141, i16 18054, i16 18105, i16 -16384, i16 18141, i16 18054, i16 18015, i16 -16384, i16 17802, i16 16398, i16 16393, i16 -16384, i16 17802, i16 16398, i16 17601, i16 -16384, i16 18144, i16 18054, i16 18021, i16 -16384, i16 18144, i16 18054, i16 18090, i16 -16384, i16 18144, i16 18054, i16 18093, i16 -16384, i16 18144, i16 18054, i16 18096, i16 -16384, i16 17802, i16 16398, i16 17273, i16 -16384, i16 17802, i16 16398, i16 17600, i16 -16384, i16 18144, i16 18054, i16 18099, i16 -16384, i16 18144, i16 18054, i16 18102, i16 -16384, i16 18144, i16 18054, i16 18105, i16 -16384, i16 18144, i16 18054, i16 18015, i16 -16384, i16 17804, i16 16398, i16 16393, i16 -16384, i16 17804, i16 16398, i16 17601, i16 -16384, i16 18147, i16 18054, i16 18021, i16 -16384, i16 18147, i16 18054, i16 18090, i16 -16384, i16 18147, i16 18054, i16 18093, i16 -16384, i16 18147, i16 18054, i16 18096, i16 -16384, i16 17804, i16 16398, i16 17600, i16 -16384, i16 17804, i16 16398, i16 17273, i16 -16384, i16 18147, i16 18054, i16 18099, i16 -16384, i16 18147, i16 18054, i16 18102, i16 -16384, i16 18147, i16 18054, i16 18105, i16 -16384, i16 18147, i16 18054, i16 18015, i16 -16384, i16 17805, i16 16398, i16 16393, i16 -16384, i16 17805, i16 16398, i16 17601, i16 -16384, i16 18150, i16 18054, i16 18021, i16 -16384, i16 18150, i16 18054, i16 18090, i16 -16384, i16 18150, i16 18054, i16 18093, i16 -16384, i16 18150, i16 18054, i16 18096, i16 -16384, i16 17805, i16 16398, i16 17600, i16 -16384, i16 17805, i16 16398, i16 17273, i16 -16384, i16 18150, i16 18054, i16 18099, i16 -16384, i16 18150, i16 18054, i16 18102, i16 -16384, i16 18150, i16 18054, i16 18105, i16 -16384, i16 18150, i16 18054, i16 18015, i16 -16384, i16 17807, i16 16398, i16 16393, i16 -16384, i16 17807, i16 16398, i16 17601, i16 -16384, i16 18153, i16 18054, i16 18021, i16 -16384, i16 18153, i16 18054, i16 18090, i16 -16384, i16 18153, i16 18054, i16 18093, i16 -16384, i16 18153, i16 18054, i16 18096, i16 -16384, i16 17807, i16 16398, i16 17600, i16 -16384, i16 17807, i16 16398, i16 17273, i16 -16384, i16 18153, i16 18054, i16 18099, i16 -16384, i16 18153, i16 18054, i16 18102, i16 -16384, i16 18153, i16 18054, i16 18105, i16 -16384, i16 18153, i16 18054, i16 18015, i16 -16384, i16 16384, i16 16384, i16 16384, i16 -2, i16 17934, i16 16398, i16 17273, i16 -16384, i16 17290, i16 17928, i16 17273, i16 -16384, i16 17289, i16 17274, i16 17273, i16 -16384, i16 17289, i16 17276, i16 17273, i16 -16384, i16 17289, i16 17275, i16 17273, i16 -16384, i16 17289, i16 17929, i16 17273, i16 -16384, i16 17289, i16 17929, i16 17932, i16 -16384, i16 17289, i16 17929, i16 17933, i16 -16384, i16 16472, i16 16399, i16 17273, i16 -16384, i16 17291, i16 17931, i16 17273, i16 -16384, i16 17291, i16 17274, i16 17273, i16 -16384, i16 17935, i16 16398, i16 17273, i16 -16384, i16 17935, i16 17930, i16 17273, i16 -16384, i16 17935, i16 17277, i16 17273, i16 -16384, i16 17934, i16 16398, i16 16387, i16 -16384, i16 17934, i16 16398, i16 16388, i16 -16384, i16 17290, i16 16398, i16 16387, i16 -16384, i16 17290, i16 16398, i16 16388, i16 -16384, i16 17290, i16 17928, i16 16387, i16 -16384, i16 17290, i16 17928, i16 16388, i16 -16384, i16 17289, i16 16398, i16 16387, i16 -16384, i16 17289, i16 17274, i16 16387, i16 -16384, i16 17289, i16 17274, i16 16388, i16 -16384, i16 17289, i16 17276, i16 16387, i16 -16384, i16 17289, i16 17276, i16 16388, i16 -16384, i16 17289, i16 17275, i16 16387, i16 -16384, i16 17289, i16 17275, i16 16388, i16 -16384, i16 17289, i16 17929, i16 16387, i16 -16384, i16 17289, i16 17929, i16 16388, i16 -16384, i16 16472, i16 16398, i16 16387, i16 -16384, i16 16472, i16 16398, i16 16388, i16 -16384, i16 16472, i16 16398, i16 16389, i16 -16384, i16 16472, i16 16398, i16 16390, i16 -16384, i16 16472, i16 16399, i16 16387, i16 -16384, i16 16472, i16 16399, i16 16388, i16 -16384, i16 16472, i16 16399, i16 16389, i16 -16384, i16 16472, i16 16399, i16 16390, i16 -16384, i16 17291, i16 16398, i16 16387, i16 -16384, i16 17291, i16 16398, i16 16388, i16 -16384, i16 17291, i16 16398, i16 16389, i16 -16384, i16 17291, i16 16398, i16 16390, i16 -16384, i16 17291, i16 17931, i16 16387, i16 -16384, i16 17291, i16 17931, i16 16388, i16 -16384, i16 17291, i16 17274, i16 16387, i16 -16384, i16 17291, i16 17274, i16 16388, i16 -16384, i16 17935, i16 16398, i16 16387, i16 -16384, i16 17935, i16 16398, i16 16388, i16 -16384, i16 17935, i16 16398, i16 16389, i16 -16384, i16 17935, i16 16398, i16 16390, i16 -16384, i16 17935, i16 17930, i16 16387, i16 -16384, i16 17935, i16 17930, i16 16388, i16 -16384, i16 17935, i16 17277, i16 16387, i16 -16384, i16 17935, i16 17277, i16 16388, i16 -16384, i16 17935, i16 17277, i16 16389, i16 -16384, i16 17935, i16 17277, i16 16390, i16 -16384, i16 18156, i16 18054, i16 18159, i16 -16384, i16 18156, i16 18054, i16 18162, i16 -16384, i16 18165, i16 18168, i16 18159, i16 -16384, i16 18165, i16 18168, i16 18162, i16 -16384, i16 18165, i16 18171, i16 18159, i16 -16384, i16 18165, i16 18171, i16 18162, i16 -16384, i16 18174, i16 18054, i16 18159, i16 -16384, i16 18174, i16 18054, i16 18162, i16 -16384, i16 18177, i16 18182, i16 18187, i16 -16384, i16 17958, i16 17281, i16 16393, i16 -16384, i16 17958, i16 17281, i16 17273, i16 -16384, i16 17959, i16 17281, i16 16393, i16 -16384, i16 17959, i16 17281, i16 17273, i16 -16384, i16 17960, i16 17281, i16 16393, i16 -16384, i16 17960, i16 17281, i16 17273, i16 -16384, i16 17961, i16 17281, i16 16393, i16 -16384, i16 17961, i16 17281, i16 17273, i16 -16384, i16 17962, i16 17281, i16 16393, i16 -16384, i16 17962, i16 17281, i16 17273, i16 -16384, i16 17963, i16 17280, i16 16393, i16 -16384, i16 17963, i16 17280, i16 17273, i16 -16384, i16 17964, i16 16407, i16 17273, i16 -16384, i16 17964, i16 16407, i16 17600, i16 -16384, i16 17964, i16 16407, i16 16393, i16 -16384, i16 17964, i16 16407, i16 17601, i16 -16384, i16 17965, i16 16407, i16 17273, i16 -16384, i16 17965, i16 16407, i16 17600, i16 -16384, i16 17965, i16 16407, i16 16393, i16 -16384, i16 17965, i16 16407, i16 17601, i16 -16384, i16 17966, i16 16407, i16 17273, i16 -16384, i16 17966, i16 16407, i16 17600, i16 -16384, i16 17966, i16 16407, i16 16393, i16 -16384, i16 17966, i16 16407, i16 17601, i16 -16384, i16 17967, i16 16407, i16 17273, i16 -16384, i16 17967, i16 16407, i16 17600, i16 -16384, i16 17967, i16 16407, i16 16393, i16 -16384, i16 17967, i16 16407, i16 17601, i16 -16384, i16 17968, i16 16407, i16 17273, i16 -16384, i16 17968, i16 16407, i16 17600, i16 -16384, i16 17968, i16 16407, i16 16393, i16 -16384, i16 17968, i16 16407, i16 17601, i16 -16384, i16 17969, i16 16407, i16 17273, i16 -16384, i16 17969, i16 16407, i16 17600, i16 -16384, i16 17969, i16 16407, i16 16393, i16 -16384, i16 17969, i16 16407, i16 17601, i16 -16384, i16 17970, i16 16407, i16 17273, i16 -16384, i16 17970, i16 16407, i16 17600, i16 -16384, i16 17970, i16 16407, i16 16393, i16 -16384, i16 17970, i16 16407, i16 17601, i16 -16384, i16 17971, i16 16407, i16 17273, i16 -16384, i16 17971, i16 16407, i16 17600, i16 -16384, i16 17971, i16 16407, i16 16393, i16 -16384, i16 17971, i16 16407, i16 17601, i16 -16384, i16 18000, i16 16407, i16 17273, i16 -16384, i16 18000, i16 16407, i16 17600, i16 -16384, i16 18001, i16 16407, i16 17273, i16 -16384, i16 18001, i16 16407, i16 17600, i16 -16384, i16 18000, i16 16407, i16 16393, i16 -16384, i16 18000, i16 16407, i16 17601, i16 -16384, i16 18001, i16 16407, i16 16393, i16 -16384, i16 18001, i16 16407, i16 17601, i16 -16384, i16 18192, i16 18078, i16 18015, i16 -16384, i16 18192, i16 18195, i16 18015, i16 -16384, i16 18198, i16 18078, i16 18015, i16 -16384, i16 17299, i16 17300, i16 17273, i16 -16384, i16 17299, i16 17301, i16 17273, i16 -16384, i16 17299, i16 17335, i16 17273, i16 -16384, i16 17305, i16 17306, i16 17273, i16 -16384, i16 17305, i16 17307, i16 17273, i16 -16384, i16 17305, i16 17333, i16 17273, i16 -16384, i16 18192, i16 18078, i16 18021, i16 -16384, i16 18192, i16 18195, i16 18021, i16 -16384, i16 18198, i16 18078, i16 18021, i16 -16384, i16 17299, i16 17300, i16 16393, i16 -16384, i16 17299, i16 17301, i16 16393, i16 -16384, i16 17299, i16 17335, i16 16393, i16 -16384, i16 17305, i16 17306, i16 16393, i16 -16384, i16 17305, i16 17307, i16 16393, i16 -16384, i16 17305, i16 17333, i16 16393, i16 -16384, i16 17295, i16 17297, i16 17273, i16 -16384, i16 17310, i16 17321, i16 17273, i16 -16384, i16 18201, i16 18078, i16 18015, i16 -16384, i16 18204, i16 18078, i16 18015, i16 -16384, i16 17323, i16 17324, i16 17273, i16 -16384, i16 17328, i16 17322, i16 17273, i16 -16384, i16 17295, i16 17297, i16 16393, i16 -16384, i16 17308, i16 17309, i16 16393, i16 -16384, i16 17310, i16 17321, i16 16393, i16 -16384, i16 18201, i16 18078, i16 18021, i16 -16384, i16 18204, i16 18078, i16 18021, i16 -16384, i16 17323, i16 17324, i16 16393, i16 -16384, i16 17328, i16 17322, i16 16393, i16 -16384, i16 18006, i16 16404, i16 17273, i16 -16384, i16 18006, i16 16404, i16 16393, i16 -16384, i16 32766, i16 16382, i16 32766, i16 -16386, i16 32766, i16 16382, i16 32766, i16 -32768, i16 16384, i16 0, i16 16384, i16 -16386, i16 32766, i16 2, i16 16385, i16 -32768, i16 17065, i16 2, i16 18080, i16 -32768, i16 17065, i16 2, i16 32766, i16 -32768, i16 17065, i16 5, i16 16385, i16 -32768, i16 17065, i16 5, i16 18080, i16 -32768, i16 17065, i16 6, i16 16385, i16 -32768, i16 17065, i16 6, i16 18080, i16 -32768, i16 17065, i16 7, i16 16385, i16 -32768, i16 17065, i16 7, i16 18080, i16 -32768, i16 17065, i16 8, i16 16385, i16 -32768, i16 17065, i16 8, i16 18080, i16 -32768, i16 17065, i16 9, i16 16385, i16 -32768, i16 17065, i16 9, i16 18080, i16 -32768, i16 17065, i16 11, i16 16385, i16 -32768, i16 17065, i16 11, i16 18080, i16 -32768, i16 17065, i16 12, i16 16385, i16 -32768, i16 17065, i16 12, i16 18080, i16 -32768, i16 17065, i16 13, i16 16385, i16 -32768, i16 17065, i16 13, i16 18080, i16 -32768, i16 17065, i16 15, i16 16385, i16 -32768, i16 17065, i16 15, i16 18080, i16 -32768, i16 17065, i16 16, i16 16385, i16 -32768, i16 17065, i16 16, i16 18080, i16 -32768, i16 17065, i16 17, i16 16385, i16 -32768, i16 17065, i16 17, i16 18080, i16 -32768, i16 17065, i16 18, i16 16385, i16 -32768, i16 17065, i16 18, i16 18080, i16 -32768, i16 17065, i16 19, i16 16385, i16 -32768, i16 17065, i16 19, i16 18080, i16 -32768, i16 17065, i16 20, i16 16385, i16 -32768, i16 17065, i16 20, i16 18080, i16 -32768, i16 17065, i16 21, i16 16385, i16 -32768, i16 17065, i16 21, i16 18080, i16 -32768, i16 17065, i16 22, i16 16385, i16 -32768, i16 17065, i16 22, i16 18080, i16 -32768, i16 17065, i16 27, i16 16385, i16 -32768, i16 17065, i16 27, i16 18080, i16 -32768, i16 17065, i16 29, i16 16385, i16 -32768, i16 17065, i16 29, i16 18080, i16 -32768, i16 17065, i16 34, i16 16385, i16 -32768, i16 17065, i16 34, i16 18080, i16 -32768, i16 17065, i16 35, i16 16385, i16 -32768, i16 17065, i16 35, i16 18080, i16 -32768, i16 17065, i16 40, i16 16385, i16 -32768, i16 17065, i16 40, i16 18080, i16 -32768, i16 17065, i16 55, i16 16385, i16 -32768, i16 17065, i16 55, i16 18080, i16 -32768, i16 17113, i16 2, i16 18080, i16 -32768, i16 17113, i16 39, i16 16385, i16 -32768, i16 17113, i16 39, i16 18080, i16 -32768, i16 17113, i16 40, i16 16385, i16 -32768, i16 17113, i16 40, i16 18080, i16 -32768, i16 17113, i16 58, i16 16385, i16 -32768, i16 17113, i16 58, i16 18080, i16 -32768, i16 17122, i16 2, i16 18080, i16 -32768, i16 17122, i16 16, i16 16385, i16 -32768, i16 17122, i16 16, i16 18080, i16 -32768, i16 17122, i16 34, i16 16385, i16 -32768, i16 17122, i16 34, i16 18080, i16 -32768, i16 17122, i16 39, i16 16385, i16 -32768, i16 17122, i16 39, i16 18080, i16 -32768, i16 17122, i16 45, i16 16385, i16 -32768, i16 17122, i16 45, i16 18080, i16 -32768, i16 17133, i16 2, i16 18080, i16 -32768, i16 17133, i16 22, i16 16385, i16 -32768, i16 17133, i16 22, i16 18080, i16 -32768, i16 17133, i16 39, i16 16385, i16 -32768, i16 17133, i16 39, i16 18080, i16 -32768, i16 17133, i16 40, i16 16385, i16 -32768, i16 17133, i16 40, i16 18080, i16 -32768, i16 17133, i16 44, i16 16385, i16 -32768, i16 17133, i16 44, i16 18080, i16 -32768, i16 17133, i16 57, i16 16385, i16 -32768, i16 17133, i16 57, i16 18080, i16 -32768, i16 17133, i16 58, i16 16385, i16 -32768, i16 17133, i16 58, i16 18080, i16 -32768, i16 17148, i16 2, i16 18080, i16 -32768, i16 17148, i16 5, i16 16385, i16 -32768, i16 17148, i16 5, i16 18080, i16 -32768, i16 17148, i16 6, i16 16385, i16 -32768, i16 17148, i16 6, i16 18080, i16 -32768, i16 17148, i16 7, i16 16385, i16 -32768, i16 17148, i16 7, i16 18080, i16 -32768, i16 17148, i16 15, i16 16385, i16 -32768, i16 17148, i16 15, i16 18080, i16 -32768, i16 17148, i16 16, i16 16385, i16 -32768, i16 17148, i16 16, i16 18080, i16 -32768, i16 17148, i16 17, i16 16385, i16 -32768, i16 17148, i16 17, i16 18080, i16 -32768, i16 17148, i16 18, i16 16385, i16 -32768, i16 17148, i16 18, i16 18080, i16 -32768, i16 17148, i16 19, i16 16385, i16 -32768, i16 17148, i16 19, i16 18080, i16 -32768, i16 17148, i16 20, i16 16385, i16 -32768, i16 17148, i16 20, i16 18080, i16 -32768, i16 17148, i16 21, i16 16385, i16 -32768, i16 17148, i16 21, i16 18080, i16 -32768, i16 17148, i16 22, i16 16385, i16 -32768, i16 17148, i16 22, i16 18080, i16 -32768, i16 17148, i16 28, i16 16385, i16 -32768, i16 17148, i16 28, i16 18080, i16 -32768, i16 17148, i16 34, i16 16385, i16 -32768, i16 17148, i16 34, i16 18080, i16 -32768, i16 17148, i16 35, i16 16385, i16 -32768, i16 17148, i16 35, i16 18080, i16 -32768, i16 17148, i16 38, i16 16385, i16 -32768, i16 17148, i16 38, i16 18080, i16 -32768, i16 17148, i16 39, i16 16385, i16 -32768, i16 17148, i16 39, i16 18080, i16 -32768, i16 17148, i16 40, i16 16385, i16 -32768, i16 17148, i16 40, i16 18080, i16 -32768, i16 17148, i16 47, i16 16385, i16 -32768, i16 17148, i16 47, i16 18080, i16 -32768, i16 17148, i16 51, i16 16385, i16 -32768, i16 17148, i16 51, i16 18080, i16 -32768, i16 17148, i16 52, i16 16385, i16 -32768, i16 17148, i16 52, i16 18080, i16 -32768, i16 17148, i16 57, i16 16385, i16 -32768, i16 17148, i16 57, i16 18080, i16 -32768, i16 17193, i16 2, i16 18080, i16 -32768, i16 17193, i16 34, i16 16385, i16 -32768, i16 17193, i16 34, i16 18080, i16 -32768, i16 17193, i16 39, i16 16385, i16 -32768, i16 17193, i16 39, i16 18080, i16 -32768, i16 18531, i16 2150, i16 18537, i16 -32768, i16 18540, i16 2150, i16 18543, i16 -32768, i16 18546, i16 2150, i16 18549, i16 -32768, i16 18552, i16 2172, i16 18560, i16 -32768, i16 18564, i16 2172, i16 18568, i16 -32768, i16 17205, i16 2, i16 18080, i16 -32768, i16 17205, i16 3, i16 16385, i16 -32768, i16 17205, i16 3, i16 18080, i16 -32768, i16 17205, i16 16, i16 16385, i16 -32768, i16 17205, i16 16, i16 18080, i16 -32768, i16 17205, i16 22, i16 16385, i16 -32768, i16 17205, i16 22, i16 18080, i16 -32768, i16 17205, i16 39, i16 16385, i16 -32768, i16 17205, i16 39, i16 18080, i16 -32768, i16 17205, i16 42, i16 16385, i16 -32768, i16 17205, i16 42, i16 18080, i16 -32768, i16 17205, i16 50, i16 16385, i16 -32768, i16 17205, i16 50, i16 18080, i16 -32768, i16 17220, i16 2, i16 18080, i16 -32768, i16 17220, i16 14, i16 16385, i16 -32768, i16 17220, i16 14, i16 18080, i16 -32768, i16 17220, i16 16, i16 16385, i16 -32768, i16 17220, i16 16, i16 18080, i16 -32768, i16 17220, i16 28, i16 16385, i16 -32768, i16 17220, i16 28, i16 18080, i16 -32768, i16 17220, i16 39, i16 16385, i16 -32768, i16 17220, i16 39, i16 18080, i16 -32768, i16 17220, i16 40, i16 16385, i16 -32768, i16 17220, i16 40, i16 18080, i16 -32768, i16 17220, i16 42, i16 16385, i16 -32768, i16 17220, i16 42, i16 18080, i16 -32768, i16 17220, i16 44, i16 16385, i16 -32768, i16 17220, i16 44, i16 18080, i16 -32768, i16 18178, i16 2, i16 18080, i16 -32768, i16 18178, i16 5, i16 16385, i16 -32768, i16 18178, i16 5, i16 18080, i16 -32768, i16 18178, i16 6, i16 16385, i16 -32768, i16 18178, i16 6, i16 18080, i16 -32768, i16 18178, i16 7, i16 16385, i16 -32768, i16 18178, i16 7, i16 18080, i16 -32768, i16 18178, i16 15, i16 16385, i16 -32768, i16 18178, i16 15, i16 18080, i16 -32768, i16 18178, i16 16, i16 16385, i16 -32768, i16 18178, i16 16, i16 18080, i16 -32768, i16 18178, i16 22, i16 16385, i16 -32768, i16 18178, i16 22, i16 18080, i16 -32768, i16 18178, i16 28, i16 16385, i16 -32768, i16 18178, i16 28, i16 18080, i16 -32768, i16 18178, i16 30, i16 16385, i16 -32768, i16 18178, i16 30, i16 18080, i16 -32768, i16 18178, i16 34, i16 16385, i16 -32768, i16 18178, i16 34, i16 18080, i16 -32768, i16 18178, i16 35, i16 16385, i16 -32768, i16 18178, i16 35, i16 18080, i16 -32768, i16 18178, i16 38, i16 16385, i16 -32768, i16 18178, i16 38, i16 18080, i16 -32768, i16 18178, i16 40, i16 16385, i16 -32768, i16 18178, i16 40, i16 18080, i16 -32768, i16 18178, i16 48, i16 16385, i16 -32768, i16 18178, i16 48, i16 18080, i16 -32768, i16 18572, i16 2191, i16 18578, i16 -32768, i16 18572, i16 2191, i16 18581, i16 -32768, i16 17267, i16 2, i16 18080, i16 -32768, i16 17267, i16 16, i16 16385, i16 -32768, i16 17267, i16 16, i16 18080, i16 -32768, i16 17272, i16 2, i16 18080, i16 -32768, i16 17272, i16 3, i16 16385, i16 -32768, i16 17272, i16 3, i16 18080, i16 -32768, i16 17272, i16 22, i16 16385, i16 -32768, i16 17272, i16 22, i16 18080, i16 -32768, i16 17272, i16 34, i16 16385, i16 -32768, i16 17272, i16 34, i16 18080, i16 -32768, i16 17272, i16 40, i16 16385, i16 -32768, i16 17272, i16 40, i16 18080, i16 -32768, i16 17272, i16 58, i16 16385, i16 -32768, i16 17272, i16 58, i16 18080, i16 -32768, i16 17285, i16 2, i16 18080, i16 -32768, i16 17285, i16 3, i16 16385, i16 -32768, i16 17285, i16 3, i16 18080, i16 -32768, i16 17285, i16 22, i16 16385, i16 -32768, i16 17285, i16 22, i16 18080, i16 -32768, i16 17285, i16 39, i16 16385, i16 -32768, i16 17285, i16 39, i16 18080, i16 -32768, i16 17285, i16 40, i16 16385, i16 -32768, i16 17285, i16 40, i16 18080, i16 -32768, i16 17285, i16 56, i16 16385, i16 -32768, i16 17285, i16 56, i16 18080, i16 -32768, i16 17285, i16 57, i16 16385, i16 -32768, i16 17285, i16 57, i16 18080, i16 -32768, i16 17285, i16 58, i16 16385, i16 -32768, i16 17285, i16 58, i16 18080, i16 -32768, i16 17302, i16 2, i16 18080, i16 -32768, i16 17302, i16 3, i16 16385, i16 -32768, i16 17302, i16 3, i16 18080, i16 -32768, i16 17302, i16 39, i16 16385, i16 -32768, i16 17302, i16 39, i16 18080, i16 -32768, i16 17302, i16 40, i16 16385, i16 -32768, i16 17302, i16 40, i16 18080, i16 -32768, i16 17311, i16 2, i16 18080, i16 -32768, i16 17311, i16 22, i16 16385, i16 -32768, i16 17311, i16 22, i16 18080, i16 -32768, i16 17311, i16 39, i16 16385, i16 -32768, i16 17311, i16 39, i16 18080, i16 -32768, i16 17311, i16 40, i16 16385, i16 -32768, i16 17311, i16 40, i16 18080, i16 -32768, i16 17311, i16 57, i16 16385, i16 -32768, i16 17311, i16 57, i16 18080, i16 -32768, i16 17311, i16 58, i16 16385, i16 -32768, i16 17311, i16 58, i16 18080, i16 -32768, i16 17311, i16 65, i16 18080, i16 -32768, i16 17325, i16 2, i16 18080, i16 -32768, i16 17325, i16 2, i16 32766, i16 -32768, i16 17325, i16 5, i16 16385, i16 -32768, i16 17325, i16 5, i16 18080, i16 -32768, i16 17325, i16 6, i16 16385, i16 -32768, i16 17325, i16 6, i16 18080, i16 -32768, i16 17325, i16 7, i16 16385, i16 -32768, i16 17325, i16 7, i16 18080, i16 -32768, i16 17325, i16 15, i16 16385, i16 -32768, i16 17325, i16 15, i16 18080, i16 -32768, i16 17325, i16 16, i16 16385, i16 -32768, i16 17325, i16 16, i16 18080, i16 -32768, i16 17325, i16 17, i16 16385, i16 -32768, i16 17325, i16 17, i16 18080, i16 -32768, i16 17325, i16 18, i16 16385, i16 -32768, i16 17325, i16 18, i16 18080, i16 -32768, i16 17325, i16 19, i16 16385, i16 -32768, i16 17325, i16 19, i16 18080, i16 -32768, i16 17325, i16 20, i16 16385, i16 -32768, i16 17325, i16 20, i16 18080, i16 -32768, i16 17325, i16 21, i16 16385, i16 -32768, i16 17325, i16 21, i16 18080, i16 -32768, i16 17325, i16 22, i16 16385, i16 -32768, i16 17325, i16 22, i16 18080, i16 -32768, i16 17325, i16 34, i16 16385, i16 -32768, i16 17325, i16 34, i16 18080, i16 -32768, i16 17325, i16 36, i16 16385, i16 -32768, i16 17325, i16 36, i16 18080, i16 -32768, i16 17325, i16 37, i16 16385, i16 -32768, i16 17325, i16 37, i16 18080, i16 -32768, i16 17325, i16 40, i16 16385, i16 -32768, i16 17325, i16 40, i16 18080, i16 -32768, i16 17325, i16 48, i16 16385, i16 -32768, i16 17325, i16 48, i16 18080, i16 -32768, i16 17325, i16 49, i16 16385, i16 -32768, i16 17325, i16 49, i16 18080, i16 -32768, i16 17325, i16 51, i16 16385, i16 -32768, i16 17325, i16 51, i16 18080, i16 -32768, i16 17325, i16 52, i16 16385, i16 -32768, i16 17325, i16 52, i16 18080, i16 -32768, i16 17325, i16 59, i16 16385, i16 -32768, i16 17325, i16 59, i16 18080, i16 -32768, i16 17325, i16 60, i16 16385, i16 -32768, i16 17325, i16 60, i16 18080, i16 -32768, i16 17325, i16 61, i16 16385, i16 -32768, i16 17325, i16 61, i16 18080, i16 -32768, i16 17325, i16 62, i16 16385, i16 -32768, i16 17325, i16 62, i16 18080, i16 -32768, i16 17325, i16 63, i16 16385, i16 -32768, i16 17325, i16 63, i16 18080, i16 -32768, i16 17325, i16 64, i16 16385, i16 -32768, i16 17325, i16 64, i16 18080, i16 -32768, i16 17379, i16 2, i16 18080, i16 -32768, i16 17379, i16 3, i16 16385, i16 -32768, i16 17379, i16 3, i16 18080, i16 -32768, i16 17379, i16 39, i16 16385, i16 -32768, i16 17379, i16 39, i16 18080, i16 -32768, i16 17386, i16 2, i16 18080, i16 -32768, i16 17389, i16 2, i16 18080, i16 -32768, i16 17389, i16 3, i16 16385, i16 -32768, i16 17389, i16 3, i16 18080, i16 -32768, i16 17389, i16 6, i16 16385, i16 -32768, i16 17389, i16 6, i16 18080, i16 -32768, i16 17389, i16 15, i16 16385, i16 -32768, i16 17389, i16 15, i16 18080, i16 -32768, i16 17389, i16 22, i16 16385, i16 -32768, i16 17389, i16 22, i16 18080, i16 -32768, i16 17389, i16 39, i16 16385, i16 -32768, i16 17389, i16 39, i16 18080, i16 -32768, i16 17389, i16 40, i16 16385, i16 -32768, i16 17389, i16 40, i16 18080, i16 -32768, i16 17389, i16 56, i16 16385, i16 -32768, i16 17389, i16 56, i16 18080, i16 -32768, i16 17389, i16 58, i16 16385, i16 -32768, i16 17389, i16 58, i16 18080, i16 -32768, i16 17408, i16 2, i16 18080, i16 -32768, i16 18584, i16 2150, i16 18587, i16 -32768, i16 17408, i16 4, i16 16385, i16 -32768, i16 17408, i16 4, i16 18080, i16 -32768, i16 17408, i16 16, i16 16385, i16 -32768, i16 17408, i16 16, i16 18080, i16 -32768, i16 17408, i16 24, i16 16385, i16 -32768, i16 17408, i16 24, i16 18080, i16 -32768, i16 17408, i16 39, i16 16385, i16 -32768, i16 17408, i16 39, i16 18080, i16 -32768, i16 17408, i16 40, i16 16385, i16 -32768, i16 17408, i16 40, i16 18080, i16 -32768, i16 17408, i16 41, i16 16385, i16 -32768, i16 17408, i16 41, i16 18080, i16 -32768, i16 17408, i16 16382, i16 18080, i16 -32768, i16 18590, i16 2150, i16 18593, i16 -32768, i16 18584, i16 2150, i16 18596, i16 -32768, i16 17427, i16 2, i16 18080, i16 -32768, i16 17427, i16 22, i16 16385, i16 -32768, i16 17427, i16 22, i16 18080, i16 -32768, i16 17427, i16 39, i16 16385, i16 -32768, i16 17427, i16 39, i16 18080, i16 -32768, i16 17427, i16 40, i16 16385, i16 -32768, i16 17427, i16 40, i16 18080, i16 -32768, i16 17427, i16 42, i16 16385, i16 -32768, i16 17427, i16 42, i16 18080, i16 -32768, i16 17427, i16 44, i16 16385, i16 -32768, i16 17427, i16 44, i16 18080, i16 -32768, i16 17427, i16 57, i16 16385, i16 -32768, i16 17427, i16 57, i16 18080, i16 -32768, i16 17427, i16 58, i16 16385, i16 -32768, i16 17427, i16 58, i16 18080, i16 -32768, i16 17444, i16 2, i16 18080, i16 -32768, i16 17444, i16 5, i16 16385, i16 -32768, i16 17444, i16 5, i16 18080, i16 -32768, i16 17444, i16 6, i16 16385, i16 -32768, i16 17444, i16 6, i16 18080, i16 -32768, i16 17444, i16 7, i16 16385, i16 -32768, i16 17444, i16 7, i16 18080, i16 -32768, i16 17444, i16 15, i16 16385, i16 -32768, i16 17444, i16 15, i16 18080, i16 -32768, i16 17444, i16 16, i16 16385, i16 -32768, i16 17444, i16 16, i16 18080, i16 -32768, i16 17444, i16 22, i16 16385, i16 -32768, i16 17444, i16 22, i16 18080, i16 -32768, i16 17444, i16 25, i16 16385, i16 -32768, i16 17444, i16 25, i16 18080, i16 -32768, i16 17444, i16 29, i16 16385, i16 -32768, i16 17444, i16 29, i16 18080, i16 -32768, i16 17444, i16 30, i16 16385, i16 -32768, i16 17444, i16 30, i16 18080, i16 -32768, i16 17444, i16 31, i16 16385, i16 -32768, i16 17444, i16 31, i16 18080, i16 -32768, i16 17444, i16 32, i16 16385, i16 -32768, i16 17444, i16 32, i16 18080, i16 -32768, i16 17444, i16 34, i16 16385, i16 -32768, i16 17444, i16 34, i16 18080, i16 -32768, i16 17444, i16 35, i16 16385, i16 -32768, i16 17444, i16 35, i16 18080, i16 -32768, i16 17444, i16 36, i16 16385, i16 -32768, i16 17444, i16 36, i16 18080, i16 -32768, i16 17444, i16 38, i16 16385, i16 -32768, i16 17444, i16 38, i16 18080, i16 -32768, i16 17444, i16 40, i16 16385, i16 -32768, i16 17444, i16 40, i16 18080, i16 -32768, i16 17444, i16 48, i16 16385, i16 -32768, i16 17444, i16 48, i16 18080, i16 -32768, i16 17444, i16 53, i16 16385, i16 -32768, i16 17444, i16 53, i16 18080, i16 -32768, i16 17444, i16 54, i16 16385, i16 -32768, i16 17444, i16 54, i16 18080, i16 -32768, i16 17444, i16 57, i16 16385, i16 -32768, i16 17444, i16 57, i16 18080, i16 -32768, i16 17444, i16 59, i16 16385, i16 -32768, i16 17444, i16 59, i16 18080, i16 -32768, i16 17444, i16 60, i16 16385, i16 -32768, i16 17444, i16 60, i16 18080, i16 -32768, i16 17444, i16 61, i16 16385, i16 -32768, i16 17444, i16 61, i16 18080, i16 -32768, i16 17444, i16 62, i16 16385, i16 -32768, i16 17444, i16 62, i16 18080, i16 -32768, i16 17444, i16 63, i16 16385, i16 -32768, i16 17444, i16 63, i16 18080, i16 -32768, i16 17444, i16 64, i16 16385, i16 -32768, i16 17444, i16 64, i16 18080, i16 -32768, i16 17501, i16 2, i16 18080, i16 -32768, i16 17501, i16 28, i16 16385, i16 -32768, i16 17501, i16 28, i16 18080, i16 -32768, i16 17501, i16 39, i16 16385, i16 -32768, i16 17501, i16 39, i16 18080, i16 -32768, i16 18254, i16 5, i16 16385, i16 -32768, i16 18254, i16 5, i16 18080, i16 -32768, i16 18254, i16 16, i16 16385, i16 -32768, i16 18254, i16 16, i16 18080, i16 -32768, i16 18254, i16 28, i16 16385, i16 -32768, i16 18254, i16 28, i16 18080, i16 -32768, i16 18254, i16 34, i16 16385, i16 -32768, i16 18254, i16 34, i16 18080, i16 -32768, i16 18254, i16 35, i16 16385, i16 -32768, i16 18254, i16 35, i16 18080, i16 -32768, i16 18254, i16 39, i16 16385, i16 -32768, i16 18254, i16 39, i16 18080, i16 -32768, i16 18254, i16 40, i16 16385, i16 -32768, i16 18254, i16 40, i16 18080, i16 -32768, i16 18259, i16 16, i16 16385, i16 -32768, i16 18259, i16 16, i16 18080, i16 -32768, i16 18259, i16 40, i16 16385, i16 -32768, i16 18259, i16 40, i16 18080, i16 -32768, i16 18259, i16 42, i16 16385, i16 -32768, i16 18259, i16 42, i16 18080, i16 -32768, i16 18259, i16 58, i16 16385, i16 -32768, i16 18259, i16 58, i16 18080, i16 -32768, i16 32766, i16 1, i16 16450, i16 -32768, i16 17531, i16 1, i16 16451, i16 -32768, i16 17531, i16 1696, i16 16450, i16 -32768, i16 17531, i16 1696, i16 16451, i16 -32768, i16 17535, i16 1696, i16 16450, i16 -32768, i16 17537, i16 1696, i16 16450, i16 -32768, i16 17539, i16 1696, i16 16450, i16 -32768, i16 17541, i16 1, i16 16451, i16 -32768, i16 17541, i16 1696, i16 16450, i16 -32768, i16 17541, i16 1696, i16 16451, i16 -32768, i16 17545, i16 1696, i16 16450, i16 -32768, i16 17547, i16 1, i16 16451, i16 -32768, i16 17547, i16 1696, i16 16450, i16 -32768, i16 17547, i16 1696, i16 16451, i16 -32768, i16 17551, i16 1696, i16 16450, i16 -32768, i16 17553, i16 1, i16 16451, i16 -32768, i16 17553, i16 1, i16 16452, i16 -32768, i16 17553, i16 1696, i16 16450, i16 -32768, i16 17553, i16 1696, i16 16451, i16 -32768, i16 17553, i16 1696, i16 16452, i16 -32768, i16 17553, i16 1696, i16 16453, i16 -32768, i16 17560, i16 1696, i16 16450, i16 -32768, i16 17562, i16 1696, i16 16450, i16 -32768, i16 17564, i16 1696, i16 16450, i16 -32768, i16 17566, i16 1696, i16 16450, i16 -32768, i16 17568, i16 1696, i16 16450, i16 -32768, i16 17570, i16 1, i16 16451, i16 -32768, i16 17570, i16 1696, i16 16450, i16 -32768, i16 17570, i16 1696, i16 16451, i16 -32768, i16 17574, i16 1696, i16 16450, i16 -32768, i16 17576, i16 1696, i16 16450, i16 -32768, i16 17578, i16 1696, i16 16450, i16 -32768, i16 17578, i16 1696, i16 32766, i16 -32768, i16 17581, i16 1696, i16 16450, i16 -32768, i16 17583, i16 1, i16 16451, i16 -32768, i16 17583, i16 1, i16 16452, i16 -32768, i16 17583, i16 1696, i16 16450, i16 -32768, i16 17583, i16 1696, i16 16451, i16 -32768, i16 17583, i16 1696, i16 16452, i16 -32768, i16 17583, i16 1696, i16 16453, i16 -32768, i16 17590, i16 1696, i16 16450, i16 -32768, i16 17592, i16 1696, i16 16450, i16 -32768, i16 17594, i16 1696, i16 16450, i16 -32768, i16 17596, i16 1, i16 16451, i16 -32768, i16 17596, i16 1696, i16 16450, i16 -32768, i16 17596, i16 1696, i16 16451, i16 -32768, i16 32766, i16 70, i16 16385, i16 -32768, i16 17600, i16 70, i16 18080, i16 -32768, i16 17602, i16 70, i16 18080, i16 -32768, i16 17604, i16 70, i16 18080, i16 -32768, i16 17606, i16 70, i16 18080, i16 -32768, i16 17608, i16 70, i16 18080, i16 -32768, i16 17610, i16 70, i16 18080, i16 -32768, i16 17612, i16 70, i16 18080, i16 -32768, i16 17614, i16 70, i16 18080, i16 -32768, i16 17616, i16 70, i16 18080, i16 -32768, i16 17618, i16 70, i16 18080, i16 -32768, i16 17620, i16 70, i16 18080, i16 -32768, i16 17622, i16 70, i16 18080, i16 -32768, i16 17624, i16 70, i16 18080, i16 -32768, i16 17626, i16 70, i16 18080, i16 -32768, i16 17628, i16 70, i16 18080, i16 -32768, i16 17630, i16 70, i16 18080, i16 -32768, i16 17632, i16 70, i16 18080, i16 -32768, i16 17634, i16 70, i16 18080, i16 -32768, i16 17636, i16 70, i16 18080, i16 -32768, i16 17638, i16 70, i16 18080, i16 -32768, i16 17640, i16 70, i16 18080, i16 -32768, i16 17642, i16 70, i16 18080, i16 -32768, i16 17644, i16 70, i16 18080, i16 -32768, i16 17646, i16 70, i16 18080, i16 -32768, i16 17648, i16 70, i16 18080, i16 -32768, i16 17650, i16 70, i16 18080, i16 -32768, i16 17652, i16 70, i16 18080, i16 -32768, i16 17654, i16 70, i16 18080, i16 -32768, i16 17656, i16 70, i16 18080, i16 -32768, i16 17658, i16 70, i16 18080, i16 -32768, i16 17660, i16 70, i16 18080, i16 -32768, i16 17662, i16 70, i16 18080, i16 -32768, i16 17664, i16 70, i16 18080, i16 -32768, i16 17666, i16 70, i16 18080, i16 -32768, i16 17668, i16 70, i16 18080, i16 -32768, i16 17670, i16 70, i16 18080, i16 -32768, i16 17672, i16 70, i16 18080, i16 -32768, i16 17674, i16 70, i16 18080, i16 -32768, i16 17676, i16 70, i16 18080, i16 -32768, i16 17678, i16 70, i16 18080, i16 -32768, i16 17680, i16 70, i16 18080, i16 -32768, i16 32766, i16 70, i16 18080, i16 -32768, i16 17682, i16 70, i16 16385, i16 -32768, i16 17684, i16 70, i16 18080, i16 -32768, i16 17686, i16 70, i16 16385, i16 -32768, i16 17688, i16 70, i16 18080, i16 -32768, i16 17690, i16 70, i16 18080, i16 -32768, i16 17692, i16 70, i16 18080, i16 -32768, i16 17694, i16 70, i16 18080, i16 -32768, i16 17696, i16 70, i16 18080, i16 -32768, i16 17698, i16 70, i16 18080, i16 -32768, i16 17700, i16 70, i16 18080, i16 -32768, i16 17702, i16 70, i16 18080, i16 -32768, i16 32766, i16 0, i16 16384, i16 -32768, i16 32766, i16 16382, i16 16384, i16 -32768, i16 17736, i16 16382, i16 16384, i16 -32768, i16 17735, i16 16382, i16 16384, i16 -32768, i16 17745, i16 16382, i16 16384, i16 -32768, i16 17749, i16 16382, i16 16384, i16 -32768, i16 17756, i16 16382, i16 16384, i16 -32768, i16 17764, i16 16382, i16 16384, i16 -32768, i16 17769, i16 16382, i16 16384, i16 -32768, i16 17774, i16 16382, i16 16384, i16 -32768, i16 17779, i16 16382, i16 16384, i16 -32768, i16 17784, i16 16382, i16 16384, i16 -32768, i16 17787, i16 16382, i16 16384, i16 -32768, i16 17790, i16 16382, i16 16384, i16 -32768, i16 17793, i16 16382, i16 16384, i16 -32768, i16 17796, i16 16382, i16 16384, i16 -32768, i16 17801, i16 16382, i16 16384, i16 -32768, i16 17806, i16 16382, i16 16384, i16 -32768, i16 17811, i16 16382, i16 16384, i16 -32768, i16 17816, i16 16382, i16 16384, i16 -32768, i16 17821, i16 16382, i16 16384, i16 -32768, i16 17826, i16 16382, i16 16384, i16 -32768, i16 17831, i16 16382, i16 16384, i16 -32768, i16 17836, i16 16382, i16 16384, i16 -32768, i16 17841, i16 16382, i16 16384, i16 -32768, i16 17846, i16 16382, i16 16384, i16 -32768, i16 17851, i16 16382, i16 16384, i16 -32768, i16 17856, i16 16382, i16 16384, i16 -32768, i16 17861, i16 16382, i16 16384, i16 -32768, i16 17866, i16 16382, i16 16384, i16 -32768, i16 17871, i16 16382, i16 16384, i16 -32768, i16 17874, i16 16382, i16 16384, i16 -32768, i16 17877, i16 16382, i16 16384, i16 -32768, i16 16384, i16 0, i16 32766, i16 -32768, i16 18115, i16 16382, i16 16384, i16 -32768, i16 18124, i16 16382, i16 16384, i16 -32768, i16 18125, i16 16382, i16 16384, i16 -32768, i16 18126, i16 16382, i16 16384, i16 -32768, i16 18127, i16 16382, i16 16384, i16 -32768, i16 18128, i16 16382, i16 16384, i16 -32768, i16 18129, i16 16382, i16 16384, i16 -32768, i16 18130, i16 16382, i16 16384, i16 -32768, i16 18131, i16 16382, i16 16384, i16 -32768, i16 18132, i16 16382, i16 16384, i16 -32768, i16 18599, i16 2218, i16 18605, i16 -32768, i16 18599, i16 2224, i16 18611, i16 -32768, i16 18614, i16 2233, i16 18620, i16 -32768, i16 18614, i16 2239, i16 18626, i16 -32768, i16 18629, i16 2248, i16 18635, i16 -32768, i16 18629, i16 2254, i16 18641, i16 -32768, i16 18644, i16 2263, i16 18650, i16 -32768, i16 18644, i16 2269, i16 18656, i16 -32768, i16 17909, i16 16382, i16 16384, i16 -32768, i16 17913, i16 16382, i16 16384, i16 -32768, i16 17917, i16 16382, i16 16384, i16 -32768, i16 17922, i16 16382, i16 16384, i16 -32768, i16 17926, i16 16382, i16 16384, i16 -32768, i16 17930, i16 16382, i16 16384, i16 -32768, i16 17935, i16 16382, i16 16384, i16 -32768, i16 17939, i16 16382, i16 16384, i16 -32768, i16 17943, i16 16382, i16 16384, i16 -32768, i16 17948, i16 16382, i16 16384, i16 -32768, i16 17952, i16 16382, i16 16384, i16 -32768, i16 17956, i16 16382, i16 16384, i16 -32768, i16 17960, i16 16382, i16 16384, i16 -32768, i16 17964, i16 16382, i16 16384, i16 -32768, i16 17968, i16 16382, i16 16384, i16 -32768, i16 17972, i16 16382, i16 16384, i16 -32768, i16 17976, i16 16382, i16 16384, i16 -32768, i16 17980, i16 16382, i16 16384, i16 -32768, i16 17986, i16 16382, i16 16384, i16 -32768, i16 17990, i16 16382, i16 16384, i16 -32768, i16 17994, i16 16382, i16 16384, i16 -32768, i16 17996, i16 16382, i16 16384, i16 -32768, i16 17998, i16 16382, i16 16384, i16 -32768, i16 18000, i16 16382, i16 16384, i16 -32768, i16 18002, i16 16382, i16 16384, i16 -32768, i16 18004, i16 16382, i16 16384, i16 -32768, i16 18010, i16 16382, i16 16384, i16 -32768, i16 18016, i16 16382, i16 16384, i16 -32768, i16 18022, i16 16382, i16 16384, i16 -32768, i16 18028, i16 16382, i16 16384, i16 -32768, i16 18034, i16 16382, i16 16384, i16 -32768, i16 18036, i16 16382, i16 16384, i16 -32768, i16 18038, i16 16382, i16 16384, i16 -32768, i16 18040, i16 16382, i16 16384, i16 -32768, i16 18042, i16 16382, i16 16384, i16 -32768, i16 18044, i16 16382, i16 16384, i16 -32768, i16 18048, i16 16382, i16 16384, i16 -32768, i16 18052, i16 16382, i16 16384, i16 -32768, i16 18056, i16 16382, i16 16384, i16 -32768, i16 18058, i16 16382, i16 16384, i16 -32768, i16 18060, i16 16382, i16 16384, i16 -32768, i16 18062, i16 16382, i16 16384, i16 -32768, i16 18064, i16 16382, i16 16384, i16 -32768, i16 18066, i16 16382, i16 16384, i16 -32768, i16 18070, i16 16382, i16 16384, i16 -32768, i16 18072, i16 16382, i16 16384, i16 -32768, i16 18074, i16 16382, i16 16384, i16 -32768, i16 18076, i16 16382, i16 16384, i16 -32768, i16 17065, i16 3, i16 16385, i16 -32768, i16 17065, i16 3, i16 18080, i16 -32768, i16 17065, i16 25, i16 16385, i16 -32768, i16 17065, i16 25, i16 18080, i16 -32768, i16 17065, i16 26, i16 16385, i16 -32768, i16 17065, i16 26, i16 18080, i16 -32768, i16 17065, i16 28, i16 16385, i16 -32768, i16 17065, i16 28, i16 18080, i16 -32768, i16 17065, i16 48, i16 16385, i16 -32768, i16 17065, i16 48, i16 18080, i16 -32768, i16 17065, i16 50, i16 16385, i16 -32768, i16 17065, i16 50, i16 18080, i16 -32768, i16 18659, i16 2278, i16 18578, i16 -32768, i16 18659, i16 2278, i16 18581, i16 -32768, i16 18659, i16 2281, i16 18578, i16 -32768, i16 18659, i16 2281, i16 18581, i16 -32768, i16 18659, i16 2284, i16 18578, i16 -32768, i16 18659, i16 2284, i16 18581, i16 -32768, i16 17122, i16 3, i16 16385, i16 -32768, i16 17122, i16 3, i16 18080, i16 -32768, i16 17122, i16 22, i16 16385, i16 -32768, i16 17122, i16 22, i16 18080, i16 -32768, i16 18164, i16 2, i16 18080, i16 -32768, i16 17133, i16 42, i16 16385, i16 -32768, i16 17133, i16 42, i16 18080, i16 -32768, i16 17148, i16 3, i16 16385, i16 -32768, i16 17148, i16 3, i16 18080, i16 -32768, i16 17148, i16 48, i16 16385, i16 -32768, i16 17148, i16 48, i16 18080, i16 -32768, i16 17148, i16 50, i16 16385, i16 -32768, i16 17148, i16 50, i16 18080, i16 -32768, i16 17205, i16 44, i16 16385, i16 -32768, i16 17205, i16 44, i16 18080, i16 -32768, i16 18176, i16 2, i16 18080, i16 -32768, i16 18179, i16 2, i16 16385, i16 -32768, i16 32766, i16 2, i16 18080, i16 -32768, i16 18178, i16 2, i16 16385, i16 -32768, i16 18178, i16 3, i16 16385, i16 -32768, i16 18178, i16 3, i16 18080, i16 -32768, i16 18178, i16 50, i16 16385, i16 -32768, i16 18178, i16 50, i16 18080, i16 -32768, i16 17272, i16 44, i16 16385, i16 -32768, i16 17272, i16 44, i16 18080, i16 -32768, i16 17285, i16 42, i16 16385, i16 -32768, i16 17285, i16 42, i16 18080, i16 -32768, i16 17285, i16 44, i16 16385, i16 -32768, i16 17285, i16 44, i16 18080, i16 -32768, i16 17311, i16 3, i16 16385, i16 -32768, i16 17311, i16 3, i16 18080, i16 -32768, i16 17311, i16 35, i16 16385, i16 -32768, i16 17311, i16 35, i16 18080, i16 -32768, i16 17311, i16 44, i16 16385, i16 -32768, i16 17311, i16 44, i16 18080, i16 -32768, i16 18671, i16 2290, i16 18578, i16 -32768, i16 18671, i16 2290, i16 18581, i16 -32768, i16 17325, i16 3, i16 16385, i16 -32768, i16 17325, i16 3, i16 18080, i16 -32768, i16 17325, i16 33, i16 16385, i16 -32768, i16 17325, i16 33, i16 18080, i16 -32768, i16 17325, i16 35, i16 16385, i16 -32768, i16 17325, i16 35, i16 18080, i16 -32768, i16 17325, i16 42, i16 16385, i16 -32768, i16 17325, i16 42, i16 18080, i16 -32768, i16 17325, i16 43, i16 16385, i16 -32768, i16 17325, i16 43, i16 18080, i16 -32768, i16 17325, i16 50, i16 16385, i16 -32768, i16 17325, i16 50, i16 18080, i16 -32768, i16 18212, i16 2, i16 18080, i16 -32768, i16 18677, i16 2296, i16 18578, i16 -32768, i16 18677, i16 2296, i16 18581, i16 -32768, i16 17389, i16 44, i16 16385, i16 -32768, i16 17389, i16 44, i16 18080, i16 -32768, i16 17408, i16 3, i16 16385, i16 -32768, i16 17408, i16 3, i16 18080, i16 -32768, i16 17408, i16 22, i16 16385, i16 -32768, i16 17408, i16 22, i16 18080, i16 -32768, i16 18222, i16 2, i16 18080, i16 -32768, i16 18683, i16 2302, i16 18578, i16 -32768, i16 18683, i16 2302, i16 18581, i16 -32768, i16 17444, i16 3, i16 16385, i16 -32768, i16 17444, i16 3, i16 18080, i16 -32768, i16 17444, i16 33, i16 16385, i16 -32768, i16 17444, i16 33, i16 18080, i16 -32768, i16 17444, i16 50, i16 16385, i16 -32768, i16 17444, i16 50, i16 18080, i16 -32768, i16 18232, i16 2, i16 18080, i16 -32768, i16 18234, i16 2, i16 18080, i16 -32768, i16 18234, i16 35, i16 16385, i16 -32768, i16 18234, i16 35, i16 18080, i16 -32768, i16 18234, i16 40, i16 16385, i16 -32768, i16 18234, i16 40, i16 18080, i16 -32768, i16 18240, i16 2, i16 18080, i16 -32768, i16 18240, i16 3, i16 16385, i16 -32768, i16 18240, i16 3, i16 18080, i16 -32768, i16 18240, i16 5, i16 16385, i16 -32768, i16 18240, i16 5, i16 18080, i16 -32768, i16 18240, i16 16, i16 16385, i16 -32768, i16 18240, i16 16, i16 18080, i16 -32768, i16 18240, i16 28, i16 16385, i16 -32768, i16 18240, i16 28, i16 18080, i16 -32768, i16 18240, i16 39, i16 16385, i16 -32768, i16 18240, i16 39, i16 18080, i16 -32768, i16 18240, i16 40, i16 16385, i16 -32768, i16 18240, i16 40, i16 18080, i16 -32768, i16 18254, i16 2, i16 18080, i16 -32768, i16 18254, i16 3, i16 16385, i16 -32768, i16 18254, i16 3, i16 18080, i16 -32768, i16 18259, i16 2, i16 18080, i16 -32768, i16 18259, i16 3, i16 16385, i16 -32768, i16 18259, i16 3, i16 18080, i16 -32768, i16 18259, i16 22, i16 16385, i16 -32768, i16 18259, i16 22, i16 18080, i16 -32768, i16 18259, i16 39, i16 16385, i16 -32768, i16 18259, i16 39, i16 18080, i16 -32768, i16 17272, i16 16382, i16 18080, i16 -32768, i16 17122, i16 44, i16 16385, i16 -32768, i16 17122, i16 44, i16 18080, i16 -32768, i16 17205, i16 7, i16 16385, i16 -32768, i16 17205, i16 7, i16 18080, i16 -32768, i16 18178, i16 39, i16 16385, i16 -32768, i16 18178, i16 39, i16 18080, i16 -32768, i16 17408, i16 44, i16 16385, i16 -32768, i16 17408, i16 44, i16 18080, i16 -32768, i16 32766, i16 16382, i16 16386, i16 -32767, i16 18234, i16 1850, i16 16386, i16 -31072, i16 18234, i16 1850, i16 16419, i16 -32767, i16 18234, i16 1850, i16 16419, i16 -31072, i16 18234, i16 1850, i16 16424, i16 -32767, i16 18234, i16 1850, i16 16424, i16 -31072, i16 18240, i16 1856, i16 16386, i16 -31072, i16 18240, i16 1856, i16 16387, i16 -32767, i16 18240, i16 1856, i16 16387, i16 -31072, i16 18240, i16 1856, i16 16389, i16 -32767, i16 18240, i16 1856, i16 16389, i16 -31072, i16 18240, i16 1856, i16 16400, i16 -32767, i16 18240, i16 1856, i16 16400, i16 -31072, i16 18240, i16 1856, i16 16412, i16 -32767, i16 18240, i16 1856, i16 16412, i16 -31072, i16 18240, i16 1856, i16 16423, i16 -32767, i16 18240, i16 1856, i16 16423, i16 -31072, i16 18240, i16 1856, i16 16424, i16 -32767, i16 18240, i16 1856, i16 16424, i16 -31072, i16 18254, i16 73, i16 16385, i16 -32768, i16 18254, i16 73, i16 18080, i16 -32768, i16 18144, i16 2, i16 18080, i16 -32768, i16 18144, i16 3, i16 16385, i16 -32768, i16 18144, i16 3, i16 18080, i16 -32768, i16 18148, i16 2, i16 18080, i16 -32768, i16 18148, i16 16382, i16 16385, i16 -32768, i16 18148, i16 1770, i16 18080, i16 -32768, i16 18148, i16 1772, i16 18080, i16 -32768, i16 18148, i16 1774, i16 18080, i16 -32768, i16 18212, i16 16382, i16 16385, i16 -32768, i16 18212, i16 1822, i16 18080, i16 -32768, i16 18212, i16 1824, i16 18080, i16 -32768, i16 18212, i16 35, i16 16385, i16 -32768, i16 18212, i16 35, i16 18080, i16 -32768, i16 18163, i16 2, i16 16385, i16 -32768, i16 17325, i16 28, i16 16385, i16 -32768, i16 17325, i16 28, i16 18080, i16 -32768, i16 18221, i16 2, i16 16385, i16 -32768, i16 17444, i16 28, i16 16385, i16 -32768, i16 17444, i16 28, i16 18080, i16 -32768, i16 18264, i16 2, i16 16385, i16 -32768, i16 18150, i16 2, i16 18080, i16 -32768, i16 18160, i16 2, i16 18080, i16 -32768, i16 18170, i16 2, i16 18080, i16 -32768, i16 18188, i16 2, i16 18080, i16 -32768, i16 18192, i16 2, i16 18080, i16 -32768, i16 18200, i16 2, i16 18080, i16 -32768, i16 18218, i16 2, i16 18080, i16 -32768, i16 18261, i16 2, i16 18080, i16 -32768, i16 18265, i16 2, i16 18080, i16 -32768, i16 18254, i16 16382, i16 16385, i16 -32768, i16 18254, i16 1848, i16 18080, i16 -32768, i16 18254, i16 1844, i16 18080, i16 -32768, i16 18154, i16 2, i16 18080, i16 -32768, i16 18154, i16 3, i16 16385, i16 -32768, i16 18154, i16 3, i16 18080, i16 -32768, i16 18154, i16 50, i16 16385, i16 -32768, i16 18154, i16 50, i16 18080, i16 -32768, i16 18154, i16 73, i16 16385, i16 -32768, i16 18154, i16 73, i16 18080, i16 -32768, i16 18206, i16 2, i16 18080, i16 -32768, i16 18206, i16 3, i16 16385, i16 -32768, i16 18206, i16 3, i16 18080, i16 -32768, i16 18206, i16 28, i16 16385, i16 -32768, i16 18206, i16 28, i16 18080, i16 -32768, i16 18206, i16 33, i16 16385, i16 -32768, i16 18206, i16 33, i16 18080, i16 -32768, i16 18144, i16 16382, i16 16385, i16 -32768, i16 18144, i16 1883, i16 18078, i16 -32768, i16 18144, i16 1883, i16 18079, i16 -32768, i16 18144, i16 1883, i16 18080, i16 -32768, i16 18144, i16 1762, i16 18080, i16 -32768, i16 18152, i16 2, i16 18080, i16 -32768, i16 18162, i16 2, i16 18080, i16 -32768, i16 18172, i16 2, i16 18080, i16 -32768, i16 18174, i16 2, i16 18080, i16 -32768, i16 18183, i16 2, i16 18080, i16 -32768, i16 18185, i16 2, i16 18080, i16 -32768, i16 18190, i16 2, i16 18080, i16 -32768, i16 18196, i16 2, i16 18080, i16 -32768, i16 18210, i16 2, i16 18080, i16 -32768, i16 18216, i16 2, i16 18080, i16 -32768, i16 18220, i16 2, i16 18080, i16 -32768, i16 18230, i16 2, i16 18080, i16 -32768, i16 18263, i16 2, i16 18080, i16 -32768, i16 18081, i16 16382, i16 16384, i16 -32768, i16 17133, i16 16382, i16 16385, i16 -32768, i16 17133, i16 1887, i16 18080, i16 -32768, i16 17386, i16 73, i16 18080, i16 -32768, i16 18143, i16 2, i16 16385, i16 -32768, i16 18272, i16 2, i16 16385, i16 -32768, i16 18169, i16 2, i16 16385, i16 -32768, i16 17205, i16 8, i16 16385, i16 -32768, i16 17205, i16 8, i16 18080, i16 -32768, i16 18182, i16 2, i16 16385, i16 -32768, i16 17311, i16 16382, i16 16385, i16 -32768, i16 17311, i16 1814, i16 18080, i16 -32768, i16 18201, i16 2, i16 16385, i16 -32768, i16 18227, i16 2, i16 16385, i16 -32768, i16 18257, i16 2, i16 16385, i16 -32768, i16 18225, i16 2, i16 16385, i16 -32768, i16 18155, i16 2, i16 16385, i16 -32768, i16 18155, i16 73, i16 18080, i16 -32768, i16 18155, i16 73, i16 16385, i16 -32768, i16 18213, i16 2, i16 16385, i16 -32768, i16 18213, i16 73, i16 18080, i16 -32768, i16 18213, i16 73, i16 16385, i16 -32768, i16 16384, i16 0, i16 16400, i16 -32768, i16 16384, i16 0, i16 16434, i16 -32768, i16 16384, i16 0, i16 16389, i16 -32768, i16 18311, i16 2, i16 18078, i16 -32768, i16 18311, i16 2, i16 18079, i16 -32768, i16 18311, i16 2, i16 18080, i16 -32768, i16 18166, i16 2, i16 18080, i16 -32768, i16 18315, i16 2, i16 18078, i16 -32768, i16 18315, i16 2, i16 18079, i16 -32768, i16 18315, i16 2, i16 18080, i16 -32768, i16 18319, i16 2, i16 18078, i16 -32768, i16 18319, i16 2, i16 18079, i16 -32768, i16 18319, i16 2, i16 18080, i16 -32768, i16 18194, i16 2, i16 18080, i16 -32768, i16 32766, i16 22, i16 16385, i16 -16386, i16 18220, i16 22, i16 18080, i16 -16386, i16 32766, i16 2, i16 16385, i16 -16386, i16 18259, i16 2, i16 18080, i16 -16386, i16 18259, i16 3, i16 16385, i16 -16386, i16 18259, i16 3, i16 18080, i16 -16386, i16 18259, i16 39, i16 16385, i16 -16386, i16 18259, i16 39, i16 18080, i16 -16386, i16 18259, i16 22, i16 16385, i16 -16386, i16 18259, i16 22, i16 18080, i16 -16386, i16 18234, i16 16382, i16 16386, i16 -32767, i16 18234, i16 1856, i16 16386, i16 -31072, i16 18234, i16 1856, i16 16387, i16 -32767, i16 18234, i16 1856, i16 16387, i16 -31072, i16 18234, i16 1856, i16 16389, i16 -32767, i16 18234, i16 1856, i16 16389, i16 -31072, i16 18234, i16 1856, i16 16400, i16 -32767, i16 18234, i16 1856, i16 16400, i16 -31072, i16 18234, i16 1856, i16 16434, i16 -32767, i16 18234, i16 1856, i16 16434, i16 -31072, i16 18234, i16 1856, i16 16423, i16 -32767, i16 18234, i16 1856, i16 16423, i16 -31072, i16 18234, i16 1856, i16 16412, i16 -32767, i16 18234, i16 1856, i16 16412, i16 -31072, i16 32766, i16 35, i16 16385, i16 -16386, i16 18204, i16 35, i16 18080, i16 -16386, i16 32766, i16 28, i16 16385, i16 -16386, i16 18148, i16 28, i16 18080, i16 -16386, i16 18212, i16 28, i16 18080, i16 -16386, i16 18232, i16 28, i16 18080, i16 -16386, i16 18323, i16 2, i16 18078, i16 -32768, i16 18323, i16 2, i16 18079, i16 -32768, i16 18323, i16 2, i16 18080, i16 -32768, i16 18327, i16 2, i16 18078, i16 -32768, i16 18327, i16 2, i16 18079, i16 -32768, i16 18327, i16 2, i16 18080, i16 -32768, i16 32766, i16 32766, i16 32766, i16 32766, i16 16384, i16 16384, i16 16384, i16 32766, i16 32766, i16 16389, i16 16385, i16 32766, i16 16470, i16 16389, i16 16388, i16 16470, i16 16470, i16 16389, i16 32766, i16 16470, i16 16470, i16 16392, i16 16385, i16 16470, i16 16470, i16 16392, i16 16388, i16 16470, i16 16470, i16 16393, i16 16385, i16 16470, i16 16470, i16 16393, i16 16388, i16 16470, i16 16470, i16 16405, i16 16385, i16 16470, i16 16470, i16 16405, i16 16388, i16 16470, i16 16470, i16 16397, i16 16385, i16 16470, i16 16470, i16 16397, i16 16388, i16 16470, i16 16470, i16 16408, i16 16385, i16 16470, i16 16470, i16 16408, i16 16388, i16 16470, i16 16470, i16 16409, i16 16385, i16 16470, i16 16470, i16 16409, i16 16388, i16 16470, i16 16470, i16 16411, i16 16385, i16 16470, i16 16470, i16 16411, i16 16388, i16 16470, i16 16470, i16 16410, i16 16385, i16 16470, i16 16470, i16 16410, i16 16388, i16 16470, i16 16470, i16 16435, i16 16385, i16 16470, i16 16470, i16 16435, i16 16388, i16 16470, i16 16470, i16 16398, i16 16385, i16 16470, i16 16470, i16 16398, i16 16388, i16 16470, i16 16470, i16 16394, i16 16385, i16 16470, i16 16470, i16 16394, i16 16388, i16 16470, i16 16470, i16 16412, i16 16385, i16 16470, i16 16470, i16 16412, i16 16388, i16 16470, i16 16470, i16 16413, i16 16385, i16 16470, i16 16470, i16 16413, i16 16388, i16 16470, i16 16470, i16 16415, i16 16385, i16 16470, i16 16470, i16 16415, i16 16388, i16 16470, i16 16470, i16 16414, i16 16385, i16 16470, i16 16470, i16 16414, i16 16388, i16 16470, i16 16470, i16 16436, i16 16385, i16 16470, i16 16470, i16 16436, i16 16388, i16 16470, i16 16470, i16 16395, i16 16385, i16 16470, i16 16470, i16 16395, i16 16388, i16 16470, i16 16470, i16 16399, i16 16385, i16 16470, i16 16470, i16 16399, i16 16388, i16 16470, i16 16470, i16 16417, i16 16385, i16 16470, i16 16470, i16 16417, i16 16388, i16 16470, i16 16470, i16 16450, i16 16385, i16 16470, i16 16470, i16 16450, i16 16388, i16 16470, i16 16470, i16 16402, i16 16385, i16 16470, i16 16470, i16 16402, i16 16388, i16 16470, i16 16470, i16 16426, i16 16385, i16 16470, i16 16470, i16 16426, i16 16388, i16 16470, i16 16470, i16 16400, i16 16385, i16 16470, i16 16470, i16 16400, i16 16388, i16 16470, i16 16470, i16 16396, i16 16385, i16 16470, i16 16470, i16 16396, i16 16388, i16 16470, i16 16470, i16 16444, i16 16385, i16 16470, i16 16470, i16 16444, i16 16388, i16 16470, i16 16470, i16 16449, i16 16385, i16 16470, i16 16470, i16 16449, i16 16388, i16 16470, i16 16470, i16 16391, i16 16385, i16 16470, i16 16470, i16 16391, i16 16388, i16 16470, i16 16470, i16 16418, i16 16385, i16 16470, i16 16470, i16 16418, i16 16388, i16 16470, i16 18628, i16 18631, i16 18517, i16 18628, i16 18628, i16 18631, i16 18425, i16 18628, i16 18628, i16 18634, i16 18517, i16 18628, i16 18628, i16 18634, i16 18425, i16 18628, i16 18628, i16 18637, i16 18517, i16 18628, i16 18628, i16 18637, i16 18425, i16 18628, i16 16536, i16 16389, i16 16388, i16 16536, i16 16536, i16 16390, i16 16385, i16 16536, i16 16536, i16 16390, i16 16388, i16 16536, i16 16536, i16 16444, i16 16385, i16 16536, i16 16536, i16 16444, i16 16388, i16 16536, i16 16536, i16 16445, i16 16385, i16 16536, i16 16536, i16 16445, i16 16388, i16 16536, i16 16545, i16 16389, i16 16388, i16 16545, i16 16545, i16 16392, i16 16385, i16 16545, i16 16545, i16 16392, i16 16388, i16 16545, i16 16545, i16 16394, i16 16385, i16 16545, i16 16545, i16 16394, i16 16388, i16 16545, i16 16545, i16 16400, i16 16385, i16 16545, i16 16545, i16 16400, i16 16388, i16 16545, i16 16545, i16 16390, i16 16385, i16 16545, i16 16545, i16 16390, i16 16388, i16 16545, i16 16545, i16 16448, i16 16385, i16 16545, i16 16545, i16 16448, i16 16388, i16 16545, i16 16545, i16 16437, i16 16385, i16 16545, i16 16545, i16 16437, i16 16388, i16 16545, i16 32766, i16 16395, i16 16385, i16 32766, i16 16559, i16 16395, i16 16388, i16 16559, i16 16562, i16 16389, i16 16388, i16 16562, i16 16562, i16 16395, i16 16385, i16 16562, i16 16562, i16 16395, i16 16388, i16 16562, i16 16562, i16 16390, i16 16385, i16 16562, i16 16562, i16 16390, i16 16388, i16 16562, i16 16562, i16 16444, i16 16385, i16 16562, i16 16562, i16 16444, i16 16388, i16 16562, i16 16562, i16 16452, i16 16385, i16 16562, i16 16562, i16 16452, i16 16388, i16 16562, i16 16562, i16 16448, i16 16385, i16 16562, i16 16562, i16 16448, i16 16388, i16 16562, i16 16562, i16 16421, i16 16385, i16 16562, i16 16562, i16 16421, i16 16388, i16 16562, i16 16562, i16 16445, i16 16385, i16 16562, i16 16562, i16 16445, i16 16388, i16 16562, i16 16579, i16 16389, i16 16388, i16 16579, i16 16579, i16 16392, i16 16385, i16 16579, i16 16579, i16 16392, i16 16388, i16 16579, i16 16579, i16 16393, i16 16385, i16 16579, i16 16579, i16 16393, i16 16388, i16 16579, i16 16579, i16 16405, i16 16385, i16 16579, i16 16579, i16 16405, i16 16388, i16 16579, i16 16579, i16 16397, i16 16385, i16 16579, i16 16579, i16 16397, i16 16388, i16 16579, i16 16579, i16 16398, i16 16385, i16 16579, i16 16579, i16 16398, i16 16388, i16 16579, i16 16579, i16 16394, i16 16385, i16 16579, i16 16579, i16 16394, i16 16388, i16 16579, i16 16579, i16 16412, i16 16385, i16 16579, i16 16579, i16 16412, i16 16388, i16 16579, i16 16579, i16 16413, i16 16385, i16 16579, i16 16579, i16 16413, i16 16388, i16 16579, i16 16579, i16 16415, i16 16385, i16 16579, i16 16579, i16 16415, i16 16388, i16 16579, i16 16579, i16 16414, i16 16385, i16 16579, i16 16579, i16 16414, i16 16388, i16 16579, i16 16579, i16 16436, i16 16385, i16 16579, i16 16579, i16 16436, i16 16388, i16 16579, i16 16579, i16 16395, i16 16385, i16 16579, i16 16579, i16 16395, i16 16388, i16 16579, i16 16579, i16 16402, i16 16385, i16 16579, i16 16579, i16 16402, i16 16388, i16 16579, i16 16579, i16 16400, i16 16385, i16 16579, i16 16579, i16 16400, i16 16388, i16 16579, i16 16579, i16 16396, i16 16385, i16 16579, i16 16579, i16 16396, i16 16388, i16 16579, i16 16579, i16 16446, i16 16385, i16 16579, i16 16579, i16 16446, i16 16388, i16 16579, i16 16579, i16 16390, i16 16385, i16 16579, i16 16579, i16 16390, i16 16388, i16 16579, i16 16579, i16 16444, i16 16385, i16 16579, i16 16579, i16 16444, i16 16388, i16 16579, i16 16579, i16 16439, i16 16385, i16 16579, i16 16579, i16 16439, i16 16388, i16 16579, i16 16579, i16 16449, i16 16385, i16 16579, i16 16579, i16 16449, i16 16388, i16 16579, i16 16579, i16 16391, i16 16385, i16 16579, i16 16579, i16 16391, i16 16388, i16 16579, i16 16579, i16 16419, i16 16385, i16 16579, i16 16579, i16 16419, i16 16388, i16 16579, i16 16579, i16 16420, i16 16385, i16 16579, i16 16579, i16 16420, i16 16388, i16 16579, i16 16579, i16 16421, i16 16385, i16 16579, i16 16579, i16 16421, i16 16388, i16 16579, i16 16630, i16 16389, i16 16388, i16 16630, i16 16630, i16 16400, i16 16385, i16 16630, i16 16630, i16 16400, i16 16388, i16 16630, i16 16630, i16 16390, i16 16385, i16 16630, i16 16630, i16 16390, i16 16388, i16 16630, i16 18640, i16 18643, i16 18646, i16 18640, i16 18649, i16 18643, i16 18652, i16 18649, i16 18655, i16 18643, i16 18658, i16 18655, i16 18661, i16 18665, i16 18669, i16 18661, i16 18673, i16 18665, i16 18677, i16 18673, i16 16642, i16 16389, i16 16388, i16 16642, i16 16642, i16 16392, i16 16385, i16 16642, i16 16642, i16 16392, i16 16388, i16 16642, i16 16642, i16 16397, i16 16385, i16 16642, i16 16642, i16 16397, i16 16388, i16 16642, i16 16642, i16 16394, i16 16385, i16 16642, i16 16642, i16 16394, i16 16388, i16 16642, i16 16642, i16 16395, i16 16385, i16 16642, i16 16642, i16 16395, i16 16388, i16 16642, i16 16642, i16 16390, i16 16385, i16 16642, i16 16642, i16 16390, i16 16388, i16 16642, i16 16642, i16 16452, i16 16385, i16 16642, i16 16642, i16 16452, i16 16388, i16 16642, i16 16642, i16 16448, i16 16385, i16 16642, i16 16642, i16 16448, i16 16388, i16 16642, i16 16642, i16 16391, i16 16385, i16 16642, i16 16642, i16 16391, i16 16388, i16 16642, i16 16661, i16 16389, i16 16388, i16 16661, i16 16661, i16 16447, i16 16385, i16 16661, i16 16661, i16 16447, i16 16388, i16 16661, i16 16661, i16 16394, i16 16385, i16 16661, i16 16661, i16 16394, i16 16388, i16 16661, i16 16661, i16 16402, i16 16385, i16 16661, i16 16661, i16 16402, i16 16388, i16 16661, i16 16661, i16 16390, i16 16385, i16 16661, i16 16661, i16 16390, i16 16388, i16 16661, i16 16661, i16 16444, i16 16385, i16 16661, i16 16661, i16 16444, i16 16388, i16 16661, i16 16661, i16 16452, i16 16385, i16 16661, i16 16661, i16 16452, i16 16388, i16 16661, i16 16661, i16 16448, i16 16385, i16 16661, i16 16661, i16 16448, i16 16388, i16 16661, i16 16678, i16 16389, i16 16386, i16 16678, i16 16678, i16 16389, i16 16388, i16 16678, i16 16681, i16 16389, i16 16388, i16 16681, i16 16681, i16 16392, i16 16385, i16 16681, i16 16681, i16 16392, i16 16388, i16 16681, i16 16681, i16 16393, i16 16385, i16 16681, i16 16681, i16 16393, i16 16388, i16 16681, i16 16681, i16 16405, i16 16385, i16 16681, i16 16681, i16 16405, i16 16388, i16 16681, i16 16681, i16 16397, i16 16385, i16 16681, i16 16681, i16 16397, i16 16388, i16 16681, i16 16681, i16 16398, i16 16385, i16 16681, i16 16681, i16 16398, i16 16388, i16 16681, i16 16681, i16 16394, i16 16385, i16 16681, i16 16681, i16 16394, i16 16388, i16 16681, i16 16681, i16 16395, i16 16385, i16 16681, i16 16681, i16 16395, i16 16388, i16 16681, i16 16681, i16 16402, i16 16385, i16 16681, i16 16681, i16 16402, i16 16388, i16 16681, i16 16681, i16 16427, i16 16385, i16 16681, i16 16681, i16 16427, i16 16388, i16 16681, i16 16681, i16 16400, i16 16385, i16 16681, i16 16681, i16 16400, i16 16388, i16 16681, i16 16681, i16 16396, i16 16385, i16 16681, i16 16681, i16 16396, i16 16388, i16 16681, i16 16681, i16 16446, i16 16385, i16 16681, i16 16681, i16 16446, i16 16388, i16 16681, i16 16681, i16 16390, i16 16385, i16 16681, i16 16681, i16 16390, i16 16388, i16 16681, i16 16681, i16 16444, i16 16385, i16 16681, i16 16681, i16 16444, i16 16388, i16 16681, i16 16681, i16 16449, i16 16385, i16 16681, i16 16681, i16 16449, i16 16388, i16 16681, i16 16681, i16 16391, i16 16385, i16 16681, i16 16681, i16 16391, i16 16388, i16 16681, i16 18681, i16 18684, i16 18517, i16 18681, i16 18681, i16 18684, i16 18425, i16 18681, i16 16718, i16 16389, i16 16388, i16 16718, i16 16718, i16 16394, i16 16385, i16 16718, i16 16718, i16 16394, i16 16388, i16 16718, i16 16723, i16 16389, i16 16388, i16 16723, i16 16723, i16 16392, i16 16385, i16 16723, i16 16723, i16 16392, i16 16388, i16 16723, i16 16723, i16 16395, i16 16385, i16 16723, i16 16723, i16 16395, i16 16388, i16 16723, i16 16723, i16 16400, i16 16385, i16 16723, i16 16723, i16 16400, i16 16388, i16 16723, i16 16723, i16 16444, i16 16385, i16 16723, i16 16723, i16 16444, i16 16388, i16 16723, i16 16723, i16 16448, i16 16385, i16 16723, i16 16723, i16 16448, i16 16388, i16 16723, i16 16723, i16 16445, i16 16385, i16 16723, i16 16723, i16 16445, i16 16388, i16 16723, i16 16723, i16 32766, i16 16388, i16 16723, i16 16739, i16 16389, i16 16388, i16 16739, i16 16739, i16 16392, i16 16385, i16 16739, i16 16739, i16 16392, i16 16388, i16 16739, i16 16739, i16 16395, i16 16385, i16 16739, i16 16739, i16 16395, i16 16388, i16 16739, i16 16739, i16 16390, i16 16385, i16 16739, i16 16739, i16 16390, i16 16388, i16 16739, i16 16739, i16 16444, i16 16385, i16 16739, i16 16739, i16 16444, i16 16388, i16 16739, i16 16739, i16 16452, i16 16385, i16 16739, i16 16739, i16 16452, i16 16388, i16 16739, i16 16739, i16 16448, i16 16385, i16 16739, i16 16739, i16 16448, i16 16388, i16 16739, i16 16739, i16 16434, i16 16385, i16 16739, i16 16739, i16 16434, i16 16388, i16 16739, i16 16739, i16 16421, i16 16385, i16 16739, i16 16739, i16 16421, i16 16388, i16 16739, i16 16739, i16 16445, i16 16385, i16 16739, i16 16739, i16 16445, i16 16388, i16 16739, i16 16760, i16 16389, i16 16388, i16 16760, i16 16760, i16 16392, i16 16385, i16 16760, i16 16760, i16 16392, i16 16388, i16 16760, i16 16760, i16 16390, i16 16385, i16 16760, i16 16760, i16 16390, i16 16388, i16 16760, i16 16760, i16 16444, i16 16385, i16 16760, i16 16760, i16 16444, i16 16388, i16 16760, i16 16769, i16 16389, i16 16388, i16 16769, i16 16769, i16 16392, i16 16385, i16 16769, i16 16769, i16 16392, i16 16388, i16 16769, i16 16769, i16 16395, i16 16385, i16 16769, i16 16769, i16 16395, i16 16388, i16 16769, i16 16769, i16 16396, i16 16385, i16 16769, i16 16769, i16 16396, i16 16388, i16 16769, i16 16769, i16 16390, i16 16385, i16 16769, i16 16769, i16 16390, i16 16388, i16 16769, i16 16769, i16 16444, i16 16385, i16 16769, i16 16769, i16 16444, i16 16388, i16 16769, i16 16769, i16 16448, i16 16385, i16 16769, i16 16769, i16 16448, i16 16388, i16 16769, i16 16769, i16 16421, i16 16385, i16 16769, i16 16769, i16 16421, i16 16388, i16 16769, i16 16769, i16 16445, i16 16385, i16 16769, i16 16769, i16 16445, i16 16388, i16 16769, i16 16769, i16 16451, i16 16388, i16 16769, i16 18687, i16 18690, i16 18517, i16 18687, i16 18687, i16 18690, i16 18425, i16 18687, i16 16791, i16 16389, i16 16388, i16 16791, i16 16791, i16 16389, i16 32766, i16 16791, i16 16791, i16 16392, i16 16385, i16 16791, i16 16791, i16 16392, i16 16388, i16 16791, i16 16791, i16 16393, i16 16385, i16 16791, i16 16791, i16 16393, i16 16388, i16 16791, i16 16791, i16 16405, i16 16385, i16 16791, i16 16791, i16 16405, i16 16388, i16 16791, i16 16791, i16 16397, i16 16385, i16 16791, i16 16791, i16 16397, i16 16388, i16 16791, i16 16791, i16 16398, i16 16385, i16 16791, i16 16791, i16 16398, i16 16388, i16 16791, i16 16791, i16 16394, i16 16385, i16 16791, i16 16791, i16 16394, i16 16388, i16 16791, i16 16791, i16 16412, i16 16385, i16 16791, i16 16791, i16 16412, i16 16388, i16 16791, i16 16791, i16 16413, i16 16385, i16 16791, i16 16791, i16 16413, i16 16388, i16 16791, i16 16791, i16 16415, i16 16385, i16 16791, i16 16791, i16 16415, i16 16388, i16 16791, i16 16791, i16 16414, i16 16385, i16 16791, i16 16791, i16 16414, i16 16388, i16 16791, i16 16791, i16 16436, i16 16385, i16 16791, i16 16791, i16 16436, i16 16388, i16 16791, i16 16791, i16 16395, i16 16385, i16 16791, i16 16791, i16 16395, i16 16388, i16 16791, i16 16791, i16 16402, i16 16385, i16 16791, i16 16791, i16 16402, i16 16388, i16 16791, i16 16791, i16 16404, i16 16385, i16 16791, i16 16791, i16 16404, i16 16388, i16 16791, i16 16791, i16 16400, i16 16385, i16 16791, i16 16791, i16 16400, i16 16388, i16 16791, i16 16791, i16 16396, i16 16385, i16 16791, i16 16791, i16 16396, i16 16388, i16 16791, i16 16791, i16 16406, i16 16385, i16 16791, i16 16791, i16 16406, i16 16388, i16 16791, i16 16791, i16 16431, i16 16385, i16 16791, i16 16791, i16 16431, i16 16388, i16 16791, i16 16791, i16 16444, i16 16385, i16 16791, i16 16791, i16 16444, i16 16388, i16 16791, i16 16791, i16 16452, i16 16385, i16 16791, i16 16791, i16 16452, i16 16388, i16 16791, i16 16791, i16 16443, i16 16385, i16 16791, i16 16791, i16 16443, i16 16388, i16 16791, i16 16791, i16 16449, i16 16385, i16 16791, i16 16791, i16 16449, i16 16388, i16 16791, i16 16791, i16 16440, i16 16385, i16 16791, i16 16791, i16 16440, i16 16388, i16 16791, i16 16791, i16 16391, i16 16385, i16 16791, i16 16791, i16 16391, i16 16388, i16 16791, i16 16791, i16 16419, i16 16385, i16 16791, i16 16791, i16 16419, i16 16388, i16 16791, i16 16791, i16 16420, i16 16385, i16 16791, i16 16791, i16 16420, i16 16388, i16 16791, i16 16791, i16 16401, i16 16385, i16 16791, i16 16791, i16 16401, i16 16388, i16 16791, i16 16791, i16 16422, i16 16385, i16 16791, i16 16791, i16 16422, i16 16388, i16 16791, i16 16791, i16 16423, i16 16385, i16 16791, i16 16791, i16 16423, i16 16388, i16 16791, i16 16791, i16 16425, i16 16385, i16 16791, i16 16791, i16 16425, i16 16388, i16 16791, i16 16791, i16 16424, i16 16385, i16 16791, i16 16791, i16 16424, i16 16388, i16 16791, i16 16791, i16 16441, i16 16385, i16 16791, i16 16791, i16 16441, i16 16388, i16 16791, i16 18693, i16 18696, i16 18517, i16 18693, i16 18693, i16 18696, i16 18425, i16 18693, i16 16861, i16 16389, i16 16388, i16 16861, i16 16861, i16 16392, i16 16385, i16 16861, i16 16861, i16 16392, i16 16388, i16 16861, i16 16861, i16 16390, i16 16385, i16 16861, i16 16861, i16 16390, i16 16388, i16 16861, i16 16868, i16 16389, i16 16388, i16 16868, i16 16871, i16 16389, i16 16388, i16 16871, i16 16871, i16 16392, i16 16385, i16 16871, i16 16871, i16 16392, i16 16388, i16 16871, i16 16871, i16 16405, i16 16385, i16 16871, i16 16871, i16 16405, i16 16388, i16 16871, i16 16871, i16 16398, i16 16385, i16 16871, i16 16871, i16 16398, i16 16388, i16 16871, i16 16871, i16 16390, i16 16385, i16 16871, i16 16871, i16 16390, i16 16388, i16 16871, i16 16871, i16 16444, i16 16385, i16 16871, i16 16871, i16 16444, i16 16388, i16 16871, i16 16871, i16 16448, i16 16385, i16 16871, i16 16871, i16 16448, i16 16388, i16 16871, i16 16871, i16 16434, i16 16385, i16 16871, i16 16871, i16 16434, i16 16388, i16 16871, i16 16871, i16 16445, i16 16385, i16 16871, i16 16871, i16 16445, i16 16388, i16 16871, i16 16889, i16 16395, i16 16388, i16 16889, i16 16892, i16 16389, i16 16388, i16 16892, i16 18699, i16 18643, i16 18702, i16 18699, i16 16892, i16 16392, i16 16385, i16 16892, i16 16892, i16 16392, i16 16388, i16 16892, i16 16892, i16 16403, i16 16385, i16 16892, i16 16892, i16 16403, i16 16388, i16 16892, i16 16892, i16 16394, i16 16385, i16 16892, i16 16892, i16 16394, i16 16388, i16 16892, i16 16892, i16 16390, i16 16385, i16 16892, i16 16892, i16 16390, i16 16388, i16 16892, i16 16892, i16 16444, i16 16385, i16 16892, i16 16892, i16 16444, i16 16388, i16 16892, i16 16892, i16 16433, i16 16385, i16 16892, i16 16892, i16 16433, i16 16388, i16 16892, i16 16892, i16 16448, i16 16385, i16 16892, i16 16892, i16 16448, i16 16388, i16 16892, i16 16909, i16 16395, i16 16388, i16 16909, i16 16909, i16 16416, i16 16385, i16 16909, i16 16909, i16 16416, i16 16388, i16 16909, i16 16892, i16 32766, i16 16388, i16 16892, i16 18705, i16 18643, i16 18708, i16 18705, i16 18699, i16 18643, i16 18711, i16 16384, i16 16917, i16 16389, i16 16388, i16 16917, i16 16917, i16 16395, i16 16385, i16 16917, i16 16917, i16 16395, i16 16388, i16 16917, i16 16917, i16 16390, i16 16385, i16 16917, i16 16917, i16 16390, i16 16388, i16 16917, i16 16917, i16 16444, i16 16385, i16 16917, i16 16917, i16 16444, i16 16388, i16 16917, i16 16917, i16 16452, i16 16385, i16 16917, i16 16917, i16 16452, i16 16388, i16 16917, i16 16917, i16 16448, i16 16385, i16 16917, i16 16917, i16 16448, i16 16388, i16 16917, i16 16917, i16 16421, i16 16385, i16 16917, i16 16917, i16 16421, i16 16388, i16 16917, i16 16917, i16 16445, i16 16385, i16 16917, i16 16917, i16 16445, i16 16388, i16 16917, i16 18714, i16 18717, i16 18517, i16 18714, i16 18714, i16 18717, i16 18425, i16 18714, i16 16936, i16 16389, i16 16388, i16 16936, i16 16936, i16 16392, i16 16385, i16 16936, i16 16936, i16 16392, i16 16388, i16 16936, i16 16936, i16 16393, i16 16385, i16 16936, i16 16936, i16 16393, i16 16388, i16 16936, i16 16936, i16 16405, i16 16385, i16 16936, i16 16936, i16 16405, i16 16388, i16 16936, i16 16936, i16 16397, i16 16385, i16 16936, i16 16936, i16 16397, i16 16388, i16 16936, i16 16936, i16 16398, i16 16385, i16 16936, i16 16936, i16 16398, i16 16388, i16 16936, i16 16936, i16 16394, i16 16385, i16 16936, i16 16936, i16 16394, i16 16388, i16 16936, i16 16936, i16 16395, i16 16385, i16 16936, i16 16936, i16 16395, i16 16388, i16 16936, i16 16936, i16 16399, i16 16385, i16 16936, i16 16936, i16 16399, i16 16388, i16 16936, i16 16936, i16 16402, i16 16385, i16 16936, i16 16936, i16 16402, i16 16388, i16 16936, i16 16936, i16 16426, i16 16385, i16 16936, i16 16936, i16 16426, i16 16388, i16 16936, i16 16936, i16 16427, i16 16385, i16 16936, i16 16936, i16 16427, i16 16388, i16 16936, i16 16936, i16 16428, i16 16385, i16 16936, i16 16936, i16 16428, i16 16388, i16 16936, i16 16936, i16 16429, i16 16385, i16 16936, i16 16936, i16 16429, i16 16388, i16 16936, i16 16936, i16 16404, i16 16385, i16 16936, i16 16936, i16 16404, i16 16388, i16 16936, i16 16936, i16 16400, i16 16385, i16 16936, i16 16936, i16 16400, i16 16388, i16 16936, i16 16936, i16 16396, i16 16385, i16 16936, i16 16936, i16 16396, i16 16388, i16 16936, i16 16936, i16 16406, i16 16385, i16 16936, i16 16936, i16 16406, i16 16388, i16 16936, i16 16936, i16 16446, i16 16385, i16 16936, i16 16936, i16 16446, i16 16388, i16 16936, i16 16936, i16 16444, i16 16385, i16 16936, i16 16936, i16 16444, i16 16388, i16 16936, i16 16936, i16 16449, i16 16385, i16 16936, i16 16936, i16 16449, i16 16388, i16 16936, i16 16936, i16 16391, i16 16385, i16 16936, i16 16936, i16 16391, i16 16388, i16 16936, i16 16936, i16 16430, i16 16385, i16 16936, i16 16936, i16 16430, i16 16388, i16 16936, i16 16936, i16 16442, i16 16385, i16 16936, i16 16936, i16 16442, i16 16388, i16 16936, i16 16936, i16 16421, i16 16385, i16 16936, i16 16936, i16 16421, i16 16388, i16 16936, i16 16936, i16 16401, i16 16385, i16 16936, i16 16936, i16 16401, i16 16388, i16 16936, i16 16936, i16 16422, i16 16385, i16 16936, i16 16936, i16 16422, i16 16388, i16 16936, i16 16936, i16 16423, i16 16385, i16 16936, i16 16936, i16 16423, i16 16388, i16 16936, i16 16936, i16 16425, i16 16385, i16 16936, i16 16936, i16 16425, i16 16388, i16 16936, i16 16936, i16 16424, i16 16385, i16 16936, i16 16936, i16 16424, i16 16388, i16 16936, i16 16936, i16 16441, i16 16385, i16 16936, i16 16936, i16 16441, i16 16388, i16 16936, i16 16999, i16 16389, i16 16388, i16 16999, i16 16999, i16 16396, i16 16385, i16 16999, i16 16999, i16 16396, i16 16388, i16 16999, i16 16999, i16 16444, i16 16385, i16 16999, i16 16999, i16 16444, i16 16388, i16 16999, i16 17006, i16 16389, i16 16388, i16 17006, i16 17006, i16 16392, i16 16385, i16 17006, i16 17006, i16 16392, i16 16388, i16 17006, i16 17006, i16 16393, i16 16385, i16 17006, i16 17006, i16 16393, i16 16388, i16 17006, i16 17006, i16 16394, i16 16385, i16 17006, i16 17006, i16 16394, i16 16388, i16 17006, i16 17006, i16 16402, i16 16385, i16 17006, i16 17006, i16 16402, i16 16388, i16 17006, i16 17006, i16 16390, i16 16385, i16 17006, i16 17006, i16 16390, i16 16388, i16 17006, i16 17006, i16 16444, i16 16385, i16 17006, i16 17006, i16 16444, i16 16388, i16 17006, i16 17021, i16 16389, i16 16388, i16 17021, i16 17021, i16 16402, i16 16385, i16 17021, i16 17021, i16 16402, i16 16388, i16 17021, i16 17021, i16 16390, i16 16385, i16 17021, i16 17021, i16 16390, i16 16388, i16 17021, i16 17028, i16 16389, i16 16388, i16 17028, i16 17028, i16 16392, i16 16385, i16 17028, i16 17028, i16 16392, i16 16388, i16 17028, i16 17028, i16 16393, i16 16385, i16 17028, i16 17028, i16 16393, i16 16388, i16 17028, i16 17028, i16 16394, i16 16385, i16 17028, i16 17028, i16 16394, i16 16388, i16 17028, i16 17028, i16 16402, i16 16385, i16 17028, i16 17028, i16 16402, i16 16388, i16 17028, i16 17028, i16 16400, i16 16385, i16 17028, i16 17028, i16 16400, i16 16388, i16 17028, i16 17028, i16 16396, i16 16385, i16 17028, i16 17028, i16 16396, i16 16388, i16 17028, i16 17028, i16 16390, i16 16385, i16 17028, i16 17028, i16 16390, i16 16388, i16 17028, i16 17028, i16 16444, i16 16385, i16 17028, i16 17028, i16 16444, i16 16388, i16 17028, i16 17047, i16 16389, i16 16388, i16 17047, i16 17047, i16 16392, i16 16385, i16 17047, i16 17047, i16 16392, i16 16388, i16 17047, i16 17047, i16 16394, i16 16385, i16 17047, i16 17047, i16 16394, i16 16388, i16 17047, i16 17047, i16 16390, i16 16385, i16 17047, i16 17047, i16 16390, i16 16388, i16 17047, i16 17047, i16 16444, i16 16385, i16 17047, i16 17047, i16 16444, i16 16388, i16 17047, i16 17047, i16 16452, i16 16385, i16 17047, i16 17047, i16 16452, i16 16388, i16 17047, i16 17047, i16 16445, i16 16385, i16 17047, i16 17047, i16 16445, i16 16388, i16 17047, i16 17062, i16 16395, i16 16388, i16 17062, i16 32766, i16 32766, i16 16384, i16 32766, i16 17064, i16 32766, i16 16384, i16 17064, i16 17073, i16 32766, i16 16384, i16 17073, i16 17074, i16 32766, i16 16384, i16 17074, i16 17075, i16 32766, i16 16384, i16 17075, i16 17076, i16 32766, i16 16384, i16 17076, i16 17077, i16 32766, i16 16384, i16 17077, i16 17078, i16 32766, i16 16384, i16 17078, i16 17079, i16 32766, i16 16384, i16 17079, i16 17080, i16 32766, i16 16384, i16 17080, i16 17081, i16 32766, i16 16384, i16 17081, i16 16384, i16 16384, i16 16384, i16 17133, i16 16384, i16 16384, i16 16384, i16 17135, i16 16384, i16 16384, i16 16384, i16 17197, i16 16384, i16 16384, i16 16384, i16 16384, i16 32766, i16 16385, i16 16453, i16 32766, i16 17723, i16 16385, i16 16454, i16 17723, i16 17723, i16 16388, i16 16453, i16 17723, i16 17723, i16 16388, i16 16454, i16 17723, i16 17727, i16 16388, i16 16453, i16 17727, i16 17729, i16 16388, i16 16453, i16 17729, i16 17731, i16 16388, i16 16453, i16 17731, i16 17733, i16 16385, i16 16454, i16 17733, i16 17733, i16 16388, i16 16453, i16 17733, i16 17733, i16 16388, i16 16454, i16 17733, i16 17737, i16 16388, i16 16453, i16 17737, i16 17739, i16 16385, i16 16454, i16 17739, i16 17739, i16 16388, i16 16453, i16 17739, i16 17739, i16 16388, i16 16454, i16 17739, i16 17743, i16 16388, i16 16453, i16 17743, i16 17745, i16 16385, i16 16454, i16 17745, i16 17745, i16 16385, i16 16455, i16 17745, i16 17745, i16 16388, i16 16453, i16 17745, i16 17745, i16 16388, i16 16454, i16 17745, i16 17745, i16 16388, i16 16455, i16 17745, i16 17745, i16 16388, i16 16456, i16 17745, i16 17752, i16 16388, i16 16453, i16 17752, i16 17754, i16 16388, i16 16453, i16 17754, i16 17756, i16 16388, i16 16453, i16 17756, i16 17758, i16 16388, i16 16453, i16 17758, i16 17760, i16 16388, i16 16453, i16 17760, i16 17762, i16 16385, i16 16454, i16 17762, i16 17762, i16 16388, i16 16453, i16 17762, i16 17762, i16 16388, i16 16454, i16 17762, i16 17766, i16 16388, i16 16453, i16 17766, i16 17768, i16 16388, i16 16453, i16 17768, i16 17770, i16 16388, i16 16453, i16 17770, i16 17770, i16 16388, i16 32766, i16 17770, i16 17773, i16 16388, i16 16453, i16 17773, i16 17775, i16 16385, i16 16454, i16 17775, i16 17775, i16 16385, i16 16455, i16 17775, i16 17775, i16 16388, i16 16453, i16 17775, i16 17775, i16 16388, i16 16454, i16 17775, i16 17775, i16 16388, i16 16455, i16 17775, i16 17775, i16 16388, i16 16456, i16 17775, i16 17782, i16 16388, i16 16453, i16 17782, i16 17784, i16 16388, i16 16453, i16 17784, i16 17786, i16 16388, i16 16453, i16 17786, i16 17788, i16 16385, i16 16454, i16 17788, i16 17788, i16 16388, i16 16453, i16 17788, i16 17788, i16 16388, i16 16454, i16 17788, i16 32766, i16 16457, i16 16385, i16 32766, i16 17792, i16 16457, i16 16388, i16 17792, i16 17794, i16 16457, i16 16388, i16 17794, i16 17796, i16 16457, i16 16388, i16 17796, i16 17798, i16 16457, i16 16388, i16 17798, i16 17800, i16 16457, i16 16388, i16 17800, i16 17802, i16 16457, i16 16388, i16 17802, i16 17804, i16 16457, i16 16388, i16 17804, i16 17806, i16 16457, i16 16388, i16 17806, i16 17808, i16 16457, i16 16388, i16 17808, i16 17810, i16 16457, i16 16388, i16 17810, i16 17812, i16 16457, i16 16388, i16 17812, i16 17814, i16 16457, i16 16388, i16 17814, i16 17816, i16 16457, i16 16388, i16 17816, i16 17818, i16 16457, i16 16388, i16 17818, i16 17820, i16 16457, i16 16388, i16 17820, i16 17822, i16 16457, i16 16388, i16 17822, i16 17824, i16 16457, i16 16388, i16 17824, i16 17826, i16 16457, i16 16388, i16 17826, i16 17828, i16 16457, i16 16388, i16 17828, i16 17830, i16 16457, i16 16388, i16 17830, i16 17832, i16 16457, i16 16388, i16 17832, i16 17834, i16 16457, i16 16388, i16 17834, i16 17836, i16 16457, i16 16388, i16 17836, i16 17838, i16 16457, i16 16388, i16 17838, i16 17840, i16 16457, i16 16388, i16 17840, i16 17842, i16 16457, i16 16388, i16 17842, i16 17844, i16 16457, i16 16388, i16 17844, i16 17846, i16 16457, i16 16388, i16 17846, i16 17848, i16 16457, i16 16388, i16 17848, i16 17850, i16 16457, i16 16388, i16 17850, i16 17852, i16 16457, i16 16388, i16 17852, i16 17854, i16 16457, i16 16388, i16 17854, i16 17856, i16 16457, i16 16388, i16 17856, i16 17858, i16 16457, i16 16388, i16 17858, i16 17860, i16 16457, i16 16388, i16 17860, i16 17862, i16 16457, i16 16388, i16 17862, i16 17864, i16 16457, i16 16388, i16 17864, i16 17866, i16 16457, i16 16388, i16 17866, i16 17868, i16 16457, i16 16388, i16 17868, i16 17870, i16 16457, i16 16388, i16 17870, i16 17872, i16 16457, i16 16388, i16 17872, i16 32766, i16 16457, i16 16388, i16 32766, i16 17874, i16 16457, i16 16385, i16 17874, i16 17876, i16 16457, i16 16388, i16 17876, i16 17878, i16 16457, i16 16385, i16 17878, i16 17880, i16 16457, i16 16388, i16 17880, i16 17882, i16 16457, i16 16388, i16 17882, i16 17884, i16 16457, i16 16388, i16 17884, i16 17886, i16 16457, i16 16388, i16 17886, i16 17888, i16 16457, i16 16388, i16 17888, i16 17890, i16 16457, i16 16388, i16 17890, i16 17892, i16 16457, i16 16388, i16 17892, i16 17894, i16 16457, i16 16388, i16 17894, i16 32766, i16 16384, i16 16384, i16 32766, i16 17928, i16 32766, i16 16384, i16 17928, i16 17927, i16 32766, i16 16384, i16 17927, i16 17937, i16 32766, i16 16384, i16 17937, i16 17941, i16 32766, i16 16384, i16 17941, i16 17948, i16 32766, i16 16384, i16 17948, i16 17956, i16 32766, i16 16384, i16 17956, i16 17961, i16 32766, i16 16384, i16 17961, i16 17966, i16 32766, i16 16384, i16 17966, i16 17971, i16 32766, i16 16384, i16 17971, i16 17976, i16 32766, i16 16384, i16 17976, i16 17979, i16 32766, i16 16384, i16 17979, i16 17982, i16 32766, i16 16384, i16 17982, i16 17985, i16 32766, i16 16384, i16 17985, i16 17988, i16 32766, i16 16384, i16 17988, i16 17993, i16 32766, i16 16384, i16 17993, i16 17998, i16 32766, i16 16384, i16 17998, i16 18003, i16 32766, i16 16384, i16 18003, i16 18008, i16 32766, i16 16384, i16 18008, i16 18013, i16 32766, i16 16384, i16 18013, i16 18018, i16 32766, i16 16384, i16 18018, i16 18023, i16 32766, i16 16384, i16 18023, i16 18028, i16 32766, i16 16384, i16 18028, i16 18033, i16 32766, i16 16384, i16 18033, i16 18038, i16 32766, i16 16384, i16 18038, i16 18043, i16 32766, i16 16384, i16 18043, i16 18048, i16 32766, i16 16384, i16 18048, i16 18053, i16 32766, i16 16384, i16 18053, i16 18058, i16 32766, i16 16384, i16 18058, i16 18063, i16 32766, i16 16384, i16 18063, i16 18066, i16 32766, i16 16384, i16 18066, i16 18069, i16 32766, i16 16384, i16 18069, i16 16384, i16 16384, i16 32766, i16 32766, i16 18720, i16 18720, i16 18723, i16 18720, i16 18720, i16 18726, i16 18729, i16 18720, i16 18732, i16 18732, i16 18735, i16 18732, i16 18732, i16 18738, i16 18741, i16 18732, i16 18744, i16 18744, i16 18747, i16 18744, i16 18744, i16 18750, i16 18753, i16 18744, i16 18756, i16 18759, i16 18762, i16 18756, i16 18756, i16 18765, i16 18768, i16 18756, i16 18101, i16 32766, i16 16384, i16 18101, i16 18105, i16 32766, i16 16384, i16 18105, i16 18109, i16 32766, i16 16384, i16 18109, i16 18114, i16 32766, i16 16384, i16 18114, i16 18118, i16 32766, i16 16384, i16 18118, i16 18122, i16 32766, i16 16384, i16 18122, i16 18127, i16 32766, i16 16384, i16 18127, i16 18131, i16 32766, i16 16384, i16 18131, i16 18135, i16 32766, i16 16384, i16 18135, i16 18140, i16 32766, i16 16384, i16 18140, i16 18144, i16 32766, i16 16384, i16 18144, i16 18148, i16 32766, i16 16384, i16 18148, i16 18152, i16 32766, i16 16384, i16 18152, i16 18156, i16 32766, i16 16384, i16 18156, i16 18160, i16 32766, i16 16384, i16 18160, i16 18164, i16 32766, i16 16384, i16 18164, i16 18168, i16 32766, i16 16384, i16 18168, i16 18172, i16 32766, i16 16384, i16 18172, i16 18178, i16 32766, i16 16384, i16 18178, i16 18182, i16 32766, i16 16384, i16 18182, i16 18186, i16 32766, i16 16384, i16 18186, i16 18188, i16 32766, i16 16384, i16 18188, i16 18190, i16 32766, i16 16384, i16 18190, i16 18192, i16 32766, i16 16384, i16 18192, i16 18194, i16 32766, i16 16384, i16 18194, i16 18196, i16 32766, i16 16384, i16 18196, i16 18202, i16 32766, i16 16384, i16 18202, i16 18208, i16 32766, i16 16384, i16 18208, i16 18214, i16 32766, i16 16384, i16 18214, i16 18220, i16 32766, i16 16384, i16 18220, i16 18226, i16 32766, i16 16384, i16 18226, i16 18228, i16 32766, i16 16384, i16 18228, i16 18230, i16 32766, i16 16384, i16 18230, i16 18232, i16 32766, i16 16384, i16 18232, i16 18234, i16 32766, i16 16384, i16 18234, i16 18236, i16 32766, i16 16384, i16 18236, i16 18240, i16 32766, i16 16384, i16 18240, i16 18244, i16 32766, i16 16384, i16 18244, i16 18248, i16 32766, i16 16384, i16 18248, i16 18250, i16 32766, i16 16384, i16 18250, i16 18252, i16 32766, i16 16384, i16 18252, i16 18254, i16 32766, i16 16384, i16 18254, i16 18256, i16 32766, i16 16384, i16 18256, i16 18258, i16 32766, i16 16384, i16 18258, i16 18262, i16 32766, i16 16384, i16 18262, i16 18264, i16 32766, i16 16384, i16 18264, i16 18266, i16 32766, i16 16384, i16 18266, i16 18268, i16 32766, i16 16384, i16 18268, i16 32766, i16 32766, i16 16384, i16 16384, i16 16396, i16 32766, i16 16384, i16 16384, i16 16398, i16 32766, i16 16384, i16 16384, i16 16400, i16 32766, i16 16384, i16 16384, i16 16402, i16 32766, i16 16384, i16 16384, i16 16404, i16 32766, i16 16384, i16 16384, i16 16406, i16 32766, i16 16384, i16 16384, i16 16408, i16 32766, i16 16384, i16 16384, i16 16410, i16 32766, i16 16384, i16 16384, i16 16412, i16 32766, i16 16384, i16 16384, i16 16414, i16 32766, i16 16384, i16 16384, i16 16416, i16 32766, i16 16384, i16 16384, i16 16418, i16 32766, i16 16384, i16 16384, i16 16420, i16 32766, i16 16384, i16 16384, i16 16422, i16 32766, i16 16384, i16 16384, i16 16424, i16 32766, i16 16384, i16 16384, i16 16426, i16 32766, i16 16384, i16 16384, i16 16428, i16 32766, i16 16384, i16 16384, i16 16430, i16 32766, i16 16384, i16 16384, i16 16432, i16 32766, i16 16384, i16 16384, i16 16434, i16 32766, i16 16384, i16 16384, i16 16436, i16 32766, i16 16384, i16 16384, i16 16438, i16 32766, i16 16384, i16 16384, i16 16440, i16 32766, i16 16384, i16 16384, i16 16442, i16 32766, i16 16384, i16 16384, i16 16444, i16 32766, i16 16384, i16 16384, i16 16446, i16 32766, i16 16384, i16 16384, i16 16384, i16 32766, i16 16384, i16 16384, i16 16384, i16 16384, i16 32766, i16 16384, i16 16384, i16 32766, i16 16385, i16 16385, i16 32766, i16 16385, i16 16385, i16 16385, i16 16438, i16 16386, i16 16385, i16 16385, i16 16440, i16 16386, i16 16385, i16 16385, i16 16442, i16 16386, i16 16385, i16 16385, i16 16444, i16 16386, i16 16385, i16 16385, i16 16446, i16 16386, i16 16385, i16 16385, i16 16448, i16 16386, i16 16385, i16 16385, i16 16450, i16 16386, i16 16385, i16 16385, i16 16452, i16 16386, i16 16385, i16 16385, i16 16454, i16 16386, i16 16385, i16 16385, i16 16456, i16 16386, i16 16385, i16 16385, i16 32766, i16 16385, i16 16385, i16 16387, i16 16458, i16 16385, i16 16385, i16 16388, i16 16460, i16 16385, i16 16385, i16 16388, i16 16462, i16 16385, i16 16385, i16 16388, i16 16464, i16 16385, i16 16385, i16 16388, i16 16466, i16 16385, i16 16385, i16 16388, i16 16468, i16 16385, i16 16385, i16 16388, i16 16470, i16 16385, i16 16385, i16 16388, i16 16472, i16 16385, i16 16385, i16 16388, i16 16474, i16 16385, i16 16385, i16 16388, i16 16476, i16 16385, i16 16385, i16 16388, i16 16478, i16 16385, i16 16385, i16 16388, i16 16480, i16 16385, i16 16385, i16 16388, i16 16482, i16 16385, i16 16385, i16 16388, i16 16484, i16 16385, i16 16385, i16 16388, i16 16486, i16 16385, i16 16385, i16 16388, i16 16488, i16 16385, i16 16385, i16 16388, i16 16490, i16 16385, i16 16385, i16 16388, i16 16492, i16 16385, i16 16385, i16 16388, i16 16494, i16 16385, i16 16385, i16 16388, i16 16496, i16 16385, i16 16385, i16 16388, i16 16498, i16 16385, i16 16385, i16 16388, i16 16500, i16 16385, i16 16385, i16 16388, i16 16502, i16 16385, i16 16385, i16 16388, i16 16504, i16 16385, i16 16385, i16 16388, i16 16506, i16 16385, i16 16385, i16 16388, i16 16508, i16 16385, i16 16385, i16 16388, i16 17294, i16 16385, i16 16385, i16 16385, i16 17297, i16 16385, i16 16385, i16 16385, i16 17300, i16 16385, i16 16385, i16 16385, i16 17303, i16 16385, i16 16385, i16 16385, i16 17306, i16 16385, i16 16385, i16 16385, i16 17309, i16 16385, i16 16385, i16 16385, i16 17312, i16 16385, i16 16385, i16 16385, i16 17315, i16 16385, i16 16385, i16 16385, i16 17318, i16 16385, i16 16385, i16 16385, i16 17321, i16 16385, i16 16385, i16 16385, i16 17324, i16 16385, i16 16385, i16 16385, i16 17327, i16 16385, i16 16385, i16 16385, i16 17330, i16 16385, i16 16385, i16 16385, i16 17333, i16 16385, i16 16385, i16 16385, i16 17336, i16 16385, i16 16385, i16 16385, i16 17339, i16 16385, i16 16385, i16 16385, i16 17342, i16 16385, i16 16385, i16 16385, i16 17345, i16 16385, i16 16385, i16 16385, i16 17348, i16 16385, i16 16385, i16 16385, i16 17351, i16 16385, i16 16385, i16 16385, i16 17354, i16 16385, i16 16385, i16 16385, i16 17357, i16 16385, i16 16385, i16 16385, i16 17360, i16 16385, i16 16385, i16 16385, i16 17363, i16 16385, i16 16385, i16 16385, i16 17366, i16 16385, i16 16385, i16 16385, i16 17369, i16 16385, i16 16385, i16 16385, i16 17372, i16 16385, i16 16385, i16 16385, i16 17375, i16 16385, i16 16385, i16 16385, i16 17378, i16 16385, i16 16385, i16 16385, i16 17381, i16 16385, i16 16385, i16 16385, i16 17384, i16 16385, i16 16385, i16 16385, i16 17387, i16 16385, i16 16385, i16 16385, i16 17390, i16 16385, i16 16385, i16 16385, i16 17393, i16 16385, i16 16385, i16 16385, i16 17396, i16 16385, i16 16385, i16 16385, i16 17399, i16 16385, i16 16385, i16 16385, i16 17402, i16 16385, i16 16385, i16 16385, i16 17405, i16 16385, i16 16385, i16 16385, i16 17408, i16 16385, i16 16385, i16 16385, i16 17411, i16 16385, i16 16385, i16 16385, i16 17414, i16 16385, i16 16385, i16 16385, i16 17417, i16 16385, i16 16385, i16 16385, i16 17420, i16 16385, i16 16385, i16 16385, i16 17423, i16 16385, i16 16385, i16 16385, i16 17426, i16 16385, i16 16385, i16 16385, i16 17429, i16 16385, i16 16385, i16 16385, i16 17432, i16 16385, i16 16385, i16 16385, i16 17435, i16 16385, i16 16385, i16 16385, i16 17438, i16 16385, i16 16385, i16 16385, i16 17441, i16 16385, i16 16385, i16 16385, i16 17444, i16 16385, i16 16385, i16 16385, i16 17447, i16 16385, i16 16385, i16 16385, i16 17450, i16 16385, i16 16385, i16 16385, i16 17453, i16 16385, i16 16385, i16 16385, i16 17456, i16 16385, i16 16385, i16 16385, i16 17459, i16 16385, i16 16385, i16 16385, i16 17462, i16 16385, i16 16385, i16 16385, i16 17465, i16 16385, i16 16385, i16 16385, i16 17468, i16 16385, i16 16385, i16 16385, i16 17471, i16 16385, i16 16385, i16 16385, i16 17474, i16 16385, i16 16385, i16 16385, i16 17477, i16 16385, i16 16385, i16 16385, i16 17480, i16 16385, i16 16385, i16 16385, i16 17483, i16 16385, i16 16385, i16 16385, i16 17486, i16 16385, i16 16385, i16 16385, i16 17489, i16 16385, i16 16385, i16 16385, i16 17492, i16 16385, i16 16385, i16 16385, i16 17495, i16 16385, i16 16385, i16 16385, i16 17498, i16 16385, i16 16385, i16 16385, i16 17501, i16 16385, i16 16385, i16 16385, i16 17504, i16 16385, i16 16385, i16 16385, i16 17507, i16 16385, i16 16385, i16 16385, i16 17510, i16 16385, i16 16385, i16 16385, i16 17513, i16 16385, i16 16385, i16 16385, i16 17516, i16 16385, i16 16385, i16 16385, i16 17519, i16 16385, i16 16385, i16 16385, i16 17522, i16 16385, i16 16385, i16 16385, i16 17525, i16 16385, i16 16385, i16 16385, i16 17528, i16 16385, i16 16385, i16 16385, i16 17531, i16 16385, i16 16385, i16 16385, i16 17534, i16 16385, i16 16385, i16 16385, i16 17537, i16 16385, i16 16385, i16 16385, i16 17540, i16 16385, i16 16385, i16 16385, i16 17543, i16 16385, i16 16385, i16 16385, i16 17546, i16 16385, i16 16385, i16 16385, i16 17549, i16 16385, i16 16385, i16 16385, i16 17552, i16 16385, i16 16385, i16 16385, i16 17555, i16 16385, i16 16385, i16 16385, i16 17558, i16 16385, i16 16385, i16 16385, i16 17561, i16 16385, i16 16385, i16 16385, i16 17564, i16 16385, i16 16385, i16 16385, i16 17567, i16 16385, i16 16385, i16 16385, i16 17570, i16 16385, i16 16385, i16 16385, i16 17573, i16 16385, i16 16385, i16 16385, i16 17576, i16 16385, i16 16385, i16 16385, i16 17579, i16 16385, i16 16385, i16 16385, i16 17582, i16 16385, i16 16385, i16 16385, i16 17585, i16 16385, i16 16385, i16 16385, i16 17588, i16 16385, i16 16385, i16 16385, i16 17591, i16 16385, i16 16385, i16 16385, i16 17594, i16 16385, i16 16385, i16 16385, i16 17597, i16 16385, i16 16385, i16 16385, i16 17600, i16 16385, i16 16385, i16 16385, i16 17603, i16 16385, i16 16385, i16 16385, i16 17606, i16 16385, i16 16385, i16 16385, i16 17609, i16 16385, i16 16385, i16 16385, i16 17612, i16 16385, i16 16385, i16 16385, i16 17615, i16 16385, i16 16385, i16 16385, i16 17618, i16 16385, i16 16385, i16 16385, i16 17621, i16 16385, i16 16385, i16 16385, i16 17624, i16 16385, i16 16385, i16 16385, i16 17627, i16 16385, i16 16385, i16 16385, i16 17630, i16 16385, i16 16385, i16 16385, i16 17633, i16 16385, i16 16385, i16 16385, i16 17636, i16 16385, i16 16385, i16 16385, i16 17639, i16 16385, i16 16385, i16 16385, i16 17642, i16 16385, i16 16385, i16 16385, i16 17645, i16 16385, i16 16385, i16 16385, i16 17648, i16 16385, i16 16385, i16 16385, i16 17651, i16 16385, i16 16385, i16 16385, i16 17654, i16 16385, i16 16385, i16 16385, i16 17657, i16 16385, i16 16385, i16 16385, i16 17660, i16 16385, i16 16385, i16 16385, i16 17663, i16 16385, i16 16385, i16 16385, i16 17666, i16 16385, i16 16385, i16 16385, i16 17669, i16 16385, i16 16385, i16 16385, i16 17672, i16 16385, i16 16385, i16 16385, i16 17675, i16 16385, i16 16385, i16 16385, i16 17678, i16 16385, i16 16385, i16 16385, i16 17681, i16 16385, i16 16385, i16 16385, i16 17684, i16 16385, i16 16385, i16 16385, i16 17687, i16 16385, i16 16385, i16 16385, i16 17690, i16 16385, i16 16385, i16 16385, i16 17693, i16 16385, i16 16385, i16 16385, i16 17696, i16 16385, i16 16385, i16 16385, i16 17699, i16 16385, i16 16385, i16 16385, i16 17702, i16 16385, i16 16385, i16 16385, i16 17705, i16 16385, i16 16385, i16 16385, i16 17708, i16 16385, i16 16385, i16 16385, i16 17711, i16 16385, i16 16385, i16 16385, i16 17714, i16 16385, i16 16385, i16 16385, i16 17717, i16 16385, i16 16385, i16 16385, i16 17720, i16 16385, i16 16385, i16 16385, i16 17723, i16 16385, i16 16385, i16 16385, i16 17726, i16 16385, i16 16385, i16 16385, i16 17729, i16 16385, i16 16385, i16 16385, i16 17732, i16 16385, i16 16385, i16 16385, i16 17735, i16 16385, i16 16385, i16 16385, i16 17738, i16 16385, i16 16385, i16 16385, i16 17741, i16 16385, i16 16385, i16 16385, i16 17744, i16 16385, i16 16385, i16 16385, i16 17747, i16 16385, i16 16385, i16 16385, i16 17750, i16 16385, i16 16385, i16 16385, i16 17753, i16 16385, i16 16385, i16 16385, i16 17756, i16 16385, i16 16385, i16 16385, i16 17759, i16 16385, i16 16385, i16 16385, i16 17762, i16 16385, i16 16385, i16 16385, i16 17765, i16 16385, i16 16385, i16 16385, i16 17768, i16 16385, i16 16385, i16 16385, i16 17771, i16 16385, i16 16385, i16 16385, i16 17774, i16 16385, i16 16385, i16 16385, i16 17777, i16 16385, i16 16385, i16 16385, i16 17780, i16 16385, i16 16385, i16 16385, i16 17783, i16 16385, i16 16385, i16 16385, i16 17786, i16 16385, i16 16385, i16 16385, i16 17789, i16 16385, i16 16385, i16 16385, i16 17792, i16 16385, i16 16385, i16 16385, i16 17795, i16 16385, i16 16385, i16 16385, i16 17798, i16 16385, i16 16385, i16 16385, i16 17801, i16 16385, i16 16385, i16 16385, i16 17804, i16 16385, i16 16385, i16 16385, i16 17807, i16 16385, i16 16385, i16 16385, i16 17810, i16 16385, i16 16385, i16 16385, i16 17813, i16 16385, i16 16385, i16 16385, i16 17816, i16 16385, i16 16385, i16 16385, i16 17819, i16 16385, i16 16385, i16 16385, i16 17822, i16 16385, i16 16385, i16 16385, i16 17825, i16 16385, i16 16385, i16 16385, i16 17828, i16 16385, i16 16385, i16 16385, i16 17831, i16 16385, i16 16385, i16 16385, i16 17834, i16 16385, i16 16385, i16 16385, i16 17837, i16 16385, i16 16385, i16 16385, i16 17840, i16 16385, i16 16385, i16 16385, i16 17843, i16 16385, i16 16385, i16 16385, i16 17846, i16 16385, i16 16385, i16 16385, i16 17849, i16 16385, i16 16385, i16 16385, i16 17852, i16 16385, i16 16385, i16 16385, i16 17855, i16 16385, i16 16385, i16 16385, i16 17858, i16 16385, i16 16385, i16 16385, i16 17861, i16 16385, i16 16385, i16 16385, i16 17864, i16 16385, i16 16385, i16 16385, i16 17867, i16 16385, i16 16385, i16 16385, i16 17870, i16 16385, i16 16385, i16 16385, i16 17873, i16 16385, i16 16385, i16 16385, i16 17876, i16 16385, i16 16385, i16 16385, i16 17879, i16 16385, i16 16385, i16 16385, i16 17882, i16 16385, i16 16385, i16 16385, i16 17885, i16 16385, i16 16385, i16 16385, i16 17888, i16 16385, i16 16385, i16 16385, i16 17891, i16 16385, i16 16385, i16 16385, i16 17894, i16 16385, i16 16385, i16 16385, i16 17897, i16 16385, i16 16385, i16 16385, i16 17900, i16 16385, i16 16385, i16 16385, i16 17903, i16 16385, i16 16385, i16 16385, i16 17906, i16 16385, i16 16385, i16 16385, i16 17909, i16 16385, i16 16385, i16 16385, i16 17912, i16 16385, i16 16385, i16 16385, i16 17915, i16 16385, i16 16385, i16 16385, i16 17918, i16 16385, i16 16385, i16 16385, i16 17921, i16 16385, i16 16385, i16 16385, i16 17924, i16 16385, i16 16385, i16 16385, i16 17927, i16 16385, i16 16385, i16 16385, i16 17930, i16 16385, i16 16385, i16 16385, i16 17933, i16 16385, i16 16385, i16 16385, i16 17936, i16 16385, i16 16385, i16 16385, i16 17939, i16 16385, i16 16385, i16 16385, i16 17942, i16 16385, i16 16385, i16 16385, i16 17945, i16 16385, i16 16385, i16 16385, i16 17948, i16 16385, i16 16385, i16 16385, i16 17951, i16 16385, i16 16385, i16 16385, i16 16779, i16 16385, i16 16385, i16 16389, i16 32767, i16 16384, i16 16384, i16 16384, i16 17284, i16 17285, i16 0, i16 895, i16 895, i16 0, i16 17273, i16 17273, i16 0, i16 16434, i16 16428, i16 0, i16 16393, i16 16393, i16 0, i16 97, i16 905, i16 0, i16 14, i16 14, i16 0, i16 3, i16 3, i16 0, i16 4, i16 3, i16 0, i16 5, i16 3, i16 0, i16 6, i16 3, i16 0, i16 16425, i16 16428, i16 0, i16 16433, i16 17283, i16 0, i16 16437, i16 16437, i16 0, i16 16481, i16 17289, i16 0, i16 16398, i16 16398, i16 0, i16 91, i16 906, i16 0, i16 14, i16 13, i16 0, i16 3, i16 4, i16 0, i16 4, i16 4, i16 0, i16 14, i16 890, i16 0, i16 14, i16 892, i16 0, i16 16488, i16 16488, i16 0, i16 17279, i16 17279, i16 0, i16 16488, i16 16492, i16 0, i16 16492, i16 16492, i16 0, i16 17797, i16 17797, i16 0, i16 16393, i16 17601, i16 0, i16 16393, i16 17600, i16 0, i16 16393, i16 17273, i16 0, i16 17273, i16 16393, i16 0, i16 17273, i16 17601, i16 0, i16 17273, i16 17600, i16 0, i16 17798, i16 17798, i16 0, i16 17799, i16 17799, i16 0, i16 16393, i16 17796, i16 0, i16 16393, i16 17795, i16 0, i16 16393, i16 17794, i16 0, i16 16393, i16 17793, i16 0, i16 17273, i16 17796, i16 0, i16 17273, i16 17795, i16 0, i16 17273, i16 17794, i16 0, i16 17273, i16 17793, i16 0, i16 17800, i16 17800, i16 0, i16 17801, i16 17801, i16 0, i16 17802, i16 17802, i16 0, i16 17804, i16 17804, i16 0, i16 17805, i16 17805, i16 0, i16 17807, i16 17807, i16 0, i16 16475, i16 17934, i16 0, i16 16387, i16 16388, i16 0, i16 16388, i16 16388, i16 0, i16 16475, i16 17289, i16 0, i16 16398, i16 17274, i16 0, i16 16398, i16 17276, i16 0, i16 16475, i16 17290, i16 0, i16 16458, i16 17935, i16 17290, i16 16475, i16 0, i16 17279, i16 17279, i16 17279, i16 17279, i16 0, i16 16389, i16 16390, i16 16388, i16 16387, i16 0, i16 17296, i16 17302, i16 0, i16 17329, i16 17279, i16 0, i16 17296, i16 17303, i16 0, i16 17311, i16 17334, i16 0, i16 17314, i16 17334, i16 0, i16 17193, i16 17193, i16 0, i16 2, i16 2, i16 0, i16 17200, i16 17200, i16 0, i16 17193, i16 18178, i16 0, i16 17201, i16 17201, i16 0, i16 17193, i16 17285, i16 0, i16 17202, i16 17202, i16 0, i16 17193, i16 17193, i16 18178, i16 0, i16 2, i16 2, i16 2, i16 0, i16 17203, i16 17203, i16 17203, i16 0, i16 17193, i16 17193, i16 17285, i16 0, i16 17204, i16 17204, i16 17204, i16 0, i16 18178, i16 17267, i16 0, i16 881, i16 881, i16 0, i16 16385, i16 16385, i16 0, i16 18080, i16 18080, i16 0, i16 17408, i16 17427, i16 0, i16 17410, i16 17410, i16 0, i16 17408, i16 17408, i16 0, i16 18080, i16 17425, i16 0, i16 17426, i16 17426, i16 0, i16 17851, i16 17736, i16 0, i16 1467, i16 1352, i16 0, i16 17901, i16 17901, i16 0, i16 1467, i16 1353, i16 0, i16 17902, i16 17902, i16 0, i16 17851, i16 17738, i16 0, i16 1467, i16 1354, i16 0, i16 17903, i16 17903, i16 0, i16 1467, i16 1355, i16 0, i16 17904, i16 17904, i16 0, i16 17851, i16 17741, i16 0, i16 1467, i16 1357, i16 0, i16 17905, i16 17905, i16 0, i16 1467, i16 1358, i16 0, i16 17906, i16 17906, i16 0, i16 17851, i16 17745, i16 0, i16 1467, i16 1362, i16 0, i16 17907, i16 17907, i16 0, i16 1467, i16 1363, i16 0, i16 17908, i16 17908, i16 0, i16 17065, i16 17148, i16 0, i16 1770, i16 1770, i16 0, i16 1772, i16 1772, i16 0, i16 1774, i16 1774, i16 0, i16 17311, i16 17205, i16 0, i16 1814, i16 1814, i16 0, i16 17325, i16 17148, i16 0, i16 1830, i16 1830, i16 0, i16 17427, i16 17220, i16 0, i16 1840, i16 1840, i16 0, i16 16470, i16 16579, i16 0, i16 16530, i16 16530, i16 0, i16 16532, i16 16532, i16 0, i16 16534, i16 16534, i16 0, i16 16630, i16 16630, i16 0, i16 16389, i16 16389, i16 0, i16 16637, i16 16637, i16 0, i16 16630, i16 16681, i16 0, i16 16638, i16 16638, i16 0, i16 16630, i16 16739, i16 0, i16 16639, i16 16639, i16 0, i16 16630, i16 16630, i16 16681, i16 0, i16 16389, i16 16389, i16 16389, i16 0, i16 16640, i16 16640, i16 16640, i16 0, i16 16630, i16 16630, i16 16739, i16 0, i16 16641, i16 16641, i16 16641, i16 0, i16 16681, i16 16718, i16 0, i16 16716, i16 16716, i16 0, i16 16769, i16 16642, i16 0, i16 16789, i16 16789, i16 0, i16 16791, i16 16579, i16 0, i16 16859, i16 16859, i16 0, i16 16892, i16 16917, i16 0, i16 16894, i16 16894, i16 0, i16 16892, i16 16892, i16 0, i16 16388, i16 16915, i16 0, i16 16916, i16 16916, i16 0, i16 16917, i16 16661, i16 0, i16 16934, i16 16934, i16 0, i16 18043, i16 17928, i16 0, i16 18093, i16 18093, i16 0, i16 18043, i16 17929, i16 0, i16 18094, i16 18094, i16 0, i16 18043, i16 17930, i16 0, i16 18095, i16 18095, i16 0, i16 18043, i16 17931, i16 0, i16 18096, i16 18096, i16 0, i16 18043, i16 17933, i16 0, i16 18097, i16 18097, i16 0, i16 18043, i16 17934, i16 0, i16 18098, i16 18098, i16 0, i16 18043, i16 17937, i16 0, i16 18043, i16 17938, i16 0, i16 18099, i16 18099, i16 0, i16 18043, i16 17939, i16 0, i16 18100, i16 18100, i16 0, i16 16510, i16 16788, i16 0, i16 16510, i16 16789, i16 0, i16 16510, i16 16790, i16 0, i16 16510, i16 16791, i16 0, i16 16510, i16 16792, i16 0, i16 16516, i16 16788, i16 0, i16 16516, i16 16789, i16 0, i16 16516, i16 16790, i16 0, i16 16516, i16 16791, i16 0, i16 16516, i16 16792, i16 0, i16 16522, i16 16788, i16 0, i16 16522, i16 16789, i16 0, i16 16522, i16 16790, i16 0, i16 16522, i16 16791, i16 0, i16 16522, i16 16792, i16 0, i16 16528, i16 16788, i16 0, i16 16528, i16 16789, i16 0, i16 16528, i16 16790, i16 0, i16 16528, i16 16791, i16 0, i16 16528, i16 16792, i16 0, i16 16534, i16 16788, i16 0, i16 16534, i16 16789, i16 0, i16 16534, i16 16790, i16 0, i16 16534, i16 16791, i16 0, i16 16534, i16 16792, i16 0, i16 16540, i16 16788, i16 0, i16 16540, i16 16789, i16 0, i16 16540, i16 16790, i16 0, i16 16540, i16 16791, i16 0, i16 16540, i16 16792, i16 0, i16 16546, i16 16788, i16 0, i16 16546, i16 16789, i16 0, i16 16546, i16 16790, i16 0, i16 16546, i16 16791, i16 0, i16 16546, i16 16792, i16 0, i16 16552, i16 16788, i16 0, i16 16552, i16 16789, i16 0, i16 16552, i16 16790, i16 0, i16 16552, i16 16791, i16 0, i16 16552, i16 16792, i16 0, i16 16558, i16 16788, i16 0, i16 16558, i16 16789, i16 0, i16 16558, i16 16790, i16 0, i16 16558, i16 16791, i16 0, i16 16558, i16 16792, i16 0, i16 16564, i16 16788, i16 0, i16 16564, i16 16789, i16 0, i16 16564, i16 16790, i16 0, i16 16564, i16 16791, i16 0, i16 16564, i16 16792, i16 0, i16 16570, i16 16788, i16 0, i16 16570, i16 16789, i16 0, i16 16570, i16 16790, i16 0, i16 16570, i16 16791, i16 0, i16 16570, i16 16792, i16 0, i16 16576, i16 16788, i16 0, i16 16576, i16 16789, i16 0, i16 16576, i16 16790, i16 0, i16 16576, i16 16791, i16 0, i16 16576, i16 16792, i16 0, i16 16582, i16 16788, i16 0, i16 16582, i16 16789, i16 0, i16 16582, i16 16790, i16 0, i16 16582, i16 16791, i16 0, i16 16582, i16 16792, i16 0, i16 16588, i16 16788, i16 0, i16 16588, i16 16789, i16 0, i16 16588, i16 16790, i16 0, i16 16588, i16 16791, i16 0, i16 16588, i16 16792, i16 0, i16 16594, i16 16788, i16 0, i16 16594, i16 16789, i16 0, i16 16594, i16 16790, i16 0, i16 16594, i16 16791, i16 0, i16 16594, i16 16792, i16 0, i16 16600, i16 16788, i16 0, i16 16600, i16 16789, i16 0, i16 16600, i16 16790, i16 0, i16 16600, i16 16791, i16 0, i16 16600, i16 16792, i16 0, i16 16606, i16 16788, i16 0, i16 16606, i16 16789, i16 0, i16 16606, i16 16790, i16 0, i16 16606, i16 16791, i16 0, i16 16606, i16 16792, i16 0, i16 16612, i16 16788, i16 0, i16 16612, i16 16789, i16 0, i16 16612, i16 16790, i16 0, i16 16612, i16 16791, i16 0, i16 16612, i16 16792, i16 0, i16 16618, i16 16788, i16 0, i16 16618, i16 16789, i16 0, i16 16618, i16 16790, i16 0, i16 16618, i16 16791, i16 0, i16 16618, i16 16792, i16 0, i16 16624, i16 16788, i16 0, i16 16624, i16 16789, i16 0, i16 16624, i16 16790, i16 0, i16 16624, i16 16791, i16 0, i16 16624, i16 16792, i16 0, i16 16630, i16 16788, i16 0, i16 16630, i16 16789, i16 0, i16 16630, i16 16790, i16 0, i16 16630, i16 16791, i16 0, i16 16630, i16 16792, i16 0, i16 16636, i16 16788, i16 0, i16 16636, i16 16789, i16 0, i16 16636, i16 16790, i16 0, i16 16636, i16 16791, i16 0, i16 16636, i16 16792, i16 0, i16 16642, i16 16788, i16 0, i16 16642, i16 16789, i16 0, i16 16642, i16 16790, i16 0, i16 16642, i16 16791, i16 0, i16 16642, i16 16792, i16 0, i16 16648, i16 16788, i16 0, i16 16648, i16 16789, i16 0, i16 16648, i16 16790, i16 0, i16 16648, i16 16791, i16 0, i16 16648, i16 16792, i16 0, i16 16654, i16 16788, i16 0, i16 16654, i16 16789, i16 0, i16 16654, i16 16790, i16 0, i16 16654, i16 16791, i16 0, i16 16654, i16 16792, i16 0, i16 16660, i16 16788, i16 0, i16 16660, i16 16789, i16 0, i16 16660, i16 16790, i16 0, i16 16660, i16 16791, i16 0, i16 16660, i16 16792, i16 0, i16 16666, i16 16788, i16 0, i16 16666, i16 16789, i16 0, i16 16666, i16 16790, i16 0, i16 16666, i16 16791, i16 0, i16 16666, i16 16792, i16 0, i16 16672, i16 16788, i16 0, i16 16672, i16 16789, i16 0, i16 16672, i16 16790, i16 0, i16 16672, i16 16791, i16 0, i16 16672, i16 16792, i16 0, i16 16678, i16 16788, i16 0, i16 16678, i16 16789, i16 0, i16 16678, i16 16790, i16 0, i16 16678, i16 16791, i16 0, i16 16678, i16 16792, i16 0, i16 16684, i16 16788, i16 0, i16 16684, i16 16789, i16 0, i16 16684, i16 16790, i16 0, i16 16684, i16 16791, i16 0, i16 16684, i16 16792, i16 0, i16 16690, i16 16788, i16 0, i16 16690, i16 16789, i16 0, i16 16690, i16 16790, i16 0, i16 16690, i16 16791, i16 0, i16 16690, i16 16792, i16 0, i16 16696, i16 16788, i16 0, i16 16696, i16 16789, i16 0, i16 16696, i16 16790, i16 0, i16 16696, i16 16791, i16 0, i16 16696, i16 16792, i16 0, i16 16702, i16 16788, i16 0, i16 16702, i16 16789, i16 0, i16 16702, i16 16790, i16 0, i16 16702, i16 16791, i16 0, i16 16702, i16 16792, i16 0, i16 16708, i16 16788, i16 0, i16 16708, i16 16789, i16 0, i16 16708, i16 16790, i16 0, i16 16708, i16 16791, i16 0, i16 16708, i16 16792, i16 0, i16 16714, i16 16788, i16 0, i16 16714, i16 16789, i16 0, i16 16714, i16 16790, i16 0, i16 16714, i16 16791, i16 0, i16 16714, i16 16792, i16 0, i16 16721, i16 16788, i16 0, i16 16721, i16 16789, i16 0, i16 16721, i16 16790, i16 0, i16 16721, i16 16791, i16 0, i16 16721, i16 16792, i16 0, i16 16728, i16 16788, i16 0, i16 16728, i16 16789, i16 0, i16 16728, i16 16790, i16 0, i16 16728, i16 16791, i16 0, i16 16728, i16 16792, i16 0, i16 16734, i16 16788, i16 0, i16 16734, i16 16789, i16 0, i16 16734, i16 16790, i16 0, i16 16734, i16 16791, i16 0, i16 16734, i16 16792, i16 0, i16 16740, i16 16788, i16 0, i16 16740, i16 16789, i16 0, i16 16740, i16 16790, i16 0, i16 16740, i16 16791, i16 0, i16 16740, i16 16792, i16 0, i16 16746, i16 16788, i16 0, i16 16746, i16 16789, i16 0, i16 16746, i16 16790, i16 0, i16 16746, i16 16791, i16 0, i16 16746, i16 16792, i16 0, i16 16752, i16 16788, i16 0, i16 16752, i16 16789, i16 0, i16 16752, i16 16790, i16 0, i16 16752, i16 16791, i16 0, i16 16752, i16 16792, i16 0, i16 16758, i16 16788, i16 0, i16 16758, i16 16789, i16 0, i16 16758, i16 16790, i16 0, i16 16758, i16 16791, i16 0, i16 16758, i16 16792, i16 0, i16 16764, i16 16788, i16 0, i16 16764, i16 16789, i16 0, i16 16764, i16 16790, i16 0, i16 16764, i16 16791, i16 0, i16 16764, i16 16792, i16 0, i16 16770, i16 16788, i16 0, i16 16770, i16 16789, i16 0, i16 16770, i16 16790, i16 0, i16 16770, i16 16791, i16 0, i16 16770, i16 16792, i16 0, i16 14, i16 17, i16 8, i16 13, i16 15, i16 6, i16 12, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5, i16 10, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9, i16 7, i16 11, i16 0, i16 0, i16 16, i16 3, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4, i16 0, i16 1, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 15, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 168, i16 173, i16 100, i16 105, i16 110, i16 116, i16 125, i16 131, i16 140, i16 144, i16 146, i16 148, i16 151, i16 154, i16 160, i16 163, i16 120, i16 124, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 26, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 82, i16 114, i16 5, i16 119, i16 0, i16 32, i16 0, i16 136, i16 111, i16 6, i16 17, i16 8, i16 167, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 16, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 36, i16 0, i16 37, i16 0, i16 0, i16 0, i16 0, i16 0, i16 38, i16 0, i16 0, i16 0, i16 0, i16 39, i16 0, i16 40, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 55, i16 123, i16 129, i16 134, i16 139, i16 0, i16 52, i16 99, i16 104, i16 109, i16 115, i16 0, i16 0, i16 0, i16 0, i16 0, i16 77, i16 85, i16 89, i16 0, i16 170, i16 174, i16 178, i16 180, i16 147, i16 0, i16 0, i16 0, i16 0, i16 0, i16 35, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 25, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 61, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 80, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 58, i16 0, i16 0, i16 12, i16 0, i16 0, i16 0, i16 28, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 159, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 143, i16 145, i16 0, i16 0, i16 0, i16 0, i16 172, i16 177, i16 0, i16 0, i16 0, i16 0, i16 47, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 41, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 191, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 13, i16 0, i16 24, i16 51, i16 87, i16 93, i16 102, i16 70, i16 142, i16 175, i16 0, i16 76, i16 90, i16 72, i16 49, i16 4, i16 92, i16 53, i16 96, i16 0, i16 54, i16 0, i16 30, i16 97, i16 18, i16 31, i16 0, i16 0, i16 0, i16 79, i16 91, i16 10, i16 45, i16 0, i16 0, i16 0, i16 158, i16 33, i16 155, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9, i16 184, i16 81, i16 189, i16 196, i16 64, i16 94, i16 75, i16 88, i16 98, i16 66, i16 46, i16 63, i16 187, i16 84, i16 0, i16 50, i16 95, i16 101, i16 106, i16 150, i16 162, i16 133, i16 138, i16 169, i16 192, i16 126, i16 83, i16 183, i16 153, i16 135, i16 179, i16 112, i16 117, i16 122, i16 128, i16 132, i16 185, i16 194, i16 156, i16 195, i16 186, i16 200, i16 67, i16 176, i16 149, i16 181, i16 188, i16 57, i16 141, i16 121, i16 127, i16 130, i16 137, i16 103, i16 107, i16 113, i16 118, i16 56, i16 108, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 152, i16 43, i16 34, i16 7, i16 44, i16 171, i16 0, i16 0, i16 0, i16 165, i16 42, i16 166, i16 0, i16 0, i16 59, i16 19, i16 197, i16 199, i16 22, i16 20, i16 23, i16 21, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 48, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 27, i16 0, i16 0, i16 0, i16 182, i16 198, i16 60, i16 190, i16 62, i16 193, i16 65, i16 157, i16 161, i16 164, i16 69, i16 68, i16 71, i16 78, i16 74, i16 86, i16 0, i16 2, i16 29, i16 3, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 14, i16 73, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1292, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1197, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1199, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 557, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 597, i16 598, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 691, i16 692, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1211, i16 1210, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 701, i16 702, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 731, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 223, i16 230, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 245, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1198, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 268, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1298, i16 1296, i16 1297, i16 1295, i16 0, i16 0, i16 0, i16 0, i16 1569, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1570, i16 1571, i16 1572, i16 1573, i16 0, i16 0, i16 0, i16 0, i16 1106, i16 1107, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1661, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 246, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 247, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 250, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 251, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 253, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 269, i16 0, i16 0, i16 0, i16 270, i16 0, i16 0, i16 0, i16 376, i16 378, i16 379, i16 380, i16 0, i16 0, i16 0, i16 263, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 266, i16 267, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1290, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 581, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 584, i16 583, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 609, i16 610, i16 611, i16 612, i16 0, i16 0, i16 0, i16 0, i16 152, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1207, i16 1206, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 189, i16 0, i16 0, i16 0, i16 244, i16 0, i16 0, i16 0, i16 1224, i16 0, i16 0, i16 1223, i16 0, i16 0, i16 0, i16 0, i16 1226, i16 0, i16 0, i16 1225, i16 0, i16 0, i16 0, i16 0, i16 1228, i16 0, i16 0, i16 1227, i16 0, i16 0, i16 0, i16 0, i16 1230, i16 0, i16 0, i16 1229, i16 0, i16 0, i16 0, i16 0, i16 1232, i16 0, i16 0, i16 1231, i16 0, i16 0, i16 0, i16 0, i16 1234, i16 0, i16 0, i16 1233, i16 0, i16 0, i16 0, i16 0, i16 1241, i16 1240, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1243, i16 1242, i16 1205, i16 1204, i16 0, i16 0, i16 0, i16 0, i16 1247, i16 1246, i16 0, i16 0, i16 1249, i16 1248, i16 0, i16 0, i16 226, i16 228, i16 225, i16 0, i16 0, i16 0, i16 0, i16 0, i16 760, i16 0, i16 734, i16 0, i16 748, i16 0, i16 0, i16 260, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 264, i16 265, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 554, i16 0, i16 0, i16 0, i16 0, i16 552, i16 0, i16 0, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 0, i16 1069, i16 1070, i16 1071, i16 1079, i16 1072, i16 1081, i16 1657, i16 0, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 0, i16 564, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1076, i16 0, i16 0, i16 0, i16 0, i16 0, i16 577, i16 0, i16 1367, i16 1368, i16 1369, i16 1370, i16 1371, i16 1372, i16 1373, i16 0, i16 1127, i16 1125, i16 1124, i16 1126, i16 1128, i16 1129, i16 1130, i16 0, i16 1142, i16 1140, i16 1139, i16 1141, i16 1143, i16 1144, i16 1145, i16 0, i16 1196, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 256, i16 257, i16 255, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1024, i16 984, i16 489, i16 409, i16 0, i16 0, i16 487, i16 407, i16 258, i16 261, i16 259, i16 262, i16 0, i16 0, i16 0, i16 0, i16 1027, i16 987, i16 492, i16 412, i16 1028, i16 988, i16 1029, i16 989, i16 773, i16 0, i16 775, i16 825, i16 771, i16 822, i16 749, i16 800, i16 774, i16 776, i16 746, i16 766, i16 779, i16 786, i16 790, i16 794, i16 1032, i16 992, i16 500, i16 420, i16 1033, i16 993, i16 503, i16 424, i16 781, i16 792, i16 768, i16 769, i16 767, i16 821, i16 808, i16 0, i16 1037, i16 535, i16 534, i16 536, i16 1043, i16 545, i16 550, i16 1002, i16 526, i16 449, i16 529, i16 452, i16 1039, i16 999, i16 1041, i16 1001, i16 1038, i16 998, i16 521, i16 444, i16 525, i16 448, i16 527, i16 450, i16 271, i16 575, i16 576, i16 1075, i16 578, i16 579, i16 580, i16 1077, i16 1040, i16 1000, i16 1042, i16 1003, i16 531, i16 454, i16 532, i16 455, i16 1555, i16 1557, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1300, i16 1299, i16 0, i16 0, i16 0, i16 0, i16 1293, i16 1291, i16 1045, i16 1006, i16 539, i16 462, i16 542, i16 465, i16 546, i16 470, i16 791, i16 793, i16 798, i16 801, i16 802, i16 803, i16 804, i16 805, i16 1049, i16 1051, i16 1053, i16 1055, i16 1057, i16 1059, i16 1061, i16 1063, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 538, i16 461, i16 540, i16 463, i16 1044, i16 1005, i16 537, i16 460, i16 1050, i16 1052, i16 1054, i16 1056, i16 1058, i16 1060, i16 1062, i16 1064, i16 1306, i16 1305, i16 1308, i16 1307, i16 0, i16 0, i16 0, i16 0, i16 796, i16 730, i16 732, i16 733, i16 735, i16 737, i16 739, i16 741, i16 1565, i16 1566, i16 0, i16 0, i16 0, i16 0, i16 589, i16 590, i16 543, i16 544, i16 1637, i16 181, i16 213, i16 182, i16 224, i16 151, i16 799, i16 809, i16 813, i16 797, i16 0, i16 0, i16 0, i16 0, i16 290, i16 291, i16 0, i16 292, i16 293, i16 294, i16 295, i16 296, i16 547, i16 549, i16 472, i16 1048, i16 1009, i16 1047, i16 1008, i16 0, i16 551, i16 1074, i16 553, i16 555, i16 556, i16 558, i16 559, i16 560, i16 807, i16 758, i16 811, i16 810, i16 814, i16 816, i16 820, i16 823, i16 297, i16 298, i16 299, i16 300, i16 0, i16 0, i16 0, i16 0, i16 1065, i16 1067, i16 272, i16 273, i16 274, i16 275, i16 0, i16 0, i16 1066, i16 1068, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 561, i16 1567, i16 1568, i16 0, i16 0, i16 0, i16 0, i16 0, i16 562, i16 563, i16 565, i16 567, i16 568, i16 569, i16 570, i16 571, i16 819, i16 778, i16 780, i16 782, i16 783, i16 785, i16 787, i16 789, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 566, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1078, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 824, i16 826, i16 795, i16 818, i16 806, i16 817, i16 827, i16 0, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1108, i16 1109, i16 1088, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 572, i16 573, i16 574, i16 0, i16 0, i16 0, i16 0, i16 0, i16 828, i16 829, i16 830, i16 831, i16 832, i16 833, i16 834, i16 835, i16 1344, i16 1345, i16 1346, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1089, i16 695, i16 696, i16 697, i16 698, i16 1090, i16 1091, i16 585, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 836, i16 837, i16 839, i16 840, i16 841, i16 842, i16 843, i16 844, i16 838, i16 1131, i16 1132, i16 1134, i16 1133, i16 0, i16 1135, i16 1136, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 586, i16 587, i16 588, i16 1092, i16 1093, i16 593, i16 594, i16 595, i16 1100, i16 1101, i16 675, i16 676, i16 677, i16 678, i16 0, i16 0, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 845, i16 846, i16 847, i16 848, i16 849, i16 850, i16 851, i16 852, i16 591, i16 592, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 0, i16 596, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 853, i16 854, i16 855, i16 1137, i16 856, i16 1138, i16 857, i16 858, i16 599, i16 600, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 1117, i16 1118, i16 859, i16 860, i16 861, i16 862, i16 863, i16 864, i16 865, i16 866, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 1374, i16 1375, i16 1376, i16 1377, i16 1378, i16 1379, i16 1380, i16 1381, i16 1119, i16 1120, i16 1121, i16 1122, i16 1123, i16 0, i16 0, i16 0, i16 608, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 1632, i16 523, i16 1633, i16 1634, i16 1635, i16 533, i16 541, i16 1636, i16 867, i16 868, i16 869, i16 870, i16 871, i16 872, i16 873, i16 874, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 1382, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 875, i16 876, i16 877, i16 878, i16 879, i16 880, i16 881, i16 882, i16 620, i16 621, i16 622, i16 625, i16 626, i16 627, i16 628, i16 631, i16 365, i16 160, i16 192, i16 194, i16 191, i16 195, i16 241, i16 185, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 1390, i16 1391, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1646, i16 446, i16 1647, i16 1648, i16 1649, i16 456, i16 464, i16 1650, i16 623, i16 624, i16 633, i16 634, i16 629, i16 630, i16 1098, i16 1099, i16 883, i16 884, i16 885, i16 1153, i16 886, i16 1154, i16 887, i16 888, i16 374, i16 375, i16 158, i16 157, i16 234, i16 236, i16 238, i16 161, i16 1398, i16 1399, i16 1400, i16 1401, i16 1402, i16 1403, i16 1404, i16 0, i16 632, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 1146, i16 1147, i16 1148, i16 1150, i16 1149, i16 0, i16 1151, i16 1152, i16 1658, i16 1659, i16 1660, i16 954, i16 957, i16 959, i16 961, i16 964, i16 383, i16 0, i16 0, i16 0, i16 387, i16 388, i16 389, i16 390, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 391, i16 392, i16 219, i16 217, i16 0, i16 178, i16 180, i16 0, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 1163, i16 1164, i16 1165, i16 0, i16 0, i16 0, i16 0, i16 0, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 403, i16 402, i16 404, i16 405, i16 415, i16 414, i16 991, i16 416, i16 150, i16 159, i16 172, i16 215, i16 193, i16 216, i16 214, i16 169, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 1179, i16 1178, i16 1201, i16 1200, i16 0, i16 0, i16 0, i16 0, i16 413, i16 1642, i16 421, i16 422, i16 1643, i16 431, i16 1644, i16 1645, i16 674, i16 1094, i16 1095, i16 1096, i16 1097, i16 679, i16 680, i16 681, i16 164, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 167, i16 384, i16 438, i16 176, i16 377, i16 381, i16 382, i16 162, i16 423, i16 505, i16 426, i16 508, i16 429, i16 506, i16 427, i16 509, i16 168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 170, i16 171, i16 0, i16 0, i16 173, i16 174, i16 0, i16 0, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 430, i16 507, i16 428, i16 512, i16 434, i16 514, i16 436, i16 513, i16 177, i16 179, i16 212, i16 218, i16 156, i16 155, i16 165, i16 163, i16 690, i16 1102, i16 1103, i16 1104, i16 1105, i16 693, i16 694, i16 1110, i16 435, i16 433, i16 1035, i16 995, i16 520, i16 443, i16 0, i16 0, i16 1203, i16 1202, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1209, i16 1208, i16 0, i16 0, i16 0, i16 0, i16 1245, i16 1244, i16 699, i16 700, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 955, i16 956, i16 958, i16 0, i16 960, i16 0, i16 962, i16 963, i16 190, i16 474, i16 477, i16 1624, i16 1625, i16 481, i16 1626, i16 1627, i16 703, i16 1652, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 1215, i16 1214, i16 1213, i16 1212, i16 0, i16 0, i16 0, i16 0, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 965, i16 966, i16 968, i16 969, i16 277, i16 278, i16 280, i16 281, i16 711, i16 712, i16 713, i16 1653, i16 715, i16 716, i16 717, i16 718, i16 967, i16 276, i16 279, i16 1552, i16 1553, i16 1554, i16 0, i16 0, i16 971, i16 970, i16 972, i16 973, i16 974, i16 975, i16 977, i16 978, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 719, i16 720, i16 721, i16 722, i16 1654, i16 724, i16 725, i16 726, i16 466, i16 467, i16 1651, i16 183, i16 240, i16 184, i16 229, i16 332, i16 727, i16 1655, i16 1656, i16 0, i16 0, i16 0, i16 0, i16 0, i16 983, i16 994, i16 440, i16 439, i16 441, i16 442, i16 996, i16 231, i16 476, i16 396, i16 1016, i16 976, i16 475, i16 395, i16 1019, i16 979, i16 222, i16 393, i16 397, i16 1638, i16 1639, i16 401, i16 1640, i16 1641, i16 738, i16 742, i16 745, i16 0, i16 755, i16 0, i16 765, i16 777, i16 227, i16 187, i16 394, i16 175, i16 239, i16 154, i16 188, i16 153, i16 483, i16 482, i16 484, i16 485, i16 495, i16 494, i16 1031, i16 496, i16 740, i16 788, i16 736, i16 784, i16 761, i16 812, i16 763, i16 815, i16 997, i16 458, i16 457, i16 459, i16 1004, i16 468, i16 473, i16 469, i16 743, i16 744, i16 747, i16 750, i16 751, i16 752, i16 753, i16 754, i16 488, i16 408, i16 486, i16 406, i16 1026, i16 986, i16 1025, i16 985, i16 233, i16 0, i16 0, i16 0, i16 235, i16 237, i16 0, i16 0, i16 493, i16 1628, i16 501, i16 502, i16 1629, i16 510, i16 1630, i16 1631, i16 497, i16 417, i16 499, i16 419, i16 0, i16 0, i16 498, i16 418, i16 242, i16 220, i16 385, i16 386, i16 221, i16 243, i16 186, i16 166, i16 1011, i16 1010, i16 1012, i16 1013, i16 1014, i16 1015, i16 1017, i16 1018, i16 756, i16 757, i16 0, i16 759, i16 762, i16 764, i16 770, i16 772, i16 248, i16 0, i16 0, i16 0, i16 252, i16 0, i16 0, i16 0, i16 1020, i16 980, i16 1022, i16 982, i16 1021, i16 981, i16 480, i16 400, i16 254, i16 0, i16 0, i16 0, i16 249, i16 0, i16 0, i16 0, i16 1023, i16 1034, i16 517, i16 516, i16 518, i16 519, i16 1036, i16 232, i16 8, i16 13, i16 9, i16 5, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 14, i16 7, i16 11, i16 3, i16 6, i16 0, i16 0, i16 0, i16 0, i16 10, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 81, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8, i16 42, i16 98, i16 109, i16 122, i16 130, i16 140, i16 151, i16 164, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 35, i16 0, i16 108, i16 0, i16 110, i16 120, i16 125, i16 133, i16 0, i16 0, i16 0, i16 0, i16 15, i16 0, i16 141, i16 148, i16 112, i16 117, i16 160, i16 139, i16 149, i16 57, i16 167, i16 170, i16 174, i16 47, i16 60, i16 61, i16 39, i16 0, i16 0, i16 11, i16 92, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 43, i16 18, i16 0, i16 0, i16 10, i16 12, i16 51, i16 119, i16 93, i16 169, i16 172, i16 96, i16 0, i16 0, i16 28, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 23, i16 9, i16 0, i16 14, i16 66, i16 0, i16 67, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 32, i16 75, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 46, i16 147, i16 152, i16 156, i16 31, i16 0, i16 0, i16 157, i16 161, i16 0, i16 36, i16 0, i16 0, i16 0, i16 0, i16 0, i16 37, i16 22, i16 176, i16 0, i16 0, i16 38, i16 181, i16 63, i16 70, i16 48, i16 17, i16 0, i16 73, i16 74, i16 0, i16 0, i16 52, i16 102, i16 135, i16 155, i16 114, i16 171, i16 101, i16 173, i16 111, i16 121, i16 94, i16 127, i16 142, i16 103, i16 143, i16 104, i16 175, i16 180, i16 89, i16 62, i16 124, i16 71, i16 80, i16 83, i16 20, i16 49, i16 166, i16 95, i16 7, i16 106, i16 165, i16 26, i16 55, i16 153, i16 179, i16 154, i16 182, i16 56, i16 40, i16 41, i16 77, i16 158, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 79, i16 86, i16 0, i16 76, i16 82, i16 88, i16 0, i16 59, i16 69, i16 85, i16 99, i16 116, i16 131, i16 58, i16 68, i16 84, i16 97, i16 115, i16 128, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 78, i16 50, i16 87, i16 27, i16 33, i16 34, i16 123, i16 0, i16 44, i16 16, i16 24, i16 0, i16 25, i16 0, i16 3, i16 0, i16 45, i16 105, i16 107, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 126, i16 54, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 144, i16 177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 13, i16 21, i16 19, i16 0, i16 0, i16 53, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 29, i16 30, i16 129, i16 137, i16 146, i16 138, i16 134, i16 0, i16 0, i16 159, i16 178, i16 90, i16 118, i16 132, i16 163, i16 64, i16 72, i16 91, i16 113, i16 162, i16 145, i16 65, i16 150, i16 168, i16 100, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 136, i16 5, i16 6, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 592, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 161, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 172, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 167, i16 168, i16 169, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 170, i16 0, i16 171, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 714, i16 715, i16 864, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1505, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 524, i16 0, i16 525, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 581, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1348, i16 0, i16 0, i16 0, i16 1349, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1923, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 526, i16 527, i16 528, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 427, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 343, i16 344, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 290, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 594, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 742, i16 743, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1924, i16 146, i16 0, i16 1925, i16 0, i16 1926, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 232, i16 233, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 234, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 520, i16 521, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 522, i16 523, i16 0, i16 0, i16 0, i16 0, i16 0, i16 345, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 823, i16 824, i16 0, i16 0, i16 0, i16 0, i16 1762, i16 1763, i16 1772, i16 1773, i16 1824, i16 1825, i16 0, i16 0, i16 0, i16 0, i16 323, i16 324, i16 325, i16 326, i16 0, i16 0, i16 0, i16 0, i16 327, i16 0, i16 328, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1371, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 153, i16 154, i16 0, i16 0, i16 0, i16 0, i16 155, i16 0, i16 0, i16 0, i16 156, i16 0, i16 0, i16 0, i16 0, i16 0, i16 157, i16 158, i16 1148, i16 159, i16 1158, i16 1164, i16 1170, i16 0, i16 1187, i16 0, i16 1200, i16 1213, i16 0, i16 0, i16 0, i16 0, i16 1701, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 546, i16 0, i16 0, i16 0, i16 547, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 329, i16 0, i16 330, i16 0, i16 0, i16 331, i16 0, i16 0, i16 0, i16 332, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 333, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 358, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 225, i16 226, i16 0, i16 0, i16 227, i16 0, i16 228, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 229, i16 0, i16 230, i16 0, i16 0, i16 0, i16 231, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 1733, i16 1735, i16 1737, i16 1739, i16 0, i16 0, i16 0, i16 517, i16 518, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 519, i16 0, i16 0, i16 1310, i16 1311, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1312, i16 1313, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1314, i16 1315, i16 1316, i16 1317, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1353, i16 0, i16 1355, i16 0, i16 0, i16 0, i16 1358, i16 0, i16 0, i16 0, i16 0, i16 1362, i16 1363, i16 1366, i16 0, i16 0, i16 593, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 339, i16 340, i16 0, i16 0, i16 341, i16 342, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 348, i16 0, i16 0, i16 0, i16 0, i16 0, i16 349, i16 350, i16 351, i16 352, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 173, i16 174, i16 175, i16 176, i16 177, i16 0, i16 0, i16 180, i16 181, i16 0, i16 0, i16 0, i16 178, i16 179, i16 0, i16 0, i16 499, i16 500, i16 0, i16 0, i16 0, i16 501, i16 0, i16 0, i16 502, i16 0, i16 503, i16 504, i16 0, i16 0, i16 0, i16 282, i16 0, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 811, i16 812, i16 0, i16 0, i16 0, i16 0, i16 0, i16 894, i16 895, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 304, i16 305, i16 306, i16 307, i16 0, i16 0, i16 308, i16 309, i16 1700, i16 310, i16 0, i16 0, i16 311, i16 312, i16 313, i16 0, i16 1351, i16 1352, i16 1354, i16 1356, i16 1357, i16 1359, i16 1361, i16 1365, i16 1372, i16 1375, i16 1380, i16 1385, i16 1390, i16 1395, i16 1400, i16 0, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 75, i16 78, i16 76, i16 79, i16 77, i16 604, i16 605, i16 0, i16 658, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 672, i16 673, i16 674, i16 675, i16 676, i16 1364, i16 677, i16 678, i16 679, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1234, i16 1230, i16 1224, i16 1236, i16 1288, i16 1244, i16 1246, i16 1248, i16 1258, i16 1264, i16 1276, i16 1254, i16 0, i16 1280, i16 1292, i16 0, i16 1235, i16 1231, i16 1225, i16 1237, i16 1289, i16 1245, i16 1247, i16 1249, i16 1259, i16 1265, i16 1277, i16 1255, i16 0, i16 1281, i16 1293, i16 0, i16 476, i16 477, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1525, i16 1527, i16 1529, i16 1531, i16 1533, i16 1535, i16 1538, i16 1540, i16 1542, i16 1544, i16 1547, i16 1549, i16 1551, i16 1553, i16 1555, i16 0, i16 1526, i16 1528, i16 1530, i16 1532, i16 1534, i16 1536, i16 1539, i16 1541, i16 1543, i16 1545, i16 1548, i16 1550, i16 1552, i16 1554, i16 1556, i16 0, i16 505, i16 0, i16 0, i16 506, i16 0, i16 507, i16 508, i16 0, i16 0, i16 509, i16 510, i16 0, i16 0, i16 511, i16 512, i16 513, i16 514, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 515, i16 516, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1796, i16 1795, i16 881, i16 882, i16 885, i16 886, i16 1801, i16 1802, i16 1803, i16 903, i16 904, i16 1806, i16 1807, i16 905, i16 906, i16 907, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 1033, i16 1034, i16 1035, i16 1036, i16 1027, i16 1028, i16 1031, i16 1032, i16 1037, i16 1038, i16 1047, i16 1048, i16 1049, i16 1050, i16 1057, i16 1058, i16 778, i16 779, i16 780, i16 781, i16 782, i16 783, i16 784, i16 785, i16 870, i16 871, i16 876, i16 877, i16 972, i16 973, i16 966, i16 967, i16 529, i16 0, i16 530, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 0, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 1557, i16 1560, i16 1562, i16 1564, i16 1566, i16 1568, i16 1570, i16 1572, i16 1574, i16 1576, i16 1578, i16 1580, i16 1582, i16 1584, i16 1586, i16 1588, i16 1558, i16 1561, i16 1563, i16 1565, i16 1567, i16 1569, i16 1571, i16 1573, i16 1575, i16 1577, i16 1579, i16 1581, i16 1583, i16 1585, i16 1587, i16 1589, i16 279, i16 280, i16 281, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1818, i16 1819, i16 1830, i16 1831, i16 1007, i16 1008, i16 1832, i16 1833, i16 1013, i16 1014, i16 1834, i16 1835, i16 1029, i16 1030, i16 1838, i16 1839, i16 1055, i16 1056, i16 1098, i16 1099, i16 1090, i16 1091, i16 1100, i16 1101, i16 1088, i16 1089, i16 1096, i16 1097, i16 1852, i16 1853, i16 1854, i16 1855, i16 291, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 292, i16 0, i16 293, i16 0, i16 294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 548, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 0, i16 0, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 1318, i16 1319, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 295, i16 0, i16 296, i16 297, i16 0, i16 298, i16 299, i16 300, i16 301, i16 0, i16 0, i16 302, i16 0, i16 0, i16 0, i16 303, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 1836, i16 1837, i16 1053, i16 1054, i16 1045, i16 1046, i16 1051, i16 1052, i16 1086, i16 1087, i16 1846, i16 1847, i16 1066, i16 1067, i16 1074, i16 1075, i16 816, i16 817, i16 818, i16 819, i16 820, i16 1042, i16 1026, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 0, i16 0, i16 0, i16 0, i16 571, i16 0, i16 0, i16 0, i16 1844, i16 1845, i16 1094, i16 1095, i16 1862, i16 1863, i16 1126, i16 1127, i16 1128, i16 1877, i16 1878, i16 1881, i16 1882, i16 1879, i16 1880, i16 1040, i16 1590, i16 1592, i16 1594, i16 1596, i16 1598, i16 1600, i16 1602, i16 1604, i16 1606, i16 1608, i16 1610, i16 1612, i16 1614, i16 1616, i16 1618, i16 1620, i16 1591, i16 1593, i16 1595, i16 1597, i16 1599, i16 1601, i16 1603, i16 1605, i16 1607, i16 1609, i16 1611, i16 1613, i16 1615, i16 1617, i16 1619, i16 1621, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 314, i16 0, i16 0, i16 0, i16 0, i16 315, i16 0, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 0, i16 322, i16 0, i16 572, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 829, i16 830, i16 1790, i16 1791, i16 840, i16 841, i16 848, i16 849, i16 872, i16 873, i16 1799, i16 1800, i16 858, i16 859, i16 878, i16 879, i16 833, i16 834, i16 844, i16 845, i16 846, i16 847, i16 842, i16 843, i16 850, i16 851, i16 838, i16 839, i16 874, i16 875, i16 868, i16 869, i16 1860, i16 1861, i16 1858, i16 1859, i16 1864, i16 1865, i16 1866, i16 1867, i16 1868, i16 1869, i16 1121, i16 1122, i16 1119, i16 1120, i16 1134, i16 1135, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1350, i16 1452, i16 1457, i16 1462, i16 1467, i16 1472, i16 1477, i16 1482, i16 1487, i16 1490, i16 1493, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 74, i16 87, i16 120, i16 122, i16 119, i16 123, i16 143, i16 114, i16 94, i16 116, i16 683, i16 104, i16 141, i16 82, i16 117, i16 81, i16 1103, i16 0, i16 0, i16 0, i16 0, i16 1142, i16 1143, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1360, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1370, i16 0, i16 1622, i16 1624, i16 1626, i16 1628, i16 1630, i16 1632, i16 1634, i16 1636, i16 1638, i16 1640, i16 1642, i16 1644, i16 1646, i16 1648, i16 1650, i16 1652, i16 1367, i16 1368, i16 1369, i16 1373, i16 1374, i16 1376, i16 1377, i16 1378, i16 1379, i16 1381, i16 1382, i16 1383, i16 1384, i16 1386, i16 1387, i16 1388, i16 1623, i16 1625, i16 1627, i16 1629, i16 1631, i16 1633, i16 1635, i16 1637, i16 1639, i16 1641, i16 1643, i16 1645, i16 1647, i16 1649, i16 1651, i16 1653, i16 1112, i16 1113, i16 1124, i16 1125, i16 1136, i16 1137, i16 1130, i16 1131, i16 1132, i16 1133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 92, i16 1953, i16 730, i16 1954, i16 1955, i16 765, i16 810, i16 822, i16 837, i16 853, i16 884, i16 889, i16 1956, i16 919, i16 1957, i16 942, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 1887, i16 1810, i16 944, i16 1816, i16 952, i16 1820, i16 1828, i16 134, i16 1822, i16 1062, i16 1842, i16 1070, i16 1848, i16 1872, i16 1840, i16 1041, i16 1888, i16 1811, i16 945, i16 1817, i16 953, i16 1821, i16 1829, i16 133, i16 1823, i16 1063, i16 1843, i16 1071, i16 1849, i16 1873, i16 1841, i16 1129, i16 353, i16 0, i16 354, i16 0, i16 0, i16 355, i16 0, i16 0, i16 1889, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 865, i16 964, i16 965, i16 1072, i16 1073, i16 1076, i16 1077, i16 1078, i16 1079, i16 1082, i16 1083, i16 1080, i16 1081, i16 0, i16 718, i16 719, i16 356, i16 357, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 359, i16 360, i16 361, i16 362, i16 0, i16 0, i16 363, i16 364, i16 365, i16 366, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1389, i16 1391, i16 1392, i16 1393, i16 1394, i16 1396, i16 1397, i16 1398, i16 1399, i16 1401, i16 1402, i16 1404, i16 1405, i16 1407, i16 1408, i16 1410, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 1905, i16 445, i16 446, i16 1906, i16 447, i16 1907, i16 448, i16 449, i16 1908, i16 450, i16 451, i16 1909, i16 452, i16 453, i16 454, i16 1910, i16 1138, i16 1139, i16 1140, i16 1141, i16 1144, i16 1145, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 118, i16 1948, i16 729, i16 1949, i16 1950, i16 764, i16 809, i16 821, i16 836, i16 1794, i16 883, i16 888, i16 1951, i16 918, i16 1952, i16 941, i16 1654, i16 1656, i16 1658, i16 1660, i16 1662, i16 1664, i16 1666, i16 1668, i16 1670, i16 1672, i16 1674, i16 1676, i16 1678, i16 1680, i16 1682, i16 1684, i16 1655, i16 1657, i16 1659, i16 1661, i16 1663, i16 1665, i16 1667, i16 1669, i16 1671, i16 1673, i16 1675, i16 1677, i16 1679, i16 1681, i16 1683, i16 1685, i16 1911, i16 455, i16 456, i16 1912, i16 457, i16 458, i16 459, i16 1913, i16 1914, i16 460, i16 461, i16 1915, i16 462, i16 463, i16 464, i16 1916, i16 890, i16 891, i16 896, i16 897, i16 898, i16 899, i16 909, i16 910, i16 911, i16 912, i16 915, i16 916, i16 913, i16 914, i16 920, i16 921, i16 1403, i16 1406, i16 1409, i16 1412, i16 1417, i16 1422, i16 1427, i16 1432, i16 1437, i16 1442, i16 1447, i16 0, i16 0, i16 0, i16 0, i16 0, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 1411, i16 1413, i16 1414, i16 1415, i16 1416, i16 1418, i16 1419, i16 1420, i16 1421, i16 1423, i16 1424, i16 1425, i16 1426, i16 1428, i16 1429, i16 1430, i16 135, i16 334, i16 0, i16 0, i16 137, i16 139, i16 0, i16 0, i16 0, i16 0, i16 335, i16 336, i16 0, i16 0, i16 337, i16 338, i16 908, i16 1804, i16 1805, i16 1808, i16 1809, i16 1812, i16 1813, i16 929, i16 930, i16 939, i16 1814, i16 1815, i16 1826, i16 1827, i16 948, i16 949, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 655, i16 656, i16 657, i16 0, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 144, i16 132, i16 1750, i16 1751, i16 91, i16 145, i16 115, i16 96, i16 97, i16 1749, i16 943, i16 105, i16 1734, i16 1736, i16 1738, i16 89, i16 1686, i16 1688, i16 1690, i16 1692, i16 1537, i16 1546, i16 1559, i16 0, i16 0, i16 0, i16 0, i16 577, i16 578, i16 579, i16 580, i16 0, i16 1175, i16 1147, i16 1151, i16 1153, i16 1155, i16 1157, i16 1161, i16 1163, i16 1167, i16 1169, i16 1176, i16 1178, i16 1180, i16 1182, i16 1184, i16 1186, i16 1431, i16 1433, i16 1434, i16 1435, i16 1436, i16 1438, i16 1439, i16 1440, i16 1441, i16 1443, i16 1444, i16 1445, i16 1446, i16 1448, i16 1449, i16 1450, i16 1687, i16 1689, i16 1691, i16 1693, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 573, i16 574, i16 575, i16 576, i16 0, i16 922, i16 923, i16 924, i16 925, i16 931, i16 932, i16 933, i16 934, i16 937, i16 938, i16 935, i16 936, i16 968, i16 969, i16 970, i16 971, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 0, i16 0, i16 0, i16 0, i16 160, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1697, i16 86, i16 101, i16 127, i16 121, i16 128, i16 126, i16 98, i16 106, i16 108, i16 124, i16 130, i16 83, i16 1698, i16 90, i16 1699, i16 162, i16 163, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 164, i16 165, i16 166, i16 1190, i16 1192, i16 0, i16 1194, i16 1197, i16 1199, i16 1206, i16 1208, i16 1210, i16 1212, i16 1171, i16 1201, i16 1150, i16 1160, i16 1166, i16 1173, i16 1191, i16 1193, i16 1196, i16 1195, i16 1198, i16 1202, i16 1207, i16 1209, i16 1211, i16 1214, i16 1174, i16 1204, i16 1189, i16 1203, i16 1215, i16 0, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 1717, i16 1718, i16 1451, i16 1453, i16 1454, i16 1455, i16 1456, i16 1458, i16 1459, i16 1460, i16 1461, i16 1463, i16 1464, i16 1465, i16 1466, i16 1468, i16 1469, i16 1470, i16 428, i16 1890, i16 429, i16 1891, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 1892, i16 1893, i16 1894, i16 684, i16 1758, i16 702, i16 722, i16 1764, i16 1760, i16 1770, i16 1780, i16 766, i16 1784, i16 774, i16 788, i16 854, i16 1797, i16 862, i16 866, i16 685, i16 1759, i16 703, i16 723, i16 1765, i16 1761, i16 1771, i16 1781, i16 767, i16 1785, i16 775, i16 789, i16 855, i16 1798, i16 863, i16 867, i16 686, i16 687, i16 700, i16 701, i16 768, i16 769, i16 772, i16 773, i16 856, i16 857, i16 860, i16 861, i16 946, i16 947, i16 950, i16 951, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 798, i16 799, i16 790, i16 791, i16 792, i16 793, i16 776, i16 777, i16 1205, i16 1149, i16 1152, i16 1154, i16 1156, i16 1159, i16 1162, i16 1165, i16 1168, i16 1172, i16 1177, i16 1179, i16 1181, i16 1183, i16 1185, i16 1188, i16 182, i16 0, i16 0, i16 183, i16 184, i16 185, i16 186, i16 187, i16 99, i16 100, i16 188, i16 189, i16 102, i16 103, i16 190, i16 191, i16 439, i16 1895, i16 1896, i16 1897, i16 440, i16 1898, i16 1899, i16 1900, i16 441, i16 1901, i16 1902, i16 1903, i16 442, i16 1904, i16 443, i16 444, i16 1719, i16 1720, i16 1721, i16 1722, i16 1723, i16 1724, i16 1725, i16 1726, i16 1727, i16 1728, i16 1729, i16 1730, i16 475, i16 0, i16 0, i16 0, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 984, i16 985, i16 986, i16 987, i16 988, i16 989, i16 1471, i16 1473, i16 1474, i16 1475, i16 1476, i16 1478, i16 1479, i16 1480, i16 1481, i16 1483, i16 1484, i16 1485, i16 1486, i16 1488, i16 1489, i16 1491, i16 192, i16 193, i16 1702, i16 0, i16 0, i16 194, i16 195, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1216, i16 1218, i16 1220, i16 1222, i16 1228, i16 1232, i16 1238, i16 1240, i16 1242, i16 1250, i16 1252, i16 1256, i16 1260, i16 1262, i16 1266, i16 1268, i16 1217, i16 1219, i16 1221, i16 1223, i16 1229, i16 1233, i16 1239, i16 1241, i16 1243, i16 1251, i16 1253, i16 1257, i16 1261, i16 1263, i16 1267, i16 1269, i16 1731, i16 1740, i16 1741, i16 1742, i16 1743, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 85, i16 84, i16 136, i16 138, i16 140, i16 88, i16 196, i16 0, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 0, i16 208, i16 0, i16 1732, i16 0, i16 0, i16 0, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 131, i16 129, i16 209, i16 107, i16 109, i16 0, i16 1226, i16 1227, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 716, i16 717, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 746, i16 747, i16 753, i16 754, i16 755, i16 756, i16 761, i16 762, i16 465, i16 466, i16 1917, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 1918, i16 0, i16 0, i16 0, i16 0, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 0, i16 724, i16 725, i16 720, i16 721, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 690, i16 691, i16 980, i16 981, i16 978, i16 979, i16 997, i16 998, i16 999, i16 1000, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1492, i16 1494, i16 1495, i16 1496, i16 1497, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 0, i16 0, i16 0, i16 726, i16 727, i16 1774, i16 1775, i16 831, i16 832, i16 827, i16 828, i16 892, i16 893, i16 974, i16 975, i16 976, i16 977, i16 0, i16 0, i16 982, i16 983, i16 1921, i16 1922, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1102, i16 478, i16 0, i16 0, i16 0, i16 479, i16 0, i16 0, i16 0, i16 480, i16 0, i16 0, i16 0, i16 481, i16 0, i16 0, i16 0, i16 990, i16 991, i16 992, i16 993, i16 1092, i16 1093, i16 1084, i16 1085, i16 1104, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1503, i16 1504, i16 1506, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 482, i16 483, i16 484, i16 485, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 995, i16 1002, i16 1005, i16 1024, i16 1043, i16 1060, i16 1850, i16 1856, i16 1117, i16 1870, i16 1875, i16 110, i16 125, i16 111, i16 93, i16 80, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 996, i16 1003, i16 1006, i16 1025, i16 1044, i16 1061, i16 1851, i16 1857, i16 1118, i16 1871, i16 1876, i16 112, i16 142, i16 113, i16 95, i16 622, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 494, i16 495, i16 496, i16 0, i16 497, i16 498, i16 0, i16 0, i16 1768, i16 1769, i16 688, i16 689, i16 1766, i16 1767, i16 1776, i16 1777, i16 740, i16 741, i16 744, i16 745, i16 1778, i16 1779, i16 751, i16 752, i16 235, i16 0, i16 236, i16 0, i16 0, i16 0, i16 237, i16 0, i16 0, i16 0, i16 0, i16 238, i16 0, i16 0, i16 0, i16 0, i16 1009, i16 1010, i16 1011, i16 1012, i16 1064, i16 1065, i16 1068, i16 1069, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 757, i16 758, i16 759, i16 760, i16 804, i16 805, i16 802, i16 803, i16 806, i16 807, i16 794, i16 795, i16 800, i16 801, i16 813, i16 814, i16 1270, i16 1272, i16 1274, i16 1278, i16 1282, i16 1284, i16 1286, i16 1290, i16 1294, i16 1296, i16 1299, i16 1300, i16 1303, i16 1304, i16 1306, i16 1308, i16 1782, i16 1783, i16 1788, i16 1789, i16 770, i16 771, i16 796, i16 797, i16 1786, i16 1787, i16 786, i16 787, i16 825, i16 826, i16 1792, i16 1793, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 1271, i16 1273, i16 1275, i16 1279, i16 1283, i16 1285, i16 1287, i16 1291, i16 1295, i16 1297, i16 1298, i16 1301, i16 1302, i16 1305, i16 1307, i16 1309, i16 9, i16 11, i16 8, i16 5, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12, i16 7, i16 13, i16 3, i16 6, i16 0, i16 0, i16 0, i16 0, i16 14, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 181, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8, i16 38, i16 76, i16 84, i16 94, i16 104, i16 117, i16 126, i16 135, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 36, i16 0, i16 170, i16 0, i16 171, i16 176, i16 66, i16 74, i16 0, i16 0, i16 0, i16 0, i16 13, i16 0, i16 81, i16 86, i16 49, i16 50, i16 112, i16 82, i16 96, i16 51, i16 118, i16 120, i16 123, i16 40, i16 54, i16 134, i16 41, i16 0, i16 0, i16 11, i16 165, i16 0, i16 0, i16 0, i16 0, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 46, i16 18, i16 0, i16 0, i16 9, i16 12, i16 47, i16 90, i16 67, i16 138, i16 141, i16 71, i16 0, i16 0, i16 26, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 22, i16 10, i16 0, i16 14, i16 142, i16 0, i16 145, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 34, i16 150, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 39, i16 169, i16 98, i16 100, i16 29, i16 0, i16 0, i16 147, i16 110, i16 0, i16 37, i16 0, i16 0, i16 0, i16 0, i16 0, i16 32, i16 21, i16 65, i16 0, i16 0, i16 33, i16 122, i16 129, i16 136, i16 57, i16 17, i16 0, i16 139, i16 140, i16 0, i16 0, i16 55, i16 127, i16 149, i16 128, i16 151, i16 56, i16 44, i16 45, i16 172, i16 131, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 173, i16 179, i16 0, i16 61, i16 175, i16 99, i16 146, i16 180, i16 167, i16 160, i16 168, i16 63, i16 73, i16 97, i16 83, i16 106, i16 52, i16 108, i16 53, i16 132, i16 154, i16 68, i16 93, i16 116, i16 148, i16 70, i16 95, i16 20, i16 62, i16 158, i16 107, i16 7, i16 89, i16 133, i16 25, i16 80, i16 85, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 109, i16 174, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 19, i16 16, i16 0, i16 0, i16 48, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 27, i16 28, i16 103, i16 114, i16 121, i16 115, i16 91, i16 0, i16 0, i16 125, i16 155, i16 72, i16 101, i16 124, i16 157, i16 64, i16 79, i16 119, i16 137, i16 130, i16 111, i16 161, i16 143, i16 163, i16 113, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 92, i16 5, i16 6, i16 3, i16 144, i16 58, i16 152, i16 30, i16 31, i16 35, i16 78, i16 0, i16 42, i16 15, i16 23, i16 0, i16 24, i16 0, i16 4, i16 0, i16 43, i16 69, i16 166, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 153, i16 156, i16 159, i16 0, i16 60, i16 164, i16 178, i16 77, i16 88, i16 105, i16 59, i16 162, i16 177, i16 75, i16 87, i16 102, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 831, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1251, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 842, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 979, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 837, i16 838, i16 839, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 840, i16 0, i16 841, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 121, i16 122, i16 311, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1697, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1539, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1183, i16 0, i16 1184, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1240, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1540, i16 0, i16 0, i16 0, i16 1541, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1058, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1185, i16 1186, i16 1187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 975, i16 976, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 816, i16 811, i16 819, i16 818, i16 800, i16 821, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 929, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1253, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 815, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 167, i16 168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 771, i16 772, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 877, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1179, i16 1180, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1181, i16 1182, i16 0, i16 0, i16 0, i16 0, i16 0, i16 977, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 978, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 260, i16 261, i16 0, i16 0, i16 0, i16 0, i16 125, i16 126, i16 148, i16 149, i16 450, i16 451, i16 0, i16 0, i16 0, i16 0, i16 1563, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 823, i16 824, i16 0, i16 0, i16 0, i16 0, i16 825, i16 0, i16 0, i16 0, i16 826, i16 0, i16 0, i16 0, i16 0, i16 0, i16 827, i16 828, i16 1340, i16 829, i16 1350, i16 1356, i16 1362, i16 0, i16 1379, i16 0, i16 1392, i16 1405, i16 0, i16 0, i16 0, i16 0, i16 946, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 961, i16 962, i16 963, i16 964, i16 0, i16 0, i16 0, i16 0, i16 803, i16 0, i16 965, i16 0, i16 0, i16 0, i16 0, i16 804, i16 0, i16 805, i16 0, i16 0, i16 806, i16 0, i16 0, i16 0, i16 802, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 808, i16 0, i16 876, i16 0, i16 0, i16 0, i16 809, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 878, i16 879, i16 880, i16 881, i16 882, i16 883, i16 884, i16 885, i16 682, i16 684, i16 686, i16 688, i16 0, i16 0, i16 0, i16 0, i16 1205, i16 0, i16 0, i16 0, i16 1206, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 966, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 989, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 767, i16 768, i16 0, i16 0, i16 769, i16 0, i16 770, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1545, i16 0, i16 1547, i16 0, i16 0, i16 0, i16 1550, i16 0, i16 0, i16 0, i16 0, i16 1554, i16 1555, i16 1558, i16 0, i16 0, i16 79, i16 80, i16 81, i16 82, i16 83, i16 0, i16 0, i16 84, i16 85, i16 0, i16 0, i16 0, i16 843, i16 844, i16 0, i16 0, i16 1158, i16 1159, i16 0, i16 0, i16 0, i16 1160, i16 0, i16 0, i16 1161, i16 0, i16 1162, i16 1163, i16 0, i16 0, i16 0, i16 0, i16 1176, i16 1177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1178, i16 0, i16 0, i16 971, i16 972, i16 0, i16 0, i16 973, i16 974, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 980, i16 0, i16 0, i16 0, i16 0, i16 0, i16 981, i16 982, i16 983, i16 984, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1502, i16 1503, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1504, i16 1505, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1506, i16 1507, i16 1508, i16 1509, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1252, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1543, i16 1544, i16 1546, i16 1548, i16 1549, i16 1551, i16 1553, i16 1557, i16 1564, i16 1567, i16 1572, i16 1577, i16 1582, i16 1587, i16 1592, i16 0, i16 1317, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1092, i16 1093, i16 0, i16 1095, i16 0, i16 1097, i16 1098, i16 0, i16 1100, i16 1101, i16 0, i16 1103, i16 1104, i16 1105, i16 0, i16 0, i16 1108, i16 1109, i16 0, i16 1111, i16 1112, i16 1113, i16 0, i16 0, i16 1116, i16 1117, i16 0, i16 1119, i16 1120, i16 1121, i16 0, i16 0, i16 1135, i16 1136, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 391, i16 412, i16 410, i16 420, i16 440, i16 434, i16 791, i16 448, i16 556, i16 554, i16 564, i16 570, i16 646, i16 550, i16 531, i16 0, i16 392, i16 413, i16 411, i16 421, i16 441, i16 435, i16 787, i16 449, i16 557, i16 555, i16 565, i16 571, i16 647, i16 551, i16 653, i16 0, i16 1164, i16 0, i16 0, i16 1165, i16 0, i16 1166, i16 1167, i16 0, i16 0, i16 1168, i16 1169, i16 0, i16 0, i16 1170, i16 1171, i16 0, i16 1426, i16 1422, i16 1416, i16 1428, i16 1480, i16 1436, i16 1438, i16 1440, i16 1450, i16 1456, i16 1468, i16 1446, i16 0, i16 1472, i16 1484, i16 0, i16 1427, i16 1423, i16 1417, i16 1429, i16 1481, i16 1437, i16 1439, i16 1441, i16 1451, i16 1457, i16 1469, i16 1447, i16 0, i16 1473, i16 1485, i16 0, i16 921, i16 0, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 943, i16 735, i16 944, i16 945, i16 0, i16 0, i16 793, i16 947, i16 847, i16 788, i16 0, i16 0, i16 949, i16 950, i16 951, i16 0, i16 1717, i16 1719, i16 1721, i16 1723, i16 1725, i16 1727, i16 1730, i16 1732, i16 1734, i16 1736, i16 1739, i16 1741, i16 1743, i16 1745, i16 1747, i16 0, i16 1718, i16 1720, i16 1722, i16 1724, i16 1726, i16 1728, i16 1731, i16 1733, i16 1735, i16 1737, i16 1740, i16 1742, i16 1744, i16 1746, i16 1748, i16 0, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 707, i16 710, i16 708, i16 711, i16 709, i16 1263, i16 1264, i16 0, i16 248, i16 249, i16 0, i16 0, i16 0, i16 0, i16 0, i16 345, i16 346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 517, i16 518, i16 519, i16 520, i16 513, i16 514, i16 527, i16 528, i16 521, i16 522, i16 537, i16 538, i16 539, i16 540, i16 547, i16 548, i16 773, i16 0, i16 774, i16 0, i16 0, i16 0, i16 775, i16 0, i16 0, i16 0, i16 0, i16 776, i16 0, i16 0, i16 0, i16 0, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 1037, i16 1038, i16 1039, i16 1040, i16 1041, i16 1042, i16 1043, i16 1044, i16 1045, i16 1542, i16 1644, i16 1649, i16 1654, i16 1659, i16 1664, i16 1669, i16 1674, i16 1679, i16 1682, i16 1685, i16 1690, i16 1691, i16 1692, i16 1693, i16 1694, i16 268, i16 269, i16 272, i16 273, i16 281, i16 282, i16 289, i16 290, i16 319, i16 320, i16 329, i16 330, i16 305, i16 306, i16 327, i16 328, i16 780, i16 0, i16 985, i16 0, i16 0, i16 986, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 525, i16 526, i16 543, i16 544, i16 535, i16 536, i16 541, i16 542, i16 584, i16 585, i16 594, i16 595, i16 560, i16 561, i16 568, i16 569, i16 1552, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1562, i16 0, i16 274, i16 275, i16 285, i16 286, i16 287, i16 288, i16 283, i16 284, i16 291, i16 292, i16 279, i16 280, i16 321, i16 322, i16 315, i16 316, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1046, i16 1047, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 0, i16 0, i16 0, i16 0, i16 1814, i16 1816, i16 1818, i16 1820, i16 1822, i16 1824, i16 1826, i16 1828, i16 1830, i16 1832, i16 1834, i16 1836, i16 1838, i16 1840, i16 1842, i16 1844, i16 1559, i16 1560, i16 1561, i16 1565, i16 1566, i16 1568, i16 1569, i16 1570, i16 1571, i16 1573, i16 1574, i16 1575, i16 1576, i16 1578, i16 1579, i16 1580, i16 1815, i16 1817, i16 1819, i16 1821, i16 1823, i16 1825, i16 1827, i16 1829, i16 1831, i16 1833, i16 1835, i16 1837, i16 1839, i16 1841, i16 1843, i16 1845, i16 795, i16 784, i16 0, i16 0, i16 796, i16 797, i16 0, i16 0, i16 0, i16 0, i16 967, i16 968, i16 0, i16 0, i16 969, i16 970, i16 545, i16 546, i16 598, i16 599, i16 588, i16 589, i16 600, i16 601, i16 586, i16 587, i16 596, i16 597, i16 617, i16 618, i16 619, i16 620, i16 1314, i16 1315, i16 1316, i16 0, i16 1318, i16 801, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1059, i16 0, i16 1061, i16 0, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1070, i16 1071, i16 0, i16 0, i16 0, i16 1060, i16 1062, i16 1072, i16 1073, i16 1074, i16 1076, i16 1077, i16 1078, i16 1080, i16 1081, i16 1082, i16 1084, i16 1085, i16 1086, i16 1088, i16 1091, i16 807, i16 794, i16 699, i16 700, i16 814, i16 766, i16 762, i16 822, i16 817, i16 698, i16 409, i16 786, i16 683, i16 685, i16 687, i16 716, i16 1581, i16 1583, i16 1584, i16 1585, i16 1586, i16 1588, i16 1589, i16 1590, i16 1591, i16 1593, i16 1594, i16 1596, i16 1597, i16 1599, i16 1600, i16 1602, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1556, i16 1335, i16 1336, i16 1337, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1075, i16 0, i16 0, i16 0, i16 1079, i16 0, i16 0, i16 0, i16 1083, i16 0, i16 0, i16 0, i16 1087, i16 0, i16 1089, i16 1090, i16 1846, i16 1848, i16 1850, i16 1852, i16 1854, i16 1856, i16 1858, i16 1860, i16 1862, i16 1864, i16 1866, i16 1868, i16 1870, i16 1872, i16 1874, i16 1876, i16 1847, i16 1849, i16 1851, i16 1853, i16 1855, i16 1857, i16 1859, i16 1861, i16 1863, i16 1865, i16 1867, i16 1869, i16 1871, i16 1873, i16 1875, i16 1877, i16 312, i16 432, i16 433, i16 566, i16 567, i16 572, i16 573, i16 574, i16 575, i16 578, i16 579, i16 576, i16 577, i16 0, i16 131, i16 132, i16 1595, i16 1598, i16 1601, i16 1604, i16 1609, i16 1614, i16 1619, i16 1624, i16 1629, i16 1634, i16 1639, i16 0, i16 0, i16 0, i16 0, i16 0, i16 830, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 832, i16 833, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 834, i16 835, i16 836, i16 323, i16 324, i16 332, i16 333, i16 336, i16 337, i16 349, i16 350, i16 354, i16 357, i16 358, i16 367, i16 368, i16 359, i16 360, i16 361, i16 1603, i16 1605, i16 1606, i16 1607, i16 1608, i16 1610, i16 1611, i16 1612, i16 1613, i16 1615, i16 1616, i16 1617, i16 1618, i16 1620, i16 1621, i16 1622, i16 580, i16 581, i16 592, i16 593, i16 628, i16 629, i16 650, i16 651, i16 652, i16 665, i16 666, i16 669, i16 670, i16 678, i16 679, i16 530, i16 1094, i16 1096, i16 1099, i16 1102, i16 1106, i16 1107, i16 1110, i16 1114, i16 1115, i16 1118, i16 1122, i16 1125, i16 1134, i16 0, i16 0, i16 0, i16 77, i16 718, i16 764, i16 756, i16 810, i16 765, i16 739, i16 757, i16 820, i16 761, i16 88, i16 785, i16 781, i16 733, i16 760, i16 812, i16 845, i16 846, i16 948, i16 0, i16 0, i16 848, i16 849, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 78, i16 717, i16 720, i16 798, i16 759, i16 758, i16 755, i16 721, i16 743, i16 745, i16 792, i16 789, i16 713, i16 731, i16 712, i16 741, i16 850, i16 0, i16 851, i16 852, i16 853, i16 854, i16 855, i16 856, i16 857, i16 750, i16 752, i16 858, i16 859, i16 0, i16 813, i16 0, i16 341, i16 342, i16 347, i16 348, i16 351, i16 352, i16 363, i16 364, i16 369, i16 370, i16 373, i16 374, i16 371, i16 372, i16 378, i16 379, i16 1878, i16 1880, i16 1882, i16 1884, i16 1729, i16 1738, i16 1751, i16 0, i16 0, i16 0, i16 0, i16 1236, i16 1237, i16 1238, i16 1239, i16 0, i16 1367, i16 1339, i16 1343, i16 1345, i16 1347, i16 1349, i16 1353, i16 1355, i16 1359, i16 1361, i16 1368, i16 1370, i16 1372, i16 1374, i16 1376, i16 1378, i16 1623, i16 1625, i16 1626, i16 1627, i16 1628, i16 1630, i16 1631, i16 1632, i16 1633, i16 1635, i16 1636, i16 1637, i16 1638, i16 1640, i16 1641, i16 1642, i16 1879, i16 1881, i16 1883, i16 1885, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1232, i16 1233, i16 1234, i16 1235, i16 0, i16 91, i16 89, i16 109, i16 135, i16 129, i16 123, i16 146, i16 171, i16 199, i16 197, i16 207, i16 221, i16 301, i16 299, i16 309, i16 313, i16 603, i16 0, i16 0, i16 0, i16 0, i16 673, i16 674, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 92, i16 90, i16 110, i16 136, i16 130, i16 124, i16 147, i16 172, i16 200, i16 198, i16 208, i16 222, i16 302, i16 300, i16 310, i16 314, i16 93, i16 94, i16 107, i16 108, i16 201, i16 202, i16 205, i16 206, i16 303, i16 304, i16 307, i16 308, i16 414, i16 415, i16 418, i16 419, i16 861, i16 862, i16 863, i16 864, i16 865, i16 866, i16 867, i16 868, i16 869, i16 870, i16 871, i16 872, i16 873, i16 874, i16 875, i16 0, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 231, i16 232, i16 223, i16 224, i16 225, i16 226, i16 209, i16 210, i16 1123, i16 1124, i16 0, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1132, i16 1133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 612, i16 613, i16 648, i16 649, i16 660, i16 661, i16 654, i16 655, i16 656, i16 657, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1382, i16 1384, i16 0, i16 1386, i16 1389, i16 1391, i16 1398, i16 1400, i16 1402, i16 1404, i16 1363, i16 1393, i16 1342, i16 1352, i16 1358, i16 1365, i16 1383, i16 1385, i16 1388, i16 1387, i16 1390, i16 1394, i16 1399, i16 1401, i16 1403, i16 1406, i16 1366, i16 1396, i16 1381, i16 1395, i16 1407, i16 0, i16 362, i16 365, i16 366, i16 387, i16 388, i16 397, i16 398, i16 389, i16 390, i16 403, i16 405, i16 406, i16 456, i16 457, i16 416, i16 417, i16 1643, i16 1645, i16 1646, i16 1647, i16 1648, i16 1650, i16 1651, i16 1652, i16 1653, i16 1655, i16 1656, i16 1657, i16 1658, i16 1660, i16 1661, i16 1662, i16 1137, i16 0, i16 0, i16 0, i16 1138, i16 0, i16 0, i16 0, i16 1139, i16 0, i16 0, i16 0, i16 1140, i16 0, i16 0, i16 0, i16 626, i16 627, i16 624, i16 625, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 641, i16 642, i16 639, i16 640, i16 658, i16 659, i16 1141, i16 1142, i16 1143, i16 1144, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1397, i16 1341, i16 1344, i16 1346, i16 1348, i16 1351, i16 1354, i16 1357, i16 1360, i16 1364, i16 1369, i16 1371, i16 1373, i16 1375, i16 1377, i16 1380, i16 886, i16 887, i16 888, i16 889, i16 890, i16 891, i16 892, i16 893, i16 894, i16 895, i16 896, i16 897, i16 898, i16 899, i16 900, i16 901, i16 1145, i16 1146, i16 1147, i16 1148, i16 1149, i16 1150, i16 1151, i16 1152, i16 1153, i16 1154, i16 1155, i16 0, i16 1156, i16 1157, i16 0, i16 0, i16 380, i16 381, i16 382, i16 383, i16 393, i16 394, i16 395, i16 396, i16 401, i16 402, i16 399, i16 400, i16 442, i16 443, i16 444, i16 445, i16 127, i16 128, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 173, i16 174, i16 182, i16 183, i16 184, i16 185, i16 192, i16 193, i16 1663, i16 1665, i16 1666, i16 1667, i16 1668, i16 1670, i16 1671, i16 1672, i16 1673, i16 1675, i16 1676, i16 1677, i16 1678, i16 1680, i16 1681, i16 1683, i16 1408, i16 1410, i16 1412, i16 1414, i16 1420, i16 1424, i16 1430, i16 1432, i16 1434, i16 1442, i16 1444, i16 1448, i16 1452, i16 1454, i16 1458, i16 1460, i16 1409, i16 1411, i16 1413, i16 1415, i16 1421, i16 1425, i16 1431, i16 1433, i16 1435, i16 1443, i16 1445, i16 1449, i16 1453, i16 1455, i16 1459, i16 1461, i16 902, i16 903, i16 904, i16 905, i16 906, i16 907, i16 908, i16 909, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 137, i16 138, i16 133, i16 134, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 97, i16 98, i16 1418, i16 1419, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 141, i16 142, i16 95, i16 96, i16 139, i16 140, i16 163, i16 164, i16 165, i16 166, i16 169, i16 170, i16 175, i16 176, i16 180, i16 181, i16 143, i16 144, i16 150, i16 151, i16 270, i16 271, i16 266, i16 267, i16 343, i16 344, i16 452, i16 453, i16 454, i16 455, i16 0, i16 0, i16 1172, i16 1173, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1174, i16 1175, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1684, i16 1686, i16 1687, i16 1688, i16 1689, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 0, i16 0, i16 0, i16 918, i16 919, i16 920, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 667, i16 668, i16 671, i16 672, i16 675, i16 676, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1695, i16 1696, i16 1698, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 930, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 931, i16 0, i16 932, i16 0, i16 933, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1699, i16 1700, i16 1701, i16 1702, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1188, i16 0, i16 1189, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 934, i16 0, i16 935, i16 936, i16 0, i16 937, i16 938, i16 939, i16 940, i16 0, i16 0, i16 941, i16 0, i16 0, i16 0, i16 942, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 0, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 680, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 719, i16 714, i16 749, i16 778, i16 751, i16 715, i16 681, i16 0, i16 0, i16 0, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 790, i16 732, i16 860, i16 744, i16 746, i16 0, i16 436, i16 437, i16 475, i16 476, i16 489, i16 490, i16 499, i16 500, i16 505, i16 506, i16 511, i16 512, i16 515, i16 516, i16 523, i16 524, i16 1462, i16 1464, i16 1466, i16 1470, i16 1474, i16 1476, i16 1478, i16 1482, i16 1486, i16 1488, i16 1491, i16 1492, i16 1495, i16 1496, i16 1498, i16 1500, i16 1207, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1463, i16 1465, i16 1467, i16 1471, i16 1475, i16 1477, i16 1479, i16 1483, i16 1487, i16 1489, i16 1490, i16 1493, i16 1494, i16 1497, i16 1499, i16 1501, i16 952, i16 0, i16 0, i16 0, i16 0, i16 953, i16 0, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 0, i16 960, i16 0, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 0, i16 0, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 186, i16 187, i16 237, i16 238, i16 203, i16 204, i16 229, i16 230, i16 235, i16 236, i16 219, i16 220, i16 264, i16 265, i16 262, i16 263, i16 188, i16 189, i16 190, i16 191, i16 241, i16 242, i16 239, i16 240, i16 243, i16 244, i16 227, i16 228, i16 233, i16 234, i16 250, i16 251, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 0, i16 0, i16 0, i16 0, i16 1230, i16 0, i16 0, i16 0, i16 460, i16 461, i16 458, i16 459, i16 479, i16 480, i16 481, i16 482, i16 495, i16 496, i16 497, i16 498, i16 501, i16 502, i16 503, i16 504, i16 462, i16 463, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 602, i16 1231, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 722, i16 87, i16 153, i16 1888, i16 179, i16 196, i16 247, i16 259, i16 278, i16 298, i16 335, i16 340, i16 356, i16 377, i16 386, i16 408, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 317, i16 318, i16 325, i16 326, i16 446, i16 447, i16 438, i16 439, i16 1749, i16 1752, i16 1754, i16 1756, i16 1758, i16 1760, i16 1762, i16 1764, i16 1766, i16 1768, i16 1770, i16 1772, i16 1774, i16 1776, i16 1778, i16 1780, i16 470, i16 471, i16 472, i16 473, i16 590, i16 591, i16 582, i16 583, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 1750, i16 1753, i16 1755, i16 1757, i16 1759, i16 1761, i16 1763, i16 1765, i16 1767, i16 1769, i16 1771, i16 1773, i16 1775, i16 1777, i16 1779, i16 1781, i16 1241, i16 1242, i16 1243, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 987, i16 988, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 477, i16 484, i16 487, i16 508, i16 533, i16 552, i16 615, i16 622, i16 637, i16 644, i16 663, i16 747, i16 742, i16 748, i16 779, i16 777, i16 478, i16 485, i16 488, i16 509, i16 534, i16 553, i16 616, i16 623, i16 638, i16 645, i16 664, i16 753, i16 740, i16 754, i16 799, i16 1281, i16 734, i16 0, i16 0, i16 736, i16 737, i16 738, i16 782, i16 783, i16 729, i16 730, i16 723, i16 728, i16 726, i16 727, i16 724, i16 725, i16 990, i16 991, i16 992, i16 993, i16 0, i16 0, i16 994, i16 995, i16 996, i16 997, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 998, i16 999, i16 1000, i16 1001, i16 1002, i16 1003, i16 1004, i16 1005, i16 1006, i16 1007, i16 1008, i16 1009, i16 1010, i16 1011, i16 1012, i16 1013, i16 1510, i16 1511, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 491, i16 492, i16 493, i16 494, i16 558, i16 559, i16 562, i16 563, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1265, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1014, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1023, i16 1024, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1782, i16 1784, i16 1786, i16 1788, i16 1790, i16 1792, i16 1794, i16 1796, i16 1798, i16 1800, i16 1802, i16 1804, i16 1806, i16 1808, i16 1810, i16 1812, i16 1783, i16 1785, i16 1787, i16 1789, i16 1791, i16 1793, i16 1795, i16 1797, i16 1799, i16 1801, i16 1803, i16 1805, i16 1807, i16 1809, i16 1811, i16 1813, i16 1528, i16 1529, i16 1530, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 0, i16 0, i16 0, i16 0, i16 0, i16 763, i16 86, i16 152, i16 1887, i16 178, i16 195, i16 246, i16 258, i16 277, i16 297, i16 334, i16 339, i16 355, i16 376, i16 385, i16 407, i16 253, i16 254, i16 255, i16 256, i16 257, i16 532, i16 510, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 3, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 5, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 134, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 136, i16 0, i16 0, i16 0, i16 137, i16 0, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 1, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 12, i16 14, i16 16, i16 18, i16 20, i16 22, i16 24, i16 26, i16 28, i16 30, i16 32, i16 34, i16 36, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 13, i16 15, i16 17, i16 19, i16 21, i16 23, i16 25, i16 27, i16 29, i16 31, i16 33, i16 35, i16 37, i16 39, i16 41, i16 43, i16 45, i16 47, i16 49, i16 51, i16 53, i16 55, i16 57, i16 59, i16 61, i16 63, i16 92, i16 93, i16 94, i16 95, i16 202, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 96, i16 0, i16 0, i16 0, i16 133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 135, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 203, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 5, i16 6, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 4, i16 3, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 126, i16 132, i16 138, i16 144, i16 150, i16 156, i16 162, i16 168, i16 174, i16 180, i16 186, i16 192, i16 198, i16 204, i16 210, i16 216, i16 222, i16 228, i16 234, i16 240, i16 246, i16 252, i16 258, i16 264, i16 270, i16 276, i16 282, i16 288, i16 294, i16 300, i16 306, i16 7, i16 13, i16 23, i16 39, i16 32, i16 40, i16 38, i16 22, i16 24, i16 29, i16 36, i16 41, i16 10, i16 9, i16 16, i16 15, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 12, i16 11, i16 42, i16 43, i16 44, i16 14, i16 19, i16 75, i16 77, i16 79, i16 81, i16 83, i16 85, i16 87, i16 89, i16 91, i16 93, i16 95, i16 97, i16 99, i16 101, i16 103, i16 105, i16 107, i16 109, i16 111, i16 113, i16 115, i16 117, i16 119, i16 121, i16 123, i16 125, i16 26, i16 45, i16 27, i16 21, i16 0, i16 30, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 25, i16 37, i16 28, i16 20, i16 8, i16 312, i16 318, i16 324, i16 330, i16 336, i16 337, i16 343, i16 344, i16 350, i16 356, i16 362, i16 368, i16 374, i16 380, i16 386, i16 17, i16 393, i16 394, i16 395, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 47, i16 0, i16 0, i16 0, i16 0, i16 31, i16 410, i16 411, i16 412, i16 413, i16 414, i16 396, i16 18, i16 49, i16 50, i16 51, i16 52, i16 53, i16 48, i16 392, i16 46, i16 33, i16 55, i16 57, i16 59, i16 61, i16 63, i16 65, i16 67, i16 69, i16 71, i16 73, i16 34, i16 35, i16 0, i16 0, i16 0, i16 0, i16 32, i16 3, i16 45, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7, i16 37, i16 2, i16 12, i16 0, i16 0, i16 0, i16 0, i16 27, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 25, i16 33, i16 28, i16 44, i16 11, i16 14, i16 29, i16 40, i16 23, i16 9, i16 20, i16 10, i16 38, i16 22, i16 42, i16 31, i16 49, i16 36, i16 43, i16 16, i16 15, i16 26, i16 21, i16 35, i16 17, i16 18, i16 13, i16 47, i16 24, i16 6, i16 34, i16 4, i16 39, i16 19, i16 8, i16 41, i16 5, i16 48, i16 50, i16 46, i16 30, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 266, i16 373, i16 661, i16 236, i16 595, i16 0, i16 0, i16 94, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 615, i16 647, i16 136, i16 0, i16 0, i16 390, i16 36, i16 15, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 31, i16 0, i16 0, i16 0, i16 0, i16 0, i16 60, i16 455, i16 499, i16 0, i16 0, i16 4, i16 259, i16 192, i16 133, i16 445, i16 669, i16 550, i16 172, i16 0, i16 0, i16 62, i16 153, i16 389, i16 409, i16 145, i16 1, i16 180, i16 570, i16 258, i16 261, i16 414, i16 610, i16 140, i16 566, i16 280, i16 150, i16 468, i16 333, i16 655, i16 176, i16 402, i16 260, i16 173, i16 607, i16 281, i16 293, i16 306, i16 319, i16 267, i16 168, i16 368, i16 382, i16 456, i16 249, i16 437, i16 500, i16 95, i16 14, i16 465, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 68, i16 129, i16 0, i16 0, i16 12, i16 0, i16 9, i16 0, i16 533, i16 84, i16 587, i16 606, i16 447, i16 652, i16 668, i16 291, i16 318, i16 459, i16 61, i16 659, i16 395, i16 195, i16 202, i16 186, i16 30, i16 590, i16 617, i16 422, i16 209, i16 535, i16 137, i16 485, i16 511, i16 222, i16 165, i16 337, i16 355, i16 371, i16 385, i16 190, i16 35, i16 627, i16 98, i16 660, i16 85, i16 278, i16 244, i16 376, i16 391, i16 101, i16 69, i16 377, i16 185, i16 401, i16 205, i16 453, i16 38, i16 24, i16 331, i16 352, i16 644, i16 649, i16 662, i16 398, i16 673, i16 454, i16 287, i16 152, i16 223, i16 307, i16 294, i16 419, i16 39, i16 0, i16 357, i16 22, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 296, i16 160, i16 363, i16 342, i16 360, i16 378, i16 42, i16 415, i16 434, i16 206, i16 431, i16 13, i16 490, i16 462, i16 521, i16 486, i16 304, i16 593, i16 525, i16 253, i16 622, i16 645, i16 234, i16 269, i16 104, i16 279, i16 63, i16 425, i16 199, i16 78, i16 174, i16 72, i16 569, i16 295, i16 620, i16 161, i16 340, i16 658, i16 273, i16 680, i16 289, i16 404, i16 361, i16 359, i16 372, i16 423, i16 73, i16 417, i16 315, i16 132, i16 356, i16 362, i16 381, i16 412, i16 26, i16 594, i16 87, i16 471, i16 497, i16 601, i16 227, i16 118, i16 542, i16 557, i16 317, i16 353, i16 265, i16 182, i16 188, i16 0, i16 0, i16 0, i16 0, i16 5, i16 74, i16 544, i16 448, i16 211, i16 475, i16 575, i16 599, i16 524, i16 545, i16 552, i16 239, i16 157, i16 66, i16 585, i16 103, i16 614, i16 48, i16 632, i16 687, i16 282, i16 308, i16 329, i16 604, i16 514, i16 183, i16 537, i16 530, i16 326, i16 177, i16 226, i16 380, i16 406, i16 76, i16 204, i16 208, i16 215, i16 584, i16 247, i16 605, i16 428, i16 679, i16 634, i16 637, i16 37, i16 138, i16 316, i16 196, i16 34, i16 230, i16 44, i16 286, i16 676, i16 312, i16 603, i16 609, i16 549, i16 513, i16 310, i16 325, i16 346, i16 77, i16 388, i16 128, i16 399, i16 411, i16 418, i16 54, i16 444, i16 299, i16 480, i16 113, i16 197, i16 602, i16 89, i16 158, i16 635, i16 59, i16 670, i16 493, i16 276, i16 105, i16 416, i16 429, i16 334, i16 159, i16 110, i16 370, i16 384, i16 684, i16 248, i16 424, i16 301, i16 156, i16 343, i16 242, i16 214, i16 504, i16 515, i16 556, i16 403, i16 81, i16 364, i16 374, i16 189, i16 413, i16 427, i16 28, i16 207, i16 473, i16 494, i16 672, i16 228, i16 540, i16 283, i16 100, i16 586, i16 323, i16 344, i16 375, i16 155, i16 630, i16 124, i16 626, i16 526, i16 613, i16 665, i16 677, i16 16, i16 305, i16 290, i16 167, i16 339, i16 383, i16 408, i16 122, i16 449, i16 80, i16 467, i16 169, i16 218, i16 200, i16 532, i16 543, i16 561, i16 508, i16 510, i16 553, i16 256, i16 582, i16 653, i16 643, i16 0, i16 241, i16 619, i16 666, i16 147, i16 348, i16 397, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 648, i16 141, i16 82, i16 292, i16 309, i16 608, i16 354, i16 410, i16 386, i16 311, i16 439, i16 321, i16 109, i16 460, i16 481, i16 498, i16 394, i16 495, i16 461, i16 112, i16 19, i16 457, i16 254, i16 489, i16 503, i16 221, i16 512, i16 86, i16 527, i16 139, i16 568, i16 580, i16 143, i16 0, i16 0, i16 7, i16 300, i16 49, i16 57, i16 528, i16 102, i16 430, i16 194, i16 564, i16 17, i16 579, i16 0, i16 0, i16 144, i16 83, i16 531, i16 324, i16 229, i16 154, i16 179, i16 387, i16 53, i16 43, i16 277, i16 201, i16 108, i16 21, i16 625, i16 483, i16 146, i16 347, i16 396, i16 446, i16 505, i16 252, i16 336, i16 477, i16 351, i16 379, i16 322, i16 436, i16 0, i16 0, i16 18, i16 8, i16 420, i16 250, i16 450, i16 472, i16 633, i16 518, i16 529, i16 119, i16 631, i16 268, i16 674, i16 142, i16 686, i16 458, i16 134, i16 328, i16 678, i16 488, i16 509, i16 491, i16 541, i16 657, i16 120, i16 563, i16 675, i16 583, i16 245, i16 91, i16 618, i16 0, i16 0, i16 0, i16 683, i16 516, i16 314, i16 681, i16 193, i16 572, i16 358, i16 443, i16 611, i16 421, i16 646, i16 262, i16 272, i16 107, i16 99, i16 538, i16 685, i16 288, i16 64, i16 70, i16 166, i16 50, i16 25, i16 52, i16 71, i16 392, i16 191, i16 426, i16 433, i16 442, i16 451, i16 441, i16 435, i16 438, i16 11, i16 338, i16 106, i16 40, i16 0, i16 0, i16 10, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 440, i16 466, i16 478, i16 501, i16 523, i16 536, i16 554, i16 522, i16 592, i16 581, i16 233, i16 555, i16 251, i16 476, i16 636, i16 264, i16 203, i16 452, i16 474, i16 365, i16 178, i16 187, i16 539, i16 126, i16 565, i16 578, i16 600, i16 220, i16 2, i16 624, i16 639, i16 654, i16 212, i16 562, i16 407, i16 616, i16 33, i16 650, i16 47, i16 332, i16 271, i16 131, i16 97, i16 298, i16 162, i16 341, i16 65, i16 367, i16 213, i16 149, i16 151, i16 302, i16 163, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3, i16 484, i16 345, i16 67, i16 591, i16 469, i16 487, i16 51, i16 171, i16 303, i16 400, i16 175, i16 58, i16 125, i16 598, i16 79, i16 628, i16 463, i16 651, i16 350, i16 274, i16 470, i16 56, i16 464, i16 520, i16 612, i16 640, i16 238, i16 507, i16 123, i16 127, i16 88, i16 623, i16 642, i16 664, i16 548, i16 547, i16 216, i16 682, i16 492, i16 116, i16 519, i16 240, i16 667, i16 588, i16 597, i16 23, i16 559, i16 641, i16 577, i16 93, i16 270, i16 96, i16 225, i16 534, i16 589, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 482, i16 184, i16 224, i16 393, i16 0, i16 0, i16 0, i16 41, i16 121, i16 75, i16 198, i16 517, i16 90, i16 263, i16 210, i16 671, i16 231, i16 496, i16 45, i16 574, i16 246, i16 235, i16 621, i16 32, i16 479, i16 237, i16 560, i16 284, i16 571, i16 327, i16 217, i16 366, i16 232, i16 432, i16 55, i16 111, i16 0, i16 27, i16 114, i16 219, i16 115, i16 573, i16 546, i16 567, i16 6, i16 46, i16 243, i16 130, i16 502, i16 320, i16 92, i16 117, i16 369, i16 551, i16 558, i16 20, i16 164, i16 576, i16 275, i16 257, i16 297, i16 656, i16 596, i16 506, i16 255, i16 629, i16 638, i16 135, i16 0, i16 29, i16 663, i16 285, i16 313, i16 349, i16 148, i16 181, i16 405, i16 330, i16 335, i16 170, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3171, i16 12478, i16 12479, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2196, i16 6503, i16 11985, i16 1886, i16 6504, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2650, i16 12441, i16 12442, i16 0, i16 0, i16 0, i16 0, i16 12443, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2542, i16 11756, i16 11757, i16 6356, i16 0, i16 0, i16 11758, i16 11759, i16 6358, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1165, i16 0, i16 5777, i16 0, i16 5778, i16 10826, i16 10825, i16 10827, i16 10828, i16 10829, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1956, i16 6848, i16 6849, i16 1656, i16 0, i16 12717, i16 0, i16 12718, i16 0, i16 12719, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7035, i16 0, i16 0, i16 1517, i16 7036, i16 13063, i16 13064, i16 13065, i16 7037, i16 0, i16 1888, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7306, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 341, i16 0, i16 342, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 351, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 326, i16 327, i16 325, i16 328, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11125, i16 0, i16 0, i16 5992, i16 0, i16 5993, i16 0, i16 990, i16 11126, i16 0, i16 0, i16 947, i16 5990, i16 11127, i16 0, i16 11128, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 251, i16 0, i16 0, i16 0, i16 0, i16 250, i16 255, i16 0, i16 259, i16 260, i16 0, i16 0, i16 261, i16 262, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 368, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7427, i16 2983, i16 3748, i16 7428, i16 0, i16 7430, i16 3029, i16 7431, i16 3631, i16 7432, i16 2168, i16 7433, i16 1818, i16 7434, i16 1866, i16 965, i16 7435, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3587, i16 0, i16 13156, i16 13157, i16 13158, i16 13159, i16 0, i16 13160, i16 7092, i16 13161, i16 13162, i16 0, i16 0, i16 0, i16 0, i16 7093, i16 5548, i16 13163, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7201, i16 7287, i16 7229, i16 7315, i16 7247, i16 7332, i16 7265, i16 7350, i16 7274, i16 7359, i16 7271, i16 7356, i16 7273, i16 7358, i16 7272, i16 7357, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8287, i16 0, i16 0, i16 0, i16 0, i16 8288, i16 0, i16 2969, i16 8289, i16 0, i16 0, i16 8290, i16 0, i16 0, i16 8291, i16 4207, i16 3113, i16 8292, i16 0, i16 8293, i16 8294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9649, i16 5112, i16 9650, i16 9651, i16 5118, i16 0, i16 0, i16 5116, i16 0, i16 2728, i16 0, i16 0, i16 5123, i16 5113, i16 9652, i16 0, i16 9653, i16 0, i16 9654, i16 5114, i16 5090, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9574, i16 0, i16 9575, i16 0, i16 0, i16 1049, i16 0, i16 0, i16 892, i16 0, i16 9576, i16 5056, i16 0, i16 9577, i16 5059, i16 9578, i16 0, i16 0, i16 3600, i16 9579, i16 0, i16 9580, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 364, i16 0, i16 0, i16 363, i16 0, i16 362, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7882, i16 7883, i16 0, i16 0, i16 4012, i16 3474, i16 0, i16 2068, i16 7884, i16 4018, i16 0, i16 7885, i16 7886, i16 0, i16 4017, i16 4008, i16 0, i16 7887, i16 7888, i16 7889, i16 2472, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 995, i16 0, i16 0, i16 7950, i16 0, i16 0, i16 4058, i16 7951, i16 2153, i16 4054, i16 7952, i16 4052, i16 7953, i16 4053, i16 7954, i16 4055, i16 7955, i16 0, i16 7956, i16 7957, i16 7958, i16 0, i16 7959, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3650, i16 0, i16 9772, i16 5182, i16 0, i16 0, i16 0, i16 847, i16 0, i16 9773, i16 0, i16 9774, i16 9775, i16 9776, i16 9777, i16 0, i16 9778, i16 5184, i16 0, i16 0, i16 9779, i16 5183, i16 0, i16 5181, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10072, i16 10073, i16 5305, i16 0, i16 10074, i16 0, i16 0, i16 5306, i16 10075, i16 0, i16 0, i16 10076, i16 5307, i16 0, i16 0, i16 0, i16 10077, i16 0, i16 10078, i16 10079, i16 866, i16 0, i16 10080, i16 10081, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3182, i16 0, i16 6816, i16 12656, i16 0, i16 12657, i16 12658, i16 6817, i16 12659, i16 6818, i16 0, i16 0, i16 12660, i16 0, i16 6819, i16 12661, i16 12662, i16 0, i16 12663, i16 12664, i16 0, i16 0, i16 0, i16 12665, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11391, i16 0, i16 1000, i16 6110, i16 6111, i16 11358, i16 0, i16 0, i16 0, i16 11359, i16 0, i16 6106, i16 0, i16 1808, i16 11360, i16 0, i16 11361, i16 0, i16 11362, i16 0, i16 11363, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1683, i16 0, i16 12778, i16 0, i16 12779, i16 6888, i16 12780, i16 12781, i16 6889, i16 0, i16 12782, i16 0, i16 12783, i16 12784, i16 12785, i16 0, i16 1055, i16 12786, i16 0, i16 12787, i16 6890, i16 0, i16 12788, i16 12789, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8637, i16 0, i16 0, i16 8638, i16 0, i16 0, i16 8639, i16 4435, i16 4441, i16 4433, i16 0, i16 2779, i16 8640, i16 8641, i16 4438, i16 3156, i16 8642, i16 8643, i16 4432, i16 8644, i16 4437, i16 3636, i16 1834, i16 0, i16 8645, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7102, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7101, i16 7104, i16 7108, i16 7107, i16 0, i16 7105, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11222, i16 0, i16 0, i16 11223, i16 0, i16 3292, i16 0, i16 3660, i16 11224, i16 11225, i16 11226, i16 11227, i16 0, i16 6049, i16 0, i16 0, i16 11228, i16 0, i16 0, i16 11230, i16 11231, i16 6056, i16 11232, i16 0, i16 6048, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8409, i16 8410, i16 0, i16 8411, i16 0, i16 4283, i16 0, i16 0, i16 8412, i16 1205, i16 4284, i16 8413, i16 0, i16 4285, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8414, i16 0, i16 8415, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4599, i16 752, i16 8844, i16 8845, i16 1720, i16 0, i16 8846, i16 0, i16 2177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8847, i16 8848, i16 0, i16 0, i16 8849, i16 2707, i16 0, i16 8850, i16 3053, i16 4605, i16 2405, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4632, i16 0, i16 0, i16 8909, i16 8910, i16 0, i16 0, i16 2464, i16 0, i16 4639, i16 8911, i16 0, i16 8912, i16 4633, i16 8913, i16 0, i16 4630, i16 4637, i16 8914, i16 0, i16 0, i16 0, i16 4607, i16 0, i16 8915, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 316, i16 315, i16 0, i16 0, i16 0, i16 312, i16 0, i16 0, i16 314, i16 313, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8817, i16 0, i16 8818, i16 0, i16 0, i16 3069, i16 4663, i16 0, i16 0, i16 0, i16 0, i16 3279, i16 0, i16 8819, i16 0, i16 2706, i16 8820, i16 8821, i16 0, i16 3368, i16 8822, i16 4583, i16 934, i16 2605, i16 8823, i16 8824, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7940, i16 2549, i16 0, i16 7941, i16 970, i16 7942, i16 0, i16 0, i16 7943, i16 7944, i16 7945, i16 7946, i16 7947, i16 7948, i16 0, i16 4042, i16 0, i16 4044, i16 2069, i16 858, i16 7949, i16 0, i16 4047, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 311, i16 310, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2652, i16 12969, i16 6980, i16 0, i16 3024, i16 0, i16 6985, i16 6981, i16 0, i16 0, i16 0, i16 6982, i16 0, i16 12970, i16 3300, i16 3413, i16 0, i16 2861, i16 12971, i16 0, i16 12972, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1124, i16 11078, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11079, i16 920, i16 5954, i16 3639, i16 2498, i16 11080, i16 0, i16 3131, i16 0, i16 5966, i16 11081, i16 988, i16 5964, i16 0, i16 5962, i16 5953, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2662, i16 9547, i16 9548, i16 9549, i16 883, i16 1622, i16 5035, i16 0, i16 0, i16 9551, i16 9552, i16 0, i16 9553, i16 1974, i16 5040, i16 0, i16 5039, i16 5034, i16 0, i16 5037, i16 9554, i16 0, i16 1099, i16 9555, i16 5036, i16 2948, i16 9556, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8864, i16 8865, i16 3280, i16 1919, i16 4620, i16 0, i16 4619, i16 8866, i16 8867, i16 2243, i16 0, i16 0, i16 8868, i16 1497, i16 0, i16 8869, i16 8870, i16 4613, i16 2086, i16 8871, i16 0, i16 2885, i16 2924, i16 8872, i16 8873, i16 0, i16 8874, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11173, i16 6028, i16 11174, i16 11175, i16 3524, i16 11176, i16 0, i16 0, i16 11177, i16 3575, i16 11178, i16 0, i16 11179, i16 11180, i16 0, i16 0, i16 0, i16 11181, i16 2619, i16 11182, i16 11183, i16 11184, i16 1102, i16 11185, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6850, i16 12720, i16 0, i16 1057, i16 0, i16 0, i16 0, i16 2954, i16 6851, i16 6852, i16 0, i16 12721, i16 12722, i16 12723, i16 2589, i16 2888, i16 12724, i16 0, i16 0, i16 0, i16 12725, i16 12726, i16 0, i16 6853, i16 12727, i16 0, i16 12728, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4292, i16 0, i16 4294, i16 0, i16 8425, i16 0, i16 8426, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8427, i16 0, i16 0, i16 0, i16 0, i16 8429, i16 0, i16 4295, i16 0, i16 0, i16 0, i16 8428, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10961, i16 5874, i16 10962, i16 0, i16 0, i16 10963, i16 5872, i16 10964, i16 0, i16 2208, i16 0, i16 3164, i16 5877, i16 10965, i16 5876, i16 1639, i16 3710, i16 0, i16 10966, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5893, i16 0, i16 0, i16 0, i16 0, i16 13078, i16 7046, i16 3001, i16 0, i16 13079, i16 7047, i16 7049, i16 0, i16 13080, i16 7050, i16 13081, i16 13082, i16 13083, i16 0, i16 0, i16 13084, i16 13085, i16 13086, i16 0, i16 0, i16 7048, i16 1668, i16 3422, i16 3350, i16 4361, i16 0, i16 4996, i16 3374, i16 0, i16 0, i16 0, i16 0, i16 9766, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9767, i16 5177, i16 2557, i16 5180, i16 5175, i16 9768, i16 9769, i16 0, i16 5179, i16 9770, i16 0, i16 0, i16 9771, i16 5178, i16 2751, i16 802, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4915, i16 9346, i16 9347, i16 4920, i16 4924, i16 9348, i16 9349, i16 1331, i16 0, i16 0, i16 9350, i16 0, i16 9351, i16 9352, i16 9353, i16 0, i16 0, i16 9354, i16 9355, i16 0, i16 1259, i16 4922, i16 0, i16 9356, i16 0, i16 0, i16 0, i16 1216, i16 0, i16 0, i16 0, i16 0, i16 9780, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5176, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3286, i16 9781, i16 0, i16 0, i16 5186, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9539, i16 0, i16 0, i16 9540, i16 0, i16 0, i16 9541, i16 3517, i16 5042, i16 0, i16 9542, i16 9543, i16 0, i16 9544, i16 5041, i16 9545, i16 0, i16 0, i16 0, i16 2335, i16 0, i16 5038, i16 9546, i16 3547, i16 0, i16 0, i16 2835, i16 5032, i16 0, i16 0, i16 0, i16 0, i16 10582, i16 0, i16 3236, i16 986, i16 0, i16 10583, i16 0, i16 5611, i16 0, i16 5608, i16 10584, i16 5613, i16 10585, i16 10586, i16 5612, i16 0, i16 2990, i16 3384, i16 10587, i16 1806, i16 5606, i16 5615, i16 5610, i16 10588, i16 5609, i16 5605, i16 10589, i16 5607, i16 0, i16 0, i16 0, i16 0, i16 12640, i16 0, i16 6807, i16 12641, i16 0, i16 0, i16 12642, i16 6809, i16 2511, i16 1086, i16 1087, i16 6808, i16 0, i16 12643, i16 12644, i16 12645, i16 1194, i16 1515, i16 12646, i16 12647, i16 1195, i16 12648, i16 12649, i16 2750, i16 0, i16 0, i16 3629, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9849, i16 0, i16 0, i16 0, i16 5220, i16 0, i16 2687, i16 9850, i16 5222, i16 5221, i16 0, i16 9851, i16 5223, i16 0, i16 5224, i16 0, i16 9852, i16 1936, i16 3162, i16 0, i16 9853, i16 9854, i16 3453, i16 5225, i16 5226, i16 2397, i16 1877, i16 5227, i16 0, i16 0, i16 0, i16 0, i16 944, i16 0, i16 13087, i16 0, i16 13088, i16 0, i16 0, i16 13089, i16 7052, i16 1263, i16 7053, i16 7054, i16 7055, i16 0, i16 1676, i16 0, i16 7056, i16 13090, i16 0, i16 0, i16 5266, i16 3436, i16 0, i16 2504, i16 7057, i16 7059, i16 7058, i16 13091, i16 0, i16 0, i16 0, i16 0, i16 9393, i16 0, i16 0, i16 9394, i16 3008, i16 0, i16 4946, i16 0, i16 9395, i16 0, i16 0, i16 0, i16 9396, i16 9397, i16 9398, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4950, i16 4947, i16 9399, i16 9400, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1215, i16 9243, i16 4856, i16 0, i16 9244, i16 3418, i16 4831, i16 1214, i16 9245, i16 4838, i16 0, i16 9246, i16 9247, i16 9248, i16 3315, i16 9249, i16 4839, i16 4841, i16 9250, i16 4845, i16 4833, i16 9251, i16 2541, i16 0, i16 9252, i16 9253, i16 0, i16 2798, i16 0, i16 0, i16 0, i16 0, i16 7110, i16 7111, i16 7122, i16 0, i16 7123, i16 7124, i16 7125, i16 0, i16 7127, i16 0, i16 7128, i16 7130, i16 7136, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 0, i16 0, i16 0, i16 0, i16 6623, i16 0, i16 0, i16 12326, i16 12327, i16 12328, i16 0, i16 2886, i16 0, i16 2772, i16 0, i16 0, i16 12329, i16 12330, i16 12331, i16 0, i16 2680, i16 12332, i16 6636, i16 12333, i16 12334, i16 0, i16 12335, i16 2566, i16 6632, i16 0, i16 12336, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2303, i16 11822, i16 1920, i16 6405, i16 0, i16 11823, i16 0, i16 1077, i16 11824, i16 6406, i16 11825, i16 0, i16 2429, i16 6407, i16 0, i16 6408, i16 3170, i16 0, i16 0, i16 1230, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11826, i16 0, i16 0, i16 0, i16 8200, i16 905, i16 0, i16 8201, i16 1202, i16 2877, i16 3273, i16 0, i16 0, i16 0, i16 0, i16 4173, i16 2396, i16 4172, i16 1435, i16 8202, i16 8203, i16 3342, i16 4171, i16 0, i16 2788, i16 4175, i16 8204, i16 4174, i16 8205, i16 0, i16 8206, i16 8207, i16 8208, i16 0, i16 0, i16 0, i16 9739, i16 9740, i16 0, i16 0, i16 0, i16 9741, i16 9742, i16 9743, i16 9744, i16 5111, i16 0, i16 9749, i16 0, i16 0, i16 5171, i16 0, i16 0, i16 9745, i16 9746, i16 0, i16 0, i16 2884, i16 0, i16 0, i16 0, i16 0, i16 9747, i16 9748, i16 0, i16 0, i16 0, i16 0, i16 8486, i16 0, i16 0, i16 0, i16 8487, i16 0, i16 4332, i16 0, i16 8488, i16 1185, i16 4333, i16 8490, i16 0, i16 8489, i16 0, i16 4335, i16 4334, i16 0, i16 0, i16 4336, i16 0, i16 8491, i16 8492, i16 0, i16 4337, i16 0, i16 2327, i16 1970, i16 0, i16 0, i16 0, i16 0, i16 808, i16 5862, i16 0, i16 2563, i16 0, i16 10928, i16 0, i16 0, i16 0, i16 2963, i16 10929, i16 2496, i16 10930, i16 0, i16 0, i16 10931, i16 0, i16 10932, i16 10933, i16 5864, i16 10934, i16 10935, i16 5860, i16 5863, i16 5858, i16 0, i16 5861, i16 3289, i16 0, i16 0, i16 0, i16 0, i16 6698, i16 0, i16 0, i16 12462, i16 784, i16 12463, i16 12464, i16 6696, i16 12465, i16 6700, i16 6699, i16 0, i16 0, i16 12466, i16 12467, i16 12468, i16 12469, i16 6702, i16 6701, i16 6703, i16 0, i16 2827, i16 12470, i16 12471, i16 0, i16 6704, i16 12472, i16 12473, i16 12474, i16 0, i16 0, i16 0, i16 299, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7121, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9006, i16 0, i16 1543, i16 0, i16 9007, i16 4685, i16 9008, i16 0, i16 0, i16 0, i16 4688, i16 0, i16 3145, i16 9009, i16 1278, i16 9010, i16 0, i16 9011, i16 4687, i16 4686, i16 2959, i16 4689, i16 1330, i16 0, i16 0, i16 0, i16 4691, i16 4690, i16 9012, i16 0, i16 0, i16 0, i16 5172, i16 9750, i16 9751, i16 0, i16 0, i16 0, i16 0, i16 0, i16 981, i16 9752, i16 0, i16 9753, i16 2803, i16 1032, i16 0, i16 0, i16 0, i16 0, i16 9754, i16 9755, i16 0, i16 1283, i16 0, i16 0, i16 0, i16 1935, i16 1735, i16 9756, i16 0, i16 0, i16 0, i16 0, i16 9782, i16 9783, i16 9784, i16 9785, i16 9786, i16 0, i16 5185, i16 0, i16 9787, i16 9788, i16 0, i16 0, i16 9789, i16 0, i16 0, i16 0, i16 0, i16 914, i16 0, i16 0, i16 0, i16 0, i16 5188, i16 3207, i16 0, i16 5187, i16 0, i16 9790, i16 0, i16 0, i16 0, i16 0, i16 8247, i16 8248, i16 863, i16 1136, i16 8249, i16 4189, i16 0, i16 3414, i16 3112, i16 0, i16 0, i16 8250, i16 8251, i16 0, i16 8252, i16 8253, i16 0, i16 8254, i16 0, i16 753, i16 8255, i16 0, i16 0, i16 0, i16 834, i16 0, i16 0, i16 0, i16 1828, i16 0, i16 0, i16 0, i16 10308, i16 0, i16 0, i16 0, i16 5464, i16 0, i16 10309, i16 0, i16 0, i16 0, i16 5465, i16 0, i16 0, i16 0, i16 10310, i16 10311, i16 0, i16 0, i16 10312, i16 0, i16 5466, i16 0, i16 10313, i16 5467, i16 3400, i16 5468, i16 0, i16 10314, i16 10315, i16 0, i16 0, i16 0, i16 10830, i16 10831, i16 5779, i16 0, i16 10832, i16 0, i16 0, i16 0, i16 0, i16 5780, i16 5781, i16 5782, i16 10833, i16 5783, i16 5784, i16 10834, i16 10835, i16 5786, i16 5785, i16 0, i16 0, i16 5787, i16 0, i16 0, i16 10836, i16 10837, i16 10838, i16 0, i16 5788, i16 0, i16 0, i16 0, i16 6991, i16 0, i16 0, i16 6989, i16 0, i16 1118, i16 0, i16 6988, i16 1891, i16 942, i16 0, i16 0, i16 12981, i16 12982, i16 0, i16 12983, i16 12984, i16 12985, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12986, i16 1658, i16 12987, i16 12989, i16 6998, i16 6997, i16 0, i16 0, i16 0, i16 12117, i16 0, i16 0, i16 0, i16 12118, i16 12119, i16 2864, i16 6566, i16 1989, i16 1937, i16 2966, i16 2612, i16 12120, i16 0, i16 0, i16 1955, i16 12121, i16 2231, i16 0, i16 6567, i16 12122, i16 6568, i16 12123, i16 12124, i16 12125, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1113, i16 5562, i16 5561, i16 10536, i16 5565, i16 5558, i16 10537, i16 5566, i16 3574, i16 10538, i16 5567, i16 10539, i16 5568, i16 0, i16 10540, i16 4170, i16 5570, i16 0, i16 5569, i16 0, i16 0, i16 0, i16 5571, i16 5572, i16 10541, i16 3586, i16 5573, i16 0, i16 6797, i16 0, i16 0, i16 0, i16 4186, i16 8227, i16 2474, i16 0, i16 8228, i16 3307, i16 0, i16 0, i16 0, i16 2761, i16 8229, i16 8230, i16 8231, i16 8232, i16 0, i16 4187, i16 8233, i16 0, i16 0, i16 0, i16 8234, i16 0, i16 3352, i16 8235, i16 1727, i16 8236, i16 0, i16 2071, i16 0, i16 0, i16 0, i16 0, i16 4961, i16 0, i16 0, i16 9421, i16 4960, i16 0, i16 4962, i16 9422, i16 0, i16 979, i16 9423, i16 2554, i16 0, i16 4963, i16 0, i16 9424, i16 1152, i16 4965, i16 0, i16 9425, i16 0, i16 9426, i16 4964, i16 0, i16 4966, i16 0, i16 9427, i16 0, i16 4967, i16 0, i16 0, i16 0, i16 10341, i16 10342, i16 5477, i16 0, i16 10343, i16 10344, i16 0, i16 0, i16 0, i16 10345, i16 0, i16 10346, i16 0, i16 0, i16 0, i16 10347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10348, i16 2104, i16 10349, i16 0, i16 0, i16 0, i16 0, i16 2175, i16 8612, i16 3107, i16 0, i16 8613, i16 8614, i16 8615, i16 0, i16 8616, i16 1208, i16 2913, i16 0, i16 0, i16 8617, i16 8618, i16 8619, i16 8620, i16 8621, i16 0, i16 4422, i16 1833, i16 3309, i16 3310, i16 0, i16 0, i16 933, i16 4427, i16 8622, i16 0, i16 0, i16 0, i16 0, i16 2695, i16 3881, i16 7678, i16 0, i16 2444, i16 0, i16 7679, i16 1764, i16 3882, i16 3883, i16 2359, i16 0, i16 3880, i16 0, i16 0, i16 0, i16 0, i16 3885, i16 7680, i16 3305, i16 7681, i16 7682, i16 0, i16 7683, i16 1659, i16 7684, i16 0, i16 3884, i16 7685, i16 0, i16 0, i16 0, i16 5002, i16 5001, i16 0, i16 9479, i16 9480, i16 9481, i16 0, i16 0, i16 0, i16 9482, i16 0, i16 9483, i16 0, i16 0, i16 0, i16 0, i16 9484, i16 2224, i16 9485, i16 9486, i16 3120, i16 881, i16 0, i16 9487, i16 9488, i16 0, i16 0, i16 3038, i16 9489, i16 0, i16 0, i16 0, i16 12200, i16 12201, i16 12202, i16 12203, i16 0, i16 12204, i16 6671, i16 0, i16 0, i16 6599, i16 0, i16 12205, i16 12206, i16 12207, i16 0, i16 0, i16 12208, i16 3640, i16 12209, i16 12210, i16 1555, i16 12211, i16 12212, i16 12213, i16 0, i16 12214, i16 0, i16 12215, i16 6609, i16 0, i16 0, i16 0, i16 1469, i16 0, i16 8946, i16 0, i16 8947, i16 4649, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8948, i16 8949, i16 8950, i16 1800, i16 4646, i16 0, i16 4645, i16 0, i16 0, i16 8951, i16 8952, i16 2925, i16 8953, i16 0, i16 8954, i16 2834, i16 8955, i16 0, i16 0, i16 0, i16 1223, i16 1538, i16 4235, i16 1083, i16 0, i16 8338, i16 4236, i16 0, i16 2462, i16 0, i16 0, i16 8339, i16 8340, i16 4237, i16 4277, i16 0, i16 4238, i16 0, i16 4239, i16 0, i16 0, i16 4240, i16 0, i16 4242, i16 0, i16 8341, i16 8342, i16 8343, i16 8344, i16 0, i16 0, i16 0, i16 5320, i16 5319, i16 5321, i16 10092, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5322, i16 5324, i16 5323, i16 0, i16 0, i16 1680, i16 10093, i16 5326, i16 0, i16 5325, i16 10094, i16 10095, i16 1158, i16 0, i16 2206, i16 0, i16 2747, i16 0, i16 5327, i16 2273, i16 0, i16 0, i16 0, i16 9928, i16 1677, i16 1845, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9929, i16 5264, i16 5265, i16 9930, i16 0, i16 9931, i16 0, i16 0, i16 0, i16 9932, i16 5267, i16 9933, i16 0, i16 0, i16 0, i16 0, i16 9934, i16 9935, i16 9936, i16 0, i16 0, i16 0, i16 4811, i16 0, i16 0, i16 0, i16 3111, i16 0, i16 0, i16 0, i16 9216, i16 0, i16 0, i16 9217, i16 9218, i16 9219, i16 9220, i16 9221, i16 0, i16 4823, i16 9222, i16 952, i16 4812, i16 0, i16 9223, i16 9224, i16 9225, i16 9226, i16 0, i16 4829, i16 4813, i16 0, i16 0, i16 0, i16 13009, i16 13010, i16 0, i16 13011, i16 7009, i16 0, i16 7008, i16 13012, i16 0, i16 0, i16 13013, i16 13014, i16 1463, i16 0, i16 0, i16 13015, i16 13016, i16 0, i16 13017, i16 13018, i16 13019, i16 13020, i16 0, i16 7013, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11738, i16 0, i16 0, i16 1460, i16 0, i16 0, i16 0, i16 0, i16 6342, i16 6344, i16 11739, i16 0, i16 6345, i16 1251, i16 5811, i16 2150, i16 0, i16 6346, i16 0, i16 11740, i16 1575, i16 11741, i16 11742, i16 0, i16 0, i16 11743, i16 6347, i16 11744, i16 0, i16 0, i16 0, i16 0, i16 5086, i16 9609, i16 9610, i16 0, i16 0, i16 9611, i16 9612, i16 3388, i16 9613, i16 0, i16 5084, i16 5088, i16 9614, i16 0, i16 9615, i16 9616, i16 9617, i16 9618, i16 0, i16 1545, i16 9619, i16 2098, i16 0, i16 0, i16 2556, i16 9620, i16 9621, i16 9622, i16 5078, i16 0, i16 0, i16 0, i16 7917, i16 7918, i16 0, i16 0, i16 1489, i16 4034, i16 4032, i16 2394, i16 1257, i16 1321, i16 7919, i16 4029, i16 0, i16 1393, i16 0, i16 7920, i16 0, i16 0, i16 0, i16 875, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7921, i16 0, i16 0, i16 0, i16 238, i16 0, i16 300, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1015, i16 0, i16 11621, i16 2163, i16 6275, i16 0, i16 11622, i16 0, i16 11623, i16 0, i16 11624, i16 0, i16 0, i16 0, i16 11625, i16 0, i16 11626, i16 6276, i16 0, i16 11627, i16 0, i16 6277, i16 11628, i16 0, i16 0, i16 0, i16 11629, i16 0, i16 11630, i16 0, i16 0, i16 7936, i16 1823, i16 4040, i16 0, i16 0, i16 0, i16 0, i16 7937, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7938, i16 4043, i16 0, i16 4048, i16 0, i16 0, i16 0, i16 4046, i16 4045, i16 7939, i16 0, i16 0, i16 8448, i16 8449, i16 0, i16 0, i16 8450, i16 0, i16 8451, i16 0, i16 8455, i16 4317, i16 4314, i16 0, i16 4316, i16 0, i16 3553, i16 8453, i16 4315, i16 0, i16 0, i16 8452, i16 0, i16 0, i16 0, i16 8454, i16 0, i16 0, i16 4305, i16 0, i16 0, i16 8456, i16 0, i16 0, i16 2310, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8927, i16 0, i16 0, i16 4643, i16 8928, i16 0, i16 8929, i16 8930, i16 8931, i16 8932, i16 0, i16 0, i16 0, i16 2725, i16 0, i16 8933, i16 8934, i16 8935, i16 8936, i16 0, i16 8937, i16 0, i16 0, i16 10759, i16 10760, i16 10761, i16 10762, i16 10763, i16 5714, i16 0, i16 0, i16 1368, i16 3077, i16 10764, i16 10765, i16 10766, i16 2420, i16 0, i16 3613, i16 2046, i16 0, i16 0, i16 5762, i16 0, i16 10767, i16 5724, i16 10768, i16 2343, i16 0, i16 5720, i16 5725, i16 5727, i16 0, i16 0, i16 0, i16 6161, i16 11432, i16 11433, i16 11434, i16 11435, i16 11436, i16 11437, i16 11438, i16 0, i16 11439, i16 11440, i16 3498, i16 0, i16 0, i16 11441, i16 0, i16 0, i16 11442, i16 0, i16 11443, i16 0, i16 11444, i16 11445, i16 11446, i16 0, i16 0, i16 0, i16 0, i16 11447, i16 6160, i16 0, i16 0, i16 8998, i16 4677, i16 4676, i16 0, i16 8999, i16 0, i16 0, i16 9000, i16 4644, i16 4678, i16 4666, i16 0, i16 9001, i16 1836, i16 0, i16 9002, i16 0, i16 0, i16 4679, i16 4680, i16 4682, i16 4681, i16 4683, i16 1027, i16 9003, i16 1613, i16 9004, i16 9005, i16 3281, i16 2264, i16 0, i16 0, i16 13103, i16 13104, i16 0, i16 0, i16 0, i16 7071, i16 7072, i16 13105, i16 0, i16 0, i16 0, i16 0, i16 2723, i16 13106, i16 13107, i16 13108, i16 13109, i16 1558, i16 13110, i16 7074, i16 13111, i16 13112, i16 0, i16 13113, i16 13114, i16 13115, i16 0, i16 0, i16 0, i16 13116, i16 0, i16 0, i16 1852, i16 10946, i16 0, i16 1337, i16 2289, i16 3697, i16 3391, i16 5865, i16 2301, i16 10947, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10948, i16 10949, i16 10950, i16 0, i16 1266, i16 5868, i16 10951, i16 0, i16 10952, i16 0, i16 0, i16 0, i16 4159, i16 0, i16 0, i16 8181, i16 8182, i16 0, i16 0, i16 3238, i16 4160, i16 8183, i16 8184, i16 0, i16 0, i16 971, i16 4161, i16 0, i16 8185, i16 8186, i16 8187, i16 3499, i16 1043, i16 0, i16 3939, i16 2007, i16 2468, i16 4162, i16 3452, i16 8189, i16 0, i16 0, i16 0, i16 0, i16 9280, i16 0, i16 0, i16 9281, i16 0, i16 0, i16 0, i16 9282, i16 3515, i16 0, i16 0, i16 0, i16 9283, i16 0, i16 0, i16 0, i16 0, i16 3181, i16 4862, i16 2479, i16 0, i16 9284, i16 0, i16 4868, i16 2374, i16 9285, i16 4859, i16 4872, i16 4871, i16 0, i16 0, i16 0, i16 334, i16 335, i16 0, i16 0, i16 332, i16 333, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5718, i16 5712, i16 0, i16 0, i16 10752, i16 10753, i16 0, i16 0, i16 10754, i16 5716, i16 1963, i16 806, i16 5711, i16 5719, i16 5723, i16 1634, i16 3431, i16 10755, i16 2679, i16 5713, i16 10756, i16 10757, i16 5721, i16 10758, i16 5710, i16 2561, i16 0, i16 5715, i16 774, i16 3419, i16 0, i16 0, i16 9566, i16 0, i16 0, i16 5052, i16 0, i16 9567, i16 2096, i16 0, i16 0, i16 0, i16 3487, i16 0, i16 5049, i16 0, i16 0, i16 9568, i16 9569, i16 5044, i16 9570, i16 5050, i16 9571, i16 9572, i16 9573, i16 3627, i16 0, i16 2802, i16 2847, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3942, i16 7777, i16 3458, i16 0, i16 0, i16 7778, i16 7779, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7780, i16 0, i16 0, i16 0, i16 0, i16 7781, i16 7782, i16 0, i16 3943, i16 0, i16 3615, i16 7783, i16 1589, i16 0, i16 0, i16 7784, i16 0, i16 1519, i16 0, i16 0, i16 9320, i16 0, i16 0, i16 9321, i16 0, i16 4903, i16 4896, i16 0, i16 0, i16 4909, i16 0, i16 4907, i16 9322, i16 9323, i16 0, i16 9324, i16 4902, i16 9325, i16 0, i16 9326, i16 0, i16 0, i16 0, i16 4901, i16 0, i16 2673, i16 0, i16 2412, i16 9327, i16 4899, i16 0, i16 0, i16 12650, i16 12651, i16 0, i16 12652, i16 12653, i16 1557, i16 0, i16 0, i16 12654, i16 6810, i16 12655, i16 0, i16 0, i16 6811, i16 6812, i16 6813, i16 0, i16 6815, i16 6814, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4205, i16 8279, i16 0, i16 8280, i16 3151, i16 8281, i16 0, i16 0, i16 4206, i16 0, i16 4201, i16 8282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8283, i16 0, i16 0, i16 8284, i16 8285, i16 0, i16 0, i16 8286, i16 3404, i16 0, i16 0, i16 2671, i16 2855, i16 880, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2331, i16 9194, i16 0, i16 2269, i16 1413, i16 0, i16 9195, i16 0, i16 0, i16 0, i16 9196, i16 4801, i16 9197, i16 0, i16 0, i16 12666, i16 6821, i16 6820, i16 12667, i16 6822, i16 0, i16 12668, i16 0, i16 0, i16 0, i16 12669, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3085, i16 5822, i16 0, i16 0, i16 2164, i16 0, i16 0, i16 12678, i16 6825, i16 0, i16 3440, i16 0, i16 12679, i16 12680, i16 6826, i16 3531, i16 0, i16 873, i16 0, i16 0, i16 0, i16 1812, i16 12681, i16 6827, i16 1011, i16 6828, i16 12682, i16 12683, i16 12684, i16 6829, i16 0, i16 12685, i16 12686, i16 12687, i16 6831, i16 6832, i16 12688, i16 0, i16 0, i16 7827, i16 0, i16 7828, i16 0, i16 7829, i16 7830, i16 1967, i16 7831, i16 1959, i16 7832, i16 0, i16 7833, i16 7834, i16 0, i16 3977, i16 3975, i16 0, i16 3380, i16 7835, i16 3972, i16 3981, i16 3976, i16 0, i16 0, i16 0, i16 3979, i16 1535, i16 3408, i16 0, i16 7836, i16 0, i16 0, i16 9623, i16 9624, i16 0, i16 0, i16 0, i16 3486, i16 9625, i16 0, i16 0, i16 5081, i16 0, i16 0, i16 5074, i16 2801, i16 0, i16 0, i16 5077, i16 9626, i16 0, i16 0, i16 5083, i16 0, i16 0, i16 0, i16 0, i16 9627, i16 0, i16 9628, i16 3708, i16 1903, i16 0, i16 0, i16 10135, i16 5355, i16 10136, i16 5354, i16 0, i16 0, i16 0, i16 0, i16 0, i16 893, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5363, i16 3073, i16 5357, i16 10137, i16 5359, i16 0, i16 0, i16 5361, i16 2185, i16 10138, i16 0, i16 5362, i16 5360, i16 1905, i16 10139, i16 0, i16 0, i16 7585, i16 3813, i16 7586, i16 3811, i16 7587, i16 2389, i16 7588, i16 7589, i16 0, i16 0, i16 0, i16 3812, i16 3814, i16 7590, i16 0, i16 7591, i16 7603, i16 0, i16 0, i16 3816, i16 7592, i16 0, i16 0, i16 3815, i16 7593, i16 3229, i16 0, i16 0, i16 7594, i16 0, i16 0, i16 0, i16 6307, i16 11695, i16 6305, i16 0, i16 11696, i16 2575, i16 11697, i16 11698, i16 11699, i16 2282, i16 1171, i16 6306, i16 0, i16 2214, i16 0, i16 11700, i16 3607, i16 11701, i16 11702, i16 11703, i16 3691, i16 11704, i16 0, i16 0, i16 6308, i16 6319, i16 2646, i16 11705, i16 6318, i16 11706, i16 0, i16 0, i16 12974, i16 6986, i16 0, i16 0, i16 6987, i16 2843, i16 6984, i16 6983, i16 0, i16 12973, i16 0, i16 0, i16 943, i16 0, i16 0, i16 12975, i16 6995, i16 0, i16 0, i16 6994, i16 0, i16 12976, i16 12977, i16 0, i16 0, i16 924, i16 12978, i16 12979, i16 12980, i16 6992, i16 0, i16 0, i16 1714, i16 0, i16 0, i16 10326, i16 10327, i16 0, i16 0, i16 10328, i16 0, i16 0, i16 5472, i16 10329, i16 10330, i16 0, i16 0, i16 10331, i16 5473, i16 0, i16 1503, i16 1738, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10332, i16 0, i16 0, i16 0, i16 0, i16 9906, i16 0, i16 9907, i16 9908, i16 0, i16 9909, i16 0, i16 0, i16 5255, i16 9910, i16 0, i16 9911, i16 0, i16 0, i16 0, i16 0, i16 9912, i16 9913, i16 0, i16 0, i16 5257, i16 5254, i16 9914, i16 9915, i16 0, i16 3429, i16 5256, i16 5258, i16 9916, i16 3601, i16 0, i16 0, i16 4280, i16 7388, i16 0, i16 0, i16 0, i16 0, i16 7389, i16 7390, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3551, i16 0, i16 2906, i16 7391, i16 7392, i16 0, i16 0, i16 0, i16 7393, i16 0, i16 0, i16 0, i16 0, i16 1126, i16 7394, i16 0, i16 0, i16 9401, i16 9402, i16 3554, i16 4948, i16 9403, i16 9404, i16 0, i16 9405, i16 4900, i16 0, i16 0, i16 0, i16 0, i16 9406, i16 9407, i16 9408, i16 4951, i16 0, i16 0, i16 0, i16 4952, i16 9409, i16 0, i16 0, i16 0, i16 9410, i16 0, i16 860, i16 9411, i16 4954, i16 0, i16 0, i16 2749, i16 6472, i16 0, i16 0, i16 0, i16 0, i16 11939, i16 0, i16 0, i16 6475, i16 0, i16 11946, i16 11940, i16 0, i16 11941, i16 11942, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11943, i16 1893, i16 11944, i16 11945, i16 6474, i16 6473, i16 1461, i16 6476, i16 0, i16 0, i16 0, i16 9917, i16 0, i16 9918, i16 5262, i16 0, i16 9919, i16 9920, i16 5261, i16 2617, i16 2920, i16 9921, i16 0, i16 1502, i16 5260, i16 0, i16 9922, i16 9923, i16 0, i16 5259, i16 9924, i16 3488, i16 3489, i16 0, i16 0, i16 9925, i16 9926, i16 0, i16 9927, i16 5263, i16 917, i16 0, i16 0, i16 5579, i16 0, i16 5592, i16 0, i16 5582, i16 10551, i16 1287, i16 0, i16 5581, i16 5594, i16 0, i16 0, i16 0, i16 5580, i16 0, i16 2109, i16 0, i16 0, i16 10552, i16 0, i16 0, i16 0, i16 5584, i16 5585, i16 0, i16 2730, i16 0, i16 0, i16 5586, i16 10553, i16 0, i16 0, i16 7119, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 360, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6868, i16 0, i16 0, i16 0, i16 0, i16 12737, i16 0, i16 0, i16 12738, i16 12739, i16 12740, i16 6859, i16 6860, i16 0, i16 12741, i16 6861, i16 6862, i16 0, i16 12742, i16 12743, i16 0, i16 0, i16 6864, i16 12744, i16 0, i16 6863, i16 0, i16 12745, i16 12746, i16 2024, i16 0, i16 0, i16 4310, i16 8439, i16 8440, i16 0, i16 8441, i16 8442, i16 0, i16 3277, i16 0, i16 8438, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8443, i16 0, i16 0, i16 8444, i16 0, i16 0, i16 0, i16 0, i16 8445, i16 0, i16 0, i16 0, i16 8446, i16 0, i16 8447, i16 0, i16 0, i16 2523, i16 0, i16 10008, i16 5286, i16 10009, i16 0, i16 10010, i16 10011, i16 10012, i16 10013, i16 10014, i16 10015, i16 10016, i16 10017, i16 10018, i16 10019, i16 5288, i16 3619, i16 1364, i16 3093, i16 2949, i16 0, i16 0, i16 10020, i16 5289, i16 0, i16 0, i16 0, i16 0, i16 5291, i16 0, i16 0, i16 6368, i16 0, i16 0, i16 6370, i16 11784, i16 11785, i16 0, i16 6369, i16 6371, i16 11786, i16 3321, i16 6372, i16 6373, i16 0, i16 11787, i16 0, i16 11788, i16 11789, i16 6374, i16 0, i16 0, i16 0, i16 6376, i16 11790, i16 0, i16 11791, i16 11792, i16 1040, i16 2696, i16 0, i16 0, i16 0, i16 7648, i16 0, i16 2257, i16 3861, i16 2025, i16 0, i16 7649, i16 3862, i16 0, i16 2623, i16 3596, i16 2783, i16 0, i16 7650, i16 0, i16 7651, i16 7652, i16 7653, i16 0, i16 7654, i16 3935, i16 0, i16 7655, i16 0, i16 0, i16 3863, i16 7099, i16 1346, i16 7656, i16 0, i16 0, i16 0, i16 6882, i16 0, i16 6884, i16 6883, i16 0, i16 0, i16 0, i16 6885, i16 6887, i16 6886, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 745, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 735, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8685, i16 0, i16 8686, i16 2141, i16 4477, i16 2868, i16 8687, i16 8688, i16 8689, i16 8690, i16 0, i16 0, i16 8691, i16 8692, i16 0, i16 3698, i16 0, i16 4473, i16 8693, i16 8694, i16 0, i16 0, i16 4479, i16 8695, i16 1682, i16 8696, i16 2292, i16 8697, i16 8698, i16 797, i16 0, i16 0, i16 4592, i16 0, i16 8825, i16 2551, i16 4586, i16 4593, i16 4588, i16 4595, i16 4591, i16 0, i16 4590, i16 2986, i16 8826, i16 4584, i16 1026, i16 4582, i16 1296, i16 2520, i16 4578, i16 8827, i16 8828, i16 4581, i16 1611, i16 2308, i16 8829, i16 2084, i16 4589, i16 2957, i16 0, i16 0, i16 0, i16 0, i16 1265, i16 2324, i16 1901, i16 3479, i16 4245, i16 0, i16 8355, i16 8356, i16 0, i16 0, i16 8357, i16 8358, i16 1275, i16 8359, i16 1728, i16 8360, i16 8361, i16 1045, i16 906, i16 2073, i16 973, i16 8362, i16 4246, i16 3509, i16 8363, i16 0, i16 8364, i16 0, i16 0, i16 2008, i16 0, i16 0, i16 3570, i16 2894, i16 0, i16 0, i16 0, i16 0, i16 850, i16 12532, i16 2316, i16 1895, i16 0, i16 0, i16 0, i16 12533, i16 3212, i16 12534, i16 871, i16 0, i16 0, i16 0, i16 3642, i16 3546, i16 0, i16 6745, i16 12535, i16 2756, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7672, i16 0, i16 3030, i16 3233, i16 0, i16 3875, i16 7673, i16 3559, i16 3876, i16 0, i16 0, i16 0, i16 3877, i16 0, i16 2813, i16 7674, i16 7675, i16 3878, i16 0, i16 7676, i16 2258, i16 1779, i16 1487, i16 3879, i16 1820, i16 1670, i16 7677, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3834, i16 0, i16 7631, i16 2907, i16 7632, i16 0, i16 2363, i16 3836, i16 3837, i16 3013, i16 1585, i16 3686, i16 3838, i16 0, i16 0, i16 1315, i16 0, i16 0, i16 0, i16 3217, i16 2459, i16 1390, i16 2740, i16 0, i16 0, i16 0, i16 1486, i16 0, i16 7633, i16 0, i16 0, i16 0, i16 13052, i16 0, i16 0, i16 0, i16 0, i16 13053, i16 0, i16 0, i16 13051, i16 0, i16 0, i16 0, i16 13054, i16 0, i16 13055, i16 13056, i16 13057, i16 0, i16 0, i16 13058, i16 13059, i16 0, i16 0, i16 13060, i16 7032, i16 7033, i16 13061, i16 13062, i16 7034, i16 0, i16 0, i16 0, i16 9469, i16 0, i16 9470, i16 9471, i16 0, i16 0, i16 4997, i16 9472, i16 0, i16 0, i16 0, i16 9473, i16 9474, i16 1844, i16 9475, i16 3394, i16 9476, i16 4998, i16 4999, i16 0, i16 0, i16 1219, i16 0, i16 9477, i16 0, i16 5000, i16 0, i16 0, i16 0, i16 9478, i16 0, i16 2304, i16 0, i16 6423, i16 11858, i16 11859, i16 0, i16 11860, i16 1554, i16 0, i16 6420, i16 6421, i16 11861, i16 0, i16 0, i16 3668, i16 11862, i16 11864, i16 11865, i16 2648, i16 11866, i16 2352, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6424, i16 11867, i16 0, i16 6427, i16 0, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 0, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 520, i16 521, i16 522, i16 523, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 0, i16 1028, i16 1703, i16 6923, i16 6922, i16 3382, i16 0, i16 0, i16 12844, i16 0, i16 0, i16 12845, i16 12846, i16 6925, i16 6926, i16 6924, i16 0, i16 6927, i16 0, i16 0, i16 3349, i16 12847, i16 12848, i16 12849, i16 6928, i16 0, i16 1306, i16 12850, i16 0, i16 0, i16 12851, i16 0, i16 0, i16 6661, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6659, i16 0, i16 0, i16 12412, i16 12413, i16 0, i16 12414, i16 12415, i16 12416, i16 12417, i16 6660, i16 6658, i16 0, i16 2525, i16 0, i16 6662, i16 12418, i16 0, i16 12420, i16 0, i16 12419, i16 0, i16 12549, i16 6764, i16 12550, i16 6761, i16 0, i16 6762, i16 0, i16 6763, i16 6765, i16 12551, i16 0, i16 0, i16 0, i16 12552, i16 12553, i16 0, i16 0, i16 2285, i16 0, i16 0, i16 12554, i16 3464, i16 12555, i16 12556, i16 2286, i16 12557, i16 12558, i16 6766, i16 0, i16 3084, i16 0, i16 0, i16 6663, i16 0, i16 12421, i16 6665, i16 12422, i16 0, i16 0, i16 12423, i16 0, i16 12424, i16 0, i16 12425, i16 0, i16 0, i16 0, i16 0, i16 1174, i16 6664, i16 3467, i16 0, i16 12426, i16 0, i16 0, i16 0, i16 12427, i16 6676, i16 6666, i16 12428, i16 0, i16 6669, i16 12429, i16 0, i16 4105, i16 8057, i16 0, i16 1690, i16 8058, i16 2550, i16 8059, i16 8060, i16 4102, i16 2683, i16 8061, i16 0, i16 8062, i16 8063, i16 8064, i16 8065, i16 8066, i16 0, i16 8067, i16 8068, i16 8069, i16 0, i16 8070, i16 0, i16 8071, i16 8072, i16 8073, i16 8074, i16 0, i16 8075, i16 4106, i16 0, i16 6409, i16 11827, i16 0, i16 11828, i16 2647, i16 0, i16 0, i16 11829, i16 0, i16 898, i16 0, i16 0, i16 11830, i16 0, i16 0, i16 11831, i16 11832, i16 0, i16 0, i16 0, i16 11833, i16 0, i16 0, i16 0, i16 6410, i16 0, i16 0, i16 0, i16 0, i16 11834, i16 11835, i16 0, i16 3338, i16 2521, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3370, i16 0, i16 0, i16 5024, i16 0, i16 9517, i16 5025, i16 9518, i16 980, i16 9519, i16 0, i16 0, i16 0, i16 3197, i16 3470, i16 5027, i16 1876, i16 2095, i16 5020, i16 5026, i16 911, i16 0, i16 3595, i16 0, i16 7373, i16 7374, i16 0, i16 3223, i16 0, i16 7375, i16 0, i16 3714, i16 7376, i16 0, i16 2601, i16 7377, i16 7378, i16 7379, i16 3715, i16 1399, i16 0, i16 0, i16 7380, i16 3716, i16 0, i16 1182, i16 2547, i16 0, i16 1944, i16 3717, i16 0, i16 0, i16 3718, i16 0, i16 4364, i16 4365, i16 2956, i16 0, i16 0, i16 8542, i16 0, i16 4366, i16 3652, i16 3672, i16 8544, i16 8543, i16 0, i16 8545, i16 4368, i16 4367, i16 8546, i16 8547, i16 1066, i16 8548, i16 8549, i16 4369, i16 0, i16 0, i16 0, i16 4372, i16 4373, i16 8550, i16 4371, i16 8551, i16 3127, i16 0, i16 1549, i16 1851, i16 0, i16 0, i16 3079, i16 10923, i16 10924, i16 0, i16 1507, i16 3318, i16 10925, i16 5857, i16 5855, i16 0, i16 1637, i16 0, i16 1638, i16 818, i16 0, i16 1757, i16 0, i16 0, i16 0, i16 10926, i16 10927, i16 2964, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3599, i16 9227, i16 4820, i16 9228, i16 2970, i16 9229, i16 0, i16 9230, i16 0, i16 0, i16 0, i16 0, i16 4828, i16 0, i16 4815, i16 0, i16 0, i16 0, i16 765, i16 4817, i16 0, i16 9231, i16 1619, i16 9232, i16 0, i16 9233, i16 4819, i16 9234, i16 4818, i16 0, i16 4814, i16 0, i16 4879, i16 0, i16 4887, i16 0, i16 9315, i16 0, i16 7096, i16 9316, i16 0, i16 4884, i16 1620, i16 2665, i16 2411, i16 4882, i16 0, i16 4877, i16 9317, i16 0, i16 4880, i16 0, i16 0, i16 9318, i16 9319, i16 3516, i16 3357, i16 0, i16 0, i16 0, i16 4885, i16 4895, i16 0, i16 0, i16 11023, i16 11024, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11025, i16 5925, i16 1641, i16 5926, i16 3045, i16 0, i16 5940, i16 0, i16 0, i16 0, i16 11026, i16 5928, i16 11027, i16 2478, i16 2992, i16 1528, i16 5927, i16 2348, i16 11028, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5395, i16 5396, i16 0, i16 10200, i16 10201, i16 0, i16 5400, i16 5397, i16 5398, i16 5399, i16 0, i16 5401, i16 10202, i16 10203, i16 10204, i16 5402, i16 10205, i16 5403, i16 0, i16 10206, i16 0, i16 5404, i16 0, i16 5405, i16 0, i16 3016, i16 2767, i16 5406, i16 2989, i16 3115, i16 0, i16 0, i16 8468, i16 4323, i16 8469, i16 4322, i16 0, i16 0, i16 4321, i16 8470, i16 0, i16 8471, i16 2791, i16 4300, i16 0, i16 0, i16 0, i16 4329, i16 0, i16 8472, i16 8473, i16 8474, i16 8475, i16 0, i16 0, i16 0, i16 8476, i16 0, i16 8477, i16 0, i16 4325, i16 0, i16 8478, i16 0, i16 6679, i16 0, i16 12440, i16 12439, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1304, i16 3121, i16 0, i16 9655, i16 0, i16 1904, i16 0, i16 9656, i16 1678, i16 9657, i16 0, i16 9658, i16 9659, i16 0, i16 3678, i16 0, i16 5110, i16 0, i16 5122, i16 912, i16 2413, i16 9660, i16 0, i16 9661, i16 0, i16 9662, i16 9663, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8729, i16 4504, i16 0, i16 4505, i16 8730, i16 8731, i16 4494, i16 1871, i16 8732, i16 4498, i16 2491, i16 1609, i16 4480, i16 2176, i16 0, i16 0, i16 0, i16 0, i16 4518, i16 0, i16 3262, i16 0, i16 0, i16 4508, i16 4509, i16 4510, i16 0, i16 0, i16 4517, i16 8733, i16 4516, i16 0, i16 9757, i16 0, i16 0, i16 0, i16 9758, i16 9759, i16 0, i16 0, i16 3666, i16 2225, i16 0, i16 0, i16 0, i16 913, i16 0, i16 0, i16 0, i16 5174, i16 0, i16 9760, i16 9761, i16 9762, i16 9763, i16 9764, i16 5173, i16 0, i16 9765, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7458, i16 7459, i16 1127, i16 7460, i16 7461, i16 3762, i16 0, i16 3754, i16 7462, i16 7463, i16 3632, i16 7464, i16 1867, i16 7465, i16 3755, i16 7466, i16 3760, i16 7467, i16 7468, i16 7469, i16 0, i16 3763, i16 7470, i16 3756, i16 7471, i16 7472, i16 1310, i16 0, i16 790, i16 7473, i16 7474, i16 0, i16 11555, i16 6226, i16 0, i16 6231, i16 0, i16 11556, i16 3192, i16 0, i16 0, i16 6233, i16 0, i16 6232, i16 11557, i16 11558, i16 11559, i16 1103, i16 0, i16 3294, i16 6234, i16 0, i16 11560, i16 11561, i16 0, i16 11562, i16 11563, i16 11564, i16 0, i16 11565, i16 6246, i16 6236, i16 0, i16 0, i16 1572, i16 0, i16 0, i16 0, i16 0, i16 5480, i16 2711, i16 0, i16 0, i16 10359, i16 0, i16 5483, i16 1050, i16 5478, i16 10360, i16 0, i16 3075, i16 0, i16 855, i16 10361, i16 1761, i16 0, i16 3709, i16 10362, i16 0, i16 5482, i16 0, i16 0, i16 10364, i16 10365, i16 10366, i16 0, i16 6950, i16 6947, i16 6946, i16 6948, i16 12905, i16 0, i16 12906, i16 1466, i16 0, i16 12907, i16 12908, i16 0, i16 0, i16 0, i16 12909, i16 6954, i16 6953, i16 6952, i16 12910, i16 0, i16 764, i16 0, i16 12911, i16 12912, i16 12913, i16 12914, i16 0, i16 0, i16 12915, i16 0, i16 12916, i16 0, i16 2856, i16 4921, i16 0, i16 9357, i16 0, i16 4923, i16 9358, i16 0, i16 0, i16 9359, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9360, i16 4917, i16 9361, i16 0, i16 0, i16 0, i16 0, i16 4919, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9362, i16 1091, i16 0, i16 11816, i16 0, i16 11817, i16 6393, i16 6394, i16 0, i16 6396, i16 2440, i16 11818, i16 6395, i16 1191, i16 0, i16 6398, i16 0, i16 6397, i16 6399, i16 0, i16 11819, i16 6401, i16 6403, i16 0, i16 6404, i16 11820, i16 0, i16 0, i16 0, i16 11821, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6188, i16 6187, i16 6118, i16 0, i16 0, i16 0, i16 6192, i16 11497, i16 0, i16 0, i16 0, i16 0, i16 11498, i16 11499, i16 0, i16 11500, i16 6189, i16 11501, i16 0, i16 0, i16 11502, i16 6190, i16 0, i16 0, i16 6191, i16 11503, i16 6193, i16 11504, i16 0, i16 0, i16 0, i16 0, i16 8237, i16 0, i16 8238, i16 8239, i16 0, i16 4188, i16 0, i16 8240, i16 1827, i16 8241, i16 1826, i16 0, i16 8242, i16 0, i16 0, i16 770, i16 1537, i16 8243, i16 2260, i16 794, i16 0, i16 0, i16 0, i16 0, i16 4192, i16 4193, i16 0, i16 4190, i16 8244, i16 8245, i16 8246, i16 0, i16 4912, i16 4937, i16 4936, i16 0, i16 0, i16 9383, i16 0, i16 9385, i16 9384, i16 0, i16 0, i16 9386, i16 0, i16 0, i16 0, i16 9387, i16 4942, i16 0, i16 3665, i16 9388, i16 9389, i16 9390, i16 0, i16 0, i16 0, i16 4945, i16 1400, i16 9391, i16 9392, i16 4941, i16 4943, i16 0, i16 12592, i16 0, i16 6789, i16 12593, i16 12594, i16 6790, i16 12595, i16 6791, i16 12596, i16 12597, i16 6792, i16 12598, i16 12599, i16 12600, i16 0, i16 12601, i16 12602, i16 0, i16 1179, i16 12603, i16 0, i16 0, i16 12604, i16 12605, i16 12606, i16 0, i16 12610, i16 6793, i16 12607, i16 12608, i16 0, i16 0, i16 819, i16 0, i16 12066, i16 12067, i16 12068, i16 0, i16 12069, i16 12070, i16 0, i16 1648, i16 0, i16 12064, i16 0, i16 3685, i16 0, i16 0, i16 0, i16 12079, i16 0, i16 0, i16 12071, i16 0, i16 12072, i16 12073, i16 12074, i16 0, i16 6560, i16 12075, i16 12076, i16 0, i16 12077, i16 0, i16 6451, i16 11911, i16 11912, i16 6454, i16 6453, i16 0, i16 6452, i16 0, i16 11913, i16 6456, i16 6455, i16 0, i16 3463, i16 0, i16 0, i16 11914, i16 6458, i16 11915, i16 6457, i16 6459, i16 11916, i16 0, i16 0, i16 0, i16 6460, i16 11917, i16 11918, i16 0, i16 11919, i16 11920, i16 0, i16 0, i16 1332, i16 9520, i16 0, i16 5017, i16 5022, i16 9521, i16 0, i16 0, i16 2333, i16 2988, i16 0, i16 3072, i16 9522, i16 0, i16 9523, i16 9524, i16 9525, i16 9526, i16 5019, i16 9527, i16 3284, i16 9528, i16 5021, i16 0, i16 5030, i16 9529, i16 5028, i16 9530, i16 5023, i16 0, i16 0, i16 0, i16 6708, i16 12480, i16 0, i16 12481, i16 12482, i16 12483, i16 0, i16 6709, i16 0, i16 1754, i16 0, i16 12484, i16 0, i16 6710, i16 6711, i16 0, i16 12485, i16 3324, i16 12486, i16 0, i16 0, i16 0, i16 12487, i16 12488, i16 12489, i16 12490, i16 2386, i16 12491, i16 12492, i16 0, i16 749, i16 0, i16 12852, i16 0, i16 12853, i16 0, i16 12854, i16 12855, i16 0, i16 12856, i16 0, i16 12857, i16 12858, i16 12859, i16 12860, i16 12861, i16 3664, i16 0, i16 0, i16 0, i16 12862, i16 6929, i16 12863, i16 0, i16 12864, i16 12865, i16 12866, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12867, i16 0, i16 10805, i16 10806, i16 0, i16 0, i16 10807, i16 5742, i16 5750, i16 0, i16 5758, i16 5757, i16 10808, i16 0, i16 3373, i16 10809, i16 10810, i16 1414, i16 0, i16 0, i16 10811, i16 0, i16 0, i16 0, i16 0, i16 10812, i16 5756, i16 0, i16 5760, i16 5759, i16 5763, i16 10813, i16 5765, i16 0, i16 2872, i16 2230, i16 12031, i16 12032, i16 2588, i16 0, i16 1397, i16 0, i16 6536, i16 3494, i16 870, i16 12033, i16 3244, i16 998, i16 6531, i16 6532, i16 6533, i16 6534, i16 2840, i16 2534, i16 812, i16 6538, i16 0, i16 6539, i16 7097, i16 0, i16 12034, i16 2466, i16 12035, i16 6540, i16 0, i16 0, i16 6969, i16 12928, i16 12929, i16 6968, i16 6967, i16 12930, i16 12931, i16 12932, i16 12933, i16 12934, i16 0, i16 0, i16 3136, i16 6965, i16 828, i16 6970, i16 12935, i16 6972, i16 0, i16 0, i16 12936, i16 12937, i16 12938, i16 0, i16 1106, i16 6951, i16 862, i16 0, i16 12939, i16 6974, i16 0, i16 0, i16 9018, i16 4694, i16 4695, i16 0, i16 9019, i16 0, i16 3213, i16 4241, i16 2287, i16 9020, i16 0, i16 3139, i16 0, i16 1741, i16 0, i16 3070, i16 3036, i16 9021, i16 0, i16 0, i16 9022, i16 0, i16 2764, i16 9023, i16 3598, i16 0, i16 4697, i16 1921, i16 9024, i16 0, i16 4698, i16 0, i16 1341, i16 12391, i16 0, i16 6651, i16 6645, i16 12392, i16 12393, i16 6644, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12395, i16 12396, i16 12394, i16 12397, i16 12398, i16 0, i16 12399, i16 0, i16 0, i16 0, i16 6462, i16 11921, i16 0, i16 0, i16 0, i16 0, i16 11922, i16 0, i16 11923, i16 6461, i16 2195, i16 6463, i16 11924, i16 11925, i16 1386, i16 6464, i16 6466, i16 0, i16 11926, i16 0, i16 11927, i16 0, i16 0, i16 0, i16 0, i16 11928, i16 11929, i16 0, i16 0, i16 6467, i16 0, i16 0, i16 10814, i16 1807, i16 5761, i16 0, i16 0, i16 10815, i16 10816, i16 5766, i16 5767, i16 10817, i16 0, i16 5768, i16 10818, i16 5774, i16 2746, i16 5770, i16 10819, i16 5769, i16 5771, i16 5772, i16 10820, i16 5773, i16 0, i16 10821, i16 0, i16 10822, i16 5775, i16 5776, i16 10823, i16 10824, i16 0, i16 0, i16 11328, i16 6096, i16 0, i16 0, i16 0, i16 0, i16 11329, i16 0, i16 11330, i16 0, i16 0, i16 0, i16 3557, i16 0, i16 5430, i16 6098, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11331, i16 0, i16 11332, i16 0, i16 11333, i16 0, i16 11334, i16 11335, i16 0, i16 6099, i16 0, i16 8772, i16 8773, i16 4542, i16 0, i16 8776, i16 4541, i16 8774, i16 0, i16 8775, i16 0, i16 0, i16 8777, i16 8778, i16 0, i16 8779, i16 0, i16 0, i16 2633, i16 0, i16 4545, i16 0, i16 4543, i16 4533, i16 1495, i16 0, i16 4544, i16 0, i16 4548, i16 4547, i16 4549, i16 4546, i16 0, i16 9798, i16 0, i16 0, i16 0, i16 9799, i16 9800, i16 9801, i16 0, i16 3656, i16 9802, i16 9803, i16 5194, i16 0, i16 2338, i16 0, i16 9804, i16 0, i16 9805, i16 0, i16 0, i16 5190, i16 5195, i16 9806, i16 0, i16 915, i16 9807, i16 0, i16 9808, i16 0, i16 9809, i16 0, i16 0, i16 2122, i16 6364, i16 11773, i16 11774, i16 0, i16 11775, i16 0, i16 11776, i16 11777, i16 1666, i16 3724, i16 6365, i16 11778, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11779, i16 0, i16 11780, i16 11781, i16 0, i16 6366, i16 3126, i16 6367, i16 11782, i16 6375, i16 0, i16 11783, i16 0, i16 0, i16 1355, i16 1412, i16 5657, i16 0, i16 0, i16 10668, i16 10669, i16 0, i16 3209, i16 0, i16 2227, i16 0, i16 3393, i16 0, i16 10670, i16 5658, i16 0, i16 3584, i16 0, i16 10671, i16 2991, i16 0, i16 2381, i16 2927, i16 0, i16 0, i16 2012, i16 0, i16 0, i16 10672, i16 777, i16 0, i16 13131, i16 0, i16 13132, i16 13133, i16 13134, i16 13135, i16 13136, i16 0, i16 0, i16 7078, i16 5519, i16 0, i16 0, i16 6400, i16 6795, i16 0, i16 0, i16 7079, i16 13137, i16 7080, i16 13138, i16 13139, i16 13140, i16 13141, i16 0, i16 13142, i16 0, i16 0, i16 13143, i16 13144, i16 7082, i16 0, i16 12365, i16 0, i16 12366, i16 12367, i16 0, i16 12368, i16 1054, i16 12369, i16 12375, i16 0, i16 12370, i16 6638, i16 6639, i16 2660, i16 0, i16 6637, i16 0, i16 0, i16 0, i16 12371, i16 12372, i16 12373, i16 0, i16 0, i16 6641, i16 12374, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1872, i16 4600, i16 8835, i16 8836, i16 0, i16 0, i16 1835, i16 4601, i16 781, i16 8837, i16 8838, i16 4596, i16 8839, i16 0, i16 0, i16 8840, i16 2634, i16 0, i16 8841, i16 0, i16 0, i16 8842, i16 0, i16 8843, i16 1298, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1329, i16 0, i16 1618, i16 1119, i16 0, i16 0, i16 0, i16 0, i16 9199, i16 9198, i16 4803, i16 1111, i16 4809, i16 9200, i16 9201, i16 0, i16 9202, i16 9203, i16 9204, i16 4806, i16 9205, i16 2332, i16 0, i16 0, i16 0, i16 1070, i16 1697, i16 0, i16 9206, i16 1069, i16 1732, i16 0, i16 9207, i16 0, i16 6996, i16 12990, i16 12991, i16 6993, i16 12988, i16 6999, i16 12992, i16 7000, i16 0, i16 12993, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7005, i16 7004, i16 0, i16 12994, i16 12995, i16 0, i16 0, i16 0, i16 0, i16 7006, i16 0, i16 0, i16 852, i16 7001, i16 7002, i16 12996, i16 0, i16 4182, i16 2908, i16 3063, i16 3426, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2912, i16 8220, i16 8221, i16 4191, i16 8222, i16 0, i16 0, i16 0, i16 8223, i16 1239, i16 0, i16 8224, i16 3508, i16 8225, i16 0, i16 3392, i16 0, i16 4286, i16 0, i16 4183, i16 0, i16 8226, i16 0, i16 1880, i16 0, i16 0, i16 0, i16 5494, i16 5489, i16 10378, i16 10379, i16 10380, i16 5495, i16 5490, i16 10381, i16 0, i16 10382, i16 0, i16 3057, i16 5488, i16 10383, i16 10384, i16 5491, i16 10385, i16 10386, i16 0, i16 0, i16 0, i16 5498, i16 10388, i16 0, i16 0, i16 0, i16 10389, i16 0, i16 9560, i16 0, i16 5043, i16 5045, i16 9561, i16 865, i16 9562, i16 0, i16 1623, i16 3677, i16 0, i16 1056, i16 0, i16 3161, i16 9563, i16 9564, i16 0, i16 0, i16 0, i16 3536, i16 0, i16 0, i16 1031, i16 2182, i16 5047, i16 0, i16 0, i16 9565, i16 0, i16 0, i16 0, i16 0, i16 12376, i16 0, i16 6647, i16 12377, i16 12378, i16 12379, i16 12380, i16 6650, i16 12381, i16 12382, i16 12383, i16 12384, i16 12385, i16 0, i16 0, i16 6649, i16 2732, i16 0, i16 12386, i16 0, i16 0, i16 6642, i16 6643, i16 6646, i16 12387, i16 0, i16 0, i16 12388, i16 6648, i16 12389, i16 12390, i16 0, i16 11868, i16 0, i16 0, i16 11869, i16 11870, i16 11871, i16 0, i16 6425, i16 6426, i16 3528, i16 11872, i16 0, i16 0, i16 0, i16 2820, i16 6430, i16 11873, i16 0, i16 0, i16 11874, i16 0, i16 11875, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6428, i16 6429, i16 6431, i16 0, i16 12126, i16 2216, i16 6569, i16 12127, i16 6570, i16 0, i16 12128, i16 0, i16 6571, i16 3550, i16 0, i16 1990, i16 12129, i16 0, i16 0, i16 0, i16 0, i16 6573, i16 6572, i16 12130, i16 1649, i16 0, i16 1674, i16 1811, i16 12131, i16 12132, i16 12133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4703, i16 9033, i16 4701, i16 4704, i16 3590, i16 4702, i16 0, i16 9034, i16 9035, i16 0, i16 2340, i16 4705, i16 0, i16 9036, i16 2455, i16 9037, i16 0, i16 4706, i16 0, i16 9038, i16 0, i16 9039, i16 1211, i16 9040, i16 4708, i16 0, i16 4707, i16 0, i16 0, i16 0, i16 9041, i16 0, i16 11104, i16 11105, i16 5986, i16 0, i16 0, i16 0, i16 0, i16 826, i16 0, i16 0, i16 5977, i16 11106, i16 11107, i16 11108, i16 5976, i16 11109, i16 5971, i16 5970, i16 11110, i16 5968, i16 5967, i16 2598, i16 11111, i16 2528, i16 5973, i16 11112, i16 0, i16 11113, i16 11114, i16 0, i16 0, i16 0, i16 11364, i16 0, i16 6107, i16 2941, i16 0, i16 11365, i16 11366, i16 11367, i16 6108, i16 6109, i16 6119, i16 0, i16 11368, i16 0, i16 6113, i16 6116, i16 11369, i16 0, i16 11370, i16 11371, i16 11372, i16 6112, i16 11373, i16 11374, i16 11375, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11376, i16 0, i16 12134, i16 6576, i16 12135, i16 0, i16 12136, i16 12137, i16 2037, i16 0, i16 6575, i16 12138, i16 6574, i16 0, i16 2510, i16 12139, i16 0, i16 1576, i16 12140, i16 2284, i16 12141, i16 12142, i16 12143, i16 0, i16 3017, i16 12144, i16 0, i16 0, i16 0, i16 1992, i16 0, i16 12145, i16 0, i16 0, i16 4458, i16 8665, i16 4461, i16 4463, i16 0, i16 8666, i16 0, i16 8667, i16 1902, i16 8668, i16 4469, i16 2705, i16 4459, i16 8669, i16 0, i16 0, i16 8670, i16 4467, i16 8671, i16 1022, i16 8672, i16 4465, i16 4466, i16 8673, i16 0, i16 4462, i16 4464, i16 0, i16 8674, i16 8675, i16 1568, i16 0, i16 7018, i16 7024, i16 13030, i16 7017, i16 0, i16 7022, i16 13031, i16 0, i16 13032, i16 13033, i16 0, i16 0, i16 0, i16 0, i16 7023, i16 0, i16 0, i16 0, i16 7026, i16 13034, i16 13035, i16 13036, i16 13037, i16 0, i16 7025, i16 13038, i16 0, i16 0, i16 0, i16 13039, i16 13040, i16 0, i16 10858, i16 10859, i16 5804, i16 1421, i16 0, i16 10860, i16 0, i16 2345, i16 1248, i16 10861, i16 0, i16 0, i16 10862, i16 5808, i16 5805, i16 0, i16 0, i16 5806, i16 0, i16 10863, i16 0, i16 5809, i16 0, i16 5810, i16 5807, i16 0, i16 0, i16 10864, i16 848, i16 0, i16 10865, i16 0, i16 3180, i16 2325, i16 0, i16 1918, i16 4261, i16 2074, i16 4262, i16 4263, i16 796, i16 2463, i16 2205, i16 8379, i16 4264, i16 2832, i16 2075, i16 0, i16 2076, i16 0, i16 4265, i16 0, i16 0, i16 2326, i16 8380, i16 0, i16 0, i16 2077, i16 0, i16 0, i16 0, i16 8381, i16 8382, i16 0, i16 12400, i16 12401, i16 6655, i16 12402, i16 0, i16 0, i16 6656, i16 12403, i16 12404, i16 0, i16 0, i16 0, i16 12405, i16 12406, i16 12407, i16 6657, i16 0, i16 0, i16 6654, i16 6653, i16 12408, i16 12409, i16 12410, i16 2127, i16 2823, i16 6652, i16 0, i16 0, i16 0, i16 0, i16 12411, i16 0, i16 8562, i16 8563, i16 8564, i16 8565, i16 3456, i16 1522, i16 1541, i16 8566, i16 4392, i16 0, i16 8567, i16 8568, i16 4393, i16 8569, i16 4399, i16 8570, i16 1942, i16 0, i16 0, i16 8571, i16 2630, i16 8572, i16 1324, i16 4394, i16 0, i16 0, i16 8573, i16 3106, i16 8574, i16 2569, i16 8575, i16 0, i16 12146, i16 6577, i16 0, i16 2124, i16 0, i16 12147, i16 0, i16 12148, i16 0, i16 6580, i16 6578, i16 12149, i16 12150, i16 12151, i16 6579, i16 12152, i16 12153, i16 12154, i16 12155, i16 6582, i16 6581, i16 12156, i16 0, i16 2151, i16 0, i16 6583, i16 12157, i16 12158, i16 12159, i16 0, i16 12160, i16 0, i16 3960, i16 7810, i16 1256, i16 1065, i16 0, i16 0, i16 0, i16 1662, i16 1255, i16 2688, i16 844, i16 2830, i16 3407, i16 1592, i16 3560, i16 2758, i16 1591, i16 0, i16 7811, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7812, i16 1418, i16 0, i16 3969, i16 0, i16 1376, i16 0, i16 3705, i16 11299, i16 0, i16 0, i16 0, i16 0, i16 11300, i16 0, i16 6080, i16 11301, i16 11302, i16 0, i16 3556, i16 11303, i16 6082, i16 6084, i16 0, i16 0, i16 0, i16 0, i16 6085, i16 0, i16 0, i16 11305, i16 0, i16 11306, i16 0, i16 6088, i16 6086, i16 0, i16 11307, i16 0, i16 10363, i16 0, i16 5484, i16 10367, i16 0, i16 0, i16 3232, i16 10368, i16 2306, i16 5486, i16 0, i16 10369, i16 10370, i16 0, i16 5487, i16 10371, i16 10372, i16 10373, i16 10374, i16 0, i16 5485, i16 0, i16 0, i16 0, i16 0, i16 1073, i16 10375, i16 5493, i16 10376, i16 5492, i16 10377, i16 0, i16 12670, i16 1233, i16 12671, i16 0, i16 12672, i16 12673, i16 12674, i16 0, i16 6823, i16 12675, i16 6824, i16 0, i16 3910, i16 4959, i16 3052, i16 0, i16 0, i16 836, i16 12676, i16 772, i16 0, i16 12677, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1863, i16 3299, i16 2155, i16 0, i16 0, i16 1408, i16 6500, i16 6501, i16 6502, i16 11984, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8328, i16 2139, i16 0, i16 0, i16 8329, i16 0, i16 0, i16 0, i16 0, i16 4225, i16 0, i16 2685, i16 8330, i16 0, i16 0, i16 876, i16 0, i16 4223, i16 0, i16 8324, i16 0, i16 4226, i16 0, i16 8331, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4227, i16 0, i16 0, i16 4489, i16 8720, i16 0, i16 0, i16 0, i16 0, i16 4497, i16 4496, i16 0, i16 8721, i16 8722, i16 4501, i16 0, i16 0, i16 0, i16 8723, i16 8724, i16 0, i16 0, i16 4502, i16 8725, i16 8726, i16 8727, i16 0, i16 8728, i16 0, i16 0, i16 4500, i16 4503, i16 4495, i16 4499, i16 0, i16 8076, i16 2221, i16 8077, i16 0, i16 0, i16 0, i16 0, i16 4104, i16 4107, i16 0, i16 1434, i16 8078, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4108, i16 8079, i16 8088, i16 0, i16 8080, i16 0, i16 8081, i16 8082, i16 0, i16 8083, i16 8084, i16 8085, i16 8086, i16 0, i16 12940, i16 0, i16 12941, i16 12942, i16 12943, i16 6973, i16 6971, i16 2544, i16 12944, i16 12945, i16 0, i16 0, i16 0, i16 12946, i16 12947, i16 12948, i16 0, i16 3363, i16 12949, i16 12950, i16 0, i16 12951, i16 3623, i16 12952, i16 0, i16 6975, i16 12953, i16 12960, i16 12954, i16 12955, i16 12956, i16 0, i16 654, i16 7143, i16 7144, i16 7145, i16 7146, i16 7147, i16 7148, i16 7149, i16 7150, i16 7151, i16 7152, i16 7153, i16 0, i16 7154, i16 7155, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 0, i16 1423, i16 6557, i16 0, i16 6558, i16 12078, i16 0, i16 0, i16 3179, i16 0, i16 0, i16 12081, i16 0, i16 1079, i16 0, i16 12082, i16 12083, i16 0, i16 0, i16 0, i16 12084, i16 3496, i16 12080, i16 1340, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2771, i16 12085, i16 12086, i16 0, i16 10127, i16 5350, i16 0, i16 0, i16 10128, i16 5345, i16 5346, i16 0, i16 5349, i16 5348, i16 3100, i16 0, i16 0, i16 2377, i16 2376, i16 10129, i16 1246, i16 10130, i16 10131, i16 5351, i16 10132, i16 0, i16 0, i16 0, i16 10133, i16 5352, i16 0, i16 10134, i16 5353, i16 0, i16 0, i16 0, i16 11407, i16 0, i16 11408, i16 0, i16 6142, i16 0, i16 0, i16 11409, i16 6143, i16 0, i16 0, i16 0, i16 0, i16 11410, i16 11411, i16 0, i16 11412, i16 11413, i16 0, i16 6138, i16 0, i16 0, i16 6140, i16 0, i16 11414, i16 11415, i16 6141, i16 11416, i16 11417, i16 11418, i16 6139, i16 0, i16 5010, i16 5007, i16 3535, i16 0, i16 9507, i16 9508, i16 9509, i16 2657, i16 9510, i16 0, i16 0, i16 2870, i16 5008, i16 0, i16 0, i16 5016, i16 0, i16 5015, i16 1406, i16 9511, i16 9512, i16 946, i16 9513, i16 9514, i16 1712, i16 5009, i16 5011, i16 9515, i16 0, i16 0, i16 9516, i16 0, i16 8851, i16 8852, i16 8853, i16 8854, i16 0, i16 8855, i16 0, i16 0, i16 2447, i16 8856, i16 8857, i16 1790, i16 4606, i16 8858, i16 4608, i16 4604, i16 0, i16 8859, i16 8860, i16 8861, i16 3254, i16 0, i16 2654, i16 8862, i16 0, i16 0, i16 8863, i16 2403, i16 0, i16 0, i16 0, i16 0, i16 11163, i16 0, i16 6002, i16 2839, i16 0, i16 11164, i16 6007, i16 0, i16 0, i16 11165, i16 6004, i16 3291, i16 6010, i16 809, i16 11166, i16 0, i16 11167, i16 0, i16 5998, i16 0, i16 11168, i16 0, i16 0, i16 0, i16 11169, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3228, i16 2651, i16 1687, i16 0, i16 1655, i16 2038, i16 12619, i16 2215, i16 0, i16 12620, i16 0, i16 6801, i16 12622, i16 12623, i16 6800, i16 3505, i16 1193, i16 3051, i16 2873, i16 12624, i16 0, i16 12625, i16 2247, i16 3611, i16 12621, i16 1462, i16 0, i16 12626, i16 0, i16 12627, i16 0, i16 0, i16 4765, i16 0, i16 0, i16 0, i16 9146, i16 4768, i16 9147, i16 9148, i16 2244, i16 0, i16 0, i16 9149, i16 0, i16 3562, i16 786, i16 1749, i16 2465, i16 0, i16 1934, i16 9150, i16 9151, i16 2144, i16 0, i16 0, i16 4771, i16 0, i16 0, i16 2765, i16 9152, i16 4769, i16 2448, i16 0, i16 3230, i16 8167, i16 0, i16 8165, i16 4143, i16 0, i16 2568, i16 8168, i16 0, i16 1018, i16 0, i16 2138, i16 8169, i16 8170, i16 0, i16 8171, i16 4145, i16 8172, i16 4144, i16 8173, i16 1663, i16 8174, i16 4146, i16 4148, i16 4147, i16 8175, i16 0, i16 4150, i16 8176, i16 4139, i16 4152, i16 0, i16 6046, i16 0, i16 0, i16 0, i16 0, i16 11204, i16 0, i16 11205, i16 11206, i16 11207, i16 0, i16 0, i16 6024, i16 0, i16 11208, i16 0, i16 11209, i16 1114, i16 0, i16 11210, i16 0, i16 0, i16 0, i16 2149, i16 6035, i16 11211, i16 6040, i16 2426, i16 11212, i16 11213, i16 6036, i16 0, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 0, i16 6047, i16 11241, i16 11242, i16 11243, i16 11244, i16 2678, i16 11245, i16 0, i16 0, i16 11246, i16 11247, i16 6052, i16 839, i16 0, i16 11248, i16 0, i16 0, i16 11229, i16 11249, i16 11250, i16 2439, i16 11251, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3224, i16 0, i16 11252, i16 0, i16 9892, i16 1333, i16 5243, i16 5245, i16 0, i16 5244, i16 9893, i16 0, i16 9894, i16 0, i16 0, i16 9895, i16 0, i16 5246, i16 0, i16 1546, i16 0, i16 5247, i16 0, i16 0, i16 9896, i16 9897, i16 1382, i16 9898, i16 2375, i16 0, i16 1684, i16 0, i16 0, i16 0, i16 9899, i16 0, i16 10918, i16 0, i16 0, i16 5849, i16 5851, i16 5850, i16 3006, i16 10919, i16 2902, i16 0, i16 3689, i16 3010, i16 0, i16 10920, i16 0, i16 0, i16 0, i16 0, i16 5853, i16 0, i16 0, i16 2112, i16 0, i16 3105, i16 0, i16 5854, i16 5852, i16 10921, i16 1167, i16 10922, i16 0, i16 0, i16 7848, i16 3986, i16 0, i16 3995, i16 3988, i16 7849, i16 7850, i16 3992, i16 7851, i16 7852, i16 3993, i16 3989, i16 7853, i16 7854, i16 4022, i16 0, i16 7855, i16 1758, i16 1044, i16 0, i16 0, i16 0, i16 7856, i16 3987, i16 7857, i16 7858, i16 7859, i16 3997, i16 831, i16 3996, i16 7860, i16 0, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 458, i16 459, i16 460, i16 461, i16 0, i16 3248, i16 8554, i16 4385, i16 3673, i16 0, i16 8555, i16 8556, i16 8557, i16 4386, i16 3221, i16 4389, i16 3711, i16 3727, i16 8558, i16 1889, i16 2898, i16 4390, i16 0, i16 1276, i16 2629, i16 835, i16 4391, i16 3195, i16 1607, i16 8559, i16 0, i16 2579, i16 8560, i16 8561, i16 0, i16 2704, i16 0, i16 3000, i16 0, i16 12729, i16 2481, i16 895, i16 1387, i16 0, i16 1388, i16 12730, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2614, i16 6858, i16 1389, i16 12731, i16 12732, i16 1012, i16 0, i16 0, i16 6857, i16 12733, i16 12734, i16 6855, i16 12735, i16 6856, i16 12736, i16 6854, i16 0, i16 3513, i16 4657, i16 0, i16 8965, i16 4653, i16 0, i16 4654, i16 0, i16 8966, i16 8967, i16 8968, i16 8969, i16 2407, i16 8970, i16 0, i16 8971, i16 8972, i16 4652, i16 0, i16 4587, i16 8973, i16 0, i16 8974, i16 4656, i16 0, i16 4651, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6334, i16 11726, i16 11727, i16 11728, i16 11729, i16 11730, i16 0, i16 11731, i16 6338, i16 0, i16 0, i16 6335, i16 11736, i16 6337, i16 6336, i16 0, i16 0, i16 11732, i16 11733, i16 11734, i16 0, i16 6339, i16 0, i16 1890, i16 11735, i16 6341, i16 6340, i16 3167, i16 0, i16 11737, i16 6343, i16 0, i16 11198, i16 6026, i16 0, i16 6021, i16 11199, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2114, i16 0, i16 0, i16 0, i16 0, i16 1982, i16 0, i16 11200, i16 11201, i16 1885, i16 11202, i16 0, i16 0, i16 0, i16 3433, i16 0, i16 0, i16 3134, i16 0, i16 11203, i16 6037, i16 0, i16 6591, i16 0, i16 2689, i16 12170, i16 12171, i16 3336, i16 1401, i16 0, i16 12172, i16 12173, i16 0, i16 12174, i16 12175, i16 12176, i16 12177, i16 12178, i16 12179, i16 0, i16 0, i16 0, i16 6594, i16 6595, i16 12180, i16 0, i16 12181, i16 0, i16 12182, i16 6593, i16 12183, i16 0, i16 6597, i16 0, i16 3009, i16 4355, i16 3219, i16 4356, i16 0, i16 0, i16 0, i16 8521, i16 0, i16 8522, i16 8523, i16 8524, i16 8525, i16 8526, i16 0, i16 8527, i16 0, i16 1140, i16 3220, i16 2922, i16 4358, i16 4359, i16 0, i16 1603, i16 1141, i16 4360, i16 1521, i16 3507, i16 3480, i16 1207, i16 4362, i16 0, i16 3526, i16 0, i16 6257, i16 0, i16 0, i16 3193, i16 2945, i16 6258, i16 11600, i16 6259, i16 1508, i16 0, i16 11601, i16 0, i16 1227, i16 11602, i16 0, i16 0, i16 6260, i16 11603, i16 11604, i16 1854, i16 2940, i16 6261, i16 0, i16 1075, i16 11605, i16 11606, i16 0, i16 0, i16 11607, i16 0, i16 3783, i16 7516, i16 3268, i16 2576, i16 3779, i16 1484, i16 7517, i16 3776, i16 3784, i16 3778, i16 3614, i16 3785, i16 3692, i16 7518, i16 0, i16 7519, i16 0, i16 7520, i16 7521, i16 0, i16 7522, i16 1379, i16 0, i16 0, i16 1483, i16 0, i16 7546, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9159, i16 0, i16 0, i16 9160, i16 4783, i16 0, i16 3091, i16 0, i16 4774, i16 0, i16 4780, i16 4779, i16 0, i16 9161, i16 9162, i16 2296, i16 9163, i16 0, i16 9164, i16 0, i16 3360, i16 9165, i16 3616, i16 9166, i16 9167, i16 3354, i16 9168, i16 977, i16 1841, i16 0, i16 0, i16 0, i16 7112, i16 302, i16 303, i16 7120, i16 0, i16 7113, i16 309, i16 236, i16 7117, i16 7116, i16 0, i16 340, i16 0, i16 7118, i16 7106, i16 296, i16 283, i16 0, i16 0, i16 234, i16 0, i16 367, i16 0, i16 7103, i16 0, i16 7115, i16 0, i16 0, i16 0, i16 0, i16 7114, i16 0, i16 8138, i16 4127, i16 0, i16 8139, i16 0, i16 0, i16 8140, i16 8141, i16 925, i16 0, i16 2741, i16 0, i16 0, i16 0, i16 0, i16 4129, i16 0, i16 4125, i16 0, i16 0, i16 2203, i16 0, i16 0, i16 8142, i16 4133, i16 0, i16 0, i16 8143, i16 0, i16 2013, i16 8144, i16 0, i16 972, i16 4211, i16 0, i16 8307, i16 0, i16 8308, i16 0, i16 8309, i16 1900, i16 0, i16 4210, i16 1492, i16 0, i16 0, i16 8310, i16 4224, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4217, i16 4214, i16 0, i16 0, i16 8311, i16 0, i16 8312, i16 0, i16 0, i16 0, i16 0, i16 6865, i16 12747, i16 12748, i16 12749, i16 6867, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12750, i16 12751, i16 0, i16 1234, i16 6866, i16 12752, i16 12753, i16 2434, i16 1516, i16 0, i16 0, i16 12754, i16 0, i16 0, i16 6869, i16 0, i16 0, i16 0, i16 0, i16 12755, i16 0, i16 0, i16 10449, i16 0, i16 0, i16 0, i16 0, i16 1305, i16 5518, i16 10450, i16 10451, i16 5520, i16 10452, i16 0, i16 0, i16 5521, i16 10453, i16 2916, i16 10454, i16 0, i16 5522, i16 10455, i16 0, i16 0, i16 0, i16 10456, i16 5523, i16 5524, i16 10457, i16 0, i16 1366, i16 984, i16 2850, i16 0, i16 9683, i16 9684, i16 0, i16 2032, i16 0, i16 5139, i16 0, i16 9685, i16 0, i16 0, i16 0, i16 9686, i16 5132, i16 2637, i16 5129, i16 2682, i16 0, i16 0, i16 0, i16 5164, i16 0, i16 0, i16 0, i16 5126, i16 0, i16 5125, i16 0, i16 5134, i16 9687, i16 9688, i16 0, i16 0, i16 12499, i16 840, i16 2211, i16 2059, i16 1178, i16 6721, i16 0, i16 0, i16 0, i16 2977, i16 0, i16 6723, i16 0, i16 12500, i16 0, i16 841, i16 0, i16 6722, i16 2661, i16 12501, i16 3610, i16 2824, i16 6716, i16 3571, i16 0, i16 1514, i16 12502, i16 12503, i16 3530, i16 12504, i16 12505, i16 0, i16 6357, i16 0, i16 0, i16 0, i16 11760, i16 2819, i16 11761, i16 6359, i16 11762, i16 3296, i16 11763, i16 6360, i16 0, i16 6361, i16 11764, i16 6362, i16 11765, i16 0, i16 11766, i16 11767, i16 6363, i16 0, i16 11768, i16 11769, i16 11772, i16 2871, i16 11770, i16 0, i16 11771, i16 0, i16 0, i16 0, i16 11480, i16 0, i16 11481, i16 0, i16 6158, i16 11482, i16 0, i16 0, i16 11483, i16 11484, i16 11485, i16 0, i16 6178, i16 6182, i16 6177, i16 11486, i16 6184, i16 11488, i16 11489, i16 11490, i16 6186, i16 6185, i16 0, i16 11491, i16 11487, i16 11492, i16 11493, i16 11494, i16 0, i16 11495, i16 11496, i16 0, i16 12506, i16 12507, i16 12508, i16 12509, i16 1398, i16 3585, i16 0, i16 1411, i16 12510, i16 2503, i16 5873, i16 0, i16 6724, i16 1039, i16 2234, i16 0, i16 12511, i16 0, i16 0, i16 1081, i16 6726, i16 12512, i16 6727, i16 6725, i16 1471, i16 12513, i16 1746, i16 2128, i16 12514, i16 0, i16 12515, i16 0, i16 3548, i16 773, i16 5703, i16 0, i16 10730, i16 1290, i16 10731, i16 5700, i16 0, i16 10732, i16 0, i16 0, i16 0, i16 5701, i16 0, i16 10733, i16 2812, i16 5699, i16 5696, i16 0, i16 1035, i16 2317, i16 0, i16 10734, i16 1505, i16 10735, i16 10736, i16 0, i16 5708, i16 0, i16 10737, i16 0, i16 13021, i16 0, i16 0, i16 7014, i16 0, i16 0, i16 0, i16 0, i16 7015, i16 13022, i16 7010, i16 13023, i16 0, i16 13024, i16 6990, i16 0, i16 13025, i16 7016, i16 0, i16 2690, i16 13026, i16 0, i16 0, i16 7020, i16 13027, i16 7021, i16 7019, i16 13028, i16 0, i16 0, i16 13029, i16 0, i16 9187, i16 4794, i16 0, i16 4791, i16 0, i16 9188, i16 4799, i16 0, i16 4789, i16 0, i16 0, i16 4787, i16 0, i16 4795, i16 4785, i16 9189, i16 2607, i16 9190, i16 3465, i16 1911, i16 1769, i16 9191, i16 9192, i16 0, i16 9176, i16 0, i16 1711, i16 0, i16 0, i16 3362, i16 1060, i16 0, i16 3044, i16 0, i16 5746, i16 10797, i16 10798, i16 5741, i16 10799, i16 0, i16 0, i16 2344, i16 1453, i16 0, i16 1978, i16 10800, i16 0, i16 10801, i16 0, i16 10802, i16 0, i16 2160, i16 2365, i16 5752, i16 0, i16 10803, i16 5754, i16 5755, i16 0, i16 0, i16 5751, i16 5753, i16 10804, i16 0, i16 231, i16 0, i16 305, i16 301, i16 304, i16 306, i16 0, i16 263, i16 264, i16 307, i16 281, i16 225, i16 0, i16 226, i16 252, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 228, i16 229, i16 288, i16 286, i16 289, i16 230, i16 0, i16 3568, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11549, i16 6229, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11550, i16 11551, i16 11552, i16 6230, i16 2117, i16 6228, i16 11553, i16 0, i16 11554, i16 3542, i16 6225, i16 0, i16 0, i16 6227, i16 2278, i16 2249, i16 0, i16 0, i16 3824, i16 0, i16 7611, i16 0, i16 0, i16 0, i16 7612, i16 7613, i16 0, i16 3476, i16 0, i16 7614, i16 7615, i16 0, i16 7616, i16 0, i16 7617, i16 3434, i16 7618, i16 7619, i16 7620, i16 0, i16 3826, i16 7621, i16 7622, i16 3825, i16 3828, i16 3827, i16 0, i16 0, i16 3829, i16 0, i16 8177, i16 8178, i16 0, i16 4151, i16 4149, i16 0, i16 0, i16 0, i16 8179, i16 0, i16 1825, i16 2204, i16 0, i16 2395, i16 4153, i16 2277, i16 822, i16 2975, i16 8180, i16 0, i16 0, i16 0, i16 2684, i16 0, i16 4155, i16 4154, i16 4156, i16 4157, i16 4158, i16 0, i16 0, i16 0, i16 7922, i16 0, i16 7923, i16 4038, i16 4036, i16 7924, i16 4093, i16 0, i16 7925, i16 0, i16 7926, i16 7927, i16 0, i16 7928, i16 0, i16 0, i16 7929, i16 7930, i16 7931, i16 4041, i16 0, i16 0, i16 7932, i16 7933, i16 0, i16 4035, i16 7934, i16 4039, i16 0, i16 7935, i16 4037, i16 0, i16 8434, i16 0, i16 0, i16 0, i16 0, i16 8435, i16 2237, i16 0, i16 0, i16 0, i16 4302, i16 0, i16 8436, i16 1759, i16 0, i16 0, i16 4308, i16 8437, i16 0, i16 4309, i16 4303, i16 1046, i16 4304, i16 4313, i16 4312, i16 4311, i16 4307, i16 0, i16 0, i16 0, i16 4306, i16 0, i16 10738, i16 10739, i16 10740, i16 0, i16 10741, i16 10742, i16 0, i16 10743, i16 5705, i16 0, i16 10744, i16 10745, i16 10746, i16 0, i16 5707, i16 0, i16 10747, i16 0, i16 5704, i16 0, i16 0, i16 10748, i16 10749, i16 0, i16 1452, i16 2456, i16 5709, i16 2421, i16 10750, i16 10751, i16 5722, i16 0, i16 10227, i16 5421, i16 2961, i16 0, i16 10228, i16 3346, i16 0, i16 885, i16 10229, i16 894, i16 10230, i16 10231, i16 5422, i16 10232, i16 0, i16 0, i16 0, i16 5424, i16 0, i16 10233, i16 0, i16 5423, i16 2799, i16 0, i16 10234, i16 0, i16 2274, i16 4957, i16 0, i16 5425, i16 3410, i16 0, i16 9460, i16 0, i16 9461, i16 0, i16 0, i16 9462, i16 9463, i16 0, i16 0, i16 0, i16 4993, i16 4992, i16 0, i16 9464, i16 4995, i16 0, i16 9465, i16 0, i16 4994, i16 0, i16 0, i16 0, i16 9466, i16 0, i16 9467, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9468, i16 0, i16 5109, i16 0, i16 0, i16 0, i16 1156, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9674, i16 0, i16 9675, i16 9676, i16 9677, i16 1476, i16 0, i16 0, i16 9678, i16 5135, i16 9679, i16 9680, i16 5130, i16 2337, i16 9681, i16 9682, i16 1094, i16 0, i16 4855, i16 4834, i16 4854, i16 0, i16 4847, i16 4835, i16 0, i16 4851, i16 0, i16 4852, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4869, i16 9275, i16 0, i16 9276, i16 2859, i16 9277, i16 4842, i16 0, i16 9278, i16 4865, i16 0, i16 9279, i16 0, i16 4867, i16 0, i16 2681, i16 0, i16 3579, i16 0, i16 0, i16 2145, i16 2334, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9557, i16 0, i16 5048, i16 5046, i16 0, i16 3140, i16 0, i16 9558, i16 9559, i16 0, i16 8956, i16 0, i16 8957, i16 2736, i16 4647, i16 8958, i16 0, i16 8959, i16 4648, i16 0, i16 3174, i16 8960, i16 2944, i16 1782, i16 0, i16 2330, i16 0, i16 3331, i16 8961, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1068, i16 0, i16 4655, i16 4650, i16 8962, i16 8963, i16 8964, i16 0, i16 8190, i16 3397, i16 8191, i16 8192, i16 4164, i16 0, i16 2508, i16 8193, i16 2742, i16 2469, i16 3150, i16 4165, i16 4166, i16 930, i16 8194, i16 8195, i16 1899, i16 4167, i16 8196, i16 0, i16 8197, i16 8198, i16 793, i16 4168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4169, i16 8199, i16 0, i16 12543, i16 12544, i16 12545, i16 6755, i16 0, i16 0, i16 3401, i16 12546, i16 0, i16 6756, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6757, i16 12547, i16 3669, i16 12548, i16 0, i16 0, i16 0, i16 0, i16 4761, i16 6758, i16 0, i16 0, i16 0, i16 6759, i16 6760, i16 0, i16 11520, i16 1644, i16 6199, i16 810, i16 11521, i16 0, i16 0, i16 0, i16 3124, i16 11522, i16 0, i16 6200, i16 0, i16 0, i16 0, i16 0, i16 2229, i16 11523, i16 6207, i16 0, i16 0, i16 6204, i16 0, i16 2610, i16 0, i16 11524, i16 0, i16 11525, i16 0, i16 6205, i16 6202, i16 1371, i16 5889, i16 0, i16 10986, i16 5892, i16 5891, i16 0, i16 0, i16 0, i16 3319, i16 5895, i16 0, i16 0, i16 0, i16 0, i16 10987, i16 0, i16 5896, i16 0, i16 10988, i16 2366, i16 10989, i16 5897, i16 0, i16 0, i16 5899, i16 0, i16 5903, i16 10990, i16 0, i16 5900, i16 5898, i16 2938, i16 6145, i16 11425, i16 0, i16 6156, i16 11426, i16 11427, i16 993, i16 0, i16 6152, i16 0, i16 6157, i16 0, i16 0, i16 0, i16 6153, i16 11428, i16 0, i16 11429, i16 11430, i16 0, i16 6150, i16 0, i16 2644, i16 0, i16 6147, i16 0, i16 0, i16 11431, i16 0, i16 0, i16 0, i16 2979, i16 11265, i16 11266, i16 11267, i16 6058, i16 11268, i16 0, i16 0, i16 0, i16 3706, i16 2815, i16 3178, i16 11269, i16 0, i16 6071, i16 0, i16 11270, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6077, i16 0, i16 11271, i16 11272, i16 11273, i16 0, i16 11274, i16 6078, i16 11275, i16 12802, i16 0, i16 6898, i16 6899, i16 12803, i16 12804, i16 6900, i16 12805, i16 0, i16 12806, i16 3018, i16 6902, i16 12807, i16 3101, i16 6903, i16 6901, i16 0, i16 6905, i16 12808, i16 12809, i16 6904, i16 12810, i16 0, i16 6906, i16 0, i16 12811, i16 12812, i16 6907, i16 0, i16 12813, i16 0, i16 12814, i16 4611, i16 0, i16 8875, i16 2404, i16 8876, i16 0, i16 0, i16 8877, i16 1961, i16 4616, i16 8878, i16 0, i16 2085, i16 0, i16 4610, i16 4615, i16 8879, i16 0, i16 2958, i16 0, i16 8880, i16 8881, i16 4609, i16 0, i16 1404, i16 8882, i16 8883, i16 1088, i16 0, i16 0, i16 8884, i16 4617, i16 4100, i16 0, i16 1753, i16 0, i16 0, i16 8052, i16 8053, i16 1358, i16 0, i16 0, i16 3306, i16 0, i16 8054, i16 8055, i16 4098, i16 4101, i16 1718, i16 1594, i16 8056, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9732, i16 0, i16 0, i16 9733, i16 0, i16 0, i16 2616, i16 2514, i16 0, i16 0, i16 0, i16 0, i16 2254, i16 0, i16 0, i16 9734, i16 5168, i16 0, i16 5170, i16 0, i16 9735, i16 0, i16 0, i16 9736, i16 0, i16 9737, i16 0, i16 0, i16 9738, i16 0, i16 5169, i16 0, i16 10244, i16 2103, i16 0, i16 0, i16 5434, i16 0, i16 10245, i16 5433, i16 5432, i16 3094, i16 10246, i16 1160, i16 1506, i16 0, i16 10247, i16 0, i16 0, i16 0, i16 10248, i16 0, i16 10249, i16 10250, i16 0, i16 10251, i16 0, i16 10252, i16 10253, i16 5440, i16 10254, i16 0, i16 5437, i16 2186, i16 7429, i16 0, i16 0, i16 7447, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3758, i16 7448, i16 0, i16 7449, i16 0, i16 7450, i16 3761, i16 3759, i16 7451, i16 0, i16 967, i16 0, i16 3216, i16 3753, i16 7452, i16 7453, i16 7454, i16 7455, i16 3757, i16 1580, i16 7456, i16 7457, i16 1819, i16 12293, i16 12294, i16 0, i16 12295, i16 2058, i16 12296, i16 0, i16 12297, i16 12298, i16 6620, i16 3252, i16 0, i16 12299, i16 891, i16 12300, i16 0, i16 12301, i16 0, i16 3133, i16 2613, i16 0, i16 0, i16 0, i16 0, i16 1303, i16 12302, i16 6622, i16 12303, i16 1652, i16 0, i16 0, i16 12304, i16 7686, i16 7687, i16 0, i16 1488, i16 1747, i16 2984, i16 7688, i16 0, i16 0, i16 3888, i16 3886, i16 0, i16 0, i16 0, i16 7689, i16 3186, i16 2135, i16 3895, i16 1095, i16 3889, i16 3887, i16 2390, i16 0, i16 7690, i16 7691, i16 7692, i16 0, i16 0, i16 0, i16 3891, i16 0, i16 3890, i16 11526, i16 6201, i16 6208, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1425, i16 0, i16 0, i16 2499, i16 0, i16 6214, i16 0, i16 0, i16 0, i16 0, i16 6210, i16 0, i16 0, i16 0, i16 2458, i16 6209, i16 11527, i16 6212, i16 11528, i16 11529, i16 11530, i16 0, i16 6203, i16 11531, i16 4103, i16 0, i16 0, i16 4114, i16 0, i16 0, i16 4115, i16 8095, i16 8096, i16 0, i16 0, i16 3351, i16 8097, i16 0, i16 2136, i16 8098, i16 0, i16 0, i16 4117, i16 4118, i16 4116, i16 8099, i16 4120, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2931, i16 8100, i16 8101, i16 817, i16 5383, i16 5384, i16 5385, i16 10177, i16 5386, i16 10178, i16 10179, i16 5382, i16 0, i16 10180, i16 0, i16 0, i16 0, i16 10181, i16 0, i16 0, i16 5388, i16 0, i16 10182, i16 10183, i16 5387, i16 10184, i16 0, i16 0, i16 10185, i16 10186, i16 10187, i16 5389, i16 10188, i16 0, i16 0, i16 0, i16 11015, i16 5917, i16 5918, i16 11016, i16 0, i16 5919, i16 0, i16 5920, i16 1338, i16 4660, i16 5921, i16 0, i16 2318, i16 5922, i16 1916, i16 11017, i16 5923, i16 0, i16 3726, i16 11018, i16 11019, i16 0, i16 5924, i16 3251, i16 1181, i16 11020, i16 11021, i16 2347, i16 2023, i16 11022, i16 3176, i16 1981, i16 5128, i16 5127, i16 5133, i16 9689, i16 2250, i16 0, i16 5124, i16 9690, i16 9691, i16 0, i16 0, i16 9692, i16 9693, i16 9694, i16 5136, i16 0, i16 9695, i16 5137, i16 9696, i16 9697, i16 9698, i16 0, i16 9699, i16 1155, i16 0, i16 0, i16 9700, i16 0, i16 0, i16 0, i16 0, i16 9701, i16 8457, i16 8458, i16 8459, i16 0, i16 8460, i16 0, i16 0, i16 0, i16 0, i16 2238, i16 8461, i16 0, i16 4318, i16 8462, i16 0, i16 1708, i16 8463, i16 0, i16 0, i16 4319, i16 0, i16 0, i16 4320, i16 0, i16 0, i16 8464, i16 8465, i16 0, i16 0, i16 0, i16 8466, i16 8467, i16 2314, i16 5617, i16 10602, i16 0, i16 3048, i16 10603, i16 5621, i16 3240, i16 10604, i16 2590, i16 10605, i16 5616, i16 5618, i16 0, i16 0, i16 5619, i16 0, i16 0, i16 0, i16 0, i16 10606, i16 0, i16 10607, i16 10608, i16 0, i16 10609, i16 10610, i16 10611, i16 0, i16 5622, i16 0, i16 0, i16 13066, i16 7038, i16 13067, i16 13068, i16 13069, i16 13070, i16 0, i16 13071, i16 7039, i16 0, i16 0, i16 7040, i16 7041, i16 0, i16 13072, i16 13073, i16 0, i16 7044, i16 7042, i16 3687, i16 0, i16 7043, i16 13074, i16 3644, i16 13075, i16 0, i16 0, i16 13076, i16 0, i16 7045, i16 13077, i16 3624, i16 4363, i16 0, i16 8531, i16 0, i16 8532, i16 8533, i16 2776, i16 1719, i16 8534, i16 0, i16 8535, i16 1540, i16 8536, i16 2702, i16 0, i16 0, i16 0, i16 8537, i16 0, i16 8538, i16 0, i16 780, i16 2045, i16 1606, i16 3510, i16 0, i16 0, i16 0, i16 0, i16 8539, i16 8540, i16 8541, i16 6667, i16 12430, i16 6668, i16 12431, i16 0, i16 0, i16 0, i16 0, i16 12432, i16 0, i16 6670, i16 12433, i16 0, i16 12434, i16 12435, i16 12436, i16 6672, i16 12437, i16 12438, i16 0, i16 0, i16 6673, i16 0, i16 6674, i16 0, i16 0, i16 0, i16 0, i16 6677, i16 6675, i16 6678, i16 6680, i16 2572, i16 9363, i16 0, i16 9364, i16 4930, i16 0, i16 9365, i16 9366, i16 0, i16 9367, i16 0, i16 9368, i16 0, i16 4928, i16 1570, i16 0, i16 4927, i16 9369, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4933, i16 0, i16 0, i16 0, i16 9370, i16 4800, i16 9371, i16 9372, i16 9373, i16 3340, i16 0, i16 2831, i16 8114, i16 8115, i16 1491, i16 2484, i16 0, i16 8116, i16 8117, i16 4119, i16 4122, i16 8119, i16 8120, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2473, i16 0, i16 0, i16 0, i16 4123, i16 0, i16 8121, i16 0, i16 4124, i16 8122, i16 8123, i16 7436, i16 0, i16 7437, i16 2674, i16 0, i16 0, i16 2533, i16 3752, i16 7438, i16 7439, i16 0, i16 7440, i16 7441, i16 789, i16 2692, i16 1994, i16 1705, i16 3475, i16 7442, i16 2483, i16 7443, i16 964, i16 7444, i16 3751, i16 7445, i16 3501, i16 3747, i16 3749, i16 1763, i16 3750, i16 4184, i16 7446, i16 11532, i16 0, i16 6213, i16 0, i16 6215, i16 0, i16 0, i16 0, i16 11533, i16 0, i16 11534, i16 3080, i16 0, i16 0, i16 6211, i16 0, i16 6216, i16 6218, i16 0, i16 0, i16 1548, i16 6206, i16 0, i16 778, i16 0, i16 0, i16 11535, i16 0, i16 0, i16 11536, i16 11537, i16 6217, i16 4109, i16 8087, i16 1595, i16 1059, i16 4111, i16 0, i16 0, i16 8089, i16 8090, i16 8091, i16 4112, i16 0, i16 8092, i16 0, i16 0, i16 0, i16 4113, i16 0, i16 0, i16 4110, i16 0, i16 0, i16 0, i16 0, i16 8093, i16 0, i16 0, i16 0, i16 0, i16 8094, i16 0, i16 0, i16 5901, i16 0, i16 5902, i16 10992, i16 0, i16 10993, i16 951, i16 0, i16 5909, i16 5904, i16 10994, i16 10991, i16 0, i16 5905, i16 10995, i16 10996, i16 0, i16 5906, i16 0, i16 2438, i16 0, i16 10997, i16 0, i16 10998, i16 5908, i16 5907, i16 5910, i16 10999, i16 0, i16 11000, i16 11001, i16 5911, i16 7693, i16 0, i16 7694, i16 1063, i16 0, i16 7695, i16 0, i16 1467, i16 3896, i16 3578, i16 7696, i16 0, i16 7697, i16 3892, i16 0, i16 0, i16 0, i16 3897, i16 3894, i16 7698, i16 3893, i16 7699, i16 7700, i16 7701, i16 7702, i16 0, i16 7703, i16 3612, i16 7704, i16 0, i16 0, i16 1586, i16 10510, i16 5545, i16 5546, i16 2148, i16 0, i16 10511, i16 0, i16 10512, i16 0, i16 5547, i16 10513, i16 1074, i16 0, i16 10514, i16 0, i16 0, i16 5549, i16 0, i16 0, i16 0, i16 1477, i16 10515, i16 1285, i16 0, i16 10516, i16 5550, i16 1394, i16 0, i16 0, i16 5551, i16 10517, i16 2341, i16 2063, i16 1318, i16 0, i16 3924, i16 0, i16 7751, i16 0, i16 7752, i16 7753, i16 7754, i16 3060, i16 7755, i16 7756, i16 7757, i16 0, i16 3925, i16 7758, i16 3926, i16 7759, i16 3927, i16 0, i16 7760, i16 0, i16 0, i16 3928, i16 3099, i16 1381, i16 814, i16 7761, i16 7762, i16 7763, i16 2844, i16 4623, i16 8891, i16 0, i16 2460, i16 4629, i16 8892, i16 4624, i16 0, i16 8893, i16 4626, i16 0, i16 0, i16 0, i16 0, i16 8894, i16 3128, i16 2708, i16 8895, i16 4627, i16 8896, i16 8897, i16 8898, i16 3483, i16 0, i16 0, i16 0, i16 3511, i16 1146, i16 8899, i16 0, i16 0, i16 0, i16 12815, i16 12816, i16 12817, i16 12818, i16 12819, i16 12820, i16 6908, i16 0, i16 12821, i16 12822, i16 0, i16 12823, i16 12824, i16 12825, i16 12826, i16 0, i16 12827, i16 0, i16 12828, i16 0, i16 0, i16 0, i16 12829, i16 0, i16 6909, i16 12830, i16 6910, i16 12831, i16 12832, i16 0, i16 0, i16 6911, i16 5648, i16 0, i16 0, i16 5645, i16 0, i16 0, i16 10645, i16 0, i16 0, i16 0, i16 10646, i16 0, i16 5644, i16 2299, i16 0, i16 5647, i16 5649, i16 10648, i16 10649, i16 10650, i16 5646, i16 10647, i16 5653, i16 0, i16 5650, i16 10651, i16 10652, i16 10653, i16 10654, i16 10655, i16 10656, i16 5651, i16 10000, i16 10001, i16 0, i16 1284, i16 10002, i16 5284, i16 3564, i16 10003, i16 0, i16 3581, i16 10004, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10005, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10006, i16 10007, i16 0, i16 0, i16 0, i16 0, i16 1297, i16 1067, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8830, i16 0, i16 1098, i16 2156, i16 4597, i16 4602, i16 0, i16 4598, i16 8831, i16 1496, i16 8832, i16 4603, i16 1781, i16 1664, i16 0, i16 0, i16 0, i16 0, i16 8833, i16 8834, i16 1973, i16 4585, i16 10769, i16 918, i16 0, i16 0, i16 2889, i16 5731, i16 0, i16 0, i16 10781, i16 5738, i16 5732, i16 5739, i16 0, i16 0, i16 0, i16 0, i16 10782, i16 10783, i16 5735, i16 0, i16 0, i16 10784, i16 0, i16 10785, i16 0, i16 0, i16 0, i16 2998, i16 10786, i16 10787, i16 1915, i16 5737, i16 12305, i16 0, i16 12306, i16 0, i16 0, i16 0, i16 1791, i16 0, i16 12307, i16 0, i16 0, i16 0, i16 0, i16 12308, i16 0, i16 6621, i16 2232, i16 12309, i16 0, i16 0, i16 12310, i16 12311, i16 0, i16 0, i16 2233, i16 6625, i16 6627, i16 0, i16 12312, i16 12313, i16 12314, i16 12315, i16 11538, i16 1744, i16 3651, i16 6219, i16 6220, i16 2428, i16 0, i16 0, i16 0, i16 0, i16 11539, i16 11540, i16 11541, i16 11542, i16 11543, i16 3567, i16 0, i16 11544, i16 11545, i16 11546, i16 6221, i16 3492, i16 0, i16 0, i16 6222, i16 6223, i16 0, i16 11547, i16 3257, i16 6224, i16 11548, i16 1717, i16 1299, i16 2766, i16 9602, i16 5080, i16 5089, i16 760, i16 857, i16 9603, i16 0, i16 958, i16 0, i16 5082, i16 2449, i16 5073, i16 5075, i16 1624, i16 0, i16 0, i16 9604, i16 0, i16 0, i16 0, i16 9605, i16 0, i16 5092, i16 9606, i16 5087, i16 9607, i16 9608, i16 0, i16 5079, i16 0, i16 2323, i16 7769, i16 0, i16 7770, i16 0, i16 7771, i16 1424, i16 0, i16 0, i16 3937, i16 0, i16 0, i16 7772, i16 7773, i16 3938, i16 851, i16 830, i16 1198, i16 7774, i16 2445, i16 1264, i16 3552, i16 0, i16 3941, i16 956, i16 7775, i16 0, i16 3940, i16 0, i16 0, i16 7776, i16 1319, i16 7188, i16 7173, i16 7187, i16 7239, i16 7324, i16 7241, i16 7326, i16 7240, i16 7325, i16 7189, i16 7175, i16 7190, i16 7249, i16 7334, i16 0, i16 0, i16 7248, i16 7333, i16 7177, i16 7192, i16 7251, i16 7336, i16 7253, i16 7338, i16 7252, i16 7337, i16 7254, i16 7339, i16 7255, i16 7340, i16 7257, i16 7342, i16 6165, i16 11458, i16 0, i16 0, i16 6169, i16 0, i16 6172, i16 6171, i16 11459, i16 11460, i16 11461, i16 6163, i16 0, i16 0, i16 11462, i16 0, i16 6166, i16 0, i16 6183, i16 0, i16 0, i16 11463, i16 11464, i16 0, i16 0, i16 11465, i16 11466, i16 0, i16 11467, i16 0, i16 0, i16 11468, i16 2582, i16 0, i16 5005, i16 0, i16 0, i16 0, i16 0, i16 9550, i16 5013, i16 0, i16 5006, i16 9499, i16 0, i16 9500, i16 0, i16 9501, i16 2470, i16 0, i16 1281, i16 5014, i16 9502, i16 0, i16 9503, i16 0, i16 9504, i16 9505, i16 1475, i16 9506, i16 0, i16 1220, i16 5012, i16 0, i16 10518, i16 2858, i16 10519, i16 2313, i16 1770, i16 10520, i16 10521, i16 0, i16 5552, i16 0, i16 10522, i16 10523, i16 0, i16 0, i16 0, i16 0, i16 10524, i16 10525, i16 2597, i16 2418, i16 10526, i16 5554, i16 5556, i16 5553, i16 5555, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10527, i16 1405, i16 12054, i16 12055, i16 12056, i16 2878, i16 0, i16 12057, i16 3297, i16 0, i16 6553, i16 0, i16 1930, i16 0, i16 0, i16 0, i16 0, i16 6554, i16 12058, i16 6555, i16 12059, i16 12060, i16 12061, i16 6556, i16 12062, i16 0, i16 2720, i16 0, i16 0, i16 0, i16 0, i16 12063, i16 12065, i16 0, i16 11287, i16 0, i16 11288, i16 0, i16 6066, i16 11289, i16 2349, i16 11290, i16 6070, i16 1786, i16 2192, i16 1419, i16 3461, i16 11304, i16 3466, i16 2049, i16 0, i16 0, i16 0, i16 0, i16 11291, i16 0, i16 11292, i16 11293, i16 11294, i16 6083, i16 6081, i16 0, i16 11295, i16 11296, i16 11297, i16 11298, i16 3864, i16 3345, i16 7657, i16 0, i16 0, i16 7658, i16 2039, i16 2529, i16 0, i16 3866, i16 2881, i16 0, i16 0, i16 3867, i16 7659, i16 0, i16 3868, i16 1041, i16 7660, i16 7661, i16 7662, i16 3869, i16 1316, i16 7663, i16 2857, i16 929, i16 2015, i16 0, i16 0, i16 3002, i16 3870, i16 0, i16 5912, i16 11002, i16 0, i16 2190, i16 11003, i16 1006, i16 0, i16 5913, i16 3620, i16 0, i16 1884, i16 11004, i16 11005, i16 1980, i16 0, i16 0, i16 11006, i16 11007, i16 11008, i16 1853, i16 2586, i16 11009, i16 11010, i16 0, i16 11011, i16 11012, i16 5914, i16 5915, i16 856, i16 11013, i16 5916, i16 11014, i16 6936, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12883, i16 12884, i16 6937, i16 12885, i16 3361, i16 1792, i16 12886, i16 1775, i16 2358, i16 0, i16 12887, i16 12888, i16 12889, i16 0, i16 6938, i16 0, i16 0, i16 12890, i16 12891, i16 6941, i16 0, i16 12892, i16 12893, i16 0, i16 12894, i16 12895, i16 7960, i16 7961, i16 868, i16 7962, i16 7963, i16 0, i16 7964, i16 0, i16 0, i16 7965, i16 0, i16 7966, i16 2368, i16 7967, i16 4049, i16 7968, i16 4050, i16 0, i16 0, i16 0, i16 7969, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1117, i16 0, i16 0, i16 7970, i16 0, i16 2842, i16 1323, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1002, i16 4296, i16 4301, i16 0, i16 0, i16 4299, i16 8430, i16 3276, i16 3275, i16 8431, i16 8432, i16 0, i16 8433, i16 0, i16 2790, i16 0, i16 0, i16 0, i16 4298, i16 2019, i16 0, i16 4297, i16 0, i16 0, i16 12570, i16 6777, i16 0, i16 0, i16 1110, i16 6775, i16 6779, i16 0, i16 0, i16 12571, i16 0, i16 6780, i16 0, i16 785, i16 0, i16 6781, i16 6782, i16 0, i16 0, i16 0, i16 0, i16 12572, i16 12573, i16 12574, i16 2129, i16 12575, i16 12576, i16 0, i16 6783, i16 0, i16 12577, i16 12578, i16 4891, i16 9304, i16 0, i16 0, i16 0, i16 9305, i16 9306, i16 4888, i16 9307, i16 0, i16 0, i16 9308, i16 0, i16 9309, i16 4876, i16 9310, i16 0, i16 4905, i16 4875, i16 0, i16 4894, i16 0, i16 0, i16 9311, i16 9312, i16 0, i16 9313, i16 4886, i16 9314, i16 0, i16 4881, i16 4878, i16 6939, i16 12896, i16 0, i16 0, i16 0, i16 0, i16 6942, i16 12897, i16 12898, i16 1578, i16 6940, i16 0, i16 0, i16 0, i16 12899, i16 6943, i16 12900, i16 6944, i16 6945, i16 0, i16 6949, i16 0, i16 1789, i16 12901, i16 12902, i16 0, i16 0, i16 2505, i16 0, i16 12903, i16 0, i16 12904, i16 7197, i16 7196, i16 7199, i16 7205, i16 7198, i16 7204, i16 7169, i16 7209, i16 7213, i16 7212, i16 7215, i16 7214, i16 7226, i16 7225, i16 7228, i16 7227, i16 0, i16 7242, i16 7244, i16 7243, i16 7246, i16 7250, i16 7245, i16 284, i16 7176, i16 7261, i16 7260, i16 7263, i16 7262, i16 7276, i16 7179, i16 7193, i16 8734, i16 0, i16 3376, i16 1144, i16 0, i16 4514, i16 0, i16 1440, i16 1047, i16 0, i16 0, i16 4511, i16 8735, i16 0, i16 3589, i16 4513, i16 799, i16 4515, i16 8736, i16 4506, i16 4512, i16 4519, i16 1439, i16 4507, i16 8737, i16 0, i16 0, i16 8738, i16 8739, i16 0, i16 3532, i16 8740, i16 287, i16 350, i16 0, i16 0, i16 0, i16 0, i16 290, i16 291, i16 0, i16 0, i16 352, i16 353, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1311, i16 966, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4185, i16 0, i16 3372, i16 3173, i16 1581, i16 0, i16 0, i16 7475, i16 0, i16 0, i16 2170, i16 3588, i16 7476, i16 0, i16 7477, i16 0, i16 7478, i16 7479, i16 7480, i16 7481, i16 3245, i16 5407, i16 10207, i16 0, i16 5408, i16 2729, i16 10208, i16 1034, i16 1627, i16 5409, i16 0, i16 0, i16 5410, i16 10209, i16 10210, i16 5411, i16 0, i16 1788, i16 0, i16 0, i16 5413, i16 0, i16 10211, i16 5412, i16 0, i16 0, i16 5414, i16 5415, i16 10212, i16 10213, i16 10214, i16 0, i16 10215, i16 8479, i16 0, i16 4324, i16 0, i16 0, i16 0, i16 0, i16 8480, i16 0, i16 0, i16 0, i16 8481, i16 4326, i16 0, i16 4327, i16 0, i16 8482, i16 0, i16 12526, i16 0, i16 8483, i16 0, i16 0, i16 4330, i16 8484, i16 8485, i16 3635, i16 0, i16 4331, i16 4328, i16 0, i16 0, i16 11039, i16 0, i16 5936, i16 11040, i16 5935, i16 0, i16 1168, i16 11041, i16 5937, i16 0, i16 5938, i16 5939, i16 0, i16 11042, i16 1702, i16 3606, i16 0, i16 5941, i16 2162, i16 0, i16 11043, i16 0, i16 919, i16 5942, i16 5943, i16 0, i16 0, i16 11044, i16 0, i16 11045, i16 5944, i16 11046, i16 2080, i16 4375, i16 4374, i16 4370, i16 0, i16 8552, i16 0, i16 0, i16 4376, i16 4377, i16 0, i16 8553, i16 4378, i16 0, i16 0, i16 0, i16 4381, i16 4379, i16 0, i16 4380, i16 4382, i16 0, i16 907, i16 2703, i16 4383, i16 0, i16 1493, i16 1019, i16 2929, i16 0, i16 4384, i16 2904, i16 6176, i16 0, i16 11469, i16 11470, i16 11471, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11472, i16 11473, i16 0, i16 11474, i16 0, i16 6174, i16 0, i16 11475, i16 6175, i16 11476, i16 0, i16 0, i16 6180, i16 6181, i16 11477, i16 1037, i16 11478, i16 1249, i16 0, i16 0, i16 6179, i16 11479, i16 6688, i16 12452, i16 1177, i16 1080, i16 1653, i16 3023, i16 12453, i16 6690, i16 6689, i16 12454, i16 0, i16 12455, i16 12456, i16 6691, i16 0, i16 0, i16 0, i16 0, i16 899, i16 0, i16 12457, i16 0, i16 12458, i16 0, i16 0, i16 6694, i16 12459, i16 6693, i16 6692, i16 12460, i16 6695, i16 12461, i16 10528, i16 0, i16 0, i16 10529, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5557, i16 1409, i16 0, i16 10530, i16 0, i16 1286, i16 3521, i16 5559, i16 0, i16 0, i16 10531, i16 0, i16 10532, i16 5560, i16 0, i16 0, i16 10533, i16 853, i16 10534, i16 10535, i16 0, i16 0, i16 5563, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 12833, i16 0, i16 6912, i16 6913, i16 0, i16 6914, i16 12834, i16 6915, i16 6916, i16 6917, i16 6918, i16 12835, i16 0, i16 12836, i16 6919, i16 6920, i16 0, i16 4953, i16 6921, i16 12837, i16 12838, i16 12839, i16 0, i16 12840, i16 0, i16 12841, i16 12842, i16 5678, i16 1235, i16 12843, i16 0, i16 0, i16 4130, i16 0, i16 0, i16 9454, i16 9455, i16 1218, i16 4988, i16 0, i16 0, i16 9456, i16 0, i16 4989, i16 9457, i16 3265, i16 3355, i16 0, i16 0, i16 0, i16 2852, i16 4990, i16 3071, i16 0, i16 9458, i16 0, i16 3092, i16 0, i16 9459, i16 3428, i16 0, i16 0, i16 0, i16 4991, i16 7202, i16 7288, i16 7200, i16 7286, i16 7203, i16 7289, i16 7206, i16 7292, i16 7207, i16 7293, i16 7210, i16 7296, i16 7208, i16 7294, i16 7211, i16 7297, i16 7170, i16 7181, i16 7218, i16 7304, i16 0, i16 0, i16 7217, i16 7303, i16 7219, i16 7305, i16 7216, i16 7302, i16 7220, i16 7307, i16 7221, i16 7308, i16 7971, i16 7972, i16 7973, i16 7974, i16 4057, i16 0, i16 7975, i16 0, i16 1200, i16 7976, i16 4060, i16 4056, i16 4059, i16 7977, i16 0, i16 7978, i16 0, i16 7979, i16 7980, i16 0, i16 3203, i16 7981, i16 0, i16 0, i16 2866, i16 0, i16 3025, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10788, i16 5734, i16 5740, i16 5733, i16 0, i16 0, i16 2003, i16 10789, i16 10790, i16 0, i16 0, i16 3288, i16 10791, i16 10792, i16 2011, i16 10793, i16 0, i16 5736, i16 5748, i16 10794, i16 0, i16 5744, i16 10795, i16 5747, i16 0, i16 5745, i16 5749, i16 5743, i16 0, i16 5717, i16 2300, i16 10796, i16 7717, i16 3904, i16 0, i16 3337, i16 7718, i16 2653, i16 7719, i16 3477, i16 7720, i16 3246, i16 0, i16 0, i16 7721, i16 3905, i16 0, i16 7722, i16 0, i16 7723, i16 6771, i16 0, i16 7724, i16 2829, i16 7725, i16 3906, i16 1131, i16 3396, i16 0, i16 7726, i16 7727, i16 2062, i16 3907, i16 3260, i16 8741, i16 8742, i16 3482, i16 8743, i16 8744, i16 0, i16 0, i16 4522, i16 0, i16 0, i16 4526, i16 8745, i16 0, i16 8746, i16 2437, i16 0, i16 3654, i16 4527, i16 8747, i16 8748, i16 4524, i16 0, i16 4521, i16 8749, i16 8750, i16 4520, i16 4525, i16 0, i16 8751, i16 8752, i16 0, i16 8753, i16 10021, i16 5294, i16 0, i16 10022, i16 10023, i16 0, i16 10024, i16 10025, i16 0, i16 0, i16 0, i16 10026, i16 0, i16 10027, i16 0, i16 0, i16 0, i16 10028, i16 10029, i16 0, i16 0, i16 5290, i16 0, i16 10030, i16 0, i16 5293, i16 1571, i16 884, i16 5295, i16 10031, i16 2235, i16 5292, i16 295, i16 0, i16 294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5671, i16 0, i16 5673, i16 0, i16 10682, i16 5672, i16 0, i16 10683, i16 10684, i16 10685, i16 1547, i16 0, i16 0, i16 10686, i16 2367, i16 10687, i16 0, i16 0, i16 5675, i16 10688, i16 10689, i16 10690, i16 2811, i16 10691, i16 5674, i16 10692, i16 10693, i16 0, i16 5676, i16 10694, i16 3210, i16 2419, i16 10279, i16 2226, i16 10280, i16 2849, i16 10281, i16 5448, i16 3334, i16 10282, i16 5445, i16 0, i16 10283, i16 5446, i16 10284, i16 0, i16 0, i16 0, i16 10285, i16 0, i16 10286, i16 10287, i16 10288, i16 0, i16 0, i16 0, i16 0, i16 5451, i16 10289, i16 0, i16 0, i16 10290, i16 5450, i16 5449, i16 11047, i16 11048, i16 0, i16 11049, i16 11050, i16 0, i16 0, i16 11051, i16 0, i16 11052, i16 11053, i16 827, i16 0, i16 5945, i16 11054, i16 0, i16 0, i16 11055, i16 5946, i16 0, i16 11056, i16 0, i16 11057, i16 0, i16 11058, i16 3166, i16 11059, i16 11060, i16 0, i16 1912, i16 0, i16 5948, i16 2600, i16 0, i16 10266, i16 0, i16 0, i16 10267, i16 10268, i16 5443, i16 0, i16 0, i16 10269, i16 0, i16 0, i16 10270, i16 10271, i16 10272, i16 0, i16 0, i16 10273, i16 0, i16 0, i16 0, i16 10274, i16 10275, i16 0, i16 0, i16 5444, i16 5447, i16 10276, i16 0, i16 10277, i16 10278, i16 3625, i16 0, i16 10032, i16 5298, i16 7098, i16 0, i16 10033, i16 10034, i16 10035, i16 5296, i16 5299, i16 10036, i16 0, i16 10037, i16 10038, i16 5285, i16 5297, i16 10039, i16 10040, i16 1713, i16 0, i16 0, i16 5300, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5301, i16 0, i16 5929, i16 0, i16 0, i16 11029, i16 11030, i16 11031, i16 11032, i16 2715, i16 0, i16 0, i16 0, i16 11033, i16 0, i16 0, i16 11034, i16 11035, i16 0, i16 11036, i16 0, i16 0, i16 0, i16 0, i16 11037, i16 0, i16 5931, i16 5930, i16 5933, i16 0, i16 11038, i16 5932, i16 0, i16 5934, i16 2604, i16 8623, i16 8624, i16 0, i16 4424, i16 0, i16 0, i16 0, i16 8625, i16 8626, i16 8627, i16 1020, i16 8628, i16 8629, i16 8630, i16 8631, i16 4475, i16 4426, i16 8632, i16 8633, i16 0, i16 2923, i16 8634, i16 0, i16 4425, i16 0, i16 8635, i16 4423, i16 8636, i16 1681, i16 0, i16 4429, i16 6444, i16 11900, i16 11901, i16 6446, i16 6443, i16 0, i16 0, i16 0, i16 0, i16 11902, i16 0, i16 0, i16 11903, i16 11904, i16 0, i16 11905, i16 11906, i16 11907, i16 6449, i16 0, i16 1986, i16 0, i16 6448, i16 0, i16 0, i16 11908, i16 11909, i16 11910, i16 6450, i16 0, i16 0, i16 0, i16 11308, i16 0, i16 0, i16 0, i16 2816, i16 6087, i16 11309, i16 0, i16 11310, i16 3046, i16 6074, i16 0, i16 0, i16 11311, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11312, i16 0, i16 0, i16 11313, i16 2050, i16 0, i16 6089, i16 6094, i16 2427, i16 11314, i16 0, i16 6093, i16 11315, i16 8493, i16 2035, i16 0, i16 2410, i16 8494, i16 1600, i16 1709, i16 1601, i16 1295, i16 8495, i16 0, i16 4338, i16 0, i16 0, i16 1710, i16 0, i16 0, i16 1539, i16 4339, i16 3383, i16 2942, i16 4340, i16 0, i16 1602, i16 8496, i16 8497, i16 0, i16 1133, i16 0, i16 2538, i16 1359, i16 0, i16 11566, i16 0, i16 0, i16 0, i16 0, i16 6237, i16 11567, i16 11568, i16 11569, i16 0, i16 6238, i16 6239, i16 0, i16 0, i16 0, i16 0, i16 11570, i16 11571, i16 11572, i16 0, i16 0, i16 11573, i16 6243, i16 0, i16 6244, i16 11574, i16 11575, i16 6242, i16 0, i16 0, i16 11576, i16 0, i16 3377, i16 0, i16 5093, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3015, i16 9629, i16 0, i16 5105, i16 1524, i16 0, i16 0, i16 9630, i16 0, i16 0, i16 2031, i16 0, i16 5095, i16 9631, i16 0, i16 0, i16 3580, i16 1625, i16 0, i16 5108, i16 8498, i16 0, i16 1831, i16 3154, i16 0, i16 0, i16 3034, i16 8499, i16 0, i16 0, i16 0, i16 4341, i16 1206, i16 8500, i16 0, i16 0, i16 0, i16 4344, i16 8501, i16 0, i16 8502, i16 8503, i16 2626, i16 0, i16 8504, i16 4343, i16 4342, i16 4345, i16 0, i16 2700, i16 0, i16 8505, i16 8754, i16 0, i16 0, i16 0, i16 3205, i16 8755, i16 0, i16 2833, i16 8756, i16 1441, i16 8757, i16 4528, i16 4523, i16 8758, i16 4529, i16 0, i16 0, i16 0, i16 1494, i16 0, i16 0, i16 0, i16 950, i16 0, i16 8759, i16 8760, i16 4537, i16 0, i16 8761, i16 0, i16 1145, i16 0, i16 10291, i16 0, i16 0, i16 0, i16 10292, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5453, i16 10293, i16 10294, i16 5452, i16 0, i16 0, i16 5454, i16 0, i16 0, i16 10295, i16 10296, i16 10297, i16 0, i16 0, i16 0, i16 10298, i16 0, i16 0, i16 0, i16 5456, i16 10299, i16 308, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 267, i16 253, i16 268, i16 237, i16 239, i16 11316, i16 0, i16 6062, i16 0, i16 11317, i16 11318, i16 6095, i16 2384, i16 0, i16 0, i16 6090, i16 6092, i16 0, i16 11319, i16 11320, i16 0, i16 11321, i16 11322, i16 11323, i16 6091, i16 0, i16 0, i16 4949, i16 4934, i16 11324, i16 11325, i16 6097, i16 11326, i16 0, i16 0, i16 11327, i16 0, i16 821, i16 2621, i16 7367, i16 1896, i16 7368, i16 7369, i16 0, i16 3375, i16 2131, i16 1795, i16 2130, i16 961, i16 7370, i16 3147, i16 3502, i16 0, i16 3712, i16 854, i16 7371, i16 0, i16 1105, i16 3713, i16 2253, i16 3932, i16 1269, i16 3215, i16 0, i16 0, i16 0, i16 0, i16 2132, i16 7372, i16 4661, i16 4662, i16 2726, i16 4664, i16 8975, i16 8976, i16 1783, i16 4659, i16 0, i16 8977, i16 8978, i16 0, i16 1243, i16 8979, i16 0, i16 4665, i16 8980, i16 4658, i16 4669, i16 0, i16 4668, i16 8981, i16 4667, i16 8982, i16 0, i16 0, i16 4670, i16 8983, i16 0, i16 4672, i16 2142, i16 8984, i16 9013, i16 0, i16 1147, i16 1801, i16 0, i16 0, i16 2869, i16 9014, i16 0, i16 0, i16 0, i16 9015, i16 1444, i16 0, i16 0, i16 0, i16 2239, i16 0, i16 4692, i16 0, i16 2265, i16 2727, i16 0, i16 3158, i16 4693, i16 0, i16 9016, i16 0, i16 0, i16 9017, i16 0, i16 0, i16 11061, i16 11062, i16 0, i16 11063, i16 11064, i16 1036, i16 763, i16 11065, i16 11066, i16 11067, i16 11068, i16 5947, i16 5950, i16 2953, i16 11069, i16 2191, i16 11070, i16 987, i16 11071, i16 3290, i16 11072, i16 0, i16 0, i16 11073, i16 1464, i16 1369, i16 11074, i16 5949, i16 11075, i16 1007, i16 11076, i16 11077, i16 7223, i16 7309, i16 7222, i16 0, i16 7224, i16 7310, i16 7171, i16 7183, i16 7233, i16 7318, i16 7231, i16 7316, i16 0, i16 0, i16 7232, i16 7317, i16 7230, i16 7184, i16 7172, i16 7185, i16 7234, i16 7319, i16 7235, i16 7320, i16 7186, i16 7236, i16 7321, i16 7238, i16 7323, i16 7237, i16 7322, i16 7174, i16 12087, i16 0, i16 6561, i16 0, i16 12088, i16 12089, i16 12090, i16 0, i16 12091, i16 0, i16 0, i16 0, i16 0, i16 12092, i16 0, i16 0, i16 12093, i16 0, i16 6562, i16 0, i16 12094, i16 0, i16 12095, i16 12096, i16 12097, i16 6563, i16 12098, i16 0, i16 12099, i16 0, i16 12100, i16 0, i16 10041, i16 10042, i16 0, i16 3565, i16 0, i16 10043, i16 10044, i16 10045, i16 0, i16 10046, i16 0, i16 5302, i16 0, i16 0, i16 0, i16 10047, i16 10048, i16 10049, i16 10050, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10051, i16 10052, i16 10053, i16 0, i16 10054, i16 0, i16 5303, i16 10055, i16 11577, i16 6240, i16 11578, i16 6235, i16 6241, i16 11579, i16 11580, i16 0, i16 0, i16 11581, i16 0, i16 0, i16 6245, i16 6741, i16 0, i16 11582, i16 0, i16 0, i16 11583, i16 0, i16 0, i16 0, i16 941, i16 11584, i16 0, i16 0, i16 11585, i16 11586, i16 11587, i16 0, i16 6248, i16 1372, i16 7482, i16 7483, i16 1427, i16 2442, i16 1001, i16 7484, i16 7485, i16 0, i16 7486, i16 7487, i16 2018, i16 7488, i16 7489, i16 7490, i16 3767, i16 7491, i16 3772, i16 3770, i16 7492, i16 0, i16 3765, i16 0, i16 0, i16 2452, i16 3768, i16 0, i16 3771, i16 3769, i16 7493, i16 3250, i16 0, i16 3766, i16 8506, i16 0, i16 0, i16 0, i16 0, i16 2222, i16 0, i16 0, i16 8508, i16 0, i16 0, i16 1832, i16 0, i16 2291, i16 8507, i16 2488, i16 1217, i16 0, i16 8509, i16 2627, i16 0, i16 8510, i16 4346, i16 4347, i16 2140, i16 0, i16 0, i16 0, i16 0, i16 3308, i16 8511, i16 0, i16 8762, i16 8763, i16 8764, i16 4535, i16 0, i16 0, i16 4536, i16 1694, i16 4534, i16 4532, i16 4531, i16 4538, i16 4530, i16 4540, i16 8765, i16 8766, i16 1024, i16 0, i16 0, i16 0, i16 0, i16 8767, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8768, i16 8769, i16 8770, i16 8771, i16 7739, i16 3449, i16 2900, i16 7740, i16 0, i16 3270, i16 3916, i16 0, i16 3917, i16 0, i16 7741, i16 7742, i16 7743, i16 3919, i16 0, i16 3921, i16 3920, i16 7744, i16 0, i16 7745, i16 0, i16 3922, i16 962, i16 3327, i16 7746, i16 1777, i16 3923, i16 7747, i16 7748, i16 2400, i16 7749, i16 7750, i16 9531, i16 3285, i16 2947, i16 1282, i16 0, i16 2724, i16 0, i16 9532, i16 2608, i16 9533, i16 5031, i16 9534, i16 9535, i16 0, i16 9536, i16 5029, i16 2494, i16 5018, i16 9537, i16 882, i16 9538, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2108, i16 5574, i16 5575, i16 2022, i16 0, i16 2837, i16 5576, i16 0, i16 10542, i16 10543, i16 2539, i16 10544, i16 10545, i16 5577, i16 0, i16 2559, i16 5578, i16 10546, i16 0, i16 0, i16 10547, i16 0, i16 1314, i16 0, i16 3835, i16 2592, i16 1892, i16 10548, i16 0, i16 10549, i16 10550, i16 1161, i16 11836, i16 0, i16 0, i16 1954, i16 0, i16 0, i16 11837, i16 0, i16 2241, i16 0, i16 0, i16 11838, i16 11839, i16 0, i16 0, i16 11840, i16 0, i16 0, i16 11841, i16 2450, i16 0, i16 11842, i16 0, i16 11843, i16 0, i16 11844, i16 6413, i16 11845, i16 11863, i16 0, i16 6412, i16 0, i16 318, i16 317, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 320, i16 319, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 322, i16 321, i16 0, i16 0, i16 4671, i16 8985, i16 0, i16 0, i16 8986, i16 4675, i16 0, i16 0, i16 8987, i16 8988, i16 8989, i16 0, i16 0, i16 0, i16 0, i16 8990, i16 0, i16 0, i16 0, i16 8991, i16 8992, i16 0, i16 8993, i16 0, i16 4673, i16 8994, i16 0, i16 8995, i16 4674, i16 4636, i16 8996, i16 8997, i16 9791, i16 3398, i16 0, i16 0, i16 0, i16 0, i16 2100, i16 0, i16 0, i16 0, i16 0, i16 9792, i16 0, i16 9793, i16 0, i16 9794, i16 9795, i16 9796, i16 0, i16 0, i16 0, i16 0, i16 2362, i16 0, i16 9797, i16 0, i16 0, i16 0, i16 2099, i16 0, i16 0, i16 0, i16 6976, i16 0, i16 0, i16 12957, i16 0, i16 0, i16 0, i16 6977, i16 12962, i16 12958, i16 12959, i16 12961, i16 0, i16 0, i16 12963, i16 0, i16 12964, i16 0, i16 12965, i16 0, i16 0, i16 12966, i16 6978, i16 12967, i16 6979, i16 0, i16 0, i16 12968, i16 0, i16 0, i16 0, i16 0, i16 8256, i16 795, i16 0, i16 748, i16 8257, i16 0, i16 0, i16 0, i16 0, i16 4198, i16 0, i16 0, i16 8258, i16 8259, i16 8260, i16 0, i16 0, i16 4196, i16 8261, i16 8262, i16 0, i16 0, i16 0, i16 0, i16 3405, i16 0, i16 4199, i16 0, i16 4197, i16 0, i16 8263, i16 4195, i16 12352, i16 12353, i16 12354, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12355, i16 0, i16 12356, i16 12357, i16 1116, i16 12358, i16 0, i16 12359, i16 0, i16 0, i16 12360, i16 0, i16 6640, i16 12361, i16 1716, i16 2432, i16 12362, i16 0, i16 2667, i16 12363, i16 0, i16 0, i16 12364, i16 0, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 0, i16 0, i16 0, i16 0, i16 227, i16 249, i16 240, i16 241, i16 0, i16 833, i16 8016, i16 0, i16 2567, i16 8017, i16 8018, i16 8019, i16 8020, i16 8021, i16 0, i16 0, i16 8023, i16 0, i16 8024, i16 4081, i16 0, i16 1689, i16 8022, i16 792, i16 2217, i16 0, i16 0, i16 8025, i16 8026, i16 0, i16 4082, i16 1536, i16 0, i16 0, i16 1672, i16 0, i16 4084, i16 1089, i16 0, i16 0, i16 10554, i16 0, i16 2213, i16 3163, i16 10555, i16 5588, i16 10556, i16 10557, i16 10558, i16 2509, i16 10559, i16 10560, i16 10561, i16 10562, i16 10563, i16 0, i16 5583, i16 10564, i16 5587, i16 5589, i16 0, i16 0, i16 1776, i16 0, i16 0, i16 0, i16 10565, i16 0, i16 10566, i16 4929, i16 0, i16 4931, i16 4932, i16 0, i16 9374, i16 0, i16 0, i16 0, i16 0, i16 4944, i16 9375, i16 4940, i16 0, i16 4821, i16 9376, i16 9377, i16 9378, i16 0, i16 4939, i16 9379, i16 0, i16 0, i16 0, i16 4938, i16 0, i16 0, i16 4935, i16 0, i16 9380, i16 9381, i16 9382, i16 9025, i16 767, i16 0, i16 9026, i16 1361, i16 2294, i16 9027, i16 3159, i16 0, i16 0, i16 0, i16 4699, i16 1813, i16 2570, i16 9028, i16 1838, i16 2178, i16 0, i16 9029, i16 9030, i16 9031, i16 0, i16 0, i16 4700, i16 0, i16 3282, i16 0, i16 0, i16 926, i16 1839, i16 0, i16 9032, i16 12609, i16 12611, i16 0, i16 0, i16 12612, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6794, i16 2910, i16 12613, i16 0, i16 12614, i16 6796, i16 960, i16 12615, i16 6799, i16 6798, i16 12616, i16 12617, i16 0, i16 12618, i16 843, i16 0, i16 0, i16 0, i16 1342, i16 4418, i16 1567, i16 8603, i16 0, i16 8606, i16 0, i16 0, i16 8604, i16 4419, i16 3187, i16 2026, i16 8605, i16 8607, i16 4420, i16 3090, i16 8608, i16 8609, i16 8610, i16 0, i16 2846, i16 2632, i16 0, i16 0, i16 0, i16 8611, i16 2735, i16 0, i16 0, i16 4421, i16 1226, i16 0, i16 0, i16 3395, i16 0, i16 10255, i16 0, i16 5436, i16 5438, i16 5439, i16 0, i16 10256, i16 5435, i16 0, i16 0, i16 0, i16 10257, i16 10258, i16 10259, i16 0, i16 0, i16 0, i16 0, i16 10260, i16 10261, i16 10262, i16 5441, i16 5442, i16 10263, i16 2640, i16 0, i16 1188, i16 10264, i16 10265, i16 0, i16 12868, i16 0, i16 0, i16 6931, i16 12869, i16 12870, i16 12871, i16 12872, i16 0, i16 12873, i16 12874, i16 12875, i16 0, i16 12876, i16 775, i16 12877, i16 12878, i16 6932, i16 3200, i16 6930, i16 12879, i16 0, i16 6933, i16 6934, i16 0, i16 0, i16 12880, i16 0, i16 0, i16 12881, i16 12882, i16 6935, i16 12101, i16 0, i16 12103, i16 12104, i16 0, i16 12102, i16 0, i16 12105, i16 0, i16 12106, i16 0, i16 0, i16 0, i16 2721, i16 12107, i16 12108, i16 6565, i16 12109, i16 6564, i16 0, i16 12110, i16 0, i16 12111, i16 12112, i16 0, i16 12113, i16 12114, i16 0, i16 12115, i16 12116, i16 0, i16 0, i16 1350, i16 4271, i16 0, i16 0, i16 0, i16 1294, i16 4272, i16 0, i16 1403, i16 0, i16 2860, i16 949, i16 0, i16 1830, i16 4273, i16 4276, i16 4275, i16 1402, i16 0, i16 4274, i16 0, i16 2743, i16 0, i16 0, i16 0, i16 8393, i16 8394, i16 0, i16 8395, i16 0, i16 2453, i16 0, i16 7494, i16 2169, i16 7495, i16 3366, i16 3773, i16 3774, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1971, i16 3787, i16 7496, i16 0, i16 7497, i16 2955, i16 0, i16 3117, i16 3782, i16 0, i16 3269, i16 0, i16 955, i16 0, i16 7498, i16 7499, i16 3786, i16 7500, i16 11846, i16 0, i16 6411, i16 0, i16 0, i16 11847, i16 11848, i16 11849, i16 11850, i16 0, i16 11851, i16 6419, i16 6417, i16 0, i16 11852, i16 6414, i16 0, i16 11853, i16 0, i16 0, i16 11854, i16 11855, i16 6416, i16 11856, i16 0, i16 11857, i16 6415, i16 6418, i16 0, i16 1302, i16 0, i16 6422, i16 3911, i16 7728, i16 2259, i16 3908, i16 1357, i16 7729, i16 3909, i16 1132, i16 7730, i16 7731, i16 7732, i16 0, i16 7733, i16 0, i16 0, i16 0, i16 7734, i16 7735, i16 1417, i16 3912, i16 7736, i16 3913, i16 7737, i16 7738, i16 3914, i16 3915, i16 1932, i16 0, i16 0, i16 0, i16 1588, i16 3439, i16 10567, i16 10568, i16 0, i16 0, i16 0, i16 5596, i16 3109, i16 10569, i16 3007, i16 2808, i16 0, i16 1367, i16 5595, i16 5593, i16 10570, i16 3022, i16 5590, i16 2593, i16 2810, i16 0, i16 2809, i16 10571, i16 1771, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5614, i16 0, i16 0, i16 10056, i16 10057, i16 5283, i16 10058, i16 0, i16 0, i16 10059, i16 5304, i16 10060, i16 10061, i16 10062, i16 10063, i16 0, i16 0, i16 10064, i16 10065, i16 1157, i16 10066, i16 10067, i16 0, i16 0, i16 10068, i16 0, i16 0, i16 0, i16 10069, i16 0, i16 10070, i16 0, i16 1878, i16 0, i16 10071, i16 11336, i16 8188, i16 11337, i16 0, i16 0, i16 0, i16 11338, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6100, i16 1552, i16 0, i16 1267, i16 0, i16 11339, i16 11340, i16 6102, i16 3865, i16 11341, i16 11342, i16 11343, i16 11344, i16 1300, i16 0, i16 3591, i16 11345, i16 1392, i16 6103, i16 842, i16 0, i16 0, i16 3622, i16 12516, i16 12517, i16 12518, i16 6729, i16 6544, i16 12519, i16 6728, i16 0, i16 0, i16 0, i16 12520, i16 12521, i16 6732, i16 6730, i16 6731, i16 12522, i16 6733, i16 0, i16 6734, i16 3641, i16 6735, i16 6736, i16 12523, i16 2290, i16 3028, i16 0, i16 0, i16 0, i16 11082, i16 5951, i16 11083, i16 5952, i16 11084, i16 1940, i16 1385, i16 2618, i16 11085, i16 0, i16 11086, i16 2862, i16 0, i16 11087, i16 0, i16 11088, i16 0, i16 888, i16 0, i16 5956, i16 5955, i16 0, i16 11089, i16 11090, i16 0, i16 5961, i16 5957, i16 5960, i16 0, i16 11091, i16 11092, i16 0, i16 2892, i16 4870, i16 2887, i16 9286, i16 9287, i16 9288, i16 9289, i16 0, i16 9290, i16 9291, i16 4874, i16 4861, i16 9292, i16 1349, i16 4864, i16 2028, i16 9293, i16 9294, i16 9295, i16 2971, i16 4866, i16 1352, i16 0, i16 4858, i16 4860, i16 4857, i16 9296, i16 9297, i16 3675, i16 1085, i16 4863, i16 9298, i16 10316, i16 0, i16 3457, i16 5469, i16 10317, i16 2577, i16 10318, i16 2981, i16 0, i16 1384, i16 10319, i16 0, i16 10320, i16 2558, i16 5470, i16 1335, i16 10321, i16 10322, i16 0, i16 2297, i16 10323, i16 0, i16 0, i16 0, i16 10324, i16 0, i16 0, i16 10325, i16 5471, i16 0, i16 0, i16 0, i16 10572, i16 0, i16 0, i16 0, i16 10573, i16 5598, i16 10574, i16 5600, i16 0, i16 10575, i16 10576, i16 0, i16 5603, i16 10577, i16 5604, i16 10578, i16 5601, i16 5602, i16 10579, i16 10580, i16 5599, i16 5597, i16 0, i16 10581, i16 0, i16 0, i16 5591, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3149, i16 8118, i16 0, i16 4121, i16 8102, i16 0, i16 8103, i16 8104, i16 0, i16 8105, i16 0, i16 0, i16 0, i16 8106, i16 0, i16 0, i16 8107, i16 0, i16 0, i16 0, i16 2154, i16 8108, i16 8109, i16 1898, i16 8110, i16 2968, i16 1201, i16 0, i16 1760, i16 8111, i16 8112, i16 8113, i16 7501, i16 7502, i16 0, i16 0, i16 7503, i16 3780, i16 3789, i16 7504, i16 0, i16 2393, i16 7505, i16 1533, i16 7506, i16 2967, i16 7507, i16 5253, i16 7508, i16 3788, i16 2780, i16 7509, i16 3777, i16 0, i16 1583, i16 7510, i16 7511, i16 1582, i16 3775, i16 7512, i16 7513, i16 7514, i16 7515, i16 1931, i16 2382, i16 3317, i16 1772, i16 10710, i16 0, i16 0, i16 10711, i16 0, i16 0, i16 0, i16 10712, i16 1850, i16 2686, i16 10713, i16 5691, i16 3628, i16 1742, i16 10714, i16 5692, i16 2189, i16 0, i16 5694, i16 0, i16 0, i16 0, i16 2111, i16 1701, i16 0, i16 10715, i16 10716, i16 10717, i16 5693, i16 4431, i16 8660, i16 1023, i16 4451, i16 4453, i16 2580, i16 0, i16 8661, i16 1693, i16 957, i16 4445, i16 4456, i16 4455, i16 1328, i16 0, i16 2446, i16 1097, i16 8662, i16 0, i16 0, i16 0, i16 1438, i16 0, i16 4446, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8663, i16 8664, i16 5455, i16 0, i16 10300, i16 0, i16 0, i16 3234, i16 0, i16 10301, i16 0, i16 0, i16 10302, i16 0, i16 2021, i16 3603, i16 10303, i16 10304, i16 5457, i16 10305, i16 0, i16 2836, i16 0, i16 10306, i16 5458, i16 0, i16 0, i16 5459, i16 0, i16 5463, i16 5461, i16 5462, i16 10307, i16 5460, i16 8528, i16 2628, i16 0, i16 1604, i16 2078, i16 0, i16 0, i16 3064, i16 0, i16 0, i16 2079, i16 8529, i16 0, i16 0, i16 8530, i16 2055, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2701, i16 3278, i16 2744, i16 0, i16 0, i16 1605, i16 0, i16 3155, i16 0, i16 0, i16 0, i16 4177, i16 8209, i16 4176, i16 8210, i16 0, i16 931, i16 0, i16 4178, i16 2070, i16 4180, i16 2536, i16 8211, i16 4179, i16 8212, i16 3208, i16 8213, i16 0, i16 0, i16 8214, i16 2054, i16 2778, i16 8215, i16 8216, i16 0, i16 4181, i16 8217, i16 0, i16 8218, i16 8219, i16 1596, i16 0, i16 0, i16 9810, i16 0, i16 5193, i16 0, i16 2972, i16 5189, i16 5192, i16 2101, i16 9811, i16 3050, i16 0, i16 0, i16 5196, i16 0, i16 1922, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9812, i16 0, i16 0, i16 0, i16 2339, i16 0, i16 0, i16 11346, i16 11347, i16 11348, i16 11349, i16 11350, i16 0, i16 0, i16 6104, i16 0, i16 11351, i16 0, i16 2609, i16 11352, i16 0, i16 0, i16 11353, i16 0, i16 6105, i16 0, i16 0, i16 0, i16 11354, i16 11355, i16 11356, i16 0, i16 2903, i16 11357, i16 771, i16 0, i16 0, i16 0, i16 0, i16 8787, i16 4558, i16 8788, i16 8789, i16 0, i16 0, i16 2328, i16 8790, i16 0, i16 8791, i16 4559, i16 8792, i16 0, i16 0, i16 4560, i16 1241, i16 4561, i16 0, i16 4562, i16 4563, i16 2492, i16 0, i16 0, i16 0, i16 1542, i16 8793, i16 0, i16 3442, i16 0, i16 8794, i16 0, i16 3311, i16 9299, i16 4873, i16 1048, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1756, i16 0, i16 0, i16 9300, i16 900, i16 0, i16 0, i16 4890, i16 9301, i16 0, i16 3676, i16 4893, i16 9302, i16 0, i16 9303, i16 0, i16 0, i16 2181, i16 4892, i16 0, i16 0, i16 0, i16 2388, i16 7075, i16 13117, i16 0, i16 0, i16 0, i16 13118, i16 0, i16 0, i16 0, i16 13119, i16 13120, i16 7076, i16 0, i16 0, i16 13121, i16 0, i16 13122, i16 13123, i16 0, i16 13124, i16 0, i16 0, i16 13125, i16 0, i16 13126, i16 13127, i16 3096, i16 13128, i16 13129, i16 7077, i16 13130, i16 5972, i16 0, i16 11115, i16 11116, i16 11117, i16 5975, i16 0, i16 11118, i16 0, i16 2423, i16 1456, i16 0, i16 0, i16 11119, i16 11120, i16 872, i16 5974, i16 11121, i16 1642, i16 11156, i16 11099, i16 11122, i16 11123, i16 11124, i16 2424, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12628, i16 6804, i16 0, i16 12629, i16 6803, i16 12638, i16 12630, i16 0, i16 0, i16 0, i16 0, i16 12631, i16 3326, i16 2825, i16 12632, i16 12633, i16 12634, i16 0, i16 12635, i16 12636, i16 887, i16 12637, i16 0, i16 6805, i16 6802, i16 0, i16 0, i16 3144, i16 3545, i16 6806, i16 12639, i16 0, i16 9813, i16 0, i16 0, i16 0, i16 5199, i16 9814, i16 0, i16 9815, i16 5191, i16 0, i16 1410, i16 0, i16 9816, i16 0, i16 0, i16 5197, i16 0, i16 0, i16 9817, i16 0, i16 3519, i16 5200, i16 0, i16 0, i16 0, i16 7100, i16 9818, i16 9819, i16 0, i16 0, i16 0, i16 2014, i16 11093, i16 11094, i16 3425, i16 5959, i16 989, i16 1120, i16 5963, i16 11095, i16 11096, i16 5965, i16 11097, i16 11098, i16 0, i16 0, i16 1455, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5969, i16 5978, i16 5979, i16 0, i16 0, i16 11100, i16 756, i16 11101, i16 11102, i16 11103, i16 343, i16 0, i16 348, i16 344, i16 0, i16 0, i16 0, i16 349, i16 330, i16 0, i16 0, i16 331, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 354, i16 0, i16 0, i16 356, i16 292, i16 0, i16 7256, i16 7341, i16 7259, i16 7344, i16 7258, i16 7343, i16 7178, i16 7194, i16 7270, i16 7355, i16 7267, i16 7352, i16 7264, i16 7349, i16 7269, i16 7354, i16 7266, i16 7351, i16 7268, i16 7353, i16 7275, i16 7360, i16 7278, i16 7363, i16 7277, i16 7279, i16 7364, i16 7281, i16 7366, i16 7280, i16 7365, i16 0, i16 11608, i16 6262, i16 0, i16 0, i16 0, i16 11609, i16 6264, i16 3558, i16 0, i16 6263, i16 2193, i16 0, i16 6265, i16 0, i16 0, i16 6266, i16 11610, i16 0, i16 6267, i16 1170, i16 11611, i16 11612, i16 11613, i16 11614, i16 0, i16 0, i16 6268, i16 0, i16 11615, i16 6269, i16 0, i16 6270, i16 345, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 338, i16 339, i16 337, i16 336, i16 358, i16 359, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 293, i16 357, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 355, i16 0, i16 0, i16 3929, i16 1996, i16 7764, i16 2322, i16 0, i16 3931, i16 3930, i16 2064, i16 1562, i16 3933, i16 3031, i16 7766, i16 7765, i16 3934, i16 0, i16 0, i16 0, i16 3061, i16 2457, i16 2515, i16 1317, i16 0, i16 0, i16 2891, i16 2548, i16 7767, i16 2985, i16 7768, i16 3329, i16 0, i16 3936, i16 0, i16 9049, i16 0, i16 1614, i16 4714, i16 9050, i16 0, i16 1696, i16 2087, i16 9051, i16 9052, i16 4713, i16 0, i16 2088, i16 9053, i16 3409, i16 1695, i16 0, i16 9054, i16 9055, i16 800, i16 2295, i16 9056, i16 9057, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4720, i16 9058, i16 9059, i16 2266, i16 5210, i16 0, i16 0, i16 0, i16 0, i16 2414, i16 1803, i16 5212, i16 0, i16 0, i16 0, i16 0, i16 5211, i16 2159, i16 3955, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5213, i16 0, i16 0, i16 9838, i16 5215, i16 0, i16 5198, i16 5214, i16 0, i16 9839, i16 5216, i16 9820, i16 0, i16 9821, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5201, i16 0, i16 0, i16 0, i16 5202, i16 0, i16 0, i16 9822, i16 9823, i16 2921, i16 9824, i16 9825, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5204, i16 9826, i16 0, i16 0, i16 0, i16 5205, i16 9827, i16 1630, i16 0, i16 5677, i16 0, i16 0, i16 0, i16 10695, i16 3605, i16 0, i16 10696, i16 0, i16 10697, i16 0, i16 0, i16 0, i16 5679, i16 0, i16 0, i16 5680, i16 0, i16 5681, i16 10698, i16 5682, i16 0, i16 1848, i16 0, i16 5683, i16 1450, i16 0, i16 0, i16 1289, i16 0, i16 10590, i16 1162, i16 0, i16 0, i16 0, i16 10591, i16 0, i16 0, i16 0, i16 0, i16 2560, i16 0, i16 10592, i16 2342, i16 0, i16 10593, i16 10594, i16 3003, i16 10595, i16 0, i16 5620, i16 10596, i16 10597, i16 0, i16 3005, i16 0, i16 10598, i16 10599, i16 10600, i16 10601, i16 0, i16 0, i16 3168, i16 1751, i16 1646, i16 0, i16 11793, i16 0, i16 0, i16 3142, i16 996, i16 3047, i16 6379, i16 1172, i16 2302, i16 6378, i16 6383, i16 2620, i16 3444, i16 0, i16 6381, i16 6382, i16 1229, i16 0, i16 6384, i16 2974, i16 2500, i16 11794, i16 11795, i16 3082, i16 2748, i16 6380, i16 0, i16 3322, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 1377, i16 0, i16 0, i16 2005, i16 0, i16 2841, i16 0, i16 0, i16 12248, i16 12249, i16 12250, i16 0, i16 0, i16 12251, i16 12252, i16 0, i16 0, i16 2356, i16 12253, i16 6614, i16 0, i16 6608, i16 6613, i16 12254, i16 3412, i16 12255, i16 2649, i16 6615, i16 6612, i16 0, i16 0, i16 12256, i16 10849, i16 0, i16 5794, i16 5796, i16 0, i16 3540, i16 5795, i16 5798, i16 5797, i16 0, i16 3522, i16 10850, i16 5799, i16 10851, i16 3095, i16 10852, i16 10853, i16 10854, i16 0, i16 0, i16 5800, i16 0, i16 10855, i16 10856, i16 0, i16 0, i16 5803, i16 0, i16 10857, i16 5802, i16 5801, i16 0, i16 5475, i16 10333, i16 10334, i16 10335, i16 0, i16 2773, i16 1739, i16 1261, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10336, i16 10337, i16 0, i16 10338, i16 0, i16 3287, i16 0, i16 2950, i16 10339, i16 0, i16 10340, i16 0, i16 0, i16 2774, i16 0, i16 0, i16 0, i16 0, i16 1651, i16 7523, i16 7524, i16 7525, i16 3790, i16 0, i16 7526, i16 7527, i16 3791, i16 3795, i16 791, i16 7528, i16 0, i16 7529, i16 0, i16 7530, i16 3237, i16 3794, i16 7531, i16 7532, i16 7533, i16 0, i16 3793, i16 3797, i16 7534, i16 0, i16 7535, i16 3796, i16 0, i16 2693, i16 0, i16 0, i16 7536, i16 9828, i16 9829, i16 0, i16 2926, i16 9830, i16 0, i16 0, i16 0, i16 2804, i16 5207, i16 0, i16 9831, i16 9832, i16 0, i16 5209, i16 0, i16 3618, i16 0, i16 5206, i16 9833, i16 5208, i16 916, i16 9834, i16 5203, i16 0, i16 9835, i16 9836, i16 0, i16 9837, i16 0, i16 0, i16 4051, i16 11876, i16 11877, i16 11878, i16 11879, i16 0, i16 0, i16 11880, i16 11881, i16 0, i16 0, i16 6445, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6434, i16 11882, i16 0, i16 11883, i16 6435, i16 6433, i16 11884, i16 11885, i16 11886, i16 11887, i16 0, i16 0, i16 0, i16 11888, i16 0, i16 0, i16 4709, i16 4710, i16 1212, i16 0, i16 0, i16 2905, i16 2553, i16 1291, i16 1840, i16 2408, i16 0, i16 0, i16 2027, i16 761, i16 0, i16 0, i16 9042, i16 4711, i16 9043, i16 0, i16 9044, i16 9045, i16 0, i16 0, i16 0, i16 9046, i16 935, i16 4715, i16 0, i16 0, i16 9047, i16 9048, i16 8037, i16 0, i16 8038, i16 8039, i16 8040, i16 8041, i16 4095, i16 766, i16 1748, i16 8042, i16 8043, i16 0, i16 8044, i16 1432, i16 8045, i16 8046, i16 2578, i16 0, i16 0, i16 8047, i16 8048, i16 0, i16 0, i16 4096, i16 4097, i16 0, i16 0, i16 4099, i16 0, i16 8049, i16 8050, i16 8051, i16 615, i16 616, i16 0, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 7126, i16 7129, i16 7131, i16 7132, i16 7133, i16 7134, i16 7141, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 6247, i16 11588, i16 11589, i16 11590, i16 6250, i16 0, i16 6249, i16 0, i16 0, i16 0, i16 6252, i16 11591, i16 0, i16 6251, i16 11592, i16 6253, i16 11593, i16 0, i16 1984, i16 11594, i16 6254, i16 11595, i16 0, i16 6255, i16 0, i16 0, i16 11596, i16 11597, i16 11598, i16 11599, i16 6256, i16 2279, i16 8295, i16 0, i16 8296, i16 0, i16 0, i16 0, i16 0, i16 8297, i16 0, i16 0, i16 0, i16 0, i16 8298, i16 0, i16 0, i16 0, i16 0, i16 8299, i16 8300, i16 8301, i16 0, i16 8302, i16 0, i16 0, i16 8303, i16 0, i16 8304, i16 8305, i16 4208, i16 4212, i16 4209, i16 8306, i16 1128, i16 7640, i16 3851, i16 7641, i16 3849, i16 3406, i16 3850, i16 0, i16 3153, i16 3852, i16 3853, i16 3854, i16 2782, i16 7642, i16 0, i16 0, i16 3858, i16 3856, i16 3857, i16 3855, i16 1752, i16 3859, i16 3451, i16 3633, i16 7643, i16 0, i16 7644, i16 0, i16 7645, i16 3860, i16 7646, i16 7647, i16 2152, i16 12316, i16 6626, i16 6628, i16 12317, i16 12318, i16 1360, i16 12319, i16 3132, i16 12320, i16 12321, i16 1939, i16 3662, i16 0, i16 6624, i16 1773, i16 0, i16 0, i16 3690, i16 12322, i16 12323, i16 6630, i16 12324, i16 12325, i16 0, i16 0, i16 6629, i16 6631, i16 0, i16 0, i16 0, i16 0, i16 3944, i16 7785, i16 0, i16 0, i16 7786, i16 3946, i16 3945, i16 0, i16 2218, i16 864, i16 7787, i16 7788, i16 0, i16 901, i16 3947, i16 7789, i16 3948, i16 0, i16 7790, i16 1520, i16 7791, i16 7792, i16 3949, i16 7793, i16 7794, i16 0, i16 7795, i16 1293, i16 0, i16 7796, i16 0, i16 0, i16 4200, i16 3671, i16 0, i16 0, i16 8271, i16 8272, i16 2951, i16 8273, i16 8274, i16 4202, i16 0, i16 0, i16 8275, i16 0, i16 0, i16 0, i16 8276, i16 0, i16 0, i16 0, i16 0, i16 8277, i16 0, i16 0, i16 0, i16 0, i16 1692, i16 0, i16 0, i16 0, i16 8278, i16 0, i16 5994, i16 0, i16 5984, i16 0, i16 0, i16 0, i16 11142, i16 11143, i16 5996, i16 11144, i16 5982, i16 2999, i16 11145, i16 11170, i16 0, i16 0, i16 0, i16 3544, i16 0, i16 0, i16 0, i16 5991, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6013, i16 11146, i16 11147, i16 4972, i16 0, i16 9436, i16 4974, i16 4973, i16 9437, i16 3339, i16 0, i16 0, i16 2029, i16 1949, i16 1815, i16 0, i16 4975, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4977, i16 2158, i16 9438, i16 4976, i16 0, i16 0, i16 9439, i16 0, i16 0, i16 4978, i16 9440, i16 5228, i16 9855, i16 9856, i16 9857, i16 0, i16 9858, i16 5229, i16 3239, i16 3040, i16 0, i16 0, i16 5230, i16 2962, i16 0, i16 9859, i16 9860, i16 9861, i16 0, i16 2638, i16 9862, i16 0, i16 9863, i16 9864, i16 0, i16 5231, i16 1004, i16 9865, i16 1292, i16 9866, i16 3415, i16 9867, i16 3399, i16 365, i16 366, i16 0, i16 0, i16 0, i16 258, i16 257, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 361, i16 0, i16 297, i16 298, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 323, i16 0, i16 0, i16 0, i16 0, i16 878, i16 9060, i16 9061, i16 9062, i16 9063, i16 2020, i16 9064, i16 3353, i16 1767, i16 9065, i16 9066, i16 9067, i16 9068, i16 2089, i16 9069, i16 2256, i16 9070, i16 9071, i16 0, i16 9072, i16 4719, i16 4717, i16 4718, i16 9074, i16 0, i16 9073, i16 0, i16 0, i16 2606, i16 0, i16 0, i16 4750, i16 10350, i16 10351, i16 0, i16 10352, i16 10353, i16 0, i16 0, i16 0, i16 10354, i16 0, i16 10355, i16 3583, i16 1628, i16 0, i16 10356, i16 1504, i16 0, i16 0, i16 3004, i16 0, i16 5479, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10357, i16 0, i16 5481, i16 0, i16 10358, i16 0, i16 6767, i16 7051, i16 3421, i16 12559, i16 6768, i16 0, i16 6769, i16 12560, i16 6770, i16 1082, i16 12561, i16 6772, i16 0, i16 2212, i16 12562, i16 0, i16 0, i16 6773, i16 0, i16 12563, i16 1407, i16 0, i16 12564, i16 12565, i16 12566, i16 6774, i16 6778, i16 12567, i16 6776, i16 12568, i16 0, i16 12569, i16 9328, i16 9329, i16 4897, i16 9330, i16 0, i16 4904, i16 0, i16 0, i16 0, i16 0, i16 4910, i16 3086, i16 4916, i16 0, i16 0, i16 9331, i16 0, i16 9332, i16 4911, i16 4914, i16 4908, i16 9333, i16 0, i16 2615, i16 0, i16 3119, i16 9334, i16 4898, i16 0, i16 9335, i16 4906, i16 2093, i16 9840, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2997, i16 9841, i16 9842, i16 9843, i16 0, i16 0, i16 0, i16 5217, i16 0, i16 0, i16 5218, i16 0, i16 0, i16 9844, i16 0, i16 0, i16 0, i16 9845, i16 0, i16 0, i16 9846, i16 5219, i16 0, i16 9847, i16 0, i16 9848, i16 10096, i16 10097, i16 0, i16 1805, i16 10098, i16 928, i16 5328, i16 10099, i16 3520, i16 10100, i16 10101, i16 3256, i16 5329, i16 0, i16 0, i16 10102, i16 2755, i16 3490, i16 1626, i16 2184, i16 0, i16 0, i16 10103, i16 2574, i16 3918, i16 10104, i16 2639, i16 1005, i16 5330, i16 10105, i16 10106, i16 10107, i16 7537, i16 0, i16 7538, i16 7539, i16 0, i16 1485, i16 7540, i16 7541, i16 0, i16 0, i16 7542, i16 0, i16 3798, i16 7543, i16 0, i16 0, i16 7544, i16 7545, i16 1910, i16 0, i16 2443, i16 2694, i16 1395, i16 0, i16 3799, i16 0, i16 0, i16 0, i16 0, i16 1237, i16 0, i16 0, i16 11377, i16 11378, i16 0, i16 11379, i16 6114, i16 11380, i16 6115, i16 1929, i16 0, i16 6117, i16 0, i16 2564, i16 0, i16 1457, i16 1061, i16 0, i16 0, i16 11381, i16 11382, i16 0, i16 6120, i16 11383, i16 0, i16 11384, i16 0, i16 1058, i16 11385, i16 6125, i16 11386, i16 0, i16 6121, i16 6124, i16 11889, i16 11890, i16 6432, i16 0, i16 2718, i16 0, i16 0, i16 6437, i16 6441, i16 6438, i16 6436, i16 11891, i16 6439, i16 11892, i16 11893, i16 11894, i16 6440, i16 0, i16 0, i16 0, i16 11895, i16 6447, i16 0, i16 0, i16 0, i16 6442, i16 0, i16 11896, i16 11897, i16 11898, i16 11899, i16 2305, i16 10866, i16 940, i16 0, i16 10867, i16 0, i16 5812, i16 5813, i16 0, i16 10868, i16 0, i16 5814, i16 0, i16 3537, i16 0, i16 10869, i16 10870, i16 0, i16 0, i16 1979, i16 0, i16 5816, i16 5815, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10871, i16 0, i16 0, i16 0, i16 10872, i16 3699, i16 4782, i16 2240, i16 0, i16 0, i16 0, i16 4781, i16 0, i16 0, i16 4776, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1544, i16 9169, i16 9170, i16 9171, i16 4788, i16 4786, i16 9172, i16 978, i16 4784, i16 4790, i16 4796, i16 0, i16 9173, i16 9174, i16 9175, i16 0, i16 0, i16 7283, i16 7282, i16 7285, i16 7291, i16 7284, i16 7290, i16 7180, i16 7295, i16 7299, i16 7298, i16 7301, i16 7300, i16 7312, i16 7311, i16 7314, i16 7313, i16 7182, i16 7327, i16 7329, i16 7328, i16 7331, i16 7335, i16 7330, i16 285, i16 7191, i16 7346, i16 7345, i16 7348, i16 7347, i16 7361, i16 7195, i16 7362, i16 9075, i16 4724, i16 1873, i16 1615, i16 4722, i16 9076, i16 9077, i16 0, i16 0, i16 4723, i16 9078, i16 2179, i16 9079, i16 0, i16 9081, i16 4721, i16 0, i16 9080, i16 1794, i16 0, i16 0, i16 0, i16 0, i16 9082, i16 9083, i16 9084, i16 0, i16 9085, i16 9086, i16 4726, i16 4725, i16 4730, i16 1908, i16 0, i16 11233, i16 11234, i16 0, i16 0, i16 6015, i16 11235, i16 0, i16 0, i16 0, i16 0, i16 11236, i16 0, i16 11237, i16 0, i16 11238, i16 3235, i16 0, i16 3379, i16 6055, i16 6054, i16 0, i16 6050, i16 6051, i16 0, i16 861, i16 0, i16 11239, i16 0, i16 11240, i16 6053, i16 1909, i16 0, i16 0, i16 0, i16 2851, i16 5627, i16 5626, i16 0, i16 10612, i16 5623, i16 10613, i16 0, i16 0, i16 3681, i16 0, i16 0, i16 0, i16 0, i16 10614, i16 5632, i16 10615, i16 10616, i16 5636, i16 5633, i16 10617, i16 10618, i16 10619, i16 0, i16 10620, i16 0, i16 10621, i16 0, i16 7797, i16 0, i16 1797, i16 3950, i16 0, i16 7798, i16 0, i16 0, i16 3367, i16 1706, i16 1273, i16 3478, i16 2391, i16 3032, i16 1966, i16 7799, i16 0, i16 0, i16 7800, i16 7801, i16 2006, i16 7802, i16 1945, i16 1958, i16 0, i16 2053, i16 7803, i16 3033, i16 0, i16 7804, i16 7805, i16 3953, i16 12917, i16 0, i16 12918, i16 0, i16 6964, i16 0, i16 6960, i16 0, i16 6961, i16 6957, i16 6963, i16 12919, i16 6959, i16 1093, i16 0, i16 12920, i16 3703, i16 12921, i16 6962, i16 6958, i16 6956, i16 6955, i16 12922, i16 0, i16 12923, i16 12924, i16 12925, i16 6966, i16 12926, i16 0, i16 12927, i16 0, i16 9590, i16 2555, i16 9591, i16 0, i16 5069, i16 9592, i16 5058, i16 0, i16 5064, i16 9593, i16 5071, i16 837, i16 5061, i16 0, i16 5072, i16 9594, i16 9595, i16 2183, i16 0, i16 2030, i16 9596, i16 3194, i16 9597, i16 1699, i16 0, i16 5053, i16 5067, i16 2745, i16 9598, i16 0, i16 0, i16 0, i16 3448, i16 0, i16 6681, i16 2357, i16 12444, i16 0, i16 0, i16 6682, i16 12445, i16 3225, i16 6683, i16 1038, i16 12446, i16 12447, i16 12448, i16 867, i16 0, i16 1176, i16 0, i16 1175, i16 6684, i16 0, i16 6685, i16 0, i16 6686, i16 6687, i16 0, i16 0, i16 0, i16 12449, i16 12450, i16 12451, i16 4472, i16 4470, i16 8699, i16 2401, i16 0, i16 8700, i16 0, i16 4460, i16 1799, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2475, i16 4491, i16 8701, i16 2402, i16 4486, i16 8702, i16 4483, i16 4484, i16 8703, i16 1943, i16 4487, i16 4490, i16 8704, i16 8705, i16 0, i16 0, i16 6008, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11157, i16 3267, i16 11158, i16 5999, i16 0, i16 0, i16 0, i16 991, i16 1551, i16 3104, i16 6009, i16 0, i16 5997, i16 0, i16 11159, i16 6006, i16 11160, i16 11161, i16 0, i16 6016, i16 11162, i16 6001, i16 0, i16 0, i16 9336, i16 3424, i16 4926, i16 4913, i16 9337, i16 0, i16 0, i16 0, i16 9338, i16 1499, i16 936, i16 1090, i16 0, i16 0, i16 4889, i16 0, i16 9339, i16 0, i16 9340, i16 0, i16 9341, i16 2094, i16 4918, i16 9342, i16 4925, i16 1962, i16 1109, i16 9343, i16 0, i16 2545, i16 9344, i16 9345, i16 11640, i16 0, i16 11641, i16 1480, i16 11642, i16 6284, i16 11643, i16 0, i16 0, i16 0, i16 3295, i16 11644, i16 11645, i16 2312, i16 0, i16 11646, i16 0, i16 1301, i16 0, i16 3462, i16 2385, i16 11647, i16 6285, i16 11648, i16 0, i16 0, i16 2194, i16 2611, i16 2119, i16 11649, i16 11650, i16 0, i16 8313, i16 2599, i16 0, i16 4213, i16 0, i16 8314, i16 4215, i16 0, i16 0, i16 4216, i16 8315, i16 0, i16 0, i16 0, i16 8316, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8317, i16 8318, i16 0, i16 0, i16 0, i16 4218, i16 4219, i16 0, i16 8319, i16 0, i16 0, i16 11129, i16 0, i16 11130, i16 0, i16 11131, i16 5980, i16 11132, i16 5988, i16 0, i16 5995, i16 5989, i16 0, i16 0, i16 11133, i16 5987, i16 0, i16 0, i16 0, i16 11134, i16 5958, i16 11135, i16 11136, i16 5985, i16 0, i16 11137, i16 11138, i16 5981, i16 11139, i16 11140, i16 11141, i16 1169, i16 5983, i16 890, i16 11664, i16 6294, i16 1459, i16 0, i16 11665, i16 1857, i16 11666, i16 0, i16 1856, i16 0, i16 3704, i16 6293, i16 6292, i16 2350, i16 0, i16 1260, i16 3694, i16 1053, i16 2121, i16 0, i16 11667, i16 11668, i16 11669, i16 0, i16 11670, i16 11671, i16 11672, i16 6291, i16 0, i16 11673, i16 11674, i16 3962, i16 0, i16 3663, i16 7821, i16 7822, i16 0, i16 3271, i16 7823, i16 2697, i16 1563, i16 1671, i16 0, i16 0, i16 7824, i16 3970, i16 7825, i16 0, i16 2874, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7826, i16 3974, i16 3707, i16 4830, i16 0, i16 0, i16 4844, i16 801, i16 9267, i16 0, i16 4832, i16 9268, i16 9269, i16 3403, i16 4837, i16 2157, i16 2664, i16 4827, i16 9270, i16 9271, i16 4843, i16 9272, i16 0, i16 0, i16 9273, i16 9274, i16 0, i16 2245, i16 4853, i16 1108, i16 1498, i16 0, i16 0, i16 0, i16 11387, i16 0, i16 0, i16 11388, i16 3027, i16 11389, i16 0, i16 11390, i16 0, i16 6122, i16 0, i16 0, i16 6123, i16 3135, i16 3059, i16 6126, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2530, i16 6136, i16 11392, i16 6132, i16 11393, i16 11394, i16 1008, i16 0, i16 2172, i16 0, i16 0, i16 8264, i16 8265, i16 4194, i16 0, i16 8266, i16 8267, i16 3247, i16 8268, i16 0, i16 0, i16 8269, i16 0, i16 1565, i16 8270, i16 0, i16 0, i16 0, i16 0, i16 4203, i16 4204, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2072, i16 0, i16 0, i16 0, i16 6012, i16 0, i16 6011, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2982, i16 6018, i16 0, i16 6029, i16 0, i16 0, i16 11171, i16 0, i16 1121, i16 0, i16 0, i16 0, i16 6032, i16 0, i16 0, i16 6014, i16 11172, i16 0, i16 0, i16 6019, i16 3549, i16 0, i16 0, i16 10108, i16 0, i16 0, i16 10109, i16 5331, i16 0, i16 5336, i16 10110, i16 10111, i16 5334, i16 5333, i16 4684, i16 1033, i16 5332, i16 10112, i16 803, i16 10113, i16 3011, i16 10114, i16 0, i16 3043, i16 0, i16 0, i16 10115, i16 0, i16 3582, i16 5337, i16 5335, i16 2591, i16 2255, i16 10116, i16 10117, i16 7806, i16 874, i16 2392, i16 1590, i16 1534, i16 1380, i16 7807, i16 7808, i16 3957, i16 2532, i16 2531, i16 1320, i16 2065, i16 3958, i16 3956, i16 969, i16 2507, i16 1897, i16 1822, i16 845, i16 0, i16 7809, i16 1107, i16 1661, i16 1821, i16 0, i16 3959, i16 0, i16 0, i16 0, i16 0, i16 0, i16 639, i16 640, i16 7138, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 7135, i16 7140, i16 7137, i16 7139, i16 7142, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6271, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1076, i16 0, i16 11616, i16 11617, i16 11618, i16 11619, i16 11620, i16 0, i16 6272, i16 0, i16 6273, i16 6274, i16 0, i16 0, i16 9087, i16 9088, i16 4731, i16 0, i16 4727, i16 0, i16 1029, i16 4728, i16 4729, i16 3054, i16 9090, i16 9091, i16 9092, i16 0, i16 3160, i16 1445, i16 4732, i16 0, i16 0, i16 9094, i16 2267, i16 9095, i16 2090, i16 9097, i16 9098, i16 9099, i16 2581, i16 9100, i16 9102, i16 0, i16 9093, i16 9096, i16 9599, i16 0, i16 0, i16 0, i16 9600, i16 2271, i16 0, i16 1100, i16 1734, i16 2097, i16 5055, i16 2001, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1447, i16 0, i16 5054, i16 0, i16 0, i16 0, i16 5076, i16 2044, i16 1523, i16 0, i16 5091, i16 9601, i16 5085, i16 8320, i16 8321, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8322, i16 1203, i16 0, i16 4221, i16 4220, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4222, i16 8323, i16 0, i16 8325, i16 0, i16 8326, i16 0, i16 8327, i16 0, i16 0, i16 8576, i16 4395, i16 0, i16 0, i16 8577, i16 8578, i16 0, i16 8579, i16 4396, i16 0, i16 1325, i16 0, i16 4397, i16 8580, i16 4398, i16 0, i16 8581, i16 4400, i16 0, i16 2805, i16 8582, i16 0, i16 4401, i16 4402, i16 8583, i16 4403, i16 0, i16 8584, i16 4388, i16 4387, i16 0, i16 0, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 0, i16 0, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 1665, i16 2915, i16 0, i16 0, i16 5051, i16 0, i16 0, i16 0, i16 9719, i16 9720, i16 0, i16 3555, i16 5149, i16 0, i16 5153, i16 2522, i16 9721, i16 5152, i16 0, i16 5131, i16 0, i16 9722, i16 6697, i16 0, i16 0, i16 9723, i16 5157, i16 0, i16 9724, i16 9725, i16 5161, i16 0, i16 5249, i16 5250, i16 5248, i16 0, i16 0, i16 9900, i16 0, i16 0, i16 0, i16 1950, i16 0, i16 0, i16 2853, i16 1334, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9901, i16 9902, i16 0, i16 0, i16 5252, i16 2543, i16 5251, i16 9903, i16 9904, i16 3680, i16 2973, i16 9905, i16 0, i16 5507, i16 1426, i16 0, i16 0, i16 10420, i16 10421, i16 10422, i16 1247, i16 1222, i16 1846, i16 10423, i16 10424, i16 0, i16 0, i16 0, i16 10425, i16 3491, i16 10426, i16 0, i16 5513, i16 10427, i16 5512, i16 2379, i16 5509, i16 10428, i16 0, i16 5511, i16 10429, i16 10430, i16 2010, i16 2187, i16 5510, i16 11651, i16 6286, i16 0, i16 11652, i16 0, i16 11653, i16 6289, i16 11654, i16 6290, i16 11655, i16 0, i16 0, i16 0, i16 11656, i16 11657, i16 0, i16 1715, i16 2471, i16 6288, i16 11658, i16 2120, i16 3125, i16 11659, i16 11660, i16 11661, i16 0, i16 0, i16 6287, i16 11662, i16 11663, i16 1855, i16 0, i16 5508, i16 0, i16 2917, i16 0, i16 0, i16 2106, i16 0, i16 10431, i16 3123, i16 10432, i16 0, i16 10433, i16 0, i16 1740, i16 0, i16 0, i16 0, i16 0, i16 10434, i16 0, i16 0, i16 0, i16 0, i16 2807, i16 0, i16 10435, i16 5514, i16 10436, i16 10437, i16 0, i16 10438, i16 5515, i16 4485, i16 1972, i16 8706, i16 4488, i16 0, i16 0, i16 4482, i16 8707, i16 3469, i16 3468, i16 8708, i16 0, i16 8709, i16 4492, i16 4493, i16 798, i16 8710, i16 8711, i16 8712, i16 8713, i16 8714, i16 4481, i16 8715, i16 8716, i16 0, i16 8717, i16 1391, i16 751, i16 8718, i16 0, i16 8719, i16 1143, i16 4230, i16 8332, i16 0, i16 4228, i16 0, i16 4229, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8333, i16 8334, i16 0, i16 0, i16 0, i16 1829, i16 4231, i16 8335, i16 0, i16 1597, i16 4232, i16 8336, i16 1869, i16 2461, i16 0, i16 4233, i16 4234, i16 1837, i16 1598, i16 8337, i16 3427, i16 1673, i16 0, i16 3259, i16 5542, i16 10499, i16 10500, i16 3335, i16 10501, i16 10502, i16 5544, i16 0, i16 0, i16 10503, i16 2298, i16 886, i16 959, i16 757, i16 0, i16 0, i16 0, i16 0, i16 10504, i16 10505, i16 5543, i16 0, i16 10506, i16 0, i16 0, i16 10507, i16 10508, i16 0, i16 10509, i16 2441, i16 6521, i16 754, i16 3661, i16 0, i16 0, i16 0, i16 6526, i16 12021, i16 12022, i16 12024, i16 0, i16 12025, i16 12026, i16 2502, i16 12023, i16 0, i16 1988, i16 2197, i16 12027, i16 12028, i16 6528, i16 6527, i16 12029, i16 824, i16 6529, i16 0, i16 0, i16 3110, i16 0, i16 6537, i16 12030, i16 8585, i16 4404, i16 1436, i16 8586, i16 8587, i16 0, i16 3102, i16 8588, i16 0, i16 1729, i16 3118, i16 2631, i16 3138, i16 4405, i16 0, i16 8589, i16 2081, i16 877, i16 8590, i16 4406, i16 8591, i16 8592, i16 0, i16 4407, i16 8593, i16 3459, i16 8594, i16 0, i16 3065, i16 8595, i16 8596, i16 4410, i16 10634, i16 1163, i16 0, i16 5637, i16 0, i16 10635, i16 10636, i16 5638, i16 10637, i16 0, i16 5639, i16 5642, i16 10638, i16 0, i16 0, i16 0, i16 0, i16 10639, i16 0, i16 10640, i16 10641, i16 0, i16 10642, i16 5641, i16 3087, i16 10643, i16 10644, i16 0, i16 0, i16 5643, i16 3657, i16 3266, i16 1675, i16 3402, i16 12998, i16 12997, i16 7003, i16 12999, i16 0, i16 0, i16 0, i16 13000, i16 13001, i16 13002, i16 3301, i16 0, i16 0, i16 7011, i16 13003, i16 0, i16 7007, i16 0, i16 0, i16 0, i16 13004, i16 13005, i16 0, i16 0, i16 7012, i16 13006, i16 13007, i16 0, i16 13008, i16 0, i16 7563, i16 7564, i16 7565, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7566, i16 0, i16 1722, i16 3506, i16 0, i16 7567, i16 7568, i16 0, i16 3804, i16 3807, i16 3803, i16 1721, i16 0, i16 2060, i16 0, i16 7569, i16 7570, i16 0, i16 0, i16 7571, i16 1428, i16 0, i16 3980, i16 7837, i16 0, i16 7838, i16 3982, i16 7839, i16 3984, i16 0, i16 7840, i16 7841, i16 0, i16 1765, i16 3693, i16 7842, i16 3973, i16 3971, i16 3983, i16 7843, i16 3978, i16 0, i16 0, i16 7844, i16 7845, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7846, i16 0, i16 0, i16 7847, i16 9868, i16 953, i16 3679, i16 9869, i16 0, i16 0, i16 0, i16 3333, i16 9870, i16 3199, i16 0, i16 9871, i16 0, i16 0, i16 9872, i16 9873, i16 0, i16 9874, i16 2272, i16 0, i16 5232, i16 0, i16 0, i16 9875, i16 9876, i16 2848, i16 0, i16 9877, i16 9878, i16 1500, i16 5233, i16 9879, i16 11148, i16 6005, i16 0, i16 0, i16 0, i16 2246, i16 0, i16 11149, i16 0, i16 11150, i16 1253, i16 0, i16 1370, i16 0, i16 6000, i16 11151, i16 11152, i16 11153, i16 0, i16 992, i16 11154, i16 0, i16 2113, i16 0, i16 6003, i16 0, i16 0, i16 0, i16 1743, i16 11155, i16 0, i16 2768, i16 4749, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4751, i16 0, i16 9131, i16 4752, i16 0, i16 9132, i16 9133, i16 0, i16 9134, i16 0, i16 4753, i16 0, i16 1351, i16 879, i16 1616, i16 4754, i16 0, i16 4755, i16 2048, i16 2409, i16 9135, i16 9089, i16 3954, i16 2373, i16 2372, i16 2493, i16 9101, i16 1348, i16 0, i16 4733, i16 4737, i16 0, i16 0, i16 976, i16 4734, i16 4736, i16 0, i16 9103, i16 9104, i16 9105, i16 4735, i16 0, i16 9106, i16 2042, i16 9107, i16 0, i16 0, i16 0, i16 2571, i16 782, i16 4738, i16 9108, i16 9109, i16 9110, i16 9111, i16 4739, i16 0, i16 9112, i16 10897, i16 5830, i16 0, i16 0, i16 10898, i16 0, i16 10899, i16 0, i16 5831, i16 0, i16 0, i16 0, i16 10900, i16 0, i16 10901, i16 0, i16 10902, i16 0, i16 0, i16 1883, i16 10903, i16 10904, i16 3454, i16 10905, i16 0, i16 10906, i16 10907, i16 5833, i16 10908, i16 2562, i16 10909, i16 5832, i16 3218, i16 3626, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8131, i16 1017, i16 4128, i16 8132, i16 8133, i16 0, i16 8134, i16 8135, i16 2369, i16 4131, i16 0, i16 2786, i16 8136, i16 0, i16 2760, i16 2787, i16 3026, i16 2670, i16 0, i16 0, i16 0, i16 1726, i16 8137, i16 3731, i16 3303, i16 3732, i16 0, i16 1579, i16 816, i16 3365, i16 0, i16 1307, i16 0, i16 0, i16 1308, i16 1309, i16 2691, i16 3593, i16 7399, i16 3733, i16 0, i16 0, i16 3734, i16 0, i16 0, i16 3735, i16 0, i16 0, i16 7400, i16 2200, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4243, i16 8345, i16 0, i16 4244, i16 8346, i16 2517, i16 8347, i16 846, i16 1946, i16 779, i16 8348, i16 2398, i16 1137, i16 1894, i16 8349, i16 1599, i16 8350, i16 8351, i16 0, i16 8352, i16 8353, i16 2789, i16 8354, i16 1968, i16 1138, i16 2603, i16 2699, i16 769, i16 1240, i16 3274, i16 0, i16 1907, i16 7060, i16 0, i16 0, i16 0, i16 13092, i16 7061, i16 0, i16 13093, i16 7062, i16 0, i16 0, i16 0, i16 13094, i16 13095, i16 13096, i16 7063, i16 13097, i16 13098, i16 13099, i16 0, i16 7064, i16 13100, i16 7065, i16 7066, i16 13101, i16 7067, i16 0, i16 7068, i16 7069, i16 7070, i16 0, i16 13102, i16 7572, i16 0, i16 3808, i16 7573, i16 7574, i16 1356, i16 0, i16 7575, i16 0, i16 3805, i16 3806, i16 0, i16 7576, i16 2828, i16 7577, i16 2435, i16 7578, i16 1312, i16 0, i16 7579, i16 7580, i16 3328, i16 3809, i16 0, i16 7581, i16 0, i16 3594, i16 0, i16 7582, i16 7583, i16 3810, i16 7584, i16 6549, i16 6548, i16 6546, i16 5564, i16 1173, i16 12043, i16 0, i16 6514, i16 12044, i16 6551, i16 6550, i16 12045, i16 12046, i16 0, i16 12047, i16 6552, i16 12048, i16 3495, i16 0, i16 0, i16 0, i16 12049, i16 0, i16 12050, i16 12051, i16 12052, i16 0, i16 12053, i16 0, i16 0, i16 0, i16 0, i16 2710, i16 2000, i16 1280, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9490, i16 9491, i16 0, i16 9492, i16 3039, i16 9493, i16 1887, i16 0, i16 9494, i16 0, i16 9495, i16 5004, i16 0, i16 1153, i16 0, i16 9496, i16 927, i16 9497, i16 9498, i16 2895, i16 5003, i16 1621, i16 10390, i16 10391, i16 0, i16 0, i16 10387, i16 0, i16 10392, i16 5497, i16 3348, i16 0, i16 10393, i16 0, i16 5496, i16 0, i16 0, i16 820, i16 0, i16 0, i16 10394, i16 10395, i16 5500, i16 0, i16 10397, i16 10398, i16 0, i16 0, i16 10399, i16 10400, i16 0, i16 5499, i16 0, i16 10401, i16 12184, i16 12185, i16 0, i16 0, i16 12186, i16 12187, i16 12188, i16 12189, i16 0, i16 12190, i16 12191, i16 0, i16 12192, i16 2876, i16 1062, i16 0, i16 12193, i16 6601, i16 12194, i16 12195, i16 6598, i16 6600, i16 12196, i16 0, i16 12197, i16 0, i16 0, i16 0, i16 12198, i16 12199, i16 6596, i16 0, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 3481, i16 0, i16 8676, i16 1142, i16 8677, i16 8678, i16 896, i16 4468, i16 8679, i16 2933, i16 758, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8680, i16 8681, i16 3066, i16 4428, i16 4474, i16 4478, i16 3446, i16 8682, i16 4471, i16 0, i16 0, i16 8683, i16 2792, i16 4476, i16 8684, i16 0, i16 9113, i16 0, i16 2635, i16 0, i16 9114, i16 0, i16 3646, i16 0, i16 0, i16 0, i16 0, i16 1814, i16 0, i16 9115, i16 3264, i16 0, i16 0, i16 9116, i16 9117, i16 0, i16 3312, i16 9118, i16 0, i16 0, i16 4746, i16 4741, i16 0, i16 9119, i16 4744, i16 0, i16 4743, i16 9120, i16 922, i16 2387, i16 12036, i16 1512, i16 0, i16 3529, i16 12037, i16 12038, i16 6541, i16 2731, i16 0, i16 0, i16 12039, i16 2431, i16 1928, i16 6542, i16 12040, i16 0, i16 6545, i16 0, i16 12041, i16 2036, i16 6543, i16 2354, i16 2353, i16 12042, i16 813, i16 0, i16 3608, i16 6547, i16 0, i16 3083, i16 2714, i16 5730, i16 10770, i16 0, i16 5726, i16 10771, i16 10772, i16 0, i16 3241, i16 1164, i16 10773, i16 10774, i16 3420, i16 10775, i16 0, i16 807, i16 0, i16 10776, i16 5729, i16 0, i16 3658, i16 10777, i16 10778, i16 0, i16 0, i16 10779, i16 10780, i16 5728, i16 0, i16 0, i16 0, i16 0, i16 11930, i16 11931, i16 0, i16 11932, i16 11933, i16 6468, i16 6465, i16 11934, i16 6469, i16 0, i16 1927, i16 6470, i16 1231, i16 1422, i16 0, i16 11935, i16 0, i16 11936, i16 1511, i16 0, i16 11937, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6471, i16 11938, i16 0, i16 0, i16 2893, i16 11419, i16 0, i16 0, i16 11420, i16 0, i16 11421, i16 0, i16 0, i16 0, i16 2319, i16 0, i16 3684, i16 6148, i16 11422, i16 6149, i16 0, i16 0, i16 0, i16 0, i16 6155, i16 0, i16 2165, i16 0, i16 6151, i16 11423, i16 6154, i16 0, i16 0, i16 0, i16 11424, i16 0, i16 6146, i16 11675, i16 0, i16 6296, i16 11676, i16 6297, i16 6295, i16 11677, i16 1553, i16 0, i16 3503, i16 0, i16 11678, i16 1858, i16 2914, i16 0, i16 11679, i16 11680, i16 6300, i16 11681, i16 2281, i16 0, i16 2565, i16 11682, i16 11683, i16 3493, i16 11684, i16 6303, i16 0, i16 0, i16 0, i16 1573, i16 11685, i16 10140, i16 10141, i16 5356, i16 5358, i16 10142, i16 3129, i16 10143, i16 2102, i16 0, i16 0, i16 5365, i16 0, i16 10144, i16 5364, i16 10145, i16 10146, i16 0, i16 0, i16 5366, i16 0, i16 1879, i16 1700, i16 0, i16 10147, i16 2806, i16 5367, i16 0, i16 2668, i16 10148, i16 0, i16 5369, i16 10149, i16 10396, i16 2105, i16 0, i16 0, i16 0, i16 0, i16 10402, i16 5501, i16 0, i16 0, i16 0, i16 0, i16 10403, i16 0, i16 2378, i16 0, i16 10404, i16 5503, i16 5502, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5504, i16 10405, i16 0, i16 10406, i16 0, i16 10407, i16 10408, i16 5789, i16 10839, i16 0, i16 10840, i16 10841, i16 10842, i16 10843, i16 5792, i16 5790, i16 5791, i16 1750, i16 1454, i16 0, i16 10844, i16 2585, i16 0, i16 3020, i16 10845, i16 2047, i16 0, i16 0, i16 2952, i16 0, i16 3078, i16 5793, i16 4539, i16 0, i16 0, i16 0, i16 10846, i16 10847, i16 10848, i16 10910, i16 0, i16 0, i16 0, i16 10911, i16 0, i16 5835, i16 0, i16 0, i16 0, i16 5834, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5836, i16 0, i16 0, i16 0, i16 2276, i16 0, i16 5837, i16 0, i16 5838, i16 0, i16 0, i16 0, i16 3214, i16 5839, i16 12702, i16 12703, i16 6839, i16 0, i16 0, i16 6841, i16 12704, i16 12705, i16 12706, i16 6840, i16 0, i16 6843, i16 6846, i16 12707, i16 12708, i16 0, i16 6842, i16 6844, i16 6845, i16 0, i16 12709, i16 6847, i16 0, i16 1343, i16 12710, i16 12711, i16 0, i16 12712, i16 12713, i16 0, i16 12714, i16 12715, i16 1951, i16 9987, i16 0, i16 9988, i16 0, i16 5280, i16 9989, i16 9990, i16 0, i16 9991, i16 1433, i16 0, i16 0, i16 3042, i16 5281, i16 0, i16 0, i16 5308, i16 0, i16 0, i16 9992, i16 9993, i16 0, i16 9994, i16 5287, i16 9995, i16 9996, i16 9997, i16 0, i16 9998, i16 1526, i16 9999, i16 5279, i16 0, i16 982, i16 0, i16 0, i16 9976, i16 9977, i16 0, i16 5275, i16 9978, i16 1804, i16 9979, i16 9980, i16 2658, i16 5277, i16 9981, i16 0, i16 0, i16 9982, i16 9983, i16 0, i16 0, i16 9984, i16 0, i16 0, i16 9985, i16 0, i16 0, i16 0, i16 9986, i16 5282, i16 0, i16 5535, i16 10488, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10489, i16 0, i16 0, i16 0, i16 10490, i16 0, i16 10491, i16 1952, i16 10492, i16 10493, i16 5538, i16 825, i16 0, i16 10494, i16 10495, i16 0, i16 5541, i16 10496, i16 10497, i16 10498, i16 5539, i16 985, i16 1449, i16 5540, i16 1629, i16 2976, i16 11805, i16 1510, i16 6388, i16 6387, i16 0, i16 3169, i16 0, i16 11806, i16 0, i16 1906, i16 0, i16 11807, i16 2769, i16 0, i16 11808, i16 11809, i16 0, i16 11810, i16 0, i16 0, i16 11811, i16 0, i16 11812, i16 11813, i16 0, i16 6391, i16 6392, i16 1647, i16 6390, i16 11814, i16 11815, i16 9632, i16 0, i16 823, i16 0, i16 0, i16 5106, i16 0, i16 9633, i16 0, i16 0, i16 5094, i16 0, i16 0, i16 9634, i16 9635, i16 5100, i16 0, i16 9636, i16 5102, i16 9637, i16 0, i16 0, i16 3518, i16 5097, i16 0, i16 0, i16 2733, i16 9638, i16 0, i16 5099, i16 0, i16 9639, i16 10912, i16 2422, i16 5840, i16 0, i16 10913, i16 0, i16 10914, i16 0, i16 5841, i16 0, i16 0, i16 0, i16 0, i16 10915, i16 0, i16 3659, i16 5844, i16 10916, i16 5843, i16 5842, i16 2641, i16 10917, i16 5845, i16 2161, i16 0, i16 5846, i16 0, i16 0, i16 0, i16 5847, i16 3683, i16 5848, i16 5537, i16 1365, i16 0, i16 0, i16 3688, i16 2364, i16 0, i16 0, i16 0, i16 0, i16 5516, i16 10439, i16 10440, i16 983, i16 2712, i16 3190, i16 0, i16 10441, i16 0, i16 10442, i16 10443, i16 10444, i16 10445, i16 0, i16 10446, i16 0, i16 0, i16 10447, i16 10448, i16 5517, i16 0, i16 0, i16 9121, i16 4740, i16 9122, i16 9123, i16 4745, i16 0, i16 0, i16 2875, i16 9124, i16 4742, i16 0, i16 0, i16 9125, i16 0, i16 9126, i16 9127, i16 0, i16 0, i16 0, i16 0, i16 9128, i16 0, i16 4747, i16 0, i16 0, i16 2043, i16 4748, i16 9129, i16 3514, i16 2995, i16 0, i16 9130, i16 4770, i16 2143, i16 3438, i16 4772, i16 4773, i16 3543, i16 9153, i16 0, i16 0, i16 0, i16 4778, i16 0, i16 9154, i16 1617, i16 9155, i16 2960, i16 4775, i16 2795, i16 4712, i16 4716, i16 9156, i16 1262, i16 9157, i16 2946, i16 0, i16 0, i16 0, i16 9158, i16 4777, i16 0, i16 2091, i16 3037, i16 932, i16 2261, i16 4409, i16 4408, i16 1437, i16 2489, i16 0, i16 4414, i16 4412, i16 8597, i16 4411, i16 3572, i16 1566, i16 8598, i16 0, i16 8599, i16 2056, i16 4413, i16 2763, i16 1997, i16 0, i16 0, i16 8600, i16 2845, i16 4417, i16 4416, i16 0, i16 0, i16 8601, i16 8602, i16 4415, i16 0, i16 10150, i16 10151, i16 3566, i16 5368, i16 10152, i16 0, i16 0, i16 10153, i16 0, i16 2416, i16 0, i16 0, i16 10154, i16 0, i16 10155, i16 10156, i16 5374, i16 10157, i16 5376, i16 5377, i16 2583, i16 0, i16 0, i16 0, i16 0, i16 10158, i16 5375, i16 0, i16 5372, i16 0, i16 5370, i16 5371, i16 9640, i16 9641, i16 5107, i16 9642, i16 5101, i16 3416, i16 0, i16 9643, i16 9644, i16 5096, i16 9645, i16 1875, i16 5120, i16 9646, i16 9647, i16 9648, i16 0, i16 1101, i16 0, i16 5098, i16 5103, i16 5104, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2513, i16 2495, i16 0, i16 4009, i16 7890, i16 0, i16 0, i16 2516, i16 4014, i16 2067, i16 7891, i16 0, i16 7892, i16 7893, i16 0, i16 4011, i16 7894, i16 0, i16 3445, i16 7895, i16 7896, i16 0, i16 1431, i16 0, i16 0, i16 4015, i16 4016, i16 7897, i16 0, i16 7898, i16 7899, i16 4013, i16 4019, i16 7900, i16 0, i16 6057, i16 6061, i16 0, i16 3058, i16 0, i16 0, i16 11253, i16 0, i16 6060, i16 2115, i16 1914, i16 6063, i16 0, i16 0, i16 1339, i16 11254, i16 11255, i16 11256, i16 11257, i16 11258, i16 0, i16 6064, i16 11259, i16 3184, i16 6059, i16 11260, i16 6020, i16 0, i16 11261, i16 11262, i16 11263, i16 11264, i16 10409, i16 0, i16 0, i16 0, i16 0, i16 10410, i16 5474, i16 10411, i16 0, i16 10412, i16 5476, i16 5506, i16 5505, i16 10413, i16 0, i16 0, i16 0, i16 10414, i16 0, i16 0, i16 10415, i16 10416, i16 0, i16 0, i16 0, i16 0, i16 1881, i16 10417, i16 3638, i16 10418, i16 1923, i16 10419, i16 4266, i16 0, i16 4267, i16 8383, i16 3441, i16 0, i16 8384, i16 0, i16 4268, i16 8385, i16 0, i16 8386, i16 8387, i16 1347, i16 8388, i16 0, i16 8389, i16 1969, i16 8390, i16 0, i16 0, i16 8391, i16 8392, i16 0, i16 4269, i16 4270, i16 1933, i16 2167, i16 2897, i16 2207, i16 3089, i16 2909, i16 6315, i16 6323, i16 6316, i16 0, i16 6312, i16 0, i16 2717, i16 6311, i16 0, i16 0, i16 0, i16 6309, i16 11707, i16 3472, i16 1859, i16 0, i16 11708, i16 6313, i16 0, i16 6310, i16 11709, i16 11710, i16 11711, i16 6317, i16 2051, i16 0, i16 1530, i16 0, i16 11712, i16 0, i16 2527, i16 11713, i16 7083, i16 7084, i16 3645, i16 7081, i16 0, i16 0, i16 7085, i16 7086, i16 13145, i16 13146, i16 7088, i16 0, i16 7087, i16 13147, i16 13148, i16 13149, i16 13150, i16 13151, i16 7090, i16 13152, i16 0, i16 13153, i16 7091, i16 7089, i16 0, i16 0, i16 13154, i16 0, i16 0, i16 13155, i16 0, i16 0, i16 11947, i16 0, i16 11948, i16 1078, i16 0, i16 6478, i16 0, i16 11949, i16 11950, i16 1745, i16 6477, i16 0, i16 6486, i16 0, i16 0, i16 11951, i16 11952, i16 0, i16 6480, i16 6482, i16 3258, i16 6479, i16 11953, i16 11954, i16 11955, i16 6481, i16 0, i16 6485, i16 6483, i16 1232, i16 11956, i16 6484, i16 1964, i16 0, i16 12536, i16 12537, i16 6746, i16 12538, i16 6747, i16 2199, i16 6748, i16 12539, i16 3643, i16 0, i16 0, i16 6743, i16 6750, i16 6752, i16 0, i16 6751, i16 0, i16 6749, i16 0, i16 0, i16 6753, i16 0, i16 0, i16 6754, i16 12540, i16 12541, i16 2433, i16 12542, i16 999, i16 0, i16 12716, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8365, i16 8366, i16 1941, i16 4247, i16 1204, i16 2863, i16 3386, i16 4248, i16 0, i16 4249, i16 0, i16 0, i16 3152, i16 8367, i16 0, i16 8368, i16 4251, i16 0, i16 1129, i16 1396, i16 4250, i16 0, i16 8369, i16 8370, i16 8371, i16 8372, i16 8373, i16 1139, i16 0, i16 2173, i16 4255, i16 1780, i16 10159, i16 5373, i16 10160, i16 10161, i16 10162, i16 0, i16 0, i16 10163, i16 10164, i16 5380, i16 10165, i16 5378, i16 10166, i16 5379, i16 0, i16 10167, i16 0, i16 0, i16 10168, i16 10169, i16 0, i16 10170, i16 10171, i16 0, i16 0, i16 10172, i16 0, i16 10173, i16 10174, i16 10175, i16 10176, i16 5381, i16 2480, i16 12493, i16 6712, i16 0, i16 3172, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6715, i16 6713, i16 1654, i16 0, i16 6714, i16 1531, i16 0, i16 12494, i16 0, i16 12495, i16 0, i16 12496, i16 12497, i16 12498, i16 0, i16 0, i16 3226, i16 6717, i16 6719, i16 6718, i16 6720, i16 6065, i16 11276, i16 0, i16 0, i16 2993, i16 11277, i16 11278, i16 6075, i16 6067, i16 11279, i16 6069, i16 11280, i16 11281, i16 0, i16 0, i16 11282, i16 6079, i16 6068, i16 0, i16 11283, i16 6072, i16 0, i16 0, i16 921, i16 11284, i16 2882, i16 0, i16 6073, i16 6076, i16 11285, i16 0, i16 11286, i16 10673, i16 5663, i16 5661, i16 0, i16 5659, i16 1122, i16 10674, i16 2110, i16 5664, i16 0, i16 0, i16 5662, i16 0, i16 5660, i16 5668, i16 0, i16 10675, i16 5667, i16 5666, i16 5665, i16 0, i16 0, i16 10676, i16 10677, i16 0, i16 5669, i16 10678, i16 10679, i16 10680, i16 5670, i16 2275, i16 10681, i16 6834, i16 6830, i16 12689, i16 0, i16 6833, i16 0, i16 12690, i16 12691, i16 1180, i16 0, i16 0, i16 12692, i16 6835, i16 0, i16 6836, i16 0, i16 0, i16 12693, i16 12694, i16 12695, i16 12696, i16 12697, i16 0, i16 0, i16 0, i16 12698, i16 12699, i16 12700, i16 12701, i16 6837, i16 6838, i16 0, i16 11186, i16 3177, i16 6034, i16 2814, i16 11187, i16 11188, i16 762, i16 11189, i16 0, i16 6027, i16 11190, i16 6023, i16 2425, i16 6017, i16 6025, i16 6030, i16 11191, i16 2919, i16 0, i16 11192, i16 11193, i16 755, i16 11194, i16 6022, i16 11195, i16 6031, i16 3183, i16 0, i16 11196, i16 11197, i16 0, i16 0, i16 2228, i16 5817, i16 0, i16 10873, i16 0, i16 10874, i16 5818, i16 0, i16 10875, i16 5819, i16 0, i16 1190, i16 10876, i16 0, i16 10877, i16 10878, i16 1166, i16 0, i16 10879, i16 5820, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5821, i16 10880, i16 3344, i16 3538, i16 10881, i16 10882, i16 10883, i16 2996, i16 0, i16 1154, i16 3655, i16 0, i16 0, i16 9664, i16 0, i16 0, i16 9665, i16 9666, i16 3378, i16 2675, i16 9673, i16 0, i16 9667, i16 9668, i16 5117, i16 5119, i16 9669, i16 0, i16 0, i16 9670, i16 0, i16 2361, i16 0, i16 0, i16 9671, i16 9672, i16 0, i16 5121, i16 5115, i16 4021, i16 7906, i16 7907, i16 4031, i16 2360, i16 0, i16 7908, i16 4033, i16 7909, i16 1593, i16 4023, i16 2624, i16 0, i16 0, i16 7910, i16 7911, i16 0, i16 7912, i16 7913, i16 7914, i16 7915, i16 0, i16 0, i16 7916, i16 4027, i16 4020, i16 1134, i16 0, i16 1199, i16 1096, i16 4028, i16 4024, i16 11957, i16 11958, i16 0, i16 11959, i16 0, i16 11960, i16 6487, i16 11961, i16 11962, i16 2965, i16 3621, i16 0, i16 11963, i16 11964, i16 11965, i16 1987, i16 0, i16 0, i16 0, i16 6488, i16 11966, i16 11967, i16 11968, i16 11969, i16 3473, i16 6490, i16 11970, i16 6489, i16 0, i16 0, i16 6493, i16 3504, i16 7094, i16 13164, i16 13165, i16 13166, i16 0, i16 13167, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8374, i16 974, i16 4254, i16 0, i16 4252, i16 4256, i16 4253, i16 2918, i16 4883, i16 2174, i16 0, i16 4257, i16 0, i16 0, i16 3597, i16 8375, i16 4258, i16 8376, i16 0, i16 4260, i16 8377, i16 2625, i16 4259, i16 0, i16 2252, i16 0, i16 1870, i16 0, i16 0, i16 8378, i16 2485, i16 1960, i16 9142, i16 0, i16 9143, i16 0, i16 0, i16 0, i16 4759, i16 4760, i16 3435, i16 0, i16 3381, i16 3369, i16 3343, i16 1784, i16 4762, i16 0, i16 0, i16 1948, i16 0, i16 9144, i16 3332, i16 0, i16 4764, i16 4767, i16 4766, i16 0, i16 1210, i16 0, i16 0, i16 1279, i16 9145, i16 4763, i16 1975, i16 1847, i16 10458, i16 0, i16 10459, i16 0, i16 0, i16 10460, i16 10461, i16 5525, i16 10462, i16 1976, i16 0, i16 0, i16 0, i16 10463, i16 0, i16 975, i16 3130, i16 0, i16 10464, i16 5526, i16 10465, i16 0, i16 3076, i16 0, i16 10466, i16 0, i16 0, i16 10467, i16 10468, i16 2380, i16 6327, i16 3527, i16 0, i16 0, i16 0, i16 0, i16 6330, i16 0, i16 6333, i16 0, i16 0, i16 6331, i16 3116, i16 11722, i16 0, i16 0, i16 11723, i16 0, i16 0, i16 6328, i16 0, i16 0, i16 0, i16 11724, i16 0, i16 1373, i16 0, i16 0, i16 11725, i16 0, i16 6332, i16 0, i16 6584, i16 6585, i16 12161, i16 12162, i16 0, i16 12163, i16 3049, i16 1736, i16 1938, i16 6586, i16 0, i16 6587, i16 3569, i16 2004, i16 3455, i16 3609, i16 6588, i16 1375, i16 0, i16 12164, i16 12165, i16 0, i16 6589, i16 12166, i16 2722, i16 12167, i16 12168, i16 6592, i16 1115, i16 2198, i16 12169, i16 6590, i16 10936, i16 1550, i16 0, i16 0, i16 838, i16 5859, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10937, i16 10938, i16 5866, i16 10939, i16 5867, i16 10940, i16 10941, i16 2838, i16 0, i16 10942, i16 0, i16 1336, i16 10943, i16 10944, i16 0, i16 5878, i16 2936, i16 10945, i16 0, i16 11448, i16 0, i16 6159, i16 11449, i16 0, i16 0, i16 0, i16 11450, i16 0, i16 0, i16 0, i16 6168, i16 11451, i16 11452, i16 11453, i16 6162, i16 0, i16 11454, i16 0, i16 6170, i16 0, i16 11455, i16 0, i16 0, i16 0, i16 0, i16 3541, i16 6173, i16 0, i16 6164, i16 11456, i16 11457, i16 12216, i16 0, i16 12217, i16 12218, i16 2739, i16 6604, i16 12219, i16 12220, i16 6607, i16 6605, i16 12221, i16 6610, i16 0, i16 12222, i16 12223, i16 12224, i16 6611, i16 12225, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6603, i16 12226, i16 12227, i16 6616, i16 923, i16 12228, i16 12229, i16 6602, i16 0, i16 7865, i16 832, i16 4007, i16 0, i16 0, i16 3999, i16 4000, i16 0, i16 2066, i16 3356, i16 7866, i16 0, i16 7867, i16 4005, i16 4004, i16 7868, i16 0, i16 0, i16 2734, i16 0, i16 0, i16 0, i16 7869, i16 0, i16 0, i16 0, i16 4006, i16 0, i16 7870, i16 4003, i16 7871, i16 7872, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 0, i16 687, i16 7156, i16 7157, i16 7158, i16 7159, i16 7160, i16 7161, i16 7162, i16 7163, i16 7164, i16 7165, i16 7166, i16 0, i16 7167, i16 7168, i16 2490, i16 4430, i16 0, i16 0, i16 8646, i16 1277, i16 4440, i16 2262, i16 908, i16 4434, i16 1021, i16 4439, i16 0, i16 8647, i16 0, i16 1326, i16 0, i16 4436, i16 0, i16 8648, i16 0, i16 8649, i16 0, i16 0, i16 0, i16 0, i16 4442, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12475, i16 6705, i16 6707, i16 0, i16 12476, i16 6706, i16 12477, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1724, i16 0, i16 0, i16 3792, i16 0, i16 9136, i16 0, i16 9137, i16 1481, i16 3484, i16 0, i16 3283, i16 0, i16 3189, i16 9138, i16 4756, i16 0, i16 0, i16 0, i16 9139, i16 1768, i16 2656, i16 4757, i16 3674, i16 0, i16 9140, i16 0, i16 3313, i16 9141, i16 2636, i16 4758, i16 1213, i16 8124, i16 4126, i16 0, i16 0, i16 2698, i16 0, i16 8125, i16 8126, i16 0, i16 0, i16 1135, i16 0, i16 0, i16 8127, i16 0, i16 7095, i16 904, i16 3272, i16 8128, i16 0, i16 2137, i16 2759, i16 0, i16 0, i16 0, i16 8129, i16 1755, i16 0, i16 0, i16 4132, i16 0, i16 8130, i16 5309, i16 0, i16 3122, i16 5310, i16 10082, i16 0, i16 1125, i16 5311, i16 10083, i16 5312, i16 10084, i16 10085, i16 0, i16 0, i16 5313, i16 10086, i16 5315, i16 5316, i16 5314, i16 0, i16 10087, i16 0, i16 3146, i16 5318, i16 5317, i16 0, i16 10088, i16 10089, i16 10090, i16 0, i16 0, i16 10091, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 1470, i16 2526, i16 5138, i16 2934, i16 0, i16 9713, i16 5145, i16 9714, i16 9715, i16 0, i16 9716, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5150, i16 5148, i16 0, i16 0, i16 5151, i16 0, i16 9717, i16 5154, i16 0, i16 0, i16 9718, i16 5147, i16 7873, i16 7874, i16 0, i16 0, i16 859, i16 7875, i16 1707, i16 2171, i16 7876, i16 7877, i16 0, i16 0, i16 7878, i16 7879, i16 7880, i16 4001, i16 2785, i16 0, i16 0, i16 0, i16 4002, i16 7881, i16 747, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1474, i16 1874, i16 0, i16 1362, i16 9412, i16 0, i16 0, i16 937, i16 9413, i16 0, i16 0, i16 9414, i16 9415, i16 0, i16 0, i16 9416, i16 0, i16 0, i16 3534, i16 0, i16 0, i16 9417, i16 9418, i16 4956, i16 4955, i16 4958, i16 1244, i16 9419, i16 0, i16 1363, i16 1151, i16 9420, i16 3523, i16 3682, i16 0, i16 1636, i16 5824, i16 1925, i16 5823, i16 10884, i16 10885, i16 0, i16 10886, i16 5825, i16 1882, i16 10887, i16 10888, i16 10889, i16 2486, i16 10890, i16 5826, i16 10891, i16 10892, i16 1635, i16 10893, i16 3432, i16 5827, i16 5828, i16 0, i16 0, i16 5829, i16 10894, i16 10895, i16 10896, i16 11971, i16 11972, i16 6492, i16 11973, i16 1104, i16 6491, i16 6496, i16 11974, i16 0, i16 6495, i16 0, i16 0, i16 6494, i16 2737, i16 6497, i16 11975, i16 0, i16 11976, i16 11977, i16 11978, i16 11979, i16 11980, i16 0, i16 6498, i16 11981, i16 0, i16 0, i16 0, i16 6499, i16 11982, i16 11983, i16 1667, i16 3012, i16 10118, i16 3108, i16 0, i16 5339, i16 3577, i16 1448, i16 5340, i16 0, i16 5338, i16 3055, i16 5341, i16 0, i16 5342, i16 0, i16 10119, i16 804, i16 10120, i16 0, i16 2147, i16 5347, i16 0, i16 5344, i16 2890, i16 5343, i16 10121, i16 10122, i16 10123, i16 10124, i16 10125, i16 10126, i16 1221, i16 4804, i16 1472, i16 1446, i16 2796, i16 9208, i16 9209, i16 4802, i16 0, i16 783, i16 0, i16 9210, i16 0, i16 9211, i16 4805, i16 4807, i16 0, i16 1354, i16 1415, i16 9193, i16 1149, i16 1258, i16 9212, i16 0, i16 9213, i16 9214, i16 4810, i16 0, i16 9215, i16 1774, i16 3364, i16 0, i16 1802, i16 8900, i16 759, i16 0, i16 4625, i16 0, i16 8901, i16 0, i16 0, i16 0, i16 4622, i16 8902, i16 0, i16 8903, i16 0, i16 1209, i16 0, i16 0, i16 0, i16 8904, i16 8905, i16 910, i16 8906, i16 4628, i16 0, i16 8907, i16 8908, i16 3512, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2501, i16 2430, i16 12015, i16 2821, i16 12016, i16 6516, i16 1268, i16 0, i16 12017, i16 0, i16 0, i16 6525, i16 12018, i16 6522, i16 6535, i16 2822, i16 2595, i16 6519, i16 0, i16 2719, i16 2770, i16 6520, i16 6524, i16 2219, i16 12019, i16 2978, i16 2669, i16 12020, i16 0, i16 2283, i16 6523, i16 2451, i16 4550, i16 8780, i16 0, i16 8781, i16 8782, i16 0, i16 0, i16 8783, i16 4551, i16 4552, i16 3263, i16 0, i16 4554, i16 4553, i16 1998, i16 0, i16 2263, i16 1003, i16 1025, i16 8784, i16 4555, i16 8785, i16 776, i16 0, i16 0, i16 0, i16 2293, i16 4556, i16 8786, i16 6377, i16 4557, i16 1468, i16 12230, i16 12231, i16 3014, i16 0, i16 6606, i16 12232, i16 2125, i16 12233, i16 12234, i16 12235, i16 0, i16 0, i16 0, i16 0, i16 12236, i16 12237, i16 12238, i16 1650, i16 0, i16 0, i16 0, i16 12239, i16 12240, i16 12241, i16 12242, i16 12243, i16 0, i16 12244, i16 12245, i16 12246, i16 3323, i16 12247, i16 1479, i16 11505, i16 6195, i16 11506, i16 6194, i16 11507, i16 1983, i16 0, i16 11508, i16 11509, i16 11510, i16 11511, i16 1643, i16 5033, i16 11512, i16 0, i16 0, i16 11513, i16 6196, i16 2016, i16 0, i16 11514, i16 11515, i16 1052, i16 11516, i16 6197, i16 11517, i16 889, i16 11518, i16 2116, i16 6198, i16 11519, i16 968, i16 0, i16 0, i16 3649, i16 7705, i16 7706, i16 7707, i16 7708, i16 0, i16 2052, i16 2775, i16 1660, i16 3900, i16 3901, i16 0, i16 7709, i16 7710, i16 3634, i16 0, i16 0, i16 3670, i16 3903, i16 7711, i16 7712, i16 7713, i16 1587, i16 7714, i16 7715, i16 3902, i16 7716, i16 1042, i16 0, i16 1224, i16 0, i16 10478, i16 10479, i16 0, i16 0, i16 0, i16 10480, i16 5531, i16 10481, i16 10482, i16 2713, i16 10483, i16 5532, i16 2288, i16 0, i16 0, i16 10484, i16 0, i16 0, i16 3390, i16 10485, i16 0, i16 3098, i16 5533, i16 5534, i16 2584, i16 10486, i16 3604, i16 0, i16 10487, i16 5536, i16 2248, i16 1192, i16 0, i16 0, i16 3497, i16 1010, i16 1991, i16 1556, i16 0, i16 6739, i16 12524, i16 6738, i16 1862, i16 6740, i16 6737, i16 0, i16 0, i16 1787, i16 12525, i16 0, i16 0, i16 6744, i16 6167, i16 0, i16 12527, i16 3952, i16 12528, i16 2242, i16 6742, i16 12529, i16 12530, i16 12531, i16 1225, i16 0, i16 5685, i16 10699, i16 3460, i16 1631, i16 5684, i16 10700, i16 10701, i16 10702, i16 5688, i16 3447, i16 0, i16 2935, i16 0, i16 10703, i16 3114, i16 10704, i16 10705, i16 10706, i16 2034, i16 5687, i16 10707, i16 1924, i16 1632, i16 1849, i16 1288, i16 3211, i16 5686, i16 10708, i16 10709, i16 0, i16 1737, i16 5235, i16 5234, i16 0, i16 9880, i16 0, i16 0, i16 5236, i16 0, i16 9881, i16 0, i16 0, i16 0, i16 9882, i16 9883, i16 0, i16 0, i16 0, i16 5237, i16 9884, i16 0, i16 0, i16 5238, i16 0, i16 0, i16 0, i16 0, i16 9885, i16 0, i16 0, i16 0, i16 0, i16 1993, i16 2201, i16 3740, i16 7401, i16 3738, i16 0, i16 3739, i16 1271, i16 0, i16 0, i16 1688, i16 1013, i16 0, i16 3737, i16 3736, i16 3198, i16 7402, i16 0, i16 0, i16 0, i16 1817, i16 1816, i16 2467, i16 3741, i16 3148, i16 2320, i16 7403, i16 7404, i16 0, i16 245, i16 3742, i16 3744, i16 10953, i16 0, i16 0, i16 5870, i16 10954, i16 0, i16 0, i16 10955, i16 0, i16 5869, i16 0, i16 0, i16 10956, i16 0, i16 0, i16 5871, i16 10957, i16 2537, i16 0, i16 2937, i16 0, i16 10958, i16 0, i16 0, i16 0, i16 2642, i16 10959, i16 0, i16 10960, i16 0, i16 5875, i16 0, i16 714, i16 725, i16 715, i16 726, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 716, i16 0, i16 0, i16 727, i16 717, i16 0, i16 0, i16 728, i16 719, i16 0, i16 0, i16 730, i16 718, i16 0, i16 0, i16 729, i16 720, i16 741, i16 0, i16 0, i16 2762, i16 1913, i16 8396, i16 8397, i16 2399, i16 3561, i16 0, i16 8398, i16 8399, i16 8400, i16 0, i16 0, i16 4278, i16 8401, i16 4279, i16 2867, i16 8402, i16 1798, i16 0, i16 0, i16 8403, i16 8404, i16 4281, i16 0, i16 0, i16 4282, i16 8405, i16 8406, i16 8407, i16 8408, i16 0, i16 0, i16 8650, i16 4444, i16 4454, i16 4452, i16 0, i16 0, i16 4449, i16 8651, i16 8652, i16 8653, i16 4448, i16 3653, i16 8654, i16 4450, i16 0, i16 0, i16 1327, i16 8655, i16 1608, i16 0, i16 8656, i16 2057, i16 8657, i16 8658, i16 0, i16 4457, i16 4443, i16 0, i16 0, i16 8659, i16 0, i16 4447, i16 6348, i16 11745, i16 0, i16 1809, i16 11746, i16 11747, i16 0, i16 0, i16 0, i16 0, i16 4696, i16 11748, i16 6349, i16 11749, i16 6350, i16 11750, i16 1985, i16 0, i16 6351, i16 6352, i16 11751, i16 11752, i16 6353, i16 0, i16 0, i16 6354, i16 6355, i16 0, i16 11753, i16 0, i16 11754, i16 11755, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 482, i16 483, i16 484, i16 485, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 10190, i16 10191, i16 3602, i16 10192, i16 10193, i16 10194, i16 5392, i16 5390, i16 5391, i16 10195, i16 10189, i16 10196, i16 1187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3471, i16 0, i16 0, i16 10197, i16 3231, i16 0, i16 5394, i16 10198, i16 0, i16 0, i16 5393, i16 0, i16 0, i16 10199, i16 11214, i16 6043, i16 11215, i16 0, i16 2594, i16 0, i16 6044, i16 11216, i16 11217, i16 3525, i16 6033, i16 1051, i16 11218, i16 6039, i16 0, i16 11219, i16 6042, i16 3389, i16 0, i16 11220, i16 0, i16 0, i16 6045, i16 0, i16 0, i16 6038, i16 6041, i16 0, i16 11221, i16 0, i16 0, i16 0, i16 8145, i16 8146, i16 0, i16 1322, i16 0, i16 4134, i16 0, i16 8147, i16 8148, i16 8149, i16 8150, i16 0, i16 8151, i16 8152, i16 0, i16 8153, i16 8154, i16 0, i16 0, i16 3261, i16 8155, i16 0, i16 8156, i16 2436, i16 0, i16 0, i16 0, i16 0, i16 2663, i16 8157, i16 0, i16 4136, i16 9937, i16 0, i16 0, i16 2002, i16 0, i16 0, i16 9938, i16 9939, i16 5269, i16 9940, i16 5268, i16 9941, i16 9942, i16 0, i16 9943, i16 9944, i16 5270, i16 9945, i16 1072, i16 0, i16 0, i16 5272, i16 0, i16 9946, i16 5271, i16 9947, i16 5274, i16 5273, i16 9948, i16 0, i16 0, i16 0, i16 11986, i16 11987, i16 0, i16 6505, i16 11988, i16 11989, i16 11990, i16 3899, i16 3898, i16 0, i16 0, i16 0, i16 0, i16 6506, i16 5764, i16 6507, i16 2535, i16 2166, i16 2939, i16 0, i16 0, i16 11991, i16 11992, i16 6508, i16 11993, i16 0, i16 3242, i16 2677, i16 1685, i16 0, i16 11994, i16 2540, i16 3539, i16 0, i16 0, i16 0, i16 9581, i16 5066, i16 5060, i16 5057, i16 9582, i16 0, i16 9583, i16 3617, i16 5063, i16 0, i16 9584, i16 9585, i16 0, i16 2009, i16 5065, i16 0, i16 0, i16 5070, i16 9586, i16 0, i16 2800, i16 5068, i16 0, i16 9587, i16 0, i16 9588, i16 5062, i16 9589, i16 1236, i16 0, i16 3722, i16 0, i16 0, i16 3723, i16 3592, i16 0, i16 3500, i16 2415, i16 3725, i16 1865, i16 2896, i16 7395, i16 3728, i16 0, i16 0, i16 869, i16 1560, i16 0, i16 1559, i16 815, i16 7396, i16 7397, i16 3702, i16 3701, i16 0, i16 1704, i16 746, i16 7398, i16 3729, i16 3730, i16 8916, i16 0, i16 8917, i16 0, i16 8918, i16 8919, i16 4634, i16 0, i16 4638, i16 8920, i16 8921, i16 0, i16 3035, i16 2794, i16 0, i16 8922, i16 8923, i16 0, i16 0, i16 0, i16 4631, i16 8924, i16 4635, i16 0, i16 0, i16 0, i16 1443, i16 0, i16 0, i16 8925, i16 1766, i16 8926, i16 9428, i16 4968, i16 1842, i16 2270, i16 1686, i16 0, i16 3175, i16 9429, i16 0, i16 3255, i16 3695, i16 9430, i16 0, i16 0, i16 9431, i16 1864, i16 9432, i16 0, i16 0, i16 1733, i16 3647, i16 9433, i16 0, i16 0, i16 4969, i16 4970, i16 0, i16 1843, i16 0, i16 9434, i16 9435, i16 4971, i16 12756, i16 0, i16 12757, i16 12758, i16 12759, i16 0, i16 0, i16 12760, i16 2482, i16 0, i16 0, i16 6870, i16 0, i16 12761, i16 12762, i16 0, i16 2826, i16 0, i16 0, i16 12763, i16 0, i16 12764, i16 12765, i16 6871, i16 12766, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6876, i16 0, i16 7381, i16 7382, i16 3719, i16 2928, i16 7383, i16 1270, i16 0, i16 7384, i16 0, i16 0, i16 0, i16 2930, i16 0, i16 2880, i16 1532, i16 3302, i16 0, i16 7385, i16 0, i16 0, i16 0, i16 6101, i16 3720, i16 2133, i16 3721, i16 954, i16 7386, i16 0, i16 7387, i16 1378, i16 1577, i16 3450, i16 1238, i16 3818, i16 3819, i16 7595, i16 948, i16 0, i16 7596, i16 7597, i16 7598, i16 3817, i16 0, i16 7599, i16 7600, i16 7601, i16 7602, i16 0, i16 7604, i16 0, i16 1957, i16 0, i16 3822, i16 3821, i16 3820, i16 7605, i16 3764, i16 7606, i16 3823, i16 7607, i16 7608, i16 7609, i16 7610, i16 2061, i16 10967, i16 10968, i16 0, i16 0, i16 0, i16 5881, i16 5882, i16 10969, i16 10970, i16 10971, i16 0, i16 1953, i16 0, i16 10972, i16 5880, i16 10973, i16 1679, i16 5879, i16 0, i16 0, i16 5883, i16 0, i16 0, i16 10974, i16 2643, i16 3191, i16 2346, i16 0, i16 0, i16 0, i16 0, i16 2497, i16 3800, i16 7547, i16 0, i16 7548, i16 7549, i16 3802, i16 7550, i16 0, i16 0, i16 0, i16 7551, i16 0, i16 0, i16 3304, i16 7552, i16 7553, i16 7554, i16 1473, i16 7555, i16 7556, i16 7557, i16 0, i16 7558, i16 0, i16 1796, i16 3088, i16 3801, i16 7559, i16 7560, i16 0, i16 7561, i16 7562, i16 4569, i16 0, i16 0, i16 4567, i16 8807, i16 0, i16 0, i16 0, i16 4570, i16 0, i16 0, i16 0, i16 0, i16 8808, i16 3206, i16 8809, i16 0, i16 768, i16 0, i16 8810, i16 0, i16 0, i16 3157, i16 0, i16 0, i16 3068, i16 8811, i16 0, i16 4571, i16 8812, i16 4574, i16 2082, i16 4825, i16 9235, i16 2092, i16 9236, i16 0, i16 9237, i16 4163, i16 1569, i16 3563, i16 9238, i16 9239, i16 0, i16 0, i16 4816, i16 9240, i16 2709, i16 1030, i16 1698, i16 9241, i16 4808, i16 0, i16 4824, i16 1092, i16 0, i16 0, i16 4822, i16 4826, i16 9242, i16 2797, i16 0, i16 0, i16 0, i16 9177, i16 2477, i16 9178, i16 9179, i16 3222, i16 9180, i16 4798, i16 0, i16 9181, i16 9182, i16 3097, i16 0, i16 0, i16 0, i16 4797, i16 2987, i16 3314, i16 1148, i16 9183, i16 2336, i16 1999, i16 0, i16 0, i16 9184, i16 2676, i16 9185, i16 3485, i16 0, i16 9186, i16 4793, i16 4792, i16 0, i16 1242, i16 0, i16 4572, i16 4579, i16 2083, i16 0, i16 0, i16 0, i16 0, i16 4573, i16 2943, i16 0, i16 0, i16 8813, i16 8814, i16 8815, i16 8816, i16 3533, i16 4575, i16 4576, i16 4580, i16 2793, i16 4577, i16 1610, i16 2311, i16 0, i16 0, i16 4594, i16 3021, i16 0, i16 2519, i16 0, i16 6874, i16 12768, i16 6873, i16 6875, i16 12769, i16 6872, i16 0, i16 12767, i16 0, i16 0, i16 12770, i16 12771, i16 12772, i16 6878, i16 12773, i16 0, i16 0, i16 12774, i16 0, i16 0, i16 12775, i16 6877, i16 12776, i16 6880, i16 0, i16 0, i16 1344, i16 6879, i16 0, i16 12777, i16 0, i16 6881, i16 11995, i16 11996, i16 849, i16 0, i16 3371, i16 2210, i16 11997, i16 0, i16 0, i16 0, i16 11998, i16 11999, i16 0, i16 12000, i16 1465, i16 0, i16 12001, i16 1374, i16 12002, i16 12003, i16 3243, i16 12004, i16 0, i16 0, i16 0, i16 0, i16 6509, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1245, i16 0, i16 5239, i16 0, i16 0, i16 0, i16 0, i16 5240, i16 9886, i16 0, i16 0, i16 0, i16 1501, i16 9887, i16 9888, i16 3041, i16 0, i16 9889, i16 5242, i16 0, i16 9890, i16 0, i16 2146, i16 0, i16 0, i16 5241, i16 0, i16 0, i16 0, i16 0, i16 9891, i16 0, i16 7901, i16 7902, i16 0, i16 4010, i16 7903, i16 0, i16 7904, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4025, i16 4030, i16 0, i16 4026, i16 7905, i16 9949, i16 9950, i16 0, i16 9951, i16 1525, i16 9952, i16 9953, i16 3573, i16 0, i16 1353, i16 0, i16 939, i16 0, i16 0, i16 9954, i16 0, i16 9955, i16 0, i16 0, i16 9956, i16 0, i16 9957, i16 1383, i16 9958, i16 9959, i16 0, i16 0, i16 0, i16 9960, i16 0, i16 9961, i16 9962, i16 222, i16 223, i16 224, i16 244, i16 0, i16 246, i16 247, i16 248, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 324, i16 329, i16 265, i16 266, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 254, i16 0, i16 0, i16 0, i16 4062, i16 0, i16 0, i16 0, i16 7982, i16 7983, i16 4061, i16 1064, i16 7984, i16 0, i16 4063, i16 7985, i16 7986, i16 0, i16 0, i16 4066, i16 0, i16 0, i16 0, i16 0, i16 4065, i16 7987, i16 0, i16 0, i16 0, i16 7988, i16 7989, i16 0, i16 0, i16 7990, i16 7991, i16 7992, i16 8158, i16 8159, i16 8160, i16 0, i16 0, i16 0, i16 8161, i16 0, i16 3330, i16 8162, i16 0, i16 4137, i16 0, i16 0, i16 4142, i16 0, i16 0, i16 8163, i16 8164, i16 3204, i16 0, i16 0, i16 0, i16 0, i16 4141, i16 4135, i16 4138, i16 4140, i16 8166, i16 0, i16 1691, i16 0, i16 10718, i16 10719, i16 1977, i16 1527, i16 2383, i16 5689, i16 5695, i16 10720, i16 10721, i16 0, i16 0, i16 5690, i16 1451, i16 10722, i16 5698, i16 5702, i16 1478, i16 10723, i16 0, i16 10724, i16 0, i16 0, i16 5697, i16 10725, i16 0, i16 10726, i16 10727, i16 5706, i16 10728, i16 10729, i16 1633, i16 0, i16 736, i16 0, i16 0, i16 731, i16 722, i16 743, i16 0, i16 0, i16 738, i16 0, i16 0, i16 733, i16 721, i16 0, i16 0, i16 737, i16 742, i16 0, i16 0, i16 732, i16 723, i16 0, i16 0, i16 739, i16 744, i16 0, i16 0, i16 734, i16 724, i16 0, i16 0, i16 740, i16 2784, i16 7664, i16 7665, i16 2202, i16 3871, i16 7666, i16 3201, i16 2307, i16 1123, i16 0, i16 1130, i16 3872, i16 0, i16 0, i16 3874, i16 0, i16 0, i16 1429, i16 7667, i16 7668, i16 3873, i16 7669, i16 7670, i16 3648, i16 7671, i16 0, i16 0, i16 0, i16 0, i16 2040, i16 0, i16 0, i16 4064, i16 0, i16 2932, i16 0, i16 0, i16 4067, i16 7993, i16 7994, i16 7995, i16 7996, i16 0, i16 7997, i16 7998, i16 7999, i16 4068, i16 0, i16 0, i16 8000, i16 0, i16 8001, i16 4070, i16 0, i16 4069, i16 8002, i16 0, i16 0, i16 0, i16 0, i16 4072, i16 0, i16 8003, i16 0, i16 8416, i16 945, i16 8417, i16 8418, i16 0, i16 0, i16 8419, i16 0, i16 2370, i16 1189, i16 8420, i16 4287, i16 3385, i16 0, i16 0, i16 0, i16 0, i16 2487, i16 8421, i16 1084, i16 8422, i16 8423, i16 4289, i16 4291, i16 1184, i16 0, i16 8424, i16 4288, i16 4290, i16 0, i16 4293, i16 0, i16 9441, i16 0, i16 9442, i16 9443, i16 4979, i16 0, i16 0, i16 0, i16 9444, i16 9445, i16 4980, i16 4981, i16 9446, i16 9447, i16 9448, i16 4982, i16 9449, i16 4984, i16 4983, i16 4985, i16 938, i16 2573, i16 0, i16 4986, i16 9450, i16 9451, i16 1785, i16 1071, i16 4987, i16 9452, i16 9453, i16 2753, i16 12257, i16 0, i16 0, i16 0, i16 12258, i16 12259, i16 0, i16 12260, i16 12261, i16 0, i16 0, i16 12262, i16 0, i16 2355, i16 0, i16 12263, i16 0, i16 0, i16 12264, i16 0, i16 0, i16 0, i16 12265, i16 6619, i16 12266, i16 6618, i16 12267, i16 12268, i16 12269, i16 12270, i16 0, i16 12271, i16 10469, i16 5529, i16 10470, i16 5530, i16 2980, i16 10471, i16 2188, i16 5527, i16 0, i16 2596, i16 10472, i16 10473, i16 5528, i16 10474, i16 0, i16 0, i16 2107, i16 10475, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10476, i16 0, i16 0, i16 805, i16 10477, i16 0, i16 0, i16 0, i16 12005, i16 0, i16 6511, i16 12006, i16 12007, i16 6510, i16 997, i16 0, i16 12008, i16 2899, i16 6512, i16 2994, i16 0, i16 2738, i16 12009, i16 6513, i16 2017, i16 12010, i16 0, i16 0, i16 6515, i16 12011, i16 12012, i16 3411, i16 6530, i16 6517, i16 6518, i16 12013, i16 0, i16 2666, i16 12014, i16 0, i16 1254, i16 0, i16 12579, i16 6786, i16 0, i16 0, i16 6785, i16 0, i16 6784, i16 0, i16 0, i16 6329, i16 12580, i16 3249, i16 12581, i16 0, i16 0, i16 12582, i16 12583, i16 6787, i16 6788, i16 12584, i16 12585, i16 0, i16 12586, i16 12587, i16 12588, i16 0, i16 12589, i16 0, i16 12590, i16 12591, i16 9702, i16 5142, i16 0, i16 5141, i16 5143, i16 9703, i16 9704, i16 9705, i16 9706, i16 0, i16 5146, i16 0, i16 0, i16 0, i16 9707, i16 9708, i16 9709, i16 2754, i16 0, i16 5140, i16 0, i16 9710, i16 9711, i16 0, i16 0, i16 5144, i16 0, i16 0, i16 9712, i16 0, i16 0, i16 0, i16 2280, i16 6299, i16 0, i16 6304, i16 1574, i16 6301, i16 6302, i16 11686, i16 6298, i16 11687, i16 0, i16 0, i16 2315, i16 2854, i16 11688, i16 11689, i16 2546, i16 0, i16 994, i16 11690, i16 0, i16 0, i16 11691, i16 11692, i16 0, i16 3081, i16 0, i16 11693, i16 1250, i16 0, i16 11694, i16 2645, i16 10216, i16 0, i16 10217, i16 10218, i16 10219, i16 10220, i16 10221, i16 10222, i16 10223, i16 0, i16 10224, i16 0, i16 0, i16 10225, i16 3074, i16 0, i16 5416, i16 0, i16 0, i16 0, i16 5417, i16 0, i16 0, i16 7073, i16 5418, i16 5419, i16 5420, i16 0, i16 0, i16 10226, i16 0, i16 1793, i16 6633, i16 0, i16 0, i16 0, i16 12337, i16 12338, i16 0, i16 12339, i16 0, i16 12340, i16 12341, i16 0, i16 1416, i16 12342, i16 6635, i16 12343, i16 12344, i16 12345, i16 0, i16 12346, i16 12347, i16 1513, i16 12348, i16 0, i16 0, i16 0, i16 12349, i16 0, i16 6634, i16 12350, i16 2126, i16 12351, i16 8938, i16 8939, i16 0, i16 8940, i16 0, i16 0, i16 0, i16 4640, i16 0, i16 3347, i16 0, i16 0, i16 0, i16 8941, i16 0, i16 4641, i16 0, i16 0, i16 0, i16 8942, i16 8943, i16 0, i16 4642, i16 0, i16 3423, i16 0, i16 2251, i16 8944, i16 0, i16 8945, i16 0, i16 0, i16 235, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 269, i16 256, i16 270, i16 7109, i16 0, i16 4075, i16 4073, i16 4071, i16 4074, i16 0, i16 8004, i16 0, i16 0, i16 4076, i16 8005, i16 8006, i16 8007, i16 8010, i16 8011, i16 4077, i16 8008, i16 8009, i16 4078, i16 0, i16 4079, i16 0, i16 0, i16 0, i16 4080, i16 3841, i16 8012, i16 1965, i16 1824, i16 8013, i16 8014, i16 1016, i16 8015, i16 6891, i16 12790, i16 0, i16 12791, i16 2236, i16 0, i16 12792, i16 0, i16 12793, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12794, i16 6892, i16 12795, i16 6893, i16 12796, i16 6894, i16 6895, i16 12797, i16 12798, i16 12799, i16 1657, i16 0, i16 0, i16 12800, i16 12801, i16 0, i16 6896, i16 6897, i16 9963, i16 0, i16 9964, i16 0, i16 0, i16 9965, i16 9966, i16 0, i16 0, i16 1186, i16 9967, i16 9968, i16 0, i16 9969, i16 0, i16 0, i16 0, i16 0, i16 3637, i16 5276, i16 0, i16 9970, i16 0, i16 9971, i16 0, i16 9972, i16 0, i16 5278, i16 9973, i16 9974, i16 0, i16 9975, i16 7405, i16 7406, i16 7407, i16 2506, i16 3630, i16 787, i16 0, i16 0, i16 7408, i16 0, i16 0, i16 0, i16 0, i16 3743, i16 963, i16 7409, i16 1345, i16 7410, i16 2602, i16 7411, i16 0, i16 7412, i16 1482, i16 3745, i16 0, i16 0, i16 0, i16 2911, i16 0, i16 7413, i16 7414, i16 7415, i16 494, i16 495, i16 496, i16 497, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 232, i16 233, i16 242, i16 243, i16 0, i16 750, i16 3137, i16 3994, i16 0, i16 3990, i16 0, i16 7861, i16 3985, i16 3991, i16 1725, i16 7862, i16 0, i16 0, i16 7863, i16 7864, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3998, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12272, i16 12273, i16 12274, i16 12275, i16 0, i16 12276, i16 12277, i16 12278, i16 12279, i16 0, i16 0, i16 12280, i16 12281, i16 12282, i16 12283, i16 6617, i16 12284, i16 0, i16 3298, i16 12285, i16 0, i16 12286, i16 0, i16 12287, i16 12288, i16 12289, i16 0, i16 0, i16 12290, i16 12291, i16 0, i16 12292, i16 1009, i16 6386, i16 3667, i16 2659, i16 3696, i16 11796, i16 11797, i16 1860, i16 6385, i16 11798, i16 2454, i16 11799, i16 0, i16 6402, i16 2351, i16 11800, i16 0, i16 2901, i16 0, i16 3143, i16 0, i16 11802, i16 11801, i16 0, i16 0, i16 11803, i16 6389, i16 1810, i16 1861, i16 11804, i16 2123, i16 0, i16 4849, i16 4836, i16 0, i16 4846, i16 0, i16 9254, i16 0, i16 4840, i16 9255, i16 0, i16 9256, i16 9257, i16 9258, i16 9259, i16 2180, i16 4850, i16 9260, i16 9261, i16 2268, i16 0, i16 0, i16 9262, i16 9263, i16 0, i16 0, i16 4848, i16 1150, i16 9264, i16 9265, i16 9266, i16 0, i16 0, i16 13041, i16 0, i16 0, i16 0, i16 0, i16 13042, i16 7028, i16 13043, i16 0, i16 13044, i16 0, i16 13045, i16 0, i16 7029, i16 13046, i16 7030, i16 13047, i16 0, i16 3700, i16 13048, i16 13049, i16 0, i16 0, i16 0, i16 7027, i16 2512, i16 1762, i16 0, i16 0, i16 7031, i16 13050, i16 0, i16 6130, i16 0, i16 3293, i16 6131, i16 11395, i16 11396, i16 6128, i16 11397, i16 6129, i16 6134, i16 6137, i16 11398, i16 0, i16 6135, i16 11399, i16 11400, i16 11401, i16 6133, i16 6127, i16 11402, i16 11403, i16 0, i16 0, i16 0, i16 2587, i16 11404, i16 6144, i16 0, i16 3387, i16 0, i16 11405, i16 11406, i16 4083, i16 8027, i16 8028, i16 3253, i16 4085, i16 0, i16 0, i16 8029, i16 4087, i16 4086, i16 8030, i16 4088, i16 8031, i16 4089, i16 0, i16 1490, i16 0, i16 8032, i16 903, i16 4090, i16 0, i16 8033, i16 4092, i16 0, i16 4091, i16 0, i16 8034, i16 8035, i16 4094, i16 8036, i16 0, i16 2777, i16 3830, i16 829, i16 7623, i16 1518, i16 1430, i16 1995, i16 2622, i16 1313, i16 2321, i16 1584, i16 7624, i16 1669, i16 3832, i16 3417, i16 2757, i16 7625, i16 1868, i16 0, i16 3831, i16 7626, i16 3833, i16 7627, i16 0, i16 7628, i16 7629, i16 0, i16 2781, i16 0, i16 1112, i16 0, i16 0, i16 7630, i16 3320, i16 897, i16 811, i16 0, i16 2818, i16 11714, i16 11715, i16 6321, i16 0, i16 0, i16 11721, i16 11716, i16 6320, i16 0, i16 2883, i16 0, i16 6325, i16 11717, i16 0, i16 0, i16 6314, i16 0, i16 6324, i16 6326, i16 0, i16 1509, i16 6322, i16 1645, i16 11718, i16 1926, i16 11719, i16 11720, i16 3576, i16 1731, i16 2552, i16 4614, i16 8885, i16 2309, i16 8886, i16 1612, i16 2223, i16 909, i16 2371, i16 4612, i16 1252, i16 8887, i16 8888, i16 8889, i16 0, i16 0, i16 1442, i16 0, i16 2672, i16 4618, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2406, i16 0, i16 8890, i16 4621, i16 0, i16 7416, i16 1196, i16 7417, i16 7418, i16 0, i16 0, i16 0, i16 0, i16 7419, i16 3746, i16 788, i16 7420, i16 7421, i16 1561, i16 1197, i16 3185, i16 3019, i16 1272, i16 7422, i16 0, i16 0, i16 7423, i16 7424, i16 7425, i16 0, i16 7426, i16 1014, i16 0, i16 3781, i16 2752, i16 0, i16 0, i16 1529, i16 0, i16 2716, i16 6278, i16 11631, i16 11632, i16 0, i16 11633, i16 1458, i16 0, i16 2209, i16 0, i16 6281, i16 0, i16 2817, i16 11634, i16 6280, i16 11635, i16 11636, i16 1420, i16 11637, i16 11638, i16 6279, i16 2524, i16 1228, i16 0, i16 0, i16 6282, i16 0, i16 6283, i16 11639, i16 2118, i16 2041, i16 4564, i16 8795, i16 8796, i16 8797, i16 0, i16 8798, i16 2329, i16 6559, i16 3067, i16 0, i16 1947, i16 8799, i16 1730, i16 4565, i16 0, i16 8800, i16 8801, i16 8802, i16 2476, i16 8803, i16 3196, i16 8804, i16 0, i16 2518, i16 0, i16 8805, i16 4568, i16 8806, i16 0, i16 4566, i16 0, i16 10235, i16 5426, i16 0, i16 1159, i16 3056, i16 5427, i16 10236, i16 5428, i16 10237, i16 0, i16 5429, i16 0, i16 10238, i16 0, i16 3437, i16 0, i16 10239, i16 10240, i16 3430, i16 0, i16 2655, i16 0, i16 10241, i16 0, i16 2417, i16 10242, i16 0, i16 5431, i16 10243, i16 0, i16 2033, i16 0, i16 5628, i16 10657, i16 0, i16 10658, i16 5652, i16 5654, i16 0, i16 10659, i16 0, i16 10660, i16 0, i16 0, i16 5655, i16 10661, i16 10662, i16 0, i16 10663, i16 0, i16 10664, i16 3227, i16 0, i16 5656, i16 0, i16 0, i16 0, i16 10665, i16 0, i16 0, i16 10666, i16 10667, i16 3443, i16 0, i16 3325, i16 7813, i16 0, i16 0, i16 0, i16 0, i16 3062, i16 7814, i16 7815, i16 3968, i16 7816, i16 1183, i16 3963, i16 3964, i16 3966, i16 7817, i16 0, i16 7818, i16 0, i16 0, i16 7819, i16 7820, i16 3967, i16 0, i16 1274, i16 2220, i16 0, i16 3202, i16 3965, i16 3961, i16 1564, i16 0, i16 5629, i16 10622, i16 10623, i16 10624, i16 10625, i16 0, i16 10626, i16 5630, i16 0, i16 10627, i16 0, i16 10628, i16 10629, i16 5635, i16 10630, i16 10631, i16 0, i16 5624, i16 3951, i16 5631, i16 5625, i16 0, i16 0, i16 5634, i16 0, i16 10632, i16 0, i16 10633, i16 0, i16 0, i16 0, i16 5640, i16 4350, i16 0, i16 0, i16 4349, i16 4348, i16 3188, i16 0, i16 4357, i16 0, i16 8514, i16 0, i16 8512, i16 3341, i16 0, i16 4351, i16 0, i16 8513, i16 8515, i16 0, i16 0, i16 4353, i16 3358, i16 8516, i16 4352, i16 8517, i16 0, i16 0, i16 8518, i16 8519, i16 0, i16 8520, i16 4354, i16 9726, i16 5159, i16 0, i16 0, i16 0, i16 9727, i16 9728, i16 9729, i16 0, i16 5155, i16 0, i16 5156, i16 0, i16 9730, i16 0, i16 5160, i16 0, i16 5158, i16 0, i16 0, i16 0, i16 3141, i16 0, i16 9731, i16 5166, i16 0, i16 5163, i16 5162, i16 0, i16 5165, i16 2865, i16 5167, i16 3839, i16 0, i16 3840, i16 7634, i16 7635, i16 2879, i16 902, i16 0, i16 0, i16 3843, i16 1778, i16 7636, i16 3842, i16 1723, i16 7637, i16 3844, i16 5856, i16 3845, i16 3316, i16 3846, i16 0, i16 3847, i16 3848, i16 2134, i16 7638, i16 1917, i16 0, i16 0, i16 0, i16 7639, i16 0, i16 0, i16 5887, i16 10975, i16 5888, i16 5884, i16 10977, i16 10978, i16 10979, i16 0, i16 5885, i16 0, i16 5886, i16 10980, i16 0, i16 0, i16 10981, i16 1640, i16 10976, i16 0, i16 0, i16 5894, i16 0, i16 5890, i16 10982, i16 0, i16 10983, i16 0, i16 3165, i16 10984, i16 3359, i16 3103, i16 10985, i16 0, i16 120, i16 12, i16 25, i16 0, i16 0, i16 5, i16 0, i16 23, i16 156, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 17, i16 157, i16 107, i16 21, i16 147, i16 174, i16 24, i16 0, i16 3, i16 173, i16 137, i16 30, i16 88, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 143, i16 145, i16 8, i16 117, i16 132, i16 0, i16 0, i16 177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 187, i16 95, i16 182, i16 161, i16 129, i16 127, i16 97, i16 135, i16 103, i16 108, i16 83, i16 86, i16 166, i16 139, i16 89, i16 172, i16 56, i16 77, i16 106, i16 162, i16 189, i16 155, i16 41, i16 141, i16 124, i16 28, i16 74, i16 68, i16 113, i16 27, i16 67, i16 85, i16 144, i16 70, i16 126, i16 96, i16 35, i16 61, i16 190, i16 123, i16 176, i16 171, i16 148, i16 183, i16 38, i16 54, i16 142, i16 186, i16 87, i16 75, i16 94, i16 76, i16 32, i16 98, i16 163, i16 20, i16 133, i16 154, i16 66, i16 138, i16 52, i16 101, i16 44, i16 63, i16 19, i16 22, i16 164, i16 191, i16 136, i16 80, i16 65, i16 91, i16 114, i16 181, i16 51, i16 79, i16 184, i16 116, i16 151, i16 92, i16 140, i16 64, i16 167, i16 50, i16 110, i16 130, i16 192, i16 152, i16 100, i16 99, i16 36, i16 93, i16 72, i16 146, i16 131, i16 33, i16 47, i16 119, i16 7, i16 73, i16 185, i16 57, i16 160, i16 150, i16 78, i16 45, i16 118, i16 49, i16 115, i16 29, i16 31, i16 69, i16 188, i16 53, i16 149, i16 121, i16 55, i16 109, i16 82, i16 153, i16 178, i16 90, i16 122, i16 104, i16 6, i16 175, i16 60, i16 59, i16 43, i16 180, i16 125, i16 16, i16 179, i16 102, i16 134, i16 62, i16 37, i16 158, i16 71, i16 40, i16 84, i16 0, i16 1, i16 159, i16 13, i16 81, i16 111, i16 46, i16 105, i16 9, i16 128, i16 18, i16 170, i16 11, i16 15, i16 39, i16 34, i16 2, i16 48, i16 10, i16 14, i16 26, i16 58, i16 42, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 169, i16 112, i16 168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 165, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 84, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1270, i16 1950, i16 0, i16 426, i16 2786, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3365, i16 3389, i16 3410, i16 1975, i16 0, i16 2471, i16 2480, i16 2502, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2924, i16 1668, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 408, i16 0, i16 0, i16 3296, i16 0, i16 3249, i16 1864, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 141, i16 0, i16 51, i16 1513, i16 1049, i16 2968, i16 2294, i16 0, i16 1390, i16 979, i16 0, i16 1886, i16 0, i16 617, i16 0, i16 0, i16 0, i16 1282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 471, i16 2852, i16 0, i16 0, i16 0, i16 0, i16 3275, i16 2769, i16 2449, i16 0, i16 0, i16 0, i16 0, i16 693, i16 657, i16 2725, i16 1421, i16 1123, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1524, i16 2708, i16 2736, i16 2762, i16 2793, i16 2808, i16 2834, i16 2854, i16 2870, i16 2890, i16 2909, i16 2932, i16 2958, i16 2983, i16 3003, i16 3025, i16 3042, i16 3062, i16 3085, i16 3108, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2374, i16 367, i16 1664, i16 0, i16 0, i16 0, i16 0, i16 2342, i16 0, i16 0, i16 0, i16 0, i16 165, i16 2704, i16 1683, i16 0, i16 0, i16 1370, i16 0, i16 2875, i16 0, i16 2939, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1678, i16 423, i16 0, i16 2585, i16 0, i16 0, i16 0, i16 2178, i16 0, i16 0, i16 0, i16 463, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 603, i16 0, i16 3282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2510, i16 0, i16 0, i16 0, i16 2978, i16 0, i16 0, i16 0, i16 0, i16 0, i16 454, i16 3047, i16 2404, i16 0, i16 0, i16 1652, i16 0, i16 628, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1882, i16 3318, i16 2723, i16 1548, i16 2895, i16 3235, i16 3268, i16 2013, i16 0, i16 899, i16 0, i16 0, i16 2999, i16 270, i16 3031, i16 926, i16 0, i16 511, i16 0, i16 0, i16 2064, i16 271, i16 2107, i16 537, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2071, i16 1576, i16 0, i16 1014, i16 610, i16 703, i16 0, i16 89, i16 277, i16 2618, i16 2078, i16 373, i16 2562, i16 2653, i16 0, i16 20, i16 2792, i16 1006, i16 1991, i16 745, i16 0, i16 2504, i16 1920, i16 3246, i16 1187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1040, i16 538, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1639, i16 1552, i16 1656, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1084, i16 0, i16 0, i16 343, i16 947, i16 0, i16 1748, i16 0, i16 0, i16 2269, i16 1677, i16 2648, i16 0, i16 455, i16 0, i16 2224, i16 572, i16 0, i16 0, i16 0, i16 0, i16 272, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 218, i16 2385, i16 42, i16 1008, i16 2883, i16 1666, i16 3317, i16 0, i16 0, i16 0, i16 845, i16 1527, i16 0, i16 966, i16 1411, i16 2278, i16 0, i16 0, i16 0, i16 529, i16 764, i16 1103, i16 2200, i16 446, i16 1517, i16 1958, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1554, i16 2767, i16 2782, i16 2040, i16 1538, i16 0, i16 0, i16 3329, i16 0, i16 320, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2561, i16 0, i16 183, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1077, i16 1744, i16 1381, i16 0, i16 1821, i16 2017, i16 2216, i16 1487, i16 2180, i16 1772, i16 0, i16 1191, i16 0, i16 0, i16 0, i16 2697, i16 1177, i16 1167, i16 1491, i16 0, i16 0, i16 0, i16 1684, i16 1161, i16 0, i16 0, i16 261, i16 0, i16 0, i16 0, i16 0, i16 0, i16 353, i16 1482, i16 385, i16 2859, i16 2317, i16 136, i16 2314, i16 598, i16 2350, i16 2114, i16 3321, i16 177, i16 3325, i16 740, i16 1376, i16 0, i16 564, i16 3237, i16 2522, i16 0, i16 220, i16 451, i16 896, i16 985, i16 0, i16 931, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1514, i16 391, i16 2423, i16 0, i16 1547, i16 0, i16 904, i16 0, i16 3173, i16 265, i16 0, i16 1255, i16 0, i16 406, i16 3030, i16 2947, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2682, i16 0, i16 0, i16 0, i16 90, i16 1190, i16 0, i16 0, i16 0, i16 0, i16 3076, i16 3092, i16 2084, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1002, i16 3212, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3169, i16 789, i16 0, i16 3187, i16 948, i16 1953, i16 530, i16 245, i16 1845, i16 769, i16 646, i16 0, i16 670, i16 2443, i16 1563, i16 2644, i16 1508, i16 2949, i16 0, i16 0, i16 0, i16 0, i16 0, i16 330, i16 0, i16 2594, i16 2182, i16 696, i16 0, i16 0, i16 0, i16 0, i16 1906, i16 3349, i16 3372, i16 3395, i16 3415, i16 1974, i16 1997, i16 0, i16 1128, i16 2030, i16 2057, i16 2085, i16 2106, i16 2126, i16 2152, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 884, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1151, i16 0, i16 0, i16 0, i16 0, i16 907, i16 0, i16 0, i16 1164, i16 0, i16 2089, i16 328, i16 2093, i16 0, i16 1196, i16 0, i16 921, i16 0, i16 0, i16 0, i16 0, i16 929, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 910, i16 152, i16 0, i16 1679, i16 0, i16 1452, i16 0, i16 0, i16 0, i16 1992, i16 65, i16 1016, i16 259, i16 0, i16 0, i16 1174, i16 1900, i16 3026, i16 3184, i16 2125, i16 0, i16 0, i16 2720, i16 0, i16 0, i16 3373, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2737, i16 0, i16 0, i16 0, i16 1427, i16 0, i16 1750, i16 2491, i16 1564, i16 1184, i16 2996, i16 889, i16 3105, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1290, i16 0, i16 3191, i16 0, i16 2844, i16 401, i16 3231, i16 3156, i16 241, i16 1896, i16 0, i16 0, i16 0, i16 0, i16 699, i16 0, i16 1035, i16 0, i16 0, i16 2360, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1115, i16 3123, i16 1925, i16 3287, i16 0, i16 0, i16 0, i16 0, i16 1450, i16 803, i16 1267, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3280, i16 2450, i16 1696, i16 3032, i16 1377, i16 0, i16 0, i16 0, i16 568, i16 0, i16 2921, i16 2479, i16 2955, i16 2063, i16 1546, i16 1367, i16 1641, i16 0, i16 1039, i16 0, i16 0, i16 0, i16 0, i16 3264, i16 0, i16 2136, i16 0, i16 3056, i16 0, i16 0, i16 0, i16 0, i16 467, i16 0, i16 0, i16 0, i16 3041, i16 1967, i16 1980, i16 0, i16 932, i16 1066, i16 0, i16 3061, i16 3344, i16 920, i16 3399, i16 915, i16 3409, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1520, i16 3160, i16 3104, i16 973, i16 1426, i16 1893, i16 0, i16 2838, i16 0, i16 0, i16 0, i16 1137, i16 1473, i16 0, i16 1810, i16 942, i16 331, i16 0, i16 1150, i16 0, i16 43, i16 0, i16 2179, i16 1614, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 508, i16 487, i16 0, i16 0, i16 1726, i16 0, i16 734, i16 308, i16 0, i16 0, i16 2990, i16 3063, i16 2991, i16 0, i16 3011, i16 1074, i16 3210, i16 3037, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1827, i16 0, i16 897, i16 0, i16 75, i16 0, i16 0, i16 0, i16 1030, i16 462, i16 0, i16 0, i16 2414, i16 2898, i16 0, i16 0, i16 3253, i16 1468, i16 2833, i16 3273, i16 1955, i16 0, i16 127, i16 913, i16 0, i16 0, i16 507, i16 2716, i16 1126, i16 3029, i16 0, i16 3382, i16 2668, i16 0, i16 2555, i16 128, i16 0, i16 0, i16 0, i16 0, i16 1127, i16 2981, i16 1437, i16 0, i16 0, i16 0, i16 1500, i16 0, i16 0, i16 480, i16 0, i16 114, i16 0, i16 0, i16 205, i16 1655, i16 0, i16 0, i16 34, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 370, i16 500, i16 528, i16 0, i16 2690, i16 2876, i16 1477, i16 3133, i16 333, i16 0, i16 0, i16 0, i16 0, i16 1793, i16 0, i16 0, i16 1529, i16 2550, i16 1096, i16 1112, i16 1588, i16 820, i16 3267, i16 2595, i16 1977, i16 3394, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 125, i16 1589, i16 0, i16 1933, i16 847, i16 2168, i16 468, i16 0, i16 3405, i16 0, i16 0, i16 1506, i16 0, i16 0, i16 683, i16 1939, i16 2846, i16 2878, i16 2642, i16 0, i16 0, i16 2377, i16 0, i16 0, i16 2596, i16 0, i16 1532, i16 0, i16 1107, i16 0, i16 0, i16 0, i16 1919, i16 3021, i16 120, i16 0, i16 644, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2732, i16 501, i16 279, i16 2509, i16 1644, i16 1863, i16 0, i16 0, i16 395, i16 246, i16 1025, i16 626, i16 3384, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1675, i16 0, i16 2734, i16 0, i16 3140, i16 990, i16 0, i16 0, i16 2169, i16 0, i16 0, i16 1027, i16 552, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2583, i16 0, i16 3286, i16 0, i16 1212, i16 316, i16 0, i16 0, i16 2830, i16 0, i16 0, i16 0, i16 0, i16 909, i16 1229, i16 0, i16 0, i16 335, i16 0, i16 0, i16 359, i16 647, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1153, i16 0, i16 0, i16 901, i16 0, i16 0, i16 0, i16 2492, i16 2027, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3219, i16 0, i16 2744, i16 476, i16 0, i16 11, i16 243, i16 0, i16 2327, i16 3098, i16 0, i16 0, i16 0, i16 97, i16 0, i16 0, i16 0, i16 1523, i16 0, i16 0, i16 783, i16 1121, i16 3144, i16 0, i16 0, i16 0, i16 496, i16 0, i16 0, i16 0, i16 0, i16 0, i16 158, i16 0, i16 2711, i16 1954, i16 3311, i16 886, i16 239, i16 1528, i16 1343, i16 1531, i16 225, i16 0, i16 1047, i16 0, i16 2311, i16 3385, i16 607, i16 2571, i16 2130, i16 848, i16 0, i16 2750, i16 440, i16 794, i16 2102, i16 460, i16 2018, i16 2208, i16 1181, i16 0, i16 0, i16 0, i16 1755, i16 2493, i16 1397, i16 0, i16 3417, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 780, i16 206, i16 2759, i16 0, i16 0, i16 834, i16 0, i16 0, i16 672, i16 0, i16 2241, i16 1359, i16 0, i16 0, i16 584, i16 1978, i16 3009, i16 0, i16 0, i16 0, i16 1160, i16 211, i16 2666, i16 0, i16 0, i16 0, i16 0, i16 2074, i16 0, i16 0, i16 0, i16 0, i16 17, i16 2606, i16 1737, i16 202, i16 1812, i16 1007, i16 0, i16 1841, i16 1345, i16 0, i16 738, i16 1162, i16 2860, i16 1943, i16 1814, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1674, i16 2556, i16 66, i16 542, i16 1205, i16 3419, i16 0, i16 2603, i16 2500, i16 425, i16 0, i16 0, i16 278, i16 1961, i16 680, i16 0, i16 1124, i16 1758, i16 0, i16 1555, i16 1446, i16 2210, i16 1405, i16 350, i16 3028, i16 2892, i16 0, i16 0, i16 0, i16 0, i16 1826, i16 2907, i16 21, i16 558, i16 1600, i16 1932, i16 0, i16 0, i16 1779, i16 0, i16 0, i16 1295, i16 0, i16 0, i16 28, i16 1725, i16 0, i16 0, i16 0, i16 0, i16 1981, i16 0, i16 2384, i16 1942, i16 0, i16 0, i16 0, i16 0, i16 0, i16 795, i16 452, i16 0, i16 208, i16 0, i16 0, i16 3044, i16 0, i16 0, i16 0, i16 0, i16 166, i16 836, i16 340, i16 337, i16 0, i16 0, i16 1875, i16 0, i16 0, i16 1159, i16 32, i16 1879, i16 1304, i16 0, i16 414, i16 515, i16 1347, i16 365, i16 0, i16 1884, i16 1521, i16 970, i16 0, i16 0, i16 858, i16 3141, i16 0, i16 717, i16 1866, i16 0, i16 1280, i16 1791, i16 2234, i16 0, i16 1414, i16 2147, i16 0, i16 0, i16 1645, i16 0, i16 0, i16 0, i16 404, i16 0, i16 0, i16 984, i16 3122, i16 0, i16 0, i16 0, i16 145, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1803, i16 0, i16 0, i16 1651, i16 2447, i16 0, i16 0, i16 2291, i16 472, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1134, i16 838, i16 0, i16 470, i16 2650, i16 606, i16 1065, i16 0, i16 1130, i16 0, i16 0, i16 0, i16 0, i16 1374, i16 1694, i16 1572, i16 1648, i16 2386, i16 200, i16 694, i16 0, i16 2530, i16 0, i16 0, i16 1752, i16 159, i16 2351, i16 3097, i16 1410, i16 1125, i16 0, i16 0, i16 412, i16 0, i16 1556, i16 0, i16 0, i16 625, i16 0, i16 1649, i16 0, i16 2100, i16 2469, i16 0, i16 273, i16 3016, i16 0, i16 0, i16 0, i16 0, i16 0, i16 399, i16 276, i16 2646, i16 671, i16 1732, i16 1888, i16 1382, i16 57, i16 0, i16 0, i16 0, i16 0, i16 0, i16 999, i16 0, i16 0, i16 681, i16 190, i16 2424, i16 0, i16 1319, i16 1454, i16 0, i16 0, i16 539, i16 0, i16 761, i16 0, i16 2021, i16 0, i16 0, i16 2189, i16 54, i16 0, i16 0, i16 0, i16 0, i16 3073, i16 0, i16 3049, i16 1501, i16 3198, i16 0, i16 0, i16 0, i16 2802, i16 255, i16 1960, i16 0, i16 0, i16 0, i16 263, i16 0, i16 0, i16 0, i16 0, i16 3168, i16 3007, i16 784, i16 3164, i16 0, i16 0, i16 788, i16 2164, i16 1711, i16 1088, i16 1328, i16 3024, i16 0, i16 2497, i16 1825, i16 2888, i16 1003, i16 986, i16 1603, i16 0, i16 0, i16 1012, i16 2473, i16 329, i16 0, i16 0, i16 0, i16 189, i16 2254, i16 1348, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 283, i16 155, i16 0, i16 0, i16 2908, i16 1209, i16 346, i16 0, i16 2765, i16 0, i16 1957, i16 0, i16 0, i16 0, i16 828, i16 0, i16 0, i16 2807, i16 0, i16 1676, i16 0, i16 1091, i16 768, i16 0, i16 2818, i16 349, i16 1789, i16 2193, i16 0, i16 164, i16 0, i16 1171, i16 2810, i16 938, i16 1163, i16 719, i16 2554, i16 2822, i16 0, i16 1575, i16 1200, i16 0, i16 2598, i16 753, i16 2532, i16 972, i16 689, i16 0, i16 1284, i16 0, i16 0, i16 0, i16 0, i16 0, i16 64, i16 800, i16 0, i16 0, i16 0, i16 1307, i16 509, i16 106, i16 0, i16 3278, i16 819, i16 0, i16 3013, i16 1015, i16 26, i16 1631, i16 1202, i16 1117, i16 0, i16 2326, i16 0, i16 3046, i16 49, i16 0, i16 736, i16 0, i16 776, i16 1109, i16 0, i16 0, i16 3182, i16 0, i16 0, i16 0, i16 0, i16 0, i16 217, i16 510, i16 2212, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 341, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2689, i16 0, i16 0, i16 2117, i16 0, i16 0, i16 0, i16 2825, i16 1273, i16 2948, i16 0, i16 977, i16 268, i16 1266, i16 1283, i16 1369, i16 1795, i16 207, i16 1685, i16 3014, i16 497, i16 0, i16 437, i16 2505, i16 0, i16 2563, i16 0, i16 0, i16 732, i16 553, i16 1247, i16 2372, i16 0, i16 0, i16 1637, i16 3251, i16 3313, i16 1308, i16 0, i16 10, i16 2912, i16 1061, i16 131, i16 0, i16 0, i16 0, i16 2111, i16 0, i16 0, i16 0, i16 0, i16 0, i16 169, i16 0, i16 0, i16 0, i16 490, i16 642, i16 677, i16 0, i16 0, i16 180, i16 1565, i16 148, i16 569, i16 2201, i16 0, i16 315, i16 0, i16 0, i16 0, i16 1818, i16 1021, i16 0, i16 0, i16 0, i16 1244, i16 0, i16 76, i16 0, i16 3406, i16 0, i16 93, i16 0, i16 513, i16 960, i16 0, i16 859, i16 96, i16 1964, i16 0, i16 0, i16 386, i16 1629, i16 1510, i16 0, i16 2656, i16 269, i16 321, i16 0, i16 0, i16 0, i16 0, i16 3106, i16 2930, i16 1402, i16 80, i16 867, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2660, i16 368, i16 0, i16 2661, i16 2045, i16 0, i16 0, i16 0, i16 1581, i16 1544, i16 3381, i16 0, i16 2853, i16 891, i16 449, i16 2010, i16 3277, i16 0, i16 0, i16 2382, i16 2172, i16 2069, i16 2897, i16 0, i16 1773, i16 0, i16 0, i16 1291, i16 0, i16 645, i16 2135, i16 2034, i16 0, i16 0, i16 0, i16 2584, i16 772, i16 1898, i16 0, i16 0, i16 48, i16 1245, i16 1113, i16 747, i16 0, i16 0, i16 1973, i16 0, i16 0, i16 209, i16 2281, i16 1289, i16 2785, i16 0, i16 0, i16 2118, i16 176, i16 1248, i16 2037, i16 2043, i16 339, i16 3293, i16 2066, i16 86, i16 248, i16 857, i16 0, i16 0, i16 1433, i16 0, i16 0, i16 0, i16 1585, i16 2756, i16 2680, i16 1650, i16 1718, i16 0, i16 0, i16 0, i16 0, i16 0, i16 394, i16 1024, i16 1537, i16 0, i16 0, i16 3170, i16 2362, i16 40, i16 53, i16 1101, i16 0, i16 2933, i16 900, i16 1447, i16 0, i16 3179, i16 833, i16 1566, i16 1494, i16 2973, i16 0, i16 0, i16 2609, i16 0, i16 927, i16 2303, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 650, i16 0, i16 0, i16 1075, i16 235, i16 823, i16 565, i16 3079, i16 0, i16 785, i16 777, i16 186, i16 2969, i16 1860, i16 2232, i16 0, i16 873, i16 741, i16 3125, i16 3257, i16 2239, i16 0, i16 3121, i16 1242, i16 2791, i16 0, i16 0, i16 1435, i16 974, i16 1780, i16 961, i16 0, i16 0, i16 2874, i16 757, i16 0, i16 0, i16 0, i16 400, i16 1432, i16 2766, i16 3039, i16 1001, i16 1507, i16 2972, i16 0, i16 2514, i16 1512, i16 2046, i16 0, i16 0, i16 0, i16 1253, i16 0, i16 2098, i16 545, i16 2165, i16 531, i16 555, i16 0, i16 0, i16 3371, i16 0, i16 0, i16 0, i16 742, i16 0, i16 807, i16 1931, i16 0, i16 1076, i16 0, i16 2026, i16 3245, i16 0, i16 0, i16 117, i16 1467, i16 2104, i16 631, i16 0, i16 754, i16 156, i16 2258, i16 307, i16 0, i16 60, i16 0, i16 1260, i16 1371, i16 3328, i16 1870, i16 0, i16 0, i16 61, i16 1241, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 424, i16 2403, i16 2148, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1231, i16 2367, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1596, i16 3096, i16 2202, i16 363, i16 1609, i16 2710, i16 2582, i16 791, i16 2705, i16 0, i16 2543, i16 2319, i16 2558, i16 2597, i16 1, i16 2495, i16 2730, i16 0, i16 3374, i16 2485, i16 2487, i16 0, i16 581, i16 1476, i16 3359, i16 2499, i16 2719, i16 0, i16 1876, i16 3240, i16 0, i16 0, i16 2110, i16 0, i16 198, i16 1488, i16 2262, i16 140, i16 0, i16 0, i16 782, i16 3157, i16 27, i16 3136, i16 0, i16 1092, i16 0, i16 1302, i16 0, i16 1912, i16 1217, i16 0, i16 1642, i16 0, i16 2457, i16 0, i16 3400, i16 1530, i16 0, i16 0, i16 167, i16 524, i16 221, i16 0, i16 2119, i16 998, i16 461, i16 0, i16 1358, i16 1037, i16 3378, i16 3206, i16 841, i16 68, i16 1762, i16 0, i16 1756, i16 2665, i16 482, i16 1004, i16 0, i16 2501, i16 0, i16 3204, i16 918, i16 724, i16 322, i16 2401, i16 0, i16 0, i16 2412, i16 306, i16 733, i16 863, i16 0, i16 0, i16 2904, i16 0, i16 0, i16 1979, i16 0, i16 1985, i16 556, i16 3312, i16 2987, i16 3045, i16 643, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3128, i16 1729, i16 0, i16 2970, i16 161, i16 0, i16 0, i16 0, i16 0, i16 602, i16 0, i16 1682, i16 0, i16 2523, i16 0, i16 92, i16 0, i16 0, i16 583, i16 0, i16 0, i16 697, i16 1263, i16 253, i16 504, i16 0, i16 0, i16 0, i16 0, i16 1636, i16 56, i16 0, i16 0, i16 2617, i16 0, i16 0, i16 0, i16 0, i16 2960, i16 2884, i16 0, i16 1999, i16 438, i16 0, i16 0, i16 0, i16 0, i16 1116, i16 2929, i16 2605, i16 0, i16 2323, i16 774, i16 1032, i16 0, i16 2015, i16 2336, i16 0, i16 520, i16 0, i16 2016, i16 1634, i16 1182, i16 1362, i16 850, i16 2906, i16 596, i16 3274, i16 0, i16 199, i16 2242, i16 0, i16 1934, i16 0, i16 2635, i16 0, i16 1746, i16 2915, i16 0, i16 1375, i16 1118, i16 3004, i16 0, i16 477, i16 0, i16 0, i16 0, i16 0, i16 715, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3185, i16 0, i16 0, i16 0, i16 3248, i16 2541, i16 2340, i16 3258, i16 24, i16 2230, i16 1654, i16 0, i16 3421, i16 1923, i16 2565, i16 2280, i16 0, i16 3167, i16 3149, i16 895, i16 3306, i16 994, i16 2009, i16 1543, i16 2273, i16 0, i16 14, i16 814, i16 540, i16 2243, i16 1384, i16 969, i16 0, i16 2914, i16 1698, i16 0, i16 0, i16 995, i16 1119, i16 2474, i16 2855, i16 498, i16 0, i16 0, i16 2312, i16 3331, i16 2002, i16 2324, i16 0, i16 111, i16 1281, i16 410, i16 2158, i16 1404, i16 708, i16 2625, i16 0, i16 0, i16 0, i16 82, i16 1965, i16 486, i16 3228, i16 661, i16 0, i16 2961, i16 0, i16 197, i16 2842, i16 2060, i16 517, i16 1518, i16 0, i16 0, i16 1853, i16 2257, i16 3392, i16 2419, i16 251, i16 975, i16 0, i16 883, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1423, i16 0, i16 2521, i16 0, i16 2305, i16 0, i16 3380, i16 0, i16 0, i16 1054, i16 1108, i16 1842, i16 0, i16 943, i16 811, i16 2963, i16 0, i16 0, i16 0, i16 2455, i16 0, i16 1511, i16 0, i16 0, i16 1907, i16 3408, i16 2431, i16 516, i16 0, i16 238, i16 2124, i16 1483, i16 0, i16 825, i16 2271, i16 0, i16 1475, i16 1297, i16 0, i16 2001, i16 1346, i16 0, i16 0, i16 0, i16 0, i16 1387, i16 0, i16 0, i16 2629, i16 0, i16 614, i16 1274, i16 839, i16 3154, i16 1005, i16 0, i16 3189, i16 1136, i16 1000, i16 0, i16 2727, i16 2848, i16 3, i16 0, i16 112, i16 1234, i16 1459, i16 770, i16 0, i16 1828, i16 0, i16 2065, i16 0, i16 1106, i16 2444, i16 0, i16 830, i16 1457, i16 1764, i16 2604, i16 3057, i16 1098, i16 1223, i16 0, i16 362, i16 1460, i16 1840, i16 0, i16 1913, i16 580, i16 829, i16 958, i16 0, i16 3337, i16 0, i16 1833, i16 2778, i16 387, i16 2865, i16 310, i16 193, i16 3403, i16 0, i16 0, i16 0, i16 2614, i16 466, i16 0, i16 0, i16 2428, i16 1646, i16 0, i16 0, i16 0, i16 0, i16 1917, i16 0, i16 1908, i16 1859, i16 0, i16 1660, i16 804, i16 1592, i16 0, i16 3094, i16 3216, i16 2295, i16 33, i16 443, i16 3358, i16 0, i16 1394, i16 250, i16 213, i16 0, i16 1971, i16 3080, i16 1354, i16 3360, i16 0, i16 1265, i16 1584, i16 2053, i16 512, i16 0, i16 2928, i16 409, i16 2225, i16 779, i16 1186, i16 0, i16 0, i16 381, i16 0, i16 0, i16 2369, i16 0, i16 3368, i16 0, i16 0, i16 1479, i16 924, i16 0, i16 0, i16 599, i16 3139, i16 0, i16 1492, i16 2101, i16 0, i16 0, i16 0, i16 0, i16 0, i16 184, i16 0, i16 2197, i16 651, i16 0, i16 601, i16 0, i16 0, i16 29, i16 0, i16 1149, i16 3302, i16 1156, i16 3111, i16 1269, i16 1298, i16 0, i16 2073, i16 0, i16 615, i16 262, i16 0, i16 0, i16 1349, i16 118, i16 3159, i16 3178, i16 3316, i16 1252, i16 1277, i16 3301, i16 493, i16 3119, i16 2977, i16 842, i16 2399, i16 318, i16 2940, i16 2123, i16 0, i16 1620, i16 0, i16 2951, i16 0, i16 0, i16 0, i16 0, i16 2453, i16 0, i16 0, i16 1323, i16 288, i16 0, i16 0, i16 1615, i16 2715, i16 0, i16 0, i16 2691, i16 0, i16 0, i16 1388, i16 0, i16 280, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1250, i16 0, i16 392, i16 275, i16 0, i16 0, i16 0, i16 0, i16 1926, i16 3008, i16 0, i16 620, i16 0, i16 0, i16 0, i16 2971, i16 3401, i16 0, i16 0, i16 0, i16 1314, i16 608, i16 944, i16 0, i16 1534, i16 1131, i16 1430, i16 2835, i16 525, i16 1559, i16 3115, i16 0, i16 1672, i16 0, i16 3232, i16 0, i16 0, i16 382, i16 0, i16 3377, i16 352, i16 2301, i16 1207, i16 0, i16 1611, i16 0, i16 0, i16 260, i16 0, i16 94, i16 0, i16 2795, i16 1197, i16 0, i16 3402, i16 45, i16 0, i16 1816, i16 2185, i16 1216, i16 2678, i16 2866, i16 0, i16 2677, i16 0, i16 0, i16 687, i16 1342, i16 2420, i16 2163, i16 2142, i16 0, i16 876, i16 2989, i16 1172, i16 3393, i16 1550, i16 2506, i16 3017, i16 879, i16 0, i16 1169, i16 2729, i16 1817, i16 323, i16 0, i16 0, i16 1562, i16 1436, i16 0, i16 3397, i16 2616, i16 922, i16 44, i16 2966, i16 3135, i16 0, i16 0, i16 1713, i16 0, i16 491, i16 0, i16 0, i16 0, i16 2024, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2943, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3364, i16 3355, i16 2004, i16 2105, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3262, i16 0, i16 1082, i16 2663, i16 0, i16 0, i16 2379, i16 0, i16 0, i16 0, i16 2, i16 1330, i16 1747, i16 0, i16 731, i16 0, i16 2639, i16 0, i16 393, i16 18, i16 722, i16 0, i16 813, i16 223, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3353, i16 0, i16 1504, i16 0, i16 3099, i16 30, i16 1574, i16 2218, i16 566, i16 2621, i16 1989, i16 2917, i16 0, i16 3305, i16 0, i16 1398, i16 2651, i16 843, i16 2159, i16 317, i16 1335, i16 640, i16 865, i16 62, i16 2937, i16 1385, i16 919, i16 1034, i16 1233, i16 1850, i16 792, i16 1972, i16 987, i16 0, i16 2529, i16 1717, i16 364, i16 1095, i16 2696, i16 1142, i16 5, i16 1029, i16 0, i16 0, i16 1962, i16 1595, i16 0, i16 1145, i16 637, i16 1662, i16 0, i16 3386, i16 925, i16 2076, i16 2672, i16 0, i16 338, i16 0, i16 1198, i16 0, i16 1846, i16 0, i16 0, i16 366, i16 2622, i16 0, i16 739, i16 869, i16 799, i16 1480, i16 0, i16 0, i16 1721, i16 0, i16 1542, i16 160, i16 0, i16 1195, i16 1891, i16 2526, i16 3236, i16 502, i16 1697, i16 0, i16 1577, i16 514, i16 2373, i16 3289, i16 0, i16 478, i16 0, i16 0, i16 0, i16 2591, i16 2383, i16 660, i16 2297, i16 0, i16 234, i16 267, i16 124, i16 0, i16 2077, i16 534, i16 1838, i16 1568, i16 0, i16 0, i16 1619, i16 1873, i16 2033, i16 2484, i16 0, i16 2964, i16 2787, i16 1147, i16 0, i16 721, i16 0, i16 0, i16 0, i16 2815, i16 3086, i16 1622, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3336, i16 0, i16 3239, i16 1796, i16 0, i16 2976, i16 139, i16 1176, i16 0, i16 888, i16 2919, i16 3196, i16 1440, i16 2044, i16 574, i16 1754, i16 0, i16 586, i16 1760, i16 1087, i16 2331, i16 544, i16 0, i16 3279, i16 0, i16 0, i16 0, i16 1602, i16 2985, i16 1366, i16 91, i16 894, i16 523, i16 911, i16 2345, i16 2669, i16 3067, i16 3292, i16 2638, i16 806, i16 1341, i16 2986, i16 3363, i16 3227, i16 0, i16 659, i16 868, i16 0, i16 2794, i16 2296, i16 713, i16 1832, i16 0, i16 3217, i16 3304, i16 1811, i16 231, i16 2657, i16 0, i16 0, i16 3127, i16 852, i16 358, i16 0, i16 2318, i16 1570, i16 817, i16 3069, i16 3420, i16 447, i16 2520, i16 638, i16 2299, i16 0, i16 2693, i16 1043, i16 0, i16 1140, i16 1591, i16 1837, i16 236, i16 1355, i16 0, i16 2763, i16 0, i16 1022, i16 2422, i16 0, i16 2138, i16 0, i16 179, i16 0, i16 0, i16 1100, i16 0, i16 1326, i16 2574, i16 2211, i16 1702, i16 0, i16 1089, i16 0, i16 0, i16 377, i16 1687, i16 0, i16 793, i16 0, i16 667, i16 126, i16 934, i16 2300, i16 2079, i16 3370, i16 2233, i16 2862, i16 810, i16 0, i16 0, i16 3263, i16 756, i16 1809, i16 2714, i16 2518, i16 1422, i16 1665, i16 2722, i16 3194, i16 1296, i16 1412, i16 0, i16 138, i16 101, i16 2353, i16 0, i16 1179, i16 1225, i16 458, i16 3413, i16 1579, i16 2090, i16 1561, i16 0, i16 0, i16 0, i16 2809, i16 1497, i16 1389, i16 1019, i16 1329, i16 2421, i16 396, i16 2695, i16 6, i16 2095, i16 950, i16 489, i16 0, i16 1661, i16 0, i16 1808, i16 2171, i16 2511, i16 0, i16 1086, i16 1219, i16 2006, i16 25, i16 0, i16 0, i16 1201, i16 522, i16 0, i16 0, i16 618, i16 0, i16 0, i16 2235, i16 880, i16 0, i16 0, i16 334, i16 1305, i16 1705, i16 2204, i16 1858, i16 1013, i16 1306, i16 0, i16 1085, i16 1533, i16 87, i16 2067, i16 1502, i16 2290, i16 1799, i16 0, i16 3146, i16 1794, i16 3346, i16 2192, i16 0, i16 0, i16 653, i16 1429, i16 887, i16 314, i16 2041, i16 2436, i16 875, i16 1331, i16 1481, i16 0, i16 403, i16 0, i16 0, i16 1910, i16 0, i16 1155, i16 0, i16 2072, i16 3266, i16 1165, i16 1857, i16 1557, i16 1801, i16 2496, i16 3131, i16 2926, i16 2643, i16 1582, i16 0, i16 0, i16 0, i16 122, i16 686, i16 168, i16 0, i16 2398, i16 2749, i16 1553, i16 2413, i16 1541, i16 2440, i16 134, i16 1578, i16 247, i16 0, i16 1193, i16 1321, i16 2575, i16 570, i16 2894, i16 0, i16 0, i16 0, i16 2581, i16 2636, i16 2270, i16 12, i16 1424, i16 1188, i16 1383, i16 0, i16 485, i16 700, i16 3254, i16 149, i16 2922, i16 1627, i16 2545, i16 0, i16 1693, i16 0, i16 953, i16 0, i16 0, i16 0, i16 0, i16 600, i16 1138, i16 0, i16 2059, i16 1525, i16 0, i16 1657, i16 0, i16 1727, i16 2841, i16 532, i16 3176, i16 993, i16 1930, i16 192, i16 0, i16 1740, i16 0, i16 3192, i16 1927, i16 802, i16 2849, i16 1064, i16 2109, i16 0, i16 324, i16 144, i16 881, i16 2133, i16 0, i16 2610, i16 171, i16 1129, i16 1378, i16 0, i16 1835, i16 435, i16 760, i16 1324, i16 0, i16 1251, i16 3100, i16 0, i16 835, i16 0, i16 3310, i16 636, i16 594, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2333, i16 1632, i16 3379, i16 3018, i16 3285, i16 388, i16 2748, i16 0, i16 0, i16 0, i16 0, i16 1905, i16 3354, i16 0, i16 2014, i16 0, i16 0, i16 763, i16 0, i16 2011, i16 0, i16 3033, i16 3223, i16 1009, i16 0, i16 1287, i16 292, i16 413, i16 0, i16 0, i16 0, i16 0, i16 31, i16 2143, i16 2128, i16 1878, i16 956, i16 822, i16 2430, i16 311, i16 0, i16 0, i16 2313, i16 1256, i16 2956, i16 0, i16 224, i16 0, i16 2965, i16 109, i16 634, i16 1431, i16 2465, i16 0, i16 0, i16 0, i16 1775, i16 2462, i16 1090, i16 778, i16 3271, i16 1819, i16 0, i16 2645, i16 291, i16 0, i16 1904, i16 0, i16 182, i16 536, i16 0, i16 0, i16 1203, i16 827, i16 294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8, i16 2005, i16 15, i16 2031, i16 3269, i16 3297, i16 3319, i16 0, i16 3213, i16 3241, i16 3259, i16 0, i16 295, i16 133, i16 2811, i16 1707, i16 1915, i16 0, i16 154, i16 174, i16 3416, i16 2448, i16 1144, i16 0, i16 0, i16 0, i16 0, i16 890, i16 1865, i16 1368, i16 1496, i16 1868, i16 1050, i16 1823, i16 2389, i16 1264, i16 752, i16 2456, i16 0, i16 0, i16 356, i16 1336, i16 2116, i16 978, i16 1831, i16 0, i16 2068, i16 1215, i16 705, i16 1044, i16 0, i16 702, i16 0, i16 0, i16 129, i16 0, i16 0, i16 2364, i16 0, i16 0, i16 1312, i16 0, i16 0, i16 16, i16 0, i16 3244, i16 1133, i16 3078, i16 1139, i16 0, i16 2478, i16 0, i16 422, i16 2573, i16 2007, i16 1097, i16 812, i16 0, i16 0, i16 0, i16 665, i16 0, i16 0, i16 0, i16 0, i16 1736, i16 0, i16 2157, i16 549, i16 3165, i16 0, i16 0, i16 0, i16 1271, i16 0, i16 219, i16 0, i16 0, i16 0, i16 1783, i16 0, i16 0, i16 397, i16 3383, i16 0, i16 0, i16 0, i16 2279, i16 3375, i16 1052, i16 0, i16 0, i16 1712, i16 546, i16 1798, i16 3309, i16 0, i16 380, i16 0, i16 0, i16 3038, i16 0, i16 1621, i16 1122, i16 711, i16 3222, i16 2742, i16 0, i16 1701, i16 1053, i16 0, i16 3327, i16 1922, i16 0, i16 1800, i16 1731, i16 0, i16 2516, i16 655, i16 0, i16 2358, i16 2393, i16 2464, i16 2494, i16 2580, i16 2679, i16 2743, i16 2788, i16 2824, i16 2858, i16 2935, i16 2982, i16 3101, i16 3153, i16 3276, i16 2438, i16 2488, i16 2757, i16 2052, i16 2144, i16 2286, i16 2337, i16 2400, i16 2452, i16 2738, i16 2779, i16 2845, i16 2887, i16 3020, i16 3134, i16 3188, i16 3102, i16 1847, i16 2733, i16 2758, i16 1560, i16 1535, i16 824, i16 1822, i16 0, i16 0, i16 2816, i16 2380, i16 0, i16 1228, i16 0, i16 2366, i16 2378, i16 1968, i16 1599, i16 2042, i16 1318, i16 1338, i16 1569, i16 300, i16 0, i16 2873, i16 2320, i16 0, i16 2893, i16 1706, i16 0, i16 1916, i16 0, i16 3129, i16 590, i16 0, i16 0, i16 2836, i16 0, i16 37, i16 0, i16 0, i16 0, i16 551, i16 3155, i16 3177, i16 1951, i16 1056, i16 1855, i16 3247, i16 562, i16 3208, i16 3294, i16 862, i16 0, i16 3055, i16 1453, i16 1626, i16 296, i16 1871, i16 0, i16 1069, i16 0, i16 1767, i16 1776, i16 58, i16 2992, i16 611, i16 2607, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1941, i16 2347, i16 1813, i16 0, i16 2203, i16 1148, i16 0, i16 0, i16 1667, i16 0, i16 0, i16 162, i16 108, i16 0, i16 1211, i16 1063, i16 83, i16 2249, i16 0, i16 1288, i16 832, i16 0, i16 826, i16 88, i16 1434, i16 0, i16 0, i16 0, i16 2087, i16 2773, i16 1852, i16 1921, i16 2220, i16 0, i16 2627, i16 1333, i16 1120, i16 1902, i16 0, i16 1079, i16 1073, i16 305, i16 0, i16 3074, i16 2755, i16 2628, i16 2244, i16 547, i16 0, i16 527, i16 0, i16 428, i16 0, i16 0, i16 3130, i16 3158, i16 3180, i16 3200, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1601, i16 2058, i16 1332, i16 0, i16 0, i16 242, i16 0, i16 0, i16 0, i16 0, i16 3335, i16 374, i16 1877, i16 2903, i16 2726, i16 0, i16 2131, i16 325, i16 1807, i16 378, i16 1606, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 429, i16 172, i16 201, i16 0, i16 585, i16 0, i16 0, i16 2913, i16 351, i16 698, i16 2264, i16 2187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1104, i16 1114, i16 2003, i16 2029, i16 2056, i16 2083, i16 2103, i16 2120, i16 2145, i16 2173, i16 2195, i16 2228, i16 2256, i16 2277, i16 2302, i16 2328, i16 2346, i16 2363, i16 2388, i16 2408, i16 2429, i16 2454, i16 2472, i16 1406, i16 2507, i16 2533, i16 2553, i16 2578, i16 2601, i16 2623, i16 2640, i16 2667, i16 597, i16 0, i16 0, i16 1363, i16 0, i16 0, i16 0, i16 244, i16 474, i16 0, i16 0, i16 0, i16 229, i16 0, i16 481, i16 0, i16 0, i16 2531, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2275, i16 0, i16 0, i16 2357, i16 548, i16 0, i16 1670, i16 701, i16 2901, i16 3404, i16 0, i16 1067, i16 2008, i16 2577, i16 1844, i16 1659, i16 2564, i16 0, i16 2905, i16 3220, i16 442, i16 0, i16 1407, i16 0, i16 1416, i16 0, i16 1663, i16 1036, i16 0, i16 0, i16 2548, i16 3088, i16 0, i16 473, i16 0, i16 2486, i16 2659, i16 3143, i16 0, i16 1861, i16 1881, i16 0, i16 629, i16 840, i16 2519, i16 3068, i16 2012, i16 0, i16 0, i16 2149, i16 1739, i16 3303, i16 949, i16 577, i16 725, i16 658, i16 146, i16 67, i16 2916, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 945, i16 0, i16 0, i16 505, i16 469, i16 3166, i16 3209, i16 1883, i16 0, i16 0, i16 0, i16 1540, i16 0, i16 3332, i16 3072, i16 2593, i16 1610, i16 1257, i16 0, i16 0, i16 578, i16 0, i16 2394, i16 1766, i16 959, i16 1218, i16 0, i16 0, i16 0, i16 632, i16 0, i16 623, i16 1068, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 348, i16 1624, i16 1315, i16 0, i16 878, i16 3095, i16 116, i16 2426, i16 0, i16 737, i16 1466, i16 13, i16 212, i16 0, i16 3315, i16 831, i16 0, i16 2670, i16 1635, i16 1612, i16 0, i16 0, i16 0, i16 1357, i16 709, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1630, i16 2934, i16 488, i16 157, i16 1327, i16 2054, i16 2407, i16 450, i16 0, i16 981, i16 1135, i16 0, i16 1918, i16 1189, i16 729, i16 2427, i16 0, i16 0, i16 2739, i16 3291, i16 0, i16 675, i16 1834, i16 0, i16 1080, i16 589, i16 1415, i16 2537, i16 2406, i16 119, i16 1393, i16 2387, i16 2910, i16 1897, i16 0, i16 1310, i16 1690, i16 0, i16 2988, i16 0, i16 0, i16 0, i16 0, i16 3322, i16 1048, i16 1399, i16 0, i16 1023, i16 0, i16 1361, i16 1617, i16 375, i16 1699, i16 1778, i16 914, i16 1033, i16 0, i16 1334, i16 0, i16 1279, i16 0, i16 0, i16 1952, i16 210, i16 354, i16 0, i16 1738, i16 2881, i16 2283, i16 0, i16 2451, i16 861, i16 3006, i16 0, i16 2800, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1313, i16 1417, i16 2287, i16 1703, i16 2137, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 866, i16 622, i16 1316, i16 1408, i16 1820, i16 898, i16 1728, i16 2600, i16 1320, i16 2332, i16 2813, i16 2630, i16 0, i16 0, i16 427, i16 0, i16 69, i16 459, i16 3043, i16 445, i16 0, i16 1640, i16 706, i16 3050, i16 0, i16 1658, i16 0, i16 0, i16 0, i16 2288, i16 3051, i16 0, i16 1638, i16 402, i16 0, i16 2886, i16 1350, i16 74, i16 0, i16 0, i16 105, i16 266, i16 1214, i16 0, i16 0, i16 0, i16 723, i16 2198, i16 1895, i16 1356, i16 893, i16 535, i16 2248, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2209, i16 3391, i16 0, i16 1254, i16 72, i16 0, i16 2918, i16 3376, i16 2631, i16 1889, i16 2329, i16 2112, i16 2967, i16 0, i16 2831, i16 0, i16 433, i16 2626, i16 2664, i16 1403, i16 1604, i16 0, i16 656, i16 2227, i16 0, i16 0, i16 3181, i16 0, i16 0, i16 933, i16 1146, i16 750, i16 2439, i16 503, i16 1715, i16 885, i16 1784, i16 432, i16 2153, i16 2176, i16 2206, i16 2237, i16 2265, i16 2284, i16 2308, i16 2121, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3054, i16 3082, i16 3103, i16 3126, i16 3151, i16 3171, i16 3193, i16 36, i16 877, i16 0, i16 758, i16 0, i16 1301, i16 147, i16 1262, i16 1072, i16 1616, i16 0, i16 0, i16 0, i16 0, i16 1774, i16 2051, i16 1567, i16 0, i16 2435, i16 2483, i16 0, i16 905, i16 0, i16 2397, i16 256, i16 1851, i16 0, i16 303, i16 0, i16 0, i16 0, i16 0, i16 0, i16 882, i16 0, i16 0, i16 0, i16 1094, i16 1733, i16 1409, i16 0, i16 0, i16 464, i16 0, i16 1880, i16 707, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1243, i16 1963, i16 767, i16 0, i16 0, i16 0, i16 992, i16 0, i16 1571, i16 3334, i16 0, i16 1719, i16 3036, i16 0, i16 2676, i16 624, i16 728, i16 1261, i16 798, i16 1493, i16 0, i16 0, i16 2702, i16 1526, i16 746, i16 3183, i16 0, i16 1046, i16 0, i16 1462, i16 0, i16 2576, i16 1293, i16 3333, i16 0, i16 0, i16 0, i16 3324, i16 1549, i16 0, i16 0, i16 0, i16 2681, i16 1041, i16 2798, i16 1516, i16 1143, i16 1949, i16 1598, i16 390, i16 1236, i16 1448, i16 2829, i16 2432, i16 298, i16 304, i16 2980, i16 336, i16 0, i16 284, i16 0, i16 533, i16 0, i16 0, i16 0, i16 2741, i16 3407, i16 0, i16 2760, i16 1224, i16 100, i16 0, i16 151, i16 0, i16 2885, i16 0, i16 3272, i16 3398, i16 2167, i16 0, i16 0, i16 2175, i16 2184, i16 2196, i16 2191, i16 2205, i16 2307, i16 2222, i16 2322, i16 2214, i16 2343, i16 2229, i16 2348, i16 2236, i16 2490, i16 2508, i16 2534, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 376, i16 3202, i16 1158, i16 0, i16 0, i16 712, i16 1994, i16 906, i16 0, i16 0, i16 0, i16 751, i16 692, i16 1372, i16 936, i16 2146, i16 1829, i16 1474, i16 357, i16 1618, i16 930, i16 2381, i16 2392, i16 0, i16 0, i16 0, i16 46, i16 3256, i16 0, i16 0, i16 0, i16 0, i16 2425, i16 519, i16 0, i16 2466, i16 3340, i16 0, i16 0, i16 0, i16 0, i16 2559, i16 3233, i16 2995, i16 281, i16 0, i16 2685, i16 1680, i16 3175, i16 2402, i16 2752, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1770, i16 1105, i16 3059, i16 1340, i16 801, i16 0, i16 521, i16 0, i16 2170, i16 0, i16 0, i16 1154, i16 0, i16 0, i16 1583, i16 22, i16 2652, i16 3211, i16 0, i16 0, i16 0, i16 0, i16 361, i16 0, i16 928, i16 0, i16 0, i16 3089, i16 557, i16 815, i16 0, i16 0, i16 1325, i16 2950, i16 1110, i16 2310, i16 2113, i16 0, i16 2115, i16 2330, i16 635, i16 2418, i16 967, i16 0, i16 230, i16 666, i16 1709, i16 0, i16 0, i16 1456, i16 2370, i16 3060, i16 0, i16 0, i16 1392, i16 851, i16 342, i16 805, i16 1854, i16 0, i16 2433, i16 3281, i16 1787, i16 2535, i16 0, i16 576, i16 2700, i16 1987, i16 0, i16 0, i16 2549, i16 407, i16 2174, i16 2957, i16 0, i16 0, i16 0, i16 0, i16 1993, i16 1413, i16 175, i16 0, i16 912, i16 2161, i16 0, i16 976, i16 2039, i16 649, i16 0, i16 1239, i16 2979, i16 1111, i16 1849, i16 1078, i16 0, i16 662, i16 668, i16 964, i16 0, i16 3314, i16 595, i16 3120, i16 3152, i16 592, i16 2687, i16 0, i16 2804, i16 2828, i16 2847, i16 2796, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1465, i16 2612, i16 2633, i16 2655, i16 2675, i16 2699, i16 2724, i16 2747, i16 2774, i16 2799, i16 2821, i16 2840, i16 2864, i16 2882, i16 2899, i16 2925, i16 641, i16 781, i16 0, i16 1996, i16 1613, i16 856, i16 1929, i16 1924, i16 0, i16 1781, i16 240, i16 1192, i16 35, i16 787, i16 3197, i16 1593, i16 3081, i16 2927, i16 0, i16 2686, i16 0, i16 1235, i16 0, i16 104, i16 1505, i16 0, i16 0, i16 0, i16 579, i16 3412, i16 2998, i16 1990, i16 2945, i16 2975, i16 2994, i16 3015, i16 3035, i16 0, i16 0, i16 0, i16 1742, i16 3070, i16 3093, i16 3116, i16 3137, i16 3162, i16 3186, i16 3203, i16 3226, i16 3250, i16 3270, i16 3298, i16 3320, i16 3345, i16 3366, i16 3390, i16 3411, i16 1976, i16 1998, i16 2025, i16 2049, i16 2075, i16 0, i16 0, i16 142, i16 0, i16 1213, i16 0, i16 560, i16 1166, i16 3001, i16 290, i16 0, i16 1536, i16 0, i16 633, i16 1309, i16 0, i16 1856, i16 1026, i16 0, i16 0, i16 591, i16 0, i16 0, i16 773, i16 0, i16 571, i16 2590, i16 110, i16 0, i16 0, i16 0, i16 0, i16 41, i16 621, i16 3218, i16 312, i16 3150, i16 431, i16 1894, i16 0, i16 963, i16 1790, i16 2952, i16 1558, i16 3199, i16 3142, i16 0, i16 2889, i16 0, i16 2761, i16 0, i16 0, i16 0, i16 0, i16 892, i16 0, i16 0, i16 0, i16 2869, i16 2877, i16 955, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1688, i16 313, i16 1710, i16 0, i16 1647, i16 0, i16 0, i16 0, i16 0, i16 0, i16 150, i16 383, i16 0, i16 0, i16 957, i16 1268, i16 0, i16 0, i16 1199, i16 3255, i16 2586, i16 1183, i16 0, i16 0, i16 0, i16 405, i16 2764, i16 818, i16 543, i16 293, i16 1017, i16 4, i16 3225, i16 0, i16 1984, i16 0, i16 0, i16 0, i16 3091, i16 2000, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 639, i16 0, i16 1428, i16 0, i16 444, i16 0, i16 718, i16 2251, i16 0, i16 0, i16 2306, i16 2181, i16 0, i16 2458, i16 0, i16 3083, i16 99, i16 0, i16 0, i16 479, i16 2260, i16 3064, i16 0, i16 3343, i16 0, i16 103, i16 1210, i16 727, i16 1469, i16 3339, i16 582, i16 0, i16 1956, i16 0, i16 0, i16 2223, i16 63, i16 203, i16 1208, i16 2141, i16 1238, i16 344, i16 2415, i16 796, i16 3323, i16 1692, i16 3117, i16 0, i16 0, i16 1653, i16 1175, i16 2446, i16 448, i16 327, i16 1928, i16 2706, i16 2713, i16 2826, i16 421, i16 2832, i16 0, i16 0, i16 113, i16 0, i16 2108, i16 1607, i16 2217, i16 1839, i16 2023, i16 679, i16 1275, i16 766, i16 252, i16 2789, i16 1391, i16 2872, i16 274, i16 1438, i16 0, i16 0, i16 1396, i16 1625, i16 0, i16 0, i16 0, i16 0, i16 561, i16 616, i16 790, i16 1691, i16 0, i16 1628, i16 1443, i16 3221, i16 0, i16 1700, i16 0, i16 1495, i16 1353, i16 2437, i16 59, i16 0, i16 2539, i16 1940, i16 0, i16 0, i16 0, i16 254, i16 0, i16 1439, i16 988, i16 369, i16 102, i16 195, i16 682, i16 0, i16 0, i16 1765, i16 0, i16 1704, i16 0, i16 704, i16 0, i16 554, i16 1222, i16 2784, i16 0, i16 0, i16 0, i16 559, i16 0, i16 0, i16 0, i16 302, i16 0, i16 0, i16 0, i16 0, i16 3284, i16 3234, i16 0, i16 2463, i16 3071, i16 1802, i16 1232, i16 0, i16 264, i16 0, i16 2868, i16 908, i16 0, i16 0, i16 0, i16 178, i16 0, i16 228, i16 0, i16 871, i16 0, i16 0, i16 0, i16 257, i16 0, i16 673, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 952, i16 416, i16 0, i16 419, i16 1936, i16 1503, i16 0, i16 319, i16 0, i16 0, i16 3342, i16 0, i16 0, i16 3174, i16 735, i16 39, i16 0, i16 1062, i16 573, i16 1594, i16 1168, i16 0, i16 962, i16 1441, i16 1173, i16 3084, i16 864, i16 0, i16 1970, i16 227, i16 3114, i16 0, i16 0, i16 1753, i16 1761, i16 1194, i16 0, i16 0, i16 0, i16 2094, i16 2122, i16 2154, i16 2177, i16 2207, i16 2238, i16 2266, i16 2285, i16 2309, i16 2335, i16 2355, i16 2376, i16 2396, i16 2417, i16 2442, i16 2468, i16 1292, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1451, i16 2589, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1401, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2475, i16 1869, i16 0, i16 0, i16 1317, i16 1059, i16 2777, i16 2728, i16 0, i16 0, i16 0, i16 0, i16 417, i16 1081, i16 1911, i16 0, i16 0, i16 0, i16 0, i16 3307, i16 1038, i16 0, i16 0, i16 0, i16 0, i16 2099, i16 575, i16 0, i16 0, i16 0, i16 2896, i16 2637, i16 3243, i16 0, i16 1141, i16 123, i16 1498, i16 1988, i16 2513, i16 0, i16 55, i16 2772, i16 2356, i16 1373, i16 1605, i16 0, i16 287, i16 3052, i16 0, i16 355, i16 765, i16 0, i16 0, i16 2781, i16 0, i16 2797, i16 1573, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 941, i16 1909, i16 2552, i16 0, i16 0, i16 0, i16 2276, i16 0, i16 38, i16 0, i16 1874, i16 50, i16 0, i16 0, i16 1380, i16 684, i16 0, i16 0, i16 411, i16 755, i16 1983, i16 2613, i16 0, i16 0, i16 0, i16 1478, i16 137, i16 0, i16 2544, i16 0, i16 2219, i16 332, i16 1455, i16 3350, i16 2325, i16 1294, i16 1946, i16 1028, i16 2062, i16 1445, i16 0, i16 0, i16 0, i16 797, i16 0, i16 1395, i16 0, i16 441, i16 499, i16 2823, i16 1890, i16 495, i16 1490, i16 3148, i16 1071, i16 1716, i16 3295, i16 0, i16 0, i16 937, i16 1797, i16 1246, i16 3205, i16 0, i16 946, i16 0, i16 2731, i16 0, i16 285, i16 0, i16 0, i16 0, i16 2459, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 384, i16 204, i16 2735, i16 716, i16 0, i16 0, i16 0, i16 153, i16 3347, i16 0, i16 0, i16 0, i16 2489, i16 2482, i16 1419, i16 2703, i16 2226, i16 1471, i16 0, i16 1418, i16 951, i16 0, i16 0, i16 0, i16 0, i16 232, i16 0, i16 0, i16 3326, i16 0, i16 0, i16 1470, i16 0, i16 0, i16 494, i16 0, i16 107, i16 2409, i16 1769, i16 1058, i16 3261, i16 0, i16 3147, i16 1285, i16 0, i16 1351, i16 3362, i16 0, i16 1204, i16 695, i16 0, i16 360, i16 1539, i16 2634, i16 0, i16 0, i16 2250, i16 0, i16 95, i16 3034, i16 1815, i16 0, i16 2993, i16 52, i16 1722, i16 0, i16 0, i16 0, i16 1276, i16 3172, i16 2199, i16 808, i16 786, i16 2361, i16 0, i16 1458, i16 2215, i16 0, i16 483, i16 3230, i16 1206, i16 2183, i16 2213, i16 2245, i16 2268, i16 2289, i16 2315, i16 2339, i16 2354, i16 2375, i16 2395, i16 2416, i16 2441, i16 2467, i16 2477, i16 2753, i16 2517, i16 2547, i16 2566, i16 2587, i16 2611, i16 2632, i16 2654, i16 2674, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 439, i16 2127, i16 2746, i16 3195, i16 2974, i16 0, i16 9, i16 1157, i16 1986, i16 1055, i16 1178, i16 0, i16 436, i16 0, i16 3388, i16 3048, i16 654, i16 0, i16 3058, i16 0, i16 1545, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2515, i16 0, i16 1221, i16 1099, i16 187, i16 2092, i16 1463, i16 2647, i16 2803, i16 0, i16 0, i16 0, i16 0, i16 1031, i16 2658, i16 0, i16 1836, i16 0, i16 0, i16 47, i16 2879, i16 3019, i16 2166, i16 0, i16 0, i16 1843, i16 0, i16 0, i16 398, i16 0, i16 1848, i16 874, i16 297, i16 0, i16 0, i16 0, i16 1686, i16 613, i16 3002, i16 2931, i16 2867, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2754, i16 2503, i16 2391, i16 3065, i16 3110, i16 3138, i16 3163, i16 3190, i16 3229, i16 3288, i16 3338, i16 3357, i16 2036, i16 2070, i16 2097, i16 2129, i16 2156, i16 2186, i16 2247, i16 2274, i16 2298, i16 2344, i16 2365, i16 2019, i16 2801, i16 2684, i16 2405, i16 3341, i16 3027, i16 3348, i16 3422, i16 2091, i16 1485, i16 0, i16 3010, i16 902, i16 0, i16 0, i16 1948, i16 0, i16 0, i16 0, i16 309, i16 0, i16 3418, i16 484, i16 0, i16 0, i16 2567, i16 1944, i16 0, i16 1724, i16 0, i16 1777, i16 492, i16 81, i16 688, i16 1714, i16 1499, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2770, i16 3075, i16 1804, i16 0, i16 1227, i16 1751, i16 2936, i16 0, i16 0, i16 0, i16 121, i16 0, i16 1180, i16 1364, i16 1322, i16 3112, i16 588, i16 347, i16 1982, i16 2162, i16 2938, i16 2304, i16 3215, i16 2528, i16 0, i16 0, i16 0, i16 2814, i16 1442, i16 71, i16 0, i16 593, i16 2775, i16 2240, i16 1741, i16 0, i16 0, i16 0, i16 2692, i16 1966, i16 0, i16 379, i16 1102, i16 3000, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1745, i16 0, i16 0, i16 0, i16 3161, i16 1057, i16 2683, i16 222, i16 2338, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1749, i16 2524, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2334, i16 2349, i16 2368, i16 2390, i16 2411, i16 2434, i16 2461, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3214, i16 3242, i16 3260, i16 3283, i16 3308, i16 3330, i16 3352, i16 0, i16 0, i16 0, i16 0, i16 0, i16 989, i16 982, i16 0, i16 0, i16 0, i16 0, i16 1938, i16 0, i16 0, i16 1681, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 991, i16 0, i16 730, i16 2911, i16 0, i16 0, i16 0, i16 1899, i16 2028, i16 185, i16 2512, i16 2569, i16 2673, i16 2267, i16 2806, i16 2941, i16 2540, i16 2923, i16 2086, i16 0, i16 1892, i16 0, i16 903, i16 2920, i16 2592, i16 2751, i16 1093, i16 1708, i16 0, i16 3005, i16 19, i16 3356, i16 2527, i16 216, i16 2619, i16 2188, i16 2557, i16 627, i16 748, i16 135, i16 1344, i16 0, i16 872, i16 1018, i16 2790, i16 2776, i16 0, i16 669, i16 2721, i16 73, i16 2139, i16 1278, i16 188, i16 0, i16 2662, i16 0, i16 0, i16 0, i16 0, i16 550, i16 1484, i16 1083, i16 1303, i16 3238, i16 2783, i16 2805, i16 2688, i16 2891, i16 2839, i16 2863, i16 2572, i16 2624, i16 2641, i16 2588, i16 2709, i16 2944, i16 2718, i16 2740, i16 2768, i16 2820, i16 2871, i16 2579, i16 2698, i16 215, i16 2959, i16 844, i16 2151, i16 2984, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2272, i16 0, i16 2155, i16 2445, i16 371, i16 1070, i16 2953, i16 1633, i16 389, i16 1272, i16 691, i16 1365, i16 1759, i16 2857, i16 1045, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2902, i16 2263, i16 170, i16 855, i16 3113, i16 685, i16 1379, i16 1226, i16 2082, i16 1311, i16 1643, i16 0, i16 3040, i16 1768, i16 1995, i16 1623, i16 2088, i16 3022, i16 1425, i16 1170, i16 2282, i16 0, i16 0, i16 923, i16 1515, i16 1300, i16 3090, i16 2476, i16 1914, i16 289, i16 587, i16 1937, i16 2546, i16 2536, i16 1449, i16 2962, i16 3207, i16 0, i16 1519, i16 1259, i16 968, i16 1590, i16 2371, i16 3066, i16 1249, i16 173, i16 759, i16 1945, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 526, i16 2096, i16 0, i16 0, i16 0, i16 0, i16 3367, i16 0, i16 541, i16 2231, i16 954, i16 0, i16 0, i16 237, i16 0, i16 0, i16 430, i16 0, i16 0, i16 0, i16 2081, i16 726, i16 2020, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 939, i16 23, i16 0, i16 3109, i16 0, i16 0, i16 0, i16 0, i16 3252, i16 2599, i16 0, i16 965, i16 2221, i16 420, i16 1386, i16 0, i16 1734, i16 0, i16 1824, i16 0, i16 0, i16 0, i16 1969, i16 2259, i16 1509, i16 0, i16 1580, i16 1887, i16 2712, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 194, i16 0, i16 2134, i16 2568, i16 2649, i16 226, i16 663, i16 2048, i16 1862, i16 2460, i16 1400, i16 1299, i16 3369, i16 0, i16 0, i16 1867, i16 465, i16 2620, i16 916, i16 771, i16 940, i16 233, i16 0, i16 3132, i16 2132, i16 720, i16 1020, i16 2050, i16 0, i16 2316, i16 1723, i16 3351, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2246, i16 2032, i16 0, i16 326, i16 3387, i16 714, i16 475, i16 0, i16 1673, i16 0, i16 0, i16 1743, i16 0, i16 3145, i16 0, i16 0, i16 1258, i16 1240, i16 1830, i16 0, i16 70, i16 0, i16 163, i16 0, i16 2817, i16 1230, i16 2481, i16 2253, i16 2880, i16 2551, i16 2701, i16 115, i16 2851, i16 2292, i16 434, i16 0, i16 0, i16 1420, i16 1152, i16 2150, i16 3201, i16 2498, i16 3224, i16 77, i16 0, i16 0, i16 0, i16 690, i16 2538, i16 1903, i16 1901, i16 2812, i16 3396, i16 1959, i16 3023, i16 0, i16 0, i16 0, i16 0, i16 1671, i16 258, i16 1060, i16 0, i16 1587, i16 191, i16 775, i16 935, i16 0, i16 0, i16 743, i16 2615, i16 1010, i16 0, i16 0, i16 0, i16 181, i16 3300, i16 372, i16 0, i16 1689, i16 749, i16 1695, i16 0, i16 2542, i16 2359, i16 418, i16 1730, i16 2771, i16 1735, i16 2470, i16 453, i16 2352, i16 2608, i16 143, i16 1337, i16 2160, i16 1339, i16 1352, i16 78, i16 3124, i16 983, i16 249, i16 0, i16 0, i16 3087, i16 1757, i16 2997, i16 2038, i16 1472, i16 2837, i16 619, i16 3414, i16 3053, i16 79, i16 2061, i16 1885, i16 1132, i16 2055, i16 3118, i16 604, i16 0, i16 0, i16 0, i16 1608, i16 744, i16 0, i16 2560, i16 0, i16 980, i16 1785, i16 301, i16 1489, i16 0, i16 853, i16 2293, i16 1792, i16 0, i16 0, i16 98, i16 1805, i16 456, i16 997, i16 0, i16 849, i16 1011, i16 821, i16 518, i16 0, i16 0, i16 605, i16 630, i16 0, i16 0, i16 0, i16 0, i16 1185, i16 0, i16 0, i16 0, i16 7, i16 0, i16 0, i16 0, i16 609, i16 2570, i16 2946, i16 345, i16 2856, i16 0, i16 415, i16 0, i16 0, i16 0, i16 0, i16 1360, i16 0, i16 2035, i16 1771, i16 2525, i16 0, i16 0, i16 0, i16 0, i16 846, i16 1720, i16 3361, i16 648, i16 132, i16 2252, i16 2080, i16 506, i16 0, i16 0, i16 0, i16 860, i16 214, i16 1522, i16 2819, i16 2671, i16 1051, i16 1551, i16 3107, i16 0, i16 0, i16 0, i16 1806, i16 1286, i16 2745, i16 1782, i16 870, i16 2022, i16 1935, i16 0, i16 1669, i16 809, i16 130, i16 0, i16 299, i16 0, i16 0, i16 2707, i16 2410, i16 0, i16 2602, i16 762, i16 3290, i16 3265, i16 2717, i16 85, i16 1597, i16 2341, i16 1763, i16 612, i16 2140, i16 2694, i16 664, i16 3299, i16 1042, i16 0, i16 1486, i16 1786, i16 2047, i16 2827, i16 1464, i16 3012, i16 2190, i16 0, i16 0, i16 196, i16 2942, i16 0, i16 837, i16 1586, i16 0, i16 1461, i16 710, i16 3077, i16 0, i16 996, i16 0, i16 0, i16 1237, i16 917, i16 457, i16 2194, i16 2954, i16 1220, i16 2780, i16 1444, i16 0, i16 0, i16 676, i16 1788, i16 0, i16 0, i16 971, i16 0, i16 652, i16 0, i16 0, i16 0, i16 0, i16 678, i16 2261, i16 0, i16 0, i16 674, i16 816, i16 2843, i16 286, i16 2900, i16 0, i16 2861, i16 563, i16 567, i16 2255, i16 2850, i16 1872, i16 2321, i16 1947, i16 0, i16 0, i16 854, i16 282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 14592, i16 0, i16 0, i16 0, i16 15360, i16 0, i16 0, i16 0, i16 13825, i16 0, i16 0, i16 0, i16 14338, i16 0, i16 0, i16 0, i16 14595, i16 0, i16 0, i16 0, i16 15620, i16 0, i16 0, i16 0, i16 13317, i16 0, i16 0, i16 0, i16 774, i16 0, i16 0, i16 0, i16 12806, i16 0, i16 0, i16 0, i16 15110, i16 0, i16 0, i16 0, i16 16903, i16 0, i16 0, i16 0, i16 13320, i16 0, i16 0, i16 0, i16 16136, i16 0, i16 0, i16 0, i16 15625, i16 0, i16 0, i16 0, i16 778, i16 0, i16 0, i16 0, i16 13578, i16 0, i16 0, i16 0, i16 14859, i16 0, i16 0, i16 0, i16 12556, i16 0, i16 0, i16 0, i16 14092, i16 0, i16 0, i16 0, i16 16652, i16 0, i16 0, i16 0, i16 12302, i16 0, i16 0, i16 0, i16 15118, i16 0, i16 0, i16 0, i16 17166, i16 0, i16 0, i16 0, i16 12559, i16 0, i16 0, i16 0, i16 12815, i16 0, i16 0, i16 0, i16 12304, i16 0, i16 0, i16 0, i16 14353, i16 0, i16 0, i16 0, i16 16913, i16 0, i16 0, i16 0, i16 14354, i16 0, i16 0, i16 0, i16 14355, i16 0, i16 0, i16 0, i16 16659, i16 0, i16 0, i16 0, i16 13844, i16 0, i16 0, i16 0, i16 13590, i16 0, i16 0, i16 0, i16 13591, i16 0, i16 0, i16 0, i16 15639, i16 0, i16 0, i16 0, i16 280, i16 0, i16 0, i16 0, i16 13336, i16 0, i16 0, i16 0, i16 14616, i16 0, i16 0, i16 0, i16 14105, i16 0, i16 0, i16 0, i16 13594, i16 0, i16 0, i16 0, i16 12571, i16 0, i16 0, i16 0, i16 13340, i16 0, i16 0, i16 0, i16 14620, i16 0, i16 0, i16 0, i16 14365, i16 0, i16 0, i16 0, i16 13854, i16 0, i16 0, i16 0, i16 16926, i16 0, i16 0, i16 0, i16 12831, i16 0, i16 0, i16 0, i16 14623, i16 0, i16 0, i16 0, i16 16415, i16 0, i16 0, i16 0, i16 16671, i16 0, i16 0, i16 0, i16 12576, i16 0, i16 0, i16 0, i16 15648, i16 0, i16 0, i16 0, i16 16928, i16 0, i16 0, i16 0, i16 12833, i16 0, i16 0, i16 0, i16 12322, i16 0, i16 0, i16 0, i16 13346, i16 0, i16 0, i16 0, i16 14370, i16 0, i16 0, i16 0, i16 16418, i16 0, i16 0, i16 0, i16 15907, i16 0, i16 0, i16 0, i16 14631, i16 0, i16 0, i16 0, i16 14632, i16 0, i16 0, i16 0, i16 15400, i16 0, i16 0, i16 0, i16 15656, i16 0, i16 0, i16 0, i16 13353, i16 0, i16 0, i16 0, i16 13609, i16 0, i16 0, i16 0, i16 15145, i16 0, i16 0, i16 0, i16 12330, i16 0, i16 0, i16 0, i16 12587, i16 0, i16 0, i16 0, i16 14891, i16 0, i16 0, i16 0, i16 15147, i16 0, i16 0, i16 0, i16 12588, i16 0, i16 0, i16 0, i16 13868, i16 0, i16 0, i16 0, i16 14381, i16 0, i16 0, i16 0, i16 15149, i16 0, i16 0, i16 0, i16 12334, i16 0, i16 0, i16 0, i16 16430, i16 0, i16 0, i16 0, i16 13359, i16 0, i16 0, i16 0, i16 14383, i16 0, i16 0, i16 0, i16 13616, i16 0, i16 0, i16 0, i16 15664, i16 0, i16 0, i16 0, i16 16432, i16 0, i16 0, i16 0, i16 12593, i16 0, i16 0, i16 0, i16 16945, i16 0, i16 0, i16 0, i16 15666, i16 0, i16 0, i16 0, i16 16690, i16 0, i16 0, i16 0, i16 15923, i16 0, i16 0, i16 0, i16 12340, i16 0, i16 0, i16 0, i16 14388, i16 0, i16 0, i16 0, i16 15924, i16 0, i16 0, i16 0, i16 12853, i16 0, i16 0, i16 0, i16 13112, i16 0, i16 0, i16 0, i16 15928, i16 0, i16 0, i16 0, i16 15929, i16 0, i16 0, i16 0, i16 16185, i16 0, i16 0, i16 0, i16 13626, i16 0, i16 0, i16 0, i16 13882, i16 0, i16 0, i16 0, i16 15930, i16 0, i16 0, i16 0, i16 12347, i16 0, i16 0, i16 0, i16 12603, i16 0, i16 0, i16 0, i16 13627, i16 0, i16 0, i16 0, i16 15675, i16 0, i16 0, i16 0, i16 12860, i16 0, i16 0, i16 0, i16 14396, i16 0, i16 0, i16 0, i16 16444, i16 0, i16 0, i16 0, i16 12351, i16 0, i16 0, i16 0, i16 13631, i16 0, i16 0, i16 0, i16 16703, i16 0, i16 0, i16 0, i16 12353, i16 0, i16 0, i16 0, i16 12865, i16 0, i16 0, i16 0, i16 13377, i16 0, i16 0, i16 0, i16 14145, i16 0, i16 0, i16 0, i16 15425, i16 0, i16 0, i16 0, i16 12866, i16 0, i16 0, i16 0, i16 13634, i16 0, i16 0, i16 0, i16 16962, i16 0, i16 0, i16 0, i16 13380, i16 0, i16 0, i16 0, i16 14916, i16 0, i16 0, i16 0, i16 13125, i16 0, i16 0, i16 0, i16 13893, i16 0, i16 0, i16 0, i16 15429, i16 0, i16 0, i16 0, i16 16709, i16 0, i16 0, i16 0, i16 13638, i16 0, i16 0, i16 0, i16 15430, i16 0, i16 0, i16 0, i16 15686, i16 0, i16 0, i16 0, i16 16966, i16 0, i16 0, i16 0, i16 13383, i16 0, i16 0, i16 0, i16 16455, i16 0, i16 0, i16 0, i16 16456, i16 0, i16 0, i16 0, i16 16712, i16 0, i16 0, i16 0, i16 12361, i16 0, i16 0, i16 0, i16 12617, i16 0, i16 0, i16 0, i16 15177, i16 0, i16 0, i16 0, i16 12874, i16 0, i16 0, i16 0, i16 16970, i16 0, i16 0, i16 0, i16 12875, i16 0, i16 0, i16 0, i16 14412, i16 0, i16 0, i16 0, i16 15948, i16 0, i16 0, i16 0, i16 12621, i16 0, i16 0, i16 0, i16 13646, i16 0, i16 0, i16 0, i16 14414, i16 0, i16 0, i16 0, i16 12623, i16 0, i16 0, i16 0, i16 14159, i16 0, i16 0, i16 0, i16 13136, i16 0, i16 0, i16 0, i16 16464, i16 0, i16 0, i16 0, i16 16976, i16 0, i16 0, i16 0, i16 12882, i16 0, i16 0, i16 0, i16 15698, i16 0, i16 0, i16 0, i16 14419, i16 0, i16 0, i16 0, i16 12373, i16 0, i16 0, i16 0, i16 15957, i16 0, i16 0, i16 0, i16 16981, i16 0, i16 0, i16 0, i16 13398, i16 0, i16 0, i16 0, i16 14934, i16 0, i16 0, i16 0, i16 13400, i16 0, i16 0, i16 0, i16 13145, i16 0, i16 0, i16 0, i16 13402, i16 0, i16 0, i16 0, i16 14682, i16 0, i16 0, i16 0, i16 16730, i16 0, i16 0, i16 0, i16 16986, i16 0, i16 0, i16 0, i16 14939, i16 0, i16 0, i16 0, i16 13148, i16 0, i16 0, i16 0, i16 15708, i16 0, i16 0, i16 0, i16 16476, i16 0, i16 0, i16 0, i16 13149, i16 0, i16 0, i16 0, i16 14173, i16 0, i16 0, i16 0, i16 15453, i16 0, i16 0, i16 0, i16 15709, i16 0, i16 0, i16 0, i16 16733, i16 0, i16 0, i16 0, i16 14174, i16 0, i16 0, i16 0, i16 15710, i16 0, i16 0, i16 0, i16 12383, i16 0, i16 0, i16 0, i16 16735, i16 0, i16 0, i16 0, i16 15712, i16 0, i16 0, i16 0, i16 12641, i16 0, i16 0, i16 0, i16 13409, i16 0, i16 0, i16 0, i16 16226, i16 0, i16 0, i16 0, i16 13923, i16 0, i16 0, i16 0, i16 14179, i16 0, i16 0, i16 0, i16 16483, i16 0, i16 0, i16 0, i16 15716, i16 0, i16 0, i16 0, i16 13414, i16 0, i16 0, i16 0, i16 615, i16 0, i16 0, i16 0, i16 871, i16 0, i16 0, i16 0, i16 12906, i16 0, i16 0, i16 0, i16 14186, i16 0, i16 0, i16 0, i16 14442, i16 0, i16 0, i16 0, i16 14698, i16 0, i16 0, i16 0, i16 16490, i16 0, i16 0, i16 0, i16 12651, i16 0, i16 0, i16 0, i16 13675, i16 0, i16 0, i16 0, i16 13164, i16 0, i16 0, i16 0, i16 13420, i16 0, i16 0, i16 0, i16 15980, i16 0, i16 0, i16 0, i16 13935, i16 0, i16 0, i16 0, i16 13680, i16 0, i16 0, i16 0, i16 16752, i16 0, i16 0, i16 0, i16 13938, i16 0, i16 0, i16 0, i16 15475, i16 0, i16 0, i16 0, i16 15731, i16 0, i16 0, i16 0, i16 12660, i16 0, i16 0, i16 0, i16 15732, i16 0, i16 0, i16 0, i16 14453, i16 0, i16 0, i16 0, i16 14709, i16 0, i16 0, i16 0, i16 15221, i16 0, i16 0, i16 0, i16 12406, i16 0, i16 0, i16 0, i16 13174, i16 0, i16 0, i16 0, i16 12919, i16 0, i16 0, i16 0, i16 16759, i16 0, i16 0, i16 0, i16 15480, i16 0, i16 0, i16 0, i16 14201, i16 0, i16 0, i16 0, i16 15737, i16 0, i16 0, i16 0, i16 15993, i16 0, i16 0, i16 0, i16 16250, i16 0, i16 0, i16 0, i16 12411, i16 0, i16 0, i16 0, i16 636, i16 0, i16 0, i16 0, i16 13180, i16 0, i16 0, i16 0, i16 14460, i16 0, i16 0, i16 0, i16 14716, i16 0, i16 0, i16 0, i16 14972, i16 0, i16 0, i16 0, i16 15228, i16 0, i16 0, i16 0, i16 12669, i16 0, i16 0, i16 0, i16 14205, i16 0, i16 0, i16 0, i16 16765, i16 0, i16 0, i16 0, i16 12926, i16 0, i16 0, i16 0, i16 15486, i16 0, i16 0, i16 0, i16 15742, i16 0, i16 0, i16 0, i16 14207, i16 0, i16 0, i16 0, i16 16767, i16 0, i16 0, i16 0, i16 13185, i16 0, i16 0, i16 0, i16 12931, i16 0, i16 0, i16 0, i16 13187, i16 0, i16 0, i16 0, i16 13699, i16 0, i16 0, i16 0, i16 14467, i16 0, i16 0, i16 0, i16 12421, i16 0, i16 0, i16 0, i16 13701, i16 0, i16 0, i16 0, i16 14725, i16 0, i16 0, i16 0, i16 14981, i16 0, i16 0, i16 0, i16 16261, i16 0, i16 0, i16 0, i16 13190, i16 0, i16 0, i16 0, i16 14214, i16 0, i16 0, i16 0, i16 16006, i16 0, i16 0, i16 0, i16 13703, i16 0, i16 0, i16 0, i16 12425, i16 0, i16 0, i16 0, i16 13705, i16 0, i16 0, i16 0, i16 14473, i16 0, i16 0, i16 0, i16 14985, i16 0, i16 0, i16 0, i16 13962, i16 0, i16 0, i16 0, i16 16266, i16 0, i16 0, i16 0, i16 12939, i16 0, i16 0, i16 0, i16 13453, i16 0, i16 0, i16 0, i16 14221, i16 0, i16 0, i16 0, i16 16013, i16 0, i16 0, i16 0, i16 17037, i16 0, i16 0, i16 0, i16 15503, i16 0, i16 0, i16 0, i16 14737, i16 0, i16 0, i16 0, i16 12946, i16 0, i16 0, i16 0, i16 13458, i16 0, i16 0, i16 0, i16 15506, i16 0, i16 0, i16 0, i16 17042, i16 0, i16 0, i16 0, i16 12435, i16 0, i16 0, i16 0, i16 16019, i16 0, i16 0, i16 0, i16 17043, i16 0, i16 0, i16 0, i16 12948, i16 0, i16 0, i16 0, i16 13972, i16 0, i16 0, i16 0, i16 16532, i16 0, i16 0, i16 0, i16 13975, i16 0, i16 0, i16 0, i16 15768, i16 0, i16 0, i16 0, i16 16793, i16 0, i16 0, i16 0, i16 13466, i16 0, i16 0, i16 0, i16 155, i16 0, i16 0, i16 0, i16 156, i16 0, i16 0, i16 0, i16 13469, i16 0, i16 0, i16 0, i16 16285, i16 0, i16 0, i16 0, i16 12958, i16 0, i16 0, i16 0, i16 13215, i16 0, i16 0, i16 0, i16 13727, i16 0, i16 0, i16 0, i16 14751, i16 0, i16 0, i16 0, i16 15263, i16 0, i16 0, i16 0, i16 15775, i16 0, i16 0, i16 0, i16 12704, i16 0, i16 0, i16 0, i16 16800, i16 0, i16 0, i16 0, i16 13473, i16 0, i16 0, i16 0, i16 14241, i16 0, i16 0, i16 0, i16 15521, i16 0, i16 0, i16 0, i16 16801, i16 0, i16 0, i16 0, i16 12962, i16 0, i16 0, i16 0, i16 15010, i16 0, i16 0, i16 0, i16 15778, i16 0, i16 0, i16 0, i16 15267, i16 0, i16 0, i16 0, i16 14500, i16 0, i16 0, i16 0, i16 165, i16 0, i16 0, i16 0, i16 15781, i16 0, i16 0, i16 0, i16 16293, i16 0, i16 0, i16 0, i16 166, i16 0, i16 0, i16 0, i16 17063, i16 0, i16 0, i16 0, i16 13736, i16 0, i16 0, i16 0, i16 16296, i16 0, i16 0, i16 0, i16 16808, i16 0, i16 0, i16 0, i16 12713, i16 0, i16 0, i16 0, i16 13993, i16 0, i16 0, i16 0, i16 16041, i16 0, i16 0, i16 0, i16 16810, i16 0, i16 0, i16 0, i16 17066, i16 0, i16 0, i16 0, i16 13483, i16 0, i16 0, i16 0, i16 13484, i16 0, i16 0, i16 0, i16 16300, i16 0, i16 0, i16 0, i16 13741, i16 0, i16 0, i16 0, i16 15277, i16 0, i16 0, i16 0, i16 12462, i16 0, i16 0, i16 0, i16 13999, i16 0, i16 0, i16 0, i16 16559, i16 0, i16 0, i16 0, i16 176, i16 0, i16 0, i16 0, i16 16048, i16 0, i16 0, i16 0, i16 13233, i16 0, i16 0, i16 0, i16 14769, i16 0, i16 0, i16 0, i16 16049, i16 0, i16 0, i16 0, i16 16305, i16 0, i16 0, i16 0, i16 13746, i16 0, i16 0, i16 0, i16 13747, i16 0, i16 0, i16 0, i16 180, i16 0, i16 0, i16 0, i16 13237, i16 0, i16 0, i16 0, i16 13749, i16 0, i16 0, i16 0, i16 14773, i16 0, i16 0, i16 0, i16 16309, i16 0, i16 0, i16 0, i16 16821, i16 0, i16 0, i16 0, i16 13750, i16 0, i16 0, i16 0, i16 14263, i16 0, i16 0, i16 0, i16 696, i16 0, i16 0, i16 0, i16 15544, i16 0, i16 0, i16 0, i16 16312, i16 0, i16 0, i16 0, i16 15290, i16 0, i16 0, i16 0, i16 16570, i16 0, i16 0, i16 0, i16 12475, i16 0, i16 0, i16 0, i16 13755, i16 0, i16 0, i16 0, i16 14779, i16 0, i16 0, i16 0, i16 15035, i16 0, i16 0, i16 0, i16 16828, i16 0, i16 0, i16 0, i16 15037, i16 0, i16 0, i16 0, i16 14526, i16 0, i16 0, i16 0, i16 15294, i16 0, i16 0, i16 0, i16 16832, i16 0, i16 0, i16 0, i16 15809, i16 0, i16 0, i16 0, i16 13506, i16 0, i16 0, i16 0, i16 16066, i16 0, i16 0, i16 0, i16 16834, i16 0, i16 0, i16 0, i16 12739, i16 0, i16 0, i16 0, i16 13763, i16 0, i16 0, i16 0, i16 12740, i16 0, i16 0, i16 0, i16 13764, i16 0, i16 0, i16 0, i16 16068, i16 0, i16 0, i16 0, i16 15045, i16 0, i16 0, i16 0, i16 15301, i16 0, i16 0, i16 0, i16 14278, i16 0, i16 0, i16 0, i16 12743, i16 0, i16 0, i16 0, i16 14791, i16 0, i16 0, i16 0, i16 17095, i16 0, i16 0, i16 0, i16 13768, i16 0, i16 0, i16 0, i16 15560, i16 0, i16 0, i16 0, i16 12745, i16 0, i16 0, i16 0, i16 13513, i16 0, i16 0, i16 0, i16 13514, i16 0, i16 0, i16 0, i16 13770, i16 0, i16 0, i16 0, i16 14027, i16 0, i16 0, i16 0, i16 17099, i16 0, i16 0, i16 0, i16 13516, i16 0, i16 0, i16 0, i16 17100, i16 0, i16 0, i16 0, i16 14285, i16 0, i16 0, i16 0, i16 16845, i16 0, i16 0, i16 0, i16 12494, i16 0, i16 0, i16 0, i16 14798, i16 0, i16 0, i16 0, i16 17102, i16 0, i16 0, i16 0, i16 16079, i16 0, i16 0, i16 0, i16 13520, i16 0, i16 0, i16 0, i16 14032, i16 0, i16 0, i16 0, i16 14288, i16 0, i16 0, i16 0, i16 14800, i16 0, i16 0, i16 0, i16 14289, i16 0, i16 0, i16 0, i16 15569, i16 0, i16 0, i16 0, i16 17105, i16 0, i16 0, i16 0, i16 13778, i16 0, i16 0, i16 0, i16 14034, i16 0, i16 0, i16 0, i16 14803, i16 0, i16 0, i16 0, i16 16083, i16 0, i16 0, i16 0, i16 14805, i16 0, i16 0, i16 0, i16 15829, i16 0, i16 0, i16 0, i16 16597, i16 0, i16 0, i16 0, i16 16853, i16 0, i16 0, i16 0, i16 16598, i16 0, i16 0, i16 0, i16 12503, i16 0, i16 0, i16 0, i16 13527, i16 0, i16 0, i16 0, i16 16088, i16 0, i16 0, i16 0, i16 12761, i16 0, i16 0, i16 0, i16 13785, i16 0, i16 0, i16 0, i16 14809, i16 0, i16 0, i16 0, i16 12508, i16 0, i16 0, i16 0, i16 13276, i16 0, i16 0, i16 0, i16 13532, i16 0, i16 0, i16 0, i16 15836, i16 0, i16 0, i16 0, i16 16348, i16 0, i16 0, i16 0, i16 17116, i16 0, i16 0, i16 0, i16 14045, i16 0, i16 0, i16 0, i16 15837, i16 0, i16 0, i16 0, i16 14558, i16 0, i16 0, i16 0, i16 15326, i16 0, i16 0, i16 0, i16 14047, i16 0, i16 0, i16 0, i16 12768, i16 0, i16 0, i16 0, i16 15584, i16 0, i16 0, i16 0, i16 225, i16 0, i16 0, i16 0, i16 13793, i16 0, i16 0, i16 0, i16 13027, i16 0, i16 0, i16 0, i16 14819, i16 0, i16 0, i16 0, i16 16099, i16 0, i16 0, i16 0, i16 16867, i16 0, i16 0, i16 0, i16 14052, i16 0, i16 0, i16 0, i16 17124, i16 0, i16 0, i16 0, i16 14821, i16 0, i16 0, i16 0, i16 15077, i16 0, i16 0, i16 0, i16 13286, i16 0, i16 0, i16 0, i16 12519, i16 0, i16 0, i16 0, i16 12775, i16 0, i16 0, i16 0, i16 13031, i16 0, i16 0, i16 0, i16 14311, i16 0, i16 0, i16 0, i16 14823, i16 0, i16 0, i16 0, i16 13800, i16 0, i16 0, i16 0, i16 16616, i16 0, i16 0, i16 0, i16 14057, i16 0, i16 0, i16 0, i16 14826, i16 0, i16 0, i16 0, i16 15594, i16 0, i16 0, i16 0, i16 13291, i16 0, i16 0, i16 0, i16 16108, i16 0, i16 0, i16 0, i16 237, i16 0, i16 0, i16 0, i16 12781, i16 0, i16 0, i16 0, i16 15597, i16 0, i16 0, i16 0, i16 15342, i16 0, i16 0, i16 0, i16 14063, i16 0, i16 0, i16 0, i16 15087, i16 0, i16 0, i16 0, i16 15344, i16 0, i16 0, i16 0, i16 13809, i16 0, i16 0, i16 0, i16 17138, i16 0, i16 0, i16 0, i16 15091, i16 0, i16 0, i16 0, i16 16627, i16 0, i16 0, i16 0, i16 12788, i16 0, i16 0, i16 0, i16 14580, i16 0, i16 0, i16 0, i16 15348, i16 0, i16 0, i16 0, i16 16628, i16 0, i16 0, i16 0, i16 13813, i16 0, i16 0, i16 0, i16 13302, i16 0, i16 0, i16 0, i16 14326, i16 0, i16 0, i16 0, i16 15094, i16 0, i16 0, i16 0, i16 15863, i16 0, i16 0, i16 0, i16 16375, i16 0, i16 0, i16 0, i16 15353, i16 0, i16 0, i16 0, i16 15609, i16 0, i16 0, i16 0, i16 14586, i16 0, i16 0, i16 0, i16 15354, i16 0, i16 0, i16 0, i16 15355, i16 0, i16 0, i16 0, i16 15867, i16 0, i16 0, i16 0, i16 15100, i16 0, i16 0, i16 0, i16 12285, i16 0, i16 0, i16 0, i16 13053, i16 0, i16 0, i16 0, i16 14333, i16 0, i16 0, i16 0, i16 12542, i16 0, i16 0, i16 0, i16 12798, i16 0, i16 0, i16 0, i16 13310, i16 0, i16 0, i16 0, i16 14846, i16 0, i16 0, i16 0, i16 15103, i16 0, i16 0, i16 256, i16 0, i16 0, i16 0, i16 14080, i16 0, i16 0, i16 0, i16 13313, i16 17049, i16 0, i16 0, i16 12546, i16 0, i16 0, i16 0, i16 14082, i16 0, i16 0, i16 0, i16 15618, i16 0, i16 0, i16 0, i16 12547, i16 0, i16 0, i16 0, i16 16899, i16 0, i16 0, i16 0, i16 14852, i16 17003, i16 0, i16 0, i16 16388, i16 0, i16 0, i16 0, i16 16644, i16 0, i16 0, i16 0, i16 13573, i16 0, i16 0, i16 0, i16 14085, i16 0, i16 0, i16 0, i16 15109, i16 0, i16 0, i16 0, i16 13318, i16 0, i16 0, i16 0, i16 15366, i16 0, i16 0, i16 0, i16 15622, i16 0, i16 0, i16 0, i16 16390, i16 14495, i16 0, i16 0, i16 16902, i16 13005, i16 0, i16 0, i16 12295, i16 12296, i16 0, i16 0, i16 14343, i16 13546, i16 0, i16 0, i16 16647, i16 0, i16 0, i16 0, i16 14344, i16 0, i16 0, i16 0, i16 15880, i16 15683, i16 0, i16 0, i16 265, i16 264, i16 0, i16 0, i16 12553, i16 14944, i16 0, i16 0, i16 13833, i16 0, i16 0, i16 0, i16 14857, i16 0, i16 0, i16 0, i16 15881, i16 0, i16 0, i16 0, i16 16137, i16 0, i16 0, i16 0, i16 16649, i16 0, i16 0, i16 0, i16 17162, i16 0, i16 0, i16 0, i16 12555, i16 16345, i16 0, i16 0, i16 13067, i16 0, i16 0, i16 0, i16 15115, i16 0, i16 0, i16 0, i16 12300, i16 0, i16 0, i16 0, i16 14348, i16 0, i16 0, i16 0, i16 15628, i16 14483, i16 0, i16 0, i16 16140, i16 0, i16 0, i16 0, i16 12557, i16 0, i16 0, i16 0, i16 14349, i16 0, i16 0, i16 0, i16 14605, i16 15757, i16 0, i16 0, i16 15629, i16 0, i16 0, i16 0, i16 15885, i16 0, i16 0, i16 0, i16 782, i16 0, i16 0, i16 0, i16 13582, i16 13021, i16 0, i16 0, i16 14094, i16 0, i16 0, i16 0, i16 14862, i16 0, i16 0, i16 0, i16 16398, i16 14978, i16 0, i16 0, i16 14352, i16 0, i16 0, i16 0, i16 15376, i16 0, i16 0, i16 0, i16 15121, i16 0, i16 0, i16 0, i16 16657, i16 0, i16 0, i16 0, i16 17169, i16 0, i16 0, i16 0, i16 16658, i16 0, i16 0, i16 0, i16 12819, i16 15198, i16 0, i16 0, i16 13331, i16 0, i16 0, i16 0, i16 13588, i16 15915, i16 0, i16 0, i16 16148, i16 0, i16 0, i16 0, i16 13589, i16 14715, i16 0, i16 0, i16 15125, i16 0, i16 0, i16 0, i16 16661, i16 0, i16 0, i16 0, i16 12310, i16 0, i16 0, i16 0, i16 12566, i16 15116, i16 0, i16 0, i16 13334, i16 0, i16 0, i16 0, i16 14102, i16 15783, i16 0, i16 0, i16 13335, i16 0, i16 0, i16 0, i16 16152, i16 0, i16 0, i16 0, i16 12569, i16 0, i16 0, i16 0, i16 282, i16 0, i16 0, i16 0, i16 794, i16 0, i16 0, i16 0, i16 13338, i16 0, i16 0, i16 0, i16 15386, i16 15387, i16 0, i16 0, i16 15643, i16 16909, i16 0, i16 0, i16 16155, i16 14782, i16 0, i16 0, i16 16667, i16 0, i16 0, i16 0, i16 12828, i16 0, i16 0, i16 0, i16 15644, i16 0, i16 0, i16 0, i16 12829, i16 0, i16 0, i16 0, i16 13597, i16 0, i16 0, i16 0, i16 15133, i16 0, i16 0, i16 0, i16 16413, i16 0, i16 0, i16 0, i16 16669, i16 0, i16 0, i16 0, i16 14110, i16 0, i16 0, i16 0, i16 15902, i16 0, i16 0, i16 0, i16 16158, i16 0, i16 0, i16 0, i16 16670, i16 0, i16 0, i16 0, i16 12320, i16 0, i16 0, i16 0, i16 13344, i16 0, i16 0, i16 0, i16 14624, i16 13170, i16 0, i16 0, i16 15392, i16 0, i16 0, i16 0, i16 16672, i16 12786, i16 0, i16 0, i16 12321, i16 0, i16 0, i16 0, i16 13601, i16 0, i16 0, i16 0, i16 14881, i16 17167, i16 0, i16 0, i16 15649, i16 16630, i16 0, i16 0, i16 15905, i16 16062, i16 0, i16 0, i16 16929, i16 0, i16 0, i16 0, i16 14114, i16 0, i16 0, i16 0, i16 14882, i16 0, i16 0, i16 0, i16 15906, i16 12444, i16 0, i16 0, i16 16674, i16 0, i16 0, i16 0, i16 16163, i16 0, i16 0, i16 0, i16 13860, i16 13824, i16 0, i16 0, i16 14116, i16 15911, i16 0, i16 0, i16 14884, i16 0, i16 0, i16 0, i16 12325, i16 0, i16 0, i16 0, i16 12837, i16 0, i16 0, i16 0, i16 16678, i16 0, i16 0, i16 0, i16 12327, i16 0, i16 0, i16 0, i16 14887, i16 0, i16 0, i16 0, i16 16423, i16 0, i16 0, i16 0, i16 12328, i16 16639, i16 0, i16 0, i16 16425, i16 0, i16 0, i16 0, i16 13610, i16 16180, i16 0, i16 0, i16 14890, i16 0, i16 0, i16 0, i16 16170, i16 0, i16 0, i16 0, i16 15403, i16 0, i16 0, i16 0, i16 16171, i16 0, i16 0, i16 0, i16 12332, i16 0, i16 0, i16 0, i16 15404, i16 15291, i16 0, i16 0, i16 14125, i16 0, i16 0, i16 0, i16 14893, i16 15274, i16 0, i16 0, i16 16685, i16 0, i16 0, i16 0, i16 16941, i16 0, i16 0, i16 0, i16 14382, i16 0, i16 0, i16 0, i16 14638, i16 12998, i16 0, i16 0, i16 16174, i16 0, i16 0, i16 0, i16 12591, i16 0, i16 0, i16 0, i16 14639, i16 0, i16 0, i16 0, i16 13360, i16 0, i16 0, i16 0, i16 14384, i16 0, i16 0, i16 0, i16 14640, i16 0, i16 0, i16 0, i16 13361, i16 0, i16 0, i16 0, i16 14641, i16 0, i16 0, i16 0, i16 15409, i16 0, i16 0, i16 0, i16 16433, i16 0, i16 0, i16 0, i16 14642, i16 0, i16 0, i16 0, i16 14898, i16 13976, i16 0, i16 0, i16 15154, i16 0, i16 0, i16 0, i16 12851, i16 15968, i16 0, i16 0, i16 13619, i16 0, i16 0, i16 0, i16 16947, i16 0, i16 0, i16 0, i16 15156, i16 0, i16 0, i16 0, i16 13365, i16 0, i16 0, i16 0, i16 13621, i16 12675, i16 0, i16 0, i16 12598, i16 15066, i16 0, i16 0, i16 12343, i16 13378, i16 0, i16 0, i16 14135, i16 0, i16 0, i16 0, i16 14391, i16 0, i16 0, i16 0, i16 16951, i16 15075, i16 0, i16 0, i16 12856, i16 0, i16 0, i16 0, i16 15160, i16 13821, i16 0, i16 0, i16 14905, i16 0, i16 0, i16 0, i16 12858, i16 0, i16 0, i16 0, i16 13370, i16 0, i16 0, i16 0, i16 14138, i16 0, i16 0, i16 0, i16 14907, i16 0, i16 0, i16 0, i16 13628, i16 0, i16 0, i16 0, i16 13884, i16 0, i16 0, i16 0, i16 16956, i16 0, i16 0, i16 0, i16 13885, i16 0, i16 0, i16 0, i16 14141, i16 0, i16 0, i16 0, i16 14398, i16 0, i16 0, i16 0, i16 15166, i16 0, i16 0, i16 0, i16 16958, i16 0, i16 0, i16 0, i16 13375, i16 0, i16 0, i16 0, i16 13889, i16 0, i16 0, i16 0, i16 14913, i16 14137, i16 0, i16 0, i16 16193, i16 0, i16 0, i16 0, i16 16449, i16 0, i16 0, i16 0, i16 15938, i16 0, i16 0, i16 0, i16 12355, i16 0, i16 0, i16 0, i16 13379, i16 0, i16 0, i16 0, i16 14660, i16 16660, i16 0, i16 0, i16 15684, i16 0, i16 0, i16 0, i16 12613, i16 16161, i16 0, i16 0, i16 12869, i16 0, i16 0, i16 0, i16 16965, i16 0, i16 0, i16 0, i16 13126, i16 0, i16 0, i16 0, i16 14406, i16 0, i16 0, i16 0, i16 12359, i16 0, i16 0, i16 0, i16 13895, i16 15817, i16 0, i16 0, i16 16711, i16 0, i16 0, i16 0, i16 13640, i16 0, i16 0, i16 0, i16 14920, i16 0, i16 0, i16 0, i16 15944, i16 0, i16 0, i16 0, i16 13385, i16 0, i16 0, i16 0, i16 13641, i16 0, i16 0, i16 0, i16 15945, i16 16859, i16 0, i16 0, i16 16457, i16 0, i16 0, i16 0, i16 12362, i16 0, i16 0, i16 0, i16 13130, i16 0, i16 0, i16 0, i16 14154, i16 0, i16 0, i16 0, i16 14666, i16 0, i16 0, i16 0, i16 16202, i16 0, i16 0, i16 0, i16 13131, i16 15689, i16 0, i16 0, i16 13387, i16 0, i16 0, i16 0, i16 14155, i16 0, i16 0, i16 0, i16 15179, i16 12896, i16 0, i16 0, i16 15691, i16 0, i16 0, i16 0, i16 12364, i16 14260, i16 0, i16 0, i16 13388, i16 13894, i16 0, i16 0, i16 13901, i16 0, i16 0, i16 0, i16 14669, i16 15472, i16 0, i16 0, i16 15949, i16 0, i16 0, i16 0, i16 13390, i16 16026, i16 0, i16 0, i16 14670, i16 0, i16 0, i16 0, i16 13135, i16 16906, i16 0, i16 0, i16 13391, i16 0, i16 0, i16 0, i16 16463, i16 0, i16 0, i16 0, i16 13392, i16 13404, i16 0, i16 0, i16 16720, i16 0, i16 0, i16 0, i16 13649, i16 0, i16 0, i16 0, i16 16209, i16 0, i16 0, i16 0, i16 14674, i16 0, i16 0, i16 0, i16 16722, i16 0, i16 0, i16 0, i16 14163, i16 0, i16 0, i16 0, i16 14675, i16 0, i16 0, i16 0, i16 15699, i16 0, i16 0, i16 0, i16 12628, i16 14648, i16 0, i16 0, i16 13396, i16 0, i16 0, i16 0, i16 15188, i16 0, i16 0, i16 0, i16 12886, i16 0, i16 0, i16 0, i16 13910, i16 0, i16 0, i16 0, i16 14422, i16 0, i16 0, i16 0, i16 15958, i16 12707, i16 0, i16 0, i16 16214, i16 0, i16 0, i16 0, i16 16470, i16 0, i16 0, i16 0, i16 12631, i16 13625, i16 0, i16 0, i16 13143, i16 0, i16 0, i16 0, i16 14423, i16 0, i16 0, i16 0, i16 13656, i16 0, i16 0, i16 0, i16 13912, i16 0, i16 0, i16 0, i16 14424, i16 0, i16 0, i16 0, i16 12633, i16 0, i16 0, i16 0, i16 13913, i16 0, i16 0, i16 0, i16 12890, i16 0, i16 0, i16 0, i16 13146, i16 0, i16 0, i16 0, i16 15962, i16 0, i16 0, i16 0, i16 13147, i16 0, i16 0, i16 0, i16 13659, i16 0, i16 0, i16 0, i16 13405, i16 0, i16 0, i16 0, i16 13150, i16 0, i16 0, i16 0, i16 13406, i16 0, i16 0, i16 0, i16 14686, i16 0, i16 0, i16 0, i16 12895, i16 12407, i16 0, i16 0, i16 15455, i16 0, i16 0, i16 0, i16 14176, i16 0, i16 0, i16 0, i16 14432, i16 0, i16 0, i16 0, i16 15200, i16 0, i16 0, i16 0, i16 16736, i16 0, i16 0, i16 0, i16 12897, i16 0, i16 0, i16 0, i16 13921, i16 0, i16 0, i16 0, i16 14689, i16 0, i16 0, i16 0, i16 13154, i16 0, i16 0, i16 0, i16 16994, i16 16995, i16 0, i16 0, i16 15971, i16 15754, i16 0, i16 0, i16 13156, i16 0, i16 0, i16 0, i16 14692, i16 0, i16 0, i16 0, i16 15460, i16 0, i16 0, i16 0, i16 16228, i16 0, i16 0, i16 0, i16 12389, i16 0, i16 0, i16 0, i16 13669, i16 0, i16 0, i16 0, i16 16486, i16 0, i16 0, i16 0, i16 13927, i16 12380, i16 0, i16 0, i16 14951, i16 15813, i16 0, i16 0, i16 15975, i16 0, i16 0, i16 0, i16 16487, i16 0, i16 0, i16 0, i16 12904, i16 12905, i16 0, i16 0, i16 13416, i16 14004, i16 0, i16 0, i16 15977, i16 0, i16 0, i16 0, i16 12394, i16 15982, i16 0, i16 0, i16 15978, i16 0, i16 0, i16 0, i16 13676, i16 0, i16 0, i16 0, i16 15212, i16 0, i16 0, i16 0, i16 14445, i16 0, i16 0, i16 0, i16 12654, i16 0, i16 0, i16 0, i16 13934, i16 0, i16 0, i16 0, i16 13679, i16 0, i16 0, i16 0, i16 14449, i16 0, i16 0, i16 0, i16 16241, i16 0, i16 0, i16 0, i16 13426, i16 16648, i16 0, i16 0, i16 12915, i16 0, i16 0, i16 0, i16 13427, i16 14180, i16 0, i16 0, i16 14451, i16 15717, i16 0, i16 0, i16 16243, i16 0, i16 0, i16 0, i16 14452, i16 0, i16 0, i16 0, i16 14708, i16 0, i16 0, i16 0, i16 12917, i16 0, i16 0, i16 0, i16 14966, i16 0, i16 0, i16 0, i16 13944, i16 0, i16 0, i16 0, i16 15992, i16 0, i16 0, i16 0, i16 16760, i16 0, i16 0, i16 0, i16 17016, i16 15317, i16 0, i16 0, i16 15225, i16 0, i16 0, i16 0, i16 12666, i16 0, i16 0, i16 0, i16 15738, i16 13848, i16 0, i16 0, i16 17018, i16 0, i16 0, i16 0, i16 13947, i16 0, i16 0, i16 0, i16 15996, i16 0, i16 0, i16 0, i16 13181, i16 0, i16 0, i16 0, i16 15229, i16 0, i16 0, i16 0, i16 13438, i16 13197, i16 0, i16 0, i16 15743, i16 0, i16 0, i16 0, i16 17023, i16 0, i16 0, i16 0, i16 13184, i16 0, i16 0, i16 0, i16 13440, i16 0, i16 0, i16 0, i16 13442, i16 0, i16 0, i16 0, i16 16515, i16 0, i16 0, i16 0, i16 12420, i16 0, i16 0, i16 0, i16 13189, i16 0, i16 0, i16 0, i16 13445, i16 13494, i16 0, i16 0, i16 15237, i16 0, i16 0, i16 0, i16 13958, i16 0, i16 0, i16 0, i16 16262, i16 0, i16 0, i16 0, i16 15239, i16 0, i16 0, i16 0, i16 13960, i16 0, i16 0, i16 0, i16 16776, i16 0, i16 0, i16 0, i16 17032, i16 0, i16 0, i16 0, i16 13193, i16 0, i16 0, i16 0, i16 13961, i16 0, i16 0, i16 0, i16 16010, i16 0, i16 0, i16 0, i16 13451, i16 0, i16 0, i16 0, i16 12428, i16 14380, i16 0, i16 0, i16 14732, i16 16704, i16 0, i16 0, i16 15244, i16 0, i16 0, i16 0, i16 16524, i16 15420, i16 0, i16 0, i16 16269, i16 0, i16 0, i16 0, i16 13198, i16 16103, i16 0, i16 0, i16 13710, i16 17081, i16 0, i16 0, i16 13711, i16 0, i16 0, i16 0, i16 14479, i16 14478, i16 0, i16 0, i16 16015, i16 13394, i16 0, i16 0, i16 16271, i16 0, i16 0, i16 0, i16 12688, i16 0, i16 0, i16 0, i16 16784, i16 0, i16 0, i16 0, i16 13201, i16 14579, i16 0, i16 0, i16 13713, i16 0, i16 0, i16 0, i16 14738, i16 0, i16 0, i16 0, i16 12947, i16 0, i16 0, i16 0, i16 13459, i16 14369, i16 0, i16 0, i16 15251, i16 14807, i16 0, i16 0, i16 14740, i16 0, i16 0, i16 0, i16 17044, i16 0, i16 0, i16 0, i16 14229, i16 0, i16 0, i16 0, i16 14741, i16 0, i16 0, i16 0, i16 13718, i16 0, i16 0, i16 0, i16 13974, i16 0, i16 0, i16 0, i16 14230, i16 0, i16 0, i16 0, i16 17046, i16 13544, i16 0, i16 0, i16 12439, i16 0, i16 0, i16 0, i16 16023, i16 0, i16 0, i16 0, i16 17047, i16 15588, i16 0, i16 0, i16 13464, i16 14488, i16 0, i16 0, i16 13209, i16 0, i16 0, i16 0, i16 15257, i16 13925, i16 0, i16 0, i16 16281, i16 0, i16 0, i16 0, i16 16794, i16 13906, i16 0, i16 0, i16 12955, i16 13571, i16 0, i16 0, i16 668, i16 0, i16 0, i16 0, i16 14748, i16 0, i16 0, i16 0, i16 15004, i16 0, i16 0, i16 0, i16 12701, i16 0, i16 0, i16 0, i16 15773, i16 14925, i16 0, i16 0, i16 16029, i16 0, i16 0, i16 0, i16 17053, i16 0, i16 0, i16 0, i16 12446, i16 0, i16 0, i16 0, i16 13982, i16 0, i16 0, i16 0, i16 14494, i16 0, i16 0, i16 0, i16 17054, i16 16165, i16 0, i16 0, i16 14239, i16 0, i16 0, i16 0, i16 15007, i16 0, i16 0, i16 0, i16 16031, i16 0, i16 0, i16 0, i16 13216, i16 15956, i16 0, i16 0, i16 12705, i16 0, i16 0, i16 0, i16 16289, i16 0, i16 0, i16 0, i16 674, i16 0, i16 0, i16 0, i16 15266, i16 0, i16 0, i16 0, i16 16290, i16 0, i16 0, i16 0, i16 16546, i16 0, i16 0, i16 0, i16 16802, i16 0, i16 0, i16 0, i16 12451, i16 0, i16 0, i16 0, i16 15523, i16 0, i16 0, i16 0, i16 16291, i16 0, i16 0, i16 0, i16 12452, i16 12408, i16 0, i16 0, i16 12708, i16 0, i16 0, i16 0, i16 12964, i16 0, i16 0, i16 0, i16 14244, i16 0, i16 0, i16 0, i16 16292, i16 0, i16 0, i16 0, i16 15269, i16 0, i16 0, i16 0, i16 16037, i16 0, i16 0, i16 0, i16 16549, i16 0, i16 0, i16 0, i16 12710, i16 15019, i16 0, i16 0, i16 15782, i16 0, i16 0, i16 0, i16 16294, i16 0, i16 0, i16 0, i16 12455, i16 17045, i16 0, i16 0, i16 12711, i16 13480, i16 0, i16 0, i16 13479, i16 0, i16 0, i16 0, i16 13991, i16 0, i16 0, i16 0, i16 14503, i16 0, i16 0, i16 0, i16 15527, i16 0, i16 0, i16 0, i16 16295, i16 16721, i16 0, i16 0, i16 12456, i16 0, i16 0, i16 0, i16 13224, i16 12838, i16 0, i16 0, i16 15784, i16 0, i16 0, i16 0, i16 13737, i16 0, i16 0, i16 0, i16 13738, i16 0, i16 0, i16 0, i16 13739, i16 0, i16 0, i16 0, i16 13995, i16 14438, i16 0, i16 0, i16 14763, i16 0, i16 0, i16 0, i16 16299, i16 13632, i16 0, i16 0, i16 13996, i16 14799, i16 0, i16 0, i16 15788, i16 13599, i16 0, i16 0, i16 14253, i16 12873, i16 0, i16 0, i16 14765, i16 0, i16 0, i16 0, i16 17069, i16 0, i16 0, i16 0, i16 174, i16 0, i16 0, i16 0, i16 15790, i16 0, i16 0, i16 0, i16 13743, i16 0, i16 0, i16 0, i16 15279, i16 16077, i16 0, i16 0, i16 13744, i16 13482, i16 0, i16 0, i16 15792, i16 0, i16 0, i16 0, i16 16816, i16 0, i16 0, i16 0, i16 14513, i16 15755, i16 0, i16 0, i16 178, i16 0, i16 0, i16 0, i16 13490, i16 16151, i16 0, i16 0, i16 14514, i16 16601, i16 0, i16 0, i16 15026, i16 0, i16 0, i16 0, i16 15538, i16 16535, i16 0, i16 0, i16 16562, i16 0, i16 0, i16 0, i16 16818, i16 0, i16 0, i16 0, i16 691, i16 0, i16 0, i16 0, i16 14515, i16 0, i16 0, i16 0, i16 16307, i16 0, i16 0, i16 0, i16 12980, i16 12981, i16 0, i16 0, i16 13492, i16 0, i16 0, i16 0, i16 15028, i16 0, i16 0, i16 0, i16 15284, i16 14607, i16 0, i16 0, i16 15285, i16 0, i16 0, i16 0, i16 694, i16 785, i16 0, i16 0, i16 12470, i16 15646, i16 0, i16 0, i16 15798, i16 0, i16 0, i16 0, i16 12983, i16 13478, i16 0, i16 0, i16 13495, i16 0, i16 0, i16 0, i16 12728, i16 16993, i16 0, i16 0, i16 12984, i16 14160, i16 0, i16 0, i16 13496, i16 0, i16 0, i16 0, i16 185, i16 184, i16 0, i16 0, i16 12985, i16 0, i16 0, i16 0, i16 15033, i16 0, i16 0, i16 0, i16 13498, i16 0, i16 0, i16 0, i16 16314, i16 16812, i16 0, i16 0, i16 187, i16 186, i16 0, i16 0, i16 699, i16 792, i16 0, i16 0, i16 14011, i16 12526, i16 0, i16 0, i16 16315, i16 0, i16 0, i16 0, i16 16571, i16 0, i16 0, i16 0, i16 13500, i16 0, i16 0, i16 0, i16 701, i16 793, i16 0, i16 0, i16 12733, i16 0, i16 0, i16 0, i16 13501, i16 0, i16 0, i16 0, i16 702, i16 795, i16 0, i16 0, i16 13246, i16 15414, i16 0, i16 0, i16 14014, i16 0, i16 0, i16 0, i16 191, i16 190, i16 0, i16 0, i16 12735, i16 0, i16 0, i16 0, i16 12991, i16 0, i16 0, i16 0, i16 13503, i16 0, i16 0, i16 0, i16 14271, i16 0, i16 0, i16 0, i16 14527, i16 14060, i16 0, i16 0, i16 12480, i16 0, i16 0, i16 0, i16 13249, i16 0, i16 0, i16 0, i16 15553, i16 14199, i16 0, i16 0, i16 16065, i16 0, i16 0, i16 0, i16 12738, i16 0, i16 0, i16 0, i16 14530, i16 14206, i16 0, i16 0, i16 14786, i16 0, i16 0, i16 0, i16 12995, i16 0, i16 0, i16 0, i16 14531, i16 0, i16 0, i16 0, i16 16579, i16 0, i16 0, i16 0, i16 15556, i16 0, i16 0, i16 0, i16 16836, i16 0, i16 0, i16 0, i16 14277, i16 0, i16 0, i16 0, i16 16325, i16 0, i16 0, i16 0, i16 16837, i16 0, i16 0, i16 0, i16 12742, i16 0, i16 0, i16 0, i16 16839, i16 0, i16 0, i16 0, i16 200, i16 201, i16 0, i16 0, i16 15304, i16 15303, i16 0, i16 0, i16 15816, i16 14955, i16 0, i16 0, i16 16328, i16 0, i16 0, i16 0, i16 16584, i16 0, i16 0, i16 0, i16 16073, i16 0, i16 0, i16 0, i16 16329, i16 0, i16 0, i16 0, i16 17097, i16 0, i16 0, i16 0, i16 202, i16 0, i16 0, i16 0, i16 13258, i16 0, i16 0, i16 0, i16 14794, i16 0, i16 0, i16 0, i16 15050, i16 0, i16 0, i16 0, i16 15562, i16 0, i16 0, i16 0, i16 16074, i16 0, i16 0, i16 0, i16 13260, i16 0, i16 0, i16 0, i16 13772, i16 15199, i16 0, i16 0, i16 16332, i16 0, i16 0, i16 0, i16 16588, i16 0, i16 0, i16 0, i16 13517, i16 0, i16 0, i16 0, i16 13262, i16 0, i16 0, i16 0, i16 15822, i16 0, i16 0, i16 0, i16 14543, i16 12589, i16 0, i16 0, i16 16335, i16 0, i16 0, i16 0, i16 12752, i16 13794, i16 0, i16 0, i16 13264, i16 0, i16 0, i16 0, i16 15057, i16 13046, i16 0, i16 0, i16 16849, i16 16921, i16 0, i16 0, i16 210, i16 211, i16 0, i16 0, i16 13522, i16 0, i16 0, i16 0, i16 14802, i16 0, i16 0, i16 0, i16 15314, i16 13029, i16 0, i16 0, i16 12499, i16 0, i16 0, i16 0, i16 13011, i16 0, i16 0, i16 0, i16 14035, i16 16620, i16 0, i16 0, i16 212, i16 213, i16 0, i16 0, i16 16084, i16 0, i16 0, i16 0, i16 16340, i16 0, i16 0, i16 0, i16 16342, i16 0, i16 0, i16 0, i16 13783, i16 0, i16 0, i16 0, i16 13016, i16 14788, i16 0, i16 0, i16 14808, i16 0, i16 0, i16 0, i16 15064, i16 0, i16 0, i16 0, i16 14041, i16 14269, i16 0, i16 0, i16 14297, i16 0, i16 0, i16 0, i16 15065, i16 0, i16 0, i16 0, i16 15833, i16 0, i16 0, i16 0, i16 13018, i16 0, i16 0, i16 0, i16 219, i16 0, i16 0, i16 0, i16 13787, i16 0, i16 0, i16 0, i16 14299, i16 0, i16 0, i16 0, i16 14811, i16 0, i16 0, i16 0, i16 15324, i16 16112, i16 0, i16 0, i16 13277, i16 0, i16 0, i16 0, i16 16605, i16 0, i16 0, i16 0, i16 13534, i16 0, i16 0, i16 0, i16 13790, i16 0, i16 0, i16 0, i16 15070, i16 0, i16 0, i16 0, i16 13791, i16 0, i16 0, i16 0, i16 14559, i16 0, i16 0, i16 0, i16 16607, i16 0, i16 0, i16 0, i16 16863, i16 14628, i16 0, i16 0, i16 17119, i16 0, i16 0, i16 0, i16 13024, i16 13060, i16 0, i16 0, i16 13536, i16 0, i16 0, i16 0, i16 14048, i16 0, i16 0, i16 0, i16 14816, i16 0, i16 0, i16 0, i16 15328, i16 0, i16 0, i16 0, i16 16352, i16 16046, i16 0, i16 0, i16 12513, i16 0, i16 0, i16 0, i16 14817, i16 0, i16 0, i16 0, i16 15329, i16 0, i16 0, i16 0, i16 15841, i16 0, i16 0, i16 0, i16 17121, i16 0, i16 0, i16 0, i16 13538, i16 0, i16 0, i16 0, i16 14050, i16 0, i16 0, i16 0, i16 15842, i16 14561, i16 0, i16 0, i16 16098, i16 0, i16 0, i16 0, i16 14564, i16 0, i16 0, i16 0, i16 15332, i16 0, i16 0, i16 0, i16 15845, i16 12345, i16 0, i16 0, i16 13798, i16 15306, i16 0, i16 0, i16 17126, i16 12973, i16 0, i16 0, i16 12520, i16 0, i16 0, i16 0, i16 14056, i16 0, i16 0, i16 0, i16 14568, i16 0, i16 0, i16 0, i16 14824, i16 0, i16 0, i16 0, i16 17129, i16 0, i16 0, i16 0, i16 12522, i16 12391, i16 0, i16 0, i16 13802, i16 0, i16 0, i16 0, i16 14570, i16 16105, i16 0, i16 0, i16 16106, i16 15989, i16 0, i16 0, i16 14827, i16 13366, i16 0, i16 0, i16 16875, i16 0, i16 0, i16 0, i16 15084, i16 15744, i16 0, i16 0, i16 13293, i16 0, i16 0, i16 0, i16 13549, i16 0, i16 0, i16 0, i16 14317, i16 0, i16 0, i16 0, i16 15853, i16 16114, i16 0, i16 0, i16 15854, i16 0, i16 0, i16 0, i16 13039, i16 0, i16 0, i16 0, i16 14064, i16 0, i16 0, i16 0, i16 14832, i16 17077, i16 0, i16 0, i16 15088, i16 0, i16 0, i16 0, i16 13553, i16 0, i16 0, i16 0, i16 14577, i16 0, i16 0, i16 0, i16 14833, i16 0, i16 0, i16 0, i16 15857, i16 0, i16 0, i16 0, i16 15090, i16 15635, i16 0, i16 0, i16 15346, i16 0, i16 0, i16 0, i16 15858, i16 14520, i16 0, i16 0, i16 16882, i16 0, i16 0, i16 0, i16 244, i16 243, i16 0, i16 0, i16 13812, i16 0, i16 0, i16 0, i16 14068, i16 0, i16 0, i16 0, i16 14325, i16 0, i16 0, i16 0, i16 17141, i16 16512, i16 0, i16 0, i16 13558, i16 0, i16 0, i16 0, i16 16374, i16 15645, i16 0, i16 0, i16 12535, i16 0, i16 0, i16 0, i16 16120, i16 0, i16 0, i16 0, i16 16376, i16 0, i16 0, i16 0, i16 17144, i16 16840, i16 0, i16 0, i16 14585, i16 0, i16 0, i16 0, i16 15097, i16 16614, i16 0, i16 0, i16 16121, i16 0, i16 0, i16 0, i16 16889, i16 0, i16 0, i16 0, i16 12794, i16 14493, i16 0, i16 0, i16 13562, i16 0, i16 0, i16 0, i16 14074, i16 0, i16 0, i16 0, i16 14587, i16 0, i16 0, i16 0, i16 12540, i16 0, i16 0, i16 0, i16 16124, i16 16211, i16 0, i16 0, i16 13565, i16 16820, i16 0, i16 0, i16 15101, i16 0, i16 0, i16 0, i16 15357, i16 0, i16 0, i16 0, i16 16638, i16 0, i16 0, i16 0, i16 13055, i16 0, i16 0, i16 0, i16 15871, i16 0, i16 0, i16 0, i16 16127, i16 0, i16 0, i16 0, i16 16383, i16 0, i16 0, i16 0, i16 16895, i16 0, i16 0, i16 14336, i16 0, i16 0, i16 0, i16 15872, i16 0, i16 0, i16 0, i16 16896, i16 12854, i16 0, i16 0, i16 12289, i16 0, i16 0, i16 0, i16 13057, i16 0, i16 0, i16 0, i16 14593, i16 0, i16 0, i16 0, i16 15361, i16 14291, i16 12990, i16 0, i16 16129, i16 0, i16 0, i16 0, i16 2, i16 3, i16 0, i16 0, i16 12290, i16 0, i16 0, i16 0, i16 13826, i16 14262, i16 0, i16 0, i16 15106, i16 0, i16 0, i16 0, i16 17154, i16 0, i16 0, i16 0, i16 12291, i16 0, i16 0, i16 0, i16 13315, i16 0, i16 0, i16 0, i16 14339, i16 12729, i16 13820, i16 0, i16 14851, i16 0, i16 0, i16 0, i16 15875, i16 0, i16 0, i16 0, i16 4, i16 5, i16 6, i16 0, i16 12292, i16 14533, i16 0, i16 0, i16 13316, i16 0, i16 0, i16 0, i16 16900, i16 12787, i16 15477, i16 0, i16 17156, i16 0, i16 14379, i16 0, i16 14341, i16 0, i16 0, i16 0, i16 14597, i16 0, i16 0, i16 0, i16 12550, i16 0, i16 0, i16 0, i16 15878, i16 0, i16 0, i16 0, i16 13575, i16 0, i16 0, i16 0, i16 14087, i16 13298, i16 0, i16 0, i16 14599, i16 0, i16 0, i16 0, i16 16135, i16 13144, i16 0, i16 0, i16 16391, i16 0, i16 0, i16 0, i16 520, i16 521, i16 522, i16 0, i16 13832, i16 0, i16 0, i16 0, i16 14088, i16 14747, i16 13614, i16 0, i16 14600, i16 14465, i16 0, i16 0, i16 16392, i16 0, i16 0, i16 0, i16 12809, i16 0, i16 0, i16 0, i16 13577, i16 15658, i16 0, i16 0, i16 13066, i16 0, i16 0, i16 0, i16 15114, i16 0, i16 15163, i16 0, i16 16650, i16 0, i16 15347, i16 0, i16 12811, i16 0, i16 0, i16 0, i16 13579, i16 0, i16 0, i16 0, i16 16139, i16 0, i16 13204, i16 0, i16 16651, i16 0, i16 12426, i16 0, i16 17163, i16 0, i16 0, i16 0, i16 14860, i16 0, i16 0, i16 0, i16 15884, i16 13063, i16 12474, i16 0, i16 17164, i16 17165, i16 0, i16 0, i16 13325, i16 16860, i16 0, i16 0, i16 16397, i16 0, i16 0, i16 0, i16 13326, i16 0, i16 0, i16 0, i16 16654, i16 0, i16 0, i16 0, i16 16910, i16 0, i16 0, i16 0, i16 783, i16 0, i16 0, i16 0, i16 13071, i16 16937, i16 15040, i16 0, i16 13583, i16 0, i16 0, i16 0, i16 14863, i16 0, i16 0, i16 0, i16 15119, i16 0, i16 16996, i16 0, i16 16655, i16 0, i16 16656, i16 0, i16 13584, i16 0, i16 15449, i16 0, i16 14608, i16 14546, i16 0, i16 0, i16 15120, i16 0, i16 0, i16 0, i16 16400, i16 0, i16 0, i16 0, i16 13329, i16 0, i16 0, i16 0, i16 14609, i16 17131, i16 0, i16 0, i16 15889, i16 12524, i16 0, i16 0, i16 786, i16 695, i16 787, i16 0, i16 12818, i16 12650, i16 0, i16 0, i16 13843, i16 0, i16 15910, i16 0, i16 14099, i16 0, i16 0, i16 0, i16 15123, i16 0, i16 13134, i16 0, i16 15891, i16 14665, i16 17026, i16 0, i16 14356, i16 13443, i16 14504, i16 0, i16 15124, i16 0, i16 0, i16 0, i16 16404, i16 0, i16 13658, i16 0, i16 16917, i16 0, i16 0, i16 0, i16 14358, i16 13399, i16 0, i16 0, i16 15126, i16 0, i16 0, i16 0, i16 15894, i16 12941, i16 12942, i16 0, i16 12311, i16 0, i16 0, i16 0, i16 14103, i16 0, i16 16763, i16 0, i16 15895, i16 0, i16 17074, i16 0, i16 16663, i16 0, i16 0, i16 0, i16 16919, i16 0, i16 0, i16 0, i16 15128, i16 0, i16 0, i16 0, i16 16664, i16 0, i16 0, i16 0, i16 16920, i16 0, i16 13816, i16 0, i16 13337, i16 0, i16 0, i16 0, i16 13849, i16 0, i16 15779, i16 0, i16 14873, i16 0, i16 0, i16 0, i16 15129, i16 0, i16 0, i16 0, i16 15641, i16 0, i16 0, i16 0, i16 15897, i16 0, i16 12885, i16 0, i16 13850, i16 0, i16 0, i16 0, i16 14362, i16 0, i16 0, i16 0, i16 16666, i16 16590, i16 15456, i16 0, i16 1051, i16 0, i16 0, i16 0, i16 16668, i16 16710, i16 12369, i16 0, i16 797, i16 703, i16 796, i16 0, i16 13853, i16 0, i16 0, i16 0, i16 15901, i16 16166, i16 14550, i16 0, i16 16157, i16 0, i16 0, i16 0, i16 13342, i16 16181, i16 12441, i16 0, i16 15134, i16 15135, i16 0, i16 0, i16 16414, i16 0, i16 0, i16 0, i16 287, i16 284, i16 0, i16 0, i16 14879, i16 16693, i16 0, i16 0, i16 16927, i16 13356, i16 0, i16 0, i16 288, i16 289, i16 290, i16 0, i16 12832, i16 16729, i16 0, i16 0, i16 15136, i16 0, i16 15657, i16 0, i16 15137, i16 0, i16 15988, i16 0, i16 16417, i16 0, i16 0, i16 0, i16 16673, i16 0, i16 13283, i16 0, i16 13602, i16 0, i16 0, i16 0, i16 14115, i16 0, i16 0, i16 0, i16 14371, i16 0, i16 0, i16 0, i16 16675, i16 0, i16 0, i16 0, i16 12580, i16 16042, i16 12849, i16 0, i16 13348, i16 14712, i16 15662, i16 0, i16 15140, i16 0, i16 0, i16 0, i16 15909, i16 0, i16 0, i16 0, i16 16933, i16 0, i16 13345, i16 0, i16 12582, i16 0, i16 13797, i16 0, i16 13350, i16 0, i16 0, i16 0, i16 13862, i16 0, i16 0, i16 0, i16 16934, i16 0, i16 0, i16 0, i16 15143, i16 16324, i16 0, i16 0, i16 12840, i16 15772, i16 0, i16 0, i16 14888, i16 14337, i16 0, i16 0, i16 16424, i16 0, i16 0, i16 0, i16 16680, i16 0, i16 0, i16 0, i16 16936, i16 12953, i16 0, i16 0, i16 14633, i16 0, i16 0, i16 0, i16 14889, i16 12899, i16 0, i16 0, i16 15401, i16 15603, i16 0, i16 0, i16 15146, i16 0, i16 0, i16 0, i16 13611, i16 0, i16 0, i16 0, i16 16684, i16 0, i16 0, i16 0, i16 14637, i16 0, i16 0, i16 0, i16 16429, i16 0, i16 0, i16 0, i16 12590, i16 0, i16 0, i16 0, i16 13358, i16 13570, i16 14553, i16 0, i16 14126, i16 0, i16 0, i16 0, i16 14894, i16 0, i16 0, i16 0, i16 15407, i16 15848, i16 16384, i16 0, i16 15919, i16 0, i16 0, i16 0, i16 16431, i16 0, i16 16343, i16 0, i16 16687, i16 0, i16 0, i16 0, i16 16943, i16 0, i16 0, i16 0, i16 15408, i16 0, i16 14373, i16 0, i16 15920, i16 0, i16 0, i16 0, i16 16176, i16 0, i16 16162, i16 0, i16 16688, i16 0, i16 16319, i16 0, i16 13617, i16 0, i16 0, i16 0, i16 14385, i16 0, i16 0, i16 0, i16 12338, i16 0, i16 0, i16 0, i16 12594, i16 0, i16 13859, i16 0, i16 12850, i16 0, i16 0, i16 0, i16 13618, i16 0, i16 0, i16 0, i16 14386, i16 0, i16 12777, i16 0, i16 15922, i16 16156, i16 13300, i16 0, i16 13363, i16 12934, i16 0, i16 0, i16 15668, i16 0, i16 0, i16 0, i16 16692, i16 0, i16 0, i16 0, i16 12341, i16 0, i16 0, i16 0, i16 14645, i16 13454, i16 13712, i16 0, i16 15925, i16 14582, i16 0, i16 0, i16 12342, i16 0, i16 0, i16 0, i16 13110, i16 0, i16 0, i16 0, i16 13622, i16 16877, i16 0, i16 0, i16 14134, i16 16977, i16 14101, i16 0, i16 15926, i16 0, i16 14100, i16 0, i16 12855, i16 0, i16 0, i16 0, i16 13111, i16 0, i16 0, i16 0, i16 15415, i16 0, i16 13550, i16 0, i16 12344, i16 14324, i16 0, i16 0, i16 13368, i16 17123, i16 0, i16 0, i16 13880, i16 0, i16 0, i16 0, i16 14136, i16 15933, i16 16499, i16 0, i16 15672, i16 0, i16 0, i16 0, i16 16184, i16 0, i16 0, i16 0, i16 14649, i16 17057, i16 12572, i16 0, i16 15161, i16 0, i16 13899, i16 0, i16 16697, i16 14679, i16 0, i16 0, i16 12602, i16 16064, i16 0, i16 0, i16 14650, i16 0, i16 0, i16 0, i16 14906, i16 15697, i16 14606, i16 0, i16 16186, i16 0, i16 0, i16 0, i16 16954, i16 0, i16 12615, i16 0, i16 12859, i16 0, i16 0, i16 0, i16 13883, i16 0, i16 0, i16 0, i16 16443, i16 0, i16 0, i16 0, i16 16955, i16 0, i16 0, i16 0, i16 1084, i16 0, i16 0, i16 0, i16 13372, i16 0, i16 15883, i16 0, i16 14652, i16 0, i16 15961, i16 0, i16 12605, i16 16723, i16 0, i16 0, i16 13373, i16 0, i16 0, i16 0, i16 14397, i16 0, i16 0, i16 0, i16 14653, i16 0, i16 0, i16 0, i16 14909, i16 15552, i16 14122, i16 0, i16 12862, i16 0, i16 0, i16 0, i16 13374, i16 0, i16 13511, i16 0, i16 12607, i16 0, i16 0, i16 0, i16 14143, i16 0, i16 0, i16 0, i16 15679, i16 0, i16 16861, i16 0, i16 16191, i16 0, i16 0, i16 0, i16 12352, i16 0, i16 13142, i16 0, i16 12608, i16 0, i16 0, i16 0, i16 13120, i16 0, i16 0, i16 0, i16 13376, i16 16172, i16 12431, i16 0, i16 13888, i16 0, i16 0, i16 0, i16 14400, i16 0, i16 0, i16 0, i16 15680, i16 13424, i16 0, i16 0, i16 13633, i16 0, i16 0, i16 0, i16 15170, i16 0, i16 0, i16 0, i16 15682, i16 0, i16 0, i16 0, i16 16194, i16 0, i16 12409, i16 0, i16 14403, i16 0, i16 15776, i16 0, i16 14659, i16 14658, i16 0, i16 0, i16 15171, i16 0, i16 0, i16 0, i16 16195, i16 0, i16 13887, i16 0, i16 13124, i16 0, i16 0, i16 0, i16 13636, i16 0, i16 0, i16 0, i16 14404, i16 0, i16 0, i16 0, i16 16196, i16 0, i16 0, i16 0, i16 16452, i16 0, i16 0, i16 0, i16 16964, i16 0, i16 14108, i16 0, i16 14661, i16 0, i16 12817, i16 0, i16 14917, i16 16969, i16 12392, i16 0, i16 15941, i16 0, i16 15896, i16 0, i16 16197, i16 0, i16 0, i16 0, i16 16454, i16 0, i16 0, i16 0, i16 13639, i16 0, i16 0, i16 0, i16 14919, i16 0, i16 0, i16 0, i16 15175, i16 0, i16 14644, i16 0, i16 15687, i16 0, i16 16380, i16 0, i16 13384, i16 0, i16 0, i16 0, i16 13896, i16 0, i16 0, i16 0, i16 14408, i16 0, i16 0, i16 0, i16 13897, i16 0, i16 0, i16 0, i16 12618, i16 17068, i16 0, i16 0, i16 13642, i16 16781, i16 0, i16 0, i16 13898, i16 16924, i16 0, i16 0, i16 15178, i16 14797, i16 0, i16 0, i16 12363, i16 0, i16 0, i16 0, i16 14411, i16 16971, i16 0, i16 0, i16 14923, i16 0, i16 15843, i16 0, i16 15947, i16 0, i16 0, i16 0, i16 16459, i16 0, i16 0, i16 0, i16 16715, i16 0, i16 0, i16 0, i16 14156, i16 0, i16 0, i16 0, i16 12877, i16 0, i16 16806, i16 0, i16 13389, i16 0, i16 0, i16 0, i16 14157, i16 0, i16 0, i16 0, i16 16461, i16 0, i16 16018, i16 0, i16 16717, i16 0, i16 0, i16 0, i16 13902, i16 0, i16 0, i16 0, i16 14926, i16 0, i16 12720, i16 0, i16 15694, i16 0, i16 15793, i16 0, i16 15950, i16 0, i16 0, i16 0, i16 16974, i16 0, i16 0, i16 0, i16 12879, i16 0, i16 0, i16 0, i16 14671, i16 0, i16 0, i16 0, i16 15439, i16 0, i16 0, i16 0, i16 15695, i16 0, i16 0, i16 0, i16 14416, i16 0, i16 0, i16 0, i16 15696, i16 0, i16 16589, i16 0, i16 14673, i16 0, i16 0, i16 0, i16 16465, i16 0, i16 15220, i16 0, i16 14162, i16 0, i16 0, i16 0, i16 16466, i16 15454, i16 13875, i16 0, i16 12627, i16 0, i16 0, i16 0, i16 13139, i16 0, i16 15444, i16 0, i16 13395, i16 0, i16 0, i16 0, i16 13651, i16 0, i16 0, i16 0, i16 16979, i16 0, i16 0, i16 0, i16 13140, i16 0, i16 0, i16 0, i16 13908, i16 0, i16 0, i16 0, i16 14420, i16 0, i16 0, i16 0, i16 14676, i16 0, i16 0, i16 0, i16 16212, i16 0, i16 0, i16 0, i16 16724, i16 0, i16 0, i16 0, i16 13141, i16 15167, i16 12734, i16 0, i16 13653, i16 0, i16 0, i16 0, i16 14421, i16 0, i16 12527, i16 0, i16 14677, i16 0, i16 0, i16 0, i16 15701, i16 0, i16 0, i16 0, i16 16213, i16 0, i16 0, i16 0, i16 12374, i16 12375, i16 0, i16 0, i16 12630, i16 0, i16 0, i16 0, i16 14678, i16 0, i16 0, i16 0, i16 16982, i16 13183, i16 0, i16 0, i16 13655, i16 0, i16 16233, i16 0, i16 14935, i16 0, i16 0, i16 0, i16 15447, i16 0, i16 0, i16 0, i16 16471, i16 13382, i16 0, i16 0, i16 16983, i16 15838, i16 14030, i16 0, i16 12376, i16 0, i16 0, i16 0, i16 14168, i16 0, i16 0, i16 0, i16 16216, i16 0, i16 14287, i16 0, i16 16728, i16 0, i16 0, i16 0, i16 89, i16 0, i16 0, i16 0, i16 14425, i16 0, i16 0, i16 0, i16 15705, i16 0, i16 0, i16 0, i16 16473, i16 0, i16 13593, i16 0, i16 16985, i16 0, i16 13907, i16 0, i16 90, i16 91, i16 92, i16 0, i16 12891, i16 0, i16 0, i16 0, i16 13915, i16 0, i16 0, i16 0, i16 14171, i16 0, i16 0, i16 0, i16 15707, i16 0, i16 0, i16 0, i16 12892, i16 0, i16 0, i16 0, i16 13660, i16 0, i16 0, i16 0, i16 14428, i16 0, i16 0, i16 0, i16 14940, i16 0, i16 0, i16 0, i16 16220, i16 16689, i16 15887, i16 0, i16 16988, i16 0, i16 0, i16 0, i16 12893, i16 0, i16 12842, i16 0, i16 14685, i16 16372, i16 0, i16 0, i16 13918, i16 12927, i16 0, i16 0, i16 16734, i16 0, i16 15318, i16 0, i16 13663, i16 0, i16 16595, i16 0, i16 12640, i16 0, i16 0, i16 0, i16 14945, i16 0, i16 0, i16 0, i16 15457, i16 0, i16 0, i16 0, i16 15713, i16 16567, i16 0, i16 0, i16 16225, i16 0, i16 15660, i16 0, i16 12386, i16 0, i16 0, i16 0, i16 14690, i16 0, i16 17039, i16 0, i16 16482, i16 0, i16 0, i16 0, i16 12643, i16 15955, i16 12727, i16 0, i16 13155, i16 12358, i16 0, i16 0, i16 13411, i16 17107, i16 0, i16 0, i16 16227, i16 0, i16 0, i16 0, i16 13412, i16 0, i16 15652, i16 0, i16 13924, i16 14113, i16 0, i16 0, i16 15972, i16 17161, i16 14439, i16 0, i16 16740, i16 0, i16 0, i16 0, i16 12901, i16 0, i16 0, i16 0, i16 15205, i16 0, i16 13167, i16 0, i16 15973, i16 0, i16 0, i16 0, i16 16741, i16 0, i16 14792, i16 0, i16 12646, i16 0, i16 12827, i16 0, i16 12902, i16 16984, i16 13252, i16 0, i16 14182, i16 0, i16 0, i16 0, i16 15462, i16 0, i16 0, i16 0, i16 12903, i16 0, i16 0, i16 0, i16 13159, i16 0, i16 0, i16 0, i16 14183, i16 0, i16 0, i16 0, i16 15207, i16 0, i16 0, i16 0, i16 15719, i16 0, i16 0, i16 0, i16 872, i16 873, i16 874, i16 0, i16 13672, i16 0, i16 0, i16 0, i16 14184, i16 0, i16 13723, i16 0, i16 14440, i16 15702, i16 13754, i16 0, i16 14696, i16 0, i16 12323, i16 0, i16 16488, i16 0, i16 0, i16 0, i16 12649, i16 0, i16 0, i16 0, i16 13161, i16 15899, i16 0, i16 0, i16 14185, i16 0, i16 0, i16 0, i16 14441, i16 0, i16 0, i16 0, i16 13162, i16 0, i16 0, i16 0, i16 13419, i16 0, i16 0, i16 0, i16 14443, i16 0, i16 0, i16 0, i16 15979, i16 16623, i16 0, i16 0, i16 876, i16 877, i16 878, i16 0, i16 13932, i16 13543, i16 0, i16 0, i16 17004, i16 16055, i16 15825, i16 0, i16 12397, i16 13647, i16 0, i16 0, i16 13165, i16 17058, i16 13093, i16 0, i16 14957, i16 0, i16 16405, i16 0, i16 15469, i16 0, i16 0, i16 0, i16 16749, i16 0, i16 0, i16 0, i16 13166, i16 0, i16 13950, i16 0, i16 15470, i16 12770, i16 0, i16 0, i16 16494, i16 13846, i16 16862, i16 0, i16 12655, i16 16472, i16 0, i16 0, i16 12911, i16 0, i16 14435, i16 0, i16 14447, i16 13098, i16 0, i16 0, i16 15215, i16 0, i16 0, i16 0, i16 15471, i16 0, i16 0, i16 0, i16 15727, i16 15044, i16 0, i16 0, i16 17007, i16 15700, i16 12367, i16 0, i16 12400, i16 0, i16 0, i16 0, i16 12912, i16 0, i16 0, i16 0, i16 14192, i16 0, i16 0, i16 0, i16 16240, i16 15211, i16 0, i16 0, i16 16496, i16 0, i16 16462, i16 0, i16 12401, i16 0, i16 0, i16 0, i16 14193, i16 16914, i16 16725, i16 0, i16 15217, i16 0, i16 12511, i16 0, i16 16497, i16 0, i16 14251, i16 0, i16 12402, i16 0, i16 0, i16 0, i16 13682, i16 0, i16 15219, i16 0, i16 14962, i16 0, i16 16960, i16 0, i16 12659, i16 16333, i16 0, i16 0, i16 13683, i16 0, i16 0, i16 0, i16 13684, i16 0, i16 12944, i16 0, i16 16756, i16 16757, i16 12346, i16 0, i16 17012, i16 13397, i16 0, i16 0, i16 17013, i16 0, i16 0, i16 0, i16 13430, i16 0, i16 0, i16 0, i16 14454, i16 0, i16 0, i16 0, i16 15222, i16 0, i16 0, i16 0, i16 15990, i16 0, i16 12661, i16 0, i16 13943, i16 13179, i16 16645, i16 0, i16 14455, i16 0, i16 0, i16 0, i16 14967, i16 0, i16 0, i16 0, i16 17015, i16 0, i16 15677, i16 0, i16 12920, i16 0, i16 0, i16 0, i16 15736, i16 0, i16 14401, i16 0, i16 13433, i16 12583, i16 0, i16 0, i16 13945, i16 0, i16 0, i16 0, i16 17017, i16 0, i16 0, i16 0, i16 15226, i16 0, i16 0, i16 0, i16 15994, i16 16110, i16 0, i16 0, i16 16762, i16 0, i16 0, i16 0, i16 15739, i16 0, i16 0, i16 0, i16 16507, i16 0, i16 0, i16 0, i16 15740, i16 0, i16 0, i16 0, i16 13693, i16 0, i16 13630, i16 0, i16 13949, i16 0, i16 14130, i16 0, i16 14461, i16 0, i16 0, i16 0, i16 15741, i16 0, i16 0, i16 0, i16 382, i16 383, i16 384, i16 0, i16 12670, i16 0, i16 0, i16 0, i16 13694, i16 0, i16 0, i16 0, i16 14718, i16 0, i16 0, i16 0, i16 16254, i16 16540, i16 14067, i16 0, i16 17022, i16 0, i16 0, i16 0, i16 13951, i16 14569, i16 0, i16 0, i16 14719, i16 0, i16 0, i16 0, i16 14975, i16 0, i16 0, i16 0, i16 15999, i16 16395, i16 0, i16 0, i16 16255, i16 15970, i16 0, i16 0, i16 14464, i16 0, i16 0, i16 0, i16 16000, i16 0, i16 15654, i16 0, i16 16768, i16 0, i16 0, i16 0, i16 129, i16 130, i16 0, i16 0, i16 12417, i16 0, i16 0, i16 0, i16 14209, i16 0, i16 0, i16 0, i16 16257, i16 13839, i16 0, i16 0, i16 12418, i16 0, i16 0, i16 0, i16 13698, i16 0, i16 0, i16 0, i16 14722, i16 0, i16 0, i16 0, i16 16514, i16 0, i16 0, i16 0, i16 15236, i16 0, i16 12423, i16 0, i16 17028, i16 0, i16 14146, i16 0, i16 133, i16 0, i16 0, i16 0, i16 13957, i16 0, i16 0, i16 0, i16 14469, i16 0, i16 14664, i16 0, i16 15749, i16 15089, i16 0, i16 0, i16 16773, i16 0, i16 0, i16 0, i16 17029, i16 16890, i16 0, i16 0, i16 134, i16 0, i16 0, i16 0, i16 12422, i16 16944, i16 0, i16 0, i16 13702, i16 0, i16 0, i16 0, i16 14726, i16 12950, i16 15112, i16 0, i16 135, i16 0, i16 216, i16 0, i16 12935, i16 15489, i16 14213, i16 0, i16 13191, i16 13212, i16 14463, i16 0, i16 13959, i16 13804, i16 0, i16 0, i16 16007, i16 0, i16 16851, i16 0, i16 17031, i16 0, i16 15590, i16 0, i16 13192, i16 0, i16 14757, i16 0, i16 13448, i16 0, i16 0, i16 0, i16 14728, i16 0, i16 14610, i16 0, i16 16008, i16 0, i16 0, i16 0, i16 12681, i16 0, i16 0, i16 0, i16 15753, i16 0, i16 0, i16 0, i16 13194, i16 0, i16 14601, i16 0, i16 13706, i16 13328, i16 0, i16 0, i16 12683, i16 0, i16 0, i16 0, i16 16267, i16 13977, i16 0, i16 0, i16 16523, i16 0, i16 0, i16 0, i16 13196, i16 16505, i16 0, i16 0, i16 16268, i16 0, i16 0, i16 0, i16 15501, i16 0, i16 0, i16 0, i16 13966, i16 0, i16 14225, i16 0, i16 14222, i16 0, i16 15866, i16 0, i16 16782, i16 15483, i16 12909, i16 0, i16 14991, i16 0, i16 0, i16 0, i16 14224, i16 16057, i16 16615, i16 0, i16 14480, i16 0, i16 0, i16 0, i16 14736, i16 0, i16 16389, i16 0, i16 14992, i16 0, i16 12530, i16 0, i16 15760, i16 0, i16 15102, i16 0, i16 16528, i16 0, i16 12544, i16 0, i16 12689, i16 0, i16 0, i16 0, i16 14481, i16 0, i16 0, i16 0, i16 16017, i16 0, i16 16265, i16 0, i16 16273, i16 0, i16 0, i16 0, i16 17041, i16 12577, i16 0, i16 0, i16 13714, i16 0, i16 17088, i16 0, i16 13970, i16 0, i16 0, i16 0, i16 14994, i16 0, i16 0, i16 0, i16 13203, i16 0, i16 15248, i16 0, i16 13715, i16 0, i16 0, i16 0, i16 14227, i16 0, i16 14729, i16 0, i16 12436, i16 12560, i16 0, i16 0, i16 15508, i16 0, i16 0, i16 0, i16 16020, i16 13774, i16 13965, i16 0, i16 16788, i16 0, i16 13922, i16 0, i16 12949, i16 14112, i16 0, i16 0, i16 14485, i16 12372, i16 0, i16 0, i16 14997, i16 0, i16 0, i16 0, i16 15509, i16 17038, i16 0, i16 0, i16 15765, i16 0, i16 13172, i16 0, i16 16021, i16 0, i16 0, i16 0, i16 16533, i16 17065, i16 15937, i16 0, i16 14742, i16 0, i16 0, i16 0, i16 14998, i16 0, i16 0, i16 0, i16 16278, i16 12741, i16 0, i16 0, i16 16534, i16 0, i16 0, i16 0, i16 14487, i16 0, i16 0, i16 0, i16 16279, i16 0, i16 0, i16 0, i16 13720, i16 0, i16 14858, i16 0, i16 16280, i16 14376, i16 0, i16 0, i16 13721, i16 0, i16 13661, i16 0, i16 15769, i16 0, i16 0, i16 0, i16 16025, i16 0, i16 12517, i16 0, i16 13978, i16 0, i16 0, i16 0, i16 14234, i16 0, i16 0, i16 0, i16 14490, i16 0, i16 16578, i16 0, i16 13467, i16 0, i16 0, i16 0, i16 15259, i16 0, i16 0, i16 0, i16 13724, i16 13489, i16 0, i16 0, i16 14492, i16 0, i16 0, i16 0, i16 15260, i16 0, i16 0, i16 0, i16 12445, i16 0, i16 0, i16 0, i16 13981, i16 0, i16 0, i16 0, i16 14749, i16 0, i16 15349, i16 0, i16 16797, i16 14625, i16 0, i16 0, i16 14750, i16 0, i16 14516, i16 0, i16 15262, i16 0, i16 0, i16 0, i16 15774, i16 0, i16 0, i16 0, i16 16286, i16 13429, i16 14081, i16 0, i16 12703, i16 0, i16 0, i16 0, i16 12959, i16 0, i16 0, i16 0, i16 13471, i16 0, i16 0, i16 0, i16 16799, i16 0, i16 0, i16 0, i16 14240, i16 0, i16 0, i16 0, i16 15264, i16 0, i16 0, i16 0, i16 16288, i16 0, i16 0, i16 0, i16 12449, i16 0, i16 0, i16 0, i16 14754, i16 0, i16 0, i16 0, i16 16034, i16 0, i16 14965, i16 0, i16 13219, i16 0, i16 0, i16 0, i16 13475, i16 12802, i16 0, i16 0, i16 13987, i16 0, i16 0, i16 0, i16 14499, i16 0, i16 14961, i16 0, i16 14755, i16 0, i16 0, i16 0, i16 15011, i16 0, i16 0, i16 0, i16 16035, i16 0, i16 0, i16 0, i16 16803, i16 0, i16 14505, i16 0, i16 13988, i16 0, i16 0, i16 0, i16 15012, i16 0, i16 13477, i16 0, i16 15268, i16 0, i16 0, i16 0, i16 12453, i16 0, i16 0, i16 0, i16 14245, i16 0, i16 0, i16 0, i16 15270, i16 13548, i16 0, i16 0, i16 13223, i16 12676, i16 0, i16 0, i16 15015, i16 0, i16 14969, i16 0, i16 16039, i16 0, i16 0, i16 0, i16 16551, i16 0, i16 0, i16 0, i16 13992, i16 12922, i16 12751, i16 0, i16 14248, i16 0, i16 13984, i16 0, i16 15016, i16 0, i16 0, i16 0, i16 169, i16 347, i16 0, i16 0, i16 14761, i16 0, i16 0, i16 0, i16 16809, i16 0, i16 15476, i16 0, i16 12970, i16 0, i16 0, i16 0, i16 14506, i16 12454, i16 0, i16 0, i16 14762, i16 0, i16 0, i16 0, i16 15786, i16 16009, i16 0, i16 0, i16 14507, i16 0, i16 13835, i16 0, i16 16555, i16 14270, i16 15187, i16 0, i16 12716, i16 16963, i16 13886, i16 0, i16 13740, i16 0, i16 0, i16 0, i16 14252, i16 0, i16 13592, i16 0, i16 15532, i16 0, i16 0, i16 0, i16 173, i16 0, i16 0, i16 0, i16 12461, i16 0, i16 0, i16 0, i16 14510, i16 12978, i16 0, i16 0, i16 16814, i16 0, i16 0, i16 0, i16 12719, i16 15416, i16 0, i16 0, i16 13231, i16 0, i16 0, i16 0, i16 13487, i16 0, i16 0, i16 0, i16 16047, i16 0, i16 0, i16 0, i16 16303, i16 13486, i16 15435, i16 0, i16 12464, i16 0, i16 0, i16 0, i16 13232, i16 0, i16 14864, i16 0, i16 14000, i16 0, i16 0, i16 0, i16 15280, i16 0, i16 0, i16 0, i16 16304, i16 0, i16 0, i16 0, i16 17072, i16 0, i16 13786, i16 0, i16 13745, i16 0, i16 0, i16 0, i16 14001, i16 0, i16 16036, i16 0, i16 17073, i16 0, i16 0, i16 0, i16 12722, i16 0, i16 0, i16 0, i16 14002, i16 13056, i16 16377, i16 0, i16 16306, i16 0, i16 0, i16 0, i16 12467, i16 0, i16 0, i16 0, i16 12979, i16 15210, i16 0, i16 0, i16 13235, i16 16467, i16 0, i16 0, i16 14003, i16 0, i16 12539, i16 0, i16 14259, i16 0, i16 0, i16 0, i16 12468, i16 0, i16 0, i16 0, i16 13236, i16 0, i16 0, i16 0, i16 13748, i16 0, i16 0, i16 0, i16 14772, i16 0, i16 0, i16 0, i16 14261, i16 0, i16 16750, i16 0, i16 15797, i16 0, i16 15079, i16 0, i16 182, i16 181, i16 0, i16 0, i16 12982, i16 0, i16 0, i16 0, i16 16566, i16 14236, i16 12396, i16 0, i16 14007, i16 0, i16 14200, i16 0, i16 15287, i16 15298, i16 0, i16 0, i16 16311, i16 0, i16 0, i16 0, i16 17079, i16 0, i16 16957, i16 0, i16 14008, i16 0, i16 0, i16 0, i16 14264, i16 0, i16 0, i16 0, i16 15032, i16 0, i16 0, i16 0, i16 15800, i16 0, i16 12647, i16 0, i16 17080, i16 0, i16 0, i16 0, i16 14777, i16 0, i16 12653, i16 0, i16 12730, i16 13939, i16 0, i16 0, i16 13242, i16 0, i16 0, i16 0, i16 17082, i16 15463, i16 0, i16 0, i16 13243, i16 0, i16 0, i16 0, i16 13499, i16 0, i16 12619, i16 0, i16 15547, i16 0, i16 0, i16 0, i16 16059, i16 0, i16 0, i16 0, i16 16827, i16 0, i16 0, i16 0, i16 12732, i16 0, i16 0, i16 0, i16 14780, i16 0, i16 0, i16 0, i16 16060, i16 16222, i16 16477, i16 0, i16 14013, i16 0, i16 0, i16 0, i16 16829, i16 14875, i16 0, i16 0, i16 12478, i16 0, i16 13819, i16 0, i16 16318, i16 0, i16 0, i16 0, i16 17086, i16 16766, i16 0, i16 0, i16 959, i16 960, i16 961, i16 0, i16 12479, i16 17114, i16 0, i16 0, i16 16831, i16 0, i16 0, i16 0, i16 17087, i16 0, i16 14320, i16 0, i16 12736, i16 0, i16 0, i16 0, i16 14784, i16 0, i16 0, i16 0, i16 15296, i16 0, i16 0, i16 0, i16 14529, i16 15967, i16 0, i16 0, i16 14785, i16 0, i16 14535, i16 0, i16 16577, i16 0, i16 16787, i16 0, i16 14018, i16 0, i16 12889, i16 0, i16 15554, i16 16918, i16 14331, i16 0, i16 17090, i16 0, i16 0, i16 0, i16 13507, i16 0, i16 0, i16 0, i16 14787, i16 14334, i16 12388, i16 0, i16 15555, i16 13137, i16 0, i16 0, i16 16067, i16 0, i16 14279, i16 0, i16 16835, i16 0, i16 0, i16 0, i16 14276, i16 0, i16 0, i16 0, i16 14532, i16 0, i16 0, i16 0, i16 15812, i16 0, i16 0, i16 0, i16 16580, i16 0, i16 16561, i16 0, i16 17092, i16 13324, i16 0, i16 0, i16 12485, i16 0, i16 0, i16 0, i16 13509, i16 0, i16 0, i16 0, i16 16581, i16 0, i16 0, i16 0, i16 17093, i16 14943, i16 0, i16 0, i16 13766, i16 16326, i16 0, i16 0, i16 15302, i16 0, i16 0, i16 0, i16 12487, i16 16568, i16 0, i16 0, i16 15559, i16 0, i16 0, i16 0, i16 15815, i16 0, i16 13257, i16 0, i16 16327, i16 0, i16 0, i16 0, i16 16583, i16 0, i16 0, i16 0, i16 12488, i16 0, i16 0, i16 0, i16 12744, i16 0, i16 16842, i16 0, i16 14024, i16 17150, i16 0, i16 0, i16 15048, i16 0, i16 0, i16 0, i16 13769, i16 0, i16 0, i16 0, i16 14537, i16 0, i16 0, i16 0, i16 14538, i16 0, i16 0, i16 0, i16 16330, i16 0, i16 0, i16 0, i16 12491, i16 0, i16 0, i16 0, i16 12747, i16 0, i16 0, i16 0, i16 14283, i16 0, i16 0, i16 0, i16 15563, i16 15180, i16 0, i16 0, i16 16331, i16 0, i16 0, i16 0, i16 16587, i16 16365, i16 0, i16 0, i16 204, i16 160, i16 0, i16 0, i16 12492, i16 0, i16 0, i16 0, i16 12748, i16 12463, i16 14825, i16 0, i16 15564, i16 14603, i16 14662, i16 0, i16 16076, i16 16453, i16 0, i16 0, i16 12493, i16 13904, i16 0, i16 0, i16 14029, i16 0, i16 0, i16 0, i16 12750, i16 0, i16 13916, i16 0, i16 15054, i16 0, i16 0, i16 0, i16 16334, i16 0, i16 0, i16 0, i16 16846, i16 0, i16 0, i16 0, i16 15312, i16 16790, i16 14958, i16 0, i16 15824, i16 0, i16 0, i16 0, i16 12497, i16 0, i16 0, i16 0, i16 12498, i16 16586, i16 0, i16 0, i16 13266, i16 0, i16 0, i16 0, i16 16082, i16 0, i16 0, i16 0, i16 16338, i16 16898, i16 0, i16 0, i16 13267, i16 0, i16 0, i16 0, i16 15571, i16 0, i16 13048, i16 0, i16 16339, i16 0, i16 0, i16 0, i16 13268, i16 0, i16 16251, i16 0, i16 14548, i16 0, i16 13322, i16 0, i16 17108, i16 0, i16 0, i16 0, i16 13525, i16 0, i16 0, i16 0, i16 14549, i16 16208, i16 0, i16 0, i16 15061, i16 16355, i16 12754, i16 0, i16 16085, i16 0, i16 16086, i16 0, i16 16341, i16 0, i16 0, i16 0, i16 12758, i16 0, i16 0, i16 0, i16 13782, i16 13206, i16 0, i16 0, i16 14038, i16 0, i16 0, i16 0, i16 14294, i16 0, i16 0, i16 0, i16 13271, i16 15273, i16 0, i16 0, i16 14551, i16 0, i16 0, i16 0, i16 15063, i16 0, i16 0, i16 0, i16 15319, i16 15008, i16 0, i16 0, i16 16087, i16 0, i16 0, i16 0, i16 16855, i16 0, i16 0, i16 0, i16 17111, i16 0, i16 0, i16 0, i16 13528, i16 0, i16 0, i16 0, i16 15320, i16 13709, i16 0, i16 0, i16 15576, i16 0, i16 0, i16 0, i16 15832, i16 0, i16 0, i16 0, i16 17112, i16 0, i16 15491, i16 0, i16 15577, i16 15748, i16 0, i16 0, i16 16857, i16 0, i16 0, i16 0, i16 17113, i16 0, i16 0, i16 0, i16 12506, i16 0, i16 0, i16 0, i16 13530, i16 0, i16 16095, i16 0, i16 15834, i16 16856, i16 0, i16 0, i16 16090, i16 0, i16 15381, i16 0, i16 16346, i16 0, i16 0, i16 0, i16 16858, i16 0, i16 0, i16 0, i16 12507, i16 15526, i16 12403, i16 0, i16 16091, i16 0, i16 0, i16 0, i16 16347, i16 14430, i16 0, i16 0, i16 14044, i16 0, i16 0, i16 0, i16 14556, i16 0, i16 13251, i16 0, i16 12765, i16 0, i16 0, i16 0, i16 17117, i16 0, i16 0, i16 0, i16 14302, i16 0, i16 0, i16 0, i16 16094, i16 0, i16 12956, i16 0, i16 12767, i16 0, i16 0, i16 0, i16 15583, i16 0, i16 14655, i16 0, i16 14304, i16 15497, i16 0, i16 0, i16 14560, i16 0, i16 0, i16 0, i16 15840, i16 0, i16 16260, i16 0, i16 13281, i16 0, i16 0, i16 0, i16 14049, i16 0, i16 0, i16 0, i16 16097, i16 0, i16 12370, i16 0, i16 15074, i16 0, i16 0, i16 0, i16 15330, i16 15690, i16 15960, i16 0, i16 16866, i16 0, i16 0, i16 0, i16 227, i16 0, i16 0, i16 0, i16 12515, i16 0, i16 13876, i16 0, i16 14563, i16 0, i16 0, i16 0, i16 16611, i16 0, i16 0, i16 0, i16 12516, i16 0, i16 0, i16 0, i16 13284, i16 0, i16 0, i16 0, i16 13540, i16 0, i16 0, i16 0, i16 13796, i16 0, i16 0, i16 0, i16 14308, i16 0, i16 0, i16 0, i16 14309, i16 0, i16 0, i16 0, i16 14565, i16 0, i16 16525, i16 0, i16 16101, i16 14818, i16 0, i16 0, i16 16357, i16 14010, i16 0, i16 0, i16 14566, i16 0, i16 0, i16 0, i16 15334, i16 0, i16 0, i16 0, i16 16102, i16 16942, i16 15214, i16 0, i16 15847, i16 0, i16 0, i16 0, i16 16359, i16 15252, i16 0, i16 0, i16 232, i16 0, i16 0, i16 0, i16 15336, i16 0, i16 15165, i16 0, i16 16361, i16 15730, i16 0, i16 0, i16 14058, i16 0, i16 0, i16 0, i16 14314, i16 0, i16 0, i16 0, i16 15082, i16 12921, i16 14023, i16 0, i16 12779, i16 0, i16 0, i16 0, i16 13035, i16 0, i16 0, i16 0, i16 15083, i16 16001, i16 0, i16 0, i16 15595, i16 0, i16 0, i16 0, i16 16107, i16 0, i16 14187, i16 0, i16 16363, i16 0, i16 0, i16 0, i16 236, i16 0, i16 0, i16 0, i16 15596, i16 0, i16 0, i16 0, i16 16876, i16 0, i16 0, i16 0, i16 14061, i16 0, i16 0, i16 0, i16 14829, i16 14436, i16 16437, i16 0, i16 16621, i16 15846, i16 0, i16 0, i16 17133, i16 0, i16 0, i16 0, i16 12782, i16 0, i16 0, i16 0, i16 14318, i16 0, i16 14389, i16 0, i16 15598, i16 12969, i16 0, i16 0, i16 239, i16 0, i16 0, i16 0, i16 13295, i16 0, i16 0, i16 0, i16 496, i16 497, i16 498, i16 0, i16 12784, i16 0, i16 14922, i16 0, i16 16624, i16 0, i16 0, i16 0, i16 16880, i16 16428, i16 16881, i16 0, i16 14322, i16 15067, i16 0, i16 0, i16 14578, i16 0, i16 0, i16 0, i16 15602, i16 0, i16 0, i16 0, i16 12531, i16 0, i16 0, i16 0, i16 13299, i16 14574, i16 0, i16 0, i16 15859, i16 12469, i16 0, i16 0, i16 17139, i16 0, i16 0, i16 0, i16 12532, i16 0, i16 0, i16 0, i16 14836, i16 0, i16 0, i16 0, i16 13301, i16 0, i16 0, i16 0, i16 13557, i16 13244, i16 16772, i16 0, i16 12534, i16 0, i16 13973, i16 0, i16 13814, i16 13690, i16 0, i16 0, i16 14070, i16 0, i16 0, i16 0, i16 15862, i16 0, i16 0, i16 0, i16 16118, i16 0, i16 0, i16 0, i16 13303, i16 0, i16 0, i16 0, i16 13559, i16 14258, i16 0, i16 0, i16 14327, i16 14477, i16 0, i16 0, i16 16119, i16 0, i16 13937, i16 0, i16 16887, i16 0, i16 0, i16 0, i16 17143, i16 12677, i16 0, i16 0, i16 14840, i16 12604, i16 15706, i16 0, i16 14329, i16 0, i16 15728, i16 0, i16 16633, i16 0, i16 15151, i16 0, i16 13818, i16 16626, i16 15466, i16 0, i16 14330, i16 0, i16 0, i16 0, i16 16634, i16 12664, i16 0, i16 0, i16 251, i16 0, i16 0, i16 0, i16 13307, i16 0, i16 12887, i16 0, i16 16123, i16 0, i16 0, i16 0, i16 16379, i16 0, i16 0, i16 0, i16 16635, i16 0, i16 0, i16 0, i16 17147, i16 16591, i16 0, i16 0, i16 12796, i16 0, i16 0, i16 0, i16 14844, i16 0, i16 0, i16 0, i16 15356, i16 0, i16 0, i16 0, i16 15868, i16 0, i16 0, i16 0, i16 16636, i16 0, i16 0, i16 0, i16 16892, i16 13247, i16 0, i16 0, i16 12797, i16 0, i16 0, i16 0, i16 15613, i16 14079, i16 0, i16 0, i16 12286, i16 0, i16 13968, i16 0, i16 14078, i16 0, i16 0, i16 0, i16 14590, i16 13127, i16 0, i16 0, i16 15614, i16 13555, i16 13688, i16 0, i16 15870, i16 0, i16 0, i16 0, i16 16126, i16 0, i16 0, i16 0, i16 16382, i16 0, i16 0, i16 0, i16 12543, i16 0, i16 13728, i16 0, i16 13823, i16 0, i16 13674, i16 0, i16 15615, i16 12820, i16 0, i16 15104, i16 0, i16 0, i16 0, i16 15616, i16 13933, i16 15995, i16 0, i16 16128, i16 0, i16 0, i16 12308, i16 16640, i16 0, i16 0, i16 16054, i16 17152, i16 12348, i16 0, i16 0, i16 257, i16 258, i16 261, i16 260, i16 12801, i16 0, i16 0, i16 0, i16 13569, i16 16879, i16 0, i16 0, i16 14849, i16 0, i16 0, i16 0, i16 15617, i16 14776, i16 0, i16 0, i16 15873, i16 0, i16 14896, i16 0, i16 16385, i16 0, i16 0, i16 0, i16 514, i16 515, i16 516, i16 517, i16 770, i16 771, i16 772, i16 0, i16 1026, i16 1027, i16 1028, i16 1029, i16 13058, i16 12645, i16 0, i16 14683, i16 15874, i16 0, i16 0, i16 12460, i16 16386, i16 0, i16 0, i16 0, i16 259, i16 262, i16 0, i16 0, i16 12803, i16 0, i16 0, i16 0, i16 13059, i16 13351, i16 0, i16 0, i16 14083, i16 14084, i16 0, i16 0, i16 15107, i16 0, i16 0, i16 0, i16 16387, i16 0, i16 15688, i16 0, i16 16643, i16 0, i16 0, i16 0, i16 17155, i16 0, i16 16783, i16 0, i16 13828, i16 0, i16 0, i16 0, i16 15108, i16 12610, i16 14517, i16 0, i16 15364, i16 15365, i16 12936, i16 0, i16 15876, i16 0, i16 0, i16 0, i16 12805, i16 13691, i16 0, i16 0, i16 14853, i16 0, i16 0, i16 0, i16 15621, i16 0, i16 0, i16 0, i16 16901, i16 0, i16 0, i16 16677, i16 17157, i16 0, i16 0, i16 0, i16 518, i16 519, i16 0, i16 0, i16 1030, i16 1031, i16 1032, i16 1033, i16 13574, i16 0, i16 0, i16 0, i16 13830, i16 0, i16 0, i16 0, i16 14086, i16 0, i16 0, i16 0, i16 14342, i16 15893, i16 15892, i16 0, i16 7, i16 8, i16 9, i16 10, i16 263, i16 277, i16 278, i16 0, i16 775, i16 0, i16 0, i16 0, i16 12807, i16 0, i16 0, i16 0, i16 13319, i16 0, i16 0, i16 0, i16 13831, i16 0, i16 0, i16 0, i16 14855, i16 0, i16 0, i16 0, i16 15367, i16 0, i16 0, i16 17002, i16 15879, i16 14820, i16 14767, i16 0, i16 17159, i16 17158, i16 16518, i16 0, i16 776, i16 773, i16 777, i16 233, i16 12552, i16 16573, i16 0, i16 14188, i16 12808, i16 0, i16 0, i16 0, i16 13576, i16 12432, i16 0, i16 0, i16 16904, i16 0, i16 0, i16 0, i16 13065, i16 0, i16 0, i16 0, i16 13321, i16 13327, i16 13330, i16 13434, i16 14345, i16 13568, i16 0, i16 0, i16 15113, i16 14228, i16 0, i16 0, i16 15369, i16 15370, i16 0, i16 0, i16 16393, i16 13771, i16 0, i16 0, i16 266, i16 0, i16 267, i16 0, i16 1034, i16 1035, i16 1036, i16 1037, i16 12298, i16 0, i16 16519, i16 0, i16 12554, i16 0, i16 0, i16 0, i16 14090, i16 15681, i16 12652, i16 0, i16 11, i16 12, i16 13, i16 14, i16 523, i16 524, i16 525, i16 526, i16 779, i16 780, i16 781, i16 0, i16 15371, i16 0, i16 12852, i16 0, i16 15627, i16 0, i16 0, i16 0, i16 16907, i16 14760, i16 0, i16 0, i16 12812, i16 0, i16 13177, i16 0, i16 13068, i16 13069, i16 13070, i16 13072, i16 13580, i16 16024, i16 14835, i16 13381, i16 14604, i16 15275, i16 0, i16 0, i16 15372, i16 12415, i16 0, i16 12648, i16 269, i16 270, i16 0, i16 0, i16 12301, i16 12570, i16 0, i16 12599, i16 12813, i16 0, i16 0, i16 15111, i16 13581, i16 12989, i16 0, i16 0, i16 13837, i16 0, i16 16492, i16 0, i16 14093, i16 0, i16 0, i16 12975, i16 14861, i16 0, i16 15592, i16 0, i16 16141, i16 0, i16 0, i16 0, i16 16653, i16 0, i16 0, i16 0, i16 1038, i16 1039, i16 1040, i16 1041, i16 12814, i16 0, i16 0, i16 12706, i16 13838, i16 14545, i16 16980, i16 0, i16 15374, i16 15377, i16 15382, i16 15384, i16 15630, i16 0, i16 0, i16 0, i16 15886, i16 15536, i16 0, i16 14123, i16 16142, i16 14132, i16 14450, i16 0, i16 15, i16 16, i16 17, i16 18, i16 527, i16 528, i16 529, i16 530, i16 12303, i16 13730, i16 0, i16 0, i16 14095, i16 0, i16 0, i16 0, i16 15375, i16 0, i16 0, i16 0, i16 15631, i16 14274, i16 14286, i16 16727, i16 16143, i16 0, i16 0, i16 12638, i16 16399, i16 0, i16 14372, i16 0, i16 784, i16 0, i16 0, i16 0, i16 13840, i16 0, i16 12299, i16 0, i16 14096, i16 16478, i16 0, i16 0, i16 17168, i16 0, i16 0, i16 0, i16 12305, i16 0, i16 0, i16 13199, i16 12561, i16 0, i16 0, i16 0, i16 13073, i16 13074, i16 13075, i16 13076, i16 14097, i16 0, i16 0, i16 0, i16 14865, i16 0, i16 0, i16 0, i16 15633, i16 12694, i16 0, i16 12377, i16 16401, i16 0, i16 12835, i16 0, i16 1042, i16 1043, i16 1044, i16 0, i16 13586, i16 0, i16 14476, i16 0, i16 13842, i16 12965, i16 0, i16 14265, i16 14098, i16 0, i16 0, i16 0, i16 15122, i16 15419, i16 0, i16 15300, i16 15634, i16 13210, i16 0, i16 0, i16 16402, i16 0, i16 0, i16 12309, i16 17170, i16 16987, i16 16811, i16 14313, i16 19, i16 20, i16 21, i16 0, i16 275, i16 273, i16 0, i16 0, i16 531, i16 532, i16 533, i16 534, i16 12307, i16 0, i16 15734, i16 0, i16 13587, i16 0, i16 0, i16 0, i16 16403, i16 12791, i16 0, i16 0, i16 788, i16 0, i16 0, i16 0, i16 12564, i16 12629, i16 0, i16 14470, i16 14868, i16 14870, i16 14874, i16 14910, i16 16916, i16 13696, i16 0, i16 0, i16 789, i16 697, i16 790, i16 0, i16 1045, i16 1046, i16 1047, i16 1048, i16 12565, i16 0, i16 0, i16 0, i16 12821, i16 0, i16 0, i16 0, i16 13077, i16 13079, i16 13080, i16 13081, i16 13333, i16 0, i16 0, i16 0, i16 14357, i16 0, i16 0, i16 0, i16 14613, i16 13502, i16 0, i16 0, i16 14869, i16 0, i16 0, i16 0, i16 15637, i16 14361, i16 14107, i16 0, i16 22, i16 0, i16 23, i16 24, i16 16150, i16 14012, i16 13767, i16 0, i16 279, i16 276, i16 0, i16 0, i16 535, i16 536, i16 0, i16 537, i16 791, i16 0, i16 0, i16 0, i16 12567, i16 0, i16 0, i16 15172, i16 12823, i16 16179, i16 15581, i16 12312, i16 13847, i16 0, i16 0, i16 13811, i16 14359, i16 0, i16 0, i16 0, i16 14615, i16 0, i16 0, i16 14235, i16 15127, i16 0, i16 15766, i16 0, i16 15383, i16 0, i16 13753, i16 0, i16 12568, i16 0, i16 0, i16 13306, i16 12824, i16 0, i16 15607, i16 12864, i16 14104, i16 0, i16 0, i16 0, i16 14872, i16 0, i16 0, i16 0, i16 15640, i16 0, i16 0, i16 14139, i16 25, i16 26, i16 27, i16 28, i16 281, i16 0, i16 0, i16 0, i16 1049, i16 1050, i16 1052, i16 1053, i16 12313, i16 13332, i16 0, i16 12825, i16 14617, i16 0, i16 13773, i16 15987, i16 16409, i16 0, i16 15799, i16 0, i16 538, i16 539, i16 540, i16 541, i16 12314, i16 0, i16 0, i16 0, i16 12826, i16 0, i16 0, i16 12800, i16 13082, i16 13083, i16 13084, i16 13085, i16 14106, i16 16843, i16 0, i16 16575, i16 14618, i16 0, i16 0, i16 0, i16 15642, i16 0, i16 0, i16 0, i16 13339, i16 15747, i16 0, i16 0, i16 13851, i16 0, i16 13432, i16 0, i16 14363, i16 0, i16 0, i16 15368, i16 14619, i16 0, i16 0, i16 0, i16 15131, i16 0, i16 0, i16 16830, i16 16411, i16 0, i16 0, i16 0, i16 16923, i16 14142, i16 0, i16 14540, i16 12316, i16 0, i16 0, i16 16908, i16 13596, i16 0, i16 15599, i16 0, i16 14364, i16 17134, i16 0, i16 0, i16 14876, i16 0, i16 0, i16 0, i16 15388, i16 15391, i16 15393, i16 15394, i16 29, i16 30, i16 31, i16 32, i16 12317, i16 0, i16 0, i16 15758, i16 12573, i16 0, i16 0, i16 0, i16 13341, i16 0, i16 0, i16 0, i16 14109, i16 0, i16 0, i16 13273, i16 15389, i16 0, i16 14346, i16 14634, i16 286, i16 0, i16 0, i16 679, i16 542, i16 543, i16 0, i16 0, i16 798, i16 799, i16 800, i16 801, i16 1054, i16 1055, i16 1056, i16 1057, i16 12574, i16 0, i16 14714, i16 0, i16 13086, i16 13087, i16 13088, i16 13089, i16 13598, i16 0, i16 0, i16 0, i16 14366, i16 0, i16 0, i16 13288, i16 14622, i16 0, i16 0, i16 13168, i16 14878, i16 14663, i16 0, i16 0, i16 13343, i16 0, i16 0, i16 16050, i16 13855, i16 13834, i16 0, i16 12997, i16 14111, i16 12898, i16 0, i16 14936, i16 14367, i16 0, i16 0, i16 0, i16 15647, i16 0, i16 0, i16 0, i16 16159, i16 0, i16 0, i16 0, i16 544, i16 555, i16 545, i16 556, i16 13600, i16 0, i16 0, i16 0, i16 13856, i16 16531, i16 0, i16 0, i16 14880, i16 0, i16 0, i16 0, i16 16160, i16 0, i16 0, i16 0, i16 16416, i16 0, i16 13817, i16 0, i16 33, i16 34, i16 35, i16 36, i16 13857, i16 0, i16 0, i16 0, i16 546, i16 583, i16 582, i16 557, i16 802, i16 803, i16 804, i16 805, i16 1058, i16 1059, i16 1060, i16 1061, i16 12578, i16 0, i16 0, i16 0, i16 12834, i16 16537, i16 13775, i16 0, i16 14626, i16 0, i16 0, i16 0, i16 15138, i16 0, i16 0, i16 0, i16 16930, i16 0, i16 0, i16 0, i16 291, i16 292, i16 293, i16 294, i16 547, i16 577, i16 576, i16 558, i16 12579, i16 12755, i16 0, i16 0, i16 13091, i16 13092, i16 13096, i16 13097, i16 13347, i16 0, i16 0, i16 0, i16 14627, i16 14539, i16 15436, i16 0, i16 15651, i16 0, i16 15105, i16 0, i16 16931, i16 0, i16 0, i16 12335, i16 548, i16 579, i16 578, i16 559, i16 15908, i16 0, i16 0, i16 0, i16 16164, i16 0, i16 13836, i16 0, i16 16932, i16 15385, i16 0, i16 0, i16 37, i16 38, i16 39, i16 40, i16 549, i16 581, i16 580, i16 560, i16 13349, i16 0, i16 0, i16 0, i16 13605, i16 0, i16 0, i16 0, i16 13861, i16 0, i16 14594, i16 15626, i16 14629, i16 0, i16 12476, i16 0, i16 14885, i16 0, i16 0, i16 0, i16 15141, i16 0, i16 0, i16 12717, i16 15397, i16 0, i16 0, i16 0, i16 15653, i16 0, i16 0, i16 16014, i16 550, i16 571, i16 584, i16 585, i16 806, i16 807, i16 808, i16 809, i16 1062, i16 1063, i16 1064, i16 1065, i16 12326, i16 0, i16 0, i16 0, i16 13606, i16 0, i16 0, i16 0, i16 14118, i16 16596, i16 15068, i16 14731, i16 14886, i16 0, i16 12514, i16 0, i16 16422, i16 0, i16 14654, i16 0, i16 295, i16 296, i16 297, i16 298, i16 551, i16 592, i16 593, i16 567, i16 12839, i16 0, i16 0, i16 0, i16 13607, i16 14883, i16 16707, i16 0, i16 13863, i16 0, i16 0, i16 0, i16 15399, i16 0, i16 0, i16 0, i16 15655, i16 14031, i16 14395, i16 0, i16 16167, i16 0, i16 15903, i16 0, i16 16935, i16 0, i16 0, i16 0, i16 552, i16 573, i16 588, i16 589, i16 13352, i16 0, i16 0, i16 0, i16 13608, i16 0, i16 0, i16 0, i16 14120, i16 0, i16 15293, i16 0, i16 15144, i16 0, i16 0, i16 0, i16 15912, i16 12541, i16 13870, i16 0, i16 41, i16 42, i16 43, i16 44, i16 553, i16 596, i16 597, i16 569, i16 12585, i16 0, i16 0, i16 0, i16 12841, i16 12810, i16 0, i16 0, i16 13865, i16 0, i16 0, i16 13462, i16 14377, i16 12693, i16 0, i16 12872, i16 15913, i16 0, i16 0, i16 0, i16 16169, i16 12857, i16 0, i16 13290, i16 554, i16 600, i16 601, i16 570, i16 810, i16 811, i16 812, i16 813, i16 1066, i16 1067, i16 1068, i16 1069, i16 13866, i16 0, i16 14612, i16 0, i16 14378, i16 0, i16 16272, i16 13312, i16 15402, i16 0, i16 0, i16 0, i16 16426, i16 14161, i16 0, i16 0, i16 16682, i16 0, i16 0, i16 0, i16 16938, i16 0, i16 16694, i16 16603, i16 299, i16 300, i16 301, i16 302, i16 12331, i16 0, i16 0, i16 0, i16 13099, i16 13100, i16 13102, i16 13103, i16 13867, i16 0, i16 0, i16 0, i16 15659, i16 0, i16 0, i16 14841, i16 13612, i16 0, i16 16751, i16 13410, i16 14636, i16 0, i16 0, i16 0, i16 14892, i16 14009, i16 0, i16 0, i16 15148, i16 0, i16 15943, i16 12679, i16 15916, i16 0, i16 0, i16 0, i16 16940, i16 16394, i16 14706, i16 0, i16 45, i16 46, i16 47, i16 48, i16 12333, i16 0, i16 0, i16 12297, i16 12845, i16 0, i16 0, i16 14223, i16 13357, i16 16618, i16 0, i16 0, i16 13613, i16 14635, i16 0, i16 0, i16 13869, i16 0, i16 0, i16 0, i16 15661, i16 0, i16 0, i16 0, i16 15917, i16 16642, i16 0, i16 0, i16 16173, i16 0, i16 0, i16 13254, i16 814, i16 815, i16 816, i16 817, i16 1070, i16 1071, i16 1072, i16 1073, i16 12846, i16 0, i16 16637, i16 13664, i16 303, i16 304, i16 305, i16 306, i16 12847, i16 0, i16 0, i16 0, i16 13615, i16 0, i16 13985, i16 0, i16 13871, i16 0, i16 0, i16 0, i16 14895, i16 0, i16 15844, i16 14089, i16 12592, i16 0, i16 16205, i16 0, i16 13104, i16 13105, i16 13106, i16 13107, i16 13872, i16 0, i16 0, i16 0, i16 15152, i16 0, i16 12319, i16 12545, i16 49, i16 50, i16 51, i16 52, i16 13873, i16 0, i16 0, i16 0, i16 14129, i16 0, i16 0, i16 0, i16 14897, i16 0, i16 0, i16 0, i16 15665, i16 0, i16 16344, i16 16912, i16 15921, i16 16016, i16 14055, i16 13417, i16 16177, i16 0, i16 0, i16 14753, i16 818, i16 819, i16 820, i16 821, i16 1074, i16 1075, i16 1076, i16 1077, i16 15410, i16 15411, i16 15413, i16 15417, i16 16178, i16 14405, i16 0, i16 0, i16 16434, i16 15807, i16 15243, i16 0, i16 307, i16 308, i16 309, i16 310, i16 12339, i16 0, i16 0, i16 15839, i16 14131, i16 0, i16 0, i16 0, i16 14387, i16 0, i16 0, i16 0, i16 14643, i16 15448, i16 0, i16 0, i16 15155, i16 0, i16 0, i16 0, i16 15667, i16 0, i16 0, i16 0, i16 16435, i16 0, i16 0, i16 12749, i16 12596, i16 0, i16 0, i16 0, i16 13108, i16 13109, i16 13114, i16 13115, i16 13364, i16 14877, i16 0, i16 0, i16 14900, i16 0, i16 0, i16 0, i16 16436, i16 0, i16 0, i16 0, i16 53, i16 54, i16 55, i16 56, i16 12597, i16 0, i16 0, i16 16939, i16 13877, i16 0, i16 16491, i16 15185, i16 14901, i16 0, i16 0, i16 0, i16 16949, i16 0, i16 15802, i16 0, i16 566, i16 586, i16 587, i16 561, i16 822, i16 823, i16 824, i16 825, i16 1078, i16 1079, i16 1080, i16 1081, i16 14390, i16 0, i16 0, i16 0, i16 14902, i16 0, i16 0, i16 12930, i16 15158, i16 0, i16 12620, i16 15062, i16 15670, i16 0, i16 0, i16 0, i16 16438, i16 15340, i16 0, i16 16791, i16 311, i16 312, i16 313, i16 314, i16 13367, i16 16221, i16 16526, i16 0, i16 13879, i16 14764, i16 15132, i16 0, i16 15159, i16 15814, i16 0, i16 0, i16 15671, i16 0, i16 0, i16 16804, i16 16439, i16 13563, i16 0, i16 0, i16 16695, i16 0, i16 0, i16 0, i16 568, i16 590, i16 591, i16 563, i16 12600, i16 0, i16 0, i16 0, i16 13624, i16 0, i16 16032, i16 16310, i16 16440, i16 0, i16 12692, i16 13449, i16 16696, i16 0, i16 0, i16 14281, i16 16952, i16 16111, i16 0, i16 0, i16 57, i16 58, i16 59, i16 60, i16 13113, i16 0, i16 0, i16 0, i16 13881, i16 13940, i16 13941, i16 0, i16 15673, i16 16353, i16 0, i16 16691, i16 16441, i16 0, i16 12822, i16 15936, i16 16953, i16 16871, i16 15856, i16 12551, i16 826, i16 827, i16 828, i16 829, i16 1082, i16 1083, i16 1085, i16 1086, i16 14394, i16 15473, i16 0, i16 0, i16 15418, i16 15422, i16 15423, i16 15428, i16 16442, i16 0, i16 0, i16 0, i16 315, i16 316, i16 317, i16 318, i16 15931, i16 0, i16 14069, i16 0, i16 16187, i16 16188, i16 0, i16 0, i16 16699, i16 0, i16 0, i16 16698, i16 572, i16 594, i16 595, i16 562, i16 13116, i16 13117, i16 13118, i16 13119, i16 14908, i16 0, i16 0, i16 14194, i16 61, i16 62, i16 63, i16 64, i16 13629, i16 0, i16 0, i16 0, i16 574, i16 598, i16 599, i16 564, i16 830, i16 831, i16 832, i16 833, i16 12350, i16 0, i16 15031, i16 0, i16 12606, i16 13556, i16 14165, i16 0, i16 16190, i16 0, i16 0, i16 14219, i16 16446, i16 0, i16 0, i16 12529, i16 319, i16 320, i16 321, i16 322, i16 1087, i16 1088, i16 1089, i16 1090, i16 12863, i16 0, i16 0, i16 0, i16 14399, i16 0, i16 0, i16 15204, i16 14911, i16 14912, i16 14914, i16 14915, i16 14144, i16 13858, i16 0, i16 0, i16 14656, i16 0, i16 0, i16 0, i16 15424, i16 0, i16 0, i16 0, i16 16448, i16 14368, i16 17076, i16 12951, i16 65, i16 66, i16 67, i16 68, i16 12609, i16 0, i16 0, i16 0, i16 13121, i16 13122, i16 13292, i16 13314, i16 14657, i16 15421, i16 16239, i16 12586, i16 15169, i16 0, i16 0, i16 16147, i16 834, i16 835, i16 836, i16 837, i16 12354, i16 0, i16 16676, i16 14020, i16 13890, i16 0, i16 0, i16 0, i16 14402, i16 0, i16 15406, i16 0, i16 15426, i16 14351, i16 0, i16 0, i16 16450, i16 17137, i16 0, i16 0, i16 16706, i16 0, i16 0, i16 0, i16 323, i16 324, i16 325, i16 326, i16 1091, i16 1092, i16 1093, i16 1094, i16 12867, i16 0, i16 0, i16 0, i16 13123, i16 0, i16 13799, i16 13101, i16 13635, i16 0, i16 0, i16 0, i16 13891, i16 0, i16 0, i16 0, i16 14147, i16 0, i16 14148, i16 14149, i16 15939, i16 0, i16 14140, i16 13205, i16 16451, i16 0, i16 0, i16 0, i16 12356, i16 0, i16 0, i16 12804, i16 12612, i16 0, i16 0, i16 0, i16 12868, i16 0, i16 0, i16 0, i16 16708, i16 0, i16 0, i16 14124, i16 69, i16 70, i16 71, i16 72, i16 12357, i16 13758, i16 0, i16 17094, i16 838, i16 839, i16 840, i16 841, i16 12870, i16 12894, i16 12907, i16 12992, i16 14150, i16 0, i16 0, i16 13722, i16 14918, i16 14921, i16 14927, i16 14929, i16 16198, i16 0, i16 0, i16 0, i16 327, i16 328, i16 329, i16 330, i16 1095, i16 1096, i16 1097, i16 1098, i16 12871, i16 13304, i16 0, i16 0, i16 14151, i16 15380, i16 0, i16 16447, i16 14407, i16 0, i16 0, i16 0, i16 15431, i16 15432, i16 15433, i16 15434, i16 16199, i16 0, i16 16646, i16 12696, i16 16967, i16 0, i16 0, i16 0, i16 12360, i16 0, i16 0, i16 0, i16 12616, i16 0, i16 0, i16 0, i16 14152, i16 14254, i16 14256, i16 14275, i16 16200, i16 15023, i16 0, i16 0, i16 16968, i16 0, i16 0, i16 15490, i16 73, i16 74, i16 75, i16 76, i16 14409, i16 16493, i16 0, i16 12457, i16 16201, i16 0, i16 0, i16 12412, i16 842, i16 843, i16 844, i16 845, i16 13386, i16 0, i16 0, i16 0, i16 14410, i16 0, i16 0, i16 0, i16 15946, i16 0, i16 0, i16 0, i16 16458, i16 0, i16 0, i16 0, i16 331, i16 332, i16 333, i16 334, i16 1099, i16 1100, i16 1101, i16 1102, i16 13643, i16 0, i16 0, i16 0, i16 14667, i16 16229, i16 14220, i16 0, i16 16203, i16 0, i16 13697, i16 16959, i16 12876, i16 0, i16 14128, i16 0, i16 13644, i16 13645, i16 0, i16 0, i16 13900, i16 0, i16 0, i16 0, i16 14668, i16 15935, i16 0, i16 0, i16 15692, i16 0, i16 0, i16 0, i16 16460, i16 17118, i16 13652, i16 16277, i16 16716, i16 0, i16 0, i16 0, i16 16972, i16 13323, i16 0, i16 0, i16 77, i16 78, i16 79, i16 80, i16 13133, i16 0, i16 0, i16 0, i16 14413, i16 14238, i16 0, i16 0, i16 15437, i16 13403, i16 15831, i16 14474, i16 15693, i16 12584, i16 0, i16 14433, i16 846, i16 847, i16 848, i16 849, i16 12366, i16 0, i16 0, i16 0, i16 12622, i16 0, i16 0, i16 0, i16 14158, i16 0, i16 0, i16 0, i16 15182, i16 15183, i16 15189, i16 15191, i16 15438, i16 0, i16 15541, i16 0, i16 16718, i16 0, i16 0, i16 0, i16 335, i16 336, i16 337, i16 338, i16 1103, i16 1104, i16 1105, i16 1106, i16 16207, i16 13692, i16 0, i16 0, i16 16719, i16 16092, i16 0, i16 12318, i16 16975, i16 0, i16 16560, i16 0, i16 12368, i16 0, i16 14730, i16 16284, i16 12624, i16 13779, i16 0, i16 0, i16 12880, i16 0, i16 0, i16 0, i16 13648, i16 16754, i16 0, i16 0, i16 14672, i16 0, i16 0, i16 0, i16 14928, i16 0, i16 0, i16 0, i16 15440, i16 15484, i16 15485, i16 15488, i16 15952, i16 0, i16 0, i16 0, i16 81, i16 82, i16 83, i16 84, i16 12625, i16 0, i16 0, i16 0, i16 12881, i16 0, i16 0, i16 0, i16 13393, i16 15069, i16 0, i16 0, i16 13905, i16 0, i16 0, i16 0, i16 15441, i16 0, i16 12759, i16 15305, i16 15953, i16 15242, i16 0, i16 0, i16 850, i16 851, i16 0, i16 0, i16 12626, i16 0, i16 16516, i16 0, i16 13138, i16 0, i16 0, i16 0, i16 14930, i16 14931, i16 14933, i16 14937, i16 15954, i16 12429, i16 0, i16 0, i16 16978, i16 0, i16 12756, i16 0, i16 339, i16 340, i16 341, i16 342, i16 1107, i16 1108, i16 1109, i16 1110, i16 12371, i16 0, i16 0, i16 13280, i16 12883, i16 16244, i16 0, i16 14076, i16 852, i16 853, i16 854, i16 855, i16 85, i16 86, i16 87, i16 88, i16 13909, i16 0, i16 0, i16 0, i16 15190, i16 16683, i16 0, i16 0, i16 15446, i16 0, i16 0, i16 16364, i16 16726, i16 0, i16 15405, i16 0, i16 343, i16 344, i16 345, i16 346, i16 14167, i16 0, i16 0, i16 0, i16 16215, i16 0, i16 0, i16 16946, i16 856, i16 857, i16 858, i16 859, i16 12632, i16 0, i16 12954, i16 14051, i16 14680, i16 0, i16 0, i16 16133, i16 15192, i16 0, i16 0, i16 12731, i16 15704, i16 0, i16 0, i16 0, i16 13657, i16 0, i16 16746, i16 15249, i16 14169, i16 0, i16 0, i16 14941, i16 14681, i16 0, i16 0, i16 13062, i16 15193, i16 15196, i16 15203, i16 15208, i16 16217, i16 0, i16 0, i16 0, i16 602, i16 603, i16 575, i16 604, i16 12378, i16 0, i16 0, i16 0, i16 12634, i16 0, i16 0, i16 0, i16 13914, i16 0, i16 0, i16 0, i16 14938, i16 14942, i16 14950, i16 14952, i16 16218, i16 0, i16 15720, i16 15308, i16 16474, i16 0, i16 0, i16 0, i16 12635, i16 0, i16 15162, i16 0, i16 15195, i16 15117, i16 0, i16 0, i16 16219, i16 14723, i16 0, i16 14210, i16 16475, i16 16878, i16 0, i16 0, i16 16731, i16 13425, i16 13354, i16 0, i16 860, i16 861, i16 862, i16 863, i16 12636, i16 12671, i16 12843, i16 12848, i16 15452, i16 0, i16 0, i16 16113, i16 15964, i16 0, i16 0, i16 0, i16 16732, i16 15276, i16 0, i16 0, i16 93, i16 94, i16 95, i16 96, i16 605, i16 606, i16 607, i16 608, i16 12381, i16 0, i16 0, i16 0, i16 12637, i16 0, i16 0, i16 0, i16 15197, i16 0, i16 0, i16 0, i16 16989, i16 16604, i16 16529, i16 12685, i16 12382, i16 0, i16 0, i16 0, i16 13662, i16 17008, i16 17091, i16 15900, i16 15966, i16 0, i16 15965, i16 0, i16 16990, i16 0, i16 0, i16 15548, i16 351, i16 352, i16 353, i16 354, i16 12639, i16 13535, i16 16905, i16 0, i16 13407, i16 14189, i16 0, i16 0, i16 13919, i16 14215, i16 0, i16 0, i16 14175, i16 0, i16 16825, i16 0, i16 14687, i16 0, i16 15830, i16 17030, i16 16479, i16 0, i16 15951, i16 0, i16 864, i16 865, i16 866, i16 0, i16 12384, i16 15412, i16 14756, i16 0, i16 13152, i16 16096, i16 0, i16 0, i16 13408, i16 0, i16 0, i16 0, i16 13920, i16 0, i16 0, i16 0, i16 14688, i16 0, i16 0, i16 0, i16 16224, i16 0, i16 0, i16 0, i16 16480, i16 0, i16 0, i16 0, i16 16992, i16 0, i16 0, i16 0, i16 97, i16 98, i16 99, i16 100, i16 609, i16 610, i16 611, i16 565, i16 12385, i16 15963, i16 0, i16 0, i16 13153, i16 15352, i16 0, i16 0, i16 14177, i16 16622, i16 0, i16 0, i16 15201, i16 13463, i16 0, i16 12601, i16 16481, i16 0, i16 16100, i16 14801, i16 16737, i16 14119, i16 13491, i16 15570, i16 12642, i16 15578, i16 0, i16 15586, i16 14178, i16 0, i16 0, i16 0, i16 14434, i16 0, i16 12816, i16 0, i16 15202, i16 12458, i16 0, i16 0, i16 15714, i16 0, i16 0, i16 0, i16 16738, i16 17040, i16 0, i16 13241, i16 355, i16 356, i16 357, i16 358, i16 14691, i16 0, i16 13169, i16 0, i16 14947, i16 0, i16 0, i16 15534, i16 12644, i16 0, i16 16786, i16 0, i16 12900, i16 14153, i16 16593, i16 0, i16 13668, i16 0, i16 16247, i16 0, i16 101, i16 102, i16 103, i16 104, i16 13157, i16 0, i16 0, i16 0, i16 13413, i16 0, i16 0, i16 0, i16 14181, i16 0, i16 0, i16 0, i16 14437, i16 14744, i16 12562, i16 0, i16 14949, i16 14462, i16 12293, i16 0, i16 16485, i16 0, i16 0, i16 0, i16 16997, i16 13129, i16 0, i16 15959, i16 870, i16 0, i16 0, i16 0, i16 13670, i16 12405, i16 0, i16 0, i16 13926, i16 0, i16 16547, i16 0, i16 15206, i16 0, i16 0, i16 0, i16 16742, i16 0, i16 15362, i16 0, i16 359, i16 360, i16 361, i16 362, i16 13671, i16 0, i16 0, i16 16700, i16 14695, i16 0, i16 14197, i16 0, i16 16231, i16 0, i16 0, i16 15711, i16 16743, i16 0, i16 0, i16 0, i16 16999, i16 12558, i16 0, i16 0, i16 616, i16 622, i16 623, i16 624, i16 13928, i16 13929, i16 0, i16 0, i16 15464, i16 16002, i16 0, i16 0, i16 15976, i16 0, i16 0, i16 16852, i16 16232, i16 0, i16 16003, i16 0, i16 16744, i16 0, i16 14502, i16 13911, i16 105, i16 106, i16 107, i16 108, i16 617, i16 675, i16 690, i16 283, i16 14953, i16 14956, i16 14964, i16 14968, i16 15209, i16 13666, i16 16813, i16 14575, i16 15465, i16 0, i16 0, i16 0, i16 15721, i16 0, i16 0, i16 0, i16 16489, i16 13095, i16 0, i16 14300, i16 16745, i16 0, i16 0, i16 0, i16 14954, i16 0, i16 0, i16 0, i16 363, i16 364, i16 365, i16 366, i16 619, i16 620, i16 621, i16 640, i16 875, i16 0, i16 0, i16 0, i16 12395, i16 0, i16 0, i16 0, i16 13163, i16 0, i16 13604, i16 0, i16 13931, i16 0, i16 16865, i16 13665, i16 14699, i16 0, i16 0, i16 0, i16 15723, i16 0, i16 0, i16 0, i16 16747, i16 15442, i16 12315, i16 0, i16 14444, i16 0, i16 14347, i16 0, i16 14700, i16 15223, i16 0, i16 0, i16 15468, i16 0, i16 0, i16 0, i16 15724, i16 0, i16 0, i16 0, i16 16236, i16 0, i16 12512, i16 16144, i16 109, i16 110, i16 111, i16 112, i16 14701, i16 0, i16 12413, i16 15310, i16 15213, i16 0, i16 0, i16 16807, i16 15981, i16 0, i16 0, i16 14611, i16 12398, i16 0, i16 13810, i16 0, i16 13422, i16 0, i16 0, i16 0, i16 13678, i16 16641, i16 15345, i16 0, i16 14702, i16 0, i16 0, i16 0, i16 15726, i16 0, i16 12419, i16 17035, i16 16238, i16 0, i16 14062, i16 0, i16 367, i16 368, i16 369, i16 370, i16 879, i16 880, i16 881, i16 882, i16 12399, i16 15153, i16 0, i16 0, i16 13423, i16 0, i16 0, i16 17122, i16 14191, i16 0, i16 16427, i16 0, i16 14703, i16 13623, i16 0, i16 16506, i16 15983, i16 15729, i16 0, i16 0, i16 16495, i16 0, i16 16714, i16 0, i16 12656, i16 0, i16 13762, i16 0, i16 13936, i16 0, i16 0, i16 12284, i16 14448, i16 12575, i16 0, i16 13776, i16 14704, i16 0, i16 13229, i16 15194, i16 113, i16 114, i16 115, i16 116, i16 625, i16 626, i16 627, i16 628, i16 12657, i16 16053, i16 0, i16 0, i16 15985, i16 0, i16 16183, i16 13515, i16 17009, i16 0, i16 14554, i16 0, i16 12658, i16 0, i16 0, i16 0, i16 15474, i16 0, i16 16770, i16 0, i16 16498, i16 15164, i16 0, i16 0, i16 17010, i16 0, i16 13788, i16 13789, i16 371, i16 372, i16 373, i16 374, i16 883, i16 884, i16 885, i16 886, i16 14963, i16 15898, i16 0, i16 0, i16 16755, i16 0, i16 0, i16 0, i16 17011, i16 0, i16 0, i16 15514, i16 12404, i16 0, i16 0, i16 0, i16 12916, i16 0, i16 0, i16 14195, i16 16500, i16 0, i16 14290, i16 0, i16 117, i16 118, i16 119, i16 120, i16 629, i16 630, i16 631, i16 618, i16 13173, i16 0, i16 16230, i16 0, i16 13685, i16 13795, i16 16412, i16 0, i16 16245, i16 0, i16 16891, i16 0, i16 16501, i16 0, i16 0, i16 0, i16 12918, i16 0, i16 0, i16 0, i16 13686, i16 0, i16 0, i16 0, i16 13942, i16 13667, i16 0, i16 0, i16 14198, i16 12283, i16 0, i16 0, i16 14710, i16 0, i16 0, i16 0, i16 15478, i16 0, i16 15445, i16 15918, i16 16246, i16 16210, i16 13864, i16 0, i16 16758, i16 0, i16 0, i16 0, i16 375, i16 376, i16 377, i16 378, i16 887, i16 888, i16 889, i16 890, i16 12663, i16 0, i16 0, i16 0, i16 13431, i16 15482, i16 0, i16 0, i16 13687, i16 0, i16 0, i16 0, i16 15479, i16 0, i16 0, i16 0, i16 15735, i16 0, i16 14247, i16 0, i16 15991, i16 0, i16 0, i16 12861, i16 16503, i16 0, i16 0, i16 0, i16 13176, i16 0, i16 0, i16 0, i16 14456, i16 0, i16 0, i16 14707, i16 15224, i16 0, i16 0, i16 0, i16 16248, i16 0, i16 0, i16 0, i16 121, i16 122, i16 123, i16 124, i16 13689, i16 0, i16 0, i16 15343, i16 15481, i16 0, i16 15241, i16 0, i16 16761, i16 15321, i16 0, i16 0, i16 13178, i16 0, i16 16356, i16 0, i16 13946, i16 14970, i16 0, i16 0, i16 14458, i16 0, i16 0, i16 15513, i16 379, i16 380, i16 224, i16 0, i16 891, i16 892, i16 893, i16 894, i16 12923, i16 0, i16 0, i16 0, i16 14203, i16 0, i16 0, i16 0, i16 14459, i16 16609, i16 0, i16 12288, i16 14971, i16 14974, i16 14977, i16 14979, i16 15227, i16 17075, i16 14960, i16 0, i16 17019, i16 12410, i16 0, i16 0, i16 12668, i16 0, i16 12416, i16 0, i16 12924, i16 0, i16 0, i16 16146, i16 13948, i16 13979, i16 14073, i16 14121, i16 16764, i16 0, i16 0, i16 0, i16 17020, i16 0, i16 0, i16 0, i16 125, i16 126, i16 127, i16 132, i16 637, i16 638, i16 671, i16 672, i16 12925, i16 0, i16 0, i16 17153, i16 13437, i16 14216, i16 0, i16 0, i16 15997, i16 0, i16 0, i16 0, i16 16253, i16 17110, i16 16998, i16 0, i16 17021, i16 14028, i16 14602, i16 0, i16 12414, i16 0, i16 0, i16 15940, i16 13182, i16 0, i16 0, i16 0, i16 15230, i16 0, i16 0, i16 0, i16 15998, i16 13078, i16 12795, i16 0, i16 639, i16 688, i16 632, i16 0, i16 895, i16 896, i16 897, i16 898, i16 15487, i16 0, i16 16117, i16 0, i16 16511, i16 0, i16 13967, i16 0, i16 12672, i16 0, i16 0, i16 0, i16 12928, i16 0, i16 0, i16 0, i16 13952, i16 0, i16 0, i16 14693, i16 14720, i16 15363, i16 17000, i16 0, i16 15232, i16 0, i16 0, i16 14017, i16 17024, i16 0, i16 0, i16 0, i16 385, i16 386, i16 387, i16 388, i16 641, i16 680, i16 681, i16 682, i16 12673, i16 15969, i16 15810, i16 15142, i16 12929, i16 14360, i16 15168, i16 0, i16 13953, i16 17120, i16 0, i16 0, i16 15233, i16 0, i16 0, i16 0, i16 15745, i16 13371, i16 15358, i16 16608, i16 16513, i16 0, i16 0, i16 0, i16 16769, i16 0, i16 14392, i16 0, i16 17025, i16 0, i16 0, i16 0, i16 642, i16 643, i16 644, i16 645, i16 12674, i16 0, i16 13497, i16 16005, i16 13186, i16 0, i16 0, i16 0, i16 14466, i16 16629, i16 0, i16 0, i16 15746, i16 0, i16 0, i16 0, i16 131, i16 0, i16 693, i16 0, i16 899, i16 900, i16 901, i16 902, i16 13955, i16 0, i16 14350, i16 0, i16 15235, i16 14924, i16 0, i16 0, i16 16259, i16 0, i16 12776, i16 15255, i16 16771, i16 0, i16 0, i16 0, i16 17027, i16 0, i16 0, i16 0, i16 12932, i16 15535, i16 13829, i16 12760, i16 13188, i16 0, i16 0, i16 16888, i16 13444, i16 0, i16 0, i16 0, i16 14212, i16 0, i16 0, i16 15638, i16 14468, i16 0, i16 15186, i16 13221, i16 16004, i16 0, i16 0, i16 13654, i16 389, i16 390, i16 391, i16 392, i16 12933, i16 15624, i16 0, i16 0, i16 15493, i16 15494, i16 15495, i16 15496, i16 16517, i16 0, i16 12390, i16 0, i16 646, i16 647, i16 648, i16 649, i16 12678, i16 0, i16 0, i16 0, i16 13446, i16 0, i16 0, i16 0, i16 14982, i16 14983, i16 14984, i16 14986, i16 15238, i16 0, i16 14524, i16 0, i16 15750, i16 0, i16 14589, i16 0, i16 16774, i16 12986, i16 15718, i16 0, i16 903, i16 904, i16 905, i16 906, i16 13447, i16 0, i16 0, i16 0, i16 14471, i16 12595, i16 16282, i16 14959, i16 15751, i16 0, i16 14208, i16 0, i16 16263, i16 0, i16 14091, i16 0, i16 16775, i16 15669, i16 0, i16 0, i16 136, i16 348, i16 349, i16 350, i16 12424, i16 12430, i16 12447, i16 12611, i16 12680, i16 0, i16 16168, i16 0, i16 14472, i16 14429, i16 0, i16 0, i16 15240, i16 15283, i16 15323, i16 15359, i16 15752, i16 15337, i16 15932, i16 14724, i16 16264, i16 0, i16 0, i16 0, i16 16520, i16 0, i16 0, i16 0, i16 137, i16 203, i16 0, i16 0, i16 393, i16 394, i16 395, i16 396, i16 12937, i16 15537, i16 0, i16 0, i16 14217, i16 0, i16 0, i16 0, i16 16777, i16 0, i16 0, i16 0, i16 17033, i16 0, i16 15761, i16 0, i16 138, i16 139, i16 0, i16 0, i16 650, i16 651, i16 657, i16 658, i16 12682, i16 0, i16 0, i16 0, i16 12938, i16 0, i16 0, i16 0, i16 14218, i16 0, i16 0, i16 16130, i16 16778, i16 13956, i16 0, i16 0, i16 17034, i16 0, i16 13841, i16 12533, i16 907, i16 908, i16 909, i16 910, i16 12427, i16 0, i16 0, i16 0, i16 13195, i16 0, i16 16922, i16 0, i16 13707, i16 0, i16 0, i16 0, i16 14475, i16 0, i16 0, i16 0, i16 15499, i16 15502, i16 15504, i16 15510, i16 16011, i16 0, i16 0, i16 16509, i16 16779, i16 12836, i16 16582, i16 0, i16 140, i16 141, i16 0, i16 0, i16 652, i16 653, i16 654, i16 655, i16 12684, i16 0, i16 0, i16 0, i16 13452, i16 12433, i16 0, i16 0, i16 13708, i16 0, i16 14987, i16 0, i16 13964, i16 0, i16 15770, i16 16631, i16 14988, i16 14989, i16 14990, i16 14993, i16 15500, i16 0, i16 0, i16 0, i16 15756, i16 17160, i16 0, i16 0, i16 16012, i16 0, i16 0, i16 0, i16 16780, i16 14427, i16 14651, i16 16249, i16 397, i16 398, i16 399, i16 400, i16 14733, i16 15528, i16 0, i16 0, i16 15245, i16 16145, i16 12910, i16 15246, i16 142, i16 143, i16 0, i16 0, i16 12686, i16 0, i16 0, i16 0, i16 16270, i16 15176, i16 16407, i16 0, i16 911, i16 912, i16 913, i16 914, i16 12687, i16 0, i16 0, i16 0, i16 13455, i16 13547, i16 13572, i16 13917, i16 15759, i16 0, i16 0, i16 0, i16 16527, i16 13808, i16 0, i16 12337, i16 144, i16 145, i16 146, i16 147, i16 656, i16 0, i16 0, i16 0, i16 13200, i16 0, i16 0, i16 14170, i16 13456, i16 0, i16 0, i16 0, i16 401, i16 402, i16 403, i16 404, i16 12945, i16 13998, i16 0, i16 0, i16 13457, i16 16256, i16 0, i16 16553, i16 13969, i16 13521, i16 0, i16 0, i16 15505, i16 0, i16 0, i16 0, i16 12434, i16 0, i16 15058, i16 13539, i16 12690, i16 14684, i16 12987, i16 16033, i16 14482, i16 0, i16 0, i16 0, i16 15250, i16 0, i16 0, i16 0, i16 15762, i16 14596, i16 16510, i16 0, i16 16274, i16 13878, i16 0, i16 0, i16 16530, i16 0, i16 0, i16 13211, i16 659, i16 660, i16 661, i16 662, i16 915, i16 916, i16 917, i16 918, i16 13971, i16 0, i16 12440, i16 0, i16 14739, i16 0, i16 0, i16 0, i16 14995, i16 14996, i16 14999, i16 15000, i16 15507, i16 14598, i16 14237, i16 15914, i16 15763, i16 15390, i16 12379, i16 14705, i16 16275, i16 0, i16 0, i16 0, i16 148, i16 149, i16 150, i16 151, i16 13460, i16 0, i16 16753, i16 15034, i16 13716, i16 13717, i16 15801, i16 0, i16 14484, i16 13903, i16 14323, i16 0, i16 15764, i16 0, i16 15835, i16 0, i16 16276, i16 16223, i16 0, i16 0, i16 405, i16 406, i16 407, i16 408, i16 12437, i16 0, i16 0, i16 13759, i16 13461, i16 0, i16 0, i16 0, i16 15253, i16 0, i16 0, i16 0, i16 14486, i16 15451, i16 0, i16 16104, i16 663, i16 664, i16 665, i16 666, i16 919, i16 920, i16 921, i16 922, i16 13207, i16 0, i16 0, i16 15529, i16 13719, i16 12365, i16 16469, i16 15002, i16 14231, i16 12961, i16 0, i16 0, i16 14743, i16 0, i16 0, i16 0, i16 15511, i16 15515, i16 15516, i16 15519, i16 15767, i16 14614, i16 0, i16 13954, i16 152, i16 153, i16 0, i16 199, i16 12952, i16 0, i16 0, i16 0, i16 13208, i16 0, i16 0, i16 0, i16 14232, i16 0, i16 0, i16 0, i16 15256, i16 13725, i16 0, i16 16406, i16 16792, i16 0, i16 12502, i16 0, i16 17048, i16 0, i16 16613, i16 0, i16 409, i16 410, i16 411, i16 412, i16 12697, i16 0, i16 0, i16 0, i16 13465, i16 0, i16 15265, i16 16948, i16 14489, i16 0, i16 12306, i16 0, i16 15001, i16 15003, i16 15009, i16 15014, i16 12442, i16 13226, i16 0, i16 14226, i16 12698, i16 15313, i16 0, i16 17014, i16 15258, i16 0, i16 0, i16 0, i16 16538, i16 13681, i16 16557, i16 0, i16 667, i16 612, i16 613, i16 614, i16 923, i16 924, i16 925, i16 926, i16 12443, i16 16521, i16 0, i16 16894, i16 16539, i16 16116, i16 14202, i16 15247, i16 16795, i16 16796, i16 16864, i16 16991, i16 17052, i16 0, i16 0, i16 0, i16 157, i16 177, i16 0, i16 0, i16 413, i16 414, i16 415, i16 416, i16 669, i16 670, i16 285, i16 687, i16 12957, i16 0, i16 12393, i16 0, i16 13213, i16 0, i16 13510, i16 0, i16 15005, i16 0, i16 0, i16 0, i16 15517, i16 0, i16 0, i16 0, i16 16541, i16 15492, i16 0, i16 0, i16 158, i16 159, i16 0, i16 0, i16 12702, i16 16396, i16 16565, i16 0, i16 13726, i16 0, i16 15904, i16 0, i16 15006, i16 0, i16 0, i16 13595, i16 15518, i16 0, i16 0, i16 0, i16 927, i16 928, i16 929, i16 930, i16 13983, i16 0, i16 0, i16 0, i16 16287, i16 0, i16 0, i16 0, i16 17055, i16 0, i16 0, i16 0, i16 13472, i16 14810, i16 14523, i16 0, i16 15520, i16 15531, i16 15539, i16 15540, i16 16544, i16 0, i16 12913, i16 0, i16 161, i16 205, i16 0, i16 0, i16 417, i16 418, i16 419, i16 420, i16 673, i16 633, i16 634, i16 635, i16 13729, i16 14746, i16 0, i16 15579, i16 14497, i16 0, i16 0, i16 13296, i16 16545, i16 0, i16 0, i16 15030, i16 162, i16 154, i16 868, i16 869, i16 12450, i16 0, i16 0, i16 0, i16 13218, i16 16234, i16 0, i16 0, i16 13474, i16 0, i16 15986, i16 0, i16 931, i16 932, i16 933, i16 934, i16 12963, i16 16061, i16 0, i16 0, i16 13731, i16 14781, i16 15351, i16 0, i16 14243, i16 0, i16 0, i16 0, i16 17059, i16 15542, i16 13128, i16 0, i16 13476, i16 0, i16 0, i16 0, i16 13732, i16 0, i16 0, i16 15733, i16 15524, i16 0, i16 13441, i16 0, i16 16548, i16 16337, i16 0, i16 13756, i16 17060, i16 0, i16 0, i16 0, i16 421, i16 422, i16 423, i16 424, i16 12709, i16 0, i16 0, i16 0, i16 13733, i16 0, i16 0, i16 0, i16 13989, i16 0, i16 0, i16 0, i16 14501, i16 0, i16 0, i16 15771, i16 15013, i16 0, i16 13401, i16 13158, i16 15525, i16 0, i16 0, i16 0, i16 16805, i16 15459, i16 15096, i16 13761, i16 17061, i16 0, i16 14417, i16 0, i16 12966, i16 0, i16 15984, i16 0, i16 13734, i16 0, i16 13803, i16 13637, i16 14246, i16 0, i16 14315, i16 0, i16 16038, i16 0, i16 0, i16 14842, i16 16550, i16 12792, i16 0, i16 0, i16 17062, i16 0, i16 0, i16 15604, i16 167, i16 168, i16 218, i16 381, i16 935, i16 936, i16 937, i16 938, i16 13735, i16 0, i16 13742, i16 13171, i16 14759, i16 16681, i16 0, i16 13892, i16 15271, i16 15272, i16 14418, i16 0, i16 12968, i16 0, i16 14867, i16 0, i16 16040, i16 0, i16 16175, i16 0, i16 16552, i16 16563, i16 16665, i16 16686, i16 425, i16 426, i16 427, i16 428, i16 13225, i16 15942, i16 13512, i16 0, i16 13481, i16 0, i16 0, i16 0, i16 15017, i16 15018, i16 15020, i16 15021, i16 15785, i16 0, i16 0, i16 16662, i16 16297, i16 0, i16 0, i16 0, i16 12714, i16 0, i16 12438, i16 16242, i16 14250, i16 16679, i16 14694, i16 0, i16 15530, i16 15333, i16 0, i16 0, i16 16298, i16 15512, i16 0, i16 13777, i16 16554, i16 0, i16 0, i16 13450, i16 171, i16 0, i16 170, i16 0, i16 683, i16 676, i16 677, i16 678, i16 939, i16 940, i16 941, i16 942, i16 12459, i16 16235, i16 0, i16 0, i16 12715, i16 0, i16 0, i16 0, i16 12971, i16 0, i16 0, i16 0, i16 13227, i16 0, i16 0, i16 0, i16 15787, i16 0, i16 0, i16 0, i16 17067, i16 0, i16 0, i16 0, i16 172, i16 0, i16 0, i16 0, i16 12972, i16 0, i16 0, i16 15139, i16 13228, i16 0, i16 0, i16 0, i16 14508, i16 0, i16 13704, i16 0, i16 16044, i16 0, i16 0, i16 0, i16 16556, i16 0, i16 0, i16 0, i16 429, i16 430, i16 431, i16 432, i16 685, i16 0, i16 0, i16 686, i16 13485, i16 0, i16 0, i16 0, i16 13997, i16 0, i16 0, i16 0, i16 14509, i16 13175, i16 16316, i16 0, i16 15533, i16 0, i16 0, i16 0, i16 15789, i16 17036, i16 0, i16 0, i16 16045, i16 0, i16 16600, i16 0, i16 16301, i16 0, i16 15820, i16 12844, i16 12718, i16 16063, i16 12914, i16 14117, i16 12974, i16 0, i16 16705, i16 0, i16 13230, i16 0, i16 15623, i16 13677, i16 14766, i16 0, i16 0, i16 0, i16 15022, i16 0, i16 13436, i16 0, i16 15278, i16 0, i16 14272, i16 0, i16 16302, i16 14904, i16 16258, i16 16283, i16 16558, i16 16824, i16 0, i16 0, i16 943, i16 944, i16 945, i16 946, i16 14255, i16 16131, i16 0, i16 13355, i16 15791, i16 0, i16 0, i16 0, i16 16815, i16 0, i16 0, i16 0, i16 17071, i16 0, i16 0, i16 0, i16 13488, i16 0, i16 0, i16 0, i16 14768, i16 0, i16 14039, i16 0, i16 15024, i16 15039, i16 15041, i16 15046, i16 433, i16 434, i16 435, i16 436, i16 689, i16 684, i16 0, i16 0, i16 12465, i16 13274, i16 0, i16 13752, i16 12721, i16 16798, i16 14932, i16 0, i16 12977, i16 0, i16 12908, i16 0, i16 14257, i16 14133, i16 0, i16 0, i16 15025, i16 0, i16 0, i16 0, i16 16817, i16 12884, i16 0, i16 0, i16 12466, i16 16789, i16 12563, i16 13222, i16 13234, i16 0, i16 0, i16 0, i16 15794, i16 0, i16 0, i16 0, i16 947, i16 948, i16 949, i16 950, i16 12723, i16 0, i16 0, i16 0, i16 14771, i16 0, i16 13435, i16 0, i16 16051, i16 15890, i16 0, i16 0, i16 16819, i16 12329, i16 0, i16 17001, i16 692, i16 0, i16 0, i16 0, i16 12724, i16 0, i16 13132, i16 0, i16 15796, i16 0, i16 0, i16 0, i16 16308, i16 16502, i16 16504, i16 16536, i16 437, i16 438, i16 439, i16 440, i16 12725, i16 0, i16 0, i16 0, i16 13493, i16 0, i16 0, i16 0, i16 14005, i16 0, i16 0, i16 0, i16 15029, i16 0, i16 0, i16 0, i16 12726, i16 0, i16 15184, i16 0, i16 13238, i16 16154, i16 16911, i16 0, i16 14006, i16 0, i16 0, i16 0, i16 14774, i16 0, i16 0, i16 0, i16 15286, i16 0, i16 0, i16 0, i16 16822, i16 14980, i16 0, i16 0, i16 17078, i16 0, i16 0, i16 0, i16 951, i16 952, i16 953, i16 954, i16 12471, i16 0, i16 0, i16 12778, i16 13751, i16 0, i16 16204, i16 0, i16 14519, i16 0, i16 0, i16 0, i16 14775, i16 0, i16 0, i16 0, i16 15543, i16 15546, i16 15549, i16 15550, i16 12472, i16 16606, i16 14284, i16 0, i16 13240, i16 12549, i16 0, i16 13294, i16 15288, i16 0, i16 0, i16 0, i16 16056, i16 0, i16 0, i16 0, i16 441, i16 442, i16 443, i16 444, i16 12473, i16 0, i16 0, i16 0, i16 14521, i16 14717, i16 14727, i16 14735, i16 15289, i16 12888, i16 0, i16 16378, i16 16313, i16 13827, i16 0, i16 14976, i16 16569, i16 16206, i16 0, i16 0, i16 698, i16 0, i16 0, i16 0, i16 14266, i16 0, i16 0, i16 0, i16 14778, i16 0, i16 0, i16 0, i16 16058, i16 0, i16 0, i16 0, i16 955, i16 956, i16 957, i16 958, i16 14267, i16 0, i16 0, i16 0, i16 12988, i16 0, i16 0, i16 0, i16 14268, i16 0, i16 13468, i16 0, i16 15036, i16 0, i16 0, i16 0, i16 16572, i16 14518, i16 12691, i16 13239, i16 189, i16 188, i16 0, i16 253, i16 445, i16 446, i16 447, i16 448, i16 12477, i16 15331, i16 0, i16 0, i16 13245, i16 0, i16 0, i16 0, i16 13757, i16 0, i16 0, i16 14374, i16 14525, i16 0, i16 13038, i16 0, i16 16317, i16 0, i16 0, i16 0, i16 17085, i16 0, i16 15086, i16 0, i16 15038, i16 0, i16 17064, i16 0, i16 15806, i16 0, i16 0, i16 0, i16 16574, i16 0, i16 0, i16 0, i16 14783, i16 0, i16 0, i16 0, i16 15551, i16 15803, i16 0, i16 16468, i16 704, i16 705, i16 706, i16 707, i16 13248, i16 14745, i16 0, i16 15254, i16 13504, i16 0, i16 0, i16 0, i16 14016, i16 15498, i16 16826, i16 0, i16 15808, i16 0, i16 12581, i16 0, i16 16320, i16 0, i16 0, i16 0, i16 16576, i16 0, i16 0, i16 0, i16 193, i16 192, i16 0, i16 0, i16 449, i16 450, i16 451, i16 452, i16 12481, i16 15674, i16 0, i16 0, i16 12737, i16 0, i16 0, i16 16125, i16 12993, i16 12996, i16 12999, i16 13000, i16 13505, i16 12448, i16 0, i16 16713, i16 15297, i16 15282, i16 16915, i16 0, i16 16321, i16 0, i16 0, i16 0, i16 17089, i16 0, i16 0, i16 0, i16 962, i16 963, i16 964, i16 965, i16 12482, i16 0, i16 0, i16 0, i16 12994, i16 0, i16 0, i16 14948, i16 13250, i16 0, i16 17056, i16 0, i16 15042, i16 0, i16 0, i16 0, i16 16322, i16 0, i16 0, i16 0, i16 195, i16 196, i16 194, i16 197, i16 12483, i16 16508, i16 13428, i16 13090, i16 14019, i16 15663, i16 0, i16 14242, i16 15043, i16 0, i16 15522, i16 0, i16 15299, i16 14752, i16 16138, i16 12614, i16 15811, i16 0, i16 0, i16 0, i16 708, i16 709, i16 710, i16 711, i16 12484, i16 0, i16 13845, i16 0, i16 13508, i16 12695, i16 0, i16 0, i16 453, i16 454, i16 455, i16 456, i16 13253, i16 0, i16 0, i16 0, i16 13765, i16 0, i16 0, i16 12940, i16 14021, i16 0, i16 0, i16 0, i16 14789, i16 0, i16 12336, i16 0, i16 15557, i16 0, i16 0, i16 0, i16 16069, i16 0, i16 14166, i16 0, i16 198, i16 271, i16 274, i16 272, i16 966, i16 967, i16 968, i16 969, i16 12486, i16 15292, i16 0, i16 0, i16 14022, i16 12548, i16 0, i16 0, i16 14534, i16 14770, i16 0, i16 14512, i16 14790, i16 0, i16 0, i16 0, i16 15558, i16 0, i16 0, i16 0, i16 16070, i16 15545, i16 0, i16 0, i16 13255, i16 0, i16 0, i16 0, i16 15047, i16 15051, i16 15053, i16 15055, i16 16071, i16 16132, i16 16153, i16 16237, i16 712, i16 713, i16 714, i16 715, i16 14280, i16 0, i16 15295, i16 0, i16 14536, i16 0, i16 0, i16 0, i16 16072, i16 16419, i16 0, i16 15427, i16 17096, i16 0, i16 0, i16 0, i16 457, i16 458, i16 459, i16 460, i16 12489, i16 0, i16 0, i16 13963, i16 13001, i16 13002, i16 13003, i16 13004, i16 14025, i16 0, i16 0, i16 0, i16 14793, i16 16370, i16 0, i16 0, i16 15049, i16 0, i16 14621, i16 15073, i16 15561, i16 0, i16 0, i16 15636, i16 16585, i16 0, i16 0, i16 16785, i16 970, i16 971, i16 972, i16 973, i16 12490, i16 0, i16 0, i16 0, i16 12746, i16 13990, i16 0, i16 0, i16 14026, i16 0, i16 13980, i16 0, i16 15818, i16 15722, i16 0, i16 14075, i16 17098, i16 0, i16 0, i16 0, i16 14795, i16 0, i16 0, i16 0, i16 15307, i16 0, i16 0, i16 0, i16 15819, i16 0, i16 0, i16 15927, i16 16075, i16 0, i16 0, i16 0, i16 716, i16 717, i16 718, i16 719, i16 14796, i16 0, i16 16022, i16 0, i16 15052, i16 0, i16 13418, i16 12665, i16 16844, i16 0, i16 0, i16 0, i16 461, i16 462, i16 463, i16 464, i16 13261, i16 0, i16 0, i16 0, i16 14541, i16 13220, i16 0, i16 0, i16 15309, i16 0, i16 12712, i16 0, i16 15565, i16 15566, i16 15568, i16 15573, i16 15821, i16 0, i16 16052, i16 0, i16 17101, i16 0, i16 0, i16 0, i16 974, i16 975, i16 976, i16 977, i16 13006, i16 13007, i16 13008, i16 13009, i16 13518, i16 0, i16 0, i16 14415, i16 14542, i16 0, i16 0, i16 0, i16 16078, i16 14393, i16 0, i16 0, i16 207, i16 0, i16 235, i16 0, i16 12495, i16 0, i16 0, i16 16950, i16 13519, i16 0, i16 0, i16 0, i16 15311, i16 0, i16 14830, i16 14282, i16 15567, i16 0, i16 0, i16 16619, i16 15823, i16 0, i16 0, i16 16027, i16 16847, i16 0, i16 0, i16 14496, i16 17103, i16 17115, i16 0, i16 0, i16 208, i16 0, i16 0, i16 209, i16 720, i16 721, i16 722, i16 723, i16 14544, i16 0, i16 0, i16 0, i16 15056, i16 15059, i16 15071, i16 15076, i16 16336, i16 0, i16 0, i16 0, i16 16592, i16 15685, i16 0, i16 0, i16 16848, i16 0, i16 13214, i16 0, i16 17104, i16 14273, i16 14711, i16 0, i16 465, i16 466, i16 467, i16 468, i16 12753, i16 14734, i16 0, i16 16252, i16 14033, i16 0, i16 0, i16 15601, i16 16081, i16 0, i16 0, i16 0, i16 978, i16 979, i16 980, i16 981, i16 13010, i16 13012, i16 13013, i16 13014, i16 15826, i16 16028, i16 12772, i16 0, i16 16594, i16 0, i16 0, i16 0, i16 16850, i16 0, i16 16189, i16 0, i16 17106, i16 0, i16 0, i16 12294, i16 14547, i16 0, i16 0, i16 14190, i16 15315, i16 0, i16 0, i16 0, i16 15827, i16 0, i16 0, i16 12830, i16 724, i16 725, i16 726, i16 727, i16 12500, i16 0, i16 0, i16 16134, i16 13524, i16 0, i16 0, i16 0, i16 13780, i16 13256, i16 0, i16 0, i16 14804, i16 16701, i16 0, i16 0, i16 15060, i16 0, i16 12324, i16 0, i16 15316, i16 0, i16 15341, i16 0, i16 15572, i16 0, i16 0, i16 14646, i16 15828, i16 0, i16 13541, i16 15450, i16 469, i16 470, i16 471, i16 472, i16 12501, i16 0, i16 0, i16 0, i16 12757, i16 0, i16 0, i16 14292, i16 13269, i16 0, i16 0, i16 0, i16 13781, i16 0, i16 0, i16 13202, i16 14293, i16 0, i16 0, i16 14850, i16 982, i16 983, i16 984, i16 985, i16 13526, i16 12773, i16 0, i16 13700, i16 15574, i16 15575, i16 15650, i16 15725, i16 16854, i16 0, i16 15593, i16 14511, i16 13015, i16 13017, i16 13019, i16 13020, i16 14295, i16 0, i16 0, i16 0, i16 16599, i16 13986, i16 0, i16 0, i16 728, i16 729, i16 730, i16 731, i16 12504, i16 0, i16 0, i16 0, i16 13272, i16 13695, i16 17084, i16 13561, i16 14040, i16 16182, i16 16408, i16 0, i16 14296, i16 0, i16 0, i16 0, i16 14552, i16 0, i16 13151, i16 16838, i16 217, i16 215, i16 214, i16 206, i16 473, i16 474, i16 475, i16 0, i16 13529, i16 0, i16 15231, i16 0, i16 16089, i16 0, i16 16543, i16 0, i16 986, i16 987, i16 988, i16 989, i16 12762, i16 0, i16 0, i16 12667, i16 14042, i16 0, i16 14899, i16 0, i16 14298, i16 0, i16 0, i16 0, i16 15322, i16 14491, i16 0, i16 12496, i16 16602, i16 0, i16 0, i16 0, i16 12763, i16 0, i16 0, i16 15467, i16 13275, i16 14301, i16 0, i16 17006, i16 13531, i16 0, i16 14555, i16 0, i16 220, i16 0, i16 0, i16 0, i16 476, i16 477, i16 478, i16 479, i16 732, i16 733, i16 734, i16 735, i16 12764, i16 15934, i16 0, i16 16323, i16 14812, i16 12878, i16 0, i16 15877, i16 15580, i16 14196, i16 16484, i16 15632, i16 221, i16 0, i16 175, i16 222, i16 12509, i16 0, i16 0, i16 0, i16 13533, i16 0, i16 0, i16 0, i16 14557, i16 14233, i16 0, i16 0, i16 14813, i16 0, i16 0, i16 0, i16 15325, i16 0, i16 15780, i16 0, i16 16093, i16 16897, i16 13603, i16 0, i16 16349, i16 0, i16 14054, i16 14713, i16 990, i16 991, i16 992, i16 993, i16 12510, i16 15805, i16 13369, i16 0, i16 12766, i16 0, i16 0, i16 0, i16 13022, i16 13026, i16 13030, i16 13032, i16 13278, i16 14015, i16 13585, i16 0, i16 14046, i16 0, i16 0, i16 0, i16 14814, i16 0, i16 0, i16 0, i16 15582, i16 0, i16 0, i16 16043, i16 16350, i16 0, i16 0, i16 0, i16 223, i16 0, i16 268, i16 128, i16 13279, i16 15703, i16 16122, i16 0, i16 14303, i16 0, i16 0, i16 13160, i16 14815, i16 0, i16 0, i16 14647, i16 15327, i16 15373, i16 0, i16 14127, i16 16351, i16 0, i16 14211, i16 0, i16 480, i16 481, i16 482, i16 483, i16 736, i16 737, i16 738, i16 739, i16 13792, i16 0, i16 0, i16 14426, i16 15072, i16 15398, i16 0, i16 0, i16 12769, i16 0, i16 0, i16 0, i16 13537, i16 0, i16 0, i16 0, i16 14305, i16 0, i16 0, i16 0, i16 15585, i16 16868, i16 0, i16 0, i16 226, i16 229, i16 228, i16 231, i16 994, i16 995, i16 996, i16 997, i16 13282, i16 0, i16 0, i16 0, i16 14306, i16 0, i16 12700, i16 0, i16 14562, i16 15395, i16 0, i16 0, i16 16354, i16 0, i16 14249, i16 0, i16 16610, i16 0, i16 0, i16 13023, i16 12771, i16 0, i16 0, i16 0, i16 14307, i16 0, i16 0, i16 0, i16 15587, i16 17070, i16 0, i16 13673, i16 484, i16 485, i16 0, i16 0, i16 740, i16 741, i16 742, i16 743, i16 13028, i16 15378, i16 15379, i16 13805, i16 16612, i16 0, i16 14204, i16 16080, i16 13285, i16 0, i16 0, i16 0, i16 14053, i16 0, i16 13415, i16 0, i16 15589, i16 0, i16 12505, i16 16542, i16 16869, i16 0, i16 12780, i16 0, i16 17125, i16 16445, i16 0, i16 0, i16 230, i16 867, i16 700, i16 0, i16 486, i16 487, i16 488, i16 489, i16 998, i16 999, i16 1000, i16 1001, i16 12518, i16 0, i16 0, i16 0, i16 12774, i16 0, i16 0, i16 0, i16 13542, i16 0, i16 12967, i16 16522, i16 14310, i16 17148, i16 0, i16 0, i16 14822, i16 0, i16 0, i16 0, i16 15078, i16 15095, i16 15173, i16 15174, i16 16358, i16 0, i16 0, i16 13564, i16 16870, i16 0, i16 0, i16 0, i16 13287, i16 0, i16 12943, i16 14498, i16 14567, i16 0, i16 0, i16 0, i16 15335, i16 0, i16 0, i16 0, i16 17127, i16 15461, i16 13470, i16 0, i16 744, i16 745, i16 746, i16 747, i16 14312, i16 0, i16 0, i16 0, i16 15080, i16 15157, i16 13874, i16 13265, i16 16360, i16 0, i16 0, i16 0, i16 16872, i16 0, i16 0, i16 0, i16 13033, i16 13034, i16 13036, i16 13037, i16 13289, i16 12536, i16 0, i16 16564, i16 13545, i16 0, i16 0, i16 15443, i16 13801, i16 0, i16 13620, i16 0, i16 15081, i16 15804, i16 0, i16 0, i16 15849, i16 0, i16 0, i16 0, i16 16617, i16 0, i16 0, i16 0, i16 16873, i16 14697, i16 0, i16 0, i16 234, i16 0, i16 0, i16 0, i16 490, i16 491, i16 492, i16 493, i16 1002, i16 1003, i16 1004, i16 1005, i16 15338, i16 0, i16 0, i16 0, i16 16362, i16 0, i16 14446, i16 15234, i16 16874, i16 0, i16 0, i16 13025, i16 17130, i16 0, i16 0, i16 0, i16 12523, i16 0, i16 13760, i16 0, i16 14059, i16 14375, i16 0, i16 0, i16 14571, i16 0, i16 12662, i16 0, i16 15339, i16 14340, i16 0, i16 0, i16 15851, i16 0, i16 0, i16 16883, i16 748, i16 749, i16 750, i16 751, i16 14316, i16 0, i16 16739, i16 0, i16 14572, i16 0, i16 16192, i16 14871, i16 14828, i16 0, i16 0, i16 0, i16 15852, i16 12976, i16 15777, i16 0, i16 17132, i16 0, i16 0, i16 0, i16 12525, i16 14854, i16 0, i16 0, i16 14573, i16 14036, i16 0, i16 14037, i16 15085, i16 17109, i16 13852, i16 0, i16 16109, i16 15216, i16 13094, i16 0, i16 238, i16 0, i16 0, i16 179, i16 494, i16 495, i16 0, i16 0, i16 1006, i16 1007, i16 1008, i16 1009, i16 13806, i16 15676, i16 16961, i16 0, i16 16366, i16 15218, i16 0, i16 0, i16 12783, i16 0, i16 15396, i16 0, i16 13551, i16 15458, i16 17151, i16 0, i16 13807, i16 0, i16 0, i16 0, i16 14831, i16 0, i16 0, i16 0, i16 15855, i16 0, i16 14172, i16 0, i16 16367, i16 0, i16 14806, i16 12387, i16 240, i16 0, i16 163, i16 164, i16 752, i16 753, i16 754, i16 755, i16 12528, i16 0, i16 0, i16 12349, i16 13040, i16 0, i16 0, i16 15092, i16 13552, i16 13270, i16 0, i16 0, i16 14576, i16 0, i16 0, i16 0, i16 15600, i16 0, i16 0, i16 13650, i16 16368, i16 0, i16 0, i16 17051, i16 17136, i16 15591, i16 12699, i16 0, i16 13041, i16 13042, i16 13043, i16 13044, i16 13297, i16 0, i16 14164, i16 0, i16 14065, i16 0, i16 0, i16 0, i16 14321, i16 14328, i16 14431, i16 14457, i16 16369, i16 0, i16 16030, i16 16833, i16 16625, i16 0, i16 0, i16 0, i16 242, i16 241, i16 0, i16 0, i16 1010, i16 1011, i16 1012, i16 1013, i16 13554, i16 0, i16 0, i16 16702, i16 14066, i16 0, i16 0, i16 0, i16 14834, i16 14837, i16 14838, i16 14845, i16 499, i16 500, i16 501, i16 502, i16 16115, i16 0, i16 13362, i16 0, i16 16371, i16 14903, i16 15888, i16 0, i16 756, i16 757, i16 0, i16 0, i16 15860, i16 0, i16 0, i16 0, i16 16884, i16 0, i16 0, i16 0, i16 245, i16 248, i16 0, i16 249, i16 12789, i16 14319, i16 0, i16 0, i16 13045, i16 13047, i16 13052, i16 13064, i16 14581, i16 0, i16 16841, i16 0, i16 15093, i16 15181, i16 14721, i16 13061, i16 15605, i16 15130, i16 15715, i16 0, i16 15861, i16 0, i16 0, i16 14946, i16 16373, i16 15027, i16 0, i16 0, i16 16885, i16 0, i16 0, i16 16823, i16 246, i16 247, i16 0, i16 250, i16 758, i16 759, i16 760, i16 761, i16 1014, i16 1015, i16 1016, i16 1017, i16 12790, i16 0, i16 0, i16 0, i16 15350, i16 13930, i16 0, i16 0, i16 15606, i16 0, i16 0, i16 0, i16 16886, i16 16410, i16 15882, i16 17128, i16 17142, i16 16149, i16 0, i16 17135, i16 503, i16 504, i16 505, i16 506, i16 13815, i16 0, i16 0, i16 0, i16 14071, i16 0, i16 0, i16 0, i16 14583, i16 0, i16 0, i16 0, i16 14839, i16 16973, i16 15261, i16 17140, i16 13560, i16 0, i16 17083, i16 0, i16 14072, i16 0, i16 0, i16 0, i16 14584, i16 0, i16 15281, i16 0, i16 15608, i16 0, i16 0, i16 0, i16 15864, i16 16748, i16 0, i16 0, i16 16632, i16 15150, i16 0, i16 0, i16 12537, i16 0, i16 0, i16 14973, i16 12793, i16 14630, i16 15850, i16 0, i16 13049, i16 14043, i16 0, i16 0, i16 13305, i16 13263, i16 0, i16 0, i16 15865, i16 0, i16 0, i16 0, i16 17145, i16 16421, i16 0, i16 13784, i16 762, i16 763, i16 764, i16 765, i16 1018, i16 1019, i16 1020, i16 1021, i16 12538, i16 0, i16 0, i16 12960, i16 13050, i16 15974, i16 0, i16 13523, i16 15610, i16 0, i16 0, i16 0, i16 17146, i16 0, i16 0, i16 0, i16 507, i16 508, i16 509, i16 510, i16 13051, i16 0, i16 0, i16 0, i16 15099, i16 17005, i16 17050, i16 16925, i16 15611, i16 15678, i16 0, i16 0, i16 252, i16 0, i16 0, i16 183, i16 13308, i16 14843, i16 0, i16 0, i16 14332, i16 14758, i16 0, i16 0, i16 14588, i16 0, i16 16420, i16 14528, i16 15612, i16 15795, i16 0, i16 0, i16 13309, i16 0, i16 0, i16 0, i16 15869, i16 13439, i16 0, i16 0, i16 16381, i16 0, i16 0, i16 0, i16 16893, i16 14522, i16 0, i16 0, i16 17149, i16 0, i16 12785, i16 0, i16 254, i16 255, i16 0, i16 0, i16 766, i16 767, i16 768, i16 769, i16 1022, i16 1023, i16 1024, i16 1025, i16 13054, i16 0, i16 0, i16 13994, i16 13566, i16 0, i16 0, i16 0, i16 13822, i16 13259, i16 0, i16 15098, i16 511, i16 512, i16 0, i16 513, i16 12287, i16 0, i16 0, i16 13421, i16 12799, i16 0, i16 0, i16 0, i16 13311, i16 0, i16 0, i16 0, i16 13567, i16 0, i16 14077, i16 0, i16 14335, i16 12521, i16 13217, i16 0, i16 14591, i16 15619, i16 0, i16 0, i16 14847, i16 14848, i16 14856, i16 14866], [6 x i8] c"\0A\03\162\00\04", [24 x i64] [i64 48508, i64 48528, i64 48548, i64 14648, i64 48588, i64 48634, i64 48640, i64 14699, i64 48670, i64 52564, i64 52608, i64 14727, i64 53422, i64 61672, i64 61772, i64 16373, i64 0, i64 0, i64 0, i64 0, i64 68630, i64 69002, i64 69010, i64 44726], [2826 x i8] c"\00\00\01\00\00\00\00\00\00\01\00\08\00\01\01\01e\01\01\02\02\00\01\01\01e\01\02\00\02\00\02\02\02d\02\03\00\12\00\02\03\03c\03\03\02\02\00\02\04\04c\04\04\00\12\00\02\05\05b\03\04\02\02\00\02\06\06b\04\05\00\12\00\02\07\05a\03\05\02\02\00\02\08\06a\04\06\00\12\00\02\09\05`\03\06\02\02\00\02\0A\06`\04\07\00\02\00\03\0B\07_\05\08\00\12\00\02\0C\05^\03\08\02\02\00\02\0D\06^\04\09\00\12\00\02\0E\08]\03\09\02\02\00\02\0F\09]\04\0A\00\12\00\02\10\05\\\03\0A\02\02\00\02\11\06\\\04\0B\00\12\00\02\12\08[\03\0B\02\02\00\02\13\09[\04\0C\00\12\00\02\14\05Z\03\0C\02\02\00\02\15\06Z\04\0D\00\12\00\02\16\05Y\03\0D\02\02\00\02\17\06Y\04\0E\00\12\00\02\18\05X\03\0E\02\02\00\02\19\06X\04\0F\00\12\00\02\1A\05W\03\0F\02\02\00\02\1B\06W\04\10\00\12\00\00\1C\0A\8E\06\10\02\02\00\00\1D\0B\8E\07\11\00\12\00\02\1E\05V\03\11\02\02\00\02\1F\06V\04\12\00\12\00\02 \0CU\03\12\02\02\00\02!\0DU\04\13\00\12\00\02\22\05T\08\13\02\02\00\02#\06T\09\14\00\12\00\02$\05S\08\14\02\02\00\02%\06S\09\15\00\15\00\01&\0ER\0A\15\02\02\00\01&\0FR\0B\16\00\05\00\01'\10Q\0C\16\02\02\00\01(\11Q\0D\17\00\05\00\04)\12P\0E\17\02\02\00\04*\13P\0F\18\00\02\00\02+\14O\10\19\00\02\00\03,\15N\11\1A\00\08\00\05-\16M\12\1A\02\02\00\05.\16M\12\1B\00\0E\00\05/\17L\13\1B\02\02\00\05/\18L\13\1C\00\08\00\050\19\8B\14\1C\02\02\00\051\1A\8B\14\1D\00\0C\00\052\19\8B\14\1D\02\02\00\051\1A\8B\14\1E\00\0E\00\063\1B\8C\15\1E\02\02\00\074\1C\8C\15\1F\00\0B\00\025\1DK\16\1F\02\02\00\026\1DK\16 \00\08\00\017\1E\8A\17 \02\02\00\017\1F\8A\17!\00\08\00\058 J\18!\02\02\00\059!J\18\22\00\0C\00\05: J\18\22\02\02\00\059!J\18#\00\08\00\01;\22I\18#\02\02\00\01<#I\18$\00\0C\00\01=\22I\18$\02\02\00\01<#I\18%\00\08\00\08>$H\18%\02\02\00\08>%H\18&\00\08\00\01?$G\18&\02\02\00\01@%G\18'\00\0C\00\01A$G\18'\02\02\00\01@%G\18(\00\08\00\01;\22F\18(\02\02\00\01<#F\18)\00\0C\00\01=\22F\18)\02\02\00\01<#F\18*\00\13\00\09B&E\19*\02\02\00\09C'E\1A+\00\08\00\02D(D\02+\02\02\00\02D(D\02,\00\08\00\02E)C\1B,\02\02\00\02E)C\1B-\00\08\00\02F*\89\1C-\02\02\00\02F*\89\1C.\00\08\00\01G+B\1D.\02\02\00\01H+B\1D/\00\08\00\025)A\02/\02\02\00\026)A\020\00\08\00\02I,@\1E0\02\02\00\02I,@\1E1\00\08\00\02J)?\021\02\02\00\02K)?\022\00\0C\00\02L)?\022\02\02\00\02K)?\023\00\02\00\03\0B->\1E4\00\08\00\02M)=\024\02\02\00\02M)=\025\00\08\00\02N.<\1E5\02\02\00\02N.<\1E6\00\08\00\02O/;\1E6\02\02\00\02O/;\1E7\00\08\00\02P0:\027\02\02\00\02P0:\028\00\08\00\02Q)9\1B8\02\02\00\02Q)9\1B9\00\08\00\02R)8\1B9\02\02\00\02R)8\1B:\02\02\00\05S17\1F;\00\08\00\01T2\88 ;\02\02\00\01T3\88 <\00\08\00\05U2\87 <\02\02\00\05U3\87 =\00\08\00\05V2\86 =\02\02\00\05V3\86 >\00\08\00\05W2\85 >\02\02\00\05W3\85 ?\00\08\00\00X2\84 ?\02\02\00\00X3\84 @\00\08\00\00Y2\83 @\02\02\00\00Y3\83 A\00\08\00\05Z2\82 A\02\02\00\05Z3\82 B\00\08\00\05[2\81 B\02\02\00\05\\3\81 C\00\0C\00\05]2\81 C\02\02\00\05\\3\81 D\00\08\00\00^2\80 D\02\02\00\00^3\80 E\00\08\00\00_2\7F E\02\02\00\00_3\7F F\00\08\00\00`2~ F\02\02\00\00`3~ G\00\08\00\00a2} G\02\02\00\00a3} H\00\08\00\00b2| H\02\02\00\00b3| I\00\08\00\00c2{ I\02\02\00\00c3{ J\00\08\00\00d2z J\02\02\00\00d3z K\00\08\00\05e2y K\02\02\00\05e3y L\00\08\00\00f2x L\02\02\00\00g3x M\00\08\00\02P2w M\02\02\00\02P3w N\00\08\00\05h2v N\02\02\00\05h3v O\00\08\00\05i2u O\02\02\00\05i3u P\00\08\00\06j4t!P\02\02\00\07k5t!Q\00\08\00\05l66\22Q\02\02\00\05m66\22R\00\0C\00\05n66\22R\02\02\00\05m66\22S\02\02\01\0Ao75#S\00\02\01\0Ao75#T\00\08\00\01p8s$T\02\02\00\01q9s$U\00\0C\00\01r8s$U\02\02\00\01q9s$V\00\08\00\017:r%V\02\02\00\017;r%W\00\08\00\09?<4&W\02\02\00\09@=4&X\00\0C\00\09A<4&X\02\02\00\09@=4&Y\00\08\00\0Bs>q'Y\02\02\00\0Bs?q'Z\00\08\00\05>@3(Z\02\02\00\05>A3([\00\08\00\05-B2'[\02\02\00\05.C2'\\\00\0C\00\05tB2'\\\02\02\00\05.C2']\00\08\00\05-B1']\02\02\00\05.C1'^\00\0C\00\05tB1'^\02\02\00\05.C1'_\00\08\00\02JD0)_\02\02\00\02KE0)`\00\0C\00\02LD0)`\02\02\00\02KE0)a\00\0C\00\025F/\1Ba\02\02\00\026G/\1Bb\00\08\00\05lHp b\02\02\00\05mIp c\00\0C\00\05nHp c\02\02\00\05mIp d\00\08\00\025J.\1Bd\02\02\00\026J.\1Be\00\14\00\02uK-*e\02\02\00\02vL-+f\02\02\00\02wM,\02f\00\02\00\02wM,\02g\00\0E\00\05xNo,g\02\02\00\05xOo,h\00\0E\00\01yP+-h\02\02\00\01yQ+-i\00\03\00\02zR*.i\02\02\00\02{S*\10j\00\08\00\01|T)/j\02\02\00\01|T)/k\00\08\00\01}Un\18k\02\02\00\01}Vn\18l\00\08\00\0C>W(0l\02\02\00\0C>X(0m\00\08\00\05lY' m\02\02\00\05mZ' n\00\0C\00\05nY' n\02\02\00\05mZ' o\00\14\00\02uK&*o\02\02\00\02vL&+p\02\02\00\02~[\901q\00\07\00\01\7F\\%2q\02\02\00\01\80]%3r\00\08\00\017^m4r\02\02\00\017^m4s\02\02\00\02\81_\915t\00\08\00\025`$6t\02\02\00\026`$6u\00\0A\00\01\82al7u\02\02\00\01\82bl7v\00\0A\00\06\83ck%v\02\02\00\07\84dk%w\00\0A\00\02Me#8w\02\02\00\02Mf#9x\00\11\00\0D\85g\22:x\02\02\00\0D\86h\22;y\02\02\00\02\87i!\82\02\02\00\05.s\1B>\83\00\0E\00\05\90ti?\83\02\02\00\05\91ui?\84\00\08\00\05\92v\1A@\84\02\02\00\05\92w\1A@\85\00\08\00\05\93x\19@\85\02\02\00\05\94y\19@\86\00\0C\00\05\95x\19@\86\02\02\00\05\94y\19@\87\00\0E\00\05\96z\18A\87\02\02\00\05\96{\18A\88\16\16\00\01\97|\17B\88\00\11\00\01\98}\17C\88\02\02\00\01\99~\17\0D\89\00\18\00\01\9A\7F\16D\89\02\02\00\01\9B\80\16E\8A\00\02\00\01\9C\81\15F\8B\00\0E\00\06\9D\82\8DG\8B\02\02\00\07\9E\83\8DH\8C\00\0E\00\0B\9F\84hI\8C\02\02\00\0B\9F\85hI\8D\00\08\00\01\A0\86\14\02\8D\02\02\00\01\A0\87\14\02\8E\00\0E\00\05\A1\88\13J\8E\02\02\00\05\A1\89\13J\8F\00\11\00\05\A2\8A\13K\8F\02\02\00\05\A3\8B\13E\90\00\08\00\01p\8Cg\18\90\02\02\00\01q\8Dg\18\91\00\0C\00\01r\8Cg\18\91\02\02\00\01q\8Dg\18\92\00\08\00\0D\A4\8C\12\18\92\02\02\00\0D\A4\8D\12\18\93\00\02\00\03\0B\8E\11L\94\00\02\00\0E\A5\8F\10M\95\00\17\00\01\97|\0FN\95\02\02\00\01\99~\0FO\96\00\19\00\02\A6\90\8FP\96\02\02\00\02\A7\91\8FQ\97\00\02\00\02\A8\92\0E\02\98\00\02\00\02\02\93\0D\02\99\00\08\00\02\A9\94\0C\02\99\02\02\00\02\A9\94\0C\02\9A\00\15\00\00\AA\95fR\9A\02\02\00\00\AA\96fS\9B\02\02\00\01\99\97\0BT\9C\00\18\00\01\9A\98\0AU\9C\02\02\00\01\9B\99\0AV\9D\00\02\00\02\AB\9A\09W\9E\00\08\00\02\AC\9B\08X\9E\02\02\00\02\AC\9B\08X\9F\02\02\00\01\AD\9C\07\02\9F\00\02\00\01\AD\9C\07\02\A0\00\08\00\09?\9D\06Y\A0\02\02\00\09@\9E\06Y\A1\00\0C\00\09A\9D\06Y\A2\00\06\00\02\AE\9F\05Z\A2\02\02\00\02\AE\A0\05[\A3\02\02\00\02\AF\A1\04\\\A4\02\02\00\02I\A2\03\\\A5\00\02\00\02O\A3\02\1E\A6\02\02\00\02\B0\A4\01\\", [835 x i8] c"af_ZAam_ETar_AEar_BHar_DZar_EGar_INar_IQar_JOar_KWar_LBar_LYar_MAar_OMar_QAar_SAar_SDar_SYar_TNar_YEaz_AZbe_BYbg_BGbn_BDbn_INbr_FRbs_BAca_EScaeEScs_CZcy_GBda_DKde_ATdeeATde_BEdeeBEde_CHde_DEdeeDEde_LUdeeLUel_GRen_AUen_BWen_CAen_DKen_GBen_HKen_IEeneIEen_INen_NZen_PHen_SGen_USen_ZAen_ZWeo_EOes_ARes_BOes_CLes_COes_CRes_DOes_ECes_ESeseESes_GTes_HNes_MXes_NIes_PAes_PEes_PRes_PYes_SVes_USes_UYes_VEet_EEeu_ESeueESfa_IRfi_FIfieFIfo_FOfr_BEfreBEfr_CAfr_CHfr_FRfreFRfr_LUfreLUga_IEgaeIEgd_GBgl_ESgleESgv_GBhe_ILhi_INhr_HRhu_HUhy_AMid_IDis_ISit_CHit_ITiteITiw_ILja_JPka_GEkl_GLko_KRkw_GBlt_LTlv_LVmi_NZmk_MKmr_INms_MYmt_MTnl_BEnleBEnl_NLnleNLnn_NOno_NOoc_FRpl_PLpt_BRpt_PTptePTro_ROru_RUru_UAse_NOsk_SKsl_SIsq_ALsr_YUsrcYUsv_FIsveFIsv_SEta_INte_INtg_TJth_THti_ERti_ETtl_PHtr_TRtt_RUuk_UAur_PKuz_UZvi_VNwa_BEwaeBEyi_USzh_CNzh_HKzh_SGzh_TW\00\00\00\00\00", [18 x i8] c"\05eeuro\00\09ccyrillic\00", [69 x i8] c"\06\0F\1A&.9LC_CTYPE\00LC_NUMERIC\00LC_MONETARY\00LC_TIME\00LC_COLLATE\00LC_MESSAGES\00", [255 x i8] c"\18\22(/6BMYeq}\89\94\9F\AA\B5\C0\CB\D6\E1\E8\EF\F6\00ARMSCII-8\00ASCII\00CP1251\00CP1255\00GEORGIAN-PS\00ISO-8859-1\00ISO-8859-10\00ISO-8859-13\00ISO-8859-14\00ISO-8859-15\00ISO-8859-16\00ISO-8859-2\00ISO-8859-3\00ISO-8859-4\00ISO-8859-5\00ISO-8859-6\00ISO-8859-7\00ISO-8859-8\00ISO-8859-9\00KOI8-R\00KOI8-T\00KOI8-U\00TIS-620\00\00" }, align 8 +@__C_ctype_b_data = constant <{ [256 x i16], [128 x i16] }> <{ [256 x i16] [i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 8195, i16 8194, i16 8194, i16 8194, i16 8194, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 24577, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -11000, i16 -11000, i16 -11000, i16 -11000, i16 -11000, i16 -11000, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -10744, i16 -10744, i16 -10744, i16 -10744, i16 -10744, i16 -10744, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 2], [128 x i16] zeroinitializer }>, align 16 +@__C_ctype_b = global i16* bitcast (i8* getelementptr (i8, i8* bitcast (<{ [256 x i16], [128 x i16] }>* @__C_ctype_b_data to i8*), i64 256) to i16*), align 8 +@__C_ctype_tolower_data = constant [384 x i16] [i16 -128, i16 -127, i16 -126, i16 -125, i16 -124, i16 -123, i16 -122, i16 -121, i16 -120, i16 -119, i16 -118, i16 -117, i16 -116, i16 -115, i16 -114, i16 -113, i16 -112, i16 -111, i16 -110, i16 -109, i16 -108, i16 -107, i16 -106, i16 -105, i16 -104, i16 -103, i16 -102, i16 -101, i16 -100, i16 -99, i16 -98, i16 -97, i16 -96, i16 -95, i16 -94, i16 -93, i16 -92, i16 -91, i16 -90, i16 -89, i16 -88, i16 -87, i16 -86, i16 -85, i16 -84, i16 -83, i16 -82, i16 -81, i16 -80, i16 -79, i16 -78, i16 -77, i16 -76, i16 -75, i16 -74, i16 -73, i16 -72, i16 -71, i16 -70, i16 -69, i16 -68, i16 -67, i16 -66, i16 -65, i16 -64, i16 -63, i16 -62, i16 -61, i16 -60, i16 -59, i16 -58, i16 -57, i16 -56, i16 -55, i16 -54, i16 -53, i16 -52, i16 -51, i16 -50, i16 -49, i16 -48, i16 -47, i16 -46, i16 -45, i16 -44, i16 -43, i16 -42, i16 -41, i16 -40, i16 -39, i16 -38, i16 -37, i16 -36, i16 -35, i16 -34, i16 -33, i16 -32, i16 -31, i16 -30, i16 -29, i16 -28, i16 -27, i16 -26, i16 -25, i16 -24, i16 -23, i16 -22, i16 -21, i16 -20, i16 -19, i16 -18, i16 -17, i16 -16, i16 -15, i16 -14, i16 -13, i16 -12, i16 -11, i16 -10, i16 -9, i16 -8, i16 -7, i16 -6, i16 -5, i16 -4, i16 -3, i16 -2, i16 -1, i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255], align 16 +@__C_ctype_tolower = global i16* bitcast (i8* getelementptr (i8, i8* bitcast ([384 x i16]* @__C_ctype_tolower_data to i8*), i64 256) to i16*), align 8 +@__C_ctype_toupper_data = constant [384 x i16] [i16 -128, i16 -127, i16 -126, i16 -125, i16 -124, i16 -123, i16 -122, i16 -121, i16 -120, i16 -119, i16 -118, i16 -117, i16 -116, i16 -115, i16 -114, i16 -113, i16 -112, i16 -111, i16 -110, i16 -109, i16 -108, i16 -107, i16 -106, i16 -105, i16 -104, i16 -103, i16 -102, i16 -101, i16 -100, i16 -99, i16 -98, i16 -97, i16 -96, i16 -95, i16 -94, i16 -93, i16 -92, i16 -91, i16 -90, i16 -89, i16 -88, i16 -87, i16 -86, i16 -85, i16 -84, i16 -83, i16 -82, i16 -81, i16 -80, i16 -79, i16 -78, i16 -77, i16 -76, i16 -75, i16 -74, i16 -73, i16 -72, i16 -71, i16 -70, i16 -69, i16 -68, i16 -67, i16 -66, i16 -65, i16 -64, i16 -63, i16 -62, i16 -61, i16 -60, i16 -59, i16 -58, i16 -57, i16 -56, i16 -55, i16 -54, i16 -53, i16 -52, i16 -51, i16 -50, i16 -49, i16 -48, i16 -47, i16 -46, i16 -45, i16 -44, i16 -43, i16 -42, i16 -41, i16 -40, i16 -39, i16 -38, i16 -37, i16 -36, i16 -35, i16 -34, i16 -33, i16 -32, i16 -31, i16 -30, i16 -29, i16 -28, i16 -27, i16 -26, i16 -25, i16 -24, i16 -23, i16 -22, i16 -21, i16 -20, i16 -19, i16 -18, i16 -17, i16 -16, i16 -15, i16 -14, i16 -13, i16 -12, i16 -11, i16 -10, i16 -9, i16 -8, i16 -7, i16 -6, i16 -5, i16 -4, i16 -3, i16 -2, i16 -1, i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255], align 16 +@__C_ctype_toupper = global i16* bitcast (i8* getelementptr (i8, i8* bitcast ([384 x i16]* @__C_ctype_toupper_data to i8*), i64 256) to i16*), align 8 +@errno = global i32 0, align 4 +@h_errno = global i32 0, align 4 +@.str.219 = private unnamed_addr constant [17 x i8] c"ignoring (EPERM)\00", align 1 +@.str.7.221 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.1.222 = private unnamed_addr constant [9 x i8] c"ignoring\00", align 1 +@.str.2.223 = private unnamed_addr constant [82 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/illegal.c\00", align 1 +@.str.3.224 = private unnamed_addr constant [20 x i8] c"longjmp unsupported\00", align 1 +@.str.4.225 = private unnamed_addr constant [8 x i8] c"xxx.err\00", align 1 +@.str.5.227 = private unnamed_addr constant [18 x i8] c"ignoring (EACCES)\00", align 1 +@.str.6.228 = private unnamed_addr constant [18 x i8] c"ignoring (ENOMEM)\00", align 1 +@error_message_count = global i32 0, align 4 +@error_one_per_line = global i32 0, align 4 +@.str.231 = private unnamed_addr constant [5 x i8] c": %s\00", align 1 +@__error_at_line.old_line_number = internal global i32 0, align 4 +@__error_at_line.old_file_name = internal global i8* null, align 8 +@.str.1.232 = private unnamed_addr constant [8 x i8] c"%s:%d: \00", align 1 +@hr_locale = internal global [448 x i8] zeroinitializer, align 16 +@utf8.239 = internal constant [6 x i8] c"UTF-8\00", align 1 +@static_fd = internal global i32 -1, align 4 +@static_ut_name = internal global i8* getelementptr inbounds ([14 x i8], [14 x i8]* @default_file_name, i32 0, i32 0), align 8 +@default_file_name = internal constant [14 x i8] c"/var/run/utmp\00", align 1 +@static_utmp = internal global %struct.utmp.323 zeroinitializer, align 8 +@mbrtowc.mbstate = internal global %struct.__mbstate_t.512 zeroinitializer, align 4 +@__dso_handle = extern_weak global i8*, align 8 +@optind = global i32 1, align 4 +@opterr = global i32 1, align 4 +@optopt = global i32 63, align 4 +@optarg = global i8* null, align 8 +@getopt_data = internal global %struct._getopt_data zeroinitializer, align 8 +@.str.324 = private unnamed_addr constant [3 x i8] c"--\00", align 1 +@.str.1.325 = private unnamed_addr constant [30 x i8] c"%s: option `%s' is ambiguous\0A\00", align 1 +@.str.2.326 = private unnamed_addr constant [45 x i8] c"%s: option `--%s' doesn't allow an argument\0A\00", align 1 +@.str.3.327 = private unnamed_addr constant [45 x i8] c"%s: option `%c%s' doesn't allow an argument\0A\00", align 1 +@.str.4.328 = private unnamed_addr constant [38 x i8] c"%s: option `%s' requires an argument\0A\00", align 1 +@.str.5.329 = private unnamed_addr constant [32 x i8] c"%s: unrecognized option `--%s'\0A\00", align 1 +@.str.6.330 = private unnamed_addr constant [32 x i8] c"%s: unrecognized option `%c%s'\0A\00", align 1 +@.str.7.331 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@.str.8.332 = private unnamed_addr constant [26 x i8] c"%s: illegal option -- %c\0A\00", align 1 +@.str.9.333 = private unnamed_addr constant [26 x i8] c"%s: invalid option -- %c\0A\00", align 1 +@.str.10.334 = private unnamed_addr constant [39 x i8] c"%s: option requires an argument -- %c\0A\00", align 1 +@.str.11.335 = private unnamed_addr constant [16 x i8] c"POSIXLY_CORRECT\00", align 1 +@.str.340 = private unnamed_addr constant [14 x i8] c"#\80\80\80\80\80\80\80\80\80\80\80\80\00", align 1 +@newlocale.envstr = internal global [4 x i8*] [i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.344, i32 0, i32 0), i8* null, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.2.345, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @posix, i32 0, i32 0)], align 16 +@.str.3.341 = private unnamed_addr constant [2 x i8] c"=\00", align 1 +@.str.4.342 = private unnamed_addr constant [2 x i8] c";\00", align 1 +@posix = internal constant [6 x i8] c"POSIX\00", align 1 +@utf8.343 = internal constant [6 x i8] c"UTF-8\00", align 1 +@.str.1.344 = private unnamed_addr constant [7 x i8] c"LC_ALL\00", align 1 +@.str.2.345 = private unnamed_addr constant [5 x i8] c"LANG\00", align 1 +@empty = internal constant [1 x i8] zeroinitializer, align 1 +@mbsnrtowcs.mbstate = internal global %struct.__mbstate_t.512 zeroinitializer, align 4 +@_do_one_spec.spec_base = internal constant [7 x i8] c"\10\10\10\08\0A\0A\0A", align 1 +@.str.362 = private unnamed_addr constant [6 x i8] c"(nil)\00", align 1 +@.str.1.363 = private unnamed_addr constant [7 x i8] c"(null)\00", align 1 +@_do_one_spec.prefix = internal constant [12 x i8] c"+\00-\00 \000x\000X\00", align 1 +@strerror.buf = internal global [50 x i8] zeroinitializer, align 16 +@desc2flag = internal constant [13 x i16] [i16 0, i16 2048, i16 4, i16 256, i16 512, i16 8, i16 128, i16 2, i16 64, i16 1024, i16 32, i16 1, i16 16], align 16 +@fmt = internal constant [20 x i8] c"inf\00INF\00nan\00NAN\00.\00,\00", align 16 +@exp10_table = internal constant [9 x double] [double 1.000000e+01, double 1.000000e+02, double 1.000000e+04, double 1.000000e+08, double 1.000000e+16, double 1.000000e+32, double 1.000000e+64, double 1.000000e+128, double 1.000000e+256], align 16 +@_ppfs_init.invalid_mbs = internal constant [33 x i8] c"Invalid multibyte format string.\00", align 16 +@_ppfs_parsespec.spec_flags = internal constant [8 x i8] c" +0-#'I\00", align 1 +@_ppfs_parsespec.qual_chars = internal constant [20 x i8] c"hlLjztqZ\00\02\04\08\04\04\04\08\04\00\01\08", align 16 +@_ppfs_parsespec.spec_chars = internal constant [21 x i8] c"npxXoudifFeEgGaACScs\00", align 16 +@_ppfs_parsespec.spec_ranges = internal constant [9 x i8] c"\00\01\07\0F\10\11\12\13\14", align 1 +@_ppfs_parsespec.spec_or_mask = internal constant [8 x i16] [i16 4096, i16 5, i16 0, i16 7, i16 2, i16 4, i16 1, i16 3], align 16 +@_ppfs_parsespec.spec_and_mask = internal constant [8 x i16] [i16 7936, i16 5, i16 3840, i16 2055, i16 2, i16 4, i16 1, i16 3], align 16 +@type_codes = internal constant [12 x i16] [i16 8, i16 5, i16 3, i16 4, i16 1, i16 512, i16 0, i16 1024, i16 2048, i16 2, i16 7, i16 2055], align 16 +@type_sizes = internal constant [12 x i8] c"\00\01\01\01\04\02\01\01\01\01\01\01", align 1 +@__exit_count = hidden global i32 0, align 4 +@__exit_function_table = hidden global %struct.exit_function* null, align 8 +@__exit_slots = hidden global i32 0, align 4 +@__xpg_strerror_r.unknown = internal constant [14 x i8] c"Unknown error ", align 1 +@mbsrtowcs.mbstate = internal global %struct.__mbstate_t.512 zeroinitializer, align 4 +@_string_syserrmsgs = hidden constant [2906 x i8] c"Success\00Operation not permitted\00No such file or directory\00No such process\00Interrupted system call\00Input/output error\00No such device or address\00Argument list too long\00Exec format error\00Bad file descriptor\00No child processes\00Resource temporarily unavailable\00Cannot allocate memory\00Permission denied\00Bad address\00Block device required\00Device or resource busy\00File exists\00Invalid cross-device link\00No such device\00Not a directory\00Is a directory\00Invalid argument\00Too many open files in system\00Too many open files\00Inappropriate ioctl for device\00Text file busy\00File too large\00No space left on device\00Illegal seek\00Read-only file system\00Too many links\00Broken pipe\00Numerical argument out of domain\00Numerical result out of range\00Resource deadlock avoided\00File name too long\00No locks available\00Function not implemented\00Directory not empty\00Too many levels of symbolic links\00\00No message of desired type\00Identifier removed\00Channel number out of range\00Level 2 not synchronized\00Level 3 halted\00Level 3 reset\00Link number out of range\00Protocol driver not attached\00No CSI structure available\00Level 2 halted\00Invalid exchange\00Invalid request descriptor\00Exchange full\00No anode\00Invalid request code\00Invalid slot\00\00Bad font file format\00Device not a stream\00No data available\00Timer expired\00Out of streams resources\00Machine is not on the network\00Package not installed\00Object is remote\00Link has been severed\00Advertise error\00Srmount error\00Communication error on send\00Protocol error\00Multihop attempted\00RFS specific error\00Bad message\00Value too large for defined data type\00Name not unique on network\00File descriptor in bad state\00Remote address changed\00Can not access a needed shared library\00Accessing a corrupted shared library\00.lib section in a.out corrupted\00Attempting to link in too many shared libraries\00Cannot exec a shared library directly\00Invalid or incomplete multibyte or wide character\00Interrupted system call should be restarted\00Streams pipe error\00Too many users\00Socket operation on non-socket\00Destination address required\00Message too long\00Protocol wrong type for socket\00Protocol not available\00Protocol not supported\00Socket type not supported\00Operation not supported\00Protocol family not supported\00Address family not supported by protocol\00Address already in use\00Cannot assign requested address\00Network is down\00Network is unreachable\00Network dropped connection on reset\00Software caused connection abort\00Connection reset by peer\00No buffer space available\00Transport endpoint is already connected\00Transport endpoint is not connected\00Cannot send after transport endpoint shutdown\00Too many references: cannot splice\00Connection timed out\00Connection refused\00Host is down\00No route to host\00Operation already in progress\00Operation now in progress\00Stale NFS file handle\00Structure needs cleaning\00Not a XENIX named type file\00No XENIX semaphores available\00Is a named type file\00Remote I/O error\00Disk quota exceeded\00No medium found\00Wrong medium type\00", align 16 + +@__progname = weak alias i8*, i8** @program_invocation_short_name +@__progname_full = weak alias i8*, i8** @program_invocation_name +@environ = weak alias i8**, i8*** @__environ +@__getdents = dso_local alias i64 (i32, %struct.dirent64*, i64), i64 (i32, %struct.dirent64*, i64)* @getdents +@getchar = alias i32 (), i32 ()* @getchar_unlocked +@raise = weak alias i32 (i32), i32 (i32)* @__raise +@fgetc_unlocked = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@getc_unlocked = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@fgetc = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@getc = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@__getdents64 = dso_local alias i64 (i32, i8*, i64), i64 (i32, i8*, i64)* @getdents64 +@error = weak alias void (i32, i32, i8*, ...), void (i32, i32, i8*, ...)* @__error +@error_at_line = weak alias void (i32, i32, i8*, i32, i8*, ...), void (i32, i32, i8*, i32, i8*, ...)* @__error_at_line +@clearerr = alias void (%struct.__STDIO_FILE_STRUCT.581*), void (%struct.__STDIO_FILE_STRUCT.581*)* @clearerr_unlocked +@feof = alias i32 (%struct.__STDIO_FILE_STRUCT.590*), i32 (%struct.__STDIO_FILE_STRUCT.590*)* @feof_unlocked +@ferror = alias i32 (%struct.__STDIO_FILE_STRUCT.592*), i32 (%struct.__STDIO_FILE_STRUCT.592*)* @ferror_unlocked +@fflush = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fflush_unlocked +@fileno = alias i32 (%struct.__STDIO_FILE_STRUCT.608*), i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno_unlocked +@fputc_unlocked = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@putc_unlocked = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@fputc = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@putc = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@fputs = alias i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*), i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked +@fread = alias i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*), i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*)* @fread_unlocked +@fseeko = alias i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32), i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32)* @fseek +@fwrite = alias i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*), i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*)* @fwrite_unlocked +@putchar = alias i32 (i32), i32 (i32)* @putchar_unlocked +@strerror_r = weak alias i32 (i32, i8*, i64), i32 (i32, i8*, i64)* @__xpg_strerror_r + +; Function Attrs: noinline nounwind uwtable +define void @__uClibc_init() #0 { +entry: + %0 = load i32, i32* @__uClibc_init.been_there_done_that, align 4 + %tobool = icmp ne i32 %0, 0 + br i1 %tobool, label %if.end4, label %if.end + +if.end: ; preds = %entry + %1 = load i32, i32* @__uClibc_init.been_there_done_that, align 4 + %inc = add nsw i32 %1, 1 + store i32 %inc, i32* @__uClibc_init.been_there_done_that, align 4 + store i64 4096, i64* @__pagesize, align 8 + call void @_locale_init() #18 + call void @_stdio_init() #18 + br label %if.end4 + +if.end4: ; preds = %entry, %if.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define void @__uClibc_fini() #0 { +entry: + %0 = load void ()*, void ()** @__app_fini, align 8 + %cmp = icmp ne void ()* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load void ()*, void ()** @__app_fini, align 8 + call void %1() #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %2 = load void ()*, void ()** @__rtld_fini, align 8 + %cmp1 = icmp ne void ()* %2, null + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + %3 = load void ()*, void ()** @__rtld_fini, align 8 + call void %3() #18 + br label %if.end3 + +if.end3: ; preds = %if.then2, %if.end + ret void +} + +; Function Attrs: noinline noreturn nounwind uwtable +define void @__uClibc_main(i32 (i32, i8**, i8**)* %main, i32 %argc, i8** %argv, void ()* %app_init, void ()* %app_fini, void ()* %rtld_fini, i8* %stack_end) #1 { +entry: + %main.addr = alloca i32 (i32, i8**, i8**)*, align 8 + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %app_init.addr = alloca void ()*, align 8 + %app_fini.addr = alloca void ()*, align 8 + %rtld_fini.addr = alloca void ()*, align 8 + %stack_end.addr = alloca i8*, align 8 + %aux_dat = alloca i64*, align 8 + %auxvt = alloca [15 x %struct.Elf64_auxv_t], align 16 + %auxv_entry = alloca %struct.Elf64_auxv_t*, align 8 + store i32 (i32, i8**, i8**)* %main, i32 (i32, i8**, i8**)** %main.addr, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store void ()* %app_init, void ()** %app_init.addr, align 8 + store void ()* %app_fini, void ()** %app_fini.addr, align 8 + store void ()* %rtld_fini, void ()** %rtld_fini.addr, align 8 + store i8* %stack_end, i8** %stack_end.addr, align 8 + %0 = load i8*, i8** %stack_end.addr, align 8 + store i8* %0, i8** @__libc_stack_end, align 8 + %1 = load void ()*, void ()** %rtld_fini.addr, align 8 + store void ()* %1, void ()** @__rtld_fini, align 8 + %2 = load i8**, i8*** %argv.addr, align 8 + %3 = load i32, i32* %argc.addr, align 4 + %add = add nsw i32 %3, 1 + %idxprom = sext i32 %add to i64 + %arrayidx = getelementptr inbounds i8*, i8** %2, i64 %idxprom + store i8** %arrayidx, i8*** @__environ, align 8 + %4 = load i8**, i8*** @__environ, align 8 + %5 = bitcast i8** %4 to i8* + %6 = load i8**, i8*** %argv.addr, align 8 + %7 = load i8*, i8** %6, align 8 + %cmp = icmp eq i8* %5, %7 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %8 = load i8**, i8*** %argv.addr, align 8 + %9 = load i32, i32* %argc.addr, align 4 + %idxprom1 = sext i32 %9 to i64 + %arrayidx2 = getelementptr inbounds i8*, i8** %8, i64 %idxprom1 + store i8** %arrayidx2, i8*** @__environ, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %arraydecay = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 0 + %10 = bitcast %struct.Elf64_auxv_t* %arraydecay to i8* + %call = call i8* @memset(i8* %10, i32 0, i64 240) #19 + %11 = load i8**, i8*** @__environ, align 8 + %12 = bitcast i8** %11 to i64* + store i64* %12, i64** %aux_dat, align 8 + br label %while.cond + +while.cond: ; preds = %while.cond, %if.end + %13 = load i64*, i64** %aux_dat, align 8 + %14 = load i64, i64* %13, align 8 + %tobool = icmp ne i64 %14, 0 + %15 = load i64*, i64** %aux_dat, align 8 + %incdec.ptr = getelementptr inbounds i64, i64* %15, i32 1 + store i64* %incdec.ptr, i64** %aux_dat, align 8 + br i1 %tobool, label %while.cond, label %while.cond4 + +while.cond4: ; preds = %while.cond, %if.end12 + %16 = load i64*, i64** %aux_dat, align 8 + %17 = load i64, i64* %16, align 8 + %tobool5 = icmp ne i64 %17, 0 + br i1 %tobool5, label %while.body6, label %while.end13 + +while.body6: ; preds = %while.cond4 + %18 = load i64*, i64** %aux_dat, align 8 + %19 = bitcast i64* %18 to %struct.Elf64_auxv_t* + store %struct.Elf64_auxv_t* %19, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %20 = load %struct.Elf64_auxv_t*, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %a_type = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %20, i32 0, i32 0 + %21 = load i64, i64* %a_type, align 8 + %cmp7 = icmp ule i64 %21, 14 + br i1 %cmp7, label %if.then8, label %if.end12 + +if.then8: ; preds = %while.body6 + %22 = load %struct.Elf64_auxv_t*, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %a_type9 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %22, i32 0, i32 0 + %23 = load i64, i64* %a_type9, align 8 + %arrayidx10 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 %23 + %24 = bitcast %struct.Elf64_auxv_t* %arrayidx10 to i8* + %25 = load %struct.Elf64_auxv_t*, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %26 = bitcast %struct.Elf64_auxv_t* %25 to i8* + %call11 = call i8* @memcpy(i8* %24, i8* %26, i64 16) #19 + br label %if.end12 + +if.end12: ; preds = %if.then8, %while.body6 + %27 = load i64*, i64** %aux_dat, align 8 + %add.ptr = getelementptr inbounds i64, i64* %27, i64 2 + store i64* %add.ptr, i64** %aux_dat, align 8 + br label %while.cond4 + +while.end13: ; preds = %while.cond4 + call void @__uClibc_init() #18 + %arrayidx14 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 6 + %a_un = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx14, i32 0, i32 1 + %a_val = bitcast %union.anon.193* %a_un to i64* + %28 = load i64, i64* %a_val, align 8 + %tobool15 = icmp ne i64 %28, 0 + %arrayidx16 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 6 + %a_un17 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx16, i32 0, i32 1 + %a_val18 = bitcast %union.anon.193* %a_un17 to i64* + %29 = load i64, i64* %a_val18, align 8 + %cond = select i1 %tobool15, i64 %29, i64 4096 + store i64 %cond, i64* @__pagesize, align 8 + %arrayidx19 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 11 + %a_un20 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx19, i32 0, i32 1 + %a_val21 = bitcast %union.anon.193* %a_un20 to i64* + %30 = load i64, i64* %a_val21, align 8 + %cmp22 = icmp eq i64 %30, -1 + br i1 %cmp22, label %land.lhs.true, label %lor.lhs.false + +land.lhs.true: ; preds = %while.end13 + %call23 = call i32 @__check_suid() #18 + %tobool24 = icmp ne i32 %call23, 0 + br i1 %tobool24, label %if.then45, label %lor.lhs.false + +lor.lhs.false: ; preds = %land.lhs.true, %while.end13 + %arrayidx25 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 11 + %a_un26 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx25, i32 0, i32 1 + %a_val27 = bitcast %union.anon.193* %a_un26 to i64* + %31 = load i64, i64* %a_val27, align 8 + %cmp28 = icmp ne i64 %31, -1 + br i1 %cmp28, label %land.lhs.true29, label %if.end46 + +land.lhs.true29: ; preds = %lor.lhs.false + %arrayidx30 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 11 + %a_un31 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx30, i32 0, i32 1 + %a_val32 = bitcast %union.anon.193* %a_un31 to i64* + %32 = load i64, i64* %a_val32, align 8 + %arrayidx33 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 12 + %a_un34 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx33, i32 0, i32 1 + %a_val35 = bitcast %union.anon.193* %a_un34 to i64* + %33 = load i64, i64* %a_val35, align 8 + %cmp36 = icmp ne i64 %32, %33 + br i1 %cmp36, label %if.then45, label %lor.lhs.false37 + +lor.lhs.false37: ; preds = %land.lhs.true29 + %arrayidx38 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 13 + %a_un39 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx38, i32 0, i32 1 + %a_val40 = bitcast %union.anon.193* %a_un39 to i64* + %34 = load i64, i64* %a_val40, align 8 + %arrayidx41 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 14 + %a_un42 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx41, i32 0, i32 1 + %a_val43 = bitcast %union.anon.193* %a_un42 to i64* + %35 = load i64, i64* %a_val43, align 8 + %cmp44 = icmp ne i64 %34, %35 + br i1 %cmp44, label %if.then45, label %if.end46 + +if.then45: ; preds = %lor.lhs.false37, %land.lhs.true29, %land.lhs.true + call void @__check_one_fd(i32 0, i32 131072) #18 + call void @__check_one_fd(i32 1, i32 131074) #18 + call void @__check_one_fd(i32 2, i32 131074) #18 + br label %if.end46 + +if.end46: ; preds = %if.then45, %lor.lhs.false37, %lor.lhs.false + %36 = load i8**, i8*** %argv.addr, align 8 + %37 = load i8*, i8** %36, align 8 + store i8* %37, i8** @__uclibc_progname, align 8 + %38 = load i8**, i8*** %argv.addr, align 8 + %39 = load i8*, i8** %38, align 8 + store i8* %39, i8** @program_invocation_name, align 8 + %40 = load i8**, i8*** %argv.addr, align 8 + %41 = load i8*, i8** %40, align 8 + %call47 = call i8* @strrchr(i8* %41, i32 47) #20 + store i8* %call47, i8** @program_invocation_short_name, align 8 + %42 = load i8*, i8** @program_invocation_short_name, align 8 + %cmp48 = icmp ne i8* %42, null + br i1 %cmp48, label %if.then49, label %if.else + +if.then49: ; preds = %if.end46 + %43 = load i8*, i8** @program_invocation_short_name, align 8 + %incdec.ptr50 = getelementptr inbounds i8, i8* %43, i32 1 + store i8* %incdec.ptr50, i8** @program_invocation_short_name, align 8 + br label %if.end51 + +if.else: ; preds = %if.end46 + %44 = load i8*, i8** @program_invocation_name, align 8 + store i8* %44, i8** @program_invocation_short_name, align 8 + br label %if.end51 + +if.end51: ; preds = %if.else, %if.then49 + %45 = load void ()*, void ()** %app_fini.addr, align 8 + store void ()* %45, void ()** @__app_fini, align 8 + %46 = load void ()*, void ()** %app_init.addr, align 8 + %cmp52 = icmp ne void ()* %46, null + br i1 %cmp52, label %if.then53, label %if.then55 + +if.then53: ; preds = %if.end51 + %47 = load void ()*, void ()** %app_init.addr, align 8 + call void %47() #18 + br label %if.then55 + +if.then55: ; preds = %if.end51, %if.then53 + %call56 = call i32* @__errno_location() #21 + store i32 0, i32* %call56, align 4 + %call59 = call i32* @__h_errno_location() #21 + store i32 0, i32* %call59, align 4 + %48 = load i32 (i32, i8**, i8**)*, i32 (i32, i8**, i8**)** %main.addr, align 8 + %49 = load i32, i32* %argc.addr, align 4 + %50 = load i8**, i8*** %argv.addr, align 8 + %51 = load i8**, i8*** @__environ, align 8 + %call61 = call i32 %48(i32 %49, i8** %50, i8** %51) #18 + call void @exit(i32 %call61) #22 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__check_suid() #0 { +entry: + %retval = alloca i32, align 4 + %uid = alloca i32, align 4 + %euid = alloca i32, align 4 + %gid = alloca i32, align 4 + %egid = alloca i32, align 4 + %call = call i32 @getuid() #19 + store i32 %call, i32* %uid, align 4 + %call1 = call i32 @geteuid() #19 + store i32 %call1, i32* %euid, align 4 + %call2 = call i32 @getgid() #19 + store i32 %call2, i32* %gid, align 4 + %call3 = call i32 @getegid() #19 + store i32 %call3, i32* %egid, align 4 + %0 = load i32, i32* %uid, align 4 + %1 = load i32, i32* %euid, align 4 + %cmp = icmp eq i32 %0, %1 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %2 = load i32, i32* %gid, align 4 + %3 = load i32, i32* %egid, align 4 + %cmp4 = icmp eq i32 %2, %3 + br i1 %cmp4, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__check_one_fd(i32 %fd, i32 %mode) #0 { +entry: + %fd.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %st = alloca %struct.stat.192, align 8 + %nullfd = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 (i32, i32, ...) @fcntl(i32 %0, i32 1) #18 + %cmp = icmp eq i32 %call, -1 + br i1 %cmp, label %land.rhs, label %land.end + +land.rhs: ; preds = %entry + %call1 = call i32* @__errno_location() #21 + %1 = load i32, i32* %call1, align 4 + %cmp2 = icmp eq i32 %1, 9 + br label %land.end + +land.end: ; preds = %land.rhs, %entry + %2 = phi i1 [ false, %entry ], [ %cmp2, %land.rhs ] + %lnot = xor i1 %2, true + %lnot3 = xor i1 %lnot, true + %lnot.ext = zext i1 %lnot3 to i32 + %conv = sext i32 %lnot.ext to i64 + %tobool = icmp ne i64 %conv, 0 + br i1 %tobool, label %if.then, label %if.end17 + +if.then: ; preds = %land.end + %3 = load i32, i32* %mode.addr, align 4 + %call4 = call i32 (i8*, i32, ...) @open(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.1, i64 0, i64 0), i32 %3) #18 + store i32 %call4, i32* %nullfd, align 4 + %4 = load i32, i32* %nullfd, align 4 + %5 = load i32, i32* %fd.addr, align 4 + %cmp5 = icmp ne i32 %4, %5 + br i1 %cmp5, label %if.then16, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then + %6 = load i32, i32* %fd.addr, align 4 + %call7 = call i32 bitcast (i32 (i32, %struct.stat64*)* @fstat to i32 (i32, %struct.stat.192*)*)(i32 %6, %struct.stat.192* %st) #19 + %tobool8 = icmp ne i32 %call7, 0 + br i1 %tobool8, label %if.then16, label %lor.lhs.false9 + +lor.lhs.false9: ; preds = %lor.lhs.false + %st_mode = getelementptr inbounds %struct.stat.192, %struct.stat.192* %st, i32 0, i32 3 + %7 = load i32, i32* %st_mode, align 8 + %and = and i32 %7, 61440 + %cmp10 = icmp eq i32 %and, 8192 + br i1 %cmp10, label %lor.lhs.false12, label %if.then16 + +lor.lhs.false12: ; preds = %lor.lhs.false9 + %st_rdev = getelementptr inbounds %struct.stat.192, %struct.stat.192* %st, i32 0, i32 7 + %8 = load i64, i64* %st_rdev, align 8 + %call13 = call i64 @gnu_dev_makedev.173(i32 1, i32 3) #19 + %cmp14 = icmp ne i64 %8, %call13 + br i1 %cmp14, label %if.then16, label %if.end17 + +if.then16: ; preds = %lor.lhs.false12, %lor.lhs.false9, %lor.lhs.false, %if.then + call void @abort() #22 + unreachable + +if.end17: ; preds = %lor.lhs.false12, %land.end + ret void +} + +; Function Attrs: nounwind +declare i32 @getuid() #2 + +; Function Attrs: nounwind +declare i32 @geteuid() #2 + +; Function Attrs: nounwind +declare i32 @getgid() #2 + +; Function Attrs: nounwind +declare i32 @getegid() #2 + +; Function Attrs: noinline nounwind uwtable +define internal i64 @gnu_dev_makedev.173(i32 %__major, i32 %__minor) #0 { +entry: + %__major.addr = alloca i32, align 4 + %__minor.addr = alloca i32, align 4 + store i32 %__major, i32* %__major.addr, align 4 + store i32 %__minor, i32* %__minor.addr, align 4 + %0 = load i32, i32* %__minor.addr, align 4 + %and = and i32 %0, 255 + %1 = load i32, i32* %__major.addr, align 4 + %and1 = and i32 %1, 4095 + %shl = shl i32 %and1, 8 + %or = or i32 %and, %shl + %conv = zext i32 %or to i64 + %2 = load i32, i32* %__minor.addr, align 4 + %and2 = and i32 %2, -256 + %conv3 = zext i32 %and2 to i64 + %shl4 = shl i64 %conv3, 12 + %or5 = or i64 %conv, %shl4 + %3 = load i32, i32* %__major.addr, align 4 + %and6 = and i32 %3, -4096 + %conv7 = zext i32 %and6 to i64 + %shl8 = shl i64 %conv7, 32 + %or9 = or i64 %or5, %shl8 + ret i64 %or9 +} + +define i32 @main(i32 %argc, i8** %argv) { +entry: + call void @__uClibc_main(i32 (i32, i8**, i8**)* @__user_main, i32 %argc, i8** %argv, void ()* null, void ()* null, void ()* null, i8* null) + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define i32 @siggetmask() #0 { +entry: + %call = call i32 @sigblock(i32 0) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i64 @__fpending(%struct.__STDIO_FILE_STRUCT.513* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.513*, align 8 + store %struct.__STDIO_FILE_STRUCT.513* %stream, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.513*, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.513, %struct.__STDIO_FILE_STRUCT.513* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %cond.true, label %cond.end + +cond.true: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.513*, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.513, %struct.__STDIO_FILE_STRUCT.513* %2, i32 0, i32 5 + %3 = load i8*, i8** %__bufpos, align 8 + %4 = load %struct.__STDIO_FILE_STRUCT.513*, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.513, %struct.__STDIO_FILE_STRUCT.513* %4, i32 0, i32 3 + %5 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %3 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + br label %cond.end + +cond.end: ; preds = %entry, %cond.true + %cond = phi i64 [ %sub.ptr.sub, %cond.true ], [ 0, %entry ] + ret i64 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i8* @gets(i8* %s) #0 { +entry: + %s.addr = alloca i8*, align 8 + %p = alloca i8*, align 8 + %c = alloca i32, align 4 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %call = call i32 @getchar_unlocked() #18 + store i32 %call, i32* %c, align 4 + %cmp = icmp ne i32 %call, -1 + br i1 %cmp, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %1 = load i32, i32* %c, align 4 + %conv = trunc i32 %1 to i8 + %2 = load i8*, i8** %p, align 8 + store i8 %conv, i8* %2, align 1 + %conv1 = sext i8 %conv to i32 + %cmp2 = icmp ne i32 %conv1, 10 + br i1 %cmp2, label %while.body, label %while.end + +while.body: ; preds = %land.rhs + %3 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + br label %while.cond + +while.end: ; preds = %while.cond, %land.rhs + %4 = load i32, i32* %c, align 4 + %cmp4 = icmp eq i32 %4, -1 + br i1 %cmp4, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.end + %5 = load i8*, i8** %s.addr, align 8 + %6 = load i8*, i8** %p, align 8 + %cmp6 = icmp eq i8* %5, %6 + br i1 %cmp6, label %if.then, label %if.else + +if.then: ; preds = %lor.lhs.false, %while.end + store i8* null, i8** %s.addr, align 8 + br label %if.end + +if.else: ; preds = %lor.lhs.false + %7 = load i8*, i8** %p, align 8 + store i8 0, i8* %7, align 1 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %8 = load i8*, i8** %s.addr, align 8 + ret i8* %8 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @tmpnam(i8* %s) #0 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %tmpbufmem = alloca [20 x i8], align 16 + %tmpbuf = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %tobool = icmp ne i8* %0, null + %arraydecay = getelementptr inbounds [20 x i8], [20 x i8]* %tmpbufmem, i64 0, i64 0 + %cond = select i1 %tobool, i8* %0, i8* %arraydecay + store i8* %cond, i8** %tmpbuf, align 8 + %1 = load i8*, i8** %tmpbuf, align 8 + %call = call i32 @___path_search(i8* %1, i64 20, i8* null, i8* null) #18 + %conv = sext i32 %call to i64 + %tobool1 = icmp ne i64 %conv, 0 + br i1 %tobool1, label %if.then, label %if.end + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %tmpbuf, align 8 + %call2 = call i32 @__gen_tempname(i8* %2, i32 3) #18 + %conv3 = sext i32 %call2 to i64 + %tobool4 = icmp ne i64 %conv3, 0 + br i1 %tobool4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end + store i8* null, i8** %retval, align 8 + br label %return + +if.end6: ; preds = %if.end + %3 = load i8*, i8** %s.addr, align 8 + %cmp = icmp eq i8* %3, null + br i1 %cmp, label %if.then8, label %if.end10 + +if.then8: ; preds = %if.end6 + %4 = load i8*, i8** %tmpbuf, align 8 + %call9 = call i8* @memcpy(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @tmpnam_buffer, i64 0, i64 0), i8* %4, i64 20) #19 + store i8* %call9, i8** %retval, align 8 + br label %return + +if.end10: ; preds = %if.end6 + %5 = load i8*, i8** %s.addr, align 8 + store i8* %5, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end10, %if.then8, %if.then5, %if.then + %6 = load i8*, i8** %retval, align 8 + ret i8* %6 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @mktemp(i8* nonnull %template) #0 { +entry: + %template.addr = alloca i8*, align 8 + store i8* %template, i8** %template.addr, align 8 + %0 = load i8*, i8** %template.addr, align 8 + %call = call i32 @__gen_tempname(i8* %0, i32 3) #18 + %cmp = icmp slt i32 %call, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load i8*, i8** %template.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + store i8 0, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then, %entry + %2 = load i8*, i8** %template.addr, align 8 + ret i8* %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @access(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %pathname.addr, align 8 + %call1 = call i8* @__concretize_string(i8* %2) + %3 = load i32, i32* %mode.addr, align 4 + %call2 = call i64 (i64, ...) @syscall(i64 21, i8* %call1, i32 %3) #11 + %conv = trunc i64 %call2 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.exe_disk_file_t* @__get_sym_file(i8* %pathname) #3 { +entry: + %retval = alloca %struct.exe_disk_file_t*, align 8 + %pathname.addr = alloca i8*, align 8 + %cwd = alloca [1024 x i8], align 16 + %cwd_len = alloca i64, align 8 + %c = alloca i8, align 1 + %i = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + %0 = load i8*, i8** %pathname.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %pathname.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %2 to i32 + %cmp = icmp eq i32 %conv, 47 + br i1 %cmp, label %if.then2, label %if.end29 + +if.then2: ; preds = %if.end + %3 = bitcast [1024 x i8]* %cwd to i8* + %4 = call i8* @memset(i8* %3, i32 0, i64 1024) + %arraydecay = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 0 + %call = call i8* @getcwd(i8* %arraydecay, i64 1024) #11 + %tobool3 = icmp ne i8* %call, null + br i1 %tobool3, label %if.then4, label %if.end29 + +if.then4: ; preds = %if.then2 + %arraydecay5 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 0 + %call6 = call i64 @strlen(i8* %arraydecay5) #23 + store i64 %call6, i64* %cwd_len, align 8 + %5 = load i64, i64* %cwd_len, align 8 + %cmp7 = icmp ugt i64 %5, 0 + br i1 %cmp7, label %land.lhs.true, label %if.end15 + +land.lhs.true: ; preds = %if.then4 + %6 = load i64, i64* %cwd_len, align 8 + %sub = sub i64 %6, 1 + %arrayidx9 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 %sub + %7 = load i8, i8* %arrayidx9, align 1 + %conv10 = sext i8 %7 to i32 + %cmp11 = icmp eq i32 %conv10, 47 + br i1 %cmp11, label %if.then13, label %if.end15 + +if.then13: ; preds = %land.lhs.true + %8 = load i64, i64* %cwd_len, align 8 + %dec = add i64 %8, -1 + store i64 %dec, i64* %cwd_len, align 8 + %arrayidx14 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 %dec + store i8 0, i8* %arrayidx14, align 1 + br label %if.end15 + +if.end15: ; preds = %if.then13, %land.lhs.true, %if.then4 + %9 = load i8*, i8** %pathname.addr, align 8 + %arraydecay16 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 0 + %10 = load i64, i64* %cwd_len, align 8 + %call17 = call i32 @strncmp(i8* %9, i8* %arraydecay16, i64 %10) #23 + %cmp18 = icmp eq i32 %call17, 0 + br i1 %cmp18, label %if.then20, label %if.end29 + +if.then20: ; preds = %if.end15 + %11 = load i8*, i8** %pathname.addr, align 8 + %12 = load i64, i64* %cwd_len, align 8 + %arrayidx21 = getelementptr inbounds i8, i8* %11, i64 %12 + %13 = load i8, i8* %arrayidx21, align 1 + %conv22 = sext i8 %13 to i32 + %cmp23 = icmp ne i32 %conv22, 0 + br i1 %cmp23, label %if.then25, label %if.end29 + +if.then25: ; preds = %if.then20 + %14 = load i64, i64* %cwd_len, align 8 + %add = add i64 %14, 1 + %15 = load i8*, i8** %pathname.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %15, i64 %add + store i8* %add.ptr, i8** %pathname.addr, align 8 + br label %if.end29 + +if.end29: ; preds = %if.then2, %if.then20, %if.then25, %if.end15, %if.end + %16 = load i8*, i8** %pathname.addr, align 8 + %arrayidx30 = getelementptr inbounds i8, i8* %16, i64 0 + %17 = load i8, i8* %arrayidx30, align 1 + store i8 %17, i8* %c, align 1 + %18 = load i8, i8* %c, align 1 + %conv31 = sext i8 %18 to i32 + %cmp32 = icmp eq i32 %conv31, 0 + br i1 %cmp32, label %if.then38, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end29 + %19 = load i8*, i8** %pathname.addr, align 8 + %arrayidx34 = getelementptr inbounds i8, i8* %19, i64 1 + %20 = load i8, i8* %arrayidx34, align 1 + %conv35 = sext i8 %20 to i32 + %cmp36 = icmp ne i32 %conv35, 0 + br i1 %cmp36, label %if.then38, label %if.end39 + +if.then38: ; preds = %lor.lhs.false, %if.end29 + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +if.end39: ; preds = %lor.lhs.false + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end39 + %21 = load i32, i32* %i, align 4 + %22 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %cmp40 = icmp ult i32 %21, %22 + br i1 %cmp40, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %23 = load i8, i8* %c, align 1 + %conv42 = sext i8 %23 to i32 + %24 = load i32, i32* %i, align 4 + %conv43 = trunc i32 %24 to i8 + %conv44 = sext i8 %conv43 to i32 + %add45 = add nsw i32 65, %conv44 + %cmp46 = icmp eq i32 %conv42, %add45 + br i1 %cmp46, label %if.then48, label %for.inc + +if.then48: ; preds = %for.body + %25 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %26 = load i32, i32* %i, align 4 + %idxprom = zext i32 %26 to i64 + %arrayidx49 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %25, i64 %idxprom + store %struct.exe_disk_file_t* %arrayidx49, %struct.exe_disk_file_t** %df, align 8 + %27 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %27, i32 0, i32 2 + %28 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %28, i32 0, i32 1 + %29 = load i64, i64* %st_ino, align 8 + %cmp50 = icmp eq i64 %29, 0 + br i1 %cmp50, label %if.then52, label %if.end53 + +if.then52: ; preds = %if.then48 + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +if.end53: ; preds = %if.then48 + %30 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + store %struct.exe_disk_file_t* %30, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +for.inc: ; preds = %for.body + %31 = load i32, i32* %i, align 4 + %inc = add i32 %31, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +return: ; preds = %for.end, %if.end53, %if.then52, %if.then38, %if.then + %32 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %retval, align 8 + ret %struct.exe_disk_file_t* %32 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @__concretize_string(i8* %s) #3 { +entry: + %s.addr = alloca i8*, align 8 + %sc = alloca i8*, align 8 + %i = alloca i32, align 4 + %c = alloca i8, align 1 + %cc = alloca i8, align 1 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %call = call i8* @__concretize_ptr(i8* %0) + store i8* %call, i8** %sc, align 8 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load i8*, i8** %sc, align 8 + %2 = load i8, i8* %1, align 1 + store i8 %2, i8* %c, align 1 + %3 = load i8, i8* %c, align 1 + %conv = sext i8 %3 to i64 + %call1 = call i32 @gs_is_symbolic(i64 %conv) + %tobool = icmp ne i32 %call1, 0 + br i1 %tobool, label %if.end4, label %if.then + +if.then: ; preds = %for.cond + %4 = load i8, i8* %c, align 1 + %tobool2 = icmp ne i8 %4, 0 + br i1 %tobool2, label %for.inc, label %for.end + +if.end4: ; preds = %for.cond + %5 = load i32, i32* %i, align 4 + %6 = load i32, i32* %i, align 4 + %sub = sub i32 %6, 1 + %and = and i32 %5, %sub + %tobool5 = icmp ne i32 %and, 0 + %7 = load i8, i8* %c, align 1 + br i1 %tobool5, label %if.else14, label %if.then6 + +if.then6: ; preds = %if.end4 + %tobool7 = icmp ne i8 %7, 0 + br i1 %tobool7, label %if.else, label %if.then8 + +if.then8: ; preds = %if.then6 + %8 = load i8*, i8** %sc, align 8 + store i8 0, i8* %8, align 1 + br label %for.end + +if.else: ; preds = %if.then6 + %9 = load i8, i8* %c, align 1 + %conv9 = sext i8 %9 to i32 + %cmp = icmp eq i32 %conv9, 47 + br i1 %cmp, label %if.then11, label %for.inc + +if.then11: ; preds = %if.else + %10 = load i8*, i8** %sc, align 8 + store i8 47, i8* %10, align 1 + br label %for.inc + +if.else14: ; preds = %if.end4 + %conv15 = sext i8 %7 to i64 + %call16 = call i64 @gs_get_valuel(i64 %conv15) + %conv17 = trunc i64 %call16 to i8 + store i8 %conv17, i8* %cc, align 1 + %11 = load i8, i8* %cc, align 1 + %conv18 = sext i8 %11 to i32 + %12 = load i8, i8* %c, align 1 + %conv19 = sext i8 %12 to i32 + %cmp20 = icmp eq i32 %conv18, %conv19 + call void @gs_assume(i1 zeroext %cmp20) + %13 = load i8, i8* %cc, align 1 + %14 = load i8*, i8** %sc, align 8 + store i8 %13, i8* %14, align 1 + %15 = load i8, i8* %cc, align 1 + %tobool22 = icmp ne i8 %15, 0 + br i1 %tobool22, label %for.inc, label %for.end + +for.inc: ; preds = %if.else, %if.then11, %if.else14, %if.then + %16 = load i32, i32* %i, align 4 + %inc = add i32 %16, 1 + store i32 %inc, i32* %i, align 4 + %17 = load i8*, i8** %sc, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %17, i32 1 + store i8* %incdec.ptr, i8** %sc, align 8 + br label %for.cond + +for.end: ; preds = %if.else14, %if.then, %if.then8 + %18 = load i8*, i8** %s.addr, align 8 + ret i8* %18 +} + +; Function Attrs: nounwind +declare dso_local i64 @syscall(i64, ...) #4 + +; Function Attrs: noinline nounwind uwtable +define internal i8* @__concretize_ptr(i8* %p) #3 { +entry: + %p.addr = alloca i8*, align 8 + store i8* %p, i8** %p.addr, align 8 + %0 = load i8*, i8** %p.addr, align 8 + %1 = ptrtoint i8* %0 to i64 + %call = call i32 @gs_is_symbolic(i64 %1) + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @gs_report_error(i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 1386, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.27, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.28, i64 0, i64 0)) #24 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %p.addr, align 8 + ret i8* %2 +} + +declare dso_local i32 @gs_is_symbolic(i64) #5 + +declare dso_local i64 @gs_get_valuel(i64) #5 + +declare dso_local void @gs_assume(i1 zeroext) #5 + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.25, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +declare dso_local void @print_string(i8*) #5 + +declare dso_local void @sym_print(i32, ...) #5 + +; Function Attrs: noreturn +declare dso_local void @stop(i32) #7 + +; Function Attrs: argmemonly nounwind willreturn writeonly +declare void @llvm.memset.p0i8.i64(i8* nocapture writeonly, i8, i64, i1 immarg) #8 + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @getcwd(i8* %buf, i64 %size) #3 { +entry: + %retval = alloca i8*, align 8 + %buf.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %r = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + %0 = load i32, i32* @getcwd.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @getcwd.n_calls, align 4 + %1 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool = icmp ne i32 %1, 0 + br i1 %tobool, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %2 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %3 = load i32, i32* %2, align 4 + %4 = load i32, i32* @getcwd.n_calls, align 4 + %cmp = icmp eq i32 %3, %4 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %5 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %5, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call = call i32* @__errno_location() #25 + store i32 34, i32* %call, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + %6 = load i8*, i8** %buf.addr, align 8 + %tobool1 = icmp ne i8* %6, null + br i1 %tobool1, label %if.else, label %if.then2 + +if.then2: ; preds = %if.end + store i64 1024, i64* %size.addr, align 8 + %7 = load i64, i64* %size.addr, align 8 + %call3 = call noalias i8* @malloc(i64 %7) #11 + store i8* %call3, i8** %buf.addr, align 8 + %8 = load i8*, i8** %buf.addr, align 8 + %tobool4 = icmp ne i8* %8, null + br i1 %tobool4, label %if.end12, label %if.then5 + +if.then5: ; preds = %if.then2 + %call6 = call i32* @__errno_location() #25 + store i32 12, i32* %call6, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.else: ; preds = %if.end + %9 = load i64, i64* %size.addr, align 8 + %tobool8 = icmp ne i64 %9, 0 + br i1 %tobool8, label %if.end12, label %if.then9 + +if.then9: ; preds = %if.else + %call10 = call i32* @__errno_location() #25 + store i32 22, i32* %call10, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end12: ; preds = %if.else, %if.then2 + %10 = load i8*, i8** %buf.addr, align 8 + %call13 = call i8* @__concretize_ptr(i8* %10) + store i8* %call13, i8** %buf.addr, align 8 + %11 = load i64, i64* %size.addr, align 8 + %call14 = call i64 @__concretize_size(i64 %11) + store i64 %call14, i64* %size.addr, align 8 + %12 = load i8*, i8** %buf.addr, align 8 + %13 = load i64, i64* %size.addr, align 8 + %call15 = call i64 (i64, ...) @syscall(i64 79, i8* %12, i64 %13) #11 + %conv = trunc i64 %call15 to i32 + store i32 %conv, i32* %r, align 4 + %14 = load i32, i32* %r, align 4 + %cmp16 = icmp eq i32 %14, -1 + br i1 %cmp16, label %if.then18, label %if.end19 + +if.then18: ; preds = %if.end12 + store i8* null, i8** %retval, align 8 + br label %return + +if.end19: ; preds = %if.end12 + %15 = load i8*, i8** %buf.addr, align 8 + store i8* %15, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end19, %if.then18, %if.then9, %if.then5, %if.then + %16 = load i8*, i8** %retval, align 8 + ret i8* %16 +} + +; Function Attrs: nounwind +declare dso_local noalias i8* @malloc(i64) #4 + +; Function Attrs: noinline nounwind uwtable +define internal i64 @__concretize_size(i64 %s) #3 { +entry: + %s.addr = alloca i64, align 8 + %sc = alloca i64, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %call = call i64 @gs_get_valuel(i64 %0) + store i64 %call, i64* %sc, align 8 + %1 = load i64, i64* %sc, align 8 + %2 = load i64, i64* %s.addr, align 8 + %cmp = icmp eq i64 %1, %2 + call void @gs_assume(i1 zeroext %cmp) + %3 = load i64, i64* %sc, align 8 + ret i64 %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @umask(i32 %mask) #3 { +entry: + %mask.addr = alloca i32, align 4 + %r = alloca i32, align 4 + store i32 %mask, i32* %mask.addr, align 4 + %0 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 1), align 8 + store i32 %0, i32* %r, align 4 + %1 = load i32, i32* %mask.addr, align 4 + %and = and i32 %1, 511 + store i32 %and, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 1), align 8 + %2 = load i32, i32* %r, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_open(i8* %pathname, i32 %flags, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %fd = alloca i32, align 4 + %os_fd = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + store i32 0, i32* %fd, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %0, 32 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %1 = load i32, i32* %fd, align 4 + %idxprom = sext i32 %1 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + %flags1 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %arrayidx, i32 0, i32 1 + %2 = load i32, i32* %flags1, align 4 + %and = and i32 %2, 1 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %for.inc, label %for.end + +for.inc: ; preds = %for.body + %3 = load i32, i32* %fd, align 4 + %inc = add nsw i32 %3, 1 + store i32 %inc, i32* %fd, align 4 + br label %for.cond + +for.end: ; preds = %for.body, %for.cond + %4 = load i32, i32* %fd, align 4 + %cmp2 = icmp eq i32 %4, 32 + br i1 %cmp2, label %if.then3, label %if.end4 + +if.then3: ; preds = %for.end + %call = call i32* @__errno_location() #25 + store i32 24, i32* %call, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %for.end + %5 = load i32, i32* %fd, align 4 + %idxprom5 = sext i32 %5 to i64 + %arrayidx6 = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom5 + store %struct.exe_file_t* %arrayidx6, %struct.exe_file_t** %f, align 8 + %6 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %7 = bitcast %struct.exe_file_t* %6 to i8* + %8 = call i8* @memset(i8* %7, i32 0, i64 24) + %9 = load i8*, i8** %pathname.addr, align 8 + %call7 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %9) + store %struct.exe_disk_file_t* %call7, %struct.exe_disk_file_t** %df, align 8 + %10 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %tobool8 = icmp ne %struct.exe_disk_file_t* %10, null + br i1 %tobool8, label %if.then9, label %if.else45 + +if.then9: ; preds = %if.end4 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %12 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %12, i32 0, i32 3 + store %struct.exe_disk_file_t* %11, %struct.exe_disk_file_t** %dfile, align 8 + %13 = load i32, i32* %flags.addr, align 4 + %and10 = and i32 %13, 64 + %tobool11 = icmp ne i32 %and10, 0 + br i1 %tobool11, label %land.lhs.true, label %if.end16 + +land.lhs.true: ; preds = %if.then9 + %14 = load i32, i32* %flags.addr, align 4 + %and12 = and i32 %14, 128 + %tobool13 = icmp ne i32 %and12, 0 + br i1 %tobool13, label %if.then14, label %if.end16 + +if.then14: ; preds = %land.lhs.true + %call15 = call i32* @__errno_location() #25 + store i32 17, i32* %call15, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end16: ; preds = %land.lhs.true, %if.then9 + %15 = load i32, i32* %flags.addr, align 4 + %and17 = and i32 %15, 512 + %tobool18 = icmp ne i32 %and17, 0 + br i1 %tobool18, label %land.lhs.true19, label %if.end24 + +land.lhs.true19: ; preds = %if.end16 + %16 = load i32, i32* %flags.addr, align 4 + %and20 = and i32 %16, 0 + %tobool21 = icmp ne i32 %and20, 0 + br i1 %tobool21, label %if.then22, label %if.end24 + +if.then22: ; preds = %land.lhs.true19 + call void @gs_warning(i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.5, i64 0, i64 0)) + %call23 = call i32* @__errno_location() #25 + store i32 13, i32* %call23, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end24: ; preds = %land.lhs.true19, %if.end16 + %17 = load i32, i32* %flags.addr, align 4 + %and25 = and i32 %17, 128 + %tobool26 = icmp ne i32 %and25, 0 + br i1 %tobool26, label %land.lhs.true27, label %if.end32 + +land.lhs.true27: ; preds = %if.end24 + %18 = load i32, i32* %flags.addr, align 4 + %and28 = and i32 %18, 64 + %tobool29 = icmp ne i32 %and28, 0 + br i1 %tobool29, label %if.end32, label %if.then30 + +if.then30: ; preds = %land.lhs.true27 + call void @gs_warning(i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.1.6, i64 0, i64 0)) + %call31 = call i32* @__errno_location() #25 + store i32 13, i32* %call31, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end32: ; preds = %land.lhs.true27, %if.end24 + %19 = load i32, i32* %flags.addr, align 4 + %20 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %20, i32 0, i32 2 + %21 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %call33 = call i32 @has_permission(i32 %19, %struct.stat64* %21) + %tobool34 = icmp ne i32 %call33, 0 + br i1 %tobool34, label %if.else, label %if.then35 + +if.then35: ; preds = %if.end32 + %call36 = call i32* @__errno_location() #25 + store i32 13, i32* %call36, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.end32 + %22 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile37 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %22, i32 0, i32 3 + %23 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile37, align 8 + %stat38 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %23, i32 0, i32 2 + %24 = load %struct.stat64*, %struct.stat64** %stat38, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %24, i32 0, i32 3 + %25 = load i32, i32* %st_mode, align 8 + %and39 = and i32 %25, -512 + %26 = load i32, i32* %mode.addr, align 4 + %27 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 1), align 8 + %neg = xor i32 %27, -1 + %and40 = and i32 %26, %neg + %or = or i32 %and39, %and40 + %28 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile41 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %28, i32 0, i32 3 + %29 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile41, align 8 + %stat42 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %29, i32 0, i32 2 + %30 = load %struct.stat64*, %struct.stat64** %stat42, align 8 + %st_mode43 = getelementptr inbounds %struct.stat64, %struct.stat64* %30, i32 0, i32 3 + store i32 %or, i32* %st_mode43, align 8 + br label %if.end53 + +if.else45: ; preds = %if.end4 + %31 = load i8*, i8** %pathname.addr, align 8 + %call46 = call i8* @__concretize_string(i8* %31) + %32 = load i32, i32* %flags.addr, align 4 + %33 = load i32, i32* %mode.addr, align 4 + %call47 = call i64 (i64, ...) @syscall(i64 2, i8* %call46, i32 %32, i32 %33) #11 + %conv = trunc i64 %call47 to i32 + store i32 %conv, i32* %os_fd, align 4 + %34 = load i32, i32* %os_fd, align 4 + %cmp48 = icmp eq i32 %34, -1 + br i1 %cmp48, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.else45 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end51: ; preds = %if.else45 + %35 = load i32, i32* %os_fd, align 4 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd52 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 0 + store i32 %35, i32* %fd52, align 8 + br label %if.end53 + +if.end53: ; preds = %if.end51, %if.else + %37 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %37, i32 0, i32 1 + store i32 1, i32* %flags54, align 4 + %38 = load i32, i32* %flags.addr, align 4 + %and55 = and i32 %38, 3 + %cmp56 = icmp eq i32 %and55, 0 + br i1 %cmp56, label %if.then58, label %if.else61 + +if.then58: ; preds = %if.end53 + %39 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags59 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %39, i32 0, i32 1 + %40 = load i32, i32* %flags59, align 4 + %or60 = or i32 %40, 4 + store i32 %or60, i32* %flags59, align 4 + br label %if.end72 + +if.else61: ; preds = %if.end53 + %41 = load i32, i32* %flags.addr, align 4 + %and62 = and i32 %41, 3 + %cmp63 = icmp eq i32 %and62, 1 + %42 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags66 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %42, i32 0, i32 1 + %43 = load i32, i32* %flags66, align 4 + br i1 %cmp63, label %if.then65, label %if.else68 + +if.then65: ; preds = %if.else61 + %or67 = or i32 %43, 8 + store i32 %or67, i32* %flags66, align 4 + br label %if.end72 + +if.else68: ; preds = %if.else61 + %or70 = or i32 %43, 12 + store i32 %or70, i32* %flags66, align 4 + br label %if.end72 + +if.end72: ; preds = %if.then65, %if.else68, %if.then58 + %44 = load i32, i32* %fd, align 4 + store i32 %44, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end72, %if.then50, %if.then35, %if.then30, %if.then22, %if.then14, %if.then3 + %45 = load i32, i32* %retval, align 4 + ret i32 %45 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @gs_warning(i8* %message) #3 { +entry: + %message.addr = alloca i8*, align 8 + store i8* %message, i8** %message.addr, align 8 + %0 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %0) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.25, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @has_permission(i32 %flags, %struct.stat64* %s) #3 { +entry: + %retval = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %s.addr = alloca %struct.stat64*, align 8 + %write_access = alloca i32, align 4 + %read_access = alloca i32, align 4 + %mode = alloca i32, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store %struct.stat64* %s, %struct.stat64** %s.addr, align 8 + %0 = load %struct.stat64*, %struct.stat64** %s.addr, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %0, i32 0, i32 3 + %1 = load i32, i32* %st_mode, align 8 + store i32 %1, i32* %mode, align 4 + %2 = load i32, i32* %flags.addr, align 4 + %and = and i32 %2, 0 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %3 = load i32, i32* %flags.addr, align 4 + %and1 = and i32 %3, 2 + %tobool2 = icmp ne i32 %and1, 0 + br i1 %tobool2, label %if.then, label %if.else + +if.then: ; preds = %lor.lhs.false, %entry + store i32 1, i32* %read_access, align 4 + br label %if.end + +if.else: ; preds = %lor.lhs.false + store i32 0, i32* %read_access, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %4 = load i32, i32* %flags.addr, align 4 + %and3 = and i32 %4, 1 + %tobool4 = icmp ne i32 %and3, 0 + br i1 %tobool4, label %if.then8, label %lor.lhs.false5 + +lor.lhs.false5: ; preds = %if.end + %5 = load i32, i32* %flags.addr, align 4 + %and6 = and i32 %5, 2 + %tobool7 = icmp ne i32 %and6, 0 + br i1 %tobool7, label %if.then8, label %if.else9 + +if.then8: ; preds = %lor.lhs.false5, %if.end + store i32 1, i32* %write_access, align 4 + br label %if.end10 + +if.else9: ; preds = %lor.lhs.false5 + store i32 0, i32* %write_access, align 4 + br label %if.end10 + +if.end10: ; preds = %if.else9, %if.then8 + %6 = load i32, i32* %read_access, align 4 + %tobool11 = icmp ne i32 %6, 0 + br i1 %tobool11, label %land.lhs.true, label %if.end18 + +land.lhs.true: ; preds = %if.end10 + %7 = load i32, i32* %mode, align 4 + %and12 = and i32 %7, 256 + %8 = load i32, i32* %mode, align 4 + %and13 = and i32 %8, 32 + %or = or i32 %and12, %and13 + %9 = load i32, i32* %mode, align 4 + %and14 = and i32 %9, 4 + %or15 = or i32 %or, %and14 + %tobool16 = icmp ne i32 %or15, 0 + br i1 %tobool16, label %if.then17, label %if.end18 + +if.then17: ; preds = %land.lhs.true + store i32 0, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %land.lhs.true, %if.end10 + %10 = load i32, i32* %write_access, align 4 + %tobool19 = icmp ne i32 %10, 0 + br i1 %tobool19, label %land.lhs.true20, label %if.end28 + +land.lhs.true20: ; preds = %if.end18 + %11 = load i32, i32* %mode, align 4 + %and21 = and i32 %11, 128 + %12 = load i32, i32* %mode, align 4 + %and22 = and i32 %12, 16 + %or23 = or i32 %and21, %and22 + %13 = load i32, i32* %mode, align 4 + %and24 = and i32 %13, 2 + %or25 = or i32 %or23, %and24 + %tobool26 = icmp ne i32 %or25, 0 + br i1 %tobool26, label %if.end28, label %if.then27 + +if.then27: ; preds = %land.lhs.true20 + store i32 0, i32* %retval, align 4 + br label %return + +if.end28: ; preds = %land.lhs.true20, %if.end18 + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end28, %if.then27, %if.then17 + %14 = load i32, i32* %retval, align 4 + ret i32 %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_openat(i32 %basefd, i8* %pathname, i32 %flags, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %basefd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %fd = alloca i32, align 4 + %bf = alloca %struct.exe_file_t*, align 8 + %os_fd = alloca i32, align 4 + store i32 %basefd, i32* %basefd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %basefd.addr, align 4 + %cmp = icmp ne i32 %0, -100 + br i1 %cmp, label %if.then, label %if.end8 + +if.then: ; preds = %entry + %1 = load i32, i32* %basefd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %bf, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %bf, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.else, label %if.then1 + +if.then1: ; preds = %if.then + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %bf, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 3 + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool3 = icmp ne %struct.exe_disk_file_t* %4, null + br i1 %tobool3, label %if.then4, label %if.end6 + +if.then4: ; preds = %if.else + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0)) + %call5 = call i32* @__errno_location() #25 + store i32 2, i32* %call5, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.else + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %bf, align 8 + %fd7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd7, align 8 + store i32 %6, i32* %basefd.addr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end6, %entry + %7 = load i8*, i8** %pathname.addr, align 8 + %call9 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %7) + %tobool10 = icmp ne %struct.exe_disk_file_t* %call9, null + br i1 %tobool10, label %if.then11, label %if.end13 + +if.then11: ; preds = %if.end8 + %8 = load i8*, i8** %pathname.addr, align 8 + %9 = load i32, i32* %flags.addr, align 4 + %10 = load i32, i32* %mode.addr, align 4 + %call12 = call i32 @__fd_open(i8* %8, i32 %9, i32 %10) + store i32 %call12, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.end8 + store i32 0, i32* %fd, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end13 + %11 = load i32, i32* %fd, align 4 + %cmp14 = icmp slt i32 %11, 32 + br i1 %cmp14, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %12 = load i32, i32* %fd, align 4 + %idxprom = sext i32 %12 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + %flags15 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %arrayidx, i32 0, i32 1 + %13 = load i32, i32* %flags15, align 4 + %and = and i32 %13, 1 + %tobool16 = icmp ne i32 %and, 0 + br i1 %tobool16, label %for.inc, label %for.end + +for.inc: ; preds = %for.body + %14 = load i32, i32* %fd, align 4 + %inc = add nsw i32 %14, 1 + store i32 %inc, i32* %fd, align 4 + br label %for.cond + +for.end: ; preds = %for.body, %for.cond + %15 = load i32, i32* %fd, align 4 + %cmp19 = icmp eq i32 %15, 32 + br i1 %cmp19, label %if.then20, label %if.end22 + +if.then20: ; preds = %for.end + %call21 = call i32* @__errno_location() #25 + store i32 24, i32* %call21, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end22: ; preds = %for.end + %16 = load i32, i32* %fd, align 4 + %idxprom23 = sext i32 %16 to i64 + %arrayidx24 = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom23 + store %struct.exe_file_t* %arrayidx24, %struct.exe_file_t** %f, align 8 + %17 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %18 = bitcast %struct.exe_file_t* %17 to i8* + %19 = call i8* @memset(i8* %18, i32 0, i64 24) + %20 = load i32, i32* %basefd.addr, align 4 + %conv = sext i32 %20 to i64 + %21 = load i8*, i8** %pathname.addr, align 8 + %call25 = call i8* @__concretize_string(i8* %21) + %22 = load i32, i32* %flags.addr, align 4 + %conv26 = sext i32 %22 to i64 + %23 = load i32, i32* %mode.addr, align 4 + %call27 = call i64 (i64, ...) @syscall(i64 257, i64 %conv, i8* %call25, i64 %conv26, i32 %23) #11 + %conv28 = trunc i64 %call27 to i32 + store i32 %conv28, i32* %os_fd, align 4 + %24 = load i32, i32* %os_fd, align 4 + %cmp29 = icmp eq i32 %24, -1 + br i1 %cmp29, label %if.then31, label %if.end32 + +if.then31: ; preds = %if.end22 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end32: ; preds = %if.end22 + %25 = load i32, i32* %os_fd, align 4 + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd33 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 0 + store i32 %25, i32* %fd33, align 8 + %27 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags34 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %27, i32 0, i32 1 + store i32 1, i32* %flags34, align 4 + %28 = load i32, i32* %flags.addr, align 4 + %and35 = and i32 %28, 3 + %cmp36 = icmp eq i32 %and35, 0 + br i1 %cmp36, label %if.then38, label %if.else40 + +if.then38: ; preds = %if.end32 + %29 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags39 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %29, i32 0, i32 1 + %30 = load i32, i32* %flags39, align 4 + %or = or i32 %30, 4 + store i32 %or, i32* %flags39, align 4 + br label %if.end51 + +if.else40: ; preds = %if.end32 + %31 = load i32, i32* %flags.addr, align 4 + %and41 = and i32 %31, 3 + %cmp42 = icmp eq i32 %and41, 1 + %32 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags45 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %32, i32 0, i32 1 + %33 = load i32, i32* %flags45, align 4 + br i1 %cmp42, label %if.then44, label %if.else47 + +if.then44: ; preds = %if.else40 + %or46 = or i32 %33, 8 + store i32 %or46, i32* %flags45, align 4 + br label %if.end51 + +if.else47: ; preds = %if.else40 + %or49 = or i32 %33, 12 + store i32 %or49, i32* %flags45, align 4 + br label %if.end51 + +if.end51: ; preds = %if.then44, %if.else47, %if.then38 + %34 = load i32, i32* %fd, align 4 + store i32 %34, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end51, %if.then31, %if.then20, %if.then11, %if.then4, %if.then1 + %35 = load i32, i32* %retval, align 4 + ret i32 %35 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.exe_file_t* @__get_file(i32 %fd) #3 { +entry: + %retval = alloca %struct.exe_file_t*, align 8 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %cmp = icmp sge i32 %0, 0 + %1 = load i32, i32* %fd.addr, align 4 + %cmp1 = icmp slt i32 %1, 32 + %or.cond = and i1 %cmp, %cmp1 + br i1 %or.cond, label %if.then, label %if.end3 + +if.then: ; preds = %entry + %2 = load i32, i32* %fd.addr, align 4 + %idxprom = sext i32 %2 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + store %struct.exe_file_t* %arrayidx, %struct.exe_file_t** %f, align 8 + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 1 + %4 = load i32, i32* %flags, align 4 + %and = and i32 %4, 1 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.then + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + store %struct.exe_file_t* %5, %struct.exe_file_t** %retval, align 8 + br label %return + +if.end3: ; preds = %if.then, %entry + store %struct.exe_file_t* null, %struct.exe_file_t** %retval, align 8 + br label %return + +return: ; preds = %if.end3, %if.then2 + %6 = load %struct.exe_file_t*, %struct.exe_file_t** %retval, align 8 + ret %struct.exe_file_t* %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @utimes(i8* nonnull %path, %struct.timespec* %times) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %times.addr = alloca %struct.timespec*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + %newTimes = alloca [2 x %struct.timespec], align 16 + store i8* %path, i8** %path.addr, align 8 + store %struct.timespec* %times, %struct.timespec** %times.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end12 + +if.then: ; preds = %entry + %2 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %tobool1 = icmp ne %struct.timespec* %2, null + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + %arrayidx = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 0 + %call3 = call i32 @gettimeofday(%struct.timespec* %arrayidx, i8* null) #11 + %arrayidx4 = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 1 + %arrayidx5 = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 0 + %3 = bitcast %struct.timespec* %arrayidx4 to i8* + %4 = bitcast %struct.timespec* %arrayidx5 to i8* + %5 = call i8* @memcpy(i8* %3, i8* %4, i64 16) + %arraydecay = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 0 + store %struct.timespec* %arraydecay, %struct.timespec** %times.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %6 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %arrayidx6 = getelementptr inbounds %struct.timespec, %struct.timespec* %6, i64 0 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %arrayidx6, i32 0, i32 0 + %7 = load i64, i64* %tv_sec, align 8 + %8 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %8, i32 0, i32 2 + %9 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_atim = getelementptr inbounds %struct.stat64, %struct.stat64* %9, i32 0, i32 11 + %tv_sec7 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim, i32 0, i32 0 + store i64 %7, i64* %tv_sec7, align 8 + %10 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %arrayidx8 = getelementptr inbounds %struct.timespec, %struct.timespec* %10, i64 1 + %tv_sec9 = getelementptr inbounds %struct.timespec, %struct.timespec* %arrayidx8, i32 0, i32 0 + %11 = load i64, i64* %tv_sec9, align 8 + %12 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat10 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %12, i32 0, i32 2 + %13 = load %struct.stat64*, %struct.stat64** %stat10, align 8 + %st_mtim = getelementptr inbounds %struct.stat64, %struct.stat64* %13, i32 0, i32 12 + %tv_sec11 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim, i32 0, i32 0 + store i64 %11, i64* %tv_sec11, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.end12: ; preds = %entry + %14 = load i8*, i8** %path.addr, align 8 + %call13 = call i8* @__concretize_string(i8* %14) + %15 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %call14 = call i64 (i64, ...) @syscall(i64 235, i8* %call13, %struct.timespec* %15) #11 + %conv = trunc i64 %call14 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end12, %if.end + %16 = load i32, i32* %retval, align 4 + ret i32 %16 +} + +; Function Attrs: nounwind +declare dso_local i32 @gettimeofday(%struct.timespec*, i8*) #4 + +; Function Attrs: argmemonly nounwind willreturn +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* noalias nocapture writeonly, i8* noalias nocapture readonly, i64, i1 immarg) #9 + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @futimesat(i32 %fd, i8* %path, %struct.timespec* %times) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %times.addr = alloca %struct.timespec*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.timespec* %times, %struct.timespec** %times.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %cmp = icmp ne i32 %0, -100 + br i1 %cmp, label %if.then, label %if.end8 + +if.then: ; preds = %entry + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.else, label %if.then1 + +if.then1: ; preds = %if.then + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 3 + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool3 = icmp ne %struct.exe_disk_file_t* %4, null + br i1 %tobool3, label %if.then4, label %if.end6 + +if.then4: ; preds = %if.else + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0)) + %call5 = call i32* @__errno_location() #25 + store i32 2, i32* %call5, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.else + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd7, align 8 + store i32 %6, i32* %fd.addr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end6, %entry + %7 = load i8*, i8** %path.addr, align 8 + %call9 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %7) + %tobool10 = icmp ne %struct.exe_disk_file_t* %call9, null + br i1 %tobool10, label %if.then11, label %if.end13 + +if.then11: ; preds = %if.end8 + %8 = load i8*, i8** %path.addr, align 8 + %9 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %call12 = call i32 @utimes(i8* %8, %struct.timespec* %9) #11 + store i32 %call12, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.end8 + %10 = load i32, i32* %fd.addr, align 4 + %conv = sext i32 %10 to i64 + %11 = load i8*, i8** %path.addr, align 8 + %tobool14 = icmp ne i8* %11, null + br i1 %tobool14, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end13 + %12 = load i8*, i8** %path.addr, align 8 + %call15 = call i8* @__concretize_string(i8* %12) + br label %cond.end + +cond.end: ; preds = %if.end13, %cond.true + %cond = phi i8* [ %call15, %cond.true ], [ null, %if.end13 ] + %13 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %call16 = call i64 (i64, ...) @syscall(i64 261, i64 %conv, i8* %cond, %struct.timespec* %13) #11 + %conv17 = trunc i64 %call16 to i32 + store i32 %conv17, i32* %retval, align 4 + br label %return + +return: ; preds = %cond.end, %if.then11, %if.then4, %if.then1 + %14 = load i32, i32* %retval, align 4 + ret i32 %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @close(i32 %fd) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %r = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 0, i32* %r, align 4 + %0 = load i32, i32* @close.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @close.n_calls, align 4 + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @close.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %9 = bitcast %struct.exe_file_t* %8 to i8* + %10 = call i8* @memset(i8* %9, i32 0, i64 24) + %11 = load i32, i32* %r, align 4 + store i32 %11, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %12 = load i32, i32* %retval, align 4 + ret i32 %12 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @read(i32 %fd, i8* %buf, i64 %count) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %r = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + %0 = load i32, i32* @read.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @read.n_calls, align 4 + %1 = load i64, i64* %count.addr, align 8 + %cmp = icmp eq i64 %1, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i64 0, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %buf.addr, align 8 + %cmp1 = icmp eq i8* %2, null + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + %call = call i32* @__errno_location() #25 + store i32 14, i32* %call, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %3 = load i32, i32* %fd.addr, align 4 + %call4 = call %struct.exe_file_t* @__get_file(i32 %3) + store %struct.exe_file_t* %call4, %struct.exe_file_t** %f, align 8 + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %4, null + br i1 %tobool, label %if.end7, label %if.then5 + +if.then5: ; preds = %if.end3 + %call6 = call i32* @__errno_location() #25 + store i32 9, i32* %call6, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end7: ; preds = %if.end3 + %5 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool8 = icmp ne i32 %5, 0 + br i1 %tobool8, label %land.lhs.true, label %if.end12 + +land.lhs.true: ; preds = %if.end7 + %6 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %7 = load i32, i32* %6, align 4 + %8 = load i32, i32* @read.n_calls, align 4 + %cmp9 = icmp eq i32 %7, %8 + br i1 %cmp9, label %if.then10, label %if.end12 + +if.then10: ; preds = %land.lhs.true + %9 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %9, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call11 = call i32* @__errno_location() #25 + store i32 5, i32* %call11, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end12: ; preds = %land.lhs.true, %if.end7 + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 3 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool13 = icmp ne %struct.exe_disk_file_t* %11, null + br i1 %tobool13, label %if.else38, label %if.then14 + +if.then14: ; preds = %if.end12 + %12 = load i8*, i8** %buf.addr, align 8 + %call15 = call i8* @__concretize_ptr(i8* %12) + store i8* %call15, i8** %buf.addr, align 8 + %13 = load i64, i64* %count.addr, align 8 + %call16 = call i64 @__concretize_size(i64 %13) + store i64 %call16, i64* %count.addr, align 8 + %14 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd17 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %14, i32 0, i32 0 + %15 = load i32, i32* %fd17, align 8 + %cmp18 = icmp eq i32 %15, 0 + %16 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd20 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %16, i32 0, i32 0 + %17 = load i32, i32* %fd20, align 8 + %18 = load i8*, i8** %buf.addr, align 8 + %19 = load i64, i64* %count.addr, align 8 + br i1 %cmp18, label %if.then19, label %if.else + +if.then19: ; preds = %if.then14 + %call21 = call i64 (i64, ...) @syscall(i64 0, i32 %17, i8* %18, i64 %19) #11 + %conv = trunc i64 %call21 to i32 + store i32 %conv, i32* %r, align 4 + br label %if.end25 + +if.else: ; preds = %if.then14 + %20 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %20, i32 0, i32 2 + %21 = load i64, i64* %off, align 8 + %call23 = call i64 (i64, ...) @syscall(i64 17, i32 %17, i8* %18, i64 %19, i64 %21) #11 + %conv24 = trunc i64 %call23 to i32 + store i32 %conv24, i32* %r, align 4 + br label %if.end25 + +if.end25: ; preds = %if.else, %if.then19 + %22 = load i32, i32* %r, align 4 + %cmp26 = icmp eq i32 %22, -1 + br i1 %cmp26, label %if.then28, label %if.end29 + +if.then28: ; preds = %if.end25 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end29: ; preds = %if.end25 + %23 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd30 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %23, i32 0, i32 0 + %24 = load i32, i32* %fd30, align 8 + %cmp31 = icmp ne i32 %24, 0 + br i1 %cmp31, label %if.then33, label %if.end36 + +if.then33: ; preds = %if.end29 + %25 = load i32, i32* %r, align 4 + %conv34 = sext i32 %25 to i64 + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off35 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 2 + %27 = load i64, i64* %off35, align 8 + %add = add nsw i64 %27, %conv34 + store i64 %add, i64* %off35, align 8 + br label %if.end36 + +if.end36: ; preds = %if.then33, %if.end29 + %28 = load i32, i32* %r, align 4 + %conv37 = sext i32 %28 to i64 + store i64 %conv37, i64* %retval, align 8 + br label %return + +if.else38: ; preds = %if.end12 + %29 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off39 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %29, i32 0, i32 2 + %30 = load i64, i64* %off39, align 8 + %cmp40 = icmp sge i64 %30, 0 + br i1 %cmp40, label %if.end44, label %if.else43 + +if.else43: ; preds = %if.else38 + call void @__assert_fail(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.3, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 393, i8* getelementptr inbounds ([34 x i8], [34 x i8]* @__PRETTY_FUNCTION__.read, i64 0, i64 0)) #26 + unreachable + +if.end44: ; preds = %if.else38 + %31 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile45 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %31, i32 0, i32 3 + %32 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile45, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %32, i32 0, i32 0 + %33 = load i32, i32* %size, align 8 + %conv46 = zext i32 %33 to i64 + %34 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off47 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %34, i32 0, i32 2 + %35 = load i64, i64* %off47, align 8 + %cmp48 = icmp slt i64 %conv46, %35 + br i1 %cmp48, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.end44 + store i64 0, i64* %retval, align 8 + br label %return + +if.end51: ; preds = %if.end44 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off52 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 2 + %37 = load i64, i64* %off52, align 8 + %38 = load i64, i64* %count.addr, align 8 + %add53 = add i64 %37, %38 + %39 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %39, i32 0, i32 3 + %40 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile54, align 8 + %size55 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %40, i32 0, i32 0 + %41 = load i32, i32* %size55, align 8 + %conv56 = zext i32 %41 to i64 + %cmp57 = icmp ugt i64 %add53, %conv56 + br i1 %cmp57, label %if.then59, label %if.end64 + +if.then59: ; preds = %if.end51 + %42 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile60 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %42, i32 0, i32 3 + %43 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile60, align 8 + %size61 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %43, i32 0, i32 0 + %44 = load i32, i32* %size61, align 8 + %conv62 = zext i32 %44 to i64 + %45 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off63 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %45, i32 0, i32 2 + %46 = load i64, i64* %off63, align 8 + %sub = sub nsw i64 %conv62, %46 + store i64 %sub, i64* %count.addr, align 8 + br label %if.end64 + +if.end64: ; preds = %if.then59, %if.end51 + %47 = load i8*, i8** %buf.addr, align 8 + %48 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile65 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %48, i32 0, i32 3 + %49 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile65, align 8 + %contents = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %49, i32 0, i32 1 + %50 = load i8*, i8** %contents, align 8 + %51 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off66 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %51, i32 0, i32 2 + %52 = load i64, i64* %off66, align 8 + %add.ptr = getelementptr inbounds i8, i8* %50, i64 %52 + %53 = load i64, i64* %count.addr, align 8 + %54 = call i8* @memcpy(i8* %47, i8* %add.ptr, i64 %53) + %55 = load i64, i64* %count.addr, align 8 + %56 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off67 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %56, i32 0, i32 2 + %57 = load i64, i64* %off67, align 8 + %add68 = add i64 %57, %55 + store i64 %add68, i64* %off67, align 8 + %58 = load i64, i64* %count.addr, align 8 + store i64 %58, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end64, %if.then50, %if.end36, %if.then28, %if.then10, %if.then5, %if.then2, %if.then + %59 = load i64, i64* %retval, align 8 + ret i64 %59 +} + +; Function Attrs: noreturn nounwind +declare dso_local void @__assert_fail(i8*, i8*, i32, i8*) #10 + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @write(i32 %fd, i8* %buf, i64 %count) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %r = alloca i32, align 4 + %actual_count = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + %0 = load i32, i32* @write.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @write.n_calls, align 4 + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @write.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + br i1 %tobool6, label %if.else42, label %if.then7 + +if.then7: ; preds = %if.end5 + %10 = load i8*, i8** %buf.addr, align 8 + %call8 = call i8* @__concretize_ptr(i8* %10) + store i8* %call8, i8** %buf.addr, align 8 + %11 = load i64, i64* %count.addr, align 8 + %call9 = call i64 @__concretize_size(i64 %11) + store i64 %call9, i64* %count.addr, align 8 + %12 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd10 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %12, i32 0, i32 0 + %13 = load i32, i32* %fd10, align 8 + %cmp11 = icmp eq i32 %13, 1 + br i1 %cmp11, label %if.then14, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then7 + %14 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd12 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %14, i32 0, i32 0 + %15 = load i32, i32* %fd12, align 8 + %cmp13 = icmp eq i32 %15, 2 + br i1 %cmp13, label %if.then14, label %if.else + +if.then14: ; preds = %lor.lhs.false, %if.then7 + %16 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd15 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %16, i32 0, i32 0 + %17 = load i32, i32* %fd15, align 8 + %18 = load i8*, i8** %buf.addr, align 8 + %19 = load i64, i64* %count.addr, align 8 + %call16 = call i64 (i64, ...) @syscall(i64 1, i32 %17, i8* %18, i64 %19) #11 + %conv = trunc i64 %call16 to i32 + store i32 %conv, i32* %r, align 4 + br label %if.end20 + +if.else: ; preds = %lor.lhs.false + %20 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd17 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %20, i32 0, i32 0 + %21 = load i32, i32* %fd17, align 8 + %22 = load i8*, i8** %buf.addr, align 8 + %23 = load i64, i64* %count.addr, align 8 + %24 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %24, i32 0, i32 2 + %25 = load i64, i64* %off, align 8 + %call18 = call i64 (i64, ...) @syscall(i64 18, i32 %21, i8* %22, i64 %23, i64 %25) #11 + %conv19 = trunc i64 %call18 to i32 + store i32 %conv19, i32* %r, align 4 + br label %if.end20 + +if.end20: ; preds = %if.else, %if.then14 + %26 = load i32, i32* %r, align 4 + %cmp21 = icmp eq i32 %26, -1 + br i1 %cmp21, label %if.then23, label %if.end24 + +if.then23: ; preds = %if.end20 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end24: ; preds = %if.end20 + %27 = load i32, i32* %r, align 4 + %cmp25 = icmp sge i32 %27, 0 + br i1 %cmp25, label %if.end29, label %if.else28 + +if.else28: ; preds = %if.end24 + call void @__assert_fail(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.5.7, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 445, i8* getelementptr inbounds ([41 x i8], [41 x i8]* @__PRETTY_FUNCTION__.write, i64 0, i64 0)) #26 + unreachable + +if.end29: ; preds = %if.end24 + %28 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd30 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %28, i32 0, i32 0 + %29 = load i32, i32* %fd30, align 8 + %cmp31 = icmp ne i32 %29, 1 + br i1 %cmp31, label %land.lhs.true33, label %if.end40 + +land.lhs.true33: ; preds = %if.end29 + %30 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd34 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %30, i32 0, i32 0 + %31 = load i32, i32* %fd34, align 8 + %cmp35 = icmp ne i32 %31, 2 + br i1 %cmp35, label %if.then37, label %if.end40 + +if.then37: ; preds = %land.lhs.true33 + %32 = load i32, i32* %r, align 4 + %conv38 = sext i32 %32 to i64 + %33 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off39 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %33, i32 0, i32 2 + %34 = load i64, i64* %off39, align 8 + %add = add nsw i64 %34, %conv38 + store i64 %add, i64* %off39, align 8 + br label %if.end40 + +if.end40: ; preds = %if.then37, %land.lhs.true33, %if.end29 + %35 = load i32, i32* %r, align 4 + %conv41 = sext i32 %35 to i64 + store i64 %conv41, i64* %retval, align 8 + br label %return + +if.else42: ; preds = %if.end5 + store i64 0, i64* %actual_count, align 8 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off43 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 2 + %37 = load i64, i64* %off43, align 8 + %38 = load i64, i64* %count.addr, align 8 + %add44 = add i64 %37, %38 + %39 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile45 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %39, i32 0, i32 3 + %40 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile45, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %40, i32 0, i32 0 + %41 = load i32, i32* %size, align 8 + %conv46 = zext i32 %41 to i64 + %cmp47 = icmp ule i64 %add44, %conv46 + br i1 %cmp47, label %if.then49, label %if.else50 + +if.then49: ; preds = %if.else42 + %42 = load i64, i64* %count.addr, align 8 + store i64 %42, i64* %actual_count, align 8 + br label %if.end67 + +if.else50: ; preds = %if.else42 + %43 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 3), align 8 + %tobool51 = icmp ne i32 %43, 0 + br i1 %tobool51, label %if.then52, label %if.else53 + +if.then52: ; preds = %if.else50 + call void @__assert_fail(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.6, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 458, i8* getelementptr inbounds ([41 x i8], [41 x i8]* @__PRETTY_FUNCTION__.write, i64 0, i64 0)) #26 + unreachable + +if.else53: ; preds = %if.else50 + %44 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %44, i32 0, i32 2 + %45 = load i64, i64* %off54, align 8 + %46 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile55 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %46, i32 0, i32 3 + %47 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile55, align 8 + %size56 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %47, i32 0, i32 0 + %48 = load i32, i32* %size56, align 8 + %conv57 = zext i32 %48 to i64 + %cmp58 = icmp slt i64 %45, %conv57 + br i1 %cmp58, label %if.then60, label %if.end67 + +if.then60: ; preds = %if.else53 + %49 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile61 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %49, i32 0, i32 3 + %50 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile61, align 8 + %size62 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %50, i32 0, i32 0 + %51 = load i32, i32* %size62, align 8 + %conv63 = zext i32 %51 to i64 + %52 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off64 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %52, i32 0, i32 2 + %53 = load i64, i64* %off64, align 8 + %sub = sub nsw i64 %conv63, %53 + store i64 %sub, i64* %actual_count, align 8 + br label %if.end67 + +if.end67: ; preds = %if.then60, %if.else53, %if.then49 + %54 = load i64, i64* %actual_count, align 8 + %tobool68 = icmp ne i64 %54, 0 + br i1 %tobool68, label %if.then69, label %if.end72 + +if.then69: ; preds = %if.end67 + %55 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile70 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %55, i32 0, i32 3 + %56 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile70, align 8 + %contents = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %56, i32 0, i32 1 + %57 = load i8*, i8** %contents, align 8 + %58 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off71 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %58, i32 0, i32 2 + %59 = load i64, i64* %off71, align 8 + %add.ptr = getelementptr inbounds i8, i8* %57, i64 %59 + %60 = load i8*, i8** %buf.addr, align 8 + %61 = load i64, i64* %actual_count, align 8 + %62 = call i8* @memcpy(i8* %add.ptr, i8* %60, i64 %61) + br label %if.end72 + +if.end72: ; preds = %if.then69, %if.end67 + %63 = load i64, i64* %count.addr, align 8 + %64 = load i64, i64* %actual_count, align 8 + %cmp73 = icmp ne i64 %63, %64 + br i1 %cmp73, label %if.then75, label %if.end76 + +if.then75: ; preds = %if.end72 + call void @gs_warning(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.7, i64 0, i64 0)) + br label %if.end76 + +if.end76: ; preds = %if.then75, %if.end72 + %65 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile77 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %65, i32 0, i32 3 + %66 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile77, align 8 + %67 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + %cmp78 = icmp eq %struct.exe_disk_file_t* %66, %67 + br i1 %cmp78, label %if.then80, label %if.end84 + +if.then80: ; preds = %if.end76 + %68 = load i64, i64* %actual_count, align 8 + %69 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 3), align 8 + %conv81 = zext i32 %69 to i64 + %add82 = add i64 %conv81, %68 + %conv83 = trunc i64 %add82 to i32 + store i32 %conv83, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 3), align 8 + br label %if.end84 + +if.end84: ; preds = %if.then80, %if.end76 + %70 = load i64, i64* %count.addr, align 8 + %71 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off85 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %71, i32 0, i32 2 + %72 = load i64, i64* %off85, align 8 + %add86 = add i64 %72, %70 + store i64 %add86, i64* %off85, align 8 + %73 = load i64, i64* %count.addr, align 8 + store i64 %73, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end84, %if.end40, %if.then23, %if.then3, %if.then + %74 = load i64, i64* %retval, align 8 + ret i64 %74 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @__fd_lseek(i32 %fd, i64 %offset, i32 %whence) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + %new_off = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + %4 = load i32, i32* %whence.addr, align 4 + br i1 %tobool2, label %if.end24, label %if.then3 + +if.then3: ; preds = %if.end + %cmp = icmp eq i32 %4, 0 + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd5 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd5, align 8 + br i1 %cmp, label %if.then4, label %if.else + +if.then4: ; preds = %if.then3 + %7 = load i64, i64* %offset.addr, align 8 + %call6 = call i64 (i64, ...) @syscall(i64 8, i32 %6, i64 %7, i32 0) #11 + store i64 %call6, i64* %new_off, align 8 + br label %if.end19 + +if.else: ; preds = %if.then3 + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 2 + %9 = load i64, i64* %off, align 8 + %call8 = call i64 (i64, ...) @syscall(i64 8, i32 %6, i64 %9, i32 0) #11 + store i64 %call8, i64* %new_off, align 8 + %10 = load i64, i64* %new_off, align 8 + %cmp9 = icmp ne i64 %10, -1 + br i1 %cmp9, label %if.then10, label %if.end19 + +if.then10: ; preds = %if.else + %11 = load i64, i64* %new_off, align 8 + %12 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off11 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %12, i32 0, i32 2 + %13 = load i64, i64* %off11, align 8 + %cmp12 = icmp eq i64 %11, %13 + br i1 %cmp12, label %if.end15, label %if.else14 + +if.else14: ; preds = %if.then10 + call void @__assert_fail(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.8, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 504, i8* getelementptr inbounds ([38 x i8], [38 x i8]* @__PRETTY_FUNCTION__.__fd_lseek, i64 0, i64 0)) #26 + unreachable + +if.end15: ; preds = %if.then10 + %14 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd16 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %14, i32 0, i32 0 + %15 = load i32, i32* %fd16, align 8 + %16 = load i64, i64* %offset.addr, align 8 + %17 = load i32, i32* %whence.addr, align 4 + %call17 = call i64 (i64, ...) @syscall(i64 8, i32 %15, i64 %16, i32 %17) #11 + store i64 %call17, i64* %new_off, align 8 + br label %if.end19 + +if.end19: ; preds = %if.else, %if.end15, %if.then4 + %18 = load i64, i64* %new_off, align 8 + %cmp20 = icmp eq i64 %18, -1 + br i1 %cmp20, label %if.then21, label %if.end22 + +if.then21: ; preds = %if.end19 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end22: ; preds = %if.end19 + %19 = load i64, i64* %new_off, align 8 + %20 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off23 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %20, i32 0, i32 2 + store i64 %19, i64* %off23, align 8 + %21 = load i64, i64* %new_off, align 8 + store i64 %21, i64* %retval, align 8 + br label %return + +if.end24: ; preds = %if.end + br label %NodeBlock3 + +NodeBlock3: ; preds = %if.end24 + %case.cmp4 = icmp eq i32 %4, 0 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %4, 1 + br i1 %case.cmp2, label %sw.bb25, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %4, 2 + br i1 %case.cmp, label %sw.bb27, label %newDefault + +sw.bb: ; preds = %NodeBlock3 + %22 = load i64, i64* %offset.addr, align 8 + store i64 %22, i64* %new_off, align 8 + br label %sw.epilog + +sw.bb25: ; preds = %NodeBlock1 + %23 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off26 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %23, i32 0, i32 2 + %24 = load i64, i64* %off26, align 8 + %25 = load i64, i64* %offset.addr, align 8 + %add = add nsw i64 %24, %25 + store i64 %add, i64* %new_off, align 8 + br label %sw.epilog + +sw.bb27: ; preds = %NodeBlock + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile28 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 3 + %27 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile28, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %27, i32 0, i32 0 + %28 = load i32, i32* %size, align 8 + %conv = zext i32 %28 to i64 + %29 = load i64, i64* %offset.addr, align 8 + %add29 = add nsw i64 %conv, %29 + store i64 %add29, i64* %new_off, align 8 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + %call30 = call i32* @__errno_location() #25 + store i32 22, i32* %call30, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +sw.epilog: ; preds = %sw.bb27, %sw.bb25, %sw.bb + %30 = load i64, i64* %new_off, align 8 + %cmp31 = icmp slt i64 %30, 0 + br i1 %cmp31, label %if.then33, label %if.end35 + +if.then33: ; preds = %sw.epilog + %call34 = call i32* @__errno_location() #25 + store i32 22, i32* %call34, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end35: ; preds = %sw.epilog + %31 = load i64, i64* %new_off, align 8 + %32 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off36 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %32, i32 0, i32 2 + store i64 %31, i64* %off36, align 8 + %33 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off37 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %33, i32 0, i32 2 + %34 = load i64, i64* %off37, align 8 + store i64 %34, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end35, %if.then33, %sw.default, %if.end22, %if.then21, %if.then + %35 = load i64, i64* %retval, align 8 + ret i64 %35 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_stat(i8* %path, %struct.stat64* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %3 = bitcast %struct.stat64* %2 to i8* + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %4, i32 0, i32 2 + %5 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %6 = bitcast %struct.stat64* %5 to i8* + %7 = call i8* @memcpy(i8* %3, i8* %6, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load i8*, i8** %path.addr, align 8 + %call1 = call i8* @__concretize_string(i8* %8) + %9 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %call2 = call i64 (i64, ...) @syscall(i64 4, i8* %call1, %struct.stat64* %9) #11 + %conv = trunc i64 %call2 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %10 = load i32, i32* %retval, align 4 + ret i32 %10 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstatat(i32 %fd, i8* nonnull %path, %struct.stat64* nonnull %buf, i32 %flags) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %flags.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %dfile9 = alloca %struct.exe_disk_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %cmp = icmp ne i32 %0, -100 + br i1 %cmp, label %if.then, label %if.end8 + +if.then: ; preds = %entry + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.else, label %if.then1 + +if.then1: ; preds = %if.then + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 3 + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool3 = icmp ne %struct.exe_disk_file_t* %4, null + br i1 %tobool3, label %if.then4, label %if.end6 + +if.then4: ; preds = %if.else + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0)) + %call5 = call i32* @__errno_location() #25 + store i32 2, i32* %call5, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.else + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd7, align 8 + store i32 %6, i32* %fd.addr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end6, %entry + %7 = load i8*, i8** %path.addr, align 8 + %call10 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %7) + store %struct.exe_disk_file_t* %call10, %struct.exe_disk_file_t** %dfile9, align 8 + %8 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile9, align 8 + %tobool11 = icmp ne %struct.exe_disk_file_t* %8, null + br i1 %tobool11, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.end8 + %9 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %10 = bitcast %struct.stat64* %9 to i8* + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile9, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %11, i32 0, i32 2 + %12 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %13 = bitcast %struct.stat64* %12 to i8* + %14 = call i8* @memcpy(i8* %10, i8* %13, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.end8 + %15 = load i32, i32* %fd.addr, align 4 + %conv = sext i32 %15 to i64 + %16 = load i8*, i8** %path.addr, align 8 + %tobool14 = icmp ne i8* %16, null + br i1 %tobool14, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end13 + %17 = load i8*, i8** %path.addr, align 8 + %call15 = call i8* @__concretize_string(i8* %17) + br label %cond.end + +cond.end: ; preds = %if.end13, %cond.true + %cond = phi i8* [ %call15, %cond.true ], [ null, %if.end13 ] + %18 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %19 = load i32, i32* %flags.addr, align 4 + %conv16 = sext i32 %19 to i64 + %call17 = call i64 (i64, ...) @syscall(i64 262, i64 %conv, i8* %cond, %struct.stat64* %18, i64 %conv16) #11 + %conv18 = trunc i64 %call17 to i32 + store i32 %conv18, i32* %retval, align 4 + br label %return + +return: ; preds = %cond.end, %if.then12, %if.then4, %if.then1 + %20 = load i32, i32* %retval, align 4 + ret i32 %20 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_lstat(i8* %path, %struct.stat64* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %3 = bitcast %struct.stat64* %2 to i8* + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %4, i32 0, i32 2 + %5 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %6 = bitcast %struct.stat64* %5 to i8* + %7 = call i8* @memcpy(i8* %3, i8* %6, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load i8*, i8** %path.addr, align 8 + %call1 = call i8* @__concretize_string(i8* %8) + %9 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %call2 = call i64 (i64, ...) @syscall(i64 6, i8* %call1, %struct.stat64* %9) #11 + %conv = trunc i64 %call2 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %10 = load i32, i32* %retval, align 4 + ret i32 %10 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chdir(i8* nonnull %path) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0)) + %call1 = call i32* @__errno_location() #25 + store i32 2, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %2) + %call3 = call i64 (i64, ...) @syscall(i64 80, i8* %call2) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %3 = load i32, i32* %retval, align 4 + ret i32 %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fchdir(i32 %fd) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %if.end + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 2, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd6, align 8 + %call7 = call i64 (i64, ...) @syscall(i64 81, i32 %5) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chmod(i8* nonnull %path, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load i32, i32* @chmod.n_calls, align 4 + %inc = add nsw i32 %1, 1 + store i32 %inc, i32* @chmod.n_calls, align 4 + %2 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool = icmp ne i32 %2, 0 + br i1 %tobool, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %3 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 11), align 8 + %4 = load i32, i32* %3, align 4 + %5 = load i32, i32* @chmod.n_calls, align 4 + %cmp = icmp eq i32 %4, %5 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %6 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %6, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call1 = call i32* @__errno_location() #25 + store i32 5, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + %7 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %7, null + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %if.end + %8 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %9 = load i32, i32* %mode.addr, align 4 + %call4 = call i32 @__df_chmod(%struct.exe_disk_file_t* %8, i32 %9) + store i32 %call4, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %if.end + %10 = load i8*, i8** %path.addr, align 8 + %call6 = call i8* @__concretize_string(i8* %10) + %11 = load i32, i32* %mode.addr, align 4 + %call7 = call i64 (i64, ...) @syscall(i64 90, i8* %call6, i32 %11) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %12 = load i32, i32* %retval, align 4 + ret i32 %12 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__df_chmod(%struct.exe_disk_file_t* %df, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %df.addr = alloca %struct.exe_disk_file_t*, align 8 + %mode.addr = alloca i32, align 4 + store %struct.exe_disk_file_t* %df, %struct.exe_disk_file_t** %df.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %call = call i32 @geteuid() #11 + %0 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %0, i32 0, i32 2 + %1 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_uid = getelementptr inbounds %struct.stat64, %struct.stat64* %1, i32 0, i32 4 + %2 = load i32, i32* %st_uid, align 4 + %cmp = icmp eq i32 %call, %2 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %call1 = call i32 @getgid() #11 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %3, i32 0, i32 2 + %4 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + %st_gid = getelementptr inbounds %struct.stat64, %struct.stat64* %4, i32 0, i32 5 + %5 = load i32, i32* %st_gid, align 8 + %cmp3 = icmp ne i32 %call1, %5 + br i1 %cmp3, label %if.then4, label %if.end + +if.then4: ; preds = %if.then + %6 = load i32, i32* %mode.addr, align 4 + %and = and i32 %6, -1025 + store i32 %and, i32* %mode.addr, align 4 + br label %if.end + +if.end: ; preds = %if.then4, %if.then + %7 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat5 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %7, i32 0, i32 2 + %8 = load %struct.stat64*, %struct.stat64** %stat5, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %8, i32 0, i32 3 + %9 = load i32, i32* %st_mode, align 8 + %and6 = and i32 %9, -4096 + %10 = load i32, i32* %mode.addr, align 4 + %and7 = and i32 %10, 4095 + %or = or i32 %and6, %and7 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat8 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %11, i32 0, i32 2 + %12 = load %struct.stat64*, %struct.stat64** %stat8, align 8 + %st_mode9 = getelementptr inbounds %struct.stat64, %struct.stat64* %12, i32 0, i32 3 + store i32 %or, i32* %st_mode9, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %call10 = call i32* @__errno_location() #25 + store i32 1, i32* %call10, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.else, %if.end + %13 = load i32, i32* %retval, align 4 + ret i32 %13 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fchmod(i32 %fd, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i32, i32* @fchmod.n_calls, align 4 + %inc = add nsw i32 %2, 1 + store i32 %inc, i32* @fchmod.n_calls, align 4 + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 12), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @fchmod.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + br i1 %tobool6, label %if.then7, label %if.end10 + +if.then7: ; preds = %if.end5 + %dfile8 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 3 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile8, align 8 + %12 = load i32, i32* %mode.addr, align 4 + %call9 = call i32 @__df_chmod(%struct.exe_disk_file_t* %11, i32 %12) + store i32 %call9, i32* %retval, align 4 + br label %return + +if.end10: ; preds = %if.end5 + %fd11 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 0 + %13 = load i32, i32* %fd11, align 8 + %14 = load i32, i32* %mode.addr, align 4 + %call12 = call i64 (i64, ...) @syscall(i64 91, i32 %13, i32 %14) #11 + %conv = trunc i64 %call12 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end10, %if.then7, %if.then3, %if.then + %15 = load i32, i32* %retval, align 4 + ret i32 %15 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chown(i8* nonnull %path, i32 %owner, i32 %group) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %df, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %3 = load i32, i32* %owner.addr, align 4 + %4 = load i32, i32* %group.addr, align 4 + %call1 = call i32 @__df_chown(%struct.exe_disk_file_t* %2, i32 %3, i32 %4) + store i32 %call1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %5 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %5) + %6 = load i32, i32* %owner.addr, align 4 + %7 = load i32, i32* %group.addr, align 4 + %call3 = call i64 (i64, ...) @syscall(i64 92, i8* %call2, i32 %6, i32 %7) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__df_chown(%struct.exe_disk_file_t* %df, i32 %owner, i32 %group) #3 { +entry: + %df.addr = alloca %struct.exe_disk_file_t*, align 8 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + store %struct.exe_disk_file_t* %df, %struct.exe_disk_file_t** %df.addr, align 8 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + call void @gs_warning(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.26, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fchown(i32 %fd, i32 %owner, i32 %group) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end6 + +if.then3: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile4 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 3 + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile4, align 8 + %6 = load i32, i32* %owner.addr, align 4 + %7 = load i32, i32* %group.addr, align 4 + %call5 = call i32 @__df_chown(%struct.exe_disk_file_t* %5, i32 %6, i32 %7) + store i32 %call5, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.end + %8 = load i32, i32* %fd.addr, align 4 + %9 = load i32, i32* %owner.addr, align 4 + %10 = load i32, i32* %group.addr, align 4 + %call7 = call i64 (i64, ...) @syscall(i64 93, i32 %8, i32 %9, i32 %10) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end6, %if.then3, %if.then + %11 = load i32, i32* %retval, align 4 + ret i32 %11 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @lchown(i8* nonnull %path, i32 %owner, i32 %group) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %df, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %3 = load i32, i32* %owner.addr, align 4 + %4 = load i32, i32* %group.addr, align 4 + %call1 = call i32 @__df_chown(%struct.exe_disk_file_t* %2, i32 %3, i32 %4) + store i32 %call1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %5 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %5) + %6 = load i32, i32* %owner.addr, align 4 + %7 = load i32, i32* %group.addr, align 4 + %call3 = call i64 (i64, ...) @syscall(i64 92, i8* %call2, i32 %6, i32 %7) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_fstat(i32 %fd, %struct.stat64* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.end6, label %if.then3 + +if.then3: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd4 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd4, align 8 + %6 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %call5 = call i64 (i64, ...) @syscall(i64 5, i32 %5, %struct.stat64* %6) #11 + %conv = trunc i64 %call5 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.end + %7 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %8 = bitcast %struct.stat64* %7 to i8* + %9 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %9, i32 0, i32 3 + %10 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile7, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %10, i32 0, i32 2 + %11 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %12 = bitcast %struct.stat64* %11 to i8* + %13 = call i8* @memcpy(i8* %8, i8* %12, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end6, %if.then3, %if.then + %14 = load i32, i32* %retval, align 4 + ret i32 %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_ftruncate(i32 %fd, i64 %length) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %length.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %length, i64* %length.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load i32, i32* @__fd_ftruncate.n_calls, align 4 + %inc = add nsw i32 %1, 1 + store i32 %inc, i32* @__fd_ftruncate.n_calls, align 4 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @__fd_ftruncate.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + br i1 %tobool6, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end5 + call void @gs_warning(i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.10, i64 0, i64 0)) + %call8 = call i32* @__errno_location() #25 + store i32 5, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end9: ; preds = %if.end5 + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd10 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 0 + %11 = load i32, i32* %fd10, align 8 + %12 = load i64, i64* %length.addr, align 8 + %call11 = call i64 (i64, ...) @syscall(i64 77, i32 %11, i64 %12) #11 + %conv = trunc i64 %call11 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end9, %if.then7, %if.then3, %if.then + %13 = load i32, i32* %retval, align 4 + ret i32 %13 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_getdents(i32 %fd, %struct.dirent64* %dirp, i32 %count) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %dirp.addr = alloca %struct.dirent64*, align 8 + %count.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %i = alloca i64, align 8 + %pad = alloca i64, align 8 + %bytes = alloca i64, align 8 + %df = alloca %struct.exe_disk_file_t*, align 8 + %os_pos = alloca i64, align 8 + %res = alloca i32, align 4 + %s = alloca i64, align 8 + %pos = alloca i32, align 4 + %dp = alloca %struct.dirent64*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.dirent64* %dirp, %struct.dirent64** %dirp.addr, align 8 + store i32 %count, i32* %count.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.else + +if.then3: ; preds = %if.end + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 22, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 2 + %5 = load i64, i64* %off, align 8 + %cmp = icmp ult i64 %5, 4096 + br i1 %cmp, label %if.then5, label %if.else43 + +if.then5: ; preds = %if.else + store i64 0, i64* %bytes, align 8 + %6 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %6, i32 0, i32 2 + %7 = load i64, i64* %off6, align 8 + %div = udiv i64 %7, 280 + store i64 %div, i64* %i, align 8 + %8 = load i64, i64* %i, align 8 + %mul = mul i64 %8, 280 + %9 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %9, i32 0, i32 2 + %10 = load i64, i64* %off7, align 8 + %cmp8 = icmp ne i64 %mul, %10 + br i1 %cmp8, label %if.then11, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then5 + %11 = load i64, i64* %i, align 8 + %12 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %conv = zext i32 %12 to i64 + %cmp9 = icmp sgt i64 %11, %conv + br i1 %cmp9, label %if.then11, label %for.cond + +if.then11: ; preds = %lor.lhs.false, %if.then5 + %call12 = call i32* @__errno_location() #25 + store i32 22, i32* %call12, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +for.cond: ; preds = %lor.lhs.false, %for.body + %13 = load i64, i64* %i, align 8 + %14 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %conv14 = zext i32 %14 to i64 + %cmp15 = icmp slt i64 %13, %conv14 + br i1 %cmp15, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %15 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %16 = load i64, i64* %i, align 8 + %arrayidx = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %15, i64 %16 + store %struct.exe_disk_file_t* %arrayidx, %struct.exe_disk_file_t** %df, align 8 + %17 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %17, i32 0, i32 2 + %18 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %18, i32 0, i32 1 + %19 = load i64, i64* %st_ino, align 8 + %20 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_ino = getelementptr inbounds %struct.dirent64, %struct.dirent64* %20, i32 0, i32 0 + store i64 %19, i64* %d_ino, align 8 + %21 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen = getelementptr inbounds %struct.dirent64, %struct.dirent64* %21, i32 0, i32 2 + store i16 280, i16* %d_reclen, align 8 + %22 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat17 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %22, i32 0, i32 2 + %23 = load %struct.stat64*, %struct.stat64** %stat17, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %23, i32 0, i32 3 + %24 = load i32, i32* %st_mode, align 8 + %and = and i32 %24, 61440 + %shr = lshr i32 %and, 12 + %conv18 = trunc i32 %shr to i8 + %25 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_type = getelementptr inbounds %struct.dirent64, %struct.dirent64* %25, i32 0, i32 3 + store i8 %conv18, i8* %d_type, align 2 + %26 = load i64, i64* %i, align 8 + %add = add nsw i64 65, %26 + %conv19 = trunc i64 %add to i8 + %27 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_name = getelementptr inbounds %struct.dirent64, %struct.dirent64* %27, i32 0, i32 4 + %arrayidx20 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name, i64 0, i64 0 + store i8 %conv19, i8* %arrayidx20, align 1 + %28 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_name21 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %28, i32 0, i32 4 + %arrayidx22 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name21, i64 0, i64 1 + store i8 0, i8* %arrayidx22, align 1 + %29 = load i64, i64* %i, align 8 + %add23 = add nsw i64 %29, 1 + %mul24 = mul i64 %add23, 280 + %30 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_off = getelementptr inbounds %struct.dirent64, %struct.dirent64* %30, i32 0, i32 1 + store i64 %mul24, i64* %d_off, align 8 + %31 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen25 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %31, i32 0, i32 2 + %32 = load i16, i16* %d_reclen25, align 8 + %conv26 = zext i16 %32 to i64 + %33 = load i64, i64* %bytes, align 8 + %add27 = add nsw i64 %33, %conv26 + store i64 %add27, i64* %bytes, align 8 + %34 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %incdec.ptr = getelementptr inbounds %struct.dirent64, %struct.dirent64* %34, i32 1 + store %struct.dirent64* %incdec.ptr, %struct.dirent64** %dirp.addr, align 8 + %35 = load i64, i64* %i, align 8 + %inc = add nsw i64 %35, 1 + store i64 %inc, i64* %i, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %36 = load i32, i32* %count.addr, align 4 + %cmp28 = icmp uge i32 %36, 4096 + %37 = load i32, i32* %count.addr, align 4 + %cond = select i1 %cmp28, i32 4096, i32 %37 + %conv30 = zext i32 %cond to i64 + store i64 %conv30, i64* %pad, align 8 + %38 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_ino31 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %38, i32 0, i32 0 + store i64 0, i64* %d_ino31, align 8 + %39 = load i64, i64* %pad, align 8 + %40 = load i64, i64* %bytes, align 8 + %sub = sub nsw i64 %39, %40 + %conv32 = trunc i64 %sub to i16 + %41 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen33 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %41, i32 0, i32 2 + store i16 %conv32, i16* %d_reclen33, align 8 + %42 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_type34 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %42, i32 0, i32 3 + store i8 0, i8* %d_type34, align 2 + %43 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_name35 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %43, i32 0, i32 4 + %arrayidx36 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name35, i64 0, i64 0 + store i8 0, i8* %arrayidx36, align 1 + %44 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_off37 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %44, i32 0, i32 1 + store i64 4096, i64* %d_off37, align 8 + %45 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen38 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %45, i32 0, i32 2 + %46 = load i16, i16* %d_reclen38, align 8 + %conv39 = zext i16 %46 to i64 + %47 = load i64, i64* %bytes, align 8 + %add40 = add nsw i64 %47, %conv39 + store i64 %add40, i64* %bytes, align 8 + %48 = load i64, i64* %pad, align 8 + %49 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off41 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %49, i32 0, i32 2 + store i64 %48, i64* %off41, align 8 + %50 = load i64, i64* %bytes, align 8 + %conv42 = trunc i64 %50 to i32 + store i32 %conv42, i32* %retval, align 4 + br label %return + +if.else43: ; preds = %if.else + %51 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off44 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %51, i32 0, i32 2 + %52 = load i64, i64* %off44, align 8 + %sub45 = sub nsw i64 %52, 4096 + store i64 %sub45, i64* %os_pos, align 8 + store i64 0, i64* %s, align 8 + %53 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %54 = bitcast %struct.dirent64* %53 to i8* + %55 = load i32, i32* %count.addr, align 4 + %conv46 = zext i32 %55 to i64 + %56 = call i8* @memset(i8* %54, i32 0, i64 %conv46) + %57 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd47 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %57, i32 0, i32 0 + %58 = load i32, i32* %fd47, align 8 + %59 = load i64, i64* %os_pos, align 8 + %call48 = call i64 (i64, ...) @syscall(i64 8, i32 %58, i64 %59, i32 0) #11 + store i64 %call48, i64* %s, align 8 + %60 = load i64, i64* %s, align 8 + %cmp49 = icmp ne i64 %60, -1 + br i1 %cmp49, label %if.end53, label %if.else52 + +if.else52: ; preds = %if.else43 + call void @__assert_fail(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.12, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 840, i8* getelementptr inbounds ([65 x i8], [65 x i8]* @__PRETTY_FUNCTION__.__fd_getdents, i64 0, i64 0)) #26 + unreachable + +if.end53: ; preds = %if.else43 + %61 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %61, i32 0, i32 0 + %62 = load i32, i32* %fd54, align 8 + %63 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %64 = load i32, i32* %count.addr, align 4 + %call55 = call i64 (i64, ...) @syscall(i64 217, i32 %62, %struct.dirent64* %63, i32 %64) #11 + %conv56 = trunc i64 %call55 to i32 + store i32 %conv56, i32* %res, align 4 + %65 = load i32, i32* %res, align 4 + %cmp57 = icmp sgt i32 %65, -1 + br i1 %cmp57, label %if.then59, label %if.end78 + +if.then59: ; preds = %if.end53 + store i32 0, i32* %pos, align 4 + %66 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd60 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %66, i32 0, i32 0 + %67 = load i32, i32* %fd60, align 8 + %call61 = call i64 (i64, ...) @syscall(i64 8, i32 %67, i32 0, i32 1) #11 + %68 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off62 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %68, i32 0, i32 2 + store i64 %call61, i64* %off62, align 8 + %69 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off63 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %69, i32 0, i32 2 + %70 = load i64, i64* %off63, align 8 + %cmp64 = icmp ne i64 %70, -1 + br i1 %cmp64, label %if.end68, label %if.else67 + +if.else67: ; preds = %if.then59 + call void @__assert_fail(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.13, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 845, i8* getelementptr inbounds ([65 x i8], [65 x i8]* @__PRETTY_FUNCTION__.__fd_getdents, i64 0, i64 0)) #26 + unreachable + +if.end68: ; preds = %if.then59 + %71 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off69 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %71, i32 0, i32 2 + %72 = load i64, i64* %off69, align 8 + %add70 = add nsw i64 %72, 4096 + store i64 %add70, i64* %off69, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end68 + %73 = load i32, i32* %pos, align 4 + %74 = load i32, i32* %res, align 4 + %cmp71 = icmp slt i32 %73, %74 + br i1 %cmp71, label %while.body, label %if.end78 + +while.body: ; preds = %while.cond + %75 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %76 = bitcast %struct.dirent64* %75 to i8* + %77 = load i32, i32* %pos, align 4 + %idx.ext = sext i32 %77 to i64 + %add.ptr = getelementptr inbounds i8, i8* %76, i64 %idx.ext + %78 = bitcast i8* %add.ptr to %struct.dirent64* + store %struct.dirent64* %78, %struct.dirent64** %dp, align 8 + %79 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_off73 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %79, i32 0, i32 1 + %80 = load i64, i64* %d_off73, align 8 + %add74 = add nsw i64 %80, 4096 + store i64 %add74, i64* %d_off73, align 8 + %81 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_reclen75 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %81, i32 0, i32 2 + %82 = load i16, i16* %d_reclen75, align 8 + %conv76 = zext i16 %82 to i32 + %83 = load i32, i32* %pos, align 4 + %add77 = add nsw i32 %83, %conv76 + store i32 %add77, i32* %pos, align 4 + br label %while.cond + +if.end78: ; preds = %while.cond, %if.end53 + %84 = load i32, i32* %res, align 4 + store i32 %84, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end78, %for.end, %if.then11, %if.then3, %if.then + %85 = load i32, i32* %retval, align 4 + ret i32 %85 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @ioctl(i32 %fd, i64 %request, ...) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %request.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + %buf = alloca i8*, align 8 + %stat = alloca %struct.stat64*, align 8 + %ts = alloca %struct.termios*, align 8 + %ws = alloca %struct.winsize*, align 8 + %res = alloca i32*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %request, i64* %request.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay2 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay2) + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.end + %2 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 3 + %reg_save_area = load i8*, i8** %2, align 16 + %3 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %4 = bitcast i8* %3 to i8** + %5 = add i32 %gp_offset, 8 + store i32 %5, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.end + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %6 = bitcast i8* %overflow_arg_area to i8** + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i8** [ %4, %vaarg.in_reg ], [ %6, %vaarg.in_mem ] + %7 = load i8*, i8** %vaarg.addr, align 8 + store i8* %7, i8** %buf, align 8 + %arraydecay4 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay45 = bitcast %struct.__va_list_tag.0* %arraydecay4 to i8* + call void @llvm.va_end(i8* %arraydecay45) + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + br i1 %tobool6, label %if.then7, label %if.end103 + +if.then7: ; preds = %vaarg.end + %dfile8 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 3 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile8, align 8 + %stat9 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %11, i32 0, i32 2 + %12 = load %struct.stat64*, %struct.stat64** %stat9, align 8 + %13 = bitcast %struct.stat64* %12 to %struct.stat64* + store %struct.stat64* %13, %struct.stat64** %stat, align 8 + %14 = load i64, i64* %request.addr, align 8 + br label %NodeBlock13 + +NodeBlock13: ; preds = %if.then7 + %case.cmp14 = icmp eq i64 %14, 21505 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i64 %14, 21506 + br i1 %case.cmp12, label %sw.bb48, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i64 %14, 21507 + br i1 %case.cmp10, label %sw.bb55, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i64 %14, 21508 + br i1 %case.cmp8, label %sw.bb60, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i64 %14, 21523 + br i1 %case.cmp6, label %sw.bb67, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i64 %14, 21524 + br i1 %case.cmp4, label %sw.bb74, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i64 %14, 21531 + br i1 %case.cmp2, label %sw.bb82, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i64 %14, 2150657282 + br i1 %case.cmp, label %sw.bb100, label %newDefault + +sw.bb: ; preds = %NodeBlock13 + %15 = load i8*, i8** %buf, align 8 + %16 = bitcast i8* %15 to %struct.termios* + store %struct.termios* %16, %struct.termios** %ts, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.14, i64 0, i64 0)) + %17 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %17, i32 0, i32 3 + %18 = load i32, i32* %st_mode, align 8 + %and = and i32 %18, 61440 + %cmp = icmp eq i32 %and, 8192 + br i1 %cmp, label %if.then10, label %if.else + +if.then10: ; preds = %sw.bb + %19 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_iflag = getelementptr inbounds %struct.termios, %struct.termios* %19, i32 0, i32 0 + store i32 27906, i32* %c_iflag, align 4 + %20 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_oflag = getelementptr inbounds %struct.termios, %struct.termios* %20, i32 0, i32 1 + store i32 5, i32* %c_oflag, align 4 + %21 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cflag = getelementptr inbounds %struct.termios, %struct.termios* %21, i32 0, i32 2 + store i32 1215, i32* %c_cflag, align 4 + %22 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_lflag = getelementptr inbounds %struct.termios, %struct.termios* %22, i32 0, i32 3 + store i32 35287, i32* %c_lflag, align 4 + %23 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_line = getelementptr inbounds %struct.termios, %struct.termios* %23, i32 0, i32 4 + store i8 0, i8* %c_line, align 4 + %24 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc = getelementptr inbounds %struct.termios, %struct.termios* %24, i32 0, i32 5 + %arrayidx = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc, i64 0, i64 0 + store i8 3, i8* %arrayidx, align 1 + %25 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc11 = getelementptr inbounds %struct.termios, %struct.termios* %25, i32 0, i32 5 + %arrayidx12 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc11, i64 0, i64 1 + store i8 28, i8* %arrayidx12, align 1 + %26 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc13 = getelementptr inbounds %struct.termios, %struct.termios* %26, i32 0, i32 5 + %arrayidx14 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc13, i64 0, i64 2 + store i8 127, i8* %arrayidx14, align 1 + %27 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc15 = getelementptr inbounds %struct.termios, %struct.termios* %27, i32 0, i32 5 + %arrayidx16 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc15, i64 0, i64 3 + store i8 21, i8* %arrayidx16, align 1 + %28 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc17 = getelementptr inbounds %struct.termios, %struct.termios* %28, i32 0, i32 5 + %arrayidx18 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc17, i64 0, i64 4 + store i8 4, i8* %arrayidx18, align 1 + %29 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc19 = getelementptr inbounds %struct.termios, %struct.termios* %29, i32 0, i32 5 + %arrayidx20 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc19, i64 0, i64 5 + store i8 0, i8* %arrayidx20, align 1 + %30 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc21 = getelementptr inbounds %struct.termios, %struct.termios* %30, i32 0, i32 5 + %arrayidx22 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc21, i64 0, i64 6 + store i8 1, i8* %arrayidx22, align 1 + %31 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc23 = getelementptr inbounds %struct.termios, %struct.termios* %31, i32 0, i32 5 + %arrayidx24 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc23, i64 0, i64 7 + store i8 -1, i8* %arrayidx24, align 1 + %32 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc25 = getelementptr inbounds %struct.termios, %struct.termios* %32, i32 0, i32 5 + %arrayidx26 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc25, i64 0, i64 8 + store i8 17, i8* %arrayidx26, align 1 + %33 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc27 = getelementptr inbounds %struct.termios, %struct.termios* %33, i32 0, i32 5 + %arrayidx28 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc27, i64 0, i64 9 + store i8 19, i8* %arrayidx28, align 1 + %34 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc29 = getelementptr inbounds %struct.termios, %struct.termios* %34, i32 0, i32 5 + %arrayidx30 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc29, i64 0, i64 10 + store i8 26, i8* %arrayidx30, align 1 + %35 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc31 = getelementptr inbounds %struct.termios, %struct.termios* %35, i32 0, i32 5 + %arrayidx32 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc31, i64 0, i64 11 + store i8 -1, i8* %arrayidx32, align 1 + %36 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc33 = getelementptr inbounds %struct.termios, %struct.termios* %36, i32 0, i32 5 + %arrayidx34 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc33, i64 0, i64 12 + store i8 18, i8* %arrayidx34, align 1 + %37 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc35 = getelementptr inbounds %struct.termios, %struct.termios* %37, i32 0, i32 5 + %arrayidx36 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc35, i64 0, i64 13 + store i8 15, i8* %arrayidx36, align 1 + %38 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc37 = getelementptr inbounds %struct.termios, %struct.termios* %38, i32 0, i32 5 + %arrayidx38 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc37, i64 0, i64 14 + store i8 23, i8* %arrayidx38, align 1 + %39 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc39 = getelementptr inbounds %struct.termios, %struct.termios* %39, i32 0, i32 5 + %arrayidx40 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc39, i64 0, i64 15 + store i8 22, i8* %arrayidx40, align 1 + %40 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc41 = getelementptr inbounds %struct.termios, %struct.termios* %40, i32 0, i32 5 + %arrayidx42 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc41, i64 0, i64 16 + store i8 -1, i8* %arrayidx42, align 1 + %41 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc43 = getelementptr inbounds %struct.termios, %struct.termios* %41, i32 0, i32 5 + %arrayidx44 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc43, i64 0, i64 17 + store i8 0, i8* %arrayidx44, align 1 + %42 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc45 = getelementptr inbounds %struct.termios, %struct.termios* %42, i32 0, i32 5 + %arrayidx46 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc45, i64 0, i64 18 + store i8 0, i8* %arrayidx46, align 1 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %sw.bb + %call47 = call i32* @__errno_location() #25 + store i32 25, i32* %call47, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb48: ; preds = %NodeBlock11 + call void @gs_warning_once(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.15, i64 0, i64 0)) + %43 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode49 = getelementptr inbounds %struct.stat64, %struct.stat64* %43, i32 0, i32 3 + %44 = load i32, i32* %st_mode49, align 8 + %and50 = and i32 %44, 61440 + %cmp51 = icmp eq i32 %and50, 8192 + br i1 %cmp51, label %if.then52, label %if.else53 + +if.then52: ; preds = %sw.bb48 + store i32 0, i32* %retval, align 4 + br label %return + +if.else53: ; preds = %sw.bb48 + %call54 = call i32* @__errno_location() #25 + store i32 25, i32* %call54, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb55: ; preds = %NodeBlock9 + call void @gs_warning_once(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.16, i64 0, i64 0)) + %45 = load i32, i32* %fd.addr, align 4 + %cmp56 = icmp eq i32 %45, 0 + br i1 %cmp56, label %if.then57, label %if.else58 + +if.then57: ; preds = %sw.bb55 + store i32 0, i32* %retval, align 4 + br label %return + +if.else58: ; preds = %sw.bb55 + %call59 = call i32* @__errno_location() #25 + store i32 25, i32* %call59, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb60: ; preds = %NodeBlock7 + call void @gs_warning_once(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.17, i64 0, i64 0)) + %46 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode61 = getelementptr inbounds %struct.stat64, %struct.stat64* %46, i32 0, i32 3 + %47 = load i32, i32* %st_mode61, align 8 + %and62 = and i32 %47, 61440 + %cmp63 = icmp eq i32 %and62, 8192 + br i1 %cmp63, label %if.then64, label %if.else65 + +if.then64: ; preds = %sw.bb60 + store i32 0, i32* %retval, align 4 + br label %return + +if.else65: ; preds = %sw.bb60 + %call66 = call i32* @__errno_location() #25 + store i32 25, i32* %call66, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb67: ; preds = %NodeBlock5 + %48 = load i8*, i8** %buf, align 8 + %49 = bitcast i8* %48 to %struct.winsize* + store %struct.winsize* %49, %struct.winsize** %ws, align 8 + %50 = load %struct.winsize*, %struct.winsize** %ws, align 8 + %ws_row = getelementptr inbounds %struct.winsize, %struct.winsize* %50, i32 0, i32 0 + store i16 24, i16* %ws_row, align 2 + %51 = load %struct.winsize*, %struct.winsize** %ws, align 8 + %ws_col = getelementptr inbounds %struct.winsize, %struct.winsize* %51, i32 0, i32 1 + store i16 80, i16* %ws_col, align 2 + call void @gs_warning_once(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.18, i64 0, i64 0)) + %52 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode68 = getelementptr inbounds %struct.stat64, %struct.stat64* %52, i32 0, i32 3 + %53 = load i32, i32* %st_mode68, align 8 + %and69 = and i32 %53, 61440 + %cmp70 = icmp eq i32 %and69, 8192 + br i1 %cmp70, label %if.then71, label %if.else72 + +if.then71: ; preds = %sw.bb67 + store i32 0, i32* %retval, align 4 + br label %return + +if.else72: ; preds = %sw.bb67 + %call73 = call i32* @__errno_location() #25 + store i32 25, i32* %call73, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb74: ; preds = %NodeBlock3 + call void @gs_warning_once(i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.19, i64 0, i64 0)) + %54 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode75 = getelementptr inbounds %struct.stat64, %struct.stat64* %54, i32 0, i32 3 + %55 = load i32, i32* %st_mode75, align 8 + %and76 = and i32 %55, 61440 + %cmp77 = icmp eq i32 %and76, 8192 + %call79 = call i32* @__errno_location() #25 + br i1 %cmp77, label %if.then78, label %if.else80 + +if.then78: ; preds = %sw.bb74 + store i32 22, i32* %call79, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else80: ; preds = %sw.bb74 + store i32 25, i32* %call79, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb82: ; preds = %NodeBlock1 + %56 = load i8*, i8** %buf, align 8 + %57 = bitcast i8* %56 to i32* + store i32* %57, i32** %res, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.20, i64 0, i64 0)) + %58 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode83 = getelementptr inbounds %struct.stat64, %struct.stat64* %58, i32 0, i32 3 + %59 = load i32, i32* %st_mode83, align 8 + %and84 = and i32 %59, 61440 + %cmp85 = icmp eq i32 %and84, 8192 + br i1 %cmp85, label %if.then86, label %if.else98 + +if.then86: ; preds = %sw.bb82 + %60 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %60, i32 0, i32 2 + %61 = load i64, i64* %off, align 8 + %62 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile87 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %62, i32 0, i32 3 + %63 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile87, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %63, i32 0, i32 0 + %64 = load i32, i32* %size, align 8 + %conv = zext i32 %64 to i64 + %cmp88 = icmp slt i64 %61, %conv + br i1 %cmp88, label %if.then90, label %if.else96 + +if.then90: ; preds = %if.then86 + %65 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile91 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %65, i32 0, i32 3 + %66 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile91, align 8 + %size92 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %66, i32 0, i32 0 + %67 = load i32, i32* %size92, align 8 + %conv93 = zext i32 %67 to i64 + %68 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off94 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %68, i32 0, i32 2 + %69 = load i64, i64* %off94, align 8 + %sub = sub nsw i64 %conv93, %69 + %conv95 = trunc i64 %sub to i32 + %70 = load i32*, i32** %res, align 8 + store i32 %conv95, i32* %70, align 4 + br label %if.end97 + +if.else96: ; preds = %if.then86 + %71 = load i32*, i32** %res, align 8 + store i32 0, i32* %71, align 4 + br label %if.end97 + +if.end97: ; preds = %if.else96, %if.then90 + store i32 0, i32* %retval, align 4 + br label %return + +if.else98: ; preds = %sw.bb82 + %call99 = call i32* @__errno_location() #25 + store i32 25, i32* %call99, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb100: ; preds = %NodeBlock + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.21, i64 0, i64 0)) + %call101 = call i32* @__errno_location() #25 + store i32 22, i32* %call101, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0)) + %call102 = call i32* @__errno_location() #25 + store i32 22, i32* %call102, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end103: ; preds = %vaarg.end + %fd104 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 0 + %72 = load i32, i32* %fd104, align 8 + %73 = load i64, i64* %request.addr, align 8 + %74 = load i8*, i8** %buf, align 8 + %call105 = call i64 (i64, ...) @syscall(i64 16, i32 %72, i64 %73, i8* %74) #11 + %conv106 = trunc i64 %call105 to i32 + store i32 %conv106, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end103, %sw.default, %sw.bb100, %if.else98, %if.end97, %if.else80, %if.then78, %if.else72, %if.then71, %if.else65, %if.then64, %if.else58, %if.then57, %if.else53, %if.then52, %if.else, %if.then10, %if.then + %75 = load i32, i32* %retval, align 4 + ret i32 %75 +} + +; Function Attrs: nounwind +declare void @llvm.va_start(i8*) #11 + +; Function Attrs: nounwind +declare void @llvm.va_end(i8*) #11 + +declare dso_local void @gs_warning_once(i8*) #5 + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fcntl(i32 %fd, i32 %cmd, ...) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %cmd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + %arg = alloca i32, align 4 + %lock = alloca %struct.flock*, align 8 + %flags = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %cmd, i32* %cmd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i32, i32* %cmd.addr, align 4 + %cmp = icmp eq i32 %2, 1 + %3 = load i32, i32* %cmd.addr, align 4 + %cmp2 = icmp eq i32 %3, 3 + %or.cond = or i1 %cmp, %cmp2 + %4 = load i32, i32* %cmd.addr, align 4 + %cmp4 = icmp eq i32 %4, 9 + %or.cond1 = or i1 %or.cond, %cmp4 + %5 = load i32, i32* %cmd.addr, align 4 + %cmp6 = icmp eq i32 %5, 11 + %or.cond2 = or i1 %or.cond1, %cmp6 + %6 = load i32, i32* %cmd.addr, align 4 + %cmp8 = icmp eq i32 %6, 1025 + %or.cond3 = or i1 %or.cond2, %cmp8 + %7 = load i32, i32* %cmd.addr, align 4 + %cmp10 = icmp eq i32 %7, 1026 + %or.cond4 = or i1 %or.cond3, %cmp10 + br i1 %or.cond4, label %if.then11, label %if.else + +if.then11: ; preds = %if.end + store i32 0, i32* %arg, align 4 + br label %if.end40 + +if.else: ; preds = %if.end + %8 = load i32, i32* %cmd.addr, align 4 + %cmp12 = icmp eq i32 %8, 5 + %9 = load i32, i32* %cmd.addr, align 4 + %cmp14 = icmp eq i32 %9, 6 + %or.cond5 = or i1 %cmp12, %cmp14 + %10 = load i32, i32* %cmd.addr, align 4 + %cmp16 = icmp eq i32 %10, 7 + %or.cond6 = or i1 %or.cond5, %cmp16 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay18 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay18) + %arraydecay19 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %or.cond6, label %if.then17, label %if.else22 + +if.then17: ; preds = %if.else + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then17 + %11 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 3 + %reg_save_area = load i8*, i8** %11, align 16 + %12 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %13 = bitcast i8* %12 to %struct.flock** + %14 = add i32 %gp_offset, 8 + store i32 %14, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then17 + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %15 = bitcast i8* %overflow_arg_area to %struct.flock** + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi %struct.flock** [ %13, %vaarg.in_reg ], [ %15, %vaarg.in_mem ] + %16 = load %struct.flock*, %struct.flock** %vaarg.addr, align 8 + store %struct.flock* %16, %struct.flock** %lock, align 8 + %arraydecay20 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay2021 = bitcast %struct.__va_list_tag.0* %arraydecay20 to i8* + call void @llvm.va_end(i8* %arraydecay2021) + br label %if.end40 + +if.else22: ; preds = %if.else + br i1 %fits_in_gp, label %vaarg.in_reg29, label %vaarg.in_mem31 + +vaarg.in_reg29: ; preds = %if.else22 + %17 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 3 + %reg_save_area30 = load i8*, i8** %17, align 16 + %18 = getelementptr i8, i8* %reg_save_area30, i32 %gp_offset + %19 = bitcast i8* %18 to i32* + %20 = add i32 %gp_offset, 8 + store i32 %20, i32* %gp_offset_p, align 16 + br label %vaarg.end35 + +vaarg.in_mem31: ; preds = %if.else22 + %overflow_arg_area_p32 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 2 + %overflow_arg_area33 = load i8*, i8** %overflow_arg_area_p32, align 8 + %21 = bitcast i8* %overflow_arg_area33 to i32* + %overflow_arg_area.next34 = getelementptr i8, i8* %overflow_arg_area33, i32 8 + store i8* %overflow_arg_area.next34, i8** %overflow_arg_area_p32, align 8 + br label %vaarg.end35 + +vaarg.end35: ; preds = %vaarg.in_mem31, %vaarg.in_reg29 + %vaarg.addr36 = phi i32* [ %19, %vaarg.in_reg29 ], [ %21, %vaarg.in_mem31 ] + %22 = load i32, i32* %vaarg.addr36, align 4 + store i32 %22, i32* %arg, align 4 + %arraydecay37 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay3738 = bitcast %struct.__va_list_tag.0* %arraydecay37 to i8* + call void @llvm.va_end(i8* %arraydecay3738) + br label %if.end40 + +if.end40: ; preds = %vaarg.end, %vaarg.end35, %if.then11 + %23 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %23, i32 0, i32 3 + %24 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool41 = icmp ne %struct.exe_disk_file_t* %24, null + br i1 %tobool41, label %if.then42, label %if.end60 + +if.then42: ; preds = %if.end40 + %25 = load i32, i32* %cmd.addr, align 4 + br label %NodeBlock13 + +NodeBlock13: ; preds = %if.then42 + %case.cmp14 = icmp eq i32 %25, 1 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %25, 2 + br i1 %case.cmp12, label %sw.bb47, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %25, 3 + br i1 %case.cmp10, label %sw.bb56, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %25, 5 + br i1 %case.cmp8, label %sw.bb57, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock7 + %case.cmp = icmp eq i32 %25, 6 + br i1 %case.cmp, label %sw.bb58, label %newDefault + +sw.bb: ; preds = %NodeBlock13 + store i32 0, i32* %flags, align 4 + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags43 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 1 + %27 = load i32, i32* %flags43, align 4 + %and = and i32 %27, 2 + %tobool44 = icmp ne i32 %and, 0 + br i1 %tobool44, label %if.then45, label %if.end46 + +if.then45: ; preds = %sw.bb + %28 = load i32, i32* %flags, align 4 + %or = or i32 %28, 1 + store i32 %or, i32* %flags, align 4 + br label %if.end46 + +if.end46: ; preds = %if.then45, %sw.bb + %29 = load i32, i32* %flags, align 4 + store i32 %29, i32* %retval, align 4 + br label %return + +sw.bb47: ; preds = %NodeBlock11 + %30 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags48 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %30, i32 0, i32 1 + %31 = load i32, i32* %flags48, align 4 + %and49 = and i32 %31, -3 + store i32 %and49, i32* %flags48, align 4 + %32 = load i32, i32* %arg, align 4 + %and50 = and i32 %32, 1 + %tobool51 = icmp ne i32 %and50, 0 + br i1 %tobool51, label %if.then52, label %if.end55 + +if.then52: ; preds = %sw.bb47 + %33 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags53 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %33, i32 0, i32 1 + %34 = load i32, i32* %flags53, align 4 + %or54 = or i32 %34, 2 + store i32 %or54, i32* %flags53, align 4 + br label %if.end55 + +if.end55: ; preds = %if.then52, %sw.bb47 + store i32 0, i32* %retval, align 4 + br label %return + +sw.bb56: ; preds = %NodeBlock9 + store i32 0, i32* %retval, align 4 + br label %return + +sw.bb57: ; preds = %NodeBlock7 + %35 = load %struct.flock*, %struct.flock** %lock, align 8 + %l_type = getelementptr inbounds %struct.flock, %struct.flock* %35, i32 0, i32 0 + store i16 2, i16* %l_type, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +sw.bb58: ; preds = %NodeBlock + store i32 0, i32* %retval, align 4 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0)) + %call59 = call i32* @__errno_location() #25 + store i32 22, i32* %call59, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end60: ; preds = %if.end40 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd61 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 0 + %37 = load i32, i32* %fd61, align 8 + %38 = load i32, i32* %cmd.addr, align 4 + %39 = load i32, i32* %arg, align 4 + %call62 = call i64 (i64, ...) @syscall(i64 72, i32 %37, i32 %38, i32 %39) #11 + %conv = trunc i64 %call62 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end60, %sw.default, %sw.bb58, %sw.bb57, %sw.bb56, %if.end55, %if.end46, %if.then + %40 = load i32, i32* %retval, align 4 + ret i32 %40 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_statfs(i8* %path, %struct.statfs* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.statfs*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.statfs* %buf, %struct.statfs** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0)) + %call1 = call i32* @__errno_location() #25 + store i32 2, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %2) + %3 = load %struct.statfs*, %struct.statfs** %buf.addr, align 8 + %call3 = call i64 (i64, ...) @syscall(i64 137, i8* %call2, %struct.statfs* %3) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstatfs(i32 %fd, %struct.statfs* nonnull %buf) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.statfs*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.statfs* %buf, %struct.statfs** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %if.end + call void @gs_warning(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.22, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 9, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd6, align 8 + %6 = load %struct.statfs*, %struct.statfs** %buf.addr, align 8 + %call7 = call i64 (i64, ...) @syscall(i64 138, i32 %5, %struct.statfs* %6) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %7 = load i32, i32* %retval, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fsync(i32 %fd) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.else + store i32 0, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %if.else + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd5 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd5, align 8 + %call6 = call i64 (i64, ...) @syscall(i64 74, i32 %5) #11 + %conv = trunc i64 %call6 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @dup2(i32 %oldfd, i32 %newfd) #3 { +entry: + %retval = alloca i32, align 4 + %oldfd.addr = alloca i32, align 4 + %newfd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %f2 = alloca %struct.exe_file_t*, align 8 + store i32 %oldfd, i32* %oldfd.addr, align 4 + store i32 %newfd, i32* %newfd.addr, align 4 + %0 = load i32, i32* %oldfd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + %2 = load i32, i32* %newfd.addr, align 4 + %cmp = icmp sge i32 %2, 0 + %or.cond = and i1 %tobool, %cmp + %3 = load i32, i32* %newfd.addr, align 4 + %cmp1 = icmp slt i32 %3, 32 + %or.cond1 = and i1 %or.cond, %cmp1 + br i1 %or.cond1, label %if.else, label %if.then + +if.then: ; preds = %entry + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %4 = load i32, i32* %newfd.addr, align 4 + %idxprom = sext i32 %4 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + store %struct.exe_file_t* %arrayidx, %struct.exe_file_t** %f2, align 8 + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f2, align 8 + %flags = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 1 + %6 = load i32, i32* %flags, align 4 + %and = and i32 %6, 1 + %tobool3 = icmp ne i32 %and, 0 + br i1 %tobool3, label %if.then4, label %if.end + +if.then4: ; preds = %if.else + %7 = load i32, i32* %newfd.addr, align 4 + %call5 = call i32 @close(i32 %7) + br label %if.end + +if.end: ; preds = %if.then4, %if.else + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f2, align 8 + %9 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %10 = bitcast %struct.exe_file_t* %8 to i8* + %11 = bitcast %struct.exe_file_t* %9 to i8* + %12 = call i8* @memcpy(i8* %10, i8* %11, i64 24) + %13 = load %struct.exe_file_t*, %struct.exe_file_t** %f2, align 8 + %flags6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %13, i32 0, i32 1 + %14 = load i32, i32* %flags6, align 4 + %and7 = and i32 %14, -3 + store i32 %and7, i32* %flags6, align 4 + %15 = load i32, i32* %newfd.addr, align 4 + store i32 %15, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %16 = load i32, i32* %retval, align 4 + ret i32 %16 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @dup(i32 %oldfd) #3 { +entry: + %retval = alloca i32, align 4 + %oldfd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %fd = alloca i32, align 4 + store i32 %oldfd, i32* %oldfd.addr, align 4 + %0 = load i32, i32* %oldfd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + store i32 0, i32* %fd, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.else + %2 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %2, 32 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %3 = load i32, i32* %fd, align 4 + %idxprom = sext i32 %3 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + %flags = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %arrayidx, i32 0, i32 1 + %4 = load i32, i32* %flags, align 4 + %and = and i32 %4, 1 + %tobool2 = icmp ne i32 %and, 0 + br i1 %tobool2, label %for.inc, label %for.end + +for.inc: ; preds = %for.body + %5 = load i32, i32* %fd, align 4 + %inc = add nsw i32 %5, 1 + store i32 %inc, i32* %fd, align 4 + br label %for.cond + +for.end: ; preds = %for.body, %for.cond + %6 = load i32, i32* %fd, align 4 + %cmp4 = icmp eq i32 %6, 32 + br i1 %cmp4, label %if.then5, label %if.else7 + +if.then5: ; preds = %for.end + %call6 = call i32* @__errno_location() #25 + store i32 24, i32* %call6, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else7: ; preds = %for.end + %7 = load i32, i32* %oldfd.addr, align 4 + %8 = load i32, i32* %fd, align 4 + %call8 = call i32 @dup2(i32 %7, i32 %8) #11 + store i32 %call8, i32* %retval, align 4 + br label %return + +return: ; preds = %if.else7, %if.then5, %if.then + %9 = load i32, i32* %retval, align 4 + ret i32 %9 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rmdir(i8* nonnull %pathname) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 16384 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %5, i32 0, i32 2 + %6 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 1 + store i64 0, i64* %st_ino, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %call3 = call i32* @__errno_location() #25 + store i32 20, i32* %call3, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 1, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.else, %if.then1 + %7 = load i32, i32* %retval, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @unlink(i8* nonnull %pathname) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 32768 + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %5, i32 0, i32 2 + %6 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 1 + store i64 0, i64* %st_ino, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %st_mode4 = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 3 + %7 = load i32, i32* %st_mode4, align 8 + %and5 = and i32 %7, 61440 + %cmp6 = icmp eq i32 %and5, 16384 + %call8 = call i32* @__errno_location() #25 + br i1 %cmp6, label %if.then7, label %if.else9 + +if.then7: ; preds = %if.else + store i32 21, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else9: ; preds = %if.else + store i32 1, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0)) + %call11 = call i32* @__errno_location() #25 + store i32 1, i32* %call11, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.else9, %if.then7, %if.then1 + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @unlinkat(i32 %dirfd, i8* nonnull %pathname, i32 %flags) #3 { +entry: + %retval = alloca i32, align 4 + %dirfd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i32 %dirfd, i32* %dirfd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 32768 + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %5, i32 0, i32 2 + %6 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 1 + store i64 0, i64* %st_ino, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %st_mode4 = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 3 + %7 = load i32, i32* %st_mode4, align 8 + %and5 = and i32 %7, 61440 + %cmp6 = icmp eq i32 %and5, 16384 + %call8 = call i32* @__errno_location() #25 + br i1 %cmp6, label %if.then7, label %if.else9 + +if.then7: ; preds = %if.else + store i32 21, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else9: ; preds = %if.else + store i32 1, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0)) + %call11 = call i32* @__errno_location() #25 + store i32 1, i32* %call11, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.else9, %if.then7, %if.then1 + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @readlink(i8* nonnull %path, i8* nonnull %buf, i64 %bufsize) #3 { +entry: + %retval = alloca i64, align 8 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end20 + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 40960 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %5 = load i8*, i8** %path.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 0 + %6 = load i8, i8* %arrayidx, align 1 + %7 = load i8*, i8** %buf.addr, align 8 + %arrayidx2 = getelementptr inbounds i8, i8* %7, i64 0 + store i8 %6, i8* %arrayidx2, align 1 + %8 = load i64, i64* %bufsize.addr, align 8 + %cmp3 = icmp ugt i64 %8, 1 + br i1 %cmp3, label %if.then4, label %if.end + +if.then4: ; preds = %if.then1 + %9 = load i8*, i8** %buf.addr, align 8 + %arrayidx5 = getelementptr inbounds i8, i8* %9, i64 1 + store i8 46, i8* %arrayidx5, align 1 + br label %if.end + +if.end: ; preds = %if.then4, %if.then1 + %10 = load i64, i64* %bufsize.addr, align 8 + %cmp6 = icmp ugt i64 %10, 2 + br i1 %cmp6, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end + %11 = load i8*, i8** %buf.addr, align 8 + %arrayidx8 = getelementptr inbounds i8, i8* %11, i64 2 + store i8 108, i8* %arrayidx8, align 1 + br label %if.end9 + +if.end9: ; preds = %if.then7, %if.end + %12 = load i64, i64* %bufsize.addr, align 8 + %cmp10 = icmp ugt i64 %12, 3 + br i1 %cmp10, label %if.then11, label %if.end13 + +if.then11: ; preds = %if.end9 + %13 = load i8*, i8** %buf.addr, align 8 + %arrayidx12 = getelementptr inbounds i8, i8* %13, i64 3 + store i8 110, i8* %arrayidx12, align 1 + br label %if.end13 + +if.end13: ; preds = %if.then11, %if.end9 + %14 = load i64, i64* %bufsize.addr, align 8 + %cmp14 = icmp ugt i64 %14, 4 + br i1 %cmp14, label %if.then15, label %if.end17 + +if.then15: ; preds = %if.end13 + %15 = load i8*, i8** %buf.addr, align 8 + %arrayidx16 = getelementptr inbounds i8, i8* %15, i64 4 + store i8 107, i8* %arrayidx16, align 1 + br label %if.end17 + +if.end17: ; preds = %if.then15, %if.end13 + %16 = load i64, i64* %bufsize.addr, align 8 + %cmp18 = icmp ugt i64 %16, 5 + %17 = load i64, i64* %bufsize.addr, align 8 + %cond = select i1 %cmp18, i64 5, i64 %17 + store i64 %cond, i64* %retval, align 8 + br label %return + +if.else: ; preds = %if.then + %call19 = call i32* @__errno_location() #25 + store i32 22, i32* %call19, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end20: ; preds = %entry + %18 = load i8*, i8** %path.addr, align 8 + %19 = load i8*, i8** %buf.addr, align 8 + %20 = load i64, i64* %bufsize.addr, align 8 + %call21 = call i64 (i64, ...) @syscall(i64 89, i8* %18, i8* %19, i64 %20) #11 + store i64 %call21, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end20, %if.else, %if.end17 + %21 = load i64, i64* %retval, align 8 + ret i64 %21 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @select(i32 %nfds, %struct.fd_set* %read, %struct.fd_set* %write, %struct.fd_set* %except, %struct.timespec* %timeout) #3 { +entry: + %retval = alloca i32, align 4 + %nfds.addr = alloca i32, align 4 + %read.addr = alloca %struct.fd_set*, align 8 + %write.addr = alloca %struct.fd_set*, align 8 + %except.addr = alloca %struct.fd_set*, align 8 + %timeout.addr = alloca %struct.timespec*, align 8 + %in_read = alloca %struct.fd_set, align 8 + %in_write = alloca %struct.fd_set, align 8 + %in_except = alloca %struct.fd_set, align 8 + %os_read = alloca %struct.fd_set, align 8 + %os_write = alloca %struct.fd_set, align 8 + %os_except = alloca %struct.fd_set, align 8 + %i = alloca i32, align 4 + %count = alloca i32, align 4 + %os_nfds = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %tv = alloca %struct.timespec, align 8 + %r = alloca i32, align 4 + %f182 = alloca %struct.exe_file_t*, align 8 + store i32 %nfds, i32* %nfds.addr, align 4 + store %struct.fd_set* %read, %struct.fd_set** %read.addr, align 8 + store %struct.fd_set* %write, %struct.fd_set** %write.addr, align 8 + store %struct.fd_set* %except, %struct.fd_set** %except.addr, align 8 + store %struct.timespec* %timeout, %struct.timespec** %timeout.addr, align 8 + store i32 0, i32* %count, align 4 + store i32 0, i32* %os_nfds, align 4 + %0 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %tobool = icmp ne %struct.fd_set* %0, null + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %entry + %1 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %2 = bitcast %struct.fd_set* %in_read to i8* + %3 = bitcast %struct.fd_set* %1 to i8* + %4 = call i8* @memcpy(i8* %2, i8* %3, i64 128) + %5 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %6 = bitcast %struct.fd_set* %5 to i8* + %7 = call i8* @memset(i8* %6, i32 0, i64 128) + br label %if.end + +if.else: ; preds = %entry + %8 = bitcast %struct.fd_set* %in_read to i8* + %9 = call i8* @memset(i8* %8, i32 0, i64 128) + br label %if.end + +if.end: ; preds = %if.else, %if.then + %10 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %tobool1 = icmp ne %struct.fd_set* %10, null + br i1 %tobool1, label %if.then2, label %if.else3 + +if.then2: ; preds = %if.end + %11 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %12 = bitcast %struct.fd_set* %in_write to i8* + %13 = bitcast %struct.fd_set* %11 to i8* + %14 = call i8* @memcpy(i8* %12, i8* %13, i64 128) + %15 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %16 = bitcast %struct.fd_set* %15 to i8* + %17 = call i8* @memset(i8* %16, i32 0, i64 128) + br label %if.end4 + +if.else3: ; preds = %if.end + %18 = bitcast %struct.fd_set* %in_write to i8* + %19 = call i8* @memset(i8* %18, i32 0, i64 128) + br label %if.end4 + +if.end4: ; preds = %if.else3, %if.then2 + %20 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %tobool5 = icmp ne %struct.fd_set* %20, null + br i1 %tobool5, label %if.then6, label %if.else7 + +if.then6: ; preds = %if.end4 + %21 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %22 = bitcast %struct.fd_set* %in_except to i8* + %23 = bitcast %struct.fd_set* %21 to i8* + %24 = call i8* @memcpy(i8* %22, i8* %23, i64 128) + %25 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %26 = bitcast %struct.fd_set* %25 to i8* + %27 = call i8* @memset(i8* %26, i32 0, i64 128) + br label %if.end8 + +if.else7: ; preds = %if.end4 + %28 = bitcast %struct.fd_set* %in_except to i8* + %29 = call i8* @memset(i8* %28, i32 0, i64 128) + br label %if.end8 + +if.end8: ; preds = %if.else7, %if.then6 + %30 = bitcast %struct.fd_set* %os_read to i8* + %31 = call i8* @memset(i8* %30, i32 0, i64 128) + %32 = bitcast %struct.fd_set* %os_write to i8* + %33 = call i8* @memset(i8* %32, i32 0, i64 128) + %34 = bitcast %struct.fd_set* %os_except to i8* + %35 = call i8* @memset(i8* %34, i32 0, i64 128) + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end8 + %36 = load i32, i32* %i, align 4 + %37 = load i32, i32* %nfds.addr, align 4 + %cmp = icmp slt i32 %36, %37 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %fds_bits = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_read, i32 0, i32 0 + %38 = load i32, i32* %i, align 4 + %div = sdiv i32 %38, 64 + %idxprom = sext i32 %div to i64 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits, i64 0, i64 %idxprom + %39 = load i64, i64* %arrayidx, align 8 + %40 = load i32, i32* %i, align 4 + %rem = srem i32 %40, 64 + %shl = shl i32 1, %rem + %conv = sext i32 %shl to i64 + %and = and i64 %39, %conv + %tobool9 = icmp ne i64 %and, 0 + br i1 %tobool9, label %if.then29, label %lor.lhs.false + +lor.lhs.false: ; preds = %for.body + %fds_bits10 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_write, i32 0, i32 0 + %41 = load i32, i32* %i, align 4 + %div11 = sdiv i32 %41, 64 + %idxprom12 = sext i32 %div11 to i64 + %arrayidx13 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits10, i64 0, i64 %idxprom12 + %42 = load i64, i64* %arrayidx13, align 8 + %43 = load i32, i32* %i, align 4 + %rem14 = srem i32 %43, 64 + %shl15 = shl i32 1, %rem14 + %conv16 = sext i32 %shl15 to i64 + %and17 = and i64 %42, %conv16 + %tobool18 = icmp ne i64 %and17, 0 + br i1 %tobool18, label %if.then29, label %lor.lhs.false19 + +lor.lhs.false19: ; preds = %lor.lhs.false + %fds_bits20 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_except, i32 0, i32 0 + %44 = load i32, i32* %i, align 4 + %div21 = sdiv i32 %44, 64 + %idxprom22 = sext i32 %div21 to i64 + %arrayidx23 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits20, i64 0, i64 %idxprom22 + %45 = load i64, i64* %arrayidx23, align 8 + %46 = load i32, i32* %i, align 4 + %rem24 = srem i32 %46, 64 + %shl25 = shl i32 1, %rem24 + %conv26 = sext i32 %shl25 to i64 + %and27 = and i64 %45, %conv26 + %tobool28 = icmp ne i64 %and27, 0 + br i1 %tobool28, label %if.then29, label %for.inc + +if.then29: ; preds = %lor.lhs.false19, %lor.lhs.false, %for.body + %47 = load i32, i32* %i, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %47) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %48 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool30 = icmp ne %struct.exe_file_t* %48, null + br i1 %tobool30, label %if.else33, label %if.then31 + +if.then31: ; preds = %if.then29 + %call32 = call i32* @__errno_location() #25 + store i32 9, i32* %call32, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else33: ; preds = %if.then29 + %49 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %49, i32 0, i32 3 + %50 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool34 = icmp ne %struct.exe_disk_file_t* %50, null + %fds_bits36 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_read, i32 0, i32 0 + %51 = load i32, i32* %i, align 4 + %div37 = sdiv i32 %51, 64 + %idxprom38 = sext i32 %div37 to i64 + %arrayidx39 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits36, i64 0, i64 %idxprom38 + %52 = load i64, i64* %arrayidx39, align 8 + %53 = load i32, i32* %i, align 4 + %rem40 = srem i32 %53, 64 + %shl41 = shl i32 1, %rem40 + %conv42 = sext i32 %shl41 to i64 + %and43 = and i64 %52, %conv42 + %tobool44 = icmp ne i64 %and43, 0 + br i1 %tobool34, label %if.then35, label %if.else92 + +if.then35: ; preds = %if.else33 + br i1 %tobool44, label %if.then45, label %if.end53 + +if.then45: ; preds = %if.then35 + %54 = load i32, i32* %i, align 4 + %rem46 = srem i32 %54, 64 + %shl47 = shl i32 1, %rem46 + %conv48 = sext i32 %shl47 to i64 + %55 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %fds_bits49 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %55, i32 0, i32 0 + %56 = load i32, i32* %i, align 4 + %div50 = sdiv i32 %56, 64 + %idxprom51 = sext i32 %div50 to i64 + %arrayidx52 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits49, i64 0, i64 %idxprom51 + %57 = load i64, i64* %arrayidx52, align 8 + %or = or i64 %57, %conv48 + store i64 %or, i64* %arrayidx52, align 8 + br label %if.end53 + +if.end53: ; preds = %if.then45, %if.then35 + %fds_bits54 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_write, i32 0, i32 0 + %58 = load i32, i32* %i, align 4 + %div55 = sdiv i32 %58, 64 + %idxprom56 = sext i32 %div55 to i64 + %arrayidx57 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits54, i64 0, i64 %idxprom56 + %59 = load i64, i64* %arrayidx57, align 8 + %60 = load i32, i32* %i, align 4 + %rem58 = srem i32 %60, 64 + %shl59 = shl i32 1, %rem58 + %conv60 = sext i32 %shl59 to i64 + %and61 = and i64 %59, %conv60 + %tobool62 = icmp ne i64 %and61, 0 + br i1 %tobool62, label %if.then63, label %if.end72 + +if.then63: ; preds = %if.end53 + %61 = load i32, i32* %i, align 4 + %rem64 = srem i32 %61, 64 + %shl65 = shl i32 1, %rem64 + %conv66 = sext i32 %shl65 to i64 + %62 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %fds_bits67 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %62, i32 0, i32 0 + %63 = load i32, i32* %i, align 4 + %div68 = sdiv i32 %63, 64 + %idxprom69 = sext i32 %div68 to i64 + %arrayidx70 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits67, i64 0, i64 %idxprom69 + %64 = load i64, i64* %arrayidx70, align 8 + %or71 = or i64 %64, %conv66 + store i64 %or71, i64* %arrayidx70, align 8 + br label %if.end72 + +if.end72: ; preds = %if.then63, %if.end53 + %fds_bits73 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_except, i32 0, i32 0 + %65 = load i32, i32* %i, align 4 + %div74 = sdiv i32 %65, 64 + %idxprom75 = sext i32 %div74 to i64 + %arrayidx76 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits73, i64 0, i64 %idxprom75 + %66 = load i64, i64* %arrayidx76, align 8 + %67 = load i32, i32* %i, align 4 + %rem77 = srem i32 %67, 64 + %shl78 = shl i32 1, %rem77 + %conv79 = sext i32 %shl78 to i64 + %and80 = and i64 %66, %conv79 + %tobool81 = icmp ne i64 %and80, 0 + br i1 %tobool81, label %if.then82, label %if.end91 + +if.then82: ; preds = %if.end72 + %68 = load i32, i32* %i, align 4 + %rem83 = srem i32 %68, 64 + %shl84 = shl i32 1, %rem83 + %conv85 = sext i32 %shl84 to i64 + %69 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %fds_bits86 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %69, i32 0, i32 0 + %70 = load i32, i32* %i, align 4 + %div87 = sdiv i32 %70, 64 + %idxprom88 = sext i32 %div87 to i64 + %arrayidx89 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits86, i64 0, i64 %idxprom88 + %71 = load i64, i64* %arrayidx89, align 8 + %or90 = or i64 %71, %conv85 + store i64 %or90, i64* %arrayidx89, align 8 + br label %if.end91 + +if.end91: ; preds = %if.then82, %if.end72 + %72 = load i32, i32* %count, align 4 + %inc = add nsw i32 %72, 1 + store i32 %inc, i32* %count, align 4 + br label %for.inc + +if.else92: ; preds = %if.else33 + br i1 %tobool44, label %if.then102, label %if.end112 + +if.then102: ; preds = %if.else92 + %73 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %73, i32 0, i32 0 + %74 = load i32, i32* %fd, align 8 + %rem103 = srem i32 %74, 64 + %shl104 = shl i32 1, %rem103 + %conv105 = sext i32 %shl104 to i64 + %fds_bits106 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_read, i32 0, i32 0 + %75 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd107 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %75, i32 0, i32 0 + %76 = load i32, i32* %fd107, align 8 + %div108 = sdiv i32 %76, 64 + %idxprom109 = sext i32 %div108 to i64 + %arrayidx110 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits106, i64 0, i64 %idxprom109 + %77 = load i64, i64* %arrayidx110, align 8 + %or111 = or i64 %77, %conv105 + store i64 %or111, i64* %arrayidx110, align 8 + br label %if.end112 + +if.end112: ; preds = %if.then102, %if.else92 + %fds_bits113 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_write, i32 0, i32 0 + %78 = load i32, i32* %i, align 4 + %div114 = sdiv i32 %78, 64 + %idxprom115 = sext i32 %div114 to i64 + %arrayidx116 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits113, i64 0, i64 %idxprom115 + %79 = load i64, i64* %arrayidx116, align 8 + %80 = load i32, i32* %i, align 4 + %rem117 = srem i32 %80, 64 + %shl118 = shl i32 1, %rem117 + %conv119 = sext i32 %shl118 to i64 + %and120 = and i64 %79, %conv119 + %tobool121 = icmp ne i64 %and120, 0 + br i1 %tobool121, label %if.then122, label %if.end133 + +if.then122: ; preds = %if.end112 + %81 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd123 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %81, i32 0, i32 0 + %82 = load i32, i32* %fd123, align 8 + %rem124 = srem i32 %82, 64 + %shl125 = shl i32 1, %rem124 + %conv126 = sext i32 %shl125 to i64 + %fds_bits127 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_write, i32 0, i32 0 + %83 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd128 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %83, i32 0, i32 0 + %84 = load i32, i32* %fd128, align 8 + %div129 = sdiv i32 %84, 64 + %idxprom130 = sext i32 %div129 to i64 + %arrayidx131 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits127, i64 0, i64 %idxprom130 + %85 = load i64, i64* %arrayidx131, align 8 + %or132 = or i64 %85, %conv126 + store i64 %or132, i64* %arrayidx131, align 8 + br label %if.end133 + +if.end133: ; preds = %if.then122, %if.end112 + %fds_bits134 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_except, i32 0, i32 0 + %86 = load i32, i32* %i, align 4 + %div135 = sdiv i32 %86, 64 + %idxprom136 = sext i32 %div135 to i64 + %arrayidx137 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits134, i64 0, i64 %idxprom136 + %87 = load i64, i64* %arrayidx137, align 8 + %88 = load i32, i32* %i, align 4 + %rem138 = srem i32 %88, 64 + %shl139 = shl i32 1, %rem138 + %conv140 = sext i32 %shl139 to i64 + %and141 = and i64 %87, %conv140 + %tobool142 = icmp ne i64 %and141, 0 + br i1 %tobool142, label %if.then143, label %if.end154 + +if.then143: ; preds = %if.end133 + %89 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd144 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %89, i32 0, i32 0 + %90 = load i32, i32* %fd144, align 8 + %rem145 = srem i32 %90, 64 + %shl146 = shl i32 1, %rem145 + %conv147 = sext i32 %shl146 to i64 + %fds_bits148 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_except, i32 0, i32 0 + %91 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd149 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %91, i32 0, i32 0 + %92 = load i32, i32* %fd149, align 8 + %div150 = sdiv i32 %92, 64 + %idxprom151 = sext i32 %div150 to i64 + %arrayidx152 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits148, i64 0, i64 %idxprom151 + %93 = load i64, i64* %arrayidx152, align 8 + %or153 = or i64 %93, %conv147 + store i64 %or153, i64* %arrayidx152, align 8 + br label %if.end154 + +if.end154: ; preds = %if.then143, %if.end133 + %94 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd155 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %94, i32 0, i32 0 + %95 = load i32, i32* %fd155, align 8 + %96 = load i32, i32* %os_nfds, align 4 + %cmp156 = icmp sge i32 %95, %96 + br i1 %cmp156, label %if.then158, label %for.inc + +if.then158: ; preds = %if.end154 + %97 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd159 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %97, i32 0, i32 0 + %98 = load i32, i32* %fd159, align 8 + %add = add nsw i32 %98, 1 + store i32 %add, i32* %os_nfds, align 4 + br label %for.inc + +for.inc: ; preds = %lor.lhs.false19, %if.end91, %if.then158, %if.end154 + %99 = load i32, i32* %i, align 4 + %inc164 = add nsw i32 %99, 1 + store i32 %inc164, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %100 = load i32, i32* %os_nfds, align 4 + %cmp165 = icmp sgt i32 %100, 0 + br i1 %cmp165, label %if.then167, label %if.end262 + +if.then167: ; preds = %for.end + %101 = bitcast %struct.timespec* %tv to i8* + %102 = call i8* @memset(i8* %101, i32 0, i64 16) + %103 = load i32, i32* %os_nfds, align 4 + %call168 = call i64 (i64, ...) @syscall(i64 23, i32 %103, %struct.fd_set* %os_read, %struct.fd_set* %os_write, %struct.fd_set* %os_except, %struct.timespec* %tv) #11 + %conv169 = trunc i64 %call168 to i32 + store i32 %conv169, i32* %r, align 4 + %104 = load i32, i32* %r, align 4 + %cmp170 = icmp eq i32 %104, -1 + br i1 %cmp170, label %if.then172, label %if.else176 + +if.then172: ; preds = %if.then167 + %105 = load i32, i32* %count, align 4 + %tobool173 = icmp ne i32 %105, 0 + br i1 %tobool173, label %if.end262, label %if.then174 + +if.then174: ; preds = %if.then172 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else176: ; preds = %if.then167 + %106 = load i32, i32* %r, align 4 + %107 = load i32, i32* %count, align 4 + %add177 = add nsw i32 %107, %106 + store i32 %add177, i32* %count, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond178 + +for.cond178: ; preds = %for.inc258, %if.else176 + %108 = load i32, i32* %i, align 4 + %109 = load i32, i32* %nfds.addr, align 4 + %cmp179 = icmp slt i32 %108, %109 + br i1 %cmp179, label %for.body181, label %if.end262 + +for.body181: ; preds = %for.cond178 + %110 = load i32, i32* %i, align 4 + %call183 = call %struct.exe_file_t* @__get_file(i32 %110) + store %struct.exe_file_t* %call183, %struct.exe_file_t** %f182, align 8 + %111 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %tobool184 = icmp ne %struct.exe_file_t* %111, null + br i1 %tobool184, label %land.lhs.true, label %for.inc258 + +land.lhs.true: ; preds = %for.body181 + %112 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %dfile185 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %112, i32 0, i32 3 + %113 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile185, align 8 + %tobool186 = icmp ne %struct.exe_disk_file_t* %113, null + br i1 %tobool186, label %for.inc258, label %if.then187 + +if.then187: ; preds = %land.lhs.true + %114 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %tobool188 = icmp ne %struct.fd_set* %114, null + br i1 %tobool188, label %land.lhs.true189, label %if.end210 + +land.lhs.true189: ; preds = %if.then187 + %fds_bits190 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_read, i32 0, i32 0 + %115 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd191 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %115, i32 0, i32 0 + %116 = load i32, i32* %fd191, align 8 + %div192 = sdiv i32 %116, 64 + %idxprom193 = sext i32 %div192 to i64 + %arrayidx194 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits190, i64 0, i64 %idxprom193 + %117 = load i64, i64* %arrayidx194, align 8 + %118 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd195 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %118, i32 0, i32 0 + %119 = load i32, i32* %fd195, align 8 + %rem196 = srem i32 %119, 64 + %shl197 = shl i32 1, %rem196 + %conv198 = sext i32 %shl197 to i64 + %and199 = and i64 %117, %conv198 + %tobool200 = icmp ne i64 %and199, 0 + br i1 %tobool200, label %if.then201, label %if.end210 + +if.then201: ; preds = %land.lhs.true189 + %120 = load i32, i32* %i, align 4 + %rem202 = srem i32 %120, 64 + %shl203 = shl i32 1, %rem202 + %conv204 = sext i32 %shl203 to i64 + %121 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %fds_bits205 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %121, i32 0, i32 0 + %122 = load i32, i32* %i, align 4 + %div206 = sdiv i32 %122, 64 + %idxprom207 = sext i32 %div206 to i64 + %arrayidx208 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits205, i64 0, i64 %idxprom207 + %123 = load i64, i64* %arrayidx208, align 8 + %or209 = or i64 %123, %conv204 + store i64 %or209, i64* %arrayidx208, align 8 + br label %if.end210 + +if.end210: ; preds = %if.then201, %land.lhs.true189, %if.then187 + %124 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %tobool211 = icmp ne %struct.fd_set* %124, null + br i1 %tobool211, label %land.lhs.true212, label %if.end233 + +land.lhs.true212: ; preds = %if.end210 + %fds_bits213 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_write, i32 0, i32 0 + %125 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd214 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %125, i32 0, i32 0 + %126 = load i32, i32* %fd214, align 8 + %div215 = sdiv i32 %126, 64 + %idxprom216 = sext i32 %div215 to i64 + %arrayidx217 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits213, i64 0, i64 %idxprom216 + %127 = load i64, i64* %arrayidx217, align 8 + %128 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd218 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %128, i32 0, i32 0 + %129 = load i32, i32* %fd218, align 8 + %rem219 = srem i32 %129, 64 + %shl220 = shl i32 1, %rem219 + %conv221 = sext i32 %shl220 to i64 + %and222 = and i64 %127, %conv221 + %tobool223 = icmp ne i64 %and222, 0 + br i1 %tobool223, label %if.then224, label %if.end233 + +if.then224: ; preds = %land.lhs.true212 + %130 = load i32, i32* %i, align 4 + %rem225 = srem i32 %130, 64 + %shl226 = shl i32 1, %rem225 + %conv227 = sext i32 %shl226 to i64 + %131 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %fds_bits228 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %131, i32 0, i32 0 + %132 = load i32, i32* %i, align 4 + %div229 = sdiv i32 %132, 64 + %idxprom230 = sext i32 %div229 to i64 + %arrayidx231 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits228, i64 0, i64 %idxprom230 + %133 = load i64, i64* %arrayidx231, align 8 + %or232 = or i64 %133, %conv227 + store i64 %or232, i64* %arrayidx231, align 8 + br label %if.end233 + +if.end233: ; preds = %if.then224, %land.lhs.true212, %if.end210 + %134 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %tobool234 = icmp ne %struct.fd_set* %134, null + br i1 %tobool234, label %land.lhs.true235, label %for.inc258 + +land.lhs.true235: ; preds = %if.end233 + %fds_bits236 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_except, i32 0, i32 0 + %135 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd237 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %135, i32 0, i32 0 + %136 = load i32, i32* %fd237, align 8 + %div238 = sdiv i32 %136, 64 + %idxprom239 = sext i32 %div238 to i64 + %arrayidx240 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits236, i64 0, i64 %idxprom239 + %137 = load i64, i64* %arrayidx240, align 8 + %138 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd241 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %138, i32 0, i32 0 + %139 = load i32, i32* %fd241, align 8 + %rem242 = srem i32 %139, 64 + %shl243 = shl i32 1, %rem242 + %conv244 = sext i32 %shl243 to i64 + %and245 = and i64 %137, %conv244 + %tobool246 = icmp ne i64 %and245, 0 + br i1 %tobool246, label %if.then247, label %for.inc258 + +if.then247: ; preds = %land.lhs.true235 + %140 = load i32, i32* %i, align 4 + %rem248 = srem i32 %140, 64 + %shl249 = shl i32 1, %rem248 + %conv250 = sext i32 %shl249 to i64 + %141 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %fds_bits251 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %141, i32 0, i32 0 + %142 = load i32, i32* %i, align 4 + %div252 = sdiv i32 %142, 64 + %idxprom253 = sext i32 %div252 to i64 + %arrayidx254 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits251, i64 0, i64 %idxprom253 + %143 = load i64, i64* %arrayidx254, align 8 + %or255 = or i64 %143, %conv250 + store i64 %or255, i64* %arrayidx254, align 8 + br label %for.inc258 + +for.inc258: ; preds = %for.body181, %land.lhs.true, %if.then247, %land.lhs.true235, %if.end233 + %144 = load i32, i32* %i, align 4 + %inc259 = add nsw i32 %144, 1 + store i32 %inc259, i32* %i, align 4 + br label %for.cond178 + +if.end262: ; preds = %if.then172, %for.cond178, %for.end + %145 = load i32, i32* %count, align 4 + store i32 %145, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end262, %if.then174, %if.then31 + %146 = load i32, i32* %retval, align 4 + ret i32 %146 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chroot(i8* nonnull %path) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %0, i64 0 + %1 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call = call i32* @__errno_location() #25 + store i32 2, i32* %call, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %path.addr, align 8 + %arrayidx2 = getelementptr inbounds i8, i8* %2, i64 0 + %3 = load i8, i8* %arrayidx2, align 1 + %conv3 = sext i8 %3 to i32 + %cmp4 = icmp eq i32 %conv3, 47 + br i1 %cmp4, label %land.lhs.true, label %if.end11 + +land.lhs.true: ; preds = %if.end + %4 = load i8*, i8** %path.addr, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %4, i64 1 + %5 = load i8, i8* %arrayidx6, align 1 + %conv7 = sext i8 %5 to i32 + %cmp8 = icmp eq i32 %conv7, 0 + br i1 %cmp8, label %if.then10, label %if.end11 + +if.then10: ; preds = %land.lhs.true + store i32 0, i32* %retval, align 4 + br label %return + +if.end11: ; preds = %land.lhs.true, %if.end + call void @gs_warning(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.24, i64 0, i64 0)) + %call12 = call i32* @__errno_location() #25 + store i32 2, i32* %call12, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end11, %if.then10, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @open(i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i8*, i8** %pathname.addr, align 8 + %8 = load i32, i32* %flags.addr, align 4 + %9 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_open(i8* %7, i32 %8, i32 %9) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @openat(i32 %fd, i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %fd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i32, i32* %fd.addr, align 4 + %8 = load i8*, i8** %pathname.addr, align 8 + %9 = load i32, i32* %flags.addr, align 4 + %10 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_openat(i32 %7, i8* %8, i32 %9, i32 %10) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @lseek(i32 %fd, i64 %off, i32 %whence) #3 { +entry: + %fd.addr = alloca i32, align 4 + %off.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %off, i64* %off.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %off.addr, align 8 + %2 = load i32, i32* %whence.addr, align 4 + %call = call i64 @__fd_lseek(i32 %0, i64 %1, i32 %2) + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__xstat(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__stat64_to_stat(%struct.stat64* %a, %struct.stat64* %b) #3 { +entry: + %a.addr = alloca %struct.stat64*, align 8 + %b.addr = alloca %struct.stat64*, align 8 + store %struct.stat64* %a, %struct.stat64** %a.addr, align 8 + store %struct.stat64* %b, %struct.stat64** %b.addr, align 8 + %0 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_dev = getelementptr inbounds %struct.stat64, %struct.stat64* %0, i32 0, i32 0 + %1 = load i64, i64* %st_dev, align 8 + %2 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_dev1 = getelementptr inbounds %struct.stat64, %struct.stat64* %2, i32 0, i32 0 + store i64 %1, i64* %st_dev1, align 8 + %3 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 1 + %4 = load i64, i64* %st_ino, align 8 + %5 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_ino2 = getelementptr inbounds %struct.stat64, %struct.stat64* %5, i32 0, i32 1 + store i64 %4, i64* %st_ino2, align 8 + %6 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 3 + %7 = load i32, i32* %st_mode, align 8 + %8 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_mode3 = getelementptr inbounds %struct.stat64, %struct.stat64* %8, i32 0, i32 3 + store i32 %7, i32* %st_mode3, align 8 + %9 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_nlink = getelementptr inbounds %struct.stat64, %struct.stat64* %9, i32 0, i32 2 + %10 = load i64, i64* %st_nlink, align 8 + %11 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_nlink4 = getelementptr inbounds %struct.stat64, %struct.stat64* %11, i32 0, i32 2 + store i64 %10, i64* %st_nlink4, align 8 + %12 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_uid = getelementptr inbounds %struct.stat64, %struct.stat64* %12, i32 0, i32 4 + %13 = load i32, i32* %st_uid, align 4 + %14 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_uid5 = getelementptr inbounds %struct.stat64, %struct.stat64* %14, i32 0, i32 4 + store i32 %13, i32* %st_uid5, align 4 + %15 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_gid = getelementptr inbounds %struct.stat64, %struct.stat64* %15, i32 0, i32 5 + %16 = load i32, i32* %st_gid, align 8 + %17 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_gid6 = getelementptr inbounds %struct.stat64, %struct.stat64* %17, i32 0, i32 5 + store i32 %16, i32* %st_gid6, align 8 + %18 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_rdev = getelementptr inbounds %struct.stat64, %struct.stat64* %18, i32 0, i32 7 + %19 = load i64, i64* %st_rdev, align 8 + %20 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_rdev7 = getelementptr inbounds %struct.stat64, %struct.stat64* %20, i32 0, i32 7 + store i64 %19, i64* %st_rdev7, align 8 + %21 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_size = getelementptr inbounds %struct.stat64, %struct.stat64* %21, i32 0, i32 8 + %22 = load i64, i64* %st_size, align 8 + %23 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_size8 = getelementptr inbounds %struct.stat64, %struct.stat64* %23, i32 0, i32 8 + store i64 %22, i64* %st_size8, align 8 + %24 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_atim = getelementptr inbounds %struct.stat64, %struct.stat64* %24, i32 0, i32 11 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim, i32 0, i32 0 + %25 = load i64, i64* %tv_sec, align 8 + %26 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_atim9 = getelementptr inbounds %struct.stat64, %struct.stat64* %26, i32 0, i32 11 + %tv_sec10 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim9, i32 0, i32 0 + store i64 %25, i64* %tv_sec10, align 8 + %27 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_mtim = getelementptr inbounds %struct.stat64, %struct.stat64* %27, i32 0, i32 12 + %tv_sec11 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim, i32 0, i32 0 + %28 = load i64, i64* %tv_sec11, align 8 + %29 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_mtim12 = getelementptr inbounds %struct.stat64, %struct.stat64* %29, i32 0, i32 12 + %tv_sec13 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim12, i32 0, i32 0 + store i64 %28, i64* %tv_sec13, align 8 + %30 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_ctim = getelementptr inbounds %struct.stat64, %struct.stat64* %30, i32 0, i32 13 + %tv_sec14 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim, i32 0, i32 0 + %31 = load i64, i64* %tv_sec14, align 8 + %32 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_ctim15 = getelementptr inbounds %struct.stat64, %struct.stat64* %32, i32 0, i32 13 + %tv_sec16 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim15, i32 0, i32 0 + store i64 %31, i64* %tv_sec16, align 8 + %33 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_blksize = getelementptr inbounds %struct.stat64, %struct.stat64* %33, i32 0, i32 9 + %34 = load i64, i64* %st_blksize, align 8 + %35 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_blksize17 = getelementptr inbounds %struct.stat64, %struct.stat64* %35, i32 0, i32 9 + store i64 %34, i64* %st_blksize17, align 8 + %36 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_blocks = getelementptr inbounds %struct.stat64, %struct.stat64* %36, i32 0, i32 10 + %37 = load i64, i64* %st_blocks, align 8 + %38 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_blocks18 = getelementptr inbounds %struct.stat64, %struct.stat64* %38, i32 0, i32 10 + store i64 %37, i64* %st_blocks18, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @stat(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__lxstat(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @lstat(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fxstat(i32 %vers, i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %vers, i32* %vers.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstat(i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @ftruncate(i32 %fd, i64 %length) #3 { +entry: + %fd.addr = alloca i32, align 4 + %length.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %length, i64* %length.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %length.addr, align 8 + %call = call i32 @__fd_ftruncate(i32 %0, i64 %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @statfs(i8* nonnull %path, %struct.statfs* nonnull %buf32) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf32.addr = alloca %struct.statfs*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.statfs* %buf32, %struct.statfs** %buf32.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.statfs*, %struct.statfs** %buf32.addr, align 8 + %call = call i32 @__fd_statfs(i8* %0, %struct.statfs* %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @getdents(i32 %fd, %struct.dirent64* %dirp, i64 %nbytes) #3 { +entry: + %fd.addr = alloca i32, align 4 + %dirp.addr = alloca %struct.dirent64*, align 8 + %nbytes.addr = alloca i64, align 8 + %dp64 = alloca %struct.dirent64*, align 8 + %res = alloca i64, align 8 + %end = alloca %struct.dirent64*, align 8 + %dp = alloca %struct.dirent64*, align 8 + %name_len = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.dirent64* %dirp, %struct.dirent64** %dirp.addr, align 8 + store i64 %nbytes, i64* %nbytes.addr, align 8 + %0 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %1 = bitcast %struct.dirent64* %0 to %struct.dirent64* + store %struct.dirent64* %1, %struct.dirent64** %dp64, align 8 + %2 = load i32, i32* %fd.addr, align 4 + %3 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %4 = load i64, i64* %nbytes.addr, align 8 + %conv = trunc i64 %4 to i32 + %call = call i32 @__fd_getdents(i32 %2, %struct.dirent64* %3, i32 %conv) + %conv1 = sext i32 %call to i64 + store i64 %conv1, i64* %res, align 8 + %5 = load i64, i64* %res, align 8 + %cmp = icmp sgt i64 %5, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %6 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %7 = bitcast %struct.dirent64* %6 to i8* + %8 = load i64, i64* %res, align 8 + %add.ptr = getelementptr inbounds i8, i8* %7, i64 %8 + %9 = bitcast i8* %add.ptr to %struct.dirent64* + store %struct.dirent64* %9, %struct.dirent64** %end, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.then + %10 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %11 = load %struct.dirent64*, %struct.dirent64** %end, align 8 + %cmp3 = icmp ult %struct.dirent64* %10, %11 + br i1 %cmp3, label %while.body, label %if.end + +while.body: ; preds = %while.cond + %12 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %13 = bitcast %struct.dirent64* %12 to %struct.dirent64* + store %struct.dirent64* %13, %struct.dirent64** %dp, align 8 + %14 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_reclen = getelementptr inbounds %struct.dirent64, %struct.dirent64* %14, i32 0, i32 2 + %15 = load i16, i16* %d_reclen, align 8 + %conv5 = zext i16 %15 to i64 + %sub = sub i64 %conv5, ptrtoint ([256 x i8]* getelementptr inbounds (%struct.dirent64, %struct.dirent64* null, i32 0, i32 4) to i64) + store i64 %sub, i64* %name_len, align 8 + %16 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_ino = getelementptr inbounds %struct.dirent64, %struct.dirent64* %16, i32 0, i32 0 + %17 = load i64, i64* %d_ino, align 8 + %18 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_ino6 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %18, i32 0, i32 0 + store i64 %17, i64* %d_ino6, align 8 + %19 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_off = getelementptr inbounds %struct.dirent64, %struct.dirent64* %19, i32 0, i32 1 + %20 = load i64, i64* %d_off, align 8 + %21 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_off7 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %21, i32 0, i32 1 + store i64 %20, i64* %d_off7, align 8 + %22 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_reclen8 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %22, i32 0, i32 2 + %23 = load i16, i16* %d_reclen8, align 8 + %24 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_reclen9 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %24, i32 0, i32 2 + store i16 %23, i16* %d_reclen9, align 8 + %25 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_type = getelementptr inbounds %struct.dirent64, %struct.dirent64* %25, i32 0, i32 3 + %26 = load i8, i8* %d_type, align 2 + %27 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_type10 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %27, i32 0, i32 3 + store i8 %26, i8* %d_type10, align 2 + %28 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_name = getelementptr inbounds %struct.dirent64, %struct.dirent64* %28, i32 0, i32 4 + %arraydecay = getelementptr inbounds [256 x i8], [256 x i8]* %d_name, i64 0, i64 0 + %29 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_name11 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %29, i32 0, i32 4 + %arraydecay12 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name11, i64 0, i64 0 + %30 = load i64, i64* %name_len, align 8 + %31 = call i8* @memmove(i8* %arraydecay, i8* %arraydecay12, i64 %30) + %32 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %33 = bitcast %struct.dirent64* %32 to i8* + %34 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_reclen13 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %34, i32 0, i32 2 + %35 = load i16, i16* %d_reclen13, align 8 + %conv14 = zext i16 %35 to i32 + %idx.ext = sext i32 %conv14 to i64 + %add.ptr15 = getelementptr inbounds i8, i8* %33, i64 %idx.ext + %36 = bitcast i8* %add.ptr15 to %struct.dirent64* + store %struct.dirent64* %36, %struct.dirent64** %dp64, align 8 + br label %while.cond + +if.end: ; preds = %while.cond, %entry + %37 = load i64, i64* %res, align 8 + ret i64 %37 +} + +; Function Attrs: argmemonly nounwind willreturn +declare void @llvm.memmove.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i1 immarg) #9 + +; Function Attrs: noinline nounwind uwtable +define dso_local void @klee_init_env(i32* %argcPtr, i8*** %argvPtr) #3 { +entry: + %argcPtr.addr = alloca i32*, align 8 + %argvPtr.addr = alloca i8***, align 8 + %argc = alloca i32, align 4 + %argv = alloca i8**, align 8 + %new_argc = alloca i32, align 4 + %n_args = alloca i32, align 4 + %new_argv = alloca [1024 x i8*], align 16 + %max_len = alloca i32, align 4 + %min_argvs = alloca i32, align 4 + %max_argvs = alloca i32, align 4 + %sym_files = alloca i32, align 4 + %sym_file_len = alloca i32, align 4 + %sym_stdin_len = alloca i32, align 4 + %sym_stdout_flag = alloca i32, align 4 + %save_all_writes_flag = alloca i32, align 4 + %fd_fail = alloca i32, align 4 + %final_argv = alloca i8**, align 8 + %sym_arg_name = alloca [6 x i8], align 1 + %sym_arg_num = alloca i32, align 4 + %k = alloca i32, align 4 + %i = alloca i32, align 4 + %msg = alloca i8*, align 8 + %msg40 = alloca i8*, align 8 + %msg105 = alloca i8*, align 8 + %msg145 = alloca i8*, align 8 + %msg215 = alloca i8*, align 8 + store i32* %argcPtr, i32** %argcPtr.addr, align 8 + store i8*** %argvPtr, i8**** %argvPtr.addr, align 8 + %0 = load i32*, i32** %argcPtr.addr, align 8 + %1 = load i32, i32* %0, align 4 + store i32 %1, i32* %argc, align 4 + %2 = load i8***, i8**** %argvPtr.addr, align 8 + %3 = load i8**, i8*** %2, align 8 + store i8** %3, i8*** %argv, align 8 + store i32 0, i32* %new_argc, align 4 + store i32 0, i32* %sym_files, align 4 + store i32 0, i32* %sym_file_len, align 4 + store i32 0, i32* %sym_stdin_len, align 4 + store i32 0, i32* %sym_stdout_flag, align 4 + store i32 0, i32* %save_all_writes_flag, align 4 + store i32 0, i32* %fd_fail, align 4 + %4 = bitcast [6 x i8]* %sym_arg_name to i8* + %5 = call i8* @memcpy(i8* %4, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @__const.klee_init_env.sym_arg_name, i32 0, i32 0), i64 6) + store i32 0, i32* %sym_arg_num, align 4 + store i32 0, i32* %k, align 4 + %arrayidx = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 5 + store i8 0, i8* %arrayidx, align 1 + %6 = load i32, i32* %argc, align 4 + %cmp = icmp eq i32 %6, 2 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %7 = load i8**, i8*** %argv, align 8 + %arrayidx1 = getelementptr inbounds i8*, i8** %7, i64 1 + %8 = load i8*, i8** %arrayidx1, align 8 + %call = call i32 @__streq(i8* %8, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.29, i64 0, i64 0)) + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + call void @__emit_error(i8* getelementptr inbounds ([964 x i8], [964 x i8]* @.str.1.30, i64 0, i64 0)) + br label %if.end + +if.end: ; preds = %if.then, %land.lhs.true, %entry + br label %while.cond + +while.cond: ; preds = %if.end239, %if.end + %9 = load i32, i32* %k, align 4 + %10 = load i32, i32* %argc, align 4 + %cmp2 = icmp slt i32 %9, %10 + br i1 %cmp2, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %11 = load i8**, i8*** %argv, align 8 + %12 = load i32, i32* %k, align 4 + %idxprom = sext i32 %12 to i64 + %arrayidx3 = getelementptr inbounds i8*, i8** %11, i64 %idxprom + %13 = load i8*, i8** %arrayidx3, align 8 + %call4 = call i32 @__streq(i8* %13, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.2.31, i64 0, i64 0)) + %tobool5 = icmp ne i32 %call4, 0 + br i1 %tobool5, label %if.then10, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.body + %14 = load i8**, i8*** %argv, align 8 + %15 = load i32, i32* %k, align 4 + %idxprom6 = sext i32 %15 to i64 + %arrayidx7 = getelementptr inbounds i8*, i8** %14, i64 %idxprom6 + %16 = load i8*, i8** %arrayidx7, align 8 + %call8 = call i32 @__streq(i8* %16, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.32, i64 0, i64 0)) + %tobool9 = icmp ne i32 %call8, 0 + br i1 %tobool9, label %if.then10, label %if.else + +if.then10: ; preds = %lor.lhs.false, %while.body + store i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.4.33, i64 0, i64 0), i8** %msg, align 8 + %17 = load i32, i32* %k, align 4 + %inc = add nsw i32 %17, 1 + store i32 %inc, i32* %k, align 4 + %18 = load i32, i32* %argc, align 4 + %cmp11 = icmp eq i32 %inc, %18 + br i1 %cmp11, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.then10 + %19 = load i8*, i8** %msg, align 8 + call void @__emit_error(i8* %19) + br label %if.end13 + +if.end13: ; preds = %if.then12, %if.then10 + %20 = load i8**, i8*** %argv, align 8 + %21 = load i32, i32* %k, align 4 + %inc14 = add nsw i32 %21, 1 + store i32 %inc14, i32* %k, align 4 + %idxprom15 = sext i32 %21 to i64 + %arrayidx16 = getelementptr inbounds i8*, i8** %20, i64 %idxprom15 + %22 = load i8*, i8** %arrayidx16, align 8 + %23 = load i8*, i8** %msg, align 8 + %call17 = call i64 @__str_to_int(i8* %22, i8* %23) + %conv = trunc i64 %call17 to i32 + store i32 %conv, i32* %max_len, align 4 + %24 = load i32, i32* %sym_arg_num, align 4 + %cmp18 = icmp ugt i32 %24, 99 + br i1 %cmp18, label %if.then20, label %if.end21 + +if.then20: ; preds = %if.end13 + call void @__emit_error(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.5.34, i64 0, i64 0)) + br label %if.end21 + +if.end21: ; preds = %if.then20, %if.end13 + %25 = load i32, i32* %sym_arg_num, align 4 + %div = udiv i32 %25, 10 + %add = add i32 48, %div + %conv22 = trunc i32 %add to i8 + %arrayidx23 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 3 + store i8 %conv22, i8* %arrayidx23, align 1 + %26 = load i32, i32* %sym_arg_num, align 4 + %rem = urem i32 %26, 10 + %add24 = add i32 48, %rem + %conv25 = trunc i32 %add24 to i8 + %arrayidx26 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 4 + store i8 %conv25, i8* %arrayidx26, align 1 + %27 = load i32, i32* %sym_arg_num, align 4 + %inc27 = add i32 %27, 1 + store i32 %inc27, i32* %sym_arg_num, align 4 + %arraydecay = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %28 = load i32, i32* %max_len, align 4 + %arraydecay28 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 0 + %call29 = call i8* @__get_sym_str(i32 %28, i8* %arraydecay28) + call void @__add_arg(i32* %new_argc, i8** %arraydecay, i8* %call29, i32 1024) + br label %if.end239 + +if.else: ; preds = %lor.lhs.false + %29 = load i8**, i8*** %argv, align 8 + %30 = load i32, i32* %k, align 4 + %idxprom30 = sext i32 %30 to i64 + %arrayidx31 = getelementptr inbounds i8*, i8** %29, i64 %idxprom30 + %31 = load i8*, i8** %arrayidx31, align 8 + %call32 = call i32 @__streq(i8* %31, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.6.35, i64 0, i64 0)) + %tobool33 = icmp ne i32 %call32, 0 + br i1 %tobool33, label %if.then39, label %lor.lhs.false34 + +lor.lhs.false34: ; preds = %if.else + %32 = load i8**, i8*** %argv, align 8 + %33 = load i32, i32* %k, align 4 + %idxprom35 = sext i32 %33 to i64 + %arrayidx36 = getelementptr inbounds i8*, i8** %32, i64 %idxprom35 + %34 = load i8*, i8** %arrayidx36, align 8 + %call37 = call i32 @__streq(i8* %34, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.7.36, i64 0, i64 0)) + %tobool38 = icmp ne i32 %call37, 0 + br i1 %tobool38, label %if.then39, label %if.else94 + +if.then39: ; preds = %lor.lhs.false34, %if.else + store i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.8.37, i64 0, i64 0), i8** %msg40, align 8 + %35 = load i32, i32* %k, align 4 + %add41 = add nsw i32 %35, 3 + %36 = load i32, i32* %argc, align 4 + %cmp42 = icmp sge i32 %add41, %36 + br i1 %cmp42, label %if.then44, label %if.end45 + +if.then44: ; preds = %if.then39 + %37 = load i8*, i8** %msg40, align 8 + call void @__emit_error(i8* %37) + br label %if.end45 + +if.end45: ; preds = %if.then44, %if.then39 + %38 = load i32, i32* %k, align 4 + %inc46 = add nsw i32 %38, 1 + store i32 %inc46, i32* %k, align 4 + %39 = load i8**, i8*** %argv, align 8 + %40 = load i32, i32* %k, align 4 + %inc47 = add nsw i32 %40, 1 + store i32 %inc47, i32* %k, align 4 + %idxprom48 = sext i32 %40 to i64 + %arrayidx49 = getelementptr inbounds i8*, i8** %39, i64 %idxprom48 + %41 = load i8*, i8** %arrayidx49, align 8 + %42 = load i8*, i8** %msg40, align 8 + %call50 = call i64 @__str_to_int(i8* %41, i8* %42) + %conv51 = trunc i64 %call50 to i32 + store i32 %conv51, i32* %min_argvs, align 4 + %43 = load i8**, i8*** %argv, align 8 + %44 = load i32, i32* %k, align 4 + %inc52 = add nsw i32 %44, 1 + store i32 %inc52, i32* %k, align 4 + %idxprom53 = sext i32 %44 to i64 + %arrayidx54 = getelementptr inbounds i8*, i8** %43, i64 %idxprom53 + %45 = load i8*, i8** %arrayidx54, align 8 + %46 = load i8*, i8** %msg40, align 8 + %call55 = call i64 @__str_to_int(i8* %45, i8* %46) + %conv56 = trunc i64 %call55 to i32 + store i32 %conv56, i32* %max_argvs, align 4 + %47 = load i8**, i8*** %argv, align 8 + %48 = load i32, i32* %k, align 4 + %inc57 = add nsw i32 %48, 1 + store i32 %inc57, i32* %k, align 4 + %idxprom58 = sext i32 %48 to i64 + %arrayidx59 = getelementptr inbounds i8*, i8** %47, i64 %idxprom58 + %49 = load i8*, i8** %arrayidx59, align 8 + %50 = load i8*, i8** %msg40, align 8 + %call60 = call i64 @__str_to_int(i8* %49, i8* %50) + %conv61 = trunc i64 %call60 to i32 + store i32 %conv61, i32* %max_len, align 4 + %51 = load i32, i32* %min_argvs, align 4 + %52 = load i32, i32* %max_argvs, align 4 + %cmp62 = icmp ugt i32 %51, %52 + br i1 %cmp62, label %if.then70, label %lor.lhs.false64 + +lor.lhs.false64: ; preds = %if.end45 + %53 = load i32, i32* %min_argvs, align 4 + %cmp65 = icmp eq i32 %53, 0 + %54 = load i32, i32* %max_argvs, align 4 + %cmp68 = icmp eq i32 %54, 0 + %or.cond = and i1 %cmp65, %cmp68 + br i1 %or.cond, label %if.then70, label %if.end71 + +if.then70: ; preds = %lor.lhs.false64, %if.end45 + call void @__emit_error(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.9.38, i64 0, i64 0)) + br label %if.end71 + +if.end71: ; preds = %if.then70, %lor.lhs.false64 + %55 = load i32, i32* %min_argvs, align 4 + %56 = load i32, i32* %max_argvs, align 4 + %add72 = add i32 %56, 1 + %call73 = call i32 @gs_range(i32 %55, i32 %add72, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.10.39, i64 0, i64 0)) + store i32 %call73, i32* %n_args, align 4 + %57 = load i32, i32* %sym_arg_num, align 4 + %58 = load i32, i32* %max_argvs, align 4 + %add74 = add i32 %57, %58 + %cmp75 = icmp ugt i32 %add74, 99 + br i1 %cmp75, label %if.then77, label %if.end78 + +if.then77: ; preds = %if.end71 + call void @__emit_error(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.5.34, i64 0, i64 0)) + br label %if.end78 + +if.end78: ; preds = %if.then77, %if.end71 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end78 + %59 = load i32, i32* %i, align 4 + %60 = load i32, i32* %n_args, align 4 + %cmp79 = icmp slt i32 %59, %60 + br i1 %cmp79, label %for.body, label %if.end239 + +for.body: ; preds = %for.cond + %61 = load i32, i32* %sym_arg_num, align 4 + %div81 = udiv i32 %61, 10 + %add82 = add i32 48, %div81 + %conv83 = trunc i32 %add82 to i8 + %arrayidx84 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 3 + store i8 %conv83, i8* %arrayidx84, align 1 + %62 = load i32, i32* %sym_arg_num, align 4 + %rem85 = urem i32 %62, 10 + %add86 = add i32 48, %rem85 + %conv87 = trunc i32 %add86 to i8 + %arrayidx88 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 4 + store i8 %conv87, i8* %arrayidx88, align 1 + %63 = load i32, i32* %sym_arg_num, align 4 + %inc89 = add i32 %63, 1 + store i32 %inc89, i32* %sym_arg_num, align 4 + %arraydecay90 = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %64 = load i32, i32* %max_len, align 4 + %arraydecay91 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 0 + %call92 = call i8* @__get_sym_str(i32 %64, i8* %arraydecay91) + call void @__add_arg(i32* %new_argc, i8** %arraydecay90, i8* %call92, i32 1024) + %65 = load i32, i32* %i, align 4 + %inc93 = add nsw i32 %65, 1 + store i32 %inc93, i32* %i, align 4 + br label %for.cond + +if.else94: ; preds = %lor.lhs.false34 + %66 = load i8**, i8*** %argv, align 8 + %67 = load i32, i32* %k, align 4 + %idxprom95 = sext i32 %67 to i64 + %arrayidx96 = getelementptr inbounds i8*, i8** %66, i64 %idxprom95 + %68 = load i8*, i8** %arrayidx96, align 8 + %call97 = call i32 @__streq(i8* %68, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.11.40, i64 0, i64 0)) + %tobool98 = icmp ne i32 %call97, 0 + br i1 %tobool98, label %if.then104, label %lor.lhs.false99 + +lor.lhs.false99: ; preds = %if.else94 + %69 = load i8**, i8*** %argv, align 8 + %70 = load i32, i32* %k, align 4 + %idxprom100 = sext i32 %70 to i64 + %arrayidx101 = getelementptr inbounds i8*, i8** %69, i64 %idxprom100 + %71 = load i8*, i8** %arrayidx101, align 8 + %call102 = call i32 @__streq(i8* %71, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.12.41, i64 0, i64 0)) + %tobool103 = icmp ne i32 %call102, 0 + br i1 %tobool103, label %if.then104, label %if.else134 + +if.then104: ; preds = %lor.lhs.false99, %if.else94 + store i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.13.42, i64 0, i64 0), i8** %msg105, align 8 + %72 = load i32, i32* %k, align 4 + %add106 = add nsw i32 %72, 2 + %73 = load i32, i32* %argc, align 4 + %cmp107 = icmp sge i32 %add106, %73 + br i1 %cmp107, label %if.then109, label %if.end110 + +if.then109: ; preds = %if.then104 + %74 = load i8*, i8** %msg105, align 8 + call void @__emit_error(i8* %74) + br label %if.end110 + +if.end110: ; preds = %if.then109, %if.then104 + %75 = load i32, i32* %sym_files, align 4 + %cmp111 = icmp ne i32 %75, 0 + br i1 %cmp111, label %if.then113, label %if.end114 + +if.then113: ; preds = %if.end110 + call void @__emit_error(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.14.43, i64 0, i64 0)) + br label %if.end114 + +if.end114: ; preds = %if.then113, %if.end110 + %76 = load i32, i32* %k, align 4 + %inc115 = add nsw i32 %76, 1 + store i32 %inc115, i32* %k, align 4 + %77 = load i8**, i8*** %argv, align 8 + %78 = load i32, i32* %k, align 4 + %inc116 = add nsw i32 %78, 1 + store i32 %inc116, i32* %k, align 4 + %idxprom117 = sext i32 %78 to i64 + %arrayidx118 = getelementptr inbounds i8*, i8** %77, i64 %idxprom117 + %79 = load i8*, i8** %arrayidx118, align 8 + %80 = load i8*, i8** %msg105, align 8 + %call119 = call i64 @__str_to_int(i8* %79, i8* %80) + %conv120 = trunc i64 %call119 to i32 + store i32 %conv120, i32* %sym_files, align 4 + %81 = load i8**, i8*** %argv, align 8 + %82 = load i32, i32* %k, align 4 + %inc121 = add nsw i32 %82, 1 + store i32 %inc121, i32* %k, align 4 + %idxprom122 = sext i32 %82 to i64 + %arrayidx123 = getelementptr inbounds i8*, i8** %81, i64 %idxprom122 + %83 = load i8*, i8** %arrayidx123, align 8 + %84 = load i8*, i8** %msg105, align 8 + %call124 = call i64 @__str_to_int(i8* %83, i8* %84) + %conv125 = trunc i64 %call124 to i32 + store i32 %conv125, i32* %sym_file_len, align 4 + %85 = load i32, i32* %sym_files, align 4 + %cmp126 = icmp eq i32 %85, 0 + br i1 %cmp126, label %if.then128, label %if.end129 + +if.then128: ; preds = %if.end114 + call void @__emit_error(i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.15.44, i64 0, i64 0)) + br label %if.end129 + +if.end129: ; preds = %if.then128, %if.end114 + %86 = load i32, i32* %sym_file_len, align 4 + %cmp130 = icmp eq i32 %86, 0 + br i1 %cmp130, label %if.then132, label %if.end239 + +if.then132: ; preds = %if.end129 + call void @__emit_error(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.16.45, i64 0, i64 0)) + br label %if.end239 + +if.else134: ; preds = %lor.lhs.false99 + %87 = load i8**, i8*** %argv, align 8 + %88 = load i32, i32* %k, align 4 + %idxprom135 = sext i32 %88 to i64 + %arrayidx136 = getelementptr inbounds i8*, i8** %87, i64 %idxprom135 + %89 = load i8*, i8** %arrayidx136, align 8 + %call137 = call i32 @__streq(i8* %89, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.17.46, i64 0, i64 0)) + %tobool138 = icmp ne i32 %call137, 0 + br i1 %tobool138, label %if.then144, label %lor.lhs.false139 + +lor.lhs.false139: ; preds = %if.else134 + %90 = load i8**, i8*** %argv, align 8 + %91 = load i32, i32* %k, align 4 + %idxprom140 = sext i32 %91 to i64 + %arrayidx141 = getelementptr inbounds i8*, i8** %90, i64 %idxprom140 + %92 = load i8*, i8** %arrayidx141, align 8 + %call142 = call i32 @__streq(i8* %92, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.18.47, i64 0, i64 0)) + %tobool143 = icmp ne i32 %call142, 0 + br i1 %tobool143, label %if.then144, label %if.else156 + +if.then144: ; preds = %lor.lhs.false139, %if.else134 + store i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.19.48, i64 0, i64 0), i8** %msg145, align 8 + %93 = load i32, i32* %k, align 4 + %inc146 = add nsw i32 %93, 1 + store i32 %inc146, i32* %k, align 4 + %94 = load i32, i32* %argc, align 4 + %cmp147 = icmp eq i32 %inc146, %94 + br i1 %cmp147, label %if.then149, label %if.end150 + +if.then149: ; preds = %if.then144 + %95 = load i8*, i8** %msg145, align 8 + call void @__emit_error(i8* %95) + br label %if.end150 + +if.end150: ; preds = %if.then149, %if.then144 + %96 = load i8**, i8*** %argv, align 8 + %97 = load i32, i32* %k, align 4 + %inc151 = add nsw i32 %97, 1 + store i32 %inc151, i32* %k, align 4 + %idxprom152 = sext i32 %97 to i64 + %arrayidx153 = getelementptr inbounds i8*, i8** %96, i64 %idxprom152 + %98 = load i8*, i8** %arrayidx153, align 8 + %99 = load i8*, i8** %msg145, align 8 + %call154 = call i64 @__str_to_int(i8* %98, i8* %99) + %conv155 = trunc i64 %call154 to i32 + store i32 %conv155, i32* %sym_stdin_len, align 4 + br label %if.end239 + +if.else156: ; preds = %lor.lhs.false139 + %100 = load i8**, i8*** %argv, align 8 + %101 = load i32, i32* %k, align 4 + %idxprom157 = sext i32 %101 to i64 + %arrayidx158 = getelementptr inbounds i8*, i8** %100, i64 %idxprom157 + %102 = load i8*, i8** %arrayidx158, align 8 + %call159 = call i32 @__streq(i8* %102, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.20.49, i64 0, i64 0)) + %tobool160 = icmp ne i32 %call159, 0 + br i1 %tobool160, label %if.then166, label %lor.lhs.false161 + +lor.lhs.false161: ; preds = %if.else156 + %103 = load i8**, i8*** %argv, align 8 + %104 = load i32, i32* %k, align 4 + %idxprom162 = sext i32 %104 to i64 + %arrayidx163 = getelementptr inbounds i8*, i8** %103, i64 %idxprom162 + %105 = load i8*, i8** %arrayidx163, align 8 + %call164 = call i32 @__streq(i8* %105, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.21.50, i64 0, i64 0)) + %tobool165 = icmp ne i32 %call164, 0 + br i1 %tobool165, label %if.then166, label %if.else168 + +if.then166: ; preds = %lor.lhs.false161, %if.else156 + store i32 1, i32* %sym_stdout_flag, align 4 + %106 = load i32, i32* %k, align 4 + %inc167 = add nsw i32 %106, 1 + store i32 %inc167, i32* %k, align 4 + br label %if.end239 + +if.else168: ; preds = %lor.lhs.false161 + %107 = load i8**, i8*** %argv, align 8 + %108 = load i32, i32* %k, align 4 + %idxprom169 = sext i32 %108 to i64 + %arrayidx170 = getelementptr inbounds i8*, i8** %107, i64 %idxprom169 + %109 = load i8*, i8** %arrayidx170, align 8 + %call171 = call i32 @__streq(i8* %109, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.22.51, i64 0, i64 0)) + %tobool172 = icmp ne i32 %call171, 0 + br i1 %tobool172, label %if.then178, label %lor.lhs.false173 + +lor.lhs.false173: ; preds = %if.else168 + %110 = load i8**, i8*** %argv, align 8 + %111 = load i32, i32* %k, align 4 + %idxprom174 = sext i32 %111 to i64 + %arrayidx175 = getelementptr inbounds i8*, i8** %110, i64 %idxprom174 + %112 = load i8*, i8** %arrayidx175, align 8 + %call176 = call i32 @__streq(i8* %112, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23.52, i64 0, i64 0)) + %tobool177 = icmp ne i32 %call176, 0 + br i1 %tobool177, label %if.then178, label %if.else180 + +if.then178: ; preds = %lor.lhs.false173, %if.else168 + store i32 1, i32* %save_all_writes_flag, align 4 + %113 = load i32, i32* %k, align 4 + %inc179 = add nsw i32 %113, 1 + store i32 %inc179, i32* %k, align 4 + br label %if.end239 + +if.else180: ; preds = %lor.lhs.false173 + %114 = load i8**, i8*** %argv, align 8 + %115 = load i32, i32* %k, align 4 + %idxprom181 = sext i32 %115 to i64 + %arrayidx182 = getelementptr inbounds i8*, i8** %114, i64 %idxprom181 + %116 = load i8*, i8** %arrayidx182, align 8 + %call183 = call i32 @__streq(i8* %116, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.24.53, i64 0, i64 0)) + %tobool184 = icmp ne i32 %call183, 0 + br i1 %tobool184, label %if.then190, label %lor.lhs.false185 + +lor.lhs.false185: ; preds = %if.else180 + %117 = load i8**, i8*** %argv, align 8 + %118 = load i32, i32* %k, align 4 + %idxprom186 = sext i32 %118 to i64 + %arrayidx187 = getelementptr inbounds i8*, i8** %117, i64 %idxprom186 + %119 = load i8*, i8** %arrayidx187, align 8 + %call188 = call i32 @__streq(i8* %119, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.25.54, i64 0, i64 0)) + %tobool189 = icmp ne i32 %call188, 0 + br i1 %tobool189, label %if.then190, label %if.else192 + +if.then190: ; preds = %lor.lhs.false185, %if.else180 + store i32 1, i32* %fd_fail, align 4 + %120 = load i32, i32* %k, align 4 + %inc191 = add nsw i32 %120, 1 + store i32 %inc191, i32* %k, align 4 + br label %if.end239 + +if.else192: ; preds = %lor.lhs.false185 + %121 = load i8**, i8*** %argv, align 8 + %122 = load i32, i32* %k, align 4 + %idxprom193 = sext i32 %122 to i64 + %arrayidx194 = getelementptr inbounds i8*, i8** %121, i64 %idxprom193 + %123 = load i8*, i8** %arrayidx194, align 8 + %call195 = call i32 @__streq(i8* %123, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.26.55, i64 0, i64 0)) + %tobool196 = icmp ne i32 %call195, 0 + br i1 %tobool196, label %if.then202, label %lor.lhs.false197 + +lor.lhs.false197: ; preds = %if.else192 + %124 = load i8**, i8*** %argv, align 8 + %125 = load i32, i32* %k, align 4 + %idxprom198 = sext i32 %125 to i64 + %arrayidx199 = getelementptr inbounds i8*, i8** %124, i64 %idxprom198 + %126 = load i8*, i8** %arrayidx199, align 8 + %call200 = call i32 @__streq(i8* %126, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.27.56, i64 0, i64 0)) + %tobool201 = icmp ne i32 %call200, 0 + br i1 %tobool201, label %if.then202, label %if.else204 + +if.then202: ; preds = %lor.lhs.false197, %if.else192 + %127 = load i32, i32* %k, align 4 + %add203 = add nsw i32 %127, 2 + store i32 %add203, i32* %k, align 4 + br label %if.end239 + +if.else204: ; preds = %lor.lhs.false197 + %128 = load i8**, i8*** %argv, align 8 + %129 = load i32, i32* %k, align 4 + %idxprom205 = sext i32 %129 to i64 + %arrayidx206 = getelementptr inbounds i8*, i8** %128, i64 %idxprom205 + %130 = load i8*, i8** %arrayidx206, align 8 + %call207 = call i32 @__streq(i8* %130, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.28.57, i64 0, i64 0)) + %tobool208 = icmp ne i32 %call207, 0 + br i1 %tobool208, label %if.then214, label %lor.lhs.false209 + +lor.lhs.false209: ; preds = %if.else204 + %131 = load i8**, i8*** %argv, align 8 + %132 = load i32, i32* %k, align 4 + %idxprom210 = sext i32 %132 to i64 + %arrayidx211 = getelementptr inbounds i8*, i8** %131, i64 %idxprom210 + %133 = load i8*, i8** %arrayidx211, align 8 + %call212 = call i32 @__streq(i8* %133, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.29.58, i64 0, i64 0)) + %tobool213 = icmp ne i32 %call212, 0 + br i1 %tobool213, label %if.then214, label %if.else226 + +if.then214: ; preds = %lor.lhs.false209, %if.else204 + store i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.30, i64 0, i64 0), i8** %msg215, align 8 + %134 = load i32, i32* %k, align 4 + %inc216 = add nsw i32 %134, 1 + store i32 %inc216, i32* %k, align 4 + %135 = load i32, i32* %argc, align 4 + %cmp217 = icmp eq i32 %inc216, %135 + br i1 %cmp217, label %if.then219, label %if.end220 + +if.then219: ; preds = %if.then214 + %136 = load i8*, i8** %msg215, align 8 + call void @__emit_error(i8* %136) + br label %if.end220 + +if.end220: ; preds = %if.then219, %if.then214 + %137 = load i8**, i8*** %argv, align 8 + %138 = load i32, i32* %k, align 4 + %inc221 = add nsw i32 %138, 1 + store i32 %inc221, i32* %k, align 4 + %idxprom222 = sext i32 %138 to i64 + %arrayidx223 = getelementptr inbounds i8*, i8** %137, i64 %idxprom222 + %139 = load i8*, i8** %arrayidx223, align 8 + %140 = load i8*, i8** %msg215, align 8 + %call224 = call i64 @__str_to_int(i8* %139, i8* %140) + %conv225 = trunc i64 %call224 to i32 + store i32 %conv225, i32* %fd_fail, align 4 + br label %if.end239 + +if.else226: ; preds = %lor.lhs.false209 + %arraydecay227 = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %141 = load i8**, i8*** %argv, align 8 + %142 = load i32, i32* %k, align 4 + %inc228 = add nsw i32 %142, 1 + store i32 %inc228, i32* %k, align 4 + %idxprom229 = sext i32 %142 to i64 + %arrayidx230 = getelementptr inbounds i8*, i8** %141, i64 %idxprom229 + %143 = load i8*, i8** %arrayidx230, align 8 + call void @__add_arg(i32* %new_argc, i8** %arraydecay227, i8* %143, i32 1024) + br label %if.end239 + +if.end239: ; preds = %for.cond, %if.end150, %if.then178, %if.then202, %if.else226, %if.end220, %if.then190, %if.then166, %if.end129, %if.then132, %if.end21 + br label %while.cond + +while.end: ; preds = %while.cond + %144 = load i32, i32* %new_argc, align 4 + %add240 = add nsw i32 %144, 1 + %conv241 = sext i32 %add240 to i64 + %mul = mul i64 %conv241, 8 + %call242 = call noalias i8* @malloc(i64 %mul) #11 + %145 = bitcast i8* %call242 to i8** + store i8** %145, i8*** %final_argv, align 8 + %146 = load i8**, i8*** %final_argv, align 8 + %tobool243 = icmp ne i8** %146, null + br i1 %tobool243, label %if.end245, label %if.then244 + +if.then244: ; preds = %while.end + call void @__emit_error(i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.31, i64 0, i64 0)) + br label %if.end245 + +if.end245: ; preds = %if.then244, %while.end + %147 = load i8**, i8*** %final_argv, align 8 + %148 = bitcast i8** %147 to i8* + %arraydecay246 = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %149 = bitcast i8** %arraydecay246 to i8* + %150 = load i32, i32* %new_argc, align 4 + %conv247 = sext i32 %150 to i64 + %mul248 = mul i64 %conv247, 8 + %151 = call i8* @memcpy(i8* %148, i8* %149, i64 %mul248) + %152 = load i8**, i8*** %final_argv, align 8 + %153 = load i32, i32* %new_argc, align 4 + %idxprom249 = sext i32 %153 to i64 + %arrayidx250 = getelementptr inbounds i8*, i8** %152, i64 %idxprom249 + store i8* null, i8** %arrayidx250, align 8 + %154 = load i32, i32* %new_argc, align 4 + %155 = load i32*, i32** %argcPtr.addr, align 8 + store i32 %154, i32* %155, align 4 + %156 = load i8**, i8*** %final_argv, align 8 + %157 = load i8***, i8**** %argvPtr.addr, align 8 + store i8** %156, i8*** %157, align 8 + %158 = load i32, i32* %sym_files, align 4 + %159 = load i32, i32* %sym_file_len, align 4 + %160 = load i32, i32* %sym_stdin_len, align 4 + %161 = load i32, i32* %sym_stdout_flag, align 4 + %162 = load i32, i32* %save_all_writes_flag, align 4 + %163 = load i32, i32* %fd_fail, align 4 + call void @klee_init_fds(i32 %158, i32 %159, i32 %160, i32 %161, i32 %162, i32 %163) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__streq(i8* %a, i8* %b) #3 { +entry: + %retval = alloca i32, align 4 + %a.addr = alloca i8*, align 8 + %b.addr = alloca i8*, align 8 + store i8* %a, i8** %a.addr, align 8 + store i8* %b, i8** %b.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %0 = load i8*, i8** %a.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %2 = load i8*, i8** %b.addr, align 8 + %3 = load i8, i8* %2, align 1 + %conv1 = sext i8 %3 to i32 + %cmp = icmp eq i32 %conv, %conv1 + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i8*, i8** %a.addr, align 8 + %5 = load i8, i8* %4, align 1 + %tobool = icmp ne i8 %5, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %while.body + store i32 1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %while.body + %6 = load i8*, i8** %a.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %a.addr, align 8 + %7 = load i8*, i8** %b.addr, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %7, i32 1 + store i8* %incdec.ptr3, i8** %b.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %while.end, %if.then + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__emit_error(i8* %msg) #3 { +entry: + %msg.addr = alloca i8*, align 8 + store i8* %msg, i8** %msg.addr, align 8 + %0 = load i8*, i8** %msg.addr, align 8 + call void @gs_report_error.59(i8* getelementptr inbounds ([88 x i8], [88 x i8]* @.str.32, i64 0, i64 0), i32 21, i8* %0, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.33, i64 0, i64 0)) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @__str_to_int(i8* %s, i8* %error_msg) #3 { +entry: + %s.addr = alloca i8*, align 8 + %error_msg.addr = alloca i8*, align 8 + %res = alloca i64, align 8 + %c = alloca i8, align 1 + store i8* %s, i8** %s.addr, align 8 + store i8* %error_msg, i8** %error_msg.addr, align 8 + store i64 0, i64* %res, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i8, i8* %0, align 1 + %tobool = icmp ne i8 %1, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %2 = load i8*, i8** %error_msg.addr, align 8 + call void @__emit_error(i8* %2) + br label %if.end + +if.end: ; preds = %if.then, %entry + br label %while.cond + +while.cond: ; preds = %if.end9, %if.end + %3 = load i8*, i8** %s.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %s.addr, align 8 + %4 = load i8, i8* %3, align 1 + store i8 %4, i8* %c, align 1 + %tobool1 = icmp ne i8 %4, 0 + br i1 %tobool1, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %5 = load i8, i8* %c, align 1 + %conv = sext i8 %5 to i32 + %cmp = icmp sge i32 %conv, 48 + br i1 %cmp, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %while.body + %6 = load i8, i8* %c, align 1 + %conv3 = sext i8 %6 to i32 + %cmp4 = icmp sle i32 %conv3, 57 + br i1 %cmp4, label %if.then6, label %if.else + +if.then6: ; preds = %land.lhs.true + %7 = load i64, i64* %res, align 8 + %mul = mul nsw i64 %7, 10 + %8 = load i8, i8* %c, align 1 + %conv7 = sext i8 %8 to i32 + %sub = sub nsw i32 %conv7, 48 + %conv8 = sext i32 %sub to i64 + %add = add nsw i64 %mul, %conv8 + store i64 %add, i64* %res, align 8 + br label %if.end9 + +if.else: ; preds = %land.lhs.true, %while.body + %9 = load i8*, i8** %error_msg.addr, align 8 + call void @__emit_error(i8* %9) + br label %if.end9 + +if.end9: ; preds = %if.else, %if.then6 + br label %while.cond + +while.end: ; preds = %while.cond + %10 = load i64, i64* %res, align 8 + ret i64 %10 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @__get_sym_str(i32 %numChars, i8* %name) #3 { +entry: + %numChars.addr = alloca i32, align 4 + %name.addr = alloca i8*, align 8 + %i = alloca i32, align 4 + %s = alloca i8*, align 8 + store i32 %numChars, i32* %numChars.addr, align 4 + store i8* %name, i8** %name.addr, align 8 + %0 = load i32, i32* %numChars.addr, align 4 + %add = add nsw i32 %0, 1 + %conv = sext i32 %add to i64 + %call = call noalias i8* @malloc(i64 %conv) #11 + store i8* %call, i8** %s, align 8 + %1 = load i8*, i8** %s, align 8 + %tobool = icmp ne i8* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @__emit_error(i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.31, i64 0, i64 0)) + br label %if.end + +if.end: ; preds = %if.then, %entry + %2 = load i8*, i8** %s, align 8 + %3 = load i32, i32* %numChars.addr, align 4 + %add1 = add nsw i32 %3, 1 + %conv2 = sext i32 %add1 to i64 + %4 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %2, i64 %conv2, i8* %4) + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %5 = load i32, i32* %i, align 4 + %6 = load i32, i32* %numChars.addr, align 4 + %cmp = icmp slt i32 %5, %6 + %7 = load i8*, i8** %s, align 8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %8 = load i8*, i8** %s, align 8 + %9 = load i32, i32* %i, align 4 + %idxprom = sext i32 %9 to i64 + %arrayidx = getelementptr inbounds i8, i8* %8, i64 %idxprom + %10 = load i8, i8* %arrayidx, align 1 + %call4 = call i32 @__isprint(i8 signext %10) + %tobool5 = icmp ne i32 %call4, 0 + call void @gs_posix_prefer_cex(i8* %7, i1 zeroext %tobool5) + %11 = load i32, i32* %i, align 4 + %inc = add nsw i32 %11, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %12 = load i32, i32* %numChars.addr, align 4 + %idxprom6 = sext i32 %12 to i64 + %arrayidx7 = getelementptr inbounds i8, i8* %7, i64 %idxprom6 + store i8 0, i8* %arrayidx7, align 1 + %13 = load i8*, i8** %s, align 8 + ret i8* %13 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__add_arg(i32* %argc, i8** %argv, i8* %arg, i32 %argcMax) #3 { +entry: + %argc.addr = alloca i32*, align 8 + %argv.addr = alloca i8**, align 8 + %arg.addr = alloca i8*, align 8 + %argcMax.addr = alloca i32, align 4 + store i32* %argc, i32** %argc.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i32 %argcMax, i32* %argcMax.addr, align 4 + %0 = load i32*, i32** %argc.addr, align 8 + %1 = load i32, i32* %0, align 4 + %2 = load i32, i32* %argcMax.addr, align 4 + %cmp = icmp eq i32 %1, %2 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + call void @__emit_error(i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.35, i64 0, i64 0)) + br label %if.end + +if.else: ; preds = %entry + %3 = load i8*, i8** %arg.addr, align 8 + %4 = load i8**, i8*** %argv.addr, align 8 + %5 = load i32*, i32** %argc.addr, align 8 + %6 = load i32, i32* %5, align 4 + %idxprom = sext i32 %6 to i64 + %arrayidx = getelementptr inbounds i8*, i8** %4, i64 %idxprom + store i8* %3, i8** %arrayidx, align 8 + %7 = load i32*, i32** %argc.addr, align 8 + %8 = load i32, i32* %7, align 4 + %inc = add nsw i32 %8, 1 + store i32 %inc, i32* %7, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @gs_range(i32 %begin, i32 %end, i8* %name) #3 { +entry: + %begin.addr = alloca i32, align 4 + %end.addr = alloca i32, align 4 + %name.addr = alloca i8*, align 8 + %x = alloca i32, align 4 + store i32 %begin, i32* %begin.addr, align 4 + store i32 %end, i32* %end.addr, align 4 + store i8* %name, i8** %name.addr, align 8 + %0 = bitcast i32* %x to i8* + %1 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %0, i64 4, i8* %1) + %2 = load i32, i32* %x, align 4 + %3 = load i32, i32* %begin.addr, align 4 + %cmp = icmp sge i32 %2, %3 + call void @gs_assume(i1 zeroext %cmp) + %4 = load i32, i32* %x, align 4 + %5 = load i32, i32* %end.addr, align 4 + %cmp1 = icmp slt i32 %4, %5 + call void @gs_assume(i1 zeroext %cmp1) + %6 = load i32, i32* %x, align 4 + ret i32 %6 +} + +declare dso_local void @make_symbolic(i8*, i64, ...) #5 + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__isprint(i8 signext %c) #3 { +entry: + %c.addr = alloca i8, align 1 + store i8 %c, i8* %c.addr, align 1 + %0 = load i8, i8* %c.addr, align 1 + %conv = sext i8 %0 to i32 + %cmp = icmp sle i32 32, %conv + %conv1 = zext i1 %cmp to i32 + %1 = load i8, i8* %c.addr, align 1 + %conv2 = sext i8 %1 to i32 + %cmp3 = icmp sle i32 %conv2, 126 + %conv4 = zext i1 %cmp3 to i32 + %and = and i32 %conv1, %conv4 + ret i32 %and +} + +declare dso_local void @gs_posix_prefer_cex(i8*, i1 zeroext) #5 + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error.59(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.34, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__user_main(i32 %argcPtr, i8** %argvPtr, i8** %envp) #3 { +entry: + %argcPtr.addr = alloca i32, align 4 + %argvPtr.addr = alloca i8**, align 8 + %envp.addr = alloca i8**, align 8 + store i32 %argcPtr, i32* %argcPtr.addr, align 4 + store i8** %argvPtr, i8*** %argvPtr.addr, align 8 + store i8** %envp, i8*** %envp.addr, align 8 + call void @klee_init_env(i32* %argcPtr.addr, i8*** %argvPtr.addr) + %0 = load i32, i32* %argcPtr.addr, align 4 + %1 = load i8**, i8*** %argvPtr.addr, align 8 + %2 = load i8**, i8*** %envp.addr, align 8 + %call = call i32 bitcast (i32 (i32, i8**)* @__klee_posix_wrapped_main to i32 (i32, i8**, i8**)*)(i32 %0, i8** %1, i8** %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind readnone uwtable +declare i32* @__errno_location() #12 + +; Function Attrs: noinline nounwind readnone uwtable +define weak i32* @__h_errno_location() #12 { +entry: + ret i32* @h_errno +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @___path_search(i8* %tmpl, i64 %tmpl_len, i8* %dir, i8* %pfx) #0 { +entry: + %retval = alloca i32, align 4 + %tmpl.addr = alloca i8*, align 8 + %tmpl_len.addr = alloca i64, align 8 + %dir.addr = alloca i8*, align 8 + %pfx.addr = alloca i8*, align 8 + %dlen = alloca i64, align 8 + %plen = alloca i64, align 8 + store i8* %tmpl, i8** %tmpl.addr, align 8 + store i64 %tmpl_len, i64* %tmpl_len.addr, align 8 + store i8* %dir, i8** %dir.addr, align 8 + store i8* %pfx, i8** %pfx.addr, align 8 + %0 = load i8*, i8** %pfx.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %lor.lhs.false, label %if.then + +lor.lhs.false: ; preds = %entry + %1 = load i8*, i8** %pfx.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %tobool1 = icmp ne i8 %2, 0 + br i1 %tobool1, label %if.else, label %if.then + +if.then: ; preds = %lor.lhs.false, %entry + store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.68, i64 0, i64 0), i8** %pfx.addr, align 8 + store i64 4, i64* %plen, align 8 + br label %if.end3 + +if.else: ; preds = %lor.lhs.false + %3 = load i8*, i8** %pfx.addr, align 8 + %call = call i64 @strlen(i8* %3) #20 + store i64 %call, i64* %plen, align 8 + %4 = load i64, i64* %plen, align 8 + %cmp = icmp ugt i64 %4, 5 + %spec.store.select = select i1 %cmp, i64 5, i64 %call + store i64 %spec.store.select, i64* %plen, align 8 + br label %if.end3 + +if.end3: ; preds = %if.else, %if.then + %5 = load i8*, i8** %dir.addr, align 8 + %cmp4 = icmp eq i8* %5, null + br i1 %cmp4, label %if.then5, label %if.end18 + +if.then5: ; preds = %if.end3 + %call6 = call i32 @direxists(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0)) #18 + %tobool7 = icmp ne i32 %call6, 0 + br i1 %tobool7, label %if.then8, label %if.else9 + +if.then8: ; preds = %if.then5 + store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0), i8** %dir.addr, align 8 + br label %if.end18 + +if.else9: ; preds = %if.then5 + %call10 = call i32 @strcmp(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0)) #20 + %cmp11 = icmp ne i32 %call10, 0 + br i1 %cmp11, label %land.lhs.true, label %if.else15 + +land.lhs.true: ; preds = %if.else9 + %call12 = call i32 @direxists(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0)) #18 + %tobool13 = icmp ne i32 %call12, 0 + br i1 %tobool13, label %if.then14, label %if.else15 + +if.then14: ; preds = %land.lhs.true + store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0), i8** %dir.addr, align 8 + br label %if.end18 + +if.else15: ; preds = %land.lhs.true, %if.else9 + store i32 2, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %if.then8, %if.then14, %if.end3 + %6 = load i8*, i8** %dir.addr, align 8 + %call19 = call i64 @strlen(i8* %6) #20 + store i64 %call19, i64* %dlen, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end18 + %7 = load i64, i64* %dlen, align 8 + %cmp20 = icmp ugt i64 %7, 1 + br i1 %cmp20, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %8 = load i8*, i8** %dir.addr, align 8 + %9 = load i64, i64* %dlen, align 8 + %sub = sub i64 %9, 1 + %arrayidx21 = getelementptr inbounds i8, i8* %8, i64 %sub + %10 = load i8, i8* %arrayidx21, align 1 + %conv = sext i8 %10 to i32 + %cmp22 = icmp eq i32 %conv, 47 + br i1 %cmp22, label %while.body, label %while.end + +while.body: ; preds = %land.rhs + %11 = load i64, i64* %dlen, align 8 + %dec = add i64 %11, -1 + store i64 %dec, i64* %dlen, align 8 + br label %while.cond + +while.end: ; preds = %while.cond, %land.rhs + %12 = load i64, i64* %tmpl_len.addr, align 8 + %13 = load i64, i64* %dlen, align 8 + %add = add i64 %13, 1 + %14 = load i64, i64* %plen, align 8 + %add24 = add i64 %add, %14 + %add25 = add i64 %add24, 6 + %add26 = add i64 %add25, 1 + %cmp27 = icmp ult i64 %12, %add26 + br i1 %cmp27, label %if.then29, label %if.end30 + +if.then29: ; preds = %while.end + store i32 22, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end30: ; preds = %while.end + %15 = load i8*, i8** %tmpl.addr, align 8 + %16 = load i64, i64* %dlen, align 8 + %17 = load i8*, i8** %dir.addr, align 8 + %18 = load i64, i64* %plen, align 8 + %19 = load i8*, i8** %pfx.addr, align 8 + %call31 = call i32 (i8*, i8*, ...) @sprintf(i8* %15, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.2.70, i64 0, i64 0), i64 %16, i8* %17, i64 %18, i8* %19) #19 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end30, %if.then29, %if.else15 + %20 = load i32, i32* %retval, align 4 + ret i32 %20 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @direxists(i8* %dir) #0 { +entry: + %dir.addr = alloca i8*, align 8 + %buf = alloca %struct.stat.192, align 8 + store i8* %dir, i8** %dir.addr, align 8 + %0 = load i8*, i8** %dir.addr, align 8 + %call = call i32 bitcast (i32 (i8*, %struct.stat64*)* @stat to i32 (i8*, %struct.stat.192*)*)(i8* %0, %struct.stat.192* %buf) #19 + %cmp = icmp eq i32 %call, 0 + %st_mode = getelementptr inbounds %struct.stat.192, %struct.stat.192* %buf, i32 0, i32 3 + %1 = load i32, i32* %st_mode, align 8 + %and = and i32 %1, 61440 + %cmp1 = icmp eq i32 %and, 16384 + %2 = select i1 %cmp, i1 %cmp1, i1 false + %land.ext = zext i1 %2 to i32 + ret i32 %land.ext +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__gen_tempname(i8* %tmpl, i32 %kind) #0 { +entry: + %retval = alloca i32, align 4 + %tmpl.addr = alloca i8*, align 8 + %kind.addr = alloca i32, align 4 + %XXXXXX = alloca i8*, align 8 + %i = alloca i32, align 4 + %fd = alloca i32, align 4 + %save_errno = alloca i32, align 4 + %randomness = alloca [6 x i8], align 1 + %len = alloca i64, align 8 + %j = alloca i32, align 4 + %st = alloca %struct.stat.192, align 8 + store i8* %tmpl, i8** %tmpl.addr, align 8 + store i32 %kind, i32* %kind.addr, align 4 + %0 = load i32, i32* @errno, align 4 + store i32 %0, i32* %save_errno, align 4 + %1 = load i8*, i8** %tmpl.addr, align 8 + %call = call i64 @strlen(i8* %1) #20 + store i64 %call, i64* %len, align 8 + %2 = load i8*, i8** %tmpl.addr, align 8 + %3 = load i64, i64* %len, align 8 + %add.ptr = getelementptr inbounds i8, i8* %2, i64 %3 + %add.ptr1 = getelementptr inbounds i8, i8* %add.ptr, i64 -6 + store i8* %add.ptr1, i8** %XXXXXX, align 8 + %4 = load i64, i64* %len, align 8 + %cmp = icmp ult i64 %4, 6 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %5 = load i8*, i8** %XXXXXX, align 8 + %call2 = call i32 @strcmp(i8* %5, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.3.73, i64 0, i64 0)) #20 + %tobool = icmp ne i32 %call2, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %lor.lhs.false, %entry + store i32 22, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %lor.lhs.false + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc44, %if.end + %6 = load i32, i32* %i, align 4 + %cmp3 = icmp ult i32 %6, 238328 + br i1 %cmp3, label %for.body, label %for.end46 + +for.body: ; preds = %for.cond + %arraydecay = getelementptr inbounds [6 x i8], [6 x i8]* %randomness, i64 0, i64 0 + %call4 = call i32 @fillrand(i8* %arraydecay, i32 6) #18 + %conv = zext i32 %call4 to i64 + %cmp5 = icmp ne i64 %conv, 6 + br i1 %cmp5, label %if.then7, label %if.end9 + +if.then7: ; preds = %for.body + %arraydecay8 = getelementptr inbounds [6 x i8], [6 x i8]* %randomness, i64 0, i64 0 + call void @brain_damaged_fillrand(i8* %arraydecay8, i32 6) #18 + br label %if.end9 + +if.end9: ; preds = %if.then7, %for.body + store i32 0, i32* %j, align 4 + br label %for.cond10 + +for.cond10: ; preds = %for.body14, %if.end9 + %7 = load i32, i32* %j, align 4 + %conv11 = sext i32 %7 to i64 + %cmp12 = icmp ult i64 %conv11, 6 + br i1 %cmp12, label %for.body14, label %for.end + +for.body14: ; preds = %for.cond10 + %8 = load i32, i32* %j, align 4 + %idxprom = sext i32 %8 to i64 + %arrayidx = getelementptr inbounds [6 x i8], [6 x i8]* %randomness, i64 0, i64 %idxprom + %9 = load i8, i8* %arrayidx, align 1 + %conv15 = zext i8 %9 to i32 + %rem = srem i32 %conv15, 62 + %idxprom16 = sext i32 %rem to i64 + %arrayidx17 = getelementptr inbounds [63 x i8], [63 x i8]* @letters, i64 0, i64 %idxprom16 + %10 = load i8, i8* %arrayidx17, align 1 + %11 = load i8*, i8** %XXXXXX, align 8 + %12 = load i32, i32* %j, align 4 + %idxprom18 = sext i32 %12 to i64 + %arrayidx19 = getelementptr inbounds i8, i8* %11, i64 %idxprom18 + store i8 %10, i8* %arrayidx19, align 1 + %13 = load i32, i32* %j, align 4 + %inc = add nsw i32 %13, 1 + store i32 %inc, i32* %j, align 4 + br label %for.cond10 + +for.end: ; preds = %for.cond10 + %14 = load i32, i32* %kind.addr, align 4 + br label %NodeBlock5 + +NodeBlock5: ; preds = %for.end + %case.cmp6 = icmp eq i32 %14, 3 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %14, 0 + br i1 %case.cmp4, label %sw.bb29, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %14, 1 + br i1 %case.cmp2, label %sw.bb31, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %14, 2 + br i1 %case.cmp, label %sw.bb33, label %newDefault + +sw.bb: ; preds = %NodeBlock5 + %15 = load i8*, i8** %tmpl.addr, align 8 + %call20 = call i32 bitcast (i32 (i8*, %struct.stat64*)* @stat to i32 (i8*, %struct.stat.192*)*)(i8* %15, %struct.stat.192* %st) #19 + %cmp21 = icmp slt i32 %call20, 0 + br i1 %cmp21, label %if.then23, label %if.else27 + +if.then23: ; preds = %sw.bb + %16 = load i32, i32* @errno, align 4 + %cmp24 = icmp eq i32 %16, 2 + br i1 %cmp24, label %if.then26, label %if.else + +if.then26: ; preds = %if.then23 + store i32 0, i32* %fd, align 4 + br label %restore_and_ret + +if.else: ; preds = %if.then23 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else27: ; preds = %sw.bb + store i32 0, i32* %fd, align 4 + br label %sw.bb29 + +sw.bb29: ; preds = %NodeBlock3, %if.else27 + %17 = load i8*, i8** %tmpl.addr, align 8 + %call30 = call i32 (i8*, i32, ...) @open(i8* %17, i32 194, i32 384) #18 + store i32 %call30, i32* %fd, align 4 + br label %sw.epilog + +sw.bb31: ; preds = %NodeBlock1 + %18 = load i8*, i8** %tmpl.addr, align 8 + %call32 = call i32 (i8*, i32, ...) @open64(i8* %18, i32 194, i32 384) #18 + store i32 %call32, i32* %fd, align 4 + br label %sw.epilog + +sw.bb33: ; preds = %NodeBlock + %19 = load i8*, i8** %tmpl.addr, align 8 + %call34 = call i32 @mkdir(i8* %19, i32 448) #19 + store i32 %call34, i32* %fd, align 4 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i32 -1, i32* %fd, align 4 + br label %sw.epilog + +sw.epilog: ; preds = %sw.default, %sw.bb33, %sw.bb31, %sw.bb29 + %20 = load i32, i32* %fd, align 4 + %cmp35 = icmp sge i32 %20, 0 + br i1 %cmp35, label %restore_and_ret, label %if.else38 + +restore_and_ret: ; preds = %sw.epilog, %if.then26 + %21 = load i32, i32* %save_errno, align 4 + store i32 %21, i32* @errno, align 4 + %22 = load i32, i32* %fd, align 4 + store i32 %22, i32* %retval, align 4 + br label %return + +if.else38: ; preds = %sw.epilog + %23 = load i32, i32* @errno, align 4 + %cmp39 = icmp ne i32 %23, 17 + br i1 %cmp39, label %if.then41, label %for.inc44 + +if.then41: ; preds = %if.else38 + store i32 -1, i32* %retval, align 4 + br label %return + +for.inc44: ; preds = %if.else38 + %24 = load i32, i32* %i, align 4 + %inc45 = add i32 %24, 1 + store i32 %inc45, i32* %i, align 4 + br label %for.cond + +for.end46: ; preds = %for.cond + store i32 17, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %for.end46, %if.then41, %restore_and_ret, %if.else, %if.then + %25 = load i32, i32* %retval, align 4 + ret i32 %25 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @fillrand(i8* %buf, i32 %len) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %len.addr = alloca i32, align 4 + %fd = alloca i32, align 4 + %result = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i32 %len, i32* %len.addr, align 4 + store i32 -1, i32* %result, align 4 + %call = call i32 (i8*, i32, ...) @open(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.4.74, i64 0, i64 0), i32 0) #18 + store i32 %call, i32* %fd, align 4 + %0 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %0, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call1 = call i32 (i8*, i32, ...) @open(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.5.75, i64 0, i64 0), i32 2048) #18 + store i32 %call1, i32* %fd, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i32, i32* %fd, align 4 + %cmp2 = icmp sge i32 %1, 0 + br i1 %cmp2, label %if.then3, label %if.end7 + +if.then3: ; preds = %if.end + %2 = load i32, i32* %fd, align 4 + %3 = load i8*, i8** %buf.addr, align 8 + %4 = load i32, i32* %len.addr, align 4 + %conv = zext i32 %4 to i64 + %call4 = call i64 @read(i32 %2, i8* %3, i64 %conv) #18 + %conv5 = trunc i64 %call4 to i32 + store i32 %conv5, i32* %result, align 4 + %5 = load i32, i32* %fd, align 4 + %call6 = call i32 @close(i32 %5) #18 + br label %if.end7 + +if.end7: ; preds = %if.then3, %if.end + %6 = load i32, i32* %result, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @brain_damaged_fillrand(i8* %buf, i32 %len) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %len.addr = alloca i32, align 4 + %i = alloca i32, align 4 + %k = alloca i32, align 4 + %tv = alloca %struct.timespec, align 8 + %high = alloca i32, align 4 + %low = alloca i32, align 4 + %rh = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i32 %len, i32* %len.addr, align 4 + %call = call i32 bitcast (i32 (%struct.timespec*, i8*)* @gettimeofday to i32 (%struct.timespec*, %struct.__mbstate_t.512*)*)(%struct.timespec* %tv, %struct.__mbstate_t.512* null) #19 + %tv_usec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 1 + %0 = load i64, i64* %tv_usec, align 8 + %shl = shl i64 %0, 16 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %1 = load i64, i64* %tv_sec, align 8 + %xor = xor i64 %shl, %1 + %call1 = call i32 @getpid() #19 + %conv = sext i32 %call1 to i64 + %xor2 = xor i64 %xor, %conv + %2 = load i64, i64* @brain_damaged_fillrand.value, align 8 + %add = add i64 %2, %xor2 + store i64 %add, i64* @brain_damaged_fillrand.value, align 8 + %3 = load i64, i64* @brain_damaged_fillrand.value, align 8 + %and = and i64 %3, 4294967295 + %conv3 = trunc i64 %and to i32 + store i32 %conv3, i32* %low, align 4 + %4 = load i64, i64* @brain_damaged_fillrand.value, align 8 + %shr = lshr i64 %4, 32 + %conv4 = trunc i64 %shr to i32 + store i32 %conv4, i32* %high, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %5 = load i32, i32* %i, align 4 + %6 = load i32, i32* %len.addr, align 4 + %cmp = icmp ult i32 %5, %6 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %7 = load i32, i32* %high, align 4 + %rem = urem i32 %7, 62 + store i32 %rem, i32* %rh, align 4 + %8 = load i32, i32* %high, align 4 + %div = udiv i32 %8, 62 + store i32 %div, i32* %high, align 4 + %9 = load i32, i32* %low, align 4 + %rem6 = urem i32 %9, 62 + %10 = load i32, i32* %rh, align 4 + %mul = mul i32 4, %10 + %add7 = add i32 %rem6, %mul + store i32 %add7, i32* %k, align 4 + %11 = load i32, i32* %low, align 4 + %div8 = udiv i32 %11, 62 + %12 = load i32, i32* %rh, align 4 + %mul9 = mul i32 69273666, %12 + %add10 = add i32 %div8, %mul9 + %13 = load i32, i32* %k, align 4 + %div11 = udiv i32 %13, 62 + %add12 = add i32 %add10, %div11 + store i32 %add12, i32* %low, align 4 + %14 = load i32, i32* %k, align 4 + %rem13 = urem i32 %14, 62 + store i32 %rem13, i32* %k, align 4 + %15 = load i32, i32* %k, align 4 + %idxprom = zext i32 %15 to i64 + %arrayidx = getelementptr inbounds [63 x i8], [63 x i8]* @letters, i64 0, i64 %idxprom + %16 = load i8, i8* %arrayidx, align 1 + %17 = load i8*, i8** %buf.addr, align 8 + %18 = load i32, i32* %i, align 4 + %idxprom14 = zext i32 %18 to i64 + %arrayidx15 = getelementptr inbounds i8, i8* %17, i64 %idxprom14 + store i8 %16, i8* %arrayidx15, align 1 + %19 = load i32, i32* %i, align 4 + %inc = add i32 %19, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + ret void +} + +; Function Attrs: nounwind +declare i32 @getpid() #2 + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_locale_set_l(i8* %p, %struct.__uclibc_locale_struct.201* %base) #0 { +entry: + %retval = alloca i32, align 4 + %p.addr = alloca i8*, align 8 + %base.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %x = alloca i8**, align 8 + %s = alloca i8*, align 8 + %stp = alloca i64*, align 8 + %r = alloca i8*, align 8 + %io = alloca i16*, align 8 + %ii = alloca i16*, align 8 + %d = alloca i8*, align 8 + %row = alloca i32, align 4 + %crow = alloca i32, align 4 + %len = alloca i32, align 4 + %c = alloca i32, align 4 + %i = alloca i32, align 4 + %newcol = alloca %struct.__collate_t.200, align 8 + %c8b = alloca %struct.__codeset_8_bit_t.202*, align 8 + %u = alloca i32, align 4 + %m = alloca i16, align 2 + store i8* %p, i8** %p.addr, align 8 + store %struct.__uclibc_locale_struct.201* %base, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 6 + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 1 + store i8* %add.ptr, i8** %s, align 8 + store i32 0, i32* %i, align 4 + %1 = load i8*, i8** %p.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %1, i32 1 + store i8* %incdec.ptr, i8** %p.addr, align 8 + %index2weight = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %newcol, i32 0, i32 23 + store i16* null, i16** %index2weight, align 8 + %2 = load i8*, i8** %p.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %2, i64 8 + %3 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %3 to i32 + %4 = load i8*, i8** %s, align 8 + %arrayidx1 = getelementptr inbounds i8, i8* %4, i64 8 + %5 = load i8, i8* %arrayidx1, align 1 + %conv2 = zext i8 %5 to i32 + %cmp = icmp ne i32 %conv, %conv2 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %6 = load i8*, i8** %p.addr, align 8 + %arrayidx4 = getelementptr inbounds i8, i8* %6, i64 9 + %7 = load i8, i8* %arrayidx4, align 1 + %conv5 = zext i8 %7 to i32 + %8 = load i8*, i8** %s, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %8, i64 9 + %9 = load i8, i8* %arrayidx6, align 1 + %conv7 = zext i8 %9 to i32 + %cmp8 = icmp ne i32 %conv5, %conv7 + br i1 %cmp8, label %if.then, label %if.end22 + +if.then: ; preds = %lor.lhs.false, %entry + %10 = load i8*, i8** %p.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv10 = zext i8 %11 to i32 + %and = and i32 %conv10, 127 + %shl = shl i32 %and, 7 + %12 = load i8*, i8** %p.addr, align 8 + %arrayidx11 = getelementptr inbounds i8, i8* %12, i64 1 + %13 = load i8, i8* %arrayidx11, align 1 + %conv12 = zext i8 %13 to i32 + %and13 = and i32 %conv12, 127 + %add = add nsw i32 %shl, %and13 + store i32 %add, i32* %row, align 4 + %14 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %14, i32 0, i32 31 + %15 = load i32, i32* %row, align 4 + %mul = mul nsw i32 9, %15 + %add14 = add nsw i32 %mul, 3 + %add15 = add nsw i32 %add14, 4 + %idxprom = sext i32 %add15 to i64 + %arrayidx16 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales, i64 0, i64 %idxprom + %16 = load i8, i8* %arrayidx16, align 1 + %conv17 = zext i8 %16 to i32 + %call = call i32 @init_cur_collate(i32 %conv17, %struct.__collate_t.200* %newcol) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end, label %if.then18 + +if.then18: ; preds = %if.then + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %if.then + %17 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %collate = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %17, i32 0, i32 118 + %index2weight19 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate, i32 0, i32 23 + %18 = load i16*, i16** %index2weight19, align 8 + %19 = bitcast i16* %18 to i8* + call void @free(i8* %19) #19 + %20 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %collate20 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %20, i32 0, i32 118 + %21 = bitcast %struct.__collate_t.200* %collate20 to i8* + %22 = bitcast %struct.__collate_t.200* %newcol to i8* + %call21 = call i8* @memcpy(i8* %21, i8* %22, i64 112) #19 + br label %if.end22 + +if.end22: ; preds = %if.end, %lor.lhs.false + br label %do.body + +do.body: ; preds = %if.end313, %if.end22 + %23 = load i8*, i8** %p.addr, align 8 + %24 = load i8, i8* %23, align 1 + %conv23 = zext i8 %24 to i32 + %25 = load i8*, i8** %s, align 8 + %26 = load i8, i8* %25, align 1 + %conv24 = zext i8 %26 to i32 + %cmp25 = icmp ne i32 %conv23, %conv24 + br i1 %cmp25, label %if.then34, label %lor.lhs.false27 + +lor.lhs.false27: ; preds = %do.body + %27 = load i8*, i8** %p.addr, align 8 + %arrayidx28 = getelementptr inbounds i8, i8* %27, i64 1 + %28 = load i8, i8* %arrayidx28, align 1 + %conv29 = zext i8 %28 to i32 + %29 = load i8*, i8** %s, align 8 + %arrayidx30 = getelementptr inbounds i8, i8* %29, i64 1 + %30 = load i8, i8* %arrayidx30, align 1 + %conv31 = zext i8 %30 to i32 + %cmp32 = icmp ne i32 %conv29, %conv31 + br i1 %cmp32, label %if.then34, label %if.end313 + +if.then34: ; preds = %lor.lhs.false27, %do.body + %31 = load i8*, i8** %p.addr, align 8 + %32 = load i8, i8* %31, align 1 + %conv35 = zext i8 %32 to i32 + %and36 = and i32 %conv35, 127 + %shl37 = shl i32 %and36, 7 + %33 = load i8*, i8** %p.addr, align 8 + %arrayidx38 = getelementptr inbounds i8, i8* %33, i64 1 + %34 = load i8, i8* %arrayidx38, align 1 + %conv39 = zext i8 %34 to i32 + %and40 = and i32 %conv39, 127 + %add41 = add nsw i32 %shl37, %and40 + store i32 %add41, i32* %row, align 4 + %35 = load i8*, i8** %p.addr, align 8 + %36 = load i8, i8* %35, align 1 + %37 = load i8*, i8** %s, align 8 + store i8 %36, i8* %37, align 1 + %38 = load i8*, i8** %p.addr, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %38, i64 1 + %39 = load i8, i8* %arrayidx42, align 1 + %40 = load i8*, i8** %s, align 8 + %arrayidx43 = getelementptr inbounds i8, i8* %40, i64 1 + store i8 %39, i8* %arrayidx43, align 1 + %41 = load i32, i32* %i, align 4 + %cmp44 = icmp ne i32 %41, 4 + br i1 %cmp44, label %land.lhs.true, label %if.end92 + +land.lhs.true: ; preds = %if.then34 + %42 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_common_item_offsets_LEN = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %42, i32 0, i32 29 + %43 = load i32, i32* %i, align 4 + %idxprom46 = sext i32 %43 to i64 + %arrayidx47 = getelementptr inbounds [6 x i8], [6 x i8]* %lc_common_item_offsets_LEN, i64 0, i64 %idxprom46 + %44 = load i8, i8* %arrayidx47, align 1 + %conv48 = zext i8 %44 to i32 + store i32 %conv48, i32* %len, align 4 + %cmp49 = icmp ne i32 %conv48, 0 + br i1 %cmp49, label %if.then51, label %if.end92 + +if.then51: ; preds = %land.lhs.true + %45 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales52 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %45, i32 0, i32 31 + %46 = load i32, i32* %row, align 4 + %mul53 = mul nsw i32 9, %46 + %add54 = add nsw i32 %mul53, 3 + %47 = load i32, i32* %i, align 4 + %add55 = add nsw i32 %add54, %47 + %idxprom56 = sext i32 %add55 to i64 + %arrayidx57 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales52, i64 0, i64 %idxprom56 + %48 = load i8, i8* %arrayidx57, align 1 + %conv58 = zext i8 %48 to i32 + %49 = load i32, i32* %len, align 4 + %mul59 = mul nsw i32 %conv58, %49 + store i32 %mul59, i32* %crow, align 4 + %50 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %51 = bitcast %struct.__uclibc_locale_struct.201* %50 to i8* + %52 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %52, i32 0, i32 7 + %53 = load i32, i32* %i, align 4 + %idxprom60 = sext i32 %53 to i64 + %arrayidx61 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets, i64 0, i64 %idxprom60 + %54 = load i16, i16* %arrayidx61, align 2 + %conv62 = zext i16 %54 to i32 + %idx.ext = sext i32 %conv62 to i64 + %add.ptr63 = getelementptr inbounds i8, i8* %51, i64 %idx.ext + %55 = bitcast i8* %add.ptr63 to i8** + store i8** %55, i8*** %x, align 8 + %56 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_common_tbl_offsets = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %56, i32 0, i32 30 + %arraydecay64 = getelementptr inbounds [24 x i64], [24 x i64]* %lc_common_tbl_offsets, i64 0, i64 0 + %57 = load i32, i32* %i, align 4 + %mul65 = mul nsw i32 4, %57 + %idx.ext66 = sext i32 %mul65 to i64 + %add.ptr67 = getelementptr inbounds i64, i64* %arraydecay64, i64 %idx.ext66 + store i64* %add.ptr67, i64** %stp, align 8 + %58 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %59 = bitcast %struct.__locale_mmap_t.203* %58 to i8* + %60 = load i64*, i64** %stp, align 8 + %61 = load i64, i64* %60, align 8 + %add.ptr68 = getelementptr inbounds i8, i8* %59, i64 %61 + store i8* %add.ptr68, i8** %r, align 8 + %62 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %63 = bitcast %struct.__locale_mmap_t.203* %62 to i8* + %64 = load i64*, i64** %stp, align 8 + %incdec.ptr69 = getelementptr inbounds i64, i64* %64, i32 1 + store i64* %incdec.ptr69, i64** %stp, align 8 + %65 = load i64, i64* %incdec.ptr69, align 8 + %add.ptr70 = getelementptr inbounds i8, i8* %63, i64 %65 + %66 = bitcast i8* %add.ptr70 to i16* + store i16* %66, i16** %io, align 8 + %67 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %68 = bitcast %struct.__locale_mmap_t.203* %67 to i8* + %69 = load i64*, i64** %stp, align 8 + %incdec.ptr71 = getelementptr inbounds i64, i64* %69, i32 1 + store i64* %incdec.ptr71, i64** %stp, align 8 + %70 = load i64, i64* %incdec.ptr71, align 8 + %add.ptr72 = getelementptr inbounds i8, i8* %68, i64 %70 + %71 = bitcast i8* %add.ptr72 to i16* + store i16* %71, i16** %ii, align 8 + %72 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %73 = bitcast %struct.__locale_mmap_t.203* %72 to i8* + %74 = load i64*, i64** %stp, align 8 + %incdec.ptr73 = getelementptr inbounds i64, i64* %74, i32 1 + store i64* %incdec.ptr73, i64** %stp, align 8 + %75 = load i64, i64* %incdec.ptr73, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %73, i64 %75 + store i8* %add.ptr74, i8** %d, align 8 + store i32 0, i32* %c, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.then51 + %76 = load i32, i32* %c, align 4 + %77 = load i32, i32* %len, align 4 + %cmp75 = icmp slt i32 %76, %77 + br i1 %cmp75, label %for.body, label %if.end92 + +for.body: ; preds = %for.cond + %78 = load i8*, i8** %d, align 8 + %79 = load i16*, i16** %ii, align 8 + %80 = load i8*, i8** %r, align 8 + %81 = load i32, i32* %crow, align 4 + %82 = load i32, i32* %c, align 4 + %add77 = add nsw i32 %81, %82 + %idxprom78 = sext i32 %add77 to i64 + %arrayidx79 = getelementptr inbounds i8, i8* %80, i64 %idxprom78 + %83 = load i8, i8* %arrayidx79, align 1 + %conv80 = zext i8 %83 to i32 + %84 = load i16*, i16** %io, align 8 + %85 = load i32, i32* %c, align 4 + %idxprom81 = sext i32 %85 to i64 + %arrayidx82 = getelementptr inbounds i16, i16* %84, i64 %idxprom81 + %86 = load i16, i16* %arrayidx82, align 2 + %conv83 = zext i16 %86 to i32 + %add84 = add nsw i32 %conv80, %conv83 + %idxprom85 = sext i32 %add84 to i64 + %arrayidx86 = getelementptr inbounds i16, i16* %79, i64 %idxprom85 + %87 = load i16, i16* %arrayidx86, align 2 + %conv87 = zext i16 %87 to i32 + %idx.ext88 = sext i32 %conv87 to i64 + %add.ptr89 = getelementptr inbounds i8, i8* %78, i64 %idx.ext88 + %88 = load i8**, i8*** %x, align 8 + %89 = load i32, i32* %c, align 4 + %idx.ext90 = sext i32 %89 to i64 + %add.ptr91 = getelementptr inbounds i8*, i8** %88, i64 %idx.ext90 + store i8* %add.ptr89, i8** %add.ptr91, align 8 + %90 = load i32, i32* %c, align 4 + %inc = add nsw i32 %90, 1 + store i32 %inc, i32* %c, align 4 + br label %for.cond + +if.end92: ; preds = %for.cond, %land.lhs.true, %if.then34 + %91 = load i32, i32* %i, align 4 + %cmp93 = icmp eq i32 %91, 0 + br i1 %cmp93, label %if.then95, label %if.else295 + +if.then95: ; preds = %if.end92 + %92 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales96 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %92, i32 0, i32 31 + %93 = load i32, i32* %row, align 4 + %mul97 = mul nsw i32 9, %93 + %add98 = add nsw i32 %mul97, 2 + %idxprom99 = sext i32 %add98 to i64 + %arrayidx100 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales96, i64 0, i64 %idxprom99 + %94 = load i8, i8* %arrayidx100, align 1 + %conv101 = zext i8 %94 to i32 + store i32 %conv101, i32* %c, align 4 + %95 = load i32, i32* %c, align 4 + %cmp102 = icmp sle i32 %95, 2 + br i1 %cmp102, label %if.then104, label %if.else112 + +if.then104: ; preds = %if.then95 + %96 = load i32, i32* %c, align 4 + %cmp105 = icmp eq i32 %96, 2 + %97 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %codeset = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %97, i32 0, i32 38 + br i1 %cmp105, label %if.then107, label %if.else + +if.then107: ; preds = %if.then104 + store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf8, i64 0, i64 0), i8** %codeset, align 8 + %98 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %98, i32 0, i32 9 + store i8 1, i8* %encoding, align 8 + %99 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %mb_cur_max = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %99, i32 0, i32 10 + store i8 6, i8* %mb_cur_max, align 1 + br label %if.end280 + +if.else: ; preds = %if.then104 + store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @ascii, i64 0, i64 0), i8** %codeset, align 8 + %100 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %encoding109 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %100, i32 0, i32 9 + store i8 0, i8* %encoding109, align 8 + %101 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %mb_cur_max110 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %101, i32 0, i32 10 + store i8 1, i8* %mb_cur_max110, align 1 + br label %if.end280 + +if.else112: ; preds = %if.then95 + %102 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %102, i32 0, i32 35 + %arraydecay113 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list, i64 0, i64 0 + store i8* %arraydecay113, i8** %r, align 8 + %103 = load i8*, i8** %r, align 8 + %104 = load i8*, i8** %r, align 8 + %105 = load i32, i32* %c, align 4 + %sub = sub nsw i32 %105, 3 + store i32 %sub, i32* %c, align 4 + %idxprom114 = sext i32 %sub to i64 + %arrayidx115 = getelementptr inbounds i8, i8* %104, i64 %idxprom114 + %106 = load i8, i8* %arrayidx115, align 1 + %conv116 = zext i8 %106 to i32 + %idx.ext117 = sext i32 %conv116 to i64 + %add.ptr118 = getelementptr inbounds i8, i8* %103, i64 %idx.ext117 + %107 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %codeset119 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %107, i32 0, i32 38 + store i8* %add.ptr118, i8** %codeset119, align 8 + %108 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %encoding120 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %108, i32 0, i32 9 + store i8 2, i8* %encoding120, align 8 + %109 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %mb_cur_max121 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %109, i32 0, i32 10 + store i8 1, i8* %mb_cur_max121, align 1 + %110 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_8_bit = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %110, i32 0, i32 12 + %arraydecay122 = getelementptr inbounds [23 x %struct.__codeset_8_bit_t.202], [23 x %struct.__codeset_8_bit_t.202]* %codeset_8_bit, i64 0, i64 0 + %111 = load i32, i32* %c, align 4 + %idx.ext123 = sext i32 %111 to i64 + %add.ptr124 = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %arraydecay122, i64 %idx.ext123 + store %struct.__codeset_8_bit_t.202* %add.ptr124, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %112 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8ctype = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %112, i32 0, i32 0 + %arraydecay125 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8ctype, i64 0, i64 0 + %113 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8ctype126 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %113, i32 0, i32 12 + store i8* %arraydecay125, i8** %idx8ctype126, align 8 + %114 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8uplow = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %114, i32 0, i32 1 + %arraydecay127 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8uplow, i64 0, i64 0 + %115 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8uplow128 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %115, i32 0, i32 14 + store i8* %arraydecay127, i8** %idx8uplow128, align 8 + %116 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8c2wc = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %116, i32 0, i32 2 + %arraydecay129 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8c2wc, i64 0, i64 0 + %117 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8c2wc130 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %117, i32 0, i32 16 + store i8* %arraydecay129, i8** %idx8c2wc130, align 8 + %118 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8wc2c = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %118, i32 0, i32 3 + %arraydecay131 = getelementptr inbounds [38 x i8], [38 x i8]* %idx8wc2c, i64 0, i64 0 + %119 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8wc2c132 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %119, i32 0, i32 18 + store i8* %arraydecay131, i8** %idx8wc2c132, align 8 + %120 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b_data = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %120, i32 0, i32 3 + %arraydecay133 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data, i64 0, i64 0 + %121 = bitcast i16* %arraydecay133 to i8* + %122 = load i16*, i16** @__C_ctype_b, align 8 + %add.ptr134 = getelementptr inbounds i16, i16* %122, i64 -128 + %123 = bitcast i16* %add.ptr134 to i8* + %call135 = call i8* @memcpy(i8* %121, i8* %123, i64 768) #19 + %124 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %124, i32 0, i32 4 + %arraydecay136 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data, i64 0, i64 0 + %125 = bitcast i16* %arraydecay136 to i8* + %126 = load i16*, i16** @__C_ctype_tolower, align 8 + %add.ptr137 = getelementptr inbounds i16, i16* %126, i64 -128 + %127 = bitcast i16* %add.ptr137 to i8* + %call138 = call i8* @memcpy(i8* %125, i8* %127, i64 768) #19 + %128 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %128, i32 0, i32 5 + %arraydecay139 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data, i64 0, i64 0 + %129 = bitcast i16* %arraydecay139 to i8* + %130 = load i16*, i16** @__C_ctype_toupper, align 8 + %add.ptr140 = getelementptr inbounds i16, i16* %130, i64 -128 + %131 = bitcast i16* %add.ptr140 to i8* + %call141 = call i8* @memcpy(i8* %129, i8* %131, i64 768) #19 + store i32 0, i32* %u, align 4 + br label %for.cond142 + +for.cond142: ; preds = %for.inc268, %if.else112 + %132 = load i32, i32* %u, align 4 + %cmp143 = icmp slt i32 %132, 128 + %133 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + br i1 %cmp143, label %for.body145, label %for.end270 + +for.body145: ; preds = %for.cond142 + %tbl8ctype = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %133, i32 0, i32 13 + %134 = load i8*, i8** %tbl8ctype, align 8 + %135 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8ctype146 = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %135, i32 0, i32 0 + %136 = load i32, i32* %u, align 4 + %shr = ashr i32 %136, 3 + %idxprom147 = sext i32 %shr to i64 + %arrayidx148 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8ctype146, i64 0, i64 %idxprom147 + %137 = load i8, i8* %arrayidx148, align 1 + %conv149 = zext i8 %137 to i32 + %shl150 = shl i32 %conv149, 2 + %138 = load i32, i32* %u, align 4 + %and151 = and i32 %138, 7 + %shr152 = ashr i32 %and151, 1 + %add153 = add nsw i32 %shl150, %shr152 + %idxprom154 = sext i32 %add153 to i64 + %arrayidx155 = getelementptr inbounds i8, i8* %134, i64 %idxprom154 + %139 = load i8, i8* %arrayidx155, align 1 + %conv156 = zext i8 %139 to i32 + store i32 %conv156, i32* %c, align 4 + %140 = load i32, i32* %u, align 4 + %and157 = and i32 %140, 1 + %tobool158 = icmp ne i32 %and157, 0 + %141 = load i32, i32* %c, align 4 + %shr159 = ashr i32 %141, 4 + %and160 = and i32 %141, 15 + %cond = select i1 %tobool158, i32 %shr159, i32 %and160 + store i32 %cond, i32* %c, align 4 + %142 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %code2flag = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %142, i32 0, i32 20 + %143 = load i16*, i16** %code2flag, align 8 + %144 = load i32, i32* %c, align 4 + %idxprom161 = sext i32 %144 to i64 + %arrayidx162 = getelementptr inbounds i16, i16* %143, i64 %idxprom161 + %145 = load i16, i16* %arrayidx162, align 2 + store i16 %145, i16* %m, align 2 + %146 = load i16, i16* %m, align 2 + %147 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b_data163 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %147, i32 0, i32 3 + %148 = load i32, i32* %u, align 4 + %add164 = add nsw i32 256, %148 + %idxprom165 = sext i32 %add164 to i64 + %arrayidx166 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data163, i64 0, i64 %idxprom165 + store i16 %146, i16* %arrayidx166, align 2 + %149 = load i32, i32* %u, align 4 + %add167 = add nsw i32 128, %149 + %conv168 = trunc i32 %add167 to i8 + %conv169 = sext i8 %conv168 to i32 + %cmp170 = icmp ne i32 %conv169, -1 + br i1 %cmp170, label %if.then172, label %if.end180 + +if.then172: ; preds = %for.body145 + %150 = load i16, i16* %m, align 2 + %151 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b_data173 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %151, i32 0, i32 3 + %152 = load i32, i32* %u, align 4 + %add174 = add nsw i32 128, %152 + %conv175 = trunc i32 %add174 to i8 + %conv176 = sext i8 %conv175 to i32 + %add177 = add nsw i32 128, %conv176 + %idxprom178 = sext i32 %add177 to i64 + %arrayidx179 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data173, i64 0, i64 %idxprom178 + store i16 %150, i16* %arrayidx179, align 2 + br label %if.end180 + +if.end180: ; preds = %if.then172, %for.body145 + %153 = load i32, i32* %u, align 4 + %add181 = add nsw i32 128, %153 + %conv182 = trunc i32 %add181 to i16 + %154 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data183 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %154, i32 0, i32 4 + %155 = load i32, i32* %u, align 4 + %add184 = add nsw i32 256, %155 + %idxprom185 = sext i32 %add184 to i64 + %arrayidx186 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data183, i64 0, i64 %idxprom185 + store i16 %conv182, i16* %arrayidx186, align 2 + %156 = load i32, i32* %u, align 4 + %add187 = add nsw i32 128, %156 + %conv188 = trunc i32 %add187 to i16 + %157 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data189 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %157, i32 0, i32 5 + %158 = load i32, i32* %u, align 4 + %add190 = add nsw i32 256, %158 + %idxprom191 = sext i32 %add190 to i64 + %arrayidx192 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data189, i64 0, i64 %idxprom191 + store i16 %conv188, i16* %arrayidx192, align 2 + %159 = load i16, i16* %m, align 2 + %conv193 = zext i16 %159 to i32 + %and194 = and i32 %conv193, 768 + %tobool195 = icmp ne i32 %and194, 0 + br i1 %tobool195, label %if.then196, label %for.inc268 + +if.then196: ; preds = %if.end180 + %160 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8uplow = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %160, i32 0, i32 15 + %161 = load i8*, i8** %tbl8uplow, align 8 + %162 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8uplow197 = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %162, i32 0, i32 1 + %163 = load i32, i32* %u, align 4 + %shr198 = ashr i32 %163, 3 + %idxprom199 = sext i32 %shr198 to i64 + %arrayidx200 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8uplow197, i64 0, i64 %idxprom199 + %164 = load i8, i8* %arrayidx200, align 1 + %conv201 = zext i8 %164 to i32 + %shl202 = shl i32 %conv201, 3 + %165 = load i32, i32* %u, align 4 + %add203 = add nsw i32 128, %165 + %and204 = and i32 %add203, 7 + %add205 = add nsw i32 %shl202, %and204 + %idxprom206 = sext i32 %add205 to i64 + %arrayidx207 = getelementptr inbounds i8, i8* %161, i64 %idxprom206 + %166 = load i8, i8* %arrayidx207, align 1 + %conv208 = zext i8 %166 to i32 + store i32 %conv208, i32* %c, align 4 + %167 = load i16, i16* %m, align 2 + %conv209 = zext i16 %167 to i32 + %and210 = and i32 %conv209, 512 + %tobool211 = icmp ne i32 %and210, 0 + %168 = load i32, i32* %u, align 4 + %add213 = add nsw i32 128, %168 + %169 = load i32, i32* %c, align 4 + br i1 %tobool211, label %if.then212, label %if.else239 + +if.then212: ; preds = %if.then196 + %add214 = add nsw i32 %add213, %169 + %conv215 = trunc i32 %add214 to i8 + %conv216 = zext i8 %conv215 to i16 + %170 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data217 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %170, i32 0, i32 5 + %171 = load i32, i32* %u, align 4 + %add218 = add nsw i32 256, %171 + %idxprom219 = sext i32 %add218 to i64 + %arrayidx220 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data217, i64 0, i64 %idxprom219 + store i16 %conv216, i16* %arrayidx220, align 2 + %172 = load i32, i32* %u, align 4 + %add221 = add nsw i32 128, %172 + %conv222 = trunc i32 %add221 to i8 + %conv223 = sext i8 %conv222 to i32 + %cmp224 = icmp ne i32 %conv223, -1 + br i1 %cmp224, label %if.then226, label %for.inc268 + +if.then226: ; preds = %if.then212 + %173 = load i32, i32* %u, align 4 + %add227 = add nsw i32 128, %173 + %174 = load i32, i32* %c, align 4 + %add228 = add nsw i32 %add227, %174 + %conv229 = trunc i32 %add228 to i8 + %conv230 = zext i8 %conv229 to i16 + %175 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data231 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %175, i32 0, i32 5 + %176 = load i32, i32* %u, align 4 + %add232 = add nsw i32 128, %176 + %conv233 = trunc i32 %add232 to i8 + %conv234 = sext i8 %conv233 to i32 + %add235 = add nsw i32 128, %conv234 + %idxprom236 = sext i32 %add235 to i64 + %arrayidx237 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data231, i64 0, i64 %idxprom236 + store i16 %conv230, i16* %arrayidx237, align 2 + br label %for.inc268 + +if.else239: ; preds = %if.then196 + %sub241 = sub nsw i32 %add213, %169 + %conv242 = trunc i32 %sub241 to i8 + %conv243 = zext i8 %conv242 to i16 + %177 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data244 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %177, i32 0, i32 4 + %178 = load i32, i32* %u, align 4 + %add245 = add nsw i32 256, %178 + %idxprom246 = sext i32 %add245 to i64 + %arrayidx247 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data244, i64 0, i64 %idxprom246 + store i16 %conv243, i16* %arrayidx247, align 2 + %179 = load i32, i32* %u, align 4 + %add248 = add nsw i32 128, %179 + %conv249 = trunc i32 %add248 to i8 + %conv250 = sext i8 %conv249 to i32 + %cmp251 = icmp ne i32 %conv250, -1 + br i1 %cmp251, label %if.then253, label %for.inc268 + +if.then253: ; preds = %if.else239 + %180 = load i32, i32* %u, align 4 + %add254 = add nsw i32 128, %180 + %181 = load i32, i32* %c, align 4 + %sub255 = sub nsw i32 %add254, %181 + %conv256 = trunc i32 %sub255 to i8 + %conv257 = zext i8 %conv256 to i16 + %182 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data258 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %182, i32 0, i32 4 + %183 = load i32, i32* %u, align 4 + %add259 = add nsw i32 128, %183 + %conv260 = trunc i32 %add259 to i8 + %conv261 = sext i8 %conv260 to i32 + %add262 = add nsw i32 128, %conv261 + %idxprom263 = sext i32 %add262 to i64 + %arrayidx264 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data258, i64 0, i64 %idxprom263 + store i16 %conv257, i16* %arrayidx264, align 2 + br label %for.inc268 + +for.inc268: ; preds = %if.end180, %if.else239, %if.then253, %if.then212, %if.then226 + %184 = load i32, i32* %u, align 4 + %inc269 = add nsw i32 %184, 1 + store i32 %inc269, i32* %u, align 4 + br label %for.cond142 + +for.end270: ; preds = %for.cond142 + %__ctype_b_data271 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %133, i32 0, i32 3 + %arraydecay272 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data271, i64 0, i64 0 + %add.ptr273 = getelementptr inbounds i16, i16* %arraydecay272, i64 128 + %185 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %185, i32 0, i32 0 + store i16* %add.ptr273, i16** %__ctype_b, align 8 + %186 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data274 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %186, i32 0, i32 4 + %arraydecay275 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data274, i64 0, i64 0 + %add.ptr276 = getelementptr inbounds i16, i16* %arraydecay275, i64 128 + %187 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %187, i32 0, i32 1 + store i16* %add.ptr276, i16** %__ctype_tolower, align 8 + %188 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data277 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %188, i32 0, i32 5 + %arraydecay278 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data277, i64 0, i64 0 + %add.ptr279 = getelementptr inbounds i16, i16* %arraydecay278, i64 128 + %189 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %189, i32 0, i32 2 + store i16* %add.ptr279, i16** %__ctype_toupper, align 8 + br label %if.end280 + +if.end280: ; preds = %if.then107, %if.else, %for.end270 + %190 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %outdigit_length = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %190, i32 0, i32 11 + %arraydecay281 = getelementptr inbounds [10 x i8], [10 x i8]* %outdigit_length, i64 0, i64 0 + store i8* %arraydecay281, i8** %d, align 8 + %191 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %outdigit0_mb = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %191, i32 0, i32 28 + store i8** %outdigit0_mb, i8*** %x, align 8 + store i32 0, i32* %c, align 4 + br label %for.cond282 + +for.cond282: ; preds = %for.body285, %if.end280 + %192 = load i32, i32* %c, align 4 + %cmp283 = icmp slt i32 %192, 10 + br i1 %cmp283, label %for.body285, label %if.end313 + +for.body285: ; preds = %for.cond282 + %193 = load i8**, i8*** %x, align 8 + %194 = load i32, i32* %c, align 4 + %idxprom286 = sext i32 %194 to i64 + %arrayidx287 = getelementptr inbounds i8*, i8** %193, i64 %idxprom286 + %195 = load i8*, i8** %arrayidx287, align 8 + %call288 = call i64 @strlen(i8* %195) #20 + %conv289 = trunc i64 %call288 to i8 + %196 = load i8*, i8** %d, align 8 + %197 = load i32, i32* %c, align 4 + %idxprom290 = sext i32 %197 to i64 + %arrayidx291 = getelementptr inbounds i8, i8* %196, i64 %idxprom290 + store i8 %conv289, i8* %arrayidx291, align 1 + %198 = load i32, i32* %c, align 4 + %inc293 = add nsw i32 %198, 1 + store i32 %inc293, i32* %c, align 4 + br label %for.cond282 + +if.else295: ; preds = %if.end92 + %199 = load i32, i32* %i, align 4 + %cmp296 = icmp eq i32 %199, 1 + br i1 %cmp296, label %if.then298, label %if.end313 + +if.then298: ; preds = %if.else295 + %200 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %decimal_point_wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %200, i32 0, i32 24 + %201 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %decimal_point = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %201, i32 0, i32 39 + %202 = load i8*, i8** %decimal_point, align 8 + %203 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call299 = call i32 @__locale_mbrtowc_l(i32* %decimal_point_wc, i8* %202, %struct.__uclibc_locale_struct.201* %203) #18 + %204 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %decimal_point_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %204, i32 0, i32 26 + store i32 %call299, i32* %decimal_point_len, align 8 + %205 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %grouping = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %205, i32 0, i32 41 + %206 = load i8*, i8** %grouping, align 8 + %207 = load i8, i8* %206, align 1 + %tobool300 = icmp ne i8 %207, 0 + br i1 %tobool300, label %if.then301, label %if.end313 + +if.then301: ; preds = %if.then298 + %208 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep_wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %208, i32 0, i32 25 + %209 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %209, i32 0, i32 40 + %210 = load i8*, i8** %thousands_sep, align 8 + %211 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call302 = call i32 @__locale_mbrtowc_l(i32* %thousands_sep_wc, i8* %210, %struct.__uclibc_locale_struct.201* %211) #18 + %212 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %212, i32 0, i32 27 + store i32 %call302, i32* %thousands_sep_len, align 4 + %213 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep_len303 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %213, i32 0, i32 27 + %214 = load i32, i32* %thousands_sep_len303, align 4 + %cmp304 = icmp eq i32 %214, 0 + br i1 %cmp304, label %if.then306, label %if.end313 + +if.then306: ; preds = %if.then301 + %215 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep307 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %215, i32 0, i32 40 + %216 = load i8*, i8** %thousands_sep307, align 8 + %217 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %grouping308 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %217, i32 0, i32 41 + store i8* %216, i8** %grouping308, align 8 + br label %if.end313 + +if.end313: ; preds = %for.cond282, %if.then298, %if.then306, %if.then301, %if.else295, %lor.lhs.false27 + %218 = load i32, i32* %i, align 4 + %inc314 = add nsw i32 %218, 1 + store i32 %inc314, i32* %i, align 4 + %219 = load i8*, i8** %p.addr, align 8 + %add.ptr315 = getelementptr inbounds i8, i8* %219, i64 2 + store i8* %add.ptr315, i8** %p.addr, align 8 + %220 = load i8*, i8** %s, align 8 + %add.ptr316 = getelementptr inbounds i8, i8* %220, i64 2 + store i8* %add.ptr316, i8** %s, align 8 + %221 = load i32, i32* %i, align 4 + %cmp317 = icmp slt i32 %221, 6 + br i1 %cmp317, label %do.body, label %do.end + +do.end: ; preds = %if.end313 + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end, %if.then18 + %222 = load i32, i32* %retval, align 4 + ret i32 %222 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @init_cur_collate(i32 %der_num, %struct.__collate_t.200* %cur_collate) #0 { +entry: + %retval = alloca i32, align 4 + %der_num.addr = alloca i32, align 4 + %cur_collate.addr = alloca %struct.__collate_t.200*, align 8 + %__locale_collate_tbl = alloca i16*, align 8 + %cdh = alloca %struct.coldata_header_t*, align 8 + %cdb = alloca %struct.coldata_base_t*, align 8 + %cdd = alloca %struct.winsize*, align 8 + %p = alloca i16*, align 8 + %n = alloca i64, align 8 + %i = alloca i16, align 2 + %w = alloca i16, align 2 + store i32 %der_num, i32* %der_num.addr, align 4 + store %struct.__collate_t.200* %cur_collate, %struct.__collate_t.200** %cur_collate.addr, align 8 + %0 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %collate_data = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %0, i32 0, i32 28 + %arraydecay = getelementptr inbounds [91141 x i16], [91141 x i16]* %collate_data, i64 0, i64 0 + store i16* %arraydecay, i16** %__locale_collate_tbl, align 8 + %1 = load i32, i32* %der_num.addr, align 4 + %tobool = icmp ne i32 %1, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %2 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %num_weights = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %2, i32 0, i32 0 + store i16 0, i16* %num_weights, align 8 + store i32 1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* %der_num.addr, align 4 + %dec = add nsw i32 %3, -1 + store i32 %dec, i32* %der_num.addr, align 4 + %4 = load i16*, i16** %__locale_collate_tbl, align 8 + %5 = bitcast i16* %4 to %struct.coldata_header_t* + store %struct.coldata_header_t* %5, %struct.coldata_header_t** %cdh, align 8 + %6 = load i16*, i16** %__locale_collate_tbl, align 8 + %7 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_base = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %7, i32 0, i32 0 + %8 = load i16, i16* %num_base, align 2 + %conv = zext i16 %8 to i64 + %mul = mul i64 %conv, 38 + %add = add i64 16, %mul + %9 = load i32, i32* %der_num.addr, align 4 + %conv1 = sext i32 %9 to i64 + %mul2 = mul i64 %conv1, 8 + %add3 = add i64 %add, %mul2 + %div = udiv i64 %add3, 2 + %add.ptr = getelementptr inbounds i16, i16* %6, i64 %div + %10 = bitcast i16* %add.ptr to %struct.winsize* + store %struct.winsize* %10, %struct.winsize** %cdd, align 8 + %11 = load i16*, i16** %__locale_collate_tbl, align 8 + %12 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %base_idx = getelementptr inbounds %struct.winsize, %struct.winsize* %12, i32 0, i32 0 + %13 = load i16, i16* %base_idx, align 2 + %conv4 = zext i16 %13 to i64 + %mul5 = mul i64 %conv4, 38 + %add6 = add i64 16, %mul5 + %div7 = udiv i64 %add6, 2 + %add.ptr8 = getelementptr inbounds i16, i16* %11, i64 %div7 + %14 = bitcast i16* %add.ptr8 to %struct.coldata_base_t* + store %struct.coldata_base_t* %14, %struct.coldata_base_t** %cdb, align 8 + %15 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %16 = bitcast %struct.__collate_t.200* %15 to i8* + %17 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %18 = bitcast %struct.coldata_base_t* %17 to i8* + %call = call i8* @memcpy(i8* %16, i8* %18, i64 28) #19 + %19 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %undefined_idx = getelementptr inbounds %struct.winsize, %struct.winsize* %19, i32 0, i32 1 + %20 = load i16, i16* %undefined_idx, align 2 + %21 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %undefined_idx9 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %21, i32 0, i32 9 + store i16 %20, i16* %undefined_idx9, align 2 + %22 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ti_shift = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %22, i32 0, i32 3 + %23 = load i16, i16* %ti_shift, align 2 + %conv10 = zext i16 %23 to i32 + %shl = shl i32 1, %conv10 + %sub = sub nsw i32 %shl, 1 + %conv11 = trunc i32 %sub to i16 + %24 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ti_mask = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %24, i32 0, i32 15 + store i16 %conv11, i16* %ti_mask, align 2 + %25 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ii_shift = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %25, i32 0, i32 2 + %26 = load i16, i16* %ii_shift, align 4 + %conv12 = zext i16 %26 to i32 + %shl13 = shl i32 1, %conv12 + %sub14 = sub nsw i32 %shl13, 1 + %conv15 = trunc i32 %sub14 to i16 + %27 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ii_mask = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %27, i32 0, i32 14 + store i16 %conv15, i16* %ii_mask, align 4 + %28 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_base16 = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %28, i32 0, i32 0 + %29 = load i16, i16* %num_base16, align 2 + %conv17 = zext i16 %29 to i64 + %mul18 = mul i64 %conv17, 38 + %add19 = add i64 16, %mul18 + %30 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_der = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %30, i32 0, i32 1 + %31 = load i16, i16* %num_der, align 2 + %conv20 = zext i16 %31 to i64 + %mul21 = mul i64 %conv20, 8 + %add22 = add i64 %add19, %mul21 + %div23 = udiv i64 %add22, 2 + store i64 %div23, i64* %n, align 8 + %32 = load i16*, i16** %__locale_collate_tbl, align 8 + %33 = load i64, i64* %n, align 8 + %add.ptr24 = getelementptr inbounds i16, i16* %32, i64 %33 + %34 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %index2weight_offset = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %34, i32 0, i32 14 + %35 = load i16, i16* %index2weight_offset, align 2 + %conv25 = zext i16 %35 to i32 + %idx.ext = sext i32 %conv25 to i64 + %add.ptr26 = getelementptr inbounds i16, i16* %add.ptr24, i64 %idx.ext + %36 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %36, i32 0, i32 16 + store i16* %add.ptr26, i16** %index2weight_tbl, align 8 + %37 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_index2weight = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %37, i32 0, i32 3 + %38 = load i16, i16* %num_index2weight, align 2 + %conv27 = zext i16 %38 to i64 + %39 = load i64, i64* %n, align 8 + %add28 = add i64 %39, %conv27 + store i64 %add28, i64* %n, align 8 + %40 = load i16*, i16** %__locale_collate_tbl, align 8 + %41 = load i64, i64* %n, align 8 + %add.ptr29 = getelementptr inbounds i16, i16* %40, i64 %41 + %42 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %index2ruleidx_offset = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %42, i32 0, i32 15 + %43 = load i16, i16* %index2ruleidx_offset, align 2 + %conv30 = zext i16 %43 to i32 + %idx.ext31 = sext i32 %conv30 to i64 + %add.ptr32 = getelementptr inbounds i16, i16* %add.ptr29, i64 %idx.ext31 + %44 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %44, i32 0, i32 17 + store i16* %add.ptr32, i16** %index2ruleidx_tbl, align 8 + %45 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_index2weight33 = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %45, i32 0, i32 3 + %46 = load i16, i16* %num_index2weight33, align 2 + %conv34 = zext i16 %46 to i64 + %47 = load i64, i64* %n, align 8 + %add35 = add i64 %47, %conv34 + store i64 %add35, i64* %n, align 8 + %48 = load i16*, i16** %__locale_collate_tbl, align 8 + %49 = load i64, i64* %n, align 8 + %add.ptr36 = getelementptr inbounds i16, i16* %48, i64 %49 + %50 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %multistart_offset = getelementptr inbounds %struct.winsize, %struct.winsize* %50, i32 0, i32 3 + %51 = load i16, i16* %multistart_offset, align 2 + %conv37 = zext i16 %51 to i32 + %idx.ext38 = sext i32 %conv37 to i64 + %add.ptr39 = getelementptr inbounds i16, i16* %add.ptr36, i64 %idx.ext38 + %52 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %multistart_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %52, i32 0, i32 18 + store i16* %add.ptr39, i16** %multistart_tbl, align 8 + %53 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_multistart = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %53, i32 0, i32 5 + %54 = load i16, i16* %num_multistart, align 2 + %conv40 = zext i16 %54 to i64 + %55 = load i64, i64* %n, align 8 + %add41 = add i64 %55, %conv40 + store i64 %add41, i64* %n, align 8 + %56 = load i16*, i16** %__locale_collate_tbl, align 8 + %57 = load i64, i64* %n, align 8 + %add.ptr42 = getelementptr inbounds i16, i16* %56, i64 %57 + %58 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %overrides_offset = getelementptr inbounds %struct.winsize, %struct.winsize* %58, i32 0, i32 2 + %59 = load i16, i16* %overrides_offset, align 2 + %conv43 = zext i16 %59 to i32 + %idx.ext44 = sext i32 %conv43 to i64 + %add.ptr45 = getelementptr inbounds i16, i16* %add.ptr42, i64 %idx.ext44 + %60 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %overrides_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %60, i32 0, i32 20 + store i16* %add.ptr45, i16** %overrides_tbl, align 8 + %61 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_override = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %61, i32 0, i32 6 + %62 = load i16, i16* %num_override, align 2 + %conv46 = zext i16 %62 to i64 + %63 = load i64, i64* %n, align 8 + %add47 = add i64 %63, %conv46 + store i64 %add47, i64* %n, align 8 + %64 = load i16*, i16** %__locale_collate_tbl, align 8 + %65 = load i64, i64* %n, align 8 + %add.ptr48 = getelementptr inbounds i16, i16* %64, i64 %65 + %66 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ruletable = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %66, i32 0, i32 22 + store i16* %add.ptr48, i16** %ruletable, align 8 + %67 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_ruletable = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %67, i32 0, i32 7 + %68 = load i16, i16* %num_ruletable, align 2 + %conv49 = zext i16 %68 to i64 + %69 = load i64, i64* %n, align 8 + %add50 = add i64 %69, %conv49 + store i64 %add50, i64* %n, align 8 + %70 = load i16*, i16** %__locale_collate_tbl, align 8 + %71 = load i64, i64* %n, align 8 + %add.ptr51 = getelementptr inbounds i16, i16* %70, i64 %71 + %72 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %weightstr = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %72, i32 0, i32 21 + store i16* %add.ptr51, i16** %weightstr, align 8 + %73 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_weightstr = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %73, i32 0, i32 4 + %74 = load i16, i16* %num_weightstr, align 2 + %conv52 = zext i16 %74 to i64 + %75 = load i64, i64* %n, align 8 + %add53 = add i64 %75, %conv52 + store i64 %add53, i64* %n, align 8 + %76 = load i16*, i16** %__locale_collate_tbl, align 8 + %77 = load i64, i64* %n, align 8 + %add.ptr54 = getelementptr inbounds i16, i16* %76, i64 %77 + %78 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %wcs2colidt_offset_hi = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %78, i32 0, i32 18 + %79 = load i16, i16* %wcs2colidt_offset_hi, align 2 + %conv55 = zext i16 %79 to i64 + %shl56 = shl i64 %conv55, 16 + %add.ptr57 = getelementptr inbounds i16, i16* %add.ptr54, i64 %shl56 + %80 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %wcs2colidt_offset_low = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %80, i32 0, i32 17 + %81 = load i16, i16* %wcs2colidt_offset_low, align 2 + %conv58 = zext i16 %81 to i32 + %idx.ext59 = sext i32 %conv58 to i64 + %add.ptr60 = getelementptr inbounds i16, i16* %add.ptr57, i64 %idx.ext59 + %82 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %wcs2colidt_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %82, i32 0, i32 19 + store i16* %add.ptr60, i16** %wcs2colidt_tbl, align 8 + %83 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %MAX_WEIGHTS = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %83, i32 0, i32 2 + %84 = load i16, i16* %MAX_WEIGHTS, align 2 + %85 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %MAX_WEIGHTS61 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %85, i32 0, i32 25 + store i16 %84, i16* %MAX_WEIGHTS61, align 8 + %86 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %max_col_index = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %86, i32 0, i32 8 + %87 = load i16, i16* %max_col_index, align 8 + %conv62 = zext i16 %87 to i32 + %mul63 = mul nsw i32 2, %conv62 + %add64 = add nsw i32 %mul63, 2 + %conv65 = sext i32 %add64 to i64 + %call66 = call noalias i8* @calloc(i64 %conv65, i64 2) #19 + %88 = bitcast i8* %call66 to i16* + %89 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %89, i32 0, i32 23 + store i16* %88, i16** %index2weight, align 8 + %90 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight67 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %90, i32 0, i32 23 + %91 = load i16*, i16** %index2weight67, align 8 + %tobool68 = icmp ne i16* %91, null + br i1 %tobool68, label %if.end70, label %if.then69 + +if.then69: ; preds = %if.end + store i32 0, i32* %retval, align 4 + br label %return + +if.end70: ; preds = %if.end + %92 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight71 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %92, i32 0, i32 23 + %93 = load i16*, i16** %index2weight71, align 8 + %94 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %max_col_index72 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %94, i32 0, i32 8 + %95 = load i16, i16* %max_col_index72, align 8 + %conv73 = zext i16 %95 to i32 + %idx.ext74 = sext i32 %conv73 to i64 + %add.ptr75 = getelementptr inbounds i16, i16* %93, i64 %idx.ext74 + %add.ptr76 = getelementptr inbounds i16, i16* %add.ptr75, i64 1 + %96 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %96, i32 0, i32 24 + store i16* %add.ptr76, i16** %index2ruleidx, align 8 + %97 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight77 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %97, i32 0, i32 23 + %98 = load i16*, i16** %index2weight77, align 8 + %99 = bitcast i16* %98 to i8* + %100 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight_tbl78 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %100, i32 0, i32 16 + %101 = load i16*, i16** %index2weight_tbl78, align 8 + %102 = bitcast i16* %101 to i8* + %103 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %num_col_base = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %103, i32 0, i32 7 + %104 = load i16, i16* %num_col_base, align 2 + %conv79 = zext i16 %104 to i64 + %mul80 = mul i64 %conv79, 2 + %call81 = call i8* @memcpy(i8* %99, i8* %102, i64 %mul80) #19 + %105 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx82 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %105, i32 0, i32 24 + %106 = load i16*, i16** %index2ruleidx82, align 8 + %107 = bitcast i16* %106 to i8* + %108 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx_tbl83 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %108, i32 0, i32 17 + %109 = load i16*, i16** %index2ruleidx_tbl83, align 8 + %110 = bitcast i16* %109 to i8* + %111 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %num_col_base84 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %111, i32 0, i32 7 + %112 = load i16, i16* %num_col_base84, align 2 + %conv85 = zext i16 %112 to i64 + %mul86 = mul i64 %conv85, 2 + %call87 = call i8* @memcpy(i8* %107, i8* %110, i64 %mul86) #19 + %113 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %overrides_tbl88 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %113, i32 0, i32 20 + %114 = load i16*, i16** %overrides_tbl88, align 8 + store i16* %114, i16** %p, align 8 + br label %while.cond + +while.cond: ; preds = %do.body, %if.end70 + %115 = load i16*, i16** %p, align 8 + %116 = load i16, i16* %115, align 2 + %conv89 = zext i16 %116 to i32 + %cmp = icmp sgt i32 %conv89, 1 + br i1 %cmp, label %while.body, label %while.cond105 + +while.body: ; preds = %while.cond + %117 = load i16*, i16** %p, align 8 + %incdec.ptr = getelementptr inbounds i16, i16* %117, i32 1 + store i16* %incdec.ptr, i16** %p, align 8 + %118 = load i16, i16* %117, align 2 + %conv91 = zext i16 %118 to i64 + store i64 %conv91, i64* %n, align 8 + %119 = load i16*, i16** %p, align 8 + %incdec.ptr92 = getelementptr inbounds i16, i16* %119, i32 1 + store i16* %incdec.ptr92, i16** %p, align 8 + %120 = load i16, i16* %119, align 2 + store i16 %120, i16* %w, align 2 + br label %do.body + +do.body: ; preds = %do.body, %while.body + %121 = load i16*, i16** %p, align 8 + %incdec.ptr93 = getelementptr inbounds i16, i16* %121, i32 1 + store i16* %incdec.ptr93, i16** %p, align 8 + %122 = load i16, i16* %121, align 2 + store i16 %122, i16* %i, align 2 + %123 = load i16, i16* %w, align 2 + %inc = add i16 %123, 1 + store i16 %inc, i16* %w, align 2 + %124 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight94 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %124, i32 0, i32 23 + %125 = load i16*, i16** %index2weight94, align 8 + %126 = load i16, i16* %i, align 2 + %conv95 = zext i16 %126 to i32 + %sub96 = sub nsw i32 %conv95, 1 + %idxprom = sext i32 %sub96 to i64 + %arrayidx = getelementptr inbounds i16, i16* %125, i64 %idxprom + store i16 %123, i16* %arrayidx, align 2 + %127 = load i16*, i16** %p, align 8 + %incdec.ptr97 = getelementptr inbounds i16, i16* %127, i32 1 + store i16* %incdec.ptr97, i16** %p, align 8 + %128 = load i16, i16* %127, align 2 + %129 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx98 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %129, i32 0, i32 24 + %130 = load i16*, i16** %index2ruleidx98, align 8 + %131 = load i16, i16* %i, align 2 + %conv99 = zext i16 %131 to i32 + %sub100 = sub nsw i32 %conv99, 1 + %idxprom101 = sext i32 %sub100 to i64 + %arrayidx102 = getelementptr inbounds i16, i16* %130, i64 %idxprom101 + store i16 %128, i16* %arrayidx102, align 2 + %132 = load i64, i64* %n, align 8 + %dec103 = add i64 %132, -1 + store i64 %dec103, i64* %n, align 8 + %tobool104 = icmp ne i64 %dec103, 0 + br i1 %tobool104, label %do.body, label %while.cond + +while.cond105: ; preds = %while.cond, %while.body108 + %133 = load i16*, i16** %p, align 8 + %incdec.ptr106 = getelementptr inbounds i16, i16* %133, i32 1 + store i16* %incdec.ptr106, i16** %p, align 8 + %134 = load i16, i16* %incdec.ptr106, align 2 + %tobool107 = icmp ne i16 %134, 0 + br i1 %tobool107, label %while.body108, label %while.end121 + +while.body108: ; preds = %while.cond105 + %135 = load i16*, i16** %p, align 8 + %136 = load i16, i16* %135, align 2 + store i16 %136, i16* %i, align 2 + %137 = load i16*, i16** %p, align 8 + %incdec.ptr109 = getelementptr inbounds i16, i16* %137, i32 1 + store i16* %incdec.ptr109, i16** %p, align 8 + %138 = load i16, i16* %incdec.ptr109, align 2 + %139 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight110 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %139, i32 0, i32 23 + %140 = load i16*, i16** %index2weight110, align 8 + %141 = load i16, i16* %i, align 2 + %conv111 = zext i16 %141 to i32 + %sub112 = sub nsw i32 %conv111, 1 + %idxprom113 = sext i32 %sub112 to i64 + %arrayidx114 = getelementptr inbounds i16, i16* %140, i64 %idxprom113 + store i16 %138, i16* %arrayidx114, align 2 + %142 = load i16*, i16** %p, align 8 + %incdec.ptr115 = getelementptr inbounds i16, i16* %142, i32 1 + store i16* %incdec.ptr115, i16** %p, align 8 + %143 = load i16, i16* %incdec.ptr115, align 2 + %144 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx116 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %144, i32 0, i32 24 + %145 = load i16*, i16** %index2ruleidx116, align 8 + %146 = load i16, i16* %i, align 2 + %conv117 = zext i16 %146 to i32 + %sub118 = sub nsw i32 %conv117, 1 + %idxprom119 = sext i32 %sub118 to i64 + %arrayidx120 = getelementptr inbounds i16, i16* %145, i64 %idxprom119 + store i16 %143, i16* %arrayidx120, align 2 + br label %while.cond105 + +while.end121: ; preds = %while.cond105 + store i16 0, i16* %i, align 2 + br label %for.cond + +for.cond: ; preds = %for.inc, %while.end121 + %147 = load i16, i16* %i, align 2 + %conv122 = zext i16 %147 to i32 + %148 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %multistart_tbl123 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %148, i32 0, i32 18 + %149 = load i16*, i16** %multistart_tbl123, align 8 + %arrayidx124 = getelementptr inbounds i16, i16* %149, i64 0 + %150 = load i16, i16* %arrayidx124, align 2 + %conv125 = zext i16 %150 to i32 + %cmp126 = icmp slt i32 %conv122, %conv125 + br i1 %cmp126, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %151 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %multistart_tbl128 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %151, i32 0, i32 18 + %152 = load i16*, i16** %multistart_tbl128, align 8 + store i16* %152, i16** %p, align 8 + %153 = load i16*, i16** %p, align 8 + %154 = load i16, i16* %i, align 2 + %idxprom129 = zext i16 %154 to i64 + %arrayidx130 = getelementptr inbounds i16, i16* %153, i64 %idxprom129 + %155 = load i16, i16* %arrayidx130, align 2 + %conv131 = zext i16 %155 to i32 + %156 = load i16*, i16** %p, align 8 + %idx.ext132 = sext i32 %conv131 to i64 + %add.ptr133 = getelementptr inbounds i16, i16* %156, i64 %idx.ext132 + store i16* %add.ptr133, i16** %p, align 8 + br label %do.body134 + +do.body134: ; preds = %do.body141, %for.body + %157 = load i16*, i16** %p, align 8 + %incdec.ptr135 = getelementptr inbounds i16, i16* %157, i32 1 + store i16* %incdec.ptr135, i16** %p, align 8 + %158 = load i16, i16* %157, align 2 + %conv136 = zext i16 %158 to i64 + store i64 %conv136, i64* %n, align 8 + %159 = load i16*, i16** %p, align 8 + %160 = load i16, i16* %159, align 2 + %tobool138 = icmp ne i16 %160, 0 + br i1 %tobool138, label %do.body141, label %for.inc + +do.body141: ; preds = %do.body134, %do.body141 + %161 = load i16*, i16** %p, align 8 + %incdec.ptr143 = getelementptr inbounds i16, i16* %161, i32 1 + store i16* %incdec.ptr143, i16** %p, align 8 + %162 = load i16, i16* %161, align 2 + %tobool144 = icmp ne i16 %162, 0 + br i1 %tobool144, label %do.body141, label %do.body134 + +for.inc: ; preds = %do.body134 + %163 = load i16, i16* %i, align 2 + %inc150 = add i16 %163, 1 + store i16 %inc150, i16* %i, align 2 + br label %for.cond + +for.end: ; preds = %for.cond + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %for.end, %if.then69, %if.then + %164 = load i32, i32* %retval, align 4 + ret i32 %164 +} + +; Function Attrs: nounwind +declare void @free(i8*) #2 + +; Function Attrs: nounwind +declare noalias i8* @calloc(i64, i64) #2 + +; Function Attrs: noinline nounwind uwtable +define hidden void @_locale_init_l(%struct.__uclibc_locale_struct.201* %base) #0 { +entry: + %base.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + store %struct.__uclibc_locale_struct.201* %base, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 6 + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + %call = call i8* @memset(i8* %arraydecay, i32 0, i64 14) #19 + %1 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale1 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %1, i32 0, i32 6 + %arrayidx = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale1, i64 0, i64 0 + store i8 35, i8* %arrayidx, align 8 + %2 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_item_count = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %2, i32 0, i32 8 + %arraydecay2 = getelementptr inbounds [6 x i8], [6 x i8]* %category_item_count, i64 0, i64 0 + %3 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_common_item_offsets_LEN = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %3, i32 0, i32 29 + %arraydecay3 = getelementptr inbounds [6 x i8], [6 x i8]* %lc_common_item_offsets_LEN, i64 0, i64 0 + %call4 = call i8* @memcpy(i8* %arraydecay2, i8* %arraydecay3, i64 6) #19 + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_item_count5 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %4, i32 0, i32 8 + %arrayidx6 = getelementptr inbounds [6 x i8], [6 x i8]* %category_item_count5, i64 0, i64 0 + %5 = load i8, i8* %arrayidx6, align 2 + %inc = add i8 %5, 1 + store i8 %inc, i8* %arrayidx6, align 2 + %6 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %6, i32 0, i32 7 + %arrayidx7 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets, i64 0, i64 0 + store i16 2488, i16* %arrayidx7, align 2 + %7 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets8 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %7, i32 0, i32 7 + %arrayidx9 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets8, i64 0, i64 1 + store i16 2576, i16* %arrayidx9, align 2 + %8 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets10 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %8, i32 0, i32 7 + %arrayidx11 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets10, i64 0, i64 2 + store i16 2600, i16* %arrayidx11, align 2 + %9 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets12 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %9, i32 0, i32 7 + %arrayidx13 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets12, i64 0, i64 3 + store i16 2776, i16* %arrayidx13, align 2 + %10 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets14 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %10, i32 0, i32 7 + %arrayidx15 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets14, i64 0, i64 5 + store i16 3176, i16* %arrayidx15, align 2 + %11 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8ctype = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %11, i32 0, i32 0 + %12 = bitcast [420 x i8]* %tbl8ctype to i8* + %13 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8ctype16 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %13, i32 0, i32 13 + store i8* %12, i8** %tbl8ctype16, align 8 + %14 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8uplow = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %14, i32 0, i32 1 + %15 = bitcast [504 x i8]* %tbl8uplow to i8* + %16 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8uplow17 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %16, i32 0, i32 15 + store i8* %15, i8** %tbl8uplow17, align 8 + %17 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8c2wc = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %17, i32 0, i32 2 + %18 = bitcast [1760 x i16]* %tbl8c2wc to i16* + %19 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8c2wc18 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %19, i32 0, i32 17 + store i16* %18, i16** %tbl8c2wc18, align 8 + %20 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8wc2c = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %20, i32 0, i32 3 + %21 = bitcast [4528 x i8]* %tbl8wc2c to i8* + %22 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8wc2c19 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %22, i32 0, i32 19 + store i8* %21, i8** %tbl8wc2c19, align 8 + %23 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tblwctype = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %23, i32 0, i32 4 + %24 = bitcast [3604 x i8]* %tblwctype to i8* + %25 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tblwctype20 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %25, i32 0, i32 21 + store i8* %24, i8** %tblwctype20, align 8 + %26 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tblwuplow = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %26, i32 0, i32 5 + %27 = bitcast [1680 x i8]* %tblwuplow to i8* + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tblwuplow21 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %28, i32 0, i32 22 + store i8* %27, i8** %tblwuplow21, align 8 + %29 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tblwuplow_diff = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %29, i32 0, i32 6 + %30 = bitcast [196 x i16]* %tblwuplow_diff to i16* + %31 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tblwuplow_diff22 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %31, i32 0, i32 23 + store i16* %30, i16** %tblwuplow_diff22, align 8 + %32 = load i16*, i16** @__C_ctype_b, align 8 + %33 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %33, i32 0, i32 0 + store i16* %32, i16** %__ctype_b, align 8 + %34 = load i16*, i16** @__C_ctype_tolower, align 8 + %35 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %35, i32 0, i32 1 + store i16* %34, i16** %__ctype_tolower, align 8 + %36 = load i16*, i16** @__C_ctype_toupper, align 8 + %37 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %37, i32 0, i32 2 + store i16* %36, i16** %__ctype_toupper, align 8 + %38 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %code2flag = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %38, i32 0, i32 20 + store i16* getelementptr inbounds ([16 x i16], [16 x i16]* @__code2flag, i64 0, i64 0), i16** %code2flag, align 8 + %39 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call23 = call i32 @_locale_set_l(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.76, i64 0, i64 0), %struct.__uclibc_locale_struct.201* %39) #18 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_locale_init() #0 { +entry: + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__global_locale, align 8 + call void @_locale_init_l(%struct.__uclibc_locale_struct.201* %0) #18 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @sigblock(i32 %mask) #0 { +entry: + %retval = alloca i32, align 4 + %mask.addr = alloca i32, align 4 + %set = alloca %struct.fd_set, align 8 + %oset = alloca %struct.fd_set, align 8 + store i32 %mask, i32* %mask.addr, align 4 + %0 = load i32, i32* %mask.addr, align 4 + %call = call i32 @sigset_set_old_mask(%struct.fd_set* %set, i32 %0) #18 + %cmp = icmp slt i32 %call, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %call1 = call i32 @sigprocmask(i32 0, %struct.fd_set* %set, %struct.fd_set* %oset) #19 + %cmp2 = icmp slt i32 %call1, 0 + br i1 %cmp2, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.end + store i32 -1, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %if.end + %call5 = call i32 @sigset_get_old_mask(%struct.fd_set* %oset) #18 + store i32 %call5, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %1 = load i32, i32* %retval, align 4 + ret i32 %1 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @sigset_set_old_mask(%struct.fd_set* %set, i32 %mask) #0 { +entry: + %set.addr = alloca %struct.fd_set*, align 8 + %mask.addr = alloca i32, align 4 + %ptr = alloca i64*, align 8 + %cnt = alloca i32, align 4 + store %struct.fd_set* %set, %struct.fd_set** %set.addr, align 8 + store i32 %mask, i32* %mask.addr, align 4 + %0 = load %struct.fd_set*, %struct.fd_set** %set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %0, i32 0, i32 0 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 0 + store i64* %arrayidx, i64** %ptr, align 8 + %1 = load i32, i32* %mask.addr, align 4 + %conv = zext i32 %1 to i64 + %2 = load i64*, i64** %ptr, align 8 + %incdec.ptr = getelementptr inbounds i64, i64* %2, i32 1 + store i64* %incdec.ptr, i64** %ptr, align 8 + store i64 %conv, i64* %2, align 8 + store i32 14, i32* %cnt, align 4 + br label %do.body + +do.body: ; preds = %do.body, %entry + %3 = load i64*, i64** %ptr, align 8 + %incdec.ptr1 = getelementptr inbounds i64, i64* %3, i32 1 + store i64* %incdec.ptr1, i64** %ptr, align 8 + store i64 0, i64* %3, align 8 + %4 = load i32, i32* %cnt, align 4 + %dec = add nsw i32 %4, -1 + store i32 %dec, i32* %cnt, align 4 + %cmp = icmp sge i32 %dec, 0 + br i1 %cmp, label %do.body, label %do.end + +do.end: ; preds = %do.body + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @sigset_get_old_mask(%struct.fd_set* %set) #0 { +entry: + %set.addr = alloca %struct.fd_set*, align 8 + store %struct.fd_set* %set, %struct.fd_set** %set.addr, align 8 + %0 = load %struct.fd_set*, %struct.fd_set** %set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %0, i32 0, i32 0 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 0 + %1 = load i64, i64* %arrayidx, align 8 + %conv = trunc i64 %1 to i32 + ret i32 %conv +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_stdio_term() #0 { +entry: + %ptr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %0, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %1, null + br i1 %tobool, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 0 + %3 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %3 to i32 + %and = and i32 %conv, 64 + %tobool1 = icmp ne i32 %and, 0 + br i1 %tobool1, label %if.then, label %for.inc + +if.then: ; preds = %for.body + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %call = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %4) #18 + br label %for.inc + +for.inc: ; preds = %for.body, %if.then + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 9 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %6, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_stdio_init() #0 { +entry: + %old_errno = alloca i32, align 4 + %0 = load i32, i32* @errno, align 4 + store i32 %0, i32* %old_errno, align 4 + %call = call i32 @isatty(i32 0) #19 + %sub = sub nsw i32 1, %call + %mul = mul i32 %sub, 256 + %1 = load i16, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 0, i32 0), align 16 + %conv = zext i16 %1 to i32 + %xor = xor i32 %conv, %mul + %conv1 = trunc i32 %xor to i16 + store i16 %conv1, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 0, i32 0), align 16 + %call2 = call i32 @isatty(i32 1) #19 + %sub3 = sub nsw i32 1, %call2 + %mul4 = mul i32 %sub3, 256 + %2 = load i16, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 1, i32 0), align 8 + %conv5 = zext i16 %2 to i32 + %xor6 = xor i32 %conv5, %mul4 + %conv7 = trunc i32 %xor6 to i16 + store i16 %conv7, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 1, i32 0), align 8 + %3 = load i32, i32* %old_errno, align 4 + store i32 %3, i32* @errno, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getchar_unlocked() #0 { +entry: + %stream = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdin, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %0, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %1, i32 0, i32 5 + %2 = load i8*, i8** %__bufpos, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 7 + %4 = load i8*, i8** %__bufgetc_u, align 8 + %cmp = icmp ult i8* %2, %4 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %entry + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 5 + %6 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + %7 = load i8, i8* %6, align 1 + %conv = zext i8 %7 to i32 + br label %cond.end + +cond.false: ; preds = %entry + %call = call i32 @__fgetc_unlocked(%struct.__STDIO_FILE_STRUCT.568* %5) #18 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ %conv, %cond.true ], [ %call, %cond.false ] + ret i32 %cond +} + +; Function Attrs: noinline noreturn nounwind uwtable +declare void @abort() #1 + +; Function Attrs: noreturn +declare void @_exit(i32) #13 + +; Function Attrs: noinline noreturn nounwind uwtable +define void @exit(i32 %rv) #1 { +entry: + %rv.addr = alloca i32, align 4 + store i32 %rv, i32* %rv.addr, align 4 + %0 = load void (i32)*, void (i32)** @__exit_cleanup, align 8 + %tobool = icmp ne void (i32)* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load void (i32)*, void (i32)** @__exit_cleanup, align 8 + %2 = load i32, i32* %rv.addr, align 4 + call void %1(i32 %2) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + call void @__uClibc_fini() #18 + call void @_stdio_term() #18 + %3 = load i32, i32* %rv.addr, align 4 + call void @_exit(i32 %3) #27 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define i8* @memcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r1 = alloca i8*, align 8 + %r2 = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %r1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %r2, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %2 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load i8*, i8** %r2, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %r2, align 8 + %4 = load i8, i8* %3, align 1 + %5 = load i8*, i8** %r1, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr1, i8** %r1, align 8 + store i8 %4, i8* %5, align 1 + %6 = load i64, i64* %n.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %7 = load i8*, i8** %s1.addr, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @memset(i8* nonnull %s, i32 %c, i64 %n) #0 { +entry: + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %n.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %1 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %2 = load i32, i32* %c.addr, align 4 + %conv = trunc i32 %2 to i8 + %3 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + store i8 %conv, i8* %3, align 1 + %4 = load i64, i64* %n.addr, align 8 + %dec = add i64 %4, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %5 = load i8*, i8** %s.addr, align 8 + ret i8* %5 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @strrchr(i8* nonnull %s, i32 %c) #14 { +entry: + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i8* null, i8** %p, align 8 + br label %do.body + +do.body: ; preds = %do.cond, %entry + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %2 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %2 to i8 + %conv2 = sext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + br i1 %cmp, label %if.then, label %do.cond + +if.then: ; preds = %do.body + %3 = load i8*, i8** %s.addr, align 8 + store i8* %3, i8** %p, align 8 + br label %do.cond + +do.cond: ; preds = %do.body, %if.then + %4 = load i8*, i8** %s.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr, i8** %s.addr, align 8 + %5 = load i8, i8* %4, align 1 + %tobool = icmp ne i8 %5, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %6 = load i8*, i8** %p, align 8 + ret i8* %6 +} + +; Function Attrs: noinline noreturn nounwind uwtable +define dso_local void @usage(i32 %status) #6 { +entry: + %status.addr = alloca i32, align 4 + store i32 %status, i32* %status.addr, align 4 + %0 = load i32, i32* %status.addr, align 4 + %cmp = icmp ne i32 %0, 0 + br i1 %cmp, label %do.body, label %if.else + +do.body: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stderr to %struct._IO_FILE**), align 8 + %2 = load i8*, i8** @program_name, align 8 + %call = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %1, i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.96, i64 0, i64 0), i8* %2) + br label %if.end + +if.else: ; preds = %entry + %3 = load i8*, i8** @program_name, align 8 + %call1 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.1.97, i64 0, i64 0), i8* %3) + %4 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call2 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([66 x i8], [66 x i8]* @.str.2.98, i64 0, i64 0), %struct._IO_FILE* %4) + call void @emit_stdin_note() + call void @emit_mandatory_arg_note() + %5 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call3 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([177 x i8], [177 x i8]* @.str.3.99, i64 0, i64 0), %struct._IO_FILE* %5) + %6 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call4 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([238 x i8], [238 x i8]* @.str.4.100, i64 0, i64 0), %struct._IO_FILE* %6) + %7 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call5 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([114 x i8], [114 x i8]* @.str.5.101, i64 0, i64 0), %struct._IO_FILE* %7) + %8 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call6 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([210 x i8], [210 x i8]* @.str.6.102, i64 0, i64 0), %struct._IO_FILE* %8) + %9 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call7 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.7.103, i64 0, i64 0), %struct._IO_FILE* %9) + %10 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call8 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.8.104, i64 0, i64 0), %struct._IO_FILE* %10) + %11 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call9 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.9.105, i64 0, i64 0), %struct._IO_FILE* %11) + %12 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call10 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([204 x i8], [204 x i8]* @.str.10.106, i64 0, i64 0), %struct._IO_FILE* %12) + %13 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call11 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([262 x i8], [262 x i8]* @.str.11.107, i64 0, i64 0), %struct._IO_FILE* %13) + call void @emit_ancillary_info(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.12.108, i64 0, i64 0)) + br label %if.end + +if.end: ; preds = %if.else, %do.body + %14 = load i32, i32* %status.addr, align 4 + call void @exit(i32 %14) #26 + unreachable +} + +declare dso_local i32 @printf(i8*, ...) #5 + +; Function Attrs: noinline nounwind uwtable +define internal void @emit_stdin_note() #3 { +entry: + %0 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.25.121, i64 0, i64 0), %struct._IO_FILE* %0) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @emit_mandatory_arg_note() #3 { +entry: + %0 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([75 x i8], [75 x i8]* @.str.26.120, i64 0, i64 0), %struct._IO_FILE* %0) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @emit_ancillary_info(i8* %program) #3 { +entry: + %program.addr = alloca i8*, align 8 + %infomap = alloca [7 x %struct.infomap], align 16 + %node = alloca i8*, align 8 + %map_prog = alloca %struct.infomap*, align 8 + %lc_messages = alloca i8*, align 8 + store i8* %program, i8** %program.addr, align 8 + %0 = bitcast [7 x %struct.infomap]* %infomap to i8* + %1 = call i8* @memcpy(i8* %0, i8* bitcast ([7 x %struct.infomap]* @__const.emit_ancillary_info.infomap to i8*), i64 112) + %2 = load i8*, i8** %program.addr, align 8 + store i8* %2, i8** %node, align 8 + %arraydecay = getelementptr inbounds [7 x %struct.infomap], [7 x %struct.infomap]* %infomap, i64 0, i64 0 + store %struct.infomap* %arraydecay, %struct.infomap** %map_prog, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %3 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + %program1 = getelementptr inbounds %struct.infomap, %struct.infomap* %3, i32 0, i32 0 + %4 = load i8*, i8** %program1, align 8 + %tobool = icmp ne i8* %4, null + br i1 %tobool, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %5 = load i8*, i8** %program.addr, align 8 + %6 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + %program2 = getelementptr inbounds %struct.infomap, %struct.infomap* %6, i32 0, i32 0 + %7 = load i8*, i8** %program2, align 8 + %call = call i32 @strcmp(i8* %5, i8* %7) #23 + %cmp = icmp eq i32 %call, 0 + %lnot = xor i1 %cmp, true + br label %land.end + +land.end: ; preds = %land.rhs, %while.cond + %8 = phi i1 [ false, %while.cond ], [ %lnot, %land.rhs ] + %9 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + br i1 %8, label %while.body, label %while.end + +while.body: ; preds = %land.end + %incdec.ptr = getelementptr inbounds %struct.infomap, %struct.infomap* %9, i32 1 + store %struct.infomap* %incdec.ptr, %struct.infomap** %map_prog, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %node3 = getelementptr inbounds %struct.infomap, %struct.infomap* %9, i32 0, i32 1 + %10 = load i8*, i8** %node3, align 8 + %tobool4 = icmp ne i8* %10, null + br i1 %tobool4, label %if.then, label %if.end + +if.then: ; preds = %while.end + %11 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + %node5 = getelementptr inbounds %struct.infomap, %struct.infomap* %11, i32 0, i32 1 + %12 = load i8*, i8** %node5, align 8 + store i8* %12, i8** %node, align 8 + br label %if.end + +if.end: ; preds = %if.then, %while.end + %call6 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.36, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.17.109, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.37, i64 0, i64 0)) + %call7 = call i8* @setlocale(i32 5, i8* null) #11 + store i8* %call7, i8** %lc_messages, align 8 + %13 = load i8*, i8** %lc_messages, align 8 + %tobool8 = icmp ne i8* %13, null + br i1 %tobool8, label %land.lhs.true, label %if.end13 + +land.lhs.true: ; preds = %if.end + %14 = load i8*, i8** %lc_messages, align 8 + %call9 = call i32 @strncmp(i8* %14, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.38, i64 0, i64 0), i64 3) #23 + %tobool10 = icmp ne i32 %call9, 0 + br i1 %tobool10, label %if.then11, label %if.end13 + +if.then11: ; preds = %land.lhs.true + %15 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call12 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.39, i64 0, i64 0), %struct._IO_FILE* %15) + br label %if.end13 + +if.end13: ; preds = %if.then11, %land.lhs.true, %if.end + %16 = load i8*, i8** %program.addr, align 8 + %call14 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.40, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.37, i64 0, i64 0), i8* %16) + %17 = load i8*, i8** %node, align 8 + %18 = load i8*, i8** %node, align 8 + %19 = load i8*, i8** %program.addr, align 8 + %cmp15 = icmp eq i8* %18, %19 + %20 = zext i1 %cmp15 to i64 + %cond = select i1 %cmp15, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.42, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.13.110, i64 0, i64 0) + %call16 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([51 x i8], [51 x i8]* @.str.41, i64 0, i64 0), i8* %17, i8* %cond) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__klee_posix_wrapped_main(i32 %argc, i8** %argv) #3 { +entry: + %retval = alloca i32, align 4 + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optc = alloca i32, align 4 + %ok = alloca i8, align 1 + %delim_specified = alloca i8, align 1 + %spec_list_string = alloca i8*, align 8 + store i32 0, i32* %retval, align 4 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8 0, i8* %delim_specified, align 1 + %0 = load i8**, i8*** %argv.addr, align 8 + %arrayidx = getelementptr inbounds i8*, i8** %0, i64 0 + %1 = load i8*, i8** %arrayidx, align 8 + call void @set_program_name(i8* %1) + %call = call i8* @setlocale(i32 6, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.13.110, i64 0, i64 0)) #11 + %call1 = call i32 @atexit(void ()* @close_stdout) #11 + store i32 0, i32* @operating_mode, align 4 + store i8 0, i8* @suppress_non_delimited, align 1 + store i8 0, i8* @delim, align 1 + store i8 0, i8* @have_read_stdin, align 1 + br label %while.cond + +while.cond: ; preds = %sw.epilog, %entry + %2 = load i32, i32* %argc.addr, align 4 + %3 = load i8**, i8*** %argv.addr, align 8 + %call2 = call i32 @getopt_long(i32 %2, i8** %3, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.14.124, i64 0, i64 0), %struct.option* getelementptr inbounds ([11 x %struct.option], [11 x %struct.option]* @longopts, i64 0, i64 0), i32* null) #11 + store i32 %call2, i32* %optc, align 4 + %cmp = icmp ne i32 %call2, -1 + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i32, i32* %optc, align 4 + br label %NodeBlock20 + +NodeBlock20: ; preds = %while.body + %case.cmp21 = icmp eq i32 %4, 98 + br i1 %case.cmp21, label %sw.bb, label %NodeBlock18 + +NodeBlock18: ; preds = %NodeBlock20 + %case.cmp19 = icmp eq i32 %4, 99 + br i1 %case.cmp19, label %sw.bb, label %NodeBlock16 + +NodeBlock16: ; preds = %NodeBlock18 + %case.cmp17 = icmp eq i32 %4, 102 + br i1 %case.cmp17, label %sw.bb4, label %NodeBlock14 + +NodeBlock14: ; preds = %NodeBlock16 + %case.cmp15 = icmp eq i32 %4, 100 + br i1 %case.cmp15, label %sw.bb10, label %NodeBlock12 + +NodeBlock12: ; preds = %NodeBlock14 + %case.cmp13 = icmp eq i32 %4, 128 + br i1 %case.cmp13, label %sw.bb23, label %NodeBlock10 + +NodeBlock10: ; preds = %NodeBlock12 + %case.cmp11 = icmp eq i32 %4, 110 + br i1 %case.cmp11, label %sw.epilog, label %NodeBlock8 + +NodeBlock8: ; preds = %NodeBlock10 + %case.cmp9 = icmp eq i32 %4, 115 + br i1 %case.cmp9, label %sw.bb31, label %NodeBlock6 + +NodeBlock6: ; preds = %NodeBlock8 + %case.cmp7 = icmp eq i32 %4, 122 + br i1 %case.cmp7, label %sw.bb32, label %NodeBlock4 + +NodeBlock4: ; preds = %NodeBlock6 + %case.cmp5 = icmp eq i32 %4, 129 + br i1 %case.cmp5, label %sw.bb33, label %NodeBlock2 + +NodeBlock2: ; preds = %NodeBlock4 + %case.cmp3 = icmp eq i32 %4, -130 + br i1 %case.cmp3, label %sw.bb34, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock2 + %case.cmp = icmp eq i32 %4, -131 + br i1 %case.cmp, label %sw.bb35, label %newDefault + +sw.bb: ; preds = %NodeBlock20, %NodeBlock18 + %5 = load i32, i32* @operating_mode, align 4 + %cmp3 = icmp ne i32 %5, 0 + br i1 %cmp3, label %do.body, label %if.end + +do.body: ; preds = %sw.bb + call void (i32, i32, i8*, ...) @error(i32 0, i32 0, i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.15.125, i64 0, i64 0)) + call void @usage(i32 1) #24 + unreachable + +if.end: ; preds = %sw.bb + store i32 1, i32* @operating_mode, align 4 + %6 = load i8*, i8** @optarg, align 8 + store i8* %6, i8** %spec_list_string, align 8 + br label %sw.epilog + +sw.bb4: ; preds = %NodeBlock16 + %7 = load i32, i32* @operating_mode, align 4 + %cmp5 = icmp ne i32 %7, 0 + br i1 %cmp5, label %do.body7, label %if.end9 + +do.body7: ; preds = %sw.bb4 + call void (i32, i32, i8*, ...) @error(i32 0, i32 0, i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.15.125, i64 0, i64 0)) + call void @usage(i32 1) #24 + unreachable + +if.end9: ; preds = %sw.bb4 + store i32 2, i32* @operating_mode, align 4 + %8 = load i8*, i8** @optarg, align 8 + store i8* %8, i8** %spec_list_string, align 8 + br label %sw.epilog + +sw.bb10: ; preds = %NodeBlock14 + %9 = load i8*, i8** @optarg, align 8 + %arrayidx11 = getelementptr inbounds i8, i8* %9, i64 0 + %10 = load i8, i8* %arrayidx11, align 1 + %conv = sext i8 %10 to i32 + %cmp12 = icmp ne i32 %conv, 0 + br i1 %cmp12, label %land.lhs.true, label %if.end21 + +land.lhs.true: ; preds = %sw.bb10 + %11 = load i8*, i8** @optarg, align 8 + %arrayidx14 = getelementptr inbounds i8, i8* %11, i64 1 + %12 = load i8, i8* %arrayidx14, align 1 + %conv15 = sext i8 %12 to i32 + %cmp16 = icmp ne i32 %conv15, 0 + br i1 %cmp16, label %do.body19, label %if.end21 + +do.body19: ; preds = %land.lhs.true + call void (i32, i32, i8*, ...) @error(i32 0, i32 0, i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.16.126, i64 0, i64 0)) + call void @usage(i32 1) #24 + unreachable + +if.end21: ; preds = %land.lhs.true, %sw.bb10 + %13 = load i8*, i8** @optarg, align 8 + %arrayidx22 = getelementptr inbounds i8, i8* %13, i64 0 + %14 = load i8, i8* %arrayidx22, align 1 + store i8 %14, i8* @delim, align 1 + store i8 1, i8* %delim_specified, align 1 + br label %sw.epilog + +sw.bb23: ; preds = %NodeBlock12 + store i8 1, i8* @output_delimiter_specified, align 1 + %15 = load i8*, i8** @optarg, align 8 + %arrayidx24 = getelementptr inbounds i8, i8* %15, i64 0 + %16 = load i8, i8* %arrayidx24, align 1 + %conv25 = sext i8 %16 to i32 + %cmp26 = icmp eq i32 %conv25, 0 + br i1 %cmp26, label %cond.end, label %cond.false + +cond.false: ; preds = %sw.bb23 + %17 = load i8*, i8** @optarg, align 8 + %call28 = call i64 @strlen(i8* %17) #23 + br label %cond.end + +cond.end: ; preds = %sw.bb23, %cond.false + %cond = phi i64 [ %call28, %cond.false ], [ 1, %sw.bb23 ] + store i64 %cond, i64* @output_delimiter_length, align 8 + %18 = load i8*, i8** @optarg, align 8 + %call29 = call noalias i8* @xstrdup(i8* %18) + store i8* %call29, i8** @output_delimiter_string, align 8 + br label %sw.epilog + +sw.bb31: ; preds = %NodeBlock8 + store i8 1, i8* @suppress_non_delimited, align 1 + br label %sw.epilog + +sw.bb32: ; preds = %NodeBlock6 + store i8 0, i8* @line_delim, align 1 + br label %sw.epilog + +sw.bb33: ; preds = %NodeBlock4 + store i8 1, i8* @complement, align 1 + br label %sw.epilog + +sw.bb34: ; preds = %NodeBlock2 + call void @usage(i32 0) #24 + unreachable + +sw.bb35: ; preds = %NodeBlock + %19 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %20 = load i8*, i8** @Version, align 8 + call void (%struct._IO_FILE*, i8*, i8*, i8*, ...) @version_etc(%struct._IO_FILE* %19, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.12.108, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.17.109, i64 0, i64 0), i8* %20, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.18.127, i64 0, i64 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.19.128, i64 0, i64 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.20.129, i64 0, i64 0), i8* null) + call void @exit(i32 0) #26 + unreachable + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @usage(i32 1) #24 + unreachable + +sw.epilog: ; preds = %NodeBlock10, %sw.bb33, %sw.bb32, %sw.bb31, %cond.end, %if.end21, %if.end9, %if.end + br label %while.cond + +while.end: ; preds = %while.cond + %21 = load i32, i32* @operating_mode, align 4 + %cmp36 = icmp eq i32 %21, 0 + br i1 %cmp36, label %do.body39, label %if.end41 + +do.body39: ; preds = %while.end + call void (i32, i32, i8*, ...) @error(i32 0, i32 0, i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.21.130, i64 0, i64 0)) + call void @usage(i32 1) #24 + unreachable + +if.end41: ; preds = %while.end + %22 = load i8, i8* %delim_specified, align 1 + %tobool = trunc i8 %22 to i1 + %23 = load i32, i32* @operating_mode, align 4 + %cmp44 = icmp ne i32 %23, 2 + %or.cond = and i1 %tobool, %cmp44 + br i1 %or.cond, label %do.body47, label %if.end49 + +do.body47: ; preds = %if.end41 + call void (i32, i32, i8*, ...) @error(i32 0, i32 0, i8* getelementptr inbounds ([66 x i8], [66 x i8]* @.str.22.131, i64 0, i64 0)) + call void @usage(i32 1) #24 + unreachable + +if.end49: ; preds = %if.end41 + %24 = load i8, i8* @suppress_non_delimited, align 1 + %tobool50 = trunc i8 %24 to i1 + %25 = load i32, i32* @operating_mode, align 4 + %cmp53 = icmp ne i32 %25, 2 + %or.cond1 = and i1 %tobool50, %cmp53 + br i1 %or.cond1, label %do.body56, label %if.end58 + +do.body56: ; preds = %if.end49 + call void (i32, i32, i8*, ...) @error(i32 0, i32 0, i8* getelementptr inbounds ([75 x i8], [75 x i8]* @.str.23.132, i64 0, i64 0)) + call void @usage(i32 1) #24 + unreachable + +if.end58: ; preds = %if.end49 + %26 = load i8*, i8** %spec_list_string, align 8 + %27 = load i32, i32* @operating_mode, align 4 + %cmp59 = icmp eq i32 %27, 2 + %28 = zext i1 %cmp59 to i64 + %cond61 = select i1 %cmp59, i32 0, i32 4 + %29 = load i8, i8* @complement, align 1 + %tobool62 = trunc i8 %29 to i1 + %30 = zext i1 %tobool62 to i64 + %cond64 = select i1 %tobool62, i32 2, i32 0 + %or = or i32 %cond61, %cond64 + call void @set_fields(i8* %26, i32 %or) + %31 = load i8, i8* %delim_specified, align 1 + %tobool65 = trunc i8 %31 to i1 + br i1 %tobool65, label %if.end67, label %if.then66 + +if.then66: ; preds = %if.end58 + store i8 9, i8* @delim, align 1 + br label %if.end67 + +if.end67: ; preds = %if.then66, %if.end58 + %32 = load i8*, i8** @output_delimiter_string, align 8 + %cmp68 = icmp eq i8* %32, null + br i1 %cmp68, label %if.then70, label %if.end71 + +if.then70: ; preds = %if.end67 + %33 = load i8, i8* @delim, align 1 + store i8 %33, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @main.dummy, i64 0, i64 0), align 1 + store i8 0, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @main.dummy, i64 0, i64 1), align 1 + store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @main.dummy, i64 0, i64 0), i8** @output_delimiter_string, align 8 + store i64 1, i64* @output_delimiter_length, align 8 + br label %if.end71 + +if.end71: ; preds = %if.then70, %if.end67 + %34 = load i32, i32* @optind, align 4 + %35 = load i32, i32* %argc.addr, align 4 + %cmp72 = icmp eq i32 %34, %35 + br i1 %cmp72, label %if.then74, label %if.else + +if.then74: ; preds = %if.end71 + %call75 = call zeroext i1 @cut_file(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.24.133, i64 0, i64 0)) + %frombool = zext i1 %call75 to i8 + store i8 %frombool, i8* %ok, align 1 + br label %if.end85 + +if.else: ; preds = %if.end71 + store i8 1, i8* %ok, align 1 + br label %for.cond + +for.cond: ; preds = %for.body, %if.else + %36 = load i32, i32* @optind, align 4 + %37 = load i32, i32* %argc.addr, align 4 + %cmp76 = icmp slt i32 %36, %37 + br i1 %cmp76, label %for.body, label %if.end85 + +for.body: ; preds = %for.cond + %38 = load i8**, i8*** %argv.addr, align 8 + %39 = load i32, i32* @optind, align 4 + %idxprom = sext i32 %39 to i64 + %arrayidx78 = getelementptr inbounds i8*, i8** %38, i64 %idxprom + %40 = load i8*, i8** %arrayidx78, align 8 + %call79 = call zeroext i1 @cut_file(i8* %40) + %conv80 = zext i1 %call79 to i32 + %41 = load i8, i8* %ok, align 1 + %tobool81 = trunc i8 %41 to i1 + %conv82 = zext i1 %tobool81 to i32 + %and = and i32 %conv82, %conv80 + %tobool83 = icmp ne i32 %and, 0 + %frombool84 = zext i1 %tobool83 to i8 + store i8 %frombool84, i8* %ok, align 1 + %42 = load i32, i32* @optind, align 4 + %inc = add nsw i32 %42, 1 + store i32 %inc, i32* @optind, align 4 + br label %for.cond + +if.end85: ; preds = %for.cond, %if.then74 + %43 = load i8, i8* @have_read_stdin, align 1 + %tobool86 = trunc i8 %43 to i1 + br i1 %tobool86, label %land.lhs.true88, label %if.end94 + +land.lhs.true88: ; preds = %if.end85 + %44 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdin to %struct._IO_FILE**), align 8 + %call89 = call i32 @rpl_fclose(%struct._IO_FILE* %44) + %cmp90 = icmp eq i32 %call89, -1 + br i1 %cmp90, label %if.then92, label %if.end94 + +if.then92: ; preds = %land.lhs.true88 + %call93 = call i32* @__errno_location() #25 + %45 = load i32, i32* %call93, align 4 + call void (i32, i32, i8*, ...) @error(i32 0, i32 %45, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.24.133, i64 0, i64 0)) + store i8 0, i8* %ok, align 1 + br label %if.end94 + +if.end94: ; preds = %if.then92, %land.lhs.true88, %if.end85 + %46 = load i8, i8* %ok, align 1 + %tobool95 = trunc i8 %46 to i1 + %47 = zext i1 %tobool95 to i64 + %cond97 = select i1 %tobool95, i32 0, i32 1 + ret i32 %cond97 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_program_name(i8* %argv0) #3 { +entry: + %argv0.addr = alloca i8*, align 8 + %slash = alloca i8*, align 8 + %base = alloca i8*, align 8 + store i8* %argv0, i8** %argv0.addr, align 8 + %0 = load i8*, i8** %argv0.addr, align 8 + %cmp = icmp eq i8* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stderr to %struct._IO_FILE**), align 8 + %call = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.92, i64 0, i64 0), %struct._IO_FILE* %1) + call void @abort() #26 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %argv0.addr, align 8 + %call1 = call i8* @strrchr(i8* %2, i32 47) #23 + store i8* %call1, i8** %slash, align 8 + %3 = load i8*, i8** %slash, align 8 + %cmp2 = icmp ne i8* %3, null + %4 = load i8*, i8** %slash, align 8 + %add.ptr = getelementptr inbounds i8, i8* %4, i64 1 + %5 = load i8*, i8** %argv0.addr, align 8 + %cond = select i1 %cmp2, i8* %add.ptr, i8* %5 + store i8* %cond, i8** %base, align 8 + %6 = load i8*, i8** %base, align 8 + %7 = load i8*, i8** %argv0.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %6 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %cmp3 = icmp sge i64 %sub.ptr.sub, 7 + br i1 %cmp3, label %land.lhs.true, label %if.end13 + +land.lhs.true: ; preds = %if.end + %8 = load i8*, i8** %base, align 8 + %add.ptr4 = getelementptr inbounds i8, i8* %8, i64 -7 + %call5 = call i32 @strncmp(i8* %add.ptr4, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1.93, i64 0, i64 0), i64 7) #23 + %cmp6 = icmp eq i32 %call5, 0 + br i1 %cmp6, label %if.then7, label %if.end13 + +if.then7: ; preds = %land.lhs.true + %9 = load i8*, i8** %base, align 8 + store i8* %9, i8** %argv0.addr, align 8 + %10 = load i8*, i8** %base, align 8 + %call8 = call i32 @strncmp(i8* %10, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2.94, i64 0, i64 0), i64 3) #23 + %cmp9 = icmp eq i32 %call8, 0 + br i1 %cmp9, label %if.then10, label %if.end13 + +if.then10: ; preds = %if.then7 + %11 = load i8*, i8** %base, align 8 + %add.ptr11 = getelementptr inbounds i8, i8* %11, i64 3 + store i8* %add.ptr11, i8** %argv0.addr, align 8 + %12 = load i8*, i8** %argv0.addr, align 8 + store i8* %12, i8** @program_invocation_short_name, align 8 + br label %if.end13 + +if.end13: ; preds = %if.then7, %if.then10, %land.lhs.true, %if.end + %13 = load i8*, i8** %argv0.addr, align 8 + store i8* %13, i8** @program_name, align 8 + %14 = load i8*, i8** %argv0.addr, align 8 + store i8* %14, i8** @program_invocation_name, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @close_stdout() #3 { +entry: + %write_error = alloca i8*, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call = call i32 @close_stream(%struct._IO_FILE* %0) + %cmp = icmp ne i32 %call, 0 + br i1 %cmp, label %land.lhs.true, label %if.end9 + +land.lhs.true: ; preds = %entry + %1 = load i8, i8* @ignore_EPIPE, align 1 + %tobool = trunc i8 %1 to i1 + br i1 %tobool, label %land.lhs.true1, label %if.then + +land.lhs.true1: ; preds = %land.lhs.true + %call2 = call i32* @__errno_location() #25 + %2 = load i32, i32* %call2, align 4 + %cmp3 = icmp eq i32 %2, 32 + br i1 %cmp3, label %if.end9, label %if.then + +if.then: ; preds = %land.lhs.true1, %land.lhs.true + store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.77, i64 0, i64 0), i8** %write_error, align 8 + %3 = load i8*, i8** @file_name, align 8 + %tobool4 = icmp ne i8* %3, null + %call6 = call i32* @__errno_location() #25 + %4 = load i32, i32* %call6, align 4 + br i1 %tobool4, label %if.then5, label %if.else + +if.then5: ; preds = %if.then + %5 = load i8*, i8** @file_name, align 8 + %call7 = call i8* @quotearg_colon(i8* %5) + %6 = load i8*, i8** %write_error, align 8 + call void (i32, i32, i8*, ...) @error(i32 0, i32 %4, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.78, i64 0, i64 0), i8* %call7, i8* %6) + br label %if.end + +if.else: ; preds = %if.then + %7 = load i8*, i8** %write_error, align 8 + call void (i32, i32, i8*, ...) @error(i32 0, i32 %4, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2.79, i64 0, i64 0), i8* %7) + br label %if.end + +if.end: ; preds = %if.else, %if.then5 + %8 = load volatile i32, i32* @exit_failure, align 4 + call void @_exit(i32 %8) #24 + unreachable + +if.end9: ; preds = %land.lhs.true1, %entry + %9 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stderr to %struct._IO_FILE**), align 8 + %call10 = call i32 @close_stream(%struct._IO_FILE* %9) + %cmp11 = icmp ne i32 %call10, 0 + br i1 %cmp11, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.end9 + %10 = load volatile i32, i32* @exit_failure, align 4 + call void @_exit(i32 %10) #24 + unreachable + +if.end13: ; preds = %if.end9 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xstrdup(i8* %string) #3 { +entry: + %string.addr = alloca i8*, align 8 + store i8* %string, i8** %string.addr, align 8 + %0 = load i8*, i8** %string.addr, align 8 + %1 = load i8*, i8** %string.addr, align 8 + %call = call i64 @strlen(i8* %1) #23 + %add = add i64 %call, 1 + %call1 = call i8* @xmemdup(i8* %0, i64 %add) + ret i8* %call1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, ...) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors = alloca [1 x %struct.__va_list_tag.0], align 16 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %authors, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %1 = load i8*, i8** %command_name.addr, align 8 + %2 = load i8*, i8** %package.addr, align 8 + %3 = load i8*, i8** %version.addr, align 8 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %authors, i64 0, i64 0 + call void @version_etc_va(%struct._IO_FILE* %0, i8* %1, i8* %2, i8* %3, %struct.__va_list_tag.0* %arraydecay2) + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %authors, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_fields(i8* %fieldstr, i32 %options) #3 { +entry: + %fieldstr.addr = alloca i8*, align 8 + %options.addr = alloca i32, align 4 + %initial = alloca i64, align 8 + %value = alloca i64, align 8 + %lhs_specified = alloca i8, align 1 + %rhs_specified = alloca i8, align 1 + %dash_found = alloca i8, align 1 + %in_digits = alloca i8, align 1 + %len = alloca i64, align 8 + %bad_num = alloca i8*, align 8 + %i = alloca i64, align 8 + %j = alloca i64, align 8 + store i8* %fieldstr, i8** %fieldstr.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + store i64 1, i64* %initial, align 8 + store i64 0, i64* %value, align 8 + store i8 0, i8* %lhs_specified, align 1 + store i8 0, i8* %rhs_specified, align 1 + store i8 0, i8* %dash_found, align 1 + store i8 0, i8* %in_digits, align 1 + %0 = load i32, i32* %options.addr, align 4 + %and = and i32 %0, 1 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %1 = load i8*, i8** %fieldstr.addr, align 8 + %call = call i32 @strcmp(i8* %1, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.57, i64 0, i64 0)) #23 + %cmp = icmp eq i32 %call, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + store i64 1, i64* %value, align 8 + store i8 1, i8* %lhs_specified, align 1 + store i8 1, i8* %dash_found, align 1 + %2 = load i8*, i8** %fieldstr.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %2, i32 1 + store i8* %incdec.ptr, i8** %fieldstr.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %land.lhs.true, %entry + br label %while.body + +while.body: ; preds = %if.end, %if.end132 + %3 = load i8*, i8** %fieldstr.addr, align 8 + %4 = load i8, i8* %3, align 1 + %conv = sext i8 %4 to i32 + %cmp1 = icmp eq i32 %conv, 45 + br i1 %cmp1, label %if.then3, label %if.else + +if.then3: ; preds = %while.body + store i8 0, i8* %in_digits, align 1 + %5 = load i8, i8* %dash_found, align 1 + %tobool4 = trunc i8 %5 to i1 + br i1 %tobool4, label %do.body, label %if.end8 + +do.body: ; preds = %if.then3 + %6 = load i32, i32* %options.addr, align 4 + %and6 = and i32 %6, 4 + %tobool7 = icmp ne i32 %and6, 0 + %7 = zext i1 %tobool7 to i64 + %cond = select i1 %tobool7, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1.58, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.2.59, i64 0, i64 0) + call void (i32, i32, i8*, ...) @error(i32 0, i32 0, i8* %cond) + call void @usage(i32 1) #24 + unreachable + +if.end8: ; preds = %if.then3 + store i8 1, i8* %dash_found, align 1 + %8 = load i8*, i8** %fieldstr.addr, align 8 + %incdec.ptr9 = getelementptr inbounds i8, i8* %8, i32 1 + store i8* %incdec.ptr9, i8** %fieldstr.addr, align 8 + %9 = load i8, i8* %lhs_specified, align 1 + %tobool10 = trunc i8 %9 to i1 + %tobool10.not = xor i1 %tobool10, true + %10 = load i64, i64* %value, align 8 + %tobool13 = icmp ne i64 %10, 0 + %or.cond = or i1 %tobool10.not, %tobool13 + br i1 %or.cond, label %if.end20, label %do.body15 + +do.body15: ; preds = %if.end8 + %11 = load i32, i32* %options.addr, align 4 + %and16 = and i32 %11, 4 + %tobool17 = icmp ne i32 %and16, 0 + %12 = zext i1 %tobool17 to i64 + %cond18 = select i1 %tobool17, i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.3.60, i64 0, i64 0), i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.4.61, i64 0, i64 0) + call void (i32, i32, i8*, ...) @error(i32 0, i32 0, i8* %cond18) + call void @usage(i32 1) #24 + unreachable + +if.end20: ; preds = %if.end8 + %13 = load i8, i8* %lhs_specified, align 1 + %tobool21 = trunc i8 %13 to i1 + %14 = load i64, i64* %value, align 8 + %cond23 = select i1 %tobool21, i64 %14, i64 1 + store i64 %cond23, i64* %initial, align 8 + store i64 0, i64* %value, align 8 + br label %if.end132 + +if.else: ; preds = %while.body + %15 = load i8*, i8** %fieldstr.addr, align 8 + %16 = load i8, i8* %15, align 1 + %conv24 = sext i8 %16 to i32 + %cmp25 = icmp eq i32 %conv24, 44 + br i1 %cmp25, label %if.then37, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.else + %call27 = call i16** @__ctype_b_loc() #25 + %17 = load i16*, i16** %call27, align 8 + %18 = load i8*, i8** %fieldstr.addr, align 8 + %19 = load i8, i8* %18, align 1 + %call28 = call zeroext i8 @to_uchar.62(i8 signext %19) + %conv29 = zext i8 %call28 to i32 + %idxprom = sext i32 %conv29 to i64 + %arrayidx = getelementptr inbounds i16, i16* %17, i64 %idxprom + %20 = load i16, i16* %arrayidx, align 2 + %conv30 = zext i16 %20 to i32 + %and31 = and i32 %conv30, 1 + %tobool32 = icmp ne i32 %and31, 0 + br i1 %tobool32, label %if.then37, label %lor.lhs.false33 + +lor.lhs.false33: ; preds = %lor.lhs.false + %21 = load i8*, i8** %fieldstr.addr, align 8 + %22 = load i8, i8* %21, align 1 + %conv34 = sext i8 %22 to i32 + %cmp35 = icmp eq i32 %conv34, 0 + br i1 %cmp35, label %if.then37, label %if.else79 + +if.then37: ; preds = %lor.lhs.false33, %lor.lhs.false, %if.else + store i8 0, i8* %in_digits, align 1 + %23 = load i8, i8* %dash_found, align 1 + %tobool38 = trunc i8 %23 to i1 + br i1 %tobool38, label %if.then39, label %if.else62 + +if.then39: ; preds = %if.then37 + store i8 0, i8* %dash_found, align 1 + %24 = load i8, i8* %lhs_specified, align 1 + %tobool40 = trunc i8 %24 to i1 + br i1 %tobool40, label %if.end51, label %land.lhs.true41 + +land.lhs.true41: ; preds = %if.then39 + %25 = load i8, i8* %rhs_specified, align 1 + %tobool42 = trunc i8 %25 to i1 + br i1 %tobool42, label %if.end51, label %if.then43 + +if.then43: ; preds = %land.lhs.true41 + %26 = load i32, i32* %options.addr, align 4 + %and44 = and i32 %26, 1 + %tobool45 = icmp ne i32 %and44, 0 + br i1 %tobool45, label %if.then46, label %do.body48 + +if.then46: ; preds = %if.then43 + store i64 1, i64* %initial, align 8 + br label %if.end51 + +do.body48: ; preds = %if.then43 + call void (i32, i32, i8*, ...) @error(i32 0, i32 0, i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.5.63, i64 0, i64 0)) + call void @usage(i32 1) #24 + unreachable + +if.end51: ; preds = %if.then46, %land.lhs.true41, %if.then39 + %27 = load i8, i8* %rhs_specified, align 1 + %tobool52 = trunc i8 %27 to i1 + br i1 %tobool52, label %if.else54, label %if.then53 + +if.then53: ; preds = %if.end51 + %28 = load i64, i64* %initial, align 8 + call void @add_range_pair(i64 %28, i64 -1) + br label %if.end61 + +if.else54: ; preds = %if.end51 + %29 = load i64, i64* %value, align 8 + %30 = load i64, i64* %initial, align 8 + %cmp55 = icmp ult i64 %29, %30 + br i1 %cmp55, label %do.body58, label %if.end60 + +do.body58: ; preds = %if.else54 + call void (i32, i32, i8*, ...) @error(i32 0, i32 0, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.6.64, i64 0, i64 0)) + call void @usage(i32 1) #24 + unreachable + +if.end60: ; preds = %if.else54 + %31 = load i64, i64* %initial, align 8 + %32 = load i64, i64* %value, align 8 + call void @add_range_pair(i64 %31, i64 %32) + br label %if.end61 + +if.end61: ; preds = %if.end60, %if.then53 + store i64 0, i64* %value, align 8 + br label %if.end72 + +if.else62: ; preds = %if.then37 + %33 = load i64, i64* %value, align 8 + %cmp63 = icmp eq i64 %33, 0 + br i1 %cmp63, label %do.body66, label %if.end71 + +do.body66: ; preds = %if.else62 + %34 = load i32, i32* %options.addr, align 4 + %and67 = and i32 %34, 4 + %tobool68 = icmp ne i32 %and67, 0 + %35 = zext i1 %tobool68 to i64 + %cond69 = select i1 %tobool68, i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.3.60, i64 0, i64 0), i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.4.61, i64 0, i64 0) + call void (i32, i32, i8*, ...) @error(i32 0, i32 0, i8* %cond69) + call void @usage(i32 1) #24 + unreachable + +if.end71: ; preds = %if.else62 + %36 = load i64, i64* %value, align 8 + %37 = load i64, i64* %value, align 8 + call void @add_range_pair(i64 %36, i64 %37) + store i64 0, i64* %value, align 8 + br label %if.end72 + +if.end72: ; preds = %if.end71, %if.end61 + %38 = load i8*, i8** %fieldstr.addr, align 8 + %39 = load i8, i8* %38, align 1 + %conv73 = sext i8 %39 to i32 + %cmp74 = icmp eq i32 %conv73, 0 + br i1 %cmp74, label %while.end, label %if.end77 + +if.end77: ; preds = %if.end72 + %40 = load i8*, i8** %fieldstr.addr, align 8 + %incdec.ptr78 = getelementptr inbounds i8, i8* %40, i32 1 + store i8* %incdec.ptr78, i8** %fieldstr.addr, align 8 + store i8 0, i8* %lhs_specified, align 1 + store i8 0, i8* %rhs_specified, align 1 + br label %if.end132 + +if.else79: ; preds = %lor.lhs.false33 + %41 = load i8*, i8** %fieldstr.addr, align 8 + %42 = load i8, i8* %41, align 1 + %conv80 = sext i8 %42 to i32 + %sub = sub i32 %conv80, 48 + %cmp81 = icmp ule i32 %sub, 9 + br i1 %cmp81, label %if.then83, label %if.else125 + +if.then83: ; preds = %if.else79 + %43 = load i8, i8* %in_digits, align 1 + %tobool84 = trunc i8 %43 to i1 + %44 = load i8*, i8** @set_fields.num_start, align 8 + %tobool86 = icmp ne i8* %44, null + %or.cond1 = and i1 %tobool84, %tobool86 + br i1 %or.cond1, label %if.end88, label %if.then87 + +if.then87: ; preds = %if.then83 + %45 = load i8*, i8** %fieldstr.addr, align 8 + store i8* %45, i8** @set_fields.num_start, align 8 + br label %if.end88 + +if.end88: ; preds = %if.then83, %if.then87 + store i8 1, i8* %in_digits, align 1 + %46 = load i8, i8* %dash_found, align 1 + %tobool89 = trunc i8 %46 to i1 + br i1 %tobool89, label %if.then90, label %if.else91 + +if.then90: ; preds = %if.end88 + store i8 1, i8* %rhs_specified, align 1 + br label %if.end92 + +if.else91: ; preds = %if.end88 + store i8 1, i8* %lhs_specified, align 1 + br label %if.end92 + +if.end92: ; preds = %if.else91, %if.then90 + %cmp93 = icmp eq i64* %value, null + %conv94 = zext i1 %cmp93 to i32 + %47 = load i64, i64* %value, align 8 + %cmp95 = icmp ult i64 1844674407370955161, %47 + br i1 %cmp95, label %cond.end110, label %lor.lhs.false97 + +lor.lhs.false97: ; preds = %if.end92 + %48 = load i64, i64* %value, align 8 + %mul = mul i64 %48, 10 + %49 = load i8*, i8** %fieldstr.addr, align 8 + %50 = load i8, i8* %49, align 1 + %conv98 = sext i8 %50 to i32 + %sub99 = sub nsw i32 %conv98, 48 + %conv100 = sext i32 %sub99 to i64 + %add = add i64 %mul, %conv100 + %51 = load i64, i64* %value, align 8 + %cmp101 = icmp ult i64 %add, %51 + br i1 %cmp101, label %cond.end110, label %cond.false104 + +cond.false104: ; preds = %lor.lhs.false97 + %52 = load i64, i64* %value, align 8 + %mul105 = mul i64 %52, 10 + %53 = load i8*, i8** %fieldstr.addr, align 8 + %54 = load i8, i8* %53, align 1 + %conv106 = sext i8 %54 to i32 + %sub107 = sub nsw i32 %conv106, 48 + %conv108 = sext i32 %sub107 to i64 + %add109 = add i64 %mul105, %conv108 + store i64 %add109, i64* %value, align 8 + br label %cond.end110 + +cond.end110: ; preds = %if.end92, %lor.lhs.false97, %cond.false104 + %cond111 = phi i32 [ 1, %cond.false104 ], [ 0, %lor.lhs.false97 ], [ 0, %if.end92 ] + %tobool112 = icmp eq i32 %cond111, 0 + %55 = load i64, i64* %value, align 8 + %cmp114 = icmp eq i64 %55, -1 + %or.cond2 = or i1 %tobool112, %cmp114 + br i1 %or.cond2, label %if.then116, label %if.end123 + +if.then116: ; preds = %cond.end110 + %56 = load i8*, i8** @set_fields.num_start, align 8 + %call117 = call i64 @strspn(i8* %56, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.7.65, i64 0, i64 0)) #23 + store i64 %call117, i64* %len, align 8 + %57 = load i8*, i8** @set_fields.num_start, align 8 + %58 = load i64, i64* %len, align 8 + %call118 = call noalias i8* @xstrndup(i8* %57, i64 %58) + store i8* %call118, i8** %bad_num, align 8 + %59 = load i32, i32* %options.addr, align 4 + %and119 = and i32 %59, 4 + %tobool120 = icmp ne i32 %and119, 0 + %60 = zext i1 %tobool120 to i64 + %cond121 = select i1 %tobool120, i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.8.66, i64 0, i64 0), i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.9.67, i64 0, i64 0) + %61 = load i8*, i8** %bad_num, align 8 + %call122 = call i8* @quote(i8* %61) + call void (i32, i32, i8*, ...) @error(i32 0, i32 0, i8* %cond121, i8* %call122) + %62 = load i8*, i8** %bad_num, align 8 + call void @free(i8* %62) #11 + call void @usage(i32 1) #24 + unreachable + +if.end123: ; preds = %cond.end110 + %63 = load i8*, i8** %fieldstr.addr, align 8 + %incdec.ptr124 = getelementptr inbounds i8, i8* %63, i32 1 + store i8* %incdec.ptr124, i8** %fieldstr.addr, align 8 + br label %if.end132 + +if.else125: ; preds = %if.else79 + %64 = load i32, i32* %options.addr, align 4 + %and126 = and i32 %64, 4 + %tobool127 = icmp ne i32 %and126, 0 + %65 = zext i1 %tobool127 to i64 + %cond128 = select i1 %tobool127, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.10.68, i64 0, i64 0), i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.11.69, i64 0, i64 0) + %66 = load i8*, i8** %fieldstr.addr, align 8 + %call129 = call i8* @quote(i8* %66) + call void (i32, i32, i8*, ...) @error(i32 0, i32 0, i8* %cond128, i8* %call129) + call void @usage(i32 1) #24 + unreachable + +if.end132: ; preds = %if.end77, %if.end123, %if.end20 + br label %while.body + +while.end: ; preds = %if.end72 + %67 = load i64, i64* @n_frp, align 8 + %tobool133 = icmp ne i64 %67, 0 + br i1 %tobool133, label %if.end140, label %do.body135 + +do.body135: ; preds = %while.end + %68 = load i32, i32* %options.addr, align 4 + %and136 = and i32 %68, 4 + %tobool137 = icmp ne i32 %and136, 0 + %69 = zext i1 %tobool137 to i64 + %cond138 = select i1 %tobool137, i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.12.70, i64 0, i64 0), i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.13.71, i64 0, i64 0) + call void (i32, i32, i8*, ...) @error(i32 0, i32 0, i8* %cond138) + call void @usage(i32 1) #24 + unreachable + +if.end140: ; preds = %while.end + %70 = load %struct.timespec*, %struct.timespec** @frp, align 8 + %71 = bitcast %struct.timespec* %70 to i8* + %72 = load i64, i64* @n_frp, align 8 + call void @qsort(i8* %71, i64 %72, i64 16, i32 (i8*, i8*)* @compare_ranges) + store i64 0, i64* %i, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc177, %if.end140 + %73 = load i64, i64* %i, align 8 + %74 = load i64, i64* @n_frp, align 8 + %cmp141 = icmp ult i64 %73, %74 + br i1 %cmp141, label %for.body, label %for.end179 + +for.body: ; preds = %for.cond + %75 = load i64, i64* %i, align 8 + %add143 = add i64 %75, 1 + store i64 %add143, i64* %j, align 8 + br label %for.cond144 + +for.cond144: ; preds = %cond.end165, %for.body + %76 = load i64, i64* %j, align 8 + %77 = load i64, i64* @n_frp, align 8 + %cmp145 = icmp ult i64 %76, %77 + br i1 %cmp145, label %for.body147, label %for.inc177 + +for.body147: ; preds = %for.cond144 + %78 = load %struct.timespec*, %struct.timespec** @frp, align 8 + %79 = load i64, i64* %j, align 8 + %arrayidx148 = getelementptr inbounds %struct.timespec, %struct.timespec* %78, i64 %79 + %lo = getelementptr inbounds %struct.timespec, %struct.timespec* %arrayidx148, i32 0, i32 0 + %80 = load i64, i64* %lo, align 8 + %81 = load %struct.timespec*, %struct.timespec** @frp, align 8 + %82 = load i64, i64* %i, align 8 + %arrayidx149 = getelementptr inbounds %struct.timespec, %struct.timespec* %81, i64 %82 + %hi = getelementptr inbounds %struct.timespec, %struct.timespec* %arrayidx149, i32 0, i32 1 + %83 = load i64, i64* %hi, align 8 + %cmp150 = icmp ule i64 %80, %83 + br i1 %cmp150, label %if.then152, label %for.inc177 + +if.then152: ; preds = %for.body147 + %84 = load %struct.timespec*, %struct.timespec** @frp, align 8 + %85 = load i64, i64* %j, align 8 + %arrayidx153 = getelementptr inbounds %struct.timespec, %struct.timespec* %84, i64 %85 + %hi154 = getelementptr inbounds %struct.timespec, %struct.timespec* %arrayidx153, i32 0, i32 1 + %86 = load i64, i64* %hi154, align 8 + %87 = load %struct.timespec*, %struct.timespec** @frp, align 8 + %88 = load i64, i64* %i, align 8 + %arrayidx155 = getelementptr inbounds %struct.timespec, %struct.timespec* %87, i64 %88 + %hi156 = getelementptr inbounds %struct.timespec, %struct.timespec* %arrayidx155, i32 0, i32 1 + %89 = load i64, i64* %hi156, align 8 + %cmp157 = icmp ugt i64 %86, %89 + %90 = load %struct.timespec*, %struct.timespec** @frp, align 8 + br i1 %cmp157, label %cond.true159, label %cond.false162 + +cond.true159: ; preds = %if.then152 + %91 = load i64, i64* %j, align 8 + %arrayidx160 = getelementptr inbounds %struct.timespec, %struct.timespec* %90, i64 %91 + %hi161 = getelementptr inbounds %struct.timespec, %struct.timespec* %arrayidx160, i32 0, i32 1 + %92 = load i64, i64* %hi161, align 8 + br label %cond.end165 + +cond.false162: ; preds = %if.then152 + %93 = load i64, i64* %i, align 8 + %arrayidx163 = getelementptr inbounds %struct.timespec, %struct.timespec* %90, i64 %93 + %hi164 = getelementptr inbounds %struct.timespec, %struct.timespec* %arrayidx163, i32 0, i32 1 + %94 = load i64, i64* %hi164, align 8 + br label %cond.end165 + +cond.end165: ; preds = %cond.false162, %cond.true159 + %cond166 = phi i64 [ %92, %cond.true159 ], [ %94, %cond.false162 ] + %95 = load %struct.timespec*, %struct.timespec** @frp, align 8 + %96 = load i64, i64* %i, align 8 + %arrayidx167 = getelementptr inbounds %struct.timespec, %struct.timespec* %95, i64 %96 + %hi168 = getelementptr inbounds %struct.timespec, %struct.timespec* %arrayidx167, i32 0, i32 1 + store i64 %cond166, i64* %hi168, align 8 + %97 = load %struct.timespec*, %struct.timespec** @frp, align 8 + %98 = load i64, i64* %j, align 8 + %add.ptr = getelementptr inbounds %struct.timespec, %struct.timespec* %97, i64 %98 + %99 = bitcast %struct.timespec* %add.ptr to i8* + %100 = load %struct.timespec*, %struct.timespec** @frp, align 8 + %101 = load i64, i64* %j, align 8 + %add.ptr169 = getelementptr inbounds %struct.timespec, %struct.timespec* %100, i64 %101 + %add.ptr170 = getelementptr inbounds %struct.timespec, %struct.timespec* %add.ptr169, i64 1 + %102 = bitcast %struct.timespec* %add.ptr170 to i8* + %103 = load i64, i64* @n_frp, align 8 + %104 = load i64, i64* %j, align 8 + %sub171 = sub i64 %103, %104 + %sub172 = sub i64 %sub171, 1 + %mul173 = mul i64 %sub172, 16 + %105 = call i8* @memmove(i8* %99, i8* %102, i64 %mul173) + %106 = load i64, i64* @n_frp, align 8 + %dec = add i64 %106, -1 + store i64 %dec, i64* @n_frp, align 8 + %107 = load i64, i64* %j, align 8 + %dec174 = add i64 %107, -1 + store i64 %dec174, i64* %j, align 8 + %108 = load i64, i64* %j, align 8 + %inc = add i64 %108, 1 + store i64 %inc, i64* %j, align 8 + br label %for.cond144 + +for.inc177: ; preds = %for.cond144, %for.body147 + %109 = load i64, i64* %i, align 8 + %inc178 = add i64 %109, 1 + store i64 %inc178, i64* %i, align 8 + br label %for.cond + +for.end179: ; preds = %for.cond + %110 = load i32, i32* %options.addr, align 4 + %and180 = and i32 %110, 2 + %tobool181 = icmp ne i32 %and180, 0 + br i1 %tobool181, label %if.then182, label %if.end183 + +if.then182: ; preds = %for.end179 + call void @complement_rp() + br label %if.end183 + +if.end183: ; preds = %if.then182, %for.end179 + %111 = load i64, i64* @n_frp, align 8 + %inc184 = add i64 %111, 1 + store i64 %inc184, i64* @n_frp, align 8 + %112 = load %struct.timespec*, %struct.timespec** @frp, align 8 + %113 = bitcast %struct.timespec* %112 to i8* + %114 = load i64, i64* @n_frp, align 8 + %mul185 = mul i64 %114, 16 + %call186 = call i8* @xrealloc(i8* %113, i64 %mul185) + %115 = bitcast i8* %call186 to %struct.timespec* + store %struct.timespec* %115, %struct.timespec** @frp, align 8 + %116 = load %struct.timespec*, %struct.timespec** @frp, align 8 + %117 = load i64, i64* @n_frp, align 8 + %sub187 = sub i64 %117, 1 + %arrayidx188 = getelementptr inbounds %struct.timespec, %struct.timespec* %116, i64 %sub187 + %hi189 = getelementptr inbounds %struct.timespec, %struct.timespec* %arrayidx188, i32 0, i32 1 + store i64 -1, i64* %hi189, align 8 + %118 = load %struct.timespec*, %struct.timespec** @frp, align 8 + %119 = load i64, i64* @n_frp, align 8 + %sub190 = sub i64 %119, 1 + %arrayidx191 = getelementptr inbounds %struct.timespec, %struct.timespec* %118, i64 %sub190 + %lo192 = getelementptr inbounds %struct.timespec, %struct.timespec* %arrayidx191, i32 0, i32 0 + store i64 -1, i64* %lo192, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal zeroext i1 @cut_file(i8* %file) #3 { +entry: + %retval = alloca i1, align 1 + %file.addr = alloca i8*, align 8 + %stream = alloca %struct._IO_FILE*, align 8 + store i8* %file, i8** %file.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + %call = call i32 @strcmp(i8* %0, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.24.133, i64 0, i64 0)) #23 + %cmp = icmp eq i32 %call, 0 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + store i8 1, i8* @have_read_stdin, align 1 + %1 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdin to %struct._IO_FILE**), align 8 + store %struct._IO_FILE* %1, %struct._IO_FILE** %stream, align 8 + br label %if.end6 + +if.else: ; preds = %entry + %2 = load i8*, i8** %file.addr, align 8 + %call1 = call %struct._IO_FILE* bitcast (%struct.__STDIO_FILE_STRUCT.612* (i8*, i8*)* @fopen to %struct._IO_FILE* (i8*, i8*)*)(i8* %2, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.53, i64 0, i64 0)) + store %struct._IO_FILE* %call1, %struct._IO_FILE** %stream, align 8 + %3 = load %struct._IO_FILE*, %struct._IO_FILE** %stream, align 8 + %cmp2 = icmp eq %struct._IO_FILE* %3, null + br i1 %cmp2, label %if.then3, label %if.end6 + +if.then3: ; preds = %if.else + %call4 = call i32* @__errno_location() #25 + %4 = load i32, i32* %call4, align 4 + %5 = load i8*, i8** %file.addr, align 8 + %call5 = call i8* @quotearg_n_style_colon(i32 0, i32 3, i8* %5) + call void (i32, i32, i8*, ...) @error(i32 0, i32 %4, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.54, i64 0, i64 0), i8* %call5) + store i1 false, i1* %retval, align 1 + br label %return + +if.end6: ; preds = %if.else, %if.then + %6 = load %struct._IO_FILE*, %struct._IO_FILE** %stream, align 8 + call void @fadvise(%struct._IO_FILE* %6, i32 2) + %7 = load %struct._IO_FILE*, %struct._IO_FILE** %stream, align 8 + call void @cut_stream(%struct._IO_FILE* %7) + %8 = load %struct._IO_FILE*, %struct._IO_FILE** %stream, align 8 + %call7 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.592*)* @ferror_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %8) #11 + %tobool = icmp ne i32 %call7, 0 + br i1 %tobool, label %if.then8, label %if.end11 + +if.then8: ; preds = %if.end6 + %call9 = call i32* @__errno_location() #25 + %9 = load i32, i32* %call9, align 4 + %10 = load i8*, i8** %file.addr, align 8 + %call10 = call i8* @quotearg_n_style_colon(i32 0, i32 3, i8* %10) + call void (i32, i32, i8*, ...) @error(i32 0, i32 %9, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.54, i64 0, i64 0), i8* %call10) + store i1 false, i1* %retval, align 1 + br label %return + +if.end11: ; preds = %if.end6 + %11 = load i8*, i8** %file.addr, align 8 + %call12 = call i32 @strcmp(i8* %11, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.24.133, i64 0, i64 0)) #23 + %cmp13 = icmp eq i32 %call12, 0 + %12 = load %struct._IO_FILE*, %struct._IO_FILE** %stream, align 8 + br i1 %cmp13, label %if.then14, label %if.else15 + +if.then14: ; preds = %if.end11 + call void bitcast (void (%struct.__STDIO_FILE_STRUCT.581*)* @clearerr_unlocked to void (%struct._IO_FILE*)*)(%struct._IO_FILE* %12) #11 + br label %if.end22 + +if.else15: ; preds = %if.end11 + %call16 = call i32 @rpl_fclose(%struct._IO_FILE* %12) + %cmp17 = icmp eq i32 %call16, -1 + br i1 %cmp17, label %if.then18, label %if.end22 + +if.then18: ; preds = %if.else15 + %call19 = call i32* @__errno_location() #25 + %13 = load i32, i32* %call19, align 4 + %14 = load i8*, i8** %file.addr, align 8 + %call20 = call i8* @quotearg_n_style_colon(i32 0, i32 3, i8* %14) + call void (i32, i32, i8*, ...) @error(i32 0, i32 %13, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.54, i64 0, i64 0), i8* %call20) + store i1 false, i1* %retval, align 1 + br label %return + +if.end22: ; preds = %if.else15, %if.then14 + store i1 true, i1* %retval, align 1 + br label %return + +return: ; preds = %if.end22, %if.then18, %if.then8, %if.then3 + %15 = load i1, i1* %retval, align 1 + ret i1 %15 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fclose(%struct._IO_FILE* nonnull %fp) #3 { +entry: + %retval = alloca i32, align 4 + %fp.addr = alloca %struct._IO_FILE*, align 8 + %saved_errno = alloca i32, align 4 + %fd = alloca i32, align 4 + %result = alloca i32, align 4 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + store i32 0, i32* %saved_errno, align 4 + store i32 0, i32* %result, align 4 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %0) #11 + store i32 %call, i32* %fd, align 4 + %1 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %1, 0 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call1 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fclose to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %2) + store i32 %call1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %call2 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.519*)* @__freading to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %2) #11 + %cmp3 = icmp ne i32 %call2, 0 + br i1 %cmp3, label %lor.lhs.false, label %land.lhs.true + +lor.lhs.false: ; preds = %if.end + %3 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call4 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %3) #11 + %call5 = call i64 @lseek(i32 %call4, i64 0, i32 1) #11 + %cmp6 = icmp ne i64 %call5, -1 + br i1 %cmp6, label %land.lhs.true, label %if.end10 + +land.lhs.true: ; preds = %lor.lhs.false, %if.end + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call7 = call i32 @rpl_fflush(%struct._IO_FILE* %4) + %tobool = icmp ne i32 %call7, 0 + br i1 %tobool, label %if.then8, label %if.end10 + +if.then8: ; preds = %land.lhs.true + %call9 = call i32* @__errno_location() #25 + %5 = load i32, i32* %call9, align 4 + store i32 %5, i32* %saved_errno, align 4 + br label %if.end10 + +if.end10: ; preds = %if.then8, %land.lhs.true, %lor.lhs.false + %6 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call11 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fclose to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %6) + store i32 %call11, i32* %result, align 4 + %7 = load i32, i32* %saved_errno, align 4 + %cmp12 = icmp ne i32 %7, 0 + br i1 %cmp12, label %if.then13, label %if.end15 + +if.then13: ; preds = %if.end10 + %8 = load i32, i32* %saved_errno, align 4 + %call14 = call i32* @__errno_location() #25 + store i32 %8, i32* %call14, align 4 + store i32 -1, i32* %result, align 4 + br label %if.end15 + +if.end15: ; preds = %if.then13, %if.end10 + %9 = load i32, i32* %result, align 4 + store i32 %9, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end15, %if.then + %10 = load i32, i32* %retval, align 4 + ret i32 %10 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fflush(%struct._IO_FILE* %stream) #3 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %cmp = icmp eq %struct._IO_FILE* %0, null + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.519*)* @__freading to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %1) #11 + %cmp1 = icmp ne i32 %call, 0 + br i1 %cmp1, label %if.end, label %if.then + +if.then: ; preds = %lor.lhs.false, %entry + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call2 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fflush to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %2) + store i32 %call2, i32* %retval, align 4 + br label %return + +if.end: ; preds = %lor.lhs.false + %3 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + call void @clear_ungetc_buffer_preserving_position(%struct._IO_FILE* %3) + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call3 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fflush to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %4) + store i32 %call3, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %5 = load i32, i32* %retval, align 4 + ret i32 %5 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @clear_ungetc_buffer_preserving_position(%struct._IO_FILE* %fp) #3 { +entry: + %fp.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_flags = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %0, i32 0, i32 0 + %1 = load i32, i32* %_flags, align 8 + %and = and i32 %1, 256 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 @rpl_fseeko(%struct._IO_FILE* %2, i64 0, i32 1) + br label %if.end + +if.end: ; preds = %if.then, %entry + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fseeko(%struct._IO_FILE* nonnull %fp, i64 %offset, i32 %whence) #3 { +entry: + %retval = alloca i32, align 4 + %fp.addr = alloca %struct._IO_FILE*, align 8 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + %pos = alloca i64, align 8 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_read_end = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %0, i32 0, i32 2 + %1 = load i8*, i8** %_IO_read_end, align 8 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_read_ptr = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %2, i32 0, i32 1 + %3 = load i8*, i8** %_IO_read_ptr, align 8 + %cmp = icmp eq i8* %1, %3 + br i1 %cmp, label %land.lhs.true, label %if.end7 + +land.lhs.true: ; preds = %entry + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_write_ptr = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %4, i32 0, i32 5 + %5 = load i8*, i8** %_IO_write_ptr, align 8 + %6 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_write_base = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %6, i32 0, i32 4 + %7 = load i8*, i8** %_IO_write_base, align 8 + %cmp1 = icmp eq i8* %5, %7 + br i1 %cmp1, label %land.lhs.true2, label %if.end7 + +land.lhs.true2: ; preds = %land.lhs.true + %8 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_save_base = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %8, i32 0, i32 9 + %9 = load i8*, i8** %_IO_save_base, align 8 + %cmp3 = icmp eq i8* %9, null + br i1 %cmp3, label %if.then, label %if.end7 + +if.then: ; preds = %land.lhs.true2 + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %10) #11 + %11 = load i64, i64* %offset.addr, align 8 + %12 = load i32, i32* %whence.addr, align 4 + %call4 = call i64 @lseek(i32 %call, i64 %11, i32 %12) #11 + store i64 %call4, i64* %pos, align 8 + %13 = load i64, i64* %pos, align 8 + %cmp5 = icmp eq i64 %13, -1 + br i1 %cmp5, label %if.then6, label %if.end + +if.then6: ; preds = %if.then + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %if.then + %14 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_flags = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %14, i32 0, i32 0 + %15 = load i32, i32* %_flags, align 8 + %and = and i32 %15, -17 + store i32 %and, i32* %_flags, align 8 + %16 = load i64, i64* %pos, align 8 + %17 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_offset = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %17, i32 0, i32 21 + store i64 %16, i64* %_offset, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.end7: ; preds = %land.lhs.true2, %land.lhs.true, %entry + %18 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %19 = load i64, i64* %offset.addr, align 8 + %20 = load i32, i32* %whence.addr, align 4 + %call8 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32)* @fseeko to i32 (%struct._IO_FILE*, i64, i32)*)(%struct._IO_FILE* %18, i64 %19, i32 %20) + store i32 %call8, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end7, %if.end, %if.then6 + %21 = load i32, i32* %retval, align 4 + ret i32 %21 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_style_colon(i32 %n, i32 %s, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %options = alloca %struct.quoting_options, align 8 + %tmp = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + call void @quoting_options_from_style(%struct.quoting_options* sret align 8 %tmp, i32 %0) + %1 = bitcast %struct.quoting_options* %options to i8* + %2 = bitcast %struct.quoting_options* %tmp to i8* + %3 = call i8* @memcpy(i8* %1, i8* %2, i64 56) + %call = call i32 @set_char_quoting(%struct.quoting_options* %options, i8 signext 58, i32 1) + %4 = load i32, i32* %n.addr, align 4 + %5 = load i8*, i8** %arg.addr, align 8 + %call1 = call i8* @quotearg_n_options(i32 %4, i8* %5, i64 -1, %struct.quoting_options* %options) + ret i8* %call1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @fadvise(%struct._IO_FILE* %fp, i32 %advice) #3 { +entry: + %fp.addr = alloca %struct._IO_FILE*, align 8 + %advice.addr = alloca i32, align 4 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + store i32 %advice, i32* %advice.addr, align 4 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %tobool = icmp ne %struct._IO_FILE* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %1) #11 + %2 = load i32, i32* %advice.addr, align 4 + call void @fdadvise(i32 %call, i64 0, i64 0, i32 %2) + br label %if.end + +if.end: ; preds = %if.then, %entry + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @cut_stream(%struct._IO_FILE* %stream) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + %0 = load i32, i32* @operating_mode, align 4 + %cmp = icmp eq i32 %0, 1 + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + call void @cut_bytes(%struct._IO_FILE* %1) + br label %if.end + +if.else: ; preds = %entry + call void @cut_fields(%struct._IO_FILE* %1) + br label %if.end + +if.end: ; preds = %if.else, %if.then + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @cut_bytes(%struct._IO_FILE* %stream) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %byte_idx = alloca i64, align 8 + %print_delimiter = alloca i8, align 1 + %c = alloca i32, align 4 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i64 0, i64* %byte_idx, align 8 + store i8 0, i8* %print_delimiter, align 1 + %0 = load %struct.timespec*, %struct.timespec** @frp, align 8 + store %struct.timespec* %0, %struct.timespec** @current_rp, align 8 + br label %while.body + +while.body: ; preds = %entry, %if.end26 + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @getc_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %1) + store i32 %call, i32* %c, align 4 + %2 = load i32, i32* %c, align 4 + %3 = load i8, i8* @line_delim, align 1 + %conv = zext i8 %3 to i32 + %cmp = icmp eq i32 %2, %conv + %4 = load i32, i32* %c, align 4 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %while.body + %call2 = call i32 @putchar_unlocked(i32 %4) + store i64 0, i64* %byte_idx, align 8 + store i8 0, i8* %print_delimiter, align 1 + %5 = load %struct.timespec*, %struct.timespec** @frp, align 8 + store %struct.timespec* %5, %struct.timespec** @current_rp, align 8 + br label %if.end26 + +if.else: ; preds = %while.body + %cmp3 = icmp eq i32 %4, -1 + br i1 %cmp3, label %if.then5, label %if.else11 + +if.then5: ; preds = %if.else + %6 = load i64, i64* %byte_idx, align 8 + %cmp6 = icmp ugt i64 %6, 0 + br i1 %cmp6, label %if.then8, label %while.end + +if.then8: ; preds = %if.then5 + %7 = load i8, i8* @line_delim, align 1 + %conv9 = zext i8 %7 to i32 + %call10 = call i32 @putchar_unlocked(i32 %conv9) + br label %while.end + +if.else11: ; preds = %if.else + call void @next_item(i64* %byte_idx) + %8 = load i64, i64* %byte_idx, align 8 + %call12 = call zeroext i1 @print_kth(i64 %8) + br i1 %call12, label %if.then13, label %if.end26 + +if.then13: ; preds = %if.else11 + %9 = load i8, i8* @output_delimiter_specified, align 1 + %tobool = trunc i8 %9 to i1 + br i1 %tobool, label %if.then14, label %if.end22 + +if.then14: ; preds = %if.then13 + %10 = load i8, i8* %print_delimiter, align 1 + %tobool15 = trunc i8 %10 to i1 + br i1 %tobool15, label %land.lhs.true, label %if.end21 + +land.lhs.true: ; preds = %if.then14 + %11 = load i64, i64* %byte_idx, align 8 + %call17 = call zeroext i1 @is_range_start_index(i64 %11) + br i1 %call17, label %if.then19, label %if.end21 + +if.then19: ; preds = %land.lhs.true + %12 = load i8*, i8** @output_delimiter_string, align 8 + %13 = load i64, i64* @output_delimiter_length, align 8 + %14 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call20 = call i64 bitcast (i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*)* @fwrite_unlocked to i64 (i8*, i64, i64, %struct._IO_FILE*)*)(i8* %12, i64 1, i64 %13, %struct._IO_FILE* %14) + br label %if.end21 + +if.end21: ; preds = %if.then19, %land.lhs.true, %if.then14 + store i8 1, i8* %print_delimiter, align 1 + br label %if.end22 + +if.end22: ; preds = %if.end21, %if.then13 + %15 = load i32, i32* %c, align 4 + %call23 = call i32 @putchar_unlocked(i32 %15) + br label %if.end26 + +if.end26: ; preds = %if.end22, %if.else11, %if.then + br label %while.body + +while.end: ; preds = %if.then5, %if.then8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @cut_fields(%struct._IO_FILE* %stream) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %c = alloca i32, align 4 + %field_idx = alloca i64, align 8 + %found_any_selected_field = alloca i8, align 1 + %buffer_first_field = alloca i8, align 1 + %len = alloca i64, align 8 + %n_bytes = alloca i64, align 8 + %last_c = alloca i32, align 4 + %prev_c = alloca i32, align 4 + %last_c113 = alloca i32, align 4 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i64 1, i64* %field_idx, align 8 + store i8 0, i8* %found_any_selected_field, align 1 + %0 = load %struct.timespec*, %struct.timespec** @frp, align 8 + store %struct.timespec* %0, %struct.timespec** @current_rp, align 8 + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @getc_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %1) + store i32 %call, i32* %c, align 4 + %2 = load i32, i32* %c, align 4 + %cmp = icmp eq i32 %2, -1 + br i1 %cmp, label %while.end166, label %if.end + +if.end: ; preds = %entry + %3 = load i32, i32* %c, align 4 + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call1 = call i32 bitcast (i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @ungetc to i32 (i32, %struct._IO_FILE*)*)(i32 %3, %struct._IO_FILE* %4) + store i32 0, i32* %c, align 4 + %5 = load i8, i8* @suppress_non_delimited, align 1 + %tobool = trunc i8 %5 to i1 + %conv = zext i1 %tobool to i32 + %call2 = call zeroext i1 @print_kth(i64 1) + %lnot = xor i1 %call2, true + %lnot.ext = zext i1 %lnot to i32 + %xor = xor i32 %conv, %lnot.ext + %tobool3 = icmp ne i32 %xor, 0 + %frombool = zext i1 %tobool3 to i8 + store i8 %frombool, i8* %buffer_first_field, align 1 + br label %while.body + +while.body: ; preds = %if.end, %if.end47, %if.end165 + %6 = load i64, i64* %field_idx, align 8 + %cmp4 = icmp eq i64 %6, 1 + br i1 %cmp4, label %land.lhs.true, label %if.end67 + +land.lhs.true: ; preds = %while.body + %7 = load i8, i8* %buffer_first_field, align 1 + %tobool6 = trunc i8 %7 to i1 + br i1 %tobool6, label %if.then8, label %if.end67 + +if.then8: ; preds = %land.lhs.true + %8 = load i8, i8* @delim, align 1 + %conv9 = zext i8 %8 to i32 + %9 = load i8, i8* @line_delim, align 1 + %conv10 = zext i8 %9 to i32 + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call11 = call i64 @getndelim2(i8** @field_1_buffer, i64* @field_1_bufsize, i64 0, i64 -1, i32 %conv9, i32 %conv10, %struct._IO_FILE* %10) + store i64 %call11, i64* %len, align 8 + %11 = load i64, i64* %len, align 8 + %cmp12 = icmp slt i64 %11, 0 + br i1 %cmp12, label %if.then14, label %if.end21 + +if.then14: ; preds = %if.then8 + %12 = load i8*, i8** @field_1_buffer, align 8 + call void @free(i8* %12) #11 + store i8* null, i8** @field_1_buffer, align 8 + %13 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call15 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.592*)* @ferror_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %13) #11 + %tobool16 = icmp ne i32 %call15, 0 + br i1 %tobool16, label %while.end166, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then14 + %14 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call17 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.590*)* @feof_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %14) #11 + %tobool18 = icmp ne i32 %call17, 0 + br i1 %tobool18, label %while.end166, label %if.end20 + +if.end20: ; preds = %lor.lhs.false + call void @xalloc_die() #24 + unreachable + +if.end21: ; preds = %if.then8 + %15 = load i64, i64* %len, align 8 + store i64 %15, i64* %n_bytes, align 8 + %16 = load i64, i64* %n_bytes, align 8 + %cmp22 = icmp ne i64 %16, 0 + br i1 %cmp22, label %if.end25, label %if.else + +if.else: ; preds = %if.end21 + call void @__assert_fail(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.55, i64 0, i64 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.56, i64 0, i64 0), i32 329, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @__PRETTY_FUNCTION__.cut_fields, i64 0, i64 0)) #26 + unreachable + +if.end25: ; preds = %if.end21 + store i32 0, i32* %c, align 4 + %17 = load i8*, i8** @field_1_buffer, align 8 + %18 = load i64, i64* %n_bytes, align 8 + %sub = sub i64 %18, 1 + %arrayidx = getelementptr inbounds i8, i8* %17, i64 %sub + %19 = load i8, i8* %arrayidx, align 1 + %call26 = call zeroext i8 @to_uchar(i8 signext %19) + %conv27 = zext i8 %call26 to i32 + %20 = load i8, i8* @delim, align 1 + %conv28 = zext i8 %20 to i32 + %cmp29 = icmp ne i32 %conv27, %conv28 + br i1 %cmp29, label %if.then31, label %if.end48 + +if.then31: ; preds = %if.end25 + %21 = load i8, i8* @suppress_non_delimited, align 1 + %tobool32 = trunc i8 %21 to i1 + br i1 %tobool32, label %if.end47, label %if.else34 + +if.else34: ; preds = %if.then31 + %22 = load i8*, i8** @field_1_buffer, align 8 + %23 = load i64, i64* %n_bytes, align 8 + %24 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call35 = call i64 bitcast (i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*)* @fwrite_unlocked to i64 (i8*, i64, i64, %struct._IO_FILE*)*)(i8* %22, i64 1, i64 %23, %struct._IO_FILE* %24) + %25 = load i8*, i8** @field_1_buffer, align 8 + %26 = load i64, i64* %n_bytes, align 8 + %sub36 = sub i64 %26, 1 + %arrayidx37 = getelementptr inbounds i8, i8* %25, i64 %sub36 + %27 = load i8, i8* %arrayidx37, align 1 + %conv38 = sext i8 %27 to i32 + %28 = load i8, i8* @line_delim, align 1 + %conv39 = zext i8 %28 to i32 + %cmp40 = icmp ne i32 %conv38, %conv39 + br i1 %cmp40, label %if.then42, label %if.end45 + +if.then42: ; preds = %if.else34 + %29 = load i8, i8* @line_delim, align 1 + %conv43 = zext i8 %29 to i32 + %call44 = call i32 @putchar_unlocked(i32 %conv43) + br label %if.end45 + +if.end45: ; preds = %if.then42, %if.else34 + %30 = load i8, i8* @line_delim, align 1 + %conv46 = zext i8 %30 to i32 + store i32 %conv46, i32* %c, align 4 + br label %if.end47 + +if.end47: ; preds = %if.then31, %if.end45 + br label %while.body + +if.end48: ; preds = %if.end25 + %call49 = call zeroext i1 @print_kth(i64 1) + br i1 %call49, label %if.then50, label %if.end66 + +if.then50: ; preds = %if.end48 + %31 = load i8*, i8** @field_1_buffer, align 8 + %32 = load i64, i64* %n_bytes, align 8 + %sub51 = sub i64 %32, 1 + %33 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call52 = call i64 bitcast (i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*)* @fwrite_unlocked to i64 (i8*, i64, i64, %struct._IO_FILE*)*)(i8* %31, i64 1, i64 %sub51, %struct._IO_FILE* %33) + %34 = load i8, i8* @delim, align 1 + %conv53 = zext i8 %34 to i32 + %35 = load i8, i8* @line_delim, align 1 + %conv54 = zext i8 %35 to i32 + %cmp55 = icmp eq i32 %conv53, %conv54 + br i1 %cmp55, label %if.then57, label %if.else64 + +if.then57: ; preds = %if.then50 + %36 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call58 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @getc_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %36) + store i32 %call58, i32* %last_c, align 4 + %37 = load i32, i32* %last_c, align 4 + %cmp59 = icmp ne i32 %37, -1 + br i1 %cmp59, label %if.then61, label %if.end66 + +if.then61: ; preds = %if.then57 + %38 = load i32, i32* %last_c, align 4 + %39 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call62 = call i32 bitcast (i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @ungetc to i32 (i32, %struct._IO_FILE*)*)(i32 %38, %struct._IO_FILE* %39) + store i8 1, i8* %found_any_selected_field, align 1 + br label %if.end66 + +if.else64: ; preds = %if.then50 + store i8 1, i8* %found_any_selected_field, align 1 + br label %if.end66 + +if.end66: ; preds = %if.else64, %if.then61, %if.then57, %if.end48 + call void @next_item(i64* %field_idx) + br label %if.end67 + +if.end67: ; preds = %if.end66, %land.lhs.true, %while.body + %40 = load i32, i32* %c, align 4 + store i32 %40, i32* %prev_c, align 4 + %41 = load i64, i64* %field_idx, align 8 + %call68 = call zeroext i1 @print_kth(i64 %41) + br i1 %call68, label %if.then69, label %while.cond88 + +if.then69: ; preds = %if.end67 + %42 = load i8, i8* %found_any_selected_field, align 1 + %tobool70 = trunc i8 %42 to i1 + br i1 %tobool70, label %if.then71, label %if.end73 + +if.then71: ; preds = %if.then69 + %43 = load i8*, i8** @output_delimiter_string, align 8 + %44 = load i64, i64* @output_delimiter_length, align 8 + %45 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call72 = call i64 bitcast (i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*)* @fwrite_unlocked to i64 (i8*, i64, i64, %struct._IO_FILE*)*)(i8* %43, i64 1, i64 %44, %struct._IO_FILE* %45) + br label %if.end73 + +if.end73: ; preds = %if.then71, %if.then69 + store i8 1, i8* %found_any_selected_field, align 1 + br label %while.cond74 + +while.cond74: ; preds = %while.body85, %if.end73 + %46 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call75 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @getc_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %46) + store i32 %call75, i32* %c, align 4 + %47 = load i8, i8* @delim, align 1 + %conv76 = zext i8 %47 to i32 + %cmp77 = icmp ne i32 %call75, %conv76 + br i1 %cmp77, label %land.lhs.true79, label %if.end103 + +land.lhs.true79: ; preds = %while.cond74 + %48 = load i32, i32* %c, align 4 + %49 = load i8, i8* @line_delim, align 1 + %conv80 = zext i8 %49 to i32 + %cmp81 = icmp ne i32 %48, %conv80 + %50 = load i32, i32* %c, align 4 + %cmp83 = icmp ne i32 %50, -1 + %or.cond4 = and i1 %cmp81, %cmp83 + br i1 %or.cond4, label %while.body85, label %if.end103 + +while.body85: ; preds = %land.lhs.true79 + %51 = load i32, i32* %c, align 4 + %call86 = call i32 @putchar_unlocked(i32 %51) + %52 = load i32, i32* %c, align 4 + store i32 %52, i32* %prev_c, align 4 + br label %while.cond74 + +while.cond88: ; preds = %if.end67, %while.body101 + %53 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call89 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @getc_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %53) + store i32 %call89, i32* %c, align 4 + %54 = load i8, i8* @delim, align 1 + %conv90 = zext i8 %54 to i32 + %cmp91 = icmp ne i32 %call89, %conv90 + br i1 %cmp91, label %land.lhs.true93, label %if.end103 + +land.lhs.true93: ; preds = %while.cond88 + %55 = load i32, i32* %c, align 4 + %56 = load i8, i8* @line_delim, align 1 + %conv94 = zext i8 %56 to i32 + %cmp95 = icmp ne i32 %55, %conv94 + %57 = load i32, i32* %c, align 4 + %cmp98 = icmp ne i32 %57, -1 + %or.cond5 = and i1 %cmp95, %cmp98 + br i1 %or.cond5, label %while.body101, label %if.end103 + +while.body101: ; preds = %land.lhs.true93 + %58 = load i32, i32* %c, align 4 + store i32 %58, i32* %prev_c, align 4 + br label %while.cond88 + +if.end103: ; preds = %land.lhs.true93, %while.cond88, %land.lhs.true79, %while.cond74 + %59 = load i8, i8* @delim, align 1 + %conv104 = zext i8 %59 to i32 + %60 = load i8, i8* @line_delim, align 1 + %conv105 = zext i8 %60 to i32 + %cmp106 = icmp eq i32 %conv104, %conv105 + br i1 %cmp106, label %land.lhs.true108, label %if.end121 + +land.lhs.true108: ; preds = %if.end103 + %61 = load i32, i32* %c, align 4 + %62 = load i8, i8* @delim, align 1 + %conv109 = zext i8 %62 to i32 + %cmp110 = icmp eq i32 %61, %conv109 + br i1 %cmp110, label %if.then112, label %if.end121 + +if.then112: ; preds = %land.lhs.true108 + %63 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call114 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @getc_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %63) + store i32 %call114, i32* %last_c113, align 4 + %64 = load i32, i32* %last_c113, align 4 + %cmp115 = icmp ne i32 %64, -1 + %65 = load i32, i32* %last_c113, align 4 + br i1 %cmp115, label %if.then117, label %if.else119 + +if.then117: ; preds = %if.then112 + %66 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call118 = call i32 bitcast (i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @ungetc to i32 (i32, %struct._IO_FILE*)*)(i32 %65, %struct._IO_FILE* %66) + br label %if.end121 + +if.else119: ; preds = %if.then112 + store i32 %65, i32* %c, align 4 + br label %if.end121 + +if.end121: ; preds = %if.then117, %if.else119, %land.lhs.true108, %if.end103 + %67 = load i32, i32* %c, align 4 + %68 = load i8, i8* @delim, align 1 + %conv122 = zext i8 %68 to i32 + %cmp123 = icmp eq i32 %67, %conv122 + br i1 %cmp123, label %if.then125, label %if.else126 + +if.then125: ; preds = %if.end121 + call void @next_item(i64* %field_idx) + br label %if.end165 + +if.else126: ; preds = %if.end121 + %69 = load i32, i32* %c, align 4 + %70 = load i8, i8* @line_delim, align 1 + %conv127 = zext i8 %70 to i32 + %cmp128 = icmp eq i32 %69, %conv127 + %71 = load i32, i32* %c, align 4 + %cmp131 = icmp eq i32 %71, -1 + %or.cond = or i1 %cmp128, %cmp131 + br i1 %or.cond, label %if.then133, label %if.end165 + +if.then133: ; preds = %if.else126 + %72 = load i8, i8* %found_any_selected_field, align 1 + %tobool134 = trunc i8 %72 to i1 + br i1 %tobool134, label %if.then142, label %lor.lhs.false136 + +lor.lhs.false136: ; preds = %if.then133 + %73 = load i8, i8* @suppress_non_delimited, align 1 + %tobool137 = trunc i8 %73 to i1 + %74 = load i64, i64* %field_idx, align 8 + %cmp140 = icmp eq i64 %74, 1 + %or.cond3 = and i1 %tobool137, %cmp140 + br i1 %or.cond3, label %if.end159, label %if.then142 + +if.then142: ; preds = %lor.lhs.false136, %if.then133 + %75 = load i32, i32* %c, align 4 + %76 = load i8, i8* @line_delim, align 1 + %conv143 = zext i8 %76 to i32 + %cmp144 = icmp eq i32 %75, %conv143 + br i1 %cmp144, label %if.then155, label %lor.lhs.false146 + +lor.lhs.false146: ; preds = %if.then142 + %77 = load i32, i32* %prev_c, align 4 + %78 = load i8, i8* @line_delim, align 1 + %conv147 = zext i8 %78 to i32 + %cmp148 = icmp ne i32 %77, %conv147 + br i1 %cmp148, label %if.then155, label %lor.lhs.false150 + +lor.lhs.false150: ; preds = %lor.lhs.false146 + %79 = load i8, i8* @delim, align 1 + %conv151 = zext i8 %79 to i32 + %80 = load i8, i8* @line_delim, align 1 + %conv152 = zext i8 %80 to i32 + %cmp153 = icmp eq i32 %conv151, %conv152 + br i1 %cmp153, label %if.then155, label %if.end159 + +if.then155: ; preds = %lor.lhs.false150, %lor.lhs.false146, %if.then142 + %81 = load i8, i8* @line_delim, align 1 + %conv156 = zext i8 %81 to i32 + %call157 = call i32 @putchar_unlocked(i32 %conv156) + br label %if.end159 + +if.end159: ; preds = %lor.lhs.false150, %if.then155, %lor.lhs.false136 + %82 = load i32, i32* %c, align 4 + %cmp160 = icmp eq i32 %82, -1 + br i1 %cmp160, label %while.end166, label %if.end163 + +if.end163: ; preds = %if.end159 + store i64 1, i64* %field_idx, align 8 + %83 = load %struct.timespec*, %struct.timespec** @frp, align 8 + store %struct.timespec* %83, %struct.timespec** @current_rp, align 8 + store i8 0, i8* %found_any_selected_field, align 1 + br label %if.end165 + +if.end165: ; preds = %if.end163, %if.else126, %if.then125 + br label %while.body + +while.end166: ; preds = %if.end159, %if.then14, %lor.lhs.false, %entry + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal zeroext i1 @print_kth(i64 %k) #3 { +entry: + %k.addr = alloca i64, align 8 + store i64 %k, i64* %k.addr, align 8 + %0 = load %struct.timespec*, %struct.timespec** @current_rp, align 8 + %lo = getelementptr inbounds %struct.timespec, %struct.timespec* %0, i32 0, i32 0 + %1 = load i64, i64* %lo, align 8 + %2 = load i64, i64* %k.addr, align 8 + %cmp = icmp ule i64 %1, %2 + ret i1 %cmp +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @getndelim2(i8** %lineptr, i64* %linesize, i64 %offset, i64 %nmax, i32 %delim1, i32 %delim2, %struct._IO_FILE* %stream) #3 { +entry: + %retval = alloca i64, align 8 + %lineptr.addr = alloca i8**, align 8 + %linesize.addr = alloca i64*, align 8 + %offset.addr = alloca i64, align 8 + %nmax.addr = alloca i64, align 8 + %delim1.addr = alloca i32, align 4 + %delim2.addr = alloca i32, align 4 + %stream.addr = alloca %struct._IO_FILE*, align 8 + %nbytes_avail = alloca i64, align 8 + %read_pos = alloca i8*, align 8 + %bytes_stored = alloca i64, align 8 + %ptr = alloca i8*, align 8 + %size = alloca i64, align 8 + %found_delimiter = alloca i8, align 1 + %c = alloca i32, align 4 + %buffer = alloca i8*, align 8 + %buffer_len = alloca i64, align 8 + %end = alloca i8*, align 8 + %newsize = alloca i64, align 8 + %newptr = alloca i8*, align 8 + %newsizemax = alloca i64, align 8 + %copy_len = alloca i64, align 8 + store i8** %lineptr, i8*** %lineptr.addr, align 8 + store i64* %linesize, i64** %linesize.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + store i64 %nmax, i64* %nmax.addr, align 8 + store i32 %delim1, i32* %delim1.addr, align 4 + store i32 %delim2, i32* %delim2.addr, align 4 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i64 -1, i64* %bytes_stored, align 8 + %0 = load i8**, i8*** %lineptr.addr, align 8 + %1 = load i8*, i8** %0, align 8 + store i8* %1, i8** %ptr, align 8 + %2 = load i64*, i64** %linesize.addr, align 8 + %3 = load i64, i64* %2, align 8 + store i64 %3, i64* %size, align 8 + %4 = load i8*, i8** %ptr, align 8 + %tobool = icmp ne i8* %4, null + br i1 %tobool, label %if.end3, label %if.then + +if.then: ; preds = %entry + %5 = load i64, i64* %nmax.addr, align 8 + %cmp = icmp ult i64 %5, 64 + %6 = load i64, i64* %nmax.addr, align 8 + %cond = select i1 %cmp, i64 %6, i64 64 + store i64 %cond, i64* %size, align 8 + %7 = load i64, i64* %size, align 8 + %call = call noalias i8* @malloc(i64 %7) #11 + store i8* %call, i8** %ptr, align 8 + %8 = load i8*, i8** %ptr, align 8 + %tobool1 = icmp ne i8* %8, null + br i1 %tobool1, label %if.end3, label %if.then2 + +if.then2: ; preds = %if.then + store i64 -1, i64* %retval, align 8 + br label %return + +if.end3: ; preds = %if.then, %entry + %9 = load i64, i64* %size, align 8 + %10 = load i64, i64* %offset.addr, align 8 + %cmp4 = icmp ult i64 %9, %10 + br i1 %cmp4, label %done, label %if.end6 + +if.end6: ; preds = %if.end3 + %11 = load i64, i64* %size, align 8 + %12 = load i64, i64* %offset.addr, align 8 + %sub = sub i64 %11, %12 + store i64 %sub, i64* %nbytes_avail, align 8 + %13 = load i8*, i8** %ptr, align 8 + %14 = load i64, i64* %offset.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %13, i64 %14 + store i8* %add.ptr, i8** %read_pos, align 8 + %15 = load i64, i64* %nbytes_avail, align 8 + %cmp7 = icmp eq i64 %15, 0 + br i1 %cmp7, label %land.lhs.true, label %if.end10 + +land.lhs.true: ; preds = %if.end6 + %16 = load i64, i64* %nmax.addr, align 8 + %17 = load i64, i64* %size, align 8 + %cmp8 = icmp ule i64 %16, %17 + br i1 %cmp8, label %done, label %if.end10 + +if.end10: ; preds = %land.lhs.true, %if.end6 + %18 = load i32, i32* %delim1.addr, align 4 + %cmp11 = icmp eq i32 %18, -1 + %19 = load i32, i32* %delim2.addr, align 4 + br i1 %cmp11, label %if.then12, label %if.else + +if.then12: ; preds = %if.end10 + store i32 %19, i32* %delim1.addr, align 4 + br label %if.end16 + +if.else: ; preds = %if.end10 + %cmp13 = icmp eq i32 %19, -1 + br i1 %cmp13, label %if.then14, label %if.end16 + +if.then14: ; preds = %if.else + %20 = load i32, i32* %delim1.addr, align 4 + store i32 %20, i32* %delim2.addr, align 4 + br label %if.end16 + +if.end16: ; preds = %if.else, %if.then14, %if.then12 + store i8 0, i8* %found_delimiter, align 1 + br label %do.body + +do.body: ; preds = %do.cond, %if.end16 + %21 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call17 = call i8* @freadptr(%struct._IO_FILE* %21, i64* %buffer_len) + store i8* %call17, i8** %buffer, align 8 + %22 = load i8*, i8** %buffer, align 8 + %tobool18 = icmp ne i8* %22, null + br i1 %tobool18, label %if.then19, label %if.else27 + +if.then19: ; preds = %do.body + %23 = load i32, i32* %delim1.addr, align 4 + %cmp20 = icmp ne i32 %23, -1 + br i1 %cmp20, label %if.then21, label %if.end39 + +if.then21: ; preds = %if.then19 + %24 = load i8*, i8** %buffer, align 8 + %25 = load i32, i32* %delim1.addr, align 4 + %26 = load i32, i32* %delim2.addr, align 4 + %27 = load i64, i64* %buffer_len, align 8 + %call22 = call i8* @memchr2(i8* %24, i32 %25, i32 %26, i64 %27) #23 + store i8* %call22, i8** %end, align 8 + %28 = load i8*, i8** %end, align 8 + %tobool23 = icmp ne i8* %28, null + br i1 %tobool23, label %if.then24, label %if.end39 + +if.then24: ; preds = %if.then21 + %29 = load i8*, i8** %end, align 8 + %30 = load i8*, i8** %buffer, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %29 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %30 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %add = add nsw i64 %sub.ptr.sub, 1 + store i64 %add, i64* %buffer_len, align 8 + store i8 1, i8* %found_delimiter, align 1 + br label %if.end39 + +if.else27: ; preds = %do.body + %31 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call28 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @getc_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %31) + store i32 %call28, i32* %c, align 4 + %32 = load i32, i32* %c, align 4 + %cmp29 = icmp eq i32 %32, -1 + br i1 %cmp29, label %if.then30, label %if.end34 + +if.then30: ; preds = %if.else27 + %33 = load i8*, i8** %read_pos, align 8 + %34 = load i8*, i8** %ptr, align 8 + %cmp31 = icmp eq i8* %33, %34 + br i1 %cmp31, label %done, label %do.end + +if.end34: ; preds = %if.else27 + %35 = load i32, i32* %c, align 4 + %36 = load i32, i32* %delim1.addr, align 4 + %cmp35 = icmp eq i32 %35, %36 + br i1 %cmp35, label %if.then37, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end34 + %37 = load i32, i32* %c, align 4 + %38 = load i32, i32* %delim2.addr, align 4 + %cmp36 = icmp eq i32 %37, %38 + br i1 %cmp36, label %if.then37, label %if.end38 + +if.then37: ; preds = %lor.lhs.false, %if.end34 + store i8 1, i8* %found_delimiter, align 1 + br label %if.end38 + +if.end38: ; preds = %if.then37, %lor.lhs.false + store i64 1, i64* %buffer_len, align 8 + br label %if.end39 + +if.end39: ; preds = %if.then19, %if.then24, %if.then21, %if.end38 + %39 = load i64, i64* %nbytes_avail, align 8 + %40 = load i64, i64* %buffer_len, align 8 + %add40 = add i64 %40, 1 + %cmp41 = icmp ult i64 %39, %add40 + br i1 %cmp41, label %land.lhs.true42, label %if.end88 + +land.lhs.true42: ; preds = %if.end39 + %41 = load i64, i64* %size, align 8 + %42 = load i64, i64* %nmax.addr, align 8 + %cmp43 = icmp ult i64 %41, %42 + br i1 %cmp43, label %if.then44, label %if.end88 + +if.then44: ; preds = %land.lhs.true42 + %43 = load i64, i64* %size, align 8 + %cmp45 = icmp ult i64 %43, 64 + %44 = load i64, i64* %size, align 8 + %add47 = add i64 %44, 64 + %mul = mul i64 2, %44 + %cond50 = select i1 %cmp45, i64 %add47, i64 %mul + store i64 %cond50, i64* %newsize, align 8 + %45 = load i64, i64* %newsize, align 8 + %46 = load i8*, i8** %read_pos, align 8 + %47 = load i8*, i8** %ptr, align 8 + %sub.ptr.lhs.cast51 = ptrtoint i8* %46 to i64 + %sub.ptr.rhs.cast52 = ptrtoint i8* %47 to i64 + %sub.ptr.sub53 = sub i64 %sub.ptr.lhs.cast51, %sub.ptr.rhs.cast52 + %sub54 = sub i64 %45, %sub.ptr.sub53 + %48 = load i64, i64* %buffer_len, align 8 + %add55 = add i64 %48, 1 + %cmp56 = icmp ult i64 %sub54, %add55 + br i1 %cmp56, label %if.then57, label %if.end63 + +if.then57: ; preds = %if.then44 + %49 = load i8*, i8** %read_pos, align 8 + %50 = load i8*, i8** %ptr, align 8 + %sub.ptr.lhs.cast58 = ptrtoint i8* %49 to i64 + %sub.ptr.rhs.cast59 = ptrtoint i8* %50 to i64 + %sub.ptr.sub60 = sub i64 %sub.ptr.lhs.cast58, %sub.ptr.rhs.cast59 + %51 = load i64, i64* %buffer_len, align 8 + %add61 = add i64 %sub.ptr.sub60, %51 + %add62 = add i64 %add61, 1 + store i64 %add62, i64* %newsize, align 8 + br label %if.end63 + +if.end63: ; preds = %if.then57, %if.then44 + %52 = load i64, i64* %size, align 8 + %53 = load i64, i64* %newsize, align 8 + %cmp64 = icmp ult i64 %52, %53 + br i1 %cmp64, label %land.lhs.true65, label %if.then67 + +land.lhs.true65: ; preds = %if.end63 + %54 = load i64, i64* %newsize, align 8 + %55 = load i64, i64* %nmax.addr, align 8 + %cmp66 = icmp ule i64 %54, %55 + br i1 %cmp66, label %if.end68, label %if.then67 + +if.then67: ; preds = %land.lhs.true65, %if.end63 + %56 = load i64, i64* %nmax.addr, align 8 + store i64 %56, i64* %newsize, align 8 + br label %if.end68 + +if.end68: ; preds = %if.then67, %land.lhs.true65 + %57 = load i64, i64* %newsize, align 8 + %58 = load i64, i64* %offset.addr, align 8 + %sub69 = sub i64 %57, %58 + %cmp70 = icmp ult i64 9223372036854775807, %sub69 + br i1 %cmp70, label %if.then71, label %if.end77 + +if.then71: ; preds = %if.end68 + %59 = load i64, i64* %offset.addr, align 8 + %add72 = add i64 %59, 9223372036854775807 + %add73 = add i64 %add72, 1 + store i64 %add73, i64* %newsizemax, align 8 + %60 = load i64, i64* %size, align 8 + %61 = load i64, i64* %newsizemax, align 8 + %cmp74 = icmp eq i64 %60, %61 + br i1 %cmp74, label %done, label %if.end76 + +if.end76: ; preds = %if.then71 + %62 = load i64, i64* %newsizemax, align 8 + store i64 %62, i64* %newsize, align 8 + br label %if.end77 + +if.end77: ; preds = %if.end76, %if.end68 + %63 = load i64, i64* %newsize, align 8 + %64 = load i8*, i8** %read_pos, align 8 + %65 = load i8*, i8** %ptr, align 8 + %sub.ptr.lhs.cast78 = ptrtoint i8* %64 to i64 + %sub.ptr.rhs.cast79 = ptrtoint i8* %65 to i64 + %sub.ptr.sub80 = sub i64 %sub.ptr.lhs.cast78, %sub.ptr.rhs.cast79 + %sub81 = sub i64 %63, %sub.ptr.sub80 + store i64 %sub81, i64* %nbytes_avail, align 8 + %66 = load i8*, i8** %ptr, align 8 + %67 = load i64, i64* %newsize, align 8 + %call82 = call i8* @realloc(i8* %66, i64 %67) #11 + store i8* %call82, i8** %newptr, align 8 + %68 = load i8*, i8** %newptr, align 8 + %tobool83 = icmp ne i8* %68, null + br i1 %tobool83, label %if.end85, label %done + +if.end85: ; preds = %if.end77 + %69 = load i8*, i8** %newptr, align 8 + store i8* %69, i8** %ptr, align 8 + %70 = load i64, i64* %newsize, align 8 + store i64 %70, i64* %size, align 8 + %71 = load i64, i64* %size, align 8 + %72 = load i64, i64* %nbytes_avail, align 8 + %sub86 = sub i64 %71, %72 + %73 = load i8*, i8** %ptr, align 8 + %add.ptr87 = getelementptr inbounds i8, i8* %73, i64 %sub86 + store i8* %add.ptr87, i8** %read_pos, align 8 + br label %if.end88 + +if.end88: ; preds = %if.end85, %land.lhs.true42, %if.end39 + %74 = load i64, i64* %nbytes_avail, align 8 + %cmp89 = icmp ult i64 1, %74 + br i1 %cmp89, label %if.then90, label %if.end101 + +if.then90: ; preds = %if.end88 + %75 = load i64, i64* %nbytes_avail, align 8 + %sub91 = sub i64 %75, 1 + store i64 %sub91, i64* %copy_len, align 8 + %76 = load i64, i64* %buffer_len, align 8 + %77 = load i64, i64* %copy_len, align 8 + %cmp92 = icmp ult i64 %76, %77 + br i1 %cmp92, label %if.then93, label %if.end94 + +if.then93: ; preds = %if.then90 + %78 = load i64, i64* %buffer_len, align 8 + store i64 %78, i64* %copy_len, align 8 + br label %if.end94 + +if.end94: ; preds = %if.then93, %if.then90 + %79 = load i8*, i8** %buffer, align 8 + %tobool95 = icmp ne i8* %79, null + br i1 %tobool95, label %if.then96, label %if.else97 + +if.then96: ; preds = %if.end94 + %80 = load i8*, i8** %read_pos, align 8 + %81 = load i8*, i8** %buffer, align 8 + %82 = load i64, i64* %copy_len, align 8 + %83 = call i8* @memcpy(i8* %80, i8* %81, i64 %82) + br label %if.end98 + +if.else97: ; preds = %if.end94 + %84 = load i32, i32* %c, align 4 + %conv = trunc i32 %84 to i8 + %85 = load i8*, i8** %read_pos, align 8 + store i8 %conv, i8* %85, align 1 + br label %if.end98 + +if.end98: ; preds = %if.else97, %if.then96 + %86 = load i64, i64* %copy_len, align 8 + %87 = load i8*, i8** %read_pos, align 8 + %add.ptr99 = getelementptr inbounds i8, i8* %87, i64 %86 + store i8* %add.ptr99, i8** %read_pos, align 8 + %88 = load i64, i64* %copy_len, align 8 + %89 = load i64, i64* %nbytes_avail, align 8 + %sub100 = sub i64 %89, %88 + store i64 %sub100, i64* %nbytes_avail, align 8 + br label %if.end101 + +if.end101: ; preds = %if.end98, %if.end88 + %90 = load i8*, i8** %buffer, align 8 + %tobool102 = icmp ne i8* %90, null + br i1 %tobool102, label %land.lhs.true103, label %do.cond + +land.lhs.true103: ; preds = %if.end101 + %91 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %92 = load i64, i64* %buffer_len, align 8 + %call104 = call i32 @freadseek(%struct._IO_FILE* %91, i64 %92) + %tobool105 = icmp ne i32 %call104, 0 + br i1 %tobool105, label %done, label %do.cond + +do.cond: ; preds = %if.end101, %land.lhs.true103 + %93 = load i8, i8* %found_delimiter, align 1 + %tobool108 = trunc i8 %93 to i1 + %lnot = xor i1 %tobool108, true + br i1 %lnot, label %do.body, label %do.end + +do.end: ; preds = %if.then30, %do.cond + %94 = load i8*, i8** %read_pos, align 8 + store i8 0, i8* %94, align 1 + %95 = load i8*, i8** %read_pos, align 8 + %96 = load i8*, i8** %ptr, align 8 + %97 = load i64, i64* %offset.addr, align 8 + %add.ptr109 = getelementptr inbounds i8, i8* %96, i64 %97 + %sub.ptr.lhs.cast110 = ptrtoint i8* %95 to i64 + %sub.ptr.rhs.cast111 = ptrtoint i8* %add.ptr109 to i64 + %sub.ptr.sub112 = sub i64 %sub.ptr.lhs.cast110, %sub.ptr.rhs.cast111 + store i64 %sub.ptr.sub112, i64* %bytes_stored, align 8 + br label %done + +done: ; preds = %do.end, %if.then30, %if.then71, %if.end77, %land.lhs.true103, %land.lhs.true, %if.end3 + %98 = load i8*, i8** %ptr, align 8 + %99 = load i8**, i8*** %lineptr.addr, align 8 + store i8* %98, i8** %99, align 8 + %100 = load i64, i64* %size, align 8 + %101 = load i64*, i64** %linesize.addr, align 8 + store i64 %100, i64* %101, align 8 + %102 = load i64, i64* %bytes_stored, align 8 + %tobool113 = icmp ne i64 %102, 0 + %103 = load i64, i64* %bytes_stored, align 8 + %cond117 = select i1 %tobool113, i64 %103, i64 -1 + store i64 %cond117, i64* %retval, align 8 + br label %return + +return: ; preds = %done, %if.then2 + %104 = load i64, i64* %retval, align 8 + ret i64 %104 +} + +; Function Attrs: noinline noreturn nounwind uwtable +define dso_local void @xalloc_die() #6 { +entry: + %0 = load volatile i32, i32* @exit_failure, align 4 + call void (i32, i32, i8*, ...) @error(i32 %0, i32 0, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.159, i64 0, i64 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.1.160, i64 0, i64 0)) + call void @abort() #26 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal zeroext i8 @to_uchar(i8 signext %ch) #3 { +entry: + %ch.addr = alloca i8, align 1 + store i8 %ch, i8* %ch.addr, align 1 + %0 = load i8, i8* %ch.addr, align 1 + ret i8 %0 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @next_item(i64* %item_idx) #3 { +entry: + %item_idx.addr = alloca i64*, align 8 + store i64* %item_idx, i64** %item_idx.addr, align 8 + %0 = load i64*, i64** %item_idx.addr, align 8 + %1 = load i64, i64* %0, align 8 + %inc = add i64 %1, 1 + store i64 %inc, i64* %0, align 8 + %2 = load i64*, i64** %item_idx.addr, align 8 + %3 = load i64, i64* %2, align 8 + %4 = load %struct.timespec*, %struct.timespec** @current_rp, align 8 + %hi = getelementptr inbounds %struct.timespec, %struct.timespec* %4, i32 0, i32 1 + %5 = load i64, i64* %hi, align 8 + %cmp = icmp ugt i64 %3, %5 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %6 = load %struct.timespec*, %struct.timespec** @current_rp, align 8 + %incdec.ptr = getelementptr inbounds %struct.timespec, %struct.timespec* %6, i32 1 + store %struct.timespec* %incdec.ptr, %struct.timespec** @current_rp, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @freadptr(%struct._IO_FILE* %fp, i64* %sizep) #3 { +entry: + %retval = alloca i8*, align 8 + %fp.addr = alloca %struct._IO_FILE*, align 8 + %sizep.addr = alloca i64*, align 8 + %size = alloca i64, align 8 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + store i64* %sizep, i64** %sizep.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_write_ptr = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %0, i32 0, i32 5 + %1 = load i8*, i8** %_IO_write_ptr, align 8 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_write_base = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %2, i32 0, i32 4 + %3 = load i8*, i8** %_IO_write_base, align 8 + %cmp = icmp ugt i8* %1, %3 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_read_end = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %4, i32 0, i32 2 + %5 = load i8*, i8** %_IO_read_end, align 8 + %6 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_read_ptr = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %6, i32 0, i32 1 + %7 = load i8*, i8** %_IO_read_ptr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %size, align 8 + %8 = load i64, i64* %size, align 8 + %cmp1 = icmp eq i64 %8, 0 + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + store i8* null, i8** %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %9 = load i64, i64* %size, align 8 + %10 = load i64*, i64** %sizep.addr, align 8 + store i64 %9, i64* %10, align 8 + %11 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_read_ptr4 = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %11, i32 0, i32 1 + %12 = load i8*, i8** %_IO_read_ptr4, align 8 + store i8* %12, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end3, %if.then2, %if.then + %13 = load i8*, i8** %retval, align 8 + ret i8* %13 +} + +; Function Attrs: noinline nounwind readonly uwtable +define dso_local i8* @memchr2(i8* %s, i32 %c1_in, i32 %c2_in, i64 %n) #15 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %c1_in.addr = alloca i32, align 4 + %c2_in.addr = alloca i32, align 4 + %n.addr = alloca i64, align 8 + %char_ptr = alloca i8*, align 8 + %void_ptr = alloca i8*, align 8 + %longword_ptr = alloca i64*, align 8 + %repeated_one = alloca i64, align 8 + %repeated_c1 = alloca i64, align 8 + %repeated_c2 = alloca i64, align 8 + %c1 = alloca i8, align 1 + %c2 = alloca i8, align 1 + %longword1 = alloca i64, align 8 + %longword2 = alloca i64, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c1_in, i32* %c1_in.addr, align 4 + store i32 %c2_in, i32* %c2_in.addr, align 4 + store i64 %n, i64* %n.addr, align 8 + %0 = load i32, i32* %c1_in.addr, align 4 + %conv = trunc i32 %0 to i8 + store i8 %conv, i8* %c1, align 1 + %1 = load i32, i32* %c2_in.addr, align 4 + %conv1 = trunc i32 %1 to i8 + store i8 %conv1, i8* %c2, align 1 + %2 = load i8, i8* %c1, align 1 + %conv2 = zext i8 %2 to i32 + %3 = load i8, i8* %c2, align 1 + %conv3 = zext i8 %3 to i32 + %cmp = icmp eq i32 %conv2, %conv3 + %4 = load i8*, i8** %s.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %5 = load i8, i8* %c1, align 1 + %conv5 = zext i8 %5 to i32 + %6 = load i64, i64* %n.addr, align 8 + %call = call i8* @memchr(i8* %4, i32 %conv5, i64 %6) #23 + store i8* %call, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + store i8* %4, i8** %void_ptr, align 8 + br label %for.cond + +for.cond: ; preds = %if.end19, %if.end + %7 = load i64, i64* %n.addr, align 8 + %cmp6 = icmp ugt i64 %7, 0 + br i1 %cmp6, label %land.rhs, label %land.end + +land.rhs: ; preds = %for.cond + %8 = load i8*, i8** %void_ptr, align 8 + %9 = ptrtoint i8* %8 to i64 + %rem = urem i64 %9, 8 + %cmp8 = icmp ne i64 %rem, 0 + br label %land.end + +land.end: ; preds = %land.rhs, %for.cond + %10 = phi i1 [ false, %for.cond ], [ %cmp8, %land.rhs ] + %11 = load i8*, i8** %void_ptr, align 8 + br i1 %10, label %for.body, label %for.end + +for.body: ; preds = %land.end + store i8* %11, i8** %char_ptr, align 8 + %12 = load i8*, i8** %char_ptr, align 8 + %13 = load i8, i8* %12, align 1 + %conv10 = zext i8 %13 to i32 + %14 = load i8, i8* %c1, align 1 + %conv11 = zext i8 %14 to i32 + %cmp12 = icmp eq i32 %conv10, %conv11 + br i1 %cmp12, label %if.then18, label %lor.lhs.false + +lor.lhs.false: ; preds = %for.body + %15 = load i8*, i8** %char_ptr, align 8 + %16 = load i8, i8* %15, align 1 + %conv14 = zext i8 %16 to i32 + %17 = load i8, i8* %c2, align 1 + %conv15 = zext i8 %17 to i32 + %cmp16 = icmp eq i32 %conv14, %conv15 + br i1 %cmp16, label %if.then18, label %if.end19 + +if.then18: ; preds = %lor.lhs.false, %for.body + %18 = load i8*, i8** %void_ptr, align 8 + store i8* %18, i8** %retval, align 8 + br label %return + +if.end19: ; preds = %lor.lhs.false + %19 = load i8*, i8** %char_ptr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %19, i64 1 + store i8* %add.ptr, i8** %void_ptr, align 8 + %20 = load i64, i64* %n.addr, align 8 + %dec = add i64 %20, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %for.cond + +for.end: ; preds = %land.end + %21 = bitcast i8* %11 to i64* + store i64* %21, i64** %longword_ptr, align 8 + store i64 16843009, i64* %repeated_one, align 8 + %22 = load i8, i8* %c1, align 1 + %conv20 = zext i8 %22 to i32 + %23 = load i8, i8* %c1, align 1 + %conv21 = zext i8 %23 to i32 + %shl = shl i32 %conv21, 8 + %or = or i32 %conv20, %shl + %conv22 = sext i32 %or to i64 + store i64 %conv22, i64* %repeated_c1, align 8 + %24 = load i8, i8* %c2, align 1 + %conv23 = zext i8 %24 to i32 + %25 = load i8, i8* %c2, align 1 + %conv24 = zext i8 %25 to i32 + %shl25 = shl i32 %conv24, 8 + %or26 = or i32 %conv23, %shl25 + %conv27 = sext i32 %or26 to i64 + store i64 %conv27, i64* %repeated_c2, align 8 + %26 = load i64, i64* %repeated_c1, align 8 + %shl28 = shl i64 %26, 16 + %27 = load i64, i64* %repeated_c1, align 8 + %or29 = or i64 %27, %shl28 + store i64 %or29, i64* %repeated_c1, align 8 + %28 = load i64, i64* %repeated_c2, align 8 + %shl30 = shl i64 %28, 16 + %29 = load i64, i64* %repeated_c2, align 8 + %or31 = or i64 %29, %shl30 + store i64 %or31, i64* %repeated_c2, align 8 + %30 = load i64, i64* %repeated_one, align 8 + %shl32 = shl i64 %30, 31 + %shl33 = shl i64 %shl32, 1 + %31 = load i64, i64* %repeated_one, align 8 + %or34 = or i64 %31, %shl33 + store i64 %or34, i64* %repeated_one, align 8 + %32 = load i64, i64* %repeated_c1, align 8 + %shl35 = shl i64 %32, 31 + %shl36 = shl i64 %shl35, 1 + %33 = load i64, i64* %repeated_c1, align 8 + %or37 = or i64 %33, %shl36 + store i64 %or37, i64* %repeated_c1, align 8 + %34 = load i64, i64* %repeated_c2, align 8 + %shl38 = shl i64 %34, 31 + %shl39 = shl i64 %shl38, 1 + %35 = load i64, i64* %repeated_c2, align 8 + %or40 = or i64 %35, %shl39 + store i64 %or40, i64* %repeated_c2, align 8 + br label %while.cond + +while.cond: ; preds = %if.end53, %for.end + %36 = load i64, i64* %n.addr, align 8 + %cmp41 = icmp uge i64 %36, 8 + br i1 %cmp41, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %37 = load i64*, i64** %longword_ptr, align 8 + %38 = load i64, i64* %37, align 8 + %39 = load i64, i64* %repeated_c1, align 8 + %xor = xor i64 %38, %39 + store i64 %xor, i64* %longword1, align 8 + %40 = load i64*, i64** %longword_ptr, align 8 + %41 = load i64, i64* %40, align 8 + %42 = load i64, i64* %repeated_c2, align 8 + %xor43 = xor i64 %41, %42 + store i64 %xor43, i64* %longword2, align 8 + %43 = load i64, i64* %longword1, align 8 + %44 = load i64, i64* %repeated_one, align 8 + %sub = sub i64 %43, %44 + %45 = load i64, i64* %longword1, align 8 + %neg = xor i64 %45, -1 + %and = and i64 %sub, %neg + %46 = load i64, i64* %longword2, align 8 + %47 = load i64, i64* %repeated_one, align 8 + %sub44 = sub i64 %46, %47 + %48 = load i64, i64* %longword2, align 8 + %neg45 = xor i64 %48, -1 + %and46 = and i64 %sub44, %neg45 + %or47 = or i64 %and, %and46 + %49 = load i64, i64* %repeated_one, align 8 + %shl48 = shl i64 %49, 7 + %and49 = and i64 %or47, %shl48 + %cmp50 = icmp ne i64 %and49, 0 + br i1 %cmp50, label %while.end, label %if.end53 + +if.end53: ; preds = %while.body + %50 = load i64*, i64** %longword_ptr, align 8 + %incdec.ptr = getelementptr inbounds i64, i64* %50, i32 1 + store i64* %incdec.ptr, i64** %longword_ptr, align 8 + %51 = load i64, i64* %n.addr, align 8 + %sub54 = sub i64 %51, 8 + store i64 %sub54, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.body, %while.cond + %52 = load i64*, i64** %longword_ptr, align 8 + %53 = bitcast i64* %52 to i8* + store i8* %53, i8** %char_ptr, align 8 + br label %for.cond55 + +for.cond55: ; preds = %for.inc70, %while.end + %54 = load i64, i64* %n.addr, align 8 + %cmp56 = icmp ugt i64 %54, 0 + br i1 %cmp56, label %for.body58, label %for.end73 + +for.body58: ; preds = %for.cond55 + %55 = load i8*, i8** %char_ptr, align 8 + %56 = load i8, i8* %55, align 1 + %conv59 = zext i8 %56 to i32 + %57 = load i8, i8* %c1, align 1 + %conv60 = zext i8 %57 to i32 + %cmp61 = icmp eq i32 %conv59, %conv60 + br i1 %cmp61, label %if.then68, label %lor.lhs.false63 + +lor.lhs.false63: ; preds = %for.body58 + %58 = load i8*, i8** %char_ptr, align 8 + %59 = load i8, i8* %58, align 1 + %conv64 = zext i8 %59 to i32 + %60 = load i8, i8* %c2, align 1 + %conv65 = zext i8 %60 to i32 + %cmp66 = icmp eq i32 %conv64, %conv65 + br i1 %cmp66, label %if.then68, label %for.inc70 + +if.then68: ; preds = %lor.lhs.false63, %for.body58 + %61 = load i8*, i8** %char_ptr, align 8 + store i8* %61, i8** %retval, align 8 + br label %return + +for.inc70: ; preds = %lor.lhs.false63 + %62 = load i64, i64* %n.addr, align 8 + %dec71 = add i64 %62, -1 + store i64 %dec71, i64* %n.addr, align 8 + %63 = load i8*, i8** %char_ptr, align 8 + %incdec.ptr72 = getelementptr inbounds i8, i8* %63, i32 1 + store i8* %incdec.ptr72, i8** %char_ptr, align 8 + br label %for.cond55 + +for.end73: ; preds = %for.cond55 + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %for.end73, %if.then68, %if.then18, %if.then + %64 = load i8*, i8** %retval, align 8 + ret i8* %64 +} + +; Function Attrs: nounwind +declare dso_local i8* @realloc(i8*, i64) #4 + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @freadseek(%struct._IO_FILE* %fp, i64 %offset) #3 { +entry: + %retval = alloca i32, align 4 + %fp.addr = alloca %struct._IO_FILE*, align 8 + %offset.addr = alloca i64, align 8 + %total_buffered = alloca i64, align 8 + %fd = alloca i32, align 4 + %buffered = alloca i64, align 8 + %increment = alloca i64, align 8 + %buf = alloca [4096 x i8], align 16 + %count = alloca i64, align 8 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + %0 = load i64, i64* %offset.addr, align 8 + %cmp = icmp eq i64 %0, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i64 @freadahead(%struct._IO_FILE* %1) #23 + store i64 %call, i64* %total_buffered, align 8 + br label %while.cond + +while.cond: ; preds = %if.end21, %if.end + %2 = load i64, i64* %total_buffered, align 8 + %cmp1 = icmp ugt i64 %2, 0 + br i1 %cmp1, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call2 = call i8* @freadptr(%struct._IO_FILE* %3, i64* %buffered) + %cmp3 = icmp ne i8* %call2, null + %4 = load i64, i64* %buffered, align 8 + %cmp4 = icmp ugt i64 %4, 0 + %or.cond = and i1 %cmp3, %cmp4 + br i1 %or.cond, label %if.then5, label %if.end14 + +if.then5: ; preds = %while.body + %5 = load i64, i64* %buffered, align 8 + %6 = load i64, i64* %offset.addr, align 8 + %cmp6 = icmp ult i64 %5, %6 + %7 = load i64, i64* %buffered, align 8 + %8 = load i64, i64* %offset.addr, align 8 + %cond = select i1 %cmp6, i64 %7, i64 %8 + store i64 %cond, i64* %increment, align 8 + %9 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %10 = load i64, i64* %increment, align 8 + call void @freadptrinc(%struct._IO_FILE* %9, i64 %10) + %11 = load i64, i64* %increment, align 8 + %12 = load i64, i64* %offset.addr, align 8 + %sub = sub i64 %12, %11 + store i64 %sub, i64* %offset.addr, align 8 + %13 = load i64, i64* %offset.addr, align 8 + %cmp7 = icmp eq i64 %13, 0 + br i1 %cmp7, label %if.then8, label %if.end9 + +if.then8: ; preds = %if.then5 + store i32 0, i32* %retval, align 4 + br label %return + +if.end9: ; preds = %if.then5 + %14 = load i64, i64* %increment, align 8 + %15 = load i64, i64* %total_buffered, align 8 + %sub10 = sub i64 %15, %14 + store i64 %sub10, i64* %total_buffered, align 8 + %16 = load i64, i64* %total_buffered, align 8 + %cmp11 = icmp eq i64 %16, 0 + br i1 %cmp11, label %while.end, label %if.end14 + +if.end14: ; preds = %if.end9, %while.body + %17 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call15 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fgetc to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %17) + %cmp16 = icmp eq i32 %call15, -1 + br i1 %cmp16, label %eof, label %if.end18 + +if.end18: ; preds = %if.end14 + %18 = load i64, i64* %offset.addr, align 8 + %dec = add i64 %18, -1 + store i64 %dec, i64* %offset.addr, align 8 + %19 = load i64, i64* %offset.addr, align 8 + %cmp19 = icmp eq i64 %19, 0 + br i1 %cmp19, label %if.then20, label %if.end21 + +if.then20: ; preds = %if.end18 + store i32 0, i32* %retval, align 4 + br label %return + +if.end21: ; preds = %if.end18 + %20 = load i64, i64* %total_buffered, align 8 + %dec22 = add i64 %20, -1 + store i64 %dec22, i64* %total_buffered, align 8 + br label %while.cond + +while.end: ; preds = %if.end9, %while.cond + %21 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call23 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %21) #11 + store i32 %call23, i32* %fd, align 4 + %22 = load i32, i32* %fd, align 4 + %cmp24 = icmp sge i32 %22, 0 + br i1 %cmp24, label %land.lhs.true25, label %if.else + +land.lhs.true25: ; preds = %while.end + %23 = load i32, i32* %fd, align 4 + %call26 = call i64 @lseek(i32 %23, i64 0, i32 1) #11 + %cmp27 = icmp sge i64 %call26, 0 + br i1 %cmp27, label %if.then28, label %if.else + +if.then28: ; preds = %land.lhs.true25 + %24 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %25 = load i64, i64* %offset.addr, align 8 + %call29 = call i32 @rpl_fseeko(%struct._IO_FILE* %24, i64 %25, i32 1) + store i32 %call29, i32* %retval, align 4 + br label %return + +if.else: ; preds = %land.lhs.true25, %while.end + br label %do.body + +do.body: ; preds = %if.end38, %if.else + %26 = load i64, i64* %offset.addr, align 8 + %cmp30 = icmp ult i64 4096, %26 + %27 = load i64, i64* %offset.addr, align 8 + %cond34 = select i1 %cmp30, i64 4096, i64 %27 + store i64 %cond34, i64* %count, align 8 + %arraydecay = getelementptr inbounds [4096 x i8], [4096 x i8]* %buf, i64 0, i64 0 + %28 = load i64, i64* %count, align 8 + %29 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call35 = call i64 bitcast (i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*)* @fread to i64 (i8*, i64, i64, %struct._IO_FILE*)*)(i8* %arraydecay, i64 1, i64 %28, %struct._IO_FILE* %29) + %30 = load i64, i64* %count, align 8 + %cmp36 = icmp ult i64 %call35, %30 + br i1 %cmp36, label %eof, label %if.end38 + +if.end38: ; preds = %do.body + %31 = load i64, i64* %count, align 8 + %32 = load i64, i64* %offset.addr, align 8 + %sub39 = sub i64 %32, %31 + store i64 %sub39, i64* %offset.addr, align 8 + %33 = load i64, i64* %offset.addr, align 8 + %cmp40 = icmp ugt i64 %33, 0 + br i1 %cmp40, label %do.body, label %do.end + +do.end: ; preds = %if.end38 + store i32 0, i32* %retval, align 4 + br label %return + +eof: ; preds = %do.body, %if.end14 + %34 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call41 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.592*)* @ferror to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %34) #11 + %tobool = icmp ne i32 %call41, 0 + br i1 %tobool, label %if.then42, label %if.else43 + +if.then42: ; preds = %eof + store i32 -1, i32* %retval, align 4 + br label %return + +if.else43: ; preds = %eof + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.else43, %if.then42, %do.end, %if.then28, %if.then20, %if.then8, %if.then + %35 = load i32, i32* %retval, align 4 + ret i32 %35 +} + +; Function Attrs: noinline nounwind readonly uwtable +define dso_local i64 @freadahead(%struct._IO_FILE* %fp) #15 { +entry: + %retval = alloca i64, align 8 + %fp.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_write_ptr = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %0, i32 0, i32 5 + %1 = load i8*, i8** %_IO_write_ptr, align 8 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_write_base = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %2, i32 0, i32 4 + %3 = load i8*, i8** %_IO_write_base, align 8 + %cmp = icmp ugt i8* %1, %3 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i64 0, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_read_end = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %4, i32 0, i32 2 + %5 = load i8*, i8** %_IO_read_end, align 8 + %6 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_read_ptr = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %6, i32 0, i32 1 + %7 = load i8*, i8** %_IO_read_ptr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %8 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_flags = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %8, i32 0, i32 0 + %9 = load i32, i32* %_flags, align 8 + %and = and i32 %9, 256 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_save_end = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %10, i32 0, i32 11 + %11 = load i8*, i8** %_IO_save_end, align 8 + %12 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_save_base = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %12, i32 0, i32 9 + %13 = load i8*, i8** %_IO_save_base, align 8 + %sub.ptr.lhs.cast1 = ptrtoint i8* %11 to i64 + %sub.ptr.rhs.cast2 = ptrtoint i8* %13 to i64 + %sub.ptr.sub3 = sub i64 %sub.ptr.lhs.cast1, %sub.ptr.rhs.cast2 + br label %cond.end + +cond.end: ; preds = %if.end, %cond.true + %cond = phi i64 [ %sub.ptr.sub3, %cond.true ], [ 0, %if.end ] + %add = add nsw i64 %sub.ptr.sub, %cond + store i64 %add, i64* %retval, align 8 + br label %return + +return: ; preds = %cond.end, %if.then + %14 = load i64, i64* %retval, align 8 + ret i64 %14 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @freadptrinc(%struct._IO_FILE* %fp, i64 %increment) #3 { +entry: + %fp.addr = alloca %struct._IO_FILE*, align 8 + %increment.addr = alloca i64, align 8 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + store i64 %increment, i64* %increment.addr, align 8 + %0 = load i64, i64* %increment.addr, align 8 + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_read_ptr = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %1, i32 0, i32 1 + %2 = load i8*, i8** %_IO_read_ptr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %2, i64 %0 + store i8* %add.ptr, i8** %_IO_read_ptr, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal zeroext i1 @is_range_start_index(i64 %k) #3 { +entry: + %k.addr = alloca i64, align 8 + store i64 %k, i64* %k.addr, align 8 + %0 = load i64, i64* %k.addr, align 8 + %1 = load %struct.timespec*, %struct.timespec** @current_rp, align 8 + %lo = getelementptr inbounds %struct.timespec, %struct.timespec* %1, i32 0, i32 0 + %2 = load i64, i64* %lo, align 8 + %cmp = icmp eq i64 %0, %2 + ret i1 %cmp +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @fdadvise(i32 %fd, i64 %offset, i64 %len, i32 %advice) #3 { +entry: + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %advice.addr = alloca i32, align 4 + %__x = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store i32 %advice, i32* %advice.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %offset.addr, align 8 + %2 = load i64, i64* %len.addr, align 8 + %3 = load i32, i32* %advice.addr, align 4 + %call = call i32 @posix_fadvise(i32 %0, i64 %1, i64 %2, i32 %3) #11 + store i32 %call, i32* %__x, align 4 + %4 = load i32, i32* %__x, align 4 + ret void +} + +; Function Attrs: nounwind +declare dso_local i32 @posix_fadvise(i32, i64, i64, i32) #4 + +; Function Attrs: noinline nounwind uwtable +define internal void @quoting_options_from_style(%struct.quoting_options* noalias sret align 8 %agg.result, i32 %style) #3 { +entry: + %style.addr = alloca i32, align 4 + store i32 %style, i32* %style.addr, align 4 + %0 = bitcast %struct.quoting_options* %agg.result to i8* + %1 = call i8* @memset(i8* %0, i32 0, i64 56) + %2 = load i32, i32* %style.addr, align 4 + %cmp = icmp eq i32 %2, 10 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @abort() #26 + unreachable + +if.end: ; preds = %entry + %3 = load i32, i32* %style.addr, align 4 + %style1 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %agg.result, i32 0, i32 0 + store i32 %3, i32* %style1, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @set_char_quoting(%struct.quoting_options* %o, i8 signext %c, i32 %i) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %c.addr = alloca i8, align 1 + %i.addr = alloca i32, align 4 + %uc = alloca i8, align 1 + %p = alloca i32*, align 8 + %shift = alloca i32, align 4 + %r = alloca i32, align 4 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i8 %c, i8* %c.addr, align 1 + store i32 %i, i32* %i.addr, align 4 + %0 = load i8, i8* %c.addr, align 1 + store i8 %0, i8* %uc, align 1 + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %1, null + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %2, %struct.quoting_options* @default_quoting_options + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %cond, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %3 = load i8, i8* %uc, align 1 + %conv = zext i8 %3 to i64 + %div = udiv i64 %conv, 32 + %add.ptr = getelementptr inbounds i32, i32* %arraydecay, i64 %div + store i32* %add.ptr, i32** %p, align 8 + %4 = load i8, i8* %uc, align 1 + %conv1 = zext i8 %4 to i64 + %rem = urem i64 %conv1, 32 + %conv2 = trunc i64 %rem to i32 + store i32 %conv2, i32* %shift, align 4 + %5 = load i32*, i32** %p, align 8 + %6 = load i32, i32* %5, align 4 + %7 = load i32, i32* %shift, align 4 + %shr = lshr i32 %6, %7 + %and = and i32 %shr, 1 + store i32 %and, i32* %r, align 4 + %8 = load i32, i32* %i.addr, align 4 + %and3 = and i32 %8, 1 + %9 = load i32, i32* %r, align 4 + %xor = xor i32 %and3, %9 + %10 = load i32, i32* %shift, align 4 + %shl = shl i32 %xor, %10 + %11 = load i32*, i32** %p, align 8 + %12 = load i32, i32* %11, align 4 + %xor4 = xor i32 %12, %shl + store i32 %xor4, i32* %11, align 4 + %13 = load i32, i32* %r, align 4 + ret i32 %13 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @quotearg_n_options(i32 %n, i8* %arg, i64 %argsize, %struct.quoting_options* %options) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %options.addr = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %sv = alloca %struct.slotvec*, align 8 + %preallocated = alloca i8, align 1 + %nmax = alloca i32, align 4 + %size = alloca i64, align 8 + %val = alloca i8*, align 8 + %flags = alloca i32, align 4 + %qsize = alloca i64, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store %struct.quoting_options* %options, %struct.quoting_options** %options.addr, align 8 + %call = call i32* @__errno_location() #25 + %0 = load i32, i32* %call, align 4 + store i32 %0, i32* %e, align 4 + %1 = load %struct.slotvec*, %struct.slotvec** @slotvec, align 8 + store %struct.slotvec* %1, %struct.slotvec** %sv, align 8 + %2 = load i32, i32* %n.addr, align 4 + %cmp = icmp slt i32 %2, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @abort() #26 + unreachable + +if.end: ; preds = %entry + %3 = load i32, i32* @nslots, align 4 + %4 = load i32, i32* %n.addr, align 4 + %cmp1 = icmp sle i32 %3, %4 + br i1 %cmp1, label %if.then2, label %if.end15 + +if.then2: ; preds = %if.end + %5 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %cmp3 = icmp eq %struct.slotvec* %5, @slotvec0 + %frombool = zext i1 %cmp3 to i8 + store i8 %frombool, i8* %preallocated, align 1 + store i32 2147483646, i32* %nmax, align 4 + %6 = load i32, i32* %nmax, align 4 + %7 = load i32, i32* %n.addr, align 4 + %cmp4 = icmp slt i32 %6, %7 + br i1 %cmp4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.then2 + call void @xalloc_die() #24 + unreachable + +if.end6: ; preds = %if.then2 + %8 = load i8, i8* %preallocated, align 1 + %tobool = trunc i8 %8 to i1 + %9 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %cond = select i1 %tobool, %struct.slotvec* null, %struct.slotvec* %9 + %10 = bitcast %struct.slotvec* %cond to i8* + %11 = load i32, i32* %n.addr, align 4 + %add = add nsw i32 %11, 1 + %conv = sext i32 %add to i64 + %mul = mul i64 %conv, 16 + %call7 = call i8* @xrealloc(i8* %10, i64 %mul) + %12 = bitcast i8* %call7 to %struct.slotvec* + store %struct.slotvec* %12, %struct.slotvec** %sv, align 8 + store %struct.slotvec* %12, %struct.slotvec** @slotvec, align 8 + %13 = load i8, i8* %preallocated, align 1 + %tobool8 = trunc i8 %13 to i1 + br i1 %tobool8, label %if.then9, label %if.end10 + +if.then9: ; preds = %if.end6 + %14 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %15 = bitcast %struct.slotvec* %14 to i8* + %16 = call i8* @memcpy(i8* %15, i8* bitcast (%struct.slotvec* @slotvec0 to i8*), i64 16) + br label %if.end10 + +if.end10: ; preds = %if.then9, %if.end6 + %17 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %18 = load i32, i32* @nslots, align 4 + %idx.ext = sext i32 %18 to i64 + %add.ptr = getelementptr inbounds %struct.slotvec, %struct.slotvec* %17, i64 %idx.ext + %19 = bitcast %struct.slotvec* %add.ptr to i8* + %20 = load i32, i32* %n.addr, align 4 + %add11 = add nsw i32 %20, 1 + %21 = load i32, i32* @nslots, align 4 + %sub = sub nsw i32 %add11, %21 + %conv12 = sext i32 %sub to i64 + %mul13 = mul i64 %conv12, 16 + %22 = call i8* @memset(i8* %19, i32 0, i64 %mul13) + %23 = load i32, i32* %n.addr, align 4 + %add14 = add nsw i32 %23, 1 + store i32 %add14, i32* @nslots, align 4 + br label %if.end15 + +if.end15: ; preds = %if.end10, %if.end + %24 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %25 = load i32, i32* %n.addr, align 4 + %idxprom = sext i32 %25 to i64 + %arrayidx = getelementptr inbounds %struct.slotvec, %struct.slotvec* %24, i64 %idxprom + %size16 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx, i32 0, i32 0 + %26 = load i64, i64* %size16, align 8 + store i64 %26, i64* %size, align 8 + %27 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %28 = load i32, i32* %n.addr, align 4 + %idxprom17 = sext i32 %28 to i64 + %arrayidx18 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %27, i64 %idxprom17 + %val19 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx18, i32 0, i32 1 + %29 = load i8*, i8** %val19, align 8 + store i8* %29, i8** %val, align 8 + %30 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %flags20 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %30, i32 0, i32 1 + %31 = load i32, i32* %flags20, align 4 + %or = or i32 %31, 1 + store i32 %or, i32* %flags, align 4 + %32 = load i8*, i8** %val, align 8 + %33 = load i64, i64* %size, align 8 + %34 = load i8*, i8** %arg.addr, align 8 + %35 = load i64, i64* %argsize.addr, align 8 + %36 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %36, i32 0, i32 0 + %37 = load i32, i32* %style, align 8 + %38 = load i32, i32* %flags, align 4 + %39 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %39, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %40 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %left_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %40, i32 0, i32 3 + %41 = load i8*, i8** %left_quote, align 8 + %42 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %right_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %42, i32 0, i32 4 + %43 = load i8*, i8** %right_quote, align 8 + %call21 = call i64 @quotearg_buffer_restyled(i8* %32, i64 %33, i8* %34, i64 %35, i32 %37, i32 %38, i32* %arraydecay, i8* %41, i8* %43) + store i64 %call21, i64* %qsize, align 8 + %44 = load i64, i64* %size, align 8 + %45 = load i64, i64* %qsize, align 8 + %cmp22 = icmp ule i64 %44, %45 + br i1 %cmp22, label %if.then24, label %if.end43 + +if.then24: ; preds = %if.end15 + %46 = load i64, i64* %qsize, align 8 + %add25 = add i64 %46, 1 + store i64 %add25, i64* %size, align 8 + %47 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %48 = load i32, i32* %n.addr, align 4 + %idxprom26 = sext i32 %48 to i64 + %arrayidx27 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %47, i64 %idxprom26 + %size28 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx27, i32 0, i32 0 + store i64 %add25, i64* %size28, align 8 + %49 = load i8*, i8** %val, align 8 + %cmp29 = icmp ne i8* %49, getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i64 0, i64 0) + br i1 %cmp29, label %if.then31, label %if.end32 + +if.then31: ; preds = %if.then24 + %50 = load i8*, i8** %val, align 8 + call void @free(i8* %50) #11 + br label %if.end32 + +if.end32: ; preds = %if.then31, %if.then24 + %51 = load i64, i64* %size, align 8 + %call33 = call noalias i8* @xcharalloc(i64 %51) + store i8* %call33, i8** %val, align 8 + %52 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %53 = load i32, i32* %n.addr, align 4 + %idxprom34 = sext i32 %53 to i64 + %arrayidx35 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %52, i64 %idxprom34 + %val36 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx35, i32 0, i32 1 + store i8* %call33, i8** %val36, align 8 + %54 = load i8*, i8** %val, align 8 + %55 = load i64, i64* %size, align 8 + %56 = load i8*, i8** %arg.addr, align 8 + %57 = load i64, i64* %argsize.addr, align 8 + %58 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %style37 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %58, i32 0, i32 0 + %59 = load i32, i32* %style37, align 8 + %60 = load i32, i32* %flags, align 4 + %61 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %quote_these_too38 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %61, i32 0, i32 2 + %arraydecay39 = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too38, i64 0, i64 0 + %62 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %left_quote40 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %62, i32 0, i32 3 + %63 = load i8*, i8** %left_quote40, align 8 + %64 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %right_quote41 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %64, i32 0, i32 4 + %65 = load i8*, i8** %right_quote41, align 8 + %call42 = call i64 @quotearg_buffer_restyled(i8* %54, i64 %55, i8* %56, i64 %57, i32 %59, i32 %60, i32* %arraydecay39, i8* %63, i8* %65) + br label %if.end43 + +if.end43: ; preds = %if.end32, %if.end15 + %66 = load i32, i32* %e, align 4 + %call44 = call i32* @__errno_location() #25 + store i32 %66, i32* %call44, align 4 + %67 = load i8*, i8** %val, align 8 + ret i8* %67 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @xrealloc(i8* %p, i64 %n) #3 { +entry: + %retval = alloca i8*, align 8 + %p.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %tobool = icmp eq i64 %0, 0 + %1 = load i8*, i8** %p.addr, align 8 + %tobool1 = icmp ne i8* %1, null + %or.cond = and i1 %tobool, %tobool1 + %2 = load i8*, i8** %p.addr, align 8 + br i1 %or.cond, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @free(i8* %2) #11 + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %3 = load i64, i64* %n.addr, align 8 + %call = call i8* @realloc(i8* %2, i64 %3) #11 + store i8* %call, i8** %p.addr, align 8 + %4 = load i8*, i8** %p.addr, align 8 + %tobool2 = icmp eq i8* %4, null + %5 = load i64, i64* %n.addr, align 8 + %tobool4 = icmp ne i64 %5, 0 + %or.cond1 = and i1 %tobool2, %tobool4 + br i1 %or.cond1, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end + call void @xalloc_die() #24 + unreachable + +if.end6: ; preds = %if.end + %6 = load i8*, i8** %p.addr, align 8 + store i8* %6, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end6, %if.then + %7 = load i8*, i8** %retval, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @quotearg_buffer_restyled(i8* %buffer, i64 %buffersize, i8* %arg, i64 %argsize, i32 %quoting_style, i32 %flags, i32* %quote_these_too, i8* %left_quote, i8* %right_quote) #3 { +entry: + %retval = alloca i64, align 8 + %buffer.addr = alloca i8*, align 8 + %buffersize.addr = alloca i64, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %quoting_style.addr = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %quote_these_too.addr = alloca i32*, align 8 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %i = alloca i64, align 8 + %len = alloca i64, align 8 + %orig_buffersize = alloca i64, align 8 + %quote_string = alloca i8*, align 8 + %quote_string_len = alloca i64, align 8 + %backslash_escapes = alloca i8, align 1 + %unibyte_locale = alloca i8, align 1 + %elide_outer_quotes = alloca i8, align 1 + %pending_shell_escape_end = alloca i8, align 1 + %encountered_single_quote = alloca i8, align 1 + %all_c_and_shell_quote_compat = alloca i8, align 1 + %c = alloca i8, align 1 + %esc = alloca i8, align 1 + %is_right_quote = alloca i8, align 1 + %escaping = alloca i8, align 1 + %c_and_shell_quote_compat = alloca i8, align 1 + %m = alloca i64, align 8 + %printable = alloca i8, align 1 + %mbstate = alloca %struct.__mbstate_t, align 4 + %w = alloca i32, align 4 + %bytes = alloca i64, align 8 + %j = alloca i64, align 8 + %ilim = alloca i64, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %buffersize, i64* %buffersize.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store i32 %quoting_style, i32* %quoting_style.addr, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store i32* %quote_these_too, i32** %quote_these_too.addr, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i64 0, i64* %len, align 8 + store i64 0, i64* %orig_buffersize, align 8 + store i8* null, i8** %quote_string, align 8 + store i64 0, i64* %quote_string_len, align 8 + store i8 0, i8* %backslash_escapes, align 1 + %call = call i64 @__ctype_get_mb_cur_max() #11 + %cmp = icmp eq i64 %call, 1 + %frombool = zext i1 %cmp to i8 + store i8 %frombool, i8* %unibyte_locale, align 1 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 2 + %cmp1 = icmp ne i32 %and, 0 + %frombool2 = zext i1 %cmp1 to i8 + store i8 %frombool2, i8* %elide_outer_quotes, align 1 + store i8 0, i8* %pending_shell_escape_end, align 1 + store i8 0, i8* %encountered_single_quote, align 1 + store i8 1, i8* %all_c_and_shell_quote_compat, align 1 + br label %process_input + +process_input: ; preds = %if.then701, %entry + %1 = load i32, i32* %quoting_style.addr, align 4 + br label %NodeBlock27 + +NodeBlock27: ; preds = %process_input + %case.cmp28 = icmp eq i32 %1, 6 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %1, 5 + br i1 %case.cmp26, label %sw.bb3, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %1, 7 + br i1 %case.cmp24, label %sw.bb7, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %1, 8 + br i1 %case.cmp22, label %sw.bb8, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %1, 9 + br i1 %case.cmp20, label %sw.bb8, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %1, 10 + br i1 %case.cmp18, label %sw.bb8, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %1, 3 + br i1 %case.cmp16, label %sw.bb26, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %1, 1 + br i1 %case.cmp14, label %sw.bb27, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %1, 4 + br i1 %case.cmp12, label %sw.bb28, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %1, 2 + br i1 %case.cmp10, label %sw.bb32, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock9 + %case.cmp = icmp eq i32 %1, 0 + br i1 %case.cmp, label %sw.bb43, label %newDefault + +sw.bb: ; preds = %NodeBlock27 + store i32 5, i32* %quoting_style.addr, align 4 + store i8 1, i8* %elide_outer_quotes, align 1 + br label %sw.bb3 + +sw.bb3: ; preds = %NodeBlock25, %sw.bb + %2 = load i8, i8* %elide_outer_quotes, align 1 + %tobool = trunc i8 %2 to i1 + br i1 %tobool, label %if.end6, label %do.body + +do.body: ; preds = %sw.bb3 + %3 = load i64, i64* %len, align 8 + %4 = load i64, i64* %buffersize.addr, align 8 + %cmp4 = icmp ult i64 %3, %4 + br i1 %cmp4, label %if.then5, label %if.end + +if.then5: ; preds = %do.body + %5 = load i8*, i8** %buffer.addr, align 8 + %6 = load i64, i64* %len, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 %6 + store i8 34, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then5, %do.body + %7 = load i64, i64* %len, align 8 + %inc = add i64 %7, 1 + store i64 %inc, i64* %len, align 8 + br label %if.end6 + +if.end6: ; preds = %if.end, %sw.bb3 + store i8 1, i8* %backslash_escapes, align 1 + store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10.105, i64 0, i64 0), i8** %quote_string, align 8 + store i64 1, i64* %quote_string_len, align 8 + br label %sw.epilog + +sw.bb7: ; preds = %NodeBlock23 + store i8 1, i8* %backslash_escapes, align 1 + store i8 0, i8* %elide_outer_quotes, align 1 + br label %sw.epilog + +sw.bb8: ; preds = %NodeBlock21, %NodeBlock19, %NodeBlock17 + %8 = load i32, i32* %quoting_style.addr, align 4 + %cmp9 = icmp ne i32 %8, 10 + br i1 %cmp9, label %if.then10, label %if.end13 + +if.then10: ; preds = %sw.bb8 + %9 = load i32, i32* %quoting_style.addr, align 4 + %call11 = call i8* @gettext_quote(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.11.106, i64 0, i64 0), i32 %9) + store i8* %call11, i8** %left_quote.addr, align 8 + %10 = load i32, i32* %quoting_style.addr, align 4 + %call12 = call i8* @gettext_quote(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.107, i64 0, i64 0), i32 %10) + store i8* %call12, i8** %right_quote.addr, align 8 + br label %if.end13 + +if.end13: ; preds = %if.then10, %sw.bb8 + %11 = load i8, i8* %elide_outer_quotes, align 1 + %tobool14 = trunc i8 %11 to i1 + br i1 %tobool14, label %if.end24, label %if.then15 + +if.then15: ; preds = %if.end13 + %12 = load i8*, i8** %left_quote.addr, align 8 + store i8* %12, i8** %quote_string, align 8 + br label %for.cond + +for.cond: ; preds = %if.end21, %if.then15 + %13 = load i8*, i8** %quote_string, align 8 + %14 = load i8, i8* %13, align 1 + %tobool16 = icmp ne i8 %14, 0 + br i1 %tobool16, label %do.body17, label %if.end24 + +do.body17: ; preds = %for.cond + %15 = load i64, i64* %len, align 8 + %16 = load i64, i64* %buffersize.addr, align 8 + %cmp18 = icmp ult i64 %15, %16 + br i1 %cmp18, label %if.then19, label %if.end21 + +if.then19: ; preds = %do.body17 + %17 = load i8*, i8** %quote_string, align 8 + %18 = load i8, i8* %17, align 1 + %19 = load i8*, i8** %buffer.addr, align 8 + %20 = load i64, i64* %len, align 8 + %arrayidx20 = getelementptr inbounds i8, i8* %19, i64 %20 + store i8 %18, i8* %arrayidx20, align 1 + br label %if.end21 + +if.end21: ; preds = %if.then19, %do.body17 + %21 = load i64, i64* %len, align 8 + %inc22 = add i64 %21, 1 + store i64 %inc22, i64* %len, align 8 + %22 = load i8*, i8** %quote_string, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %22, i32 1 + store i8* %incdec.ptr, i8** %quote_string, align 8 + br label %for.cond + +if.end24: ; preds = %for.cond, %if.end13 + store i8 1, i8* %backslash_escapes, align 1 + %23 = load i8*, i8** %right_quote.addr, align 8 + store i8* %23, i8** %quote_string, align 8 + %24 = load i8*, i8** %quote_string, align 8 + %call25 = call i64 @strlen(i8* %24) #23 + store i64 %call25, i64* %quote_string_len, align 8 + br label %sw.epilog + +sw.bb26: ; preds = %NodeBlock15 + store i8 1, i8* %backslash_escapes, align 1 + br label %sw.bb27 + +sw.bb27: ; preds = %NodeBlock13, %sw.bb26 + store i8 1, i8* %elide_outer_quotes, align 1 + br label %sw.bb28 + +sw.bb28: ; preds = %NodeBlock11, %sw.bb27 + %25 = load i8, i8* %elide_outer_quotes, align 1 + %tobool29 = trunc i8 %25 to i1 + br i1 %tobool29, label %sw.bb32, label %if.then30 + +if.then30: ; preds = %sw.bb28 + store i8 1, i8* %backslash_escapes, align 1 + br label %sw.bb32 + +sw.bb32: ; preds = %NodeBlock9, %sw.bb28, %if.then30 + store i32 2, i32* %quoting_style.addr, align 4 + %26 = load i8, i8* %elide_outer_quotes, align 1 + %tobool33 = trunc i8 %26 to i1 + br i1 %tobool33, label %if.end42, label %do.body35 + +do.body35: ; preds = %sw.bb32 + %27 = load i64, i64* %len, align 8 + %28 = load i64, i64* %buffersize.addr, align 8 + %cmp36 = icmp ult i64 %27, %28 + br i1 %cmp36, label %if.then37, label %if.end39 + +if.then37: ; preds = %do.body35 + %29 = load i8*, i8** %buffer.addr, align 8 + %30 = load i64, i64* %len, align 8 + %arrayidx38 = getelementptr inbounds i8, i8* %29, i64 %30 + store i8 39, i8* %arrayidx38, align 1 + br label %if.end39 + +if.end39: ; preds = %if.then37, %do.body35 + %31 = load i64, i64* %len, align 8 + %inc40 = add i64 %31, 1 + store i64 %inc40, i64* %len, align 8 + br label %if.end42 + +if.end42: ; preds = %if.end39, %sw.bb32 + store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.107, i64 0, i64 0), i8** %quote_string, align 8 + store i64 1, i64* %quote_string_len, align 8 + br label %sw.epilog + +sw.bb43: ; preds = %NodeBlock + store i8 0, i8* %elide_outer_quotes, align 1 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @abort() #26 + unreachable + +sw.epilog: ; preds = %sw.bb43, %if.end42, %if.end24, %sw.bb7, %if.end6 + store i64 0, i64* %i, align 8 + br label %for.cond44 + +for.cond44: ; preds = %for.inc673, %sw.epilog + %32 = load i64, i64* %argsize.addr, align 8 + %cmp45 = icmp eq i64 %32, -1 + br i1 %cmp45, label %cond.true, label %cond.false + +cond.true: ; preds = %for.cond44 + %33 = load i8*, i8** %arg.addr, align 8 + %34 = load i64, i64* %i, align 8 + %arrayidx46 = getelementptr inbounds i8, i8* %33, i64 %34 + %35 = load i8, i8* %arrayidx46, align 1 + %conv = sext i8 %35 to i32 + %cmp47 = icmp eq i32 %conv, 0 + %conv48 = zext i1 %cmp47 to i32 + br label %cond.end + +cond.false: ; preds = %for.cond44 + %36 = load i64, i64* %i, align 8 + %37 = load i64, i64* %argsize.addr, align 8 + %cmp49 = icmp eq i64 %36, %37 + %conv50 = zext i1 %cmp49 to i32 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ %conv48, %cond.true ], [ %conv50, %cond.false ] + %tobool51 = icmp ne i32 %cond, 0 + %lnot = xor i1 %tobool51, true + br i1 %lnot, label %for.body52, label %for.end675 + +for.body52: ; preds = %cond.end + store i8 0, i8* %is_right_quote, align 1 + store i8 0, i8* %escaping, align 1 + store i8 0, i8* %c_and_shell_quote_compat, align 1 + %38 = load i8, i8* %backslash_escapes, align 1 + %tobool53 = trunc i8 %38 to i1 + %39 = load i32, i32* %quoting_style.addr, align 4 + %cmp55 = icmp ne i32 %39, 2 + %or.cond = and i1 %tobool53, %cmp55 + %40 = load i64, i64* %quote_string_len, align 8 + %tobool58 = icmp ne i64 %40, 0 + %or.cond1 = and i1 %or.cond, %tobool58 + br i1 %or.cond1, label %land.lhs.true59, label %if.end80 + +land.lhs.true59: ; preds = %for.body52 + %41 = load i64, i64* %i, align 8 + %42 = load i64, i64* %quote_string_len, align 8 + %add = add i64 %41, %42 + %43 = load i64, i64* %argsize.addr, align 8 + %cmp60 = icmp eq i64 %43, -1 + %44 = load i64, i64* %quote_string_len, align 8 + %cmp63 = icmp ult i64 1, %44 + %or.cond2 = and i1 %cmp60, %cmp63 + br i1 %or.cond2, label %cond.true65, label %cond.false67 + +cond.true65: ; preds = %land.lhs.true59 + %45 = load i8*, i8** %arg.addr, align 8 + %call66 = call i64 @strlen(i8* %45) #23 + store i64 %call66, i64* %argsize.addr, align 8 + br label %cond.end68 + +cond.false67: ; preds = %land.lhs.true59 + %46 = load i64, i64* %argsize.addr, align 8 + br label %cond.end68 + +cond.end68: ; preds = %cond.false67, %cond.true65 + %cond69 = phi i64 [ %call66, %cond.true65 ], [ %46, %cond.false67 ] + %cmp70 = icmp ule i64 %add, %cond69 + br i1 %cmp70, label %land.lhs.true72, label %if.end80 + +land.lhs.true72: ; preds = %cond.end68 + %47 = load i8*, i8** %arg.addr, align 8 + %48 = load i64, i64* %i, align 8 + %add.ptr = getelementptr inbounds i8, i8* %47, i64 %48 + %49 = load i8*, i8** %quote_string, align 8 + %50 = load i64, i64* %quote_string_len, align 8 + %call73 = call i32 @memcmp(i8* %add.ptr, i8* %49, i64 %50) #23 + %cmp74 = icmp eq i32 %call73, 0 + br i1 %cmp74, label %if.then76, label %if.end80 + +if.then76: ; preds = %land.lhs.true72 + %51 = load i8, i8* %elide_outer_quotes, align 1 + %tobool77 = trunc i8 %51 to i1 + br i1 %tobool77, label %force_outer_quoting_style, label %if.end79 + +if.end79: ; preds = %if.then76 + store i8 1, i8* %is_right_quote, align 1 + br label %if.end80 + +if.end80: ; preds = %if.end79, %land.lhs.true72, %cond.end68, %for.body52 + %52 = load i8*, i8** %arg.addr, align 8 + %53 = load i64, i64* %i, align 8 + %arrayidx81 = getelementptr inbounds i8, i8* %52, i64 %53 + %54 = load i8, i8* %arrayidx81, align 1 + store i8 %54, i8* %c, align 1 + %55 = load i8, i8* %c, align 1 + %conv82 = zext i8 %55 to i32 + br label %NodeBlock232 + +NodeBlock232: ; preds = %if.end80 + %case.cmp233 = icmp eq i32 %conv82, 0 + br i1 %case.cmp233, label %sw.bb83, label %NodeBlock230 + +NodeBlock230: ; preds = %NodeBlock232 + %case.cmp231 = icmp eq i32 %conv82, 63 + br i1 %case.cmp231, label %sw.bb170, label %NodeBlock228 + +NodeBlock228: ; preds = %NodeBlock230 + %case.cmp229 = icmp eq i32 %conv82, 7 + br i1 %case.cmp229, label %sw.bb236, label %NodeBlock226 + +NodeBlock226: ; preds = %NodeBlock228 + %case.cmp227 = icmp eq i32 %conv82, 8 + br i1 %case.cmp227, label %sw.bb237, label %NodeBlock224 + +NodeBlock224: ; preds = %NodeBlock226 + %case.cmp225 = icmp eq i32 %conv82, 12 + br i1 %case.cmp225, label %sw.bb238, label %NodeBlock222 + +NodeBlock222: ; preds = %NodeBlock224 + %case.cmp223 = icmp eq i32 %conv82, 10 + br i1 %case.cmp223, label %sw.bb239, label %NodeBlock220 + +NodeBlock220: ; preds = %NodeBlock222 + %case.cmp221 = icmp eq i32 %conv82, 13 + br i1 %case.cmp221, label %sw.bb240, label %NodeBlock218 + +NodeBlock218: ; preds = %NodeBlock220 + %case.cmp219 = icmp eq i32 %conv82, 9 + br i1 %case.cmp219, label %sw.bb241, label %NodeBlock216 + +NodeBlock216: ; preds = %NodeBlock218 + %case.cmp217 = icmp eq i32 %conv82, 11 + br i1 %case.cmp217, label %sw.bb242, label %NodeBlock214 + +NodeBlock214: ; preds = %NodeBlock216 + %case.cmp215 = icmp eq i32 %conv82, 92 + br i1 %case.cmp215, label %sw.bb243, label %NodeBlock212 + +NodeBlock212: ; preds = %NodeBlock214 + %case.cmp213 = icmp eq i32 %conv82, 123 + br i1 %case.cmp213, label %sw.bb270, label %NodeBlock210 + +NodeBlock210: ; preds = %NodeBlock212 + %case.cmp211 = icmp eq i32 %conv82, 125 + br i1 %case.cmp211, label %sw.bb270, label %NodeBlock208 + +NodeBlock208: ; preds = %NodeBlock210 + %case.cmp209 = icmp eq i32 %conv82, 35 + br i1 %case.cmp209, label %sw.bb283, label %NodeBlock206 + +NodeBlock206: ; preds = %NodeBlock208 + %case.cmp207 = icmp eq i32 %conv82, 126 + br i1 %case.cmp207, label %sw.bb283, label %NodeBlock204 + +NodeBlock204: ; preds = %NodeBlock206 + %case.cmp205 = icmp eq i32 %conv82, 32 + br i1 %case.cmp205, label %sw.bb288, label %NodeBlock202 + +NodeBlock202: ; preds = %NodeBlock204 + %case.cmp203 = icmp eq i32 %conv82, 33 + br i1 %case.cmp203, label %sw.bb289, label %NodeBlock200 + +NodeBlock200: ; preds = %NodeBlock202 + %case.cmp201 = icmp eq i32 %conv82, 34 + br i1 %case.cmp201, label %sw.bb289, label %NodeBlock198 + +NodeBlock198: ; preds = %NodeBlock200 + %case.cmp199 = icmp eq i32 %conv82, 36 + br i1 %case.cmp199, label %sw.bb289, label %NodeBlock196 + +NodeBlock196: ; preds = %NodeBlock198 + %case.cmp197 = icmp eq i32 %conv82, 38 + br i1 %case.cmp197, label %sw.bb289, label %NodeBlock194 + +NodeBlock194: ; preds = %NodeBlock196 + %case.cmp195 = icmp eq i32 %conv82, 40 + br i1 %case.cmp195, label %sw.bb289, label %NodeBlock192 + +NodeBlock192: ; preds = %NodeBlock194 + %case.cmp193 = icmp eq i32 %conv82, 41 + br i1 %case.cmp193, label %sw.bb289, label %NodeBlock190 + +NodeBlock190: ; preds = %NodeBlock192 + %case.cmp191 = icmp eq i32 %conv82, 42 + br i1 %case.cmp191, label %sw.bb289, label %NodeBlock188 + +NodeBlock188: ; preds = %NodeBlock190 + %case.cmp189 = icmp eq i32 %conv82, 59 + br i1 %case.cmp189, label %sw.bb289, label %NodeBlock186 + +NodeBlock186: ; preds = %NodeBlock188 + %case.cmp187 = icmp eq i32 %conv82, 60 + br i1 %case.cmp187, label %sw.bb289, label %NodeBlock184 + +NodeBlock184: ; preds = %NodeBlock186 + %case.cmp185 = icmp eq i32 %conv82, 61 + br i1 %case.cmp185, label %sw.bb289, label %NodeBlock182 + +NodeBlock182: ; preds = %NodeBlock184 + %case.cmp183 = icmp eq i32 %conv82, 62 + br i1 %case.cmp183, label %sw.bb289, label %NodeBlock180 + +NodeBlock180: ; preds = %NodeBlock182 + %case.cmp181 = icmp eq i32 %conv82, 91 + br i1 %case.cmp181, label %sw.bb289, label %NodeBlock178 + +NodeBlock178: ; preds = %NodeBlock180 + %case.cmp179 = icmp eq i32 %conv82, 94 + br i1 %case.cmp179, label %sw.bb289, label %NodeBlock176 + +NodeBlock176: ; preds = %NodeBlock178 + %case.cmp177 = icmp eq i32 %conv82, 96 + br i1 %case.cmp177, label %sw.bb289, label %NodeBlock174 + +NodeBlock174: ; preds = %NodeBlock176 + %case.cmp175 = icmp eq i32 %conv82, 124 + br i1 %case.cmp175, label %sw.bb289, label %NodeBlock172 + +NodeBlock172: ; preds = %NodeBlock174 + %case.cmp173 = icmp eq i32 %conv82, 39 + br i1 %case.cmp173, label %sw.bb297, label %NodeBlock170 + +NodeBlock170: ; preds = %NodeBlock172 + %case.cmp171 = icmp eq i32 %conv82, 37 + br i1 %case.cmp171, label %sw.bb334, label %NodeBlock168 + +NodeBlock168: ; preds = %NodeBlock170 + %case.cmp169 = icmp eq i32 %conv82, 43 + br i1 %case.cmp169, label %sw.bb334, label %NodeBlock166 + +NodeBlock166: ; preds = %NodeBlock168 + %case.cmp167 = icmp eq i32 %conv82, 44 + br i1 %case.cmp167, label %sw.bb334, label %NodeBlock164 + +NodeBlock164: ; preds = %NodeBlock166 + %case.cmp165 = icmp eq i32 %conv82, 45 + br i1 %case.cmp165, label %sw.bb334, label %NodeBlock162 + +NodeBlock162: ; preds = %NodeBlock164 + %case.cmp163 = icmp eq i32 %conv82, 46 + br i1 %case.cmp163, label %sw.bb334, label %NodeBlock160 + +NodeBlock160: ; preds = %NodeBlock162 + %case.cmp161 = icmp eq i32 %conv82, 47 + br i1 %case.cmp161, label %sw.bb334, label %NodeBlock158 + +NodeBlock158: ; preds = %NodeBlock160 + %case.cmp159 = icmp eq i32 %conv82, 48 + br i1 %case.cmp159, label %sw.bb334, label %NodeBlock156 + +NodeBlock156: ; preds = %NodeBlock158 + %case.cmp157 = icmp eq i32 %conv82, 49 + br i1 %case.cmp157, label %sw.bb334, label %NodeBlock154 + +NodeBlock154: ; preds = %NodeBlock156 + %case.cmp155 = icmp eq i32 %conv82, 50 + br i1 %case.cmp155, label %sw.bb334, label %NodeBlock152 + +NodeBlock152: ; preds = %NodeBlock154 + %case.cmp153 = icmp eq i32 %conv82, 51 + br i1 %case.cmp153, label %sw.bb334, label %NodeBlock150 + +NodeBlock150: ; preds = %NodeBlock152 + %case.cmp151 = icmp eq i32 %conv82, 52 + br i1 %case.cmp151, label %sw.bb334, label %NodeBlock148 + +NodeBlock148: ; preds = %NodeBlock150 + %case.cmp149 = icmp eq i32 %conv82, 53 + br i1 %case.cmp149, label %sw.bb334, label %NodeBlock146 + +NodeBlock146: ; preds = %NodeBlock148 + %case.cmp147 = icmp eq i32 %conv82, 54 + br i1 %case.cmp147, label %sw.bb334, label %NodeBlock144 + +NodeBlock144: ; preds = %NodeBlock146 + %case.cmp145 = icmp eq i32 %conv82, 55 + br i1 %case.cmp145, label %sw.bb334, label %NodeBlock142 + +NodeBlock142: ; preds = %NodeBlock144 + %case.cmp143 = icmp eq i32 %conv82, 56 + br i1 %case.cmp143, label %sw.bb334, label %NodeBlock140 + +NodeBlock140: ; preds = %NodeBlock142 + %case.cmp141 = icmp eq i32 %conv82, 57 + br i1 %case.cmp141, label %sw.bb334, label %NodeBlock138 + +NodeBlock138: ; preds = %NodeBlock140 + %case.cmp139 = icmp eq i32 %conv82, 58 + br i1 %case.cmp139, label %sw.bb334, label %NodeBlock136 + +NodeBlock136: ; preds = %NodeBlock138 + %case.cmp137 = icmp eq i32 %conv82, 65 + br i1 %case.cmp137, label %sw.bb334, label %NodeBlock134 + +NodeBlock134: ; preds = %NodeBlock136 + %case.cmp135 = icmp eq i32 %conv82, 66 + br i1 %case.cmp135, label %sw.bb334, label %NodeBlock132 + +NodeBlock132: ; preds = %NodeBlock134 + %case.cmp133 = icmp eq i32 %conv82, 67 + br i1 %case.cmp133, label %sw.bb334, label %NodeBlock130 + +NodeBlock130: ; preds = %NodeBlock132 + %case.cmp131 = icmp eq i32 %conv82, 68 + br i1 %case.cmp131, label %sw.bb334, label %NodeBlock128 + +NodeBlock128: ; preds = %NodeBlock130 + %case.cmp129 = icmp eq i32 %conv82, 69 + br i1 %case.cmp129, label %sw.bb334, label %NodeBlock126 + +NodeBlock126: ; preds = %NodeBlock128 + %case.cmp127 = icmp eq i32 %conv82, 70 + br i1 %case.cmp127, label %sw.bb334, label %NodeBlock124 + +NodeBlock124: ; preds = %NodeBlock126 + %case.cmp125 = icmp eq i32 %conv82, 71 + br i1 %case.cmp125, label %sw.bb334, label %NodeBlock122 + +NodeBlock122: ; preds = %NodeBlock124 + %case.cmp123 = icmp eq i32 %conv82, 72 + br i1 %case.cmp123, label %sw.bb334, label %NodeBlock120 + +NodeBlock120: ; preds = %NodeBlock122 + %case.cmp121 = icmp eq i32 %conv82, 73 + br i1 %case.cmp121, label %sw.bb334, label %NodeBlock118 + +NodeBlock118: ; preds = %NodeBlock120 + %case.cmp119 = icmp eq i32 %conv82, 74 + br i1 %case.cmp119, label %sw.bb334, label %NodeBlock116 + +NodeBlock116: ; preds = %NodeBlock118 + %case.cmp117 = icmp eq i32 %conv82, 75 + br i1 %case.cmp117, label %sw.bb334, label %NodeBlock114 + +NodeBlock114: ; preds = %NodeBlock116 + %case.cmp115 = icmp eq i32 %conv82, 76 + br i1 %case.cmp115, label %sw.bb334, label %NodeBlock112 + +NodeBlock112: ; preds = %NodeBlock114 + %case.cmp113 = icmp eq i32 %conv82, 77 + br i1 %case.cmp113, label %sw.bb334, label %NodeBlock110 + +NodeBlock110: ; preds = %NodeBlock112 + %case.cmp111 = icmp eq i32 %conv82, 78 + br i1 %case.cmp111, label %sw.bb334, label %NodeBlock108 + +NodeBlock108: ; preds = %NodeBlock110 + %case.cmp109 = icmp eq i32 %conv82, 79 + br i1 %case.cmp109, label %sw.bb334, label %NodeBlock106 + +NodeBlock106: ; preds = %NodeBlock108 + %case.cmp107 = icmp eq i32 %conv82, 80 + br i1 %case.cmp107, label %sw.bb334, label %NodeBlock104 + +NodeBlock104: ; preds = %NodeBlock106 + %case.cmp105 = icmp eq i32 %conv82, 81 + br i1 %case.cmp105, label %sw.bb334, label %NodeBlock102 + +NodeBlock102: ; preds = %NodeBlock104 + %case.cmp103 = icmp eq i32 %conv82, 82 + br i1 %case.cmp103, label %sw.bb334, label %NodeBlock100 + +NodeBlock100: ; preds = %NodeBlock102 + %case.cmp101 = icmp eq i32 %conv82, 83 + br i1 %case.cmp101, label %sw.bb334, label %NodeBlock98 + +NodeBlock98: ; preds = %NodeBlock100 + %case.cmp99 = icmp eq i32 %conv82, 84 + br i1 %case.cmp99, label %sw.bb334, label %NodeBlock96 + +NodeBlock96: ; preds = %NodeBlock98 + %case.cmp97 = icmp eq i32 %conv82, 85 + br i1 %case.cmp97, label %sw.bb334, label %NodeBlock94 + +NodeBlock94: ; preds = %NodeBlock96 + %case.cmp95 = icmp eq i32 %conv82, 86 + br i1 %case.cmp95, label %sw.bb334, label %NodeBlock92 + +NodeBlock92: ; preds = %NodeBlock94 + %case.cmp93 = icmp eq i32 %conv82, 87 + br i1 %case.cmp93, label %sw.bb334, label %NodeBlock90 + +NodeBlock90: ; preds = %NodeBlock92 + %case.cmp91 = icmp eq i32 %conv82, 88 + br i1 %case.cmp91, label %sw.bb334, label %NodeBlock88 + +NodeBlock88: ; preds = %NodeBlock90 + %case.cmp89 = icmp eq i32 %conv82, 89 + br i1 %case.cmp89, label %sw.bb334, label %NodeBlock86 + +NodeBlock86: ; preds = %NodeBlock88 + %case.cmp87 = icmp eq i32 %conv82, 90 + br i1 %case.cmp87, label %sw.bb334, label %NodeBlock84 + +NodeBlock84: ; preds = %NodeBlock86 + %case.cmp85 = icmp eq i32 %conv82, 93 + br i1 %case.cmp85, label %sw.bb334, label %NodeBlock82 + +NodeBlock82: ; preds = %NodeBlock84 + %case.cmp83 = icmp eq i32 %conv82, 95 + br i1 %case.cmp83, label %sw.bb334, label %NodeBlock80 + +NodeBlock80: ; preds = %NodeBlock82 + %case.cmp81 = icmp eq i32 %conv82, 97 + br i1 %case.cmp81, label %sw.bb334, label %NodeBlock78 + +NodeBlock78: ; preds = %NodeBlock80 + %case.cmp79 = icmp eq i32 %conv82, 98 + br i1 %case.cmp79, label %sw.bb334, label %NodeBlock76 + +NodeBlock76: ; preds = %NodeBlock78 + %case.cmp77 = icmp eq i32 %conv82, 99 + br i1 %case.cmp77, label %sw.bb334, label %NodeBlock74 + +NodeBlock74: ; preds = %NodeBlock76 + %case.cmp75 = icmp eq i32 %conv82, 100 + br i1 %case.cmp75, label %sw.bb334, label %NodeBlock72 + +NodeBlock72: ; preds = %NodeBlock74 + %case.cmp73 = icmp eq i32 %conv82, 101 + br i1 %case.cmp73, label %sw.bb334, label %NodeBlock70 + +NodeBlock70: ; preds = %NodeBlock72 + %case.cmp71 = icmp eq i32 %conv82, 102 + br i1 %case.cmp71, label %sw.bb334, label %NodeBlock68 + +NodeBlock68: ; preds = %NodeBlock70 + %case.cmp69 = icmp eq i32 %conv82, 103 + br i1 %case.cmp69, label %sw.bb334, label %NodeBlock66 + +NodeBlock66: ; preds = %NodeBlock68 + %case.cmp67 = icmp eq i32 %conv82, 104 + br i1 %case.cmp67, label %sw.bb334, label %NodeBlock64 + +NodeBlock64: ; preds = %NodeBlock66 + %case.cmp65 = icmp eq i32 %conv82, 105 + br i1 %case.cmp65, label %sw.bb334, label %NodeBlock62 + +NodeBlock62: ; preds = %NodeBlock64 + %case.cmp63 = icmp eq i32 %conv82, 106 + br i1 %case.cmp63, label %sw.bb334, label %NodeBlock60 + +NodeBlock60: ; preds = %NodeBlock62 + %case.cmp61 = icmp eq i32 %conv82, 107 + br i1 %case.cmp61, label %sw.bb334, label %NodeBlock58 + +NodeBlock58: ; preds = %NodeBlock60 + %case.cmp59 = icmp eq i32 %conv82, 108 + br i1 %case.cmp59, label %sw.bb334, label %NodeBlock56 + +NodeBlock56: ; preds = %NodeBlock58 + %case.cmp57 = icmp eq i32 %conv82, 109 + br i1 %case.cmp57, label %sw.bb334, label %NodeBlock54 + +NodeBlock54: ; preds = %NodeBlock56 + %case.cmp55 = icmp eq i32 %conv82, 110 + br i1 %case.cmp55, label %sw.bb334, label %NodeBlock52 + +NodeBlock52: ; preds = %NodeBlock54 + %case.cmp53 = icmp eq i32 %conv82, 111 + br i1 %case.cmp53, label %sw.bb334, label %NodeBlock50 + +NodeBlock50: ; preds = %NodeBlock52 + %case.cmp51 = icmp eq i32 %conv82, 112 + br i1 %case.cmp51, label %sw.bb334, label %NodeBlock48 + +NodeBlock48: ; preds = %NodeBlock50 + %case.cmp49 = icmp eq i32 %conv82, 113 + br i1 %case.cmp49, label %sw.bb334, label %NodeBlock46 + +NodeBlock46: ; preds = %NodeBlock48 + %case.cmp47 = icmp eq i32 %conv82, 114 + br i1 %case.cmp47, label %sw.bb334, label %NodeBlock44 + +NodeBlock44: ; preds = %NodeBlock46 + %case.cmp45 = icmp eq i32 %conv82, 115 + br i1 %case.cmp45, label %sw.bb334, label %NodeBlock42 + +NodeBlock42: ; preds = %NodeBlock44 + %case.cmp43 = icmp eq i32 %conv82, 116 + br i1 %case.cmp43, label %sw.bb334, label %NodeBlock40 + +NodeBlock40: ; preds = %NodeBlock42 + %case.cmp41 = icmp eq i32 %conv82, 117 + br i1 %case.cmp41, label %sw.bb334, label %NodeBlock38 + +NodeBlock38: ; preds = %NodeBlock40 + %case.cmp39 = icmp eq i32 %conv82, 118 + br i1 %case.cmp39, label %sw.bb334, label %NodeBlock36 + +NodeBlock36: ; preds = %NodeBlock38 + %case.cmp37 = icmp eq i32 %conv82, 119 + br i1 %case.cmp37, label %sw.bb334, label %NodeBlock34 + +NodeBlock34: ; preds = %NodeBlock36 + %case.cmp35 = icmp eq i32 %conv82, 120 + br i1 %case.cmp35, label %sw.bb334, label %NodeBlock32 + +NodeBlock32: ; preds = %NodeBlock34 + %case.cmp33 = icmp eq i32 %conv82, 121 + br i1 %case.cmp33, label %sw.bb334, label %NodeBlock30 + +NodeBlock30: ; preds = %NodeBlock32 + %case.cmp31 = icmp eq i32 %conv82, 122 + br i1 %case.cmp31, label %sw.bb334, label %newDefault29 + +sw.bb83: ; preds = %NodeBlock232 + %56 = load i8, i8* %backslash_escapes, align 1 + %tobool84 = trunc i8 %56 to i1 + br i1 %tobool84, label %do.body86, label %if.else + +do.body86: ; preds = %sw.bb83 + %57 = load i8, i8* %elide_outer_quotes, align 1 + %tobool87 = trunc i8 %57 to i1 + br i1 %tobool87, label %force_outer_quoting_style, label %if.end89 + +if.end89: ; preds = %do.body86 + store i8 1, i8* %escaping, align 1 + %58 = load i32, i32* %quoting_style.addr, align 4 + %cmp90 = icmp eq i32 %58, 2 + br i1 %cmp90, label %land.lhs.true92, label %do.body120 + +land.lhs.true92: ; preds = %if.end89 + %59 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool93 = trunc i8 %59 to i1 + br i1 %tobool93, label %do.body120, label %do.body95 + +do.body95: ; preds = %land.lhs.true92 + %60 = load i64, i64* %len, align 8 + %61 = load i64, i64* %buffersize.addr, align 8 + %cmp96 = icmp ult i64 %60, %61 + br i1 %cmp96, label %if.then98, label %if.end100 + +if.then98: ; preds = %do.body95 + %62 = load i8*, i8** %buffer.addr, align 8 + %63 = load i64, i64* %len, align 8 + %arrayidx99 = getelementptr inbounds i8, i8* %62, i64 %63 + store i8 39, i8* %arrayidx99, align 1 + br label %if.end100 + +if.end100: ; preds = %if.then98, %do.body95 + %64 = load i64, i64* %len, align 8 + %inc101 = add i64 %64, 1 + store i64 %inc101, i64* %len, align 8 + %65 = load i64, i64* %len, align 8 + %66 = load i64, i64* %buffersize.addr, align 8 + %cmp104 = icmp ult i64 %65, %66 + br i1 %cmp104, label %if.then106, label %if.end108 + +if.then106: ; preds = %if.end100 + %67 = load i8*, i8** %buffer.addr, align 8 + %68 = load i64, i64* %len, align 8 + %arrayidx107 = getelementptr inbounds i8, i8* %67, i64 %68 + store i8 36, i8* %arrayidx107, align 1 + br label %if.end108 + +if.end108: ; preds = %if.then106, %if.end100 + %69 = load i64, i64* %len, align 8 + %inc109 = add i64 %69, 1 + store i64 %inc109, i64* %len, align 8 + %70 = load i64, i64* %len, align 8 + %71 = load i64, i64* %buffersize.addr, align 8 + %cmp112 = icmp ult i64 %70, %71 + br i1 %cmp112, label %if.then114, label %if.end116 + +if.then114: ; preds = %if.end108 + %72 = load i8*, i8** %buffer.addr, align 8 + %73 = load i64, i64* %len, align 8 + %arrayidx115 = getelementptr inbounds i8, i8* %72, i64 %73 + store i8 39, i8* %arrayidx115, align 1 + br label %if.end116 + +if.end116: ; preds = %if.then114, %if.end108 + %74 = load i64, i64* %len, align 8 + %inc117 = add i64 %74, 1 + store i64 %inc117, i64* %len, align 8 + store i8 1, i8* %pending_shell_escape_end, align 1 + br label %do.body120 + +do.body120: ; preds = %if.end89, %land.lhs.true92, %if.end116 + %75 = load i64, i64* %len, align 8 + %76 = load i64, i64* %buffersize.addr, align 8 + %cmp121 = icmp ult i64 %75, %76 + br i1 %cmp121, label %if.then123, label %if.end125 + +if.then123: ; preds = %do.body120 + %77 = load i8*, i8** %buffer.addr, align 8 + %78 = load i64, i64* %len, align 8 + %arrayidx124 = getelementptr inbounds i8, i8* %77, i64 %78 + store i8 92, i8* %arrayidx124, align 1 + br label %if.end125 + +if.end125: ; preds = %if.then123, %do.body120 + %79 = load i64, i64* %len, align 8 + %inc126 = add i64 %79, 1 + store i64 %inc126, i64* %len, align 8 + %80 = load i32, i32* %quoting_style.addr, align 4 + %cmp129 = icmp ne i32 %80, 2 + br i1 %cmp129, label %land.lhs.true131, label %if.end164 + +land.lhs.true131: ; preds = %if.end125 + %81 = load i64, i64* %i, align 8 + %add132 = add i64 %81, 1 + %82 = load i64, i64* %argsize.addr, align 8 + %cmp133 = icmp ult i64 %add132, %82 + br i1 %cmp133, label %land.lhs.true135, label %if.end164 + +land.lhs.true135: ; preds = %land.lhs.true131 + %83 = load i8*, i8** %arg.addr, align 8 + %84 = load i64, i64* %i, align 8 + %add136 = add i64 %84, 1 + %arrayidx137 = getelementptr inbounds i8, i8* %83, i64 %add136 + %85 = load i8, i8* %arrayidx137, align 1 + %conv138 = sext i8 %85 to i32 + %cmp139 = icmp sle i32 48, %conv138 + br i1 %cmp139, label %land.lhs.true141, label %if.end164 + +land.lhs.true141: ; preds = %land.lhs.true135 + %86 = load i8*, i8** %arg.addr, align 8 + %87 = load i64, i64* %i, align 8 + %add142 = add i64 %87, 1 + %arrayidx143 = getelementptr inbounds i8, i8* %86, i64 %add142 + %88 = load i8, i8* %arrayidx143, align 1 + %conv144 = sext i8 %88 to i32 + %cmp145 = icmp sle i32 %conv144, 57 + br i1 %cmp145, label %do.body148, label %if.end164 + +do.body148: ; preds = %land.lhs.true141 + %89 = load i64, i64* %len, align 8 + %90 = load i64, i64* %buffersize.addr, align 8 + %cmp149 = icmp ult i64 %89, %90 + br i1 %cmp149, label %if.then151, label %if.end153 + +if.then151: ; preds = %do.body148 + %91 = load i8*, i8** %buffer.addr, align 8 + %92 = load i64, i64* %len, align 8 + %arrayidx152 = getelementptr inbounds i8, i8* %91, i64 %92 + store i8 48, i8* %arrayidx152, align 1 + br label %if.end153 + +if.end153: ; preds = %if.then151, %do.body148 + %93 = load i64, i64* %len, align 8 + %inc154 = add i64 %93, 1 + store i64 %inc154, i64* %len, align 8 + %94 = load i64, i64* %len, align 8 + %95 = load i64, i64* %buffersize.addr, align 8 + %cmp157 = icmp ult i64 %94, %95 + br i1 %cmp157, label %if.then159, label %if.end161 + +if.then159: ; preds = %if.end153 + %96 = load i8*, i8** %buffer.addr, align 8 + %97 = load i64, i64* %len, align 8 + %arrayidx160 = getelementptr inbounds i8, i8* %96, i64 %97 + store i8 48, i8* %arrayidx160, align 1 + br label %if.end161 + +if.end161: ; preds = %if.then159, %if.end153 + %98 = load i64, i64* %len, align 8 + %inc162 = add i64 %98, 1 + store i64 %inc162, i64* %len, align 8 + br label %if.end164 + +if.end164: ; preds = %if.end161, %land.lhs.true141, %land.lhs.true135, %land.lhs.true131, %if.end125 + store i8 48, i8* %c, align 1 + br label %sw.epilog564 + +if.else: ; preds = %sw.bb83 + %99 = load i32, i32* %flags.addr, align 4 + %and165 = and i32 %99, 1 + %tobool166 = icmp ne i32 %and165, 0 + br i1 %tobool166, label %for.inc673, label %sw.epilog564 + +sw.bb170: ; preds = %NodeBlock230 + %100 = load i32, i32* %quoting_style.addr, align 4 + br label %NodeBlock237 + +NodeBlock237: ; preds = %sw.bb170 + %case.cmp238 = icmp eq i32 %100, 2 + br i1 %case.cmp238, label %sw.bb171, label %NodeBlock235 + +NodeBlock235: ; preds = %NodeBlock237 + %case.cmp236 = icmp eq i32 %100, 5 + br i1 %case.cmp236, label %sw.bb175, label %newDefault234 + +sw.bb171: ; preds = %NodeBlock237 + %101 = load i8, i8* %elide_outer_quotes, align 1 + %tobool172 = trunc i8 %101 to i1 + br i1 %tobool172, label %force_outer_quoting_style, label %sw.epilog564 + +sw.bb175: ; preds = %NodeBlock235 + %102 = load i32, i32* %flags.addr, align 4 + %and176 = and i32 %102, 4 + %tobool177 = icmp ne i32 %and176, 0 + br i1 %tobool177, label %land.lhs.true178, label %sw.epilog564 + +land.lhs.true178: ; preds = %sw.bb175 + %103 = load i64, i64* %i, align 8 + %add179 = add i64 %103, 2 + %104 = load i64, i64* %argsize.addr, align 8 + %cmp180 = icmp ult i64 %add179, %104 + br i1 %cmp180, label %land.lhs.true182, label %sw.epilog564 + +land.lhs.true182: ; preds = %land.lhs.true178 + %105 = load i8*, i8** %arg.addr, align 8 + %106 = load i64, i64* %i, align 8 + %add183 = add i64 %106, 1 + %arrayidx184 = getelementptr inbounds i8, i8* %105, i64 %add183 + %107 = load i8, i8* %arrayidx184, align 1 + %conv185 = sext i8 %107 to i32 + %cmp186 = icmp eq i32 %conv185, 63 + br i1 %cmp186, label %if.then188, label %sw.epilog564 + +if.then188: ; preds = %land.lhs.true182 + %108 = load i8*, i8** %arg.addr, align 8 + %109 = load i64, i64* %i, align 8 + %add189 = add i64 %109, 2 + %arrayidx190 = getelementptr inbounds i8, i8* %108, i64 %add189 + %110 = load i8, i8* %arrayidx190, align 1 + %conv191 = sext i8 %110 to i32 + br label %NodeBlock256 + +NodeBlock256: ; preds = %if.then188 + %case.cmp257 = icmp eq i32 %conv191, 33 + br i1 %case.cmp257, label %sw.bb192, label %NodeBlock254 + +NodeBlock254: ; preds = %NodeBlock256 + %case.cmp255 = icmp eq i32 %conv191, 39 + br i1 %case.cmp255, label %sw.bb192, label %NodeBlock252 + +NodeBlock252: ; preds = %NodeBlock254 + %case.cmp253 = icmp eq i32 %conv191, 40 + br i1 %case.cmp253, label %sw.bb192, label %NodeBlock250 + +NodeBlock250: ; preds = %NodeBlock252 + %case.cmp251 = icmp eq i32 %conv191, 41 + br i1 %case.cmp251, label %sw.bb192, label %NodeBlock248 + +NodeBlock248: ; preds = %NodeBlock250 + %case.cmp249 = icmp eq i32 %conv191, 45 + br i1 %case.cmp249, label %sw.bb192, label %NodeBlock246 + +NodeBlock246: ; preds = %NodeBlock248 + %case.cmp247 = icmp eq i32 %conv191, 47 + br i1 %case.cmp247, label %sw.bb192, label %NodeBlock244 + +NodeBlock244: ; preds = %NodeBlock246 + %case.cmp245 = icmp eq i32 %conv191, 60 + br i1 %case.cmp245, label %sw.bb192, label %NodeBlock242 + +NodeBlock242: ; preds = %NodeBlock244 + %case.cmp243 = icmp eq i32 %conv191, 61 + br i1 %case.cmp243, label %sw.bb192, label %NodeBlock240 + +NodeBlock240: ; preds = %NodeBlock242 + %case.cmp241 = icmp eq i32 %conv191, 62 + br i1 %case.cmp241, label %sw.bb192, label %newDefault239 + +sw.bb192: ; preds = %NodeBlock256, %NodeBlock254, %NodeBlock252, %NodeBlock250, %NodeBlock248, %NodeBlock246, %NodeBlock244, %NodeBlock242, %NodeBlock240 + %111 = load i8, i8* %elide_outer_quotes, align 1 + %tobool193 = trunc i8 %111 to i1 + br i1 %tobool193, label %force_outer_quoting_style, label %if.end195 + +if.end195: ; preds = %sw.bb192 + %112 = load i8*, i8** %arg.addr, align 8 + %113 = load i64, i64* %i, align 8 + %add196 = add i64 %113, 2 + %arrayidx197 = getelementptr inbounds i8, i8* %112, i64 %add196 + %114 = load i8, i8* %arrayidx197, align 1 + store i8 %114, i8* %c, align 1 + %115 = load i64, i64* %i, align 8 + %add198 = add i64 %115, 2 + store i64 %add198, i64* %i, align 8 + %116 = load i64, i64* %len, align 8 + %117 = load i64, i64* %buffersize.addr, align 8 + %cmp200 = icmp ult i64 %116, %117 + br i1 %cmp200, label %if.then202, label %if.end204 + +if.then202: ; preds = %if.end195 + %118 = load i8*, i8** %buffer.addr, align 8 + %119 = load i64, i64* %len, align 8 + %arrayidx203 = getelementptr inbounds i8, i8* %118, i64 %119 + store i8 63, i8* %arrayidx203, align 1 + br label %if.end204 + +if.end204: ; preds = %if.then202, %if.end195 + %120 = load i64, i64* %len, align 8 + %inc205 = add i64 %120, 1 + store i64 %inc205, i64* %len, align 8 + %121 = load i64, i64* %len, align 8 + %122 = load i64, i64* %buffersize.addr, align 8 + %cmp208 = icmp ult i64 %121, %122 + br i1 %cmp208, label %if.then210, label %if.end212 + +if.then210: ; preds = %if.end204 + %123 = load i8*, i8** %buffer.addr, align 8 + %124 = load i64, i64* %len, align 8 + %arrayidx211 = getelementptr inbounds i8, i8* %123, i64 %124 + store i8 34, i8* %arrayidx211, align 1 + br label %if.end212 + +if.end212: ; preds = %if.then210, %if.end204 + %125 = load i64, i64* %len, align 8 + %inc213 = add i64 %125, 1 + store i64 %inc213, i64* %len, align 8 + %126 = load i64, i64* %len, align 8 + %127 = load i64, i64* %buffersize.addr, align 8 + %cmp216 = icmp ult i64 %126, %127 + br i1 %cmp216, label %if.then218, label %if.end220 + +if.then218: ; preds = %if.end212 + %128 = load i8*, i8** %buffer.addr, align 8 + %129 = load i64, i64* %len, align 8 + %arrayidx219 = getelementptr inbounds i8, i8* %128, i64 %129 + store i8 34, i8* %arrayidx219, align 1 + br label %if.end220 + +if.end220: ; preds = %if.then218, %if.end212 + %130 = load i64, i64* %len, align 8 + %inc221 = add i64 %130, 1 + store i64 %inc221, i64* %len, align 8 + %131 = load i64, i64* %len, align 8 + %132 = load i64, i64* %buffersize.addr, align 8 + %cmp224 = icmp ult i64 %131, %132 + br i1 %cmp224, label %if.then226, label %if.end228 + +if.then226: ; preds = %if.end220 + %133 = load i8*, i8** %buffer.addr, align 8 + %134 = load i64, i64* %len, align 8 + %arrayidx227 = getelementptr inbounds i8, i8* %133, i64 %134 + store i8 63, i8* %arrayidx227, align 1 + br label %if.end228 + +if.end228: ; preds = %if.then226, %if.end220 + %135 = load i64, i64* %len, align 8 + %inc229 = add i64 %135, 1 + store i64 %inc229, i64* %len, align 8 + br label %sw.epilog564 + +sw.bb236: ; preds = %NodeBlock228 + store i8 97, i8* %esc, align 1 + br label %c_escape + +sw.bb237: ; preds = %NodeBlock226 + store i8 98, i8* %esc, align 1 + br label %c_escape + +sw.bb238: ; preds = %NodeBlock224 + store i8 102, i8* %esc, align 1 + br label %c_escape + +sw.bb239: ; preds = %NodeBlock222 + store i8 110, i8* %esc, align 1 + br label %c_and_shell_escape + +sw.bb240: ; preds = %NodeBlock220 + store i8 114, i8* %esc, align 1 + br label %c_and_shell_escape + +sw.bb241: ; preds = %NodeBlock218 + store i8 116, i8* %esc, align 1 + br label %c_and_shell_escape + +sw.bb242: ; preds = %NodeBlock216 + store i8 118, i8* %esc, align 1 + br label %c_escape + +sw.bb243: ; preds = %NodeBlock214 + %136 = load i8, i8* %c, align 1 + store i8 %136, i8* %esc, align 1 + %137 = load i32, i32* %quoting_style.addr, align 4 + %cmp244 = icmp eq i32 %137, 2 + br i1 %cmp244, label %if.then246, label %if.end250 + +if.then246: ; preds = %sw.bb243 + %138 = load i8, i8* %elide_outer_quotes, align 1 + %tobool247 = trunc i8 %138 to i1 + br i1 %tobool247, label %force_outer_quoting_style, label %do.body634 + +if.end250: ; preds = %sw.bb243 + %139 = load i8, i8* %backslash_escapes, align 1 + %tobool251 = trunc i8 %139 to i1 + br i1 %tobool251, label %land.lhs.true253, label %c_and_shell_escape + +land.lhs.true253: ; preds = %if.end250 + %140 = load i8, i8* %elide_outer_quotes, align 1 + %tobool254 = trunc i8 %140 to i1 + %141 = load i64, i64* %quote_string_len, align 8 + %tobool257 = icmp ne i64 %141, 0 + %or.cond3 = and i1 %tobool254, %tobool257 + br i1 %or.cond3, label %do.body634, label %c_and_shell_escape + +c_and_shell_escape: ; preds = %if.end250, %land.lhs.true253, %sw.bb241, %sw.bb240, %sw.bb239 + %142 = load i32, i32* %quoting_style.addr, align 4 + %cmp260 = icmp eq i32 %142, 2 + br i1 %cmp260, label %land.lhs.true262, label %c_escape + +land.lhs.true262: ; preds = %c_and_shell_escape + %143 = load i8, i8* %elide_outer_quotes, align 1 + %tobool263 = trunc i8 %143 to i1 + br i1 %tobool263, label %force_outer_quoting_style, label %c_escape + +c_escape: ; preds = %c_and_shell_escape, %land.lhs.true262, %sw.bb242, %sw.bb238, %sw.bb237, %sw.bb236 + %144 = load i8, i8* %backslash_escapes, align 1 + %tobool267 = trunc i8 %144 to i1 + br i1 %tobool267, label %if.then268, label %sw.epilog564 + +if.then268: ; preds = %c_escape + %145 = load i8, i8* %esc, align 1 + store i8 %145, i8* %c, align 1 + br label %do.body586 + +sw.bb270: ; preds = %NodeBlock212, %NodeBlock210 + %146 = load i64, i64* %argsize.addr, align 8 + %cmp271 = icmp eq i64 %146, -1 + br i1 %cmp271, label %cond.true273, label %cond.false278 + +cond.true273: ; preds = %sw.bb270 + %147 = load i8*, i8** %arg.addr, align 8 + %arrayidx274 = getelementptr inbounds i8, i8* %147, i64 1 + %148 = load i8, i8* %arrayidx274, align 1 + %conv275 = sext i8 %148 to i32 + %cmp276 = icmp eq i32 %conv275, 0 + br i1 %cmp276, label %sw.bb283, label %sw.epilog564 + +cond.false278: ; preds = %sw.bb270 + %149 = load i64, i64* %argsize.addr, align 8 + %cmp279 = icmp eq i64 %149, 1 + br i1 %cmp279, label %sw.bb283, label %sw.epilog564 + +sw.bb283: ; preds = %NodeBlock208, %NodeBlock206, %cond.true273, %cond.false278 + %150 = load i64, i64* %i, align 8 + %cmp284 = icmp ne i64 %150, 0 + br i1 %cmp284, label %sw.epilog564, label %sw.bb288 + +sw.bb288: ; preds = %NodeBlock204, %sw.bb283 + store i8 1, i8* %c_and_shell_quote_compat, align 1 + br label %sw.bb289 + +sw.bb289: ; preds = %NodeBlock202, %NodeBlock200, %NodeBlock198, %NodeBlock196, %NodeBlock194, %NodeBlock192, %NodeBlock190, %NodeBlock188, %NodeBlock186, %NodeBlock184, %NodeBlock182, %NodeBlock180, %NodeBlock178, %NodeBlock176, %NodeBlock174, %sw.bb288 + %151 = load i32, i32* %quoting_style.addr, align 4 + %cmp290 = icmp eq i32 %151, 2 + br i1 %cmp290, label %land.lhs.true292, label %sw.epilog564 + +land.lhs.true292: ; preds = %sw.bb289 + %152 = load i8, i8* %elide_outer_quotes, align 1 + %tobool293 = trunc i8 %152 to i1 + br i1 %tobool293, label %force_outer_quoting_style, label %sw.epilog564 + +sw.bb297: ; preds = %NodeBlock172 + store i8 1, i8* %encountered_single_quote, align 1 + store i8 1, i8* %c_and_shell_quote_compat, align 1 + %153 = load i32, i32* %quoting_style.addr, align 4 + %cmp298 = icmp eq i32 %153, 2 + br i1 %cmp298, label %if.then300, label %sw.epilog564 + +if.then300: ; preds = %sw.bb297 + %154 = load i8, i8* %elide_outer_quotes, align 1 + %tobool301 = trunc i8 %154 to i1 + br i1 %tobool301, label %force_outer_quoting_style, label %if.end303 + +if.end303: ; preds = %if.then300 + %155 = load i64, i64* %buffersize.addr, align 8 + %tobool304 = icmp eq i64 %155, 0 + %156 = load i64, i64* %orig_buffersize, align 8 + %tobool306 = icmp ne i64 %156, 0 + %or.cond4 = or i1 %tobool304, %tobool306 + br i1 %or.cond4, label %do.body309, label %if.then307 + +if.then307: ; preds = %if.end303 + %157 = load i64, i64* %buffersize.addr, align 8 + store i64 %157, i64* %orig_buffersize, align 8 + store i64 0, i64* %buffersize.addr, align 8 + br label %do.body309 + +do.body309: ; preds = %if.then307, %if.end303 + %158 = load i64, i64* %len, align 8 + %159 = load i64, i64* %buffersize.addr, align 8 + %cmp310 = icmp ult i64 %158, %159 + br i1 %cmp310, label %if.then312, label %if.end314 + +if.then312: ; preds = %do.body309 + %160 = load i8*, i8** %buffer.addr, align 8 + %161 = load i64, i64* %len, align 8 + %arrayidx313 = getelementptr inbounds i8, i8* %160, i64 %161 + store i8 39, i8* %arrayidx313, align 1 + br label %if.end314 + +if.end314: ; preds = %if.then312, %do.body309 + %162 = load i64, i64* %len, align 8 + %inc315 = add i64 %162, 1 + store i64 %inc315, i64* %len, align 8 + %163 = load i64, i64* %len, align 8 + %164 = load i64, i64* %buffersize.addr, align 8 + %cmp318 = icmp ult i64 %163, %164 + br i1 %cmp318, label %if.then320, label %if.end322 + +if.then320: ; preds = %if.end314 + %165 = load i8*, i8** %buffer.addr, align 8 + %166 = load i64, i64* %len, align 8 + %arrayidx321 = getelementptr inbounds i8, i8* %165, i64 %166 + store i8 92, i8* %arrayidx321, align 1 + br label %if.end322 + +if.end322: ; preds = %if.then320, %if.end314 + %167 = load i64, i64* %len, align 8 + %inc323 = add i64 %167, 1 + store i64 %inc323, i64* %len, align 8 + %168 = load i64, i64* %len, align 8 + %169 = load i64, i64* %buffersize.addr, align 8 + %cmp326 = icmp ult i64 %168, %169 + br i1 %cmp326, label %if.then328, label %if.end330 + +if.then328: ; preds = %if.end322 + %170 = load i8*, i8** %buffer.addr, align 8 + %171 = load i64, i64* %len, align 8 + %arrayidx329 = getelementptr inbounds i8, i8* %170, i64 %171 + store i8 39, i8* %arrayidx329, align 1 + br label %if.end330 + +if.end330: ; preds = %if.then328, %if.end322 + %172 = load i64, i64* %len, align 8 + %inc331 = add i64 %172, 1 + store i64 %inc331, i64* %len, align 8 + store i8 0, i8* %pending_shell_escape_end, align 1 + br label %sw.epilog564 + +sw.bb334: ; preds = %NodeBlock170, %NodeBlock168, %NodeBlock166, %NodeBlock164, %NodeBlock162, %NodeBlock160, %NodeBlock158, %NodeBlock156, %NodeBlock154, %NodeBlock152, %NodeBlock150, %NodeBlock148, %NodeBlock146, %NodeBlock144, %NodeBlock142, %NodeBlock140, %NodeBlock138, %NodeBlock136, %NodeBlock134, %NodeBlock132, %NodeBlock130, %NodeBlock128, %NodeBlock126, %NodeBlock124, %NodeBlock122, %NodeBlock120, %NodeBlock118, %NodeBlock116, %NodeBlock114, %NodeBlock112, %NodeBlock110, %NodeBlock108, %NodeBlock106, %NodeBlock104, %NodeBlock102, %NodeBlock100, %NodeBlock98, %NodeBlock96, %NodeBlock94, %NodeBlock92, %NodeBlock90, %NodeBlock88, %NodeBlock86, %NodeBlock84, %NodeBlock82, %NodeBlock80, %NodeBlock78, %NodeBlock76, %NodeBlock74, %NodeBlock72, %NodeBlock70, %NodeBlock68, %NodeBlock66, %NodeBlock64, %NodeBlock62, %NodeBlock60, %NodeBlock58, %NodeBlock56, %NodeBlock54, %NodeBlock52, %NodeBlock50, %NodeBlock48, %NodeBlock46, %NodeBlock44, %NodeBlock42, %NodeBlock40, %NodeBlock38, %NodeBlock36, %NodeBlock34, %NodeBlock32, %NodeBlock30 + store i8 1, i8* %c_and_shell_quote_compat, align 1 + br label %sw.epilog564 + +newDefault29: ; preds = %NodeBlock30 + br label %sw.default335 + +sw.default335: ; preds = %newDefault29 + %173 = load i8, i8* %unibyte_locale, align 1 + %tobool336 = trunc i8 %173 to i1 + br i1 %tobool336, label %if.then337, label %if.else346 + +if.then337: ; preds = %sw.default335 + store i64 1, i64* %m, align 8 + %call338 = call i16** @__ctype_b_loc() #25 + %174 = load i16*, i16** %call338, align 8 + %175 = load i8, i8* %c, align 1 + %conv339 = zext i8 %175 to i32 + %idxprom = sext i32 %conv339 to i64 + %arrayidx340 = getelementptr inbounds i16, i16* %174, i64 %idxprom + %176 = load i16, i16* %arrayidx340, align 2 + %conv341 = zext i16 %176 to i32 + %and342 = and i32 %conv341, 16384 + %cmp343 = icmp ne i32 %and342, 0 + %frombool345 = zext i1 %cmp343 to i8 + store i8 %frombool345, i8* %printable, align 1 + br label %if.end410 + +if.else346: ; preds = %sw.default335 + %177 = bitcast %struct.__mbstate_t* %mbstate to i8* + %178 = call i8* @memset(i8* %177, i32 0, i64 8) + store i64 0, i64* %m, align 8 + store i8 1, i8* %printable, align 1 + %179 = load i64, i64* %argsize.addr, align 8 + %cmp347 = icmp eq i64 %179, -1 + br i1 %cmp347, label %if.then349, label %if.end351 + +if.then349: ; preds = %if.else346 + %180 = load i8*, i8** %arg.addr, align 8 + %call350 = call i64 @strlen(i8* %180) #23 + store i64 %call350, i64* %argsize.addr, align 8 + br label %if.end351 + +if.end351: ; preds = %if.then349, %if.else346 + br label %do.body352 + +do.body352: ; preds = %if.end401, %if.end351 + %181 = load i8*, i8** %arg.addr, align 8 + %182 = load i64, i64* %i, align 8 + %183 = load i64, i64* %m, align 8 + %add353 = add i64 %182, %183 + %arrayidx354 = getelementptr inbounds i8, i8* %181, i64 %add353 + %184 = load i64, i64* %argsize.addr, align 8 + %185 = load i64, i64* %i, align 8 + %186 = load i64, i64* %m, align 8 + %add355 = add i64 %185, %186 + %sub = sub i64 %184, %add355 + %call356 = call i64 @rpl_mbrtowc(i32* %w, i8* %arrayidx354, i64 %sub, %struct.__mbstate_t* %mbstate) + store i64 %call356, i64* %bytes, align 8 + %187 = load i64, i64* %bytes, align 8 + %cmp357 = icmp eq i64 %187, 0 + br i1 %cmp357, label %if.end410, label %if.else360 + +if.else360: ; preds = %do.body352 + %188 = load i64, i64* %bytes, align 8 + %cmp361 = icmp eq i64 %188, -1 + br i1 %cmp361, label %if.then363, label %if.else364 + +if.then363: ; preds = %if.else360 + store i8 0, i8* %printable, align 1 + br label %if.end410 + +if.else364: ; preds = %if.else360 + %189 = load i64, i64* %bytes, align 8 + %cmp365 = icmp eq i64 %189, -2 + br i1 %cmp365, label %if.then367, label %if.else376 + +if.then367: ; preds = %if.else364 + store i8 0, i8* %printable, align 1 + br label %while.cond + +while.cond: ; preds = %while.body, %if.then367 + %190 = load i64, i64* %i, align 8 + %191 = load i64, i64* %m, align 8 + %add368 = add i64 %190, %191 + %192 = load i64, i64* %argsize.addr, align 8 + %cmp369 = icmp ult i64 %add368, %192 + br i1 %cmp369, label %land.rhs, label %if.end410 + +land.rhs: ; preds = %while.cond + %193 = load i8*, i8** %arg.addr, align 8 + %194 = load i64, i64* %i, align 8 + %195 = load i64, i64* %m, align 8 + %add371 = add i64 %194, %195 + %arrayidx372 = getelementptr inbounds i8, i8* %193, i64 %add371 + %196 = load i8, i8* %arrayidx372, align 1 + %conv373 = sext i8 %196 to i32 + %tobool374 = icmp ne i32 %conv373, 0 + br i1 %tobool374, label %while.body, label %if.end410 + +while.body: ; preds = %land.rhs + %197 = load i64, i64* %m, align 8 + %inc375 = add i64 %197, 1 + store i64 %inc375, i64* %m, align 8 + br label %while.cond + +if.else376: ; preds = %if.else364 + %198 = load i8, i8* %elide_outer_quotes, align 1 + %tobool377 = trunc i8 %198 to i1 + %199 = load i32, i32* %quoting_style.addr, align 4 + %cmp380 = icmp eq i32 %199, 2 + %or.cond5 = and i1 %tobool377, %cmp380 + br i1 %or.cond5, label %if.then382, label %if.end397 + +if.then382: ; preds = %if.else376 + store i64 1, i64* %j, align 8 + br label %for.cond383 + +for.cond383: ; preds = %for.inc394, %if.then382 + %200 = load i64, i64* %j, align 8 + %201 = load i64, i64* %bytes, align 8 + %cmp384 = icmp ult i64 %200, %201 + br i1 %cmp384, label %for.body386, label %if.end397 + +for.body386: ; preds = %for.cond383 + %202 = load i8*, i8** %arg.addr, align 8 + %203 = load i64, i64* %i, align 8 + %204 = load i64, i64* %m, align 8 + %add387 = add i64 %203, %204 + %205 = load i64, i64* %j, align 8 + %add388 = add i64 %add387, %205 + %arrayidx389 = getelementptr inbounds i8, i8* %202, i64 %add388 + %206 = load i8, i8* %arrayidx389, align 1 + %conv390 = sext i8 %206 to i32 + br label %NodeBlock267 + +NodeBlock267: ; preds = %for.body386 + %case.cmp268 = icmp eq i32 %conv390, 91 + br i1 %case.cmp268, label %force_outer_quoting_style, label %NodeBlock265 + +NodeBlock265: ; preds = %NodeBlock267 + %case.cmp266 = icmp eq i32 %conv390, 92 + br i1 %case.cmp266, label %force_outer_quoting_style, label %NodeBlock263 + +NodeBlock263: ; preds = %NodeBlock265 + %case.cmp264 = icmp eq i32 %conv390, 94 + br i1 %case.cmp264, label %force_outer_quoting_style, label %NodeBlock261 + +NodeBlock261: ; preds = %NodeBlock263 + %case.cmp262 = icmp eq i32 %conv390, 96 + br i1 %case.cmp262, label %force_outer_quoting_style, label %NodeBlock259 + +NodeBlock259: ; preds = %NodeBlock261 + %case.cmp260 = icmp eq i32 %conv390, 124 + br i1 %case.cmp260, label %force_outer_quoting_style, label %newDefault258 + +newDefault258: ; preds = %NodeBlock259 + br label %for.inc394 + +for.inc394: ; preds = %newDefault258 + %207 = load i64, i64* %j, align 8 + %inc395 = add i64 %207, 1 + store i64 %inc395, i64* %j, align 8 + br label %for.cond383 + +if.end397: ; preds = %for.cond383, %if.else376 + %208 = load i32, i32* %w, align 4 + %call398 = call i32 @iswprint(i32 %208) #11 + %tobool399 = icmp ne i32 %call398, 0 + br i1 %tobool399, label %if.end401, label %if.then400 + +if.then400: ; preds = %if.end397 + store i8 0, i8* %printable, align 1 + br label %if.end401 + +if.end401: ; preds = %if.then400, %if.end397 + %209 = load i64, i64* %bytes, align 8 + %210 = load i64, i64* %m, align 8 + %add402 = add i64 %210, %209 + store i64 %add402, i64* %m, align 8 + %call406 = call i32 bitcast (i32 (%struct.__mbstate_t.512*)* @mbsinit to i32 (%struct.__mbstate_t*)*)(%struct.__mbstate_t* %mbstate) #23 + %tobool407 = icmp ne i32 %call406, 0 + %lnot408 = xor i1 %tobool407, true + br i1 %lnot408, label %do.body352, label %if.end410 + +if.end410: ; preds = %if.then363, %if.end401, %do.body352, %while.cond, %land.rhs, %if.then337 + %211 = load i8, i8* %printable, align 1 + %tobool411 = trunc i8 %211 to i1 + %frombool412 = zext i1 %tobool411 to i8 + store i8 %frombool412, i8* %c_and_shell_quote_compat, align 1 + %212 = load i64, i64* %m, align 8 + %cmp413 = icmp ult i64 1, %212 + br i1 %cmp413, label %if.then419, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end410 + %213 = load i8, i8* %backslash_escapes, align 1 + %tobool415 = trunc i8 %213 to i1 + br i1 %tobool415, label %land.lhs.true417, label %sw.epilog564 + +land.lhs.true417: ; preds = %lor.lhs.false + %214 = load i8, i8* %printable, align 1 + %tobool418 = trunc i8 %214 to i1 + br i1 %tobool418, label %sw.epilog564, label %if.then419 + +if.then419: ; preds = %land.lhs.true417, %if.end410 + %215 = load i64, i64* %i, align 8 + %216 = load i64, i64* %m, align 8 + %add420 = add i64 %215, %216 + store i64 %add420, i64* %ilim, align 8 + br label %for.cond421 + +for.cond421: ; preds = %if.end556, %if.then419 + %217 = load i8, i8* %backslash_escapes, align 1 + %tobool422 = trunc i8 %217 to i1 + br i1 %tobool422, label %land.lhs.true424, label %if.else505 + +land.lhs.true424: ; preds = %for.cond421 + %218 = load i8, i8* %printable, align 1 + %tobool425 = trunc i8 %218 to i1 + br i1 %tobool425, label %if.else505, label %do.body427 + +do.body427: ; preds = %land.lhs.true424 + %219 = load i8, i8* %elide_outer_quotes, align 1 + %tobool428 = trunc i8 %219 to i1 + br i1 %tobool428, label %force_outer_quoting_style, label %if.end430 + +if.end430: ; preds = %do.body427 + store i8 1, i8* %escaping, align 1 + %220 = load i32, i32* %quoting_style.addr, align 4 + %cmp431 = icmp eq i32 %220, 2 + br i1 %cmp431, label %land.lhs.true433, label %do.body464 + +land.lhs.true433: ; preds = %if.end430 + %221 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool434 = trunc i8 %221 to i1 + br i1 %tobool434, label %do.body464, label %do.body436 + +do.body436: ; preds = %land.lhs.true433 + %222 = load i64, i64* %len, align 8 + %223 = load i64, i64* %buffersize.addr, align 8 + %cmp437 = icmp ult i64 %222, %223 + br i1 %cmp437, label %if.then439, label %if.end441 + +if.then439: ; preds = %do.body436 + %224 = load i8*, i8** %buffer.addr, align 8 + %225 = load i64, i64* %len, align 8 + %arrayidx440 = getelementptr inbounds i8, i8* %224, i64 %225 + store i8 39, i8* %arrayidx440, align 1 + br label %if.end441 + +if.end441: ; preds = %if.then439, %do.body436 + %226 = load i64, i64* %len, align 8 + %inc442 = add i64 %226, 1 + store i64 %inc442, i64* %len, align 8 + %227 = load i64, i64* %len, align 8 + %228 = load i64, i64* %buffersize.addr, align 8 + %cmp446 = icmp ult i64 %227, %228 + br i1 %cmp446, label %if.then448, label %if.end450 + +if.then448: ; preds = %if.end441 + %229 = load i8*, i8** %buffer.addr, align 8 + %230 = load i64, i64* %len, align 8 + %arrayidx449 = getelementptr inbounds i8, i8* %229, i64 %230 + store i8 36, i8* %arrayidx449, align 1 + br label %if.end450 + +if.end450: ; preds = %if.then448, %if.end441 + %231 = load i64, i64* %len, align 8 + %inc451 = add i64 %231, 1 + store i64 %inc451, i64* %len, align 8 + %232 = load i64, i64* %len, align 8 + %233 = load i64, i64* %buffersize.addr, align 8 + %cmp455 = icmp ult i64 %232, %233 + br i1 %cmp455, label %if.then457, label %if.end459 + +if.then457: ; preds = %if.end450 + %234 = load i8*, i8** %buffer.addr, align 8 + %235 = load i64, i64* %len, align 8 + %arrayidx458 = getelementptr inbounds i8, i8* %234, i64 %235 + store i8 39, i8* %arrayidx458, align 1 + br label %if.end459 + +if.end459: ; preds = %if.then457, %if.end450 + %236 = load i64, i64* %len, align 8 + %inc460 = add i64 %236, 1 + store i64 %inc460, i64* %len, align 8 + store i8 1, i8* %pending_shell_escape_end, align 1 + br label %do.body464 + +do.body464: ; preds = %if.end430, %land.lhs.true433, %if.end459 + %237 = load i64, i64* %len, align 8 + %238 = load i64, i64* %buffersize.addr, align 8 + %cmp465 = icmp ult i64 %237, %238 + br i1 %cmp465, label %if.then467, label %if.end469 + +if.then467: ; preds = %do.body464 + %239 = load i8*, i8** %buffer.addr, align 8 + %240 = load i64, i64* %len, align 8 + %arrayidx468 = getelementptr inbounds i8, i8* %239, i64 %240 + store i8 92, i8* %arrayidx468, align 1 + br label %if.end469 + +if.end469: ; preds = %if.then467, %do.body464 + %241 = load i64, i64* %len, align 8 + %inc470 = add i64 %241, 1 + store i64 %inc470, i64* %len, align 8 + %242 = load i64, i64* %len, align 8 + %243 = load i64, i64* %buffersize.addr, align 8 + %cmp476 = icmp ult i64 %242, %243 + br i1 %cmp476, label %if.then478, label %if.end483 + +if.then478: ; preds = %if.end469 + %244 = load i8, i8* %c, align 1 + %conv479 = zext i8 %244 to i32 + %shr = ashr i32 %conv479, 6 + %add480 = add nsw i32 48, %shr + %conv481 = trunc i32 %add480 to i8 + %245 = load i8*, i8** %buffer.addr, align 8 + %246 = load i64, i64* %len, align 8 + %arrayidx482 = getelementptr inbounds i8, i8* %245, i64 %246 + store i8 %conv481, i8* %arrayidx482, align 1 + br label %if.end483 + +if.end483: ; preds = %if.then478, %if.end469 + %247 = load i64, i64* %len, align 8 + %inc484 = add i64 %247, 1 + store i64 %inc484, i64* %len, align 8 + %248 = load i64, i64* %len, align 8 + %249 = load i64, i64* %buffersize.addr, align 8 + %cmp488 = icmp ult i64 %248, %249 + br i1 %cmp488, label %if.then490, label %if.end497 + +if.then490: ; preds = %if.end483 + %250 = load i8, i8* %c, align 1 + %conv491 = zext i8 %250 to i32 + %shr492 = ashr i32 %conv491, 3 + %and493 = and i32 %shr492, 7 + %add494 = add nsw i32 48, %and493 + %conv495 = trunc i32 %add494 to i8 + %251 = load i8*, i8** %buffer.addr, align 8 + %252 = load i64, i64* %len, align 8 + %arrayidx496 = getelementptr inbounds i8, i8* %251, i64 %252 + store i8 %conv495, i8* %arrayidx496, align 1 + br label %if.end497 + +if.end497: ; preds = %if.then490, %if.end483 + %253 = load i64, i64* %len, align 8 + %inc498 = add i64 %253, 1 + store i64 %inc498, i64* %len, align 8 + %254 = load i8, i8* %c, align 1 + %conv501 = zext i8 %254 to i32 + %and502 = and i32 %conv501, 7 + %add503 = add nsw i32 48, %and502 + %conv504 = trunc i32 %add503 to i8 + store i8 %conv504, i8* %c, align 1 + br label %if.end518 + +if.else505: ; preds = %land.lhs.true424, %for.cond421 + %255 = load i8, i8* %is_right_quote, align 1 + %tobool506 = trunc i8 %255 to i1 + br i1 %tobool506, label %do.body508, label %if.end518 + +do.body508: ; preds = %if.else505 + %256 = load i64, i64* %len, align 8 + %257 = load i64, i64* %buffersize.addr, align 8 + %cmp509 = icmp ult i64 %256, %257 + br i1 %cmp509, label %if.then511, label %if.end513 + +if.then511: ; preds = %do.body508 + %258 = load i8*, i8** %buffer.addr, align 8 + %259 = load i64, i64* %len, align 8 + %arrayidx512 = getelementptr inbounds i8, i8* %258, i64 %259 + store i8 92, i8* %arrayidx512, align 1 + br label %if.end513 + +if.end513: ; preds = %if.then511, %do.body508 + %260 = load i64, i64* %len, align 8 + %inc514 = add i64 %260, 1 + store i64 %inc514, i64* %len, align 8 + store i8 0, i8* %is_right_quote, align 1 + br label %if.end518 + +if.end518: ; preds = %if.else505, %if.end513, %if.end497 + %261 = load i64, i64* %ilim, align 8 + %262 = load i64, i64* %i, align 8 + %add519 = add i64 %262, 1 + %cmp520 = icmp ule i64 %261, %add519 + br i1 %cmp520, label %do.body634, label %do.body524 + +do.body524: ; preds = %if.end518 + %263 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool525 = trunc i8 %263 to i1 + br i1 %tobool525, label %land.lhs.true527, label %do.body551 + +land.lhs.true527: ; preds = %do.body524 + %264 = load i8, i8* %escaping, align 1 + %tobool528 = trunc i8 %264 to i1 + br i1 %tobool528, label %do.body551, label %do.body530 + +do.body530: ; preds = %land.lhs.true527 + %265 = load i64, i64* %len, align 8 + %266 = load i64, i64* %buffersize.addr, align 8 + %cmp531 = icmp ult i64 %265, %266 + br i1 %cmp531, label %if.then533, label %if.end535 + +if.then533: ; preds = %do.body530 + %267 = load i8*, i8** %buffer.addr, align 8 + %268 = load i64, i64* %len, align 8 + %arrayidx534 = getelementptr inbounds i8, i8* %267, i64 %268 + store i8 39, i8* %arrayidx534, align 1 + br label %if.end535 + +if.end535: ; preds = %if.then533, %do.body530 + %269 = load i64, i64* %len, align 8 + %inc536 = add i64 %269, 1 + store i64 %inc536, i64* %len, align 8 + %270 = load i64, i64* %len, align 8 + %271 = load i64, i64* %buffersize.addr, align 8 + %cmp540 = icmp ult i64 %270, %271 + br i1 %cmp540, label %if.then542, label %if.end544 + +if.then542: ; preds = %if.end535 + %272 = load i8*, i8** %buffer.addr, align 8 + %273 = load i64, i64* %len, align 8 + %arrayidx543 = getelementptr inbounds i8, i8* %272, i64 %273 + store i8 39, i8* %arrayidx543, align 1 + br label %if.end544 + +if.end544: ; preds = %if.then542, %if.end535 + %274 = load i64, i64* %len, align 8 + %inc545 = add i64 %274, 1 + store i64 %inc545, i64* %len, align 8 + store i8 0, i8* %pending_shell_escape_end, align 1 + br label %do.body551 + +do.body551: ; preds = %if.end544, %land.lhs.true527, %do.body524 + %275 = load i64, i64* %len, align 8 + %276 = load i64, i64* %buffersize.addr, align 8 + %cmp552 = icmp ult i64 %275, %276 + br i1 %cmp552, label %if.then554, label %if.end556 + +if.then554: ; preds = %do.body551 + %277 = load i8, i8* %c, align 1 + %278 = load i8*, i8** %buffer.addr, align 8 + %279 = load i64, i64* %len, align 8 + %arrayidx555 = getelementptr inbounds i8, i8* %278, i64 %279 + store i8 %277, i8* %arrayidx555, align 1 + br label %if.end556 + +if.end556: ; preds = %if.then554, %do.body551 + %280 = load i64, i64* %len, align 8 + %inc557 = add i64 %280, 1 + store i64 %inc557, i64* %len, align 8 + %281 = load i8*, i8** %arg.addr, align 8 + %282 = load i64, i64* %i, align 8 + %inc560 = add i64 %282, 1 + store i64 %inc560, i64* %i, align 8 + %arrayidx561 = getelementptr inbounds i8, i8* %281, i64 %inc560 + %283 = load i8, i8* %arrayidx561, align 1 + store i8 %283, i8* %c, align 1 + br label %for.cond421 + +newDefault234: ; preds = %NodeBlock235 + br label %sw.epilog564 + +newDefault239: ; preds = %NodeBlock240 + br label %sw.epilog564 + +sw.epilog564: ; preds = %newDefault239, %newDefault234, %lor.lhs.false, %land.lhs.true417, %sw.bb297, %if.end330, %sw.bb289, %land.lhs.true292, %sw.bb283, %cond.true273, %cond.false278, %c_escape, %sw.bb171, %if.end228, %land.lhs.true182, %land.lhs.true178, %sw.bb175, %if.end164, %if.else, %sw.bb334 + %284 = load i8, i8* %backslash_escapes, align 1 + %tobool565 = trunc i8 %284 to i1 + %285 = load i32, i32* %quoting_style.addr, align 4 + %cmp568 = icmp ne i32 %285, 2 + %or.cond6 = and i1 %tobool565, %cmp568 + br i1 %or.cond6, label %land.lhs.true573, label %lor.lhs.false570 + +lor.lhs.false570: ; preds = %sw.epilog564 + %286 = load i8, i8* %elide_outer_quotes, align 1 + %tobool571 = trunc i8 %286 to i1 + br i1 %tobool571, label %land.lhs.true573, label %land.lhs.true582 + +land.lhs.true573: ; preds = %sw.epilog564, %lor.lhs.false570 + %287 = load i32*, i32** %quote_these_too.addr, align 8 + %tobool574 = icmp ne i32* %287, null + br i1 %tobool574, label %land.lhs.true575, label %land.lhs.true582 + +land.lhs.true575: ; preds = %land.lhs.true573 + %288 = load i32*, i32** %quote_these_too.addr, align 8 + %289 = load i8, i8* %c, align 1 + %conv576 = zext i8 %289 to i64 + %div = udiv i64 %conv576, 32 + %arrayidx577 = getelementptr inbounds i32, i32* %288, i64 %div + %290 = load i32, i32* %arrayidx577, align 4 + %291 = load i8, i8* %c, align 1 + %conv578 = zext i8 %291 to i64 + %rem = urem i64 %conv578, 32 + %sh_prom = trunc i64 %rem to i32 + %shr579 = lshr i32 %290, %sh_prom + %and580 = and i32 %shr579, 1 + %tobool581 = icmp ne i32 %and580, 0 + br i1 %tobool581, label %do.body586, label %land.lhs.true582 + +land.lhs.true582: ; preds = %land.lhs.true575, %land.lhs.true573, %lor.lhs.false570 + %292 = load i8, i8* %is_right_quote, align 1 + %tobool583 = trunc i8 %292 to i1 + br i1 %tobool583, label %do.body586, label %do.body634 + +do.body586: ; preds = %if.then268, %land.lhs.true582, %land.lhs.true575 + %293 = load i8, i8* %elide_outer_quotes, align 1 + %tobool587 = trunc i8 %293 to i1 + br i1 %tobool587, label %force_outer_quoting_style, label %if.end589 + +if.end589: ; preds = %do.body586 + store i8 1, i8* %escaping, align 1 + %294 = load i32, i32* %quoting_style.addr, align 4 + %cmp590 = icmp eq i32 %294, 2 + br i1 %cmp590, label %land.lhs.true592, label %do.body623 + +land.lhs.true592: ; preds = %if.end589 + %295 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool593 = trunc i8 %295 to i1 + br i1 %tobool593, label %do.body623, label %do.body595 + +do.body595: ; preds = %land.lhs.true592 + %296 = load i64, i64* %len, align 8 + %297 = load i64, i64* %buffersize.addr, align 8 + %cmp596 = icmp ult i64 %296, %297 + br i1 %cmp596, label %if.then598, label %if.end600 + +if.then598: ; preds = %do.body595 + %298 = load i8*, i8** %buffer.addr, align 8 + %299 = load i64, i64* %len, align 8 + %arrayidx599 = getelementptr inbounds i8, i8* %298, i64 %299 + store i8 39, i8* %arrayidx599, align 1 + br label %if.end600 + +if.end600: ; preds = %if.then598, %do.body595 + %300 = load i64, i64* %len, align 8 + %inc601 = add i64 %300, 1 + store i64 %inc601, i64* %len, align 8 + %301 = load i64, i64* %len, align 8 + %302 = load i64, i64* %buffersize.addr, align 8 + %cmp605 = icmp ult i64 %301, %302 + br i1 %cmp605, label %if.then607, label %if.end609 + +if.then607: ; preds = %if.end600 + %303 = load i8*, i8** %buffer.addr, align 8 + %304 = load i64, i64* %len, align 8 + %arrayidx608 = getelementptr inbounds i8, i8* %303, i64 %304 + store i8 36, i8* %arrayidx608, align 1 + br label %if.end609 + +if.end609: ; preds = %if.then607, %if.end600 + %305 = load i64, i64* %len, align 8 + %inc610 = add i64 %305, 1 + store i64 %inc610, i64* %len, align 8 + %306 = load i64, i64* %len, align 8 + %307 = load i64, i64* %buffersize.addr, align 8 + %cmp614 = icmp ult i64 %306, %307 + br i1 %cmp614, label %if.then616, label %if.end618 + +if.then616: ; preds = %if.end609 + %308 = load i8*, i8** %buffer.addr, align 8 + %309 = load i64, i64* %len, align 8 + %arrayidx617 = getelementptr inbounds i8, i8* %308, i64 %309 + store i8 39, i8* %arrayidx617, align 1 + br label %if.end618 + +if.end618: ; preds = %if.then616, %if.end609 + %310 = load i64, i64* %len, align 8 + %inc619 = add i64 %310, 1 + store i64 %inc619, i64* %len, align 8 + store i8 1, i8* %pending_shell_escape_end, align 1 + br label %do.body623 + +do.body623: ; preds = %if.end589, %land.lhs.true592, %if.end618 + %311 = load i64, i64* %len, align 8 + %312 = load i64, i64* %buffersize.addr, align 8 + %cmp624 = icmp ult i64 %311, %312 + br i1 %cmp624, label %if.then626, label %if.end628 + +if.then626: ; preds = %do.body623 + %313 = load i8*, i8** %buffer.addr, align 8 + %314 = load i64, i64* %len, align 8 + %arrayidx627 = getelementptr inbounds i8, i8* %313, i64 %314 + store i8 92, i8* %arrayidx627, align 1 + br label %if.end628 + +if.end628: ; preds = %if.then626, %do.body623 + %315 = load i64, i64* %len, align 8 + %inc629 = add i64 %315, 1 + store i64 %inc629, i64* %len, align 8 + br label %do.body634 + +do.body634: ; preds = %if.end628, %if.then246, %land.lhs.true253, %if.end518, %land.lhs.true582 + %316 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool635 = trunc i8 %316 to i1 + br i1 %tobool635, label %land.lhs.true637, label %do.body661 + +land.lhs.true637: ; preds = %do.body634 + %317 = load i8, i8* %escaping, align 1 + %tobool638 = trunc i8 %317 to i1 + br i1 %tobool638, label %do.body661, label %do.body640 + +do.body640: ; preds = %land.lhs.true637 + %318 = load i64, i64* %len, align 8 + %319 = load i64, i64* %buffersize.addr, align 8 + %cmp641 = icmp ult i64 %318, %319 + br i1 %cmp641, label %if.then643, label %if.end645 + +if.then643: ; preds = %do.body640 + %320 = load i8*, i8** %buffer.addr, align 8 + %321 = load i64, i64* %len, align 8 + %arrayidx644 = getelementptr inbounds i8, i8* %320, i64 %321 + store i8 39, i8* %arrayidx644, align 1 + br label %if.end645 + +if.end645: ; preds = %if.then643, %do.body640 + %322 = load i64, i64* %len, align 8 + %inc646 = add i64 %322, 1 + store i64 %inc646, i64* %len, align 8 + %323 = load i64, i64* %len, align 8 + %324 = load i64, i64* %buffersize.addr, align 8 + %cmp650 = icmp ult i64 %323, %324 + br i1 %cmp650, label %if.then652, label %if.end654 + +if.then652: ; preds = %if.end645 + %325 = load i8*, i8** %buffer.addr, align 8 + %326 = load i64, i64* %len, align 8 + %arrayidx653 = getelementptr inbounds i8, i8* %325, i64 %326 + store i8 39, i8* %arrayidx653, align 1 + br label %if.end654 + +if.end654: ; preds = %if.then652, %if.end645 + %327 = load i64, i64* %len, align 8 + %inc655 = add i64 %327, 1 + store i64 %inc655, i64* %len, align 8 + store i8 0, i8* %pending_shell_escape_end, align 1 + br label %do.body661 + +do.body661: ; preds = %if.end654, %land.lhs.true637, %do.body634 + %328 = load i64, i64* %len, align 8 + %329 = load i64, i64* %buffersize.addr, align 8 + %cmp662 = icmp ult i64 %328, %329 + br i1 %cmp662, label %if.then664, label %if.end666 + +if.then664: ; preds = %do.body661 + %330 = load i8, i8* %c, align 1 + %331 = load i8*, i8** %buffer.addr, align 8 + %332 = load i64, i64* %len, align 8 + %arrayidx665 = getelementptr inbounds i8, i8* %331, i64 %332 + store i8 %330, i8* %arrayidx665, align 1 + br label %if.end666 + +if.end666: ; preds = %if.then664, %do.body661 + %333 = load i64, i64* %len, align 8 + %inc667 = add i64 %333, 1 + store i64 %inc667, i64* %len, align 8 + %334 = load i8, i8* %c_and_shell_quote_compat, align 1 + %tobool670 = trunc i8 %334 to i1 + br i1 %tobool670, label %for.inc673, label %if.then671 + +if.then671: ; preds = %if.end666 + store i8 0, i8* %all_c_and_shell_quote_compat, align 1 + br label %for.inc673 + +for.inc673: ; preds = %if.end666, %if.then671, %if.else + %335 = load i64, i64* %i, align 8 + %inc674 = add i64 %335, 1 + store i64 %inc674, i64* %i, align 8 + br label %for.cond44 + +for.end675: ; preds = %cond.end + %336 = load i64, i64* %len, align 8 + %cmp676 = icmp eq i64 %336, 0 + %337 = load i32, i32* %quoting_style.addr, align 4 + %cmp679 = icmp eq i32 %337, 2 + %or.cond7 = and i1 %cmp676, %cmp679 + br i1 %or.cond7, label %land.lhs.true681, label %if.end685 + +land.lhs.true681: ; preds = %for.end675 + %338 = load i8, i8* %elide_outer_quotes, align 1 + %tobool682 = trunc i8 %338 to i1 + br i1 %tobool682, label %force_outer_quoting_style, label %if.end685 + +if.end685: ; preds = %land.lhs.true681, %for.end675 + %339 = load i32, i32* %quoting_style.addr, align 4 + %cmp686 = icmp eq i32 %339, 2 + br i1 %cmp686, label %land.lhs.true688, label %if.end704 + +land.lhs.true688: ; preds = %if.end685 + %340 = load i8, i8* %elide_outer_quotes, align 1 + %tobool689 = trunc i8 %340 to i1 + br i1 %tobool689, label %if.end704, label %land.lhs.true690 + +land.lhs.true690: ; preds = %land.lhs.true688 + %341 = load i8, i8* %encountered_single_quote, align 1 + %tobool691 = trunc i8 %341 to i1 + br i1 %tobool691, label %if.then693, label %if.end704 + +if.then693: ; preds = %land.lhs.true690 + %342 = load i8, i8* %all_c_and_shell_quote_compat, align 1 + %tobool694 = trunc i8 %342 to i1 + br i1 %tobool694, label %if.then695, label %if.else697 + +if.then695: ; preds = %if.then693 + %343 = load i8*, i8** %buffer.addr, align 8 + %344 = load i64, i64* %orig_buffersize, align 8 + %345 = load i8*, i8** %arg.addr, align 8 + %346 = load i64, i64* %argsize.addr, align 8 + %347 = load i32, i32* %flags.addr, align 4 + %348 = load i32*, i32** %quote_these_too.addr, align 8 + %349 = load i8*, i8** %left_quote.addr, align 8 + %350 = load i8*, i8** %right_quote.addr, align 8 + %call696 = call i64 @quotearg_buffer_restyled(i8* %343, i64 %344, i8* %345, i64 %346, i32 5, i32 %347, i32* %348, i8* %349, i8* %350) + store i64 %call696, i64* %retval, align 8 + br label %return + +if.else697: ; preds = %if.then693 + %351 = load i64, i64* %buffersize.addr, align 8 + %tobool698 = icmp eq i64 %351, 0 + %352 = load i64, i64* %orig_buffersize, align 8 + %tobool700 = icmp ne i64 %352, 0 + %or.cond8 = and i1 %tobool698, %tobool700 + br i1 %or.cond8, label %if.then701, label %if.end704 + +if.then701: ; preds = %if.else697 + %353 = load i64, i64* %orig_buffersize, align 8 + store i64 %353, i64* %buffersize.addr, align 8 + store i64 0, i64* %len, align 8 + br label %process_input + +if.end704: ; preds = %if.else697, %land.lhs.true690, %land.lhs.true688, %if.end685 + %354 = load i8*, i8** %quote_string, align 8 + %tobool705 = icmp ne i8* %354, null + br i1 %tobool705, label %land.lhs.true706, label %if.end724 + +land.lhs.true706: ; preds = %if.end704 + %355 = load i8, i8* %elide_outer_quotes, align 1 + %tobool707 = trunc i8 %355 to i1 + br i1 %tobool707, label %if.end724, label %for.cond709 + +for.cond709: ; preds = %land.lhs.true706, %if.end717 + %356 = load i8*, i8** %quote_string, align 8 + %357 = load i8, i8* %356, align 1 + %tobool710 = icmp ne i8 %357, 0 + br i1 %tobool710, label %do.body712, label %if.end724 + +do.body712: ; preds = %for.cond709 + %358 = load i64, i64* %len, align 8 + %359 = load i64, i64* %buffersize.addr, align 8 + %cmp713 = icmp ult i64 %358, %359 + br i1 %cmp713, label %if.then715, label %if.end717 + +if.then715: ; preds = %do.body712 + %360 = load i8*, i8** %quote_string, align 8 + %361 = load i8, i8* %360, align 1 + %362 = load i8*, i8** %buffer.addr, align 8 + %363 = load i64, i64* %len, align 8 + %arrayidx716 = getelementptr inbounds i8, i8* %362, i64 %363 + store i8 %361, i8* %arrayidx716, align 1 + br label %if.end717 + +if.end717: ; preds = %if.then715, %do.body712 + %364 = load i64, i64* %len, align 8 + %inc718 = add i64 %364, 1 + store i64 %inc718, i64* %len, align 8 + %365 = load i8*, i8** %quote_string, align 8 + %incdec.ptr722 = getelementptr inbounds i8, i8* %365, i32 1 + store i8* %incdec.ptr722, i8** %quote_string, align 8 + br label %for.cond709 + +if.end724: ; preds = %for.cond709, %land.lhs.true706, %if.end704 + %366 = load i64, i64* %len, align 8 + %367 = load i64, i64* %buffersize.addr, align 8 + %cmp725 = icmp ult i64 %366, %367 + br i1 %cmp725, label %if.then727, label %if.end729 + +if.then727: ; preds = %if.end724 + %368 = load i8*, i8** %buffer.addr, align 8 + %369 = load i64, i64* %len, align 8 + %arrayidx728 = getelementptr inbounds i8, i8* %368, i64 %369 + store i8 0, i8* %arrayidx728, align 1 + br label %if.end729 + +if.end729: ; preds = %if.then727, %if.end724 + %370 = load i64, i64* %len, align 8 + store i64 %370, i64* %retval, align 8 + br label %return + +force_outer_quoting_style: ; preds = %NodeBlock267, %NodeBlock265, %NodeBlock263, %NodeBlock261, %NodeBlock259, %land.lhs.true681, %do.body586, %do.body427, %if.then300, %land.lhs.true292, %land.lhs.true262, %if.then246, %sw.bb192, %sw.bb171, %do.body86, %if.then76 + %371 = load i32, i32* %quoting_style.addr, align 4 + %cmp730 = icmp eq i32 %371, 2 + br i1 %cmp730, label %land.lhs.true732, label %if.end736 + +land.lhs.true732: ; preds = %force_outer_quoting_style + %372 = load i8, i8* %backslash_escapes, align 1 + %tobool733 = trunc i8 %372 to i1 + br i1 %tobool733, label %if.then735, label %if.end736 + +if.then735: ; preds = %land.lhs.true732 + store i32 4, i32* %quoting_style.addr, align 4 + br label %if.end736 + +if.end736: ; preds = %if.then735, %land.lhs.true732, %force_outer_quoting_style + %373 = load i8*, i8** %buffer.addr, align 8 + %374 = load i64, i64* %buffersize.addr, align 8 + %375 = load i8*, i8** %arg.addr, align 8 + %376 = load i64, i64* %argsize.addr, align 8 + %377 = load i32, i32* %quoting_style.addr, align 4 + %378 = load i32, i32* %flags.addr, align 4 + %and737 = and i32 %378, -3 + %379 = load i8*, i8** %left_quote.addr, align 8 + %380 = load i8*, i8** %right_quote.addr, align 8 + %call738 = call i64 @quotearg_buffer_restyled(i8* %373, i64 %374, i8* %375, i64 %376, i32 %377, i32 %and737, i32* null, i8* %379, i8* %380) + store i64 %call738, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end736, %if.end729, %if.then695 + %381 = load i64, i64* %retval, align 8 + ret i64 %381 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xcharalloc(i64 %n) #3 { +entry: + %n.addr = alloca i64, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @xmalloc(i64 %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xmalloc(i64 %n) #3 { +entry: + %n.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @malloc(i64 %0) #11 + store i8* %call, i8** %p, align 8 + %1 = load i8*, i8** %p, align 8 + %tobool = icmp eq i8* %1, null + %2 = load i64, i64* %n.addr, align 8 + %cmp = icmp ne i64 %2, 0 + %or.cond = and i1 %tobool, %cmp + br i1 %or.cond, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %entry + %3 = load i8*, i8** %p, align 8 + ret i8* %3 +} + +; Function Attrs: nounwind +declare dso_local i64 @__ctype_get_mb_cur_max() #4 + +; Function Attrs: noinline nounwind uwtable +define internal i8* @gettext_quote(i8* %msgid, i32 %s) #3 { +entry: + %retval = alloca i8*, align 8 + %msgid.addr = alloca i8*, align 8 + %s.addr = alloca i32, align 4 + %translation = alloca i8*, align 8 + %locale_code = alloca i8*, align 8 + store i8* %msgid, i8** %msgid.addr, align 8 + store i32 %s, i32* %s.addr, align 4 + %0 = load i8*, i8** %msgid.addr, align 8 + store i8* %0, i8** %translation, align 8 + %1 = load i8*, i8** %translation, align 8 + %2 = load i8*, i8** %msgid.addr, align 8 + %cmp = icmp ne i8* %1, %2 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %3 = load i8*, i8** %translation, align 8 + store i8* %3, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %call = call i8* @locale_charset() + store i8* %call, i8** %locale_code, align 8 + %4 = load i8*, i8** %locale_code, align 8 + %call1 = call i32 @c_strcasecmp(i8* %4, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.13.108, i64 0, i64 0)) #23 + %cmp2 = icmp eq i32 %call1, 0 + br i1 %cmp2, label %if.then3, label %if.end6 + +if.then3: ; preds = %if.end + %5 = load i8*, i8** %msgid.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 0 + %6 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %6 to i32 + %cmp4 = icmp eq i32 %conv, 96 + %7 = zext i1 %cmp4 to i64 + %cond = select i1 %cmp4, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.14.109, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.15.110, i64 0, i64 0) + store i8* %cond, i8** %retval, align 8 + br label %return + +if.end6: ; preds = %if.end + %8 = load i8*, i8** %locale_code, align 8 + %call7 = call i32 @c_strcasecmp(i8* %8, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.16.111, i64 0, i64 0)) #23 + %cmp8 = icmp eq i32 %call7, 0 + br i1 %cmp8, label %if.then10, label %if.end16 + +if.then10: ; preds = %if.end6 + %9 = load i8*, i8** %msgid.addr, align 8 + %arrayidx11 = getelementptr inbounds i8, i8* %9, i64 0 + %10 = load i8, i8* %arrayidx11, align 1 + %conv12 = sext i8 %10 to i32 + %cmp13 = icmp eq i32 %conv12, 96 + %11 = zext i1 %cmp13 to i64 + %cond15 = select i1 %cmp13, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.17.112, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.18.113, i64 0, i64 0) + store i8* %cond15, i8** %retval, align 8 + br label %return + +if.end16: ; preds = %if.end6 + %12 = load i32, i32* %s.addr, align 4 + %cmp17 = icmp eq i32 %12, 9 + %13 = zext i1 %cmp17 to i64 + %cond19 = select i1 %cmp17, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10.105, i64 0, i64 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.107, i64 0, i64 0) + store i8* %cond19, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end16, %if.then10, %if.then3, %if.then + %14 = load i8*, i8** %retval, align 8 + ret i8* %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @rpl_mbrtowc(i32* %pwc, i8* %s, i64 %n, %struct.__mbstate_t* %ps) #3 { +entry: + %retval = alloca i64, align 8 + %pwc.addr = alloca i32*, align 8 + %s.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t*, align 8 + %ret = alloca i64, align 8 + %wc = alloca i32, align 4 + %uc = alloca i8, align 1 + store i32* %pwc, i32** %pwc.addr, align 8 + store i8* %s, i8** %s.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__mbstate_t* %ps, %struct.__mbstate_t** %ps.addr, align 8 + %0 = load i32*, i32** %pwc.addr, align 8 + %tobool = icmp ne i32* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i32* %wc, i32** %pwc.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i32*, i32** %pwc.addr, align 8 + %2 = load i8*, i8** %s.addr, align 8 + %3 = load i64, i64* %n.addr, align 8 + %4 = load %struct.__mbstate_t*, %struct.__mbstate_t** %ps.addr, align 8 + %call = call i64 bitcast (i64 (i32*, i8*, i64, %struct.__mbstate_t.512*)* @mbrtowc to i64 (i32*, i8*, i64, %struct.__mbstate_t*)*)(i32* %1, i8* %2, i64 %3, %struct.__mbstate_t* %4) #11 + store i64 %call, i64* %ret, align 8 + %5 = load i64, i64* %ret, align 8 + %cmp = icmp ule i64 -2, %5 + %6 = load i64, i64* %n.addr, align 8 + %cmp1 = icmp ne i64 %6, 0 + %or.cond = and i1 %cmp, %cmp1 + br i1 %or.cond, label %land.lhs.true2, label %if.end5 + +land.lhs.true2: ; preds = %if.end + %call3 = call zeroext i1 @hard_locale(i32 0) + br i1 %call3, label %if.end5, label %if.then4 + +if.then4: ; preds = %land.lhs.true2 + %7 = load i8*, i8** %s.addr, align 8 + %8 = load i8, i8* %7, align 1 + store i8 %8, i8* %uc, align 1 + %9 = load i8, i8* %uc, align 1 + %conv = zext i8 %9 to i32 + %10 = load i32*, i32** %pwc.addr, align 8 + store i32 %conv, i32* %10, align 4 + store i64 1, i64* %retval, align 8 + br label %return + +if.end5: ; preds = %land.lhs.true2, %if.end + %11 = load i64, i64* %ret, align 8 + store i64 %11, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end5, %if.then4 + %12 = load i64, i64* %retval, align 8 + ret i64 %12 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @hard_locale(i32 %category) #3 { +entry: + %retval = alloca i1, align 1 + %category.addr = alloca i32, align 4 + %locale = alloca [257 x i8], align 16 + store i32 %category, i32* %category.addr, align 4 + %0 = load i32, i32* %category.addr, align 4 + %arraydecay = getelementptr inbounds [257 x i8], [257 x i8]* %locale, i64 0, i64 0 + %call = call i32 @setlocale_null_r(i32 %0, i8* %arraydecay, i64 257) + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +if.end: ; preds = %entry + %arraydecay1 = getelementptr inbounds [257 x i8], [257 x i8]* %locale, i64 0, i64 0 + %call2 = call i32 @strcmp(i8* %arraydecay1, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.181, i64 0, i64 0)) #23 + %cmp = icmp eq i32 %call2, 0 + br i1 %cmp, label %lor.end, label %lor.rhs + +lor.rhs: ; preds = %if.end + %arraydecay3 = getelementptr inbounds [257 x i8], [257 x i8]* %locale, i64 0, i64 0 + %call4 = call i32 @strcmp(i8* %arraydecay3, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1.182, i64 0, i64 0)) #23 + %cmp5 = icmp eq i32 %call4, 0 + br label %lor.end + +lor.end: ; preds = %lor.rhs, %if.end + %1 = phi i1 [ true, %if.end ], [ %cmp5, %lor.rhs ] + %lnot = xor i1 %1, true + store i1 %lnot, i1* %retval, align 1 + br label %return + +return: ; preds = %lor.end, %if.then + %2 = load i1, i1* %retval, align 1 + ret i1 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @setlocale_null_r(i32 %category, i8* nonnull %buf, i64 %bufsize) #3 { +entry: + %category.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + store i32 %category, i32* %category.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i32, i32* %category.addr, align 4 + %1 = load i8*, i8** %buf.addr, align 8 + %2 = load i64, i64* %bufsize.addr, align 8 + %call = call i32 @setlocale_null_unlocked(i32 %0, i8* %1, i64 %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @setlocale_null_unlocked(i32 %category, i8* %buf, i64 %bufsize) #3 { +entry: + %retval = alloca i32, align 4 + %category.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %result = alloca i8*, align 8 + %length = alloca i64, align 8 + store i32 %category, i32* %category.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i32, i32* %category.addr, align 4 + %call = call i8* @setlocale_null_androidfix(i32 %0) + store i8* %call, i8** %result, align 8 + %1 = load i8*, i8** %result, align 8 + %cmp = icmp eq i8* %1, null + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %2 = load i64, i64* %bufsize.addr, align 8 + %cmp1 = icmp ugt i64 %2, 0 + br i1 %cmp1, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + %3 = load i8*, i8** %buf.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %3, i64 0 + store i8 0, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + store i32 22, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %4 = load i8*, i8** %result, align 8 + %call3 = call i64 @strlen(i8* %4) #23 + store i64 %call3, i64* %length, align 8 + %5 = load i64, i64* %length, align 8 + %6 = load i64, i64* %bufsize.addr, align 8 + %cmp4 = icmp ult i64 %5, %6 + br i1 %cmp4, label %if.then5, label %if.else6 + +if.then5: ; preds = %if.else + %7 = load i8*, i8** %buf.addr, align 8 + %8 = load i8*, i8** %result, align 8 + %9 = load i64, i64* %length, align 8 + %add = add i64 %9, 1 + %10 = call i8* @memcpy(i8* %7, i8* %8, i64 %add) + store i32 0, i32* %retval, align 4 + br label %return + +if.else6: ; preds = %if.else + %11 = load i64, i64* %bufsize.addr, align 8 + %cmp7 = icmp ugt i64 %11, 0 + br i1 %cmp7, label %if.then8, label %if.end11 + +if.then8: ; preds = %if.else6 + %12 = load i8*, i8** %buf.addr, align 8 + %13 = load i8*, i8** %result, align 8 + %14 = load i64, i64* %bufsize.addr, align 8 + %sub = sub i64 %14, 1 + %15 = call i8* @memcpy(i8* %12, i8* %13, i64 %sub) + %16 = load i8*, i8** %buf.addr, align 8 + %17 = load i64, i64* %bufsize.addr, align 8 + %sub9 = sub i64 %17, 1 + %arrayidx10 = getelementptr inbounds i8, i8* %16, i64 %sub9 + store i8 0, i8* %arrayidx10, align 1 + br label %if.end11 + +if.end11: ; preds = %if.then8, %if.else6 + store i32 34, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end11, %if.then5, %if.end + %18 = load i32, i32* %retval, align 4 + ret i32 %18 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @setlocale_null_androidfix(i32 %category) #3 { +entry: + %category.addr = alloca i32, align 4 + %result = alloca i8*, align 8 + store i32 %category, i32* %category.addr, align 4 + %0 = load i32, i32* %category.addr, align 4 + %call = call i8* @setlocale(i32 %0, i8* null) #11 + store i8* %call, i8** %result, align 8 + %1 = load i8*, i8** %result, align 8 + ret i8* %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @locale_charset() #3 { +entry: + %codeset = alloca i8*, align 8 + %call = call i8* @nl_langinfo(i32 14) #11 + store i8* %call, i8** %codeset, align 8 + %0 = load i8*, i8** %codeset, align 8 + %cmp = icmp eq i8* %0, null + %spec.store.select = select i1 %cmp, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.185, i64 0, i64 0), i8* %call + store i8* %spec.store.select, i8** %codeset, align 8 + %1 = load i8*, i8** %codeset, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %2 to i32 + %cmp1 = icmp eq i32 %conv, 0 + %spec.store.select1 = select i1 %cmp1, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1.186, i64 0, i64 0), i8* %spec.store.select + store i8* %spec.store.select1, i8** %codeset, align 8 + %3 = load i8*, i8** %codeset, align 8 + ret i8* %3 +} + +; Function Attrs: noinline nounwind readonly uwtable +define dso_local i32 @c_strcasecmp(i8* %s1, i8* %s2) #15 { +entry: + %retval = alloca i32, align 4 + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %p1 = alloca i8*, align 8 + %p2 = alloca i8*, align 8 + %c1 = alloca i8, align 1 + %c2 = alloca i8, align 1 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %p1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %p2, align 8 + %2 = load i8*, i8** %p1, align 8 + %3 = load i8*, i8** %p2, align 8 + %cmp = icmp eq i8* %2, %3 + br i1 %cmp, label %if.then, label %do.body + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +do.body: ; preds = %entry, %if.end9 + %4 = load i8*, i8** %p1, align 8 + %5 = load i8, i8* %4, align 1 + %conv = zext i8 %5 to i32 + %call = call i32 @c_tolower(i32 %conv) + %conv1 = trunc i32 %call to i8 + store i8 %conv1, i8* %c1, align 1 + %6 = load i8*, i8** %p2, align 8 + %7 = load i8, i8* %6, align 1 + %conv2 = zext i8 %7 to i32 + %call3 = call i32 @c_tolower(i32 %conv2) + %conv4 = trunc i32 %call3 to i8 + store i8 %conv4, i8* %c2, align 1 + %8 = load i8, i8* %c1, align 1 + %conv5 = zext i8 %8 to i32 + %cmp6 = icmp eq i32 %conv5, 0 + br i1 %cmp6, label %do.end, label %if.end9 + +if.end9: ; preds = %do.body + %9 = load i8*, i8** %p1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %p1, align 8 + %10 = load i8*, i8** %p2, align 8 + %incdec.ptr10 = getelementptr inbounds i8, i8* %10, i32 1 + store i8* %incdec.ptr10, i8** %p2, align 8 + %11 = load i8, i8* %c1, align 1 + %conv11 = zext i8 %11 to i32 + %12 = load i8, i8* %c2, align 1 + %conv12 = zext i8 %12 to i32 + %cmp13 = icmp eq i32 %conv11, %conv12 + br i1 %cmp13, label %do.body, label %do.end + +do.end: ; preds = %do.body, %if.end9 + %13 = load i8, i8* %c1, align 1 + %conv15 = zext i8 %13 to i32 + %14 = load i8, i8* %c2, align 1 + %conv16 = zext i8 %14 to i32 + %sub = sub nsw i32 %conv15, %conv16 + store i32 %sub, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end, %if.then + %15 = load i32, i32* %retval, align 4 + ret i32 %15 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @c_tolower(i32 %c) #3 { +entry: + %retval = alloca i32, align 4 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -65 + %switch = icmp ult i32 %.off, 26 + %1 = load i32, i32* %c.addr, align 4 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + %sub = sub nsw i32 %1, 65 + %add = add nsw i32 %sub, 97 + store i32 %add, i32* %retval, align 4 + br label %return + +sw.default: ; preds = %entry + store i32 %1, i32* %retval, align 4 + br label %return + +return: ; preds = %sw.default, %sw.bb + %2 = load i32, i32* %retval, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define internal zeroext i8 @to_uchar.62(i8 signext %ch) #3 { +entry: + %ch.addr = alloca i8, align 1 + store i8 %ch, i8* %ch.addr, align 1 + %0 = load i8, i8* %ch.addr, align 1 + ret i8 %0 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @add_range_pair(i64 %lo, i64 %hi) #3 { +entry: + %lo.addr = alloca i64, align 8 + %hi.addr = alloca i64, align 8 + store i64 %lo, i64* %lo.addr, align 8 + store i64 %hi, i64* %hi.addr, align 8 + %0 = load i64, i64* @n_frp, align 8 + %1 = load i64, i64* @n_frp_allocated, align 8 + %cmp = icmp eq i64 %0, %1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.timespec*, %struct.timespec** @frp, align 8 + %3 = bitcast %struct.timespec* %2 to i8* + %call = call i8* @x2nrealloc(i8* %3, i64* @n_frp_allocated, i64 16) + %4 = bitcast i8* %call to %struct.timespec* + store %struct.timespec* %4, %struct.timespec** @frp, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %5 = load i64, i64* %lo.addr, align 8 + %6 = load %struct.timespec*, %struct.timespec** @frp, align 8 + %7 = load i64, i64* @n_frp, align 8 + %arrayidx = getelementptr inbounds %struct.timespec, %struct.timespec* %6, i64 %7 + %lo1 = getelementptr inbounds %struct.timespec, %struct.timespec* %arrayidx, i32 0, i32 0 + store i64 %5, i64* %lo1, align 8 + %8 = load i64, i64* %hi.addr, align 8 + %9 = load %struct.timespec*, %struct.timespec** @frp, align 8 + %10 = load i64, i64* @n_frp, align 8 + %arrayidx2 = getelementptr inbounds %struct.timespec, %struct.timespec* %9, i64 %10 + %hi3 = getelementptr inbounds %struct.timespec, %struct.timespec* %arrayidx2, i32 0, i32 1 + store i64 %8, i64* %hi3, align 8 + %11 = load i64, i64* @n_frp, align 8 + %inc = add i64 %11, 1 + store i64 %inc, i64* @n_frp, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xstrndup(i8* %string, i64 %n) #3 { +entry: + %string.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %s = alloca i8*, align 8 + store i8* %string, i8** %string.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %string.addr, align 8 + %1 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @strndup(i8* %0, i64 %1) #11 + store i8* %call, i8** %s, align 8 + %2 = load i8*, i8** %s, align 8 + %tobool = icmp ne i8* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %entry + %3 = load i8*, i8** %s, align 8 + ret i8* %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote(i8* %arg) #3 { +entry: + %arg.addr = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quote_n(i32 0, i8* %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @compare_ranges(i8* %a, i8* %b) #3 { +entry: + %a.addr = alloca i8*, align 8 + %b.addr = alloca i8*, align 8 + %a_start = alloca i32, align 4 + %b_start = alloca i32, align 4 + store i8* %a, i8** %a.addr, align 8 + store i8* %b, i8** %b.addr, align 8 + %0 = load i8*, i8** %a.addr, align 8 + %1 = bitcast i8* %0 to %struct.timespec* + %lo = getelementptr inbounds %struct.timespec, %struct.timespec* %1, i32 0, i32 0 + %2 = load i64, i64* %lo, align 8 + %conv = trunc i64 %2 to i32 + store i32 %conv, i32* %a_start, align 4 + %3 = load i8*, i8** %b.addr, align 8 + %4 = bitcast i8* %3 to %struct.timespec* + %lo1 = getelementptr inbounds %struct.timespec, %struct.timespec* %4, i32 0, i32 0 + %5 = load i64, i64* %lo1, align 8 + %conv2 = trunc i64 %5 to i32 + store i32 %conv2, i32* %b_start, align 4 + %6 = load i32, i32* %a_start, align 4 + %7 = load i32, i32* %b_start, align 4 + %cmp = icmp slt i32 %6, %7 + %8 = load i32, i32* %a_start, align 4 + %9 = load i32, i32* %b_start, align 4 + %cmp4 = icmp sgt i32 %8, %9 + %conv5 = zext i1 %cmp4 to i32 + %cond = select i1 %cmp, i32 -1, i32 %conv5 + ret i32 %cond +} + +; Function Attrs: noinline nounwind uwtable +define internal void @complement_rp() #3 { +entry: + %c = alloca %struct.timespec*, align 8 + %n = alloca i64, align 8 + %i = alloca i64, align 8 + %0 = load %struct.timespec*, %struct.timespec** @frp, align 8 + store %struct.timespec* %0, %struct.timespec** %c, align 8 + %1 = load i64, i64* @n_frp, align 8 + store i64 %1, i64* %n, align 8 + store %struct.timespec* null, %struct.timespec** @frp, align 8 + store i64 0, i64* @n_frp, align 8 + store i64 0, i64* @n_frp_allocated, align 8 + %2 = load %struct.timespec*, %struct.timespec** %c, align 8 + %arrayidx = getelementptr inbounds %struct.timespec, %struct.timespec* %2, i64 0 + %lo = getelementptr inbounds %struct.timespec, %struct.timespec* %arrayidx, i32 0, i32 0 + %3 = load i64, i64* %lo, align 8 + %cmp = icmp ugt i64 %3, 1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %4 = load %struct.timespec*, %struct.timespec** %c, align 8 + %arrayidx1 = getelementptr inbounds %struct.timespec, %struct.timespec* %4, i64 0 + %lo2 = getelementptr inbounds %struct.timespec, %struct.timespec* %arrayidx1, i32 0, i32 0 + %5 = load i64, i64* %lo2, align 8 + %sub = sub i64 %5, 1 + call void @add_range_pair(i64 1, i64 %sub) + br label %if.end + +if.end: ; preds = %if.then, %entry + store i64 1, i64* %i, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end + %6 = load i64, i64* %i, align 8 + %7 = load i64, i64* %n, align 8 + %cmp3 = icmp ult i64 %6, %7 + %8 = load %struct.timespec*, %struct.timespec** %c, align 8 + br i1 %cmp3, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %9 = load i64, i64* %i, align 8 + %sub4 = sub i64 %9, 1 + %arrayidx5 = getelementptr inbounds %struct.timespec, %struct.timespec* %8, i64 %sub4 + %hi = getelementptr inbounds %struct.timespec, %struct.timespec* %arrayidx5, i32 0, i32 1 + %10 = load i64, i64* %hi, align 8 + %add = add i64 %10, 1 + %11 = load %struct.timespec*, %struct.timespec** %c, align 8 + %12 = load i64, i64* %i, align 8 + %arrayidx6 = getelementptr inbounds %struct.timespec, %struct.timespec* %11, i64 %12 + %lo7 = getelementptr inbounds %struct.timespec, %struct.timespec* %arrayidx6, i32 0, i32 0 + %13 = load i64, i64* %lo7, align 8 + %cmp8 = icmp eq i64 %add, %13 + br i1 %cmp8, label %for.inc, label %if.end10 + +if.end10: ; preds = %for.body + %14 = load %struct.timespec*, %struct.timespec** %c, align 8 + %15 = load i64, i64* %i, align 8 + %sub11 = sub i64 %15, 1 + %arrayidx12 = getelementptr inbounds %struct.timespec, %struct.timespec* %14, i64 %sub11 + %hi13 = getelementptr inbounds %struct.timespec, %struct.timespec* %arrayidx12, i32 0, i32 1 + %16 = load i64, i64* %hi13, align 8 + %add14 = add i64 %16, 1 + %17 = load %struct.timespec*, %struct.timespec** %c, align 8 + %18 = load i64, i64* %i, align 8 + %arrayidx15 = getelementptr inbounds %struct.timespec, %struct.timespec* %17, i64 %18 + %lo16 = getelementptr inbounds %struct.timespec, %struct.timespec* %arrayidx15, i32 0, i32 0 + %19 = load i64, i64* %lo16, align 8 + %sub17 = sub i64 %19, 1 + call void @add_range_pair(i64 %add14, i64 %sub17) + br label %for.inc + +for.inc: ; preds = %for.body, %if.end10 + %20 = load i64, i64* %i, align 8 + %inc = add i64 %20, 1 + store i64 %inc, i64* %i, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %21 = load i64, i64* %n, align 8 + %sub18 = sub i64 %21, 1 + %arrayidx19 = getelementptr inbounds %struct.timespec, %struct.timespec* %8, i64 %sub18 + %hi20 = getelementptr inbounds %struct.timespec, %struct.timespec* %arrayidx19, i32 0, i32 1 + %22 = load i64, i64* %hi20, align 8 + %cmp21 = icmp ult i64 %22, -1 + br i1 %cmp21, label %if.then22, label %if.end27 + +if.then22: ; preds = %for.end + %23 = load %struct.timespec*, %struct.timespec** %c, align 8 + %24 = load i64, i64* %n, align 8 + %sub23 = sub i64 %24, 1 + %arrayidx24 = getelementptr inbounds %struct.timespec, %struct.timespec* %23, i64 %sub23 + %hi25 = getelementptr inbounds %struct.timespec, %struct.timespec* %arrayidx24, i32 0, i32 1 + %25 = load i64, i64* %hi25, align 8 + %add26 = add i64 %25, 1 + call void @add_range_pair(i64 %add26, i64 -1) + br label %if.end27 + +if.end27: ; preds = %if.then22, %for.end + %26 = load %struct.timespec*, %struct.timespec** %c, align 8 + %27 = bitcast %struct.timespec* %26 to i8* + call void @free(i8* %27) #11 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote_n(i32 %n, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quote_n_mem(i32 %0, i8* %1, i64 -1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote_n_mem(i32 %n, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %2 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %0, i8* %1, i64 %2, %struct.quoting_options* @quote_quoting_options) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @x2nrealloc(i8* %p, i64* %pn, i64 %s) #3 { +entry: + %p.addr = alloca i8*, align 8 + %pn.addr = alloca i64*, align 8 + %s.addr = alloca i64, align 8 + %n = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64* %pn, i64** %pn.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64*, i64** %pn.addr, align 8 + %1 = load i64, i64* %0, align 8 + store i64 %1, i64* %n, align 8 + %2 = load i8*, i8** %p.addr, align 8 + %tobool = icmp ne i8* %2, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %3 = load i64, i64* %n, align 8 + %tobool1 = icmp ne i64 %3, 0 + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + %4 = load i64, i64* %s.addr, align 8 + %div = udiv i64 128, %4 + store i64 %div, i64* %n, align 8 + %5 = load i64, i64* %n, align 8 + %tobool3 = icmp ne i64 %5, 0 + %lnot = xor i1 %tobool3, true + %lnot.ext = zext i1 %lnot to i32 + %conv = sext i32 %lnot.ext to i64 + %6 = load i64, i64* %n, align 8 + %add = add i64 %6, %conv + store i64 %add, i64* %n, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %7 = load i64, i64* %s.addr, align 8 + %div4 = udiv i64 9223372036854775807, %7 + %8 = load i64, i64* %n, align 8 + %cmp = icmp ult i64 %div4, %8 + br i1 %cmp, label %if.then6, label %if.end16 + +if.then6: ; preds = %if.end + call void @xalloc_die() #24 + unreachable + +if.else: ; preds = %entry + %9 = load i64, i64* %s.addr, align 8 + %div8 = udiv i64 6148914691236517204, %9 + %10 = load i64, i64* %n, align 8 + %cmp9 = icmp ule i64 %div8, %10 + br i1 %cmp9, label %if.then11, label %if.end12 + +if.then11: ; preds = %if.else + call void @xalloc_die() #24 + unreachable + +if.end12: ; preds = %if.else + %11 = load i64, i64* %n, align 8 + %div13 = udiv i64 %11, 2 + %add14 = add i64 %div13, 1 + %12 = load i64, i64* %n, align 8 + %add15 = add i64 %12, %add14 + store i64 %add15, i64* %n, align 8 + br label %if.end16 + +if.end16: ; preds = %if.end, %if.end12 + %13 = load i64, i64* %n, align 8 + %14 = load i64*, i64** %pn.addr, align 8 + store i64 %13, i64* %14, align 8 + %15 = load i8*, i8** %p.addr, align 8 + %16 = load i64, i64* %n, align 8 + %17 = load i64, i64* %s.addr, align 8 + %mul = mul i64 %16, %17 + %call = call i8* @xrealloc(i8* %15, i64 %mul) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc_va(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, %struct.__va_list_tag.0* %authors) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors.addr = alloca %struct.__va_list_tag.0*, align 8 + %n_authors = alloca i64, align 8 + %authtab = alloca [10 x i8*], align 16 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + store %struct.__va_list_tag.0* %authors, %struct.__va_list_tag.0** %authors.addr, align 8 + store i64 0, i64* %n_authors, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i64, i64* %n_authors, align 8 + %cmp = icmp ult i64 %0, 10 + br i1 %cmp, label %land.rhs, label %for.end + +land.rhs: ; preds = %for.cond + %1 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %authors.addr, align 8 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %1, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 8 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %land.rhs + %2 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %1, i32 0, i32 3 + %reg_save_area = load i8*, i8** %2, align 8 + %3 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %4 = bitcast i8* %3 to i8** + %5 = add i32 %gp_offset, 8 + store i32 %5, i32* %gp_offset_p, align 8 + br label %vaarg.end + +vaarg.in_mem: ; preds = %land.rhs + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %1, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %6 = bitcast i8* %overflow_arg_area to i8** + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i8** [ %4, %vaarg.in_reg ], [ %6, %vaarg.in_mem ] + %7 = load i8*, i8** %vaarg.addr, align 8 + %8 = load i64, i64* %n_authors, align 8 + %arrayidx = getelementptr inbounds [10 x i8*], [10 x i8*]* %authtab, i64 0, i64 %8 + store i8* %7, i8** %arrayidx, align 8 + %cmp1 = icmp ne i8* %7, null + br i1 %cmp1, label %for.inc, label %for.end + +for.inc: ; preds = %vaarg.end + %9 = load i64, i64* %n_authors, align 8 + %inc = add i64 %9, 1 + store i64 %inc, i64* %n_authors, align 8 + br label %for.cond + +for.end: ; preds = %for.cond, %vaarg.end + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %11 = load i8*, i8** %command_name.addr, align 8 + %12 = load i8*, i8** %package.addr, align 8 + %13 = load i8*, i8** %version.addr, align 8 + %arraydecay = getelementptr inbounds [10 x i8*], [10 x i8*]* %authtab, i64 0, i64 0 + %14 = load i64, i64* %n_authors, align 8 + call void @version_etc_arn(%struct._IO_FILE* %10, i8* %11, i8* %12, i8* %13, i8** %arraydecay, i64 %14) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc_arn(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, i8** %authors, i64 %n_authors) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors.addr = alloca i8**, align 8 + %n_authors.addr = alloca i64, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + store i8** %authors, i8*** %authors.addr, align 8 + store i64 %n_authors, i64* %n_authors.addr, align 8 + %0 = load i8*, i8** %command_name.addr, align 8 + %tobool = icmp ne i8* %0, null + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %entry + %2 = load i8*, i8** %command_name.addr, align 8 + %3 = load i8*, i8** %package.addr, align 8 + %4 = load i8*, i8** %version.addr, align 8 + %call = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %1, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.120, i64 0, i64 0), i8* %2, i8* %3, i8* %4) + br label %if.end + +if.else: ; preds = %entry + %5 = load i8*, i8** %package.addr, align 8 + %6 = load i8*, i8** %version.addr, align 8 + %call1 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %1, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.121, i64 0, i64 0), i8* %5, i8* %6) + br label %if.end + +if.end: ; preds = %if.else, %if.then + %7 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call2 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %7, i8* getelementptr inbounds ([47 x i8], [47 x i8]* @version_etc_copyright, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2.122, i64 0, i64 0), i32 2020) + %8 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call3 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.123, i64 0, i64 0), %struct._IO_FILE* %8) + %9 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call4 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %9, i8* getelementptr inbounds ([171 x i8], [171 x i8]* @.str.4.124, i64 0, i64 0), i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.5.125, i64 0, i64 0)) + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call5 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.123, i64 0, i64 0), %struct._IO_FILE* %10) + %11 = load i64, i64* %n_authors.addr, align 8 + br label %NodeBlock17 + +NodeBlock17: ; preds = %if.end + %case.cmp18 = icmp eq i64 %11, 0 + br i1 %case.cmp18, label %sw.epilog, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i64 %11, 1 + br i1 %case.cmp16, label %sw.bb6, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i64 %11, 2 + br i1 %case.cmp14, label %sw.bb8, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i64 %11, 3 + br i1 %case.cmp12, label %sw.bb12, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i64 %11, 4 + br i1 %case.cmp10, label %sw.bb17, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i64 %11, 5 + br i1 %case.cmp8, label %sw.bb23, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i64 %11, 6 + br i1 %case.cmp6, label %sw.bb30, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i64 %11, 7 + br i1 %case.cmp4, label %sw.bb38, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i64 %11, 8 + br i1 %case.cmp2, label %sw.bb47, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i64 %11, 9 + br i1 %case.cmp, label %sw.bb57, label %newDefault + +sw.bb6: ; preds = %NodeBlock15 + %12 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %13 = load i8**, i8*** %authors.addr, align 8 + %arrayidx = getelementptr inbounds i8*, i8** %13, i64 0 + %14 = load i8*, i8** %arrayidx, align 8 + %call7 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %12, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.6.126, i64 0, i64 0), i8* %14) + br label %sw.epilog + +sw.bb8: ; preds = %NodeBlock13 + %15 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %16 = load i8**, i8*** %authors.addr, align 8 + %arrayidx9 = getelementptr inbounds i8*, i8** %16, i64 0 + %17 = load i8*, i8** %arrayidx9, align 8 + %18 = load i8**, i8*** %authors.addr, align 8 + %arrayidx10 = getelementptr inbounds i8*, i8** %18, i64 1 + %19 = load i8*, i8** %arrayidx10, align 8 + %call11 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %15, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.7.127, i64 0, i64 0), i8* %17, i8* %19) + br label %sw.epilog + +sw.bb12: ; preds = %NodeBlock11 + %20 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %21 = load i8**, i8*** %authors.addr, align 8 + %arrayidx13 = getelementptr inbounds i8*, i8** %21, i64 0 + %22 = load i8*, i8** %arrayidx13, align 8 + %23 = load i8**, i8*** %authors.addr, align 8 + %arrayidx14 = getelementptr inbounds i8*, i8** %23, i64 1 + %24 = load i8*, i8** %arrayidx14, align 8 + %25 = load i8**, i8*** %authors.addr, align 8 + %arrayidx15 = getelementptr inbounds i8*, i8** %25, i64 2 + %26 = load i8*, i8** %arrayidx15, align 8 + %call16 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %20, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.8.128, i64 0, i64 0), i8* %22, i8* %24, i8* %26) + br label %sw.epilog + +sw.bb17: ; preds = %NodeBlock9 + %27 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %28 = load i8**, i8*** %authors.addr, align 8 + %arrayidx18 = getelementptr inbounds i8*, i8** %28, i64 0 + %29 = load i8*, i8** %arrayidx18, align 8 + %30 = load i8**, i8*** %authors.addr, align 8 + %arrayidx19 = getelementptr inbounds i8*, i8** %30, i64 1 + %31 = load i8*, i8** %arrayidx19, align 8 + %32 = load i8**, i8*** %authors.addr, align 8 + %arrayidx20 = getelementptr inbounds i8*, i8** %32, i64 2 + %33 = load i8*, i8** %arrayidx20, align 8 + %34 = load i8**, i8*** %authors.addr, align 8 + %arrayidx21 = getelementptr inbounds i8*, i8** %34, i64 3 + %35 = load i8*, i8** %arrayidx21, align 8 + %call22 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %27, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.9.129, i64 0, i64 0), i8* %29, i8* %31, i8* %33, i8* %35) + br label %sw.epilog + +sw.bb23: ; preds = %NodeBlock7 + %36 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %37 = load i8**, i8*** %authors.addr, align 8 + %arrayidx24 = getelementptr inbounds i8*, i8** %37, i64 0 + %38 = load i8*, i8** %arrayidx24, align 8 + %39 = load i8**, i8*** %authors.addr, align 8 + %arrayidx25 = getelementptr inbounds i8*, i8** %39, i64 1 + %40 = load i8*, i8** %arrayidx25, align 8 + %41 = load i8**, i8*** %authors.addr, align 8 + %arrayidx26 = getelementptr inbounds i8*, i8** %41, i64 2 + %42 = load i8*, i8** %arrayidx26, align 8 + %43 = load i8**, i8*** %authors.addr, align 8 + %arrayidx27 = getelementptr inbounds i8*, i8** %43, i64 3 + %44 = load i8*, i8** %arrayidx27, align 8 + %45 = load i8**, i8*** %authors.addr, align 8 + %arrayidx28 = getelementptr inbounds i8*, i8** %45, i64 4 + %46 = load i8*, i8** %arrayidx28, align 8 + %call29 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %36, i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.10.130, i64 0, i64 0), i8* %38, i8* %40, i8* %42, i8* %44, i8* %46) + br label %sw.epilog + +sw.bb30: ; preds = %NodeBlock5 + %47 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %48 = load i8**, i8*** %authors.addr, align 8 + %arrayidx31 = getelementptr inbounds i8*, i8** %48, i64 0 + %49 = load i8*, i8** %arrayidx31, align 8 + %50 = load i8**, i8*** %authors.addr, align 8 + %arrayidx32 = getelementptr inbounds i8*, i8** %50, i64 1 + %51 = load i8*, i8** %arrayidx32, align 8 + %52 = load i8**, i8*** %authors.addr, align 8 + %arrayidx33 = getelementptr inbounds i8*, i8** %52, i64 2 + %53 = load i8*, i8** %arrayidx33, align 8 + %54 = load i8**, i8*** %authors.addr, align 8 + %arrayidx34 = getelementptr inbounds i8*, i8** %54, i64 3 + %55 = load i8*, i8** %arrayidx34, align 8 + %56 = load i8**, i8*** %authors.addr, align 8 + %arrayidx35 = getelementptr inbounds i8*, i8** %56, i64 4 + %57 = load i8*, i8** %arrayidx35, align 8 + %58 = load i8**, i8*** %authors.addr, align 8 + %arrayidx36 = getelementptr inbounds i8*, i8** %58, i64 5 + %59 = load i8*, i8** %arrayidx36, align 8 + %call37 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %47, i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.11.131, i64 0, i64 0), i8* %49, i8* %51, i8* %53, i8* %55, i8* %57, i8* %59) + br label %sw.epilog + +sw.bb38: ; preds = %NodeBlock3 + %60 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %61 = load i8**, i8*** %authors.addr, align 8 + %arrayidx39 = getelementptr inbounds i8*, i8** %61, i64 0 + %62 = load i8*, i8** %arrayidx39, align 8 + %63 = load i8**, i8*** %authors.addr, align 8 + %arrayidx40 = getelementptr inbounds i8*, i8** %63, i64 1 + %64 = load i8*, i8** %arrayidx40, align 8 + %65 = load i8**, i8*** %authors.addr, align 8 + %arrayidx41 = getelementptr inbounds i8*, i8** %65, i64 2 + %66 = load i8*, i8** %arrayidx41, align 8 + %67 = load i8**, i8*** %authors.addr, align 8 + %arrayidx42 = getelementptr inbounds i8*, i8** %67, i64 3 + %68 = load i8*, i8** %arrayidx42, align 8 + %69 = load i8**, i8*** %authors.addr, align 8 + %arrayidx43 = getelementptr inbounds i8*, i8** %69, i64 4 + %70 = load i8*, i8** %arrayidx43, align 8 + %71 = load i8**, i8*** %authors.addr, align 8 + %arrayidx44 = getelementptr inbounds i8*, i8** %71, i64 5 + %72 = load i8*, i8** %arrayidx44, align 8 + %73 = load i8**, i8*** %authors.addr, align 8 + %arrayidx45 = getelementptr inbounds i8*, i8** %73, i64 6 + %74 = load i8*, i8** %arrayidx45, align 8 + %call46 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %60, i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.12.132, i64 0, i64 0), i8* %62, i8* %64, i8* %66, i8* %68, i8* %70, i8* %72, i8* %74) + br label %sw.epilog + +sw.bb47: ; preds = %NodeBlock1 + %75 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %76 = load i8**, i8*** %authors.addr, align 8 + %arrayidx48 = getelementptr inbounds i8*, i8** %76, i64 0 + %77 = load i8*, i8** %arrayidx48, align 8 + %78 = load i8**, i8*** %authors.addr, align 8 + %arrayidx49 = getelementptr inbounds i8*, i8** %78, i64 1 + %79 = load i8*, i8** %arrayidx49, align 8 + %80 = load i8**, i8*** %authors.addr, align 8 + %arrayidx50 = getelementptr inbounds i8*, i8** %80, i64 2 + %81 = load i8*, i8** %arrayidx50, align 8 + %82 = load i8**, i8*** %authors.addr, align 8 + %arrayidx51 = getelementptr inbounds i8*, i8** %82, i64 3 + %83 = load i8*, i8** %arrayidx51, align 8 + %84 = load i8**, i8*** %authors.addr, align 8 + %arrayidx52 = getelementptr inbounds i8*, i8** %84, i64 4 + %85 = load i8*, i8** %arrayidx52, align 8 + %86 = load i8**, i8*** %authors.addr, align 8 + %arrayidx53 = getelementptr inbounds i8*, i8** %86, i64 5 + %87 = load i8*, i8** %arrayidx53, align 8 + %88 = load i8**, i8*** %authors.addr, align 8 + %arrayidx54 = getelementptr inbounds i8*, i8** %88, i64 6 + %89 = load i8*, i8** %arrayidx54, align 8 + %90 = load i8**, i8*** %authors.addr, align 8 + %arrayidx55 = getelementptr inbounds i8*, i8** %90, i64 7 + %91 = load i8*, i8** %arrayidx55, align 8 + %call56 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %75, i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.13.133, i64 0, i64 0), i8* %77, i8* %79, i8* %81, i8* %83, i8* %85, i8* %87, i8* %89, i8* %91) + br label %sw.epilog + +sw.bb57: ; preds = %NodeBlock + %92 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %93 = load i8**, i8*** %authors.addr, align 8 + %arrayidx58 = getelementptr inbounds i8*, i8** %93, i64 0 + %94 = load i8*, i8** %arrayidx58, align 8 + %95 = load i8**, i8*** %authors.addr, align 8 + %arrayidx59 = getelementptr inbounds i8*, i8** %95, i64 1 + %96 = load i8*, i8** %arrayidx59, align 8 + %97 = load i8**, i8*** %authors.addr, align 8 + %arrayidx60 = getelementptr inbounds i8*, i8** %97, i64 2 + %98 = load i8*, i8** %arrayidx60, align 8 + %99 = load i8**, i8*** %authors.addr, align 8 + %arrayidx61 = getelementptr inbounds i8*, i8** %99, i64 3 + %100 = load i8*, i8** %arrayidx61, align 8 + %101 = load i8**, i8*** %authors.addr, align 8 + %arrayidx62 = getelementptr inbounds i8*, i8** %101, i64 4 + %102 = load i8*, i8** %arrayidx62, align 8 + %103 = load i8**, i8*** %authors.addr, align 8 + %arrayidx63 = getelementptr inbounds i8*, i8** %103, i64 5 + %104 = load i8*, i8** %arrayidx63, align 8 + %105 = load i8**, i8*** %authors.addr, align 8 + %arrayidx64 = getelementptr inbounds i8*, i8** %105, i64 6 + %106 = load i8*, i8** %arrayidx64, align 8 + %107 = load i8**, i8*** %authors.addr, align 8 + %arrayidx65 = getelementptr inbounds i8*, i8** %107, i64 7 + %108 = load i8*, i8** %arrayidx65, align 8 + %109 = load i8**, i8*** %authors.addr, align 8 + %arrayidx66 = getelementptr inbounds i8*, i8** %109, i64 8 + %110 = load i8*, i8** %arrayidx66, align 8 + %call67 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %92, i8* getelementptr inbounds ([52 x i8], [52 x i8]* @.str.14.134, i64 0, i64 0), i8* %94, i8* %96, i8* %98, i8* %100, i8* %102, i8* %104, i8* %106, i8* %108, i8* %110) + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + %111 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %112 = load i8**, i8*** %authors.addr, align 8 + %arrayidx68 = getelementptr inbounds i8*, i8** %112, i64 0 + %113 = load i8*, i8** %arrayidx68, align 8 + %114 = load i8**, i8*** %authors.addr, align 8 + %arrayidx69 = getelementptr inbounds i8*, i8** %114, i64 1 + %115 = load i8*, i8** %arrayidx69, align 8 + %116 = load i8**, i8*** %authors.addr, align 8 + %arrayidx70 = getelementptr inbounds i8*, i8** %116, i64 2 + %117 = load i8*, i8** %arrayidx70, align 8 + %118 = load i8**, i8*** %authors.addr, align 8 + %arrayidx71 = getelementptr inbounds i8*, i8** %118, i64 3 + %119 = load i8*, i8** %arrayidx71, align 8 + %120 = load i8**, i8*** %authors.addr, align 8 + %arrayidx72 = getelementptr inbounds i8*, i8** %120, i64 4 + %121 = load i8*, i8** %arrayidx72, align 8 + %122 = load i8**, i8*** %authors.addr, align 8 + %arrayidx73 = getelementptr inbounds i8*, i8** %122, i64 5 + %123 = load i8*, i8** %arrayidx73, align 8 + %124 = load i8**, i8*** %authors.addr, align 8 + %arrayidx74 = getelementptr inbounds i8*, i8** %124, i64 6 + %125 = load i8*, i8** %arrayidx74, align 8 + %126 = load i8**, i8*** %authors.addr, align 8 + %arrayidx75 = getelementptr inbounds i8*, i8** %126, i64 7 + %127 = load i8*, i8** %arrayidx75, align 8 + %128 = load i8**, i8*** %authors.addr, align 8 + %arrayidx76 = getelementptr inbounds i8*, i8** %128, i64 8 + %129 = load i8*, i8** %arrayidx76, align 8 + %call77 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %111, i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.15.135, i64 0, i64 0), i8* %113, i8* %115, i8* %117, i8* %119, i8* %121, i8* %123, i8* %125, i8* %127, i8* %129) + br label %sw.epilog + +sw.epilog: ; preds = %NodeBlock17, %sw.default, %sw.bb57, %sw.bb47, %sw.bb38, %sw.bb30, %sw.bb23, %sw.bb17, %sw.bb12, %sw.bb8, %sw.bb6 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @xmemdup(i8* %p, i64 %s) #3 { +entry: + %p.addr = alloca i8*, align 8 + %s.addr = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %call = call noalias i8* @xmalloc(i64 %0) + %1 = load i8*, i8** %p.addr, align 8 + %2 = load i64, i64* %s.addr, align 8 + %3 = call i8* @memcpy(i8* %call, i8* %1, i64 %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @close_stream(%struct._IO_FILE* %stream) #3 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct._IO_FILE*, align 8 + %some_pending = alloca i8, align 1 + %prev_fail = alloca i8, align 1 + %fclose_fail = alloca i8, align 1 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.513*)* @__fpending to i64 (%struct._IO_FILE*)*)(%struct._IO_FILE* %0) #11 + %cmp = icmp ne i64 %call, 0 + %frombool = zext i1 %cmp to i8 + store i8 %frombool, i8* %some_pending, align 1 + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call1 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.592*)* @ferror_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %1) #11 + %cmp2 = icmp ne i32 %call1, 0 + %frombool3 = zext i1 %cmp2 to i8 + store i8 %frombool3, i8* %prev_fail, align 1 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call4 = call i32 @rpl_fclose(%struct._IO_FILE* %2) + %cmp5 = icmp ne i32 %call4, 0 + %frombool6 = zext i1 %cmp5 to i8 + store i8 %frombool6, i8* %fclose_fail, align 1 + %3 = load i8, i8* %prev_fail, align 1 + %tobool = trunc i8 %3 to i1 + br i1 %tobool, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %4 = load i8, i8* %fclose_fail, align 1 + %tobool7 = trunc i8 %4 to i1 + br i1 %tobool7, label %land.lhs.true, label %if.end15 + +land.lhs.true: ; preds = %lor.lhs.false + %5 = load i8, i8* %some_pending, align 1 + %tobool8 = trunc i8 %5 to i1 + br i1 %tobool8, label %if.then, label %lor.lhs.false9 + +lor.lhs.false9: ; preds = %land.lhs.true + %call10 = call i32* @__errno_location() #25 + %6 = load i32, i32* %call10, align 4 + %cmp11 = icmp ne i32 %6, 9 + br i1 %cmp11, label %if.then, label %if.end15 + +if.then: ; preds = %lor.lhs.false9, %land.lhs.true, %entry + %7 = load i8, i8* %fclose_fail, align 1 + %tobool12 = trunc i8 %7 to i1 + br i1 %tobool12, label %if.end, label %if.then13 + +if.then13: ; preds = %if.then + %call14 = call i32* @__errno_location() #25 + store i32 0, i32* %call14, align 4 + br label %if.end + +if.end: ; preds = %if.then13, %if.then + store i32 -1, i32* %retval, align 4 + br label %return + +if.end15: ; preds = %lor.lhs.false9, %lor.lhs.false + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end15, %if.end + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_colon(i8* %arg) #3 { +entry: + %arg.addr = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_char(i8* %0, i8 signext 58) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_char(i8* %arg, i8 signext %ch) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %ch.addr = alloca i8, align 1 + store i8* %arg, i8** %arg.addr, align 8 + store i8 %ch, i8* %ch.addr, align 1 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i8, i8* %ch.addr, align 1 + %call = call i8* @quotearg_char_mem(i8* %0, i64 -1, i8 signext %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_char_mem(i8* %arg, i64 %argsize, i8 signext %ch) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %ch.addr = alloca i8, align 1 + %options = alloca %struct.quoting_options, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store i8 %ch, i8* %ch.addr, align 1 + %0 = bitcast %struct.quoting_options* %options to i8* + %1 = call i8* @memcpy(i8* %0, i8* bitcast (%struct.quoting_options* @default_quoting_options to i8*), i64 56) + %2 = load i8, i8* %ch.addr, align 1 + %call = call i32 @set_char_quoting(%struct.quoting_options* %options, i8 signext %2, i32 1) + %3 = load i8*, i8** %arg.addr, align 8 + %4 = load i64, i64* %argsize.addr, align 8 + %call1 = call i8* @quotearg_n_options(i32 0, i8* %3, i64 %4, %struct.quoting_options* %options) + ret i8* %call1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @reset_fields() #3 { +entry: + store i64 0, i64* @n_frp, align 8 + store i64 0, i64* @n_frp_allocated, align 8 + %0 = load %struct.timespec*, %struct.timespec** @frp, align 8 + %1 = bitcast %struct.timespec* %0 to i8* + call void @free(i8* %1) #11 + store %struct.timespec* null, %struct.timespec** @frp, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @close_stdout_set_file_name(i8* %file) #3 { +entry: + %file.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + store i8* %0, i8** @file_name, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @close_stdout_set_ignore_EPIPE(i1 zeroext %ignore) #3 { +entry: + %ignore.addr = alloca i8, align 1 + %frombool = zext i1 %ignore to i8 + store i8 %frombool, i8* %ignore.addr, align 1 + %0 = load i8, i8* %ignore.addr, align 1 + %tobool = trunc i8 %0 to i1 + %frombool1 = zext i1 %tobool to i8 + store i8 %frombool1, i8* @ignore_EPIPE, align 1 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local %struct.quoting_options* @clone_quoting_options(%struct.quoting_options* %o) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %p = alloca %struct.quoting_options*, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %call = call i32* @__errno_location() #25 + %0 = load i32, i32* %call, align 4 + store i32 %0, i32* %e, align 4 + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %1, null + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %2, %struct.quoting_options* @default_quoting_options + %3 = bitcast %struct.quoting_options* %cond to i8* + %call1 = call i8* @xmemdup(i8* %3, i64 56) + %4 = bitcast i8* %call1 to %struct.quoting_options* + store %struct.quoting_options* %4, %struct.quoting_options** %p, align 8 + %5 = load i32, i32* %e, align 4 + %call2 = call i32* @__errno_location() #25 + store i32 %5, i32* %call2, align 4 + %6 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + ret %struct.quoting_options* %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @get_quoting_style(%struct.quoting_options* %o) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %1, %struct.quoting_options* @default_quoting_options + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %cond, i32 0, i32 0 + %2 = load i32, i32* %style, align 8 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_quoting_style(%struct.quoting_options* %o, i32 %s) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %s.addr = alloca i32, align 4 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i32 %s, i32* %s.addr, align 4 + %0 = load i32, i32* %s.addr, align 4 + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %1, null + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %2, %struct.quoting_options* @default_quoting_options + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %cond, i32 0, i32 0 + store i32 %0, i32* %style, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @set_quoting_flags(%struct.quoting_options* %o, i32 %i) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %i.addr = alloca i32, align 4 + %r = alloca i32, align 4 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i32 %i, i32* %i.addr, align 4 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store %struct.quoting_options* @default_quoting_options, %struct.quoting_options** %o.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %flags = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %1, i32 0, i32 1 + %2 = load i32, i32* %flags, align 4 + store i32 %2, i32* %r, align 4 + %3 = load i32, i32* %i.addr, align 4 + %4 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %flags1 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %4, i32 0, i32 1 + store i32 %3, i32* %flags1, align 4 + %5 = load i32, i32* %r, align 4 + ret i32 %5 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_custom_quoting(%struct.quoting_options* %o, i8* %left_quote, i8* %right_quote) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store %struct.quoting_options* @default_quoting_options, %struct.quoting_options** %o.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %1, i32 0, i32 0 + store i32 10, i32* %style, align 8 + %2 = load i8*, i8** %left_quote.addr, align 8 + %tobool1 = icmp ne i8* %2, null + %3 = load i8*, i8** %right_quote.addr, align 8 + %tobool2 = icmp ne i8* %3, null + %or.cond = and i1 %tobool1, %tobool2 + br i1 %or.cond, label %if.end4, label %if.then3 + +if.then3: ; preds = %if.end + call void @abort() #26 + unreachable + +if.end4: ; preds = %if.end + %4 = load i8*, i8** %left_quote.addr, align 8 + %5 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %left_quote5 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %5, i32 0, i32 3 + store i8* %4, i8** %left_quote5, align 8 + %6 = load i8*, i8** %right_quote.addr, align 8 + %7 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %right_quote6 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %7, i32 0, i32 4 + store i8* %6, i8** %right_quote6, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @quotearg_buffer(i8* %buffer, i64 %buffersize, i8* %arg, i64 %argsize, %struct.quoting_options* %o) #3 { +entry: + %buffer.addr = alloca i8*, align 8 + %buffersize.addr = alloca i64, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o.addr = alloca %struct.quoting_options*, align 8 + %p = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %r = alloca i64, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %buffersize, i64* %buffersize.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %1, %struct.quoting_options* @default_quoting_options + store %struct.quoting_options* %cond, %struct.quoting_options** %p, align 8 + %call = call i32* @__errno_location() #25 + %2 = load i32, i32* %call, align 4 + store i32 %2, i32* %e, align 4 + %3 = load i8*, i8** %buffer.addr, align 8 + %4 = load i64, i64* %buffersize.addr, align 8 + %5 = load i8*, i8** %arg.addr, align 8 + %6 = load i64, i64* %argsize.addr, align 8 + %7 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %7, i32 0, i32 0 + %8 = load i32, i32* %style, align 8 + %9 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %flags = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %9, i32 0, i32 1 + %10 = load i32, i32* %flags, align 4 + %11 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %11, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %12 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %left_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %12, i32 0, i32 3 + %13 = load i8*, i8** %left_quote, align 8 + %14 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %right_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %14, i32 0, i32 4 + %15 = load i8*, i8** %right_quote, align 8 + %call1 = call i64 @quotearg_buffer_restyled(i8* %3, i64 %4, i8* %5, i64 %6, i32 %8, i32 %10, i32* %arraydecay, i8* %13, i8* %15) + store i64 %call1, i64* %r, align 8 + %16 = load i32, i32* %e, align 4 + %call2 = call i32* @__errno_location() #25 + store i32 %16, i32* %call2, align 4 + %17 = load i64, i64* %r, align 8 + ret i64 %17 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_alloc(i8* %arg, i64 %argsize, %struct.quoting_options* %o) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o.addr = alloca %struct.quoting_options*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %call = call i8* @quotearg_alloc_mem(i8* %0, i64 %1, i64* null, %struct.quoting_options* %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_alloc_mem(i8* %arg, i64 %argsize, i64* %size, %struct.quoting_options* %o) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %size.addr = alloca i64*, align 8 + %o.addr = alloca %struct.quoting_options*, align 8 + %p = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %flags = alloca i32, align 4 + %bufsize = alloca i64, align 8 + %buf = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store i64* %size, i64** %size.addr, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %1, %struct.quoting_options* @default_quoting_options + store %struct.quoting_options* %cond, %struct.quoting_options** %p, align 8 + %call = call i32* @__errno_location() #25 + %2 = load i32, i32* %call, align 4 + store i32 %2, i32* %e, align 4 + %3 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %flags1 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %3, i32 0, i32 1 + %4 = load i32, i32* %flags1, align 4 + %5 = load i64*, i64** %size.addr, align 8 + %tobool2 = icmp ne i64* %5, null + %6 = zext i1 %tobool2 to i64 + %cond3 = select i1 %tobool2, i32 0, i32 1 + %or = or i32 %4, %cond3 + store i32 %or, i32* %flags, align 4 + %7 = load i8*, i8** %arg.addr, align 8 + %8 = load i64, i64* %argsize.addr, align 8 + %9 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %9, i32 0, i32 0 + %10 = load i32, i32* %style, align 8 + %11 = load i32, i32* %flags, align 4 + %12 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %12, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %13 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %left_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %13, i32 0, i32 3 + %14 = load i8*, i8** %left_quote, align 8 + %15 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %right_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %15, i32 0, i32 4 + %16 = load i8*, i8** %right_quote, align 8 + %call4 = call i64 @quotearg_buffer_restyled(i8* null, i64 0, i8* %7, i64 %8, i32 %10, i32 %11, i32* %arraydecay, i8* %14, i8* %16) + %add = add i64 %call4, 1 + store i64 %add, i64* %bufsize, align 8 + %17 = load i64, i64* %bufsize, align 8 + %call5 = call noalias i8* @xcharalloc(i64 %17) + store i8* %call5, i8** %buf, align 8 + %18 = load i8*, i8** %buf, align 8 + %19 = load i64, i64* %bufsize, align 8 + %20 = load i8*, i8** %arg.addr, align 8 + %21 = load i64, i64* %argsize.addr, align 8 + %22 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %style6 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %22, i32 0, i32 0 + %23 = load i32, i32* %style6, align 8 + %24 = load i32, i32* %flags, align 4 + %25 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %quote_these_too7 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %25, i32 0, i32 2 + %arraydecay8 = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too7, i64 0, i64 0 + %26 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %left_quote9 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %26, i32 0, i32 3 + %27 = load i8*, i8** %left_quote9, align 8 + %28 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %right_quote10 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %28, i32 0, i32 4 + %29 = load i8*, i8** %right_quote10, align 8 + %call11 = call i64 @quotearg_buffer_restyled(i8* %18, i64 %19, i8* %20, i64 %21, i32 %23, i32 %24, i32* %arraydecay8, i8* %27, i8* %29) + %30 = load i32, i32* %e, align 4 + %call12 = call i32* @__errno_location() #25 + store i32 %30, i32* %call12, align 4 + %31 = load i64*, i64** %size.addr, align 8 + %tobool13 = icmp ne i64* %31, null + br i1 %tobool13, label %if.then, label %if.end + +if.then: ; preds = %entry + %32 = load i64, i64* %bufsize, align 8 + %sub = sub i64 %32, 1 + %33 = load i64*, i64** %size.addr, align 8 + store i64 %sub, i64* %33, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %34 = load i8*, i8** %buf, align 8 + ret i8* %34 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @quotearg_free() #3 { +entry: + %sv = alloca %struct.slotvec*, align 8 + %i = alloca i32, align 4 + %0 = load %struct.slotvec*, %struct.slotvec** @slotvec, align 8 + store %struct.slotvec* %0, %struct.slotvec** %sv, align 8 + store i32 1, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %1 = load i32, i32* %i, align 4 + %2 = load i32, i32* @nslots, align 4 + %cmp = icmp slt i32 %1, %2 + %3 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %4 = load i32, i32* %i, align 4 + %idxprom = sext i32 %4 to i64 + %arrayidx = getelementptr inbounds %struct.slotvec, %struct.slotvec* %3, i64 %idxprom + %val = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx, i32 0, i32 1 + %5 = load i8*, i8** %val, align 8 + call void @free(i8* %5) #11 + %6 = load i32, i32* %i, align 4 + %inc = add nsw i32 %6, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %arrayidx1 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %3, i64 0 + %val2 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx1, i32 0, i32 1 + %7 = load i8*, i8** %val2, align 8 + %cmp3 = icmp ne i8* %7, getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i64 0, i64 0) + br i1 %cmp3, label %if.then, label %if.end + +if.then: ; preds = %for.end + %8 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %arrayidx4 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %8, i64 0 + %val5 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx4, i32 0, i32 1 + %9 = load i8*, i8** %val5, align 8 + call void @free(i8* %9) #11 + store i64 256, i64* getelementptr inbounds (%struct.slotvec, %struct.slotvec* @slotvec0, i32 0, i32 0), align 8 + store i8* getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i64 0, i64 0), i8** getelementptr inbounds (%struct.slotvec, %struct.slotvec* @slotvec0, i32 0, i32 1), align 8 + br label %if.end + +if.end: ; preds = %if.then, %for.end + %10 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %cmp6 = icmp ne %struct.slotvec* %10, @slotvec0 + br i1 %cmp6, label %if.then7, label %if.end8 + +if.then7: ; preds = %if.end + %11 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %12 = bitcast %struct.slotvec* %11 to i8* + call void @free(i8* %12) #11 + store %struct.slotvec* @slotvec0, %struct.slotvec** @slotvec, align 8 + br label %if.end8 + +if.end8: ; preds = %if.then7, %if.end + store i32 1, i32* @nslots, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n(i32 %n, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %0, i8* %1, i64 -1, %struct.quoting_options* @default_quoting_options) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_mem(i32 %n, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %2 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %0, i8* %1, i64 %2, %struct.quoting_options* @default_quoting_options) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg(i8* %arg) #3 { +entry: + %arg.addr = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n(i32 0, i8* %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_mem(i8* %arg, i64 %argsize) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_mem(i32 0, i8* %0, i64 %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_style(i32 %n, i32 %s, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %o = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + call void @quoting_options_from_style(%struct.quoting_options* sret align 8 %o, i32 %0) + %1 = load i32, i32* %n.addr, align 4 + %2 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %1, i8* %2, i64 -1, %struct.quoting_options* %o) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_style_mem(i32 %n, i32 %s, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + call void @quoting_options_from_style(%struct.quoting_options* sret align 8 %o, i32 %0) + %1 = load i32, i32* %n.addr, align 4 + %2 = load i8*, i8** %arg.addr, align 8 + %3 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %1, i8* %2, i64 %3, %struct.quoting_options* %o) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_style(i32 %s, i8* %arg) #3 { +entry: + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_style(i32 0, i32 %0, i8* %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_style_mem(i32 %s, i8* %arg, i64 %argsize) #3 { +entry: + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %2 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_style_mem(i32 0, i32 %0, i8* %1, i64 %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_colon_mem(i8* %arg, i64 %argsize) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_char_mem(i8* %0, i64 %1, i8 signext 58) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_custom(i32 %n, i8* %left_quote, i8* %right_quote, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %left_quote.addr, align 8 + %2 = load i8*, i8** %right_quote.addr, align 8 + %3 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_custom_mem(i32 %0, i8* %1, i8* %2, i8* %3, i64 -1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_custom_mem(i32 %n, i8* %left_quote, i8* %right_quote, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = bitcast %struct.quoting_options* %o to i8* + %1 = call i8* @memcpy(i8* %0, i8* bitcast (%struct.quoting_options* @default_quoting_options to i8*), i64 56) + %2 = load i8*, i8** %left_quote.addr, align 8 + %3 = load i8*, i8** %right_quote.addr, align 8 + call void @set_custom_quoting(%struct.quoting_options* %o, i8* %2, i8* %3) + %4 = load i32, i32* %n.addr, align 4 + %5 = load i8*, i8** %arg.addr, align 8 + %6 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %4, i8* %5, i64 %6, %struct.quoting_options* %o) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_custom(i8* %left_quote, i8* %right_quote, i8* %arg) #3 { +entry: + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %left_quote.addr, align 8 + %1 = load i8*, i8** %right_quote.addr, align 8 + %2 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_custom(i32 0, i8* %0, i8* %1, i8* %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_custom_mem(i8* %left_quote, i8* %right_quote, i8* %arg, i64 %argsize) #3 { +entry: + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %left_quote.addr, align 8 + %1 = load i8*, i8** %right_quote.addr, align 8 + %2 = load i8*, i8** %arg.addr, align 8 + %3 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_custom_mem(i32 0, i8* %0, i8* %1, i8* %2, i64 %3) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote_mem(i8* %arg, i64 %argsize) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quote_n_mem(i32 0, i8* %0, i64 %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc_ar(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, i8** %authors) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors.addr = alloca i8**, align 8 + %n_authors = alloca i64, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + store i8** %authors, i8*** %authors.addr, align 8 + store i64 0, i64* %n_authors, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i8**, i8*** %authors.addr, align 8 + %1 = load i64, i64* %n_authors, align 8 + %arrayidx = getelementptr inbounds i8*, i8** %0, i64 %1 + %2 = load i8*, i8** %arrayidx, align 8 + %tobool = icmp ne i8* %2, null + br i1 %tobool, label %for.inc, label %for.end + +for.inc: ; preds = %for.cond + %3 = load i64, i64* %n_authors, align 8 + %inc = add i64 %3, 1 + store i64 %inc, i64* %n_authors, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %5 = load i8*, i8** %command_name.addr, align 8 + %6 = load i8*, i8** %package.addr, align 8 + %7 = load i8*, i8** %version.addr, align 8 + %8 = load i8**, i8*** %authors.addr, align 8 + %9 = load i64, i64* %n_authors, align 8 + call void @version_etc_arn(%struct._IO_FILE* %4, i8* %5, i8* %6, i8* %7, i8** %8, i64 %9) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @emit_bug_reporting_address() #3 { +entry: + %0 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.123, i64 0, i64 0), %struct._IO_FILE* %0) + %call1 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.16.138, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.17.139, i64 0, i64 0)) + %call2 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.18.140, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.19.141, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.20.142, i64 0, i64 0)) + %call3 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.21.143, i64 0, i64 0), i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.22.144, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xnmalloc(i64 %n, i64 %s) #3 { +entry: + %n.addr = alloca i64, align 8 + %s.addr = alloca i64, align 8 + store i64 %n, i64* %n.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %div = udiv i64 9223372036854775807, %0 + %1 = load i64, i64* %n.addr, align 8 + %cmp = icmp ult i64 %div, %1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %entry + %2 = load i64, i64* %n.addr, align 8 + %3 = load i64, i64* %s.addr, align 8 + %mul = mul i64 %2, %3 + %call = call noalias i8* @xmalloc(i64 %mul) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @xnrealloc(i8* %p, i64 %n, i64 %s) #3 { +entry: + %p.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %s.addr = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %div = udiv i64 9223372036854775807, %0 + %1 = load i64, i64* %n.addr, align 8 + %cmp = icmp ult i64 %div, %1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %p.addr, align 8 + %3 = load i64, i64* %n.addr, align 8 + %4 = load i64, i64* %s.addr, align 8 + %mul = mul i64 %3, %4 + %call = call i8* @xrealloc(i8* %2, i64 %mul) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @x2realloc(i8* %p, i64* %pn) #3 { +entry: + %p.addr = alloca i8*, align 8 + %pn.addr = alloca i64*, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64* %pn, i64** %pn.addr, align 8 + %0 = load i8*, i8** %p.addr, align 8 + %1 = load i64*, i64** %pn.addr, align 8 + %call = call i8* @x2nrealloc(i8* %0, i64* %1, i64 1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xzalloc(i64 %n) #3 { +entry: + %n.addr = alloca i64, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @xcalloc(i64 %0, i64 1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xcalloc(i64 %n, i64 %s) #3 { +entry: + %n.addr = alloca i64, align 8 + %s.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i64 %n, i64* %n.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %div = udiv i64 9223372036854775807, %0 + %1 = load i64, i64* %n.addr, align 8 + %cmp = icmp ult i64 %div, %1 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load i64, i64* %n.addr, align 8 + %3 = load i64, i64* %s.addr, align 8 + %call = call noalias i8* @calloc(i64 %2, i64 %3) #11 + store i8* %call, i8** %p, align 8 + %tobool = icmp ne i8* %call, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %lor.lhs.false, %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %lor.lhs.false + %4 = load i8*, i8** %p, align 8 + ret i8* %4 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @setlocale_null(i32 %category) #3 { +entry: + %category.addr = alloca i32, align 4 + store i32 %category, i32* %category.addr, align 4 + %0 = load i32, i32* %category.addr, align 4 + %call = call i8* @setlocale_null_androidfix(i32 %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isalnum(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock121 + +NodeBlock121: ; preds = %entry + %case.cmp122 = icmp eq i32 %0, 48 + br i1 %case.cmp122, label %sw.bb, label %NodeBlock119 + +NodeBlock119: ; preds = %NodeBlock121 + %case.cmp120 = icmp eq i32 %0, 49 + br i1 %case.cmp120, label %sw.bb, label %NodeBlock117 + +NodeBlock117: ; preds = %NodeBlock119 + %case.cmp118 = icmp eq i32 %0, 50 + br i1 %case.cmp118, label %sw.bb, label %NodeBlock115 + +NodeBlock115: ; preds = %NodeBlock117 + %case.cmp116 = icmp eq i32 %0, 51 + br i1 %case.cmp116, label %sw.bb, label %NodeBlock113 + +NodeBlock113: ; preds = %NodeBlock115 + %case.cmp114 = icmp eq i32 %0, 52 + br i1 %case.cmp114, label %sw.bb, label %NodeBlock111 + +NodeBlock111: ; preds = %NodeBlock113 + %case.cmp112 = icmp eq i32 %0, 53 + br i1 %case.cmp112, label %sw.bb, label %NodeBlock109 + +NodeBlock109: ; preds = %NodeBlock111 + %case.cmp110 = icmp eq i32 %0, 54 + br i1 %case.cmp110, label %sw.bb, label %NodeBlock107 + +NodeBlock107: ; preds = %NodeBlock109 + %case.cmp108 = icmp eq i32 %0, 55 + br i1 %case.cmp108, label %sw.bb, label %NodeBlock105 + +NodeBlock105: ; preds = %NodeBlock107 + %case.cmp106 = icmp eq i32 %0, 56 + br i1 %case.cmp106, label %sw.bb, label %NodeBlock103 + +NodeBlock103: ; preds = %NodeBlock105 + %case.cmp104 = icmp eq i32 %0, 57 + br i1 %case.cmp104, label %sw.bb, label %NodeBlock101 + +NodeBlock101: ; preds = %NodeBlock103 + %case.cmp102 = icmp eq i32 %0, 97 + br i1 %case.cmp102, label %sw.bb, label %NodeBlock99 + +NodeBlock99: ; preds = %NodeBlock101 + %case.cmp100 = icmp eq i32 %0, 98 + br i1 %case.cmp100, label %sw.bb, label %NodeBlock97 + +NodeBlock97: ; preds = %NodeBlock99 + %case.cmp98 = icmp eq i32 %0, 99 + br i1 %case.cmp98, label %sw.bb, label %NodeBlock95 + +NodeBlock95: ; preds = %NodeBlock97 + %case.cmp96 = icmp eq i32 %0, 100 + br i1 %case.cmp96, label %sw.bb, label %NodeBlock93 + +NodeBlock93: ; preds = %NodeBlock95 + %case.cmp94 = icmp eq i32 %0, 101 + br i1 %case.cmp94, label %sw.bb, label %NodeBlock91 + +NodeBlock91: ; preds = %NodeBlock93 + %case.cmp92 = icmp eq i32 %0, 102 + br i1 %case.cmp92, label %sw.bb, label %NodeBlock89 + +NodeBlock89: ; preds = %NodeBlock91 + %case.cmp90 = icmp eq i32 %0, 103 + br i1 %case.cmp90, label %sw.bb, label %NodeBlock87 + +NodeBlock87: ; preds = %NodeBlock89 + %case.cmp88 = icmp eq i32 %0, 104 + br i1 %case.cmp88, label %sw.bb, label %NodeBlock85 + +NodeBlock85: ; preds = %NodeBlock87 + %case.cmp86 = icmp eq i32 %0, 105 + br i1 %case.cmp86, label %sw.bb, label %NodeBlock83 + +NodeBlock83: ; preds = %NodeBlock85 + %case.cmp84 = icmp eq i32 %0, 106 + br i1 %case.cmp84, label %sw.bb, label %NodeBlock81 + +NodeBlock81: ; preds = %NodeBlock83 + %case.cmp82 = icmp eq i32 %0, 107 + br i1 %case.cmp82, label %sw.bb, label %NodeBlock79 + +NodeBlock79: ; preds = %NodeBlock81 + %case.cmp80 = icmp eq i32 %0, 108 + br i1 %case.cmp80, label %sw.bb, label %NodeBlock77 + +NodeBlock77: ; preds = %NodeBlock79 + %case.cmp78 = icmp eq i32 %0, 109 + br i1 %case.cmp78, label %sw.bb, label %NodeBlock75 + +NodeBlock75: ; preds = %NodeBlock77 + %case.cmp76 = icmp eq i32 %0, 110 + br i1 %case.cmp76, label %sw.bb, label %NodeBlock73 + +NodeBlock73: ; preds = %NodeBlock75 + %case.cmp74 = icmp eq i32 %0, 111 + br i1 %case.cmp74, label %sw.bb, label %NodeBlock71 + +NodeBlock71: ; preds = %NodeBlock73 + %case.cmp72 = icmp eq i32 %0, 112 + br i1 %case.cmp72, label %sw.bb, label %NodeBlock69 + +NodeBlock69: ; preds = %NodeBlock71 + %case.cmp70 = icmp eq i32 %0, 113 + br i1 %case.cmp70, label %sw.bb, label %NodeBlock67 + +NodeBlock67: ; preds = %NodeBlock69 + %case.cmp68 = icmp eq i32 %0, 114 + br i1 %case.cmp68, label %sw.bb, label %NodeBlock65 + +NodeBlock65: ; preds = %NodeBlock67 + %case.cmp66 = icmp eq i32 %0, 115 + br i1 %case.cmp66, label %sw.bb, label %NodeBlock63 + +NodeBlock63: ; preds = %NodeBlock65 + %case.cmp64 = icmp eq i32 %0, 116 + br i1 %case.cmp64, label %sw.bb, label %NodeBlock61 + +NodeBlock61: ; preds = %NodeBlock63 + %case.cmp62 = icmp eq i32 %0, 117 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 118 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 119 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 120 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 121 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 122 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 65 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 66 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 67 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 68 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 69 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 70 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 71 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 72 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 73 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 74 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 75 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 76 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 77 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 78 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 79 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 80 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 81 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 82 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 83 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 84 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 85 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 86 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 87 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 88 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 89 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 90 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock121, %NodeBlock119, %NodeBlock117, %NodeBlock115, %NodeBlock113, %NodeBlock111, %NodeBlock109, %NodeBlock107, %NodeBlock105, %NodeBlock103, %NodeBlock101, %NodeBlock99, %NodeBlock97, %NodeBlock95, %NodeBlock93, %NodeBlock91, %NodeBlock89, %NodeBlock87, %NodeBlock85, %NodeBlock83, %NodeBlock81, %NodeBlock79, %NodeBlock77, %NodeBlock75, %NodeBlock73, %NodeBlock71, %NodeBlock69, %NodeBlock67, %NodeBlock65, %NodeBlock63, %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isalpha(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock101 + +NodeBlock101: ; preds = %entry + %case.cmp102 = icmp eq i32 %0, 97 + br i1 %case.cmp102, label %sw.bb, label %NodeBlock99 + +NodeBlock99: ; preds = %NodeBlock101 + %case.cmp100 = icmp eq i32 %0, 98 + br i1 %case.cmp100, label %sw.bb, label %NodeBlock97 + +NodeBlock97: ; preds = %NodeBlock99 + %case.cmp98 = icmp eq i32 %0, 99 + br i1 %case.cmp98, label %sw.bb, label %NodeBlock95 + +NodeBlock95: ; preds = %NodeBlock97 + %case.cmp96 = icmp eq i32 %0, 100 + br i1 %case.cmp96, label %sw.bb, label %NodeBlock93 + +NodeBlock93: ; preds = %NodeBlock95 + %case.cmp94 = icmp eq i32 %0, 101 + br i1 %case.cmp94, label %sw.bb, label %NodeBlock91 + +NodeBlock91: ; preds = %NodeBlock93 + %case.cmp92 = icmp eq i32 %0, 102 + br i1 %case.cmp92, label %sw.bb, label %NodeBlock89 + +NodeBlock89: ; preds = %NodeBlock91 + %case.cmp90 = icmp eq i32 %0, 103 + br i1 %case.cmp90, label %sw.bb, label %NodeBlock87 + +NodeBlock87: ; preds = %NodeBlock89 + %case.cmp88 = icmp eq i32 %0, 104 + br i1 %case.cmp88, label %sw.bb, label %NodeBlock85 + +NodeBlock85: ; preds = %NodeBlock87 + %case.cmp86 = icmp eq i32 %0, 105 + br i1 %case.cmp86, label %sw.bb, label %NodeBlock83 + +NodeBlock83: ; preds = %NodeBlock85 + %case.cmp84 = icmp eq i32 %0, 106 + br i1 %case.cmp84, label %sw.bb, label %NodeBlock81 + +NodeBlock81: ; preds = %NodeBlock83 + %case.cmp82 = icmp eq i32 %0, 107 + br i1 %case.cmp82, label %sw.bb, label %NodeBlock79 + +NodeBlock79: ; preds = %NodeBlock81 + %case.cmp80 = icmp eq i32 %0, 108 + br i1 %case.cmp80, label %sw.bb, label %NodeBlock77 + +NodeBlock77: ; preds = %NodeBlock79 + %case.cmp78 = icmp eq i32 %0, 109 + br i1 %case.cmp78, label %sw.bb, label %NodeBlock75 + +NodeBlock75: ; preds = %NodeBlock77 + %case.cmp76 = icmp eq i32 %0, 110 + br i1 %case.cmp76, label %sw.bb, label %NodeBlock73 + +NodeBlock73: ; preds = %NodeBlock75 + %case.cmp74 = icmp eq i32 %0, 111 + br i1 %case.cmp74, label %sw.bb, label %NodeBlock71 + +NodeBlock71: ; preds = %NodeBlock73 + %case.cmp72 = icmp eq i32 %0, 112 + br i1 %case.cmp72, label %sw.bb, label %NodeBlock69 + +NodeBlock69: ; preds = %NodeBlock71 + %case.cmp70 = icmp eq i32 %0, 113 + br i1 %case.cmp70, label %sw.bb, label %NodeBlock67 + +NodeBlock67: ; preds = %NodeBlock69 + %case.cmp68 = icmp eq i32 %0, 114 + br i1 %case.cmp68, label %sw.bb, label %NodeBlock65 + +NodeBlock65: ; preds = %NodeBlock67 + %case.cmp66 = icmp eq i32 %0, 115 + br i1 %case.cmp66, label %sw.bb, label %NodeBlock63 + +NodeBlock63: ; preds = %NodeBlock65 + %case.cmp64 = icmp eq i32 %0, 116 + br i1 %case.cmp64, label %sw.bb, label %NodeBlock61 + +NodeBlock61: ; preds = %NodeBlock63 + %case.cmp62 = icmp eq i32 %0, 117 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 118 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 119 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 120 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 121 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 122 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 65 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 66 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 67 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 68 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 69 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 70 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 71 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 72 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 73 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 74 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 75 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 76 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 77 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 78 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 79 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 80 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 81 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 82 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 83 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 84 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 85 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 86 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 87 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 88 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 89 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 90 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock101, %NodeBlock99, %NodeBlock97, %NodeBlock95, %NodeBlock93, %NodeBlock91, %NodeBlock89, %NodeBlock87, %NodeBlock85, %NodeBlock83, %NodeBlock81, %NodeBlock79, %NodeBlock77, %NodeBlock75, %NodeBlock73, %NodeBlock71, %NodeBlock69, %NodeBlock67, %NodeBlock65, %NodeBlock63, %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isascii(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %switch = icmp ult i32 %0, 128 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isblank(i32 %c) #3 { +entry: + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %cmp = icmp eq i32 %0, 32 + %1 = load i32, i32* %c.addr, align 4 + %cmp1 = icmp eq i32 %1, 9 + %2 = select i1 %cmp, i1 true, i1 %cmp1 + ret i1 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_iscntrl(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock63 + +NodeBlock63: ; preds = %entry + %case.cmp64 = icmp eq i32 %0, 7 + br i1 %case.cmp64, label %sw.bb, label %NodeBlock61 + +NodeBlock61: ; preds = %NodeBlock63 + %case.cmp62 = icmp eq i32 %0, 8 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 12 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 10 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 13 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 9 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 11 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 0 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 1 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 2 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 3 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 4 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 5 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 6 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 14 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 15 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 16 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 17 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 18 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 19 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 20 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 21 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 22 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 23 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 24 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 25 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 26 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 27 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 28 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 29 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 30 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 31 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 127 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock63, %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isdigit(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -48 + %switch = icmp ult i32 %.off, 10 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isgraph(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -33 + %switch = icmp ult i32 %.off, 94 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_islower(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -97 + %switch = icmp ult i32 %.off, 26 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isprint(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -32 + %switch = icmp ult i32 %.off, 95 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_ispunct(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock61 + +NodeBlock61: ; preds = %entry + %case.cmp62 = icmp eq i32 %0, 33 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 34 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 35 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 36 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 37 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 38 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 39 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 40 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 41 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 42 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 43 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 44 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 45 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 46 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 47 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 58 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 59 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 60 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 61 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 62 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 63 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 64 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 91 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 92 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 93 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 94 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 95 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 96 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 123 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 124 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 125 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 126 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isspace(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock9 + +NodeBlock9: ; preds = %entry + %case.cmp10 = icmp eq i32 %0, 32 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 9 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 10 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 11 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 12 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 13 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isupper(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -65 + %switch = icmp ult i32 %.off, 26 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isxdigit(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock41 + +NodeBlock41: ; preds = %entry + %case.cmp42 = icmp eq i32 %0, 48 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 49 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 50 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 51 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 52 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 53 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 54 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 55 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 56 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 57 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 97 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 98 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 99 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 100 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 101 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 102 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 65 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 66 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 67 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 68 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 69 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 70 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @c_toupper(i32 %c) #3 { +entry: + %retval = alloca i32, align 4 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -97 + %switch = icmp ult i32 %.off, 26 + %1 = load i32, i32* %c.addr, align 4 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + %sub = sub nsw i32 %1, 97 + %add = add nsw i32 %sub, 65 + store i32 %add, i32* %retval, align 4 + br label %return + +sw.default: ; preds = %entry + store i32 %1, i32* %retval, align 4 + br label %return + +return: ; preds = %sw.default, %sw.bb + %2 = load i32, i32* %retval, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @klee_init_fds(i32 %n_files, i32 %file_length, i32 %stdin_length, i32 %sym_stdout_flag, i32 %save_all_writes_flag, i32 %max_failures) #3 { +entry: + %n_files.addr = alloca i32, align 4 + %file_length.addr = alloca i32, align 4 + %stdin_length.addr = alloca i32, align 4 + %sym_stdout_flag.addr = alloca i32, align 4 + %save_all_writes_flag.addr = alloca i32, align 4 + %max_failures.addr = alloca i32, align 4 + %k = alloca i32, align 4 + %name = alloca [7 x i8], align 1 + %s = alloca %struct.stat64, align 8 + store i32 %n_files, i32* %n_files.addr, align 4 + store i32 %file_length, i32* %file_length.addr, align 4 + store i32 %stdin_length, i32* %stdin_length.addr, align 4 + store i32 %sym_stdout_flag, i32* %sym_stdout_flag.addr, align 4 + store i32 %save_all_writes_flag, i32* %save_all_writes_flag.addr, align 4 + store i32 %max_failures, i32* %max_failures.addr, align 4 + %0 = bitcast [7 x i8]* %name to i8* + %1 = call i8* @memcpy(i8* %0, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @__const.klee_init_fds.name, i32 0, i32 0), i64 7) + %call = call i32 @stat64(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.140, i64 0, i64 0), %struct.stat64* %s) #11 + %2 = load i32, i32* %n_files.addr, align 4 + store i32 %2, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %3 = load i32, i32* %n_files.addr, align 4 + %conv = zext i32 %3 to i64 + %mul = mul i64 24, %conv + %call1 = call noalias i8* @malloc(i64 %mul) #11 + %4 = bitcast i8* %call1 to %struct.exe_disk_file_t* + store %struct.exe_disk_file_t* %4, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %5 = load i32, i32* %n_files.addr, align 4 + %tobool = icmp eq i32 %5, 0 + %6 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %6, null + %or.cond = or i1 %tobool, %tobool2 + br i1 %or.cond, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @gs_report_error.144(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.141, i64 0, i64 0), i32 124, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.142, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.143, i64 0, i64 0)) #24 + unreachable + +if.end: ; preds = %entry + store i32 0, i32* %k, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %7 = load i32, i32* %k, align 4 + %8 = load i32, i32* %n_files.addr, align 4 + %cmp = icmp ult i32 %7, %8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %9 = load i32, i32* %k, align 4 + %add = add i32 65, %9 + %conv4 = trunc i32 %add to i8 + %arrayidx = getelementptr inbounds [7 x i8], [7 x i8]* %name, i64 0, i64 0 + store i8 %conv4, i8* %arrayidx, align 1 + %10 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %11 = load i32, i32* %k, align 4 + %idxprom = zext i32 %11 to i64 + %arrayidx5 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %10, i64 %idxprom + %12 = load i32, i32* %file_length.addr, align 4 + %arraydecay = getelementptr inbounds [7 x i8], [7 x i8]* %name, i64 0, i64 0 + call void @__create_new_dfile(%struct.exe_disk_file_t* %arrayidx5, i32 %12, i8* %arraydecay, %struct.stat64* %s) + %13 = load i32, i32* %k, align 4 + %inc = add i32 %13, 1 + store i32 %inc, i32* %k, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %14 = load i32, i32* %stdin_length.addr, align 4 + %tobool6 = icmp ne i32 %14, 0 + br i1 %tobool6, label %if.then7, label %if.else + +if.then7: ; preds = %for.end + %call8 = call noalias i8* @malloc(i64 24) #11 + %15 = bitcast i8* %call8 to %struct.exe_disk_file_t* + store %struct.exe_disk_file_t* %15, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + %16 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + %tobool9 = icmp ne %struct.exe_disk_file_t* %16, null + br i1 %tobool9, label %if.end11, label %if.then10 + +if.then10: ; preds = %if.then7 + call void @gs_report_error.144(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.141, i64 0, i64 0), i32 135, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.142, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.143, i64 0, i64 0)) #24 + unreachable + +if.end11: ; preds = %if.then7 + %17 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + %18 = load i32, i32* %stdin_length.addr, align 4 + call void @__create_new_dfile(%struct.exe_disk_file_t* %17, i32 %18, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.4.145, i64 0, i64 0), %struct.stat64* %s) + %19 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + store %struct.exe_disk_file_t* %19, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0, i64 0, i32 3), align 8 + br label %if.end12 + +if.else: ; preds = %for.end + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + br label %if.end12 + +if.end12: ; preds = %if.else, %if.end11 + %20 = load i32, i32* %max_failures.addr, align 4 + store i32 %20, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %21 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool13 = icmp ne i32 %21, 0 + br i1 %tobool13, label %if.then14, label %if.end31 + +if.then14: ; preds = %if.end12 + %call15 = call noalias i8* @malloc(i64 4) #11 + %22 = bitcast i8* %call15 to i32* + store i32* %22, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %call16 = call noalias i8* @malloc(i64 4) #11 + %23 = bitcast i8* %call16 to i32* + store i32* %23, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %call17 = call noalias i8* @malloc(i64 4) #11 + %24 = bitcast i8* %call17 to i32* + store i32* %24, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %call18 = call noalias i8* @malloc(i64 4) #11 + %25 = bitcast i8* %call18 to i32* + store i32* %25, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %call19 = call noalias i8* @malloc(i64 4) #11 + %26 = bitcast i8* %call19 to i32* + store i32* %26, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %27 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %tobool20 = icmp ne i32* %27, null + %28 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %tobool22 = icmp ne i32* %28, null + %or.cond1 = and i1 %tobool20, %tobool22 + %29 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %tobool24 = icmp ne i32* %29, null + %or.cond2 = and i1 %or.cond1, %tobool24 + %30 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %tobool26 = icmp ne i32* %30, null + %or.cond3 = and i1 %or.cond2, %tobool26 + %31 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %tobool28 = icmp ne i32* %31, null + %or.cond4 = and i1 %or.cond3, %tobool28 + br i1 %or.cond4, label %if.end30, label %if.then29 + +if.then29: ; preds = %if.then14 + call void @gs_report_error.144(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.141, i64 0, i64 0), i32 150, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.142, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.143, i64 0, i64 0)) #24 + unreachable + +if.end30: ; preds = %if.then14 + %32 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %33 = bitcast i32* %32 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %33, i64 4, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.5.146, i64 0, i64 0)) + %34 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %35 = bitcast i32* %34 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %35, i64 4, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.6.147, i64 0, i64 0)) + %36 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %37 = bitcast i32* %36 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %37, i64 4, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.7.148, i64 0, i64 0)) + %38 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %39 = bitcast i32* %38 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %39, i64 4, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.8.149, i64 0, i64 0)) + %40 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %41 = bitcast i32* %40 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %41, i64 4, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.9.150, i64 0, i64 0)) + br label %if.end31 + +if.end31: ; preds = %if.end30, %if.end12 + %42 = load i32, i32* %sym_stdout_flag.addr, align 4 + %tobool32 = icmp ne i32 %42, 0 + br i1 %tobool32, label %if.then33, label %if.else38 + +if.then33: ; preds = %if.end31 + %call34 = call noalias i8* @malloc(i64 24) #11 + %43 = bitcast i8* %call34 to %struct.exe_disk_file_t* + store %struct.exe_disk_file_t* %43, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + %44 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + %tobool35 = icmp ne %struct.exe_disk_file_t* %44, null + br i1 %tobool35, label %if.end37, label %if.then36 + +if.then36: ; preds = %if.then33 + call void @gs_report_error.144(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.141, i64 0, i64 0), i32 163, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.142, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.143, i64 0, i64 0)) #24 + unreachable + +if.end37: ; preds = %if.then33 + %45 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + call void @__create_new_dfile(%struct.exe_disk_file_t* %45, i32 1024, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.10.151, i64 0, i64 0), %struct.stat64* %s) + %46 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + store %struct.exe_disk_file_t* %46, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0, i64 1, i32 3), align 8 + store i32 0, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 3), align 8 + br label %if.end39 + +if.else38: ; preds = %if.end31 + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + br label %if.end39 + +if.end39: ; preds = %if.else38, %if.end37 + %47 = load i32, i32* %save_all_writes_flag.addr, align 4 + store i32 %47, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 3), align 8 + %call40 = call i32 @__sym_uint32(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.11.152, i64 0, i64 0)) + store i32 %call40, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 2), align 4 + %48 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 2), align 4 + %cmp41 = icmp eq i32 %48, 1 + call void @gs_assume(i1 zeroext %cmp41) + ret void +} + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error.144(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.155, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__create_new_dfile(%struct.exe_disk_file_t* %dfile, i32 %size, i8* %name, %struct.stat64* %defaults) #3 { +entry: + %dfile.addr = alloca %struct.exe_disk_file_t*, align 8 + %size.addr = alloca i32, align 4 + %name.addr = alloca i8*, align 8 + %defaults.addr = alloca %struct.stat64*, align 8 + %s = alloca %struct.stat64*, align 8 + %sp = alloca i8*, align 8 + %sname = alloca [64 x i8], align 16 + store %struct.exe_disk_file_t* %dfile, %struct.exe_disk_file_t** %dfile.addr, align 8 + store i32 %size, i32* %size.addr, align 4 + store i8* %name, i8** %name.addr, align 8 + store %struct.stat64* %defaults, %struct.stat64** %defaults.addr, align 8 + %call = call noalias i8* @malloc(i64 144) #11 + %0 = bitcast i8* %call to %struct.stat64* + store %struct.stat64* %0, %struct.stat64** %s, align 8 + %1 = load %struct.stat64*, %struct.stat64** %s, align 8 + %tobool = icmp ne %struct.stat64* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @gs_report_error.144(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.141, i64 0, i64 0), i32 47, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.142, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.143, i64 0, i64 0)) #24 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %name.addr, align 8 + store i8* %2, i8** %sp, align 8 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %3 = load i8*, i8** %sp, align 8 + %4 = load i8, i8* %3, align 1 + %tobool1 = icmp ne i8 %4, 0 + %5 = load i8*, i8** %sp, align 8 + br i1 %tobool1, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %6 = load i8, i8* %5, align 1 + %7 = load i8*, i8** %sp, align 8 + %8 = load i8*, i8** %name.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %8 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %arrayidx = getelementptr inbounds [64 x i8], [64 x i8]* %sname, i64 0, i64 %sub.ptr.sub + store i8 %6, i8* %arrayidx, align 1 + %9 = load i8*, i8** %sp, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %sp, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %10 = load i8*, i8** %name.addr, align 8 + %sub.ptr.lhs.cast2 = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast3 = ptrtoint i8* %10 to i64 + %sub.ptr.sub4 = sub i64 %sub.ptr.lhs.cast2, %sub.ptr.rhs.cast3 + %arrayidx5 = getelementptr inbounds [64 x i8], [64 x i8]* %sname, i64 0, i64 %sub.ptr.sub4 + %11 = call i8* @memcpy(i8* %arrayidx5, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.13.153, i64 0, i64 0), i64 6) + %12 = load i32, i32* %size.addr, align 4 + %tobool6 = icmp ne i32 %12, 0 + br i1 %tobool6, label %if.end8, label %if.else + +if.else: ; preds = %for.end + call void @__assert_fail(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.14.154, i64 0, i64 0), i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.141, i64 0, i64 0), i32 55, i8* getelementptr inbounds ([88 x i8], [88 x i8]* @__PRETTY_FUNCTION__.__create_new_dfile, i64 0, i64 0)) #26 + unreachable + +if.end8: ; preds = %for.end + %13 = load i32, i32* %size.addr, align 4 + %14 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size9 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %14, i32 0, i32 0 + store i32 %13, i32* %size9, align 8 + %15 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size10 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %15, i32 0, i32 0 + %16 = load i32, i32* %size10, align 8 + %conv = zext i32 %16 to i64 + %call11 = call noalias i8* @malloc(i64 %conv) #11 + %17 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %contents = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %17, i32 0, i32 1 + store i8* %call11, i8** %contents, align 8 + %18 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %contents12 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %18, i32 0, i32 1 + %19 = load i8*, i8** %contents12, align 8 + %tobool13 = icmp ne i8* %19, null + br i1 %tobool13, label %if.end15, label %if.then14 + +if.then14: ; preds = %if.end8 + call void @gs_report_error.144(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.141, i64 0, i64 0), i32 60, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.142, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.143, i64 0, i64 0)) #24 + unreachable + +if.end15: ; preds = %if.end8 + %20 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %contents16 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %20, i32 0, i32 1 + %21 = load i8*, i8** %contents16, align 8 + %22 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size17 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %22, i32 0, i32 0 + %23 = load i32, i32* %size17, align 8 + %conv18 = zext i32 %23 to i64 + %24 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %21, i64 %conv18, i8* %24) + %25 = load %struct.stat64*, %struct.stat64** %s, align 8 + %26 = bitcast %struct.stat64* %25 to i8* + %arraydecay = getelementptr inbounds [64 x i8], [64 x i8]* %sname, i64 0, i64 0 + call void (i8*, i64, ...) @make_symbolic(i8* %26, i64 144, i8* %arraydecay) + %27 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %27, i32 0, i32 1 + %28 = load i64, i64* %st_ino, align 8 + %call19 = call i32 @gs_is_symbolic(i64 %28) + %tobool20 = icmp ne i32 %call19, 0 + br i1 %tobool20, label %if.end26, label %land.lhs.true + +land.lhs.true: ; preds = %if.end15 + %29 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino21 = getelementptr inbounds %struct.stat64, %struct.stat64* %29, i32 0, i32 1 + %30 = load i64, i64* %st_ino21, align 8 + %and = and i64 %30, 2147483647 + %cmp = icmp eq i64 %and, 0 + br i1 %cmp, label %if.then23, label %if.end26 + +if.then23: ; preds = %land.lhs.true + %31 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_ino24 = getelementptr inbounds %struct.stat64, %struct.stat64* %31, i32 0, i32 1 + %32 = load i64, i64* %st_ino24, align 8 + %33 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino25 = getelementptr inbounds %struct.stat64, %struct.stat64* %33, i32 0, i32 1 + store i64 %32, i64* %st_ino25, align 8 + br label %if.end26 + +if.end26: ; preds = %if.then23, %land.lhs.true, %if.end15 + %34 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino27 = getelementptr inbounds %struct.stat64, %struct.stat64* %34, i32 0, i32 1 + %35 = load i64, i64* %st_ino27, align 8 + %and28 = and i64 %35, 2147483647 + %cmp29 = icmp ne i64 %and28, 0 + call void @gs_assume(i1 zeroext %cmp29) + %36 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_blksize = getelementptr inbounds %struct.stat64, %struct.stat64* %36, i32 0, i32 9 + %37 = load i64, i64* %st_blksize, align 8 + %and31 = and i64 %37, -65536 + %cmp32 = icmp eq i64 %and31, 0 + call void @gs_assume(i1 zeroext %cmp32) + %38 = load %struct.stat64*, %struct.stat64** %s, align 8 + %39 = bitcast %struct.stat64* %38 to i8* + %40 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %40, i32 0, i32 3 + %41 = load i32, i32* %st_mode, align 8 + %and34 = and i32 %41, -61952 + %tobool35 = icmp ne i32 %and34, 0 + %lnot = xor i1 %tobool35, true + call void @gs_prefer_cex(i8* %39, i1 zeroext %lnot) + %42 = load %struct.stat64*, %struct.stat64** %s, align 8 + %43 = bitcast %struct.stat64* %42 to i8* + %44 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_dev = getelementptr inbounds %struct.stat64, %struct.stat64* %44, i32 0, i32 0 + %45 = load i64, i64* %st_dev, align 8 + %46 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_dev36 = getelementptr inbounds %struct.stat64, %struct.stat64* %46, i32 0, i32 0 + %47 = load i64, i64* %st_dev36, align 8 + %cmp37 = icmp eq i64 %45, %47 + call void @gs_prefer_cex(i8* %43, i1 zeroext %cmp37) + %48 = load %struct.stat64*, %struct.stat64** %s, align 8 + %49 = bitcast %struct.stat64* %48 to i8* + %50 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_rdev = getelementptr inbounds %struct.stat64, %struct.stat64* %50, i32 0, i32 7 + %51 = load i64, i64* %st_rdev, align 8 + %52 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_rdev39 = getelementptr inbounds %struct.stat64, %struct.stat64* %52, i32 0, i32 7 + %53 = load i64, i64* %st_rdev39, align 8 + %cmp40 = icmp eq i64 %51, %53 + call void @gs_prefer_cex(i8* %49, i1 zeroext %cmp40) + %54 = load %struct.stat64*, %struct.stat64** %s, align 8 + %55 = bitcast %struct.stat64* %54 to i8* + %56 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode42 = getelementptr inbounds %struct.stat64, %struct.stat64* %56, i32 0, i32 3 + %57 = load i32, i32* %st_mode42, align 8 + %and43 = and i32 %57, 448 + %cmp44 = icmp eq i32 %and43, 384 + call void @gs_prefer_cex(i8* %55, i1 zeroext %cmp44) + %58 = load %struct.stat64*, %struct.stat64** %s, align 8 + %59 = bitcast %struct.stat64* %58 to i8* + %60 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode46 = getelementptr inbounds %struct.stat64, %struct.stat64* %60, i32 0, i32 3 + %61 = load i32, i32* %st_mode46, align 8 + %and47 = and i32 %61, 56 + %cmp48 = icmp eq i32 %and47, 32 + call void @gs_prefer_cex(i8* %59, i1 zeroext %cmp48) + %62 = load %struct.stat64*, %struct.stat64** %s, align 8 + %63 = bitcast %struct.stat64* %62 to i8* + %64 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode50 = getelementptr inbounds %struct.stat64, %struct.stat64* %64, i32 0, i32 3 + %65 = load i32, i32* %st_mode50, align 8 + %and51 = and i32 %65, 7 + %cmp52 = icmp eq i32 %and51, 4 + call void @gs_prefer_cex(i8* %63, i1 zeroext %cmp52) + %66 = load %struct.stat64*, %struct.stat64** %s, align 8 + %67 = bitcast %struct.stat64* %66 to i8* + %68 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode54 = getelementptr inbounds %struct.stat64, %struct.stat64* %68, i32 0, i32 3 + %69 = load i32, i32* %st_mode54, align 8 + %and55 = and i32 %69, 61440 + %cmp56 = icmp eq i32 %and55, 32768 + call void @gs_prefer_cex(i8* %67, i1 zeroext %cmp56) + %70 = load %struct.stat64*, %struct.stat64** %s, align 8 + %71 = bitcast %struct.stat64* %70 to i8* + %72 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_nlink = getelementptr inbounds %struct.stat64, %struct.stat64* %72, i32 0, i32 2 + %73 = load i64, i64* %st_nlink, align 8 + %cmp58 = icmp eq i64 %73, 1 + call void @gs_prefer_cex(i8* %71, i1 zeroext %cmp58) + %74 = load %struct.stat64*, %struct.stat64** %s, align 8 + %75 = bitcast %struct.stat64* %74 to i8* + %76 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_uid = getelementptr inbounds %struct.stat64, %struct.stat64* %76, i32 0, i32 4 + %77 = load i32, i32* %st_uid, align 4 + %78 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_uid60 = getelementptr inbounds %struct.stat64, %struct.stat64* %78, i32 0, i32 4 + %79 = load i32, i32* %st_uid60, align 4 + %cmp61 = icmp eq i32 %77, %79 + call void @gs_prefer_cex(i8* %75, i1 zeroext %cmp61) + %80 = load %struct.stat64*, %struct.stat64** %s, align 8 + %81 = bitcast %struct.stat64* %80 to i8* + %82 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_gid = getelementptr inbounds %struct.stat64, %struct.stat64* %82, i32 0, i32 5 + %83 = load i32, i32* %st_gid, align 8 + %84 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_gid63 = getelementptr inbounds %struct.stat64, %struct.stat64* %84, i32 0, i32 5 + %85 = load i32, i32* %st_gid63, align 8 + %cmp64 = icmp eq i32 %83, %85 + call void @gs_prefer_cex(i8* %81, i1 zeroext %cmp64) + %86 = load %struct.stat64*, %struct.stat64** %s, align 8 + %87 = bitcast %struct.stat64* %86 to i8* + %88 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_blksize66 = getelementptr inbounds %struct.stat64, %struct.stat64* %88, i32 0, i32 9 + %89 = load i64, i64* %st_blksize66, align 8 + %cmp67 = icmp eq i64 %89, 4096 + call void @gs_prefer_cex(i8* %87, i1 zeroext %cmp67) + %90 = load %struct.stat64*, %struct.stat64** %s, align 8 + %91 = bitcast %struct.stat64* %90 to i8* + %92 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_atim = getelementptr inbounds %struct.stat64, %struct.stat64* %92, i32 0, i32 11 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim, i32 0, i32 0 + %93 = load i64, i64* %tv_sec, align 8 + %94 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_atim69 = getelementptr inbounds %struct.stat64, %struct.stat64* %94, i32 0, i32 11 + %tv_sec70 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim69, i32 0, i32 0 + %95 = load i64, i64* %tv_sec70, align 8 + %cmp71 = icmp eq i64 %93, %95 + call void @gs_prefer_cex(i8* %91, i1 zeroext %cmp71) + %96 = load %struct.stat64*, %struct.stat64** %s, align 8 + %97 = bitcast %struct.stat64* %96 to i8* + %98 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mtim = getelementptr inbounds %struct.stat64, %struct.stat64* %98, i32 0, i32 12 + %tv_sec73 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim, i32 0, i32 0 + %99 = load i64, i64* %tv_sec73, align 8 + %100 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_mtim74 = getelementptr inbounds %struct.stat64, %struct.stat64* %100, i32 0, i32 12 + %tv_sec75 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim74, i32 0, i32 0 + %101 = load i64, i64* %tv_sec75, align 8 + %cmp76 = icmp eq i64 %99, %101 + call void @gs_prefer_cex(i8* %97, i1 zeroext %cmp76) + %102 = load %struct.stat64*, %struct.stat64** %s, align 8 + %103 = bitcast %struct.stat64* %102 to i8* + %104 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ctim = getelementptr inbounds %struct.stat64, %struct.stat64* %104, i32 0, i32 13 + %tv_sec78 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim, i32 0, i32 0 + %105 = load i64, i64* %tv_sec78, align 8 + %106 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_ctim79 = getelementptr inbounds %struct.stat64, %struct.stat64* %106, i32 0, i32 13 + %tv_sec80 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim79, i32 0, i32 0 + %107 = load i64, i64* %tv_sec80, align 8 + %cmp81 = icmp eq i64 %105, %107 + call void @gs_prefer_cex(i8* %103, i1 zeroext %cmp81) + %108 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size83 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %108, i32 0, i32 0 + %109 = load i32, i32* %size83, align 8 + %conv84 = zext i32 %109 to i64 + %110 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_size = getelementptr inbounds %struct.stat64, %struct.stat64* %110, i32 0, i32 8 + store i64 %conv84, i64* %st_size, align 8 + %111 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_blocks = getelementptr inbounds %struct.stat64, %struct.stat64* %111, i32 0, i32 10 + store i64 8, i64* %st_blocks, align 8 + %112 = load %struct.stat64*, %struct.stat64** %s, align 8 + %113 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %113, i32 0, i32 2 + store %struct.stat64* %112, %struct.stat64** %stat, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__sym_uint32(i8* %name) #3 { +entry: + %name.addr = alloca i8*, align 8 + %x = alloca i32, align 4 + store i8* %name, i8** %name.addr, align 8 + %0 = bitcast i32* %x to i8* + %1 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %0, i64 4, i8* %1) + %2 = load i32, i32* %x, align 4 + ret i32 %2 +} + +declare dso_local void @gs_prefer_cex(i8*, i1 zeroext) #5 + +; Function Attrs: noinline nounwind uwtable +define weak hidden i32 @__syscall_rt_sigaction(i32 %signum, %struct.sigaction.800* %act, %struct.sigaction.800* %oldact, i64 %_something) #3 { +entry: + %signum.addr = alloca i32, align 4 + %act.addr = alloca %struct.sigaction.800*, align 8 + %oldact.addr = alloca %struct.sigaction.800*, align 8 + %_something.addr = alloca i64, align 8 + store i32 %signum, i32* %signum.addr, align 4 + store %struct.sigaction.800* %act, %struct.sigaction.800** %act.addr, align 8 + store %struct.sigaction.800* %oldact, %struct.sigaction.800** %oldact.addr, align 8 + store i64 %_something, i64* %_something.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.156, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @sigaction(i32 %signum, %struct.sigaction.800* %act, %struct.sigaction.800* %oldact) #3 { +entry: + %signum.addr = alloca i32, align 4 + %act.addr = alloca %struct.sigaction.800*, align 8 + %oldact.addr = alloca %struct.sigaction.800*, align 8 + store i32 %signum, i32* %signum.addr, align 4 + store %struct.sigaction.800* %act, %struct.sigaction.800** %act.addr, align 8 + store %struct.sigaction.800* %oldact, %struct.sigaction.800** %oldact.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.156, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @sigprocmask(i32 %how, %struct.fd_set* %set, %struct.fd_set* %oldset) #3 { +entry: + %how.addr = alloca i32, align 4 + %set.addr = alloca %struct.fd_set*, align 8 + %oldset.addr = alloca %struct.fd_set*, align 8 + store i32 %how, i32* %how.addr, align 4 + store %struct.fd_set* %set, %struct.fd_set** %set.addr, align 8 + store %struct.fd_set* %oldset, %struct.fd_set** %oldset.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.156, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @fdatasync(i32 %fd) #3 { +entry: + %fd.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local void @sync() #3 { +entry: + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @__socketcall(i32 %type, i32* %args) #3 { +entry: + %type.addr = alloca i32, align 4 + %args.addr = alloca i32*, align 8 + store i32 %type, i32* %type.addr, align 4 + store i32* %args, i32** %args.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.1.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 97, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @gs_warning.162(i8* %message) #3 { +entry: + %message.addr = alloca i8*, align 8 + store i8* %message, i8** %message.addr, align 8 + %0 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %0) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.11.163, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @_IO_getc(%struct._IO_FILE* %f) #3 { +entry: + %f.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %f, %struct._IO_FILE** %f.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %f.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %0) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @_IO_putc(i32 %c, %struct._IO_FILE* %f) #3 { +entry: + %c.addr = alloca i32, align 4 + %f.addr = alloca %struct._IO_FILE*, align 8 + store i32 %c, i32* %c.addr, align 4 + store %struct._IO_FILE* %f, %struct._IO_FILE** %f.addr, align 8 + %0 = load i32, i32* %c.addr, align 4 + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %f.addr, align 8 + %call = call i32 bitcast (i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked to i32 (i32, %struct._IO_FILE*)*)(i32 %0, %struct._IO_FILE* %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mkdir(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2.166, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 5, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mkfifo(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2.166, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 5, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mknod(i8* nonnull %pathname, i32 %mode, i64 %dev) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + %dev.addr = alloca i64, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + store i64 %dev, i64* %dev.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2.166, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 5, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @pipe(i32* %filedes) #3 { +entry: + %filedes.addr = alloca i32*, align 8 + store i32* %filedes, i32** %filedes.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.3.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 23, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @link(i8* nonnull %oldpath, i8* nonnull %newpath) #3 { +entry: + %oldpath.addr = alloca i8*, align 8 + %newpath.addr = alloca i8*, align 8 + store i8* %oldpath, i8** %oldpath.addr, align 8 + store i8* %newpath, i8** %newpath.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @symlink(i8* nonnull %oldpath, i8* nonnull %newpath) #3 { +entry: + %oldpath.addr = alloca i8*, align 8 + %newpath.addr = alloca i8*, align 8 + store i8* %oldpath, i8** %oldpath.addr, align 8 + store i8* %newpath, i8** %newpath.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @rename(i8* %oldpath, i8* %newpath) #3 { +entry: + %oldpath.addr = alloca i8*, align 8 + %newpath.addr = alloca i8*, align 8 + store i8* %oldpath, i8** %oldpath.addr, align 8 + store i8* %newpath, i8** %newpath.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @nanosleep(%struct.timespec* %req, %struct.timespec* %rem) #3 { +entry: + %req.addr = alloca %struct.timespec*, align 8 + %rem.addr = alloca %struct.timespec*, align 8 + store %struct.timespec* %req, %struct.timespec** %req.addr, align 8 + store %struct.timespec* %rem, %struct.timespec** %rem.addr, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @clock_gettime(i32 %clk_id, %struct.timespec* %res) #3 { +entry: + %clk_id.addr = alloca i32, align 4 + %res.addr = alloca %struct.timespec*, align 8 + %tv = alloca %struct.timespec, align 8 + store i32 %clk_id, i32* %clk_id.addr, align 4 + store %struct.timespec* %res, %struct.timespec** %res.addr, align 8 + %call = call i32 @gettimeofday(%struct.timespec* %tv, i8* null) #11 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %0 = load i64, i64* %tv_sec, align 8 + %1 = load %struct.timespec*, %struct.timespec** %res.addr, align 8 + %tv_sec1 = getelementptr inbounds %struct.timespec, %struct.timespec* %1, i32 0, i32 0 + store i64 %0, i64* %tv_sec1, align 8 + %tv_usec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 1 + %2 = load i64, i64* %tv_usec, align 8 + %mul = mul nsw i64 %2, 1000 + %3 = load %struct.timespec*, %struct.timespec** %res.addr, align 8 + %tv_nsec = getelementptr inbounds %struct.timespec, %struct.timespec* %3, i32 0, i32 1 + store i64 %mul, i64* %tv_nsec, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @clock_settime(i32 %clk_id, %struct.timespec* %res) #3 { +entry: + %clk_id.addr = alloca i32, align 4 + %res.addr = alloca %struct.timespec*, align 8 + store i32 %clk_id, i32* %clk_id.addr, align 4 + store %struct.timespec* %res, %struct.timespec** %res.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @time(i64* %t) #3 { +entry: + %t.addr = alloca i64*, align 8 + %tv = alloca %struct.timespec, align 8 + store i64* %t, i64** %t.addr, align 8 + %call = call i32 @gettimeofday(%struct.timespec* %tv, i8* null) #11 + %0 = load i64*, i64** %t.addr, align 8 + %tobool = icmp ne i64* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %1 = load i64, i64* %tv_sec, align 8 + %2 = load i64*, i64** %t.addr, align 8 + store i64 %1, i64* %2, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %tv_sec1 = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %3 = load i64, i64* %tv_sec1, align 8 + ret i64 %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @times(%struct.tms* %buf) #3 { +entry: + %buf.addr = alloca %struct.tms*, align 8 + store %struct.tms* %buf, %struct.tms** %buf.addr, align 8 + %0 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tobool = icmp ne %struct.tms* %0, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + call void @gs_warning.162(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.5.169, i64 0, i64 0)) + br label %if.end + +if.else: ; preds = %entry + call void @gs_warning.162(i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.6.170, i64 0, i64 0)) + %1 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_utime = getelementptr inbounds %struct.tms, %struct.tms* %1, i32 0, i32 0 + store i64 0, i64* %tms_utime, align 8 + %2 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_stime = getelementptr inbounds %struct.tms, %struct.tms* %2, i32 0, i32 1 + store i64 0, i64* %tms_stime, align 8 + %3 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_cutime = getelementptr inbounds %struct.tms, %struct.tms* %3, i32 0, i32 2 + store i64 0, i64* %tms_cutime, align 8 + %4 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_cstime = getelementptr inbounds %struct.tms, %struct.tms* %4, i32 0, i32 3 + store i64 0, i64* %tms_cstime, align 8 + br label %if.end + +if.end: ; preds = %if.else, %if.then + ret i64 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local %struct.utmpx* @getutxent() #3 { +entry: + %call = call %struct.utmp* bitcast (%struct.utmp.323* ()* @getutent to %struct.utmp* ()*)() #11 + %0 = bitcast %struct.utmp* %call to %struct.utmpx* + ret %struct.utmpx* %0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local void @setutxent() #3 { +entry: + call void @setutent() #11 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local void @endutxent() #3 { +entry: + call void @endutent() #11 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @utmpxname(i8* %file) #3 { +entry: + %file.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + %call = call i32 @utmpname(i8* %0) #11 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @euidaccess(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %1 = load i32, i32* %mode.addr, align 4 + %call = call i32 @access(i8* %0, i32 %1) #11 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @eaccess(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %1 = load i32, i32* %mode.addr, align 4 + %call = call i32 @euidaccess(i8* %0, i32 %1) #11 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @group_member(i32 %__gid) #3 { +entry: + %__gid.addr = alloca i32, align 4 + store i32 %__gid, i32* %__gid.addr, align 4 + %0 = load i32, i32* %__gid.addr, align 4 + %call = call i32 @getgid() #11 + %cmp = icmp eq i32 %0, %call + br i1 %cmp, label %lor.end, label %lor.rhs + +lor.rhs: ; preds = %entry + %1 = load i32, i32* %__gid.addr, align 4 + %call1 = call i32 @getegid() #11 + %cmp2 = icmp eq i32 %1, %call1 + br label %lor.end + +lor.end: ; preds = %lor.rhs, %entry + %2 = phi i1 [ true, %entry ], [ %cmp2, %lor.rhs ] + %lor.ext = zext i1 %2 to i32 + ret i32 %lor.ext +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @utime(i8* nonnull %filename, %struct.timespec* %buf) #3 { +entry: + %filename.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.timespec*, align 8 + store i8* %filename, i8** %filename.addr, align 8 + store %struct.timespec* %buf, %struct.timespec** %buf.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @futimes(i32 %fd, %struct.timespec* %times) #3 { +entry: + %fd.addr = alloca i32, align 4 + %times.addr = alloca %struct.timespec*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.timespec* %times, %struct.timespec** %times.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.7.171, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 9, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind readonly uwtable +define dso_local i32 @strverscmp(i8* nonnull %__s1, i8* nonnull %__s2) #15 { +entry: + %__s1.addr = alloca i8*, align 8 + %__s2.addr = alloca i8*, align 8 + store i8* %__s1, i8** %__s1.addr, align 8 + store i8* %__s2, i8** %__s2.addr, align 8 + %0 = load i8*, i8** %__s1.addr, align 8 + %1 = load i8*, i8** %__s2.addr, align 8 + %call = call i32 @strcmp(i8* %0, i8* %1) #23 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @gnu_dev_major(i64 %__dev) #3 { +entry: + %__dev.addr = alloca i64, align 8 + store i64 %__dev, i64* %__dev.addr, align 8 + %0 = load i64, i64* %__dev.addr, align 8 + %shr = lshr i64 %0, 8 + %and = and i64 %shr, 4095 + %1 = load i64, i64* %__dev.addr, align 8 + %shr1 = lshr i64 %1, 32 + %conv = trunc i64 %shr1 to i32 + %and2 = and i32 %conv, -4096 + %conv3 = zext i32 %and2 to i64 + %or = or i64 %and, %conv3 + %conv4 = trunc i64 %or to i32 + ret i32 %conv4 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @gnu_dev_minor(i64 %__dev) #3 { +entry: + %__dev.addr = alloca i64, align 8 + store i64 %__dev, i64* %__dev.addr, align 8 + %0 = load i64, i64* %__dev.addr, align 8 + %and = and i64 %0, 255 + %1 = load i64, i64* %__dev.addr, align 8 + %shr = lshr i64 %1, 12 + %conv = trunc i64 %shr to i32 + %and1 = and i32 %conv, -256 + %conv2 = zext i32 %and1 to i64 + %or = or i64 %and, %conv2 + %conv3 = trunc i64 %or to i32 + ret i32 %conv3 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i64 @gnu_dev_makedev(i32 %__major, i32 %__minor) #3 { +entry: + %__major.addr = alloca i32, align 4 + %__minor.addr = alloca i32, align 4 + store i32 %__major, i32* %__major.addr, align 4 + store i32 %__minor, i32* %__minor.addr, align 4 + %0 = load i32, i32* %__minor.addr, align 4 + %and = and i32 %0, 255 + %1 = load i32, i32* %__major.addr, align 4 + %and1 = and i32 %1, 4095 + %shl = shl i32 %and1, 8 + %or = or i32 %and, %shl + %conv = zext i32 %or to i64 + %2 = load i32, i32* %__minor.addr, align 4 + %and2 = and i32 %2, -256 + %conv3 = zext i32 %and2 to i64 + %shl4 = shl i64 %conv3, 12 + %or5 = or i64 %conv, %shl4 + %3 = load i32, i32* %__major.addr, align 4 + %and6 = and i32 %3, -4096 + %conv7 = zext i32 %and6 to i64 + %shl8 = shl i64 %conv7, 32 + %or9 = or i64 %or5, %shl8 + ret i64 %or9 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i8* @canonicalize_file_name(i8* nonnull %name) #3 { +entry: + %retval = alloca i8*, align 8 + %name.addr = alloca i8*, align 8 + %resolved_name = alloca i8*, align 8 + store i8* %name, i8** %name.addr, align 8 + %call = call noalias i8* @malloc(i64 4096) #11 + store i8* %call, i8** %resolved_name, align 8 + %0 = load i8*, i8** %resolved_name, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %name.addr, align 8 + %2 = load i8*, i8** %resolved_name, align 8 + %call1 = call i8* @realpath(i8* %1, i8* %2) #11 + %tobool2 = icmp ne i8* %call1, null + %3 = load i8*, i8** %resolved_name, align 8 + br i1 %tobool2, label %if.end4, label %if.then3 + +if.then3: ; preds = %if.end + call void @free(i8* %3) #11 + store i8* null, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %if.end + store i8* %3, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %4 = load i8*, i8** %retval, align 8 + ret i8* %4 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @getloadavg(double* nonnull %loadavg, i32 %nelem) #3 { +entry: + %loadavg.addr = alloca double*, align 8 + %nelem.addr = alloca i32, align 4 + store double* %loadavg, double** %loadavg.addr, align 8 + store i32 %nelem, i32* %nelem.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.8.174, i64 0, i64 0)) + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @wait(i32* %status) #3 { +entry: + %status.addr = alloca i32*, align 8 + store i32* %status, i32** %status.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.175, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @wait3(i32* %status, i32 %options, %struct.rusage* %rusage) #3 { +entry: + %status.addr = alloca i32*, align 8 + %options.addr = alloca i32, align 4 + %rusage.addr = alloca %struct.rusage*, align 8 + store i32* %status, i32** %status.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + store %struct.rusage* %rusage, %struct.rusage** %rusage.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.175, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @wait4(i32 %pid, i32* %status, i32 %options, %struct.rusage* %rusage) #3 { +entry: + %pid.addr = alloca i32, align 4 + %status.addr = alloca i32*, align 8 + %options.addr = alloca i32, align 4 + %rusage.addr = alloca %struct.rusage*, align 8 + store i32 %pid, i32* %pid.addr, align 4 + store i32* %status, i32** %status.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + store %struct.rusage* %rusage, %struct.rusage** %rusage.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.175, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @waitpid(i32 %pid, i32* %status, i32 %options) #3 { +entry: + %pid.addr = alloca i32, align 4 + %status.addr = alloca i32*, align 8 + %options.addr = alloca i32, align 4 + store i32 %pid, i32* %pid.addr, align 4 + store i32* %status, i32** %status.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.175, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @waitid(i32 %idtype, i32 %id, %struct.siginfo_t* %infop, i32 %options) #3 { +entry: + %idtype.addr = alloca i32, align 4 + %id.addr = alloca i32, align 4 + %infop.addr = alloca %struct.siginfo_t*, align 8 + %options.addr = alloca i32, align 4 + store i32 %idtype, i32* %idtype.addr, align 4 + store i32 %id, i32* %id.addr, align 4 + store %struct.siginfo_t* %infop, %struct.siginfo_t** %infop.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.175, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mount(i8* %source, i8* %target, i8* %filesystemtype, i64 %mountflags, i8* %data) #3 { +entry: + %source.addr = alloca i8*, align 8 + %target.addr = alloca i8*, align 8 + %filesystemtype.addr = alloca i8*, align 8 + %mountflags.addr = alloca i64, align 8 + %data.addr = alloca i8*, align 8 + store i8* %source, i8** %source.addr, align 8 + store i8* %target, i8** %target.addr, align 8 + store i8* %filesystemtype, i8** %filesystemtype.addr, align 8 + store i64 %mountflags, i64* %mountflags.addr, align 8 + store i8* %data, i8** %data.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @umount(i8* %target) #3 { +entry: + %target.addr = alloca i8*, align 8 + store i8* %target, i8** %target.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @umount2(i8* %target, i32 %flags) #3 { +entry: + %target.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + store i8* %target, i8** %target.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @swapon(i8* %path, i32 %swapflags) #3 { +entry: + %path.addr = alloca i8*, align 8 + %swapflags.addr = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store i32 %swapflags, i32* %swapflags.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @swapoff(i8* %path) #3 { +entry: + %path.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setgid(i32 %gid) #3 { +entry: + %gid.addr = alloca i32, align 4 + store i32 %gid, i32* %gid.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.10.176, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setgroups(i64 %size, i32* %list) #3 { +entry: + %size.addr = alloca i64, align 8 + %list.addr = alloca i32*, align 8 + store i64 %size, i64* %size.addr, align 8 + store i32* %list, i32** %list.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @sethostname(i8* nonnull %name, i64 %len) #3 { +entry: + %name.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + store i8* %name, i8** %name.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setpgid(i32 %pid, i32 %pgid) #3 { +entry: + %pid.addr = alloca i32, align 4 + %pgid.addr = alloca i32, align 4 + store i32 %pid, i32* %pid.addr, align 4 + store i32 %pgid, i32* %pgid.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setpgrp() #3 { +entry: + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setpriority(i32 %which, i32 %who, i32 %prio) #3 { +entry: + %which.addr = alloca i32, align 4 + %who.addr = alloca i32, align 4 + %prio.addr = alloca i32, align 4 + store i32 %which, i32* %which.addr, align 4 + store i32 %who, i32* %who.addr, align 4 + store i32 %prio, i32* %prio.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setresgid(i32 %rgid, i32 %egid, i32 %sgid) #3 { +entry: + %rgid.addr = alloca i32, align 4 + %egid.addr = alloca i32, align 4 + %sgid.addr = alloca i32, align 4 + store i32 %rgid, i32* %rgid.addr, align 4 + store i32 %egid, i32* %egid.addr, align 4 + store i32 %sgid, i32* %sgid.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setresuid(i32 %ruid, i32 %euid, i32 %suid) #3 { +entry: + %ruid.addr = alloca i32, align 4 + %euid.addr = alloca i32, align 4 + %suid.addr = alloca i32, align 4 + store i32 %ruid, i32* %ruid.addr, align 4 + store i32 %euid, i32* %euid.addr, align 4 + store i32 %suid, i32* %suid.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setrlimit(i32 %resource, %struct.timespec* %rlim) #3 { +entry: + %resource.addr = alloca i32, align 4 + %rlim.addr = alloca %struct.timespec*, align 8 + store i32 %resource, i32* %resource.addr, align 4 + store %struct.timespec* %rlim, %struct.timespec** %rlim.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setrlimit64(i32 %resource, %struct.timespec* %rlim) #3 { +entry: + %resource.addr = alloca i32, align 4 + %rlim.addr = alloca %struct.timespec*, align 8 + store i32 %resource, i32* %resource.addr, align 4 + store %struct.timespec* %rlim, %struct.timespec** %rlim.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setsid() #3 { +entry: + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @settimeofday(%struct.timespec* %tv, %struct.__mbstate_t.512* %tz) #3 { +entry: + %tv.addr = alloca %struct.timespec*, align 8 + %tz.addr = alloca %struct.__mbstate_t.512*, align 8 + store %struct.timespec* %tv, %struct.timespec** %tv.addr, align 8 + store %struct.__mbstate_t.512* %tz, %struct.__mbstate_t.512** %tz.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setuid(i32 %uid) #3 { +entry: + %uid.addr = alloca i32, align 4 + store i32 %uid, i32* %uid.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.10.176, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @reboot(i32 %flag) #3 { +entry: + %flag.addr = alloca i32, align 4 + store i32 %flag, i32* %flag.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mlock(i8* %addr, i64 %len) #3 { +entry: + %addr.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + store i8* %addr, i8** %addr.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @munlock(i8* %addr, i64 %len) #3 { +entry: + %addr.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + store i8* %addr, i8** %addr.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @pause() #3 { +entry: + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i64 @readahead(i32 %fd, i64* %offset, i64 %count) #3 { +entry: + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64*, align 8 + %count.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64* %offset, i64** %offset.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i64 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i8* @mmap(i8* %start, i64 %length, i32 %prot, i32 %flags, i32 %fd, i64 %offset) #3 { +entry: + %start.addr = alloca i8*, align 8 + %length.addr = alloca i64, align 8 + %prot.addr = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + store i8* %start, i8** %start.addr, align 8 + store i64 %length, i64* %length.addr, align 8 + store i32 %prot, i32* %prot.addr, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i8* inttoptr (i64 -1 to i8*) +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i8* @mmap64(i8* %start, i64 %length, i32 %prot, i32 %flags, i32 %fd, i64 %offset) #3 { +entry: + %start.addr = alloca i8*, align 8 + %length.addr = alloca i64, align 8 + %prot.addr = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + store i8* %start, i8** %start.addr, align 8 + store i64 %length, i64* %length.addr, align 8 + store i32 %prot, i32* %prot.addr, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i8* inttoptr (i64 -1 to i8*) +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @munmap(i8* %start, i64 %length) #3 { +entry: + %start.addr = alloca i8*, align 8 + %length.addr = alloca i64, align 8 + store i8* %start, i8** %start.addr, align 8 + store i64 %length, i64* %length.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__locale_mbrtowc_l(i32* noalias %dst, i8* noalias %src, %struct.__uclibc_locale_struct.201* %loc) #0 { +entry: + %retval = alloca i32, align 4 + %dst.addr = alloca i32*, align 8 + %src.addr = alloca i8*, align 8 + %loc.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %ps = alloca %struct.__mbstate_t.512, align 4 + %p = alloca i8*, align 8 + %r = alloca i64, align 8 + %wc = alloca i32, align 4 + store i32* %dst, i32** %dst.addr, align 8 + store i8* %src, i8** %src.addr, align 8 + store %struct.__uclibc_locale_struct.201* %loc, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 9 + %1 = load i8, i8* %encoding, align 8 + %conv = zext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 1 + %2 = load i8*, i8** %src.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i8* %2, i8** %p, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %ps, i32 0, i32 0 + store i32 0, i32* %__mask, align 4 + %3 = load i32*, i32** %dst.addr, align 8 + %call = call i64 @_wchar_utf8sntowcs(i32* %3, i64 1, i8** %p, i64 -1, %struct.__mbstate_t.512* %ps, i32 1) #18 + store i64 %call, i64* %r, align 8 + %4 = load i64, i64* %r, align 8 + %cmp2 = icmp eq i64 %4, 1 + %5 = load i8*, i8** %p, align 8 + %6 = load i8*, i8** %src.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %6 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %7 = load i64, i64* %r, align 8 + %cond = select i1 %cmp2, i64 %sub.ptr.sub, i64 %7 + %conv4 = trunc i64 %cond to i32 + store i32 %conv4, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load i8, i8* %2, align 1 + %conv5 = zext i8 %8 to i32 + %9 = load i32*, i32** %dst.addr, align 8 + store i32 %conv5, i32* %9, align 4 + %cmp6 = icmp slt i32 %conv5, 128 + br i1 %cmp6, label %if.then8, label %if.end12 + +if.then8: ; preds = %if.end + %10 = load i8*, i8** %src.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv9 = sext i8 %11 to i32 + %cmp10 = icmp ne i32 %conv9, 0 + %conv11 = zext i1 %cmp10 to i32 + store i32 %conv11, i32* %retval, align 4 + br label %return + +if.end12: ; preds = %if.end + %12 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %encoding13 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %12, i32 0, i32 9 + %13 = load i8, i8* %encoding13, align 8 + %conv14 = zext i8 %13 to i32 + %cmp15 = icmp eq i32 %conv14, 2 + br i1 %cmp15, label %if.then17, label %if.end24 + +if.then17: ; preds = %if.end12 + %14 = load i32*, i32** %dst.addr, align 8 + %15 = load i32, i32* %14, align 4 + %sub = sub nsw i32 %15, 128 + store i32 %sub, i32* %wc, align 4 + %16 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %tbl8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %16, i32 0, i32 17 + %17 = load i16*, i16** %tbl8c2wc, align 8 + %18 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %idx8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %18, i32 0, i32 16 + %19 = load i8*, i8** %idx8c2wc, align 8 + %20 = load i32, i32* %wc, align 4 + %shr = ashr i32 %20, 3 + %idxprom = sext i32 %shr to i64 + %arrayidx = getelementptr inbounds i8, i8* %19, i64 %idxprom + %21 = load i8, i8* %arrayidx, align 1 + %conv18 = zext i8 %21 to i32 + %shl = shl i32 %conv18, 3 + %22 = load i32, i32* %wc, align 4 + %and = and i32 %22, 7 + %add = add nsw i32 %shl, %and + %idxprom19 = sext i32 %add to i64 + %arrayidx20 = getelementptr inbounds i16, i16* %17, i64 %idxprom19 + %23 = load i16, i16* %arrayidx20, align 2 + %conv21 = zext i16 %23 to i32 + %24 = load i32*, i32** %dst.addr, align 8 + store i32 %conv21, i32* %24, align 4 + %25 = load i32*, i32** %dst.addr, align 8 + %26 = load i32, i32* %25, align 4 + %tobool = icmp ne i32 %26, 0 + br i1 %tobool, label %if.then22, label %if.end24 + +if.then22: ; preds = %if.then17 + store i32 1, i32* %retval, align 4 + br label %return + +if.end24: ; preds = %if.then17, %if.end12 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end24, %if.then22, %if.then8, %if.then + %27 = load i32, i32* %retval, align 4 + ret i32 %27 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__raise(i32 %signo) #0 { +entry: + %signo.addr = alloca i32, align 4 + store i32 %signo, i32* %signo.addr, align 4 + %call = call i32 @getpid() #19 + %0 = load i32, i32* %signo.addr, align 4 + %call1 = call i32 @kill(i32 %call, i32 %0) #19 + ret i32 %call1 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__libc_sigaction(i32 %sig, %struct.sigaction.800* %act, %struct.sigaction.800* %oact) #0 { +entry: + %sig.addr = alloca i32, align 4 + %act.addr = alloca %struct.sigaction.800*, align 8 + %oact.addr = alloca %struct.sigaction.800*, align 8 + %result = alloca i32, align 4 + %kact = alloca %struct.kernel_sigaction, align 8 + %koact = alloca %struct.kernel_sigaction, align 8 + store i32 %sig, i32* %sig.addr, align 4 + store %struct.sigaction.800* %act, %struct.sigaction.800** %act.addr, align 8 + store %struct.sigaction.800* %oact, %struct.sigaction.800** %oact.addr, align 8 + %0 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %tobool = icmp ne %struct.sigaction.800* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %__sigaction_handler = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %1, i32 0, i32 0 + %sa_handler = bitcast %union.anon.799* %__sigaction_handler to void (i32)** + %2 = load void (i32)*, void (i32)** %sa_handler, align 8 + %k_sa_handler = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 0 + store void (i32)* %2, void (i32)** %k_sa_handler, align 8 + %sa_mask = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 3 + %3 = bitcast %struct.fd_set* %sa_mask to i8* + %4 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %sa_mask1 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %4, i32 0, i32 1 + %5 = bitcast %struct.fd_set* %sa_mask1 to i8* + %call = call i8* @memcpy(i8* %3, i8* %5, i64 128) #19 + %6 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %sa_flags = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %6, i32 0, i32 2 + %7 = load i32, i32* %sa_flags, align 8 + %conv = sext i32 %7 to i64 + %sa_flags2 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 1 + store i64 %conv, i64* %sa_flags2, align 8 + %8 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %sa_restorer = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %8, i32 0, i32 3 + %9 = load void ()*, void ()** %sa_restorer, align 8 + %sa_restorer3 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 2 + store void ()* %9, void ()** %sa_restorer3, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %10 = load i32, i32* %sig.addr, align 4 + %11 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %tobool4 = icmp ne %struct.sigaction.800* %11, null + %kact. = select i1 %tobool4, %struct.kernel_sigaction* %kact, %struct.kernel_sigaction* null + %12 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %tobool5 = icmp ne %struct.sigaction.800* %12, null + %cond9 = select i1 %tobool5, %struct.kernel_sigaction* %koact, %struct.kernel_sigaction* null + %call10 = call i32 bitcast (i32 (i32, %struct.sigaction.800*, %struct.sigaction.800*, i64)* @__syscall_rt_sigaction to i32 (i32, %struct.kernel_sigaction*, %struct.kernel_sigaction*, i64)*)(i32 %10, %struct.kernel_sigaction* %kact., %struct.kernel_sigaction* %cond9, i64 8) #18 + store i32 %call10, i32* %result, align 4 + %13 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %tobool11 = icmp ne %struct.sigaction.800* %13, null + %14 = load i32, i32* %result, align 4 + %cmp = icmp sge i32 %14, 0 + %or.cond = and i1 %tobool11, %cmp + br i1 %or.cond, label %if.then13, label %if.end25 + +if.then13: ; preds = %if.end + %k_sa_handler14 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 0 + %15 = load void (i32)*, void (i32)** %k_sa_handler14, align 8 + %16 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %__sigaction_handler15 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %16, i32 0, i32 0 + %sa_handler16 = bitcast %union.anon.799* %__sigaction_handler15 to void (i32)** + store void (i32)* %15, void (i32)** %sa_handler16, align 8 + %17 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %sa_mask17 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %17, i32 0, i32 1 + %18 = bitcast %struct.fd_set* %sa_mask17 to i8* + %sa_mask18 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 3 + %19 = bitcast %struct.fd_set* %sa_mask18 to i8* + %call19 = call i8* @memcpy(i8* %18, i8* %19, i64 128) #19 + %sa_flags20 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 1 + %20 = load i64, i64* %sa_flags20, align 8 + %conv21 = trunc i64 %20 to i32 + %21 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %sa_flags22 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %21, i32 0, i32 2 + store i32 %conv21, i32* %sa_flags22, align 8 + %sa_restorer23 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 2 + %22 = load void ()*, void ()** %sa_restorer23, align 8 + %23 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %sa_restorer24 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %23, i32 0, i32 3 + store void ()* %22, void ()** %sa_restorer24, align 8 + br label %if.end25 + +if.end25: ; preds = %if.then13, %if.end + %24 = load i32, i32* %result, align 4 + ret i32 %24 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__sigismember(%struct.fd_set* %__set, i32 %__sig) #0 { +entry: + %__set.addr = alloca %struct.fd_set*, align 8 + %__sig.addr = alloca i32, align 4 + %__mask = alloca i64, align 8 + %__word = alloca i64, align 8 + store %struct.fd_set* %__set, %struct.fd_set** %__set.addr, align 8 + store i32 %__sig, i32* %__sig.addr, align 4 + %0 = load i32, i32* %__sig.addr, align 4 + %sub = sub nsw i32 %0, 1 + %conv = sext i32 %sub to i64 + %rem = urem i64 %conv, 64 + %shl = shl i64 1, %rem + store i64 %shl, i64* %__mask, align 8 + %1 = load i32, i32* %__sig.addr, align 4 + %sub1 = sub nsw i32 %1, 1 + %conv2 = sext i32 %sub1 to i64 + %div = udiv i64 %conv2, 64 + store i64 %div, i64* %__word, align 8 + %2 = load %struct.fd_set*, %struct.fd_set** %__set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %2, i32 0, i32 0 + %3 = load i64, i64* %__word, align 8 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 %3 + %4 = load i64, i64* %arrayidx, align 8 + %5 = load i64, i64* %__mask, align 8 + %and = and i64 %4, %5 + %tobool = icmp ne i64 %and, 0 + %6 = zext i1 %tobool to i64 + %cond = select i1 %tobool, i32 1, i32 0 + ret i32 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__sigaddset(%struct.fd_set* %__set, i32 %__sig) #0 { +entry: + %__set.addr = alloca %struct.fd_set*, align 8 + %__sig.addr = alloca i32, align 4 + %__mask = alloca i64, align 8 + %__word = alloca i64, align 8 + store %struct.fd_set* %__set, %struct.fd_set** %__set.addr, align 8 + store i32 %__sig, i32* %__sig.addr, align 4 + %0 = load i32, i32* %__sig.addr, align 4 + %sub = sub nsw i32 %0, 1 + %conv = sext i32 %sub to i64 + %rem = urem i64 %conv, 64 + %shl = shl i64 1, %rem + store i64 %shl, i64* %__mask, align 8 + %1 = load i32, i32* %__sig.addr, align 4 + %sub1 = sub nsw i32 %1, 1 + %conv2 = sext i32 %sub1 to i64 + %div = udiv i64 %conv2, 64 + store i64 %div, i64* %__word, align 8 + %2 = load i64, i64* %__mask, align 8 + %3 = load %struct.fd_set*, %struct.fd_set** %__set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %3, i32 0, i32 0 + %4 = load i64, i64* %__word, align 8 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 %4 + %5 = load i64, i64* %arrayidx, align 8 + %or = or i64 %5, %2 + store i64 %or, i64* %arrayidx, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__sigdelset(%struct.fd_set* %__set, i32 %__sig) #0 { +entry: + %__set.addr = alloca %struct.fd_set*, align 8 + %__sig.addr = alloca i32, align 4 + %__mask = alloca i64, align 8 + %__word = alloca i64, align 8 + store %struct.fd_set* %__set, %struct.fd_set** %__set.addr, align 8 + store i32 %__sig, i32* %__sig.addr, align 4 + %0 = load i32, i32* %__sig.addr, align 4 + %sub = sub nsw i32 %0, 1 + %conv = sext i32 %sub to i64 + %rem = urem i64 %conv, 64 + %shl = shl i64 1, %rem + store i64 %shl, i64* %__mask, align 8 + %1 = load i32, i32* %__sig.addr, align 4 + %sub1 = sub nsw i32 %1, 1 + %conv2 = sext i32 %sub1 to i64 + %div = udiv i64 %conv2, 64 + store i64 %div, i64* %__word, align 8 + %2 = load i64, i64* %__mask, align 8 + %neg = xor i64 %2, -1 + %3 = load %struct.fd_set*, %struct.fd_set** %__set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %3, i32 0, i32 0 + %4 = load i64, i64* %__word, align 8 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 %4 + %5 = load i64, i64* %arrayidx, align 8 + %and = and i64 %5, %neg + store i64 %and, i64* %arrayidx, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %bufsize = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 5 + %1 = load i8*, i8** %__bufpos, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 3 + %3 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %1 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %3 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %bufsize, align 8 + %cmp = icmp ne i64 %sub.ptr.sub, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 3 + %5 = load i8*, i8** %__bufstart1, align 8 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 5 + store i8* %5, i8** %__bufpos2, align 8 + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart3 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 3 + %9 = load i8*, i8** %__bufstart3, align 8 + %10 = load i64, i64* %bufsize, align 8 + %call = call i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %7, i8* %9, i64 %10) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos4 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 5 + %12 = load i8*, i8** %__bufpos4, align 8 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart5 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 3 + %14 = load i8*, i8** %__bufstart5, align 8 + %sub.ptr.lhs.cast6 = ptrtoint i8* %12 to i64 + %sub.ptr.rhs.cast7 = ptrtoint i8* %14 to i64 + %sub.ptr.sub8 = sub i64 %sub.ptr.lhs.cast6, %sub.ptr.rhs.cast7 + ret i64 %sub.ptr.sub8 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__fgetc_unlocked(%struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %uc = alloca i8, align 1 + %uc56 = alloca i8, align 1 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 5 + %1 = load i8*, i8** %__bufpos, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 7 + %3 = load i8*, i8** %__bufgetc_u, align 8 + %cmp = icmp ult i8* %1, %3 + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 5 + %5 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + %6 = load i8, i8* %5, align 1 + %conv = zext i8 %6 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 0 + %7 = load i16, i16* %__modeflags, align 8 + %conv2 = zext i16 %7 to i32 + %and = and i32 %conv2, 131 + %cmp3 = icmp ugt i32 %and, 128 + br i1 %cmp3, label %if.then5, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2r_o(%struct.__STDIO_FILE_STRUCT.568* %8, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end63, label %if.then5 + +if.then5: ; preds = %lor.lhs.false, %if.end + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %9, i32 0, i32 0 + %10 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %10 to i32 + %and8 = and i32 %conv7, 2 + %tobool9 = icmp ne i32 %and8, 0 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %tobool9, label %if.then10, label %if.end18 + +if.then10: ; preds = %if.then5 + %__ungot = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 10 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags11 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags11, align 8 + %dec = add i16 %13, -1 + store i16 %dec, i16* %__modeflags11, align 8 + %conv12 = zext i16 %13 to i32 + %and13 = and i32 %conv12, 1 + %idxprom = sext i32 %and13 to i64 + %arrayidx = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot, i64 0, i64 %idxprom + %14 = load i32, i32* %arrayidx, align 4 + %conv14 = trunc i32 %14 to i8 + store i8 %conv14, i8* %uc, align 1 + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__ungot15 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 10 + %arrayidx16 = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot15, i64 0, i64 1 + store i32 0, i32* %arrayidx16, align 4 + %16 = load i8, i8* %uc, align 1 + %conv17 = zext i8 %16 to i32 + store i32 %conv17, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %if.then5 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 6 + %17 = load i8*, i8** %__bufread, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos19 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 5 + %19 = load i8*, i8** %__bufpos19, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %17 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool20 = icmp ne i64 %sub.ptr.sub, 0 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %tobool20, label %if.then21, label %if.end25 + +if.then21: ; preds = %if.end18 + %__bufpos22 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 5 + %21 = load i8*, i8** %__bufpos22, align 8 + %incdec.ptr23 = getelementptr inbounds i8, i8* %21, i32 1 + store i8* %incdec.ptr23, i8** %__bufpos22, align 8 + %22 = load i8, i8* %21, align 1 + %conv24 = zext i8 %22 to i32 + store i32 %conv24, i32* %retval, align 4 + br label %return + +if.end25: ; preds = %if.end18 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 2 + %23 = load i32, i32* %__filedes, align 4 + %cmp26 = icmp eq i32 %23, -2 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags29 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 0 + %25 = load i16, i16* %__modeflags29, align 8 + %conv30 = zext i16 %25 to i32 + br i1 %cmp26, label %if.then28, label %if.end32 + +if.then28: ; preds = %if.end25 + %or = or i32 %conv30, 4 + %conv31 = trunc i32 %or to i16 + store i16 %conv31, i16* %__modeflags29, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end32: ; preds = %if.end25 + %and35 = and i32 %conv30, 768 + %tobool36 = icmp ne i32 %and35, 0 + br i1 %tobool36, label %if.then37, label %if.end39 + +if.then37: ; preds = %if.end32 + %call38 = call i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.568* bitcast (%struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist to %struct.__STDIO_FILE_STRUCT.568*)) #18 + br label %if.end39 + +if.end39: ; preds = %if.then37, %if.end32 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 4 + %27 = load i8*, i8** %__bufend, align 8 + %28 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %28, i32 0, i32 3 + %29 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast40 = ptrtoint i8* %27 to i64 + %sub.ptr.rhs.cast41 = ptrtoint i8* %29 to i64 + %sub.ptr.sub42 = sub i64 %sub.ptr.lhs.cast40, %sub.ptr.rhs.cast41 + %tobool43 = icmp ne i64 %sub.ptr.sub42, 0 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %tobool43, label %if.then44, label %if.else + +if.then44: ; preds = %if.end39 + %__bufstart45 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %30, i32 0, i32 3 + %31 = load i8*, i8** %__bufstart45, align 8 + %32 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u46 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %32, i32 0, i32 7 + store i8* %31, i8** %__bufgetc_u46, align 8 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call47 = call i64 @__stdio_rfill(%struct.__STDIO_FILE_STRUCT.568* %33) #18 + %tobool48 = icmp ne i64 %call47, 0 + br i1 %tobool48, label %if.then49, label %if.end63 + +if.then49: ; preds = %if.then44 + %34 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread50 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %34, i32 0, i32 6 + %35 = load i8*, i8** %__bufread50, align 8 + %36 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u51 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %36, i32 0, i32 7 + store i8* %35, i8** %__bufgetc_u51, align 8 + %37 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos52 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %37, i32 0, i32 5 + %38 = load i8*, i8** %__bufpos52, align 8 + %incdec.ptr53 = getelementptr inbounds i8, i8* %38, i32 1 + store i8* %incdec.ptr53, i8** %__bufpos52, align 8 + %39 = load i8, i8* %38, align 1 + %conv54 = zext i8 %39 to i32 + store i32 %conv54, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.end39 + %call57 = call i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.568* %30, i8* %uc56, i64 1) #18 + %tobool58 = icmp ne i64 %call57, 0 + br i1 %tobool58, label %if.then59, label %if.end63 + +if.then59: ; preds = %if.else + %40 = load i8, i8* %uc56, align 1 + %conv60 = zext i8 %40 to i32 + store i32 %conv60, i32* %retval, align 4 + br label %return + +if.end63: ; preds = %if.then44, %if.else, %lor.lhs.false + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end63, %if.then59, %if.then49, %if.then28, %if.then21, %if.then10, %if.then + %41 = load i32, i32* %retval, align 4 + ret i32 %41 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @sprintf(i8* noalias %buf, i8* noalias %format, ...) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %format.addr = alloca i8*, align 8 + %arg = alloca [1 x %struct.__va_list_tag.0], align 16 + %rv = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load i8*, i8** %buf.addr, align 8 + %1 = load i8*, i8** %format.addr, align 8 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %call = call i32 @vsnprintf(i8* %0, i64 -1, i8* %1, %struct.__va_list_tag.0* %arraydecay2) #19 + store i32 %call, i32* %rv, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + %2 = load i32, i32* %rv, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @strcmp(i8* nonnull %s1, i8* nonnull %s2) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %r = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + br label %while.cond + +while.cond: ; preds = %land.rhs, %entry + %0 = load i8*, i8** %s1.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = zext i8 %1 to i32 + %2 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %2, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %3 = load i8, i8* %2, align 1 + %conv1 = zext i8 %3 to i32 + %sub = sub nsw i32 %conv, %conv1 + store i32 %sub, i32* %r, align 4 + %cmp = icmp eq i32 %sub, 0 + br i1 %cmp, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %4 = load i8*, i8** %s1.addr, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr3, i8** %s1.addr, align 8 + %5 = load i8, i8* %4, align 1 + %conv4 = sext i8 %5 to i32 + %tobool = icmp ne i32 %conv4, 0 + br i1 %tobool, label %while.cond, label %while.end + +while.end: ; preds = %while.cond, %land.rhs + %6 = load i32, i32* %r, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i64 @strlen(i8* nonnull %s) #14 { +entry: + %s.addr = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load i8*, i8** %p, align 8 + %2 = load i8, i8* %1, align 1 + %tobool = icmp ne i8 %2, 0 + %3 = load i8*, i8** %p, align 8 + br i1 %tobool, label %for.inc, label %for.end + +for.inc: ; preds = %for.cond + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %4 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %3 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %4 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @strncmp(i8* nonnull %s1, i8* nonnull %s2, i64 %n) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i32 0, i32* %r, align 4 + br label %while.cond + +while.cond: ; preds = %land.rhs, %entry + %0 = load i64, i64* %n.addr, align 8 + %dec = add i64 %0, -1 + store i64 %dec, i64* %n.addr, align 8 + %tobool = icmp ne i64 %0, 0 + br i1 %tobool, label %land.lhs.true, label %while.end + +land.lhs.true: ; preds = %while.cond + %1 = load i8*, i8** %s1.addr, align 8 + %2 = load i8, i8* %1, align 1 + %conv = zext i8 %2 to i32 + %3 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %4 = load i8, i8* %3, align 1 + %conv1 = zext i8 %4 to i32 + %sub = sub nsw i32 %conv, %conv1 + store i32 %sub, i32* %r, align 4 + %cmp = icmp eq i32 %sub, 0 + br i1 %cmp, label %land.rhs, label %while.end + +land.rhs: ; preds = %land.lhs.true + %5 = load i8*, i8** %s1.addr, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr3, i8** %s1.addr, align 8 + %6 = load i8, i8* %5, align 1 + %conv4 = sext i8 %6 to i32 + %tobool5 = icmp ne i32 %conv4, 0 + br i1 %tobool5, label %while.cond, label %while.end + +while.end: ; preds = %while.cond, %land.lhs.true, %land.rhs + %7 = load i32, i32* %r, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @isatty(i32 %fd) #0 { +entry: + %fd.addr = alloca i32, align 4 + %term = alloca %struct.termios, align 4 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 @tcgetattr(i32 %0, %struct.termios* %term) #19 + %cmp = icmp eq i32 %call, 0 + %conv = zext i1 %cmp to i32 + ret i32 %conv +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @open64(i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i8*, i8** %pathname.addr, align 8 + %8 = load i32, i32* %flags.addr, align 4 + %9 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_open(i8* %7, i32 %8, i32 %9) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @openat64(i32 %fd, i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %fd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i32, i32* %fd.addr, align 4 + %8 = load i8*, i8** %pathname.addr, align 8 + %9 = load i32, i32* %flags.addr, align 4 + %10 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_openat(i32 %7, i8* %8, i32 %9, i32 %10) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @lseek64(i32 %fd, i64 %offset, i32 %whence) #3 { +entry: + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %offset.addr, align 8 + %2 = load i32, i32* %whence.addr, align 4 + %call = call i64 @__fd_lseek(i32 %0, i64 %1, i32 %2) + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__xstat64(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @stat64(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__lxstat64(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @lstat64(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fxstat64(i32 %vers, i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %vers, i32* %vers.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstat64(i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @ftruncate64(i32 %fd, i64 %length) #3 { +entry: + %fd.addr = alloca i32, align 4 + %length.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %length, i64* %length.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %length.addr, align 8 + %call = call i32 @__fd_ftruncate(i32 %0, i64 %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @statfs64(i8* nonnull %path, %struct.statfs* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.statfs*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.statfs* %buf, %struct.statfs** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.statfs*, %struct.statfs** %buf.addr, align 8 + %call = call i32 @__fd_statfs(i8* %0, %struct.statfs* %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @getdents64(i32 %fd, i8* nonnull %dirp, i64 %count) #3 { +entry: + %fd.addr = alloca i32, align 4 + %dirp.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %dirp, i8** %dirp.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i8*, i8** %dirp.addr, align 8 + %2 = bitcast i8* %1 to %struct.dirent64* + %3 = load i64, i64* %count.addr, align 8 + %conv = trunc i64 %3 to i32 + %call = call i32 @__fd_getdents(i32 %0, %struct.dirent64* %2, i32 %conv) + %conv1 = sext i32 %call to i64 + ret i64 %conv1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @kill(i32 %pid, i32 %sig) #3 { +entry: + %pid.addr = alloca i32, align 4 + %sig.addr = alloca i32, align 4 + store i32 %pid, i32* %pid.addr, align 4 + store i32 %sig, i32* %sig.addr, align 4 + call void @gs_warning.220(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.219, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @gs_warning.220(i8* %message) #3 { +entry: + %message.addr = alloca i8*, align 8 + store i8* %message, i8** %message.addr, align 8 + %0 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %0) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.7.221, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind returns_twice uwtable +define weak dso_local i32 @_setjmp(%struct.__jmp_buf_tag* %__env) #16 { +entry: + %__env.addr = alloca %struct.__jmp_buf_tag*, align 8 + store %struct.__jmp_buf_tag* %__env, %struct.__jmp_buf_tag** %__env.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1.222, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline noreturn nounwind uwtable +define dso_local void @longjmp(%struct.__jmp_buf_tag* %env, i32 %val) #6 { +entry: + %env.addr = alloca %struct.__jmp_buf_tag*, align 8 + %val.addr = alloca i32, align 4 + store %struct.__jmp_buf_tag* %env, %struct.__jmp_buf_tag** %env.addr, align 8 + store i32 %val, i32* %val.addr, align 4 + call void @gs_report_error.226(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.2.223, i64 0, i64 0), i32 37, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.3.224, i64 0, i64 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.4.225, i64 0, i64 0)) #24 + unreachable +} + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error.226(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.7.221, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execl(i8* nonnull %path, i8* nonnull %arg, ...) #3 { +entry: + %path.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + call void @gs_warning.220(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.227, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execlp(i8* nonnull %file, i8* nonnull %arg, ...) #3 { +entry: + %file.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + call void @gs_warning.220(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.227, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execle(i8* nonnull %path, i8* nonnull %arg, ...) #3 { +entry: + %path.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + call void @gs_warning.220(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.227, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execv(i8* nonnull %path, i8** nonnull %argv) #3 { +entry: + %path.addr = alloca i8*, align 8 + %argv.addr = alloca i8**, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + call void @gs_warning.220(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.227, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execvp(i8* nonnull %file, i8** nonnull %argv) #3 { +entry: + %file.addr = alloca i8*, align 8 + %argv.addr = alloca i8**, align 8 + store i8* %file, i8** %file.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + call void @gs_warning.220(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.227, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execve(i8* nonnull %file, i8** nonnull %argv, i8** %envp) #3 { +entry: + %file.addr = alloca i8*, align 8 + %argv.addr = alloca i8**, align 8 + %envp.addr = alloca i8**, align 8 + store i8* %file, i8** %file.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + store i8** %envp, i8*** %envp.addr, align 8 + call void @gs_warning.220(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.227, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fork() #3 { +entry: + call void @gs_warning.220(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.6.228, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 12, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind returns_twice uwtable +define dso_local i32 @vfork() #16 { +entry: + %call = call i32 @fork() #11 + ret i32 %call +} + +; Function Attrs: noinline nounwind readnone uwtable +define i16** @__ctype_b_loc() #12 { +entry: + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 0 + ret i16** %__ctype_b +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @__error(i32 %status, i32 %errnum, i8* %message, ...) #0 { +entry: + %status.addr = alloca i32, align 4 + %errnum.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %args = alloca [1 x %struct.__va_list_tag.0], align 16 + %__S = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %tmp = alloca i32, align 4 + store i32 %status, i32* %status.addr, align 4 + store i32 %errnum, i32* %errnum.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdout, align 8 + %call = call i32 @fflush(%struct.__STDIO_FILE_STRUCT.568* %0) #18 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %2 = load i8*, i8** %message.addr, align 8 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %call3 = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %1, i8* %2, %struct.__va_list_tag.0* %arraydecay2) #18 + %arraydecay4 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay45 = bitcast %struct.__va_list_tag.0* %arraydecay4 to i8* + call void @llvm.va_end(i8* %arraydecay45) + %3 = load i32, i32* @error_message_count, align 4 + %inc = add i32 %3, 1 + store i32 %inc, i32* @error_message_count, align 4 + %4 = load i32, i32* %errnum.addr, align 4 + %tobool = icmp ne i32 %4, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %6 = load i32, i32* %errnum.addr, align 4 + %call6 = call i8* @strerror(i32 %6) #19 + %call7 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %5, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.231, i64 0, i64 0), i8* %call6) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %7, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 5 + %9 = load i8*, i8** %__bufpos, align 8 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 8 + %11 = load i8*, i8** %__bufputc_u, align 8 + %cmp = icmp ult i8* %9, %11 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %if.end + %__bufpos8 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 5 + %13 = load i8*, i8** %__bufpos8, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %13, i32 1 + store i8* %incdec.ptr, i8** %__bufpos8, align 8 + store i8 10, i8* %13, align 1 + br label %cond.end + +cond.false: ; preds = %if.end + %call9 = call i32 @__fputc_unlocked(i32 10, %struct.__STDIO_FILE_STRUCT.568* %12) #18 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ 10, %cond.true ], [ %call9, %cond.false ] + store i32 %cond, i32* %tmp, align 4 + %14 = load i32, i32* %tmp, align 4 + %15 = load i32, i32* %status.addr, align 4 + %tobool10 = icmp ne i32 %15, 0 + br i1 %tobool10, label %if.then11, label %if.end12 + +if.then11: ; preds = %cond.end + %16 = load i32, i32* %status.addr, align 4 + call void @exit(i32 %16) #22 + unreachable + +if.end12: ; preds = %cond.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @__error_at_line(i32 %status, i32 %errnum, i8* %file_name, i32 %line_number, i8* %message, ...) #0 { +entry: + %status.addr = alloca i32, align 4 + %errnum.addr = alloca i32, align 4 + %file_name.addr = alloca i8*, align 8 + %line_number.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %args = alloca [1 x %struct.__va_list_tag.0], align 16 + %__S = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %tmp = alloca i32, align 4 + store i32 %status, i32* %status.addr, align 4 + store i32 %errnum, i32* %errnum.addr, align 4 + store i8* %file_name, i8** %file_name.addr, align 8 + store i32 %line_number, i32* %line_number.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + %0 = load i32, i32* @error_one_per_line, align 4 + %tobool = icmp ne i32 %0, 0 + br i1 %tobool, label %if.then, label %if.end4 + +if.then: ; preds = %entry + %1 = load i32, i32* @__error_at_line.old_line_number, align 4 + %2 = load i32, i32* %line_number.addr, align 4 + %cmp = icmp eq i32 %1, %2 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %if.then + %3 = load i8*, i8** %file_name.addr, align 8 + %4 = load i8*, i8** @__error_at_line.old_file_name, align 8 + %cmp1 = icmp eq i8* %3, %4 + br i1 %cmp1, label %if.end25, label %lor.lhs.false + +lor.lhs.false: ; preds = %land.lhs.true + %5 = load i8*, i8** @__error_at_line.old_file_name, align 8 + %6 = load i8*, i8** %file_name.addr, align 8 + %call = call i32 @strcmp(i8* %5, i8* %6) #20 + %tobool2 = icmp ne i32 %call, 0 + br i1 %tobool2, label %if.end, label %if.end25 + +if.end: ; preds = %lor.lhs.false, %if.then + %7 = load i8*, i8** %file_name.addr, align 8 + store i8* %7, i8** @__error_at_line.old_file_name, align 8 + %8 = load i32, i32* %line_number.addr, align 4 + store i32 %8, i32* @__error_at_line.old_line_number, align 4 + br label %if.end4 + +if.end4: ; preds = %if.end, %entry + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdout, align 8 + %call5 = call i32 @fflush(%struct.__STDIO_FILE_STRUCT.568* %9) #18 + %10 = load i8*, i8** %file_name.addr, align 8 + %cmp6 = icmp ne i8* %10, null + br i1 %cmp6, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end4 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %12 = load i8*, i8** %file_name.addr, align 8 + %13 = load i32, i32* %line_number.addr, align 4 + %call8 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %11, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1.232, i64 0, i64 0), i8* %12, i32 %13) #18 + br label %if.end9 + +if.end9: ; preds = %if.then7, %if.end4 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay10 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay10) + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %15 = load i8*, i8** %message.addr, align 8 + %arraydecay11 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %call12 = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %14, i8* %15, %struct.__va_list_tag.0* %arraydecay11) #18 + %arraydecay13 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay1314 = bitcast %struct.__va_list_tag.0* %arraydecay13 to i8* + call void @llvm.va_end(i8* %arraydecay1314) + %16 = load i32, i32* @error_message_count, align 4 + %inc = add i32 %16, 1 + store i32 %inc, i32* @error_message_count, align 4 + %17 = load i32, i32* %errnum.addr, align 4 + %tobool15 = icmp ne i32 %17, 0 + br i1 %tobool15, label %if.then16, label %if.end19 + +if.then16: ; preds = %if.end9 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %19 = load i32, i32* %errnum.addr, align 4 + %call17 = call i8* @strerror(i32 %19) #19 + %call18 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %18, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.231, i64 0, i64 0), i8* %call17) #18 + br label %if.end19 + +if.end19: ; preds = %if.then16, %if.end9 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %20, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %21 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %21, i32 0, i32 5 + %22 = load i8*, i8** %__bufpos, align 8 + %23 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %23, i32 0, i32 8 + %24 = load i8*, i8** %__bufputc_u, align 8 + %cmp20 = icmp ult i8* %22, %24 + %25 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + br i1 %cmp20, label %cond.true, label %cond.false + +cond.true: ; preds = %if.end19 + %__bufpos21 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %25, i32 0, i32 5 + %26 = load i8*, i8** %__bufpos21, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %26, i32 1 + store i8* %incdec.ptr, i8** %__bufpos21, align 8 + store i8 10, i8* %26, align 1 + br label %cond.end + +cond.false: ; preds = %if.end19 + %call22 = call i32 @__fputc_unlocked(i32 10, %struct.__STDIO_FILE_STRUCT.568* %25) #18 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ 10, %cond.true ], [ %call22, %cond.false ] + store i32 %cond, i32* %tmp, align 4 + %27 = load i32, i32* %tmp, align 4 + %28 = load i32, i32* %status.addr, align 4 + %tobool23 = icmp ne i32 %28, 0 + br i1 %tobool23, label %if.then24, label %if.end25 + +if.then24: ; preds = %cond.end + %29 = load i32, i32* %status.addr, align 4 + call void @exit(i32 %29) #22 + unreachable + +if.end25: ; preds = %land.lhs.true, %lor.lhs.false, %cond.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i8* @nl_langinfo(i32 %item) #0 { +entry: + %item.addr = alloca i32, align 4 + store i32 %item, i32* %item.addr, align 4 + %0 = load i32, i32* %item.addr, align 4 + %1 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %call = call i8* @nl_langinfo_l(i32 %0, %struct.__uclibc_locale_struct.201* %1) #18 + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define i8* @setlocale(i32 %category, i8* %locale) #0 { +entry: + %retval = alloca i8*, align 8 + %category.addr = alloca i32, align 4 + %locale.addr = alloca i8*, align 8 + store i32 %category, i32* %category.addr, align 4 + store i8* %locale, i8** %locale.addr, align 8 + %0 = load i32, i32* %category.addr, align 4 + %cmp = icmp ugt i32 %0, 6 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %locale.addr, align 8 + %cmp1 = icmp ne i8* %1, null + br i1 %cmp1, label %if.then2, label %if.end5 + +if.then2: ; preds = %if.end + %2 = load i32, i32* %category.addr, align 4 + %shl = shl i32 1, %2 + %3 = load i8*, i8** %locale.addr, align 8 + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__global_locale, align 8 + %call = call %struct.__uclibc_locale_struct.201* @newlocale(i32 %shl, i8* %3, %struct.__uclibc_locale_struct.201* %4) #19 + %tobool = icmp ne %struct.__uclibc_locale_struct.201* %call, null + br i1 %tobool, label %if.end4, label %if.then3 + +if.then3: ; preds = %if.then2 + store i8* null, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %if.then2 + %5 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__global_locale, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %5, i32 0, i32 6 + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + call void @update_hr_locale(i8* %arraydecay) #18 + br label %if.end5 + +if.end5: ; preds = %if.end4, %if.end + %6 = load i32, i32* %category.addr, align 4 + %mul = mul nsw i32 %6, 32 + %idx.ext = sext i32 %mul to i64 + %add.ptr = getelementptr inbounds i8, i8* getelementptr inbounds ([448 x i8], [448 x i8]* @hr_locale, i64 0, i64 0), i64 %idx.ext + store i8* %add.ptr, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %7 = load i8*, i8** %retval, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @update_hr_locale(i8* %spec) #0 { +entry: + %spec.addr = alloca i8*, align 8 + %loc = alloca i8*, align 8 + %s = alloca i8*, align 8 + %n = alloca i8*, align 8 + %i = alloca i32, align 4 + %category = alloca i32, align 4 + %done = alloca i32, align 4 + %at = alloca i8, align 1 + %q = alloca i8*, align 8 + store i8* %spec, i8** %spec.addr, align 8 + store i32 0, i32* %category, align 4 + store i32 0, i32* %done, align 4 + br label %do.body + +do.body: ; preds = %do.end127, %entry + %0 = load i8*, i8** %spec.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %0, i64 1 + store i8* %add.ptr, i8** %s, align 8 + %1 = load i32, i32* %category, align 4 + %mul = mul nsw i32 %1, 32 + %idx.ext = sext i32 %mul to i64 + %add.ptr1 = getelementptr inbounds i8, i8* getelementptr inbounds ([448 x i8], [448 x i8]* @hr_locale, i64 0, i64 0), i64 %idx.ext + store i8* %add.ptr1, i8** %n, align 8 + %2 = load i32, i32* %category, align 4 + %cmp = icmp eq i32 %2, 6 + br i1 %cmp, label %if.then, label %SKIP + +if.then: ; preds = %do.body + store i32 1, i32* %done, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.then + %3 = load i32, i32* %i, align 4 + %cmp2 = icmp slt i32 %3, 5 + br i1 %cmp2, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %4 = load i8*, i8** %s, align 8 + %5 = load i32, i32* %i, align 4 + %idxprom = sext i32 %5 to i64 + %arrayidx = getelementptr inbounds i8, i8* %4, i64 %idxprom + %6 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %6 to i32 + %7 = load i8*, i8** %s, align 8 + %8 = load i32, i32* %i, align 4 + %add = add nsw i32 %8, 2 + %idxprom3 = sext i32 %add to i64 + %arrayidx4 = getelementptr inbounds i8, i8* %7, i64 %idxprom3 + %9 = load i8, i8* %arrayidx4, align 1 + %conv5 = zext i8 %9 to i32 + %cmp6 = icmp ne i32 %conv, %conv5 + br i1 %cmp6, label %SKIP, label %lor.lhs.false + +lor.lhs.false: ; preds = %for.body + %10 = load i8*, i8** %s, align 8 + %11 = load i32, i32* %i, align 4 + %add8 = add nsw i32 %11, 1 + %idxprom9 = sext i32 %add8 to i64 + %arrayidx10 = getelementptr inbounds i8, i8* %10, i64 %idxprom9 + %12 = load i8, i8* %arrayidx10, align 1 + %conv11 = zext i8 %12 to i32 + %13 = load i8*, i8** %s, align 8 + %14 = load i32, i32* %i, align 4 + %add12 = add nsw i32 %14, 3 + %idxprom13 = sext i32 %add12 to i64 + %arrayidx14 = getelementptr inbounds i8, i8* %13, i64 %idxprom13 + %15 = load i8, i8* %arrayidx14, align 1 + %conv15 = zext i8 %15 to i32 + %cmp16 = icmp ne i32 %conv11, %conv15 + br i1 %cmp16, label %SKIP, label %for.inc + +for.inc: ; preds = %lor.lhs.false + %16 = load i32, i32* %i, align 4 + %add19 = add nsw i32 %16, 2 + store i32 %add19, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + store i32 0, i32* %category, align 4 + br label %SKIP + +SKIP: ; preds = %do.body, %for.end, %for.body, %lor.lhs.false + %17 = load i32, i32* %category, align 4 + %cmp21 = icmp eq i32 %17, 6 + %18 = load i32, i32* %category, align 4 + %cond = select i1 %cmp21, i32 0, i32 %18 + store i32 %cond, i32* %i, align 4 + %19 = load i32, i32* %i, align 4 + %mul23 = mul nsw i32 2, %19 + %20 = load i8*, i8** %s, align 8 + %idx.ext24 = sext i32 %mul23 to i64 + %add.ptr25 = getelementptr inbounds i8, i8* %20, i64 %idx.ext24 + store i8* %add.ptr25, i8** %s, align 8 + br label %do.body26 + +do.body26: ; preds = %if.end122, %SKIP + %21 = load i8*, i8** %s, align 8 + %22 = load i8, i8* %21, align 1 + %conv27 = zext i8 %22 to i32 + %cmp28 = icmp ne i32 %conv27, 255 + br i1 %cmp28, label %if.then35, label %lor.lhs.false30 + +lor.lhs.false30: ; preds = %do.body26 + %23 = load i8*, i8** %s, align 8 + %arrayidx31 = getelementptr inbounds i8, i8* %23, i64 1 + %24 = load i8, i8* %arrayidx31, align 1 + %conv32 = zext i8 %24 to i32 + %cmp33 = icmp ne i32 %conv32, 255 + br i1 %cmp33, label %if.then35, label %if.end122 + +if.then35: ; preds = %lor.lhs.false30, %do.body26 + %25 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %25, i32 0, i32 31 + %arraydecay = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales, i64 0, i64 0 + %26 = load i8*, i8** %s, align 8 + %27 = load i8, i8* %26, align 1 + %conv36 = zext i8 %27 to i32 + %and = and i32 %conv36, 127 + %shl = shl i32 %and, 7 + %28 = load i8*, i8** %s, align 8 + %arrayidx37 = getelementptr inbounds i8, i8* %28, i64 1 + %29 = load i8, i8* %arrayidx37, align 1 + %conv38 = zext i8 %29 to i32 + %and39 = and i32 %conv38, 127 + %add40 = add nsw i32 %shl, %and39 + %mul41 = mul nsw i32 9, %add40 + %idx.ext42 = sext i32 %mul41 to i64 + %add.ptr43 = getelementptr inbounds i8, i8* %arraydecay, i64 %idx.ext42 + store i8* %add.ptr43, i8** %loc, align 8 + %30 = load i32, i32* %category, align 4 + %cmp44 = icmp eq i32 %30, 6 + br i1 %cmp44, label %if.then46, label %if.end54 + +if.then46: ; preds = %if.then35 + %31 = load i8*, i8** %n, align 8 + %32 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %32, i32 0, i32 34 + %arraydecay47 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names, i64 0, i64 0 + %33 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names48 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %33, i32 0, i32 34 + %34 = load i32, i32* %i, align 4 + %idxprom49 = sext i32 %34 to i64 + %arrayidx50 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names48, i64 0, i64 %idxprom49 + %35 = load i8, i8* %arrayidx50, align 1 + %conv51 = zext i8 %35 to i32 + %idx.ext52 = sext i32 %conv51 to i64 + %add.ptr53 = getelementptr inbounds i8, i8* %arraydecay47, i64 %idx.ext52 + %call = call i8* @stpcpy(i8* %31, i8* %add.ptr53) #19 + store i8* %call, i8** %n, align 8 + %36 = load i8*, i8** %n, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %36, i32 1 + store i8* %incdec.ptr, i8** %n, align 8 + store i8 61, i8* %36, align 1 + br label %if.end54 + +if.end54: ; preds = %if.then46, %if.then35 + %37 = load i8*, i8** %loc, align 8 + %38 = load i8, i8* %37, align 1 + %conv55 = zext i8 %38 to i32 + %cmp56 = icmp eq i32 %conv55, 0 + br i1 %cmp56, label %if.then58, label %if.else + +if.then58: ; preds = %if.end54 + %39 = load i8*, i8** %n, align 8 + %incdec.ptr59 = getelementptr inbounds i8, i8* %39, i32 1 + store i8* %incdec.ptr59, i8** %n, align 8 + store i8 67, i8* %39, align 1 + %40 = load i8*, i8** %n, align 8 + store i8 0, i8* %40, align 1 + br label %if.end120 + +if.else: ; preds = %if.end54 + store i8 0, i8* %at, align 1 + %41 = load i8*, i8** %n, align 8 + %42 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_names5 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %42, i32 0, i32 32 + %arraydecay60 = getelementptr inbounds [835 x i8], [835 x i8]* %locale_names5, i64 0, i64 0 + %43 = load i8*, i8** %loc, align 8 + %44 = load i8, i8* %43, align 1 + %conv61 = zext i8 %44 to i32 + %sub = sub nsw i32 %conv61, 1 + %mul62 = mul nsw i32 5, %sub + %idx.ext63 = sext i32 %mul62 to i64 + %add.ptr64 = getelementptr inbounds i8, i8* %arraydecay60, i64 %idx.ext63 + %call65 = call i8* @memcpy(i8* %41, i8* %add.ptr64, i64 5) #19 + %45 = load i8*, i8** %n, align 8 + %arrayidx66 = getelementptr inbounds i8, i8* %45, i64 2 + %46 = load i8, i8* %arrayidx66, align 1 + %conv67 = sext i8 %46 to i32 + %cmp68 = icmp ne i32 %conv67, 95 + br i1 %cmp68, label %if.then70, label %if.end73 + +if.then70: ; preds = %if.else + %47 = load i8*, i8** %n, align 8 + %arrayidx71 = getelementptr inbounds i8, i8* %47, i64 2 + %48 = load i8, i8* %arrayidx71, align 1 + store i8 %48, i8* %at, align 1 + %49 = load i8*, i8** %n, align 8 + %arrayidx72 = getelementptr inbounds i8, i8* %49, i64 2 + store i8 95, i8* %arrayidx72, align 1 + br label %if.end73 + +if.end73: ; preds = %if.then70, %if.else + %50 = load i8*, i8** %n, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %50, i64 5 + store i8* %add.ptr74, i8** %n, align 8 + %51 = load i8*, i8** %n, align 8 + %incdec.ptr75 = getelementptr inbounds i8, i8* %51, i32 1 + store i8* %incdec.ptr75, i8** %n, align 8 + store i8 46, i8* %51, align 1 + %52 = load i8*, i8** %loc, align 8 + %arrayidx76 = getelementptr inbounds i8, i8* %52, i64 2 + %53 = load i8, i8* %arrayidx76, align 1 + %conv77 = zext i8 %53 to i32 + %cmp78 = icmp eq i32 %conv77, 2 + br i1 %cmp78, label %if.then80, label %if.else82 + +if.then80: ; preds = %if.end73 + %54 = load i8*, i8** %n, align 8 + %call81 = call i8* @stpcpy(i8* %54, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf8.239, i64 0, i64 0)) #19 + store i8* %call81, i8** %n, align 8 + br label %if.end100 + +if.else82: ; preds = %if.end73 + %55 = load i8*, i8** %loc, align 8 + %arrayidx83 = getelementptr inbounds i8, i8* %55, i64 2 + %56 = load i8, i8* %arrayidx83, align 1 + %conv84 = zext i8 %56 to i32 + %cmp85 = icmp sge i32 %conv84, 3 + br i1 %cmp85, label %if.then87, label %if.end100 + +if.then87: ; preds = %if.else82 + %57 = load i8*, i8** %n, align 8 + %58 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %58, i32 0, i32 35 + %arraydecay88 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list, i64 0, i64 0 + %59 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list89 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %59, i32 0, i32 35 + %60 = load i8*, i8** %loc, align 8 + %arrayidx90 = getelementptr inbounds i8, i8* %60, i64 2 + %61 = load i8, i8* %arrayidx90, align 1 + %conv91 = zext i8 %61 to i32 + %sub92 = sub nsw i32 %conv91, 3 + %idxprom93 = sext i32 %sub92 to i64 + %arrayidx94 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list89, i64 0, i64 %idxprom93 + %62 = load i8, i8* %arrayidx94, align 1 + %conv95 = zext i8 %62 to i32 + %idx.ext96 = sext i32 %conv95 to i64 + %add.ptr97 = getelementptr inbounds i8, i8* %arraydecay88, i64 %idx.ext96 + %call98 = call i8* @stpcpy(i8* %57, i8* %add.ptr97) #19 + store i8* %call98, i8** %n, align 8 + br label %if.end100 + +if.end100: ; preds = %if.else82, %if.then87, %if.then80 + %63 = load i8, i8* %at, align 1 + %tobool = icmp ne i8 %63, 0 + br i1 %tobool, label %if.then101, label %if.end120 + +if.then101: ; preds = %if.end100 + %64 = load i8*, i8** %n, align 8 + %incdec.ptr102 = getelementptr inbounds i8, i8* %64, i32 1 + store i8* %incdec.ptr102, i8** %n, align 8 + store i8 64, i8* %64, align 1 + %65 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_at_modifiers = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %65, i32 0, i32 33 + %arraydecay103 = getelementptr inbounds [18 x i8], [18 x i8]* %locale_at_modifiers, i64 0, i64 0 + store i8* %arraydecay103, i8** %q, align 8 + br label %do.body104 + +do.body104: ; preds = %if.end113, %if.then101 + %66 = load i8*, i8** %q, align 8 + %arrayidx105 = getelementptr inbounds i8, i8* %66, i64 1 + %67 = load i8, i8* %arrayidx105, align 1 + %conv106 = sext i8 %67 to i32 + %68 = load i8, i8* %at, align 1 + %conv107 = sext i8 %68 to i32 + %cmp108 = icmp eq i32 %conv106, %conv107 + br i1 %cmp108, label %if.then110, label %if.end113 + +if.then110: ; preds = %do.body104 + %69 = load i8*, i8** %n, align 8 + %70 = load i8*, i8** %q, align 8 + %add.ptr111 = getelementptr inbounds i8, i8* %70, i64 2 + %call112 = call i8* @stpcpy(i8* %69, i8* %add.ptr111) #19 + store i8* %call112, i8** %n, align 8 + br label %if.end120 + +if.end113: ; preds = %do.body104 + %71 = load i8*, i8** %q, align 8 + %72 = load i8, i8* %71, align 1 + %conv114 = sext i8 %72 to i32 + %add115 = add nsw i32 2, %conv114 + %73 = load i8*, i8** %q, align 8 + %idx.ext116 = sext i32 %add115 to i64 + %add.ptr117 = getelementptr inbounds i8, i8* %73, i64 %idx.ext116 + store i8* %add.ptr117, i8** %q, align 8 + %74 = load i8*, i8** %q, align 8 + %75 = load i8, i8* %74, align 1 + %tobool118 = icmp ne i8 %75, 0 + br i1 %tobool118, label %do.body104, label %if.end120 + +if.end120: ; preds = %if.end100, %if.end113, %if.then110, %if.then58 + %76 = load i8*, i8** %n, align 8 + %incdec.ptr121 = getelementptr inbounds i8, i8* %76, i32 1 + store i8* %incdec.ptr121, i8** %n, align 8 + store i8 59, i8* %76, align 1 + br label %if.end122 + +if.end122: ; preds = %if.end120, %lor.lhs.false30 + %77 = load i8*, i8** %s, align 8 + %add.ptr123 = getelementptr inbounds i8, i8* %77, i64 2 + store i8* %add.ptr123, i8** %s, align 8 + %78 = load i32, i32* %i, align 4 + %inc = add nsw i32 %78, 1 + store i32 %inc, i32* %i, align 4 + %79 = load i32, i32* %category, align 4 + %cmp125 = icmp slt i32 %inc, %79 + br i1 %cmp125, label %do.body26, label %do.end127 + +do.end127: ; preds = %if.end122 + %80 = load i8*, i8** %n, align 8 + %incdec.ptr128 = getelementptr inbounds i8, i8* %80, i32 -1 + store i8* %incdec.ptr128, i8** %n, align 8 + store i8 0, i8* %incdec.ptr128, align 1 + %81 = load i32, i32* %category, align 4 + %inc129 = add nsw i32 %81, 1 + store i32 %inc129, i32* %category, align 4 + %82 = load i32, i32* %done, align 4 + %tobool131 = icmp ne i32 %82, 0 + %lnot = xor i1 %tobool131, true + br i1 %lnot, label %do.body, label %do.end132 + +do.end132: ; preds = %do.end127 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define void @setutent() #0 { +entry: + call void @__setutent() #18 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__setutent() #0 { +entry: + %ret = alloca i32, align 4 + %0 = load i32, i32* @static_fd, align 4 + %cmp = icmp eq i32 %0, -1 + br i1 %cmp, label %if.then, label %if.end16 + +if.then: ; preds = %entry + %1 = load i8*, i8** @static_ut_name, align 8 + %call = call i32 (i8*, i32, ...) @open(i8* %1, i32 2) #18 + store i32 %call, i32* @static_fd, align 4 + %cmp1 = icmp slt i32 %call, 0 + br i1 %cmp1, label %if.then2, label %if.end6 + +if.then2: ; preds = %if.then + %2 = load i8*, i8** @static_ut_name, align 8 + %call3 = call i32 (i8*, i32, ...) @open(i8* %2, i32 0) #18 + store i32 %call3, i32* @static_fd, align 4 + %cmp4 = icmp slt i32 %call3, 0 + br i1 %cmp4, label %bummer, label %if.end6 + +if.end6: ; preds = %if.then2, %if.then + %3 = load i32, i32* @static_fd, align 4 + %call7 = call i32 (i32, i32, ...) @fcntl(i32 %3, i32 1, i32 0) #18 + store i32 %call7, i32* %ret, align 4 + %4 = load i32, i32* %ret, align 4 + %cmp8 = icmp sge i32 %4, 0 + br i1 %cmp8, label %if.then9, label %if.end11 + +if.then9: ; preds = %if.end6 + %5 = load i32, i32* @static_fd, align 4 + %6 = load i32, i32* %ret, align 4 + %or = or i32 %6, 1 + %call10 = call i32 (i32, i32, ...) @fcntl(i32 %5, i32 2, i32 %or) #18 + store i32 %call10, i32* %ret, align 4 + br label %if.end11 + +if.end11: ; preds = %if.then9, %if.end6 + %7 = load i32, i32* %ret, align 4 + %cmp12 = icmp slt i32 %7, 0 + br i1 %cmp12, label %bummer, label %if.end16 + +bummer: ; preds = %if.end11, %if.then2 + store i32 -1, i32* @static_fd, align 4 + %8 = load i32, i32* @static_fd, align 4 + %call14 = call i32 @close(i32 %8) #18 + br label %return + +if.end16: ; preds = %if.end11, %entry + %9 = load i32, i32* @static_fd, align 4 + %call17 = call i64 @lseek(i32 %9, i64 0, i32 0) #19 + br label %return + +return: ; preds = %if.end16, %bummer + ret void +} + +; Function Attrs: noinline nounwind uwtable +define void @endutent() #0 { +entry: + %0 = load i32, i32* @static_fd, align 4 + %cmp = icmp ne i32 %0, -1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load i32, i32* @static_fd, align 4 + %call = call i32 @close(i32 %1) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + store i32 -1, i32* @static_fd, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @getutent() #0 { +entry: + %ret = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* null, %struct.utmp.323** %ret, align 8 + %0 = load i32, i32* @static_fd, align 4 + %call = call %struct.utmp.323* @__getutent(i32 %0) #18 + store %struct.utmp.323* %call, %struct.utmp.323** %ret, align 8 + %1 = load %struct.utmp.323*, %struct.utmp.323** %ret, align 8 + ret %struct.utmp.323* %1 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.utmp.323* @__getutent(i32 %utmp_fd) #0 { +entry: + %retval = alloca %struct.utmp.323*, align 8 + %utmp_fd.addr = alloca i32, align 4 + %ret = alloca %struct.utmp.323*, align 8 + store i32 %utmp_fd, i32* %utmp_fd.addr, align 4 + store %struct.utmp.323* null, %struct.utmp.323** %ret, align 8 + %0 = load i32, i32* %utmp_fd.addr, align 4 + %cmp = icmp eq i32 %0, -1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @__setutent() #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i32, i32* %utmp_fd.addr, align 4 + %cmp1 = icmp eq i32 %1, -1 + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + store %struct.utmp.323* null, %struct.utmp.323** %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %2 = load i32, i32* %utmp_fd.addr, align 4 + %call = call i64 @read(i32 %2, i8* bitcast (%struct.utmp.323* @static_utmp to i8*), i64 400) #18 + %cmp4 = icmp eq i64 %call, 400 + br i1 %cmp4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end3 + store %struct.utmp.323* @static_utmp, %struct.utmp.323** %ret, align 8 + br label %if.end6 + +if.end6: ; preds = %if.then5, %if.end3 + %3 = load %struct.utmp.323*, %struct.utmp.323** %ret, align 8 + store %struct.utmp.323* %3, %struct.utmp.323** %retval, align 8 + br label %return + +return: ; preds = %if.end6, %if.then2 + %4 = load %struct.utmp.323*, %struct.utmp.323** %retval, align 8 + ret %struct.utmp.323* %4 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @getutid(%struct.utmp.323* %utmp_entry) #0 { +entry: + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + %ret = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + store %struct.utmp.323* null, %struct.utmp.323** %ret, align 8 + %0 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %call = call %struct.utmp.323* @__getutid(%struct.utmp.323* %0) #18 + store %struct.utmp.323* %call, %struct.utmp.323** %ret, align 8 + %1 = load %struct.utmp.323*, %struct.utmp.323** %ret, align 8 + ret %struct.utmp.323* %1 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.utmp.323* @__getutid(%struct.utmp.323* %utmp_entry) #0 { +entry: + %retval = alloca %struct.utmp.323*, align 8 + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + %lutmp = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end47, %entry + %0 = load i32, i32* @static_fd, align 4 + %call = call %struct.utmp.323* @__getutent(i32 %0) #18 + store %struct.utmp.323* %call, %struct.utmp.323** %lutmp, align 8 + %cmp = icmp ne %struct.utmp.323* %call, null + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %1 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %1, i32 0, i32 0 + %2 = load i16, i16* %ut_type, align 8 + %conv = sext i16 %2 to i32 + %cmp1 = icmp eq i32 %conv, 1 + br i1 %cmp1, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.body + %3 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type3 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %3, i32 0, i32 0 + %4 = load i16, i16* %ut_type3, align 8 + %conv4 = sext i16 %4 to i32 + %cmp5 = icmp eq i32 %conv4, 2 + br i1 %cmp5, label %land.lhs.true, label %lor.lhs.false7 + +lor.lhs.false7: ; preds = %lor.lhs.false + %5 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type8 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %5, i32 0, i32 0 + %6 = load i16, i16* %ut_type8, align 8 + %conv9 = sext i16 %6 to i32 + %cmp10 = icmp eq i32 %conv9, 3 + br i1 %cmp10, label %land.lhs.true, label %lor.lhs.false12 + +lor.lhs.false12: ; preds = %lor.lhs.false7 + %7 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type13 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %7, i32 0, i32 0 + %8 = load i16, i16* %ut_type13, align 8 + %conv14 = sext i16 %8 to i32 + %cmp15 = icmp eq i32 %conv14, 4 + br i1 %cmp15, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %lor.lhs.false12, %lor.lhs.false7, %lor.lhs.false, %while.body + %9 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_type17 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %9, i32 0, i32 0 + %10 = load i16, i16* %ut_type17, align 8 + %conv18 = sext i16 %10 to i32 + %11 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type19 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %11, i32 0, i32 0 + %12 = load i16, i16* %ut_type19, align 8 + %conv20 = sext i16 %12 to i32 + %cmp21 = icmp eq i32 %conv18, %conv20 + br i1 %cmp21, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %13 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + store %struct.utmp.323* %13, %struct.utmp.323** %retval, align 8 + br label %return + +if.end: ; preds = %land.lhs.true, %lor.lhs.false12 + %14 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type23 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %14, i32 0, i32 0 + %15 = load i16, i16* %ut_type23, align 8 + %conv24 = sext i16 %15 to i32 + %cmp25 = icmp eq i32 %conv24, 5 + br i1 %cmp25, label %land.lhs.true42, label %lor.lhs.false27 + +lor.lhs.false27: ; preds = %if.end + %16 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type28 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %16, i32 0, i32 0 + %17 = load i16, i16* %ut_type28, align 8 + %conv29 = sext i16 %17 to i32 + %cmp30 = icmp eq i32 %conv29, 8 + br i1 %cmp30, label %land.lhs.true42, label %lor.lhs.false32 + +lor.lhs.false32: ; preds = %lor.lhs.false27 + %18 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type33 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %18, i32 0, i32 0 + %19 = load i16, i16* %ut_type33, align 8 + %conv34 = sext i16 %19 to i32 + %cmp35 = icmp eq i32 %conv34, 6 + br i1 %cmp35, label %land.lhs.true42, label %lor.lhs.false37 + +lor.lhs.false37: ; preds = %lor.lhs.false32 + %20 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type38 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %20, i32 0, i32 0 + %21 = load i16, i16* %ut_type38, align 8 + %conv39 = sext i16 %21 to i32 + %cmp40 = icmp eq i32 %conv39, 7 + br i1 %cmp40, label %land.lhs.true42, label %if.end47 + +land.lhs.true42: ; preds = %lor.lhs.false37, %lor.lhs.false32, %lor.lhs.false27, %if.end + %22 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_id = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %22, i32 0, i32 3 + %arraydecay = getelementptr inbounds [4 x i8], [4 x i8]* %ut_id, i64 0, i64 0 + %23 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_id43 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %23, i32 0, i32 3 + %arraydecay44 = getelementptr inbounds [4 x i8], [4 x i8]* %ut_id43, i64 0, i64 0 + %call45 = call i32 @strncmp(i8* %arraydecay, i8* %arraydecay44, i64 4) #20 + %tobool = icmp ne i32 %call45, 0 + br i1 %tobool, label %if.end47, label %if.then46 + +if.then46: ; preds = %land.lhs.true42 + %24 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + store %struct.utmp.323* %24, %struct.utmp.323** %retval, align 8 + br label %return + +if.end47: ; preds = %land.lhs.true42, %lor.lhs.false37 + br label %while.cond + +while.end: ; preds = %while.cond + store %struct.utmp.323* null, %struct.utmp.323** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then46, %if.then + %25 = load %struct.utmp.323*, %struct.utmp.323** %retval, align 8 + ret %struct.utmp.323* %25 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @getutline(%struct.utmp.323* %utmp_entry) #0 { +entry: + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + %lutmp = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + store %struct.utmp.323* null, %struct.utmp.323** %lutmp, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %0 = load i32, i32* @static_fd, align 4 + %call = call %struct.utmp.323* @__getutent(i32 %0) #18 + store %struct.utmp.323* %call, %struct.utmp.323** %lutmp, align 8 + %cmp = icmp ne %struct.utmp.323* %call, null + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %1 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_type = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %1, i32 0, i32 0 + %2 = load i16, i16* %ut_type, align 8 + %conv = sext i16 %2 to i32 + %cmp1 = icmp eq i32 %conv, 7 + br i1 %cmp1, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.body + %3 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_type3 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %3, i32 0, i32 0 + %4 = load i16, i16* %ut_type3, align 8 + %conv4 = sext i16 %4 to i32 + %cmp5 = icmp eq i32 %conv4, 6 + br i1 %cmp5, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %lor.lhs.false, %while.body + %5 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_line = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %5, i32 0, i32 2 + %arraydecay = getelementptr inbounds [32 x i8], [32 x i8]* %ut_line, i64 0, i64 0 + %6 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_line7 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %6, i32 0, i32 2 + %arraydecay8 = getelementptr inbounds [32 x i8], [32 x i8]* %ut_line7, i64 0, i64 0 + %call9 = call i32 @strcmp(i8* %arraydecay, i8* %arraydecay8) #20 + %tobool = icmp ne i32 %call9, 0 + br i1 %tobool, label %if.end, label %while.end + +if.end: ; preds = %land.lhs.true, %lor.lhs.false + br label %while.cond + +while.end: ; preds = %land.lhs.true, %while.cond + %7 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + ret %struct.utmp.323* %7 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @pututline(%struct.utmp.323* %utmp_entry) #0 { +entry: + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + %0 = load i32, i32* @static_fd, align 4 + %call = call i64 @lseek(i32 %0, i64 -400, i32 1) #19 + %1 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %call1 = call %struct.utmp.323* @__getutid(%struct.utmp.323* %1) #18 + %cmp = icmp ne %struct.utmp.323* %call1, null + %2 = load i32, i32* @static_fd, align 4 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %call2 = call i64 @lseek(i32 %2, i64 -400, i32 1) #19 + br label %if.end + +if.else: ; preds = %entry + %call3 = call i64 @lseek(i32 %2, i64 0, i32 2) #19 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %3 = load i32, i32* @static_fd, align 4 + %4 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %5 = bitcast %struct.utmp.323* %4 to i8* + %call4 = call i64 @write(i32 %3, i8* %5, i64 400) #18 + %cmp5 = icmp ne i64 %call4, 400 + br i1 %cmp5, label %if.then6, label %if.end7 + +if.then6: ; preds = %if.end + store %struct.utmp.323* null, %struct.utmp.323** %utmp_entry.addr, align 8 + br label %if.end7 + +if.end7: ; preds = %if.then6, %if.end + %6 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + ret %struct.utmp.323* %6 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @utmpname(i8* %new_ut_name) #0 { +entry: + %new_ut_name.addr = alloca i8*, align 8 + store i8* %new_ut_name, i8** %new_ut_name.addr, align 8 + %0 = load i8*, i8** %new_ut_name.addr, align 8 + %cmp = icmp ne i8* %0, null + br i1 %cmp, label %if.then, label %if.end6 + +if.then: ; preds = %entry + %1 = load i8*, i8** @static_ut_name, align 8 + %cmp1 = icmp ne i8* %1, getelementptr inbounds ([14 x i8], [14 x i8]* @default_file_name, i64 0, i64 0) + br i1 %cmp1, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + %2 = load i8*, i8** @static_ut_name, align 8 + call void @free(i8* %2) #19 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %3 = load i8*, i8** %new_ut_name.addr, align 8 + %call = call noalias i8* @strdup(i8* %3) #19 + store i8* %call, i8** @static_ut_name, align 8 + %4 = load i8*, i8** @static_ut_name, align 8 + %cmp3 = icmp eq i8* %4, null + %spec.store.select = select i1 %cmp3, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @default_file_name, i64 0, i64 0), i8* %call + store i8* %spec.store.select, i8** @static_ut_name, align 8 + br label %if.end6 + +if.end6: ; preds = %if.end, %entry + %5 = load i32, i32* @static_fd, align 4 + %cmp7 = icmp ne i32 %5, -1 + br i1 %cmp7, label %if.then8, label %if.end10 + +if.then8: ; preds = %if.end6 + %6 = load i32, i32* @static_fd, align 4 + %call9 = call i32 @close(i32 %6) #18 + br label %if.end10 + +if.end10: ; preds = %if.then8, %if.end6 + store i32 -1, i32* @static_fd, align 4 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_wchar_utf8sntowcs(i32* noalias %pwc, i64 %wn, i8** noalias %src, i64 %n, %struct.__mbstate_t.512* %ps, i32 %allow_continuation) #0 { +entry: + %retval = alloca i64, align 8 + %pwc.addr = alloca i32*, align 8 + %wn.addr = alloca i64, align 8 + %src.addr = alloca i8**, align 8 + %n.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %allow_continuation.addr = alloca i32, align 4 + %s = alloca i8*, align 8 + %mask = alloca i32, align 4 + %wc = alloca i32, align 4 + %wcbuf = alloca [1 x i32], align 4 + %count = alloca i64, align 8 + %incr = alloca i32, align 4 + store i32* %pwc, i32** %pwc.addr, align 8 + store i64 %wn, i64* %wn.addr, align 8 + store i8** %src, i8*** %src.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + store i32 %allow_continuation, i32* %allow_continuation.addr, align 4 + %0 = load i8**, i8*** %src.addr, align 8 + %1 = load i8*, i8** %0, align 8 + store i8* %1, i8** %s, align 8 + store i32 1, i32* %incr, align 4 + %2 = load i32*, i32** %pwc.addr, align 8 + %tobool = icmp ne i32* %2, null + br i1 %tobool, label %lor.lhs.false, label %if.then + +lor.lhs.false: ; preds = %entry + %3 = load i32*, i32** %pwc.addr, align 8 + %4 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %5 = bitcast %struct.__mbstate_t.512* %4 to i32* + %cmp = icmp eq i32* %3, %5 + br i1 %cmp, label %if.then, label %if.end3 + +if.then: ; preds = %lor.lhs.false, %entry + %6 = load i32*, i32** %pwc.addr, align 8 + %tobool1 = icmp ne i32* %6, null + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + store i64 -1, i64* %wn.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %arraydecay = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay, i32** %pwc.addr, align 8 + store i32 0, i32* %incr, align 4 + br label %if.end3 + +if.end3: ; preds = %if.end, %lor.lhs.false + %7 = load i64, i64* %wn.addr, align 8 + store i64 %7, i64* %count, align 8 + %tobool4 = icmp ne i64 %7, 0 + br i1 %tobool4, label %if.end6, label %if.then5 + +if.then5: ; preds = %if.end3 + store i64 0, i64* %retval, align 8 + br label %return + +if.end6: ; preds = %if.end3 + %8 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %8, i32 0, i32 0 + %9 = load i32, i32* %__mask, align 4 + store i32 %9, i32* %mask, align 4 + %cmp7 = icmp ne i32 %9, 0 + br i1 %cmp7, label %if.then8, label %do.body + +if.then8: ; preds = %if.end6 + %10 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %10, i32 0, i32 1 + %11 = load i32, i32* %__wc, align 4 + store i32 %11, i32* %wc, align 4 + %cmp9 = icmp ne i32 %11, 65535 + br i1 %cmp9, label %if.then10, label %if.end14 + +if.then10: ; preds = %if.then8 + %12 = load i64, i64* %n.addr, align 8 + %tobool11 = icmp ne i64 %12, 0 + br i1 %tobool11, label %while.cond, label %DONE + +if.end14: ; preds = %if.then8 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +do.body: ; preds = %if.end6, %land.rhs + %13 = load i64, i64* %n.addr, align 8 + %tobool16 = icmp ne i64 %13, 0 + br i1 %tobool16, label %if.end18, label %DONE + +if.end18: ; preds = %do.body + %14 = load i64, i64* %n.addr, align 8 + %dec = add i64 %14, -1 + store i64 %dec, i64* %n.addr, align 8 + %15 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %15, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %16 = load i8, i8* %15, align 1 + %conv = zext i8 %16 to i32 + store i32 %conv, i32* %wc, align 4 + %cmp19 = icmp uge i32 %conv, 128 + br i1 %cmp19, label %if.then21, label %COMPLETE + +if.then21: ; preds = %if.end18 + store i32 64, i32* %mask, align 4 + %17 = load i8*, i8** %s, align 8 + %arrayidx = getelementptr inbounds i8, i8* %17, i64 -1 + %18 = load i8, i8* %arrayidx, align 1 + %conv22 = sext i8 %18 to i32 + %sub = sub nsw i32 %conv22, 192 + %conv23 = trunc i32 %sub to i8 + %conv24 = zext i8 %conv23 to i32 + %cmp25 = icmp slt i32 %conv24, 62 + br i1 %cmp25, label %START, label %BAD + +BAD: ; preds = %if.end52, %lor.lhs.false55, %lor.lhs.false59, %while.body, %if.then21 + %19 = load i32, i32* %mask, align 4 + %20 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask29 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %20, i32 0, i32 0 + store i32 %19, i32* %__mask29, align 4 + %21 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc30 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %21, i32 0, i32 1 + store i32 65535, i32* %__wc30, align 4 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +while.cond: ; preds = %START, %if.then10 + %22 = load i64, i64* %n.addr, align 8 + %tobool31 = icmp ne i64 %22, 0 + br i1 %tobool31, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %23 = load i64, i64* %n.addr, align 8 + %dec32 = add i64 %23, -1 + store i64 %dec32, i64* %n.addr, align 8 + %24 = load i8*, i8** %s, align 8 + %25 = load i8, i8* %24, align 1 + %conv33 = sext i8 %25 to i32 + %and = and i32 %conv33, 192 + %cmp34 = icmp ne i32 %and, 128 + br i1 %cmp34, label %BAD, label %if.end37 + +if.end37: ; preds = %while.body + %26 = load i32, i32* %mask, align 4 + %shl = shl i32 %26, 5 + store i32 %shl, i32* %mask, align 4 + %27 = load i32, i32* %wc, align 4 + %shl38 = shl i32 %27, 6 + store i32 %shl38, i32* %wc, align 4 + %28 = load i8*, i8** %s, align 8 + %29 = load i8, i8* %28, align 1 + %conv39 = sext i8 %29 to i32 + %and40 = and i32 %conv39, 63 + %30 = load i32, i32* %wc, align 4 + %add = add i32 %30, %and40 + store i32 %add, i32* %wc, align 4 + %31 = load i8*, i8** %s, align 8 + %incdec.ptr41 = getelementptr inbounds i8, i8* %31, i32 1 + store i8* %incdec.ptr41, i8** %s, align 8 + br label %START + +START: ; preds = %if.then21, %if.end37 + %32 = load i32, i32* %mask, align 4 + %shl42 = shl i32 %32, 1 + %neg = xor i32 %shl42, -1 + %33 = load i32, i32* %wc, align 4 + %and43 = and i32 %33, %neg + store i32 %and43, i32* %wc, align 4 + %34 = load i32, i32* %wc, align 4 + %35 = load i32, i32* %mask, align 4 + %and44 = and i32 %34, %35 + %cmp45 = icmp eq i32 %and44, 0 + br i1 %cmp45, label %if.then47, label %while.cond + +if.then47: ; preds = %START + %36 = load i32, i32* %mask, align 4 + %shr = lshr i32 %36, 5 + store i32 %shr, i32* %mask, align 4 + %cmp48 = icmp eq i32 %shr, 64 + br i1 %cmp48, label %if.then50, label %if.end52 + +if.then50: ; preds = %if.then47 + %37 = load i32, i32* %mask, align 4 + %38 = load i32, i32* %mask, align 4 + %add51 = add i32 %38, %37 + store i32 %add51, i32* %mask, align 4 + br label %if.end52 + +if.end52: ; preds = %if.then50, %if.then47 + %39 = load i32, i32* %wc, align 4 + %40 = load i32, i32* %mask, align 4 + %cmp53 = icmp ult i32 %39, %40 + br i1 %cmp53, label %BAD, label %lor.lhs.false55 + +lor.lhs.false55: ; preds = %if.end52 + %41 = load i32, i32* %wc, align 4 + %sub56 = sub i32 %41, 65534 + %cmp57 = icmp ult i32 %sub56, 2 + br i1 %cmp57, label %BAD, label %lor.lhs.false59 + +lor.lhs.false59: ; preds = %lor.lhs.false55 + %42 = load i32, i32* %wc, align 4 + %sub60 = sub i32 %42, 55296 + %cmp61 = icmp ult i32 %sub60, 2048 + br i1 %cmp61, label %BAD, label %COMPLETE + +while.end: ; preds = %while.cond + %43 = load i32, i32* %allow_continuation.addr, align 4 + %tobool66 = icmp ne i32 %43, 0 + br i1 %tobool66, label %if.end77, label %if.then67 + +if.then67: ; preds = %while.end + %44 = load i64, i64* %count, align 8 + %45 = load i64, i64* %wn.addr, align 8 + %cmp68 = icmp ne i64 %44, %45 + br i1 %cmp68, label %if.then70, label %do.body72 + +if.then70: ; preds = %if.then67 + store i64 0, i64* %retval, align 8 + br label %return + +do.body72: ; preds = %if.then67, %do.body72 + %46 = load i8*, i8** %s, align 8 + %incdec.ptr73 = getelementptr inbounds i8, i8* %46, i32 -1 + store i8* %incdec.ptr73, i8** %s, align 8 + %47 = load i32, i32* %mask, align 4 + %shr74 = lshr i32 %47, 5 + store i32 %shr74, i32* %mask, align 4 + %cmp75 = icmp uge i32 %shr74, 64 + br i1 %cmp75, label %do.body72, label %DONE + +if.end77: ; preds = %while.end + %48 = load i32, i32* %mask, align 4 + %49 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask78 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %49, i32 0, i32 0 + store i32 %48, i32* %__mask78, align 4 + %50 = load i32, i32* %wc, align 4 + %51 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc79 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %51, i32 0, i32 1 + store i32 %50, i32* %__wc79, align 4 + %52 = load i8*, i8** %s, align 8 + %53 = load i8**, i8*** %src.addr, align 8 + store i8* %52, i8** %53, align 8 + store i64 -2, i64* %retval, align 8 + br label %return + +COMPLETE: ; preds = %if.end18, %lor.lhs.false59 + %54 = load i32, i32* %wc, align 4 + %55 = load i32*, i32** %pwc.addr, align 8 + store i32 %54, i32* %55, align 4 + %56 = load i32, i32* %incr, align 4 + %57 = load i32*, i32** %pwc.addr, align 8 + %idx.ext = sext i32 %56 to i64 + %add.ptr = getelementptr inbounds i32, i32* %57, i64 %idx.ext + store i32* %add.ptr, i32** %pwc.addr, align 8 + %58 = load i32, i32* %wc, align 4 + %tobool82 = icmp ne i32 %58, 0 + br i1 %tobool82, label %land.rhs, label %do.end85 + +land.rhs: ; preds = %COMPLETE + %59 = load i64, i64* %count, align 8 + %dec83 = add i64 %59, -1 + store i64 %dec83, i64* %count, align 8 + %tobool84 = icmp ne i64 %dec83, 0 + br i1 %tobool84, label %do.body, label %do.end85 + +do.end85: ; preds = %COMPLETE, %land.rhs + %60 = load i32, i32* %wc, align 4 + %tobool86 = icmp ne i32 %60, 0 + br i1 %tobool86, label %DONE, label %if.then87 + +if.then87: ; preds = %do.end85 + store i8* null, i8** %s, align 8 + br label %DONE + +DONE: ; preds = %do.end85, %if.then87, %do.body72, %do.body, %if.then10 + %61 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask89 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %61, i32 0, i32 0 + store i32 0, i32* %__mask89, align 4 + %62 = load i32*, i32** %pwc.addr, align 8 + %arraydecay90 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %cmp91 = icmp ne i32* %62, %arraydecay90 + br i1 %cmp91, label %if.then93, label %if.end94 + +if.then93: ; preds = %DONE + %63 = load i8*, i8** %s, align 8 + %64 = load i8**, i8*** %src.addr, align 8 + store i8* %63, i8** %64, align 8 + br label %if.end94 + +if.end94: ; preds = %if.then93, %DONE + %65 = load i64, i64* %wn.addr, align 8 + %66 = load i64, i64* %count, align 8 + %sub95 = sub i64 %65, %66 + store i64 %sub95, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end94, %if.end77, %if.then70, %BAD, %if.end14, %if.then5 + %67 = load i64, i64* %retval, align 8 + ret i64 %67 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @mbrtowc(i32* noalias %pwc, i8* noalias %s, i64 %n, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %retval = alloca i64, align 8 + %pwc.addr = alloca i32*, align 8 + %s.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %wcbuf = alloca [1 x i32], align 4 + %p = alloca i8*, align 8 + %r = alloca i64, align 8 + %empty_string = alloca [1 x i8], align 1 + store i32* %pwc, i32** %pwc.addr, align 8 + store i8* %s, i8** %s.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %tobool = icmp ne %struct.__mbstate_t.512* %0, null + %spec.store.select = select i1 %tobool, %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512* @mbrtowc.mbstate + store %struct.__mbstate_t.512* %spec.store.select, %struct.__mbstate_t.512** %ps.addr, align 8 + %1 = load i8*, i8** %s.addr, align 8 + %tobool1 = icmp ne i8* %1, null + br i1 %tobool1, label %if.else, label %if.then2 + +if.then2: ; preds = %entry + %2 = load i8*, i8** %s.addr, align 8 + %3 = bitcast i8* %2 to i32* + store i32* %3, i32** %pwc.addr, align 8 + %arrayidx = getelementptr inbounds [1 x i8], [1 x i8]* %empty_string, i64 0, i64 0 + store i8 0, i8* %arrayidx, align 1 + %arraydecay = getelementptr inbounds [1 x i8], [1 x i8]* %empty_string, i64 0, i64 0 + store i8* %arraydecay, i8** %s.addr, align 8 + store i64 1, i64* %n.addr, align 8 + br label %if.end7 + +if.else: ; preds = %entry + %4 = load i64, i64* %n.addr, align 8 + %tobool3 = icmp ne i64 %4, 0 + br i1 %tobool3, label %if.end7, label %if.then4 + +if.then4: ; preds = %if.else + %5 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %5, i32 0, i32 0 + %6 = load i32, i32* %__mask, align 4 + %tobool5 = icmp ne i32 %6, 0 + br i1 %tobool5, label %land.rhs, label %land.end + +land.rhs: ; preds = %if.then4 + %7 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %7, i32 0, i32 1 + %8 = load i32, i32* %__wc, align 4 + %cmp = icmp eq i32 %8, 65535 + br label %land.end + +land.end: ; preds = %land.rhs, %if.then4 + %9 = phi i1 [ false, %if.then4 ], [ %cmp, %land.rhs ] + %10 = zext i1 %9 to i64 + %cond = select i1 %9, i64 -1, i64 -2 + store i64 %cond, i64* %retval, align 8 + br label %return + +if.end7: ; preds = %if.else, %if.then2 + %11 = load i8*, i8** %s.addr, align 8 + store i8* %11, i8** %p, align 8 + %12 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %12, i32 0, i32 9 + %13 = load i8, i8* %encoding, align 8 + %conv = zext i8 %13 to i32 + %cmp8 = icmp eq i32 %conv, 1 + br i1 %cmp8, label %if.then10, label %if.end18 + +if.then10: ; preds = %if.end7 + %14 = load i32*, i32** %pwc.addr, align 8 + %tobool11 = icmp ne i32* %14, null + br i1 %tobool11, label %if.end14, label %if.then12 + +if.then12: ; preds = %if.then10 + %arraydecay13 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay13, i32** %pwc.addr, align 8 + br label %if.end14 + +if.end14: ; preds = %if.then12, %if.then10 + %15 = load i32*, i32** %pwc.addr, align 8 + %16 = load i64, i64* %n.addr, align 8 + %17 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @_wchar_utf8sntowcs(i32* %15, i64 1, i8** %p, i64 %16, %struct.__mbstate_t.512* %17, i32 1) #18 + store i64 %call, i64* %r, align 8 + %18 = load i64, i64* %r, align 8 + %cmp15 = icmp eq i64 %18, 1 + %19 = load i8*, i8** %p, align 8 + %20 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %20 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %21 = load i64, i64* %r, align 8 + %cond17 = select i1 %cmp15, i64 %sub.ptr.sub, i64 %21 + store i64 %cond17, i64* %retval, align 8 + br label %return + +if.end18: ; preds = %if.end7 + %arraydecay19 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %22 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call20 = call i64 @mbsnrtowcs(i32* %arraydecay19, i8** %p, i64 -1, i64 1, %struct.__mbstate_t.512* %22) #19 + store i64 %call20, i64* %r, align 8 + %23 = load i64, i64* %r, align 8 + %cmp21 = icmp sge i64 %23, 0 + %24 = load i32*, i32** %pwc.addr, align 8 + %tobool24 = icmp ne i32* %24, null + %or.cond = and i1 %cmp21, %tobool24 + br i1 %or.cond, label %if.then25, label %if.end28 + +if.then25: ; preds = %if.end18 + %arraydecay26 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %25 = load i32, i32* %arraydecay26, align 4 + %26 = load i32*, i32** %pwc.addr, align 8 + store i32 %25, i32* %26, align 4 + br label %if.end28 + +if.end28: ; preds = %if.then25, %if.end18 + %27 = load i64, i64* %r, align 8 + store i64 %27, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end28, %if.end14, %land.end + %28 = load i64, i64* %retval, align 8 + ret i64 %28 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @mbsinit(%struct.__mbstate_t.512* %ps) #14 { +entry: + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %tobool = icmp ne %struct.__mbstate_t.512* %0, null + br i1 %tobool, label %lor.rhs, label %lor.end + +lor.rhs: ; preds = %entry + %1 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %1, i32 0, i32 0 + %2 = load i32, i32* %__mask, align 4 + %tobool1 = icmp ne i32 %2, 0 + %lnot = xor i1 %tobool1, true + br label %lor.end + +lor.end: ; preds = %lor.rhs, %entry + %3 = phi i1 [ true, %entry ], [ %lnot, %lor.rhs ] + %lor.ext = zext i1 %3 to i32 + ret i32 %lor.ext +} + +; Function Attrs: noinline nounwind uwtable +define i32 @iswprint(i32 %wc) #0 { +entry: + %wc.addr = alloca i32, align 4 + store i32 %wc, i32* %wc.addr, align 4 + %0 = load i32, i32* %wc.addr, align 4 + %call = call i32 @iswctype(i32 %0, i32 8) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.568* %stream, i8* %buf, i64 %bufsize) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %rv = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + store i64 0, i64* %rv, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 4 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end18, label %if.then + +if.then: ; preds = %entry + %2 = load i64, i64* %bufsize.addr, align 8 + %cmp = icmp ugt i64 %2, 9223372036854775807 + br i1 %cmp, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + store i64 9223372036854775807, i64* %bufsize.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 2 + %4 = load i32, i32* %__filedes, align 4 + %5 = load i8*, i8** %buf.addr, align 8 + %6 = load i64, i64* %bufsize.addr, align 8 + %call = call i64 @read(i32 %4, i8* %5, i64 %6) #18 + store i64 %call, i64* %rv, align 8 + %cmp3 = icmp sle i64 %call, 0 + br i1 %cmp3, label %if.then5, label %if.end18 + +if.then5: ; preds = %if.end + %7 = load i64, i64* %rv, align 8 + %cmp6 = icmp eq i64 %7, 0 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags9 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags9, align 8 + %conv10 = zext i16 %9 to i32 + br i1 %cmp6, label %if.then8, label %if.else + +if.then8: ; preds = %if.then5 + %or = or i32 %conv10, 4 + %conv11 = trunc i32 %or to i16 + store i16 %conv11, i16* %__modeflags9, align 8 + br label %if.end18 + +if.else: ; preds = %if.then5 + %or14 = or i32 %conv10, 8 + %conv15 = trunc i32 %or14 to i16 + store i16 %conv15, i16* %__modeflags9, align 8 + store i64 0, i64* %rv, align 8 + br label %if.end18 + +if.end18: ; preds = %if.end, %if.else, %if.then8, %entry + %10 = load i64, i64* %rv, align 8 + ret i64 %10 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %stream, i8* %buf, i64 %bufsize) #0 { +entry: + %retval = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %todo = alloca i64, align 8 + %rv = alloca i64, align 8 + %stodo = alloca i64, align 8 + %s = alloca i8*, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i64, i64* %bufsize.addr, align 8 + store i64 %0, i64* %todo, align 8 + br label %do.body + +do.body: ; preds = %if.then3, %entry + %1 = load i64, i64* %todo, align 8 + %cmp = icmp eq i64 %1, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %do.body + %2 = load i64, i64* %bufsize.addr, align 8 + store i64 %2, i64* %retval, align 8 + br label %do.end32 + +if.end: ; preds = %do.body + %3 = load i64, i64* %todo, align 8 + %cmp1 = icmp ule i64 %3, 9223372036854775807 + %4 = load i64, i64* %todo, align 8 + %cond = select i1 %cmp1, i64 %4, i64 9223372036854775807 + store i64 %cond, i64* %stodo, align 8 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 2 + %6 = load i32, i32* %__filedes, align 4 + %7 = load i8*, i8** %buf.addr, align 8 + %8 = load i64, i64* %stodo, align 8 + %call = call i64 @write(i32 %6, i8* %7, i64 %8) #18 + store i64 %call, i64* %rv, align 8 + %cmp2 = icmp sge i64 %call, 0 + br i1 %cmp2, label %if.then3, label %if.else + +if.then3: ; preds = %if.end + %9 = load i64, i64* %rv, align 8 + %10 = load i64, i64* %todo, align 8 + %sub = sub i64 %10, %9 + store i64 %sub, i64* %todo, align 8 + %11 = load i64, i64* %rv, align 8 + %12 = load i8*, i8** %buf.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %12, i64 %11 + store i8* %add.ptr, i8** %buf.addr, align 8 + br label %do.body + +if.else: ; preds = %if.end + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 0 + %14 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %14 to i32 + %or = or i32 %conv, 8 + %conv4 = trunc i32 %or to i16 + store i16 %conv4, i16* %__modeflags, align 8 + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 4 + %16 = load i8*, i8** %__bufend, align 8 + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 3 + %18 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %16 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %18 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %stodo, align 8 + %cmp5 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %cmp5, label %if.then7, label %if.end28 + +if.then7: ; preds = %if.else + %19 = load i64, i64* %stodo, align 8 + %20 = load i64, i64* %todo, align 8 + %cmp8 = icmp ugt i64 %19, %20 + br i1 %cmp8, label %if.then10, label %if.end11 + +if.then10: ; preds = %if.then7 + %21 = load i64, i64* %todo, align 8 + store i64 %21, i64* %stodo, align 8 + br label %if.end11 + +if.end11: ; preds = %if.then10, %if.then7 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart12 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 3 + %23 = load i8*, i8** %__bufstart12, align 8 + store i8* %23, i8** %s, align 8 + br label %do.body13 + +do.body13: ; preds = %if.end20, %if.end11 + %24 = load i8*, i8** %buf.addr, align 8 + %25 = load i8, i8* %24, align 1 + %26 = load i8*, i8** %s, align 8 + store i8 %25, i8* %26, align 1 + %conv14 = zext i8 %25 to i32 + %cmp15 = icmp eq i32 %conv14, 10 + br i1 %cmp15, label %land.lhs.true, label %if.end20 + +land.lhs.true: ; preds = %do.body13 + %27 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %27, i32 0, i32 0 + %28 = load i16, i16* %__modeflags17, align 8 + %conv18 = zext i16 %28 to i32 + %and = and i32 %conv18, 256 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %do.end, label %if.end20 + +if.end20: ; preds = %land.lhs.true, %do.body13 + %29 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %29, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %30 = load i8*, i8** %buf.addr, align 8 + %incdec.ptr21 = getelementptr inbounds i8, i8* %30, i32 1 + store i8* %incdec.ptr21, i8** %buf.addr, align 8 + %31 = load i64, i64* %stodo, align 8 + %dec = add nsw i64 %31, -1 + store i64 %dec, i64* %stodo, align 8 + %tobool22 = icmp ne i64 %dec, 0 + br i1 %tobool22, label %do.body13, label %do.end + +do.end: ; preds = %land.lhs.true, %if.end20 + %32 = load i8*, i8** %s, align 8 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %33, i32 0, i32 5 + store i8* %32, i8** %__bufpos, align 8 + %34 = load i8*, i8** %s, align 8 + %35 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart23 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %35, i32 0, i32 3 + %36 = load i8*, i8** %__bufstart23, align 8 + %sub.ptr.lhs.cast24 = ptrtoint i8* %34 to i64 + %sub.ptr.rhs.cast25 = ptrtoint i8* %36 to i64 + %sub.ptr.sub26 = sub i64 %sub.ptr.lhs.cast24, %sub.ptr.rhs.cast25 + %37 = load i64, i64* %todo, align 8 + %sub27 = sub i64 %37, %sub.ptr.sub26 + store i64 %sub27, i64* %todo, align 8 + br label %if.end28 + +if.end28: ; preds = %do.end, %if.else + %38 = load i64, i64* %bufsize.addr, align 8 + %39 = load i64, i64* %todo, align 8 + %sub29 = sub i64 %38, %39 + store i64 %sub29, i64* %retval, align 8 + br label %do.end32 + +do.end32: ; preds = %if.then, %if.end28 + %40 = load i64, i64* %retval, align 8 + ret i64 %40 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__freading(%struct.__STDIO_FILE_STRUCT.519* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.519*, align 8 + store %struct.__STDIO_FILE_STRUCT.519* %stream, %struct.__STDIO_FILE_STRUCT.519** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.519*, %struct.__STDIO_FILE_STRUCT.519** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.519, %struct.__STDIO_FILE_STRUCT.519* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 35 + ret i32 %and +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_rfill(%struct.__STDIO_FILE_STRUCT.568* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %rv = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %1, i32 0, i32 3 + %2 = load i8*, i8** %__bufstart, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 4 + %4 = load i8*, i8** %__bufend, align 8 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 3 + %6 = load i8*, i8** %__bufstart1, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %4 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %6 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %call = call i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.568* %0, i8* %2, i64 %sub.ptr.sub) #18 + store i64 %call, i64* %rv, align 8 + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %7, i32 0, i32 3 + %8 = load i8*, i8** %__bufstart2, align 8 + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %9, i32 0, i32 5 + store i8* %8, i8** %__bufpos, align 8 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart3 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 3 + %11 = load i8*, i8** %__bufstart3, align 8 + %12 = load i64, i64* %rv, align 8 + %add.ptr = getelementptr inbounds i8, i8* %11, i64 %12 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 6 + store i8* %add.ptr, i8** %__bufread, align 8 + %14 = load i64, i64* %rv, align 8 + ret i64 %14 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_trans2r_o(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %oflag) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %oflag.addr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %oflag, i32* %oflag.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %2 = load i32, i32* %oflag.addr, align 4 + %and = and i32 %conv, %2 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end9, label %if.then + +if.then: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 0 + %4 = load i16, i16* %__modeflags1, align 8 + %conv2 = zext i16 %4 to i32 + %and3 = and i32 %conv2, 2176 + %tobool4 = icmp ne i32 %and3, 0 + br i1 %tobool4, label %DO_EBADF, label %if.end + +if.end: ; preds = %if.then + %5 = load i32, i32* %oflag.addr, align 4 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 0 + %7 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %7 to i32 + %or = or i32 %conv7, %5 + %conv8 = trunc i32 %or to i16 + store i16 %conv8, i16* %__modeflags6, align 8 + br label %if.end9 + +if.end9: ; preds = %if.end, %entry + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags10, align 8 + %conv11 = zext i16 %9 to i32 + %and12 = and i32 %conv11, 16 + %tobool13 = icmp ne i32 %and12, 0 + br i1 %tobool13, label %DO_EBADF, label %if.end19 + +DO_EBADF: ; preds = %if.end9, %if.then + store i32 9, i32* @errno, align 4 + br label %ERROR + +ERROR: ; preds = %if.then24, %DO_EBADF + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags15 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 0 + %11 = load i16, i16* %__modeflags15, align 8 + %conv16 = zext i16 %11 to i32 + %or17 = or i32 %conv16, 8 + %conv18 = trunc i32 %or17 to i16 + store i16 %conv18, i16* %__modeflags15, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end19: ; preds = %if.end9 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags20 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags20, align 8 + %conv21 = zext i16 %13 to i32 + %and22 = and i32 %conv21, 64 + %tobool23 = icmp ne i32 %and22, 0 + br i1 %tobool23, label %if.then24, label %if.end32 + +if.then24: ; preds = %if.end19 + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %14) #18 + %tobool25 = icmp ne i64 %call, 0 + br i1 %tobool25, label %ERROR, label %if.end27 + +if.end27: ; preds = %if.then24 + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 3 + %16 = load i8*, i8** %__bufstart, align 8 + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 8 + store i8* %16, i8** %__bufputc_u, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags28 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 0 + %19 = load i16, i16* %__modeflags28, align 8 + %conv29 = zext i16 %19 to i32 + %and30 = and i32 %conv29, -65 + %conv31 = trunc i32 %and30 to i16 + store i16 %conv31, i16* %__modeflags28, align 8 + br label %if.end32 + +if.end32: ; preds = %if.end27, %if.end19 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags33 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 0 + %21 = load i16, i16* %__modeflags33, align 8 + %conv34 = zext i16 %21 to i32 + %or35 = or i32 %conv34, 1 + %conv36 = trunc i32 %or35 to i16 + store i16 %conv36, i16* %__modeflags33, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end32, %ERROR + %22 = load i32, i32* %retval, align 4 + ret i32 %22 +} + +; Function Attrs: noinline nounwind uwtable +define void @clearerr_unlocked(%struct.__STDIO_FILE_STRUCT.581* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.581*, align 8 + store %struct.__STDIO_FILE_STRUCT.581* %stream, %struct.__STDIO_FILE_STRUCT.581** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.581*, %struct.__STDIO_FILE_STRUCT.581** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.581, %struct.__STDIO_FILE_STRUCT.581* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, -13 + %conv1 = trunc i32 %and to i16 + store i16 %conv1, i16* %__modeflags, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fclose(%struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %rv = alloca i32, align 4 + %ptr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 0, i32* %rv, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %0, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %1, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp = icmp eq %struct.__STDIO_FILE_STRUCT.568* %1, %2 + br i1 %cmp, label %if.then, label %while.cond + +if.then: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 9 + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %4, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + br label %if.end7 + +while.cond: ; preds = %entry, %if.end + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %5, null + br i1 %tobool, label %while.body, label %if.end7 + +while.body: ; preds = %while.cond + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 9 + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen1, align 8 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp2 = icmp eq %struct.__STDIO_FILE_STRUCT.568* %7, %8 + br i1 %cmp2, label %if.then3, label %if.end + +if.then3: ; preds = %while.body + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen4 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %9, i32 0, i32 9 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen4, align 8 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen5 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 9 + store %struct.__STDIO_FILE_STRUCT.568* %10, %struct.__STDIO_FILE_STRUCT.568** %__nextopen5, align 8 + br label %if.end7 + +if.end: ; preds = %while.body + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 9 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen6, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %13, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + br label %while.cond + +if.end7: ; preds = %while.cond, %if.then3, %if.then + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %14, i32 0, i32 0 + %15 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %15 to i32 + %and = and i32 %conv, 64 + %tobool8 = icmp ne i32 %and, 0 + br i1 %tobool8, label %if.then9, label %if.end10 + +if.then9: ; preds = %if.end7 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.568* %16) #18 + store i32 %call, i32* %rv, align 4 + br label %if.end10 + +if.end10: ; preds = %if.then9, %if.end7 + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 2 + %18 = load i32, i32* %__filedes, align 4 + %call11 = call i32 @close(i32 %18) #18 + %cmp12 = icmp slt i32 %call11, 0 + br i1 %cmp12, label %if.then14, label %if.end15 + +if.then14: ; preds = %if.end10 + store i32 -1, i32* %rv, align 4 + br label %if.end15 + +if.end15: ; preds = %if.then14, %if.end10 + %19 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes16 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %19, i32 0, i32 2 + store i32 -1, i32* %__filedes16, align 4 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 0 + %21 = load i16, i16* %__modeflags17, align 8 + %conv18 = zext i16 %21 to i32 + %and19 = and i32 %conv18, 24576 + %conv20 = trunc i32 %and19 to i16 + store i16 %conv20, i16* %__modeflags17, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags21 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 0 + %23 = load i16, i16* %__modeflags21, align 8 + %conv22 = zext i16 %23 to i32 + %or = or i32 %conv22, 48 + %conv23 = trunc i32 %or to i16 + store i16 %conv23, i16* %__modeflags21, align 8 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags24 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 0 + %25 = load i16, i16* %__modeflags24, align 8 + %conv25 = zext i16 %25 to i32 + %and26 = and i32 %conv25, 16384 + %tobool27 = icmp ne i32 %and26, 0 + br i1 %tobool27, label %if.then28, label %do.body30 + +if.then28: ; preds = %if.end15 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 3 + %27 = load i8*, i8** %__bufstart, align 8 + call void @free(i8* %27) #19 + br label %do.body30 + +do.body30: ; preds = %if.then28, %if.end15 + %28 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags31 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %28, i32 0, i32 0 + %29 = load i16, i16* %__modeflags31, align 8 + %conv32 = zext i16 %29 to i32 + %and33 = and i32 %conv32, 8192 + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %if.then35, label %do.end37 + +if.then35: ; preds = %do.body30 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %31 = bitcast %struct.__STDIO_FILE_STRUCT.568* %30 to i8* + call void @free(i8* %31) #19 + br label %do.end37 + +do.end37: ; preds = %do.body30, %if.then35 + %32 = load i32, i32* %rv, align 4 + ret i32 %32 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @feof_unlocked(%struct.__STDIO_FILE_STRUCT.590* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.590*, align 8 + store %struct.__STDIO_FILE_STRUCT.590* %stream, %struct.__STDIO_FILE_STRUCT.590** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.590*, %struct.__STDIO_FILE_STRUCT.590** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.590, %struct.__STDIO_FILE_STRUCT.590* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 4 + ret i32 %and +} + +; Function Attrs: noinline nounwind uwtable +define i32 @ferror_unlocked(%struct.__STDIO_FILE_STRUCT.592* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.592*, align 8 + store %struct.__STDIO_FILE_STRUCT.592* %stream, %struct.__STDIO_FILE_STRUCT.592** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.592*, %struct.__STDIO_FILE_STRUCT.592** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.592, %struct.__STDIO_FILE_STRUCT.592* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 8 + ret i32 %and +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %retval1 = alloca i32, align 4 + %bufmask = alloca i16, align 2 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 0, i32* %retval1, align 4 + store i16 256, i16* %bufmask, align 2 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp = icmp eq %struct.__STDIO_FILE_STRUCT.568* %0, bitcast (%struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist to %struct.__STDIO_FILE_STRUCT.568*) + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store %struct.__STDIO_FILE_STRUCT.568* null, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i16 0, i16* %bufmask, align 2 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %1, null + br i1 %tobool, label %if.else21, label %if.then2 + +if.then2: ; preds = %if.end + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %2, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end20, %if.then2 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %tobool3 = icmp ne %struct.__STDIO_FILE_STRUCT.568* %3, null + br i1 %tobool3, label %while.body, label %if.end39 + +while.body: ; preds = %while.cond + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 0 + %5 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %5 to i32 + %and = and i32 %conv, 64 + %tobool4 = icmp ne i32 %and, 0 + br i1 %tobool4, label %if.then5, label %if.end20 + +if.then5: ; preds = %while.body + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 0 + %7 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %7 to i32 + %8 = load i16, i16* %bufmask, align 2 + %conv8 = zext i16 %8 to i32 + %or = or i32 %conv7, %conv8 + %xor = xor i32 %or, 320 + %and9 = and i32 %xor, 832 + %tobool10 = icmp ne i32 %and9, 0 + br i1 %tobool10, label %if.end20, label %if.then11 + +if.then11: ; preds = %if.then5 + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %9) #18 + %tobool12 = icmp ne i64 %call, 0 + br i1 %tobool12, label %if.else, label %if.then13 + +if.then13: ; preds = %if.then11 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 3 + %11 = load i8*, i8** %__bufstart, align 8 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 8 + store i8* %11, i8** %__bufputc_u, align 8 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags14 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 0 + %14 = load i16, i16* %__modeflags14, align 8 + %conv15 = zext i16 %14 to i32 + %and16 = and i32 %conv15, -65 + %conv17 = trunc i32 %and16 to i16 + store i16 %conv17, i16* %__modeflags14, align 8 + br label %if.end20 + +if.else: ; preds = %if.then11 + store i32 -1, i32* %retval1, align 4 + br label %if.end20 + +if.end20: ; preds = %if.then5, %if.else, %if.then13, %while.body + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 9 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %16, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br label %while.cond + +if.else21: ; preds = %if.end + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags22 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 0 + %18 = load i16, i16* %__modeflags22, align 8 + %conv23 = zext i16 %18 to i32 + %and24 = and i32 %conv23, 64 + %tobool25 = icmp ne i32 %and24, 0 + br i1 %tobool25, label %if.then26, label %if.end39 + +if.then26: ; preds = %if.else21 + %19 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call27 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %19) #18 + %tobool28 = icmp ne i64 %call27, 0 + br i1 %tobool28, label %if.else36, label %if.then29 + +if.then29: ; preds = %if.then26 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart30 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 3 + %21 = load i8*, i8** %__bufstart30, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u31 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 8 + store i8* %21, i8** %__bufputc_u31, align 8 + %23 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags32 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %23, i32 0, i32 0 + %24 = load i16, i16* %__modeflags32, align 8 + %conv33 = zext i16 %24 to i32 + %and34 = and i32 %conv33, -65 + %conv35 = trunc i32 %and34 to i16 + store i16 %conv35, i16* %__modeflags32, align 8 + br label %if.end39 + +if.else36: ; preds = %if.then26 + store i32 -1, i32* %retval1, align 4 + br label %if.end39 + +if.end39: ; preds = %if.else21, %if.else36, %if.then29, %while.cond + %25 = load i32, i32* %retval1, align 4 + ret i32 %25 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fileno_unlocked(%struct.__STDIO_FILE_STRUCT.608* %stream) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.608*, align 8 + store %struct.__STDIO_FILE_STRUCT.608* %stream, %struct.__STDIO_FILE_STRUCT.608** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.608*, %struct.__STDIO_FILE_STRUCT.608** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.608, %struct.__STDIO_FILE_STRUCT.608* %0, i32 0, i32 2 + %1 = load i32, i32* %__filedes, align 4 + %cmp = icmp sge i32 %1, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.608*, %struct.__STDIO_FILE_STRUCT.608** %stream.addr, align 8 + %__filedes1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.608, %struct.__STDIO_FILE_STRUCT.608* %2, i32 0, i32 2 + %3 = load i32, i32* %__filedes1, align 4 + store i32 %3, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + store i32 9, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.__STDIO_FILE_STRUCT.612* @fopen(i8* noalias %filename, i8* noalias %mode) #0 { +entry: + %filename.addr = alloca i8*, align 8 + %mode.addr = alloca i8*, align 8 + store i8* %filename, i8** %filename.addr, align 8 + store i8* %mode, i8** %mode.addr, align 8 + %0 = load i8*, i8** %filename.addr, align 8 + %1 = ptrtoint i8* %0 to i64 + %2 = load i8*, i8** %mode.addr, align 8 + %call = call %struct.__STDIO_FILE_STRUCT.612* bitcast (%struct.__STDIO_FILE_STRUCT.568* (i64, i8*, %struct.__STDIO_FILE_STRUCT.568*, i32)* @_stdio_fopen to %struct.__STDIO_FILE_STRUCT.612* (i64, i8*, %struct.__STDIO_FILE_STRUCT.612*, i32)*)(i64 %1, i8* %2, %struct.__STDIO_FILE_STRUCT.612* null, i32 -1) #18 + ret %struct.__STDIO_FILE_STRUCT.612* %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fprintf(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i8* noalias %format, ...) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %format.addr = alloca i8*, align 8 + %arg = alloca [1 x %struct.__va_list_tag.0], align 16 + %rv = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdout, align 8 + %cmp = icmp eq %struct.__STDIO_FILE_STRUCT.568* %0, %1 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %cmp2 = icmp eq %struct.__STDIO_FILE_STRUCT.568* %2, %3 + br i1 %cmp2, label %if.then, label %if.else + +if.then: ; preds = %lor.lhs.false, %entry + %4 = load i8*, i8** %format.addr, align 8 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %call = call i32 @vprintf(i8* %4, %struct.__va_list_tag.0* %arraydecay3) #18 + store i32 %call, i32* %rv, align 4 + br label %if.end + +if.else: ; preds = %lor.lhs.false + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %6 = load i8*, i8** %format.addr, align 8 + %arraydecay4 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %call5 = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %5, i8* %6, %struct.__va_list_tag.0* %arraydecay4) #18 + store i32 %call5, i32* %rv, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %arraydecay6 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay67 = bitcast %struct.__va_list_tag.0* %arraydecay6 to i8* + call void @llvm.va_end(i8* %arraydecay67) + %7 = load i32, i32* %rv, align 4 + ret i32 %7 +} + +declare i32 @vprintf(i8*, %struct.__va_list_tag.0*) #17 + +; Function Attrs: noinline nounwind uwtable +define i32 @__fputc_unlocked(i32 %c, %struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %retval = alloca i32, align 4 + %c.addr = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %uc = alloca i8, align 1 + store i32 %c, i32* %c.addr, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 5 + %1 = load i8*, i8** %__bufpos, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 8 + %3 = load i8*, i8** %__bufputc_u, align 8 + %cmp = icmp ult i8* %1, %3 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %4 = load i32, i32* %c.addr, align 4 + %conv = trunc i32 %4 to i8 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 5 + %6 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + store i8 %conv, i8* %6, align 1 + %7 = load i32, i32* %c.addr, align 4 + %conv2 = trunc i32 %7 to i8 + %conv3 = zext i8 %conv2 to i32 + store i32 %conv3, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags, align 8 + %conv4 = zext i16 %9 to i32 + %and = and i32 %conv4, 192 + %cmp5 = icmp eq i32 %and, 192 + br i1 %cmp5, label %if.then7, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* %10, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %BAD, label %if.then7 + +if.then7: ; preds = %lor.lhs.false, %if.end + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 2 + %12 = load i32, i32* %__filedes, align 4 + %cmp8 = icmp eq i32 %12, -2 + br i1 %cmp8, label %if.then10, label %if.end13 + +if.then10: ; preds = %if.then7 + %13 = load i32, i32* %c.addr, align 4 + %conv11 = trunc i32 %13 to i8 + %conv12 = zext i8 %conv11 to i32 + store i32 %conv12, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.then7 + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %14, i32 0, i32 4 + %15 = load i8*, i8** %__bufend, align 8 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %16, i32 0, i32 3 + %17 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %15 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %17 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool14 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %tobool14, label %if.then15, label %if.else + +if.then15: ; preds = %if.end13 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend16 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 4 + %19 = load i8*, i8** %__bufend16, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 5 + %21 = load i8*, i8** %__bufpos17, align 8 + %sub.ptr.lhs.cast18 = ptrtoint i8* %19 to i64 + %sub.ptr.rhs.cast19 = ptrtoint i8* %21 to i64 + %sub.ptr.sub20 = sub i64 %sub.ptr.lhs.cast18, %sub.ptr.rhs.cast19 + %tobool21 = icmp ne i64 %sub.ptr.sub20, 0 + br i1 %tobool21, label %if.end25, label %land.lhs.true + +land.lhs.true: ; preds = %if.then15 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call22 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %22) #18 + %tobool23 = icmp ne i64 %call22, 0 + br i1 %tobool23, label %BAD, label %if.end25 + +if.end25: ; preds = %land.lhs.true, %if.then15 + %23 = load i32, i32* %c.addr, align 4 + %conv26 = trunc i32 %23 to i8 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos27 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 5 + %25 = load i8*, i8** %__bufpos27, align 8 + %incdec.ptr28 = getelementptr inbounds i8, i8* %25, i32 1 + store i8* %incdec.ptr28, i8** %__bufpos27, align 8 + store i8 %conv26, i8* %25, align 1 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags29 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 0 + %27 = load i16, i16* %__modeflags29, align 8 + %conv30 = zext i16 %27 to i32 + %and31 = and i32 %conv30, 256 + %tobool32 = icmp ne i32 %and31, 0 + br i1 %tobool32, label %if.then33, label %if.end51 + +if.then33: ; preds = %if.end25 + %28 = load i32, i32* %c.addr, align 4 + %conv34 = trunc i32 %28 to i8 + %conv35 = zext i8 %conv34 to i32 + %cmp36 = icmp eq i32 %conv35, 10 + br i1 %cmp36, label %land.lhs.true38, label %if.end51 + +land.lhs.true38: ; preds = %if.then33 + %29 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call39 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %29) #18 + %tobool40 = icmp ne i64 %call39, 0 + br i1 %tobool40, label %if.then41, label %if.end51 + +if.then41: ; preds = %land.lhs.true38 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos42 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %30, i32 0, i32 5 + %31 = load i8*, i8** %__bufpos42, align 8 + %incdec.ptr43 = getelementptr inbounds i8, i8* %31, i32 -1 + store i8* %incdec.ptr43, i8** %__bufpos42, align 8 + br label %BAD + +if.else: ; preds = %if.end13 + %32 = load i32, i32* %c.addr, align 4 + %conv46 = trunc i32 %32 to i8 + store i8 %conv46, i8* %uc, align 1 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call47 = call i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %33, i8* %uc, i64 1) #18 + %tobool48 = icmp ne i64 %call47, 0 + br i1 %tobool48, label %if.end51, label %BAD + +if.end51: ; preds = %if.else, %if.end25, %land.lhs.true38, %if.then33 + %34 = load i32, i32* %c.addr, align 4 + %conv52 = trunc i32 %34 to i8 + %conv53 = zext i8 %conv52 to i32 + store i32 %conv53, i32* %retval, align 4 + br label %return + +BAD: ; preds = %lor.lhs.false, %if.else, %land.lhs.true, %if.then41 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %BAD, %if.end51, %if.then10, %if.then + %35 = load i32, i32* %retval, align 4 + ret i32 %35 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fputs_unlocked(i8* noalias %s, %struct.__STDIO_FILE_STRUCT.621* noalias %stream) #0 { +entry: + %s.addr = alloca i8*, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.621*, align 8 + %n = alloca i64, align 8 + store i8* %s, i8** %s.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.621* %stream, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %call = call i64 @strlen(i8* %0) #20 + store i64 %call, i64* %n, align 8 + %1 = load i8*, i8** %s.addr, align 8 + %2 = load i64, i64* %n, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %call1 = call i64 bitcast (i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*)* @fwrite_unlocked to i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.621*)*)(i8* %1, i64 1, i64 %2, %struct.__STDIO_FILE_STRUCT.621* %3) #18 + %4 = load i64, i64* %n, align 8 + %cmp = icmp eq i64 %call1, %4 + %5 = load i64, i64* %n, align 8 + %cond = select i1 %cmp, i64 %5, i64 -1 + %conv = trunc i64 %cond to i32 + ret i32 %conv +} + +; Function Attrs: noinline nounwind uwtable +define i64 @fread_unlocked(i8* noalias %ptr, i64 %size, i64 %nmemb, %struct.__STDIO_FILE_STRUCT.568* noalias %stream) #0 { +entry: + %retval = alloca i64, align 8 + %ptr.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %nmemb.addr = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %buffer = alloca i8*, align 8 + %todo = alloca i64, align 8 + %bytes = alloca i64, align 8 + %avail = alloca i64, align 8 + store i8* %ptr, i8** %ptr.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + store i64 %nmemb, i64* %nmemb.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 131 + %cmp = icmp ugt i32 %and, 128 + br i1 %cmp, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2r_o(%struct.__STDIO_FILE_STRUCT.568* %2, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end60, label %land.lhs.true + +land.lhs.true: ; preds = %lor.lhs.false, %entry + %3 = load i64, i64* %size.addr, align 8 + %tobool2 = icmp ne i64 %3, 0 + %4 = load i64, i64* %nmemb.addr, align 8 + %tobool4 = icmp ne i64 %4, 0 + %or.cond = and i1 %tobool2, %tobool4 + br i1 %or.cond, label %if.then, label %if.end60 + +if.then: ; preds = %land.lhs.true + %5 = load i64, i64* %nmemb.addr, align 8 + %6 = load i64, i64* %size.addr, align 8 + %div = udiv i64 -1, %6 + %cmp5 = icmp ule i64 %5, %div + br i1 %cmp5, label %if.then7, label %if.end56 + +if.then7: ; preds = %if.then + %7 = load i8*, i8** %ptr.addr, align 8 + store i8* %7, i8** %buffer, align 8 + %8 = load i64, i64* %size.addr, align 8 + %9 = load i64, i64* %nmemb.addr, align 8 + %mul = mul i64 %8, %9 + store i64 %mul, i64* %bytes, align 8 + store i64 %mul, i64* %todo, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.then7 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags8 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 0 + %11 = load i16, i16* %__modeflags8, align 8 + %conv9 = zext i16 %11 to i32 + %and10 = and i32 %conv9, 2 + %tobool11 = icmp ne i32 %and10, 0 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %tobool11, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %__ungot = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 10 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags12 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 0 + %14 = load i16, i16* %__modeflags12, align 8 + %dec = add i16 %14, -1 + store i16 %dec, i16* %__modeflags12, align 8 + %conv13 = zext i16 %14 to i32 + %and14 = and i32 %conv13, 1 + %idxprom = sext i32 %and14 to i64 + %arrayidx = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot, i64 0, i64 %idxprom + %15 = load i32, i32* %arrayidx, align 4 + %conv15 = trunc i32 %15 to i8 + %16 = load i8*, i8** %buffer, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %16, i32 1 + store i8* %incdec.ptr, i8** %buffer, align 8 + store i8 %conv15, i8* %16, align 1 + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__ungot16 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 10 + %arrayidx17 = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot16, i64 0, i64 1 + store i32 0, i32* %arrayidx17, align 4 + %18 = load i64, i64* %todo, align 8 + %dec18 = add i64 %18, -1 + store i64 %dec18, i64* %todo, align 8 + %tobool19 = icmp ne i64 %dec18, 0 + br i1 %tobool19, label %while.cond, label %DONE + +while.end: ; preds = %while.cond + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 6 + %19 = load i8*, i8** %__bufread, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 5 + %21 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %21 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %avail, align 8 + %cmp21 = icmp ugt i64 %sub.ptr.sub, 0 + br i1 %cmp21, label %if.then23, label %if.end35 + +if.then23: ; preds = %while.end + %22 = load i64, i64* %avail, align 8 + %23 = load i64, i64* %todo, align 8 + %cmp24 = icmp ugt i64 %22, %23 + br i1 %cmp24, label %if.then26, label %if.end27 + +if.then26: ; preds = %if.then23 + %24 = load i64, i64* %todo, align 8 + store i64 %24, i64* %avail, align 8 + br label %if.end27 + +if.end27: ; preds = %if.then26, %if.then23 + %25 = load i8*, i8** %buffer, align 8 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos28 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 5 + %27 = load i8*, i8** %__bufpos28, align 8 + %28 = load i64, i64* %avail, align 8 + %call29 = call i8* @memcpy(i8* %25, i8* %27, i64 %28) #19 + %29 = load i64, i64* %avail, align 8 + %30 = load i8*, i8** %buffer, align 8 + %add.ptr = getelementptr inbounds i8, i8* %30, i64 %29 + store i8* %add.ptr, i8** %buffer, align 8 + %31 = load i64, i64* %avail, align 8 + %32 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos30 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %32, i32 0, i32 5 + %33 = load i8*, i8** %__bufpos30, align 8 + %add.ptr31 = getelementptr inbounds i8, i8* %33, i64 %31 + store i8* %add.ptr31, i8** %__bufpos30, align 8 + %34 = load i64, i64* %avail, align 8 + %35 = load i64, i64* %todo, align 8 + %sub = sub i64 %35, %34 + store i64 %sub, i64* %todo, align 8 + %tobool32 = icmp ne i64 %sub, 0 + br i1 %tobool32, label %if.end35, label %DONE + +if.end35: ; preds = %if.end27, %while.end + %36 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags36 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %36, i32 0, i32 0 + %37 = load i16, i16* %__modeflags36, align 8 + %conv37 = zext i16 %37 to i32 + %and38 = and i32 %conv37, 768 + %tobool39 = icmp ne i32 %and38, 0 + br i1 %tobool39, label %if.then40, label %if.end42 + +if.then40: ; preds = %if.end35 + %call41 = call i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.568* bitcast (%struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist to %struct.__STDIO_FILE_STRUCT.568*)) #18 + br label %if.end42 + +if.end42: ; preds = %if.then40, %if.end35 + br label %while.cond43 + +while.cond43: ; preds = %while.body47, %if.end42 + %38 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %39 = load i8*, i8** %buffer, align 8 + %40 = load i64, i64* %todo, align 8 + %call44 = call i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.568* %38, i8* %39, i64 %40) #18 + store i64 %call44, i64* %avail, align 8 + %cmp45 = icmp ugt i64 %call44, 0 + br i1 %cmp45, label %while.body47, label %DONE + +while.body47: ; preds = %while.cond43 + %41 = load i64, i64* %avail, align 8 + %42 = load i8*, i8** %buffer, align 8 + %add.ptr48 = getelementptr inbounds i8, i8* %42, i64 %41 + store i8* %add.ptr48, i8** %buffer, align 8 + %43 = load i64, i64* %avail, align 8 + %44 = load i64, i64* %todo, align 8 + %sub49 = sub i64 %44, %43 + store i64 %sub49, i64* %todo, align 8 + %tobool50 = icmp ne i64 %sub49, 0 + br i1 %tobool50, label %while.cond43, label %DONE + +DONE: ; preds = %while.cond43, %while.body47, %if.end27, %while.body + %45 = load i64, i64* %bytes, align 8 + %46 = load i64, i64* %todo, align 8 + %sub54 = sub i64 %45, %46 + %47 = load i64, i64* %size.addr, align 8 + %div55 = udiv i64 %sub54, %47 + store i64 %div55, i64* %retval, align 8 + br label %return + +if.end56: ; preds = %if.then + %48 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags57 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %48, i32 0, i32 0 + %49 = load i16, i16* %__modeflags57, align 8 + %conv58 = zext i16 %49 to i32 + %or = or i32 %conv58, 8 + %conv59 = trunc i32 %or to i16 + store i16 %conv59, i16* %__modeflags57, align 8 + store i32 22, i32* @errno, align 4 + br label %if.end60 + +if.end60: ; preds = %if.end56, %land.lhs.true, %lor.lhs.false + store i64 0, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end60, %DONE + %50 = load i64, i64* %retval, align 8 + ret i64 %50 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fseek(%struct.__STDIO_FILE_STRUCT.636* %stream, i64 %offset, i32 %whence) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %1 = load i64, i64* %offset.addr, align 8 + %2 = load i32, i32* %whence.addr, align 4 + %call = call i32 @fseeko64(%struct.__STDIO_FILE_STRUCT.636* %0, i64 %1, i32 %2) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i64 @fwrite_unlocked(i8* noalias %ptr, i64 %size, i64 %nmemb, %struct.__STDIO_FILE_STRUCT.568* noalias %stream) #0 { +entry: + %retval = alloca i64, align 8 + %ptr.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %nmemb.addr = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + store i8* %ptr, i8** %ptr.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + store i64 %nmemb, i64* %nmemb.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 192 + %cmp = icmp eq i32 %and, 192 + br i1 %cmp, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* %2, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end13, label %land.lhs.true + +land.lhs.true: ; preds = %lor.lhs.false, %entry + %3 = load i64, i64* %size.addr, align 8 + %tobool2 = icmp ne i64 %3, 0 + %4 = load i64, i64* %nmemb.addr, align 8 + %tobool4 = icmp ne i64 %4, 0 + %or.cond = and i1 %tobool2, %tobool4 + br i1 %or.cond, label %if.then, label %if.end13 + +if.then: ; preds = %land.lhs.true + %5 = load i64, i64* %nmemb.addr, align 8 + %6 = load i64, i64* %size.addr, align 8 + %div = udiv i64 -1, %6 + %cmp5 = icmp ule i64 %5, %div + br i1 %cmp5, label %if.then7, label %if.end + +if.then7: ; preds = %if.then + %7 = load i8*, i8** %ptr.addr, align 8 + %8 = load i64, i64* %size.addr, align 8 + %9 = load i64, i64* %nmemb.addr, align 8 + %mul = mul i64 %8, %9 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call8 = call i64 @__stdio_fwrite(i8* %7, i64 %mul, %struct.__STDIO_FILE_STRUCT.568* %10) #18 + %11 = load i64, i64* %size.addr, align 8 + %div9 = udiv i64 %call8, %11 + store i64 %div9, i64* %retval, align 8 + br label %return + +if.end: ; preds = %if.then + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags10, align 8 + %conv11 = zext i16 %13 to i32 + %or = or i32 %conv11, 8 + %conv12 = trunc i32 %or to i16 + store i16 %conv12, i16* %__modeflags10, align 8 + store i32 22, i32* @errno, align 4 + br label %if.end13 + +if.end13: ; preds = %if.end, %land.lhs.true, %lor.lhs.false + store i64 0, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end13, %if.then7 + %14 = load i64, i64* %retval, align 8 + ret i64 %14 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @putchar_unlocked(i32 %c) #0 { +entry: + %c.addr = alloca i32, align 4 + %stream = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + store i32 %c, i32* %c.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdout, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %0, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %1, i32 0, i32 5 + %2 = load i8*, i8** %__bufpos, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 8 + %4 = load i8*, i8** %__bufputc_u, align 8 + %cmp = icmp ult i8* %2, %4 + %5 = load i32, i32* %c.addr, align 4 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %entry + %conv = trunc i32 %5 to i8 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 5 + %7 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %7, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + store i8 %conv, i8* %7, align 1 + %conv2 = zext i8 %conv to i32 + br label %cond.end + +cond.false: ; preds = %entry + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %call = call i32 @__fputc_unlocked(i32 %5, %struct.__STDIO_FILE_STRUCT.568* %8) #18 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ %conv2, %cond.true ], [ %call, %cond.false ] + ret i32 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i32 @ungetc(i32 %c, %struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %c.addr = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + store i32 %c, i32* %c.addr, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 5 + %1 = load i8*, i8** %__bufpos, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 7 + %3 = load i8*, i8** %__bufgetc_u, align 8 + %cmp = icmp ult i8* %1, %3 + %4 = load i32, i32* %c.addr, align 4 + %cmp1 = icmp ne i32 %4, -1 + %or.cond = and i1 %cmp, %cmp1 + br i1 %or.cond, label %land.lhs.true2, label %if.else + +land.lhs.true2: ; preds = %entry + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos3 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 5 + %6 = load i8*, i8** %__bufpos3, align 8 + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %7, i32 0, i32 3 + %8 = load i8*, i8** %__bufstart, align 8 + %cmp4 = icmp ugt i8* %6, %8 + br i1 %cmp4, label %land.lhs.true5, label %if.else + +land.lhs.true5: ; preds = %land.lhs.true2 + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %9, i32 0, i32 5 + %10 = load i8*, i8** %__bufpos6, align 8 + %arrayidx = getelementptr inbounds i8, i8* %10, i64 -1 + %11 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %11 to i32 + %12 = load i32, i32* %c.addr, align 4 + %conv7 = trunc i32 %12 to i8 + %conv8 = zext i8 %conv7 to i32 + %cmp9 = icmp eq i32 %conv, %conv8 + br i1 %cmp9, label %if.then, label %if.else + +if.then: ; preds = %land.lhs.true5 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos11 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 5 + %14 = load i8*, i8** %__bufpos11, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %14, i32 -1 + store i8* %incdec.ptr, i8** %__bufpos11, align 8 + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 0 + %16 = load i16, i16* %__modeflags, align 8 + %conv12 = zext i16 %16 to i32 + %and = and i32 %conv12, -5 + %conv13 = trunc i32 %and to i16 + store i16 %conv13, i16* %__modeflags, align 8 + br label %if.end51 + +if.else: ; preds = %land.lhs.true5, %land.lhs.true2, %entry + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags14 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 0 + %18 = load i16, i16* %__modeflags14, align 8 + %conv15 = zext i16 %18 to i32 + %and16 = and i32 %conv15, 131 + %cmp17 = icmp ugt i32 %and16, 128 + br i1 %cmp17, label %lor.lhs.false, label %land.lhs.true19 + +land.lhs.true19: ; preds = %if.else + %19 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2r_o(%struct.__STDIO_FILE_STRUCT.568* %19, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then32, label %lor.lhs.false + +lor.lhs.false: ; preds = %land.lhs.true19, %if.else + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags20 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 0 + %21 = load i16, i16* %__modeflags20, align 8 + %conv21 = zext i16 %21 to i32 + %and22 = and i32 %conv21, 2 + %tobool23 = icmp ne i32 %and22, 0 + br i1 %tobool23, label %land.lhs.true24, label %if.else33 + +land.lhs.true24: ; preds = %lor.lhs.false + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags25 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 0 + %23 = load i16, i16* %__modeflags25, align 8 + %conv26 = zext i16 %23 to i32 + %and27 = and i32 %conv26, 1 + %tobool28 = icmp ne i32 %and27, 0 + br i1 %tobool28, label %if.then32, label %lor.lhs.false29 + +lor.lhs.false29: ; preds = %land.lhs.true24 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__ungot = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 10 + %arrayidx30 = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot, i64 0, i64 1 + %25 = load i32, i32* %arrayidx30, align 4 + %tobool31 = icmp ne i32 %25, 0 + br i1 %tobool31, label %if.then32, label %if.else33 + +if.then32: ; preds = %lor.lhs.false29, %land.lhs.true24, %land.lhs.true19 + store i32 -1, i32* %c.addr, align 4 + br label %if.end51 + +if.else33: ; preds = %lor.lhs.false29, %lor.lhs.false + %26 = load i32, i32* %c.addr, align 4 + %cmp34 = icmp ne i32 %26, -1 + br i1 %cmp34, label %if.then36, label %if.end51 + +if.then36: ; preds = %if.else33 + %27 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart37 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %27, i32 0, i32 3 + %28 = load i8*, i8** %__bufstart37, align 8 + %29 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u38 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %29, i32 0, i32 7 + store i8* %28, i8** %__bufgetc_u38, align 8 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__ungot39 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %30, i32 0, i32 10 + %arrayidx40 = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot39, i64 0, i64 1 + store i32 1, i32* %arrayidx40, align 4 + %31 = load i32, i32* %c.addr, align 4 + %32 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__ungot41 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %32, i32 0, i32 10 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags42 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %33, i32 0, i32 0 + %34 = load i16, i16* %__modeflags42, align 8 + %inc = add i16 %34, 1 + store i16 %inc, i16* %__modeflags42, align 8 + %conv43 = zext i16 %inc to i32 + %and44 = and i32 %conv43, 1 + %idxprom = sext i32 %and44 to i64 + %arrayidx45 = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot41, i64 0, i64 %idxprom + store i32 %31, i32* %arrayidx45, align 4 + %35 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags46 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %35, i32 0, i32 0 + %36 = load i16, i16* %__modeflags46, align 8 + %conv47 = zext i16 %36 to i32 + %and48 = and i32 %conv47, -5 + %conv49 = trunc i32 %and48 to i16 + store i16 %conv49, i16* %__modeflags46, align 8 + br label %if.end51 + +if.end51: ; preds = %if.then32, %if.then36, %if.else33, %if.then + %37 = load i32, i32* %c.addr, align 4 + ret i32 %37 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @vsnprintf(i8* noalias %buf, i64 %size, i8* noalias %format, %struct.__va_list_tag.0* %arg) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %format.addr = alloca i8*, align 8 + %arg.addr = alloca %struct.__va_list_tag.0*, align 8 + %f = alloca %struct.__STDIO_FILE_STRUCT.568, align 8 + %rv = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + store %struct.__va_list_tag.0* %arg, %struct.__va_list_tag.0** %arg.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 2 + store i32 -2, i32* %__filedes, align 4 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 0 + store i16 208, i16* %__modeflags, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 1 + %arrayidx = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 0 + store i8 0, i8* %arrayidx, align 2 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + store i32 0, i32* %__mask, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 9 + store %struct.__STDIO_FILE_STRUCT.568* null, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + %0 = load i64, i64* %size.addr, align 8 + %1 = load i8*, i8** %buf.addr, align 8 + %2 = ptrtoint i8* %1 to i64 + %sub = sub i64 -1, %2 + %cmp = icmp ugt i64 %0, %sub + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %3 = load i8*, i8** %buf.addr, align 8 + %4 = ptrtoint i8* %3 to i64 + %sub1 = sub i64 -1, %4 + store i64 %sub1, i64* %size.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %5 = load i8*, i8** %buf.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 3 + store i8* %5, i8** %__bufstart, align 8 + %6 = load i8*, i8** %buf.addr, align 8 + %7 = load i64, i64* %size.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %6, i64 %7 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 4 + store i8* %add.ptr, i8** %__bufend, align 8 + %__bufstart2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 3 + %8 = load i8*, i8** %__bufstart2, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + store i8* %8, i8** %__bufpos, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 6 + store i8* %8, i8** %__bufread, align 8 + %__bufstart3 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 3 + %9 = load i8*, i8** %__bufstart3, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 7 + store i8* %9, i8** %__bufgetc_u, align 8 + %__bufend4 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 4 + %10 = load i8*, i8** %__bufend4, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 8 + store i8* %10, i8** %__bufputc_u, align 8 + %11 = load i8*, i8** %format.addr, align 8 + %12 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %arg.addr, align 8 + %call = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %f, i8* %11, %struct.__va_list_tag.0* %12) #18 + store i32 %call, i32* %rv, align 4 + %13 = load i64, i64* %size.addr, align 8 + %tobool = icmp ne i64 %13, 0 + br i1 %tobool, label %if.then5, label %if.end13 + +if.then5: ; preds = %if.end + %__bufpos6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + %14 = load i8*, i8** %__bufpos6, align 8 + %__bufend7 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 4 + %15 = load i8*, i8** %__bufend7, align 8 + %cmp8 = icmp eq i8* %14, %15 + br i1 %cmp8, label %if.then9, label %if.end11 + +if.then9: ; preds = %if.then5 + %__bufpos10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + %16 = load i8*, i8** %__bufpos10, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %16, i32 -1 + store i8* %incdec.ptr, i8** %__bufpos10, align 8 + br label %if.end11 + +if.end11: ; preds = %if.then9, %if.then5 + %__bufpos12 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + %17 = load i8*, i8** %__bufpos12, align 8 + store i8 0, i8* %17, align 1 + br label %if.end13 + +if.end13: ; preds = %if.end11, %if.end + %18 = load i32, i32* %rv, align 4 + ret i32 %18 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @atexit(void ()* nonnull %func) #0 { +entry: + %func.addr = alloca void ()*, align 8 + store void ()* %func, void ()** %func.addr, align 8 + %0 = load void ()*, void ()** %func.addr, align 8 + %1 = bitcast void ()* %0 to void (i8*)* + br i1 icmp eq (i8** @__dso_handle, i8** null), label %cond.end, label %cond.false + +cond.false: ; preds = %entry + %2 = load i8*, i8** @__dso_handle, align 8 + br label %cond.end + +cond.end: ; preds = %entry, %cond.false + %cond = phi i8* [ %2, %cond.false ], [ null, %entry ] + %call = call i32 @__cxa_atexit(void (i8*)* %1, i8* null, i8* %cond) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define void @qsort(i8* nonnull %base, i64 %nel, i64 %width, i32 (i8*, i8*)* nonnull %comp) #0 { +entry: + %base.addr = alloca i8*, align 8 + %nel.addr = alloca i64, align 8 + %width.addr = alloca i64, align 8 + %comp.addr = alloca i32 (i8*, i8*)*, align 8 + %wgap = alloca i64, align 8 + %i = alloca i64, align 8 + %j = alloca i64, align 8 + %k = alloca i64, align 8 + %tmp = alloca i8, align 1 + %a = alloca i8*, align 8 + %b = alloca i8*, align 8 + store i8* %base, i8** %base.addr, align 8 + store i64 %nel, i64* %nel.addr, align 8 + store i64 %width, i64* %width.addr, align 8 + store i32 (i8*, i8*)* %comp, i32 (i8*, i8*)** %comp.addr, align 8 + %0 = load i64, i64* %nel.addr, align 8 + %cmp = icmp ugt i64 %0, 1 + %1 = load i64, i64* %width.addr, align 8 + %cmp1 = icmp ugt i64 %1, 0 + %or.cond = and i1 %cmp, %cmp1 + br i1 %or.cond, label %if.then, label %if.end28 + +if.then: ; preds = %entry + store i64 0, i64* %wgap, align 8 + br label %do.body + +do.body: ; preds = %do.body, %if.then + %2 = load i64, i64* %wgap, align 8 + %mul = mul i64 3, %2 + %add = add i64 %mul, 1 + store i64 %add, i64* %wgap, align 8 + %3 = load i64, i64* %wgap, align 8 + %4 = load i64, i64* %nel.addr, align 8 + %sub = sub i64 %4, 1 + %div = udiv i64 %sub, 3 + %cmp2 = icmp ult i64 %3, %div + br i1 %cmp2, label %do.body, label %do.end + +do.end: ; preds = %do.body + %5 = load i64, i64* %width.addr, align 8 + %6 = load i64, i64* %wgap, align 8 + %mul3 = mul i64 %6, %5 + store i64 %mul3, i64* %wgap, align 8 + %7 = load i64, i64* %width.addr, align 8 + %8 = load i64, i64* %nel.addr, align 8 + %mul4 = mul i64 %8, %7 + store i64 %mul4, i64* %nel.addr, align 8 + br label %do.body5 + +do.body5: ; preds = %do.end22, %do.end + %9 = load i64, i64* %wgap, align 8 + store i64 %9, i64* %i, align 8 + br label %do.body6 + +do.body6: ; preds = %do.end18, %do.body5 + %10 = load i64, i64* %i, align 8 + store i64 %10, i64* %j, align 8 + br label %do.body7 + +do.body7: ; preds = %do.cond16, %do.body6 + %11 = load i64, i64* %wgap, align 8 + %12 = load i64, i64* %j, align 8 + %sub8 = sub i64 %12, %11 + store i64 %sub8, i64* %j, align 8 + %13 = load i64, i64* %j, align 8 + %14 = load i8*, i8** %base.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %14, i64 %13 + store i8* %add.ptr, i8** %a, align 8 + %15 = load i8*, i8** %a, align 8 + %16 = load i64, i64* %wgap, align 8 + %add.ptr9 = getelementptr inbounds i8, i8* %15, i64 %16 + store i8* %add.ptr9, i8** %b, align 8 + %17 = load i32 (i8*, i8*)*, i32 (i8*, i8*)** %comp.addr, align 8 + %18 = load i8*, i8** %a, align 8 + %19 = load i8*, i8** %b, align 8 + %call = call i32 %17(i8* %18, i8* %19) #18 + %cmp10 = icmp sle i32 %call, 0 + br i1 %cmp10, label %do.end18, label %if.end + +if.end: ; preds = %do.body7 + %20 = load i64, i64* %width.addr, align 8 + store i64 %20, i64* %k, align 8 + br label %do.body12 + +do.body12: ; preds = %do.body12, %if.end + %21 = load i8*, i8** %a, align 8 + %22 = load i8, i8* %21, align 1 + store i8 %22, i8* %tmp, align 1 + %23 = load i8*, i8** %b, align 8 + %24 = load i8, i8* %23, align 1 + %25 = load i8*, i8** %a, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %25, i32 1 + store i8* %incdec.ptr, i8** %a, align 8 + store i8 %24, i8* %25, align 1 + %26 = load i8, i8* %tmp, align 1 + %27 = load i8*, i8** %b, align 8 + %incdec.ptr13 = getelementptr inbounds i8, i8* %27, i32 1 + store i8* %incdec.ptr13, i8** %b, align 8 + store i8 %26, i8* %27, align 1 + %28 = load i64, i64* %k, align 8 + %dec = add i64 %28, -1 + store i64 %dec, i64* %k, align 8 + %tobool = icmp ne i64 %dec, 0 + br i1 %tobool, label %do.body12, label %do.cond16 + +do.cond16: ; preds = %do.body12 + %29 = load i64, i64* %j, align 8 + %30 = load i64, i64* %wgap, align 8 + %cmp17 = icmp uge i64 %29, %30 + br i1 %cmp17, label %do.body7, label %do.end18 + +do.end18: ; preds = %do.body7, %do.cond16 + %31 = load i64, i64* %width.addr, align 8 + %32 = load i64, i64* %i, align 8 + %add19 = add i64 %32, %31 + store i64 %add19, i64* %i, align 8 + %33 = load i64, i64* %i, align 8 + %34 = load i64, i64* %nel.addr, align 8 + %cmp21 = icmp ult i64 %33, %34 + br i1 %cmp21, label %do.body6, label %do.end22 + +do.end22: ; preds = %do.end18 + %35 = load i64, i64* %wgap, align 8 + %36 = load i64, i64* %width.addr, align 8 + %sub23 = sub i64 %35, %36 + %div24 = udiv i64 %sub23, 3 + store i64 %div24, i64* %wgap, align 8 + %37 = load i64, i64* %wgap, align 8 + %tobool26 = icmp ne i64 %37, 0 + br i1 %tobool26, label %do.body5, label %if.end28 + +if.end28: ; preds = %do.end22, %entry + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i8* @realpath(i8* %path, i8* nonnull %got_path) #0 { +entry: + %retval = alloca i8*, align 8 + %path.addr = alloca i8*, align 8 + %got_path.addr = alloca i8*, align 8 + %copy_path = alloca [4096 x i8], align 16 + %max_path = alloca i8*, align 8 + %new_path = alloca i8*, align 8 + %path_len = alloca i64, align 8 + %readlinks = alloca i32, align 4 + %link_len = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store i8* %got_path, i8** %got_path.addr, align 8 + store i32 0, i32* %readlinks, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %cmp = icmp eq i8* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 22, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %path.addr, align 8 + %2 = load i8, i8* %1, align 1 + %conv = sext i8 %2 to i32 + %cmp1 = icmp eq i32 %conv, 0 + br i1 %cmp1, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.end + store i32 2, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %if.end + %3 = load i8*, i8** %path.addr, align 8 + %call = call i64 @strlen(i8* %3) #20 + store i64 %call, i64* %path_len, align 8 + %4 = load i64, i64* %path_len, align 8 + %cmp5 = icmp uge i64 %4, 4094 + br i1 %cmp5, label %if.then7, label %if.end8 + +if.then7: ; preds = %if.end4 + store i32 36, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end8: ; preds = %if.end4 + %arraydecay = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 4095 + %5 = load i64, i64* %path_len, align 8 + %idx.neg = sub i64 0, %5 + %add.ptr9 = getelementptr inbounds i8, i8* %add.ptr, i64 %idx.neg + %6 = load i8*, i8** %path.addr, align 8 + %call10 = call i8* @strcpy(i8* %add.ptr9, i8* %6) #19 + %arraydecay11 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr12 = getelementptr inbounds i8, i8* %arraydecay11, i64 4095 + %7 = load i64, i64* %path_len, align 8 + %idx.neg13 = sub i64 0, %7 + %add.ptr14 = getelementptr inbounds i8, i8* %add.ptr12, i64 %idx.neg13 + store i8* %add.ptr14, i8** %path.addr, align 8 + %8 = load i8*, i8** %got_path.addr, align 8 + %add.ptr15 = getelementptr inbounds i8, i8* %8, i64 4096 + %add.ptr16 = getelementptr inbounds i8, i8* %add.ptr15, i64 -2 + store i8* %add.ptr16, i8** %max_path, align 8 + %9 = load i8*, i8** %got_path.addr, align 8 + store i8* %9, i8** %new_path, align 8 + %10 = load i8*, i8** %path.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv17 = sext i8 %11 to i32 + %cmp18 = icmp ne i32 %conv17, 47 + %12 = load i8*, i8** %new_path, align 8 + br i1 %cmp18, label %if.then20, label %if.else + +if.then20: ; preds = %if.end8 + %call21 = call i8* @getcwd(i8* %12, i64 4095) #19 + %tobool = icmp ne i8* %call21, null + br i1 %tobool, label %if.end23, label %if.then22 + +if.then22: ; preds = %if.then20 + store i8* null, i8** %retval, align 8 + br label %return + +if.end23: ; preds = %if.then20 + %13 = load i8*, i8** %new_path, align 8 + %call24 = call i64 @strlen(i8* %13) #20 + %14 = load i8*, i8** %new_path, align 8 + %add.ptr25 = getelementptr inbounds i8, i8* %14, i64 %call24 + store i8* %add.ptr25, i8** %new_path, align 8 + %15 = load i8*, i8** %new_path, align 8 + %arrayidx = getelementptr inbounds i8, i8* %15, i64 -1 + %16 = load i8, i8* %arrayidx, align 1 + %conv26 = sext i8 %16 to i32 + %cmp27 = icmp ne i32 %conv26, 47 + br i1 %cmp27, label %if.then29, label %if.end33 + +if.then29: ; preds = %if.end23 + %17 = load i8*, i8** %new_path, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %17, i32 1 + store i8* %incdec.ptr, i8** %new_path, align 8 + store i8 47, i8* %17, align 1 + br label %if.end33 + +if.else: ; preds = %if.end8 + %incdec.ptr31 = getelementptr inbounds i8, i8* %12, i32 1 + store i8* %incdec.ptr31, i8** %new_path, align 8 + store i8 47, i8* %12, align 1 + %18 = load i8*, i8** %path.addr, align 8 + %incdec.ptr32 = getelementptr inbounds i8, i8* %18, i32 1 + store i8* %incdec.ptr32, i8** %path.addr, align 8 + br label %if.end33 + +if.end33: ; preds = %if.end23, %if.then29, %if.else + br label %while.cond + +while.cond: ; preds = %while.cond79, %if.then72, %if.end155, %if.then55, %if.then40, %if.end33 + %19 = load i8*, i8** %path.addr, align 8 + %20 = load i8, i8* %19, align 1 + %conv34 = sext i8 %20 to i32 + %cmp35 = icmp ne i32 %conv34, 0 + br i1 %cmp35, label %while.body, label %while.end157 + +while.body: ; preds = %while.cond + %21 = load i8*, i8** %path.addr, align 8 + %22 = load i8, i8* %21, align 1 + %conv37 = sext i8 %22 to i32 + %cmp38 = icmp eq i32 %conv37, 47 + %23 = load i8*, i8** %path.addr, align 8 + br i1 %cmp38, label %if.then40, label %if.end42 + +if.then40: ; preds = %while.body + %incdec.ptr41 = getelementptr inbounds i8, i8* %23, i32 1 + store i8* %incdec.ptr41, i8** %path.addr, align 8 + br label %while.cond + +if.end42: ; preds = %while.body + %24 = load i8, i8* %23, align 1 + %conv43 = sext i8 %24 to i32 + %cmp44 = icmp eq i32 %conv43, 46 + br i1 %cmp44, label %if.then46, label %if.end88 + +if.then46: ; preds = %if.end42 + %25 = load i8*, i8** %path.addr, align 8 + %arrayidx47 = getelementptr inbounds i8, i8* %25, i64 1 + %26 = load i8, i8* %arrayidx47, align 1 + %conv48 = sext i8 %26 to i32 + %cmp49 = icmp eq i32 %conv48, 0 + br i1 %cmp49, label %if.then55, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then46 + %27 = load i8*, i8** %path.addr, align 8 + %arrayidx51 = getelementptr inbounds i8, i8* %27, i64 1 + %28 = load i8, i8* %arrayidx51, align 1 + %conv52 = sext i8 %28 to i32 + %cmp53 = icmp eq i32 %conv52, 47 + br i1 %cmp53, label %if.then55, label %if.end57 + +if.then55: ; preds = %lor.lhs.false, %if.then46 + %29 = load i8*, i8** %path.addr, align 8 + %incdec.ptr56 = getelementptr inbounds i8, i8* %29, i32 1 + store i8* %incdec.ptr56, i8** %path.addr, align 8 + br label %while.cond + +if.end57: ; preds = %lor.lhs.false + %30 = load i8*, i8** %path.addr, align 8 + %arrayidx58 = getelementptr inbounds i8, i8* %30, i64 1 + %31 = load i8, i8* %arrayidx58, align 1 + %conv59 = sext i8 %31 to i32 + %cmp60 = icmp eq i32 %conv59, 46 + br i1 %cmp60, label %if.then62, label %if.end88 + +if.then62: ; preds = %if.end57 + %32 = load i8*, i8** %path.addr, align 8 + %arrayidx63 = getelementptr inbounds i8, i8* %32, i64 2 + %33 = load i8, i8* %arrayidx63, align 1 + %conv64 = sext i8 %33 to i32 + %cmp65 = icmp eq i32 %conv64, 0 + br i1 %cmp65, label %if.then72, label %lor.lhs.false67 + +lor.lhs.false67: ; preds = %if.then62 + %34 = load i8*, i8** %path.addr, align 8 + %arrayidx68 = getelementptr inbounds i8, i8* %34, i64 2 + %35 = load i8, i8* %arrayidx68, align 1 + %conv69 = sext i8 %35 to i32 + %cmp70 = icmp eq i32 %conv69, 47 + br i1 %cmp70, label %if.then72, label %if.end88 + +if.then72: ; preds = %lor.lhs.false67, %if.then62 + %36 = load i8*, i8** %path.addr, align 8 + %add.ptr73 = getelementptr inbounds i8, i8* %36, i64 2 + store i8* %add.ptr73, i8** %path.addr, align 8 + %37 = load i8*, i8** %new_path, align 8 + %38 = load i8*, i8** %got_path.addr, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %38, i64 1 + %cmp75 = icmp eq i8* %37, %add.ptr74 + br i1 %cmp75, label %while.cond, label %while.cond79 + +while.cond79: ; preds = %while.cond79, %if.then72 + %39 = load i8*, i8** %new_path, align 8 + %incdec.ptr80 = getelementptr inbounds i8, i8* %39, i32 -1 + store i8* %incdec.ptr80, i8** %new_path, align 8 + %arrayidx81 = getelementptr inbounds i8, i8* %incdec.ptr80, i64 -1 + %40 = load i8, i8* %arrayidx81, align 1 + %conv82 = sext i8 %40 to i32 + %cmp83 = icmp ne i32 %conv82, 47 + br i1 %cmp83, label %while.cond79, label %while.cond + +if.end88: ; preds = %if.end57, %lor.lhs.false67, %if.end42 + br label %while.cond89 + +while.cond89: ; preds = %if.end100, %if.end88 + %41 = load i8*, i8** %path.addr, align 8 + %42 = load i8, i8* %41, align 1 + %conv90 = sext i8 %42 to i32 + %cmp91 = icmp ne i32 %conv90, 0 + br i1 %cmp91, label %land.rhs, label %while.end103 + +land.rhs: ; preds = %while.cond89 + %43 = load i8*, i8** %path.addr, align 8 + %44 = load i8, i8* %43, align 1 + %conv93 = sext i8 %44 to i32 + %cmp94 = icmp ne i32 %conv93, 47 + br i1 %cmp94, label %while.body96, label %while.end103 + +while.body96: ; preds = %land.rhs + %45 = load i8*, i8** %new_path, align 8 + %46 = load i8*, i8** %max_path, align 8 + %cmp97 = icmp ugt i8* %45, %46 + br i1 %cmp97, label %if.then99, label %if.end100 + +if.then99: ; preds = %while.body96 + store i32 36, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end100: ; preds = %while.body96 + %47 = load i8*, i8** %path.addr, align 8 + %incdec.ptr101 = getelementptr inbounds i8, i8* %47, i32 1 + store i8* %incdec.ptr101, i8** %path.addr, align 8 + %48 = load i8, i8* %47, align 1 + %49 = load i8*, i8** %new_path, align 8 + %incdec.ptr102 = getelementptr inbounds i8, i8* %49, i32 1 + store i8* %incdec.ptr102, i8** %new_path, align 8 + store i8 %48, i8* %49, align 1 + br label %while.cond89 + +while.end103: ; preds = %while.cond89, %land.rhs + %50 = load i32, i32* %readlinks, align 4 + %inc = add nsw i32 %50, 1 + store i32 %inc, i32* %readlinks, align 4 + %cmp104 = icmp sgt i32 %50, 32 + br i1 %cmp104, label %if.then106, label %if.end107 + +if.then106: ; preds = %while.end103 + store i32 40, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end107: ; preds = %while.end103 + %51 = load i8*, i8** %path.addr, align 8 + %call108 = call i64 @strlen(i8* %51) #20 + store i64 %call108, i64* %path_len, align 8 + %52 = load i8*, i8** %new_path, align 8 + store i8 0, i8* %52, align 1 + %53 = load i8*, i8** %got_path.addr, align 8 + %arraydecay109 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %call110 = call i64 @readlink(i8* %53, i8* %arraydecay109, i64 4095) #19 + %conv111 = trunc i64 %call110 to i32 + store i32 %conv111, i32* %link_len, align 4 + %54 = load i32, i32* %link_len, align 4 + %cmp112 = icmp slt i32 %54, 0 + br i1 %cmp112, label %if.then114, label %if.else119 + +if.then114: ; preds = %if.end107 + %55 = load i32, i32* @errno, align 4 + %cmp115 = icmp ne i32 %55, 22 + br i1 %cmp115, label %if.then117, label %if.end155 + +if.then117: ; preds = %if.then114 + store i8* null, i8** %retval, align 8 + br label %return + +if.else119: ; preds = %if.end107 + %56 = load i64, i64* %path_len, align 8 + %57 = load i32, i32* %link_len, align 4 + %conv120 = sext i32 %57 to i64 + %add = add i64 %56, %conv120 + %cmp121 = icmp uge i64 %add, 4094 + br i1 %cmp121, label %if.then123, label %if.end124 + +if.then123: ; preds = %if.else119 + store i32 36, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end124: ; preds = %if.else119 + %arraydecay125 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %58 = load i8, i8* %arraydecay125, align 16 + %conv126 = sext i8 %58 to i32 + %cmp127 = icmp eq i32 %conv126, 47 + br i1 %cmp127, label %if.then129, label %while.cond131 + +if.then129: ; preds = %if.end124 + %59 = load i8*, i8** %got_path.addr, align 8 + store i8* %59, i8** %new_path, align 8 + br label %if.end138 + +while.cond131: ; preds = %while.cond131, %if.end124 + %60 = load i8*, i8** %new_path, align 8 + %incdec.ptr132 = getelementptr inbounds i8, i8* %60, i32 -1 + store i8* %incdec.ptr132, i8** %new_path, align 8 + %61 = load i8, i8* %incdec.ptr132, align 1 + %conv133 = sext i8 %61 to i32 + %cmp134 = icmp ne i32 %conv133, 47 + br i1 %cmp134, label %while.cond131, label %if.end138 + +if.end138: ; preds = %while.cond131, %if.then129 + %arraydecay139 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr140 = getelementptr inbounds i8, i8* %arraydecay139, i64 4095 + %62 = load i32, i32* %link_len, align 4 + %idx.ext = sext i32 %62 to i64 + %idx.neg141 = sub i64 0, %idx.ext + %add.ptr142 = getelementptr inbounds i8, i8* %add.ptr140, i64 %idx.neg141 + %63 = load i64, i64* %path_len, align 8 + %idx.neg143 = sub i64 0, %63 + %add.ptr144 = getelementptr inbounds i8, i8* %add.ptr142, i64 %idx.neg143 + %arraydecay145 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %64 = load i32, i32* %link_len, align 4 + %conv146 = sext i32 %64 to i64 + %call147 = call i8* @memmove(i8* %add.ptr144, i8* %arraydecay145, i64 %conv146) #19 + %arraydecay148 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr149 = getelementptr inbounds i8, i8* %arraydecay148, i64 4095 + %65 = load i32, i32* %link_len, align 4 + %idx.ext150 = sext i32 %65 to i64 + %idx.neg151 = sub i64 0, %idx.ext150 + %add.ptr152 = getelementptr inbounds i8, i8* %add.ptr149, i64 %idx.neg151 + %66 = load i64, i64* %path_len, align 8 + %idx.neg153 = sub i64 0, %66 + %add.ptr154 = getelementptr inbounds i8, i8* %add.ptr152, i64 %idx.neg153 + store i8* %add.ptr154, i8** %path.addr, align 8 + br label %if.end155 + +if.end155: ; preds = %if.then114, %if.end138 + %67 = load i8*, i8** %new_path, align 8 + %incdec.ptr156 = getelementptr inbounds i8, i8* %67, i32 1 + store i8* %incdec.ptr156, i8** %new_path, align 8 + store i8 47, i8* %67, align 1 + br label %while.cond + +while.end157: ; preds = %while.cond + %68 = load i8*, i8** %new_path, align 8 + %69 = load i8*, i8** %got_path.addr, align 8 + %add.ptr158 = getelementptr inbounds i8, i8* %69, i64 1 + %cmp159 = icmp ne i8* %68, %add.ptr158 + br i1 %cmp159, label %land.lhs.true, label %if.end167 + +land.lhs.true: ; preds = %while.end157 + %70 = load i8*, i8** %new_path, align 8 + %arrayidx161 = getelementptr inbounds i8, i8* %70, i64 -1 + %71 = load i8, i8* %arrayidx161, align 1 + %conv162 = sext i8 %71 to i32 + %cmp163 = icmp eq i32 %conv162, 47 + br i1 %cmp163, label %if.then165, label %if.end167 + +if.then165: ; preds = %land.lhs.true + %72 = load i8*, i8** %new_path, align 8 + %incdec.ptr166 = getelementptr inbounds i8, i8* %72, i32 -1 + store i8* %incdec.ptr166, i8** %new_path, align 8 + br label %if.end167 + +if.end167: ; preds = %if.then165, %land.lhs.true, %while.end157 + %73 = load i8*, i8** %new_path, align 8 + store i8 0, i8* %73, align 1 + %74 = load i8*, i8** %got_path.addr, align 8 + store i8* %74, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end167, %if.then123, %if.then117, %if.then106, %if.then99, %if.then22, %if.then7, %if.then3, %if.then + %75 = load i8*, i8** %retval, align 8 + ret i8* %75 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @memchr(i8* nonnull %s, i32 %c, i64 %n) #14 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %n.addr = alloca i64, align 8 + %r = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %r, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %1 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %2 = load i8*, i8** %r, align 8 + %3 = load i8, i8* %2, align 1 + %conv = zext i8 %3 to i32 + %4 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %4 to i8 + %conv2 = zext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + %5 = load i8*, i8** %r, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + store i8* %5, i8** %retval, align 8 + br label %return + +if.end: ; preds = %while.body + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %r, align 8 + %6 = load i64, i64* %n.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then + %7 = load i8*, i8** %retval, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @memcmp(i8* nonnull %s1, i8* nonnull %s2, i64 %n) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r1 = alloca i8*, align 8 + %r2 = alloca i8*, align 8 + %r = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %r1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %r2, align 8 + store i32 0, i32* %r, align 4 + br label %while.cond + +while.cond: ; preds = %land.rhs, %entry + %2 = load i64, i64* %n.addr, align 8 + %dec = add i64 %2, -1 + store i64 %dec, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %3 = load i8*, i8** %r1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %r1, align 8 + %4 = load i8, i8* %3, align 1 + %conv = zext i8 %4 to i32 + %5 = load i8*, i8** %r2, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr1, i8** %r2, align 8 + %6 = load i8, i8* %5, align 1 + %conv2 = zext i8 %6 to i32 + %sub = sub nsw i32 %conv, %conv2 + store i32 %sub, i32* %r, align 4 + %cmp = icmp eq i32 %sub, 0 + br i1 %cmp, label %while.cond, label %while.end + +while.end: ; preds = %while.cond, %land.rhs + %7 = load i32, i32* %r, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define noalias i8* @strndup(i8* nonnull %s1, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %s = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + %1 = load i64, i64* %n.addr, align 8 + %call = call i64 @strnlen(i8* %0, i64 %1) #20 + store i64 %call, i64* %n.addr, align 8 + %2 = load i64, i64* %n.addr, align 8 + %add = add i64 %2, 1 + %call1 = call noalias i8* @malloc(i64 %add) #19 + store i8* %call1, i8** %s, align 8 + %cmp = icmp ne i8* %call1, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %3 = load i8*, i8** %s, align 8 + %4 = load i8*, i8** %s1.addr, align 8 + %5 = load i64, i64* %n.addr, align 8 + %call2 = call i8* @memcpy(i8* %3, i8* %4, i64 %5) #19 + %6 = load i8*, i8** %s, align 8 + %7 = load i64, i64* %n.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %6, i64 %7 + store i8 0, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then, %entry + %8 = load i8*, i8** %s, align 8 + ret i8* %8 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i64 @strspn(i8* nonnull %s1, i8* nonnull %s2) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %2 = load i8*, i8** %p, align 8 + %3 = load i8, i8* %2, align 1 + %tobool = icmp ne i8 %3, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %5 = load i8, i8* %4, align 1 + %conv = sext i8 %5 to i32 + %6 = load i8*, i8** %s, align 8 + %7 = load i8, i8* %6, align 1 + %conv1 = sext i8 %7 to i32 + %cmp = icmp eq i32 %conv, %conv1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + %8 = load i8*, i8** %s, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %8, i32 1 + store i8* %incdec.ptr3, i8** %s, align 8 + %9 = load i8*, i8** %s2.addr, align 8 + store i8* %9, i8** %p, align 8 + br label %if.end + +if.end: ; preds = %if.then, %while.body + br label %while.cond + +while.end: ; preds = %while.cond + %10 = load i8*, i8** %s, align 8 + %11 = load i8*, i8** %s1.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %10 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %11 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind uwtable +define i32 @tcgetattr(i32 %fd, %struct.termios* %termios_p) #0 { +entry: + %fd.addr = alloca i32, align 4 + %termios_p.addr = alloca %struct.termios*, align 8 + %k_termios = alloca %struct.__kernel_termios, align 4 + %retval1 = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.termios* %termios_p, %struct.termios** %termios_p.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 (i32, i64, ...) @ioctl(i32 %0, i64 21505, %struct.__kernel_termios* %k_termios) #19 + store i32 %call, i32* %retval1, align 4 + %c_iflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 0 + %1 = load i32, i32* %c_iflag, align 4 + %2 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_iflag2 = getelementptr inbounds %struct.termios, %struct.termios* %2, i32 0, i32 0 + store i32 %1, i32* %c_iflag2, align 4 + %c_oflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 1 + %3 = load i32, i32* %c_oflag, align 4 + %4 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_oflag3 = getelementptr inbounds %struct.termios, %struct.termios* %4, i32 0, i32 1 + store i32 %3, i32* %c_oflag3, align 4 + %c_cflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 2 + %5 = load i32, i32* %c_cflag, align 4 + %6 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_cflag4 = getelementptr inbounds %struct.termios, %struct.termios* %6, i32 0, i32 2 + store i32 %5, i32* %c_cflag4, align 4 + %c_lflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 3 + %7 = load i32, i32* %c_lflag, align 4 + %8 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_lflag5 = getelementptr inbounds %struct.termios, %struct.termios* %8, i32 0, i32 3 + store i32 %7, i32* %c_lflag5, align 4 + %c_line = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 4 + %9 = load i8, i8* %c_line, align 4 + %10 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_line6 = getelementptr inbounds %struct.termios, %struct.termios* %10, i32 0, i32 4 + store i8 %9, i8* %c_line6, align 4 + %11 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_cc = getelementptr inbounds %struct.termios, %struct.termios* %11, i32 0, i32 5 + %arrayidx = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc, i64 0, i64 0 + %c_cc7 = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 5 + %arrayidx8 = getelementptr inbounds [19 x i8], [19 x i8]* %c_cc7, i64 0, i64 0 + %call9 = call i8* @mempcpy(i8* %arrayidx, i8* %arrayidx8, i64 19) #19 + %call10 = call i8* @memset(i8* %call9, i32 0, i64 13) #19 + %12 = load i32, i32* %retval1, align 4 + ret i32 %12 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_getopt_internal(i32 %argc, i8** %argv, i8* %optstring, %struct.option* %longopts, i32* %longind, i32 %long_only) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + %longopts.addr = alloca %struct.option*, align 8 + %longind.addr = alloca i32*, align 8 + %long_only.addr = alloca i32, align 4 + %result = alloca i32, align 4 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + store %struct.option* %longopts, %struct.option** %longopts.addr, align 8 + store i32* %longind, i32** %longind.addr, align 8 + store i32 %long_only, i32* %long_only.addr, align 4 + %0 = load i32, i32* @optind, align 4 + store i32 %0, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 0), align 8 + %1 = load i32, i32* @opterr, align 4 + store i32 %1, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 1), align 4 + %2 = load i32, i32* %argc.addr, align 4 + %3 = load i8**, i8*** %argv.addr, align 8 + %4 = load i8*, i8** %optstring.addr, align 8 + %5 = load %struct.option*, %struct.option** %longopts.addr, align 8 + %6 = load i32*, i32** %longind.addr, align 8 + %7 = load i32, i32* %long_only.addr, align 4 + %call = call i32 @_getopt_internal_r(i32 %2, i8** %3, i8* %4, %struct.option* %5, i32* %6, i32 %7, %struct._getopt_data* @getopt_data) #18 + store i32 %call, i32* %result, align 4 + %8 = load i32, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 0), align 8 + store i32 %8, i32* @optind, align 4 + %9 = load i8*, i8** getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 3), align 8 + store i8* %9, i8** @optarg, align 8 + %10 = load i32, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 2), align 8 + store i32 %10, i32* @optopt, align 4 + %11 = load i32, i32* %result, align 4 + ret i32 %11 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_getopt_internal_r(i32 %argc, i8** %argv, i8* %optstring, %struct.option* %longopts, i32* %longind, i32 %long_only, %struct._getopt_data* %d) #0 { +entry: + %retval = alloca i32, align 4 + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + %longopts.addr = alloca %struct.option*, align 8 + %longind.addr = alloca i32*, align 8 + %long_only.addr = alloca i32, align 4 + %d.addr = alloca %struct._getopt_data*, align 8 + %print_errors = alloca i32, align 4 + %nameend = alloca i8*, align 8 + %p = alloca %struct.option*, align 8 + %pfound = alloca %struct.option*, align 8 + %exact = alloca i32, align 4 + %ambig = alloca i32, align 4 + %indfound = alloca i32, align 4 + %option_index = alloca i32, align 4 + %c = alloca i8, align 1 + %temp = alloca i8*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + store %struct.option* %longopts, %struct.option** %longopts.addr, align 8 + store i32* %longind, i32** %longind.addr, align 8 + store i32 %long_only, i32* %long_only.addr, align 4 + store %struct._getopt_data* %d, %struct._getopt_data** %d.addr, align 8 + %0 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %opterr = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %0, i32 0, i32 1 + %1 = load i32, i32* %opterr, align 4 + store i32 %1, i32* %print_errors, align 4 + %2 = load i8*, i8** %optstring.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %2, i64 0 + %3 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %3 to i32 + %cmp = icmp eq i32 %conv, 58 + %spec.store.select = select i1 %cmp, i32 0, i32 %1 + store i32 %spec.store.select, i32* %print_errors, align 4 + %4 = load i32, i32* %argc.addr, align 4 + %cmp2 = icmp slt i32 %4, 1 + br i1 %cmp2, label %if.then4, label %if.end5 + +if.then4: ; preds = %entry + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %entry + %5 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %5, i32 0, i32 3 + store i8* null, i8** %optarg, align 8 + %6 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %6, i32 0, i32 0 + %7 = load i32, i32* %optind, align 8 + %cmp6 = icmp eq i32 %7, 0 + br i1 %cmp6, label %if.then8, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end5 + %8 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__initialized = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %8, i32 0, i32 4 + %9 = load i32, i32* %__initialized, align 8 + %tobool = icmp ne i32 %9, 0 + br i1 %tobool, label %if.end16, label %if.then8 + +if.then8: ; preds = %lor.lhs.false, %if.end5 + %10 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind9 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %10, i32 0, i32 0 + %11 = load i32, i32* %optind9, align 8 + %cmp10 = icmp eq i32 %11, 0 + br i1 %cmp10, label %if.then12, label %if.end14 + +if.then12: ; preds = %if.then8 + %12 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind13 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %12, i32 0, i32 0 + store i32 1, i32* %optind13, align 8 + br label %if.end14 + +if.end14: ; preds = %if.then12, %if.then8 + %13 = load i32, i32* %argc.addr, align 4 + %14 = load i8**, i8*** %argv.addr, align 8 + %15 = load i8*, i8** %optstring.addr, align 8 + %16 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %call = call i8* @_getopt_initialize(i32 %13, i8** %14, i8* %15, %struct._getopt_data* %16) #18 + store i8* %call, i8** %optstring.addr, align 8 + %17 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__initialized15 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %17, i32 0, i32 4 + store i32 1, i32* %__initialized15, align 8 + br label %if.end16 + +if.end16: ; preds = %if.end14, %lor.lhs.false + %18 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %18, i32 0, i32 5 + %19 = load i8*, i8** %__nextchar, align 8 + %cmp17 = icmp eq i8* %19, null + br i1 %cmp17, label %if.then24, label %lor.lhs.false19 + +lor.lhs.false19: ; preds = %if.end16 + %20 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar20 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %20, i32 0, i32 5 + %21 = load i8*, i8** %__nextchar20, align 8 + %22 = load i8, i8* %21, align 1 + %conv21 = sext i8 %22 to i32 + %cmp22 = icmp eq i32 %conv21, 0 + br i1 %cmp22, label %if.then24, label %if.end171 + +if.then24: ; preds = %lor.lhs.false19, %if.end16 + %23 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %23, i32 0, i32 9 + %24 = load i32, i32* %__last_nonopt, align 4 + %25 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind25 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %25, i32 0, i32 0 + %26 = load i32, i32* %optind25, align 8 + %cmp26 = icmp sgt i32 %24, %26 + br i1 %cmp26, label %if.then28, label %if.end31 + +if.then28: ; preds = %if.then24 + %27 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind29 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %27, i32 0, i32 0 + %28 = load i32, i32* %optind29, align 8 + %29 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt30 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %29, i32 0, i32 9 + store i32 %28, i32* %__last_nonopt30, align 4 + br label %if.end31 + +if.end31: ; preds = %if.then28, %if.then24 + %30 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %30, i32 0, i32 8 + %31 = load i32, i32* %__first_nonopt, align 8 + %32 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind32 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %32, i32 0, i32 0 + %33 = load i32, i32* %optind32, align 8 + %cmp33 = icmp sgt i32 %31, %33 + br i1 %cmp33, label %if.then35, label %if.end38 + +if.then35: ; preds = %if.end31 + %34 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind36 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %34, i32 0, i32 0 + %35 = load i32, i32* %optind36, align 8 + %36 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt37 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %36, i32 0, i32 8 + store i32 %35, i32* %__first_nonopt37, align 8 + br label %if.end38 + +if.end38: ; preds = %if.then35, %if.end31 + %37 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %37, i32 0, i32 6 + %38 = load i32, i32* %__ordering, align 8 + %cmp39 = icmp eq i32 %38, 1 + br i1 %cmp39, label %if.then41, label %if.end79 + +if.then41: ; preds = %if.end38 + %39 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt42 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %39, i32 0, i32 8 + %40 = load i32, i32* %__first_nonopt42, align 8 + %41 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt43 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %41, i32 0, i32 9 + %42 = load i32, i32* %__last_nonopt43, align 4 + %cmp44 = icmp ne i32 %40, %42 + br i1 %cmp44, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %if.then41 + %43 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt46 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %43, i32 0, i32 9 + %44 = load i32, i32* %__last_nonopt46, align 4 + %45 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind47 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %45, i32 0, i32 0 + %46 = load i32, i32* %optind47, align 8 + %cmp48 = icmp ne i32 %44, %46 + br i1 %cmp48, label %if.then50, label %if.else + +if.then50: ; preds = %land.lhs.true + %47 = load i8**, i8*** %argv.addr, align 8 + %48 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + call void @exchange(i8** %47, %struct._getopt_data* %48) #18 + br label %if.end59 + +if.else: ; preds = %land.lhs.true, %if.then41 + %49 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt51 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %49, i32 0, i32 9 + %50 = load i32, i32* %__last_nonopt51, align 4 + %51 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind52 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %51, i32 0, i32 0 + %52 = load i32, i32* %optind52, align 8 + %cmp53 = icmp ne i32 %50, %52 + br i1 %cmp53, label %if.then55, label %if.end59 + +if.then55: ; preds = %if.else + %53 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind56 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %53, i32 0, i32 0 + %54 = load i32, i32* %optind56, align 8 + %55 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt57 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %55, i32 0, i32 8 + store i32 %54, i32* %__first_nonopt57, align 8 + br label %if.end59 + +if.end59: ; preds = %if.else, %if.then55, %if.then50 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end59 + %56 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind60 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %56, i32 0, i32 0 + %57 = load i32, i32* %optind60, align 8 + %58 = load i32, i32* %argc.addr, align 4 + %cmp61 = icmp slt i32 %57, %58 + br i1 %cmp61, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %59 = load i8**, i8*** %argv.addr, align 8 + %60 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind63 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %60, i32 0, i32 0 + %61 = load i32, i32* %optind63, align 8 + %idxprom = sext i32 %61 to i64 + %arrayidx64 = getelementptr inbounds i8*, i8** %59, i64 %idxprom + %62 = load i8*, i8** %arrayidx64, align 8 + %arrayidx65 = getelementptr inbounds i8, i8* %62, i64 0 + %63 = load i8, i8* %arrayidx65, align 1 + %conv66 = sext i8 %63 to i32 + %cmp67 = icmp ne i32 %conv66, 45 + br i1 %cmp67, label %land.end, label %lor.rhs + +lor.rhs: ; preds = %land.rhs + %64 = load i8**, i8*** %argv.addr, align 8 + %65 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind69 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %65, i32 0, i32 0 + %66 = load i32, i32* %optind69, align 8 + %idxprom70 = sext i32 %66 to i64 + %arrayidx71 = getelementptr inbounds i8*, i8** %64, i64 %idxprom70 + %67 = load i8*, i8** %arrayidx71, align 8 + %arrayidx72 = getelementptr inbounds i8, i8* %67, i64 1 + %68 = load i8, i8* %arrayidx72, align 1 + %conv73 = sext i8 %68 to i32 + %cmp74 = icmp eq i32 %conv73, 0 + br label %land.end + +land.end: ; preds = %land.rhs, %lor.rhs, %while.cond + %69 = phi i1 [ false, %while.cond ], [ true, %land.rhs ], [ %cmp74, %lor.rhs ] + %70 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind76 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %70, i32 0, i32 0 + %71 = load i32, i32* %optind76, align 8 + br i1 %69, label %while.body, label %while.end + +while.body: ; preds = %land.end + %inc = add nsw i32 %71, 1 + store i32 %inc, i32* %optind76, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %72 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt78 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %72, i32 0, i32 9 + store i32 %71, i32* %__last_nonopt78, align 4 + br label %if.end79 + +if.end79: ; preds = %while.end, %if.end38 + %73 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind80 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %73, i32 0, i32 0 + %74 = load i32, i32* %optind80, align 8 + %75 = load i32, i32* %argc.addr, align 4 + %cmp81 = icmp ne i32 %74, %75 + br i1 %cmp81, label %land.lhs.true83, label %if.end114 + +land.lhs.true83: ; preds = %if.end79 + %76 = load i8**, i8*** %argv.addr, align 8 + %77 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind84 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %77, i32 0, i32 0 + %78 = load i32, i32* %optind84, align 8 + %idxprom85 = sext i32 %78 to i64 + %arrayidx86 = getelementptr inbounds i8*, i8** %76, i64 %idxprom85 + %79 = load i8*, i8** %arrayidx86, align 8 + %call87 = call i32 @strcmp(i8* %79, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.324, i64 0, i64 0)) #20 + %tobool88 = icmp ne i32 %call87, 0 + br i1 %tobool88, label %if.end114, label %if.then89 + +if.then89: ; preds = %land.lhs.true83 + %80 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind90 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %80, i32 0, i32 0 + %81 = load i32, i32* %optind90, align 8 + %inc91 = add nsw i32 %81, 1 + store i32 %inc91, i32* %optind90, align 8 + %82 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt92 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %82, i32 0, i32 8 + %83 = load i32, i32* %__first_nonopt92, align 8 + %84 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt93 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %84, i32 0, i32 9 + %85 = load i32, i32* %__last_nonopt93, align 4 + %cmp94 = icmp ne i32 %83, %85 + br i1 %cmp94, label %land.lhs.true96, label %if.else102 + +land.lhs.true96: ; preds = %if.then89 + %86 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt97 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %86, i32 0, i32 9 + %87 = load i32, i32* %__last_nonopt97, align 4 + %88 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind98 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %88, i32 0, i32 0 + %89 = load i32, i32* %optind98, align 8 + %cmp99 = icmp ne i32 %87, %89 + br i1 %cmp99, label %if.then101, label %if.else102 + +if.then101: ; preds = %land.lhs.true96 + %90 = load i8**, i8*** %argv.addr, align 8 + %91 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + call void @exchange(i8** %90, %struct._getopt_data* %91) #18 + br label %if.end111 + +if.else102: ; preds = %land.lhs.true96, %if.then89 + %92 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt103 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %92, i32 0, i32 8 + %93 = load i32, i32* %__first_nonopt103, align 8 + %94 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt104 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %94, i32 0, i32 9 + %95 = load i32, i32* %__last_nonopt104, align 4 + %cmp105 = icmp eq i32 %93, %95 + br i1 %cmp105, label %if.then107, label %if.end111 + +if.then107: ; preds = %if.else102 + %96 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind108 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %96, i32 0, i32 0 + %97 = load i32, i32* %optind108, align 8 + %98 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt109 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %98, i32 0, i32 8 + store i32 %97, i32* %__first_nonopt109, align 8 + br label %if.end111 + +if.end111: ; preds = %if.else102, %if.then107, %if.then101 + %99 = load i32, i32* %argc.addr, align 4 + %100 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt112 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %100, i32 0, i32 9 + store i32 %99, i32* %__last_nonopt112, align 4 + %101 = load i32, i32* %argc.addr, align 4 + %102 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind113 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %102, i32 0, i32 0 + store i32 %101, i32* %optind113, align 8 + br label %if.end114 + +if.end114: ; preds = %if.end111, %land.lhs.true83, %if.end79 + %103 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind115 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %103, i32 0, i32 0 + %104 = load i32, i32* %optind115, align 8 + %105 = load i32, i32* %argc.addr, align 4 + %cmp116 = icmp eq i32 %104, %105 + br i1 %cmp116, label %if.then118, label %if.end127 + +if.then118: ; preds = %if.end114 + %106 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt119 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %106, i32 0, i32 8 + %107 = load i32, i32* %__first_nonopt119, align 8 + %108 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt120 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %108, i32 0, i32 9 + %109 = load i32, i32* %__last_nonopt120, align 4 + %cmp121 = icmp ne i32 %107, %109 + br i1 %cmp121, label %if.then123, label %if.end126 + +if.then123: ; preds = %if.then118 + %110 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt124 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %110, i32 0, i32 8 + %111 = load i32, i32* %__first_nonopt124, align 8 + %112 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind125 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %112, i32 0, i32 0 + store i32 %111, i32* %optind125, align 8 + br label %if.end126 + +if.end126: ; preds = %if.then123, %if.then118 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end127: ; preds = %if.end114 + %113 = load i8**, i8*** %argv.addr, align 8 + %114 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind128 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %114, i32 0, i32 0 + %115 = load i32, i32* %optind128, align 8 + %idxprom129 = sext i32 %115 to i64 + %arrayidx130 = getelementptr inbounds i8*, i8** %113, i64 %idxprom129 + %116 = load i8*, i8** %arrayidx130, align 8 + %arrayidx131 = getelementptr inbounds i8, i8* %116, i64 0 + %117 = load i8, i8* %arrayidx131, align 1 + %conv132 = sext i8 %117 to i32 + %cmp133 = icmp ne i32 %conv132, 45 + br i1 %cmp133, label %if.then143, label %lor.lhs.false135 + +lor.lhs.false135: ; preds = %if.end127 + %118 = load i8**, i8*** %argv.addr, align 8 + %119 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind136 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %119, i32 0, i32 0 + %120 = load i32, i32* %optind136, align 8 + %idxprom137 = sext i32 %120 to i64 + %arrayidx138 = getelementptr inbounds i8*, i8** %118, i64 %idxprom137 + %121 = load i8*, i8** %arrayidx138, align 8 + %arrayidx139 = getelementptr inbounds i8, i8* %121, i64 1 + %122 = load i8, i8* %arrayidx139, align 1 + %conv140 = sext i8 %122 to i32 + %cmp141 = icmp eq i32 %conv140, 0 + br i1 %cmp141, label %if.then143, label %if.end154 + +if.then143: ; preds = %lor.lhs.false135, %if.end127 + %123 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering144 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %123, i32 0, i32 6 + %124 = load i32, i32* %__ordering144, align 8 + %cmp145 = icmp eq i32 %124, 0 + br i1 %cmp145, label %if.then147, label %if.end148 + +if.then147: ; preds = %if.then143 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end148: ; preds = %if.then143 + %125 = load i8**, i8*** %argv.addr, align 8 + %126 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind149 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %126, i32 0, i32 0 + %127 = load i32, i32* %optind149, align 8 + %inc150 = add nsw i32 %127, 1 + store i32 %inc150, i32* %optind149, align 8 + %idxprom151 = sext i32 %127 to i64 + %arrayidx152 = getelementptr inbounds i8*, i8** %125, i64 %idxprom151 + %128 = load i8*, i8** %arrayidx152, align 8 + %129 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg153 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %129, i32 0, i32 3 + store i8* %128, i8** %optarg153, align 8 + store i32 1, i32* %retval, align 4 + br label %return + +if.end154: ; preds = %lor.lhs.false135 + %130 = load i8**, i8*** %argv.addr, align 8 + %131 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind155 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %131, i32 0, i32 0 + %132 = load i32, i32* %optind155, align 8 + %idxprom156 = sext i32 %132 to i64 + %arrayidx157 = getelementptr inbounds i8*, i8** %130, i64 %idxprom156 + %133 = load i8*, i8** %arrayidx157, align 8 + %add.ptr = getelementptr inbounds i8, i8* %133, i64 1 + %134 = load %struct.option*, %struct.option** %longopts.addr, align 8 + %cmp158 = icmp ne %struct.option* %134, null + br i1 %cmp158, label %land.rhs160, label %land.end168 + +land.rhs160: ; preds = %if.end154 + %135 = load i8**, i8*** %argv.addr, align 8 + %136 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind161 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %136, i32 0, i32 0 + %137 = load i32, i32* %optind161, align 8 + %idxprom162 = sext i32 %137 to i64 + %arrayidx163 = getelementptr inbounds i8*, i8** %135, i64 %idxprom162 + %138 = load i8*, i8** %arrayidx163, align 8 + %arrayidx164 = getelementptr inbounds i8, i8* %138, i64 1 + %139 = load i8, i8* %arrayidx164, align 1 + %conv165 = sext i8 %139 to i32 + %cmp166 = icmp eq i32 %conv165, 45 + br label %land.end168 + +land.end168: ; preds = %land.rhs160, %if.end154 + %140 = phi i1 [ false, %if.end154 ], [ %cmp166, %land.rhs160 ] + %land.ext = zext i1 %140 to i32 + %idx.ext = sext i32 %land.ext to i64 + %add.ptr169 = getelementptr inbounds i8, i8* %add.ptr, i64 %idx.ext + %141 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar170 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %141, i32 0, i32 5 + store i8* %add.ptr169, i8** %__nextchar170, align 8 + br label %if.end171 + +if.end171: ; preds = %land.end168, %lor.lhs.false19 + %142 = load %struct.option*, %struct.option** %longopts.addr, align 8 + %cmp172 = icmp ne %struct.option* %142, null + br i1 %cmp172, label %land.lhs.true174, label %if.end418 + +land.lhs.true174: ; preds = %if.end171 + %143 = load i8**, i8*** %argv.addr, align 8 + %144 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind175 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %144, i32 0, i32 0 + %145 = load i32, i32* %optind175, align 8 + %idxprom176 = sext i32 %145 to i64 + %arrayidx177 = getelementptr inbounds i8*, i8** %143, i64 %idxprom176 + %146 = load i8*, i8** %arrayidx177, align 8 + %arrayidx178 = getelementptr inbounds i8, i8* %146, i64 1 + %147 = load i8, i8* %arrayidx178, align 1 + %conv179 = sext i8 %147 to i32 + %cmp180 = icmp eq i32 %conv179, 45 + br i1 %cmp180, label %if.then199, label %lor.lhs.false182 + +lor.lhs.false182: ; preds = %land.lhs.true174 + %148 = load i32, i32* %long_only.addr, align 4 + %tobool183 = icmp ne i32 %148, 0 + br i1 %tobool183, label %land.lhs.true184, label %if.end418 + +land.lhs.true184: ; preds = %lor.lhs.false182 + %149 = load i8**, i8*** %argv.addr, align 8 + %150 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind185 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %150, i32 0, i32 0 + %151 = load i32, i32* %optind185, align 8 + %idxprom186 = sext i32 %151 to i64 + %arrayidx187 = getelementptr inbounds i8*, i8** %149, i64 %idxprom186 + %152 = load i8*, i8** %arrayidx187, align 8 + %arrayidx188 = getelementptr inbounds i8, i8* %152, i64 2 + %153 = load i8, i8* %arrayidx188, align 1 + %conv189 = sext i8 %153 to i32 + %tobool190 = icmp ne i32 %conv189, 0 + br i1 %tobool190, label %if.then199, label %lor.lhs.false191 + +lor.lhs.false191: ; preds = %land.lhs.true184 + %154 = load i8*, i8** %optstring.addr, align 8 + %155 = load i8**, i8*** %argv.addr, align 8 + %156 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind192 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %156, i32 0, i32 0 + %157 = load i32, i32* %optind192, align 8 + %idxprom193 = sext i32 %157 to i64 + %arrayidx194 = getelementptr inbounds i8*, i8** %155, i64 %idxprom193 + %158 = load i8*, i8** %arrayidx194, align 8 + %arrayidx195 = getelementptr inbounds i8, i8* %158, i64 1 + %159 = load i8, i8* %arrayidx195, align 1 + %conv196 = sext i8 %159 to i32 + %call197 = call i8* @strchr(i8* %154, i32 %conv196) #20 + %tobool198 = icmp ne i8* %call197, null + br i1 %tobool198, label %if.end418, label %if.then199 + +if.then199: ; preds = %lor.lhs.false191, %land.lhs.true184, %land.lhs.true174 + store %struct.option* null, %struct.option** %pfound, align 8 + store i32 0, i32* %exact, align 4 + store i32 0, i32* %ambig, align 4 + store i32 -1, i32* %indfound, align 4 + %160 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar200 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %160, i32 0, i32 5 + %161 = load i8*, i8** %__nextchar200, align 8 + store i8* %161, i8** %nameend, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.then199 + %162 = load i8*, i8** %nameend, align 8 + %163 = load i8, i8* %162, align 1 + %conv201 = sext i8 %163 to i32 + %tobool202 = icmp ne i32 %conv201, 0 + br i1 %tobool202, label %land.rhs203, label %for.end + +land.rhs203: ; preds = %for.cond + %164 = load i8*, i8** %nameend, align 8 + %165 = load i8, i8* %164, align 1 + %conv204 = sext i8 %165 to i32 + %cmp205 = icmp ne i32 %conv204, 61 + br i1 %cmp205, label %for.inc, label %for.end + +for.inc: ; preds = %land.rhs203 + %166 = load i8*, i8** %nameend, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %166, i32 1 + store i8* %incdec.ptr, i8** %nameend, align 8 + br label %for.cond + +for.end: ; preds = %for.cond, %land.rhs203 + %167 = load %struct.option*, %struct.option** %longopts.addr, align 8 + store %struct.option* %167, %struct.option** %p, align 8 + store i32 0, i32* %option_index, align 4 + br label %for.cond209 + +for.cond209: ; preds = %for.inc252, %for.end + %168 = load %struct.option*, %struct.option** %p, align 8 + %name = getelementptr inbounds %struct.option, %struct.option* %168, i32 0, i32 0 + %169 = load i8*, i8** %name, align 8 + %tobool210 = icmp ne i8* %169, null + br i1 %tobool210, label %for.body211, label %for.end255 + +for.body211: ; preds = %for.cond209 + %170 = load %struct.option*, %struct.option** %p, align 8 + %name212 = getelementptr inbounds %struct.option, %struct.option* %170, i32 0, i32 0 + %171 = load i8*, i8** %name212, align 8 + %172 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar213 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %172, i32 0, i32 5 + %173 = load i8*, i8** %__nextchar213, align 8 + %174 = load i8*, i8** %nameend, align 8 + %175 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar214 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %175, i32 0, i32 5 + %176 = load i8*, i8** %__nextchar214, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %174 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %176 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %call215 = call i32 @strncmp(i8* %171, i8* %173, i64 %sub.ptr.sub) #20 + %tobool216 = icmp ne i32 %call215, 0 + br i1 %tobool216, label %for.inc252, label %if.then217 + +if.then217: ; preds = %for.body211 + %177 = load i8*, i8** %nameend, align 8 + %178 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar218 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %178, i32 0, i32 5 + %179 = load i8*, i8** %__nextchar218, align 8 + %sub.ptr.lhs.cast219 = ptrtoint i8* %177 to i64 + %sub.ptr.rhs.cast220 = ptrtoint i8* %179 to i64 + %sub.ptr.sub221 = sub i64 %sub.ptr.lhs.cast219, %sub.ptr.rhs.cast220 + %conv222 = trunc i64 %sub.ptr.sub221 to i32 + %180 = load %struct.option*, %struct.option** %p, align 8 + %name223 = getelementptr inbounds %struct.option, %struct.option* %180, i32 0, i32 0 + %181 = load i8*, i8** %name223, align 8 + %call224 = call i64 @strlen(i8* %181) #20 + %conv225 = trunc i64 %call224 to i32 + %cmp226 = icmp eq i32 %conv222, %conv225 + br i1 %cmp226, label %if.then228, label %if.else229 + +if.then228: ; preds = %if.then217 + %182 = load %struct.option*, %struct.option** %p, align 8 + store %struct.option* %182, %struct.option** %pfound, align 8 + %183 = load i32, i32* %option_index, align 4 + store i32 %183, i32* %indfound, align 4 + store i32 1, i32* %exact, align 4 + br label %for.end255 + +if.else229: ; preds = %if.then217 + %184 = load %struct.option*, %struct.option** %pfound, align 8 + %cmp230 = icmp eq %struct.option* %184, null + br i1 %cmp230, label %if.then232, label %if.else233 + +if.then232: ; preds = %if.else229 + %185 = load %struct.option*, %struct.option** %p, align 8 + store %struct.option* %185, %struct.option** %pfound, align 8 + %186 = load i32, i32* %option_index, align 4 + store i32 %186, i32* %indfound, align 4 + br label %for.inc252 + +if.else233: ; preds = %if.else229 + %187 = load i32, i32* %long_only.addr, align 4 + %tobool234 = icmp ne i32 %187, 0 + br i1 %tobool234, label %if.then247, label %lor.lhs.false235 + +lor.lhs.false235: ; preds = %if.else233 + %188 = load %struct.option*, %struct.option** %pfound, align 8 + %has_arg = getelementptr inbounds %struct.option, %struct.option* %188, i32 0, i32 1 + %189 = load i32, i32* %has_arg, align 8 + %190 = load %struct.option*, %struct.option** %p, align 8 + %has_arg236 = getelementptr inbounds %struct.option, %struct.option* %190, i32 0, i32 1 + %191 = load i32, i32* %has_arg236, align 8 + %cmp237 = icmp ne i32 %189, %191 + br i1 %cmp237, label %if.then247, label %lor.lhs.false239 + +lor.lhs.false239: ; preds = %lor.lhs.false235 + %192 = load %struct.option*, %struct.option** %pfound, align 8 + %flag = getelementptr inbounds %struct.option, %struct.option* %192, i32 0, i32 2 + %193 = load i32*, i32** %flag, align 8 + %194 = load %struct.option*, %struct.option** %p, align 8 + %flag240 = getelementptr inbounds %struct.option, %struct.option* %194, i32 0, i32 2 + %195 = load i32*, i32** %flag240, align 8 + %cmp241 = icmp ne i32* %193, %195 + br i1 %cmp241, label %if.then247, label %lor.lhs.false243 + +lor.lhs.false243: ; preds = %lor.lhs.false239 + %196 = load %struct.option*, %struct.option** %pfound, align 8 + %val = getelementptr inbounds %struct.option, %struct.option* %196, i32 0, i32 3 + %197 = load i32, i32* %val, align 8 + %198 = load %struct.option*, %struct.option** %p, align 8 + %val244 = getelementptr inbounds %struct.option, %struct.option* %198, i32 0, i32 3 + %199 = load i32, i32* %val244, align 8 + %cmp245 = icmp ne i32 %197, %199 + br i1 %cmp245, label %if.then247, label %for.inc252 + +if.then247: ; preds = %lor.lhs.false243, %lor.lhs.false239, %lor.lhs.false235, %if.else233 + store i32 1, i32* %ambig, align 4 + br label %for.inc252 + +for.inc252: ; preds = %for.body211, %if.then232, %if.then247, %lor.lhs.false243 + %200 = load %struct.option*, %struct.option** %p, align 8 + %incdec.ptr253 = getelementptr inbounds %struct.option, %struct.option* %200, i32 1 + store %struct.option* %incdec.ptr253, %struct.option** %p, align 8 + %201 = load i32, i32* %option_index, align 4 + %inc254 = add nsw i32 %201, 1 + store i32 %inc254, i32* %option_index, align 4 + br label %for.cond209 + +for.end255: ; preds = %if.then228, %for.cond209 + %202 = load i32, i32* %ambig, align 4 + %tobool256 = icmp eq i32 %202, 0 + %203 = load i32, i32* %exact, align 4 + %tobool258 = icmp ne i32 %203, 0 + %or.cond = or i1 %tobool256, %tobool258 + br i1 %or.cond, label %if.end274, label %if.then259 + +if.then259: ; preds = %for.end255 + %204 = load i32, i32* %print_errors, align 4 + %tobool260 = icmp ne i32 %204, 0 + br i1 %tobool260, label %if.then261, label %if.end267 + +if.then261: ; preds = %if.then259 + %205 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %206 = load i8**, i8*** %argv.addr, align 8 + %arrayidx262 = getelementptr inbounds i8*, i8** %206, i64 0 + %207 = load i8*, i8** %arrayidx262, align 8 + %208 = load i8**, i8*** %argv.addr, align 8 + %209 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind263 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %209, i32 0, i32 0 + %210 = load i32, i32* %optind263, align 8 + %idxprom264 = sext i32 %210 to i64 + %arrayidx265 = getelementptr inbounds i8*, i8** %208, i64 %idxprom264 + %211 = load i8*, i8** %arrayidx265, align 8 + %call266 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %205, i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.1.325, i64 0, i64 0), i8* %207, i8* %211) #18 + br label %if.end267 + +if.end267: ; preds = %if.then261, %if.then259 + %212 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar268 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %212, i32 0, i32 5 + %213 = load i8*, i8** %__nextchar268, align 8 + %call269 = call i64 @strlen(i8* %213) #20 + %214 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar270 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %214, i32 0, i32 5 + %215 = load i8*, i8** %__nextchar270, align 8 + %add.ptr271 = getelementptr inbounds i8, i8* %215, i64 %call269 + store i8* %add.ptr271, i8** %__nextchar270, align 8 + %216 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind272 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %216, i32 0, i32 0 + %217 = load i32, i32* %optind272, align 8 + %inc273 = add nsw i32 %217, 1 + store i32 %inc273, i32* %optind272, align 8 + %218 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %218, i32 0, i32 2 + store i32 0, i32* %optopt, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.end274: ; preds = %for.end255 + %219 = load %struct.option*, %struct.option** %pfound, align 8 + %cmp275 = icmp ne %struct.option* %219, null + br i1 %cmp275, label %if.then277, label %if.end372 + +if.then277: ; preds = %if.end274 + %220 = load i32, i32* %indfound, align 4 + store i32 %220, i32* %option_index, align 4 + %221 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind278 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %221, i32 0, i32 0 + %222 = load i32, i32* %optind278, align 8 + %inc279 = add nsw i32 %222, 1 + store i32 %inc279, i32* %optind278, align 8 + %223 = load i8*, i8** %nameend, align 8 + %224 = load i8, i8* %223, align 1 + %tobool280 = icmp ne i8 %224, 0 + %225 = load %struct.option*, %struct.option** %pfound, align 8 + %has_arg282 = getelementptr inbounds %struct.option, %struct.option* %225, i32 0, i32 1 + %226 = load i32, i32* %has_arg282, align 8 + br i1 %tobool280, label %if.then281, label %if.else320 + +if.then281: ; preds = %if.then277 + %tobool283 = icmp ne i32 %226, 0 + br i1 %tobool283, label %if.then284, label %if.else287 + +if.then284: ; preds = %if.then281 + %227 = load i8*, i8** %nameend, align 8 + %add.ptr285 = getelementptr inbounds i8, i8* %227, i64 1 + %228 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg286 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %228, i32 0, i32 3 + store i8* %add.ptr285, i8** %optarg286, align 8 + br label %if.end356 + +if.else287: ; preds = %if.then281 + %229 = load i32, i32* %print_errors, align 4 + %tobool288 = icmp ne i32 %229, 0 + br i1 %tobool288, label %if.then289, label %if.end312 + +if.then289: ; preds = %if.else287 + %230 = load i8**, i8*** %argv.addr, align 8 + %231 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind290 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %231, i32 0, i32 0 + %232 = load i32, i32* %optind290, align 8 + %sub = sub nsw i32 %232, 1 + %idxprom291 = sext i32 %sub to i64 + %arrayidx292 = getelementptr inbounds i8*, i8** %230, i64 %idxprom291 + %233 = load i8*, i8** %arrayidx292, align 8 + %arrayidx293 = getelementptr inbounds i8, i8* %233, i64 1 + %234 = load i8, i8* %arrayidx293, align 1 + %conv294 = sext i8 %234 to i32 + %cmp295 = icmp eq i32 %conv294, 45 + %235 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %236 = load i8**, i8*** %argv.addr, align 8 + %arrayidx298 = getelementptr inbounds i8*, i8** %236, i64 0 + %237 = load i8*, i8** %arrayidx298, align 8 + br i1 %cmp295, label %if.then297, label %if.else301 + +if.then297: ; preds = %if.then289 + %238 = load %struct.option*, %struct.option** %pfound, align 8 + %name299 = getelementptr inbounds %struct.option, %struct.option* %238, i32 0, i32 0 + %239 = load i8*, i8** %name299, align 8 + %call300 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %235, i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.2.326, i64 0, i64 0), i8* %237, i8* %239) #18 + br label %if.end312 + +if.else301: ; preds = %if.then289 + %240 = load i8**, i8*** %argv.addr, align 8 + %241 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind303 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %241, i32 0, i32 0 + %242 = load i32, i32* %optind303, align 8 + %sub304 = sub nsw i32 %242, 1 + %idxprom305 = sext i32 %sub304 to i64 + %arrayidx306 = getelementptr inbounds i8*, i8** %240, i64 %idxprom305 + %243 = load i8*, i8** %arrayidx306, align 8 + %arrayidx307 = getelementptr inbounds i8, i8* %243, i64 0 + %244 = load i8, i8* %arrayidx307, align 1 + %conv308 = sext i8 %244 to i32 + %245 = load %struct.option*, %struct.option** %pfound, align 8 + %name309 = getelementptr inbounds %struct.option, %struct.option* %245, i32 0, i32 0 + %246 = load i8*, i8** %name309, align 8 + %call310 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %235, i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.3.327, i64 0, i64 0), i8* %237, i32 %conv308, i8* %246) #18 + br label %if.end312 + +if.end312: ; preds = %if.then297, %if.else301, %if.else287 + %247 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar313 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %247, i32 0, i32 5 + %248 = load i8*, i8** %__nextchar313, align 8 + %call314 = call i64 @strlen(i8* %248) #20 + %249 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar315 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %249, i32 0, i32 5 + %250 = load i8*, i8** %__nextchar315, align 8 + %add.ptr316 = getelementptr inbounds i8, i8* %250, i64 %call314 + store i8* %add.ptr316, i8** %__nextchar315, align 8 + %251 = load %struct.option*, %struct.option** %pfound, align 8 + %val317 = getelementptr inbounds %struct.option, %struct.option* %251, i32 0, i32 3 + %252 = load i32, i32* %val317, align 8 + %253 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt318 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %253, i32 0, i32 2 + store i32 %252, i32* %optopt318, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.else320: ; preds = %if.then277 + %cmp322 = icmp eq i32 %226, 1 + br i1 %cmp322, label %if.then324, label %if.end356 + +if.then324: ; preds = %if.else320 + %254 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind325 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %254, i32 0, i32 0 + %255 = load i32, i32* %optind325, align 8 + %256 = load i32, i32* %argc.addr, align 4 + %cmp326 = icmp slt i32 %255, %256 + br i1 %cmp326, label %if.then328, label %if.else334 + +if.then328: ; preds = %if.then324 + %257 = load i8**, i8*** %argv.addr, align 8 + %258 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind329 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %258, i32 0, i32 0 + %259 = load i32, i32* %optind329, align 8 + %inc330 = add nsw i32 %259, 1 + store i32 %inc330, i32* %optind329, align 8 + %idxprom331 = sext i32 %259 to i64 + %arrayidx332 = getelementptr inbounds i8*, i8** %257, i64 %idxprom331 + %260 = load i8*, i8** %arrayidx332, align 8 + %261 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg333 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %261, i32 0, i32 3 + store i8* %260, i8** %optarg333, align 8 + br label %if.end356 + +if.else334: ; preds = %if.then324 + %262 = load i32, i32* %print_errors, align 4 + %tobool335 = icmp ne i32 %262, 0 + br i1 %tobool335, label %if.then336, label %if.end343 + +if.then336: ; preds = %if.else334 + %263 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %264 = load i8**, i8*** %argv.addr, align 8 + %arrayidx337 = getelementptr inbounds i8*, i8** %264, i64 0 + %265 = load i8*, i8** %arrayidx337, align 8 + %266 = load i8**, i8*** %argv.addr, align 8 + %267 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind338 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %267, i32 0, i32 0 + %268 = load i32, i32* %optind338, align 8 + %sub339 = sub nsw i32 %268, 1 + %idxprom340 = sext i32 %sub339 to i64 + %arrayidx341 = getelementptr inbounds i8*, i8** %266, i64 %idxprom340 + %269 = load i8*, i8** %arrayidx341, align 8 + %call342 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %263, i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.4.328, i64 0, i64 0), i8* %265, i8* %269) #18 + br label %if.end343 + +if.end343: ; preds = %if.then336, %if.else334 + %270 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar344 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %270, i32 0, i32 5 + %271 = load i8*, i8** %__nextchar344, align 8 + %call345 = call i64 @strlen(i8* %271) #20 + %272 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar346 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %272, i32 0, i32 5 + %273 = load i8*, i8** %__nextchar346, align 8 + %add.ptr347 = getelementptr inbounds i8, i8* %273, i64 %call345 + store i8* %add.ptr347, i8** %__nextchar346, align 8 + %274 = load %struct.option*, %struct.option** %pfound, align 8 + %val348 = getelementptr inbounds %struct.option, %struct.option* %274, i32 0, i32 3 + %275 = load i32, i32* %val348, align 8 + %276 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt349 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %276, i32 0, i32 2 + store i32 %275, i32* %optopt349, align 8 + %277 = load i8*, i8** %optstring.addr, align 8 + %arrayidx350 = getelementptr inbounds i8, i8* %277, i64 0 + %278 = load i8, i8* %arrayidx350, align 1 + %conv351 = sext i8 %278 to i32 + %cmp352 = icmp eq i32 %conv351, 58 + %279 = zext i1 %cmp352 to i64 + %cond = select i1 %cmp352, i32 58, i32 63 + store i32 %cond, i32* %retval, align 4 + br label %return + +if.end356: ; preds = %if.else320, %if.then328, %if.then284 + %280 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar357 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %280, i32 0, i32 5 + %281 = load i8*, i8** %__nextchar357, align 8 + %call358 = call i64 @strlen(i8* %281) #20 + %282 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar359 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %282, i32 0, i32 5 + %283 = load i8*, i8** %__nextchar359, align 8 + %add.ptr360 = getelementptr inbounds i8, i8* %283, i64 %call358 + store i8* %add.ptr360, i8** %__nextchar359, align 8 + %284 = load i32*, i32** %longind.addr, align 8 + %cmp361 = icmp ne i32* %284, null + br i1 %cmp361, label %if.then363, label %if.end364 + +if.then363: ; preds = %if.end356 + %285 = load i32, i32* %option_index, align 4 + %286 = load i32*, i32** %longind.addr, align 8 + store i32 %285, i32* %286, align 4 + br label %if.end364 + +if.end364: ; preds = %if.then363, %if.end356 + %287 = load %struct.option*, %struct.option** %pfound, align 8 + %flag365 = getelementptr inbounds %struct.option, %struct.option* %287, i32 0, i32 2 + %288 = load i32*, i32** %flag365, align 8 + %tobool366 = icmp ne i32* %288, null + %289 = load %struct.option*, %struct.option** %pfound, align 8 + %val368 = getelementptr inbounds %struct.option, %struct.option* %289, i32 0, i32 3 + %290 = load i32, i32* %val368, align 8 + br i1 %tobool366, label %if.then367, label %if.end370 + +if.then367: ; preds = %if.end364 + %291 = load %struct.option*, %struct.option** %pfound, align 8 + %flag369 = getelementptr inbounds %struct.option, %struct.option* %291, i32 0, i32 2 + %292 = load i32*, i32** %flag369, align 8 + store i32 %290, i32* %292, align 4 + store i32 0, i32* %retval, align 4 + br label %return + +if.end370: ; preds = %if.end364 + store i32 %290, i32* %retval, align 4 + br label %return + +if.end372: ; preds = %if.end274 + %293 = load i32, i32* %long_only.addr, align 4 + %tobool373 = icmp ne i32 %293, 0 + br i1 %tobool373, label %lor.lhs.false374, label %if.then388 + +lor.lhs.false374: ; preds = %if.end372 + %294 = load i8**, i8*** %argv.addr, align 8 + %295 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind375 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %295, i32 0, i32 0 + %296 = load i32, i32* %optind375, align 8 + %idxprom376 = sext i32 %296 to i64 + %arrayidx377 = getelementptr inbounds i8*, i8** %294, i64 %idxprom376 + %297 = load i8*, i8** %arrayidx377, align 8 + %arrayidx378 = getelementptr inbounds i8, i8* %297, i64 1 + %298 = load i8, i8* %arrayidx378, align 1 + %conv379 = sext i8 %298 to i32 + %cmp380 = icmp eq i32 %conv379, 45 + br i1 %cmp380, label %if.then388, label %lor.lhs.false382 + +lor.lhs.false382: ; preds = %lor.lhs.false374 + %299 = load i8*, i8** %optstring.addr, align 8 + %300 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar383 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %300, i32 0, i32 5 + %301 = load i8*, i8** %__nextchar383, align 8 + %302 = load i8, i8* %301, align 1 + %conv384 = sext i8 %302 to i32 + %call385 = call i8* @strchr(i8* %299, i32 %conv384) #20 + %cmp386 = icmp eq i8* %call385, null + br i1 %cmp386, label %if.then388, label %if.end418 + +if.then388: ; preds = %lor.lhs.false382, %lor.lhs.false374, %if.end372 + %303 = load i32, i32* %print_errors, align 4 + %tobool389 = icmp ne i32 %303, 0 + br i1 %tobool389, label %if.then390, label %if.end412 + +if.then390: ; preds = %if.then388 + %304 = load i8**, i8*** %argv.addr, align 8 + %305 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind391 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %305, i32 0, i32 0 + %306 = load i32, i32* %optind391, align 8 + %idxprom392 = sext i32 %306 to i64 + %arrayidx393 = getelementptr inbounds i8*, i8** %304, i64 %idxprom392 + %307 = load i8*, i8** %arrayidx393, align 8 + %arrayidx394 = getelementptr inbounds i8, i8* %307, i64 1 + %308 = load i8, i8* %arrayidx394, align 1 + %conv395 = sext i8 %308 to i32 + %cmp396 = icmp eq i32 %conv395, 45 + %309 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %310 = load i8**, i8*** %argv.addr, align 8 + %arrayidx399 = getelementptr inbounds i8*, i8** %310, i64 0 + %311 = load i8*, i8** %arrayidx399, align 8 + br i1 %cmp396, label %if.then398, label %if.else402 + +if.then398: ; preds = %if.then390 + %312 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar400 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %312, i32 0, i32 5 + %313 = load i8*, i8** %__nextchar400, align 8 + %call401 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %309, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.5.329, i64 0, i64 0), i8* %311, i8* %313) #18 + br label %if.end412 + +if.else402: ; preds = %if.then390 + %314 = load i8**, i8*** %argv.addr, align 8 + %315 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind404 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %315, i32 0, i32 0 + %316 = load i32, i32* %optind404, align 8 + %idxprom405 = sext i32 %316 to i64 + %arrayidx406 = getelementptr inbounds i8*, i8** %314, i64 %idxprom405 + %317 = load i8*, i8** %arrayidx406, align 8 + %arrayidx407 = getelementptr inbounds i8, i8* %317, i64 0 + %318 = load i8, i8* %arrayidx407, align 1 + %conv408 = sext i8 %318 to i32 + %319 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar409 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %319, i32 0, i32 5 + %320 = load i8*, i8** %__nextchar409, align 8 + %call410 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %309, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.6.330, i64 0, i64 0), i8* %311, i32 %conv408, i8* %320) #18 + br label %if.end412 + +if.end412: ; preds = %if.then398, %if.else402, %if.then388 + %321 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar413 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %321, i32 0, i32 5 + store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.7.331, i64 0, i64 0), i8** %__nextchar413, align 8 + %322 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind414 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %322, i32 0, i32 0 + %323 = load i32, i32* %optind414, align 8 + %inc415 = add nsw i32 %323, 1 + store i32 %inc415, i32* %optind414, align 8 + %324 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt416 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %324, i32 0, i32 2 + store i32 0, i32* %optopt416, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.end418: ; preds = %lor.lhs.false382, %lor.lhs.false191, %lor.lhs.false182, %if.end171 + %325 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar419 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %325, i32 0, i32 5 + %326 = load i8*, i8** %__nextchar419, align 8 + %incdec.ptr420 = getelementptr inbounds i8, i8* %326, i32 1 + store i8* %incdec.ptr420, i8** %__nextchar419, align 8 + %327 = load i8, i8* %326, align 1 + store i8 %327, i8* %c, align 1 + %328 = load i8*, i8** %optstring.addr, align 8 + %329 = load i8, i8* %c, align 1 + %conv421 = sext i8 %329 to i32 + %call422 = call i8* @strchr(i8* %328, i32 %conv421) #20 + store i8* %call422, i8** %temp, align 8 + %330 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar423 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %330, i32 0, i32 5 + %331 = load i8*, i8** %__nextchar423, align 8 + %332 = load i8, i8* %331, align 1 + %conv424 = sext i8 %332 to i32 + %cmp425 = icmp eq i32 %conv424, 0 + br i1 %cmp425, label %if.then427, label %if.end430 + +if.then427: ; preds = %if.end418 + %333 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind428 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %333, i32 0, i32 0 + %334 = load i32, i32* %optind428, align 8 + %inc429 = add nsw i32 %334, 1 + store i32 %inc429, i32* %optind428, align 8 + br label %if.end430 + +if.end430: ; preds = %if.then427, %if.end418 + %335 = load i8*, i8** %temp, align 8 + %cmp431 = icmp eq i8* %335, null + br i1 %cmp431, label %if.then437, label %lor.lhs.false433 + +lor.lhs.false433: ; preds = %if.end430 + %336 = load i8, i8* %c, align 1 + %conv434 = sext i8 %336 to i32 + %cmp435 = icmp eq i32 %conv434, 58 + br i1 %cmp435, label %if.then437, label %if.end453 + +if.then437: ; preds = %lor.lhs.false433, %if.end430 + %337 = load i32, i32* %print_errors, align 4 + %tobool438 = icmp ne i32 %337, 0 + br i1 %tobool438, label %if.then439, label %if.end450 + +if.then439: ; preds = %if.then437 + %338 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__posixly_correct = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %338, i32 0, i32 7 + %339 = load i32, i32* %__posixly_correct, align 4 + %tobool440 = icmp ne i32 %339, 0 + %340 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %341 = load i8**, i8*** %argv.addr, align 8 + %arrayidx442 = getelementptr inbounds i8*, i8** %341, i64 0 + %342 = load i8*, i8** %arrayidx442, align 8 + %343 = load i8, i8* %c, align 1 + %conv443 = sext i8 %343 to i32 + br i1 %tobool440, label %if.then441, label %if.else445 + +if.then441: ; preds = %if.then439 + %call444 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %340, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.8.332, i64 0, i64 0), i8* %342, i32 %conv443) #18 + br label %if.end450 + +if.else445: ; preds = %if.then439 + %call448 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %340, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.9.333, i64 0, i64 0), i8* %342, i32 %conv443) #18 + br label %if.end450 + +if.end450: ; preds = %if.then441, %if.else445, %if.then437 + %344 = load i8, i8* %c, align 1 + %conv451 = sext i8 %344 to i32 + %345 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt452 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %345, i32 0, i32 2 + store i32 %conv451, i32* %optopt452, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.end453: ; preds = %lor.lhs.false433 + %346 = load i8*, i8** %temp, align 8 + %arrayidx454 = getelementptr inbounds i8, i8* %346, i64 1 + %347 = load i8, i8* %arrayidx454, align 1 + %conv455 = sext i8 %347 to i32 + %cmp456 = icmp eq i32 %conv455, 58 + br i1 %cmp456, label %if.then458, label %if.end517 + +if.then458: ; preds = %if.end453 + %348 = load i8*, i8** %temp, align 8 + %arrayidx459 = getelementptr inbounds i8, i8* %348, i64 2 + %349 = load i8, i8* %arrayidx459, align 1 + %conv460 = sext i8 %349 to i32 + %cmp461 = icmp eq i32 %conv460, 58 + %350 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar464 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %350, i32 0, i32 5 + %351 = load i8*, i8** %__nextchar464, align 8 + %352 = load i8, i8* %351, align 1 + %conv465 = sext i8 %352 to i32 + %cmp466 = icmp ne i32 %conv465, 0 + %353 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + br i1 %cmp461, label %if.then463, label %if.else477 + +if.then463: ; preds = %if.then458 + br i1 %cmp466, label %if.then468, label %if.else473 + +if.then468: ; preds = %if.then463 + %__nextchar469 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 5 + %354 = load i8*, i8** %__nextchar469, align 8 + %355 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg470 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %355, i32 0, i32 3 + store i8* %354, i8** %optarg470, align 8 + %356 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind471 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %356, i32 0, i32 0 + %357 = load i32, i32* %optind471, align 8 + %inc472 = add nsw i32 %357, 1 + store i32 %inc472, i32* %optind471, align 8 + br label %if.end475 + +if.else473: ; preds = %if.then463 + %optarg474 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 3 + store i8* null, i8** %optarg474, align 8 + br label %if.end475 + +if.end475: ; preds = %if.else473, %if.then468 + %358 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar476 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %358, i32 0, i32 5 + store i8* null, i8** %__nextchar476, align 8 + br label %if.end517 + +if.else477: ; preds = %if.then458 + br i1 %cmp466, label %if.then482, label %if.else487 + +if.then482: ; preds = %if.else477 + %__nextchar483 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 5 + %359 = load i8*, i8** %__nextchar483, align 8 + %360 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg484 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %360, i32 0, i32 3 + store i8* %359, i8** %optarg484, align 8 + %361 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind485 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %361, i32 0, i32 0 + %362 = load i32, i32* %optind485, align 8 + %inc486 = add nsw i32 %362, 1 + store i32 %inc486, i32* %optind485, align 8 + br label %if.end514 + +if.else487: ; preds = %if.else477 + %optind488 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 0 + %363 = load i32, i32* %optind488, align 8 + %364 = load i32, i32* %argc.addr, align 4 + %cmp489 = icmp eq i32 %363, %364 + br i1 %cmp489, label %if.then491, label %if.else507 + +if.then491: ; preds = %if.else487 + %365 = load i32, i32* %print_errors, align 4 + %tobool492 = icmp ne i32 %365, 0 + br i1 %tobool492, label %if.then493, label %if.end497 + +if.then493: ; preds = %if.then491 + %366 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %367 = load i8**, i8*** %argv.addr, align 8 + %arrayidx494 = getelementptr inbounds i8*, i8** %367, i64 0 + %368 = load i8*, i8** %arrayidx494, align 8 + %369 = load i8, i8* %c, align 1 + %conv495 = sext i8 %369 to i32 + %call496 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %366, i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.10.334, i64 0, i64 0), i8* %368, i32 %conv495) #18 + br label %if.end497 + +if.end497: ; preds = %if.then493, %if.then491 + %370 = load i8, i8* %c, align 1 + %conv498 = sext i8 %370 to i32 + %371 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt499 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %371, i32 0, i32 2 + store i32 %conv498, i32* %optopt499, align 8 + %372 = load i8*, i8** %optstring.addr, align 8 + %arrayidx500 = getelementptr inbounds i8, i8* %372, i64 0 + %373 = load i8, i8* %arrayidx500, align 1 + %conv501 = sext i8 %373 to i32 + %cmp502 = icmp eq i32 %conv501, 58 + br i1 %cmp502, label %if.then504, label %if.else505 + +if.then504: ; preds = %if.end497 + store i8 58, i8* %c, align 1 + br label %if.end514 + +if.else505: ; preds = %if.end497 + store i8 63, i8* %c, align 1 + br label %if.end514 + +if.else507: ; preds = %if.else487 + %374 = load i8**, i8*** %argv.addr, align 8 + %375 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind508 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %375, i32 0, i32 0 + %376 = load i32, i32* %optind508, align 8 + %inc509 = add nsw i32 %376, 1 + store i32 %inc509, i32* %optind508, align 8 + %idxprom510 = sext i32 %376 to i64 + %arrayidx511 = getelementptr inbounds i8*, i8** %374, i64 %idxprom510 + %377 = load i8*, i8** %arrayidx511, align 8 + %378 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg512 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %378, i32 0, i32 3 + store i8* %377, i8** %optarg512, align 8 + br label %if.end514 + +if.end514: ; preds = %if.else507, %if.else505, %if.then504, %if.then482 + %379 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar515 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %379, i32 0, i32 5 + store i8* null, i8** %__nextchar515, align 8 + br label %if.end517 + +if.end517: ; preds = %if.end475, %if.end514, %if.end453 + %380 = load i8, i8* %c, align 1 + %conv518 = sext i8 %380 to i32 + store i32 %conv518, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end517, %if.end450, %if.end412, %if.end370, %if.then367, %if.end343, %if.end312, %if.end267, %if.end148, %if.then147, %if.end126, %if.then4 + %381 = load i32, i32* %retval, align 4 + ret i32 %381 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @_getopt_initialize(i32 %argc, i8** %argv, i8* %optstring, %struct._getopt_data* %d) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + %d.addr = alloca %struct._getopt_data*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + store %struct._getopt_data* %d, %struct._getopt_data** %d.addr, align 8 + %0 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %0, i32 0, i32 0 + %1 = load i32, i32* %optind, align 8 + %2 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %2, i32 0, i32 9 + store i32 %1, i32* %__last_nonopt, align 4 + %3 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %3, i32 0, i32 8 + store i32 %1, i32* %__first_nonopt, align 8 + %4 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %4, i32 0, i32 5 + store i8* null, i8** %__nextchar, align 8 + %call = call i8* @getenv(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.11.335, i64 0, i64 0)) #19 + %tobool = icmp ne i8* %call, null + %lnot = xor i1 %tobool, true + %lnot1 = xor i1 %lnot, true + %lnot.ext = zext i1 %lnot1 to i32 + %5 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__posixly_correct = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %5, i32 0, i32 7 + store i32 %lnot.ext, i32* %__posixly_correct, align 4 + %6 = load i8*, i8** %optstring.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %6, i64 0 + %7 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %7 to i32 + %cmp = icmp eq i32 %conv, 45 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %8 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %8, i32 0, i32 6 + store i32 2, i32* %__ordering, align 8 + %9 = load i8*, i8** %optstring.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %optstring.addr, align 8 + br label %if.end18 + +if.else: ; preds = %entry + %10 = load i8*, i8** %optstring.addr, align 8 + %arrayidx3 = getelementptr inbounds i8, i8* %10, i64 0 + %11 = load i8, i8* %arrayidx3, align 1 + %conv4 = sext i8 %11 to i32 + %cmp5 = icmp eq i32 %conv4, 43 + %12 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + br i1 %cmp5, label %if.then7, label %if.else10 + +if.then7: ; preds = %if.else + %__ordering8 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %12, i32 0, i32 6 + store i32 0, i32* %__ordering8, align 8 + %13 = load i8*, i8** %optstring.addr, align 8 + %incdec.ptr9 = getelementptr inbounds i8, i8* %13, i32 1 + store i8* %incdec.ptr9, i8** %optstring.addr, align 8 + br label %if.end18 + +if.else10: ; preds = %if.else + %__posixly_correct11 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %12, i32 0, i32 7 + %14 = load i32, i32* %__posixly_correct11, align 4 + %tobool12 = icmp ne i32 %14, 0 + %15 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering14 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %15, i32 0, i32 6 + br i1 %tobool12, label %if.then13, label %if.else15 + +if.then13: ; preds = %if.else10 + store i32 0, i32* %__ordering14, align 8 + br label %if.end18 + +if.else15: ; preds = %if.else10 + store i32 1, i32* %__ordering14, align 8 + br label %if.end18 + +if.end18: ; preds = %if.then7, %if.else15, %if.then13, %if.then + %16 = load i8*, i8** %optstring.addr, align 8 + ret i8* %16 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @exchange(i8** %argv, %struct._getopt_data* %d) #0 { +entry: + %argv.addr = alloca i8**, align 8 + %d.addr = alloca %struct._getopt_data*, align 8 + %bottom = alloca i32, align 4 + %middle = alloca i32, align 4 + %top = alloca i32, align 4 + %tem = alloca i8*, align 8 + %len = alloca i32, align 4 + %i = alloca i32, align 4 + %len20 = alloca i32, align 4 + %i22 = alloca i32, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store %struct._getopt_data* %d, %struct._getopt_data** %d.addr, align 8 + %0 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %0, i32 0, i32 8 + %1 = load i32, i32* %__first_nonopt, align 8 + store i32 %1, i32* %bottom, align 4 + %2 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %2, i32 0, i32 9 + %3 = load i32, i32* %__last_nonopt, align 4 + store i32 %3, i32* %middle, align 4 + %4 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %4, i32 0, i32 0 + %5 = load i32, i32* %optind, align 8 + store i32 %5, i32* %top, align 4 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %6 = load i32, i32* %top, align 4 + %7 = load i32, i32* %middle, align 4 + %cmp = icmp sgt i32 %6, %7 + %8 = load i32, i32* %middle, align 4 + %9 = load i32, i32* %bottom, align 4 + %cmp1 = icmp sgt i32 %8, %9 + %10 = select i1 %cmp, i1 %cmp1, i1 false + br i1 %10, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %11 = load i32, i32* %top, align 4 + %12 = load i32, i32* %middle, align 4 + %sub = sub nsw i32 %11, %12 + %13 = load i32, i32* %middle, align 4 + %14 = load i32, i32* %bottom, align 4 + %sub2 = sub nsw i32 %13, %14 + %cmp3 = icmp sgt i32 %sub, %sub2 + br i1 %cmp3, label %if.then, label %if.else + +if.then: ; preds = %while.body + %15 = load i32, i32* %middle, align 4 + %16 = load i32, i32* %bottom, align 4 + %sub4 = sub nsw i32 %15, %16 + store i32 %sub4, i32* %len, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.then + %17 = load i32, i32* %i, align 4 + %18 = load i32, i32* %len, align 4 + %cmp5 = icmp slt i32 %17, %18 + br i1 %cmp5, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %19 = load i8**, i8*** %argv.addr, align 8 + %20 = load i32, i32* %bottom, align 4 + %21 = load i32, i32* %i, align 4 + %add = add nsw i32 %20, %21 + %idxprom = sext i32 %add to i64 + %arrayidx = getelementptr inbounds i8*, i8** %19, i64 %idxprom + %22 = load i8*, i8** %arrayidx, align 8 + store i8* %22, i8** %tem, align 8 + %23 = load i8**, i8*** %argv.addr, align 8 + %24 = load i32, i32* %top, align 4 + %25 = load i32, i32* %middle, align 4 + %26 = load i32, i32* %bottom, align 4 + %sub6 = sub nsw i32 %25, %26 + %sub7 = sub nsw i32 %24, %sub6 + %27 = load i32, i32* %i, align 4 + %add8 = add nsw i32 %sub7, %27 + %idxprom9 = sext i32 %add8 to i64 + %arrayidx10 = getelementptr inbounds i8*, i8** %23, i64 %idxprom9 + %28 = load i8*, i8** %arrayidx10, align 8 + %29 = load i8**, i8*** %argv.addr, align 8 + %30 = load i32, i32* %bottom, align 4 + %31 = load i32, i32* %i, align 4 + %add11 = add nsw i32 %30, %31 + %idxprom12 = sext i32 %add11 to i64 + %arrayidx13 = getelementptr inbounds i8*, i8** %29, i64 %idxprom12 + store i8* %28, i8** %arrayidx13, align 8 + %32 = load i8*, i8** %tem, align 8 + %33 = load i8**, i8*** %argv.addr, align 8 + %34 = load i32, i32* %top, align 4 + %35 = load i32, i32* %middle, align 4 + %36 = load i32, i32* %bottom, align 4 + %sub14 = sub nsw i32 %35, %36 + %sub15 = sub nsw i32 %34, %sub14 + %37 = load i32, i32* %i, align 4 + %add16 = add nsw i32 %sub15, %37 + %idxprom17 = sext i32 %add16 to i64 + %arrayidx18 = getelementptr inbounds i8*, i8** %33, i64 %idxprom17 + store i8* %32, i8** %arrayidx18, align 8 + %38 = load i32, i32* %i, align 4 + %inc = add nsw i32 %38, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %39 = load i32, i32* %len, align 4 + %40 = load i32, i32* %top, align 4 + %sub19 = sub nsw i32 %40, %39 + store i32 %sub19, i32* %top, align 4 + br label %if.end + +if.else: ; preds = %while.body + %41 = load i32, i32* %top, align 4 + %42 = load i32, i32* %middle, align 4 + %sub21 = sub nsw i32 %41, %42 + store i32 %sub21, i32* %len20, align 4 + store i32 0, i32* %i22, align 4 + br label %for.cond23 + +for.cond23: ; preds = %for.body25, %if.else + %43 = load i32, i32* %i22, align 4 + %44 = load i32, i32* %len20, align 4 + %cmp24 = icmp slt i32 %43, %44 + br i1 %cmp24, label %for.body25, label %for.end40 + +for.body25: ; preds = %for.cond23 + %45 = load i8**, i8*** %argv.addr, align 8 + %46 = load i32, i32* %bottom, align 4 + %47 = load i32, i32* %i22, align 4 + %add26 = add nsw i32 %46, %47 + %idxprom27 = sext i32 %add26 to i64 + %arrayidx28 = getelementptr inbounds i8*, i8** %45, i64 %idxprom27 + %48 = load i8*, i8** %arrayidx28, align 8 + store i8* %48, i8** %tem, align 8 + %49 = load i8**, i8*** %argv.addr, align 8 + %50 = load i32, i32* %middle, align 4 + %51 = load i32, i32* %i22, align 4 + %add29 = add nsw i32 %50, %51 + %idxprom30 = sext i32 %add29 to i64 + %arrayidx31 = getelementptr inbounds i8*, i8** %49, i64 %idxprom30 + %52 = load i8*, i8** %arrayidx31, align 8 + %53 = load i8**, i8*** %argv.addr, align 8 + %54 = load i32, i32* %bottom, align 4 + %55 = load i32, i32* %i22, align 4 + %add32 = add nsw i32 %54, %55 + %idxprom33 = sext i32 %add32 to i64 + %arrayidx34 = getelementptr inbounds i8*, i8** %53, i64 %idxprom33 + store i8* %52, i8** %arrayidx34, align 8 + %56 = load i8*, i8** %tem, align 8 + %57 = load i8**, i8*** %argv.addr, align 8 + %58 = load i32, i32* %middle, align 4 + %59 = load i32, i32* %i22, align 4 + %add35 = add nsw i32 %58, %59 + %idxprom36 = sext i32 %add35 to i64 + %arrayidx37 = getelementptr inbounds i8*, i8** %57, i64 %idxprom36 + store i8* %56, i8** %arrayidx37, align 8 + %60 = load i32, i32* %i22, align 4 + %inc39 = add nsw i32 %60, 1 + store i32 %inc39, i32* %i22, align 4 + br label %for.cond23 + +for.end40: ; preds = %for.cond23 + %61 = load i32, i32* %len20, align 4 + %62 = load i32, i32* %bottom, align 4 + %add41 = add nsw i32 %62, %61 + store i32 %add41, i32* %bottom, align 4 + br label %if.end + +if.end: ; preds = %for.end40, %for.end + br label %while.cond + +while.end: ; preds = %while.cond + %63 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind42 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %63, i32 0, i32 0 + %64 = load i32, i32* %optind42, align 8 + %65 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt43 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %65, i32 0, i32 9 + %66 = load i32, i32* %__last_nonopt43, align 4 + %sub44 = sub nsw i32 %64, %66 + %67 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt45 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %67, i32 0, i32 8 + %68 = load i32, i32* %__first_nonopt45, align 8 + %add46 = add nsw i32 %68, %sub44 + store i32 %add46, i32* %__first_nonopt45, align 8 + %69 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind47 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %69, i32 0, i32 0 + %70 = load i32, i32* %optind47, align 8 + %71 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt48 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %71, i32 0, i32 9 + store i32 %70, i32* %__last_nonopt48, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getopt(i32 %argc, i8** %argv, i8* %optstring) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + %0 = load i32, i32* %argc.addr, align 4 + %1 = load i8**, i8*** %argv.addr, align 8 + %2 = load i8*, i8** %optstring.addr, align 8 + %call = call i32 @_getopt_internal(i32 %0, i8** %1, i8* %2, %struct.option* null, i32* null, i32 0) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getopt_long(i32 %argc, i8** %argv, i8* %options, %struct.option* %long_options, i32* %opt_index) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %options.addr = alloca i8*, align 8 + %long_options.addr = alloca %struct.option*, align 8 + %opt_index.addr = alloca i32*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %options, i8** %options.addr, align 8 + store %struct.option* %long_options, %struct.option** %long_options.addr, align 8 + store i32* %opt_index, i32** %opt_index.addr, align 8 + %0 = load i32, i32* %argc.addr, align 4 + %1 = load i8**, i8*** %argv.addr, align 8 + %2 = load i8*, i8** %options.addr, align 8 + %3 = load %struct.option*, %struct.option** %long_options.addr, align 8 + %4 = load i32*, i32** %opt_index.addr, align 8 + %call = call i32 @_getopt_internal(i32 %0, i8** %1, i8* %2, %struct.option* %3, i32* %4, i32 0) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getopt_long_only(i32 %argc, i8** %argv, i8* %options, %struct.option* %long_options, i32* %opt_index) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %options.addr = alloca i8*, align 8 + %long_options.addr = alloca %struct.option*, align 8 + %opt_index.addr = alloca i32*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %options, i8** %options.addr, align 8 + store %struct.option* %long_options, %struct.option** %long_options.addr, align 8 + store i32* %opt_index, i32** %opt_index.addr, align 8 + %0 = load i32, i32* %argc.addr, align 4 + %1 = load i8**, i8*** %argv.addr, align 8 + %2 = load i8*, i8** %options.addr, align 8 + %3 = load %struct.option*, %struct.option** %long_options.addr, align 8 + %4 = load i32*, i32** %opt_index.addr, align 8 + %call = call i32 @_getopt_internal(i32 %0, i8** %1, i8* %2, %struct.option* %3, i32* %4, i32 1) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define %struct.__uclibc_locale_struct.201* @newlocale(i32 %category_mask, i8* %locale, %struct.__uclibc_locale_struct.201* %base) #0 { +entry: + %retval = alloca %struct.__uclibc_locale_struct.201*, align 8 + %category_mask.addr = alloca i32, align 4 + %locale.addr = alloca i8*, align 8 + %base.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %p = alloca i8*, align 8 + %i = alloca i32, align 4 + %j = alloca i32, align 4 + %k = alloca i32, align 4 + %new_selector = alloca [14 x i8], align 1 + store i32 %category_mask, i32* %category_mask.addr, align 4 + store i8* %locale, i8** %locale.addr, align 8 + store %struct.__uclibc_locale_struct.201* %base, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %0 = load i32, i32* %category_mask.addr, align 4 + %cmp = icmp eq i32 %0, 64 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 8127, i32* %category_mask.addr, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i8*, i8** %locale.addr, align 8 + %tobool = icmp eq i8* %1, null + %2 = load i32, i32* %category_mask.addr, align 4 + %cmp1 = icmp ugt i32 %2, 8127 + %or.cond = or i1 %tobool, %cmp1 + br i1 %or.cond, label %INVALID, label %if.end3 + +INVALID: ; preds = %if.else, %do.end, %if.end + store i32 22, i32* @errno, align 4 + store %struct.__uclibc_locale_struct.201* null, %struct.__uclibc_locale_struct.201** %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %3 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tobool4 = icmp ne %struct.__uclibc_locale_struct.201* %3, null + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %4, i32 0, i32 6 + %arraydecay5 = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + %cond = select i1 %tobool4, i8* %arraydecay5, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.340, i64 0, i64 0) + %call = call i8* @strcpy(i8* %arraydecay, i8* %cond) #19 + %5 = load i8*, i8** %locale.addr, align 8 + %6 = load i8, i8* %5, align 1 + %tobool6 = icmp ne i8 %6, 0 + br i1 %tobool6, label %if.else, label %if.then7 + +if.then7: ; preds = %if.end3 + store i32 1, i32* %i, align 4 + store i32 0, i32* %k, align 4 + br label %do.body + +do.body: ; preds = %if.end25, %if.then7 + %7 = load i32, i32* %category_mask.addr, align 4 + %8 = load i32, i32* %i, align 4 + %and = and i32 %7, %8 + %tobool8 = icmp ne i32 %and, 0 + br i1 %tobool8, label %if.then9, label %if.end25 + +if.then9: ; preds = %do.body + %9 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %9, i32 0, i32 34 + %arraydecay10 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names, i64 0, i64 0 + %10 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names11 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %10, i32 0, i32 34 + %11 = load i32, i32* %k, align 4 + %idxprom = sext i32 %11 to i64 + %arrayidx = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names11, i64 0, i64 %idxprom + %12 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %12 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay10, i64 %idx.ext + store i8* %add.ptr, i8** getelementptr inbounds ([4 x i8*], [4 x i8*]* @newlocale.envstr, i64 0, i64 1), align 8 + store i32 0, i32* %j, align 4 + br label %do.body12 + +do.body12: ; preds = %land.rhs, %lor.rhs, %if.then9 + %13 = load i32, i32* %j, align 4 + %idxprom13 = sext i32 %13 to i64 + %arrayidx14 = getelementptr inbounds [4 x i8*], [4 x i8*]* @newlocale.envstr, i64 0, i64 %idxprom13 + %14 = load i8*, i8** %arrayidx14, align 8 + store i8* %14, i8** %p, align 8 + %15 = load i32, i32* %j, align 4 + %inc = add nsw i32 %15, 1 + store i32 %inc, i32* %j, align 4 + %cmp15 = icmp slt i32 %inc, 4 + br i1 %cmp15, label %land.rhs, label %do.end + +land.rhs: ; preds = %do.body12 + %16 = load i8*, i8** %p, align 8 + %call17 = call i8* @getenv(i8* %16) #19 + store i8* %call17, i8** %p, align 8 + %tobool18 = icmp ne i8* %call17, null + br i1 %tobool18, label %lor.rhs, label %do.body12 + +lor.rhs: ; preds = %land.rhs + %17 = load i8*, i8** %p, align 8 + %18 = load i8, i8* %17, align 1 + %tobool19 = icmp ne i8 %18, 0 + %lnot = xor i1 %tobool19, true + br i1 %lnot, label %do.body12, label %do.end + +do.end: ; preds = %do.body12, %lor.rhs + %19 = load i32, i32* %i, align 4 + %20 = load i8*, i8** %p, align 8 + %arraydecay20 = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %call21 = call i32 @find_locale(i32 %19, i8* %20, i8* %arraydecay20) #18 + %tobool22 = icmp ne i32 %call21, 0 + br i1 %tobool22, label %if.end25, label %INVALID + +if.end25: ; preds = %do.end, %do.body + %21 = load i32, i32* %i, align 4 + %22 = load i32, i32* %i, align 4 + %add = add nsw i32 %22, %21 + store i32 %add, i32* %i, align 4 + %23 = load i32, i32* %k, align 4 + %inc27 = add nsw i32 %23, 1 + store i32 %inc27, i32* %k, align 4 + %cmp28 = icmp slt i32 %inc27, 6 + br i1 %cmp28, label %do.body, label %if.end36 + +if.else: ; preds = %if.end3 + %24 = load i32, i32* %category_mask.addr, align 4 + %25 = load i8*, i8** %locale.addr, align 8 + %arraydecay31 = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %call32 = call i8* @composite_locale(i32 %24, i8* %25, i8* %arraydecay31) #18 + %tobool33 = icmp ne i8* %call32, null + br i1 %tobool33, label %if.end36, label %INVALID + +if.end36: ; preds = %if.else, %if.end25 + %26 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tobool37 = icmp ne %struct.__uclibc_locale_struct.201* %26, null + br i1 %tobool37, label %if.end44, label %if.then38 + +if.then38: ; preds = %if.end36 + %call39 = call noalias i8* @calloc(i64 1, i64 3320) #19 + %27 = bitcast i8* %call39 to %struct.__uclibc_locale_struct.201* + store %struct.__uclibc_locale_struct.201* %27, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cmp40 = icmp eq %struct.__uclibc_locale_struct.201* %27, null + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + br i1 %cmp40, label %if.then42, label %if.end43 + +if.then42: ; preds = %if.then38 + store %struct.__uclibc_locale_struct.201* %28, %struct.__uclibc_locale_struct.201** %retval, align 8 + br label %return + +if.end43: ; preds = %if.then38 + call void @_locale_init_l(%struct.__uclibc_locale_struct.201* %28) #18 + br label %if.end44 + +if.end44: ; preds = %if.end43, %if.end36 + %arraydecay45 = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %29 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call46 = call i32 @_locale_set_l(i8* %arraydecay45, %struct.__uclibc_locale_struct.201* %29) #18 + %30 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + store %struct.__uclibc_locale_struct.201* %30, %struct.__uclibc_locale_struct.201** %retval, align 8 + br label %return + +return: ; preds = %if.end44, %if.then42, %INVALID + %31 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %retval, align 8 + ret %struct.__uclibc_locale_struct.201* %31 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @find_locale(i32 %category_mask, i8* %p, i8* %new_locale) #0 { +entry: + %retval = alloca i32, align 4 + %category_mask.addr = alloca i32, align 4 + %p.addr = alloca i8*, align 8 + %new_locale.addr = alloca i8*, align 8 + %i = alloca i32, align 4 + %s = alloca i8*, align 8 + %n = alloca i16, align 2 + %lang_cult = alloca i8, align 1 + %codeset = alloca i8, align 1 + %buf = alloca [18 x i8], align 16 + %q = alloca i8*, align 8 + store i32 %category_mask, i32* %category_mask.addr, align 4 + store i8* %p, i8** %p.addr, align 8 + store i8* %new_locale, i8** %new_locale.addr, align 8 + %0 = load i8*, i8** %p.addr, align 8 + %call = call i8* @strchr(i8* %0, i32 64) #20 + store i8* %call, i8** %q, align 8 + %cmp = icmp ne i8* %call, null + br i1 %cmp, label %if.then, label %if.end27 + +if.then: ; preds = %entry + %1 = load i8*, i8** %q, align 8 + %2 = load i8*, i8** %p.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %1 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %2 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %sub = sub nsw i64 %sub.ptr.sub, 5 + %cmp1 = icmp ugt i64 %sub, 13 + br i1 %cmp1, label %if.then4, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then + %3 = load i8*, i8** %p.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %3, i64 2 + %4 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %4 to i32 + %cmp2 = icmp ne i32 %conv, 95 + br i1 %cmp2, label %if.then4, label %if.end + +if.then4: ; preds = %lor.lhs.false, %if.then + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %lor.lhs.false + %5 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_at_modifiers = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %5, i32 0, i32 33 + %arraydecay = getelementptr inbounds [18 x i8], [18 x i8]* %locale_at_modifiers, i64 0, i64 0 + store i8* %arraydecay, i8** %s, align 8 + br label %do.body + +do.body: ; preds = %if.end8, %if.end + %6 = load i8*, i8** %s, align 8 + %add.ptr = getelementptr inbounds i8, i8* %6, i64 2 + %7 = load i8*, i8** %q, align 8 + %add.ptr5 = getelementptr inbounds i8, i8* %7, i64 1 + %call6 = call i32 @strcmp(i8* %add.ptr, i8* %add.ptr5) #20 + %tobool = icmp ne i32 %call6, 0 + br i1 %tobool, label %if.end8, label %do.end + +if.end8: ; preds = %do.body + %8 = load i8*, i8** %s, align 8 + %9 = load i8, i8* %8, align 1 + %conv9 = zext i8 %9 to i32 + %add = add nsw i32 2, %conv9 + %10 = load i8*, i8** %s, align 8 + %idx.ext = sext i32 %add to i64 + %add.ptr10 = getelementptr inbounds i8, i8* %10, i64 %idx.ext + store i8* %add.ptr10, i8** %s, align 8 + %11 = load i8*, i8** %s, align 8 + %12 = load i8, i8* %11, align 1 + %tobool11 = icmp ne i8 %12, 0 + br i1 %tobool11, label %do.body, label %do.end + +do.end: ; preds = %do.body, %if.end8 + %13 = load i8*, i8** %s, align 8 + %14 = load i8, i8* %13, align 1 + %tobool12 = icmp ne i8 %14, 0 + br i1 %tobool12, label %if.end14, label %if.then13 + +if.then13: ; preds = %do.end + store i32 0, i32* %retval, align 4 + br label %return + +if.end14: ; preds = %do.end + %arraydecay15 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 0 + %15 = load i8*, i8** %p.addr, align 8 + %16 = load i8*, i8** %q, align 8 + %17 = load i8*, i8** %p.addr, align 8 + %sub.ptr.lhs.cast16 = ptrtoint i8* %16 to i64 + %sub.ptr.rhs.cast17 = ptrtoint i8* %17 to i64 + %sub.ptr.sub18 = sub i64 %sub.ptr.lhs.cast16, %sub.ptr.rhs.cast17 + %call19 = call i8* @memcpy(i8* %arraydecay15, i8* %15, i64 %sub.ptr.sub18) #19 + %18 = load i8*, i8** %q, align 8 + %19 = load i8*, i8** %p.addr, align 8 + %sub.ptr.lhs.cast20 = ptrtoint i8* %18 to i64 + %sub.ptr.rhs.cast21 = ptrtoint i8* %19 to i64 + %sub.ptr.sub22 = sub i64 %sub.ptr.lhs.cast20, %sub.ptr.rhs.cast21 + %arrayidx23 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 %sub.ptr.sub22 + store i8 0, i8* %arrayidx23, align 1 + %20 = load i8*, i8** %s, align 8 + %arrayidx24 = getelementptr inbounds i8, i8* %20, i64 1 + %21 = load i8, i8* %arrayidx24, align 1 + %arrayidx25 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 2 + store i8 %21, i8* %arrayidx25, align 2 + %arraydecay26 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay26, i8** %p.addr, align 8 + br label %if.end27 + +if.end27: ; preds = %if.end14, %entry + store i8 0, i8* %codeset, align 1 + store i8 0, i8* %lang_cult, align 1 + %22 = load i8*, i8** %p.addr, align 8 + %23 = load i8, i8* %22, align 1 + %conv28 = sext i8 %23 to i32 + %cmp29 = icmp eq i32 %conv28, 67 + br i1 %cmp29, label %land.lhs.true, label %lor.lhs.false33 + +land.lhs.true: ; preds = %if.end27 + %24 = load i8*, i8** %p.addr, align 8 + %arrayidx31 = getelementptr inbounds i8, i8* %24, i64 1 + %25 = load i8, i8* %arrayidx31, align 1 + %tobool32 = icmp ne i8 %25, 0 + br i1 %tobool32, label %lor.lhs.false33, label %FIND_LOCALE + +lor.lhs.false33: ; preds = %land.lhs.true, %if.end27 + %26 = load i8*, i8** %p.addr, align 8 + %call34 = call i32 @strcmp(i8* %26, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @posix, i64 0, i64 0)) #20 + %tobool35 = icmp ne i32 %call34, 0 + br i1 %tobool35, label %if.end37, label %FIND_LOCALE + +if.end37: ; preds = %lor.lhs.false33 + %27 = load i8*, i8** %p.addr, align 8 + %call38 = call i64 @strlen(i8* %27) #20 + %cmp39 = icmp ugt i64 %call38, 5 + br i1 %cmp39, label %land.lhs.true41, label %FIND_LANG_CULT + +land.lhs.true41: ; preds = %if.end37 + %28 = load i8*, i8** %p.addr, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %28, i64 5 + %29 = load i8, i8* %arrayidx42, align 1 + %conv43 = sext i8 %29 to i32 + %cmp44 = icmp eq i32 %conv43, 46 + br i1 %cmp44, label %if.then46, label %FIND_LANG_CULT + +if.then46: ; preds = %land.lhs.true41 + store i8 2, i8* %codeset, align 1 + %30 = load i8*, i8** %p.addr, align 8 + %add.ptr47 = getelementptr inbounds i8, i8* %30, i64 6 + %call48 = call i32 @strcmp(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf8.343, i64 0, i64 0), i8* %add.ptr47) #20 + %cmp49 = icmp ne i32 %call48, 0 + br i1 %cmp49, label %if.then51, label %FIND_LANG_CULT + +if.then51: ; preds = %if.then46 + %31 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %31, i32 0, i32 35 + %arraydecay52 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list, i64 0, i64 0 + store i8* %arraydecay52, i8** %s, align 8 + br label %do.body53 + +do.body53: ; preds = %do.cond64, %if.then51 + %32 = load i8, i8* %codeset, align 1 + %inc = add i8 %32, 1 + store i8 %inc, i8* %codeset, align 1 + %33 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list54 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %33, i32 0, i32 35 + %arraydecay55 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list54, i64 0, i64 0 + %34 = load i8*, i8** %s, align 8 + %35 = load i8, i8* %34, align 1 + %conv56 = zext i8 %35 to i32 + %idx.ext57 = sext i32 %conv56 to i64 + %add.ptr58 = getelementptr inbounds i8, i8* %arraydecay55, i64 %idx.ext57 + %36 = load i8*, i8** %p.addr, align 8 + %add.ptr59 = getelementptr inbounds i8, i8* %36, i64 6 + %call60 = call i32 @strcmp(i8* %add.ptr58, i8* %add.ptr59) #20 + %tobool61 = icmp ne i32 %call60, 0 + br i1 %tobool61, label %do.cond64, label %FIND_LANG_CULT + +do.cond64: ; preds = %do.body53 + %37 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %37, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %38 = load i8, i8* %incdec.ptr, align 1 + %tobool65 = icmp ne i8 %38, 0 + br i1 %tobool65, label %do.body53, label %do.end66 + +do.end66: ; preds = %do.cond64 + store i32 0, i32* %retval, align 4 + br label %return + +FIND_LANG_CULT: ; preds = %if.end37, %land.lhs.true41, %if.then46, %do.body53 + %39 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_names5 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %39, i32 0, i32 32 + %arraydecay69 = getelementptr inbounds [835 x i8], [835 x i8]* %locale_names5, i64 0, i64 0 + store i8* %arraydecay69, i8** %s, align 8 + br label %do.body70 + +do.body70: ; preds = %if.end75, %FIND_LANG_CULT + %40 = load i8, i8* %lang_cult, align 1 + %inc71 = add i8 %40, 1 + store i8 %inc71, i8* %lang_cult, align 1 + %41 = load i8*, i8** %s, align 8 + %42 = load i8*, i8** %p.addr, align 8 + %call72 = call i32 @strncmp(i8* %41, i8* %42, i64 5) #20 + %tobool73 = icmp ne i32 %call72, 0 + br i1 %tobool73, label %if.end75, label %FIND_LOCALE + +if.end75: ; preds = %do.body70 + %43 = load i8*, i8** %s, align 8 + %add.ptr76 = getelementptr inbounds i8, i8* %43, i64 5 + store i8* %add.ptr76, i8** %s, align 8 + %44 = load i8, i8* %lang_cult, align 1 + %conv78 = zext i8 %44 to i32 + %cmp79 = icmp slt i32 %conv78, 167 + br i1 %cmp79, label %do.body70, label %do.end81 + +do.end81: ; preds = %if.end75 + store i32 0, i32* %retval, align 4 + br label %return + +FIND_LOCALE: ; preds = %do.body70, %land.lhs.true, %lor.lhs.false33 + %45 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %45, i32 0, i32 31 + %arraydecay82 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales, i64 0, i64 0 + store i8* %arraydecay82, i8** %s, align 8 + store i16 0, i16* %n, align 2 + br label %do.body83 + +do.body83: ; preds = %if.end120, %FIND_LOCALE + %46 = load i8, i8* %lang_cult, align 1 + %conv84 = zext i8 %46 to i32 + %47 = load i8*, i8** %s, align 8 + %48 = load i8, i8* %47, align 1 + %conv85 = zext i8 %48 to i32 + %cmp86 = icmp eq i32 %conv84, %conv85 + br i1 %cmp86, label %land.lhs.true88, label %if.end120 + +land.lhs.true88: ; preds = %do.body83 + %49 = load i8, i8* %codeset, align 1 + %conv89 = zext i8 %49 to i32 + %50 = load i8*, i8** %s, align 8 + %arrayidx90 = getelementptr inbounds i8, i8* %50, i64 1 + %51 = load i8, i8* %arrayidx90, align 1 + %conv91 = zext i8 %51 to i32 + %cmp92 = icmp eq i32 %conv89, %conv91 + br i1 %cmp92, label %if.then100, label %lor.lhs.false94 + +lor.lhs.false94: ; preds = %land.lhs.true88 + %52 = load i8, i8* %codeset, align 1 + %conv95 = zext i8 %52 to i32 + %53 = load i8*, i8** %s, align 8 + %arrayidx96 = getelementptr inbounds i8, i8* %53, i64 2 + %54 = load i8, i8* %arrayidx96, align 1 + %conv97 = zext i8 %54 to i32 + %cmp98 = icmp eq i32 %conv95, %conv97 + br i1 %cmp98, label %if.then100, label %if.end120 + +if.then100: ; preds = %lor.lhs.false94, %land.lhs.true88 + store i32 1, i32* %i, align 4 + %55 = load i8*, i8** %new_locale.addr, align 8 + %add.ptr101 = getelementptr inbounds i8, i8* %55, i64 1 + store i8* %add.ptr101, i8** %s, align 8 + br label %do.body102 + +do.body102: ; preds = %if.end113, %if.then100 + %56 = load i32, i32* %category_mask.addr, align 4 + %57 = load i32, i32* %i, align 4 + %and = and i32 %56, %57 + %tobool103 = icmp ne i32 %and, 0 + br i1 %tobool103, label %if.then104, label %if.end113 + +if.then104: ; preds = %do.body102 + %58 = load i16, i16* %n, align 2 + %conv105 = zext i16 %58 to i32 + %shr = ashr i32 %conv105, 7 + %or = or i32 %shr, 128 + %conv106 = trunc i32 %or to i8 + %59 = load i8*, i8** %s, align 8 + %arrayidx107 = getelementptr inbounds i8, i8* %59, i64 0 + store i8 %conv106, i8* %arrayidx107, align 1 + %60 = load i16, i16* %n, align 2 + %conv108 = zext i16 %60 to i32 + %and109 = and i32 %conv108, 127 + %or110 = or i32 %and109, 128 + %conv111 = trunc i32 %or110 to i8 + %61 = load i8*, i8** %s, align 8 + %arrayidx112 = getelementptr inbounds i8, i8* %61, i64 1 + store i8 %conv111, i8* %arrayidx112, align 1 + br label %if.end113 + +if.end113: ; preds = %if.then104, %do.body102 + %62 = load i8*, i8** %s, align 8 + %add.ptr114 = getelementptr inbounds i8, i8* %62, i64 2 + store i8* %add.ptr114, i8** %s, align 8 + %63 = load i32, i32* %i, align 4 + %64 = load i32, i32* %i, align 4 + %add115 = add nsw i32 %64, %63 + store i32 %add115, i32* %i, align 4 + %65 = load i32, i32* %i, align 4 + %cmp117 = icmp slt i32 %65, 64 + br i1 %cmp117, label %do.body102, label %do.end119 + +do.end119: ; preds = %if.end113 + %66 = load i32, i32* %i, align 4 + store i32 %66, i32* %retval, align 4 + br label %return + +if.end120: ; preds = %lor.lhs.false94, %do.body83 + %67 = load i8*, i8** %s, align 8 + %add.ptr121 = getelementptr inbounds i8, i8* %67, i64 9 + store i8* %add.ptr121, i8** %s, align 8 + %68 = load i16, i16* %n, align 2 + %inc122 = add i16 %68, 1 + store i16 %inc122, i16* %n, align 2 + %69 = load i16, i16* %n, align 2 + %conv124 = zext i16 %69 to i32 + %cmp125 = icmp sle i32 %conv124, 314 + br i1 %cmp125, label %do.body83, label %do.end127 + +do.end127: ; preds = %if.end120 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end127, %do.end119, %do.end81, %do.end66, %if.then13, %if.then4 + %70 = load i32, i32* %retval, align 4 + ret i32 %70 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @composite_locale(i32 %category_mask, i8* %locale, i8* %new_locale) #0 { +entry: + %retval = alloca i8*, align 8 + %category_mask.addr = alloca i32, align 4 + %locale.addr = alloca i8*, align 8 + %new_locale.addr = alloca i8*, align 8 + %buf = alloca [256 x i8], align 16 + %t = alloca i8*, align 8 + %e = alloca i8*, align 8 + %c = alloca i32, align 4 + %component_mask = alloca i32, align 4 + store i32 %category_mask, i32* %category_mask.addr, align 4 + store i8* %locale, i8** %locale.addr, align 8 + store i8* %new_locale, i8** %new_locale.addr, align 8 + %0 = load i8*, i8** %locale.addr, align 8 + %call = call i8* @strchr(i8* %0, i32 61) #20 + %tobool = icmp ne i8* %call, null + br i1 %tobool, label %if.end4, label %if.then + +if.then: ; preds = %entry + %1 = load i32, i32* %category_mask.addr, align 4 + %2 = load i8*, i8** %locale.addr, align 8 + %3 = load i8*, i8** %new_locale.addr, align 8 + %call1 = call i32 @find_locale(i32 %1, i8* %2, i8* %3) #18 + %tobool2 = icmp ne i32 %call1, 0 + br i1 %tobool2, label %if.end, label %if.then3 + +if.then3: ; preds = %if.then + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %if.then + %4 = load i8*, i8** %new_locale.addr, align 8 + store i8* %4, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %entry + %5 = load i8*, i8** %locale.addr, align 8 + %call5 = call i64 @strlen(i8* %5) #20 + %cmp = icmp uge i64 %call5, 256 + br i1 %cmp, label %if.then6, label %if.end7 + +if.then6: ; preds = %if.end4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end7: ; preds = %if.end4 + %arraydecay = getelementptr inbounds [256 x i8], [256 x i8]* %buf, i64 0, i64 0 + %6 = load i8*, i8** %locale.addr, align 8 + %call8 = call i8* @stpcpy(i8* %arraydecay, i8* %6) #19 + store i32 0, i32* %component_mask, align 4 + %arraydecay9 = getelementptr inbounds [256 x i8], [256 x i8]* %buf, i64 0, i64 0 + %call10 = call i8* @strtok_r(i8* %arraydecay9, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.341, i64 0, i64 0), i8** %e) #19 + store i8* %call10, i8** %t, align 8 + br label %do.body + +do.body: ; preds = %do.cond, %if.end7 + store i32 0, i32* %c, align 4 + br label %while.cond + +while.cond: ; preds = %while.body, %do.body + %7 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %7, i32 0, i32 34 + %arraydecay11 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names, i64 0, i64 0 + %8 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names12 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %8, i32 0, i32 34 + %9 = load i32, i32* %c, align 4 + %idxprom = sext i32 %9 to i64 + %arrayidx = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names12, i64 0, i64 %idxprom + %10 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %10 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay11, i64 %idx.ext + %11 = load i8*, i8** %t, align 8 + %call13 = call i32 @strcmp(i8* %add.ptr, i8* %11) #20 + %tobool14 = icmp ne i32 %call13, 0 + br i1 %tobool14, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %12 = load i32, i32* %c, align 4 + %inc = add nsw i32 %12, 1 + store i32 %inc, i32* %c, align 4 + %cmp15 = icmp eq i32 %inc, 6 + br i1 %cmp15, label %if.then17, label %while.cond + +if.then17: ; preds = %while.body + store i8* null, i8** %retval, align 8 + br label %return + +while.end: ; preds = %while.cond + %call19 = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.4.342, i64 0, i64 0), i8** %e) #19 + store i8* %call19, i8** %t, align 8 + %13 = load i32, i32* %c, align 4 + %shl = shl i32 1, %13 + store i32 %shl, i32* %c, align 4 + %14 = load i32, i32* %component_mask, align 4 + %15 = load i32, i32* %c, align 4 + %and = and i32 %14, %15 + %tobool20 = icmp ne i32 %and, 0 + br i1 %tobool20, label %if.then21, label %if.end22 + +if.then21: ; preds = %while.end + store i8* null, i8** %retval, align 8 + br label %return + +if.end22: ; preds = %while.end + %16 = load i32, i32* %c, align 4 + %17 = load i32, i32* %component_mask, align 4 + %or = or i32 %17, %16 + store i32 %or, i32* %component_mask, align 4 + %18 = load i32, i32* %category_mask.addr, align 4 + %19 = load i32, i32* %c, align 4 + %and23 = and i32 %18, %19 + %tobool24 = icmp ne i32 %and23, 0 + br i1 %tobool24, label %land.lhs.true, label %do.cond + +land.lhs.true: ; preds = %if.end22 + %20 = load i8*, i8** %t, align 8 + %tobool25 = icmp ne i8* %20, null + br i1 %tobool25, label %lor.lhs.false, label %if.then28 + +lor.lhs.false: ; preds = %land.lhs.true + %21 = load i32, i32* %c, align 4 + %22 = load i8*, i8** %t, align 8 + %23 = load i8*, i8** %new_locale.addr, align 8 + %call26 = call i32 @find_locale(i32 %21, i8* %22, i8* %23) #18 + %tobool27 = icmp ne i32 %call26, 0 + br i1 %tobool27, label %do.cond, label %if.then28 + +if.then28: ; preds = %lor.lhs.false, %land.lhs.true + store i8* null, i8** %retval, align 8 + br label %return + +do.cond: ; preds = %if.end22, %lor.lhs.false + %call30 = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.341, i64 0, i64 0), i8** %e) #19 + store i8* %call30, i8** %t, align 8 + %cmp31 = icmp ne i8* %call30, null + br i1 %cmp31, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %24 = load i32, i32* %category_mask.addr, align 4 + %25 = load i32, i32* %component_mask, align 4 + %neg = xor i32 %25, -1 + %and33 = and i32 %24, %neg + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %if.then35, label %if.end36 + +if.then35: ; preds = %do.end + store i8* null, i8** %retval, align 8 + br label %return + +if.end36: ; preds = %do.end + %26 = load i8*, i8** %new_locale.addr, align 8 + store i8* %26, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end36, %if.then35, %if.then28, %if.then21, %if.then17, %if.then6, %if.end, %if.then3 + %27 = load i8*, i8** %retval, align 8 + ret i8* %27 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @nl_langinfo_l(i32 %item, %struct.__uclibc_locale_struct.201* %locale_arg) #0 { +entry: + %retval = alloca i8*, align 8 + %item.addr = alloca i32, align 4 + %locale_arg.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %c = alloca i32, align 4 + %i = alloca i32, align 4 + store i32 %item, i32* %item.addr, align 4 + store %struct.__uclibc_locale_struct.201* %locale_arg, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %0 = load i32, i32* %item.addr, align 4 + %shr = ashr i32 %0, 8 + store i32 %shr, i32* %c, align 4 + %1 = load i32, i32* %item.addr, align 4 + %and = and i32 %1, 255 + store i32 %and, i32* %i, align 4 + %2 = load i32, i32* %c, align 4 + %cmp = icmp ult i32 %2, 6 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %3 = load i32, i32* %i, align 4 + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %category_item_count = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %4, i32 0, i32 8 + %5 = load i32, i32* %c, align 4 + %idxprom = zext i32 %5 to i64 + %arrayidx = getelementptr inbounds [6 x i8], [6 x i8]* %category_item_count, i64 0, i64 %idxprom + %6 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %6 to i32 + %cmp1 = icmp ult i32 %3, %conv + br i1 %cmp1, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %7 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %8 = bitcast %struct.__uclibc_locale_struct.201* %7 to i8* + %9 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %category_offsets = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %9, i32 0, i32 7 + %10 = load i32, i32* %c, align 4 + %idxprom3 = zext i32 %10 to i64 + %arrayidx4 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets, i64 0, i64 %idxprom3 + %11 = load i16, i16* %arrayidx4, align 2 + %conv5 = zext i16 %11 to i32 + %idx.ext = sext i32 %conv5 to i64 + %add.ptr = getelementptr inbounds i8, i8* %8, i64 %idx.ext + %12 = bitcast i8* %add.ptr to i8** + %13 = load i32, i32* %i, align 4 + %idxprom6 = zext i32 %13 to i64 + %arrayidx7 = getelementptr inbounds i8*, i8** %12, i64 %idxprom6 + %14 = load i8*, i8** %arrayidx7, align 8 + store i8* %14, i8** %retval, align 8 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @empty, i64 0, i64 0), i8** %retval, align 8 + br label %return + +return: ; preds = %if.end, %if.then + %15 = load i8*, i8** %retval, align 8 + ret i8* %15 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @mbsnrtowcs(i32* noalias %dst, i8** noalias %src, i64 %NMC, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %retval = alloca i64, align 8 + %dst.addr = alloca i32*, align 8 + %src.addr = alloca i8**, align 8 + %NMC.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %wcbuf = alloca [1 x i32], align 4 + %s = alloca i8*, align 8 + %count = alloca i64, align 8 + %incr = alloca i32, align 4 + %r = alloca i64, align 8 + %wc = alloca i32, align 4 + store i32* %dst, i32** %dst.addr, align 8 + store i8** %src, i8*** %src.addr, align 8 + store i64 %NMC, i64* %NMC.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %tobool = icmp ne %struct.__mbstate_t.512* %0, null + %spec.store.select = select i1 %tobool, %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512* @mbsnrtowcs.mbstate + store %struct.__mbstate_t.512* %spec.store.select, %struct.__mbstate_t.512** %ps.addr, align 8 + %1 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %1, i32 0, i32 9 + %2 = load i8, i8* %encoding, align 8 + %conv = zext i8 %2 to i32 + %cmp = icmp eq i32 %conv, 1 + br i1 %cmp, label %if.then2, label %if.end5 + +if.then2: ; preds = %entry + %3 = load i32*, i32** %dst.addr, align 8 + %4 = load i64, i64* %len.addr, align 8 + %5 = load i8**, i8*** %src.addr, align 8 + %6 = load i64, i64* %NMC.addr, align 8 + %7 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @_wchar_utf8sntowcs(i32* %3, i64 %4, i8** %5, i64 %6, %struct.__mbstate_t.512* %7, i32 1) #18 + store i64 %call, i64* %r, align 8 + %cmp3 = icmp ne i64 %call, -2 + %8 = load i64, i64* %r, align 8 + %cond = select i1 %cmp3, i64 %8, i64 0 + store i64 %cond, i64* %retval, align 8 + br label %return + +if.end5: ; preds = %entry + store i32 1, i32* %incr, align 4 + %9 = load i32*, i32** %dst.addr, align 8 + %tobool6 = icmp ne i32* %9, null + br i1 %tobool6, label %lor.lhs.false, label %if.then9 + +lor.lhs.false: ; preds = %if.end5 + %10 = load i32*, i32** %dst.addr, align 8 + %11 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %12 = bitcast %struct.__mbstate_t.512* %11 to i32* + %cmp7 = icmp eq i32* %10, %12 + br i1 %cmp7, label %if.then9, label %if.end13 + +if.then9: ; preds = %lor.lhs.false, %if.end5 + %13 = load i32*, i32** %dst.addr, align 8 + %tobool10 = icmp ne i32* %13, null + br i1 %tobool10, label %if.end12, label %if.then11 + +if.then11: ; preds = %if.then9 + store i64 -1, i64* %len.addr, align 8 + br label %if.end12 + +if.end12: ; preds = %if.then11, %if.then9 + %arraydecay = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay, i32** %dst.addr, align 8 + store i32 0, i32* %incr, align 4 + br label %if.end13 + +if.end13: ; preds = %if.end12, %lor.lhs.false + %14 = load i64, i64* %len.addr, align 8 + %15 = load i64, i64* %NMC.addr, align 8 + %cmp14 = icmp ugt i64 %14, %15 + br i1 %cmp14, label %if.then16, label %if.end17 + +if.then16: ; preds = %if.end13 + %16 = load i64, i64* %NMC.addr, align 8 + store i64 %16, i64* %len.addr, align 8 + br label %if.end17 + +if.end17: ; preds = %if.then16, %if.end13 + %17 = load i64, i64* %len.addr, align 8 + store i64 %17, i64* %count, align 8 + %18 = load i8**, i8*** %src.addr, align 8 + %19 = load i8*, i8** %18, align 8 + store i8* %19, i8** %s, align 8 + %20 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding18 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %20, i32 0, i32 9 + %21 = load i8, i8* %encoding18, align 8 + %conv19 = zext i8 %21 to i32 + %cmp20 = icmp eq i32 %conv19, 2 + br i1 %cmp20, label %while.cond, label %while.cond46 + +while.cond: ; preds = %if.end17, %if.end38 + %22 = load i64, i64* %count, align 8 + %tobool23 = icmp ne i64 %22, 0 + br i1 %tobool23, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %23 = load i8*, i8** %s, align 8 + %24 = load i8, i8* %23, align 1 + %conv24 = zext i8 %24 to i32 + store i32 %conv24, i32* %wc, align 4 + %cmp25 = icmp sge i32 %conv24, 128 + br i1 %cmp25, label %if.then27, label %if.end35 + +if.then27: ; preds = %while.body + %25 = load i32, i32* %wc, align 4 + %sub = sub nsw i32 %25, 128 + store i32 %sub, i32* %wc, align 4 + %26 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %tbl8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %26, i32 0, i32 17 + %27 = load i16*, i16** %tbl8c2wc, align 8 + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %idx8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %28, i32 0, i32 16 + %29 = load i8*, i8** %idx8c2wc, align 8 + %30 = load i32, i32* %wc, align 4 + %shr = ashr i32 %30, 3 + %idxprom = sext i32 %shr to i64 + %arrayidx = getelementptr inbounds i8, i8* %29, i64 %idxprom + %31 = load i8, i8* %arrayidx, align 1 + %conv28 = zext i8 %31 to i32 + %shl = shl i32 %conv28, 3 + %32 = load i32, i32* %wc, align 4 + %and = and i32 %32, 7 + %add = add nsw i32 %shl, %and + %idxprom29 = sext i32 %add to i64 + %arrayidx30 = getelementptr inbounds i16, i16* %27, i64 %idxprom29 + %33 = load i16, i16* %arrayidx30, align 2 + %conv31 = zext i16 %33 to i32 + store i32 %conv31, i32* %wc, align 4 + %34 = load i32, i32* %wc, align 4 + %tobool32 = icmp ne i32 %34, 0 + br i1 %tobool32, label %if.end35, label %BAD + +if.end35: ; preds = %if.then27, %while.body + %35 = load i32, i32* %wc, align 4 + %36 = load i32*, i32** %dst.addr, align 8 + store i32 %35, i32* %36, align 4 + %tobool36 = icmp ne i32 %35, 0 + br i1 %tobool36, label %if.end38, label %if.then37 + +if.then37: ; preds = %if.end35 + store i8* null, i8** %s, align 8 + br label %while.end + +if.end38: ; preds = %if.end35 + %37 = load i32, i32* %incr, align 4 + %38 = load i32*, i32** %dst.addr, align 8 + %idx.ext = sext i32 %37 to i64 + %add.ptr = getelementptr inbounds i32, i32* %38, i64 %idx.ext + store i32* %add.ptr, i32** %dst.addr, align 8 + %39 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %39, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %40 = load i64, i64* %count, align 8 + %dec = add i64 %40, -1 + store i64 %dec, i64* %count, align 8 + br label %while.cond + +while.end: ; preds = %if.then37, %while.cond + %41 = load i32*, i32** %dst.addr, align 8 + %arraydecay39 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %cmp40 = icmp ne i32* %41, %arraydecay39 + br i1 %cmp40, label %if.then42, label %if.end43 + +if.then42: ; preds = %while.end + %42 = load i8*, i8** %s, align 8 + %43 = load i8**, i8*** %src.addr, align 8 + store i8* %42, i8** %43, align 8 + br label %if.end43 + +if.end43: ; preds = %if.then42, %while.end + %44 = load i64, i64* %len.addr, align 8 + %45 = load i64, i64* %count, align 8 + %sub44 = sub i64 %44, %45 + store i64 %sub44, i64* %retval, align 8 + br label %return + +while.cond46: ; preds = %if.end17, %if.end57 + %46 = load i64, i64* %count, align 8 + %tobool47 = icmp ne i64 %46, 0 + br i1 %tobool47, label %while.body48, label %while.end62 + +while.body48: ; preds = %while.cond46 + %47 = load i8*, i8** %s, align 8 + %48 = load i8, i8* %47, align 1 + %conv49 = zext i8 %48 to i32 + %49 = load i32*, i32** %dst.addr, align 8 + store i32 %conv49, i32* %49, align 4 + %cmp50 = icmp eq i32 %conv49, 0 + br i1 %cmp50, label %if.then52, label %if.end53 + +if.then52: ; preds = %while.body48 + store i8* null, i8** %s, align 8 + br label %while.end62 + +if.end53: ; preds = %while.body48 + %50 = load i32*, i32** %dst.addr, align 8 + %51 = load i32, i32* %50, align 4 + %cmp54 = icmp sge i32 %51, 128 + br i1 %cmp54, label %BAD, label %if.end57 + +BAD: ; preds = %if.end53, %if.then27 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end57: ; preds = %if.end53 + %52 = load i8*, i8** %s, align 8 + %incdec.ptr58 = getelementptr inbounds i8, i8* %52, i32 1 + store i8* %incdec.ptr58, i8** %s, align 8 + %53 = load i32, i32* %incr, align 4 + %54 = load i32*, i32** %dst.addr, align 8 + %idx.ext59 = sext i32 %53 to i64 + %add.ptr60 = getelementptr inbounds i32, i32* %54, i64 %idx.ext59 + store i32* %add.ptr60, i32** %dst.addr, align 8 + %55 = load i64, i64* %count, align 8 + %dec61 = add i64 %55, -1 + store i64 %dec61, i64* %count, align 8 + br label %while.cond46 + +while.end62: ; preds = %if.then52, %while.cond46 + %56 = load i32*, i32** %dst.addr, align 8 + %arraydecay63 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %cmp64 = icmp ne i32* %56, %arraydecay63 + br i1 %cmp64, label %if.then66, label %if.end67 + +if.then66: ; preds = %while.end62 + %57 = load i8*, i8** %s, align 8 + %58 = load i8**, i8*** %src.addr, align 8 + store i8* %57, i8** %58, align 8 + br label %if.end67 + +if.end67: ; preds = %if.then66, %while.end62 + %59 = load i64, i64* %len.addr, align 8 + %60 = load i64, i64* %count, align 8 + %sub68 = sub i64 %59, %60 + store i64 %sub68, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end67, %BAD, %if.end43, %if.then2 + %61 = load i64, i64* %retval, align 8 + ret i64 %61 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @iswctype(i32 %wc, i32 %desc) #0 { +entry: + %wc.addr = alloca i32, align 4 + %desc.addr = alloca i32, align 4 + store i32 %wc, i32* %wc.addr, align 4 + store i32 %desc, i32* %desc.addr, align 4 + %0 = load i32, i32* %wc.addr, align 4 + %1 = load i32, i32* %desc.addr, align 4 + %2 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %call = call i32 @iswctype_l(i32 %0, i32 %1, %struct.__uclibc_locale_struct.201* %2) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define hidden %struct.__STDIO_FILE_STRUCT.568* @_stdio_fopen(i64 %fname_or_mode, i8* noalias %mode, %struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %filedes) #0 { +entry: + %retval = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %fname_or_mode.addr = alloca i64, align 8 + %mode.addr = alloca i8*, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %filedes.addr = alloca i32, align 4 + %open_mode = alloca i32, align 4 + %i = alloca i32, align 4 + store i64 %fname_or_mode, i64* %fname_or_mode.addr, align 8 + store i8* %mode, i8** %mode.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %filedes, i32* %filedes.addr, align 4 + store i32 0, i32* %open_mode, align 4 + %0 = load i8*, i8** %mode.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %cmp = icmp ne i32 %conv, 114 + br i1 %cmp, label %if.then, label %if.end17 + +if.then: ; preds = %entry + store i32 577, i32* %open_mode, align 4 + %2 = load i8*, i8** %mode.addr, align 8 + %3 = load i8, i8* %2, align 1 + %conv2 = sext i8 %3 to i32 + %cmp3 = icmp ne i32 %conv2, 119 + br i1 %cmp3, label %if.then5, label %if.end17 + +if.then5: ; preds = %if.then + store i32 1089, i32* %open_mode, align 4 + %4 = load i8*, i8** %mode.addr, align 8 + %5 = load i8, i8* %4, align 1 + %conv6 = sext i8 %5 to i32 + %cmp7 = icmp ne i32 %conv6, 97 + br i1 %cmp7, label %DO_EINVAL, label %if.end17 + +DO_EINVAL: ; preds = %if.then40, %land.lhs.true, %if.then5 + store i32 22, i32* @errno, align 4 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %6, null + br i1 %tobool, label %do.body, label %if.end14 + +do.body: ; preds = %if.end62, %DO_EINVAL + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %7, i32 0, i32 0 + %8 = load i16, i16* %__modeflags, align 8 + %conv11 = zext i16 %8 to i32 + %and = and i32 %conv11, 8192 + %tobool12 = icmp ne i32 %and, 0 + br i1 %tobool12, label %if.then13, label %if.end14 + +if.then13: ; preds = %do.body + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %10 = bitcast %struct.__STDIO_FILE_STRUCT.568* %9 to i8* + call void @free(i8* %10) #19 + br label %if.end14 + +if.end14: ; preds = %if.then13, %do.body, %DO_EINVAL + store %struct.__STDIO_FILE_STRUCT.568* null, %struct.__STDIO_FILE_STRUCT.568** %retval, align 8 + br label %return + +if.end17: ; preds = %if.then, %if.then5, %entry + %11 = load i8*, i8** %mode.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %11, i64 1 + %12 = load i8, i8* %arrayidx, align 1 + %conv18 = sext i8 %12 to i32 + %cmp19 = icmp eq i32 %conv18, 98 + br i1 %cmp19, label %if.then21, label %if.end22 + +if.then21: ; preds = %if.end17 + %13 = load i8*, i8** %mode.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %13, i32 1 + store i8* %incdec.ptr, i8** %mode.addr, align 8 + br label %if.end22 + +if.end22: ; preds = %if.then21, %if.end17 + %14 = load i8*, i8** %mode.addr, align 8 + %arrayidx23 = getelementptr inbounds i8, i8* %14, i64 1 + %15 = load i8, i8* %arrayidx23, align 1 + %conv24 = sext i8 %15 to i32 + %cmp25 = icmp eq i32 %conv24, 43 + br i1 %cmp25, label %if.then27, label %if.end29 + +if.then27: ; preds = %if.end22 + %16 = load i8*, i8** %mode.addr, align 8 + %incdec.ptr28 = getelementptr inbounds i8, i8* %16, i32 1 + store i8* %incdec.ptr28, i8** %mode.addr, align 8 + %17 = load i32, i32* %open_mode, align 4 + %or = or i32 %17, 1 + store i32 %or, i32* %open_mode, align 4 + %18 = load i32, i32* %open_mode, align 4 + %add = add i32 %18, 1 + store i32 %add, i32* %open_mode, align 4 + br label %if.end29 + +if.end29: ; preds = %if.then27, %if.end22 + %19 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %tobool30 = icmp ne %struct.__STDIO_FILE_STRUCT.568* %19, null + br i1 %tobool30, label %if.end37, label %if.then31 + +if.then31: ; preds = %if.end29 + %call = call noalias i8* @malloc(i64 88) #19 + %20 = bitcast i8* %call to %struct.__STDIO_FILE_STRUCT.568* + store %struct.__STDIO_FILE_STRUCT.568* %20, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp32 = icmp eq %struct.__STDIO_FILE_STRUCT.568* %20, null + %21 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %cmp32, label %if.then34, label %if.end35 + +if.then34: ; preds = %if.then31 + store %struct.__STDIO_FILE_STRUCT.568* %21, %struct.__STDIO_FILE_STRUCT.568** %retval, align 8 + br label %return + +if.end35: ; preds = %if.then31 + %__modeflags36 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %21, i32 0, i32 0 + store i16 8192, i16* %__modeflags36, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 3 + store i8* null, i8** %__bufstart, align 8 + br label %if.end37 + +if.end37: ; preds = %if.end35, %if.end29 + %23 = load i32, i32* %filedes.addr, align 4 + %cmp38 = icmp sge i32 %23, 0 + %24 = load i32, i32* %filedes.addr, align 4 + br i1 %cmp38, label %if.then40, label %if.else + +if.then40: ; preds = %if.end37 + %25 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %25, i32 0, i32 2 + store i32 %24, i32* %__filedes, align 4 + %26 = load i32, i32* %open_mode, align 4 + %and41 = and i32 %26, 3 + %add42 = add i32 %and41, 1 + store i32 %add42, i32* %i, align 4 + %27 = load i32, i32* %i, align 4 + %28 = load i64, i64* %fname_or_mode.addr, align 8 + %conv43 = trunc i64 %28 to i32 + %add44 = add nsw i32 %conv43, 1 + %and45 = and i32 %27, %add44 + %29 = load i32, i32* %i, align 4 + %cmp46 = icmp ne i32 %and45, %29 + br i1 %cmp46, label %DO_EINVAL, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then40 + %30 = load i32, i32* %open_mode, align 4 + %31 = load i64, i64* %fname_or_mode.addr, align 8 + %conv48 = trunc i64 %31 to i32 + %neg = xor i32 %conv48, -1 + %and49 = and i32 %30, %neg + %and50 = and i32 %and49, 1024 + %tobool51 = icmp ne i32 %and50, 0 + br i1 %tobool51, label %land.lhs.true, label %if.end55 + +land.lhs.true: ; preds = %lor.lhs.false + %32 = load i32, i32* %filedes.addr, align 4 + %call52 = call i32 (i32, i32, ...) @fcntl(i32 %32, i32 4, i32 1024) #18 + %tobool53 = icmp ne i32 %call52, 0 + br i1 %tobool53, label %DO_EINVAL, label %if.end55 + +if.end55: ; preds = %land.lhs.true, %lor.lhs.false + %33 = load i64, i64* %fname_or_mode.addr, align 8 + %conv56 = trunc i64 %33 to i32 + %and57 = and i32 %conv56, 0 + %34 = load i32, i32* %open_mode, align 4 + %or58 = or i32 %34, %and57 + store i32 %or58, i32* %open_mode, align 4 + br label %if.end69 + +if.else: ; preds = %if.end37 + %cmp59 = icmp slt i32 %24, -1 + br i1 %cmp59, label %if.then61, label %if.end62 + +if.then61: ; preds = %if.else + %35 = load i32, i32* %open_mode, align 4 + store i32 %35, i32* %open_mode, align 4 + br label %if.end62 + +if.end62: ; preds = %if.then61, %if.else + %36 = load i64, i64* %fname_or_mode.addr, align 8 + %37 = inttoptr i64 %36 to i8* + %38 = load i32, i32* %open_mode, align 4 + %call63 = call i32 (i8*, i32, ...) @open(i8* %37, i32 %38, i32 438) #18 + %39 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes64 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %39, i32 0, i32 2 + store i32 %call63, i32* %__filedes64, align 4 + %cmp65 = icmp slt i32 %call63, 0 + br i1 %cmp65, label %do.body, label %if.end69 + +if.end69: ; preds = %if.end62, %if.end55 + %40 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags70 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %40, i32 0, i32 0 + %41 = load i16, i16* %__modeflags70, align 8 + %conv71 = zext i16 %41 to i32 + %and72 = and i32 %conv71, 8192 + %conv73 = trunc i32 %and72 to i16 + store i16 %conv73, i16* %__modeflags70, align 8 + %42 = load i32, i32* %open_mode, align 4 + %and74 = and i32 %42, 1024 + %43 = load i32, i32* %open_mode, align 4 + %and75 = and i32 %43, 3 + %add76 = add i32 %and75, 1 + %xor = xor i32 %add76, 3 + %mul = mul i32 %xor, 16 + %or77 = or i32 %and74, %mul + %44 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags78 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %44, i32 0, i32 0 + %45 = load i16, i16* %__modeflags78, align 8 + %conv79 = zext i16 %45 to i32 + %or80 = or i32 %conv79, %or77 + %conv81 = trunc i32 %or80 to i16 + store i16 %conv81, i16* %__modeflags78, align 8 + %46 = load i32, i32* @errno, align 4 + store i32 %46, i32* %i, align 4 + %47 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes82 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %47, i32 0, i32 2 + %48 = load i32, i32* %__filedes82, align 4 + %call83 = call i32 @isatty(i32 %48) #19 + %mul84 = mul i32 %call83, 256 + %49 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags85 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %49, i32 0, i32 0 + %50 = load i16, i16* %__modeflags85, align 8 + %conv86 = zext i16 %50 to i32 + %or87 = or i32 %conv86, %mul84 + %conv88 = trunc i32 %or87 to i16 + store i16 %conv88, i16* %__modeflags85, align 8 + %51 = load i32, i32* %i, align 4 + store i32 %51, i32* @errno, align 4 + %52 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart89 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %52, i32 0, i32 3 + %53 = load i8*, i8** %__bufstart89, align 8 + %tobool90 = icmp ne i8* %53, null + br i1 %tobool90, label %if.end106, label %if.then91 + +if.then91: ; preds = %if.end69 + %call92 = call noalias i8* @malloc(i64 4096) #19 + %54 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart93 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %54, i32 0, i32 3 + store i8* %call92, i8** %__bufstart93, align 8 + %cmp94 = icmp ne i8* %call92, null + %55 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart97 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %55, i32 0, i32 3 + %56 = load i8*, i8** %__bufstart97, align 8 + br i1 %cmp94, label %if.then96, label %if.else102 + +if.then96: ; preds = %if.then91 + %add.ptr = getelementptr inbounds i8, i8* %56, i64 4096 + %57 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %57, i32 0, i32 4 + store i8* %add.ptr, i8** %__bufend, align 8 + %58 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags98 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %58, i32 0, i32 0 + %59 = load i16, i16* %__modeflags98, align 8 + %conv99 = zext i16 %59 to i32 + %or100 = or i32 %conv99, 16384 + %conv101 = trunc i32 %or100 to i16 + store i16 %conv101, i16* %__modeflags98, align 8 + br label %if.end106 + +if.else102: ; preds = %if.then91 + %60 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend104 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %60, i32 0, i32 4 + store i8* %56, i8** %__bufend104, align 8 + br label %if.end106 + +if.end106: ; preds = %if.then96, %if.else102, %if.end69 + %61 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart107 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %61, i32 0, i32 3 + %62 = load i8*, i8** %__bufstart107, align 8 + %63 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %63, i32 0, i32 7 + store i8* %62, i8** %__bufgetc_u, align 8 + %64 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart108 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %64, i32 0, i32 3 + %65 = load i8*, i8** %__bufstart108, align 8 + %66 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %66, i32 0, i32 8 + store i8* %65, i8** %__bufputc_u, align 8 + %67 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart109 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %67, i32 0, i32 3 + %68 = load i8*, i8** %__bufstart109, align 8 + %69 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %69, i32 0, i32 5 + store i8* %68, i8** %__bufpos, align 8 + %70 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %70, i32 0, i32 6 + store i8* %68, i8** %__bufread, align 8 + %71 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %71, i32 0, i32 1 + %arrayidx110 = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 0 + store i8 0, i8* %arrayidx110, align 2 + %72 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %72, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + store i32 0, i32* %__mask, align 8 + %73 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + %74 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %74, i32 0, i32 9 + store %struct.__STDIO_FILE_STRUCT.568* %73, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + %75 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %75, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + %76 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %76, %struct.__STDIO_FILE_STRUCT.568** %retval, align 8 + br label %return + +return: ; preds = %if.end106, %if.then34, %if.end14 + %77 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %retval, align 8 + ret %struct.__STDIO_FILE_STRUCT.568* %77 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_fwrite(i8* noalias %buffer, i64 %bytes, %struct.__STDIO_FILE_STRUCT.568* noalias %stream) #0 { +entry: + %retval = alloca i64, align 8 + %buffer.addr = alloca i8*, align 8 + %bytes.addr = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %pending = alloca i64, align 8 + %p = alloca i8*, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %bytes, i64* %bytes.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 512 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end63, label %if.then + +if.then: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 2 + %3 = load i32, i32* %__filedes, align 4 + %cmp = icmp eq i32 %3, -2 + br i1 %cmp, label %if.then2, label %if.end8 + +if.then2: ; preds = %if.then + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 4 + %5 = load i8*, i8** %__bufend, align 8 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 5 + %7 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %pending, align 8 + %8 = load i64, i64* %pending, align 8 + %9 = load i64, i64* %bytes.addr, align 8 + %cmp3 = icmp ugt i64 %8, %9 + br i1 %cmp3, label %if.then5, label %if.end + +if.then5: ; preds = %if.then2 + %10 = load i64, i64* %bytes.addr, align 8 + store i64 %10, i64* %pending, align 8 + br label %if.end + +if.end: ; preds = %if.then5, %if.then2 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 5 + %12 = load i8*, i8** %__bufpos6, align 8 + %13 = load i8*, i8** %buffer.addr, align 8 + %14 = load i64, i64* %pending, align 8 + %call = call i8* @memcpy(i8* %12, i8* %13, i64 %14) #19 + %15 = load i64, i64* %pending, align 8 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos7 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %16, i32 0, i32 5 + %17 = load i8*, i8** %__bufpos7, align 8 + %add.ptr = getelementptr inbounds i8, i8* %17, i64 %15 + store i8* %add.ptr, i8** %__bufpos7, align 8 + %18 = load i64, i64* %bytes.addr, align 8 + store i64 %18, i64* %retval, align 8 + br label %return + +if.end8: ; preds = %if.then + %19 = load i64, i64* %bytes.addr, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend9 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 4 + %21 = load i8*, i8** %__bufend9, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 5 + %23 = load i8*, i8** %__bufpos10, align 8 + %sub.ptr.lhs.cast11 = ptrtoint i8* %21 to i64 + %sub.ptr.rhs.cast12 = ptrtoint i8* %23 to i64 + %sub.ptr.sub13 = sub i64 %sub.ptr.lhs.cast11, %sub.ptr.rhs.cast12 + %cmp14 = icmp ule i64 %19, %sub.ptr.sub13 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 5 + %25 = load i8*, i8** %__bufpos17, align 8 + br i1 %cmp14, label %if.then16, label %if.end51 + +if.then16: ; preds = %if.end8 + %26 = load i8*, i8** %buffer.addr, align 8 + %27 = load i64, i64* %bytes.addr, align 8 + %call18 = call i8* @memcpy(i8* %25, i8* %26, i64 %27) #19 + %28 = load i64, i64* %bytes.addr, align 8 + %29 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos19 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %29, i32 0, i32 5 + %30 = load i8*, i8** %__bufpos19, align 8 + %add.ptr20 = getelementptr inbounds i8, i8* %30, i64 %28 + store i8* %add.ptr20, i8** %__bufpos19, align 8 + %31 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags21 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %31, i32 0, i32 0 + %32 = load i16, i16* %__modeflags21, align 8 + %conv22 = zext i16 %32 to i32 + %and23 = and i32 %conv22, 256 + %tobool24 = icmp ne i32 %and23, 0 + br i1 %tobool24, label %land.lhs.true, label %if.end50 + +land.lhs.true: ; preds = %if.then16 + %33 = load i8*, i8** %buffer.addr, align 8 + %34 = load i64, i64* %bytes.addr, align 8 + %call25 = call i8* @memrchr(i8* %33, i32 10, i64 %34) #20 + %tobool26 = icmp ne i8* %call25, null + br i1 %tobool26, label %if.then27, label %if.end50 + +if.then27: ; preds = %land.lhs.true + %35 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call28 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %35) #18 + store i64 %call28, i64* %pending, align 8 + %cmp29 = icmp ugt i64 %call28, 0 + br i1 %cmp29, label %if.then31, label %if.end50 + +if.then31: ; preds = %if.then27 + %36 = load i64, i64* %pending, align 8 + %37 = load i64, i64* %bytes.addr, align 8 + %cmp32 = icmp ugt i64 %36, %37 + br i1 %cmp32, label %if.then34, label %if.end35 + +if.then34: ; preds = %if.then31 + %38 = load i64, i64* %bytes.addr, align 8 + store i64 %38, i64* %pending, align 8 + br label %if.end35 + +if.end35: ; preds = %if.then34, %if.then31 + %39 = load i64, i64* %bytes.addr, align 8 + %40 = load i64, i64* %pending, align 8 + %sub = sub i64 %39, %40 + %41 = load i8*, i8** %buffer.addr, align 8 + %add.ptr36 = getelementptr inbounds i8, i8* %41, i64 %sub + store i8* %add.ptr36, i8** %buffer.addr, align 8 + %42 = load i8*, i8** %buffer.addr, align 8 + %43 = load i64, i64* %pending, align 8 + %call37 = call i8* @memchr(i8* %42, i32 10, i64 %43) #20 + store i8* %call37, i8** %p, align 8 + %cmp38 = icmp ne i8* %call37, null + br i1 %cmp38, label %if.then40, label %if.end50 + +if.then40: ; preds = %if.end35 + %44 = load i8*, i8** %buffer.addr, align 8 + %45 = load i64, i64* %pending, align 8 + %add.ptr41 = getelementptr inbounds i8, i8* %44, i64 %45 + %46 = load i8*, i8** %p, align 8 + %sub.ptr.lhs.cast42 = ptrtoint i8* %add.ptr41 to i64 + %sub.ptr.rhs.cast43 = ptrtoint i8* %46 to i64 + %sub.ptr.sub44 = sub i64 %sub.ptr.lhs.cast42, %sub.ptr.rhs.cast43 + store i64 %sub.ptr.sub44, i64* %pending, align 8 + %47 = load i64, i64* %pending, align 8 + %48 = load i64, i64* %bytes.addr, align 8 + %sub45 = sub i64 %48, %47 + store i64 %sub45, i64* %bytes.addr, align 8 + %49 = load i64, i64* %pending, align 8 + %50 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos46 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %50, i32 0, i32 5 + %51 = load i8*, i8** %__bufpos46, align 8 + %idx.neg = sub i64 0, %49 + %add.ptr47 = getelementptr inbounds i8, i8* %51, i64 %idx.neg + store i8* %add.ptr47, i8** %__bufpos46, align 8 + br label %if.end50 + +if.end50: ; preds = %if.then27, %if.then40, %if.end35, %land.lhs.true, %if.then16 + %52 = load i64, i64* %bytes.addr, align 8 + store i64 %52, i64* %retval, align 8 + br label %return + +if.end51: ; preds = %if.end8 + %53 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %53, i32 0, i32 3 + %54 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast53 = ptrtoint i8* %25 to i64 + %sub.ptr.rhs.cast54 = ptrtoint i8* %54 to i64 + %sub.ptr.sub55 = sub i64 %sub.ptr.lhs.cast53, %sub.ptr.rhs.cast54 + %tobool56 = icmp ne i64 %sub.ptr.sub55, 0 + br i1 %tobool56, label %if.then57, label %if.end63 + +if.then57: ; preds = %if.end51 + %55 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call58 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %55) #18 + %tobool59 = icmp ne i64 %call58, 0 + br i1 %tobool59, label %if.then60, label %if.end63 + +if.then60: ; preds = %if.then57 + store i64 0, i64* %retval, align 8 + br label %return + +if.end63: ; preds = %if.end51, %if.then57, %entry + %56 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %57 = load i8*, i8** %buffer.addr, align 8 + %58 = load i64, i64* %bytes.addr, align 8 + %call64 = call i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %56, i8* %57, i64 %58) #18 + store i64 %call64, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end63, %if.then60, %if.end50, %if.end + %59 = load i64, i64* %retval, align 8 + ret i64 %59 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %oflag) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %oflag.addr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %oflag, i32* %oflag.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %2 = load i32, i32* %oflag.addr, align 4 + %and = and i32 %conv, %2 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end9, label %if.then + +if.then: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 0 + %4 = load i16, i16* %__modeflags1, align 8 + %conv2 = zext i16 %4 to i32 + %and3 = and i32 %conv2, 2176 + %tobool4 = icmp ne i32 %and3, 0 + br i1 %tobool4, label %DO_EBADF, label %if.end + +if.end: ; preds = %if.then + %5 = load i32, i32* %oflag.addr, align 4 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 0 + %7 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %7 to i32 + %or = or i32 %conv7, %5 + %conv8 = trunc i32 %or to i16 + store i16 %conv8, i16* %__modeflags6, align 8 + br label %if.end9 + +if.end9: ; preds = %if.end, %entry + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags10, align 8 + %conv11 = zext i16 %9 to i32 + %and12 = and i32 %conv11, 32 + %tobool13 = icmp ne i32 %and12, 0 + br i1 %tobool13, label %DO_EBADF, label %if.end19 + +DO_EBADF: ; preds = %if.end9, %if.then + store i32 9, i32* @errno, align 4 + br label %ERROR + +ERROR: ; preds = %land.lhs.true, %DO_EBADF + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags15 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 0 + %11 = load i16, i16* %__modeflags15, align 8 + %conv16 = zext i16 %11 to i32 + %or17 = or i32 %conv16, 8 + %conv18 = trunc i32 %or17 to i16 + store i16 %conv18, i16* %__modeflags15, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end19: ; preds = %if.end9 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags20 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags20, align 8 + %conv21 = zext i16 %13 to i32 + %and22 = and i32 %conv21, 3 + %tobool23 = icmp ne i32 %and22, 0 + br i1 %tobool23, label %if.then24, label %if.end50 + +if.then24: ; preds = %if.end19 + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags25 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %14, i32 0, i32 0 + %15 = load i16, i16* %__modeflags25, align 8 + %conv26 = zext i16 %15 to i32 + %and27 = and i32 %conv26, 4 + %tobool28 = icmp ne i32 %and27, 0 + br i1 %tobool28, label %if.end42, label %if.then29 + +if.then29: ; preds = %if.then24 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %16, i32 0, i32 6 + %17 = load i8*, i8** %__bufread, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 5 + %19 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %17 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool30 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %tobool30, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then29 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags31 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 0 + %21 = load i16, i16* %__modeflags31, align 8 + %conv32 = zext i16 %21 to i32 + %and33 = and i32 %conv32, 2 + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %land.lhs.true, label %if.end42 + +land.lhs.true: ; preds = %lor.lhs.false, %if.then29 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %23 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags35 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %23, i32 0, i32 0 + %24 = load i16, i16* %__modeflags35, align 8 + %conv36 = zext i16 %24 to i32 + %and37 = and i32 %conv36, 1024 + %tobool38 = icmp ne i32 %and37, 0 + %25 = zext i1 %tobool38 to i64 + %cond = select i1 %tobool38, i32 2, i32 1 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32)* @fseek to i32 (%struct.__STDIO_FILE_STRUCT.568*, i64, i32)*)(%struct.__STDIO_FILE_STRUCT.568* %22, i64 0, i32 %cond) #18 + %tobool39 = icmp ne i32 %call, 0 + br i1 %tobool39, label %ERROR, label %if.end42 + +if.end42: ; preds = %lor.lhs.false, %land.lhs.true, %if.then24 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags43 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 0 + %27 = load i16, i16* %__modeflags43, align 8 + %conv44 = zext i16 %27 to i32 + %and45 = and i32 %conv44, -4 + %conv46 = trunc i32 %and45 to i16 + store i16 %conv46, i16* %__modeflags43, align 8 + %28 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %28, i32 0, i32 3 + %29 = load i8*, i8** %__bufstart, align 8 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %30, i32 0, i32 7 + store i8* %29, i8** %__bufgetc_u, align 8 + %31 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart47 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %31, i32 0, i32 3 + %32 = load i8*, i8** %__bufstart47, align 8 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos48 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %33, i32 0, i32 5 + store i8* %32, i8** %__bufpos48, align 8 + %34 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread49 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %34, i32 0, i32 6 + store i8* %32, i8** %__bufread49, align 8 + br label %if.end50 + +if.end50: ; preds = %if.end42, %if.end19 + %35 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags51 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %35, i32 0, i32 0 + %36 = load i16, i16* %__modeflags51, align 8 + %conv52 = zext i16 %36 to i32 + %or53 = or i32 %conv52, 64 + %conv54 = trunc i32 %or53 to i16 + store i16 %conv54, i16* %__modeflags51, align 8 + %37 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags55 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %37, i32 0, i32 0 + %38 = load i16, i16* %__modeflags55, align 8 + %conv56 = zext i16 %38 to i32 + %and57 = and i32 %conv56, 2816 + %tobool58 = icmp ne i32 %and57, 0 + br i1 %tobool58, label %if.end60, label %if.then59 + +if.then59: ; preds = %if.end50 + %39 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %39, i32 0, i32 4 + %40 = load i8*, i8** %__bufend, align 8 + %41 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %41, i32 0, i32 8 + store i8* %40, i8** %__bufputc_u, align 8 + br label %if.end60 + +if.end60: ; preds = %if.then59, %if.end50 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end60, %ERROR + %42 = load i32, i32* %retval, align 4 + ret i32 %42 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fseeko64(%struct.__STDIO_FILE_STRUCT.636* %stream, i64 %offset, i32 %whence) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + %pos = alloca i64, align 8 + %retval1 = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i64, i64* %offset.addr, align 8 + store i64 %0, i64* %pos, align 8 + store i32 -1, i32* %retval1, align 4 + %1 = load i32, i32* %whence.addr, align 4 + %cmp = icmp ugt i32 %1, 2 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + store i32 22, i32* @errno, align 4 + br label %if.end20 + +if.else: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %2, i32 0, i32 0 + %3 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %3 to i32 + %and = and i32 %conv, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %lor.lhs.false, label %land.lhs.true + +lor.lhs.false: ; preds = %if.else + %4 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %call = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.568*)* @__stdio_wcommit to i64 (%struct.__STDIO_FILE_STRUCT.636*)*)(%struct.__STDIO_FILE_STRUCT.636* %4) #18 + %tobool2 = icmp ne i64 %call, 0 + br i1 %tobool2, label %if.end20, label %land.lhs.true + +land.lhs.true: ; preds = %lor.lhs.false, %if.else + %5 = load i32, i32* %whence.addr, align 4 + %cmp3 = icmp ne i32 %5, 1 + br i1 %cmp3, label %land.lhs.true9, label %lor.lhs.false5 + +lor.lhs.false5: ; preds = %land.lhs.true + %6 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %call6 = call i32 @__stdio_adjust_position(%struct.__STDIO_FILE_STRUCT.636* %6, i64* %pos) #18 + %cmp7 = icmp sge i32 %call6, 0 + br i1 %cmp7, label %land.lhs.true9, label %if.end20 + +land.lhs.true9: ; preds = %lor.lhs.false5, %land.lhs.true + %7 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %8 = load i32, i32* %whence.addr, align 4 + %call10 = call i32 @__stdio_seek(%struct.__STDIO_FILE_STRUCT.636* %7, i64* %pos, i32 %8) #18 + %cmp11 = icmp sge i32 %call10, 0 + br i1 %cmp11, label %if.then13, label %if.end20 + +if.then13: ; preds = %land.lhs.true9 + %9 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags14 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %9, i32 0, i32 0 + %10 = load i16, i16* %__modeflags14, align 8 + %conv15 = zext i16 %10 to i32 + %and16 = and i32 %conv15, -72 + %conv17 = trunc i32 %and16 to i16 + store i16 %conv17, i16* %__modeflags14, align 8 + %11 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %11, i32 0, i32 3 + %12 = load i8*, i8** %__bufstart, align 8 + %13 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %13, i32 0, i32 5 + store i8* %12, i8** %__bufpos, align 8 + %14 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %14, i32 0, i32 6 + store i8* %12, i8** %__bufread, align 8 + %15 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufstart18 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %15, i32 0, i32 3 + %16 = load i8*, i8** %__bufstart18, align 8 + %17 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %17, i32 0, i32 7 + store i8* %16, i8** %__bufgetc_u, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufstart19 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %18, i32 0, i32 3 + %19 = load i8*, i8** %__bufstart19, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %20, i32 0, i32 8 + store i8* %19, i8** %__bufputc_u, align 8 + %21 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %21, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + store i32 0, i32* %__mask, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %22, i32 0, i32 1 + %arrayidx = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 0 + store i8 0, i8* %arrayidx, align 2 + store i32 0, i32* %retval1, align 4 + br label %if.end20 + +if.end20: ; preds = %lor.lhs.false, %lor.lhs.false5, %land.lhs.true9, %if.then13, %if.then + %23 = load i32, i32* %retval1, align 4 + ret i32 %23 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i8* noalias %format, %struct.__va_list_tag.0* %arg) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %format.addr = alloca i8*, align 8 + %arg.addr = alloca %struct.__va_list_tag.0*, align 8 + %ppfs = alloca %struct.ppfs_t.722, align 8 + %count = alloca i32, align 4 + %r = alloca i32, align 4 + %s = alloca i8*, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + store %struct.__va_list_tag.0* %arg, %struct.__va_list_tag.0** %arg.addr, align 8 + store i32 0, i32* %count, align 4 + %0 = load i8*, i8** %format.addr, align 8 + store i8* %0, i8** %s, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %1, i32 0, i32 0 + %2 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %2 to i32 + %and = and i32 %conv, 192 + %cmp = icmp eq i32 %and, 192 + br i1 %cmp, label %if.else, label %land.lhs.true + +land.lhs.true: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* %3, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %land.lhs.true + store i32 -1, i32* %count, align 4 + br label %if.end65 + +if.else: ; preds = %land.lhs.true, %entry + %4 = load i8*, i8** %format.addr, align 8 + %call2 = call i32 @_ppfs_init(%struct.ppfs_t.722* %ppfs, i8* %4) #18 + %cmp3 = icmp slt i32 %call2, 0 + br i1 %cmp3, label %if.then5, label %if.else13 + +if.then5: ; preds = %if.else + %fmtpos = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %5 = load i8*, i8** %fmtpos, align 8 + %call6 = call i64 @strlen(i8* %5) #20 + %cmp7 = icmp ugt i64 %call6, 0 + br i1 %cmp7, label %cond.true, label %cond.end + +cond.true: ; preds = %if.then5 + %fmtpos9 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %6 = load i8*, i8** %fmtpos9, align 8 + %fmtpos10 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %7 = load i8*, i8** %fmtpos10, align 8 + %call11 = call i64 @strlen(i8* %7) #20 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call12 = call i64 @__stdio_fwrite(i8* %6, i64 %call11, %struct.__STDIO_FILE_STRUCT.568* %8) #18 + br label %cond.end + +cond.end: ; preds = %if.then5, %cond.true + %cond = phi i64 [ %call12, %cond.true ], [ 0, %if.then5 ] + store i32 -1, i32* %count, align 4 + br label %if.end65 + +if.else13: ; preds = %if.else + %9 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %arg.addr, align 8 + call void @_ppfs_prepargs(%struct.ppfs_t.722* %ppfs, %struct.__va_list_tag.0* %9) #18 + br label %do.body + +do.body: ; preds = %do.cond, %if.else13 + br label %while.cond + +while.cond: ; preds = %while.body, %do.body + %10 = load i8*, i8** %format.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv14 = sext i8 %11 to i32 + %tobool15 = icmp ne i32 %conv14, 0 + br i1 %tobool15, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %12 = load i8*, i8** %format.addr, align 8 + %13 = load i8, i8* %12, align 1 + %conv16 = sext i8 %13 to i32 + %cmp17 = icmp ne i32 %conv16, 37 + br label %land.end + +land.end: ; preds = %land.rhs, %while.cond + %14 = phi i1 [ false, %while.cond ], [ %cmp17, %land.rhs ] + %15 = load i8*, i8** %format.addr, align 8 + br i1 %14, label %while.body, label %while.end + +while.body: ; preds = %land.end + %incdec.ptr = getelementptr inbounds i8, i8* %15, i32 1 + store i8* %incdec.ptr, i8** %format.addr, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %16 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %15 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %16 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool19 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %tobool19, label %if.then20, label %if.end42 + +if.then20: ; preds = %while.end + %17 = load i8*, i8** %format.addr, align 8 + %18 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast21 = ptrtoint i8* %17 to i64 + %sub.ptr.rhs.cast22 = ptrtoint i8* %18 to i64 + %sub.ptr.sub23 = sub i64 %sub.ptr.lhs.cast21, %sub.ptr.rhs.cast22 + %cmp24 = icmp sgt i64 %sub.ptr.sub23, 0 + br i1 %cmp24, label %cond.true26, label %cond.end32 + +cond.true26: ; preds = %if.then20 + %19 = load i8*, i8** %s, align 8 + %20 = load i8*, i8** %format.addr, align 8 + %21 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast27 = ptrtoint i8* %20 to i64 + %sub.ptr.rhs.cast28 = ptrtoint i8* %21 to i64 + %sub.ptr.sub29 = sub i64 %sub.ptr.lhs.cast27, %sub.ptr.rhs.cast28 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call30 = call i64 @__stdio_fwrite(i8* %19, i64 %sub.ptr.sub29, %struct.__STDIO_FILE_STRUCT.568* %22) #18 + br label %cond.end32 + +cond.end32: ; preds = %if.then20, %cond.true26 + %cond33 = phi i64 [ %call30, %cond.true26 ], [ 0, %if.then20 ] + %conv34 = trunc i64 %cond33 to i32 + store i32 %conv34, i32* %r, align 4 + %conv35 = sext i32 %conv34 to i64 + %23 = load i8*, i8** %format.addr, align 8 + %24 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast36 = ptrtoint i8* %23 to i64 + %sub.ptr.rhs.cast37 = ptrtoint i8* %24 to i64 + %sub.ptr.sub38 = sub i64 %sub.ptr.lhs.cast36, %sub.ptr.rhs.cast37 + %cmp39 = icmp ne i64 %conv35, %sub.ptr.sub38 + br i1 %cmp39, label %if.then41, label %if.end + +if.then41: ; preds = %cond.end32 + store i32 -1, i32* %count, align 4 + br label %do.end + +if.end: ; preds = %cond.end32 + %25 = load i32, i32* %r, align 4 + %26 = load i32, i32* %count, align 4 + %add = add nsw i32 %26, %25 + store i32 %add, i32* %count, align 4 + br label %if.end42 + +if.end42: ; preds = %if.end, %while.end + %27 = load i8*, i8** %format.addr, align 8 + %28 = load i8, i8* %27, align 1 + %tobool43 = icmp ne i8 %28, 0 + br i1 %tobool43, label %if.end45, label %do.end + +if.end45: ; preds = %if.end42 + %29 = load i8*, i8** %format.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %29, i64 1 + %30 = load i8, i8* %arrayidx, align 1 + %conv46 = sext i8 %30 to i32 + %cmp47 = icmp ne i32 %conv46, 37 + %31 = load i8*, i8** %format.addr, align 8 + %incdec.ptr50 = getelementptr inbounds i8, i8* %31, i32 1 + store i8* %incdec.ptr50, i8** %format.addr, align 8 + br i1 %cmp47, label %if.then49, label %if.else58 + +if.then49: ; preds = %if.end45 + %fmtpos51 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + store i8* %incdec.ptr50, i8** %fmtpos51, align 8 + %32 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call52 = call i32 @_do_one_spec(%struct.__STDIO_FILE_STRUCT.568* %32, %struct.ppfs_t.722* %ppfs, i32* %count) #18 + store i32 %call52, i32* %r, align 4 + %cmp53 = icmp slt i32 %call52, 0 + br i1 %cmp53, label %if.then55, label %if.end56 + +if.then55: ; preds = %if.then49 + store i32 -1, i32* %count, align 4 + br label %do.end + +if.end56: ; preds = %if.then49 + %fmtpos57 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %33 = load i8*, i8** %fmtpos57, align 8 + store i8* %33, i8** %format.addr, align 8 + store i8* %33, i8** %s, align 8 + br label %do.cond + +if.else58: ; preds = %if.end45 + store i8* %incdec.ptr50, i8** %s, align 8 + %34 = load i8*, i8** %format.addr, align 8 + %incdec.ptr60 = getelementptr inbounds i8, i8* %34, i32 1 + store i8* %incdec.ptr60, i8** %format.addr, align 8 + br label %do.cond + +do.cond: ; preds = %if.end56, %if.else58 + br label %do.body + +do.end: ; preds = %if.end42, %if.then55, %if.then41 + %arg62 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 7 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg62, i64 0, i64 0 + %arraydecay63 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_end(i8* %arraydecay63) + br label %if.end65 + +if.end65: ; preds = %cond.end, %do.end, %if.then + %35 = load i32, i32* %count, align 4 + ret i32 %35 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_do_one_spec(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, %struct.ppfs_t.722* %ppfs, i32* %count) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %count.addr = alloca i32*, align 8 + %argptr = alloca [1 x i8*], align 8 + %argtype = alloca i32*, align 8 + %ws = alloca i32*, align 8 + %mbstate = alloca %struct.__mbstate_t.512, align 4 + %slen = alloca i64, align 8 + %base = alloca i32, align 4 + %numpad = alloca i32, align 4 + %alphacase = alloca i32, align 4 + %numfill = alloca i32, align 4 + %prefix_num = alloca i32, align 4 + %padchar = alloca i8, align 1 + %buf = alloca [128 x i8], align 16 + %p = alloca %union.anon.193*, align 8 + %i = alloca i32, align 4 + %s = alloca i8*, align 8 + %nf = alloca i64, align 8 + %t = alloca i64, align 8 + %t351 = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store i32* %count, i32** %count.addr, align 8 + store i32* null, i32** %ws, align 8 + store i32 0, i32* %numfill, align 4 + store i32 11, i32* %prefix_num, align 4 + store i8 32, i8* %padchar, align 1 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %call = call i32 @_ppfs_parsespec(%struct.ppfs_t.722* %0) #18 + %1 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + call void @_ppfs_setargs(%struct.ppfs_t.722* %1) #18 + %2 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype1 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %2, i32 0, i32 6 + %arraydecay = getelementptr inbounds [9 x i32], [9 x i32]* %argtype1, i64 0, i64 0 + %3 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %3, i32 0, i32 5 + %arrayidx = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber, i64 0, i64 2 + %4 = load i8, i8* %arrayidx, align 2 + %conv = zext i8 %4 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds i32, i32* %arraydecay, i64 %idx.ext + %add.ptr2 = getelementptr inbounds i32, i32* %add.ptr, i64 -1 + store i32* %add.ptr2, i32** %argtype, align 8 + %5 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argvalue = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %5, i32 0, i32 8 + %arraydecay3 = getelementptr inbounds [9 x %union.anon.193], [9 x %union.anon.193]* %argvalue, i64 0, i64 0 + store %union.anon.193* %arraydecay3, %union.anon.193** %p, align 8 + %6 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %6, i32 0, i32 2 + %7 = load i32, i32* %maxposarg, align 4 + %cmp = icmp sgt i32 %7, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %8 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber5 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %8, i32 0, i32 5 + %arrayidx6 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber5, i64 0, i64 2 + %9 = load i8, i8* %arrayidx6, align 2 + %conv7 = zext i8 %9 to i32 + %sub = sub nsw i32 %conv7, 1 + %10 = load %union.anon.193*, %union.anon.193** %p, align 8 + %idx.ext8 = sext i32 %sub to i64 + %add.ptr9 = getelementptr inbounds %union.anon.193, %union.anon.193* %10, i64 %idx.ext8 + store %union.anon.193* %add.ptr9, %union.anon.193** %p, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %11 = load i32, i32* %i, align 4 + %12 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %12, i32 0, i32 3 + %13 = load i32, i32* %num_data_args, align 8 + %cmp10 = icmp slt i32 %11, %13 + br i1 %cmp10, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %14 = load %union.anon.193*, %union.anon.193** %p, align 8 + %incdec.ptr = getelementptr inbounds %union.anon.193, %union.anon.193* %14, i32 1 + store %union.anon.193* %incdec.ptr, %union.anon.193** %p, align 8 + %15 = bitcast %union.anon.193* %14 to i8* + %16 = load i32, i32* %i, align 4 + %idxprom = sext i32 %16 to i64 + %arrayidx12 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 %idxprom + store i8* %15, i8** %arrayidx12, align 8 + %17 = load i32, i32* %i, align 4 + %inc = add nsw i32 %17, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + store i8* null, i8** %s, align 8 + %18 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %18, i32 0, i32 4 + %19 = load i32, i32* %conv_num, align 4 + %cmp13 = icmp eq i32 %19, 0 + br i1 %cmp13, label %if.then15, label %if.end18 + +if.then15: ; preds = %for.end + %arraydecay16 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %20 = load i8*, i8** %arraydecay16, align 8 + %21 = bitcast i8* %20 to i8** + %22 = load i8*, i8** %21, align 8 + %23 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %23, i32 0, i32 1 + %_flags = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 3 + %24 = load i32, i32* %_flags, align 4 + %and = and i32 %24, 3840 + %25 = load i32*, i32** %count.addr, align 8 + %26 = load i32, i32* %25, align 4 + %conv17 = sext i32 %26 to i64 + call void @_store_inttype(i8* %22, i32 %and, i64 %conv17) #18 + store i32 0, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %for.end + %27 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num19 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %27, i32 0, i32 4 + %28 = load i32, i32* %conv_num19, align 4 + %cmp20 = icmp ule i32 %28, 7 + br i1 %cmp20, label %if.then22, label %if.else179 + +if.then22: ; preds = %if.end18 + store i32 87, i32* %alphacase, align 4 + %29 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num23 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %29, i32 0, i32 4 + %30 = load i32, i32* %conv_num23, align 4 + %sub24 = sub i32 %30, 1 + %idxprom25 = sext i32 %sub24 to i64 + %arrayidx26 = getelementptr inbounds [7 x i8], [7 x i8]* @_do_one_spec.spec_base, i64 0, i64 %idxprom25 + %31 = load i8, i8* %arrayidx26, align 1 + %conv27 = sext i8 %31 to i32 + store i32 %conv27, i32* %base, align 4 + %cmp28 = icmp eq i32 %conv27, 10 + br i1 %cmp28, label %if.then30, label %if.end42 + +if.then30: ; preds = %if.then22 + %32 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info31 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %32, i32 0, i32 1 + %_flags32 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info31, i32 0, i32 3 + %33 = load i32, i32* %_flags32, align 4 + %and33 = and i32 %33, 32 + %tobool = icmp ne i32 %and33, 0 + br i1 %tobool, label %if.then34, label %if.end35 + +if.then34: ; preds = %if.then30 + store i32 44, i32* %alphacase, align 4 + br label %if.end35 + +if.end35: ; preds = %if.then34, %if.then30 + %34 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info36 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %34, i32 0, i32 1 + %_flags37 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info36, i32 0, i32 3 + %35 = load i32, i32* %_flags37, align 4 + %and38 = and i32 %35, 64 + %tobool39 = icmp ne i32 %and38, 0 + br i1 %tobool39, label %if.then40, label %if.end42 + +if.then40: ; preds = %if.end35 + %36 = load i32, i32* %alphacase, align 4 + %or = or i32 %36, 128 + store i32 %or, i32* %alphacase, align 4 + br label %if.end42 + +if.end42: ; preds = %if.end35, %if.then40, %if.then22 + %37 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num43 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %37, i32 0, i32 4 + %38 = load i32, i32* %conv_num43, align 4 + %cmp44 = icmp ule i32 %38, 5 + br i1 %cmp44, label %if.then46, label %if.else57 + +if.then46: ; preds = %if.end42 + %39 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num47 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %39, i32 0, i32 4 + %40 = load i32, i32* %conv_num47, align 4 + %cmp48 = icmp eq i32 %40, 3 + br i1 %cmp48, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.then46 + store i32 55, i32* %alphacase, align 4 + br label %if.end51 + +if.end51: ; preds = %if.then50, %if.then46 + %41 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num52 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %41, i32 0, i32 4 + %42 = load i32, i32* %conv_num52, align 4 + %cmp53 = icmp eq i32 %42, 1 + br i1 %cmp53, label %if.then55, label %if.end59 + +if.then55: ; preds = %if.end51 + store i32 6, i32* %prefix_num, align 4 + br label %if.end59 + +if.else57: ; preds = %if.end42 + %43 = load i32, i32* %base, align 4 + %sub58 = sub nsw i32 0, %43 + store i32 %sub58, i32* %base, align 4 + br label %if.end59 + +if.end59: ; preds = %if.then55, %if.end51, %if.else57 + %44 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info60 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %44, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info60, i32 0, i32 0 + %45 = load i32, i32* %prec, align 8 + %cmp61 = icmp slt i32 %45, 0 + br i1 %cmp61, label %if.then63, label %if.end66 + +if.then63: ; preds = %if.end59 + %46 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info64 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %46, i32 0, i32 1 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info64, i32 0, i32 4 + %47 = load i32, i32* %pad, align 8 + %conv65 = trunc i32 %47 to i8 + store i8 %conv65, i8* %padchar, align 1 + br label %if.end66 + +if.end66: ; preds = %if.then63, %if.end59 + %arraydecay67 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %add.ptr68 = getelementptr inbounds i8, i8* %arraydecay67, i64 128 + %add.ptr69 = getelementptr inbounds i8, i8* %add.ptr68, i64 -1 + %48 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num70 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %48, i32 0, i32 4 + %49 = load i32, i32* %conv_num70, align 4 + %cmp71 = icmp eq i32 %49, 1 + br i1 %cmp71, label %cond.end, label %cond.false + +cond.false: ; preds = %if.end66 + %50 = load i32*, i32** %argtype, align 8 + %51 = load i32, i32* %50, align 4 + %and73 = and i32 %51, 3840 + br label %cond.end + +cond.end: ; preds = %if.end66, %cond.false + %cond = phi i32 [ %and73, %cond.false ], [ 1024, %if.end66 ] + %arraydecay74 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %52 = load i8*, i8** %arraydecay74, align 8 + %53 = load i32, i32* %base, align 4 + %call75 = call i64 @_load_inttype(i32 %cond, i8* %52, i32 %53) #18 + %54 = load i32, i32* %base, align 4 + %55 = load i32, i32* %alphacase, align 4 + %call76 = call i8* @_uintmaxtostr(i8* %add.ptr69, i64 %call75, i32 %54, i32 %55) #18 + store i8* %call76, i8** %s, align 8 + %56 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num77 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %56, i32 0, i32 4 + %57 = load i32, i32* %conv_num77, align 4 + %cmp78 = icmp ugt i32 %57, 5 + br i1 %cmp78, label %if.then80, label %if.end104 + +if.then80: ; preds = %cond.end + %58 = load i8*, i8** %s, align 8 + %59 = load i8, i8* %58, align 1 + %conv81 = sext i8 %59 to i32 + %cmp82 = icmp eq i32 %conv81, 45 + %60 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info85 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %60, i32 0, i32 1 + %_flags86 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info85, i32 0, i32 3 + %61 = load i32, i32* %_flags86, align 4 + br i1 %cmp82, label %if.then84, label %if.else89 + +if.then84: ; preds = %if.then80 + %or87 = or i32 %61, 2 + store i32 %or87, i32* %_flags86, align 4 + %62 = load i8*, i8** %s, align 8 + %incdec.ptr88 = getelementptr inbounds i8, i8* %62, i32 1 + store i8* %incdec.ptr88, i8** %s, align 8 + store i32 2, i32* %prefix_num, align 4 + br label %if.end104 + +if.else89: ; preds = %if.then80 + %and92 = and i32 %61, 2 + %tobool93 = icmp ne i32 %and92, 0 + br i1 %tobool93, label %if.then94, label %if.else95 + +if.then94: ; preds = %if.else89 + store i32 0, i32* %prefix_num, align 4 + br label %if.end104 + +if.else95: ; preds = %if.else89 + %63 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info96 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %63, i32 0, i32 1 + %_flags97 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info96, i32 0, i32 3 + %64 = load i32, i32* %_flags97, align 4 + %and98 = and i32 %64, 1 + %tobool99 = icmp ne i32 %and98, 0 + br i1 %tobool99, label %if.then100, label %if.end104 + +if.then100: ; preds = %if.else95 + store i32 4, i32* %prefix_num, align 4 + br label %if.end104 + +if.end104: ; preds = %if.then84, %if.else95, %if.then100, %if.then94, %cond.end + %arraydecay105 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %add.ptr106 = getelementptr inbounds i8, i8* %arraydecay105, i64 128 + %add.ptr107 = getelementptr inbounds i8, i8* %add.ptr106, i64 -1 + %65 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %add.ptr107 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %65 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %slen, align 8 + %66 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info108 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %66, i32 0, i32 1 + %prec109 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info108, i32 0, i32 0 + %67 = load i32, i32* %prec109, align 8 + %cmp110 = icmp slt i32 %67, 0 + br i1 %cmp110, label %cond.end116, label %cond.false113 + +cond.false113: ; preds = %if.end104 + %68 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info114 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %68, i32 0, i32 1 + %prec115 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info114, i32 0, i32 0 + %69 = load i32, i32* %prec115, align 8 + br label %cond.end116 + +cond.end116: ; preds = %if.end104, %cond.false113 + %cond117 = phi i32 [ %69, %cond.false113 ], [ 1, %if.end104 ] + store i32 %cond117, i32* %numfill, align 4 + %70 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info118 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %70, i32 0, i32 1 + %_flags119 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info118, i32 0, i32 3 + %71 = load i32, i32* %_flags119, align 4 + %and120 = and i32 %71, 16 + %tobool121 = icmp ne i32 %and120, 0 + br i1 %tobool121, label %if.then122, label %if.end149 + +if.then122: ; preds = %cond.end116 + %72 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num123 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %72, i32 0, i32 4 + %73 = load i32, i32* %conv_num123, align 4 + %cmp124 = icmp ule i32 %73, 2 + br i1 %cmp124, label %if.then126, label %if.end127 + +if.then126: ; preds = %if.then122 + store i32 6, i32* %prefix_num, align 4 + br label %if.end127 + +if.end127: ; preds = %if.then126, %if.then122 + %74 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num128 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %74, i32 0, i32 4 + %75 = load i32, i32* %conv_num128, align 4 + %cmp129 = icmp eq i32 %75, 3 + br i1 %cmp129, label %if.then131, label %if.end132 + +if.then131: ; preds = %if.end127 + store i32 9, i32* %prefix_num, align 4 + br label %if.end132 + +if.end132: ; preds = %if.then131, %if.end127 + %76 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num133 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %76, i32 0, i32 4 + %77 = load i32, i32* %conv_num133, align 4 + %cmp134 = icmp eq i32 %77, 4 + br i1 %cmp134, label %land.lhs.true, label %if.end149 + +land.lhs.true: ; preds = %if.end132 + %78 = load i32, i32* %numfill, align 4 + %conv136 = sext i32 %78 to i64 + %79 = load i64, i64* %slen, align 8 + %cmp137 = icmp ule i64 %conv136, %79 + br i1 %cmp137, label %if.then139, label %if.end149 + +if.then139: ; preds = %land.lhs.true + %80 = load i8*, i8** %s, align 8 + %81 = load i8, i8* %80, align 1 + %conv140 = sext i8 %81 to i32 + %cmp141 = icmp eq i32 %conv140, 48 + %82 = load i64, i64* %slen, align 8 + %add = add i64 %82, 1 + %cond146 = select i1 %cmp141, i64 1, i64 %add + %conv147 = trunc i64 %cond146 to i32 + store i32 %conv147, i32* %numfill, align 4 + br label %if.end149 + +if.end149: ; preds = %if.end132, %land.lhs.true, %if.then139, %cond.end116 + %83 = load i8*, i8** %s, align 8 + %84 = load i8, i8* %83, align 1 + %conv150 = sext i8 %84 to i32 + %cmp151 = icmp eq i32 %conv150, 48 + br i1 %cmp151, label %if.then153, label %if.end168 + +if.then153: ; preds = %if.end149 + %85 = load i32, i32* %prefix_num, align 4 + %cmp154 = icmp sge i32 %85, 6 + br i1 %cmp154, label %if.then156, label %if.end157 + +if.then156: ; preds = %if.then153 + store i32 11, i32* %prefix_num, align 4 + br label %if.end157 + +if.end157: ; preds = %if.then156, %if.then153 + %86 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num158 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %86, i32 0, i32 4 + %87 = load i32, i32* %conv_num158, align 4 + %cmp159 = icmp eq i32 %87, 1 + br i1 %cmp159, label %if.then161, label %if.else162 + +if.then161: ; preds = %if.end157 + store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.362, i64 0, i64 0), i8** %s, align 8 + store i64 5, i64* %slen, align 8 + store i32 0, i32* %numfill, align 4 + br label %if.end168 + +if.else162: ; preds = %if.end157 + %88 = load i32, i32* %numfill, align 4 + %cmp163 = icmp eq i32 %88, 0 + br i1 %cmp163, label %if.then165, label %if.end168 + +if.then165: ; preds = %if.else162 + store i64 0, i64* %slen, align 8 + br label %if.end168 + +if.end168: ; preds = %if.then161, %if.then165, %if.else162, %if.end149 + %89 = load i32, i32* %numfill, align 4 + %conv169 = sext i32 %89 to i64 + %90 = load i64, i64* %slen, align 8 + %cmp170 = icmp ugt i64 %conv169, %90 + %91 = load i32, i32* %numfill, align 4 + %conv173 = sext i32 %91 to i64 + %92 = load i64, i64* %slen, align 8 + %sub174 = sub i64 %conv173, %92 + %cond177 = select i1 %cmp170, i64 %sub174, i64 0 + %conv178 = trunc i64 %cond177 to i32 + store i32 %conv178, i32* %numfill, align 4 + br label %if.end278 + +if.else179: ; preds = %if.end18 + %93 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num180 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %93, i32 0, i32 4 + %94 = load i32, i32* %conv_num180, align 4 + %cmp181 = icmp ule i32 %94, 15 + br i1 %cmp181, label %if.then183, label %if.else203 + +if.then183: ; preds = %if.else179 + %95 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %arraydecay189 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %96 = load i8*, i8** %arraydecay189, align 8 + %97 = bitcast i8* %96 to double* + %98 = load double, double* %97, align 8 + %99 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info194 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %99, i32 0, i32 1 + %call195 = call i64 @_fpmaxtostr(%struct.__STDIO_FILE_STRUCT.568* %95, double %98, %struct.printf_info.720* %info194, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)* @_fp_out_narrow) #18 + store i64 %call195, i64* %nf, align 8 + %100 = load i64, i64* %nf, align 8 + %cmp196 = icmp slt i64 %100, 0 + br i1 %cmp196, label %if.then198, label %if.end199 + +if.then198: ; preds = %if.then183 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end199: ; preds = %if.then183 + %101 = load i64, i64* %nf, align 8 + %102 = load i32*, i32** %count.addr, align 8 + %103 = load i32, i32* %102, align 4 + %conv200 = sext i32 %103 to i64 + %add201 = add nsw i64 %conv200, %101 + %conv202 = trunc i64 %add201 to i32 + store i32 %conv202, i32* %102, align 4 + store i32 0, i32* %retval, align 4 + br label %return + +if.else203: ; preds = %if.else179 + %104 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num204 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %104, i32 0, i32 4 + %105 = load i32, i32* %conv_num204, align 4 + %cmp205 = icmp ule i32 %105, 17 + br i1 %cmp205, label %if.then207, label %if.else242 + +if.then207: ; preds = %if.else203 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %mbstate, i32 0, i32 0 + store i32 0, i32* %__mask, align 4 + %106 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num208 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %106, i32 0, i32 4 + %107 = load i32, i32* %conv_num208, align 4 + %cmp209 = icmp eq i32 %107, 17 + br i1 %cmp209, label %if.then211, label %if.else232 + +if.then211: ; preds = %if.then207 + %arraydecay212 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %108 = load i8*, i8** %arraydecay212, align 8 + %109 = bitcast i8* %108 to i32** + %110 = load i32*, i32** %109, align 8 + store i32* %110, i32** %ws, align 8 + %tobool213 = icmp ne i32* %110, null + br i1 %tobool213, label %if.end215, label %NULL_STRING + +if.end215: ; preds = %if.then211 + %111 = bitcast i32** %ws to i8* + %112 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info216 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %112, i32 0, i32 1 + %prec217 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info216, i32 0, i32 0 + %113 = load i32, i32* %prec217, align 8 + %cmp218 = icmp sge i32 %113, 0 + br i1 %cmp218, label %cond.true220, label %cond.end225 + +cond.true220: ; preds = %if.end215 + %114 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info221 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %114, i32 0, i32 1 + %prec222 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info221, i32 0, i32 0 + %115 = load i32, i32* %prec222, align 8 + %conv223 = sext i32 %115 to i64 + br label %cond.end225 + +cond.end225: ; preds = %if.end215, %cond.true220 + %cond226 = phi i64 [ %conv223, %cond.true220 ], [ -1, %if.end215 ] + %call227 = call i64 @wcsrtombs(i8* %111, i32** %ws, i64 %cond226, %struct.__mbstate_t.512* %mbstate) #19 + store i64 %call227, i64* %slen, align 8 + %cmp228 = icmp eq i64 %call227, -1 + br i1 %cmp228, label %if.then230, label %if.end278 + +if.then230: ; preds = %cond.end225 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else232: ; preds = %if.then207 + %arraydecay233 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay233, i8** %s, align 8 + %116 = load i8*, i8** %s, align 8 + %arraydecay234 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %117 = load i8*, i8** %arraydecay234, align 8 + %118 = bitcast i8* %117 to i32* + %119 = load i32, i32* %118, align 4 + %call235 = call i64 @wcrtomb(i8* %116, i32 %119, %struct.__mbstate_t.512* %mbstate) #19 + store i64 %call235, i64* %slen, align 8 + %120 = load i64, i64* %slen, align 8 + %cmp236 = icmp eq i64 %120, -1 + br i1 %cmp236, label %if.then238, label %if.end239 + +if.then238: ; preds = %if.else232 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end239: ; preds = %if.else232 + %121 = load i8*, i8** %s, align 8 + %122 = load i64, i64* %slen, align 8 + %arrayidx240 = getelementptr inbounds i8, i8* %121, i64 %122 + store i8 0, i8* %arrayidx240, align 1 + br label %if.end278 + +if.else242: ; preds = %if.else203 + %123 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num243 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %123, i32 0, i32 4 + %124 = load i32, i32* %conv_num243, align 4 + %cmp244 = icmp ule i32 %124, 19 + br i1 %cmp244, label %if.then246, label %if.else274 + +if.then246: ; preds = %if.else242 + %125 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num247 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %125, i32 0, i32 4 + %126 = load i32, i32* %conv_num247, align 4 + %cmp248 = icmp eq i32 %126, 19 + br i1 %cmp248, label %if.then250, label %if.else268 + +if.then250: ; preds = %if.then246 + %arraydecay251 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %127 = load i8*, i8** %arraydecay251, align 8 + %128 = bitcast i8* %127 to i8** + %129 = load i8*, i8** %128, align 8 + store i8* %129, i8** %s, align 8 + %130 = load i8*, i8** %s, align 8 + %tobool252 = icmp ne i8* %130, null + br i1 %tobool252, label %if.then253, label %NULL_STRING + +if.then253: ; preds = %if.then250 + %131 = load i8*, i8** %s, align 8 + %132 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info254 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %132, i32 0, i32 1 + %prec255 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info254, i32 0, i32 0 + %133 = load i32, i32* %prec255, align 8 + %cmp256 = icmp sge i32 %133, 0 + br i1 %cmp256, label %cond.true258, label %cond.end263 + +cond.true258: ; preds = %if.then253 + %134 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info259 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %134, i32 0, i32 1 + %prec260 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info259, i32 0, i32 0 + %135 = load i32, i32* %prec260, align 8 + %conv261 = sext i32 %135 to i64 + br label %cond.end263 + +cond.end263: ; preds = %if.then253, %cond.true258 + %cond264 = phi i64 [ %conv261, %cond.true258 ], [ -1, %if.then253 ] + %call265 = call i64 @strnlen(i8* %131, i64 %cond264) #20 + store i64 %call265, i64* %slen, align 8 + br label %if.end278 + +NULL_STRING: ; preds = %if.then250, %if.then211 + store i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.363, i64 0, i64 0), i8** %s, align 8 + store i64 6, i64* %slen, align 8 + br label %if.end278 + +if.else268: ; preds = %if.then246 + %arraydecay269 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay269, i8** %s, align 8 + %arraydecay270 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %136 = load i8*, i8** %arraydecay270, align 8 + %137 = bitcast i8* %136 to i32* + %138 = load i32, i32* %137, align 4 + %conv271 = trunc i32 %138 to i8 + %139 = load i8*, i8** %s, align 8 + store i8 %conv271, i8* %139, align 1 + %140 = load i8*, i8** %s, align 8 + %arrayidx272 = getelementptr inbounds i8, i8* %140, i64 1 + store i8 0, i8* %arrayidx272, align 1 + store i64 1, i64* %slen, align 8 + br label %if.end278 + +if.else274: ; preds = %if.else242 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end278: ; preds = %cond.end263, %NULL_STRING, %if.else268, %if.end239, %cond.end225, %if.end168 + %141 = load i64, i64* %slen, align 8 + %142 = load i32, i32* %numfill, align 4 + %conv279 = sext i32 %142 to i64 + %add280 = add i64 %141, %conv279 + store i64 %add280, i64* %t, align 8 + %143 = load i32, i32* %prefix_num, align 4 + %cmp281 = icmp ne i32 %143, 11 + br i1 %cmp281, label %if.then283, label %if.end289 + +if.then283: ; preds = %if.end278 + %144 = load i32, i32* %prefix_num, align 4 + %cmp284 = icmp slt i32 %144, 6 + %145 = zext i1 %cmp284 to i64 + %cond286 = select i1 %cmp284, i32 1, i32 2 + %conv287 = sext i32 %cond286 to i64 + %146 = load i64, i64* %t, align 8 + %add288 = add i64 %146, %conv287 + store i64 %add288, i64* %t, align 8 + br label %if.end289 + +if.end289: ; preds = %if.then283, %if.end278 + %147 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info290 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %147, i32 0, i32 1 + %width = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info290, i32 0, i32 1 + %148 = load i32, i32* %width, align 4 + %conv291 = sext i32 %148 to i64 + %149 = load i64, i64* %t, align 8 + %cmp292 = icmp ugt i64 %conv291, %149 + br i1 %cmp292, label %cond.true294, label %cond.end300 + +cond.true294: ; preds = %if.end289 + %150 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info295 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %150, i32 0, i32 1 + %width296 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info295, i32 0, i32 1 + %151 = load i32, i32* %width296, align 4 + %conv297 = sext i32 %151 to i64 + %152 = load i64, i64* %t, align 8 + %sub298 = sub i64 %conv297, %152 + br label %cond.end300 + +cond.end300: ; preds = %if.end289, %cond.true294 + %cond301 = phi i64 [ %sub298, %cond.true294 ], [ 0, %if.end289 ] + %conv302 = trunc i64 %cond301 to i32 + store i32 %conv302, i32* %numpad, align 4 + %153 = load i64, i64* %t, align 8 + %154 = load i32, i32* %numpad, align 4 + %conv303 = sext i32 %154 to i64 + %add304 = add i64 %153, %conv303 + %155 = load i32*, i32** %count.addr, align 8 + %156 = load i32, i32* %155, align 4 + %conv305 = sext i32 %156 to i64 + %add306 = add i64 %conv305, %add304 + %conv307 = trunc i64 %add306 to i32 + store i32 %conv307, i32* %155, align 4 + %157 = load i8, i8* %padchar, align 1 + %conv308 = sext i8 %157 to i32 + %cmp309 = icmp eq i32 %conv308, 48 + br i1 %cmp309, label %if.then311, label %if.end313 + +if.then311: ; preds = %cond.end300 + %158 = load i32, i32* %numpad, align 4 + %159 = load i32, i32* %numfill, align 4 + %add312 = add nsw i32 %159, %158 + store i32 %add312, i32* %numfill, align 4 + store i32 0, i32* %numpad, align 4 + br label %if.end313 + +if.end313: ; preds = %if.then311, %cond.end300 + %160 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info314 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %160, i32 0, i32 1 + %_flags315 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info314, i32 0, i32 3 + %161 = load i32, i32* %_flags315, align 4 + %and316 = and i32 %161, 8 + %tobool317 = icmp ne i32 %and316, 0 + br i1 %tobool317, label %if.end326, label %if.then318 + +if.then318: ; preds = %if.end313 + %162 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %163 = load i32, i32* %numpad, align 4 + %conv319 = sext i32 %163 to i64 + %call320 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %162, i32 32, i64 %conv319) #18 + %164 = load i32, i32* %numpad, align 4 + %conv321 = sext i32 %164 to i64 + %cmp322 = icmp ne i64 %call320, %conv321 + br i1 %cmp322, label %if.then324, label %if.end325 + +if.then324: ; preds = %if.then318 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end325: ; preds = %if.then318 + store i32 0, i32* %numpad, align 4 + br label %if.end326 + +if.end326: ; preds = %if.end325, %if.end313 + %165 = load i32, i32* %prefix_num, align 4 + %idx.ext327 = sext i32 %165 to i64 + %add.ptr328 = getelementptr inbounds i8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @_do_one_spec.prefix, i64 0, i64 0), i64 %idx.ext327 + %166 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call329 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct.__STDIO_FILE_STRUCT.568*)*)(i8* %add.ptr328, %struct.__STDIO_FILE_STRUCT.568* %166) #18 + %167 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %168 = load i32, i32* %numfill, align 4 + %conv330 = sext i32 %168 to i64 + %call331 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %167, i32 48, i64 %conv330) #18 + %169 = load i32, i32* %numfill, align 4 + %conv332 = sext i32 %169 to i64 + %cmp333 = icmp ne i64 %call331, %conv332 + br i1 %cmp333, label %if.then335, label %if.end336 + +if.then335: ; preds = %if.end326 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end336: ; preds = %if.end326 + %170 = load i32*, i32** %ws, align 8 + %tobool337 = icmp ne i32* %170, null + br i1 %tobool337, label %if.else350, label %if.then338 + +if.then338: ; preds = %if.end336 + %171 = load i64, i64* %slen, align 8 + %cmp339 = icmp ugt i64 %171, 0 + br i1 %cmp339, label %cond.true341, label %cond.end344 + +cond.true341: ; preds = %if.then338 + %172 = load i8*, i8** %s, align 8 + %173 = load i64, i64* %slen, align 8 + %174 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call342 = call i64 @__stdio_fwrite(i8* %172, i64 %173, %struct.__STDIO_FILE_STRUCT.568* %174) #18 + br label %cond.end344 + +cond.end344: ; preds = %if.then338, %cond.true341 + %cond345 = phi i64 [ %call342, %cond.true341 ], [ 0, %if.then338 ] + %175 = load i64, i64* %slen, align 8 + %cmp346 = icmp ne i64 %cond345, %175 + br i1 %cmp346, label %if.then348, label %if.end375 + +if.then348: ; preds = %cond.end344 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else350: ; preds = %if.end336 + %__mask352 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %mbstate, i32 0, i32 0 + store i32 0, i32* %__mask352, align 4 + br label %while.cond + +while.cond: ; preds = %if.end373, %if.else350 + %176 = load i64, i64* %slen, align 8 + %tobool353 = icmp ne i64 %176, 0 + br i1 %tobool353, label %while.body, label %if.end375 + +while.body: ; preds = %while.cond + %177 = load i64, i64* %slen, align 8 + %cmp354 = icmp ule i64 %177, 128 + %178 = load i64, i64* %slen, align 8 + %cond359 = select i1 %cmp354, i64 %178, i64 128 + store i64 %cond359, i64* %t351, align 8 + %arraydecay360 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %179 = load i64, i64* %t351, align 8 + %call361 = call i64 @wcsrtombs(i8* %arraydecay360, i32** %ws, i64 %179, %struct.__mbstate_t.512* %mbstate) #19 + store i64 %call361, i64* %t351, align 8 + %180 = load i64, i64* %t351, align 8 + %cmp362 = icmp ugt i64 %180, 0 + br i1 %cmp362, label %cond.true364, label %cond.end368 + +cond.true364: ; preds = %while.body + %arraydecay365 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %181 = load i64, i64* %t351, align 8 + %182 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call366 = call i64 @__stdio_fwrite(i8* %arraydecay365, i64 %181, %struct.__STDIO_FILE_STRUCT.568* %182) #18 + br label %cond.end368 + +cond.end368: ; preds = %while.body, %cond.true364 + %cond369 = phi i64 [ %call366, %cond.true364 ], [ 0, %while.body ] + %183 = load i64, i64* %t351, align 8 + %cmp370 = icmp ne i64 %cond369, %183 + br i1 %cmp370, label %if.then372, label %if.end373 + +if.then372: ; preds = %cond.end368 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end373: ; preds = %cond.end368 + %184 = load i64, i64* %t351, align 8 + %185 = load i64, i64* %slen, align 8 + %sub374 = sub i64 %185, %184 + store i64 %sub374, i64* %slen, align 8 + br label %while.cond + +if.end375: ; preds = %while.cond, %cond.end344 + %186 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %187 = load i32, i32* %numpad, align 4 + %conv376 = sext i32 %187 to i64 + %call377 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %186, i32 32, i64 %conv376) #18 + %188 = load i32, i32* %numpad, align 4 + %conv378 = sext i32 %188 to i64 + %cmp379 = icmp ne i64 %call377, %conv378 + br i1 %cmp379, label %if.then381, label %if.end382 + +if.then381: ; preds = %if.end375 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end382: ; preds = %if.end375 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end382, %if.then381, %if.then372, %if.then348, %if.then335, %if.then324, %if.else274, %if.then238, %if.then230, %if.end199, %if.then198, %if.then15 + %189 = load i32, i32* %retval, align 4 + ret i32 %189 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @_fp_out_narrow(%struct.__STDIO_FILE_STRUCT.568* %fp, i64 %type, i64 %len, i64 %buf) #0 { +entry: + %retval = alloca i64, align 8 + %fp.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %type.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %buf.addr = alloca i64, align 8 + %r = alloca i64, align 8 + %buflen = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %fp, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + store i64 %type, i64* %type.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store i64 %buf, i64* %buf.addr, align 8 + store i64 0, i64* %r, align 8 + %0 = load i64, i64* %type.addr, align 8 + %and = and i64 %0, 128 + %tobool = icmp ne i64 %and, 0 + br i1 %tobool, label %if.then, label %if.end12 + +if.then: ; preds = %entry + %1 = load i64, i64* %buf.addr, align 8 + %2 = inttoptr i64 %1 to i8* + %call = call i64 @strlen(i8* %2) #20 + %conv = trunc i64 %call to i32 + store i32 %conv, i32* %buflen, align 4 + %3 = load i32, i32* %buflen, align 4 + %conv1 = sext i32 %3 to i64 + %4 = load i64, i64* %len.addr, align 8 + %sub = sub nsw i64 %4, %conv1 + store i64 %sub, i64* %len.addr, align 8 + %cmp = icmp sgt i64 %sub, 0 + br i1 %cmp, label %if.then3, label %if.end10 + +if.then3: ; preds = %if.then + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + %6 = load i64, i64* %type.addr, align 8 + %and4 = and i64 %6, 127 + %conv5 = trunc i64 %and4 to i32 + %7 = load i64, i64* %len.addr, align 8 + %call6 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %5, i32 %conv5, i64 %7) #18 + store i64 %call6, i64* %r, align 8 + %8 = load i64, i64* %len.addr, align 8 + %cmp7 = icmp ne i64 %call6, %8 + br i1 %cmp7, label %if.then9, label %if.end10 + +if.then9: ; preds = %if.then3 + %9 = load i64, i64* %r, align 8 + store i64 %9, i64* %retval, align 8 + br label %return + +if.end10: ; preds = %if.then3, %if.then + %10 = load i32, i32* %buflen, align 4 + %conv11 = sext i32 %10 to i64 + store i64 %conv11, i64* %len.addr, align 8 + br label %if.end12 + +if.end12: ; preds = %if.end10, %entry + %11 = load i64, i64* %r, align 8 + %12 = load i64, i64* %len.addr, align 8 + %cmp13 = icmp sgt i64 %12, 0 + br i1 %cmp13, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end12 + %13 = load i64, i64* %buf.addr, align 8 + %14 = inttoptr i64 %13 to i8* + %15 = load i64, i64* %len.addr, align 8 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + %call15 = call i64 @__stdio_fwrite(i8* %14, i64 %15, %struct.__STDIO_FILE_STRUCT.568* %16) #18 + br label %cond.end + +cond.end: ; preds = %if.end12, %cond.true + %cond = phi i64 [ %call15, %cond.true ], [ 0, %if.end12 ] + %add = add i64 %11, %cond + store i64 %add, i64* %retval, align 8 + br label %return + +return: ; preds = %cond.end, %if.then9 + %17 = load i64, i64* %retval, align 8 + ret i64 %17 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %padchar, i64 %numpad) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %padchar.addr = alloca i32, align 4 + %numpad.addr = alloca i64, align 8 + %todo = alloca i64, align 8 + %pad = alloca [1 x i8], align 1 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %padchar, i32* %padchar.addr, align 4 + store i64 %numpad, i64* %numpad.addr, align 8 + %0 = load i64, i64* %numpad.addr, align 8 + store i64 %0, i64* %todo, align 8 + %1 = load i32, i32* %padchar.addr, align 4 + %conv = trunc i32 %1 to i8 + %arraydecay = getelementptr inbounds [1 x i8], [1 x i8]* %pad, i64 0, i64 0 + store i8 %conv, i8* %arraydecay, align 1 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %2 = load i64, i64* %todo, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %arraydecay1 = getelementptr inbounds [1 x i8], [1 x i8]* %pad, i64 0, i64 0 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i64 @__stdio_fwrite(i8* %arraydecay1, i64 1, %struct.__STDIO_FILE_STRUCT.568* %3) #18 + %cmp = icmp eq i64 %call, 1 + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %land.rhs + %4 = load i64, i64* %todo, align 8 + %dec = add i64 %4, -1 + store i64 %dec, i64* %todo, align 8 + br label %while.cond + +while.end: ; preds = %while.cond, %land.rhs + %5 = load i64, i64* %numpad.addr, align 8 + %6 = load i64, i64* %todo, align 8 + %sub = sub i64 %5, %6 + ret i64 %sub +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__cxa_atexit(void (i8*)* %func, i8* %arg, i8* %dso_handle) #0 { +entry: + %retval = alloca i32, align 4 + %func.addr = alloca void (i8*)*, align 8 + %arg.addr = alloca i8*, align 8 + %dso_handle.addr = alloca i8*, align 8 + %efp = alloca %struct.exit_function*, align 8 + store void (i8*)* %func, void (i8*)** %func.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i8* %dso_handle, i8** %dso_handle.addr, align 8 + %0 = load void (i8*)*, void (i8*)** %func.addr, align 8 + %cmp = icmp eq void (i8*)* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %call = call %struct.exit_function* @__new_exitfn() #18 + store %struct.exit_function* %call, %struct.exit_function** %efp, align 8 + %1 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %cmp1 = icmp eq %struct.exit_function* %1, null + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + store i32 -1, i32* %retval, align 4 + br label %return + +if.end3: ; preds = %if.end + %2 = load void (i8*)*, void (i8*)** %func.addr, align 8 + %3 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs = getelementptr inbounds %struct.exit_function, %struct.exit_function* %3, i32 0, i32 1 + %cxa_atexit = bitcast %union.anon.772* %funcs to %struct.anon.0.771* + %func4 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit, i32 0, i32 0 + store void (i8*)* %2, void (i8*)** %func4, align 8 + %4 = load i8*, i8** %arg.addr, align 8 + %5 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs5 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %5, i32 0, i32 1 + %cxa_atexit6 = bitcast %union.anon.772* %funcs5 to %struct.anon.0.771* + %arg7 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit6, i32 0, i32 1 + store i8* %4, i8** %arg7, align 8 + %6 = load i8*, i8** %dso_handle.addr, align 8 + %7 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs8 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %7, i32 0, i32 1 + %cxa_atexit9 = bitcast %union.anon.772* %funcs8 to %struct.anon.0.771* + %dso_handle10 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit9, i32 0, i32 2 + store i8* %6, i8** %dso_handle10, align 8 + %8 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %type = getelementptr inbounds %struct.exit_function, %struct.exit_function* %8, i32 0, i32 0 + store i64 3, i64* %type, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end3, %if.then2, %if.then + %9 = load i32, i32* %retval, align 4 + ret i32 %9 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @getenv(i8* nonnull %var) #0 { +entry: + %retval = alloca i8*, align 8 + %var.addr = alloca i8*, align 8 + %len = alloca i32, align 4 + %ep = alloca i8**, align 8 + store i8* %var, i8** %var.addr, align 8 + %0 = load i8**, i8*** @__environ, align 8 + store i8** %0, i8*** %ep, align 8 + %tobool = icmp ne i8** %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %var.addr, align 8 + %call = call i64 @strlen(i8* %1) #20 + %conv = trunc i64 %call to i32 + store i32 %conv, i32* %len, align 4 + br label %while.cond + +while.cond: ; preds = %if.end10, %if.end + %2 = load i8**, i8*** %ep, align 8 + %3 = load i8*, i8** %2, align 8 + %tobool1 = icmp ne i8* %3, null + br i1 %tobool1, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i8*, i8** %var.addr, align 8 + %5 = load i8**, i8*** %ep, align 8 + %6 = load i8*, i8** %5, align 8 + %7 = load i32, i32* %len, align 4 + %conv2 = sext i32 %7 to i64 + %call3 = call i32 @memcmp(i8* %4, i8* %6, i64 %conv2) #20 + %cmp = icmp eq i32 %call3, 0 + br i1 %cmp, label %land.lhs.true, label %if.end10 + +land.lhs.true: ; preds = %while.body + %8 = load i8**, i8*** %ep, align 8 + %9 = load i8*, i8** %8, align 8 + %10 = load i32, i32* %len, align 4 + %idxprom = sext i32 %10 to i64 + %arrayidx = getelementptr inbounds i8, i8* %9, i64 %idxprom + %11 = load i8, i8* %arrayidx, align 1 + %conv5 = sext i8 %11 to i32 + %cmp6 = icmp eq i32 %conv5, 61 + br i1 %cmp6, label %if.then8, label %if.end10 + +if.then8: ; preds = %land.lhs.true + %12 = load i8**, i8*** %ep, align 8 + %13 = load i8*, i8** %12, align 8 + %14 = load i32, i32* %len, align 4 + %idx.ext = sext i32 %14 to i64 + %add.ptr = getelementptr inbounds i8, i8* %13, i64 %idx.ext + %add.ptr9 = getelementptr inbounds i8, i8* %add.ptr, i64 1 + store i8* %add.ptr9, i8** %retval, align 8 + br label %return + +if.end10: ; preds = %land.lhs.true, %while.body + %15 = load i8**, i8*** %ep, align 8 + %incdec.ptr = getelementptr inbounds i8*, i8** %15, i32 1 + store i8** %incdec.ptr, i8*** %ep, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then8, %if.then + %16 = load i8*, i8** %retval, align 8 + ret i8* %16 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @memmove(i8* nonnull %s1, i8* nonnull %s2, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %p, align 8 + %2 = load i8*, i8** %p, align 8 + %3 = load i8*, i8** %s, align 8 + %cmp = icmp uge i8* %2, %3 + br i1 %cmp, label %while.cond, label %while.cond2 + +while.cond: ; preds = %entry, %while.body + %4 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %4, 0 + br i1 %tobool, label %while.body, label %if.end + +while.body: ; preds = %while.cond + %5 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %6 = load i8, i8* %5, align 1 + %7 = load i8*, i8** %s, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %7, i32 1 + store i8* %incdec.ptr1, i8** %s, align 8 + store i8 %6, i8* %7, align 1 + %8 = load i64, i64* %n.addr, align 8 + %dec = add i64 %8, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.cond2: ; preds = %entry, %while.body4 + %9 = load i64, i64* %n.addr, align 8 + %tobool3 = icmp ne i64 %9, 0 + br i1 %tobool3, label %while.body4, label %if.end + +while.body4: ; preds = %while.cond2 + %10 = load i64, i64* %n.addr, align 8 + %dec5 = add i64 %10, -1 + store i64 %dec5, i64* %n.addr, align 8 + %11 = load i8*, i8** %p, align 8 + %12 = load i64, i64* %n.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %11, i64 %12 + %13 = load i8, i8* %arrayidx, align 1 + %14 = load i8*, i8** %s, align 8 + %15 = load i64, i64* %n.addr, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %14, i64 %15 + store i8 %13, i8* %arrayidx6, align 1 + br label %while.cond2 + +if.end: ; preds = %while.cond2, %while.cond + %16 = load i8*, i8** %s1.addr, align 8 + ret i8* %16 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @mempcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r1 = alloca i8*, align 8 + %r2 = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %r1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %r2, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %2 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load i8*, i8** %r2, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %r2, align 8 + %4 = load i8, i8* %3, align 1 + %5 = load i8*, i8** %r1, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr1, i8** %r1, align 8 + store i8 %4, i8* %5, align 1 + %6 = load i64, i64* %n.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %7 = load i8*, i8** %r1, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @stpcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + br label %while.cond + +while.cond: ; preds = %while.cond, %entry + %0 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %0, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %1 = load i8, i8* %0, align 1 + %2 = load i8*, i8** %s1.addr, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %2, i32 1 + store i8* %incdec.ptr1, i8** %s1.addr, align 8 + store i8 %1, i8* %2, align 1 + %conv = sext i8 %1 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %while.cond, label %while.end + +while.end: ; preds = %while.cond + %3 = load i8*, i8** %s1.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %3, i64 -1 + ret i8* %add.ptr +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @strchr(i8* nonnull %s, i32 %c) #14 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %entry + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %2 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %2 to i8 + %conv2 = sext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + %3 = load i8*, i8** %s.addr, align 8 + br i1 %cmp, label %if.then, label %do.cond + +if.then: ; preds = %do.body + store i8* %3, i8** %retval, align 8 + br label %return + +do.cond: ; preds = %do.body + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %s.addr, align 8 + %4 = load i8, i8* %3, align 1 + %tobool = icmp ne i8 %4, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %do.end, %if.then + %5 = load i8*, i8** %retval, align 8 + ret i8* %5 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @strcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + br label %while.cond + +while.cond: ; preds = %while.cond, %entry + %1 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %1, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %2 = load i8, i8* %1, align 1 + %3 = load i8*, i8** %s, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr1, i8** %s, align 8 + store i8 %2, i8* %3, align 1 + %conv = sext i8 %2 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %while.cond, label %while.end + +while.end: ; preds = %while.cond + %4 = load i8*, i8** %s1.addr, align 8 + ret i8* %4 +} + +; Function Attrs: noinline nounwind uwtable +define noalias i8* @strdup(i8* nonnull %s1) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + %l = alloca i64, align 8 + store i8* %s1, i8** %s1.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + %call = call i64 @strlen(i8* %0) #20 + %add = add i64 %call, 1 + %mul = mul i64 %add, 1 + store i64 %mul, i64* %l, align 8 + %1 = load i64, i64* %l, align 8 + %call1 = call noalias i8* @malloc(i64 %1) #19 + store i8* %call1, i8** %s, align 8 + %cmp = icmp ne i8* %call1, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load i8*, i8** %s, align 8 + %3 = load i8*, i8** %s1.addr, align 8 + %4 = load i64, i64* %l, align 8 + %call2 = call i8* @memcpy(i8* %2, i8* %3, i64 %4) #19 + br label %if.end + +if.end: ; preds = %if.then, %entry + %5 = load i8*, i8** %s, align 8 + ret i8* %5 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @strerror(i32 %errnum) #0 { +entry: + %errnum.addr = alloca i32, align 4 + store i32 %errnum, i32* %errnum.addr, align 4 + %0 = load i32, i32* %errnum.addr, align 4 + %call = call i32 @__xpg_strerror_r(i32 %0, i8* getelementptr inbounds ([50 x i8], [50 x i8]* @strerror.buf, i64 0, i64 0), i64 50) #18 + ret i8* getelementptr inbounds ([50 x i8], [50 x i8]* @strerror.buf, i64 0, i64 0) +} + +; Function Attrs: noinline nounwind readonly uwtable +define i64 @strnlen(i8* nonnull %s, i64 %max) #14 { +entry: + %s.addr = alloca i8*, align 8 + %max.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i64 %max, i64* %max.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %1 = load i64, i64* %max.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %2 = load i8*, i8** %p, align 8 + %3 = load i8, i8* %2, align 1 + %conv = sext i8 %3 to i32 + %tobool1 = icmp ne i32 %conv, 0 + br label %land.end + +land.end: ; preds = %land.rhs, %while.cond + %4 = phi i1 [ false, %while.cond ], [ %tobool1, %land.rhs ] + %5 = load i8*, i8** %p, align 8 + br i1 %4, label %while.body, label %while.end + +while.body: ; preds = %land.end + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %6 = load i64, i64* %max.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %max.addr, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %7 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind uwtable +define i64 @wcrtomb(i8* noalias %s, i32 %wc, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %s.addr = alloca i8*, align 8 + %wc.addr = alloca i32, align 4 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %wcbuf = alloca [1 x i32], align 4 + %pwc = alloca i32*, align 8 + %r = alloca i64, align 8 + %buf = alloca [16 x i8], align 16 + store i8* %s, i8** %s.addr, align 8 + store i32 %wc, i32* %wc.addr, align 4 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay, i8** %s.addr, align 8 + store i32 0, i32* %wc.addr, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %arraydecay1 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay1, i32** %pwc, align 8 + %1 = load i32, i32* %wc.addr, align 4 + %arrayidx = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32 %1, i32* %arrayidx, align 4 + %2 = load i8*, i8** %s.addr, align 8 + %3 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @wcsnrtombs(i8* %2, i32** %pwc, i64 1, i64 16, %struct.__mbstate_t.512* %3) #19 + store i64 %call, i64* %r, align 8 + %4 = load i64, i64* %r, align 8 + %cmp = icmp ne i64 %4, 0 + %5 = load i64, i64* %r, align 8 + %cond = select i1 %cmp, i64 %5, i64 1 + ret i64 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i64 @wcsrtombs(i8* noalias %dst, i32** noalias %src, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %dst.addr = alloca i8*, align 8 + %src.addr = alloca i32**, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + store i8* %dst, i8** %dst.addr, align 8 + store i32** %src, i32*** %src.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load i8*, i8** %dst.addr, align 8 + %1 = load i32**, i32*** %src.addr, align 8 + %2 = load i64, i64* %len.addr, align 8 + %3 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @wcsnrtombs(i8* %0, i32** %1, i64 -1, i64 %2, %struct.__mbstate_t.512* %3) #19 + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @iswctype_l(i32 %wc, i32 %desc, %struct.__uclibc_locale_struct.201* %locale) #0 { +entry: + %retval = alloca i32, align 4 + %wc.addr = alloca i32, align 4 + %desc.addr = alloca i32, align 4 + %locale.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %sc = alloca i32, align 4 + %n = alloca i32, align 4 + %i0 = alloca i32, align 4 + %i1 = alloca i32, align 4 + %d = alloca i8, align 1 + store i32 %wc, i32* %wc.addr, align 4 + store i32 %desc, i32* %desc.addr, align 4 + store %struct.__uclibc_locale_struct.201* %locale, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + store i8 0, i8* %d, align 1 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 9 + %1 = load i8, i8* %encoding, align 8 + %conv = zext i8 %1 to i32 + %cmp = icmp ne i32 %conv, 0 + %2 = load i32, i32* %wc.addr, align 4 + %cmp2 = icmp ule i32 %2, 127 + %or.cond = or i1 %cmp, %cmp2 + br i1 %or.cond, label %if.then, label %if.end78 + +if.then: ; preds = %entry + %3 = load i32, i32* %desc.addr, align 4 + %cmp4 = icmp ult i32 %3, 12 + br i1 %cmp4, label %if.then6, label %if.end58 + +if.then6: ; preds = %if.then + %4 = load i32, i32* %wc.addr, align 4 + %cmp7 = icmp ule i32 %4, 196607 + %5 = load i32, i32* %wc.addr, align 4 + br i1 %cmp7, label %if.then9, label %if.else + +if.then9: ; preds = %if.then6 + %and = and i32 %5, 7 + store i32 %and, i32* %sc, align 4 + %6 = load i32, i32* %wc.addr, align 4 + %shr = lshr i32 %6, 3 + store i32 %shr, i32* %wc.addr, align 4 + %7 = load i32, i32* %wc.addr, align 4 + %and10 = and i32 %7, 31 + store i32 %and10, i32* %n, align 4 + %8 = load i32, i32* %wc.addr, align 4 + %shr11 = lshr i32 %8, 5 + store i32 %shr11, i32* %wc.addr, align 4 + %9 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %tblwctype = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %9, i32 0, i32 21 + %10 = load i8*, i8** %tblwctype, align 8 + %11 = load i32, i32* %wc.addr, align 4 + %idxprom = zext i32 %11 to i64 + %arrayidx = getelementptr inbounds i8, i8* %10, i64 %idxprom + %12 = load i8, i8* %arrayidx, align 1 + %conv12 = zext i8 %12 to i32 + store i32 %conv12, i32* %i0, align 4 + %13 = load i32, i32* %i0, align 4 + %shl = shl i32 %13, 5 + store i32 %shl, i32* %i0, align 4 + %14 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %tblwctype13 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %14, i32 0, i32 21 + %15 = load i8*, i8** %tblwctype13, align 8 + %16 = load i32, i32* %i0, align 4 + %add = add i32 768, %16 + %17 = load i32, i32* %n, align 4 + %add14 = add i32 %add, %17 + %idxprom15 = zext i32 %add14 to i64 + %arrayidx16 = getelementptr inbounds i8, i8* %15, i64 %idxprom15 + %18 = load i8, i8* %arrayidx16, align 1 + %conv17 = zext i8 %18 to i32 + store i32 %conv17, i32* %i1, align 4 + %19 = load i32, i32* %i1, align 4 + %shl18 = shl i32 %19, 2 + store i32 %shl18, i32* %i1, align 4 + %20 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %tblwctype19 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %20, i32 0, i32 21 + %21 = load i8*, i8** %tblwctype19, align 8 + %22 = load i32, i32* %i1, align 4 + %add20 = add i32 2656, %22 + %23 = load i32, i32* %sc, align 4 + %shr21 = lshr i32 %23, 1 + %add22 = add i32 %add20, %shr21 + %idxprom23 = zext i32 %add22 to i64 + %arrayidx24 = getelementptr inbounds i8, i8* %21, i64 %idxprom23 + %24 = load i8, i8* %arrayidx24, align 1 + store i8 %24, i8* %d, align 1 + %25 = load i32, i32* %sc, align 4 + %and25 = and i32 %25, 1 + %tobool = icmp ne i32 %and25, 0 + %26 = load i8, i8* %d, align 1 + %conv26 = zext i8 %26 to i32 + %shr27 = ashr i32 %conv26, 4 + %and29 = and i32 %conv26, 15 + %cond = select i1 %tobool, i32 %shr27, i32 %and29 + %conv30 = trunc i32 %cond to i8 + store i8 %conv30, i8* %d, align 1 + br label %if.end50 + +if.else: ; preds = %if.then6 + %conv31 = zext i32 %5 to i64 + %sub = sub i64 %conv31, 917536 + %conv32 = trunc i64 %sub to i32 + %cmp33 = icmp ule i32 %conv32, 95 + br i1 %cmp33, label %if.then49, label %lor.lhs.false35 + +lor.lhs.false35: ; preds = %if.else + %27 = load i32, i32* %wc.addr, align 4 + %conv36 = zext i32 %27 to i64 + %cmp37 = icmp eq i64 %conv36, 917505 + br i1 %cmp37, label %if.then49, label %lor.lhs.false39 + +lor.lhs.false39: ; preds = %lor.lhs.false35 + %28 = load i32, i32* %wc.addr, align 4 + %conv40 = zext i32 %28 to i64 + %sub41 = sub i64 %conv40, 983040 + %conv42 = trunc i64 %sub41 to i32 + %conv43 = zext i32 %conv42 to i64 + %cmp44 = icmp ult i64 %conv43, 131072 + br i1 %cmp44, label %land.lhs.true, label %if.end50 + +land.lhs.true: ; preds = %lor.lhs.false39 + %29 = load i32, i32* %wc.addr, align 4 + %and46 = and i32 %29, 65535 + %cmp47 = icmp ule i32 %and46, 65533 + br i1 %cmp47, label %if.then49, label %if.end50 + +if.then49: ; preds = %land.lhs.true, %lor.lhs.false35, %if.else + store i8 6, i8* %d, align 1 + br label %if.end50 + +if.end50: ; preds = %lor.lhs.false39, %land.lhs.true, %if.then49, %if.then9 + %30 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %code2flag = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %30, i32 0, i32 20 + %31 = load i16*, i16** %code2flag, align 8 + %32 = load i8, i8* %d, align 1 + %idxprom51 = zext i8 %32 to i64 + %arrayidx52 = getelementptr inbounds i16, i16* %31, i64 %idxprom51 + %33 = load i16, i16* %arrayidx52, align 2 + %conv53 = zext i16 %33 to i32 + %34 = load i32, i32* %desc.addr, align 4 + %idxprom54 = zext i32 %34 to i64 + %arrayidx55 = getelementptr inbounds [13 x i16], [13 x i16]* @desc2flag, i64 0, i64 %idxprom54 + %35 = load i16, i16* %arrayidx55, align 2 + %conv56 = zext i16 %35 to i32 + %and57 = and i32 %conv53, %conv56 + store i32 %and57, i32* %retval, align 4 + br label %return + +if.end58: ; preds = %if.then + %36 = load i32, i32* %desc.addr, align 4 + %cmp59 = icmp eq i32 %36, 12 + br i1 %cmp59, label %cond.false68, label %cond.end76 + +cond.false68: ; preds = %if.end58 + %37 = load i32, i32* %wc.addr, align 4 + %sub69 = sub i32 %37, 48 + %cmp70 = icmp ult i32 %sub69, 10 + %38 = load i32, i32* %wc.addr, align 4 + %or = or i32 %38, 32 + %sub72 = sub i32 %or, 97 + %cmp73 = icmp ult i32 %sub72, 6 + %39 = select i1 %cmp70, i1 true, i1 %cmp73 + %lor.ext = zext i1 %39 to i32 + br label %cond.end76 + +cond.end76: ; preds = %if.end58, %cond.false68 + %cond77 = phi i32 [ %lor.ext, %cond.false68 ], [ 0, %if.end58 ] + store i32 %cond77, i32* %retval, align 4 + br label %return + +if.end78: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end78, %cond.end76, %if.end50 + %40 = load i32, i32* %retval, align 4 + ret i32 %40 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_adjust_position(%struct.__STDIO_FILE_STRUCT.636* noalias %stream, i64* %pos) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %pos.addr = alloca i64*, align 8 + %oldpos = alloca i64, align 8 + %corr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64* %pos, i64** %pos.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 3 + store i32 %and, i32* %corr, align 4 + %cmp = icmp ne i32 %and, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load i32, i32* %corr, align 4 + %dec = add nsw i32 %2, -1 + store i32 %dec, i32* %corr, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %3 = load i32, i32* %corr, align 4 + %tobool = icmp ne i32 %3, 0 + br i1 %tobool, label %land.lhs.true, label %if.end22 + +land.lhs.true: ; preds = %if.end + %4 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %4, i32 0, i32 0 + %5 = load i16, i16* %__modeflags2, align 8 + %conv3 = zext i16 %5 to i32 + %and4 = and i32 %conv3, 2048 + %tobool5 = icmp ne i32 %and4, 0 + br i1 %tobool5, label %if.then6, label %if.end22 + +if.then6: ; preds = %land.lhs.true + %6 = load i32, i32* %corr, align 4 + %cmp7 = icmp sgt i32 %6, 1 + br i1 %cmp7, label %if.then10, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then6 + %7 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %7, i32 0, i32 10 + %arrayidx = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot, i64 0, i64 1 + %8 = load i32, i32* %arrayidx, align 4 + %tobool9 = icmp ne i32 %8, 0 + br i1 %tobool9, label %if.then10, label %if.end11 + +if.then10: ; preds = %lor.lhs.false, %if.then6 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end11: ; preds = %lor.lhs.false + %9 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %9, i32 0, i32 1 + %arrayidx12 = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 1 + %10 = load i8, i8* %arrayidx12, align 1 + %conv13 = zext i8 %10 to i32 + %add = add nsw i32 1, %conv13 + %11 = load i32, i32* %corr, align 4 + %sub = sub nsw i32 %11, %add + store i32 %sub, i32* %corr, align 4 + %12 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %12, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + %13 = load i32, i32* %__mask, align 8 + %cmp14 = icmp sgt i32 %13, 0 + br i1 %cmp14, label %if.then16, label %if.end22 + +if.then16: ; preds = %if.end11 + %14 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot_width17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %14, i32 0, i32 1 + %arrayidx18 = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width17, i64 0, i64 0 + %15 = load i8, i8* %arrayidx18, align 2 + %conv19 = zext i8 %15 to i32 + %16 = load i32, i32* %corr, align 4 + %sub20 = sub nsw i32 %16, %conv19 + store i32 %sub20, i32* %corr, align 4 + br label %if.end22 + +if.end22: ; preds = %if.end11, %if.then16, %land.lhs.true, %if.end + %17 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags23 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %17, i32 0, i32 0 + %18 = load i16, i16* %__modeflags23, align 8 + %conv24 = zext i16 %18 to i32 + %and25 = and i32 %conv24, 64 + %tobool26 = icmp ne i32 %and25, 0 + %19 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + br i1 %tobool26, label %cond.true, label %cond.false + +cond.true: ; preds = %if.end22 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %19, i32 0, i32 3 + %20 = load i8*, i8** %__bufstart, align 8 + br label %cond.end + +cond.false: ; preds = %if.end22 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %19, i32 0, i32 6 + %21 = load i8*, i8** %__bufread, align 8 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i8* [ %20, %cond.true ], [ %21, %cond.false ] + %22 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %22, i32 0, i32 5 + %23 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %cond to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %23 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %24 = load i32, i32* %corr, align 4 + %conv27 = sext i32 %24 to i64 + %add28 = add nsw i64 %conv27, %sub.ptr.sub + %conv29 = trunc i64 %add28 to i32 + store i32 %conv29, i32* %corr, align 4 + %25 = load i64*, i64** %pos.addr, align 8 + %26 = load i64, i64* %25, align 8 + store i64 %26, i64* %oldpos, align 8 + %27 = load i32, i32* %corr, align 4 + %conv30 = sext i32 %27 to i64 + %28 = load i64*, i64** %pos.addr, align 8 + %29 = load i64, i64* %28, align 8 + %sub31 = sub nsw i64 %29, %conv30 + store i64 %sub31, i64* %28, align 8 + %30 = load i64, i64* %oldpos, align 8 + %cmp32 = icmp sgt i64 %sub31, %30 + br i1 %cmp32, label %if.then34, label %if.end36 + +if.then34: ; preds = %cond.end + %31 = load i32, i32* %corr, align 4 + %sub35 = sub nsw i32 0, %31 + store i32 %sub35, i32* %corr, align 4 + br label %if.end36 + +if.end36: ; preds = %if.then34, %cond.end + %32 = load i32, i32* %corr, align 4 + %cmp37 = icmp slt i32 %32, 0 + br i1 %cmp37, label %if.then39, label %if.end40 + +if.then39: ; preds = %if.end36 + store i32 75, i32* @errno, align 4 + br label %if.end40 + +if.end40: ; preds = %if.then39, %if.end36 + %33 = load i32, i32* %corr, align 4 + store i32 %33, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end40, %if.then10 + %34 = load i32, i32* %retval, align 4 + ret i32 %34 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_seek(%struct.__STDIO_FILE_STRUCT.636* %stream, i64* %pos, i32 %whence) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %pos.addr = alloca i64*, align 8 + %whence.addr = alloca i32, align 4 + %res = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64* %pos, i64** %pos.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %0, i32 0, i32 2 + %1 = load i32, i32* %__filedes, align 4 + %2 = load i64*, i64** %pos.addr, align 8 + %3 = load i64, i64* %2, align 8 + %4 = load i32, i32* %whence.addr, align 4 + %call = call i64 @lseek64(i32 %1, i64 %3, i32 %4) #19 + store i64 %call, i64* %res, align 8 + %5 = load i64, i64* %res, align 8 + %cmp = icmp sge i64 %5, 0 + %6 = load i64, i64* %res, align 8 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %entry + %7 = load i64*, i64** %pos.addr, align 8 + store i64 %6, i64* %7, align 8 + br label %cond.end + +cond.false: ; preds = %entry + %conv = trunc i64 %6 to i32 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ 0, %cond.true ], [ %conv, %cond.false ] + ret i32 %cond +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_fpmaxtostr(%struct.__STDIO_FILE_STRUCT.568* %fp, double %x, %struct.printf_info.720* %info, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)* %fp_outfunc) #0 { +entry: + %retval = alloca i64, align 8 + %fp.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %x.addr = alloca double, align 8 + %info.addr = alloca %struct.printf_info.720*, align 8 + %fp_outfunc.addr = alloca i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)*, align 8 + %round = alloca i32, align 4 + %o_exp = alloca i32, align 4 + %exp = alloca i32, align 4 + %width = alloca i32, align 4 + %preci = alloca i32, align 4 + %cnt = alloca i32, align 4 + %s = alloca i8*, align 8 + %e = alloca i8*, align 8 + %pc_fwi = alloca [24 x i64], align 16 + %ppc = alloca i64*, align 8 + %ppc_last = alloca i64*, align 8 + %exp_buf = alloca [16 x i8], align 16 + %buf = alloca [21 x i8], align 16 + %sign_str = alloca [6 x i8], align 1 + %o_mode = alloca i8, align 1 + %mode = alloca i8, align 1 + %i = alloca i32, align 4 + %j = alloca i32, align 4 + %exp_neg = alloca i32, align 4 + %i92 = alloca i32, align 4 + %j93 = alloca i32, align 4 + %digit_block = alloca i64, align 8 + %i151 = alloca i32, align 4 + %i218 = alloca i32, align 4 + %p = alloca i8*, align 8 + %j329 = alloca i32, align 4 + %exp_char = alloca i8, align 1 + %exp_sign = alloca i8, align 1 + %i359 = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %fp, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + store double %x, double* %x.addr, align 8 + store %struct.printf_info.720* %info, %struct.printf_info.720** %info.addr, align 8 + store i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)* %fp_outfunc, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)** %fp_outfunc.addr, align 8 + %0 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %width1 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %0, i32 0, i32 1 + %1 = load i32, i32* %width1, align 4 + store i32 %1, i32* %width, align 4 + %2 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %2, i32 0, i32 0 + %3 = load i32, i32* %prec, align 4 + store i32 %3, i32* %preci, align 4 + %4 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %spec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %4, i32 0, i32 2 + %5 = load i32, i32* %spec, align 4 + %conv = trunc i32 %5 to i8 + store i8 %conv, i8* %mode, align 1 + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + store i8 101, i8* %arraydecay, align 16 + %6 = load i8, i8* %mode, align 1 + %conv2 = sext i8 %6 to i32 + %or = or i32 %conv2, 32 + %cmp = icmp eq i32 %or, 97 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %7 = load i8, i8* %mode, align 1 + %conv4 = sext i8 %7 to i32 + %add = add nsw i32 %conv4, 6 + %conv5 = trunc i32 %add to i8 + store i8 %conv5, i8* %mode, align 1 + br label %if.end + +if.end: ; preds = %if.then, %entry + %8 = load i32, i32* %preci, align 4 + %cmp6 = icmp slt i32 %8, 0 + br i1 %cmp6, label %if.then8, label %if.end9 + +if.then8: ; preds = %if.end + store i32 6, i32* %preci, align 4 + br label %if.end9 + +if.end9: ; preds = %if.then8, %if.end + %arraydecay10 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 0, i8* %arraydecay10, align 1 + %9 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %showsign = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %9, i32 0, i32 3 + %bf.load = load i32, i32* %showsign, align 4 + %bf.lshr = lshr i32 %bf.load, 1 + %bf.clear = and i32 %bf.lshr, 1 + %tobool = icmp ne i32 %bf.clear, 0 + br i1 %tobool, label %if.then11, label %if.else + +if.then11: ; preds = %if.end9 + %arraydecay12 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 43, i8* %arraydecay12, align 1 + br label %if.end19 + +if.else: ; preds = %if.end9 + %10 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %space = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %10, i32 0, i32 3 + %bf.load13 = load i32, i32* %space, align 4 + %bf.clear14 = and i32 %bf.load13, 1 + %tobool15 = icmp ne i32 %bf.clear14, 0 + br i1 %tobool15, label %if.then16, label %if.end19 + +if.then16: ; preds = %if.else + %arraydecay17 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 32, i8* %arraydecay17, align 1 + br label %if.end19 + +if.end19: ; preds = %if.else, %if.then16, %if.then11 + %arraydecay20 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay20, i64 1 + store i8 0, i8* %add.ptr, align 1 + %arrayidx = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 0, i64* %arrayidx, align 8 + %11 = load double, double* %x.addr, align 8 + %12 = load double, double* %x.addr, align 8 + %cmp21 = fcmp une double %11, %12 + br i1 %cmp21, label %if.then23, label %if.end25 + +if.then23: ; preds = %if.end19 + %arrayidx24 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 8, i64* %arrayidx24, align 8 + br label %INF_NAN + +if.end25: ; preds = %if.end19 + %13 = load double, double* %x.addr, align 8 + %cmp26 = fcmp oeq double %13, 0.000000e+00 + %14 = load double, double* %x.addr, align 8 + br i1 %cmp26, label %if.then28, label %if.end34 + +if.then28: ; preds = %if.end25 + %div = fdiv double 1.000000e+00, %14 + %cmp29 = fcmp olt double %div, 0.000000e+00 + br i1 %cmp29, label %if.then31, label %if.end33 + +if.then31: ; preds = %if.then28 + %arraydecay32 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 45, i8* %arraydecay32, align 1 + br label %if.end33 + +if.end33: ; preds = %if.then31, %if.then28 + store i32 -1, i32* %exp, align 4 + br label %GENERATE_DIGITS + +if.end34: ; preds = %if.end25 + %cmp35 = fcmp olt double %14, 0.000000e+00 + br i1 %cmp35, label %if.then37, label %if.end39 + +if.then37: ; preds = %if.end34 + %arraydecay38 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 45, i8* %arraydecay38, align 1 + %15 = load double, double* %x.addr, align 8 + %fneg = fneg double %15 + store double %fneg, double* %x.addr, align 8 + br label %if.end39 + +if.end39: ; preds = %if.then37, %if.end34 + %16 = load double, double* %x.addr, align 8 + %17 = load double, double* %x.addr, align 8 + %div40 = fdiv double %17, 4.000000e+00 + %cmp41 = fcmp oeq double %16, %div40 + br i1 %cmp41, label %INF_NAN, label %if.end58 + +INF_NAN: ; preds = %if.end39, %if.then23 + %18 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %18, i32 0, i32 4 + store i32 32, i32* %pad, align 4 + %arraydecay44 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + %add.ptr45 = getelementptr inbounds i64, i64* %arraydecay44, i64 6 + store i64* %add.ptr45, i64** %ppc, align 8 + %arrayidx46 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 3 + store i64 112, i64* %arrayidx46, align 8 + %arrayidx47 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 4 + store i64 3, i64* %arrayidx47, align 16 + %19 = load i8, i8* %mode, align 1 + %conv48 = sext i8 %19 to i32 + %cmp49 = icmp slt i32 %conv48, 97 + br i1 %cmp49, label %if.then51, label %if.end54 + +if.then51: ; preds = %INF_NAN + %arrayidx52 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + %20 = load i64, i64* %arrayidx52, align 8 + %add53 = add nsw i64 %20, 4 + store i64 %add53, i64* %arrayidx52, align 8 + br label %if.end54 + +if.end54: ; preds = %if.then51, %INF_NAN + %arrayidx55 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + %21 = load i64, i64* %arrayidx55, align 8 + %add.ptr56 = getelementptr inbounds i8, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 0), i64 %21 + %22 = ptrtoint i8* %add.ptr56 to i64 + %arrayidx57 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 %22, i64* %arrayidx57, align 8 + br label %EXIT_SPECIAL + +if.end58: ; preds = %if.end39 + store i32 8, i32* %exp, align 4 + store i32 9, i32* %i, align 4 + store i32 256, i32* %j, align 4 + store i32 0, i32* %exp_neg, align 4 + %23 = load double, double* %x.addr, align 8 + %cmp59 = fcmp olt double %23, 1.000000e+08 + br i1 %cmp59, label %if.then61, label %if.end62 + +if.then61: ; preds = %if.end58 + store i32 1, i32* %exp_neg, align 4 + br label %if.end62 + +if.end62: ; preds = %if.then61, %if.end58 + br label %do.body + +do.body: ; preds = %if.end85, %if.end62 + %24 = load i32, i32* %i, align 4 + %dec = add nsw i32 %24, -1 + store i32 %dec, i32* %i, align 4 + %25 = load i32, i32* %exp_neg, align 4 + %tobool63 = icmp ne i32 %25, 0 + %26 = load double, double* %x.addr, align 8 + %27 = load i32, i32* %i, align 4 + %idxprom = sext i32 %27 to i64 + %arrayidx65 = getelementptr inbounds [9 x double], [9 x double]* @exp10_table, i64 0, i64 %idxprom + %28 = load double, double* %arrayidx65, align 8 + br i1 %tobool63, label %if.then64, label %if.else73 + +if.then64: ; preds = %do.body + %mul = fmul double %26, %28 + %cmp66 = fcmp olt double %mul, 1.000000e+09 + br i1 %cmp66, label %if.then68, label %if.end85 + +if.then68: ; preds = %if.then64 + %29 = load i32, i32* %i, align 4 + %idxprom69 = sext i32 %29 to i64 + %arrayidx70 = getelementptr inbounds [9 x double], [9 x double]* @exp10_table, i64 0, i64 %idxprom69 + %30 = load double, double* %arrayidx70, align 8 + %31 = load double, double* %x.addr, align 8 + %mul71 = fmul double %31, %30 + store double %mul71, double* %x.addr, align 8 + %32 = load i32, i32* %j, align 4 + %33 = load i32, i32* %exp, align 4 + %sub = sub nsw i32 %33, %32 + store i32 %sub, i32* %exp, align 4 + br label %if.end85 + +if.else73: ; preds = %do.body + %div76 = fdiv double %26, %28 + %cmp77 = fcmp oge double %div76, 1.000000e+08 + br i1 %cmp77, label %if.then79, label %if.end85 + +if.then79: ; preds = %if.else73 + %34 = load i32, i32* %i, align 4 + %idxprom80 = sext i32 %34 to i64 + %arrayidx81 = getelementptr inbounds [9 x double], [9 x double]* @exp10_table, i64 0, i64 %idxprom80 + %35 = load double, double* %arrayidx81, align 8 + %36 = load double, double* %x.addr, align 8 + %div82 = fdiv double %36, %35 + store double %div82, double* %x.addr, align 8 + %37 = load i32, i32* %j, align 4 + %38 = load i32, i32* %exp, align 4 + %add83 = add nsw i32 %38, %37 + store i32 %add83, i32* %exp, align 4 + br label %if.end85 + +if.end85: ; preds = %if.else73, %if.then79, %if.then64, %if.then68 + %39 = load i32, i32* %j, align 4 + %shr = ashr i32 %39, 1 + store i32 %shr, i32* %j, align 4 + %40 = load i32, i32* %i, align 4 + %tobool86 = icmp ne i32 %40, 0 + br i1 %tobool86, label %do.body, label %do.end + +do.end: ; preds = %if.end85 + %41 = load double, double* %x.addr, align 8 + %cmp87 = fcmp oge double %41, 1.000000e+09 + br i1 %cmp87, label %if.then89, label %GENERATE_DIGITS + +if.then89: ; preds = %do.end + %42 = load double, double* getelementptr inbounds ([9 x double], [9 x double]* @exp10_table, i64 0, i64 0), align 16 + %43 = load double, double* %x.addr, align 8 + %div90 = fdiv double %43, %42 + store double %div90, double* %x.addr, align 8 + %44 = load i32, i32* %exp, align 4 + %inc = add nsw i32 %44, 1 + store i32 %inc, i32* %exp, align 4 + br label %GENERATE_DIGITS + +GENERATE_DIGITS: ; preds = %do.end, %if.then89, %if.end33 + %arraydecay94 = getelementptr inbounds [21 x i8], [21 x i8]* %buf, i64 0, i64 0 + %add.ptr95 = getelementptr inbounds i8, i8* %arraydecay94, i64 2 + store i8* %add.ptr95, i8** %s, align 8 + store i32 0, i32* %i92, align 4 + br label %do.body96 + +do.body96: ; preds = %do.cond114, %GENERATE_DIGITS + %45 = load double, double* %x.addr, align 8 + %conv97 = fptoui double %45 to i64 + store i64 %conv97, i64* %digit_block, align 8 + %46 = load double, double* %x.addr, align 8 + %47 = load i64, i64* %digit_block, align 8 + %conv98 = uitofp i64 %47 to double + %sub99 = fsub double %46, %conv98 + %mul100 = fmul double %sub99, 1.000000e+09 + store double %mul100, double* %x.addr, align 8 + %48 = load i8*, i8** %s, align 8 + %add.ptr101 = getelementptr inbounds i8, i8* %48, i64 9 + store i8* %add.ptr101, i8** %s, align 8 + store i32 0, i32* %j93, align 4 + br label %do.body102 + +do.body102: ; preds = %do.body102, %do.body96 + %49 = load i64, i64* %digit_block, align 8 + %rem = urem i64 %49, 10 + %add103 = add i64 48, %rem + %conv104 = trunc i64 %add103 to i8 + %50 = load i8*, i8** %s, align 8 + %51 = load i32, i32* %j93, align 4 + %inc105 = add nsw i32 %51, 1 + store i32 %inc105, i32* %j93, align 4 + %sub106 = sub nsw i32 0, %inc105 + %idxprom107 = sext i32 %sub106 to i64 + %arrayidx108 = getelementptr inbounds i8, i8* %50, i64 %idxprom107 + store i8 %conv104, i8* %arrayidx108, align 1 + %52 = load i64, i64* %digit_block, align 8 + %div109 = udiv i64 %52, 10 + store i64 %div109, i64* %digit_block, align 8 + %53 = load i32, i32* %j93, align 4 + %cmp111 = icmp slt i32 %53, 9 + br i1 %cmp111, label %do.body102, label %do.cond114 + +do.cond114: ; preds = %do.body102 + %54 = load i32, i32* %i92, align 4 + %inc115 = add nsw i32 %54, 1 + store i32 %inc115, i32* %i92, align 4 + %cmp116 = icmp slt i32 %inc115, 2 + br i1 %cmp116, label %do.body96, label %do.end118 + +do.end118: ; preds = %do.cond114 + %55 = load i8, i8* %mode, align 1 + %conv119 = sext i8 %55 to i32 + %cmp120 = icmp slt i32 %conv119, 97 + br i1 %cmp120, label %if.then122, label %if.end130 + +if.then122: ; preds = %do.end118 + %arraydecay123 = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + %56 = load i8, i8* %arraydecay123, align 16 + %conv124 = sext i8 %56 to i32 + %sub125 = sub nsw i32 %conv124, 32 + %conv126 = trunc i32 %sub125 to i8 + store i8 %conv126, i8* %arraydecay123, align 16 + %57 = load i8, i8* %mode, align 1 + %conv127 = sext i8 %57 to i32 + %add128 = add nsw i32 %conv127, 32 + %conv129 = trunc i32 %add128 to i8 + store i8 %conv129, i8* %mode, align 1 + br label %if.end130 + +if.end130: ; preds = %if.then122, %do.end118 + %58 = load i8, i8* %mode, align 1 + store i8 %58, i8* %o_mode, align 1 + %59 = load i8, i8* %mode, align 1 + %conv131 = sext i8 %59 to i32 + %cmp132 = icmp eq i32 %conv131, 103 + %60 = load i32, i32* %preci, align 4 + %cmp134 = icmp sgt i32 %60, 0 + %or.cond = and i1 %cmp132, %cmp134 + br i1 %or.cond, label %if.then136, label %if.end138 + +if.then136: ; preds = %if.end130 + %61 = load i32, i32* %preci, align 4 + %dec137 = add nsw i32 %61, -1 + store i32 %dec137, i32* %preci, align 4 + br label %if.end138 + +if.end138: ; preds = %if.then136, %if.end130 + %62 = load i32, i32* %preci, align 4 + store i32 %62, i32* %round, align 4 + %63 = load i8, i8* %mode, align 1 + %conv139 = sext i8 %63 to i32 + %cmp140 = icmp eq i32 %conv139, 102 + br i1 %cmp140, label %if.then142, label %if.end149 + +if.then142: ; preds = %if.end138 + %64 = load i32, i32* %exp, align 4 + %65 = load i32, i32* %round, align 4 + %add143 = add nsw i32 %65, %64 + store i32 %add143, i32* %round, align 4 + %66 = load i32, i32* %round, align 4 + %cmp144 = icmp slt i32 %66, -1 + br i1 %cmp144, label %if.then146, label %if.end149 + +if.then146: ; preds = %if.then142 + %arraydecay147 = getelementptr inbounds [21 x i8], [21 x i8]* %buf, i64 0, i64 0 + %call = call i8* @memset(i8* %arraydecay147, i32 48, i64 17) #19 + store i32 -1, i32* %exp, align 4 + store i32 -1, i32* %round, align 4 + br label %if.end149 + +if.end149: ; preds = %if.then142, %if.then146, %if.end138 + %arraydecay150 = getelementptr inbounds [21 x i8], [21 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay150, i8** %s, align 8 + %67 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %67, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + store i8 0, i8* %67, align 1 + %68 = load i8*, i8** %s, align 8 + store i8 48, i8* %68, align 1 + store i32 0, i32* %i151, align 4 + %69 = load i8*, i8** %s, align 8 + %add.ptr152 = getelementptr inbounds i8, i8* %69, i64 17 + %add.ptr153 = getelementptr inbounds i8, i8* %add.ptr152, i64 1 + store i8* %add.ptr153, i8** %e, align 8 + %70 = load i32, i32* %round, align 4 + %cmp154 = icmp slt i32 %70, 17 + br i1 %cmp154, label %if.then156, label %if.end164 + +if.then156: ; preds = %if.end149 + %71 = load i8*, i8** %s, align 8 + %72 = load i32, i32* %round, align 4 + %idx.ext = sext i32 %72 to i64 + %add.ptr157 = getelementptr inbounds i8, i8* %71, i64 %idx.ext + %add.ptr158 = getelementptr inbounds i8, i8* %add.ptr157, i64 2 + store i8* %add.ptr158, i8** %e, align 8 + %73 = load i8*, i8** %e, align 8 + %74 = load i8, i8* %73, align 1 + %conv159 = sext i8 %74 to i32 + %cmp160 = icmp sge i32 %conv159, 53 + br i1 %cmp160, label %if.then162, label %if.end164 + +if.then162: ; preds = %if.then156 + store i32 1, i32* %i151, align 4 + br label %if.end164 + +if.end164: ; preds = %if.then156, %if.then162, %if.end149 + br label %do.body165 + +do.body165: ; preds = %do.body165, %lor.rhs, %if.end164 + %75 = load i32, i32* %i151, align 4 + %76 = load i8*, i8** %e, align 8 + %incdec.ptr166 = getelementptr inbounds i8, i8* %76, i32 -1 + store i8* %incdec.ptr166, i8** %e, align 8 + %77 = load i8, i8* %incdec.ptr166, align 1 + %conv167 = sext i8 %77 to i32 + %add168 = add nsw i32 %conv167, %75 + %conv169 = trunc i32 %add168 to i8 + store i8 %conv169, i8* %incdec.ptr166, align 1 + %78 = load i8*, i8** %e, align 8 + %79 = load i8, i8* %78, align 1 + %conv171 = sext i8 %79 to i32 + %cmp172 = icmp eq i32 %conv171, 48 + br i1 %cmp172, label %do.body165, label %lor.rhs + +lor.rhs: ; preds = %do.body165 + %80 = load i8*, i8** %e, align 8 + %81 = load i8, i8* %80, align 1 + %conv174 = sext i8 %81 to i32 + %cmp175 = icmp sgt i32 %conv174, 57 + br i1 %cmp175, label %do.body165, label %do.end177 + +do.end177: ; preds = %lor.rhs + %82 = load i32, i32* %exp, align 4 + store i32 %82, i32* %o_exp, align 4 + %83 = load i8*, i8** %e, align 8 + %84 = load i8*, i8** %s, align 8 + %cmp178 = icmp ule i8* %83, %84 + br i1 %cmp178, label %if.then180, label %if.else182 + +if.then180: ; preds = %do.end177 + %85 = load i32, i32* %o_exp, align 4 + %inc181 = add nsw i32 %85, 1 + store i32 %inc181, i32* %o_exp, align 4 + %86 = load i8*, i8** %s, align 8 + store i8* %86, i8** %e, align 8 + br label %if.end184 + +if.else182: ; preds = %do.end177 + %87 = load i8*, i8** %s, align 8 + %incdec.ptr183 = getelementptr inbounds i8, i8* %87, i32 1 + store i8* %incdec.ptr183, i8** %s, align 8 + br label %if.end184 + +if.end184: ; preds = %if.else182, %if.then180 + %88 = load i8*, i8** %e, align 8 + %incdec.ptr185 = getelementptr inbounds i8, i8* %88, i32 1 + store i8* %incdec.ptr185, i8** %e, align 8 + store i8 0, i8* %incdec.ptr185, align 1 + %89 = load i8, i8* %mode, align 1 + %conv186 = sext i8 %89 to i32 + %cmp187 = icmp eq i32 %conv186, 103 + %90 = load i32, i32* %o_exp, align 4 + %cmp190 = icmp sge i32 %90, -4 + %or.cond1 = and i1 %cmp187, %cmp190 + br i1 %or.cond1, label %land.lhs.true192, label %if.end197 + +land.lhs.true192: ; preds = %if.end184 + %91 = load i32, i32* %o_exp, align 4 + %92 = load i32, i32* %round, align 4 + %cmp193 = icmp sle i32 %91, %92 + br i1 %cmp193, label %if.then195, label %if.end197 + +if.then195: ; preds = %land.lhs.true192 + store i8 102, i8* %mode, align 1 + %93 = load i32, i32* %round, align 4 + %94 = load i32, i32* %o_exp, align 4 + %sub196 = sub nsw i32 %93, %94 + store i32 %sub196, i32* %preci, align 4 + br label %if.end197 + +if.end197: ; preds = %if.then195, %land.lhs.true192, %if.end184 + %95 = load i32, i32* %o_exp, align 4 + store i32 %95, i32* %exp, align 4 + %96 = load i8, i8* %mode, align 1 + %conv198 = sext i8 %96 to i32 + %cmp199 = icmp ne i32 %conv198, 102 + br i1 %cmp199, label %if.then201, label %if.end202 + +if.then201: ; preds = %if.end197 + store i32 0, i32* %o_exp, align 4 + br label %if.end202 + +if.end202: ; preds = %if.then201, %if.end197 + %97 = load i32, i32* %o_exp, align 4 + %cmp203 = icmp slt i32 %97, 0 + br i1 %cmp203, label %if.then205, label %if.end207 + +if.then205: ; preds = %if.end202 + %98 = load i8*, i8** %s, align 8 + %incdec.ptr206 = getelementptr inbounds i8, i8* %98, i32 -1 + store i8* %incdec.ptr206, i8** %s, align 8 + store i8 48, i8* %incdec.ptr206, align 1 + br label %if.end207 + +if.end207: ; preds = %if.then205, %if.end202 + %arrayidx208 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 3 + store i64 176, i64* %arrayidx208, align 8 + %arrayidx209 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 4 + store i64 1, i64* %arrayidx209, align 16 + %arraydecay210 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %add.ptr211 = getelementptr inbounds i8, i8* %arraydecay210, i64 4 + %99 = ptrtoint i8* %add.ptr211 to i64 + %arrayidx212 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 %99, i64* %arrayidx212, align 8 + %100 = load i8*, i8** %s, align 8 + %incdec.ptr213 = getelementptr inbounds i8, i8* %100, i32 1 + store i8* %incdec.ptr213, i8** %s, align 8 + %101 = load i8, i8* %100, align 1 + %arrayidx214 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 4 + store i8 %101, i8* %arrayidx214, align 1 + %arrayidx215 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 5 + store i8 0, i8* %arrayidx215, align 1 + %arraydecay216 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + %add.ptr217 = getelementptr inbounds i64, i64* %arraydecay216, i64 6 + store i64* %add.ptr217, i64** %ppc, align 8 + %102 = load i8*, i8** %e, align 8 + %103 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %102 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %103 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %conv219 = trunc i64 %sub.ptr.sub to i32 + store i32 %conv219, i32* %i218, align 4 + %104 = load i32, i32* %o_exp, align 4 + %cmp220 = icmp sge i32 %104, 0 + br i1 %cmp220, label %if.then222, label %if.end253 + +if.then222: ; preds = %if.end207 + %105 = load i64*, i64** %ppc, align 8 + %arrayidx223 = getelementptr inbounds i64, i64* %105, i64 0 + store i64 112, i64* %arrayidx223, align 8 + %106 = load i8*, i8** %s, align 8 + %107 = ptrtoint i8* %106 to i64 + %108 = load i64*, i64** %ppc, align 8 + %arrayidx224 = getelementptr inbounds i64, i64* %108, i64 2 + store i64 %107, i64* %arrayidx224, align 8 + %109 = load i32, i32* %o_exp, align 4 + %110 = load i32, i32* %i218, align 4 + %cmp225 = icmp sge i32 %109, %110 + br i1 %cmp225, label %if.then227, label %if.else241 + +if.then227: ; preds = %if.then222 + %111 = load i32, i32* %i218, align 4 + %conv228 = sext i32 %111 to i64 + %112 = load i64*, i64** %ppc, align 8 + %arrayidx229 = getelementptr inbounds i64, i64* %112, i64 1 + store i64 %conv228, i64* %arrayidx229, align 8 + %113 = load i64*, i64** %ppc, align 8 + %add.ptr230 = getelementptr inbounds i64, i64* %113, i64 3 + store i64* %add.ptr230, i64** %ppc, align 8 + %114 = load i32, i32* %i218, align 4 + %115 = load i32, i32* %o_exp, align 4 + %sub231 = sub nsw i32 %115, %114 + store i32 %sub231, i32* %o_exp, align 4 + store i32 0, i32* %i218, align 4 + %116 = load i32, i32* %o_exp, align 4 + %cmp232 = icmp sgt i32 %116, 0 + br i1 %cmp232, label %if.then234, label %if.end252 + +if.then234: ; preds = %if.then227 + %117 = load i64*, i64** %ppc, align 8 + %arrayidx235 = getelementptr inbounds i64, i64* %117, i64 0 + store i64 176, i64* %arrayidx235, align 8 + %118 = load i32, i32* %o_exp, align 4 + %conv236 = sext i32 %118 to i64 + %119 = load i64*, i64** %ppc, align 8 + %arrayidx237 = getelementptr inbounds i64, i64* %119, i64 1 + store i64 %conv236, i64* %arrayidx237, align 8 + %120 = load i64*, i64** %ppc, align 8 + %arrayidx238 = getelementptr inbounds i64, i64* %120, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx238, align 8 + %121 = load i64*, i64** %ppc, align 8 + %add.ptr239 = getelementptr inbounds i64, i64* %121, i64 3 + store i64* %add.ptr239, i64** %ppc, align 8 + br label %if.end252 + +if.else241: ; preds = %if.then222 + %122 = load i32, i32* %o_exp, align 4 + %cmp242 = icmp sgt i32 %122, 0 + br i1 %cmp242, label %if.then244, label %if.end252 + +if.then244: ; preds = %if.else241 + %123 = load i32, i32* %o_exp, align 4 + %conv245 = sext i32 %123 to i64 + %124 = load i64*, i64** %ppc, align 8 + %arrayidx246 = getelementptr inbounds i64, i64* %124, i64 1 + store i64 %conv245, i64* %arrayidx246, align 8 + %125 = load i64*, i64** %ppc, align 8 + %add.ptr247 = getelementptr inbounds i64, i64* %125, i64 3 + store i64* %add.ptr247, i64** %ppc, align 8 + %126 = load i32, i32* %o_exp, align 4 + %127 = load i8*, i8** %s, align 8 + %idx.ext248 = sext i32 %126 to i64 + %add.ptr249 = getelementptr inbounds i8, i8* %127, i64 %idx.ext248 + store i8* %add.ptr249, i8** %s, align 8 + %128 = load i32, i32* %o_exp, align 4 + %129 = load i32, i32* %i218, align 4 + %sub250 = sub nsw i32 %129, %128 + store i32 %sub250, i32* %i218, align 4 + br label %if.end252 + +if.end252: ; preds = %if.else241, %if.then244, %if.then227, %if.then234 + store i32 -1, i32* %o_exp, align 4 + br label %if.end253 + +if.end253: ; preds = %if.end252, %if.end207 + %130 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %alt = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %130, i32 0, i32 3 + %bf.load254 = load i32, i32* %alt, align 4 + %bf.lshr255 = lshr i32 %bf.load254, 4 + %bf.clear256 = and i32 %bf.lshr255, 1 + %tobool257 = icmp ne i32 %bf.clear256, 0 + %131 = load i32, i32* %i218, align 4 + %tobool258 = icmp ne i32 %131, 0 + %or.cond2 = or i1 %tobool257, %tobool258 + br i1 %or.cond2, label %if.then266, label %lor.lhs.false259 + +lor.lhs.false259: ; preds = %if.end253 + %132 = load i8, i8* %o_mode, align 1 + %conv260 = sext i8 %132 to i32 + %cmp261 = icmp ne i32 %conv260, 103 + %133 = load i32, i32* %preci, align 4 + %cmp264 = icmp sgt i32 %133, 0 + %or.cond3 = and i1 %cmp261, %cmp264 + br i1 %or.cond3, label %if.then266, label %if.end281 + +if.then266: ; preds = %lor.lhs.false259, %if.end253 + %134 = load i64*, i64** %ppc, align 8 + %arrayidx267 = getelementptr inbounds i64, i64* %134, i64 0 + store i64 112, i64* %arrayidx267, align 8 + %135 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %wide = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %135, i32 0, i32 3 + %bf.load268 = load i32, i32* %wide, align 4 + %bf.lshr269 = lshr i32 %bf.load268, 7 + %bf.clear270 = and i32 %bf.lshr269, 1 + %tobool271 = icmp ne i32 %bf.clear270, 0 + br i1 %tobool271, label %if.then272, label %if.else275 + +if.then272: ; preds = %if.then266 + %136 = load i64*, i64** %ppc, align 8 + %arrayidx273 = getelementptr inbounds i64, i64* %136, i64 1 + store i64 1, i64* %arrayidx273, align 8 + %137 = load i64*, i64** %ppc, align 8 + %arrayidx274 = getelementptr inbounds i64, i64* %137, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 16) to i64), i64* %arrayidx274, align 8 + br label %if.end279 + +if.else275: ; preds = %if.then266 + %138 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %decimal_point_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %138, i32 0, i32 26 + %139 = load i32, i32* %decimal_point_len, align 8 + %conv276 = sext i32 %139 to i64 + %140 = load i64*, i64** %ppc, align 8 + %arrayidx277 = getelementptr inbounds i64, i64* %140, i64 1 + store i64 %conv276, i64* %arrayidx277, align 8 + %141 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %decimal_point = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %141, i32 0, i32 39 + %142 = load i8*, i8** %decimal_point, align 8 + %143 = ptrtoint i8* %142 to i64 + %144 = load i64*, i64** %ppc, align 8 + %arrayidx278 = getelementptr inbounds i64, i64* %144, i64 2 + store i64 %143, i64* %arrayidx278, align 8 + br label %if.end279 + +if.end279: ; preds = %if.else275, %if.then272 + %145 = load i64*, i64** %ppc, align 8 + %add.ptr280 = getelementptr inbounds i64, i64* %145, i64 3 + store i64* %add.ptr280, i64** %ppc, align 8 + br label %if.end281 + +if.end281: ; preds = %if.end279, %lor.lhs.false259 + %146 = load i32, i32* %o_exp, align 4 + %inc282 = add nsw i32 %146, 1 + store i32 %inc282, i32* %o_exp, align 4 + %cmp283 = icmp slt i32 %inc282, 0 + br i1 %cmp283, label %if.then285, label %if.end292 + +if.then285: ; preds = %if.end281 + %147 = load i64*, i64** %ppc, align 8 + %arrayidx286 = getelementptr inbounds i64, i64* %147, i64 0 + store i64 176, i64* %arrayidx286, align 8 + %148 = load i32, i32* %o_exp, align 4 + %sub287 = sub nsw i32 0, %148 + %conv288 = sext i32 %sub287 to i64 + %149 = load i64*, i64** %ppc, align 8 + %arrayidx289 = getelementptr inbounds i64, i64* %149, i64 1 + store i64 %conv288, i64* %arrayidx289, align 8 + %150 = load i64*, i64** %ppc, align 8 + %arrayidx290 = getelementptr inbounds i64, i64* %150, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx290, align 8 + %151 = load i64*, i64** %ppc, align 8 + %add.ptr291 = getelementptr inbounds i64, i64* %151, i64 3 + store i64* %add.ptr291, i64** %ppc, align 8 + br label %if.end292 + +if.end292: ; preds = %if.then285, %if.end281 + %152 = load i32, i32* %i218, align 4 + %tobool293 = icmp ne i32 %152, 0 + br i1 %tobool293, label %if.then294, label %if.end300 + +if.then294: ; preds = %if.end292 + %153 = load i64*, i64** %ppc, align 8 + %arrayidx295 = getelementptr inbounds i64, i64* %153, i64 0 + store i64 112, i64* %arrayidx295, align 8 + %154 = load i32, i32* %i218, align 4 + %conv296 = sext i32 %154 to i64 + %155 = load i64*, i64** %ppc, align 8 + %arrayidx297 = getelementptr inbounds i64, i64* %155, i64 1 + store i64 %conv296, i64* %arrayidx297, align 8 + %156 = load i8*, i8** %s, align 8 + %157 = ptrtoint i8* %156 to i64 + %158 = load i64*, i64** %ppc, align 8 + %arrayidx298 = getelementptr inbounds i64, i64* %158, i64 2 + store i64 %157, i64* %arrayidx298, align 8 + %159 = load i64*, i64** %ppc, align 8 + %add.ptr299 = getelementptr inbounds i64, i64* %159, i64 3 + store i64* %add.ptr299, i64** %ppc, align 8 + br label %if.end300 + +if.end300: ; preds = %if.then294, %if.end292 + %160 = load i8, i8* %o_mode, align 1 + %conv301 = sext i8 %160 to i32 + %cmp302 = icmp ne i32 %conv301, 103 + br i1 %cmp302, label %if.then310, label %lor.lhs.false304 + +lor.lhs.false304: ; preds = %if.end300 + %161 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %alt305 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %161, i32 0, i32 3 + %bf.load306 = load i32, i32* %alt305, align 4 + %bf.lshr307 = lshr i32 %bf.load306, 4 + %bf.clear308 = and i32 %bf.lshr307, 1 + %tobool309 = icmp ne i32 %bf.clear308, 0 + br i1 %tobool309, label %if.then310, label %if.end322 + +if.then310: ; preds = %lor.lhs.false304, %if.end300 + %162 = load i32, i32* %o_exp, align 4 + %163 = load i32, i32* %i218, align 4 + %sub311 = sub nsw i32 %163, %162 + store i32 %sub311, i32* %i218, align 4 + %164 = load i32, i32* %i218, align 4 + %165 = load i32, i32* %preci, align 4 + %cmp312 = icmp slt i32 %164, %165 + br i1 %cmp312, label %if.then314, label %if.end322 + +if.then314: ; preds = %if.then310 + %166 = load i32, i32* %preci, align 4 + %167 = load i32, i32* %i218, align 4 + %sub315 = sub nsw i32 %166, %167 + store i32 %sub315, i32* %i218, align 4 + %168 = load i64*, i64** %ppc, align 8 + %arrayidx316 = getelementptr inbounds i64, i64* %168, i64 0 + store i64 176, i64* %arrayidx316, align 8 + %169 = load i32, i32* %i218, align 4 + %conv317 = sext i32 %169 to i64 + %170 = load i64*, i64** %ppc, align 8 + %arrayidx318 = getelementptr inbounds i64, i64* %170, i64 1 + store i64 %conv317, i64* %arrayidx318, align 8 + %171 = load i64*, i64** %ppc, align 8 + %arrayidx319 = getelementptr inbounds i64, i64* %171, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx319, align 8 + %172 = load i64*, i64** %ppc, align 8 + %add.ptr320 = getelementptr inbounds i64, i64* %172, i64 3 + store i64* %add.ptr320, i64** %ppc, align 8 + br label %if.end322 + +if.end322: ; preds = %if.then310, %if.then314, %lor.lhs.false304 + %173 = load i8, i8* %mode, align 1 + %conv323 = sext i8 %173 to i32 + %cmp324 = icmp ne i32 %conv323, 102 + br i1 %cmp324, label %if.then326, label %EXIT_SPECIAL + +if.then326: ; preds = %if.end322 + %arraydecay327 = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + %add.ptr328 = getelementptr inbounds i8, i8* %arraydecay327, i64 16 + store i8* %add.ptr328, i8** %p, align 8 + %arraydecay330 = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + %174 = load i8, i8* %arraydecay330, align 16 + store i8 %174, i8* %exp_char, align 1 + store i8 43, i8* %exp_sign, align 1 + %175 = load i32, i32* %exp, align 4 + %cmp331 = icmp slt i32 %175, 0 + br i1 %cmp331, label %if.then333, label %if.end335 + +if.then333: ; preds = %if.then326 + store i8 45, i8* %exp_sign, align 1 + %176 = load i32, i32* %exp, align 4 + %sub334 = sub nsw i32 0, %176 + store i32 %sub334, i32* %exp, align 4 + br label %if.end335 + +if.end335: ; preds = %if.then333, %if.then326 + %177 = load i8*, i8** %p, align 8 + %incdec.ptr336 = getelementptr inbounds i8, i8* %177, i32 -1 + store i8* %incdec.ptr336, i8** %p, align 8 + store i8 0, i8* %incdec.ptr336, align 1 + store i32 2, i32* %j329, align 4 + br label %do.body337 + +do.body337: ; preds = %do.body337, %if.end335 + %178 = load i32, i32* %exp, align 4 + %rem338 = srem i32 %178, 10 + %add339 = add nsw i32 48, %rem338 + %conv340 = trunc i32 %add339 to i8 + %179 = load i8*, i8** %p, align 8 + %incdec.ptr341 = getelementptr inbounds i8, i8* %179, i32 -1 + store i8* %incdec.ptr341, i8** %p, align 8 + store i8 %conv340, i8* %incdec.ptr341, align 1 + %180 = load i32, i32* %exp, align 4 + %div342 = sdiv i32 %180, 10 + store i32 %div342, i32* %exp, align 4 + %181 = load i32, i32* %j329, align 4 + %inc344 = add nsw i32 %181, 1 + store i32 %inc344, i32* %j329, align 4 + %cmp345 = icmp slt i32 %inc344, 4 + %182 = load i32, i32* %exp, align 4 + %tobool348 = icmp ne i32 %182, 0 + %183 = select i1 %cmp345, i1 true, i1 %tobool348 + br i1 %183, label %do.body337, label %do.end350 + +do.end350: ; preds = %do.body337 + %184 = load i8, i8* %exp_sign, align 1 + %185 = load i8*, i8** %p, align 8 + %incdec.ptr351 = getelementptr inbounds i8, i8* %185, i32 -1 + store i8* %incdec.ptr351, i8** %p, align 8 + store i8 %184, i8* %incdec.ptr351, align 1 + %186 = load i8, i8* %exp_char, align 1 + %187 = load i8*, i8** %p, align 8 + %incdec.ptr352 = getelementptr inbounds i8, i8* %187, i32 -1 + store i8* %incdec.ptr352, i8** %p, align 8 + store i8 %186, i8* %incdec.ptr352, align 1 + %188 = load i64*, i64** %ppc, align 8 + %arrayidx353 = getelementptr inbounds i64, i64* %188, i64 0 + store i64 112, i64* %arrayidx353, align 8 + %189 = load i32, i32* %j329, align 4 + %conv354 = sext i32 %189 to i64 + %190 = load i64*, i64** %ppc, align 8 + %arrayidx355 = getelementptr inbounds i64, i64* %190, i64 1 + store i64 %conv354, i64* %arrayidx355, align 8 + %191 = load i8*, i8** %p, align 8 + %192 = ptrtoint i8* %191 to i64 + %193 = load i64*, i64** %ppc, align 8 + %arrayidx356 = getelementptr inbounds i64, i64* %193, i64 2 + store i64 %192, i64* %arrayidx356, align 8 + %194 = load i64*, i64** %ppc, align 8 + %add.ptr357 = getelementptr inbounds i64, i64* %194, i64 3 + store i64* %add.ptr357, i64** %ppc, align 8 + br label %EXIT_SPECIAL + +EXIT_SPECIAL: ; preds = %if.end322, %do.end350, %if.end54 + %195 = load i64*, i64** %ppc, align 8 + store i64* %195, i64** %ppc_last, align 8 + %arraydecay360 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + %add.ptr361 = getelementptr inbounds i64, i64* %arraydecay360, i64 4 + store i64* %add.ptr361, i64** %ppc, align 8 + br label %do.body362 + +do.body362: ; preds = %do.body362, %EXIT_SPECIAL + %196 = load i64*, i64** %ppc, align 8 + %197 = load i64, i64* %196, align 8 + %198 = load i32, i32* %width, align 4 + %conv363 = sext i32 %198 to i64 + %sub364 = sub nsw i64 %conv363, %197 + %conv365 = trunc i64 %sub364 to i32 + store i32 %conv365, i32* %width, align 4 + %199 = load i64*, i64** %ppc, align 8 + %add.ptr366 = getelementptr inbounds i64, i64* %199, i64 3 + store i64* %add.ptr366, i64** %ppc, align 8 + %200 = load i64*, i64** %ppc, align 8 + %201 = load i64*, i64** %ppc_last, align 8 + %cmp368 = icmp ult i64* %200, %201 + br i1 %cmp368, label %do.body362, label %do.end370 + +do.end370: ; preds = %do.body362 + %arraydecay371 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + store i64* %arraydecay371, i64** %ppc, align 8 + %202 = load i64*, i64** %ppc, align 8 + %arrayidx372 = getelementptr inbounds i64, i64* %202, i64 0 + store i64 160, i64* %arrayidx372, align 8 + %arraydecay373 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %203 = load i8, i8* %arraydecay373, align 1 + %conv374 = sext i8 %203 to i32 + %cmp375 = icmp ne i32 %conv374, 0 + %conv376 = zext i1 %cmp375 to i32 + store i32 %conv376, i32* %i359, align 4 + %conv377 = sext i32 %conv376 to i64 + %204 = load i64*, i64** %ppc, align 8 + %arrayidx378 = getelementptr inbounds i64, i64* %204, i64 1 + store i64 %conv377, i64* %arrayidx378, align 8 + %arraydecay379 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %205 = ptrtoint i8* %arraydecay379 to i64 + %206 = load i64*, i64** %ppc, align 8 + %arrayidx380 = getelementptr inbounds i64, i64* %206, i64 2 + store i64 %205, i64* %arrayidx380, align 8 + %207 = load i32, i32* %i359, align 4 + %208 = load i32, i32* %width, align 4 + %sub381 = sub nsw i32 %208, %207 + store i32 %sub381, i32* %width, align 4 + %cmp382 = icmp sgt i32 %sub381, 0 + br i1 %cmp382, label %if.then384, label %if.end409 + +if.then384: ; preds = %do.end370 + %209 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %left = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %209, i32 0, i32 3 + %bf.load385 = load i32, i32* %left, align 4 + %bf.lshr386 = lshr i32 %bf.load385, 3 + %bf.clear387 = and i32 %bf.lshr386, 1 + %tobool388 = icmp ne i32 %bf.clear387, 0 + br i1 %tobool388, label %if.then389, label %if.else395 + +if.then389: ; preds = %if.then384 + %210 = load i64*, i64** %ppc_last, align 8 + %arrayidx390 = getelementptr inbounds i64, i64* %210, i64 0 + store i64 160, i64* %arrayidx390, align 8 + %211 = load i32, i32* %width, align 4 + %conv391 = sext i32 %211 to i64 + %212 = load i64*, i64** %ppc_last, align 8 + %arrayidx392 = getelementptr inbounds i64, i64* %212, i64 1 + store i64 %conv391, i64* %arrayidx392, align 8 + %213 = load i64*, i64** %ppc_last, align 8 + %arrayidx393 = getelementptr inbounds i64, i64* %213, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx393, align 8 + %214 = load i64*, i64** %ppc_last, align 8 + %add.ptr394 = getelementptr inbounds i64, i64* %214, i64 3 + store i64* %add.ptr394, i64** %ppc_last, align 8 + br label %if.end409 + +if.else395: ; preds = %if.then384 + %215 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %pad396 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %215, i32 0, i32 4 + %216 = load i32, i32* %pad396, align 4 + %cmp397 = icmp eq i32 %216, 48 + %217 = load i32, i32* %width, align 4 + %conv400 = sext i32 %217 to i64 + %218 = load i64*, i64** %ppc, align 8 + br i1 %cmp397, label %if.then399, label %if.else403 + +if.then399: ; preds = %if.else395 + %arrayidx401 = getelementptr inbounds i64, i64* %218, i64 4 + %219 = load i64, i64* %arrayidx401, align 8 + %add402 = add nsw i64 %219, %conv400 + store i64 %add402, i64* %arrayidx401, align 8 + br label %if.end409 + +if.else403: ; preds = %if.else395 + %arrayidx405 = getelementptr inbounds i64, i64* %218, i64 1 + %220 = load i64, i64* %arrayidx405, align 8 + %add406 = add nsw i64 %220, %conv400 + store i64 %add406, i64* %arrayidx405, align 8 + br label %if.end409 + +if.end409: ; preds = %if.then389, %if.else403, %if.then399, %do.end370 + store i32 0, i32* %cnt, align 4 + br label %do.body410 + +do.body410: ; preds = %if.end418, %if.end409 + %221 = load i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)*, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)** %fp_outfunc.addr, align 8 + %222 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + %223 = load i64*, i64** %ppc, align 8 + %224 = load i64, i64* %223, align 8 + %225 = load i64*, i64** %ppc, align 8 + %arrayidx411 = getelementptr inbounds i64, i64* %225, i64 1 + %226 = load i64, i64* %arrayidx411, align 8 + %227 = load i64*, i64** %ppc, align 8 + %arrayidx412 = getelementptr inbounds i64, i64* %227, i64 2 + %228 = load i64, i64* %arrayidx412, align 8 + %call413 = call i64 %221(%struct.__STDIO_FILE_STRUCT.568* %222, i64 %224, i64 %226, i64 %228) #18 + %229 = load i64*, i64** %ppc, align 8 + %arrayidx414 = getelementptr inbounds i64, i64* %229, i64 1 + %230 = load i64, i64* %arrayidx414, align 8 + %cmp415 = icmp ne i64 %call413, %230 + br i1 %cmp415, label %if.then417, label %if.end418 + +if.then417: ; preds = %do.body410 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end418: ; preds = %do.body410 + %231 = load i64*, i64** %ppc, align 8 + %arrayidx419 = getelementptr inbounds i64, i64* %231, i64 1 + %232 = load i64, i64* %arrayidx419, align 8 + %233 = load i32, i32* %cnt, align 4 + %conv420 = sext i32 %233 to i64 + %add421 = add nsw i64 %conv420, %232 + %conv422 = trunc i64 %add421 to i32 + store i32 %conv422, i32* %cnt, align 4 + %234 = load i64*, i64** %ppc, align 8 + %add.ptr423 = getelementptr inbounds i64, i64* %234, i64 3 + store i64* %add.ptr423, i64** %ppc, align 8 + %235 = load i64*, i64** %ppc, align 8 + %236 = load i64*, i64** %ppc_last, align 8 + %cmp425 = icmp ult i64* %235, %236 + br i1 %cmp425, label %do.body410, label %do.end427 + +do.end427: ; preds = %if.end418 + %237 = load i32, i32* %cnt, align 4 + %conv428 = sext i32 %237 to i64 + store i64 %conv428, i64* %retval, align 8 + br label %return + +return: ; preds = %do.end427, %if.then417 + %238 = load i64, i64* %retval, align 8 + ret i64 %238 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_load_inttype(i32 %desttype, i8* %src, i32 %uflag) #0 { +entry: + %retval = alloca i64, align 8 + %desttype.addr = alloca i32, align 4 + %src.addr = alloca i8*, align 8 + %uflag.addr = alloca i32, align 4 + %x = alloca i32, align 4 + %x24 = alloca i32, align 4 + store i32 %desttype, i32* %desttype.addr, align 4 + store i8* %src, i8** %src.addr, align 8 + store i32 %uflag, i32* %uflag.addr, align 4 + %0 = load i32, i32* %uflag.addr, align 4 + %cmp = icmp sge i32 %0, 0 + %1 = load i32, i32* %desttype.addr, align 4 + %and = and i32 %1, 3072 + %tobool = icmp ne i32 %and, 0 + %2 = load i8*, i8** %src.addr, align 8 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + br i1 %tobool, label %if.then1, label %if.end4 + +if.then1: ; preds = %if.then + %3 = bitcast i8* %2 to i64* + %4 = load i64, i64* %3, align 8 + store i64 %4, i64* %retval, align 8 + br label %return + +if.end4: ; preds = %if.then + %5 = bitcast i8* %2 to i32* + %6 = load i32, i32* %5, align 4 + store i32 %6, i32* %x, align 4 + %7 = load i32, i32* %desttype.addr, align 4 + %cmp5 = icmp eq i32 %7, 256 + br i1 %cmp5, label %if.then6, label %if.end8 + +if.then6: ; preds = %if.end4 + %8 = load i32, i32* %x, align 4 + %conv = trunc i32 %8 to i8 + %conv7 = zext i8 %conv to i32 + store i32 %conv7, i32* %x, align 4 + br label %if.end8 + +if.end8: ; preds = %if.then6, %if.end4 + %9 = load i32, i32* %desttype.addr, align 4 + %cmp9 = icmp eq i32 %9, 512 + br i1 %cmp9, label %if.then11, label %if.end14 + +if.then11: ; preds = %if.end8 + %10 = load i32, i32* %x, align 4 + %conv12 = trunc i32 %10 to i16 + %conv13 = zext i16 %conv12 to i32 + store i32 %conv13, i32* %x, align 4 + br label %if.end14 + +if.end14: ; preds = %if.then11, %if.end8 + %11 = load i32, i32* %x, align 4 + %conv15 = zext i32 %11 to i64 + store i64 %conv15, i64* %retval, align 8 + br label %return + +if.else: ; preds = %entry + br i1 %tobool, label %if.then18, label %if.end23 + +if.then18: ; preds = %if.else + %12 = bitcast i8* %2 to i64* + %13 = load i64, i64* %12, align 8 + store i64 %13, i64* %retval, align 8 + br label %return + +if.end23: ; preds = %if.else + %14 = bitcast i8* %2 to i32* + %15 = load i32, i32* %14, align 4 + store i32 %15, i32* %x24, align 4 + %16 = load i32, i32* %desttype.addr, align 4 + %cmp25 = icmp eq i32 %16, 256 + br i1 %cmp25, label %if.then27, label %if.end30 + +if.then27: ; preds = %if.end23 + %17 = load i32, i32* %x24, align 4 + %conv28 = trunc i32 %17 to i8 + %conv29 = sext i8 %conv28 to i32 + store i32 %conv29, i32* %x24, align 4 + br label %if.end30 + +if.end30: ; preds = %if.then27, %if.end23 + %18 = load i32, i32* %desttype.addr, align 4 + %cmp31 = icmp eq i32 %18, 512 + br i1 %cmp31, label %if.then33, label %if.end36 + +if.then33: ; preds = %if.end30 + %19 = load i32, i32* %x24, align 4 + %conv34 = trunc i32 %19 to i16 + %conv35 = sext i16 %conv34 to i32 + store i32 %conv35, i32* %x24, align 4 + br label %if.end36 + +if.end36: ; preds = %if.then33, %if.end30 + %20 = load i32, i32* %x24, align 4 + %conv37 = sext i32 %20 to i64 + store i64 %conv37, i64* %retval, align 8 + br label %return + +return: ; preds = %if.then18, %if.then1, %if.end36, %if.end14 + %21 = load i64, i64* %retval, align 8 + ret i64 %21 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_ppfs_init(%struct.ppfs_t.722* %ppfs, i8* %fmt0) #0 { +entry: + %retval = alloca i32, align 4 + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %fmt0.addr = alloca i8*, align 8 + %r = alloca i32, align 4 + %mbstate = alloca %struct.__mbstate_t.512, align 4 + %p = alloca i8*, align 8 + %p8 = alloca i32*, align 8 + %fmt = alloca i8*, align 8 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store i8* %fmt0, i8** %fmt0.addr, align 8 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %1 = bitcast %struct.ppfs_t.722* %0 to i8* + %call = call i8* @memset(i8* %1, i32 0, i64 176) #19 + %2 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %2, i32 0, i32 2 + %3 = load i32, i32* %maxposarg, align 4 + %dec = add nsw i32 %3, -1 + store i32 %dec, i32* %maxposarg, align 4 + %4 = load i8*, i8** %fmt0.addr, align 8 + %5 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %5, i32 0, i32 0 + store i8* %4, i8** %fmtpos, align 8 + %6 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %6, i32 0, i32 9 + %7 = load i8, i8* %encoding, align 8 + %conv = zext i8 %7 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %if.then, label %if.end7 + +if.then: ; preds = %entry + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %mbstate, i32 0, i32 0 + store i32 0, i32* %__mask, align 4 + %8 = load i8*, i8** %fmt0.addr, align 8 + store i8* %8, i8** %p, align 8 + %call2 = call i64 @mbsrtowcs(i32* null, i8** %p, i64 -1, %struct.__mbstate_t.512* %mbstate) #19 + %cmp3 = icmp eq i64 %call2, -1 + br i1 %cmp3, label %if.then5, label %if.end7 + +if.then5: ; preds = %if.then + %9 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos6 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %9, i32 0, i32 0 + store i8* getelementptr inbounds ([33 x i8], [33 x i8]* @_ppfs_init.invalid_mbs, i64 0, i64 0), i8** %fmtpos6, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end7: ; preds = %if.then, %entry + %10 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %10, i32 0, i32 6 + %arraydecay = getelementptr inbounds [9 x i32], [9 x i32]* %argtype, i64 0, i64 0 + store i32* %arraydecay, i32** %p8, align 8 + store i32 9, i32* %r, align 4 + br label %do.body + +do.body: ; preds = %do.body, %if.end7 + %11 = load i32*, i32** %p8, align 8 + %incdec.ptr = getelementptr inbounds i32, i32* %11, i32 1 + store i32* %incdec.ptr, i32** %p8, align 8 + store i32 8, i32* %11, align 4 + %12 = load i32, i32* %r, align 4 + %dec9 = add nsw i32 %12, -1 + store i32 %dec9, i32* %r, align 4 + %tobool = icmp ne i32 %dec9, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.body + %13 = load i8*, i8** %fmt0.addr, align 8 + store i8* %13, i8** %fmt, align 8 + br label %while.cond + +while.cond: ; preds = %if.end27, %do.end + %14 = load i8*, i8** %fmt, align 8 + %15 = load i8, i8* %14, align 1 + %tobool10 = icmp ne i8 %15, 0 + br i1 %tobool10, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %16 = load i8*, i8** %fmt, align 8 + %17 = load i8, i8* %16, align 1 + %conv11 = sext i8 %17 to i32 + %cmp12 = icmp eq i32 %conv11, 37 + br i1 %cmp12, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %while.body + %18 = load i8*, i8** %fmt, align 8 + %incdec.ptr14 = getelementptr inbounds i8, i8* %18, i32 1 + store i8* %incdec.ptr14, i8** %fmt, align 8 + %19 = load i8, i8* %incdec.ptr14, align 1 + %conv15 = sext i8 %19 to i32 + %cmp16 = icmp ne i32 %conv15, 37 + br i1 %cmp16, label %if.then18, label %if.else + +if.then18: ; preds = %land.lhs.true + %20 = load i8*, i8** %fmt, align 8 + %21 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos19 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %21, i32 0, i32 0 + store i8* %20, i8** %fmtpos19, align 8 + %22 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %call20 = call i32 @_ppfs_parsespec(%struct.ppfs_t.722* %22) #18 + store i32 %call20, i32* %r, align 4 + %cmp21 = icmp slt i32 %call20, 0 + br i1 %cmp21, label %if.then23, label %if.end24 + +if.then23: ; preds = %if.then18 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end24: ; preds = %if.then18 + %23 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos25 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %23, i32 0, i32 0 + %24 = load i8*, i8** %fmtpos25, align 8 + store i8* %24, i8** %fmt, align 8 + br label %if.end27 + +if.else: ; preds = %land.lhs.true, %while.body + %25 = load i8*, i8** %fmt, align 8 + %incdec.ptr26 = getelementptr inbounds i8, i8* %25, i32 1 + store i8* %incdec.ptr26, i8** %fmt, align 8 + br label %if.end27 + +if.end27: ; preds = %if.else, %if.end24 + br label %while.cond + +while.end: ; preds = %while.cond + %26 = load i8*, i8** %fmt0.addr, align 8 + %27 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos28 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %27, i32 0, i32 0 + store i8* %26, i8** %fmtpos28, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %while.end, %if.then23, %if.then5 + %28 = load i32, i32* %retval, align 4 + ret i32 %28 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_ppfs_parsespec(%struct.ppfs_t.722* %ppfs) #0 { +entry: + %retval = alloca i32, align 4 + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %fmt = alloca i8*, align 8 + %p = alloca i8*, align 8 + %preci = alloca i32, align 4 + %width = alloca i32, align 4 + %flags = alloca i32, align 4 + %dataargtype = alloca i32, align 4 + %i = alloca i32, align 4 + %dpoint = alloca i32, align 4 + %maxposarg = alloca i32, align 4 + %p_m_spec_chars = alloca i32, align 4 + %n = alloca i32, align 4 + %argtype = alloca [3 x i32], align 4 + %argnumber = alloca [3 x i32], align 4 + %buf = alloca [32 x i8], align 16 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store i32 -1, i32* %preci, align 4 + %arrayidx = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 0 + store i32 0, i32* %arrayidx, align 4 + %arrayidx1 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 1 + store i32 0, i32* %arrayidx1, align 4 + %arrayidx2 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 0 + store i32 8, i32* %arrayidx2, align 4 + %arrayidx3 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 1 + store i32 8, i32* %arrayidx3, align 4 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg4 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %0, i32 0, i32 2 + %1 = load i32, i32* %maxposarg4, align 4 + store i32 %1, i32* %maxposarg, align 4 + store i32 0, i32* %dpoint, align 4 + store i32 0, i32* %width, align 4 + %2 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %2, i32 0, i32 1 + %_flags = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 3 + %3 = load i32, i32* %_flags, align 4 + %and = and i32 %3, 128 + store i32 %and, i32* %flags, align 4 + %cmp = icmp eq i32 %and, 0 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %4 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %4, i32 0, i32 0 + %5 = load i8*, i8** %fmtpos, align 8 + store i8* %5, i8** %fmt, align 8 + br label %if.end20 + +if.else: ; preds = %entry + %arraydecay = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 1 + store i8* %add.ptr, i8** %fmt, align 8 + store i32 0, i32* %i, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %if.else + %6 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos5 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %6, i32 0, i32 0 + %7 = load i8*, i8** %fmtpos5, align 8 + %8 = bitcast i8* %7 to i32* + %9 = load i32, i32* %i, align 4 + %sub = sub nsw i32 %9, 1 + %idxprom = sext i32 %sub to i64 + %arrayidx6 = getelementptr inbounds i32, i32* %8, i64 %idxprom + %10 = load i32, i32* %arrayidx6, align 4 + %conv = trunc i32 %10 to i8 + %11 = load i32, i32* %i, align 4 + %idxprom7 = sext i32 %11 to i64 + %arrayidx8 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 %idxprom7 + store i8 %conv, i8* %arrayidx8, align 1 + %conv9 = sext i8 %conv to i32 + %12 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos10 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %12, i32 0, i32 0 + %13 = load i8*, i8** %fmtpos10, align 8 + %14 = bitcast i8* %13 to i32* + %15 = load i32, i32* %i, align 4 + %sub11 = sub nsw i32 %15, 1 + %idxprom12 = sext i32 %sub11 to i64 + %arrayidx13 = getelementptr inbounds i32, i32* %14, i64 %idxprom12 + %16 = load i32, i32* %arrayidx13, align 4 + %cmp14 = icmp ne i32 %conv9, %16 + br i1 %cmp14, label %if.then16, label %do.cond + +if.then16: ; preds = %do.body + store i32 -1, i32* %retval, align 4 + br label %return + +do.cond: ; preds = %do.body + %17 = load i32, i32* %i, align 4 + %inc = add nsw i32 %17, 1 + store i32 %inc, i32* %i, align 4 + %idxprom17 = sext i32 %17 to i64 + %arrayidx18 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 %idxprom17 + %18 = load i8, i8* %arrayidx18, align 1 + %tobool = icmp ne i8 %18, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %arrayidx19 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 31 + store i8 0, i8* %arrayidx19, align 1 + br label %if.end20 + +if.end20: ; preds = %do.end, %if.then + br label %width_precision + +width_precision: ; preds = %do.end89, %if.then129, %if.end20 + %19 = load i8*, i8** %fmt, align 8 + store i8* %19, i8** %p, align 8 + %20 = load i8*, i8** %fmt, align 8 + %21 = load i8, i8* %20, align 1 + %conv21 = sext i8 %21 to i32 + %cmp22 = icmp eq i32 %conv21, 42 + br i1 %cmp22, label %if.then24, label %if.end28 + +if.then24: ; preds = %width_precision + %22 = load i32, i32* %dpoint, align 4 + %sub25 = sub nsw i32 0, %22 + %idxprom26 = sext i32 %sub25 to i64 + %arrayidx27 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 %idxprom26 + store i32 0, i32* %arrayidx27, align 4 + %23 = load i8*, i8** %fmt, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %23, i32 1 + store i8* %incdec.ptr, i8** %fmt, align 8 + br label %if.end28 + +if.end28: ; preds = %if.then24, %width_precision + store i32 0, i32* %i, align 4 + br label %while.cond + +while.cond: ; preds = %if.end40, %if.end28 + %call = call i16** @__ctype_b_loc() #21 + %24 = load i16*, i16** %call, align 8 + %25 = load i8*, i8** %fmt, align 8 + %26 = load i8, i8* %25, align 1 + %conv29 = sext i8 %26 to i32 + %idxprom30 = sext i32 %conv29 to i64 + %arrayidx31 = getelementptr inbounds i16, i16* %24, i64 %idxprom30 + %27 = load i16, i16* %arrayidx31, align 2 + %conv32 = zext i16 %27 to i32 + %and33 = and i32 %conv32, 2048 + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %28 = load i32, i32* %i, align 4 + %cmp35 = icmp slt i32 %28, 4095 + br i1 %cmp35, label %if.then37, label %if.end40 + +if.then37: ; preds = %while.body + %29 = load i32, i32* %i, align 4 + %mul = mul nsw i32 %29, 10 + %30 = load i8*, i8** %fmt, align 8 + %31 = load i8, i8* %30, align 1 + %conv38 = sext i8 %31 to i32 + %sub39 = sub nsw i32 %conv38, 48 + %add = add nsw i32 %mul, %sub39 + store i32 %add, i32* %i, align 4 + br label %if.end40 + +if.end40: ; preds = %if.then37, %while.body + %32 = load i8*, i8** %fmt, align 8 + %incdec.ptr41 = getelementptr inbounds i8, i8* %32, i32 1 + store i8* %incdec.ptr41, i8** %fmt, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %33 = load i8*, i8** %p, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %33, i64 -1 + %34 = load i8, i8* %arrayidx42, align 1 + %conv43 = sext i8 %34 to i32 + %cmp44 = icmp eq i32 %conv43, 37 + br i1 %cmp44, label %if.then46, label %PREC_WIDTH + +if.then46: ; preds = %while.end + %35 = load i8*, i8** %fmt, align 8 + %36 = load i8, i8* %35, align 1 + %conv47 = sext i8 %36 to i32 + %cmp48 = icmp eq i32 %conv47, 36 + %37 = load i32, i32* %i, align 4 + %cmp50 = icmp sgt i32 %37, 0 + %or.cond = and i1 %cmp48, %cmp50 + br i1 %or.cond, label %if.then52, label %if.else63 + +if.then52: ; preds = %if.then46 + %38 = load i8*, i8** %fmt, align 8 + %incdec.ptr53 = getelementptr inbounds i8, i8* %38, i32 1 + store i8* %incdec.ptr53, i8** %fmt, align 8 + %39 = load i32, i32* %maxposarg, align 4 + %cmp54 = icmp eq i32 %39, 0 + br i1 %cmp54, label %if.then56, label %if.end57 + +if.then56: ; preds = %if.then52 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end57: ; preds = %if.then52 + %40 = load i32, i32* %i, align 4 + %arrayidx58 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 2 + store i32 %40, i32* %arrayidx58, align 4 + %41 = load i32, i32* %maxposarg, align 4 + %cmp59 = icmp sgt i32 %40, %41 + br i1 %cmp59, label %if.then61, label %if.end76 + +if.then61: ; preds = %if.end57 + %42 = load i32, i32* %i, align 4 + store i32 %42, i32* %maxposarg, align 4 + br label %if.end76 + +if.else63: ; preds = %if.then46 + %43 = load i32, i32* %maxposarg, align 4 + %cmp64 = icmp sgt i32 %43, 0 + br i1 %cmp64, label %if.then66, label %if.end67 + +if.then66: ; preds = %if.else63 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end67: ; preds = %if.else63 + store i32 0, i32* %maxposarg, align 4 + %44 = load i8*, i8** %fmt, align 8 + %45 = load i8*, i8** %p, align 8 + %cmp68 = icmp ugt i8* %44, %45 + br i1 %cmp68, label %land.lhs.true70, label %if.end75 + +land.lhs.true70: ; preds = %if.end67 + %46 = load i8*, i8** %p, align 8 + %47 = load i8, i8* %46, align 1 + %conv71 = sext i8 %47 to i32 + %cmp72 = icmp ne i32 %conv71, 48 + br i1 %cmp72, label %PREC_WIDTH, label %if.end75 + +if.end75: ; preds = %land.lhs.true70, %if.end67 + %48 = load i8*, i8** %p, align 8 + store i8* %48, i8** %fmt, align 8 + br label %if.end76 + +if.end76: ; preds = %if.end57, %if.then61, %if.end75 + br label %restart_flags + +restart_flags: ; preds = %if.then83, %if.end76 + store i32 1, i32* %i, align 4 + store i8* getelementptr inbounds ([8 x i8], [8 x i8]* @_ppfs_parsespec.spec_flags, i64 0, i64 0), i8** %p, align 8 + br label %do.body77 + +do.body77: ; preds = %if.end85, %restart_flags + %49 = load i8*, i8** %fmt, align 8 + %50 = load i8, i8* %49, align 1 + %conv78 = sext i8 %50 to i32 + %51 = load i8*, i8** %p, align 8 + %incdec.ptr79 = getelementptr inbounds i8, i8* %51, i32 1 + store i8* %incdec.ptr79, i8** %p, align 8 + %52 = load i8, i8* %51, align 1 + %conv80 = sext i8 %52 to i32 + %cmp81 = icmp eq i32 %conv78, %conv80 + br i1 %cmp81, label %if.then83, label %if.end85 + +if.then83: ; preds = %do.body77 + %53 = load i8*, i8** %fmt, align 8 + %incdec.ptr84 = getelementptr inbounds i8, i8* %53, i32 1 + store i8* %incdec.ptr84, i8** %fmt, align 8 + %54 = load i32, i32* %i, align 4 + %55 = load i32, i32* %flags, align 4 + %or = or i32 %55, %54 + store i32 %or, i32* %flags, align 4 + br label %restart_flags + +if.end85: ; preds = %do.body77 + %56 = load i32, i32* %i, align 4 + %57 = load i32, i32* %i, align 4 + %add86 = add nsw i32 %57, %56 + store i32 %add86, i32* %i, align 4 + %58 = load i8*, i8** %p, align 8 + %59 = load i8, i8* %58, align 1 + %tobool88 = icmp ne i8 %59, 0 + br i1 %tobool88, label %do.body77, label %do.end89 + +do.end89: ; preds = %if.end85 + store i32 0, i32* %i, align 4 + %60 = load i32, i32* %flags, align 4 + %and90 = and i32 %60, 10 + %shr = ashr i32 %and90, 1 + %neg = xor i32 %shr, -1 + %61 = load i32, i32* %flags, align 4 + %and91 = and i32 %61, %neg + store i32 %and91, i32* %flags, align 4 + %62 = load i8*, i8** %fmt, align 8 + %arrayidx92 = getelementptr inbounds i8, i8* %62, i64 -1 + %63 = load i8, i8* %arrayidx92, align 1 + %conv93 = sext i8 %63 to i32 + %cmp94 = icmp ne i32 %conv93, 37 + br i1 %cmp94, label %width_precision, label %PREC_WIDTH + +PREC_WIDTH: ; preds = %while.end, %do.end89, %land.lhs.true70 + %64 = load i8*, i8** %p, align 8 + %65 = load i8, i8* %64, align 1 + %conv99 = sext i8 %65 to i32 + %cmp100 = icmp eq i32 %conv99, 42 + br i1 %cmp100, label %if.then102, label %if.end123 + +if.then102: ; preds = %PREC_WIDTH + %66 = load i32, i32* %maxposarg, align 4 + %tobool103 = icmp ne i32 %66, 0 + br i1 %tobool103, label %if.then104, label %if.else116 + +if.then104: ; preds = %if.then102 + %67 = load i8*, i8** %fmt, align 8 + %incdec.ptr105 = getelementptr inbounds i8, i8* %67, i32 1 + store i8* %incdec.ptr105, i8** %fmt, align 8 + %68 = load i8, i8* %67, align 1 + %conv106 = sext i8 %68 to i32 + %cmp107 = icmp ne i32 %conv106, 36 + %69 = load i32, i32* %i, align 4 + %cmp109 = icmp sle i32 %69, 0 + %or.cond1 = or i1 %cmp107, %cmp109 + br i1 %or.cond1, label %if.then111, label %if.end112 + +if.then111: ; preds = %if.then104 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end112: ; preds = %if.then104 + %70 = load i32, i32* %i, align 4 + %71 = load i32, i32* %dpoint, align 4 + %sub113 = sub nsw i32 0, %71 + %idxprom114 = sext i32 %sub113 to i64 + %arrayidx115 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 %idxprom114 + store i32 %70, i32* %arrayidx115, align 4 + br label %if.end122 + +if.else116: ; preds = %if.then102 + %72 = load i8*, i8** %p, align 8 + %incdec.ptr117 = getelementptr inbounds i8, i8* %72, i32 1 + store i8* %incdec.ptr117, i8** %p, align 8 + %73 = load i8*, i8** %fmt, align 8 + %cmp118 = icmp ne i8* %incdec.ptr117, %73 + br i1 %cmp118, label %if.then120, label %if.end122 + +if.then120: ; preds = %if.else116 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end122: ; preds = %if.else116, %if.end112 + store i32 -2147483648, i32* %i, align 4 + br label %if.end123 + +if.end123: ; preds = %if.end122, %PREC_WIDTH + %74 = load i32, i32* %dpoint, align 4 + %tobool124 = icmp ne i32 %74, 0 + %75 = load i32, i32* %i, align 4 + br i1 %tobool124, label %if.else132, label %if.then125 + +if.then125: ; preds = %if.end123 + store i32 %75, i32* %width, align 4 + %76 = load i8*, i8** %fmt, align 8 + %77 = load i8, i8* %76, align 1 + %conv126 = sext i8 %77 to i32 + %cmp127 = icmp eq i32 %conv126, 46 + br i1 %cmp127, label %if.then129, label %if.end133 + +if.then129: ; preds = %if.then125 + %78 = load i8*, i8** %fmt, align 8 + %incdec.ptr130 = getelementptr inbounds i8, i8* %78, i32 1 + store i8* %incdec.ptr130, i8** %fmt, align 8 + store i32 -1, i32* %dpoint, align 4 + br label %width_precision + +if.else132: ; preds = %if.end123 + store i32 %75, i32* %preci, align 4 + br label %if.end133 + +if.end133: ; preds = %if.then125, %if.else132 + store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @_ppfs_parsespec.qual_chars, i64 0, i64 0), i8** %p, align 8 + br label %do.body134 + +do.body134: ; preds = %do.cond142, %if.end133 + %79 = load i8*, i8** %fmt, align 8 + %80 = load i8, i8* %79, align 1 + %conv135 = sext i8 %80 to i32 + %81 = load i8*, i8** %p, align 8 + %82 = load i8, i8* %81, align 1 + %conv136 = sext i8 %82 to i32 + %cmp137 = icmp eq i32 %conv135, %conv136 + br i1 %cmp137, label %if.then139, label %do.cond142 + +if.then139: ; preds = %do.body134 + %83 = load i8*, i8** %fmt, align 8 + %incdec.ptr140 = getelementptr inbounds i8, i8* %83, i32 1 + store i8* %incdec.ptr140, i8** %fmt, align 8 + br label %do.end145 + +do.cond142: ; preds = %do.body134 + %84 = load i8*, i8** %p, align 8 + %incdec.ptr143 = getelementptr inbounds i8, i8* %84, i32 1 + store i8* %incdec.ptr143, i8** %p, align 8 + %85 = load i8, i8* %incdec.ptr143, align 1 + %tobool144 = icmp ne i8 %85, 0 + br i1 %tobool144, label %do.body134, label %do.end145 + +do.end145: ; preds = %do.cond142, %if.then139 + %86 = load i8*, i8** %p, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %86 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, ptrtoint ([20 x i8]* @_ppfs_parsespec.qual_chars to i64) + %cmp146 = icmp slt i64 %sub.ptr.sub, 2 + br i1 %cmp146, label %land.lhs.true148, label %if.end156 + +land.lhs.true148: ; preds = %do.end145 + %87 = load i8*, i8** %fmt, align 8 + %88 = load i8, i8* %87, align 1 + %conv149 = sext i8 %88 to i32 + %89 = load i8*, i8** %p, align 8 + %90 = load i8, i8* %89, align 1 + %conv150 = sext i8 %90 to i32 + %cmp151 = icmp eq i32 %conv149, %conv150 + br i1 %cmp151, label %if.then153, label %if.end156 + +if.then153: ; preds = %land.lhs.true148 + %91 = load i8*, i8** %p, align 8 + %add.ptr154 = getelementptr inbounds i8, i8* %91, i64 9 + store i8* %add.ptr154, i8** %p, align 8 + %92 = load i8*, i8** %fmt, align 8 + %incdec.ptr155 = getelementptr inbounds i8, i8* %92, i32 1 + store i8* %incdec.ptr155, i8** %fmt, align 8 + br label %if.end156 + +if.end156: ; preds = %if.then153, %land.lhs.true148, %do.end145 + %93 = load i8*, i8** %p, align 8 + %arrayidx157 = getelementptr inbounds i8, i8* %93, i64 9 + %94 = load i8, i8* %arrayidx157, align 1 + %conv158 = sext i8 %94 to i32 + %shl = shl i32 %conv158, 8 + store i32 %shl, i32* %dataargtype, align 4 + %95 = load i8*, i8** %fmt, align 8 + %96 = load i8, i8* %95, align 1 + %tobool159 = icmp ne i8 %96, 0 + br i1 %tobool159, label %if.end161, label %if.then160 + +if.then160: ; preds = %if.end156 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end161: ; preds = %if.end156 + store i8* getelementptr inbounds ([21 x i8], [21 x i8]* @_ppfs_parsespec.spec_chars, i64 0, i64 0), i8** %p, align 8 + br label %do.body162 + +do.body162: ; preds = %do.cond199, %if.end161 + %97 = load i8*, i8** %fmt, align 8 + %98 = load i8, i8* %97, align 1 + %conv163 = sext i8 %98 to i32 + %99 = load i8*, i8** %p, align 8 + %100 = load i8, i8* %99, align 1 + %conv164 = sext i8 %100 to i32 + %cmp165 = icmp eq i32 %conv163, %conv164 + %101 = load i8*, i8** %p, align 8 + br i1 %cmp165, label %if.then167, label %do.cond199 + +if.then167: ; preds = %do.body162 + %sub.ptr.lhs.cast168 = ptrtoint i8* %101 to i64 + %sub.ptr.sub169 = sub i64 %sub.ptr.lhs.cast168, ptrtoint ([21 x i8]* @_ppfs_parsespec.spec_chars to i64) + %conv170 = trunc i64 %sub.ptr.sub169 to i32 + store i32 %conv170, i32* %p_m_spec_chars, align 4 + %102 = load i32, i32* %p_m_spec_chars, align 4 + %cmp171 = icmp sge i32 %102, 18 + br i1 %cmp171, label %land.lhs.true173, label %if.end178 + +land.lhs.true173: ; preds = %if.then167 + %103 = load i32, i32* %dataargtype, align 4 + %and174 = and i32 %103, 1024 + %tobool175 = icmp ne i32 %and174, 0 + br i1 %tobool175, label %if.then176, label %if.end178 + +if.then176: ; preds = %land.lhs.true173 + %104 = load i32, i32* %p_m_spec_chars, align 4 + %sub177 = sub nsw i32 %104, 2 + store i32 %sub177, i32* %p_m_spec_chars, align 4 + br label %if.end178 + +if.end178: ; preds = %if.then176, %land.lhs.true173, %if.then167 + %105 = load i32, i32* %p_m_spec_chars, align 4 + %106 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %106, i32 0, i32 4 + store i32 %105, i32* %conv_num, align 4 + store i8* getelementptr inbounds (i8, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @_ppfs_parsespec.spec_ranges, i64 0, i64 0), i64 -1), i8** %p, align 8 + br label %while.cond179 + +while.cond179: ; preds = %while.cond179, %if.end178 + %107 = load i32, i32* %p_m_spec_chars, align 4 + %108 = load i8*, i8** %p, align 8 + %incdec.ptr180 = getelementptr inbounds i8, i8* %108, i32 1 + store i8* %incdec.ptr180, i8** %p, align 8 + %109 = load i8, i8* %incdec.ptr180, align 1 + %conv181 = sext i8 %109 to i32 + %cmp182 = icmp sgt i32 %107, %conv181 + br i1 %cmp182, label %while.cond179, label %while.end185 + +while.end185: ; preds = %while.cond179 + %110 = load i8*, i8** %p, align 8 + %sub.ptr.lhs.cast186 = ptrtoint i8* %110 to i64 + %sub.ptr.sub187 = sub i64 %sub.ptr.lhs.cast186, ptrtoint ([9 x i8]* @_ppfs_parsespec.spec_ranges to i64) + %conv188 = trunc i64 %sub.ptr.sub187 to i32 + store i32 %conv188, i32* %i, align 4 + %111 = load i32, i32* %dataargtype, align 4 + %112 = load i32, i32* %i, align 4 + %idxprom189 = sext i32 %112 to i64 + %arrayidx190 = getelementptr inbounds [8 x i16], [8 x i16]* @_ppfs_parsespec.spec_or_mask, i64 0, i64 %idxprom189 + %113 = load i16, i16* %arrayidx190, align 2 + %conv191 = sext i16 %113 to i32 + %or192 = or i32 %111, %conv191 + %114 = load i32, i32* %i, align 4 + %idxprom193 = sext i32 %114 to i64 + %arrayidx194 = getelementptr inbounds [8 x i16], [8 x i16]* @_ppfs_parsespec.spec_and_mask, i64 0, i64 %idxprom193 + %115 = load i16, i16* %arrayidx194, align 2 + %conv195 = sext i16 %115 to i32 + %and196 = and i32 %or192, %conv195 + %arrayidx197 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 2 + store i32 %and196, i32* %arrayidx197, align 4 + store i8* getelementptr inbounds ([21 x i8], [21 x i8]* @_ppfs_parsespec.spec_chars, i64 0, i64 0), i8** %p, align 8 + br label %do.end202 + +do.cond199: ; preds = %do.body162 + %incdec.ptr200 = getelementptr inbounds i8, i8* %101, i32 1 + store i8* %incdec.ptr200, i8** %p, align 8 + %116 = load i8, i8* %incdec.ptr200, align 1 + %tobool201 = icmp ne i8 %116, 0 + br i1 %tobool201, label %do.body162, label %do.end202 + +do.end202: ; preds = %do.cond199, %while.end185 + %117 = load i8*, i8** %fmt, align 8 + %118 = load i8, i8* %117, align 1 + %conv203 = sext i8 %118 to i32 + %119 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info204 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %119, i32 0, i32 1 + %spec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info204, i32 0, i32 2 + store i32 %conv203, i32* %spec, align 8 + %120 = load i32, i32* %preci, align 4 + %121 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info205 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %121, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info205, i32 0, i32 0 + store i32 %120, i32* %prec, align 8 + %122 = load i32, i32* %width, align 4 + %123 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info206 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %123, i32 0, i32 1 + %width207 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info206, i32 0, i32 1 + store i32 %122, i32* %width207, align 4 + %124 = load i32, i32* %flags, align 4 + %and208 = and i32 %124, 4 + %tobool209 = icmp ne i32 %and208, 0 + %125 = zext i1 %tobool209 to i64 + %cond = select i1 %tobool209, i32 48, i32 32 + %126 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info210 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %126, i32 0, i32 1 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info210, i32 0, i32 4 + store i32 %cond, i32* %pad, align 8 + %127 = load i32, i32* %flags, align 4 + %and211 = and i32 %127, -5 + %128 = load i32, i32* %dataargtype, align 4 + %and212 = and i32 %128, 3840 + %or213 = or i32 %and211, %and212 + %129 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info214 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %129, i32 0, i32 1 + %_flags215 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info214, i32 0, i32 3 + store i32 %or213, i32* %_flags215, align 4 + %130 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %130, i32 0, i32 3 + store i32 1, i32* %num_data_args, align 8 + %131 = load i8*, i8** %p, align 8 + %132 = load i8, i8* %131, align 1 + %tobool216 = icmp ne i8 %132, 0 + br i1 %tobool216, label %if.end218, label %if.then217 + +if.then217: ; preds = %do.end202 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end218: ; preds = %do.end202 + %133 = load i32, i32* %maxposarg, align 4 + %cmp219 = icmp sgt i32 %133, 0 + br i1 %cmp219, label %if.then221, label %if.else265 + +if.then221: ; preds = %if.end218 + store i32 0, i32* %i, align 4 + br label %do.body222 + +do.body222: ; preds = %do.cond258, %if.then221 + %134 = load i32, i32* %i, align 4 + %cmp223 = icmp sle i32 %134, 2 + br i1 %cmp223, label %cond.true, label %cond.false + +cond.true: ; preds = %do.body222 + %135 = load i32, i32* %i, align 4 + %idxprom225 = sext i32 %135 to i64 + %arrayidx226 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 %idxprom225 + %136 = load i32, i32* %arrayidx226, align 4 + %conv227 = trunc i32 %136 to i8 + %137 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber228 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %137, i32 0, i32 5 + %138 = load i32, i32* %i, align 4 + %idxprom229 = sext i32 %138 to i64 + %arrayidx230 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber228, i64 0, i64 %idxprom229 + store i8 %conv227, i8* %arrayidx230, align 1 + %conv231 = zext i8 %conv227 to i32 + br label %cond.end + +cond.false: ; preds = %do.body222 + %arrayidx232 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 2 + %139 = load i32, i32* %arrayidx232, align 4 + %140 = load i32, i32* %i, align 4 + %sub233 = sub nsw i32 %140, 2 + %add234 = add nsw i32 %139, %sub233 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond235 = phi i32 [ %conv231, %cond.true ], [ %add234, %cond.false ] + store i32 %cond235, i32* %n, align 4 + %141 = load i32, i32* %n, align 4 + %142 = load i32, i32* %maxposarg, align 4 + %cmp236 = icmp sgt i32 %141, %142 + br i1 %cmp236, label %if.then238, label %if.end243 + +if.then238: ; preds = %cond.end + %143 = load i32, i32* %n, align 4 + store i32 %143, i32* %maxposarg, align 4 + %cmp239 = icmp sgt i32 %143, 9 + br i1 %cmp239, label %if.then241, label %if.end243 + +if.then241: ; preds = %if.then238 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end243: ; preds = %if.then238, %cond.end + %144 = load i32, i32* %n, align 4 + %dec = add nsw i32 %144, -1 + store i32 %dec, i32* %n, align 4 + %145 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype244 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %145, i32 0, i32 6 + %146 = load i32, i32* %n, align 4 + %idxprom245 = sext i32 %146 to i64 + %arrayidx246 = getelementptr inbounds [9 x i32], [9 x i32]* %argtype244, i64 0, i64 %idxprom245 + %147 = load i32, i32* %arrayidx246, align 4 + %148 = load i32, i32* %i, align 4 + %idxprom247 = sext i32 %148 to i64 + %arrayidx248 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 %idxprom247 + %149 = load i32, i32* %arrayidx248, align 4 + %call249 = call i32 @_is_equal_or_bigger_arg(i32 %147, i32 %149) #18 + %tobool250 = icmp ne i32 %call249, 0 + br i1 %tobool250, label %if.then251, label %do.cond258 + +if.then251: ; preds = %if.end243 + %150 = load i32, i32* %i, align 4 + %idxprom252 = sext i32 %150 to i64 + %arrayidx253 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 %idxprom252 + %151 = load i32, i32* %arrayidx253, align 4 + %152 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype254 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %152, i32 0, i32 6 + %153 = load i32, i32* %n, align 4 + %idxprom255 = sext i32 %153 to i64 + %arrayidx256 = getelementptr inbounds [9 x i32], [9 x i32]* %argtype254, i64 0, i64 %idxprom255 + store i32 %151, i32* %arrayidx256, align 4 + br label %do.cond258 + +do.cond258: ; preds = %if.end243, %if.then251 + %154 = load i32, i32* %i, align 4 + %inc259 = add nsw i32 %154, 1 + store i32 %inc259, i32* %i, align 4 + %155 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args260 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %155, i32 0, i32 3 + %156 = load i32, i32* %num_data_args260, align 8 + %add261 = add nsw i32 %156, 2 + %cmp262 = icmp slt i32 %inc259, %add261 + br i1 %cmp262, label %do.body222, label %if.end276 + +if.else265: ; preds = %if.end218 + %157 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber266 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %157, i32 0, i32 5 + %arrayidx267 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber266, i64 0, i64 2 + store i8 1, i8* %arrayidx267, align 2 + %158 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype268 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %158, i32 0, i32 6 + %arraydecay269 = getelementptr inbounds [9 x i32], [9 x i32]* %argtype268, i64 0, i64 0 + %159 = bitcast i32* %arraydecay269 to i8* + %arraydecay270 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 0 + %add.ptr271 = getelementptr inbounds i32, i32* %arraydecay270, i64 2 + %160 = bitcast i32* %add.ptr271 to i8* + %161 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args272 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %161, i32 0, i32 3 + %162 = load i32, i32* %num_data_args272, align 8 + %conv273 = sext i32 %162 to i64 + %mul274 = mul i64 %conv273, 4 + %call275 = call i8* @memcpy(i8* %159, i8* %160, i64 %mul274) #19 + br label %if.end276 + +if.end276: ; preds = %do.cond258, %if.else265 + %163 = load i32, i32* %maxposarg, align 4 + %164 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg277 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %164, i32 0, i32 2 + store i32 %163, i32* %maxposarg277, align 4 + %165 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info278 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %165, i32 0, i32 1 + %_flags279 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info278, i32 0, i32 3 + %166 = load i32, i32* %_flags279, align 4 + %and280 = and i32 %166, 128 + store i32 %and280, i32* %flags, align 4 + %cmp281 = icmp eq i32 %and280, 0 + br i1 %cmp281, label %if.then283, label %if.else286 + +if.then283: ; preds = %if.end276 + %167 = load i8*, i8** %fmt, align 8 + %incdec.ptr284 = getelementptr inbounds i8, i8* %167, i32 1 + store i8* %incdec.ptr284, i8** %fmt, align 8 + %168 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos285 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %168, i32 0, i32 0 + store i8* %incdec.ptr284, i8** %fmtpos285, align 8 + br label %if.end293 + +if.else286: ; preds = %if.end276 + %169 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos287 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %169, i32 0, i32 0 + %170 = load i8*, i8** %fmtpos287, align 8 + %171 = bitcast i8* %170 to i32* + %172 = load i8*, i8** %fmt, align 8 + %arraydecay288 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 0 + %sub.ptr.lhs.cast289 = ptrtoint i8* %172 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %arraydecay288 to i64 + %sub.ptr.sub290 = sub i64 %sub.ptr.lhs.cast289, %sub.ptr.rhs.cast + %add.ptr291 = getelementptr inbounds i32, i32* %171, i64 %sub.ptr.sub290 + %173 = bitcast i32* %add.ptr291 to i8* + %174 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos292 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %174, i32 0, i32 0 + store i8* %173, i8** %fmtpos292, align 8 + br label %if.end293 + +if.end293: ; preds = %if.else286, %if.then283 + %175 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args294 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %175, i32 0, i32 3 + %176 = load i32, i32* %num_data_args294, align 8 + %add295 = add nsw i32 %176, 2 + store i32 %add295, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end293, %if.then241, %if.then217, %if.then160, %if.then120, %if.then111, %if.then66, %if.then56, %if.then16 + %177 = load i32, i32* %retval, align 4 + ret i32 %177 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_is_equal_or_bigger_arg(i32 %curtype, i32 %newtype) #0 { +entry: + %retval = alloca i32, align 4 + %curtype.addr = alloca i32, align 4 + %newtype.addr = alloca i32, align 4 + store i32 %curtype, i32* %curtype.addr, align 4 + store i32 %newtype, i32* %newtype.addr, align 4 + %0 = load i32, i32* %newtype.addr, align 4 + %cmp = icmp eq i32 %0, 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %1 = load i32, i32* %curtype.addr, align 4 + %cmp1 = icmp eq i32 %1, 8 + br i1 %cmp1, label %if.then3, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %2 = load i32, i32* %curtype.addr, align 4 + %3 = load i32, i32* %newtype.addr, align 4 + %cmp2 = icmp eq i32 %2, %3 + br i1 %cmp2, label %if.then3, label %if.end4 + +if.then3: ; preds = %lor.lhs.false, %if.end + store i32 1, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %lor.lhs.false + %4 = load i32, i32* %curtype.addr, align 4 + %call = call i32 @_promoted_size(i32 %4) #18 + %5 = load i32, i32* %newtype.addr, align 4 + %call5 = call i32 @_promoted_size(i32 %5) #18 + %cmp6 = icmp sle i32 %call, %call5 + %conv = zext i1 %cmp6 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_promoted_size(i32 %argtype) #0 { +entry: + %argtype.addr = alloca i32, align 4 + %p = alloca i16*, align 8 + store i32 %argtype, i32* %argtype.addr, align 4 + store i16* getelementptr inbounds (i16, i16* getelementptr inbounds ([12 x i16], [12 x i16]* @type_codes, i64 0, i64 0), i64 12), i16** %p, align 8 + br label %do.body + +do.body: ; preds = %do.body, %entry + %0 = load i16*, i16** %p, align 8 + %incdec.ptr = getelementptr inbounds i16, i16* %0, i32 -1 + store i16* %incdec.ptr, i16** %p, align 8 + %1 = load i16, i16* %incdec.ptr, align 2 + %conv = sext i16 %1 to i32 + %2 = load i32, i32* %argtype.addr, align 4 + %cmp = icmp ne i32 %conv, %2 + %3 = load i16*, i16** %p, align 8 + %cmp2 = icmp ugt i16* %3, getelementptr inbounds ([12 x i16], [12 x i16]* @type_codes, i64 0, i64 0) + %or.cond = and i1 %cmp, %cmp2 + br i1 %or.cond, label %do.body, label %do.end + +do.end: ; preds = %do.body + %4 = load i16*, i16** %p, align 8 + %sub.ptr.lhs.cast = ptrtoint i16* %4 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, ptrtoint ([12 x i16]* @type_codes to i64) + %sub.ptr.div = sdiv exact i64 %sub.ptr.sub, 2 + %conv4 = trunc i64 %sub.ptr.div to i32 + %idxprom = sext i32 %conv4 to i64 + %arrayidx = getelementptr inbounds [12 x i8], [12 x i8]* @type_sizes, i64 0, i64 %idxprom + %5 = load i8, i8* %arrayidx, align 1 + %conv5 = zext i8 %5 to i32 + ret i32 %conv5 +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_ppfs_prepargs(%struct.ppfs_t.722* %ppfs, %struct.__va_list_tag.0* %arg) #0 { +entry: + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %arg.addr = alloca %struct.__va_list_tag.0*, align 8 + %i = alloca i32, align 4 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store %struct.__va_list_tag.0* %arg, %struct.__va_list_tag.0** %arg.addr, align 8 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg1 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %0, i32 0, i32 7 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg1, i64 0, i64 0 + %1 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %arg.addr, align 8 + %2 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + %3 = bitcast %struct.__va_list_tag.0* %1 to i8* + %vacopy.cast.dst = bitcast i8* %2 to i64* + %vacopy.cast.src = bitcast i8* %3 to i64* + %4 = load i64, i64* %vacopy.cast.src, align 8 + store volatile i64 %4, i64* %vacopy.cast.dst, align 8 + %5 = getelementptr i64, i64* %vacopy.cast.dst, i64 1 + %6 = getelementptr i64, i64* %vacopy.cast.src, i64 1 + %7 = load i64, i64* %6, align 8 + store i64 %7, i64* %5, align 8 + %8 = getelementptr i64, i64* %5, i64 1 + %9 = getelementptr i64, i64* %6, i64 1 + %10 = load i64, i64* %9, align 8 + store i64 %10, i64* %8, align 8 + %11 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %11, i32 0, i32 2 + %12 = load i32, i32* %maxposarg, align 4 + store i32 %12, i32* %i, align 4 + %cmp = icmp sgt i32 %12, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %13 = load i32, i32* %i, align 4 + %14 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %14, i32 0, i32 3 + store i32 %13, i32* %num_data_args, align 8 + %15 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg2 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %15, i32 0, i32 2 + store i32 0, i32* %maxposarg2, align 4 + %16 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %16, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 0 + store i32 0, i32* %prec, align 8 + %17 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info3 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %17, i32 0, i32 1 + %width = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info3, i32 0, i32 1 + store i32 0, i32* %width, align 4 + %18 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + call void @_ppfs_setargs(%struct.ppfs_t.722* %18) #18 + %19 = load i32, i32* %i, align 4 + %20 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg4 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %20, i32 0, i32 2 + store i32 %19, i32* %maxposarg4, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + ret void +} + +; Function Attrs: nounwind +declare void @llvm.va_copy(i8*, i8*) #11 + +; Function Attrs: noinline nounwind uwtable +define hidden void @_ppfs_setargs(%struct.ppfs_t.722* %ppfs) #0 { +entry: + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %p = alloca %union.anon.193*, align 8 + %i = alloca i32, align 4 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argvalue = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %0, i32 0, i32 8 + %arraydecay = getelementptr inbounds [9 x %union.anon.193], [9 x %union.anon.193]* %argvalue, i64 0, i64 0 + store %union.anon.193* %arraydecay, %union.anon.193** %p, align 8 + %1 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %1, i32 0, i32 2 + %2 = load i32, i32* %maxposarg, align 4 + %cmp = icmp eq i32 %2, 0 + %3 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %3, i32 0, i32 1 + %width = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 1 + %4 = load i32, i32* %width, align 4 + %cmp1 = icmp eq i32 %4, -2147483648 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + br i1 %cmp1, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + %5 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %5, i32 0, i32 7 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 8 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then2 + %6 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 3 + %reg_save_area = load i8*, i8** %6, align 8 + %7 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %8 = bitcast i8* %7 to i32* + %9 = add i32 %gp_offset, 8 + store i32 %9, i32* %gp_offset_p, align 8 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then2 + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %10 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %8, %vaarg.in_reg ], [ %10, %vaarg.in_mem ] + %11 = load i32, i32* %vaarg.addr, align 4 + %12 = load %union.anon.193*, %union.anon.193** %p, align 8 + %u = bitcast %union.anon.193* %12 to i32* + store i32 %11, i32* %u, align 8 + %13 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info4 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %13, i32 0, i32 1 + %width5 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info4, i32 0, i32 1 + store i32 %11, i32* %width5, align 4 + br label %if.end + +if.end: ; preds = %vaarg.end, %if.then + %14 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info6 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %14, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info6, i32 0, i32 0 + %15 = load i32, i32* %prec, align 8 + %cmp7 = icmp eq i32 %15, -2147483648 + br i1 %cmp7, label %if.then8, label %if.end25 + +if.then8: ; preds = %if.end + %16 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg9 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %16, i32 0, i32 7 + %arraydecay10 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg9, i64 0, i64 0 + %gp_offset_p11 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay10, i32 0, i32 0 + %gp_offset12 = load i32, i32* %gp_offset_p11, align 8 + %fits_in_gp13 = icmp ule i32 %gp_offset12, 40 + br i1 %fits_in_gp13, label %vaarg.in_reg14, label %vaarg.in_mem16 + +vaarg.in_reg14: ; preds = %if.then8 + %17 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay10, i32 0, i32 3 + %reg_save_area15 = load i8*, i8** %17, align 8 + %18 = getelementptr i8, i8* %reg_save_area15, i32 %gp_offset12 + %19 = bitcast i8* %18 to i32* + %20 = add i32 %gp_offset12, 8 + store i32 %20, i32* %gp_offset_p11, align 8 + br label %vaarg.end20 + +vaarg.in_mem16: ; preds = %if.then8 + %overflow_arg_area_p17 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay10, i32 0, i32 2 + %overflow_arg_area18 = load i8*, i8** %overflow_arg_area_p17, align 8 + %21 = bitcast i8* %overflow_arg_area18 to i32* + %overflow_arg_area.next19 = getelementptr i8, i8* %overflow_arg_area18, i32 8 + store i8* %overflow_arg_area.next19, i8** %overflow_arg_area_p17, align 8 + br label %vaarg.end20 + +vaarg.end20: ; preds = %vaarg.in_mem16, %vaarg.in_reg14 + %vaarg.addr21 = phi i32* [ %19, %vaarg.in_reg14 ], [ %21, %vaarg.in_mem16 ] + %22 = load i32, i32* %vaarg.addr21, align 4 + %23 = load %union.anon.193*, %union.anon.193** %p, align 8 + %u22 = bitcast %union.anon.193* %23 to i32* + store i32 %22, i32* %u22, align 8 + %24 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info23 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %24, i32 0, i32 1 + %prec24 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info23, i32 0, i32 0 + store i32 %22, i32* %prec24, align 8 + br label %if.end25 + +if.end25: ; preds = %vaarg.end20, %if.end + store i32 0, i32* %i, align 4 + br label %while.cond + +while.cond: ; preds = %NodeBlock, %sw.epilog, %if.end25 + %25 = load i32, i32* %i, align 4 + %26 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %26, i32 0, i32 3 + %27 = load i32, i32* %num_data_args, align 8 + %cmp26 = icmp slt i32 %25, %27 + br i1 %cmp26, label %while.body, label %if.end149 + +while.body: ; preds = %while.cond + %28 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %28, i32 0, i32 6 + %29 = load i32, i32* %i, align 4 + %inc = add nsw i32 %29, 1 + store i32 %inc, i32* %i, align 4 + %idxprom = sext i32 %29 to i64 + %arrayidx = getelementptr inbounds [9 x i32], [9 x i32]* %argtype, i64 0, i64 %idxprom + %30 = load i32, i32* %arrayidx, align 4 + br label %NodeBlock17 + +NodeBlock17: ; preds = %while.body + %case.cmp18 = icmp eq i32 %30, 2048 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %30, 1024 + br i1 %case.cmp16, label %sw.bb40, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %30, 1 + br i1 %case.cmp14, label %sw.bb54, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %30, 256 + br i1 %case.cmp12, label %sw.bb54, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %30, 512 + br i1 %case.cmp10, label %sw.bb54, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %30, 0 + br i1 %case.cmp8, label %sw.bb54, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %30, 2 + br i1 %case.cmp6, label %sw.bb69, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %30, 7 + br i1 %case.cmp4, label %sw.bb83, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %30, 2055 + br i1 %case.cmp2, label %sw.bb94, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %30, 8 + br i1 %case.cmp, label %while.cond, label %newDefault + +sw.bb: ; preds = %NodeBlock17 + %31 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg27 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %31, i32 0, i32 7 + %arraydecay28 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg27, i64 0, i64 0 + %gp_offset_p29 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay28, i32 0, i32 0 + %gp_offset30 = load i32, i32* %gp_offset_p29, align 8 + %fits_in_gp31 = icmp ule i32 %gp_offset30, 40 + br i1 %fits_in_gp31, label %vaarg.in_reg32, label %vaarg.in_mem34 + +vaarg.in_reg32: ; preds = %sw.bb + %32 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay28, i32 0, i32 3 + %reg_save_area33 = load i8*, i8** %32, align 8 + %33 = getelementptr i8, i8* %reg_save_area33, i32 %gp_offset30 + %34 = bitcast i8* %33 to i64* + %35 = add i32 %gp_offset30, 8 + store i32 %35, i32* %gp_offset_p29, align 8 + br label %vaarg.end38 + +vaarg.in_mem34: ; preds = %sw.bb + %overflow_arg_area_p35 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay28, i32 0, i32 2 + %overflow_arg_area36 = load i8*, i8** %overflow_arg_area_p35, align 8 + %36 = bitcast i8* %overflow_arg_area36 to i64* + %overflow_arg_area.next37 = getelementptr i8, i8* %overflow_arg_area36, i32 8 + store i8* %overflow_arg_area.next37, i8** %overflow_arg_area_p35, align 8 + br label %vaarg.end38 + +vaarg.end38: ; preds = %vaarg.in_mem34, %vaarg.in_reg32 + %vaarg.addr39 = phi i64* [ %34, %vaarg.in_reg32 ], [ %36, %vaarg.in_mem34 ] + %37 = load i64, i64* %vaarg.addr39, align 8 + %38 = load %union.anon.193*, %union.anon.193** %p, align 8 + %ull = bitcast %union.anon.193* %38 to i64* + store i64 %37, i64* %ull, align 8 + br label %sw.epilog + +sw.bb40: ; preds = %NodeBlock15 + %39 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg41 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %39, i32 0, i32 7 + %arraydecay42 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg41, i64 0, i64 0 + %gp_offset_p43 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay42, i32 0, i32 0 + %gp_offset44 = load i32, i32* %gp_offset_p43, align 8 + %fits_in_gp45 = icmp ule i32 %gp_offset44, 40 + br i1 %fits_in_gp45, label %vaarg.in_reg46, label %vaarg.in_mem48 + +vaarg.in_reg46: ; preds = %sw.bb40 + %40 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay42, i32 0, i32 3 + %reg_save_area47 = load i8*, i8** %40, align 8 + %41 = getelementptr i8, i8* %reg_save_area47, i32 %gp_offset44 + %42 = bitcast i8* %41 to i64* + %43 = add i32 %gp_offset44, 8 + store i32 %43, i32* %gp_offset_p43, align 8 + br label %vaarg.end52 + +vaarg.in_mem48: ; preds = %sw.bb40 + %overflow_arg_area_p49 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay42, i32 0, i32 2 + %overflow_arg_area50 = load i8*, i8** %overflow_arg_area_p49, align 8 + %44 = bitcast i8* %overflow_arg_area50 to i64* + %overflow_arg_area.next51 = getelementptr i8, i8* %overflow_arg_area50, i32 8 + store i8* %overflow_arg_area.next51, i8** %overflow_arg_area_p49, align 8 + br label %vaarg.end52 + +vaarg.end52: ; preds = %vaarg.in_mem48, %vaarg.in_reg46 + %vaarg.addr53 = phi i64* [ %42, %vaarg.in_reg46 ], [ %44, %vaarg.in_mem48 ] + %45 = load i64, i64* %vaarg.addr53, align 8 + %46 = load %union.anon.193*, %union.anon.193** %p, align 8 + %ul = bitcast %union.anon.193* %46 to i64* + store i64 %45, i64* %ul, align 8 + br label %sw.epilog + +sw.bb54: ; preds = %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7 + %47 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg55 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %47, i32 0, i32 7 + %arraydecay56 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg55, i64 0, i64 0 + %gp_offset_p57 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay56, i32 0, i32 0 + %gp_offset58 = load i32, i32* %gp_offset_p57, align 8 + %fits_in_gp59 = icmp ule i32 %gp_offset58, 40 + br i1 %fits_in_gp59, label %vaarg.in_reg60, label %vaarg.in_mem62 + +vaarg.in_reg60: ; preds = %sw.bb54 + %48 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay56, i32 0, i32 3 + %reg_save_area61 = load i8*, i8** %48, align 8 + %49 = getelementptr i8, i8* %reg_save_area61, i32 %gp_offset58 + %50 = bitcast i8* %49 to i32* + %51 = add i32 %gp_offset58, 8 + store i32 %51, i32* %gp_offset_p57, align 8 + br label %vaarg.end66 + +vaarg.in_mem62: ; preds = %sw.bb54 + %overflow_arg_area_p63 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay56, i32 0, i32 2 + %overflow_arg_area64 = load i8*, i8** %overflow_arg_area_p63, align 8 + %52 = bitcast i8* %overflow_arg_area64 to i32* + %overflow_arg_area.next65 = getelementptr i8, i8* %overflow_arg_area64, i32 8 + store i8* %overflow_arg_area.next65, i8** %overflow_arg_area_p63, align 8 + br label %vaarg.end66 + +vaarg.end66: ; preds = %vaarg.in_mem62, %vaarg.in_reg60 + %vaarg.addr67 = phi i32* [ %50, %vaarg.in_reg60 ], [ %52, %vaarg.in_mem62 ] + %53 = load i32, i32* %vaarg.addr67, align 4 + %54 = load %union.anon.193*, %union.anon.193** %p, align 8 + %u68 = bitcast %union.anon.193* %54 to i32* + store i32 %53, i32* %u68, align 8 + br label %sw.epilog + +sw.bb69: ; preds = %NodeBlock5 + %55 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg70 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %55, i32 0, i32 7 + %arraydecay71 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg70, i64 0, i64 0 + %gp_offset_p72 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay71, i32 0, i32 0 + %gp_offset73 = load i32, i32* %gp_offset_p72, align 8 + %fits_in_gp74 = icmp ule i32 %gp_offset73, 40 + br i1 %fits_in_gp74, label %vaarg.in_reg75, label %vaarg.in_mem77 + +vaarg.in_reg75: ; preds = %sw.bb69 + %56 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay71, i32 0, i32 3 + %reg_save_area76 = load i8*, i8** %56, align 8 + %57 = getelementptr i8, i8* %reg_save_area76, i32 %gp_offset73 + %58 = bitcast i8* %57 to i32* + %59 = add i32 %gp_offset73, 8 + store i32 %59, i32* %gp_offset_p72, align 8 + br label %vaarg.end81 + +vaarg.in_mem77: ; preds = %sw.bb69 + %overflow_arg_area_p78 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay71, i32 0, i32 2 + %overflow_arg_area79 = load i8*, i8** %overflow_arg_area_p78, align 8 + %60 = bitcast i8* %overflow_arg_area79 to i32* + %overflow_arg_area.next80 = getelementptr i8, i8* %overflow_arg_area79, i32 8 + store i8* %overflow_arg_area.next80, i8** %overflow_arg_area_p78, align 8 + br label %vaarg.end81 + +vaarg.end81: ; preds = %vaarg.in_mem77, %vaarg.in_reg75 + %vaarg.addr82 = phi i32* [ %58, %vaarg.in_reg75 ], [ %60, %vaarg.in_mem77 ] + %61 = load i32, i32* %vaarg.addr82, align 4 + %62 = load %union.anon.193*, %union.anon.193** %p, align 8 + %wc = bitcast %union.anon.193* %62 to i32* + store i32 %61, i32* %wc, align 8 + br label %sw.epilog + +sw.bb83: ; preds = %NodeBlock3 + %63 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg84 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %63, i32 0, i32 7 + %arraydecay85 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg84, i64 0, i64 0 + %fp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay85, i32 0, i32 1 + %fp_offset = load i32, i32* %fp_offset_p, align 4 + %fits_in_fp = icmp ule i32 %fp_offset, 160 + br i1 %fits_in_fp, label %vaarg.in_reg86, label %vaarg.in_mem88 + +vaarg.in_reg86: ; preds = %sw.bb83 + %64 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay85, i32 0, i32 3 + %reg_save_area87 = load i8*, i8** %64, align 8 + %65 = getelementptr i8, i8* %reg_save_area87, i32 %fp_offset + %66 = bitcast i8* %65 to double* + %67 = add i32 %fp_offset, 16 + store i32 %67, i32* %fp_offset_p, align 4 + br label %vaarg.end92 + +vaarg.in_mem88: ; preds = %sw.bb83 + %overflow_arg_area_p89 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay85, i32 0, i32 2 + %overflow_arg_area90 = load i8*, i8** %overflow_arg_area_p89, align 8 + %68 = bitcast i8* %overflow_arg_area90 to double* + %overflow_arg_area.next91 = getelementptr i8, i8* %overflow_arg_area90, i32 8 + store i8* %overflow_arg_area.next91, i8** %overflow_arg_area_p89, align 8 + br label %vaarg.end92 + +vaarg.end92: ; preds = %vaarg.in_mem88, %vaarg.in_reg86 + %vaarg.addr93 = phi double* [ %66, %vaarg.in_reg86 ], [ %68, %vaarg.in_mem88 ] + %69 = load double, double* %vaarg.addr93, align 8 + %70 = load %union.anon.193*, %union.anon.193** %p, align 8 + %d = bitcast %union.anon.193* %70 to double* + store double %69, double* %d, align 8 + br label %sw.epilog + +sw.bb94: ; preds = %NodeBlock1 + %71 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg95 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %71, i32 0, i32 7 + %arraydecay96 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg95, i64 0, i64 0 + %fp_offset_p97 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay96, i32 0, i32 1 + %fp_offset98 = load i32, i32* %fp_offset_p97, align 4 + %fits_in_fp99 = icmp ule i32 %fp_offset98, 160 + br i1 %fits_in_fp99, label %vaarg.in_reg100, label %vaarg.in_mem102 + +vaarg.in_reg100: ; preds = %sw.bb94 + %72 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay96, i32 0, i32 3 + %reg_save_area101 = load i8*, i8** %72, align 8 + %73 = getelementptr i8, i8* %reg_save_area101, i32 %fp_offset98 + %74 = bitcast i8* %73 to double* + %75 = add i32 %fp_offset98, 16 + store i32 %75, i32* %fp_offset_p97, align 4 + br label %vaarg.end106 + +vaarg.in_mem102: ; preds = %sw.bb94 + %overflow_arg_area_p103 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay96, i32 0, i32 2 + %overflow_arg_area104 = load i8*, i8** %overflow_arg_area_p103, align 8 + %76 = bitcast i8* %overflow_arg_area104 to double* + %overflow_arg_area.next105 = getelementptr i8, i8* %overflow_arg_area104, i32 8 + store i8* %overflow_arg_area.next105, i8** %overflow_arg_area_p103, align 8 + br label %vaarg.end106 + +vaarg.end106: ; preds = %vaarg.in_mem102, %vaarg.in_reg100 + %vaarg.addr107 = phi double* [ %74, %vaarg.in_reg100 ], [ %76, %vaarg.in_mem102 ] + %77 = load double, double* %vaarg.addr107, align 8 + %78 = load %union.anon.193*, %union.anon.193** %p, align 8 + %ld = bitcast %union.anon.193* %78 to double* + store double %77, double* %ld, align 8 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.bb108 + +sw.bb108: ; preds = %newDefault + %79 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg109 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %79, i32 0, i32 7 + %arraydecay110 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg109, i64 0, i64 0 + %gp_offset_p111 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay110, i32 0, i32 0 + %gp_offset112 = load i32, i32* %gp_offset_p111, align 8 + %fits_in_gp113 = icmp ule i32 %gp_offset112, 40 + br i1 %fits_in_gp113, label %vaarg.in_reg114, label %vaarg.in_mem116 + +vaarg.in_reg114: ; preds = %sw.bb108 + %80 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay110, i32 0, i32 3 + %reg_save_area115 = load i8*, i8** %80, align 8 + %81 = getelementptr i8, i8* %reg_save_area115, i32 %gp_offset112 + %82 = bitcast i8* %81 to i8** + %83 = add i32 %gp_offset112, 8 + store i32 %83, i32* %gp_offset_p111, align 8 + br label %vaarg.end120 + +vaarg.in_mem116: ; preds = %sw.bb108 + %overflow_arg_area_p117 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay110, i32 0, i32 2 + %overflow_arg_area118 = load i8*, i8** %overflow_arg_area_p117, align 8 + %84 = bitcast i8* %overflow_arg_area118 to i8** + %overflow_arg_area.next119 = getelementptr i8, i8* %overflow_arg_area118, i32 8 + store i8* %overflow_arg_area.next119, i8** %overflow_arg_area_p117, align 8 + br label %vaarg.end120 + +vaarg.end120: ; preds = %vaarg.in_mem116, %vaarg.in_reg114 + %vaarg.addr121 = phi i8** [ %82, %vaarg.in_reg114 ], [ %84, %vaarg.in_mem116 ] + %85 = load i8*, i8** %vaarg.addr121, align 8 + %86 = load %union.anon.193*, %union.anon.193** %p, align 8 + %p122 = bitcast %union.anon.193* %86 to i8** + store i8* %85, i8** %p122, align 8 + br label %sw.epilog + +sw.epilog: ; preds = %vaarg.end120, %vaarg.end106, %vaarg.end92, %vaarg.end81, %vaarg.end66, %vaarg.end52, %vaarg.end38 + %87 = load %union.anon.193*, %union.anon.193** %p, align 8 + %incdec.ptr = getelementptr inbounds %union.anon.193, %union.anon.193* %87, i32 1 + store %union.anon.193* %incdec.ptr, %union.anon.193** %p, align 8 + br label %while.cond + +if.else: ; preds = %entry + br i1 %cmp1, label %if.then127, label %if.end133 + +if.then127: ; preds = %if.else + %88 = load %union.anon.193*, %union.anon.193** %p, align 8 + %89 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %89, i32 0, i32 5 + %arrayidx128 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber, i64 0, i64 0 + %90 = load i8, i8* %arrayidx128, align 8 + %conv = zext i8 %90 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds %union.anon.193, %union.anon.193* %88, i64 %idx.ext + %add.ptr129 = getelementptr inbounds %union.anon.193, %union.anon.193* %add.ptr, i64 -1 + %u130 = bitcast %union.anon.193* %add.ptr129 to i32* + %91 = load i32, i32* %u130, align 8 + %92 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info131 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %92, i32 0, i32 1 + %width132 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info131, i32 0, i32 1 + store i32 %91, i32* %width132, align 4 + br label %if.end133 + +if.end133: ; preds = %if.then127, %if.else + %93 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info134 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %93, i32 0, i32 1 + %prec135 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info134, i32 0, i32 0 + %94 = load i32, i32* %prec135, align 8 + %cmp136 = icmp eq i32 %94, -2147483648 + br i1 %cmp136, label %if.then138, label %if.end149 + +if.then138: ; preds = %if.end133 + %95 = load %union.anon.193*, %union.anon.193** %p, align 8 + %96 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber139 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %96, i32 0, i32 5 + %arrayidx140 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber139, i64 0, i64 1 + %97 = load i8, i8* %arrayidx140, align 1 + %conv141 = zext i8 %97 to i32 + %idx.ext142 = sext i32 %conv141 to i64 + %add.ptr143 = getelementptr inbounds %union.anon.193, %union.anon.193* %95, i64 %idx.ext142 + %add.ptr144 = getelementptr inbounds %union.anon.193, %union.anon.193* %add.ptr143, i64 -1 + %u145 = bitcast %union.anon.193* %add.ptr144 to i32* + %98 = load i32, i32* %u145, align 8 + %99 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info146 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %99, i32 0, i32 1 + %prec147 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info146, i32 0, i32 0 + store i32 %98, i32* %prec147, align 8 + br label %if.end149 + +if.end149: ; preds = %if.end133, %if.then138, %while.cond + %100 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info150 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %100, i32 0, i32 1 + %width151 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info150, i32 0, i32 1 + %101 = load i32, i32* %width151, align 4 + %cmp152 = icmp slt i32 %101, 0 + br i1 %cmp152, label %if.then154, label %if.end163 + +if.then154: ; preds = %if.end149 + %102 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info155 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %102, i32 0, i32 1 + %width156 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info155, i32 0, i32 1 + %103 = load i32, i32* %width156, align 4 + %sub = sub nsw i32 0, %103 + %104 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info157 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %104, i32 0, i32 1 + %width158 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info157, i32 0, i32 1 + store i32 %sub, i32* %width158, align 4 + %105 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info159 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %105, i32 0, i32 1 + %_flags = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info159, i32 0, i32 3 + %106 = load i32, i32* %_flags, align 4 + %or = or i32 %106, 8 + store i32 %or, i32* %_flags, align 4 + %107 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info160 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %107, i32 0, i32 1 + %_flags161 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info160, i32 0, i32 3 + %108 = load i32, i32* %_flags161, align 4 + %and = and i32 %108, -2 + store i32 %and, i32* %_flags161, align 4 + %109 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info162 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %109, i32 0, i32 1 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info162, i32 0, i32 4 + store i32 32, i32* %pad, align 8 + br label %if.end163 + +if.end163: ; preds = %if.then154, %if.end149 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_store_inttype(i8* %dest, i32 %desttype, i64 %val) #0 { +entry: + %dest.addr = alloca i8*, align 8 + %desttype.addr = alloca i32, align 4 + %val.addr = alloca i64, align 8 + store i8* %dest, i8** %dest.addr, align 8 + store i32 %desttype, i32* %desttype.addr, align 4 + store i64 %val, i64* %val.addr, align 8 + %0 = load i32, i32* %desttype.addr, align 4 + %cmp = icmp eq i32 %0, 256 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load i64, i64* %val.addr, align 8 + %conv = trunc i64 %1 to i8 + %2 = load i8*, i8** %dest.addr, align 8 + store i8 %conv, i8* %2, align 1 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* %desttype.addr, align 4 + %cmp1 = icmp eq i32 %3, 2048 + br i1 %cmp1, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.end + %4 = load i64, i64* %val.addr, align 8 + %5 = load i8*, i8** %dest.addr, align 8 + %6 = bitcast i8* %5 to i64* + store i64 %4, i64* %6, align 8 + br label %return + +if.end4: ; preds = %if.end + %7 = load i32, i32* %desttype.addr, align 4 + %cmp5 = icmp eq i32 %7, 512 + br i1 %cmp5, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end4 + %8 = load i64, i64* %val.addr, align 8 + %conv8 = trunc i64 %8 to i16 + %9 = load i8*, i8** %dest.addr, align 8 + %10 = bitcast i8* %9 to i16* + store i16 %conv8, i16* %10, align 2 + br label %return + +if.end9: ; preds = %if.end4 + %11 = load i32, i32* %desttype.addr, align 4 + %cmp10 = icmp eq i32 %11, 1024 + %12 = load i64, i64* %val.addr, align 8 + br i1 %cmp10, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.end9 + %13 = load i8*, i8** %dest.addr, align 8 + %14 = bitcast i8* %13 to i64* + store i64 %12, i64* %14, align 8 + br label %return + +if.end13: ; preds = %if.end9 + %conv14 = trunc i64 %12 to i32 + %15 = load i8*, i8** %dest.addr, align 8 + %16 = bitcast i8* %15 to i32* + store i32 %conv14, i32* %16, align 4 + br label %return + +return: ; preds = %if.end13, %if.then12, %if.then7, %if.then3, %if.then + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden i8* @_uintmaxtostr(i8* noalias %bufend, i64 %uval, i32 %base, i32 %alphacase) #0 { +entry: + %bufend.addr = alloca i8*, align 8 + %uval.addr = alloca i64, align 8 + %base.addr = alloca i32, align 4 + %alphacase.addr = alloca i32, align 4 + %negative = alloca i32, align 4 + %digit = alloca i32, align 4 + %H = alloca i32, align 4 + %L = alloca i32, align 4 + %high = alloca i32, align 4 + %low = alloca i32, align 4 + %rh = alloca i32, align 4 + %grouping = alloca i32, align 4 + %outdigit = alloca i32, align 4 + %g = alloca i8*, align 8 + store i8* %bufend, i8** %bufend.addr, align 8 + store i64 %uval, i64* %uval.addr, align 8 + store i32 %base, i32* %base.addr, align 4 + store i32 %alphacase, i32* %alphacase.addr, align 4 + store i32 0, i32* %negative, align 4 + %0 = load i32, i32* %base.addr, align 4 + %cmp = icmp slt i32 %0, 0 + br i1 %cmp, label %if.then, label %if.end4 + +if.then: ; preds = %entry + %1 = load i32, i32* %base.addr, align 4 + %sub = sub nsw i32 0, %1 + store i32 %sub, i32* %base.addr, align 4 + %2 = load i64, i64* %uval.addr, align 8 + %cmp1 = icmp ugt i64 %2, 9223372036854775807 + br i1 %cmp1, label %if.then2, label %if.end4 + +if.then2: ; preds = %if.then + %3 = load i64, i64* %uval.addr, align 8 + %sub3 = sub i64 0, %3 + store i64 %sub3, i64* %uval.addr, align 8 + store i32 1, i32* %negative, align 4 + br label %if.end4 + +if.end4: ; preds = %if.then, %if.then2, %entry + store i32 -1, i32* %grouping, align 4 + %4 = load i32, i32* %alphacase.addr, align 4 + %and = and i32 128, %4 + store i32 %and, i32* %outdigit, align 4 + %5 = load i32, i32* %outdigit, align 4 + %6 = load i32, i32* %alphacase.addr, align 4 + %xor = xor i32 %6, %5 + store i32 %xor, i32* %alphacase.addr, align 4 + %7 = load i32, i32* %alphacase.addr, align 4 + %cmp5 = icmp eq i32 %7, 44 + br i1 %cmp5, label %if.then6, label %if.end10 + +if.then6: ; preds = %if.end4 + %8 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %grouping7 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %8, i32 0, i32 41 + %9 = load i8*, i8** %grouping7, align 8 + store i8* %9, i8** %g, align 8 + %10 = load i8, i8* %9, align 1 + %tobool = icmp ne i8 %10, 0 + br i1 %tobool, label %if.then8, label %if.end10 + +if.then8: ; preds = %if.then6 + %11 = load i8*, i8** %g, align 8 + %12 = load i8, i8* %11, align 1 + %conv = sext i8 %12 to i32 + store i32 %conv, i32* %grouping, align 4 + br label %if.end10 + +if.end10: ; preds = %if.then6, %if.then8, %if.end4 + %13 = load i8*, i8** %bufend.addr, align 8 + store i8 0, i8* %13, align 1 + %14 = load i32, i32* %base.addr, align 4 + %div = udiv i32 -1, %14 + store i32 %div, i32* %H, align 4 + %15 = load i32, i32* %base.addr, align 4 + %rem = urem i32 -1, %15 + %add = add i32 %rem, 1 + store i32 %add, i32* %L, align 4 + %16 = load i32, i32* %L, align 4 + %17 = load i32, i32* %base.addr, align 4 + %cmp11 = icmp eq i32 %16, %17 + br i1 %cmp11, label %if.then13, label %if.end14 + +if.then13: ; preds = %if.end10 + %18 = load i32, i32* %H, align 4 + %inc = add i32 %18, 1 + store i32 %inc, i32* %H, align 4 + store i32 0, i32* %L, align 4 + br label %if.end14 + +if.end14: ; preds = %if.then13, %if.end10 + %19 = load i64, i64* %uval.addr, align 8 + %conv15 = trunc i64 %19 to i32 + store i32 %conv15, i32* %low, align 4 + %20 = load i64, i64* %uval.addr, align 8 + %shr = lshr i64 %20, 32 + %conv16 = trunc i64 %shr to i32 + store i32 %conv16, i32* %high, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %if.end14 + %21 = load i32, i32* %grouping, align 4 + %tobool17 = icmp ne i32 %21, 0 + br i1 %tobool17, label %if.end27, label %if.then18 + +if.then18: ; preds = %do.body + %22 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %thousands_sep_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %22, i32 0, i32 27 + %23 = load i32, i32* %thousands_sep_len, align 4 + %24 = load i8*, i8** %bufend.addr, align 8 + %idx.ext = sext i32 %23 to i64 + %idx.neg = sub i64 0, %idx.ext + %add.ptr = getelementptr inbounds i8, i8* %24, i64 %idx.neg + store i8* %add.ptr, i8** %bufend.addr, align 8 + %25 = load i8*, i8** %bufend.addr, align 8 + %26 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %thousands_sep = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %26, i32 0, i32 40 + %27 = load i8*, i8** %thousands_sep, align 8 + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %thousands_sep_len19 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %28, i32 0, i32 27 + %29 = load i32, i32* %thousands_sep_len19, align 4 + %conv20 = sext i32 %29 to i64 + %call = call i8* @memcpy(i8* %25, i8* %27, i64 %conv20) #19 + %30 = load i8*, i8** %g, align 8 + %arrayidx = getelementptr inbounds i8, i8* %30, i64 1 + %31 = load i8, i8* %arrayidx, align 1 + %conv21 = sext i8 %31 to i32 + %cmp22 = icmp ne i32 %conv21, 0 + br i1 %cmp22, label %if.then24, label %if.end25 + +if.then24: ; preds = %if.then18 + %32 = load i8*, i8** %g, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %32, i32 1 + store i8* %incdec.ptr, i8** %g, align 8 + br label %if.end25 + +if.end25: ; preds = %if.then24, %if.then18 + %33 = load i8*, i8** %g, align 8 + %34 = load i8, i8* %33, align 1 + %conv26 = sext i8 %34 to i32 + store i32 %conv26, i32* %grouping, align 4 + br label %if.end27 + +if.end27: ; preds = %if.end25, %do.body + %35 = load i32, i32* %grouping, align 4 + %dec = add nsw i32 %35, -1 + store i32 %dec, i32* %grouping, align 4 + %36 = load i32, i32* %high, align 4 + %tobool28 = icmp ne i32 %36, 0 + %lnot = xor i1 %tobool28, true + %lnot29 = xor i1 %lnot, true + %lnot.ext = zext i1 %lnot29 to i32 + %conv30 = sext i32 %lnot.ext to i64 + %tobool31 = icmp ne i64 %conv30, 0 + br i1 %tobool31, label %if.then32, label %if.else + +if.then32: ; preds = %if.end27 + %37 = load i32, i32* %high, align 4 + %38 = load i32, i32* %base.addr, align 4 + %rem33 = urem i32 %37, %38 + store i32 %rem33, i32* %rh, align 4 + %39 = load i32, i32* %base.addr, align 4 + %40 = load i32, i32* %high, align 4 + %div34 = udiv i32 %40, %39 + store i32 %div34, i32* %high, align 4 + %41 = load i32, i32* %low, align 4 + %42 = load i32, i32* %base.addr, align 4 + %rem35 = urem i32 %41, %42 + %43 = load i32, i32* %L, align 4 + %44 = load i32, i32* %rh, align 4 + %mul = mul i32 %43, %44 + %add36 = add i32 %rem35, %mul + store i32 %add36, i32* %digit, align 4 + %45 = load i32, i32* %low, align 4 + %46 = load i32, i32* %base.addr, align 4 + %div37 = udiv i32 %45, %46 + %47 = load i32, i32* %H, align 4 + %48 = load i32, i32* %rh, align 4 + %mul38 = mul i32 %47, %48 + %add39 = add i32 %div37, %mul38 + %49 = load i32, i32* %digit, align 4 + %50 = load i32, i32* %base.addr, align 4 + %div40 = udiv i32 %49, %50 + %add41 = add i32 %add39, %div40 + store i32 %add41, i32* %low, align 4 + %51 = load i32, i32* %base.addr, align 4 + %52 = load i32, i32* %digit, align 4 + %rem42 = urem i32 %52, %51 + store i32 %rem42, i32* %digit, align 4 + br label %if.end45 + +if.else: ; preds = %if.end27 + %53 = load i32, i32* %low, align 4 + %54 = load i32, i32* %base.addr, align 4 + %rem43 = urem i32 %53, %54 + store i32 %rem43, i32* %digit, align 4 + %55 = load i32, i32* %base.addr, align 4 + %56 = load i32, i32* %low, align 4 + %div44 = udiv i32 %56, %55 + store i32 %div44, i32* %low, align 4 + br label %if.end45 + +if.end45: ; preds = %if.else, %if.then32 + %57 = load i32, i32* %outdigit, align 4 + %tobool46 = icmp ne i32 %57, 0 + %lnot47 = xor i1 %tobool46, true + %lnot49 = xor i1 %lnot47, true + %lnot.ext50 = zext i1 %lnot49 to i32 + %conv51 = sext i32 %lnot.ext50 to i64 + %tobool52 = icmp ne i64 %conv51, 0 + br i1 %tobool52, label %if.then53, label %if.else66 + +if.then53: ; preds = %if.end45 + %58 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %outdigit_length = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %58, i32 0, i32 11 + %59 = load i32, i32* %digit, align 4 + %idxprom = zext i32 %59 to i64 + %arrayidx54 = getelementptr inbounds [10 x i8], [10 x i8]* %outdigit_length, i64 0, i64 %idxprom + %60 = load i8, i8* %arrayidx54, align 1 + %conv55 = zext i8 %60 to i32 + %61 = load i8*, i8** %bufend.addr, align 8 + %idx.ext56 = sext i32 %conv55 to i64 + %idx.neg57 = sub i64 0, %idx.ext56 + %add.ptr58 = getelementptr inbounds i8, i8* %61, i64 %idx.neg57 + store i8* %add.ptr58, i8** %bufend.addr, align 8 + %62 = load i8*, i8** %bufend.addr, align 8 + %63 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %outdigit0_mb = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %63, i32 0, i32 28 + %64 = load i32, i32* %digit, align 4 + %idxprom59 = zext i32 %64 to i64 + %arrayidx60 = getelementptr inbounds i8*, i8** %outdigit0_mb, i64 %idxprom59 + %65 = load i8*, i8** %arrayidx60, align 8 + %66 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %outdigit_length61 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %66, i32 0, i32 11 + %67 = load i32, i32* %digit, align 4 + %idxprom62 = zext i32 %67 to i64 + %arrayidx63 = getelementptr inbounds [10 x i8], [10 x i8]* %outdigit_length61, i64 0, i64 %idxprom62 + %68 = load i8, i8* %arrayidx63, align 1 + %conv64 = zext i8 %68 to i64 + %call65 = call i8* @memcpy(i8* %62, i8* %65, i64 %conv64) #19 + br label %do.cond + +if.else66: ; preds = %if.end45 + %69 = load i32, i32* %digit, align 4 + %cmp67 = icmp ult i32 %69, 10 + %70 = load i32, i32* %digit, align 4 + %add69 = add i32 %70, 48 + %71 = load i32, i32* %alphacase.addr, align 4 + %add70 = add i32 %70, %71 + %cond = select i1 %cmp67, i32 %add69, i32 %add70 + %conv71 = trunc i32 %cond to i8 + %72 = load i8*, i8** %bufend.addr, align 8 + %incdec.ptr72 = getelementptr inbounds i8, i8* %72, i32 -1 + store i8* %incdec.ptr72, i8** %bufend.addr, align 8 + store i8 %conv71, i8* %incdec.ptr72, align 1 + br label %do.cond + +do.cond: ; preds = %if.then53, %if.else66 + %73 = load i32, i32* %low, align 4 + %74 = load i32, i32* %high, align 4 + %or = or i32 %73, %74 + %tobool74 = icmp ne i32 %or, 0 + br i1 %tobool74, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %75 = load i32, i32* %negative, align 4 + %tobool75 = icmp ne i32 %75, 0 + br i1 %tobool75, label %if.then76, label %if.end78 + +if.then76: ; preds = %do.end + %76 = load i8*, i8** %bufend.addr, align 8 + %incdec.ptr77 = getelementptr inbounds i8, i8* %76, i32 -1 + store i8* %incdec.ptr77, i8** %bufend.addr, align 8 + store i8 45, i8* %incdec.ptr77, align 1 + br label %if.end78 + +if.end78: ; preds = %if.then76, %do.end + %77 = load i8*, i8** %bufend.addr, align 8 + ret i8* %77 +} + +; Function Attrs: noinline nounwind uwtable +define hidden %struct.exit_function* @__new_exitfn() #0 { +entry: + %efp = alloca %struct.exit_function*, align 8 + %0 = load i32, i32* @__exit_slots, align 4 + %1 = load i32, i32* @__exit_count, align 4 + %add = add nsw i32 %1, 1 + %cmp = icmp slt i32 %0, %add + br i1 %cmp, label %if.then, label %if.end6 + +if.then: ; preds = %entry + %2 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + %3 = bitcast %struct.exit_function* %2 to i8* + %4 = load i32, i32* @__exit_slots, align 4 + %add1 = add nsw i32 %4, 20 + %conv = sext i32 %add1 to i64 + %mul = mul i64 %conv, 32 + %call = call noalias i8* @realloc(i8* %3, i64 %mul) #19 + %5 = bitcast i8* %call to %struct.exit_function* + store %struct.exit_function* %5, %struct.exit_function** %efp, align 8 + %6 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %cmp2 = icmp eq %struct.exit_function* %6, null + br i1 %cmp2, label %if.then4, label %if.end + +if.then4: ; preds = %if.then + store i32 12, i32* @errno, align 4 + br label %DONE + +if.end: ; preds = %if.then + %7 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + store %struct.exit_function* %7, %struct.exit_function** @__exit_function_table, align 8 + %8 = load i32, i32* @__exit_slots, align 4 + %add5 = add nsw i32 %8, 20 + store i32 %add5, i32* @__exit_slots, align 4 + br label %if.end6 + +if.end6: ; preds = %if.end, %entry + store void (i32)* @__exit_handler, void (i32)** @__exit_cleanup, align 8 + %9 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + %10 = load i32, i32* @__exit_count, align 4 + %inc = add nsw i32 %10, 1 + store i32 %inc, i32* @__exit_count, align 4 + %idxprom = sext i32 %10 to i64 + %arrayidx = getelementptr inbounds %struct.exit_function, %struct.exit_function* %9, i64 %idxprom + store %struct.exit_function* %arrayidx, %struct.exit_function** %efp, align 8 + %11 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %type = getelementptr inbounds %struct.exit_function, %struct.exit_function* %11, i32 0, i32 0 + store i64 1, i64* %type, align 8 + br label %DONE + +DONE: ; preds = %if.end6, %if.then4 + %12 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + ret %struct.exit_function* %12 +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @__exit_handler(i32 %status) #0 { +entry: + %status.addr = alloca i32, align 4 + %efp = alloca %struct.exit_function*, align 8 + store i32 %status, i32* %status.addr, align 4 + br label %while.cond + +while.cond: ; preds = %sw.epilog, %entry + %0 = load i32, i32* @__exit_count, align 4 + %tobool = icmp ne i32 %0, 0 + %1 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %2 = load i32, i32* @__exit_count, align 4 + %dec = add nsw i32 %2, -1 + store i32 %dec, i32* @__exit_count, align 4 + %idxprom = sext i32 %dec to i64 + %arrayidx = getelementptr inbounds %struct.exit_function, %struct.exit_function* %1, i64 %idxprom + store %struct.exit_function* %arrayidx, %struct.exit_function** %efp, align 8 + %3 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %type = getelementptr inbounds %struct.exit_function, %struct.exit_function* %3, i32 0, i32 0 + %4 = load i64, i64* %type, align 8 + br label %NodeBlock1 + +NodeBlock1: ; preds = %while.body + %case.cmp2 = icmp eq i64 %4, 2 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i64 %4, 3 + br i1 %case.cmp, label %sw.bb7, label %newDefault + +sw.bb: ; preds = %NodeBlock1 + %5 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs = getelementptr inbounds %struct.exit_function, %struct.exit_function* %5, i32 0, i32 1 + %on_exit = bitcast %union.anon.772* %funcs to %struct.anon.779* + %func = getelementptr inbounds %struct.anon.779, %struct.anon.779* %on_exit, i32 0, i32 0 + %6 = load void (i32, i8*)*, void (i32, i8*)** %func, align 8 + %tobool1 = icmp ne void (i32, i8*)* %6, null + br i1 %tobool1, label %if.then, label %sw.epilog + +if.then: ; preds = %sw.bb + %7 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs2 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %7, i32 0, i32 1 + %on_exit3 = bitcast %union.anon.772* %funcs2 to %struct.anon.779* + %func4 = getelementptr inbounds %struct.anon.779, %struct.anon.779* %on_exit3, i32 0, i32 0 + %8 = load void (i32, i8*)*, void (i32, i8*)** %func4, align 8 + %9 = load i32, i32* %status.addr, align 4 + %10 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs5 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %10, i32 0, i32 1 + %on_exit6 = bitcast %union.anon.772* %funcs5 to %struct.anon.779* + %arg = getelementptr inbounds %struct.anon.779, %struct.anon.779* %on_exit6, i32 0, i32 1 + %11 = load i8*, i8** %arg, align 8 + call void %8(i32 %9, i8* %11) #18 + br label %sw.epilog + +sw.bb7: ; preds = %NodeBlock + %12 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs8 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %12, i32 0, i32 1 + %cxa_atexit = bitcast %union.anon.772* %funcs8 to %struct.anon.0.771* + %func9 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit, i32 0, i32 0 + %13 = load void (i8*)*, void (i8*)** %func9, align 8 + %tobool10 = icmp ne void (i8*)* %13, null + br i1 %tobool10, label %if.then11, label %sw.epilog + +if.then11: ; preds = %sw.bb7 + %14 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs12 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %14, i32 0, i32 1 + %cxa_atexit13 = bitcast %union.anon.772* %funcs12 to %struct.anon.0.771* + %func14 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit13, i32 0, i32 0 + %15 = load void (i8*)*, void (i8*)** %func14, align 8 + %16 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs15 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %16, i32 0, i32 1 + %cxa_atexit16 = bitcast %union.anon.772* %funcs15 to %struct.anon.0.771* + %arg17 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit16, i32 0, i32 1 + %17 = load i8*, i8** %arg17, align 8 + call void %15(i8* %17) #18 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.epilog + +sw.epilog: ; preds = %newDefault, %sw.bb7, %if.then11, %sw.bb, %if.then + br label %while.cond + +while.end: ; preds = %while.cond + %tobool19 = icmp ne %struct.exit_function* %1, null + br i1 %tobool19, label %if.then20, label %if.end21 + +if.then20: ; preds = %while.end + %18 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + %19 = bitcast %struct.exit_function* %18 to i8* + call void @free(i8* %19) #19 + br label %if.end21 + +if.end21: ; preds = %if.then20, %while.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__xpg_strerror_r(i32 %errnum, i8* %strerrbuf, i64 %buflen) #0 { +entry: + %errnum.addr = alloca i32, align 4 + %strerrbuf.addr = alloca i8*, align 8 + %buflen.addr = alloca i64, align 8 + %s = alloca i8*, align 8 + %i = alloca i32, align 4 + %retval1 = alloca i32, align 4 + %buf = alloca [50 x i8], align 16 + store i32 %errnum, i32* %errnum.addr, align 4 + store i8* %strerrbuf, i8** %strerrbuf.addr, align 8 + store i64 %buflen, i64* %buflen.addr, align 8 + store i32 22, i32* %retval1, align 4 + %0 = load i32, i32* %errnum.addr, align 4 + store i32 %0, i32* %i, align 4 + %1 = load i32, i32* %i, align 4 + %cmp = icmp ult i32 %1, 125 + br i1 %cmp, label %if.then, label %if.end7 + +if.then: ; preds = %entry + store i8* getelementptr inbounds ([2906 x i8], [2906 x i8]* @_string_syserrmsgs, i64 0, i64 0), i8** %s, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.then + %2 = load i32, i32* %i, align 4 + %tobool = icmp ne i32 %2, 0 + %3 = load i8*, i8** %s, align 8 + %4 = load i8, i8* %3, align 1 + %tobool2 = icmp ne i8 %4, 0 + br i1 %tobool, label %for.body, label %for.end + +for.body: ; preds = %for.cond + br i1 %tobool2, label %for.inc, label %if.then3 + +if.then3: ; preds = %for.body + %5 = load i32, i32* %i, align 4 + %dec = add nsw i32 %5, -1 + store i32 %dec, i32* %i, align 4 + br label %for.inc + +for.inc: ; preds = %for.body, %if.then3 + %6 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + br i1 %tobool2, label %if.then5, label %if.end7 + +if.then5: ; preds = %for.end + store i32 0, i32* %retval1, align 4 + br label %GOT_MESG + +if.end7: ; preds = %for.end, %entry + %arraydecay = getelementptr inbounds [50 x i8], [50 x i8]* %buf, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 50 + %add.ptr8 = getelementptr inbounds i8, i8* %add.ptr, i64 -1 + %7 = load i32, i32* %errnum.addr, align 4 + %conv = sext i32 %7 to i64 + %call = call i8* @_uintmaxtostr(i8* %add.ptr8, i64 %conv, i32 -10, i32 0) #18 + %add.ptr9 = getelementptr inbounds i8, i8* %call, i64 -14 + store i8* %add.ptr9, i8** %s, align 8 + %8 = load i8*, i8** %s, align 8 + %call10 = call i8* @memcpy(i8* %8, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @__xpg_strerror_r.unknown, i64 0, i64 0), i64 14) #19 + br label %GOT_MESG + +GOT_MESG: ; preds = %if.end7, %if.then5 + %9 = load i8*, i8** %strerrbuf.addr, align 8 + %tobool11 = icmp ne i8* %9, null + br i1 %tobool11, label %if.end13, label %if.then12 + +if.then12: ; preds = %GOT_MESG + store i64 0, i64* %buflen.addr, align 8 + br label %if.end13 + +if.end13: ; preds = %if.then12, %GOT_MESG + %10 = load i8*, i8** %s, align 8 + %call14 = call i64 @strlen(i8* %10) #20 + %add = add i64 %call14, 1 + %conv15 = trunc i64 %add to i32 + store i32 %conv15, i32* %i, align 4 + %11 = load i32, i32* %i, align 4 + %conv16 = sext i32 %11 to i64 + %12 = load i64, i64* %buflen.addr, align 8 + %cmp17 = icmp ugt i64 %conv16, %12 + br i1 %cmp17, label %if.then19, label %if.end21 + +if.then19: ; preds = %if.end13 + %13 = load i64, i64* %buflen.addr, align 8 + %conv20 = trunc i64 %13 to i32 + store i32 %conv20, i32* %i, align 4 + store i32 34, i32* %retval1, align 4 + br label %if.end21 + +if.end21: ; preds = %if.then19, %if.end13 + %14 = load i32, i32* %i, align 4 + %tobool22 = icmp ne i32 %14, 0 + br i1 %tobool22, label %if.then23, label %if.end26 + +if.then23: ; preds = %if.end21 + %15 = load i8*, i8** %strerrbuf.addr, align 8 + %16 = load i8*, i8** %s, align 8 + %17 = load i32, i32* %i, align 4 + %conv24 = sext i32 %17 to i64 + %call25 = call i8* @memcpy(i8* %15, i8* %16, i64 %conv24) #19 + %18 = load i8*, i8** %strerrbuf.addr, align 8 + %19 = load i32, i32* %i, align 4 + %sub = sub nsw i32 %19, 1 + %idxprom = sext i32 %sub to i64 + %arrayidx = getelementptr inbounds i8, i8* %18, i64 %idxprom + store i8 0, i8* %arrayidx, align 1 + br label %if.end26 + +if.end26: ; preds = %if.then23, %if.end21 + %20 = load i32, i32* %retval1, align 4 + %tobool27 = icmp ne i32 %20, 0 + br i1 %tobool27, label %if.then28, label %if.end29 + +if.then28: ; preds = %if.end26 + %21 = load i32, i32* %retval1, align 4 + store i32 %21, i32* @errno, align 4 + br label %if.end29 + +if.end29: ; preds = %if.then28, %if.end26 + %22 = load i32, i32* %retval1, align 4 + ret i32 %22 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @memrchr(i8* nonnull %s, i32 %c, i64 %n) #14 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %n.addr = alloca i64, align 8 + %r = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i64, i64* %n.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %0, i64 %1 + store i8* %add.ptr, i8** %r, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %2 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load i8*, i8** %r, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 -1 + store i8* %incdec.ptr, i8** %r, align 8 + %4 = load i8, i8* %incdec.ptr, align 1 + %conv = zext i8 %4 to i32 + %5 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %5 to i8 + %conv2 = zext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + %6 = load i8*, i8** %r, align 8 + store i8* %6, i8** %retval, align 8 + br label %return + +if.end: ; preds = %while.body + %7 = load i64, i64* %n.addr, align 8 + %dec = add i64 %7, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then + %8 = load i8*, i8** %retval, align 8 + ret i8* %8 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @strtok_r(i8* noalias %s1, i8* noalias nonnull %s2, i8** noalias nonnull %next_start) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %next_start.addr = alloca i8**, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i8** %next_start, i8*** %next_start.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + %cmp = icmp ne i8* %0, null + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %1 = load i8**, i8*** %next_start.addr, align 8 + %2 = load i8*, i8** %1, align 8 + store i8* %2, i8** %s, align 8 + %cmp1 = icmp ne i8* %2, null + br i1 %cmp1, label %if.then, label %if.end7 + +if.then: ; preds = %lor.lhs.false, %entry + %3 = load i8*, i8** %s, align 8 + %4 = load i8*, i8** %s2.addr, align 8 + %call = call i64 @strspn(i8* %3, i8* %4) #20 + %5 = load i8*, i8** %s, align 8 + %add.ptr = getelementptr inbounds i8, i8* %5, i64 %call + store i8* %add.ptr, i8** %s, align 8 + %6 = load i8, i8* %add.ptr, align 1 + %tobool = icmp ne i8 %6, 0 + br i1 %tobool, label %if.then2, label %if.else + +if.then2: ; preds = %if.then + %7 = load i8*, i8** %s, align 8 + %8 = load i8*, i8** %s2.addr, align 8 + %call3 = call i8* @strpbrk(i8* %7, i8* %8) #20 + store i8* %call3, i8** %p, align 8 + %cmp4 = icmp ne i8* %call3, null + br i1 %cmp4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.then2 + %9 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + store i8 0, i8* %9, align 1 + br label %if.end6 + +if.else: ; preds = %if.then + store i8* null, i8** %s, align 8 + store i8* null, i8** %p, align 8 + br label %if.end6 + +if.end6: ; preds = %if.then2, %if.then5, %if.else + %10 = load i8*, i8** %p, align 8 + %11 = load i8**, i8*** %next_start.addr, align 8 + store i8* %10, i8** %11, align 8 + br label %if.end7 + +if.end7: ; preds = %if.end6, %lor.lhs.false + %12 = load i8*, i8** %s, align 8 + ret i8* %12 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @mbsrtowcs(i32* noalias %dst, i8** noalias %src, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %dst.addr = alloca i32*, align 8 + %src.addr = alloca i8**, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + store i32* %dst, i32** %dst.addr, align 8 + store i8** %src, i8*** %src.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load i32*, i32** %dst.addr, align 8 + %1 = load i8**, i8*** %src.addr, align 8 + %2 = load i64, i64* %len.addr, align 8 + %3 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %cmp = icmp ne %struct.__mbstate_t.512* %3, null + %4 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %cond = select i1 %cmp, %struct.__mbstate_t.512* %4, %struct.__mbstate_t.512* @mbsrtowcs.mbstate + %call = call i64 @mbsnrtowcs(i32* %0, i8** %1, i64 -1, i64 %2, %struct.__mbstate_t.512* %cond) #19 + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define i64 @wcsnrtombs(i8* noalias %dst, i32** noalias %src, i64 %NWC, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %retval = alloca i64, align 8 + %dst.addr = alloca i8*, align 8 + %src.addr = alloca i32**, align 8 + %NWC.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %s = alloca i32*, align 8 + %count = alloca i64, align 8 + %incr = alloca i32, align 4 + %buf = alloca [16 x i8], align 16 + %wc = alloca i32, align 4 + %u = alloca i32, align 4 + store i8* %dst, i8** %dst.addr, align 8 + store i32** %src, i32*** %src.addr, align 8 + store i64 %NWC, i64* %NWC.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 9 + %1 = load i8, i8* %encoding, align 8 + %conv = zext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load i8*, i8** %dst.addr, align 8 + %3 = load i64, i64* %len.addr, align 8 + %4 = load i32**, i32*** %src.addr, align 8 + %5 = load i64, i64* %NWC.addr, align 8 + %call = call i64 @_wchar_wcsntoutf8s(i8* %2, i64 %3, i32** %4, i64 %5) #18 + store i64 %call, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + store i32 1, i32* %incr, align 4 + %6 = load i8*, i8** %dst.addr, align 8 + %tobool = icmp ne i8* %6, null + br i1 %tobool, label %lor.lhs.false, label %if.then4 + +lor.lhs.false: ; preds = %if.end + %7 = load i8*, i8** %dst.addr, align 8 + %8 = load i32**, i32*** %src.addr, align 8 + %9 = bitcast i32** %8 to i8* + %cmp2 = icmp eq i8* %7, %9 + br i1 %cmp2, label %if.then4, label %if.end8 + +if.then4: ; preds = %lor.lhs.false, %if.end + %10 = load i8*, i8** %dst.addr, align 8 + %tobool5 = icmp ne i8* %10, null + br i1 %tobool5, label %if.end7, label %if.then6 + +if.then6: ; preds = %if.then4 + store i64 -1, i64* %len.addr, align 8 + br label %if.end7 + +if.end7: ; preds = %if.then6, %if.then4 + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay, i8** %dst.addr, align 8 + store i32 0, i32* %incr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end7, %lor.lhs.false + %11 = load i64, i64* %len.addr, align 8 + %12 = load i64, i64* %NWC.addr, align 8 + %cmp9 = icmp ugt i64 %11, %12 + br i1 %cmp9, label %if.then11, label %if.end12 + +if.then11: ; preds = %if.end8 + %13 = load i64, i64* %NWC.addr, align 8 + store i64 %13, i64* %len.addr, align 8 + br label %if.end12 + +if.end12: ; preds = %if.then11, %if.end8 + %14 = load i64, i64* %len.addr, align 8 + store i64 %14, i64* %count, align 8 + %15 = load i32**, i32*** %src.addr, align 8 + %16 = load i32*, i32** %15, align 8 + store i32* %16, i32** %s, align 8 + %17 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding13 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %17, i32 0, i32 9 + %18 = load i8, i8* %encoding13, align 8 + %conv14 = zext i8 %18 to i32 + %cmp15 = icmp eq i32 %conv14, 2 + br i1 %cmp15, label %while.cond, label %while.cond52 + +while.cond: ; preds = %if.end12, %if.end45 + %19 = load i64, i64* %count, align 8 + %tobool18 = icmp ne i64 %19, 0 + br i1 %tobool18, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %20 = load i32*, i32** %s, align 8 + %21 = load i32, i32* %20, align 4 + store i32 %21, i32* %wc, align 4 + %cmp19 = icmp ule i32 %21, 127 + br i1 %cmp19, label %if.then21, label %if.else + +if.then21: ; preds = %while.body + %22 = load i32, i32* %wc, align 4 + %conv22 = trunc i32 %22 to i8 + %23 = load i8*, i8** %dst.addr, align 8 + store i8 %conv22, i8* %23, align 1 + %tobool23 = icmp ne i8 %conv22, 0 + br i1 %tobool23, label %if.end45, label %if.then24 + +if.then24: ; preds = %if.then21 + store i32* null, i32** %s, align 8 + br label %while.end + +if.else: ; preds = %while.body + store i32 0, i32* %u, align 4 + %24 = load i32, i32* %wc, align 4 + %cmp26 = icmp ule i32 %24, 9727 + br i1 %cmp26, label %if.then28, label %if.end42 + +if.then28: ; preds = %if.else + %25 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %idx8wc2c = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %25, i32 0, i32 18 + %26 = load i8*, i8** %idx8wc2c, align 8 + %27 = load i32, i32* %wc, align 4 + %shr = lshr i32 %27, 8 + %idxprom = zext i32 %shr to i64 + %arrayidx = getelementptr inbounds i8, i8* %26, i64 %idxprom + %28 = load i8, i8* %arrayidx, align 1 + %conv29 = zext i8 %28 to i32 + store i32 %conv29, i32* %u, align 4 + %29 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %tbl8wc2c = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %29, i32 0, i32 19 + %30 = load i8*, i8** %tbl8wc2c, align 8 + %31 = load i32, i32* %u, align 4 + %shl = shl i32 %31, 4 + %32 = load i32, i32* %wc, align 4 + %shr30 = lshr i32 %32, 4 + %and = and i32 %shr30, 15 + %add = add i32 %shl, %and + %idxprom31 = zext i32 %add to i64 + %arrayidx32 = getelementptr inbounds i8, i8* %30, i64 %idxprom31 + %33 = load i8, i8* %arrayidx32, align 1 + %conv33 = zext i8 %33 to i32 + store i32 %conv33, i32* %u, align 4 + %34 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %tbl8wc2c34 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %34, i32 0, i32 19 + %35 = load i8*, i8** %tbl8wc2c34, align 8 + %36 = load i32, i32* %u, align 4 + %shl35 = shl i32 %36, 4 + %add36 = add i32 1072, %shl35 + %37 = load i32, i32* %wc, align 4 + %and37 = and i32 %37, 15 + %add38 = add i32 %add36, %and37 + %idxprom39 = zext i32 %add38 to i64 + %arrayidx40 = getelementptr inbounds i8, i8* %35, i64 %idxprom39 + %38 = load i8, i8* %arrayidx40, align 1 + %conv41 = zext i8 %38 to i32 + store i32 %conv41, i32* %u, align 4 + br label %if.end42 + +if.end42: ; preds = %if.then28, %if.else + %39 = load i32, i32* %u, align 4 + %tobool43 = icmp ne i32 %39, 0 + %40 = load i32, i32* %u, align 4 + %cond = select i1 %tobool43, i32 %40, i32 63 + %conv44 = trunc i32 %cond to i8 + %41 = load i8*, i8** %dst.addr, align 8 + store i8 %conv44, i8* %41, align 1 + br label %if.end45 + +if.end45: ; preds = %if.then21, %if.end42 + %42 = load i32*, i32** %s, align 8 + %incdec.ptr = getelementptr inbounds i32, i32* %42, i32 1 + store i32* %incdec.ptr, i32** %s, align 8 + %43 = load i32, i32* %incr, align 4 + %44 = load i8*, i8** %dst.addr, align 8 + %idx.ext = sext i32 %43 to i64 + %add.ptr = getelementptr inbounds i8, i8* %44, i64 %idx.ext + store i8* %add.ptr, i8** %dst.addr, align 8 + %45 = load i64, i64* %count, align 8 + %dec = add i64 %45, -1 + store i64 %dec, i64* %count, align 8 + br label %while.cond + +while.end: ; preds = %if.then24, %while.cond + %46 = load i8*, i8** %dst.addr, align 8 + %arraydecay46 = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + %cmp47 = icmp ne i8* %46, %arraydecay46 + br i1 %cmp47, label %if.then49, label %if.end50 + +if.then49: ; preds = %while.end + %47 = load i32*, i32** %s, align 8 + %48 = load i32**, i32*** %src.addr, align 8 + store i32* %47, i32** %48, align 8 + br label %if.end50 + +if.end50: ; preds = %if.then49, %while.end + %49 = load i64, i64* %len.addr, align 8 + %50 = load i64, i64* %count, align 8 + %sub = sub i64 %49, %50 + store i64 %sub, i64* %retval, align 8 + br label %return + +while.cond52: ; preds = %if.end12, %if.end64 + %51 = load i64, i64* %count, align 8 + %tobool53 = icmp ne i64 %51, 0 + br i1 %tobool53, label %while.body54, label %while.end69 + +while.body54: ; preds = %while.cond52 + %52 = load i32*, i32** %s, align 8 + %53 = load i32, i32* %52, align 4 + %cmp55 = icmp uge i32 %53, 128 + br i1 %cmp55, label %if.then57, label %if.end58 + +if.then57: ; preds = %while.body54 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end58: ; preds = %while.body54 + %54 = load i32*, i32** %s, align 8 + %55 = load i32, i32* %54, align 4 + %conv59 = trunc i32 %55 to i8 + %56 = load i8*, i8** %dst.addr, align 8 + store i8 %conv59, i8* %56, align 1 + %conv60 = sext i8 %conv59 to i32 + %cmp61 = icmp eq i32 %conv60, 0 + br i1 %cmp61, label %if.then63, label %if.end64 + +if.then63: ; preds = %if.end58 + store i32* null, i32** %s, align 8 + br label %while.end69 + +if.end64: ; preds = %if.end58 + %57 = load i32*, i32** %s, align 8 + %incdec.ptr65 = getelementptr inbounds i32, i32* %57, i32 1 + store i32* %incdec.ptr65, i32** %s, align 8 + %58 = load i32, i32* %incr, align 4 + %59 = load i8*, i8** %dst.addr, align 8 + %idx.ext66 = sext i32 %58 to i64 + %add.ptr67 = getelementptr inbounds i8, i8* %59, i64 %idx.ext66 + store i8* %add.ptr67, i8** %dst.addr, align 8 + %60 = load i64, i64* %count, align 8 + %dec68 = add i64 %60, -1 + store i64 %dec68, i64* %count, align 8 + br label %while.cond52 + +while.end69: ; preds = %if.then63, %while.cond52 + %61 = load i8*, i8** %dst.addr, align 8 + %arraydecay70 = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + %cmp71 = icmp ne i8* %61, %arraydecay70 + br i1 %cmp71, label %if.then73, label %if.end74 + +if.then73: ; preds = %while.end69 + %62 = load i32*, i32** %s, align 8 + %63 = load i32**, i32*** %src.addr, align 8 + store i32* %62, i32** %63, align 8 + br label %if.end74 + +if.end74: ; preds = %if.then73, %while.end69 + %64 = load i64, i64* %len.addr, align 8 + %65 = load i64, i64* %count, align 8 + %sub75 = sub i64 %64, %65 + store i64 %sub75, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end74, %if.then57, %if.end50, %if.then + %66 = load i64, i64* %retval, align 8 + ret i64 %66 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @strpbrk(i8* nonnull %s1, i8* nonnull %s2) #14 { +entry: + %retval = alloca i8*, align 8 + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc6, %entry + %1 = load i8*, i8** %s, align 8 + %2 = load i8, i8* %1, align 1 + %tobool = icmp ne i8 %2, 0 + br i1 %tobool, label %for.body, label %for.end8 + +for.body: ; preds = %for.cond + %3 = load i8*, i8** %s2.addr, align 8 + store i8* %3, i8** %p, align 8 + br label %for.cond1 + +for.cond1: ; preds = %for.inc, %for.body + %4 = load i8*, i8** %p, align 8 + %5 = load i8, i8* %4, align 1 + %tobool2 = icmp ne i8 %5, 0 + br i1 %tobool2, label %for.body3, label %for.inc6 + +for.body3: ; preds = %for.cond1 + %6 = load i8*, i8** %p, align 8 + %7 = load i8, i8* %6, align 1 + %conv = sext i8 %7 to i32 + %8 = load i8*, i8** %s, align 8 + %9 = load i8, i8* %8, align 1 + %conv4 = sext i8 %9 to i32 + %cmp = icmp eq i32 %conv, %conv4 + br i1 %cmp, label %if.then, label %for.inc + +if.then: ; preds = %for.body3 + %10 = load i8*, i8** %s, align 8 + store i8* %10, i8** %retval, align 8 + br label %return + +for.inc: ; preds = %for.body3 + %11 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %11, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + br label %for.cond1 + +for.inc6: ; preds = %for.cond1 + %12 = load i8*, i8** %s, align 8 + %incdec.ptr7 = getelementptr inbounds i8, i8* %12, i32 1 + store i8* %incdec.ptr7, i8** %s, align 8 + br label %for.cond + +for.end8: ; preds = %for.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %for.end8, %if.then + %13 = load i8*, i8** %retval, align 8 + ret i8* %13 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_wchar_wcsntoutf8s(i8* noalias %s, i64 %n, i32** noalias %src, i64 %wn) #0 { +entry: + %retval = alloca i64, align 8 + %s.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %src.addr = alloca i32**, align 8 + %wn.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + %len = alloca i64, align 8 + %t = alloca i64, align 8 + %wc = alloca i32, align 4 + %swc = alloca i32*, align 8 + %store = alloca i32, align 4 + %buf = alloca [16 x i8], align 16 + %m = alloca i8, align 1 + store i8* %s, i8** %s.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i32** %src, i32*** %src.addr, align 8 + store i64 %wn, i64* %wn.addr, align 8 + store i32 1, i32* %store, align 4 + %0 = load i8*, i8** %s.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %lor.lhs.false, label %if.then + +lor.lhs.false: ; preds = %entry + %1 = load i8*, i8** %s.addr, align 8 + %2 = load i32**, i32*** %src.addr, align 8 + %3 = bitcast i32** %2 to i8* + %cmp = icmp eq i8* %1, %3 + br i1 %cmp, label %if.then, label %if.end3 + +if.then: ; preds = %lor.lhs.false, %entry + %4 = load i8*, i8** %s.addr, align 8 + %tobool1 = icmp ne i8* %4, null + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + store i64 -1, i64* %n.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay, i8** %s.addr, align 8 + store i32 0, i32* %store, align 4 + br label %if.end3 + +if.end3: ; preds = %if.end, %lor.lhs.false + %5 = load i64, i64* %n.addr, align 8 + store i64 %5, i64* %t, align 8 + %6 = load i32**, i32*** %src.addr, align 8 + %7 = load i32*, i32** %6, align 8 + store i32* %7, i32** %swc, align 8 + br label %while.cond + +while.cond: ; preds = %if.end51, %if.end3 + %8 = load i64, i64* %wn.addr, align 8 + %tobool4 = icmp ne i64 %8, 0 + %9 = load i64, i64* %t, align 8 + %tobool5 = icmp ne i64 %9, 0 + %10 = select i1 %tobool4, i1 %tobool5, i1 false + br i1 %10, label %while.body, label %while.end52 + +while.body: ; preds = %while.cond + %11 = load i32*, i32** %swc, align 8 + %12 = load i32, i32* %11, align 4 + store i32 %12, i32* %wc, align 4 + %13 = load i32, i32* %wc, align 4 + %conv = trunc i32 %13 to i8 + %14 = load i8*, i8** %s.addr, align 8 + store i8 %conv, i8* %14, align 1 + store i64 1, i64* %len, align 8 + %15 = load i32, i32* %wc, align 4 + %cmp6 = icmp uge i32 %15, 128 + %16 = load i32, i32* %wc, align 4 + br i1 %cmp6, label %if.then8, label %if.else + +if.then8: ; preds = %while.body + %conv9 = zext i32 %16 to i64 + %cmp10 = icmp ugt i64 %conv9, 2147483647 + br i1 %cmp10, label %if.then19, label %lor.lhs.false12 + +lor.lhs.false12: ; preds = %if.then8 + %17 = load i32, i32* %wc, align 4 + %sub = sub i32 %17, 65534 + %cmp13 = icmp ult i32 %sub, 2 + br i1 %cmp13, label %if.then19, label %lor.lhs.false15 + +lor.lhs.false15: ; preds = %lor.lhs.false12 + %18 = load i32, i32* %wc, align 4 + %sub16 = sub i32 %18, 55296 + %cmp17 = icmp ult i32 %sub16, 2048 + br i1 %cmp17, label %if.then19, label %if.end20 + +if.then19: ; preds = %lor.lhs.false15, %lor.lhs.false12, %if.then8 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end20: ; preds = %lor.lhs.false15 + %19 = load i32, i32* %wc, align 4 + %shr = lshr i32 %19, 1 + store i32 %shr, i32* %wc, align 4 + %20 = load i8*, i8** %s.addr, align 8 + store i8* %20, i8** %p, align 8 + br label %do.body + +do.body: ; preds = %do.body, %if.end20 + %21 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %21, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %22 = load i32, i32* %wc, align 4 + %shr21 = lshr i32 %22, 5 + store i32 %shr21, i32* %wc, align 4 + %tobool22 = icmp ne i32 %shr21, 0 + br i1 %tobool22, label %do.body, label %do.end + +do.end: ; preds = %do.body + %23 = load i32*, i32** %swc, align 8 + %24 = load i32, i32* %23, align 4 + store i32 %24, i32* %wc, align 4 + %25 = load i8*, i8** %p, align 8 + %26 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %25 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %26 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %len, align 8 + %27 = load i64, i64* %t, align 8 + %cmp23 = icmp ugt i64 %sub.ptr.sub, %27 + br i1 %cmp23, label %while.end52, label %if.end26 + +if.end26: ; preds = %do.end + store i8 -128, i8* %m, align 1 + br label %while.cond27 + +while.cond27: ; preds = %while.body30, %if.end26 + %28 = load i8*, i8** %p, align 8 + %29 = load i8*, i8** %s.addr, align 8 + %cmp28 = icmp ugt i8* %28, %29 + %30 = load i8, i8* %m, align 1 + %conv31 = sext i8 %30 to i32 + br i1 %cmp28, label %while.body30, label %while.end + +while.body30: ; preds = %while.cond27 + %shr32 = ashr i32 %conv31, 1 + %or = or i32 %shr32, 128 + %conv33 = trunc i32 %or to i8 + store i8 %conv33, i8* %m, align 1 + %31 = load i32, i32* %wc, align 4 + %and = and i32 %31, 63 + %or34 = or i32 %and, 128 + %conv35 = trunc i32 %or34 to i8 + %32 = load i8*, i8** %p, align 8 + %incdec.ptr36 = getelementptr inbounds i8, i8* %32, i32 -1 + store i8* %incdec.ptr36, i8** %p, align 8 + store i8 %conv35, i8* %incdec.ptr36, align 1 + %33 = load i32, i32* %wc, align 4 + %shr37 = lshr i32 %33, 6 + store i32 %shr37, i32* %wc, align 4 + br label %while.cond27 + +while.end: ; preds = %while.cond27 + %shl = shl i32 %conv31, 1 + %34 = load i8*, i8** %s.addr, align 8 + %35 = load i8, i8* %34, align 1 + %conv39 = sext i8 %35 to i32 + %or40 = or i32 %conv39, %shl + %conv41 = trunc i32 %or40 to i8 + store i8 %conv41, i8* %34, align 1 + br label %if.end46 + +if.else: ; preds = %while.body + %cmp42 = icmp eq i32 %16, 0 + br i1 %cmp42, label %if.then44, label %if.end46 + +if.then44: ; preds = %if.else + store i32* null, i32** %swc, align 8 + br label %while.end52 + +if.end46: ; preds = %if.else, %while.end + %36 = load i32*, i32** %swc, align 8 + %incdec.ptr47 = getelementptr inbounds i32, i32* %36, i32 1 + store i32* %incdec.ptr47, i32** %swc, align 8 + %37 = load i64, i64* %wn.addr, align 8 + %dec = add i64 %37, -1 + store i64 %dec, i64* %wn.addr, align 8 + %38 = load i64, i64* %len, align 8 + %39 = load i64, i64* %t, align 8 + %sub48 = sub i64 %39, %38 + store i64 %sub48, i64* %t, align 8 + %40 = load i32, i32* %store, align 4 + %tobool49 = icmp ne i32 %40, 0 + br i1 %tobool49, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.end46 + %41 = load i64, i64* %len, align 8 + %42 = load i8*, i8** %s.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %42, i64 %41 + store i8* %add.ptr, i8** %s.addr, align 8 + br label %if.end51 + +if.end51: ; preds = %if.then50, %if.end46 + br label %while.cond + +while.end52: ; preds = %do.end, %if.then44, %while.cond + %43 = load i32, i32* %store, align 4 + %tobool53 = icmp ne i32 %43, 0 + br i1 %tobool53, label %if.then54, label %if.end55 + +if.then54: ; preds = %while.end52 + %44 = load i32*, i32** %swc, align 8 + %45 = load i32**, i32*** %src.addr, align 8 + store i32* %44, i32** %45, align 8 + br label %if.end55 + +if.end55: ; preds = %if.then54, %while.end52 + %46 = load i64, i64* %n.addr, align 8 + %47 = load i64, i64* %t, align 8 + %sub56 = sub i64 %46, %47 + store i64 %sub56, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end55, %if.then19 + %48 = load i64, i64* %retval, align 8 + ret i64 %48 +} + +attributes #0 = { noinline nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #1 = { noinline noreturn nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #2 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #3 = { noinline nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #4 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #5 = { "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #6 = { noinline noreturn nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #7 = { noreturn "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #8 = { argmemonly nounwind willreturn writeonly } +attributes #9 = { argmemonly nounwind willreturn } +attributes #10 = { noreturn nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #11 = { nounwind } +attributes #12 = { noinline nounwind readnone uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #13 = { noreturn "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #14 = { noinline nounwind readonly uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #15 = { noinline nounwind readonly uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #16 = { noinline nounwind returns_twice uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #17 = { "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #18 = { nobuiltin "no-builtins" } +attributes #19 = { nobuiltin nounwind "no-builtins" } +attributes #20 = { nobuiltin nounwind readonly "no-builtins" } +attributes #21 = { nobuiltin nounwind readnone "no-builtins" } +attributes #22 = { nobuiltin noreturn nounwind "no-builtins" } +attributes #23 = { nounwind readonly } +attributes #24 = { noreturn } +attributes #25 = { nounwind readnone } +attributes #26 = { noreturn nounwind } +attributes #27 = { nobuiltin noreturn "no-builtins" } + +!llvm.module.flags = !{!0, !1} +!llvm.ident = !{!2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2} + +!0 = !{i32 1, !"wchar_size", i32 4} +!1 = !{i32 7, !"PIC Level", i32 2} +!2 = !{!"clang version 11.1.0 (https://github.com/llvm/llvm-project.git 1fdec59bffc11ae37eb51a1b9869f0696bfd5312)"} diff --git a/benchmarks/coreutils/gensym_posix/dirname.ll b/benchmarks/coreutils/gensym_posix/dirname.ll new file mode 100644 index 000000000..b70a4c383 --- /dev/null +++ b/benchmarks/coreutils/gensym_posix/dirname.ll @@ -0,0 +1,30744 @@ +; ModuleID = '__uClibc_main.os' +source_filename = "libc/misc/internals/__uClibc_main.c" +target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" +target triple = "x86_64-unknown-linux-gnu" + +module asm ".section .gnu.warning.siggetmask" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.__fpending" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.gets" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.tmpnam" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.mktemp" +module asm "\09.previous" + +%struct.__uclibc_locale_struct.201 = type { i16*, i16*, i16*, [384 x i16], [384 x i16], [384 x i16], [14 x i8], [6 x i16], [6 x i8], i8, i8, [10 x i8], i8*, i8*, i8*, i8*, i8*, i16*, i8*, i8*, i16*, i8*, i8*, i16*, i32, i32, i32, i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__collate_t.200 } +%struct.__collate_t.200 = type { i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16*, i16*, i16*, i16*, i16*, i16*, i16*, i16*, i16*, i16 } +%struct.__STDIO_FILE_STRUCT.568 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.568*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__mbstate_t.512 = type { i32, i32 } +%struct.quoting_options = type { i32, i32, [8 x i32], i8*, i8* } +%struct.infomap = type { i8*, i8* } +%struct.option = type { i8*, i32, i32*, i32 } +%struct.slotvec = type { i64, i8* } +%struct.exe_file_t = type { i32, i32, i64, %struct.exe_disk_file_t* } +%struct.exe_disk_file_t = type { i32, i8*, %struct.stat64* } +%struct.stat64 = type { i64, i64, i64, i32, i32, i32, i32, i64, i64, i64, i64, %struct.timespec, %struct.timespec, %struct.timespec, [3 x i64] } +%struct.timespec = type { i64, i64 } +%struct.exe_file_system_t = type { i32, %struct.exe_disk_file_t*, %struct.exe_disk_file_t*, i32, %struct.exe_disk_file_t*, i32, i32*, i32*, i32*, i32*, i32*, i32*, i32* } +%struct.__locale_mmap_t.203 = type { [420 x i8], [504 x i8], [1760 x i16], [4528 x i8], [3604 x i8], [1680 x i8], [196 x i16], [51 x i8], [28 x i8], [1646 x i8], [28353 x i8], [1804 x i8], [23 x %struct.__codeset_8_bit_t.202], [20 x i8], [10 x i16], [20 x i16], [45 x i8], [3 x i16], [15 x i16], [3894 x i8], [22 x i16], [407 x i16], [8250 x i8], [50 x i16], [3429 x i16], [372 x i8], [4 x i16], [200 x i16], [91141 x i16], [6 x i8], [24 x i64], [2826 x i8], [835 x i8], [18 x i8], [69 x i8], [255 x i8] } +%struct.__codeset_8_bit_t.202 = type { [16 x i8], [16 x i8], [16 x i8], [38 x i8] } +%struct.utmp.323 = type { i16, i32, [32 x i8], [4 x i8], [32 x i8], [256 x i8], %struct.exit_status, i64, %struct.timespec, [4 x i32], [20 x i8] } +%struct.exit_status = type { i16, i16 } +%struct._getopt_data = type { i32, i32, i32, i8*, i32, i8*, i32, i32, i32, i32 } +%struct.exit_function = type { i64, %union.anon.772 } +%union.anon.772 = type { %struct.anon.0.771 } +%struct.anon.0.771 = type { void (i8*)*, i8*, i8* } +%struct.dirent64 = type { i64, i64, i16, i8, [256 x i8] } +%struct.__STDIO_FILE_STRUCT.592 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.592*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.608 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.608*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.621 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.621*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.636 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.636*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.Elf64_auxv_t = type { i64, %union.anon.193 } +%union.anon.193 = type { i64 } +%struct.stat.192 = type { i64, i64, i64, i32, i32, i32, i32, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, [3 x i64] } +%struct.__STDIO_FILE_STRUCT.513 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.513*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.exe_sym_env_t = type { [32 x %struct.exe_file_t], i32, i32, i32 } +%struct.__va_list_tag.0 = type { i32, i32, i8*, i8* } +%struct.termios = type { i32, i32, i32, i32, i8, [32 x i8], i32, i32 } +%struct.winsize = type { i16, i16, i16, i16 } +%struct.flock = type { i16, i16, i64, i64, i32 } +%struct.statfs = type { i64, i64, i64, i64, i64, i64, i64, %struct.__fsid_t, i64, i64, i64, [4 x i64] } +%struct.__fsid_t = type { [2 x i32] } +%struct.fd_set = type { [16 x i64] } +%struct.coldata_header_t = type { i16, i16, i16, i16, i16, i16, i16, i16 } +%struct.coldata_base_t = type { i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16 } +%struct._IO_FILE = type { i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct._IO_marker*, %struct._IO_FILE*, i32, i32, i64, i16, i8, [1 x i8], i8*, i64, %struct._IO_codecvt*, %struct._IO_wide_data*, %struct._IO_FILE*, i8*, i64, i32, [20 x i8] } +%struct._IO_marker = type opaque +%struct._IO_codecvt = type opaque +%struct._IO_wide_data = type opaque +%struct.__mbstate_t = type { i32, %union.anon } +%union.anon = type { i32 } +%struct.sigaction.800 = type { %union.anon.799, %struct.fd_set, i32, void ()* } +%union.anon.799 = type { void (i32)* } +%struct.tms = type { i64, i64, i64, i64 } +%struct.utmpx = type opaque +%struct.utmp = type { i16, i32, [32 x i8], [4 x i8], [32 x i8], [256 x i8], %struct.exit_status, i32, %struct.__mbstate_t.512, [4 x i32], [20 x i8] } +%struct.rusage = type { %struct.timespec, %struct.timespec, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193 } +%struct.siginfo_t = type { i32, i32, i32, i32, %union.anon.0 } +%union.anon.0 = type { %struct.anon.3, [80 x i8] } +%struct.anon.3 = type { i32, i32, i32, i64, i64 } +%struct.kernel_sigaction = type { void (i32)*, i64, void ()*, %struct.fd_set } +%struct.__jmp_buf_tag = type { [8 x i64], i32, %struct.fd_set } +%struct.__STDIO_FILE_STRUCT.519 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.519*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__kernel_termios = type { i32, i32, i32, i32, i8, [19 x i8] } +%struct.ppfs_t.722 = type { i8*, %struct.printf_info.720, i32, i32, i32, [4 x i8], [9 x i32], [1 x %struct.__va_list_tag.0], [9 x %union.anon.193] } +%struct.printf_info.720 = type { i32, i32, i32, i32, i32 } +%struct.anon.779 = type { void (i32, i8*)*, i8* } + +@__libc_stack_end = global i8* null, align 8 +@.str = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@__uclibc_progname = hidden global i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i32 0, i32 0), align 8 +@program_invocation_short_name = global i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i32 0, i32 0), align 8 +@program_invocation_name = global i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i32 0, i32 0), align 8 +@__environ = global i8** null, align 8 +@__pagesize = global i64 0, align 8 +@__uClibc_init.been_there_done_that = internal global i32 0, align 4 +@__app_fini = hidden global void ()* null, align 8 +@__rtld_fini = hidden global void ()* null, align 8 +@.str.1 = private unnamed_addr constant [10 x i8] c"/dev/null\00", align 1 +@llvm.used = appending global [5 x i8*] [i8* getelementptr inbounds ([57 x i8], [57 x i8]* @__evoke_link_warning_siggetmask, i32 0, i32 0), i8* getelementptr inbounds ([167 x i8], [167 x i8]* @__evoke_link_warning___fpending, i32 0, i32 0), i8* getelementptr inbounds ([57 x i8], [57 x i8]* @__evoke_link_warning_gets, i32 0, i32 0), i8* getelementptr inbounds ([55 x i8], [55 x i8]* @__evoke_link_warning_tmpnam, i32 0, i32 0), i8* getelementptr inbounds ([55 x i8], [55 x i8]* @__evoke_link_warning_mktemp, i32 0, i32 0)], section "llvm.metadata" +@__evoke_link_warning_siggetmask = internal constant [57 x i8] c"warning: `siggetmask' is obsolete; `sigprocmask' is best\00", section ".gnu.warning.siggetmask\0A#APP\0A\09#", align 16 +@__evoke_link_warning___fpending = internal constant [167 x i8] c"This version of __fpending returns bytes remaining in buffer for both narrow and wide streams. glibc's version returns wide chars in buffer for the wide stream case.\00", section ".gnu.warning.__fpending\0A#APP\0A\09#", align 16 +@__evoke_link_warning_gets = internal constant [57 x i8] c"the 'gets' function is dangerous and should not be used.\00", section ".gnu.warning.gets\0A#APP\0A\09#", align 16 +@__evoke_link_warning_tmpnam = internal constant [55 x i8] c"the use of `tmpnam' is dangerous, better use `mkstemp'\00", section ".gnu.warning.tmpnam\0A#APP\0A\09#", align 16 +@tmpnam_buffer = internal global [20 x i8] zeroinitializer, align 16 +@__evoke_link_warning_mktemp = internal constant [55 x i8] c"the use of `mktemp' is dangerous, better use `mkstemp'\00", section ".gnu.warning.mktemp\0A#APP\0A\09#", align 16 +@.str.4 = private unnamed_addr constant [77 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/fd.c\00", align 1 +@.str.27 = private unnamed_addr constant [37 x i8] c"ERROR: concretizing symbolic pointer\00", align 1 +@.str.28 = private unnamed_addr constant [9 x i8] c"user.err\00", align 1 +@.str.25 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@getcwd.n_calls = internal global i32 0, align 4 +@.str.5 = private unnamed_addr constant [46 x i8] c"Undefined call to open(): O_TRUNC | O_RDONLY\0A\00", align 1 +@.str.1.6 = private unnamed_addr constant [47 x i8] c"Undefined call to open(): O_EXCL w/o O_RDONLY\0A\00", align 1 +@.str.2 = private unnamed_addr constant [44 x i8] c"symbolic file descriptor, ignoring (ENOENT)\00", align 1 +@close.n_calls = internal global i32 0, align 4 +@read.n_calls = internal global i32 0, align 4 +@.str.3 = private unnamed_addr constant [12 x i8] c"f->off >= 0\00", align 1 +@__PRETTY_FUNCTION__.read = private unnamed_addr constant [34 x i8] c"ssize_t read(int, void *, size_t)\00", align 1 +@write.n_calls = internal global i32 0, align 4 +@.str.5.7 = private unnamed_addr constant [7 x i8] c"r >= 0\00", align 1 +@__PRETTY_FUNCTION__.write = private unnamed_addr constant [41 x i8] c"ssize_t write(int, const void *, size_t)\00", align 1 +@.str.6 = private unnamed_addr constant [2 x i8] c"0\00", align 1 +@.str.7 = private unnamed_addr constant [24 x i8] c"write() ignores bytes.\0A\00", align 1 +@.str.8 = private unnamed_addr constant [18 x i8] c"new_off == f->off\00", align 1 +@__PRETTY_FUNCTION__.__fd_lseek = private unnamed_addr constant [38 x i8] c"off64_t __fd_lseek(int, off64_t, int)\00", align 1 +@.str.9 = private unnamed_addr constant [33 x i8] c"symbolic file, ignoring (ENOENT)\00", align 1 +@chmod.n_calls = internal global i32 0, align 4 +@fchmod.n_calls = internal global i32 0, align 4 +@.str.26 = private unnamed_addr constant [32 x i8] c"symbolic file, ignoring (EPERM)\00", align 1 +@__fd_ftruncate.n_calls = internal global i32 0, align 4 +@.str.10 = private unnamed_addr constant [30 x i8] c"symbolic file, ignoring (EIO)\00", align 1 +@.str.11 = private unnamed_addr constant [33 x i8] c"symbolic file, ignoring (EINVAL)\00", align 1 +@.str.12 = private unnamed_addr constant [18 x i8] c"s != (off64_t) -1\00", align 1 +@__PRETTY_FUNCTION__.__fd_getdents = private unnamed_addr constant [65 x i8] c"int __fd_getdents(unsigned int, struct dirent64 *, unsigned int)\00", align 1 +@.str.13 = private unnamed_addr constant [22 x i8] c"f->off != (off64_t)-1\00", align 1 +@.str.14 = private unnamed_addr constant [41 x i8] c"(TCGETS) symbolic file, incomplete model\00", align 1 +@.str.15 = private unnamed_addr constant [42 x i8] c"(TCSETS) symbolic file, silently ignoring\00", align 1 +@.str.16 = private unnamed_addr constant [43 x i8] c"(TCSETSW) symbolic file, silently ignoring\00", align 1 +@.str.17 = private unnamed_addr constant [43 x i8] c"(TCSETSF) symbolic file, silently ignoring\00", align 1 +@.str.18 = private unnamed_addr constant [45 x i8] c"(TIOCGWINSZ) symbolic file, incomplete model\00", align 1 +@.str.19 = private unnamed_addr constant [46 x i8] c"(TIOCSWINSZ) symbolic file, ignoring (EINVAL)\00", align 1 +@.str.20 = private unnamed_addr constant [43 x i8] c"(FIONREAD) symbolic file, incomplete model\00", align 1 +@.str.21 = private unnamed_addr constant [44 x i8] c"(MTIOCGET) symbolic file, ignoring (EINVAL)\00", align 1 +@.str.22 = private unnamed_addr constant [32 x i8] c"symbolic file, ignoring (EBADF)\00", align 1 +@.str.23 = private unnamed_addr constant [17 x i8] c"ignoring (EPERM)\00", align 1 +@.str.24 = private unnamed_addr constant [18 x i8] c"ignoring (ENOENT)\00", align 1 +@__const.klee_init_env.sym_arg_name = private unnamed_addr constant [6 x i8] c"arg\00\00\00", align 1 +@.str.29 = private unnamed_addr constant [7 x i8] c"--help\00", align 1 +@.str.1.30 = private unnamed_addr constant [964 x i8] c"klee_init_env\0A\0Ausage: (klee_init_env) [options] [program arguments]\0A -sym-arg - Replace by a symbolic argument with length N\0A -sym-args - Replace by at least MIN arguments and at most\0A MAX arguments, each with maximum length N\0A -sym-files - Make NUM symbolic files ('A', 'B', 'C', etc.),\0A each with size N\0A -sym-stdin - Make stdin symbolic with size N.\0A -sym-stdout - Make stdout symbolic.\0A -save-all-writes - Allow write operations to execute as expected\0A even if they exceed the file size. If set to 0, all\0A writes exceeding the initial file size are discarded.\0A Note: file offset is always incremented.\0A -max-fail - Allow up to N injected failures\0A -fd-fail - Shortcut for '-max-fail 1'\0A\0A\00", align 1 +@.str.2.31 = private unnamed_addr constant [10 x i8] c"--sym-arg\00", align 1 +@.str.3.32 = private unnamed_addr constant [9 x i8] c"-sym-arg\00", align 1 +@.str.4.33 = private unnamed_addr constant [48 x i8] c"--sym-arg expects an integer argument \00", align 1 +@.str.5.34 = private unnamed_addr constant [45 x i8] c"No more than 100 symbolic arguments allowed.\00", align 1 +@.str.6.35 = private unnamed_addr constant [11 x i8] c"--sym-args\00", align 1 +@.str.7.36 = private unnamed_addr constant [10 x i8] c"-sym-args\00", align 1 +@.str.8.37 = private unnamed_addr constant [77 x i8] c"--sym-args expects three integer arguments \00", align 1 +@.str.9.38 = private unnamed_addr constant [28 x i8] c"Invalid range to --sym-args\00", align 1 +@.str.10.39 = private unnamed_addr constant [7 x i8] c"n_args\00", align 1 +@.str.11.40 = private unnamed_addr constant [12 x i8] c"--sym-files\00", align 1 +@.str.12.41 = private unnamed_addr constant [11 x i8] c"-sym-files\00", align 1 +@.str.13.42 = private unnamed_addr constant [72 x i8] c"--sym-files expects two integer arguments \00", align 1 +@.str.14.43 = private unnamed_addr constant [39 x i8] c"Multiple --sym-files are not allowed.\0A\00", align 1 +@.str.15.44 = private unnamed_addr constant [65 x i8] c"The first argument to --sym-files (number of files) cannot be 0\0A\00", align 1 +@.str.16.45 = private unnamed_addr constant [60 x i8] c"The second argument to --sym-files (file size) cannot be 0\0A\00", align 1 +@.str.17.46 = private unnamed_addr constant [12 x i8] c"--sym-stdin\00", align 1 +@.str.18.47 = private unnamed_addr constant [11 x i8] c"-sym-stdin\00", align 1 +@.str.19.48 = private unnamed_addr constant [57 x i8] c"--sym-stdin expects one integer argument \00", align 1 +@.str.20.49 = private unnamed_addr constant [13 x i8] c"--sym-stdout\00", align 1 +@.str.21.50 = private unnamed_addr constant [12 x i8] c"-sym-stdout\00", align 1 +@.str.22.51 = private unnamed_addr constant [18 x i8] c"--save-all-writes\00", align 1 +@.str.23.52 = private unnamed_addr constant [17 x i8] c"-save-all-writes\00", align 1 +@.str.24.53 = private unnamed_addr constant [10 x i8] c"--fd-fail\00", align 1 +@.str.25.54 = private unnamed_addr constant [9 x i8] c"-fd-fail\00", align 1 +@.str.26.55 = private unnamed_addr constant [12 x i8] c"--bout-file\00", align 1 +@.str.27.56 = private unnamed_addr constant [11 x i8] c"-bout-file\00", align 1 +@.str.28.57 = private unnamed_addr constant [11 x i8] c"--max-fail\00", align 1 +@.str.29.58 = private unnamed_addr constant [10 x i8] c"-max-fail\00", align 1 +@.str.30 = private unnamed_addr constant [54 x i8] c"--max-fail expects an integer argument \00", align 1 +@.str.31 = private unnamed_addr constant [31 x i8] c"out of memory in klee_init_env\00", align 1 +@.str.35 = private unnamed_addr constant [37 x i8] c"too many arguments for klee_init_env\00", align 1 +@.str.32 = private unnamed_addr constant [88 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/klee_init_env.c\00", align 1 +@.str.33 = private unnamed_addr constant [9 x i8] c"user.err\00", align 1 +@.str.34 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.68 = private unnamed_addr constant [5 x i8] c"file\00", align 1 +@.str.1.69 = private unnamed_addr constant [5 x i8] c"/tmp\00", align 1 +@.str.2.70 = private unnamed_addr constant [16 x i8] c"%.*s/%.*sXXXXXX\00", align 1 +@.str.3.73 = private unnamed_addr constant [7 x i8] c"XXXXXX\00", align 1 +@letters = internal constant [63 x i8] c"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\00", align 16 +@brain_damaged_fillrand.value = internal global i64 0, align 8 +@.str.4.74 = private unnamed_addr constant [13 x i8] c"/dev/urandom\00", align 1 +@.str.5.75 = private unnamed_addr constant [12 x i8] c"/dev/random\00", align 1 +@__global_locale_data = global %struct.__uclibc_locale_struct.201 zeroinitializer, align 8 +@__global_locale = global %struct.__uclibc_locale_struct.201* @__global_locale_data, align 8 +@__curlocale_var = global %struct.__uclibc_locale_struct.201* @__global_locale_data, align 8 +@utf8 = internal constant [6 x i8] c"UTF-8\00", align 1 +@ascii = internal constant [6 x i8] c"ASCII\00", align 1 +@__code2flag = internal constant [16 x i16] [i16 0, i16 -15352, i16 -14840, i16 -14584, i16 -15096, i16 -14328, i16 -16380, i16 -16384, i16 24576, i16 24577, i16 8192, i16 8193, i16 8194, i16 8195, i16 2, i16 0], align 16 +@.str.76 = private unnamed_addr constant [14 x i8] c"#\80\80\80\80\80\80\80\80\80\80\80\80\00", align 1 +@stdin = global %struct.__STDIO_FILE_STRUCT.568* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i32 0, i32 0), align 8 +@_stdio_streams = internal global [3 x %struct.__STDIO_FILE_STRUCT.568] [%struct.__STDIO_FILE_STRUCT.568 { i16 544, [2 x i8] zeroinitializer, i32 0, i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 88) to %struct.__STDIO_FILE_STRUCT.568*), [2 x i32] zeroinitializer, %struct.__mbstate_t.512 zeroinitializer, i8* null }, %struct.__STDIO_FILE_STRUCT.568 { i16 528, [2 x i8] zeroinitializer, i32 1, i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 176) to %struct.__STDIO_FILE_STRUCT.568*), [2 x i32] zeroinitializer, %struct.__mbstate_t.512 zeroinitializer, i8* null }, %struct.__STDIO_FILE_STRUCT.568 { i16 528, [2 x i8] zeroinitializer, i32 2, i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, %struct.__STDIO_FILE_STRUCT.568* null, [2 x i32] zeroinitializer, %struct.__mbstate_t.512 zeroinitializer, i8* null }], align 16 +@stdout = global %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 88) to %struct.__STDIO_FILE_STRUCT.568*), align 8 +@stderr = global %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 176) to %struct.__STDIO_FILE_STRUCT.568*), align 8 +@__stdin = global %struct.__STDIO_FILE_STRUCT.568* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i32 0, i32 0), align 8 +@__stdout = global %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 88) to %struct.__STDIO_FILE_STRUCT.568*), align 8 +@_stdio_openlist = global %struct.__STDIO_FILE_STRUCT.568* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i32 0, i32 0), align 8 +@been_there_done_that = internal global i32 0, align 4 +@__exit_cleanup = hidden global void (i32)* null, align 8 +@Version = dso_local global i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.33.95, i32 0, i32 0), align 8 +@.str.33.95 = private unnamed_addr constant [5 x i8] c"8.32\00", align 1 +@exit_failure = dso_local global i32 1, align 4 +@program_name = dso_local global i8* null, align 8 +@quoting_style_args = dso_local constant [11 x i8*] [i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.52, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1.53, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2.54, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.3.55, i32 0, i32 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.4.56, i32 0, i32 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.5.57, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.6.58, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.7.59, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.8.60, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.9.61, i32 0, i32 0), i8* null], align 16 +@.str.52 = private unnamed_addr constant [8 x i8] c"literal\00", align 1 +@.str.1.53 = private unnamed_addr constant [6 x i8] c"shell\00", align 1 +@.str.2.54 = private unnamed_addr constant [13 x i8] c"shell-always\00", align 1 +@.str.3.55 = private unnamed_addr constant [13 x i8] c"shell-escape\00", align 1 +@.str.4.56 = private unnamed_addr constant [20 x i8] c"shell-escape-always\00", align 1 +@.str.5.57 = private unnamed_addr constant [2 x i8] c"c\00", align 1 +@.str.6.58 = private unnamed_addr constant [8 x i8] c"c-maybe\00", align 1 +@.str.7.59 = private unnamed_addr constant [7 x i8] c"escape\00", align 1 +@.str.8.60 = private unnamed_addr constant [7 x i8] c"locale\00", align 1 +@.str.9.61 = private unnamed_addr constant [8 x i8] c"clocale\00", align 1 +@quoting_style_vals = dso_local constant [10 x i32] [i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9], align 16 +@quote_quoting_options = dso_local global %struct.quoting_options { i32 8, i32 0, [8 x i32] zeroinitializer, i8* null, i8* null }, align 8 +@version_etc_copyright = dso_local constant [47 x i8] c"Copyright %s %d Free Software Foundation, Inc.\00", align 16 +@.str.96 = private unnamed_addr constant [39 x i8] c"Try '%s --help' for more information.\0A\00", align 1 +@.str.1.97 = private unnamed_addr constant [28 x i8] c"Usage: %s [OPTION] NAME...\0A\00", align 1 +@.str.2.98 = private unnamed_addr constant [152 x i8] c"Output each NAME with its last non-slash component and trailing slashes\0Aremoved; if NAME contains no /'s, output '.' (meaning the current directory).\0A\0A\00", align 1 +@.str.3.99 = private unnamed_addr constant [61 x i8] c" -z, --zero end each output line with NUL, not newline\0A\00", align 1 +@.str.4.100 = private unnamed_addr constant [45 x i8] c" --help display this help and exit\0A\00", align 1 +@.str.5.101 = private unnamed_addr constant [54 x i8] c" --version output version information and exit\0A\00", align 1 +@.str.6.102 = private unnamed_addr constant [130 x i8] c"\0AExamples:\0A %s /usr/bin/ -> \22/usr\22\0A %s dir1/str dir2/str -> \22dir1\22 followed by \22dir2\22\0A %s stdio.h -> \22.\22\0A\00", align 1 +@.str.7.103 = private unnamed_addr constant [8 x i8] c"dirname\00", align 1 +@__const.emit_ancillary_info.infomap = private unnamed_addr constant [7 x %struct.infomap] [%struct.infomap { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.14.113, i32 0, i32 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.15.114, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.16.115, i32 0, i32 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.17.116, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.18.117, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.19.118, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.20.119, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.19.118, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.21.120, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.19.118, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.22.121, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.19.118, i32 0, i32 0) }, %struct.infomap zeroinitializer], align 16 +@.str.23.104 = private unnamed_addr constant [23 x i8] c"\0A%s online help: <%s>\0A\00", align 1 +@.str.10.105 = private unnamed_addr constant [14 x i8] c"GNU coreutils\00", align 1 +@.str.24.106 = private unnamed_addr constant [40 x i8] c"https://www.gnu.org/software/coreutils/\00", align 1 +@.str.25.107 = private unnamed_addr constant [4 x i8] c"en_\00", align 1 +@.str.26.108 = private unnamed_addr constant [71 x i8] c"Report any translation bugs to \0A\00", align 1 +@.str.27.109 = private unnamed_addr constant [27 x i8] c"Full documentation <%s%s>\0A\00", align 1 +@.str.29.110 = private unnamed_addr constant [12 x i8] c" invocation\00", align 1 +@.str.8.111 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@.str.28.112 = private unnamed_addr constant [51 x i8] c"or available locally via: info '(coreutils) %s%s'\0A\00", align 1 +@.str.14.113 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@.str.15.114 = private unnamed_addr constant [16 x i8] c"test invocation\00", align 1 +@.str.16.115 = private unnamed_addr constant [10 x i8] c"coreutils\00", align 1 +@.str.17.116 = private unnamed_addr constant [22 x i8] c"Multi-call invocation\00", align 1 +@.str.18.117 = private unnamed_addr constant [10 x i8] c"sha224sum\00", align 1 +@.str.19.118 = private unnamed_addr constant [15 x i8] c"sha2 utilities\00", align 1 +@.str.20.119 = private unnamed_addr constant [10 x i8] c"sha256sum\00", align 1 +@.str.21.120 = private unnamed_addr constant [10 x i8] c"sha384sum\00", align 1 +@.str.22.121 = private unnamed_addr constant [10 x i8] c"sha512sum\00", align 1 +@.str.9.124 = private unnamed_addr constant [2 x i8] c"z\00", align 1 +@longopts = internal constant [4 x %struct.option] [%struct.option { i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.30.128, i32 0, i32 0), i32 0, i32* null, i32 122 }, %struct.option { i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.31.129, i32 0, i32 0), i32 0, i32* null, i32 -130 }, %struct.option { i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.32.130, i32 0, i32 0), i32 0, i32* null, i32 -131 }, %struct.option zeroinitializer], align 16 +@.str.11.125 = private unnamed_addr constant [16 x i8] c"David MacKenzie\00", align 1 +@.str.12.126 = private unnamed_addr constant [13 x i8] c"Jim Meyering\00", align 1 +@.str.13.127 = private unnamed_addr constant [16 x i8] c"missing operand\00", align 1 +@main.dot = internal constant i8 46, align 1 +@.str.73 = private unnamed_addr constant [12 x i8] c"%s (%s) %s\0A\00", align 1 +@.str.1.74 = private unnamed_addr constant [7 x i8] c"%s %s\0A\00", align 1 +@.str.2.75 = private unnamed_addr constant [4 x i8] c"(C)\00", align 1 +@.str.3.76 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.4.77 = private unnamed_addr constant [171 x i8] c"License GPLv3+: GNU GPL version 3 or later <%s>.\0AThis is free software: you are free to change and redistribute it.\0AThere is NO WARRANTY, to the extent permitted by law.\0A\00", align 1 +@.str.5.78 = private unnamed_addr constant [34 x i8] c"https://gnu.org/licenses/gpl.html\00", align 1 +@.str.6.79 = private unnamed_addr constant [16 x i8] c"Written by %s.\0A\00", align 1 +@.str.7.80 = private unnamed_addr constant [23 x i8] c"Written by %s and %s.\0A\00", align 1 +@.str.8.81 = private unnamed_addr constant [28 x i8] c"Written by %s, %s, and %s.\0A\00", align 1 +@.str.9.82 = private unnamed_addr constant [32 x i8] c"Written by %s, %s, %s,\0Aand %s.\0A\00", align 1 +@.str.10.83 = private unnamed_addr constant [36 x i8] c"Written by %s, %s, %s,\0A%s, and %s.\0A\00", align 1 +@.str.11.84 = private unnamed_addr constant [40 x i8] c"Written by %s, %s, %s,\0A%s, %s, and %s.\0A\00", align 1 +@.str.12.85 = private unnamed_addr constant [44 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, and %s.\0A\00", align 1 +@.str.13.86 = private unnamed_addr constant [48 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, %s,\0Aand %s.\0A\00", align 1 +@.str.14.87 = private unnamed_addr constant [52 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, %s,\0A%s, and %s.\0A\00", align 1 +@.str.15.88 = private unnamed_addr constant [60 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, %s,\0A%s, %s, and others.\0A\00", align 1 +@.str.30.128 = private unnamed_addr constant [5 x i8] c"zero\00", align 1 +@.str.31.129 = private unnamed_addr constant [5 x i8] c"help\00", align 1 +@.str.32.130 = private unnamed_addr constant [8 x i8] c"version\00", align 1 +@ignore_EPIPE = internal global i8 0, align 1 +@.str.36 = private unnamed_addr constant [12 x i8] c"write error\00", align 1 +@file_name = internal global i8* null, align 8 +@.str.1.37 = private unnamed_addr constant [7 x i8] c"%s: %s\00", align 1 +@.str.2.38 = private unnamed_addr constant [3 x i8] c"%s\00", align 1 +@default_quoting_options = internal global %struct.quoting_options zeroinitializer, align 8 +@slotvec = internal global %struct.slotvec* @slotvec0, align 8 +@nslots = internal global i32 1, align 4 +@slotvec0 = internal global %struct.slotvec { i64 256, i8* getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i32 0, i32 0) }, align 8 +@slot0 = internal global [256 x i8] zeroinitializer, align 16 +@.str.10.62 = private unnamed_addr constant [2 x i8] c"\22\00", align 1 +@.str.11.63 = private unnamed_addr constant [2 x i8] c"`\00", align 1 +@.str.12.64 = private unnamed_addr constant [2 x i8] c"'\00", align 1 +@.str.118 = private unnamed_addr constant [2 x i8] c"C\00", align 1 +@.str.1.119 = private unnamed_addr constant [6 x i8] c"POSIX\00", align 1 +@.str.13.65 = private unnamed_addr constant [6 x i8] c"UTF-8\00", align 1 +@.str.14.66 = private unnamed_addr constant [4 x i8] c"\E2\80\98\00", align 1 +@.str.15.67 = private unnamed_addr constant [4 x i8] c"\E2\80\99\00", align 1 +@.str.16.68 = private unnamed_addr constant [8 x i8] c"GB18030\00", align 1 +@.str.17.69 = private unnamed_addr constant [4 x i8] c"\A1\07e\00", align 1 +@.str.18.70 = private unnamed_addr constant [3 x i8] c"\A1\AF\00", align 1 +@.str.122 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@.str.1.123 = private unnamed_addr constant [6 x i8] c"ASCII\00", align 1 +@.str.108 = private unnamed_addr constant [3 x i8] c"%s\00", align 1 +@.str.1.109 = private unnamed_addr constant [17 x i8] c"memory exhausted\00", align 1 +@.str.49 = private unnamed_addr constant [56 x i8] c"A NULL argv[0] was passed through an exec system call.\0A\00", align 1 +@.str.1.50 = private unnamed_addr constant [8 x i8] c"/.libs/\00", align 1 +@.str.2.51 = private unnamed_addr constant [4 x i8] c"lt-\00", align 1 +@.str.16.91 = private unnamed_addr constant [20 x i8] c"Report bugs to: %s\0A\00", align 1 +@.str.17.92 = private unnamed_addr constant [22 x i8] c"bug-coreutils@gnu.org\00", align 1 +@.str.18.93 = private unnamed_addr constant [20 x i8] c"%s home page: <%s>\0A\00", align 1 +@.str.19.94 = private unnamed_addr constant [14 x i8] c"GNU coreutils\00", align 1 +@.str.20.95 = private unnamed_addr constant [40 x i8] c"https://www.gnu.org/software/coreutils/\00", align 1 +@.str.21.96 = private unnamed_addr constant [39 x i8] c"General help using GNU software: <%s>\0A\00", align 1 +@.str.22.97 = private unnamed_addr constant [29 x i8] c"https://www.gnu.org/gethelp/\00", align 1 +@__exe_env = dso_local global { <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] } { <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }> <{ %struct.exe_file_t { i32 0, i32 5, i64 0, %struct.exe_disk_file_t* null }, %struct.exe_file_t { i32 1, i32 9, i64 0, %struct.exe_disk_file_t* null }, %struct.exe_file_t { i32 2, i32 9, i64 0, %struct.exe_disk_file_t* null }, [29 x %struct.exe_file_t] zeroinitializer }>, i32 18, i32 0, i32 0, [4 x i8] undef }, align 8 +@__exe_fs = dso_local global %struct.exe_file_system_t zeroinitializer, align 8 +@__const.klee_init_fds.name = private unnamed_addr constant [7 x i8] c"?-data\00", align 1 +@.str.137 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@.str.1.138 = private unnamed_addr constant [82 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/fd_init.c\00", align 1 +@.str.2.139 = private unnamed_addr constant [31 x i8] c"out of memory in klee_init_env\00", align 1 +@.str.3.140 = private unnamed_addr constant [9 x i8] c"user.err\00", align 1 +@.str.4.142 = private unnamed_addr constant [6 x i8] c"stdin\00", align 1 +@.str.5.143 = private unnamed_addr constant [10 x i8] c"read_fail\00", align 1 +@.str.6.144 = private unnamed_addr constant [11 x i8] c"write_fail\00", align 1 +@.str.7.145 = private unnamed_addr constant [11 x i8] c"close_fail\00", align 1 +@.str.8.146 = private unnamed_addr constant [15 x i8] c"ftruncate_fail\00", align 1 +@.str.9.147 = private unnamed_addr constant [12 x i8] c"getcwd_fail\00", align 1 +@.str.10.148 = private unnamed_addr constant [7 x i8] c"stdout\00", align 1 +@.str.11.149 = private unnamed_addr constant [14 x i8] c"model_version\00", align 1 +@.str.13.150 = private unnamed_addr constant [6 x i8] c"-stat\00", align 1 +@.str.14.151 = private unnamed_addr constant [5 x i8] c"size\00", align 1 +@__PRETTY_FUNCTION__.__create_new_dfile = private unnamed_addr constant [88 x i8] c"void __create_new_dfile(exe_disk_file_t *, unsigned int, const char *, struct stat64 *)\00", align 1 +@.str.12.152 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.153 = private unnamed_addr constant [18 x i8] c"silently ignoring\00", align 1 +@.str.1.158 = private unnamed_addr constant [24 x i8] c"ignoring (EAFNOSUPPORT)\00", align 1 +@.str.11.160 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.2.163 = private unnamed_addr constant [15 x i8] c"ignoring (EIO)\00", align 1 +@.str.3.164 = private unnamed_addr constant [18 x i8] c"ignoring (ENFILE)\00", align 1 +@.str.4.165 = private unnamed_addr constant [17 x i8] c"ignoring (EPERM)\00", align 1 +@.str.5.166 = private unnamed_addr constant [13 x i8] c"returning 0\0A\00", align 1 +@.str.6.167 = private unnamed_addr constant [40 x i8] c"setting all times to 0 and returning 0\0A\00", align 1 +@.str.7.168 = private unnamed_addr constant [17 x i8] c"ignoring (EBADF)\00", align 1 +@.str.8.171 = private unnamed_addr constant [21 x i8] c"ignoring (-1 result)\00", align 1 +@.str.9.172 = private unnamed_addr constant [18 x i8] c"ignoring (ECHILD)\00", align 1 +@.str.10.173 = private unnamed_addr constant [32 x i8] c"silently ignoring (returning 0)\00", align 1 +@__locale_mmap = global %struct.__locale_mmap_t.203* @locale_mmap, align 8 +@locale_mmap = internal constant %struct.__locale_mmap_t.203 { [420 x i8] c"\EE\EE\EE\EE\06afffffff$$$$$$$$$$\06\00\00\00\00D&fffdDDbfff`b\22\22FBFfddfFf$\22fbbB\22DDDD\22\22\22\22\06&fff`\00\00`fffff&ff`ffff\11a\06\00\00\00\11\11\11\11\11\01`\06\EE&fffd\E4\EEnffffb\E2Nfaff\11\11\11\22\22\22\22bDDDdDDD$FDDdDDdD&\22\22b\22\22b\22\22\22\22\12bbf&Fb$dd$dF$$$F\22BB\22fffdbaffff$fba$dFBfdbddBf$df\22b$$FFFdFDdD&&&b&\22b\22Ff\06dFDd@&f&b&\22b D\04DD@DDd\22\02\22\22 \22\22bFAFdFDdd&\22B\22FDDD&\22\22\22\06\00\06\00\00\00f\00\00`\00`\10\11\11\11\11\01\00\00\11afff\06\00\00ff\00ff`f`DddDADDDD@DDDD\22\22!\22\22\22\22\22\22\02\06ffffff\06\00\00\00`f&fffFff\22Fff`b$\04dfff``\00\00 $&f\00`f\06fF@f``\00`f&b\22fFdDffFf\11\11\11a\11\01\00`\11\11\11\16\11f\00\00", [504 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00{}\00\00\00{\00\7F\7F\00\00\00\00\00\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\00\00\F0\FE\00\FE\00\00\00\00\00\00\F0\00\F0\F0\F0\F0\F0\00\00\00\00\00\00\00\00\FF\FF\E7\00\F1\00\00\F0\00\F0\00\00\00\00\F0\00\00\FF\FF\F1\00\00\00\F0\00\F0\00\E7\FF\FF\F0\E0\E0\E0\E0\E0\E0\E0\E0\00\00\F0\00\F0\00\00\00\00\00\F0\00\F0\00\00\A0\00\00\00\00\00\00\00\A0\E0\E0\E0\E0\E0\E0\E0\00\00\F0\F0\F0\F0\F0\F0\00\F0\F0\F0\F0\F0\00\F0\F0\00\FF\FF\00\FF\FF\FB\00\F0\00\F0\FB\F0\00\00\B0\FF\FF\FF\FF\FF\FF\00\FE\F0\FE\F0\FC\F0\FF\FF\FC\E0\E0\E0\E0\E0\E0\E0\B0\00\00\00\00\00\00\FE\00\FE\00\00\00\00\00\00\00\00\00\00\00\FC\00\00\00\FC\00\00\00\FF\FF\BF\00\E0\E0\E0\E0\E0\E0\E0\BF\00\FF\FF\F0\00\00\FE\00\FE\00\F0\00\FE\00\FE\F0\00\00\F9\F0\FC\00\00\00\FC\F9\F0\00\FF\FF\BF\F0\00\F0\00\F0\00\F0\F0\00\00\F0\F0\F0\F0\00\F0\F0\00\F0\00\00\00\00\F0\00\00@\F0\F0\F0\00\00\F0\00\90\F0\F0\F0\00\00\F0\E0\E0\E0\00\E0\E0\E0\E0\00\E0\E0\E0\E0\E0\E0\00\00\F0\F0\F0\F0\00\F0\00\00\F0\F0\F0\F0\FE\F0\FE\00\B0\B0\B0\B0\B0\B0\B0\B0\B0\B0\B0\B0\00\B0\B0\00\00\00\00\00\00\DA\00\DB\DB\DB\00\C0\00\C1\C1\00\E0\E0\E0\E0\E0\E0\E0\E0\E0\00\E0\E0\E0\E0\E0\E0\E0\E0\E0\DA\DB\DB\DB\E0\E0\E1\E0\E0\E0\E0\E0\E0\E0\E0\E0\C0\C1\C1\00\E0\E0\E0\E0\E0t\E0\00\E0\E0\E0\E0\E0L\E0\00\00\00\00\10\00\00\00\00 \10\02\00\02\00\00\00\00\00\00\02\00\02\01\01\00\10\00\00\00\00\00\00\00\00\01\01\10\00\10\00\00\00\00\00\10\00\10\00\00\00\00\00\10\10\00\10\10\00\00\00\00\00\10\00\00", [1760 x i16] [i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 0, i16 1415, i16 1417, i16 41, i16 40, i16 187, i16 171, i16 8212, i16 46, i16 1373, i16 44, i16 45, i16 1418, i16 8230, i16 1372, i16 1371, i16 1374, i16 1329, i16 1377, i16 1330, i16 1378, i16 1331, i16 1379, i16 1332, i16 1380, i16 1333, i16 1381, i16 1334, i16 1382, i16 1335, i16 1383, i16 1336, i16 1384, i16 1337, i16 1385, i16 1338, i16 1386, i16 1339, i16 1387, i16 1340, i16 1388, i16 1341, i16 1389, i16 1342, i16 1390, i16 1343, i16 1391, i16 1344, i16 1392, i16 1345, i16 1393, i16 1346, i16 1394, i16 1347, i16 1395, i16 1348, i16 1396, i16 1349, i16 1397, i16 1350, i16 1398, i16 1351, i16 1399, i16 1352, i16 1400, i16 1353, i16 1401, i16 1354, i16 1402, i16 1355, i16 1403, i16 1356, i16 1404, i16 1357, i16 1405, i16 1358, i16 1406, i16 1359, i16 1407, i16 1360, i16 1408, i16 1361, i16 1409, i16 1362, i16 1410, i16 1363, i16 1411, i16 1364, i16 1412, i16 1365, i16 1413, i16 1366, i16 1414, i16 1370, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1026, i16 1027, i16 8218, i16 1107, i16 8222, i16 8230, i16 8224, i16 8225, i16 8364, i16 8240, i16 1033, i16 8249, i16 1034, i16 1036, i16 1035, i16 1039, i16 1106, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 0, i16 8482, i16 1113, i16 8250, i16 1114, i16 1116, i16 1115, i16 1119, i16 160, i16 1038, i16 1118, i16 1032, i16 164, i16 1168, i16 166, i16 167, i16 1025, i16 169, i16 1028, i16 171, i16 172, i16 173, i16 174, i16 1031, i16 176, i16 177, i16 1030, i16 1110, i16 1169, i16 181, i16 182, i16 183, i16 1105, i16 8470, i16 1108, i16 187, i16 1112, i16 1029, i16 1109, i16 1111, i16 1040, i16 1041, i16 1042, i16 1043, i16 1044, i16 1045, i16 1046, i16 1047, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 1058, i16 1059, i16 1060, i16 1061, i16 1062, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1070, i16 1071, i16 1072, i16 1073, i16 1074, i16 1075, i16 1076, i16 1077, i16 1078, i16 1079, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1088, i16 1089, i16 1090, i16 1091, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1099, i16 1100, i16 1101, i16 1102, i16 1103, i16 8364, i16 0, i16 8218, i16 402, i16 8222, i16 8230, i16 8224, i16 8225, i16 710, i16 8240, i16 0, i16 8249, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 732, i16 8482, i16 0, i16 8250, i16 0, i16 0, i16 0, i16 0, i16 160, i16 161, i16 162, i16 163, i16 8362, i16 165, i16 166, i16 167, i16 168, i16 169, i16 215, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 247, i16 187, i16 188, i16 189, i16 190, i16 191, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 0, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 0, i16 0, i16 8206, i16 8207, i16 0, i16 128, i16 129, i16 8218, i16 402, i16 8222, i16 8230, i16 8224, i16 8225, i16 710, i16 8240, i16 352, i16 8249, i16 338, i16 141, i16 142, i16 143, i16 144, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 732, i16 8482, i16 353, i16 8250, i16 339, i16 157, i16 158, i16 376, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 4304, i16 4305, i16 4306, i16 4307, i16 4308, i16 4309, i16 4310, i16 4337, i16 4311, i16 4312, i16 4313, i16 4314, i16 4315, i16 4316, i16 4338, i16 4317, i16 4318, i16 4319, i16 4320, i16 4321, i16 4322, i16 4339, i16 4323, i16 4324, i16 4325, i16 4326, i16 4327, i16 4328, i16 4329, i16 4330, i16 4331, i16 4332, i16 4333, i16 4334, i16 4340, i16 4335, i16 4336, i16 4341, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 160, i16 260, i16 274, i16 290, i16 298, i16 296, i16 310, i16 167, i16 315, i16 272, i16 352, i16 358, i16 381, i16 173, i16 362, i16 330, i16 176, i16 261, i16 275, i16 291, i16 299, i16 297, i16 311, i16 183, i16 316, i16 273, i16 353, i16 359, i16 382, i16 8213, i16 363, i16 331, i16 256, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 302, i16 268, i16 201, i16 280, i16 203, i16 278, i16 205, i16 206, i16 207, i16 208, i16 325, i16 332, i16 211, i16 212, i16 213, i16 214, i16 360, i16 216, i16 370, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 257, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 303, i16 269, i16 233, i16 281, i16 235, i16 279, i16 237, i16 238, i16 239, i16 240, i16 326, i16 333, i16 243, i16 244, i16 245, i16 246, i16 361, i16 248, i16 371, i16 250, i16 251, i16 252, i16 253, i16 254, i16 312, i16 160, i16 8221, i16 162, i16 163, i16 164, i16 8222, i16 166, i16 167, i16 216, i16 169, i16 342, i16 171, i16 172, i16 173, i16 174, i16 198, i16 176, i16 177, i16 178, i16 179, i16 8220, i16 181, i16 182, i16 183, i16 248, i16 185, i16 343, i16 187, i16 188, i16 189, i16 190, i16 230, i16 260, i16 302, i16 256, i16 262, i16 196, i16 197, i16 280, i16 274, i16 268, i16 201, i16 377, i16 278, i16 290, i16 310, i16 298, i16 315, i16 352, i16 323, i16 325, i16 211, i16 332, i16 213, i16 214, i16 215, i16 370, i16 321, i16 346, i16 362, i16 220, i16 379, i16 381, i16 223, i16 261, i16 303, i16 257, i16 263, i16 228, i16 229, i16 281, i16 275, i16 269, i16 233, i16 378, i16 279, i16 291, i16 311, i16 299, i16 316, i16 353, i16 324, i16 326, i16 243, i16 333, i16 245, i16 246, i16 247, i16 371, i16 322, i16 347, i16 363, i16 252, i16 380, i16 382, i16 8217, i16 160, i16 7682, i16 7683, i16 163, i16 266, i16 267, i16 7690, i16 167, i16 7808, i16 169, i16 7810, i16 7691, i16 7922, i16 173, i16 174, i16 376, i16 7710, i16 7711, i16 288, i16 289, i16 7744, i16 7745, i16 182, i16 7766, i16 7809, i16 7767, i16 7811, i16 7776, i16 7923, i16 7812, i16 7813, i16 7777, i16 372, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 7786, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 374, i16 223, i16 373, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 7787, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 375, i16 255, i16 160, i16 161, i16 162, i16 163, i16 8364, i16 165, i16 352, i16 167, i16 353, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 381, i16 181, i16 182, i16 183, i16 382, i16 185, i16 186, i16 187, i16 338, i16 339, i16 376, i16 191, i16 160, i16 260, i16 261, i16 321, i16 8364, i16 171, i16 352, i16 167, i16 353, i16 169, i16 536, i16 8222, i16 377, i16 173, i16 378, i16 379, i16 176, i16 177, i16 268, i16 322, i16 381, i16 8221, i16 182, i16 183, i16 382, i16 269, i16 537, i16 187, i16 338, i16 339, i16 376, i16 380, i16 192, i16 193, i16 194, i16 258, i16 196, i16 262, i16 198, i16 199, i16 272, i16 323, i16 210, i16 211, i16 212, i16 336, i16 214, i16 346, i16 368, i16 217, i16 218, i16 219, i16 220, i16 280, i16 538, i16 223, i16 224, i16 225, i16 226, i16 259, i16 228, i16 263, i16 230, i16 231, i16 273, i16 324, i16 242, i16 243, i16 244, i16 337, i16 246, i16 347, i16 369, i16 249, i16 250, i16 251, i16 252, i16 281, i16 539, i16 255, i16 160, i16 260, i16 728, i16 321, i16 164, i16 317, i16 346, i16 167, i16 168, i16 352, i16 350, i16 356, i16 377, i16 173, i16 381, i16 379, i16 176, i16 261, i16 731, i16 322, i16 180, i16 318, i16 347, i16 711, i16 184, i16 353, i16 351, i16 357, i16 378, i16 733, i16 382, i16 380, i16 340, i16 193, i16 194, i16 258, i16 196, i16 313, i16 262, i16 199, i16 268, i16 201, i16 280, i16 203, i16 282, i16 205, i16 206, i16 270, i16 272, i16 323, i16 327, i16 211, i16 212, i16 336, i16 214, i16 215, i16 344, i16 366, i16 218, i16 368, i16 220, i16 221, i16 354, i16 223, i16 341, i16 225, i16 226, i16 259, i16 228, i16 314, i16 263, i16 231, i16 269, i16 233, i16 281, i16 235, i16 283, i16 237, i16 238, i16 271, i16 273, i16 324, i16 328, i16 243, i16 244, i16 337, i16 246, i16 247, i16 345, i16 367, i16 250, i16 369, i16 252, i16 253, i16 355, i16 729, i16 160, i16 294, i16 728, i16 163, i16 164, i16 0, i16 292, i16 167, i16 168, i16 304, i16 350, i16 286, i16 308, i16 173, i16 0, i16 379, i16 176, i16 295, i16 178, i16 179, i16 180, i16 181, i16 293, i16 183, i16 184, i16 305, i16 351, i16 287, i16 309, i16 189, i16 0, i16 380, i16 192, i16 193, i16 194, i16 0, i16 196, i16 266, i16 264, i16 199, i16 0, i16 209, i16 210, i16 211, i16 212, i16 288, i16 214, i16 215, i16 284, i16 217, i16 218, i16 219, i16 220, i16 364, i16 348, i16 223, i16 224, i16 225, i16 226, i16 0, i16 228, i16 267, i16 265, i16 231, i16 0, i16 241, i16 242, i16 243, i16 244, i16 289, i16 246, i16 247, i16 285, i16 249, i16 250, i16 251, i16 252, i16 365, i16 349, i16 729, i16 160, i16 260, i16 312, i16 342, i16 164, i16 296, i16 315, i16 167, i16 168, i16 352, i16 274, i16 290, i16 358, i16 173, i16 381, i16 175, i16 176, i16 261, i16 731, i16 343, i16 180, i16 297, i16 316, i16 711, i16 184, i16 353, i16 275, i16 291, i16 359, i16 330, i16 382, i16 331, i16 268, i16 201, i16 280, i16 203, i16 278, i16 205, i16 206, i16 298, i16 272, i16 325, i16 332, i16 310, i16 212, i16 213, i16 214, i16 215, i16 216, i16 370, i16 218, i16 219, i16 220, i16 360, i16 362, i16 223, i16 269, i16 233, i16 281, i16 235, i16 279, i16 237, i16 238, i16 299, i16 273, i16 326, i16 333, i16 311, i16 244, i16 245, i16 246, i16 247, i16 248, i16 371, i16 250, i16 251, i16 252, i16 361, i16 363, i16 729, i16 160, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 173, i16 1038, i16 1039, i16 8470, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 167, i16 1118, i16 1119, i16 160, i16 0, i16 0, i16 0, i16 164, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1548, i16 173, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1563, i16 0, i16 0, i16 0, i16 1567, i16 0, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1611, i16 1612, i16 1613, i16 1614, i16 1615, i16 1616, i16 1617, i16 1618, i16 0, i16 0, i16 0, i16 0, i16 0, i16 160, i16 8216, i16 8217, i16 163, i16 0, i16 0, i16 166, i16 167, i16 168, i16 169, i16 0, i16 171, i16 172, i16 173, i16 0, i16 8213, i16 176, i16 177, i16 178, i16 179, i16 900, i16 901, i16 902, i16 183, i16 904, i16 905, i16 906, i16 187, i16 908, i16 189, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 918, i16 919, i16 920, i16 921, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 929, i16 0, i16 931, i16 932, i16 933, i16 934, i16 935, i16 936, i16 937, i16 938, i16 939, i16 940, i16 941, i16 942, i16 943, i16 944, i16 945, i16 946, i16 947, i16 948, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 964, i16 965, i16 966, i16 967, i16 968, i16 969, i16 970, i16 971, i16 972, i16 973, i16 974, i16 0, i16 160, i16 0, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 184, i16 185, i16 247, i16 187, i16 188, i16 189, i16 190, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8215, i16 286, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 304, i16 350, i16 223, i16 287, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 305, i16 351, i16 255, i16 9472, i16 9474, i16 9484, i16 9488, i16 9492, i16 9496, i16 9500, i16 9508, i16 9516, i16 9524, i16 9532, i16 9600, i16 9604, i16 9608, i16 9612, i16 9616, i16 9617, i16 9618, i16 9619, i16 8992, i16 9632, i16 8729, i16 8730, i16 8776, i16 8804, i16 8805, i16 160, i16 8993, i16 176, i16 178, i16 183, i16 247, i16 9552, i16 9553, i16 9554, i16 1105, i16 9555, i16 9556, i16 9557, i16 9558, i16 9559, i16 9560, i16 9561, i16 9562, i16 9563, i16 9564, i16 9565, i16 9566, i16 9567, i16 9568, i16 9569, i16 1025, i16 9570, i16 9571, i16 9572, i16 9573, i16 9574, i16 9575, i16 9576, i16 9577, i16 9578, i16 9579, i16 9580, i16 169, i16 1102, i16 1072, i16 1073, i16 1094, i16 1076, i16 1077, i16 1092, i16 1075, i16 1093, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1103, i16 1088, i16 1089, i16 1090, i16 1091, i16 1078, i16 1074, i16 1100, i16 1099, i16 1079, i16 1096, i16 1101, i16 1097, i16 1095, i16 1098, i16 1070, i16 1040, i16 1041, i16 1062, i16 1044, i16 1045, i16 1060, i16 1043, i16 1061, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1071, i16 1056, i16 1057, i16 1058, i16 1059, i16 1046, i16 1042, i16 1068, i16 1067, i16 1047, i16 1064, i16 1069, i16 1065, i16 1063, i16 1066, i16 1179, i16 1171, i16 8218, i16 1170, i16 8222, i16 8230, i16 8224, i16 8225, i16 0, i16 8240, i16 1203, i16 8249, i16 1202, i16 1207, i16 1206, i16 0, i16 1178, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 0, i16 8482, i16 0, i16 8250, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1263, i16 1262, i16 1105, i16 164, i16 1251, i16 166, i16 167, i16 0, i16 0, i16 0, i16 171, i16 172, i16 173, i16 174, i16 0, i16 176, i16 177, i16 178, i16 1025, i16 0, i16 1250, i16 182, i16 183, i16 0, i16 8470, i16 0, i16 187, i16 0, i16 0, i16 0, i16 169, i16 9552, i16 9553, i16 9554, i16 1105, i16 1108, i16 9556, i16 1110, i16 1111, i16 9559, i16 9560, i16 9561, i16 9562, i16 9563, i16 1169, i16 9565, i16 9566, i16 9567, i16 9568, i16 9569, i16 1025, i16 1028, i16 9571, i16 1030, i16 1031, i16 9574, i16 9575, i16 9576, i16 9577, i16 9578, i16 1168, i16 9580, i16 169, i16 0, i16 3585, i16 3586, i16 3587, i16 3588, i16 3589, i16 3590, i16 3591, i16 3592, i16 3593, i16 3594, i16 3595, i16 3596, i16 3597, i16 3598, i16 3599, i16 3600, i16 3601, i16 3602, i16 3603, i16 3604, i16 3605, i16 3606, i16 3607, i16 3608, i16 3609, i16 3610, i16 3611, i16 3612, i16 3613, i16 3614, i16 3615, i16 3616, i16 3617, i16 3618, i16 3619, i16 3620, i16 3621, i16 3622, i16 3623, i16 3624, i16 3625, i16 3626, i16 3627, i16 3628, i16 3629, i16 3630, i16 3631, i16 3632, i16 3633, i16 3634, i16 3635, i16 3636, i16 3637, i16 3638, i16 3639, i16 3640, i16 3641, i16 3642, i16 0, i16 0, i16 0, i16 0, i16 3647, i16 3648, i16 3649, i16 3650, i16 3651, i16 3652, i16 3653, i16 3654, i16 3655, i16 3656, i16 3657, i16 3658, i16 3659, i16 3660, i16 3661, i16 3662, i16 3663, i16 3664, i16 3665, i16 3666, i16 3667, i16 3668, i16 3669, i16 3670, i16 3671, i16 3672, i16 3673, i16 3674, i16 3675, i16 0, i16 0, i16 0, i16 0], [4528 x i8] c"\00\00\01\00\00\00\00\00\02\03\04\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\06\07\08\09\0A\0B\00\00\00\00\00\00\00\00\0C\0D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\0F\00\00\00\00\10\11\12\13\14\15\00\00\00\16\00\00\00\00\00\00\00\17\18\19\00\00\00\00\00\00\1A\00\00\00\00\00\00\1B\1C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\1D\1E\00\1F\00 \00\00\00\00\00\00\00\00\00!\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\22#\00\00\00\00\00\00\00\00\00\00\00\00\00$%\13&'(\17\18\19\00\00\00\00\00\00)\00\00\00\00\00\00\00\1C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00*+,-\00\00.\14\00\00\00\00\00/01\00!\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00234\00\17\18\19\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03,-\11\12\13\14\00\00\00\00\00\00\00\00\02\0356789:;<=>?\00@A\00\00\00\00\00\00\00\00\00B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03CDEFGHIJKLMNOP\00\00\00\00\00\00\00\00\00Q\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03RS\11T\13UV\00W\00\00\00\00X\00\00\00\00\00\00\00\00YZ\00\00[\\]\00^\00\00\00\00\00\00_\00\00\00\00\00\00\00\00\02\03`a\11\12\13\14\00\00\00\00\00bcd\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00e\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03fghijklm\00\00nocp\00\00\00\00\00\00\00\00\00q\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00r\00\00\00\00\00\00\00\00e\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03stuvwxyz\00{|}~\7F\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\81\00\00\00\00\00\00\00\00\00\00\02\03\82\83\84\85\86\87\88\89\8A\8B\00\8C\8D\8E\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\8F\00\00\00\00\00\00\00\00\00\00\02\03\90t\91\92\93\94;\95\96\97\98\99\9A\9B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\9C\00\00\00\00\00\00\00\00\00\00\02\03\9D\00\00\00\00\00\9E-\11\12\13\9F\00\00\00\00\00\00\00\00\00\00\00\A0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03\A1\00\00\00\00\00\A2\A3\A4\A5\13\A6\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03\A7\A8\00\00\00\00\00\00\00\00\00\00\00\00\A9\11\AA\13\AB\00\00\00\00\AC\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03\AD\AE\00\1F\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\13&\00(\AF\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03,-\11\B0\13\B1\00\B2\00\B3\00\B4\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B5\B6\00\00\00\B7\B8\B9\BA\BB\BC\BD\00\00\00\00\00\00\00\00\00\00\00\BE\00\00\BF\00\C0\00\00\00\00\00\00\00\00\00\00\00\C1\00\00\00\00\00\00\00\00\00\00\00\00\00\C2\C3\C4\C5\00\C6\C7\00\C8\C9\CA\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\CB\CC\00\00\00\00\B8\B9\BA\BB\BC\BD\00\00\00\CD\00\CE\00\00\CF\00\D0\B9\BA\BB\BC\D1\00\00\00\D2\00\00\00\00\00\00\C2\C3\C4\C5\00\D3\D4\00\C8\C9\CA\00\00\00\00\00\D5-\11\D6\13\D7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A5\A4\00\00\AB\AC\A9\00\80\81\82\83\84\85\86\87\88\89\8A\8B\8C\8D\8E\8F\90\91\92\93\94\95\96\97\98\99\9A\9B\9C\9D\9E\9F\A0\00\00\00\00\00\00\00\00\00\00\A7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A6\00\00\00\00\00\B2\B4\B6\B8\BA\BC\BE\C0\C2\C4\C6\C8\CA\CC\CE\D0\D2\D4\D6\D8\DA\DC\DE\E0\E2\E4\E6\E8\EA\EC\EE\F0\F2\F4\F6\F8\FA\FC\00\00\00\FE\B0\AF\AA\B1\00\00\B3\B5\B7\B9\BB\BD\BF\C1\C3\C5\C7\C9\CB\CD\CF\D1\D3\D5\D7\D9\DB\DD\DF\E1\E3\E5\E7\E9\EB\ED\EF\F1\F3\F5\F7\F9\FB\FD\A2\00\A3\AD\00\00\00\00\00\00\00\00\00\A8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\AE\00\00\00\00\00\00\00\00\00\A0\00\00\00\A4\00\A6\A7\00\A9\00\AB\AC\AD\AE\00\B0\B1\00\00\00\B5\B6\B7\00\00\00\BB\00\00\00\00\00\A8\80\81\AA\BD\B2\AF\A3\8A\8C\8E\8D\00\A1\8F\C0\C1\C2\C3\C4\C5\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\E0\E1\E2\E3\E4\E5\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\FD\FE\FF\00\B8\90\83\BA\BE\B3\BF\BC\9A\9C\9E\9D\00\A2\9F\A5\B4\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\96\97\00\00\00\91\92\82\00\93\94\84\00\86\87\95\00\00\00\85\00\00\00\00\00\00\00\00\00\89\00\00\00\00\00\00\00\00\8B\9B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\88\00\00\00\00\00\00\00\00\00\B9\00\00\00\00\00\00\00\00\00\00\00\99\00\00\00\00\00\00\00\00\00\00\00\00\00\A0\A1\A2\A3\00\A5\A6\A7\A8\A9\00\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\00\BB\BC\BD\BE\BF\00\00\00\00\00\00\00\AA\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\BA\00\00\00\00\00\00\00\00\00\00\83\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\88\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\98\00\00\00\C0\C1\C2\C3\C4\C5\C6\C7\C8\C9\00\CB\CC\CD\CE\CF\D0\D1\D2\D3\00\00\00\00\00\00\00\00\00\00\00\00\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\00\00\00\00\00\D4\D5\D6\D7\D8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\FD\FE\00\00\00\00\00\00\00\00\00\00\A4\00\80\00\00\00\80\81\00\00\00\00\00\00\00\00\00\00\00\8D\8E\8F\90\00\00\00\00\00\00\00\00\00\00\00\00\9D\9E\00\A0\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\BF\00\00\00\00\00\00\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\00\00\8C\9C\00\00\00\00\00\00\00\00\00\00\00\00\8A\9A\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\9F\00\00\00\00\00\00\00\C0\C1\C2\C3\C4\C5\C6\C8\C9\CA\CB\CC\CD\CF\D0\D1\D2\D3\D4\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\E0\E1\E3\E4\C7\CE\D5\E2\E5\00\00\00\00\00\00\00\00\00\00\A0\00\00\00\00\00\00\A7\00\00\00\00\00\AD\00\00\B0\00\00\00\00\00\00\B7\00\00\00\00\00\00\00\00\00\C1\C2\C3\C4\C5\C6\00\00\C9\00\CB\00\CD\CE\CF\D0\00\00\D3\D4\D5\D6\00\D8\00\DA\DB\DC\DD\DE\DF\00\E1\E2\E3\E4\E5\E6\00\00\E9\00\EB\00\ED\EE\EF\F0\00\00\F3\F4\F5\F6\00\F8\00\FA\FB\FC\FD\FE\00\C0\E0\00\00\A1\B1\00\00\00\00\00\00\C8\E8\00\00\A9\B9\A2\B2\00\00\CC\EC\CA\EA\00\00\00\00\00\00\00\00\A3\B3\00\00\00\00\A5\B5\A4\B4\00\00\C7\E7\00\00\00\00\00\00\A6\B6\FF\00\00\A8\B8\00\00\00\00\00\00\00\00\D1\F1\00\00\00\AF\BF\D2\F2\00\00\AA\BA\00\00\00\00\AB\BB\D7\F7\AE\BE\00\00\00\00\00\00\D9\F9\00\00\00\00\00\00\00\00\00\AC\BC\00\00\00\00\00\00\BD\00\00\00\00\00\00\00\00\00\00\A0\00\A2\A3\A4\00\A6\A7\00\A9\00\AB\AC\AD\AE\00\B0\B1\B2\B3\00\B5\B6\B7\00\B9\00\BB\BC\BD\BE\00\00\00\00\00\C4\C5\AF\00\00\C9\00\00\00\00\00\00\00\00\00\D3\00\D5\D6\D7\A8\00\00\00\DC\00\00\DF\00\00\00\00\E4\E5\BF\00\00\E9\00\00\00\00\00\00\00\00\00\F3\00\F5\F6\F7\B8\00\00\00\FC\00\00\00\C2\E2\00\00\C0\E0\C3\E3\00\00\00\00\C8\E8\00\00\00\00\C7\E7\00\00\CB\EB\C6\E6\00\00\00\00\00\00\00\00\CC\EC\00\00\00\00\00\00\CE\EE\00\00\C1\E1\00\00\00\00\00\00\CD\ED\00\00\00\CF\EF\00\00\00\00\D9\F9\D1\F1\D2\F2\00\00\00\00\00\D4\F4\00\00\00\00\00\00\00\00\AA\BA\00\00\DA\FA\00\00\00\00\D0\F0\00\00\00\00\00\00\00\00\DB\FB\00\00\00\00\00\00\D8\F8\00\00\00\00\00\CA\EA\DD\FD\DE\FE\00\00\00\00\00\00\00\00\00\00\FF\00\00\B4\A1\A5\00\A0\00\00\A3\00\00\00\A7\00\A9\00\00\00\AD\AE\00\00\00\00\00\00\00\B6\00\00\00\00\00\00\00\00\00\00\D1\D2\D3\D4\D5\D6\00\D8\D9\DA\DB\DC\DD\00\DF\00\F1\F2\F3\F4\F5\F6\00\F8\F9\FA\FB\FC\FD\00\FF\00\00\00\00\00\00\00\00\00\00\A4\A5\00\00\00\00\B2\B3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\D0\F0\DE\FE\AF\00\00\00\00\00\00\00\00\00\A1\A2\00\00\00\00\00\00\A6\AB\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B0\B1\B4\B5\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B7\B9\00\00\00\00\00\00\00\00\BB\BF\00\00\00\00\00\00\00\00\D7\F7\00\00\00\00\A8\B8\AA\BA\BD\BE\00\00\00\00\00\00\00\00\00\00\00\00\AC\BC\00\00\00\00\00\00\00\00\00\00\00\00\A0\A1\A2\A3\00\A5\00\A7\00\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B3\00\B5\B6\B7\00\B9\BA\BB\00\00\00\BF\00\00\BC\BD\00\00\00\00\00\00\00\00\00\00\00\00\A6\A8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\BE\00\00\00\00\B4\B8\00\00\00\00\00\00\00\00\00\00\00\00\00\A4\00\00\00\A0\00\00\00\00\00\00\A7\00\A9\00\A5\00\AD\00\00\B0\B1\00\00\00\00\B6\B7\00\00\00\BB\00\00\00\00\C0\C1\C2\00\C4\00\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\00\00\D2\D3\D4\00\D6\00\00\D9\DA\DB\DC\00\00\DF\E0\E1\E2\00\E4\00\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\00\00\F2\F3\F4\00\F6\00\00\F9\FA\FB\FC\00\00\FF\00\00\C3\E3\A1\A2\C5\E5\00\00\00\00\B2\B9\00\00\D0\F0\00\00\00\00\00\00\DD\FD\00\00\00\00\00\00\00\A3\B3\D1\F1\00\00\00\00\00\00\00\00\00\00\00\D5\F5\BC\BD\00\00\00\00\00\00\D7\F7\00\00\00\00\D8\F8\00\00\00\00\00\00\BE\AC\AE\AF\BF\B4\B8\00\00\00\00\00\00\00\00\00\AA\BA\DE\FE\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B5\AB\00\A0\00\00\00\A4\00\00\A7\A8\00\00\00\00\AD\00\00\B0\00\00\00\B4\00\00\00\B8\00\00\00\00\00\00\00\00\C1\C2\00\C4\00\00\C7\00\C9\00\CB\00\CD\CE\00\00\00\00\D3\D4\00\D6\D7\00\00\DA\00\DC\DD\00\DF\00\E1\E2\00\E4\00\00\E7\00\E9\00\EB\00\ED\EE\00\00\00\00\F3\F4\00\F6\F7\00\00\FA\00\FC\FD\00\00\00\00\C3\E3\A1\B1\C6\E6\00\00\00\00\C8\E8\CF\EF\D0\F0\00\00\00\00\00\00\CA\EA\CC\EC\00\00\00\00\00\00\00\00\00\00\00\00\00\C5\E5\00\00\A5\B5\00\00\A3\B3\D1\F1\00\00\D2\F2\00\00\00\00\00\00\00\D5\F5\00\00\C0\E0\00\00\D8\F8\A6\B6\00\00\AA\BA\A9\B9\DE\FE\AB\BB\00\00\00\00\00\00\00\00\D9\F9\DB\FB\00\00\00\00\00\00\00\AC\BC\AF\BF\AE\BE\00\00\00\00\00\00\00\00\B7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A2\FF\00\B2\00\BD\00\00\A0\00\00\A3\A4\00\00\A7\A8\00\00\00\00\AD\00\00\B0\00\B2\B3\B4\B5\00\B7\B8\00\00\00\00\BD\00\00\C0\C1\C2\00\C4\00\00\C7\C8\C9\CA\CB\CC\CD\CE\CF\00\D1\D2\D3\D4\00\D6\D7\00\D9\DA\DB\DC\00\00\DF\E0\E1\E2\00\E4\00\00\E7\E8\E9\EA\EB\EC\ED\EE\EF\00\F1\F2\F3\F4\00\F6\F7\00\F9\FA\FB\FC\00\00\00\00\00\00\00\00\00\00\00\C6\E6\C5\E5\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\D8\F8\AB\BB\D5\F5\00\00\A6\B6\A1\B1\00\00\00\00\00\00\00\00\A9\B9\00\00\AC\BC\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\DE\FE\AA\BA\00\00\00\00\00\00\00\00\00\00\00\00\DD\FD\00\00\00\00\00\00\00\00\00\00\00\00\00\AF\BF\00\00\00\00\00\00\00\00\00\00\00\A2\FF\00\00\00\00\00\00\A0\00\00\00\A4\00\00\A7\A8\00\00\00\00\AD\00\AF\00\C1\C2\C3\C4\C5\C6\00\00\C9\00\CB\00\CD\CE\00\00\00\00\00\D4\D5\D6\D7\D8\00\DA\DB\DC\00\00\DF\00\E1\E2\E3\E4\E5\E6\00\00\E9\00\EB\00\ED\EE\00\00\00\00\00\F4\F5\F6\F7\F8\00\FA\FB\FC\00\00\00\D0\F0\AA\BA\00\00\CC\EC\CA\EA\00\00\00\00\00\00\00\00\AB\BB\00\00\00\00\A5\B5\CF\EF\00\00\C7\E7\00\00\00\00\00\00\D3\F3\A2\00\00\A6\B6\00\00\00\00\00\00\00\00\D1\F1\00\00\00\BD\BF\D2\F2\00\00\00\00\00\00\00\00\A3\B3\00\00\00\00\00\00\00\00\A9\B9\00\00\00\00\AC\BC\DD\FD\DE\FE\00\00\00\00\00\00\D9\F9\00\00\00\00\00\00\00\00\00\AE\BE\00\00\00\00\00\00\00\00\00\00\FF\00\B2\00\00\00\00\A0\00\00\00\00\00\00\FD\00\00\00\00\00\AD\00\00\00\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\00\AE\AF\00\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\00\FE\FF\00\00\00\00\00\00\F0\00\00\00\00\00\00\00\00\00\A0\00\00\00\A4\00\00\00\00\00\00\00\00\AD\00\00\00\00\00\00\00\00\00\00\00\00\00\00\AC\00\00\00\00\00\00\00\00\00\00\00\00\00\00\BB\00\00\00\BF\00\C1\C2\C3\C4\C5\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\00\00\00\00\00\F0\F1\F2\00\00\00\00\00\00\00\00\00\00\00\00\00\A0\00\00\A3\00\00\A6\A7\A8\A9\00\AB\AC\AD\00\00\B0\B1\B2\B3\00\00\00\B7\00\00\00\BB\00\BD\00\00\00\00\00\00\B4\B5\B6\00\B8\B9\BA\00\BC\00\BE\BF\D0\D1\00\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\FD\FE\00\00\00\00\00\00\AF\00\00\A1\A2\00\00\00\00\00\00\A0\00\A2\A3\A4\A5\A6\A7\A8\A9\00\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\00\BB\BC\BD\BE\00\00\00\00\00\00\00\00\DF\00\00\00\00\00\00\00\00\00\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\00\00\DF\00\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\00\00\FF\00\00\00\00\00\00\00\00\00\00\00\00\00\00\D0\F0\DD\FD\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\DE\FE\9A\00\00\00\00\00\00\00\00\BF\00\00\00\00\00\00\9C\00\9D\00\00\00\00\9E\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\9F\00\00\00\00\00\00\00\00\00\B3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E1\E2\F7\E7\E4\E5\F6\FA\E9\EA\EB\EC\ED\EE\EF\F0\F2\F3\F4\F5\E6\E8\E3\FE\FB\FD\FF\F9\F8\FC\E0\F1\C1\C2\D7\C7\C4\C5\D6\DA\C9\CA\CB\CC\CD\CE\CF\D0\D2\D3\D4\D5\C6\C8\C3\DE\DB\DD\DF\D9\D8\DC\C0\D1\00\A3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\95\96\00\00\00\00\00\00\00\00\00\00\00\00\00\97\00\00\00\00\00\00\00\00\00\00\00\98\99\00\00\00\00\00\00\00\00\00\00\93\9B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\00\81\00\00\00\00\00\00\00\00\00\82\00\00\00\83\00\00\00\84\00\00\00\85\00\00\00\86\00\00\00\00\00\00\00\87\00\00\00\00\00\00\00\88\00\00\00\00\00\00\00\89\00\00\00\00\00\00\00\8A\00\00\00\A0\A1\A2\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\00\00\00\8B\00\00\00\8C\00\00\00\8D\00\00\00\8E\00\00\00\8F\90\91\92\00\00\00\00\00\00\00\00\00\00\00\00\94\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A4\00\A6\A7\00\BF\00\AB\AC\AD\AE\00\B0\B1\B2\00\00\00\B6\B7\00\00\00\BB\00\00\00\00\00\00\83\81\00\00\00\00\00\00\90\80\00\00\00\00\00\00\8C\8A\00\00\8E\8D\00\00\00\00\00\00\00\00\00\00\B5\A5\00\00\00\00\00\00\00\00\00\00\A2\A1\00\B3\00\00\B4\00\B6\B7\00\00\00\00\00\00\00\00\00\A3\00\00\A4\00\A6\A7\00\00\00\00\00\00\00\00\BD\AD\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A0\A1\A2\00\A5\00\00\A8\A9\AA\AB\AC\00\AE\AF\B0\B1\B2\00\B5\00\00\B8\B9\BA\BB\BC\00\BE\00\00\00\00\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\00\00\00\00\DF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\00\00\00\00", [3604 x i8] c":!\1F2#\1E\02,\00'\04%&\05\07)\0F\12\09\0C\06\19\1A\0B+\00\00\00\00\00 \1D9*7407.$777\00\00\00\0158\03/3\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\17\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\16\19\19\19\19\13\00\00\00\00\00\00\00\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\14\00\00\00\00\00\00\00\007777777777777777777777777\19\10\08\19\1B-(\00\00\00\0E\22\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0061\00\00\11\0A\15\1C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\18\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\19\19\0D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E4\E4\E4\CD\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\D0\00\00\07\00\1A5UU>Uj\DE\00UovUUUUUUUUUUUZ\E4\DA\DEU\\\08UUUUI5UUUUUUUUUUS\E4\E4UUU\00\00\00\00\00\00\00UU\12?#UU(%;\C4-\002\03U\C7\00\B6PGUU(&=\E3\CC\1F\00 U\00\00\1DL(UU(U:\D2.\04\009U\00\00\1DUS\17UUGOS\11\D5\E4\00\00\1C\005UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU5UUUUXUAVXUk\00\00\00\00/\22\0B54\16\BC\CBJ\DEU<\00\00\00\00S\00\14\09U\BBSJDUUUUUUUUUUUUU7\00\00\00\14UUUUUSUUUUUUUS'S'UUUUS'UUUS'S'SSUUSUUTBLLUUUFJ\17(UUUUUUUUUUUUUUUUUUUUUULm\00UUn\00UUk\00UL*\00UUUUUU`\E4\E4\E4\E2\D3U7\00\00US'SUUUUSUU>\B9vp\D4\00\00\00\00UUUUUUUUUUI\00UUUR\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00UUUS\D0\00UUU>\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00UUUUG1\C5\C0UpY\C0\00\00\00\00\00\00\00\00UUUUR\00UUUUU)UUUUURUUUUUUU>\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00UUUUUUUUUULUUUUUUUUL\103UE&UUUUUUUUUUUUUUUUUU8UUUUUUUU>UUUUUUUUUU7UUUUUUUUUUUUUUUUUI\E4\E4\E4\E4\E4\E4\E0\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUH\00\00\00\00\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUHUUU\BBUUhUUUhUUUUUUUUUUUUUUUUUUUUR\00\00\00\00\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUUUR\00\00\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUUUUUUUS\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU^S\00xUUgUUUUUUUUUi\1F\00UUUUUUUY\00\00UUUUUUUU\17UUUUUU\00\00\00\00\00UNUU]UUU]UUXUUUXUUU\BBUUU\BBUUh9UUUUUU\86\AA\83\A7\86\AA\86\AA\83\A7{\96\86\AA\86\83\86\AA\86\AA\86\AA\82\AE\C9\AF}\AC\7F\AF\19\AD\92\92\00\00\00\00\97\AA\AA\AA\A86y\86\86\86\85\B4\B9\E4\CD\E4\E4\CD\D4\00UUU>g\00\92\92\92\92+\92\8F\00\00\00ezq~bUqraUURU\BDp\E4p\E4_\DF\00\00\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\91d\92\92\92\92\92\92\92\92\92\92\92\8C\92\92\92\92\92\92\92\9A\9Fs\92\92\92\92\92\A5\99\A0\A4\8E\93\9C\A1\8D[\8B\9F\9D\92\92\98\92\AA\AA\AA\AA\A7\86\86\86\86\83\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\AA\AA\AA\AA\AA\AA\86\86\86\86\86\86\92\92\92\92\94\CA\92\92\92\92\92\92\9A\9E\92\92\92\92\90\8C\B5\C1\E4\E4\E4\B9\E4\E4\E4\DC\C3\E0\B9\E4\E4\E4\E4\E4\D4\E4\E4\E4\B9\E0\00\00\E4\E4\E4\D0\E4\E4\B6K#UU($=\D1-\05\0A9U,\00\18@'0\13@T:\C5.\04\00\02U\C2\00\B6L(UU(Q:\D7.\0C\009U\00\00\1DL(UU(Q:\D7.\0C\019U\00\00\B6UUUUUU=\E4\DE\BEUoU,\00\B6K#UU(!;\D6-\04\0AlUp\C2\B9\E4Up\B1\AA\AA\B0\95\86\86\88\E1UUUUUUUUUUS\17\17\17\15\E0\E0\00\B8\BF\E4\E4\E4Up\E4\E4U5UUU>\B9\E4\E4H\E4\B9\E4\E4\E4\D7\E4\D6\00\00\00\00\00\00\CE\C8Zw\DDfcC\D9k\1B\E4\AA\AA\86\86H\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E0U7UUUUUUUUUUU\00UUUUU\BA\00\00\00\00\00\00\00\00\00\00\E4\E3\BBUUI\E4\E4\E4\C2\00\00\00\00\00\00UUUUY\E4t\00\00\00\00\00\00\00\00\00\E4\E4\00\00\D0\00\E4\E4\E5\B9\C6\E4\E0\D0LUUUUUUUUUUUUUUUUM\E4\E4\D2\B9\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\E4\C0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E4\E4\E4\D4\E4\E4\E4\E4\D0\00\B9\E4\E4\E4\E4\D1\E4\E4\E4\E4\E4\E4\E4\E4\E4\D0\E4\E4\E4\E4\E4\E0\E4\E4\E4\E4\E0\00\00\00\E4\C2\00\00\E4\E4\E4\E4\E4\E4\E4\D8UUW\AA\AA\AA\86\86\86\8A\E4\E0\E4\E4\E4\E4\E0\1E\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\00\00\00\00\E4\E4\E4\E4\E4\E4\E4\E4\DB\E4\00\00\E4\E4\0D\0F\0E\A2\9B\AA\A3\A6|\86\86\84\80\92\92\92\81\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E0\1B\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\E4\E4\E4\E0\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E0\00\00\00\00\00\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\00\00\00\E4\D0\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E6\E4\E4\E4vpw_5UUUUUUUUUS\B7vUUUUUUUUUUh\E9\E8\E4\E4\E4\EA\E4\E4\E4\E4\C4\06\D0\1Eu\E2\E4\E0\00\00\E4\E4\C0\00\00\00\E4\E4\E4\C2\00\00\EC\EB\EC\EC\E7\E4\B2\B3\B1\AA\AA\B0\95\86\86\89\EC\EC\EC\EC\E4\CF\DB\CF\AA\AA\AB\A9\86\86\87\86\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\11\00\00\00`\00\00\00f\00\00\00\90\00\00\06\00\00\00\10\11\00\00\10\16\00\00\11\10\00\00\11\11\00\00`\06\00\00f\00\00\00fd\00\01\00\06\00\01\10\01\00\06\00`\00\06\10\11\00\10\01\00\00\10\11\11\00\11\01\00\00\11\10\11\00\11\11\11\00\16\10\11\00!\01\11\00`\00`\00`ff\00f\06\00\00f\10\11\00fff\01\00\00\00\01\00\00\11\01\01\00\11\01\01\10\00\01\10\11\11\01\11\00\11\01\11\10\01\01\11\10\11\01\11\11\00\01\11\11\11\01`\00\00\01f\00\00\04$$$\06\00\00\00\06`f\00\06ff\00\10\01\01\10\10\01\01\11\10\01ff\10\11\01\01\10\11\01\11\10\11\10\10\10\11\11\11\10fff\11\00\00\00\11\00\00\10\11\00\00\11\11\00\00f\11\00\06f\11\00\11\00\11\00\16f\11\01\00\00\11\01\00\10\11\01\00\11\11\01\00`\11\01\10\11\11\06\10\11\11\10\01\11\11\10\10\11\11\10\11\01\11\10\11\11\11\11\00\00\11\11\01\00\11\11\01\01\11\11\01\10\11\11\01\11\11\11\01`\11\11\06\00\11\11\10\00\11\11\10\10\11\11\10\11\11\11\11\00\11\11\11\01\11\11\11\10\11\11\11\11\11\11\11\16\11\11\11D\11\11\11a\11\11\11f\11\11\16f\11\114B\11\11a\06\11\11a\11\11\11a\16\11\11af\11\11ff\11\12\11\11\11\12!\11\11\16\11\11\11!\00\00\11!\12\22\11D\11\16\11a\06\00\11a\11\11\11af\11\11aff\11f\00\00\11f\00\11\11f\06\00\11ff\06\11ff\11\11fff\12!\11\11\12\22\11\11\12$$$\16\00\00\00\16\00ff\16\11\11\11\16\11\11f\19\11\11\11 \22\22\22!!\11\11!!!!!\22\22\22\22\11\00\11\22\11\11!\22\11!\11\22\11!\12\22\12$\06\22!\01\11\22\22\22\00\22\22\22\02\22\22\22\12\22\22\22\22\22\22\22b\22bff\22bf\E6\22fff#4BB$\00\00\00$\11$!$\11DB$$\00\00$$$\00$$$\11$$$$$$$D$ff\06&\22\22\22@@@@@DDDA#$DA$$DABBBADDDB\11$DBB\22$BBB\02BBBBBD\12DBDBBD\04\04DD@DDDB$DDBB\22DD\22\22DDD\00DDD\04DDD$DDDDDDDdDD`fDDd\06DDdbDDdfDdffFDDDUUUUUfff`\06\00\00`f\06f`f\10\11`f\16\11`ff\00`fffa\00\00\00a\11\11\11a\11ffa\16\11\11af\06\00affff\00\00\00f\00fff\06\00\00f\06\00\06f\06\00`f\06\00ff\06fff\11\01\00f\11\11\11f!\01\11f$$$f`\16\00f`f\00f`fffaf\16faffff\00\00ff\00`ff\00fff\01\00ff\06\00ff\06\06ff\06`ff\06fff\11\11ff\16\11ff\16aff&fff``ffadfff\00fff\01fff\06fff\11fff\16fff`ffffffv\07if\16\11ifff\99\99ff\99\99\99i\CCfff\DE\CC\CC\EE\EE\EE\EE\EE", [1680 x i8] c"\04\06\07\00\00\00\00\00\00\00\00\00\00\00\00\05\01\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\00\00\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\0D\00\00\00\00\00\00QQRR\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\1B\1B\19\0F\1F\1F\1D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\03SSSUUUT\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\1B\1B\19\0F\1F\1F\1D\00\00\00\00\00\00\04\00\1B\1B\1A\1A\1F\1F\1E ((((((1\10,*(((((2\11.3%)/0$\064,-((\12((((((((((((((((((('\08(((((((((((#GIFHGIGIFH\16\17GIMNGIGIGIEJ\09OCKDL\09P((((5(&\00\00\00\07\1367\0B\0089\0C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\01:\0E\1B\18\1C\0F\1F\22!;(((<\00>>\1B\1B\1B\1B\1F\1F\1F\1F==((((#\0A((((((\10+(((('#((\00\00\00\00\14@@@?\00\15BBBA\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00WWWWVYYYYX\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\001\00\00\00\00\00\00\00Y\00\00\00\00\00\00\00^^\00\00\00\00\00\03\00\00\00\00\00\00\000\00\00\00\00\00\00\1C\1D\1E\1C\00\00\00#$\00%%\00\00\00E\00\00\00\00\00\00\00N\00\00\00\00\00\00\05\06\05\06\05\06\00\00+\00\00,\00\00\00\00/\00\00\00\00\00\00\00Z[\00\00\00\00\00\01\01\01\01\01\01\01\00\02\02\02\02\02\02\02\00\05\06\05\06\05\06\05\00\0B\05\06\05\06\0C\05\00\1C\1D\1E\05\06 !\00&\00'\00\00\00\00\00CCCCCCC\00DDDDDDD\00F\00F\00F\00F\00G\00G\00G\00G\01\01\00\01\01\01\01\01\01\01\01\00\00\00\00\00\01\01\01\01\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\015666\02\02\02\00\00\00\00\00\02\02\02\02\02\02\02\00\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\04\02\02\02\02899\00\02\027\02\02\02\02\02\05\06\00\00\00\00\00\00\05\06\00\00\05\06\00\1B\05\06\00\00\13\15\16\17\05\06\05\06\00\00\00\00\05\06\05\06\05\06\00\00\05\06\05\06\05\06\05\06\05\06\05\06\05\06\18\05\06\00\05\06\05\06\05\06\06\05\06\05\06\05\06\00\06\05\06\05\06\05\06\05\06\05\06\05\06\1F\05\06\06\0D\0D\05\06\00\0E\0F\06\18\00\00\05\06\18\05\06\19\19\05\06\05\06\1A\07\08\05\06\05\06\05\06\09\05\06\05\06\05\06\0A\10\05\06\0D\11\12\13\14\1D\1E\1C\1D\1E\05\06\05\22\00\05\06\05\06\05\06%\00\00(\00\00\00\00)*\00\00\00\00\00*-\00\00-\00\00\00\00-\00..\00\00\00\00222\003\0044:;\00\00\00<=\00>?\1F\00@A\00\00????????BBBBBBBBCCCCCCC\00CCCCCCCCDDDDDDD\00DDDDDDDDFF\00\00\00\00\00\00FF\00\00\00T\00\00FF\00N\00\00\00\00FFFFFF\00\00FFFFFFFFGGGGGG\00\00GGGGGGGGGGOOP\00Q\00GGSS\00\00\00\00GGUUV\00\00\00HHIIIIJJKKLLMM\00\00RRRRP\00\00\00WWXXP\00\00\00\\\\\\\\\\\\\\\\]]]]]]]]^^^^^^^^__\00\00\00\00\00\00________``````\00\00````````aaaaaa\00\00aaaaaaaa", [196 x i16] [i16 0, i16 0, i16 0, i16 32, i16 -32, i16 0, i16 743, i16 0, i16 121, i16 0, i16 0, i16 1, i16 -1, i16 0, i16 0, i16 -199, i16 -232, i16 0, i16 0, i16 -121, i16 -300, i16 0, i16 0, i16 210, i16 0, i16 206, i16 0, i16 205, i16 0, i16 79, i16 0, i16 202, i16 0, i16 203, i16 0, i16 207, i16 97, i16 0, i16 0, i16 211, i16 0, i16 209, i16 0, i16 213, i16 130, i16 0, i16 0, i16 214, i16 0, i16 218, i16 0, i16 217, i16 0, i16 219, i16 56, i16 0, i16 0, i16 2, i16 -1, i16 1, i16 -2, i16 0, i16 -79, i16 0, i16 0, i16 -97, i16 0, i16 -56, i16 0, i16 -130, i16 -210, i16 0, i16 -206, i16 0, i16 -205, i16 0, i16 -202, i16 0, i16 -203, i16 0, i16 -207, i16 0, i16 -209, i16 0, i16 -211, i16 0, i16 -213, i16 0, i16 -214, i16 0, i16 -218, i16 0, i16 -217, i16 0, i16 -219, i16 0, i16 84, i16 0, i16 0, i16 38, i16 0, i16 37, i16 0, i16 64, i16 0, i16 63, i16 -38, i16 0, i16 -37, i16 0, i16 -31, i16 0, i16 -64, i16 0, i16 -63, i16 0, i16 -62, i16 0, i16 -57, i16 0, i16 -47, i16 0, i16 -54, i16 0, i16 -86, i16 0, i16 -80, i16 0, i16 0, i16 -60, i16 -96, i16 0, i16 0, i16 80, i16 0, i16 48, i16 -48, i16 0, i16 -59, i16 0, i16 8, i16 0, i16 0, i16 -8, i16 74, i16 0, i16 86, i16 0, i16 100, i16 0, i16 128, i16 0, i16 112, i16 0, i16 126, i16 0, i16 9, i16 0, i16 0, i16 -74, i16 0, i16 -9, i16 -7205, i16 0, i16 0, i16 -86, i16 0, i16 -100, i16 7, i16 0, i16 0, i16 -112, i16 0, i16 -7, i16 0, i16 -128, i16 0, i16 -126, i16 0, i16 -7517, i16 0, i16 -8383, i16 0, i16 -8262, i16 0, i16 16, i16 -16, i16 0, i16 0, i16 26, i16 -26, i16 0, i16 0, i16 40, i16 -40, i16 0], [51 x i8] c"\000\001\002\003\004\005\006\007\008\009\00\DB\B0\00\DB\B1\00\DB\B2\00\DB\B3\00\DB\B4\00\DB\B5\00\DB\B6\00\DB\B7\00\DB\B8\00\DB\B9\00", [28 x i8] c"\00.\00,\00\03\00\03\02\00\A0\00\C2\A0\00 \00\D9\AB\00\D9\AC\00'\00\02\03\00", [1646 x i8] c"\00\7F\00-\00ZAR \00R\00,\00.\00\03\00\02\00\01\00-R\00ETB \00$\00-$\00AED \00\CF.\C5.\00-\CF.\C5.\00\D8\AF.\D8\A5.\00-\D8\AF.\D8\A5.\00BHD \00\CF.\C8.\00-\CF.\C8.\00\D8\AF.\D8\A8.\00-\D8\AF.\D8\A8.\00DZD \00\CF.\CC.\00-\CF.\CC.\00\D8\AF.\D8\AC.\00-\D8\AF.\D8\AC.\00EGP \00\CC.\E5.\00-\CC.\E5.\00\D8\AC.\D9\85.\00-\D8\AC.\D9\85.\00INR \00\E2\82\A8\00\03\02\00-\E2\82\A8\00IQD \00\CF.\D9.\00-\CF.\D9.\00\D8\AF.\D8\B9.\00-\D8\AF.\D8\B9.\00JOD \00\CF.\C3.\00-\CF.\C3.\00\D8\AF.\D8\A3.\00-\D8\AF.\D8\A3.\00KWD \00\CF.\E3.\00-\CF.\E3.\00\D8\AF.\D9\83.\00-\D8\AF.\D9\83.\00LBP \00\E4.\E4.\00-\E4.\E4.\00\D9\84.\D9\84.\00-\D9\84.\D9\84.\00LYD \00\CF.\E4.\00-\CF.\E4.\00\D8\AF.\D9\84.\00-\D8\AF.\D9\84.\00MAD \00\CF.\E5.\00-\CF.\E5.\00\D8\AF.\D9\85.\00-\D8\AF.\D9\85.\00OMR \00\D1.\D9.\00-\D1.\D9.\00\D8\B1.\D8\B9.\00-\D8\B1.\D8\B9.\00QAR \00\D1.\E2.\00-\D1.\E2.\00\D8\B1.\D9\82.\00-\D8\B1.\D9\82.\00SAR \00\D1\EA\C7\E4\00+\D1\EA\C7\E4\00\D8\B1\D9\8A\D8\A7\D9\84\00+\D8\B1\D9\8A\D8\A7\D9\84\00SDP \00\CC.\D3.\00-\CC.\D3.\00\D8\AC.\D8\B3.\00-\D8\AC.\D8\B3.\00SYP \00\E4.\D3.\00-\E4.\D3.\00\D9\84.\D8\B3.\00-\D9\84.\D8\B3.\00TND \00\CF.\CA.\00-\CF.\CA.\00\D8\AF.\D8\AA.\00-\D8\AF.\D8\AA.\00YER \00\D1.\EA.\00-\D1.\EA.\00\D8\B1.\D9\8A.\00-\D8\B1.\D9\8A.\00AZM \00man.\00 \00+man.\00BYR \00\F0\F3\E1\00+\F0\F3\E1\00\D1\80\D1\83\D0\B1\00+\D1\80\D1\83\D0\B1\00BGL \00\EB\E2\00\A0\00+\EB\E2\00\D0\BB\D0\B2\00\C2\A0\00+\D0\BB\D0\B2\00\E0\A7\B3\00-\E0\A7\B3\00\E0\A6\9F\E0\A6\BE\E0\A6\95\E0\A6\BE\00\02\03\00-\E0\A6\9F\E0\A6\BE\E0\A6\95\E0\A6\BE\00EUR \00EUR\00+EUR\00\E2\82\AC\00+\E2\82\AC\00BAK \00KM\00-KM\00-EUR\00-\E2\82\AC\00\A4\00-\A4\00CZK \00K\E8\00+K\E8\00K\C4\8D\00+K\C4\8D\00GBP \00\A3\00-\A3\00\C2\A3\00-\C2\A3\00DKK \00kr\00\04\00-kr\00CHF \00Fr.\00-Fr.\00+\A4\00AUD \00BWP \00Pu\00-Pu\00CAD \00\C2\A4\00-\C2\A4\00HKD \00HK$\00-HK$\00NZD \00PHP \00Php\00-Php\00SGD \00USD \00ZWD \00Z$\00-Z$\00-EUR \00ARS \00BOB \00$b\00-$b\00CLP \00COP \00CRC \00C\00-C\00DOP \00ECS \00GTQ \00Q\00-Q\00HNL \00L.\00-L.\00MXP \00NIO \00$C\00-$C\00PAB \00B/\00-B/\00PEN \00S/\00-S/\00PYG \00Gs.\00-Gs.\00SVC \00\A2\00-\A2\00\C2\A2\00-\C2\A2\00UYU \00N$\00-N$\00VEB \00Bs.\00-Bs.\00EEK \00IRR \00\D8\B1\DB\8C\D8\A7\D9\84\00\D9\AB\00\D9\AC\00+\D8\B1\DB\8C\D8\A7\D9\84\00+$\00ILS \00\F9\E7\00-\F9\E7\00\D7\A9\D7\97\00-\D7\A9\D7\97\00\E0\A4\B0\E0\A5\82\00-\E0\A4\B0\E0\A5\82\00HRK \00Kn\00-Kn\00HUF \00Ft\00+Ft\00AMD \00\B8\00-\B8\00\D4\B4\00-\D4\B4\00IDR \00Rp\00-Rp\00ISK \00+kr\00JPY \00\EF\BF\A5\00-\EF\BF\A5\00GEL \00\CB\00-\CB\00\E1\83\9A\00-\E1\83\9A\00KRW \00\EF\BF\A6\00-\EF\BF\A6\00LTL \00Lt\00+Lt\00LVL \00Ls\00-Ls\00MKD \00\D4\D5\DD\00+\D4\D5\DD\00\D0\B4\D0\B5\D0\BD\00+\D0\B4\D0\B5\D0\BD\00\E0\A4\B0\E0\A5\81\00-\E0\A4\B0\E0\A5\81\00MYR \00RM\00-RM\00MTL \00Lm\00-Lm\00NOK \00PLN \00Z\B3\00-Z\B3\00Z\C5\82\00-Z\C5\82\00BRL \00R$\00+R$\00ROL \00Lei\00-Lei\00RUR \00\D2\D5\C2\00+\D2\D5\C2\00\E0\E3\D1\00+\E0\E3\D1\00UAH \00\C7\D2\00+\C7\D2\00\D0\B3\D1\80\00+\D0\B3\D1\80\00 ru\00- ru\00SKK \00Sk\00+Sk\00SIT \00SIT\00+SIT\00ALL \00Lek\00-Lek\00YUN \00din\00-din\00\D4\D8\DD\00-\D4\D8\DD\00\D0\B4\D0\B8\D0\BD\00-\D0\B4\D0\B8\D0\BD\00SEK \00THB \00\DF\00-\DF\00\E0\B8\BF\00-\E0\B8\BF\00ERB \00PhP\00-PhP\00TRL \00TL\00+TL\00PKR \00Rs\00-Rs\00UZS \00so'm\00-so'm\00VND \00\E2\82\AB\00+\E2\82\AB\00CNY \00TWD \00NT$\00-NT$\00", [28353 x i8] c"\00Sun\00Mon\00Tue\00Wed\00Thu\00Fri\00Sat\00Sunday\00Monday\00Tuesday\00Wednesday\00Thursday\00Friday\00Saturday\00Jan\00Feb\00Mar\00Apr\00May\00Jun\00Jul\00Aug\00Sep\00Oct\00Nov\00Dec\00January\00February\00March\00April\00June\00July\00August\00September\00October\00November\00December\00AM\00PM\00%a %b %e %H:%M:%S %Y\00%m/%d/%y\00%H:%M:%S\00%I:%M:%S %p\00So\00Ma\00Di\00Wo\00Do\00Vr\00Sa\00Sondag\00Maandag\00Dinsdag\00Woensdag\00Donderdag\00Vrydag\00Saterdag\00Mei\00Okt\00Des\00Januarie\00Februarie\00Maart\00Junie\00Julie\00Augustus\00Oktober\00Desember\00VM\00NM\00%a %d %b %Y %T %Z\00%d/%m/%y\00%T\00\E1\8A\A5\E1\88\91\E1\8B\B5\00\E1\88\B0\E1\8A\9E\00\E1\88\9B\E1\8A\AD\E1\88\B0\E1\8A\9E\00\E1\88\A8\E1\89\A1\E1\8B\95\00\E1\88\90\E1\88\99\E1\88\B5\00\E1\8B\93\E1\88\AD\E1\89\A5\00\E1\89\85\E1\8B\B3\E1\88\9C\00\E1\8C\83\E1\8A\95\E1\8B\A9\00\E1\8D\8C\E1\89\A5\E1\88\A9\00\E1\88\9B\E1\88\AD\E1\89\BD\00\E1\8A\A4\E1\8D\95\E1\88\A8\00\E1\88\9C\E1\8B\AD\00\E1\8C\81\E1\8A\95\00\E1\8C\81\E1\88\8B\E1\8B\AD\00\E1\8A\A6\E1\8C\88\E1\88\B5\00\E1\88\B4\E1\8D\95\E1\89\B4\00\E1\8A\A6\E1\8A\AD\E1\89\B0\00\E1\8A\96\E1\89\AC\E1\88\9D\00\E1\8B\B2\E1\88\B4\E1\88\9D\00\E1\8C\83\E1\8A\95\E1\8B\A9\E1\8B\88\E1\88\AA\00\E1\8D\8C\E1\89\A5\E1\88\A9\E1\8B\88\E1\88\AA\00\E1\8A\A4\E1\8D\95\E1\88\A8\E1\88\8D\00\E1\8A\A6\E1\8C\88\E1\88\B5\E1\89\B5\00\E1\88\B4\E1\8D\95\E1\89\B4\E1\88\9D\E1\89\A0\E1\88\AD\00\E1\8A\A6\E1\8A\AD\E1\89\B0\E1\8B\8D\E1\89\A0\E1\88\AD\00\E1\8A\96\E1\89\AC\E1\88\9D\E1\89\A0\E1\88\AD\00\E1\8B\B2\E1\88\B4\E1\88\9D\E1\89\A0\E1\88\AD\00\E1\8C\A0\E1\8B\8B\E1\89\B5\00\E1\8A\A8\E1\88\B3\E1\8B\93\E1\89\B5\00%A\E1\8D\A3 %b %e \E1\89\80\E1\8A\95 %l:%M:%S %Z %Y\00%d/%m/%Y\00%r\00\CD\00\E6\00\CB\00\D1\00\CE\00\CC\00\D3\00\C7\E4\C3\CD\CF\00\C7\E4\C7\CB\E6\EA\E6\00\C7\E4\CB\E4\C7\CB\C7\C1\00\C7\E4\C3\D1\C8\D9\C7\C1\00\C7\E4\CE\E5\EA\D3\00\C7\E4\CC\E5\D9\C9\00\C7\E4\D3\C8\CA \00\EA\E6\C7\00\E1\C8\D1\00\E5\C7\D1\00\C3\C8\D1\00\E5\C7\EA\00\EA\E8\E6\00\EA\E8\E4\00\C3\DA\D3\00\D3\C8\CA\00\C3\E3\CA\00\E6\E8\E1\00\CF\EA\D3\00\EA\E6\C7\EA\D1\00\E1\C8\D1\C7\EA\D1\00\E5\C7\D1\D3\00\C3\C8\D1\EA\E4\00\E5\C7\EA\E8\00\EA\E8\E6\EA\E8\00\EA\E8\E4\EA\E8\00\C3\DA\D3\D7\D3\00\D3\C8\CA\E5\C8\D1\00\C3\E3\CA\E8\C8\D1\00\E6\E8\E1\E5\C8\D1\00\CF\EA\D3\E5\C8\D1\00\D5\00\E5\00%d %b, %Y %Z %I:%M:%S %p\00%d %b, %Y\00%Z %I:%M:%S \00%Z %I:%M:%S %p\00\D8\AD\00\D9\86\00\D8\AB\00\D8\B1\00\D8\AE\00\D8\AC\00\D8\B3\00\D8\A7\D9\84\D8\A3\D8\AD\D8\AF\00\D8\A7\D9\84\D8\A7\D8\AB\D9\86\D9\8A\D9\86\00\D8\A7\D9\84\D8\AB\D9\84\D8\A7\D8\AB\D8\A7\D8\A1\00\D8\A7\D9\84\D8\A3\D8\B1\D8\A8\D8\B9\D8\A7\D8\A1\00\D8\A7\D9\84\D8\AE\D9\85\D9\8A\D8\B3\00\D8\A7\D9\84\D8\AC\D9\85\D8\B9\D8\A9\00\D8\A7\D9\84\D8\B3\D8\A8\D8\AA \00\D9\8A\D9\86\D8\A7\00\D9\81\D8\A8\D8\B1\00\D9\85\D8\A7\D8\B1\00\D8\A3\D8\A8\D8\B1\00\D9\85\D8\A7\D9\8A\00\D9\8A\D9\88\D9\86\00\D9\8A\D9\88\D9\84\00\D8\A3\D8\BA\D8\B3\00\D8\B3\D8\A8\D8\AA\00\D8\A3\D9\83\D8\AA\00\D9\86\D9\88\D9\81\00\D8\AF\D9\8A\D8\B3\00\D9\8A\D9\86\D8\A7\D9\8A\D8\B1\00\D9\81\D8\A8\D8\B1\D8\A7\D9\8A\D8\B1\00\D9\85\D8\A7\D8\B1\D8\B3\00\D8\A3\D8\A8\D8\B1\D9\8A\D9\84\00\D9\85\D8\A7\D9\8A\D9\88\00\D9\8A\D9\88\D9\86\D9\8A\D9\88\00\D9\8A\D9\88\D9\84\D9\8A\D9\88\00\D8\A3\D8\BA\D8\B3\D8\B7\D8\B3\00\D8\B3\D8\A8\D8\AA\D9\85\D8\A8\D8\B1\00\D8\A3\D9\83\D8\AA\D9\88\D8\A8\D8\B1\00\D9\86\D9\88\D9\81\D9\85\D8\A8\D8\B1\00\D8\AF\D9\8A\D8\B3\D9\85\D8\A8\D8\B1\00\D8\B5\00\D9\85\00\C7\E4\D3\C8\CA\00\D8\A7\D9\84\D8\B3\D8\A8\D8\AA\00%A %d %B %Y %I:%M:%S %p %Z\00%A %d %B %Y\00%I:%M:%S %Z\00%I:%M:%S %p %Z\00\E3\C7\E6\E8\E6 \C7\E4\CB\C7\E6\EA\00\D4\C8\C7\D7\00\C2\D0\C7\D1\00\E6\EA\D3\C7\E6\00\E6\E8\C7\D1\00\CD\D2\EA\D1\C7\E6\00\CA\E5\E8\D2\00\C2\C8\00\C3\EA\E4\E8\E4\00\CA\D4\D1\EA\E6 \C7\E4\C3\E8\E4\00\CA\D4\D1\EA\E6 \C7\E4\CB\C7\E6\EA\00\E3\C7\E6\E8\E6 \C7\E4\C3\E8\E4\00\D9\83\D8\A7\D9\86\D9\88\D9\86 \D8\A7\D9\84\D8\AB\D8\A7\D9\86\D9\8A\00\D8\B4\D8\A8\D8\A7\D8\B7\00\D8\A2\D8\B0\D8\A7\D8\B1\00\D9\86\D9\8A\D8\B3\D8\A7\D9\86\00\D9\86\D9\88\D8\A7\D8\B1\00\D8\AD\D8\B2\D9\8A\D8\B1\D8\A7\D9\86\00\D8\AA\D9\85\D9\88\D8\B2\00\D8\A2\D8\A8\00\D8\A3\D9\8A\D9\84\D9\88\D9\84\00\D8\AA\D8\B4\D8\B1\D9\8A\D9\86 \D8\A7\D9\84\D8\A3\D9\88\D9\84\00\D8\AA\D8\B4\D8\B1\D9\8A\D9\86 \D8\A7\D9\84\D8\AB\D8\A7\D9\86\D9\8A\00\D9\83\D8\A7\D9\86\D9\88\D9\86 \D8\A7\D9\84\D8\A3\D9\88\D9\84\00\C7\E4\C5\CB\E6\EA\E6\00\C7\E4\CC\E5\D9\E0\C9\00\E6\EA\D3\E0\C7\E6\00\C3\EA\C7\D1\00\CA\E0\E5\E0\E8\D2\00%A %.1d %B %Y %.1H:%M:%S\00%A %.1d %B %Y\00%.1H:%M:%S\00\D8\A7\D9\84\D8\A5\D8\AB\D9\86\D9\8A\D9\86\00\D8\A7\D9\84\D8\AC\D9\85\D8\B9\D9\80\D8\A9\00\D9\86\D9\8A\D8\B3\D9\80\D8\A7\D9\86\00\D8\A3\D9\8A\D8\A7\D8\B1\00\D8\AA\D9\80\D9\85\D9\80\D9\88\D8\B2\00\E6\E8\C7\D1\C7\E6\00\CD\D2\EA\D1\00\D9\86\D9\88\D8\A7\D8\B1\D8\A7\D9\86\00\D8\AD\D8\B2\D9\8A\D8\B1\00baz\00bir\00iki\00\FC\E7\FC\00d\F6r\00be\FE\00alt\00bazar g\FCn\FC\00birinci g\FCn\00ikinci g\FCn\00\FC\E7\FCnc\FC g\FCn\00d\F6rd\FCnc\FC g\FCn\00be\FEinci g\FCn\00alt\FDnc\FD g\FCn\00Yan\00Fev\00\DDyn\00\DDyl\00Avq\00Sen\00Noy\00Dek\00yanvar\00fevral\00mart\00aprel\00may\00iyun\00iyul\00avqust\00sentyabr\00oktyabr\00noyabr\00dekabr\00%A, %d %B %Y %T\00%d.%m.%Y\00\C3\BC\C3\A7\C3\BC\00d\C3\B6r\00be\C5\9F\00bazar g\C3\BCn\C3\BC\00birinci g\C3\BCn\00ikinci g\C3\BCn\00\C3\BC\C3\A7\C3\BCnc\C3\BC g\C3\BCn\00d\C3\B6rd\C3\BCnc\C3\BC g\C3\BCn\00be\C5\9Finci g\C3\BCn\00alt\C4\B1nc\C4\B1 g\C3\BCn\00\C4\B0yn\00\C4\B0yl\00\CD\FF\E4\00\CF\E0\ED\00\C0\A2\F2\00\D1\F0\E4\00\D7\F6\E2\00\CF\FF\F2\00\D1\F3\E1\00\CD\FF\E4\E7\E5\EB\FF\00\CF\E0\ED\FF\E4\E7\E5\EB\E0\EA\00\C0\A2\F2\EE\F0\E0\EA\00\D1\E5\F0\E0\E4\E0\00\D7\E0\F6\E2\E5\F0\00\CF\FF\F2\ED\B3\F6\E0\00\D1\F3\E1\EE\F2\E0\00\D1\F2\E4\00\CB\FE\F2\00\D1\E0\EA\00\CA\F0\F1\00\D2\F0\E0\00\D7\FD\F0\00\CB\B3\EF\00\C6\ED\E2\00\C2\F0\F1\00\CA\F1\F2\00\CB\B3\F1\00\D1\ED\E6\00\D1\F2\F3\E4\E7\E5\ED\FC\00\CB\FE\F2\FB\00\D1\E0\EA\E0\E2\B3\EA\00\CA\F0\E0\F1\E0\E2\B3\EA\00\D2\F0\E0\E2\E5\ED\FC\00\D7\FD\F0\E2\E5\ED\FC\00\CB\B3\EF\E5\ED\FC\00\C6\ED\B3\E2\E5\ED\FC\00\C2\E5\F0\E0\F1\E5\ED\FC\00\CA\E0\F1\F2\F0\FB\F7\ED\B3\EA\00\CB\B3\F1\F2\E0\EF\E0\E4\00\D1\ED\E5\E6\E0\ED\FC\00%a %d %b %Y %T\00\D0\9D\D1\8F\D0\B4\00\D0\9F\D0\B0\D0\BD\00\D0\90\D1\9E\D1\82\00\D0\A1\D1\80\D0\B4\00\D0\A7\D1\86\D0\B2\00\D0\9F\D1\8F\D1\82\00\D0\A1\D1\83\D0\B1\00\D0\9D\D1\8F\D0\B4\D0\B7\D0\B5\D0\BB\D1\8F\00\D0\9F\D0\B0\D0\BD\D1\8F\D0\B4\D0\B7\D0\B5\D0\BB\D0\B0\D0\BA\00\D0\90\D1\9E\D1\82\D0\BE\D1\80\D0\B0\D0\BA\00\D0\A1\D0\B5\D1\80\D0\B0\D0\B4\D0\B0\00\D0\A7\D0\B0\D1\86\D0\B2\D0\B5\D1\80\00\D0\9F\D1\8F\D1\82\D0\BD\D1\96\D1\86\D0\B0\00\D0\A1\D1\83\D0\B1\D0\BE\D1\82\D0\B0\00\D0\A1\D1\82\D0\B4\00\D0\9B\D1\8E\D1\82\00\D0\A1\D0\B0\D0\BA\00\D0\9A\D1\80\D1\81\00\D0\A2\D1\80\D0\B0\00\D0\A7\D1\8D\D1\80\00\D0\9B\D1\96\D0\BF\00\D0\96\D0\BD\D0\B2\00\D0\92\D1\80\D1\81\00\D0\9A\D1\81\D1\82\00\D0\9B\D1\96\D1\81\00\D0\A1\D0\BD\D0\B6\00\D0\A1\D1\82\D1\83\D0\B4\D0\B7\D0\B5\D0\BD\D1\8C\00\D0\9B\D1\8E\D1\82\D1\8B\00\D0\A1\D0\B0\D0\BA\D0\B0\D0\B2\D1\96\D0\BA\00\D0\9A\D1\80\D0\B0\D1\81\D0\B0\D0\B2\D1\96\D0\BA\00\D0\A2\D1\80\D0\B0\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\A7\D1\8D\D1\80\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\9B\D1\96\D0\BF\D0\B5\D0\BD\D1\8C\00\D0\96\D0\BD\D1\96\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\92\D0\B5\D1\80\D0\B0\D1\81\D0\B5\D0\BD\D1\8C\00\D0\9A\D0\B0\D1\81\D1\82\D1\80\D1\8B\D1\87\D0\BD\D1\96\D0\BA\00\D0\9B\D1\96\D1\81\D1\82\D0\B0\D0\BF\D0\B0\D0\B4\00\D0\A1\D0\BD\D0\B5\D0\B6\D0\B0\D0\BD\D1\8C\00\ED\E4\00\EF\ED\00\E2\F2\00\F1\F0\00\F7\F2\00\EF\F2\00\F1\E1\00\ED\E5\E4\E5\EB\FF\00\EF\EE\ED\E5\E4\E5\EB\ED\E8\EA\00\E2\F2\EE\F0\ED\E8\EA\00\F1\F0\FF\E4\E0\00\F7\E5\F2\E2\FA\F0\F2\FA\EA\00\EF\E5\F2\FA\EA\00\F1\FA\E1\EE\F2\E0\00\FF\ED\F3\00\F4\E5\E2\00\EC\E0\F0\00\E0\EF\F0\00\EC\E0\E9\00\FE\ED\E8\00\FE\EB\E8\00\E0\E2\E3\00\F1\E5\EF\00\EE\EA\F2\00\ED\EE\E5\00\E4\E5\EA\00\FF\ED\F3\E0\F0\E8\00\F4\E5\E2\F0\F3\E0\F0\E8\00\EC\E0\F0\F2\00\E0\EF\F0\E8\EB\00\E0\E2\E3\F3\F1\F2\00\F1\E5\EF\F2\E5\EC\E2\F0\E8\00\EE\EA\F2\EE\EC\E2\F0\E8\00\ED\EE\E5\EC\E2\F0\E8\00\E4\E5\EA\E5\EC\E2\F0\E8\00%x (%a) %X %Z\00%e.%m.%Y\00%k,%M,%S\00%l,%M,%S\00\D0\BD\D0\B4\00\D0\BF\D0\BD\00\D0\B2\D1\82\00\D1\81\D1\80\00\D1\87\D1\82\00\D0\BF\D1\82\00\D1\81\D0\B1\00\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D1\8F\00\D0\BF\D0\BE\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D0\BD\D0\B8\D0\BA\00\D0\B2\D1\82\D0\BE\D1\80\D0\BD\D0\B8\D0\BA\00\D1\81\D1\80\D1\8F\D0\B4\D0\B0\00\D1\87\D0\B5\D1\82\D0\B2\D1\8A\D1\80\D1\82\D1\8A\D0\BA\00\D0\BF\D0\B5\D1\82\D1\8A\D0\BA\00\D1\81\D1\8A\D0\B1\D0\BE\D1\82\D0\B0\00\D1\8F\D0\BD\D1\83\00\D1\84\D0\B5\D0\B2\00\D0\BC\D0\B0\D1\80\00\D0\B0\D0\BF\D1\80\00\D0\BC\D0\B0\D0\B9\00\D1\8E\D0\BD\D0\B8\00\D1\8E\D0\BB\D0\B8\00\D0\B0\D0\B2\D0\B3\00\D1\81\D0\B5\D0\BF\00\D0\BE\D0\BA\D1\82\00\D0\BD\D0\BE\D0\B5\00\D0\B4\D0\B5\D0\BA\00\D1\8F\D0\BD\D1\83\D0\B0\D1\80\D0\B8\00\D1\84\D0\B5\D0\B2\D1\80\D1\83\D0\B0\D1\80\D0\B8\00\D0\BC\D0\B0\D1\80\D1\82\00\D0\B0\D0\BF\D1\80\D0\B8\D0\BB\00\D0\B0\D0\B2\D0\B3\D1\83\D1\81\D1\82\00\D1\81\D0\B5\D0\BF\D1\82\D0\B5\D0\BC\D0\B2\D1\80\D0\B8\00\D0\BE\D0\BA\D1\82\D0\BE\D0\BC\D0\B2\D1\80\D0\B8\00\D0\BD\D0\BE\D0\B5\D0\BC\D0\B2\D1\80\D0\B8\00\D0\B4\D0\B5\D0\BA\D0\B5\D0\BC\D0\B2\D1\80\D0\B8\00\E0\A6\B0\E0\A6\AC\E0\A6\BF\00\E0\A6\B8\E0\A7\8B\E0\A6\AE\00\E0\A6\AE\E0\A6\99\E0\A6\97\E0\A6\B2\00\E0\A6\AC\E0\A7\81\E0\A6\A7\00\E0\A6\AC\E0\A7\83\E0\A6\B9\E0\A6\B8\E0\A7\8D\E0\A6\AA\E0\A6\A4\E0\A6\BF\00\E0\A6\B6\E0\A7\81\E0\A6\95\E0\A7\8D\E0\A6\B0\00\E0\A6\B6\E0\A6\A8\E0\A6\BF\00\E0\A6\B0\E0\A6\AC\E0\A6\BF\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B8\E0\A7\8B\E0\A6\AE\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\AE\E0\A6\99\E0\A6\97\E0\A6\B2\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\AC\E0\A7\81\E0\A6\A7\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\AC\E0\A7\83\E0\A6\B9\E0\A6\B8\E0\A7\8D\E0\A6\AA\E0\A6\A4\E0\A6\BF\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B6\E0\A7\81\E0\A6\95\E0\A7\8D\E0\A6\B0\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B6\E0\A6\A8\E0\A6\BF\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\9C\E0\A6\BE\E0\A6\A8\00\E0\A6\AB\E0\A7\87\E0\A6\AC\00\E0\A6\AE\E0\A6\BE\E0\A6\B0\00\E0\A6\8F\E0\A6\AA\E0\A7\8D\E0\A6\B0\00\E0\A6\AE\E0\A7\87\00\E0\A6\9C\E0\A7\81\E0\A6\A8\00\E0\A6\9C\E0\A7\81\E0\A6\B2\00\E0\A6\86\E0\A6\97\00\E0\A6\B8\E0\A7\87\E0\A6\AA\00\E0\A6\85\E0\A6\95\E0\A7\8D\E0\A6\9F\E0\A7\8B\E0\A6\AC\E0\A6\B0\00\E0\A6\A8\E0\A6\AD\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\B0\00\E0\A6\A1\E0\A6\BF\E0\A6\B8\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\B0\00\E0\A6\9C\E0\A6\BE\E0\A6\A8\E0\A7\81\E0\A7\9F\E0\A6\BE\E0\A6\B0\E0\A7\80\00\E0\A6\AB\E0\A7\87\E0\A6\AC\E0\A7\8D\E0\A6\B0\E0\A7\81\E0\A7\9F\E0\A6\BE\E0\A6\B0\E0\A7\80\00\E0\A6\AE\E0\A6\BE\E0\A6\B0\E0\A7\8D\E0\A6\9A\00\E0\A6\8F\E0\A6\AA\E0\A7\8D\E0\A6\B0\E0\A6\BF\E0\A6\B2\00\E0\A6\9C\E0\A7\81\E0\A6\B2\E0\A6\BE\E0\A6\87\00\E0\A6\86\E0\A6\97\E0\A6\B8\E0\A7\8D\E0\A6\9F\00\E0\A6\B8\E0\A7\87\E0\A6\AA\E0\A7\8D\E0\A6\9F\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\85\E0\A6\95\E0\A7\8D\E0\A6\9F\E0\A7\8B\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\A8\E0\A6\AD\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\A1\E0\A6\BF\E0\A6\B8\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B8\E0\A6\95\E0\A6\BE\E0\A6\B2\00\E0\A6\AC\E0\A6\BF\E0\A6\95\E0\A6\BE\E0\A6\B2\00%A %d %b %Y %I:%M:%S %p %Z\00%A %d %b %Y\00\E0\A6\B8\E0\A7\87\E0\A6\AA\E0\A7\8D\E0\A6\9F\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\B0\00\E0\A6\AA\E0\A7\82\E0\A6\B0\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B9\E0\A7\8D\E0\A6\A3\00\E0\A6\85\E0\A6\AA\E0\A6\B0\E0\A6\BE\E0\A6\B9\E0\A7\8D\E0\A6\A3\00sul\00lun\00meu\00mer\00yao\00gwe\00sad\00meurzh\00merc'her\00yaou\00gwener\00sadorn\00Gen \00C'hw\00Meu \00Ebr \00Mae \00Eve \00Gou \00Eos \00Gwe \00Her \00Du \00Ker \00Genver\00C'hwevrer\00Meurzh\00Ebrel\00Mae\00Mezheven\00Gouere\00Eost\00Gwengolo\00Here\00Du\00Kerzu\00 \00D'ar %A %d a viz %B %Y\00%Ie%M:%S %p\00Ned\00Pon\00Uto\00Sri\00\C8et\00Pet\00Sub\00Nedjelja\00Ponedjeljak\00Utorak\00Srijeda\00\C8etvrtak\00Petak\00Subota\00Maj\00Januar\00Februar\00Mart\00Juni\00Juli\00Septembar\00Oktobar\00Novembar\00Decembar\00\C4\8Cet\00\C4\8Cetvrtak\00dg\00dl\00dt\00dc\00dj\00dv\00ds\00diumenge\00dilluns\00dimarts\00dimecres\00dijous\00divendres\00dissabte\00gen\00feb\00mar\00abr\00mai\00jun\00jul\00ago\00set\00oct\00nov\00des\00gener\00febrer\00mar\E7\00abril\00maig\00juny\00juliol\00agost\00setembre\00octubre\00novembre\00desembre\00mar\C3\A7\00Ne\00Po\00\DAt\00St\00\C8t\00P\E1\00Ned\ECle\00Pond\ECl\ED\00\DAter\FD\00St\F8eda\00\C8tvrtek\00P\E1tek\00Sobota\00led\00\FAno\00b\F8e\00dub\00kv\EC\00\E8en\00\E8ec\00srp\00z\E1\F8\00\F8\EDj\00lis\00pro\00leden\00\FAnor\00b\F8ezen\00duben\00kv\ECten\00\E8erven\00\E8ervenec\00srpen\00z\E1\F8\ED\00\F8\EDjen\00listopad\00prosinec\00%a\A0%e.\A0%B\A0%Y,\A0%H:%M:%S\A0%Z\00%I:%M:%S\00\C3\9At\00\C4\8Ct\00P\C3\A1\00Ned\C4\9Ble\00Pond\C4\9Bl\C3\AD\00\C3\9Ater\C3\BD\00St\C5\99eda\00\C4\8Ctvrtek\00P\C3\A1tek\00\C3\BAno\00b\C5\99e\00kv\C4\9B\00\C4\8Den\00\C4\8Dec\00z\C3\A1\C5\99\00\C5\99\C3\ADj\00\C3\BAnor\00b\C5\99ezen\00kv\C4\9Bten\00\C4\8Derven\00\C4\8Dervenec\00z\C3\A1\C5\99\C3\AD\00\C5\99\C3\ADjen\00%a\C2\A0%e.\C2\A0%B\C2\A0%Y,\C2\A0%H:%M:%S\C2\A0%Z\00Sul\00Llu\00Maw\00Mer\00Iau\00Gwe\00Sad\00Llun\00Mawrth\00Mercher\00Gwener\00Sadwrn\00Ion\00Chw\00Ebr\00Mai\00Meh\00Gor\00Aws\00Med\00Hyd\00Tach\00Rha\00Ionawr\00Chwefror\00Ebrill\00Mehefin\00Gorffennaf\00Awst\00Medi\00Hydref\00Tachwedd\00Rhagfyr\00Dydd %A %d a viz %B %Y %T %Z\00%d.%m.%y\00s\F8n\00man\00tir\00ons\00tor\00fre\00l\F8r\00s\F8ndag\00mandag\00tirsdag\00onsdag\00torsdag\00fredag\00l\F8rdag\00jan\00apr\00maj\00aug\00sep\00okt\00dec\00januar\00februar\00marts\00april\00juni\00juli\00august\00september\00oktober\00november\00december\00%d-%m-%Y\00s\C3\B8n\00l\C3\B8r\00s\C3\B8ndag\00l\C3\B8rdag\00Son\00Die\00Mit\00Don\00Fre\00Sam\00Sonntag\00Montag\00Dienstag\00Mittwoch\00Donnerstag\00Freitag\00Samstag\00J\E4n\00M\E4r\00Dez\00J\E4nner\00Feber\00M\E4rz\00Dezember\00%Y-%m-%d\00J\C3\A4n\00M\C3\A4r\00J\C3\A4nner\00M\C3\A4rz\00\CA\F5\F1\00\C4\E5\F5\00\D4\F1\E9\00\D4\E5\F4\00\D0\E5\EC\00\D0\E1\F1\00\D3\E1\E2\00\CA\F5\F1\E9\E1\EA\DE\00\C4\E5\F5\F4\DD\F1\E1\00\D4\F1\DF\F4\E7\00\D4\E5\F4\DC\F1\F4\E7\00\D0\DD\EC\F0\F4\E7\00\D0\E1\F1\E1\F3\EA\E5\F5\DE\00\D3\DC\E2\E2\E1\F4\EF\00\C9\E1\ED\00\D6\E5\E2\00\CC\DC\F1\00\C1\F0\F1\00\CC\DC\E9\00\C9\EF\FD\ED\00\C9\EF\FD\EB\00\C1\FD\E3\00\D3\E5\F0\00\CF\EA\F4\00\CD\EF\DD\00\C4\E5\EA\00\C9\E1\ED\EF\F5\DC\F1\E9\EF\F2\00\D6\E5\E2\F1\EF\F5\DC\F1\E9\EF\F2\00\CC\DC\F1\F4\E9\EF\F2\00\C1\F0\F1\DF\EB\E9\EF\F2\00\CC\DC\E9\EF\F2\00\C9\EF\FD\ED\E9\EF\F2\00\C9\EF\FD\EB\E9\EF\F2\00\C1\FD\E3\EF\F5\F3\F4\EF\F2\00\D3\E5\F0\F4\DD\EC\E2\F1\E9\EF\F2\00\CF\EA\F4\FE\E2\F1\E9\EF\F2\00\CD\EF\DD\EC\E2\F1\E9\EF\F2\00\C4\E5\EA\DD\EC\E2\F1\E9\EF\F2\00\CE\9A\CF\85\CF\81\00\CE\94\CE\B5\CF\85\00\CE\A4\CF\81\CE\B9\00\CE\A4\CE\B5\CF\84\00\CE\A0\CE\B5\CE\BC\00\CE\A0\CE\B1\CF\81\00\CE\A3\CE\B1\CE\B2\00\CE\9A\CF\85\CF\81\CE\B9\CE\B1\CE\BA\CE\AE\00\CE\94\CE\B5\CF\85\CF\84\CE\AD\CF\81\CE\B1\00\CE\A4\CF\81\CE\AF\CF\84\CE\B7\00\CE\A4\CE\B5\CF\84\CE\AC\CF\81\CF\84\CE\B7\00\CE\A0\CE\AD\CE\BC\CF\80\CF\84\CE\B7\00\CE\A0\CE\B1\CF\81\CE\B1\CF\83\CE\BA\CE\B5\CF\85\CE\AE\00\CE\A3\CE\AC\CE\B2\CE\B2\CE\B1\CF\84\CE\BF\00\CE\99\CE\B1\CE\BD\00\CE\A6\CE\B5\CE\B2\00\CE\9C\CE\AC\CF\81\00\CE\91\CF\80\CF\81\00\CE\9C\CE\AC\CE\B9\00\CE\99\CE\BF\CF\8D\CE\BD\00\CE\99\CE\BF\CF\8D\CE\BB\00\CE\91\CF\8D\CE\B3\00\CE\A3\CE\B5\CF\80\00\CE\9F\CE\BA\CF\84\00\CE\9D\CE\BF\CE\AD\00\CE\94\CE\B5\CE\BA\00\CE\99\CE\B1\CE\BD\CE\BF\CF\85\CE\AC\CF\81\CE\B9\CE\BF\CF\82\00\CE\A6\CE\B5\CE\B2\CF\81\CE\BF\CF\85\CE\AC\CF\81\CE\B9\CE\BF\CF\82\00\CE\9C\CE\AC\CF\81\CF\84\CE\B9\CE\BF\CF\82\00\CE\91\CF\80\CF\81\CE\AF\CE\BB\CE\B9\CE\BF\CF\82\00\CE\9C\CE\AC\CE\B9\CE\BF\CF\82\00\CE\99\CE\BF\CF\8D\CE\BD\CE\B9\CE\BF\CF\82\00\CE\99\CE\BF\CF\8D\CE\BB\CE\B9\CE\BF\CF\82\00\CE\91\CF\8D\CE\B3\CE\BF\CF\85\CF\83\CF\84\CE\BF\CF\82\00\CE\A3\CE\B5\CF\80\CF\84\CE\AD\CE\BC\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00\CE\9F\CE\BA\CF\84\CF\8E\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00\CE\9D\CE\BF\CE\AD\CE\BC\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00\CE\94\CE\B5\CE\BA\CE\AD\CE\BC\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00%a %d %b %Y %r %Z\00%Y-%m-%dT%T %Z\00%A, %B %d, %Y %p%I:%M:%S %Z\00%A, %B %d, %Y\00%I:%M:%S %Z\00%p%I:%M:%S %Z\00%A, %d %B, %Y %I:%M:%S %p %Z\00%A, %d %B, %Y\00%A %d,%B,%Y %I:%M:%S %p %Z\00%A %d,%B,%Y\00%m/%d/%Y\00dim\00\C4\B5a\C5\AD\00ven\00sab\00diman\C4\89o\00lundo\00mardo\00merkredo\00\C4\B5a\C5\ADdo\00vendredo\00sabato\00A\C5\ADg\00Januaro\00Februaro\00Marto\00Aprilo\00Majo\00Junio\00Julio\00A\C5\ADgusto\00Septembro\00Oktobro\00Novembro\00Decembro\00%a %d %b %Y %T %z\00dom\00mi\E9\00jue\00vie\00s\E1b\00domingo\00lunes\00martes\00mi\E9rcoles\00jueves\00viernes\00s\E1bado\00ene\00dic\00enero\00febrero\00marzo\00mayo\00junio\00julio\00agosto\00septiembre\00noviembre\00diciembre\00mi\C3\A9\00s\C3\A1b\00mi\C3\A9rcoles\00s\C3\A1bado\00P\00E\00T\00K\00N\00R\00L\00p\FChap\E4ev\00esmasp\E4ev\00teisip\E4ev\00kolmap\E4ev\00neljap\E4ev\00reede\00laup\E4ev\00jaan \00veebr\00m\E4rts\00apr \00mai \00juuni\00juuli\00aug \00sept \00okt \00nov \00dets \00jaanuar\00veebruar\00aprill\00oktoober\00detsember\00p\C3\BChap\C3\A4ev\00esmasp\C3\A4ev\00teisip\C3\A4ev\00kolmap\C3\A4ev\00neljap\C3\A4ev\00laup\C3\A4ev\00m\C3\A4rts\00ig.\00al.\00ar.\00az.\00og.\00or.\00lr.\00igandea\00astelehena\00asteartea\00asteazkena\00osteguna\00ostirala\00larunbata\00urt\00ots\00api\00eka\00uzt\00abu\00ira\00urr\00aza\00abe\00urtarrila\00otsaila\00martxoa\00apirila\00maiatza\00ekaina\00uztaila\00abuztua\00iraila\00urria\00azaroa\00abendua\00%y-%m-%d %T %Z\00%a, %Y.eko %bren %da\00\DB\8C.\00\D8\AF.\00\D8\B3.\00\DA\86.\00\D9\BE.\00\D8\AC.\00\D8\B4.\00\DB\8C\DA\A9\E2\80\8C\D8\B4\D9\86\D8\A8\D9\87\00\D8\AF\D9\88\D8\B4\D9\86\D8\A8\D9\87\00\D8\B3\D9\87\E2\80\8C\D8\B4\D9\86\D8\A8\D9\87\00\DA\86\D9\87\D8\A7\D8\B1\D8\B4\D9\86\D8\A8\D9\87\00\D9\BE\D9\86\D8\AC\E2\80\8C\D8\B4\D9\86\D8\A8\D9\87\00\D8\AC\D9\85\D8\B9\D9\87\00\D8\B4\D9\86\D8\A8\D9\87\00\DA\98\D8\A7\D9\86\00\D9\81\D9\88\D8\B1\00\D8\A2\D9\88\D8\B1\00\D9\85\D9\80\D9\87\00\DA\98\D9\88\D9\86\00\DA\98\D9\88\DB\8C\00\D8\A7\D9\88\D8\AA\00\D8\B3\D9\BE\D8\AA\00\D8\A7\D9\83\D8\AA\00\D9\86\D9\88\D8\A7\00\D8\AF\D8\B3\D8\A7\00\DA\98\D8\A7\D9\86\D9\88\DB\8C\D9\87\00\D9\81\D9\88\D8\B1\DB\8C\D9\87\00\D8\A2\D9\88\D8\B1\DB\8C\D9\84\00\D9\85\D9\87\00\DA\98\D9\88\D8\A6\D9\86\00\DA\98\D9\88\D8\A6\DB\8C\D9\87\00\D8\B3\D9\BE\D8\AA\D8\A7\D9\85\D8\A8\D8\B1\00\D8\A7\D9\83\D8\AA\D8\A8\D8\B1\00\D9\86\D9\88\D8\A7\D9\85\D8\A8\D8\B1\00\D8\AF\D8\B3\D8\A7\D9\85\D8\A8\D8\B1\00\D8\B5\D8\A8\D8\AD\00\D8\B9\D8\B5\D8\B1\00\E2\80\AB%A %e %B %Y\D8\8C %I:%M:%S %p\E2\80\AC\00%Y/%m/%d\00\E2\80\AB%I:%M:%S %p\E2\80\AC\00su\00ma\00ti\00ke\00to\00pe\00la\00sunnuntai\00maanantai\00tiistai\00keskiviikko\00torstai\00perjantai\00lauantai\00tammi\A0\00helmi\A0\00maalis\00huhti\A0\00touko\A0\00kes\E4\A0\A0\00hein\E4\A0\00elo\A0\A0\A0\00syys\A0\A0\00loka\A0\A0\00marras\00joulu\A0\00tammikuu\00helmikuu\00maaliskuu\00huhtikuu\00toukokuu\00kes\E4kuu\00hein\E4kuu\00elokuu\00syyskuu\00lokakuu\00marraskuu\00joulukuu\00%a %e %B %Y %T\00tammi\C2\A0\00helmi\C2\A0\00huhti\C2\A0\00touko\C2\A0\00kes\C3\A4\C2\A0\C2\A0\00hein\C3\A4\C2\A0\00elo\C2\A0\C2\A0\C2\A0\00syys\C2\A0\C2\A0\00loka\C2\A0\C2\A0\00joulu\C2\A0\00kes\C3\A4kuu\00hein\C3\A4kuu\00sun\00m\E1n\00t\FDs\00mik\00h\F3s\00fr\ED\00ley\00sunnudagur\00m\E1nadagur\00t\FDsdagur\00mikudagur\00h\F3sdagur\00fr\EDggjadagur\00leygardagur\00mars\00apr\EDl\00desember\00%d/%m-%Y\00m\C3\A1n\00t\C3\BDs\00h\C3\B3s\00fr\C3\AD\00m\C3\A1nadagur\00t\C3\BDsdagur\00h\C3\B3sdagur\00fr\C3\ADggjadagur\00apr\C3\ADl\00jeu\00sam\00dimanche\00lundi\00mardi\00mercredi\00jeudi\00vendredi\00samedi\00f\E9v\00avr\00jui\00ao\FB\00d\E9c\00janvier\00f\E9vrier\00avril\00juin\00juillet\00ao\FBt\00septembre\00octobre\00d\E9cembre\00f\C3\A9v\00ao\C3\BB\00d\C3\A9c\00f\C3\A9vrier\00ao\C3\BBt\00d\C3\A9cembre\00%d. %m. %y\00Domh\00Luan\00M\E1irt\00C\E9ad\00D\E9ar\00Aoine\00Sath\00D\E9 Domhnaigh\00D\E9 Luain\00D\E9 M\E1irt\00D\E9 C\E9adaoin\00D\E9ardaoin\00D\E9 hAoine\00D\E9 Sathairn\00Ean\00Feabh\00M\E1rta\00Aib\00Beal\00Meith\00I\FAil\00L\FAn\00MF\F3mh\00DF\F3mh\00Samh\00Noll\00Ean\E1ir\00Feabhra\00Aibre\E1n\00M\ED na Bealtaine\00L\FAnasa\00Me\E1n F\F3mhair\00Deireadh F\F3mhair\00M\ED na Samhna\00M\ED na Nollag\00M\C3\A1irt\00C\C3\A9ad\00D\C3\A9ar\00D\C3\A9 Domhnaigh\00D\C3\A9 Luain\00D\C3\A9 M\C3\A1irt\00D\C3\A9 C\C3\A9adaoin\00D\C3\A9ardaoin\00D\C3\A9 hAoine\00D\C3\A9 Sathairn\00M\C3\A1rta\00I\C3\BAil\00L\C3\BAn\00MF\C3\B3mh\00DF\C3\B3mh\00Ean\C3\A1ir\00Aibre\C3\A1n\00M\C3\AD na Bealtaine\00L\C3\BAnasa\00Me\C3\A1n F\C3\B3mhair\00Deireadh F\C3\B3mhair\00M\C3\AD na Samhna\00M\C3\AD na Nollag\00Dido\00Dilu\00Dim\00Dic\00Diar\00Diha\00Disa\00Did\F2mhnaich\00Diluain\00Dim\E0irt\00Diciadain\00Diardaoin\00Dihaoine\00Disathairne\00Fao\00Gea\00M\E0r\00Gib\00Mh\E0\00OgM\00luc\00L\F9n\00Dam\00D\F9b\00Am Faoilteach\00An Gearran\00Am M\E0rt\00An Giblean\00A' Mh\E0igh\00An t-Mh\ECos\00An t-luchar\00An L\F9nasdal\00An t-Sultain\00An Damhair\00An t-Samhain\00An D\F9bhlachd\00Did\C3\B2mhnaich\00Dim\C3\A0irt\00M\C3\A0r\00Mh\C3\A0\00L\C3\B9n\00D\C3\B9b\00Am M\C3\A0rt\00A' Mh\C3\A0igh\00An t-Mh\C3\ACos\00An L\C3\B9nasdal\00An D\C3\B9bhlachd\00Dom\00Lun\00M\E9r\00Xov\00Ven\00S\E1b\00Domingo\00Luns\00Martes\00M\E9rcores\00Xoves\00Venres\00S\E1bado\00Xan\00Abr\00Xu\F1\00Xul\00Ago\00Set\00Out\00Xaneiro\00Febreiro\00Marzo\00Abril\00Maio\00Xu\F1o\00Xullo\00Agosto\00Setembro\00Outubro\00M\C3\A9r\00S\C3\A1b\00M\C3\A9rcores\00S\C3\A1bado\00Xu\C3\B1\00Xu\C3\B1o\00Jed\00Jel\00Jem\00Jerc\00Jerd\00Jeh\00Jes\00Jedoonee\00Jelhein\00Jemayrt\00Jercean\00Jerdein\00Jeheiney\00Jesarn\00J-guer\00T-arree\00Mayrnt\00Avrril\00Boaldyn\00M-souree\00J-souree\00Luanistyn\00M-fouyir\00J-fouyir\00M.Houney\00M.Nollick\00Jerrey-geuree\00Toshiaght-arree\00Averil\00Mean-souree\00Jerrey-souree\00Mean-fouyir\00Jerrey-fouyir\00Mee Houney\00Mee ny Nollick\00\E0'\00\E1'\00\E2'\00\E3'\00\E4'\00\E5'\00\F9'\00\F8\E0\F9\E5\EF\00\F9\F0\E9\00\F9\EC\E9\F9\E9\00\F8\E1\E9\F2\E9\00\E7\EE\E9\F9\E9\00\F9\E9\F9\E9\00\F9\E1\FA\00\E9\F0\E5\00\F4\E1\F8\00\EE\F8\F5\00\E0\F4\F8\00\EE\E0\E9\00\E9\E5\F0\00\E9\E5\EC\00\E0\E5\E2\00\F1\F4\E8\00\E0\E5\F7\00\F0\E5\E1\00\E3\F6\EE\00\E9\F0\E5\E0\F8\00\F4\E1\F8\E5\E0\F8\00\E0\F4\F8\E9\EC\00\E9\E5\F0\E9\00\E9\E5\EC\E9\00\E0\E5\E2\E5\F1\E8\00\F1\F4\E8\EE\E1\F8\00\E0\E5\F7\E8\E5\E1\F8\00\F0\E5\E1\EE\E1\F8\00\E3\F6\EE\E1\F8\00%Z %H:%M:%S %Y %b %d %a\00%I:%M:%S %P\00\D7\90'\00\D7\91'\00\D7\92'\00\D7\93'\00\D7\94'\00\D7\95'\00\D7\A9'\00\D7\A8\D7\90\D7\A9\D7\95\D7\9F\00\D7\A9\D7\A0\D7\99\00\D7\A9\D7\9C\D7\99\D7\A9\D7\99\00\D7\A8\D7\91\D7\99\D7\A2\D7\99\00\D7\97\D7\9E\D7\99\D7\A9\D7\99\00\D7\A9\D7\99\D7\A9\D7\99\00\D7\A9\D7\91\D7\AA\00\D7\99\D7\A0\D7\95\00\D7\A4\D7\91\D7\A8\00\D7\9E\D7\A8\D7\A5\00\D7\90\D7\A4\D7\A8\00\D7\9E\D7\90\D7\99\00\D7\99\D7\95\D7\A0\00\D7\99\D7\95\D7\9C\00\D7\90\D7\95\D7\92\00\D7\A1\D7\A4\D7\98\00\D7\90\D7\95\D7\A7\00\D7\A0\D7\95\D7\91\00\D7\93\D7\A6\D7\9E\00\D7\99\D7\A0\D7\95\D7\90\D7\A8\00\D7\A4\D7\91\D7\A8\D7\95\D7\90\D7\A8\00\D7\90\D7\A4\D7\A8\D7\99\D7\9C\00\D7\99\D7\95\D7\A0\D7\99\00\D7\99\D7\95\D7\9C\D7\99\00\D7\90\D7\95\D7\92\D7\95\D7\A1\D7\98\00\D7\A1\D7\A4\D7\98\D7\9E\D7\91\D7\A8\00\D7\90\D7\95\D7\A7\D7\98\D7\95\D7\91\D7\A8\00\D7\A0\D7\95\D7\91\D7\9E\D7\91\D7\A8\00\D7\93\D7\A6\D7\9E\D7\91\D7\A8\00\E0\A4\B0\E0\A4\B5\E0\A4\BF \00\E0\A4\B8\E0\A5\8B\E0\A4\AE \00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B2 \00\E0\A4\AC\E0\A5\81\E0\A4\A7 \00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81 \00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0 \00\E0\A4\B6\E0\A4\A8\E0\A4\BF \00\E0\A4\B0\E0\A4\B5\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\B8\E0\A5\8B\E0\A4\AE\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B2\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\AC\E0\A5\81\E0\A4\A7\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\B6\E0\A4\A8\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\9C\E0\A4\A8\E0\A4\B5\E0\A4\B0\E0\A5\80\00\E0\A4\AB\E0\A4\BC\E0\A4\B0\E0\A4\B5\E0\A4\B0\E0\A5\80\00\E0\A4\AE\E0\A4\BE\E0\A4\B0\E0\A5\8D\E0\A4\9A\00\E0\A4\85\E0\A4\AA\E0\A5\8D\E0\A4\B0\E0\A5\87\E0\A4\B2\00\E0\A4\AE\E0\A4\88\00\E0\A4\9C\E0\A5\82\E0\A4\A8\00\E0\A4\9C\E0\A5\81\E0\A4\B2\E0\A4\BE\E0\A4\88\00\E0\A4\85\E0\A4\97\E0\A4\B8\E0\A5\8D\E0\A4\A4\00\E0\A4\B8\E0\A4\BF\E0\A4\A4\E0\A4\AE\E0\A5\8D\E0\A4\AC\E0\A4\B0\00\E0\A4\85\E0\A4\95\E0\A5\8D\E0\A4\9F\E0\A5\82\E0\A4\AC\E0\A4\B0\00\E0\A4\A8\E0\A4\B5\E0\A4\AE\E0\A5\8D\E0\A4\AC\E0\A4\B0\00\E0\A4\A6\E0\A4\BF\E0\A4\B8\E0\A4\AE\E0\A5\8D\E0\A4\AC\E0\A4\B0\00\E0\A4\AA\E0\A5\82\E0\A4\B0\E0\A5\8D\E0\A4\B5\E0\A4\BE\E0\A4\B9\E0\A5\8D\E0\A4\A8\00\E0\A4\85\E0\A4\AA\E0\A4\B0\E0\A4\BE\E0\A4\B9\E0\A5\8D\E0\A4\A8\00Sij\00Vel\00O\BEu\00Tra\00Svi\00Lip\00Srp\00Kol\00Ruj\00Lis\00Stu\00Pro\00Sije\E8anj\00Velja\E8a\00O\BEujak\00Travanj\00Svibanj\00Lipanj\00Srpanj\00Kolovoz\00Rujan\00Listopad\00Studeni\00Prosinac\00O\C5\BEu\00Sije\C4\8Danj\00Velja\C4\8Da\00O\C5\BEujak\00v\00h\00k\00sze\00cs\00p\00szo\00vas\E1rnap\00h\E9tf\F5\00kedd\00szerda\00cs\FCt\F6rt\F6k\00p\E9ntek\00szombat\00m\E1r\00\E1pr\00m\E1j\00j\FAn\00j\FAl\00janu\E1r\00febru\E1r\00m\E1rcius\00\E1prilis\00m\E1jus\00j\FAnius\00j\FAlius\00augusztus\00szeptember\00okt\F3ber\00%Y. %b. %e., %A, %H.%M.%S %Z\00%H.%M.%S\00vas\C3\A1rnap\00h\C3\A9tf\C5\91\00cs\C3\BCt\C3\B6rt\C3\B6k\00p\C3\A9ntek\00m\C3\A1r\00\C3\A1pr\00m\C3\A1j\00j\C3\BAn\00j\C3\BAl\00janu\C3\A1r\00febru\C3\A1r\00m\C3\A1rcius\00\C3\A1prilis\00m\C3\A1jus\00j\C3\BAnius\00j\C3\BAlius\00okt\C3\B3ber\00\CE\F1\CF\00\BA\F1\CF\00\BA\F1\F9\00\E2\F1\F9\00\D0\DD\B7\00\E0\F5\F1\00\DE\B5\C3\00\CE\C7\F1\B3\CF\C7\00\BA\F1\CF\E1\F5\DF\B3\B5\C3\C7\00\BA\F1\BB\F9\DF\B3\B5\C3\C7\00\E2\E1\F1\BB\F9\DF\B3\B5\C3\C7\00\D0\C7\DD\B7\DF\B3\B5\C3\C7\00\E0\F5\F1\B5\B3\C3\00\DE\B3\B5\B3\C3\00\D0\DD\ED\00\F6\EF\F1\00\D8\B3\F1\00\B2\E5\F1\00\D8\B3\DB\00\D0\DD\EB\00\D0\C9\EB\00\FA\B7\EB\00\EA\BB\E5\00\D0\E1\CF\00\DC\D9\B5\00\B8\BB\CF\00\D0\E1\F5\DD\ED\B3\F1\C7\00\F6\BB\EF\F1\ED\B3\F1\C7\00\D8\B3\F1\EF\C7\00\B2\E5\F1\C7\C9\C7\00\D8\B3\DB\C7\EB\C7\00\D0\E1\F5\DD\C7\EB\C7\00\D0\E1\F5\C9\C7\EB\C7\00\FA\B7\E1\EB\EF\E1\EB\C7\00\EA\BB\E5\EF\BB\D9\B5\BB\F1\C7\00\D0\E1\CF\EF\BB\D9\B5\BB\F1\C7\00\DC\E1\DB\BB\D9\B5\BB\F1\C7\00\B8\BB\CF\EF\BB\D9\B5\BB\F1\C7\00\D4\BF\D6\80\D5\AF\00\D4\B5\D6\80\D5\AF\00\D4\B5\D6\80\D6\84\00\D5\89\D6\80\D6\84\00\D5\80\D5\B6\D5\A3\00\D5\88\D6\82\D6\80\00\D5\87\D5\A2\D5\A9\00\D4\BF\D5\AB\D6\80\D5\A1\D5\AF\D5\AB\00\D4\B5\D6\80\D5\AF\D5\B8\D6\82\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D4\B5\D6\80\D5\A5\D6\84\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D5\89\D5\B8\D6\80\D5\A5\D6\84\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D5\80\D5\AB\D5\B6\D5\A3\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D5\88\D6\82\D6\80\D5\A2\D5\A1\D5\A9\00\D5\87\D5\A1\D5\A2\D5\A1\D5\A9\00\D5\80\D5\B6\D5\BE\00\D5\93\D5\BF\D6\80\00\D5\84\D5\A1\D6\80\00\D4\B1\D5\BA\D6\80\00\D5\84\D5\A1\D5\B5\00\D5\80\D5\B6\D5\BD\00\D5\80\D5\AC\D5\BD\00\D5\95\D5\A3\D5\BD\00\D5\8D\D5\A5\D5\BA\00\D5\80\D5\B8\D5\AF\00\D5\86\D5\B4\D5\A2\00\D4\B4\D5\A5\D5\AF\00\D5\80\D5\B8\D6\82\D5\B6\D5\BE\D5\A1\D6\80\D5\AB\00\D5\93\D5\A5\D5\BF\D6\80\D5\BE\D5\A1\D6\80\D5\AB\00\D5\84\D5\A1\D6\80\D5\BF\D5\AB\00\D4\B1\D5\BA\D6\80\D5\AB\D5\AC\D5\AB\00\D5\84\D5\A1\D5\B5\D5\AB\D5\BD\D5\AB\00\D5\80\D5\B8\D6\82\D5\B6\D5\AB\D5\BD\D5\AB\00\D5\80\D5\B8\D6\82\D5\AC\D5\AB\D5\BD\D5\AB\00\D5\95\D5\A3\D5\B8\D5\BD\D5\BF\D5\B8\D5\BD\D5\AB\00\D5\8D\D5\A5\D5\BA\D5\BF\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00\D5\80\D5\B8\D5\AF\D5\BF\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00\D5\86\D5\B8\D5\B5\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00\D4\B4\D5\A5\D5\AF\D5\BF\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00Min\00Sel\00Rab\00Kam\00Jum\00Sab\00Minggu\00Senin\00Selasa\00Rabu\00Kamis\00Jumat\00Sabtu\00Peb\00Agu\00Januari\00Pebruari\00Maret\00Agustus\00M\E1n\00\DEri\00Mi\F0\00Fim\00F\F6s\00Lau\00Sunnudagur\00M\E1nudagur\00\DEri\F0judagur\00Mi\F0vikudagur\00Fimmtudagur\00F\F6studagur\00Laugardagur\00Ma\ED\00J\FAn\00J\FAl\00\C1g\FA\00N\F3v\00Jan\FAar\00Febr\FAar\00Mars\00Apr\EDl\00J\FAn\ED\00J\FAl\ED\00\C1g\FAst\00Okt\F3ber\00N\F3vember\00fh\00eh\00%a %e.%b %Y, %T %Z\00%a %e.%b %Y\00M\C3\A1n\00\C3\9Eri\00Mi\C3\B0\00F\C3\B6s\00M\C3\A1nudagur\00\C3\9Eri\C3\B0judagur\00Mi\C3\B0vikudagur\00F\C3\B6studagur\00Ma\C3\AD\00J\C3\BAn\00J\C3\BAl\00\C3\81g\C3\BA\00N\C3\B3v\00Jan\C3\BAar\00Febr\C3\BAar\00Apr\C3\ADl\00J\C3\BAn\C3\AD\00J\C3\BAl\C3\AD\00\C3\81g\C3\BAst\00Okt\C3\B3ber\00N\C3\B3vember\00gio\00domenica\00luned\EC\00marted\EC\00mercoled\EC\00gioved\EC\00venerd\EC\00mag\00giu\00lug\00ott\00gennaio\00febbraio\00aprile\00maggio\00giugno\00luglio\00settembre\00ottobre\00dicembre\00luned\C3\AC\00marted\C3\AC\00mercoled\C3\AC\00gioved\C3\AC\00venerd\C3\AC\00\E6\97\A5\00\E6\9C\88\00\E7\81\AB\00\E6\B0\B4\00\E6\9C\A8\00\E9\87\91\00\E5\9C\9F\00\E6\97\A5\E6\9B\9C\E6\97\A5\00\E6\9C\88\E6\9B\9C\E6\97\A5\00\E7\81\AB\E6\9B\9C\E6\97\A5\00\E6\B0\B4\E6\9B\9C\E6\97\A5\00\E6\9C\A8\E6\9B\9C\E6\97\A5\00\E9\87\91\E6\9B\9C\E6\97\A5\00\E5\9C\9F\E6\9B\9C\E6\97\A5\00 1\E6\9C\88\00 2\E6\9C\88\00 3\E6\9C\88\00 4\E6\9C\88\00 5\E6\9C\88\00 6\E6\9C\88\00 7\E6\9C\88\00 8\E6\9C\88\00 9\E6\9C\88\0010\E6\9C\88\0011\E6\9C\88\0012\E6\9C\88\001\E6\9C\88\002\E6\9C\88\003\E6\9C\88\004\E6\9C\88\005\E6\9C\88\006\E6\9C\88\007\E6\9C\88\008\E6\9C\88\009\E6\9C\88\00\E5\8D\88\E5\89\8D\00\E5\8D\88\E5\BE\8C\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %H\E6\99\82%M\E5\88\86%S\E7\A7\92\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5\00%H\E6\99\82%M\E5\88\86%S\E7\A7\92\00%p%I\E6\99\82%M\E5\88\86%S\E7\A7\92\00+:2:1990/01/01:+*:\E5\B9\B3\E6\88\90:%EC%Ey\E5\B9\B4\00+:1:1989/01/08:1989/12/31:\E5\B9\B3\E6\88\90:%EC\E5\85\83\E5\B9\B4\00+:2:1927/01/01:1989/01/07:\E6\98\AD\E5\92\8C:%EC%Ey\E5\B9\B4\00+:1:1926/12/25:1926/12/31:\E6\98\AD\E5\92\8C:%EC\E5\85\83\E5\B9\B4\00+:2:1913/01/01:1926/12/24:\E5\A4\A7\E6\AD\A3:%EC%Ey\E5\B9\B4\00+:2:1912/07/30:1912/12/31:\E5\A4\A7\E6\AD\A3:%EC\E5\85\83\E5\B9\B4\00+:6:1873/01/01:1912/07/29:\E6\98\8E\E6\B2\BB:%EC%Ey\E5\B9\B4\00+:1:0001/01/01:1872/12/31:\E8\A5\BF\E6\9A\A6:%EC%Ey\E5\B9\B4\00+:1:-0001/12/31:-*:\E7\B4\80\E5\85\83\E5\89\8D:%EC%Ey\E5\B9\B4\00\00%EY%m\E6\9C\88%d\E6\97\A5\00\E3\80\87\00\E4\B8\80\00\E4\BA\8C\00\E4\B8\89\00\E5\9B\9B\00\E4\BA\94\00\E5\85\AD\00\E4\B8\83\00\E5\85\AB\00\E4\B9\9D\00\E5\8D\81\00\E5\8D\81\E4\B8\80\00\E5\8D\81\E4\BA\8C\00\E5\8D\81\E4\B8\89\00\E5\8D\81\E5\9B\9B\00\E5\8D\81\E4\BA\94\00\E5\8D\81\E5\85\AD\00\E5\8D\81\E4\B8\83\00\E5\8D\81\E5\85\AB\00\E5\8D\81\E4\B9\9D\00\E4\BA\8C\E5\8D\81\00\E4\BA\8C\E5\8D\81\E4\B8\80\00\E4\BA\8C\E5\8D\81\E4\BA\8C\00\E4\BA\8C\E5\8D\81\E4\B8\89\00\E4\BA\8C\E5\8D\81\E5\9B\9B\00\E4\BA\8C\E5\8D\81\E4\BA\94\00\E4\BA\8C\E5\8D\81\E5\85\AD\00\E4\BA\8C\E5\8D\81\E4\B8\83\00\E4\BA\8C\E5\8D\81\E5\85\AB\00\E4\BA\8C\E5\8D\81\E4\B9\9D\00\E4\B8\89\E5\8D\81\00\E4\B8\89\E5\8D\81\E4\B8\80\00\E4\B8\89\E5\8D\81\E4\BA\8C\00\E4\B8\89\E5\8D\81\E4\B8\89\00\E4\B8\89\E5\8D\81\E5\9B\9B\00\E4\B8\89\E5\8D\81\E4\BA\94\00\E4\B8\89\E5\8D\81\E5\85\AD\00\E4\B8\89\E5\8D\81\E4\B8\83\00\E4\B8\89\E5\8D\81\E5\85\AB\00\E4\B8\89\E5\8D\81\E4\B9\9D\00\E5\9B\9B\E5\8D\81\00\E5\9B\9B\E5\8D\81\E4\B8\80\00\E5\9B\9B\E5\8D\81\E4\BA\8C\00\E5\9B\9B\E5\8D\81\E4\B8\89\00\E5\9B\9B\E5\8D\81\E5\9B\9B\00\E5\9B\9B\E5\8D\81\E4\BA\94\00\E5\9B\9B\E5\8D\81\E5\85\AD\00\E5\9B\9B\E5\8D\81\E4\B8\83\00\E5\9B\9B\E5\8D\81\E5\85\AB\00\E5\9B\9B\E5\8D\81\E4\B9\9D\00\E4\BA\94\E5\8D\81\00\E4\BA\94\E5\8D\81\E4\B8\80\00\E4\BA\94\E5\8D\81\E4\BA\8C\00\E4\BA\94\E5\8D\81\E4\B8\89\00\E4\BA\94\E5\8D\81\E5\9B\9B\00\E4\BA\94\E5\8D\81\E4\BA\94\00\E4\BA\94\E5\8D\81\E5\85\AD\00\E4\BA\94\E5\8D\81\E4\B8\83\00\E4\BA\94\E5\8D\81\E5\85\AB\00\E4\BA\94\E5\8D\81\E4\B9\9D\00\E5\85\AD\E5\8D\81\00\E5\85\AD\E5\8D\81\E4\B8\80\00\E5\85\AD\E5\8D\81\E4\BA\8C\00\E5\85\AD\E5\8D\81\E4\B8\89\00\E5\85\AD\E5\8D\81\E5\9B\9B\00\E5\85\AD\E5\8D\81\E4\BA\94\00\E5\85\AD\E5\8D\81\E5\85\AD\00\E5\85\AD\E5\8D\81\E4\B8\83\00\E5\85\AD\E5\8D\81\E5\85\AB\00\E5\85\AD\E5\8D\81\E4\B9\9D\00\E4\B8\83\E5\8D\81\00\E4\B8\83\E5\8D\81\E4\B8\80\00\E4\B8\83\E5\8D\81\E4\BA\8C\00\E4\B8\83\E5\8D\81\E4\B8\89\00\E4\B8\83\E5\8D\81\E5\9B\9B\00\E4\B8\83\E5\8D\81\E4\BA\94\00\E4\B8\83\E5\8D\81\E5\85\AD\00\E4\B8\83\E5\8D\81\E4\B8\83\00\E4\B8\83\E5\8D\81\E5\85\AB\00\E4\B8\83\E5\8D\81\E4\B9\9D\00\E5\85\AB\E5\8D\81\00\E5\85\AB\E5\8D\81\E4\B8\80\00\E5\85\AB\E5\8D\81\E4\BA\8C\00\E5\85\AB\E5\8D\81\E4\B8\89\00\E5\85\AB\E5\8D\81\E5\9B\9B\00\E5\85\AB\E5\8D\81\E4\BA\94\00\E5\85\AB\E5\8D\81\E5\85\AD\00\E5\85\AB\E5\8D\81\E4\B8\83\00\E5\85\AB\E5\8D\81\E5\85\AB\00\E5\85\AB\E5\8D\81\E4\B9\9D\00\E4\B9\9D\E5\8D\81\00\E4\B9\9D\E5\8D\81\E4\B8\80\00\E4\B9\9D\E5\8D\81\E4\BA\8C\00\E4\B9\9D\E5\8D\81\E4\B8\89\00\E4\B9\9D\E5\8D\81\E5\9B\9B\00\E4\B9\9D\E5\8D\81\E4\BA\94\00\E4\B9\9D\E5\8D\81\E5\85\AD\00\E4\B9\9D\E5\8D\81\E4\B8\83\00\E4\B9\9D\E5\8D\81\E5\85\AB\00\E4\B9\9D\E5\8D\81\E4\B9\9D\00%EY%m\E6\9C\88%d\E6\97\A5 %H\E6\99\82%M\E5\88\86%S\E7\A7\92\00\CA\C5\C9\00\CF\D2\DB\00\D3\C0\CC\00\CF\C8\E1\00\E1\D6\C8\00\D0\C0\D2\00\DB\C0\C1\00\CA\C5\C9\D2\C0\00\CF\D2\DB\C0\C1\C0\C8\C9\00\D3\C0\CC\DB\C0\C1\C0\C8\C9\00\CF\C8\E1\DB\C0\C1\C0\C8\C9\00\E1\D6\C8\DB\C0\C1\C0\C8\C9\00\D0\C0\D2\C0\D3\CA\C4\C5\C9\00\DB\C0\C1\C0\C8\C9\00\C9\C0\CD\00\C8\C4\C1\00\CC\C0\D2\00\C0\D0\D2\00\CC\C0\C9\00\C9\C5\CD\00\C9\C5\CB\00\C0\C2\C5\00\D3\C4\D8\00\CF\D8\D4\00\CD\CF\C4\00\C3\C4\CA\00\C9\C0\CD\C5\C0\D2\C9\00\C8\C4\C1\C4\D2\C5\C0\CB\C9\00\CC\C0\D2\D4\C9\00\C0\D0\D2\C9\CB\C9\00\CC\C0\C9\D3\C9\00\C9\C5\CD\C9\D3\C9\00\C9\C5\CB\C9\D3\C9\00\C0\C2\C5\C9\D3\D4\CF\00\D3\C4\D8\D4\C4\CC\C1\C4\D2\C9\00\CF\D8\D4\CF\CC\C1\C4\D2\C9\00\CD\CF\C4\CC\C1\C4\D2\C9\00\C3\C4\CA\C4\CC\C1\C4\D2\C9\00%Y \DF\CB\C9\D3 %d %B, %T %Z\00\E1\83\99\E1\83\95\E1\83\98\00\E1\83\9D\E1\83\A0\E1\83\A8\00\E1\83\A1\E1\83\90\E1\83\9B\00\E1\83\9D\E1\83\97\E1\83\AE\00\E1\83\AE\E1\83\A3\E1\83\97\00\E1\83\9E\E1\83\90\E1\83\A0\00\E1\83\A8\E1\83\90\E1\83\91\00\E1\83\99\E1\83\95\E1\83\98\E1\83\A0\E1\83\90\00\E1\83\9D\E1\83\A0\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\A1\E1\83\90\E1\83\9B\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\9D\E1\83\97\E1\83\AE\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\AE\E1\83\A3\E1\83\97\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\9E\E1\83\90\E1\83\A0\E1\83\90\E1\83\A1\E1\83\99\E1\83\94\E1\83\95\E1\83\98\00\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\98\E1\83\90\E1\83\9C\00\E1\83\97\E1\83\94\E1\83\91\00\E1\83\9B\E1\83\90\E1\83\A0\00\E1\83\90\E1\83\9E\E1\83\A0\00\E1\83\9B\E1\83\90\E1\83\98\00\E1\83\98\E1\83\95\E1\83\9C\00\E1\83\98\E1\83\95\E1\83\9A\00\E1\83\90\E1\83\92\E1\83\95\00\E1\83\A1\E1\83\94\E1\83\A5\00\E1\83\9D\E1\83\A5\E1\83\A2\00\E1\83\9C\E1\83\9D\E1\83\94\00\E1\83\93\E1\83\94\E1\83\99\00\E1\83\98\E1\83\90\E1\83\9C\E1\83\95\E1\83\90\E1\83\A0\E1\83\98\00\E1\83\97\E1\83\94\E1\83\91\E1\83\94\E1\83\A0\E1\83\95\E1\83\90\E1\83\9A\E1\83\98\00\E1\83\9B\E1\83\90\E1\83\A0\E1\83\A2\E1\83\98\00\E1\83\90\E1\83\9E\E1\83\A0\E1\83\98\E1\83\9A\E1\83\98\00\E1\83\9B\E1\83\90\E1\83\98\E1\83\A1\E1\83\98\00\E1\83\98\E1\83\95\E1\83\9C\E1\83\98\E1\83\A1\E1\83\98\00\E1\83\98\E1\83\95\E1\83\9A\E1\83\98\E1\83\A1\E1\83\98\00\E1\83\90\E1\83\92\E1\83\95\E1\83\98\E1\83\A1\E1\83\A2\E1\83\9D\00\E1\83\A1\E1\83\94\E1\83\A5\E1\83\A2\E1\83\94\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00\E1\83\9D\E1\83\A5\E1\83\A2\E1\83\9D\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00\E1\83\9C\E1\83\9D\E1\83\94\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00\E1\83\93\E1\83\94\E1\83\99\E1\83\94\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00%Y \E1\83\AC\E1\83\9A\E1\83\98\E1\83\A1 %d %B, %T %Z\00ata\00pin\00sis\00tal\00arf\00sabaat\00ataasinngorneq\00marlunngorneq\00pingasunngorneq\00sisamanngorneq\00tallimanngorneq\00arfininngorneq\00januari\00februari\00martsi\00aprili\00maji\00augustusi\00septemberi\00oktoberi\00novemberi\00decemberi\00%d %b %Y\00\EC\9D\BC\00\EC\9B\94\00\ED\99\94\00\EC\88\98\00\EB\AA\A9\00\EA\B8\88\00\ED\86\A0\00\EC\9D\BC\EC\9A\94\EC\9D\BC\00\EC\9B\94\EC\9A\94\EC\9D\BC\00\ED\99\94\EC\9A\94\EC\9D\BC\00\EC\88\98\EC\9A\94\EC\9D\BC\00\EB\AA\A9\EC\9A\94\EC\9D\BC\00\EA\B8\88\EC\9A\94\EC\9D\BC\00\ED\86\A0\EC\9A\94\EC\9D\BC\00 1\EC\9B\94\00 2\EC\9B\94\00 3\EC\9B\94\00 4\EC\9B\94\00 5\EC\9B\94\00 6\EC\9B\94\00 7\EC\9B\94\00 8\EC\9B\94\00 9\EC\9B\94\0010\EC\9B\94\0011\EC\9B\94\0012\EC\9B\94\00\EC\9D\BC\EC\9B\94\00\EC\9D\B4\EC\9B\94\00\EC\82\BC\EC\9B\94\00\EC\82\AC\EC\9B\94\00\EC\98\A4\EC\9B\94\00\EC\9C\A0\EC\9B\94\00\EC\B9\A0\EC\9B\94\00\ED\8C\94\EC\9B\94\00\EA\B5\AC\EC\9B\94\00\EC\8B\9C\EC\9B\94\00\EC\8B\AD\EC\9D\BC\EC\9B\94\00\EC\8B\AD\EC\9D\B4\EC\9B\94\00\EC\98\A4\EC\A0\84\00\EC\98\A4\ED\9B\84\00%x (%a) %r\00%Y\EB\85\84 %m\EC\9B\94 %d\EC\9D\BC\00%H\EC\8B\9C %M\EB\B6\84 %S\EC\B4\88\00%p %I\EC\8B\9C %M\EB\B6\84 %S\EC\B4\88\00Mth\00Mhr\00Yow\00De Sul\00De Lun\00De Merth\00De Merher\00De Yow\00De Gwener\00De Sadorn\00Gen\00Whe>\00Me\00Evn\00Est\00Gwn\00Hed\00Kev\00Mys Genver\00Mys Whevrel\00Mys Merth\00Mys Ebrel\00Mys Me\00Mys Evan\00Mys Gortheren\00Mye Est\00Mys Gwyngala\00Mys Hedra\00Mys Du\00Mys Kevardhu\00Sk\00Pr\00An\00Tr\00Kt\00Pn\00\D0t\00Sekmadienis\00Pirmadienis\00Antradienis\00Tre\E8iadienis\00Ketvirtadienis\00Penktadienis\00\D0e\F0tadienis\00Sau\00Vas\00Kov\00Bal\00Geg\00Bir\00Lie\00Rgp\00Rgs\00Spa\00Lap\00Grd\00sausio\00vasario\00kovo\00baland\FEio\00gegu\FE\EBs\00bir\FEelio\00liepos\00rugpj\FB\E8io\00rugs\EBjo\00spalio\00lapkri\E8io\00gruod\FEio\00%Y m. %B %d d. %T\00%Y.%m.%d\00\C5\A0t\00Tre\C4\8Diadienis\00\C5\A0e\C5\A1tadienis\00baland\C5\BEio\00gegu\C5\BE\C4\97s\00bir\C5\BEelio\00rugpj\C5\AB\C4\8Dio\00rugs\C4\97jo\00lapkri\C4\8Dio\00gruod\C5\BEio\00Sv\00P\A0\00O\A0\00T\A0\00C\A0\00Pk\00S\A0\00sv\E7tdiena\00pirmdiena\00otrdiena\00tre\F0diena\00ceturtdiena\00piektdiena\00sestdiena\00j\FBn\00j\FBl\00janv\E2ris\00febru\E2ris\00apr\EElis\00maijs\00j\FBnijs\00j\FBlijs\00augusts\00septembris\00oktobris\00novembris\00decembris\00%A, %Y. gada %e. %B, plkst. %H un %M\00%Y.%m.%d.\00P\C2\A0\00O\C2\A0\00T\C2\A0\00C\C2\A0\00S\C2\A0\00sv\C4\93tdiena\00tre\C5\A1diena\00j\C5\ABn\00j\C5\ABl\00janv\C4\81ris\00febru\C4\81ris\00apr\C4\ABlis\00j\C5\ABnijs\00j\C5\ABlijs\00Ta\00T\FB\00We\00T\E2i\00Pa\00H\E2\00R\E2tapu\00Mane\00T\FBrei\00Wenerei\00T\E2ite\00Paraire\00H\E2tarei\00Kohi\00Hui\00Pou\00Pae\00Hara\00Pipi\00H\F4ngoi\00Mahu\00Whi-nu\00Whi-ra\00Haki\00Kohi-t\E2tea\00Hui-tanguru\00Pout\FB-te-rangi\00Paenga-wh\E2wh\E2\00Haratua\00Pipiri\00H\F4ngoingoi\00Here-turi-k\F4k\E2\00Mahuru\00Whiringa-\E2-nuku\00Whiringa-\E2-rangi\00Hakihea\00Te %A, te %d o %B, %Y %T %Z\00T\C5\AB\00T\C4\81i\00H\C4\81\00R\C4\81tapu\00T\C5\ABrei\00T\C4\81ite\00H\C4\81tarei\00H\C5\8Dngoi\00Kohi-t\C4\81tea\00Pout\C5\AB-te-rangi\00Paenga-wh\C4\81wh\C4\81\00H\C5\8Dngoingoi\00Here-turi-k\C5\8Dk\C4\81\00Whiringa-\C4\81-nuku\00Whiringa-\C4\81-rangi\00\DD\D5\D4\00\DF\DE\DD\00\D2\E2\DE\00\E1\E0\D5\00\E7\D5\E2\00\DF\D5\E2\00\E1\D0\D1\00\DD\D5\D4\D5\DB\D0\00\DF\DE\DD\D5\D4\D5\DB\DD\D8\DA\00\D2\E2\DE\E0\DD\D8\DA\00\E1\E0\D5\D4\D0\00\E7\D5\E2\D2\E0\E2\DE\DA\00\DF\D5\E2\DE\DA\00\E1\D0\D1\DE\E2\D0\00\F8\D0\DD\00\E4\D5\D2\00\DC\D0\E0\00\D0\DF\E0\00\DC\D0\F8\00\F8\E3\DD\00\F8\E3\DB\00\D0\D2\D3\00\E1\D5\DF\00\DE\DA\E2\00\DD\DE\D5\00\D4\D5\DA\00\F8\D0\DD\E3\D0\E0\D8\00\E4\D5\D2\E0\E3\D0\E0\D8\00\DC\D0\E0\E2\00\D0\DF\E0\D8\DB\00\F8\E3\DD\D8\00\F8\E3\DB\D8\00\D0\D2\D3\E3\E1\E2\00\E1\D5\DF\E2\D5\DC\D2\E0\D8\00\DE\DA\E2\DE\DC\D2\E0\D8\00\DD\DE\D5\DC\D2\E0\D8\00\D4\D5\DA\D5\DC\D2\E0\D8\00%a, %d %b %Y %T %Z\00\D0\BD\D0\B5\D0\B4\00\D0\BF\D0\BE\D0\BD\00\D0\B2\D1\82\D0\BE\00\D1\81\D1\80\D0\B5\00\D1\87\D0\B5\D1\82\00\D0\BF\D0\B5\D1\82\00\D1\81\D0\B0\D0\B1\00\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D0\B0\00\D1\81\D1\80\D0\B5\D0\B4\D0\B0\00\D1\87\D0\B5\D1\82\D0\B2\D1\80\D1\82\D0\BE\D0\BA\00\D0\BF\D0\B5\D1\82\D0\BE\D0\BA\00\D1\81\D0\B0\D0\B1\D0\BE\D1\82\D0\B0\00\D1\98\D0\B0\D0\BD\00\D0\BC\D0\B0\D1\98\00\D1\98\D1\83\D0\BD\00\D1\98\D1\83\D0\BB\00\D1\98\D0\B0\D0\BD\D1\83\D0\B0\D1\80\D0\B8\00\D1\98\D1\83\D0\BD\D0\B8\00\D1\98\D1\83\D0\BB\D0\B8\00\E0\A4\B0\E0\A4\B5\E0\A4\BF\00\E0\A4\B8\E0\A5\8B\E0\A4\AE\00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B3\00\E0\A4\AC\E0\A5\81\E0\A4\A7\00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81\00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0\00\E0\A4\B6\E0\A4\A8\E0\A4\BF\00\E0\A4\B0\E0\A4\B5\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\B8\E0\A5\8B\E0\A4\AE\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B3\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\B6\E0\A4\A8\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\9C\E0\A4\BE\E0\A4\A8\E0\A5\87\E0\A4\B5\E0\A4\BE\E0\A4\B0\E0\A5\80\00\E0\A4\AB\E0\A5\87\E0\A4\AC\E0\A5\83\E0\A4\B5\E0\A4\BE\E0\A4\B0\E0\A5\80\00\E0\A4\8F\E0\A4\AA\E0\A5\8D\E0\A4\B0\E0\A4\BF\E0\A4\B2\00\E0\A4\AE\E0\A5\87\00\E0\A4\9C\E0\A5\81\E0\A4\B2\E0\A5\88\00\E0\A4\93\E0\A4\97\E0\A4\B8\E0\A5\8D\E0\A4\9F\00\E0\A4\B8\E0\A5\87\E0\A4\AA\E0\A5\8D\E0\A4\9F\E0\A5\87\E0\A4\82\E0\A4\AC\E0\A4\B0\00\E0\A4\93\E0\A4\95\E0\A5\8D\E0\A4\9F\E0\A5\8B\E0\A4\AC\E0\A4\B0\00\E0\A4\A8\E0\A5\8B\E0\A4\B5\E0\A5\8D\E0\A4\B9\E0\A5\87\E0\A4\82\E0\A4\AC\E0\A4\B0\00\E0\A4\A1\E0\A4\BF\E0\A4\B8\E0\A5\87\E0\A4\82\E0\A4\AC\E0\A4\B0\00\E0\A4\AE.\E0\A4\AA\E0\A5\82.\00\E0\A4\AE.\E0\A4\A8\E0\A4\82.\00Ahd\00Isn\00Kha\00Ahad\00Isnin\00Khamis\00Jumaat\00Mac\00Ogos\00Dis\00Februari\00Julai\00Disember\00\A1ad\00Tne\00Tli\00Erb\00\A1am\00\D5im\00Sib\00il-\A1add\00it-Tnejn\00it-Tlieta\00l-Erbg\B1a\00il-\A1amis\00il-\D5img\B1a\00is-Sibt\00Fra\00Mej\00\D5un\00Lul\00Awi\00Ott\00Di\E5\00Jannar\00Frar\00Marzu\00Mejju\00\D5unju\00Lulju\00Awissu\00Settembru\00Ottubru\00Novembru\00Di\E5embru \00%A, %d ta %b, %Y %I:%M:%S %p %Z\00%A, %d ta %b, %Y\00\C4\A6ad\00\C4\A6am\00\C4\A0im\00il-\C4\A6add\00l-Erbg\C4\A7a\00il-\C4\A6amis\00il-\C4\A0img\C4\A7a\00\C4\A0un\00Di\C4\8B\00\C4\A0unju\00Di\C4\8Bembru \00zo\00di\00wo\00do\00vr\00za\00zondag\00maandag\00dinsdag\00woensdag\00donderdag\00vrijdag\00zaterdag\00mrt\00mei\00maart\00augustus\00%d-%m-%y\00su \00m\E5 \00ty \00on \00to \00fr \00lau \00sundag \00m\E5ndag \00tysdag \00onsdag \00torsdag \00fredag \00laurdag \00%d. %b %Y kl %H.%M %Z\00%d. %b %Y\00kl %H.%M %Z\00m\C3\A5 \00m\C3\A5ndag \00%a %d-%m-%Y %T %Z\00mec\00j\F3u\00dimenge\00diluns\00dimars\00dij\F3us\00disabte\00ag\F3\00geni\E8r\00febri\E8r\00abrial\00junh\00julhet\00ag\F3st\00decembre\00j\C3\B3u\00dij\C3\B3us\00ag\C3\B3\00geni\C3\A8r\00febri\C3\A8r\00ag\C3\B3st\00nie\00pon\00wto\00\B6ro\00czw\00pi\B1\00sob\00niedziela\00poniedzia\B3ek\00wtorek\00\B6roda\00czwartek\00pi\B1tek\00sobota\00sty\00lut\00kwi\00cze\00lip\00sie\00wrz\00pa\BC\00gru\00stycze\F1\00luty\00marzec\00kwiecie\F1\00czerwiec\00lipiec\00sierpie\F1\00wrzesie\F1\00pa\BCdziernik\00grudzie\F1\00\C5\9Bro\00pi\C4\85\00poniedzia\C5\82ek\00\C5\9Broda\00pi\C4\85tek\00pa\C5\BA\00stycze\C5\84\00kwiecie\C5\84\00sierpie\C5\84\00wrzesie\C5\84\00pa\C5\BAdziernik\00grudzie\C5\84\00Seg\00Ter\00Qua\00Qui\00Sex\00segunda\00ter\E7a\00quarta\00quinta\00sexta\00janeiro\00fevereiro\00mar\E7o\00maio\00junho\00julho\00setembro\00outubro\00novembro\00dezembro\00ter\C3\A7a\00mar\C3\A7o\00Segunda\00Ter\E7a\00Quarta\00Quinta\00Sexta\00Janeiro\00Fevereiro\00Mar\E7o\00Junho\00Julho\00Dezembro\00Ter\C3\A7a\00Mar\C3\A7o\00Lu\00Mi\00Jo\00Vi\00S\EE\00Duminic\C3\00Luni\00Mar\FEi\00Miercuri\00Joi\00Vineri\00S\EEmb\C3t\C3\00ian\00iun\00iul\00Ianuarie\00Martie\00Aprilie\00Iunie\00Iulie\00Septembrie\00Octombrie\00Noiembrie\00Decembrie\00S\C3\AE\00Duminic\C4\82\00Mar\C5\A3i\00S\C3\AEmb\C4\82t\C4\82\00\F7\D3\CB\00\F0\CE\C4\00\F7\D4\D2\00\F3\D2\C4\00\FE\D4\D7\00\F0\D4\CE\00\F3\C2\D4\00\F7\CF\D3\CB\D2\C5\D3\C5\CE\D8\C5\00\F0\CF\CE\C5\C4\C5\CC\D8\CE\C9\CB\00\F7\D4\CF\D2\CE\C9\CB\00\F3\D2\C5\C4\C1\00\FE\C5\D4\D7\C5\D2\C7\00\F0\D1\D4\CE\C9\C3\C1\00\F3\D5\C2\C2\CF\D4\C1\00\F1\CE\D7\00\E6\C5\D7\00\ED\C1\D2\00\E1\D0\D2\00\ED\C1\CA\00\E9\C0\CE\00\E9\C0\CC\00\E1\D7\C7\00\F3\C5\CE\00\EF\CB\D4\00\EE\CF\D1\00\E4\C5\CB\00\F1\CE\D7\C1\D2\D1\00\E6\C5\D7\D2\C1\CC\D1\00\ED\C1\D2\D4\C1\00\E1\D0\D2\C5\CC\D1\00\ED\C1\D1\00\E9\C0\CE\D1\00\E9\C0\CC\D1\00\E1\D7\C7\D5\D3\D4\C1\00\F3\C5\CE\D4\D1\C2\D2\D1\00\EF\CB\D4\D1\C2\D2\D1\00\EE\CF\D1\C2\D2\D1\00\E4\C5\CB\C1\C2\D2\D1\00\B2\E1\DA\00\BF\DD\D4\00\B2\E2\E0\00\C1\E0\D4\00\C7\E2\D2\00\BF\E2\DD\00\C1\D1\E2\00\B2\DE\E1\DA\E0\D5\E1\D5\DD\EC\D5\00\BF\DE\DD\D5\D4\D5\DB\EC\DD\D8\DA\00\B2\E2\DE\E0\DD\D8\DA\00\C1\E0\D5\D4\D0\00\C7\D5\E2\D2\D5\E0\D3\00\BF\EF\E2\DD\D8\E6\D0\00\C1\E3\D1\D1\DE\E2\D0\00\CF\DD\D2\00\C4\D5\D2\00\BC\D0\E0\00\B0\DF\E0\00\BC\D0\D9\00\B8\EE\DD\00\B8\EE\DB\00\B0\D2\D3\00\C1\D5\DD\00\BE\DA\E2\00\BD\DE\EF\00\B4\D5\DA\00\CF\DD\D2\D0\E0\EF\00\C4\D5\D2\E0\D0\DB\EF\00\BC\D0\E0\E2\D0\00\B0\DF\E0\D5\DB\EF\00\BC\D0\EF\00\B8\EE\DD\EF\00\B8\EE\DB\EF\00\B0\D2\D3\E3\E1\E2\D0\00\C1\D5\DD\E2\EF\D1\E0\EF\00\BE\DA\E2\EF\D1\E0\EF\00\BD\DE\EF\D1\E0\EF\00\B4\D5\DA\D0\D1\E0\EF\00\D0\92\D1\81\D0\BA\00\D0\9F\D0\BD\D0\B4\00\D0\92\D1\82\D1\80\00\D0\A7\D1\82\D0\B2\00\D0\9F\D1\82\D0\BD\00\D0\A1\D0\B1\D1\82\00\D0\92\D0\BE\D1\81\D0\BA\D1\80\D0\B5\D1\81\D0\B5\D0\BD\D1\8C\D0\B5\00\D0\9F\D0\BE\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D1\8C\D0\BD\D0\B8\D0\BA\00\D0\92\D1\82\D0\BE\D1\80\D0\BD\D0\B8\D0\BA\00\D0\A1\D1\80\D0\B5\D0\B4\D0\B0\00\D0\A7\D0\B5\D1\82\D0\B2\D0\B5\D1\80\D0\B3\00\D0\9F\D1\8F\D1\82\D0\BD\D0\B8\D1\86\D0\B0\00\D0\A1\D1\83\D0\B1\D0\B1\D0\BE\D1\82\D0\B0\00\D0\AF\D0\BD\D0\B2\00\D0\A4\D0\B5\D0\B2\00\D0\9C\D0\B0\D1\80\00\D0\90\D0\BF\D1\80\00\D0\9C\D0\B0\D0\B9\00\D0\98\D1\8E\D0\BD\00\D0\98\D1\8E\D0\BB\00\D0\90\D0\B2\D0\B3\00\D0\A1\D0\B5\D0\BD\00\D0\9E\D0\BA\D1\82\00\D0\9D\D0\BE\D1\8F\00\D0\94\D0\B5\D0\BA\00\D0\AF\D0\BD\D0\B2\D0\B0\D1\80\D1\8F\00\D0\A4\D0\B5\D0\B2\D1\80\D0\B0\D0\BB\D1\8F\00\D0\9C\D0\B0\D1\80\D1\82\D0\B0\00\D0\90\D0\BF\D1\80\D0\B5\D0\BB\D1\8F\00\D0\9C\D0\B0\D1\8F\00\D0\98\D1\8E\D0\BD\D1\8F\00\D0\98\D1\8E\D0\BB\D1\8F\00\D0\90\D0\B2\D0\B3\D1\83\D1\81\D1\82\D0\B0\00\D0\A1\D0\B5\D0\BD\D1\82\D1\8F\D0\B1\D1\80\D1\8F\00\D0\9E\D0\BA\D1\82\D1\8F\D0\B1\D1\80\D1\8F\00\D0\9D\D0\BE\D1\8F\D0\B1\D1\80\D1\8F\00\D0\94\D0\B5\D0\BA\D0\B0\D0\B1\D1\80\D1\8F\00\F7\D4\CF\00\F3\D5\C2\00\F1\CE\D7\C1\D2\D8\00\E6\C5\D7\D2\C1\CC\D8\00\ED\C1\D2\D4\00\E1\D0\D2\C5\CC\D8\00\E9\C0\CE\D8\00\E9\C0\CC\D8\00\E1\D7\C7\D5\D3\D4\00\F3\C5\CE\D4\D1\C2\D2\D8\00\EF\CB\D4\D1\C2\D2\D8\00\EE\CF\D1\C2\D2\D8\00\E4\C5\CB\C1\C2\D2\D8\00\D0\92\D1\82\D0\BE\00\D0\AF\D0\BD\D0\B2\D0\B0\D1\80\D1\8C\00\D0\A4\D0\B5\D0\B2\D1\80\D0\B0\D0\BB\D1\8C\00\D0\9C\D0\B0\D1\80\D1\82\00\D0\90\D0\BF\D1\80\D0\B5\D0\BB\D1\8C\00\D0\98\D1\8E\D0\BD\D1\8C\00\D0\98\D1\8E\D0\BB\D1\8C\00\D0\90\D0\B2\D0\B3\D1\83\D1\81\D1\82\00\D0\A1\D0\B5\D0\BD\D1\82\D1\8F\D0\B1\D1\80\D1\8C\00\D0\9E\D0\BA\D1\82\D1\8F\D0\B1\D1\80\D1\8C\00\D0\9D\D0\BE\D1\8F\D0\B1\D1\80\D1\8C\00\D0\94\D0\B5\D0\BA\D0\B0\D0\B1\D1\80\D1\8C\00sotn\00vuos\00ma\C5\8B\00gask\00duor\00bear\00l\C3\A1v\00sotnabeaivi\00vuoss\C3\A1rga\00ma\C5\8B\C5\8Bebarga\00gaskavahkku\00duorasdat\00bearjadat\00l\C3\A1vvardat\00o\C4\91\C4\91j\00guov\00njuk\00cuo\C5\8B\00mies\00geas\00suoi\00borg\00\C4\8Dak\C4\8D\00golg\00sk\C3\A1b\00juov\00o\C4\91\C4\91ajagem\C3\A1nu\00guovvam\C3\A1nu\00njuk\C4\8Dam\C3\A1nu\00cuo\C5\8Bom\C3\A1nu\00miessem\C3\A1nu\00geassem\C3\A1nu\00suoidnem\C3\A1nu\00borgem\C3\A1nu\00\C4\8Dak\C4\8Dam\C3\A1nu\00golggotm\C3\A1nu\00sk\C3\A1bmam\C3\A1nu\00juovlam\C3\A1nu\00%a, %b %e. b. %Y %T %Z\00Ut\00\A9t\00Pi\00Nede\B5a\00Pondelok\00Utorok\00Streda\00\A9tvrtok\00Piatok\00marec\00Nede\C4\BEa\00\C5\A0tvrtok\00ned\00sre\00\E8et\00pet\00nedelja\00ponedeljek\00torek\00sreda\00\E8etrtek\00petek\00avg\00junij\00julij\00avgust\00\C4\8Det\00\C4\8Detrtek\00Die \00H\EBn \00Mar \00M\EBr \00Enj \00Pre \00Sht \00e diel \00e h\EBn\EB \00e mart\EB \00e m\EBrkur\EB \00e enjte \00e premte \00e shtun\EB \00Shk\00Pri\00Qer\00Kor\00Gsh\00Sht\00Tet\00N\EBn\00Dhj\00janar\00shkurt\00prill\00qershor\00korrik\00gusht\00shtator\00tetor\00n\EBntor\00dhjetor\00PD\00MD\00%Y-%b-%d %I.%M.%S.%p %Z\00%Y-%b-%d\00%I.%M.%S. %Z\00%I.%M.%S.%p %Z\00H\C3\ABn \00M\C3\ABr \00e h\C3\ABn\C3\AB \00e mart\C3\AB \00e m\C3\ABrkur\C3\AB \00e shtun\C3\AB \00N\C3\ABn\00n\C3\ABntor\00uto\00sub\00ponedeljak\00utorak\00\E8etvrtak\00petak\00subota\00septembar\00oktobar\00novembar\00decembar\00%d-%m-%Y.\00\C4\8Detvrtak\00\E3\E2\DE\00\E1\E3\D1\00\DD\D5\D4\D5\F9a\00\DF\DE\DD\D5\D4\D5\F9\D0\DA\00\E3\E2\DE\E0\D0\DA\00\E7\D5\E2\D2\E0\E2\D0\DA\00\DF\D5\E2\D0\DA\00\E1\E3\D1\DE\E2\D0\00\E4\D5\D1\00\DD\DE\D2\00\D4\D5\E6\00\F8\D0\DD\E3\D0\E0\00\E4\D5\D1\E0\E3\D0\E0\00\E1\D5\DF\E2\D5\DC\D1\D0\E0\00\DE\DA\E2\DE\D1\D0\E0\00\DD\DE\D2\D5\DC\D1\D0\E0\00\D4\D5\E6\D5\DC\D1\D0\E0\00+%a %d %b %Y %T %Z\00\D1\83\D1\82\D0\BE\00\D1\81\D1\83\D0\B1\00\D0\BD\D0\B5\D0\B4\D0\B5\D1\99a\00\D0\BF\D0\BE\D0\BD\D0\B5\D0\B4\D0\B5\D1\99\D0\B0\D0\BA\00\D1\83\D1\82\D0\BE\D1\80\D0\B0\D0\BA\00\D1\87\D0\B5\D1\82\D0\B2\D1\80\D1\82\D0\B0\D0\BA\00\D0\BF\D0\B5\D1\82\D0\B0\D0\BA\00\D1\81\D1\83\D0\B1\D0\BE\D1\82\D0\B0\00\D1\84\D0\B5\D0\B1\00\D0\BD\D0\BE\D0\B2\00\D0\B4\D0\B5\D1\86\00\D1\98\D0\B0\D0\BD\D1\83\D0\B0\D1\80\00\D1\84\D0\B5\D0\B1\D1\80\D1\83\D0\B0\D1\80\00\D1\81\D0\B5\D0\BF\D1\82\D0\B5\D0\BC\D0\B1\D0\B0\D1\80\00\D0\BE\D0\BA\D1\82\D0\BE\D0\B1\D0\B0\D1\80\00\D0\BD\D0\BE\D0\B2\D0\B5\D0\BC\D0\B1\D0\B0\D1\80\00\D0\B4\D0\B5\D1\86\D0\B5\D0\BC\D0\B1\D0\B0\D1\80\00s\F6n\00m\E5n\00tis\00l\F6r\00s\F6ndag\00m\E5ndag\00tisdag\00l\F6rdag\00augusti\00%a %e %b %Y %H.%M.%S\00s\C3\B6n\00m\C3\A5n\00l\C3\B6r\00s\C3\B6ndag\00m\C3\A5ndag\00l\C3\B6rdag\00\E0\AE\9E\00\E0\AE\A4\00\E0\AE\9A\00\E0\AE\AA\00\E0\AE\B5\00\E0\AE\9E\E0\AE\BE\E0\AE\AF\E0\AE\BF\E0\AE\B1\E0\AF\81\00\E0\AE\A4\E0\AE\BF\E0\AE\99\E0\AF\8D\E0\AE\95\E0\AE\B3\E0\AF\8D\00\E0\AE\9A\E0\AF\86\E0\AE\B5\E0\AF\8D\E0\AE\B5\E0\AE\BE\E0\AE\AF\E0\AF\8D\00\E0\AE\AA\E0\AF\81\E0\AE\A4\E0\AE\A9\E0\AF\8D\00\E0\AE\B5\E0\AE\BF\E0\AE\AF\E0\AE\BE\E0\AE\B4\E0\AE\A9\E0\AF\8D\00\E0\AE\B5\E0\AF\86\E0\AE\B3\E0\AF\8D\E0\AE\B3\E0\AE\BF\00\E0\AE\9A\E0\AE\A9\E0\AE\BF\00\E0\AE\9C\E0\AE\A9\E0\AE\B5\E0\AE\B0\E0\AE\BF\00\E0\AE\AA\E0\AF\86\E0\AE\AA\E0\AF\8D\E0\AE\B0\E0\AE\B5\E0\AE\B0\E0\AE\BF\00\E0\AE\AE\E0\AE\BE\E0\AE\B0\E0\AF\8D\E0\AE\9A\E0\AF\8D\00\E0\AE\8F\E0\AE\AA\E0\AF\8D\E0\AE\B0\E0\AE\B2\E0\AF\8D\00\E0\AE\AE\E0\AF\87\00\E0\AE\9C\E0\AF\82\E0\AE\A9\E0\AF\8D\00\E0\AE\9C\E0\AF\82\E0\AE\B2\E0\AF\88\00\E0\AE\86\E0\AE\95\E0\AE\B8\E0\AF\8D\E0\AE\9F\E0\AF\8D\00\E0\AE\9A\E0\AF\86\E0\AE\AA\E0\AF\8D\E0\AE\9F\E0\AE\AE\E0\AF\8D\E0\AE\AA\E0\AE\B0\E0\AF\8D\00\E0\AE\85\E0\AE\95\E0\AF\8D\E0\AE\9F\E0\AF\8B\E0\AE\AA\E0\AE\B0\E0\AF\8D\00\E0\AE\A8\E0\AE\B5\E0\AE\AE\E0\AF\8D\E0\AE\AA\E0\AE\B0\E0\AF\8D\00\E0\AE\9F\E0\AE\BF\E0\AE\9A\E0\AE\AE\E0\AF\8D\E0\AE\AA\E0\AE\B0\E0\AF\8Dr\00\E0\AE\95\E0\AE\BE\E0\AE\B2\E0\AF\88\00\E0\AE\AE\E0\AE\BE\E0\AE\B2\E0\AF\88\00\E0\B0\86\E0\B0\A6\E0\B0\BF\00\E0\B0\B8\E0\B1\8B\E0\B0\AE\00\E0\B0\AE\E0\B0\82\E0\B0\97\E0\B0\B3\00\E0\B0\AC\E0\B1\81\E0\B0\A7\00\E0\B0\97\E0\B1\81\E0\B0\B0\E0\B1\81\00\E0\B0\B6\E0\B1\81\E0\B0\95\E0\B1\8D\E0\B0\B0\00\E0\B0\B6\E0\B0\A8\E0\B0\BF\00\E0\B0\86\E0\B0\A6\E0\B0\BF\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\B8\E0\B1\8B\E0\B0\AE\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\AE\E0\B0\82\E0\B0\97\E0\B0\B3\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\AC\E0\B1\81\E0\B0\A7\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\97\E0\B1\81\E0\B0\B0\E0\B1\81\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\B6\E0\B1\81\E0\B0\95\E0\B1\8D\E0\B0\B0\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\B6\E0\B0\A8\E0\B0\BF\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\9C\E0\B0\A8\E0\B0\B5\E0\B0\B0\E0\B0\BF\00\E0\B0\AB\E0\B0\BF\E0\B0\AC\E0\B1\8D\E0\B0\B0\E0\B0\B5\E0\B0\B0\E0\B0\BF\00\E0\B0\AE\E0\B0\BE\E0\B0\B0\E0\B1\8D\E0\B0\9A\E0\B0\BF\00\E0\B0\8F\E0\B0\AA\E0\B1\8D\E0\B0\B0\E0\B0\BF\E0\B0\B2\E0\B1\8D\00\E0\B0\AE\E0\B1\87\00\E0\B0\9C\E0\B1\82\E0\B0\A8\E0\B1\8D\00\E0\B0\9C\E0\B1\82\E0\B0\B2\E0\B1\88\00\E0\B0\86\E0\B0\97\E0\B0\B8\E0\B1\8D\E0\B0\9F\E0\B1\81\00\E0\B0\B8\E0\B1\86\E0\B0\AA\E0\B1\8D\E0\B0\9F\E0\B1\86\E0\B0\82\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\85\E0\B0\95\E0\B1\8D\E0\B0\9F\E0\B1\8B\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\A8\E0\B0\B5\E0\B0\82\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\A1\E0\B0\BF\E0\B0\B8\E0\B1\86\E0\B0\82\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\AA\E0\B1\82\E0\B0\B0\E0\B1\8D\E0\B0\B5\E0\B0\BE\E0\B0\B9\E0\B1\8D\E0\B0\A8\00\E0\B0\85\E0\B0\AA\E0\B0\B0\E0\B0\BE\E0\B0\B9\E0\B1\8D\E0\B0\A8\00\CD\D2.\00\A8.\00\CD.\00\BE.\00\BE\C4.\00\C8.\00\CA.\00\CD\D2\B7\D4\B5\C2\EC\00\A8\D1\B9\B7\C3\EC\00\CD\D1\A7\A4\D2\C3\00\BE\D8\B8\00\BE\C4\CB\D1\CA\BA\B4\D5\00\C8\D8\A1\C3\EC\00\E0\CA\D2\C3\EC\00\C1.\A4.\00\A1.\BE.\00\C1\D5.\A4.\00\E0\C1.\C2.\00\BE.\A4.\00\C1\D4.\C2.\00\A1.\A4.\00\CA.\A4.\00\A1.\C2.\00\B5.\A4.\00\BE.\C2.\00\B8.\A4.\00\C1\A1\C3\D2\A4\C1\00\A1\D8\C1\C0\D2\BE\D1\B9\B8\EC\00\C1\D5\B9\D2\A4\C1\00\E0\C1\C9\D2\C2\B9\00\BE\C4\C9\C0\D2\A4\C1\00\C1\D4\B6\D8\B9\D2\C2\B9\00\A1\C3\A1\AE\D2\A4\C1\00\CA\D4\A7\CB\D2\A4\C1\00\A1\D1\B9\C2\D2\C2\B9\00\B5\D8\C5\D2\A4\C1\00\BE\C4\C8\A8\D4\A1\D2\C2\B9\00\B8\D1\B9\C7\D2\A4\C1\00%a %e %b %Ey, %H:%M:%S\00%d/%m/%Ey\00+:1:-543/01/01:+*:\BE.\C8.:%EC %Ey\00\00%e %b %Ey\00\C7\D1\B9%A\B7\D5\E8 %e %B %EC %Ey, %H.%M.%S \B9.\00%H.%M.%S \B9.\00\E0\B8\AD\E0\B8\B2.\00\E0\B8\88.\00\E0\B8\AD.\00\E0\B8\9E.\00\E0\B8\9E\E0\B8\A4.\00\E0\B8\A8.\00\E0\B8\AA.\00\E0\B8\AD\E0\B8\B2\E0\B8\97\E0\B8\B4\E0\B8\95\E0\B8\A2\E0\B9\8C\00\E0\B8\88\E0\B8\B1\E0\B8\99\E0\B8\97\E0\B8\A3\E0\B9\8C\00\E0\B8\AD\E0\B8\B1\E0\B8\87\E0\B8\84\E0\B8\B2\E0\B8\A3\00\E0\B8\9E\E0\B8\B8\E0\B8\98\00\E0\B8\9E\E0\B8\A4\E0\B8\AB\E0\B8\B1\E0\B8\AA\E0\B8\9A\E0\B8\94\E0\B8\B5\00\E0\B8\A8\E0\B8\B8\E0\B8\81\E0\B8\A3\E0\B9\8C\00\E0\B9\80\E0\B8\AA\E0\B8\B2\E0\B8\A3\E0\B9\8C\00\E0\B8\A1.\E0\B8\84.\00\E0\B8\81.\E0\B8\9E.\00\E0\B8\A1\E0\B8\B5.\E0\B8\84.\00\E0\B9\80\E0\B8\A1.\E0\B8\A2.\00\E0\B8\9E.\E0\B8\84.\00\E0\B8\A1\E0\B8\B4.\E0\B8\A2.\00\E0\B8\81.\E0\B8\84.\00\E0\B8\AA.\E0\B8\84.\00\E0\B8\81.\E0\B8\A2.\00\E0\B8\95.\E0\B8\84.\00\E0\B8\9E.\E0\B8\A2.\00\E0\B8\98.\E0\B8\84.\00\E0\B8\A1\E0\B8\81\E0\B8\A3\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\81\E0\B8\B8\E0\B8\A1\E0\B8\A0\E0\B8\B2\E0\B8\9E\E0\B8\B1\E0\B8\99\E0\B8\98\E0\B9\8C\00\E0\B8\A1\E0\B8\B5\E0\B8\99\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B9\80\E0\B8\A1\E0\B8\A9\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\9E\E0\B8\A4\E0\B8\A9\E0\B8\A0\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\A1\E0\B8\B4\E0\B8\96\E0\B8\B8\E0\B8\99\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\81\E0\B8\A3\E0\B8\81\E0\B8\8E\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\AA\E0\B8\B4\E0\B8\87\E0\B8\AB\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\81\E0\B8\B1\E0\B8\99\E0\B8\A2\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\95\E0\B8\B8\E0\B8\A5\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\9E\E0\B8\A4\E0\B8\A8\E0\B8\88\E0\B8\B4\E0\B8\81\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\98\E0\B8\B1\E0\B8\99\E0\B8\A7\E0\B8\B2\E0\B8\84\E0\B8\A1\00+:1:-543/01/01:+*:\E0\B8\9E.\E0\B8\A8.:%EC %Ey\00\00\E0\B8\A7\E0\B8\B1\E0\B8\99%A\E0\B8\97\E0\B8\B5\E0\B9\88 %e %B %EC %Ey, %H.%M.%S \E0\B8\99.\00%H.%M.%S \E0\B8\99.\00\E1\88\B0\E1\8A\95\E1\89\A0\E1\89\B5\00\E1\88\B0\E1\8A\91\E1\8B\AD\00\E1\88\B0\E1\88\89\E1\88\B5\00\E1\88\93\E1\88\99\E1\88\B5\00\E1\8B\93\E1\88\AD\E1\89\A2\00\E1\89\80\E1\8B\B3\E1\88\9D\00\E1\8C\A5\E1\88\AA\00\E1\88\88\E1\8A\AB\E1\89\B2\00\E1\88\98\E1\8C\8B\E1\89\A2\00\E1\88\9A\E1\8B\AB\E1\8B\9D\00\E1\8C\8D\E1\8A\95\E1\89\A6\00\E1\88\B0\E1\8A\90\00\E1\88\93\E1\88\9D\E1\88\88\00\E1\8A\90\E1\88\93\E1\88\B0\00\E1\88\98\E1\88\B5\E1\8A\A8\00\E1\8C\A5\E1\89\85\E1\88\9D\00\E1\88\95\E1\8B\B3\E1\88\AD\00\E1\89\B3\E1\88\95\E1\88\B3\00\E1\88\88\E1\8A\AB\E1\89\B2\E1\89\B5\00\E1\88\98\E1\8C\8B\E1\89\A2\E1\89\B5\00\E1\88\9A\E1\8B\AB\E1\8B\9D\E1\8B\AB\00\E1\8C\8D\E1\8A\95\E1\89\A6\E1\89\B5\00\E1\88\98\E1\88\B5\E1\8A\A8\E1\88\A8\E1\88\9D\00\E1\8C\A5\E1\89\85\E1\88\9D\E1\89\B2\00\E1\89\B3\E1\88\95\E1\88\B3\E1\88\B5\00\E1\8A\95\E1\8C\89\E1\88\86 \E1\88\B0\E1\8B\93\E1\89\B0\00\E1\8B\B5\E1\88\95\E1\88\AD \E1\88\B0\E1\8B\93\E1\89\B5\00%A\E1\8D\A3 %b %e \E1\88\98\E1\8B\93\E1\88\8D\E1\89\B2 %l:%M:%S %Z %Y\00Lin\00Miy\00Huw\00Biy\00Linggo\00Lunes\00Miyerkoles\00Huwebes\00Biyernes\00Sabado\00Ene\00Hun\00Hul\00Nob\00Enero\00Pebrero\00Marso\00Mayo\00Hunyo\00Hulyo\00Septiyembre\00Oktubre\00Nobiyembre\00Disyembre\00Paz\00Pzt\00Sal\00\C7r\FE\00Pr\FE\00Cum\00Cts\00Pazar\00Pazartesi\00Sal\FD\00\C7ar\FEamba\00Per\FEembe\00Cuma\00Cumartesi\00Oca\00\DEub\00Nis\00Haz\00Tem\00A\F0u\00Eyl\00Eki\00Kas\00Ara\00Ocak\00\DEubat\00Nisan\00May\FDs\00Haziran\00Temmuz\00A\F0ustos\00Eyl\FCl\00Ekim\00Kas\FDm\00Aral\FDk\00\D6\D6\00\D6S\00\C3\87r\C5\9F\00Pr\C5\9F\00Sal\C4\B1\00\C3\87ar\C5\9Famba\00Per\C5\9Fembe\00\C5\9Eub\00A\C4\9Fu\00\C5\9Eubat\00May\C4\B1s\00A\C4\9Fustos\00Eyl\C3\BCl\00Kas\C4\B1m\00Aral\C4\B1k\00\C3\96\C3\96\00\C3\96S\00\D0\AF\D0\BA\D1\88\00\D0\94\D1\8B\D1\88\00\D0\A1\D0\B8\D1\88\00\D0\A7\D3\99\D1\80\D1\88\00\D0\9F\D3\99\D0\BD\D2\97\00\D2\96\D0\BE\D0\BC\00\D0\A8\D0\B8\D0\BC\00\D0\AF\D0\BA\D1\88\D3\99\D0\BC\D0\B1\D0\B5\00\D0\94\D1\8B\D1\88\D3\99\D0\BC\D0\B1\D0\B5\00\D0\A1\D0\B8\D1\88\D3\99\D0\BC\D0\B1\D0\B5\00\D0\A7\D3\99\D1\80\D1\88\D3\99\D3\99\D0\BC\D0\B1\D0\B5\00\D0\9F\D3\99\D0\BD\D2\97\D0\B5\D1\88\D0\BC\D0\B1\D0\B5\00\D2\96\D0\BE\D0\BC\D0\B3\D0\B0\00\D0\A8\D0\B8\D0\BC\D0\B1\D3\99\00\EE\C4\CC\00\EE\C5\C4\A6\CC\D1\00\F0\CF\CE\C5\C4\A6\CC\CF\CB\00\F7\A6\D7\D4\CF\D2\CF\CB\00\F3\C5\D2\C5\C4\C1\00\FE\C5\D4\D7\C5\D2\00\F0'\D1\D4\CE\C9\C3\D1\00\F3\D5\C2\CF\D4\C1\00\F3\A6\DE\00\EC\C0\D4\00\E2\C5\D2\00\EB\D7\A6\00\F4\D2\C1\00\FE\C5\D2\00\EC\C9\D0\00\F3\C5\D2\00\F7\C5\D2\00\F6\CF\D7\00\EC\C9\D3\00\E7\D2\D5\00\F3\A6\DE\C5\CE\D8\00\EC\C0\D4\C9\CA\00\E2\C5\D2\C5\DA\C5\CE\D8\00\EB\D7\A6\D4\C5\CE\D8\00\F4\D2\C1\D7\C5\CE\D8\00\FE\C5\D2\D7\C5\CE\D8\00\EC\C9\D0\C5\CE\D8\00\F3\C5\D2\D0\C5\CE\D8\00\F7\C5\D2\C5\D3\C5\CE\D8\00\F6\CF\D7\D4\C5\CE\D8\00\EC\C9\D3\D4\CF\D0\C1\C4\00\E7\D2\D5\C4\C5\CE\D8\00\D0\9D\D0\B4\D0\BB\00\D0\9D\D0\B5\D0\B4\D1\96\D0\BB\D1\8F\00\D0\9F\D0\BE\D0\BD\D0\B5\D0\B4\D1\96\D0\BB\D0\BE\D0\BA\00\D0\92\D1\96\D0\B2\D1\82\D0\BE\D1\80\D0\BE\D0\BA\00\D0\A1\D0\B5\D1\80\D0\B5\D0\B4\D0\B0\00\D0\A7\D0\B5\D1\82\D0\B2\D0\B5\D1\80\00\D0\9F'\D1\8F\D1\82\D0\BD\D0\B8\D1\86\D1\8F\00\D0\A1\D1\96\D1\87\00\D0\91\D0\B5\D1\80\00\D0\9A\D0\B2\D1\96\00\D0\A7\D0\B5\D1\80\00\D0\9B\D0\B8\D0\BF\00\D0\A1\D0\B5\D1\80\00\D0\92\D0\B5\D1\80\00\D0\96\D0\BE\D0\B2\00\D0\9B\D0\B8\D1\81\00\D0\93\D1\80\D1\83\00\D0\A1\D1\96\D1\87\D0\B5\D0\BD\D1\8C\00\D0\9B\D1\8E\D1\82\D0\B8\D0\B9\00\D0\91\D0\B5\D1\80\D0\B5\D0\B7\D0\B5\D0\BD\D1\8C\00\D0\9A\D0\B2\D1\96\D1\82\D0\B5\D0\BD\D1\8C\00\D0\A7\D0\B5\D1\80\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\9B\D0\B8\D0\BF\D0\B5\D0\BD\D1\8C\00\D0\A1\D0\B5\D1\80\D0\BF\D0\B5\D0\BD\D1\8C\00\D0\92\D0\B5\D1\80\D0\B5\D1\81\D0\B5\D0\BD\D1\8C\00\D0\96\D0\BE\D0\B2\D1\82\D0\B5\D0\BD\D1\8C\00\D0\9B\D0\B8\D1\81\D1\82\D0\BE\D0\BF\D0\B0\D0\B4\00\D0\93\D1\80\D1\83\D0\B4\D0\B5\D0\BD\D1\8C\00\D8\A7\D8\AA\D9\88\D8\A7\D8\B1\00\D9\BE\D9\8A\D8\B1\00\D9\85\D9\86\DA\AF\D9\84\00\D8\A8\D8\AF\DA\BE\00\D8\AC\D9\85\D8\B9\D8\B1\D8\A7\D8\AA\00\D9\87\D9\81\D8\AA\D9\87\00\D8\AC\D9\86\D9\88\D8\B1\D9\8A\00\D9\81\D8\B1\D9\88\D8\B1\D9\8A\00\D9\85\D8\A7\D8\B1\DA\86\00\D8\A7\D9\BE\D8\B1\D9\8A\D9\84\00\D9\85\D9\93\DB\8C\00\D8\AC\D9\88\D9\86\00\D8\AC\D9\88\D9\84\D8\A7\D9\8A\00\D8\A7\DA\AF\D8\B3\D8\AA\00\D8\B3\D8\AA\D9\85\D8\A8\D8\B1\00\D8\A7\D9\83\D8\AA\D9\88\D8\A8\D8\B1\00\D9\86\D9\88\D9\85\D8\A8\D8\B1\00\D8\AF\D8\B3\D9\85\D8\A8\D8\B1\00\D8\B4\00\D9\88 %H:%M:%S %Z \D8\AA %d %B %Y\00%P %I:%M:%S\00Yak\00Se\00Cho\00Pay\00Ju\00Sha\00yakshanba\00dushanba\00seshanba\00chorshanba\00payshanba\00juma\00shanba\00Yav\00Iyn\00Iyl\00Avg\00senyabr\00%T, %d %B, %Y yil, %A\00CN \00Th 2 \00Th 3 \00Th 4 \00Th 5 \00Th 6 \00Th 7 \00Chu\CC\89 nh\C3\A2\CC\A3t \00Th\C6\B0\CC\81 hai \00Th\C6\B0\CC\81 ba \00Th\C6\B0\CC\81 t\C6\B0 \00Th\C6\B0\CC\81 n\C4\83m \00Th\C6\B0\CC\81 s\C3\A1u \00Th\C6\B0\CC\81 ba\CC\89y \00Thg 1\00Thg 2\00Thg 3\00Thg 4\00Thg 5\00Thg 6\00Thg 7\00Thg 8\00Thg 9\00Thg 10\00Thg 11\00Thg 12\00Th\C3\A1ng m\C3\B4\CC\A3t\00Th\C3\A1ng hai\00Th\C3\A1ng ba\00Th\C3\A1ng t\C6\B0\00Th\C3\A1ng n\C4\83m\00Th\C3\A1ng s\C3\A1u\00Th\C3\A1ng ba\CC\89y\00Th\C3\A1ng t\C3\A1m\00Th\C3\A1ng ch\C3\ADn\00Th\C3\A1ng m\C6\B0\C6\A1\CC\80i\00Th\C3\A1ng m\C6\B0\C6\A1\CC\80i m\C3\B4\CC\A3t\00Th\C3\A1ng m\C6\B0\C6\A1\CC\80i hai\00%H:%M:%S %Z %A %d %b %Y\00%H:%M:%S %Z\00d\EEm\00lon\00m\E5r\00dju\00vin\00sem\00d\EEmegne\00londi\00m\E5rdi\00merkidi\00djudi\00vinrdi\00semdi\00dja\00fev\00m\E5s\00djn\00djl\00awo\00n\F4v\00djanv\EE\00fevr\EE\00m\E5ss\00avri\00djun\00djulete\00awousse\00setimbe\00oct\F4be\00n\F4vimbe\00decimbe\00Li %A %d di %B %Y %T %Z\00d\C3\AEm\00m\C3\A5r\00d\C3\AEmegne\00m\C3\A5rdi\00m\C3\A5s\00n\C3\B4v\00djanv\C3\AE\00fevr\C3\AE\00m\C3\A5ss\00oct\C3\B4be\00n\C3\B4vimbe\00\E6\E5\F0'\00\EE\E0\C8\F0'\00\E3\E9\F0'\00\EE\E9\E8'\00\E3\E0\C8\F0'\00\F4\CF\F8\D6\C7'\00\E6\E5\F0\E8\E9\F7\00\EE\E0\C8\F0\E8\E9\F7\00\E3\E9\F0\F1\E8\E9\F7\00\EE\E9\E8\D4\E0\C8\EA\00\E3\E0\C8\F0\F2\F8\F9\E8\E9\F7\00\F4\CF\F8\D6\C7\E8\E9\F7\00\E9\E0\C7\F0'\00\F4\CF\F2\E1'\00\EE\E0\C7\F8'\00\E0\C7\F4\CC\F8'\00\EE\D6\C7\00\E9\E5\F0'\00\E9\E5\EC'\00\E0\D5\E2'\00\F1\F2\F4\CC'\00\E0\C8\F7\E8'\00\F0\E0\C8\D4'\00\E3\F2\F6'\00\E9\E0\C7\F0\E5\E0\C7\F8\00\F4\CF\F2\E1\F8\E5\E0\C7\F8\00\EE\E0\C7\F8\F5\00\E0\C7\F4\CC\F8\E9\EC\00\E0\D5\E2\F1\E8\00\F1\F2\F4\CC\E8\F2\EE\E1\F2\F8\00\E0\C8\F7\E8\E0\C8\E1\F2\F8\00\F0A\C8\D4\F2\EE\E1\F2\F8\00\D7\96\D7\95\D7\A0'\00\D7\9E\D7\90\D6\B8\D7\A0'\00\D7\93\D7\99\D7\A0'\00\D7\9E\D7\99\D7\98'\00\D7\93\D7\90\D6\B8\D7\A0'\00\D7\A4\D6\BF\D7\A8\D7\B2\D6\B7'\00\D7\96\D7\95\D7\A0\D7\98\D7\99\D7\A7\00\D7\9E\D7\90\D6\B8\D7\A0\D7\98\D7\99\D7\A7\00\D7\93\D7\99\D7\A0\D7\A1\D7\98\D7\99\D7\A7\00\D7\9E\D7\99\D7\98\D7\B0\D7\90\D6\B8\D7\9A\00\D7\93\D7\90\D6\B8\D7\A0\D7\A2\D7\A8\D7\A9\D7\98\D7\99\D7\A7\00\D7\A4\D6\BF\D7\A8\D7\B2\D6\B7\D7\98\D7\99\D7\A7\00\D7\99\D7\90\D6\B7\D7\A0'\00\D7\A4\D6\BF\D7\A2\D7\91'\00\D7\9E\D7\90\D6\B7\D7\A8'\00\D7\90\D6\B7\D7\A4\D6\BC\D7\A8'\00\D7\9E\D7\B2\D6\B7\00\D7\99\D7\95\D7\A0'\00\D7\99\D7\95\D7\9C'\00\D7\90\D7\B1\D7\92'\00\D7\A1\D7\A2\D7\A4\D6\BC'\00\D7\90\D6\B8\D7\A7\D7\98'\00\D7\A0\D7\90\D6\B8\D7\B0'\00\D7\93\D7\A2\D7\A6'\00\D7\99\D7\90\D6\B7\D7\A0\D7\95\D7\90\D6\B7\D7\A8\00\D7\A4\D6\BF\D7\A2\D7\91\D7\A8\D7\95\D7\90\D6\B7\D7\A8\00\D7\9E\D7\90\D6\B7\D7\A8\D7\A5\00\D7\90\D6\B7\D7\A4\D6\BC\D7\A8\D7\99\D7\9C\00\D7\90\D7\B1\D7\92\D7\A1\D7\98\00\D7\A1\D7\A2\D7\A4\D6\BC\D7\98\D7\A2\D7\9E\D7\91\D7\A2\D7\A8\00\D7\90\D6\B8\D7\A7\D7\98\D7\90\D6\B8\D7\91\D7\A2\D7\A8\00\D7\A0A\D6\B8\D7\B0\D7\A2\D7\9E\D7\91\D7\A2\D7\A8\00\E4\B8\80\00\E4\BA\8C\00\E4\B8\89\00\E5\9B\9B\00\E4\BA\94\00\E5\85\AD\00\E6\98\9F\E6\9C\9F\E6\97\A5\00\E6\98\9F\E6\9C\9F\E4\B8\80\00\E6\98\9F\E6\9C\9F\E4\BA\8C\00\E6\98\9F\E6\9C\9F\E4\B8\89\00\E6\98\9F\E6\9C\9F\E5\9B\9B\00\E6\98\9F\E6\9C\9F\E4\BA\94\00\E6\98\9F\E6\9C\9F\E5\85\AD\00\E4\B8\80\E6\9C\88\00\E4\BA\8C\E6\9C\88\00\E4\B8\89\E6\9C\88\00\E5\9B\9B\E6\9C\88\00\E4\BA\94\E6\9C\88\00\E5\85\AD\E6\9C\88\00\E4\B8\83\E6\9C\88\00\E5\85\AB\E6\9C\88\00\E4\B9\9D\E6\9C\88\00\E5\8D\81\E6\9C\88\00\E5\8D\81\E4\B8\80\E6\9C\88\00\E5\8D\81\E4\BA\8C\E6\9C\88\00\E4\B8\8A\E5\8D\88\00\E4\B8\8B\E5\8D\88\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %A %H\E6\97\B6%M\E5\88\86%S\E7\A7\92\00%H\E6\97\B6%M\E5\88\86%S\E7\A7\92\00%p %I\E6\97\B6%M\E5\88\86%S\E7\A7\92\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %A %H:%M:%S\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %A\00%I\E6\99\82%M\E5\88\86%S\E7\A7\92 %Z\00%p %I:%M:%S\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %H\E6\97\B6%M\E5\88\86%S\E7\A7\92 %Z\00%H\E6\97\B6%M\E5\88\86%S\E7\A7\92 %Z\00\E9\80\B1\E6\97\A5\00\E9\80\B1\E4\B8\80\00\E9\80\B1\E4\BA\8C\00\E9\80\B1\E4\B8\89\00\E9\80\B1\E5\9B\9B\00\E9\80\B1\E4\BA\94\00\E9\80\B1\E5\85\AD\00\E8\A5\BF\E5\85\83%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 (%A) %H\E6\99\82%M\E5\88\86%S\E7\A7\92\00\E8\A5\BF\E5\85\83%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5\00%p %I\E6\99\82%M\E5\88\86%S\E7\A7\92\00", [1804 x i8] c"\00^[yY]\00^[nN]\00[jJ].*\00[nN].*\00^[yY].*\00^[nN].*\00^[\E6].*\00^[\E4].*\00^[\D9\86].*\00^[\D9\84].*\00^[\D9\86]\00^[\D9\84]\00\D9\86\D8\B9\D9\85\00\D9\84\D8\A7\00^(\E6|\E6\D9\E5)\00^(\E4|\E4\C7)\00\E6\D9\E5\00\E4\C7\00^(\D9\86|\D9\86\D8\B9\D9\85)\00^(\D9\84|\D9\84\D8\A7)\00^[Bb].*\00^[YyNn].*\00yox\00b\C9\99li\00^[\C4\E4Yy].*\00^[\CD\EDNn].*\00^[\D0\94\D0\B4Yy].*\00^[\D0\9D\D0\BDNn].*\00^[+1\C4\E4DdYyOo].*\00^[-0\CD\EDNnKk].*\00^[+1\D0\94\D0\B4DdYyOo].*\00^[-0\D0\9D\D0\BDNnKk].*\00[yYsS\D5\A1\D4\B1].*\00[nN\D5\B8\D5\88].*\00\D5\A1\D5\B5\D5\B8\00\D5\B8\D5\B9\00^[\E0\A6\B9\E0\A7\8D\E0\A6\AF\E0\A6\BE\E0\A6\81]\00^[\E0\A6\A8\E0\A6\BE]\00\E0\A6\B9\E0\A7\8D\E0\A6\AF\E0\A6\BE\E0\A6\81\00\E0\A6\A8\E0\A6\BE\00[oOyY].*\00^[dDyY]*.\00^[nN]*.\00[sSyY].*\00^[aAyY].*\00ano\00ne\00[iItTyY].*\00ie\00na\00^[1JjYy].*\00^[0Nn].*\00^[jJyY].*\00^[\ED\CDyY].*\00^[\EF\CFnN].*\00^[\CE\BD\CE\9DyY].*\00^[\CE\BF\CE\9FnN].*\00[yY].*\00^[yYoO].*\00^[1JjsSyYoO].*\00^[0nN].*\00Yes\00No\00^[JjYy].*\00^[sSyY].*\00^[EeNn].*\00^[bBsSyY].*\00^[eEnN].*\00[yY\D8\A8f].*\00[nN\D8\AE\D9\86o].*\00^[KkJjYy].*\00^[NnEe].*\00^[Nn].*\00^[oOjJyY1].*\00^[nN0].*\00^[oOyY].*\00^[OojJsSyY].*\00^[tTyY].*\00^[Yy\EB].*\00^[Nn\EC].*\00^[Yy\D7\9B].*\00^[Nn\D7\9C].*\00^[dDyY].*\00^[IiYy].*\00[yYsS\B3\B2].*\00[nN\E1\E0].*\00\B3\DB\E1\00\E1\E3\00[tTnN].*\00^[sSjJoOyY].*\00^([yY\EF\BD\99\EF\BC\B9]|\E3\81\AF\E3\81\84|\E3\83\8F\E3\82\A4)\00^([nN\EF\BD\8E\EF\BC\AE]|\E3\81\84\E3\81\84\E3\81\88|\E3\82\A4\E3\82\A4\E3\82\A8)\00\E3\81\AF\E3\81\84\00\E3\81\84\E3\81\84\E3\81\88\00[1yYkKxX\E1].*\00[0nNaA\C0].*\00[1yYkKxX\E1\83\AE].*\00[0nNaA\E1\83\90].*\00^[JjYyAa].*\00^[yY\EC\98\88]\00^[nN\EC\95\84\EB\8B\88\EC\98\A4]\00[eE].*\00^[TtYy].*\00^[1yY\E2\C2\E4\C4aA].*\00^[0nNkK].*\00\E2e\00k\E2ore\00^[1yY\C4\81\C4\80\C3\A4\C3\84aA].*\00\C4\81e\00k\C4\81ore\00[\B4\D4DdYy1].*\00[\BD\DDNn0].*\00\D4\D0\00\DD\D5\00[\D0\94\D0\B4DdYy1].*\00[\D0\9D\D0\BDNn0].*\00\D0\B4\D0\B0\00\D0\BD\D0\B5\00^(Yes|[yY])\00^(No|[nN])\00^[tT]\00Ya\00Tidak\00[oOsS].*\00^[SsyY].*\00^[DdYy].*\00^[\E4\C4Yy].*\00^[\EE\CENn].*\00^[\B4\D4Yy].*\00^[\BD\DDNn].*\00[\E4\C4Yy].*\00[\EE\CENn].*\00[\D0\94\D0\B4Yy].*\00[\D0\9D\D0\BDNn].*\00^[Ii].*\00[aA\E1\C1yY].*\00\E1no\00nie\00[aA\C3\A1\C3\81yY].*\00\C3\A1no\00^[YyJj].*\00[dDyY1].*\00[nN0].*\00[\B4\D4Yy].*\00[\BD\DDNn].*\00^[\E0\AE\86\E0\AE\AE\E0\AF\8D]\00^[\E0\AE\87\E0\AE\B2\E0\AF\8D\E0\AE\B2\E0\AF\88]\00\E0\AE\86\E0\AE\AE\E0\AF\8D\00\E0\AE\87\E0\AE\B2\E0\AF\8D\E0\AE\B2\E0\AF\88\00^[\E0\B0\85]\00^[\E0\B0\95]\00\E0\B0\85\E0\B0\B5\E0\B0\A8\E0\B1\81\00\E0\B0\95\E0\B0\BE\E0\B0\A6\E0\B1\81\00\C4\C1\00\CE\C5\D4\00\D0\BD\D0\B5\D1\82\00^[yY\AA]\00^[nN\C1]\00\E3\AA\E8\00\E4\C1\E8\E3\AA\E8\00^[yY\E0\B8\8A]\00^[nN\E0\B8\A1]\00\E0\B9\83\E0\B8\8A\E0\B9\88\00\E0\B9\84\E0\B8\A1\E0\B9\88\E0\B9\83\E0\B8\8A\E0\B9\88\00^[eE].*\00^[hH].*\00evet\00hay\FDr\00hay\C4\B1r\00\D3\98\D0\B9\D0\B5\00\D0\AE\D0\BA\00[\F4\D4Yy].*\00[\D0\A2\D1\82Yy].*\00[yY\D9\87\D8\A8f].*\00[nN\D9\86o].*\00\D8\A8\D9\84\D9\83\D9\84\00\D9\86\D9\87\D9\8A\DA\BA\00^[YyHh].*\00^[JjNn].*\00Ha\00Yo'q\00[oOyYaAwW].*\00Oyi\00Neni\00^[Yy\E9].*\00^[Nn\F0\F7].*\00\E9\E0\C7\00\F7\D6\EF\00^[Yy\D7\99].*\00^[Nn\D7\A0\D7\A7].*\00\D7\99\D7\90\D6\B7\00\D7\A7\D7\B2\D7\9F\00^[yY\E6\98\AF]\00^[nN\E4\B8\8D\E5\90\A6]\00", [23 x %struct.__codeset_8_bit_t.202] [%struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\01\02\03\04\04\04\04\04\04\04\04\05", [16 x i8] c"\00\00\00\00\01\02\03\04\04\04\04\04\04\04\04\05", [16 x i8] c"\00\01\02\03\04\05\06\07\08\09\0A\0B\0C\0D\0E\0F", [38 x i8] c"\00\01\01\01\01\02\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\03\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06", [16 x i8] zeroinitializer, [16 x i8] c"\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10", [38 x i8] c"\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\07\08\09\0A\0B\0C\0D\0E\0F\0F\0F\0F\10\10\10\10", [16 x i8] c"\06\07\08\07\09\0A\0B\0C\0D\0D\0D\0D\0D\0D\0D\0D", [16 x i8] c"\11\12\13\14\15\16\17\18\19\1A\1B\1C\1D\1E\1F ", [38 x i8] c"\04\01\01\01\05\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\06\07\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\11\12\13\12\02\02\14\02\02\15\16\17\18\18\18\19", [16 x i8] zeroinitializer, [16 x i8] c"!\22#$%&'()*+,-./0", [38 x i8] c"\08\09\0A\01\01\0B\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\0C\0D\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\1A\1B\1C\1D\02\1E\14\1E\18\18\18\18\1F\10 \10", [16 x i8] c"\00\0E\00\0F\00\00\00\00\00\00\00\00\00\00\00\10", [16 x i8] c"123456'789:;<=>?", [38 x i8] c"\0E\0F\0A\01\01\01\01\01\01\01\01\01\01\01\01\01\10\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\11\0D\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\02\1E\14\1E\0F\0F!\22\10\10 \10", [16 x i8] c"\00\00\00\00\00\00\00\00\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\0356'7@ABCD=>?", [38 x i8] c"\12\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00#$%&\0F\0F\0F\22\10\10\10'", [16 x i8] c"\00\00\00\00\12\13\12\13\0D\0D\0D\11\0D\0D\0D\11", [16 x i8] c"\00\01\02\03EFGHIJKLMNOP", [38 x i8] c"\13\14\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\15\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\02\0C\14(\0F\0F!\22\10\10 ", [16 x i8] c"\00\00\00\00\00\0A\00\0A\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\03QRSTUVWXYZ[\\", [38 x i8] c"\16\17\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\18\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00)*+,\0F\0F\0F\22\10\10\10\10", [16 x i8] c"\00\00\00\00\14\15\16\17\0D\0D\0D\11\0D\0D\0D\18", [16 x i8] c"\00\01\02\03]^_`@AabD=cd", [38 x i8] c"\19\1A\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\1B\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00-./0\0F\0F!\22\10\10 \10", [16 x i8] c"\00\00\00\00\19\1A\1B\1C\0D\0D\11\11\0D\0D\11\1D", [16 x i8] c"\00\01\02\03efgh@ABCD=>?", [38 x i8] c"\1C\1D\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\1E\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\001234\0F\0F\0F\22\10\10\10\10", [16 x i8] c"\00\00\00\00\1E\1F !\0D\0D\0D\11\0D\0D\0D\1D", [16 x i8] c"\00\01\02\03ijklmAnop=qr", [38 x i8] c"\1F !\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\22\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\005678\0F\0F!\22\10\10 ", [16 x i8] c"\00\00\00\00\22#\22#\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\03stuvwxyz{|}~", [38 x i8] c"#$%\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\009:;<=\0F>\22?\10@ ", [16 x i8] c"\00\00\00\00$%$&'\0D(\11'\0D(\11", [16 x i8] c"\00\01\02\03\7F\80\81\82\83A\84\85\86=\87\88", [38 x i8] c"&'(\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00AB7C\0F\0F!\22\10\10 ", [16 x i8] c"\00\00\00\00\22)\22*\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\03\89\8A\8B\8CI\8D\8E\8FM\90\91\92", [38 x i8] c")*+\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00D$\0F\0F\0F\0F\10\10\10\10E&", [16 x i8] c"\00\00\00\00+,\0D\0D\0D\0D\0D\0D\0D\0D+,", [16 x i8] c"\00\01\02\03\93\94\19\1A\1B\1C\1D\1E\1F \95\96", [38 x i8] c",\01\01\01-\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01.\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00FG\06HI\18\18J\18KL\06", [16 x i8] zeroinitializer, [16 x i8] c"\00\01\02\03\97\98\10\99\9A\9B\9C\9D\9E\9F\A0\10", [38 x i8] c"/\01\01\01\01\010\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00MN-OP\0FQRS\10\10T", [16 x i8] c"\00\00\00\00\00\00-./\0D01/\0D23", [16 x i8] c"\00\01\02\03\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC", [38 x i8] c"1\01\012\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\013\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00U\02\14V\06\06\06W\18\18\18\19", [16 x i8] zeroinitializer, [16 x i8] c"\00\01\02\03\AD&'\AE\10\10\10\AF-./0", [38 x i8] c"4\01\01\01\015\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\016\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\02\1E\14\1E\0F\0F!\22\10\10 \10", [16 x i8] c"\00\00\00\00\00\00\00\00\0D\0D\114\0D\0D\115", [16 x i8] c"\00\01\02\0356'7@A\B0\B1D=\B2\B3", [38 x i8] c"78\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\02\02\02\02X\02Y\02\10\10\10\10\0F\0F\0F\0F", [16 x i8] c"\00\00\00\006\006\0077777777", [16 x i8] c"\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\BF\C0\C1\C2\C3", [38 x i8] c"9\01\01\01:\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01;<\01=" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"Z[\\]^_`a\10\10\10\10\0F\0F\0F\0F", [16 x i8] c"89:\00;\00<\0077777777", [16 x i8] c"\C4\C5\C6\C7\C8\C9\CA\CB\BC\BD\BE\BF\C0\C1\C2\C3", [38 x i8] c">\01\01\01?\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\11\07\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\02\02\02\02b\14cd\10\10\10\10\0F\0F\0F\0F", [16 x i8] c"\00\00\00\00=>=>77777777", [16 x i8] c"\B4\B5\B6\B7\CC\CD\CE\CF\BC\BD\BE\BF\C0\C1\C2\C3", [38 x i8] c"9\01\01\01@\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01;<\01A" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\06\06\06\06I\18\18\18\18e\18fge\18h", [16 x i8] zeroinitializer, [16 x i8] c"\10\10\10\10\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB", [38 x i8] c"\01\01\01\01\01\01\01\01\01\01\01\01\01\01B\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }], [20 x i8] c"\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\01\01\01\01\01", [10 x i16] [i16 0, i16 2, i16 4, i16 6, i16 8, i16 10, i16 12, i16 14, i16 16, i16 18], [20 x i16] [i16 1, i16 21, i16 3, i16 24, i16 5, i16 27, i16 7, i16 30, i16 9, i16 33, i16 11, i16 36, i16 13, i16 39, i16 15, i16 42, i16 17, i16 45, i16 19, i16 48], [45 x i8] c"\00\00\00\01\01\01\00\02\01\00\02\02\01\00\01\01\00\00\01\03\01\01\04\01\00\05\01\01\01\00\02\06\01\01\05\00\01\07\01\01\05\01\00\02\03", [3 x i16] [i16 0, i16 3, i16 11], [15 x i16] [i16 1, i16 3, i16 17, i16 0, i16 1, i16 3, i16 10, i16 12, i16 15, i16 20, i16 23, i16 0, i16 5, i16 7, i16 25], [3894 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\03\03\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\03\03\04\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\04\04\05\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\05\04\06\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\06\05\07\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\07\05\08\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\08\06\09\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\09\06\0A\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0A\07\0B\02\02\02\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\0B\08\0C\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0C\08\0D\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0D\09\0E\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0E\09\0F\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0F\0A\10\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\10\0A\11\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\11\0B\12\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\12\0B\13\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\13\0C\14\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\14\0C\15\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\15\0D\16\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\16\0D\17\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\17\0E\18\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\18\0E\19\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\19\0F\1A\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1A\0F\1B\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1B\10\1C\02\00\00\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01\1C\10\1D\02\00\00\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01\1D\11\1E\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1E\11\1F\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1F\12 \02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02 \12!\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02!\13\22\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\22\13#\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02#\14$\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02$\14%\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02%\15&\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01&\16'\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01'\16(\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01(\17)\01\04\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01)\17*\01\05\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01*\00+\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01+\07,\02\02\03\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01,\18-\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01-\18.\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01.\19/\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01/\18-\01\01\03\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\01\03\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\011\180\01\01\03\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\012\1A1\01\04\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\013\1A2\01\05\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\014\1B3\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\015\1B4\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\016\1C5\01\01\01\00\01\01\01\01\03\01\03\02\03\01\03\01\03\02\037\18-\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\011\180\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\012\18-\01\01\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\030\18.\01\01\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\031\180\01\01\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\032\1D6\02\03\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\038\18-\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01-\18.\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01.\180\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\019\18-\01\01\01\00\01\04\04\02\01\01\01\01\01\02\01\01\01\01\01-\18.\01\01\01\00\01\04\04\02\01\01\01\01\01\02\01\01\01\01\01.\1E\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\1F7\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01: \02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\1C0\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\012\1C8\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01;!9\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04<\18-\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\010\18.\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\011\180\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\012\22\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02#:\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04=$\02\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04\02%\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\01\01\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01&;\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01>\18<\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01?'\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02(=\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01@)\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02*\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02+>\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01A,\02\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02-\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02\18-\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\011\180\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\012.?\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01B/@\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01C0\02\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\021A\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01D2B\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01E3C\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01F%\02\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\024D\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01G5E\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01H5F\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01I6G\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01J7H\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01K85\01\04\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01785\01\05\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\017\18-\01\01\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\01\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\011\180\01\01\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\0129I\03\06\01\00\01\03\03\02\02\02\02\01\01\02\02\02\02\01\01L\18-\01\01\01\00\01\01\01\02\03\02\03\01\01\02\03\02\03\01\01-\18.\01\01\01\00\01\01\01\02\03\02\03\01\01\02\03\02\03\01\01.\180\01\01\01\00\01\01\01\02\03\02\03\01\01\02\03\02\03\01\019 \02\01\03\01\00\01\01\01\02\02\02\02\01\04\02\02\02\02\01\04M\180\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\019:J\02\02\01\00\01\01\01\01\02\01\02\03\02\01\02\01\02\03\02N:K\02\02\01\00\01\01\01\01\02\01\02\03\02\01\02\01\02\03\02O\07L\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01P;M\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01QQ\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01U?5\01\01\01\00\01\03\03\02\02\02\02\01\01\02\02\02\02\01\01V@R\02\02\01\00\01\03\03\01\01\01\01\01\03\01\01\01\01\01\03WAS\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01XAT\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01YBU\02\02\01\00\01\03\03\01\01\01\01\01\03\01\01\01\01\01\03ZCV\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01[DW\01\04\01\00\01\01\01\01\02\01\02\04\05\01\02\01\02\04\05\\DW\01\05\01\00\01\01\01\01\02\01\02\04\05\01\02\01\02\04\05\\EX\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01]EY\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01^\07Z\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01_F[\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04`G\\\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04a\18-\01\03\01\00\01\01\01\01\02\01\02\01\02\01\02\01\02\01\020\18.\01\03\01\00\01\01\01\01\02\01\02\01\02\01\02\01\02\01\021\180\01\03\01\00\01\01\01\01\02\01\02\01\02\01\02\01\02\01\022H5\01\04\01\00\01\01\01\01\02\01\01\01\05\01\02\01\01\01\057H5\01\05\01\00\01\01\01\01\02\01\01\01\05\01\02\01\01\01\057H5\01\01\01\00\01\01\01\01\01\01\01\02\03\01\01\01\01\02\037I]\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01bI^\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01cJ_\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01d\18-\04\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01-\18.\04\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01.\180\04\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\019K`\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01eLa\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01fLb\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01gL(\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01(Mc\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01hMd\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01iHe\01\01\01\00\01\01\01\01\01\01\01\02\03\01\01\01\01\02\03jNf\01\04\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01kNf\01\05\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01kOg\01\03\01\00\01\01\01\02\03\02\03\03\02\02\03\02\03\03\02lPh\01\01\01\00\01\02\02\01\01\01\01\01\01\01\01\01\01\01\01mQi\01\03\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\01nQj\01\03\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\01oQk\01\03\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\01pR5\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01V\07L\02\02\03\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01PSl\02\02\01\00\01\01\01\01\03\01\03\02\03\01\03\01\03\02\03qSm\02\02\01\00\01\01\01\01\03\01\03\02\03\01\03\01\03\02\03rT\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02#n\02\02\01\00\01\01\01\01\01\01\02\01\01\01\01\01\02\01\01sUo\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01tVp\02\02\01\00\01\01\01\01\02\01\01\03\01\01\02\01\01\03\01uWq\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01vXr\01\01\01\00\01\01\01\02\01\01\01\01\01\02\01\01\01\01\01w%\02\02\02\01\00\01\01\01\01\02\01\02\03\02\01\02\01\02\03\02\02YR\02\02\01\00\01\01\01\01\01\01\01\02\03\01\01\01\01\01\01WZs\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01x", [22 x i16] [i16 0, i16 91, i16 207, i16 212, i16 219, i16 223, i16 224, i16 226, i16 231, i16 236, i16 239, i16 243, i16 246, i16 250, i16 255, i16 261, i16 264, i16 268, i16 271, i16 275, i16 280, i16 286], [407 x i16] [i16 0, i16 5, i16 25, i16 35, i16 66, i16 97, i16 128, i16 159, i16 176, i16 207, i16 238, i16 269, i16 300, i16 331, i16 362, i16 393, i16 424, i16 459, i16 490, i16 521, i16 552, i16 583, i16 601, i16 630, i16 697, i16 720, i16 747, i16 768, i16 785, i16 799, i16 816, i16 821, i16 833, i16 845, i16 859, i16 864, i16 878, i16 883, i16 888, i16 906, i16 911, i16 923, i16 928, i16 933, i16 943, i16 948, i16 953, i16 963, i16 975, i16 980, i16 992, i16 1004, i16 1016, i16 1030, i16 1047, i16 1059, i16 1073, i16 1078, i16 1111, i16 1149, i16 1161, i16 1173, i16 1190, i16 1202, i16 1211, i16 1225, i16 1244, i16 1258, i16 1270, i16 1282, i16 1326, i16 1338, i16 1350, i16 1355, i16 1376, i16 1388, i16 1402, i16 1425, i16 1457, i16 1469, i16 1483, i16 1497, i16 1535, i16 1540, i16 1559, i16 1573, i16 1585, i16 1597, i16 1613, i16 1627, i16 1632, i16 0, i16 10, i16 30, i16 40, i16 51, i16 71, i16 82, i16 102, i16 113, i16 133, i16 144, i16 164, i16 181, i16 192, i16 212, i16 223, i16 243, i16 254, i16 274, i16 285, i16 305, i16 316, i16 336, i16 347, i16 367, i16 378, i16 398, i16 409, i16 429, i16 440, i16 464, i16 475, i16 495, i16 506, i16 526, i16 537, i16 557, i16 568, i16 588, i16 606, i16 615, i16 635, i16 644, i16 658, i16 667, i16 702, i16 711, i16 725, i16 742, i16 752, i16 759, i16 773, i16 778, i16 790, i16 804, i16 826, i16 838, i16 850, i16 869, i16 893, i16 697, i16 916, i16 938, i16 958, i16 968, i16 985, i16 997, i16 1009, i16 1021, i16 1035, i16 1040, i16 1052, i16 1064, i16 1083, i16 1116, i16 1123, i16 1134, i16 1154, i16 1166, i16 1178, i16 1183, i16 1195, i16 1216, i16 1230, i16 1235, i16 1249, i16 1263, i16 1275, i16 1287, i16 1296, i16 1311, i16 1331, i16 1343, i16 1360, i16 1367, i16 1381, i16 1393, i16 1407, i16 1416, i16 1430, i16 1437, i16 1448, i16 1462, i16 1474, i16 1488, i16 1502, i16 1511, i16 1520, i16 1545, i16 1550, i16 1564, i16 1578, i16 1590, i16 1602, i16 1618, i16 1637, i16 0, i16 12, i16 14, i16 1092, i16 30, i16 0, i16 14, i16 12, i16 593, i16 638, i16 649, i16 1095, i16 0, i16 16, i16 168, i16 680, i16 0, i16 0, i16 3, i16 1, i16 18, i16 16, i16 0, i16 793, i16 1, i16 18, i16 16, i16 0, i16 793, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 793, i16 18, i16 16, i16 1, i16 20, i16 18, i16 793, i16 0, i16 16, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 793, i16 18, i16 16, i16 1, i16 20, i16 18, i16 793, i16 0, i16 16, i16 3, i16 22, i16 32, i16 45, i16 58, i16 76, i16 89, i16 107, i16 120, i16 138, i16 151, i16 171, i16 186, i16 199, i16 217, i16 230, i16 248, i16 261, i16 279, i16 292, i16 310, i16 323, i16 341, i16 354, i16 372, i16 385, i16 403, i16 416, i16 434, i16 449, i16 469, i16 482, i16 500, i16 513, i16 531, i16 544, i16 562, i16 575, i16 595, i16 610, i16 622, i16 640, i16 652, i16 662, i16 683, i16 706, i16 715, i16 728, i16 732, i16 737, i16 744, i16 755, i16 763, i16 775, i16 781, i16 795, i16 808, i16 813, i16 829, i16 841, i16 854, i16 873, i16 896, i16 900, i16 919, i16 940, i16 960, i16 971, i16 988, i16 1000, i16 1012, i16 1025, i16 1037, i16 1043, i16 1055, i16 1068, i16 1098, i16 1108, i16 1119, i16 1128, i16 1141, i16 1157, i16 1169, i16 1180, i16 1186, i16 1198, i16 1207, i16 1220, i16 1232, i16 1239, i16 1253, i16 1266, i16 1278, i16 1291, i16 1303, i16 1318, i16 1334, i16 1346, i16 1363, i16 1371, i16 1384, i16 1397, i16 1411, i16 1420, i16 1433, i16 1442, i16 1452, i16 1465, i16 1478, i16 1492, i16 1506, i16 1515, i16 1527, i16 1547, i16 1554, i16 1568, i16 1581, i16 1593, i16 1607, i16 1622, i16 1641], [8250 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\00\00\00\00\01\00\00\00\00\01\00\01\01\01\01\00\01\01\01\01\00\01\00\01\01\01\01\01\01\01\00\00\00\00\00\00\02\02\02\02\02\02\02\02\02\02\02\02\02\02\01\01\01\01\02\01\01\01\01\02\01\02\02\02\02\01\02\02\02\02\01\02\01\02\02\02\02\02\02\00\00\00\00\00\00\00\03\03\03\03\03\03\03\03\03\03\03\03\03\03\02\02\02\02\03\02\02\02\02\03\02\03\03\03\03\02\03\03\03\03\02\03\02\03\03\03\03\03\03\02\00\00\00\00\00\00\04\04\04\04\04\04\04\04\04\04\04\04\04\04\03\03\03\03\04\03\03\03\03\04\03\04\04\04\04\03\04\04\04\04\03\04\03\04\04\04\03\03\03\02\00\00\00\00\00\00\03\03\03\03\03\03\03\03\03\03\03\03\03\05\02\02\02\02\03\02\02\02\02\03\02\03\03\03\03\02\03\03\03\03\02\03\02\03\03\03\03\03\03\02\00\00\00\00\00\00\04\04\04\04\04\04\04\04\04\04\04\04\04\06\03\03\03\03\04\03\03\03\03\04\03\04\04\04\04\03\04\04\04\04\03\04\03\04\04\04\03\03\03\02\00\00\00\00\00\00\04\04\04\04\04\04\04\04\04\04\04\04\04\06\03\03\03\03\04\03\03\03\03\04\03\04\04\04\04\03\04\04\04\04\03\04\03\04\04\04\04\04\04\03\00\00\00\00\00\00\05\05\05\05\05\05\05\03\03\03\03\03\03\05\04\04\04\04\05\04\04\04\04\05\04\05\05\05\05\04\05\05\05\05\04\05\04\05\03\03\03\03\03\02\00\00\00\00\00\00\06\06\06\06\06\06\06\04\04\04\04\04\04\06\05\05\05\05\06\05\05\05\05\06\05\06\06\06\06\05\06\06\06\06\05\06\05\06\04\04\03\03\03\02\00\00\00\00\00\00\00\00\00\00\00\00\00\03\05\03\03\03\05\05\00\00\00\00\00\00\00\00\00\00\00\00\05\05\05\06\07\05\07\05\04\05\04\05\05\05\05\05\05\04\00\00\00\00\00\00\00\00\00\00\00\00\00\04\06\04\04\04\06\06\00\00\00\00\00\00\00\00\00\00\00\00\06\06\06\07\08\06\08\06\05\06\05\06\05\05\05\05\05\04\00\00\00\00\00\00\05\05\05\05\05\05\05\03\03\03\03\03\03\05\04\04\04\04\05\04\04\04\04\05\04\05\05\05\05\04\09\07\05\05\04\05\04\05\03\03\03\03\03\02\00\00\00\00\00\00\06\06\06\06\06\06\06\04\04\04\04\04\04\06\05\05\05\05\06\05\05\05\05\06\05\06\06\06\06\05\0A\08\06\06\05\06\05\06\04\04\03\03\03\02\00\00\00\00\00\00\07\07\07\07\07\07\07\05\07\05\05\05\07\07\06\06\00\00\00\06\06\06\06\01\06\07\07\07\07\08\0B\09\09\07\06\07\06\07\05\05\06\06\01\01\00\00\00\00\00\00\07\07\07\08\08\08\07\06\08\06\06\06\08\08\06\06\00\00\00\07\07\06\06\01\06\07\07\07\07\08\0B\09\09\07\06\07\06\07\05\05\06\06\01\01\00\00\00\00\00\00\08\08\08\09\09\09\08\07\09\07\07\07\09\09\07\07\06\06\07\08\08\07\07\07\07\08\08\08\08\09\0C\0A\0A\08\07\08\07\08\05\05\07\06\01\01\00\00\00\00\00\00\09\09\09\0A\0A\0A\09\08\0A\08\08\08\0A\0A\08\08\07\07\08\09\09\08\08\08\08\09\09\09\09\0A\0D\0B\0B\09\08\09\08\09\05\05\07\06\01\01\00\00\00\00\00\00\0A\0A\0A\0B\0B\0B\0A\09\0B\09\09\09\0B\0B\09\09\08\08\09\0A\0A\09\09\09\09\0A\0A\0A\0A\0B\0E\0C\0C\0A\09\0A\09\0A\05\05\08\07\06\05\00\00\00\00\00\00\0B\0B\0B\0C\0C\0C\0B\0A\0C\0A\0A\0A\0C\0C\0A\0A\09\09\0A\0B\0B\0A\0A\0A\0A\0B\0B\0B\0B\0C\0F\0D\0D\0B\0A\0B\0A\0B\05\05\08\07\06\05\00\00\00\00\00\00\0C\0C\0C\0D\0D\0D\0C\0B\0D\0B\0B\0B\0D\0D\0B\0B\0A\0A\0B\0C\0C\0B\0B\0B\0B\0C\0C\0C\0C\0D\10\0E\0E\0C\0B\0C\0B\0C\06\06\09\08\04\03\00\00\00\00\00\00\0C\0C\0C\0D\0D\0D\0C\0B\0D\0B\0B\0B\0D\0D\0C\0C\0B\0B\0B\0C\0D\0C\0C\0B\0B\0C\0C\0C\0C\0D\10\0E\0E\0C\0C\0D\0C\0D\07\07\09\08\04\03\00\00\00\00\00\00\0D\0D\0D\0E\0E\0E\0D\0C\0E\0C\0C\0C\0E\0E\0D\0D\0C\0C\0C\0D\0E\0D\0D\0C\0C\0D\0D\0D\0D\0E\11\0F\0F\0D\0D\0E\0D\0E\08\08\0A\06\01\06\00\00\00\00\00\00\0E\0E\0E\0F\0F\0F\0E\0D\0F\0D\0D\0D\0F\0F\00\00\00\00\0D\00\00\00\00\01\00\00\0E\0E\0E\00\12\10\10\00\0E\0F\0E\0F\05\05\07\06\01\01\00\00\00\00\00\00\0E\0E\0E\0F\10\0F\0E\0D\0F\0D\0D\0E\0F\0F\00\00\00\00\0D\00\00\00\00\01\00\00\0E\0E\0E\00\12\10\10\00\0E\0F\0E\0F\05\05\07\06\01\01\00\00\00\00\00\00\0F\0F\0F\10\11\10\0F\0E\10\0E\0E\0F\10\10\0E\0E\0D\0D\0E\0E\0F\0E\0E\0D\0D\0E\0F\0F\0F\0F\13\11\11\0E\0F\10\0F\10\05\05\01\01\01\01\00\00\00\00\00\00\0F\0F\0F\10\11\10\0F\0E\10\0E\0E\0F\10\10\0E\0E\0D\0D\0E\0E\0F\0E\0E\0D\0D\0E\0F\0F\10\0F\13\11\11\0E\0F\10\0F\10\05\05\01\01\01\01\00\00\00\00\00\00\10\10\10\11\12\11\10\0F\11\0F\0F\10\11\11\0F\0F\0E\0E\0F\0F\10\0F\0F\0E\0E\0F\10\10\11\10\14\12\12\0F\10\11\10\11\05\05\0B\06\00\07\00\00\00\00\00\00\10\10\11\11\13\12\10\10\12\10\10\11\12\11\0F\10\0F\0E\10\10\11\0F\10\0F\0E\0F\10\11\12\10\15\13\13\0F\11\12\10\11\05\05\0C\06\00\07\00\00\00\00\00\00\11\11\12\12\14\13\11\11\13\11\11\12\13\12\10\11\10\0F\11\11\12\10\11\10\0F\10\11\12\13\11\16\14\14\10\12\13\11\12\05\05\0D\09\01\01\00\00\00\00\00\00\12\12\13\13\15\14\12\12\14\12\12\13\14\13\11\0E\0D\10\12\0E\0F\11\12\11\0D\11\12\13\14\12\17\15\15\11\13\14\12\13\05\05\01\0A\01\01\00\00\00\00\00\00\13\12\13\13\15\14\13\13\14\12\12\13\14\14\11\0E\0D\10\12\0E\0F\11\12\11\0D\11\12\13\14\12\17\15\15\11\13\14\12\13\05\05\01\0A\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\12\00\11\00\11\00\00\00\00\01\00\12\13\14\15\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\13\00\12\00\11\00\00\00\00\01\00\12\14\14\16\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\11\00\11\00\00\00\00\01\00\12\0E\0E\15\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\12\00\11\00\00\00\00\01\00\12\0E\0E\16\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\11\00\11\00\00\00\00\01\00\12\0E\0E\15\00\16\10\10\00\00\01\00\14\05\05\01\06\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\12\00\11\00\00\00\00\01\00\12\0E\0E\16\00\16\10\10\00\00\01\00\14\05\05\01\06\01\01\00\00\00\00\00\00\15\13\15\15\17\16\15\15\16\14\14\15\16\16\14\12\13\11\13\12\13\12\13\12\10\13\15\15\17\13\18\16\16\12\14\15\13\15\05\05\01\02\01\01\00\00\00\00\00\00\16\14\16\16\18\17\16\16\17\15\15\16\17\17\15\13\14\12\14\13\14\13\14\13\11\14\16\16\18\14\19\17\17\13\15\16\14\16\05\05\01\02\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\05\01\01\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\01\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\05\0F\0B\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\10\0C\07\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\04\04\04\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\11\0D\04\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\12\0E\04\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\0F\02\00\00\00\00\00\00\00\17\0D\17\0E\19\18\17\17\18\16\16\17\18\18\00\00\00\00\0D\00\00\14\00\01\00\00\17\17\19\15\1A\18\18\14\16\17\15\17\05\05\13\0B\01\01\00\00\00\00\00\00\18\0D\17\17\1A\19\18\18\19\17\17\18\19\19\16\0E\0D\0D\15\0E\0F\0E\12\0D\0D\15\18\18\1A\0F\1B\19\19\15\17\10\16\18\05\05\01\01\01\01\00\00\00\00\00\00\18\0D\17\18\1A\19\19\18\19\17\18\18\19\1A\16\0E\0D\0D\15\0E\0F\0E\12\0D\0D\15\18\18\1A\0F\1B\19\19\15\17\10\16\18\05\05\01\01\01\01\00\00\00\00\00\00\19\15\18\19\1B\1A\1A\19\1A\18\19\19\1A\1B\17\14\15\13\16\14\15\15\15\14\12\16\19\19\1B\16\1C\1A\1A\11\13\18\12\19\05\05\01\06\01\01\00\00\00\00\00\00\19\15\18\19\1B\1A\1A\1A\1B\19\1A\1A\1A\1C\17\14\16\13\16\14\15\15\15\14\12\16\19\19\1C\16\1C\1A\1A\11\13\18\12\19\05\05\01\06\01\01\00\00\00\00\00\00\1A\16\19\1A\1C\1B\1B\1B\1C\1A\1B\1B\1B\1D\18\15\0D\14\0E\15\16\16\16\15\13\17\1A\1A\1D\17\1D\1B\1B\16\18\19\17\1A\05\05\14\10\01\01\00\00\00\00\00\00\1B\17\1A\1B\1D\1C\1C\1C\1D\1B\1C\1C\1C\1E\19\16\03\15\17\16\17\17\17\16\14\18\1B\1B\04\18\1E\1C\1C\17\19\1A\18\1B\09\09\15\11\00\09\00\00\00\00\00\00\1C\18\1B\1C\1E\1D\1D\1D\1E\1C\1D\1D\1D\1F\1A\17\17\16\18\17\18\18\18\17\15\19\1C\1C\1E\19\1F\1D\1D\18\1A\1B\19\1C\05\05\16\06\01\01\00\00\00\00\00\00\1C\18\1B\1C\1E\1D\1D\1D\1E\1C\1D\1D\1D\1F\1B\18\17\17\19\18\19\19\19\18\15\1A\1C\1C\1E\19\1F\1E\1E\18\1A\1B\19\1C\05\05\16\06\01\01\00\00\00\00\00\00\1D\19\1C\1D\1F\1E\1E\1E\1F\1D\1E\1E\1E \11\0E\0D\10\0E\0E\0F\11\12\11\0D\0E\12\13\1F\1A\1C\15\15\11\13\14\12\1D\05\05\01\12\01\01\00\00\00\00\00\00\1D\1A\1D\1D \1F\1E\1E \1E\1E\1F\1F \11\0E\0D\10\0E\0E\0F\11\12\11\0D\0E\12\13\1F\1B\1C\15\15\11\13\14\12\1D\05\05\01\12\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\01\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\01\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\0B\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\0B\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\13\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\13\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\06\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\06\01\01\00\00\00\00\00\00\1E\1B\1E\1E\22 \22 !!\22\1C\1B\18\19\1A\19\1B\1C\1A\19\16\1D\1E\1F \1D \1B\1C\1D\1A \05\05\01\09\01\01\00\00\00\00\00\00\1E\1B\1F\1F# !#!!\22\22#\1C\1B\19\19\1A\19\1C\1D\1B\1A\16\1D\1F\1F!\1E! !\1C\1D\1E\1B!\05\05\01\09\01\01\00\00\00\00\00\00\1F\1C $!!\22$\22\22##$\1D\1C\1A\1A\1B\1A\1D\1E\1C\1B\17\1E \22\1F\22!\22\1D\1E\1F\1C\22\05\05\01\01\01\01\00\00\00\00\00\00\1F\1C $!!#$#\22##$\1D\1C\1B\1A\1C\1A\1D\1F\1C\1B\17\1F #\1F#\22\22\1E\1E\1F\1C#\05\05\01\01\01\01\00\00\00\00\00\00 \1D!!%\22\22$%$#$$%\1E\00\00\1B\11\1B\1E \1D\1C\00\00!!$ $##\1F\1F \15\17\05\05\01\01\01\01\00\00\00\00\00\00 \1D!\22%\22#$%$$$$&\1E\00\00\1B\11\1C\1E \1D\1C\00\00!!$ $$#\1F\1F \15\17\05\05\01\01\01\01\00\00\00\00\00\00!\1E\22#&#$%&%%%%'\1F\1D\1C\1C\1D\1D\1F!\1E\1D\18 \22\22%!%%$ !\1D$\05\05\01\01\01\01\00\00\00\00\00\00\22\1F#$'$%&'&&&&( \1E\1D\1D\1E\1E \22\1F\1E\19!##&\22&&%!!\22\1E%\00\00\17\01\00\0A\00\00\00\00\00\00# $%(%&'('''')!\1F\1E\1E\1F\1F!# \1F\1A\22$$'#''&\22\22#\1F&\00\00\17\01\00\0A\00\00\00\00\00\00$!%&)&'()((((*\22 \1F\1F \22$! \1B#%%($(('##$ '\0A\0A\09\08\04\03\00\00\00\00\00\00\0E\0E\0E\0F\0F\0F\0E\0D\0F\0D\0D\0D\0F\0F#! !!#%\22!\1C$&&)%))($$%!(\05\05\07\06\01\01\00\00\00\00\00\00\0E\0E\0E\0F\10\0F\0E\0D\0F\0D\0D\0E\0F\0F#!! !!#%\22!\1C$''*%))($$%!(\05\05\07\06\01\01\00\00\00\00\00\00%\22&'*'()*))))+\11\0E\22!\22\22$\11#\11\0D\11((+&**)%%&\12\13\05\05\18\0B\08\0B\00\00\00\00\00\00%\22&'*'(*+))**+\11\0E#\22##%\11#\11\0D\11)),'++*%%'\12\13\05\05\18\0B\08\0B\00\00\00\00\00\00&#'(+()+,**++,$\22$#$$&&$\22\1D%**-(,,+&&(\22)\05\05\0E\00\02\01\00\00\00\00\00\00'$(),)*,-++,,-%#%$%%''%#\1E&++.)--,'')#*\05\05\0E\00\02\01\00\00\00\00\00\00(%)*-*+-.,,--.\00$\00\00\01\00\00(\00\01\00\01,,/\00\01\10\10(\00\01\00\01\05\05\0E\01\01\01\00\00\00\00\00\00\00&*+.+,./--../\00\00\00\00&&()\00\01\1F\01--0*..-)\00*$\01\0B\0B\19\14\01\01\00\00\00\00\00\00\00'+,.,,.0...//\00\00\00\00'')*\00\01 \01..0+//.*\00+%\01\0B\0B\19\14\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/1///0\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\13\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/20001\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\13\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/1///0\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\02\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/20001\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\02\01\01\00\00\00\00\00\00)(,-0--0311120&%&%))++&%!'001-110+)-&,\0C\0C\1A\15\09\0C\01\00\01\01\01\00*)-.1..1422231'&'&**,,'&\22(112.221,*.'-\05\05\1B\0F\01\01\00\00\00\00\00\00+*./2//2533342('('++--('#)223/332-+/(.\05\05\1C\0F\01\01\00\00\00\00\00\00,+\1703003644453\11\0E\0D\10\12\0E\0F\11\12\11\0D\1133404\15\15.,0)/\05\05\01\16\01\01\00\00\00\00\00\00-,/14114755564)()(,,..)($*4451543/-1*0\0D\0D\1D\17\0A\0D\00\00\00\00\00\00\11\1D025\13\115866675*)*\0F--\12/*)%+55626540.2+1\05\05\01\01\01\01\00\00\00\00\00\00.-136226977786+*+)../0+*&,66737651/3,2\05\05\1E\18\01\01\00\00\00\00\00\00.-136236978787+*+)../0+*&,6674875203-3\05\05\1E\18\01\01\00\00\00\00\00\00/.247347:89898\11\0E\0D\10\0E/0\11\12\11\0D\1177\145986314.4\05\05\1F\19\01\01\00\00\00\00\00\00//358358:8:898\11\0E\0D\10\0E01\11\12\11\0D\1188\146997314.4\05\05\1F\19\01\01\00\00\00\00\00\000\01469469;9;9:9,+,*/121,+'-9987::8425/5\05\05 \01\01\01\00\00\00\00\00\000\0156:47:;:;:::,+,*/131,+'-:998::952605\05\05 \01\01\01\00\00\00\00\00\001067;58;<;<;;;-,-+0242-,(.;::9;;:63716\05\05!\06\01\01\00\00\00\00\00\002178<69<\0C\0A=<<<.\0A\09\09135\0A\0A\0A\0A\0B<\0B\0B\0C<<;\0B\0A\0B\0A\0B\05\05!\06\01\01\00\00\00\00\00\003289=7:==<>===/-\1F,2 63.-)/=;(:=(<74827\0E\0E\09\08\04\03\00\00\00\00\00\0043)*>*+>>,,>>.\00\00.\00\01\00\004\00\01\000,<;\00\01==8\00\01\008\05\05\09\08\04\03\00\00\00\00\00\00549:?8;??=???>\00.\00\003475\1D.\001>=<\00>>>95939\05\05\22\1A\04\03\00\00\00\00\00\00649:@9;@?=@@@>\00.\00\003575\1D.\002>=<\00>?>9593:\05\05\22\1A\04\03\00\00\00\00\00\007\18:;A:AAA?\11\0E/\104\0E\0F\11\12\11\0D\1133=\12?\15\15:\13\14\12\13\05\05\01\1B\01\01\00\00\00\00\00\0085;\0F;\1C@?;\0F\1C\0F;\05\05\01\06\01\01\00\00\00\00\00\00\17\0D\17=D\18\17CC@\0ED\10A\0E\0E\0D\0D\0E\0E\0F7\0E\0D\0D\11@?\10;\1C@?<\0F\1C\0F;\05\05\01\06\01\01\00\00\00\00\00\0097<>E<>DDACECB0/\0D-\12688//\0E3A@><\17A@=6:\10<\05\05\01\0B\01\01\00\00\00\00\00\0097DEADEDB0/\0D-\12688/0\0E3B@>=\17A@>7;\10=\05\05\01\0B\01\01\00\00\00\00\00\00 8=@F>\22\18FBEFE\19\00\06\00\1B\11\00\00 \1D\1C\00\12CA?\0F@BA\158<4>\05\05\01\0A\01\01\00\00\00\00\00\00 8=@F>#\18FCEFE\1A\00\06\00\1B\11\00\00 \1D\1C\00\12CA@\0F@BA\158<4>\05\05\01\0A\01\01\00\00\00\00\00\00 8=@F>\22$GDFGF%\00\06\00\1B\11\00\00 \1D\1C\00\12DBA $CB\1F\1F \15?\05\05\01\0A\01\01\00\00\00\00\00\00 8=@F>#$GEFGF&\00\06\00\1B\11\00\00 \1D\1C\00\12DBB $CB\1F\1F \15?\05\05\01\0A\01\01\00\00\00\00\00\00:9>AG??EHFGHGC1\0E\0D\10\0E79\11\12\0D\0D\11E\01C>\16DC\009=5@\05\05\01\0B\01\01\00\00\00\00\00\00:9>AG?@FHGGHGD1\0E\0D\10\0E79\11\12\0D\0D\11E\01C>\16DC\009=5@\05\05\01\0B\01\01\00\00\00\00\00\00;:?BH@AGIHHIHE200.58:901*4FCD?AED?:>6A\05\05\07\06\01\01\00\00\00\00\00\00<;@CIABHJIIJIF311/69;:12+5GDE@BFE@;?7B\05\05\07\06\01\01\00\00\00\00\00\00=B:E\05\05\07\06\01\01\00\00\00\00\00\00>=DDKCEJLKKLKH53318;=<34-7KHIDFJID?C;F\05\05%\0B\01\01\00\00\00\00\00\00\10\10E\11LD\10KMLLML\11\11\0E\0D\10\22\22$\11\12\11\0D\11((J\1AGKJ\11\13&\12\13\05\05\0B\06\00\07\00\00\00\00\00\00\10\10E\11MD\10LMLLNL\11\11\0E\0D\10##%\11\12\11\0D\11))J\1BHLK\11\13'\12\13\05\05\0C\06\00\07\00\00\00\00\00\00?7FENE>MNMMOMB\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13J\12\17MLE\13\14\12\13\05\05\01\06\01\01\00\00\00\00\00\00?7FEOE>MNMMPMB\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13J\12\17MLE\13\14\12\13\05\05\01\06\01\01\00\00\00\00\00\00@>GFPFFNONNQNI\004\002\0D<>>45.8LI\1FE\17NMF@D>45/8LI\1FE\17NMF@D=G\0F\0F&\1D\0C\0E\00\00\00\00\00\00?7HENEGMQPMROK\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13\07\12\17\15\15EAE>H\05\05\01\1E\01\01\00\00\00\00\00\00?7HEOEGMQPMSOK\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13\07\12\17\15\15EAE>H\05\05\01\1E\01\01\00\00\00\00\00\0010I7;5HORQ@@673RONILTSKGKDN\00\00)\1F\00\00\03\00\02\00\03\02GFP\02UKPWZX\02ZVT:;87=ACC9:6?SPOJMUTLHLEO\12\12*\02\02\00\00\00\00\00\00\00GFP\02UKPWZX\02ZVT\01\01\01\01\02\01\01\01\01\02\01\02\02\02\02\01\02\02\02\02\01\02\01\02\12\12*\02\02\00\00\00\00\00\00\00H\1D!LVL+X[$T[WU;$\00\1B\00BD \00\0170TQP NVU\1FIMFP\00\00\0E\00\02\00\00\00\00\00\00\00IGQMWMQY\\YU\\XV<<\008\00CED:;8@UR\0EKOWVMJNGQ\13\13\01\0A\01\00\00\00\00\00\00\00IGQNXMQY\\ZV]XV<=\008\00CEE:;8@US\0EKPWVNKNHR\14\14\01\0A\01\00\00\00\00\00\00\00JHROYNRZ][W^YW42207:<;23,6HEFACGFA<@8C\05\05\07\06\01\01\00\00\00\00\00\00K:?BH@A[^\\X_ZX=>99>DFF;<9AVTQLQXWOLOIS\05\05\07\06\01\01\00\00\00\00\00\00L\08::\08EGG<=:BWURM\0DYXPMPJT\05\05\07\06\01\01\00\00\00\00\00\00MISPZOS]`^Za\1CY??;;?FHH=>;CXVSNRZYQNQKU\04\15+\02\00\0F\00\00\00\00\00\00NJTQ[PT^a_[b\\Z@\06\00\00\00GII\06\01\06\07\07\07\07\08\0B\09\09EO\07\06\07\05\05,\01\01\01\00\00\00\00\00\00OKUR\\QU_b`\\c][A@<<@HJJ>?\18\15IKK\0E\0D>\11[YVP\0B\\[SQTNW\00\00.\02\00\00\00\00\00\00\00\00RMXS^SWbdc^e_(CB?=AJLL?@?E\\ZWQT&%TRUO%\00\00\17\01\00\0A\00\00\00\00\00\00SNYT_TXced_f`)DC@>BKMM@A@F][XRU'&USVP&\00\00\17\01\00\0A\00\00\00\00\00\00)OZU`UYdfe`ga]&%&%))++&%!'^\\YSV]\\VTWQX\15\16/\15\0E\10\00\00\00\00\00\00)OZU`UYdfe`ga]EDA?CLNNA%!'^\\YSV]\\VTWQX\15\160 \0F\11\00\00\00\00\00\00TP[VaVZdfe`ga]FEB@DMOOBBAG^\\YSV]\\VTWQX\15\161\15\10\01\00\00\00\00\00\00)OZU`UYegfahb^&%&%))++&%!'^\\YSV]\\VTWQX\15\162!\09\12\00\00\00\00\00\00", [50 x i16] [i16 0, i16 85, i16 166, i16 258, i16 345, i16 443, i16 530, i16 621, i16 723, i16 827, i16 930, i16 1028, i16 1133, i16 1232, i16 1327, i16 1398, i16 1468, i16 1535, i16 1600, i16 1669, i16 1747, i16 1827, i16 1907, i16 1974, i16 2041, i16 2107, i16 2179, i16 2274, i16 2367, i16 2457, i16 2541, i16 2628, i16 2722, i16 2815, i16 2902, i16 2987, i16 3075, i16 3157, i16 3246, i16 3268, i16 3291, i16 3342, i16 3376, i16 3393, i16 3412, i16 3416, i16 3417, i16 3420, i16 3422, i16 3426], [3429 x i16] [i16 1, i16 273, i16 463, i16 844, i16 1101, i16 858, i16 1122, i16 1977, i16 2348, i16 2594, i16 3018, i16 3253, i16 3606, i16 4397, i16 4635, i16 4806, i16 5023, i16 5441, i16 5662, i16 5858, i16 5884, i16 6040, i16 6288, i16 6938, i16 7125, i16 7310, i16 7573, i16 7838, i16 8226, i16 8624, i16 9025, i16 9539, i16 9921, i16 10130, i16 10434, i16 10640, i16 10937, i16 11606, i16 11946, i16 12190, i16 12640, i16 13317, i16 14931, i16 15189, i16 6952, i16 16066, i16 16636, i16 17024, i16 17365, i16 17819, i16 18049, i16 18224, i16 18661, i16 18735, i16 18983, i16 19067, i16 19176, i16 19479, i16 4589, i16 20213, i16 20433, i16 20653, i16 21280, i16 21712, i16 21810, i16 22607, i16 22680, i16 22719, i16 23133, i16 23665, i16 24019, i16 24674, i16 25025, i16 25183, i16 25483, i16 25641, i16 25844, i16 26175, i16 26395, i16 26524, i16 26932, i16 27130, i16 27204, i16 27426, i16 27844, i16 5, i16 276, i16 473, i16 846, i16 1104, i16 864, i16 1133, i16 1981, i16 2352, i16 2601, i16 3021, i16 3258, i16 3616, i16 4401, i16 4639, i16 4809, i16 5026, i16 5445, i16 5666, i16 6044, i16 6295, i16 7312, i16 7577, i16 7842, i16 8229, i16 8628, i16 8755, i16 9030, i16 9544, i16 9925, i16 10134, i16 10437, i16 10644, i16 10948, i16 11608, i16 11950, i16 12197, i16 2107, i16 12746, i16 12967, i16 13321, i16 14935, i16 15199, i16 15853, i16 16070, i16 16639, i16 17027, i16 17267, i16 17823, i16 18056, i16 18234, i16 18665, i16 18739, i16 19180, i16 19307, i16 19483, i16 19792, i16 20029, i16 20217, i16 20437, i16 20660, i16 21285, i16 21815, i16 22082, i16 22611, i16 22685, i16 22723, i16 23143, i16 23669, i16 24027, i16 24687, i16 25187, i16 25490, i16 26186, i16 4589, i16 26528, i16 26936, i16 27209, i16 27434, i16 27820, i16 27854, i16 9, i16 279, i16 480, i16 848, i16 1107, i16 872, i16 1148, i16 1985, i16 2356, i16 2608, i16 3024, i16 3263, i16 3626, i16 4405, i16 4643, i16 4812, i16 5029, i16 5255, i16 5449, i16 5670, i16 5888, i16 6048, i16 6302, i16 4895, i16 7314, i16 7581, i16 7846, i16 8232, i16 8632, i16 8760, i16 9035, i16 9301, i16 9549, i16 94, i16 10138, i16 10440, i16 10648, i16 10959, i16 11610, i16 11954, i16 12204, i16 12644, i16 12750, i16 12972, i16 13325, i16 14939, i16 15209, i16 16074, i16 16408, i16 16642, i16 17030, i16 17271, i16 17368, i16 17659, i16 17827, i16 18063, i16 18244, i16 18743, i16 19070, i16 19184, i16 19487, i16 19796, i16 276, i16 20221, i16 20441, i16 20667, i16 21048, i16 21132, i16 21290, i16 21635, i16 5678, i16 21820, i16 22151, i16 22255, i16 22391, i16 22615, i16 22727, i16 23153, i16 23672, i16 24032, i16 24697, i16 25191, i16 25497, i16 26193, i16 26399, i16 26534, i16 26940, i16 27135, i16 27215, i16 27444, i16 27824, i16 27864, i16 13, i16 282, i16 493, i16 850, i16 1110, i16 881, i16 1165, i16 1989, i16 2221, i16 2360, i16 2615, i16 3027, i16 3268, i16 3639, i16 4409, i16 4647, i16 4815, i16 5032, i16 5453, i16 5674, i16 5892, i16 6052, i16 6309, i16 7129, i16 7281, i16 7316, i16 7585, i16 7850, i16 8235, i16 8636, i16 9041, i16 9308, i16 9553, i16 9929, i16 10091, i16 10142, i16 10443, i16 10652, i16 10973, i16 11612, i16 11958, i16 12211, i16 12648, i16 12754, i16 12977, i16 13329, i16 14943, i16 15219, i16 15857, i16 16078, i16 16412, i16 16645, i16 17033, i16 17275, i16 17371, i16 17831, i16 18070, i16 18257, i16 18747, i16 19073, i16 19188, i16 19339, i16 19491, i16 19686, i16 19800, i16 20032, i16 20225, i16 20445, i16 21295, i16 21716, i16 21825, i16 22088, i16 22731, i16 23166, i16 23675, i16 24037, i16 25029, i16 25195, i16 25381, i16 25504, i16 26202, i16 26402, i16 26540, i16 27220, i16 27452, i16 27828, i16 27874, i16 17, i16 285, i16 503, i16 852, i16 1113, i16 890, i16 1182, i16 1993, i16 2228, i16 2364, i16 2622, i16 3030, i16 3273, i16 3649, i16 4413, i16 4651, i16 4791, i16 4818, i16 5035, i16 5259, i16 5457, i16 5678, i16 5896, i16 6056, i16 6316, i16 6942, i16 7133, i16 7318, i16 7589, i16 7854, i16 8238, i16 8640, i16 8765, i16 8827, i16 9046, i16 9314, i16 9557, i16 9933, i16 10147, i16 10446, i16 10656, i16 10984, i16 11616, i16 11962, i16 12218, i16 12652, i16 12758, i16 13129, i16 13333, i16 14947, i16 15229, i16 15861, i16 16082, i16 16416, i16 16648, i16 17036, i16 17279, i16 17374, i16 17663, i16 17835, i16 18077, i16 18267, i16 18669, i16 18751, i16 18988, i16 19076, i16 19192, i16 19343, i16 19437, i16 19495, i16 19804, i16 20035, i16 20229, i16 20449, i16 20674, i16 21300, i16 21638, i16 16919, i16 21720, i16 21796, i16 21830, i16 22735, i16 23176, i16 23678, i16 24042, i16 24707, i16 25033, i16 25199, i16 25387, i16 25513, i16 26209, i16 26406, i16 26546, i16 26944, i16 27225, i16 27460, i16 27832, i16 27884, i16 21, i16 288, i16 513, i16 854, i16 1116, i16 897, i16 1195, i16 1997, i16 2233, i16 2368, i16 2629, i16 3033, i16 3278, i16 3674, i16 4417, i16 4655, i16 4821, i16 5038, i16 5263, i16 5461, i16 5682, i16 5900, i16 6060, i16 6323, i16 6948, i16 7137, i16 7320, i16 7593, i16 7858, i16 8241, i16 8644, i16 8770, i16 9051, i16 9562, i16 9937, i16 10152, i16 10449, i16 10660, i16 10998, i16 11619, i16 11966, i16 12225, i16 12656, i16 12762, i16 12982, i16 13337, i16 14951, i16 15239, i16 15865, i16 16086, i16 16651, i16 17039, i16 17378, i16 17839, i16 18084, i16 18280, i16 18755, i16 18993, i16 19079, i16 19196, i16 19499, i16 19691, i16 19808, i16 20038, i16 20233, i16 20453, i16 20681, i16 21305, i16 21641, i16 21724, i16 21835, i16 22735, i16 23189, i16 23682, i16 24050, i16 24717, i16 25037, i16 25203, i16 25522, i16 7946, i16 26410, i16 26552, i16 26948, i16 27231, i16 27470, i16 27836, i16 27894, i16 25, i16 291, i16 523, i16 856, i16 1119, i16 1448, i16 1454, i16 2001, i16 2372, i16 2636, i16 3036, i16 3283, i16 3690, i16 4421, i16 4659, i16 4824, i16 273, i16 5465, i16 5686, i16 5863, i16 5904, i16 6064, i16 6330, i16 6952, i16 7141, i16 7286, i16 7322, i16 7597, i16 7862, i16 8244, i16 8648, i16 8831, i16 9057, i16 9567, i16 9941, i16 10096, i16 10156, i16 10452, i16 10664, i16 11015, i16 11621, i16 11970, i16 12232, i16 12660, i16 12766, i16 13341, i16 14955, i16 15249, i16 15869, i16 16090, i16 16654, i16 16919, i16 17042, i16 17283, i16 17381, i16 17668, i16 17843, i16 18091, i16 18296, i16 18759, i16 19082, i16 19200, i16 19503, i16 20041, i16 20181, i16 20237, i16 20457, i16 20688, i16 21052, i16 21310, i16 21840, i16 22155, i16 22259, i16 22398, i16 22619, i16 22690, i16 22727, i16 23205, i16 23685, i16 24055, i16 24727, i16 25207, i16 25529, i16 26222, i16 26413, i16 26558, i16 26952, i16 10488, i16 10728, i16 27840, i16 27904, i16 29, i16 294, i16 463, i16 858, i16 1122, i16 2005, i16 2238, i16 2376, i16 2643, i16 3039, i16 3288, i16 3700, i16 4397, i16 4663, i16 4827, i16 5041, i16 5267, i16 5441, i16 5690, i16 5868, i16 5908, i16 6068, i16 6337, i16 6956, i16 7145, i16 7324, i16 7502, i16 7601, i16 7866, i16 8247, i16 8652, i16 8835, i16 9062, i16 9320, i16 9572, i16 9820, i16 9945, i16 10160, i16 10455, i16 10668, i16 11026, i16 11625, i16 11815, i16 11974, i16 12239, i16 12664, i16 12770, i16 13133, i16 13345, i16 14959, i16 15259, i16 15873, i16 16094, i16 16420, i16 16657, i16 17045, i16 17287, i16 17384, i16 17672, i16 17847, i16 18098, i16 18306, i16 18673, i16 18763, i16 18998, i16 19085, i16 19205, i16 19347, i16 19507, i16 20044, i16 20185, i16 20241, i16 20461, i16 20695, i16 21315, i16 21644, i16 21695, i16 21728, i16 21845, i16 22263, i16 22405, i16 22623, i16 22695, i16 22739, i16 23215, i16 23688, i16 24060, i16 24674, i16 25041, i16 25211, i16 25536, i16 25645, i16 25851, i16 26175, i16 26417, i16 26564, i16 26956, i16 27140, i16 27238, i16 27482, i16 27844, i16 28220, i16 36, i16 301, i16 473, i16 864, i16 1133, i16 1792, i16 1878, i16 2016, i16 2251, i16 2384, i16 2658, i16 3046, i16 3301, i16 3719, i16 4401, i16 4672, i16 4836, i16 5048, i16 5275, i16 5469, i16 5697, i16 5916, i16 6076, i16 6352, i16 6965, i16 7153, i16 7333, i16 7513, i16 7609, i16 7882, i16 8257, i16 8663, i16 8775, i16 8844, i16 9075, i16 9334, i16 9584, i16 9953, i16 10169, i16 10461, i16 10679, i16 11046, i16 11634, i16 11825, i16 11981, i16 12252, i16 12671, i16 12781, i16 12987, i16 13142, i16 13271, i16 13355, i16 14965, i16 15275, i16 15880, i16 16104, i16 16427, i16 16669, i16 17055, i16 17391, i16 17854, i16 18325, i16 18678, i16 18771, i16 19092, i16 19213, i16 19312, i16 19355, i16 19517, i16 19696, i16 19812, i16 19936, i16 20053, i16 20253, i16 20473, i16 20718, i16 21327, i16 21651, i16 21736, i16 21853, i16 22094, i16 22159, i16 22270, i16 22417, i16 22630, i16 22703, i16 22758, i16 23237, i16 23696, i16 24082, i16 24687, i16 25048, i16 25217, i16 25551, i16 25652, i16 25864, i16 26186, i16 26427, i16 26579, i16 26964, i16 27245, i16 27495, i16 27854, i16 28227, i16 43, i16 309, i16 480, i16 872, i16 1148, i16 2028, i16 2264, i16 2395, i16 2679, i16 3057, i16 3322, i16 3738, i16 4425, i16 4684, i16 4844, i16 5056, i16 5285, i16 5474, i16 5704, i16 5923, i16 6084, i16 6367, i16 6971, i16 7159, i16 7343, i16 7524, i16 7620, i16 7895, i16 8267, i16 8673, i16 8786, i16 8850, i16 9084, i16 9344, i16 9592, i16 9833, i16 9958, i16 10177, i16 10465, i16 10686, i16 11066, i16 11640, i16 11992, i16 12273, i16 12677, i16 12791, i16 12998, i16 13149, i16 13279, i16 13365, i16 14974, i16 15300, i16 15895, i16 16114, i16 16434, i16 16681, i16 17065, i16 17396, i16 17680, i16 17865, i16 18344, i16 18780, i16 19100, i16 19221, i16 19362, i16 19530, i16 19820, i16 19922, i16 19944, i16 20015, i16 20058, i16 20195, i16 20265, i16 20485, i16 20741, i16 21338, i16 21660, i16 21747, i16 21861, i16 22104, i16 22170, i16 22280, i16 22436, i16 22637, i16 22780, i16 23259, i16 23703, i16 24101, i16 24697, i16 25227, i16 25392, i16 25566, i16 25662, i16 25883, i16 26193, i16 26436, i16 26591, i16 26970, i16 27149, i16 27253, i16 27510, i16 27864, i16 28234, i16 51, i16 317, i16 493, i16 881, i16 1165, i16 2039, i16 2276, i16 2403, i16 2694, i16 3065, i16 3337, i16 3760, i16 4432, i16 4691, i16 4852, i16 5062, i16 5293, i16 5481, i16 5712, i16 5932, i16 6090, i16 6378, i16 6977, i16 7166, i16 7291, i16 7353, i16 7535, i16 7630, i16 7911, i16 8275, i16 8682, i16 8856, i16 9093, i16 9355, i16 9600, i16 9965, i16 10101, i16 10185, i16 10471, i16 10697, i16 11089, i16 11645, i16 12002, i16 12292, i16 12684, i16 12803, i16 13012, i16 13157, i16 13288, i16 13375, i16 14984, i16 15328, i16 15909, i16 16124, i16 16443, i16 16693, i16 16923, i16 17074, i16 17298, i16 17402, i16 17873, i16 18111, i16 18344, i16 18790, i16 19007, i16 19108, i16 19229, i16 19537, i16 19710, i16 19826, i16 19950, i16 20064, i16 20273, i16 20493, i16 20756, i16 21351, i16 21667, i16 21753, i16 21870, i16 22114, i16 22805, i16 23284, i16 23710, i16 24120, i16 25054, i16 25232, i16 25398, i16 25581, i16 25671, i16 25900, i16 26202, i16 26445, i16 26602, i16 26976, i16 27261, i16 27525, i16 27874, i16 28241, i16 61, i16 326, i16 503, i16 890, i16 1182, i16 2050, i16 2292, i16 2410, i16 2707, i16 3071, i16 3348, i16 3779, i16 4441, i16 4699, i16 4796, i16 4861, i16 5069, i16 5301, i16 5457, i16 5719, i16 5941, i16 6098, i16 6393, i16 6986, i16 7176, i16 7363, i16 7546, i16 7641, i16 7928, i16 8287, i16 8692, i16 8796, i16 8865, i16 9105, i16 9369, i16 9610, i16 9974, i16 10193, i16 10477, i16 10708, i16 11109, i16 11652, i16 11833, i16 12013, i16 12313, i16 12689, i16 12816, i16 13167, i16 13299, i16 13385, i16 14994, i16 15356, i16 15925, i16 16134, i16 16453, i16 16706, i16 17084, i16 17410, i16 17687, i16 17879, i16 18122, i16 18366, i16 18684, i16 18799, i16 19017, i16 19117, i16 19237, i16 19369, i16 19442, i16 19543, i16 19833, i16 19957, i16 20073, i16 20279, i16 20499, i16 20767, i16 21363, i16 21674, i16 21703, i16 21759, i16 21801, i16 21881, i16 22177, i16 22245, i16 22287, i16 22449, i16 22821, i16 23306, i16 23714, i16 24130, i16 24707, i16 25065, i16 25241, i16 25409, i16 25600, i16 25678, i16 25913, i16 26209, i16 26456, i16 26614, i16 26984, i16 27269, i16 27540, i16 27884, i16 28248, i16 70, i16 336, i16 513, i16 897, i16 1195, i16 1800, i16 1893, i16 2063, i16 2309, i16 2417, i16 2720, i16 3081, i16 3367, i16 3813, i16 4446, i16 4708, i16 4868, i16 5077, i16 5310, i16 5489, i16 5727, i16 5952, i16 6105, i16 6406, i16 6994, i16 7183, i16 7373, i16 7650, i16 7946, i16 8295, i16 8701, i16 8806, i16 8871, i16 9115, i16 9380, i16 9620, i16 9980, i16 10201, i16 10483, i16 10719, i16 11132, i16 11662, i16 11846, i16 12023, i16 12332, i16 12695, i16 12828, i16 13026, i16 13175, i16 13308, i16 13395, i16 15004, i16 15384, i16 15940, i16 16144, i16 16460, i16 16721, i16 17096, i16 17416, i16 17888, i16 18139, i16 18388, i16 18691, i16 18808, i16 19027, i16 19127, i16 19246, i16 19552, i16 19717, i16 19840, i16 19964, i16 20077, i16 20287, i16 20507, i16 20782, i16 21373, i16 21682, i16 21767, i16 21890, i16 22186, i16 22296, i16 22466, i16 22843, i16 23331, i16 23723, i16 24155, i16 24717, i16 25073, i16 25250, i16 25619, i16 25685, i16 25926, i16 26466, i16 26627, i16 26990, i16 27280, i16 27561, i16 27894, i16 28255, i16 77, i16 343, i16 523, i16 904, i16 1208, i16 1448, i16 1454, i16 2075, i16 2323, i16 2425, i16 2735, i16 3087, i16 3378, i16 3838, i16 4453, i16 4714, i16 4878, i16 5083, i16 5496, i16 5734, i16 5876, i16 5960, i16 6115, i16 6425, i16 7003, i16 7191, i16 7302, i16 7379, i16 7557, i16 7659, i16 7955, i16 8305, i16 8714, i16 8880, i16 9125, i16 9391, i16 9629, i16 9987, i16 10111, i16 10210, i16 10488, i16 10728, i16 11158, i16 11669, i16 12030, i16 12345, i16 12701, i16 12839, i16 13405, i16 15014, i16 15412, i16 15956, i16 16154, i16 16470, i16 16734, i16 16937, i16 17107, i16 17424, i16 17694, i16 17894, i16 18150, i16 18413, i16 18818, i16 19135, i16 19254, i16 19376, i16 19559, i16 20084, i16 20202, i16 20295, i16 20515, i16 20797, i16 21383, i16 21900, i16 22127, i16 22192, i16 22302, i16 22477, i16 22644, i16 22711, i16 22862, i16 23359, i16 23729, i16 24171, i16 24727, i16 25082, i16 25255, i16 25630, i16 25694, i16 26222, i16 26471, i16 26640, i16 26997, i16 27904, i16 28262, i16 86, i16 533, i16 911, i16 1220, i16 1532, i16 1624, i16 2087, i16 2432, i16 2748, i16 3094, i16 3391, i16 3857, i16 4013, i16 4460, i16 4887, i16 5090, i16 5503, i16 5741, i16 5968, i16 6016, i16 6123, i16 6440, i16 7198, i16 7387, i16 7669, i16 7964, i16 8314, i16 8518, i16 9137, i16 9641, i16 9994, i16 10217, i16 10492, i16 10735, i16 11178, i16 11432, i16 12036, i16 12356, i16 13415, i16 15021, i16 15431, i16 16164, i16 16480, i16 16746, i16 17432, i16 17901, i16 18163, i16 18432, i16 19566, i16 20092, i16 20303, i16 20523, i16 20812, i16 21394, i16 22872, i16 23381, i16 23735, i16 24187, i16 24737, i16 25089, i16 25265, i16 25701, i16 25942, i16 26231, i16 26478, i16 26654, i16 27003, i16 27289, i16 27578, i16 13487, i16 27914, i16 90, i16 543, i16 915, i16 1227, i16 1545, i16 1648, i16 2091, i16 2436, i16 2755, i16 3098, i16 3398, i16 3867, i16 4038, i16 4465, i16 4891, i16 5094, i16 5317, i16 5507, i16 6127, i16 6447, i16 7393, i16 7673, i16 7971, i16 8321, i16 8526, i16 8887, i16 8974, i16 9141, i16 9645, i16 10224, i16 10496, i16 10742, i16 11194, i16 11436, i16 12040, i16 12363, i16 12707, i16 13421, i16 15025, i16 15441, i16 16170, i16 16484, i16 16750, i16 17437, i16 17905, i16 18457, i16 18826, i16 19570, i16 20307, i16 20527, i16 20819, i16 21401, i16 21910, i16 22309, i16 22490, i16 22888, i16 23397, i16 23740, i16 24196, i16 24744, i16 25269, i16 25419, i16 25705, i16 26242, i16 26660, i16 27007, i16 27295, i16 27588, i16 13492, i16 27921, i16 94, i16 553, i16 919, i16 1234, i16 1550, i16 1657, i16 2440, i16 2762, i16 3102, i16 3405, i16 3877, i16 4069, i16 4470, i16 4895, i16 5098, i16 5322, i16 5449, i16 5972, i16 6021, i16 6131, i16 6454, i16 7399, i16 7566, i16 8328, i16 9147, i16 9404, i16 9649, i16 9842, i16 10232, i16 10500, i16 10749, i16 11213, i16 11440, i16 11574, i16 11677, i16 11854, i16 12044, i16 12370, i16 13427, i16 15029, i16 15451, i16 16176, i16 5453, i16 16754, i16 17441, i16 17909, i16 18698, i16 19144, i16 20311, i16 20531, i16 20826, i16 21406, i16 22913, i16 23422, i16 23745, i16 24205, i16 24754, i16 25709, i16 25949, i16 26253, i16 26666, i16 27011, i16 27156, i16 27301, i16 27598, i16 13497, i16 27928, i16 98, i16 563, i16 923, i16 1241, i16 1555, i16 1666, i16 2444, i16 2769, i16 3106, i16 3412, i16 3887, i16 4085, i16 4475, i16 4899, i16 5102, i16 5511, i16 5745, i16 6135, i16 6461, i16 7405, i16 7677, i16 7978, i16 8335, i16 8534, i16 8891, i16 9153, i16 9653, i16 9998, i16 10239, i16 10504, i16 10756, i16 11229, i16 11444, i16 11681, i16 11859, i16 12048, i16 12377, i16 13433, i16 15033, i16 15461, i16 16182, i16 16758, i16 17445, i16 17913, i16 18482, i16 19574, i16 20315, i16 20535, i16 20833, i16 21411, i16 21914, i16 22932, i16 23441, i16 23751, i16 24217, i16 24764, i16 25273, i16 25713, i16 25956, i16 26262, i16 26672, i16 27307, i16 27608, i16 13502, i16 27935, i16 102, i16 352, i16 573, i16 927, i16 1248, i16 1561, i16 1677, i16 2448, i16 2776, i16 3110, i16 3419, i16 3900, i16 4480, i16 4721, i16 4903, i16 5106, i16 5327, i16 5515, i16 5749, i16 6139, i16 6468, i16 2144, i16 7411, i16 7985, i16 8342, i16 8542, i16 9157, i16 9657, i16 9847, i16 10246, i16 10508, i16 10763, i16 11248, i16 11448, i16 11685, i16 11864, i16 12052, i16 12384, i16 12851, i16 13038, i16 13183, i16 13439, i16 15037, i16 15471, i16 16188, i16 16489, i16 16762, i16 17449, i16 17917, i16 18170, i16 18501, i16 18830, i16 19148, i16 20319, i16 20539, i16 20840, i16 21417, i16 22951, i16 23463, i16 23757, i16 24229, i16 24774, i16 25717, i16 26273, i16 26678, i16 27314, i16 27620, i16 13507, i16 27942, i16 106, i16 580, i16 931, i16 1255, i16 1566, i16 1686, i16 2095, i16 2338, i16 2452, i16 2783, i16 3114, i16 3426, i16 3907, i16 4485, i16 4907, i16 5110, i16 5332, i16 5519, i16 6143, i16 6475, i16 7417, i16 7681, i16 7992, i16 8349, i16 8550, i16 9162, i16 9661, i16 10002, i16 10119, i16 10254, i16 10512, i16 10770, i16 11255, i16 11452, i16 11689, i16 11869, i16 12056, i16 12391, i16 12855, i16 13043, i16 13187, i16 13445, i16 15041, i16 15481, i16 16194, i16 16492, i16 16766, i16 17117, i16 17309, i16 17454, i16 17921, i16 18177, i16 18834, i16 19039, i16 19578, i16 20096, i16 20323, i16 20543, i16 20847, i16 21422, i16 21918, i16 22958, i16 23470, i16 23762, i16 24238, i16 24784, i16 25093, i16 25277, i16 25721, i16 25963, i16 26280, i16 26482, i16 26684, i16 27015, i16 27318, i16 27627, i16 13512, i16 27949, i16 110, i16 587, i16 935, i16 1262, i16 1573, i16 1699, i16 2099, i16 2343, i16 2456, i16 2790, i16 3118, i16 3433, i16 3917, i16 4104, i16 4490, i16 4911, i16 5114, i16 5337, i16 5523, i16 6148, i16 6484, i16 7423, i16 7685, i16 7999, i16 8356, i16 8560, i16 8895, i16 9168, i16 9411, i16 9665, i16 10006, i16 10263, i16 10516, i16 10777, i16 11265, i16 11456, i16 11693, i16 11874, i16 12060, i16 12398, i16 12859, i16 13048, i16 13191, i16 13451, i16 15045, i16 15491, i16 16200, i16 16770, i16 17121, i16 17314, i16 17459, i16 17703, i16 17925, i16 18184, i16 18508, i16 18838, i16 19582, i16 20100, i16 20327, i16 20547, i16 20854, i16 21427, i16 21922, i16 22971, i16 23483, i16 23768, i16 24250, i16 24791, i16 25097, i16 25281, i16 25725, i16 25970, i16 26287, i16 26486, i16 26690, i16 27019, i16 27323, i16 27635, i16 13517, i16 27956, i16 114, i16 597, i16 939, i16 1269, i16 1578, i16 1708, i16 2103, i16 2460, i16 2797, i16 3122, i16 3440, i16 3927, i16 4120, i16 4495, i16 4915, i16 5118, i16 5527, i16 5753, i16 6153, i16 6493, i16 7010, i16 7429, i16 7689, i16 8006, i16 8363, i16 8569, i16 8899, i16 8979, i16 9173, i16 9417, i16 9669, i16 9852, i16 10010, i16 10272, i16 10520, i16 10784, i16 11281, i16 11460, i16 12064, i16 12405, i16 12711, i16 12863, i16 13053, i16 13457, i16 15049, i16 15501, i16 16206, i16 16496, i16 16774, i16 4584, i16 17929, i16 18521, i16 18702, i16 18842, i16 19384, i16 19450, i16 19586, i16 20331, i16 20551, i16 20861, i16 21432, i16 21773, i16 21926, i16 22984, i16 23496, i16 23773, i16 24259, i16 24801, i16 25285, i16 25424, i16 25729, i16 25977, i16 26298, i16 26490, i16 26696, i16 27023, i16 27328, i16 27643, i16 13522, i16 27963, i16 118, i16 607, i16 943, i16 1276, i16 1581, i16 1713, i16 2107, i16 2464, i16 2804, i16 3126, i16 3447, i16 3934, i16 4316, i16 4500, i16 4919, i16 5122, i16 5342, i16 5531, i16 5757, i16 6157, i16 6500, i16 7435, i16 7693, i16 8013, i16 8370, i16 8579, i16 9177, i16 9422, i16 5441, i16 10014, i16 10282, i16 10524, i16 10791, i16 11297, i16 11464, i16 11612, i16 12068, i16 12412, i16 13463, i16 15053, i16 15511, i16 16212, i16 16500, i16 16778, i16 17466, i16 17933, i16 18537, i16 19590, i16 20335, i16 20555, i16 20868, i16 21437, i16 21930, i16 23003, i16 23515, i16 23778, i16 24268, i16 24811, i16 25289, i16 25733, i16 25984, i16 26307, i16 26702, i16 27333, i16 27651, i16 13527, i16 27970, i16 122, i16 356, i16 617, i16 947, i16 1283, i16 1587, i16 1724, i16 2468, i16 2811, i16 3130, i16 3454, i16 3944, i16 4505, i16 4923, i16 5126, i16 5348, i16 5535, i16 5761, i16 6161, i16 6507, i16 7441, i16 7697, i16 8020, i16 8377, i16 8588, i16 9183, i16 9429, i16 9673, i16 10018, i16 10291, i16 10528, i16 10798, i16 11319, i16 11468, i16 12072, i16 12419, i16 13195, i16 13469, i16 15057, i16 15521, i16 16218, i16 16504, i16 16782, i16 17471, i16 17937, i16 18565, i16 18846, i16 19594, i16 19725, i16 20339, i16 20559, i16 20875, i16 21444, i16 21934, i16 23034, i16 23546, i16 23783, i16 24277, i16 24821, i16 25293, i16 25737, i16 25991, i16 26318, i16 26708, i16 27339, i16 27661, i16 27977, i16 126, i16 627, i16 951, i16 1290, i16 1599, i16 1746, i16 2111, i16 2472, i16 2818, i16 3134, i16 3461, i16 3966, i16 4510, i16 4927, i16 5130, i16 5539, i16 6165, i16 6514, i16 7447, i16 7701, i16 8027, i16 8384, i16 9189, i16 5904, i16 10300, i16 10532, i16 10805, i16 11341, i16 11472, i16 12076, i16 12426, i16 12867, i16 13059, i16 13475, i16 15061, i16 15531, i16 16224, i16 4589, i16 16786, i16 17478, i16 17941, i16 18587, i16 20343, i16 20563, i16 20882, i16 21449, i16 21938, i16 22138, i16 22313, i16 22497, i16 23059, i16 23571, i16 23788, i16 24286, i16 24831, i16 25101, i16 25297, i16 25741, i16 25998, i16 26331, i16 26715, i16 27027, i16 27161, i16 27345, i16 27671, i16 27984, i16 130, i16 360, i16 637, i16 955, i16 1297, i16 1612, i16 1770, i16 2115, i16 2476, i16 2825, i16 3138, i16 3468, i16 3988, i16 4515, i16 4931, i16 5134, i16 5544, i16 5765, i16 5976, i16 6169, i16 6521, i16 7202, i16 7453, i16 7705, i16 8034, i16 8391, i16 8597, i16 8903, i16 8984, i16 9194, i16 9677, i16 9857, i16 10309, i16 10536, i16 10812, i16 11360, i16 11476, i16 12080, i16 12433, i16 13481, i16 15065, i16 15541, i16 16230, i16 16508, i16 16790, i16 17485, i16 17945, i16 18615, i16 18707, i16 18850, i16 19044, i16 19598, i16 20347, i16 20567, i16 20889, i16 21455, i16 21942, i16 22317, i16 22504, i16 23081, i16 23590, i16 23793, i16 24295, i16 24841, i16 25301, i16 25745, i16 26005, i16 26342, i16 26722, i16 27351, i16 27681, i16 27994, i16 134, i16 364, i16 647, i16 959, i16 1304, i16 1532, i16 1624, i16 2119, i16 2480, i16 2832, i16 3142, i16 3475, i16 4013, i16 4520, i16 4725, i16 4935, i16 5138, i16 5548, i16 5769, i16 5980, i16 6026, i16 6173, i16 6528, i16 7015, i16 7206, i16 7459, i16 7709, i16 8041, i16 8398, i16 8907, i16 9199, i16 9436, i16 9681, i16 10022, i16 10319, i16 10540, i16 10819, i16 11178, i16 11480, i16 11579, i16 11697, i16 11879, i16 12084, i16 12440, i16 12715, i16 12871, i16 13064, i16 13199, i16 13487, i16 15069, i16 15551, i16 15971, i16 16236, i16 16512, i16 16794, i16 17125, i16 17319, i16 17490, i16 17711, i16 17949, i16 18191, i16 18432, i16 18854, i16 19388, i16 19455, i16 19602, i16 19730, i16 19846, i16 19970, i16 20104, i16 20351, i16 20571, i16 20896, i16 21056, i16 21139, i16 21460, i16 21946, i16 22321, i16 22511, i16 22872, i16 23381, i16 23798, i16 24304, i16 24737, i16 25105, i16 25305, i16 25749, i16 26012, i16 26231, i16 26729, i16 27031, i16 27166, i16 27356, i16 27689, i16 27914, i16 142, i16 373, i16 663, i16 965, i16 1315, i16 1545, i16 1648, i16 2126, i16 2489, i16 2849, i16 3149, i16 3488, i16 4038, i16 4527, i16 4732, i16 4941, i16 5144, i16 5354, i16 5555, i16 5776, i16 5987, i16 6184, i16 6549, i16 7023, i16 7212, i16 7467, i16 7719, i16 8054, i16 8407, i16 8915, i16 8989, i16 9206, i16 9695, i16 10030, i16 10333, i16 10546, i16 10830, i16 11194, i16 11489, i16 11589, i16 11704, i16 11887, i16 12093, i16 12457, i16 12723, i16 12878, i16 13072, i16 13207, i16 13492, i16 15077, i16 15573, i16 15979, i16 16243, i16 16523, i16 16801, i16 17134, i16 17329, i16 17501, i16 17957, i16 18457, i16 18711, i16 18861, i16 19395, i16 19463, i16 19610, i16 19854, i16 19978, i16 20358, i16 20578, i16 20909, i16 21063, i16 21152, i16 21476, i16 21952, i16 22328, i16 22524, i16 22888, i16 23397, i16 23805, i16 24323, i16 24851, i16 25111, i16 25310, i16 25429, i16 25756, i16 26025, i16 26242, i16 26743, i16 27038, i16 27174, i16 27365, i16 27706, i16 27921, i16 151, i16 383, i16 553, i16 972, i16 1328, i16 1550, i16 1657, i16 2133, i16 2494, i16 2858, i16 3158, i16 3505, i16 4069, i16 4537, i16 4740, i16 4948, i16 5017, i16 5149, i16 5360, i16 5474, i16 5784, i16 5993, i16 6034, i16 6196, i16 6572, i16 7032, i16 7220, i16 7399, i16 7566, i16 7727, i16 8416, i16 8726, i16 9147, i16 9404, i16 9706, i16 9862, i16 10039, i16 10232, i16 10500, i16 10749, i16 11213, i16 11497, i16 11598, i16 11712, i16 11896, i16 12102, i16 12474, i16 12732, i16 12886, i16 13497, i16 15087, i16 15601, i16 15988, i16 16250, i16 16535, i16 16809, i16 17513, i16 17723, i16 17966, i16 18698, i16 18866, i16 19152, i16 19615, i16 19864, i16 19929, i16 19988, i16 20022, i16 20113, i16 20366, i16 20586, i16 20924, i16 21071, i16 21167, i16 21488, i16 21689, i16 22913, i16 23422, i16 23816, i16 24354, i16 24864, i16 25119, i16 25762, i16 26036, i16 26253, i16 26754, i16 27044, i16 27181, i16 27375, i16 27725, i16 27928, i16 157, i16 679, i16 977, i16 1337, i16 1555, i16 1666, i16 1808, i16 1908, i16 2138, i16 2502, i16 2873, i16 3163, i16 3514, i16 4085, i16 4544, i16 4953, i16 5156, i16 5564, i16 5790, i16 6204, i16 6587, i16 7038, i16 7476, i16 7735, i16 8065, i16 8426, i16 8731, i16 8820, i16 8923, i16 9214, i16 9444, i16 9714, i16 10045, i16 10349, i16 10553, i16 10843, i16 11229, i16 11504, i16 11720, i16 11905, i16 12108, i16 12485, i16 12891, i16 13081, i16 13216, i16 13502, i16 15093, i16 15617, i16 15995, i16 16257, i16 16545, i16 16814, i16 16951, i16 17144, i16 17340, i16 17528, i16 17739, i16 17971, i16 18482, i16 19403, i16 19622, i16 19739, i16 20120, i16 20372, i16 20592, i16 20935, i16 21076, i16 21176, i16 21501, i16 21959, i16 22932, i16 23441, i16 23823, i16 24373, i16 24877, i16 25316, i16 25771, i16 26053, i16 26262, i16 26764, i16 27049, i16 27381, i16 27736, i16 27935, i16 102, i16 352, i16 573, i16 983, i16 1348, i16 1561, i16 1677, i16 1815, i16 1921, i16 1943, i16 1955, i16 2144, i16 2511, i16 2890, i16 3110, i16 3419, i16 3900, i16 4550, i16 4721, i16 4959, i16 5162, i16 5368, i16 5515, i16 5749, i16 6213, i16 6604, i16 7045, i16 7226, i16 4903, i16 7743, i16 8076, i16 8435, i16 9222, i16 9453, i16 9725, i16 9871, i16 10051, i16 10246, i16 10508, i16 10763, i16 11248, i16 11512, i16 11728, i16 11914, i16 12115, i16 12498, i16 12851, i16 13038, i16 13223, i16 13507, i16 15100, i16 15636, i16 16002, i16 16264, i16 16555, i16 16824, i16 16962, i16 17152, i16 17542, i16 17917, i16 18170, i16 18501, i16 18872, i16 19148, i16 19870, i16 20379, i16 20599, i16 20948, i16 20319, i16 20840, i16 21513, i16 11685, i16 11864, i16 22951, i16 23463, i16 23830, i16 24392, i16 24890, i16 25125, i16 25322, i16 25436, i16 25779, i16 26273, i16 26775, i16 27314, i16 27620, i16 27942, i16 163, i16 389, i16 580, i16 988, i16 1357, i16 1566, i16 1686, i16 1950, i16 1968, i16 2148, i16 2519, i16 2905, i16 3114, i16 3426, i16 3907, i16 4554, i16 4745, i16 4964, i16 5169, i16 5376, i16 5571, i16 5796, i16 6219, i16 6615, i16 7050, i16 7231, i16 7417, i16 7751, i16 8081, i16 8444, i16 8605, i16 8929, i16 9162, i16 9735, i16 9882, i16 10056, i16 10124, i16 10356, i16 10559, i16 10854, i16 11255, i16 11520, i16 11734, i16 11921, i16 12122, i16 12511, i16 12897, i16 13088, i16 13230, i16 13512, i16 15106, i16 15652, i16 16271, i16 16562, i16 16832, i16 16972, i16 17158, i16 17349, i16 17550, i16 17977, i16 18206, i16 106, i16 18878, i16 19049, i16 19410, i16 19631, i16 19875, i16 19994, i16 20128, i16 20383, i16 20603, i16 20955, i16 21083, i16 21189, i16 21525, i16 11689, i16 11869, i16 21777, i16 21965, i16 17921, i16 18177, i16 22958, i16 23470, i16 23838, i16 24414, i16 24784, i16 25130, i16 25328, i16 25787, i16 26068, i16 26280, i16 26787, i16 27054, i16 27949, i16 168, i16 395, i16 587, i16 994, i16 1368, i16 1573, i16 1699, i16 1820, i16 1930, i16 2153, i16 2527, i16 2920, i16 3118, i16 3433, i16 4104, i16 4563, i16 4750, i16 4969, i16 5176, i16 5384, i16 5579, i16 5801, i16 6227, i16 6630, i16 7056, i16 7237, i16 7423, i16 7758, i16 8090, i16 8452, i16 8614, i16 8934, i16 9168, i16 9411, i16 9746, i16 10061, i16 10368, i16 10564, i16 10863, i16 11265, i16 11527, i16 11741, i16 11929, i16 12130, i16 12526, i16 12902, i16 13095, i16 13237, i16 13517, i16 15113, i16 15671, i16 16278, i16 16571, i16 16841, i16 17165, i16 17357, i16 17557, i16 17755, i16 17982, i16 18215, i16 18508, i16 18720, i16 18884, i16 19415, i16 19640, i16 19881, i16 20000, i16 20134, i16 20388, i16 20608, i16 20964, i16 21088, i16 21198, i16 21537, i16 11693, i16 11874, i16 21783, i16 21973, i16 17925, i16 18184, i16 22971, i16 23483, i16 23847, i16 24439, i16 24791, i16 25136, i16 25336, i16 25795, i16 26083, i16 26287, i16 26799, i16 27059, i16 27956, i16 173, i16 401, i16 692, i16 1000, i16 1379, i16 1578, i16 1708, i16 2158, i16 2534, i16 2933, i16 3169, i16 3525, i16 4120, i16 4570, i16 4976, i16 5185, i16 5590, i16 5806, i16 6235, i16 6645, i16 7062, i16 7243, i16 7766, i16 8006, i16 8461, i16 8942, i16 8998, i16 9238, i16 9470, i16 9758, i16 9894, i16 10067, i16 10272, i16 10569, i16 10872, i16 11281, i16 11534, i16 11748, i16 12138, i16 12541, i16 12738, i16 12907, i16 13102, i16 13522, i16 15120, i16 15690, i16 16007, i16 16285, i16 16585, i16 16848, i16 16982, i16 17172, i16 17568, i16 17767, i16 17987, i16 18521, i16 18702, i16 18890, i16 19158, i16 19422, i16 19472, i16 19647, i16 19749, i16 20393, i16 20613, i16 20973, i16 21093, i16 21207, i16 21550, i16 21789, i16 21980, i16 22651, i16 22984, i16 23496, i16 23855, i16 24461, i16 24801, i16 25343, i16 25443, i16 25802, i16 26096, i16 26298, i16 26812, i16 27067, i16 27389, i16 27751, i16 27963, i16 180, i16 705, i16 1006, i16 1390, i16 1581, i16 1713, i16 2165, i16 2542, i16 2948, i16 3176, i16 3538, i16 4136, i16 4316, i16 4575, i16 4755, i16 4982, i16 5191, i16 5394, i16 5595, i16 5813, i16 6245, i16 6664, i16 7071, i16 7250, i16 7774, i16 8101, i16 8468, i16 8947, i16 9245, i16 9478, i16 9770, i16 10074, i16 10382, i16 10576, i16 10885, i16 11297, i16 11542, i16 11758, i16 12147, i16 12558, i16 13244, i16 13527, i16 15128, i16 15712, i16 16017, i16 16292, i16 16593, i16 16858, i16 16994, i16 17180, i16 17583, i16 17994, i16 18537, i16 18897, i16 19656, i16 19759, i16 19887, i16 20140, i16 20401, i16 20621, i16 20988, i16 21100, i16 21220, i16 21561, i16 21986, i16 22199, i16 22336, i16 22539, i16 23003, i16 23515, i16 23863, i16 24483, i16 24903, i16 25142, i16 25351, i16 25452, i16 25810, i16 26111, i16 26307, i16 26494, i16 26824, i16 27075, i16 27395, i16 27762, i16 27970, i16 190, i16 410, i16 724, i16 1013, i16 1403, i16 1587, i16 1724, i16 2174, i16 2551, i16 2965, i16 3186, i16 3557, i16 4170, i16 3944, i16 4584, i16 4765, i16 4991, i16 5196, i16 5402, i16 5600, i16 5823, i16 6257, i16 6687, i16 7081, i16 7483, i16 7781, i16 8116, i16 8476, i16 8957, i16 9258, i16 9493, i16 9783, i16 10083, i16 10394, i16 10583, i16 10898, i16 11319, i16 11548, i16 11769, i16 11937, i16 12158, i16 12579, i16 12913, i16 13110, i16 13254, i16 13469, i16 15139, i16 15743, i16 16028, i16 16299, i16 16606, i16 16866, i16 17191, i16 17590, i16 17784, i16 18004, i16 18565, i16 18907, i16 19665, i16 19769, i16 19896, i16 20151, i16 20410, i16 20630, i16 21005, i16 21109, i16 21237, i16 21574, i16 21994, i16 22209, i16 22346, i16 22558, i16 23034, i16 23546, i16 23871, i16 24505, i16 24919, i16 25154, i16 25357, i16 25819, i16 26128, i16 26318, i16 26837, i16 27083, i16 27187, i16 27406, i16 27783, i16 27977, i16 198, i16 743, i16 1020, i16 1416, i16 1599, i16 1746, i16 2182, i16 2562, i16 2986, i16 3195, i16 3574, i16 4195, i16 3966, i16 4589, i16 4773, i16 4999, i16 5202, i16 5607, i16 5831, i16 6267, i16 6706, i16 7089, i16 7261, i16 7787, i16 8127, i16 8484, i16 9275, i16 9511, i16 9794, i16 10408, i16 10591, i16 10913, i16 11341, i16 11557, i16 12169, i16 12600, i16 12921, i16 13119, i16 13475, i16 15149, i16 15771, i16 16037, i16 16306, i16 16616, i16 16873, i16 17003, i16 17200, i16 17606, i16 17801, i16 18013, i16 18587, i16 18915, i16 19904, i16 20161, i16 20418, i16 20638, i16 21020, i16 21117, i16 21252, i16 21587, i16 22000, i16 22143, i16 22217, i16 22354, i16 22573, i16 23059, i16 23571, i16 23878, i16 24524, i16 24831, i16 25162, i16 25362, i16 25459, i16 25827, i16 26143, i16 26331, i16 26853, i16 27090, i16 27195, i16 27416, i16 27802, i16 27984, i16 207, i16 418, i16 759, i16 1027, i16 1429, i16 1612, i16 1770, i16 2189, i16 2571, i16 3003, i16 3203, i16 3589, i16 4220, i16 3988, i16 4592, i16 4782, i16 5008, i16 5211, i16 5616, i16 5840, i16 5998, i16 6277, i16 6725, i16 7098, i16 7271, i16 7492, i16 7794, i16 8140, i16 8494, i16 8737, i16 8965, i16 9004, i16 9288, i16 9525, i16 9807, i16 9907, i16 10419, i16 10598, i16 10926, i16 11360, i16 11565, i16 12179, i16 12619, i16 13262, i16 13481, i16 15158, i16 15796, i16 16047, i16 16316, i16 16623, i16 16883, i16 17014, i16 17210, i16 17623, i16 18021, i16 18615, i16 18726, i16 18924, i16 19056, i16 19428, i16 19677, i16 19782, i16 19913, i16 20006, i16 20171, i16 20425, i16 20645, i16 21033, i16 21124, i16 21265, i16 21600, i16 22007, i16 22226, i16 22363, i16 22590, i16 23081, i16 23590, i16 23888, i16 24552, i16 24932, i16 25173, i16 25368, i16 25466, i16 25836, i16 26160, i16 26342, i16 26876, i16 27098, i16 27994, i16 216, i16 427, i16 775, i16 1034, i16 1442, i16 0, i16 4248, i16 4347, i16 4598, i16 8153, i16 11382, i16 12930, i16 13532, i16 16326, i16 18637, i16 22015, i16 23107, i16 23615, i16 24945, i16 25375, i16 25474, i16 28004, i16 219, i16 430, i16 785, i16 1036, i16 1445, i16 0, i16 4261, i16 4375, i16 4598, i16 8160, i16 11410, i16 12933, i16 13539, i16 16333, i16 18649, i16 22018, i16 23120, i16 23643, i16 24965, i16 25378, i16 25479, i16 26353, i16 28011, i16 222, i16 433, i16 798, i16 1038, i16 1465, i16 1827, i16 2196, i16 2579, i16 3212, i16 4277, i16 4600, i16 5220, i16 5410, i16 5624, i16 6746, i16 6764, i16 6779, i16 6847, i16 6890, i16 7107, i16 7802, i16 8167, i16 8503, i16 10604, i16 11777, i16 12936, i16 13546, i16 15168, i16 15824, i16 16340, i16 16892, i16 17220, i16 17631, i16 18030, i16 18934, i16 19263, i16 19321, i16 21612, i16 22021, i16 22372, i16 22659, i16 23896, i16 24985, i16 26356, i16 26502, i16 26896, i16 27106, i16 28018, i16 28088, i16 28166, i16 28269, i16 243, i16 451, i16 832, i16 1063, i16 1492, i16 1853, i16 2212, i16 3226, i16 4304, i16 5653, i16 5849, i16 6007, i16 6807, i16 6876, i16 6917, i16 6929, i16 7817, i16 8199, i16 8746, i16 9014, i16 12955, i16 13578, i16 16057, i16 16351, i16 16910, i16 17257, i16 18966, i16 19167, i16 19285, i16 22045, i16 22235, i16 23919, i16 28116, i16 28312, i16 252, i16 460, i16 841, i16 1073, i16 1504, i16 1867, i16 3235, i16 6821, i16 11806, i16 13594, i16 16369, i16 19295, i16 22054, i16 26920, i16 28053, i16 28135, i16 28201, i16 261, i16 0, i16 1086, i16 1517, i16 1867, i16 3244, i16 4623, i16 5246, i16 6833, i16 8208, i16 10628, i16 11806, i16 13610, i16 16387, i16 22067, i16 26383, i16 28069, i16 28154, i16 28334, i16 0, i16 13628, i16 23929, i16 24574, i16 0, i16 0, i16 14004, i16 23961, i16 0, i16 14018, i16 0, i16 14901, i16 23971, i16 24610, i16 0, i16 24007, i16 24660], [372 x i8] c"\00\00\00\00\01\01\00\00\02\02\00\00\03\03\00\00\04\04\00\00\05\05\01\01\06\06\02\02\07\07\01\01\08\08\00\00\09\09\00\00\0A\0A\00\03\0A\0A\03\03\0B\0B\00\00\0C\0C\00\00\0D\0D\00\00\0E\0E\00\00\0F\0F\04\04\10\10\05\05\11\01\00\00\12\11\00\00\13\01\00\00\14\02\06\06\15\01\07\07\16\12\00\00\17\02\00\00\18\13\00\00\19\14\00\00\1A\01\00\00\1B\02\00\00\1C\15\00\00\00\00\08\08\1D\02\00\00\1E\02\00\00\1D\16\00\00\1F\17\00\00 \18\00\00!\19\00\00\1D\1A\00\00\22\1B\00\00#\02\00\00$\02\00\00%\02\00\00&\1C\00\00'\1D\00\00(\02\00\00)\02\00\00*\1E\09\09\1A\1F\00\00+\02\00\00, \0A\0A-!\00\00.\22\00\00/\1A\00\000#\00\001\01\00\002\1A\00\003$\0B\0B4$\0C\0C5%\0D\0D6&\0E\0E7'\00\00\00(\0F\0F8\01\00\002\02\00\009\02\00\00:\02\00\00;)\00\00<*\00\00=+\00\00>,\00\00\1D-\00\00?\01\10\10@\01\11\10A\1A\00\00B.\00\00C/\00\00D0\12\11E1\13\12;)\14\13\0C\0C\0E\14F2\15\15G3\16\16H4\17\17H4\17\18\0C\0C\18\19I+\00\00J,\00\00K5\19\1AL6\1A\1BM\01\1B\1CN7\1C\1DO8\1D\1EP9\00\00", [4 x i16] [i16 0, i16 81, i16 139, i16 169], [200 x i16] [i16 1, i16 13, i16 27, i16 43, i16 57, i16 73, i16 97, i16 121, i16 114, i16 85, i16 145, i16 173, i16 193, i16 217, i16 247, i16 281, i16 317, i16 369, i16 378, i16 396, i16 405, i16 422, i16 439, i16 459, i16 469, i16 489, i16 513, i16 520, i16 530, i16 561, i16 571, i16 591, i16 613, i16 635, i16 665, i16 687, i16 697, i16 711, i16 721, i16 739, i16 759, i16 769, i16 779, i16 815, i16 829, i16 908, i16 932, i16 960, i16 972, i16 996, i16 1003, i16 1013, i16 1048, i16 1078, i16 1106, i16 1142, i16 1180, i16 1189, i16 1199, i16 1209, i16 1229, i16 1249, i16 1267, i16 1297, i16 1316, i16 1334, i16 1344, i16 1362, i16 1380, i16 1438, i16 1492, i16 1517, i16 1564, i16 1610, i16 1619, i16 1630, i16 1670, i16 1698, i16 1720, i16 1747, i16 1783, i16 7, i16 20, i16 35, i16 50, i16 65, i16 79, i16 106, i16 134, i16 118, i16 92, i16 153, i16 183, i16 205, i16 233, i16 265, i16 294, i16 336, i16 388, i16 450, i16 479, i16 501, i16 545, i16 581, i16 603, i16 623, i16 647, i16 657, i16 678, i16 730, i16 749, i16 790, i16 806, i16 857, i16 921, i16 947, i16 981, i16 1028, i16 1090, i16 1120, i16 1154, i16 1165, i16 1219, i16 1239, i16 1258, i16 1278, i16 1289, i16 1354, i16 1371, i16 1393, i16 1445, i16 1499, i16 1526, i16 1572, i16 1642, i16 1680, i16 1729, i16 1757, i16 1792, i16 0, i16 85, i16 114, i16 167, i16 305, i16 346, i16 415, i16 433, i16 554, i16 799, i16 891, i16 1039, i16 1067, i16 1100, i16 1132, i16 1171, i16 1308, i16 1329, i16 1412, i16 1452, i16 1478, i16 1506, i16 1535, i16 1580, i16 1598, i16 1652, i16 1690, i16 1711, i16 1739, i16 1769, i16 0, i16 92, i16 118, i16 163, i16 312, i16 362, i16 419, i16 436, i16 558, i16 803, i16 898, i16 1042, i16 1071, i16 1103, i16 1137, i16 1174, i16 1312, i16 1422, i16 1465, i16 1481, i16 1485, i16 1510, i16 1545, i16 1585, i16 1591, i16 1605, i16 1661, i16 1693, i16 1715, i16 1743, i16 1776], [91141 x i16] [i16 7, i16 145, i16 4, i16 5352, i16 1159, i16 2868, i16 9485, i16 12504, i16 4, i16 38, i16 5, i16 3, i16 256, i16 576, i16 22623, i16 1154, i16 1623, i16 0, i16 19968, i16 20901, i16 1708, i16 747, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4, i16 10, i16 5, i16 4, i16 128, i16 480, i16 2038, i16 1693, i16 1947, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1154, i16 1154, i16 1986, i16 2440, i16 0, i16 4, i16 2, i16 5, i16 4, i16 128, i16 480, i16 1886, i16 1885, i16 1886, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2847, i16 2847, i16 2178, i16 5976, i16 0, i16 2, i16 0, i16 5, i16 6, i16 32, i16 64, i16 213, i16 212, i16 213, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4732, i16 4732, i16 0, i16 9496, i16 0, i16 4, i16 5, i16 5, i16 5, i16 64, i16 96, i16 409, i16 408, i16 409, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4944, i16 4944, i16 2193, i16 9976, i16 0, i16 1, i16 0, i16 4, i16 5, i16 128, i16 816, i16 13169, i16 13168, i16 13169, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5352, i16 5352, i16 0, i16 10360, i16 0, i16 1, i16 0, i16 5, i16 2, i16 512, i16 6176, i16 17172, i16 5999, i16 17172, i16 0, i16 -21504, i16 11171, i16 1111, i16 3125, i16 5352, i16 5352, i16 0, i16 -32216, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 5, i16 114, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 55, i16 246, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 92, i16 0, i16 0, i16 1155, i16 274, i16 372, i16 0, i16 1155, i16 300, i16 0, i16 0, i16 1155, i16 300, i16 0, i16 0, i16 1155, i16 331, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 390, i16 0, i16 0, i16 1155, i16 448, i16 498, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 547, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 730, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 798, i16 648, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 875, i16 786, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 916, i16 0, i16 0, i16 1155, i16 1075, i16 924, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 1433, i16 1502, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 1721, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 1780, i16 1634, i16 0, i16 1155, i16 1915, i16 498, i16 0, i16 1155, i16 2012, i16 1844, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 2049, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 2235, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 300, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 1, i16 680, i16 2383, i16 1986, i16 1, i16 680, i16 2880, i16 1986, i16 1, i16 680, i16 3369, i16 1986, i16 1, i16 680, i16 3871, i16 1986, i16 1, i16 680, i16 4373, i16 2016, i16 1, i16 680, i16 4869, i16 1986, i16 1, i16 680, i16 5366, i16 1986, i16 1, i16 680, i16 5868, i16 2016, i16 1, i16 680, i16 6369, i16 1986, i16 1, i16 680, i16 6952, i16 2058, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7976, i16 1986, i16 1, i16 680, i16 5868, i16 2016, i16 1, i16 680, i16 2880, i16 1986, i16 1, i16 680, i16 8476, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 8967, i16 2124, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 8967, i16 2124, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7976, i16 1986, i16 1, i16 680, i16 5868, i16 2016, i16 1, i16 680, i16 7478, i16 1986, i16 2, i16 1338, i16 3, i16 2178, i16 2, i16 1338, i16 3, i16 2178, i16 3, i16 212, i16 3, i16 0, i16 4, i16 6, i16 3, i16 2193, i16 5, i16 13168, i16 3, i16 0, i16 6, i16 17171, i16 3, i16 0, i16 1, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 21, i16 22, i16 23, i16 24, i16 30, i16 40, i16 44, i16 45, i16 50, i16 51, i16 52, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 120, i16 125, i16 126, i16 135, i16 137, i16 144, i16 157, i16 159, i16 160, i16 162, i16 167, i16 170, i16 172, i16 175, i16 177, i16 182, i16 183, i16 186, i16 188, i16 193, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 236, i16 237, i16 240, i16 241, i16 242, i16 243, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 458, i16 459, i16 460, i16 461, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 640, i16 651, i16 652, i16 654, i16 655, i16 669, i16 683, i16 685, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 698, i16 708, i16 711, i16 719, i16 720, i16 722, i16 724, i16 725, i16 726, i16 727, i16 728, i16 731, i16 732, i16 733, i16 735, i16 742, i16 743, i16 744, i16 745, i16 746, i16 747, i16 748, i16 756, i16 757, i16 758, i16 759, i16 761, i16 764, i16 765, i16 766, i16 767, i16 768, i16 774, i16 775, i16 776, i16 779, i16 780, i16 783, i16 784, i16 785, i16 786, i16 793, i16 798, i16 805, i16 806, i16 808, i16 810, i16 811, i16 812, i16 816, i16 818, i16 819, i16 820, i16 821, i16 826, i16 827, i16 828, i16 830, i16 831, i16 832, i16 833, i16 840, i16 843, i16 844, i16 859, i16 860, i16 862, i16 863, i16 877, i16 891, i16 893, i16 895, i16 896, i16 897, i16 898, i16 899, i16 900, i16 901, i16 902, i16 903, i16 906, i16 916, i16 919, i16 927, i16 928, i16 930, i16 932, i16 933, i16 934, i16 935, i16 936, i16 939, i16 940, i16 942, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 955, i16 963, i16 964, i16 965, i16 967, i16 970, i16 971, i16 972, i16 973, i16 979, i16 980, i16 981, i16 984, i16 985, i16 988, i16 989, i16 990, i16 991, i16 998, i16 1002, i16 1009, i16 1010, i16 1012, i16 1014, i16 1015, i16 1016, i16 1020, i16 1022, i16 1023, i16 1024, i16 1025, i16 1030, i16 1031, i16 1032, i16 1034, i16 1035, i16 1036, i16 1037, i16 1044, i16 1047, i16 1108, i16 1109, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 1117, i16 1118, i16 1119, i16 1120, i16 1121, i16 1122, i16 1123, i16 1124, i16 1125, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1132, i16 1133, i16 1134, i16 1139, i16 1140, i16 1141, i16 1142, i16 1143, i16 1147, i16 1157, i16 1158, i16 1183, i16 1184, i16 1185, i16 1186, i16 1187, i16 1188, i16 1189, i16 1190, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1206, i16 1207, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1235, i16 1236, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1242, i16 1243, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 1251, i16 1252, i16 1253, i16 1254, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1263, i16 1264, i16 1265, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1318, i16 1319, i16 1348, i16 1349, i16 1350, i16 1351, i16 1356, i16 1357, i16 1358, i16 1359, i16 1368, i16 1369, i16 1371, i16 1372, i16 1373, i16 1374, i16 1377, i16 1378, i16 1379, i16 1380, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 1390, i16 1391, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1400, i16 1403, i16 1404, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1418, i16 1419, i16 1420, i16 1421, i16 1422, i16 1423, i16 1424, i16 1425, i16 1426, i16 1427, i16 1428, i16 1429, i16 1430, i16 1431, i16 1432, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1440, i16 1441, i16 1442, i16 1443, i16 1444, i16 1445, i16 1446, i16 1447, i16 1448, i16 1449, i16 1450, i16 1451, i16 1452, i16 1453, i16 1454, i16 1455, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1481, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1507, i16 1513, i16 1520, i16 1521, i16 1523, i16 1529, i16 1530, i16 1531, i16 1533, i16 1536, i16 1537, i16 1540, i16 1542, i16 1543, i16 1544, i16 1545, i16 1548, i16 1551, i16 1552, i16 1554, i16 1555, i16 1558, i16 1559, i16 1560, i16 1562, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1571, i16 1578, i16 1584, i16 1585, i16 1587, i16 1593, i16 1596, i16 1598, i16 1601, i16 1602, i16 1605, i16 1607, i16 1608, i16 1609, i16 1610, i16 1613, i16 1616, i16 1617, i16 1619, i16 1620, i16 1623, i16 1624, i16 1625, i16 1627, i16 1629, i16 1630, i16 2, i16 25, i16 26, i16 27, i16 28, i16 29, i16 41, i16 48, i16 49, i16 132, i16 141, i16 151, i16 153, i16 155, i16 169, i16 185, i16 199, i16 200, i16 235, i16 299, i16 300, i16 301, i16 302, i16 304, i16 305, i16 307, i16 308, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 317, i16 318, i16 319, i16 320, i16 321, i16 323, i16 324, i16 325, i16 326, i16 328, i16 329, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 339, i16 341, i16 342, i16 344, i16 345, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 641, i16 642, i16 643, i16 644, i16 648, i16 649, i16 650, i16 653, i16 662, i16 663, i16 664, i16 665, i16 666, i16 682, i16 684, i16 705, i16 706, i16 707, i16 714, i16 715, i16 716, i16 721, i16 723, i16 730, i16 755, i16 760, i16 771, i16 772, i16 773, i16 794, i16 795, i16 796, i16 797, i16 807, i16 814, i16 815, i16 817, i16 823, i16 841, i16 842, i16 849, i16 850, i16 851, i16 852, i16 856, i16 857, i16 858, i16 861, i16 870, i16 871, i16 872, i16 873, i16 874, i16 890, i16 892, i16 913, i16 914, i16 915, i16 922, i16 923, i16 924, i16 929, i16 931, i16 938, i16 962, i16 966, i16 976, i16 977, i16 978, i16 999, i16 1000, i16 1001, i16 1011, i16 1018, i16 1019, i16 1021, i16 1027, i16 1045, i16 1046, i16 1048, i16 1084, i16 1085, i16 1086, i16 1087, i16 1088, i16 1089, i16 1090, i16 1091, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1099, i16 1100, i16 1101, i16 1102, i16 1103, i16 1104, i16 1105, i16 1106, i16 1107, i16 1110, i16 1137, i16 1138, i16 1144, i16 1145, i16 1146, i16 1154, i16 1155, i16 1156, i16 1159, i16 1175, i16 1176, i16 1177, i16 1178, i16 1179, i16 1180, i16 1181, i16 1182, i16 1191, i16 1192, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1310, i16 1311, i16 1312, i16 1313, i16 1314, i16 1315, i16 1316, i16 1317, i16 1346, i16 1347, i16 1352, i16 1353, i16 1354, i16 1355, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 1367, i16 1511, i16 1517, i16 1518, i16 1519, i16 1522, i16 1527, i16 1528, i16 1535, i16 1539, i16 1546, i16 1547, i16 1550, i16 1557, i16 1561, i16 1563, i16 1575, i16 1577, i16 1582, i16 1583, i16 1586, i16 1591, i16 1592, i16 1595, i16 1600, i16 1604, i16 1611, i16 1612, i16 1615, i16 1622, i16 1626, i16 1628, i16 4, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 322, i16 323, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 446, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 460, i16 464, i16 468, i16 472, i16 474, i16 475, i16 477, i16 478, i16 480, i16 482, i16 483, i16 485, i16 486, i16 488, i16 489, i16 490, i16 493, i16 494, i16 496, i16 497, i16 498, i16 501, i16 502, i16 504, i16 505, i16 506, i16 508, i16 509, i16 511, i16 512, i16 513, i16 514, i16 515, i16 516, i16 517, i16 518, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 714, i16 715, i16 716, i16 717, i16 718, i16 719, i16 720, i16 721, i16 722, i16 723, i16 724, i16 725, i16 726, i16 727, i16 728, i16 729, i16 730, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 737, i16 738, i16 739, i16 740, i16 741, i16 742, i16 743, i16 744, i16 745, i16 746, i16 747, i16 748, i16 749, i16 750, i16 751, i16 752, i16 755, i16 783, i16 784, i16 785, i16 788, i16 789, i16 790, i16 791, i16 792, i16 793, i16 794, i16 795, i16 796, i16 797, i16 798, i16 799, i16 800, i16 801, i16 802, i16 803, i16 804, i16 805, i16 806, i16 807, i16 808, i16 809, i16 810, i16 811, i16 812, i16 813, i16 814, i16 815, i16 816, i16 817, i16 818, i16 819, i16 824, i16 825, i16 828, i16 829, i16 830, i16 831, i16 832, i16 833, i16 834, i16 835, i16 840, i16 841, i16 842, i16 851, i16 852, i16 853, i16 854, i16 855, i16 856, i16 857, i16 858, i16 859, i16 860, i16 861, i16 864, i16 865, i16 868, i16 869, i16 870, i16 871, i16 874, i16 875, i16 876, i16 881, i16 882, i16 883, i16 884, i16 885, i16 886, i16 887, i16 888, i16 891, i16 892, i16 893, i16 894, i16 895, i16 896, i16 897, i16 904, i16 905, i16 908, i16 909, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 918, i16 919, i16 920, i16 921, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 929, i16 930, i16 931, i16 932, i16 933, i16 934, i16 935, i16 936, i16 937, i16 938, i16 939, i16 940, i16 941, i16 942, i16 943, i16 948, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 964, i16 965, i16 966, i16 967, i16 968, i16 969, i16 970, i16 971, i16 972, i16 977, i16 978, i16 979, i16 980, i16 981, i16 982, i16 983, i16 984, i16 987, i16 988, i16 989, i16 992, i16 993, i16 994, i16 995, i16 996, i16 997, i16 998, i16 999, i16 1000, i16 1001, i16 1002, i16 1003, i16 1004, i16 1005, i16 1006, i16 1007, i16 1008, i16 1012, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1023, i16 1024, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 1039, i16 1040, i16 1041, i16 1042, i16 1045, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 1058, i16 1059, i16 1060, i16 1061, i16 1062, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1072, i16 1073, i16 1074, i16 1078, i16 1079, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1103, i16 1104, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1112, i16 1113, i16 1116, i16 1117, i16 1120, i16 1121, i16 1122, i16 1123, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1138, i16 1139, i16 1140, i16 1143, i16 1144, i16 1145, i16 1146, i16 1147, i16 1148, i16 1149, i16 1150, i16 1151, i16 1152, i16 1153, i16 1154, i16 1155, i16 1156, i16 1157, i16 1158, i16 1159, i16 1160, i16 1161, i16 1162, i16 1163, i16 1164, i16 1169, i16 1170, i16 1173, i16 1174, i16 1175, i16 1176, i16 1177, i16 1178, i16 1183, i16 1184, i16 1185, i16 1186, i16 1189, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1244, i16 1245, i16 1246, i16 1249, i16 1250, i16 1251, i16 1252, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1265, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1281, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1298, i16 1299, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1314, i16 1315, i16 1318, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1328, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 1336, i16 1337, i16 1338, i16 1339, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 1360, i16 1369, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1404, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1427, i16 1428, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1481, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 1528, i16 1529, i16 1530, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 1539, i16 1540, i16 1541, i16 1542, i16 1543, i16 1544, i16 1545, i16 1546, i16 1547, i16 1548, i16 1549, i16 1550, i16 1551, i16 1552, i16 1553, i16 1554, i16 1555, i16 1556, i16 1557, i16 1558, i16 1559, i16 1560, i16 1561, i16 1562, i16 1563, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 1595, i16 1596, i16 1597, i16 1598, i16 1599, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1611, i16 1612, i16 1613, i16 1614, i16 1615, i16 1616, i16 1617, i16 1618, i16 1619, i16 1620, i16 1621, i16 1622, i16 1623, i16 1624, i16 1625, i16 1626, i16 1627, i16 1628, i16 1629, i16 1630, i16 1631, i16 1632, i16 1633, i16 1634, i16 1635, i16 1636, i16 1637, i16 1638, i16 1639, i16 1640, i16 1641, i16 1642, i16 1643, i16 1644, i16 1645, i16 1646, i16 1647, i16 1648, i16 1649, i16 1650, i16 1651, i16 1652, i16 1653, i16 1654, i16 1655, i16 1656, i16 1657, i16 1658, i16 1659, i16 1660, i16 1661, i16 1662, i16 1663, i16 1664, i16 1665, i16 1666, i16 1667, i16 1668, i16 1669, i16 1670, i16 1671, i16 1672, i16 1673, i16 1674, i16 1675, i16 1676, i16 1677, i16 1678, i16 1679, i16 1680, i16 1681, i16 1682, i16 1683, i16 1684, i16 1685, i16 1686, i16 1687, i16 1688, i16 1689, i16 1690, i16 1691, i16 1692, i16 1693, i16 1694, i16 1695, i16 1696, i16 1697, i16 1698, i16 1699, i16 1700, i16 1701, i16 1702, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 1717, i16 1718, i16 1719, i16 1720, i16 1721, i16 1722, i16 1723, i16 1724, i16 1725, i16 1726, i16 1727, i16 1728, i16 1729, i16 1730, i16 1731, i16 1732, i16 1733, i16 1734, i16 1735, i16 1736, i16 1737, i16 1738, i16 1739, i16 1740, i16 1741, i16 1742, i16 1743, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 1749, i16 1750, i16 1751, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 1758, i16 1759, i16 1760, i16 1761, i16 1762, i16 1763, i16 1764, i16 1765, i16 1766, i16 1767, i16 1768, i16 1769, i16 1770, i16 1771, i16 1772, i16 1773, i16 1774, i16 1775, i16 1776, i16 1777, i16 1778, i16 1779, i16 1780, i16 1781, i16 1782, i16 1783, i16 1784, i16 1785, i16 1786, i16 1787, i16 1788, i16 1789, i16 1790, i16 1791, i16 1792, i16 1793, i16 1794, i16 1795, i16 1796, i16 1797, i16 1798, i16 1799, i16 1800, i16 1801, i16 1802, i16 1803, i16 1804, i16 1805, i16 1806, i16 1807, i16 1808, i16 1809, i16 1810, i16 1811, i16 1812, i16 1813, i16 1814, i16 1815, i16 1816, i16 1817, i16 1818, i16 1819, i16 1820, i16 1821, i16 1822, i16 1823, i16 1824, i16 1825, i16 1826, i16 1827, i16 1828, i16 1829, i16 1830, i16 1831, i16 1832, i16 1833, i16 1834, i16 1835, i16 1836, i16 1837, i16 1838, i16 1839, i16 1840, i16 1841, i16 1842, i16 1843, i16 1844, i16 1845, i16 1846, i16 1847, i16 1848, i16 1849, i16 1850, i16 1851, i16 1852, i16 1853, i16 1854, i16 1855, i16 1856, i16 1857, i16 1858, i16 1859, i16 1860, i16 1861, i16 1862, i16 1863, i16 1864, i16 1865, i16 1866, i16 1867, i16 1868, i16 1869, i16 1870, i16 1871, i16 1872, i16 1873, i16 1874, i16 1875, i16 1876, i16 1877, i16 1878, i16 1879, i16 1880, i16 1881, i16 1882, i16 1883, i16 1884, i16 1885, i16 1886, i16 1887, i16 1888, i16 1889, i16 1890, i16 1891, i16 1892, i16 1893, i16 1894, i16 1895, i16 1896, i16 1897, i16 1898, i16 1899, i16 1900, i16 1901, i16 1902, i16 1903, i16 1904, i16 1905, i16 1906, i16 1907, i16 1908, i16 1909, i16 1910, i16 1911, i16 1912, i16 1913, i16 1914, i16 1915, i16 1916, i16 1917, i16 1918, i16 1919, i16 1920, i16 1921, i16 1922, i16 1923, i16 1924, i16 1925, i16 1926, i16 1927, i16 1928, i16 1929, i16 1930, i16 1931, i16 1932, i16 1933, i16 1934, i16 1935, i16 1936, i16 1937, i16 1938, i16 1939, i16 1940, i16 1941, i16 1942, i16 1943, i16 1944, i16 1945, i16 1946, i16 1947, i16 1948, i16 1949, i16 1950, i16 1951, i16 1952, i16 1953, i16 1954, i16 1955, i16 1956, i16 1957, i16 1958, i16 1959, i16 1960, i16 1961, i16 1962, i16 1963, i16 1964, i16 1965, i16 1966, i16 1967, i16 1968, i16 1969, i16 1970, i16 1971, i16 1972, i16 1973, i16 1974, i16 1975, i16 1976, i16 1977, i16 1978, i16 1979, i16 1980, i16 1981, i16 1982, i16 1983, i16 1984, i16 1985, i16 1986, i16 1987, i16 1988, i16 1989, i16 1990, i16 1991, i16 1992, i16 1993, i16 1994, i16 1995, i16 1996, i16 1997, i16 1998, i16 1999, i16 2000, i16 2001, i16 2002, i16 2003, i16 2004, i16 2005, i16 2006, i16 2007, i16 2008, i16 2009, i16 2010, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 458, i16 459, i16 460, i16 461, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 482, i16 483, i16 484, i16 485, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 494, i16 495, i16 496, i16 497, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 520, i16 521, i16 522, i16 523, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 714, i16 715, i16 716, i16 717, i16 718, i16 719, i16 720, i16 721, i16 722, i16 723, i16 724, i16 725, i16 726, i16 727, i16 728, i16 729, i16 730, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 737, i16 738, i16 739, i16 740, i16 741, i16 742, i16 743, i16 744, i16 745, i16 746, i16 747, i16 748, i16 749, i16 750, i16 751, i16 752, i16 753, i16 754, i16 755, i16 756, i16 757, i16 758, i16 759, i16 760, i16 761, i16 762, i16 763, i16 764, i16 765, i16 766, i16 767, i16 768, i16 769, i16 770, i16 771, i16 772, i16 773, i16 774, i16 775, i16 776, i16 777, i16 778, i16 779, i16 780, i16 781, i16 782, i16 783, i16 784, i16 785, i16 786, i16 787, i16 788, i16 789, i16 790, i16 791, i16 792, i16 793, i16 794, i16 795, i16 796, i16 797, i16 798, i16 799, i16 800, i16 801, i16 802, i16 803, i16 804, i16 805, i16 806, i16 807, i16 808, i16 809, i16 810, i16 811, i16 812, i16 813, i16 814, i16 815, i16 816, i16 817, i16 818, i16 819, i16 820, i16 821, i16 822, i16 823, i16 824, i16 825, i16 826, i16 827, i16 828, i16 829, i16 830, i16 831, i16 832, i16 833, i16 834, i16 835, i16 836, i16 837, i16 838, i16 839, i16 840, i16 841, i16 842, i16 843, i16 844, i16 845, i16 846, i16 847, i16 848, i16 849, i16 850, i16 851, i16 852, i16 853, i16 854, i16 855, i16 856, i16 857, i16 858, i16 859, i16 860, i16 861, i16 862, i16 863, i16 864, i16 865, i16 866, i16 867, i16 868, i16 869, i16 870, i16 871, i16 872, i16 873, i16 874, i16 875, i16 876, i16 877, i16 878, i16 879, i16 880, i16 881, i16 882, i16 883, i16 884, i16 885, i16 886, i16 887, i16 888, i16 889, i16 890, i16 891, i16 892, i16 893, i16 894, i16 895, i16 896, i16 897, i16 898, i16 899, i16 900, i16 901, i16 902, i16 903, i16 904, i16 905, i16 906, i16 907, i16 908, i16 909, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 918, i16 919, i16 920, i16 921, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 929, i16 930, i16 931, i16 932, i16 933, i16 934, i16 935, i16 936, i16 937, i16 938, i16 939, i16 940, i16 941, i16 942, i16 943, i16 944, i16 945, i16 946, i16 947, i16 948, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 964, i16 965, i16 966, i16 967, i16 968, i16 969, i16 970, i16 971, i16 972, i16 973, i16 974, i16 975, i16 976, i16 977, i16 978, i16 979, i16 980, i16 981, i16 982, i16 983, i16 984, i16 985, i16 986, i16 987, i16 988, i16 989, i16 990, i16 991, i16 992, i16 993, i16 994, i16 995, i16 996, i16 997, i16 998, i16 999, i16 1000, i16 1001, i16 1002, i16 1003, i16 1004, i16 1005, i16 1006, i16 1007, i16 1008, i16 1009, i16 1010, i16 1011, i16 1012, i16 1013, i16 1014, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1023, i16 1024, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 1037, i16 1038, i16 1039, i16 1040, i16 1041, i16 1042, i16 1043, i16 1044, i16 1045, i16 1046, i16 1047, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 1058, i16 1059, i16 1060, i16 1061, i16 1062, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1070, i16 1071, i16 1072, i16 1073, i16 1074, i16 1075, i16 1076, i16 1077, i16 1078, i16 1079, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1088, i16 1089, i16 1090, i16 1091, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1099, i16 1100, i16 1101, i16 1102, i16 1103, i16 1104, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 1117, i16 1118, i16 1119, i16 1120, i16 1121, i16 1122, i16 1123, i16 1124, i16 1125, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1132, i16 1133, i16 1134, i16 1135, i16 1136, i16 1137, i16 1138, i16 1139, i16 1140, i16 1141, i16 1142, i16 1143, i16 1144, i16 1145, i16 1146, i16 1147, i16 1148, i16 1149, i16 1150, i16 1151, i16 1152, i16 1153, i16 1154, i16 1155, i16 1156, i16 1157, i16 1158, i16 1159, i16 1160, i16 1161, i16 1162, i16 1163, i16 1164, i16 1165, i16 1166, i16 1167, i16 1168, i16 1169, i16 1170, i16 1171, i16 1172, i16 1173, i16 1174, i16 1175, i16 1176, i16 1177, i16 1178, i16 1179, i16 1180, i16 1181, i16 1182, i16 1183, i16 1184, i16 1185, i16 1186, i16 1187, i16 1188, i16 1189, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1206, i16 1207, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1235, i16 1236, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1242, i16 1243, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 1251, i16 1252, i16 1253, i16 1254, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1263, i16 1264, i16 1265, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1281, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1314, i16 1315, i16 1316, i16 1317, i16 1318, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 1367, i16 1368, i16 1369, i16 1370, i16 1371, i16 1372, i16 1373, i16 1374, i16 1375, i16 1376, i16 1377, i16 1378, i16 1379, i16 1380, i16 1381, i16 1382, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 1390, i16 1391, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1400, i16 1401, i16 1402, i16 1403, i16 1404, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1418, i16 1419, i16 1420, i16 1421, i16 1422, i16 1423, i16 1424, i16 1425, i16 1426, i16 1427, i16 1428, i16 1429, i16 1430, i16 1431, i16 1432, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1440, i16 1441, i16 1442, i16 1443, i16 1444, i16 1445, i16 1446, i16 1447, i16 1448, i16 1449, i16 1450, i16 1451, i16 1452, i16 1453, i16 1454, i16 1455, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1481, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 1528, i16 1529, i16 1530, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 1539, i16 1540, i16 1541, i16 1542, i16 1543, i16 1544, i16 1545, i16 1546, i16 1547, i16 1548, i16 1549, i16 1550, i16 1551, i16 1552, i16 1553, i16 1554, i16 1555, i16 1556, i16 1557, i16 1558, i16 1559, i16 1560, i16 1561, i16 1562, i16 1563, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 1595, i16 1596, i16 1597, i16 1598, i16 1599, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1611, i16 1612, i16 1613, i16 1614, i16 1615, i16 1616, i16 1617, i16 1618, i16 1619, i16 1620, i16 1621, i16 1622, i16 1623, i16 1624, i16 1625, i16 1626, i16 1627, i16 1628, i16 1629, i16 1630, i16 1631, i16 1632, i16 1633, i16 1634, i16 1635, i16 1636, i16 1637, i16 1638, i16 1639, i16 1640, i16 1641, i16 1642, i16 1643, i16 1644, i16 1645, i16 1646, i16 1647, i16 1648, i16 1649, i16 1650, i16 1651, i16 1652, i16 1653, i16 1654, i16 1655, i16 1656, i16 1657, i16 1658, i16 1659, i16 1660, i16 1661, i16 1662, i16 1663, i16 1664, i16 1665, i16 1666, i16 1667, i16 1668, i16 1669, i16 1670, i16 1671, i16 1672, i16 1673, i16 1674, i16 1675, i16 1676, i16 1677, i16 1678, i16 1679, i16 1680, i16 1681, i16 1682, i16 1683, i16 1684, i16 1685, i16 1686, i16 1687, i16 1688, i16 1689, i16 1690, i16 1691, i16 1692, i16 1693, i16 1694, i16 1695, i16 1696, i16 1697, i16 1698, i16 1699, i16 1700, i16 1701, i16 1702, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 1717, i16 1718, i16 1719, i16 1720, i16 1721, i16 1722, i16 1723, i16 1724, i16 1725, i16 1726, i16 1727, i16 1728, i16 1729, i16 1730, i16 1731, i16 1732, i16 1733, i16 1734, i16 1735, i16 1736, i16 1737, i16 1738, i16 1739, i16 1740, i16 1741, i16 1742, i16 1743, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 1749, i16 1750, i16 1751, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 1758, i16 1759, i16 1760, i16 1761, i16 1762, i16 1763, i16 1764, i16 1765, i16 1766, i16 1767, i16 1768, i16 1769, i16 1770, i16 1771, i16 1772, i16 1773, i16 1774, i16 1775, i16 1776, i16 1777, i16 1778, i16 1779, i16 1780, i16 1781, i16 1782, i16 1783, i16 1784, i16 1785, i16 1786, i16 1787, i16 1788, i16 1789, i16 1790, i16 1791, i16 1792, i16 1793, i16 1794, i16 1795, i16 1796, i16 1797, i16 1798, i16 1799, i16 1800, i16 1801, i16 1802, i16 1803, i16 1804, i16 1805, i16 1806, i16 1807, i16 1808, i16 1809, i16 1810, i16 1811, i16 1812, i16 1813, i16 1814, i16 1815, i16 1816, i16 1817, i16 1818, i16 1819, i16 1820, i16 1821, i16 1822, i16 1823, i16 1824, i16 1825, i16 1826, i16 1827, i16 1828, i16 1829, i16 1830, i16 1831, i16 1832, i16 1833, i16 1834, i16 1835, i16 1836, i16 1837, i16 1838, i16 1839, i16 1840, i16 1841, i16 1842, i16 1843, i16 1844, i16 1845, i16 1846, i16 1847, i16 1848, i16 1849, i16 1850, i16 1851, i16 1852, i16 1853, i16 1854, i16 1855, i16 1856, i16 1857, i16 1858, i16 1859, i16 1860, i16 1861, i16 1862, i16 1863, i16 1864, i16 1865, i16 1866, i16 1867, i16 1868, i16 1869, i16 1870, i16 1871, i16 1872, i16 1873, i16 1874, i16 1875, i16 1876, i16 1877, i16 1878, i16 1879, i16 1880, i16 1881, i16 1882, i16 1883, i16 1884, i16 1885, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 2, i16 1, i16 3, i16 1, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 457, i16 458, i16 459, i16 460, i16 461, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 482, i16 483, i16 484, i16 485, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 494, i16 495, i16 496, i16 497, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 520, i16 521, i16 522, i16 523, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 714, i16 715, i16 716, i16 717, i16 718, i16 719, i16 720, i16 721, i16 722, i16 723, i16 724, i16 725, i16 726, i16 727, i16 728, i16 729, i16 730, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 737, i16 738, i16 739, i16 740, i16 741, i16 742, i16 743, i16 744, i16 745, i16 746, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1188, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1206, i16 1207, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1235, i16 1236, i16 1187, i16 1190, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1242, i16 1243, i16 1187, i16 1190, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 1251, i16 1252, i16 1187, i16 1190, i16 1253, i16 1254, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1263, i16 1264, i16 1265, i16 1187, i16 1190, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1281, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1187, i16 1190, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1187, i16 1314, i16 1315, i16 1316, i16 1317, i16 1318, i16 1190, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1329, i16 1330, i16 1331, i16 1187, i16 1190, i16 1332, i16 1333, i16 1334, i16 1335, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 1187, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 1367, i16 1368, i16 1369, i16 1370, i16 1371, i16 1372, i16 1373, i16 1187, i16 1374, i16 1375, i16 1190, i16 1376, i16 1377, i16 1378, i16 1187, i16 1190, i16 1379, i16 1380, i16 1381, i16 1382, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 1187, i16 1190, i16 1390, i16 1391, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1400, i16 1401, i16 1402, i16 1403, i16 1404, i16 1187, i16 1190, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1187, i16 1190, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1418, i16 1419, i16 1420, i16 1421, i16 1422, i16 1423, i16 1187, i16 1190, i16 1424, i16 1425, i16 1426, i16 1427, i16 1428, i16 1429, i16 1430, i16 1431, i16 1432, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1440, i16 1441, i16 1442, i16 1443, i16 1444, i16 1445, i16 1446, i16 1447, i16 1448, i16 1449, i16 1450, i16 1451, i16 1452, i16 1453, i16 1454, i16 1455, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1187, i16 1190, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1187, i16 1190, i16 1481, i16 1187, i16 1190, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1187, i16 1190, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1187, i16 1513, i16 1514, i16 1515, i16 1190, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 1528, i16 1529, i16 1530, i16 1187, i16 1190, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 1539, i16 1540, i16 1541, i16 1542, i16 1543, i16 1544, i16 1545, i16 1546, i16 1547, i16 1548, i16 1549, i16 1550, i16 1551, i16 1552, i16 1553, i16 1554, i16 1555, i16 1556, i16 1557, i16 1558, i16 1559, i16 1560, i16 1561, i16 1562, i16 1563, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1187, i16 1187, i16 1187, i16 1190, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1187, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 1595, i16 1596, i16 1597, i16 1598, i16 1599, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1187, i16 1611, i16 1612, i16 1613, i16 1614, i16 1611, i16 1615, i16 1611, i16 1616, i16 1611, i16 1617, i16 1611, i16 1618, i16 1619, i16 1620, i16 1611, i16 1621, i16 1611, i16 1622, i16 1623, i16 1624, i16 1611, i16 1625, i16 1611, i16 1626, i16 1627, i16 1628, i16 1629, i16 1630, i16 1631, i16 1611, i16 1632, i16 1611, i16 1633, i16 1611, i16 1634, i16 1611, i16 1635, i16 1611, i16 1636, i16 1611, i16 1637, i16 1638, i16 1639, i16 1611, i16 1640, i16 1611, i16 1641, i16 1611, i16 1642, i16 1643, i16 1611, i16 1644, i16 1611, i16 1645, i16 1646, i16 1647, i16 1648, i16 1649, i16 1650, i16 1611, i16 1651, i16 1611, i16 1652, i16 1611, i16 1653, i16 1611, i16 1654, i16 1655, i16 1656, i16 1657, i16 1658, i16 1657, i16 1659, i16 1657, i16 1660, i16 1657, i16 1661, i16 1657, i16 1662, i16 1657, i16 1663, i16 1657, i16 1664, i16 1657, i16 1665, i16 1657, i16 1666, i16 1657, i16 1667, i16 1657, i16 1668, i16 1657, i16 1669, i16 1657, i16 1670, i16 1657, i16 1671, i16 1657, i16 1672, i16 1657, i16 1673, i16 1657, i16 1674, i16 1657, i16 1675, i16 1657, i16 1676, i16 1657, i16 1677, i16 1657, i16 1678, i16 1657, i16 1679, i16 1657, i16 1680, i16 1657, i16 1681, i16 1657, i16 1682, i16 1657, i16 1683, i16 1657, i16 1684, i16 1657, i16 1685, i16 1657, i16 1686, i16 1657, i16 1687, i16 1657, i16 1688, i16 1657, i16 1689, i16 1657, i16 1690, i16 1657, i16 1691, i16 1657, i16 1692, i16 1657, i16 1693, i16 1657, i16 1694, i16 1657, i16 1695, i16 1657, i16 1696, i16 1657, i16 1697, i16 1657, i16 1698, i16 1699, i16 1700, i16 1657, i16 1701, i16 1699, i16 1702, i16 1657, i16 1703, i16 1657, i16 1704, i16 1657, i16 1705, i16 1657, i16 1706, i16 1657, i16 1707, i16 1657, i16 1708, i16 1657, i16 1709, i16 1657, i16 1710, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1189, i16 1189, i16 1189, i16 1189, i16 1712, i16 1712, i16 1713, i16 1714, i16 1714, i16 1714, i16 1714, i16 1714, i16 1714, i16 1712, i16 1712, i16 1715, i16 1715, i16 1715, i16 1712, i16 1716, i16 1716, i16 1716, i16 1716, i16 1712, i16 1712, i16 1712, i16 1717, i16 1717, i16 1717, i16 1717, i16 1717, i16 1717, i16 1717, i16 1712, i16 1718, i16 1718, i16 1718, i16 1718, i16 1712, i16 1719, i16 1719, i16 1719, i16 1719, i16 1712, i16 1720, i16 1720, i16 1720, i16 1720, i16 1712, i16 1721, i16 1721, i16 1721, i16 1721, i16 1712, i16 1722, i16 1722, i16 1712, i16 1723, i16 1723, i16 1712, i16 1724, i16 1724, i16 1712, i16 1725, i16 1725, i16 1712, i16 1726, i16 1726, i16 1726, i16 1726, i16 1712, i16 1727, i16 1727, i16 1727, i16 1727, i16 1712, i16 1728, i16 1728, i16 1728, i16 1728, i16 1712, i16 1729, i16 1729, i16 1729, i16 1729, i16 1712, i16 1730, i16 1730, i16 1730, i16 1730, i16 1712, i16 1731, i16 1731, i16 1731, i16 1731, i16 1712, i16 1732, i16 1732, i16 1732, i16 1732, i16 1712, i16 1733, i16 1733, i16 1733, i16 1733, i16 1712, i16 1734, i16 1734, i16 1734, i16 1734, i16 1712, i16 1735, i16 1735, i16 1735, i16 1735, i16 1712, i16 1736, i16 1736, i16 1736, i16 1736, i16 1712, i16 1737, i16 1737, i16 1737, i16 1737, i16 1712, i16 1738, i16 1738, i16 1738, i16 1738, i16 1712, i16 1739, i16 1739, i16 1739, i16 1739, i16 1712, i16 1740, i16 1740, i16 1740, i16 1740, i16 1712, i16 1741, i16 1741, i16 1712, i16 1742, i16 1742, i16 1712, i16 1743, i16 1743, i16 1743, i16 1743, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 1749, i16 1750, i16 1751, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 1758, i16 1759, i16 1760, i16 1761, i16 1762, i16 1712, i16 1763, i16 1763, i16 1763, i16 1712, i16 1764, i16 1764, i16 1764, i16 1712, i16 1765, i16 1765, i16 1765, i16 1765, i16 1712, i16 1766, i16 1766, i16 1766, i16 1712, i16 1767, i16 1767, i16 1767, i16 1712, i16 1768, i16 1768, i16 1768, i16 1768, i16 1712, i16 1769, i16 1769, i16 1769, i16 1712, i16 1770, i16 1770, i16 1770, i16 1712, i16 1771, i16 1771, i16 1771, i16 1771, i16 1712, i16 1772, i16 1772, i16 1772, i16 1712, i16 1773, i16 1773, i16 1773, i16 1712, i16 1774, i16 1774, i16 1774, i16 1712, i16 1775, i16 1775, i16 1775, i16 1712, i16 1776, i16 1776, i16 1776, i16 1712, i16 1777, i16 1777, i16 1777, i16 1712, i16 1778, i16 1778, i16 1778, i16 1712, i16 1779, i16 1779, i16 1779, i16 1712, i16 1780, i16 1780, i16 1780, i16 1780, i16 1780, i16 1712, i16 1781, i16 1781, i16 1781, i16 1712, i16 1782, i16 1782, i16 1782, i16 1712, i16 1783, i16 1712, i16 1784, i16 1712, i16 1785, i16 1712, i16 1786, i16 1712, i16 1787, i16 1712, i16 1788, i16 1788, i16 1788, i16 1788, i16 1788, i16 1712, i16 1789, i16 1789, i16 1789, i16 1789, i16 1789, i16 1712, i16 1790, i16 1790, i16 1790, i16 1790, i16 1790, i16 1712, i16 1791, i16 1791, i16 1791, i16 1791, i16 1791, i16 1712, i16 1792, i16 1792, i16 1792, i16 1792, i16 1792, i16 1712, i16 1793, i16 1712, i16 1794, i16 1712, i16 1795, i16 1712, i16 1796, i16 1712, i16 1797, i16 1712, i16 1798, i16 1798, i16 1798, i16 1712, i16 1799, i16 1799, i16 1799, i16 1712, i16 1800, i16 1800, i16 1800, i16 1712, i16 1801, i16 1712, i16 1802, i16 1712, i16 1803, i16 1712, i16 1804, i16 1712, i16 1805, i16 1712, i16 1806, i16 1806, i16 1806, i16 1712, i16 1807, i16 1712, i16 1808, i16 1712, i16 1809, i16 1712, i16 1810, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2093, i16 2094, i16 2095, i16 2096, i16 2097, i16 2098, i16 2099, i16 2100, i16 2101, i16 2102, i16 2103, i16 2104, i16 2105, i16 2106, i16 2107, i16 2108, i16 2109, i16 2110, i16 2111, i16 2112, i16 2113, i16 2114, i16 2115, i16 2116, i16 2117, i16 2118, i16 2119, i16 2120, i16 2121, i16 2122, i16 2123, i16 2124, i16 2125, i16 2126, i16 2127, i16 2128, i16 2129, i16 2130, i16 2131, i16 2132, i16 2133, i16 2134, i16 2135, i16 2136, i16 2137, i16 2138, i16 2139, i16 2140, i16 2141, i16 2142, i16 2143, i16 2144, i16 2145, i16 2146, i16 2147, i16 2148, i16 2149, i16 2150, i16 2151, i16 2091, i16 2152, i16 2153, i16 2154, i16 2155, i16 2156, i16 2157, i16 2093, i16 2158, i16 2159, i16 2160, i16 2161, i16 2162, i16 2163, i16 2164, i16 2091, i16 2093, i16 2165, i16 2166, i16 2167, i16 2168, i16 2169, i16 2170, i16 2171, i16 2172, i16 2173, i16 2174, i16 2175, i16 2176, i16 2177, i16 2178, i16 2179, i16 2091, i16 2093, i16 2180, i16 2181, i16 2182, i16 2183, i16 2184, i16 2185, i16 2186, i16 2187, i16 2188, i16 2189, i16 2190, i16 2191, i16 2192, i16 2193, i16 2194, i16 2091, i16 2093, i16 2195, i16 2196, i16 2197, i16 2198, i16 2199, i16 2200, i16 2201, i16 2202, i16 2203, i16 2204, i16 2205, i16 2206, i16 2207, i16 2208, i16 2209, i16 2210, i16 2211, i16 2212, i16 2213, i16 2214, i16 2215, i16 2216, i16 2217, i16 2218, i16 2219, i16 2220, i16 2221, i16 2222, i16 2223, i16 2224, i16 2225, i16 2226, i16 2227, i16 2228, i16 2229, i16 2230, i16 2231, i16 2232, i16 2233, i16 2234, i16 2235, i16 2236, i16 2237, i16 2238, i16 2239, i16 2240, i16 2241, i16 2242, i16 2243, i16 2091, i16 2093, i16 2244, i16 2245, i16 2246, i16 2247, i16 2248, i16 2091, i16 2249, i16 2250, i16 2251, i16 2252, i16 2253, i16 2093, i16 2254, i16 2255, i16 2256, i16 2257, i16 2258, i16 2259, i16 2260, i16 2261, i16 2262, i16 2263, i16 2264, i16 2265, i16 2266, i16 2267, i16 2268, i16 2269, i16 2270, i16 2091, i16 2093, i16 2271, i16 2272, i16 2273, i16 2274, i16 2275, i16 2276, i16 2277, i16 2278, i16 2279, i16 2280, i16 2281, i16 2282, i16 2283, i16 2284, i16 2285, i16 2091, i16 2093, i16 2286, i16 2287, i16 2093, i16 2288, i16 2289, i16 2290, i16 2291, i16 2292, i16 2293, i16 2294, i16 2295, i16 2296, i16 2297, i16 2298, i16 2299, i16 2300, i16 2301, i16 2302, i16 2303, i16 2304, i16 2305, i16 2306, i16 2307, i16 2308, i16 2309, i16 2310, i16 2311, i16 2312, i16 2313, i16 2314, i16 2315, i16 2316, i16 2317, i16 2318, i16 2319, i16 2320, i16 2091, i16 2321, i16 2322, i16 2093, i16 2323, i16 2324, i16 2325, i16 2091, i16 2093, i16 2326, i16 2327, i16 2328, i16 2329, i16 2330, i16 2331, i16 2332, i16 2333, i16 2334, i16 2335, i16 2336, i16 2337, i16 2338, i16 2091, i16 2339, i16 2093, i16 2340, i16 2341, i16 2342, i16 2343, i16 2344, i16 2345, i16 2346, i16 2347, i16 2348, i16 2349, i16 2350, i16 2351, i16 2352, i16 2353, i16 2354, i16 2355, i16 2356, i16 2357, i16 2358, i16 2091, i16 2093, i16 2359, i16 2360, i16 2361, i16 2362, i16 2363, i16 2364, i16 2365, i16 2091, i16 2093, i16 2366, i16 2367, i16 2368, i16 2369, i16 2370, i16 2371, i16 2372, i16 2373, i16 2374, i16 2375, i16 2376, i16 2377, i16 2378, i16 2379, i16 2380, i16 2381, i16 2382, i16 2383, i16 2091, i16 2384, i16 2385, i16 2093, i16 2386, i16 2387, i16 2388, i16 2389, i16 2390, i16 2391, i16 2392, i16 2393, i16 2394, i16 2395, i16 2396, i16 2397, i16 2398, i16 2399, i16 2400, i16 2401, i16 2402, i16 2403, i16 2404, i16 2405, i16 2406, i16 2407, i16 2408, i16 2409, i16 2410, i16 2411, i16 2412, i16 2413, i16 2414, i16 2415, i16 2416, i16 2417, i16 2418, i16 2419, i16 2420, i16 2421, i16 2422, i16 2423, i16 2424, i16 2425, i16 2426, i16 2427, i16 2428, i16 2429, i16 2430, i16 2431, i16 2432, i16 2433, i16 2434, i16 2435, i16 2436, i16 2437, i16 2438, i16 2439, i16 2440, i16 2441, i16 2442, i16 2443, i16 2444, i16 2445, i16 2446, i16 2447, i16 2448, i16 2449, i16 2450, i16 2451, i16 2091, i16 2452, i16 2453, i16 2093, i16 2454, i16 2455, i16 2456, i16 2457, i16 2458, i16 2091, i16 2093, i16 2459, i16 2091, i16 2093, i16 2460, i16 2461, i16 2462, i16 2463, i16 2464, i16 2465, i16 2466, i16 2467, i16 2468, i16 2469, i16 2470, i16 2471, i16 2472, i16 2473, i16 2474, i16 2475, i16 2476, i16 2178, i16 2477, i16 2091, i16 2093, i16 2478, i16 2479, i16 2480, i16 2481, i16 2482, i16 2483, i16 2484, i16 2485, i16 2486, i16 2487, i16 2488, i16 2489, i16 2490, i16 2491, i16 2492, i16 2493, i16 2178, i16 2494, i16 2495, i16 2496, i16 2091, i16 2497, i16 2498, i16 2499, i16 2093, i16 2500, i16 2501, i16 2502, i16 2503, i16 2504, i16 2505, i16 2506, i16 2507, i16 2508, i16 2509, i16 2510, i16 2511, i16 2512, i16 2513, i16 2514, i16 2091, i16 2515, i16 2516, i16 2093, i16 2517, i16 2518, i16 2519, i16 2520, i16 2521, i16 2522, i16 2523, i16 2524, i16 2525, i16 2526, i16 2527, i16 2528, i16 2529, i16 2530, i16 2531, i16 2532, i16 2533, i16 2534, i16 2535, i16 2536, i16 2537, i16 2538, i16 2539, i16 2540, i16 2541, i16 2542, i16 2543, i16 2544, i16 2545, i16 2546, i16 2547, i16 2548, i16 2549, i16 2550, i16 2551, i16 2552, i16 2553, i16 2554, i16 2555, i16 2556, i16 2557, i16 2558, i16 2559, i16 2560, i16 2561, i16 2562, i16 2563, i16 2564, i16 2565, i16 2566, i16 2567, i16 2568, i16 2569, i16 2570, i16 2571, i16 2572, i16 2573, i16 2574, i16 2575, i16 2576, i16 2577, i16 2091, i16 2093, i16 2578, i16 2579, i16 2580, i16 2581, i16 2582, i16 2091, i16 2093, i16 2583, i16 2584, i16 2585, i16 2586, i16 2587, i16 2588, i16 2589, i16 2590, i16 2591, i16 2592, i16 2593, i16 2594, i16 2595, i16 2091, i16 2093, i16 2596, i16 2597, i16 2598, i16 2599, i16 2600, i16 2091, i16 2093, i16 2601, i16 2602, i16 2603, i16 2604, i16 2605, i16 2606, i16 2607, i16 2608, i16 2609, i16 2610, i16 2611, i16 2612, i16 2613, i16 2614, i16 2615, i16 2616, i16 2617, i16 2091, i16 2093, i16 2618, i16 2619, i16 2620, i16 2621, i16 2622, i16 2623, i16 2624, i16 2625, i16 2626, i16 2627, i16 2628, i16 2629, i16 2630, i16 2091, i16 2178, i16 2631, i16 2632, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2634, i16 2635, i16 2636, i16 2637, i16 2638, i16 2639, i16 2640, i16 2641, i16 2642, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2643, i16 2092, i16 2644, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2645, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2646, i16 2647, i16 2648, i16 2649, i16 2650, i16 2647, i16 2651, i16 2647, i16 2652, i16 2647, i16 2653, i16 2647, i16 2654, i16 2655, i16 2656, i16 2647, i16 2657, i16 2647, i16 2658, i16 2659, i16 2660, i16 2647, i16 2661, i16 2647, i16 2662, i16 2663, i16 2664, i16 2665, i16 2666, i16 2667, i16 2647, i16 2668, i16 2647, i16 2669, i16 2647, i16 2670, i16 2647, i16 2671, i16 2647, i16 2672, i16 2647, i16 2673, i16 2674, i16 2675, i16 2647, i16 2676, i16 2647, i16 2677, i16 2647, i16 2678, i16 2679, i16 2647, i16 2680, i16 2647, i16 2681, i16 2682, i16 2683, i16 2684, i16 2685, i16 2686, i16 2647, i16 2687, i16 2647, i16 2688, i16 2647, i16 2689, i16 2647, i16 2690, i16 2691, i16 2692, i16 2693, i16 2694, i16 2693, i16 2695, i16 2693, i16 2696, i16 2693, i16 2697, i16 2693, i16 2698, i16 2693, i16 2699, i16 2693, i16 2700, i16 2693, i16 2701, i16 2693, i16 2702, i16 2693, i16 2703, i16 2693, i16 2704, i16 2693, i16 2705, i16 2693, i16 2706, i16 2693, i16 2707, i16 2693, i16 2708, i16 2693, i16 2709, i16 2693, i16 2710, i16 2693, i16 2711, i16 2693, i16 2712, i16 2693, i16 2713, i16 2693, i16 2714, i16 2693, i16 2715, i16 2693, i16 2716, i16 2693, i16 2717, i16 2693, i16 2718, i16 2693, i16 2719, i16 2693, i16 2720, i16 2693, i16 2721, i16 2693, i16 2722, i16 2693, i16 2723, i16 2693, i16 2724, i16 2693, i16 2725, i16 2693, i16 2726, i16 2693, i16 2727, i16 2693, i16 2728, i16 2693, i16 2729, i16 2693, i16 2730, i16 2693, i16 2731, i16 2693, i16 2732, i16 2693, i16 2733, i16 2693, i16 2734, i16 2735, i16 2736, i16 2693, i16 2737, i16 2735, i16 2738, i16 2693, i16 2739, i16 2693, i16 2740, i16 2693, i16 2741, i16 2693, i16 2742, i16 2693, i16 2743, i16 2693, i16 2744, i16 2693, i16 2745, i16 2693, i16 2746, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2092, i16 2092, i16 2092, i16 2092, i16 2632, i16 2632, i16 2748, i16 2749, i16 2749, i16 2749, i16 2749, i16 2749, i16 2749, i16 2632, i16 2632, i16 2750, i16 2750, i16 2750, i16 2632, i16 2751, i16 2751, i16 2751, i16 2751, i16 2632, i16 2632, i16 2632, i16 2752, i16 2752, i16 2752, i16 2752, i16 2752, i16 2752, i16 2752, i16 2632, i16 2753, i16 2753, i16 2753, i16 2753, i16 2632, i16 2754, i16 2754, i16 2754, i16 2754, i16 2632, i16 2755, i16 2755, i16 2755, i16 2755, i16 2632, i16 2756, i16 2756, i16 2756, i16 2756, i16 2632, i16 2757, i16 2757, i16 2632, i16 2758, i16 2758, i16 2632, i16 2759, i16 2759, i16 2632, i16 2760, i16 2760, i16 2632, i16 2761, i16 2761, i16 2761, i16 2761, i16 2632, i16 2762, i16 2762, i16 2762, i16 2762, i16 2632, i16 2763, i16 2763, i16 2763, i16 2763, i16 2632, i16 2764, i16 2764, i16 2764, i16 2764, i16 2632, i16 2765, i16 2765, i16 2765, i16 2765, i16 2632, i16 2766, i16 2766, i16 2766, i16 2766, i16 2632, i16 2767, i16 2767, i16 2767, i16 2767, i16 2632, i16 2768, i16 2768, i16 2768, i16 2768, i16 2632, i16 2769, i16 2769, i16 2769, i16 2769, i16 2632, i16 2770, i16 2770, i16 2770, i16 2770, i16 2632, i16 2771, i16 2771, i16 2771, i16 2771, i16 2632, i16 2772, i16 2772, i16 2772, i16 2772, i16 2632, i16 2773, i16 2773, i16 2773, i16 2773, i16 2632, i16 2774, i16 2774, i16 2774, i16 2774, i16 2632, i16 2775, i16 2775, i16 2775, i16 2775, i16 2632, i16 2776, i16 2776, i16 2632, i16 2777, i16 2777, i16 2632, i16 2778, i16 2778, i16 2778, i16 2778, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2633, i16 2634, i16 2635, i16 2636, i16 2637, i16 2638, i16 2639, i16 2640, i16 2641, i16 2642, i16 2780, i16 2781, i16 2782, i16 2783, i16 2784, i16 2785, i16 2786, i16 2787, i16 2632, i16 2788, i16 2788, i16 2788, i16 2632, i16 2789, i16 2789, i16 2789, i16 2632, i16 2790, i16 2790, i16 2790, i16 2790, i16 2632, i16 2791, i16 2791, i16 2791, i16 2632, i16 2792, i16 2792, i16 2792, i16 2632, i16 2793, i16 2793, i16 2793, i16 2793, i16 2632, i16 2794, i16 2794, i16 2794, i16 2632, i16 2795, i16 2795, i16 2795, i16 2632, i16 2796, i16 2796, i16 2796, i16 2796, i16 2632, i16 2797, i16 2797, i16 2797, i16 2632, i16 2798, i16 2798, i16 2798, i16 2632, i16 2799, i16 2799, i16 2799, i16 2632, i16 2800, i16 2800, i16 2800, i16 2632, i16 2801, i16 2801, i16 2801, i16 2632, i16 2802, i16 2802, i16 2802, i16 2632, i16 2803, i16 2803, i16 2803, i16 2632, i16 2804, i16 2804, i16 2804, i16 2632, i16 2805, i16 2805, i16 2805, i16 2805, i16 2805, i16 2632, i16 2806, i16 2806, i16 2806, i16 2632, i16 2807, i16 2807, i16 2807, i16 2632, i16 2808, i16 2632, i16 2809, i16 2632, i16 2810, i16 2632, i16 2811, i16 2632, i16 2812, i16 2632, i16 2813, i16 2813, i16 2813, i16 2813, i16 2813, i16 2632, i16 2814, i16 2814, i16 2814, i16 2814, i16 2814, i16 2632, i16 2815, i16 2815, i16 2815, i16 2815, i16 2815, i16 2632, i16 2816, i16 2816, i16 2816, i16 2816, i16 2816, i16 2632, i16 2817, i16 2817, i16 2817, i16 2817, i16 2817, i16 2632, i16 2818, i16 2632, i16 2819, i16 2632, i16 2820, i16 2632, i16 2821, i16 2632, i16 2822, i16 2632, i16 2823, i16 2823, i16 2823, i16 2632, i16 2824, i16 2824, i16 2824, i16 2632, i16 2825, i16 2825, i16 2825, i16 2632, i16 2826, i16 2632, i16 2827, i16 2632, i16 2828, i16 2632, i16 2829, i16 2632, i16 2830, i16 2632, i16 2831, i16 2831, i16 2831, i16 2632, i16 2832, i16 2632, i16 2833, i16 2632, i16 2834, i16 2632, i16 2835, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2837, i16 2836, i16 2838, i16 2836, i16 2839, i16 2836, i16 2840, i16 2836, i16 2841, i16 2836, i16 2842, i16 2836, i16 2843, i16 2836, i16 2844, i16 2836, i16 2845, i16 2836, i16 2846, i16 2836, i16 2847, i16 2836, i16 2848, i16 2836, i16 2849, i16 2836, i16 2850, i16 2836, i16 2851, i16 2836, i16 2852, i16 2836, i16 2853, i16 2836, i16 2854, i16 2836, i16 2855, i16 2836, i16 2856, i16 2836, i16 2857, i16 2836, i16 2858, i16 2836, i16 2859, i16 2836, i16 2860, i16 2836, i16 2861, i16 2836, i16 2862, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2836, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2646, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2866, i16 2867, i16 2866, i16 2868, i16 2866, i16 2869, i16 2866, i16 2870, i16 2866, i16 2871, i16 2866, i16 2872, i16 2866, i16 2873, i16 2866, i16 2874, i16 2866, i16 2875, i16 2866, i16 2876, i16 2877, i16 2878, i16 2877, i16 2879, i16 2877, i16 2880, i16 2877, i16 2881, i16 2877, i16 2882, i16 2877, i16 2883, i16 2877, i16 2884, i16 2877, i16 2885, i16 2877, i16 2886, i16 2877, i16 2887, i16 2877, i16 2888, i16 2877, i16 2889, i16 2877, i16 2890, i16 2877, i16 2891, i16 2877, i16 2892, i16 2877, i16 2893, i16 2877, i16 2894, i16 2877, i16 2895, i16 2877, i16 2896, i16 2877, i16 2897, i16 2877, i16 2898, i16 2877, i16 2899, i16 2877, i16 2900, i16 2877, i16 2901, i16 2877, i16 2902, i16 2877, i16 2903, i16 2866, i16 2904, i16 2905, i16 2906, i16 2907, i16 2908, i16 2866, i16 2909, i16 2910, i16 2911, i16 2912, i16 2913, i16 2866, i16 2914, i16 2915, i16 2916, i16 2917, i16 2918, i16 2866, i16 2919, i16 2920, i16 2921, i16 2922, i16 2923, i16 2866, i16 2924, i16 2925, i16 2926, i16 2927, i16 2928, i16 2866, i16 2929, i16 2930, i16 2931, i16 2932, i16 2933, i16 2866, i16 2934, i16 2935, i16 2936, i16 2937, i16 2938, i16 2866, i16 2939, i16 2940, i16 2941, i16 2942, i16 2943, i16 2866, i16 2944, i16 2945, i16 2946, i16 2947, i16 2948, i16 2866, i16 2949, i16 2950, i16 2951, i16 2952, i16 2953, i16 2866, i16 2954, i16 2955, i16 2956, i16 2957, i16 2958, i16 2866, i16 2959, i16 2960, i16 2961, i16 2962, i16 2963, i16 2866, i16 2964, i16 2965, i16 2966, i16 2967, i16 2968, i16 2866, i16 2969, i16 2970, i16 2971, i16 2972, i16 2973, i16 2866, i16 2974, i16 2975, i16 2976, i16 2977, i16 2978, i16 2866, i16 2979, i16 2980, i16 2981, i16 2982, i16 2983, i16 2866, i16 2984, i16 2985, i16 2986, i16 2987, i16 2988, i16 2866, i16 2989, i16 2990, i16 2991, i16 2992, i16 2993, i16 2866, i16 2994, i16 2995, i16 2996, i16 2997, i16 2998, i16 2866, i16 2999, i16 3000, i16 3001, i16 3002, i16 3003, i16 2866, i16 3004, i16 3005, i16 3006, i16 3007, i16 3008, i16 2866, i16 3009, i16 3010, i16 3011, i16 3012, i16 3013, i16 2866, i16 3014, i16 3015, i16 3016, i16 3017, i16 3018, i16 2866, i16 3019, i16 3020, i16 3021, i16 3022, i16 3023, i16 2866, i16 3024, i16 3025, i16 3026, i16 3027, i16 3028, i16 2866, i16 3029, i16 3030, i16 3031, i16 3032, i16 3033, i16 2866, i16 3034, i16 3035, i16 3036, i16 3037, i16 3038, i16 2866, i16 3039, i16 3040, i16 3041, i16 3042, i16 3043, i16 2866, i16 3044, i16 3045, i16 3046, i16 3047, i16 3048, i16 2866, i16 3049, i16 3050, i16 3051, i16 3052, i16 3053, i16 2866, i16 3054, i16 3055, i16 3056, i16 3057, i16 3058, i16 2866, i16 3059, i16 3060, i16 3061, i16 3062, i16 3063, i16 2866, i16 3064, i16 3065, i16 3066, i16 3067, i16 3068, i16 2866, i16 3069, i16 3070, i16 3071, i16 3072, i16 3073, i16 2866, i16 3074, i16 3075, i16 3076, i16 3077, i16 3078, i16 2866, i16 2866, i16 3079, i16 3080, i16 3081, i16 3082, i16 3083, i16 2866, i16 2866, i16 3084, i16 3085, i16 3086, i16 3087, i16 3088, i16 2866, i16 3089, i16 3090, i16 3091, i16 3092, i16 3093, i16 2866, i16 3094, i16 3095, i16 3096, i16 3097, i16 3098, i16 2866, i16 3099, i16 3100, i16 3101, i16 3102, i16 3103, i16 2866, i16 3104, i16 3105, i16 3106, i16 3107, i16 3108, i16 2866, i16 3109, i16 3110, i16 3111, i16 3112, i16 3113, i16 2866, i16 3114, i16 3115, i16 3116, i16 3117, i16 3118, i16 2866, i16 3119, i16 3120, i16 3121, i16 3122, i16 3123, i16 2866, i16 2866, i16 2866, i16 2866, i16 3124, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 99, i16 104, i16 112, i16 117, i16 122, i16 124, i16 126, i16 128, i16 130, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 1162, i16 296, i16 0, i16 704, i16 0, i16 1166, i16 293, i16 0, i16 714, i16 0, i16 1168, i16 296, i16 0, i16 1167, i16 293, i16 0, i16 723, i16 0, i16 1169, i16 299, i16 0, i16 728, i16 0, i16 1170, i16 293, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 49, i16 51, i16 53, i16 55, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 83, i16 85, i16 87, i16 89, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 1174, i16 169, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 1176, i16 169, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 1173, i16 169, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 1175, i16 169, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 1222, i16 411, i16 0, i16 1221, i16 491, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 1219, i16 411, i16 0, i16 1220, i16 491, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 48, i16 50, i16 52, i16 54, i16 62, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 94, i16 96, i16 98, i16 100, i16 108, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 138, i16 140, i16 142, i16 144, i16 146, i16 148, i16 478, i16 0, i16 1265, i16 1008, i16 0, i16 1264, i16 1047, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 1269, i16 421, i16 0, i16 1268, i16 501, i16 0, i16 504, i16 0, i16 1273, i16 421, i16 0, i16 1272, i16 501, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 1262, i16 1008, i16 0, i16 1263, i16 1047, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 1266, i16 421, i16 0, i16 1267, i16 501, i16 0, i16 425, i16 0, i16 1270, i16 421, i16 0, i16 1271, i16 501, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 52, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 92, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 1318, i16 989, i16 0, i16 1317, i16 1029, i16 0, i16 491, i16 0, i16 1322, i16 401, i16 0, i16 1321, i16 481, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 1315, i16 989, i16 0, i16 1316, i16 1029, i16 0, i16 411, i16 0, i16 1319, i16 401, i16 0, i16 1320, i16 481, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 1222, i16 411, i16 0, i16 1221, i16 491, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1328, i16 413, i16 0, i16 1327, i16 493, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 1219, i16 411, i16 0, i16 1220, i16 491, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1325, i16 413, i16 0, i16 1326, i16 493, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 62, i16 142, i16 144, i16 168, i16 170, i16 194, i16 218, i16 220, i16 222, i16 224, i16 248, i16 272, i16 274, i16 298, i16 322, i16 402, i16 404, i16 428, i16 430, i16 454, i16 478, i16 480, i16 482, i16 484, i16 508, i16 532, i16 534, i16 558, i16 560, i16 562, i16 564, i16 566, i16 568, i16 570, i16 572, i16 574, i16 576, i16 1425, i16 451, i16 0, i16 1429, i16 398, i16 451, i16 0, i16 1428, i16 398, i16 528, i16 0, i16 1424, i16 528, i16 0, i16 1427, i16 478, i16 451, i16 0, i16 1426, i16 478, i16 528, i16 0, i16 478, i16 0, i16 1451, i16 471, i16 451, i16 0, i16 1450, i16 471, i16 528, i16 0, i16 1437, i16 471, i16 0, i16 1459, i16 399, i16 471, i16 451, i16 0, i16 1458, i16 399, i16 471, i16 528, i16 0, i16 1441, i16 399, i16 471, i16 0, i16 1457, i16 399, i16 548, i16 451, i16 0, i16 1456, i16 399, i16 548, i16 528, i16 0, i16 1440, i16 399, i16 548, i16 0, i16 1449, i16 548, i16 451, i16 0, i16 1448, i16 548, i16 528, i16 0, i16 1436, i16 548, i16 0, i16 1455, i16 479, i16 471, i16 451, i16 0, i16 1454, i16 479, i16 471, i16 528, i16 0, i16 1439, i16 479, i16 471, i16 0, i16 1453, i16 479, i16 548, i16 451, i16 0, i16 1452, i16 479, i16 548, i16 528, i16 0, i16 1438, i16 479, i16 548, i16 0, i16 479, i16 0, i16 490, i16 0, i16 1473, i16 467, i16 0, i16 1477, i16 411, i16 467, i16 0, i16 1476, i16 411, i16 544, i16 0, i16 1472, i16 544, i16 0, i16 1475, i16 491, i16 467, i16 0, i16 1474, i16 491, i16 544, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 1485, i16 467, i16 0, i16 1489, i16 425, i16 467, i16 0, i16 1488, i16 425, i16 544, i16 0, i16 1484, i16 544, i16 0, i16 1487, i16 504, i16 467, i16 0, i16 1486, i16 504, i16 544, i16 0, i16 504, i16 0, i16 1497, i16 467, i16 0, i16 1501, i16 432, i16 467, i16 0, i16 1500, i16 432, i16 544, i16 0, i16 1496, i16 544, i16 0, i16 1499, i16 511, i16 467, i16 0, i16 1498, i16 511, i16 544, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 1509, i16 471, i16 0, i16 1513, i16 451, i16 471, i16 0, i16 1512, i16 451, i16 548, i16 0, i16 1508, i16 548, i16 0, i16 1511, i16 528, i16 471, i16 0, i16 1510, i16 528, i16 548, i16 0, i16 528, i16 0, i16 1521, i16 467, i16 0, i16 1525, i16 453, i16 467, i16 0, i16 1524, i16 453, i16 544, i16 0, i16 1520, i16 544, i16 0, i16 1523, i16 530, i16 467, i16 0, i16 1522, i16 530, i16 544, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 1537, i16 471, i16 451, i16 0, i16 1536, i16 471, i16 528, i16 0, i16 1533, i16 451, i16 0, i16 1535, i16 548, i16 451, i16 0, i16 1534, i16 548, i16 528, i16 0, i16 1532, i16 528, i16 0, i16 548, i16 0, i16 1431, i16 451, i16 0, i16 1435, i16 398, i16 451, i16 0, i16 1434, i16 398, i16 528, i16 0, i16 1430, i16 528, i16 0, i16 1433, i16 478, i16 451, i16 0, i16 1432, i16 478, i16 528, i16 0, i16 398, i16 0, i16 1463, i16 471, i16 451, i16 0, i16 1462, i16 471, i16 528, i16 0, i16 1443, i16 471, i16 0, i16 1471, i16 399, i16 471, i16 451, i16 0, i16 1470, i16 399, i16 471, i16 528, i16 0, i16 1447, i16 399, i16 471, i16 0, i16 1469, i16 399, i16 548, i16 451, i16 0, i16 1468, i16 399, i16 548, i16 528, i16 0, i16 1446, i16 399, i16 548, i16 0, i16 1461, i16 548, i16 451, i16 0, i16 1460, i16 548, i16 528, i16 0, i16 1442, i16 548, i16 0, i16 1467, i16 479, i16 471, i16 451, i16 0, i16 1466, i16 479, i16 471, i16 528, i16 0, i16 1445, i16 479, i16 471, i16 0, i16 1465, i16 479, i16 548, i16 451, i16 0, i16 1464, i16 479, i16 548, i16 528, i16 0, i16 1444, i16 479, i16 548, i16 0, i16 399, i16 0, i16 410, i16 0, i16 1478, i16 467, i16 0, i16 1483, i16 411, i16 467, i16 0, i16 1482, i16 411, i16 544, i16 0, i16 1479, i16 544, i16 0, i16 1481, i16 491, i16 467, i16 0, i16 1480, i16 491, i16 544, i16 0, i16 411, i16 0, i16 990, i16 0, i16 1490, i16 467, i16 0, i16 1495, i16 425, i16 467, i16 0, i16 1494, i16 425, i16 544, i16 0, i16 1491, i16 544, i16 0, i16 1493, i16 504, i16 467, i16 0, i16 1492, i16 504, i16 544, i16 0, i16 425, i16 0, i16 1502, i16 467, i16 0, i16 1507, i16 432, i16 467, i16 0, i16 1506, i16 432, i16 544, i16 0, i16 1503, i16 544, i16 0, i16 1505, i16 511, i16 467, i16 0, i16 1504, i16 511, i16 544, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 1515, i16 471, i16 0, i16 1519, i16 451, i16 471, i16 0, i16 1518, i16 451, i16 548, i16 0, i16 1514, i16 548, i16 0, i16 1517, i16 528, i16 471, i16 0, i16 1516, i16 528, i16 548, i16 0, i16 451, i16 0, i16 1527, i16 467, i16 0, i16 1531, i16 453, i16 467, i16 0, i16 1530, i16 453, i16 544, i16 0, i16 1526, i16 544, i16 0, i16 1529, i16 530, i16 467, i16 0, i16 1528, i16 530, i16 544, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 1543, i16 471, i16 451, i16 0, i16 1542, i16 471, i16 528, i16 0, i16 1539, i16 451, i16 0, i16 1541, i16 548, i16 451, i16 0, i16 1540, i16 548, i16 528, i16 0, i16 1538, i16 528, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 112, i16 117, i16 122, i16 127, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1559, i16 1554, i16 0, i16 1556, i16 1552, i16 0, i16 1073, i16 0, i16 1560, i16 1553, i16 0, i16 582, i16 0, i16 1562, i16 1553, i16 0, i16 1080, i16 0, i16 1563, i16 1553, i16 0, i16 1082, i16 0, i16 1561, i16 1553, i16 0, i16 1564, i16 0, i16 38, i16 46, i16 54, i16 62, i16 64, i16 66, i16 74, i16 82, i16 84, i16 92, i16 100, i16 102, i16 110, i16 112, i16 114, i16 122, i16 130, i16 138, i16 140, i16 142, i16 150, i16 158, i16 160, i16 168, i16 176, i16 178, i16 186, i16 188, i16 190, i16 192, i16 194, i16 196, i16 198, i16 200, i16 202, i16 204, i16 206, i16 208, i16 1591, i16 413, i16 0, i16 1590, i16 493, i16 0, i16 478, i16 0, i16 1595, i16 399, i16 0, i16 1594, i16 479, i16 0, i16 479, i16 0, i16 1599, i16 410, i16 0, i16 1598, i16 490, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 1603, i16 425, i16 0, i16 1602, i16 504, i16 0, i16 504, i16 0, i16 1222, i16 411, i16 0, i16 1221, i16 491, i16 0, i16 511, i16 0, i16 515, i16 0, i16 1607, i16 413, i16 0, i16 1606, i16 493, i16 0, i16 522, i16 0, i16 1611, i16 413, i16 0, i16 1610, i16 493, i16 0, i16 524, i16 0, i16 528, i16 0, i16 1615, i16 413, i16 0, i16 1614, i16 493, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 1588, i16 413, i16 0, i16 1589, i16 493, i16 0, i16 398, i16 0, i16 1592, i16 399, i16 0, i16 1593, i16 479, i16 0, i16 399, i16 0, i16 1596, i16 410, i16 0, i16 1597, i16 490, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 1600, i16 425, i16 0, i16 1601, i16 504, i16 0, i16 425, i16 0, i16 1219, i16 411, i16 0, i16 1220, i16 491, i16 0, i16 432, i16 0, i16 437, i16 0, i16 1604, i16 413, i16 0, i16 1605, i16 493, i16 0, i16 445, i16 0, i16 1608, i16 413, i16 0, i16 1609, i16 493, i16 0, i16 447, i16 0, i16 451, i16 0, i16 1612, i16 413, i16 0, i16 1613, i16 493, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 138, i16 140, i16 1591, i16 413, i16 0, i16 1590, i16 493, i16 0, i16 1621, i16 169, i16 413, i16 0, i16 1620, i16 169, i16 493, i16 0, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 1588, i16 413, i16 0, i16 1589, i16 493, i16 0, i16 1618, i16 169, i16 413, i16 0, i16 1619, i16 169, i16 493, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 10, i16 12, i16 14, i16 16, i16 18, i16 20, i16 22, i16 24, i16 26, i16 28, i16 681, i16 0, i16 738, i16 0, i16 749, i16 0, i16 901, i16 0, i16 927, i16 0, i16 682, i16 0, i16 739, i16 0, i16 750, i16 0, i16 902, i16 0, i16 928, i16 0, i16 10, i16 18, i16 20, i16 22, i16 24, i16 26, i16 34, i16 36, i16 38, i16 40, i16 1884, i16 682, i16 0, i16 1883, i16 681, i16 0, i16 681, i16 0, i16 738, i16 0, i16 749, i16 0, i16 901, i16 0, i16 927, i16 0, i16 1886, i16 682, i16 0, i16 1885, i16 681, i16 0, i16 682, i16 0, i16 739, i16 0, i16 750, i16 0, i16 902, i16 0, i16 928, i16 0, i16 10, i16 12, i16 14, i16 22, i16 30, i16 38, i16 40, i16 42, i16 50, i16 58, i16 681, i16 0, i16 738, i16 0, i16 1928, i16 1880, i16 0, i16 1927, i16 1879, i16 0, i16 749, i16 0, i16 1932, i16 884, i16 0, i16 1931, i16 883, i16 0, i16 901, i16 0, i16 1936, i16 884, i16 0, i16 1935, i16 883, i16 0, i16 927, i16 0, i16 682, i16 0, i16 739, i16 0, i16 1930, i16 1880, i16 0, i16 1929, i16 1879, i16 0, i16 750, i16 0, i16 1934, i16 884, i16 0, i16 1933, i16 883, i16 0, i16 902, i16 0, i16 1938, i16 884, i16 0, i16 1937, i16 883, i16 0, i16 928, i16 0, i16 10, i16 12, i16 20, i16 22, i16 30, i16 32, i16 34, i16 42, i16 44, i16 52, i16 681, i16 0, i16 1940, i16 837, i16 0, i16 1939, i16 836, i16 0, i16 738, i16 0, i16 749, i16 0, i16 1944, i16 902, i16 0, i16 1943, i16 901, i16 0, i16 901, i16 0, i16 927, i16 0, i16 682, i16 0, i16 1942, i16 837, i16 0, i16 1941, i16 836, i16 0, i16 739, i16 0, i16 750, i16 0, i16 1946, i16 902, i16 0, i16 1945, i16 901, i16 0, i16 902, i16 0, i16 928, i16 0, i16 2, i16 10, i16 295, i16 278, i16 0, i16 294, i16 277, i16 0, i16 161, i16 0, i16 296, i16 278, i16 0, i16 162, i16 0, i16 5, i16 139, i16 273, i16 407, i16 541, i16 387, i16 386, i16 0, i16 381, i16 380, i16 0, i16 375, i16 374, i16 0, i16 369, i16 368, i16 0, i16 363, i16 362, i16 0, i16 357, i16 356, i16 0, i16 351, i16 350, i16 0, i16 345, i16 344, i16 0, i16 338, i16 337, i16 0, i16 331, i16 330, i16 0, i16 325, i16 324, i16 0, i16 319, i16 318, i16 0, i16 313, i16 312, i16 0, i16 307, i16 306, i16 0, i16 301, i16 300, i16 0, i16 295, i16 294, i16 0, i16 289, i16 288, i16 0, i16 283, i16 282, i16 0, i16 277, i16 276, i16 0, i16 271, i16 270, i16 0, i16 265, i16 264, i16 0, i16 259, i16 258, i16 0, i16 253, i16 252, i16 0, i16 247, i16 246, i16 0, i16 241, i16 240, i16 0, i16 235, i16 234, i16 0, i16 229, i16 228, i16 0, i16 223, i16 222, i16 0, i16 217, i16 216, i16 0, i16 211, i16 210, i16 0, i16 205, i16 204, i16 0, i16 199, i16 198, i16 0, i16 193, i16 192, i16 0, i16 187, i16 186, i16 0, i16 181, i16 180, i16 0, i16 175, i16 174, i16 0, i16 169, i16 168, i16 0, i16 163, i16 162, i16 0, i16 157, i16 156, i16 0, i16 151, i16 150, i16 0, i16 145, i16 144, i16 0, i16 139, i16 138, i16 0, i16 133, i16 132, i16 0, i16 127, i16 126, i16 0, i16 404, i16 0, i16 388, i16 386, i16 0, i16 382, i16 380, i16 0, i16 376, i16 374, i16 0, i16 370, i16 368, i16 0, i16 364, i16 362, i16 0, i16 358, i16 356, i16 0, i16 352, i16 350, i16 0, i16 346, i16 344, i16 0, i16 339, i16 337, i16 0, i16 332, i16 330, i16 0, i16 326, i16 324, i16 0, i16 320, i16 318, i16 0, i16 314, i16 312, i16 0, i16 308, i16 306, i16 0, i16 302, i16 300, i16 0, i16 296, i16 294, i16 0, i16 290, i16 288, i16 0, i16 284, i16 282, i16 0, i16 278, i16 276, i16 0, i16 272, i16 270, i16 0, i16 266, i16 264, i16 0, i16 260, i16 258, i16 0, i16 254, i16 252, i16 0, i16 248, i16 246, i16 0, i16 242, i16 240, i16 0, i16 236, i16 234, i16 0, i16 230, i16 228, i16 0, i16 224, i16 222, i16 0, i16 218, i16 216, i16 0, i16 212, i16 210, i16 0, i16 206, i16 204, i16 0, i16 200, i16 198, i16 0, i16 194, i16 192, i16 0, i16 188, i16 186, i16 0, i16 182, i16 180, i16 0, i16 176, i16 174, i16 0, i16 170, i16 168, i16 0, i16 164, i16 162, i16 0, i16 158, i16 156, i16 0, i16 152, i16 150, i16 0, i16 146, i16 144, i16 0, i16 140, i16 138, i16 0, i16 134, i16 132, i16 0, i16 128, i16 126, i16 0, i16 405, i16 0, i16 389, i16 386, i16 0, i16 383, i16 380, i16 0, i16 377, i16 374, i16 0, i16 371, i16 368, i16 0, i16 365, i16 362, i16 0, i16 359, i16 356, i16 0, i16 353, i16 350, i16 0, i16 347, i16 344, i16 0, i16 340, i16 337, i16 0, i16 333, i16 330, i16 0, i16 327, i16 324, i16 0, i16 321, i16 318, i16 0, i16 315, i16 312, i16 0, i16 309, i16 306, i16 0, i16 303, i16 300, i16 0, i16 297, i16 294, i16 0, i16 291, i16 288, i16 0, i16 285, i16 282, i16 0, i16 279, i16 276, i16 0, i16 273, i16 270, i16 0, i16 267, i16 264, i16 0, i16 261, i16 258, i16 0, i16 255, i16 252, i16 0, i16 249, i16 246, i16 0, i16 243, i16 240, i16 0, i16 237, i16 234, i16 0, i16 231, i16 228, i16 0, i16 225, i16 222, i16 0, i16 219, i16 216, i16 0, i16 213, i16 210, i16 0, i16 207, i16 204, i16 0, i16 201, i16 198, i16 0, i16 195, i16 192, i16 0, i16 189, i16 186, i16 0, i16 183, i16 180, i16 0, i16 177, i16 174, i16 0, i16 171, i16 168, i16 0, i16 165, i16 162, i16 0, i16 159, i16 156, i16 0, i16 153, i16 150, i16 0, i16 147, i16 144, i16 0, i16 141, i16 138, i16 0, i16 135, i16 132, i16 0, i16 129, i16 126, i16 0, i16 406, i16 0, i16 390, i16 386, i16 0, i16 384, i16 380, i16 0, i16 378, i16 374, i16 0, i16 372, i16 368, i16 0, i16 366, i16 362, i16 0, i16 360, i16 356, i16 0, i16 354, i16 350, i16 0, i16 348, i16 344, i16 0, i16 341, i16 337, i16 0, i16 334, i16 330, i16 0, i16 328, i16 324, i16 0, i16 322, i16 318, i16 0, i16 316, i16 312, i16 0, i16 310, i16 306, i16 0, i16 304, i16 300, i16 0, i16 298, i16 294, i16 0, i16 292, i16 288, i16 0, i16 286, i16 282, i16 0, i16 280, i16 276, i16 0, i16 274, i16 270, i16 0, i16 268, i16 264, i16 0, i16 262, i16 258, i16 0, i16 256, i16 252, i16 0, i16 250, i16 246, i16 0, i16 244, i16 240, i16 0, i16 238, i16 234, i16 0, i16 232, i16 228, i16 0, i16 226, i16 222, i16 0, i16 220, i16 216, i16 0, i16 214, i16 210, i16 0, i16 208, i16 204, i16 0, i16 202, i16 198, i16 0, i16 196, i16 192, i16 0, i16 190, i16 186, i16 0, i16 184, i16 180, i16 0, i16 178, i16 174, i16 0, i16 172, i16 168, i16 0, i16 166, i16 162, i16 0, i16 160, i16 156, i16 0, i16 154, i16 150, i16 0, i16 148, i16 144, i16 0, i16 142, i16 138, i16 0, i16 136, i16 132, i16 0, i16 130, i16 126, i16 0, i16 407, i16 0, i16 391, i16 386, i16 0, i16 385, i16 380, i16 0, i16 379, i16 374, i16 0, i16 373, i16 368, i16 0, i16 367, i16 362, i16 0, i16 361, i16 356, i16 0, i16 355, i16 350, i16 0, i16 349, i16 344, i16 0, i16 342, i16 337, i16 0, i16 335, i16 330, i16 0, i16 329, i16 324, i16 0, i16 323, i16 318, i16 0, i16 317, i16 312, i16 0, i16 311, i16 306, i16 0, i16 305, i16 300, i16 0, i16 299, i16 294, i16 0, i16 293, i16 288, i16 0, i16 287, i16 282, i16 0, i16 281, i16 276, i16 0, i16 275, i16 270, i16 0, i16 269, i16 264, i16 0, i16 263, i16 258, i16 0, i16 257, i16 252, i16 0, i16 251, i16 246, i16 0, i16 245, i16 240, i16 0, i16 239, i16 234, i16 0, i16 233, i16 228, i16 0, i16 227, i16 222, i16 0, i16 221, i16 216, i16 0, i16 215, i16 210, i16 0, i16 209, i16 204, i16 0, i16 203, i16 198, i16 0, i16 197, i16 192, i16 0, i16 191, i16 186, i16 0, i16 185, i16 180, i16 0, i16 179, i16 174, i16 0, i16 173, i16 168, i16 0, i16 167, i16 162, i16 0, i16 161, i16 156, i16 0, i16 155, i16 150, i16 0, i16 149, i16 144, i16 0, i16 143, i16 138, i16 0, i16 137, i16 132, i16 0, i16 131, i16 126, i16 0, i16 408, i16 0, i16 1, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 263, i16 1158, i16 0, i16 1159, i16 0, i16 2, i16 272, i16 1160, i16 0, i16 1161, i16 0, i16 2, i16 1375, i16 1163, i16 748, i16 1164, i16 749, i16 2, i16 1381, i16 1165, i16 750, i16 1166, i16 751, i16 2, i16 1392, i16 1167, i16 752, i16 1168, i16 753, i16 2, i16 1401, i16 1169, i16 754, i16 1170, i16 755, i16 1, i16 1156, i16 244, i16 0, i16 1157, i16 253, i16 0, i16 1162, i16 1370, i16 756, i16 1155, i16 22611, i16 1, i16 0, i16 1, i16 1171, i16 142, i16 0, i16 1172, i16 163, i16 0, i16 1173, i16 699, i16 757, i16 1174, i16 907, i16 758, i16 1175, i16 762, i16 759, i16 1176, i16 968, i16 760, i16 1155, i16 22611, i16 1, i16 0, i16 1, i16 1177, i16 306, i16 0, i16 1178, i16 1512, i16 761, i16 1179, i16 1576, i16 762, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 145, i16 900, i16 0, i16 1183, i16 0, i16 901, i16 0, i16 902, i16 0, i16 903, i16 0, i16 2, i16 636, i16 1196, i16 763, i16 974, i16 764, i16 2, i16 845, i16 1197, i16 765, i16 1014, i16 766, i16 2, i16 712, i16 992, i16 767, i16 990, i16 768, i16 2, i16 920, i16 1030, i16 769, i16 1032, i16 770, i16 2, i16 749, i16 995, i16 771, i16 994, i16 772, i16 2, i16 956, i16 1035, i16 773, i16 1034, i16 774, i16 2, i16 762, i16 1198, i16 775, i16 996, i16 775, i16 2, i16 968, i16 1199, i16 776, i16 1036, i16 776, i16 1, i16 1180, i16 121, i16 0, i16 1181, i16 127, i16 0, i16 1182, i16 142, i16 0, i16 1184, i16 161, i16 0, i16 1185, i16 163, i16 0, i16 1186, i16 173, i16 0, i16 1187, i16 178, i16 0, i16 1188, i16 303, i16 0, i16 1189, i16 309, i16 0, i16 1190, i16 322, i16 0, i16 1191, i16 327, i16 0, i16 1192, i16 330, i16 0, i16 1193, i16 340, i16 0, i16 1194, i16 343, i16 0, i16 1195, i16 346, i16 0, i16 978, i16 656, i16 777, i16 1018, i16 864, i16 778, i16 985, i16 699, i16 779, i16 1025, i16 907, i16 780, i16 1001, i16 787, i16 781, i16 1041, i16 992, i16 782, i16 1004, i16 809, i16 783, i16 1043, i16 1013, i16 784, i16 1200, i16 1506, i16 785, i16 1201, i16 1570, i16 786, i16 1202, i16 1514, i16 787, i16 1203, i16 1579, i16 788, i16 1204, i16 1532, i16 789, i16 1205, i16 1597, i16 790, i16 1206, i16 1538, i16 791, i16 1207, i16 1603, i16 792, i16 1208, i16 1541, i16 793, i16 1209, i16 1606, i16 794, i16 1210, i16 1549, i16 795, i16 1211, i16 1614, i16 796, i16 1212, i16 1553, i16 797, i16 1213, i16 1618, i16 798, i16 1214, i16 1556, i16 799, i16 1215, i16 1621, i16 800, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 749, i16 1219, i16 801, i16 1220, i16 802, i16 2, i16 956, i16 1221, i16 803, i16 1222, i16 804, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1218, i16 161, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 12, i16 22611, i16 1223, i16 805, i16 1224, i16 805, i16 1225, i16 805, i16 1226, i16 805, i16 1227, i16 805, i16 1228, i16 805, i16 1229, i16 805, i16 1230, i16 805, i16 1231, i16 805, i16 1232, i16 805, i16 1233, i16 805, i16 1234, i16 805, i16 1, i16 1155, i16 22623, i16 1, i16 0, i16 1, i16 1188, i16 303, i16 0, i16 1235, i16 316, i16 0, i16 1236, i16 322, i16 0, i16 1237, i16 338, i16 0, i16 1238, i16 343, i16 0, i16 1239, i16 346, i16 0, i16 1200, i16 1506, i16 785, i16 1201, i16 1570, i16 786, i16 1240, i16 1524, i16 806, i16 1241, i16 1588, i16 807, i16 1242, i16 1532, i16 808, i16 1243, i16 1597, i16 809, i16 1244, i16 1549, i16 810, i16 1245, i16 1614, i16 811, i16 1246, i16 1553, i16 812, i16 1247, i16 1618, i16 813, i16 1248, i16 1556, i16 814, i16 1249, i16 1621, i16 815, i16 1155, i16 22611, i16 1, i16 0, i16 4, i16 189, i16 1250, i16 0, i16 1251, i16 0, i16 1252, i16 0, i16 1253, i16 0, i16 3, i16 645, i16 974, i16 816, i16 975, i16 817, i16 977, i16 818, i16 2, i16 769, i16 996, i16 819, i16 997, i16 820, i16 3, i16 853, i16 1014, i16 821, i16 1015, i16 822, i16 1017, i16 823, i16 2, i16 974, i16 1036, i16 824, i16 1037, i16 825, i16 1, i16 895, i16 53, i16 0, i16 1046, i16 1026, i16 826, i16 1007, i16 822, i16 827, i16 1004, i16 813, i16 828, i16 1043, i16 1017, i16 829, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 127, i16 1254, i16 0, i16 1255, i16 0, i16 898, i16 0, i16 1256, i16 0, i16 1257, i16 0, i16 2, i16 656, i16 979, i16 830, i16 981, i16 831, i16 2, i16 864, i16 1019, i16 832, i16 1021, i16 833, i16 3, i16 670, i16 1262, i16 834, i16 1263, i16 835, i16 984, i16 836, i16 3, i16 878, i16 1264, i16 837, i16 1265, i16 838, i16 1024, i16 839, i16 2, i16 736, i16 1266, i16 840, i16 1267, i16 841, i16 2, i16 943, i16 1268, i16 842, i16 1269, i16 843, i16 2, i16 749, i16 1270, i16 844, i16 1271, i16 845, i16 2, i16 956, i16 1272, i16 846, i16 1273, i16 847, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1258, i16 158, i16 0, i16 1259, i16 161, i16 0, i16 1260, i16 173, i16 0, i16 1261, i16 189, i16 0, i16 1000, i16 787, i16 848, i16 1040, i16 992, i16 849, i16 1008, i16 834, i16 850, i16 1047, i16 1038, i16 851, i16 1155, i16 22611, i16 1, i16 0, i16 4, i16 121, i16 1274, i16 0, i16 1275, i16 0, i16 1276, i16 0, i16 1277, i16 0, i16 4, i16 127, i16 1255, i16 0, i16 1278, i16 0, i16 1279, i16 0, i16 1280, i16 0, i16 2, i16 133, i16 1281, i16 0, i16 1282, i16 0, i16 2, i16 142, i16 1284, i16 0, i16 1285, i16 0, i16 2, i16 173, i16 1287, i16 0, i16 1260, i16 0, i16 5, i16 194, i16 1288, i16 0, i16 1253, i16 0, i16 1250, i16 0, i16 1289, i16 0, i16 1252, i16 0, i16 4, i16 636, i16 971, i16 852, i16 970, i16 853, i16 972, i16 854, i16 973, i16 855, i16 4, i16 845, i16 1011, i16 856, i16 1010, i16 857, i16 1012, i16 858, i16 1013, i16 859, i16 2, i16 656, i16 978, i16 860, i16 981, i16 861, i16 2, i16 864, i16 1018, i16 862, i16 1021, i16 863, i16 2, i16 667, i16 1290, i16 864, i16 1291, i16 865, i16 2, i16 875, i16 1292, i16 864, i16 1293, i16 866, i16 2, i16 670, i16 983, i16 867, i16 984, i16 868, i16 2, i16 878, i16 1023, i16 869, i16 1024, i16 870, i16 2, i16 709, i16 1295, i16 871, i16 1296, i16 872, i16 2, i16 917, i16 1297, i16 871, i16 1298, i16 872, i16 3, i16 992, i16 1002, i16 873, i16 1000, i16 874, i16 1040, i16 875, i16 3, i16 645, i16 974, i16 876, i16 975, i16 817, i16 977, i16 877, i16 2, i16 769, i16 996, i16 819, i16 997, i16 820, i16 3, i16 853, i16 1014, i16 878, i16 1015, i16 822, i16 1017, i16 879, i16 2, i16 974, i16 1036, i16 824, i16 1037, i16 825, i16 1, i16 889, i16 16, i16 0, i16 1283, i16 138, i16 0, i16 1286, i16 156, i16 0, i16 1294, i16 696, i16 880, i16 1299, i16 734, i16 881, i16 1300, i16 941, i16 882, i16 1004, i16 813, i16 828, i16 1043, i16 1017, i16 829, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 46, i16 897, i16 0, i16 896, i16 0, i16 2, i16 121, i16 1301, i16 0, i16 1302, i16 0, i16 2, i16 636, i16 972, i16 883, i16 976, i16 884, i16 2, i16 845, i16 1012, i16 885, i16 1016, i16 886, i16 2, i16 787, i16 1305, i16 781, i16 1001, i16 781, i16 2, i16 992, i16 1306, i16 781, i16 1041, i16 782, i16 2, i16 799, i16 1307, i16 887, i16 1003, i16 887, i16 2, i16 1003, i16 1308, i16 887, i16 1042, i16 888, i16 1, i16 1303, i16 152, i16 0, i16 1186, i16 173, i16 0, i16 1304, i16 176, i16 0, i16 991, i16 717, i16 889, i16 1031, i16 925, i16 890, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 699, i16 1315, i16 891, i16 1316, i16 892, i16 2, i16 907, i16 1317, i16 893, i16 1318, i16 894, i16 2, i16 717, i16 1319, i16 895, i16 1320, i16 896, i16 2, i16 925, i16 1321, i16 897, i16 1322, i16 898, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1309, i16 127, i16 0, i16 1310, i16 138, i16 0, i16 1311, i16 142, i16 0, i16 1312, i16 145, i16 0, i16 1313, i16 152, i16 0, i16 1314, i16 187, i16 0, i16 982, i16 656, i16 899, i16 1022, i16 864, i16 900, i16 987, i16 696, i16 901, i16 1027, i16 904, i16 902, i16 989, i16 712, i16 903, i16 1029, i16 920, i16 904, i16 1009, i16 829, i16 905, i16 1048, i16 1033, i16 906, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 749, i16 1219, i16 907, i16 1220, i16 908, i16 2, i16 956, i16 1221, i16 909, i16 1222, i16 910, i16 2, i16 824, i16 1325, i16 911, i16 1326, i16 912, i16 2, i16 1028, i16 1327, i16 913, i16 1328, i16 914, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1323, i16 161, i16 0, i16 1324, i16 184, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 76, i16 1632, i16 1329, i16 915, i16 1330, i16 915, i16 1331, i16 915, i16 1332, i16 915, i16 1333, i16 915, i16 1334, i16 915, i16 1335, i16 915, i16 1336, i16 915, i16 1337, i16 915, i16 1338, i16 915, i16 1339, i16 915, i16 1340, i16 915, i16 1341, i16 915, i16 1342, i16 915, i16 1343, i16 915, i16 1344, i16 915, i16 1345, i16 915, i16 1346, i16 915, i16 1347, i16 915, i16 1348, i16 915, i16 1349, i16 915, i16 1350, i16 915, i16 1351, i16 915, i16 1352, i16 915, i16 1353, i16 915, i16 1354, i16 915, i16 1355, i16 915, i16 1356, i16 915, i16 1357, i16 915, i16 1358, i16 915, i16 1359, i16 915, i16 1360, i16 915, i16 1361, i16 915, i16 1362, i16 915, i16 1363, i16 915, i16 1364, i16 915, i16 1365, i16 915, i16 1366, i16 915, i16 1367, i16 916, i16 1368, i16 916, i16 1369, i16 916, i16 1370, i16 916, i16 1371, i16 916, i16 1372, i16 916, i16 1373, i16 916, i16 1374, i16 916, i16 1375, i16 916, i16 1376, i16 916, i16 1377, i16 916, i16 1378, i16 916, i16 1379, i16 916, i16 1380, i16 916, i16 1381, i16 916, i16 1382, i16 916, i16 1383, i16 916, i16 1384, i16 916, i16 1385, i16 916, i16 1386, i16 916, i16 1387, i16 916, i16 1388, i16 916, i16 1389, i16 916, i16 1390, i16 916, i16 1391, i16 916, i16 1392, i16 916, i16 1393, i16 916, i16 1394, i16 916, i16 1395, i16 916, i16 1396, i16 916, i16 1397, i16 916, i16 1398, i16 916, i16 1399, i16 916, i16 1400, i16 916, i16 1401, i16 916, i16 1402, i16 916, i16 1403, i16 916, i16 1404, i16 916, i16 1, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 3, i16 1216, i16 0, i16 1405, i16 0, i16 1406, i16 0, i16 1407, i16 0, i16 1408, i16 0, i16 5, i16 16, i16 1217, i16 0, i16 1409, i16 0, i16 1410, i16 0, i16 1411, i16 0, i16 1412, i16 0, i16 2, i16 133, i16 1414, i16 0, i16 1415, i16 0, i16 4, i16 163, i16 996, i16 917, i16 998, i16 918, i16 1036, i16 919, i16 1038, i16 920, i16 4, i16 178, i16 1004, i16 921, i16 1006, i16 922, i16 1043, i16 923, i16 1045, i16 924, i16 6, i16 864, i16 1424, i16 925, i16 1425, i16 926, i16 1426, i16 927, i16 1427, i16 928, i16 1428, i16 929, i16 1429, i16 930, i16 6, i16 656, i16 1430, i16 931, i16 1431, i16 932, i16 1432, i16 933, i16 1433, i16 934, i16 1434, i16 935, i16 1435, i16 936, i16 6, i16 878, i16 1436, i16 937, i16 1437, i16 938, i16 1438, i16 939, i16 1439, i16 940, i16 1440, i16 941, i16 1441, i16 942, i16 6, i16 670, i16 1442, i16 943, i16 1443, i16 944, i16 1444, i16 945, i16 1445, i16 946, i16 1446, i16 947, i16 1447, i16 948, i16 12, i16 878, i16 1448, i16 949, i16 1449, i16 950, i16 1450, i16 951, i16 1451, i16 952, i16 1452, i16 953, i16 1453, i16 954, i16 1454, i16 955, i16 1455, i16 956, i16 1456, i16 953, i16 1457, i16 954, i16 1458, i16 955, i16 1459, i16 956, i16 12, i16 670, i16 1460, i16 957, i16 1461, i16 958, i16 1462, i16 959, i16 1463, i16 960, i16 1464, i16 961, i16 1465, i16 962, i16 1466, i16 963, i16 1467, i16 964, i16 1468, i16 961, i16 1469, i16 962, i16 1470, i16 963, i16 1471, i16 964, i16 6, i16 907, i16 1472, i16 965, i16 1473, i16 966, i16 1474, i16 967, i16 1475, i16 968, i16 1476, i16 969, i16 1477, i16 970, i16 6, i16 699, i16 1478, i16 971, i16 1479, i16 972, i16 1480, i16 973, i16 1481, i16 974, i16 1482, i16 975, i16 1483, i16 976, i16 6, i16 943, i16 1484, i16 977, i16 1485, i16 978, i16 1486, i16 979, i16 1487, i16 980, i16 1488, i16 981, i16 1489, i16 982, i16 6, i16 736, i16 1490, i16 983, i16 1491, i16 984, i16 1492, i16 985, i16 1493, i16 986, i16 1494, i16 987, i16 1495, i16 988, i16 6, i16 956, i16 1496, i16 989, i16 1497, i16 990, i16 1498, i16 991, i16 1499, i16 992, i16 1500, i16 993, i16 1501, i16 994, i16 6, i16 749, i16 1502, i16 995, i16 1503, i16 996, i16 1504, i16 997, i16 1505, i16 998, i16 1506, i16 999, i16 1507, i16 1000, i16 6, i16 992, i16 1508, i16 1001, i16 1509, i16 1002, i16 1510, i16 1003, i16 1511, i16 1004, i16 1512, i16 1005, i16 1513, i16 1006, i16 6, i16 787, i16 1514, i16 1007, i16 1515, i16 1008, i16 1516, i16 1009, i16 1517, i16 1010, i16 1518, i16 1011, i16 1519, i16 1012, i16 6, i16 1003, i16 1520, i16 1013, i16 1521, i16 1014, i16 1522, i16 1015, i16 1523, i16 1016, i16 1524, i16 1017, i16 1525, i16 1018, i16 6, i16 799, i16 1526, i16 1019, i16 1527, i16 1020, i16 1528, i16 1021, i16 1529, i16 1022, i16 1530, i16 1023, i16 1531, i16 1024, i16 6, i16 1038, i16 1532, i16 1025, i16 1533, i16 1026, i16 1534, i16 1027, i16 1535, i16 1028, i16 1536, i16 1029, i16 1537, i16 1030, i16 6, i16 834, i16 1538, i16 1031, i16 1539, i16 1032, i16 1540, i16 1033, i16 1541, i16 1034, i16 1542, i16 1035, i16 1543, i16 1036, i16 1, i16 1413, i16 127, i16 0, i16 1416, i16 142, i16 0, i16 1417, i16 158, i16 0, i16 1418, i16 161, i16 0, i16 1419, i16 163, i16 0, i16 1420, i16 173, i16 0, i16 1421, i16 176, i16 0, i16 1422, i16 178, i16 0, i16 1423, i16 189, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 9, i16 31, i16 890, i16 0, i16 892, i16 0, i16 1544, i16 0, i16 891, i16 0, i16 1545, i16 0, i16 1546, i16 0, i16 1547, i16 0, i16 893, i16 0, i16 894, i16 0, i16 2, i16 42, i16 1548, i16 0, i16 1549, i16 0, i16 3, i16 194, i16 1550, i16 0, i16 906, i16 0, i16 905, i16 0, i16 2, i16 238, i16 907, i16 0, i16 1551, i16 0, i16 16, i16 482, i16 961, i16 1037, i16 962, i16 1037, i16 963, i16 1037, i16 967, i16 1037, i16 968, i16 1037, i16 969, i16 1037, i16 964, i16 1037, i16 965, i16 1037, i16 966, i16 1037, i16 954, i16 1037, i16 955, i16 1037, i16 956, i16 1037, i16 959, i16 1037, i16 960, i16 1037, i16 957, i16 1037, i16 958, i16 1037, i16 4, i16 520, i16 1552, i16 1037, i16 1553, i16 1037, i16 1554, i16 1037, i16 1555, i16 1037, i16 35, i16 1049, i16 1050, i16 641, i16 1049, i16 642, i16 1052, i16 643, i16 1051, i16 644, i16 1054, i16 645, i16 1053, i16 646, i16 1056, i16 647, i16 1055, i16 648, i16 1058, i16 649, i16 1057, i16 650, i16 1060, i16 651, i16 1059, i16 652, i16 1062, i16 653, i16 1061, i16 654, i16 1064, i16 655, i16 1063, i16 656, i16 1066, i16 657, i16 1065, i16 658, i16 1068, i16 659, i16 1067, i16 660, i16 1070, i16 1038, i16 1556, i16 1038, i16 1073, i16 665, i16 1557, i16 1039, i16 1069, i16 661, i16 1071, i16 1040, i16 1558, i16 1040, i16 1072, i16 1041, i16 1559, i16 1041, i16 1079, i16 1042, i16 1560, i16 1042, i16 1081, i16 1043, i16 1561, i16 1044, i16 1562, i16 1045, i16 1563, i16 1043, i16 2, i16 1135, i16 1076, i16 667, i16 1075, i16 1046, i16 6, i16 1148, i16 1077, i16 669, i16 1074, i16 1047, i16 1078, i16 1048, i16 1564, i16 1049, i16 1080, i16 1050, i16 1082, i16 1051, i16 15, i16 1160, i16 1084, i16 1052, i16 1085, i16 1053, i16 1090, i16 1054, i16 1091, i16 1055, i16 1565, i16 1056, i16 1566, i16 1057, i16 1083, i16 1058, i16 1086, i16 1059, i16 1087, i16 1060, i16 1088, i16 1061, i16 1089, i16 1062, i16 1108, i16 1063, i16 1109, i16 1064, i16 1567, i16 1065, i16 1568, i16 1066, i16 8, i16 1276, i16 1098, i16 1067, i16 1099, i16 1068, i16 1100, i16 1069, i16 1101, i16 1070, i16 1094, i16 1071, i16 1095, i16 1072, i16 1096, i16 1073, i16 1097, i16 1074, i16 26, i16 1320, i16 1102, i16 1075, i16 1103, i16 1076, i16 1104, i16 1077, i16 1105, i16 1078, i16 1092, i16 1079, i16 1093, i16 1080, i16 1106, i16 1081, i16 1107, i16 1082, i16 1570, i16 1083, i16 1571, i16 1084, i16 1572, i16 1085, i16 1573, i16 1086, i16 1110, i16 1087, i16 1111, i16 1088, i16 1112, i16 1089, i16 1113, i16 1090, i16 1114, i16 1091, i16 1115, i16 1092, i16 1116, i16 1093, i16 1117, i16 1094, i16 1118, i16 1095, i16 1119, i16 1096, i16 1120, i16 1097, i16 1121, i16 1098, i16 1122, i16 1099, i16 1123, i16 1100, i16 1, i16 1569, i16 1229, i16 1101, i16 1155, i16 22611, i16 1, i16 0, i16 1, i16 1574, i16 127, i16 0, i16 1575, i16 142, i16 0, i16 1576, i16 145, i16 0, i16 1577, i16 154, i16 0, i16 1578, i16 173, i16 0, i16 1579, i16 178, i16 0, i16 1020, i16 864, i16 1102, i16 980, i16 656, i16 1103, i16 1026, i16 907, i16 1104, i16 986, i16 699, i16 1105, i16 1028, i16 920, i16 1106, i16 988, i16 712, i16 1107, i16 1033, i16 937, i16 1108, i16 993, i16 729, i16 1109, i16 1039, i16 992, i16 1110, i16 999, i16 787, i16 1111, i16 1044, i16 1013, i16 1112, i16 1005, i16 809, i16 1113, i16 1155, i16 22611, i16 1, i16 0, i16 3, i16 127, i16 1580, i16 0, i16 898, i16 0, i16 1581, i16 0, i16 3, i16 138, i16 1582, i16 0, i16 899, i16 0, i16 1583, i16 0, i16 2, i16 656, i16 1588, i16 1114, i16 1589, i16 1115, i16 2, i16 864, i16 1590, i16 1116, i16 1591, i16 1117, i16 2, i16 670, i16 1592, i16 1118, i16 1593, i16 1119, i16 2, i16 878, i16 1594, i16 1120, i16 1595, i16 1121, i16 2, i16 696, i16 1596, i16 1122, i16 1597, i16 1123, i16 2, i16 904, i16 1598, i16 1124, i16 1599, i16 1125, i16 2, i16 699, i16 1219, i16 1126, i16 1220, i16 1127, i16 2, i16 907, i16 1221, i16 1128, i16 1222, i16 1129, i16 2, i16 736, i16 1600, i16 1130, i16 1601, i16 1131, i16 2, i16 943, i16 1602, i16 1132, i16 1603, i16 1133, i16 2, i16 777, i16 1604, i16 1134, i16 1605, i16 1135, i16 2, i16 982, i16 1606, i16 1136, i16 1607, i16 1137, i16 2, i16 781, i16 1608, i16 1138, i16 1609, i16 1139, i16 2, i16 986, i16 1610, i16 1140, i16 1611, i16 1141, i16 2, i16 799, i16 1612, i16 1142, i16 1613, i16 1143, i16 2, i16 1003, i16 1614, i16 1144, i16 1615, i16 1145, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1584, i16 158, i16 0, i16 1585, i16 168, i16 0, i16 1586, i16 171, i16 0, i16 1587, i16 176, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 127, i16 1254, i16 0, i16 1255, i16 0, i16 898, i16 0, i16 1256, i16 0, i16 1257, i16 0, i16 2, i16 656, i16 979, i16 830, i16 981, i16 831, i16 2, i16 864, i16 1019, i16 832, i16 1021, i16 833, i16 3, i16 670, i16 1262, i16 834, i16 1263, i16 835, i16 984, i16 836, i16 5, i16 878, i16 1264, i16 837, i16 1265, i16 838, i16 1024, i16 839, i16 1266, i16 840, i16 1267, i16 841, i16 2, i16 943, i16 1268, i16 842, i16 1269, i16 843, i16 2, i16 749, i16 1270, i16 844, i16 1271, i16 845, i16 2, i16 956, i16 1272, i16 846, i16 1273, i16 847, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1258, i16 158, i16 0, i16 1259, i16 161, i16 0, i16 1260, i16 173, i16 0, i16 1261, i16 189, i16 0, i16 1000, i16 787, i16 848, i16 1040, i16 992, i16 849, i16 1008, i16 834, i16 850, i16 1047, i16 1038, i16 851, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 127, i16 1616, i16 0, i16 1617, i16 0, i16 4, i16 656, i16 1588, i16 1146, i16 1589, i16 1147, i16 1618, i16 1148, i16 1619, i16 1149, i16 4, i16 864, i16 1590, i16 1150, i16 1591, i16 1151, i16 1620, i16 1152, i16 1621, i16 1153, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 46, i16 74, i16 908, i16 0, i16 909, i16 0, i16 910, i16 0, i16 911, i16 0, i16 912, i16 0, i16 913, i16 0, i16 914, i16 0, i16 915, i16 0, i16 916, i16 0, i16 917, i16 0, i16 918, i16 0, i16 919, i16 0, i16 920, i16 0, i16 921, i16 0, i16 922, i16 0, i16 923, i16 0, i16 924, i16 0, i16 925, i16 0, i16 926, i16 0, i16 927, i16 0, i16 928, i16 0, i16 929, i16 0, i16 930, i16 0, i16 931, i16 0, i16 932, i16 0, i16 933, i16 0, i16 934, i16 0, i16 935, i16 0, i16 936, i16 0, i16 937, i16 0, i16 938, i16 0, i16 939, i16 0, i16 940, i16 0, i16 941, i16 0, i16 942, i16 0, i16 943, i16 0, i16 944, i16 0, i16 945, i16 0, i16 946, i16 0, i16 947, i16 0, i16 948, i16 0, i16 949, i16 0, i16 950, i16 0, i16 951, i16 0, i16 952, i16 0, i16 953, i16 0, i16 3, i16 1508, i16 1125, i16 1154, i16 1136, i16 1155, i16 1128, i16 1156, i16 3, i16 1514, i16 1126, i16 1157, i16 1127, i16 1158, i16 1138, i16 1159, i16 3, i16 1524, i16 1144, i16 1160, i16 1130, i16 1161, i16 1137, i16 1162, i16 3, i16 1572, i16 1140, i16 1163, i16 1152, i16 1164, i16 1143, i16 1165, i16 3, i16 1579, i16 1141, i16 1166, i16 1142, i16 1167, i16 1154, i16 1168, i16 3, i16 1588, i16 1129, i16 1169, i16 1145, i16 1170, i16 1153, i16 1171, i16 1, i16 1124, i16 1506, i16 1172, i16 1133, i16 1532, i16 1173, i16 1131, i16 1534, i16 1174, i16 1132, i16 1538, i16 1175, i16 1135, i16 1549, i16 1176, i16 1134, i16 1556, i16 1177, i16 1139, i16 1570, i16 1178, i16 1146, i16 1594, i16 1179, i16 1149, i16 1597, i16 1180, i16 1147, i16 1599, i16 1181, i16 1148, i16 1603, i16 1182, i16 1151, i16 1614, i16 1183, i16 1150, i16 1621, i16 1184, i16 1155, i16 22611, i16 1, i16 0, i16 6, i16 145, i16 904, i16 0, i16 900, i16 0, i16 1183, i16 0, i16 901, i16 0, i16 902, i16 0, i16 903, i16 0, i16 2, i16 712, i16 992, i16 767, i16 990, i16 768, i16 2, i16 920, i16 1030, i16 769, i16 1032, i16 770, i16 1, i16 1181, i16 127, i16 0, i16 1180, i16 136, i16 0, i16 1182, i16 142, i16 0, i16 1622, i16 163, i16 0, i16 1186, i16 173, i16 0, i16 1187, i16 178, i16 0, i16 1188, i16 303, i16 0, i16 1189, i16 309, i16 0, i16 1190, i16 322, i16 0, i16 1192, i16 330, i16 0, i16 1193, i16 340, i16 0, i16 1194, i16 343, i16 0, i16 1195, i16 346, i16 0, i16 978, i16 656, i16 777, i16 1018, i16 864, i16 778, i16 1196, i16 686, i16 763, i16 1197, i16 894, i16 765, i16 985, i16 699, i16 779, i16 1025, i16 907, i16 780, i16 996, i16 762, i16 1185, i16 1036, i16 968, i16 1186, i16 1001, i16 787, i16 781, i16 1041, i16 992, i16 782, i16 1004, i16 809, i16 783, i16 1043, i16 1013, i16 784, i16 1200, i16 1506, i16 785, i16 1201, i16 1570, i16 786, i16 1202, i16 1514, i16 787, i16 1203, i16 1579, i16 788, i16 1204, i16 1532, i16 789, i16 1205, i16 1597, i16 790, i16 1208, i16 1541, i16 793, i16 1209, i16 1606, i16 794, i16 1210, i16 1549, i16 795, i16 1211, i16 1614, i16 796, i16 1212, i16 1553, i16 797, i16 1213, i16 1618, i16 798, i16 1214, i16 1556, i16 799, i16 1215, i16 1621, i16 800, i16 1155, i16 22611, i16 1, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 877, i16 1780, i16 1190, i16 1781, i16 1833, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 990, i16 1792, i16 1190, i16 1793, i16 1844, i16 3, i16 1009, i16 1794, i16 1845, i16 1795, i16 1846, i16 1796, i16 1847, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 4, i16 1206, i16 1828, i16 1190, i16 1829, i16 1878, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1266, i16 1838, i16 1190, i16 1839, i16 1887, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 8, i16 1361, i16 1848, i16 1190, i16 1849, i16 1896, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1803, i16 1075, i16 1925, i16 0, i16 2, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 20, i16 1370, i16 1850, i16 1934, i16 1851, i16 1935, i16 1852, i16 1936, i16 1853, i16 1937, i16 1854, i16 1938, i16 1855, i16 1939, i16 1856, i16 1934, i16 1857, i16 1940, i16 1858, i16 1941, i16 1859, i16 1942, i16 1860, i16 1943, i16 1861, i16 1944, i16 1862, i16 1945, i16 1863, i16 1946, i16 1864, i16 1947, i16 1865, i16 1948, i16 1866, i16 1949, i16 1867, i16 1950, i16 1868, i16 1951, i16 1869, i16 1952, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 7, i16 1418, i16 1874, i16 1187, i16 1848, i16 1953, i16 1849, i16 1954, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 20, i16 1440, i16 1760, i16 1190, i16 1761, i16 1955, i16 1762, i16 1956, i16 1763, i16 1957, i16 1764, i16 1190, i16 1765, i16 1958, i16 1770, i16 1959, i16 1771, i16 1960, i16 1772, i16 1959, i16 1773, i16 1961, i16 1774, i16 1959, i16 1775, i16 1962, i16 1828, i16 1190, i16 1829, i16 1878, i16 1822, i16 1963, i16 1823, i16 1964, i16 1824, i16 1963, i16 1825, i16 1965, i16 1820, i16 1966, i16 1821, i16 1967, i16 27, i16 2011, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 1, i16 1696, i16 1, i16 1187, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 877, i16 1778, i16 1968, i16 1779, i16 1846, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1836, i16 1971, i16 1837, i16 1846, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 2, i16 1429, i16 1881, i16 1923, i16 1882, i16 1924, i16 2, i16 1440, i16 1879, i16 1974, i16 1880, i16 1846, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 2, i16 836, i16 1768, i16 1821, i16 1769, i16 1822, i16 8, i16 843, i16 1766, i16 1190, i16 1767, i16 1975, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 877, i16 1776, i16 1190, i16 1777, i16 1976, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 2, i16 944, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 955, i16 1786, i16 1190, i16 1787, i16 1977, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 2, i16 1088, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1099, i16 1804, i16 1190, i16 1805, i16 1978, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 4, i16 1132, i16 1808, i16 1190, i16 1809, i16 1979, i16 1814, i16 1864, i16 1815, i16 1865, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 4, i16 1206, i16 1816, i16 1190, i16 1817, i16 1980, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1834, i16 1190, i16 1835, i16 1981, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 3, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 2, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 4, i16 1440, i16 1877, i16 1190, i16 1878, i16 1982, i16 1881, i16 1190, i16 1882, i16 1983, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 9, i16 1418, i16 1874, i16 1187, i16 1848, i16 1984, i16 1849, i16 1985, i16 1844, i16 1984, i16 1845, i16 1986, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 24, i16 1440, i16 1770, i16 1190, i16 1771, i16 1987, i16 1772, i16 1988, i16 1773, i16 1989, i16 1774, i16 1990, i16 1775, i16 1991, i16 1764, i16 1992, i16 1765, i16 1993, i16 1822, i16 1190, i16 1823, i16 1994, i16 1824, i16 1995, i16 1825, i16 1996, i16 1828, i16 1997, i16 1829, i16 1998, i16 1818, i16 1999, i16 1819, i16 2000, i16 1760, i16 1190, i16 1761, i16 1955, i16 1883, i16 2001, i16 1884, i16 2002, i16 1885, i16 2003, i16 1886, i16 2004, i16 1762, i16 2001, i16 1763, i16 2005, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 2, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 8, i16 843, i16 1768, i16 1190, i16 1769, i16 2006, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 877, i16 1778, i16 1190, i16 1779, i16 2007, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 2, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 2, i16 955, i16 1788, i16 1190, i16 1789, i16 2008, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 990, i16 1790, i16 1190, i16 1791, i16 2009, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 7, i16 1046, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 1874, i16 1187, i16 1799, i16 1190, i16 1800, i16 2010, i16 3, i16 1075, i16 1801, i16 1190, i16 1802, i16 2011, i16 1803, i16 1925, i16 2, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 2, i16 1099, i16 1806, i16 1190, i16 1807, i16 2012, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 4, i16 1132, i16 1812, i16 1190, i16 1813, i16 2013, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 4, i16 1206, i16 1826, i16 1190, i16 1827, i16 2014, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1242, i16 1832, i16 1190, i16 1833, i16 2015, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1836, i16 1190, i16 1837, i16 2016, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 8, i16 1361, i16 1846, i16 1190, i16 1847, i16 2017, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1418, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 2, i16 1429, i16 1881, i16 1923, i16 1882, i16 1924, i16 2, i16 1440, i16 1879, i16 1190, i16 1880, i16 2018, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1046, i16 1870, i16 1190, i16 1871, i16 1915, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 2, i16 1400, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 81, i16 1697, i16 1712, i16 1698, i16 2019, i16 1699, i16 2019, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 898, i16 1887, i16 2020, i16 1888, i16 2021, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 9, i16 1418, i16 1874, i16 1187, i16 1848, i16 1984, i16 1849, i16 1985, i16 1844, i16 1984, i16 1845, i16 1986, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 24, i16 1440, i16 1770, i16 1190, i16 1771, i16 1987, i16 1772, i16 1988, i16 1773, i16 1989, i16 1774, i16 1990, i16 1775, i16 1991, i16 1764, i16 1992, i16 1765, i16 1993, i16 1822, i16 1190, i16 1823, i16 1994, i16 1824, i16 1995, i16 1825, i16 1996, i16 1828, i16 1997, i16 1829, i16 1998, i16 1818, i16 1999, i16 1819, i16 2000, i16 1760, i16 1190, i16 1761, i16 1955, i16 1883, i16 2001, i16 1884, i16 2002, i16 1885, i16 2003, i16 1886, i16 2004, i16 1762, i16 2001, i16 1763, i16 2005, i16 1, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1220, i16 2022, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1892, i16 1189, i16 1893, i16 1189, i16 1894, i16 1189, i16 3, i16 461, i16 1895, i16 1189, i16 1896, i16 1189, i16 1897, i16 1189, i16 3, i16 465, i16 1898, i16 1189, i16 1899, i16 1189, i16 1900, i16 1189, i16 3, i16 469, i16 1901, i16 1189, i16 1902, i16 1189, i16 1903, i16 1189, i16 2, i16 491, i16 1910, i16 1189, i16 1911, i16 1189, i16 2, i16 499, i16 1913, i16 1189, i16 1914, i16 1189, i16 29, i16 519, i16 1918, i16 1189, i16 1703, i16 1189, i16 1704, i16 1189, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 1717, i16 1189, i16 1718, i16 1189, i16 1719, i16 1189, i16 1720, i16 1189, i16 1721, i16 1189, i16 1722, i16 1189, i16 1723, i16 1189, i16 1724, i16 1189, i16 1725, i16 1189, i16 1726, i16 1189, i16 1727, i16 1189, i16 1728, i16 1189, i16 1729, i16 1189, i16 1730, i16 1189, i16 2, i16 753, i16 1919, i16 1189, i16 1920, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1759, i16 1846, i16 1758, i16 2023, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 898, i16 1888, i16 1846, i16 1887, i16 2024, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 955, i16 1785, i16 1846, i16 1784, i16 2025, i16 4, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 1921, i16 2026, i16 1922, i16 2027, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1046, i16 1798, i16 1846, i16 1797, i16 2028, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 2029, i16 1815, i16 2030, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 2, i16 1179, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1817, i16 1846, i16 1816, i16 2031, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 8, i16 1361, i16 1843, i16 1846, i16 1842, i16 2032, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 2, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 7, i16 1418, i16 1874, i16 1187, i16 1873, i16 1846, i16 1872, i16 2033, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 10, i16 1440, i16 1841, i16 1846, i16 1840, i16 2034, i16 1771, i16 1846, i16 1770, i16 2035, i16 1831, i16 2036, i16 1830, i16 2037, i16 1829, i16 1846, i16 1828, i16 2038, i16 1823, i16 2039, i16 1822, i16 2040, i16 4, i16 2011, i16 1923, i16 1744, i16 1924, i16 2041, i16 1925, i16 2042, i16 1926, i16 2043, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1702, i16 205, i16 1189, i16 1701, i16 221, i16 1189, i16 1700, i16 324, i16 1189, i16 1889, i16 371, i16 1189, i16 1890, i16 445, i16 1189, i16 1891, i16 447, i16 1189, i16 1904, i16 473, i16 1189, i16 1905, i16 476, i16 1189, i16 1906, i16 479, i16 1189, i16 1907, i16 481, i16 1189, i16 1908, i16 484, i16 1189, i16 1909, i16 487, i16 1189, i16 1912, i16 495, i16 1189, i16 1915, i16 503, i16 1189, i16 1916, i16 507, i16 1189, i16 1917, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 4, i16 877, i16 1778, i16 1190, i16 1779, i16 2007, i16 1776, i16 1190, i16 1777, i16 1976, i16 6, i16 898, i16 1927, i16 1190, i16 1928, i16 2044, i16 1929, i16 2045, i16 1930, i16 2046, i16 1782, i16 1190, i16 1783, i16 2047, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 4, i16 1099, i16 1931, i16 1190, i16 1932, i16 2048, i16 1933, i16 2049, i16 1934, i16 2050, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 6, i16 1132, i16 1935, i16 1190, i16 1936, i16 2051, i16 1937, i16 2052, i16 1938, i16 2053, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1836, i16 1190, i16 1837, i16 2016, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 2, i16 1429, i16 1881, i16 1923, i16 1882, i16 1924, i16 2, i16 1440, i16 1879, i16 1190, i16 1880, i16 2018, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 4, i16 1132, i16 1810, i16 1190, i16 1811, i16 2054, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 10, i16 1266, i16 1836, i16 2055, i16 1837, i16 2056, i16 1875, i16 2057, i16 1876, i16 2058, i16 1877, i16 2059, i16 1878, i16 2060, i16 1881, i16 2061, i16 1882, i16 2062, i16 1879, i16 2063, i16 1880, i16 2064, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 22, i16 1370, i16 1856, i16 2065, i16 1857, i16 2066, i16 1858, i16 2067, i16 1859, i16 2068, i16 1860, i16 2069, i16 1861, i16 2070, i16 1862, i16 2071, i16 1863, i16 2072, i16 1868, i16 2073, i16 1869, i16 2074, i16 1866, i16 2075, i16 1867, i16 2076, i16 1864, i16 2077, i16 1865, i16 2078, i16 1820, i16 2079, i16 1821, i16 2080, i16 1764, i16 2081, i16 1765, i16 2082, i16 1828, i16 2081, i16 1829, i16 2083, i16 1848, i16 2081, i16 1849, i16 2084, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 1874, i16 1418, i16 1187, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 4, i16 877, i16 1939, i16 1190, i16 1940, i16 2085, i16 1941, i16 2086, i16 1942, i16 2087, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 4, i16 1099, i16 1943, i16 1190, i16 1944, i16 2088, i16 1945, i16 2089, i16 1946, i16 2090, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 4, i16 1132, i16 1810, i16 1190, i16 1811, i16 2054, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 32766, i16 32766, i16 32766, i16 -2, i16 16384, i16 0, i16 16384, i16 -2, i16 16384, i16 0, i16 16384, i16 -16206, i16 16384, i16 0, i16 16384, i16 -16204, i16 16384, i16 0, i16 16384, i16 -16353, i16 16384, i16 0, i16 16384, i16 -16352, i16 16384, i16 0, i16 16384, i16 -16351, i16 16384, i16 0, i16 16384, i16 -16350, i16 16384, i16 0, i16 16384, i16 -16349, i16 16384, i16 0, i16 16384, i16 -16348, i16 16384, i16 0, i16 16384, i16 -16347, i16 16384, i16 0, i16 16384, i16 -16346, i16 16384, i16 0, i16 16384, i16 -16345, i16 16384, i16 0, i16 16384, i16 -16344, i16 16384, i16 0, i16 16384, i16 -16343, i16 16384, i16 0, i16 16384, i16 -16342, i16 16384, i16 0, i16 16384, i16 -16341, i16 16384, i16 0, i16 16384, i16 -15486, i16 16384, i16 0, i16 16384, i16 -16340, i16 16384, i16 0, i16 16384, i16 -16339, i16 16384, i16 0, i16 16384, i16 -15485, i16 16384, i16 0, i16 16384, i16 -16338, i16 16384, i16 0, i16 16384, i16 -15484, i16 16384, i16 0, i16 16384, i16 -15483, i16 16384, i16 0, i16 16384, i16 -15482, i16 16384, i16 0, i16 16384, i16 -16337, i16 16384, i16 0, i16 16384, i16 -16336, i16 16384, i16 0, i16 16384, i16 -16335, i16 16384, i16 0, i16 16384, i16 -16334, i16 16384, i16 0, i16 16384, i16 -16333, i16 16384, i16 0, i16 16384, i16 -15481, i16 16384, i16 0, i16 16384, i16 -16332, i16 16384, i16 0, i16 16384, i16 -16331, i16 16384, i16 0, i16 16384, i16 -16330, i16 16384, i16 0, i16 16384, i16 -16329, i16 16384, i16 0, i16 16384, i16 -16328, i16 16384, i16 0, i16 16384, i16 -16327, i16 16384, i16 0, i16 16384, i16 -15480, i16 16384, i16 0, i16 16384, i16 -16326, i16 16384, i16 0, i16 16384, i16 -16325, i16 16534, i16 14, i16 17273, i16 -16384, i16 16415, i16 14, i16 17273, i16 -16384, i16 16416, i16 14, i16 17273, i16 -16384, i16 16417, i16 14, i16 17273, i16 -16384, i16 16418, i16 14, i16 17273, i16 -16384, i16 16419, i16 14, i16 17273, i16 -16384, i16 16420, i16 14, i16 17273, i16 -16384, i16 16421, i16 14, i16 17273, i16 -16384, i16 16422, i16 14, i16 17273, i16 -16384, i16 16423, i16 14, i16 17273, i16 -16384, i16 16424, i16 14, i16 17273, i16 -16384, i16 16415, i16 17, i16 17273, i16 -16384, i16 16415, i16 896, i16 17273, i16 -16384, i16 16415, i16 897, i16 17273, i16 -16384, i16 16415, i16 19, i16 17273, i16 -16384, i16 16415, i16 21, i16 17273, i16 -16384, i16 16415, i16 18, i16 17273, i16 -16384, i16 16415, i16 20, i16 17273, i16 -16384, i16 16415, i16 14, i16 16392, i16 -16384, i16 16416, i16 14, i16 16392, i16 -16384, i16 16417, i16 14, i16 16392, i16 -16384, i16 16418, i16 14, i16 16392, i16 -16384, i16 16419, i16 14, i16 16392, i16 -16384, i16 16420, i16 14, i16 16392, i16 -16384, i16 16421, i16 14, i16 16392, i16 -16384, i16 16422, i16 14, i16 16392, i16 -16384, i16 16423, i16 14, i16 16392, i16 -16384, i16 16424, i16 14, i16 16392, i16 -16384, i16 16425, i16 14, i16 17273, i16 -16384, i16 16425, i16 15, i16 16392, i16 -16384, i16 16425, i16 26, i16 17273, i16 -16384, i16 16425, i16 27, i16 17273, i16 -16384, i16 16426, i16 14, i16 17273, i16 -16384, i16 16427, i16 14, i16 17273, i16 -16384, i16 17282, i16 14, i16 17273, i16 -16384, i16 17282, i16 18, i16 17273, i16 -16384, i16 16428, i16 14, i16 17273, i16 -16384, i16 16428, i16 16, i16 17273, i16 -16384, i16 16428, i16 17, i16 17273, i16 -16384, i16 16428, i16 897, i16 17273, i16 -16384, i16 16428, i16 20, i16 17273, i16 -16384, i16 16428, i16 18, i16 17273, i16 -16384, i16 16428, i16 23, i16 17273, i16 -16384, i16 16428, i16 26, i16 17273, i16 -16384, i16 16428, i16 27, i16 17273, i16 -16384, i16 16429, i16 14, i16 17273, i16 -16384, i16 17283, i16 14, i16 17273, i16 -16384, i16 17283, i16 25, i16 17273, i16 -16384, i16 16430, i16 14, i16 17273, i16 -16384, i16 17284, i16 16, i16 17273, i16 -16384, i16 17284, i16 17, i16 17273, i16 -16384, i16 17284, i16 20, i16 17273, i16 -16384, i16 17284, i16 22, i16 17273, i16 -16384, i16 17284, i16 26, i16 17273, i16 -16384, i16 17284, i16 27, i16 17273, i16 -16384, i16 18009, i16 1628, i16 18015, i16 -16384, i16 17285, i16 14, i16 17273, i16 -16384, i16 17286, i16 14, i16 17273, i16 -16384, i16 17286, i16 15, i16 17273, i16 -16384, i16 17286, i16 25, i16 17273, i16 -16384, i16 16431, i16 14, i16 17273, i16 -16384, i16 16431, i16 16, i16 17273, i16 -16384, i16 16431, i16 18, i16 17273, i16 -16384, i16 16431, i16 24, i16 17273, i16 -16384, i16 16431, i16 25, i16 17273, i16 -16384, i16 16431, i16 23, i16 17273, i16 -16384, i16 16432, i16 14, i16 17273, i16 -16384, i16 16433, i16 14, i16 17273, i16 -16384, i16 16433, i16 15, i16 17273, i16 -16384, i16 16433, i16 16, i16 17273, i16 -16384, i16 16433, i16 18, i16 17273, i16 -16384, i16 16433, i16 25, i16 17273, i16 -16384, i16 16434, i16 14, i16 17273, i16 -16384, i16 16434, i16 15, i16 16392, i16 -16384, i16 16434, i16 16, i16 17273, i16 -16384, i16 16434, i16 17, i16 17273, i16 -16384, i16 16434, i16 897, i16 17273, i16 -16384, i16 16434, i16 22, i16 17273, i16 -16384, i16 16434, i16 27, i16 17273, i16 -16384, i16 18018, i16 1628, i16 18015, i16 -16384, i16 16435, i16 14, i16 17273, i16 -16384, i16 17287, i16 14, i16 17273, i16 -16384, i16 16436, i16 14, i16 17273, i16 -16384, i16 16436, i16 16, i16 17273, i16 -16384, i16 16436, i16 18, i16 17273, i16 -16384, i16 16436, i16 25, i16 17273, i16 -16384, i16 16437, i16 14, i16 17273, i16 -16384, i16 16437, i16 16, i16 17273, i16 -16384, i16 16438, i16 14, i16 17273, i16 -16384, i16 16438, i16 18, i16 17273, i16 -16384, i16 16438, i16 24, i16 17273, i16 -16384, i16 16439, i16 14, i16 17273, i16 -16384, i16 16439, i16 16, i16 17273, i16 -16384, i16 16439, i16 17, i16 17273, i16 -16384, i16 16439, i16 897, i16 17273, i16 -16384, i16 16439, i16 19, i16 17273, i16 -16384, i16 16439, i16 22, i16 17273, i16 -16384, i16 16439, i16 26, i16 17273, i16 -16384, i16 16439, i16 27, i16 17273, i16 -16384, i16 16440, i16 14, i16 17273, i16 -16384, i16 16441, i16 897, i16 17273, i16 -16384, i16 17288, i16 14, i16 17273, i16 -16384, i16 16442, i16 14, i16 17273, i16 -16384, i16 16442, i16 16, i16 17273, i16 -16384, i16 16442, i16 20, i16 17273, i16 -16384, i16 16442, i16 897, i16 17273, i16 -16384, i16 16443, i16 14, i16 17273, i16 -16384, i16 16443, i16 16, i16 17273, i16 -16384, i16 16444, i16 14, i16 17273, i16 -16384, i16 16425, i16 14, i16 16393, i16 -16384, i16 16425, i16 26, i16 16393, i16 -16384, i16 16425, i16 27, i16 16393, i16 -16384, i16 16426, i16 14, i16 16393, i16 -16384, i16 16427, i16 14, i16 16393, i16 -16384, i16 17282, i16 14, i16 16393, i16 -16384, i16 17282, i16 18, i16 16393, i16 -16384, i16 16428, i16 14, i16 16393, i16 -16384, i16 16428, i16 16, i16 16393, i16 -16384, i16 16428, i16 17, i16 16393, i16 -16384, i16 16428, i16 897, i16 16393, i16 -16384, i16 16428, i16 20, i16 16393, i16 -16384, i16 16428, i16 18, i16 16393, i16 -16384, i16 16428, i16 23, i16 16393, i16 -16384, i16 16428, i16 26, i16 16393, i16 -16384, i16 16428, i16 27, i16 16393, i16 -16384, i16 16429, i16 14, i16 16393, i16 -16384, i16 17283, i16 14, i16 16393, i16 -16384, i16 17283, i16 25, i16 16393, i16 -16384, i16 16430, i16 14, i16 16393, i16 -16384, i16 17284, i16 16, i16 16393, i16 -16384, i16 17284, i16 17, i16 16393, i16 -16384, i16 17284, i16 20, i16 16393, i16 -16384, i16 17284, i16 22, i16 16393, i16 -16384, i16 17284, i16 26, i16 16393, i16 -16384, i16 17284, i16 27, i16 16393, i16 -16384, i16 18009, i16 1628, i16 18021, i16 -16384, i16 17285, i16 14, i16 16393, i16 -16384, i16 17286, i16 14, i16 16393, i16 -16384, i16 17286, i16 25, i16 16393, i16 -16384, i16 16431, i16 14, i16 16393, i16 -16384, i16 16431, i16 16, i16 16393, i16 -16384, i16 16431, i16 18, i16 16393, i16 -16384, i16 16431, i16 24, i16 16393, i16 -16384, i16 16431, i16 25, i16 16393, i16 -16384, i16 16431, i16 23, i16 16393, i16 -16384, i16 16432, i16 14, i16 16393, i16 -16384, i16 16433, i16 14, i16 16393, i16 -16384, i16 16433, i16 16, i16 16393, i16 -16384, i16 16433, i16 18, i16 16393, i16 -16384, i16 16433, i16 25, i16 16393, i16 -16384, i16 16434, i16 14, i16 16393, i16 -16384, i16 16434, i16 16, i16 16393, i16 -16384, i16 16434, i16 17, i16 16393, i16 -16384, i16 16434, i16 897, i16 16393, i16 -16384, i16 16434, i16 22, i16 16393, i16 -16384, i16 16434, i16 27, i16 16393, i16 -16384, i16 18018, i16 1628, i16 18021, i16 -16384, i16 16435, i16 14, i16 16393, i16 -16384, i16 17287, i16 14, i16 16393, i16 -16384, i16 16436, i16 14, i16 16393, i16 -16384, i16 16436, i16 16, i16 16393, i16 -16384, i16 16436, i16 18, i16 16393, i16 -16384, i16 16436, i16 25, i16 16393, i16 -16384, i16 16437, i16 14, i16 16393, i16 -16384, i16 16437, i16 16, i16 16393, i16 -16384, i16 16438, i16 14, i16 16393, i16 -16384, i16 16438, i16 18, i16 16393, i16 -16384, i16 16438, i16 24, i16 16393, i16 -16384, i16 16439, i16 14, i16 16393, i16 -16384, i16 16439, i16 16, i16 16393, i16 -16384, i16 16439, i16 17, i16 16393, i16 -16384, i16 16439, i16 897, i16 16393, i16 -16384, i16 16439, i16 19, i16 16393, i16 -16384, i16 16439, i16 22, i16 16393, i16 -16384, i16 16439, i16 26, i16 16393, i16 -16384, i16 16439, i16 27, i16 16393, i16 -16384, i16 16440, i16 14, i16 16393, i16 -16384, i16 16441, i16 897, i16 16393, i16 -16384, i16 17288, i16 14, i16 16393, i16 -16384, i16 16442, i16 14, i16 16393, i16 -16384, i16 16442, i16 16, i16 16393, i16 -16384, i16 16442, i16 897, i16 16393, i16 -16384, i16 16442, i16 20, i16 16393, i16 -16384, i16 16443, i16 14, i16 16393, i16 -16384, i16 16443, i16 16, i16 16393, i16 -16384, i16 16444, i16 14, i16 16393, i16 -16384, i16 16445, i16 16398, i16 17273, i16 -16384, i16 16446, i16 16398, i16 17273, i16 -16384, i16 16448, i16 16398, i16 17273, i16 -16384, i16 16449, i16 16398, i16 17273, i16 -16384, i16 16450, i16 16398, i16 17273, i16 -16384, i16 16451, i16 16398, i16 17273, i16 -16384, i16 16452, i16 16398, i16 17273, i16 -16384, i16 16453, i16 16398, i16 17273, i16 -16384, i16 16454, i16 16398, i16 17273, i16 -16384, i16 16455, i16 16398, i16 17273, i16 -16384, i16 16456, i16 16398, i16 17273, i16 -16384, i16 16457, i16 16398, i16 17273, i16 -16384, i16 16458, i16 16398, i16 17273, i16 -16384, i16 16459, i16 16398, i16 17273, i16 -16384, i16 16460, i16 16398, i16 17273, i16 -16384, i16 16461, i16 16398, i16 17273, i16 -16384, i16 16462, i16 16398, i16 17273, i16 -16384, i16 16463, i16 16398, i16 17273, i16 -16384, i16 16464, i16 16398, i16 17273, i16 -16384, i16 16465, i16 16398, i16 17273, i16 -16384, i16 16466, i16 16398, i16 17273, i16 -16384, i16 16467, i16 16398, i16 17273, i16 -16384, i16 16468, i16 16398, i16 17273, i16 -16384, i16 16469, i16 16398, i16 17273, i16 -16384, i16 16470, i16 16398, i16 17273, i16 -16384, i16 16471, i16 16398, i16 17273, i16 -16384, i16 16474, i16 16398, i16 17273, i16 -16384, i16 16475, i16 16398, i16 17273, i16 -16384, i16 16476, i16 16398, i16 17273, i16 -16384, i16 16477, i16 16398, i16 17273, i16 -16384, i16 16478, i16 16398, i16 17273, i16 -16384, i16 16480, i16 16398, i16 17273, i16 -16384, i16 16482, i16 17278, i16 17273, i16 -16384, i16 16482, i16 16398, i16 17273, i16 -16384, i16 61, i16 14, i16 3, i16 -16384, i16 61, i16 14, i16 4, i16 -16384, i16 61, i16 14, i16 5, i16 -16384, i16 61, i16 14, i16 6, i16 -16384, i16 62, i16 14, i16 3, i16 -16384, i16 62, i16 14, i16 4, i16 -16384, i16 62, i16 14, i16 5, i16 -16384, i16 62, i16 14, i16 6, i16 -16384, i16 64, i16 14, i16 3, i16 -16384, i16 64, i16 14, i16 4, i16 -16384, i16 64, i16 14, i16 5, i16 -16384, i16 64, i16 14, i16 6, i16 -16384, i16 65, i16 14, i16 3, i16 -16384, i16 65, i16 14, i16 4, i16 -16384, i16 65, i16 14, i16 5, i16 -16384, i16 65, i16 14, i16 6, i16 -16384, i16 66, i16 14, i16 3, i16 -16384, i16 66, i16 14, i16 4, i16 -16384, i16 66, i16 14, i16 5, i16 -16384, i16 66, i16 14, i16 6, i16 -16384, i16 67, i16 14, i16 3, i16 -16384, i16 67, i16 14, i16 4, i16 -16384, i16 67, i16 14, i16 5, i16 -16384, i16 67, i16 14, i16 6, i16 -16384, i16 68, i16 14, i16 3, i16 -16384, i16 68, i16 14, i16 4, i16 -16384, i16 68, i16 14, i16 5, i16 -16384, i16 68, i16 14, i16 6, i16 -16384, i16 69, i16 14, i16 3, i16 -16384, i16 69, i16 14, i16 4, i16 -16384, i16 69, i16 14, i16 5, i16 -16384, i16 69, i16 14, i16 6, i16 -16384, i16 70, i16 14, i16 3, i16 -16384, i16 70, i16 14, i16 4, i16 -16384, i16 70, i16 14, i16 5, i16 -16384, i16 70, i16 14, i16 6, i16 -16384, i16 71, i16 14, i16 3, i16 -16384, i16 71, i16 14, i16 4, i16 -16384, i16 72, i16 14, i16 3, i16 -16384, i16 72, i16 14, i16 4, i16 -16384, i16 73, i16 14, i16 3, i16 -16384, i16 73, i16 14, i16 4, i16 -16384, i16 74, i16 14, i16 3, i16 -16384, i16 74, i16 14, i16 4, i16 -16384, i16 75, i16 14, i16 3, i16 -16384, i16 75, i16 14, i16 4, i16 -16384, i16 76, i16 14, i16 3, i16 -16384, i16 76, i16 14, i16 4, i16 -16384, i16 77, i16 14, i16 3, i16 -16384, i16 77, i16 14, i16 4, i16 -16384, i16 78, i16 14, i16 3, i16 -16384, i16 78, i16 14, i16 4, i16 -16384, i16 78, i16 14, i16 5, i16 -16384, i16 78, i16 14, i16 6, i16 -16384, i16 79, i16 14, i16 3, i16 -16384, i16 79, i16 14, i16 4, i16 -16384, i16 79, i16 14, i16 5, i16 -16384, i16 79, i16 14, i16 6, i16 -16384, i16 80, i16 14, i16 3, i16 -16384, i16 80, i16 14, i16 4, i16 -16384, i16 80, i16 14, i16 5, i16 -16384, i16 80, i16 14, i16 6, i16 -16384, i16 81, i16 14, i16 3, i16 -16384, i16 81, i16 14, i16 4, i16 -16384, i16 81, i16 14, i16 5, i16 -16384, i16 81, i16 14, i16 6, i16 -16384, i16 82, i16 14, i16 3, i16 -16384, i16 82, i16 14, i16 4, i16 -16384, i16 82, i16 14, i16 5, i16 -16384, i16 82, i16 14, i16 6, i16 -16384, i16 83, i16 14, i16 3, i16 -16384, i16 83, i16 14, i16 4, i16 -16384, i16 83, i16 14, i16 5, i16 -16384, i16 83, i16 14, i16 6, i16 -16384, i16 84, i16 14, i16 3, i16 -16384, i16 84, i16 14, i16 4, i16 -16384, i16 84, i16 14, i16 5, i16 -16384, i16 84, i16 14, i16 6, i16 -16384, i16 85, i16 14, i16 3, i16 -16384, i16 85, i16 14, i16 4, i16 -16384, i16 85, i16 14, i16 5, i16 -16384, i16 85, i16 14, i16 6, i16 -16384, i16 86, i16 14, i16 3, i16 -16384, i16 86, i16 14, i16 4, i16 -16384, i16 86, i16 14, i16 5, i16 -16384, i16 86, i16 14, i16 6, i16 -16384, i16 87, i16 14, i16 3, i16 -16384, i16 87, i16 14, i16 4, i16 -16384, i16 87, i16 14, i16 5, i16 -16384, i16 87, i16 14, i16 6, i16 -16384, i16 90, i16 14, i16 3, i16 -16384, i16 90, i16 14, i16 4, i16 -16384, i16 90, i16 14, i16 5, i16 -16384, i16 90, i16 14, i16 6, i16 -16384, i16 91, i16 14, i16 3, i16 -16384, i16 91, i16 14, i16 4, i16 -16384, i16 91, i16 14, i16 5, i16 -16384, i16 91, i16 14, i16 6, i16 -16384, i16 92, i16 14, i16 3, i16 -16384, i16 92, i16 14, i16 4, i16 -16384, i16 92, i16 14, i16 5, i16 -16384, i16 92, i16 14, i16 6, i16 -16384, i16 93, i16 14, i16 3, i16 -16384, i16 93, i16 14, i16 4, i16 -16384, i16 93, i16 14, i16 5, i16 -16384, i16 93, i16 14, i16 6, i16 -16384, i16 94, i16 14, i16 3, i16 -16384, i16 94, i16 14, i16 4, i16 -16384, i16 96, i16 14, i16 3, i16 -16384, i16 96, i16 14, i16 4, i16 -16384, i16 1640, i16 1643, i16 1646, i16 -16384, i16 1640, i16 1643, i16 1649, i16 -16384, i16 1640, i16 1643, i16 1652, i16 -16384, i16 1640, i16 1643, i16 1655, i16 -16384, i16 98, i16 894, i16 3, i16 -16384, i16 98, i16 894, i16 4, i16 -16384, i16 98, i16 14, i16 3, i16 -16384, i16 98, i16 14, i16 4, i16 -16384, i16 16483, i16 16398, i16 16384, i16 -16384, i16 16484, i16 16398, i16 16384, i16 -16384, i16 16485, i16 16398, i16 16384, i16 -16384, i16 16486, i16 16398, i16 16384, i16 -16384, i16 16487, i16 16398, i16 16384, i16 -16384, i16 16488, i16 16398, i16 16384, i16 -16384, i16 16489, i16 16398, i16 16384, i16 -16384, i16 16490, i16 16398, i16 16384, i16 -16384, i16 16491, i16 16398, i16 16384, i16 -16384, i16 16492, i16 16398, i16 16384, i16 -16384, i16 16493, i16 16398, i16 16384, i16 -16384, i16 16494, i16 16398, i16 16384, i16 -16384, i16 16495, i16 16398, i16 16384, i16 -16384, i16 16496, i16 16398, i16 16384, i16 -16384, i16 16497, i16 16398, i16 16384, i16 -16384, i16 16498, i16 16398, i16 16384, i16 -16384, i16 16499, i16 16398, i16 16384, i16 -16384, i16 16500, i16 16398, i16 16384, i16 -16384, i16 16501, i16 16398, i16 16384, i16 -16384, i16 16502, i16 16398, i16 16384, i16 -16384, i16 16503, i16 16398, i16 16384, i16 -16384, i16 16504, i16 16398, i16 16384, i16 -16384, i16 16505, i16 16398, i16 16384, i16 -16384, i16 16506, i16 16398, i16 16384, i16 -16384, i16 16507, i16 16398, i16 16384, i16 -16384, i16 16508, i16 16398, i16 16384, i16 -16384, i16 16509, i16 16398, i16 16384, i16 -16384, i16 16510, i16 14, i16 16393, i16 -16384, i16 16510, i16 28, i16 16393, i16 -16384, i16 16511, i16 14, i16 16393, i16 -16384, i16 16512, i16 14, i16 16393, i16 -16384, i16 16512, i16 15, i16 16393, i16 -16384, i16 16513, i16 14, i16 16393, i16 -16384, i16 16513, i16 15, i16 16393, i16 -16384, i16 16514, i16 14, i16 16393, i16 -16384, i16 16514, i16 28, i16 16393, i16 -16384, i16 16515, i16 14, i16 16393, i16 -16384, i16 16515, i16 15, i16 16393, i16 -16384, i16 16516, i16 14, i16 16393, i16 -16384, i16 16516, i16 28, i16 16393, i16 -16384, i16 16517, i16 14, i16 16393, i16 -16384, i16 16518, i16 14, i16 16393, i16 -16384, i16 16518, i16 28, i16 16393, i16 -16384, i16 16518, i16 29, i16 16393, i16 -16384, i16 16519, i16 14, i16 16393, i16 -16384, i16 16519, i16 15, i16 16393, i16 -16384, i16 16519, i16 895, i16 16393, i16 -16384, i16 16520, i16 14, i16 16393, i16 -16384, i16 16521, i16 14, i16 16393, i16 -16384, i16 16522, i16 14, i16 16393, i16 -16384, i16 16523, i16 14, i16 16393, i16 -16384, i16 16524, i16 14, i16 16393, i16 -16384, i16 16524, i16 28, i16 16393, i16 -16384, i16 16525, i16 14, i16 16393, i16 -16384, i16 16526, i16 14, i16 16393, i16 -16384, i16 16527, i16 14, i16 16393, i16 -16384, i16 16527, i16 15, i16 16393, i16 -16384, i16 16527, i16 895, i16 16393, i16 -16384, i16 16528, i16 14, i16 16393, i16 -16384, i16 16528, i16 15, i16 16393, i16 -16384, i16 16529, i16 14, i16 16393, i16 -16384, i16 16529, i16 28, i16 16393, i16 -16384, i16 16529, i16 29, i16 16393, i16 -16384, i16 16529, i16 30, i16 16393, i16 -16384, i16 16529, i16 26, i16 16393, i16 -16384, i16 16529, i16 27, i16 16393, i16 -16384, i16 16530, i16 14, i16 16393, i16 -16384, i16 16530, i16 895, i16 16393, i16 -16384, i16 16531, i16 14, i16 16393, i16 -16384, i16 16531, i16 15, i16 16393, i16 -16384, i16 16532, i16 14, i16 16393, i16 -16384, i16 16532, i16 15, i16 16393, i16 -16384, i16 16533, i16 14, i16 16393, i16 -16384, i16 16533, i16 28, i16 16393, i16 -16384, i16 16510, i16 14, i16 16396, i16 -16384, i16 16510, i16 28, i16 16396, i16 -16384, i16 16511, i16 14, i16 16396, i16 -16384, i16 16511, i16 15, i16 16396, i16 -16384, i16 16512, i16 14, i16 16396, i16 -16384, i16 16513, i16 14, i16 16396, i16 -16384, i16 16514, i16 14, i16 16396, i16 -16384, i16 16514, i16 28, i16 16396, i16 -16384, i16 16515, i16 14, i16 16396, i16 -16384, i16 16515, i16 15, i16 16396, i16 -16384, i16 16516, i16 14, i16 16396, i16 -16384, i16 16516, i16 28, i16 16396, i16 -16384, i16 16517, i16 14, i16 16396, i16 -16384, i16 16517, i16 15, i16 16396, i16 -16384, i16 16518, i16 14, i16 16396, i16 -16384, i16 16518, i16 28, i16 16396, i16 -16384, i16 16518, i16 29, i16 16396, i16 -16384, i16 16518, i16 30, i16 16396, i16 -16384, i16 16518, i16 26, i16 16396, i16 -16384, i16 16519, i16 14, i16 16396, i16 -16384, i16 16519, i16 15, i16 16396, i16 -16384, i16 16519, i16 895, i16 16396, i16 -16384, i16 16520, i16 14, i16 16396, i16 -16384, i16 16521, i16 14, i16 16396, i16 -16384, i16 16522, i16 14, i16 16396, i16 -16384, i16 16523, i16 14, i16 16396, i16 -16384, i16 16524, i16 14, i16 16396, i16 -16384, i16 16524, i16 28, i16 16396, i16 -16384, i16 16525, i16 14, i16 16396, i16 -16384, i16 16525, i16 15, i16 16396, i16 -16384, i16 16526, i16 15, i16 16396, i16 -16384, i16 16527, i16 14, i16 16396, i16 -16384, i16 16527, i16 15, i16 16396, i16 -16384, i16 16527, i16 895, i16 16396, i16 -16384, i16 16527, i16 26, i16 16396, i16 -16384, i16 16528, i16 14, i16 16396, i16 -16384, i16 16528, i16 15, i16 16396, i16 -16384, i16 16529, i16 14, i16 16396, i16 -16384, i16 16529, i16 28, i16 16396, i16 -16384, i16 16529, i16 29, i16 16396, i16 -16384, i16 16529, i16 30, i16 16396, i16 -16384, i16 16530, i16 14, i16 16396, i16 -16384, i16 16530, i16 15, i16 16396, i16 -16384, i16 16530, i16 895, i16 16396, i16 -16384, i16 16531, i16 14, i16 16396, i16 -16384, i16 16532, i16 14, i16 16396, i16 -16384, i16 16532, i16 15, i16 16396, i16 -16384, i16 16533, i16 14, i16 16396, i16 -16384, i16 16533, i16 28, i16 16396, i16 -16384, i16 17292, i16 16398, i16 17273, i16 -16384, i16 17293, i16 16398, i16 17273, i16 -16384, i16 17294, i16 16398, i16 17273, i16 -16384, i16 17295, i16 16398, i16 17273, i16 -16384, i16 17296, i16 16398, i16 17273, i16 -16384, i16 17299, i16 16398, i16 17273, i16 -16384, i16 17302, i16 16398, i16 17273, i16 -16384, i16 17303, i16 16398, i16 17273, i16 -16384, i16 17305, i16 16398, i16 17273, i16 -16384, i16 17308, i16 16398, i16 17273, i16 -16384, i16 17309, i16 16398, i16 17273, i16 -16384, i16 17310, i16 16398, i16 17273, i16 -16384, i16 17311, i16 16398, i16 17273, i16 -16384, i16 17313, i16 16398, i16 17273, i16 -16384, i16 17314, i16 16398, i16 17273, i16 -16384, i16 17316, i16 16398, i16 17273, i16 -16384, i16 17317, i16 16398, i16 17273, i16 -16384, i16 17318, i16 16398, i16 17273, i16 -16384, i16 17319, i16 16398, i16 17273, i16 -16384, i16 17320, i16 16398, i16 17273, i16 -16384, i16 17323, i16 16398, i16 17273, i16 -16384, i16 17325, i16 16398, i16 17273, i16 -16384, i16 17326, i16 16398, i16 17273, i16 -16384, i16 17327, i16 16398, i16 17273, i16 -16384, i16 17328, i16 16398, i16 17273, i16 -16384, i16 17330, i16 16398, i16 17273, i16 -16384, i16 17331, i16 16398, i16 17273, i16 -16384, i16 17332, i16 16398, i16 17273, i16 -16384, i16 17334, i16 16398, i16 17273, i16 -16384, i16 17336, i16 16398, i16 17273, i16 -16384, i16 17337, i16 16398, i16 17273, i16 -16384, i16 17292, i16 16398, i16 16393, i16 -16384, i16 17293, i16 16398, i16 16393, i16 -16384, i16 17294, i16 16398, i16 16393, i16 -16384, i16 17295, i16 16398, i16 16393, i16 -16384, i16 17296, i16 16398, i16 16393, i16 -16384, i16 17299, i16 16398, i16 16393, i16 -16384, i16 17302, i16 16398, i16 16393, i16 -16384, i16 17303, i16 16398, i16 16393, i16 -16384, i16 17305, i16 16398, i16 16393, i16 -16384, i16 17308, i16 16398, i16 16393, i16 -16384, i16 17310, i16 16398, i16 16393, i16 -16384, i16 17311, i16 16398, i16 16393, i16 -16384, i16 17313, i16 16398, i16 16393, i16 -16384, i16 17314, i16 16398, i16 16393, i16 -16384, i16 17316, i16 16398, i16 16393, i16 -16384, i16 17317, i16 16398, i16 16393, i16 -16384, i16 17318, i16 16398, i16 16393, i16 -16384, i16 17319, i16 16398, i16 16393, i16 -16384, i16 17320, i16 16398, i16 16393, i16 -16384, i16 17323, i16 16398, i16 16393, i16 -16384, i16 17325, i16 16398, i16 16393, i16 -16384, i16 17326, i16 16398, i16 16393, i16 -16384, i16 17327, i16 16398, i16 16393, i16 -16384, i16 17328, i16 16398, i16 16393, i16 -16384, i16 17330, i16 16398, i16 16393, i16 -16384, i16 17331, i16 16398, i16 16393, i16 -16384, i16 17332, i16 16398, i16 16393, i16 -16384, i16 17334, i16 16398, i16 16393, i16 -16384, i16 17336, i16 16398, i16 16393, i16 -16384, i16 17337, i16 16398, i16 16393, i16 -16384, i16 16425, i16 16, i16 17273, i16 -16384, i16 16425, i16 17, i16 17273, i16 -16384, i16 16425, i16 897, i16 17273, i16 -16384, i16 16425, i16 22, i16 17273, i16 -16384, i16 16425, i16 20, i16 17273, i16 -16384, i16 16425, i16 19, i16 17273, i16 -16384, i16 16425, i16 896, i16 17273, i16 -16384, i16 18042, i16 1628, i16 18015, i16 -16384, i16 16427, i16 25, i16 17273, i16 -16384, i16 16427, i16 16, i16 17273, i16 -16384, i16 16427, i16 897, i16 17273, i16 -16384, i16 16427, i16 18, i16 17273, i16 -16384, i16 16427, i16 23, i16 17273, i16 -16384, i16 17282, i16 15, i16 17273, i16 -16384, i16 17282, i16 24, i16 17273, i16 -16384, i16 17283, i16 896, i16 17273, i16 -16384, i16 17283, i16 897, i16 17273, i16 -16384, i16 17283, i16 23, i16 17273, i16 -16384, i16 16430, i16 897, i16 17273, i16 -16384, i16 16430, i16 24, i16 17273, i16 -16384, i16 17284, i16 14, i16 17273, i16 -16384, i16 17284, i16 897, i16 17273, i16 -16384, i16 17284, i16 15, i16 17273, i16 -16384, i16 17285, i16 897, i16 17273, i16 -16384, i16 16433, i16 22, i16 17273, i16 -16384, i16 18045, i16 1628, i16 18015, i16 -16384, i16 16434, i16 20, i16 17273, i16 -16384, i16 16434, i16 24, i16 17273, i16 -16384, i16 16434, i16 21, i16 17273, i16 -16384, i16 16437, i16 897, i16 17273, i16 -16384, i16 16437, i16 18, i16 17273, i16 -16384, i16 16437, i16 25, i16 17273, i16 -16384, i16 18048, i16 1628, i16 18015, i16 -16384, i16 16438, i16 25, i16 17273, i16 -16384, i16 16439, i16 20, i16 17273, i16 -16384, i16 16439, i16 896, i16 17273, i16 -16384, i16 16439, i16 21, i16 17273, i16 -16384, i16 16441, i16 14, i16 17273, i16 -16384, i16 16443, i16 18, i16 17273, i16 -16384, i16 16443, i16 23, i16 17273, i16 -16384, i16 16425, i16 16, i16 16393, i16 -16384, i16 16425, i16 17, i16 16393, i16 -16384, i16 16425, i16 897, i16 16393, i16 -16384, i16 16425, i16 22, i16 16393, i16 -16384, i16 16425, i16 20, i16 16393, i16 -16384, i16 16425, i16 19, i16 16393, i16 -16384, i16 16425, i16 896, i16 16393, i16 -16384, i16 18042, i16 1628, i16 18021, i16 -16384, i16 16427, i16 25, i16 16393, i16 -16384, i16 16427, i16 16, i16 16393, i16 -16384, i16 16427, i16 897, i16 16393, i16 -16384, i16 16427, i16 18, i16 16393, i16 -16384, i16 16427, i16 23, i16 16393, i16 -16384, i16 17282, i16 15, i16 16393, i16 -16384, i16 17282, i16 24, i16 16393, i16 -16384, i16 17283, i16 896, i16 16393, i16 -16384, i16 17283, i16 897, i16 16393, i16 -16384, i16 17283, i16 23, i16 16393, i16 -16384, i16 16430, i16 897, i16 16393, i16 -16384, i16 16430, i16 24, i16 16393, i16 -16384, i16 17284, i16 14, i16 16393, i16 -16384, i16 17284, i16 897, i16 16393, i16 -16384, i16 17284, i16 15, i16 16393, i16 -16384, i16 17285, i16 897, i16 16393, i16 -16384, i16 16433, i16 22, i16 16393, i16 -16384, i16 18045, i16 1628, i16 18021, i16 -16384, i16 16434, i16 20, i16 16393, i16 -16384, i16 16434, i16 24, i16 16393, i16 -16384, i16 16434, i16 21, i16 16393, i16 -16384, i16 16437, i16 897, i16 16393, i16 -16384, i16 16437, i16 18, i16 16393, i16 -16384, i16 16437, i16 25, i16 16393, i16 -16384, i16 16438, i16 25, i16 16393, i16 -16384, i16 16439, i16 20, i16 16393, i16 -16384, i16 16439, i16 896, i16 16393, i16 -16384, i16 16439, i16 21, i16 16393, i16 -16384, i16 16441, i16 14, i16 16393, i16 -16384, i16 16443, i16 18, i16 16393, i16 -16384, i16 16443, i16 23, i16 16393, i16 -16384, i16 16415, i16 16398, i16 17273, i16 -16384, i16 16415, i16 16399, i16 17273, i16 -16384, i16 16416, i16 16398, i16 17273, i16 -16384, i16 16416, i16 16399, i16 17273, i16 -16384, i16 16417, i16 16398, i16 17273, i16 -16384, i16 16417, i16 16399, i16 17273, i16 -16384, i16 16418, i16 16398, i16 17273, i16 -16384, i16 16418, i16 16399, i16 17273, i16 -16384, i16 16419, i16 16398, i16 17273, i16 -16384, i16 16419, i16 16399, i16 17273, i16 -16384, i16 16420, i16 16398, i16 17273, i16 -16384, i16 16420, i16 16399, i16 17273, i16 -16384, i16 16421, i16 16398, i16 17273, i16 -16384, i16 16421, i16 16399, i16 17273, i16 -16384, i16 16422, i16 16398, i16 17273, i16 -16384, i16 16422, i16 16399, i16 17273, i16 -16384, i16 16423, i16 16398, i16 17273, i16 -16384, i16 16423, i16 16399, i16 17273, i16 -16384, i16 16424, i16 16398, i16 17273, i16 -16384, i16 16424, i16 16399, i16 17273, i16 -16384, i16 17289, i16 16398, i16 17273, i16 -16384, i16 17290, i16 16397, i16 17273, i16 -16384, i16 17290, i16 17274, i16 17273, i16 -16384, i16 17290, i16 17276, i16 17273, i16 -16384, i16 17290, i16 16398, i16 17273, i16 -16384, i16 16447, i16 16398, i16 17273, i16 -16384, i16 16472, i16 16398, i16 17273, i16 -16384, i16 16473, i16 16398, i16 17273, i16 -16384, i16 17291, i16 16398, i16 17273, i16 -16384, i16 16479, i16 16398, i16 17273, i16 -16384, i16 16480, i16 17275, i16 17273, i16 -16384, i16 16481, i16 16398, i16 17273, i16 -16384, i16 18051, i16 18054, i16 18015, i16 -16384, i16 16481, i16 17277, i16 17273, i16 -16384, i16 905, i16 14, i16 3, i16 -16384, i16 906, i16 13, i16 3, i16 -16384, i16 906, i16 13, i16 4, i16 -16384, i16 906, i16 890, i16 3, i16 -16384, i16 906, i16 890, i16 4, i16 -16384, i16 906, i16 892, i16 3, i16 -16384, i16 906, i16 892, i16 4, i16 -16384, i16 906, i16 14, i16 3, i16 -16384, i16 906, i16 14, i16 4, i16 -16384, i16 63, i16 14, i16 3, i16 -16384, i16 63, i16 14, i16 4, i16 -16384, i16 88, i16 14, i16 3, i16 -16384, i16 88, i16 14, i16 4, i16 -16384, i16 88, i16 14, i16 5, i16 -16384, i16 88, i16 14, i16 6, i16 -16384, i16 89, i16 14, i16 3, i16 -16384, i16 89, i16 14, i16 4, i16 -16384, i16 89, i16 14, i16 5, i16 -16384, i16 89, i16 14, i16 6, i16 -16384, i16 907, i16 14, i16 3, i16 -16384, i16 907, i16 14, i16 4, i16 -16384, i16 907, i16 14, i16 5, i16 -16384, i16 907, i16 14, i16 6, i16 -16384, i16 95, i16 14, i16 3, i16 -16384, i16 95, i16 14, i16 4, i16 -16384, i16 96, i16 891, i16 3, i16 -16384, i16 96, i16 891, i16 4, i16 -16384, i16 97, i16 14, i16 3, i16 -16384, i16 97, i16 14, i16 4, i16 -16384, i16 97, i16 893, i16 3, i16 -16384, i16 97, i16 893, i16 4, i16 -16384, i16 97, i16 893, i16 5, i16 -16384, i16 97, i16 893, i16 6, i16 -16384, i16 1673, i16 1676, i16 1679, i16 -16384, i16 1673, i16 1676, i16 1682, i16 -16384, i16 1673, i16 1685, i16 1679, i16 -16384, i16 1673, i16 1685, i16 1682, i16 -16384, i16 1673, i16 1688, i16 1679, i16 -16384, i16 1673, i16 1688, i16 1682, i16 -16384, i16 1673, i16 1643, i16 1679, i16 -16384, i16 1673, i16 1643, i16 1682, i16 -16384, i16 17297, i16 16398, i16 17273, i16 -16384, i16 17298, i16 16398, i16 17273, i16 -16384, i16 17300, i16 16398, i16 17273, i16 -16384, i16 17301, i16 16398, i16 17273, i16 -16384, i16 17304, i16 16398, i16 17273, i16 -16384, i16 17306, i16 16398, i16 17273, i16 -16384, i16 17307, i16 16398, i16 17273, i16 -16384, i16 17312, i16 16398, i16 17273, i16 -16384, i16 17315, i16 16398, i16 17273, i16 -16384, i16 17321, i16 16398, i16 17273, i16 -16384, i16 17322, i16 16398, i16 17273, i16 -16384, i16 17324, i16 16398, i16 17273, i16 -16384, i16 17329, i16 16398, i16 17273, i16 -16384, i16 17333, i16 16398, i16 17273, i16 -16384, i16 17335, i16 16398, i16 17273, i16 -16384, i16 17297, i16 16398, i16 16393, i16 -16384, i16 17298, i16 16398, i16 16393, i16 -16384, i16 17300, i16 16398, i16 16393, i16 -16384, i16 17301, i16 16398, i16 16393, i16 -16384, i16 17304, i16 16398, i16 16393, i16 -16384, i16 17306, i16 16398, i16 16393, i16 -16384, i16 17307, i16 16398, i16 16393, i16 -16384, i16 17309, i16 16398, i16 16393, i16 -16384, i16 17312, i16 16398, i16 16393, i16 -16384, i16 17315, i16 16398, i16 16393, i16 -16384, i16 17321, i16 16398, i16 16393, i16 -16384, i16 17322, i16 16398, i16 16393, i16 -16384, i16 17324, i16 16398, i16 16393, i16 -16384, i16 17329, i16 16398, i16 16393, i16 -16384, i16 17333, i16 16398, i16 16393, i16 -16384, i16 17335, i16 16398, i16 16393, i16 -16384, i16 32767, i16 16384, i16 16384, i16 -16384, i16 18075, i16 18078, i16 16384, i16 -16384, i16 18081, i16 18078, i16 16384, i16 -16384, i16 18084, i16 18078, i16 16384, i16 -16384, i16 17541, i16 16407, i16 17273, i16 -16384, i16 17542, i16 16407, i16 17273, i16 -16384, i16 17543, i16 16407, i16 17273, i16 -16384, i16 17544, i16 16407, i16 17273, i16 -16384, i16 17545, i16 16407, i16 17273, i16 -16384, i16 17540, i16 16407, i16 17273, i16 -16384, i16 17555, i16 16399, i16 17273, i16 -16384, i16 17555, i16 16399, i16 16393, i16 -16384, i16 17556, i16 16399, i16 17273, i16 -16384, i16 17556, i16 16399, i16 16393, i16 -16384, i16 17561, i16 16398, i16 17273, i16 -16384, i16 17561, i16 16398, i16 16393, i16 -16384, i16 17564, i16 16399, i16 17273, i16 -16384, i16 17564, i16 16404, i16 17273, i16 -16384, i16 17564, i16 16399, i16 16393, i16 -16384, i16 17564, i16 16404, i16 16393, i16 -16384, i16 17284, i16 16398, i16 17273, i16 -16384, i16 17567, i16 16407, i16 17273, i16 -16384, i16 17284, i16 16398, i16 16393, i16 -16384, i16 17567, i16 16407, i16 16393, i16 -16384, i16 17568, i16 16399, i16 17273, i16 -16384, i16 17568, i16 16406, i16 17273, i16 -16384, i16 17568, i16 16399, i16 16393, i16 -16384, i16 17568, i16 16406, i16 16393, i16 -16384, i16 17569, i16 16404, i16 17273, i16 -16384, i16 17569, i16 16404, i16 16393, i16 -16384, i16 17565, i16 16409, i16 17273, i16 -16384, i16 17565, i16 16409, i16 16393, i16 -16384, i16 17566, i16 17280, i16 17273, i16 -16384, i16 17566, i16 17280, i16 16393, i16 -16384, i16 17570, i16 16409, i16 17273, i16 -16384, i16 17570, i16 16409, i16 16393, i16 -16384, i16 17571, i16 16404, i16 17273, i16 -16384, i16 17571, i16 16404, i16 16393, i16 -16384, i16 17572, i16 16399, i16 17273, i16 -16384, i16 17572, i16 16399, i16 16393, i16 -16384, i16 17573, i16 16399, i16 17273, i16 -16384, i16 17573, i16 16399, i16 16393, i16 -16384, i16 17574, i16 16399, i16 17273, i16 -16384, i16 17574, i16 16399, i16 16393, i16 -16384, i16 17575, i16 16399, i16 17273, i16 -16384, i16 17575, i16 16399, i16 16393, i16 -16384, i16 17576, i16 16399, i16 17273, i16 -16384, i16 17576, i16 16399, i16 16393, i16 -16384, i16 17577, i16 16399, i16 17273, i16 -16384, i16 17577, i16 16399, i16 16393, i16 -16384, i16 17578, i16 16399, i16 17273, i16 -16384, i16 17578, i16 16399, i16 16393, i16 -16384, i16 17579, i16 16399, i16 17273, i16 -16384, i16 17579, i16 16399, i16 16393, i16 -16384, i16 17602, i16 16407, i16 17273, i16 -16384, i16 17602, i16 16407, i16 17600, i16 -16384, i16 17602, i16 16407, i16 16393, i16 -16384, i16 17602, i16 16407, i16 17601, i16 -16384, i16 32766, i16 16384, i16 16384, i16 16384, i16 17619, i16 16399, i16 17273, i16 -16384, i16 17619, i16 16399, i16 16393, i16 -16384, i16 17620, i16 16399, i16 17273, i16 -16384, i16 17620, i16 16399, i16 16393, i16 -16384, i16 17621, i16 16399, i16 17273, i16 -16384, i16 17621, i16 16399, i16 16393, i16 -16384, i16 17622, i16 16399, i16 17273, i16 -16384, i16 17622, i16 16399, i16 16393, i16 -16384, i16 17623, i16 16399, i16 17273, i16 -16384, i16 17623, i16 16399, i16 16393, i16 -16384, i16 17635, i16 16404, i16 17273, i16 -16384, i16 17634, i16 16403, i16 17273, i16 -16384, i16 17635, i16 17279, i16 17273, i16 -16384, i16 17636, i16 16404, i16 17273, i16 -16384, i16 17637, i16 16408, i16 17273, i16 -16384, i16 17635, i16 16404, i16 16393, i16 -16384, i16 17634, i16 16403, i16 16393, i16 -16384, i16 17635, i16 17279, i16 16393, i16 -16384, i16 17636, i16 16404, i16 16393, i16 -16384, i16 17637, i16 16408, i16 16393, i16 -16384, i16 16440, i16 16398, i16 16393, i16 -16327, i16 16440, i16 16398, i16 17273, i16 -16327, i16 16442, i16 16404, i16 17273, i16 -16384, i16 16442, i16 16404, i16 16393, i16 -16384, i16 17638, i16 16407, i16 17273, i16 -16384, i16 17639, i16 16407, i16 17273, i16 -16384, i16 17638, i16 16407, i16 16393, i16 -16384, i16 17639, i16 16407, i16 16393, i16 -16384, i16 17640, i16 16407, i16 17273, i16 -16384, i16 17640, i16 16407, i16 17600, i16 -16384, i16 17641, i16 16407, i16 17273, i16 -16384, i16 17640, i16 16407, i16 16393, i16 -16384, i16 17640, i16 16407, i16 17601, i16 -16384, i16 17641, i16 16407, i16 16393, i16 -16384, i16 17642, i16 16407, i16 17273, i16 -16384, i16 17642, i16 16407, i16 17600, i16 -16384, i16 17642, i16 16407, i16 16393, i16 -16384, i16 17642, i16 16407, i16 17601, i16 -16384, i16 17643, i16 16407, i16 17273, i16 -16384, i16 17643, i16 16407, i16 17600, i16 -16384, i16 17643, i16 16407, i16 16393, i16 -16384, i16 17643, i16 16407, i16 17601, i16 -16384, i16 17644, i16 16407, i16 17273, i16 -16384, i16 17644, i16 16407, i16 16393, i16 -16384, i16 17645, i16 16407, i16 17273, i16 -16384, i16 17645, i16 16407, i16 16393, i16 -16384, i16 17658, i16 16401, i16 17273, i16 -16384, i16 17660, i16 16400, i16 17273, i16 -16384, i16 17661, i16 17281, i16 17273, i16 -16384, i16 17659, i16 16406, i16 17273, i16 -16384, i16 17658, i16 16401, i16 16393, i16 -16384, i16 17660, i16 16400, i16 16393, i16 -16384, i16 17661, i16 17281, i16 16393, i16 -16384, i16 17659, i16 16406, i16 16393, i16 -16384, i16 17662, i16 16409, i16 17273, i16 -16384, i16 17639, i16 16402, i16 17273, i16 -16384, i16 17662, i16 16409, i16 16393, i16 -16384, i16 17639, i16 16402, i16 16393, i16 -16384, i16 17663, i16 16398, i16 17273, i16 -16384, i16 17664, i16 16402, i16 17273, i16 -16384, i16 17664, i16 16402, i16 16393, i16 -16384, i16 17666, i16 16399, i16 17273, i16 -16384, i16 17665, i16 16408, i16 17273, i16 -16384, i16 17666, i16 16399, i16 16393, i16 -16384, i16 17665, i16 16408, i16 16393, i16 -16384, i16 17668, i16 16402, i16 17273, i16 -16384, i16 17669, i16 16408, i16 17273, i16 -16384, i16 17671, i16 18078, i16 18015, i16 -16384, i16 17644, i16 16402, i16 17273, i16 -16384, i16 17644, i16 16402, i16 16393, i16 -16384, i16 17673, i16 16404, i16 17273, i16 -16384, i16 17672, i16 17279, i16 17273, i16 -16384, i16 17673, i16 16404, i16 16393, i16 -16384, i16 17672, i16 17279, i16 16393, i16 -16384, i16 17667, i16 16398, i16 17273, i16 -16384, i16 17670, i16 16402, i16 17273, i16 -16384, i16 17670, i16 16402, i16 16393, i16 -16384, i16 17685, i16 17281, i16 17273, i16 -16384, i16 17686, i16 17280, i16 17273, i16 -16384, i16 17685, i16 17281, i16 16393, i16 -16384, i16 17686, i16 17280, i16 16393, i16 -16384, i16 17688, i16 16409, i16 17273, i16 -16384, i16 17688, i16 16409, i16 16393, i16 -16384, i16 17687, i16 17281, i16 17273, i16 -16384, i16 17687, i16 17281, i16 16393, i16 -16384, i16 17695, i16 16399, i16 17273, i16 -16384, i16 17695, i16 16399, i16 17600, i16 -16384, i16 17695, i16 16399, i16 16393, i16 -16384, i16 17695, i16 16399, i16 17601, i16 -16384, i16 17697, i16 16399, i16 17273, i16 -16384, i16 17697, i16 16399, i16 17600, i16 -16384, i16 17697, i16 16399, i16 16393, i16 -16384, i16 17697, i16 16399, i16 17601, i16 -16384, i16 17693, i16 16407, i16 17273, i16 -16384, i16 17693, i16 16407, i16 16393, i16 -16384, i16 17694, i16 16407, i16 17273, i16 -16384, i16 17694, i16 16407, i16 16393, i16 -16384, i16 17696, i16 16408, i16 17273, i16 -16384, i16 17696, i16 16408, i16 16393, i16 -16384, i16 17698, i16 16407, i16 17273, i16 -16384, i16 17698, i16 16407, i16 16393, i16 -16384, i16 17707, i16 16407, i16 17273, i16 -16384, i16 17707, i16 16407, i16 17600, i16 -16384, i16 17707, i16 16407, i16 16393, i16 -16384, i16 17707, i16 16407, i16 17601, i16 -16384, i16 17708, i16 16407, i16 17273, i16 -16384, i16 17708, i16 16407, i16 17600, i16 -16384, i16 17708, i16 16407, i16 16393, i16 -16384, i16 17708, i16 16407, i16 17601, i16 -16384, i16 32766, i16 16398, i16 17273, i16 -16384, i16 32766, i16 16398, i16 16393, i16 -16384, i16 17803, i16 16404, i16 17273, i16 -16384, i16 17803, i16 16405, i16 17273, i16 -16384, i16 17803, i16 16404, i16 16393, i16 -16384, i16 17803, i16 16405, i16 16393, i16 -16384, i16 17806, i16 16404, i16 17273, i16 -16384, i16 17806, i16 16405, i16 17273, i16 -16384, i16 17806, i16 16404, i16 16393, i16 -16384, i16 17806, i16 16405, i16 16393, i16 -16384, i16 17797, i16 16398, i16 16393, i16 -16384, i16 17797, i16 16398, i16 17601, i16 -16384, i16 18087, i16 18054, i16 18021, i16 -16384, i16 18087, i16 18054, i16 18090, i16 -16384, i16 18087, i16 18054, i16 18093, i16 -16384, i16 18087, i16 18054, i16 18096, i16 -16384, i16 17797, i16 16398, i16 17600, i16 -16384, i16 17797, i16 16398, i16 17273, i16 -16384, i16 18087, i16 18054, i16 18099, i16 -16384, i16 18087, i16 18054, i16 18102, i16 -16384, i16 18087, i16 18054, i16 18105, i16 -16384, i16 18087, i16 18054, i16 18015, i16 -16384, i16 17798, i16 16398, i16 16393, i16 -16384, i16 17798, i16 16398, i16 17601, i16 -16384, i16 18108, i16 18054, i16 18021, i16 -16384, i16 18108, i16 18054, i16 18090, i16 -16384, i16 18108, i16 18054, i16 18093, i16 -16384, i16 18108, i16 18054, i16 18096, i16 -16384, i16 17798, i16 16398, i16 17600, i16 -16384, i16 17798, i16 16398, i16 17273, i16 -16384, i16 18108, i16 18054, i16 18099, i16 -16384, i16 18108, i16 18054, i16 18102, i16 -16384, i16 18108, i16 18054, i16 18105, i16 -16384, i16 18108, i16 18054, i16 18015, i16 -16384, i16 17799, i16 16398, i16 17796, i16 -16384, i16 17799, i16 16398, i16 17795, i16 -16384, i16 17799, i16 16398, i16 17794, i16 -16384, i16 17799, i16 16398, i16 17793, i16 -16384, i16 18111, i16 18054, i16 18114, i16 -16384, i16 18111, i16 18054, i16 18117, i16 -16384, i16 18111, i16 18054, i16 18120, i16 -16384, i16 18111, i16 18054, i16 18123, i16 -16384, i16 17799, i16 16398, i16 17792, i16 -16384, i16 17799, i16 16398, i16 17791, i16 -16384, i16 17799, i16 16398, i16 17790, i16 -16384, i16 17799, i16 16398, i16 17789, i16 -16384, i16 18111, i16 18054, i16 18126, i16 -16384, i16 18111, i16 18054, i16 18129, i16 -16384, i16 18111, i16 18054, i16 18132, i16 -16384, i16 18111, i16 18054, i16 18135, i16 -16384, i16 17800, i16 16398, i16 16393, i16 -16384, i16 17800, i16 16398, i16 17601, i16 -16384, i16 18138, i16 18054, i16 18021, i16 -16384, i16 18138, i16 18054, i16 18090, i16 -16384, i16 18138, i16 18054, i16 18093, i16 -16384, i16 18138, i16 18054, i16 18096, i16 -16384, i16 17800, i16 16398, i16 17273, i16 -16384, i16 17800, i16 16398, i16 17600, i16 -16384, i16 18138, i16 18054, i16 18099, i16 -16384, i16 18138, i16 18054, i16 18102, i16 -16384, i16 18138, i16 18054, i16 18105, i16 -16384, i16 18138, i16 18054, i16 18015, i16 -16384, i16 17801, i16 16398, i16 16393, i16 -16384, i16 17801, i16 16398, i16 17601, i16 -16384, i16 18141, i16 18054, i16 18021, i16 -16384, i16 18141, i16 18054, i16 18090, i16 -16384, i16 18141, i16 18054, i16 18093, i16 -16384, i16 18141, i16 18054, i16 18096, i16 -16384, i16 17801, i16 16398, i16 17273, i16 -16384, i16 17801, i16 16398, i16 17600, i16 -16384, i16 18141, i16 18054, i16 18099, i16 -16384, i16 18141, i16 18054, i16 18102, i16 -16384, i16 18141, i16 18054, i16 18105, i16 -16384, i16 18141, i16 18054, i16 18015, i16 -16384, i16 17802, i16 16398, i16 16393, i16 -16384, i16 17802, i16 16398, i16 17601, i16 -16384, i16 18144, i16 18054, i16 18021, i16 -16384, i16 18144, i16 18054, i16 18090, i16 -16384, i16 18144, i16 18054, i16 18093, i16 -16384, i16 18144, i16 18054, i16 18096, i16 -16384, i16 17802, i16 16398, i16 17273, i16 -16384, i16 17802, i16 16398, i16 17600, i16 -16384, i16 18144, i16 18054, i16 18099, i16 -16384, i16 18144, i16 18054, i16 18102, i16 -16384, i16 18144, i16 18054, i16 18105, i16 -16384, i16 18144, i16 18054, i16 18015, i16 -16384, i16 17804, i16 16398, i16 16393, i16 -16384, i16 17804, i16 16398, i16 17601, i16 -16384, i16 18147, i16 18054, i16 18021, i16 -16384, i16 18147, i16 18054, i16 18090, i16 -16384, i16 18147, i16 18054, i16 18093, i16 -16384, i16 18147, i16 18054, i16 18096, i16 -16384, i16 17804, i16 16398, i16 17600, i16 -16384, i16 17804, i16 16398, i16 17273, i16 -16384, i16 18147, i16 18054, i16 18099, i16 -16384, i16 18147, i16 18054, i16 18102, i16 -16384, i16 18147, i16 18054, i16 18105, i16 -16384, i16 18147, i16 18054, i16 18015, i16 -16384, i16 17805, i16 16398, i16 16393, i16 -16384, i16 17805, i16 16398, i16 17601, i16 -16384, i16 18150, i16 18054, i16 18021, i16 -16384, i16 18150, i16 18054, i16 18090, i16 -16384, i16 18150, i16 18054, i16 18093, i16 -16384, i16 18150, i16 18054, i16 18096, i16 -16384, i16 17805, i16 16398, i16 17600, i16 -16384, i16 17805, i16 16398, i16 17273, i16 -16384, i16 18150, i16 18054, i16 18099, i16 -16384, i16 18150, i16 18054, i16 18102, i16 -16384, i16 18150, i16 18054, i16 18105, i16 -16384, i16 18150, i16 18054, i16 18015, i16 -16384, i16 17807, i16 16398, i16 16393, i16 -16384, i16 17807, i16 16398, i16 17601, i16 -16384, i16 18153, i16 18054, i16 18021, i16 -16384, i16 18153, i16 18054, i16 18090, i16 -16384, i16 18153, i16 18054, i16 18093, i16 -16384, i16 18153, i16 18054, i16 18096, i16 -16384, i16 17807, i16 16398, i16 17600, i16 -16384, i16 17807, i16 16398, i16 17273, i16 -16384, i16 18153, i16 18054, i16 18099, i16 -16384, i16 18153, i16 18054, i16 18102, i16 -16384, i16 18153, i16 18054, i16 18105, i16 -16384, i16 18153, i16 18054, i16 18015, i16 -16384, i16 16384, i16 16384, i16 16384, i16 -2, i16 17934, i16 16398, i16 17273, i16 -16384, i16 17290, i16 17928, i16 17273, i16 -16384, i16 17289, i16 17274, i16 17273, i16 -16384, i16 17289, i16 17276, i16 17273, i16 -16384, i16 17289, i16 17275, i16 17273, i16 -16384, i16 17289, i16 17929, i16 17273, i16 -16384, i16 17289, i16 17929, i16 17932, i16 -16384, i16 17289, i16 17929, i16 17933, i16 -16384, i16 16472, i16 16399, i16 17273, i16 -16384, i16 17291, i16 17931, i16 17273, i16 -16384, i16 17291, i16 17274, i16 17273, i16 -16384, i16 17935, i16 16398, i16 17273, i16 -16384, i16 17935, i16 17930, i16 17273, i16 -16384, i16 17935, i16 17277, i16 17273, i16 -16384, i16 17934, i16 16398, i16 16387, i16 -16384, i16 17934, i16 16398, i16 16388, i16 -16384, i16 17290, i16 16398, i16 16387, i16 -16384, i16 17290, i16 16398, i16 16388, i16 -16384, i16 17290, i16 17928, i16 16387, i16 -16384, i16 17290, i16 17928, i16 16388, i16 -16384, i16 17289, i16 16398, i16 16387, i16 -16384, i16 17289, i16 17274, i16 16387, i16 -16384, i16 17289, i16 17274, i16 16388, i16 -16384, i16 17289, i16 17276, i16 16387, i16 -16384, i16 17289, i16 17276, i16 16388, i16 -16384, i16 17289, i16 17275, i16 16387, i16 -16384, i16 17289, i16 17275, i16 16388, i16 -16384, i16 17289, i16 17929, i16 16387, i16 -16384, i16 17289, i16 17929, i16 16388, i16 -16384, i16 16472, i16 16398, i16 16387, i16 -16384, i16 16472, i16 16398, i16 16388, i16 -16384, i16 16472, i16 16398, i16 16389, i16 -16384, i16 16472, i16 16398, i16 16390, i16 -16384, i16 16472, i16 16399, i16 16387, i16 -16384, i16 16472, i16 16399, i16 16388, i16 -16384, i16 16472, i16 16399, i16 16389, i16 -16384, i16 16472, i16 16399, i16 16390, i16 -16384, i16 17291, i16 16398, i16 16387, i16 -16384, i16 17291, i16 16398, i16 16388, i16 -16384, i16 17291, i16 16398, i16 16389, i16 -16384, i16 17291, i16 16398, i16 16390, i16 -16384, i16 17291, i16 17931, i16 16387, i16 -16384, i16 17291, i16 17931, i16 16388, i16 -16384, i16 17291, i16 17274, i16 16387, i16 -16384, i16 17291, i16 17274, i16 16388, i16 -16384, i16 17935, i16 16398, i16 16387, i16 -16384, i16 17935, i16 16398, i16 16388, i16 -16384, i16 17935, i16 16398, i16 16389, i16 -16384, i16 17935, i16 16398, i16 16390, i16 -16384, i16 17935, i16 17930, i16 16387, i16 -16384, i16 17935, i16 17930, i16 16388, i16 -16384, i16 17935, i16 17277, i16 16387, i16 -16384, i16 17935, i16 17277, i16 16388, i16 -16384, i16 17935, i16 17277, i16 16389, i16 -16384, i16 17935, i16 17277, i16 16390, i16 -16384, i16 18156, i16 18054, i16 18159, i16 -16384, i16 18156, i16 18054, i16 18162, i16 -16384, i16 18165, i16 18168, i16 18159, i16 -16384, i16 18165, i16 18168, i16 18162, i16 -16384, i16 18165, i16 18171, i16 18159, i16 -16384, i16 18165, i16 18171, i16 18162, i16 -16384, i16 18174, i16 18054, i16 18159, i16 -16384, i16 18174, i16 18054, i16 18162, i16 -16384, i16 18177, i16 18182, i16 18187, i16 -16384, i16 17958, i16 17281, i16 16393, i16 -16384, i16 17958, i16 17281, i16 17273, i16 -16384, i16 17959, i16 17281, i16 16393, i16 -16384, i16 17959, i16 17281, i16 17273, i16 -16384, i16 17960, i16 17281, i16 16393, i16 -16384, i16 17960, i16 17281, i16 17273, i16 -16384, i16 17961, i16 17281, i16 16393, i16 -16384, i16 17961, i16 17281, i16 17273, i16 -16384, i16 17962, i16 17281, i16 16393, i16 -16384, i16 17962, i16 17281, i16 17273, i16 -16384, i16 17963, i16 17280, i16 16393, i16 -16384, i16 17963, i16 17280, i16 17273, i16 -16384, i16 17964, i16 16407, i16 17273, i16 -16384, i16 17964, i16 16407, i16 17600, i16 -16384, i16 17964, i16 16407, i16 16393, i16 -16384, i16 17964, i16 16407, i16 17601, i16 -16384, i16 17965, i16 16407, i16 17273, i16 -16384, i16 17965, i16 16407, i16 17600, i16 -16384, i16 17965, i16 16407, i16 16393, i16 -16384, i16 17965, i16 16407, i16 17601, i16 -16384, i16 17966, i16 16407, i16 17273, i16 -16384, i16 17966, i16 16407, i16 17600, i16 -16384, i16 17966, i16 16407, i16 16393, i16 -16384, i16 17966, i16 16407, i16 17601, i16 -16384, i16 17967, i16 16407, i16 17273, i16 -16384, i16 17967, i16 16407, i16 17600, i16 -16384, i16 17967, i16 16407, i16 16393, i16 -16384, i16 17967, i16 16407, i16 17601, i16 -16384, i16 17968, i16 16407, i16 17273, i16 -16384, i16 17968, i16 16407, i16 17600, i16 -16384, i16 17968, i16 16407, i16 16393, i16 -16384, i16 17968, i16 16407, i16 17601, i16 -16384, i16 17969, i16 16407, i16 17273, i16 -16384, i16 17969, i16 16407, i16 17600, i16 -16384, i16 17969, i16 16407, i16 16393, i16 -16384, i16 17969, i16 16407, i16 17601, i16 -16384, i16 17970, i16 16407, i16 17273, i16 -16384, i16 17970, i16 16407, i16 17600, i16 -16384, i16 17970, i16 16407, i16 16393, i16 -16384, i16 17970, i16 16407, i16 17601, i16 -16384, i16 17971, i16 16407, i16 17273, i16 -16384, i16 17971, i16 16407, i16 17600, i16 -16384, i16 17971, i16 16407, i16 16393, i16 -16384, i16 17971, i16 16407, i16 17601, i16 -16384, i16 18000, i16 16407, i16 17273, i16 -16384, i16 18000, i16 16407, i16 17600, i16 -16384, i16 18001, i16 16407, i16 17273, i16 -16384, i16 18001, i16 16407, i16 17600, i16 -16384, i16 18000, i16 16407, i16 16393, i16 -16384, i16 18000, i16 16407, i16 17601, i16 -16384, i16 18001, i16 16407, i16 16393, i16 -16384, i16 18001, i16 16407, i16 17601, i16 -16384, i16 18192, i16 18078, i16 18015, i16 -16384, i16 18192, i16 18195, i16 18015, i16 -16384, i16 18198, i16 18078, i16 18015, i16 -16384, i16 17299, i16 17300, i16 17273, i16 -16384, i16 17299, i16 17301, i16 17273, i16 -16384, i16 17299, i16 17335, i16 17273, i16 -16384, i16 17305, i16 17306, i16 17273, i16 -16384, i16 17305, i16 17307, i16 17273, i16 -16384, i16 17305, i16 17333, i16 17273, i16 -16384, i16 18192, i16 18078, i16 18021, i16 -16384, i16 18192, i16 18195, i16 18021, i16 -16384, i16 18198, i16 18078, i16 18021, i16 -16384, i16 17299, i16 17300, i16 16393, i16 -16384, i16 17299, i16 17301, i16 16393, i16 -16384, i16 17299, i16 17335, i16 16393, i16 -16384, i16 17305, i16 17306, i16 16393, i16 -16384, i16 17305, i16 17307, i16 16393, i16 -16384, i16 17305, i16 17333, i16 16393, i16 -16384, i16 17295, i16 17297, i16 17273, i16 -16384, i16 17310, i16 17321, i16 17273, i16 -16384, i16 18201, i16 18078, i16 18015, i16 -16384, i16 18204, i16 18078, i16 18015, i16 -16384, i16 17323, i16 17324, i16 17273, i16 -16384, i16 17328, i16 17322, i16 17273, i16 -16384, i16 17295, i16 17297, i16 16393, i16 -16384, i16 17308, i16 17309, i16 16393, i16 -16384, i16 17310, i16 17321, i16 16393, i16 -16384, i16 18201, i16 18078, i16 18021, i16 -16384, i16 18204, i16 18078, i16 18021, i16 -16384, i16 17323, i16 17324, i16 16393, i16 -16384, i16 17328, i16 17322, i16 16393, i16 -16384, i16 18006, i16 16404, i16 17273, i16 -16384, i16 18006, i16 16404, i16 16393, i16 -16384, i16 32766, i16 16382, i16 32766, i16 -16386, i16 32766, i16 16382, i16 32766, i16 -32768, i16 16384, i16 0, i16 16384, i16 -16386, i16 32766, i16 2, i16 16385, i16 -32768, i16 17065, i16 2, i16 18080, i16 -32768, i16 17065, i16 2, i16 32766, i16 -32768, i16 17065, i16 5, i16 16385, i16 -32768, i16 17065, i16 5, i16 18080, i16 -32768, i16 17065, i16 6, i16 16385, i16 -32768, i16 17065, i16 6, i16 18080, i16 -32768, i16 17065, i16 7, i16 16385, i16 -32768, i16 17065, i16 7, i16 18080, i16 -32768, i16 17065, i16 8, i16 16385, i16 -32768, i16 17065, i16 8, i16 18080, i16 -32768, i16 17065, i16 9, i16 16385, i16 -32768, i16 17065, i16 9, i16 18080, i16 -32768, i16 17065, i16 11, i16 16385, i16 -32768, i16 17065, i16 11, i16 18080, i16 -32768, i16 17065, i16 12, i16 16385, i16 -32768, i16 17065, i16 12, i16 18080, i16 -32768, i16 17065, i16 13, i16 16385, i16 -32768, i16 17065, i16 13, i16 18080, i16 -32768, i16 17065, i16 15, i16 16385, i16 -32768, i16 17065, i16 15, i16 18080, i16 -32768, i16 17065, i16 16, i16 16385, i16 -32768, i16 17065, i16 16, i16 18080, i16 -32768, i16 17065, i16 17, i16 16385, i16 -32768, i16 17065, i16 17, i16 18080, i16 -32768, i16 17065, i16 18, i16 16385, i16 -32768, i16 17065, i16 18, i16 18080, i16 -32768, i16 17065, i16 19, i16 16385, i16 -32768, i16 17065, i16 19, i16 18080, i16 -32768, i16 17065, i16 20, i16 16385, i16 -32768, i16 17065, i16 20, i16 18080, i16 -32768, i16 17065, i16 21, i16 16385, i16 -32768, i16 17065, i16 21, i16 18080, i16 -32768, i16 17065, i16 22, i16 16385, i16 -32768, i16 17065, i16 22, i16 18080, i16 -32768, i16 17065, i16 27, i16 16385, i16 -32768, i16 17065, i16 27, i16 18080, i16 -32768, i16 17065, i16 29, i16 16385, i16 -32768, i16 17065, i16 29, i16 18080, i16 -32768, i16 17065, i16 34, i16 16385, i16 -32768, i16 17065, i16 34, i16 18080, i16 -32768, i16 17065, i16 35, i16 16385, i16 -32768, i16 17065, i16 35, i16 18080, i16 -32768, i16 17065, i16 40, i16 16385, i16 -32768, i16 17065, i16 40, i16 18080, i16 -32768, i16 17065, i16 55, i16 16385, i16 -32768, i16 17065, i16 55, i16 18080, i16 -32768, i16 17113, i16 2, i16 18080, i16 -32768, i16 17113, i16 39, i16 16385, i16 -32768, i16 17113, i16 39, i16 18080, i16 -32768, i16 17113, i16 40, i16 16385, i16 -32768, i16 17113, i16 40, i16 18080, i16 -32768, i16 17113, i16 58, i16 16385, i16 -32768, i16 17113, i16 58, i16 18080, i16 -32768, i16 17122, i16 2, i16 18080, i16 -32768, i16 17122, i16 16, i16 16385, i16 -32768, i16 17122, i16 16, i16 18080, i16 -32768, i16 17122, i16 34, i16 16385, i16 -32768, i16 17122, i16 34, i16 18080, i16 -32768, i16 17122, i16 39, i16 16385, i16 -32768, i16 17122, i16 39, i16 18080, i16 -32768, i16 17122, i16 45, i16 16385, i16 -32768, i16 17122, i16 45, i16 18080, i16 -32768, i16 17133, i16 2, i16 18080, i16 -32768, i16 17133, i16 22, i16 16385, i16 -32768, i16 17133, i16 22, i16 18080, i16 -32768, i16 17133, i16 39, i16 16385, i16 -32768, i16 17133, i16 39, i16 18080, i16 -32768, i16 17133, i16 40, i16 16385, i16 -32768, i16 17133, i16 40, i16 18080, i16 -32768, i16 17133, i16 44, i16 16385, i16 -32768, i16 17133, i16 44, i16 18080, i16 -32768, i16 17133, i16 57, i16 16385, i16 -32768, i16 17133, i16 57, i16 18080, i16 -32768, i16 17133, i16 58, i16 16385, i16 -32768, i16 17133, i16 58, i16 18080, i16 -32768, i16 17148, i16 2, i16 18080, i16 -32768, i16 17148, i16 5, i16 16385, i16 -32768, i16 17148, i16 5, i16 18080, i16 -32768, i16 17148, i16 6, i16 16385, i16 -32768, i16 17148, i16 6, i16 18080, i16 -32768, i16 17148, i16 7, i16 16385, i16 -32768, i16 17148, i16 7, i16 18080, i16 -32768, i16 17148, i16 15, i16 16385, i16 -32768, i16 17148, i16 15, i16 18080, i16 -32768, i16 17148, i16 16, i16 16385, i16 -32768, i16 17148, i16 16, i16 18080, i16 -32768, i16 17148, i16 17, i16 16385, i16 -32768, i16 17148, i16 17, i16 18080, i16 -32768, i16 17148, i16 18, i16 16385, i16 -32768, i16 17148, i16 18, i16 18080, i16 -32768, i16 17148, i16 19, i16 16385, i16 -32768, i16 17148, i16 19, i16 18080, i16 -32768, i16 17148, i16 20, i16 16385, i16 -32768, i16 17148, i16 20, i16 18080, i16 -32768, i16 17148, i16 21, i16 16385, i16 -32768, i16 17148, i16 21, i16 18080, i16 -32768, i16 17148, i16 22, i16 16385, i16 -32768, i16 17148, i16 22, i16 18080, i16 -32768, i16 17148, i16 28, i16 16385, i16 -32768, i16 17148, i16 28, i16 18080, i16 -32768, i16 17148, i16 34, i16 16385, i16 -32768, i16 17148, i16 34, i16 18080, i16 -32768, i16 17148, i16 35, i16 16385, i16 -32768, i16 17148, i16 35, i16 18080, i16 -32768, i16 17148, i16 38, i16 16385, i16 -32768, i16 17148, i16 38, i16 18080, i16 -32768, i16 17148, i16 39, i16 16385, i16 -32768, i16 17148, i16 39, i16 18080, i16 -32768, i16 17148, i16 40, i16 16385, i16 -32768, i16 17148, i16 40, i16 18080, i16 -32768, i16 17148, i16 47, i16 16385, i16 -32768, i16 17148, i16 47, i16 18080, i16 -32768, i16 17148, i16 51, i16 16385, i16 -32768, i16 17148, i16 51, i16 18080, i16 -32768, i16 17148, i16 52, i16 16385, i16 -32768, i16 17148, i16 52, i16 18080, i16 -32768, i16 17148, i16 57, i16 16385, i16 -32768, i16 17148, i16 57, i16 18080, i16 -32768, i16 17193, i16 2, i16 18080, i16 -32768, i16 17193, i16 34, i16 16385, i16 -32768, i16 17193, i16 34, i16 18080, i16 -32768, i16 17193, i16 39, i16 16385, i16 -32768, i16 17193, i16 39, i16 18080, i16 -32768, i16 18531, i16 2150, i16 18537, i16 -32768, i16 18540, i16 2150, i16 18543, i16 -32768, i16 18546, i16 2150, i16 18549, i16 -32768, i16 18552, i16 2172, i16 18560, i16 -32768, i16 18564, i16 2172, i16 18568, i16 -32768, i16 17205, i16 2, i16 18080, i16 -32768, i16 17205, i16 3, i16 16385, i16 -32768, i16 17205, i16 3, i16 18080, i16 -32768, i16 17205, i16 16, i16 16385, i16 -32768, i16 17205, i16 16, i16 18080, i16 -32768, i16 17205, i16 22, i16 16385, i16 -32768, i16 17205, i16 22, i16 18080, i16 -32768, i16 17205, i16 39, i16 16385, i16 -32768, i16 17205, i16 39, i16 18080, i16 -32768, i16 17205, i16 42, i16 16385, i16 -32768, i16 17205, i16 42, i16 18080, i16 -32768, i16 17205, i16 50, i16 16385, i16 -32768, i16 17205, i16 50, i16 18080, i16 -32768, i16 17220, i16 2, i16 18080, i16 -32768, i16 17220, i16 14, i16 16385, i16 -32768, i16 17220, i16 14, i16 18080, i16 -32768, i16 17220, i16 16, i16 16385, i16 -32768, i16 17220, i16 16, i16 18080, i16 -32768, i16 17220, i16 28, i16 16385, i16 -32768, i16 17220, i16 28, i16 18080, i16 -32768, i16 17220, i16 39, i16 16385, i16 -32768, i16 17220, i16 39, i16 18080, i16 -32768, i16 17220, i16 40, i16 16385, i16 -32768, i16 17220, i16 40, i16 18080, i16 -32768, i16 17220, i16 42, i16 16385, i16 -32768, i16 17220, i16 42, i16 18080, i16 -32768, i16 17220, i16 44, i16 16385, i16 -32768, i16 17220, i16 44, i16 18080, i16 -32768, i16 18178, i16 2, i16 18080, i16 -32768, i16 18178, i16 5, i16 16385, i16 -32768, i16 18178, i16 5, i16 18080, i16 -32768, i16 18178, i16 6, i16 16385, i16 -32768, i16 18178, i16 6, i16 18080, i16 -32768, i16 18178, i16 7, i16 16385, i16 -32768, i16 18178, i16 7, i16 18080, i16 -32768, i16 18178, i16 15, i16 16385, i16 -32768, i16 18178, i16 15, i16 18080, i16 -32768, i16 18178, i16 16, i16 16385, i16 -32768, i16 18178, i16 16, i16 18080, i16 -32768, i16 18178, i16 22, i16 16385, i16 -32768, i16 18178, i16 22, i16 18080, i16 -32768, i16 18178, i16 28, i16 16385, i16 -32768, i16 18178, i16 28, i16 18080, i16 -32768, i16 18178, i16 30, i16 16385, i16 -32768, i16 18178, i16 30, i16 18080, i16 -32768, i16 18178, i16 34, i16 16385, i16 -32768, i16 18178, i16 34, i16 18080, i16 -32768, i16 18178, i16 35, i16 16385, i16 -32768, i16 18178, i16 35, i16 18080, i16 -32768, i16 18178, i16 38, i16 16385, i16 -32768, i16 18178, i16 38, i16 18080, i16 -32768, i16 18178, i16 40, i16 16385, i16 -32768, i16 18178, i16 40, i16 18080, i16 -32768, i16 18178, i16 48, i16 16385, i16 -32768, i16 18178, i16 48, i16 18080, i16 -32768, i16 18572, i16 2191, i16 18578, i16 -32768, i16 18572, i16 2191, i16 18581, i16 -32768, i16 17267, i16 2, i16 18080, i16 -32768, i16 17267, i16 16, i16 16385, i16 -32768, i16 17267, i16 16, i16 18080, i16 -32768, i16 17272, i16 2, i16 18080, i16 -32768, i16 17272, i16 3, i16 16385, i16 -32768, i16 17272, i16 3, i16 18080, i16 -32768, i16 17272, i16 22, i16 16385, i16 -32768, i16 17272, i16 22, i16 18080, i16 -32768, i16 17272, i16 34, i16 16385, i16 -32768, i16 17272, i16 34, i16 18080, i16 -32768, i16 17272, i16 40, i16 16385, i16 -32768, i16 17272, i16 40, i16 18080, i16 -32768, i16 17272, i16 58, i16 16385, i16 -32768, i16 17272, i16 58, i16 18080, i16 -32768, i16 17285, i16 2, i16 18080, i16 -32768, i16 17285, i16 3, i16 16385, i16 -32768, i16 17285, i16 3, i16 18080, i16 -32768, i16 17285, i16 22, i16 16385, i16 -32768, i16 17285, i16 22, i16 18080, i16 -32768, i16 17285, i16 39, i16 16385, i16 -32768, i16 17285, i16 39, i16 18080, i16 -32768, i16 17285, i16 40, i16 16385, i16 -32768, i16 17285, i16 40, i16 18080, i16 -32768, i16 17285, i16 56, i16 16385, i16 -32768, i16 17285, i16 56, i16 18080, i16 -32768, i16 17285, i16 57, i16 16385, i16 -32768, i16 17285, i16 57, i16 18080, i16 -32768, i16 17285, i16 58, i16 16385, i16 -32768, i16 17285, i16 58, i16 18080, i16 -32768, i16 17302, i16 2, i16 18080, i16 -32768, i16 17302, i16 3, i16 16385, i16 -32768, i16 17302, i16 3, i16 18080, i16 -32768, i16 17302, i16 39, i16 16385, i16 -32768, i16 17302, i16 39, i16 18080, i16 -32768, i16 17302, i16 40, i16 16385, i16 -32768, i16 17302, i16 40, i16 18080, i16 -32768, i16 17311, i16 2, i16 18080, i16 -32768, i16 17311, i16 22, i16 16385, i16 -32768, i16 17311, i16 22, i16 18080, i16 -32768, i16 17311, i16 39, i16 16385, i16 -32768, i16 17311, i16 39, i16 18080, i16 -32768, i16 17311, i16 40, i16 16385, i16 -32768, i16 17311, i16 40, i16 18080, i16 -32768, i16 17311, i16 57, i16 16385, i16 -32768, i16 17311, i16 57, i16 18080, i16 -32768, i16 17311, i16 58, i16 16385, i16 -32768, i16 17311, i16 58, i16 18080, i16 -32768, i16 17311, i16 65, i16 18080, i16 -32768, i16 17325, i16 2, i16 18080, i16 -32768, i16 17325, i16 2, i16 32766, i16 -32768, i16 17325, i16 5, i16 16385, i16 -32768, i16 17325, i16 5, i16 18080, i16 -32768, i16 17325, i16 6, i16 16385, i16 -32768, i16 17325, i16 6, i16 18080, i16 -32768, i16 17325, i16 7, i16 16385, i16 -32768, i16 17325, i16 7, i16 18080, i16 -32768, i16 17325, i16 15, i16 16385, i16 -32768, i16 17325, i16 15, i16 18080, i16 -32768, i16 17325, i16 16, i16 16385, i16 -32768, i16 17325, i16 16, i16 18080, i16 -32768, i16 17325, i16 17, i16 16385, i16 -32768, i16 17325, i16 17, i16 18080, i16 -32768, i16 17325, i16 18, i16 16385, i16 -32768, i16 17325, i16 18, i16 18080, i16 -32768, i16 17325, i16 19, i16 16385, i16 -32768, i16 17325, i16 19, i16 18080, i16 -32768, i16 17325, i16 20, i16 16385, i16 -32768, i16 17325, i16 20, i16 18080, i16 -32768, i16 17325, i16 21, i16 16385, i16 -32768, i16 17325, i16 21, i16 18080, i16 -32768, i16 17325, i16 22, i16 16385, i16 -32768, i16 17325, i16 22, i16 18080, i16 -32768, i16 17325, i16 34, i16 16385, i16 -32768, i16 17325, i16 34, i16 18080, i16 -32768, i16 17325, i16 36, i16 16385, i16 -32768, i16 17325, i16 36, i16 18080, i16 -32768, i16 17325, i16 37, i16 16385, i16 -32768, i16 17325, i16 37, i16 18080, i16 -32768, i16 17325, i16 40, i16 16385, i16 -32768, i16 17325, i16 40, i16 18080, i16 -32768, i16 17325, i16 48, i16 16385, i16 -32768, i16 17325, i16 48, i16 18080, i16 -32768, i16 17325, i16 49, i16 16385, i16 -32768, i16 17325, i16 49, i16 18080, i16 -32768, i16 17325, i16 51, i16 16385, i16 -32768, i16 17325, i16 51, i16 18080, i16 -32768, i16 17325, i16 52, i16 16385, i16 -32768, i16 17325, i16 52, i16 18080, i16 -32768, i16 17325, i16 59, i16 16385, i16 -32768, i16 17325, i16 59, i16 18080, i16 -32768, i16 17325, i16 60, i16 16385, i16 -32768, i16 17325, i16 60, i16 18080, i16 -32768, i16 17325, i16 61, i16 16385, i16 -32768, i16 17325, i16 61, i16 18080, i16 -32768, i16 17325, i16 62, i16 16385, i16 -32768, i16 17325, i16 62, i16 18080, i16 -32768, i16 17325, i16 63, i16 16385, i16 -32768, i16 17325, i16 63, i16 18080, i16 -32768, i16 17325, i16 64, i16 16385, i16 -32768, i16 17325, i16 64, i16 18080, i16 -32768, i16 17379, i16 2, i16 18080, i16 -32768, i16 17379, i16 3, i16 16385, i16 -32768, i16 17379, i16 3, i16 18080, i16 -32768, i16 17379, i16 39, i16 16385, i16 -32768, i16 17379, i16 39, i16 18080, i16 -32768, i16 17386, i16 2, i16 18080, i16 -32768, i16 17389, i16 2, i16 18080, i16 -32768, i16 17389, i16 3, i16 16385, i16 -32768, i16 17389, i16 3, i16 18080, i16 -32768, i16 17389, i16 6, i16 16385, i16 -32768, i16 17389, i16 6, i16 18080, i16 -32768, i16 17389, i16 15, i16 16385, i16 -32768, i16 17389, i16 15, i16 18080, i16 -32768, i16 17389, i16 22, i16 16385, i16 -32768, i16 17389, i16 22, i16 18080, i16 -32768, i16 17389, i16 39, i16 16385, i16 -32768, i16 17389, i16 39, i16 18080, i16 -32768, i16 17389, i16 40, i16 16385, i16 -32768, i16 17389, i16 40, i16 18080, i16 -32768, i16 17389, i16 56, i16 16385, i16 -32768, i16 17389, i16 56, i16 18080, i16 -32768, i16 17389, i16 58, i16 16385, i16 -32768, i16 17389, i16 58, i16 18080, i16 -32768, i16 17408, i16 2, i16 18080, i16 -32768, i16 18584, i16 2150, i16 18587, i16 -32768, i16 17408, i16 4, i16 16385, i16 -32768, i16 17408, i16 4, i16 18080, i16 -32768, i16 17408, i16 16, i16 16385, i16 -32768, i16 17408, i16 16, i16 18080, i16 -32768, i16 17408, i16 24, i16 16385, i16 -32768, i16 17408, i16 24, i16 18080, i16 -32768, i16 17408, i16 39, i16 16385, i16 -32768, i16 17408, i16 39, i16 18080, i16 -32768, i16 17408, i16 40, i16 16385, i16 -32768, i16 17408, i16 40, i16 18080, i16 -32768, i16 17408, i16 41, i16 16385, i16 -32768, i16 17408, i16 41, i16 18080, i16 -32768, i16 17408, i16 16382, i16 18080, i16 -32768, i16 18590, i16 2150, i16 18593, i16 -32768, i16 18584, i16 2150, i16 18596, i16 -32768, i16 17427, i16 2, i16 18080, i16 -32768, i16 17427, i16 22, i16 16385, i16 -32768, i16 17427, i16 22, i16 18080, i16 -32768, i16 17427, i16 39, i16 16385, i16 -32768, i16 17427, i16 39, i16 18080, i16 -32768, i16 17427, i16 40, i16 16385, i16 -32768, i16 17427, i16 40, i16 18080, i16 -32768, i16 17427, i16 42, i16 16385, i16 -32768, i16 17427, i16 42, i16 18080, i16 -32768, i16 17427, i16 44, i16 16385, i16 -32768, i16 17427, i16 44, i16 18080, i16 -32768, i16 17427, i16 57, i16 16385, i16 -32768, i16 17427, i16 57, i16 18080, i16 -32768, i16 17427, i16 58, i16 16385, i16 -32768, i16 17427, i16 58, i16 18080, i16 -32768, i16 17444, i16 2, i16 18080, i16 -32768, i16 17444, i16 5, i16 16385, i16 -32768, i16 17444, i16 5, i16 18080, i16 -32768, i16 17444, i16 6, i16 16385, i16 -32768, i16 17444, i16 6, i16 18080, i16 -32768, i16 17444, i16 7, i16 16385, i16 -32768, i16 17444, i16 7, i16 18080, i16 -32768, i16 17444, i16 15, i16 16385, i16 -32768, i16 17444, i16 15, i16 18080, i16 -32768, i16 17444, i16 16, i16 16385, i16 -32768, i16 17444, i16 16, i16 18080, i16 -32768, i16 17444, i16 22, i16 16385, i16 -32768, i16 17444, i16 22, i16 18080, i16 -32768, i16 17444, i16 25, i16 16385, i16 -32768, i16 17444, i16 25, i16 18080, i16 -32768, i16 17444, i16 29, i16 16385, i16 -32768, i16 17444, i16 29, i16 18080, i16 -32768, i16 17444, i16 30, i16 16385, i16 -32768, i16 17444, i16 30, i16 18080, i16 -32768, i16 17444, i16 31, i16 16385, i16 -32768, i16 17444, i16 31, i16 18080, i16 -32768, i16 17444, i16 32, i16 16385, i16 -32768, i16 17444, i16 32, i16 18080, i16 -32768, i16 17444, i16 34, i16 16385, i16 -32768, i16 17444, i16 34, i16 18080, i16 -32768, i16 17444, i16 35, i16 16385, i16 -32768, i16 17444, i16 35, i16 18080, i16 -32768, i16 17444, i16 36, i16 16385, i16 -32768, i16 17444, i16 36, i16 18080, i16 -32768, i16 17444, i16 38, i16 16385, i16 -32768, i16 17444, i16 38, i16 18080, i16 -32768, i16 17444, i16 40, i16 16385, i16 -32768, i16 17444, i16 40, i16 18080, i16 -32768, i16 17444, i16 48, i16 16385, i16 -32768, i16 17444, i16 48, i16 18080, i16 -32768, i16 17444, i16 53, i16 16385, i16 -32768, i16 17444, i16 53, i16 18080, i16 -32768, i16 17444, i16 54, i16 16385, i16 -32768, i16 17444, i16 54, i16 18080, i16 -32768, i16 17444, i16 57, i16 16385, i16 -32768, i16 17444, i16 57, i16 18080, i16 -32768, i16 17444, i16 59, i16 16385, i16 -32768, i16 17444, i16 59, i16 18080, i16 -32768, i16 17444, i16 60, i16 16385, i16 -32768, i16 17444, i16 60, i16 18080, i16 -32768, i16 17444, i16 61, i16 16385, i16 -32768, i16 17444, i16 61, i16 18080, i16 -32768, i16 17444, i16 62, i16 16385, i16 -32768, i16 17444, i16 62, i16 18080, i16 -32768, i16 17444, i16 63, i16 16385, i16 -32768, i16 17444, i16 63, i16 18080, i16 -32768, i16 17444, i16 64, i16 16385, i16 -32768, i16 17444, i16 64, i16 18080, i16 -32768, i16 17501, i16 2, i16 18080, i16 -32768, i16 17501, i16 28, i16 16385, i16 -32768, i16 17501, i16 28, i16 18080, i16 -32768, i16 17501, i16 39, i16 16385, i16 -32768, i16 17501, i16 39, i16 18080, i16 -32768, i16 18254, i16 5, i16 16385, i16 -32768, i16 18254, i16 5, i16 18080, i16 -32768, i16 18254, i16 16, i16 16385, i16 -32768, i16 18254, i16 16, i16 18080, i16 -32768, i16 18254, i16 28, i16 16385, i16 -32768, i16 18254, i16 28, i16 18080, i16 -32768, i16 18254, i16 34, i16 16385, i16 -32768, i16 18254, i16 34, i16 18080, i16 -32768, i16 18254, i16 35, i16 16385, i16 -32768, i16 18254, i16 35, i16 18080, i16 -32768, i16 18254, i16 39, i16 16385, i16 -32768, i16 18254, i16 39, i16 18080, i16 -32768, i16 18254, i16 40, i16 16385, i16 -32768, i16 18254, i16 40, i16 18080, i16 -32768, i16 18259, i16 16, i16 16385, i16 -32768, i16 18259, i16 16, i16 18080, i16 -32768, i16 18259, i16 40, i16 16385, i16 -32768, i16 18259, i16 40, i16 18080, i16 -32768, i16 18259, i16 42, i16 16385, i16 -32768, i16 18259, i16 42, i16 18080, i16 -32768, i16 18259, i16 58, i16 16385, i16 -32768, i16 18259, i16 58, i16 18080, i16 -32768, i16 32766, i16 1, i16 16450, i16 -32768, i16 17531, i16 1, i16 16451, i16 -32768, i16 17531, i16 1696, i16 16450, i16 -32768, i16 17531, i16 1696, i16 16451, i16 -32768, i16 17535, i16 1696, i16 16450, i16 -32768, i16 17537, i16 1696, i16 16450, i16 -32768, i16 17539, i16 1696, i16 16450, i16 -32768, i16 17541, i16 1, i16 16451, i16 -32768, i16 17541, i16 1696, i16 16450, i16 -32768, i16 17541, i16 1696, i16 16451, i16 -32768, i16 17545, i16 1696, i16 16450, i16 -32768, i16 17547, i16 1, i16 16451, i16 -32768, i16 17547, i16 1696, i16 16450, i16 -32768, i16 17547, i16 1696, i16 16451, i16 -32768, i16 17551, i16 1696, i16 16450, i16 -32768, i16 17553, i16 1, i16 16451, i16 -32768, i16 17553, i16 1, i16 16452, i16 -32768, i16 17553, i16 1696, i16 16450, i16 -32768, i16 17553, i16 1696, i16 16451, i16 -32768, i16 17553, i16 1696, i16 16452, i16 -32768, i16 17553, i16 1696, i16 16453, i16 -32768, i16 17560, i16 1696, i16 16450, i16 -32768, i16 17562, i16 1696, i16 16450, i16 -32768, i16 17564, i16 1696, i16 16450, i16 -32768, i16 17566, i16 1696, i16 16450, i16 -32768, i16 17568, i16 1696, i16 16450, i16 -32768, i16 17570, i16 1, i16 16451, i16 -32768, i16 17570, i16 1696, i16 16450, i16 -32768, i16 17570, i16 1696, i16 16451, i16 -32768, i16 17574, i16 1696, i16 16450, i16 -32768, i16 17576, i16 1696, i16 16450, i16 -32768, i16 17578, i16 1696, i16 16450, i16 -32768, i16 17578, i16 1696, i16 32766, i16 -32768, i16 17581, i16 1696, i16 16450, i16 -32768, i16 17583, i16 1, i16 16451, i16 -32768, i16 17583, i16 1, i16 16452, i16 -32768, i16 17583, i16 1696, i16 16450, i16 -32768, i16 17583, i16 1696, i16 16451, i16 -32768, i16 17583, i16 1696, i16 16452, i16 -32768, i16 17583, i16 1696, i16 16453, i16 -32768, i16 17590, i16 1696, i16 16450, i16 -32768, i16 17592, i16 1696, i16 16450, i16 -32768, i16 17594, i16 1696, i16 16450, i16 -32768, i16 17596, i16 1, i16 16451, i16 -32768, i16 17596, i16 1696, i16 16450, i16 -32768, i16 17596, i16 1696, i16 16451, i16 -32768, i16 32766, i16 70, i16 16385, i16 -32768, i16 17600, i16 70, i16 18080, i16 -32768, i16 17602, i16 70, i16 18080, i16 -32768, i16 17604, i16 70, i16 18080, i16 -32768, i16 17606, i16 70, i16 18080, i16 -32768, i16 17608, i16 70, i16 18080, i16 -32768, i16 17610, i16 70, i16 18080, i16 -32768, i16 17612, i16 70, i16 18080, i16 -32768, i16 17614, i16 70, i16 18080, i16 -32768, i16 17616, i16 70, i16 18080, i16 -32768, i16 17618, i16 70, i16 18080, i16 -32768, i16 17620, i16 70, i16 18080, i16 -32768, i16 17622, i16 70, i16 18080, i16 -32768, i16 17624, i16 70, i16 18080, i16 -32768, i16 17626, i16 70, i16 18080, i16 -32768, i16 17628, i16 70, i16 18080, i16 -32768, i16 17630, i16 70, i16 18080, i16 -32768, i16 17632, i16 70, i16 18080, i16 -32768, i16 17634, i16 70, i16 18080, i16 -32768, i16 17636, i16 70, i16 18080, i16 -32768, i16 17638, i16 70, i16 18080, i16 -32768, i16 17640, i16 70, i16 18080, i16 -32768, i16 17642, i16 70, i16 18080, i16 -32768, i16 17644, i16 70, i16 18080, i16 -32768, i16 17646, i16 70, i16 18080, i16 -32768, i16 17648, i16 70, i16 18080, i16 -32768, i16 17650, i16 70, i16 18080, i16 -32768, i16 17652, i16 70, i16 18080, i16 -32768, i16 17654, i16 70, i16 18080, i16 -32768, i16 17656, i16 70, i16 18080, i16 -32768, i16 17658, i16 70, i16 18080, i16 -32768, i16 17660, i16 70, i16 18080, i16 -32768, i16 17662, i16 70, i16 18080, i16 -32768, i16 17664, i16 70, i16 18080, i16 -32768, i16 17666, i16 70, i16 18080, i16 -32768, i16 17668, i16 70, i16 18080, i16 -32768, i16 17670, i16 70, i16 18080, i16 -32768, i16 17672, i16 70, i16 18080, i16 -32768, i16 17674, i16 70, i16 18080, i16 -32768, i16 17676, i16 70, i16 18080, i16 -32768, i16 17678, i16 70, i16 18080, i16 -32768, i16 17680, i16 70, i16 18080, i16 -32768, i16 32766, i16 70, i16 18080, i16 -32768, i16 17682, i16 70, i16 16385, i16 -32768, i16 17684, i16 70, i16 18080, i16 -32768, i16 17686, i16 70, i16 16385, i16 -32768, i16 17688, i16 70, i16 18080, i16 -32768, i16 17690, i16 70, i16 18080, i16 -32768, i16 17692, i16 70, i16 18080, i16 -32768, i16 17694, i16 70, i16 18080, i16 -32768, i16 17696, i16 70, i16 18080, i16 -32768, i16 17698, i16 70, i16 18080, i16 -32768, i16 17700, i16 70, i16 18080, i16 -32768, i16 17702, i16 70, i16 18080, i16 -32768, i16 32766, i16 0, i16 16384, i16 -32768, i16 32766, i16 16382, i16 16384, i16 -32768, i16 17736, i16 16382, i16 16384, i16 -32768, i16 17735, i16 16382, i16 16384, i16 -32768, i16 17745, i16 16382, i16 16384, i16 -32768, i16 17749, i16 16382, i16 16384, i16 -32768, i16 17756, i16 16382, i16 16384, i16 -32768, i16 17764, i16 16382, i16 16384, i16 -32768, i16 17769, i16 16382, i16 16384, i16 -32768, i16 17774, i16 16382, i16 16384, i16 -32768, i16 17779, i16 16382, i16 16384, i16 -32768, i16 17784, i16 16382, i16 16384, i16 -32768, i16 17787, i16 16382, i16 16384, i16 -32768, i16 17790, i16 16382, i16 16384, i16 -32768, i16 17793, i16 16382, i16 16384, i16 -32768, i16 17796, i16 16382, i16 16384, i16 -32768, i16 17801, i16 16382, i16 16384, i16 -32768, i16 17806, i16 16382, i16 16384, i16 -32768, i16 17811, i16 16382, i16 16384, i16 -32768, i16 17816, i16 16382, i16 16384, i16 -32768, i16 17821, i16 16382, i16 16384, i16 -32768, i16 17826, i16 16382, i16 16384, i16 -32768, i16 17831, i16 16382, i16 16384, i16 -32768, i16 17836, i16 16382, i16 16384, i16 -32768, i16 17841, i16 16382, i16 16384, i16 -32768, i16 17846, i16 16382, i16 16384, i16 -32768, i16 17851, i16 16382, i16 16384, i16 -32768, i16 17856, i16 16382, i16 16384, i16 -32768, i16 17861, i16 16382, i16 16384, i16 -32768, i16 17866, i16 16382, i16 16384, i16 -32768, i16 17871, i16 16382, i16 16384, i16 -32768, i16 17874, i16 16382, i16 16384, i16 -32768, i16 17877, i16 16382, i16 16384, i16 -32768, i16 16384, i16 0, i16 32766, i16 -32768, i16 18115, i16 16382, i16 16384, i16 -32768, i16 18124, i16 16382, i16 16384, i16 -32768, i16 18125, i16 16382, i16 16384, i16 -32768, i16 18126, i16 16382, i16 16384, i16 -32768, i16 18127, i16 16382, i16 16384, i16 -32768, i16 18128, i16 16382, i16 16384, i16 -32768, i16 18129, i16 16382, i16 16384, i16 -32768, i16 18130, i16 16382, i16 16384, i16 -32768, i16 18131, i16 16382, i16 16384, i16 -32768, i16 18132, i16 16382, i16 16384, i16 -32768, i16 18599, i16 2218, i16 18605, i16 -32768, i16 18599, i16 2224, i16 18611, i16 -32768, i16 18614, i16 2233, i16 18620, i16 -32768, i16 18614, i16 2239, i16 18626, i16 -32768, i16 18629, i16 2248, i16 18635, i16 -32768, i16 18629, i16 2254, i16 18641, i16 -32768, i16 18644, i16 2263, i16 18650, i16 -32768, i16 18644, i16 2269, i16 18656, i16 -32768, i16 17909, i16 16382, i16 16384, i16 -32768, i16 17913, i16 16382, i16 16384, i16 -32768, i16 17917, i16 16382, i16 16384, i16 -32768, i16 17922, i16 16382, i16 16384, i16 -32768, i16 17926, i16 16382, i16 16384, i16 -32768, i16 17930, i16 16382, i16 16384, i16 -32768, i16 17935, i16 16382, i16 16384, i16 -32768, i16 17939, i16 16382, i16 16384, i16 -32768, i16 17943, i16 16382, i16 16384, i16 -32768, i16 17948, i16 16382, i16 16384, i16 -32768, i16 17952, i16 16382, i16 16384, i16 -32768, i16 17956, i16 16382, i16 16384, i16 -32768, i16 17960, i16 16382, i16 16384, i16 -32768, i16 17964, i16 16382, i16 16384, i16 -32768, i16 17968, i16 16382, i16 16384, i16 -32768, i16 17972, i16 16382, i16 16384, i16 -32768, i16 17976, i16 16382, i16 16384, i16 -32768, i16 17980, i16 16382, i16 16384, i16 -32768, i16 17986, i16 16382, i16 16384, i16 -32768, i16 17990, i16 16382, i16 16384, i16 -32768, i16 17994, i16 16382, i16 16384, i16 -32768, i16 17996, i16 16382, i16 16384, i16 -32768, i16 17998, i16 16382, i16 16384, i16 -32768, i16 18000, i16 16382, i16 16384, i16 -32768, i16 18002, i16 16382, i16 16384, i16 -32768, i16 18004, i16 16382, i16 16384, i16 -32768, i16 18010, i16 16382, i16 16384, i16 -32768, i16 18016, i16 16382, i16 16384, i16 -32768, i16 18022, i16 16382, i16 16384, i16 -32768, i16 18028, i16 16382, i16 16384, i16 -32768, i16 18034, i16 16382, i16 16384, i16 -32768, i16 18036, i16 16382, i16 16384, i16 -32768, i16 18038, i16 16382, i16 16384, i16 -32768, i16 18040, i16 16382, i16 16384, i16 -32768, i16 18042, i16 16382, i16 16384, i16 -32768, i16 18044, i16 16382, i16 16384, i16 -32768, i16 18048, i16 16382, i16 16384, i16 -32768, i16 18052, i16 16382, i16 16384, i16 -32768, i16 18056, i16 16382, i16 16384, i16 -32768, i16 18058, i16 16382, i16 16384, i16 -32768, i16 18060, i16 16382, i16 16384, i16 -32768, i16 18062, i16 16382, i16 16384, i16 -32768, i16 18064, i16 16382, i16 16384, i16 -32768, i16 18066, i16 16382, i16 16384, i16 -32768, i16 18070, i16 16382, i16 16384, i16 -32768, i16 18072, i16 16382, i16 16384, i16 -32768, i16 18074, i16 16382, i16 16384, i16 -32768, i16 18076, i16 16382, i16 16384, i16 -32768, i16 17065, i16 3, i16 16385, i16 -32768, i16 17065, i16 3, i16 18080, i16 -32768, i16 17065, i16 25, i16 16385, i16 -32768, i16 17065, i16 25, i16 18080, i16 -32768, i16 17065, i16 26, i16 16385, i16 -32768, i16 17065, i16 26, i16 18080, i16 -32768, i16 17065, i16 28, i16 16385, i16 -32768, i16 17065, i16 28, i16 18080, i16 -32768, i16 17065, i16 48, i16 16385, i16 -32768, i16 17065, i16 48, i16 18080, i16 -32768, i16 17065, i16 50, i16 16385, i16 -32768, i16 17065, i16 50, i16 18080, i16 -32768, i16 18659, i16 2278, i16 18578, i16 -32768, i16 18659, i16 2278, i16 18581, i16 -32768, i16 18659, i16 2281, i16 18578, i16 -32768, i16 18659, i16 2281, i16 18581, i16 -32768, i16 18659, i16 2284, i16 18578, i16 -32768, i16 18659, i16 2284, i16 18581, i16 -32768, i16 17122, i16 3, i16 16385, i16 -32768, i16 17122, i16 3, i16 18080, i16 -32768, i16 17122, i16 22, i16 16385, i16 -32768, i16 17122, i16 22, i16 18080, i16 -32768, i16 18164, i16 2, i16 18080, i16 -32768, i16 17133, i16 42, i16 16385, i16 -32768, i16 17133, i16 42, i16 18080, i16 -32768, i16 17148, i16 3, i16 16385, i16 -32768, i16 17148, i16 3, i16 18080, i16 -32768, i16 17148, i16 48, i16 16385, i16 -32768, i16 17148, i16 48, i16 18080, i16 -32768, i16 17148, i16 50, i16 16385, i16 -32768, i16 17148, i16 50, i16 18080, i16 -32768, i16 17205, i16 44, i16 16385, i16 -32768, i16 17205, i16 44, i16 18080, i16 -32768, i16 18176, i16 2, i16 18080, i16 -32768, i16 18179, i16 2, i16 16385, i16 -32768, i16 32766, i16 2, i16 18080, i16 -32768, i16 18178, i16 2, i16 16385, i16 -32768, i16 18178, i16 3, i16 16385, i16 -32768, i16 18178, i16 3, i16 18080, i16 -32768, i16 18178, i16 50, i16 16385, i16 -32768, i16 18178, i16 50, i16 18080, i16 -32768, i16 17272, i16 44, i16 16385, i16 -32768, i16 17272, i16 44, i16 18080, i16 -32768, i16 17285, i16 42, i16 16385, i16 -32768, i16 17285, i16 42, i16 18080, i16 -32768, i16 17285, i16 44, i16 16385, i16 -32768, i16 17285, i16 44, i16 18080, i16 -32768, i16 17311, i16 3, i16 16385, i16 -32768, i16 17311, i16 3, i16 18080, i16 -32768, i16 17311, i16 35, i16 16385, i16 -32768, i16 17311, i16 35, i16 18080, i16 -32768, i16 17311, i16 44, i16 16385, i16 -32768, i16 17311, i16 44, i16 18080, i16 -32768, i16 18671, i16 2290, i16 18578, i16 -32768, i16 18671, i16 2290, i16 18581, i16 -32768, i16 17325, i16 3, i16 16385, i16 -32768, i16 17325, i16 3, i16 18080, i16 -32768, i16 17325, i16 33, i16 16385, i16 -32768, i16 17325, i16 33, i16 18080, i16 -32768, i16 17325, i16 35, i16 16385, i16 -32768, i16 17325, i16 35, i16 18080, i16 -32768, i16 17325, i16 42, i16 16385, i16 -32768, i16 17325, i16 42, i16 18080, i16 -32768, i16 17325, i16 43, i16 16385, i16 -32768, i16 17325, i16 43, i16 18080, i16 -32768, i16 17325, i16 50, i16 16385, i16 -32768, i16 17325, i16 50, i16 18080, i16 -32768, i16 18212, i16 2, i16 18080, i16 -32768, i16 18677, i16 2296, i16 18578, i16 -32768, i16 18677, i16 2296, i16 18581, i16 -32768, i16 17389, i16 44, i16 16385, i16 -32768, i16 17389, i16 44, i16 18080, i16 -32768, i16 17408, i16 3, i16 16385, i16 -32768, i16 17408, i16 3, i16 18080, i16 -32768, i16 17408, i16 22, i16 16385, i16 -32768, i16 17408, i16 22, i16 18080, i16 -32768, i16 18222, i16 2, i16 18080, i16 -32768, i16 18683, i16 2302, i16 18578, i16 -32768, i16 18683, i16 2302, i16 18581, i16 -32768, i16 17444, i16 3, i16 16385, i16 -32768, i16 17444, i16 3, i16 18080, i16 -32768, i16 17444, i16 33, i16 16385, i16 -32768, i16 17444, i16 33, i16 18080, i16 -32768, i16 17444, i16 50, i16 16385, i16 -32768, i16 17444, i16 50, i16 18080, i16 -32768, i16 18232, i16 2, i16 18080, i16 -32768, i16 18234, i16 2, i16 18080, i16 -32768, i16 18234, i16 35, i16 16385, i16 -32768, i16 18234, i16 35, i16 18080, i16 -32768, i16 18234, i16 40, i16 16385, i16 -32768, i16 18234, i16 40, i16 18080, i16 -32768, i16 18240, i16 2, i16 18080, i16 -32768, i16 18240, i16 3, i16 16385, i16 -32768, i16 18240, i16 3, i16 18080, i16 -32768, i16 18240, i16 5, i16 16385, i16 -32768, i16 18240, i16 5, i16 18080, i16 -32768, i16 18240, i16 16, i16 16385, i16 -32768, i16 18240, i16 16, i16 18080, i16 -32768, i16 18240, i16 28, i16 16385, i16 -32768, i16 18240, i16 28, i16 18080, i16 -32768, i16 18240, i16 39, i16 16385, i16 -32768, i16 18240, i16 39, i16 18080, i16 -32768, i16 18240, i16 40, i16 16385, i16 -32768, i16 18240, i16 40, i16 18080, i16 -32768, i16 18254, i16 2, i16 18080, i16 -32768, i16 18254, i16 3, i16 16385, i16 -32768, i16 18254, i16 3, i16 18080, i16 -32768, i16 18259, i16 2, i16 18080, i16 -32768, i16 18259, i16 3, i16 16385, i16 -32768, i16 18259, i16 3, i16 18080, i16 -32768, i16 18259, i16 22, i16 16385, i16 -32768, i16 18259, i16 22, i16 18080, i16 -32768, i16 18259, i16 39, i16 16385, i16 -32768, i16 18259, i16 39, i16 18080, i16 -32768, i16 17272, i16 16382, i16 18080, i16 -32768, i16 17122, i16 44, i16 16385, i16 -32768, i16 17122, i16 44, i16 18080, i16 -32768, i16 17205, i16 7, i16 16385, i16 -32768, i16 17205, i16 7, i16 18080, i16 -32768, i16 18178, i16 39, i16 16385, i16 -32768, i16 18178, i16 39, i16 18080, i16 -32768, i16 17408, i16 44, i16 16385, i16 -32768, i16 17408, i16 44, i16 18080, i16 -32768, i16 32766, i16 16382, i16 16386, i16 -32767, i16 18234, i16 1850, i16 16386, i16 -31072, i16 18234, i16 1850, i16 16419, i16 -32767, i16 18234, i16 1850, i16 16419, i16 -31072, i16 18234, i16 1850, i16 16424, i16 -32767, i16 18234, i16 1850, i16 16424, i16 -31072, i16 18240, i16 1856, i16 16386, i16 -31072, i16 18240, i16 1856, i16 16387, i16 -32767, i16 18240, i16 1856, i16 16387, i16 -31072, i16 18240, i16 1856, i16 16389, i16 -32767, i16 18240, i16 1856, i16 16389, i16 -31072, i16 18240, i16 1856, i16 16400, i16 -32767, i16 18240, i16 1856, i16 16400, i16 -31072, i16 18240, i16 1856, i16 16412, i16 -32767, i16 18240, i16 1856, i16 16412, i16 -31072, i16 18240, i16 1856, i16 16423, i16 -32767, i16 18240, i16 1856, i16 16423, i16 -31072, i16 18240, i16 1856, i16 16424, i16 -32767, i16 18240, i16 1856, i16 16424, i16 -31072, i16 18254, i16 73, i16 16385, i16 -32768, i16 18254, i16 73, i16 18080, i16 -32768, i16 18144, i16 2, i16 18080, i16 -32768, i16 18144, i16 3, i16 16385, i16 -32768, i16 18144, i16 3, i16 18080, i16 -32768, i16 18148, i16 2, i16 18080, i16 -32768, i16 18148, i16 16382, i16 16385, i16 -32768, i16 18148, i16 1770, i16 18080, i16 -32768, i16 18148, i16 1772, i16 18080, i16 -32768, i16 18148, i16 1774, i16 18080, i16 -32768, i16 18212, i16 16382, i16 16385, i16 -32768, i16 18212, i16 1822, i16 18080, i16 -32768, i16 18212, i16 1824, i16 18080, i16 -32768, i16 18212, i16 35, i16 16385, i16 -32768, i16 18212, i16 35, i16 18080, i16 -32768, i16 18163, i16 2, i16 16385, i16 -32768, i16 17325, i16 28, i16 16385, i16 -32768, i16 17325, i16 28, i16 18080, i16 -32768, i16 18221, i16 2, i16 16385, i16 -32768, i16 17444, i16 28, i16 16385, i16 -32768, i16 17444, i16 28, i16 18080, i16 -32768, i16 18264, i16 2, i16 16385, i16 -32768, i16 18150, i16 2, i16 18080, i16 -32768, i16 18160, i16 2, i16 18080, i16 -32768, i16 18170, i16 2, i16 18080, i16 -32768, i16 18188, i16 2, i16 18080, i16 -32768, i16 18192, i16 2, i16 18080, i16 -32768, i16 18200, i16 2, i16 18080, i16 -32768, i16 18218, i16 2, i16 18080, i16 -32768, i16 18261, i16 2, i16 18080, i16 -32768, i16 18265, i16 2, i16 18080, i16 -32768, i16 18254, i16 16382, i16 16385, i16 -32768, i16 18254, i16 1848, i16 18080, i16 -32768, i16 18254, i16 1844, i16 18080, i16 -32768, i16 18154, i16 2, i16 18080, i16 -32768, i16 18154, i16 3, i16 16385, i16 -32768, i16 18154, i16 3, i16 18080, i16 -32768, i16 18154, i16 50, i16 16385, i16 -32768, i16 18154, i16 50, i16 18080, i16 -32768, i16 18154, i16 73, i16 16385, i16 -32768, i16 18154, i16 73, i16 18080, i16 -32768, i16 18206, i16 2, i16 18080, i16 -32768, i16 18206, i16 3, i16 16385, i16 -32768, i16 18206, i16 3, i16 18080, i16 -32768, i16 18206, i16 28, i16 16385, i16 -32768, i16 18206, i16 28, i16 18080, i16 -32768, i16 18206, i16 33, i16 16385, i16 -32768, i16 18206, i16 33, i16 18080, i16 -32768, i16 18144, i16 16382, i16 16385, i16 -32768, i16 18144, i16 1883, i16 18078, i16 -32768, i16 18144, i16 1883, i16 18079, i16 -32768, i16 18144, i16 1883, i16 18080, i16 -32768, i16 18144, i16 1762, i16 18080, i16 -32768, i16 18152, i16 2, i16 18080, i16 -32768, i16 18162, i16 2, i16 18080, i16 -32768, i16 18172, i16 2, i16 18080, i16 -32768, i16 18174, i16 2, i16 18080, i16 -32768, i16 18183, i16 2, i16 18080, i16 -32768, i16 18185, i16 2, i16 18080, i16 -32768, i16 18190, i16 2, i16 18080, i16 -32768, i16 18196, i16 2, i16 18080, i16 -32768, i16 18210, i16 2, i16 18080, i16 -32768, i16 18216, i16 2, i16 18080, i16 -32768, i16 18220, i16 2, i16 18080, i16 -32768, i16 18230, i16 2, i16 18080, i16 -32768, i16 18263, i16 2, i16 18080, i16 -32768, i16 18081, i16 16382, i16 16384, i16 -32768, i16 17133, i16 16382, i16 16385, i16 -32768, i16 17133, i16 1887, i16 18080, i16 -32768, i16 17386, i16 73, i16 18080, i16 -32768, i16 18143, i16 2, i16 16385, i16 -32768, i16 18272, i16 2, i16 16385, i16 -32768, i16 18169, i16 2, i16 16385, i16 -32768, i16 17205, i16 8, i16 16385, i16 -32768, i16 17205, i16 8, i16 18080, i16 -32768, i16 18182, i16 2, i16 16385, i16 -32768, i16 17311, i16 16382, i16 16385, i16 -32768, i16 17311, i16 1814, i16 18080, i16 -32768, i16 18201, i16 2, i16 16385, i16 -32768, i16 18227, i16 2, i16 16385, i16 -32768, i16 18257, i16 2, i16 16385, i16 -32768, i16 18225, i16 2, i16 16385, i16 -32768, i16 18155, i16 2, i16 16385, i16 -32768, i16 18155, i16 73, i16 18080, i16 -32768, i16 18155, i16 73, i16 16385, i16 -32768, i16 18213, i16 2, i16 16385, i16 -32768, i16 18213, i16 73, i16 18080, i16 -32768, i16 18213, i16 73, i16 16385, i16 -32768, i16 16384, i16 0, i16 16400, i16 -32768, i16 16384, i16 0, i16 16434, i16 -32768, i16 16384, i16 0, i16 16389, i16 -32768, i16 18311, i16 2, i16 18078, i16 -32768, i16 18311, i16 2, i16 18079, i16 -32768, i16 18311, i16 2, i16 18080, i16 -32768, i16 18166, i16 2, i16 18080, i16 -32768, i16 18315, i16 2, i16 18078, i16 -32768, i16 18315, i16 2, i16 18079, i16 -32768, i16 18315, i16 2, i16 18080, i16 -32768, i16 18319, i16 2, i16 18078, i16 -32768, i16 18319, i16 2, i16 18079, i16 -32768, i16 18319, i16 2, i16 18080, i16 -32768, i16 18194, i16 2, i16 18080, i16 -32768, i16 32766, i16 22, i16 16385, i16 -16386, i16 18220, i16 22, i16 18080, i16 -16386, i16 32766, i16 2, i16 16385, i16 -16386, i16 18259, i16 2, i16 18080, i16 -16386, i16 18259, i16 3, i16 16385, i16 -16386, i16 18259, i16 3, i16 18080, i16 -16386, i16 18259, i16 39, i16 16385, i16 -16386, i16 18259, i16 39, i16 18080, i16 -16386, i16 18259, i16 22, i16 16385, i16 -16386, i16 18259, i16 22, i16 18080, i16 -16386, i16 18234, i16 16382, i16 16386, i16 -32767, i16 18234, i16 1856, i16 16386, i16 -31072, i16 18234, i16 1856, i16 16387, i16 -32767, i16 18234, i16 1856, i16 16387, i16 -31072, i16 18234, i16 1856, i16 16389, i16 -32767, i16 18234, i16 1856, i16 16389, i16 -31072, i16 18234, i16 1856, i16 16400, i16 -32767, i16 18234, i16 1856, i16 16400, i16 -31072, i16 18234, i16 1856, i16 16434, i16 -32767, i16 18234, i16 1856, i16 16434, i16 -31072, i16 18234, i16 1856, i16 16423, i16 -32767, i16 18234, i16 1856, i16 16423, i16 -31072, i16 18234, i16 1856, i16 16412, i16 -32767, i16 18234, i16 1856, i16 16412, i16 -31072, i16 32766, i16 35, i16 16385, i16 -16386, i16 18204, i16 35, i16 18080, i16 -16386, i16 32766, i16 28, i16 16385, i16 -16386, i16 18148, i16 28, i16 18080, i16 -16386, i16 18212, i16 28, i16 18080, i16 -16386, i16 18232, i16 28, i16 18080, i16 -16386, i16 18323, i16 2, i16 18078, i16 -32768, i16 18323, i16 2, i16 18079, i16 -32768, i16 18323, i16 2, i16 18080, i16 -32768, i16 18327, i16 2, i16 18078, i16 -32768, i16 18327, i16 2, i16 18079, i16 -32768, i16 18327, i16 2, i16 18080, i16 -32768, i16 32766, i16 32766, i16 32766, i16 32766, i16 16384, i16 16384, i16 16384, i16 32766, i16 32766, i16 16389, i16 16385, i16 32766, i16 16470, i16 16389, i16 16388, i16 16470, i16 16470, i16 16389, i16 32766, i16 16470, i16 16470, i16 16392, i16 16385, i16 16470, i16 16470, i16 16392, i16 16388, i16 16470, i16 16470, i16 16393, i16 16385, i16 16470, i16 16470, i16 16393, i16 16388, i16 16470, i16 16470, i16 16405, i16 16385, i16 16470, i16 16470, i16 16405, i16 16388, i16 16470, i16 16470, i16 16397, i16 16385, i16 16470, i16 16470, i16 16397, i16 16388, i16 16470, i16 16470, i16 16408, i16 16385, i16 16470, i16 16470, i16 16408, i16 16388, i16 16470, i16 16470, i16 16409, i16 16385, i16 16470, i16 16470, i16 16409, i16 16388, i16 16470, i16 16470, i16 16411, i16 16385, i16 16470, i16 16470, i16 16411, i16 16388, i16 16470, i16 16470, i16 16410, i16 16385, i16 16470, i16 16470, i16 16410, i16 16388, i16 16470, i16 16470, i16 16435, i16 16385, i16 16470, i16 16470, i16 16435, i16 16388, i16 16470, i16 16470, i16 16398, i16 16385, i16 16470, i16 16470, i16 16398, i16 16388, i16 16470, i16 16470, i16 16394, i16 16385, i16 16470, i16 16470, i16 16394, i16 16388, i16 16470, i16 16470, i16 16412, i16 16385, i16 16470, i16 16470, i16 16412, i16 16388, i16 16470, i16 16470, i16 16413, i16 16385, i16 16470, i16 16470, i16 16413, i16 16388, i16 16470, i16 16470, i16 16415, i16 16385, i16 16470, i16 16470, i16 16415, i16 16388, i16 16470, i16 16470, i16 16414, i16 16385, i16 16470, i16 16470, i16 16414, i16 16388, i16 16470, i16 16470, i16 16436, i16 16385, i16 16470, i16 16470, i16 16436, i16 16388, i16 16470, i16 16470, i16 16395, i16 16385, i16 16470, i16 16470, i16 16395, i16 16388, i16 16470, i16 16470, i16 16399, i16 16385, i16 16470, i16 16470, i16 16399, i16 16388, i16 16470, i16 16470, i16 16417, i16 16385, i16 16470, i16 16470, i16 16417, i16 16388, i16 16470, i16 16470, i16 16450, i16 16385, i16 16470, i16 16470, i16 16450, i16 16388, i16 16470, i16 16470, i16 16402, i16 16385, i16 16470, i16 16470, i16 16402, i16 16388, i16 16470, i16 16470, i16 16426, i16 16385, i16 16470, i16 16470, i16 16426, i16 16388, i16 16470, i16 16470, i16 16400, i16 16385, i16 16470, i16 16470, i16 16400, i16 16388, i16 16470, i16 16470, i16 16396, i16 16385, i16 16470, i16 16470, i16 16396, i16 16388, i16 16470, i16 16470, i16 16444, i16 16385, i16 16470, i16 16470, i16 16444, i16 16388, i16 16470, i16 16470, i16 16449, i16 16385, i16 16470, i16 16470, i16 16449, i16 16388, i16 16470, i16 16470, i16 16391, i16 16385, i16 16470, i16 16470, i16 16391, i16 16388, i16 16470, i16 16470, i16 16418, i16 16385, i16 16470, i16 16470, i16 16418, i16 16388, i16 16470, i16 18628, i16 18631, i16 18517, i16 18628, i16 18628, i16 18631, i16 18425, i16 18628, i16 18628, i16 18634, i16 18517, i16 18628, i16 18628, i16 18634, i16 18425, i16 18628, i16 18628, i16 18637, i16 18517, i16 18628, i16 18628, i16 18637, i16 18425, i16 18628, i16 16536, i16 16389, i16 16388, i16 16536, i16 16536, i16 16390, i16 16385, i16 16536, i16 16536, i16 16390, i16 16388, i16 16536, i16 16536, i16 16444, i16 16385, i16 16536, i16 16536, i16 16444, i16 16388, i16 16536, i16 16536, i16 16445, i16 16385, i16 16536, i16 16536, i16 16445, i16 16388, i16 16536, i16 16545, i16 16389, i16 16388, i16 16545, i16 16545, i16 16392, i16 16385, i16 16545, i16 16545, i16 16392, i16 16388, i16 16545, i16 16545, i16 16394, i16 16385, i16 16545, i16 16545, i16 16394, i16 16388, i16 16545, i16 16545, i16 16400, i16 16385, i16 16545, i16 16545, i16 16400, i16 16388, i16 16545, i16 16545, i16 16390, i16 16385, i16 16545, i16 16545, i16 16390, i16 16388, i16 16545, i16 16545, i16 16448, i16 16385, i16 16545, i16 16545, i16 16448, i16 16388, i16 16545, i16 16545, i16 16437, i16 16385, i16 16545, i16 16545, i16 16437, i16 16388, i16 16545, i16 32766, i16 16395, i16 16385, i16 32766, i16 16559, i16 16395, i16 16388, i16 16559, i16 16562, i16 16389, i16 16388, i16 16562, i16 16562, i16 16395, i16 16385, i16 16562, i16 16562, i16 16395, i16 16388, i16 16562, i16 16562, i16 16390, i16 16385, i16 16562, i16 16562, i16 16390, i16 16388, i16 16562, i16 16562, i16 16444, i16 16385, i16 16562, i16 16562, i16 16444, i16 16388, i16 16562, i16 16562, i16 16452, i16 16385, i16 16562, i16 16562, i16 16452, i16 16388, i16 16562, i16 16562, i16 16448, i16 16385, i16 16562, i16 16562, i16 16448, i16 16388, i16 16562, i16 16562, i16 16421, i16 16385, i16 16562, i16 16562, i16 16421, i16 16388, i16 16562, i16 16562, i16 16445, i16 16385, i16 16562, i16 16562, i16 16445, i16 16388, i16 16562, i16 16579, i16 16389, i16 16388, i16 16579, i16 16579, i16 16392, i16 16385, i16 16579, i16 16579, i16 16392, i16 16388, i16 16579, i16 16579, i16 16393, i16 16385, i16 16579, i16 16579, i16 16393, i16 16388, i16 16579, i16 16579, i16 16405, i16 16385, i16 16579, i16 16579, i16 16405, i16 16388, i16 16579, i16 16579, i16 16397, i16 16385, i16 16579, i16 16579, i16 16397, i16 16388, i16 16579, i16 16579, i16 16398, i16 16385, i16 16579, i16 16579, i16 16398, i16 16388, i16 16579, i16 16579, i16 16394, i16 16385, i16 16579, i16 16579, i16 16394, i16 16388, i16 16579, i16 16579, i16 16412, i16 16385, i16 16579, i16 16579, i16 16412, i16 16388, i16 16579, i16 16579, i16 16413, i16 16385, i16 16579, i16 16579, i16 16413, i16 16388, i16 16579, i16 16579, i16 16415, i16 16385, i16 16579, i16 16579, i16 16415, i16 16388, i16 16579, i16 16579, i16 16414, i16 16385, i16 16579, i16 16579, i16 16414, i16 16388, i16 16579, i16 16579, i16 16436, i16 16385, i16 16579, i16 16579, i16 16436, i16 16388, i16 16579, i16 16579, i16 16395, i16 16385, i16 16579, i16 16579, i16 16395, i16 16388, i16 16579, i16 16579, i16 16402, i16 16385, i16 16579, i16 16579, i16 16402, i16 16388, i16 16579, i16 16579, i16 16400, i16 16385, i16 16579, i16 16579, i16 16400, i16 16388, i16 16579, i16 16579, i16 16396, i16 16385, i16 16579, i16 16579, i16 16396, i16 16388, i16 16579, i16 16579, i16 16446, i16 16385, i16 16579, i16 16579, i16 16446, i16 16388, i16 16579, i16 16579, i16 16390, i16 16385, i16 16579, i16 16579, i16 16390, i16 16388, i16 16579, i16 16579, i16 16444, i16 16385, i16 16579, i16 16579, i16 16444, i16 16388, i16 16579, i16 16579, i16 16439, i16 16385, i16 16579, i16 16579, i16 16439, i16 16388, i16 16579, i16 16579, i16 16449, i16 16385, i16 16579, i16 16579, i16 16449, i16 16388, i16 16579, i16 16579, i16 16391, i16 16385, i16 16579, i16 16579, i16 16391, i16 16388, i16 16579, i16 16579, i16 16419, i16 16385, i16 16579, i16 16579, i16 16419, i16 16388, i16 16579, i16 16579, i16 16420, i16 16385, i16 16579, i16 16579, i16 16420, i16 16388, i16 16579, i16 16579, i16 16421, i16 16385, i16 16579, i16 16579, i16 16421, i16 16388, i16 16579, i16 16630, i16 16389, i16 16388, i16 16630, i16 16630, i16 16400, i16 16385, i16 16630, i16 16630, i16 16400, i16 16388, i16 16630, i16 16630, i16 16390, i16 16385, i16 16630, i16 16630, i16 16390, i16 16388, i16 16630, i16 18640, i16 18643, i16 18646, i16 18640, i16 18649, i16 18643, i16 18652, i16 18649, i16 18655, i16 18643, i16 18658, i16 18655, i16 18661, i16 18665, i16 18669, i16 18661, i16 18673, i16 18665, i16 18677, i16 18673, i16 16642, i16 16389, i16 16388, i16 16642, i16 16642, i16 16392, i16 16385, i16 16642, i16 16642, i16 16392, i16 16388, i16 16642, i16 16642, i16 16397, i16 16385, i16 16642, i16 16642, i16 16397, i16 16388, i16 16642, i16 16642, i16 16394, i16 16385, i16 16642, i16 16642, i16 16394, i16 16388, i16 16642, i16 16642, i16 16395, i16 16385, i16 16642, i16 16642, i16 16395, i16 16388, i16 16642, i16 16642, i16 16390, i16 16385, i16 16642, i16 16642, i16 16390, i16 16388, i16 16642, i16 16642, i16 16452, i16 16385, i16 16642, i16 16642, i16 16452, i16 16388, i16 16642, i16 16642, i16 16448, i16 16385, i16 16642, i16 16642, i16 16448, i16 16388, i16 16642, i16 16642, i16 16391, i16 16385, i16 16642, i16 16642, i16 16391, i16 16388, i16 16642, i16 16661, i16 16389, i16 16388, i16 16661, i16 16661, i16 16447, i16 16385, i16 16661, i16 16661, i16 16447, i16 16388, i16 16661, i16 16661, i16 16394, i16 16385, i16 16661, i16 16661, i16 16394, i16 16388, i16 16661, i16 16661, i16 16402, i16 16385, i16 16661, i16 16661, i16 16402, i16 16388, i16 16661, i16 16661, i16 16390, i16 16385, i16 16661, i16 16661, i16 16390, i16 16388, i16 16661, i16 16661, i16 16444, i16 16385, i16 16661, i16 16661, i16 16444, i16 16388, i16 16661, i16 16661, i16 16452, i16 16385, i16 16661, i16 16661, i16 16452, i16 16388, i16 16661, i16 16661, i16 16448, i16 16385, i16 16661, i16 16661, i16 16448, i16 16388, i16 16661, i16 16678, i16 16389, i16 16386, i16 16678, i16 16678, i16 16389, i16 16388, i16 16678, i16 16681, i16 16389, i16 16388, i16 16681, i16 16681, i16 16392, i16 16385, i16 16681, i16 16681, i16 16392, i16 16388, i16 16681, i16 16681, i16 16393, i16 16385, i16 16681, i16 16681, i16 16393, i16 16388, i16 16681, i16 16681, i16 16405, i16 16385, i16 16681, i16 16681, i16 16405, i16 16388, i16 16681, i16 16681, i16 16397, i16 16385, i16 16681, i16 16681, i16 16397, i16 16388, i16 16681, i16 16681, i16 16398, i16 16385, i16 16681, i16 16681, i16 16398, i16 16388, i16 16681, i16 16681, i16 16394, i16 16385, i16 16681, i16 16681, i16 16394, i16 16388, i16 16681, i16 16681, i16 16395, i16 16385, i16 16681, i16 16681, i16 16395, i16 16388, i16 16681, i16 16681, i16 16402, i16 16385, i16 16681, i16 16681, i16 16402, i16 16388, i16 16681, i16 16681, i16 16427, i16 16385, i16 16681, i16 16681, i16 16427, i16 16388, i16 16681, i16 16681, i16 16400, i16 16385, i16 16681, i16 16681, i16 16400, i16 16388, i16 16681, i16 16681, i16 16396, i16 16385, i16 16681, i16 16681, i16 16396, i16 16388, i16 16681, i16 16681, i16 16446, i16 16385, i16 16681, i16 16681, i16 16446, i16 16388, i16 16681, i16 16681, i16 16390, i16 16385, i16 16681, i16 16681, i16 16390, i16 16388, i16 16681, i16 16681, i16 16444, i16 16385, i16 16681, i16 16681, i16 16444, i16 16388, i16 16681, i16 16681, i16 16449, i16 16385, i16 16681, i16 16681, i16 16449, i16 16388, i16 16681, i16 16681, i16 16391, i16 16385, i16 16681, i16 16681, i16 16391, i16 16388, i16 16681, i16 18681, i16 18684, i16 18517, i16 18681, i16 18681, i16 18684, i16 18425, i16 18681, i16 16718, i16 16389, i16 16388, i16 16718, i16 16718, i16 16394, i16 16385, i16 16718, i16 16718, i16 16394, i16 16388, i16 16718, i16 16723, i16 16389, i16 16388, i16 16723, i16 16723, i16 16392, i16 16385, i16 16723, i16 16723, i16 16392, i16 16388, i16 16723, i16 16723, i16 16395, i16 16385, i16 16723, i16 16723, i16 16395, i16 16388, i16 16723, i16 16723, i16 16400, i16 16385, i16 16723, i16 16723, i16 16400, i16 16388, i16 16723, i16 16723, i16 16444, i16 16385, i16 16723, i16 16723, i16 16444, i16 16388, i16 16723, i16 16723, i16 16448, i16 16385, i16 16723, i16 16723, i16 16448, i16 16388, i16 16723, i16 16723, i16 16445, i16 16385, i16 16723, i16 16723, i16 16445, i16 16388, i16 16723, i16 16723, i16 32766, i16 16388, i16 16723, i16 16739, i16 16389, i16 16388, i16 16739, i16 16739, i16 16392, i16 16385, i16 16739, i16 16739, i16 16392, i16 16388, i16 16739, i16 16739, i16 16395, i16 16385, i16 16739, i16 16739, i16 16395, i16 16388, i16 16739, i16 16739, i16 16390, i16 16385, i16 16739, i16 16739, i16 16390, i16 16388, i16 16739, i16 16739, i16 16444, i16 16385, i16 16739, i16 16739, i16 16444, i16 16388, i16 16739, i16 16739, i16 16452, i16 16385, i16 16739, i16 16739, i16 16452, i16 16388, i16 16739, i16 16739, i16 16448, i16 16385, i16 16739, i16 16739, i16 16448, i16 16388, i16 16739, i16 16739, i16 16434, i16 16385, i16 16739, i16 16739, i16 16434, i16 16388, i16 16739, i16 16739, i16 16421, i16 16385, i16 16739, i16 16739, i16 16421, i16 16388, i16 16739, i16 16739, i16 16445, i16 16385, i16 16739, i16 16739, i16 16445, i16 16388, i16 16739, i16 16760, i16 16389, i16 16388, i16 16760, i16 16760, i16 16392, i16 16385, i16 16760, i16 16760, i16 16392, i16 16388, i16 16760, i16 16760, i16 16390, i16 16385, i16 16760, i16 16760, i16 16390, i16 16388, i16 16760, i16 16760, i16 16444, i16 16385, i16 16760, i16 16760, i16 16444, i16 16388, i16 16760, i16 16769, i16 16389, i16 16388, i16 16769, i16 16769, i16 16392, i16 16385, i16 16769, i16 16769, i16 16392, i16 16388, i16 16769, i16 16769, i16 16395, i16 16385, i16 16769, i16 16769, i16 16395, i16 16388, i16 16769, i16 16769, i16 16396, i16 16385, i16 16769, i16 16769, i16 16396, i16 16388, i16 16769, i16 16769, i16 16390, i16 16385, i16 16769, i16 16769, i16 16390, i16 16388, i16 16769, i16 16769, i16 16444, i16 16385, i16 16769, i16 16769, i16 16444, i16 16388, i16 16769, i16 16769, i16 16448, i16 16385, i16 16769, i16 16769, i16 16448, i16 16388, i16 16769, i16 16769, i16 16421, i16 16385, i16 16769, i16 16769, i16 16421, i16 16388, i16 16769, i16 16769, i16 16445, i16 16385, i16 16769, i16 16769, i16 16445, i16 16388, i16 16769, i16 16769, i16 16451, i16 16388, i16 16769, i16 18687, i16 18690, i16 18517, i16 18687, i16 18687, i16 18690, i16 18425, i16 18687, i16 16791, i16 16389, i16 16388, i16 16791, i16 16791, i16 16389, i16 32766, i16 16791, i16 16791, i16 16392, i16 16385, i16 16791, i16 16791, i16 16392, i16 16388, i16 16791, i16 16791, i16 16393, i16 16385, i16 16791, i16 16791, i16 16393, i16 16388, i16 16791, i16 16791, i16 16405, i16 16385, i16 16791, i16 16791, i16 16405, i16 16388, i16 16791, i16 16791, i16 16397, i16 16385, i16 16791, i16 16791, i16 16397, i16 16388, i16 16791, i16 16791, i16 16398, i16 16385, i16 16791, i16 16791, i16 16398, i16 16388, i16 16791, i16 16791, i16 16394, i16 16385, i16 16791, i16 16791, i16 16394, i16 16388, i16 16791, i16 16791, i16 16412, i16 16385, i16 16791, i16 16791, i16 16412, i16 16388, i16 16791, i16 16791, i16 16413, i16 16385, i16 16791, i16 16791, i16 16413, i16 16388, i16 16791, i16 16791, i16 16415, i16 16385, i16 16791, i16 16791, i16 16415, i16 16388, i16 16791, i16 16791, i16 16414, i16 16385, i16 16791, i16 16791, i16 16414, i16 16388, i16 16791, i16 16791, i16 16436, i16 16385, i16 16791, i16 16791, i16 16436, i16 16388, i16 16791, i16 16791, i16 16395, i16 16385, i16 16791, i16 16791, i16 16395, i16 16388, i16 16791, i16 16791, i16 16402, i16 16385, i16 16791, i16 16791, i16 16402, i16 16388, i16 16791, i16 16791, i16 16404, i16 16385, i16 16791, i16 16791, i16 16404, i16 16388, i16 16791, i16 16791, i16 16400, i16 16385, i16 16791, i16 16791, i16 16400, i16 16388, i16 16791, i16 16791, i16 16396, i16 16385, i16 16791, i16 16791, i16 16396, i16 16388, i16 16791, i16 16791, i16 16406, i16 16385, i16 16791, i16 16791, i16 16406, i16 16388, i16 16791, i16 16791, i16 16431, i16 16385, i16 16791, i16 16791, i16 16431, i16 16388, i16 16791, i16 16791, i16 16444, i16 16385, i16 16791, i16 16791, i16 16444, i16 16388, i16 16791, i16 16791, i16 16452, i16 16385, i16 16791, i16 16791, i16 16452, i16 16388, i16 16791, i16 16791, i16 16443, i16 16385, i16 16791, i16 16791, i16 16443, i16 16388, i16 16791, i16 16791, i16 16449, i16 16385, i16 16791, i16 16791, i16 16449, i16 16388, i16 16791, i16 16791, i16 16440, i16 16385, i16 16791, i16 16791, i16 16440, i16 16388, i16 16791, i16 16791, i16 16391, i16 16385, i16 16791, i16 16791, i16 16391, i16 16388, i16 16791, i16 16791, i16 16419, i16 16385, i16 16791, i16 16791, i16 16419, i16 16388, i16 16791, i16 16791, i16 16420, i16 16385, i16 16791, i16 16791, i16 16420, i16 16388, i16 16791, i16 16791, i16 16401, i16 16385, i16 16791, i16 16791, i16 16401, i16 16388, i16 16791, i16 16791, i16 16422, i16 16385, i16 16791, i16 16791, i16 16422, i16 16388, i16 16791, i16 16791, i16 16423, i16 16385, i16 16791, i16 16791, i16 16423, i16 16388, i16 16791, i16 16791, i16 16425, i16 16385, i16 16791, i16 16791, i16 16425, i16 16388, i16 16791, i16 16791, i16 16424, i16 16385, i16 16791, i16 16791, i16 16424, i16 16388, i16 16791, i16 16791, i16 16441, i16 16385, i16 16791, i16 16791, i16 16441, i16 16388, i16 16791, i16 18693, i16 18696, i16 18517, i16 18693, i16 18693, i16 18696, i16 18425, i16 18693, i16 16861, i16 16389, i16 16388, i16 16861, i16 16861, i16 16392, i16 16385, i16 16861, i16 16861, i16 16392, i16 16388, i16 16861, i16 16861, i16 16390, i16 16385, i16 16861, i16 16861, i16 16390, i16 16388, i16 16861, i16 16868, i16 16389, i16 16388, i16 16868, i16 16871, i16 16389, i16 16388, i16 16871, i16 16871, i16 16392, i16 16385, i16 16871, i16 16871, i16 16392, i16 16388, i16 16871, i16 16871, i16 16405, i16 16385, i16 16871, i16 16871, i16 16405, i16 16388, i16 16871, i16 16871, i16 16398, i16 16385, i16 16871, i16 16871, i16 16398, i16 16388, i16 16871, i16 16871, i16 16390, i16 16385, i16 16871, i16 16871, i16 16390, i16 16388, i16 16871, i16 16871, i16 16444, i16 16385, i16 16871, i16 16871, i16 16444, i16 16388, i16 16871, i16 16871, i16 16448, i16 16385, i16 16871, i16 16871, i16 16448, i16 16388, i16 16871, i16 16871, i16 16434, i16 16385, i16 16871, i16 16871, i16 16434, i16 16388, i16 16871, i16 16871, i16 16445, i16 16385, i16 16871, i16 16871, i16 16445, i16 16388, i16 16871, i16 16889, i16 16395, i16 16388, i16 16889, i16 16892, i16 16389, i16 16388, i16 16892, i16 18699, i16 18643, i16 18702, i16 18699, i16 16892, i16 16392, i16 16385, i16 16892, i16 16892, i16 16392, i16 16388, i16 16892, i16 16892, i16 16403, i16 16385, i16 16892, i16 16892, i16 16403, i16 16388, i16 16892, i16 16892, i16 16394, i16 16385, i16 16892, i16 16892, i16 16394, i16 16388, i16 16892, i16 16892, i16 16390, i16 16385, i16 16892, i16 16892, i16 16390, i16 16388, i16 16892, i16 16892, i16 16444, i16 16385, i16 16892, i16 16892, i16 16444, i16 16388, i16 16892, i16 16892, i16 16433, i16 16385, i16 16892, i16 16892, i16 16433, i16 16388, i16 16892, i16 16892, i16 16448, i16 16385, i16 16892, i16 16892, i16 16448, i16 16388, i16 16892, i16 16909, i16 16395, i16 16388, i16 16909, i16 16909, i16 16416, i16 16385, i16 16909, i16 16909, i16 16416, i16 16388, i16 16909, i16 16892, i16 32766, i16 16388, i16 16892, i16 18705, i16 18643, i16 18708, i16 18705, i16 18699, i16 18643, i16 18711, i16 16384, i16 16917, i16 16389, i16 16388, i16 16917, i16 16917, i16 16395, i16 16385, i16 16917, i16 16917, i16 16395, i16 16388, i16 16917, i16 16917, i16 16390, i16 16385, i16 16917, i16 16917, i16 16390, i16 16388, i16 16917, i16 16917, i16 16444, i16 16385, i16 16917, i16 16917, i16 16444, i16 16388, i16 16917, i16 16917, i16 16452, i16 16385, i16 16917, i16 16917, i16 16452, i16 16388, i16 16917, i16 16917, i16 16448, i16 16385, i16 16917, i16 16917, i16 16448, i16 16388, i16 16917, i16 16917, i16 16421, i16 16385, i16 16917, i16 16917, i16 16421, i16 16388, i16 16917, i16 16917, i16 16445, i16 16385, i16 16917, i16 16917, i16 16445, i16 16388, i16 16917, i16 18714, i16 18717, i16 18517, i16 18714, i16 18714, i16 18717, i16 18425, i16 18714, i16 16936, i16 16389, i16 16388, i16 16936, i16 16936, i16 16392, i16 16385, i16 16936, i16 16936, i16 16392, i16 16388, i16 16936, i16 16936, i16 16393, i16 16385, i16 16936, i16 16936, i16 16393, i16 16388, i16 16936, i16 16936, i16 16405, i16 16385, i16 16936, i16 16936, i16 16405, i16 16388, i16 16936, i16 16936, i16 16397, i16 16385, i16 16936, i16 16936, i16 16397, i16 16388, i16 16936, i16 16936, i16 16398, i16 16385, i16 16936, i16 16936, i16 16398, i16 16388, i16 16936, i16 16936, i16 16394, i16 16385, i16 16936, i16 16936, i16 16394, i16 16388, i16 16936, i16 16936, i16 16395, i16 16385, i16 16936, i16 16936, i16 16395, i16 16388, i16 16936, i16 16936, i16 16399, i16 16385, i16 16936, i16 16936, i16 16399, i16 16388, i16 16936, i16 16936, i16 16402, i16 16385, i16 16936, i16 16936, i16 16402, i16 16388, i16 16936, i16 16936, i16 16426, i16 16385, i16 16936, i16 16936, i16 16426, i16 16388, i16 16936, i16 16936, i16 16427, i16 16385, i16 16936, i16 16936, i16 16427, i16 16388, i16 16936, i16 16936, i16 16428, i16 16385, i16 16936, i16 16936, i16 16428, i16 16388, i16 16936, i16 16936, i16 16429, i16 16385, i16 16936, i16 16936, i16 16429, i16 16388, i16 16936, i16 16936, i16 16404, i16 16385, i16 16936, i16 16936, i16 16404, i16 16388, i16 16936, i16 16936, i16 16400, i16 16385, i16 16936, i16 16936, i16 16400, i16 16388, i16 16936, i16 16936, i16 16396, i16 16385, i16 16936, i16 16936, i16 16396, i16 16388, i16 16936, i16 16936, i16 16406, i16 16385, i16 16936, i16 16936, i16 16406, i16 16388, i16 16936, i16 16936, i16 16446, i16 16385, i16 16936, i16 16936, i16 16446, i16 16388, i16 16936, i16 16936, i16 16444, i16 16385, i16 16936, i16 16936, i16 16444, i16 16388, i16 16936, i16 16936, i16 16449, i16 16385, i16 16936, i16 16936, i16 16449, i16 16388, i16 16936, i16 16936, i16 16391, i16 16385, i16 16936, i16 16936, i16 16391, i16 16388, i16 16936, i16 16936, i16 16430, i16 16385, i16 16936, i16 16936, i16 16430, i16 16388, i16 16936, i16 16936, i16 16442, i16 16385, i16 16936, i16 16936, i16 16442, i16 16388, i16 16936, i16 16936, i16 16421, i16 16385, i16 16936, i16 16936, i16 16421, i16 16388, i16 16936, i16 16936, i16 16401, i16 16385, i16 16936, i16 16936, i16 16401, i16 16388, i16 16936, i16 16936, i16 16422, i16 16385, i16 16936, i16 16936, i16 16422, i16 16388, i16 16936, i16 16936, i16 16423, i16 16385, i16 16936, i16 16936, i16 16423, i16 16388, i16 16936, i16 16936, i16 16425, i16 16385, i16 16936, i16 16936, i16 16425, i16 16388, i16 16936, i16 16936, i16 16424, i16 16385, i16 16936, i16 16936, i16 16424, i16 16388, i16 16936, i16 16936, i16 16441, i16 16385, i16 16936, i16 16936, i16 16441, i16 16388, i16 16936, i16 16999, i16 16389, i16 16388, i16 16999, i16 16999, i16 16396, i16 16385, i16 16999, i16 16999, i16 16396, i16 16388, i16 16999, i16 16999, i16 16444, i16 16385, i16 16999, i16 16999, i16 16444, i16 16388, i16 16999, i16 17006, i16 16389, i16 16388, i16 17006, i16 17006, i16 16392, i16 16385, i16 17006, i16 17006, i16 16392, i16 16388, i16 17006, i16 17006, i16 16393, i16 16385, i16 17006, i16 17006, i16 16393, i16 16388, i16 17006, i16 17006, i16 16394, i16 16385, i16 17006, i16 17006, i16 16394, i16 16388, i16 17006, i16 17006, i16 16402, i16 16385, i16 17006, i16 17006, i16 16402, i16 16388, i16 17006, i16 17006, i16 16390, i16 16385, i16 17006, i16 17006, i16 16390, i16 16388, i16 17006, i16 17006, i16 16444, i16 16385, i16 17006, i16 17006, i16 16444, i16 16388, i16 17006, i16 17021, i16 16389, i16 16388, i16 17021, i16 17021, i16 16402, i16 16385, i16 17021, i16 17021, i16 16402, i16 16388, i16 17021, i16 17021, i16 16390, i16 16385, i16 17021, i16 17021, i16 16390, i16 16388, i16 17021, i16 17028, i16 16389, i16 16388, i16 17028, i16 17028, i16 16392, i16 16385, i16 17028, i16 17028, i16 16392, i16 16388, i16 17028, i16 17028, i16 16393, i16 16385, i16 17028, i16 17028, i16 16393, i16 16388, i16 17028, i16 17028, i16 16394, i16 16385, i16 17028, i16 17028, i16 16394, i16 16388, i16 17028, i16 17028, i16 16402, i16 16385, i16 17028, i16 17028, i16 16402, i16 16388, i16 17028, i16 17028, i16 16400, i16 16385, i16 17028, i16 17028, i16 16400, i16 16388, i16 17028, i16 17028, i16 16396, i16 16385, i16 17028, i16 17028, i16 16396, i16 16388, i16 17028, i16 17028, i16 16390, i16 16385, i16 17028, i16 17028, i16 16390, i16 16388, i16 17028, i16 17028, i16 16444, i16 16385, i16 17028, i16 17028, i16 16444, i16 16388, i16 17028, i16 17047, i16 16389, i16 16388, i16 17047, i16 17047, i16 16392, i16 16385, i16 17047, i16 17047, i16 16392, i16 16388, i16 17047, i16 17047, i16 16394, i16 16385, i16 17047, i16 17047, i16 16394, i16 16388, i16 17047, i16 17047, i16 16390, i16 16385, i16 17047, i16 17047, i16 16390, i16 16388, i16 17047, i16 17047, i16 16444, i16 16385, i16 17047, i16 17047, i16 16444, i16 16388, i16 17047, i16 17047, i16 16452, i16 16385, i16 17047, i16 17047, i16 16452, i16 16388, i16 17047, i16 17047, i16 16445, i16 16385, i16 17047, i16 17047, i16 16445, i16 16388, i16 17047, i16 17062, i16 16395, i16 16388, i16 17062, i16 32766, i16 32766, i16 16384, i16 32766, i16 17064, i16 32766, i16 16384, i16 17064, i16 17073, i16 32766, i16 16384, i16 17073, i16 17074, i16 32766, i16 16384, i16 17074, i16 17075, i16 32766, i16 16384, i16 17075, i16 17076, i16 32766, i16 16384, i16 17076, i16 17077, i16 32766, i16 16384, i16 17077, i16 17078, i16 32766, i16 16384, i16 17078, i16 17079, i16 32766, i16 16384, i16 17079, i16 17080, i16 32766, i16 16384, i16 17080, i16 17081, i16 32766, i16 16384, i16 17081, i16 16384, i16 16384, i16 16384, i16 17133, i16 16384, i16 16384, i16 16384, i16 17135, i16 16384, i16 16384, i16 16384, i16 17197, i16 16384, i16 16384, i16 16384, i16 16384, i16 32766, i16 16385, i16 16453, i16 32766, i16 17723, i16 16385, i16 16454, i16 17723, i16 17723, i16 16388, i16 16453, i16 17723, i16 17723, i16 16388, i16 16454, i16 17723, i16 17727, i16 16388, i16 16453, i16 17727, i16 17729, i16 16388, i16 16453, i16 17729, i16 17731, i16 16388, i16 16453, i16 17731, i16 17733, i16 16385, i16 16454, i16 17733, i16 17733, i16 16388, i16 16453, i16 17733, i16 17733, i16 16388, i16 16454, i16 17733, i16 17737, i16 16388, i16 16453, i16 17737, i16 17739, i16 16385, i16 16454, i16 17739, i16 17739, i16 16388, i16 16453, i16 17739, i16 17739, i16 16388, i16 16454, i16 17739, i16 17743, i16 16388, i16 16453, i16 17743, i16 17745, i16 16385, i16 16454, i16 17745, i16 17745, i16 16385, i16 16455, i16 17745, i16 17745, i16 16388, i16 16453, i16 17745, i16 17745, i16 16388, i16 16454, i16 17745, i16 17745, i16 16388, i16 16455, i16 17745, i16 17745, i16 16388, i16 16456, i16 17745, i16 17752, i16 16388, i16 16453, i16 17752, i16 17754, i16 16388, i16 16453, i16 17754, i16 17756, i16 16388, i16 16453, i16 17756, i16 17758, i16 16388, i16 16453, i16 17758, i16 17760, i16 16388, i16 16453, i16 17760, i16 17762, i16 16385, i16 16454, i16 17762, i16 17762, i16 16388, i16 16453, i16 17762, i16 17762, i16 16388, i16 16454, i16 17762, i16 17766, i16 16388, i16 16453, i16 17766, i16 17768, i16 16388, i16 16453, i16 17768, i16 17770, i16 16388, i16 16453, i16 17770, i16 17770, i16 16388, i16 32766, i16 17770, i16 17773, i16 16388, i16 16453, i16 17773, i16 17775, i16 16385, i16 16454, i16 17775, i16 17775, i16 16385, i16 16455, i16 17775, i16 17775, i16 16388, i16 16453, i16 17775, i16 17775, i16 16388, i16 16454, i16 17775, i16 17775, i16 16388, i16 16455, i16 17775, i16 17775, i16 16388, i16 16456, i16 17775, i16 17782, i16 16388, i16 16453, i16 17782, i16 17784, i16 16388, i16 16453, i16 17784, i16 17786, i16 16388, i16 16453, i16 17786, i16 17788, i16 16385, i16 16454, i16 17788, i16 17788, i16 16388, i16 16453, i16 17788, i16 17788, i16 16388, i16 16454, i16 17788, i16 32766, i16 16457, i16 16385, i16 32766, i16 17792, i16 16457, i16 16388, i16 17792, i16 17794, i16 16457, i16 16388, i16 17794, i16 17796, i16 16457, i16 16388, i16 17796, i16 17798, i16 16457, i16 16388, i16 17798, i16 17800, i16 16457, i16 16388, i16 17800, i16 17802, i16 16457, i16 16388, i16 17802, i16 17804, i16 16457, i16 16388, i16 17804, i16 17806, i16 16457, i16 16388, i16 17806, i16 17808, i16 16457, i16 16388, i16 17808, i16 17810, i16 16457, i16 16388, i16 17810, i16 17812, i16 16457, i16 16388, i16 17812, i16 17814, i16 16457, i16 16388, i16 17814, i16 17816, i16 16457, i16 16388, i16 17816, i16 17818, i16 16457, i16 16388, i16 17818, i16 17820, i16 16457, i16 16388, i16 17820, i16 17822, i16 16457, i16 16388, i16 17822, i16 17824, i16 16457, i16 16388, i16 17824, i16 17826, i16 16457, i16 16388, i16 17826, i16 17828, i16 16457, i16 16388, i16 17828, i16 17830, i16 16457, i16 16388, i16 17830, i16 17832, i16 16457, i16 16388, i16 17832, i16 17834, i16 16457, i16 16388, i16 17834, i16 17836, i16 16457, i16 16388, i16 17836, i16 17838, i16 16457, i16 16388, i16 17838, i16 17840, i16 16457, i16 16388, i16 17840, i16 17842, i16 16457, i16 16388, i16 17842, i16 17844, i16 16457, i16 16388, i16 17844, i16 17846, i16 16457, i16 16388, i16 17846, i16 17848, i16 16457, i16 16388, i16 17848, i16 17850, i16 16457, i16 16388, i16 17850, i16 17852, i16 16457, i16 16388, i16 17852, i16 17854, i16 16457, i16 16388, i16 17854, i16 17856, i16 16457, i16 16388, i16 17856, i16 17858, i16 16457, i16 16388, i16 17858, i16 17860, i16 16457, i16 16388, i16 17860, i16 17862, i16 16457, i16 16388, i16 17862, i16 17864, i16 16457, i16 16388, i16 17864, i16 17866, i16 16457, i16 16388, i16 17866, i16 17868, i16 16457, i16 16388, i16 17868, i16 17870, i16 16457, i16 16388, i16 17870, i16 17872, i16 16457, i16 16388, i16 17872, i16 32766, i16 16457, i16 16388, i16 32766, i16 17874, i16 16457, i16 16385, i16 17874, i16 17876, i16 16457, i16 16388, i16 17876, i16 17878, i16 16457, i16 16385, i16 17878, i16 17880, i16 16457, i16 16388, i16 17880, i16 17882, i16 16457, i16 16388, i16 17882, i16 17884, i16 16457, i16 16388, i16 17884, i16 17886, i16 16457, i16 16388, i16 17886, i16 17888, i16 16457, i16 16388, i16 17888, i16 17890, i16 16457, i16 16388, i16 17890, i16 17892, i16 16457, i16 16388, i16 17892, i16 17894, i16 16457, i16 16388, i16 17894, i16 32766, i16 16384, i16 16384, i16 32766, i16 17928, i16 32766, i16 16384, i16 17928, i16 17927, i16 32766, i16 16384, i16 17927, i16 17937, i16 32766, i16 16384, i16 17937, i16 17941, i16 32766, i16 16384, i16 17941, i16 17948, i16 32766, i16 16384, i16 17948, i16 17956, i16 32766, i16 16384, i16 17956, i16 17961, i16 32766, i16 16384, i16 17961, i16 17966, i16 32766, i16 16384, i16 17966, i16 17971, i16 32766, i16 16384, i16 17971, i16 17976, i16 32766, i16 16384, i16 17976, i16 17979, i16 32766, i16 16384, i16 17979, i16 17982, i16 32766, i16 16384, i16 17982, i16 17985, i16 32766, i16 16384, i16 17985, i16 17988, i16 32766, i16 16384, i16 17988, i16 17993, i16 32766, i16 16384, i16 17993, i16 17998, i16 32766, i16 16384, i16 17998, i16 18003, i16 32766, i16 16384, i16 18003, i16 18008, i16 32766, i16 16384, i16 18008, i16 18013, i16 32766, i16 16384, i16 18013, i16 18018, i16 32766, i16 16384, i16 18018, i16 18023, i16 32766, i16 16384, i16 18023, i16 18028, i16 32766, i16 16384, i16 18028, i16 18033, i16 32766, i16 16384, i16 18033, i16 18038, i16 32766, i16 16384, i16 18038, i16 18043, i16 32766, i16 16384, i16 18043, i16 18048, i16 32766, i16 16384, i16 18048, i16 18053, i16 32766, i16 16384, i16 18053, i16 18058, i16 32766, i16 16384, i16 18058, i16 18063, i16 32766, i16 16384, i16 18063, i16 18066, i16 32766, i16 16384, i16 18066, i16 18069, i16 32766, i16 16384, i16 18069, i16 16384, i16 16384, i16 32766, i16 32766, i16 18720, i16 18720, i16 18723, i16 18720, i16 18720, i16 18726, i16 18729, i16 18720, i16 18732, i16 18732, i16 18735, i16 18732, i16 18732, i16 18738, i16 18741, i16 18732, i16 18744, i16 18744, i16 18747, i16 18744, i16 18744, i16 18750, i16 18753, i16 18744, i16 18756, i16 18759, i16 18762, i16 18756, i16 18756, i16 18765, i16 18768, i16 18756, i16 18101, i16 32766, i16 16384, i16 18101, i16 18105, i16 32766, i16 16384, i16 18105, i16 18109, i16 32766, i16 16384, i16 18109, i16 18114, i16 32766, i16 16384, i16 18114, i16 18118, i16 32766, i16 16384, i16 18118, i16 18122, i16 32766, i16 16384, i16 18122, i16 18127, i16 32766, i16 16384, i16 18127, i16 18131, i16 32766, i16 16384, i16 18131, i16 18135, i16 32766, i16 16384, i16 18135, i16 18140, i16 32766, i16 16384, i16 18140, i16 18144, i16 32766, i16 16384, i16 18144, i16 18148, i16 32766, i16 16384, i16 18148, i16 18152, i16 32766, i16 16384, i16 18152, i16 18156, i16 32766, i16 16384, i16 18156, i16 18160, i16 32766, i16 16384, i16 18160, i16 18164, i16 32766, i16 16384, i16 18164, i16 18168, i16 32766, i16 16384, i16 18168, i16 18172, i16 32766, i16 16384, i16 18172, i16 18178, i16 32766, i16 16384, i16 18178, i16 18182, i16 32766, i16 16384, i16 18182, i16 18186, i16 32766, i16 16384, i16 18186, i16 18188, i16 32766, i16 16384, i16 18188, i16 18190, i16 32766, i16 16384, i16 18190, i16 18192, i16 32766, i16 16384, i16 18192, i16 18194, i16 32766, i16 16384, i16 18194, i16 18196, i16 32766, i16 16384, i16 18196, i16 18202, i16 32766, i16 16384, i16 18202, i16 18208, i16 32766, i16 16384, i16 18208, i16 18214, i16 32766, i16 16384, i16 18214, i16 18220, i16 32766, i16 16384, i16 18220, i16 18226, i16 32766, i16 16384, i16 18226, i16 18228, i16 32766, i16 16384, i16 18228, i16 18230, i16 32766, i16 16384, i16 18230, i16 18232, i16 32766, i16 16384, i16 18232, i16 18234, i16 32766, i16 16384, i16 18234, i16 18236, i16 32766, i16 16384, i16 18236, i16 18240, i16 32766, i16 16384, i16 18240, i16 18244, i16 32766, i16 16384, i16 18244, i16 18248, i16 32766, i16 16384, i16 18248, i16 18250, i16 32766, i16 16384, i16 18250, i16 18252, i16 32766, i16 16384, i16 18252, i16 18254, i16 32766, i16 16384, i16 18254, i16 18256, i16 32766, i16 16384, i16 18256, i16 18258, i16 32766, i16 16384, i16 18258, i16 18262, i16 32766, i16 16384, i16 18262, i16 18264, i16 32766, i16 16384, i16 18264, i16 18266, i16 32766, i16 16384, i16 18266, i16 18268, i16 32766, i16 16384, i16 18268, i16 32766, i16 32766, i16 16384, i16 16384, i16 16396, i16 32766, i16 16384, i16 16384, i16 16398, i16 32766, i16 16384, i16 16384, i16 16400, i16 32766, i16 16384, i16 16384, i16 16402, i16 32766, i16 16384, i16 16384, i16 16404, i16 32766, i16 16384, i16 16384, i16 16406, i16 32766, i16 16384, i16 16384, i16 16408, i16 32766, i16 16384, i16 16384, i16 16410, i16 32766, i16 16384, i16 16384, i16 16412, i16 32766, i16 16384, i16 16384, i16 16414, i16 32766, i16 16384, i16 16384, i16 16416, i16 32766, i16 16384, i16 16384, i16 16418, i16 32766, i16 16384, i16 16384, i16 16420, i16 32766, i16 16384, i16 16384, i16 16422, i16 32766, i16 16384, i16 16384, i16 16424, i16 32766, i16 16384, i16 16384, i16 16426, i16 32766, i16 16384, i16 16384, i16 16428, i16 32766, i16 16384, i16 16384, i16 16430, i16 32766, i16 16384, i16 16384, i16 16432, i16 32766, i16 16384, i16 16384, i16 16434, i16 32766, i16 16384, i16 16384, i16 16436, i16 32766, i16 16384, i16 16384, i16 16438, i16 32766, i16 16384, i16 16384, i16 16440, i16 32766, i16 16384, i16 16384, i16 16442, i16 32766, i16 16384, i16 16384, i16 16444, i16 32766, i16 16384, i16 16384, i16 16446, i16 32766, i16 16384, i16 16384, i16 16384, i16 32766, i16 16384, i16 16384, i16 16384, i16 16384, i16 32766, i16 16384, i16 16384, i16 32766, i16 16385, i16 16385, i16 32766, i16 16385, i16 16385, i16 16385, i16 16438, i16 16386, i16 16385, i16 16385, i16 16440, i16 16386, i16 16385, i16 16385, i16 16442, i16 16386, i16 16385, i16 16385, i16 16444, i16 16386, i16 16385, i16 16385, i16 16446, i16 16386, i16 16385, i16 16385, i16 16448, i16 16386, i16 16385, i16 16385, i16 16450, i16 16386, i16 16385, i16 16385, i16 16452, i16 16386, i16 16385, i16 16385, i16 16454, i16 16386, i16 16385, i16 16385, i16 16456, i16 16386, i16 16385, i16 16385, i16 32766, i16 16385, i16 16385, i16 16387, i16 16458, i16 16385, i16 16385, i16 16388, i16 16460, i16 16385, i16 16385, i16 16388, i16 16462, i16 16385, i16 16385, i16 16388, i16 16464, i16 16385, i16 16385, i16 16388, i16 16466, i16 16385, i16 16385, i16 16388, i16 16468, i16 16385, i16 16385, i16 16388, i16 16470, i16 16385, i16 16385, i16 16388, i16 16472, i16 16385, i16 16385, i16 16388, i16 16474, i16 16385, i16 16385, i16 16388, i16 16476, i16 16385, i16 16385, i16 16388, i16 16478, i16 16385, i16 16385, i16 16388, i16 16480, i16 16385, i16 16385, i16 16388, i16 16482, i16 16385, i16 16385, i16 16388, i16 16484, i16 16385, i16 16385, i16 16388, i16 16486, i16 16385, i16 16385, i16 16388, i16 16488, i16 16385, i16 16385, i16 16388, i16 16490, i16 16385, i16 16385, i16 16388, i16 16492, i16 16385, i16 16385, i16 16388, i16 16494, i16 16385, i16 16385, i16 16388, i16 16496, i16 16385, i16 16385, i16 16388, i16 16498, i16 16385, i16 16385, i16 16388, i16 16500, i16 16385, i16 16385, i16 16388, i16 16502, i16 16385, i16 16385, i16 16388, i16 16504, i16 16385, i16 16385, i16 16388, i16 16506, i16 16385, i16 16385, i16 16388, i16 16508, i16 16385, i16 16385, i16 16388, i16 17294, i16 16385, i16 16385, i16 16385, i16 17297, i16 16385, i16 16385, i16 16385, i16 17300, i16 16385, i16 16385, i16 16385, i16 17303, i16 16385, i16 16385, i16 16385, i16 17306, i16 16385, i16 16385, i16 16385, i16 17309, i16 16385, i16 16385, i16 16385, i16 17312, i16 16385, i16 16385, i16 16385, i16 17315, i16 16385, i16 16385, i16 16385, i16 17318, i16 16385, i16 16385, i16 16385, i16 17321, i16 16385, i16 16385, i16 16385, i16 17324, i16 16385, i16 16385, i16 16385, i16 17327, i16 16385, i16 16385, i16 16385, i16 17330, i16 16385, i16 16385, i16 16385, i16 17333, i16 16385, i16 16385, i16 16385, i16 17336, i16 16385, i16 16385, i16 16385, i16 17339, i16 16385, i16 16385, i16 16385, i16 17342, i16 16385, i16 16385, i16 16385, i16 17345, i16 16385, i16 16385, i16 16385, i16 17348, i16 16385, i16 16385, i16 16385, i16 17351, i16 16385, i16 16385, i16 16385, i16 17354, i16 16385, i16 16385, i16 16385, i16 17357, i16 16385, i16 16385, i16 16385, i16 17360, i16 16385, i16 16385, i16 16385, i16 17363, i16 16385, i16 16385, i16 16385, i16 17366, i16 16385, i16 16385, i16 16385, i16 17369, i16 16385, i16 16385, i16 16385, i16 17372, i16 16385, i16 16385, i16 16385, i16 17375, i16 16385, i16 16385, i16 16385, i16 17378, i16 16385, i16 16385, i16 16385, i16 17381, i16 16385, i16 16385, i16 16385, i16 17384, i16 16385, i16 16385, i16 16385, i16 17387, i16 16385, i16 16385, i16 16385, i16 17390, i16 16385, i16 16385, i16 16385, i16 17393, i16 16385, i16 16385, i16 16385, i16 17396, i16 16385, i16 16385, i16 16385, i16 17399, i16 16385, i16 16385, i16 16385, i16 17402, i16 16385, i16 16385, i16 16385, i16 17405, i16 16385, i16 16385, i16 16385, i16 17408, i16 16385, i16 16385, i16 16385, i16 17411, i16 16385, i16 16385, i16 16385, i16 17414, i16 16385, i16 16385, i16 16385, i16 17417, i16 16385, i16 16385, i16 16385, i16 17420, i16 16385, i16 16385, i16 16385, i16 17423, i16 16385, i16 16385, i16 16385, i16 17426, i16 16385, i16 16385, i16 16385, i16 17429, i16 16385, i16 16385, i16 16385, i16 17432, i16 16385, i16 16385, i16 16385, i16 17435, i16 16385, i16 16385, i16 16385, i16 17438, i16 16385, i16 16385, i16 16385, i16 17441, i16 16385, i16 16385, i16 16385, i16 17444, i16 16385, i16 16385, i16 16385, i16 17447, i16 16385, i16 16385, i16 16385, i16 17450, i16 16385, i16 16385, i16 16385, i16 17453, i16 16385, i16 16385, i16 16385, i16 17456, i16 16385, i16 16385, i16 16385, i16 17459, i16 16385, i16 16385, i16 16385, i16 17462, i16 16385, i16 16385, i16 16385, i16 17465, i16 16385, i16 16385, i16 16385, i16 17468, i16 16385, i16 16385, i16 16385, i16 17471, i16 16385, i16 16385, i16 16385, i16 17474, i16 16385, i16 16385, i16 16385, i16 17477, i16 16385, i16 16385, i16 16385, i16 17480, i16 16385, i16 16385, i16 16385, i16 17483, i16 16385, i16 16385, i16 16385, i16 17486, i16 16385, i16 16385, i16 16385, i16 17489, i16 16385, i16 16385, i16 16385, i16 17492, i16 16385, i16 16385, i16 16385, i16 17495, i16 16385, i16 16385, i16 16385, i16 17498, i16 16385, i16 16385, i16 16385, i16 17501, i16 16385, i16 16385, i16 16385, i16 17504, i16 16385, i16 16385, i16 16385, i16 17507, i16 16385, i16 16385, i16 16385, i16 17510, i16 16385, i16 16385, i16 16385, i16 17513, i16 16385, i16 16385, i16 16385, i16 17516, i16 16385, i16 16385, i16 16385, i16 17519, i16 16385, i16 16385, i16 16385, i16 17522, i16 16385, i16 16385, i16 16385, i16 17525, i16 16385, i16 16385, i16 16385, i16 17528, i16 16385, i16 16385, i16 16385, i16 17531, i16 16385, i16 16385, i16 16385, i16 17534, i16 16385, i16 16385, i16 16385, i16 17537, i16 16385, i16 16385, i16 16385, i16 17540, i16 16385, i16 16385, i16 16385, i16 17543, i16 16385, i16 16385, i16 16385, i16 17546, i16 16385, i16 16385, i16 16385, i16 17549, i16 16385, i16 16385, i16 16385, i16 17552, i16 16385, i16 16385, i16 16385, i16 17555, i16 16385, i16 16385, i16 16385, i16 17558, i16 16385, i16 16385, i16 16385, i16 17561, i16 16385, i16 16385, i16 16385, i16 17564, i16 16385, i16 16385, i16 16385, i16 17567, i16 16385, i16 16385, i16 16385, i16 17570, i16 16385, i16 16385, i16 16385, i16 17573, i16 16385, i16 16385, i16 16385, i16 17576, i16 16385, i16 16385, i16 16385, i16 17579, i16 16385, i16 16385, i16 16385, i16 17582, i16 16385, i16 16385, i16 16385, i16 17585, i16 16385, i16 16385, i16 16385, i16 17588, i16 16385, i16 16385, i16 16385, i16 17591, i16 16385, i16 16385, i16 16385, i16 17594, i16 16385, i16 16385, i16 16385, i16 17597, i16 16385, i16 16385, i16 16385, i16 17600, i16 16385, i16 16385, i16 16385, i16 17603, i16 16385, i16 16385, i16 16385, i16 17606, i16 16385, i16 16385, i16 16385, i16 17609, i16 16385, i16 16385, i16 16385, i16 17612, i16 16385, i16 16385, i16 16385, i16 17615, i16 16385, i16 16385, i16 16385, i16 17618, i16 16385, i16 16385, i16 16385, i16 17621, i16 16385, i16 16385, i16 16385, i16 17624, i16 16385, i16 16385, i16 16385, i16 17627, i16 16385, i16 16385, i16 16385, i16 17630, i16 16385, i16 16385, i16 16385, i16 17633, i16 16385, i16 16385, i16 16385, i16 17636, i16 16385, i16 16385, i16 16385, i16 17639, i16 16385, i16 16385, i16 16385, i16 17642, i16 16385, i16 16385, i16 16385, i16 17645, i16 16385, i16 16385, i16 16385, i16 17648, i16 16385, i16 16385, i16 16385, i16 17651, i16 16385, i16 16385, i16 16385, i16 17654, i16 16385, i16 16385, i16 16385, i16 17657, i16 16385, i16 16385, i16 16385, i16 17660, i16 16385, i16 16385, i16 16385, i16 17663, i16 16385, i16 16385, i16 16385, i16 17666, i16 16385, i16 16385, i16 16385, i16 17669, i16 16385, i16 16385, i16 16385, i16 17672, i16 16385, i16 16385, i16 16385, i16 17675, i16 16385, i16 16385, i16 16385, i16 17678, i16 16385, i16 16385, i16 16385, i16 17681, i16 16385, i16 16385, i16 16385, i16 17684, i16 16385, i16 16385, i16 16385, i16 17687, i16 16385, i16 16385, i16 16385, i16 17690, i16 16385, i16 16385, i16 16385, i16 17693, i16 16385, i16 16385, i16 16385, i16 17696, i16 16385, i16 16385, i16 16385, i16 17699, i16 16385, i16 16385, i16 16385, i16 17702, i16 16385, i16 16385, i16 16385, i16 17705, i16 16385, i16 16385, i16 16385, i16 17708, i16 16385, i16 16385, i16 16385, i16 17711, i16 16385, i16 16385, i16 16385, i16 17714, i16 16385, i16 16385, i16 16385, i16 17717, i16 16385, i16 16385, i16 16385, i16 17720, i16 16385, i16 16385, i16 16385, i16 17723, i16 16385, i16 16385, i16 16385, i16 17726, i16 16385, i16 16385, i16 16385, i16 17729, i16 16385, i16 16385, i16 16385, i16 17732, i16 16385, i16 16385, i16 16385, i16 17735, i16 16385, i16 16385, i16 16385, i16 17738, i16 16385, i16 16385, i16 16385, i16 17741, i16 16385, i16 16385, i16 16385, i16 17744, i16 16385, i16 16385, i16 16385, i16 17747, i16 16385, i16 16385, i16 16385, i16 17750, i16 16385, i16 16385, i16 16385, i16 17753, i16 16385, i16 16385, i16 16385, i16 17756, i16 16385, i16 16385, i16 16385, i16 17759, i16 16385, i16 16385, i16 16385, i16 17762, i16 16385, i16 16385, i16 16385, i16 17765, i16 16385, i16 16385, i16 16385, i16 17768, i16 16385, i16 16385, i16 16385, i16 17771, i16 16385, i16 16385, i16 16385, i16 17774, i16 16385, i16 16385, i16 16385, i16 17777, i16 16385, i16 16385, i16 16385, i16 17780, i16 16385, i16 16385, i16 16385, i16 17783, i16 16385, i16 16385, i16 16385, i16 17786, i16 16385, i16 16385, i16 16385, i16 17789, i16 16385, i16 16385, i16 16385, i16 17792, i16 16385, i16 16385, i16 16385, i16 17795, i16 16385, i16 16385, i16 16385, i16 17798, i16 16385, i16 16385, i16 16385, i16 17801, i16 16385, i16 16385, i16 16385, i16 17804, i16 16385, i16 16385, i16 16385, i16 17807, i16 16385, i16 16385, i16 16385, i16 17810, i16 16385, i16 16385, i16 16385, i16 17813, i16 16385, i16 16385, i16 16385, i16 17816, i16 16385, i16 16385, i16 16385, i16 17819, i16 16385, i16 16385, i16 16385, i16 17822, i16 16385, i16 16385, i16 16385, i16 17825, i16 16385, i16 16385, i16 16385, i16 17828, i16 16385, i16 16385, i16 16385, i16 17831, i16 16385, i16 16385, i16 16385, i16 17834, i16 16385, i16 16385, i16 16385, i16 17837, i16 16385, i16 16385, i16 16385, i16 17840, i16 16385, i16 16385, i16 16385, i16 17843, i16 16385, i16 16385, i16 16385, i16 17846, i16 16385, i16 16385, i16 16385, i16 17849, i16 16385, i16 16385, i16 16385, i16 17852, i16 16385, i16 16385, i16 16385, i16 17855, i16 16385, i16 16385, i16 16385, i16 17858, i16 16385, i16 16385, i16 16385, i16 17861, i16 16385, i16 16385, i16 16385, i16 17864, i16 16385, i16 16385, i16 16385, i16 17867, i16 16385, i16 16385, i16 16385, i16 17870, i16 16385, i16 16385, i16 16385, i16 17873, i16 16385, i16 16385, i16 16385, i16 17876, i16 16385, i16 16385, i16 16385, i16 17879, i16 16385, i16 16385, i16 16385, i16 17882, i16 16385, i16 16385, i16 16385, i16 17885, i16 16385, i16 16385, i16 16385, i16 17888, i16 16385, i16 16385, i16 16385, i16 17891, i16 16385, i16 16385, i16 16385, i16 17894, i16 16385, i16 16385, i16 16385, i16 17897, i16 16385, i16 16385, i16 16385, i16 17900, i16 16385, i16 16385, i16 16385, i16 17903, i16 16385, i16 16385, i16 16385, i16 17906, i16 16385, i16 16385, i16 16385, i16 17909, i16 16385, i16 16385, i16 16385, i16 17912, i16 16385, i16 16385, i16 16385, i16 17915, i16 16385, i16 16385, i16 16385, i16 17918, i16 16385, i16 16385, i16 16385, i16 17921, i16 16385, i16 16385, i16 16385, i16 17924, i16 16385, i16 16385, i16 16385, i16 17927, i16 16385, i16 16385, i16 16385, i16 17930, i16 16385, i16 16385, i16 16385, i16 17933, i16 16385, i16 16385, i16 16385, i16 17936, i16 16385, i16 16385, i16 16385, i16 17939, i16 16385, i16 16385, i16 16385, i16 17942, i16 16385, i16 16385, i16 16385, i16 17945, i16 16385, i16 16385, i16 16385, i16 17948, i16 16385, i16 16385, i16 16385, i16 17951, i16 16385, i16 16385, i16 16385, i16 16779, i16 16385, i16 16385, i16 16389, i16 32767, i16 16384, i16 16384, i16 16384, i16 17284, i16 17285, i16 0, i16 895, i16 895, i16 0, i16 17273, i16 17273, i16 0, i16 16434, i16 16428, i16 0, i16 16393, i16 16393, i16 0, i16 97, i16 905, i16 0, i16 14, i16 14, i16 0, i16 3, i16 3, i16 0, i16 4, i16 3, i16 0, i16 5, i16 3, i16 0, i16 6, i16 3, i16 0, i16 16425, i16 16428, i16 0, i16 16433, i16 17283, i16 0, i16 16437, i16 16437, i16 0, i16 16481, i16 17289, i16 0, i16 16398, i16 16398, i16 0, i16 91, i16 906, i16 0, i16 14, i16 13, i16 0, i16 3, i16 4, i16 0, i16 4, i16 4, i16 0, i16 14, i16 890, i16 0, i16 14, i16 892, i16 0, i16 16488, i16 16488, i16 0, i16 17279, i16 17279, i16 0, i16 16488, i16 16492, i16 0, i16 16492, i16 16492, i16 0, i16 17797, i16 17797, i16 0, i16 16393, i16 17601, i16 0, i16 16393, i16 17600, i16 0, i16 16393, i16 17273, i16 0, i16 17273, i16 16393, i16 0, i16 17273, i16 17601, i16 0, i16 17273, i16 17600, i16 0, i16 17798, i16 17798, i16 0, i16 17799, i16 17799, i16 0, i16 16393, i16 17796, i16 0, i16 16393, i16 17795, i16 0, i16 16393, i16 17794, i16 0, i16 16393, i16 17793, i16 0, i16 17273, i16 17796, i16 0, i16 17273, i16 17795, i16 0, i16 17273, i16 17794, i16 0, i16 17273, i16 17793, i16 0, i16 17800, i16 17800, i16 0, i16 17801, i16 17801, i16 0, i16 17802, i16 17802, i16 0, i16 17804, i16 17804, i16 0, i16 17805, i16 17805, i16 0, i16 17807, i16 17807, i16 0, i16 16475, i16 17934, i16 0, i16 16387, i16 16388, i16 0, i16 16388, i16 16388, i16 0, i16 16475, i16 17289, i16 0, i16 16398, i16 17274, i16 0, i16 16398, i16 17276, i16 0, i16 16475, i16 17290, i16 0, i16 16458, i16 17935, i16 17290, i16 16475, i16 0, i16 17279, i16 17279, i16 17279, i16 17279, i16 0, i16 16389, i16 16390, i16 16388, i16 16387, i16 0, i16 17296, i16 17302, i16 0, i16 17329, i16 17279, i16 0, i16 17296, i16 17303, i16 0, i16 17311, i16 17334, i16 0, i16 17314, i16 17334, i16 0, i16 17193, i16 17193, i16 0, i16 2, i16 2, i16 0, i16 17200, i16 17200, i16 0, i16 17193, i16 18178, i16 0, i16 17201, i16 17201, i16 0, i16 17193, i16 17285, i16 0, i16 17202, i16 17202, i16 0, i16 17193, i16 17193, i16 18178, i16 0, i16 2, i16 2, i16 2, i16 0, i16 17203, i16 17203, i16 17203, i16 0, i16 17193, i16 17193, i16 17285, i16 0, i16 17204, i16 17204, i16 17204, i16 0, i16 18178, i16 17267, i16 0, i16 881, i16 881, i16 0, i16 16385, i16 16385, i16 0, i16 18080, i16 18080, i16 0, i16 17408, i16 17427, i16 0, i16 17410, i16 17410, i16 0, i16 17408, i16 17408, i16 0, i16 18080, i16 17425, i16 0, i16 17426, i16 17426, i16 0, i16 17851, i16 17736, i16 0, i16 1467, i16 1352, i16 0, i16 17901, i16 17901, i16 0, i16 1467, i16 1353, i16 0, i16 17902, i16 17902, i16 0, i16 17851, i16 17738, i16 0, i16 1467, i16 1354, i16 0, i16 17903, i16 17903, i16 0, i16 1467, i16 1355, i16 0, i16 17904, i16 17904, i16 0, i16 17851, i16 17741, i16 0, i16 1467, i16 1357, i16 0, i16 17905, i16 17905, i16 0, i16 1467, i16 1358, i16 0, i16 17906, i16 17906, i16 0, i16 17851, i16 17745, i16 0, i16 1467, i16 1362, i16 0, i16 17907, i16 17907, i16 0, i16 1467, i16 1363, i16 0, i16 17908, i16 17908, i16 0, i16 17065, i16 17148, i16 0, i16 1770, i16 1770, i16 0, i16 1772, i16 1772, i16 0, i16 1774, i16 1774, i16 0, i16 17311, i16 17205, i16 0, i16 1814, i16 1814, i16 0, i16 17325, i16 17148, i16 0, i16 1830, i16 1830, i16 0, i16 17427, i16 17220, i16 0, i16 1840, i16 1840, i16 0, i16 16470, i16 16579, i16 0, i16 16530, i16 16530, i16 0, i16 16532, i16 16532, i16 0, i16 16534, i16 16534, i16 0, i16 16630, i16 16630, i16 0, i16 16389, i16 16389, i16 0, i16 16637, i16 16637, i16 0, i16 16630, i16 16681, i16 0, i16 16638, i16 16638, i16 0, i16 16630, i16 16739, i16 0, i16 16639, i16 16639, i16 0, i16 16630, i16 16630, i16 16681, i16 0, i16 16389, i16 16389, i16 16389, i16 0, i16 16640, i16 16640, i16 16640, i16 0, i16 16630, i16 16630, i16 16739, i16 0, i16 16641, i16 16641, i16 16641, i16 0, i16 16681, i16 16718, i16 0, i16 16716, i16 16716, i16 0, i16 16769, i16 16642, i16 0, i16 16789, i16 16789, i16 0, i16 16791, i16 16579, i16 0, i16 16859, i16 16859, i16 0, i16 16892, i16 16917, i16 0, i16 16894, i16 16894, i16 0, i16 16892, i16 16892, i16 0, i16 16388, i16 16915, i16 0, i16 16916, i16 16916, i16 0, i16 16917, i16 16661, i16 0, i16 16934, i16 16934, i16 0, i16 18043, i16 17928, i16 0, i16 18093, i16 18093, i16 0, i16 18043, i16 17929, i16 0, i16 18094, i16 18094, i16 0, i16 18043, i16 17930, i16 0, i16 18095, i16 18095, i16 0, i16 18043, i16 17931, i16 0, i16 18096, i16 18096, i16 0, i16 18043, i16 17933, i16 0, i16 18097, i16 18097, i16 0, i16 18043, i16 17934, i16 0, i16 18098, i16 18098, i16 0, i16 18043, i16 17937, i16 0, i16 18043, i16 17938, i16 0, i16 18099, i16 18099, i16 0, i16 18043, i16 17939, i16 0, i16 18100, i16 18100, i16 0, i16 16510, i16 16788, i16 0, i16 16510, i16 16789, i16 0, i16 16510, i16 16790, i16 0, i16 16510, i16 16791, i16 0, i16 16510, i16 16792, i16 0, i16 16516, i16 16788, i16 0, i16 16516, i16 16789, i16 0, i16 16516, i16 16790, i16 0, i16 16516, i16 16791, i16 0, i16 16516, i16 16792, i16 0, i16 16522, i16 16788, i16 0, i16 16522, i16 16789, i16 0, i16 16522, i16 16790, i16 0, i16 16522, i16 16791, i16 0, i16 16522, i16 16792, i16 0, i16 16528, i16 16788, i16 0, i16 16528, i16 16789, i16 0, i16 16528, i16 16790, i16 0, i16 16528, i16 16791, i16 0, i16 16528, i16 16792, i16 0, i16 16534, i16 16788, i16 0, i16 16534, i16 16789, i16 0, i16 16534, i16 16790, i16 0, i16 16534, i16 16791, i16 0, i16 16534, i16 16792, i16 0, i16 16540, i16 16788, i16 0, i16 16540, i16 16789, i16 0, i16 16540, i16 16790, i16 0, i16 16540, i16 16791, i16 0, i16 16540, i16 16792, i16 0, i16 16546, i16 16788, i16 0, i16 16546, i16 16789, i16 0, i16 16546, i16 16790, i16 0, i16 16546, i16 16791, i16 0, i16 16546, i16 16792, i16 0, i16 16552, i16 16788, i16 0, i16 16552, i16 16789, i16 0, i16 16552, i16 16790, i16 0, i16 16552, i16 16791, i16 0, i16 16552, i16 16792, i16 0, i16 16558, i16 16788, i16 0, i16 16558, i16 16789, i16 0, i16 16558, i16 16790, i16 0, i16 16558, i16 16791, i16 0, i16 16558, i16 16792, i16 0, i16 16564, i16 16788, i16 0, i16 16564, i16 16789, i16 0, i16 16564, i16 16790, i16 0, i16 16564, i16 16791, i16 0, i16 16564, i16 16792, i16 0, i16 16570, i16 16788, i16 0, i16 16570, i16 16789, i16 0, i16 16570, i16 16790, i16 0, i16 16570, i16 16791, i16 0, i16 16570, i16 16792, i16 0, i16 16576, i16 16788, i16 0, i16 16576, i16 16789, i16 0, i16 16576, i16 16790, i16 0, i16 16576, i16 16791, i16 0, i16 16576, i16 16792, i16 0, i16 16582, i16 16788, i16 0, i16 16582, i16 16789, i16 0, i16 16582, i16 16790, i16 0, i16 16582, i16 16791, i16 0, i16 16582, i16 16792, i16 0, i16 16588, i16 16788, i16 0, i16 16588, i16 16789, i16 0, i16 16588, i16 16790, i16 0, i16 16588, i16 16791, i16 0, i16 16588, i16 16792, i16 0, i16 16594, i16 16788, i16 0, i16 16594, i16 16789, i16 0, i16 16594, i16 16790, i16 0, i16 16594, i16 16791, i16 0, i16 16594, i16 16792, i16 0, i16 16600, i16 16788, i16 0, i16 16600, i16 16789, i16 0, i16 16600, i16 16790, i16 0, i16 16600, i16 16791, i16 0, i16 16600, i16 16792, i16 0, i16 16606, i16 16788, i16 0, i16 16606, i16 16789, i16 0, i16 16606, i16 16790, i16 0, i16 16606, i16 16791, i16 0, i16 16606, i16 16792, i16 0, i16 16612, i16 16788, i16 0, i16 16612, i16 16789, i16 0, i16 16612, i16 16790, i16 0, i16 16612, i16 16791, i16 0, i16 16612, i16 16792, i16 0, i16 16618, i16 16788, i16 0, i16 16618, i16 16789, i16 0, i16 16618, i16 16790, i16 0, i16 16618, i16 16791, i16 0, i16 16618, i16 16792, i16 0, i16 16624, i16 16788, i16 0, i16 16624, i16 16789, i16 0, i16 16624, i16 16790, i16 0, i16 16624, i16 16791, i16 0, i16 16624, i16 16792, i16 0, i16 16630, i16 16788, i16 0, i16 16630, i16 16789, i16 0, i16 16630, i16 16790, i16 0, i16 16630, i16 16791, i16 0, i16 16630, i16 16792, i16 0, i16 16636, i16 16788, i16 0, i16 16636, i16 16789, i16 0, i16 16636, i16 16790, i16 0, i16 16636, i16 16791, i16 0, i16 16636, i16 16792, i16 0, i16 16642, i16 16788, i16 0, i16 16642, i16 16789, i16 0, i16 16642, i16 16790, i16 0, i16 16642, i16 16791, i16 0, i16 16642, i16 16792, i16 0, i16 16648, i16 16788, i16 0, i16 16648, i16 16789, i16 0, i16 16648, i16 16790, i16 0, i16 16648, i16 16791, i16 0, i16 16648, i16 16792, i16 0, i16 16654, i16 16788, i16 0, i16 16654, i16 16789, i16 0, i16 16654, i16 16790, i16 0, i16 16654, i16 16791, i16 0, i16 16654, i16 16792, i16 0, i16 16660, i16 16788, i16 0, i16 16660, i16 16789, i16 0, i16 16660, i16 16790, i16 0, i16 16660, i16 16791, i16 0, i16 16660, i16 16792, i16 0, i16 16666, i16 16788, i16 0, i16 16666, i16 16789, i16 0, i16 16666, i16 16790, i16 0, i16 16666, i16 16791, i16 0, i16 16666, i16 16792, i16 0, i16 16672, i16 16788, i16 0, i16 16672, i16 16789, i16 0, i16 16672, i16 16790, i16 0, i16 16672, i16 16791, i16 0, i16 16672, i16 16792, i16 0, i16 16678, i16 16788, i16 0, i16 16678, i16 16789, i16 0, i16 16678, i16 16790, i16 0, i16 16678, i16 16791, i16 0, i16 16678, i16 16792, i16 0, i16 16684, i16 16788, i16 0, i16 16684, i16 16789, i16 0, i16 16684, i16 16790, i16 0, i16 16684, i16 16791, i16 0, i16 16684, i16 16792, i16 0, i16 16690, i16 16788, i16 0, i16 16690, i16 16789, i16 0, i16 16690, i16 16790, i16 0, i16 16690, i16 16791, i16 0, i16 16690, i16 16792, i16 0, i16 16696, i16 16788, i16 0, i16 16696, i16 16789, i16 0, i16 16696, i16 16790, i16 0, i16 16696, i16 16791, i16 0, i16 16696, i16 16792, i16 0, i16 16702, i16 16788, i16 0, i16 16702, i16 16789, i16 0, i16 16702, i16 16790, i16 0, i16 16702, i16 16791, i16 0, i16 16702, i16 16792, i16 0, i16 16708, i16 16788, i16 0, i16 16708, i16 16789, i16 0, i16 16708, i16 16790, i16 0, i16 16708, i16 16791, i16 0, i16 16708, i16 16792, i16 0, i16 16714, i16 16788, i16 0, i16 16714, i16 16789, i16 0, i16 16714, i16 16790, i16 0, i16 16714, i16 16791, i16 0, i16 16714, i16 16792, i16 0, i16 16721, i16 16788, i16 0, i16 16721, i16 16789, i16 0, i16 16721, i16 16790, i16 0, i16 16721, i16 16791, i16 0, i16 16721, i16 16792, i16 0, i16 16728, i16 16788, i16 0, i16 16728, i16 16789, i16 0, i16 16728, i16 16790, i16 0, i16 16728, i16 16791, i16 0, i16 16728, i16 16792, i16 0, i16 16734, i16 16788, i16 0, i16 16734, i16 16789, i16 0, i16 16734, i16 16790, i16 0, i16 16734, i16 16791, i16 0, i16 16734, i16 16792, i16 0, i16 16740, i16 16788, i16 0, i16 16740, i16 16789, i16 0, i16 16740, i16 16790, i16 0, i16 16740, i16 16791, i16 0, i16 16740, i16 16792, i16 0, i16 16746, i16 16788, i16 0, i16 16746, i16 16789, i16 0, i16 16746, i16 16790, i16 0, i16 16746, i16 16791, i16 0, i16 16746, i16 16792, i16 0, i16 16752, i16 16788, i16 0, i16 16752, i16 16789, i16 0, i16 16752, i16 16790, i16 0, i16 16752, i16 16791, i16 0, i16 16752, i16 16792, i16 0, i16 16758, i16 16788, i16 0, i16 16758, i16 16789, i16 0, i16 16758, i16 16790, i16 0, i16 16758, i16 16791, i16 0, i16 16758, i16 16792, i16 0, i16 16764, i16 16788, i16 0, i16 16764, i16 16789, i16 0, i16 16764, i16 16790, i16 0, i16 16764, i16 16791, i16 0, i16 16764, i16 16792, i16 0, i16 16770, i16 16788, i16 0, i16 16770, i16 16789, i16 0, i16 16770, i16 16790, i16 0, i16 16770, i16 16791, i16 0, i16 16770, i16 16792, i16 0, i16 14, i16 17, i16 8, i16 13, i16 15, i16 6, i16 12, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5, i16 10, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9, i16 7, i16 11, i16 0, i16 0, i16 16, i16 3, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4, i16 0, i16 1, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 15, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 168, i16 173, i16 100, i16 105, i16 110, i16 116, i16 125, i16 131, i16 140, i16 144, i16 146, i16 148, i16 151, i16 154, i16 160, i16 163, i16 120, i16 124, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 26, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 82, i16 114, i16 5, i16 119, i16 0, i16 32, i16 0, i16 136, i16 111, i16 6, i16 17, i16 8, i16 167, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 16, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 36, i16 0, i16 37, i16 0, i16 0, i16 0, i16 0, i16 0, i16 38, i16 0, i16 0, i16 0, i16 0, i16 39, i16 0, i16 40, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 55, i16 123, i16 129, i16 134, i16 139, i16 0, i16 52, i16 99, i16 104, i16 109, i16 115, i16 0, i16 0, i16 0, i16 0, i16 0, i16 77, i16 85, i16 89, i16 0, i16 170, i16 174, i16 178, i16 180, i16 147, i16 0, i16 0, i16 0, i16 0, i16 0, i16 35, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 25, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 61, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 80, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 58, i16 0, i16 0, i16 12, i16 0, i16 0, i16 0, i16 28, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 159, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 143, i16 145, i16 0, i16 0, i16 0, i16 0, i16 172, i16 177, i16 0, i16 0, i16 0, i16 0, i16 47, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 41, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 191, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 13, i16 0, i16 24, i16 51, i16 87, i16 93, i16 102, i16 70, i16 142, i16 175, i16 0, i16 76, i16 90, i16 72, i16 49, i16 4, i16 92, i16 53, i16 96, i16 0, i16 54, i16 0, i16 30, i16 97, i16 18, i16 31, i16 0, i16 0, i16 0, i16 79, i16 91, i16 10, i16 45, i16 0, i16 0, i16 0, i16 158, i16 33, i16 155, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9, i16 184, i16 81, i16 189, i16 196, i16 64, i16 94, i16 75, i16 88, i16 98, i16 66, i16 46, i16 63, i16 187, i16 84, i16 0, i16 50, i16 95, i16 101, i16 106, i16 150, i16 162, i16 133, i16 138, i16 169, i16 192, i16 126, i16 83, i16 183, i16 153, i16 135, i16 179, i16 112, i16 117, i16 122, i16 128, i16 132, i16 185, i16 194, i16 156, i16 195, i16 186, i16 200, i16 67, i16 176, i16 149, i16 181, i16 188, i16 57, i16 141, i16 121, i16 127, i16 130, i16 137, i16 103, i16 107, i16 113, i16 118, i16 56, i16 108, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 152, i16 43, i16 34, i16 7, i16 44, i16 171, i16 0, i16 0, i16 0, i16 165, i16 42, i16 166, i16 0, i16 0, i16 59, i16 19, i16 197, i16 199, i16 22, i16 20, i16 23, i16 21, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 48, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 27, i16 0, i16 0, i16 0, i16 182, i16 198, i16 60, i16 190, i16 62, i16 193, i16 65, i16 157, i16 161, i16 164, i16 69, i16 68, i16 71, i16 78, i16 74, i16 86, i16 0, i16 2, i16 29, i16 3, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 14, i16 73, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1292, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1197, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1199, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 557, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 597, i16 598, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 691, i16 692, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1211, i16 1210, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 701, i16 702, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 731, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 223, i16 230, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 245, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1198, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 268, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1298, i16 1296, i16 1297, i16 1295, i16 0, i16 0, i16 0, i16 0, i16 1569, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1570, i16 1571, i16 1572, i16 1573, i16 0, i16 0, i16 0, i16 0, i16 1106, i16 1107, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1661, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 246, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 247, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 250, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 251, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 253, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 269, i16 0, i16 0, i16 0, i16 270, i16 0, i16 0, i16 0, i16 376, i16 378, i16 379, i16 380, i16 0, i16 0, i16 0, i16 263, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 266, i16 267, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1290, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 581, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 584, i16 583, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 609, i16 610, i16 611, i16 612, i16 0, i16 0, i16 0, i16 0, i16 152, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1207, i16 1206, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 189, i16 0, i16 0, i16 0, i16 244, i16 0, i16 0, i16 0, i16 1224, i16 0, i16 0, i16 1223, i16 0, i16 0, i16 0, i16 0, i16 1226, i16 0, i16 0, i16 1225, i16 0, i16 0, i16 0, i16 0, i16 1228, i16 0, i16 0, i16 1227, i16 0, i16 0, i16 0, i16 0, i16 1230, i16 0, i16 0, i16 1229, i16 0, i16 0, i16 0, i16 0, i16 1232, i16 0, i16 0, i16 1231, i16 0, i16 0, i16 0, i16 0, i16 1234, i16 0, i16 0, i16 1233, i16 0, i16 0, i16 0, i16 0, i16 1241, i16 1240, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1243, i16 1242, i16 1205, i16 1204, i16 0, i16 0, i16 0, i16 0, i16 1247, i16 1246, i16 0, i16 0, i16 1249, i16 1248, i16 0, i16 0, i16 226, i16 228, i16 225, i16 0, i16 0, i16 0, i16 0, i16 0, i16 760, i16 0, i16 734, i16 0, i16 748, i16 0, i16 0, i16 260, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 264, i16 265, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 554, i16 0, i16 0, i16 0, i16 0, i16 552, i16 0, i16 0, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 0, i16 1069, i16 1070, i16 1071, i16 1079, i16 1072, i16 1081, i16 1657, i16 0, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 0, i16 564, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1076, i16 0, i16 0, i16 0, i16 0, i16 0, i16 577, i16 0, i16 1367, i16 1368, i16 1369, i16 1370, i16 1371, i16 1372, i16 1373, i16 0, i16 1127, i16 1125, i16 1124, i16 1126, i16 1128, i16 1129, i16 1130, i16 0, i16 1142, i16 1140, i16 1139, i16 1141, i16 1143, i16 1144, i16 1145, i16 0, i16 1196, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 256, i16 257, i16 255, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1024, i16 984, i16 489, i16 409, i16 0, i16 0, i16 487, i16 407, i16 258, i16 261, i16 259, i16 262, i16 0, i16 0, i16 0, i16 0, i16 1027, i16 987, i16 492, i16 412, i16 1028, i16 988, i16 1029, i16 989, i16 773, i16 0, i16 775, i16 825, i16 771, i16 822, i16 749, i16 800, i16 774, i16 776, i16 746, i16 766, i16 779, i16 786, i16 790, i16 794, i16 1032, i16 992, i16 500, i16 420, i16 1033, i16 993, i16 503, i16 424, i16 781, i16 792, i16 768, i16 769, i16 767, i16 821, i16 808, i16 0, i16 1037, i16 535, i16 534, i16 536, i16 1043, i16 545, i16 550, i16 1002, i16 526, i16 449, i16 529, i16 452, i16 1039, i16 999, i16 1041, i16 1001, i16 1038, i16 998, i16 521, i16 444, i16 525, i16 448, i16 527, i16 450, i16 271, i16 575, i16 576, i16 1075, i16 578, i16 579, i16 580, i16 1077, i16 1040, i16 1000, i16 1042, i16 1003, i16 531, i16 454, i16 532, i16 455, i16 1555, i16 1557, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1300, i16 1299, i16 0, i16 0, i16 0, i16 0, i16 1293, i16 1291, i16 1045, i16 1006, i16 539, i16 462, i16 542, i16 465, i16 546, i16 470, i16 791, i16 793, i16 798, i16 801, i16 802, i16 803, i16 804, i16 805, i16 1049, i16 1051, i16 1053, i16 1055, i16 1057, i16 1059, i16 1061, i16 1063, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 538, i16 461, i16 540, i16 463, i16 1044, i16 1005, i16 537, i16 460, i16 1050, i16 1052, i16 1054, i16 1056, i16 1058, i16 1060, i16 1062, i16 1064, i16 1306, i16 1305, i16 1308, i16 1307, i16 0, i16 0, i16 0, i16 0, i16 796, i16 730, i16 732, i16 733, i16 735, i16 737, i16 739, i16 741, i16 1565, i16 1566, i16 0, i16 0, i16 0, i16 0, i16 589, i16 590, i16 543, i16 544, i16 1637, i16 181, i16 213, i16 182, i16 224, i16 151, i16 799, i16 809, i16 813, i16 797, i16 0, i16 0, i16 0, i16 0, i16 290, i16 291, i16 0, i16 292, i16 293, i16 294, i16 295, i16 296, i16 547, i16 549, i16 472, i16 1048, i16 1009, i16 1047, i16 1008, i16 0, i16 551, i16 1074, i16 553, i16 555, i16 556, i16 558, i16 559, i16 560, i16 807, i16 758, i16 811, i16 810, i16 814, i16 816, i16 820, i16 823, i16 297, i16 298, i16 299, i16 300, i16 0, i16 0, i16 0, i16 0, i16 1065, i16 1067, i16 272, i16 273, i16 274, i16 275, i16 0, i16 0, i16 1066, i16 1068, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 561, i16 1567, i16 1568, i16 0, i16 0, i16 0, i16 0, i16 0, i16 562, i16 563, i16 565, i16 567, i16 568, i16 569, i16 570, i16 571, i16 819, i16 778, i16 780, i16 782, i16 783, i16 785, i16 787, i16 789, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 566, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1078, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 824, i16 826, i16 795, i16 818, i16 806, i16 817, i16 827, i16 0, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1108, i16 1109, i16 1088, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 572, i16 573, i16 574, i16 0, i16 0, i16 0, i16 0, i16 0, i16 828, i16 829, i16 830, i16 831, i16 832, i16 833, i16 834, i16 835, i16 1344, i16 1345, i16 1346, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1089, i16 695, i16 696, i16 697, i16 698, i16 1090, i16 1091, i16 585, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 836, i16 837, i16 839, i16 840, i16 841, i16 842, i16 843, i16 844, i16 838, i16 1131, i16 1132, i16 1134, i16 1133, i16 0, i16 1135, i16 1136, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 586, i16 587, i16 588, i16 1092, i16 1093, i16 593, i16 594, i16 595, i16 1100, i16 1101, i16 675, i16 676, i16 677, i16 678, i16 0, i16 0, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 845, i16 846, i16 847, i16 848, i16 849, i16 850, i16 851, i16 852, i16 591, i16 592, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 0, i16 596, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 853, i16 854, i16 855, i16 1137, i16 856, i16 1138, i16 857, i16 858, i16 599, i16 600, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 1117, i16 1118, i16 859, i16 860, i16 861, i16 862, i16 863, i16 864, i16 865, i16 866, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 1374, i16 1375, i16 1376, i16 1377, i16 1378, i16 1379, i16 1380, i16 1381, i16 1119, i16 1120, i16 1121, i16 1122, i16 1123, i16 0, i16 0, i16 0, i16 608, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 1632, i16 523, i16 1633, i16 1634, i16 1635, i16 533, i16 541, i16 1636, i16 867, i16 868, i16 869, i16 870, i16 871, i16 872, i16 873, i16 874, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 1382, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 875, i16 876, i16 877, i16 878, i16 879, i16 880, i16 881, i16 882, i16 620, i16 621, i16 622, i16 625, i16 626, i16 627, i16 628, i16 631, i16 365, i16 160, i16 192, i16 194, i16 191, i16 195, i16 241, i16 185, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 1390, i16 1391, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1646, i16 446, i16 1647, i16 1648, i16 1649, i16 456, i16 464, i16 1650, i16 623, i16 624, i16 633, i16 634, i16 629, i16 630, i16 1098, i16 1099, i16 883, i16 884, i16 885, i16 1153, i16 886, i16 1154, i16 887, i16 888, i16 374, i16 375, i16 158, i16 157, i16 234, i16 236, i16 238, i16 161, i16 1398, i16 1399, i16 1400, i16 1401, i16 1402, i16 1403, i16 1404, i16 0, i16 632, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 1146, i16 1147, i16 1148, i16 1150, i16 1149, i16 0, i16 1151, i16 1152, i16 1658, i16 1659, i16 1660, i16 954, i16 957, i16 959, i16 961, i16 964, i16 383, i16 0, i16 0, i16 0, i16 387, i16 388, i16 389, i16 390, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 391, i16 392, i16 219, i16 217, i16 0, i16 178, i16 180, i16 0, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 1163, i16 1164, i16 1165, i16 0, i16 0, i16 0, i16 0, i16 0, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 403, i16 402, i16 404, i16 405, i16 415, i16 414, i16 991, i16 416, i16 150, i16 159, i16 172, i16 215, i16 193, i16 216, i16 214, i16 169, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 1179, i16 1178, i16 1201, i16 1200, i16 0, i16 0, i16 0, i16 0, i16 413, i16 1642, i16 421, i16 422, i16 1643, i16 431, i16 1644, i16 1645, i16 674, i16 1094, i16 1095, i16 1096, i16 1097, i16 679, i16 680, i16 681, i16 164, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 167, i16 384, i16 438, i16 176, i16 377, i16 381, i16 382, i16 162, i16 423, i16 505, i16 426, i16 508, i16 429, i16 506, i16 427, i16 509, i16 168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 170, i16 171, i16 0, i16 0, i16 173, i16 174, i16 0, i16 0, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 430, i16 507, i16 428, i16 512, i16 434, i16 514, i16 436, i16 513, i16 177, i16 179, i16 212, i16 218, i16 156, i16 155, i16 165, i16 163, i16 690, i16 1102, i16 1103, i16 1104, i16 1105, i16 693, i16 694, i16 1110, i16 435, i16 433, i16 1035, i16 995, i16 520, i16 443, i16 0, i16 0, i16 1203, i16 1202, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1209, i16 1208, i16 0, i16 0, i16 0, i16 0, i16 1245, i16 1244, i16 699, i16 700, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 955, i16 956, i16 958, i16 0, i16 960, i16 0, i16 962, i16 963, i16 190, i16 474, i16 477, i16 1624, i16 1625, i16 481, i16 1626, i16 1627, i16 703, i16 1652, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 1215, i16 1214, i16 1213, i16 1212, i16 0, i16 0, i16 0, i16 0, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 965, i16 966, i16 968, i16 969, i16 277, i16 278, i16 280, i16 281, i16 711, i16 712, i16 713, i16 1653, i16 715, i16 716, i16 717, i16 718, i16 967, i16 276, i16 279, i16 1552, i16 1553, i16 1554, i16 0, i16 0, i16 971, i16 970, i16 972, i16 973, i16 974, i16 975, i16 977, i16 978, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 719, i16 720, i16 721, i16 722, i16 1654, i16 724, i16 725, i16 726, i16 466, i16 467, i16 1651, i16 183, i16 240, i16 184, i16 229, i16 332, i16 727, i16 1655, i16 1656, i16 0, i16 0, i16 0, i16 0, i16 0, i16 983, i16 994, i16 440, i16 439, i16 441, i16 442, i16 996, i16 231, i16 476, i16 396, i16 1016, i16 976, i16 475, i16 395, i16 1019, i16 979, i16 222, i16 393, i16 397, i16 1638, i16 1639, i16 401, i16 1640, i16 1641, i16 738, i16 742, i16 745, i16 0, i16 755, i16 0, i16 765, i16 777, i16 227, i16 187, i16 394, i16 175, i16 239, i16 154, i16 188, i16 153, i16 483, i16 482, i16 484, i16 485, i16 495, i16 494, i16 1031, i16 496, i16 740, i16 788, i16 736, i16 784, i16 761, i16 812, i16 763, i16 815, i16 997, i16 458, i16 457, i16 459, i16 1004, i16 468, i16 473, i16 469, i16 743, i16 744, i16 747, i16 750, i16 751, i16 752, i16 753, i16 754, i16 488, i16 408, i16 486, i16 406, i16 1026, i16 986, i16 1025, i16 985, i16 233, i16 0, i16 0, i16 0, i16 235, i16 237, i16 0, i16 0, i16 493, i16 1628, i16 501, i16 502, i16 1629, i16 510, i16 1630, i16 1631, i16 497, i16 417, i16 499, i16 419, i16 0, i16 0, i16 498, i16 418, i16 242, i16 220, i16 385, i16 386, i16 221, i16 243, i16 186, i16 166, i16 1011, i16 1010, i16 1012, i16 1013, i16 1014, i16 1015, i16 1017, i16 1018, i16 756, i16 757, i16 0, i16 759, i16 762, i16 764, i16 770, i16 772, i16 248, i16 0, i16 0, i16 0, i16 252, i16 0, i16 0, i16 0, i16 1020, i16 980, i16 1022, i16 982, i16 1021, i16 981, i16 480, i16 400, i16 254, i16 0, i16 0, i16 0, i16 249, i16 0, i16 0, i16 0, i16 1023, i16 1034, i16 517, i16 516, i16 518, i16 519, i16 1036, i16 232, i16 8, i16 13, i16 9, i16 5, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 14, i16 7, i16 11, i16 3, i16 6, i16 0, i16 0, i16 0, i16 0, i16 10, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 81, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8, i16 42, i16 98, i16 109, i16 122, i16 130, i16 140, i16 151, i16 164, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 35, i16 0, i16 108, i16 0, i16 110, i16 120, i16 125, i16 133, i16 0, i16 0, i16 0, i16 0, i16 15, i16 0, i16 141, i16 148, i16 112, i16 117, i16 160, i16 139, i16 149, i16 57, i16 167, i16 170, i16 174, i16 47, i16 60, i16 61, i16 39, i16 0, i16 0, i16 11, i16 92, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 43, i16 18, i16 0, i16 0, i16 10, i16 12, i16 51, i16 119, i16 93, i16 169, i16 172, i16 96, i16 0, i16 0, i16 28, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 23, i16 9, i16 0, i16 14, i16 66, i16 0, i16 67, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 32, i16 75, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 46, i16 147, i16 152, i16 156, i16 31, i16 0, i16 0, i16 157, i16 161, i16 0, i16 36, i16 0, i16 0, i16 0, i16 0, i16 0, i16 37, i16 22, i16 176, i16 0, i16 0, i16 38, i16 181, i16 63, i16 70, i16 48, i16 17, i16 0, i16 73, i16 74, i16 0, i16 0, i16 52, i16 102, i16 135, i16 155, i16 114, i16 171, i16 101, i16 173, i16 111, i16 121, i16 94, i16 127, i16 142, i16 103, i16 143, i16 104, i16 175, i16 180, i16 89, i16 62, i16 124, i16 71, i16 80, i16 83, i16 20, i16 49, i16 166, i16 95, i16 7, i16 106, i16 165, i16 26, i16 55, i16 153, i16 179, i16 154, i16 182, i16 56, i16 40, i16 41, i16 77, i16 158, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 79, i16 86, i16 0, i16 76, i16 82, i16 88, i16 0, i16 59, i16 69, i16 85, i16 99, i16 116, i16 131, i16 58, i16 68, i16 84, i16 97, i16 115, i16 128, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 78, i16 50, i16 87, i16 27, i16 33, i16 34, i16 123, i16 0, i16 44, i16 16, i16 24, i16 0, i16 25, i16 0, i16 3, i16 0, i16 45, i16 105, i16 107, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 126, i16 54, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 144, i16 177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 13, i16 21, i16 19, i16 0, i16 0, i16 53, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 29, i16 30, i16 129, i16 137, i16 146, i16 138, i16 134, i16 0, i16 0, i16 159, i16 178, i16 90, i16 118, i16 132, i16 163, i16 64, i16 72, i16 91, i16 113, i16 162, i16 145, i16 65, i16 150, i16 168, i16 100, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 136, i16 5, i16 6, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 592, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 161, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 172, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 167, i16 168, i16 169, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 170, i16 0, i16 171, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 714, i16 715, i16 864, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1505, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 524, i16 0, i16 525, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 581, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1348, i16 0, i16 0, i16 0, i16 1349, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1923, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 526, i16 527, i16 528, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 427, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 343, i16 344, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 290, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 594, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 742, i16 743, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1924, i16 146, i16 0, i16 1925, i16 0, i16 1926, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 232, i16 233, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 234, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 520, i16 521, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 522, i16 523, i16 0, i16 0, i16 0, i16 0, i16 0, i16 345, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 823, i16 824, i16 0, i16 0, i16 0, i16 0, i16 1762, i16 1763, i16 1772, i16 1773, i16 1824, i16 1825, i16 0, i16 0, i16 0, i16 0, i16 323, i16 324, i16 325, i16 326, i16 0, i16 0, i16 0, i16 0, i16 327, i16 0, i16 328, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1371, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 153, i16 154, i16 0, i16 0, i16 0, i16 0, i16 155, i16 0, i16 0, i16 0, i16 156, i16 0, i16 0, i16 0, i16 0, i16 0, i16 157, i16 158, i16 1148, i16 159, i16 1158, i16 1164, i16 1170, i16 0, i16 1187, i16 0, i16 1200, i16 1213, i16 0, i16 0, i16 0, i16 0, i16 1701, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 546, i16 0, i16 0, i16 0, i16 547, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 329, i16 0, i16 330, i16 0, i16 0, i16 331, i16 0, i16 0, i16 0, i16 332, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 333, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 358, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 225, i16 226, i16 0, i16 0, i16 227, i16 0, i16 228, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 229, i16 0, i16 230, i16 0, i16 0, i16 0, i16 231, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 1733, i16 1735, i16 1737, i16 1739, i16 0, i16 0, i16 0, i16 517, i16 518, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 519, i16 0, i16 0, i16 1310, i16 1311, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1312, i16 1313, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1314, i16 1315, i16 1316, i16 1317, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1353, i16 0, i16 1355, i16 0, i16 0, i16 0, i16 1358, i16 0, i16 0, i16 0, i16 0, i16 1362, i16 1363, i16 1366, i16 0, i16 0, i16 593, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 339, i16 340, i16 0, i16 0, i16 341, i16 342, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 348, i16 0, i16 0, i16 0, i16 0, i16 0, i16 349, i16 350, i16 351, i16 352, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 173, i16 174, i16 175, i16 176, i16 177, i16 0, i16 0, i16 180, i16 181, i16 0, i16 0, i16 0, i16 178, i16 179, i16 0, i16 0, i16 499, i16 500, i16 0, i16 0, i16 0, i16 501, i16 0, i16 0, i16 502, i16 0, i16 503, i16 504, i16 0, i16 0, i16 0, i16 282, i16 0, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 811, i16 812, i16 0, i16 0, i16 0, i16 0, i16 0, i16 894, i16 895, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 304, i16 305, i16 306, i16 307, i16 0, i16 0, i16 308, i16 309, i16 1700, i16 310, i16 0, i16 0, i16 311, i16 312, i16 313, i16 0, i16 1351, i16 1352, i16 1354, i16 1356, i16 1357, i16 1359, i16 1361, i16 1365, i16 1372, i16 1375, i16 1380, i16 1385, i16 1390, i16 1395, i16 1400, i16 0, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 75, i16 78, i16 76, i16 79, i16 77, i16 604, i16 605, i16 0, i16 658, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 672, i16 673, i16 674, i16 675, i16 676, i16 1364, i16 677, i16 678, i16 679, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1234, i16 1230, i16 1224, i16 1236, i16 1288, i16 1244, i16 1246, i16 1248, i16 1258, i16 1264, i16 1276, i16 1254, i16 0, i16 1280, i16 1292, i16 0, i16 1235, i16 1231, i16 1225, i16 1237, i16 1289, i16 1245, i16 1247, i16 1249, i16 1259, i16 1265, i16 1277, i16 1255, i16 0, i16 1281, i16 1293, i16 0, i16 476, i16 477, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1525, i16 1527, i16 1529, i16 1531, i16 1533, i16 1535, i16 1538, i16 1540, i16 1542, i16 1544, i16 1547, i16 1549, i16 1551, i16 1553, i16 1555, i16 0, i16 1526, i16 1528, i16 1530, i16 1532, i16 1534, i16 1536, i16 1539, i16 1541, i16 1543, i16 1545, i16 1548, i16 1550, i16 1552, i16 1554, i16 1556, i16 0, i16 505, i16 0, i16 0, i16 506, i16 0, i16 507, i16 508, i16 0, i16 0, i16 509, i16 510, i16 0, i16 0, i16 511, i16 512, i16 513, i16 514, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 515, i16 516, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1796, i16 1795, i16 881, i16 882, i16 885, i16 886, i16 1801, i16 1802, i16 1803, i16 903, i16 904, i16 1806, i16 1807, i16 905, i16 906, i16 907, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 1033, i16 1034, i16 1035, i16 1036, i16 1027, i16 1028, i16 1031, i16 1032, i16 1037, i16 1038, i16 1047, i16 1048, i16 1049, i16 1050, i16 1057, i16 1058, i16 778, i16 779, i16 780, i16 781, i16 782, i16 783, i16 784, i16 785, i16 870, i16 871, i16 876, i16 877, i16 972, i16 973, i16 966, i16 967, i16 529, i16 0, i16 530, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 0, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 1557, i16 1560, i16 1562, i16 1564, i16 1566, i16 1568, i16 1570, i16 1572, i16 1574, i16 1576, i16 1578, i16 1580, i16 1582, i16 1584, i16 1586, i16 1588, i16 1558, i16 1561, i16 1563, i16 1565, i16 1567, i16 1569, i16 1571, i16 1573, i16 1575, i16 1577, i16 1579, i16 1581, i16 1583, i16 1585, i16 1587, i16 1589, i16 279, i16 280, i16 281, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1818, i16 1819, i16 1830, i16 1831, i16 1007, i16 1008, i16 1832, i16 1833, i16 1013, i16 1014, i16 1834, i16 1835, i16 1029, i16 1030, i16 1838, i16 1839, i16 1055, i16 1056, i16 1098, i16 1099, i16 1090, i16 1091, i16 1100, i16 1101, i16 1088, i16 1089, i16 1096, i16 1097, i16 1852, i16 1853, i16 1854, i16 1855, i16 291, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 292, i16 0, i16 293, i16 0, i16 294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 548, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 0, i16 0, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 1318, i16 1319, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 295, i16 0, i16 296, i16 297, i16 0, i16 298, i16 299, i16 300, i16 301, i16 0, i16 0, i16 302, i16 0, i16 0, i16 0, i16 303, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 1836, i16 1837, i16 1053, i16 1054, i16 1045, i16 1046, i16 1051, i16 1052, i16 1086, i16 1087, i16 1846, i16 1847, i16 1066, i16 1067, i16 1074, i16 1075, i16 816, i16 817, i16 818, i16 819, i16 820, i16 1042, i16 1026, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 0, i16 0, i16 0, i16 0, i16 571, i16 0, i16 0, i16 0, i16 1844, i16 1845, i16 1094, i16 1095, i16 1862, i16 1863, i16 1126, i16 1127, i16 1128, i16 1877, i16 1878, i16 1881, i16 1882, i16 1879, i16 1880, i16 1040, i16 1590, i16 1592, i16 1594, i16 1596, i16 1598, i16 1600, i16 1602, i16 1604, i16 1606, i16 1608, i16 1610, i16 1612, i16 1614, i16 1616, i16 1618, i16 1620, i16 1591, i16 1593, i16 1595, i16 1597, i16 1599, i16 1601, i16 1603, i16 1605, i16 1607, i16 1609, i16 1611, i16 1613, i16 1615, i16 1617, i16 1619, i16 1621, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 314, i16 0, i16 0, i16 0, i16 0, i16 315, i16 0, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 0, i16 322, i16 0, i16 572, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 829, i16 830, i16 1790, i16 1791, i16 840, i16 841, i16 848, i16 849, i16 872, i16 873, i16 1799, i16 1800, i16 858, i16 859, i16 878, i16 879, i16 833, i16 834, i16 844, i16 845, i16 846, i16 847, i16 842, i16 843, i16 850, i16 851, i16 838, i16 839, i16 874, i16 875, i16 868, i16 869, i16 1860, i16 1861, i16 1858, i16 1859, i16 1864, i16 1865, i16 1866, i16 1867, i16 1868, i16 1869, i16 1121, i16 1122, i16 1119, i16 1120, i16 1134, i16 1135, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1350, i16 1452, i16 1457, i16 1462, i16 1467, i16 1472, i16 1477, i16 1482, i16 1487, i16 1490, i16 1493, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 74, i16 87, i16 120, i16 122, i16 119, i16 123, i16 143, i16 114, i16 94, i16 116, i16 683, i16 104, i16 141, i16 82, i16 117, i16 81, i16 1103, i16 0, i16 0, i16 0, i16 0, i16 1142, i16 1143, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1360, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1370, i16 0, i16 1622, i16 1624, i16 1626, i16 1628, i16 1630, i16 1632, i16 1634, i16 1636, i16 1638, i16 1640, i16 1642, i16 1644, i16 1646, i16 1648, i16 1650, i16 1652, i16 1367, i16 1368, i16 1369, i16 1373, i16 1374, i16 1376, i16 1377, i16 1378, i16 1379, i16 1381, i16 1382, i16 1383, i16 1384, i16 1386, i16 1387, i16 1388, i16 1623, i16 1625, i16 1627, i16 1629, i16 1631, i16 1633, i16 1635, i16 1637, i16 1639, i16 1641, i16 1643, i16 1645, i16 1647, i16 1649, i16 1651, i16 1653, i16 1112, i16 1113, i16 1124, i16 1125, i16 1136, i16 1137, i16 1130, i16 1131, i16 1132, i16 1133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 92, i16 1953, i16 730, i16 1954, i16 1955, i16 765, i16 810, i16 822, i16 837, i16 853, i16 884, i16 889, i16 1956, i16 919, i16 1957, i16 942, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 1887, i16 1810, i16 944, i16 1816, i16 952, i16 1820, i16 1828, i16 134, i16 1822, i16 1062, i16 1842, i16 1070, i16 1848, i16 1872, i16 1840, i16 1041, i16 1888, i16 1811, i16 945, i16 1817, i16 953, i16 1821, i16 1829, i16 133, i16 1823, i16 1063, i16 1843, i16 1071, i16 1849, i16 1873, i16 1841, i16 1129, i16 353, i16 0, i16 354, i16 0, i16 0, i16 355, i16 0, i16 0, i16 1889, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 865, i16 964, i16 965, i16 1072, i16 1073, i16 1076, i16 1077, i16 1078, i16 1079, i16 1082, i16 1083, i16 1080, i16 1081, i16 0, i16 718, i16 719, i16 356, i16 357, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 359, i16 360, i16 361, i16 362, i16 0, i16 0, i16 363, i16 364, i16 365, i16 366, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1389, i16 1391, i16 1392, i16 1393, i16 1394, i16 1396, i16 1397, i16 1398, i16 1399, i16 1401, i16 1402, i16 1404, i16 1405, i16 1407, i16 1408, i16 1410, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 1905, i16 445, i16 446, i16 1906, i16 447, i16 1907, i16 448, i16 449, i16 1908, i16 450, i16 451, i16 1909, i16 452, i16 453, i16 454, i16 1910, i16 1138, i16 1139, i16 1140, i16 1141, i16 1144, i16 1145, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 118, i16 1948, i16 729, i16 1949, i16 1950, i16 764, i16 809, i16 821, i16 836, i16 1794, i16 883, i16 888, i16 1951, i16 918, i16 1952, i16 941, i16 1654, i16 1656, i16 1658, i16 1660, i16 1662, i16 1664, i16 1666, i16 1668, i16 1670, i16 1672, i16 1674, i16 1676, i16 1678, i16 1680, i16 1682, i16 1684, i16 1655, i16 1657, i16 1659, i16 1661, i16 1663, i16 1665, i16 1667, i16 1669, i16 1671, i16 1673, i16 1675, i16 1677, i16 1679, i16 1681, i16 1683, i16 1685, i16 1911, i16 455, i16 456, i16 1912, i16 457, i16 458, i16 459, i16 1913, i16 1914, i16 460, i16 461, i16 1915, i16 462, i16 463, i16 464, i16 1916, i16 890, i16 891, i16 896, i16 897, i16 898, i16 899, i16 909, i16 910, i16 911, i16 912, i16 915, i16 916, i16 913, i16 914, i16 920, i16 921, i16 1403, i16 1406, i16 1409, i16 1412, i16 1417, i16 1422, i16 1427, i16 1432, i16 1437, i16 1442, i16 1447, i16 0, i16 0, i16 0, i16 0, i16 0, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 1411, i16 1413, i16 1414, i16 1415, i16 1416, i16 1418, i16 1419, i16 1420, i16 1421, i16 1423, i16 1424, i16 1425, i16 1426, i16 1428, i16 1429, i16 1430, i16 135, i16 334, i16 0, i16 0, i16 137, i16 139, i16 0, i16 0, i16 0, i16 0, i16 335, i16 336, i16 0, i16 0, i16 337, i16 338, i16 908, i16 1804, i16 1805, i16 1808, i16 1809, i16 1812, i16 1813, i16 929, i16 930, i16 939, i16 1814, i16 1815, i16 1826, i16 1827, i16 948, i16 949, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 655, i16 656, i16 657, i16 0, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 144, i16 132, i16 1750, i16 1751, i16 91, i16 145, i16 115, i16 96, i16 97, i16 1749, i16 943, i16 105, i16 1734, i16 1736, i16 1738, i16 89, i16 1686, i16 1688, i16 1690, i16 1692, i16 1537, i16 1546, i16 1559, i16 0, i16 0, i16 0, i16 0, i16 577, i16 578, i16 579, i16 580, i16 0, i16 1175, i16 1147, i16 1151, i16 1153, i16 1155, i16 1157, i16 1161, i16 1163, i16 1167, i16 1169, i16 1176, i16 1178, i16 1180, i16 1182, i16 1184, i16 1186, i16 1431, i16 1433, i16 1434, i16 1435, i16 1436, i16 1438, i16 1439, i16 1440, i16 1441, i16 1443, i16 1444, i16 1445, i16 1446, i16 1448, i16 1449, i16 1450, i16 1687, i16 1689, i16 1691, i16 1693, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 573, i16 574, i16 575, i16 576, i16 0, i16 922, i16 923, i16 924, i16 925, i16 931, i16 932, i16 933, i16 934, i16 937, i16 938, i16 935, i16 936, i16 968, i16 969, i16 970, i16 971, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 0, i16 0, i16 0, i16 0, i16 160, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1697, i16 86, i16 101, i16 127, i16 121, i16 128, i16 126, i16 98, i16 106, i16 108, i16 124, i16 130, i16 83, i16 1698, i16 90, i16 1699, i16 162, i16 163, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 164, i16 165, i16 166, i16 1190, i16 1192, i16 0, i16 1194, i16 1197, i16 1199, i16 1206, i16 1208, i16 1210, i16 1212, i16 1171, i16 1201, i16 1150, i16 1160, i16 1166, i16 1173, i16 1191, i16 1193, i16 1196, i16 1195, i16 1198, i16 1202, i16 1207, i16 1209, i16 1211, i16 1214, i16 1174, i16 1204, i16 1189, i16 1203, i16 1215, i16 0, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 1717, i16 1718, i16 1451, i16 1453, i16 1454, i16 1455, i16 1456, i16 1458, i16 1459, i16 1460, i16 1461, i16 1463, i16 1464, i16 1465, i16 1466, i16 1468, i16 1469, i16 1470, i16 428, i16 1890, i16 429, i16 1891, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 1892, i16 1893, i16 1894, i16 684, i16 1758, i16 702, i16 722, i16 1764, i16 1760, i16 1770, i16 1780, i16 766, i16 1784, i16 774, i16 788, i16 854, i16 1797, i16 862, i16 866, i16 685, i16 1759, i16 703, i16 723, i16 1765, i16 1761, i16 1771, i16 1781, i16 767, i16 1785, i16 775, i16 789, i16 855, i16 1798, i16 863, i16 867, i16 686, i16 687, i16 700, i16 701, i16 768, i16 769, i16 772, i16 773, i16 856, i16 857, i16 860, i16 861, i16 946, i16 947, i16 950, i16 951, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 798, i16 799, i16 790, i16 791, i16 792, i16 793, i16 776, i16 777, i16 1205, i16 1149, i16 1152, i16 1154, i16 1156, i16 1159, i16 1162, i16 1165, i16 1168, i16 1172, i16 1177, i16 1179, i16 1181, i16 1183, i16 1185, i16 1188, i16 182, i16 0, i16 0, i16 183, i16 184, i16 185, i16 186, i16 187, i16 99, i16 100, i16 188, i16 189, i16 102, i16 103, i16 190, i16 191, i16 439, i16 1895, i16 1896, i16 1897, i16 440, i16 1898, i16 1899, i16 1900, i16 441, i16 1901, i16 1902, i16 1903, i16 442, i16 1904, i16 443, i16 444, i16 1719, i16 1720, i16 1721, i16 1722, i16 1723, i16 1724, i16 1725, i16 1726, i16 1727, i16 1728, i16 1729, i16 1730, i16 475, i16 0, i16 0, i16 0, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 984, i16 985, i16 986, i16 987, i16 988, i16 989, i16 1471, i16 1473, i16 1474, i16 1475, i16 1476, i16 1478, i16 1479, i16 1480, i16 1481, i16 1483, i16 1484, i16 1485, i16 1486, i16 1488, i16 1489, i16 1491, i16 192, i16 193, i16 1702, i16 0, i16 0, i16 194, i16 195, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1216, i16 1218, i16 1220, i16 1222, i16 1228, i16 1232, i16 1238, i16 1240, i16 1242, i16 1250, i16 1252, i16 1256, i16 1260, i16 1262, i16 1266, i16 1268, i16 1217, i16 1219, i16 1221, i16 1223, i16 1229, i16 1233, i16 1239, i16 1241, i16 1243, i16 1251, i16 1253, i16 1257, i16 1261, i16 1263, i16 1267, i16 1269, i16 1731, i16 1740, i16 1741, i16 1742, i16 1743, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 85, i16 84, i16 136, i16 138, i16 140, i16 88, i16 196, i16 0, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 0, i16 208, i16 0, i16 1732, i16 0, i16 0, i16 0, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 131, i16 129, i16 209, i16 107, i16 109, i16 0, i16 1226, i16 1227, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 716, i16 717, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 746, i16 747, i16 753, i16 754, i16 755, i16 756, i16 761, i16 762, i16 465, i16 466, i16 1917, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 1918, i16 0, i16 0, i16 0, i16 0, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 0, i16 724, i16 725, i16 720, i16 721, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 690, i16 691, i16 980, i16 981, i16 978, i16 979, i16 997, i16 998, i16 999, i16 1000, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1492, i16 1494, i16 1495, i16 1496, i16 1497, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 0, i16 0, i16 0, i16 726, i16 727, i16 1774, i16 1775, i16 831, i16 832, i16 827, i16 828, i16 892, i16 893, i16 974, i16 975, i16 976, i16 977, i16 0, i16 0, i16 982, i16 983, i16 1921, i16 1922, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1102, i16 478, i16 0, i16 0, i16 0, i16 479, i16 0, i16 0, i16 0, i16 480, i16 0, i16 0, i16 0, i16 481, i16 0, i16 0, i16 0, i16 990, i16 991, i16 992, i16 993, i16 1092, i16 1093, i16 1084, i16 1085, i16 1104, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1503, i16 1504, i16 1506, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 482, i16 483, i16 484, i16 485, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 995, i16 1002, i16 1005, i16 1024, i16 1043, i16 1060, i16 1850, i16 1856, i16 1117, i16 1870, i16 1875, i16 110, i16 125, i16 111, i16 93, i16 80, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 996, i16 1003, i16 1006, i16 1025, i16 1044, i16 1061, i16 1851, i16 1857, i16 1118, i16 1871, i16 1876, i16 112, i16 142, i16 113, i16 95, i16 622, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 494, i16 495, i16 496, i16 0, i16 497, i16 498, i16 0, i16 0, i16 1768, i16 1769, i16 688, i16 689, i16 1766, i16 1767, i16 1776, i16 1777, i16 740, i16 741, i16 744, i16 745, i16 1778, i16 1779, i16 751, i16 752, i16 235, i16 0, i16 236, i16 0, i16 0, i16 0, i16 237, i16 0, i16 0, i16 0, i16 0, i16 238, i16 0, i16 0, i16 0, i16 0, i16 1009, i16 1010, i16 1011, i16 1012, i16 1064, i16 1065, i16 1068, i16 1069, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 757, i16 758, i16 759, i16 760, i16 804, i16 805, i16 802, i16 803, i16 806, i16 807, i16 794, i16 795, i16 800, i16 801, i16 813, i16 814, i16 1270, i16 1272, i16 1274, i16 1278, i16 1282, i16 1284, i16 1286, i16 1290, i16 1294, i16 1296, i16 1299, i16 1300, i16 1303, i16 1304, i16 1306, i16 1308, i16 1782, i16 1783, i16 1788, i16 1789, i16 770, i16 771, i16 796, i16 797, i16 1786, i16 1787, i16 786, i16 787, i16 825, i16 826, i16 1792, i16 1793, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 1271, i16 1273, i16 1275, i16 1279, i16 1283, i16 1285, i16 1287, i16 1291, i16 1295, i16 1297, i16 1298, i16 1301, i16 1302, i16 1305, i16 1307, i16 1309, i16 9, i16 11, i16 8, i16 5, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12, i16 7, i16 13, i16 3, i16 6, i16 0, i16 0, i16 0, i16 0, i16 14, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 181, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8, i16 38, i16 76, i16 84, i16 94, i16 104, i16 117, i16 126, i16 135, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 36, i16 0, i16 170, i16 0, i16 171, i16 176, i16 66, i16 74, i16 0, i16 0, i16 0, i16 0, i16 13, i16 0, i16 81, i16 86, i16 49, i16 50, i16 112, i16 82, i16 96, i16 51, i16 118, i16 120, i16 123, i16 40, i16 54, i16 134, i16 41, i16 0, i16 0, i16 11, i16 165, i16 0, i16 0, i16 0, i16 0, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 46, i16 18, i16 0, i16 0, i16 9, i16 12, i16 47, i16 90, i16 67, i16 138, i16 141, i16 71, i16 0, i16 0, i16 26, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 22, i16 10, i16 0, i16 14, i16 142, i16 0, i16 145, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 34, i16 150, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 39, i16 169, i16 98, i16 100, i16 29, i16 0, i16 0, i16 147, i16 110, i16 0, i16 37, i16 0, i16 0, i16 0, i16 0, i16 0, i16 32, i16 21, i16 65, i16 0, i16 0, i16 33, i16 122, i16 129, i16 136, i16 57, i16 17, i16 0, i16 139, i16 140, i16 0, i16 0, i16 55, i16 127, i16 149, i16 128, i16 151, i16 56, i16 44, i16 45, i16 172, i16 131, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 173, i16 179, i16 0, i16 61, i16 175, i16 99, i16 146, i16 180, i16 167, i16 160, i16 168, i16 63, i16 73, i16 97, i16 83, i16 106, i16 52, i16 108, i16 53, i16 132, i16 154, i16 68, i16 93, i16 116, i16 148, i16 70, i16 95, i16 20, i16 62, i16 158, i16 107, i16 7, i16 89, i16 133, i16 25, i16 80, i16 85, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 109, i16 174, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 19, i16 16, i16 0, i16 0, i16 48, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 27, i16 28, i16 103, i16 114, i16 121, i16 115, i16 91, i16 0, i16 0, i16 125, i16 155, i16 72, i16 101, i16 124, i16 157, i16 64, i16 79, i16 119, i16 137, i16 130, i16 111, i16 161, i16 143, i16 163, i16 113, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 92, i16 5, i16 6, i16 3, i16 144, i16 58, i16 152, i16 30, i16 31, i16 35, i16 78, i16 0, i16 42, i16 15, i16 23, i16 0, i16 24, i16 0, i16 4, i16 0, i16 43, i16 69, i16 166, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 153, i16 156, i16 159, i16 0, i16 60, i16 164, i16 178, i16 77, i16 88, i16 105, i16 59, i16 162, i16 177, i16 75, i16 87, i16 102, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 831, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1251, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 842, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 979, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 837, i16 838, i16 839, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 840, i16 0, i16 841, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 121, i16 122, i16 311, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1697, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1539, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1183, i16 0, i16 1184, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1240, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1540, i16 0, i16 0, i16 0, i16 1541, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1058, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1185, i16 1186, i16 1187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 975, i16 976, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 816, i16 811, i16 819, i16 818, i16 800, i16 821, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 929, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1253, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 815, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 167, i16 168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 771, i16 772, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 877, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1179, i16 1180, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1181, i16 1182, i16 0, i16 0, i16 0, i16 0, i16 0, i16 977, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 978, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 260, i16 261, i16 0, i16 0, i16 0, i16 0, i16 125, i16 126, i16 148, i16 149, i16 450, i16 451, i16 0, i16 0, i16 0, i16 0, i16 1563, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 823, i16 824, i16 0, i16 0, i16 0, i16 0, i16 825, i16 0, i16 0, i16 0, i16 826, i16 0, i16 0, i16 0, i16 0, i16 0, i16 827, i16 828, i16 1340, i16 829, i16 1350, i16 1356, i16 1362, i16 0, i16 1379, i16 0, i16 1392, i16 1405, i16 0, i16 0, i16 0, i16 0, i16 946, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 961, i16 962, i16 963, i16 964, i16 0, i16 0, i16 0, i16 0, i16 803, i16 0, i16 965, i16 0, i16 0, i16 0, i16 0, i16 804, i16 0, i16 805, i16 0, i16 0, i16 806, i16 0, i16 0, i16 0, i16 802, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 808, i16 0, i16 876, i16 0, i16 0, i16 0, i16 809, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 878, i16 879, i16 880, i16 881, i16 882, i16 883, i16 884, i16 885, i16 682, i16 684, i16 686, i16 688, i16 0, i16 0, i16 0, i16 0, i16 1205, i16 0, i16 0, i16 0, i16 1206, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 966, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 989, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 767, i16 768, i16 0, i16 0, i16 769, i16 0, i16 770, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1545, i16 0, i16 1547, i16 0, i16 0, i16 0, i16 1550, i16 0, i16 0, i16 0, i16 0, i16 1554, i16 1555, i16 1558, i16 0, i16 0, i16 79, i16 80, i16 81, i16 82, i16 83, i16 0, i16 0, i16 84, i16 85, i16 0, i16 0, i16 0, i16 843, i16 844, i16 0, i16 0, i16 1158, i16 1159, i16 0, i16 0, i16 0, i16 1160, i16 0, i16 0, i16 1161, i16 0, i16 1162, i16 1163, i16 0, i16 0, i16 0, i16 0, i16 1176, i16 1177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1178, i16 0, i16 0, i16 971, i16 972, i16 0, i16 0, i16 973, i16 974, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 980, i16 0, i16 0, i16 0, i16 0, i16 0, i16 981, i16 982, i16 983, i16 984, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1502, i16 1503, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1504, i16 1505, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1506, i16 1507, i16 1508, i16 1509, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1252, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1543, i16 1544, i16 1546, i16 1548, i16 1549, i16 1551, i16 1553, i16 1557, i16 1564, i16 1567, i16 1572, i16 1577, i16 1582, i16 1587, i16 1592, i16 0, i16 1317, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1092, i16 1093, i16 0, i16 1095, i16 0, i16 1097, i16 1098, i16 0, i16 1100, i16 1101, i16 0, i16 1103, i16 1104, i16 1105, i16 0, i16 0, i16 1108, i16 1109, i16 0, i16 1111, i16 1112, i16 1113, i16 0, i16 0, i16 1116, i16 1117, i16 0, i16 1119, i16 1120, i16 1121, i16 0, i16 0, i16 1135, i16 1136, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 391, i16 412, i16 410, i16 420, i16 440, i16 434, i16 791, i16 448, i16 556, i16 554, i16 564, i16 570, i16 646, i16 550, i16 531, i16 0, i16 392, i16 413, i16 411, i16 421, i16 441, i16 435, i16 787, i16 449, i16 557, i16 555, i16 565, i16 571, i16 647, i16 551, i16 653, i16 0, i16 1164, i16 0, i16 0, i16 1165, i16 0, i16 1166, i16 1167, i16 0, i16 0, i16 1168, i16 1169, i16 0, i16 0, i16 1170, i16 1171, i16 0, i16 1426, i16 1422, i16 1416, i16 1428, i16 1480, i16 1436, i16 1438, i16 1440, i16 1450, i16 1456, i16 1468, i16 1446, i16 0, i16 1472, i16 1484, i16 0, i16 1427, i16 1423, i16 1417, i16 1429, i16 1481, i16 1437, i16 1439, i16 1441, i16 1451, i16 1457, i16 1469, i16 1447, i16 0, i16 1473, i16 1485, i16 0, i16 921, i16 0, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 943, i16 735, i16 944, i16 945, i16 0, i16 0, i16 793, i16 947, i16 847, i16 788, i16 0, i16 0, i16 949, i16 950, i16 951, i16 0, i16 1717, i16 1719, i16 1721, i16 1723, i16 1725, i16 1727, i16 1730, i16 1732, i16 1734, i16 1736, i16 1739, i16 1741, i16 1743, i16 1745, i16 1747, i16 0, i16 1718, i16 1720, i16 1722, i16 1724, i16 1726, i16 1728, i16 1731, i16 1733, i16 1735, i16 1737, i16 1740, i16 1742, i16 1744, i16 1746, i16 1748, i16 0, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 707, i16 710, i16 708, i16 711, i16 709, i16 1263, i16 1264, i16 0, i16 248, i16 249, i16 0, i16 0, i16 0, i16 0, i16 0, i16 345, i16 346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 517, i16 518, i16 519, i16 520, i16 513, i16 514, i16 527, i16 528, i16 521, i16 522, i16 537, i16 538, i16 539, i16 540, i16 547, i16 548, i16 773, i16 0, i16 774, i16 0, i16 0, i16 0, i16 775, i16 0, i16 0, i16 0, i16 0, i16 776, i16 0, i16 0, i16 0, i16 0, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 1037, i16 1038, i16 1039, i16 1040, i16 1041, i16 1042, i16 1043, i16 1044, i16 1045, i16 1542, i16 1644, i16 1649, i16 1654, i16 1659, i16 1664, i16 1669, i16 1674, i16 1679, i16 1682, i16 1685, i16 1690, i16 1691, i16 1692, i16 1693, i16 1694, i16 268, i16 269, i16 272, i16 273, i16 281, i16 282, i16 289, i16 290, i16 319, i16 320, i16 329, i16 330, i16 305, i16 306, i16 327, i16 328, i16 780, i16 0, i16 985, i16 0, i16 0, i16 986, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 525, i16 526, i16 543, i16 544, i16 535, i16 536, i16 541, i16 542, i16 584, i16 585, i16 594, i16 595, i16 560, i16 561, i16 568, i16 569, i16 1552, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1562, i16 0, i16 274, i16 275, i16 285, i16 286, i16 287, i16 288, i16 283, i16 284, i16 291, i16 292, i16 279, i16 280, i16 321, i16 322, i16 315, i16 316, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1046, i16 1047, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 0, i16 0, i16 0, i16 0, i16 1814, i16 1816, i16 1818, i16 1820, i16 1822, i16 1824, i16 1826, i16 1828, i16 1830, i16 1832, i16 1834, i16 1836, i16 1838, i16 1840, i16 1842, i16 1844, i16 1559, i16 1560, i16 1561, i16 1565, i16 1566, i16 1568, i16 1569, i16 1570, i16 1571, i16 1573, i16 1574, i16 1575, i16 1576, i16 1578, i16 1579, i16 1580, i16 1815, i16 1817, i16 1819, i16 1821, i16 1823, i16 1825, i16 1827, i16 1829, i16 1831, i16 1833, i16 1835, i16 1837, i16 1839, i16 1841, i16 1843, i16 1845, i16 795, i16 784, i16 0, i16 0, i16 796, i16 797, i16 0, i16 0, i16 0, i16 0, i16 967, i16 968, i16 0, i16 0, i16 969, i16 970, i16 545, i16 546, i16 598, i16 599, i16 588, i16 589, i16 600, i16 601, i16 586, i16 587, i16 596, i16 597, i16 617, i16 618, i16 619, i16 620, i16 1314, i16 1315, i16 1316, i16 0, i16 1318, i16 801, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1059, i16 0, i16 1061, i16 0, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1070, i16 1071, i16 0, i16 0, i16 0, i16 1060, i16 1062, i16 1072, i16 1073, i16 1074, i16 1076, i16 1077, i16 1078, i16 1080, i16 1081, i16 1082, i16 1084, i16 1085, i16 1086, i16 1088, i16 1091, i16 807, i16 794, i16 699, i16 700, i16 814, i16 766, i16 762, i16 822, i16 817, i16 698, i16 409, i16 786, i16 683, i16 685, i16 687, i16 716, i16 1581, i16 1583, i16 1584, i16 1585, i16 1586, i16 1588, i16 1589, i16 1590, i16 1591, i16 1593, i16 1594, i16 1596, i16 1597, i16 1599, i16 1600, i16 1602, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1556, i16 1335, i16 1336, i16 1337, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1075, i16 0, i16 0, i16 0, i16 1079, i16 0, i16 0, i16 0, i16 1083, i16 0, i16 0, i16 0, i16 1087, i16 0, i16 1089, i16 1090, i16 1846, i16 1848, i16 1850, i16 1852, i16 1854, i16 1856, i16 1858, i16 1860, i16 1862, i16 1864, i16 1866, i16 1868, i16 1870, i16 1872, i16 1874, i16 1876, i16 1847, i16 1849, i16 1851, i16 1853, i16 1855, i16 1857, i16 1859, i16 1861, i16 1863, i16 1865, i16 1867, i16 1869, i16 1871, i16 1873, i16 1875, i16 1877, i16 312, i16 432, i16 433, i16 566, i16 567, i16 572, i16 573, i16 574, i16 575, i16 578, i16 579, i16 576, i16 577, i16 0, i16 131, i16 132, i16 1595, i16 1598, i16 1601, i16 1604, i16 1609, i16 1614, i16 1619, i16 1624, i16 1629, i16 1634, i16 1639, i16 0, i16 0, i16 0, i16 0, i16 0, i16 830, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 832, i16 833, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 834, i16 835, i16 836, i16 323, i16 324, i16 332, i16 333, i16 336, i16 337, i16 349, i16 350, i16 354, i16 357, i16 358, i16 367, i16 368, i16 359, i16 360, i16 361, i16 1603, i16 1605, i16 1606, i16 1607, i16 1608, i16 1610, i16 1611, i16 1612, i16 1613, i16 1615, i16 1616, i16 1617, i16 1618, i16 1620, i16 1621, i16 1622, i16 580, i16 581, i16 592, i16 593, i16 628, i16 629, i16 650, i16 651, i16 652, i16 665, i16 666, i16 669, i16 670, i16 678, i16 679, i16 530, i16 1094, i16 1096, i16 1099, i16 1102, i16 1106, i16 1107, i16 1110, i16 1114, i16 1115, i16 1118, i16 1122, i16 1125, i16 1134, i16 0, i16 0, i16 0, i16 77, i16 718, i16 764, i16 756, i16 810, i16 765, i16 739, i16 757, i16 820, i16 761, i16 88, i16 785, i16 781, i16 733, i16 760, i16 812, i16 845, i16 846, i16 948, i16 0, i16 0, i16 848, i16 849, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 78, i16 717, i16 720, i16 798, i16 759, i16 758, i16 755, i16 721, i16 743, i16 745, i16 792, i16 789, i16 713, i16 731, i16 712, i16 741, i16 850, i16 0, i16 851, i16 852, i16 853, i16 854, i16 855, i16 856, i16 857, i16 750, i16 752, i16 858, i16 859, i16 0, i16 813, i16 0, i16 341, i16 342, i16 347, i16 348, i16 351, i16 352, i16 363, i16 364, i16 369, i16 370, i16 373, i16 374, i16 371, i16 372, i16 378, i16 379, i16 1878, i16 1880, i16 1882, i16 1884, i16 1729, i16 1738, i16 1751, i16 0, i16 0, i16 0, i16 0, i16 1236, i16 1237, i16 1238, i16 1239, i16 0, i16 1367, i16 1339, i16 1343, i16 1345, i16 1347, i16 1349, i16 1353, i16 1355, i16 1359, i16 1361, i16 1368, i16 1370, i16 1372, i16 1374, i16 1376, i16 1378, i16 1623, i16 1625, i16 1626, i16 1627, i16 1628, i16 1630, i16 1631, i16 1632, i16 1633, i16 1635, i16 1636, i16 1637, i16 1638, i16 1640, i16 1641, i16 1642, i16 1879, i16 1881, i16 1883, i16 1885, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1232, i16 1233, i16 1234, i16 1235, i16 0, i16 91, i16 89, i16 109, i16 135, i16 129, i16 123, i16 146, i16 171, i16 199, i16 197, i16 207, i16 221, i16 301, i16 299, i16 309, i16 313, i16 603, i16 0, i16 0, i16 0, i16 0, i16 673, i16 674, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 92, i16 90, i16 110, i16 136, i16 130, i16 124, i16 147, i16 172, i16 200, i16 198, i16 208, i16 222, i16 302, i16 300, i16 310, i16 314, i16 93, i16 94, i16 107, i16 108, i16 201, i16 202, i16 205, i16 206, i16 303, i16 304, i16 307, i16 308, i16 414, i16 415, i16 418, i16 419, i16 861, i16 862, i16 863, i16 864, i16 865, i16 866, i16 867, i16 868, i16 869, i16 870, i16 871, i16 872, i16 873, i16 874, i16 875, i16 0, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 231, i16 232, i16 223, i16 224, i16 225, i16 226, i16 209, i16 210, i16 1123, i16 1124, i16 0, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1132, i16 1133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 612, i16 613, i16 648, i16 649, i16 660, i16 661, i16 654, i16 655, i16 656, i16 657, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1382, i16 1384, i16 0, i16 1386, i16 1389, i16 1391, i16 1398, i16 1400, i16 1402, i16 1404, i16 1363, i16 1393, i16 1342, i16 1352, i16 1358, i16 1365, i16 1383, i16 1385, i16 1388, i16 1387, i16 1390, i16 1394, i16 1399, i16 1401, i16 1403, i16 1406, i16 1366, i16 1396, i16 1381, i16 1395, i16 1407, i16 0, i16 362, i16 365, i16 366, i16 387, i16 388, i16 397, i16 398, i16 389, i16 390, i16 403, i16 405, i16 406, i16 456, i16 457, i16 416, i16 417, i16 1643, i16 1645, i16 1646, i16 1647, i16 1648, i16 1650, i16 1651, i16 1652, i16 1653, i16 1655, i16 1656, i16 1657, i16 1658, i16 1660, i16 1661, i16 1662, i16 1137, i16 0, i16 0, i16 0, i16 1138, i16 0, i16 0, i16 0, i16 1139, i16 0, i16 0, i16 0, i16 1140, i16 0, i16 0, i16 0, i16 626, i16 627, i16 624, i16 625, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 641, i16 642, i16 639, i16 640, i16 658, i16 659, i16 1141, i16 1142, i16 1143, i16 1144, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1397, i16 1341, i16 1344, i16 1346, i16 1348, i16 1351, i16 1354, i16 1357, i16 1360, i16 1364, i16 1369, i16 1371, i16 1373, i16 1375, i16 1377, i16 1380, i16 886, i16 887, i16 888, i16 889, i16 890, i16 891, i16 892, i16 893, i16 894, i16 895, i16 896, i16 897, i16 898, i16 899, i16 900, i16 901, i16 1145, i16 1146, i16 1147, i16 1148, i16 1149, i16 1150, i16 1151, i16 1152, i16 1153, i16 1154, i16 1155, i16 0, i16 1156, i16 1157, i16 0, i16 0, i16 380, i16 381, i16 382, i16 383, i16 393, i16 394, i16 395, i16 396, i16 401, i16 402, i16 399, i16 400, i16 442, i16 443, i16 444, i16 445, i16 127, i16 128, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 173, i16 174, i16 182, i16 183, i16 184, i16 185, i16 192, i16 193, i16 1663, i16 1665, i16 1666, i16 1667, i16 1668, i16 1670, i16 1671, i16 1672, i16 1673, i16 1675, i16 1676, i16 1677, i16 1678, i16 1680, i16 1681, i16 1683, i16 1408, i16 1410, i16 1412, i16 1414, i16 1420, i16 1424, i16 1430, i16 1432, i16 1434, i16 1442, i16 1444, i16 1448, i16 1452, i16 1454, i16 1458, i16 1460, i16 1409, i16 1411, i16 1413, i16 1415, i16 1421, i16 1425, i16 1431, i16 1433, i16 1435, i16 1443, i16 1445, i16 1449, i16 1453, i16 1455, i16 1459, i16 1461, i16 902, i16 903, i16 904, i16 905, i16 906, i16 907, i16 908, i16 909, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 137, i16 138, i16 133, i16 134, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 97, i16 98, i16 1418, i16 1419, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 141, i16 142, i16 95, i16 96, i16 139, i16 140, i16 163, i16 164, i16 165, i16 166, i16 169, i16 170, i16 175, i16 176, i16 180, i16 181, i16 143, i16 144, i16 150, i16 151, i16 270, i16 271, i16 266, i16 267, i16 343, i16 344, i16 452, i16 453, i16 454, i16 455, i16 0, i16 0, i16 1172, i16 1173, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1174, i16 1175, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1684, i16 1686, i16 1687, i16 1688, i16 1689, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 0, i16 0, i16 0, i16 918, i16 919, i16 920, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 667, i16 668, i16 671, i16 672, i16 675, i16 676, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1695, i16 1696, i16 1698, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 930, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 931, i16 0, i16 932, i16 0, i16 933, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1699, i16 1700, i16 1701, i16 1702, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1188, i16 0, i16 1189, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 934, i16 0, i16 935, i16 936, i16 0, i16 937, i16 938, i16 939, i16 940, i16 0, i16 0, i16 941, i16 0, i16 0, i16 0, i16 942, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 0, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 680, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 719, i16 714, i16 749, i16 778, i16 751, i16 715, i16 681, i16 0, i16 0, i16 0, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 790, i16 732, i16 860, i16 744, i16 746, i16 0, i16 436, i16 437, i16 475, i16 476, i16 489, i16 490, i16 499, i16 500, i16 505, i16 506, i16 511, i16 512, i16 515, i16 516, i16 523, i16 524, i16 1462, i16 1464, i16 1466, i16 1470, i16 1474, i16 1476, i16 1478, i16 1482, i16 1486, i16 1488, i16 1491, i16 1492, i16 1495, i16 1496, i16 1498, i16 1500, i16 1207, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1463, i16 1465, i16 1467, i16 1471, i16 1475, i16 1477, i16 1479, i16 1483, i16 1487, i16 1489, i16 1490, i16 1493, i16 1494, i16 1497, i16 1499, i16 1501, i16 952, i16 0, i16 0, i16 0, i16 0, i16 953, i16 0, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 0, i16 960, i16 0, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 0, i16 0, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 186, i16 187, i16 237, i16 238, i16 203, i16 204, i16 229, i16 230, i16 235, i16 236, i16 219, i16 220, i16 264, i16 265, i16 262, i16 263, i16 188, i16 189, i16 190, i16 191, i16 241, i16 242, i16 239, i16 240, i16 243, i16 244, i16 227, i16 228, i16 233, i16 234, i16 250, i16 251, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 0, i16 0, i16 0, i16 0, i16 1230, i16 0, i16 0, i16 0, i16 460, i16 461, i16 458, i16 459, i16 479, i16 480, i16 481, i16 482, i16 495, i16 496, i16 497, i16 498, i16 501, i16 502, i16 503, i16 504, i16 462, i16 463, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 602, i16 1231, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 722, i16 87, i16 153, i16 1888, i16 179, i16 196, i16 247, i16 259, i16 278, i16 298, i16 335, i16 340, i16 356, i16 377, i16 386, i16 408, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 317, i16 318, i16 325, i16 326, i16 446, i16 447, i16 438, i16 439, i16 1749, i16 1752, i16 1754, i16 1756, i16 1758, i16 1760, i16 1762, i16 1764, i16 1766, i16 1768, i16 1770, i16 1772, i16 1774, i16 1776, i16 1778, i16 1780, i16 470, i16 471, i16 472, i16 473, i16 590, i16 591, i16 582, i16 583, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 1750, i16 1753, i16 1755, i16 1757, i16 1759, i16 1761, i16 1763, i16 1765, i16 1767, i16 1769, i16 1771, i16 1773, i16 1775, i16 1777, i16 1779, i16 1781, i16 1241, i16 1242, i16 1243, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 987, i16 988, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 477, i16 484, i16 487, i16 508, i16 533, i16 552, i16 615, i16 622, i16 637, i16 644, i16 663, i16 747, i16 742, i16 748, i16 779, i16 777, i16 478, i16 485, i16 488, i16 509, i16 534, i16 553, i16 616, i16 623, i16 638, i16 645, i16 664, i16 753, i16 740, i16 754, i16 799, i16 1281, i16 734, i16 0, i16 0, i16 736, i16 737, i16 738, i16 782, i16 783, i16 729, i16 730, i16 723, i16 728, i16 726, i16 727, i16 724, i16 725, i16 990, i16 991, i16 992, i16 993, i16 0, i16 0, i16 994, i16 995, i16 996, i16 997, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 998, i16 999, i16 1000, i16 1001, i16 1002, i16 1003, i16 1004, i16 1005, i16 1006, i16 1007, i16 1008, i16 1009, i16 1010, i16 1011, i16 1012, i16 1013, i16 1510, i16 1511, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 491, i16 492, i16 493, i16 494, i16 558, i16 559, i16 562, i16 563, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1265, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1014, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1023, i16 1024, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1782, i16 1784, i16 1786, i16 1788, i16 1790, i16 1792, i16 1794, i16 1796, i16 1798, i16 1800, i16 1802, i16 1804, i16 1806, i16 1808, i16 1810, i16 1812, i16 1783, i16 1785, i16 1787, i16 1789, i16 1791, i16 1793, i16 1795, i16 1797, i16 1799, i16 1801, i16 1803, i16 1805, i16 1807, i16 1809, i16 1811, i16 1813, i16 1528, i16 1529, i16 1530, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 0, i16 0, i16 0, i16 0, i16 0, i16 763, i16 86, i16 152, i16 1887, i16 178, i16 195, i16 246, i16 258, i16 277, i16 297, i16 334, i16 339, i16 355, i16 376, i16 385, i16 407, i16 253, i16 254, i16 255, i16 256, i16 257, i16 532, i16 510, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 3, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 5, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 134, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 136, i16 0, i16 0, i16 0, i16 137, i16 0, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 1, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 12, i16 14, i16 16, i16 18, i16 20, i16 22, i16 24, i16 26, i16 28, i16 30, i16 32, i16 34, i16 36, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 13, i16 15, i16 17, i16 19, i16 21, i16 23, i16 25, i16 27, i16 29, i16 31, i16 33, i16 35, i16 37, i16 39, i16 41, i16 43, i16 45, i16 47, i16 49, i16 51, i16 53, i16 55, i16 57, i16 59, i16 61, i16 63, i16 92, i16 93, i16 94, i16 95, i16 202, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 96, i16 0, i16 0, i16 0, i16 133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 135, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 203, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 5, i16 6, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 4, i16 3, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 126, i16 132, i16 138, i16 144, i16 150, i16 156, i16 162, i16 168, i16 174, i16 180, i16 186, i16 192, i16 198, i16 204, i16 210, i16 216, i16 222, i16 228, i16 234, i16 240, i16 246, i16 252, i16 258, i16 264, i16 270, i16 276, i16 282, i16 288, i16 294, i16 300, i16 306, i16 7, i16 13, i16 23, i16 39, i16 32, i16 40, i16 38, i16 22, i16 24, i16 29, i16 36, i16 41, i16 10, i16 9, i16 16, i16 15, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 12, i16 11, i16 42, i16 43, i16 44, i16 14, i16 19, i16 75, i16 77, i16 79, i16 81, i16 83, i16 85, i16 87, i16 89, i16 91, i16 93, i16 95, i16 97, i16 99, i16 101, i16 103, i16 105, i16 107, i16 109, i16 111, i16 113, i16 115, i16 117, i16 119, i16 121, i16 123, i16 125, i16 26, i16 45, i16 27, i16 21, i16 0, i16 30, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 25, i16 37, i16 28, i16 20, i16 8, i16 312, i16 318, i16 324, i16 330, i16 336, i16 337, i16 343, i16 344, i16 350, i16 356, i16 362, i16 368, i16 374, i16 380, i16 386, i16 17, i16 393, i16 394, i16 395, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 47, i16 0, i16 0, i16 0, i16 0, i16 31, i16 410, i16 411, i16 412, i16 413, i16 414, i16 396, i16 18, i16 49, i16 50, i16 51, i16 52, i16 53, i16 48, i16 392, i16 46, i16 33, i16 55, i16 57, i16 59, i16 61, i16 63, i16 65, i16 67, i16 69, i16 71, i16 73, i16 34, i16 35, i16 0, i16 0, i16 0, i16 0, i16 32, i16 3, i16 45, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7, i16 37, i16 2, i16 12, i16 0, i16 0, i16 0, i16 0, i16 27, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 25, i16 33, i16 28, i16 44, i16 11, i16 14, i16 29, i16 40, i16 23, i16 9, i16 20, i16 10, i16 38, i16 22, i16 42, i16 31, i16 49, i16 36, i16 43, i16 16, i16 15, i16 26, i16 21, i16 35, i16 17, i16 18, i16 13, i16 47, i16 24, i16 6, i16 34, i16 4, i16 39, i16 19, i16 8, i16 41, i16 5, i16 48, i16 50, i16 46, i16 30, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 266, i16 373, i16 661, i16 236, i16 595, i16 0, i16 0, i16 94, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 615, i16 647, i16 136, i16 0, i16 0, i16 390, i16 36, i16 15, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 31, i16 0, i16 0, i16 0, i16 0, i16 0, i16 60, i16 455, i16 499, i16 0, i16 0, i16 4, i16 259, i16 192, i16 133, i16 445, i16 669, i16 550, i16 172, i16 0, i16 0, i16 62, i16 153, i16 389, i16 409, i16 145, i16 1, i16 180, i16 570, i16 258, i16 261, i16 414, i16 610, i16 140, i16 566, i16 280, i16 150, i16 468, i16 333, i16 655, i16 176, i16 402, i16 260, i16 173, i16 607, i16 281, i16 293, i16 306, i16 319, i16 267, i16 168, i16 368, i16 382, i16 456, i16 249, i16 437, i16 500, i16 95, i16 14, i16 465, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 68, i16 129, i16 0, i16 0, i16 12, i16 0, i16 9, i16 0, i16 533, i16 84, i16 587, i16 606, i16 447, i16 652, i16 668, i16 291, i16 318, i16 459, i16 61, i16 659, i16 395, i16 195, i16 202, i16 186, i16 30, i16 590, i16 617, i16 422, i16 209, i16 535, i16 137, i16 485, i16 511, i16 222, i16 165, i16 337, i16 355, i16 371, i16 385, i16 190, i16 35, i16 627, i16 98, i16 660, i16 85, i16 278, i16 244, i16 376, i16 391, i16 101, i16 69, i16 377, i16 185, i16 401, i16 205, i16 453, i16 38, i16 24, i16 331, i16 352, i16 644, i16 649, i16 662, i16 398, i16 673, i16 454, i16 287, i16 152, i16 223, i16 307, i16 294, i16 419, i16 39, i16 0, i16 357, i16 22, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 296, i16 160, i16 363, i16 342, i16 360, i16 378, i16 42, i16 415, i16 434, i16 206, i16 431, i16 13, i16 490, i16 462, i16 521, i16 486, i16 304, i16 593, i16 525, i16 253, i16 622, i16 645, i16 234, i16 269, i16 104, i16 279, i16 63, i16 425, i16 199, i16 78, i16 174, i16 72, i16 569, i16 295, i16 620, i16 161, i16 340, i16 658, i16 273, i16 680, i16 289, i16 404, i16 361, i16 359, i16 372, i16 423, i16 73, i16 417, i16 315, i16 132, i16 356, i16 362, i16 381, i16 412, i16 26, i16 594, i16 87, i16 471, i16 497, i16 601, i16 227, i16 118, i16 542, i16 557, i16 317, i16 353, i16 265, i16 182, i16 188, i16 0, i16 0, i16 0, i16 0, i16 5, i16 74, i16 544, i16 448, i16 211, i16 475, i16 575, i16 599, i16 524, i16 545, i16 552, i16 239, i16 157, i16 66, i16 585, i16 103, i16 614, i16 48, i16 632, i16 687, i16 282, i16 308, i16 329, i16 604, i16 514, i16 183, i16 537, i16 530, i16 326, i16 177, i16 226, i16 380, i16 406, i16 76, i16 204, i16 208, i16 215, i16 584, i16 247, i16 605, i16 428, i16 679, i16 634, i16 637, i16 37, i16 138, i16 316, i16 196, i16 34, i16 230, i16 44, i16 286, i16 676, i16 312, i16 603, i16 609, i16 549, i16 513, i16 310, i16 325, i16 346, i16 77, i16 388, i16 128, i16 399, i16 411, i16 418, i16 54, i16 444, i16 299, i16 480, i16 113, i16 197, i16 602, i16 89, i16 158, i16 635, i16 59, i16 670, i16 493, i16 276, i16 105, i16 416, i16 429, i16 334, i16 159, i16 110, i16 370, i16 384, i16 684, i16 248, i16 424, i16 301, i16 156, i16 343, i16 242, i16 214, i16 504, i16 515, i16 556, i16 403, i16 81, i16 364, i16 374, i16 189, i16 413, i16 427, i16 28, i16 207, i16 473, i16 494, i16 672, i16 228, i16 540, i16 283, i16 100, i16 586, i16 323, i16 344, i16 375, i16 155, i16 630, i16 124, i16 626, i16 526, i16 613, i16 665, i16 677, i16 16, i16 305, i16 290, i16 167, i16 339, i16 383, i16 408, i16 122, i16 449, i16 80, i16 467, i16 169, i16 218, i16 200, i16 532, i16 543, i16 561, i16 508, i16 510, i16 553, i16 256, i16 582, i16 653, i16 643, i16 0, i16 241, i16 619, i16 666, i16 147, i16 348, i16 397, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 648, i16 141, i16 82, i16 292, i16 309, i16 608, i16 354, i16 410, i16 386, i16 311, i16 439, i16 321, i16 109, i16 460, i16 481, i16 498, i16 394, i16 495, i16 461, i16 112, i16 19, i16 457, i16 254, i16 489, i16 503, i16 221, i16 512, i16 86, i16 527, i16 139, i16 568, i16 580, i16 143, i16 0, i16 0, i16 7, i16 300, i16 49, i16 57, i16 528, i16 102, i16 430, i16 194, i16 564, i16 17, i16 579, i16 0, i16 0, i16 144, i16 83, i16 531, i16 324, i16 229, i16 154, i16 179, i16 387, i16 53, i16 43, i16 277, i16 201, i16 108, i16 21, i16 625, i16 483, i16 146, i16 347, i16 396, i16 446, i16 505, i16 252, i16 336, i16 477, i16 351, i16 379, i16 322, i16 436, i16 0, i16 0, i16 18, i16 8, i16 420, i16 250, i16 450, i16 472, i16 633, i16 518, i16 529, i16 119, i16 631, i16 268, i16 674, i16 142, i16 686, i16 458, i16 134, i16 328, i16 678, i16 488, i16 509, i16 491, i16 541, i16 657, i16 120, i16 563, i16 675, i16 583, i16 245, i16 91, i16 618, i16 0, i16 0, i16 0, i16 683, i16 516, i16 314, i16 681, i16 193, i16 572, i16 358, i16 443, i16 611, i16 421, i16 646, i16 262, i16 272, i16 107, i16 99, i16 538, i16 685, i16 288, i16 64, i16 70, i16 166, i16 50, i16 25, i16 52, i16 71, i16 392, i16 191, i16 426, i16 433, i16 442, i16 451, i16 441, i16 435, i16 438, i16 11, i16 338, i16 106, i16 40, i16 0, i16 0, i16 10, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 440, i16 466, i16 478, i16 501, i16 523, i16 536, i16 554, i16 522, i16 592, i16 581, i16 233, i16 555, i16 251, i16 476, i16 636, i16 264, i16 203, i16 452, i16 474, i16 365, i16 178, i16 187, i16 539, i16 126, i16 565, i16 578, i16 600, i16 220, i16 2, i16 624, i16 639, i16 654, i16 212, i16 562, i16 407, i16 616, i16 33, i16 650, i16 47, i16 332, i16 271, i16 131, i16 97, i16 298, i16 162, i16 341, i16 65, i16 367, i16 213, i16 149, i16 151, i16 302, i16 163, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3, i16 484, i16 345, i16 67, i16 591, i16 469, i16 487, i16 51, i16 171, i16 303, i16 400, i16 175, i16 58, i16 125, i16 598, i16 79, i16 628, i16 463, i16 651, i16 350, i16 274, i16 470, i16 56, i16 464, i16 520, i16 612, i16 640, i16 238, i16 507, i16 123, i16 127, i16 88, i16 623, i16 642, i16 664, i16 548, i16 547, i16 216, i16 682, i16 492, i16 116, i16 519, i16 240, i16 667, i16 588, i16 597, i16 23, i16 559, i16 641, i16 577, i16 93, i16 270, i16 96, i16 225, i16 534, i16 589, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 482, i16 184, i16 224, i16 393, i16 0, i16 0, i16 0, i16 41, i16 121, i16 75, i16 198, i16 517, i16 90, i16 263, i16 210, i16 671, i16 231, i16 496, i16 45, i16 574, i16 246, i16 235, i16 621, i16 32, i16 479, i16 237, i16 560, i16 284, i16 571, i16 327, i16 217, i16 366, i16 232, i16 432, i16 55, i16 111, i16 0, i16 27, i16 114, i16 219, i16 115, i16 573, i16 546, i16 567, i16 6, i16 46, i16 243, i16 130, i16 502, i16 320, i16 92, i16 117, i16 369, i16 551, i16 558, i16 20, i16 164, i16 576, i16 275, i16 257, i16 297, i16 656, i16 596, i16 506, i16 255, i16 629, i16 638, i16 135, i16 0, i16 29, i16 663, i16 285, i16 313, i16 349, i16 148, i16 181, i16 405, i16 330, i16 335, i16 170, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3171, i16 12478, i16 12479, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2196, i16 6503, i16 11985, i16 1886, i16 6504, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2650, i16 12441, i16 12442, i16 0, i16 0, i16 0, i16 0, i16 12443, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2542, i16 11756, i16 11757, i16 6356, i16 0, i16 0, i16 11758, i16 11759, i16 6358, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1165, i16 0, i16 5777, i16 0, i16 5778, i16 10826, i16 10825, i16 10827, i16 10828, i16 10829, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1956, i16 6848, i16 6849, i16 1656, i16 0, i16 12717, i16 0, i16 12718, i16 0, i16 12719, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7035, i16 0, i16 0, i16 1517, i16 7036, i16 13063, i16 13064, i16 13065, i16 7037, i16 0, i16 1888, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7306, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 341, i16 0, i16 342, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 351, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 326, i16 327, i16 325, i16 328, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11125, i16 0, i16 0, i16 5992, i16 0, i16 5993, i16 0, i16 990, i16 11126, i16 0, i16 0, i16 947, i16 5990, i16 11127, i16 0, i16 11128, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 251, i16 0, i16 0, i16 0, i16 0, i16 250, i16 255, i16 0, i16 259, i16 260, i16 0, i16 0, i16 261, i16 262, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 368, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7427, i16 2983, i16 3748, i16 7428, i16 0, i16 7430, i16 3029, i16 7431, i16 3631, i16 7432, i16 2168, i16 7433, i16 1818, i16 7434, i16 1866, i16 965, i16 7435, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3587, i16 0, i16 13156, i16 13157, i16 13158, i16 13159, i16 0, i16 13160, i16 7092, i16 13161, i16 13162, i16 0, i16 0, i16 0, i16 0, i16 7093, i16 5548, i16 13163, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7201, i16 7287, i16 7229, i16 7315, i16 7247, i16 7332, i16 7265, i16 7350, i16 7274, i16 7359, i16 7271, i16 7356, i16 7273, i16 7358, i16 7272, i16 7357, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8287, i16 0, i16 0, i16 0, i16 0, i16 8288, i16 0, i16 2969, i16 8289, i16 0, i16 0, i16 8290, i16 0, i16 0, i16 8291, i16 4207, i16 3113, i16 8292, i16 0, i16 8293, i16 8294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9649, i16 5112, i16 9650, i16 9651, i16 5118, i16 0, i16 0, i16 5116, i16 0, i16 2728, i16 0, i16 0, i16 5123, i16 5113, i16 9652, i16 0, i16 9653, i16 0, i16 9654, i16 5114, i16 5090, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9574, i16 0, i16 9575, i16 0, i16 0, i16 1049, i16 0, i16 0, i16 892, i16 0, i16 9576, i16 5056, i16 0, i16 9577, i16 5059, i16 9578, i16 0, i16 0, i16 3600, i16 9579, i16 0, i16 9580, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 364, i16 0, i16 0, i16 363, i16 0, i16 362, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7882, i16 7883, i16 0, i16 0, i16 4012, i16 3474, i16 0, i16 2068, i16 7884, i16 4018, i16 0, i16 7885, i16 7886, i16 0, i16 4017, i16 4008, i16 0, i16 7887, i16 7888, i16 7889, i16 2472, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 995, i16 0, i16 0, i16 7950, i16 0, i16 0, i16 4058, i16 7951, i16 2153, i16 4054, i16 7952, i16 4052, i16 7953, i16 4053, i16 7954, i16 4055, i16 7955, i16 0, i16 7956, i16 7957, i16 7958, i16 0, i16 7959, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3650, i16 0, i16 9772, i16 5182, i16 0, i16 0, i16 0, i16 847, i16 0, i16 9773, i16 0, i16 9774, i16 9775, i16 9776, i16 9777, i16 0, i16 9778, i16 5184, i16 0, i16 0, i16 9779, i16 5183, i16 0, i16 5181, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10072, i16 10073, i16 5305, i16 0, i16 10074, i16 0, i16 0, i16 5306, i16 10075, i16 0, i16 0, i16 10076, i16 5307, i16 0, i16 0, i16 0, i16 10077, i16 0, i16 10078, i16 10079, i16 866, i16 0, i16 10080, i16 10081, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3182, i16 0, i16 6816, i16 12656, i16 0, i16 12657, i16 12658, i16 6817, i16 12659, i16 6818, i16 0, i16 0, i16 12660, i16 0, i16 6819, i16 12661, i16 12662, i16 0, i16 12663, i16 12664, i16 0, i16 0, i16 0, i16 12665, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11391, i16 0, i16 1000, i16 6110, i16 6111, i16 11358, i16 0, i16 0, i16 0, i16 11359, i16 0, i16 6106, i16 0, i16 1808, i16 11360, i16 0, i16 11361, i16 0, i16 11362, i16 0, i16 11363, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1683, i16 0, i16 12778, i16 0, i16 12779, i16 6888, i16 12780, i16 12781, i16 6889, i16 0, i16 12782, i16 0, i16 12783, i16 12784, i16 12785, i16 0, i16 1055, i16 12786, i16 0, i16 12787, i16 6890, i16 0, i16 12788, i16 12789, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8637, i16 0, i16 0, i16 8638, i16 0, i16 0, i16 8639, i16 4435, i16 4441, i16 4433, i16 0, i16 2779, i16 8640, i16 8641, i16 4438, i16 3156, i16 8642, i16 8643, i16 4432, i16 8644, i16 4437, i16 3636, i16 1834, i16 0, i16 8645, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7102, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7101, i16 7104, i16 7108, i16 7107, i16 0, i16 7105, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11222, i16 0, i16 0, i16 11223, i16 0, i16 3292, i16 0, i16 3660, i16 11224, i16 11225, i16 11226, i16 11227, i16 0, i16 6049, i16 0, i16 0, i16 11228, i16 0, i16 0, i16 11230, i16 11231, i16 6056, i16 11232, i16 0, i16 6048, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8409, i16 8410, i16 0, i16 8411, i16 0, i16 4283, i16 0, i16 0, i16 8412, i16 1205, i16 4284, i16 8413, i16 0, i16 4285, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8414, i16 0, i16 8415, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4599, i16 752, i16 8844, i16 8845, i16 1720, i16 0, i16 8846, i16 0, i16 2177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8847, i16 8848, i16 0, i16 0, i16 8849, i16 2707, i16 0, i16 8850, i16 3053, i16 4605, i16 2405, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4632, i16 0, i16 0, i16 8909, i16 8910, i16 0, i16 0, i16 2464, i16 0, i16 4639, i16 8911, i16 0, i16 8912, i16 4633, i16 8913, i16 0, i16 4630, i16 4637, i16 8914, i16 0, i16 0, i16 0, i16 4607, i16 0, i16 8915, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 316, i16 315, i16 0, i16 0, i16 0, i16 312, i16 0, i16 0, i16 314, i16 313, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8817, i16 0, i16 8818, i16 0, i16 0, i16 3069, i16 4663, i16 0, i16 0, i16 0, i16 0, i16 3279, i16 0, i16 8819, i16 0, i16 2706, i16 8820, i16 8821, i16 0, i16 3368, i16 8822, i16 4583, i16 934, i16 2605, i16 8823, i16 8824, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7940, i16 2549, i16 0, i16 7941, i16 970, i16 7942, i16 0, i16 0, i16 7943, i16 7944, i16 7945, i16 7946, i16 7947, i16 7948, i16 0, i16 4042, i16 0, i16 4044, i16 2069, i16 858, i16 7949, i16 0, i16 4047, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 311, i16 310, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2652, i16 12969, i16 6980, i16 0, i16 3024, i16 0, i16 6985, i16 6981, i16 0, i16 0, i16 0, i16 6982, i16 0, i16 12970, i16 3300, i16 3413, i16 0, i16 2861, i16 12971, i16 0, i16 12972, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1124, i16 11078, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11079, i16 920, i16 5954, i16 3639, i16 2498, i16 11080, i16 0, i16 3131, i16 0, i16 5966, i16 11081, i16 988, i16 5964, i16 0, i16 5962, i16 5953, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2662, i16 9547, i16 9548, i16 9549, i16 883, i16 1622, i16 5035, i16 0, i16 0, i16 9551, i16 9552, i16 0, i16 9553, i16 1974, i16 5040, i16 0, i16 5039, i16 5034, i16 0, i16 5037, i16 9554, i16 0, i16 1099, i16 9555, i16 5036, i16 2948, i16 9556, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8864, i16 8865, i16 3280, i16 1919, i16 4620, i16 0, i16 4619, i16 8866, i16 8867, i16 2243, i16 0, i16 0, i16 8868, i16 1497, i16 0, i16 8869, i16 8870, i16 4613, i16 2086, i16 8871, i16 0, i16 2885, i16 2924, i16 8872, i16 8873, i16 0, i16 8874, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11173, i16 6028, i16 11174, i16 11175, i16 3524, i16 11176, i16 0, i16 0, i16 11177, i16 3575, i16 11178, i16 0, i16 11179, i16 11180, i16 0, i16 0, i16 0, i16 11181, i16 2619, i16 11182, i16 11183, i16 11184, i16 1102, i16 11185, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6850, i16 12720, i16 0, i16 1057, i16 0, i16 0, i16 0, i16 2954, i16 6851, i16 6852, i16 0, i16 12721, i16 12722, i16 12723, i16 2589, i16 2888, i16 12724, i16 0, i16 0, i16 0, i16 12725, i16 12726, i16 0, i16 6853, i16 12727, i16 0, i16 12728, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4292, i16 0, i16 4294, i16 0, i16 8425, i16 0, i16 8426, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8427, i16 0, i16 0, i16 0, i16 0, i16 8429, i16 0, i16 4295, i16 0, i16 0, i16 0, i16 8428, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10961, i16 5874, i16 10962, i16 0, i16 0, i16 10963, i16 5872, i16 10964, i16 0, i16 2208, i16 0, i16 3164, i16 5877, i16 10965, i16 5876, i16 1639, i16 3710, i16 0, i16 10966, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5893, i16 0, i16 0, i16 0, i16 0, i16 13078, i16 7046, i16 3001, i16 0, i16 13079, i16 7047, i16 7049, i16 0, i16 13080, i16 7050, i16 13081, i16 13082, i16 13083, i16 0, i16 0, i16 13084, i16 13085, i16 13086, i16 0, i16 0, i16 7048, i16 1668, i16 3422, i16 3350, i16 4361, i16 0, i16 4996, i16 3374, i16 0, i16 0, i16 0, i16 0, i16 9766, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9767, i16 5177, i16 2557, i16 5180, i16 5175, i16 9768, i16 9769, i16 0, i16 5179, i16 9770, i16 0, i16 0, i16 9771, i16 5178, i16 2751, i16 802, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4915, i16 9346, i16 9347, i16 4920, i16 4924, i16 9348, i16 9349, i16 1331, i16 0, i16 0, i16 9350, i16 0, i16 9351, i16 9352, i16 9353, i16 0, i16 0, i16 9354, i16 9355, i16 0, i16 1259, i16 4922, i16 0, i16 9356, i16 0, i16 0, i16 0, i16 1216, i16 0, i16 0, i16 0, i16 0, i16 9780, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5176, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3286, i16 9781, i16 0, i16 0, i16 5186, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9539, i16 0, i16 0, i16 9540, i16 0, i16 0, i16 9541, i16 3517, i16 5042, i16 0, i16 9542, i16 9543, i16 0, i16 9544, i16 5041, i16 9545, i16 0, i16 0, i16 0, i16 2335, i16 0, i16 5038, i16 9546, i16 3547, i16 0, i16 0, i16 2835, i16 5032, i16 0, i16 0, i16 0, i16 0, i16 10582, i16 0, i16 3236, i16 986, i16 0, i16 10583, i16 0, i16 5611, i16 0, i16 5608, i16 10584, i16 5613, i16 10585, i16 10586, i16 5612, i16 0, i16 2990, i16 3384, i16 10587, i16 1806, i16 5606, i16 5615, i16 5610, i16 10588, i16 5609, i16 5605, i16 10589, i16 5607, i16 0, i16 0, i16 0, i16 0, i16 12640, i16 0, i16 6807, i16 12641, i16 0, i16 0, i16 12642, i16 6809, i16 2511, i16 1086, i16 1087, i16 6808, i16 0, i16 12643, i16 12644, i16 12645, i16 1194, i16 1515, i16 12646, i16 12647, i16 1195, i16 12648, i16 12649, i16 2750, i16 0, i16 0, i16 3629, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9849, i16 0, i16 0, i16 0, i16 5220, i16 0, i16 2687, i16 9850, i16 5222, i16 5221, i16 0, i16 9851, i16 5223, i16 0, i16 5224, i16 0, i16 9852, i16 1936, i16 3162, i16 0, i16 9853, i16 9854, i16 3453, i16 5225, i16 5226, i16 2397, i16 1877, i16 5227, i16 0, i16 0, i16 0, i16 0, i16 944, i16 0, i16 13087, i16 0, i16 13088, i16 0, i16 0, i16 13089, i16 7052, i16 1263, i16 7053, i16 7054, i16 7055, i16 0, i16 1676, i16 0, i16 7056, i16 13090, i16 0, i16 0, i16 5266, i16 3436, i16 0, i16 2504, i16 7057, i16 7059, i16 7058, i16 13091, i16 0, i16 0, i16 0, i16 0, i16 9393, i16 0, i16 0, i16 9394, i16 3008, i16 0, i16 4946, i16 0, i16 9395, i16 0, i16 0, i16 0, i16 9396, i16 9397, i16 9398, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4950, i16 4947, i16 9399, i16 9400, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1215, i16 9243, i16 4856, i16 0, i16 9244, i16 3418, i16 4831, i16 1214, i16 9245, i16 4838, i16 0, i16 9246, i16 9247, i16 9248, i16 3315, i16 9249, i16 4839, i16 4841, i16 9250, i16 4845, i16 4833, i16 9251, i16 2541, i16 0, i16 9252, i16 9253, i16 0, i16 2798, i16 0, i16 0, i16 0, i16 0, i16 7110, i16 7111, i16 7122, i16 0, i16 7123, i16 7124, i16 7125, i16 0, i16 7127, i16 0, i16 7128, i16 7130, i16 7136, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 0, i16 0, i16 0, i16 0, i16 6623, i16 0, i16 0, i16 12326, i16 12327, i16 12328, i16 0, i16 2886, i16 0, i16 2772, i16 0, i16 0, i16 12329, i16 12330, i16 12331, i16 0, i16 2680, i16 12332, i16 6636, i16 12333, i16 12334, i16 0, i16 12335, i16 2566, i16 6632, i16 0, i16 12336, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2303, i16 11822, i16 1920, i16 6405, i16 0, i16 11823, i16 0, i16 1077, i16 11824, i16 6406, i16 11825, i16 0, i16 2429, i16 6407, i16 0, i16 6408, i16 3170, i16 0, i16 0, i16 1230, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11826, i16 0, i16 0, i16 0, i16 8200, i16 905, i16 0, i16 8201, i16 1202, i16 2877, i16 3273, i16 0, i16 0, i16 0, i16 0, i16 4173, i16 2396, i16 4172, i16 1435, i16 8202, i16 8203, i16 3342, i16 4171, i16 0, i16 2788, i16 4175, i16 8204, i16 4174, i16 8205, i16 0, i16 8206, i16 8207, i16 8208, i16 0, i16 0, i16 0, i16 9739, i16 9740, i16 0, i16 0, i16 0, i16 9741, i16 9742, i16 9743, i16 9744, i16 5111, i16 0, i16 9749, i16 0, i16 0, i16 5171, i16 0, i16 0, i16 9745, i16 9746, i16 0, i16 0, i16 2884, i16 0, i16 0, i16 0, i16 0, i16 9747, i16 9748, i16 0, i16 0, i16 0, i16 0, i16 8486, i16 0, i16 0, i16 0, i16 8487, i16 0, i16 4332, i16 0, i16 8488, i16 1185, i16 4333, i16 8490, i16 0, i16 8489, i16 0, i16 4335, i16 4334, i16 0, i16 0, i16 4336, i16 0, i16 8491, i16 8492, i16 0, i16 4337, i16 0, i16 2327, i16 1970, i16 0, i16 0, i16 0, i16 0, i16 808, i16 5862, i16 0, i16 2563, i16 0, i16 10928, i16 0, i16 0, i16 0, i16 2963, i16 10929, i16 2496, i16 10930, i16 0, i16 0, i16 10931, i16 0, i16 10932, i16 10933, i16 5864, i16 10934, i16 10935, i16 5860, i16 5863, i16 5858, i16 0, i16 5861, i16 3289, i16 0, i16 0, i16 0, i16 0, i16 6698, i16 0, i16 0, i16 12462, i16 784, i16 12463, i16 12464, i16 6696, i16 12465, i16 6700, i16 6699, i16 0, i16 0, i16 12466, i16 12467, i16 12468, i16 12469, i16 6702, i16 6701, i16 6703, i16 0, i16 2827, i16 12470, i16 12471, i16 0, i16 6704, i16 12472, i16 12473, i16 12474, i16 0, i16 0, i16 0, i16 299, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7121, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9006, i16 0, i16 1543, i16 0, i16 9007, i16 4685, i16 9008, i16 0, i16 0, i16 0, i16 4688, i16 0, i16 3145, i16 9009, i16 1278, i16 9010, i16 0, i16 9011, i16 4687, i16 4686, i16 2959, i16 4689, i16 1330, i16 0, i16 0, i16 0, i16 4691, i16 4690, i16 9012, i16 0, i16 0, i16 0, i16 5172, i16 9750, i16 9751, i16 0, i16 0, i16 0, i16 0, i16 0, i16 981, i16 9752, i16 0, i16 9753, i16 2803, i16 1032, i16 0, i16 0, i16 0, i16 0, i16 9754, i16 9755, i16 0, i16 1283, i16 0, i16 0, i16 0, i16 1935, i16 1735, i16 9756, i16 0, i16 0, i16 0, i16 0, i16 9782, i16 9783, i16 9784, i16 9785, i16 9786, i16 0, i16 5185, i16 0, i16 9787, i16 9788, i16 0, i16 0, i16 9789, i16 0, i16 0, i16 0, i16 0, i16 914, i16 0, i16 0, i16 0, i16 0, i16 5188, i16 3207, i16 0, i16 5187, i16 0, i16 9790, i16 0, i16 0, i16 0, i16 0, i16 8247, i16 8248, i16 863, i16 1136, i16 8249, i16 4189, i16 0, i16 3414, i16 3112, i16 0, i16 0, i16 8250, i16 8251, i16 0, i16 8252, i16 8253, i16 0, i16 8254, i16 0, i16 753, i16 8255, i16 0, i16 0, i16 0, i16 834, i16 0, i16 0, i16 0, i16 1828, i16 0, i16 0, i16 0, i16 10308, i16 0, i16 0, i16 0, i16 5464, i16 0, i16 10309, i16 0, i16 0, i16 0, i16 5465, i16 0, i16 0, i16 0, i16 10310, i16 10311, i16 0, i16 0, i16 10312, i16 0, i16 5466, i16 0, i16 10313, i16 5467, i16 3400, i16 5468, i16 0, i16 10314, i16 10315, i16 0, i16 0, i16 0, i16 10830, i16 10831, i16 5779, i16 0, i16 10832, i16 0, i16 0, i16 0, i16 0, i16 5780, i16 5781, i16 5782, i16 10833, i16 5783, i16 5784, i16 10834, i16 10835, i16 5786, i16 5785, i16 0, i16 0, i16 5787, i16 0, i16 0, i16 10836, i16 10837, i16 10838, i16 0, i16 5788, i16 0, i16 0, i16 0, i16 6991, i16 0, i16 0, i16 6989, i16 0, i16 1118, i16 0, i16 6988, i16 1891, i16 942, i16 0, i16 0, i16 12981, i16 12982, i16 0, i16 12983, i16 12984, i16 12985, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12986, i16 1658, i16 12987, i16 12989, i16 6998, i16 6997, i16 0, i16 0, i16 0, i16 12117, i16 0, i16 0, i16 0, i16 12118, i16 12119, i16 2864, i16 6566, i16 1989, i16 1937, i16 2966, i16 2612, i16 12120, i16 0, i16 0, i16 1955, i16 12121, i16 2231, i16 0, i16 6567, i16 12122, i16 6568, i16 12123, i16 12124, i16 12125, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1113, i16 5562, i16 5561, i16 10536, i16 5565, i16 5558, i16 10537, i16 5566, i16 3574, i16 10538, i16 5567, i16 10539, i16 5568, i16 0, i16 10540, i16 4170, i16 5570, i16 0, i16 5569, i16 0, i16 0, i16 0, i16 5571, i16 5572, i16 10541, i16 3586, i16 5573, i16 0, i16 6797, i16 0, i16 0, i16 0, i16 4186, i16 8227, i16 2474, i16 0, i16 8228, i16 3307, i16 0, i16 0, i16 0, i16 2761, i16 8229, i16 8230, i16 8231, i16 8232, i16 0, i16 4187, i16 8233, i16 0, i16 0, i16 0, i16 8234, i16 0, i16 3352, i16 8235, i16 1727, i16 8236, i16 0, i16 2071, i16 0, i16 0, i16 0, i16 0, i16 4961, i16 0, i16 0, i16 9421, i16 4960, i16 0, i16 4962, i16 9422, i16 0, i16 979, i16 9423, i16 2554, i16 0, i16 4963, i16 0, i16 9424, i16 1152, i16 4965, i16 0, i16 9425, i16 0, i16 9426, i16 4964, i16 0, i16 4966, i16 0, i16 9427, i16 0, i16 4967, i16 0, i16 0, i16 0, i16 10341, i16 10342, i16 5477, i16 0, i16 10343, i16 10344, i16 0, i16 0, i16 0, i16 10345, i16 0, i16 10346, i16 0, i16 0, i16 0, i16 10347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10348, i16 2104, i16 10349, i16 0, i16 0, i16 0, i16 0, i16 2175, i16 8612, i16 3107, i16 0, i16 8613, i16 8614, i16 8615, i16 0, i16 8616, i16 1208, i16 2913, i16 0, i16 0, i16 8617, i16 8618, i16 8619, i16 8620, i16 8621, i16 0, i16 4422, i16 1833, i16 3309, i16 3310, i16 0, i16 0, i16 933, i16 4427, i16 8622, i16 0, i16 0, i16 0, i16 0, i16 2695, i16 3881, i16 7678, i16 0, i16 2444, i16 0, i16 7679, i16 1764, i16 3882, i16 3883, i16 2359, i16 0, i16 3880, i16 0, i16 0, i16 0, i16 0, i16 3885, i16 7680, i16 3305, i16 7681, i16 7682, i16 0, i16 7683, i16 1659, i16 7684, i16 0, i16 3884, i16 7685, i16 0, i16 0, i16 0, i16 5002, i16 5001, i16 0, i16 9479, i16 9480, i16 9481, i16 0, i16 0, i16 0, i16 9482, i16 0, i16 9483, i16 0, i16 0, i16 0, i16 0, i16 9484, i16 2224, i16 9485, i16 9486, i16 3120, i16 881, i16 0, i16 9487, i16 9488, i16 0, i16 0, i16 3038, i16 9489, i16 0, i16 0, i16 0, i16 12200, i16 12201, i16 12202, i16 12203, i16 0, i16 12204, i16 6671, i16 0, i16 0, i16 6599, i16 0, i16 12205, i16 12206, i16 12207, i16 0, i16 0, i16 12208, i16 3640, i16 12209, i16 12210, i16 1555, i16 12211, i16 12212, i16 12213, i16 0, i16 12214, i16 0, i16 12215, i16 6609, i16 0, i16 0, i16 0, i16 1469, i16 0, i16 8946, i16 0, i16 8947, i16 4649, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8948, i16 8949, i16 8950, i16 1800, i16 4646, i16 0, i16 4645, i16 0, i16 0, i16 8951, i16 8952, i16 2925, i16 8953, i16 0, i16 8954, i16 2834, i16 8955, i16 0, i16 0, i16 0, i16 1223, i16 1538, i16 4235, i16 1083, i16 0, i16 8338, i16 4236, i16 0, i16 2462, i16 0, i16 0, i16 8339, i16 8340, i16 4237, i16 4277, i16 0, i16 4238, i16 0, i16 4239, i16 0, i16 0, i16 4240, i16 0, i16 4242, i16 0, i16 8341, i16 8342, i16 8343, i16 8344, i16 0, i16 0, i16 0, i16 5320, i16 5319, i16 5321, i16 10092, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5322, i16 5324, i16 5323, i16 0, i16 0, i16 1680, i16 10093, i16 5326, i16 0, i16 5325, i16 10094, i16 10095, i16 1158, i16 0, i16 2206, i16 0, i16 2747, i16 0, i16 5327, i16 2273, i16 0, i16 0, i16 0, i16 9928, i16 1677, i16 1845, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9929, i16 5264, i16 5265, i16 9930, i16 0, i16 9931, i16 0, i16 0, i16 0, i16 9932, i16 5267, i16 9933, i16 0, i16 0, i16 0, i16 0, i16 9934, i16 9935, i16 9936, i16 0, i16 0, i16 0, i16 4811, i16 0, i16 0, i16 0, i16 3111, i16 0, i16 0, i16 0, i16 9216, i16 0, i16 0, i16 9217, i16 9218, i16 9219, i16 9220, i16 9221, i16 0, i16 4823, i16 9222, i16 952, i16 4812, i16 0, i16 9223, i16 9224, i16 9225, i16 9226, i16 0, i16 4829, i16 4813, i16 0, i16 0, i16 0, i16 13009, i16 13010, i16 0, i16 13011, i16 7009, i16 0, i16 7008, i16 13012, i16 0, i16 0, i16 13013, i16 13014, i16 1463, i16 0, i16 0, i16 13015, i16 13016, i16 0, i16 13017, i16 13018, i16 13019, i16 13020, i16 0, i16 7013, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11738, i16 0, i16 0, i16 1460, i16 0, i16 0, i16 0, i16 0, i16 6342, i16 6344, i16 11739, i16 0, i16 6345, i16 1251, i16 5811, i16 2150, i16 0, i16 6346, i16 0, i16 11740, i16 1575, i16 11741, i16 11742, i16 0, i16 0, i16 11743, i16 6347, i16 11744, i16 0, i16 0, i16 0, i16 0, i16 5086, i16 9609, i16 9610, i16 0, i16 0, i16 9611, i16 9612, i16 3388, i16 9613, i16 0, i16 5084, i16 5088, i16 9614, i16 0, i16 9615, i16 9616, i16 9617, i16 9618, i16 0, i16 1545, i16 9619, i16 2098, i16 0, i16 0, i16 2556, i16 9620, i16 9621, i16 9622, i16 5078, i16 0, i16 0, i16 0, i16 7917, i16 7918, i16 0, i16 0, i16 1489, i16 4034, i16 4032, i16 2394, i16 1257, i16 1321, i16 7919, i16 4029, i16 0, i16 1393, i16 0, i16 7920, i16 0, i16 0, i16 0, i16 875, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7921, i16 0, i16 0, i16 0, i16 238, i16 0, i16 300, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1015, i16 0, i16 11621, i16 2163, i16 6275, i16 0, i16 11622, i16 0, i16 11623, i16 0, i16 11624, i16 0, i16 0, i16 0, i16 11625, i16 0, i16 11626, i16 6276, i16 0, i16 11627, i16 0, i16 6277, i16 11628, i16 0, i16 0, i16 0, i16 11629, i16 0, i16 11630, i16 0, i16 0, i16 7936, i16 1823, i16 4040, i16 0, i16 0, i16 0, i16 0, i16 7937, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7938, i16 4043, i16 0, i16 4048, i16 0, i16 0, i16 0, i16 4046, i16 4045, i16 7939, i16 0, i16 0, i16 8448, i16 8449, i16 0, i16 0, i16 8450, i16 0, i16 8451, i16 0, i16 8455, i16 4317, i16 4314, i16 0, i16 4316, i16 0, i16 3553, i16 8453, i16 4315, i16 0, i16 0, i16 8452, i16 0, i16 0, i16 0, i16 8454, i16 0, i16 0, i16 4305, i16 0, i16 0, i16 8456, i16 0, i16 0, i16 2310, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8927, i16 0, i16 0, i16 4643, i16 8928, i16 0, i16 8929, i16 8930, i16 8931, i16 8932, i16 0, i16 0, i16 0, i16 2725, i16 0, i16 8933, i16 8934, i16 8935, i16 8936, i16 0, i16 8937, i16 0, i16 0, i16 10759, i16 10760, i16 10761, i16 10762, i16 10763, i16 5714, i16 0, i16 0, i16 1368, i16 3077, i16 10764, i16 10765, i16 10766, i16 2420, i16 0, i16 3613, i16 2046, i16 0, i16 0, i16 5762, i16 0, i16 10767, i16 5724, i16 10768, i16 2343, i16 0, i16 5720, i16 5725, i16 5727, i16 0, i16 0, i16 0, i16 6161, i16 11432, i16 11433, i16 11434, i16 11435, i16 11436, i16 11437, i16 11438, i16 0, i16 11439, i16 11440, i16 3498, i16 0, i16 0, i16 11441, i16 0, i16 0, i16 11442, i16 0, i16 11443, i16 0, i16 11444, i16 11445, i16 11446, i16 0, i16 0, i16 0, i16 0, i16 11447, i16 6160, i16 0, i16 0, i16 8998, i16 4677, i16 4676, i16 0, i16 8999, i16 0, i16 0, i16 9000, i16 4644, i16 4678, i16 4666, i16 0, i16 9001, i16 1836, i16 0, i16 9002, i16 0, i16 0, i16 4679, i16 4680, i16 4682, i16 4681, i16 4683, i16 1027, i16 9003, i16 1613, i16 9004, i16 9005, i16 3281, i16 2264, i16 0, i16 0, i16 13103, i16 13104, i16 0, i16 0, i16 0, i16 7071, i16 7072, i16 13105, i16 0, i16 0, i16 0, i16 0, i16 2723, i16 13106, i16 13107, i16 13108, i16 13109, i16 1558, i16 13110, i16 7074, i16 13111, i16 13112, i16 0, i16 13113, i16 13114, i16 13115, i16 0, i16 0, i16 0, i16 13116, i16 0, i16 0, i16 1852, i16 10946, i16 0, i16 1337, i16 2289, i16 3697, i16 3391, i16 5865, i16 2301, i16 10947, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10948, i16 10949, i16 10950, i16 0, i16 1266, i16 5868, i16 10951, i16 0, i16 10952, i16 0, i16 0, i16 0, i16 4159, i16 0, i16 0, i16 8181, i16 8182, i16 0, i16 0, i16 3238, i16 4160, i16 8183, i16 8184, i16 0, i16 0, i16 971, i16 4161, i16 0, i16 8185, i16 8186, i16 8187, i16 3499, i16 1043, i16 0, i16 3939, i16 2007, i16 2468, i16 4162, i16 3452, i16 8189, i16 0, i16 0, i16 0, i16 0, i16 9280, i16 0, i16 0, i16 9281, i16 0, i16 0, i16 0, i16 9282, i16 3515, i16 0, i16 0, i16 0, i16 9283, i16 0, i16 0, i16 0, i16 0, i16 3181, i16 4862, i16 2479, i16 0, i16 9284, i16 0, i16 4868, i16 2374, i16 9285, i16 4859, i16 4872, i16 4871, i16 0, i16 0, i16 0, i16 334, i16 335, i16 0, i16 0, i16 332, i16 333, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5718, i16 5712, i16 0, i16 0, i16 10752, i16 10753, i16 0, i16 0, i16 10754, i16 5716, i16 1963, i16 806, i16 5711, i16 5719, i16 5723, i16 1634, i16 3431, i16 10755, i16 2679, i16 5713, i16 10756, i16 10757, i16 5721, i16 10758, i16 5710, i16 2561, i16 0, i16 5715, i16 774, i16 3419, i16 0, i16 0, i16 9566, i16 0, i16 0, i16 5052, i16 0, i16 9567, i16 2096, i16 0, i16 0, i16 0, i16 3487, i16 0, i16 5049, i16 0, i16 0, i16 9568, i16 9569, i16 5044, i16 9570, i16 5050, i16 9571, i16 9572, i16 9573, i16 3627, i16 0, i16 2802, i16 2847, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3942, i16 7777, i16 3458, i16 0, i16 0, i16 7778, i16 7779, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7780, i16 0, i16 0, i16 0, i16 0, i16 7781, i16 7782, i16 0, i16 3943, i16 0, i16 3615, i16 7783, i16 1589, i16 0, i16 0, i16 7784, i16 0, i16 1519, i16 0, i16 0, i16 9320, i16 0, i16 0, i16 9321, i16 0, i16 4903, i16 4896, i16 0, i16 0, i16 4909, i16 0, i16 4907, i16 9322, i16 9323, i16 0, i16 9324, i16 4902, i16 9325, i16 0, i16 9326, i16 0, i16 0, i16 0, i16 4901, i16 0, i16 2673, i16 0, i16 2412, i16 9327, i16 4899, i16 0, i16 0, i16 12650, i16 12651, i16 0, i16 12652, i16 12653, i16 1557, i16 0, i16 0, i16 12654, i16 6810, i16 12655, i16 0, i16 0, i16 6811, i16 6812, i16 6813, i16 0, i16 6815, i16 6814, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4205, i16 8279, i16 0, i16 8280, i16 3151, i16 8281, i16 0, i16 0, i16 4206, i16 0, i16 4201, i16 8282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8283, i16 0, i16 0, i16 8284, i16 8285, i16 0, i16 0, i16 8286, i16 3404, i16 0, i16 0, i16 2671, i16 2855, i16 880, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2331, i16 9194, i16 0, i16 2269, i16 1413, i16 0, i16 9195, i16 0, i16 0, i16 0, i16 9196, i16 4801, i16 9197, i16 0, i16 0, i16 12666, i16 6821, i16 6820, i16 12667, i16 6822, i16 0, i16 12668, i16 0, i16 0, i16 0, i16 12669, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3085, i16 5822, i16 0, i16 0, i16 2164, i16 0, i16 0, i16 12678, i16 6825, i16 0, i16 3440, i16 0, i16 12679, i16 12680, i16 6826, i16 3531, i16 0, i16 873, i16 0, i16 0, i16 0, i16 1812, i16 12681, i16 6827, i16 1011, i16 6828, i16 12682, i16 12683, i16 12684, i16 6829, i16 0, i16 12685, i16 12686, i16 12687, i16 6831, i16 6832, i16 12688, i16 0, i16 0, i16 7827, i16 0, i16 7828, i16 0, i16 7829, i16 7830, i16 1967, i16 7831, i16 1959, i16 7832, i16 0, i16 7833, i16 7834, i16 0, i16 3977, i16 3975, i16 0, i16 3380, i16 7835, i16 3972, i16 3981, i16 3976, i16 0, i16 0, i16 0, i16 3979, i16 1535, i16 3408, i16 0, i16 7836, i16 0, i16 0, i16 9623, i16 9624, i16 0, i16 0, i16 0, i16 3486, i16 9625, i16 0, i16 0, i16 5081, i16 0, i16 0, i16 5074, i16 2801, i16 0, i16 0, i16 5077, i16 9626, i16 0, i16 0, i16 5083, i16 0, i16 0, i16 0, i16 0, i16 9627, i16 0, i16 9628, i16 3708, i16 1903, i16 0, i16 0, i16 10135, i16 5355, i16 10136, i16 5354, i16 0, i16 0, i16 0, i16 0, i16 0, i16 893, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5363, i16 3073, i16 5357, i16 10137, i16 5359, i16 0, i16 0, i16 5361, i16 2185, i16 10138, i16 0, i16 5362, i16 5360, i16 1905, i16 10139, i16 0, i16 0, i16 7585, i16 3813, i16 7586, i16 3811, i16 7587, i16 2389, i16 7588, i16 7589, i16 0, i16 0, i16 0, i16 3812, i16 3814, i16 7590, i16 0, i16 7591, i16 7603, i16 0, i16 0, i16 3816, i16 7592, i16 0, i16 0, i16 3815, i16 7593, i16 3229, i16 0, i16 0, i16 7594, i16 0, i16 0, i16 0, i16 6307, i16 11695, i16 6305, i16 0, i16 11696, i16 2575, i16 11697, i16 11698, i16 11699, i16 2282, i16 1171, i16 6306, i16 0, i16 2214, i16 0, i16 11700, i16 3607, i16 11701, i16 11702, i16 11703, i16 3691, i16 11704, i16 0, i16 0, i16 6308, i16 6319, i16 2646, i16 11705, i16 6318, i16 11706, i16 0, i16 0, i16 12974, i16 6986, i16 0, i16 0, i16 6987, i16 2843, i16 6984, i16 6983, i16 0, i16 12973, i16 0, i16 0, i16 943, i16 0, i16 0, i16 12975, i16 6995, i16 0, i16 0, i16 6994, i16 0, i16 12976, i16 12977, i16 0, i16 0, i16 924, i16 12978, i16 12979, i16 12980, i16 6992, i16 0, i16 0, i16 1714, i16 0, i16 0, i16 10326, i16 10327, i16 0, i16 0, i16 10328, i16 0, i16 0, i16 5472, i16 10329, i16 10330, i16 0, i16 0, i16 10331, i16 5473, i16 0, i16 1503, i16 1738, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10332, i16 0, i16 0, i16 0, i16 0, i16 9906, i16 0, i16 9907, i16 9908, i16 0, i16 9909, i16 0, i16 0, i16 5255, i16 9910, i16 0, i16 9911, i16 0, i16 0, i16 0, i16 0, i16 9912, i16 9913, i16 0, i16 0, i16 5257, i16 5254, i16 9914, i16 9915, i16 0, i16 3429, i16 5256, i16 5258, i16 9916, i16 3601, i16 0, i16 0, i16 4280, i16 7388, i16 0, i16 0, i16 0, i16 0, i16 7389, i16 7390, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3551, i16 0, i16 2906, i16 7391, i16 7392, i16 0, i16 0, i16 0, i16 7393, i16 0, i16 0, i16 0, i16 0, i16 1126, i16 7394, i16 0, i16 0, i16 9401, i16 9402, i16 3554, i16 4948, i16 9403, i16 9404, i16 0, i16 9405, i16 4900, i16 0, i16 0, i16 0, i16 0, i16 9406, i16 9407, i16 9408, i16 4951, i16 0, i16 0, i16 0, i16 4952, i16 9409, i16 0, i16 0, i16 0, i16 9410, i16 0, i16 860, i16 9411, i16 4954, i16 0, i16 0, i16 2749, i16 6472, i16 0, i16 0, i16 0, i16 0, i16 11939, i16 0, i16 0, i16 6475, i16 0, i16 11946, i16 11940, i16 0, i16 11941, i16 11942, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11943, i16 1893, i16 11944, i16 11945, i16 6474, i16 6473, i16 1461, i16 6476, i16 0, i16 0, i16 0, i16 9917, i16 0, i16 9918, i16 5262, i16 0, i16 9919, i16 9920, i16 5261, i16 2617, i16 2920, i16 9921, i16 0, i16 1502, i16 5260, i16 0, i16 9922, i16 9923, i16 0, i16 5259, i16 9924, i16 3488, i16 3489, i16 0, i16 0, i16 9925, i16 9926, i16 0, i16 9927, i16 5263, i16 917, i16 0, i16 0, i16 5579, i16 0, i16 5592, i16 0, i16 5582, i16 10551, i16 1287, i16 0, i16 5581, i16 5594, i16 0, i16 0, i16 0, i16 5580, i16 0, i16 2109, i16 0, i16 0, i16 10552, i16 0, i16 0, i16 0, i16 5584, i16 5585, i16 0, i16 2730, i16 0, i16 0, i16 5586, i16 10553, i16 0, i16 0, i16 7119, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 360, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6868, i16 0, i16 0, i16 0, i16 0, i16 12737, i16 0, i16 0, i16 12738, i16 12739, i16 12740, i16 6859, i16 6860, i16 0, i16 12741, i16 6861, i16 6862, i16 0, i16 12742, i16 12743, i16 0, i16 0, i16 6864, i16 12744, i16 0, i16 6863, i16 0, i16 12745, i16 12746, i16 2024, i16 0, i16 0, i16 4310, i16 8439, i16 8440, i16 0, i16 8441, i16 8442, i16 0, i16 3277, i16 0, i16 8438, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8443, i16 0, i16 0, i16 8444, i16 0, i16 0, i16 0, i16 0, i16 8445, i16 0, i16 0, i16 0, i16 8446, i16 0, i16 8447, i16 0, i16 0, i16 2523, i16 0, i16 10008, i16 5286, i16 10009, i16 0, i16 10010, i16 10011, i16 10012, i16 10013, i16 10014, i16 10015, i16 10016, i16 10017, i16 10018, i16 10019, i16 5288, i16 3619, i16 1364, i16 3093, i16 2949, i16 0, i16 0, i16 10020, i16 5289, i16 0, i16 0, i16 0, i16 0, i16 5291, i16 0, i16 0, i16 6368, i16 0, i16 0, i16 6370, i16 11784, i16 11785, i16 0, i16 6369, i16 6371, i16 11786, i16 3321, i16 6372, i16 6373, i16 0, i16 11787, i16 0, i16 11788, i16 11789, i16 6374, i16 0, i16 0, i16 0, i16 6376, i16 11790, i16 0, i16 11791, i16 11792, i16 1040, i16 2696, i16 0, i16 0, i16 0, i16 7648, i16 0, i16 2257, i16 3861, i16 2025, i16 0, i16 7649, i16 3862, i16 0, i16 2623, i16 3596, i16 2783, i16 0, i16 7650, i16 0, i16 7651, i16 7652, i16 7653, i16 0, i16 7654, i16 3935, i16 0, i16 7655, i16 0, i16 0, i16 3863, i16 7099, i16 1346, i16 7656, i16 0, i16 0, i16 0, i16 6882, i16 0, i16 6884, i16 6883, i16 0, i16 0, i16 0, i16 6885, i16 6887, i16 6886, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 745, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 735, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8685, i16 0, i16 8686, i16 2141, i16 4477, i16 2868, i16 8687, i16 8688, i16 8689, i16 8690, i16 0, i16 0, i16 8691, i16 8692, i16 0, i16 3698, i16 0, i16 4473, i16 8693, i16 8694, i16 0, i16 0, i16 4479, i16 8695, i16 1682, i16 8696, i16 2292, i16 8697, i16 8698, i16 797, i16 0, i16 0, i16 4592, i16 0, i16 8825, i16 2551, i16 4586, i16 4593, i16 4588, i16 4595, i16 4591, i16 0, i16 4590, i16 2986, i16 8826, i16 4584, i16 1026, i16 4582, i16 1296, i16 2520, i16 4578, i16 8827, i16 8828, i16 4581, i16 1611, i16 2308, i16 8829, i16 2084, i16 4589, i16 2957, i16 0, i16 0, i16 0, i16 0, i16 1265, i16 2324, i16 1901, i16 3479, i16 4245, i16 0, i16 8355, i16 8356, i16 0, i16 0, i16 8357, i16 8358, i16 1275, i16 8359, i16 1728, i16 8360, i16 8361, i16 1045, i16 906, i16 2073, i16 973, i16 8362, i16 4246, i16 3509, i16 8363, i16 0, i16 8364, i16 0, i16 0, i16 2008, i16 0, i16 0, i16 3570, i16 2894, i16 0, i16 0, i16 0, i16 0, i16 850, i16 12532, i16 2316, i16 1895, i16 0, i16 0, i16 0, i16 12533, i16 3212, i16 12534, i16 871, i16 0, i16 0, i16 0, i16 3642, i16 3546, i16 0, i16 6745, i16 12535, i16 2756, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7672, i16 0, i16 3030, i16 3233, i16 0, i16 3875, i16 7673, i16 3559, i16 3876, i16 0, i16 0, i16 0, i16 3877, i16 0, i16 2813, i16 7674, i16 7675, i16 3878, i16 0, i16 7676, i16 2258, i16 1779, i16 1487, i16 3879, i16 1820, i16 1670, i16 7677, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3834, i16 0, i16 7631, i16 2907, i16 7632, i16 0, i16 2363, i16 3836, i16 3837, i16 3013, i16 1585, i16 3686, i16 3838, i16 0, i16 0, i16 1315, i16 0, i16 0, i16 0, i16 3217, i16 2459, i16 1390, i16 2740, i16 0, i16 0, i16 0, i16 1486, i16 0, i16 7633, i16 0, i16 0, i16 0, i16 13052, i16 0, i16 0, i16 0, i16 0, i16 13053, i16 0, i16 0, i16 13051, i16 0, i16 0, i16 0, i16 13054, i16 0, i16 13055, i16 13056, i16 13057, i16 0, i16 0, i16 13058, i16 13059, i16 0, i16 0, i16 13060, i16 7032, i16 7033, i16 13061, i16 13062, i16 7034, i16 0, i16 0, i16 0, i16 9469, i16 0, i16 9470, i16 9471, i16 0, i16 0, i16 4997, i16 9472, i16 0, i16 0, i16 0, i16 9473, i16 9474, i16 1844, i16 9475, i16 3394, i16 9476, i16 4998, i16 4999, i16 0, i16 0, i16 1219, i16 0, i16 9477, i16 0, i16 5000, i16 0, i16 0, i16 0, i16 9478, i16 0, i16 2304, i16 0, i16 6423, i16 11858, i16 11859, i16 0, i16 11860, i16 1554, i16 0, i16 6420, i16 6421, i16 11861, i16 0, i16 0, i16 3668, i16 11862, i16 11864, i16 11865, i16 2648, i16 11866, i16 2352, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6424, i16 11867, i16 0, i16 6427, i16 0, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 0, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 520, i16 521, i16 522, i16 523, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 0, i16 1028, i16 1703, i16 6923, i16 6922, i16 3382, i16 0, i16 0, i16 12844, i16 0, i16 0, i16 12845, i16 12846, i16 6925, i16 6926, i16 6924, i16 0, i16 6927, i16 0, i16 0, i16 3349, i16 12847, i16 12848, i16 12849, i16 6928, i16 0, i16 1306, i16 12850, i16 0, i16 0, i16 12851, i16 0, i16 0, i16 6661, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6659, i16 0, i16 0, i16 12412, i16 12413, i16 0, i16 12414, i16 12415, i16 12416, i16 12417, i16 6660, i16 6658, i16 0, i16 2525, i16 0, i16 6662, i16 12418, i16 0, i16 12420, i16 0, i16 12419, i16 0, i16 12549, i16 6764, i16 12550, i16 6761, i16 0, i16 6762, i16 0, i16 6763, i16 6765, i16 12551, i16 0, i16 0, i16 0, i16 12552, i16 12553, i16 0, i16 0, i16 2285, i16 0, i16 0, i16 12554, i16 3464, i16 12555, i16 12556, i16 2286, i16 12557, i16 12558, i16 6766, i16 0, i16 3084, i16 0, i16 0, i16 6663, i16 0, i16 12421, i16 6665, i16 12422, i16 0, i16 0, i16 12423, i16 0, i16 12424, i16 0, i16 12425, i16 0, i16 0, i16 0, i16 0, i16 1174, i16 6664, i16 3467, i16 0, i16 12426, i16 0, i16 0, i16 0, i16 12427, i16 6676, i16 6666, i16 12428, i16 0, i16 6669, i16 12429, i16 0, i16 4105, i16 8057, i16 0, i16 1690, i16 8058, i16 2550, i16 8059, i16 8060, i16 4102, i16 2683, i16 8061, i16 0, i16 8062, i16 8063, i16 8064, i16 8065, i16 8066, i16 0, i16 8067, i16 8068, i16 8069, i16 0, i16 8070, i16 0, i16 8071, i16 8072, i16 8073, i16 8074, i16 0, i16 8075, i16 4106, i16 0, i16 6409, i16 11827, i16 0, i16 11828, i16 2647, i16 0, i16 0, i16 11829, i16 0, i16 898, i16 0, i16 0, i16 11830, i16 0, i16 0, i16 11831, i16 11832, i16 0, i16 0, i16 0, i16 11833, i16 0, i16 0, i16 0, i16 6410, i16 0, i16 0, i16 0, i16 0, i16 11834, i16 11835, i16 0, i16 3338, i16 2521, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3370, i16 0, i16 0, i16 5024, i16 0, i16 9517, i16 5025, i16 9518, i16 980, i16 9519, i16 0, i16 0, i16 0, i16 3197, i16 3470, i16 5027, i16 1876, i16 2095, i16 5020, i16 5026, i16 911, i16 0, i16 3595, i16 0, i16 7373, i16 7374, i16 0, i16 3223, i16 0, i16 7375, i16 0, i16 3714, i16 7376, i16 0, i16 2601, i16 7377, i16 7378, i16 7379, i16 3715, i16 1399, i16 0, i16 0, i16 7380, i16 3716, i16 0, i16 1182, i16 2547, i16 0, i16 1944, i16 3717, i16 0, i16 0, i16 3718, i16 0, i16 4364, i16 4365, i16 2956, i16 0, i16 0, i16 8542, i16 0, i16 4366, i16 3652, i16 3672, i16 8544, i16 8543, i16 0, i16 8545, i16 4368, i16 4367, i16 8546, i16 8547, i16 1066, i16 8548, i16 8549, i16 4369, i16 0, i16 0, i16 0, i16 4372, i16 4373, i16 8550, i16 4371, i16 8551, i16 3127, i16 0, i16 1549, i16 1851, i16 0, i16 0, i16 3079, i16 10923, i16 10924, i16 0, i16 1507, i16 3318, i16 10925, i16 5857, i16 5855, i16 0, i16 1637, i16 0, i16 1638, i16 818, i16 0, i16 1757, i16 0, i16 0, i16 0, i16 10926, i16 10927, i16 2964, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3599, i16 9227, i16 4820, i16 9228, i16 2970, i16 9229, i16 0, i16 9230, i16 0, i16 0, i16 0, i16 0, i16 4828, i16 0, i16 4815, i16 0, i16 0, i16 0, i16 765, i16 4817, i16 0, i16 9231, i16 1619, i16 9232, i16 0, i16 9233, i16 4819, i16 9234, i16 4818, i16 0, i16 4814, i16 0, i16 4879, i16 0, i16 4887, i16 0, i16 9315, i16 0, i16 7096, i16 9316, i16 0, i16 4884, i16 1620, i16 2665, i16 2411, i16 4882, i16 0, i16 4877, i16 9317, i16 0, i16 4880, i16 0, i16 0, i16 9318, i16 9319, i16 3516, i16 3357, i16 0, i16 0, i16 0, i16 4885, i16 4895, i16 0, i16 0, i16 11023, i16 11024, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11025, i16 5925, i16 1641, i16 5926, i16 3045, i16 0, i16 5940, i16 0, i16 0, i16 0, i16 11026, i16 5928, i16 11027, i16 2478, i16 2992, i16 1528, i16 5927, i16 2348, i16 11028, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5395, i16 5396, i16 0, i16 10200, i16 10201, i16 0, i16 5400, i16 5397, i16 5398, i16 5399, i16 0, i16 5401, i16 10202, i16 10203, i16 10204, i16 5402, i16 10205, i16 5403, i16 0, i16 10206, i16 0, i16 5404, i16 0, i16 5405, i16 0, i16 3016, i16 2767, i16 5406, i16 2989, i16 3115, i16 0, i16 0, i16 8468, i16 4323, i16 8469, i16 4322, i16 0, i16 0, i16 4321, i16 8470, i16 0, i16 8471, i16 2791, i16 4300, i16 0, i16 0, i16 0, i16 4329, i16 0, i16 8472, i16 8473, i16 8474, i16 8475, i16 0, i16 0, i16 0, i16 8476, i16 0, i16 8477, i16 0, i16 4325, i16 0, i16 8478, i16 0, i16 6679, i16 0, i16 12440, i16 12439, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1304, i16 3121, i16 0, i16 9655, i16 0, i16 1904, i16 0, i16 9656, i16 1678, i16 9657, i16 0, i16 9658, i16 9659, i16 0, i16 3678, i16 0, i16 5110, i16 0, i16 5122, i16 912, i16 2413, i16 9660, i16 0, i16 9661, i16 0, i16 9662, i16 9663, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8729, i16 4504, i16 0, i16 4505, i16 8730, i16 8731, i16 4494, i16 1871, i16 8732, i16 4498, i16 2491, i16 1609, i16 4480, i16 2176, i16 0, i16 0, i16 0, i16 0, i16 4518, i16 0, i16 3262, i16 0, i16 0, i16 4508, i16 4509, i16 4510, i16 0, i16 0, i16 4517, i16 8733, i16 4516, i16 0, i16 9757, i16 0, i16 0, i16 0, i16 9758, i16 9759, i16 0, i16 0, i16 3666, i16 2225, i16 0, i16 0, i16 0, i16 913, i16 0, i16 0, i16 0, i16 5174, i16 0, i16 9760, i16 9761, i16 9762, i16 9763, i16 9764, i16 5173, i16 0, i16 9765, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7458, i16 7459, i16 1127, i16 7460, i16 7461, i16 3762, i16 0, i16 3754, i16 7462, i16 7463, i16 3632, i16 7464, i16 1867, i16 7465, i16 3755, i16 7466, i16 3760, i16 7467, i16 7468, i16 7469, i16 0, i16 3763, i16 7470, i16 3756, i16 7471, i16 7472, i16 1310, i16 0, i16 790, i16 7473, i16 7474, i16 0, i16 11555, i16 6226, i16 0, i16 6231, i16 0, i16 11556, i16 3192, i16 0, i16 0, i16 6233, i16 0, i16 6232, i16 11557, i16 11558, i16 11559, i16 1103, i16 0, i16 3294, i16 6234, i16 0, i16 11560, i16 11561, i16 0, i16 11562, i16 11563, i16 11564, i16 0, i16 11565, i16 6246, i16 6236, i16 0, i16 0, i16 1572, i16 0, i16 0, i16 0, i16 0, i16 5480, i16 2711, i16 0, i16 0, i16 10359, i16 0, i16 5483, i16 1050, i16 5478, i16 10360, i16 0, i16 3075, i16 0, i16 855, i16 10361, i16 1761, i16 0, i16 3709, i16 10362, i16 0, i16 5482, i16 0, i16 0, i16 10364, i16 10365, i16 10366, i16 0, i16 6950, i16 6947, i16 6946, i16 6948, i16 12905, i16 0, i16 12906, i16 1466, i16 0, i16 12907, i16 12908, i16 0, i16 0, i16 0, i16 12909, i16 6954, i16 6953, i16 6952, i16 12910, i16 0, i16 764, i16 0, i16 12911, i16 12912, i16 12913, i16 12914, i16 0, i16 0, i16 12915, i16 0, i16 12916, i16 0, i16 2856, i16 4921, i16 0, i16 9357, i16 0, i16 4923, i16 9358, i16 0, i16 0, i16 9359, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9360, i16 4917, i16 9361, i16 0, i16 0, i16 0, i16 0, i16 4919, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9362, i16 1091, i16 0, i16 11816, i16 0, i16 11817, i16 6393, i16 6394, i16 0, i16 6396, i16 2440, i16 11818, i16 6395, i16 1191, i16 0, i16 6398, i16 0, i16 6397, i16 6399, i16 0, i16 11819, i16 6401, i16 6403, i16 0, i16 6404, i16 11820, i16 0, i16 0, i16 0, i16 11821, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6188, i16 6187, i16 6118, i16 0, i16 0, i16 0, i16 6192, i16 11497, i16 0, i16 0, i16 0, i16 0, i16 11498, i16 11499, i16 0, i16 11500, i16 6189, i16 11501, i16 0, i16 0, i16 11502, i16 6190, i16 0, i16 0, i16 6191, i16 11503, i16 6193, i16 11504, i16 0, i16 0, i16 0, i16 0, i16 8237, i16 0, i16 8238, i16 8239, i16 0, i16 4188, i16 0, i16 8240, i16 1827, i16 8241, i16 1826, i16 0, i16 8242, i16 0, i16 0, i16 770, i16 1537, i16 8243, i16 2260, i16 794, i16 0, i16 0, i16 0, i16 0, i16 4192, i16 4193, i16 0, i16 4190, i16 8244, i16 8245, i16 8246, i16 0, i16 4912, i16 4937, i16 4936, i16 0, i16 0, i16 9383, i16 0, i16 9385, i16 9384, i16 0, i16 0, i16 9386, i16 0, i16 0, i16 0, i16 9387, i16 4942, i16 0, i16 3665, i16 9388, i16 9389, i16 9390, i16 0, i16 0, i16 0, i16 4945, i16 1400, i16 9391, i16 9392, i16 4941, i16 4943, i16 0, i16 12592, i16 0, i16 6789, i16 12593, i16 12594, i16 6790, i16 12595, i16 6791, i16 12596, i16 12597, i16 6792, i16 12598, i16 12599, i16 12600, i16 0, i16 12601, i16 12602, i16 0, i16 1179, i16 12603, i16 0, i16 0, i16 12604, i16 12605, i16 12606, i16 0, i16 12610, i16 6793, i16 12607, i16 12608, i16 0, i16 0, i16 819, i16 0, i16 12066, i16 12067, i16 12068, i16 0, i16 12069, i16 12070, i16 0, i16 1648, i16 0, i16 12064, i16 0, i16 3685, i16 0, i16 0, i16 0, i16 12079, i16 0, i16 0, i16 12071, i16 0, i16 12072, i16 12073, i16 12074, i16 0, i16 6560, i16 12075, i16 12076, i16 0, i16 12077, i16 0, i16 6451, i16 11911, i16 11912, i16 6454, i16 6453, i16 0, i16 6452, i16 0, i16 11913, i16 6456, i16 6455, i16 0, i16 3463, i16 0, i16 0, i16 11914, i16 6458, i16 11915, i16 6457, i16 6459, i16 11916, i16 0, i16 0, i16 0, i16 6460, i16 11917, i16 11918, i16 0, i16 11919, i16 11920, i16 0, i16 0, i16 1332, i16 9520, i16 0, i16 5017, i16 5022, i16 9521, i16 0, i16 0, i16 2333, i16 2988, i16 0, i16 3072, i16 9522, i16 0, i16 9523, i16 9524, i16 9525, i16 9526, i16 5019, i16 9527, i16 3284, i16 9528, i16 5021, i16 0, i16 5030, i16 9529, i16 5028, i16 9530, i16 5023, i16 0, i16 0, i16 0, i16 6708, i16 12480, i16 0, i16 12481, i16 12482, i16 12483, i16 0, i16 6709, i16 0, i16 1754, i16 0, i16 12484, i16 0, i16 6710, i16 6711, i16 0, i16 12485, i16 3324, i16 12486, i16 0, i16 0, i16 0, i16 12487, i16 12488, i16 12489, i16 12490, i16 2386, i16 12491, i16 12492, i16 0, i16 749, i16 0, i16 12852, i16 0, i16 12853, i16 0, i16 12854, i16 12855, i16 0, i16 12856, i16 0, i16 12857, i16 12858, i16 12859, i16 12860, i16 12861, i16 3664, i16 0, i16 0, i16 0, i16 12862, i16 6929, i16 12863, i16 0, i16 12864, i16 12865, i16 12866, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12867, i16 0, i16 10805, i16 10806, i16 0, i16 0, i16 10807, i16 5742, i16 5750, i16 0, i16 5758, i16 5757, i16 10808, i16 0, i16 3373, i16 10809, i16 10810, i16 1414, i16 0, i16 0, i16 10811, i16 0, i16 0, i16 0, i16 0, i16 10812, i16 5756, i16 0, i16 5760, i16 5759, i16 5763, i16 10813, i16 5765, i16 0, i16 2872, i16 2230, i16 12031, i16 12032, i16 2588, i16 0, i16 1397, i16 0, i16 6536, i16 3494, i16 870, i16 12033, i16 3244, i16 998, i16 6531, i16 6532, i16 6533, i16 6534, i16 2840, i16 2534, i16 812, i16 6538, i16 0, i16 6539, i16 7097, i16 0, i16 12034, i16 2466, i16 12035, i16 6540, i16 0, i16 0, i16 6969, i16 12928, i16 12929, i16 6968, i16 6967, i16 12930, i16 12931, i16 12932, i16 12933, i16 12934, i16 0, i16 0, i16 3136, i16 6965, i16 828, i16 6970, i16 12935, i16 6972, i16 0, i16 0, i16 12936, i16 12937, i16 12938, i16 0, i16 1106, i16 6951, i16 862, i16 0, i16 12939, i16 6974, i16 0, i16 0, i16 9018, i16 4694, i16 4695, i16 0, i16 9019, i16 0, i16 3213, i16 4241, i16 2287, i16 9020, i16 0, i16 3139, i16 0, i16 1741, i16 0, i16 3070, i16 3036, i16 9021, i16 0, i16 0, i16 9022, i16 0, i16 2764, i16 9023, i16 3598, i16 0, i16 4697, i16 1921, i16 9024, i16 0, i16 4698, i16 0, i16 1341, i16 12391, i16 0, i16 6651, i16 6645, i16 12392, i16 12393, i16 6644, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12395, i16 12396, i16 12394, i16 12397, i16 12398, i16 0, i16 12399, i16 0, i16 0, i16 0, i16 6462, i16 11921, i16 0, i16 0, i16 0, i16 0, i16 11922, i16 0, i16 11923, i16 6461, i16 2195, i16 6463, i16 11924, i16 11925, i16 1386, i16 6464, i16 6466, i16 0, i16 11926, i16 0, i16 11927, i16 0, i16 0, i16 0, i16 0, i16 11928, i16 11929, i16 0, i16 0, i16 6467, i16 0, i16 0, i16 10814, i16 1807, i16 5761, i16 0, i16 0, i16 10815, i16 10816, i16 5766, i16 5767, i16 10817, i16 0, i16 5768, i16 10818, i16 5774, i16 2746, i16 5770, i16 10819, i16 5769, i16 5771, i16 5772, i16 10820, i16 5773, i16 0, i16 10821, i16 0, i16 10822, i16 5775, i16 5776, i16 10823, i16 10824, i16 0, i16 0, i16 11328, i16 6096, i16 0, i16 0, i16 0, i16 0, i16 11329, i16 0, i16 11330, i16 0, i16 0, i16 0, i16 3557, i16 0, i16 5430, i16 6098, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11331, i16 0, i16 11332, i16 0, i16 11333, i16 0, i16 11334, i16 11335, i16 0, i16 6099, i16 0, i16 8772, i16 8773, i16 4542, i16 0, i16 8776, i16 4541, i16 8774, i16 0, i16 8775, i16 0, i16 0, i16 8777, i16 8778, i16 0, i16 8779, i16 0, i16 0, i16 2633, i16 0, i16 4545, i16 0, i16 4543, i16 4533, i16 1495, i16 0, i16 4544, i16 0, i16 4548, i16 4547, i16 4549, i16 4546, i16 0, i16 9798, i16 0, i16 0, i16 0, i16 9799, i16 9800, i16 9801, i16 0, i16 3656, i16 9802, i16 9803, i16 5194, i16 0, i16 2338, i16 0, i16 9804, i16 0, i16 9805, i16 0, i16 0, i16 5190, i16 5195, i16 9806, i16 0, i16 915, i16 9807, i16 0, i16 9808, i16 0, i16 9809, i16 0, i16 0, i16 2122, i16 6364, i16 11773, i16 11774, i16 0, i16 11775, i16 0, i16 11776, i16 11777, i16 1666, i16 3724, i16 6365, i16 11778, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11779, i16 0, i16 11780, i16 11781, i16 0, i16 6366, i16 3126, i16 6367, i16 11782, i16 6375, i16 0, i16 11783, i16 0, i16 0, i16 1355, i16 1412, i16 5657, i16 0, i16 0, i16 10668, i16 10669, i16 0, i16 3209, i16 0, i16 2227, i16 0, i16 3393, i16 0, i16 10670, i16 5658, i16 0, i16 3584, i16 0, i16 10671, i16 2991, i16 0, i16 2381, i16 2927, i16 0, i16 0, i16 2012, i16 0, i16 0, i16 10672, i16 777, i16 0, i16 13131, i16 0, i16 13132, i16 13133, i16 13134, i16 13135, i16 13136, i16 0, i16 0, i16 7078, i16 5519, i16 0, i16 0, i16 6400, i16 6795, i16 0, i16 0, i16 7079, i16 13137, i16 7080, i16 13138, i16 13139, i16 13140, i16 13141, i16 0, i16 13142, i16 0, i16 0, i16 13143, i16 13144, i16 7082, i16 0, i16 12365, i16 0, i16 12366, i16 12367, i16 0, i16 12368, i16 1054, i16 12369, i16 12375, i16 0, i16 12370, i16 6638, i16 6639, i16 2660, i16 0, i16 6637, i16 0, i16 0, i16 0, i16 12371, i16 12372, i16 12373, i16 0, i16 0, i16 6641, i16 12374, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1872, i16 4600, i16 8835, i16 8836, i16 0, i16 0, i16 1835, i16 4601, i16 781, i16 8837, i16 8838, i16 4596, i16 8839, i16 0, i16 0, i16 8840, i16 2634, i16 0, i16 8841, i16 0, i16 0, i16 8842, i16 0, i16 8843, i16 1298, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1329, i16 0, i16 1618, i16 1119, i16 0, i16 0, i16 0, i16 0, i16 9199, i16 9198, i16 4803, i16 1111, i16 4809, i16 9200, i16 9201, i16 0, i16 9202, i16 9203, i16 9204, i16 4806, i16 9205, i16 2332, i16 0, i16 0, i16 0, i16 1070, i16 1697, i16 0, i16 9206, i16 1069, i16 1732, i16 0, i16 9207, i16 0, i16 6996, i16 12990, i16 12991, i16 6993, i16 12988, i16 6999, i16 12992, i16 7000, i16 0, i16 12993, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7005, i16 7004, i16 0, i16 12994, i16 12995, i16 0, i16 0, i16 0, i16 0, i16 7006, i16 0, i16 0, i16 852, i16 7001, i16 7002, i16 12996, i16 0, i16 4182, i16 2908, i16 3063, i16 3426, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2912, i16 8220, i16 8221, i16 4191, i16 8222, i16 0, i16 0, i16 0, i16 8223, i16 1239, i16 0, i16 8224, i16 3508, i16 8225, i16 0, i16 3392, i16 0, i16 4286, i16 0, i16 4183, i16 0, i16 8226, i16 0, i16 1880, i16 0, i16 0, i16 0, i16 5494, i16 5489, i16 10378, i16 10379, i16 10380, i16 5495, i16 5490, i16 10381, i16 0, i16 10382, i16 0, i16 3057, i16 5488, i16 10383, i16 10384, i16 5491, i16 10385, i16 10386, i16 0, i16 0, i16 0, i16 5498, i16 10388, i16 0, i16 0, i16 0, i16 10389, i16 0, i16 9560, i16 0, i16 5043, i16 5045, i16 9561, i16 865, i16 9562, i16 0, i16 1623, i16 3677, i16 0, i16 1056, i16 0, i16 3161, i16 9563, i16 9564, i16 0, i16 0, i16 0, i16 3536, i16 0, i16 0, i16 1031, i16 2182, i16 5047, i16 0, i16 0, i16 9565, i16 0, i16 0, i16 0, i16 0, i16 12376, i16 0, i16 6647, i16 12377, i16 12378, i16 12379, i16 12380, i16 6650, i16 12381, i16 12382, i16 12383, i16 12384, i16 12385, i16 0, i16 0, i16 6649, i16 2732, i16 0, i16 12386, i16 0, i16 0, i16 6642, i16 6643, i16 6646, i16 12387, i16 0, i16 0, i16 12388, i16 6648, i16 12389, i16 12390, i16 0, i16 11868, i16 0, i16 0, i16 11869, i16 11870, i16 11871, i16 0, i16 6425, i16 6426, i16 3528, i16 11872, i16 0, i16 0, i16 0, i16 2820, i16 6430, i16 11873, i16 0, i16 0, i16 11874, i16 0, i16 11875, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6428, i16 6429, i16 6431, i16 0, i16 12126, i16 2216, i16 6569, i16 12127, i16 6570, i16 0, i16 12128, i16 0, i16 6571, i16 3550, i16 0, i16 1990, i16 12129, i16 0, i16 0, i16 0, i16 0, i16 6573, i16 6572, i16 12130, i16 1649, i16 0, i16 1674, i16 1811, i16 12131, i16 12132, i16 12133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4703, i16 9033, i16 4701, i16 4704, i16 3590, i16 4702, i16 0, i16 9034, i16 9035, i16 0, i16 2340, i16 4705, i16 0, i16 9036, i16 2455, i16 9037, i16 0, i16 4706, i16 0, i16 9038, i16 0, i16 9039, i16 1211, i16 9040, i16 4708, i16 0, i16 4707, i16 0, i16 0, i16 0, i16 9041, i16 0, i16 11104, i16 11105, i16 5986, i16 0, i16 0, i16 0, i16 0, i16 826, i16 0, i16 0, i16 5977, i16 11106, i16 11107, i16 11108, i16 5976, i16 11109, i16 5971, i16 5970, i16 11110, i16 5968, i16 5967, i16 2598, i16 11111, i16 2528, i16 5973, i16 11112, i16 0, i16 11113, i16 11114, i16 0, i16 0, i16 0, i16 11364, i16 0, i16 6107, i16 2941, i16 0, i16 11365, i16 11366, i16 11367, i16 6108, i16 6109, i16 6119, i16 0, i16 11368, i16 0, i16 6113, i16 6116, i16 11369, i16 0, i16 11370, i16 11371, i16 11372, i16 6112, i16 11373, i16 11374, i16 11375, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11376, i16 0, i16 12134, i16 6576, i16 12135, i16 0, i16 12136, i16 12137, i16 2037, i16 0, i16 6575, i16 12138, i16 6574, i16 0, i16 2510, i16 12139, i16 0, i16 1576, i16 12140, i16 2284, i16 12141, i16 12142, i16 12143, i16 0, i16 3017, i16 12144, i16 0, i16 0, i16 0, i16 1992, i16 0, i16 12145, i16 0, i16 0, i16 4458, i16 8665, i16 4461, i16 4463, i16 0, i16 8666, i16 0, i16 8667, i16 1902, i16 8668, i16 4469, i16 2705, i16 4459, i16 8669, i16 0, i16 0, i16 8670, i16 4467, i16 8671, i16 1022, i16 8672, i16 4465, i16 4466, i16 8673, i16 0, i16 4462, i16 4464, i16 0, i16 8674, i16 8675, i16 1568, i16 0, i16 7018, i16 7024, i16 13030, i16 7017, i16 0, i16 7022, i16 13031, i16 0, i16 13032, i16 13033, i16 0, i16 0, i16 0, i16 0, i16 7023, i16 0, i16 0, i16 0, i16 7026, i16 13034, i16 13035, i16 13036, i16 13037, i16 0, i16 7025, i16 13038, i16 0, i16 0, i16 0, i16 13039, i16 13040, i16 0, i16 10858, i16 10859, i16 5804, i16 1421, i16 0, i16 10860, i16 0, i16 2345, i16 1248, i16 10861, i16 0, i16 0, i16 10862, i16 5808, i16 5805, i16 0, i16 0, i16 5806, i16 0, i16 10863, i16 0, i16 5809, i16 0, i16 5810, i16 5807, i16 0, i16 0, i16 10864, i16 848, i16 0, i16 10865, i16 0, i16 3180, i16 2325, i16 0, i16 1918, i16 4261, i16 2074, i16 4262, i16 4263, i16 796, i16 2463, i16 2205, i16 8379, i16 4264, i16 2832, i16 2075, i16 0, i16 2076, i16 0, i16 4265, i16 0, i16 0, i16 2326, i16 8380, i16 0, i16 0, i16 2077, i16 0, i16 0, i16 0, i16 8381, i16 8382, i16 0, i16 12400, i16 12401, i16 6655, i16 12402, i16 0, i16 0, i16 6656, i16 12403, i16 12404, i16 0, i16 0, i16 0, i16 12405, i16 12406, i16 12407, i16 6657, i16 0, i16 0, i16 6654, i16 6653, i16 12408, i16 12409, i16 12410, i16 2127, i16 2823, i16 6652, i16 0, i16 0, i16 0, i16 0, i16 12411, i16 0, i16 8562, i16 8563, i16 8564, i16 8565, i16 3456, i16 1522, i16 1541, i16 8566, i16 4392, i16 0, i16 8567, i16 8568, i16 4393, i16 8569, i16 4399, i16 8570, i16 1942, i16 0, i16 0, i16 8571, i16 2630, i16 8572, i16 1324, i16 4394, i16 0, i16 0, i16 8573, i16 3106, i16 8574, i16 2569, i16 8575, i16 0, i16 12146, i16 6577, i16 0, i16 2124, i16 0, i16 12147, i16 0, i16 12148, i16 0, i16 6580, i16 6578, i16 12149, i16 12150, i16 12151, i16 6579, i16 12152, i16 12153, i16 12154, i16 12155, i16 6582, i16 6581, i16 12156, i16 0, i16 2151, i16 0, i16 6583, i16 12157, i16 12158, i16 12159, i16 0, i16 12160, i16 0, i16 3960, i16 7810, i16 1256, i16 1065, i16 0, i16 0, i16 0, i16 1662, i16 1255, i16 2688, i16 844, i16 2830, i16 3407, i16 1592, i16 3560, i16 2758, i16 1591, i16 0, i16 7811, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7812, i16 1418, i16 0, i16 3969, i16 0, i16 1376, i16 0, i16 3705, i16 11299, i16 0, i16 0, i16 0, i16 0, i16 11300, i16 0, i16 6080, i16 11301, i16 11302, i16 0, i16 3556, i16 11303, i16 6082, i16 6084, i16 0, i16 0, i16 0, i16 0, i16 6085, i16 0, i16 0, i16 11305, i16 0, i16 11306, i16 0, i16 6088, i16 6086, i16 0, i16 11307, i16 0, i16 10363, i16 0, i16 5484, i16 10367, i16 0, i16 0, i16 3232, i16 10368, i16 2306, i16 5486, i16 0, i16 10369, i16 10370, i16 0, i16 5487, i16 10371, i16 10372, i16 10373, i16 10374, i16 0, i16 5485, i16 0, i16 0, i16 0, i16 0, i16 1073, i16 10375, i16 5493, i16 10376, i16 5492, i16 10377, i16 0, i16 12670, i16 1233, i16 12671, i16 0, i16 12672, i16 12673, i16 12674, i16 0, i16 6823, i16 12675, i16 6824, i16 0, i16 3910, i16 4959, i16 3052, i16 0, i16 0, i16 836, i16 12676, i16 772, i16 0, i16 12677, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1863, i16 3299, i16 2155, i16 0, i16 0, i16 1408, i16 6500, i16 6501, i16 6502, i16 11984, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8328, i16 2139, i16 0, i16 0, i16 8329, i16 0, i16 0, i16 0, i16 0, i16 4225, i16 0, i16 2685, i16 8330, i16 0, i16 0, i16 876, i16 0, i16 4223, i16 0, i16 8324, i16 0, i16 4226, i16 0, i16 8331, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4227, i16 0, i16 0, i16 4489, i16 8720, i16 0, i16 0, i16 0, i16 0, i16 4497, i16 4496, i16 0, i16 8721, i16 8722, i16 4501, i16 0, i16 0, i16 0, i16 8723, i16 8724, i16 0, i16 0, i16 4502, i16 8725, i16 8726, i16 8727, i16 0, i16 8728, i16 0, i16 0, i16 4500, i16 4503, i16 4495, i16 4499, i16 0, i16 8076, i16 2221, i16 8077, i16 0, i16 0, i16 0, i16 0, i16 4104, i16 4107, i16 0, i16 1434, i16 8078, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4108, i16 8079, i16 8088, i16 0, i16 8080, i16 0, i16 8081, i16 8082, i16 0, i16 8083, i16 8084, i16 8085, i16 8086, i16 0, i16 12940, i16 0, i16 12941, i16 12942, i16 12943, i16 6973, i16 6971, i16 2544, i16 12944, i16 12945, i16 0, i16 0, i16 0, i16 12946, i16 12947, i16 12948, i16 0, i16 3363, i16 12949, i16 12950, i16 0, i16 12951, i16 3623, i16 12952, i16 0, i16 6975, i16 12953, i16 12960, i16 12954, i16 12955, i16 12956, i16 0, i16 654, i16 7143, i16 7144, i16 7145, i16 7146, i16 7147, i16 7148, i16 7149, i16 7150, i16 7151, i16 7152, i16 7153, i16 0, i16 7154, i16 7155, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 0, i16 1423, i16 6557, i16 0, i16 6558, i16 12078, i16 0, i16 0, i16 3179, i16 0, i16 0, i16 12081, i16 0, i16 1079, i16 0, i16 12082, i16 12083, i16 0, i16 0, i16 0, i16 12084, i16 3496, i16 12080, i16 1340, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2771, i16 12085, i16 12086, i16 0, i16 10127, i16 5350, i16 0, i16 0, i16 10128, i16 5345, i16 5346, i16 0, i16 5349, i16 5348, i16 3100, i16 0, i16 0, i16 2377, i16 2376, i16 10129, i16 1246, i16 10130, i16 10131, i16 5351, i16 10132, i16 0, i16 0, i16 0, i16 10133, i16 5352, i16 0, i16 10134, i16 5353, i16 0, i16 0, i16 0, i16 11407, i16 0, i16 11408, i16 0, i16 6142, i16 0, i16 0, i16 11409, i16 6143, i16 0, i16 0, i16 0, i16 0, i16 11410, i16 11411, i16 0, i16 11412, i16 11413, i16 0, i16 6138, i16 0, i16 0, i16 6140, i16 0, i16 11414, i16 11415, i16 6141, i16 11416, i16 11417, i16 11418, i16 6139, i16 0, i16 5010, i16 5007, i16 3535, i16 0, i16 9507, i16 9508, i16 9509, i16 2657, i16 9510, i16 0, i16 0, i16 2870, i16 5008, i16 0, i16 0, i16 5016, i16 0, i16 5015, i16 1406, i16 9511, i16 9512, i16 946, i16 9513, i16 9514, i16 1712, i16 5009, i16 5011, i16 9515, i16 0, i16 0, i16 9516, i16 0, i16 8851, i16 8852, i16 8853, i16 8854, i16 0, i16 8855, i16 0, i16 0, i16 2447, i16 8856, i16 8857, i16 1790, i16 4606, i16 8858, i16 4608, i16 4604, i16 0, i16 8859, i16 8860, i16 8861, i16 3254, i16 0, i16 2654, i16 8862, i16 0, i16 0, i16 8863, i16 2403, i16 0, i16 0, i16 0, i16 0, i16 11163, i16 0, i16 6002, i16 2839, i16 0, i16 11164, i16 6007, i16 0, i16 0, i16 11165, i16 6004, i16 3291, i16 6010, i16 809, i16 11166, i16 0, i16 11167, i16 0, i16 5998, i16 0, i16 11168, i16 0, i16 0, i16 0, i16 11169, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3228, i16 2651, i16 1687, i16 0, i16 1655, i16 2038, i16 12619, i16 2215, i16 0, i16 12620, i16 0, i16 6801, i16 12622, i16 12623, i16 6800, i16 3505, i16 1193, i16 3051, i16 2873, i16 12624, i16 0, i16 12625, i16 2247, i16 3611, i16 12621, i16 1462, i16 0, i16 12626, i16 0, i16 12627, i16 0, i16 0, i16 4765, i16 0, i16 0, i16 0, i16 9146, i16 4768, i16 9147, i16 9148, i16 2244, i16 0, i16 0, i16 9149, i16 0, i16 3562, i16 786, i16 1749, i16 2465, i16 0, i16 1934, i16 9150, i16 9151, i16 2144, i16 0, i16 0, i16 4771, i16 0, i16 0, i16 2765, i16 9152, i16 4769, i16 2448, i16 0, i16 3230, i16 8167, i16 0, i16 8165, i16 4143, i16 0, i16 2568, i16 8168, i16 0, i16 1018, i16 0, i16 2138, i16 8169, i16 8170, i16 0, i16 8171, i16 4145, i16 8172, i16 4144, i16 8173, i16 1663, i16 8174, i16 4146, i16 4148, i16 4147, i16 8175, i16 0, i16 4150, i16 8176, i16 4139, i16 4152, i16 0, i16 6046, i16 0, i16 0, i16 0, i16 0, i16 11204, i16 0, i16 11205, i16 11206, i16 11207, i16 0, i16 0, i16 6024, i16 0, i16 11208, i16 0, i16 11209, i16 1114, i16 0, i16 11210, i16 0, i16 0, i16 0, i16 2149, i16 6035, i16 11211, i16 6040, i16 2426, i16 11212, i16 11213, i16 6036, i16 0, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 0, i16 6047, i16 11241, i16 11242, i16 11243, i16 11244, i16 2678, i16 11245, i16 0, i16 0, i16 11246, i16 11247, i16 6052, i16 839, i16 0, i16 11248, i16 0, i16 0, i16 11229, i16 11249, i16 11250, i16 2439, i16 11251, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3224, i16 0, i16 11252, i16 0, i16 9892, i16 1333, i16 5243, i16 5245, i16 0, i16 5244, i16 9893, i16 0, i16 9894, i16 0, i16 0, i16 9895, i16 0, i16 5246, i16 0, i16 1546, i16 0, i16 5247, i16 0, i16 0, i16 9896, i16 9897, i16 1382, i16 9898, i16 2375, i16 0, i16 1684, i16 0, i16 0, i16 0, i16 9899, i16 0, i16 10918, i16 0, i16 0, i16 5849, i16 5851, i16 5850, i16 3006, i16 10919, i16 2902, i16 0, i16 3689, i16 3010, i16 0, i16 10920, i16 0, i16 0, i16 0, i16 0, i16 5853, i16 0, i16 0, i16 2112, i16 0, i16 3105, i16 0, i16 5854, i16 5852, i16 10921, i16 1167, i16 10922, i16 0, i16 0, i16 7848, i16 3986, i16 0, i16 3995, i16 3988, i16 7849, i16 7850, i16 3992, i16 7851, i16 7852, i16 3993, i16 3989, i16 7853, i16 7854, i16 4022, i16 0, i16 7855, i16 1758, i16 1044, i16 0, i16 0, i16 0, i16 7856, i16 3987, i16 7857, i16 7858, i16 7859, i16 3997, i16 831, i16 3996, i16 7860, i16 0, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 458, i16 459, i16 460, i16 461, i16 0, i16 3248, i16 8554, i16 4385, i16 3673, i16 0, i16 8555, i16 8556, i16 8557, i16 4386, i16 3221, i16 4389, i16 3711, i16 3727, i16 8558, i16 1889, i16 2898, i16 4390, i16 0, i16 1276, i16 2629, i16 835, i16 4391, i16 3195, i16 1607, i16 8559, i16 0, i16 2579, i16 8560, i16 8561, i16 0, i16 2704, i16 0, i16 3000, i16 0, i16 12729, i16 2481, i16 895, i16 1387, i16 0, i16 1388, i16 12730, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2614, i16 6858, i16 1389, i16 12731, i16 12732, i16 1012, i16 0, i16 0, i16 6857, i16 12733, i16 12734, i16 6855, i16 12735, i16 6856, i16 12736, i16 6854, i16 0, i16 3513, i16 4657, i16 0, i16 8965, i16 4653, i16 0, i16 4654, i16 0, i16 8966, i16 8967, i16 8968, i16 8969, i16 2407, i16 8970, i16 0, i16 8971, i16 8972, i16 4652, i16 0, i16 4587, i16 8973, i16 0, i16 8974, i16 4656, i16 0, i16 4651, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6334, i16 11726, i16 11727, i16 11728, i16 11729, i16 11730, i16 0, i16 11731, i16 6338, i16 0, i16 0, i16 6335, i16 11736, i16 6337, i16 6336, i16 0, i16 0, i16 11732, i16 11733, i16 11734, i16 0, i16 6339, i16 0, i16 1890, i16 11735, i16 6341, i16 6340, i16 3167, i16 0, i16 11737, i16 6343, i16 0, i16 11198, i16 6026, i16 0, i16 6021, i16 11199, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2114, i16 0, i16 0, i16 0, i16 0, i16 1982, i16 0, i16 11200, i16 11201, i16 1885, i16 11202, i16 0, i16 0, i16 0, i16 3433, i16 0, i16 0, i16 3134, i16 0, i16 11203, i16 6037, i16 0, i16 6591, i16 0, i16 2689, i16 12170, i16 12171, i16 3336, i16 1401, i16 0, i16 12172, i16 12173, i16 0, i16 12174, i16 12175, i16 12176, i16 12177, i16 12178, i16 12179, i16 0, i16 0, i16 0, i16 6594, i16 6595, i16 12180, i16 0, i16 12181, i16 0, i16 12182, i16 6593, i16 12183, i16 0, i16 6597, i16 0, i16 3009, i16 4355, i16 3219, i16 4356, i16 0, i16 0, i16 0, i16 8521, i16 0, i16 8522, i16 8523, i16 8524, i16 8525, i16 8526, i16 0, i16 8527, i16 0, i16 1140, i16 3220, i16 2922, i16 4358, i16 4359, i16 0, i16 1603, i16 1141, i16 4360, i16 1521, i16 3507, i16 3480, i16 1207, i16 4362, i16 0, i16 3526, i16 0, i16 6257, i16 0, i16 0, i16 3193, i16 2945, i16 6258, i16 11600, i16 6259, i16 1508, i16 0, i16 11601, i16 0, i16 1227, i16 11602, i16 0, i16 0, i16 6260, i16 11603, i16 11604, i16 1854, i16 2940, i16 6261, i16 0, i16 1075, i16 11605, i16 11606, i16 0, i16 0, i16 11607, i16 0, i16 3783, i16 7516, i16 3268, i16 2576, i16 3779, i16 1484, i16 7517, i16 3776, i16 3784, i16 3778, i16 3614, i16 3785, i16 3692, i16 7518, i16 0, i16 7519, i16 0, i16 7520, i16 7521, i16 0, i16 7522, i16 1379, i16 0, i16 0, i16 1483, i16 0, i16 7546, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9159, i16 0, i16 0, i16 9160, i16 4783, i16 0, i16 3091, i16 0, i16 4774, i16 0, i16 4780, i16 4779, i16 0, i16 9161, i16 9162, i16 2296, i16 9163, i16 0, i16 9164, i16 0, i16 3360, i16 9165, i16 3616, i16 9166, i16 9167, i16 3354, i16 9168, i16 977, i16 1841, i16 0, i16 0, i16 0, i16 7112, i16 302, i16 303, i16 7120, i16 0, i16 7113, i16 309, i16 236, i16 7117, i16 7116, i16 0, i16 340, i16 0, i16 7118, i16 7106, i16 296, i16 283, i16 0, i16 0, i16 234, i16 0, i16 367, i16 0, i16 7103, i16 0, i16 7115, i16 0, i16 0, i16 0, i16 0, i16 7114, i16 0, i16 8138, i16 4127, i16 0, i16 8139, i16 0, i16 0, i16 8140, i16 8141, i16 925, i16 0, i16 2741, i16 0, i16 0, i16 0, i16 0, i16 4129, i16 0, i16 4125, i16 0, i16 0, i16 2203, i16 0, i16 0, i16 8142, i16 4133, i16 0, i16 0, i16 8143, i16 0, i16 2013, i16 8144, i16 0, i16 972, i16 4211, i16 0, i16 8307, i16 0, i16 8308, i16 0, i16 8309, i16 1900, i16 0, i16 4210, i16 1492, i16 0, i16 0, i16 8310, i16 4224, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4217, i16 4214, i16 0, i16 0, i16 8311, i16 0, i16 8312, i16 0, i16 0, i16 0, i16 0, i16 6865, i16 12747, i16 12748, i16 12749, i16 6867, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12750, i16 12751, i16 0, i16 1234, i16 6866, i16 12752, i16 12753, i16 2434, i16 1516, i16 0, i16 0, i16 12754, i16 0, i16 0, i16 6869, i16 0, i16 0, i16 0, i16 0, i16 12755, i16 0, i16 0, i16 10449, i16 0, i16 0, i16 0, i16 0, i16 1305, i16 5518, i16 10450, i16 10451, i16 5520, i16 10452, i16 0, i16 0, i16 5521, i16 10453, i16 2916, i16 10454, i16 0, i16 5522, i16 10455, i16 0, i16 0, i16 0, i16 10456, i16 5523, i16 5524, i16 10457, i16 0, i16 1366, i16 984, i16 2850, i16 0, i16 9683, i16 9684, i16 0, i16 2032, i16 0, i16 5139, i16 0, i16 9685, i16 0, i16 0, i16 0, i16 9686, i16 5132, i16 2637, i16 5129, i16 2682, i16 0, i16 0, i16 0, i16 5164, i16 0, i16 0, i16 0, i16 5126, i16 0, i16 5125, i16 0, i16 5134, i16 9687, i16 9688, i16 0, i16 0, i16 12499, i16 840, i16 2211, i16 2059, i16 1178, i16 6721, i16 0, i16 0, i16 0, i16 2977, i16 0, i16 6723, i16 0, i16 12500, i16 0, i16 841, i16 0, i16 6722, i16 2661, i16 12501, i16 3610, i16 2824, i16 6716, i16 3571, i16 0, i16 1514, i16 12502, i16 12503, i16 3530, i16 12504, i16 12505, i16 0, i16 6357, i16 0, i16 0, i16 0, i16 11760, i16 2819, i16 11761, i16 6359, i16 11762, i16 3296, i16 11763, i16 6360, i16 0, i16 6361, i16 11764, i16 6362, i16 11765, i16 0, i16 11766, i16 11767, i16 6363, i16 0, i16 11768, i16 11769, i16 11772, i16 2871, i16 11770, i16 0, i16 11771, i16 0, i16 0, i16 0, i16 11480, i16 0, i16 11481, i16 0, i16 6158, i16 11482, i16 0, i16 0, i16 11483, i16 11484, i16 11485, i16 0, i16 6178, i16 6182, i16 6177, i16 11486, i16 6184, i16 11488, i16 11489, i16 11490, i16 6186, i16 6185, i16 0, i16 11491, i16 11487, i16 11492, i16 11493, i16 11494, i16 0, i16 11495, i16 11496, i16 0, i16 12506, i16 12507, i16 12508, i16 12509, i16 1398, i16 3585, i16 0, i16 1411, i16 12510, i16 2503, i16 5873, i16 0, i16 6724, i16 1039, i16 2234, i16 0, i16 12511, i16 0, i16 0, i16 1081, i16 6726, i16 12512, i16 6727, i16 6725, i16 1471, i16 12513, i16 1746, i16 2128, i16 12514, i16 0, i16 12515, i16 0, i16 3548, i16 773, i16 5703, i16 0, i16 10730, i16 1290, i16 10731, i16 5700, i16 0, i16 10732, i16 0, i16 0, i16 0, i16 5701, i16 0, i16 10733, i16 2812, i16 5699, i16 5696, i16 0, i16 1035, i16 2317, i16 0, i16 10734, i16 1505, i16 10735, i16 10736, i16 0, i16 5708, i16 0, i16 10737, i16 0, i16 13021, i16 0, i16 0, i16 7014, i16 0, i16 0, i16 0, i16 0, i16 7015, i16 13022, i16 7010, i16 13023, i16 0, i16 13024, i16 6990, i16 0, i16 13025, i16 7016, i16 0, i16 2690, i16 13026, i16 0, i16 0, i16 7020, i16 13027, i16 7021, i16 7019, i16 13028, i16 0, i16 0, i16 13029, i16 0, i16 9187, i16 4794, i16 0, i16 4791, i16 0, i16 9188, i16 4799, i16 0, i16 4789, i16 0, i16 0, i16 4787, i16 0, i16 4795, i16 4785, i16 9189, i16 2607, i16 9190, i16 3465, i16 1911, i16 1769, i16 9191, i16 9192, i16 0, i16 9176, i16 0, i16 1711, i16 0, i16 0, i16 3362, i16 1060, i16 0, i16 3044, i16 0, i16 5746, i16 10797, i16 10798, i16 5741, i16 10799, i16 0, i16 0, i16 2344, i16 1453, i16 0, i16 1978, i16 10800, i16 0, i16 10801, i16 0, i16 10802, i16 0, i16 2160, i16 2365, i16 5752, i16 0, i16 10803, i16 5754, i16 5755, i16 0, i16 0, i16 5751, i16 5753, i16 10804, i16 0, i16 231, i16 0, i16 305, i16 301, i16 304, i16 306, i16 0, i16 263, i16 264, i16 307, i16 281, i16 225, i16 0, i16 226, i16 252, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 228, i16 229, i16 288, i16 286, i16 289, i16 230, i16 0, i16 3568, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11549, i16 6229, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11550, i16 11551, i16 11552, i16 6230, i16 2117, i16 6228, i16 11553, i16 0, i16 11554, i16 3542, i16 6225, i16 0, i16 0, i16 6227, i16 2278, i16 2249, i16 0, i16 0, i16 3824, i16 0, i16 7611, i16 0, i16 0, i16 0, i16 7612, i16 7613, i16 0, i16 3476, i16 0, i16 7614, i16 7615, i16 0, i16 7616, i16 0, i16 7617, i16 3434, i16 7618, i16 7619, i16 7620, i16 0, i16 3826, i16 7621, i16 7622, i16 3825, i16 3828, i16 3827, i16 0, i16 0, i16 3829, i16 0, i16 8177, i16 8178, i16 0, i16 4151, i16 4149, i16 0, i16 0, i16 0, i16 8179, i16 0, i16 1825, i16 2204, i16 0, i16 2395, i16 4153, i16 2277, i16 822, i16 2975, i16 8180, i16 0, i16 0, i16 0, i16 2684, i16 0, i16 4155, i16 4154, i16 4156, i16 4157, i16 4158, i16 0, i16 0, i16 0, i16 7922, i16 0, i16 7923, i16 4038, i16 4036, i16 7924, i16 4093, i16 0, i16 7925, i16 0, i16 7926, i16 7927, i16 0, i16 7928, i16 0, i16 0, i16 7929, i16 7930, i16 7931, i16 4041, i16 0, i16 0, i16 7932, i16 7933, i16 0, i16 4035, i16 7934, i16 4039, i16 0, i16 7935, i16 4037, i16 0, i16 8434, i16 0, i16 0, i16 0, i16 0, i16 8435, i16 2237, i16 0, i16 0, i16 0, i16 4302, i16 0, i16 8436, i16 1759, i16 0, i16 0, i16 4308, i16 8437, i16 0, i16 4309, i16 4303, i16 1046, i16 4304, i16 4313, i16 4312, i16 4311, i16 4307, i16 0, i16 0, i16 0, i16 4306, i16 0, i16 10738, i16 10739, i16 10740, i16 0, i16 10741, i16 10742, i16 0, i16 10743, i16 5705, i16 0, i16 10744, i16 10745, i16 10746, i16 0, i16 5707, i16 0, i16 10747, i16 0, i16 5704, i16 0, i16 0, i16 10748, i16 10749, i16 0, i16 1452, i16 2456, i16 5709, i16 2421, i16 10750, i16 10751, i16 5722, i16 0, i16 10227, i16 5421, i16 2961, i16 0, i16 10228, i16 3346, i16 0, i16 885, i16 10229, i16 894, i16 10230, i16 10231, i16 5422, i16 10232, i16 0, i16 0, i16 0, i16 5424, i16 0, i16 10233, i16 0, i16 5423, i16 2799, i16 0, i16 10234, i16 0, i16 2274, i16 4957, i16 0, i16 5425, i16 3410, i16 0, i16 9460, i16 0, i16 9461, i16 0, i16 0, i16 9462, i16 9463, i16 0, i16 0, i16 0, i16 4993, i16 4992, i16 0, i16 9464, i16 4995, i16 0, i16 9465, i16 0, i16 4994, i16 0, i16 0, i16 0, i16 9466, i16 0, i16 9467, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9468, i16 0, i16 5109, i16 0, i16 0, i16 0, i16 1156, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9674, i16 0, i16 9675, i16 9676, i16 9677, i16 1476, i16 0, i16 0, i16 9678, i16 5135, i16 9679, i16 9680, i16 5130, i16 2337, i16 9681, i16 9682, i16 1094, i16 0, i16 4855, i16 4834, i16 4854, i16 0, i16 4847, i16 4835, i16 0, i16 4851, i16 0, i16 4852, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4869, i16 9275, i16 0, i16 9276, i16 2859, i16 9277, i16 4842, i16 0, i16 9278, i16 4865, i16 0, i16 9279, i16 0, i16 4867, i16 0, i16 2681, i16 0, i16 3579, i16 0, i16 0, i16 2145, i16 2334, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9557, i16 0, i16 5048, i16 5046, i16 0, i16 3140, i16 0, i16 9558, i16 9559, i16 0, i16 8956, i16 0, i16 8957, i16 2736, i16 4647, i16 8958, i16 0, i16 8959, i16 4648, i16 0, i16 3174, i16 8960, i16 2944, i16 1782, i16 0, i16 2330, i16 0, i16 3331, i16 8961, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1068, i16 0, i16 4655, i16 4650, i16 8962, i16 8963, i16 8964, i16 0, i16 8190, i16 3397, i16 8191, i16 8192, i16 4164, i16 0, i16 2508, i16 8193, i16 2742, i16 2469, i16 3150, i16 4165, i16 4166, i16 930, i16 8194, i16 8195, i16 1899, i16 4167, i16 8196, i16 0, i16 8197, i16 8198, i16 793, i16 4168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4169, i16 8199, i16 0, i16 12543, i16 12544, i16 12545, i16 6755, i16 0, i16 0, i16 3401, i16 12546, i16 0, i16 6756, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6757, i16 12547, i16 3669, i16 12548, i16 0, i16 0, i16 0, i16 0, i16 4761, i16 6758, i16 0, i16 0, i16 0, i16 6759, i16 6760, i16 0, i16 11520, i16 1644, i16 6199, i16 810, i16 11521, i16 0, i16 0, i16 0, i16 3124, i16 11522, i16 0, i16 6200, i16 0, i16 0, i16 0, i16 0, i16 2229, i16 11523, i16 6207, i16 0, i16 0, i16 6204, i16 0, i16 2610, i16 0, i16 11524, i16 0, i16 11525, i16 0, i16 6205, i16 6202, i16 1371, i16 5889, i16 0, i16 10986, i16 5892, i16 5891, i16 0, i16 0, i16 0, i16 3319, i16 5895, i16 0, i16 0, i16 0, i16 0, i16 10987, i16 0, i16 5896, i16 0, i16 10988, i16 2366, i16 10989, i16 5897, i16 0, i16 0, i16 5899, i16 0, i16 5903, i16 10990, i16 0, i16 5900, i16 5898, i16 2938, i16 6145, i16 11425, i16 0, i16 6156, i16 11426, i16 11427, i16 993, i16 0, i16 6152, i16 0, i16 6157, i16 0, i16 0, i16 0, i16 6153, i16 11428, i16 0, i16 11429, i16 11430, i16 0, i16 6150, i16 0, i16 2644, i16 0, i16 6147, i16 0, i16 0, i16 11431, i16 0, i16 0, i16 0, i16 2979, i16 11265, i16 11266, i16 11267, i16 6058, i16 11268, i16 0, i16 0, i16 0, i16 3706, i16 2815, i16 3178, i16 11269, i16 0, i16 6071, i16 0, i16 11270, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6077, i16 0, i16 11271, i16 11272, i16 11273, i16 0, i16 11274, i16 6078, i16 11275, i16 12802, i16 0, i16 6898, i16 6899, i16 12803, i16 12804, i16 6900, i16 12805, i16 0, i16 12806, i16 3018, i16 6902, i16 12807, i16 3101, i16 6903, i16 6901, i16 0, i16 6905, i16 12808, i16 12809, i16 6904, i16 12810, i16 0, i16 6906, i16 0, i16 12811, i16 12812, i16 6907, i16 0, i16 12813, i16 0, i16 12814, i16 4611, i16 0, i16 8875, i16 2404, i16 8876, i16 0, i16 0, i16 8877, i16 1961, i16 4616, i16 8878, i16 0, i16 2085, i16 0, i16 4610, i16 4615, i16 8879, i16 0, i16 2958, i16 0, i16 8880, i16 8881, i16 4609, i16 0, i16 1404, i16 8882, i16 8883, i16 1088, i16 0, i16 0, i16 8884, i16 4617, i16 4100, i16 0, i16 1753, i16 0, i16 0, i16 8052, i16 8053, i16 1358, i16 0, i16 0, i16 3306, i16 0, i16 8054, i16 8055, i16 4098, i16 4101, i16 1718, i16 1594, i16 8056, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9732, i16 0, i16 0, i16 9733, i16 0, i16 0, i16 2616, i16 2514, i16 0, i16 0, i16 0, i16 0, i16 2254, i16 0, i16 0, i16 9734, i16 5168, i16 0, i16 5170, i16 0, i16 9735, i16 0, i16 0, i16 9736, i16 0, i16 9737, i16 0, i16 0, i16 9738, i16 0, i16 5169, i16 0, i16 10244, i16 2103, i16 0, i16 0, i16 5434, i16 0, i16 10245, i16 5433, i16 5432, i16 3094, i16 10246, i16 1160, i16 1506, i16 0, i16 10247, i16 0, i16 0, i16 0, i16 10248, i16 0, i16 10249, i16 10250, i16 0, i16 10251, i16 0, i16 10252, i16 10253, i16 5440, i16 10254, i16 0, i16 5437, i16 2186, i16 7429, i16 0, i16 0, i16 7447, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3758, i16 7448, i16 0, i16 7449, i16 0, i16 7450, i16 3761, i16 3759, i16 7451, i16 0, i16 967, i16 0, i16 3216, i16 3753, i16 7452, i16 7453, i16 7454, i16 7455, i16 3757, i16 1580, i16 7456, i16 7457, i16 1819, i16 12293, i16 12294, i16 0, i16 12295, i16 2058, i16 12296, i16 0, i16 12297, i16 12298, i16 6620, i16 3252, i16 0, i16 12299, i16 891, i16 12300, i16 0, i16 12301, i16 0, i16 3133, i16 2613, i16 0, i16 0, i16 0, i16 0, i16 1303, i16 12302, i16 6622, i16 12303, i16 1652, i16 0, i16 0, i16 12304, i16 7686, i16 7687, i16 0, i16 1488, i16 1747, i16 2984, i16 7688, i16 0, i16 0, i16 3888, i16 3886, i16 0, i16 0, i16 0, i16 7689, i16 3186, i16 2135, i16 3895, i16 1095, i16 3889, i16 3887, i16 2390, i16 0, i16 7690, i16 7691, i16 7692, i16 0, i16 0, i16 0, i16 3891, i16 0, i16 3890, i16 11526, i16 6201, i16 6208, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1425, i16 0, i16 0, i16 2499, i16 0, i16 6214, i16 0, i16 0, i16 0, i16 0, i16 6210, i16 0, i16 0, i16 0, i16 2458, i16 6209, i16 11527, i16 6212, i16 11528, i16 11529, i16 11530, i16 0, i16 6203, i16 11531, i16 4103, i16 0, i16 0, i16 4114, i16 0, i16 0, i16 4115, i16 8095, i16 8096, i16 0, i16 0, i16 3351, i16 8097, i16 0, i16 2136, i16 8098, i16 0, i16 0, i16 4117, i16 4118, i16 4116, i16 8099, i16 4120, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2931, i16 8100, i16 8101, i16 817, i16 5383, i16 5384, i16 5385, i16 10177, i16 5386, i16 10178, i16 10179, i16 5382, i16 0, i16 10180, i16 0, i16 0, i16 0, i16 10181, i16 0, i16 0, i16 5388, i16 0, i16 10182, i16 10183, i16 5387, i16 10184, i16 0, i16 0, i16 10185, i16 10186, i16 10187, i16 5389, i16 10188, i16 0, i16 0, i16 0, i16 11015, i16 5917, i16 5918, i16 11016, i16 0, i16 5919, i16 0, i16 5920, i16 1338, i16 4660, i16 5921, i16 0, i16 2318, i16 5922, i16 1916, i16 11017, i16 5923, i16 0, i16 3726, i16 11018, i16 11019, i16 0, i16 5924, i16 3251, i16 1181, i16 11020, i16 11021, i16 2347, i16 2023, i16 11022, i16 3176, i16 1981, i16 5128, i16 5127, i16 5133, i16 9689, i16 2250, i16 0, i16 5124, i16 9690, i16 9691, i16 0, i16 0, i16 9692, i16 9693, i16 9694, i16 5136, i16 0, i16 9695, i16 5137, i16 9696, i16 9697, i16 9698, i16 0, i16 9699, i16 1155, i16 0, i16 0, i16 9700, i16 0, i16 0, i16 0, i16 0, i16 9701, i16 8457, i16 8458, i16 8459, i16 0, i16 8460, i16 0, i16 0, i16 0, i16 0, i16 2238, i16 8461, i16 0, i16 4318, i16 8462, i16 0, i16 1708, i16 8463, i16 0, i16 0, i16 4319, i16 0, i16 0, i16 4320, i16 0, i16 0, i16 8464, i16 8465, i16 0, i16 0, i16 0, i16 8466, i16 8467, i16 2314, i16 5617, i16 10602, i16 0, i16 3048, i16 10603, i16 5621, i16 3240, i16 10604, i16 2590, i16 10605, i16 5616, i16 5618, i16 0, i16 0, i16 5619, i16 0, i16 0, i16 0, i16 0, i16 10606, i16 0, i16 10607, i16 10608, i16 0, i16 10609, i16 10610, i16 10611, i16 0, i16 5622, i16 0, i16 0, i16 13066, i16 7038, i16 13067, i16 13068, i16 13069, i16 13070, i16 0, i16 13071, i16 7039, i16 0, i16 0, i16 7040, i16 7041, i16 0, i16 13072, i16 13073, i16 0, i16 7044, i16 7042, i16 3687, i16 0, i16 7043, i16 13074, i16 3644, i16 13075, i16 0, i16 0, i16 13076, i16 0, i16 7045, i16 13077, i16 3624, i16 4363, i16 0, i16 8531, i16 0, i16 8532, i16 8533, i16 2776, i16 1719, i16 8534, i16 0, i16 8535, i16 1540, i16 8536, i16 2702, i16 0, i16 0, i16 0, i16 8537, i16 0, i16 8538, i16 0, i16 780, i16 2045, i16 1606, i16 3510, i16 0, i16 0, i16 0, i16 0, i16 8539, i16 8540, i16 8541, i16 6667, i16 12430, i16 6668, i16 12431, i16 0, i16 0, i16 0, i16 0, i16 12432, i16 0, i16 6670, i16 12433, i16 0, i16 12434, i16 12435, i16 12436, i16 6672, i16 12437, i16 12438, i16 0, i16 0, i16 6673, i16 0, i16 6674, i16 0, i16 0, i16 0, i16 0, i16 6677, i16 6675, i16 6678, i16 6680, i16 2572, i16 9363, i16 0, i16 9364, i16 4930, i16 0, i16 9365, i16 9366, i16 0, i16 9367, i16 0, i16 9368, i16 0, i16 4928, i16 1570, i16 0, i16 4927, i16 9369, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4933, i16 0, i16 0, i16 0, i16 9370, i16 4800, i16 9371, i16 9372, i16 9373, i16 3340, i16 0, i16 2831, i16 8114, i16 8115, i16 1491, i16 2484, i16 0, i16 8116, i16 8117, i16 4119, i16 4122, i16 8119, i16 8120, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2473, i16 0, i16 0, i16 0, i16 4123, i16 0, i16 8121, i16 0, i16 4124, i16 8122, i16 8123, i16 7436, i16 0, i16 7437, i16 2674, i16 0, i16 0, i16 2533, i16 3752, i16 7438, i16 7439, i16 0, i16 7440, i16 7441, i16 789, i16 2692, i16 1994, i16 1705, i16 3475, i16 7442, i16 2483, i16 7443, i16 964, i16 7444, i16 3751, i16 7445, i16 3501, i16 3747, i16 3749, i16 1763, i16 3750, i16 4184, i16 7446, i16 11532, i16 0, i16 6213, i16 0, i16 6215, i16 0, i16 0, i16 0, i16 11533, i16 0, i16 11534, i16 3080, i16 0, i16 0, i16 6211, i16 0, i16 6216, i16 6218, i16 0, i16 0, i16 1548, i16 6206, i16 0, i16 778, i16 0, i16 0, i16 11535, i16 0, i16 0, i16 11536, i16 11537, i16 6217, i16 4109, i16 8087, i16 1595, i16 1059, i16 4111, i16 0, i16 0, i16 8089, i16 8090, i16 8091, i16 4112, i16 0, i16 8092, i16 0, i16 0, i16 0, i16 4113, i16 0, i16 0, i16 4110, i16 0, i16 0, i16 0, i16 0, i16 8093, i16 0, i16 0, i16 0, i16 0, i16 8094, i16 0, i16 0, i16 5901, i16 0, i16 5902, i16 10992, i16 0, i16 10993, i16 951, i16 0, i16 5909, i16 5904, i16 10994, i16 10991, i16 0, i16 5905, i16 10995, i16 10996, i16 0, i16 5906, i16 0, i16 2438, i16 0, i16 10997, i16 0, i16 10998, i16 5908, i16 5907, i16 5910, i16 10999, i16 0, i16 11000, i16 11001, i16 5911, i16 7693, i16 0, i16 7694, i16 1063, i16 0, i16 7695, i16 0, i16 1467, i16 3896, i16 3578, i16 7696, i16 0, i16 7697, i16 3892, i16 0, i16 0, i16 0, i16 3897, i16 3894, i16 7698, i16 3893, i16 7699, i16 7700, i16 7701, i16 7702, i16 0, i16 7703, i16 3612, i16 7704, i16 0, i16 0, i16 1586, i16 10510, i16 5545, i16 5546, i16 2148, i16 0, i16 10511, i16 0, i16 10512, i16 0, i16 5547, i16 10513, i16 1074, i16 0, i16 10514, i16 0, i16 0, i16 5549, i16 0, i16 0, i16 0, i16 1477, i16 10515, i16 1285, i16 0, i16 10516, i16 5550, i16 1394, i16 0, i16 0, i16 5551, i16 10517, i16 2341, i16 2063, i16 1318, i16 0, i16 3924, i16 0, i16 7751, i16 0, i16 7752, i16 7753, i16 7754, i16 3060, i16 7755, i16 7756, i16 7757, i16 0, i16 3925, i16 7758, i16 3926, i16 7759, i16 3927, i16 0, i16 7760, i16 0, i16 0, i16 3928, i16 3099, i16 1381, i16 814, i16 7761, i16 7762, i16 7763, i16 2844, i16 4623, i16 8891, i16 0, i16 2460, i16 4629, i16 8892, i16 4624, i16 0, i16 8893, i16 4626, i16 0, i16 0, i16 0, i16 0, i16 8894, i16 3128, i16 2708, i16 8895, i16 4627, i16 8896, i16 8897, i16 8898, i16 3483, i16 0, i16 0, i16 0, i16 3511, i16 1146, i16 8899, i16 0, i16 0, i16 0, i16 12815, i16 12816, i16 12817, i16 12818, i16 12819, i16 12820, i16 6908, i16 0, i16 12821, i16 12822, i16 0, i16 12823, i16 12824, i16 12825, i16 12826, i16 0, i16 12827, i16 0, i16 12828, i16 0, i16 0, i16 0, i16 12829, i16 0, i16 6909, i16 12830, i16 6910, i16 12831, i16 12832, i16 0, i16 0, i16 6911, i16 5648, i16 0, i16 0, i16 5645, i16 0, i16 0, i16 10645, i16 0, i16 0, i16 0, i16 10646, i16 0, i16 5644, i16 2299, i16 0, i16 5647, i16 5649, i16 10648, i16 10649, i16 10650, i16 5646, i16 10647, i16 5653, i16 0, i16 5650, i16 10651, i16 10652, i16 10653, i16 10654, i16 10655, i16 10656, i16 5651, i16 10000, i16 10001, i16 0, i16 1284, i16 10002, i16 5284, i16 3564, i16 10003, i16 0, i16 3581, i16 10004, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10005, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10006, i16 10007, i16 0, i16 0, i16 0, i16 0, i16 1297, i16 1067, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8830, i16 0, i16 1098, i16 2156, i16 4597, i16 4602, i16 0, i16 4598, i16 8831, i16 1496, i16 8832, i16 4603, i16 1781, i16 1664, i16 0, i16 0, i16 0, i16 0, i16 8833, i16 8834, i16 1973, i16 4585, i16 10769, i16 918, i16 0, i16 0, i16 2889, i16 5731, i16 0, i16 0, i16 10781, i16 5738, i16 5732, i16 5739, i16 0, i16 0, i16 0, i16 0, i16 10782, i16 10783, i16 5735, i16 0, i16 0, i16 10784, i16 0, i16 10785, i16 0, i16 0, i16 0, i16 2998, i16 10786, i16 10787, i16 1915, i16 5737, i16 12305, i16 0, i16 12306, i16 0, i16 0, i16 0, i16 1791, i16 0, i16 12307, i16 0, i16 0, i16 0, i16 0, i16 12308, i16 0, i16 6621, i16 2232, i16 12309, i16 0, i16 0, i16 12310, i16 12311, i16 0, i16 0, i16 2233, i16 6625, i16 6627, i16 0, i16 12312, i16 12313, i16 12314, i16 12315, i16 11538, i16 1744, i16 3651, i16 6219, i16 6220, i16 2428, i16 0, i16 0, i16 0, i16 0, i16 11539, i16 11540, i16 11541, i16 11542, i16 11543, i16 3567, i16 0, i16 11544, i16 11545, i16 11546, i16 6221, i16 3492, i16 0, i16 0, i16 6222, i16 6223, i16 0, i16 11547, i16 3257, i16 6224, i16 11548, i16 1717, i16 1299, i16 2766, i16 9602, i16 5080, i16 5089, i16 760, i16 857, i16 9603, i16 0, i16 958, i16 0, i16 5082, i16 2449, i16 5073, i16 5075, i16 1624, i16 0, i16 0, i16 9604, i16 0, i16 0, i16 0, i16 9605, i16 0, i16 5092, i16 9606, i16 5087, i16 9607, i16 9608, i16 0, i16 5079, i16 0, i16 2323, i16 7769, i16 0, i16 7770, i16 0, i16 7771, i16 1424, i16 0, i16 0, i16 3937, i16 0, i16 0, i16 7772, i16 7773, i16 3938, i16 851, i16 830, i16 1198, i16 7774, i16 2445, i16 1264, i16 3552, i16 0, i16 3941, i16 956, i16 7775, i16 0, i16 3940, i16 0, i16 0, i16 7776, i16 1319, i16 7188, i16 7173, i16 7187, i16 7239, i16 7324, i16 7241, i16 7326, i16 7240, i16 7325, i16 7189, i16 7175, i16 7190, i16 7249, i16 7334, i16 0, i16 0, i16 7248, i16 7333, i16 7177, i16 7192, i16 7251, i16 7336, i16 7253, i16 7338, i16 7252, i16 7337, i16 7254, i16 7339, i16 7255, i16 7340, i16 7257, i16 7342, i16 6165, i16 11458, i16 0, i16 0, i16 6169, i16 0, i16 6172, i16 6171, i16 11459, i16 11460, i16 11461, i16 6163, i16 0, i16 0, i16 11462, i16 0, i16 6166, i16 0, i16 6183, i16 0, i16 0, i16 11463, i16 11464, i16 0, i16 0, i16 11465, i16 11466, i16 0, i16 11467, i16 0, i16 0, i16 11468, i16 2582, i16 0, i16 5005, i16 0, i16 0, i16 0, i16 0, i16 9550, i16 5013, i16 0, i16 5006, i16 9499, i16 0, i16 9500, i16 0, i16 9501, i16 2470, i16 0, i16 1281, i16 5014, i16 9502, i16 0, i16 9503, i16 0, i16 9504, i16 9505, i16 1475, i16 9506, i16 0, i16 1220, i16 5012, i16 0, i16 10518, i16 2858, i16 10519, i16 2313, i16 1770, i16 10520, i16 10521, i16 0, i16 5552, i16 0, i16 10522, i16 10523, i16 0, i16 0, i16 0, i16 0, i16 10524, i16 10525, i16 2597, i16 2418, i16 10526, i16 5554, i16 5556, i16 5553, i16 5555, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10527, i16 1405, i16 12054, i16 12055, i16 12056, i16 2878, i16 0, i16 12057, i16 3297, i16 0, i16 6553, i16 0, i16 1930, i16 0, i16 0, i16 0, i16 0, i16 6554, i16 12058, i16 6555, i16 12059, i16 12060, i16 12061, i16 6556, i16 12062, i16 0, i16 2720, i16 0, i16 0, i16 0, i16 0, i16 12063, i16 12065, i16 0, i16 11287, i16 0, i16 11288, i16 0, i16 6066, i16 11289, i16 2349, i16 11290, i16 6070, i16 1786, i16 2192, i16 1419, i16 3461, i16 11304, i16 3466, i16 2049, i16 0, i16 0, i16 0, i16 0, i16 11291, i16 0, i16 11292, i16 11293, i16 11294, i16 6083, i16 6081, i16 0, i16 11295, i16 11296, i16 11297, i16 11298, i16 3864, i16 3345, i16 7657, i16 0, i16 0, i16 7658, i16 2039, i16 2529, i16 0, i16 3866, i16 2881, i16 0, i16 0, i16 3867, i16 7659, i16 0, i16 3868, i16 1041, i16 7660, i16 7661, i16 7662, i16 3869, i16 1316, i16 7663, i16 2857, i16 929, i16 2015, i16 0, i16 0, i16 3002, i16 3870, i16 0, i16 5912, i16 11002, i16 0, i16 2190, i16 11003, i16 1006, i16 0, i16 5913, i16 3620, i16 0, i16 1884, i16 11004, i16 11005, i16 1980, i16 0, i16 0, i16 11006, i16 11007, i16 11008, i16 1853, i16 2586, i16 11009, i16 11010, i16 0, i16 11011, i16 11012, i16 5914, i16 5915, i16 856, i16 11013, i16 5916, i16 11014, i16 6936, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12883, i16 12884, i16 6937, i16 12885, i16 3361, i16 1792, i16 12886, i16 1775, i16 2358, i16 0, i16 12887, i16 12888, i16 12889, i16 0, i16 6938, i16 0, i16 0, i16 12890, i16 12891, i16 6941, i16 0, i16 12892, i16 12893, i16 0, i16 12894, i16 12895, i16 7960, i16 7961, i16 868, i16 7962, i16 7963, i16 0, i16 7964, i16 0, i16 0, i16 7965, i16 0, i16 7966, i16 2368, i16 7967, i16 4049, i16 7968, i16 4050, i16 0, i16 0, i16 0, i16 7969, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1117, i16 0, i16 0, i16 7970, i16 0, i16 2842, i16 1323, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1002, i16 4296, i16 4301, i16 0, i16 0, i16 4299, i16 8430, i16 3276, i16 3275, i16 8431, i16 8432, i16 0, i16 8433, i16 0, i16 2790, i16 0, i16 0, i16 0, i16 4298, i16 2019, i16 0, i16 4297, i16 0, i16 0, i16 12570, i16 6777, i16 0, i16 0, i16 1110, i16 6775, i16 6779, i16 0, i16 0, i16 12571, i16 0, i16 6780, i16 0, i16 785, i16 0, i16 6781, i16 6782, i16 0, i16 0, i16 0, i16 0, i16 12572, i16 12573, i16 12574, i16 2129, i16 12575, i16 12576, i16 0, i16 6783, i16 0, i16 12577, i16 12578, i16 4891, i16 9304, i16 0, i16 0, i16 0, i16 9305, i16 9306, i16 4888, i16 9307, i16 0, i16 0, i16 9308, i16 0, i16 9309, i16 4876, i16 9310, i16 0, i16 4905, i16 4875, i16 0, i16 4894, i16 0, i16 0, i16 9311, i16 9312, i16 0, i16 9313, i16 4886, i16 9314, i16 0, i16 4881, i16 4878, i16 6939, i16 12896, i16 0, i16 0, i16 0, i16 0, i16 6942, i16 12897, i16 12898, i16 1578, i16 6940, i16 0, i16 0, i16 0, i16 12899, i16 6943, i16 12900, i16 6944, i16 6945, i16 0, i16 6949, i16 0, i16 1789, i16 12901, i16 12902, i16 0, i16 0, i16 2505, i16 0, i16 12903, i16 0, i16 12904, i16 7197, i16 7196, i16 7199, i16 7205, i16 7198, i16 7204, i16 7169, i16 7209, i16 7213, i16 7212, i16 7215, i16 7214, i16 7226, i16 7225, i16 7228, i16 7227, i16 0, i16 7242, i16 7244, i16 7243, i16 7246, i16 7250, i16 7245, i16 284, i16 7176, i16 7261, i16 7260, i16 7263, i16 7262, i16 7276, i16 7179, i16 7193, i16 8734, i16 0, i16 3376, i16 1144, i16 0, i16 4514, i16 0, i16 1440, i16 1047, i16 0, i16 0, i16 4511, i16 8735, i16 0, i16 3589, i16 4513, i16 799, i16 4515, i16 8736, i16 4506, i16 4512, i16 4519, i16 1439, i16 4507, i16 8737, i16 0, i16 0, i16 8738, i16 8739, i16 0, i16 3532, i16 8740, i16 287, i16 350, i16 0, i16 0, i16 0, i16 0, i16 290, i16 291, i16 0, i16 0, i16 352, i16 353, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1311, i16 966, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4185, i16 0, i16 3372, i16 3173, i16 1581, i16 0, i16 0, i16 7475, i16 0, i16 0, i16 2170, i16 3588, i16 7476, i16 0, i16 7477, i16 0, i16 7478, i16 7479, i16 7480, i16 7481, i16 3245, i16 5407, i16 10207, i16 0, i16 5408, i16 2729, i16 10208, i16 1034, i16 1627, i16 5409, i16 0, i16 0, i16 5410, i16 10209, i16 10210, i16 5411, i16 0, i16 1788, i16 0, i16 0, i16 5413, i16 0, i16 10211, i16 5412, i16 0, i16 0, i16 5414, i16 5415, i16 10212, i16 10213, i16 10214, i16 0, i16 10215, i16 8479, i16 0, i16 4324, i16 0, i16 0, i16 0, i16 0, i16 8480, i16 0, i16 0, i16 0, i16 8481, i16 4326, i16 0, i16 4327, i16 0, i16 8482, i16 0, i16 12526, i16 0, i16 8483, i16 0, i16 0, i16 4330, i16 8484, i16 8485, i16 3635, i16 0, i16 4331, i16 4328, i16 0, i16 0, i16 11039, i16 0, i16 5936, i16 11040, i16 5935, i16 0, i16 1168, i16 11041, i16 5937, i16 0, i16 5938, i16 5939, i16 0, i16 11042, i16 1702, i16 3606, i16 0, i16 5941, i16 2162, i16 0, i16 11043, i16 0, i16 919, i16 5942, i16 5943, i16 0, i16 0, i16 11044, i16 0, i16 11045, i16 5944, i16 11046, i16 2080, i16 4375, i16 4374, i16 4370, i16 0, i16 8552, i16 0, i16 0, i16 4376, i16 4377, i16 0, i16 8553, i16 4378, i16 0, i16 0, i16 0, i16 4381, i16 4379, i16 0, i16 4380, i16 4382, i16 0, i16 907, i16 2703, i16 4383, i16 0, i16 1493, i16 1019, i16 2929, i16 0, i16 4384, i16 2904, i16 6176, i16 0, i16 11469, i16 11470, i16 11471, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11472, i16 11473, i16 0, i16 11474, i16 0, i16 6174, i16 0, i16 11475, i16 6175, i16 11476, i16 0, i16 0, i16 6180, i16 6181, i16 11477, i16 1037, i16 11478, i16 1249, i16 0, i16 0, i16 6179, i16 11479, i16 6688, i16 12452, i16 1177, i16 1080, i16 1653, i16 3023, i16 12453, i16 6690, i16 6689, i16 12454, i16 0, i16 12455, i16 12456, i16 6691, i16 0, i16 0, i16 0, i16 0, i16 899, i16 0, i16 12457, i16 0, i16 12458, i16 0, i16 0, i16 6694, i16 12459, i16 6693, i16 6692, i16 12460, i16 6695, i16 12461, i16 10528, i16 0, i16 0, i16 10529, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5557, i16 1409, i16 0, i16 10530, i16 0, i16 1286, i16 3521, i16 5559, i16 0, i16 0, i16 10531, i16 0, i16 10532, i16 5560, i16 0, i16 0, i16 10533, i16 853, i16 10534, i16 10535, i16 0, i16 0, i16 5563, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 12833, i16 0, i16 6912, i16 6913, i16 0, i16 6914, i16 12834, i16 6915, i16 6916, i16 6917, i16 6918, i16 12835, i16 0, i16 12836, i16 6919, i16 6920, i16 0, i16 4953, i16 6921, i16 12837, i16 12838, i16 12839, i16 0, i16 12840, i16 0, i16 12841, i16 12842, i16 5678, i16 1235, i16 12843, i16 0, i16 0, i16 4130, i16 0, i16 0, i16 9454, i16 9455, i16 1218, i16 4988, i16 0, i16 0, i16 9456, i16 0, i16 4989, i16 9457, i16 3265, i16 3355, i16 0, i16 0, i16 0, i16 2852, i16 4990, i16 3071, i16 0, i16 9458, i16 0, i16 3092, i16 0, i16 9459, i16 3428, i16 0, i16 0, i16 0, i16 4991, i16 7202, i16 7288, i16 7200, i16 7286, i16 7203, i16 7289, i16 7206, i16 7292, i16 7207, i16 7293, i16 7210, i16 7296, i16 7208, i16 7294, i16 7211, i16 7297, i16 7170, i16 7181, i16 7218, i16 7304, i16 0, i16 0, i16 7217, i16 7303, i16 7219, i16 7305, i16 7216, i16 7302, i16 7220, i16 7307, i16 7221, i16 7308, i16 7971, i16 7972, i16 7973, i16 7974, i16 4057, i16 0, i16 7975, i16 0, i16 1200, i16 7976, i16 4060, i16 4056, i16 4059, i16 7977, i16 0, i16 7978, i16 0, i16 7979, i16 7980, i16 0, i16 3203, i16 7981, i16 0, i16 0, i16 2866, i16 0, i16 3025, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10788, i16 5734, i16 5740, i16 5733, i16 0, i16 0, i16 2003, i16 10789, i16 10790, i16 0, i16 0, i16 3288, i16 10791, i16 10792, i16 2011, i16 10793, i16 0, i16 5736, i16 5748, i16 10794, i16 0, i16 5744, i16 10795, i16 5747, i16 0, i16 5745, i16 5749, i16 5743, i16 0, i16 5717, i16 2300, i16 10796, i16 7717, i16 3904, i16 0, i16 3337, i16 7718, i16 2653, i16 7719, i16 3477, i16 7720, i16 3246, i16 0, i16 0, i16 7721, i16 3905, i16 0, i16 7722, i16 0, i16 7723, i16 6771, i16 0, i16 7724, i16 2829, i16 7725, i16 3906, i16 1131, i16 3396, i16 0, i16 7726, i16 7727, i16 2062, i16 3907, i16 3260, i16 8741, i16 8742, i16 3482, i16 8743, i16 8744, i16 0, i16 0, i16 4522, i16 0, i16 0, i16 4526, i16 8745, i16 0, i16 8746, i16 2437, i16 0, i16 3654, i16 4527, i16 8747, i16 8748, i16 4524, i16 0, i16 4521, i16 8749, i16 8750, i16 4520, i16 4525, i16 0, i16 8751, i16 8752, i16 0, i16 8753, i16 10021, i16 5294, i16 0, i16 10022, i16 10023, i16 0, i16 10024, i16 10025, i16 0, i16 0, i16 0, i16 10026, i16 0, i16 10027, i16 0, i16 0, i16 0, i16 10028, i16 10029, i16 0, i16 0, i16 5290, i16 0, i16 10030, i16 0, i16 5293, i16 1571, i16 884, i16 5295, i16 10031, i16 2235, i16 5292, i16 295, i16 0, i16 294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5671, i16 0, i16 5673, i16 0, i16 10682, i16 5672, i16 0, i16 10683, i16 10684, i16 10685, i16 1547, i16 0, i16 0, i16 10686, i16 2367, i16 10687, i16 0, i16 0, i16 5675, i16 10688, i16 10689, i16 10690, i16 2811, i16 10691, i16 5674, i16 10692, i16 10693, i16 0, i16 5676, i16 10694, i16 3210, i16 2419, i16 10279, i16 2226, i16 10280, i16 2849, i16 10281, i16 5448, i16 3334, i16 10282, i16 5445, i16 0, i16 10283, i16 5446, i16 10284, i16 0, i16 0, i16 0, i16 10285, i16 0, i16 10286, i16 10287, i16 10288, i16 0, i16 0, i16 0, i16 0, i16 5451, i16 10289, i16 0, i16 0, i16 10290, i16 5450, i16 5449, i16 11047, i16 11048, i16 0, i16 11049, i16 11050, i16 0, i16 0, i16 11051, i16 0, i16 11052, i16 11053, i16 827, i16 0, i16 5945, i16 11054, i16 0, i16 0, i16 11055, i16 5946, i16 0, i16 11056, i16 0, i16 11057, i16 0, i16 11058, i16 3166, i16 11059, i16 11060, i16 0, i16 1912, i16 0, i16 5948, i16 2600, i16 0, i16 10266, i16 0, i16 0, i16 10267, i16 10268, i16 5443, i16 0, i16 0, i16 10269, i16 0, i16 0, i16 10270, i16 10271, i16 10272, i16 0, i16 0, i16 10273, i16 0, i16 0, i16 0, i16 10274, i16 10275, i16 0, i16 0, i16 5444, i16 5447, i16 10276, i16 0, i16 10277, i16 10278, i16 3625, i16 0, i16 10032, i16 5298, i16 7098, i16 0, i16 10033, i16 10034, i16 10035, i16 5296, i16 5299, i16 10036, i16 0, i16 10037, i16 10038, i16 5285, i16 5297, i16 10039, i16 10040, i16 1713, i16 0, i16 0, i16 5300, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5301, i16 0, i16 5929, i16 0, i16 0, i16 11029, i16 11030, i16 11031, i16 11032, i16 2715, i16 0, i16 0, i16 0, i16 11033, i16 0, i16 0, i16 11034, i16 11035, i16 0, i16 11036, i16 0, i16 0, i16 0, i16 0, i16 11037, i16 0, i16 5931, i16 5930, i16 5933, i16 0, i16 11038, i16 5932, i16 0, i16 5934, i16 2604, i16 8623, i16 8624, i16 0, i16 4424, i16 0, i16 0, i16 0, i16 8625, i16 8626, i16 8627, i16 1020, i16 8628, i16 8629, i16 8630, i16 8631, i16 4475, i16 4426, i16 8632, i16 8633, i16 0, i16 2923, i16 8634, i16 0, i16 4425, i16 0, i16 8635, i16 4423, i16 8636, i16 1681, i16 0, i16 4429, i16 6444, i16 11900, i16 11901, i16 6446, i16 6443, i16 0, i16 0, i16 0, i16 0, i16 11902, i16 0, i16 0, i16 11903, i16 11904, i16 0, i16 11905, i16 11906, i16 11907, i16 6449, i16 0, i16 1986, i16 0, i16 6448, i16 0, i16 0, i16 11908, i16 11909, i16 11910, i16 6450, i16 0, i16 0, i16 0, i16 11308, i16 0, i16 0, i16 0, i16 2816, i16 6087, i16 11309, i16 0, i16 11310, i16 3046, i16 6074, i16 0, i16 0, i16 11311, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11312, i16 0, i16 0, i16 11313, i16 2050, i16 0, i16 6089, i16 6094, i16 2427, i16 11314, i16 0, i16 6093, i16 11315, i16 8493, i16 2035, i16 0, i16 2410, i16 8494, i16 1600, i16 1709, i16 1601, i16 1295, i16 8495, i16 0, i16 4338, i16 0, i16 0, i16 1710, i16 0, i16 0, i16 1539, i16 4339, i16 3383, i16 2942, i16 4340, i16 0, i16 1602, i16 8496, i16 8497, i16 0, i16 1133, i16 0, i16 2538, i16 1359, i16 0, i16 11566, i16 0, i16 0, i16 0, i16 0, i16 6237, i16 11567, i16 11568, i16 11569, i16 0, i16 6238, i16 6239, i16 0, i16 0, i16 0, i16 0, i16 11570, i16 11571, i16 11572, i16 0, i16 0, i16 11573, i16 6243, i16 0, i16 6244, i16 11574, i16 11575, i16 6242, i16 0, i16 0, i16 11576, i16 0, i16 3377, i16 0, i16 5093, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3015, i16 9629, i16 0, i16 5105, i16 1524, i16 0, i16 0, i16 9630, i16 0, i16 0, i16 2031, i16 0, i16 5095, i16 9631, i16 0, i16 0, i16 3580, i16 1625, i16 0, i16 5108, i16 8498, i16 0, i16 1831, i16 3154, i16 0, i16 0, i16 3034, i16 8499, i16 0, i16 0, i16 0, i16 4341, i16 1206, i16 8500, i16 0, i16 0, i16 0, i16 4344, i16 8501, i16 0, i16 8502, i16 8503, i16 2626, i16 0, i16 8504, i16 4343, i16 4342, i16 4345, i16 0, i16 2700, i16 0, i16 8505, i16 8754, i16 0, i16 0, i16 0, i16 3205, i16 8755, i16 0, i16 2833, i16 8756, i16 1441, i16 8757, i16 4528, i16 4523, i16 8758, i16 4529, i16 0, i16 0, i16 0, i16 1494, i16 0, i16 0, i16 0, i16 950, i16 0, i16 8759, i16 8760, i16 4537, i16 0, i16 8761, i16 0, i16 1145, i16 0, i16 10291, i16 0, i16 0, i16 0, i16 10292, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5453, i16 10293, i16 10294, i16 5452, i16 0, i16 0, i16 5454, i16 0, i16 0, i16 10295, i16 10296, i16 10297, i16 0, i16 0, i16 0, i16 10298, i16 0, i16 0, i16 0, i16 5456, i16 10299, i16 308, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 267, i16 253, i16 268, i16 237, i16 239, i16 11316, i16 0, i16 6062, i16 0, i16 11317, i16 11318, i16 6095, i16 2384, i16 0, i16 0, i16 6090, i16 6092, i16 0, i16 11319, i16 11320, i16 0, i16 11321, i16 11322, i16 11323, i16 6091, i16 0, i16 0, i16 4949, i16 4934, i16 11324, i16 11325, i16 6097, i16 11326, i16 0, i16 0, i16 11327, i16 0, i16 821, i16 2621, i16 7367, i16 1896, i16 7368, i16 7369, i16 0, i16 3375, i16 2131, i16 1795, i16 2130, i16 961, i16 7370, i16 3147, i16 3502, i16 0, i16 3712, i16 854, i16 7371, i16 0, i16 1105, i16 3713, i16 2253, i16 3932, i16 1269, i16 3215, i16 0, i16 0, i16 0, i16 0, i16 2132, i16 7372, i16 4661, i16 4662, i16 2726, i16 4664, i16 8975, i16 8976, i16 1783, i16 4659, i16 0, i16 8977, i16 8978, i16 0, i16 1243, i16 8979, i16 0, i16 4665, i16 8980, i16 4658, i16 4669, i16 0, i16 4668, i16 8981, i16 4667, i16 8982, i16 0, i16 0, i16 4670, i16 8983, i16 0, i16 4672, i16 2142, i16 8984, i16 9013, i16 0, i16 1147, i16 1801, i16 0, i16 0, i16 2869, i16 9014, i16 0, i16 0, i16 0, i16 9015, i16 1444, i16 0, i16 0, i16 0, i16 2239, i16 0, i16 4692, i16 0, i16 2265, i16 2727, i16 0, i16 3158, i16 4693, i16 0, i16 9016, i16 0, i16 0, i16 9017, i16 0, i16 0, i16 11061, i16 11062, i16 0, i16 11063, i16 11064, i16 1036, i16 763, i16 11065, i16 11066, i16 11067, i16 11068, i16 5947, i16 5950, i16 2953, i16 11069, i16 2191, i16 11070, i16 987, i16 11071, i16 3290, i16 11072, i16 0, i16 0, i16 11073, i16 1464, i16 1369, i16 11074, i16 5949, i16 11075, i16 1007, i16 11076, i16 11077, i16 7223, i16 7309, i16 7222, i16 0, i16 7224, i16 7310, i16 7171, i16 7183, i16 7233, i16 7318, i16 7231, i16 7316, i16 0, i16 0, i16 7232, i16 7317, i16 7230, i16 7184, i16 7172, i16 7185, i16 7234, i16 7319, i16 7235, i16 7320, i16 7186, i16 7236, i16 7321, i16 7238, i16 7323, i16 7237, i16 7322, i16 7174, i16 12087, i16 0, i16 6561, i16 0, i16 12088, i16 12089, i16 12090, i16 0, i16 12091, i16 0, i16 0, i16 0, i16 0, i16 12092, i16 0, i16 0, i16 12093, i16 0, i16 6562, i16 0, i16 12094, i16 0, i16 12095, i16 12096, i16 12097, i16 6563, i16 12098, i16 0, i16 12099, i16 0, i16 12100, i16 0, i16 10041, i16 10042, i16 0, i16 3565, i16 0, i16 10043, i16 10044, i16 10045, i16 0, i16 10046, i16 0, i16 5302, i16 0, i16 0, i16 0, i16 10047, i16 10048, i16 10049, i16 10050, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10051, i16 10052, i16 10053, i16 0, i16 10054, i16 0, i16 5303, i16 10055, i16 11577, i16 6240, i16 11578, i16 6235, i16 6241, i16 11579, i16 11580, i16 0, i16 0, i16 11581, i16 0, i16 0, i16 6245, i16 6741, i16 0, i16 11582, i16 0, i16 0, i16 11583, i16 0, i16 0, i16 0, i16 941, i16 11584, i16 0, i16 0, i16 11585, i16 11586, i16 11587, i16 0, i16 6248, i16 1372, i16 7482, i16 7483, i16 1427, i16 2442, i16 1001, i16 7484, i16 7485, i16 0, i16 7486, i16 7487, i16 2018, i16 7488, i16 7489, i16 7490, i16 3767, i16 7491, i16 3772, i16 3770, i16 7492, i16 0, i16 3765, i16 0, i16 0, i16 2452, i16 3768, i16 0, i16 3771, i16 3769, i16 7493, i16 3250, i16 0, i16 3766, i16 8506, i16 0, i16 0, i16 0, i16 0, i16 2222, i16 0, i16 0, i16 8508, i16 0, i16 0, i16 1832, i16 0, i16 2291, i16 8507, i16 2488, i16 1217, i16 0, i16 8509, i16 2627, i16 0, i16 8510, i16 4346, i16 4347, i16 2140, i16 0, i16 0, i16 0, i16 0, i16 3308, i16 8511, i16 0, i16 8762, i16 8763, i16 8764, i16 4535, i16 0, i16 0, i16 4536, i16 1694, i16 4534, i16 4532, i16 4531, i16 4538, i16 4530, i16 4540, i16 8765, i16 8766, i16 1024, i16 0, i16 0, i16 0, i16 0, i16 8767, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8768, i16 8769, i16 8770, i16 8771, i16 7739, i16 3449, i16 2900, i16 7740, i16 0, i16 3270, i16 3916, i16 0, i16 3917, i16 0, i16 7741, i16 7742, i16 7743, i16 3919, i16 0, i16 3921, i16 3920, i16 7744, i16 0, i16 7745, i16 0, i16 3922, i16 962, i16 3327, i16 7746, i16 1777, i16 3923, i16 7747, i16 7748, i16 2400, i16 7749, i16 7750, i16 9531, i16 3285, i16 2947, i16 1282, i16 0, i16 2724, i16 0, i16 9532, i16 2608, i16 9533, i16 5031, i16 9534, i16 9535, i16 0, i16 9536, i16 5029, i16 2494, i16 5018, i16 9537, i16 882, i16 9538, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2108, i16 5574, i16 5575, i16 2022, i16 0, i16 2837, i16 5576, i16 0, i16 10542, i16 10543, i16 2539, i16 10544, i16 10545, i16 5577, i16 0, i16 2559, i16 5578, i16 10546, i16 0, i16 0, i16 10547, i16 0, i16 1314, i16 0, i16 3835, i16 2592, i16 1892, i16 10548, i16 0, i16 10549, i16 10550, i16 1161, i16 11836, i16 0, i16 0, i16 1954, i16 0, i16 0, i16 11837, i16 0, i16 2241, i16 0, i16 0, i16 11838, i16 11839, i16 0, i16 0, i16 11840, i16 0, i16 0, i16 11841, i16 2450, i16 0, i16 11842, i16 0, i16 11843, i16 0, i16 11844, i16 6413, i16 11845, i16 11863, i16 0, i16 6412, i16 0, i16 318, i16 317, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 320, i16 319, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 322, i16 321, i16 0, i16 0, i16 4671, i16 8985, i16 0, i16 0, i16 8986, i16 4675, i16 0, i16 0, i16 8987, i16 8988, i16 8989, i16 0, i16 0, i16 0, i16 0, i16 8990, i16 0, i16 0, i16 0, i16 8991, i16 8992, i16 0, i16 8993, i16 0, i16 4673, i16 8994, i16 0, i16 8995, i16 4674, i16 4636, i16 8996, i16 8997, i16 9791, i16 3398, i16 0, i16 0, i16 0, i16 0, i16 2100, i16 0, i16 0, i16 0, i16 0, i16 9792, i16 0, i16 9793, i16 0, i16 9794, i16 9795, i16 9796, i16 0, i16 0, i16 0, i16 0, i16 2362, i16 0, i16 9797, i16 0, i16 0, i16 0, i16 2099, i16 0, i16 0, i16 0, i16 6976, i16 0, i16 0, i16 12957, i16 0, i16 0, i16 0, i16 6977, i16 12962, i16 12958, i16 12959, i16 12961, i16 0, i16 0, i16 12963, i16 0, i16 12964, i16 0, i16 12965, i16 0, i16 0, i16 12966, i16 6978, i16 12967, i16 6979, i16 0, i16 0, i16 12968, i16 0, i16 0, i16 0, i16 0, i16 8256, i16 795, i16 0, i16 748, i16 8257, i16 0, i16 0, i16 0, i16 0, i16 4198, i16 0, i16 0, i16 8258, i16 8259, i16 8260, i16 0, i16 0, i16 4196, i16 8261, i16 8262, i16 0, i16 0, i16 0, i16 0, i16 3405, i16 0, i16 4199, i16 0, i16 4197, i16 0, i16 8263, i16 4195, i16 12352, i16 12353, i16 12354, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12355, i16 0, i16 12356, i16 12357, i16 1116, i16 12358, i16 0, i16 12359, i16 0, i16 0, i16 12360, i16 0, i16 6640, i16 12361, i16 1716, i16 2432, i16 12362, i16 0, i16 2667, i16 12363, i16 0, i16 0, i16 12364, i16 0, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 0, i16 0, i16 0, i16 0, i16 227, i16 249, i16 240, i16 241, i16 0, i16 833, i16 8016, i16 0, i16 2567, i16 8017, i16 8018, i16 8019, i16 8020, i16 8021, i16 0, i16 0, i16 8023, i16 0, i16 8024, i16 4081, i16 0, i16 1689, i16 8022, i16 792, i16 2217, i16 0, i16 0, i16 8025, i16 8026, i16 0, i16 4082, i16 1536, i16 0, i16 0, i16 1672, i16 0, i16 4084, i16 1089, i16 0, i16 0, i16 10554, i16 0, i16 2213, i16 3163, i16 10555, i16 5588, i16 10556, i16 10557, i16 10558, i16 2509, i16 10559, i16 10560, i16 10561, i16 10562, i16 10563, i16 0, i16 5583, i16 10564, i16 5587, i16 5589, i16 0, i16 0, i16 1776, i16 0, i16 0, i16 0, i16 10565, i16 0, i16 10566, i16 4929, i16 0, i16 4931, i16 4932, i16 0, i16 9374, i16 0, i16 0, i16 0, i16 0, i16 4944, i16 9375, i16 4940, i16 0, i16 4821, i16 9376, i16 9377, i16 9378, i16 0, i16 4939, i16 9379, i16 0, i16 0, i16 0, i16 4938, i16 0, i16 0, i16 4935, i16 0, i16 9380, i16 9381, i16 9382, i16 9025, i16 767, i16 0, i16 9026, i16 1361, i16 2294, i16 9027, i16 3159, i16 0, i16 0, i16 0, i16 4699, i16 1813, i16 2570, i16 9028, i16 1838, i16 2178, i16 0, i16 9029, i16 9030, i16 9031, i16 0, i16 0, i16 4700, i16 0, i16 3282, i16 0, i16 0, i16 926, i16 1839, i16 0, i16 9032, i16 12609, i16 12611, i16 0, i16 0, i16 12612, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6794, i16 2910, i16 12613, i16 0, i16 12614, i16 6796, i16 960, i16 12615, i16 6799, i16 6798, i16 12616, i16 12617, i16 0, i16 12618, i16 843, i16 0, i16 0, i16 0, i16 1342, i16 4418, i16 1567, i16 8603, i16 0, i16 8606, i16 0, i16 0, i16 8604, i16 4419, i16 3187, i16 2026, i16 8605, i16 8607, i16 4420, i16 3090, i16 8608, i16 8609, i16 8610, i16 0, i16 2846, i16 2632, i16 0, i16 0, i16 0, i16 8611, i16 2735, i16 0, i16 0, i16 4421, i16 1226, i16 0, i16 0, i16 3395, i16 0, i16 10255, i16 0, i16 5436, i16 5438, i16 5439, i16 0, i16 10256, i16 5435, i16 0, i16 0, i16 0, i16 10257, i16 10258, i16 10259, i16 0, i16 0, i16 0, i16 0, i16 10260, i16 10261, i16 10262, i16 5441, i16 5442, i16 10263, i16 2640, i16 0, i16 1188, i16 10264, i16 10265, i16 0, i16 12868, i16 0, i16 0, i16 6931, i16 12869, i16 12870, i16 12871, i16 12872, i16 0, i16 12873, i16 12874, i16 12875, i16 0, i16 12876, i16 775, i16 12877, i16 12878, i16 6932, i16 3200, i16 6930, i16 12879, i16 0, i16 6933, i16 6934, i16 0, i16 0, i16 12880, i16 0, i16 0, i16 12881, i16 12882, i16 6935, i16 12101, i16 0, i16 12103, i16 12104, i16 0, i16 12102, i16 0, i16 12105, i16 0, i16 12106, i16 0, i16 0, i16 0, i16 2721, i16 12107, i16 12108, i16 6565, i16 12109, i16 6564, i16 0, i16 12110, i16 0, i16 12111, i16 12112, i16 0, i16 12113, i16 12114, i16 0, i16 12115, i16 12116, i16 0, i16 0, i16 1350, i16 4271, i16 0, i16 0, i16 0, i16 1294, i16 4272, i16 0, i16 1403, i16 0, i16 2860, i16 949, i16 0, i16 1830, i16 4273, i16 4276, i16 4275, i16 1402, i16 0, i16 4274, i16 0, i16 2743, i16 0, i16 0, i16 0, i16 8393, i16 8394, i16 0, i16 8395, i16 0, i16 2453, i16 0, i16 7494, i16 2169, i16 7495, i16 3366, i16 3773, i16 3774, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1971, i16 3787, i16 7496, i16 0, i16 7497, i16 2955, i16 0, i16 3117, i16 3782, i16 0, i16 3269, i16 0, i16 955, i16 0, i16 7498, i16 7499, i16 3786, i16 7500, i16 11846, i16 0, i16 6411, i16 0, i16 0, i16 11847, i16 11848, i16 11849, i16 11850, i16 0, i16 11851, i16 6419, i16 6417, i16 0, i16 11852, i16 6414, i16 0, i16 11853, i16 0, i16 0, i16 11854, i16 11855, i16 6416, i16 11856, i16 0, i16 11857, i16 6415, i16 6418, i16 0, i16 1302, i16 0, i16 6422, i16 3911, i16 7728, i16 2259, i16 3908, i16 1357, i16 7729, i16 3909, i16 1132, i16 7730, i16 7731, i16 7732, i16 0, i16 7733, i16 0, i16 0, i16 0, i16 7734, i16 7735, i16 1417, i16 3912, i16 7736, i16 3913, i16 7737, i16 7738, i16 3914, i16 3915, i16 1932, i16 0, i16 0, i16 0, i16 1588, i16 3439, i16 10567, i16 10568, i16 0, i16 0, i16 0, i16 5596, i16 3109, i16 10569, i16 3007, i16 2808, i16 0, i16 1367, i16 5595, i16 5593, i16 10570, i16 3022, i16 5590, i16 2593, i16 2810, i16 0, i16 2809, i16 10571, i16 1771, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5614, i16 0, i16 0, i16 10056, i16 10057, i16 5283, i16 10058, i16 0, i16 0, i16 10059, i16 5304, i16 10060, i16 10061, i16 10062, i16 10063, i16 0, i16 0, i16 10064, i16 10065, i16 1157, i16 10066, i16 10067, i16 0, i16 0, i16 10068, i16 0, i16 0, i16 0, i16 10069, i16 0, i16 10070, i16 0, i16 1878, i16 0, i16 10071, i16 11336, i16 8188, i16 11337, i16 0, i16 0, i16 0, i16 11338, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6100, i16 1552, i16 0, i16 1267, i16 0, i16 11339, i16 11340, i16 6102, i16 3865, i16 11341, i16 11342, i16 11343, i16 11344, i16 1300, i16 0, i16 3591, i16 11345, i16 1392, i16 6103, i16 842, i16 0, i16 0, i16 3622, i16 12516, i16 12517, i16 12518, i16 6729, i16 6544, i16 12519, i16 6728, i16 0, i16 0, i16 0, i16 12520, i16 12521, i16 6732, i16 6730, i16 6731, i16 12522, i16 6733, i16 0, i16 6734, i16 3641, i16 6735, i16 6736, i16 12523, i16 2290, i16 3028, i16 0, i16 0, i16 0, i16 11082, i16 5951, i16 11083, i16 5952, i16 11084, i16 1940, i16 1385, i16 2618, i16 11085, i16 0, i16 11086, i16 2862, i16 0, i16 11087, i16 0, i16 11088, i16 0, i16 888, i16 0, i16 5956, i16 5955, i16 0, i16 11089, i16 11090, i16 0, i16 5961, i16 5957, i16 5960, i16 0, i16 11091, i16 11092, i16 0, i16 2892, i16 4870, i16 2887, i16 9286, i16 9287, i16 9288, i16 9289, i16 0, i16 9290, i16 9291, i16 4874, i16 4861, i16 9292, i16 1349, i16 4864, i16 2028, i16 9293, i16 9294, i16 9295, i16 2971, i16 4866, i16 1352, i16 0, i16 4858, i16 4860, i16 4857, i16 9296, i16 9297, i16 3675, i16 1085, i16 4863, i16 9298, i16 10316, i16 0, i16 3457, i16 5469, i16 10317, i16 2577, i16 10318, i16 2981, i16 0, i16 1384, i16 10319, i16 0, i16 10320, i16 2558, i16 5470, i16 1335, i16 10321, i16 10322, i16 0, i16 2297, i16 10323, i16 0, i16 0, i16 0, i16 10324, i16 0, i16 0, i16 10325, i16 5471, i16 0, i16 0, i16 0, i16 10572, i16 0, i16 0, i16 0, i16 10573, i16 5598, i16 10574, i16 5600, i16 0, i16 10575, i16 10576, i16 0, i16 5603, i16 10577, i16 5604, i16 10578, i16 5601, i16 5602, i16 10579, i16 10580, i16 5599, i16 5597, i16 0, i16 10581, i16 0, i16 0, i16 5591, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3149, i16 8118, i16 0, i16 4121, i16 8102, i16 0, i16 8103, i16 8104, i16 0, i16 8105, i16 0, i16 0, i16 0, i16 8106, i16 0, i16 0, i16 8107, i16 0, i16 0, i16 0, i16 2154, i16 8108, i16 8109, i16 1898, i16 8110, i16 2968, i16 1201, i16 0, i16 1760, i16 8111, i16 8112, i16 8113, i16 7501, i16 7502, i16 0, i16 0, i16 7503, i16 3780, i16 3789, i16 7504, i16 0, i16 2393, i16 7505, i16 1533, i16 7506, i16 2967, i16 7507, i16 5253, i16 7508, i16 3788, i16 2780, i16 7509, i16 3777, i16 0, i16 1583, i16 7510, i16 7511, i16 1582, i16 3775, i16 7512, i16 7513, i16 7514, i16 7515, i16 1931, i16 2382, i16 3317, i16 1772, i16 10710, i16 0, i16 0, i16 10711, i16 0, i16 0, i16 0, i16 10712, i16 1850, i16 2686, i16 10713, i16 5691, i16 3628, i16 1742, i16 10714, i16 5692, i16 2189, i16 0, i16 5694, i16 0, i16 0, i16 0, i16 2111, i16 1701, i16 0, i16 10715, i16 10716, i16 10717, i16 5693, i16 4431, i16 8660, i16 1023, i16 4451, i16 4453, i16 2580, i16 0, i16 8661, i16 1693, i16 957, i16 4445, i16 4456, i16 4455, i16 1328, i16 0, i16 2446, i16 1097, i16 8662, i16 0, i16 0, i16 0, i16 1438, i16 0, i16 4446, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8663, i16 8664, i16 5455, i16 0, i16 10300, i16 0, i16 0, i16 3234, i16 0, i16 10301, i16 0, i16 0, i16 10302, i16 0, i16 2021, i16 3603, i16 10303, i16 10304, i16 5457, i16 10305, i16 0, i16 2836, i16 0, i16 10306, i16 5458, i16 0, i16 0, i16 5459, i16 0, i16 5463, i16 5461, i16 5462, i16 10307, i16 5460, i16 8528, i16 2628, i16 0, i16 1604, i16 2078, i16 0, i16 0, i16 3064, i16 0, i16 0, i16 2079, i16 8529, i16 0, i16 0, i16 8530, i16 2055, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2701, i16 3278, i16 2744, i16 0, i16 0, i16 1605, i16 0, i16 3155, i16 0, i16 0, i16 0, i16 4177, i16 8209, i16 4176, i16 8210, i16 0, i16 931, i16 0, i16 4178, i16 2070, i16 4180, i16 2536, i16 8211, i16 4179, i16 8212, i16 3208, i16 8213, i16 0, i16 0, i16 8214, i16 2054, i16 2778, i16 8215, i16 8216, i16 0, i16 4181, i16 8217, i16 0, i16 8218, i16 8219, i16 1596, i16 0, i16 0, i16 9810, i16 0, i16 5193, i16 0, i16 2972, i16 5189, i16 5192, i16 2101, i16 9811, i16 3050, i16 0, i16 0, i16 5196, i16 0, i16 1922, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9812, i16 0, i16 0, i16 0, i16 2339, i16 0, i16 0, i16 11346, i16 11347, i16 11348, i16 11349, i16 11350, i16 0, i16 0, i16 6104, i16 0, i16 11351, i16 0, i16 2609, i16 11352, i16 0, i16 0, i16 11353, i16 0, i16 6105, i16 0, i16 0, i16 0, i16 11354, i16 11355, i16 11356, i16 0, i16 2903, i16 11357, i16 771, i16 0, i16 0, i16 0, i16 0, i16 8787, i16 4558, i16 8788, i16 8789, i16 0, i16 0, i16 2328, i16 8790, i16 0, i16 8791, i16 4559, i16 8792, i16 0, i16 0, i16 4560, i16 1241, i16 4561, i16 0, i16 4562, i16 4563, i16 2492, i16 0, i16 0, i16 0, i16 1542, i16 8793, i16 0, i16 3442, i16 0, i16 8794, i16 0, i16 3311, i16 9299, i16 4873, i16 1048, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1756, i16 0, i16 0, i16 9300, i16 900, i16 0, i16 0, i16 4890, i16 9301, i16 0, i16 3676, i16 4893, i16 9302, i16 0, i16 9303, i16 0, i16 0, i16 2181, i16 4892, i16 0, i16 0, i16 0, i16 2388, i16 7075, i16 13117, i16 0, i16 0, i16 0, i16 13118, i16 0, i16 0, i16 0, i16 13119, i16 13120, i16 7076, i16 0, i16 0, i16 13121, i16 0, i16 13122, i16 13123, i16 0, i16 13124, i16 0, i16 0, i16 13125, i16 0, i16 13126, i16 13127, i16 3096, i16 13128, i16 13129, i16 7077, i16 13130, i16 5972, i16 0, i16 11115, i16 11116, i16 11117, i16 5975, i16 0, i16 11118, i16 0, i16 2423, i16 1456, i16 0, i16 0, i16 11119, i16 11120, i16 872, i16 5974, i16 11121, i16 1642, i16 11156, i16 11099, i16 11122, i16 11123, i16 11124, i16 2424, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12628, i16 6804, i16 0, i16 12629, i16 6803, i16 12638, i16 12630, i16 0, i16 0, i16 0, i16 0, i16 12631, i16 3326, i16 2825, i16 12632, i16 12633, i16 12634, i16 0, i16 12635, i16 12636, i16 887, i16 12637, i16 0, i16 6805, i16 6802, i16 0, i16 0, i16 3144, i16 3545, i16 6806, i16 12639, i16 0, i16 9813, i16 0, i16 0, i16 0, i16 5199, i16 9814, i16 0, i16 9815, i16 5191, i16 0, i16 1410, i16 0, i16 9816, i16 0, i16 0, i16 5197, i16 0, i16 0, i16 9817, i16 0, i16 3519, i16 5200, i16 0, i16 0, i16 0, i16 7100, i16 9818, i16 9819, i16 0, i16 0, i16 0, i16 2014, i16 11093, i16 11094, i16 3425, i16 5959, i16 989, i16 1120, i16 5963, i16 11095, i16 11096, i16 5965, i16 11097, i16 11098, i16 0, i16 0, i16 1455, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5969, i16 5978, i16 5979, i16 0, i16 0, i16 11100, i16 756, i16 11101, i16 11102, i16 11103, i16 343, i16 0, i16 348, i16 344, i16 0, i16 0, i16 0, i16 349, i16 330, i16 0, i16 0, i16 331, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 354, i16 0, i16 0, i16 356, i16 292, i16 0, i16 7256, i16 7341, i16 7259, i16 7344, i16 7258, i16 7343, i16 7178, i16 7194, i16 7270, i16 7355, i16 7267, i16 7352, i16 7264, i16 7349, i16 7269, i16 7354, i16 7266, i16 7351, i16 7268, i16 7353, i16 7275, i16 7360, i16 7278, i16 7363, i16 7277, i16 7279, i16 7364, i16 7281, i16 7366, i16 7280, i16 7365, i16 0, i16 11608, i16 6262, i16 0, i16 0, i16 0, i16 11609, i16 6264, i16 3558, i16 0, i16 6263, i16 2193, i16 0, i16 6265, i16 0, i16 0, i16 6266, i16 11610, i16 0, i16 6267, i16 1170, i16 11611, i16 11612, i16 11613, i16 11614, i16 0, i16 0, i16 6268, i16 0, i16 11615, i16 6269, i16 0, i16 6270, i16 345, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 338, i16 339, i16 337, i16 336, i16 358, i16 359, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 293, i16 357, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 355, i16 0, i16 0, i16 3929, i16 1996, i16 7764, i16 2322, i16 0, i16 3931, i16 3930, i16 2064, i16 1562, i16 3933, i16 3031, i16 7766, i16 7765, i16 3934, i16 0, i16 0, i16 0, i16 3061, i16 2457, i16 2515, i16 1317, i16 0, i16 0, i16 2891, i16 2548, i16 7767, i16 2985, i16 7768, i16 3329, i16 0, i16 3936, i16 0, i16 9049, i16 0, i16 1614, i16 4714, i16 9050, i16 0, i16 1696, i16 2087, i16 9051, i16 9052, i16 4713, i16 0, i16 2088, i16 9053, i16 3409, i16 1695, i16 0, i16 9054, i16 9055, i16 800, i16 2295, i16 9056, i16 9057, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4720, i16 9058, i16 9059, i16 2266, i16 5210, i16 0, i16 0, i16 0, i16 0, i16 2414, i16 1803, i16 5212, i16 0, i16 0, i16 0, i16 0, i16 5211, i16 2159, i16 3955, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5213, i16 0, i16 0, i16 9838, i16 5215, i16 0, i16 5198, i16 5214, i16 0, i16 9839, i16 5216, i16 9820, i16 0, i16 9821, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5201, i16 0, i16 0, i16 0, i16 5202, i16 0, i16 0, i16 9822, i16 9823, i16 2921, i16 9824, i16 9825, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5204, i16 9826, i16 0, i16 0, i16 0, i16 5205, i16 9827, i16 1630, i16 0, i16 5677, i16 0, i16 0, i16 0, i16 10695, i16 3605, i16 0, i16 10696, i16 0, i16 10697, i16 0, i16 0, i16 0, i16 5679, i16 0, i16 0, i16 5680, i16 0, i16 5681, i16 10698, i16 5682, i16 0, i16 1848, i16 0, i16 5683, i16 1450, i16 0, i16 0, i16 1289, i16 0, i16 10590, i16 1162, i16 0, i16 0, i16 0, i16 10591, i16 0, i16 0, i16 0, i16 0, i16 2560, i16 0, i16 10592, i16 2342, i16 0, i16 10593, i16 10594, i16 3003, i16 10595, i16 0, i16 5620, i16 10596, i16 10597, i16 0, i16 3005, i16 0, i16 10598, i16 10599, i16 10600, i16 10601, i16 0, i16 0, i16 3168, i16 1751, i16 1646, i16 0, i16 11793, i16 0, i16 0, i16 3142, i16 996, i16 3047, i16 6379, i16 1172, i16 2302, i16 6378, i16 6383, i16 2620, i16 3444, i16 0, i16 6381, i16 6382, i16 1229, i16 0, i16 6384, i16 2974, i16 2500, i16 11794, i16 11795, i16 3082, i16 2748, i16 6380, i16 0, i16 3322, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 1377, i16 0, i16 0, i16 2005, i16 0, i16 2841, i16 0, i16 0, i16 12248, i16 12249, i16 12250, i16 0, i16 0, i16 12251, i16 12252, i16 0, i16 0, i16 2356, i16 12253, i16 6614, i16 0, i16 6608, i16 6613, i16 12254, i16 3412, i16 12255, i16 2649, i16 6615, i16 6612, i16 0, i16 0, i16 12256, i16 10849, i16 0, i16 5794, i16 5796, i16 0, i16 3540, i16 5795, i16 5798, i16 5797, i16 0, i16 3522, i16 10850, i16 5799, i16 10851, i16 3095, i16 10852, i16 10853, i16 10854, i16 0, i16 0, i16 5800, i16 0, i16 10855, i16 10856, i16 0, i16 0, i16 5803, i16 0, i16 10857, i16 5802, i16 5801, i16 0, i16 5475, i16 10333, i16 10334, i16 10335, i16 0, i16 2773, i16 1739, i16 1261, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10336, i16 10337, i16 0, i16 10338, i16 0, i16 3287, i16 0, i16 2950, i16 10339, i16 0, i16 10340, i16 0, i16 0, i16 2774, i16 0, i16 0, i16 0, i16 0, i16 1651, i16 7523, i16 7524, i16 7525, i16 3790, i16 0, i16 7526, i16 7527, i16 3791, i16 3795, i16 791, i16 7528, i16 0, i16 7529, i16 0, i16 7530, i16 3237, i16 3794, i16 7531, i16 7532, i16 7533, i16 0, i16 3793, i16 3797, i16 7534, i16 0, i16 7535, i16 3796, i16 0, i16 2693, i16 0, i16 0, i16 7536, i16 9828, i16 9829, i16 0, i16 2926, i16 9830, i16 0, i16 0, i16 0, i16 2804, i16 5207, i16 0, i16 9831, i16 9832, i16 0, i16 5209, i16 0, i16 3618, i16 0, i16 5206, i16 9833, i16 5208, i16 916, i16 9834, i16 5203, i16 0, i16 9835, i16 9836, i16 0, i16 9837, i16 0, i16 0, i16 4051, i16 11876, i16 11877, i16 11878, i16 11879, i16 0, i16 0, i16 11880, i16 11881, i16 0, i16 0, i16 6445, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6434, i16 11882, i16 0, i16 11883, i16 6435, i16 6433, i16 11884, i16 11885, i16 11886, i16 11887, i16 0, i16 0, i16 0, i16 11888, i16 0, i16 0, i16 4709, i16 4710, i16 1212, i16 0, i16 0, i16 2905, i16 2553, i16 1291, i16 1840, i16 2408, i16 0, i16 0, i16 2027, i16 761, i16 0, i16 0, i16 9042, i16 4711, i16 9043, i16 0, i16 9044, i16 9045, i16 0, i16 0, i16 0, i16 9046, i16 935, i16 4715, i16 0, i16 0, i16 9047, i16 9048, i16 8037, i16 0, i16 8038, i16 8039, i16 8040, i16 8041, i16 4095, i16 766, i16 1748, i16 8042, i16 8043, i16 0, i16 8044, i16 1432, i16 8045, i16 8046, i16 2578, i16 0, i16 0, i16 8047, i16 8048, i16 0, i16 0, i16 4096, i16 4097, i16 0, i16 0, i16 4099, i16 0, i16 8049, i16 8050, i16 8051, i16 615, i16 616, i16 0, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 7126, i16 7129, i16 7131, i16 7132, i16 7133, i16 7134, i16 7141, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 6247, i16 11588, i16 11589, i16 11590, i16 6250, i16 0, i16 6249, i16 0, i16 0, i16 0, i16 6252, i16 11591, i16 0, i16 6251, i16 11592, i16 6253, i16 11593, i16 0, i16 1984, i16 11594, i16 6254, i16 11595, i16 0, i16 6255, i16 0, i16 0, i16 11596, i16 11597, i16 11598, i16 11599, i16 6256, i16 2279, i16 8295, i16 0, i16 8296, i16 0, i16 0, i16 0, i16 0, i16 8297, i16 0, i16 0, i16 0, i16 0, i16 8298, i16 0, i16 0, i16 0, i16 0, i16 8299, i16 8300, i16 8301, i16 0, i16 8302, i16 0, i16 0, i16 8303, i16 0, i16 8304, i16 8305, i16 4208, i16 4212, i16 4209, i16 8306, i16 1128, i16 7640, i16 3851, i16 7641, i16 3849, i16 3406, i16 3850, i16 0, i16 3153, i16 3852, i16 3853, i16 3854, i16 2782, i16 7642, i16 0, i16 0, i16 3858, i16 3856, i16 3857, i16 3855, i16 1752, i16 3859, i16 3451, i16 3633, i16 7643, i16 0, i16 7644, i16 0, i16 7645, i16 3860, i16 7646, i16 7647, i16 2152, i16 12316, i16 6626, i16 6628, i16 12317, i16 12318, i16 1360, i16 12319, i16 3132, i16 12320, i16 12321, i16 1939, i16 3662, i16 0, i16 6624, i16 1773, i16 0, i16 0, i16 3690, i16 12322, i16 12323, i16 6630, i16 12324, i16 12325, i16 0, i16 0, i16 6629, i16 6631, i16 0, i16 0, i16 0, i16 0, i16 3944, i16 7785, i16 0, i16 0, i16 7786, i16 3946, i16 3945, i16 0, i16 2218, i16 864, i16 7787, i16 7788, i16 0, i16 901, i16 3947, i16 7789, i16 3948, i16 0, i16 7790, i16 1520, i16 7791, i16 7792, i16 3949, i16 7793, i16 7794, i16 0, i16 7795, i16 1293, i16 0, i16 7796, i16 0, i16 0, i16 4200, i16 3671, i16 0, i16 0, i16 8271, i16 8272, i16 2951, i16 8273, i16 8274, i16 4202, i16 0, i16 0, i16 8275, i16 0, i16 0, i16 0, i16 8276, i16 0, i16 0, i16 0, i16 0, i16 8277, i16 0, i16 0, i16 0, i16 0, i16 1692, i16 0, i16 0, i16 0, i16 8278, i16 0, i16 5994, i16 0, i16 5984, i16 0, i16 0, i16 0, i16 11142, i16 11143, i16 5996, i16 11144, i16 5982, i16 2999, i16 11145, i16 11170, i16 0, i16 0, i16 0, i16 3544, i16 0, i16 0, i16 0, i16 5991, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6013, i16 11146, i16 11147, i16 4972, i16 0, i16 9436, i16 4974, i16 4973, i16 9437, i16 3339, i16 0, i16 0, i16 2029, i16 1949, i16 1815, i16 0, i16 4975, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4977, i16 2158, i16 9438, i16 4976, i16 0, i16 0, i16 9439, i16 0, i16 0, i16 4978, i16 9440, i16 5228, i16 9855, i16 9856, i16 9857, i16 0, i16 9858, i16 5229, i16 3239, i16 3040, i16 0, i16 0, i16 5230, i16 2962, i16 0, i16 9859, i16 9860, i16 9861, i16 0, i16 2638, i16 9862, i16 0, i16 9863, i16 9864, i16 0, i16 5231, i16 1004, i16 9865, i16 1292, i16 9866, i16 3415, i16 9867, i16 3399, i16 365, i16 366, i16 0, i16 0, i16 0, i16 258, i16 257, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 361, i16 0, i16 297, i16 298, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 323, i16 0, i16 0, i16 0, i16 0, i16 878, i16 9060, i16 9061, i16 9062, i16 9063, i16 2020, i16 9064, i16 3353, i16 1767, i16 9065, i16 9066, i16 9067, i16 9068, i16 2089, i16 9069, i16 2256, i16 9070, i16 9071, i16 0, i16 9072, i16 4719, i16 4717, i16 4718, i16 9074, i16 0, i16 9073, i16 0, i16 0, i16 2606, i16 0, i16 0, i16 4750, i16 10350, i16 10351, i16 0, i16 10352, i16 10353, i16 0, i16 0, i16 0, i16 10354, i16 0, i16 10355, i16 3583, i16 1628, i16 0, i16 10356, i16 1504, i16 0, i16 0, i16 3004, i16 0, i16 5479, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10357, i16 0, i16 5481, i16 0, i16 10358, i16 0, i16 6767, i16 7051, i16 3421, i16 12559, i16 6768, i16 0, i16 6769, i16 12560, i16 6770, i16 1082, i16 12561, i16 6772, i16 0, i16 2212, i16 12562, i16 0, i16 0, i16 6773, i16 0, i16 12563, i16 1407, i16 0, i16 12564, i16 12565, i16 12566, i16 6774, i16 6778, i16 12567, i16 6776, i16 12568, i16 0, i16 12569, i16 9328, i16 9329, i16 4897, i16 9330, i16 0, i16 4904, i16 0, i16 0, i16 0, i16 0, i16 4910, i16 3086, i16 4916, i16 0, i16 0, i16 9331, i16 0, i16 9332, i16 4911, i16 4914, i16 4908, i16 9333, i16 0, i16 2615, i16 0, i16 3119, i16 9334, i16 4898, i16 0, i16 9335, i16 4906, i16 2093, i16 9840, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2997, i16 9841, i16 9842, i16 9843, i16 0, i16 0, i16 0, i16 5217, i16 0, i16 0, i16 5218, i16 0, i16 0, i16 9844, i16 0, i16 0, i16 0, i16 9845, i16 0, i16 0, i16 9846, i16 5219, i16 0, i16 9847, i16 0, i16 9848, i16 10096, i16 10097, i16 0, i16 1805, i16 10098, i16 928, i16 5328, i16 10099, i16 3520, i16 10100, i16 10101, i16 3256, i16 5329, i16 0, i16 0, i16 10102, i16 2755, i16 3490, i16 1626, i16 2184, i16 0, i16 0, i16 10103, i16 2574, i16 3918, i16 10104, i16 2639, i16 1005, i16 5330, i16 10105, i16 10106, i16 10107, i16 7537, i16 0, i16 7538, i16 7539, i16 0, i16 1485, i16 7540, i16 7541, i16 0, i16 0, i16 7542, i16 0, i16 3798, i16 7543, i16 0, i16 0, i16 7544, i16 7545, i16 1910, i16 0, i16 2443, i16 2694, i16 1395, i16 0, i16 3799, i16 0, i16 0, i16 0, i16 0, i16 1237, i16 0, i16 0, i16 11377, i16 11378, i16 0, i16 11379, i16 6114, i16 11380, i16 6115, i16 1929, i16 0, i16 6117, i16 0, i16 2564, i16 0, i16 1457, i16 1061, i16 0, i16 0, i16 11381, i16 11382, i16 0, i16 6120, i16 11383, i16 0, i16 11384, i16 0, i16 1058, i16 11385, i16 6125, i16 11386, i16 0, i16 6121, i16 6124, i16 11889, i16 11890, i16 6432, i16 0, i16 2718, i16 0, i16 0, i16 6437, i16 6441, i16 6438, i16 6436, i16 11891, i16 6439, i16 11892, i16 11893, i16 11894, i16 6440, i16 0, i16 0, i16 0, i16 11895, i16 6447, i16 0, i16 0, i16 0, i16 6442, i16 0, i16 11896, i16 11897, i16 11898, i16 11899, i16 2305, i16 10866, i16 940, i16 0, i16 10867, i16 0, i16 5812, i16 5813, i16 0, i16 10868, i16 0, i16 5814, i16 0, i16 3537, i16 0, i16 10869, i16 10870, i16 0, i16 0, i16 1979, i16 0, i16 5816, i16 5815, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10871, i16 0, i16 0, i16 0, i16 10872, i16 3699, i16 4782, i16 2240, i16 0, i16 0, i16 0, i16 4781, i16 0, i16 0, i16 4776, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1544, i16 9169, i16 9170, i16 9171, i16 4788, i16 4786, i16 9172, i16 978, i16 4784, i16 4790, i16 4796, i16 0, i16 9173, i16 9174, i16 9175, i16 0, i16 0, i16 7283, i16 7282, i16 7285, i16 7291, i16 7284, i16 7290, i16 7180, i16 7295, i16 7299, i16 7298, i16 7301, i16 7300, i16 7312, i16 7311, i16 7314, i16 7313, i16 7182, i16 7327, i16 7329, i16 7328, i16 7331, i16 7335, i16 7330, i16 285, i16 7191, i16 7346, i16 7345, i16 7348, i16 7347, i16 7361, i16 7195, i16 7362, i16 9075, i16 4724, i16 1873, i16 1615, i16 4722, i16 9076, i16 9077, i16 0, i16 0, i16 4723, i16 9078, i16 2179, i16 9079, i16 0, i16 9081, i16 4721, i16 0, i16 9080, i16 1794, i16 0, i16 0, i16 0, i16 0, i16 9082, i16 9083, i16 9084, i16 0, i16 9085, i16 9086, i16 4726, i16 4725, i16 4730, i16 1908, i16 0, i16 11233, i16 11234, i16 0, i16 0, i16 6015, i16 11235, i16 0, i16 0, i16 0, i16 0, i16 11236, i16 0, i16 11237, i16 0, i16 11238, i16 3235, i16 0, i16 3379, i16 6055, i16 6054, i16 0, i16 6050, i16 6051, i16 0, i16 861, i16 0, i16 11239, i16 0, i16 11240, i16 6053, i16 1909, i16 0, i16 0, i16 0, i16 2851, i16 5627, i16 5626, i16 0, i16 10612, i16 5623, i16 10613, i16 0, i16 0, i16 3681, i16 0, i16 0, i16 0, i16 0, i16 10614, i16 5632, i16 10615, i16 10616, i16 5636, i16 5633, i16 10617, i16 10618, i16 10619, i16 0, i16 10620, i16 0, i16 10621, i16 0, i16 7797, i16 0, i16 1797, i16 3950, i16 0, i16 7798, i16 0, i16 0, i16 3367, i16 1706, i16 1273, i16 3478, i16 2391, i16 3032, i16 1966, i16 7799, i16 0, i16 0, i16 7800, i16 7801, i16 2006, i16 7802, i16 1945, i16 1958, i16 0, i16 2053, i16 7803, i16 3033, i16 0, i16 7804, i16 7805, i16 3953, i16 12917, i16 0, i16 12918, i16 0, i16 6964, i16 0, i16 6960, i16 0, i16 6961, i16 6957, i16 6963, i16 12919, i16 6959, i16 1093, i16 0, i16 12920, i16 3703, i16 12921, i16 6962, i16 6958, i16 6956, i16 6955, i16 12922, i16 0, i16 12923, i16 12924, i16 12925, i16 6966, i16 12926, i16 0, i16 12927, i16 0, i16 9590, i16 2555, i16 9591, i16 0, i16 5069, i16 9592, i16 5058, i16 0, i16 5064, i16 9593, i16 5071, i16 837, i16 5061, i16 0, i16 5072, i16 9594, i16 9595, i16 2183, i16 0, i16 2030, i16 9596, i16 3194, i16 9597, i16 1699, i16 0, i16 5053, i16 5067, i16 2745, i16 9598, i16 0, i16 0, i16 0, i16 3448, i16 0, i16 6681, i16 2357, i16 12444, i16 0, i16 0, i16 6682, i16 12445, i16 3225, i16 6683, i16 1038, i16 12446, i16 12447, i16 12448, i16 867, i16 0, i16 1176, i16 0, i16 1175, i16 6684, i16 0, i16 6685, i16 0, i16 6686, i16 6687, i16 0, i16 0, i16 0, i16 12449, i16 12450, i16 12451, i16 4472, i16 4470, i16 8699, i16 2401, i16 0, i16 8700, i16 0, i16 4460, i16 1799, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2475, i16 4491, i16 8701, i16 2402, i16 4486, i16 8702, i16 4483, i16 4484, i16 8703, i16 1943, i16 4487, i16 4490, i16 8704, i16 8705, i16 0, i16 0, i16 6008, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11157, i16 3267, i16 11158, i16 5999, i16 0, i16 0, i16 0, i16 991, i16 1551, i16 3104, i16 6009, i16 0, i16 5997, i16 0, i16 11159, i16 6006, i16 11160, i16 11161, i16 0, i16 6016, i16 11162, i16 6001, i16 0, i16 0, i16 9336, i16 3424, i16 4926, i16 4913, i16 9337, i16 0, i16 0, i16 0, i16 9338, i16 1499, i16 936, i16 1090, i16 0, i16 0, i16 4889, i16 0, i16 9339, i16 0, i16 9340, i16 0, i16 9341, i16 2094, i16 4918, i16 9342, i16 4925, i16 1962, i16 1109, i16 9343, i16 0, i16 2545, i16 9344, i16 9345, i16 11640, i16 0, i16 11641, i16 1480, i16 11642, i16 6284, i16 11643, i16 0, i16 0, i16 0, i16 3295, i16 11644, i16 11645, i16 2312, i16 0, i16 11646, i16 0, i16 1301, i16 0, i16 3462, i16 2385, i16 11647, i16 6285, i16 11648, i16 0, i16 0, i16 2194, i16 2611, i16 2119, i16 11649, i16 11650, i16 0, i16 8313, i16 2599, i16 0, i16 4213, i16 0, i16 8314, i16 4215, i16 0, i16 0, i16 4216, i16 8315, i16 0, i16 0, i16 0, i16 8316, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8317, i16 8318, i16 0, i16 0, i16 0, i16 4218, i16 4219, i16 0, i16 8319, i16 0, i16 0, i16 11129, i16 0, i16 11130, i16 0, i16 11131, i16 5980, i16 11132, i16 5988, i16 0, i16 5995, i16 5989, i16 0, i16 0, i16 11133, i16 5987, i16 0, i16 0, i16 0, i16 11134, i16 5958, i16 11135, i16 11136, i16 5985, i16 0, i16 11137, i16 11138, i16 5981, i16 11139, i16 11140, i16 11141, i16 1169, i16 5983, i16 890, i16 11664, i16 6294, i16 1459, i16 0, i16 11665, i16 1857, i16 11666, i16 0, i16 1856, i16 0, i16 3704, i16 6293, i16 6292, i16 2350, i16 0, i16 1260, i16 3694, i16 1053, i16 2121, i16 0, i16 11667, i16 11668, i16 11669, i16 0, i16 11670, i16 11671, i16 11672, i16 6291, i16 0, i16 11673, i16 11674, i16 3962, i16 0, i16 3663, i16 7821, i16 7822, i16 0, i16 3271, i16 7823, i16 2697, i16 1563, i16 1671, i16 0, i16 0, i16 7824, i16 3970, i16 7825, i16 0, i16 2874, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7826, i16 3974, i16 3707, i16 4830, i16 0, i16 0, i16 4844, i16 801, i16 9267, i16 0, i16 4832, i16 9268, i16 9269, i16 3403, i16 4837, i16 2157, i16 2664, i16 4827, i16 9270, i16 9271, i16 4843, i16 9272, i16 0, i16 0, i16 9273, i16 9274, i16 0, i16 2245, i16 4853, i16 1108, i16 1498, i16 0, i16 0, i16 0, i16 11387, i16 0, i16 0, i16 11388, i16 3027, i16 11389, i16 0, i16 11390, i16 0, i16 6122, i16 0, i16 0, i16 6123, i16 3135, i16 3059, i16 6126, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2530, i16 6136, i16 11392, i16 6132, i16 11393, i16 11394, i16 1008, i16 0, i16 2172, i16 0, i16 0, i16 8264, i16 8265, i16 4194, i16 0, i16 8266, i16 8267, i16 3247, i16 8268, i16 0, i16 0, i16 8269, i16 0, i16 1565, i16 8270, i16 0, i16 0, i16 0, i16 0, i16 4203, i16 4204, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2072, i16 0, i16 0, i16 0, i16 6012, i16 0, i16 6011, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2982, i16 6018, i16 0, i16 6029, i16 0, i16 0, i16 11171, i16 0, i16 1121, i16 0, i16 0, i16 0, i16 6032, i16 0, i16 0, i16 6014, i16 11172, i16 0, i16 0, i16 6019, i16 3549, i16 0, i16 0, i16 10108, i16 0, i16 0, i16 10109, i16 5331, i16 0, i16 5336, i16 10110, i16 10111, i16 5334, i16 5333, i16 4684, i16 1033, i16 5332, i16 10112, i16 803, i16 10113, i16 3011, i16 10114, i16 0, i16 3043, i16 0, i16 0, i16 10115, i16 0, i16 3582, i16 5337, i16 5335, i16 2591, i16 2255, i16 10116, i16 10117, i16 7806, i16 874, i16 2392, i16 1590, i16 1534, i16 1380, i16 7807, i16 7808, i16 3957, i16 2532, i16 2531, i16 1320, i16 2065, i16 3958, i16 3956, i16 969, i16 2507, i16 1897, i16 1822, i16 845, i16 0, i16 7809, i16 1107, i16 1661, i16 1821, i16 0, i16 3959, i16 0, i16 0, i16 0, i16 0, i16 0, i16 639, i16 640, i16 7138, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 7135, i16 7140, i16 7137, i16 7139, i16 7142, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6271, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1076, i16 0, i16 11616, i16 11617, i16 11618, i16 11619, i16 11620, i16 0, i16 6272, i16 0, i16 6273, i16 6274, i16 0, i16 0, i16 9087, i16 9088, i16 4731, i16 0, i16 4727, i16 0, i16 1029, i16 4728, i16 4729, i16 3054, i16 9090, i16 9091, i16 9092, i16 0, i16 3160, i16 1445, i16 4732, i16 0, i16 0, i16 9094, i16 2267, i16 9095, i16 2090, i16 9097, i16 9098, i16 9099, i16 2581, i16 9100, i16 9102, i16 0, i16 9093, i16 9096, i16 9599, i16 0, i16 0, i16 0, i16 9600, i16 2271, i16 0, i16 1100, i16 1734, i16 2097, i16 5055, i16 2001, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1447, i16 0, i16 5054, i16 0, i16 0, i16 0, i16 5076, i16 2044, i16 1523, i16 0, i16 5091, i16 9601, i16 5085, i16 8320, i16 8321, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8322, i16 1203, i16 0, i16 4221, i16 4220, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4222, i16 8323, i16 0, i16 8325, i16 0, i16 8326, i16 0, i16 8327, i16 0, i16 0, i16 8576, i16 4395, i16 0, i16 0, i16 8577, i16 8578, i16 0, i16 8579, i16 4396, i16 0, i16 1325, i16 0, i16 4397, i16 8580, i16 4398, i16 0, i16 8581, i16 4400, i16 0, i16 2805, i16 8582, i16 0, i16 4401, i16 4402, i16 8583, i16 4403, i16 0, i16 8584, i16 4388, i16 4387, i16 0, i16 0, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 0, i16 0, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 1665, i16 2915, i16 0, i16 0, i16 5051, i16 0, i16 0, i16 0, i16 9719, i16 9720, i16 0, i16 3555, i16 5149, i16 0, i16 5153, i16 2522, i16 9721, i16 5152, i16 0, i16 5131, i16 0, i16 9722, i16 6697, i16 0, i16 0, i16 9723, i16 5157, i16 0, i16 9724, i16 9725, i16 5161, i16 0, i16 5249, i16 5250, i16 5248, i16 0, i16 0, i16 9900, i16 0, i16 0, i16 0, i16 1950, i16 0, i16 0, i16 2853, i16 1334, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9901, i16 9902, i16 0, i16 0, i16 5252, i16 2543, i16 5251, i16 9903, i16 9904, i16 3680, i16 2973, i16 9905, i16 0, i16 5507, i16 1426, i16 0, i16 0, i16 10420, i16 10421, i16 10422, i16 1247, i16 1222, i16 1846, i16 10423, i16 10424, i16 0, i16 0, i16 0, i16 10425, i16 3491, i16 10426, i16 0, i16 5513, i16 10427, i16 5512, i16 2379, i16 5509, i16 10428, i16 0, i16 5511, i16 10429, i16 10430, i16 2010, i16 2187, i16 5510, i16 11651, i16 6286, i16 0, i16 11652, i16 0, i16 11653, i16 6289, i16 11654, i16 6290, i16 11655, i16 0, i16 0, i16 0, i16 11656, i16 11657, i16 0, i16 1715, i16 2471, i16 6288, i16 11658, i16 2120, i16 3125, i16 11659, i16 11660, i16 11661, i16 0, i16 0, i16 6287, i16 11662, i16 11663, i16 1855, i16 0, i16 5508, i16 0, i16 2917, i16 0, i16 0, i16 2106, i16 0, i16 10431, i16 3123, i16 10432, i16 0, i16 10433, i16 0, i16 1740, i16 0, i16 0, i16 0, i16 0, i16 10434, i16 0, i16 0, i16 0, i16 0, i16 2807, i16 0, i16 10435, i16 5514, i16 10436, i16 10437, i16 0, i16 10438, i16 5515, i16 4485, i16 1972, i16 8706, i16 4488, i16 0, i16 0, i16 4482, i16 8707, i16 3469, i16 3468, i16 8708, i16 0, i16 8709, i16 4492, i16 4493, i16 798, i16 8710, i16 8711, i16 8712, i16 8713, i16 8714, i16 4481, i16 8715, i16 8716, i16 0, i16 8717, i16 1391, i16 751, i16 8718, i16 0, i16 8719, i16 1143, i16 4230, i16 8332, i16 0, i16 4228, i16 0, i16 4229, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8333, i16 8334, i16 0, i16 0, i16 0, i16 1829, i16 4231, i16 8335, i16 0, i16 1597, i16 4232, i16 8336, i16 1869, i16 2461, i16 0, i16 4233, i16 4234, i16 1837, i16 1598, i16 8337, i16 3427, i16 1673, i16 0, i16 3259, i16 5542, i16 10499, i16 10500, i16 3335, i16 10501, i16 10502, i16 5544, i16 0, i16 0, i16 10503, i16 2298, i16 886, i16 959, i16 757, i16 0, i16 0, i16 0, i16 0, i16 10504, i16 10505, i16 5543, i16 0, i16 10506, i16 0, i16 0, i16 10507, i16 10508, i16 0, i16 10509, i16 2441, i16 6521, i16 754, i16 3661, i16 0, i16 0, i16 0, i16 6526, i16 12021, i16 12022, i16 12024, i16 0, i16 12025, i16 12026, i16 2502, i16 12023, i16 0, i16 1988, i16 2197, i16 12027, i16 12028, i16 6528, i16 6527, i16 12029, i16 824, i16 6529, i16 0, i16 0, i16 3110, i16 0, i16 6537, i16 12030, i16 8585, i16 4404, i16 1436, i16 8586, i16 8587, i16 0, i16 3102, i16 8588, i16 0, i16 1729, i16 3118, i16 2631, i16 3138, i16 4405, i16 0, i16 8589, i16 2081, i16 877, i16 8590, i16 4406, i16 8591, i16 8592, i16 0, i16 4407, i16 8593, i16 3459, i16 8594, i16 0, i16 3065, i16 8595, i16 8596, i16 4410, i16 10634, i16 1163, i16 0, i16 5637, i16 0, i16 10635, i16 10636, i16 5638, i16 10637, i16 0, i16 5639, i16 5642, i16 10638, i16 0, i16 0, i16 0, i16 0, i16 10639, i16 0, i16 10640, i16 10641, i16 0, i16 10642, i16 5641, i16 3087, i16 10643, i16 10644, i16 0, i16 0, i16 5643, i16 3657, i16 3266, i16 1675, i16 3402, i16 12998, i16 12997, i16 7003, i16 12999, i16 0, i16 0, i16 0, i16 13000, i16 13001, i16 13002, i16 3301, i16 0, i16 0, i16 7011, i16 13003, i16 0, i16 7007, i16 0, i16 0, i16 0, i16 13004, i16 13005, i16 0, i16 0, i16 7012, i16 13006, i16 13007, i16 0, i16 13008, i16 0, i16 7563, i16 7564, i16 7565, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7566, i16 0, i16 1722, i16 3506, i16 0, i16 7567, i16 7568, i16 0, i16 3804, i16 3807, i16 3803, i16 1721, i16 0, i16 2060, i16 0, i16 7569, i16 7570, i16 0, i16 0, i16 7571, i16 1428, i16 0, i16 3980, i16 7837, i16 0, i16 7838, i16 3982, i16 7839, i16 3984, i16 0, i16 7840, i16 7841, i16 0, i16 1765, i16 3693, i16 7842, i16 3973, i16 3971, i16 3983, i16 7843, i16 3978, i16 0, i16 0, i16 7844, i16 7845, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7846, i16 0, i16 0, i16 7847, i16 9868, i16 953, i16 3679, i16 9869, i16 0, i16 0, i16 0, i16 3333, i16 9870, i16 3199, i16 0, i16 9871, i16 0, i16 0, i16 9872, i16 9873, i16 0, i16 9874, i16 2272, i16 0, i16 5232, i16 0, i16 0, i16 9875, i16 9876, i16 2848, i16 0, i16 9877, i16 9878, i16 1500, i16 5233, i16 9879, i16 11148, i16 6005, i16 0, i16 0, i16 0, i16 2246, i16 0, i16 11149, i16 0, i16 11150, i16 1253, i16 0, i16 1370, i16 0, i16 6000, i16 11151, i16 11152, i16 11153, i16 0, i16 992, i16 11154, i16 0, i16 2113, i16 0, i16 6003, i16 0, i16 0, i16 0, i16 1743, i16 11155, i16 0, i16 2768, i16 4749, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4751, i16 0, i16 9131, i16 4752, i16 0, i16 9132, i16 9133, i16 0, i16 9134, i16 0, i16 4753, i16 0, i16 1351, i16 879, i16 1616, i16 4754, i16 0, i16 4755, i16 2048, i16 2409, i16 9135, i16 9089, i16 3954, i16 2373, i16 2372, i16 2493, i16 9101, i16 1348, i16 0, i16 4733, i16 4737, i16 0, i16 0, i16 976, i16 4734, i16 4736, i16 0, i16 9103, i16 9104, i16 9105, i16 4735, i16 0, i16 9106, i16 2042, i16 9107, i16 0, i16 0, i16 0, i16 2571, i16 782, i16 4738, i16 9108, i16 9109, i16 9110, i16 9111, i16 4739, i16 0, i16 9112, i16 10897, i16 5830, i16 0, i16 0, i16 10898, i16 0, i16 10899, i16 0, i16 5831, i16 0, i16 0, i16 0, i16 10900, i16 0, i16 10901, i16 0, i16 10902, i16 0, i16 0, i16 1883, i16 10903, i16 10904, i16 3454, i16 10905, i16 0, i16 10906, i16 10907, i16 5833, i16 10908, i16 2562, i16 10909, i16 5832, i16 3218, i16 3626, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8131, i16 1017, i16 4128, i16 8132, i16 8133, i16 0, i16 8134, i16 8135, i16 2369, i16 4131, i16 0, i16 2786, i16 8136, i16 0, i16 2760, i16 2787, i16 3026, i16 2670, i16 0, i16 0, i16 0, i16 1726, i16 8137, i16 3731, i16 3303, i16 3732, i16 0, i16 1579, i16 816, i16 3365, i16 0, i16 1307, i16 0, i16 0, i16 1308, i16 1309, i16 2691, i16 3593, i16 7399, i16 3733, i16 0, i16 0, i16 3734, i16 0, i16 0, i16 3735, i16 0, i16 0, i16 7400, i16 2200, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4243, i16 8345, i16 0, i16 4244, i16 8346, i16 2517, i16 8347, i16 846, i16 1946, i16 779, i16 8348, i16 2398, i16 1137, i16 1894, i16 8349, i16 1599, i16 8350, i16 8351, i16 0, i16 8352, i16 8353, i16 2789, i16 8354, i16 1968, i16 1138, i16 2603, i16 2699, i16 769, i16 1240, i16 3274, i16 0, i16 1907, i16 7060, i16 0, i16 0, i16 0, i16 13092, i16 7061, i16 0, i16 13093, i16 7062, i16 0, i16 0, i16 0, i16 13094, i16 13095, i16 13096, i16 7063, i16 13097, i16 13098, i16 13099, i16 0, i16 7064, i16 13100, i16 7065, i16 7066, i16 13101, i16 7067, i16 0, i16 7068, i16 7069, i16 7070, i16 0, i16 13102, i16 7572, i16 0, i16 3808, i16 7573, i16 7574, i16 1356, i16 0, i16 7575, i16 0, i16 3805, i16 3806, i16 0, i16 7576, i16 2828, i16 7577, i16 2435, i16 7578, i16 1312, i16 0, i16 7579, i16 7580, i16 3328, i16 3809, i16 0, i16 7581, i16 0, i16 3594, i16 0, i16 7582, i16 7583, i16 3810, i16 7584, i16 6549, i16 6548, i16 6546, i16 5564, i16 1173, i16 12043, i16 0, i16 6514, i16 12044, i16 6551, i16 6550, i16 12045, i16 12046, i16 0, i16 12047, i16 6552, i16 12048, i16 3495, i16 0, i16 0, i16 0, i16 12049, i16 0, i16 12050, i16 12051, i16 12052, i16 0, i16 12053, i16 0, i16 0, i16 0, i16 0, i16 2710, i16 2000, i16 1280, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9490, i16 9491, i16 0, i16 9492, i16 3039, i16 9493, i16 1887, i16 0, i16 9494, i16 0, i16 9495, i16 5004, i16 0, i16 1153, i16 0, i16 9496, i16 927, i16 9497, i16 9498, i16 2895, i16 5003, i16 1621, i16 10390, i16 10391, i16 0, i16 0, i16 10387, i16 0, i16 10392, i16 5497, i16 3348, i16 0, i16 10393, i16 0, i16 5496, i16 0, i16 0, i16 820, i16 0, i16 0, i16 10394, i16 10395, i16 5500, i16 0, i16 10397, i16 10398, i16 0, i16 0, i16 10399, i16 10400, i16 0, i16 5499, i16 0, i16 10401, i16 12184, i16 12185, i16 0, i16 0, i16 12186, i16 12187, i16 12188, i16 12189, i16 0, i16 12190, i16 12191, i16 0, i16 12192, i16 2876, i16 1062, i16 0, i16 12193, i16 6601, i16 12194, i16 12195, i16 6598, i16 6600, i16 12196, i16 0, i16 12197, i16 0, i16 0, i16 0, i16 12198, i16 12199, i16 6596, i16 0, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 3481, i16 0, i16 8676, i16 1142, i16 8677, i16 8678, i16 896, i16 4468, i16 8679, i16 2933, i16 758, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8680, i16 8681, i16 3066, i16 4428, i16 4474, i16 4478, i16 3446, i16 8682, i16 4471, i16 0, i16 0, i16 8683, i16 2792, i16 4476, i16 8684, i16 0, i16 9113, i16 0, i16 2635, i16 0, i16 9114, i16 0, i16 3646, i16 0, i16 0, i16 0, i16 0, i16 1814, i16 0, i16 9115, i16 3264, i16 0, i16 0, i16 9116, i16 9117, i16 0, i16 3312, i16 9118, i16 0, i16 0, i16 4746, i16 4741, i16 0, i16 9119, i16 4744, i16 0, i16 4743, i16 9120, i16 922, i16 2387, i16 12036, i16 1512, i16 0, i16 3529, i16 12037, i16 12038, i16 6541, i16 2731, i16 0, i16 0, i16 12039, i16 2431, i16 1928, i16 6542, i16 12040, i16 0, i16 6545, i16 0, i16 12041, i16 2036, i16 6543, i16 2354, i16 2353, i16 12042, i16 813, i16 0, i16 3608, i16 6547, i16 0, i16 3083, i16 2714, i16 5730, i16 10770, i16 0, i16 5726, i16 10771, i16 10772, i16 0, i16 3241, i16 1164, i16 10773, i16 10774, i16 3420, i16 10775, i16 0, i16 807, i16 0, i16 10776, i16 5729, i16 0, i16 3658, i16 10777, i16 10778, i16 0, i16 0, i16 10779, i16 10780, i16 5728, i16 0, i16 0, i16 0, i16 0, i16 11930, i16 11931, i16 0, i16 11932, i16 11933, i16 6468, i16 6465, i16 11934, i16 6469, i16 0, i16 1927, i16 6470, i16 1231, i16 1422, i16 0, i16 11935, i16 0, i16 11936, i16 1511, i16 0, i16 11937, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6471, i16 11938, i16 0, i16 0, i16 2893, i16 11419, i16 0, i16 0, i16 11420, i16 0, i16 11421, i16 0, i16 0, i16 0, i16 2319, i16 0, i16 3684, i16 6148, i16 11422, i16 6149, i16 0, i16 0, i16 0, i16 0, i16 6155, i16 0, i16 2165, i16 0, i16 6151, i16 11423, i16 6154, i16 0, i16 0, i16 0, i16 11424, i16 0, i16 6146, i16 11675, i16 0, i16 6296, i16 11676, i16 6297, i16 6295, i16 11677, i16 1553, i16 0, i16 3503, i16 0, i16 11678, i16 1858, i16 2914, i16 0, i16 11679, i16 11680, i16 6300, i16 11681, i16 2281, i16 0, i16 2565, i16 11682, i16 11683, i16 3493, i16 11684, i16 6303, i16 0, i16 0, i16 0, i16 1573, i16 11685, i16 10140, i16 10141, i16 5356, i16 5358, i16 10142, i16 3129, i16 10143, i16 2102, i16 0, i16 0, i16 5365, i16 0, i16 10144, i16 5364, i16 10145, i16 10146, i16 0, i16 0, i16 5366, i16 0, i16 1879, i16 1700, i16 0, i16 10147, i16 2806, i16 5367, i16 0, i16 2668, i16 10148, i16 0, i16 5369, i16 10149, i16 10396, i16 2105, i16 0, i16 0, i16 0, i16 0, i16 10402, i16 5501, i16 0, i16 0, i16 0, i16 0, i16 10403, i16 0, i16 2378, i16 0, i16 10404, i16 5503, i16 5502, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5504, i16 10405, i16 0, i16 10406, i16 0, i16 10407, i16 10408, i16 5789, i16 10839, i16 0, i16 10840, i16 10841, i16 10842, i16 10843, i16 5792, i16 5790, i16 5791, i16 1750, i16 1454, i16 0, i16 10844, i16 2585, i16 0, i16 3020, i16 10845, i16 2047, i16 0, i16 0, i16 2952, i16 0, i16 3078, i16 5793, i16 4539, i16 0, i16 0, i16 0, i16 10846, i16 10847, i16 10848, i16 10910, i16 0, i16 0, i16 0, i16 10911, i16 0, i16 5835, i16 0, i16 0, i16 0, i16 5834, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5836, i16 0, i16 0, i16 0, i16 2276, i16 0, i16 5837, i16 0, i16 5838, i16 0, i16 0, i16 0, i16 3214, i16 5839, i16 12702, i16 12703, i16 6839, i16 0, i16 0, i16 6841, i16 12704, i16 12705, i16 12706, i16 6840, i16 0, i16 6843, i16 6846, i16 12707, i16 12708, i16 0, i16 6842, i16 6844, i16 6845, i16 0, i16 12709, i16 6847, i16 0, i16 1343, i16 12710, i16 12711, i16 0, i16 12712, i16 12713, i16 0, i16 12714, i16 12715, i16 1951, i16 9987, i16 0, i16 9988, i16 0, i16 5280, i16 9989, i16 9990, i16 0, i16 9991, i16 1433, i16 0, i16 0, i16 3042, i16 5281, i16 0, i16 0, i16 5308, i16 0, i16 0, i16 9992, i16 9993, i16 0, i16 9994, i16 5287, i16 9995, i16 9996, i16 9997, i16 0, i16 9998, i16 1526, i16 9999, i16 5279, i16 0, i16 982, i16 0, i16 0, i16 9976, i16 9977, i16 0, i16 5275, i16 9978, i16 1804, i16 9979, i16 9980, i16 2658, i16 5277, i16 9981, i16 0, i16 0, i16 9982, i16 9983, i16 0, i16 0, i16 9984, i16 0, i16 0, i16 9985, i16 0, i16 0, i16 0, i16 9986, i16 5282, i16 0, i16 5535, i16 10488, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10489, i16 0, i16 0, i16 0, i16 10490, i16 0, i16 10491, i16 1952, i16 10492, i16 10493, i16 5538, i16 825, i16 0, i16 10494, i16 10495, i16 0, i16 5541, i16 10496, i16 10497, i16 10498, i16 5539, i16 985, i16 1449, i16 5540, i16 1629, i16 2976, i16 11805, i16 1510, i16 6388, i16 6387, i16 0, i16 3169, i16 0, i16 11806, i16 0, i16 1906, i16 0, i16 11807, i16 2769, i16 0, i16 11808, i16 11809, i16 0, i16 11810, i16 0, i16 0, i16 11811, i16 0, i16 11812, i16 11813, i16 0, i16 6391, i16 6392, i16 1647, i16 6390, i16 11814, i16 11815, i16 9632, i16 0, i16 823, i16 0, i16 0, i16 5106, i16 0, i16 9633, i16 0, i16 0, i16 5094, i16 0, i16 0, i16 9634, i16 9635, i16 5100, i16 0, i16 9636, i16 5102, i16 9637, i16 0, i16 0, i16 3518, i16 5097, i16 0, i16 0, i16 2733, i16 9638, i16 0, i16 5099, i16 0, i16 9639, i16 10912, i16 2422, i16 5840, i16 0, i16 10913, i16 0, i16 10914, i16 0, i16 5841, i16 0, i16 0, i16 0, i16 0, i16 10915, i16 0, i16 3659, i16 5844, i16 10916, i16 5843, i16 5842, i16 2641, i16 10917, i16 5845, i16 2161, i16 0, i16 5846, i16 0, i16 0, i16 0, i16 5847, i16 3683, i16 5848, i16 5537, i16 1365, i16 0, i16 0, i16 3688, i16 2364, i16 0, i16 0, i16 0, i16 0, i16 5516, i16 10439, i16 10440, i16 983, i16 2712, i16 3190, i16 0, i16 10441, i16 0, i16 10442, i16 10443, i16 10444, i16 10445, i16 0, i16 10446, i16 0, i16 0, i16 10447, i16 10448, i16 5517, i16 0, i16 0, i16 9121, i16 4740, i16 9122, i16 9123, i16 4745, i16 0, i16 0, i16 2875, i16 9124, i16 4742, i16 0, i16 0, i16 9125, i16 0, i16 9126, i16 9127, i16 0, i16 0, i16 0, i16 0, i16 9128, i16 0, i16 4747, i16 0, i16 0, i16 2043, i16 4748, i16 9129, i16 3514, i16 2995, i16 0, i16 9130, i16 4770, i16 2143, i16 3438, i16 4772, i16 4773, i16 3543, i16 9153, i16 0, i16 0, i16 0, i16 4778, i16 0, i16 9154, i16 1617, i16 9155, i16 2960, i16 4775, i16 2795, i16 4712, i16 4716, i16 9156, i16 1262, i16 9157, i16 2946, i16 0, i16 0, i16 0, i16 9158, i16 4777, i16 0, i16 2091, i16 3037, i16 932, i16 2261, i16 4409, i16 4408, i16 1437, i16 2489, i16 0, i16 4414, i16 4412, i16 8597, i16 4411, i16 3572, i16 1566, i16 8598, i16 0, i16 8599, i16 2056, i16 4413, i16 2763, i16 1997, i16 0, i16 0, i16 8600, i16 2845, i16 4417, i16 4416, i16 0, i16 0, i16 8601, i16 8602, i16 4415, i16 0, i16 10150, i16 10151, i16 3566, i16 5368, i16 10152, i16 0, i16 0, i16 10153, i16 0, i16 2416, i16 0, i16 0, i16 10154, i16 0, i16 10155, i16 10156, i16 5374, i16 10157, i16 5376, i16 5377, i16 2583, i16 0, i16 0, i16 0, i16 0, i16 10158, i16 5375, i16 0, i16 5372, i16 0, i16 5370, i16 5371, i16 9640, i16 9641, i16 5107, i16 9642, i16 5101, i16 3416, i16 0, i16 9643, i16 9644, i16 5096, i16 9645, i16 1875, i16 5120, i16 9646, i16 9647, i16 9648, i16 0, i16 1101, i16 0, i16 5098, i16 5103, i16 5104, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2513, i16 2495, i16 0, i16 4009, i16 7890, i16 0, i16 0, i16 2516, i16 4014, i16 2067, i16 7891, i16 0, i16 7892, i16 7893, i16 0, i16 4011, i16 7894, i16 0, i16 3445, i16 7895, i16 7896, i16 0, i16 1431, i16 0, i16 0, i16 4015, i16 4016, i16 7897, i16 0, i16 7898, i16 7899, i16 4013, i16 4019, i16 7900, i16 0, i16 6057, i16 6061, i16 0, i16 3058, i16 0, i16 0, i16 11253, i16 0, i16 6060, i16 2115, i16 1914, i16 6063, i16 0, i16 0, i16 1339, i16 11254, i16 11255, i16 11256, i16 11257, i16 11258, i16 0, i16 6064, i16 11259, i16 3184, i16 6059, i16 11260, i16 6020, i16 0, i16 11261, i16 11262, i16 11263, i16 11264, i16 10409, i16 0, i16 0, i16 0, i16 0, i16 10410, i16 5474, i16 10411, i16 0, i16 10412, i16 5476, i16 5506, i16 5505, i16 10413, i16 0, i16 0, i16 0, i16 10414, i16 0, i16 0, i16 10415, i16 10416, i16 0, i16 0, i16 0, i16 0, i16 1881, i16 10417, i16 3638, i16 10418, i16 1923, i16 10419, i16 4266, i16 0, i16 4267, i16 8383, i16 3441, i16 0, i16 8384, i16 0, i16 4268, i16 8385, i16 0, i16 8386, i16 8387, i16 1347, i16 8388, i16 0, i16 8389, i16 1969, i16 8390, i16 0, i16 0, i16 8391, i16 8392, i16 0, i16 4269, i16 4270, i16 1933, i16 2167, i16 2897, i16 2207, i16 3089, i16 2909, i16 6315, i16 6323, i16 6316, i16 0, i16 6312, i16 0, i16 2717, i16 6311, i16 0, i16 0, i16 0, i16 6309, i16 11707, i16 3472, i16 1859, i16 0, i16 11708, i16 6313, i16 0, i16 6310, i16 11709, i16 11710, i16 11711, i16 6317, i16 2051, i16 0, i16 1530, i16 0, i16 11712, i16 0, i16 2527, i16 11713, i16 7083, i16 7084, i16 3645, i16 7081, i16 0, i16 0, i16 7085, i16 7086, i16 13145, i16 13146, i16 7088, i16 0, i16 7087, i16 13147, i16 13148, i16 13149, i16 13150, i16 13151, i16 7090, i16 13152, i16 0, i16 13153, i16 7091, i16 7089, i16 0, i16 0, i16 13154, i16 0, i16 0, i16 13155, i16 0, i16 0, i16 11947, i16 0, i16 11948, i16 1078, i16 0, i16 6478, i16 0, i16 11949, i16 11950, i16 1745, i16 6477, i16 0, i16 6486, i16 0, i16 0, i16 11951, i16 11952, i16 0, i16 6480, i16 6482, i16 3258, i16 6479, i16 11953, i16 11954, i16 11955, i16 6481, i16 0, i16 6485, i16 6483, i16 1232, i16 11956, i16 6484, i16 1964, i16 0, i16 12536, i16 12537, i16 6746, i16 12538, i16 6747, i16 2199, i16 6748, i16 12539, i16 3643, i16 0, i16 0, i16 6743, i16 6750, i16 6752, i16 0, i16 6751, i16 0, i16 6749, i16 0, i16 0, i16 6753, i16 0, i16 0, i16 6754, i16 12540, i16 12541, i16 2433, i16 12542, i16 999, i16 0, i16 12716, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8365, i16 8366, i16 1941, i16 4247, i16 1204, i16 2863, i16 3386, i16 4248, i16 0, i16 4249, i16 0, i16 0, i16 3152, i16 8367, i16 0, i16 8368, i16 4251, i16 0, i16 1129, i16 1396, i16 4250, i16 0, i16 8369, i16 8370, i16 8371, i16 8372, i16 8373, i16 1139, i16 0, i16 2173, i16 4255, i16 1780, i16 10159, i16 5373, i16 10160, i16 10161, i16 10162, i16 0, i16 0, i16 10163, i16 10164, i16 5380, i16 10165, i16 5378, i16 10166, i16 5379, i16 0, i16 10167, i16 0, i16 0, i16 10168, i16 10169, i16 0, i16 10170, i16 10171, i16 0, i16 0, i16 10172, i16 0, i16 10173, i16 10174, i16 10175, i16 10176, i16 5381, i16 2480, i16 12493, i16 6712, i16 0, i16 3172, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6715, i16 6713, i16 1654, i16 0, i16 6714, i16 1531, i16 0, i16 12494, i16 0, i16 12495, i16 0, i16 12496, i16 12497, i16 12498, i16 0, i16 0, i16 3226, i16 6717, i16 6719, i16 6718, i16 6720, i16 6065, i16 11276, i16 0, i16 0, i16 2993, i16 11277, i16 11278, i16 6075, i16 6067, i16 11279, i16 6069, i16 11280, i16 11281, i16 0, i16 0, i16 11282, i16 6079, i16 6068, i16 0, i16 11283, i16 6072, i16 0, i16 0, i16 921, i16 11284, i16 2882, i16 0, i16 6073, i16 6076, i16 11285, i16 0, i16 11286, i16 10673, i16 5663, i16 5661, i16 0, i16 5659, i16 1122, i16 10674, i16 2110, i16 5664, i16 0, i16 0, i16 5662, i16 0, i16 5660, i16 5668, i16 0, i16 10675, i16 5667, i16 5666, i16 5665, i16 0, i16 0, i16 10676, i16 10677, i16 0, i16 5669, i16 10678, i16 10679, i16 10680, i16 5670, i16 2275, i16 10681, i16 6834, i16 6830, i16 12689, i16 0, i16 6833, i16 0, i16 12690, i16 12691, i16 1180, i16 0, i16 0, i16 12692, i16 6835, i16 0, i16 6836, i16 0, i16 0, i16 12693, i16 12694, i16 12695, i16 12696, i16 12697, i16 0, i16 0, i16 0, i16 12698, i16 12699, i16 12700, i16 12701, i16 6837, i16 6838, i16 0, i16 11186, i16 3177, i16 6034, i16 2814, i16 11187, i16 11188, i16 762, i16 11189, i16 0, i16 6027, i16 11190, i16 6023, i16 2425, i16 6017, i16 6025, i16 6030, i16 11191, i16 2919, i16 0, i16 11192, i16 11193, i16 755, i16 11194, i16 6022, i16 11195, i16 6031, i16 3183, i16 0, i16 11196, i16 11197, i16 0, i16 0, i16 2228, i16 5817, i16 0, i16 10873, i16 0, i16 10874, i16 5818, i16 0, i16 10875, i16 5819, i16 0, i16 1190, i16 10876, i16 0, i16 10877, i16 10878, i16 1166, i16 0, i16 10879, i16 5820, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5821, i16 10880, i16 3344, i16 3538, i16 10881, i16 10882, i16 10883, i16 2996, i16 0, i16 1154, i16 3655, i16 0, i16 0, i16 9664, i16 0, i16 0, i16 9665, i16 9666, i16 3378, i16 2675, i16 9673, i16 0, i16 9667, i16 9668, i16 5117, i16 5119, i16 9669, i16 0, i16 0, i16 9670, i16 0, i16 2361, i16 0, i16 0, i16 9671, i16 9672, i16 0, i16 5121, i16 5115, i16 4021, i16 7906, i16 7907, i16 4031, i16 2360, i16 0, i16 7908, i16 4033, i16 7909, i16 1593, i16 4023, i16 2624, i16 0, i16 0, i16 7910, i16 7911, i16 0, i16 7912, i16 7913, i16 7914, i16 7915, i16 0, i16 0, i16 7916, i16 4027, i16 4020, i16 1134, i16 0, i16 1199, i16 1096, i16 4028, i16 4024, i16 11957, i16 11958, i16 0, i16 11959, i16 0, i16 11960, i16 6487, i16 11961, i16 11962, i16 2965, i16 3621, i16 0, i16 11963, i16 11964, i16 11965, i16 1987, i16 0, i16 0, i16 0, i16 6488, i16 11966, i16 11967, i16 11968, i16 11969, i16 3473, i16 6490, i16 11970, i16 6489, i16 0, i16 0, i16 6493, i16 3504, i16 7094, i16 13164, i16 13165, i16 13166, i16 0, i16 13167, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8374, i16 974, i16 4254, i16 0, i16 4252, i16 4256, i16 4253, i16 2918, i16 4883, i16 2174, i16 0, i16 4257, i16 0, i16 0, i16 3597, i16 8375, i16 4258, i16 8376, i16 0, i16 4260, i16 8377, i16 2625, i16 4259, i16 0, i16 2252, i16 0, i16 1870, i16 0, i16 0, i16 8378, i16 2485, i16 1960, i16 9142, i16 0, i16 9143, i16 0, i16 0, i16 0, i16 4759, i16 4760, i16 3435, i16 0, i16 3381, i16 3369, i16 3343, i16 1784, i16 4762, i16 0, i16 0, i16 1948, i16 0, i16 9144, i16 3332, i16 0, i16 4764, i16 4767, i16 4766, i16 0, i16 1210, i16 0, i16 0, i16 1279, i16 9145, i16 4763, i16 1975, i16 1847, i16 10458, i16 0, i16 10459, i16 0, i16 0, i16 10460, i16 10461, i16 5525, i16 10462, i16 1976, i16 0, i16 0, i16 0, i16 10463, i16 0, i16 975, i16 3130, i16 0, i16 10464, i16 5526, i16 10465, i16 0, i16 3076, i16 0, i16 10466, i16 0, i16 0, i16 10467, i16 10468, i16 2380, i16 6327, i16 3527, i16 0, i16 0, i16 0, i16 0, i16 6330, i16 0, i16 6333, i16 0, i16 0, i16 6331, i16 3116, i16 11722, i16 0, i16 0, i16 11723, i16 0, i16 0, i16 6328, i16 0, i16 0, i16 0, i16 11724, i16 0, i16 1373, i16 0, i16 0, i16 11725, i16 0, i16 6332, i16 0, i16 6584, i16 6585, i16 12161, i16 12162, i16 0, i16 12163, i16 3049, i16 1736, i16 1938, i16 6586, i16 0, i16 6587, i16 3569, i16 2004, i16 3455, i16 3609, i16 6588, i16 1375, i16 0, i16 12164, i16 12165, i16 0, i16 6589, i16 12166, i16 2722, i16 12167, i16 12168, i16 6592, i16 1115, i16 2198, i16 12169, i16 6590, i16 10936, i16 1550, i16 0, i16 0, i16 838, i16 5859, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10937, i16 10938, i16 5866, i16 10939, i16 5867, i16 10940, i16 10941, i16 2838, i16 0, i16 10942, i16 0, i16 1336, i16 10943, i16 10944, i16 0, i16 5878, i16 2936, i16 10945, i16 0, i16 11448, i16 0, i16 6159, i16 11449, i16 0, i16 0, i16 0, i16 11450, i16 0, i16 0, i16 0, i16 6168, i16 11451, i16 11452, i16 11453, i16 6162, i16 0, i16 11454, i16 0, i16 6170, i16 0, i16 11455, i16 0, i16 0, i16 0, i16 0, i16 3541, i16 6173, i16 0, i16 6164, i16 11456, i16 11457, i16 12216, i16 0, i16 12217, i16 12218, i16 2739, i16 6604, i16 12219, i16 12220, i16 6607, i16 6605, i16 12221, i16 6610, i16 0, i16 12222, i16 12223, i16 12224, i16 6611, i16 12225, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6603, i16 12226, i16 12227, i16 6616, i16 923, i16 12228, i16 12229, i16 6602, i16 0, i16 7865, i16 832, i16 4007, i16 0, i16 0, i16 3999, i16 4000, i16 0, i16 2066, i16 3356, i16 7866, i16 0, i16 7867, i16 4005, i16 4004, i16 7868, i16 0, i16 0, i16 2734, i16 0, i16 0, i16 0, i16 7869, i16 0, i16 0, i16 0, i16 4006, i16 0, i16 7870, i16 4003, i16 7871, i16 7872, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 0, i16 687, i16 7156, i16 7157, i16 7158, i16 7159, i16 7160, i16 7161, i16 7162, i16 7163, i16 7164, i16 7165, i16 7166, i16 0, i16 7167, i16 7168, i16 2490, i16 4430, i16 0, i16 0, i16 8646, i16 1277, i16 4440, i16 2262, i16 908, i16 4434, i16 1021, i16 4439, i16 0, i16 8647, i16 0, i16 1326, i16 0, i16 4436, i16 0, i16 8648, i16 0, i16 8649, i16 0, i16 0, i16 0, i16 0, i16 4442, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12475, i16 6705, i16 6707, i16 0, i16 12476, i16 6706, i16 12477, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1724, i16 0, i16 0, i16 3792, i16 0, i16 9136, i16 0, i16 9137, i16 1481, i16 3484, i16 0, i16 3283, i16 0, i16 3189, i16 9138, i16 4756, i16 0, i16 0, i16 0, i16 9139, i16 1768, i16 2656, i16 4757, i16 3674, i16 0, i16 9140, i16 0, i16 3313, i16 9141, i16 2636, i16 4758, i16 1213, i16 8124, i16 4126, i16 0, i16 0, i16 2698, i16 0, i16 8125, i16 8126, i16 0, i16 0, i16 1135, i16 0, i16 0, i16 8127, i16 0, i16 7095, i16 904, i16 3272, i16 8128, i16 0, i16 2137, i16 2759, i16 0, i16 0, i16 0, i16 8129, i16 1755, i16 0, i16 0, i16 4132, i16 0, i16 8130, i16 5309, i16 0, i16 3122, i16 5310, i16 10082, i16 0, i16 1125, i16 5311, i16 10083, i16 5312, i16 10084, i16 10085, i16 0, i16 0, i16 5313, i16 10086, i16 5315, i16 5316, i16 5314, i16 0, i16 10087, i16 0, i16 3146, i16 5318, i16 5317, i16 0, i16 10088, i16 10089, i16 10090, i16 0, i16 0, i16 10091, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 1470, i16 2526, i16 5138, i16 2934, i16 0, i16 9713, i16 5145, i16 9714, i16 9715, i16 0, i16 9716, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5150, i16 5148, i16 0, i16 0, i16 5151, i16 0, i16 9717, i16 5154, i16 0, i16 0, i16 9718, i16 5147, i16 7873, i16 7874, i16 0, i16 0, i16 859, i16 7875, i16 1707, i16 2171, i16 7876, i16 7877, i16 0, i16 0, i16 7878, i16 7879, i16 7880, i16 4001, i16 2785, i16 0, i16 0, i16 0, i16 4002, i16 7881, i16 747, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1474, i16 1874, i16 0, i16 1362, i16 9412, i16 0, i16 0, i16 937, i16 9413, i16 0, i16 0, i16 9414, i16 9415, i16 0, i16 0, i16 9416, i16 0, i16 0, i16 3534, i16 0, i16 0, i16 9417, i16 9418, i16 4956, i16 4955, i16 4958, i16 1244, i16 9419, i16 0, i16 1363, i16 1151, i16 9420, i16 3523, i16 3682, i16 0, i16 1636, i16 5824, i16 1925, i16 5823, i16 10884, i16 10885, i16 0, i16 10886, i16 5825, i16 1882, i16 10887, i16 10888, i16 10889, i16 2486, i16 10890, i16 5826, i16 10891, i16 10892, i16 1635, i16 10893, i16 3432, i16 5827, i16 5828, i16 0, i16 0, i16 5829, i16 10894, i16 10895, i16 10896, i16 11971, i16 11972, i16 6492, i16 11973, i16 1104, i16 6491, i16 6496, i16 11974, i16 0, i16 6495, i16 0, i16 0, i16 6494, i16 2737, i16 6497, i16 11975, i16 0, i16 11976, i16 11977, i16 11978, i16 11979, i16 11980, i16 0, i16 6498, i16 11981, i16 0, i16 0, i16 0, i16 6499, i16 11982, i16 11983, i16 1667, i16 3012, i16 10118, i16 3108, i16 0, i16 5339, i16 3577, i16 1448, i16 5340, i16 0, i16 5338, i16 3055, i16 5341, i16 0, i16 5342, i16 0, i16 10119, i16 804, i16 10120, i16 0, i16 2147, i16 5347, i16 0, i16 5344, i16 2890, i16 5343, i16 10121, i16 10122, i16 10123, i16 10124, i16 10125, i16 10126, i16 1221, i16 4804, i16 1472, i16 1446, i16 2796, i16 9208, i16 9209, i16 4802, i16 0, i16 783, i16 0, i16 9210, i16 0, i16 9211, i16 4805, i16 4807, i16 0, i16 1354, i16 1415, i16 9193, i16 1149, i16 1258, i16 9212, i16 0, i16 9213, i16 9214, i16 4810, i16 0, i16 9215, i16 1774, i16 3364, i16 0, i16 1802, i16 8900, i16 759, i16 0, i16 4625, i16 0, i16 8901, i16 0, i16 0, i16 0, i16 4622, i16 8902, i16 0, i16 8903, i16 0, i16 1209, i16 0, i16 0, i16 0, i16 8904, i16 8905, i16 910, i16 8906, i16 4628, i16 0, i16 8907, i16 8908, i16 3512, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2501, i16 2430, i16 12015, i16 2821, i16 12016, i16 6516, i16 1268, i16 0, i16 12017, i16 0, i16 0, i16 6525, i16 12018, i16 6522, i16 6535, i16 2822, i16 2595, i16 6519, i16 0, i16 2719, i16 2770, i16 6520, i16 6524, i16 2219, i16 12019, i16 2978, i16 2669, i16 12020, i16 0, i16 2283, i16 6523, i16 2451, i16 4550, i16 8780, i16 0, i16 8781, i16 8782, i16 0, i16 0, i16 8783, i16 4551, i16 4552, i16 3263, i16 0, i16 4554, i16 4553, i16 1998, i16 0, i16 2263, i16 1003, i16 1025, i16 8784, i16 4555, i16 8785, i16 776, i16 0, i16 0, i16 0, i16 2293, i16 4556, i16 8786, i16 6377, i16 4557, i16 1468, i16 12230, i16 12231, i16 3014, i16 0, i16 6606, i16 12232, i16 2125, i16 12233, i16 12234, i16 12235, i16 0, i16 0, i16 0, i16 0, i16 12236, i16 12237, i16 12238, i16 1650, i16 0, i16 0, i16 0, i16 12239, i16 12240, i16 12241, i16 12242, i16 12243, i16 0, i16 12244, i16 12245, i16 12246, i16 3323, i16 12247, i16 1479, i16 11505, i16 6195, i16 11506, i16 6194, i16 11507, i16 1983, i16 0, i16 11508, i16 11509, i16 11510, i16 11511, i16 1643, i16 5033, i16 11512, i16 0, i16 0, i16 11513, i16 6196, i16 2016, i16 0, i16 11514, i16 11515, i16 1052, i16 11516, i16 6197, i16 11517, i16 889, i16 11518, i16 2116, i16 6198, i16 11519, i16 968, i16 0, i16 0, i16 3649, i16 7705, i16 7706, i16 7707, i16 7708, i16 0, i16 2052, i16 2775, i16 1660, i16 3900, i16 3901, i16 0, i16 7709, i16 7710, i16 3634, i16 0, i16 0, i16 3670, i16 3903, i16 7711, i16 7712, i16 7713, i16 1587, i16 7714, i16 7715, i16 3902, i16 7716, i16 1042, i16 0, i16 1224, i16 0, i16 10478, i16 10479, i16 0, i16 0, i16 0, i16 10480, i16 5531, i16 10481, i16 10482, i16 2713, i16 10483, i16 5532, i16 2288, i16 0, i16 0, i16 10484, i16 0, i16 0, i16 3390, i16 10485, i16 0, i16 3098, i16 5533, i16 5534, i16 2584, i16 10486, i16 3604, i16 0, i16 10487, i16 5536, i16 2248, i16 1192, i16 0, i16 0, i16 3497, i16 1010, i16 1991, i16 1556, i16 0, i16 6739, i16 12524, i16 6738, i16 1862, i16 6740, i16 6737, i16 0, i16 0, i16 1787, i16 12525, i16 0, i16 0, i16 6744, i16 6167, i16 0, i16 12527, i16 3952, i16 12528, i16 2242, i16 6742, i16 12529, i16 12530, i16 12531, i16 1225, i16 0, i16 5685, i16 10699, i16 3460, i16 1631, i16 5684, i16 10700, i16 10701, i16 10702, i16 5688, i16 3447, i16 0, i16 2935, i16 0, i16 10703, i16 3114, i16 10704, i16 10705, i16 10706, i16 2034, i16 5687, i16 10707, i16 1924, i16 1632, i16 1849, i16 1288, i16 3211, i16 5686, i16 10708, i16 10709, i16 0, i16 1737, i16 5235, i16 5234, i16 0, i16 9880, i16 0, i16 0, i16 5236, i16 0, i16 9881, i16 0, i16 0, i16 0, i16 9882, i16 9883, i16 0, i16 0, i16 0, i16 5237, i16 9884, i16 0, i16 0, i16 5238, i16 0, i16 0, i16 0, i16 0, i16 9885, i16 0, i16 0, i16 0, i16 0, i16 1993, i16 2201, i16 3740, i16 7401, i16 3738, i16 0, i16 3739, i16 1271, i16 0, i16 0, i16 1688, i16 1013, i16 0, i16 3737, i16 3736, i16 3198, i16 7402, i16 0, i16 0, i16 0, i16 1817, i16 1816, i16 2467, i16 3741, i16 3148, i16 2320, i16 7403, i16 7404, i16 0, i16 245, i16 3742, i16 3744, i16 10953, i16 0, i16 0, i16 5870, i16 10954, i16 0, i16 0, i16 10955, i16 0, i16 5869, i16 0, i16 0, i16 10956, i16 0, i16 0, i16 5871, i16 10957, i16 2537, i16 0, i16 2937, i16 0, i16 10958, i16 0, i16 0, i16 0, i16 2642, i16 10959, i16 0, i16 10960, i16 0, i16 5875, i16 0, i16 714, i16 725, i16 715, i16 726, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 716, i16 0, i16 0, i16 727, i16 717, i16 0, i16 0, i16 728, i16 719, i16 0, i16 0, i16 730, i16 718, i16 0, i16 0, i16 729, i16 720, i16 741, i16 0, i16 0, i16 2762, i16 1913, i16 8396, i16 8397, i16 2399, i16 3561, i16 0, i16 8398, i16 8399, i16 8400, i16 0, i16 0, i16 4278, i16 8401, i16 4279, i16 2867, i16 8402, i16 1798, i16 0, i16 0, i16 8403, i16 8404, i16 4281, i16 0, i16 0, i16 4282, i16 8405, i16 8406, i16 8407, i16 8408, i16 0, i16 0, i16 8650, i16 4444, i16 4454, i16 4452, i16 0, i16 0, i16 4449, i16 8651, i16 8652, i16 8653, i16 4448, i16 3653, i16 8654, i16 4450, i16 0, i16 0, i16 1327, i16 8655, i16 1608, i16 0, i16 8656, i16 2057, i16 8657, i16 8658, i16 0, i16 4457, i16 4443, i16 0, i16 0, i16 8659, i16 0, i16 4447, i16 6348, i16 11745, i16 0, i16 1809, i16 11746, i16 11747, i16 0, i16 0, i16 0, i16 0, i16 4696, i16 11748, i16 6349, i16 11749, i16 6350, i16 11750, i16 1985, i16 0, i16 6351, i16 6352, i16 11751, i16 11752, i16 6353, i16 0, i16 0, i16 6354, i16 6355, i16 0, i16 11753, i16 0, i16 11754, i16 11755, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 482, i16 483, i16 484, i16 485, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 10190, i16 10191, i16 3602, i16 10192, i16 10193, i16 10194, i16 5392, i16 5390, i16 5391, i16 10195, i16 10189, i16 10196, i16 1187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3471, i16 0, i16 0, i16 10197, i16 3231, i16 0, i16 5394, i16 10198, i16 0, i16 0, i16 5393, i16 0, i16 0, i16 10199, i16 11214, i16 6043, i16 11215, i16 0, i16 2594, i16 0, i16 6044, i16 11216, i16 11217, i16 3525, i16 6033, i16 1051, i16 11218, i16 6039, i16 0, i16 11219, i16 6042, i16 3389, i16 0, i16 11220, i16 0, i16 0, i16 6045, i16 0, i16 0, i16 6038, i16 6041, i16 0, i16 11221, i16 0, i16 0, i16 0, i16 8145, i16 8146, i16 0, i16 1322, i16 0, i16 4134, i16 0, i16 8147, i16 8148, i16 8149, i16 8150, i16 0, i16 8151, i16 8152, i16 0, i16 8153, i16 8154, i16 0, i16 0, i16 3261, i16 8155, i16 0, i16 8156, i16 2436, i16 0, i16 0, i16 0, i16 0, i16 2663, i16 8157, i16 0, i16 4136, i16 9937, i16 0, i16 0, i16 2002, i16 0, i16 0, i16 9938, i16 9939, i16 5269, i16 9940, i16 5268, i16 9941, i16 9942, i16 0, i16 9943, i16 9944, i16 5270, i16 9945, i16 1072, i16 0, i16 0, i16 5272, i16 0, i16 9946, i16 5271, i16 9947, i16 5274, i16 5273, i16 9948, i16 0, i16 0, i16 0, i16 11986, i16 11987, i16 0, i16 6505, i16 11988, i16 11989, i16 11990, i16 3899, i16 3898, i16 0, i16 0, i16 0, i16 0, i16 6506, i16 5764, i16 6507, i16 2535, i16 2166, i16 2939, i16 0, i16 0, i16 11991, i16 11992, i16 6508, i16 11993, i16 0, i16 3242, i16 2677, i16 1685, i16 0, i16 11994, i16 2540, i16 3539, i16 0, i16 0, i16 0, i16 9581, i16 5066, i16 5060, i16 5057, i16 9582, i16 0, i16 9583, i16 3617, i16 5063, i16 0, i16 9584, i16 9585, i16 0, i16 2009, i16 5065, i16 0, i16 0, i16 5070, i16 9586, i16 0, i16 2800, i16 5068, i16 0, i16 9587, i16 0, i16 9588, i16 5062, i16 9589, i16 1236, i16 0, i16 3722, i16 0, i16 0, i16 3723, i16 3592, i16 0, i16 3500, i16 2415, i16 3725, i16 1865, i16 2896, i16 7395, i16 3728, i16 0, i16 0, i16 869, i16 1560, i16 0, i16 1559, i16 815, i16 7396, i16 7397, i16 3702, i16 3701, i16 0, i16 1704, i16 746, i16 7398, i16 3729, i16 3730, i16 8916, i16 0, i16 8917, i16 0, i16 8918, i16 8919, i16 4634, i16 0, i16 4638, i16 8920, i16 8921, i16 0, i16 3035, i16 2794, i16 0, i16 8922, i16 8923, i16 0, i16 0, i16 0, i16 4631, i16 8924, i16 4635, i16 0, i16 0, i16 0, i16 1443, i16 0, i16 0, i16 8925, i16 1766, i16 8926, i16 9428, i16 4968, i16 1842, i16 2270, i16 1686, i16 0, i16 3175, i16 9429, i16 0, i16 3255, i16 3695, i16 9430, i16 0, i16 0, i16 9431, i16 1864, i16 9432, i16 0, i16 0, i16 1733, i16 3647, i16 9433, i16 0, i16 0, i16 4969, i16 4970, i16 0, i16 1843, i16 0, i16 9434, i16 9435, i16 4971, i16 12756, i16 0, i16 12757, i16 12758, i16 12759, i16 0, i16 0, i16 12760, i16 2482, i16 0, i16 0, i16 6870, i16 0, i16 12761, i16 12762, i16 0, i16 2826, i16 0, i16 0, i16 12763, i16 0, i16 12764, i16 12765, i16 6871, i16 12766, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6876, i16 0, i16 7381, i16 7382, i16 3719, i16 2928, i16 7383, i16 1270, i16 0, i16 7384, i16 0, i16 0, i16 0, i16 2930, i16 0, i16 2880, i16 1532, i16 3302, i16 0, i16 7385, i16 0, i16 0, i16 0, i16 6101, i16 3720, i16 2133, i16 3721, i16 954, i16 7386, i16 0, i16 7387, i16 1378, i16 1577, i16 3450, i16 1238, i16 3818, i16 3819, i16 7595, i16 948, i16 0, i16 7596, i16 7597, i16 7598, i16 3817, i16 0, i16 7599, i16 7600, i16 7601, i16 7602, i16 0, i16 7604, i16 0, i16 1957, i16 0, i16 3822, i16 3821, i16 3820, i16 7605, i16 3764, i16 7606, i16 3823, i16 7607, i16 7608, i16 7609, i16 7610, i16 2061, i16 10967, i16 10968, i16 0, i16 0, i16 0, i16 5881, i16 5882, i16 10969, i16 10970, i16 10971, i16 0, i16 1953, i16 0, i16 10972, i16 5880, i16 10973, i16 1679, i16 5879, i16 0, i16 0, i16 5883, i16 0, i16 0, i16 10974, i16 2643, i16 3191, i16 2346, i16 0, i16 0, i16 0, i16 0, i16 2497, i16 3800, i16 7547, i16 0, i16 7548, i16 7549, i16 3802, i16 7550, i16 0, i16 0, i16 0, i16 7551, i16 0, i16 0, i16 3304, i16 7552, i16 7553, i16 7554, i16 1473, i16 7555, i16 7556, i16 7557, i16 0, i16 7558, i16 0, i16 1796, i16 3088, i16 3801, i16 7559, i16 7560, i16 0, i16 7561, i16 7562, i16 4569, i16 0, i16 0, i16 4567, i16 8807, i16 0, i16 0, i16 0, i16 4570, i16 0, i16 0, i16 0, i16 0, i16 8808, i16 3206, i16 8809, i16 0, i16 768, i16 0, i16 8810, i16 0, i16 0, i16 3157, i16 0, i16 0, i16 3068, i16 8811, i16 0, i16 4571, i16 8812, i16 4574, i16 2082, i16 4825, i16 9235, i16 2092, i16 9236, i16 0, i16 9237, i16 4163, i16 1569, i16 3563, i16 9238, i16 9239, i16 0, i16 0, i16 4816, i16 9240, i16 2709, i16 1030, i16 1698, i16 9241, i16 4808, i16 0, i16 4824, i16 1092, i16 0, i16 0, i16 4822, i16 4826, i16 9242, i16 2797, i16 0, i16 0, i16 0, i16 9177, i16 2477, i16 9178, i16 9179, i16 3222, i16 9180, i16 4798, i16 0, i16 9181, i16 9182, i16 3097, i16 0, i16 0, i16 0, i16 4797, i16 2987, i16 3314, i16 1148, i16 9183, i16 2336, i16 1999, i16 0, i16 0, i16 9184, i16 2676, i16 9185, i16 3485, i16 0, i16 9186, i16 4793, i16 4792, i16 0, i16 1242, i16 0, i16 4572, i16 4579, i16 2083, i16 0, i16 0, i16 0, i16 0, i16 4573, i16 2943, i16 0, i16 0, i16 8813, i16 8814, i16 8815, i16 8816, i16 3533, i16 4575, i16 4576, i16 4580, i16 2793, i16 4577, i16 1610, i16 2311, i16 0, i16 0, i16 4594, i16 3021, i16 0, i16 2519, i16 0, i16 6874, i16 12768, i16 6873, i16 6875, i16 12769, i16 6872, i16 0, i16 12767, i16 0, i16 0, i16 12770, i16 12771, i16 12772, i16 6878, i16 12773, i16 0, i16 0, i16 12774, i16 0, i16 0, i16 12775, i16 6877, i16 12776, i16 6880, i16 0, i16 0, i16 1344, i16 6879, i16 0, i16 12777, i16 0, i16 6881, i16 11995, i16 11996, i16 849, i16 0, i16 3371, i16 2210, i16 11997, i16 0, i16 0, i16 0, i16 11998, i16 11999, i16 0, i16 12000, i16 1465, i16 0, i16 12001, i16 1374, i16 12002, i16 12003, i16 3243, i16 12004, i16 0, i16 0, i16 0, i16 0, i16 6509, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1245, i16 0, i16 5239, i16 0, i16 0, i16 0, i16 0, i16 5240, i16 9886, i16 0, i16 0, i16 0, i16 1501, i16 9887, i16 9888, i16 3041, i16 0, i16 9889, i16 5242, i16 0, i16 9890, i16 0, i16 2146, i16 0, i16 0, i16 5241, i16 0, i16 0, i16 0, i16 0, i16 9891, i16 0, i16 7901, i16 7902, i16 0, i16 4010, i16 7903, i16 0, i16 7904, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4025, i16 4030, i16 0, i16 4026, i16 7905, i16 9949, i16 9950, i16 0, i16 9951, i16 1525, i16 9952, i16 9953, i16 3573, i16 0, i16 1353, i16 0, i16 939, i16 0, i16 0, i16 9954, i16 0, i16 9955, i16 0, i16 0, i16 9956, i16 0, i16 9957, i16 1383, i16 9958, i16 9959, i16 0, i16 0, i16 0, i16 9960, i16 0, i16 9961, i16 9962, i16 222, i16 223, i16 224, i16 244, i16 0, i16 246, i16 247, i16 248, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 324, i16 329, i16 265, i16 266, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 254, i16 0, i16 0, i16 0, i16 4062, i16 0, i16 0, i16 0, i16 7982, i16 7983, i16 4061, i16 1064, i16 7984, i16 0, i16 4063, i16 7985, i16 7986, i16 0, i16 0, i16 4066, i16 0, i16 0, i16 0, i16 0, i16 4065, i16 7987, i16 0, i16 0, i16 0, i16 7988, i16 7989, i16 0, i16 0, i16 7990, i16 7991, i16 7992, i16 8158, i16 8159, i16 8160, i16 0, i16 0, i16 0, i16 8161, i16 0, i16 3330, i16 8162, i16 0, i16 4137, i16 0, i16 0, i16 4142, i16 0, i16 0, i16 8163, i16 8164, i16 3204, i16 0, i16 0, i16 0, i16 0, i16 4141, i16 4135, i16 4138, i16 4140, i16 8166, i16 0, i16 1691, i16 0, i16 10718, i16 10719, i16 1977, i16 1527, i16 2383, i16 5689, i16 5695, i16 10720, i16 10721, i16 0, i16 0, i16 5690, i16 1451, i16 10722, i16 5698, i16 5702, i16 1478, i16 10723, i16 0, i16 10724, i16 0, i16 0, i16 5697, i16 10725, i16 0, i16 10726, i16 10727, i16 5706, i16 10728, i16 10729, i16 1633, i16 0, i16 736, i16 0, i16 0, i16 731, i16 722, i16 743, i16 0, i16 0, i16 738, i16 0, i16 0, i16 733, i16 721, i16 0, i16 0, i16 737, i16 742, i16 0, i16 0, i16 732, i16 723, i16 0, i16 0, i16 739, i16 744, i16 0, i16 0, i16 734, i16 724, i16 0, i16 0, i16 740, i16 2784, i16 7664, i16 7665, i16 2202, i16 3871, i16 7666, i16 3201, i16 2307, i16 1123, i16 0, i16 1130, i16 3872, i16 0, i16 0, i16 3874, i16 0, i16 0, i16 1429, i16 7667, i16 7668, i16 3873, i16 7669, i16 7670, i16 3648, i16 7671, i16 0, i16 0, i16 0, i16 0, i16 2040, i16 0, i16 0, i16 4064, i16 0, i16 2932, i16 0, i16 0, i16 4067, i16 7993, i16 7994, i16 7995, i16 7996, i16 0, i16 7997, i16 7998, i16 7999, i16 4068, i16 0, i16 0, i16 8000, i16 0, i16 8001, i16 4070, i16 0, i16 4069, i16 8002, i16 0, i16 0, i16 0, i16 0, i16 4072, i16 0, i16 8003, i16 0, i16 8416, i16 945, i16 8417, i16 8418, i16 0, i16 0, i16 8419, i16 0, i16 2370, i16 1189, i16 8420, i16 4287, i16 3385, i16 0, i16 0, i16 0, i16 0, i16 2487, i16 8421, i16 1084, i16 8422, i16 8423, i16 4289, i16 4291, i16 1184, i16 0, i16 8424, i16 4288, i16 4290, i16 0, i16 4293, i16 0, i16 9441, i16 0, i16 9442, i16 9443, i16 4979, i16 0, i16 0, i16 0, i16 9444, i16 9445, i16 4980, i16 4981, i16 9446, i16 9447, i16 9448, i16 4982, i16 9449, i16 4984, i16 4983, i16 4985, i16 938, i16 2573, i16 0, i16 4986, i16 9450, i16 9451, i16 1785, i16 1071, i16 4987, i16 9452, i16 9453, i16 2753, i16 12257, i16 0, i16 0, i16 0, i16 12258, i16 12259, i16 0, i16 12260, i16 12261, i16 0, i16 0, i16 12262, i16 0, i16 2355, i16 0, i16 12263, i16 0, i16 0, i16 12264, i16 0, i16 0, i16 0, i16 12265, i16 6619, i16 12266, i16 6618, i16 12267, i16 12268, i16 12269, i16 12270, i16 0, i16 12271, i16 10469, i16 5529, i16 10470, i16 5530, i16 2980, i16 10471, i16 2188, i16 5527, i16 0, i16 2596, i16 10472, i16 10473, i16 5528, i16 10474, i16 0, i16 0, i16 2107, i16 10475, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10476, i16 0, i16 0, i16 805, i16 10477, i16 0, i16 0, i16 0, i16 12005, i16 0, i16 6511, i16 12006, i16 12007, i16 6510, i16 997, i16 0, i16 12008, i16 2899, i16 6512, i16 2994, i16 0, i16 2738, i16 12009, i16 6513, i16 2017, i16 12010, i16 0, i16 0, i16 6515, i16 12011, i16 12012, i16 3411, i16 6530, i16 6517, i16 6518, i16 12013, i16 0, i16 2666, i16 12014, i16 0, i16 1254, i16 0, i16 12579, i16 6786, i16 0, i16 0, i16 6785, i16 0, i16 6784, i16 0, i16 0, i16 6329, i16 12580, i16 3249, i16 12581, i16 0, i16 0, i16 12582, i16 12583, i16 6787, i16 6788, i16 12584, i16 12585, i16 0, i16 12586, i16 12587, i16 12588, i16 0, i16 12589, i16 0, i16 12590, i16 12591, i16 9702, i16 5142, i16 0, i16 5141, i16 5143, i16 9703, i16 9704, i16 9705, i16 9706, i16 0, i16 5146, i16 0, i16 0, i16 0, i16 9707, i16 9708, i16 9709, i16 2754, i16 0, i16 5140, i16 0, i16 9710, i16 9711, i16 0, i16 0, i16 5144, i16 0, i16 0, i16 9712, i16 0, i16 0, i16 0, i16 2280, i16 6299, i16 0, i16 6304, i16 1574, i16 6301, i16 6302, i16 11686, i16 6298, i16 11687, i16 0, i16 0, i16 2315, i16 2854, i16 11688, i16 11689, i16 2546, i16 0, i16 994, i16 11690, i16 0, i16 0, i16 11691, i16 11692, i16 0, i16 3081, i16 0, i16 11693, i16 1250, i16 0, i16 11694, i16 2645, i16 10216, i16 0, i16 10217, i16 10218, i16 10219, i16 10220, i16 10221, i16 10222, i16 10223, i16 0, i16 10224, i16 0, i16 0, i16 10225, i16 3074, i16 0, i16 5416, i16 0, i16 0, i16 0, i16 5417, i16 0, i16 0, i16 7073, i16 5418, i16 5419, i16 5420, i16 0, i16 0, i16 10226, i16 0, i16 1793, i16 6633, i16 0, i16 0, i16 0, i16 12337, i16 12338, i16 0, i16 12339, i16 0, i16 12340, i16 12341, i16 0, i16 1416, i16 12342, i16 6635, i16 12343, i16 12344, i16 12345, i16 0, i16 12346, i16 12347, i16 1513, i16 12348, i16 0, i16 0, i16 0, i16 12349, i16 0, i16 6634, i16 12350, i16 2126, i16 12351, i16 8938, i16 8939, i16 0, i16 8940, i16 0, i16 0, i16 0, i16 4640, i16 0, i16 3347, i16 0, i16 0, i16 0, i16 8941, i16 0, i16 4641, i16 0, i16 0, i16 0, i16 8942, i16 8943, i16 0, i16 4642, i16 0, i16 3423, i16 0, i16 2251, i16 8944, i16 0, i16 8945, i16 0, i16 0, i16 235, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 269, i16 256, i16 270, i16 7109, i16 0, i16 4075, i16 4073, i16 4071, i16 4074, i16 0, i16 8004, i16 0, i16 0, i16 4076, i16 8005, i16 8006, i16 8007, i16 8010, i16 8011, i16 4077, i16 8008, i16 8009, i16 4078, i16 0, i16 4079, i16 0, i16 0, i16 0, i16 4080, i16 3841, i16 8012, i16 1965, i16 1824, i16 8013, i16 8014, i16 1016, i16 8015, i16 6891, i16 12790, i16 0, i16 12791, i16 2236, i16 0, i16 12792, i16 0, i16 12793, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12794, i16 6892, i16 12795, i16 6893, i16 12796, i16 6894, i16 6895, i16 12797, i16 12798, i16 12799, i16 1657, i16 0, i16 0, i16 12800, i16 12801, i16 0, i16 6896, i16 6897, i16 9963, i16 0, i16 9964, i16 0, i16 0, i16 9965, i16 9966, i16 0, i16 0, i16 1186, i16 9967, i16 9968, i16 0, i16 9969, i16 0, i16 0, i16 0, i16 0, i16 3637, i16 5276, i16 0, i16 9970, i16 0, i16 9971, i16 0, i16 9972, i16 0, i16 5278, i16 9973, i16 9974, i16 0, i16 9975, i16 7405, i16 7406, i16 7407, i16 2506, i16 3630, i16 787, i16 0, i16 0, i16 7408, i16 0, i16 0, i16 0, i16 0, i16 3743, i16 963, i16 7409, i16 1345, i16 7410, i16 2602, i16 7411, i16 0, i16 7412, i16 1482, i16 3745, i16 0, i16 0, i16 0, i16 2911, i16 0, i16 7413, i16 7414, i16 7415, i16 494, i16 495, i16 496, i16 497, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 232, i16 233, i16 242, i16 243, i16 0, i16 750, i16 3137, i16 3994, i16 0, i16 3990, i16 0, i16 7861, i16 3985, i16 3991, i16 1725, i16 7862, i16 0, i16 0, i16 7863, i16 7864, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3998, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12272, i16 12273, i16 12274, i16 12275, i16 0, i16 12276, i16 12277, i16 12278, i16 12279, i16 0, i16 0, i16 12280, i16 12281, i16 12282, i16 12283, i16 6617, i16 12284, i16 0, i16 3298, i16 12285, i16 0, i16 12286, i16 0, i16 12287, i16 12288, i16 12289, i16 0, i16 0, i16 12290, i16 12291, i16 0, i16 12292, i16 1009, i16 6386, i16 3667, i16 2659, i16 3696, i16 11796, i16 11797, i16 1860, i16 6385, i16 11798, i16 2454, i16 11799, i16 0, i16 6402, i16 2351, i16 11800, i16 0, i16 2901, i16 0, i16 3143, i16 0, i16 11802, i16 11801, i16 0, i16 0, i16 11803, i16 6389, i16 1810, i16 1861, i16 11804, i16 2123, i16 0, i16 4849, i16 4836, i16 0, i16 4846, i16 0, i16 9254, i16 0, i16 4840, i16 9255, i16 0, i16 9256, i16 9257, i16 9258, i16 9259, i16 2180, i16 4850, i16 9260, i16 9261, i16 2268, i16 0, i16 0, i16 9262, i16 9263, i16 0, i16 0, i16 4848, i16 1150, i16 9264, i16 9265, i16 9266, i16 0, i16 0, i16 13041, i16 0, i16 0, i16 0, i16 0, i16 13042, i16 7028, i16 13043, i16 0, i16 13044, i16 0, i16 13045, i16 0, i16 7029, i16 13046, i16 7030, i16 13047, i16 0, i16 3700, i16 13048, i16 13049, i16 0, i16 0, i16 0, i16 7027, i16 2512, i16 1762, i16 0, i16 0, i16 7031, i16 13050, i16 0, i16 6130, i16 0, i16 3293, i16 6131, i16 11395, i16 11396, i16 6128, i16 11397, i16 6129, i16 6134, i16 6137, i16 11398, i16 0, i16 6135, i16 11399, i16 11400, i16 11401, i16 6133, i16 6127, i16 11402, i16 11403, i16 0, i16 0, i16 0, i16 2587, i16 11404, i16 6144, i16 0, i16 3387, i16 0, i16 11405, i16 11406, i16 4083, i16 8027, i16 8028, i16 3253, i16 4085, i16 0, i16 0, i16 8029, i16 4087, i16 4086, i16 8030, i16 4088, i16 8031, i16 4089, i16 0, i16 1490, i16 0, i16 8032, i16 903, i16 4090, i16 0, i16 8033, i16 4092, i16 0, i16 4091, i16 0, i16 8034, i16 8035, i16 4094, i16 8036, i16 0, i16 2777, i16 3830, i16 829, i16 7623, i16 1518, i16 1430, i16 1995, i16 2622, i16 1313, i16 2321, i16 1584, i16 7624, i16 1669, i16 3832, i16 3417, i16 2757, i16 7625, i16 1868, i16 0, i16 3831, i16 7626, i16 3833, i16 7627, i16 0, i16 7628, i16 7629, i16 0, i16 2781, i16 0, i16 1112, i16 0, i16 0, i16 7630, i16 3320, i16 897, i16 811, i16 0, i16 2818, i16 11714, i16 11715, i16 6321, i16 0, i16 0, i16 11721, i16 11716, i16 6320, i16 0, i16 2883, i16 0, i16 6325, i16 11717, i16 0, i16 0, i16 6314, i16 0, i16 6324, i16 6326, i16 0, i16 1509, i16 6322, i16 1645, i16 11718, i16 1926, i16 11719, i16 11720, i16 3576, i16 1731, i16 2552, i16 4614, i16 8885, i16 2309, i16 8886, i16 1612, i16 2223, i16 909, i16 2371, i16 4612, i16 1252, i16 8887, i16 8888, i16 8889, i16 0, i16 0, i16 1442, i16 0, i16 2672, i16 4618, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2406, i16 0, i16 8890, i16 4621, i16 0, i16 7416, i16 1196, i16 7417, i16 7418, i16 0, i16 0, i16 0, i16 0, i16 7419, i16 3746, i16 788, i16 7420, i16 7421, i16 1561, i16 1197, i16 3185, i16 3019, i16 1272, i16 7422, i16 0, i16 0, i16 7423, i16 7424, i16 7425, i16 0, i16 7426, i16 1014, i16 0, i16 3781, i16 2752, i16 0, i16 0, i16 1529, i16 0, i16 2716, i16 6278, i16 11631, i16 11632, i16 0, i16 11633, i16 1458, i16 0, i16 2209, i16 0, i16 6281, i16 0, i16 2817, i16 11634, i16 6280, i16 11635, i16 11636, i16 1420, i16 11637, i16 11638, i16 6279, i16 2524, i16 1228, i16 0, i16 0, i16 6282, i16 0, i16 6283, i16 11639, i16 2118, i16 2041, i16 4564, i16 8795, i16 8796, i16 8797, i16 0, i16 8798, i16 2329, i16 6559, i16 3067, i16 0, i16 1947, i16 8799, i16 1730, i16 4565, i16 0, i16 8800, i16 8801, i16 8802, i16 2476, i16 8803, i16 3196, i16 8804, i16 0, i16 2518, i16 0, i16 8805, i16 4568, i16 8806, i16 0, i16 4566, i16 0, i16 10235, i16 5426, i16 0, i16 1159, i16 3056, i16 5427, i16 10236, i16 5428, i16 10237, i16 0, i16 5429, i16 0, i16 10238, i16 0, i16 3437, i16 0, i16 10239, i16 10240, i16 3430, i16 0, i16 2655, i16 0, i16 10241, i16 0, i16 2417, i16 10242, i16 0, i16 5431, i16 10243, i16 0, i16 2033, i16 0, i16 5628, i16 10657, i16 0, i16 10658, i16 5652, i16 5654, i16 0, i16 10659, i16 0, i16 10660, i16 0, i16 0, i16 5655, i16 10661, i16 10662, i16 0, i16 10663, i16 0, i16 10664, i16 3227, i16 0, i16 5656, i16 0, i16 0, i16 0, i16 10665, i16 0, i16 0, i16 10666, i16 10667, i16 3443, i16 0, i16 3325, i16 7813, i16 0, i16 0, i16 0, i16 0, i16 3062, i16 7814, i16 7815, i16 3968, i16 7816, i16 1183, i16 3963, i16 3964, i16 3966, i16 7817, i16 0, i16 7818, i16 0, i16 0, i16 7819, i16 7820, i16 3967, i16 0, i16 1274, i16 2220, i16 0, i16 3202, i16 3965, i16 3961, i16 1564, i16 0, i16 5629, i16 10622, i16 10623, i16 10624, i16 10625, i16 0, i16 10626, i16 5630, i16 0, i16 10627, i16 0, i16 10628, i16 10629, i16 5635, i16 10630, i16 10631, i16 0, i16 5624, i16 3951, i16 5631, i16 5625, i16 0, i16 0, i16 5634, i16 0, i16 10632, i16 0, i16 10633, i16 0, i16 0, i16 0, i16 5640, i16 4350, i16 0, i16 0, i16 4349, i16 4348, i16 3188, i16 0, i16 4357, i16 0, i16 8514, i16 0, i16 8512, i16 3341, i16 0, i16 4351, i16 0, i16 8513, i16 8515, i16 0, i16 0, i16 4353, i16 3358, i16 8516, i16 4352, i16 8517, i16 0, i16 0, i16 8518, i16 8519, i16 0, i16 8520, i16 4354, i16 9726, i16 5159, i16 0, i16 0, i16 0, i16 9727, i16 9728, i16 9729, i16 0, i16 5155, i16 0, i16 5156, i16 0, i16 9730, i16 0, i16 5160, i16 0, i16 5158, i16 0, i16 0, i16 0, i16 3141, i16 0, i16 9731, i16 5166, i16 0, i16 5163, i16 5162, i16 0, i16 5165, i16 2865, i16 5167, i16 3839, i16 0, i16 3840, i16 7634, i16 7635, i16 2879, i16 902, i16 0, i16 0, i16 3843, i16 1778, i16 7636, i16 3842, i16 1723, i16 7637, i16 3844, i16 5856, i16 3845, i16 3316, i16 3846, i16 0, i16 3847, i16 3848, i16 2134, i16 7638, i16 1917, i16 0, i16 0, i16 0, i16 7639, i16 0, i16 0, i16 5887, i16 10975, i16 5888, i16 5884, i16 10977, i16 10978, i16 10979, i16 0, i16 5885, i16 0, i16 5886, i16 10980, i16 0, i16 0, i16 10981, i16 1640, i16 10976, i16 0, i16 0, i16 5894, i16 0, i16 5890, i16 10982, i16 0, i16 10983, i16 0, i16 3165, i16 10984, i16 3359, i16 3103, i16 10985, i16 0, i16 120, i16 12, i16 25, i16 0, i16 0, i16 5, i16 0, i16 23, i16 156, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 17, i16 157, i16 107, i16 21, i16 147, i16 174, i16 24, i16 0, i16 3, i16 173, i16 137, i16 30, i16 88, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 143, i16 145, i16 8, i16 117, i16 132, i16 0, i16 0, i16 177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 187, i16 95, i16 182, i16 161, i16 129, i16 127, i16 97, i16 135, i16 103, i16 108, i16 83, i16 86, i16 166, i16 139, i16 89, i16 172, i16 56, i16 77, i16 106, i16 162, i16 189, i16 155, i16 41, i16 141, i16 124, i16 28, i16 74, i16 68, i16 113, i16 27, i16 67, i16 85, i16 144, i16 70, i16 126, i16 96, i16 35, i16 61, i16 190, i16 123, i16 176, i16 171, i16 148, i16 183, i16 38, i16 54, i16 142, i16 186, i16 87, i16 75, i16 94, i16 76, i16 32, i16 98, i16 163, i16 20, i16 133, i16 154, i16 66, i16 138, i16 52, i16 101, i16 44, i16 63, i16 19, i16 22, i16 164, i16 191, i16 136, i16 80, i16 65, i16 91, i16 114, i16 181, i16 51, i16 79, i16 184, i16 116, i16 151, i16 92, i16 140, i16 64, i16 167, i16 50, i16 110, i16 130, i16 192, i16 152, i16 100, i16 99, i16 36, i16 93, i16 72, i16 146, i16 131, i16 33, i16 47, i16 119, i16 7, i16 73, i16 185, i16 57, i16 160, i16 150, i16 78, i16 45, i16 118, i16 49, i16 115, i16 29, i16 31, i16 69, i16 188, i16 53, i16 149, i16 121, i16 55, i16 109, i16 82, i16 153, i16 178, i16 90, i16 122, i16 104, i16 6, i16 175, i16 60, i16 59, i16 43, i16 180, i16 125, i16 16, i16 179, i16 102, i16 134, i16 62, i16 37, i16 158, i16 71, i16 40, i16 84, i16 0, i16 1, i16 159, i16 13, i16 81, i16 111, i16 46, i16 105, i16 9, i16 128, i16 18, i16 170, i16 11, i16 15, i16 39, i16 34, i16 2, i16 48, i16 10, i16 14, i16 26, i16 58, i16 42, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 169, i16 112, i16 168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 165, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 84, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1270, i16 1950, i16 0, i16 426, i16 2786, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3365, i16 3389, i16 3410, i16 1975, i16 0, i16 2471, i16 2480, i16 2502, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2924, i16 1668, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 408, i16 0, i16 0, i16 3296, i16 0, i16 3249, i16 1864, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 141, i16 0, i16 51, i16 1513, i16 1049, i16 2968, i16 2294, i16 0, i16 1390, i16 979, i16 0, i16 1886, i16 0, i16 617, i16 0, i16 0, i16 0, i16 1282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 471, i16 2852, i16 0, i16 0, i16 0, i16 0, i16 3275, i16 2769, i16 2449, i16 0, i16 0, i16 0, i16 0, i16 693, i16 657, i16 2725, i16 1421, i16 1123, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1524, i16 2708, i16 2736, i16 2762, i16 2793, i16 2808, i16 2834, i16 2854, i16 2870, i16 2890, i16 2909, i16 2932, i16 2958, i16 2983, i16 3003, i16 3025, i16 3042, i16 3062, i16 3085, i16 3108, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2374, i16 367, i16 1664, i16 0, i16 0, i16 0, i16 0, i16 2342, i16 0, i16 0, i16 0, i16 0, i16 165, i16 2704, i16 1683, i16 0, i16 0, i16 1370, i16 0, i16 2875, i16 0, i16 2939, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1678, i16 423, i16 0, i16 2585, i16 0, i16 0, i16 0, i16 2178, i16 0, i16 0, i16 0, i16 463, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 603, i16 0, i16 3282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2510, i16 0, i16 0, i16 0, i16 2978, i16 0, i16 0, i16 0, i16 0, i16 0, i16 454, i16 3047, i16 2404, i16 0, i16 0, i16 1652, i16 0, i16 628, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1882, i16 3318, i16 2723, i16 1548, i16 2895, i16 3235, i16 3268, i16 2013, i16 0, i16 899, i16 0, i16 0, i16 2999, i16 270, i16 3031, i16 926, i16 0, i16 511, i16 0, i16 0, i16 2064, i16 271, i16 2107, i16 537, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2071, i16 1576, i16 0, i16 1014, i16 610, i16 703, i16 0, i16 89, i16 277, i16 2618, i16 2078, i16 373, i16 2562, i16 2653, i16 0, i16 20, i16 2792, i16 1006, i16 1991, i16 745, i16 0, i16 2504, i16 1920, i16 3246, i16 1187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1040, i16 538, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1639, i16 1552, i16 1656, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1084, i16 0, i16 0, i16 343, i16 947, i16 0, i16 1748, i16 0, i16 0, i16 2269, i16 1677, i16 2648, i16 0, i16 455, i16 0, i16 2224, i16 572, i16 0, i16 0, i16 0, i16 0, i16 272, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 218, i16 2385, i16 42, i16 1008, i16 2883, i16 1666, i16 3317, i16 0, i16 0, i16 0, i16 845, i16 1527, i16 0, i16 966, i16 1411, i16 2278, i16 0, i16 0, i16 0, i16 529, i16 764, i16 1103, i16 2200, i16 446, i16 1517, i16 1958, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1554, i16 2767, i16 2782, i16 2040, i16 1538, i16 0, i16 0, i16 3329, i16 0, i16 320, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2561, i16 0, i16 183, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1077, i16 1744, i16 1381, i16 0, i16 1821, i16 2017, i16 2216, i16 1487, i16 2180, i16 1772, i16 0, i16 1191, i16 0, i16 0, i16 0, i16 2697, i16 1177, i16 1167, i16 1491, i16 0, i16 0, i16 0, i16 1684, i16 1161, i16 0, i16 0, i16 261, i16 0, i16 0, i16 0, i16 0, i16 0, i16 353, i16 1482, i16 385, i16 2859, i16 2317, i16 136, i16 2314, i16 598, i16 2350, i16 2114, i16 3321, i16 177, i16 3325, i16 740, i16 1376, i16 0, i16 564, i16 3237, i16 2522, i16 0, i16 220, i16 451, i16 896, i16 985, i16 0, i16 931, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1514, i16 391, i16 2423, i16 0, i16 1547, i16 0, i16 904, i16 0, i16 3173, i16 265, i16 0, i16 1255, i16 0, i16 406, i16 3030, i16 2947, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2682, i16 0, i16 0, i16 0, i16 90, i16 1190, i16 0, i16 0, i16 0, i16 0, i16 3076, i16 3092, i16 2084, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1002, i16 3212, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3169, i16 789, i16 0, i16 3187, i16 948, i16 1953, i16 530, i16 245, i16 1845, i16 769, i16 646, i16 0, i16 670, i16 2443, i16 1563, i16 2644, i16 1508, i16 2949, i16 0, i16 0, i16 0, i16 0, i16 0, i16 330, i16 0, i16 2594, i16 2182, i16 696, i16 0, i16 0, i16 0, i16 0, i16 1906, i16 3349, i16 3372, i16 3395, i16 3415, i16 1974, i16 1997, i16 0, i16 1128, i16 2030, i16 2057, i16 2085, i16 2106, i16 2126, i16 2152, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 884, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1151, i16 0, i16 0, i16 0, i16 0, i16 907, i16 0, i16 0, i16 1164, i16 0, i16 2089, i16 328, i16 2093, i16 0, i16 1196, i16 0, i16 921, i16 0, i16 0, i16 0, i16 0, i16 929, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 910, i16 152, i16 0, i16 1679, i16 0, i16 1452, i16 0, i16 0, i16 0, i16 1992, i16 65, i16 1016, i16 259, i16 0, i16 0, i16 1174, i16 1900, i16 3026, i16 3184, i16 2125, i16 0, i16 0, i16 2720, i16 0, i16 0, i16 3373, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2737, i16 0, i16 0, i16 0, i16 1427, i16 0, i16 1750, i16 2491, i16 1564, i16 1184, i16 2996, i16 889, i16 3105, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1290, i16 0, i16 3191, i16 0, i16 2844, i16 401, i16 3231, i16 3156, i16 241, i16 1896, i16 0, i16 0, i16 0, i16 0, i16 699, i16 0, i16 1035, i16 0, i16 0, i16 2360, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1115, i16 3123, i16 1925, i16 3287, i16 0, i16 0, i16 0, i16 0, i16 1450, i16 803, i16 1267, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3280, i16 2450, i16 1696, i16 3032, i16 1377, i16 0, i16 0, i16 0, i16 568, i16 0, i16 2921, i16 2479, i16 2955, i16 2063, i16 1546, i16 1367, i16 1641, i16 0, i16 1039, i16 0, i16 0, i16 0, i16 0, i16 3264, i16 0, i16 2136, i16 0, i16 3056, i16 0, i16 0, i16 0, i16 0, i16 467, i16 0, i16 0, i16 0, i16 3041, i16 1967, i16 1980, i16 0, i16 932, i16 1066, i16 0, i16 3061, i16 3344, i16 920, i16 3399, i16 915, i16 3409, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1520, i16 3160, i16 3104, i16 973, i16 1426, i16 1893, i16 0, i16 2838, i16 0, i16 0, i16 0, i16 1137, i16 1473, i16 0, i16 1810, i16 942, i16 331, i16 0, i16 1150, i16 0, i16 43, i16 0, i16 2179, i16 1614, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 508, i16 487, i16 0, i16 0, i16 1726, i16 0, i16 734, i16 308, i16 0, i16 0, i16 2990, i16 3063, i16 2991, i16 0, i16 3011, i16 1074, i16 3210, i16 3037, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1827, i16 0, i16 897, i16 0, i16 75, i16 0, i16 0, i16 0, i16 1030, i16 462, i16 0, i16 0, i16 2414, i16 2898, i16 0, i16 0, i16 3253, i16 1468, i16 2833, i16 3273, i16 1955, i16 0, i16 127, i16 913, i16 0, i16 0, i16 507, i16 2716, i16 1126, i16 3029, i16 0, i16 3382, i16 2668, i16 0, i16 2555, i16 128, i16 0, i16 0, i16 0, i16 0, i16 1127, i16 2981, i16 1437, i16 0, i16 0, i16 0, i16 1500, i16 0, i16 0, i16 480, i16 0, i16 114, i16 0, i16 0, i16 205, i16 1655, i16 0, i16 0, i16 34, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 370, i16 500, i16 528, i16 0, i16 2690, i16 2876, i16 1477, i16 3133, i16 333, i16 0, i16 0, i16 0, i16 0, i16 1793, i16 0, i16 0, i16 1529, i16 2550, i16 1096, i16 1112, i16 1588, i16 820, i16 3267, i16 2595, i16 1977, i16 3394, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 125, i16 1589, i16 0, i16 1933, i16 847, i16 2168, i16 468, i16 0, i16 3405, i16 0, i16 0, i16 1506, i16 0, i16 0, i16 683, i16 1939, i16 2846, i16 2878, i16 2642, i16 0, i16 0, i16 2377, i16 0, i16 0, i16 2596, i16 0, i16 1532, i16 0, i16 1107, i16 0, i16 0, i16 0, i16 1919, i16 3021, i16 120, i16 0, i16 644, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2732, i16 501, i16 279, i16 2509, i16 1644, i16 1863, i16 0, i16 0, i16 395, i16 246, i16 1025, i16 626, i16 3384, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1675, i16 0, i16 2734, i16 0, i16 3140, i16 990, i16 0, i16 0, i16 2169, i16 0, i16 0, i16 1027, i16 552, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2583, i16 0, i16 3286, i16 0, i16 1212, i16 316, i16 0, i16 0, i16 2830, i16 0, i16 0, i16 0, i16 0, i16 909, i16 1229, i16 0, i16 0, i16 335, i16 0, i16 0, i16 359, i16 647, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1153, i16 0, i16 0, i16 901, i16 0, i16 0, i16 0, i16 2492, i16 2027, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3219, i16 0, i16 2744, i16 476, i16 0, i16 11, i16 243, i16 0, i16 2327, i16 3098, i16 0, i16 0, i16 0, i16 97, i16 0, i16 0, i16 0, i16 1523, i16 0, i16 0, i16 783, i16 1121, i16 3144, i16 0, i16 0, i16 0, i16 496, i16 0, i16 0, i16 0, i16 0, i16 0, i16 158, i16 0, i16 2711, i16 1954, i16 3311, i16 886, i16 239, i16 1528, i16 1343, i16 1531, i16 225, i16 0, i16 1047, i16 0, i16 2311, i16 3385, i16 607, i16 2571, i16 2130, i16 848, i16 0, i16 2750, i16 440, i16 794, i16 2102, i16 460, i16 2018, i16 2208, i16 1181, i16 0, i16 0, i16 0, i16 1755, i16 2493, i16 1397, i16 0, i16 3417, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 780, i16 206, i16 2759, i16 0, i16 0, i16 834, i16 0, i16 0, i16 672, i16 0, i16 2241, i16 1359, i16 0, i16 0, i16 584, i16 1978, i16 3009, i16 0, i16 0, i16 0, i16 1160, i16 211, i16 2666, i16 0, i16 0, i16 0, i16 0, i16 2074, i16 0, i16 0, i16 0, i16 0, i16 17, i16 2606, i16 1737, i16 202, i16 1812, i16 1007, i16 0, i16 1841, i16 1345, i16 0, i16 738, i16 1162, i16 2860, i16 1943, i16 1814, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1674, i16 2556, i16 66, i16 542, i16 1205, i16 3419, i16 0, i16 2603, i16 2500, i16 425, i16 0, i16 0, i16 278, i16 1961, i16 680, i16 0, i16 1124, i16 1758, i16 0, i16 1555, i16 1446, i16 2210, i16 1405, i16 350, i16 3028, i16 2892, i16 0, i16 0, i16 0, i16 0, i16 1826, i16 2907, i16 21, i16 558, i16 1600, i16 1932, i16 0, i16 0, i16 1779, i16 0, i16 0, i16 1295, i16 0, i16 0, i16 28, i16 1725, i16 0, i16 0, i16 0, i16 0, i16 1981, i16 0, i16 2384, i16 1942, i16 0, i16 0, i16 0, i16 0, i16 0, i16 795, i16 452, i16 0, i16 208, i16 0, i16 0, i16 3044, i16 0, i16 0, i16 0, i16 0, i16 166, i16 836, i16 340, i16 337, i16 0, i16 0, i16 1875, i16 0, i16 0, i16 1159, i16 32, i16 1879, i16 1304, i16 0, i16 414, i16 515, i16 1347, i16 365, i16 0, i16 1884, i16 1521, i16 970, i16 0, i16 0, i16 858, i16 3141, i16 0, i16 717, i16 1866, i16 0, i16 1280, i16 1791, i16 2234, i16 0, i16 1414, i16 2147, i16 0, i16 0, i16 1645, i16 0, i16 0, i16 0, i16 404, i16 0, i16 0, i16 984, i16 3122, i16 0, i16 0, i16 0, i16 145, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1803, i16 0, i16 0, i16 1651, i16 2447, i16 0, i16 0, i16 2291, i16 472, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1134, i16 838, i16 0, i16 470, i16 2650, i16 606, i16 1065, i16 0, i16 1130, i16 0, i16 0, i16 0, i16 0, i16 1374, i16 1694, i16 1572, i16 1648, i16 2386, i16 200, i16 694, i16 0, i16 2530, i16 0, i16 0, i16 1752, i16 159, i16 2351, i16 3097, i16 1410, i16 1125, i16 0, i16 0, i16 412, i16 0, i16 1556, i16 0, i16 0, i16 625, i16 0, i16 1649, i16 0, i16 2100, i16 2469, i16 0, i16 273, i16 3016, i16 0, i16 0, i16 0, i16 0, i16 0, i16 399, i16 276, i16 2646, i16 671, i16 1732, i16 1888, i16 1382, i16 57, i16 0, i16 0, i16 0, i16 0, i16 0, i16 999, i16 0, i16 0, i16 681, i16 190, i16 2424, i16 0, i16 1319, i16 1454, i16 0, i16 0, i16 539, i16 0, i16 761, i16 0, i16 2021, i16 0, i16 0, i16 2189, i16 54, i16 0, i16 0, i16 0, i16 0, i16 3073, i16 0, i16 3049, i16 1501, i16 3198, i16 0, i16 0, i16 0, i16 2802, i16 255, i16 1960, i16 0, i16 0, i16 0, i16 263, i16 0, i16 0, i16 0, i16 0, i16 3168, i16 3007, i16 784, i16 3164, i16 0, i16 0, i16 788, i16 2164, i16 1711, i16 1088, i16 1328, i16 3024, i16 0, i16 2497, i16 1825, i16 2888, i16 1003, i16 986, i16 1603, i16 0, i16 0, i16 1012, i16 2473, i16 329, i16 0, i16 0, i16 0, i16 189, i16 2254, i16 1348, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 283, i16 155, i16 0, i16 0, i16 2908, i16 1209, i16 346, i16 0, i16 2765, i16 0, i16 1957, i16 0, i16 0, i16 0, i16 828, i16 0, i16 0, i16 2807, i16 0, i16 1676, i16 0, i16 1091, i16 768, i16 0, i16 2818, i16 349, i16 1789, i16 2193, i16 0, i16 164, i16 0, i16 1171, i16 2810, i16 938, i16 1163, i16 719, i16 2554, i16 2822, i16 0, i16 1575, i16 1200, i16 0, i16 2598, i16 753, i16 2532, i16 972, i16 689, i16 0, i16 1284, i16 0, i16 0, i16 0, i16 0, i16 0, i16 64, i16 800, i16 0, i16 0, i16 0, i16 1307, i16 509, i16 106, i16 0, i16 3278, i16 819, i16 0, i16 3013, i16 1015, i16 26, i16 1631, i16 1202, i16 1117, i16 0, i16 2326, i16 0, i16 3046, i16 49, i16 0, i16 736, i16 0, i16 776, i16 1109, i16 0, i16 0, i16 3182, i16 0, i16 0, i16 0, i16 0, i16 0, i16 217, i16 510, i16 2212, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 341, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2689, i16 0, i16 0, i16 2117, i16 0, i16 0, i16 0, i16 2825, i16 1273, i16 2948, i16 0, i16 977, i16 268, i16 1266, i16 1283, i16 1369, i16 1795, i16 207, i16 1685, i16 3014, i16 497, i16 0, i16 437, i16 2505, i16 0, i16 2563, i16 0, i16 0, i16 732, i16 553, i16 1247, i16 2372, i16 0, i16 0, i16 1637, i16 3251, i16 3313, i16 1308, i16 0, i16 10, i16 2912, i16 1061, i16 131, i16 0, i16 0, i16 0, i16 2111, i16 0, i16 0, i16 0, i16 0, i16 0, i16 169, i16 0, i16 0, i16 0, i16 490, i16 642, i16 677, i16 0, i16 0, i16 180, i16 1565, i16 148, i16 569, i16 2201, i16 0, i16 315, i16 0, i16 0, i16 0, i16 1818, i16 1021, i16 0, i16 0, i16 0, i16 1244, i16 0, i16 76, i16 0, i16 3406, i16 0, i16 93, i16 0, i16 513, i16 960, i16 0, i16 859, i16 96, i16 1964, i16 0, i16 0, i16 386, i16 1629, i16 1510, i16 0, i16 2656, i16 269, i16 321, i16 0, i16 0, i16 0, i16 0, i16 3106, i16 2930, i16 1402, i16 80, i16 867, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2660, i16 368, i16 0, i16 2661, i16 2045, i16 0, i16 0, i16 0, i16 1581, i16 1544, i16 3381, i16 0, i16 2853, i16 891, i16 449, i16 2010, i16 3277, i16 0, i16 0, i16 2382, i16 2172, i16 2069, i16 2897, i16 0, i16 1773, i16 0, i16 0, i16 1291, i16 0, i16 645, i16 2135, i16 2034, i16 0, i16 0, i16 0, i16 2584, i16 772, i16 1898, i16 0, i16 0, i16 48, i16 1245, i16 1113, i16 747, i16 0, i16 0, i16 1973, i16 0, i16 0, i16 209, i16 2281, i16 1289, i16 2785, i16 0, i16 0, i16 2118, i16 176, i16 1248, i16 2037, i16 2043, i16 339, i16 3293, i16 2066, i16 86, i16 248, i16 857, i16 0, i16 0, i16 1433, i16 0, i16 0, i16 0, i16 1585, i16 2756, i16 2680, i16 1650, i16 1718, i16 0, i16 0, i16 0, i16 0, i16 0, i16 394, i16 1024, i16 1537, i16 0, i16 0, i16 3170, i16 2362, i16 40, i16 53, i16 1101, i16 0, i16 2933, i16 900, i16 1447, i16 0, i16 3179, i16 833, i16 1566, i16 1494, i16 2973, i16 0, i16 0, i16 2609, i16 0, i16 927, i16 2303, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 650, i16 0, i16 0, i16 1075, i16 235, i16 823, i16 565, i16 3079, i16 0, i16 785, i16 777, i16 186, i16 2969, i16 1860, i16 2232, i16 0, i16 873, i16 741, i16 3125, i16 3257, i16 2239, i16 0, i16 3121, i16 1242, i16 2791, i16 0, i16 0, i16 1435, i16 974, i16 1780, i16 961, i16 0, i16 0, i16 2874, i16 757, i16 0, i16 0, i16 0, i16 400, i16 1432, i16 2766, i16 3039, i16 1001, i16 1507, i16 2972, i16 0, i16 2514, i16 1512, i16 2046, i16 0, i16 0, i16 0, i16 1253, i16 0, i16 2098, i16 545, i16 2165, i16 531, i16 555, i16 0, i16 0, i16 3371, i16 0, i16 0, i16 0, i16 742, i16 0, i16 807, i16 1931, i16 0, i16 1076, i16 0, i16 2026, i16 3245, i16 0, i16 0, i16 117, i16 1467, i16 2104, i16 631, i16 0, i16 754, i16 156, i16 2258, i16 307, i16 0, i16 60, i16 0, i16 1260, i16 1371, i16 3328, i16 1870, i16 0, i16 0, i16 61, i16 1241, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 424, i16 2403, i16 2148, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1231, i16 2367, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1596, i16 3096, i16 2202, i16 363, i16 1609, i16 2710, i16 2582, i16 791, i16 2705, i16 0, i16 2543, i16 2319, i16 2558, i16 2597, i16 1, i16 2495, i16 2730, i16 0, i16 3374, i16 2485, i16 2487, i16 0, i16 581, i16 1476, i16 3359, i16 2499, i16 2719, i16 0, i16 1876, i16 3240, i16 0, i16 0, i16 2110, i16 0, i16 198, i16 1488, i16 2262, i16 140, i16 0, i16 0, i16 782, i16 3157, i16 27, i16 3136, i16 0, i16 1092, i16 0, i16 1302, i16 0, i16 1912, i16 1217, i16 0, i16 1642, i16 0, i16 2457, i16 0, i16 3400, i16 1530, i16 0, i16 0, i16 167, i16 524, i16 221, i16 0, i16 2119, i16 998, i16 461, i16 0, i16 1358, i16 1037, i16 3378, i16 3206, i16 841, i16 68, i16 1762, i16 0, i16 1756, i16 2665, i16 482, i16 1004, i16 0, i16 2501, i16 0, i16 3204, i16 918, i16 724, i16 322, i16 2401, i16 0, i16 0, i16 2412, i16 306, i16 733, i16 863, i16 0, i16 0, i16 2904, i16 0, i16 0, i16 1979, i16 0, i16 1985, i16 556, i16 3312, i16 2987, i16 3045, i16 643, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3128, i16 1729, i16 0, i16 2970, i16 161, i16 0, i16 0, i16 0, i16 0, i16 602, i16 0, i16 1682, i16 0, i16 2523, i16 0, i16 92, i16 0, i16 0, i16 583, i16 0, i16 0, i16 697, i16 1263, i16 253, i16 504, i16 0, i16 0, i16 0, i16 0, i16 1636, i16 56, i16 0, i16 0, i16 2617, i16 0, i16 0, i16 0, i16 0, i16 2960, i16 2884, i16 0, i16 1999, i16 438, i16 0, i16 0, i16 0, i16 0, i16 1116, i16 2929, i16 2605, i16 0, i16 2323, i16 774, i16 1032, i16 0, i16 2015, i16 2336, i16 0, i16 520, i16 0, i16 2016, i16 1634, i16 1182, i16 1362, i16 850, i16 2906, i16 596, i16 3274, i16 0, i16 199, i16 2242, i16 0, i16 1934, i16 0, i16 2635, i16 0, i16 1746, i16 2915, i16 0, i16 1375, i16 1118, i16 3004, i16 0, i16 477, i16 0, i16 0, i16 0, i16 0, i16 715, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3185, i16 0, i16 0, i16 0, i16 3248, i16 2541, i16 2340, i16 3258, i16 24, i16 2230, i16 1654, i16 0, i16 3421, i16 1923, i16 2565, i16 2280, i16 0, i16 3167, i16 3149, i16 895, i16 3306, i16 994, i16 2009, i16 1543, i16 2273, i16 0, i16 14, i16 814, i16 540, i16 2243, i16 1384, i16 969, i16 0, i16 2914, i16 1698, i16 0, i16 0, i16 995, i16 1119, i16 2474, i16 2855, i16 498, i16 0, i16 0, i16 2312, i16 3331, i16 2002, i16 2324, i16 0, i16 111, i16 1281, i16 410, i16 2158, i16 1404, i16 708, i16 2625, i16 0, i16 0, i16 0, i16 82, i16 1965, i16 486, i16 3228, i16 661, i16 0, i16 2961, i16 0, i16 197, i16 2842, i16 2060, i16 517, i16 1518, i16 0, i16 0, i16 1853, i16 2257, i16 3392, i16 2419, i16 251, i16 975, i16 0, i16 883, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1423, i16 0, i16 2521, i16 0, i16 2305, i16 0, i16 3380, i16 0, i16 0, i16 1054, i16 1108, i16 1842, i16 0, i16 943, i16 811, i16 2963, i16 0, i16 0, i16 0, i16 2455, i16 0, i16 1511, i16 0, i16 0, i16 1907, i16 3408, i16 2431, i16 516, i16 0, i16 238, i16 2124, i16 1483, i16 0, i16 825, i16 2271, i16 0, i16 1475, i16 1297, i16 0, i16 2001, i16 1346, i16 0, i16 0, i16 0, i16 0, i16 1387, i16 0, i16 0, i16 2629, i16 0, i16 614, i16 1274, i16 839, i16 3154, i16 1005, i16 0, i16 3189, i16 1136, i16 1000, i16 0, i16 2727, i16 2848, i16 3, i16 0, i16 112, i16 1234, i16 1459, i16 770, i16 0, i16 1828, i16 0, i16 2065, i16 0, i16 1106, i16 2444, i16 0, i16 830, i16 1457, i16 1764, i16 2604, i16 3057, i16 1098, i16 1223, i16 0, i16 362, i16 1460, i16 1840, i16 0, i16 1913, i16 580, i16 829, i16 958, i16 0, i16 3337, i16 0, i16 1833, i16 2778, i16 387, i16 2865, i16 310, i16 193, i16 3403, i16 0, i16 0, i16 0, i16 2614, i16 466, i16 0, i16 0, i16 2428, i16 1646, i16 0, i16 0, i16 0, i16 0, i16 1917, i16 0, i16 1908, i16 1859, i16 0, i16 1660, i16 804, i16 1592, i16 0, i16 3094, i16 3216, i16 2295, i16 33, i16 443, i16 3358, i16 0, i16 1394, i16 250, i16 213, i16 0, i16 1971, i16 3080, i16 1354, i16 3360, i16 0, i16 1265, i16 1584, i16 2053, i16 512, i16 0, i16 2928, i16 409, i16 2225, i16 779, i16 1186, i16 0, i16 0, i16 381, i16 0, i16 0, i16 2369, i16 0, i16 3368, i16 0, i16 0, i16 1479, i16 924, i16 0, i16 0, i16 599, i16 3139, i16 0, i16 1492, i16 2101, i16 0, i16 0, i16 0, i16 0, i16 0, i16 184, i16 0, i16 2197, i16 651, i16 0, i16 601, i16 0, i16 0, i16 29, i16 0, i16 1149, i16 3302, i16 1156, i16 3111, i16 1269, i16 1298, i16 0, i16 2073, i16 0, i16 615, i16 262, i16 0, i16 0, i16 1349, i16 118, i16 3159, i16 3178, i16 3316, i16 1252, i16 1277, i16 3301, i16 493, i16 3119, i16 2977, i16 842, i16 2399, i16 318, i16 2940, i16 2123, i16 0, i16 1620, i16 0, i16 2951, i16 0, i16 0, i16 0, i16 0, i16 2453, i16 0, i16 0, i16 1323, i16 288, i16 0, i16 0, i16 1615, i16 2715, i16 0, i16 0, i16 2691, i16 0, i16 0, i16 1388, i16 0, i16 280, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1250, i16 0, i16 392, i16 275, i16 0, i16 0, i16 0, i16 0, i16 1926, i16 3008, i16 0, i16 620, i16 0, i16 0, i16 0, i16 2971, i16 3401, i16 0, i16 0, i16 0, i16 1314, i16 608, i16 944, i16 0, i16 1534, i16 1131, i16 1430, i16 2835, i16 525, i16 1559, i16 3115, i16 0, i16 1672, i16 0, i16 3232, i16 0, i16 0, i16 382, i16 0, i16 3377, i16 352, i16 2301, i16 1207, i16 0, i16 1611, i16 0, i16 0, i16 260, i16 0, i16 94, i16 0, i16 2795, i16 1197, i16 0, i16 3402, i16 45, i16 0, i16 1816, i16 2185, i16 1216, i16 2678, i16 2866, i16 0, i16 2677, i16 0, i16 0, i16 687, i16 1342, i16 2420, i16 2163, i16 2142, i16 0, i16 876, i16 2989, i16 1172, i16 3393, i16 1550, i16 2506, i16 3017, i16 879, i16 0, i16 1169, i16 2729, i16 1817, i16 323, i16 0, i16 0, i16 1562, i16 1436, i16 0, i16 3397, i16 2616, i16 922, i16 44, i16 2966, i16 3135, i16 0, i16 0, i16 1713, i16 0, i16 491, i16 0, i16 0, i16 0, i16 2024, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2943, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3364, i16 3355, i16 2004, i16 2105, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3262, i16 0, i16 1082, i16 2663, i16 0, i16 0, i16 2379, i16 0, i16 0, i16 0, i16 2, i16 1330, i16 1747, i16 0, i16 731, i16 0, i16 2639, i16 0, i16 393, i16 18, i16 722, i16 0, i16 813, i16 223, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3353, i16 0, i16 1504, i16 0, i16 3099, i16 30, i16 1574, i16 2218, i16 566, i16 2621, i16 1989, i16 2917, i16 0, i16 3305, i16 0, i16 1398, i16 2651, i16 843, i16 2159, i16 317, i16 1335, i16 640, i16 865, i16 62, i16 2937, i16 1385, i16 919, i16 1034, i16 1233, i16 1850, i16 792, i16 1972, i16 987, i16 0, i16 2529, i16 1717, i16 364, i16 1095, i16 2696, i16 1142, i16 5, i16 1029, i16 0, i16 0, i16 1962, i16 1595, i16 0, i16 1145, i16 637, i16 1662, i16 0, i16 3386, i16 925, i16 2076, i16 2672, i16 0, i16 338, i16 0, i16 1198, i16 0, i16 1846, i16 0, i16 0, i16 366, i16 2622, i16 0, i16 739, i16 869, i16 799, i16 1480, i16 0, i16 0, i16 1721, i16 0, i16 1542, i16 160, i16 0, i16 1195, i16 1891, i16 2526, i16 3236, i16 502, i16 1697, i16 0, i16 1577, i16 514, i16 2373, i16 3289, i16 0, i16 478, i16 0, i16 0, i16 0, i16 2591, i16 2383, i16 660, i16 2297, i16 0, i16 234, i16 267, i16 124, i16 0, i16 2077, i16 534, i16 1838, i16 1568, i16 0, i16 0, i16 1619, i16 1873, i16 2033, i16 2484, i16 0, i16 2964, i16 2787, i16 1147, i16 0, i16 721, i16 0, i16 0, i16 0, i16 2815, i16 3086, i16 1622, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3336, i16 0, i16 3239, i16 1796, i16 0, i16 2976, i16 139, i16 1176, i16 0, i16 888, i16 2919, i16 3196, i16 1440, i16 2044, i16 574, i16 1754, i16 0, i16 586, i16 1760, i16 1087, i16 2331, i16 544, i16 0, i16 3279, i16 0, i16 0, i16 0, i16 1602, i16 2985, i16 1366, i16 91, i16 894, i16 523, i16 911, i16 2345, i16 2669, i16 3067, i16 3292, i16 2638, i16 806, i16 1341, i16 2986, i16 3363, i16 3227, i16 0, i16 659, i16 868, i16 0, i16 2794, i16 2296, i16 713, i16 1832, i16 0, i16 3217, i16 3304, i16 1811, i16 231, i16 2657, i16 0, i16 0, i16 3127, i16 852, i16 358, i16 0, i16 2318, i16 1570, i16 817, i16 3069, i16 3420, i16 447, i16 2520, i16 638, i16 2299, i16 0, i16 2693, i16 1043, i16 0, i16 1140, i16 1591, i16 1837, i16 236, i16 1355, i16 0, i16 2763, i16 0, i16 1022, i16 2422, i16 0, i16 2138, i16 0, i16 179, i16 0, i16 0, i16 1100, i16 0, i16 1326, i16 2574, i16 2211, i16 1702, i16 0, i16 1089, i16 0, i16 0, i16 377, i16 1687, i16 0, i16 793, i16 0, i16 667, i16 126, i16 934, i16 2300, i16 2079, i16 3370, i16 2233, i16 2862, i16 810, i16 0, i16 0, i16 3263, i16 756, i16 1809, i16 2714, i16 2518, i16 1422, i16 1665, i16 2722, i16 3194, i16 1296, i16 1412, i16 0, i16 138, i16 101, i16 2353, i16 0, i16 1179, i16 1225, i16 458, i16 3413, i16 1579, i16 2090, i16 1561, i16 0, i16 0, i16 0, i16 2809, i16 1497, i16 1389, i16 1019, i16 1329, i16 2421, i16 396, i16 2695, i16 6, i16 2095, i16 950, i16 489, i16 0, i16 1661, i16 0, i16 1808, i16 2171, i16 2511, i16 0, i16 1086, i16 1219, i16 2006, i16 25, i16 0, i16 0, i16 1201, i16 522, i16 0, i16 0, i16 618, i16 0, i16 0, i16 2235, i16 880, i16 0, i16 0, i16 334, i16 1305, i16 1705, i16 2204, i16 1858, i16 1013, i16 1306, i16 0, i16 1085, i16 1533, i16 87, i16 2067, i16 1502, i16 2290, i16 1799, i16 0, i16 3146, i16 1794, i16 3346, i16 2192, i16 0, i16 0, i16 653, i16 1429, i16 887, i16 314, i16 2041, i16 2436, i16 875, i16 1331, i16 1481, i16 0, i16 403, i16 0, i16 0, i16 1910, i16 0, i16 1155, i16 0, i16 2072, i16 3266, i16 1165, i16 1857, i16 1557, i16 1801, i16 2496, i16 3131, i16 2926, i16 2643, i16 1582, i16 0, i16 0, i16 0, i16 122, i16 686, i16 168, i16 0, i16 2398, i16 2749, i16 1553, i16 2413, i16 1541, i16 2440, i16 134, i16 1578, i16 247, i16 0, i16 1193, i16 1321, i16 2575, i16 570, i16 2894, i16 0, i16 0, i16 0, i16 2581, i16 2636, i16 2270, i16 12, i16 1424, i16 1188, i16 1383, i16 0, i16 485, i16 700, i16 3254, i16 149, i16 2922, i16 1627, i16 2545, i16 0, i16 1693, i16 0, i16 953, i16 0, i16 0, i16 0, i16 0, i16 600, i16 1138, i16 0, i16 2059, i16 1525, i16 0, i16 1657, i16 0, i16 1727, i16 2841, i16 532, i16 3176, i16 993, i16 1930, i16 192, i16 0, i16 1740, i16 0, i16 3192, i16 1927, i16 802, i16 2849, i16 1064, i16 2109, i16 0, i16 324, i16 144, i16 881, i16 2133, i16 0, i16 2610, i16 171, i16 1129, i16 1378, i16 0, i16 1835, i16 435, i16 760, i16 1324, i16 0, i16 1251, i16 3100, i16 0, i16 835, i16 0, i16 3310, i16 636, i16 594, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2333, i16 1632, i16 3379, i16 3018, i16 3285, i16 388, i16 2748, i16 0, i16 0, i16 0, i16 0, i16 1905, i16 3354, i16 0, i16 2014, i16 0, i16 0, i16 763, i16 0, i16 2011, i16 0, i16 3033, i16 3223, i16 1009, i16 0, i16 1287, i16 292, i16 413, i16 0, i16 0, i16 0, i16 0, i16 31, i16 2143, i16 2128, i16 1878, i16 956, i16 822, i16 2430, i16 311, i16 0, i16 0, i16 2313, i16 1256, i16 2956, i16 0, i16 224, i16 0, i16 2965, i16 109, i16 634, i16 1431, i16 2465, i16 0, i16 0, i16 0, i16 1775, i16 2462, i16 1090, i16 778, i16 3271, i16 1819, i16 0, i16 2645, i16 291, i16 0, i16 1904, i16 0, i16 182, i16 536, i16 0, i16 0, i16 1203, i16 827, i16 294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8, i16 2005, i16 15, i16 2031, i16 3269, i16 3297, i16 3319, i16 0, i16 3213, i16 3241, i16 3259, i16 0, i16 295, i16 133, i16 2811, i16 1707, i16 1915, i16 0, i16 154, i16 174, i16 3416, i16 2448, i16 1144, i16 0, i16 0, i16 0, i16 0, i16 890, i16 1865, i16 1368, i16 1496, i16 1868, i16 1050, i16 1823, i16 2389, i16 1264, i16 752, i16 2456, i16 0, i16 0, i16 356, i16 1336, i16 2116, i16 978, i16 1831, i16 0, i16 2068, i16 1215, i16 705, i16 1044, i16 0, i16 702, i16 0, i16 0, i16 129, i16 0, i16 0, i16 2364, i16 0, i16 0, i16 1312, i16 0, i16 0, i16 16, i16 0, i16 3244, i16 1133, i16 3078, i16 1139, i16 0, i16 2478, i16 0, i16 422, i16 2573, i16 2007, i16 1097, i16 812, i16 0, i16 0, i16 0, i16 665, i16 0, i16 0, i16 0, i16 0, i16 1736, i16 0, i16 2157, i16 549, i16 3165, i16 0, i16 0, i16 0, i16 1271, i16 0, i16 219, i16 0, i16 0, i16 0, i16 1783, i16 0, i16 0, i16 397, i16 3383, i16 0, i16 0, i16 0, i16 2279, i16 3375, i16 1052, i16 0, i16 0, i16 1712, i16 546, i16 1798, i16 3309, i16 0, i16 380, i16 0, i16 0, i16 3038, i16 0, i16 1621, i16 1122, i16 711, i16 3222, i16 2742, i16 0, i16 1701, i16 1053, i16 0, i16 3327, i16 1922, i16 0, i16 1800, i16 1731, i16 0, i16 2516, i16 655, i16 0, i16 2358, i16 2393, i16 2464, i16 2494, i16 2580, i16 2679, i16 2743, i16 2788, i16 2824, i16 2858, i16 2935, i16 2982, i16 3101, i16 3153, i16 3276, i16 2438, i16 2488, i16 2757, i16 2052, i16 2144, i16 2286, i16 2337, i16 2400, i16 2452, i16 2738, i16 2779, i16 2845, i16 2887, i16 3020, i16 3134, i16 3188, i16 3102, i16 1847, i16 2733, i16 2758, i16 1560, i16 1535, i16 824, i16 1822, i16 0, i16 0, i16 2816, i16 2380, i16 0, i16 1228, i16 0, i16 2366, i16 2378, i16 1968, i16 1599, i16 2042, i16 1318, i16 1338, i16 1569, i16 300, i16 0, i16 2873, i16 2320, i16 0, i16 2893, i16 1706, i16 0, i16 1916, i16 0, i16 3129, i16 590, i16 0, i16 0, i16 2836, i16 0, i16 37, i16 0, i16 0, i16 0, i16 551, i16 3155, i16 3177, i16 1951, i16 1056, i16 1855, i16 3247, i16 562, i16 3208, i16 3294, i16 862, i16 0, i16 3055, i16 1453, i16 1626, i16 296, i16 1871, i16 0, i16 1069, i16 0, i16 1767, i16 1776, i16 58, i16 2992, i16 611, i16 2607, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1941, i16 2347, i16 1813, i16 0, i16 2203, i16 1148, i16 0, i16 0, i16 1667, i16 0, i16 0, i16 162, i16 108, i16 0, i16 1211, i16 1063, i16 83, i16 2249, i16 0, i16 1288, i16 832, i16 0, i16 826, i16 88, i16 1434, i16 0, i16 0, i16 0, i16 2087, i16 2773, i16 1852, i16 1921, i16 2220, i16 0, i16 2627, i16 1333, i16 1120, i16 1902, i16 0, i16 1079, i16 1073, i16 305, i16 0, i16 3074, i16 2755, i16 2628, i16 2244, i16 547, i16 0, i16 527, i16 0, i16 428, i16 0, i16 0, i16 3130, i16 3158, i16 3180, i16 3200, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1601, i16 2058, i16 1332, i16 0, i16 0, i16 242, i16 0, i16 0, i16 0, i16 0, i16 3335, i16 374, i16 1877, i16 2903, i16 2726, i16 0, i16 2131, i16 325, i16 1807, i16 378, i16 1606, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 429, i16 172, i16 201, i16 0, i16 585, i16 0, i16 0, i16 2913, i16 351, i16 698, i16 2264, i16 2187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1104, i16 1114, i16 2003, i16 2029, i16 2056, i16 2083, i16 2103, i16 2120, i16 2145, i16 2173, i16 2195, i16 2228, i16 2256, i16 2277, i16 2302, i16 2328, i16 2346, i16 2363, i16 2388, i16 2408, i16 2429, i16 2454, i16 2472, i16 1406, i16 2507, i16 2533, i16 2553, i16 2578, i16 2601, i16 2623, i16 2640, i16 2667, i16 597, i16 0, i16 0, i16 1363, i16 0, i16 0, i16 0, i16 244, i16 474, i16 0, i16 0, i16 0, i16 229, i16 0, i16 481, i16 0, i16 0, i16 2531, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2275, i16 0, i16 0, i16 2357, i16 548, i16 0, i16 1670, i16 701, i16 2901, i16 3404, i16 0, i16 1067, i16 2008, i16 2577, i16 1844, i16 1659, i16 2564, i16 0, i16 2905, i16 3220, i16 442, i16 0, i16 1407, i16 0, i16 1416, i16 0, i16 1663, i16 1036, i16 0, i16 0, i16 2548, i16 3088, i16 0, i16 473, i16 0, i16 2486, i16 2659, i16 3143, i16 0, i16 1861, i16 1881, i16 0, i16 629, i16 840, i16 2519, i16 3068, i16 2012, i16 0, i16 0, i16 2149, i16 1739, i16 3303, i16 949, i16 577, i16 725, i16 658, i16 146, i16 67, i16 2916, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 945, i16 0, i16 0, i16 505, i16 469, i16 3166, i16 3209, i16 1883, i16 0, i16 0, i16 0, i16 1540, i16 0, i16 3332, i16 3072, i16 2593, i16 1610, i16 1257, i16 0, i16 0, i16 578, i16 0, i16 2394, i16 1766, i16 959, i16 1218, i16 0, i16 0, i16 0, i16 632, i16 0, i16 623, i16 1068, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 348, i16 1624, i16 1315, i16 0, i16 878, i16 3095, i16 116, i16 2426, i16 0, i16 737, i16 1466, i16 13, i16 212, i16 0, i16 3315, i16 831, i16 0, i16 2670, i16 1635, i16 1612, i16 0, i16 0, i16 0, i16 1357, i16 709, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1630, i16 2934, i16 488, i16 157, i16 1327, i16 2054, i16 2407, i16 450, i16 0, i16 981, i16 1135, i16 0, i16 1918, i16 1189, i16 729, i16 2427, i16 0, i16 0, i16 2739, i16 3291, i16 0, i16 675, i16 1834, i16 0, i16 1080, i16 589, i16 1415, i16 2537, i16 2406, i16 119, i16 1393, i16 2387, i16 2910, i16 1897, i16 0, i16 1310, i16 1690, i16 0, i16 2988, i16 0, i16 0, i16 0, i16 0, i16 3322, i16 1048, i16 1399, i16 0, i16 1023, i16 0, i16 1361, i16 1617, i16 375, i16 1699, i16 1778, i16 914, i16 1033, i16 0, i16 1334, i16 0, i16 1279, i16 0, i16 0, i16 1952, i16 210, i16 354, i16 0, i16 1738, i16 2881, i16 2283, i16 0, i16 2451, i16 861, i16 3006, i16 0, i16 2800, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1313, i16 1417, i16 2287, i16 1703, i16 2137, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 866, i16 622, i16 1316, i16 1408, i16 1820, i16 898, i16 1728, i16 2600, i16 1320, i16 2332, i16 2813, i16 2630, i16 0, i16 0, i16 427, i16 0, i16 69, i16 459, i16 3043, i16 445, i16 0, i16 1640, i16 706, i16 3050, i16 0, i16 1658, i16 0, i16 0, i16 0, i16 2288, i16 3051, i16 0, i16 1638, i16 402, i16 0, i16 2886, i16 1350, i16 74, i16 0, i16 0, i16 105, i16 266, i16 1214, i16 0, i16 0, i16 0, i16 723, i16 2198, i16 1895, i16 1356, i16 893, i16 535, i16 2248, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2209, i16 3391, i16 0, i16 1254, i16 72, i16 0, i16 2918, i16 3376, i16 2631, i16 1889, i16 2329, i16 2112, i16 2967, i16 0, i16 2831, i16 0, i16 433, i16 2626, i16 2664, i16 1403, i16 1604, i16 0, i16 656, i16 2227, i16 0, i16 0, i16 3181, i16 0, i16 0, i16 933, i16 1146, i16 750, i16 2439, i16 503, i16 1715, i16 885, i16 1784, i16 432, i16 2153, i16 2176, i16 2206, i16 2237, i16 2265, i16 2284, i16 2308, i16 2121, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3054, i16 3082, i16 3103, i16 3126, i16 3151, i16 3171, i16 3193, i16 36, i16 877, i16 0, i16 758, i16 0, i16 1301, i16 147, i16 1262, i16 1072, i16 1616, i16 0, i16 0, i16 0, i16 0, i16 1774, i16 2051, i16 1567, i16 0, i16 2435, i16 2483, i16 0, i16 905, i16 0, i16 2397, i16 256, i16 1851, i16 0, i16 303, i16 0, i16 0, i16 0, i16 0, i16 0, i16 882, i16 0, i16 0, i16 0, i16 1094, i16 1733, i16 1409, i16 0, i16 0, i16 464, i16 0, i16 1880, i16 707, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1243, i16 1963, i16 767, i16 0, i16 0, i16 0, i16 992, i16 0, i16 1571, i16 3334, i16 0, i16 1719, i16 3036, i16 0, i16 2676, i16 624, i16 728, i16 1261, i16 798, i16 1493, i16 0, i16 0, i16 2702, i16 1526, i16 746, i16 3183, i16 0, i16 1046, i16 0, i16 1462, i16 0, i16 2576, i16 1293, i16 3333, i16 0, i16 0, i16 0, i16 3324, i16 1549, i16 0, i16 0, i16 0, i16 2681, i16 1041, i16 2798, i16 1516, i16 1143, i16 1949, i16 1598, i16 390, i16 1236, i16 1448, i16 2829, i16 2432, i16 298, i16 304, i16 2980, i16 336, i16 0, i16 284, i16 0, i16 533, i16 0, i16 0, i16 0, i16 2741, i16 3407, i16 0, i16 2760, i16 1224, i16 100, i16 0, i16 151, i16 0, i16 2885, i16 0, i16 3272, i16 3398, i16 2167, i16 0, i16 0, i16 2175, i16 2184, i16 2196, i16 2191, i16 2205, i16 2307, i16 2222, i16 2322, i16 2214, i16 2343, i16 2229, i16 2348, i16 2236, i16 2490, i16 2508, i16 2534, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 376, i16 3202, i16 1158, i16 0, i16 0, i16 712, i16 1994, i16 906, i16 0, i16 0, i16 0, i16 751, i16 692, i16 1372, i16 936, i16 2146, i16 1829, i16 1474, i16 357, i16 1618, i16 930, i16 2381, i16 2392, i16 0, i16 0, i16 0, i16 46, i16 3256, i16 0, i16 0, i16 0, i16 0, i16 2425, i16 519, i16 0, i16 2466, i16 3340, i16 0, i16 0, i16 0, i16 0, i16 2559, i16 3233, i16 2995, i16 281, i16 0, i16 2685, i16 1680, i16 3175, i16 2402, i16 2752, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1770, i16 1105, i16 3059, i16 1340, i16 801, i16 0, i16 521, i16 0, i16 2170, i16 0, i16 0, i16 1154, i16 0, i16 0, i16 1583, i16 22, i16 2652, i16 3211, i16 0, i16 0, i16 0, i16 0, i16 361, i16 0, i16 928, i16 0, i16 0, i16 3089, i16 557, i16 815, i16 0, i16 0, i16 1325, i16 2950, i16 1110, i16 2310, i16 2113, i16 0, i16 2115, i16 2330, i16 635, i16 2418, i16 967, i16 0, i16 230, i16 666, i16 1709, i16 0, i16 0, i16 1456, i16 2370, i16 3060, i16 0, i16 0, i16 1392, i16 851, i16 342, i16 805, i16 1854, i16 0, i16 2433, i16 3281, i16 1787, i16 2535, i16 0, i16 576, i16 2700, i16 1987, i16 0, i16 0, i16 2549, i16 407, i16 2174, i16 2957, i16 0, i16 0, i16 0, i16 0, i16 1993, i16 1413, i16 175, i16 0, i16 912, i16 2161, i16 0, i16 976, i16 2039, i16 649, i16 0, i16 1239, i16 2979, i16 1111, i16 1849, i16 1078, i16 0, i16 662, i16 668, i16 964, i16 0, i16 3314, i16 595, i16 3120, i16 3152, i16 592, i16 2687, i16 0, i16 2804, i16 2828, i16 2847, i16 2796, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1465, i16 2612, i16 2633, i16 2655, i16 2675, i16 2699, i16 2724, i16 2747, i16 2774, i16 2799, i16 2821, i16 2840, i16 2864, i16 2882, i16 2899, i16 2925, i16 641, i16 781, i16 0, i16 1996, i16 1613, i16 856, i16 1929, i16 1924, i16 0, i16 1781, i16 240, i16 1192, i16 35, i16 787, i16 3197, i16 1593, i16 3081, i16 2927, i16 0, i16 2686, i16 0, i16 1235, i16 0, i16 104, i16 1505, i16 0, i16 0, i16 0, i16 579, i16 3412, i16 2998, i16 1990, i16 2945, i16 2975, i16 2994, i16 3015, i16 3035, i16 0, i16 0, i16 0, i16 1742, i16 3070, i16 3093, i16 3116, i16 3137, i16 3162, i16 3186, i16 3203, i16 3226, i16 3250, i16 3270, i16 3298, i16 3320, i16 3345, i16 3366, i16 3390, i16 3411, i16 1976, i16 1998, i16 2025, i16 2049, i16 2075, i16 0, i16 0, i16 142, i16 0, i16 1213, i16 0, i16 560, i16 1166, i16 3001, i16 290, i16 0, i16 1536, i16 0, i16 633, i16 1309, i16 0, i16 1856, i16 1026, i16 0, i16 0, i16 591, i16 0, i16 0, i16 773, i16 0, i16 571, i16 2590, i16 110, i16 0, i16 0, i16 0, i16 0, i16 41, i16 621, i16 3218, i16 312, i16 3150, i16 431, i16 1894, i16 0, i16 963, i16 1790, i16 2952, i16 1558, i16 3199, i16 3142, i16 0, i16 2889, i16 0, i16 2761, i16 0, i16 0, i16 0, i16 0, i16 892, i16 0, i16 0, i16 0, i16 2869, i16 2877, i16 955, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1688, i16 313, i16 1710, i16 0, i16 1647, i16 0, i16 0, i16 0, i16 0, i16 0, i16 150, i16 383, i16 0, i16 0, i16 957, i16 1268, i16 0, i16 0, i16 1199, i16 3255, i16 2586, i16 1183, i16 0, i16 0, i16 0, i16 405, i16 2764, i16 818, i16 543, i16 293, i16 1017, i16 4, i16 3225, i16 0, i16 1984, i16 0, i16 0, i16 0, i16 3091, i16 2000, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 639, i16 0, i16 1428, i16 0, i16 444, i16 0, i16 718, i16 2251, i16 0, i16 0, i16 2306, i16 2181, i16 0, i16 2458, i16 0, i16 3083, i16 99, i16 0, i16 0, i16 479, i16 2260, i16 3064, i16 0, i16 3343, i16 0, i16 103, i16 1210, i16 727, i16 1469, i16 3339, i16 582, i16 0, i16 1956, i16 0, i16 0, i16 2223, i16 63, i16 203, i16 1208, i16 2141, i16 1238, i16 344, i16 2415, i16 796, i16 3323, i16 1692, i16 3117, i16 0, i16 0, i16 1653, i16 1175, i16 2446, i16 448, i16 327, i16 1928, i16 2706, i16 2713, i16 2826, i16 421, i16 2832, i16 0, i16 0, i16 113, i16 0, i16 2108, i16 1607, i16 2217, i16 1839, i16 2023, i16 679, i16 1275, i16 766, i16 252, i16 2789, i16 1391, i16 2872, i16 274, i16 1438, i16 0, i16 0, i16 1396, i16 1625, i16 0, i16 0, i16 0, i16 0, i16 561, i16 616, i16 790, i16 1691, i16 0, i16 1628, i16 1443, i16 3221, i16 0, i16 1700, i16 0, i16 1495, i16 1353, i16 2437, i16 59, i16 0, i16 2539, i16 1940, i16 0, i16 0, i16 0, i16 254, i16 0, i16 1439, i16 988, i16 369, i16 102, i16 195, i16 682, i16 0, i16 0, i16 1765, i16 0, i16 1704, i16 0, i16 704, i16 0, i16 554, i16 1222, i16 2784, i16 0, i16 0, i16 0, i16 559, i16 0, i16 0, i16 0, i16 302, i16 0, i16 0, i16 0, i16 0, i16 3284, i16 3234, i16 0, i16 2463, i16 3071, i16 1802, i16 1232, i16 0, i16 264, i16 0, i16 2868, i16 908, i16 0, i16 0, i16 0, i16 178, i16 0, i16 228, i16 0, i16 871, i16 0, i16 0, i16 0, i16 257, i16 0, i16 673, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 952, i16 416, i16 0, i16 419, i16 1936, i16 1503, i16 0, i16 319, i16 0, i16 0, i16 3342, i16 0, i16 0, i16 3174, i16 735, i16 39, i16 0, i16 1062, i16 573, i16 1594, i16 1168, i16 0, i16 962, i16 1441, i16 1173, i16 3084, i16 864, i16 0, i16 1970, i16 227, i16 3114, i16 0, i16 0, i16 1753, i16 1761, i16 1194, i16 0, i16 0, i16 0, i16 2094, i16 2122, i16 2154, i16 2177, i16 2207, i16 2238, i16 2266, i16 2285, i16 2309, i16 2335, i16 2355, i16 2376, i16 2396, i16 2417, i16 2442, i16 2468, i16 1292, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1451, i16 2589, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1401, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2475, i16 1869, i16 0, i16 0, i16 1317, i16 1059, i16 2777, i16 2728, i16 0, i16 0, i16 0, i16 0, i16 417, i16 1081, i16 1911, i16 0, i16 0, i16 0, i16 0, i16 3307, i16 1038, i16 0, i16 0, i16 0, i16 0, i16 2099, i16 575, i16 0, i16 0, i16 0, i16 2896, i16 2637, i16 3243, i16 0, i16 1141, i16 123, i16 1498, i16 1988, i16 2513, i16 0, i16 55, i16 2772, i16 2356, i16 1373, i16 1605, i16 0, i16 287, i16 3052, i16 0, i16 355, i16 765, i16 0, i16 0, i16 2781, i16 0, i16 2797, i16 1573, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 941, i16 1909, i16 2552, i16 0, i16 0, i16 0, i16 2276, i16 0, i16 38, i16 0, i16 1874, i16 50, i16 0, i16 0, i16 1380, i16 684, i16 0, i16 0, i16 411, i16 755, i16 1983, i16 2613, i16 0, i16 0, i16 0, i16 1478, i16 137, i16 0, i16 2544, i16 0, i16 2219, i16 332, i16 1455, i16 3350, i16 2325, i16 1294, i16 1946, i16 1028, i16 2062, i16 1445, i16 0, i16 0, i16 0, i16 797, i16 0, i16 1395, i16 0, i16 441, i16 499, i16 2823, i16 1890, i16 495, i16 1490, i16 3148, i16 1071, i16 1716, i16 3295, i16 0, i16 0, i16 937, i16 1797, i16 1246, i16 3205, i16 0, i16 946, i16 0, i16 2731, i16 0, i16 285, i16 0, i16 0, i16 0, i16 2459, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 384, i16 204, i16 2735, i16 716, i16 0, i16 0, i16 0, i16 153, i16 3347, i16 0, i16 0, i16 0, i16 2489, i16 2482, i16 1419, i16 2703, i16 2226, i16 1471, i16 0, i16 1418, i16 951, i16 0, i16 0, i16 0, i16 0, i16 232, i16 0, i16 0, i16 3326, i16 0, i16 0, i16 1470, i16 0, i16 0, i16 494, i16 0, i16 107, i16 2409, i16 1769, i16 1058, i16 3261, i16 0, i16 3147, i16 1285, i16 0, i16 1351, i16 3362, i16 0, i16 1204, i16 695, i16 0, i16 360, i16 1539, i16 2634, i16 0, i16 0, i16 2250, i16 0, i16 95, i16 3034, i16 1815, i16 0, i16 2993, i16 52, i16 1722, i16 0, i16 0, i16 0, i16 1276, i16 3172, i16 2199, i16 808, i16 786, i16 2361, i16 0, i16 1458, i16 2215, i16 0, i16 483, i16 3230, i16 1206, i16 2183, i16 2213, i16 2245, i16 2268, i16 2289, i16 2315, i16 2339, i16 2354, i16 2375, i16 2395, i16 2416, i16 2441, i16 2467, i16 2477, i16 2753, i16 2517, i16 2547, i16 2566, i16 2587, i16 2611, i16 2632, i16 2654, i16 2674, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 439, i16 2127, i16 2746, i16 3195, i16 2974, i16 0, i16 9, i16 1157, i16 1986, i16 1055, i16 1178, i16 0, i16 436, i16 0, i16 3388, i16 3048, i16 654, i16 0, i16 3058, i16 0, i16 1545, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2515, i16 0, i16 1221, i16 1099, i16 187, i16 2092, i16 1463, i16 2647, i16 2803, i16 0, i16 0, i16 0, i16 0, i16 1031, i16 2658, i16 0, i16 1836, i16 0, i16 0, i16 47, i16 2879, i16 3019, i16 2166, i16 0, i16 0, i16 1843, i16 0, i16 0, i16 398, i16 0, i16 1848, i16 874, i16 297, i16 0, i16 0, i16 0, i16 1686, i16 613, i16 3002, i16 2931, i16 2867, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2754, i16 2503, i16 2391, i16 3065, i16 3110, i16 3138, i16 3163, i16 3190, i16 3229, i16 3288, i16 3338, i16 3357, i16 2036, i16 2070, i16 2097, i16 2129, i16 2156, i16 2186, i16 2247, i16 2274, i16 2298, i16 2344, i16 2365, i16 2019, i16 2801, i16 2684, i16 2405, i16 3341, i16 3027, i16 3348, i16 3422, i16 2091, i16 1485, i16 0, i16 3010, i16 902, i16 0, i16 0, i16 1948, i16 0, i16 0, i16 0, i16 309, i16 0, i16 3418, i16 484, i16 0, i16 0, i16 2567, i16 1944, i16 0, i16 1724, i16 0, i16 1777, i16 492, i16 81, i16 688, i16 1714, i16 1499, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2770, i16 3075, i16 1804, i16 0, i16 1227, i16 1751, i16 2936, i16 0, i16 0, i16 0, i16 121, i16 0, i16 1180, i16 1364, i16 1322, i16 3112, i16 588, i16 347, i16 1982, i16 2162, i16 2938, i16 2304, i16 3215, i16 2528, i16 0, i16 0, i16 0, i16 2814, i16 1442, i16 71, i16 0, i16 593, i16 2775, i16 2240, i16 1741, i16 0, i16 0, i16 0, i16 2692, i16 1966, i16 0, i16 379, i16 1102, i16 3000, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1745, i16 0, i16 0, i16 0, i16 3161, i16 1057, i16 2683, i16 222, i16 2338, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1749, i16 2524, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2334, i16 2349, i16 2368, i16 2390, i16 2411, i16 2434, i16 2461, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3214, i16 3242, i16 3260, i16 3283, i16 3308, i16 3330, i16 3352, i16 0, i16 0, i16 0, i16 0, i16 0, i16 989, i16 982, i16 0, i16 0, i16 0, i16 0, i16 1938, i16 0, i16 0, i16 1681, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 991, i16 0, i16 730, i16 2911, i16 0, i16 0, i16 0, i16 1899, i16 2028, i16 185, i16 2512, i16 2569, i16 2673, i16 2267, i16 2806, i16 2941, i16 2540, i16 2923, i16 2086, i16 0, i16 1892, i16 0, i16 903, i16 2920, i16 2592, i16 2751, i16 1093, i16 1708, i16 0, i16 3005, i16 19, i16 3356, i16 2527, i16 216, i16 2619, i16 2188, i16 2557, i16 627, i16 748, i16 135, i16 1344, i16 0, i16 872, i16 1018, i16 2790, i16 2776, i16 0, i16 669, i16 2721, i16 73, i16 2139, i16 1278, i16 188, i16 0, i16 2662, i16 0, i16 0, i16 0, i16 0, i16 550, i16 1484, i16 1083, i16 1303, i16 3238, i16 2783, i16 2805, i16 2688, i16 2891, i16 2839, i16 2863, i16 2572, i16 2624, i16 2641, i16 2588, i16 2709, i16 2944, i16 2718, i16 2740, i16 2768, i16 2820, i16 2871, i16 2579, i16 2698, i16 215, i16 2959, i16 844, i16 2151, i16 2984, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2272, i16 0, i16 2155, i16 2445, i16 371, i16 1070, i16 2953, i16 1633, i16 389, i16 1272, i16 691, i16 1365, i16 1759, i16 2857, i16 1045, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2902, i16 2263, i16 170, i16 855, i16 3113, i16 685, i16 1379, i16 1226, i16 2082, i16 1311, i16 1643, i16 0, i16 3040, i16 1768, i16 1995, i16 1623, i16 2088, i16 3022, i16 1425, i16 1170, i16 2282, i16 0, i16 0, i16 923, i16 1515, i16 1300, i16 3090, i16 2476, i16 1914, i16 289, i16 587, i16 1937, i16 2546, i16 2536, i16 1449, i16 2962, i16 3207, i16 0, i16 1519, i16 1259, i16 968, i16 1590, i16 2371, i16 3066, i16 1249, i16 173, i16 759, i16 1945, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 526, i16 2096, i16 0, i16 0, i16 0, i16 0, i16 3367, i16 0, i16 541, i16 2231, i16 954, i16 0, i16 0, i16 237, i16 0, i16 0, i16 430, i16 0, i16 0, i16 0, i16 2081, i16 726, i16 2020, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 939, i16 23, i16 0, i16 3109, i16 0, i16 0, i16 0, i16 0, i16 3252, i16 2599, i16 0, i16 965, i16 2221, i16 420, i16 1386, i16 0, i16 1734, i16 0, i16 1824, i16 0, i16 0, i16 0, i16 1969, i16 2259, i16 1509, i16 0, i16 1580, i16 1887, i16 2712, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 194, i16 0, i16 2134, i16 2568, i16 2649, i16 226, i16 663, i16 2048, i16 1862, i16 2460, i16 1400, i16 1299, i16 3369, i16 0, i16 0, i16 1867, i16 465, i16 2620, i16 916, i16 771, i16 940, i16 233, i16 0, i16 3132, i16 2132, i16 720, i16 1020, i16 2050, i16 0, i16 2316, i16 1723, i16 3351, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2246, i16 2032, i16 0, i16 326, i16 3387, i16 714, i16 475, i16 0, i16 1673, i16 0, i16 0, i16 1743, i16 0, i16 3145, i16 0, i16 0, i16 1258, i16 1240, i16 1830, i16 0, i16 70, i16 0, i16 163, i16 0, i16 2817, i16 1230, i16 2481, i16 2253, i16 2880, i16 2551, i16 2701, i16 115, i16 2851, i16 2292, i16 434, i16 0, i16 0, i16 1420, i16 1152, i16 2150, i16 3201, i16 2498, i16 3224, i16 77, i16 0, i16 0, i16 0, i16 690, i16 2538, i16 1903, i16 1901, i16 2812, i16 3396, i16 1959, i16 3023, i16 0, i16 0, i16 0, i16 0, i16 1671, i16 258, i16 1060, i16 0, i16 1587, i16 191, i16 775, i16 935, i16 0, i16 0, i16 743, i16 2615, i16 1010, i16 0, i16 0, i16 0, i16 181, i16 3300, i16 372, i16 0, i16 1689, i16 749, i16 1695, i16 0, i16 2542, i16 2359, i16 418, i16 1730, i16 2771, i16 1735, i16 2470, i16 453, i16 2352, i16 2608, i16 143, i16 1337, i16 2160, i16 1339, i16 1352, i16 78, i16 3124, i16 983, i16 249, i16 0, i16 0, i16 3087, i16 1757, i16 2997, i16 2038, i16 1472, i16 2837, i16 619, i16 3414, i16 3053, i16 79, i16 2061, i16 1885, i16 1132, i16 2055, i16 3118, i16 604, i16 0, i16 0, i16 0, i16 1608, i16 744, i16 0, i16 2560, i16 0, i16 980, i16 1785, i16 301, i16 1489, i16 0, i16 853, i16 2293, i16 1792, i16 0, i16 0, i16 98, i16 1805, i16 456, i16 997, i16 0, i16 849, i16 1011, i16 821, i16 518, i16 0, i16 0, i16 605, i16 630, i16 0, i16 0, i16 0, i16 0, i16 1185, i16 0, i16 0, i16 0, i16 7, i16 0, i16 0, i16 0, i16 609, i16 2570, i16 2946, i16 345, i16 2856, i16 0, i16 415, i16 0, i16 0, i16 0, i16 0, i16 1360, i16 0, i16 2035, i16 1771, i16 2525, i16 0, i16 0, i16 0, i16 0, i16 846, i16 1720, i16 3361, i16 648, i16 132, i16 2252, i16 2080, i16 506, i16 0, i16 0, i16 0, i16 860, i16 214, i16 1522, i16 2819, i16 2671, i16 1051, i16 1551, i16 3107, i16 0, i16 0, i16 0, i16 1806, i16 1286, i16 2745, i16 1782, i16 870, i16 2022, i16 1935, i16 0, i16 1669, i16 809, i16 130, i16 0, i16 299, i16 0, i16 0, i16 2707, i16 2410, i16 0, i16 2602, i16 762, i16 3290, i16 3265, i16 2717, i16 85, i16 1597, i16 2341, i16 1763, i16 612, i16 2140, i16 2694, i16 664, i16 3299, i16 1042, i16 0, i16 1486, i16 1786, i16 2047, i16 2827, i16 1464, i16 3012, i16 2190, i16 0, i16 0, i16 196, i16 2942, i16 0, i16 837, i16 1586, i16 0, i16 1461, i16 710, i16 3077, i16 0, i16 996, i16 0, i16 0, i16 1237, i16 917, i16 457, i16 2194, i16 2954, i16 1220, i16 2780, i16 1444, i16 0, i16 0, i16 676, i16 1788, i16 0, i16 0, i16 971, i16 0, i16 652, i16 0, i16 0, i16 0, i16 0, i16 678, i16 2261, i16 0, i16 0, i16 674, i16 816, i16 2843, i16 286, i16 2900, i16 0, i16 2861, i16 563, i16 567, i16 2255, i16 2850, i16 1872, i16 2321, i16 1947, i16 0, i16 0, i16 854, i16 282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 14592, i16 0, i16 0, i16 0, i16 15360, i16 0, i16 0, i16 0, i16 13825, i16 0, i16 0, i16 0, i16 14338, i16 0, i16 0, i16 0, i16 14595, i16 0, i16 0, i16 0, i16 15620, i16 0, i16 0, i16 0, i16 13317, i16 0, i16 0, i16 0, i16 774, i16 0, i16 0, i16 0, i16 12806, i16 0, i16 0, i16 0, i16 15110, i16 0, i16 0, i16 0, i16 16903, i16 0, i16 0, i16 0, i16 13320, i16 0, i16 0, i16 0, i16 16136, i16 0, i16 0, i16 0, i16 15625, i16 0, i16 0, i16 0, i16 778, i16 0, i16 0, i16 0, i16 13578, i16 0, i16 0, i16 0, i16 14859, i16 0, i16 0, i16 0, i16 12556, i16 0, i16 0, i16 0, i16 14092, i16 0, i16 0, i16 0, i16 16652, i16 0, i16 0, i16 0, i16 12302, i16 0, i16 0, i16 0, i16 15118, i16 0, i16 0, i16 0, i16 17166, i16 0, i16 0, i16 0, i16 12559, i16 0, i16 0, i16 0, i16 12815, i16 0, i16 0, i16 0, i16 12304, i16 0, i16 0, i16 0, i16 14353, i16 0, i16 0, i16 0, i16 16913, i16 0, i16 0, i16 0, i16 14354, i16 0, i16 0, i16 0, i16 14355, i16 0, i16 0, i16 0, i16 16659, i16 0, i16 0, i16 0, i16 13844, i16 0, i16 0, i16 0, i16 13590, i16 0, i16 0, i16 0, i16 13591, i16 0, i16 0, i16 0, i16 15639, i16 0, i16 0, i16 0, i16 280, i16 0, i16 0, i16 0, i16 13336, i16 0, i16 0, i16 0, i16 14616, i16 0, i16 0, i16 0, i16 14105, i16 0, i16 0, i16 0, i16 13594, i16 0, i16 0, i16 0, i16 12571, i16 0, i16 0, i16 0, i16 13340, i16 0, i16 0, i16 0, i16 14620, i16 0, i16 0, i16 0, i16 14365, i16 0, i16 0, i16 0, i16 13854, i16 0, i16 0, i16 0, i16 16926, i16 0, i16 0, i16 0, i16 12831, i16 0, i16 0, i16 0, i16 14623, i16 0, i16 0, i16 0, i16 16415, i16 0, i16 0, i16 0, i16 16671, i16 0, i16 0, i16 0, i16 12576, i16 0, i16 0, i16 0, i16 15648, i16 0, i16 0, i16 0, i16 16928, i16 0, i16 0, i16 0, i16 12833, i16 0, i16 0, i16 0, i16 12322, i16 0, i16 0, i16 0, i16 13346, i16 0, i16 0, i16 0, i16 14370, i16 0, i16 0, i16 0, i16 16418, i16 0, i16 0, i16 0, i16 15907, i16 0, i16 0, i16 0, i16 14631, i16 0, i16 0, i16 0, i16 14632, i16 0, i16 0, i16 0, i16 15400, i16 0, i16 0, i16 0, i16 15656, i16 0, i16 0, i16 0, i16 13353, i16 0, i16 0, i16 0, i16 13609, i16 0, i16 0, i16 0, i16 15145, i16 0, i16 0, i16 0, i16 12330, i16 0, i16 0, i16 0, i16 12587, i16 0, i16 0, i16 0, i16 14891, i16 0, i16 0, i16 0, i16 15147, i16 0, i16 0, i16 0, i16 12588, i16 0, i16 0, i16 0, i16 13868, i16 0, i16 0, i16 0, i16 14381, i16 0, i16 0, i16 0, i16 15149, i16 0, i16 0, i16 0, i16 12334, i16 0, i16 0, i16 0, i16 16430, i16 0, i16 0, i16 0, i16 13359, i16 0, i16 0, i16 0, i16 14383, i16 0, i16 0, i16 0, i16 13616, i16 0, i16 0, i16 0, i16 15664, i16 0, i16 0, i16 0, i16 16432, i16 0, i16 0, i16 0, i16 12593, i16 0, i16 0, i16 0, i16 16945, i16 0, i16 0, i16 0, i16 15666, i16 0, i16 0, i16 0, i16 16690, i16 0, i16 0, i16 0, i16 15923, i16 0, i16 0, i16 0, i16 12340, i16 0, i16 0, i16 0, i16 14388, i16 0, i16 0, i16 0, i16 15924, i16 0, i16 0, i16 0, i16 12853, i16 0, i16 0, i16 0, i16 13112, i16 0, i16 0, i16 0, i16 15928, i16 0, i16 0, i16 0, i16 15929, i16 0, i16 0, i16 0, i16 16185, i16 0, i16 0, i16 0, i16 13626, i16 0, i16 0, i16 0, i16 13882, i16 0, i16 0, i16 0, i16 15930, i16 0, i16 0, i16 0, i16 12347, i16 0, i16 0, i16 0, i16 12603, i16 0, i16 0, i16 0, i16 13627, i16 0, i16 0, i16 0, i16 15675, i16 0, i16 0, i16 0, i16 12860, i16 0, i16 0, i16 0, i16 14396, i16 0, i16 0, i16 0, i16 16444, i16 0, i16 0, i16 0, i16 12351, i16 0, i16 0, i16 0, i16 13631, i16 0, i16 0, i16 0, i16 16703, i16 0, i16 0, i16 0, i16 12353, i16 0, i16 0, i16 0, i16 12865, i16 0, i16 0, i16 0, i16 13377, i16 0, i16 0, i16 0, i16 14145, i16 0, i16 0, i16 0, i16 15425, i16 0, i16 0, i16 0, i16 12866, i16 0, i16 0, i16 0, i16 13634, i16 0, i16 0, i16 0, i16 16962, i16 0, i16 0, i16 0, i16 13380, i16 0, i16 0, i16 0, i16 14916, i16 0, i16 0, i16 0, i16 13125, i16 0, i16 0, i16 0, i16 13893, i16 0, i16 0, i16 0, i16 15429, i16 0, i16 0, i16 0, i16 16709, i16 0, i16 0, i16 0, i16 13638, i16 0, i16 0, i16 0, i16 15430, i16 0, i16 0, i16 0, i16 15686, i16 0, i16 0, i16 0, i16 16966, i16 0, i16 0, i16 0, i16 13383, i16 0, i16 0, i16 0, i16 16455, i16 0, i16 0, i16 0, i16 16456, i16 0, i16 0, i16 0, i16 16712, i16 0, i16 0, i16 0, i16 12361, i16 0, i16 0, i16 0, i16 12617, i16 0, i16 0, i16 0, i16 15177, i16 0, i16 0, i16 0, i16 12874, i16 0, i16 0, i16 0, i16 16970, i16 0, i16 0, i16 0, i16 12875, i16 0, i16 0, i16 0, i16 14412, i16 0, i16 0, i16 0, i16 15948, i16 0, i16 0, i16 0, i16 12621, i16 0, i16 0, i16 0, i16 13646, i16 0, i16 0, i16 0, i16 14414, i16 0, i16 0, i16 0, i16 12623, i16 0, i16 0, i16 0, i16 14159, i16 0, i16 0, i16 0, i16 13136, i16 0, i16 0, i16 0, i16 16464, i16 0, i16 0, i16 0, i16 16976, i16 0, i16 0, i16 0, i16 12882, i16 0, i16 0, i16 0, i16 15698, i16 0, i16 0, i16 0, i16 14419, i16 0, i16 0, i16 0, i16 12373, i16 0, i16 0, i16 0, i16 15957, i16 0, i16 0, i16 0, i16 16981, i16 0, i16 0, i16 0, i16 13398, i16 0, i16 0, i16 0, i16 14934, i16 0, i16 0, i16 0, i16 13400, i16 0, i16 0, i16 0, i16 13145, i16 0, i16 0, i16 0, i16 13402, i16 0, i16 0, i16 0, i16 14682, i16 0, i16 0, i16 0, i16 16730, i16 0, i16 0, i16 0, i16 16986, i16 0, i16 0, i16 0, i16 14939, i16 0, i16 0, i16 0, i16 13148, i16 0, i16 0, i16 0, i16 15708, i16 0, i16 0, i16 0, i16 16476, i16 0, i16 0, i16 0, i16 13149, i16 0, i16 0, i16 0, i16 14173, i16 0, i16 0, i16 0, i16 15453, i16 0, i16 0, i16 0, i16 15709, i16 0, i16 0, i16 0, i16 16733, i16 0, i16 0, i16 0, i16 14174, i16 0, i16 0, i16 0, i16 15710, i16 0, i16 0, i16 0, i16 12383, i16 0, i16 0, i16 0, i16 16735, i16 0, i16 0, i16 0, i16 15712, i16 0, i16 0, i16 0, i16 12641, i16 0, i16 0, i16 0, i16 13409, i16 0, i16 0, i16 0, i16 16226, i16 0, i16 0, i16 0, i16 13923, i16 0, i16 0, i16 0, i16 14179, i16 0, i16 0, i16 0, i16 16483, i16 0, i16 0, i16 0, i16 15716, i16 0, i16 0, i16 0, i16 13414, i16 0, i16 0, i16 0, i16 615, i16 0, i16 0, i16 0, i16 871, i16 0, i16 0, i16 0, i16 12906, i16 0, i16 0, i16 0, i16 14186, i16 0, i16 0, i16 0, i16 14442, i16 0, i16 0, i16 0, i16 14698, i16 0, i16 0, i16 0, i16 16490, i16 0, i16 0, i16 0, i16 12651, i16 0, i16 0, i16 0, i16 13675, i16 0, i16 0, i16 0, i16 13164, i16 0, i16 0, i16 0, i16 13420, i16 0, i16 0, i16 0, i16 15980, i16 0, i16 0, i16 0, i16 13935, i16 0, i16 0, i16 0, i16 13680, i16 0, i16 0, i16 0, i16 16752, i16 0, i16 0, i16 0, i16 13938, i16 0, i16 0, i16 0, i16 15475, i16 0, i16 0, i16 0, i16 15731, i16 0, i16 0, i16 0, i16 12660, i16 0, i16 0, i16 0, i16 15732, i16 0, i16 0, i16 0, i16 14453, i16 0, i16 0, i16 0, i16 14709, i16 0, i16 0, i16 0, i16 15221, i16 0, i16 0, i16 0, i16 12406, i16 0, i16 0, i16 0, i16 13174, i16 0, i16 0, i16 0, i16 12919, i16 0, i16 0, i16 0, i16 16759, i16 0, i16 0, i16 0, i16 15480, i16 0, i16 0, i16 0, i16 14201, i16 0, i16 0, i16 0, i16 15737, i16 0, i16 0, i16 0, i16 15993, i16 0, i16 0, i16 0, i16 16250, i16 0, i16 0, i16 0, i16 12411, i16 0, i16 0, i16 0, i16 636, i16 0, i16 0, i16 0, i16 13180, i16 0, i16 0, i16 0, i16 14460, i16 0, i16 0, i16 0, i16 14716, i16 0, i16 0, i16 0, i16 14972, i16 0, i16 0, i16 0, i16 15228, i16 0, i16 0, i16 0, i16 12669, i16 0, i16 0, i16 0, i16 14205, i16 0, i16 0, i16 0, i16 16765, i16 0, i16 0, i16 0, i16 12926, i16 0, i16 0, i16 0, i16 15486, i16 0, i16 0, i16 0, i16 15742, i16 0, i16 0, i16 0, i16 14207, i16 0, i16 0, i16 0, i16 16767, i16 0, i16 0, i16 0, i16 13185, i16 0, i16 0, i16 0, i16 12931, i16 0, i16 0, i16 0, i16 13187, i16 0, i16 0, i16 0, i16 13699, i16 0, i16 0, i16 0, i16 14467, i16 0, i16 0, i16 0, i16 12421, i16 0, i16 0, i16 0, i16 13701, i16 0, i16 0, i16 0, i16 14725, i16 0, i16 0, i16 0, i16 14981, i16 0, i16 0, i16 0, i16 16261, i16 0, i16 0, i16 0, i16 13190, i16 0, i16 0, i16 0, i16 14214, i16 0, i16 0, i16 0, i16 16006, i16 0, i16 0, i16 0, i16 13703, i16 0, i16 0, i16 0, i16 12425, i16 0, i16 0, i16 0, i16 13705, i16 0, i16 0, i16 0, i16 14473, i16 0, i16 0, i16 0, i16 14985, i16 0, i16 0, i16 0, i16 13962, i16 0, i16 0, i16 0, i16 16266, i16 0, i16 0, i16 0, i16 12939, i16 0, i16 0, i16 0, i16 13453, i16 0, i16 0, i16 0, i16 14221, i16 0, i16 0, i16 0, i16 16013, i16 0, i16 0, i16 0, i16 17037, i16 0, i16 0, i16 0, i16 15503, i16 0, i16 0, i16 0, i16 14737, i16 0, i16 0, i16 0, i16 12946, i16 0, i16 0, i16 0, i16 13458, i16 0, i16 0, i16 0, i16 15506, i16 0, i16 0, i16 0, i16 17042, i16 0, i16 0, i16 0, i16 12435, i16 0, i16 0, i16 0, i16 16019, i16 0, i16 0, i16 0, i16 17043, i16 0, i16 0, i16 0, i16 12948, i16 0, i16 0, i16 0, i16 13972, i16 0, i16 0, i16 0, i16 16532, i16 0, i16 0, i16 0, i16 13975, i16 0, i16 0, i16 0, i16 15768, i16 0, i16 0, i16 0, i16 16793, i16 0, i16 0, i16 0, i16 13466, i16 0, i16 0, i16 0, i16 155, i16 0, i16 0, i16 0, i16 156, i16 0, i16 0, i16 0, i16 13469, i16 0, i16 0, i16 0, i16 16285, i16 0, i16 0, i16 0, i16 12958, i16 0, i16 0, i16 0, i16 13215, i16 0, i16 0, i16 0, i16 13727, i16 0, i16 0, i16 0, i16 14751, i16 0, i16 0, i16 0, i16 15263, i16 0, i16 0, i16 0, i16 15775, i16 0, i16 0, i16 0, i16 12704, i16 0, i16 0, i16 0, i16 16800, i16 0, i16 0, i16 0, i16 13473, i16 0, i16 0, i16 0, i16 14241, i16 0, i16 0, i16 0, i16 15521, i16 0, i16 0, i16 0, i16 16801, i16 0, i16 0, i16 0, i16 12962, i16 0, i16 0, i16 0, i16 15010, i16 0, i16 0, i16 0, i16 15778, i16 0, i16 0, i16 0, i16 15267, i16 0, i16 0, i16 0, i16 14500, i16 0, i16 0, i16 0, i16 165, i16 0, i16 0, i16 0, i16 15781, i16 0, i16 0, i16 0, i16 16293, i16 0, i16 0, i16 0, i16 166, i16 0, i16 0, i16 0, i16 17063, i16 0, i16 0, i16 0, i16 13736, i16 0, i16 0, i16 0, i16 16296, i16 0, i16 0, i16 0, i16 16808, i16 0, i16 0, i16 0, i16 12713, i16 0, i16 0, i16 0, i16 13993, i16 0, i16 0, i16 0, i16 16041, i16 0, i16 0, i16 0, i16 16810, i16 0, i16 0, i16 0, i16 17066, i16 0, i16 0, i16 0, i16 13483, i16 0, i16 0, i16 0, i16 13484, i16 0, i16 0, i16 0, i16 16300, i16 0, i16 0, i16 0, i16 13741, i16 0, i16 0, i16 0, i16 15277, i16 0, i16 0, i16 0, i16 12462, i16 0, i16 0, i16 0, i16 13999, i16 0, i16 0, i16 0, i16 16559, i16 0, i16 0, i16 0, i16 176, i16 0, i16 0, i16 0, i16 16048, i16 0, i16 0, i16 0, i16 13233, i16 0, i16 0, i16 0, i16 14769, i16 0, i16 0, i16 0, i16 16049, i16 0, i16 0, i16 0, i16 16305, i16 0, i16 0, i16 0, i16 13746, i16 0, i16 0, i16 0, i16 13747, i16 0, i16 0, i16 0, i16 180, i16 0, i16 0, i16 0, i16 13237, i16 0, i16 0, i16 0, i16 13749, i16 0, i16 0, i16 0, i16 14773, i16 0, i16 0, i16 0, i16 16309, i16 0, i16 0, i16 0, i16 16821, i16 0, i16 0, i16 0, i16 13750, i16 0, i16 0, i16 0, i16 14263, i16 0, i16 0, i16 0, i16 696, i16 0, i16 0, i16 0, i16 15544, i16 0, i16 0, i16 0, i16 16312, i16 0, i16 0, i16 0, i16 15290, i16 0, i16 0, i16 0, i16 16570, i16 0, i16 0, i16 0, i16 12475, i16 0, i16 0, i16 0, i16 13755, i16 0, i16 0, i16 0, i16 14779, i16 0, i16 0, i16 0, i16 15035, i16 0, i16 0, i16 0, i16 16828, i16 0, i16 0, i16 0, i16 15037, i16 0, i16 0, i16 0, i16 14526, i16 0, i16 0, i16 0, i16 15294, i16 0, i16 0, i16 0, i16 16832, i16 0, i16 0, i16 0, i16 15809, i16 0, i16 0, i16 0, i16 13506, i16 0, i16 0, i16 0, i16 16066, i16 0, i16 0, i16 0, i16 16834, i16 0, i16 0, i16 0, i16 12739, i16 0, i16 0, i16 0, i16 13763, i16 0, i16 0, i16 0, i16 12740, i16 0, i16 0, i16 0, i16 13764, i16 0, i16 0, i16 0, i16 16068, i16 0, i16 0, i16 0, i16 15045, i16 0, i16 0, i16 0, i16 15301, i16 0, i16 0, i16 0, i16 14278, i16 0, i16 0, i16 0, i16 12743, i16 0, i16 0, i16 0, i16 14791, i16 0, i16 0, i16 0, i16 17095, i16 0, i16 0, i16 0, i16 13768, i16 0, i16 0, i16 0, i16 15560, i16 0, i16 0, i16 0, i16 12745, i16 0, i16 0, i16 0, i16 13513, i16 0, i16 0, i16 0, i16 13514, i16 0, i16 0, i16 0, i16 13770, i16 0, i16 0, i16 0, i16 14027, i16 0, i16 0, i16 0, i16 17099, i16 0, i16 0, i16 0, i16 13516, i16 0, i16 0, i16 0, i16 17100, i16 0, i16 0, i16 0, i16 14285, i16 0, i16 0, i16 0, i16 16845, i16 0, i16 0, i16 0, i16 12494, i16 0, i16 0, i16 0, i16 14798, i16 0, i16 0, i16 0, i16 17102, i16 0, i16 0, i16 0, i16 16079, i16 0, i16 0, i16 0, i16 13520, i16 0, i16 0, i16 0, i16 14032, i16 0, i16 0, i16 0, i16 14288, i16 0, i16 0, i16 0, i16 14800, i16 0, i16 0, i16 0, i16 14289, i16 0, i16 0, i16 0, i16 15569, i16 0, i16 0, i16 0, i16 17105, i16 0, i16 0, i16 0, i16 13778, i16 0, i16 0, i16 0, i16 14034, i16 0, i16 0, i16 0, i16 14803, i16 0, i16 0, i16 0, i16 16083, i16 0, i16 0, i16 0, i16 14805, i16 0, i16 0, i16 0, i16 15829, i16 0, i16 0, i16 0, i16 16597, i16 0, i16 0, i16 0, i16 16853, i16 0, i16 0, i16 0, i16 16598, i16 0, i16 0, i16 0, i16 12503, i16 0, i16 0, i16 0, i16 13527, i16 0, i16 0, i16 0, i16 16088, i16 0, i16 0, i16 0, i16 12761, i16 0, i16 0, i16 0, i16 13785, i16 0, i16 0, i16 0, i16 14809, i16 0, i16 0, i16 0, i16 12508, i16 0, i16 0, i16 0, i16 13276, i16 0, i16 0, i16 0, i16 13532, i16 0, i16 0, i16 0, i16 15836, i16 0, i16 0, i16 0, i16 16348, i16 0, i16 0, i16 0, i16 17116, i16 0, i16 0, i16 0, i16 14045, i16 0, i16 0, i16 0, i16 15837, i16 0, i16 0, i16 0, i16 14558, i16 0, i16 0, i16 0, i16 15326, i16 0, i16 0, i16 0, i16 14047, i16 0, i16 0, i16 0, i16 12768, i16 0, i16 0, i16 0, i16 15584, i16 0, i16 0, i16 0, i16 225, i16 0, i16 0, i16 0, i16 13793, i16 0, i16 0, i16 0, i16 13027, i16 0, i16 0, i16 0, i16 14819, i16 0, i16 0, i16 0, i16 16099, i16 0, i16 0, i16 0, i16 16867, i16 0, i16 0, i16 0, i16 14052, i16 0, i16 0, i16 0, i16 17124, i16 0, i16 0, i16 0, i16 14821, i16 0, i16 0, i16 0, i16 15077, i16 0, i16 0, i16 0, i16 13286, i16 0, i16 0, i16 0, i16 12519, i16 0, i16 0, i16 0, i16 12775, i16 0, i16 0, i16 0, i16 13031, i16 0, i16 0, i16 0, i16 14311, i16 0, i16 0, i16 0, i16 14823, i16 0, i16 0, i16 0, i16 13800, i16 0, i16 0, i16 0, i16 16616, i16 0, i16 0, i16 0, i16 14057, i16 0, i16 0, i16 0, i16 14826, i16 0, i16 0, i16 0, i16 15594, i16 0, i16 0, i16 0, i16 13291, i16 0, i16 0, i16 0, i16 16108, i16 0, i16 0, i16 0, i16 237, i16 0, i16 0, i16 0, i16 12781, i16 0, i16 0, i16 0, i16 15597, i16 0, i16 0, i16 0, i16 15342, i16 0, i16 0, i16 0, i16 14063, i16 0, i16 0, i16 0, i16 15087, i16 0, i16 0, i16 0, i16 15344, i16 0, i16 0, i16 0, i16 13809, i16 0, i16 0, i16 0, i16 17138, i16 0, i16 0, i16 0, i16 15091, i16 0, i16 0, i16 0, i16 16627, i16 0, i16 0, i16 0, i16 12788, i16 0, i16 0, i16 0, i16 14580, i16 0, i16 0, i16 0, i16 15348, i16 0, i16 0, i16 0, i16 16628, i16 0, i16 0, i16 0, i16 13813, i16 0, i16 0, i16 0, i16 13302, i16 0, i16 0, i16 0, i16 14326, i16 0, i16 0, i16 0, i16 15094, i16 0, i16 0, i16 0, i16 15863, i16 0, i16 0, i16 0, i16 16375, i16 0, i16 0, i16 0, i16 15353, i16 0, i16 0, i16 0, i16 15609, i16 0, i16 0, i16 0, i16 14586, i16 0, i16 0, i16 0, i16 15354, i16 0, i16 0, i16 0, i16 15355, i16 0, i16 0, i16 0, i16 15867, i16 0, i16 0, i16 0, i16 15100, i16 0, i16 0, i16 0, i16 12285, i16 0, i16 0, i16 0, i16 13053, i16 0, i16 0, i16 0, i16 14333, i16 0, i16 0, i16 0, i16 12542, i16 0, i16 0, i16 0, i16 12798, i16 0, i16 0, i16 0, i16 13310, i16 0, i16 0, i16 0, i16 14846, i16 0, i16 0, i16 0, i16 15103, i16 0, i16 0, i16 256, i16 0, i16 0, i16 0, i16 14080, i16 0, i16 0, i16 0, i16 13313, i16 17049, i16 0, i16 0, i16 12546, i16 0, i16 0, i16 0, i16 14082, i16 0, i16 0, i16 0, i16 15618, i16 0, i16 0, i16 0, i16 12547, i16 0, i16 0, i16 0, i16 16899, i16 0, i16 0, i16 0, i16 14852, i16 17003, i16 0, i16 0, i16 16388, i16 0, i16 0, i16 0, i16 16644, i16 0, i16 0, i16 0, i16 13573, i16 0, i16 0, i16 0, i16 14085, i16 0, i16 0, i16 0, i16 15109, i16 0, i16 0, i16 0, i16 13318, i16 0, i16 0, i16 0, i16 15366, i16 0, i16 0, i16 0, i16 15622, i16 0, i16 0, i16 0, i16 16390, i16 14495, i16 0, i16 0, i16 16902, i16 13005, i16 0, i16 0, i16 12295, i16 12296, i16 0, i16 0, i16 14343, i16 13546, i16 0, i16 0, i16 16647, i16 0, i16 0, i16 0, i16 14344, i16 0, i16 0, i16 0, i16 15880, i16 15683, i16 0, i16 0, i16 265, i16 264, i16 0, i16 0, i16 12553, i16 14944, i16 0, i16 0, i16 13833, i16 0, i16 0, i16 0, i16 14857, i16 0, i16 0, i16 0, i16 15881, i16 0, i16 0, i16 0, i16 16137, i16 0, i16 0, i16 0, i16 16649, i16 0, i16 0, i16 0, i16 17162, i16 0, i16 0, i16 0, i16 12555, i16 16345, i16 0, i16 0, i16 13067, i16 0, i16 0, i16 0, i16 15115, i16 0, i16 0, i16 0, i16 12300, i16 0, i16 0, i16 0, i16 14348, i16 0, i16 0, i16 0, i16 15628, i16 14483, i16 0, i16 0, i16 16140, i16 0, i16 0, i16 0, i16 12557, i16 0, i16 0, i16 0, i16 14349, i16 0, i16 0, i16 0, i16 14605, i16 15757, i16 0, i16 0, i16 15629, i16 0, i16 0, i16 0, i16 15885, i16 0, i16 0, i16 0, i16 782, i16 0, i16 0, i16 0, i16 13582, i16 13021, i16 0, i16 0, i16 14094, i16 0, i16 0, i16 0, i16 14862, i16 0, i16 0, i16 0, i16 16398, i16 14978, i16 0, i16 0, i16 14352, i16 0, i16 0, i16 0, i16 15376, i16 0, i16 0, i16 0, i16 15121, i16 0, i16 0, i16 0, i16 16657, i16 0, i16 0, i16 0, i16 17169, i16 0, i16 0, i16 0, i16 16658, i16 0, i16 0, i16 0, i16 12819, i16 15198, i16 0, i16 0, i16 13331, i16 0, i16 0, i16 0, i16 13588, i16 15915, i16 0, i16 0, i16 16148, i16 0, i16 0, i16 0, i16 13589, i16 14715, i16 0, i16 0, i16 15125, i16 0, i16 0, i16 0, i16 16661, i16 0, i16 0, i16 0, i16 12310, i16 0, i16 0, i16 0, i16 12566, i16 15116, i16 0, i16 0, i16 13334, i16 0, i16 0, i16 0, i16 14102, i16 15783, i16 0, i16 0, i16 13335, i16 0, i16 0, i16 0, i16 16152, i16 0, i16 0, i16 0, i16 12569, i16 0, i16 0, i16 0, i16 282, i16 0, i16 0, i16 0, i16 794, i16 0, i16 0, i16 0, i16 13338, i16 0, i16 0, i16 0, i16 15386, i16 15387, i16 0, i16 0, i16 15643, i16 16909, i16 0, i16 0, i16 16155, i16 14782, i16 0, i16 0, i16 16667, i16 0, i16 0, i16 0, i16 12828, i16 0, i16 0, i16 0, i16 15644, i16 0, i16 0, i16 0, i16 12829, i16 0, i16 0, i16 0, i16 13597, i16 0, i16 0, i16 0, i16 15133, i16 0, i16 0, i16 0, i16 16413, i16 0, i16 0, i16 0, i16 16669, i16 0, i16 0, i16 0, i16 14110, i16 0, i16 0, i16 0, i16 15902, i16 0, i16 0, i16 0, i16 16158, i16 0, i16 0, i16 0, i16 16670, i16 0, i16 0, i16 0, i16 12320, i16 0, i16 0, i16 0, i16 13344, i16 0, i16 0, i16 0, i16 14624, i16 13170, i16 0, i16 0, i16 15392, i16 0, i16 0, i16 0, i16 16672, i16 12786, i16 0, i16 0, i16 12321, i16 0, i16 0, i16 0, i16 13601, i16 0, i16 0, i16 0, i16 14881, i16 17167, i16 0, i16 0, i16 15649, i16 16630, i16 0, i16 0, i16 15905, i16 16062, i16 0, i16 0, i16 16929, i16 0, i16 0, i16 0, i16 14114, i16 0, i16 0, i16 0, i16 14882, i16 0, i16 0, i16 0, i16 15906, i16 12444, i16 0, i16 0, i16 16674, i16 0, i16 0, i16 0, i16 16163, i16 0, i16 0, i16 0, i16 13860, i16 13824, i16 0, i16 0, i16 14116, i16 15911, i16 0, i16 0, i16 14884, i16 0, i16 0, i16 0, i16 12325, i16 0, i16 0, i16 0, i16 12837, i16 0, i16 0, i16 0, i16 16678, i16 0, i16 0, i16 0, i16 12327, i16 0, i16 0, i16 0, i16 14887, i16 0, i16 0, i16 0, i16 16423, i16 0, i16 0, i16 0, i16 12328, i16 16639, i16 0, i16 0, i16 16425, i16 0, i16 0, i16 0, i16 13610, i16 16180, i16 0, i16 0, i16 14890, i16 0, i16 0, i16 0, i16 16170, i16 0, i16 0, i16 0, i16 15403, i16 0, i16 0, i16 0, i16 16171, i16 0, i16 0, i16 0, i16 12332, i16 0, i16 0, i16 0, i16 15404, i16 15291, i16 0, i16 0, i16 14125, i16 0, i16 0, i16 0, i16 14893, i16 15274, i16 0, i16 0, i16 16685, i16 0, i16 0, i16 0, i16 16941, i16 0, i16 0, i16 0, i16 14382, i16 0, i16 0, i16 0, i16 14638, i16 12998, i16 0, i16 0, i16 16174, i16 0, i16 0, i16 0, i16 12591, i16 0, i16 0, i16 0, i16 14639, i16 0, i16 0, i16 0, i16 13360, i16 0, i16 0, i16 0, i16 14384, i16 0, i16 0, i16 0, i16 14640, i16 0, i16 0, i16 0, i16 13361, i16 0, i16 0, i16 0, i16 14641, i16 0, i16 0, i16 0, i16 15409, i16 0, i16 0, i16 0, i16 16433, i16 0, i16 0, i16 0, i16 14642, i16 0, i16 0, i16 0, i16 14898, i16 13976, i16 0, i16 0, i16 15154, i16 0, i16 0, i16 0, i16 12851, i16 15968, i16 0, i16 0, i16 13619, i16 0, i16 0, i16 0, i16 16947, i16 0, i16 0, i16 0, i16 15156, i16 0, i16 0, i16 0, i16 13365, i16 0, i16 0, i16 0, i16 13621, i16 12675, i16 0, i16 0, i16 12598, i16 15066, i16 0, i16 0, i16 12343, i16 13378, i16 0, i16 0, i16 14135, i16 0, i16 0, i16 0, i16 14391, i16 0, i16 0, i16 0, i16 16951, i16 15075, i16 0, i16 0, i16 12856, i16 0, i16 0, i16 0, i16 15160, i16 13821, i16 0, i16 0, i16 14905, i16 0, i16 0, i16 0, i16 12858, i16 0, i16 0, i16 0, i16 13370, i16 0, i16 0, i16 0, i16 14138, i16 0, i16 0, i16 0, i16 14907, i16 0, i16 0, i16 0, i16 13628, i16 0, i16 0, i16 0, i16 13884, i16 0, i16 0, i16 0, i16 16956, i16 0, i16 0, i16 0, i16 13885, i16 0, i16 0, i16 0, i16 14141, i16 0, i16 0, i16 0, i16 14398, i16 0, i16 0, i16 0, i16 15166, i16 0, i16 0, i16 0, i16 16958, i16 0, i16 0, i16 0, i16 13375, i16 0, i16 0, i16 0, i16 13889, i16 0, i16 0, i16 0, i16 14913, i16 14137, i16 0, i16 0, i16 16193, i16 0, i16 0, i16 0, i16 16449, i16 0, i16 0, i16 0, i16 15938, i16 0, i16 0, i16 0, i16 12355, i16 0, i16 0, i16 0, i16 13379, i16 0, i16 0, i16 0, i16 14660, i16 16660, i16 0, i16 0, i16 15684, i16 0, i16 0, i16 0, i16 12613, i16 16161, i16 0, i16 0, i16 12869, i16 0, i16 0, i16 0, i16 16965, i16 0, i16 0, i16 0, i16 13126, i16 0, i16 0, i16 0, i16 14406, i16 0, i16 0, i16 0, i16 12359, i16 0, i16 0, i16 0, i16 13895, i16 15817, i16 0, i16 0, i16 16711, i16 0, i16 0, i16 0, i16 13640, i16 0, i16 0, i16 0, i16 14920, i16 0, i16 0, i16 0, i16 15944, i16 0, i16 0, i16 0, i16 13385, i16 0, i16 0, i16 0, i16 13641, i16 0, i16 0, i16 0, i16 15945, i16 16859, i16 0, i16 0, i16 16457, i16 0, i16 0, i16 0, i16 12362, i16 0, i16 0, i16 0, i16 13130, i16 0, i16 0, i16 0, i16 14154, i16 0, i16 0, i16 0, i16 14666, i16 0, i16 0, i16 0, i16 16202, i16 0, i16 0, i16 0, i16 13131, i16 15689, i16 0, i16 0, i16 13387, i16 0, i16 0, i16 0, i16 14155, i16 0, i16 0, i16 0, i16 15179, i16 12896, i16 0, i16 0, i16 15691, i16 0, i16 0, i16 0, i16 12364, i16 14260, i16 0, i16 0, i16 13388, i16 13894, i16 0, i16 0, i16 13901, i16 0, i16 0, i16 0, i16 14669, i16 15472, i16 0, i16 0, i16 15949, i16 0, i16 0, i16 0, i16 13390, i16 16026, i16 0, i16 0, i16 14670, i16 0, i16 0, i16 0, i16 13135, i16 16906, i16 0, i16 0, i16 13391, i16 0, i16 0, i16 0, i16 16463, i16 0, i16 0, i16 0, i16 13392, i16 13404, i16 0, i16 0, i16 16720, i16 0, i16 0, i16 0, i16 13649, i16 0, i16 0, i16 0, i16 16209, i16 0, i16 0, i16 0, i16 14674, i16 0, i16 0, i16 0, i16 16722, i16 0, i16 0, i16 0, i16 14163, i16 0, i16 0, i16 0, i16 14675, i16 0, i16 0, i16 0, i16 15699, i16 0, i16 0, i16 0, i16 12628, i16 14648, i16 0, i16 0, i16 13396, i16 0, i16 0, i16 0, i16 15188, i16 0, i16 0, i16 0, i16 12886, i16 0, i16 0, i16 0, i16 13910, i16 0, i16 0, i16 0, i16 14422, i16 0, i16 0, i16 0, i16 15958, i16 12707, i16 0, i16 0, i16 16214, i16 0, i16 0, i16 0, i16 16470, i16 0, i16 0, i16 0, i16 12631, i16 13625, i16 0, i16 0, i16 13143, i16 0, i16 0, i16 0, i16 14423, i16 0, i16 0, i16 0, i16 13656, i16 0, i16 0, i16 0, i16 13912, i16 0, i16 0, i16 0, i16 14424, i16 0, i16 0, i16 0, i16 12633, i16 0, i16 0, i16 0, i16 13913, i16 0, i16 0, i16 0, i16 12890, i16 0, i16 0, i16 0, i16 13146, i16 0, i16 0, i16 0, i16 15962, i16 0, i16 0, i16 0, i16 13147, i16 0, i16 0, i16 0, i16 13659, i16 0, i16 0, i16 0, i16 13405, i16 0, i16 0, i16 0, i16 13150, i16 0, i16 0, i16 0, i16 13406, i16 0, i16 0, i16 0, i16 14686, i16 0, i16 0, i16 0, i16 12895, i16 12407, i16 0, i16 0, i16 15455, i16 0, i16 0, i16 0, i16 14176, i16 0, i16 0, i16 0, i16 14432, i16 0, i16 0, i16 0, i16 15200, i16 0, i16 0, i16 0, i16 16736, i16 0, i16 0, i16 0, i16 12897, i16 0, i16 0, i16 0, i16 13921, i16 0, i16 0, i16 0, i16 14689, i16 0, i16 0, i16 0, i16 13154, i16 0, i16 0, i16 0, i16 16994, i16 16995, i16 0, i16 0, i16 15971, i16 15754, i16 0, i16 0, i16 13156, i16 0, i16 0, i16 0, i16 14692, i16 0, i16 0, i16 0, i16 15460, i16 0, i16 0, i16 0, i16 16228, i16 0, i16 0, i16 0, i16 12389, i16 0, i16 0, i16 0, i16 13669, i16 0, i16 0, i16 0, i16 16486, i16 0, i16 0, i16 0, i16 13927, i16 12380, i16 0, i16 0, i16 14951, i16 15813, i16 0, i16 0, i16 15975, i16 0, i16 0, i16 0, i16 16487, i16 0, i16 0, i16 0, i16 12904, i16 12905, i16 0, i16 0, i16 13416, i16 14004, i16 0, i16 0, i16 15977, i16 0, i16 0, i16 0, i16 12394, i16 15982, i16 0, i16 0, i16 15978, i16 0, i16 0, i16 0, i16 13676, i16 0, i16 0, i16 0, i16 15212, i16 0, i16 0, i16 0, i16 14445, i16 0, i16 0, i16 0, i16 12654, i16 0, i16 0, i16 0, i16 13934, i16 0, i16 0, i16 0, i16 13679, i16 0, i16 0, i16 0, i16 14449, i16 0, i16 0, i16 0, i16 16241, i16 0, i16 0, i16 0, i16 13426, i16 16648, i16 0, i16 0, i16 12915, i16 0, i16 0, i16 0, i16 13427, i16 14180, i16 0, i16 0, i16 14451, i16 15717, i16 0, i16 0, i16 16243, i16 0, i16 0, i16 0, i16 14452, i16 0, i16 0, i16 0, i16 14708, i16 0, i16 0, i16 0, i16 12917, i16 0, i16 0, i16 0, i16 14966, i16 0, i16 0, i16 0, i16 13944, i16 0, i16 0, i16 0, i16 15992, i16 0, i16 0, i16 0, i16 16760, i16 0, i16 0, i16 0, i16 17016, i16 15317, i16 0, i16 0, i16 15225, i16 0, i16 0, i16 0, i16 12666, i16 0, i16 0, i16 0, i16 15738, i16 13848, i16 0, i16 0, i16 17018, i16 0, i16 0, i16 0, i16 13947, i16 0, i16 0, i16 0, i16 15996, i16 0, i16 0, i16 0, i16 13181, i16 0, i16 0, i16 0, i16 15229, i16 0, i16 0, i16 0, i16 13438, i16 13197, i16 0, i16 0, i16 15743, i16 0, i16 0, i16 0, i16 17023, i16 0, i16 0, i16 0, i16 13184, i16 0, i16 0, i16 0, i16 13440, i16 0, i16 0, i16 0, i16 13442, i16 0, i16 0, i16 0, i16 16515, i16 0, i16 0, i16 0, i16 12420, i16 0, i16 0, i16 0, i16 13189, i16 0, i16 0, i16 0, i16 13445, i16 13494, i16 0, i16 0, i16 15237, i16 0, i16 0, i16 0, i16 13958, i16 0, i16 0, i16 0, i16 16262, i16 0, i16 0, i16 0, i16 15239, i16 0, i16 0, i16 0, i16 13960, i16 0, i16 0, i16 0, i16 16776, i16 0, i16 0, i16 0, i16 17032, i16 0, i16 0, i16 0, i16 13193, i16 0, i16 0, i16 0, i16 13961, i16 0, i16 0, i16 0, i16 16010, i16 0, i16 0, i16 0, i16 13451, i16 0, i16 0, i16 0, i16 12428, i16 14380, i16 0, i16 0, i16 14732, i16 16704, i16 0, i16 0, i16 15244, i16 0, i16 0, i16 0, i16 16524, i16 15420, i16 0, i16 0, i16 16269, i16 0, i16 0, i16 0, i16 13198, i16 16103, i16 0, i16 0, i16 13710, i16 17081, i16 0, i16 0, i16 13711, i16 0, i16 0, i16 0, i16 14479, i16 14478, i16 0, i16 0, i16 16015, i16 13394, i16 0, i16 0, i16 16271, i16 0, i16 0, i16 0, i16 12688, i16 0, i16 0, i16 0, i16 16784, i16 0, i16 0, i16 0, i16 13201, i16 14579, i16 0, i16 0, i16 13713, i16 0, i16 0, i16 0, i16 14738, i16 0, i16 0, i16 0, i16 12947, i16 0, i16 0, i16 0, i16 13459, i16 14369, i16 0, i16 0, i16 15251, i16 14807, i16 0, i16 0, i16 14740, i16 0, i16 0, i16 0, i16 17044, i16 0, i16 0, i16 0, i16 14229, i16 0, i16 0, i16 0, i16 14741, i16 0, i16 0, i16 0, i16 13718, i16 0, i16 0, i16 0, i16 13974, i16 0, i16 0, i16 0, i16 14230, i16 0, i16 0, i16 0, i16 17046, i16 13544, i16 0, i16 0, i16 12439, i16 0, i16 0, i16 0, i16 16023, i16 0, i16 0, i16 0, i16 17047, i16 15588, i16 0, i16 0, i16 13464, i16 14488, i16 0, i16 0, i16 13209, i16 0, i16 0, i16 0, i16 15257, i16 13925, i16 0, i16 0, i16 16281, i16 0, i16 0, i16 0, i16 16794, i16 13906, i16 0, i16 0, i16 12955, i16 13571, i16 0, i16 0, i16 668, i16 0, i16 0, i16 0, i16 14748, i16 0, i16 0, i16 0, i16 15004, i16 0, i16 0, i16 0, i16 12701, i16 0, i16 0, i16 0, i16 15773, i16 14925, i16 0, i16 0, i16 16029, i16 0, i16 0, i16 0, i16 17053, i16 0, i16 0, i16 0, i16 12446, i16 0, i16 0, i16 0, i16 13982, i16 0, i16 0, i16 0, i16 14494, i16 0, i16 0, i16 0, i16 17054, i16 16165, i16 0, i16 0, i16 14239, i16 0, i16 0, i16 0, i16 15007, i16 0, i16 0, i16 0, i16 16031, i16 0, i16 0, i16 0, i16 13216, i16 15956, i16 0, i16 0, i16 12705, i16 0, i16 0, i16 0, i16 16289, i16 0, i16 0, i16 0, i16 674, i16 0, i16 0, i16 0, i16 15266, i16 0, i16 0, i16 0, i16 16290, i16 0, i16 0, i16 0, i16 16546, i16 0, i16 0, i16 0, i16 16802, i16 0, i16 0, i16 0, i16 12451, i16 0, i16 0, i16 0, i16 15523, i16 0, i16 0, i16 0, i16 16291, i16 0, i16 0, i16 0, i16 12452, i16 12408, i16 0, i16 0, i16 12708, i16 0, i16 0, i16 0, i16 12964, i16 0, i16 0, i16 0, i16 14244, i16 0, i16 0, i16 0, i16 16292, i16 0, i16 0, i16 0, i16 15269, i16 0, i16 0, i16 0, i16 16037, i16 0, i16 0, i16 0, i16 16549, i16 0, i16 0, i16 0, i16 12710, i16 15019, i16 0, i16 0, i16 15782, i16 0, i16 0, i16 0, i16 16294, i16 0, i16 0, i16 0, i16 12455, i16 17045, i16 0, i16 0, i16 12711, i16 13480, i16 0, i16 0, i16 13479, i16 0, i16 0, i16 0, i16 13991, i16 0, i16 0, i16 0, i16 14503, i16 0, i16 0, i16 0, i16 15527, i16 0, i16 0, i16 0, i16 16295, i16 16721, i16 0, i16 0, i16 12456, i16 0, i16 0, i16 0, i16 13224, i16 12838, i16 0, i16 0, i16 15784, i16 0, i16 0, i16 0, i16 13737, i16 0, i16 0, i16 0, i16 13738, i16 0, i16 0, i16 0, i16 13739, i16 0, i16 0, i16 0, i16 13995, i16 14438, i16 0, i16 0, i16 14763, i16 0, i16 0, i16 0, i16 16299, i16 13632, i16 0, i16 0, i16 13996, i16 14799, i16 0, i16 0, i16 15788, i16 13599, i16 0, i16 0, i16 14253, i16 12873, i16 0, i16 0, i16 14765, i16 0, i16 0, i16 0, i16 17069, i16 0, i16 0, i16 0, i16 174, i16 0, i16 0, i16 0, i16 15790, i16 0, i16 0, i16 0, i16 13743, i16 0, i16 0, i16 0, i16 15279, i16 16077, i16 0, i16 0, i16 13744, i16 13482, i16 0, i16 0, i16 15792, i16 0, i16 0, i16 0, i16 16816, i16 0, i16 0, i16 0, i16 14513, i16 15755, i16 0, i16 0, i16 178, i16 0, i16 0, i16 0, i16 13490, i16 16151, i16 0, i16 0, i16 14514, i16 16601, i16 0, i16 0, i16 15026, i16 0, i16 0, i16 0, i16 15538, i16 16535, i16 0, i16 0, i16 16562, i16 0, i16 0, i16 0, i16 16818, i16 0, i16 0, i16 0, i16 691, i16 0, i16 0, i16 0, i16 14515, i16 0, i16 0, i16 0, i16 16307, i16 0, i16 0, i16 0, i16 12980, i16 12981, i16 0, i16 0, i16 13492, i16 0, i16 0, i16 0, i16 15028, i16 0, i16 0, i16 0, i16 15284, i16 14607, i16 0, i16 0, i16 15285, i16 0, i16 0, i16 0, i16 694, i16 785, i16 0, i16 0, i16 12470, i16 15646, i16 0, i16 0, i16 15798, i16 0, i16 0, i16 0, i16 12983, i16 13478, i16 0, i16 0, i16 13495, i16 0, i16 0, i16 0, i16 12728, i16 16993, i16 0, i16 0, i16 12984, i16 14160, i16 0, i16 0, i16 13496, i16 0, i16 0, i16 0, i16 185, i16 184, i16 0, i16 0, i16 12985, i16 0, i16 0, i16 0, i16 15033, i16 0, i16 0, i16 0, i16 13498, i16 0, i16 0, i16 0, i16 16314, i16 16812, i16 0, i16 0, i16 187, i16 186, i16 0, i16 0, i16 699, i16 792, i16 0, i16 0, i16 14011, i16 12526, i16 0, i16 0, i16 16315, i16 0, i16 0, i16 0, i16 16571, i16 0, i16 0, i16 0, i16 13500, i16 0, i16 0, i16 0, i16 701, i16 793, i16 0, i16 0, i16 12733, i16 0, i16 0, i16 0, i16 13501, i16 0, i16 0, i16 0, i16 702, i16 795, i16 0, i16 0, i16 13246, i16 15414, i16 0, i16 0, i16 14014, i16 0, i16 0, i16 0, i16 191, i16 190, i16 0, i16 0, i16 12735, i16 0, i16 0, i16 0, i16 12991, i16 0, i16 0, i16 0, i16 13503, i16 0, i16 0, i16 0, i16 14271, i16 0, i16 0, i16 0, i16 14527, i16 14060, i16 0, i16 0, i16 12480, i16 0, i16 0, i16 0, i16 13249, i16 0, i16 0, i16 0, i16 15553, i16 14199, i16 0, i16 0, i16 16065, i16 0, i16 0, i16 0, i16 12738, i16 0, i16 0, i16 0, i16 14530, i16 14206, i16 0, i16 0, i16 14786, i16 0, i16 0, i16 0, i16 12995, i16 0, i16 0, i16 0, i16 14531, i16 0, i16 0, i16 0, i16 16579, i16 0, i16 0, i16 0, i16 15556, i16 0, i16 0, i16 0, i16 16836, i16 0, i16 0, i16 0, i16 14277, i16 0, i16 0, i16 0, i16 16325, i16 0, i16 0, i16 0, i16 16837, i16 0, i16 0, i16 0, i16 12742, i16 0, i16 0, i16 0, i16 16839, i16 0, i16 0, i16 0, i16 200, i16 201, i16 0, i16 0, i16 15304, i16 15303, i16 0, i16 0, i16 15816, i16 14955, i16 0, i16 0, i16 16328, i16 0, i16 0, i16 0, i16 16584, i16 0, i16 0, i16 0, i16 16073, i16 0, i16 0, i16 0, i16 16329, i16 0, i16 0, i16 0, i16 17097, i16 0, i16 0, i16 0, i16 202, i16 0, i16 0, i16 0, i16 13258, i16 0, i16 0, i16 0, i16 14794, i16 0, i16 0, i16 0, i16 15050, i16 0, i16 0, i16 0, i16 15562, i16 0, i16 0, i16 0, i16 16074, i16 0, i16 0, i16 0, i16 13260, i16 0, i16 0, i16 0, i16 13772, i16 15199, i16 0, i16 0, i16 16332, i16 0, i16 0, i16 0, i16 16588, i16 0, i16 0, i16 0, i16 13517, i16 0, i16 0, i16 0, i16 13262, i16 0, i16 0, i16 0, i16 15822, i16 0, i16 0, i16 0, i16 14543, i16 12589, i16 0, i16 0, i16 16335, i16 0, i16 0, i16 0, i16 12752, i16 13794, i16 0, i16 0, i16 13264, i16 0, i16 0, i16 0, i16 15057, i16 13046, i16 0, i16 0, i16 16849, i16 16921, i16 0, i16 0, i16 210, i16 211, i16 0, i16 0, i16 13522, i16 0, i16 0, i16 0, i16 14802, i16 0, i16 0, i16 0, i16 15314, i16 13029, i16 0, i16 0, i16 12499, i16 0, i16 0, i16 0, i16 13011, i16 0, i16 0, i16 0, i16 14035, i16 16620, i16 0, i16 0, i16 212, i16 213, i16 0, i16 0, i16 16084, i16 0, i16 0, i16 0, i16 16340, i16 0, i16 0, i16 0, i16 16342, i16 0, i16 0, i16 0, i16 13783, i16 0, i16 0, i16 0, i16 13016, i16 14788, i16 0, i16 0, i16 14808, i16 0, i16 0, i16 0, i16 15064, i16 0, i16 0, i16 0, i16 14041, i16 14269, i16 0, i16 0, i16 14297, i16 0, i16 0, i16 0, i16 15065, i16 0, i16 0, i16 0, i16 15833, i16 0, i16 0, i16 0, i16 13018, i16 0, i16 0, i16 0, i16 219, i16 0, i16 0, i16 0, i16 13787, i16 0, i16 0, i16 0, i16 14299, i16 0, i16 0, i16 0, i16 14811, i16 0, i16 0, i16 0, i16 15324, i16 16112, i16 0, i16 0, i16 13277, i16 0, i16 0, i16 0, i16 16605, i16 0, i16 0, i16 0, i16 13534, i16 0, i16 0, i16 0, i16 13790, i16 0, i16 0, i16 0, i16 15070, i16 0, i16 0, i16 0, i16 13791, i16 0, i16 0, i16 0, i16 14559, i16 0, i16 0, i16 0, i16 16607, i16 0, i16 0, i16 0, i16 16863, i16 14628, i16 0, i16 0, i16 17119, i16 0, i16 0, i16 0, i16 13024, i16 13060, i16 0, i16 0, i16 13536, i16 0, i16 0, i16 0, i16 14048, i16 0, i16 0, i16 0, i16 14816, i16 0, i16 0, i16 0, i16 15328, i16 0, i16 0, i16 0, i16 16352, i16 16046, i16 0, i16 0, i16 12513, i16 0, i16 0, i16 0, i16 14817, i16 0, i16 0, i16 0, i16 15329, i16 0, i16 0, i16 0, i16 15841, i16 0, i16 0, i16 0, i16 17121, i16 0, i16 0, i16 0, i16 13538, i16 0, i16 0, i16 0, i16 14050, i16 0, i16 0, i16 0, i16 15842, i16 14561, i16 0, i16 0, i16 16098, i16 0, i16 0, i16 0, i16 14564, i16 0, i16 0, i16 0, i16 15332, i16 0, i16 0, i16 0, i16 15845, i16 12345, i16 0, i16 0, i16 13798, i16 15306, i16 0, i16 0, i16 17126, i16 12973, i16 0, i16 0, i16 12520, i16 0, i16 0, i16 0, i16 14056, i16 0, i16 0, i16 0, i16 14568, i16 0, i16 0, i16 0, i16 14824, i16 0, i16 0, i16 0, i16 17129, i16 0, i16 0, i16 0, i16 12522, i16 12391, i16 0, i16 0, i16 13802, i16 0, i16 0, i16 0, i16 14570, i16 16105, i16 0, i16 0, i16 16106, i16 15989, i16 0, i16 0, i16 14827, i16 13366, i16 0, i16 0, i16 16875, i16 0, i16 0, i16 0, i16 15084, i16 15744, i16 0, i16 0, i16 13293, i16 0, i16 0, i16 0, i16 13549, i16 0, i16 0, i16 0, i16 14317, i16 0, i16 0, i16 0, i16 15853, i16 16114, i16 0, i16 0, i16 15854, i16 0, i16 0, i16 0, i16 13039, i16 0, i16 0, i16 0, i16 14064, i16 0, i16 0, i16 0, i16 14832, i16 17077, i16 0, i16 0, i16 15088, i16 0, i16 0, i16 0, i16 13553, i16 0, i16 0, i16 0, i16 14577, i16 0, i16 0, i16 0, i16 14833, i16 0, i16 0, i16 0, i16 15857, i16 0, i16 0, i16 0, i16 15090, i16 15635, i16 0, i16 0, i16 15346, i16 0, i16 0, i16 0, i16 15858, i16 14520, i16 0, i16 0, i16 16882, i16 0, i16 0, i16 0, i16 244, i16 243, i16 0, i16 0, i16 13812, i16 0, i16 0, i16 0, i16 14068, i16 0, i16 0, i16 0, i16 14325, i16 0, i16 0, i16 0, i16 17141, i16 16512, i16 0, i16 0, i16 13558, i16 0, i16 0, i16 0, i16 16374, i16 15645, i16 0, i16 0, i16 12535, i16 0, i16 0, i16 0, i16 16120, i16 0, i16 0, i16 0, i16 16376, i16 0, i16 0, i16 0, i16 17144, i16 16840, i16 0, i16 0, i16 14585, i16 0, i16 0, i16 0, i16 15097, i16 16614, i16 0, i16 0, i16 16121, i16 0, i16 0, i16 0, i16 16889, i16 0, i16 0, i16 0, i16 12794, i16 14493, i16 0, i16 0, i16 13562, i16 0, i16 0, i16 0, i16 14074, i16 0, i16 0, i16 0, i16 14587, i16 0, i16 0, i16 0, i16 12540, i16 0, i16 0, i16 0, i16 16124, i16 16211, i16 0, i16 0, i16 13565, i16 16820, i16 0, i16 0, i16 15101, i16 0, i16 0, i16 0, i16 15357, i16 0, i16 0, i16 0, i16 16638, i16 0, i16 0, i16 0, i16 13055, i16 0, i16 0, i16 0, i16 15871, i16 0, i16 0, i16 0, i16 16127, i16 0, i16 0, i16 0, i16 16383, i16 0, i16 0, i16 0, i16 16895, i16 0, i16 0, i16 14336, i16 0, i16 0, i16 0, i16 15872, i16 0, i16 0, i16 0, i16 16896, i16 12854, i16 0, i16 0, i16 12289, i16 0, i16 0, i16 0, i16 13057, i16 0, i16 0, i16 0, i16 14593, i16 0, i16 0, i16 0, i16 15361, i16 14291, i16 12990, i16 0, i16 16129, i16 0, i16 0, i16 0, i16 2, i16 3, i16 0, i16 0, i16 12290, i16 0, i16 0, i16 0, i16 13826, i16 14262, i16 0, i16 0, i16 15106, i16 0, i16 0, i16 0, i16 17154, i16 0, i16 0, i16 0, i16 12291, i16 0, i16 0, i16 0, i16 13315, i16 0, i16 0, i16 0, i16 14339, i16 12729, i16 13820, i16 0, i16 14851, i16 0, i16 0, i16 0, i16 15875, i16 0, i16 0, i16 0, i16 4, i16 5, i16 6, i16 0, i16 12292, i16 14533, i16 0, i16 0, i16 13316, i16 0, i16 0, i16 0, i16 16900, i16 12787, i16 15477, i16 0, i16 17156, i16 0, i16 14379, i16 0, i16 14341, i16 0, i16 0, i16 0, i16 14597, i16 0, i16 0, i16 0, i16 12550, i16 0, i16 0, i16 0, i16 15878, i16 0, i16 0, i16 0, i16 13575, i16 0, i16 0, i16 0, i16 14087, i16 13298, i16 0, i16 0, i16 14599, i16 0, i16 0, i16 0, i16 16135, i16 13144, i16 0, i16 0, i16 16391, i16 0, i16 0, i16 0, i16 520, i16 521, i16 522, i16 0, i16 13832, i16 0, i16 0, i16 0, i16 14088, i16 14747, i16 13614, i16 0, i16 14600, i16 14465, i16 0, i16 0, i16 16392, i16 0, i16 0, i16 0, i16 12809, i16 0, i16 0, i16 0, i16 13577, i16 15658, i16 0, i16 0, i16 13066, i16 0, i16 0, i16 0, i16 15114, i16 0, i16 15163, i16 0, i16 16650, i16 0, i16 15347, i16 0, i16 12811, i16 0, i16 0, i16 0, i16 13579, i16 0, i16 0, i16 0, i16 16139, i16 0, i16 13204, i16 0, i16 16651, i16 0, i16 12426, i16 0, i16 17163, i16 0, i16 0, i16 0, i16 14860, i16 0, i16 0, i16 0, i16 15884, i16 13063, i16 12474, i16 0, i16 17164, i16 17165, i16 0, i16 0, i16 13325, i16 16860, i16 0, i16 0, i16 16397, i16 0, i16 0, i16 0, i16 13326, i16 0, i16 0, i16 0, i16 16654, i16 0, i16 0, i16 0, i16 16910, i16 0, i16 0, i16 0, i16 783, i16 0, i16 0, i16 0, i16 13071, i16 16937, i16 15040, i16 0, i16 13583, i16 0, i16 0, i16 0, i16 14863, i16 0, i16 0, i16 0, i16 15119, i16 0, i16 16996, i16 0, i16 16655, i16 0, i16 16656, i16 0, i16 13584, i16 0, i16 15449, i16 0, i16 14608, i16 14546, i16 0, i16 0, i16 15120, i16 0, i16 0, i16 0, i16 16400, i16 0, i16 0, i16 0, i16 13329, i16 0, i16 0, i16 0, i16 14609, i16 17131, i16 0, i16 0, i16 15889, i16 12524, i16 0, i16 0, i16 786, i16 695, i16 787, i16 0, i16 12818, i16 12650, i16 0, i16 0, i16 13843, i16 0, i16 15910, i16 0, i16 14099, i16 0, i16 0, i16 0, i16 15123, i16 0, i16 13134, i16 0, i16 15891, i16 14665, i16 17026, i16 0, i16 14356, i16 13443, i16 14504, i16 0, i16 15124, i16 0, i16 0, i16 0, i16 16404, i16 0, i16 13658, i16 0, i16 16917, i16 0, i16 0, i16 0, i16 14358, i16 13399, i16 0, i16 0, i16 15126, i16 0, i16 0, i16 0, i16 15894, i16 12941, i16 12942, i16 0, i16 12311, i16 0, i16 0, i16 0, i16 14103, i16 0, i16 16763, i16 0, i16 15895, i16 0, i16 17074, i16 0, i16 16663, i16 0, i16 0, i16 0, i16 16919, i16 0, i16 0, i16 0, i16 15128, i16 0, i16 0, i16 0, i16 16664, i16 0, i16 0, i16 0, i16 16920, i16 0, i16 13816, i16 0, i16 13337, i16 0, i16 0, i16 0, i16 13849, i16 0, i16 15779, i16 0, i16 14873, i16 0, i16 0, i16 0, i16 15129, i16 0, i16 0, i16 0, i16 15641, i16 0, i16 0, i16 0, i16 15897, i16 0, i16 12885, i16 0, i16 13850, i16 0, i16 0, i16 0, i16 14362, i16 0, i16 0, i16 0, i16 16666, i16 16590, i16 15456, i16 0, i16 1051, i16 0, i16 0, i16 0, i16 16668, i16 16710, i16 12369, i16 0, i16 797, i16 703, i16 796, i16 0, i16 13853, i16 0, i16 0, i16 0, i16 15901, i16 16166, i16 14550, i16 0, i16 16157, i16 0, i16 0, i16 0, i16 13342, i16 16181, i16 12441, i16 0, i16 15134, i16 15135, i16 0, i16 0, i16 16414, i16 0, i16 0, i16 0, i16 287, i16 284, i16 0, i16 0, i16 14879, i16 16693, i16 0, i16 0, i16 16927, i16 13356, i16 0, i16 0, i16 288, i16 289, i16 290, i16 0, i16 12832, i16 16729, i16 0, i16 0, i16 15136, i16 0, i16 15657, i16 0, i16 15137, i16 0, i16 15988, i16 0, i16 16417, i16 0, i16 0, i16 0, i16 16673, i16 0, i16 13283, i16 0, i16 13602, i16 0, i16 0, i16 0, i16 14115, i16 0, i16 0, i16 0, i16 14371, i16 0, i16 0, i16 0, i16 16675, i16 0, i16 0, i16 0, i16 12580, i16 16042, i16 12849, i16 0, i16 13348, i16 14712, i16 15662, i16 0, i16 15140, i16 0, i16 0, i16 0, i16 15909, i16 0, i16 0, i16 0, i16 16933, i16 0, i16 13345, i16 0, i16 12582, i16 0, i16 13797, i16 0, i16 13350, i16 0, i16 0, i16 0, i16 13862, i16 0, i16 0, i16 0, i16 16934, i16 0, i16 0, i16 0, i16 15143, i16 16324, i16 0, i16 0, i16 12840, i16 15772, i16 0, i16 0, i16 14888, i16 14337, i16 0, i16 0, i16 16424, i16 0, i16 0, i16 0, i16 16680, i16 0, i16 0, i16 0, i16 16936, i16 12953, i16 0, i16 0, i16 14633, i16 0, i16 0, i16 0, i16 14889, i16 12899, i16 0, i16 0, i16 15401, i16 15603, i16 0, i16 0, i16 15146, i16 0, i16 0, i16 0, i16 13611, i16 0, i16 0, i16 0, i16 16684, i16 0, i16 0, i16 0, i16 14637, i16 0, i16 0, i16 0, i16 16429, i16 0, i16 0, i16 0, i16 12590, i16 0, i16 0, i16 0, i16 13358, i16 13570, i16 14553, i16 0, i16 14126, i16 0, i16 0, i16 0, i16 14894, i16 0, i16 0, i16 0, i16 15407, i16 15848, i16 16384, i16 0, i16 15919, i16 0, i16 0, i16 0, i16 16431, i16 0, i16 16343, i16 0, i16 16687, i16 0, i16 0, i16 0, i16 16943, i16 0, i16 0, i16 0, i16 15408, i16 0, i16 14373, i16 0, i16 15920, i16 0, i16 0, i16 0, i16 16176, i16 0, i16 16162, i16 0, i16 16688, i16 0, i16 16319, i16 0, i16 13617, i16 0, i16 0, i16 0, i16 14385, i16 0, i16 0, i16 0, i16 12338, i16 0, i16 0, i16 0, i16 12594, i16 0, i16 13859, i16 0, i16 12850, i16 0, i16 0, i16 0, i16 13618, i16 0, i16 0, i16 0, i16 14386, i16 0, i16 12777, i16 0, i16 15922, i16 16156, i16 13300, i16 0, i16 13363, i16 12934, i16 0, i16 0, i16 15668, i16 0, i16 0, i16 0, i16 16692, i16 0, i16 0, i16 0, i16 12341, i16 0, i16 0, i16 0, i16 14645, i16 13454, i16 13712, i16 0, i16 15925, i16 14582, i16 0, i16 0, i16 12342, i16 0, i16 0, i16 0, i16 13110, i16 0, i16 0, i16 0, i16 13622, i16 16877, i16 0, i16 0, i16 14134, i16 16977, i16 14101, i16 0, i16 15926, i16 0, i16 14100, i16 0, i16 12855, i16 0, i16 0, i16 0, i16 13111, i16 0, i16 0, i16 0, i16 15415, i16 0, i16 13550, i16 0, i16 12344, i16 14324, i16 0, i16 0, i16 13368, i16 17123, i16 0, i16 0, i16 13880, i16 0, i16 0, i16 0, i16 14136, i16 15933, i16 16499, i16 0, i16 15672, i16 0, i16 0, i16 0, i16 16184, i16 0, i16 0, i16 0, i16 14649, i16 17057, i16 12572, i16 0, i16 15161, i16 0, i16 13899, i16 0, i16 16697, i16 14679, i16 0, i16 0, i16 12602, i16 16064, i16 0, i16 0, i16 14650, i16 0, i16 0, i16 0, i16 14906, i16 15697, i16 14606, i16 0, i16 16186, i16 0, i16 0, i16 0, i16 16954, i16 0, i16 12615, i16 0, i16 12859, i16 0, i16 0, i16 0, i16 13883, i16 0, i16 0, i16 0, i16 16443, i16 0, i16 0, i16 0, i16 16955, i16 0, i16 0, i16 0, i16 1084, i16 0, i16 0, i16 0, i16 13372, i16 0, i16 15883, i16 0, i16 14652, i16 0, i16 15961, i16 0, i16 12605, i16 16723, i16 0, i16 0, i16 13373, i16 0, i16 0, i16 0, i16 14397, i16 0, i16 0, i16 0, i16 14653, i16 0, i16 0, i16 0, i16 14909, i16 15552, i16 14122, i16 0, i16 12862, i16 0, i16 0, i16 0, i16 13374, i16 0, i16 13511, i16 0, i16 12607, i16 0, i16 0, i16 0, i16 14143, i16 0, i16 0, i16 0, i16 15679, i16 0, i16 16861, i16 0, i16 16191, i16 0, i16 0, i16 0, i16 12352, i16 0, i16 13142, i16 0, i16 12608, i16 0, i16 0, i16 0, i16 13120, i16 0, i16 0, i16 0, i16 13376, i16 16172, i16 12431, i16 0, i16 13888, i16 0, i16 0, i16 0, i16 14400, i16 0, i16 0, i16 0, i16 15680, i16 13424, i16 0, i16 0, i16 13633, i16 0, i16 0, i16 0, i16 15170, i16 0, i16 0, i16 0, i16 15682, i16 0, i16 0, i16 0, i16 16194, i16 0, i16 12409, i16 0, i16 14403, i16 0, i16 15776, i16 0, i16 14659, i16 14658, i16 0, i16 0, i16 15171, i16 0, i16 0, i16 0, i16 16195, i16 0, i16 13887, i16 0, i16 13124, i16 0, i16 0, i16 0, i16 13636, i16 0, i16 0, i16 0, i16 14404, i16 0, i16 0, i16 0, i16 16196, i16 0, i16 0, i16 0, i16 16452, i16 0, i16 0, i16 0, i16 16964, i16 0, i16 14108, i16 0, i16 14661, i16 0, i16 12817, i16 0, i16 14917, i16 16969, i16 12392, i16 0, i16 15941, i16 0, i16 15896, i16 0, i16 16197, i16 0, i16 0, i16 0, i16 16454, i16 0, i16 0, i16 0, i16 13639, i16 0, i16 0, i16 0, i16 14919, i16 0, i16 0, i16 0, i16 15175, i16 0, i16 14644, i16 0, i16 15687, i16 0, i16 16380, i16 0, i16 13384, i16 0, i16 0, i16 0, i16 13896, i16 0, i16 0, i16 0, i16 14408, i16 0, i16 0, i16 0, i16 13897, i16 0, i16 0, i16 0, i16 12618, i16 17068, i16 0, i16 0, i16 13642, i16 16781, i16 0, i16 0, i16 13898, i16 16924, i16 0, i16 0, i16 15178, i16 14797, i16 0, i16 0, i16 12363, i16 0, i16 0, i16 0, i16 14411, i16 16971, i16 0, i16 0, i16 14923, i16 0, i16 15843, i16 0, i16 15947, i16 0, i16 0, i16 0, i16 16459, i16 0, i16 0, i16 0, i16 16715, i16 0, i16 0, i16 0, i16 14156, i16 0, i16 0, i16 0, i16 12877, i16 0, i16 16806, i16 0, i16 13389, i16 0, i16 0, i16 0, i16 14157, i16 0, i16 0, i16 0, i16 16461, i16 0, i16 16018, i16 0, i16 16717, i16 0, i16 0, i16 0, i16 13902, i16 0, i16 0, i16 0, i16 14926, i16 0, i16 12720, i16 0, i16 15694, i16 0, i16 15793, i16 0, i16 15950, i16 0, i16 0, i16 0, i16 16974, i16 0, i16 0, i16 0, i16 12879, i16 0, i16 0, i16 0, i16 14671, i16 0, i16 0, i16 0, i16 15439, i16 0, i16 0, i16 0, i16 15695, i16 0, i16 0, i16 0, i16 14416, i16 0, i16 0, i16 0, i16 15696, i16 0, i16 16589, i16 0, i16 14673, i16 0, i16 0, i16 0, i16 16465, i16 0, i16 15220, i16 0, i16 14162, i16 0, i16 0, i16 0, i16 16466, i16 15454, i16 13875, i16 0, i16 12627, i16 0, i16 0, i16 0, i16 13139, i16 0, i16 15444, i16 0, i16 13395, i16 0, i16 0, i16 0, i16 13651, i16 0, i16 0, i16 0, i16 16979, i16 0, i16 0, i16 0, i16 13140, i16 0, i16 0, i16 0, i16 13908, i16 0, i16 0, i16 0, i16 14420, i16 0, i16 0, i16 0, i16 14676, i16 0, i16 0, i16 0, i16 16212, i16 0, i16 0, i16 0, i16 16724, i16 0, i16 0, i16 0, i16 13141, i16 15167, i16 12734, i16 0, i16 13653, i16 0, i16 0, i16 0, i16 14421, i16 0, i16 12527, i16 0, i16 14677, i16 0, i16 0, i16 0, i16 15701, i16 0, i16 0, i16 0, i16 16213, i16 0, i16 0, i16 0, i16 12374, i16 12375, i16 0, i16 0, i16 12630, i16 0, i16 0, i16 0, i16 14678, i16 0, i16 0, i16 0, i16 16982, i16 13183, i16 0, i16 0, i16 13655, i16 0, i16 16233, i16 0, i16 14935, i16 0, i16 0, i16 0, i16 15447, i16 0, i16 0, i16 0, i16 16471, i16 13382, i16 0, i16 0, i16 16983, i16 15838, i16 14030, i16 0, i16 12376, i16 0, i16 0, i16 0, i16 14168, i16 0, i16 0, i16 0, i16 16216, i16 0, i16 14287, i16 0, i16 16728, i16 0, i16 0, i16 0, i16 89, i16 0, i16 0, i16 0, i16 14425, i16 0, i16 0, i16 0, i16 15705, i16 0, i16 0, i16 0, i16 16473, i16 0, i16 13593, i16 0, i16 16985, i16 0, i16 13907, i16 0, i16 90, i16 91, i16 92, i16 0, i16 12891, i16 0, i16 0, i16 0, i16 13915, i16 0, i16 0, i16 0, i16 14171, i16 0, i16 0, i16 0, i16 15707, i16 0, i16 0, i16 0, i16 12892, i16 0, i16 0, i16 0, i16 13660, i16 0, i16 0, i16 0, i16 14428, i16 0, i16 0, i16 0, i16 14940, i16 0, i16 0, i16 0, i16 16220, i16 16689, i16 15887, i16 0, i16 16988, i16 0, i16 0, i16 0, i16 12893, i16 0, i16 12842, i16 0, i16 14685, i16 16372, i16 0, i16 0, i16 13918, i16 12927, i16 0, i16 0, i16 16734, i16 0, i16 15318, i16 0, i16 13663, i16 0, i16 16595, i16 0, i16 12640, i16 0, i16 0, i16 0, i16 14945, i16 0, i16 0, i16 0, i16 15457, i16 0, i16 0, i16 0, i16 15713, i16 16567, i16 0, i16 0, i16 16225, i16 0, i16 15660, i16 0, i16 12386, i16 0, i16 0, i16 0, i16 14690, i16 0, i16 17039, i16 0, i16 16482, i16 0, i16 0, i16 0, i16 12643, i16 15955, i16 12727, i16 0, i16 13155, i16 12358, i16 0, i16 0, i16 13411, i16 17107, i16 0, i16 0, i16 16227, i16 0, i16 0, i16 0, i16 13412, i16 0, i16 15652, i16 0, i16 13924, i16 14113, i16 0, i16 0, i16 15972, i16 17161, i16 14439, i16 0, i16 16740, i16 0, i16 0, i16 0, i16 12901, i16 0, i16 0, i16 0, i16 15205, i16 0, i16 13167, i16 0, i16 15973, i16 0, i16 0, i16 0, i16 16741, i16 0, i16 14792, i16 0, i16 12646, i16 0, i16 12827, i16 0, i16 12902, i16 16984, i16 13252, i16 0, i16 14182, i16 0, i16 0, i16 0, i16 15462, i16 0, i16 0, i16 0, i16 12903, i16 0, i16 0, i16 0, i16 13159, i16 0, i16 0, i16 0, i16 14183, i16 0, i16 0, i16 0, i16 15207, i16 0, i16 0, i16 0, i16 15719, i16 0, i16 0, i16 0, i16 872, i16 873, i16 874, i16 0, i16 13672, i16 0, i16 0, i16 0, i16 14184, i16 0, i16 13723, i16 0, i16 14440, i16 15702, i16 13754, i16 0, i16 14696, i16 0, i16 12323, i16 0, i16 16488, i16 0, i16 0, i16 0, i16 12649, i16 0, i16 0, i16 0, i16 13161, i16 15899, i16 0, i16 0, i16 14185, i16 0, i16 0, i16 0, i16 14441, i16 0, i16 0, i16 0, i16 13162, i16 0, i16 0, i16 0, i16 13419, i16 0, i16 0, i16 0, i16 14443, i16 0, i16 0, i16 0, i16 15979, i16 16623, i16 0, i16 0, i16 876, i16 877, i16 878, i16 0, i16 13932, i16 13543, i16 0, i16 0, i16 17004, i16 16055, i16 15825, i16 0, i16 12397, i16 13647, i16 0, i16 0, i16 13165, i16 17058, i16 13093, i16 0, i16 14957, i16 0, i16 16405, i16 0, i16 15469, i16 0, i16 0, i16 0, i16 16749, i16 0, i16 0, i16 0, i16 13166, i16 0, i16 13950, i16 0, i16 15470, i16 12770, i16 0, i16 0, i16 16494, i16 13846, i16 16862, i16 0, i16 12655, i16 16472, i16 0, i16 0, i16 12911, i16 0, i16 14435, i16 0, i16 14447, i16 13098, i16 0, i16 0, i16 15215, i16 0, i16 0, i16 0, i16 15471, i16 0, i16 0, i16 0, i16 15727, i16 15044, i16 0, i16 0, i16 17007, i16 15700, i16 12367, i16 0, i16 12400, i16 0, i16 0, i16 0, i16 12912, i16 0, i16 0, i16 0, i16 14192, i16 0, i16 0, i16 0, i16 16240, i16 15211, i16 0, i16 0, i16 16496, i16 0, i16 16462, i16 0, i16 12401, i16 0, i16 0, i16 0, i16 14193, i16 16914, i16 16725, i16 0, i16 15217, i16 0, i16 12511, i16 0, i16 16497, i16 0, i16 14251, i16 0, i16 12402, i16 0, i16 0, i16 0, i16 13682, i16 0, i16 15219, i16 0, i16 14962, i16 0, i16 16960, i16 0, i16 12659, i16 16333, i16 0, i16 0, i16 13683, i16 0, i16 0, i16 0, i16 13684, i16 0, i16 12944, i16 0, i16 16756, i16 16757, i16 12346, i16 0, i16 17012, i16 13397, i16 0, i16 0, i16 17013, i16 0, i16 0, i16 0, i16 13430, i16 0, i16 0, i16 0, i16 14454, i16 0, i16 0, i16 0, i16 15222, i16 0, i16 0, i16 0, i16 15990, i16 0, i16 12661, i16 0, i16 13943, i16 13179, i16 16645, i16 0, i16 14455, i16 0, i16 0, i16 0, i16 14967, i16 0, i16 0, i16 0, i16 17015, i16 0, i16 15677, i16 0, i16 12920, i16 0, i16 0, i16 0, i16 15736, i16 0, i16 14401, i16 0, i16 13433, i16 12583, i16 0, i16 0, i16 13945, i16 0, i16 0, i16 0, i16 17017, i16 0, i16 0, i16 0, i16 15226, i16 0, i16 0, i16 0, i16 15994, i16 16110, i16 0, i16 0, i16 16762, i16 0, i16 0, i16 0, i16 15739, i16 0, i16 0, i16 0, i16 16507, i16 0, i16 0, i16 0, i16 15740, i16 0, i16 0, i16 0, i16 13693, i16 0, i16 13630, i16 0, i16 13949, i16 0, i16 14130, i16 0, i16 14461, i16 0, i16 0, i16 0, i16 15741, i16 0, i16 0, i16 0, i16 382, i16 383, i16 384, i16 0, i16 12670, i16 0, i16 0, i16 0, i16 13694, i16 0, i16 0, i16 0, i16 14718, i16 0, i16 0, i16 0, i16 16254, i16 16540, i16 14067, i16 0, i16 17022, i16 0, i16 0, i16 0, i16 13951, i16 14569, i16 0, i16 0, i16 14719, i16 0, i16 0, i16 0, i16 14975, i16 0, i16 0, i16 0, i16 15999, i16 16395, i16 0, i16 0, i16 16255, i16 15970, i16 0, i16 0, i16 14464, i16 0, i16 0, i16 0, i16 16000, i16 0, i16 15654, i16 0, i16 16768, i16 0, i16 0, i16 0, i16 129, i16 130, i16 0, i16 0, i16 12417, i16 0, i16 0, i16 0, i16 14209, i16 0, i16 0, i16 0, i16 16257, i16 13839, i16 0, i16 0, i16 12418, i16 0, i16 0, i16 0, i16 13698, i16 0, i16 0, i16 0, i16 14722, i16 0, i16 0, i16 0, i16 16514, i16 0, i16 0, i16 0, i16 15236, i16 0, i16 12423, i16 0, i16 17028, i16 0, i16 14146, i16 0, i16 133, i16 0, i16 0, i16 0, i16 13957, i16 0, i16 0, i16 0, i16 14469, i16 0, i16 14664, i16 0, i16 15749, i16 15089, i16 0, i16 0, i16 16773, i16 0, i16 0, i16 0, i16 17029, i16 16890, i16 0, i16 0, i16 134, i16 0, i16 0, i16 0, i16 12422, i16 16944, i16 0, i16 0, i16 13702, i16 0, i16 0, i16 0, i16 14726, i16 12950, i16 15112, i16 0, i16 135, i16 0, i16 216, i16 0, i16 12935, i16 15489, i16 14213, i16 0, i16 13191, i16 13212, i16 14463, i16 0, i16 13959, i16 13804, i16 0, i16 0, i16 16007, i16 0, i16 16851, i16 0, i16 17031, i16 0, i16 15590, i16 0, i16 13192, i16 0, i16 14757, i16 0, i16 13448, i16 0, i16 0, i16 0, i16 14728, i16 0, i16 14610, i16 0, i16 16008, i16 0, i16 0, i16 0, i16 12681, i16 0, i16 0, i16 0, i16 15753, i16 0, i16 0, i16 0, i16 13194, i16 0, i16 14601, i16 0, i16 13706, i16 13328, i16 0, i16 0, i16 12683, i16 0, i16 0, i16 0, i16 16267, i16 13977, i16 0, i16 0, i16 16523, i16 0, i16 0, i16 0, i16 13196, i16 16505, i16 0, i16 0, i16 16268, i16 0, i16 0, i16 0, i16 15501, i16 0, i16 0, i16 0, i16 13966, i16 0, i16 14225, i16 0, i16 14222, i16 0, i16 15866, i16 0, i16 16782, i16 15483, i16 12909, i16 0, i16 14991, i16 0, i16 0, i16 0, i16 14224, i16 16057, i16 16615, i16 0, i16 14480, i16 0, i16 0, i16 0, i16 14736, i16 0, i16 16389, i16 0, i16 14992, i16 0, i16 12530, i16 0, i16 15760, i16 0, i16 15102, i16 0, i16 16528, i16 0, i16 12544, i16 0, i16 12689, i16 0, i16 0, i16 0, i16 14481, i16 0, i16 0, i16 0, i16 16017, i16 0, i16 16265, i16 0, i16 16273, i16 0, i16 0, i16 0, i16 17041, i16 12577, i16 0, i16 0, i16 13714, i16 0, i16 17088, i16 0, i16 13970, i16 0, i16 0, i16 0, i16 14994, i16 0, i16 0, i16 0, i16 13203, i16 0, i16 15248, i16 0, i16 13715, i16 0, i16 0, i16 0, i16 14227, i16 0, i16 14729, i16 0, i16 12436, i16 12560, i16 0, i16 0, i16 15508, i16 0, i16 0, i16 0, i16 16020, i16 13774, i16 13965, i16 0, i16 16788, i16 0, i16 13922, i16 0, i16 12949, i16 14112, i16 0, i16 0, i16 14485, i16 12372, i16 0, i16 0, i16 14997, i16 0, i16 0, i16 0, i16 15509, i16 17038, i16 0, i16 0, i16 15765, i16 0, i16 13172, i16 0, i16 16021, i16 0, i16 0, i16 0, i16 16533, i16 17065, i16 15937, i16 0, i16 14742, i16 0, i16 0, i16 0, i16 14998, i16 0, i16 0, i16 0, i16 16278, i16 12741, i16 0, i16 0, i16 16534, i16 0, i16 0, i16 0, i16 14487, i16 0, i16 0, i16 0, i16 16279, i16 0, i16 0, i16 0, i16 13720, i16 0, i16 14858, i16 0, i16 16280, i16 14376, i16 0, i16 0, i16 13721, i16 0, i16 13661, i16 0, i16 15769, i16 0, i16 0, i16 0, i16 16025, i16 0, i16 12517, i16 0, i16 13978, i16 0, i16 0, i16 0, i16 14234, i16 0, i16 0, i16 0, i16 14490, i16 0, i16 16578, i16 0, i16 13467, i16 0, i16 0, i16 0, i16 15259, i16 0, i16 0, i16 0, i16 13724, i16 13489, i16 0, i16 0, i16 14492, i16 0, i16 0, i16 0, i16 15260, i16 0, i16 0, i16 0, i16 12445, i16 0, i16 0, i16 0, i16 13981, i16 0, i16 0, i16 0, i16 14749, i16 0, i16 15349, i16 0, i16 16797, i16 14625, i16 0, i16 0, i16 14750, i16 0, i16 14516, i16 0, i16 15262, i16 0, i16 0, i16 0, i16 15774, i16 0, i16 0, i16 0, i16 16286, i16 13429, i16 14081, i16 0, i16 12703, i16 0, i16 0, i16 0, i16 12959, i16 0, i16 0, i16 0, i16 13471, i16 0, i16 0, i16 0, i16 16799, i16 0, i16 0, i16 0, i16 14240, i16 0, i16 0, i16 0, i16 15264, i16 0, i16 0, i16 0, i16 16288, i16 0, i16 0, i16 0, i16 12449, i16 0, i16 0, i16 0, i16 14754, i16 0, i16 0, i16 0, i16 16034, i16 0, i16 14965, i16 0, i16 13219, i16 0, i16 0, i16 0, i16 13475, i16 12802, i16 0, i16 0, i16 13987, i16 0, i16 0, i16 0, i16 14499, i16 0, i16 14961, i16 0, i16 14755, i16 0, i16 0, i16 0, i16 15011, i16 0, i16 0, i16 0, i16 16035, i16 0, i16 0, i16 0, i16 16803, i16 0, i16 14505, i16 0, i16 13988, i16 0, i16 0, i16 0, i16 15012, i16 0, i16 13477, i16 0, i16 15268, i16 0, i16 0, i16 0, i16 12453, i16 0, i16 0, i16 0, i16 14245, i16 0, i16 0, i16 0, i16 15270, i16 13548, i16 0, i16 0, i16 13223, i16 12676, i16 0, i16 0, i16 15015, i16 0, i16 14969, i16 0, i16 16039, i16 0, i16 0, i16 0, i16 16551, i16 0, i16 0, i16 0, i16 13992, i16 12922, i16 12751, i16 0, i16 14248, i16 0, i16 13984, i16 0, i16 15016, i16 0, i16 0, i16 0, i16 169, i16 347, i16 0, i16 0, i16 14761, i16 0, i16 0, i16 0, i16 16809, i16 0, i16 15476, i16 0, i16 12970, i16 0, i16 0, i16 0, i16 14506, i16 12454, i16 0, i16 0, i16 14762, i16 0, i16 0, i16 0, i16 15786, i16 16009, i16 0, i16 0, i16 14507, i16 0, i16 13835, i16 0, i16 16555, i16 14270, i16 15187, i16 0, i16 12716, i16 16963, i16 13886, i16 0, i16 13740, i16 0, i16 0, i16 0, i16 14252, i16 0, i16 13592, i16 0, i16 15532, i16 0, i16 0, i16 0, i16 173, i16 0, i16 0, i16 0, i16 12461, i16 0, i16 0, i16 0, i16 14510, i16 12978, i16 0, i16 0, i16 16814, i16 0, i16 0, i16 0, i16 12719, i16 15416, i16 0, i16 0, i16 13231, i16 0, i16 0, i16 0, i16 13487, i16 0, i16 0, i16 0, i16 16047, i16 0, i16 0, i16 0, i16 16303, i16 13486, i16 15435, i16 0, i16 12464, i16 0, i16 0, i16 0, i16 13232, i16 0, i16 14864, i16 0, i16 14000, i16 0, i16 0, i16 0, i16 15280, i16 0, i16 0, i16 0, i16 16304, i16 0, i16 0, i16 0, i16 17072, i16 0, i16 13786, i16 0, i16 13745, i16 0, i16 0, i16 0, i16 14001, i16 0, i16 16036, i16 0, i16 17073, i16 0, i16 0, i16 0, i16 12722, i16 0, i16 0, i16 0, i16 14002, i16 13056, i16 16377, i16 0, i16 16306, i16 0, i16 0, i16 0, i16 12467, i16 0, i16 0, i16 0, i16 12979, i16 15210, i16 0, i16 0, i16 13235, i16 16467, i16 0, i16 0, i16 14003, i16 0, i16 12539, i16 0, i16 14259, i16 0, i16 0, i16 0, i16 12468, i16 0, i16 0, i16 0, i16 13236, i16 0, i16 0, i16 0, i16 13748, i16 0, i16 0, i16 0, i16 14772, i16 0, i16 0, i16 0, i16 14261, i16 0, i16 16750, i16 0, i16 15797, i16 0, i16 15079, i16 0, i16 182, i16 181, i16 0, i16 0, i16 12982, i16 0, i16 0, i16 0, i16 16566, i16 14236, i16 12396, i16 0, i16 14007, i16 0, i16 14200, i16 0, i16 15287, i16 15298, i16 0, i16 0, i16 16311, i16 0, i16 0, i16 0, i16 17079, i16 0, i16 16957, i16 0, i16 14008, i16 0, i16 0, i16 0, i16 14264, i16 0, i16 0, i16 0, i16 15032, i16 0, i16 0, i16 0, i16 15800, i16 0, i16 12647, i16 0, i16 17080, i16 0, i16 0, i16 0, i16 14777, i16 0, i16 12653, i16 0, i16 12730, i16 13939, i16 0, i16 0, i16 13242, i16 0, i16 0, i16 0, i16 17082, i16 15463, i16 0, i16 0, i16 13243, i16 0, i16 0, i16 0, i16 13499, i16 0, i16 12619, i16 0, i16 15547, i16 0, i16 0, i16 0, i16 16059, i16 0, i16 0, i16 0, i16 16827, i16 0, i16 0, i16 0, i16 12732, i16 0, i16 0, i16 0, i16 14780, i16 0, i16 0, i16 0, i16 16060, i16 16222, i16 16477, i16 0, i16 14013, i16 0, i16 0, i16 0, i16 16829, i16 14875, i16 0, i16 0, i16 12478, i16 0, i16 13819, i16 0, i16 16318, i16 0, i16 0, i16 0, i16 17086, i16 16766, i16 0, i16 0, i16 959, i16 960, i16 961, i16 0, i16 12479, i16 17114, i16 0, i16 0, i16 16831, i16 0, i16 0, i16 0, i16 17087, i16 0, i16 14320, i16 0, i16 12736, i16 0, i16 0, i16 0, i16 14784, i16 0, i16 0, i16 0, i16 15296, i16 0, i16 0, i16 0, i16 14529, i16 15967, i16 0, i16 0, i16 14785, i16 0, i16 14535, i16 0, i16 16577, i16 0, i16 16787, i16 0, i16 14018, i16 0, i16 12889, i16 0, i16 15554, i16 16918, i16 14331, i16 0, i16 17090, i16 0, i16 0, i16 0, i16 13507, i16 0, i16 0, i16 0, i16 14787, i16 14334, i16 12388, i16 0, i16 15555, i16 13137, i16 0, i16 0, i16 16067, i16 0, i16 14279, i16 0, i16 16835, i16 0, i16 0, i16 0, i16 14276, i16 0, i16 0, i16 0, i16 14532, i16 0, i16 0, i16 0, i16 15812, i16 0, i16 0, i16 0, i16 16580, i16 0, i16 16561, i16 0, i16 17092, i16 13324, i16 0, i16 0, i16 12485, i16 0, i16 0, i16 0, i16 13509, i16 0, i16 0, i16 0, i16 16581, i16 0, i16 0, i16 0, i16 17093, i16 14943, i16 0, i16 0, i16 13766, i16 16326, i16 0, i16 0, i16 15302, i16 0, i16 0, i16 0, i16 12487, i16 16568, i16 0, i16 0, i16 15559, i16 0, i16 0, i16 0, i16 15815, i16 0, i16 13257, i16 0, i16 16327, i16 0, i16 0, i16 0, i16 16583, i16 0, i16 0, i16 0, i16 12488, i16 0, i16 0, i16 0, i16 12744, i16 0, i16 16842, i16 0, i16 14024, i16 17150, i16 0, i16 0, i16 15048, i16 0, i16 0, i16 0, i16 13769, i16 0, i16 0, i16 0, i16 14537, i16 0, i16 0, i16 0, i16 14538, i16 0, i16 0, i16 0, i16 16330, i16 0, i16 0, i16 0, i16 12491, i16 0, i16 0, i16 0, i16 12747, i16 0, i16 0, i16 0, i16 14283, i16 0, i16 0, i16 0, i16 15563, i16 15180, i16 0, i16 0, i16 16331, i16 0, i16 0, i16 0, i16 16587, i16 16365, i16 0, i16 0, i16 204, i16 160, i16 0, i16 0, i16 12492, i16 0, i16 0, i16 0, i16 12748, i16 12463, i16 14825, i16 0, i16 15564, i16 14603, i16 14662, i16 0, i16 16076, i16 16453, i16 0, i16 0, i16 12493, i16 13904, i16 0, i16 0, i16 14029, i16 0, i16 0, i16 0, i16 12750, i16 0, i16 13916, i16 0, i16 15054, i16 0, i16 0, i16 0, i16 16334, i16 0, i16 0, i16 0, i16 16846, i16 0, i16 0, i16 0, i16 15312, i16 16790, i16 14958, i16 0, i16 15824, i16 0, i16 0, i16 0, i16 12497, i16 0, i16 0, i16 0, i16 12498, i16 16586, i16 0, i16 0, i16 13266, i16 0, i16 0, i16 0, i16 16082, i16 0, i16 0, i16 0, i16 16338, i16 16898, i16 0, i16 0, i16 13267, i16 0, i16 0, i16 0, i16 15571, i16 0, i16 13048, i16 0, i16 16339, i16 0, i16 0, i16 0, i16 13268, i16 0, i16 16251, i16 0, i16 14548, i16 0, i16 13322, i16 0, i16 17108, i16 0, i16 0, i16 0, i16 13525, i16 0, i16 0, i16 0, i16 14549, i16 16208, i16 0, i16 0, i16 15061, i16 16355, i16 12754, i16 0, i16 16085, i16 0, i16 16086, i16 0, i16 16341, i16 0, i16 0, i16 0, i16 12758, i16 0, i16 0, i16 0, i16 13782, i16 13206, i16 0, i16 0, i16 14038, i16 0, i16 0, i16 0, i16 14294, i16 0, i16 0, i16 0, i16 13271, i16 15273, i16 0, i16 0, i16 14551, i16 0, i16 0, i16 0, i16 15063, i16 0, i16 0, i16 0, i16 15319, i16 15008, i16 0, i16 0, i16 16087, i16 0, i16 0, i16 0, i16 16855, i16 0, i16 0, i16 0, i16 17111, i16 0, i16 0, i16 0, i16 13528, i16 0, i16 0, i16 0, i16 15320, i16 13709, i16 0, i16 0, i16 15576, i16 0, i16 0, i16 0, i16 15832, i16 0, i16 0, i16 0, i16 17112, i16 0, i16 15491, i16 0, i16 15577, i16 15748, i16 0, i16 0, i16 16857, i16 0, i16 0, i16 0, i16 17113, i16 0, i16 0, i16 0, i16 12506, i16 0, i16 0, i16 0, i16 13530, i16 0, i16 16095, i16 0, i16 15834, i16 16856, i16 0, i16 0, i16 16090, i16 0, i16 15381, i16 0, i16 16346, i16 0, i16 0, i16 0, i16 16858, i16 0, i16 0, i16 0, i16 12507, i16 15526, i16 12403, i16 0, i16 16091, i16 0, i16 0, i16 0, i16 16347, i16 14430, i16 0, i16 0, i16 14044, i16 0, i16 0, i16 0, i16 14556, i16 0, i16 13251, i16 0, i16 12765, i16 0, i16 0, i16 0, i16 17117, i16 0, i16 0, i16 0, i16 14302, i16 0, i16 0, i16 0, i16 16094, i16 0, i16 12956, i16 0, i16 12767, i16 0, i16 0, i16 0, i16 15583, i16 0, i16 14655, i16 0, i16 14304, i16 15497, i16 0, i16 0, i16 14560, i16 0, i16 0, i16 0, i16 15840, i16 0, i16 16260, i16 0, i16 13281, i16 0, i16 0, i16 0, i16 14049, i16 0, i16 0, i16 0, i16 16097, i16 0, i16 12370, i16 0, i16 15074, i16 0, i16 0, i16 0, i16 15330, i16 15690, i16 15960, i16 0, i16 16866, i16 0, i16 0, i16 0, i16 227, i16 0, i16 0, i16 0, i16 12515, i16 0, i16 13876, i16 0, i16 14563, i16 0, i16 0, i16 0, i16 16611, i16 0, i16 0, i16 0, i16 12516, i16 0, i16 0, i16 0, i16 13284, i16 0, i16 0, i16 0, i16 13540, i16 0, i16 0, i16 0, i16 13796, i16 0, i16 0, i16 0, i16 14308, i16 0, i16 0, i16 0, i16 14309, i16 0, i16 0, i16 0, i16 14565, i16 0, i16 16525, i16 0, i16 16101, i16 14818, i16 0, i16 0, i16 16357, i16 14010, i16 0, i16 0, i16 14566, i16 0, i16 0, i16 0, i16 15334, i16 0, i16 0, i16 0, i16 16102, i16 16942, i16 15214, i16 0, i16 15847, i16 0, i16 0, i16 0, i16 16359, i16 15252, i16 0, i16 0, i16 232, i16 0, i16 0, i16 0, i16 15336, i16 0, i16 15165, i16 0, i16 16361, i16 15730, i16 0, i16 0, i16 14058, i16 0, i16 0, i16 0, i16 14314, i16 0, i16 0, i16 0, i16 15082, i16 12921, i16 14023, i16 0, i16 12779, i16 0, i16 0, i16 0, i16 13035, i16 0, i16 0, i16 0, i16 15083, i16 16001, i16 0, i16 0, i16 15595, i16 0, i16 0, i16 0, i16 16107, i16 0, i16 14187, i16 0, i16 16363, i16 0, i16 0, i16 0, i16 236, i16 0, i16 0, i16 0, i16 15596, i16 0, i16 0, i16 0, i16 16876, i16 0, i16 0, i16 0, i16 14061, i16 0, i16 0, i16 0, i16 14829, i16 14436, i16 16437, i16 0, i16 16621, i16 15846, i16 0, i16 0, i16 17133, i16 0, i16 0, i16 0, i16 12782, i16 0, i16 0, i16 0, i16 14318, i16 0, i16 14389, i16 0, i16 15598, i16 12969, i16 0, i16 0, i16 239, i16 0, i16 0, i16 0, i16 13295, i16 0, i16 0, i16 0, i16 496, i16 497, i16 498, i16 0, i16 12784, i16 0, i16 14922, i16 0, i16 16624, i16 0, i16 0, i16 0, i16 16880, i16 16428, i16 16881, i16 0, i16 14322, i16 15067, i16 0, i16 0, i16 14578, i16 0, i16 0, i16 0, i16 15602, i16 0, i16 0, i16 0, i16 12531, i16 0, i16 0, i16 0, i16 13299, i16 14574, i16 0, i16 0, i16 15859, i16 12469, i16 0, i16 0, i16 17139, i16 0, i16 0, i16 0, i16 12532, i16 0, i16 0, i16 0, i16 14836, i16 0, i16 0, i16 0, i16 13301, i16 0, i16 0, i16 0, i16 13557, i16 13244, i16 16772, i16 0, i16 12534, i16 0, i16 13973, i16 0, i16 13814, i16 13690, i16 0, i16 0, i16 14070, i16 0, i16 0, i16 0, i16 15862, i16 0, i16 0, i16 0, i16 16118, i16 0, i16 0, i16 0, i16 13303, i16 0, i16 0, i16 0, i16 13559, i16 14258, i16 0, i16 0, i16 14327, i16 14477, i16 0, i16 0, i16 16119, i16 0, i16 13937, i16 0, i16 16887, i16 0, i16 0, i16 0, i16 17143, i16 12677, i16 0, i16 0, i16 14840, i16 12604, i16 15706, i16 0, i16 14329, i16 0, i16 15728, i16 0, i16 16633, i16 0, i16 15151, i16 0, i16 13818, i16 16626, i16 15466, i16 0, i16 14330, i16 0, i16 0, i16 0, i16 16634, i16 12664, i16 0, i16 0, i16 251, i16 0, i16 0, i16 0, i16 13307, i16 0, i16 12887, i16 0, i16 16123, i16 0, i16 0, i16 0, i16 16379, i16 0, i16 0, i16 0, i16 16635, i16 0, i16 0, i16 0, i16 17147, i16 16591, i16 0, i16 0, i16 12796, i16 0, i16 0, i16 0, i16 14844, i16 0, i16 0, i16 0, i16 15356, i16 0, i16 0, i16 0, i16 15868, i16 0, i16 0, i16 0, i16 16636, i16 0, i16 0, i16 0, i16 16892, i16 13247, i16 0, i16 0, i16 12797, i16 0, i16 0, i16 0, i16 15613, i16 14079, i16 0, i16 0, i16 12286, i16 0, i16 13968, i16 0, i16 14078, i16 0, i16 0, i16 0, i16 14590, i16 13127, i16 0, i16 0, i16 15614, i16 13555, i16 13688, i16 0, i16 15870, i16 0, i16 0, i16 0, i16 16126, i16 0, i16 0, i16 0, i16 16382, i16 0, i16 0, i16 0, i16 12543, i16 0, i16 13728, i16 0, i16 13823, i16 0, i16 13674, i16 0, i16 15615, i16 12820, i16 0, i16 15104, i16 0, i16 0, i16 0, i16 15616, i16 13933, i16 15995, i16 0, i16 16128, i16 0, i16 0, i16 12308, i16 16640, i16 0, i16 0, i16 16054, i16 17152, i16 12348, i16 0, i16 0, i16 257, i16 258, i16 261, i16 260, i16 12801, i16 0, i16 0, i16 0, i16 13569, i16 16879, i16 0, i16 0, i16 14849, i16 0, i16 0, i16 0, i16 15617, i16 14776, i16 0, i16 0, i16 15873, i16 0, i16 14896, i16 0, i16 16385, i16 0, i16 0, i16 0, i16 514, i16 515, i16 516, i16 517, i16 770, i16 771, i16 772, i16 0, i16 1026, i16 1027, i16 1028, i16 1029, i16 13058, i16 12645, i16 0, i16 14683, i16 15874, i16 0, i16 0, i16 12460, i16 16386, i16 0, i16 0, i16 0, i16 259, i16 262, i16 0, i16 0, i16 12803, i16 0, i16 0, i16 0, i16 13059, i16 13351, i16 0, i16 0, i16 14083, i16 14084, i16 0, i16 0, i16 15107, i16 0, i16 0, i16 0, i16 16387, i16 0, i16 15688, i16 0, i16 16643, i16 0, i16 0, i16 0, i16 17155, i16 0, i16 16783, i16 0, i16 13828, i16 0, i16 0, i16 0, i16 15108, i16 12610, i16 14517, i16 0, i16 15364, i16 15365, i16 12936, i16 0, i16 15876, i16 0, i16 0, i16 0, i16 12805, i16 13691, i16 0, i16 0, i16 14853, i16 0, i16 0, i16 0, i16 15621, i16 0, i16 0, i16 0, i16 16901, i16 0, i16 0, i16 16677, i16 17157, i16 0, i16 0, i16 0, i16 518, i16 519, i16 0, i16 0, i16 1030, i16 1031, i16 1032, i16 1033, i16 13574, i16 0, i16 0, i16 0, i16 13830, i16 0, i16 0, i16 0, i16 14086, i16 0, i16 0, i16 0, i16 14342, i16 15893, i16 15892, i16 0, i16 7, i16 8, i16 9, i16 10, i16 263, i16 277, i16 278, i16 0, i16 775, i16 0, i16 0, i16 0, i16 12807, i16 0, i16 0, i16 0, i16 13319, i16 0, i16 0, i16 0, i16 13831, i16 0, i16 0, i16 0, i16 14855, i16 0, i16 0, i16 0, i16 15367, i16 0, i16 0, i16 17002, i16 15879, i16 14820, i16 14767, i16 0, i16 17159, i16 17158, i16 16518, i16 0, i16 776, i16 773, i16 777, i16 233, i16 12552, i16 16573, i16 0, i16 14188, i16 12808, i16 0, i16 0, i16 0, i16 13576, i16 12432, i16 0, i16 0, i16 16904, i16 0, i16 0, i16 0, i16 13065, i16 0, i16 0, i16 0, i16 13321, i16 13327, i16 13330, i16 13434, i16 14345, i16 13568, i16 0, i16 0, i16 15113, i16 14228, i16 0, i16 0, i16 15369, i16 15370, i16 0, i16 0, i16 16393, i16 13771, i16 0, i16 0, i16 266, i16 0, i16 267, i16 0, i16 1034, i16 1035, i16 1036, i16 1037, i16 12298, i16 0, i16 16519, i16 0, i16 12554, i16 0, i16 0, i16 0, i16 14090, i16 15681, i16 12652, i16 0, i16 11, i16 12, i16 13, i16 14, i16 523, i16 524, i16 525, i16 526, i16 779, i16 780, i16 781, i16 0, i16 15371, i16 0, i16 12852, i16 0, i16 15627, i16 0, i16 0, i16 0, i16 16907, i16 14760, i16 0, i16 0, i16 12812, i16 0, i16 13177, i16 0, i16 13068, i16 13069, i16 13070, i16 13072, i16 13580, i16 16024, i16 14835, i16 13381, i16 14604, i16 15275, i16 0, i16 0, i16 15372, i16 12415, i16 0, i16 12648, i16 269, i16 270, i16 0, i16 0, i16 12301, i16 12570, i16 0, i16 12599, i16 12813, i16 0, i16 0, i16 15111, i16 13581, i16 12989, i16 0, i16 0, i16 13837, i16 0, i16 16492, i16 0, i16 14093, i16 0, i16 0, i16 12975, i16 14861, i16 0, i16 15592, i16 0, i16 16141, i16 0, i16 0, i16 0, i16 16653, i16 0, i16 0, i16 0, i16 1038, i16 1039, i16 1040, i16 1041, i16 12814, i16 0, i16 0, i16 12706, i16 13838, i16 14545, i16 16980, i16 0, i16 15374, i16 15377, i16 15382, i16 15384, i16 15630, i16 0, i16 0, i16 0, i16 15886, i16 15536, i16 0, i16 14123, i16 16142, i16 14132, i16 14450, i16 0, i16 15, i16 16, i16 17, i16 18, i16 527, i16 528, i16 529, i16 530, i16 12303, i16 13730, i16 0, i16 0, i16 14095, i16 0, i16 0, i16 0, i16 15375, i16 0, i16 0, i16 0, i16 15631, i16 14274, i16 14286, i16 16727, i16 16143, i16 0, i16 0, i16 12638, i16 16399, i16 0, i16 14372, i16 0, i16 784, i16 0, i16 0, i16 0, i16 13840, i16 0, i16 12299, i16 0, i16 14096, i16 16478, i16 0, i16 0, i16 17168, i16 0, i16 0, i16 0, i16 12305, i16 0, i16 0, i16 13199, i16 12561, i16 0, i16 0, i16 0, i16 13073, i16 13074, i16 13075, i16 13076, i16 14097, i16 0, i16 0, i16 0, i16 14865, i16 0, i16 0, i16 0, i16 15633, i16 12694, i16 0, i16 12377, i16 16401, i16 0, i16 12835, i16 0, i16 1042, i16 1043, i16 1044, i16 0, i16 13586, i16 0, i16 14476, i16 0, i16 13842, i16 12965, i16 0, i16 14265, i16 14098, i16 0, i16 0, i16 0, i16 15122, i16 15419, i16 0, i16 15300, i16 15634, i16 13210, i16 0, i16 0, i16 16402, i16 0, i16 0, i16 12309, i16 17170, i16 16987, i16 16811, i16 14313, i16 19, i16 20, i16 21, i16 0, i16 275, i16 273, i16 0, i16 0, i16 531, i16 532, i16 533, i16 534, i16 12307, i16 0, i16 15734, i16 0, i16 13587, i16 0, i16 0, i16 0, i16 16403, i16 12791, i16 0, i16 0, i16 788, i16 0, i16 0, i16 0, i16 12564, i16 12629, i16 0, i16 14470, i16 14868, i16 14870, i16 14874, i16 14910, i16 16916, i16 13696, i16 0, i16 0, i16 789, i16 697, i16 790, i16 0, i16 1045, i16 1046, i16 1047, i16 1048, i16 12565, i16 0, i16 0, i16 0, i16 12821, i16 0, i16 0, i16 0, i16 13077, i16 13079, i16 13080, i16 13081, i16 13333, i16 0, i16 0, i16 0, i16 14357, i16 0, i16 0, i16 0, i16 14613, i16 13502, i16 0, i16 0, i16 14869, i16 0, i16 0, i16 0, i16 15637, i16 14361, i16 14107, i16 0, i16 22, i16 0, i16 23, i16 24, i16 16150, i16 14012, i16 13767, i16 0, i16 279, i16 276, i16 0, i16 0, i16 535, i16 536, i16 0, i16 537, i16 791, i16 0, i16 0, i16 0, i16 12567, i16 0, i16 0, i16 15172, i16 12823, i16 16179, i16 15581, i16 12312, i16 13847, i16 0, i16 0, i16 13811, i16 14359, i16 0, i16 0, i16 0, i16 14615, i16 0, i16 0, i16 14235, i16 15127, i16 0, i16 15766, i16 0, i16 15383, i16 0, i16 13753, i16 0, i16 12568, i16 0, i16 0, i16 13306, i16 12824, i16 0, i16 15607, i16 12864, i16 14104, i16 0, i16 0, i16 0, i16 14872, i16 0, i16 0, i16 0, i16 15640, i16 0, i16 0, i16 14139, i16 25, i16 26, i16 27, i16 28, i16 281, i16 0, i16 0, i16 0, i16 1049, i16 1050, i16 1052, i16 1053, i16 12313, i16 13332, i16 0, i16 12825, i16 14617, i16 0, i16 13773, i16 15987, i16 16409, i16 0, i16 15799, i16 0, i16 538, i16 539, i16 540, i16 541, i16 12314, i16 0, i16 0, i16 0, i16 12826, i16 0, i16 0, i16 12800, i16 13082, i16 13083, i16 13084, i16 13085, i16 14106, i16 16843, i16 0, i16 16575, i16 14618, i16 0, i16 0, i16 0, i16 15642, i16 0, i16 0, i16 0, i16 13339, i16 15747, i16 0, i16 0, i16 13851, i16 0, i16 13432, i16 0, i16 14363, i16 0, i16 0, i16 15368, i16 14619, i16 0, i16 0, i16 0, i16 15131, i16 0, i16 0, i16 16830, i16 16411, i16 0, i16 0, i16 0, i16 16923, i16 14142, i16 0, i16 14540, i16 12316, i16 0, i16 0, i16 16908, i16 13596, i16 0, i16 15599, i16 0, i16 14364, i16 17134, i16 0, i16 0, i16 14876, i16 0, i16 0, i16 0, i16 15388, i16 15391, i16 15393, i16 15394, i16 29, i16 30, i16 31, i16 32, i16 12317, i16 0, i16 0, i16 15758, i16 12573, i16 0, i16 0, i16 0, i16 13341, i16 0, i16 0, i16 0, i16 14109, i16 0, i16 0, i16 13273, i16 15389, i16 0, i16 14346, i16 14634, i16 286, i16 0, i16 0, i16 679, i16 542, i16 543, i16 0, i16 0, i16 798, i16 799, i16 800, i16 801, i16 1054, i16 1055, i16 1056, i16 1057, i16 12574, i16 0, i16 14714, i16 0, i16 13086, i16 13087, i16 13088, i16 13089, i16 13598, i16 0, i16 0, i16 0, i16 14366, i16 0, i16 0, i16 13288, i16 14622, i16 0, i16 0, i16 13168, i16 14878, i16 14663, i16 0, i16 0, i16 13343, i16 0, i16 0, i16 16050, i16 13855, i16 13834, i16 0, i16 12997, i16 14111, i16 12898, i16 0, i16 14936, i16 14367, i16 0, i16 0, i16 0, i16 15647, i16 0, i16 0, i16 0, i16 16159, i16 0, i16 0, i16 0, i16 544, i16 555, i16 545, i16 556, i16 13600, i16 0, i16 0, i16 0, i16 13856, i16 16531, i16 0, i16 0, i16 14880, i16 0, i16 0, i16 0, i16 16160, i16 0, i16 0, i16 0, i16 16416, i16 0, i16 13817, i16 0, i16 33, i16 34, i16 35, i16 36, i16 13857, i16 0, i16 0, i16 0, i16 546, i16 583, i16 582, i16 557, i16 802, i16 803, i16 804, i16 805, i16 1058, i16 1059, i16 1060, i16 1061, i16 12578, i16 0, i16 0, i16 0, i16 12834, i16 16537, i16 13775, i16 0, i16 14626, i16 0, i16 0, i16 0, i16 15138, i16 0, i16 0, i16 0, i16 16930, i16 0, i16 0, i16 0, i16 291, i16 292, i16 293, i16 294, i16 547, i16 577, i16 576, i16 558, i16 12579, i16 12755, i16 0, i16 0, i16 13091, i16 13092, i16 13096, i16 13097, i16 13347, i16 0, i16 0, i16 0, i16 14627, i16 14539, i16 15436, i16 0, i16 15651, i16 0, i16 15105, i16 0, i16 16931, i16 0, i16 0, i16 12335, i16 548, i16 579, i16 578, i16 559, i16 15908, i16 0, i16 0, i16 0, i16 16164, i16 0, i16 13836, i16 0, i16 16932, i16 15385, i16 0, i16 0, i16 37, i16 38, i16 39, i16 40, i16 549, i16 581, i16 580, i16 560, i16 13349, i16 0, i16 0, i16 0, i16 13605, i16 0, i16 0, i16 0, i16 13861, i16 0, i16 14594, i16 15626, i16 14629, i16 0, i16 12476, i16 0, i16 14885, i16 0, i16 0, i16 0, i16 15141, i16 0, i16 0, i16 12717, i16 15397, i16 0, i16 0, i16 0, i16 15653, i16 0, i16 0, i16 16014, i16 550, i16 571, i16 584, i16 585, i16 806, i16 807, i16 808, i16 809, i16 1062, i16 1063, i16 1064, i16 1065, i16 12326, i16 0, i16 0, i16 0, i16 13606, i16 0, i16 0, i16 0, i16 14118, i16 16596, i16 15068, i16 14731, i16 14886, i16 0, i16 12514, i16 0, i16 16422, i16 0, i16 14654, i16 0, i16 295, i16 296, i16 297, i16 298, i16 551, i16 592, i16 593, i16 567, i16 12839, i16 0, i16 0, i16 0, i16 13607, i16 14883, i16 16707, i16 0, i16 13863, i16 0, i16 0, i16 0, i16 15399, i16 0, i16 0, i16 0, i16 15655, i16 14031, i16 14395, i16 0, i16 16167, i16 0, i16 15903, i16 0, i16 16935, i16 0, i16 0, i16 0, i16 552, i16 573, i16 588, i16 589, i16 13352, i16 0, i16 0, i16 0, i16 13608, i16 0, i16 0, i16 0, i16 14120, i16 0, i16 15293, i16 0, i16 15144, i16 0, i16 0, i16 0, i16 15912, i16 12541, i16 13870, i16 0, i16 41, i16 42, i16 43, i16 44, i16 553, i16 596, i16 597, i16 569, i16 12585, i16 0, i16 0, i16 0, i16 12841, i16 12810, i16 0, i16 0, i16 13865, i16 0, i16 0, i16 13462, i16 14377, i16 12693, i16 0, i16 12872, i16 15913, i16 0, i16 0, i16 0, i16 16169, i16 12857, i16 0, i16 13290, i16 554, i16 600, i16 601, i16 570, i16 810, i16 811, i16 812, i16 813, i16 1066, i16 1067, i16 1068, i16 1069, i16 13866, i16 0, i16 14612, i16 0, i16 14378, i16 0, i16 16272, i16 13312, i16 15402, i16 0, i16 0, i16 0, i16 16426, i16 14161, i16 0, i16 0, i16 16682, i16 0, i16 0, i16 0, i16 16938, i16 0, i16 16694, i16 16603, i16 299, i16 300, i16 301, i16 302, i16 12331, i16 0, i16 0, i16 0, i16 13099, i16 13100, i16 13102, i16 13103, i16 13867, i16 0, i16 0, i16 0, i16 15659, i16 0, i16 0, i16 14841, i16 13612, i16 0, i16 16751, i16 13410, i16 14636, i16 0, i16 0, i16 0, i16 14892, i16 14009, i16 0, i16 0, i16 15148, i16 0, i16 15943, i16 12679, i16 15916, i16 0, i16 0, i16 0, i16 16940, i16 16394, i16 14706, i16 0, i16 45, i16 46, i16 47, i16 48, i16 12333, i16 0, i16 0, i16 12297, i16 12845, i16 0, i16 0, i16 14223, i16 13357, i16 16618, i16 0, i16 0, i16 13613, i16 14635, i16 0, i16 0, i16 13869, i16 0, i16 0, i16 0, i16 15661, i16 0, i16 0, i16 0, i16 15917, i16 16642, i16 0, i16 0, i16 16173, i16 0, i16 0, i16 13254, i16 814, i16 815, i16 816, i16 817, i16 1070, i16 1071, i16 1072, i16 1073, i16 12846, i16 0, i16 16637, i16 13664, i16 303, i16 304, i16 305, i16 306, i16 12847, i16 0, i16 0, i16 0, i16 13615, i16 0, i16 13985, i16 0, i16 13871, i16 0, i16 0, i16 0, i16 14895, i16 0, i16 15844, i16 14089, i16 12592, i16 0, i16 16205, i16 0, i16 13104, i16 13105, i16 13106, i16 13107, i16 13872, i16 0, i16 0, i16 0, i16 15152, i16 0, i16 12319, i16 12545, i16 49, i16 50, i16 51, i16 52, i16 13873, i16 0, i16 0, i16 0, i16 14129, i16 0, i16 0, i16 0, i16 14897, i16 0, i16 0, i16 0, i16 15665, i16 0, i16 16344, i16 16912, i16 15921, i16 16016, i16 14055, i16 13417, i16 16177, i16 0, i16 0, i16 14753, i16 818, i16 819, i16 820, i16 821, i16 1074, i16 1075, i16 1076, i16 1077, i16 15410, i16 15411, i16 15413, i16 15417, i16 16178, i16 14405, i16 0, i16 0, i16 16434, i16 15807, i16 15243, i16 0, i16 307, i16 308, i16 309, i16 310, i16 12339, i16 0, i16 0, i16 15839, i16 14131, i16 0, i16 0, i16 0, i16 14387, i16 0, i16 0, i16 0, i16 14643, i16 15448, i16 0, i16 0, i16 15155, i16 0, i16 0, i16 0, i16 15667, i16 0, i16 0, i16 0, i16 16435, i16 0, i16 0, i16 12749, i16 12596, i16 0, i16 0, i16 0, i16 13108, i16 13109, i16 13114, i16 13115, i16 13364, i16 14877, i16 0, i16 0, i16 14900, i16 0, i16 0, i16 0, i16 16436, i16 0, i16 0, i16 0, i16 53, i16 54, i16 55, i16 56, i16 12597, i16 0, i16 0, i16 16939, i16 13877, i16 0, i16 16491, i16 15185, i16 14901, i16 0, i16 0, i16 0, i16 16949, i16 0, i16 15802, i16 0, i16 566, i16 586, i16 587, i16 561, i16 822, i16 823, i16 824, i16 825, i16 1078, i16 1079, i16 1080, i16 1081, i16 14390, i16 0, i16 0, i16 0, i16 14902, i16 0, i16 0, i16 12930, i16 15158, i16 0, i16 12620, i16 15062, i16 15670, i16 0, i16 0, i16 0, i16 16438, i16 15340, i16 0, i16 16791, i16 311, i16 312, i16 313, i16 314, i16 13367, i16 16221, i16 16526, i16 0, i16 13879, i16 14764, i16 15132, i16 0, i16 15159, i16 15814, i16 0, i16 0, i16 15671, i16 0, i16 0, i16 16804, i16 16439, i16 13563, i16 0, i16 0, i16 16695, i16 0, i16 0, i16 0, i16 568, i16 590, i16 591, i16 563, i16 12600, i16 0, i16 0, i16 0, i16 13624, i16 0, i16 16032, i16 16310, i16 16440, i16 0, i16 12692, i16 13449, i16 16696, i16 0, i16 0, i16 14281, i16 16952, i16 16111, i16 0, i16 0, i16 57, i16 58, i16 59, i16 60, i16 13113, i16 0, i16 0, i16 0, i16 13881, i16 13940, i16 13941, i16 0, i16 15673, i16 16353, i16 0, i16 16691, i16 16441, i16 0, i16 12822, i16 15936, i16 16953, i16 16871, i16 15856, i16 12551, i16 826, i16 827, i16 828, i16 829, i16 1082, i16 1083, i16 1085, i16 1086, i16 14394, i16 15473, i16 0, i16 0, i16 15418, i16 15422, i16 15423, i16 15428, i16 16442, i16 0, i16 0, i16 0, i16 315, i16 316, i16 317, i16 318, i16 15931, i16 0, i16 14069, i16 0, i16 16187, i16 16188, i16 0, i16 0, i16 16699, i16 0, i16 0, i16 16698, i16 572, i16 594, i16 595, i16 562, i16 13116, i16 13117, i16 13118, i16 13119, i16 14908, i16 0, i16 0, i16 14194, i16 61, i16 62, i16 63, i16 64, i16 13629, i16 0, i16 0, i16 0, i16 574, i16 598, i16 599, i16 564, i16 830, i16 831, i16 832, i16 833, i16 12350, i16 0, i16 15031, i16 0, i16 12606, i16 13556, i16 14165, i16 0, i16 16190, i16 0, i16 0, i16 14219, i16 16446, i16 0, i16 0, i16 12529, i16 319, i16 320, i16 321, i16 322, i16 1087, i16 1088, i16 1089, i16 1090, i16 12863, i16 0, i16 0, i16 0, i16 14399, i16 0, i16 0, i16 15204, i16 14911, i16 14912, i16 14914, i16 14915, i16 14144, i16 13858, i16 0, i16 0, i16 14656, i16 0, i16 0, i16 0, i16 15424, i16 0, i16 0, i16 0, i16 16448, i16 14368, i16 17076, i16 12951, i16 65, i16 66, i16 67, i16 68, i16 12609, i16 0, i16 0, i16 0, i16 13121, i16 13122, i16 13292, i16 13314, i16 14657, i16 15421, i16 16239, i16 12586, i16 15169, i16 0, i16 0, i16 16147, i16 834, i16 835, i16 836, i16 837, i16 12354, i16 0, i16 16676, i16 14020, i16 13890, i16 0, i16 0, i16 0, i16 14402, i16 0, i16 15406, i16 0, i16 15426, i16 14351, i16 0, i16 0, i16 16450, i16 17137, i16 0, i16 0, i16 16706, i16 0, i16 0, i16 0, i16 323, i16 324, i16 325, i16 326, i16 1091, i16 1092, i16 1093, i16 1094, i16 12867, i16 0, i16 0, i16 0, i16 13123, i16 0, i16 13799, i16 13101, i16 13635, i16 0, i16 0, i16 0, i16 13891, i16 0, i16 0, i16 0, i16 14147, i16 0, i16 14148, i16 14149, i16 15939, i16 0, i16 14140, i16 13205, i16 16451, i16 0, i16 0, i16 0, i16 12356, i16 0, i16 0, i16 12804, i16 12612, i16 0, i16 0, i16 0, i16 12868, i16 0, i16 0, i16 0, i16 16708, i16 0, i16 0, i16 14124, i16 69, i16 70, i16 71, i16 72, i16 12357, i16 13758, i16 0, i16 17094, i16 838, i16 839, i16 840, i16 841, i16 12870, i16 12894, i16 12907, i16 12992, i16 14150, i16 0, i16 0, i16 13722, i16 14918, i16 14921, i16 14927, i16 14929, i16 16198, i16 0, i16 0, i16 0, i16 327, i16 328, i16 329, i16 330, i16 1095, i16 1096, i16 1097, i16 1098, i16 12871, i16 13304, i16 0, i16 0, i16 14151, i16 15380, i16 0, i16 16447, i16 14407, i16 0, i16 0, i16 0, i16 15431, i16 15432, i16 15433, i16 15434, i16 16199, i16 0, i16 16646, i16 12696, i16 16967, i16 0, i16 0, i16 0, i16 12360, i16 0, i16 0, i16 0, i16 12616, i16 0, i16 0, i16 0, i16 14152, i16 14254, i16 14256, i16 14275, i16 16200, i16 15023, i16 0, i16 0, i16 16968, i16 0, i16 0, i16 15490, i16 73, i16 74, i16 75, i16 76, i16 14409, i16 16493, i16 0, i16 12457, i16 16201, i16 0, i16 0, i16 12412, i16 842, i16 843, i16 844, i16 845, i16 13386, i16 0, i16 0, i16 0, i16 14410, i16 0, i16 0, i16 0, i16 15946, i16 0, i16 0, i16 0, i16 16458, i16 0, i16 0, i16 0, i16 331, i16 332, i16 333, i16 334, i16 1099, i16 1100, i16 1101, i16 1102, i16 13643, i16 0, i16 0, i16 0, i16 14667, i16 16229, i16 14220, i16 0, i16 16203, i16 0, i16 13697, i16 16959, i16 12876, i16 0, i16 14128, i16 0, i16 13644, i16 13645, i16 0, i16 0, i16 13900, i16 0, i16 0, i16 0, i16 14668, i16 15935, i16 0, i16 0, i16 15692, i16 0, i16 0, i16 0, i16 16460, i16 17118, i16 13652, i16 16277, i16 16716, i16 0, i16 0, i16 0, i16 16972, i16 13323, i16 0, i16 0, i16 77, i16 78, i16 79, i16 80, i16 13133, i16 0, i16 0, i16 0, i16 14413, i16 14238, i16 0, i16 0, i16 15437, i16 13403, i16 15831, i16 14474, i16 15693, i16 12584, i16 0, i16 14433, i16 846, i16 847, i16 848, i16 849, i16 12366, i16 0, i16 0, i16 0, i16 12622, i16 0, i16 0, i16 0, i16 14158, i16 0, i16 0, i16 0, i16 15182, i16 15183, i16 15189, i16 15191, i16 15438, i16 0, i16 15541, i16 0, i16 16718, i16 0, i16 0, i16 0, i16 335, i16 336, i16 337, i16 338, i16 1103, i16 1104, i16 1105, i16 1106, i16 16207, i16 13692, i16 0, i16 0, i16 16719, i16 16092, i16 0, i16 12318, i16 16975, i16 0, i16 16560, i16 0, i16 12368, i16 0, i16 14730, i16 16284, i16 12624, i16 13779, i16 0, i16 0, i16 12880, i16 0, i16 0, i16 0, i16 13648, i16 16754, i16 0, i16 0, i16 14672, i16 0, i16 0, i16 0, i16 14928, i16 0, i16 0, i16 0, i16 15440, i16 15484, i16 15485, i16 15488, i16 15952, i16 0, i16 0, i16 0, i16 81, i16 82, i16 83, i16 84, i16 12625, i16 0, i16 0, i16 0, i16 12881, i16 0, i16 0, i16 0, i16 13393, i16 15069, i16 0, i16 0, i16 13905, i16 0, i16 0, i16 0, i16 15441, i16 0, i16 12759, i16 15305, i16 15953, i16 15242, i16 0, i16 0, i16 850, i16 851, i16 0, i16 0, i16 12626, i16 0, i16 16516, i16 0, i16 13138, i16 0, i16 0, i16 0, i16 14930, i16 14931, i16 14933, i16 14937, i16 15954, i16 12429, i16 0, i16 0, i16 16978, i16 0, i16 12756, i16 0, i16 339, i16 340, i16 341, i16 342, i16 1107, i16 1108, i16 1109, i16 1110, i16 12371, i16 0, i16 0, i16 13280, i16 12883, i16 16244, i16 0, i16 14076, i16 852, i16 853, i16 854, i16 855, i16 85, i16 86, i16 87, i16 88, i16 13909, i16 0, i16 0, i16 0, i16 15190, i16 16683, i16 0, i16 0, i16 15446, i16 0, i16 0, i16 16364, i16 16726, i16 0, i16 15405, i16 0, i16 343, i16 344, i16 345, i16 346, i16 14167, i16 0, i16 0, i16 0, i16 16215, i16 0, i16 0, i16 16946, i16 856, i16 857, i16 858, i16 859, i16 12632, i16 0, i16 12954, i16 14051, i16 14680, i16 0, i16 0, i16 16133, i16 15192, i16 0, i16 0, i16 12731, i16 15704, i16 0, i16 0, i16 0, i16 13657, i16 0, i16 16746, i16 15249, i16 14169, i16 0, i16 0, i16 14941, i16 14681, i16 0, i16 0, i16 13062, i16 15193, i16 15196, i16 15203, i16 15208, i16 16217, i16 0, i16 0, i16 0, i16 602, i16 603, i16 575, i16 604, i16 12378, i16 0, i16 0, i16 0, i16 12634, i16 0, i16 0, i16 0, i16 13914, i16 0, i16 0, i16 0, i16 14938, i16 14942, i16 14950, i16 14952, i16 16218, i16 0, i16 15720, i16 15308, i16 16474, i16 0, i16 0, i16 0, i16 12635, i16 0, i16 15162, i16 0, i16 15195, i16 15117, i16 0, i16 0, i16 16219, i16 14723, i16 0, i16 14210, i16 16475, i16 16878, i16 0, i16 0, i16 16731, i16 13425, i16 13354, i16 0, i16 860, i16 861, i16 862, i16 863, i16 12636, i16 12671, i16 12843, i16 12848, i16 15452, i16 0, i16 0, i16 16113, i16 15964, i16 0, i16 0, i16 0, i16 16732, i16 15276, i16 0, i16 0, i16 93, i16 94, i16 95, i16 96, i16 605, i16 606, i16 607, i16 608, i16 12381, i16 0, i16 0, i16 0, i16 12637, i16 0, i16 0, i16 0, i16 15197, i16 0, i16 0, i16 0, i16 16989, i16 16604, i16 16529, i16 12685, i16 12382, i16 0, i16 0, i16 0, i16 13662, i16 17008, i16 17091, i16 15900, i16 15966, i16 0, i16 15965, i16 0, i16 16990, i16 0, i16 0, i16 15548, i16 351, i16 352, i16 353, i16 354, i16 12639, i16 13535, i16 16905, i16 0, i16 13407, i16 14189, i16 0, i16 0, i16 13919, i16 14215, i16 0, i16 0, i16 14175, i16 0, i16 16825, i16 0, i16 14687, i16 0, i16 15830, i16 17030, i16 16479, i16 0, i16 15951, i16 0, i16 864, i16 865, i16 866, i16 0, i16 12384, i16 15412, i16 14756, i16 0, i16 13152, i16 16096, i16 0, i16 0, i16 13408, i16 0, i16 0, i16 0, i16 13920, i16 0, i16 0, i16 0, i16 14688, i16 0, i16 0, i16 0, i16 16224, i16 0, i16 0, i16 0, i16 16480, i16 0, i16 0, i16 0, i16 16992, i16 0, i16 0, i16 0, i16 97, i16 98, i16 99, i16 100, i16 609, i16 610, i16 611, i16 565, i16 12385, i16 15963, i16 0, i16 0, i16 13153, i16 15352, i16 0, i16 0, i16 14177, i16 16622, i16 0, i16 0, i16 15201, i16 13463, i16 0, i16 12601, i16 16481, i16 0, i16 16100, i16 14801, i16 16737, i16 14119, i16 13491, i16 15570, i16 12642, i16 15578, i16 0, i16 15586, i16 14178, i16 0, i16 0, i16 0, i16 14434, i16 0, i16 12816, i16 0, i16 15202, i16 12458, i16 0, i16 0, i16 15714, i16 0, i16 0, i16 0, i16 16738, i16 17040, i16 0, i16 13241, i16 355, i16 356, i16 357, i16 358, i16 14691, i16 0, i16 13169, i16 0, i16 14947, i16 0, i16 0, i16 15534, i16 12644, i16 0, i16 16786, i16 0, i16 12900, i16 14153, i16 16593, i16 0, i16 13668, i16 0, i16 16247, i16 0, i16 101, i16 102, i16 103, i16 104, i16 13157, i16 0, i16 0, i16 0, i16 13413, i16 0, i16 0, i16 0, i16 14181, i16 0, i16 0, i16 0, i16 14437, i16 14744, i16 12562, i16 0, i16 14949, i16 14462, i16 12293, i16 0, i16 16485, i16 0, i16 0, i16 0, i16 16997, i16 13129, i16 0, i16 15959, i16 870, i16 0, i16 0, i16 0, i16 13670, i16 12405, i16 0, i16 0, i16 13926, i16 0, i16 16547, i16 0, i16 15206, i16 0, i16 0, i16 0, i16 16742, i16 0, i16 15362, i16 0, i16 359, i16 360, i16 361, i16 362, i16 13671, i16 0, i16 0, i16 16700, i16 14695, i16 0, i16 14197, i16 0, i16 16231, i16 0, i16 0, i16 15711, i16 16743, i16 0, i16 0, i16 0, i16 16999, i16 12558, i16 0, i16 0, i16 616, i16 622, i16 623, i16 624, i16 13928, i16 13929, i16 0, i16 0, i16 15464, i16 16002, i16 0, i16 0, i16 15976, i16 0, i16 0, i16 16852, i16 16232, i16 0, i16 16003, i16 0, i16 16744, i16 0, i16 14502, i16 13911, i16 105, i16 106, i16 107, i16 108, i16 617, i16 675, i16 690, i16 283, i16 14953, i16 14956, i16 14964, i16 14968, i16 15209, i16 13666, i16 16813, i16 14575, i16 15465, i16 0, i16 0, i16 0, i16 15721, i16 0, i16 0, i16 0, i16 16489, i16 13095, i16 0, i16 14300, i16 16745, i16 0, i16 0, i16 0, i16 14954, i16 0, i16 0, i16 0, i16 363, i16 364, i16 365, i16 366, i16 619, i16 620, i16 621, i16 640, i16 875, i16 0, i16 0, i16 0, i16 12395, i16 0, i16 0, i16 0, i16 13163, i16 0, i16 13604, i16 0, i16 13931, i16 0, i16 16865, i16 13665, i16 14699, i16 0, i16 0, i16 0, i16 15723, i16 0, i16 0, i16 0, i16 16747, i16 15442, i16 12315, i16 0, i16 14444, i16 0, i16 14347, i16 0, i16 14700, i16 15223, i16 0, i16 0, i16 15468, i16 0, i16 0, i16 0, i16 15724, i16 0, i16 0, i16 0, i16 16236, i16 0, i16 12512, i16 16144, i16 109, i16 110, i16 111, i16 112, i16 14701, i16 0, i16 12413, i16 15310, i16 15213, i16 0, i16 0, i16 16807, i16 15981, i16 0, i16 0, i16 14611, i16 12398, i16 0, i16 13810, i16 0, i16 13422, i16 0, i16 0, i16 0, i16 13678, i16 16641, i16 15345, i16 0, i16 14702, i16 0, i16 0, i16 0, i16 15726, i16 0, i16 12419, i16 17035, i16 16238, i16 0, i16 14062, i16 0, i16 367, i16 368, i16 369, i16 370, i16 879, i16 880, i16 881, i16 882, i16 12399, i16 15153, i16 0, i16 0, i16 13423, i16 0, i16 0, i16 17122, i16 14191, i16 0, i16 16427, i16 0, i16 14703, i16 13623, i16 0, i16 16506, i16 15983, i16 15729, i16 0, i16 0, i16 16495, i16 0, i16 16714, i16 0, i16 12656, i16 0, i16 13762, i16 0, i16 13936, i16 0, i16 0, i16 12284, i16 14448, i16 12575, i16 0, i16 13776, i16 14704, i16 0, i16 13229, i16 15194, i16 113, i16 114, i16 115, i16 116, i16 625, i16 626, i16 627, i16 628, i16 12657, i16 16053, i16 0, i16 0, i16 15985, i16 0, i16 16183, i16 13515, i16 17009, i16 0, i16 14554, i16 0, i16 12658, i16 0, i16 0, i16 0, i16 15474, i16 0, i16 16770, i16 0, i16 16498, i16 15164, i16 0, i16 0, i16 17010, i16 0, i16 13788, i16 13789, i16 371, i16 372, i16 373, i16 374, i16 883, i16 884, i16 885, i16 886, i16 14963, i16 15898, i16 0, i16 0, i16 16755, i16 0, i16 0, i16 0, i16 17011, i16 0, i16 0, i16 15514, i16 12404, i16 0, i16 0, i16 0, i16 12916, i16 0, i16 0, i16 14195, i16 16500, i16 0, i16 14290, i16 0, i16 117, i16 118, i16 119, i16 120, i16 629, i16 630, i16 631, i16 618, i16 13173, i16 0, i16 16230, i16 0, i16 13685, i16 13795, i16 16412, i16 0, i16 16245, i16 0, i16 16891, i16 0, i16 16501, i16 0, i16 0, i16 0, i16 12918, i16 0, i16 0, i16 0, i16 13686, i16 0, i16 0, i16 0, i16 13942, i16 13667, i16 0, i16 0, i16 14198, i16 12283, i16 0, i16 0, i16 14710, i16 0, i16 0, i16 0, i16 15478, i16 0, i16 15445, i16 15918, i16 16246, i16 16210, i16 13864, i16 0, i16 16758, i16 0, i16 0, i16 0, i16 375, i16 376, i16 377, i16 378, i16 887, i16 888, i16 889, i16 890, i16 12663, i16 0, i16 0, i16 0, i16 13431, i16 15482, i16 0, i16 0, i16 13687, i16 0, i16 0, i16 0, i16 15479, i16 0, i16 0, i16 0, i16 15735, i16 0, i16 14247, i16 0, i16 15991, i16 0, i16 0, i16 12861, i16 16503, i16 0, i16 0, i16 0, i16 13176, i16 0, i16 0, i16 0, i16 14456, i16 0, i16 0, i16 14707, i16 15224, i16 0, i16 0, i16 0, i16 16248, i16 0, i16 0, i16 0, i16 121, i16 122, i16 123, i16 124, i16 13689, i16 0, i16 0, i16 15343, i16 15481, i16 0, i16 15241, i16 0, i16 16761, i16 15321, i16 0, i16 0, i16 13178, i16 0, i16 16356, i16 0, i16 13946, i16 14970, i16 0, i16 0, i16 14458, i16 0, i16 0, i16 15513, i16 379, i16 380, i16 224, i16 0, i16 891, i16 892, i16 893, i16 894, i16 12923, i16 0, i16 0, i16 0, i16 14203, i16 0, i16 0, i16 0, i16 14459, i16 16609, i16 0, i16 12288, i16 14971, i16 14974, i16 14977, i16 14979, i16 15227, i16 17075, i16 14960, i16 0, i16 17019, i16 12410, i16 0, i16 0, i16 12668, i16 0, i16 12416, i16 0, i16 12924, i16 0, i16 0, i16 16146, i16 13948, i16 13979, i16 14073, i16 14121, i16 16764, i16 0, i16 0, i16 0, i16 17020, i16 0, i16 0, i16 0, i16 125, i16 126, i16 127, i16 132, i16 637, i16 638, i16 671, i16 672, i16 12925, i16 0, i16 0, i16 17153, i16 13437, i16 14216, i16 0, i16 0, i16 15997, i16 0, i16 0, i16 0, i16 16253, i16 17110, i16 16998, i16 0, i16 17021, i16 14028, i16 14602, i16 0, i16 12414, i16 0, i16 0, i16 15940, i16 13182, i16 0, i16 0, i16 0, i16 15230, i16 0, i16 0, i16 0, i16 15998, i16 13078, i16 12795, i16 0, i16 639, i16 688, i16 632, i16 0, i16 895, i16 896, i16 897, i16 898, i16 15487, i16 0, i16 16117, i16 0, i16 16511, i16 0, i16 13967, i16 0, i16 12672, i16 0, i16 0, i16 0, i16 12928, i16 0, i16 0, i16 0, i16 13952, i16 0, i16 0, i16 14693, i16 14720, i16 15363, i16 17000, i16 0, i16 15232, i16 0, i16 0, i16 14017, i16 17024, i16 0, i16 0, i16 0, i16 385, i16 386, i16 387, i16 388, i16 641, i16 680, i16 681, i16 682, i16 12673, i16 15969, i16 15810, i16 15142, i16 12929, i16 14360, i16 15168, i16 0, i16 13953, i16 17120, i16 0, i16 0, i16 15233, i16 0, i16 0, i16 0, i16 15745, i16 13371, i16 15358, i16 16608, i16 16513, i16 0, i16 0, i16 0, i16 16769, i16 0, i16 14392, i16 0, i16 17025, i16 0, i16 0, i16 0, i16 642, i16 643, i16 644, i16 645, i16 12674, i16 0, i16 13497, i16 16005, i16 13186, i16 0, i16 0, i16 0, i16 14466, i16 16629, i16 0, i16 0, i16 15746, i16 0, i16 0, i16 0, i16 131, i16 0, i16 693, i16 0, i16 899, i16 900, i16 901, i16 902, i16 13955, i16 0, i16 14350, i16 0, i16 15235, i16 14924, i16 0, i16 0, i16 16259, i16 0, i16 12776, i16 15255, i16 16771, i16 0, i16 0, i16 0, i16 17027, i16 0, i16 0, i16 0, i16 12932, i16 15535, i16 13829, i16 12760, i16 13188, i16 0, i16 0, i16 16888, i16 13444, i16 0, i16 0, i16 0, i16 14212, i16 0, i16 0, i16 15638, i16 14468, i16 0, i16 15186, i16 13221, i16 16004, i16 0, i16 0, i16 13654, i16 389, i16 390, i16 391, i16 392, i16 12933, i16 15624, i16 0, i16 0, i16 15493, i16 15494, i16 15495, i16 15496, i16 16517, i16 0, i16 12390, i16 0, i16 646, i16 647, i16 648, i16 649, i16 12678, i16 0, i16 0, i16 0, i16 13446, i16 0, i16 0, i16 0, i16 14982, i16 14983, i16 14984, i16 14986, i16 15238, i16 0, i16 14524, i16 0, i16 15750, i16 0, i16 14589, i16 0, i16 16774, i16 12986, i16 15718, i16 0, i16 903, i16 904, i16 905, i16 906, i16 13447, i16 0, i16 0, i16 0, i16 14471, i16 12595, i16 16282, i16 14959, i16 15751, i16 0, i16 14208, i16 0, i16 16263, i16 0, i16 14091, i16 0, i16 16775, i16 15669, i16 0, i16 0, i16 136, i16 348, i16 349, i16 350, i16 12424, i16 12430, i16 12447, i16 12611, i16 12680, i16 0, i16 16168, i16 0, i16 14472, i16 14429, i16 0, i16 0, i16 15240, i16 15283, i16 15323, i16 15359, i16 15752, i16 15337, i16 15932, i16 14724, i16 16264, i16 0, i16 0, i16 0, i16 16520, i16 0, i16 0, i16 0, i16 137, i16 203, i16 0, i16 0, i16 393, i16 394, i16 395, i16 396, i16 12937, i16 15537, i16 0, i16 0, i16 14217, i16 0, i16 0, i16 0, i16 16777, i16 0, i16 0, i16 0, i16 17033, i16 0, i16 15761, i16 0, i16 138, i16 139, i16 0, i16 0, i16 650, i16 651, i16 657, i16 658, i16 12682, i16 0, i16 0, i16 0, i16 12938, i16 0, i16 0, i16 0, i16 14218, i16 0, i16 0, i16 16130, i16 16778, i16 13956, i16 0, i16 0, i16 17034, i16 0, i16 13841, i16 12533, i16 907, i16 908, i16 909, i16 910, i16 12427, i16 0, i16 0, i16 0, i16 13195, i16 0, i16 16922, i16 0, i16 13707, i16 0, i16 0, i16 0, i16 14475, i16 0, i16 0, i16 0, i16 15499, i16 15502, i16 15504, i16 15510, i16 16011, i16 0, i16 0, i16 16509, i16 16779, i16 12836, i16 16582, i16 0, i16 140, i16 141, i16 0, i16 0, i16 652, i16 653, i16 654, i16 655, i16 12684, i16 0, i16 0, i16 0, i16 13452, i16 12433, i16 0, i16 0, i16 13708, i16 0, i16 14987, i16 0, i16 13964, i16 0, i16 15770, i16 16631, i16 14988, i16 14989, i16 14990, i16 14993, i16 15500, i16 0, i16 0, i16 0, i16 15756, i16 17160, i16 0, i16 0, i16 16012, i16 0, i16 0, i16 0, i16 16780, i16 14427, i16 14651, i16 16249, i16 397, i16 398, i16 399, i16 400, i16 14733, i16 15528, i16 0, i16 0, i16 15245, i16 16145, i16 12910, i16 15246, i16 142, i16 143, i16 0, i16 0, i16 12686, i16 0, i16 0, i16 0, i16 16270, i16 15176, i16 16407, i16 0, i16 911, i16 912, i16 913, i16 914, i16 12687, i16 0, i16 0, i16 0, i16 13455, i16 13547, i16 13572, i16 13917, i16 15759, i16 0, i16 0, i16 0, i16 16527, i16 13808, i16 0, i16 12337, i16 144, i16 145, i16 146, i16 147, i16 656, i16 0, i16 0, i16 0, i16 13200, i16 0, i16 0, i16 14170, i16 13456, i16 0, i16 0, i16 0, i16 401, i16 402, i16 403, i16 404, i16 12945, i16 13998, i16 0, i16 0, i16 13457, i16 16256, i16 0, i16 16553, i16 13969, i16 13521, i16 0, i16 0, i16 15505, i16 0, i16 0, i16 0, i16 12434, i16 0, i16 15058, i16 13539, i16 12690, i16 14684, i16 12987, i16 16033, i16 14482, i16 0, i16 0, i16 0, i16 15250, i16 0, i16 0, i16 0, i16 15762, i16 14596, i16 16510, i16 0, i16 16274, i16 13878, i16 0, i16 0, i16 16530, i16 0, i16 0, i16 13211, i16 659, i16 660, i16 661, i16 662, i16 915, i16 916, i16 917, i16 918, i16 13971, i16 0, i16 12440, i16 0, i16 14739, i16 0, i16 0, i16 0, i16 14995, i16 14996, i16 14999, i16 15000, i16 15507, i16 14598, i16 14237, i16 15914, i16 15763, i16 15390, i16 12379, i16 14705, i16 16275, i16 0, i16 0, i16 0, i16 148, i16 149, i16 150, i16 151, i16 13460, i16 0, i16 16753, i16 15034, i16 13716, i16 13717, i16 15801, i16 0, i16 14484, i16 13903, i16 14323, i16 0, i16 15764, i16 0, i16 15835, i16 0, i16 16276, i16 16223, i16 0, i16 0, i16 405, i16 406, i16 407, i16 408, i16 12437, i16 0, i16 0, i16 13759, i16 13461, i16 0, i16 0, i16 0, i16 15253, i16 0, i16 0, i16 0, i16 14486, i16 15451, i16 0, i16 16104, i16 663, i16 664, i16 665, i16 666, i16 919, i16 920, i16 921, i16 922, i16 13207, i16 0, i16 0, i16 15529, i16 13719, i16 12365, i16 16469, i16 15002, i16 14231, i16 12961, i16 0, i16 0, i16 14743, i16 0, i16 0, i16 0, i16 15511, i16 15515, i16 15516, i16 15519, i16 15767, i16 14614, i16 0, i16 13954, i16 152, i16 153, i16 0, i16 199, i16 12952, i16 0, i16 0, i16 0, i16 13208, i16 0, i16 0, i16 0, i16 14232, i16 0, i16 0, i16 0, i16 15256, i16 13725, i16 0, i16 16406, i16 16792, i16 0, i16 12502, i16 0, i16 17048, i16 0, i16 16613, i16 0, i16 409, i16 410, i16 411, i16 412, i16 12697, i16 0, i16 0, i16 0, i16 13465, i16 0, i16 15265, i16 16948, i16 14489, i16 0, i16 12306, i16 0, i16 15001, i16 15003, i16 15009, i16 15014, i16 12442, i16 13226, i16 0, i16 14226, i16 12698, i16 15313, i16 0, i16 17014, i16 15258, i16 0, i16 0, i16 0, i16 16538, i16 13681, i16 16557, i16 0, i16 667, i16 612, i16 613, i16 614, i16 923, i16 924, i16 925, i16 926, i16 12443, i16 16521, i16 0, i16 16894, i16 16539, i16 16116, i16 14202, i16 15247, i16 16795, i16 16796, i16 16864, i16 16991, i16 17052, i16 0, i16 0, i16 0, i16 157, i16 177, i16 0, i16 0, i16 413, i16 414, i16 415, i16 416, i16 669, i16 670, i16 285, i16 687, i16 12957, i16 0, i16 12393, i16 0, i16 13213, i16 0, i16 13510, i16 0, i16 15005, i16 0, i16 0, i16 0, i16 15517, i16 0, i16 0, i16 0, i16 16541, i16 15492, i16 0, i16 0, i16 158, i16 159, i16 0, i16 0, i16 12702, i16 16396, i16 16565, i16 0, i16 13726, i16 0, i16 15904, i16 0, i16 15006, i16 0, i16 0, i16 13595, i16 15518, i16 0, i16 0, i16 0, i16 927, i16 928, i16 929, i16 930, i16 13983, i16 0, i16 0, i16 0, i16 16287, i16 0, i16 0, i16 0, i16 17055, i16 0, i16 0, i16 0, i16 13472, i16 14810, i16 14523, i16 0, i16 15520, i16 15531, i16 15539, i16 15540, i16 16544, i16 0, i16 12913, i16 0, i16 161, i16 205, i16 0, i16 0, i16 417, i16 418, i16 419, i16 420, i16 673, i16 633, i16 634, i16 635, i16 13729, i16 14746, i16 0, i16 15579, i16 14497, i16 0, i16 0, i16 13296, i16 16545, i16 0, i16 0, i16 15030, i16 162, i16 154, i16 868, i16 869, i16 12450, i16 0, i16 0, i16 0, i16 13218, i16 16234, i16 0, i16 0, i16 13474, i16 0, i16 15986, i16 0, i16 931, i16 932, i16 933, i16 934, i16 12963, i16 16061, i16 0, i16 0, i16 13731, i16 14781, i16 15351, i16 0, i16 14243, i16 0, i16 0, i16 0, i16 17059, i16 15542, i16 13128, i16 0, i16 13476, i16 0, i16 0, i16 0, i16 13732, i16 0, i16 0, i16 15733, i16 15524, i16 0, i16 13441, i16 0, i16 16548, i16 16337, i16 0, i16 13756, i16 17060, i16 0, i16 0, i16 0, i16 421, i16 422, i16 423, i16 424, i16 12709, i16 0, i16 0, i16 0, i16 13733, i16 0, i16 0, i16 0, i16 13989, i16 0, i16 0, i16 0, i16 14501, i16 0, i16 0, i16 15771, i16 15013, i16 0, i16 13401, i16 13158, i16 15525, i16 0, i16 0, i16 0, i16 16805, i16 15459, i16 15096, i16 13761, i16 17061, i16 0, i16 14417, i16 0, i16 12966, i16 0, i16 15984, i16 0, i16 13734, i16 0, i16 13803, i16 13637, i16 14246, i16 0, i16 14315, i16 0, i16 16038, i16 0, i16 0, i16 14842, i16 16550, i16 12792, i16 0, i16 0, i16 17062, i16 0, i16 0, i16 15604, i16 167, i16 168, i16 218, i16 381, i16 935, i16 936, i16 937, i16 938, i16 13735, i16 0, i16 13742, i16 13171, i16 14759, i16 16681, i16 0, i16 13892, i16 15271, i16 15272, i16 14418, i16 0, i16 12968, i16 0, i16 14867, i16 0, i16 16040, i16 0, i16 16175, i16 0, i16 16552, i16 16563, i16 16665, i16 16686, i16 425, i16 426, i16 427, i16 428, i16 13225, i16 15942, i16 13512, i16 0, i16 13481, i16 0, i16 0, i16 0, i16 15017, i16 15018, i16 15020, i16 15021, i16 15785, i16 0, i16 0, i16 16662, i16 16297, i16 0, i16 0, i16 0, i16 12714, i16 0, i16 12438, i16 16242, i16 14250, i16 16679, i16 14694, i16 0, i16 15530, i16 15333, i16 0, i16 0, i16 16298, i16 15512, i16 0, i16 13777, i16 16554, i16 0, i16 0, i16 13450, i16 171, i16 0, i16 170, i16 0, i16 683, i16 676, i16 677, i16 678, i16 939, i16 940, i16 941, i16 942, i16 12459, i16 16235, i16 0, i16 0, i16 12715, i16 0, i16 0, i16 0, i16 12971, i16 0, i16 0, i16 0, i16 13227, i16 0, i16 0, i16 0, i16 15787, i16 0, i16 0, i16 0, i16 17067, i16 0, i16 0, i16 0, i16 172, i16 0, i16 0, i16 0, i16 12972, i16 0, i16 0, i16 15139, i16 13228, i16 0, i16 0, i16 0, i16 14508, i16 0, i16 13704, i16 0, i16 16044, i16 0, i16 0, i16 0, i16 16556, i16 0, i16 0, i16 0, i16 429, i16 430, i16 431, i16 432, i16 685, i16 0, i16 0, i16 686, i16 13485, i16 0, i16 0, i16 0, i16 13997, i16 0, i16 0, i16 0, i16 14509, i16 13175, i16 16316, i16 0, i16 15533, i16 0, i16 0, i16 0, i16 15789, i16 17036, i16 0, i16 0, i16 16045, i16 0, i16 16600, i16 0, i16 16301, i16 0, i16 15820, i16 12844, i16 12718, i16 16063, i16 12914, i16 14117, i16 12974, i16 0, i16 16705, i16 0, i16 13230, i16 0, i16 15623, i16 13677, i16 14766, i16 0, i16 0, i16 0, i16 15022, i16 0, i16 13436, i16 0, i16 15278, i16 0, i16 14272, i16 0, i16 16302, i16 14904, i16 16258, i16 16283, i16 16558, i16 16824, i16 0, i16 0, i16 943, i16 944, i16 945, i16 946, i16 14255, i16 16131, i16 0, i16 13355, i16 15791, i16 0, i16 0, i16 0, i16 16815, i16 0, i16 0, i16 0, i16 17071, i16 0, i16 0, i16 0, i16 13488, i16 0, i16 0, i16 0, i16 14768, i16 0, i16 14039, i16 0, i16 15024, i16 15039, i16 15041, i16 15046, i16 433, i16 434, i16 435, i16 436, i16 689, i16 684, i16 0, i16 0, i16 12465, i16 13274, i16 0, i16 13752, i16 12721, i16 16798, i16 14932, i16 0, i16 12977, i16 0, i16 12908, i16 0, i16 14257, i16 14133, i16 0, i16 0, i16 15025, i16 0, i16 0, i16 0, i16 16817, i16 12884, i16 0, i16 0, i16 12466, i16 16789, i16 12563, i16 13222, i16 13234, i16 0, i16 0, i16 0, i16 15794, i16 0, i16 0, i16 0, i16 947, i16 948, i16 949, i16 950, i16 12723, i16 0, i16 0, i16 0, i16 14771, i16 0, i16 13435, i16 0, i16 16051, i16 15890, i16 0, i16 0, i16 16819, i16 12329, i16 0, i16 17001, i16 692, i16 0, i16 0, i16 0, i16 12724, i16 0, i16 13132, i16 0, i16 15796, i16 0, i16 0, i16 0, i16 16308, i16 16502, i16 16504, i16 16536, i16 437, i16 438, i16 439, i16 440, i16 12725, i16 0, i16 0, i16 0, i16 13493, i16 0, i16 0, i16 0, i16 14005, i16 0, i16 0, i16 0, i16 15029, i16 0, i16 0, i16 0, i16 12726, i16 0, i16 15184, i16 0, i16 13238, i16 16154, i16 16911, i16 0, i16 14006, i16 0, i16 0, i16 0, i16 14774, i16 0, i16 0, i16 0, i16 15286, i16 0, i16 0, i16 0, i16 16822, i16 14980, i16 0, i16 0, i16 17078, i16 0, i16 0, i16 0, i16 951, i16 952, i16 953, i16 954, i16 12471, i16 0, i16 0, i16 12778, i16 13751, i16 0, i16 16204, i16 0, i16 14519, i16 0, i16 0, i16 0, i16 14775, i16 0, i16 0, i16 0, i16 15543, i16 15546, i16 15549, i16 15550, i16 12472, i16 16606, i16 14284, i16 0, i16 13240, i16 12549, i16 0, i16 13294, i16 15288, i16 0, i16 0, i16 0, i16 16056, i16 0, i16 0, i16 0, i16 441, i16 442, i16 443, i16 444, i16 12473, i16 0, i16 0, i16 0, i16 14521, i16 14717, i16 14727, i16 14735, i16 15289, i16 12888, i16 0, i16 16378, i16 16313, i16 13827, i16 0, i16 14976, i16 16569, i16 16206, i16 0, i16 0, i16 698, i16 0, i16 0, i16 0, i16 14266, i16 0, i16 0, i16 0, i16 14778, i16 0, i16 0, i16 0, i16 16058, i16 0, i16 0, i16 0, i16 955, i16 956, i16 957, i16 958, i16 14267, i16 0, i16 0, i16 0, i16 12988, i16 0, i16 0, i16 0, i16 14268, i16 0, i16 13468, i16 0, i16 15036, i16 0, i16 0, i16 0, i16 16572, i16 14518, i16 12691, i16 13239, i16 189, i16 188, i16 0, i16 253, i16 445, i16 446, i16 447, i16 448, i16 12477, i16 15331, i16 0, i16 0, i16 13245, i16 0, i16 0, i16 0, i16 13757, i16 0, i16 0, i16 14374, i16 14525, i16 0, i16 13038, i16 0, i16 16317, i16 0, i16 0, i16 0, i16 17085, i16 0, i16 15086, i16 0, i16 15038, i16 0, i16 17064, i16 0, i16 15806, i16 0, i16 0, i16 0, i16 16574, i16 0, i16 0, i16 0, i16 14783, i16 0, i16 0, i16 0, i16 15551, i16 15803, i16 0, i16 16468, i16 704, i16 705, i16 706, i16 707, i16 13248, i16 14745, i16 0, i16 15254, i16 13504, i16 0, i16 0, i16 0, i16 14016, i16 15498, i16 16826, i16 0, i16 15808, i16 0, i16 12581, i16 0, i16 16320, i16 0, i16 0, i16 0, i16 16576, i16 0, i16 0, i16 0, i16 193, i16 192, i16 0, i16 0, i16 449, i16 450, i16 451, i16 452, i16 12481, i16 15674, i16 0, i16 0, i16 12737, i16 0, i16 0, i16 16125, i16 12993, i16 12996, i16 12999, i16 13000, i16 13505, i16 12448, i16 0, i16 16713, i16 15297, i16 15282, i16 16915, i16 0, i16 16321, i16 0, i16 0, i16 0, i16 17089, i16 0, i16 0, i16 0, i16 962, i16 963, i16 964, i16 965, i16 12482, i16 0, i16 0, i16 0, i16 12994, i16 0, i16 0, i16 14948, i16 13250, i16 0, i16 17056, i16 0, i16 15042, i16 0, i16 0, i16 0, i16 16322, i16 0, i16 0, i16 0, i16 195, i16 196, i16 194, i16 197, i16 12483, i16 16508, i16 13428, i16 13090, i16 14019, i16 15663, i16 0, i16 14242, i16 15043, i16 0, i16 15522, i16 0, i16 15299, i16 14752, i16 16138, i16 12614, i16 15811, i16 0, i16 0, i16 0, i16 708, i16 709, i16 710, i16 711, i16 12484, i16 0, i16 13845, i16 0, i16 13508, i16 12695, i16 0, i16 0, i16 453, i16 454, i16 455, i16 456, i16 13253, i16 0, i16 0, i16 0, i16 13765, i16 0, i16 0, i16 12940, i16 14021, i16 0, i16 0, i16 0, i16 14789, i16 0, i16 12336, i16 0, i16 15557, i16 0, i16 0, i16 0, i16 16069, i16 0, i16 14166, i16 0, i16 198, i16 271, i16 274, i16 272, i16 966, i16 967, i16 968, i16 969, i16 12486, i16 15292, i16 0, i16 0, i16 14022, i16 12548, i16 0, i16 0, i16 14534, i16 14770, i16 0, i16 14512, i16 14790, i16 0, i16 0, i16 0, i16 15558, i16 0, i16 0, i16 0, i16 16070, i16 15545, i16 0, i16 0, i16 13255, i16 0, i16 0, i16 0, i16 15047, i16 15051, i16 15053, i16 15055, i16 16071, i16 16132, i16 16153, i16 16237, i16 712, i16 713, i16 714, i16 715, i16 14280, i16 0, i16 15295, i16 0, i16 14536, i16 0, i16 0, i16 0, i16 16072, i16 16419, i16 0, i16 15427, i16 17096, i16 0, i16 0, i16 0, i16 457, i16 458, i16 459, i16 460, i16 12489, i16 0, i16 0, i16 13963, i16 13001, i16 13002, i16 13003, i16 13004, i16 14025, i16 0, i16 0, i16 0, i16 14793, i16 16370, i16 0, i16 0, i16 15049, i16 0, i16 14621, i16 15073, i16 15561, i16 0, i16 0, i16 15636, i16 16585, i16 0, i16 0, i16 16785, i16 970, i16 971, i16 972, i16 973, i16 12490, i16 0, i16 0, i16 0, i16 12746, i16 13990, i16 0, i16 0, i16 14026, i16 0, i16 13980, i16 0, i16 15818, i16 15722, i16 0, i16 14075, i16 17098, i16 0, i16 0, i16 0, i16 14795, i16 0, i16 0, i16 0, i16 15307, i16 0, i16 0, i16 0, i16 15819, i16 0, i16 0, i16 15927, i16 16075, i16 0, i16 0, i16 0, i16 716, i16 717, i16 718, i16 719, i16 14796, i16 0, i16 16022, i16 0, i16 15052, i16 0, i16 13418, i16 12665, i16 16844, i16 0, i16 0, i16 0, i16 461, i16 462, i16 463, i16 464, i16 13261, i16 0, i16 0, i16 0, i16 14541, i16 13220, i16 0, i16 0, i16 15309, i16 0, i16 12712, i16 0, i16 15565, i16 15566, i16 15568, i16 15573, i16 15821, i16 0, i16 16052, i16 0, i16 17101, i16 0, i16 0, i16 0, i16 974, i16 975, i16 976, i16 977, i16 13006, i16 13007, i16 13008, i16 13009, i16 13518, i16 0, i16 0, i16 14415, i16 14542, i16 0, i16 0, i16 0, i16 16078, i16 14393, i16 0, i16 0, i16 207, i16 0, i16 235, i16 0, i16 12495, i16 0, i16 0, i16 16950, i16 13519, i16 0, i16 0, i16 0, i16 15311, i16 0, i16 14830, i16 14282, i16 15567, i16 0, i16 0, i16 16619, i16 15823, i16 0, i16 0, i16 16027, i16 16847, i16 0, i16 0, i16 14496, i16 17103, i16 17115, i16 0, i16 0, i16 208, i16 0, i16 0, i16 209, i16 720, i16 721, i16 722, i16 723, i16 14544, i16 0, i16 0, i16 0, i16 15056, i16 15059, i16 15071, i16 15076, i16 16336, i16 0, i16 0, i16 0, i16 16592, i16 15685, i16 0, i16 0, i16 16848, i16 0, i16 13214, i16 0, i16 17104, i16 14273, i16 14711, i16 0, i16 465, i16 466, i16 467, i16 468, i16 12753, i16 14734, i16 0, i16 16252, i16 14033, i16 0, i16 0, i16 15601, i16 16081, i16 0, i16 0, i16 0, i16 978, i16 979, i16 980, i16 981, i16 13010, i16 13012, i16 13013, i16 13014, i16 15826, i16 16028, i16 12772, i16 0, i16 16594, i16 0, i16 0, i16 0, i16 16850, i16 0, i16 16189, i16 0, i16 17106, i16 0, i16 0, i16 12294, i16 14547, i16 0, i16 0, i16 14190, i16 15315, i16 0, i16 0, i16 0, i16 15827, i16 0, i16 0, i16 12830, i16 724, i16 725, i16 726, i16 727, i16 12500, i16 0, i16 0, i16 16134, i16 13524, i16 0, i16 0, i16 0, i16 13780, i16 13256, i16 0, i16 0, i16 14804, i16 16701, i16 0, i16 0, i16 15060, i16 0, i16 12324, i16 0, i16 15316, i16 0, i16 15341, i16 0, i16 15572, i16 0, i16 0, i16 14646, i16 15828, i16 0, i16 13541, i16 15450, i16 469, i16 470, i16 471, i16 472, i16 12501, i16 0, i16 0, i16 0, i16 12757, i16 0, i16 0, i16 14292, i16 13269, i16 0, i16 0, i16 0, i16 13781, i16 0, i16 0, i16 13202, i16 14293, i16 0, i16 0, i16 14850, i16 982, i16 983, i16 984, i16 985, i16 13526, i16 12773, i16 0, i16 13700, i16 15574, i16 15575, i16 15650, i16 15725, i16 16854, i16 0, i16 15593, i16 14511, i16 13015, i16 13017, i16 13019, i16 13020, i16 14295, i16 0, i16 0, i16 0, i16 16599, i16 13986, i16 0, i16 0, i16 728, i16 729, i16 730, i16 731, i16 12504, i16 0, i16 0, i16 0, i16 13272, i16 13695, i16 17084, i16 13561, i16 14040, i16 16182, i16 16408, i16 0, i16 14296, i16 0, i16 0, i16 0, i16 14552, i16 0, i16 13151, i16 16838, i16 217, i16 215, i16 214, i16 206, i16 473, i16 474, i16 475, i16 0, i16 13529, i16 0, i16 15231, i16 0, i16 16089, i16 0, i16 16543, i16 0, i16 986, i16 987, i16 988, i16 989, i16 12762, i16 0, i16 0, i16 12667, i16 14042, i16 0, i16 14899, i16 0, i16 14298, i16 0, i16 0, i16 0, i16 15322, i16 14491, i16 0, i16 12496, i16 16602, i16 0, i16 0, i16 0, i16 12763, i16 0, i16 0, i16 15467, i16 13275, i16 14301, i16 0, i16 17006, i16 13531, i16 0, i16 14555, i16 0, i16 220, i16 0, i16 0, i16 0, i16 476, i16 477, i16 478, i16 479, i16 732, i16 733, i16 734, i16 735, i16 12764, i16 15934, i16 0, i16 16323, i16 14812, i16 12878, i16 0, i16 15877, i16 15580, i16 14196, i16 16484, i16 15632, i16 221, i16 0, i16 175, i16 222, i16 12509, i16 0, i16 0, i16 0, i16 13533, i16 0, i16 0, i16 0, i16 14557, i16 14233, i16 0, i16 0, i16 14813, i16 0, i16 0, i16 0, i16 15325, i16 0, i16 15780, i16 0, i16 16093, i16 16897, i16 13603, i16 0, i16 16349, i16 0, i16 14054, i16 14713, i16 990, i16 991, i16 992, i16 993, i16 12510, i16 15805, i16 13369, i16 0, i16 12766, i16 0, i16 0, i16 0, i16 13022, i16 13026, i16 13030, i16 13032, i16 13278, i16 14015, i16 13585, i16 0, i16 14046, i16 0, i16 0, i16 0, i16 14814, i16 0, i16 0, i16 0, i16 15582, i16 0, i16 0, i16 16043, i16 16350, i16 0, i16 0, i16 0, i16 223, i16 0, i16 268, i16 128, i16 13279, i16 15703, i16 16122, i16 0, i16 14303, i16 0, i16 0, i16 13160, i16 14815, i16 0, i16 0, i16 14647, i16 15327, i16 15373, i16 0, i16 14127, i16 16351, i16 0, i16 14211, i16 0, i16 480, i16 481, i16 482, i16 483, i16 736, i16 737, i16 738, i16 739, i16 13792, i16 0, i16 0, i16 14426, i16 15072, i16 15398, i16 0, i16 0, i16 12769, i16 0, i16 0, i16 0, i16 13537, i16 0, i16 0, i16 0, i16 14305, i16 0, i16 0, i16 0, i16 15585, i16 16868, i16 0, i16 0, i16 226, i16 229, i16 228, i16 231, i16 994, i16 995, i16 996, i16 997, i16 13282, i16 0, i16 0, i16 0, i16 14306, i16 0, i16 12700, i16 0, i16 14562, i16 15395, i16 0, i16 0, i16 16354, i16 0, i16 14249, i16 0, i16 16610, i16 0, i16 0, i16 13023, i16 12771, i16 0, i16 0, i16 0, i16 14307, i16 0, i16 0, i16 0, i16 15587, i16 17070, i16 0, i16 13673, i16 484, i16 485, i16 0, i16 0, i16 740, i16 741, i16 742, i16 743, i16 13028, i16 15378, i16 15379, i16 13805, i16 16612, i16 0, i16 14204, i16 16080, i16 13285, i16 0, i16 0, i16 0, i16 14053, i16 0, i16 13415, i16 0, i16 15589, i16 0, i16 12505, i16 16542, i16 16869, i16 0, i16 12780, i16 0, i16 17125, i16 16445, i16 0, i16 0, i16 230, i16 867, i16 700, i16 0, i16 486, i16 487, i16 488, i16 489, i16 998, i16 999, i16 1000, i16 1001, i16 12518, i16 0, i16 0, i16 0, i16 12774, i16 0, i16 0, i16 0, i16 13542, i16 0, i16 12967, i16 16522, i16 14310, i16 17148, i16 0, i16 0, i16 14822, i16 0, i16 0, i16 0, i16 15078, i16 15095, i16 15173, i16 15174, i16 16358, i16 0, i16 0, i16 13564, i16 16870, i16 0, i16 0, i16 0, i16 13287, i16 0, i16 12943, i16 14498, i16 14567, i16 0, i16 0, i16 0, i16 15335, i16 0, i16 0, i16 0, i16 17127, i16 15461, i16 13470, i16 0, i16 744, i16 745, i16 746, i16 747, i16 14312, i16 0, i16 0, i16 0, i16 15080, i16 15157, i16 13874, i16 13265, i16 16360, i16 0, i16 0, i16 0, i16 16872, i16 0, i16 0, i16 0, i16 13033, i16 13034, i16 13036, i16 13037, i16 13289, i16 12536, i16 0, i16 16564, i16 13545, i16 0, i16 0, i16 15443, i16 13801, i16 0, i16 13620, i16 0, i16 15081, i16 15804, i16 0, i16 0, i16 15849, i16 0, i16 0, i16 0, i16 16617, i16 0, i16 0, i16 0, i16 16873, i16 14697, i16 0, i16 0, i16 234, i16 0, i16 0, i16 0, i16 490, i16 491, i16 492, i16 493, i16 1002, i16 1003, i16 1004, i16 1005, i16 15338, i16 0, i16 0, i16 0, i16 16362, i16 0, i16 14446, i16 15234, i16 16874, i16 0, i16 0, i16 13025, i16 17130, i16 0, i16 0, i16 0, i16 12523, i16 0, i16 13760, i16 0, i16 14059, i16 14375, i16 0, i16 0, i16 14571, i16 0, i16 12662, i16 0, i16 15339, i16 14340, i16 0, i16 0, i16 15851, i16 0, i16 0, i16 16883, i16 748, i16 749, i16 750, i16 751, i16 14316, i16 0, i16 16739, i16 0, i16 14572, i16 0, i16 16192, i16 14871, i16 14828, i16 0, i16 0, i16 0, i16 15852, i16 12976, i16 15777, i16 0, i16 17132, i16 0, i16 0, i16 0, i16 12525, i16 14854, i16 0, i16 0, i16 14573, i16 14036, i16 0, i16 14037, i16 15085, i16 17109, i16 13852, i16 0, i16 16109, i16 15216, i16 13094, i16 0, i16 238, i16 0, i16 0, i16 179, i16 494, i16 495, i16 0, i16 0, i16 1006, i16 1007, i16 1008, i16 1009, i16 13806, i16 15676, i16 16961, i16 0, i16 16366, i16 15218, i16 0, i16 0, i16 12783, i16 0, i16 15396, i16 0, i16 13551, i16 15458, i16 17151, i16 0, i16 13807, i16 0, i16 0, i16 0, i16 14831, i16 0, i16 0, i16 0, i16 15855, i16 0, i16 14172, i16 0, i16 16367, i16 0, i16 14806, i16 12387, i16 240, i16 0, i16 163, i16 164, i16 752, i16 753, i16 754, i16 755, i16 12528, i16 0, i16 0, i16 12349, i16 13040, i16 0, i16 0, i16 15092, i16 13552, i16 13270, i16 0, i16 0, i16 14576, i16 0, i16 0, i16 0, i16 15600, i16 0, i16 0, i16 13650, i16 16368, i16 0, i16 0, i16 17051, i16 17136, i16 15591, i16 12699, i16 0, i16 13041, i16 13042, i16 13043, i16 13044, i16 13297, i16 0, i16 14164, i16 0, i16 14065, i16 0, i16 0, i16 0, i16 14321, i16 14328, i16 14431, i16 14457, i16 16369, i16 0, i16 16030, i16 16833, i16 16625, i16 0, i16 0, i16 0, i16 242, i16 241, i16 0, i16 0, i16 1010, i16 1011, i16 1012, i16 1013, i16 13554, i16 0, i16 0, i16 16702, i16 14066, i16 0, i16 0, i16 0, i16 14834, i16 14837, i16 14838, i16 14845, i16 499, i16 500, i16 501, i16 502, i16 16115, i16 0, i16 13362, i16 0, i16 16371, i16 14903, i16 15888, i16 0, i16 756, i16 757, i16 0, i16 0, i16 15860, i16 0, i16 0, i16 0, i16 16884, i16 0, i16 0, i16 0, i16 245, i16 248, i16 0, i16 249, i16 12789, i16 14319, i16 0, i16 0, i16 13045, i16 13047, i16 13052, i16 13064, i16 14581, i16 0, i16 16841, i16 0, i16 15093, i16 15181, i16 14721, i16 13061, i16 15605, i16 15130, i16 15715, i16 0, i16 15861, i16 0, i16 0, i16 14946, i16 16373, i16 15027, i16 0, i16 0, i16 16885, i16 0, i16 0, i16 16823, i16 246, i16 247, i16 0, i16 250, i16 758, i16 759, i16 760, i16 761, i16 1014, i16 1015, i16 1016, i16 1017, i16 12790, i16 0, i16 0, i16 0, i16 15350, i16 13930, i16 0, i16 0, i16 15606, i16 0, i16 0, i16 0, i16 16886, i16 16410, i16 15882, i16 17128, i16 17142, i16 16149, i16 0, i16 17135, i16 503, i16 504, i16 505, i16 506, i16 13815, i16 0, i16 0, i16 0, i16 14071, i16 0, i16 0, i16 0, i16 14583, i16 0, i16 0, i16 0, i16 14839, i16 16973, i16 15261, i16 17140, i16 13560, i16 0, i16 17083, i16 0, i16 14072, i16 0, i16 0, i16 0, i16 14584, i16 0, i16 15281, i16 0, i16 15608, i16 0, i16 0, i16 0, i16 15864, i16 16748, i16 0, i16 0, i16 16632, i16 15150, i16 0, i16 0, i16 12537, i16 0, i16 0, i16 14973, i16 12793, i16 14630, i16 15850, i16 0, i16 13049, i16 14043, i16 0, i16 0, i16 13305, i16 13263, i16 0, i16 0, i16 15865, i16 0, i16 0, i16 0, i16 17145, i16 16421, i16 0, i16 13784, i16 762, i16 763, i16 764, i16 765, i16 1018, i16 1019, i16 1020, i16 1021, i16 12538, i16 0, i16 0, i16 12960, i16 13050, i16 15974, i16 0, i16 13523, i16 15610, i16 0, i16 0, i16 0, i16 17146, i16 0, i16 0, i16 0, i16 507, i16 508, i16 509, i16 510, i16 13051, i16 0, i16 0, i16 0, i16 15099, i16 17005, i16 17050, i16 16925, i16 15611, i16 15678, i16 0, i16 0, i16 252, i16 0, i16 0, i16 183, i16 13308, i16 14843, i16 0, i16 0, i16 14332, i16 14758, i16 0, i16 0, i16 14588, i16 0, i16 16420, i16 14528, i16 15612, i16 15795, i16 0, i16 0, i16 13309, i16 0, i16 0, i16 0, i16 15869, i16 13439, i16 0, i16 0, i16 16381, i16 0, i16 0, i16 0, i16 16893, i16 14522, i16 0, i16 0, i16 17149, i16 0, i16 12785, i16 0, i16 254, i16 255, i16 0, i16 0, i16 766, i16 767, i16 768, i16 769, i16 1022, i16 1023, i16 1024, i16 1025, i16 13054, i16 0, i16 0, i16 13994, i16 13566, i16 0, i16 0, i16 0, i16 13822, i16 13259, i16 0, i16 15098, i16 511, i16 512, i16 0, i16 513, i16 12287, i16 0, i16 0, i16 13421, i16 12799, i16 0, i16 0, i16 0, i16 13311, i16 0, i16 0, i16 0, i16 13567, i16 0, i16 14077, i16 0, i16 14335, i16 12521, i16 13217, i16 0, i16 14591, i16 15619, i16 0, i16 0, i16 14847, i16 14848, i16 14856, i16 14866], [6 x i8] c"\0A\03\162\00\04", [24 x i64] [i64 48508, i64 48528, i64 48548, i64 14648, i64 48588, i64 48634, i64 48640, i64 14699, i64 48670, i64 52564, i64 52608, i64 14727, i64 53422, i64 61672, i64 61772, i64 16373, i64 0, i64 0, i64 0, i64 0, i64 68630, i64 69002, i64 69010, i64 44726], [2826 x i8] c"\00\00\01\00\00\00\00\00\00\01\00\08\00\01\01\01e\01\01\02\02\00\01\01\01e\01\02\00\02\00\02\02\02d\02\03\00\12\00\02\03\03c\03\03\02\02\00\02\04\04c\04\04\00\12\00\02\05\05b\03\04\02\02\00\02\06\06b\04\05\00\12\00\02\07\05a\03\05\02\02\00\02\08\06a\04\06\00\12\00\02\09\05`\03\06\02\02\00\02\0A\06`\04\07\00\02\00\03\0B\07_\05\08\00\12\00\02\0C\05^\03\08\02\02\00\02\0D\06^\04\09\00\12\00\02\0E\08]\03\09\02\02\00\02\0F\09]\04\0A\00\12\00\02\10\05\\\03\0A\02\02\00\02\11\06\\\04\0B\00\12\00\02\12\08[\03\0B\02\02\00\02\13\09[\04\0C\00\12\00\02\14\05Z\03\0C\02\02\00\02\15\06Z\04\0D\00\12\00\02\16\05Y\03\0D\02\02\00\02\17\06Y\04\0E\00\12\00\02\18\05X\03\0E\02\02\00\02\19\06X\04\0F\00\12\00\02\1A\05W\03\0F\02\02\00\02\1B\06W\04\10\00\12\00\00\1C\0A\8E\06\10\02\02\00\00\1D\0B\8E\07\11\00\12\00\02\1E\05V\03\11\02\02\00\02\1F\06V\04\12\00\12\00\02 \0CU\03\12\02\02\00\02!\0DU\04\13\00\12\00\02\22\05T\08\13\02\02\00\02#\06T\09\14\00\12\00\02$\05S\08\14\02\02\00\02%\06S\09\15\00\15\00\01&\0ER\0A\15\02\02\00\01&\0FR\0B\16\00\05\00\01'\10Q\0C\16\02\02\00\01(\11Q\0D\17\00\05\00\04)\12P\0E\17\02\02\00\04*\13P\0F\18\00\02\00\02+\14O\10\19\00\02\00\03,\15N\11\1A\00\08\00\05-\16M\12\1A\02\02\00\05.\16M\12\1B\00\0E\00\05/\17L\13\1B\02\02\00\05/\18L\13\1C\00\08\00\050\19\8B\14\1C\02\02\00\051\1A\8B\14\1D\00\0C\00\052\19\8B\14\1D\02\02\00\051\1A\8B\14\1E\00\0E\00\063\1B\8C\15\1E\02\02\00\074\1C\8C\15\1F\00\0B\00\025\1DK\16\1F\02\02\00\026\1DK\16 \00\08\00\017\1E\8A\17 \02\02\00\017\1F\8A\17!\00\08\00\058 J\18!\02\02\00\059!J\18\22\00\0C\00\05: J\18\22\02\02\00\059!J\18#\00\08\00\01;\22I\18#\02\02\00\01<#I\18$\00\0C\00\01=\22I\18$\02\02\00\01<#I\18%\00\08\00\08>$H\18%\02\02\00\08>%H\18&\00\08\00\01?$G\18&\02\02\00\01@%G\18'\00\0C\00\01A$G\18'\02\02\00\01@%G\18(\00\08\00\01;\22F\18(\02\02\00\01<#F\18)\00\0C\00\01=\22F\18)\02\02\00\01<#F\18*\00\13\00\09B&E\19*\02\02\00\09C'E\1A+\00\08\00\02D(D\02+\02\02\00\02D(D\02,\00\08\00\02E)C\1B,\02\02\00\02E)C\1B-\00\08\00\02F*\89\1C-\02\02\00\02F*\89\1C.\00\08\00\01G+B\1D.\02\02\00\01H+B\1D/\00\08\00\025)A\02/\02\02\00\026)A\020\00\08\00\02I,@\1E0\02\02\00\02I,@\1E1\00\08\00\02J)?\021\02\02\00\02K)?\022\00\0C\00\02L)?\022\02\02\00\02K)?\023\00\02\00\03\0B->\1E4\00\08\00\02M)=\024\02\02\00\02M)=\025\00\08\00\02N.<\1E5\02\02\00\02N.<\1E6\00\08\00\02O/;\1E6\02\02\00\02O/;\1E7\00\08\00\02P0:\027\02\02\00\02P0:\028\00\08\00\02Q)9\1B8\02\02\00\02Q)9\1B9\00\08\00\02R)8\1B9\02\02\00\02R)8\1B:\02\02\00\05S17\1F;\00\08\00\01T2\88 ;\02\02\00\01T3\88 <\00\08\00\05U2\87 <\02\02\00\05U3\87 =\00\08\00\05V2\86 =\02\02\00\05V3\86 >\00\08\00\05W2\85 >\02\02\00\05W3\85 ?\00\08\00\00X2\84 ?\02\02\00\00X3\84 @\00\08\00\00Y2\83 @\02\02\00\00Y3\83 A\00\08\00\05Z2\82 A\02\02\00\05Z3\82 B\00\08\00\05[2\81 B\02\02\00\05\\3\81 C\00\0C\00\05]2\81 C\02\02\00\05\\3\81 D\00\08\00\00^2\80 D\02\02\00\00^3\80 E\00\08\00\00_2\7F E\02\02\00\00_3\7F F\00\08\00\00`2~ F\02\02\00\00`3~ G\00\08\00\00a2} G\02\02\00\00a3} H\00\08\00\00b2| H\02\02\00\00b3| I\00\08\00\00c2{ I\02\02\00\00c3{ J\00\08\00\00d2z J\02\02\00\00d3z K\00\08\00\05e2y K\02\02\00\05e3y L\00\08\00\00f2x L\02\02\00\00g3x M\00\08\00\02P2w M\02\02\00\02P3w N\00\08\00\05h2v N\02\02\00\05h3v O\00\08\00\05i2u O\02\02\00\05i3u P\00\08\00\06j4t!P\02\02\00\07k5t!Q\00\08\00\05l66\22Q\02\02\00\05m66\22R\00\0C\00\05n66\22R\02\02\00\05m66\22S\02\02\01\0Ao75#S\00\02\01\0Ao75#T\00\08\00\01p8s$T\02\02\00\01q9s$U\00\0C\00\01r8s$U\02\02\00\01q9s$V\00\08\00\017:r%V\02\02\00\017;r%W\00\08\00\09?<4&W\02\02\00\09@=4&X\00\0C\00\09A<4&X\02\02\00\09@=4&Y\00\08\00\0Bs>q'Y\02\02\00\0Bs?q'Z\00\08\00\05>@3(Z\02\02\00\05>A3([\00\08\00\05-B2'[\02\02\00\05.C2'\\\00\0C\00\05tB2'\\\02\02\00\05.C2']\00\08\00\05-B1']\02\02\00\05.C1'^\00\0C\00\05tB1'^\02\02\00\05.C1'_\00\08\00\02JD0)_\02\02\00\02KE0)`\00\0C\00\02LD0)`\02\02\00\02KE0)a\00\0C\00\025F/\1Ba\02\02\00\026G/\1Bb\00\08\00\05lHp b\02\02\00\05mIp c\00\0C\00\05nHp c\02\02\00\05mIp d\00\08\00\025J.\1Bd\02\02\00\026J.\1Be\00\14\00\02uK-*e\02\02\00\02vL-+f\02\02\00\02wM,\02f\00\02\00\02wM,\02g\00\0E\00\05xNo,g\02\02\00\05xOo,h\00\0E\00\01yP+-h\02\02\00\01yQ+-i\00\03\00\02zR*.i\02\02\00\02{S*\10j\00\08\00\01|T)/j\02\02\00\01|T)/k\00\08\00\01}Un\18k\02\02\00\01}Vn\18l\00\08\00\0C>W(0l\02\02\00\0C>X(0m\00\08\00\05lY' m\02\02\00\05mZ' n\00\0C\00\05nY' n\02\02\00\05mZ' o\00\14\00\02uK&*o\02\02\00\02vL&+p\02\02\00\02~[\901q\00\07\00\01\7F\\%2q\02\02\00\01\80]%3r\00\08\00\017^m4r\02\02\00\017^m4s\02\02\00\02\81_\915t\00\08\00\025`$6t\02\02\00\026`$6u\00\0A\00\01\82al7u\02\02\00\01\82bl7v\00\0A\00\06\83ck%v\02\02\00\07\84dk%w\00\0A\00\02Me#8w\02\02\00\02Mf#9x\00\11\00\0D\85g\22:x\02\02\00\0D\86h\22;y\02\02\00\02\87i!\82\02\02\00\05.s\1B>\83\00\0E\00\05\90ti?\83\02\02\00\05\91ui?\84\00\08\00\05\92v\1A@\84\02\02\00\05\92w\1A@\85\00\08\00\05\93x\19@\85\02\02\00\05\94y\19@\86\00\0C\00\05\95x\19@\86\02\02\00\05\94y\19@\87\00\0E\00\05\96z\18A\87\02\02\00\05\96{\18A\88\16\16\00\01\97|\17B\88\00\11\00\01\98}\17C\88\02\02\00\01\99~\17\0D\89\00\18\00\01\9A\7F\16D\89\02\02\00\01\9B\80\16E\8A\00\02\00\01\9C\81\15F\8B\00\0E\00\06\9D\82\8DG\8B\02\02\00\07\9E\83\8DH\8C\00\0E\00\0B\9F\84hI\8C\02\02\00\0B\9F\85hI\8D\00\08\00\01\A0\86\14\02\8D\02\02\00\01\A0\87\14\02\8E\00\0E\00\05\A1\88\13J\8E\02\02\00\05\A1\89\13J\8F\00\11\00\05\A2\8A\13K\8F\02\02\00\05\A3\8B\13E\90\00\08\00\01p\8Cg\18\90\02\02\00\01q\8Dg\18\91\00\0C\00\01r\8Cg\18\91\02\02\00\01q\8Dg\18\92\00\08\00\0D\A4\8C\12\18\92\02\02\00\0D\A4\8D\12\18\93\00\02\00\03\0B\8E\11L\94\00\02\00\0E\A5\8F\10M\95\00\17\00\01\97|\0FN\95\02\02\00\01\99~\0FO\96\00\19\00\02\A6\90\8FP\96\02\02\00\02\A7\91\8FQ\97\00\02\00\02\A8\92\0E\02\98\00\02\00\02\02\93\0D\02\99\00\08\00\02\A9\94\0C\02\99\02\02\00\02\A9\94\0C\02\9A\00\15\00\00\AA\95fR\9A\02\02\00\00\AA\96fS\9B\02\02\00\01\99\97\0BT\9C\00\18\00\01\9A\98\0AU\9C\02\02\00\01\9B\99\0AV\9D\00\02\00\02\AB\9A\09W\9E\00\08\00\02\AC\9B\08X\9E\02\02\00\02\AC\9B\08X\9F\02\02\00\01\AD\9C\07\02\9F\00\02\00\01\AD\9C\07\02\A0\00\08\00\09?\9D\06Y\A0\02\02\00\09@\9E\06Y\A1\00\0C\00\09A\9D\06Y\A2\00\06\00\02\AE\9F\05Z\A2\02\02\00\02\AE\A0\05[\A3\02\02\00\02\AF\A1\04\\\A4\02\02\00\02I\A2\03\\\A5\00\02\00\02O\A3\02\1E\A6\02\02\00\02\B0\A4\01\\", [835 x i8] c"af_ZAam_ETar_AEar_BHar_DZar_EGar_INar_IQar_JOar_KWar_LBar_LYar_MAar_OMar_QAar_SAar_SDar_SYar_TNar_YEaz_AZbe_BYbg_BGbn_BDbn_INbr_FRbs_BAca_EScaeEScs_CZcy_GBda_DKde_ATdeeATde_BEdeeBEde_CHde_DEdeeDEde_LUdeeLUel_GRen_AUen_BWen_CAen_DKen_GBen_HKen_IEeneIEen_INen_NZen_PHen_SGen_USen_ZAen_ZWeo_EOes_ARes_BOes_CLes_COes_CRes_DOes_ECes_ESeseESes_GTes_HNes_MXes_NIes_PAes_PEes_PRes_PYes_SVes_USes_UYes_VEet_EEeu_ESeueESfa_IRfi_FIfieFIfo_FOfr_BEfreBEfr_CAfr_CHfr_FRfreFRfr_LUfreLUga_IEgaeIEgd_GBgl_ESgleESgv_GBhe_ILhi_INhr_HRhu_HUhy_AMid_IDis_ISit_CHit_ITiteITiw_ILja_JPka_GEkl_GLko_KRkw_GBlt_LTlv_LVmi_NZmk_MKmr_INms_MYmt_MTnl_BEnleBEnl_NLnleNLnn_NOno_NOoc_FRpl_PLpt_BRpt_PTptePTro_ROru_RUru_UAse_NOsk_SKsl_SIsq_ALsr_YUsrcYUsv_FIsveFIsv_SEta_INte_INtg_TJth_THti_ERti_ETtl_PHtr_TRtt_RUuk_UAur_PKuz_UZvi_VNwa_BEwaeBEyi_USzh_CNzh_HKzh_SGzh_TW\00\00\00\00\00", [18 x i8] c"\05eeuro\00\09ccyrillic\00", [69 x i8] c"\06\0F\1A&.9LC_CTYPE\00LC_NUMERIC\00LC_MONETARY\00LC_TIME\00LC_COLLATE\00LC_MESSAGES\00", [255 x i8] c"\18\22(/6BMYeq}\89\94\9F\AA\B5\C0\CB\D6\E1\E8\EF\F6\00ARMSCII-8\00ASCII\00CP1251\00CP1255\00GEORGIAN-PS\00ISO-8859-1\00ISO-8859-10\00ISO-8859-13\00ISO-8859-14\00ISO-8859-15\00ISO-8859-16\00ISO-8859-2\00ISO-8859-3\00ISO-8859-4\00ISO-8859-5\00ISO-8859-6\00ISO-8859-7\00ISO-8859-8\00ISO-8859-9\00KOI8-R\00KOI8-T\00KOI8-U\00TIS-620\00\00" }, align 8 +@__C_ctype_b_data = constant <{ [256 x i16], [128 x i16] }> <{ [256 x i16] [i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 8195, i16 8194, i16 8194, i16 8194, i16 8194, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 24577, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -11000, i16 -11000, i16 -11000, i16 -11000, i16 -11000, i16 -11000, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -10744, i16 -10744, i16 -10744, i16 -10744, i16 -10744, i16 -10744, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 2], [128 x i16] zeroinitializer }>, align 16 +@__C_ctype_b = global i16* bitcast (i8* getelementptr (i8, i8* bitcast (<{ [256 x i16], [128 x i16] }>* @__C_ctype_b_data to i8*), i64 256) to i16*), align 8 +@__C_ctype_tolower_data = constant [384 x i16] [i16 -128, i16 -127, i16 -126, i16 -125, i16 -124, i16 -123, i16 -122, i16 -121, i16 -120, i16 -119, i16 -118, i16 -117, i16 -116, i16 -115, i16 -114, i16 -113, i16 -112, i16 -111, i16 -110, i16 -109, i16 -108, i16 -107, i16 -106, i16 -105, i16 -104, i16 -103, i16 -102, i16 -101, i16 -100, i16 -99, i16 -98, i16 -97, i16 -96, i16 -95, i16 -94, i16 -93, i16 -92, i16 -91, i16 -90, i16 -89, i16 -88, i16 -87, i16 -86, i16 -85, i16 -84, i16 -83, i16 -82, i16 -81, i16 -80, i16 -79, i16 -78, i16 -77, i16 -76, i16 -75, i16 -74, i16 -73, i16 -72, i16 -71, i16 -70, i16 -69, i16 -68, i16 -67, i16 -66, i16 -65, i16 -64, i16 -63, i16 -62, i16 -61, i16 -60, i16 -59, i16 -58, i16 -57, i16 -56, i16 -55, i16 -54, i16 -53, i16 -52, i16 -51, i16 -50, i16 -49, i16 -48, i16 -47, i16 -46, i16 -45, i16 -44, i16 -43, i16 -42, i16 -41, i16 -40, i16 -39, i16 -38, i16 -37, i16 -36, i16 -35, i16 -34, i16 -33, i16 -32, i16 -31, i16 -30, i16 -29, i16 -28, i16 -27, i16 -26, i16 -25, i16 -24, i16 -23, i16 -22, i16 -21, i16 -20, i16 -19, i16 -18, i16 -17, i16 -16, i16 -15, i16 -14, i16 -13, i16 -12, i16 -11, i16 -10, i16 -9, i16 -8, i16 -7, i16 -6, i16 -5, i16 -4, i16 -3, i16 -2, i16 -1, i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255], align 16 +@__C_ctype_tolower = global i16* bitcast (i8* getelementptr (i8, i8* bitcast ([384 x i16]* @__C_ctype_tolower_data to i8*), i64 256) to i16*), align 8 +@__C_ctype_toupper_data = constant [384 x i16] [i16 -128, i16 -127, i16 -126, i16 -125, i16 -124, i16 -123, i16 -122, i16 -121, i16 -120, i16 -119, i16 -118, i16 -117, i16 -116, i16 -115, i16 -114, i16 -113, i16 -112, i16 -111, i16 -110, i16 -109, i16 -108, i16 -107, i16 -106, i16 -105, i16 -104, i16 -103, i16 -102, i16 -101, i16 -100, i16 -99, i16 -98, i16 -97, i16 -96, i16 -95, i16 -94, i16 -93, i16 -92, i16 -91, i16 -90, i16 -89, i16 -88, i16 -87, i16 -86, i16 -85, i16 -84, i16 -83, i16 -82, i16 -81, i16 -80, i16 -79, i16 -78, i16 -77, i16 -76, i16 -75, i16 -74, i16 -73, i16 -72, i16 -71, i16 -70, i16 -69, i16 -68, i16 -67, i16 -66, i16 -65, i16 -64, i16 -63, i16 -62, i16 -61, i16 -60, i16 -59, i16 -58, i16 -57, i16 -56, i16 -55, i16 -54, i16 -53, i16 -52, i16 -51, i16 -50, i16 -49, i16 -48, i16 -47, i16 -46, i16 -45, i16 -44, i16 -43, i16 -42, i16 -41, i16 -40, i16 -39, i16 -38, i16 -37, i16 -36, i16 -35, i16 -34, i16 -33, i16 -32, i16 -31, i16 -30, i16 -29, i16 -28, i16 -27, i16 -26, i16 -25, i16 -24, i16 -23, i16 -22, i16 -21, i16 -20, i16 -19, i16 -18, i16 -17, i16 -16, i16 -15, i16 -14, i16 -13, i16 -12, i16 -11, i16 -10, i16 -9, i16 -8, i16 -7, i16 -6, i16 -5, i16 -4, i16 -3, i16 -2, i16 -1, i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255], align 16 +@__C_ctype_toupper = global i16* bitcast (i8* getelementptr (i8, i8* bitcast ([384 x i16]* @__C_ctype_toupper_data to i8*), i64 256) to i16*), align 8 +@errno = global i32 0, align 4 +@h_errno = global i32 0, align 4 +@.str.212 = private unnamed_addr constant [17 x i8] c"ignoring (EPERM)\00", align 1 +@.str.7.214 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.1.215 = private unnamed_addr constant [9 x i8] c"ignoring\00", align 1 +@.str.2.216 = private unnamed_addr constant [82 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/illegal.c\00", align 1 +@.str.3.217 = private unnamed_addr constant [20 x i8] c"longjmp unsupported\00", align 1 +@.str.4.218 = private unnamed_addr constant [8 x i8] c"xxx.err\00", align 1 +@.str.5.220 = private unnamed_addr constant [18 x i8] c"ignoring (EACCES)\00", align 1 +@.str.6.221 = private unnamed_addr constant [18 x i8] c"ignoring (ENOMEM)\00", align 1 +@error_message_count = global i32 0, align 4 +@error_one_per_line = global i32 0, align 4 +@.str.224 = private unnamed_addr constant [5 x i8] c": %s\00", align 1 +@__error_at_line.old_line_number = internal global i32 0, align 4 +@__error_at_line.old_file_name = internal global i8* null, align 8 +@.str.1.225 = private unnamed_addr constant [8 x i8] c"%s:%d: \00", align 1 +@hr_locale = internal global [448 x i8] zeroinitializer, align 16 +@utf8.232 = internal constant [6 x i8] c"UTF-8\00", align 1 +@static_fd = internal global i32 -1, align 4 +@static_ut_name = internal global i8* getelementptr inbounds ([14 x i8], [14 x i8]* @default_file_name, i32 0, i32 0), align 8 +@default_file_name = internal constant [14 x i8] c"/var/run/utmp\00", align 1 +@static_utmp = internal global %struct.utmp.323 zeroinitializer, align 8 +@mbrtowc.mbstate = internal global %struct.__mbstate_t.512 zeroinitializer, align 4 +@__dso_handle = extern_weak global i8*, align 8 +@optind = global i32 1, align 4 +@opterr = global i32 1, align 4 +@optopt = global i32 63, align 4 +@optarg = global i8* null, align 8 +@getopt_data = internal global %struct._getopt_data zeroinitializer, align 8 +@.str.295 = private unnamed_addr constant [3 x i8] c"--\00", align 1 +@.str.1.296 = private unnamed_addr constant [30 x i8] c"%s: option `%s' is ambiguous\0A\00", align 1 +@.str.2.297 = private unnamed_addr constant [45 x i8] c"%s: option `--%s' doesn't allow an argument\0A\00", align 1 +@.str.3.298 = private unnamed_addr constant [45 x i8] c"%s: option `%c%s' doesn't allow an argument\0A\00", align 1 +@.str.4.299 = private unnamed_addr constant [38 x i8] c"%s: option `%s' requires an argument\0A\00", align 1 +@.str.5.300 = private unnamed_addr constant [32 x i8] c"%s: unrecognized option `--%s'\0A\00", align 1 +@.str.6.301 = private unnamed_addr constant [32 x i8] c"%s: unrecognized option `%c%s'\0A\00", align 1 +@.str.7.302 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@.str.8.303 = private unnamed_addr constant [26 x i8] c"%s: illegal option -- %c\0A\00", align 1 +@.str.9.304 = private unnamed_addr constant [26 x i8] c"%s: invalid option -- %c\0A\00", align 1 +@.str.10.305 = private unnamed_addr constant [39 x i8] c"%s: option requires an argument -- %c\0A\00", align 1 +@.str.11.306 = private unnamed_addr constant [16 x i8] c"POSIXLY_CORRECT\00", align 1 +@.str.311 = private unnamed_addr constant [14 x i8] c"#\80\80\80\80\80\80\80\80\80\80\80\80\00", align 1 +@newlocale.envstr = internal global [4 x i8*] [i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.315, i32 0, i32 0), i8* null, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.2.316, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @posix, i32 0, i32 0)], align 16 +@.str.3.312 = private unnamed_addr constant [2 x i8] c"=\00", align 1 +@.str.4.313 = private unnamed_addr constant [2 x i8] c";\00", align 1 +@posix = internal constant [6 x i8] c"POSIX\00", align 1 +@utf8.314 = internal constant [6 x i8] c"UTF-8\00", align 1 +@.str.1.315 = private unnamed_addr constant [7 x i8] c"LC_ALL\00", align 1 +@.str.2.316 = private unnamed_addr constant [5 x i8] c"LANG\00", align 1 +@empty = internal constant [1 x i8] zeroinitializer, align 1 +@mbsnrtowcs.mbstate = internal global %struct.__mbstate_t.512 zeroinitializer, align 4 +@_do_one_spec.spec_base = internal constant [7 x i8] c"\10\10\10\08\0A\0A\0A", align 1 +@.str.331 = private unnamed_addr constant [6 x i8] c"(nil)\00", align 1 +@.str.1.332 = private unnamed_addr constant [7 x i8] c"(null)\00", align 1 +@_do_one_spec.prefix = internal constant [12 x i8] c"+\00-\00 \000x\000X\00", align 1 +@strerror.buf = internal global [50 x i8] zeroinitializer, align 16 +@desc2flag = internal constant [13 x i16] [i16 0, i16 2048, i16 4, i16 256, i16 512, i16 8, i16 128, i16 2, i16 64, i16 1024, i16 32, i16 1, i16 16], align 16 +@fmt = internal constant [20 x i8] c"inf\00INF\00nan\00NAN\00.\00,\00", align 16 +@exp10_table = internal constant [9 x double] [double 1.000000e+01, double 1.000000e+02, double 1.000000e+04, double 1.000000e+08, double 1.000000e+16, double 1.000000e+32, double 1.000000e+64, double 1.000000e+128, double 1.000000e+256], align 16 +@_ppfs_init.invalid_mbs = internal constant [33 x i8] c"Invalid multibyte format string.\00", align 16 +@_ppfs_parsespec.spec_flags = internal constant [8 x i8] c" +0-#'I\00", align 1 +@_ppfs_parsespec.qual_chars = internal constant [20 x i8] c"hlLjztqZ\00\02\04\08\04\04\04\08\04\00\01\08", align 16 +@_ppfs_parsespec.spec_chars = internal constant [21 x i8] c"npxXoudifFeEgGaACScs\00", align 16 +@_ppfs_parsespec.spec_ranges = internal constant [9 x i8] c"\00\01\07\0F\10\11\12\13\14", align 1 +@_ppfs_parsespec.spec_or_mask = internal constant [8 x i16] [i16 4096, i16 5, i16 0, i16 7, i16 2, i16 4, i16 1, i16 3], align 16 +@_ppfs_parsespec.spec_and_mask = internal constant [8 x i16] [i16 7936, i16 5, i16 3840, i16 2055, i16 2, i16 4, i16 1, i16 3], align 16 +@type_codes = internal constant [12 x i16] [i16 8, i16 5, i16 3, i16 4, i16 1, i16 512, i16 0, i16 1024, i16 2048, i16 2, i16 7, i16 2055], align 16 +@type_sizes = internal constant [12 x i8] c"\00\01\01\01\04\02\01\01\01\01\01\01", align 1 +@__exit_count = hidden global i32 0, align 4 +@__exit_function_table = hidden global %struct.exit_function* null, align 8 +@__exit_slots = hidden global i32 0, align 4 +@__xpg_strerror_r.unknown = internal constant [14 x i8] c"Unknown error ", align 1 +@mbsrtowcs.mbstate = internal global %struct.__mbstate_t.512 zeroinitializer, align 4 +@_string_syserrmsgs = hidden constant [2906 x i8] c"Success\00Operation not permitted\00No such file or directory\00No such process\00Interrupted system call\00Input/output error\00No such device or address\00Argument list too long\00Exec format error\00Bad file descriptor\00No child processes\00Resource temporarily unavailable\00Cannot allocate memory\00Permission denied\00Bad address\00Block device required\00Device or resource busy\00File exists\00Invalid cross-device link\00No such device\00Not a directory\00Is a directory\00Invalid argument\00Too many open files in system\00Too many open files\00Inappropriate ioctl for device\00Text file busy\00File too large\00No space left on device\00Illegal seek\00Read-only file system\00Too many links\00Broken pipe\00Numerical argument out of domain\00Numerical result out of range\00Resource deadlock avoided\00File name too long\00No locks available\00Function not implemented\00Directory not empty\00Too many levels of symbolic links\00\00No message of desired type\00Identifier removed\00Channel number out of range\00Level 2 not synchronized\00Level 3 halted\00Level 3 reset\00Link number out of range\00Protocol driver not attached\00No CSI structure available\00Level 2 halted\00Invalid exchange\00Invalid request descriptor\00Exchange full\00No anode\00Invalid request code\00Invalid slot\00\00Bad font file format\00Device not a stream\00No data available\00Timer expired\00Out of streams resources\00Machine is not on the network\00Package not installed\00Object is remote\00Link has been severed\00Advertise error\00Srmount error\00Communication error on send\00Protocol error\00Multihop attempted\00RFS specific error\00Bad message\00Value too large for defined data type\00Name not unique on network\00File descriptor in bad state\00Remote address changed\00Can not access a needed shared library\00Accessing a corrupted shared library\00.lib section in a.out corrupted\00Attempting to link in too many shared libraries\00Cannot exec a shared library directly\00Invalid or incomplete multibyte or wide character\00Interrupted system call should be restarted\00Streams pipe error\00Too many users\00Socket operation on non-socket\00Destination address required\00Message too long\00Protocol wrong type for socket\00Protocol not available\00Protocol not supported\00Socket type not supported\00Operation not supported\00Protocol family not supported\00Address family not supported by protocol\00Address already in use\00Cannot assign requested address\00Network is down\00Network is unreachable\00Network dropped connection on reset\00Software caused connection abort\00Connection reset by peer\00No buffer space available\00Transport endpoint is already connected\00Transport endpoint is not connected\00Cannot send after transport endpoint shutdown\00Too many references: cannot splice\00Connection timed out\00Connection refused\00Host is down\00No route to host\00Operation already in progress\00Operation now in progress\00Stale NFS file handle\00Structure needs cleaning\00Not a XENIX named type file\00No XENIX semaphores available\00Is a named type file\00Remote I/O error\00Disk quota exceeded\00No medium found\00Wrong medium type\00", align 16 + +@__progname = weak alias i8*, i8** @program_invocation_short_name +@__progname_full = weak alias i8*, i8** @program_invocation_name +@environ = weak alias i8**, i8*** @__environ +@__getdents = dso_local alias i64 (i32, %struct.dirent64*, i64), i64 (i32, %struct.dirent64*, i64)* @getdents +@getchar = alias i32 (), i32 ()* @getchar_unlocked +@raise = weak alias i32 (i32), i32 (i32)* @__raise +@fgetc_unlocked = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@getc_unlocked = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@fgetc = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@getc = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@__getdents64 = dso_local alias i64 (i32, i8*, i64), i64 (i32, i8*, i64)* @getdents64 +@error = weak alias void (i32, i32, i8*, ...), void (i32, i32, i8*, ...)* @__error +@error_at_line = weak alias void (i32, i32, i8*, i32, i8*, ...), void (i32, i32, i8*, i32, i8*, ...)* @__error_at_line +@ferror = alias i32 (%struct.__STDIO_FILE_STRUCT.592*), i32 (%struct.__STDIO_FILE_STRUCT.592*)* @ferror_unlocked +@fflush = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fflush_unlocked +@fileno = alias i32 (%struct.__STDIO_FILE_STRUCT.608*), i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno_unlocked +@fputc_unlocked = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@putc_unlocked = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@fputc = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@putc = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@fputs = alias i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*), i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked +@fseeko = alias i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32), i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32)* @fseek +@fwrite = alias i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*), i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*)* @fwrite_unlocked +@putchar = alias i32 (i32), i32 (i32)* @putchar_unlocked +@strerror_r = weak alias i32 (i32, i8*, i64), i32 (i32, i8*, i64)* @__xpg_strerror_r + +; Function Attrs: noinline nounwind uwtable +define void @__uClibc_init() #0 { +entry: + %0 = load i32, i32* @__uClibc_init.been_there_done_that, align 4 + %tobool = icmp ne i32 %0, 0 + br i1 %tobool, label %if.end4, label %if.end + +if.end: ; preds = %entry + %1 = load i32, i32* @__uClibc_init.been_there_done_that, align 4 + %inc = add nsw i32 %1, 1 + store i32 %inc, i32* @__uClibc_init.been_there_done_that, align 4 + store i64 4096, i64* @__pagesize, align 8 + call void @_locale_init() #18 + call void @_stdio_init() #18 + br label %if.end4 + +if.end4: ; preds = %entry, %if.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define void @__uClibc_fini() #0 { +entry: + %0 = load void ()*, void ()** @__app_fini, align 8 + %cmp = icmp ne void ()* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load void ()*, void ()** @__app_fini, align 8 + call void %1() #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %2 = load void ()*, void ()** @__rtld_fini, align 8 + %cmp1 = icmp ne void ()* %2, null + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + %3 = load void ()*, void ()** @__rtld_fini, align 8 + call void %3() #18 + br label %if.end3 + +if.end3: ; preds = %if.then2, %if.end + ret void +} + +; Function Attrs: noinline noreturn nounwind uwtable +define void @__uClibc_main(i32 (i32, i8**, i8**)* %main, i32 %argc, i8** %argv, void ()* %app_init, void ()* %app_fini, void ()* %rtld_fini, i8* %stack_end) #1 { +entry: + %main.addr = alloca i32 (i32, i8**, i8**)*, align 8 + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %app_init.addr = alloca void ()*, align 8 + %app_fini.addr = alloca void ()*, align 8 + %rtld_fini.addr = alloca void ()*, align 8 + %stack_end.addr = alloca i8*, align 8 + %aux_dat = alloca i64*, align 8 + %auxvt = alloca [15 x %struct.Elf64_auxv_t], align 16 + %auxv_entry = alloca %struct.Elf64_auxv_t*, align 8 + store i32 (i32, i8**, i8**)* %main, i32 (i32, i8**, i8**)** %main.addr, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store void ()* %app_init, void ()** %app_init.addr, align 8 + store void ()* %app_fini, void ()** %app_fini.addr, align 8 + store void ()* %rtld_fini, void ()** %rtld_fini.addr, align 8 + store i8* %stack_end, i8** %stack_end.addr, align 8 + %0 = load i8*, i8** %stack_end.addr, align 8 + store i8* %0, i8** @__libc_stack_end, align 8 + %1 = load void ()*, void ()** %rtld_fini.addr, align 8 + store void ()* %1, void ()** @__rtld_fini, align 8 + %2 = load i8**, i8*** %argv.addr, align 8 + %3 = load i32, i32* %argc.addr, align 4 + %add = add nsw i32 %3, 1 + %idxprom = sext i32 %add to i64 + %arrayidx = getelementptr inbounds i8*, i8** %2, i64 %idxprom + store i8** %arrayidx, i8*** @__environ, align 8 + %4 = load i8**, i8*** @__environ, align 8 + %5 = bitcast i8** %4 to i8* + %6 = load i8**, i8*** %argv.addr, align 8 + %7 = load i8*, i8** %6, align 8 + %cmp = icmp eq i8* %5, %7 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %8 = load i8**, i8*** %argv.addr, align 8 + %9 = load i32, i32* %argc.addr, align 4 + %idxprom1 = sext i32 %9 to i64 + %arrayidx2 = getelementptr inbounds i8*, i8** %8, i64 %idxprom1 + store i8** %arrayidx2, i8*** @__environ, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %arraydecay = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 0 + %10 = bitcast %struct.Elf64_auxv_t* %arraydecay to i8* + %call = call i8* @memset(i8* %10, i32 0, i64 240) #19 + %11 = load i8**, i8*** @__environ, align 8 + %12 = bitcast i8** %11 to i64* + store i64* %12, i64** %aux_dat, align 8 + br label %while.cond + +while.cond: ; preds = %while.cond, %if.end + %13 = load i64*, i64** %aux_dat, align 8 + %14 = load i64, i64* %13, align 8 + %tobool = icmp ne i64 %14, 0 + %15 = load i64*, i64** %aux_dat, align 8 + %incdec.ptr = getelementptr inbounds i64, i64* %15, i32 1 + store i64* %incdec.ptr, i64** %aux_dat, align 8 + br i1 %tobool, label %while.cond, label %while.cond4 + +while.cond4: ; preds = %while.cond, %if.end12 + %16 = load i64*, i64** %aux_dat, align 8 + %17 = load i64, i64* %16, align 8 + %tobool5 = icmp ne i64 %17, 0 + br i1 %tobool5, label %while.body6, label %while.end13 + +while.body6: ; preds = %while.cond4 + %18 = load i64*, i64** %aux_dat, align 8 + %19 = bitcast i64* %18 to %struct.Elf64_auxv_t* + store %struct.Elf64_auxv_t* %19, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %20 = load %struct.Elf64_auxv_t*, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %a_type = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %20, i32 0, i32 0 + %21 = load i64, i64* %a_type, align 8 + %cmp7 = icmp ule i64 %21, 14 + br i1 %cmp7, label %if.then8, label %if.end12 + +if.then8: ; preds = %while.body6 + %22 = load %struct.Elf64_auxv_t*, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %a_type9 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %22, i32 0, i32 0 + %23 = load i64, i64* %a_type9, align 8 + %arrayidx10 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 %23 + %24 = bitcast %struct.Elf64_auxv_t* %arrayidx10 to i8* + %25 = load %struct.Elf64_auxv_t*, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %26 = bitcast %struct.Elf64_auxv_t* %25 to i8* + %call11 = call i8* @memcpy(i8* %24, i8* %26, i64 16) #19 + br label %if.end12 + +if.end12: ; preds = %if.then8, %while.body6 + %27 = load i64*, i64** %aux_dat, align 8 + %add.ptr = getelementptr inbounds i64, i64* %27, i64 2 + store i64* %add.ptr, i64** %aux_dat, align 8 + br label %while.cond4 + +while.end13: ; preds = %while.cond4 + call void @__uClibc_init() #18 + %arrayidx14 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 6 + %a_un = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx14, i32 0, i32 1 + %a_val = bitcast %union.anon.193* %a_un to i64* + %28 = load i64, i64* %a_val, align 8 + %tobool15 = icmp ne i64 %28, 0 + %arrayidx16 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 6 + %a_un17 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx16, i32 0, i32 1 + %a_val18 = bitcast %union.anon.193* %a_un17 to i64* + %29 = load i64, i64* %a_val18, align 8 + %cond = select i1 %tobool15, i64 %29, i64 4096 + store i64 %cond, i64* @__pagesize, align 8 + %arrayidx19 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 11 + %a_un20 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx19, i32 0, i32 1 + %a_val21 = bitcast %union.anon.193* %a_un20 to i64* + %30 = load i64, i64* %a_val21, align 8 + %cmp22 = icmp eq i64 %30, -1 + br i1 %cmp22, label %land.lhs.true, label %lor.lhs.false + +land.lhs.true: ; preds = %while.end13 + %call23 = call i32 @__check_suid() #18 + %tobool24 = icmp ne i32 %call23, 0 + br i1 %tobool24, label %if.then45, label %lor.lhs.false + +lor.lhs.false: ; preds = %land.lhs.true, %while.end13 + %arrayidx25 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 11 + %a_un26 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx25, i32 0, i32 1 + %a_val27 = bitcast %union.anon.193* %a_un26 to i64* + %31 = load i64, i64* %a_val27, align 8 + %cmp28 = icmp ne i64 %31, -1 + br i1 %cmp28, label %land.lhs.true29, label %if.end46 + +land.lhs.true29: ; preds = %lor.lhs.false + %arrayidx30 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 11 + %a_un31 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx30, i32 0, i32 1 + %a_val32 = bitcast %union.anon.193* %a_un31 to i64* + %32 = load i64, i64* %a_val32, align 8 + %arrayidx33 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 12 + %a_un34 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx33, i32 0, i32 1 + %a_val35 = bitcast %union.anon.193* %a_un34 to i64* + %33 = load i64, i64* %a_val35, align 8 + %cmp36 = icmp ne i64 %32, %33 + br i1 %cmp36, label %if.then45, label %lor.lhs.false37 + +lor.lhs.false37: ; preds = %land.lhs.true29 + %arrayidx38 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 13 + %a_un39 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx38, i32 0, i32 1 + %a_val40 = bitcast %union.anon.193* %a_un39 to i64* + %34 = load i64, i64* %a_val40, align 8 + %arrayidx41 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 14 + %a_un42 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx41, i32 0, i32 1 + %a_val43 = bitcast %union.anon.193* %a_un42 to i64* + %35 = load i64, i64* %a_val43, align 8 + %cmp44 = icmp ne i64 %34, %35 + br i1 %cmp44, label %if.then45, label %if.end46 + +if.then45: ; preds = %lor.lhs.false37, %land.lhs.true29, %land.lhs.true + call void @__check_one_fd(i32 0, i32 131072) #18 + call void @__check_one_fd(i32 1, i32 131074) #18 + call void @__check_one_fd(i32 2, i32 131074) #18 + br label %if.end46 + +if.end46: ; preds = %if.then45, %lor.lhs.false37, %lor.lhs.false + %36 = load i8**, i8*** %argv.addr, align 8 + %37 = load i8*, i8** %36, align 8 + store i8* %37, i8** @__uclibc_progname, align 8 + %38 = load i8**, i8*** %argv.addr, align 8 + %39 = load i8*, i8** %38, align 8 + store i8* %39, i8** @program_invocation_name, align 8 + %40 = load i8**, i8*** %argv.addr, align 8 + %41 = load i8*, i8** %40, align 8 + %call47 = call i8* @strrchr(i8* %41, i32 47) #20 + store i8* %call47, i8** @program_invocation_short_name, align 8 + %42 = load i8*, i8** @program_invocation_short_name, align 8 + %cmp48 = icmp ne i8* %42, null + br i1 %cmp48, label %if.then49, label %if.else + +if.then49: ; preds = %if.end46 + %43 = load i8*, i8** @program_invocation_short_name, align 8 + %incdec.ptr50 = getelementptr inbounds i8, i8* %43, i32 1 + store i8* %incdec.ptr50, i8** @program_invocation_short_name, align 8 + br label %if.end51 + +if.else: ; preds = %if.end46 + %44 = load i8*, i8** @program_invocation_name, align 8 + store i8* %44, i8** @program_invocation_short_name, align 8 + br label %if.end51 + +if.end51: ; preds = %if.else, %if.then49 + %45 = load void ()*, void ()** %app_fini.addr, align 8 + store void ()* %45, void ()** @__app_fini, align 8 + %46 = load void ()*, void ()** %app_init.addr, align 8 + %cmp52 = icmp ne void ()* %46, null + br i1 %cmp52, label %if.then53, label %if.then55 + +if.then53: ; preds = %if.end51 + %47 = load void ()*, void ()** %app_init.addr, align 8 + call void %47() #18 + br label %if.then55 + +if.then55: ; preds = %if.end51, %if.then53 + %call56 = call i32* @__errno_location() #21 + store i32 0, i32* %call56, align 4 + %call59 = call i32* @__h_errno_location() #21 + store i32 0, i32* %call59, align 4 + %48 = load i32 (i32, i8**, i8**)*, i32 (i32, i8**, i8**)** %main.addr, align 8 + %49 = load i32, i32* %argc.addr, align 4 + %50 = load i8**, i8*** %argv.addr, align 8 + %51 = load i8**, i8*** @__environ, align 8 + %call61 = call i32 %48(i32 %49, i8** %50, i8** %51) #18 + call void @exit(i32 %call61) #22 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__check_suid() #0 { +entry: + %retval = alloca i32, align 4 + %uid = alloca i32, align 4 + %euid = alloca i32, align 4 + %gid = alloca i32, align 4 + %egid = alloca i32, align 4 + %call = call i32 @getuid() #19 + store i32 %call, i32* %uid, align 4 + %call1 = call i32 @geteuid() #19 + store i32 %call1, i32* %euid, align 4 + %call2 = call i32 @getgid() #19 + store i32 %call2, i32* %gid, align 4 + %call3 = call i32 @getegid() #19 + store i32 %call3, i32* %egid, align 4 + %0 = load i32, i32* %uid, align 4 + %1 = load i32, i32* %euid, align 4 + %cmp = icmp eq i32 %0, %1 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %2 = load i32, i32* %gid, align 4 + %3 = load i32, i32* %egid, align 4 + %cmp4 = icmp eq i32 %2, %3 + br i1 %cmp4, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__check_one_fd(i32 %fd, i32 %mode) #0 { +entry: + %fd.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %st = alloca %struct.stat.192, align 8 + %nullfd = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 (i32, i32, ...) @fcntl(i32 %0, i32 1) #18 + %cmp = icmp eq i32 %call, -1 + br i1 %cmp, label %land.rhs, label %land.end + +land.rhs: ; preds = %entry + %call1 = call i32* @__errno_location() #21 + %1 = load i32, i32* %call1, align 4 + %cmp2 = icmp eq i32 %1, 9 + br label %land.end + +land.end: ; preds = %land.rhs, %entry + %2 = phi i1 [ false, %entry ], [ %cmp2, %land.rhs ] + %lnot = xor i1 %2, true + %lnot3 = xor i1 %lnot, true + %lnot.ext = zext i1 %lnot3 to i32 + %conv = sext i32 %lnot.ext to i64 + %tobool = icmp ne i64 %conv, 0 + br i1 %tobool, label %if.then, label %if.end17 + +if.then: ; preds = %land.end + %3 = load i32, i32* %mode.addr, align 4 + %call4 = call i32 (i8*, i32, ...) @open(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.1, i64 0, i64 0), i32 %3) #18 + store i32 %call4, i32* %nullfd, align 4 + %4 = load i32, i32* %nullfd, align 4 + %5 = load i32, i32* %fd.addr, align 4 + %cmp5 = icmp ne i32 %4, %5 + br i1 %cmp5, label %if.then16, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then + %6 = load i32, i32* %fd.addr, align 4 + %call7 = call i32 bitcast (i32 (i32, %struct.stat64*)* @fstat to i32 (i32, %struct.stat.192*)*)(i32 %6, %struct.stat.192* %st) #19 + %tobool8 = icmp ne i32 %call7, 0 + br i1 %tobool8, label %if.then16, label %lor.lhs.false9 + +lor.lhs.false9: ; preds = %lor.lhs.false + %st_mode = getelementptr inbounds %struct.stat.192, %struct.stat.192* %st, i32 0, i32 3 + %7 = load i32, i32* %st_mode, align 8 + %and = and i32 %7, 61440 + %cmp10 = icmp eq i32 %and, 8192 + br i1 %cmp10, label %lor.lhs.false12, label %if.then16 + +lor.lhs.false12: ; preds = %lor.lhs.false9 + %st_rdev = getelementptr inbounds %struct.stat.192, %struct.stat.192* %st, i32 0, i32 7 + %8 = load i64, i64* %st_rdev, align 8 + %call13 = call i64 @gnu_dev_makedev.170(i32 1, i32 3) #19 + %cmp14 = icmp ne i64 %8, %call13 + br i1 %cmp14, label %if.then16, label %if.end17 + +if.then16: ; preds = %lor.lhs.false12, %lor.lhs.false9, %lor.lhs.false, %if.then + call void @abort() #22 + unreachable + +if.end17: ; preds = %lor.lhs.false12, %land.end + ret void +} + +; Function Attrs: nounwind +declare i32 @getuid() #2 + +; Function Attrs: nounwind +declare i32 @geteuid() #2 + +; Function Attrs: nounwind +declare i32 @getgid() #2 + +; Function Attrs: nounwind +declare i32 @getegid() #2 + +; Function Attrs: noinline nounwind uwtable +define internal i64 @gnu_dev_makedev.170(i32 %__major, i32 %__minor) #0 { +entry: + %__major.addr = alloca i32, align 4 + %__minor.addr = alloca i32, align 4 + store i32 %__major, i32* %__major.addr, align 4 + store i32 %__minor, i32* %__minor.addr, align 4 + %0 = load i32, i32* %__minor.addr, align 4 + %and = and i32 %0, 255 + %1 = load i32, i32* %__major.addr, align 4 + %and1 = and i32 %1, 4095 + %shl = shl i32 %and1, 8 + %or = or i32 %and, %shl + %conv = zext i32 %or to i64 + %2 = load i32, i32* %__minor.addr, align 4 + %and2 = and i32 %2, -256 + %conv3 = zext i32 %and2 to i64 + %shl4 = shl i64 %conv3, 12 + %or5 = or i64 %conv, %shl4 + %3 = load i32, i32* %__major.addr, align 4 + %and6 = and i32 %3, -4096 + %conv7 = zext i32 %and6 to i64 + %shl8 = shl i64 %conv7, 32 + %or9 = or i64 %or5, %shl8 + ret i64 %or9 +} + +define i32 @main(i32 %argc, i8** %argv) { +entry: + call void @__uClibc_main(i32 (i32, i8**, i8**)* @__user_main, i32 %argc, i8** %argv, void ()* null, void ()* null, void ()* null, i8* null) + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define i32 @siggetmask() #0 { +entry: + %call = call i32 @sigblock(i32 0) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i64 @__fpending(%struct.__STDIO_FILE_STRUCT.513* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.513*, align 8 + store %struct.__STDIO_FILE_STRUCT.513* %stream, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.513*, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.513, %struct.__STDIO_FILE_STRUCT.513* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %cond.true, label %cond.end + +cond.true: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.513*, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.513, %struct.__STDIO_FILE_STRUCT.513* %2, i32 0, i32 5 + %3 = load i8*, i8** %__bufpos, align 8 + %4 = load %struct.__STDIO_FILE_STRUCT.513*, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.513, %struct.__STDIO_FILE_STRUCT.513* %4, i32 0, i32 3 + %5 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %3 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + br label %cond.end + +cond.end: ; preds = %entry, %cond.true + %cond = phi i64 [ %sub.ptr.sub, %cond.true ], [ 0, %entry ] + ret i64 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i8* @gets(i8* %s) #0 { +entry: + %s.addr = alloca i8*, align 8 + %p = alloca i8*, align 8 + %c = alloca i32, align 4 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %call = call i32 @getchar_unlocked() #18 + store i32 %call, i32* %c, align 4 + %cmp = icmp ne i32 %call, -1 + br i1 %cmp, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %1 = load i32, i32* %c, align 4 + %conv = trunc i32 %1 to i8 + %2 = load i8*, i8** %p, align 8 + store i8 %conv, i8* %2, align 1 + %conv1 = sext i8 %conv to i32 + %cmp2 = icmp ne i32 %conv1, 10 + br i1 %cmp2, label %while.body, label %while.end + +while.body: ; preds = %land.rhs + %3 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + br label %while.cond + +while.end: ; preds = %while.cond, %land.rhs + %4 = load i32, i32* %c, align 4 + %cmp4 = icmp eq i32 %4, -1 + br i1 %cmp4, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.end + %5 = load i8*, i8** %s.addr, align 8 + %6 = load i8*, i8** %p, align 8 + %cmp6 = icmp eq i8* %5, %6 + br i1 %cmp6, label %if.then, label %if.else + +if.then: ; preds = %lor.lhs.false, %while.end + store i8* null, i8** %s.addr, align 8 + br label %if.end + +if.else: ; preds = %lor.lhs.false + %7 = load i8*, i8** %p, align 8 + store i8 0, i8* %7, align 1 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %8 = load i8*, i8** %s.addr, align 8 + ret i8* %8 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @tmpnam(i8* %s) #0 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %tmpbufmem = alloca [20 x i8], align 16 + %tmpbuf = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %tobool = icmp ne i8* %0, null + %arraydecay = getelementptr inbounds [20 x i8], [20 x i8]* %tmpbufmem, i64 0, i64 0 + %cond = select i1 %tobool, i8* %0, i8* %arraydecay + store i8* %cond, i8** %tmpbuf, align 8 + %1 = load i8*, i8** %tmpbuf, align 8 + %call = call i32 @___path_search(i8* %1, i64 20, i8* null, i8* null) #18 + %conv = sext i32 %call to i64 + %tobool1 = icmp ne i64 %conv, 0 + br i1 %tobool1, label %if.then, label %if.end + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %tmpbuf, align 8 + %call2 = call i32 @__gen_tempname(i8* %2, i32 3) #18 + %conv3 = sext i32 %call2 to i64 + %tobool4 = icmp ne i64 %conv3, 0 + br i1 %tobool4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end + store i8* null, i8** %retval, align 8 + br label %return + +if.end6: ; preds = %if.end + %3 = load i8*, i8** %s.addr, align 8 + %cmp = icmp eq i8* %3, null + br i1 %cmp, label %if.then8, label %if.end10 + +if.then8: ; preds = %if.end6 + %4 = load i8*, i8** %tmpbuf, align 8 + %call9 = call i8* @memcpy(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @tmpnam_buffer, i64 0, i64 0), i8* %4, i64 20) #19 + store i8* %call9, i8** %retval, align 8 + br label %return + +if.end10: ; preds = %if.end6 + %5 = load i8*, i8** %s.addr, align 8 + store i8* %5, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end10, %if.then8, %if.then5, %if.then + %6 = load i8*, i8** %retval, align 8 + ret i8* %6 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @mktemp(i8* nonnull %template) #0 { +entry: + %template.addr = alloca i8*, align 8 + store i8* %template, i8** %template.addr, align 8 + %0 = load i8*, i8** %template.addr, align 8 + %call = call i32 @__gen_tempname(i8* %0, i32 3) #18 + %cmp = icmp slt i32 %call, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load i8*, i8** %template.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + store i8 0, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then, %entry + %2 = load i8*, i8** %template.addr, align 8 + ret i8* %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @access(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %pathname.addr, align 8 + %call1 = call i8* @__concretize_string(i8* %2) + %3 = load i32, i32* %mode.addr, align 4 + %call2 = call i64 (i64, ...) @syscall(i64 21, i8* %call1, i32 %3) #11 + %conv = trunc i64 %call2 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.exe_disk_file_t* @__get_sym_file(i8* %pathname) #3 { +entry: + %retval = alloca %struct.exe_disk_file_t*, align 8 + %pathname.addr = alloca i8*, align 8 + %cwd = alloca [1024 x i8], align 16 + %cwd_len = alloca i64, align 8 + %c = alloca i8, align 1 + %i = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + %0 = load i8*, i8** %pathname.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %pathname.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %2 to i32 + %cmp = icmp eq i32 %conv, 47 + br i1 %cmp, label %if.then2, label %if.end29 + +if.then2: ; preds = %if.end + %3 = bitcast [1024 x i8]* %cwd to i8* + %4 = call i8* @memset(i8* %3, i32 0, i64 1024) + %arraydecay = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 0 + %call = call i8* @getcwd(i8* %arraydecay, i64 1024) #11 + %tobool3 = icmp ne i8* %call, null + br i1 %tobool3, label %if.then4, label %if.end29 + +if.then4: ; preds = %if.then2 + %arraydecay5 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 0 + %call6 = call i64 @strlen(i8* %arraydecay5) #23 + store i64 %call6, i64* %cwd_len, align 8 + %5 = load i64, i64* %cwd_len, align 8 + %cmp7 = icmp ugt i64 %5, 0 + br i1 %cmp7, label %land.lhs.true, label %if.end15 + +land.lhs.true: ; preds = %if.then4 + %6 = load i64, i64* %cwd_len, align 8 + %sub = sub i64 %6, 1 + %arrayidx9 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 %sub + %7 = load i8, i8* %arrayidx9, align 1 + %conv10 = sext i8 %7 to i32 + %cmp11 = icmp eq i32 %conv10, 47 + br i1 %cmp11, label %if.then13, label %if.end15 + +if.then13: ; preds = %land.lhs.true + %8 = load i64, i64* %cwd_len, align 8 + %dec = add i64 %8, -1 + store i64 %dec, i64* %cwd_len, align 8 + %arrayidx14 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 %dec + store i8 0, i8* %arrayidx14, align 1 + br label %if.end15 + +if.end15: ; preds = %if.then13, %land.lhs.true, %if.then4 + %9 = load i8*, i8** %pathname.addr, align 8 + %arraydecay16 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 0 + %10 = load i64, i64* %cwd_len, align 8 + %call17 = call i32 @strncmp(i8* %9, i8* %arraydecay16, i64 %10) #23 + %cmp18 = icmp eq i32 %call17, 0 + br i1 %cmp18, label %if.then20, label %if.end29 + +if.then20: ; preds = %if.end15 + %11 = load i8*, i8** %pathname.addr, align 8 + %12 = load i64, i64* %cwd_len, align 8 + %arrayidx21 = getelementptr inbounds i8, i8* %11, i64 %12 + %13 = load i8, i8* %arrayidx21, align 1 + %conv22 = sext i8 %13 to i32 + %cmp23 = icmp ne i32 %conv22, 0 + br i1 %cmp23, label %if.then25, label %if.end29 + +if.then25: ; preds = %if.then20 + %14 = load i64, i64* %cwd_len, align 8 + %add = add i64 %14, 1 + %15 = load i8*, i8** %pathname.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %15, i64 %add + store i8* %add.ptr, i8** %pathname.addr, align 8 + br label %if.end29 + +if.end29: ; preds = %if.then2, %if.then20, %if.then25, %if.end15, %if.end + %16 = load i8*, i8** %pathname.addr, align 8 + %arrayidx30 = getelementptr inbounds i8, i8* %16, i64 0 + %17 = load i8, i8* %arrayidx30, align 1 + store i8 %17, i8* %c, align 1 + %18 = load i8, i8* %c, align 1 + %conv31 = sext i8 %18 to i32 + %cmp32 = icmp eq i32 %conv31, 0 + br i1 %cmp32, label %if.then38, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end29 + %19 = load i8*, i8** %pathname.addr, align 8 + %arrayidx34 = getelementptr inbounds i8, i8* %19, i64 1 + %20 = load i8, i8* %arrayidx34, align 1 + %conv35 = sext i8 %20 to i32 + %cmp36 = icmp ne i32 %conv35, 0 + br i1 %cmp36, label %if.then38, label %if.end39 + +if.then38: ; preds = %lor.lhs.false, %if.end29 + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +if.end39: ; preds = %lor.lhs.false + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end39 + %21 = load i32, i32* %i, align 4 + %22 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %cmp40 = icmp ult i32 %21, %22 + br i1 %cmp40, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %23 = load i8, i8* %c, align 1 + %conv42 = sext i8 %23 to i32 + %24 = load i32, i32* %i, align 4 + %conv43 = trunc i32 %24 to i8 + %conv44 = sext i8 %conv43 to i32 + %add45 = add nsw i32 65, %conv44 + %cmp46 = icmp eq i32 %conv42, %add45 + br i1 %cmp46, label %if.then48, label %for.inc + +if.then48: ; preds = %for.body + %25 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %26 = load i32, i32* %i, align 4 + %idxprom = zext i32 %26 to i64 + %arrayidx49 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %25, i64 %idxprom + store %struct.exe_disk_file_t* %arrayidx49, %struct.exe_disk_file_t** %df, align 8 + %27 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %27, i32 0, i32 2 + %28 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %28, i32 0, i32 1 + %29 = load i64, i64* %st_ino, align 8 + %cmp50 = icmp eq i64 %29, 0 + br i1 %cmp50, label %if.then52, label %if.end53 + +if.then52: ; preds = %if.then48 + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +if.end53: ; preds = %if.then48 + %30 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + store %struct.exe_disk_file_t* %30, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +for.inc: ; preds = %for.body + %31 = load i32, i32* %i, align 4 + %inc = add i32 %31, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +return: ; preds = %for.end, %if.end53, %if.then52, %if.then38, %if.then + %32 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %retval, align 8 + ret %struct.exe_disk_file_t* %32 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @__concretize_string(i8* %s) #3 { +entry: + %s.addr = alloca i8*, align 8 + %sc = alloca i8*, align 8 + %i = alloca i32, align 4 + %c = alloca i8, align 1 + %cc = alloca i8, align 1 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %call = call i8* @__concretize_ptr(i8* %0) + store i8* %call, i8** %sc, align 8 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load i8*, i8** %sc, align 8 + %2 = load i8, i8* %1, align 1 + store i8 %2, i8* %c, align 1 + %3 = load i8, i8* %c, align 1 + %conv = sext i8 %3 to i64 + %call1 = call i32 @gs_is_symbolic(i64 %conv) + %tobool = icmp ne i32 %call1, 0 + br i1 %tobool, label %if.end4, label %if.then + +if.then: ; preds = %for.cond + %4 = load i8, i8* %c, align 1 + %tobool2 = icmp ne i8 %4, 0 + br i1 %tobool2, label %for.inc, label %for.end + +if.end4: ; preds = %for.cond + %5 = load i32, i32* %i, align 4 + %6 = load i32, i32* %i, align 4 + %sub = sub i32 %6, 1 + %and = and i32 %5, %sub + %tobool5 = icmp ne i32 %and, 0 + %7 = load i8, i8* %c, align 1 + br i1 %tobool5, label %if.else14, label %if.then6 + +if.then6: ; preds = %if.end4 + %tobool7 = icmp ne i8 %7, 0 + br i1 %tobool7, label %if.else, label %if.then8 + +if.then8: ; preds = %if.then6 + %8 = load i8*, i8** %sc, align 8 + store i8 0, i8* %8, align 1 + br label %for.end + +if.else: ; preds = %if.then6 + %9 = load i8, i8* %c, align 1 + %conv9 = sext i8 %9 to i32 + %cmp = icmp eq i32 %conv9, 47 + br i1 %cmp, label %if.then11, label %for.inc + +if.then11: ; preds = %if.else + %10 = load i8*, i8** %sc, align 8 + store i8 47, i8* %10, align 1 + br label %for.inc + +if.else14: ; preds = %if.end4 + %conv15 = sext i8 %7 to i64 + %call16 = call i64 @gs_get_valuel(i64 %conv15) + %conv17 = trunc i64 %call16 to i8 + store i8 %conv17, i8* %cc, align 1 + %11 = load i8, i8* %cc, align 1 + %conv18 = sext i8 %11 to i32 + %12 = load i8, i8* %c, align 1 + %conv19 = sext i8 %12 to i32 + %cmp20 = icmp eq i32 %conv18, %conv19 + call void @gs_assume(i1 zeroext %cmp20) + %13 = load i8, i8* %cc, align 1 + %14 = load i8*, i8** %sc, align 8 + store i8 %13, i8* %14, align 1 + %15 = load i8, i8* %cc, align 1 + %tobool22 = icmp ne i8 %15, 0 + br i1 %tobool22, label %for.inc, label %for.end + +for.inc: ; preds = %if.else, %if.then11, %if.else14, %if.then + %16 = load i32, i32* %i, align 4 + %inc = add i32 %16, 1 + store i32 %inc, i32* %i, align 4 + %17 = load i8*, i8** %sc, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %17, i32 1 + store i8* %incdec.ptr, i8** %sc, align 8 + br label %for.cond + +for.end: ; preds = %if.else14, %if.then, %if.then8 + %18 = load i8*, i8** %s.addr, align 8 + ret i8* %18 +} + +; Function Attrs: nounwind +declare dso_local i64 @syscall(i64, ...) #4 + +; Function Attrs: noinline nounwind uwtable +define internal i8* @__concretize_ptr(i8* %p) #3 { +entry: + %p.addr = alloca i8*, align 8 + store i8* %p, i8** %p.addr, align 8 + %0 = load i8*, i8** %p.addr, align 8 + %1 = ptrtoint i8* %0 to i64 + %call = call i32 @gs_is_symbolic(i64 %1) + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @gs_report_error(i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 1386, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.27, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.28, i64 0, i64 0)) #24 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %p.addr, align 8 + ret i8* %2 +} + +declare dso_local i32 @gs_is_symbolic(i64) #5 + +declare dso_local i64 @gs_get_valuel(i64) #5 + +declare dso_local void @gs_assume(i1 zeroext) #5 + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.25, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +declare dso_local void @print_string(i8*) #5 + +declare dso_local void @sym_print(i32, ...) #5 + +; Function Attrs: noreturn +declare dso_local void @stop(i32) #7 + +; Function Attrs: argmemonly nounwind willreturn writeonly +declare void @llvm.memset.p0i8.i64(i8* nocapture writeonly, i8, i64, i1 immarg) #8 + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @getcwd(i8* %buf, i64 %size) #3 { +entry: + %retval = alloca i8*, align 8 + %buf.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %r = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + %0 = load i32, i32* @getcwd.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @getcwd.n_calls, align 4 + %1 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool = icmp ne i32 %1, 0 + br i1 %tobool, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %2 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %3 = load i32, i32* %2, align 4 + %4 = load i32, i32* @getcwd.n_calls, align 4 + %cmp = icmp eq i32 %3, %4 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %5 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %5, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call = call i32* @__errno_location() #25 + store i32 34, i32* %call, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + %6 = load i8*, i8** %buf.addr, align 8 + %tobool1 = icmp ne i8* %6, null + br i1 %tobool1, label %if.else, label %if.then2 + +if.then2: ; preds = %if.end + store i64 1024, i64* %size.addr, align 8 + %7 = load i64, i64* %size.addr, align 8 + %call3 = call noalias i8* @malloc(i64 %7) #11 + store i8* %call3, i8** %buf.addr, align 8 + %8 = load i8*, i8** %buf.addr, align 8 + %tobool4 = icmp ne i8* %8, null + br i1 %tobool4, label %if.end12, label %if.then5 + +if.then5: ; preds = %if.then2 + %call6 = call i32* @__errno_location() #25 + store i32 12, i32* %call6, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.else: ; preds = %if.end + %9 = load i64, i64* %size.addr, align 8 + %tobool8 = icmp ne i64 %9, 0 + br i1 %tobool8, label %if.end12, label %if.then9 + +if.then9: ; preds = %if.else + %call10 = call i32* @__errno_location() #25 + store i32 22, i32* %call10, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end12: ; preds = %if.else, %if.then2 + %10 = load i8*, i8** %buf.addr, align 8 + %call13 = call i8* @__concretize_ptr(i8* %10) + store i8* %call13, i8** %buf.addr, align 8 + %11 = load i64, i64* %size.addr, align 8 + %call14 = call i64 @__concretize_size(i64 %11) + store i64 %call14, i64* %size.addr, align 8 + %12 = load i8*, i8** %buf.addr, align 8 + %13 = load i64, i64* %size.addr, align 8 + %call15 = call i64 (i64, ...) @syscall(i64 79, i8* %12, i64 %13) #11 + %conv = trunc i64 %call15 to i32 + store i32 %conv, i32* %r, align 4 + %14 = load i32, i32* %r, align 4 + %cmp16 = icmp eq i32 %14, -1 + br i1 %cmp16, label %if.then18, label %if.end19 + +if.then18: ; preds = %if.end12 + store i8* null, i8** %retval, align 8 + br label %return + +if.end19: ; preds = %if.end12 + %15 = load i8*, i8** %buf.addr, align 8 + store i8* %15, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end19, %if.then18, %if.then9, %if.then5, %if.then + %16 = load i8*, i8** %retval, align 8 + ret i8* %16 +} + +; Function Attrs: nounwind +declare dso_local noalias i8* @malloc(i64) #4 + +; Function Attrs: noinline nounwind uwtable +define internal i64 @__concretize_size(i64 %s) #3 { +entry: + %s.addr = alloca i64, align 8 + %sc = alloca i64, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %call = call i64 @gs_get_valuel(i64 %0) + store i64 %call, i64* %sc, align 8 + %1 = load i64, i64* %sc, align 8 + %2 = load i64, i64* %s.addr, align 8 + %cmp = icmp eq i64 %1, %2 + call void @gs_assume(i1 zeroext %cmp) + %3 = load i64, i64* %sc, align 8 + ret i64 %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @umask(i32 %mask) #3 { +entry: + %mask.addr = alloca i32, align 4 + %r = alloca i32, align 4 + store i32 %mask, i32* %mask.addr, align 4 + %0 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 1), align 8 + store i32 %0, i32* %r, align 4 + %1 = load i32, i32* %mask.addr, align 4 + %and = and i32 %1, 511 + store i32 %and, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 1), align 8 + %2 = load i32, i32* %r, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_open(i8* %pathname, i32 %flags, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %fd = alloca i32, align 4 + %os_fd = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + store i32 0, i32* %fd, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %0, 32 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %1 = load i32, i32* %fd, align 4 + %idxprom = sext i32 %1 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + %flags1 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %arrayidx, i32 0, i32 1 + %2 = load i32, i32* %flags1, align 4 + %and = and i32 %2, 1 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %for.inc, label %for.end + +for.inc: ; preds = %for.body + %3 = load i32, i32* %fd, align 4 + %inc = add nsw i32 %3, 1 + store i32 %inc, i32* %fd, align 4 + br label %for.cond + +for.end: ; preds = %for.body, %for.cond + %4 = load i32, i32* %fd, align 4 + %cmp2 = icmp eq i32 %4, 32 + br i1 %cmp2, label %if.then3, label %if.end4 + +if.then3: ; preds = %for.end + %call = call i32* @__errno_location() #25 + store i32 24, i32* %call, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %for.end + %5 = load i32, i32* %fd, align 4 + %idxprom5 = sext i32 %5 to i64 + %arrayidx6 = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom5 + store %struct.exe_file_t* %arrayidx6, %struct.exe_file_t** %f, align 8 + %6 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %7 = bitcast %struct.exe_file_t* %6 to i8* + %8 = call i8* @memset(i8* %7, i32 0, i64 24) + %9 = load i8*, i8** %pathname.addr, align 8 + %call7 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %9) + store %struct.exe_disk_file_t* %call7, %struct.exe_disk_file_t** %df, align 8 + %10 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %tobool8 = icmp ne %struct.exe_disk_file_t* %10, null + br i1 %tobool8, label %if.then9, label %if.else45 + +if.then9: ; preds = %if.end4 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %12 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %12, i32 0, i32 3 + store %struct.exe_disk_file_t* %11, %struct.exe_disk_file_t** %dfile, align 8 + %13 = load i32, i32* %flags.addr, align 4 + %and10 = and i32 %13, 64 + %tobool11 = icmp ne i32 %and10, 0 + br i1 %tobool11, label %land.lhs.true, label %if.end16 + +land.lhs.true: ; preds = %if.then9 + %14 = load i32, i32* %flags.addr, align 4 + %and12 = and i32 %14, 128 + %tobool13 = icmp ne i32 %and12, 0 + br i1 %tobool13, label %if.then14, label %if.end16 + +if.then14: ; preds = %land.lhs.true + %call15 = call i32* @__errno_location() #25 + store i32 17, i32* %call15, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end16: ; preds = %land.lhs.true, %if.then9 + %15 = load i32, i32* %flags.addr, align 4 + %and17 = and i32 %15, 512 + %tobool18 = icmp ne i32 %and17, 0 + br i1 %tobool18, label %land.lhs.true19, label %if.end24 + +land.lhs.true19: ; preds = %if.end16 + %16 = load i32, i32* %flags.addr, align 4 + %and20 = and i32 %16, 0 + %tobool21 = icmp ne i32 %and20, 0 + br i1 %tobool21, label %if.then22, label %if.end24 + +if.then22: ; preds = %land.lhs.true19 + call void @gs_warning(i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.5, i64 0, i64 0)) + %call23 = call i32* @__errno_location() #25 + store i32 13, i32* %call23, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end24: ; preds = %land.lhs.true19, %if.end16 + %17 = load i32, i32* %flags.addr, align 4 + %and25 = and i32 %17, 128 + %tobool26 = icmp ne i32 %and25, 0 + br i1 %tobool26, label %land.lhs.true27, label %if.end32 + +land.lhs.true27: ; preds = %if.end24 + %18 = load i32, i32* %flags.addr, align 4 + %and28 = and i32 %18, 64 + %tobool29 = icmp ne i32 %and28, 0 + br i1 %tobool29, label %if.end32, label %if.then30 + +if.then30: ; preds = %land.lhs.true27 + call void @gs_warning(i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.1.6, i64 0, i64 0)) + %call31 = call i32* @__errno_location() #25 + store i32 13, i32* %call31, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end32: ; preds = %land.lhs.true27, %if.end24 + %19 = load i32, i32* %flags.addr, align 4 + %20 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %20, i32 0, i32 2 + %21 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %call33 = call i32 @has_permission(i32 %19, %struct.stat64* %21) + %tobool34 = icmp ne i32 %call33, 0 + br i1 %tobool34, label %if.else, label %if.then35 + +if.then35: ; preds = %if.end32 + %call36 = call i32* @__errno_location() #25 + store i32 13, i32* %call36, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.end32 + %22 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile37 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %22, i32 0, i32 3 + %23 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile37, align 8 + %stat38 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %23, i32 0, i32 2 + %24 = load %struct.stat64*, %struct.stat64** %stat38, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %24, i32 0, i32 3 + %25 = load i32, i32* %st_mode, align 8 + %and39 = and i32 %25, -512 + %26 = load i32, i32* %mode.addr, align 4 + %27 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 1), align 8 + %neg = xor i32 %27, -1 + %and40 = and i32 %26, %neg + %or = or i32 %and39, %and40 + %28 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile41 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %28, i32 0, i32 3 + %29 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile41, align 8 + %stat42 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %29, i32 0, i32 2 + %30 = load %struct.stat64*, %struct.stat64** %stat42, align 8 + %st_mode43 = getelementptr inbounds %struct.stat64, %struct.stat64* %30, i32 0, i32 3 + store i32 %or, i32* %st_mode43, align 8 + br label %if.end53 + +if.else45: ; preds = %if.end4 + %31 = load i8*, i8** %pathname.addr, align 8 + %call46 = call i8* @__concretize_string(i8* %31) + %32 = load i32, i32* %flags.addr, align 4 + %33 = load i32, i32* %mode.addr, align 4 + %call47 = call i64 (i64, ...) @syscall(i64 2, i8* %call46, i32 %32, i32 %33) #11 + %conv = trunc i64 %call47 to i32 + store i32 %conv, i32* %os_fd, align 4 + %34 = load i32, i32* %os_fd, align 4 + %cmp48 = icmp eq i32 %34, -1 + br i1 %cmp48, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.else45 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end51: ; preds = %if.else45 + %35 = load i32, i32* %os_fd, align 4 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd52 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 0 + store i32 %35, i32* %fd52, align 8 + br label %if.end53 + +if.end53: ; preds = %if.end51, %if.else + %37 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %37, i32 0, i32 1 + store i32 1, i32* %flags54, align 4 + %38 = load i32, i32* %flags.addr, align 4 + %and55 = and i32 %38, 3 + %cmp56 = icmp eq i32 %and55, 0 + br i1 %cmp56, label %if.then58, label %if.else61 + +if.then58: ; preds = %if.end53 + %39 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags59 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %39, i32 0, i32 1 + %40 = load i32, i32* %flags59, align 4 + %or60 = or i32 %40, 4 + store i32 %or60, i32* %flags59, align 4 + br label %if.end72 + +if.else61: ; preds = %if.end53 + %41 = load i32, i32* %flags.addr, align 4 + %and62 = and i32 %41, 3 + %cmp63 = icmp eq i32 %and62, 1 + %42 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags66 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %42, i32 0, i32 1 + %43 = load i32, i32* %flags66, align 4 + br i1 %cmp63, label %if.then65, label %if.else68 + +if.then65: ; preds = %if.else61 + %or67 = or i32 %43, 8 + store i32 %or67, i32* %flags66, align 4 + br label %if.end72 + +if.else68: ; preds = %if.else61 + %or70 = or i32 %43, 12 + store i32 %or70, i32* %flags66, align 4 + br label %if.end72 + +if.end72: ; preds = %if.then65, %if.else68, %if.then58 + %44 = load i32, i32* %fd, align 4 + store i32 %44, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end72, %if.then50, %if.then35, %if.then30, %if.then22, %if.then14, %if.then3 + %45 = load i32, i32* %retval, align 4 + ret i32 %45 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @gs_warning(i8* %message) #3 { +entry: + %message.addr = alloca i8*, align 8 + store i8* %message, i8** %message.addr, align 8 + %0 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %0) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.25, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @has_permission(i32 %flags, %struct.stat64* %s) #3 { +entry: + %retval = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %s.addr = alloca %struct.stat64*, align 8 + %write_access = alloca i32, align 4 + %read_access = alloca i32, align 4 + %mode = alloca i32, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store %struct.stat64* %s, %struct.stat64** %s.addr, align 8 + %0 = load %struct.stat64*, %struct.stat64** %s.addr, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %0, i32 0, i32 3 + %1 = load i32, i32* %st_mode, align 8 + store i32 %1, i32* %mode, align 4 + %2 = load i32, i32* %flags.addr, align 4 + %and = and i32 %2, 0 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %3 = load i32, i32* %flags.addr, align 4 + %and1 = and i32 %3, 2 + %tobool2 = icmp ne i32 %and1, 0 + br i1 %tobool2, label %if.then, label %if.else + +if.then: ; preds = %lor.lhs.false, %entry + store i32 1, i32* %read_access, align 4 + br label %if.end + +if.else: ; preds = %lor.lhs.false + store i32 0, i32* %read_access, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %4 = load i32, i32* %flags.addr, align 4 + %and3 = and i32 %4, 1 + %tobool4 = icmp ne i32 %and3, 0 + br i1 %tobool4, label %if.then8, label %lor.lhs.false5 + +lor.lhs.false5: ; preds = %if.end + %5 = load i32, i32* %flags.addr, align 4 + %and6 = and i32 %5, 2 + %tobool7 = icmp ne i32 %and6, 0 + br i1 %tobool7, label %if.then8, label %if.else9 + +if.then8: ; preds = %lor.lhs.false5, %if.end + store i32 1, i32* %write_access, align 4 + br label %if.end10 + +if.else9: ; preds = %lor.lhs.false5 + store i32 0, i32* %write_access, align 4 + br label %if.end10 + +if.end10: ; preds = %if.else9, %if.then8 + %6 = load i32, i32* %read_access, align 4 + %tobool11 = icmp ne i32 %6, 0 + br i1 %tobool11, label %land.lhs.true, label %if.end18 + +land.lhs.true: ; preds = %if.end10 + %7 = load i32, i32* %mode, align 4 + %and12 = and i32 %7, 256 + %8 = load i32, i32* %mode, align 4 + %and13 = and i32 %8, 32 + %or = or i32 %and12, %and13 + %9 = load i32, i32* %mode, align 4 + %and14 = and i32 %9, 4 + %or15 = or i32 %or, %and14 + %tobool16 = icmp ne i32 %or15, 0 + br i1 %tobool16, label %if.then17, label %if.end18 + +if.then17: ; preds = %land.lhs.true + store i32 0, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %land.lhs.true, %if.end10 + %10 = load i32, i32* %write_access, align 4 + %tobool19 = icmp ne i32 %10, 0 + br i1 %tobool19, label %land.lhs.true20, label %if.end28 + +land.lhs.true20: ; preds = %if.end18 + %11 = load i32, i32* %mode, align 4 + %and21 = and i32 %11, 128 + %12 = load i32, i32* %mode, align 4 + %and22 = and i32 %12, 16 + %or23 = or i32 %and21, %and22 + %13 = load i32, i32* %mode, align 4 + %and24 = and i32 %13, 2 + %or25 = or i32 %or23, %and24 + %tobool26 = icmp ne i32 %or25, 0 + br i1 %tobool26, label %if.end28, label %if.then27 + +if.then27: ; preds = %land.lhs.true20 + store i32 0, i32* %retval, align 4 + br label %return + +if.end28: ; preds = %land.lhs.true20, %if.end18 + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end28, %if.then27, %if.then17 + %14 = load i32, i32* %retval, align 4 + ret i32 %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_openat(i32 %basefd, i8* %pathname, i32 %flags, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %basefd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %fd = alloca i32, align 4 + %bf = alloca %struct.exe_file_t*, align 8 + %os_fd = alloca i32, align 4 + store i32 %basefd, i32* %basefd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %basefd.addr, align 4 + %cmp = icmp ne i32 %0, -100 + br i1 %cmp, label %if.then, label %if.end8 + +if.then: ; preds = %entry + %1 = load i32, i32* %basefd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %bf, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %bf, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.else, label %if.then1 + +if.then1: ; preds = %if.then + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %bf, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 3 + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool3 = icmp ne %struct.exe_disk_file_t* %4, null + br i1 %tobool3, label %if.then4, label %if.end6 + +if.then4: ; preds = %if.else + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0)) + %call5 = call i32* @__errno_location() #25 + store i32 2, i32* %call5, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.else + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %bf, align 8 + %fd7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd7, align 8 + store i32 %6, i32* %basefd.addr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end6, %entry + %7 = load i8*, i8** %pathname.addr, align 8 + %call9 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %7) + %tobool10 = icmp ne %struct.exe_disk_file_t* %call9, null + br i1 %tobool10, label %if.then11, label %if.end13 + +if.then11: ; preds = %if.end8 + %8 = load i8*, i8** %pathname.addr, align 8 + %9 = load i32, i32* %flags.addr, align 4 + %10 = load i32, i32* %mode.addr, align 4 + %call12 = call i32 @__fd_open(i8* %8, i32 %9, i32 %10) + store i32 %call12, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.end8 + store i32 0, i32* %fd, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end13 + %11 = load i32, i32* %fd, align 4 + %cmp14 = icmp slt i32 %11, 32 + br i1 %cmp14, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %12 = load i32, i32* %fd, align 4 + %idxprom = sext i32 %12 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + %flags15 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %arrayidx, i32 0, i32 1 + %13 = load i32, i32* %flags15, align 4 + %and = and i32 %13, 1 + %tobool16 = icmp ne i32 %and, 0 + br i1 %tobool16, label %for.inc, label %for.end + +for.inc: ; preds = %for.body + %14 = load i32, i32* %fd, align 4 + %inc = add nsw i32 %14, 1 + store i32 %inc, i32* %fd, align 4 + br label %for.cond + +for.end: ; preds = %for.body, %for.cond + %15 = load i32, i32* %fd, align 4 + %cmp19 = icmp eq i32 %15, 32 + br i1 %cmp19, label %if.then20, label %if.end22 + +if.then20: ; preds = %for.end + %call21 = call i32* @__errno_location() #25 + store i32 24, i32* %call21, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end22: ; preds = %for.end + %16 = load i32, i32* %fd, align 4 + %idxprom23 = sext i32 %16 to i64 + %arrayidx24 = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom23 + store %struct.exe_file_t* %arrayidx24, %struct.exe_file_t** %f, align 8 + %17 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %18 = bitcast %struct.exe_file_t* %17 to i8* + %19 = call i8* @memset(i8* %18, i32 0, i64 24) + %20 = load i32, i32* %basefd.addr, align 4 + %conv = sext i32 %20 to i64 + %21 = load i8*, i8** %pathname.addr, align 8 + %call25 = call i8* @__concretize_string(i8* %21) + %22 = load i32, i32* %flags.addr, align 4 + %conv26 = sext i32 %22 to i64 + %23 = load i32, i32* %mode.addr, align 4 + %call27 = call i64 (i64, ...) @syscall(i64 257, i64 %conv, i8* %call25, i64 %conv26, i32 %23) #11 + %conv28 = trunc i64 %call27 to i32 + store i32 %conv28, i32* %os_fd, align 4 + %24 = load i32, i32* %os_fd, align 4 + %cmp29 = icmp eq i32 %24, -1 + br i1 %cmp29, label %if.then31, label %if.end32 + +if.then31: ; preds = %if.end22 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end32: ; preds = %if.end22 + %25 = load i32, i32* %os_fd, align 4 + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd33 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 0 + store i32 %25, i32* %fd33, align 8 + %27 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags34 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %27, i32 0, i32 1 + store i32 1, i32* %flags34, align 4 + %28 = load i32, i32* %flags.addr, align 4 + %and35 = and i32 %28, 3 + %cmp36 = icmp eq i32 %and35, 0 + br i1 %cmp36, label %if.then38, label %if.else40 + +if.then38: ; preds = %if.end32 + %29 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags39 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %29, i32 0, i32 1 + %30 = load i32, i32* %flags39, align 4 + %or = or i32 %30, 4 + store i32 %or, i32* %flags39, align 4 + br label %if.end51 + +if.else40: ; preds = %if.end32 + %31 = load i32, i32* %flags.addr, align 4 + %and41 = and i32 %31, 3 + %cmp42 = icmp eq i32 %and41, 1 + %32 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags45 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %32, i32 0, i32 1 + %33 = load i32, i32* %flags45, align 4 + br i1 %cmp42, label %if.then44, label %if.else47 + +if.then44: ; preds = %if.else40 + %or46 = or i32 %33, 8 + store i32 %or46, i32* %flags45, align 4 + br label %if.end51 + +if.else47: ; preds = %if.else40 + %or49 = or i32 %33, 12 + store i32 %or49, i32* %flags45, align 4 + br label %if.end51 + +if.end51: ; preds = %if.then44, %if.else47, %if.then38 + %34 = load i32, i32* %fd, align 4 + store i32 %34, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end51, %if.then31, %if.then20, %if.then11, %if.then4, %if.then1 + %35 = load i32, i32* %retval, align 4 + ret i32 %35 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.exe_file_t* @__get_file(i32 %fd) #3 { +entry: + %retval = alloca %struct.exe_file_t*, align 8 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %cmp = icmp sge i32 %0, 0 + %1 = load i32, i32* %fd.addr, align 4 + %cmp1 = icmp slt i32 %1, 32 + %or.cond = and i1 %cmp, %cmp1 + br i1 %or.cond, label %if.then, label %if.end3 + +if.then: ; preds = %entry + %2 = load i32, i32* %fd.addr, align 4 + %idxprom = sext i32 %2 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + store %struct.exe_file_t* %arrayidx, %struct.exe_file_t** %f, align 8 + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 1 + %4 = load i32, i32* %flags, align 4 + %and = and i32 %4, 1 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.then + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + store %struct.exe_file_t* %5, %struct.exe_file_t** %retval, align 8 + br label %return + +if.end3: ; preds = %if.then, %entry + store %struct.exe_file_t* null, %struct.exe_file_t** %retval, align 8 + br label %return + +return: ; preds = %if.end3, %if.then2 + %6 = load %struct.exe_file_t*, %struct.exe_file_t** %retval, align 8 + ret %struct.exe_file_t* %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @utimes(i8* nonnull %path, %struct.timespec* %times) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %times.addr = alloca %struct.timespec*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + %newTimes = alloca [2 x %struct.timespec], align 16 + store i8* %path, i8** %path.addr, align 8 + store %struct.timespec* %times, %struct.timespec** %times.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end12 + +if.then: ; preds = %entry + %2 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %tobool1 = icmp ne %struct.timespec* %2, null + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + %arrayidx = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 0 + %call3 = call i32 @gettimeofday(%struct.timespec* %arrayidx, i8* null) #11 + %arrayidx4 = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 1 + %arrayidx5 = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 0 + %3 = bitcast %struct.timespec* %arrayidx4 to i8* + %4 = bitcast %struct.timespec* %arrayidx5 to i8* + %5 = call i8* @memcpy(i8* %3, i8* %4, i64 16) + %arraydecay = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 0 + store %struct.timespec* %arraydecay, %struct.timespec** %times.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %6 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %arrayidx6 = getelementptr inbounds %struct.timespec, %struct.timespec* %6, i64 0 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %arrayidx6, i32 0, i32 0 + %7 = load i64, i64* %tv_sec, align 8 + %8 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %8, i32 0, i32 2 + %9 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_atim = getelementptr inbounds %struct.stat64, %struct.stat64* %9, i32 0, i32 11 + %tv_sec7 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim, i32 0, i32 0 + store i64 %7, i64* %tv_sec7, align 8 + %10 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %arrayidx8 = getelementptr inbounds %struct.timespec, %struct.timespec* %10, i64 1 + %tv_sec9 = getelementptr inbounds %struct.timespec, %struct.timespec* %arrayidx8, i32 0, i32 0 + %11 = load i64, i64* %tv_sec9, align 8 + %12 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat10 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %12, i32 0, i32 2 + %13 = load %struct.stat64*, %struct.stat64** %stat10, align 8 + %st_mtim = getelementptr inbounds %struct.stat64, %struct.stat64* %13, i32 0, i32 12 + %tv_sec11 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim, i32 0, i32 0 + store i64 %11, i64* %tv_sec11, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.end12: ; preds = %entry + %14 = load i8*, i8** %path.addr, align 8 + %call13 = call i8* @__concretize_string(i8* %14) + %15 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %call14 = call i64 (i64, ...) @syscall(i64 235, i8* %call13, %struct.timespec* %15) #11 + %conv = trunc i64 %call14 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end12, %if.end + %16 = load i32, i32* %retval, align 4 + ret i32 %16 +} + +; Function Attrs: nounwind +declare dso_local i32 @gettimeofday(%struct.timespec*, i8*) #4 + +; Function Attrs: argmemonly nounwind willreturn +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* noalias nocapture writeonly, i8* noalias nocapture readonly, i64, i1 immarg) #9 + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @futimesat(i32 %fd, i8* %path, %struct.timespec* %times) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %times.addr = alloca %struct.timespec*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.timespec* %times, %struct.timespec** %times.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %cmp = icmp ne i32 %0, -100 + br i1 %cmp, label %if.then, label %if.end8 + +if.then: ; preds = %entry + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.else, label %if.then1 + +if.then1: ; preds = %if.then + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 3 + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool3 = icmp ne %struct.exe_disk_file_t* %4, null + br i1 %tobool3, label %if.then4, label %if.end6 + +if.then4: ; preds = %if.else + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0)) + %call5 = call i32* @__errno_location() #25 + store i32 2, i32* %call5, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.else + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd7, align 8 + store i32 %6, i32* %fd.addr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end6, %entry + %7 = load i8*, i8** %path.addr, align 8 + %call9 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %7) + %tobool10 = icmp ne %struct.exe_disk_file_t* %call9, null + br i1 %tobool10, label %if.then11, label %if.end13 + +if.then11: ; preds = %if.end8 + %8 = load i8*, i8** %path.addr, align 8 + %9 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %call12 = call i32 @utimes(i8* %8, %struct.timespec* %9) #11 + store i32 %call12, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.end8 + %10 = load i32, i32* %fd.addr, align 4 + %conv = sext i32 %10 to i64 + %11 = load i8*, i8** %path.addr, align 8 + %tobool14 = icmp ne i8* %11, null + br i1 %tobool14, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end13 + %12 = load i8*, i8** %path.addr, align 8 + %call15 = call i8* @__concretize_string(i8* %12) + br label %cond.end + +cond.end: ; preds = %if.end13, %cond.true + %cond = phi i8* [ %call15, %cond.true ], [ null, %if.end13 ] + %13 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %call16 = call i64 (i64, ...) @syscall(i64 261, i64 %conv, i8* %cond, %struct.timespec* %13) #11 + %conv17 = trunc i64 %call16 to i32 + store i32 %conv17, i32* %retval, align 4 + br label %return + +return: ; preds = %cond.end, %if.then11, %if.then4, %if.then1 + %14 = load i32, i32* %retval, align 4 + ret i32 %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @close(i32 %fd) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %r = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 0, i32* %r, align 4 + %0 = load i32, i32* @close.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @close.n_calls, align 4 + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @close.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %9 = bitcast %struct.exe_file_t* %8 to i8* + %10 = call i8* @memset(i8* %9, i32 0, i64 24) + %11 = load i32, i32* %r, align 4 + store i32 %11, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %12 = load i32, i32* %retval, align 4 + ret i32 %12 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @read(i32 %fd, i8* %buf, i64 %count) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %r = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + %0 = load i32, i32* @read.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @read.n_calls, align 4 + %1 = load i64, i64* %count.addr, align 8 + %cmp = icmp eq i64 %1, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i64 0, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %buf.addr, align 8 + %cmp1 = icmp eq i8* %2, null + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + %call = call i32* @__errno_location() #25 + store i32 14, i32* %call, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %3 = load i32, i32* %fd.addr, align 4 + %call4 = call %struct.exe_file_t* @__get_file(i32 %3) + store %struct.exe_file_t* %call4, %struct.exe_file_t** %f, align 8 + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %4, null + br i1 %tobool, label %if.end7, label %if.then5 + +if.then5: ; preds = %if.end3 + %call6 = call i32* @__errno_location() #25 + store i32 9, i32* %call6, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end7: ; preds = %if.end3 + %5 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool8 = icmp ne i32 %5, 0 + br i1 %tobool8, label %land.lhs.true, label %if.end12 + +land.lhs.true: ; preds = %if.end7 + %6 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %7 = load i32, i32* %6, align 4 + %8 = load i32, i32* @read.n_calls, align 4 + %cmp9 = icmp eq i32 %7, %8 + br i1 %cmp9, label %if.then10, label %if.end12 + +if.then10: ; preds = %land.lhs.true + %9 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %9, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call11 = call i32* @__errno_location() #25 + store i32 5, i32* %call11, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end12: ; preds = %land.lhs.true, %if.end7 + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 3 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool13 = icmp ne %struct.exe_disk_file_t* %11, null + br i1 %tobool13, label %if.else38, label %if.then14 + +if.then14: ; preds = %if.end12 + %12 = load i8*, i8** %buf.addr, align 8 + %call15 = call i8* @__concretize_ptr(i8* %12) + store i8* %call15, i8** %buf.addr, align 8 + %13 = load i64, i64* %count.addr, align 8 + %call16 = call i64 @__concretize_size(i64 %13) + store i64 %call16, i64* %count.addr, align 8 + %14 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd17 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %14, i32 0, i32 0 + %15 = load i32, i32* %fd17, align 8 + %cmp18 = icmp eq i32 %15, 0 + %16 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd20 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %16, i32 0, i32 0 + %17 = load i32, i32* %fd20, align 8 + %18 = load i8*, i8** %buf.addr, align 8 + %19 = load i64, i64* %count.addr, align 8 + br i1 %cmp18, label %if.then19, label %if.else + +if.then19: ; preds = %if.then14 + %call21 = call i64 (i64, ...) @syscall(i64 0, i32 %17, i8* %18, i64 %19) #11 + %conv = trunc i64 %call21 to i32 + store i32 %conv, i32* %r, align 4 + br label %if.end25 + +if.else: ; preds = %if.then14 + %20 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %20, i32 0, i32 2 + %21 = load i64, i64* %off, align 8 + %call23 = call i64 (i64, ...) @syscall(i64 17, i32 %17, i8* %18, i64 %19, i64 %21) #11 + %conv24 = trunc i64 %call23 to i32 + store i32 %conv24, i32* %r, align 4 + br label %if.end25 + +if.end25: ; preds = %if.else, %if.then19 + %22 = load i32, i32* %r, align 4 + %cmp26 = icmp eq i32 %22, -1 + br i1 %cmp26, label %if.then28, label %if.end29 + +if.then28: ; preds = %if.end25 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end29: ; preds = %if.end25 + %23 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd30 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %23, i32 0, i32 0 + %24 = load i32, i32* %fd30, align 8 + %cmp31 = icmp ne i32 %24, 0 + br i1 %cmp31, label %if.then33, label %if.end36 + +if.then33: ; preds = %if.end29 + %25 = load i32, i32* %r, align 4 + %conv34 = sext i32 %25 to i64 + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off35 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 2 + %27 = load i64, i64* %off35, align 8 + %add = add nsw i64 %27, %conv34 + store i64 %add, i64* %off35, align 8 + br label %if.end36 + +if.end36: ; preds = %if.then33, %if.end29 + %28 = load i32, i32* %r, align 4 + %conv37 = sext i32 %28 to i64 + store i64 %conv37, i64* %retval, align 8 + br label %return + +if.else38: ; preds = %if.end12 + %29 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off39 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %29, i32 0, i32 2 + %30 = load i64, i64* %off39, align 8 + %cmp40 = icmp sge i64 %30, 0 + br i1 %cmp40, label %if.end44, label %if.else43 + +if.else43: ; preds = %if.else38 + call void @__assert_fail(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.3, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 393, i8* getelementptr inbounds ([34 x i8], [34 x i8]* @__PRETTY_FUNCTION__.read, i64 0, i64 0)) #26 + unreachable + +if.end44: ; preds = %if.else38 + %31 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile45 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %31, i32 0, i32 3 + %32 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile45, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %32, i32 0, i32 0 + %33 = load i32, i32* %size, align 8 + %conv46 = zext i32 %33 to i64 + %34 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off47 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %34, i32 0, i32 2 + %35 = load i64, i64* %off47, align 8 + %cmp48 = icmp slt i64 %conv46, %35 + br i1 %cmp48, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.end44 + store i64 0, i64* %retval, align 8 + br label %return + +if.end51: ; preds = %if.end44 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off52 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 2 + %37 = load i64, i64* %off52, align 8 + %38 = load i64, i64* %count.addr, align 8 + %add53 = add i64 %37, %38 + %39 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %39, i32 0, i32 3 + %40 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile54, align 8 + %size55 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %40, i32 0, i32 0 + %41 = load i32, i32* %size55, align 8 + %conv56 = zext i32 %41 to i64 + %cmp57 = icmp ugt i64 %add53, %conv56 + br i1 %cmp57, label %if.then59, label %if.end64 + +if.then59: ; preds = %if.end51 + %42 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile60 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %42, i32 0, i32 3 + %43 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile60, align 8 + %size61 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %43, i32 0, i32 0 + %44 = load i32, i32* %size61, align 8 + %conv62 = zext i32 %44 to i64 + %45 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off63 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %45, i32 0, i32 2 + %46 = load i64, i64* %off63, align 8 + %sub = sub nsw i64 %conv62, %46 + store i64 %sub, i64* %count.addr, align 8 + br label %if.end64 + +if.end64: ; preds = %if.then59, %if.end51 + %47 = load i8*, i8** %buf.addr, align 8 + %48 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile65 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %48, i32 0, i32 3 + %49 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile65, align 8 + %contents = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %49, i32 0, i32 1 + %50 = load i8*, i8** %contents, align 8 + %51 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off66 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %51, i32 0, i32 2 + %52 = load i64, i64* %off66, align 8 + %add.ptr = getelementptr inbounds i8, i8* %50, i64 %52 + %53 = load i64, i64* %count.addr, align 8 + %54 = call i8* @memcpy(i8* %47, i8* %add.ptr, i64 %53) + %55 = load i64, i64* %count.addr, align 8 + %56 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off67 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %56, i32 0, i32 2 + %57 = load i64, i64* %off67, align 8 + %add68 = add i64 %57, %55 + store i64 %add68, i64* %off67, align 8 + %58 = load i64, i64* %count.addr, align 8 + store i64 %58, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end64, %if.then50, %if.end36, %if.then28, %if.then10, %if.then5, %if.then2, %if.then + %59 = load i64, i64* %retval, align 8 + ret i64 %59 +} + +; Function Attrs: noreturn nounwind +declare dso_local void @__assert_fail(i8*, i8*, i32, i8*) #10 + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @write(i32 %fd, i8* %buf, i64 %count) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %r = alloca i32, align 4 + %actual_count = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + %0 = load i32, i32* @write.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @write.n_calls, align 4 + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @write.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + br i1 %tobool6, label %if.else42, label %if.then7 + +if.then7: ; preds = %if.end5 + %10 = load i8*, i8** %buf.addr, align 8 + %call8 = call i8* @__concretize_ptr(i8* %10) + store i8* %call8, i8** %buf.addr, align 8 + %11 = load i64, i64* %count.addr, align 8 + %call9 = call i64 @__concretize_size(i64 %11) + store i64 %call9, i64* %count.addr, align 8 + %12 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd10 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %12, i32 0, i32 0 + %13 = load i32, i32* %fd10, align 8 + %cmp11 = icmp eq i32 %13, 1 + br i1 %cmp11, label %if.then14, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then7 + %14 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd12 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %14, i32 0, i32 0 + %15 = load i32, i32* %fd12, align 8 + %cmp13 = icmp eq i32 %15, 2 + br i1 %cmp13, label %if.then14, label %if.else + +if.then14: ; preds = %lor.lhs.false, %if.then7 + %16 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd15 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %16, i32 0, i32 0 + %17 = load i32, i32* %fd15, align 8 + %18 = load i8*, i8** %buf.addr, align 8 + %19 = load i64, i64* %count.addr, align 8 + %call16 = call i64 (i64, ...) @syscall(i64 1, i32 %17, i8* %18, i64 %19) #11 + %conv = trunc i64 %call16 to i32 + store i32 %conv, i32* %r, align 4 + br label %if.end20 + +if.else: ; preds = %lor.lhs.false + %20 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd17 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %20, i32 0, i32 0 + %21 = load i32, i32* %fd17, align 8 + %22 = load i8*, i8** %buf.addr, align 8 + %23 = load i64, i64* %count.addr, align 8 + %24 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %24, i32 0, i32 2 + %25 = load i64, i64* %off, align 8 + %call18 = call i64 (i64, ...) @syscall(i64 18, i32 %21, i8* %22, i64 %23, i64 %25) #11 + %conv19 = trunc i64 %call18 to i32 + store i32 %conv19, i32* %r, align 4 + br label %if.end20 + +if.end20: ; preds = %if.else, %if.then14 + %26 = load i32, i32* %r, align 4 + %cmp21 = icmp eq i32 %26, -1 + br i1 %cmp21, label %if.then23, label %if.end24 + +if.then23: ; preds = %if.end20 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end24: ; preds = %if.end20 + %27 = load i32, i32* %r, align 4 + %cmp25 = icmp sge i32 %27, 0 + br i1 %cmp25, label %if.end29, label %if.else28 + +if.else28: ; preds = %if.end24 + call void @__assert_fail(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.5.7, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 445, i8* getelementptr inbounds ([41 x i8], [41 x i8]* @__PRETTY_FUNCTION__.write, i64 0, i64 0)) #26 + unreachable + +if.end29: ; preds = %if.end24 + %28 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd30 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %28, i32 0, i32 0 + %29 = load i32, i32* %fd30, align 8 + %cmp31 = icmp ne i32 %29, 1 + br i1 %cmp31, label %land.lhs.true33, label %if.end40 + +land.lhs.true33: ; preds = %if.end29 + %30 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd34 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %30, i32 0, i32 0 + %31 = load i32, i32* %fd34, align 8 + %cmp35 = icmp ne i32 %31, 2 + br i1 %cmp35, label %if.then37, label %if.end40 + +if.then37: ; preds = %land.lhs.true33 + %32 = load i32, i32* %r, align 4 + %conv38 = sext i32 %32 to i64 + %33 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off39 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %33, i32 0, i32 2 + %34 = load i64, i64* %off39, align 8 + %add = add nsw i64 %34, %conv38 + store i64 %add, i64* %off39, align 8 + br label %if.end40 + +if.end40: ; preds = %if.then37, %land.lhs.true33, %if.end29 + %35 = load i32, i32* %r, align 4 + %conv41 = sext i32 %35 to i64 + store i64 %conv41, i64* %retval, align 8 + br label %return + +if.else42: ; preds = %if.end5 + store i64 0, i64* %actual_count, align 8 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off43 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 2 + %37 = load i64, i64* %off43, align 8 + %38 = load i64, i64* %count.addr, align 8 + %add44 = add i64 %37, %38 + %39 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile45 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %39, i32 0, i32 3 + %40 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile45, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %40, i32 0, i32 0 + %41 = load i32, i32* %size, align 8 + %conv46 = zext i32 %41 to i64 + %cmp47 = icmp ule i64 %add44, %conv46 + br i1 %cmp47, label %if.then49, label %if.else50 + +if.then49: ; preds = %if.else42 + %42 = load i64, i64* %count.addr, align 8 + store i64 %42, i64* %actual_count, align 8 + br label %if.end67 + +if.else50: ; preds = %if.else42 + %43 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 3), align 8 + %tobool51 = icmp ne i32 %43, 0 + br i1 %tobool51, label %if.then52, label %if.else53 + +if.then52: ; preds = %if.else50 + call void @__assert_fail(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.6, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 458, i8* getelementptr inbounds ([41 x i8], [41 x i8]* @__PRETTY_FUNCTION__.write, i64 0, i64 0)) #26 + unreachable + +if.else53: ; preds = %if.else50 + %44 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %44, i32 0, i32 2 + %45 = load i64, i64* %off54, align 8 + %46 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile55 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %46, i32 0, i32 3 + %47 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile55, align 8 + %size56 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %47, i32 0, i32 0 + %48 = load i32, i32* %size56, align 8 + %conv57 = zext i32 %48 to i64 + %cmp58 = icmp slt i64 %45, %conv57 + br i1 %cmp58, label %if.then60, label %if.end67 + +if.then60: ; preds = %if.else53 + %49 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile61 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %49, i32 0, i32 3 + %50 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile61, align 8 + %size62 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %50, i32 0, i32 0 + %51 = load i32, i32* %size62, align 8 + %conv63 = zext i32 %51 to i64 + %52 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off64 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %52, i32 0, i32 2 + %53 = load i64, i64* %off64, align 8 + %sub = sub nsw i64 %conv63, %53 + store i64 %sub, i64* %actual_count, align 8 + br label %if.end67 + +if.end67: ; preds = %if.then60, %if.else53, %if.then49 + %54 = load i64, i64* %actual_count, align 8 + %tobool68 = icmp ne i64 %54, 0 + br i1 %tobool68, label %if.then69, label %if.end72 + +if.then69: ; preds = %if.end67 + %55 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile70 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %55, i32 0, i32 3 + %56 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile70, align 8 + %contents = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %56, i32 0, i32 1 + %57 = load i8*, i8** %contents, align 8 + %58 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off71 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %58, i32 0, i32 2 + %59 = load i64, i64* %off71, align 8 + %add.ptr = getelementptr inbounds i8, i8* %57, i64 %59 + %60 = load i8*, i8** %buf.addr, align 8 + %61 = load i64, i64* %actual_count, align 8 + %62 = call i8* @memcpy(i8* %add.ptr, i8* %60, i64 %61) + br label %if.end72 + +if.end72: ; preds = %if.then69, %if.end67 + %63 = load i64, i64* %count.addr, align 8 + %64 = load i64, i64* %actual_count, align 8 + %cmp73 = icmp ne i64 %63, %64 + br i1 %cmp73, label %if.then75, label %if.end76 + +if.then75: ; preds = %if.end72 + call void @gs_warning(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.7, i64 0, i64 0)) + br label %if.end76 + +if.end76: ; preds = %if.then75, %if.end72 + %65 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile77 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %65, i32 0, i32 3 + %66 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile77, align 8 + %67 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + %cmp78 = icmp eq %struct.exe_disk_file_t* %66, %67 + br i1 %cmp78, label %if.then80, label %if.end84 + +if.then80: ; preds = %if.end76 + %68 = load i64, i64* %actual_count, align 8 + %69 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 3), align 8 + %conv81 = zext i32 %69 to i64 + %add82 = add i64 %conv81, %68 + %conv83 = trunc i64 %add82 to i32 + store i32 %conv83, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 3), align 8 + br label %if.end84 + +if.end84: ; preds = %if.then80, %if.end76 + %70 = load i64, i64* %count.addr, align 8 + %71 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off85 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %71, i32 0, i32 2 + %72 = load i64, i64* %off85, align 8 + %add86 = add i64 %72, %70 + store i64 %add86, i64* %off85, align 8 + %73 = load i64, i64* %count.addr, align 8 + store i64 %73, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end84, %if.end40, %if.then23, %if.then3, %if.then + %74 = load i64, i64* %retval, align 8 + ret i64 %74 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @__fd_lseek(i32 %fd, i64 %offset, i32 %whence) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + %new_off = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + %4 = load i32, i32* %whence.addr, align 4 + br i1 %tobool2, label %if.end24, label %if.then3 + +if.then3: ; preds = %if.end + %cmp = icmp eq i32 %4, 0 + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd5 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd5, align 8 + br i1 %cmp, label %if.then4, label %if.else + +if.then4: ; preds = %if.then3 + %7 = load i64, i64* %offset.addr, align 8 + %call6 = call i64 (i64, ...) @syscall(i64 8, i32 %6, i64 %7, i32 0) #11 + store i64 %call6, i64* %new_off, align 8 + br label %if.end19 + +if.else: ; preds = %if.then3 + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 2 + %9 = load i64, i64* %off, align 8 + %call8 = call i64 (i64, ...) @syscall(i64 8, i32 %6, i64 %9, i32 0) #11 + store i64 %call8, i64* %new_off, align 8 + %10 = load i64, i64* %new_off, align 8 + %cmp9 = icmp ne i64 %10, -1 + br i1 %cmp9, label %if.then10, label %if.end19 + +if.then10: ; preds = %if.else + %11 = load i64, i64* %new_off, align 8 + %12 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off11 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %12, i32 0, i32 2 + %13 = load i64, i64* %off11, align 8 + %cmp12 = icmp eq i64 %11, %13 + br i1 %cmp12, label %if.end15, label %if.else14 + +if.else14: ; preds = %if.then10 + call void @__assert_fail(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.8, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 504, i8* getelementptr inbounds ([38 x i8], [38 x i8]* @__PRETTY_FUNCTION__.__fd_lseek, i64 0, i64 0)) #26 + unreachable + +if.end15: ; preds = %if.then10 + %14 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd16 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %14, i32 0, i32 0 + %15 = load i32, i32* %fd16, align 8 + %16 = load i64, i64* %offset.addr, align 8 + %17 = load i32, i32* %whence.addr, align 4 + %call17 = call i64 (i64, ...) @syscall(i64 8, i32 %15, i64 %16, i32 %17) #11 + store i64 %call17, i64* %new_off, align 8 + br label %if.end19 + +if.end19: ; preds = %if.else, %if.end15, %if.then4 + %18 = load i64, i64* %new_off, align 8 + %cmp20 = icmp eq i64 %18, -1 + br i1 %cmp20, label %if.then21, label %if.end22 + +if.then21: ; preds = %if.end19 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end22: ; preds = %if.end19 + %19 = load i64, i64* %new_off, align 8 + %20 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off23 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %20, i32 0, i32 2 + store i64 %19, i64* %off23, align 8 + %21 = load i64, i64* %new_off, align 8 + store i64 %21, i64* %retval, align 8 + br label %return + +if.end24: ; preds = %if.end + br label %NodeBlock3 + +NodeBlock3: ; preds = %if.end24 + %case.cmp4 = icmp eq i32 %4, 0 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %4, 1 + br i1 %case.cmp2, label %sw.bb25, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %4, 2 + br i1 %case.cmp, label %sw.bb27, label %newDefault + +sw.bb: ; preds = %NodeBlock3 + %22 = load i64, i64* %offset.addr, align 8 + store i64 %22, i64* %new_off, align 8 + br label %sw.epilog + +sw.bb25: ; preds = %NodeBlock1 + %23 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off26 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %23, i32 0, i32 2 + %24 = load i64, i64* %off26, align 8 + %25 = load i64, i64* %offset.addr, align 8 + %add = add nsw i64 %24, %25 + store i64 %add, i64* %new_off, align 8 + br label %sw.epilog + +sw.bb27: ; preds = %NodeBlock + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile28 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 3 + %27 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile28, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %27, i32 0, i32 0 + %28 = load i32, i32* %size, align 8 + %conv = zext i32 %28 to i64 + %29 = load i64, i64* %offset.addr, align 8 + %add29 = add nsw i64 %conv, %29 + store i64 %add29, i64* %new_off, align 8 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + %call30 = call i32* @__errno_location() #25 + store i32 22, i32* %call30, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +sw.epilog: ; preds = %sw.bb27, %sw.bb25, %sw.bb + %30 = load i64, i64* %new_off, align 8 + %cmp31 = icmp slt i64 %30, 0 + br i1 %cmp31, label %if.then33, label %if.end35 + +if.then33: ; preds = %sw.epilog + %call34 = call i32* @__errno_location() #25 + store i32 22, i32* %call34, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end35: ; preds = %sw.epilog + %31 = load i64, i64* %new_off, align 8 + %32 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off36 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %32, i32 0, i32 2 + store i64 %31, i64* %off36, align 8 + %33 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off37 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %33, i32 0, i32 2 + %34 = load i64, i64* %off37, align 8 + store i64 %34, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end35, %if.then33, %sw.default, %if.end22, %if.then21, %if.then + %35 = load i64, i64* %retval, align 8 + ret i64 %35 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_stat(i8* %path, %struct.stat64* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %3 = bitcast %struct.stat64* %2 to i8* + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %4, i32 0, i32 2 + %5 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %6 = bitcast %struct.stat64* %5 to i8* + %7 = call i8* @memcpy(i8* %3, i8* %6, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load i8*, i8** %path.addr, align 8 + %call1 = call i8* @__concretize_string(i8* %8) + %9 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %call2 = call i64 (i64, ...) @syscall(i64 4, i8* %call1, %struct.stat64* %9) #11 + %conv = trunc i64 %call2 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %10 = load i32, i32* %retval, align 4 + ret i32 %10 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstatat(i32 %fd, i8* nonnull %path, %struct.stat64* nonnull %buf, i32 %flags) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %flags.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %dfile9 = alloca %struct.exe_disk_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %cmp = icmp ne i32 %0, -100 + br i1 %cmp, label %if.then, label %if.end8 + +if.then: ; preds = %entry + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.else, label %if.then1 + +if.then1: ; preds = %if.then + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 3 + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool3 = icmp ne %struct.exe_disk_file_t* %4, null + br i1 %tobool3, label %if.then4, label %if.end6 + +if.then4: ; preds = %if.else + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0)) + %call5 = call i32* @__errno_location() #25 + store i32 2, i32* %call5, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.else + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd7, align 8 + store i32 %6, i32* %fd.addr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end6, %entry + %7 = load i8*, i8** %path.addr, align 8 + %call10 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %7) + store %struct.exe_disk_file_t* %call10, %struct.exe_disk_file_t** %dfile9, align 8 + %8 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile9, align 8 + %tobool11 = icmp ne %struct.exe_disk_file_t* %8, null + br i1 %tobool11, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.end8 + %9 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %10 = bitcast %struct.stat64* %9 to i8* + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile9, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %11, i32 0, i32 2 + %12 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %13 = bitcast %struct.stat64* %12 to i8* + %14 = call i8* @memcpy(i8* %10, i8* %13, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.end8 + %15 = load i32, i32* %fd.addr, align 4 + %conv = sext i32 %15 to i64 + %16 = load i8*, i8** %path.addr, align 8 + %tobool14 = icmp ne i8* %16, null + br i1 %tobool14, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end13 + %17 = load i8*, i8** %path.addr, align 8 + %call15 = call i8* @__concretize_string(i8* %17) + br label %cond.end + +cond.end: ; preds = %if.end13, %cond.true + %cond = phi i8* [ %call15, %cond.true ], [ null, %if.end13 ] + %18 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %19 = load i32, i32* %flags.addr, align 4 + %conv16 = sext i32 %19 to i64 + %call17 = call i64 (i64, ...) @syscall(i64 262, i64 %conv, i8* %cond, %struct.stat64* %18, i64 %conv16) #11 + %conv18 = trunc i64 %call17 to i32 + store i32 %conv18, i32* %retval, align 4 + br label %return + +return: ; preds = %cond.end, %if.then12, %if.then4, %if.then1 + %20 = load i32, i32* %retval, align 4 + ret i32 %20 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_lstat(i8* %path, %struct.stat64* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %3 = bitcast %struct.stat64* %2 to i8* + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %4, i32 0, i32 2 + %5 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %6 = bitcast %struct.stat64* %5 to i8* + %7 = call i8* @memcpy(i8* %3, i8* %6, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load i8*, i8** %path.addr, align 8 + %call1 = call i8* @__concretize_string(i8* %8) + %9 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %call2 = call i64 (i64, ...) @syscall(i64 6, i8* %call1, %struct.stat64* %9) #11 + %conv = trunc i64 %call2 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %10 = load i32, i32* %retval, align 4 + ret i32 %10 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chdir(i8* nonnull %path) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0)) + %call1 = call i32* @__errno_location() #25 + store i32 2, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %2) + %call3 = call i64 (i64, ...) @syscall(i64 80, i8* %call2) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %3 = load i32, i32* %retval, align 4 + ret i32 %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fchdir(i32 %fd) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %if.end + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 2, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd6, align 8 + %call7 = call i64 (i64, ...) @syscall(i64 81, i32 %5) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chmod(i8* nonnull %path, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load i32, i32* @chmod.n_calls, align 4 + %inc = add nsw i32 %1, 1 + store i32 %inc, i32* @chmod.n_calls, align 4 + %2 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool = icmp ne i32 %2, 0 + br i1 %tobool, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %3 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 11), align 8 + %4 = load i32, i32* %3, align 4 + %5 = load i32, i32* @chmod.n_calls, align 4 + %cmp = icmp eq i32 %4, %5 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %6 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %6, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call1 = call i32* @__errno_location() #25 + store i32 5, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + %7 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %7, null + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %if.end + %8 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %9 = load i32, i32* %mode.addr, align 4 + %call4 = call i32 @__df_chmod(%struct.exe_disk_file_t* %8, i32 %9) + store i32 %call4, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %if.end + %10 = load i8*, i8** %path.addr, align 8 + %call6 = call i8* @__concretize_string(i8* %10) + %11 = load i32, i32* %mode.addr, align 4 + %call7 = call i64 (i64, ...) @syscall(i64 90, i8* %call6, i32 %11) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %12 = load i32, i32* %retval, align 4 + ret i32 %12 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__df_chmod(%struct.exe_disk_file_t* %df, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %df.addr = alloca %struct.exe_disk_file_t*, align 8 + %mode.addr = alloca i32, align 4 + store %struct.exe_disk_file_t* %df, %struct.exe_disk_file_t** %df.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %call = call i32 @geteuid() #11 + %0 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %0, i32 0, i32 2 + %1 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_uid = getelementptr inbounds %struct.stat64, %struct.stat64* %1, i32 0, i32 4 + %2 = load i32, i32* %st_uid, align 4 + %cmp = icmp eq i32 %call, %2 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %call1 = call i32 @getgid() #11 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %3, i32 0, i32 2 + %4 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + %st_gid = getelementptr inbounds %struct.stat64, %struct.stat64* %4, i32 0, i32 5 + %5 = load i32, i32* %st_gid, align 8 + %cmp3 = icmp ne i32 %call1, %5 + br i1 %cmp3, label %if.then4, label %if.end + +if.then4: ; preds = %if.then + %6 = load i32, i32* %mode.addr, align 4 + %and = and i32 %6, -1025 + store i32 %and, i32* %mode.addr, align 4 + br label %if.end + +if.end: ; preds = %if.then4, %if.then + %7 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat5 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %7, i32 0, i32 2 + %8 = load %struct.stat64*, %struct.stat64** %stat5, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %8, i32 0, i32 3 + %9 = load i32, i32* %st_mode, align 8 + %and6 = and i32 %9, -4096 + %10 = load i32, i32* %mode.addr, align 4 + %and7 = and i32 %10, 4095 + %or = or i32 %and6, %and7 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat8 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %11, i32 0, i32 2 + %12 = load %struct.stat64*, %struct.stat64** %stat8, align 8 + %st_mode9 = getelementptr inbounds %struct.stat64, %struct.stat64* %12, i32 0, i32 3 + store i32 %or, i32* %st_mode9, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %call10 = call i32* @__errno_location() #25 + store i32 1, i32* %call10, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.else, %if.end + %13 = load i32, i32* %retval, align 4 + ret i32 %13 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fchmod(i32 %fd, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i32, i32* @fchmod.n_calls, align 4 + %inc = add nsw i32 %2, 1 + store i32 %inc, i32* @fchmod.n_calls, align 4 + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 12), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @fchmod.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + br i1 %tobool6, label %if.then7, label %if.end10 + +if.then7: ; preds = %if.end5 + %dfile8 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 3 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile8, align 8 + %12 = load i32, i32* %mode.addr, align 4 + %call9 = call i32 @__df_chmod(%struct.exe_disk_file_t* %11, i32 %12) + store i32 %call9, i32* %retval, align 4 + br label %return + +if.end10: ; preds = %if.end5 + %fd11 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 0 + %13 = load i32, i32* %fd11, align 8 + %14 = load i32, i32* %mode.addr, align 4 + %call12 = call i64 (i64, ...) @syscall(i64 91, i32 %13, i32 %14) #11 + %conv = trunc i64 %call12 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end10, %if.then7, %if.then3, %if.then + %15 = load i32, i32* %retval, align 4 + ret i32 %15 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chown(i8* nonnull %path, i32 %owner, i32 %group) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %df, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %3 = load i32, i32* %owner.addr, align 4 + %4 = load i32, i32* %group.addr, align 4 + %call1 = call i32 @__df_chown(%struct.exe_disk_file_t* %2, i32 %3, i32 %4) + store i32 %call1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %5 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %5) + %6 = load i32, i32* %owner.addr, align 4 + %7 = load i32, i32* %group.addr, align 4 + %call3 = call i64 (i64, ...) @syscall(i64 92, i8* %call2, i32 %6, i32 %7) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__df_chown(%struct.exe_disk_file_t* %df, i32 %owner, i32 %group) #3 { +entry: + %df.addr = alloca %struct.exe_disk_file_t*, align 8 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + store %struct.exe_disk_file_t* %df, %struct.exe_disk_file_t** %df.addr, align 8 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + call void @gs_warning(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.26, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fchown(i32 %fd, i32 %owner, i32 %group) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end6 + +if.then3: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile4 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 3 + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile4, align 8 + %6 = load i32, i32* %owner.addr, align 4 + %7 = load i32, i32* %group.addr, align 4 + %call5 = call i32 @__df_chown(%struct.exe_disk_file_t* %5, i32 %6, i32 %7) + store i32 %call5, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.end + %8 = load i32, i32* %fd.addr, align 4 + %9 = load i32, i32* %owner.addr, align 4 + %10 = load i32, i32* %group.addr, align 4 + %call7 = call i64 (i64, ...) @syscall(i64 93, i32 %8, i32 %9, i32 %10) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end6, %if.then3, %if.then + %11 = load i32, i32* %retval, align 4 + ret i32 %11 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @lchown(i8* nonnull %path, i32 %owner, i32 %group) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %df, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %3 = load i32, i32* %owner.addr, align 4 + %4 = load i32, i32* %group.addr, align 4 + %call1 = call i32 @__df_chown(%struct.exe_disk_file_t* %2, i32 %3, i32 %4) + store i32 %call1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %5 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %5) + %6 = load i32, i32* %owner.addr, align 4 + %7 = load i32, i32* %group.addr, align 4 + %call3 = call i64 (i64, ...) @syscall(i64 92, i8* %call2, i32 %6, i32 %7) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_fstat(i32 %fd, %struct.stat64* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.end6, label %if.then3 + +if.then3: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd4 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd4, align 8 + %6 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %call5 = call i64 (i64, ...) @syscall(i64 5, i32 %5, %struct.stat64* %6) #11 + %conv = trunc i64 %call5 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.end + %7 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %8 = bitcast %struct.stat64* %7 to i8* + %9 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %9, i32 0, i32 3 + %10 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile7, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %10, i32 0, i32 2 + %11 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %12 = bitcast %struct.stat64* %11 to i8* + %13 = call i8* @memcpy(i8* %8, i8* %12, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end6, %if.then3, %if.then + %14 = load i32, i32* %retval, align 4 + ret i32 %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_ftruncate(i32 %fd, i64 %length) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %length.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %length, i64* %length.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load i32, i32* @__fd_ftruncate.n_calls, align 4 + %inc = add nsw i32 %1, 1 + store i32 %inc, i32* @__fd_ftruncate.n_calls, align 4 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @__fd_ftruncate.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + br i1 %tobool6, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end5 + call void @gs_warning(i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.10, i64 0, i64 0)) + %call8 = call i32* @__errno_location() #25 + store i32 5, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end9: ; preds = %if.end5 + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd10 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 0 + %11 = load i32, i32* %fd10, align 8 + %12 = load i64, i64* %length.addr, align 8 + %call11 = call i64 (i64, ...) @syscall(i64 77, i32 %11, i64 %12) #11 + %conv = trunc i64 %call11 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end9, %if.then7, %if.then3, %if.then + %13 = load i32, i32* %retval, align 4 + ret i32 %13 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_getdents(i32 %fd, %struct.dirent64* %dirp, i32 %count) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %dirp.addr = alloca %struct.dirent64*, align 8 + %count.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %i = alloca i64, align 8 + %pad = alloca i64, align 8 + %bytes = alloca i64, align 8 + %df = alloca %struct.exe_disk_file_t*, align 8 + %os_pos = alloca i64, align 8 + %res = alloca i32, align 4 + %s = alloca i64, align 8 + %pos = alloca i32, align 4 + %dp = alloca %struct.dirent64*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.dirent64* %dirp, %struct.dirent64** %dirp.addr, align 8 + store i32 %count, i32* %count.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.else + +if.then3: ; preds = %if.end + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 22, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 2 + %5 = load i64, i64* %off, align 8 + %cmp = icmp ult i64 %5, 4096 + br i1 %cmp, label %if.then5, label %if.else43 + +if.then5: ; preds = %if.else + store i64 0, i64* %bytes, align 8 + %6 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %6, i32 0, i32 2 + %7 = load i64, i64* %off6, align 8 + %div = udiv i64 %7, 280 + store i64 %div, i64* %i, align 8 + %8 = load i64, i64* %i, align 8 + %mul = mul i64 %8, 280 + %9 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %9, i32 0, i32 2 + %10 = load i64, i64* %off7, align 8 + %cmp8 = icmp ne i64 %mul, %10 + br i1 %cmp8, label %if.then11, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then5 + %11 = load i64, i64* %i, align 8 + %12 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %conv = zext i32 %12 to i64 + %cmp9 = icmp sgt i64 %11, %conv + br i1 %cmp9, label %if.then11, label %for.cond + +if.then11: ; preds = %lor.lhs.false, %if.then5 + %call12 = call i32* @__errno_location() #25 + store i32 22, i32* %call12, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +for.cond: ; preds = %lor.lhs.false, %for.body + %13 = load i64, i64* %i, align 8 + %14 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %conv14 = zext i32 %14 to i64 + %cmp15 = icmp slt i64 %13, %conv14 + br i1 %cmp15, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %15 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %16 = load i64, i64* %i, align 8 + %arrayidx = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %15, i64 %16 + store %struct.exe_disk_file_t* %arrayidx, %struct.exe_disk_file_t** %df, align 8 + %17 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %17, i32 0, i32 2 + %18 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %18, i32 0, i32 1 + %19 = load i64, i64* %st_ino, align 8 + %20 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_ino = getelementptr inbounds %struct.dirent64, %struct.dirent64* %20, i32 0, i32 0 + store i64 %19, i64* %d_ino, align 8 + %21 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen = getelementptr inbounds %struct.dirent64, %struct.dirent64* %21, i32 0, i32 2 + store i16 280, i16* %d_reclen, align 8 + %22 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat17 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %22, i32 0, i32 2 + %23 = load %struct.stat64*, %struct.stat64** %stat17, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %23, i32 0, i32 3 + %24 = load i32, i32* %st_mode, align 8 + %and = and i32 %24, 61440 + %shr = lshr i32 %and, 12 + %conv18 = trunc i32 %shr to i8 + %25 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_type = getelementptr inbounds %struct.dirent64, %struct.dirent64* %25, i32 0, i32 3 + store i8 %conv18, i8* %d_type, align 2 + %26 = load i64, i64* %i, align 8 + %add = add nsw i64 65, %26 + %conv19 = trunc i64 %add to i8 + %27 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_name = getelementptr inbounds %struct.dirent64, %struct.dirent64* %27, i32 0, i32 4 + %arrayidx20 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name, i64 0, i64 0 + store i8 %conv19, i8* %arrayidx20, align 1 + %28 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_name21 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %28, i32 0, i32 4 + %arrayidx22 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name21, i64 0, i64 1 + store i8 0, i8* %arrayidx22, align 1 + %29 = load i64, i64* %i, align 8 + %add23 = add nsw i64 %29, 1 + %mul24 = mul i64 %add23, 280 + %30 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_off = getelementptr inbounds %struct.dirent64, %struct.dirent64* %30, i32 0, i32 1 + store i64 %mul24, i64* %d_off, align 8 + %31 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen25 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %31, i32 0, i32 2 + %32 = load i16, i16* %d_reclen25, align 8 + %conv26 = zext i16 %32 to i64 + %33 = load i64, i64* %bytes, align 8 + %add27 = add nsw i64 %33, %conv26 + store i64 %add27, i64* %bytes, align 8 + %34 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %incdec.ptr = getelementptr inbounds %struct.dirent64, %struct.dirent64* %34, i32 1 + store %struct.dirent64* %incdec.ptr, %struct.dirent64** %dirp.addr, align 8 + %35 = load i64, i64* %i, align 8 + %inc = add nsw i64 %35, 1 + store i64 %inc, i64* %i, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %36 = load i32, i32* %count.addr, align 4 + %cmp28 = icmp uge i32 %36, 4096 + %37 = load i32, i32* %count.addr, align 4 + %cond = select i1 %cmp28, i32 4096, i32 %37 + %conv30 = zext i32 %cond to i64 + store i64 %conv30, i64* %pad, align 8 + %38 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_ino31 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %38, i32 0, i32 0 + store i64 0, i64* %d_ino31, align 8 + %39 = load i64, i64* %pad, align 8 + %40 = load i64, i64* %bytes, align 8 + %sub = sub nsw i64 %39, %40 + %conv32 = trunc i64 %sub to i16 + %41 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen33 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %41, i32 0, i32 2 + store i16 %conv32, i16* %d_reclen33, align 8 + %42 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_type34 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %42, i32 0, i32 3 + store i8 0, i8* %d_type34, align 2 + %43 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_name35 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %43, i32 0, i32 4 + %arrayidx36 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name35, i64 0, i64 0 + store i8 0, i8* %arrayidx36, align 1 + %44 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_off37 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %44, i32 0, i32 1 + store i64 4096, i64* %d_off37, align 8 + %45 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen38 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %45, i32 0, i32 2 + %46 = load i16, i16* %d_reclen38, align 8 + %conv39 = zext i16 %46 to i64 + %47 = load i64, i64* %bytes, align 8 + %add40 = add nsw i64 %47, %conv39 + store i64 %add40, i64* %bytes, align 8 + %48 = load i64, i64* %pad, align 8 + %49 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off41 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %49, i32 0, i32 2 + store i64 %48, i64* %off41, align 8 + %50 = load i64, i64* %bytes, align 8 + %conv42 = trunc i64 %50 to i32 + store i32 %conv42, i32* %retval, align 4 + br label %return + +if.else43: ; preds = %if.else + %51 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off44 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %51, i32 0, i32 2 + %52 = load i64, i64* %off44, align 8 + %sub45 = sub nsw i64 %52, 4096 + store i64 %sub45, i64* %os_pos, align 8 + store i64 0, i64* %s, align 8 + %53 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %54 = bitcast %struct.dirent64* %53 to i8* + %55 = load i32, i32* %count.addr, align 4 + %conv46 = zext i32 %55 to i64 + %56 = call i8* @memset(i8* %54, i32 0, i64 %conv46) + %57 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd47 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %57, i32 0, i32 0 + %58 = load i32, i32* %fd47, align 8 + %59 = load i64, i64* %os_pos, align 8 + %call48 = call i64 (i64, ...) @syscall(i64 8, i32 %58, i64 %59, i32 0) #11 + store i64 %call48, i64* %s, align 8 + %60 = load i64, i64* %s, align 8 + %cmp49 = icmp ne i64 %60, -1 + br i1 %cmp49, label %if.end53, label %if.else52 + +if.else52: ; preds = %if.else43 + call void @__assert_fail(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.12, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 840, i8* getelementptr inbounds ([65 x i8], [65 x i8]* @__PRETTY_FUNCTION__.__fd_getdents, i64 0, i64 0)) #26 + unreachable + +if.end53: ; preds = %if.else43 + %61 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %61, i32 0, i32 0 + %62 = load i32, i32* %fd54, align 8 + %63 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %64 = load i32, i32* %count.addr, align 4 + %call55 = call i64 (i64, ...) @syscall(i64 217, i32 %62, %struct.dirent64* %63, i32 %64) #11 + %conv56 = trunc i64 %call55 to i32 + store i32 %conv56, i32* %res, align 4 + %65 = load i32, i32* %res, align 4 + %cmp57 = icmp sgt i32 %65, -1 + br i1 %cmp57, label %if.then59, label %if.end78 + +if.then59: ; preds = %if.end53 + store i32 0, i32* %pos, align 4 + %66 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd60 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %66, i32 0, i32 0 + %67 = load i32, i32* %fd60, align 8 + %call61 = call i64 (i64, ...) @syscall(i64 8, i32 %67, i32 0, i32 1) #11 + %68 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off62 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %68, i32 0, i32 2 + store i64 %call61, i64* %off62, align 8 + %69 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off63 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %69, i32 0, i32 2 + %70 = load i64, i64* %off63, align 8 + %cmp64 = icmp ne i64 %70, -1 + br i1 %cmp64, label %if.end68, label %if.else67 + +if.else67: ; preds = %if.then59 + call void @__assert_fail(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.13, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 845, i8* getelementptr inbounds ([65 x i8], [65 x i8]* @__PRETTY_FUNCTION__.__fd_getdents, i64 0, i64 0)) #26 + unreachable + +if.end68: ; preds = %if.then59 + %71 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off69 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %71, i32 0, i32 2 + %72 = load i64, i64* %off69, align 8 + %add70 = add nsw i64 %72, 4096 + store i64 %add70, i64* %off69, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end68 + %73 = load i32, i32* %pos, align 4 + %74 = load i32, i32* %res, align 4 + %cmp71 = icmp slt i32 %73, %74 + br i1 %cmp71, label %while.body, label %if.end78 + +while.body: ; preds = %while.cond + %75 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %76 = bitcast %struct.dirent64* %75 to i8* + %77 = load i32, i32* %pos, align 4 + %idx.ext = sext i32 %77 to i64 + %add.ptr = getelementptr inbounds i8, i8* %76, i64 %idx.ext + %78 = bitcast i8* %add.ptr to %struct.dirent64* + store %struct.dirent64* %78, %struct.dirent64** %dp, align 8 + %79 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_off73 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %79, i32 0, i32 1 + %80 = load i64, i64* %d_off73, align 8 + %add74 = add nsw i64 %80, 4096 + store i64 %add74, i64* %d_off73, align 8 + %81 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_reclen75 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %81, i32 0, i32 2 + %82 = load i16, i16* %d_reclen75, align 8 + %conv76 = zext i16 %82 to i32 + %83 = load i32, i32* %pos, align 4 + %add77 = add nsw i32 %83, %conv76 + store i32 %add77, i32* %pos, align 4 + br label %while.cond + +if.end78: ; preds = %while.cond, %if.end53 + %84 = load i32, i32* %res, align 4 + store i32 %84, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end78, %for.end, %if.then11, %if.then3, %if.then + %85 = load i32, i32* %retval, align 4 + ret i32 %85 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @ioctl(i32 %fd, i64 %request, ...) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %request.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + %buf = alloca i8*, align 8 + %stat = alloca %struct.stat64*, align 8 + %ts = alloca %struct.termios*, align 8 + %ws = alloca %struct.winsize*, align 8 + %res = alloca i32*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %request, i64* %request.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay2 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay2) + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.end + %2 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 3 + %reg_save_area = load i8*, i8** %2, align 16 + %3 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %4 = bitcast i8* %3 to i8** + %5 = add i32 %gp_offset, 8 + store i32 %5, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.end + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %6 = bitcast i8* %overflow_arg_area to i8** + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i8** [ %4, %vaarg.in_reg ], [ %6, %vaarg.in_mem ] + %7 = load i8*, i8** %vaarg.addr, align 8 + store i8* %7, i8** %buf, align 8 + %arraydecay4 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay45 = bitcast %struct.__va_list_tag.0* %arraydecay4 to i8* + call void @llvm.va_end(i8* %arraydecay45) + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + br i1 %tobool6, label %if.then7, label %if.end103 + +if.then7: ; preds = %vaarg.end + %dfile8 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 3 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile8, align 8 + %stat9 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %11, i32 0, i32 2 + %12 = load %struct.stat64*, %struct.stat64** %stat9, align 8 + %13 = bitcast %struct.stat64* %12 to %struct.stat64* + store %struct.stat64* %13, %struct.stat64** %stat, align 8 + %14 = load i64, i64* %request.addr, align 8 + br label %NodeBlock13 + +NodeBlock13: ; preds = %if.then7 + %case.cmp14 = icmp eq i64 %14, 21505 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i64 %14, 21506 + br i1 %case.cmp12, label %sw.bb48, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i64 %14, 21507 + br i1 %case.cmp10, label %sw.bb55, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i64 %14, 21508 + br i1 %case.cmp8, label %sw.bb60, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i64 %14, 21523 + br i1 %case.cmp6, label %sw.bb67, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i64 %14, 21524 + br i1 %case.cmp4, label %sw.bb74, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i64 %14, 21531 + br i1 %case.cmp2, label %sw.bb82, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i64 %14, 2150657282 + br i1 %case.cmp, label %sw.bb100, label %newDefault + +sw.bb: ; preds = %NodeBlock13 + %15 = load i8*, i8** %buf, align 8 + %16 = bitcast i8* %15 to %struct.termios* + store %struct.termios* %16, %struct.termios** %ts, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.14, i64 0, i64 0)) + %17 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %17, i32 0, i32 3 + %18 = load i32, i32* %st_mode, align 8 + %and = and i32 %18, 61440 + %cmp = icmp eq i32 %and, 8192 + br i1 %cmp, label %if.then10, label %if.else + +if.then10: ; preds = %sw.bb + %19 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_iflag = getelementptr inbounds %struct.termios, %struct.termios* %19, i32 0, i32 0 + store i32 27906, i32* %c_iflag, align 4 + %20 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_oflag = getelementptr inbounds %struct.termios, %struct.termios* %20, i32 0, i32 1 + store i32 5, i32* %c_oflag, align 4 + %21 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cflag = getelementptr inbounds %struct.termios, %struct.termios* %21, i32 0, i32 2 + store i32 1215, i32* %c_cflag, align 4 + %22 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_lflag = getelementptr inbounds %struct.termios, %struct.termios* %22, i32 0, i32 3 + store i32 35287, i32* %c_lflag, align 4 + %23 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_line = getelementptr inbounds %struct.termios, %struct.termios* %23, i32 0, i32 4 + store i8 0, i8* %c_line, align 4 + %24 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc = getelementptr inbounds %struct.termios, %struct.termios* %24, i32 0, i32 5 + %arrayidx = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc, i64 0, i64 0 + store i8 3, i8* %arrayidx, align 1 + %25 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc11 = getelementptr inbounds %struct.termios, %struct.termios* %25, i32 0, i32 5 + %arrayidx12 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc11, i64 0, i64 1 + store i8 28, i8* %arrayidx12, align 1 + %26 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc13 = getelementptr inbounds %struct.termios, %struct.termios* %26, i32 0, i32 5 + %arrayidx14 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc13, i64 0, i64 2 + store i8 127, i8* %arrayidx14, align 1 + %27 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc15 = getelementptr inbounds %struct.termios, %struct.termios* %27, i32 0, i32 5 + %arrayidx16 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc15, i64 0, i64 3 + store i8 21, i8* %arrayidx16, align 1 + %28 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc17 = getelementptr inbounds %struct.termios, %struct.termios* %28, i32 0, i32 5 + %arrayidx18 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc17, i64 0, i64 4 + store i8 4, i8* %arrayidx18, align 1 + %29 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc19 = getelementptr inbounds %struct.termios, %struct.termios* %29, i32 0, i32 5 + %arrayidx20 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc19, i64 0, i64 5 + store i8 0, i8* %arrayidx20, align 1 + %30 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc21 = getelementptr inbounds %struct.termios, %struct.termios* %30, i32 0, i32 5 + %arrayidx22 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc21, i64 0, i64 6 + store i8 1, i8* %arrayidx22, align 1 + %31 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc23 = getelementptr inbounds %struct.termios, %struct.termios* %31, i32 0, i32 5 + %arrayidx24 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc23, i64 0, i64 7 + store i8 -1, i8* %arrayidx24, align 1 + %32 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc25 = getelementptr inbounds %struct.termios, %struct.termios* %32, i32 0, i32 5 + %arrayidx26 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc25, i64 0, i64 8 + store i8 17, i8* %arrayidx26, align 1 + %33 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc27 = getelementptr inbounds %struct.termios, %struct.termios* %33, i32 0, i32 5 + %arrayidx28 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc27, i64 0, i64 9 + store i8 19, i8* %arrayidx28, align 1 + %34 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc29 = getelementptr inbounds %struct.termios, %struct.termios* %34, i32 0, i32 5 + %arrayidx30 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc29, i64 0, i64 10 + store i8 26, i8* %arrayidx30, align 1 + %35 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc31 = getelementptr inbounds %struct.termios, %struct.termios* %35, i32 0, i32 5 + %arrayidx32 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc31, i64 0, i64 11 + store i8 -1, i8* %arrayidx32, align 1 + %36 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc33 = getelementptr inbounds %struct.termios, %struct.termios* %36, i32 0, i32 5 + %arrayidx34 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc33, i64 0, i64 12 + store i8 18, i8* %arrayidx34, align 1 + %37 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc35 = getelementptr inbounds %struct.termios, %struct.termios* %37, i32 0, i32 5 + %arrayidx36 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc35, i64 0, i64 13 + store i8 15, i8* %arrayidx36, align 1 + %38 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc37 = getelementptr inbounds %struct.termios, %struct.termios* %38, i32 0, i32 5 + %arrayidx38 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc37, i64 0, i64 14 + store i8 23, i8* %arrayidx38, align 1 + %39 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc39 = getelementptr inbounds %struct.termios, %struct.termios* %39, i32 0, i32 5 + %arrayidx40 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc39, i64 0, i64 15 + store i8 22, i8* %arrayidx40, align 1 + %40 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc41 = getelementptr inbounds %struct.termios, %struct.termios* %40, i32 0, i32 5 + %arrayidx42 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc41, i64 0, i64 16 + store i8 -1, i8* %arrayidx42, align 1 + %41 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc43 = getelementptr inbounds %struct.termios, %struct.termios* %41, i32 0, i32 5 + %arrayidx44 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc43, i64 0, i64 17 + store i8 0, i8* %arrayidx44, align 1 + %42 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc45 = getelementptr inbounds %struct.termios, %struct.termios* %42, i32 0, i32 5 + %arrayidx46 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc45, i64 0, i64 18 + store i8 0, i8* %arrayidx46, align 1 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %sw.bb + %call47 = call i32* @__errno_location() #25 + store i32 25, i32* %call47, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb48: ; preds = %NodeBlock11 + call void @gs_warning_once(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.15, i64 0, i64 0)) + %43 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode49 = getelementptr inbounds %struct.stat64, %struct.stat64* %43, i32 0, i32 3 + %44 = load i32, i32* %st_mode49, align 8 + %and50 = and i32 %44, 61440 + %cmp51 = icmp eq i32 %and50, 8192 + br i1 %cmp51, label %if.then52, label %if.else53 + +if.then52: ; preds = %sw.bb48 + store i32 0, i32* %retval, align 4 + br label %return + +if.else53: ; preds = %sw.bb48 + %call54 = call i32* @__errno_location() #25 + store i32 25, i32* %call54, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb55: ; preds = %NodeBlock9 + call void @gs_warning_once(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.16, i64 0, i64 0)) + %45 = load i32, i32* %fd.addr, align 4 + %cmp56 = icmp eq i32 %45, 0 + br i1 %cmp56, label %if.then57, label %if.else58 + +if.then57: ; preds = %sw.bb55 + store i32 0, i32* %retval, align 4 + br label %return + +if.else58: ; preds = %sw.bb55 + %call59 = call i32* @__errno_location() #25 + store i32 25, i32* %call59, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb60: ; preds = %NodeBlock7 + call void @gs_warning_once(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.17, i64 0, i64 0)) + %46 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode61 = getelementptr inbounds %struct.stat64, %struct.stat64* %46, i32 0, i32 3 + %47 = load i32, i32* %st_mode61, align 8 + %and62 = and i32 %47, 61440 + %cmp63 = icmp eq i32 %and62, 8192 + br i1 %cmp63, label %if.then64, label %if.else65 + +if.then64: ; preds = %sw.bb60 + store i32 0, i32* %retval, align 4 + br label %return + +if.else65: ; preds = %sw.bb60 + %call66 = call i32* @__errno_location() #25 + store i32 25, i32* %call66, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb67: ; preds = %NodeBlock5 + %48 = load i8*, i8** %buf, align 8 + %49 = bitcast i8* %48 to %struct.winsize* + store %struct.winsize* %49, %struct.winsize** %ws, align 8 + %50 = load %struct.winsize*, %struct.winsize** %ws, align 8 + %ws_row = getelementptr inbounds %struct.winsize, %struct.winsize* %50, i32 0, i32 0 + store i16 24, i16* %ws_row, align 2 + %51 = load %struct.winsize*, %struct.winsize** %ws, align 8 + %ws_col = getelementptr inbounds %struct.winsize, %struct.winsize* %51, i32 0, i32 1 + store i16 80, i16* %ws_col, align 2 + call void @gs_warning_once(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.18, i64 0, i64 0)) + %52 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode68 = getelementptr inbounds %struct.stat64, %struct.stat64* %52, i32 0, i32 3 + %53 = load i32, i32* %st_mode68, align 8 + %and69 = and i32 %53, 61440 + %cmp70 = icmp eq i32 %and69, 8192 + br i1 %cmp70, label %if.then71, label %if.else72 + +if.then71: ; preds = %sw.bb67 + store i32 0, i32* %retval, align 4 + br label %return + +if.else72: ; preds = %sw.bb67 + %call73 = call i32* @__errno_location() #25 + store i32 25, i32* %call73, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb74: ; preds = %NodeBlock3 + call void @gs_warning_once(i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.19, i64 0, i64 0)) + %54 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode75 = getelementptr inbounds %struct.stat64, %struct.stat64* %54, i32 0, i32 3 + %55 = load i32, i32* %st_mode75, align 8 + %and76 = and i32 %55, 61440 + %cmp77 = icmp eq i32 %and76, 8192 + %call79 = call i32* @__errno_location() #25 + br i1 %cmp77, label %if.then78, label %if.else80 + +if.then78: ; preds = %sw.bb74 + store i32 22, i32* %call79, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else80: ; preds = %sw.bb74 + store i32 25, i32* %call79, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb82: ; preds = %NodeBlock1 + %56 = load i8*, i8** %buf, align 8 + %57 = bitcast i8* %56 to i32* + store i32* %57, i32** %res, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.20, i64 0, i64 0)) + %58 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode83 = getelementptr inbounds %struct.stat64, %struct.stat64* %58, i32 0, i32 3 + %59 = load i32, i32* %st_mode83, align 8 + %and84 = and i32 %59, 61440 + %cmp85 = icmp eq i32 %and84, 8192 + br i1 %cmp85, label %if.then86, label %if.else98 + +if.then86: ; preds = %sw.bb82 + %60 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %60, i32 0, i32 2 + %61 = load i64, i64* %off, align 8 + %62 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile87 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %62, i32 0, i32 3 + %63 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile87, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %63, i32 0, i32 0 + %64 = load i32, i32* %size, align 8 + %conv = zext i32 %64 to i64 + %cmp88 = icmp slt i64 %61, %conv + br i1 %cmp88, label %if.then90, label %if.else96 + +if.then90: ; preds = %if.then86 + %65 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile91 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %65, i32 0, i32 3 + %66 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile91, align 8 + %size92 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %66, i32 0, i32 0 + %67 = load i32, i32* %size92, align 8 + %conv93 = zext i32 %67 to i64 + %68 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off94 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %68, i32 0, i32 2 + %69 = load i64, i64* %off94, align 8 + %sub = sub nsw i64 %conv93, %69 + %conv95 = trunc i64 %sub to i32 + %70 = load i32*, i32** %res, align 8 + store i32 %conv95, i32* %70, align 4 + br label %if.end97 + +if.else96: ; preds = %if.then86 + %71 = load i32*, i32** %res, align 8 + store i32 0, i32* %71, align 4 + br label %if.end97 + +if.end97: ; preds = %if.else96, %if.then90 + store i32 0, i32* %retval, align 4 + br label %return + +if.else98: ; preds = %sw.bb82 + %call99 = call i32* @__errno_location() #25 + store i32 25, i32* %call99, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb100: ; preds = %NodeBlock + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.21, i64 0, i64 0)) + %call101 = call i32* @__errno_location() #25 + store i32 22, i32* %call101, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0)) + %call102 = call i32* @__errno_location() #25 + store i32 22, i32* %call102, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end103: ; preds = %vaarg.end + %fd104 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 0 + %72 = load i32, i32* %fd104, align 8 + %73 = load i64, i64* %request.addr, align 8 + %74 = load i8*, i8** %buf, align 8 + %call105 = call i64 (i64, ...) @syscall(i64 16, i32 %72, i64 %73, i8* %74) #11 + %conv106 = trunc i64 %call105 to i32 + store i32 %conv106, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end103, %sw.default, %sw.bb100, %if.else98, %if.end97, %if.else80, %if.then78, %if.else72, %if.then71, %if.else65, %if.then64, %if.else58, %if.then57, %if.else53, %if.then52, %if.else, %if.then10, %if.then + %75 = load i32, i32* %retval, align 4 + ret i32 %75 +} + +; Function Attrs: nounwind +declare void @llvm.va_start(i8*) #11 + +; Function Attrs: nounwind +declare void @llvm.va_end(i8*) #11 + +declare dso_local void @gs_warning_once(i8*) #5 + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fcntl(i32 %fd, i32 %cmd, ...) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %cmd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + %arg = alloca i32, align 4 + %lock = alloca %struct.flock*, align 8 + %flags = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %cmd, i32* %cmd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i32, i32* %cmd.addr, align 4 + %cmp = icmp eq i32 %2, 1 + %3 = load i32, i32* %cmd.addr, align 4 + %cmp2 = icmp eq i32 %3, 3 + %or.cond = or i1 %cmp, %cmp2 + %4 = load i32, i32* %cmd.addr, align 4 + %cmp4 = icmp eq i32 %4, 9 + %or.cond1 = or i1 %or.cond, %cmp4 + %5 = load i32, i32* %cmd.addr, align 4 + %cmp6 = icmp eq i32 %5, 11 + %or.cond2 = or i1 %or.cond1, %cmp6 + %6 = load i32, i32* %cmd.addr, align 4 + %cmp8 = icmp eq i32 %6, 1025 + %or.cond3 = or i1 %or.cond2, %cmp8 + %7 = load i32, i32* %cmd.addr, align 4 + %cmp10 = icmp eq i32 %7, 1026 + %or.cond4 = or i1 %or.cond3, %cmp10 + br i1 %or.cond4, label %if.then11, label %if.else + +if.then11: ; preds = %if.end + store i32 0, i32* %arg, align 4 + br label %if.end40 + +if.else: ; preds = %if.end + %8 = load i32, i32* %cmd.addr, align 4 + %cmp12 = icmp eq i32 %8, 5 + %9 = load i32, i32* %cmd.addr, align 4 + %cmp14 = icmp eq i32 %9, 6 + %or.cond5 = or i1 %cmp12, %cmp14 + %10 = load i32, i32* %cmd.addr, align 4 + %cmp16 = icmp eq i32 %10, 7 + %or.cond6 = or i1 %or.cond5, %cmp16 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay18 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay18) + %arraydecay19 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %or.cond6, label %if.then17, label %if.else22 + +if.then17: ; preds = %if.else + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then17 + %11 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 3 + %reg_save_area = load i8*, i8** %11, align 16 + %12 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %13 = bitcast i8* %12 to %struct.flock** + %14 = add i32 %gp_offset, 8 + store i32 %14, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then17 + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %15 = bitcast i8* %overflow_arg_area to %struct.flock** + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi %struct.flock** [ %13, %vaarg.in_reg ], [ %15, %vaarg.in_mem ] + %16 = load %struct.flock*, %struct.flock** %vaarg.addr, align 8 + store %struct.flock* %16, %struct.flock** %lock, align 8 + %arraydecay20 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay2021 = bitcast %struct.__va_list_tag.0* %arraydecay20 to i8* + call void @llvm.va_end(i8* %arraydecay2021) + br label %if.end40 + +if.else22: ; preds = %if.else + br i1 %fits_in_gp, label %vaarg.in_reg29, label %vaarg.in_mem31 + +vaarg.in_reg29: ; preds = %if.else22 + %17 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 3 + %reg_save_area30 = load i8*, i8** %17, align 16 + %18 = getelementptr i8, i8* %reg_save_area30, i32 %gp_offset + %19 = bitcast i8* %18 to i32* + %20 = add i32 %gp_offset, 8 + store i32 %20, i32* %gp_offset_p, align 16 + br label %vaarg.end35 + +vaarg.in_mem31: ; preds = %if.else22 + %overflow_arg_area_p32 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 2 + %overflow_arg_area33 = load i8*, i8** %overflow_arg_area_p32, align 8 + %21 = bitcast i8* %overflow_arg_area33 to i32* + %overflow_arg_area.next34 = getelementptr i8, i8* %overflow_arg_area33, i32 8 + store i8* %overflow_arg_area.next34, i8** %overflow_arg_area_p32, align 8 + br label %vaarg.end35 + +vaarg.end35: ; preds = %vaarg.in_mem31, %vaarg.in_reg29 + %vaarg.addr36 = phi i32* [ %19, %vaarg.in_reg29 ], [ %21, %vaarg.in_mem31 ] + %22 = load i32, i32* %vaarg.addr36, align 4 + store i32 %22, i32* %arg, align 4 + %arraydecay37 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay3738 = bitcast %struct.__va_list_tag.0* %arraydecay37 to i8* + call void @llvm.va_end(i8* %arraydecay3738) + br label %if.end40 + +if.end40: ; preds = %vaarg.end, %vaarg.end35, %if.then11 + %23 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %23, i32 0, i32 3 + %24 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool41 = icmp ne %struct.exe_disk_file_t* %24, null + br i1 %tobool41, label %if.then42, label %if.end60 + +if.then42: ; preds = %if.end40 + %25 = load i32, i32* %cmd.addr, align 4 + br label %NodeBlock13 + +NodeBlock13: ; preds = %if.then42 + %case.cmp14 = icmp eq i32 %25, 1 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %25, 2 + br i1 %case.cmp12, label %sw.bb47, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %25, 3 + br i1 %case.cmp10, label %sw.bb56, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %25, 5 + br i1 %case.cmp8, label %sw.bb57, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock7 + %case.cmp = icmp eq i32 %25, 6 + br i1 %case.cmp, label %sw.bb58, label %newDefault + +sw.bb: ; preds = %NodeBlock13 + store i32 0, i32* %flags, align 4 + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags43 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 1 + %27 = load i32, i32* %flags43, align 4 + %and = and i32 %27, 2 + %tobool44 = icmp ne i32 %and, 0 + br i1 %tobool44, label %if.then45, label %if.end46 + +if.then45: ; preds = %sw.bb + %28 = load i32, i32* %flags, align 4 + %or = or i32 %28, 1 + store i32 %or, i32* %flags, align 4 + br label %if.end46 + +if.end46: ; preds = %if.then45, %sw.bb + %29 = load i32, i32* %flags, align 4 + store i32 %29, i32* %retval, align 4 + br label %return + +sw.bb47: ; preds = %NodeBlock11 + %30 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags48 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %30, i32 0, i32 1 + %31 = load i32, i32* %flags48, align 4 + %and49 = and i32 %31, -3 + store i32 %and49, i32* %flags48, align 4 + %32 = load i32, i32* %arg, align 4 + %and50 = and i32 %32, 1 + %tobool51 = icmp ne i32 %and50, 0 + br i1 %tobool51, label %if.then52, label %if.end55 + +if.then52: ; preds = %sw.bb47 + %33 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags53 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %33, i32 0, i32 1 + %34 = load i32, i32* %flags53, align 4 + %or54 = or i32 %34, 2 + store i32 %or54, i32* %flags53, align 4 + br label %if.end55 + +if.end55: ; preds = %if.then52, %sw.bb47 + store i32 0, i32* %retval, align 4 + br label %return + +sw.bb56: ; preds = %NodeBlock9 + store i32 0, i32* %retval, align 4 + br label %return + +sw.bb57: ; preds = %NodeBlock7 + %35 = load %struct.flock*, %struct.flock** %lock, align 8 + %l_type = getelementptr inbounds %struct.flock, %struct.flock* %35, i32 0, i32 0 + store i16 2, i16* %l_type, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +sw.bb58: ; preds = %NodeBlock + store i32 0, i32* %retval, align 4 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0)) + %call59 = call i32* @__errno_location() #25 + store i32 22, i32* %call59, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end60: ; preds = %if.end40 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd61 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 0 + %37 = load i32, i32* %fd61, align 8 + %38 = load i32, i32* %cmd.addr, align 4 + %39 = load i32, i32* %arg, align 4 + %call62 = call i64 (i64, ...) @syscall(i64 72, i32 %37, i32 %38, i32 %39) #11 + %conv = trunc i64 %call62 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end60, %sw.default, %sw.bb58, %sw.bb57, %sw.bb56, %if.end55, %if.end46, %if.then + %40 = load i32, i32* %retval, align 4 + ret i32 %40 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_statfs(i8* %path, %struct.statfs* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.statfs*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.statfs* %buf, %struct.statfs** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0)) + %call1 = call i32* @__errno_location() #25 + store i32 2, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %2) + %3 = load %struct.statfs*, %struct.statfs** %buf.addr, align 8 + %call3 = call i64 (i64, ...) @syscall(i64 137, i8* %call2, %struct.statfs* %3) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstatfs(i32 %fd, %struct.statfs* nonnull %buf) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.statfs*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.statfs* %buf, %struct.statfs** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %if.end + call void @gs_warning(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.22, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 9, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd6, align 8 + %6 = load %struct.statfs*, %struct.statfs** %buf.addr, align 8 + %call7 = call i64 (i64, ...) @syscall(i64 138, i32 %5, %struct.statfs* %6) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %7 = load i32, i32* %retval, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fsync(i32 %fd) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.else + store i32 0, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %if.else + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd5 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd5, align 8 + %call6 = call i64 (i64, ...) @syscall(i64 74, i32 %5) #11 + %conv = trunc i64 %call6 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @dup2(i32 %oldfd, i32 %newfd) #3 { +entry: + %retval = alloca i32, align 4 + %oldfd.addr = alloca i32, align 4 + %newfd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %f2 = alloca %struct.exe_file_t*, align 8 + store i32 %oldfd, i32* %oldfd.addr, align 4 + store i32 %newfd, i32* %newfd.addr, align 4 + %0 = load i32, i32* %oldfd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + %2 = load i32, i32* %newfd.addr, align 4 + %cmp = icmp sge i32 %2, 0 + %or.cond = and i1 %tobool, %cmp + %3 = load i32, i32* %newfd.addr, align 4 + %cmp1 = icmp slt i32 %3, 32 + %or.cond1 = and i1 %or.cond, %cmp1 + br i1 %or.cond1, label %if.else, label %if.then + +if.then: ; preds = %entry + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %4 = load i32, i32* %newfd.addr, align 4 + %idxprom = sext i32 %4 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + store %struct.exe_file_t* %arrayidx, %struct.exe_file_t** %f2, align 8 + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f2, align 8 + %flags = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 1 + %6 = load i32, i32* %flags, align 4 + %and = and i32 %6, 1 + %tobool3 = icmp ne i32 %and, 0 + br i1 %tobool3, label %if.then4, label %if.end + +if.then4: ; preds = %if.else + %7 = load i32, i32* %newfd.addr, align 4 + %call5 = call i32 @close(i32 %7) + br label %if.end + +if.end: ; preds = %if.then4, %if.else + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f2, align 8 + %9 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %10 = bitcast %struct.exe_file_t* %8 to i8* + %11 = bitcast %struct.exe_file_t* %9 to i8* + %12 = call i8* @memcpy(i8* %10, i8* %11, i64 24) + %13 = load %struct.exe_file_t*, %struct.exe_file_t** %f2, align 8 + %flags6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %13, i32 0, i32 1 + %14 = load i32, i32* %flags6, align 4 + %and7 = and i32 %14, -3 + store i32 %and7, i32* %flags6, align 4 + %15 = load i32, i32* %newfd.addr, align 4 + store i32 %15, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %16 = load i32, i32* %retval, align 4 + ret i32 %16 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @dup(i32 %oldfd) #3 { +entry: + %retval = alloca i32, align 4 + %oldfd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %fd = alloca i32, align 4 + store i32 %oldfd, i32* %oldfd.addr, align 4 + %0 = load i32, i32* %oldfd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + store i32 0, i32* %fd, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.else + %2 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %2, 32 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %3 = load i32, i32* %fd, align 4 + %idxprom = sext i32 %3 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + %flags = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %arrayidx, i32 0, i32 1 + %4 = load i32, i32* %flags, align 4 + %and = and i32 %4, 1 + %tobool2 = icmp ne i32 %and, 0 + br i1 %tobool2, label %for.inc, label %for.end + +for.inc: ; preds = %for.body + %5 = load i32, i32* %fd, align 4 + %inc = add nsw i32 %5, 1 + store i32 %inc, i32* %fd, align 4 + br label %for.cond + +for.end: ; preds = %for.body, %for.cond + %6 = load i32, i32* %fd, align 4 + %cmp4 = icmp eq i32 %6, 32 + br i1 %cmp4, label %if.then5, label %if.else7 + +if.then5: ; preds = %for.end + %call6 = call i32* @__errno_location() #25 + store i32 24, i32* %call6, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else7: ; preds = %for.end + %7 = load i32, i32* %oldfd.addr, align 4 + %8 = load i32, i32* %fd, align 4 + %call8 = call i32 @dup2(i32 %7, i32 %8) #11 + store i32 %call8, i32* %retval, align 4 + br label %return + +return: ; preds = %if.else7, %if.then5, %if.then + %9 = load i32, i32* %retval, align 4 + ret i32 %9 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rmdir(i8* nonnull %pathname) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 16384 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %5, i32 0, i32 2 + %6 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 1 + store i64 0, i64* %st_ino, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %call3 = call i32* @__errno_location() #25 + store i32 20, i32* %call3, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 1, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.else, %if.then1 + %7 = load i32, i32* %retval, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @unlink(i8* nonnull %pathname) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 32768 + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %5, i32 0, i32 2 + %6 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 1 + store i64 0, i64* %st_ino, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %st_mode4 = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 3 + %7 = load i32, i32* %st_mode4, align 8 + %and5 = and i32 %7, 61440 + %cmp6 = icmp eq i32 %and5, 16384 + %call8 = call i32* @__errno_location() #25 + br i1 %cmp6, label %if.then7, label %if.else9 + +if.then7: ; preds = %if.else + store i32 21, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else9: ; preds = %if.else + store i32 1, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0)) + %call11 = call i32* @__errno_location() #25 + store i32 1, i32* %call11, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.else9, %if.then7, %if.then1 + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @unlinkat(i32 %dirfd, i8* nonnull %pathname, i32 %flags) #3 { +entry: + %retval = alloca i32, align 4 + %dirfd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i32 %dirfd, i32* %dirfd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 32768 + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %5, i32 0, i32 2 + %6 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 1 + store i64 0, i64* %st_ino, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %st_mode4 = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 3 + %7 = load i32, i32* %st_mode4, align 8 + %and5 = and i32 %7, 61440 + %cmp6 = icmp eq i32 %and5, 16384 + %call8 = call i32* @__errno_location() #25 + br i1 %cmp6, label %if.then7, label %if.else9 + +if.then7: ; preds = %if.else + store i32 21, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else9: ; preds = %if.else + store i32 1, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0)) + %call11 = call i32* @__errno_location() #25 + store i32 1, i32* %call11, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.else9, %if.then7, %if.then1 + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @readlink(i8* nonnull %path, i8* nonnull %buf, i64 %bufsize) #3 { +entry: + %retval = alloca i64, align 8 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end20 + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 40960 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %5 = load i8*, i8** %path.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 0 + %6 = load i8, i8* %arrayidx, align 1 + %7 = load i8*, i8** %buf.addr, align 8 + %arrayidx2 = getelementptr inbounds i8, i8* %7, i64 0 + store i8 %6, i8* %arrayidx2, align 1 + %8 = load i64, i64* %bufsize.addr, align 8 + %cmp3 = icmp ugt i64 %8, 1 + br i1 %cmp3, label %if.then4, label %if.end + +if.then4: ; preds = %if.then1 + %9 = load i8*, i8** %buf.addr, align 8 + %arrayidx5 = getelementptr inbounds i8, i8* %9, i64 1 + store i8 46, i8* %arrayidx5, align 1 + br label %if.end + +if.end: ; preds = %if.then4, %if.then1 + %10 = load i64, i64* %bufsize.addr, align 8 + %cmp6 = icmp ugt i64 %10, 2 + br i1 %cmp6, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end + %11 = load i8*, i8** %buf.addr, align 8 + %arrayidx8 = getelementptr inbounds i8, i8* %11, i64 2 + store i8 108, i8* %arrayidx8, align 1 + br label %if.end9 + +if.end9: ; preds = %if.then7, %if.end + %12 = load i64, i64* %bufsize.addr, align 8 + %cmp10 = icmp ugt i64 %12, 3 + br i1 %cmp10, label %if.then11, label %if.end13 + +if.then11: ; preds = %if.end9 + %13 = load i8*, i8** %buf.addr, align 8 + %arrayidx12 = getelementptr inbounds i8, i8* %13, i64 3 + store i8 110, i8* %arrayidx12, align 1 + br label %if.end13 + +if.end13: ; preds = %if.then11, %if.end9 + %14 = load i64, i64* %bufsize.addr, align 8 + %cmp14 = icmp ugt i64 %14, 4 + br i1 %cmp14, label %if.then15, label %if.end17 + +if.then15: ; preds = %if.end13 + %15 = load i8*, i8** %buf.addr, align 8 + %arrayidx16 = getelementptr inbounds i8, i8* %15, i64 4 + store i8 107, i8* %arrayidx16, align 1 + br label %if.end17 + +if.end17: ; preds = %if.then15, %if.end13 + %16 = load i64, i64* %bufsize.addr, align 8 + %cmp18 = icmp ugt i64 %16, 5 + %17 = load i64, i64* %bufsize.addr, align 8 + %cond = select i1 %cmp18, i64 5, i64 %17 + store i64 %cond, i64* %retval, align 8 + br label %return + +if.else: ; preds = %if.then + %call19 = call i32* @__errno_location() #25 + store i32 22, i32* %call19, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end20: ; preds = %entry + %18 = load i8*, i8** %path.addr, align 8 + %19 = load i8*, i8** %buf.addr, align 8 + %20 = load i64, i64* %bufsize.addr, align 8 + %call21 = call i64 (i64, ...) @syscall(i64 89, i8* %18, i8* %19, i64 %20) #11 + store i64 %call21, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end20, %if.else, %if.end17 + %21 = load i64, i64* %retval, align 8 + ret i64 %21 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @select(i32 %nfds, %struct.fd_set* %read, %struct.fd_set* %write, %struct.fd_set* %except, %struct.timespec* %timeout) #3 { +entry: + %retval = alloca i32, align 4 + %nfds.addr = alloca i32, align 4 + %read.addr = alloca %struct.fd_set*, align 8 + %write.addr = alloca %struct.fd_set*, align 8 + %except.addr = alloca %struct.fd_set*, align 8 + %timeout.addr = alloca %struct.timespec*, align 8 + %in_read = alloca %struct.fd_set, align 8 + %in_write = alloca %struct.fd_set, align 8 + %in_except = alloca %struct.fd_set, align 8 + %os_read = alloca %struct.fd_set, align 8 + %os_write = alloca %struct.fd_set, align 8 + %os_except = alloca %struct.fd_set, align 8 + %i = alloca i32, align 4 + %count = alloca i32, align 4 + %os_nfds = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %tv = alloca %struct.timespec, align 8 + %r = alloca i32, align 4 + %f182 = alloca %struct.exe_file_t*, align 8 + store i32 %nfds, i32* %nfds.addr, align 4 + store %struct.fd_set* %read, %struct.fd_set** %read.addr, align 8 + store %struct.fd_set* %write, %struct.fd_set** %write.addr, align 8 + store %struct.fd_set* %except, %struct.fd_set** %except.addr, align 8 + store %struct.timespec* %timeout, %struct.timespec** %timeout.addr, align 8 + store i32 0, i32* %count, align 4 + store i32 0, i32* %os_nfds, align 4 + %0 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %tobool = icmp ne %struct.fd_set* %0, null + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %entry + %1 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %2 = bitcast %struct.fd_set* %in_read to i8* + %3 = bitcast %struct.fd_set* %1 to i8* + %4 = call i8* @memcpy(i8* %2, i8* %3, i64 128) + %5 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %6 = bitcast %struct.fd_set* %5 to i8* + %7 = call i8* @memset(i8* %6, i32 0, i64 128) + br label %if.end + +if.else: ; preds = %entry + %8 = bitcast %struct.fd_set* %in_read to i8* + %9 = call i8* @memset(i8* %8, i32 0, i64 128) + br label %if.end + +if.end: ; preds = %if.else, %if.then + %10 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %tobool1 = icmp ne %struct.fd_set* %10, null + br i1 %tobool1, label %if.then2, label %if.else3 + +if.then2: ; preds = %if.end + %11 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %12 = bitcast %struct.fd_set* %in_write to i8* + %13 = bitcast %struct.fd_set* %11 to i8* + %14 = call i8* @memcpy(i8* %12, i8* %13, i64 128) + %15 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %16 = bitcast %struct.fd_set* %15 to i8* + %17 = call i8* @memset(i8* %16, i32 0, i64 128) + br label %if.end4 + +if.else3: ; preds = %if.end + %18 = bitcast %struct.fd_set* %in_write to i8* + %19 = call i8* @memset(i8* %18, i32 0, i64 128) + br label %if.end4 + +if.end4: ; preds = %if.else3, %if.then2 + %20 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %tobool5 = icmp ne %struct.fd_set* %20, null + br i1 %tobool5, label %if.then6, label %if.else7 + +if.then6: ; preds = %if.end4 + %21 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %22 = bitcast %struct.fd_set* %in_except to i8* + %23 = bitcast %struct.fd_set* %21 to i8* + %24 = call i8* @memcpy(i8* %22, i8* %23, i64 128) + %25 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %26 = bitcast %struct.fd_set* %25 to i8* + %27 = call i8* @memset(i8* %26, i32 0, i64 128) + br label %if.end8 + +if.else7: ; preds = %if.end4 + %28 = bitcast %struct.fd_set* %in_except to i8* + %29 = call i8* @memset(i8* %28, i32 0, i64 128) + br label %if.end8 + +if.end8: ; preds = %if.else7, %if.then6 + %30 = bitcast %struct.fd_set* %os_read to i8* + %31 = call i8* @memset(i8* %30, i32 0, i64 128) + %32 = bitcast %struct.fd_set* %os_write to i8* + %33 = call i8* @memset(i8* %32, i32 0, i64 128) + %34 = bitcast %struct.fd_set* %os_except to i8* + %35 = call i8* @memset(i8* %34, i32 0, i64 128) + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end8 + %36 = load i32, i32* %i, align 4 + %37 = load i32, i32* %nfds.addr, align 4 + %cmp = icmp slt i32 %36, %37 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %fds_bits = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_read, i32 0, i32 0 + %38 = load i32, i32* %i, align 4 + %div = sdiv i32 %38, 64 + %idxprom = sext i32 %div to i64 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits, i64 0, i64 %idxprom + %39 = load i64, i64* %arrayidx, align 8 + %40 = load i32, i32* %i, align 4 + %rem = srem i32 %40, 64 + %shl = shl i32 1, %rem + %conv = sext i32 %shl to i64 + %and = and i64 %39, %conv + %tobool9 = icmp ne i64 %and, 0 + br i1 %tobool9, label %if.then29, label %lor.lhs.false + +lor.lhs.false: ; preds = %for.body + %fds_bits10 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_write, i32 0, i32 0 + %41 = load i32, i32* %i, align 4 + %div11 = sdiv i32 %41, 64 + %idxprom12 = sext i32 %div11 to i64 + %arrayidx13 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits10, i64 0, i64 %idxprom12 + %42 = load i64, i64* %arrayidx13, align 8 + %43 = load i32, i32* %i, align 4 + %rem14 = srem i32 %43, 64 + %shl15 = shl i32 1, %rem14 + %conv16 = sext i32 %shl15 to i64 + %and17 = and i64 %42, %conv16 + %tobool18 = icmp ne i64 %and17, 0 + br i1 %tobool18, label %if.then29, label %lor.lhs.false19 + +lor.lhs.false19: ; preds = %lor.lhs.false + %fds_bits20 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_except, i32 0, i32 0 + %44 = load i32, i32* %i, align 4 + %div21 = sdiv i32 %44, 64 + %idxprom22 = sext i32 %div21 to i64 + %arrayidx23 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits20, i64 0, i64 %idxprom22 + %45 = load i64, i64* %arrayidx23, align 8 + %46 = load i32, i32* %i, align 4 + %rem24 = srem i32 %46, 64 + %shl25 = shl i32 1, %rem24 + %conv26 = sext i32 %shl25 to i64 + %and27 = and i64 %45, %conv26 + %tobool28 = icmp ne i64 %and27, 0 + br i1 %tobool28, label %if.then29, label %for.inc + +if.then29: ; preds = %lor.lhs.false19, %lor.lhs.false, %for.body + %47 = load i32, i32* %i, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %47) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %48 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool30 = icmp ne %struct.exe_file_t* %48, null + br i1 %tobool30, label %if.else33, label %if.then31 + +if.then31: ; preds = %if.then29 + %call32 = call i32* @__errno_location() #25 + store i32 9, i32* %call32, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else33: ; preds = %if.then29 + %49 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %49, i32 0, i32 3 + %50 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool34 = icmp ne %struct.exe_disk_file_t* %50, null + %fds_bits36 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_read, i32 0, i32 0 + %51 = load i32, i32* %i, align 4 + %div37 = sdiv i32 %51, 64 + %idxprom38 = sext i32 %div37 to i64 + %arrayidx39 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits36, i64 0, i64 %idxprom38 + %52 = load i64, i64* %arrayidx39, align 8 + %53 = load i32, i32* %i, align 4 + %rem40 = srem i32 %53, 64 + %shl41 = shl i32 1, %rem40 + %conv42 = sext i32 %shl41 to i64 + %and43 = and i64 %52, %conv42 + %tobool44 = icmp ne i64 %and43, 0 + br i1 %tobool34, label %if.then35, label %if.else92 + +if.then35: ; preds = %if.else33 + br i1 %tobool44, label %if.then45, label %if.end53 + +if.then45: ; preds = %if.then35 + %54 = load i32, i32* %i, align 4 + %rem46 = srem i32 %54, 64 + %shl47 = shl i32 1, %rem46 + %conv48 = sext i32 %shl47 to i64 + %55 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %fds_bits49 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %55, i32 0, i32 0 + %56 = load i32, i32* %i, align 4 + %div50 = sdiv i32 %56, 64 + %idxprom51 = sext i32 %div50 to i64 + %arrayidx52 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits49, i64 0, i64 %idxprom51 + %57 = load i64, i64* %arrayidx52, align 8 + %or = or i64 %57, %conv48 + store i64 %or, i64* %arrayidx52, align 8 + br label %if.end53 + +if.end53: ; preds = %if.then45, %if.then35 + %fds_bits54 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_write, i32 0, i32 0 + %58 = load i32, i32* %i, align 4 + %div55 = sdiv i32 %58, 64 + %idxprom56 = sext i32 %div55 to i64 + %arrayidx57 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits54, i64 0, i64 %idxprom56 + %59 = load i64, i64* %arrayidx57, align 8 + %60 = load i32, i32* %i, align 4 + %rem58 = srem i32 %60, 64 + %shl59 = shl i32 1, %rem58 + %conv60 = sext i32 %shl59 to i64 + %and61 = and i64 %59, %conv60 + %tobool62 = icmp ne i64 %and61, 0 + br i1 %tobool62, label %if.then63, label %if.end72 + +if.then63: ; preds = %if.end53 + %61 = load i32, i32* %i, align 4 + %rem64 = srem i32 %61, 64 + %shl65 = shl i32 1, %rem64 + %conv66 = sext i32 %shl65 to i64 + %62 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %fds_bits67 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %62, i32 0, i32 0 + %63 = load i32, i32* %i, align 4 + %div68 = sdiv i32 %63, 64 + %idxprom69 = sext i32 %div68 to i64 + %arrayidx70 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits67, i64 0, i64 %idxprom69 + %64 = load i64, i64* %arrayidx70, align 8 + %or71 = or i64 %64, %conv66 + store i64 %or71, i64* %arrayidx70, align 8 + br label %if.end72 + +if.end72: ; preds = %if.then63, %if.end53 + %fds_bits73 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_except, i32 0, i32 0 + %65 = load i32, i32* %i, align 4 + %div74 = sdiv i32 %65, 64 + %idxprom75 = sext i32 %div74 to i64 + %arrayidx76 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits73, i64 0, i64 %idxprom75 + %66 = load i64, i64* %arrayidx76, align 8 + %67 = load i32, i32* %i, align 4 + %rem77 = srem i32 %67, 64 + %shl78 = shl i32 1, %rem77 + %conv79 = sext i32 %shl78 to i64 + %and80 = and i64 %66, %conv79 + %tobool81 = icmp ne i64 %and80, 0 + br i1 %tobool81, label %if.then82, label %if.end91 + +if.then82: ; preds = %if.end72 + %68 = load i32, i32* %i, align 4 + %rem83 = srem i32 %68, 64 + %shl84 = shl i32 1, %rem83 + %conv85 = sext i32 %shl84 to i64 + %69 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %fds_bits86 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %69, i32 0, i32 0 + %70 = load i32, i32* %i, align 4 + %div87 = sdiv i32 %70, 64 + %idxprom88 = sext i32 %div87 to i64 + %arrayidx89 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits86, i64 0, i64 %idxprom88 + %71 = load i64, i64* %arrayidx89, align 8 + %or90 = or i64 %71, %conv85 + store i64 %or90, i64* %arrayidx89, align 8 + br label %if.end91 + +if.end91: ; preds = %if.then82, %if.end72 + %72 = load i32, i32* %count, align 4 + %inc = add nsw i32 %72, 1 + store i32 %inc, i32* %count, align 4 + br label %for.inc + +if.else92: ; preds = %if.else33 + br i1 %tobool44, label %if.then102, label %if.end112 + +if.then102: ; preds = %if.else92 + %73 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %73, i32 0, i32 0 + %74 = load i32, i32* %fd, align 8 + %rem103 = srem i32 %74, 64 + %shl104 = shl i32 1, %rem103 + %conv105 = sext i32 %shl104 to i64 + %fds_bits106 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_read, i32 0, i32 0 + %75 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd107 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %75, i32 0, i32 0 + %76 = load i32, i32* %fd107, align 8 + %div108 = sdiv i32 %76, 64 + %idxprom109 = sext i32 %div108 to i64 + %arrayidx110 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits106, i64 0, i64 %idxprom109 + %77 = load i64, i64* %arrayidx110, align 8 + %or111 = or i64 %77, %conv105 + store i64 %or111, i64* %arrayidx110, align 8 + br label %if.end112 + +if.end112: ; preds = %if.then102, %if.else92 + %fds_bits113 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_write, i32 0, i32 0 + %78 = load i32, i32* %i, align 4 + %div114 = sdiv i32 %78, 64 + %idxprom115 = sext i32 %div114 to i64 + %arrayidx116 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits113, i64 0, i64 %idxprom115 + %79 = load i64, i64* %arrayidx116, align 8 + %80 = load i32, i32* %i, align 4 + %rem117 = srem i32 %80, 64 + %shl118 = shl i32 1, %rem117 + %conv119 = sext i32 %shl118 to i64 + %and120 = and i64 %79, %conv119 + %tobool121 = icmp ne i64 %and120, 0 + br i1 %tobool121, label %if.then122, label %if.end133 + +if.then122: ; preds = %if.end112 + %81 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd123 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %81, i32 0, i32 0 + %82 = load i32, i32* %fd123, align 8 + %rem124 = srem i32 %82, 64 + %shl125 = shl i32 1, %rem124 + %conv126 = sext i32 %shl125 to i64 + %fds_bits127 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_write, i32 0, i32 0 + %83 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd128 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %83, i32 0, i32 0 + %84 = load i32, i32* %fd128, align 8 + %div129 = sdiv i32 %84, 64 + %idxprom130 = sext i32 %div129 to i64 + %arrayidx131 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits127, i64 0, i64 %idxprom130 + %85 = load i64, i64* %arrayidx131, align 8 + %or132 = or i64 %85, %conv126 + store i64 %or132, i64* %arrayidx131, align 8 + br label %if.end133 + +if.end133: ; preds = %if.then122, %if.end112 + %fds_bits134 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_except, i32 0, i32 0 + %86 = load i32, i32* %i, align 4 + %div135 = sdiv i32 %86, 64 + %idxprom136 = sext i32 %div135 to i64 + %arrayidx137 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits134, i64 0, i64 %idxprom136 + %87 = load i64, i64* %arrayidx137, align 8 + %88 = load i32, i32* %i, align 4 + %rem138 = srem i32 %88, 64 + %shl139 = shl i32 1, %rem138 + %conv140 = sext i32 %shl139 to i64 + %and141 = and i64 %87, %conv140 + %tobool142 = icmp ne i64 %and141, 0 + br i1 %tobool142, label %if.then143, label %if.end154 + +if.then143: ; preds = %if.end133 + %89 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd144 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %89, i32 0, i32 0 + %90 = load i32, i32* %fd144, align 8 + %rem145 = srem i32 %90, 64 + %shl146 = shl i32 1, %rem145 + %conv147 = sext i32 %shl146 to i64 + %fds_bits148 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_except, i32 0, i32 0 + %91 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd149 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %91, i32 0, i32 0 + %92 = load i32, i32* %fd149, align 8 + %div150 = sdiv i32 %92, 64 + %idxprom151 = sext i32 %div150 to i64 + %arrayidx152 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits148, i64 0, i64 %idxprom151 + %93 = load i64, i64* %arrayidx152, align 8 + %or153 = or i64 %93, %conv147 + store i64 %or153, i64* %arrayidx152, align 8 + br label %if.end154 + +if.end154: ; preds = %if.then143, %if.end133 + %94 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd155 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %94, i32 0, i32 0 + %95 = load i32, i32* %fd155, align 8 + %96 = load i32, i32* %os_nfds, align 4 + %cmp156 = icmp sge i32 %95, %96 + br i1 %cmp156, label %if.then158, label %for.inc + +if.then158: ; preds = %if.end154 + %97 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd159 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %97, i32 0, i32 0 + %98 = load i32, i32* %fd159, align 8 + %add = add nsw i32 %98, 1 + store i32 %add, i32* %os_nfds, align 4 + br label %for.inc + +for.inc: ; preds = %lor.lhs.false19, %if.end91, %if.then158, %if.end154 + %99 = load i32, i32* %i, align 4 + %inc164 = add nsw i32 %99, 1 + store i32 %inc164, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %100 = load i32, i32* %os_nfds, align 4 + %cmp165 = icmp sgt i32 %100, 0 + br i1 %cmp165, label %if.then167, label %if.end262 + +if.then167: ; preds = %for.end + %101 = bitcast %struct.timespec* %tv to i8* + %102 = call i8* @memset(i8* %101, i32 0, i64 16) + %103 = load i32, i32* %os_nfds, align 4 + %call168 = call i64 (i64, ...) @syscall(i64 23, i32 %103, %struct.fd_set* %os_read, %struct.fd_set* %os_write, %struct.fd_set* %os_except, %struct.timespec* %tv) #11 + %conv169 = trunc i64 %call168 to i32 + store i32 %conv169, i32* %r, align 4 + %104 = load i32, i32* %r, align 4 + %cmp170 = icmp eq i32 %104, -1 + br i1 %cmp170, label %if.then172, label %if.else176 + +if.then172: ; preds = %if.then167 + %105 = load i32, i32* %count, align 4 + %tobool173 = icmp ne i32 %105, 0 + br i1 %tobool173, label %if.end262, label %if.then174 + +if.then174: ; preds = %if.then172 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else176: ; preds = %if.then167 + %106 = load i32, i32* %r, align 4 + %107 = load i32, i32* %count, align 4 + %add177 = add nsw i32 %107, %106 + store i32 %add177, i32* %count, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond178 + +for.cond178: ; preds = %for.inc258, %if.else176 + %108 = load i32, i32* %i, align 4 + %109 = load i32, i32* %nfds.addr, align 4 + %cmp179 = icmp slt i32 %108, %109 + br i1 %cmp179, label %for.body181, label %if.end262 + +for.body181: ; preds = %for.cond178 + %110 = load i32, i32* %i, align 4 + %call183 = call %struct.exe_file_t* @__get_file(i32 %110) + store %struct.exe_file_t* %call183, %struct.exe_file_t** %f182, align 8 + %111 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %tobool184 = icmp ne %struct.exe_file_t* %111, null + br i1 %tobool184, label %land.lhs.true, label %for.inc258 + +land.lhs.true: ; preds = %for.body181 + %112 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %dfile185 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %112, i32 0, i32 3 + %113 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile185, align 8 + %tobool186 = icmp ne %struct.exe_disk_file_t* %113, null + br i1 %tobool186, label %for.inc258, label %if.then187 + +if.then187: ; preds = %land.lhs.true + %114 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %tobool188 = icmp ne %struct.fd_set* %114, null + br i1 %tobool188, label %land.lhs.true189, label %if.end210 + +land.lhs.true189: ; preds = %if.then187 + %fds_bits190 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_read, i32 0, i32 0 + %115 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd191 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %115, i32 0, i32 0 + %116 = load i32, i32* %fd191, align 8 + %div192 = sdiv i32 %116, 64 + %idxprom193 = sext i32 %div192 to i64 + %arrayidx194 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits190, i64 0, i64 %idxprom193 + %117 = load i64, i64* %arrayidx194, align 8 + %118 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd195 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %118, i32 0, i32 0 + %119 = load i32, i32* %fd195, align 8 + %rem196 = srem i32 %119, 64 + %shl197 = shl i32 1, %rem196 + %conv198 = sext i32 %shl197 to i64 + %and199 = and i64 %117, %conv198 + %tobool200 = icmp ne i64 %and199, 0 + br i1 %tobool200, label %if.then201, label %if.end210 + +if.then201: ; preds = %land.lhs.true189 + %120 = load i32, i32* %i, align 4 + %rem202 = srem i32 %120, 64 + %shl203 = shl i32 1, %rem202 + %conv204 = sext i32 %shl203 to i64 + %121 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %fds_bits205 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %121, i32 0, i32 0 + %122 = load i32, i32* %i, align 4 + %div206 = sdiv i32 %122, 64 + %idxprom207 = sext i32 %div206 to i64 + %arrayidx208 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits205, i64 0, i64 %idxprom207 + %123 = load i64, i64* %arrayidx208, align 8 + %or209 = or i64 %123, %conv204 + store i64 %or209, i64* %arrayidx208, align 8 + br label %if.end210 + +if.end210: ; preds = %if.then201, %land.lhs.true189, %if.then187 + %124 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %tobool211 = icmp ne %struct.fd_set* %124, null + br i1 %tobool211, label %land.lhs.true212, label %if.end233 + +land.lhs.true212: ; preds = %if.end210 + %fds_bits213 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_write, i32 0, i32 0 + %125 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd214 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %125, i32 0, i32 0 + %126 = load i32, i32* %fd214, align 8 + %div215 = sdiv i32 %126, 64 + %idxprom216 = sext i32 %div215 to i64 + %arrayidx217 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits213, i64 0, i64 %idxprom216 + %127 = load i64, i64* %arrayidx217, align 8 + %128 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd218 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %128, i32 0, i32 0 + %129 = load i32, i32* %fd218, align 8 + %rem219 = srem i32 %129, 64 + %shl220 = shl i32 1, %rem219 + %conv221 = sext i32 %shl220 to i64 + %and222 = and i64 %127, %conv221 + %tobool223 = icmp ne i64 %and222, 0 + br i1 %tobool223, label %if.then224, label %if.end233 + +if.then224: ; preds = %land.lhs.true212 + %130 = load i32, i32* %i, align 4 + %rem225 = srem i32 %130, 64 + %shl226 = shl i32 1, %rem225 + %conv227 = sext i32 %shl226 to i64 + %131 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %fds_bits228 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %131, i32 0, i32 0 + %132 = load i32, i32* %i, align 4 + %div229 = sdiv i32 %132, 64 + %idxprom230 = sext i32 %div229 to i64 + %arrayidx231 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits228, i64 0, i64 %idxprom230 + %133 = load i64, i64* %arrayidx231, align 8 + %or232 = or i64 %133, %conv227 + store i64 %or232, i64* %arrayidx231, align 8 + br label %if.end233 + +if.end233: ; preds = %if.then224, %land.lhs.true212, %if.end210 + %134 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %tobool234 = icmp ne %struct.fd_set* %134, null + br i1 %tobool234, label %land.lhs.true235, label %for.inc258 + +land.lhs.true235: ; preds = %if.end233 + %fds_bits236 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_except, i32 0, i32 0 + %135 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd237 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %135, i32 0, i32 0 + %136 = load i32, i32* %fd237, align 8 + %div238 = sdiv i32 %136, 64 + %idxprom239 = sext i32 %div238 to i64 + %arrayidx240 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits236, i64 0, i64 %idxprom239 + %137 = load i64, i64* %arrayidx240, align 8 + %138 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd241 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %138, i32 0, i32 0 + %139 = load i32, i32* %fd241, align 8 + %rem242 = srem i32 %139, 64 + %shl243 = shl i32 1, %rem242 + %conv244 = sext i32 %shl243 to i64 + %and245 = and i64 %137, %conv244 + %tobool246 = icmp ne i64 %and245, 0 + br i1 %tobool246, label %if.then247, label %for.inc258 + +if.then247: ; preds = %land.lhs.true235 + %140 = load i32, i32* %i, align 4 + %rem248 = srem i32 %140, 64 + %shl249 = shl i32 1, %rem248 + %conv250 = sext i32 %shl249 to i64 + %141 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %fds_bits251 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %141, i32 0, i32 0 + %142 = load i32, i32* %i, align 4 + %div252 = sdiv i32 %142, 64 + %idxprom253 = sext i32 %div252 to i64 + %arrayidx254 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits251, i64 0, i64 %idxprom253 + %143 = load i64, i64* %arrayidx254, align 8 + %or255 = or i64 %143, %conv250 + store i64 %or255, i64* %arrayidx254, align 8 + br label %for.inc258 + +for.inc258: ; preds = %for.body181, %land.lhs.true, %if.then247, %land.lhs.true235, %if.end233 + %144 = load i32, i32* %i, align 4 + %inc259 = add nsw i32 %144, 1 + store i32 %inc259, i32* %i, align 4 + br label %for.cond178 + +if.end262: ; preds = %if.then172, %for.cond178, %for.end + %145 = load i32, i32* %count, align 4 + store i32 %145, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end262, %if.then174, %if.then31 + %146 = load i32, i32* %retval, align 4 + ret i32 %146 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chroot(i8* nonnull %path) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %0, i64 0 + %1 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call = call i32* @__errno_location() #25 + store i32 2, i32* %call, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %path.addr, align 8 + %arrayidx2 = getelementptr inbounds i8, i8* %2, i64 0 + %3 = load i8, i8* %arrayidx2, align 1 + %conv3 = sext i8 %3 to i32 + %cmp4 = icmp eq i32 %conv3, 47 + br i1 %cmp4, label %land.lhs.true, label %if.end11 + +land.lhs.true: ; preds = %if.end + %4 = load i8*, i8** %path.addr, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %4, i64 1 + %5 = load i8, i8* %arrayidx6, align 1 + %conv7 = sext i8 %5 to i32 + %cmp8 = icmp eq i32 %conv7, 0 + br i1 %cmp8, label %if.then10, label %if.end11 + +if.then10: ; preds = %land.lhs.true + store i32 0, i32* %retval, align 4 + br label %return + +if.end11: ; preds = %land.lhs.true, %if.end + call void @gs_warning(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.24, i64 0, i64 0)) + %call12 = call i32* @__errno_location() #25 + store i32 2, i32* %call12, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end11, %if.then10, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @open(i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i8*, i8** %pathname.addr, align 8 + %8 = load i32, i32* %flags.addr, align 4 + %9 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_open(i8* %7, i32 %8, i32 %9) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @openat(i32 %fd, i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %fd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i32, i32* %fd.addr, align 4 + %8 = load i8*, i8** %pathname.addr, align 8 + %9 = load i32, i32* %flags.addr, align 4 + %10 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_openat(i32 %7, i8* %8, i32 %9, i32 %10) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @lseek(i32 %fd, i64 %off, i32 %whence) #3 { +entry: + %fd.addr = alloca i32, align 4 + %off.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %off, i64* %off.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %off.addr, align 8 + %2 = load i32, i32* %whence.addr, align 4 + %call = call i64 @__fd_lseek(i32 %0, i64 %1, i32 %2) + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__xstat(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__stat64_to_stat(%struct.stat64* %a, %struct.stat64* %b) #3 { +entry: + %a.addr = alloca %struct.stat64*, align 8 + %b.addr = alloca %struct.stat64*, align 8 + store %struct.stat64* %a, %struct.stat64** %a.addr, align 8 + store %struct.stat64* %b, %struct.stat64** %b.addr, align 8 + %0 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_dev = getelementptr inbounds %struct.stat64, %struct.stat64* %0, i32 0, i32 0 + %1 = load i64, i64* %st_dev, align 8 + %2 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_dev1 = getelementptr inbounds %struct.stat64, %struct.stat64* %2, i32 0, i32 0 + store i64 %1, i64* %st_dev1, align 8 + %3 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 1 + %4 = load i64, i64* %st_ino, align 8 + %5 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_ino2 = getelementptr inbounds %struct.stat64, %struct.stat64* %5, i32 0, i32 1 + store i64 %4, i64* %st_ino2, align 8 + %6 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 3 + %7 = load i32, i32* %st_mode, align 8 + %8 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_mode3 = getelementptr inbounds %struct.stat64, %struct.stat64* %8, i32 0, i32 3 + store i32 %7, i32* %st_mode3, align 8 + %9 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_nlink = getelementptr inbounds %struct.stat64, %struct.stat64* %9, i32 0, i32 2 + %10 = load i64, i64* %st_nlink, align 8 + %11 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_nlink4 = getelementptr inbounds %struct.stat64, %struct.stat64* %11, i32 0, i32 2 + store i64 %10, i64* %st_nlink4, align 8 + %12 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_uid = getelementptr inbounds %struct.stat64, %struct.stat64* %12, i32 0, i32 4 + %13 = load i32, i32* %st_uid, align 4 + %14 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_uid5 = getelementptr inbounds %struct.stat64, %struct.stat64* %14, i32 0, i32 4 + store i32 %13, i32* %st_uid5, align 4 + %15 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_gid = getelementptr inbounds %struct.stat64, %struct.stat64* %15, i32 0, i32 5 + %16 = load i32, i32* %st_gid, align 8 + %17 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_gid6 = getelementptr inbounds %struct.stat64, %struct.stat64* %17, i32 0, i32 5 + store i32 %16, i32* %st_gid6, align 8 + %18 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_rdev = getelementptr inbounds %struct.stat64, %struct.stat64* %18, i32 0, i32 7 + %19 = load i64, i64* %st_rdev, align 8 + %20 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_rdev7 = getelementptr inbounds %struct.stat64, %struct.stat64* %20, i32 0, i32 7 + store i64 %19, i64* %st_rdev7, align 8 + %21 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_size = getelementptr inbounds %struct.stat64, %struct.stat64* %21, i32 0, i32 8 + %22 = load i64, i64* %st_size, align 8 + %23 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_size8 = getelementptr inbounds %struct.stat64, %struct.stat64* %23, i32 0, i32 8 + store i64 %22, i64* %st_size8, align 8 + %24 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_atim = getelementptr inbounds %struct.stat64, %struct.stat64* %24, i32 0, i32 11 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim, i32 0, i32 0 + %25 = load i64, i64* %tv_sec, align 8 + %26 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_atim9 = getelementptr inbounds %struct.stat64, %struct.stat64* %26, i32 0, i32 11 + %tv_sec10 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim9, i32 0, i32 0 + store i64 %25, i64* %tv_sec10, align 8 + %27 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_mtim = getelementptr inbounds %struct.stat64, %struct.stat64* %27, i32 0, i32 12 + %tv_sec11 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim, i32 0, i32 0 + %28 = load i64, i64* %tv_sec11, align 8 + %29 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_mtim12 = getelementptr inbounds %struct.stat64, %struct.stat64* %29, i32 0, i32 12 + %tv_sec13 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim12, i32 0, i32 0 + store i64 %28, i64* %tv_sec13, align 8 + %30 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_ctim = getelementptr inbounds %struct.stat64, %struct.stat64* %30, i32 0, i32 13 + %tv_sec14 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim, i32 0, i32 0 + %31 = load i64, i64* %tv_sec14, align 8 + %32 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_ctim15 = getelementptr inbounds %struct.stat64, %struct.stat64* %32, i32 0, i32 13 + %tv_sec16 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim15, i32 0, i32 0 + store i64 %31, i64* %tv_sec16, align 8 + %33 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_blksize = getelementptr inbounds %struct.stat64, %struct.stat64* %33, i32 0, i32 9 + %34 = load i64, i64* %st_blksize, align 8 + %35 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_blksize17 = getelementptr inbounds %struct.stat64, %struct.stat64* %35, i32 0, i32 9 + store i64 %34, i64* %st_blksize17, align 8 + %36 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_blocks = getelementptr inbounds %struct.stat64, %struct.stat64* %36, i32 0, i32 10 + %37 = load i64, i64* %st_blocks, align 8 + %38 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_blocks18 = getelementptr inbounds %struct.stat64, %struct.stat64* %38, i32 0, i32 10 + store i64 %37, i64* %st_blocks18, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @stat(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__lxstat(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @lstat(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fxstat(i32 %vers, i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %vers, i32* %vers.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstat(i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @ftruncate(i32 %fd, i64 %length) #3 { +entry: + %fd.addr = alloca i32, align 4 + %length.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %length, i64* %length.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %length.addr, align 8 + %call = call i32 @__fd_ftruncate(i32 %0, i64 %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @statfs(i8* nonnull %path, %struct.statfs* nonnull %buf32) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf32.addr = alloca %struct.statfs*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.statfs* %buf32, %struct.statfs** %buf32.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.statfs*, %struct.statfs** %buf32.addr, align 8 + %call = call i32 @__fd_statfs(i8* %0, %struct.statfs* %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @getdents(i32 %fd, %struct.dirent64* %dirp, i64 %nbytes) #3 { +entry: + %fd.addr = alloca i32, align 4 + %dirp.addr = alloca %struct.dirent64*, align 8 + %nbytes.addr = alloca i64, align 8 + %dp64 = alloca %struct.dirent64*, align 8 + %res = alloca i64, align 8 + %end = alloca %struct.dirent64*, align 8 + %dp = alloca %struct.dirent64*, align 8 + %name_len = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.dirent64* %dirp, %struct.dirent64** %dirp.addr, align 8 + store i64 %nbytes, i64* %nbytes.addr, align 8 + %0 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %1 = bitcast %struct.dirent64* %0 to %struct.dirent64* + store %struct.dirent64* %1, %struct.dirent64** %dp64, align 8 + %2 = load i32, i32* %fd.addr, align 4 + %3 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %4 = load i64, i64* %nbytes.addr, align 8 + %conv = trunc i64 %4 to i32 + %call = call i32 @__fd_getdents(i32 %2, %struct.dirent64* %3, i32 %conv) + %conv1 = sext i32 %call to i64 + store i64 %conv1, i64* %res, align 8 + %5 = load i64, i64* %res, align 8 + %cmp = icmp sgt i64 %5, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %6 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %7 = bitcast %struct.dirent64* %6 to i8* + %8 = load i64, i64* %res, align 8 + %add.ptr = getelementptr inbounds i8, i8* %7, i64 %8 + %9 = bitcast i8* %add.ptr to %struct.dirent64* + store %struct.dirent64* %9, %struct.dirent64** %end, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.then + %10 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %11 = load %struct.dirent64*, %struct.dirent64** %end, align 8 + %cmp3 = icmp ult %struct.dirent64* %10, %11 + br i1 %cmp3, label %while.body, label %if.end + +while.body: ; preds = %while.cond + %12 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %13 = bitcast %struct.dirent64* %12 to %struct.dirent64* + store %struct.dirent64* %13, %struct.dirent64** %dp, align 8 + %14 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_reclen = getelementptr inbounds %struct.dirent64, %struct.dirent64* %14, i32 0, i32 2 + %15 = load i16, i16* %d_reclen, align 8 + %conv5 = zext i16 %15 to i64 + %sub = sub i64 %conv5, ptrtoint ([256 x i8]* getelementptr inbounds (%struct.dirent64, %struct.dirent64* null, i32 0, i32 4) to i64) + store i64 %sub, i64* %name_len, align 8 + %16 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_ino = getelementptr inbounds %struct.dirent64, %struct.dirent64* %16, i32 0, i32 0 + %17 = load i64, i64* %d_ino, align 8 + %18 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_ino6 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %18, i32 0, i32 0 + store i64 %17, i64* %d_ino6, align 8 + %19 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_off = getelementptr inbounds %struct.dirent64, %struct.dirent64* %19, i32 0, i32 1 + %20 = load i64, i64* %d_off, align 8 + %21 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_off7 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %21, i32 0, i32 1 + store i64 %20, i64* %d_off7, align 8 + %22 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_reclen8 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %22, i32 0, i32 2 + %23 = load i16, i16* %d_reclen8, align 8 + %24 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_reclen9 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %24, i32 0, i32 2 + store i16 %23, i16* %d_reclen9, align 8 + %25 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_type = getelementptr inbounds %struct.dirent64, %struct.dirent64* %25, i32 0, i32 3 + %26 = load i8, i8* %d_type, align 2 + %27 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_type10 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %27, i32 0, i32 3 + store i8 %26, i8* %d_type10, align 2 + %28 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_name = getelementptr inbounds %struct.dirent64, %struct.dirent64* %28, i32 0, i32 4 + %arraydecay = getelementptr inbounds [256 x i8], [256 x i8]* %d_name, i64 0, i64 0 + %29 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_name11 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %29, i32 0, i32 4 + %arraydecay12 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name11, i64 0, i64 0 + %30 = load i64, i64* %name_len, align 8 + %31 = call i8* @memmove(i8* %arraydecay, i8* %arraydecay12, i64 %30) + %32 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %33 = bitcast %struct.dirent64* %32 to i8* + %34 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_reclen13 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %34, i32 0, i32 2 + %35 = load i16, i16* %d_reclen13, align 8 + %conv14 = zext i16 %35 to i32 + %idx.ext = sext i32 %conv14 to i64 + %add.ptr15 = getelementptr inbounds i8, i8* %33, i64 %idx.ext + %36 = bitcast i8* %add.ptr15 to %struct.dirent64* + store %struct.dirent64* %36, %struct.dirent64** %dp64, align 8 + br label %while.cond + +if.end: ; preds = %while.cond, %entry + %37 = load i64, i64* %res, align 8 + ret i64 %37 +} + +; Function Attrs: argmemonly nounwind willreturn +declare void @llvm.memmove.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i1 immarg) #9 + +; Function Attrs: noinline nounwind uwtable +define dso_local void @klee_init_env(i32* %argcPtr, i8*** %argvPtr) #3 { +entry: + %argcPtr.addr = alloca i32*, align 8 + %argvPtr.addr = alloca i8***, align 8 + %argc = alloca i32, align 4 + %argv = alloca i8**, align 8 + %new_argc = alloca i32, align 4 + %n_args = alloca i32, align 4 + %new_argv = alloca [1024 x i8*], align 16 + %max_len = alloca i32, align 4 + %min_argvs = alloca i32, align 4 + %max_argvs = alloca i32, align 4 + %sym_files = alloca i32, align 4 + %sym_file_len = alloca i32, align 4 + %sym_stdin_len = alloca i32, align 4 + %sym_stdout_flag = alloca i32, align 4 + %save_all_writes_flag = alloca i32, align 4 + %fd_fail = alloca i32, align 4 + %final_argv = alloca i8**, align 8 + %sym_arg_name = alloca [6 x i8], align 1 + %sym_arg_num = alloca i32, align 4 + %k = alloca i32, align 4 + %i = alloca i32, align 4 + %msg = alloca i8*, align 8 + %msg40 = alloca i8*, align 8 + %msg105 = alloca i8*, align 8 + %msg145 = alloca i8*, align 8 + %msg215 = alloca i8*, align 8 + store i32* %argcPtr, i32** %argcPtr.addr, align 8 + store i8*** %argvPtr, i8**** %argvPtr.addr, align 8 + %0 = load i32*, i32** %argcPtr.addr, align 8 + %1 = load i32, i32* %0, align 4 + store i32 %1, i32* %argc, align 4 + %2 = load i8***, i8**** %argvPtr.addr, align 8 + %3 = load i8**, i8*** %2, align 8 + store i8** %3, i8*** %argv, align 8 + store i32 0, i32* %new_argc, align 4 + store i32 0, i32* %sym_files, align 4 + store i32 0, i32* %sym_file_len, align 4 + store i32 0, i32* %sym_stdin_len, align 4 + store i32 0, i32* %sym_stdout_flag, align 4 + store i32 0, i32* %save_all_writes_flag, align 4 + store i32 0, i32* %fd_fail, align 4 + %4 = bitcast [6 x i8]* %sym_arg_name to i8* + %5 = call i8* @memcpy(i8* %4, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @__const.klee_init_env.sym_arg_name, i32 0, i32 0), i64 6) + store i32 0, i32* %sym_arg_num, align 4 + store i32 0, i32* %k, align 4 + %arrayidx = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 5 + store i8 0, i8* %arrayidx, align 1 + %6 = load i32, i32* %argc, align 4 + %cmp = icmp eq i32 %6, 2 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %7 = load i8**, i8*** %argv, align 8 + %arrayidx1 = getelementptr inbounds i8*, i8** %7, i64 1 + %8 = load i8*, i8** %arrayidx1, align 8 + %call = call i32 @__streq(i8* %8, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.29, i64 0, i64 0)) + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + call void @__emit_error(i8* getelementptr inbounds ([964 x i8], [964 x i8]* @.str.1.30, i64 0, i64 0)) + br label %if.end + +if.end: ; preds = %if.then, %land.lhs.true, %entry + br label %while.cond + +while.cond: ; preds = %if.end239, %if.end + %9 = load i32, i32* %k, align 4 + %10 = load i32, i32* %argc, align 4 + %cmp2 = icmp slt i32 %9, %10 + br i1 %cmp2, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %11 = load i8**, i8*** %argv, align 8 + %12 = load i32, i32* %k, align 4 + %idxprom = sext i32 %12 to i64 + %arrayidx3 = getelementptr inbounds i8*, i8** %11, i64 %idxprom + %13 = load i8*, i8** %arrayidx3, align 8 + %call4 = call i32 @__streq(i8* %13, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.2.31, i64 0, i64 0)) + %tobool5 = icmp ne i32 %call4, 0 + br i1 %tobool5, label %if.then10, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.body + %14 = load i8**, i8*** %argv, align 8 + %15 = load i32, i32* %k, align 4 + %idxprom6 = sext i32 %15 to i64 + %arrayidx7 = getelementptr inbounds i8*, i8** %14, i64 %idxprom6 + %16 = load i8*, i8** %arrayidx7, align 8 + %call8 = call i32 @__streq(i8* %16, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.32, i64 0, i64 0)) + %tobool9 = icmp ne i32 %call8, 0 + br i1 %tobool9, label %if.then10, label %if.else + +if.then10: ; preds = %lor.lhs.false, %while.body + store i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.4.33, i64 0, i64 0), i8** %msg, align 8 + %17 = load i32, i32* %k, align 4 + %inc = add nsw i32 %17, 1 + store i32 %inc, i32* %k, align 4 + %18 = load i32, i32* %argc, align 4 + %cmp11 = icmp eq i32 %inc, %18 + br i1 %cmp11, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.then10 + %19 = load i8*, i8** %msg, align 8 + call void @__emit_error(i8* %19) + br label %if.end13 + +if.end13: ; preds = %if.then12, %if.then10 + %20 = load i8**, i8*** %argv, align 8 + %21 = load i32, i32* %k, align 4 + %inc14 = add nsw i32 %21, 1 + store i32 %inc14, i32* %k, align 4 + %idxprom15 = sext i32 %21 to i64 + %arrayidx16 = getelementptr inbounds i8*, i8** %20, i64 %idxprom15 + %22 = load i8*, i8** %arrayidx16, align 8 + %23 = load i8*, i8** %msg, align 8 + %call17 = call i64 @__str_to_int(i8* %22, i8* %23) + %conv = trunc i64 %call17 to i32 + store i32 %conv, i32* %max_len, align 4 + %24 = load i32, i32* %sym_arg_num, align 4 + %cmp18 = icmp ugt i32 %24, 99 + br i1 %cmp18, label %if.then20, label %if.end21 + +if.then20: ; preds = %if.end13 + call void @__emit_error(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.5.34, i64 0, i64 0)) + br label %if.end21 + +if.end21: ; preds = %if.then20, %if.end13 + %25 = load i32, i32* %sym_arg_num, align 4 + %div = udiv i32 %25, 10 + %add = add i32 48, %div + %conv22 = trunc i32 %add to i8 + %arrayidx23 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 3 + store i8 %conv22, i8* %arrayidx23, align 1 + %26 = load i32, i32* %sym_arg_num, align 4 + %rem = urem i32 %26, 10 + %add24 = add i32 48, %rem + %conv25 = trunc i32 %add24 to i8 + %arrayidx26 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 4 + store i8 %conv25, i8* %arrayidx26, align 1 + %27 = load i32, i32* %sym_arg_num, align 4 + %inc27 = add i32 %27, 1 + store i32 %inc27, i32* %sym_arg_num, align 4 + %arraydecay = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %28 = load i32, i32* %max_len, align 4 + %arraydecay28 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 0 + %call29 = call i8* @__get_sym_str(i32 %28, i8* %arraydecay28) + call void @__add_arg(i32* %new_argc, i8** %arraydecay, i8* %call29, i32 1024) + br label %if.end239 + +if.else: ; preds = %lor.lhs.false + %29 = load i8**, i8*** %argv, align 8 + %30 = load i32, i32* %k, align 4 + %idxprom30 = sext i32 %30 to i64 + %arrayidx31 = getelementptr inbounds i8*, i8** %29, i64 %idxprom30 + %31 = load i8*, i8** %arrayidx31, align 8 + %call32 = call i32 @__streq(i8* %31, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.6.35, i64 0, i64 0)) + %tobool33 = icmp ne i32 %call32, 0 + br i1 %tobool33, label %if.then39, label %lor.lhs.false34 + +lor.lhs.false34: ; preds = %if.else + %32 = load i8**, i8*** %argv, align 8 + %33 = load i32, i32* %k, align 4 + %idxprom35 = sext i32 %33 to i64 + %arrayidx36 = getelementptr inbounds i8*, i8** %32, i64 %idxprom35 + %34 = load i8*, i8** %arrayidx36, align 8 + %call37 = call i32 @__streq(i8* %34, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.7.36, i64 0, i64 0)) + %tobool38 = icmp ne i32 %call37, 0 + br i1 %tobool38, label %if.then39, label %if.else94 + +if.then39: ; preds = %lor.lhs.false34, %if.else + store i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.8.37, i64 0, i64 0), i8** %msg40, align 8 + %35 = load i32, i32* %k, align 4 + %add41 = add nsw i32 %35, 3 + %36 = load i32, i32* %argc, align 4 + %cmp42 = icmp sge i32 %add41, %36 + br i1 %cmp42, label %if.then44, label %if.end45 + +if.then44: ; preds = %if.then39 + %37 = load i8*, i8** %msg40, align 8 + call void @__emit_error(i8* %37) + br label %if.end45 + +if.end45: ; preds = %if.then44, %if.then39 + %38 = load i32, i32* %k, align 4 + %inc46 = add nsw i32 %38, 1 + store i32 %inc46, i32* %k, align 4 + %39 = load i8**, i8*** %argv, align 8 + %40 = load i32, i32* %k, align 4 + %inc47 = add nsw i32 %40, 1 + store i32 %inc47, i32* %k, align 4 + %idxprom48 = sext i32 %40 to i64 + %arrayidx49 = getelementptr inbounds i8*, i8** %39, i64 %idxprom48 + %41 = load i8*, i8** %arrayidx49, align 8 + %42 = load i8*, i8** %msg40, align 8 + %call50 = call i64 @__str_to_int(i8* %41, i8* %42) + %conv51 = trunc i64 %call50 to i32 + store i32 %conv51, i32* %min_argvs, align 4 + %43 = load i8**, i8*** %argv, align 8 + %44 = load i32, i32* %k, align 4 + %inc52 = add nsw i32 %44, 1 + store i32 %inc52, i32* %k, align 4 + %idxprom53 = sext i32 %44 to i64 + %arrayidx54 = getelementptr inbounds i8*, i8** %43, i64 %idxprom53 + %45 = load i8*, i8** %arrayidx54, align 8 + %46 = load i8*, i8** %msg40, align 8 + %call55 = call i64 @__str_to_int(i8* %45, i8* %46) + %conv56 = trunc i64 %call55 to i32 + store i32 %conv56, i32* %max_argvs, align 4 + %47 = load i8**, i8*** %argv, align 8 + %48 = load i32, i32* %k, align 4 + %inc57 = add nsw i32 %48, 1 + store i32 %inc57, i32* %k, align 4 + %idxprom58 = sext i32 %48 to i64 + %arrayidx59 = getelementptr inbounds i8*, i8** %47, i64 %idxprom58 + %49 = load i8*, i8** %arrayidx59, align 8 + %50 = load i8*, i8** %msg40, align 8 + %call60 = call i64 @__str_to_int(i8* %49, i8* %50) + %conv61 = trunc i64 %call60 to i32 + store i32 %conv61, i32* %max_len, align 4 + %51 = load i32, i32* %min_argvs, align 4 + %52 = load i32, i32* %max_argvs, align 4 + %cmp62 = icmp ugt i32 %51, %52 + br i1 %cmp62, label %if.then70, label %lor.lhs.false64 + +lor.lhs.false64: ; preds = %if.end45 + %53 = load i32, i32* %min_argvs, align 4 + %cmp65 = icmp eq i32 %53, 0 + %54 = load i32, i32* %max_argvs, align 4 + %cmp68 = icmp eq i32 %54, 0 + %or.cond = and i1 %cmp65, %cmp68 + br i1 %or.cond, label %if.then70, label %if.end71 + +if.then70: ; preds = %lor.lhs.false64, %if.end45 + call void @__emit_error(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.9.38, i64 0, i64 0)) + br label %if.end71 + +if.end71: ; preds = %if.then70, %lor.lhs.false64 + %55 = load i32, i32* %min_argvs, align 4 + %56 = load i32, i32* %max_argvs, align 4 + %add72 = add i32 %56, 1 + %call73 = call i32 @gs_range(i32 %55, i32 %add72, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.10.39, i64 0, i64 0)) + store i32 %call73, i32* %n_args, align 4 + %57 = load i32, i32* %sym_arg_num, align 4 + %58 = load i32, i32* %max_argvs, align 4 + %add74 = add i32 %57, %58 + %cmp75 = icmp ugt i32 %add74, 99 + br i1 %cmp75, label %if.then77, label %if.end78 + +if.then77: ; preds = %if.end71 + call void @__emit_error(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.5.34, i64 0, i64 0)) + br label %if.end78 + +if.end78: ; preds = %if.then77, %if.end71 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end78 + %59 = load i32, i32* %i, align 4 + %60 = load i32, i32* %n_args, align 4 + %cmp79 = icmp slt i32 %59, %60 + br i1 %cmp79, label %for.body, label %if.end239 + +for.body: ; preds = %for.cond + %61 = load i32, i32* %sym_arg_num, align 4 + %div81 = udiv i32 %61, 10 + %add82 = add i32 48, %div81 + %conv83 = trunc i32 %add82 to i8 + %arrayidx84 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 3 + store i8 %conv83, i8* %arrayidx84, align 1 + %62 = load i32, i32* %sym_arg_num, align 4 + %rem85 = urem i32 %62, 10 + %add86 = add i32 48, %rem85 + %conv87 = trunc i32 %add86 to i8 + %arrayidx88 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 4 + store i8 %conv87, i8* %arrayidx88, align 1 + %63 = load i32, i32* %sym_arg_num, align 4 + %inc89 = add i32 %63, 1 + store i32 %inc89, i32* %sym_arg_num, align 4 + %arraydecay90 = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %64 = load i32, i32* %max_len, align 4 + %arraydecay91 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 0 + %call92 = call i8* @__get_sym_str(i32 %64, i8* %arraydecay91) + call void @__add_arg(i32* %new_argc, i8** %arraydecay90, i8* %call92, i32 1024) + %65 = load i32, i32* %i, align 4 + %inc93 = add nsw i32 %65, 1 + store i32 %inc93, i32* %i, align 4 + br label %for.cond + +if.else94: ; preds = %lor.lhs.false34 + %66 = load i8**, i8*** %argv, align 8 + %67 = load i32, i32* %k, align 4 + %idxprom95 = sext i32 %67 to i64 + %arrayidx96 = getelementptr inbounds i8*, i8** %66, i64 %idxprom95 + %68 = load i8*, i8** %arrayidx96, align 8 + %call97 = call i32 @__streq(i8* %68, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.11.40, i64 0, i64 0)) + %tobool98 = icmp ne i32 %call97, 0 + br i1 %tobool98, label %if.then104, label %lor.lhs.false99 + +lor.lhs.false99: ; preds = %if.else94 + %69 = load i8**, i8*** %argv, align 8 + %70 = load i32, i32* %k, align 4 + %idxprom100 = sext i32 %70 to i64 + %arrayidx101 = getelementptr inbounds i8*, i8** %69, i64 %idxprom100 + %71 = load i8*, i8** %arrayidx101, align 8 + %call102 = call i32 @__streq(i8* %71, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.12.41, i64 0, i64 0)) + %tobool103 = icmp ne i32 %call102, 0 + br i1 %tobool103, label %if.then104, label %if.else134 + +if.then104: ; preds = %lor.lhs.false99, %if.else94 + store i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.13.42, i64 0, i64 0), i8** %msg105, align 8 + %72 = load i32, i32* %k, align 4 + %add106 = add nsw i32 %72, 2 + %73 = load i32, i32* %argc, align 4 + %cmp107 = icmp sge i32 %add106, %73 + br i1 %cmp107, label %if.then109, label %if.end110 + +if.then109: ; preds = %if.then104 + %74 = load i8*, i8** %msg105, align 8 + call void @__emit_error(i8* %74) + br label %if.end110 + +if.end110: ; preds = %if.then109, %if.then104 + %75 = load i32, i32* %sym_files, align 4 + %cmp111 = icmp ne i32 %75, 0 + br i1 %cmp111, label %if.then113, label %if.end114 + +if.then113: ; preds = %if.end110 + call void @__emit_error(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.14.43, i64 0, i64 0)) + br label %if.end114 + +if.end114: ; preds = %if.then113, %if.end110 + %76 = load i32, i32* %k, align 4 + %inc115 = add nsw i32 %76, 1 + store i32 %inc115, i32* %k, align 4 + %77 = load i8**, i8*** %argv, align 8 + %78 = load i32, i32* %k, align 4 + %inc116 = add nsw i32 %78, 1 + store i32 %inc116, i32* %k, align 4 + %idxprom117 = sext i32 %78 to i64 + %arrayidx118 = getelementptr inbounds i8*, i8** %77, i64 %idxprom117 + %79 = load i8*, i8** %arrayidx118, align 8 + %80 = load i8*, i8** %msg105, align 8 + %call119 = call i64 @__str_to_int(i8* %79, i8* %80) + %conv120 = trunc i64 %call119 to i32 + store i32 %conv120, i32* %sym_files, align 4 + %81 = load i8**, i8*** %argv, align 8 + %82 = load i32, i32* %k, align 4 + %inc121 = add nsw i32 %82, 1 + store i32 %inc121, i32* %k, align 4 + %idxprom122 = sext i32 %82 to i64 + %arrayidx123 = getelementptr inbounds i8*, i8** %81, i64 %idxprom122 + %83 = load i8*, i8** %arrayidx123, align 8 + %84 = load i8*, i8** %msg105, align 8 + %call124 = call i64 @__str_to_int(i8* %83, i8* %84) + %conv125 = trunc i64 %call124 to i32 + store i32 %conv125, i32* %sym_file_len, align 4 + %85 = load i32, i32* %sym_files, align 4 + %cmp126 = icmp eq i32 %85, 0 + br i1 %cmp126, label %if.then128, label %if.end129 + +if.then128: ; preds = %if.end114 + call void @__emit_error(i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.15.44, i64 0, i64 0)) + br label %if.end129 + +if.end129: ; preds = %if.then128, %if.end114 + %86 = load i32, i32* %sym_file_len, align 4 + %cmp130 = icmp eq i32 %86, 0 + br i1 %cmp130, label %if.then132, label %if.end239 + +if.then132: ; preds = %if.end129 + call void @__emit_error(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.16.45, i64 0, i64 0)) + br label %if.end239 + +if.else134: ; preds = %lor.lhs.false99 + %87 = load i8**, i8*** %argv, align 8 + %88 = load i32, i32* %k, align 4 + %idxprom135 = sext i32 %88 to i64 + %arrayidx136 = getelementptr inbounds i8*, i8** %87, i64 %idxprom135 + %89 = load i8*, i8** %arrayidx136, align 8 + %call137 = call i32 @__streq(i8* %89, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.17.46, i64 0, i64 0)) + %tobool138 = icmp ne i32 %call137, 0 + br i1 %tobool138, label %if.then144, label %lor.lhs.false139 + +lor.lhs.false139: ; preds = %if.else134 + %90 = load i8**, i8*** %argv, align 8 + %91 = load i32, i32* %k, align 4 + %idxprom140 = sext i32 %91 to i64 + %arrayidx141 = getelementptr inbounds i8*, i8** %90, i64 %idxprom140 + %92 = load i8*, i8** %arrayidx141, align 8 + %call142 = call i32 @__streq(i8* %92, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.18.47, i64 0, i64 0)) + %tobool143 = icmp ne i32 %call142, 0 + br i1 %tobool143, label %if.then144, label %if.else156 + +if.then144: ; preds = %lor.lhs.false139, %if.else134 + store i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.19.48, i64 0, i64 0), i8** %msg145, align 8 + %93 = load i32, i32* %k, align 4 + %inc146 = add nsw i32 %93, 1 + store i32 %inc146, i32* %k, align 4 + %94 = load i32, i32* %argc, align 4 + %cmp147 = icmp eq i32 %inc146, %94 + br i1 %cmp147, label %if.then149, label %if.end150 + +if.then149: ; preds = %if.then144 + %95 = load i8*, i8** %msg145, align 8 + call void @__emit_error(i8* %95) + br label %if.end150 + +if.end150: ; preds = %if.then149, %if.then144 + %96 = load i8**, i8*** %argv, align 8 + %97 = load i32, i32* %k, align 4 + %inc151 = add nsw i32 %97, 1 + store i32 %inc151, i32* %k, align 4 + %idxprom152 = sext i32 %97 to i64 + %arrayidx153 = getelementptr inbounds i8*, i8** %96, i64 %idxprom152 + %98 = load i8*, i8** %arrayidx153, align 8 + %99 = load i8*, i8** %msg145, align 8 + %call154 = call i64 @__str_to_int(i8* %98, i8* %99) + %conv155 = trunc i64 %call154 to i32 + store i32 %conv155, i32* %sym_stdin_len, align 4 + br label %if.end239 + +if.else156: ; preds = %lor.lhs.false139 + %100 = load i8**, i8*** %argv, align 8 + %101 = load i32, i32* %k, align 4 + %idxprom157 = sext i32 %101 to i64 + %arrayidx158 = getelementptr inbounds i8*, i8** %100, i64 %idxprom157 + %102 = load i8*, i8** %arrayidx158, align 8 + %call159 = call i32 @__streq(i8* %102, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.20.49, i64 0, i64 0)) + %tobool160 = icmp ne i32 %call159, 0 + br i1 %tobool160, label %if.then166, label %lor.lhs.false161 + +lor.lhs.false161: ; preds = %if.else156 + %103 = load i8**, i8*** %argv, align 8 + %104 = load i32, i32* %k, align 4 + %idxprom162 = sext i32 %104 to i64 + %arrayidx163 = getelementptr inbounds i8*, i8** %103, i64 %idxprom162 + %105 = load i8*, i8** %arrayidx163, align 8 + %call164 = call i32 @__streq(i8* %105, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.21.50, i64 0, i64 0)) + %tobool165 = icmp ne i32 %call164, 0 + br i1 %tobool165, label %if.then166, label %if.else168 + +if.then166: ; preds = %lor.lhs.false161, %if.else156 + store i32 1, i32* %sym_stdout_flag, align 4 + %106 = load i32, i32* %k, align 4 + %inc167 = add nsw i32 %106, 1 + store i32 %inc167, i32* %k, align 4 + br label %if.end239 + +if.else168: ; preds = %lor.lhs.false161 + %107 = load i8**, i8*** %argv, align 8 + %108 = load i32, i32* %k, align 4 + %idxprom169 = sext i32 %108 to i64 + %arrayidx170 = getelementptr inbounds i8*, i8** %107, i64 %idxprom169 + %109 = load i8*, i8** %arrayidx170, align 8 + %call171 = call i32 @__streq(i8* %109, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.22.51, i64 0, i64 0)) + %tobool172 = icmp ne i32 %call171, 0 + br i1 %tobool172, label %if.then178, label %lor.lhs.false173 + +lor.lhs.false173: ; preds = %if.else168 + %110 = load i8**, i8*** %argv, align 8 + %111 = load i32, i32* %k, align 4 + %idxprom174 = sext i32 %111 to i64 + %arrayidx175 = getelementptr inbounds i8*, i8** %110, i64 %idxprom174 + %112 = load i8*, i8** %arrayidx175, align 8 + %call176 = call i32 @__streq(i8* %112, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23.52, i64 0, i64 0)) + %tobool177 = icmp ne i32 %call176, 0 + br i1 %tobool177, label %if.then178, label %if.else180 + +if.then178: ; preds = %lor.lhs.false173, %if.else168 + store i32 1, i32* %save_all_writes_flag, align 4 + %113 = load i32, i32* %k, align 4 + %inc179 = add nsw i32 %113, 1 + store i32 %inc179, i32* %k, align 4 + br label %if.end239 + +if.else180: ; preds = %lor.lhs.false173 + %114 = load i8**, i8*** %argv, align 8 + %115 = load i32, i32* %k, align 4 + %idxprom181 = sext i32 %115 to i64 + %arrayidx182 = getelementptr inbounds i8*, i8** %114, i64 %idxprom181 + %116 = load i8*, i8** %arrayidx182, align 8 + %call183 = call i32 @__streq(i8* %116, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.24.53, i64 0, i64 0)) + %tobool184 = icmp ne i32 %call183, 0 + br i1 %tobool184, label %if.then190, label %lor.lhs.false185 + +lor.lhs.false185: ; preds = %if.else180 + %117 = load i8**, i8*** %argv, align 8 + %118 = load i32, i32* %k, align 4 + %idxprom186 = sext i32 %118 to i64 + %arrayidx187 = getelementptr inbounds i8*, i8** %117, i64 %idxprom186 + %119 = load i8*, i8** %arrayidx187, align 8 + %call188 = call i32 @__streq(i8* %119, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.25.54, i64 0, i64 0)) + %tobool189 = icmp ne i32 %call188, 0 + br i1 %tobool189, label %if.then190, label %if.else192 + +if.then190: ; preds = %lor.lhs.false185, %if.else180 + store i32 1, i32* %fd_fail, align 4 + %120 = load i32, i32* %k, align 4 + %inc191 = add nsw i32 %120, 1 + store i32 %inc191, i32* %k, align 4 + br label %if.end239 + +if.else192: ; preds = %lor.lhs.false185 + %121 = load i8**, i8*** %argv, align 8 + %122 = load i32, i32* %k, align 4 + %idxprom193 = sext i32 %122 to i64 + %arrayidx194 = getelementptr inbounds i8*, i8** %121, i64 %idxprom193 + %123 = load i8*, i8** %arrayidx194, align 8 + %call195 = call i32 @__streq(i8* %123, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.26.55, i64 0, i64 0)) + %tobool196 = icmp ne i32 %call195, 0 + br i1 %tobool196, label %if.then202, label %lor.lhs.false197 + +lor.lhs.false197: ; preds = %if.else192 + %124 = load i8**, i8*** %argv, align 8 + %125 = load i32, i32* %k, align 4 + %idxprom198 = sext i32 %125 to i64 + %arrayidx199 = getelementptr inbounds i8*, i8** %124, i64 %idxprom198 + %126 = load i8*, i8** %arrayidx199, align 8 + %call200 = call i32 @__streq(i8* %126, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.27.56, i64 0, i64 0)) + %tobool201 = icmp ne i32 %call200, 0 + br i1 %tobool201, label %if.then202, label %if.else204 + +if.then202: ; preds = %lor.lhs.false197, %if.else192 + %127 = load i32, i32* %k, align 4 + %add203 = add nsw i32 %127, 2 + store i32 %add203, i32* %k, align 4 + br label %if.end239 + +if.else204: ; preds = %lor.lhs.false197 + %128 = load i8**, i8*** %argv, align 8 + %129 = load i32, i32* %k, align 4 + %idxprom205 = sext i32 %129 to i64 + %arrayidx206 = getelementptr inbounds i8*, i8** %128, i64 %idxprom205 + %130 = load i8*, i8** %arrayidx206, align 8 + %call207 = call i32 @__streq(i8* %130, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.28.57, i64 0, i64 0)) + %tobool208 = icmp ne i32 %call207, 0 + br i1 %tobool208, label %if.then214, label %lor.lhs.false209 + +lor.lhs.false209: ; preds = %if.else204 + %131 = load i8**, i8*** %argv, align 8 + %132 = load i32, i32* %k, align 4 + %idxprom210 = sext i32 %132 to i64 + %arrayidx211 = getelementptr inbounds i8*, i8** %131, i64 %idxprom210 + %133 = load i8*, i8** %arrayidx211, align 8 + %call212 = call i32 @__streq(i8* %133, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.29.58, i64 0, i64 0)) + %tobool213 = icmp ne i32 %call212, 0 + br i1 %tobool213, label %if.then214, label %if.else226 + +if.then214: ; preds = %lor.lhs.false209, %if.else204 + store i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.30, i64 0, i64 0), i8** %msg215, align 8 + %134 = load i32, i32* %k, align 4 + %inc216 = add nsw i32 %134, 1 + store i32 %inc216, i32* %k, align 4 + %135 = load i32, i32* %argc, align 4 + %cmp217 = icmp eq i32 %inc216, %135 + br i1 %cmp217, label %if.then219, label %if.end220 + +if.then219: ; preds = %if.then214 + %136 = load i8*, i8** %msg215, align 8 + call void @__emit_error(i8* %136) + br label %if.end220 + +if.end220: ; preds = %if.then219, %if.then214 + %137 = load i8**, i8*** %argv, align 8 + %138 = load i32, i32* %k, align 4 + %inc221 = add nsw i32 %138, 1 + store i32 %inc221, i32* %k, align 4 + %idxprom222 = sext i32 %138 to i64 + %arrayidx223 = getelementptr inbounds i8*, i8** %137, i64 %idxprom222 + %139 = load i8*, i8** %arrayidx223, align 8 + %140 = load i8*, i8** %msg215, align 8 + %call224 = call i64 @__str_to_int(i8* %139, i8* %140) + %conv225 = trunc i64 %call224 to i32 + store i32 %conv225, i32* %fd_fail, align 4 + br label %if.end239 + +if.else226: ; preds = %lor.lhs.false209 + %arraydecay227 = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %141 = load i8**, i8*** %argv, align 8 + %142 = load i32, i32* %k, align 4 + %inc228 = add nsw i32 %142, 1 + store i32 %inc228, i32* %k, align 4 + %idxprom229 = sext i32 %142 to i64 + %arrayidx230 = getelementptr inbounds i8*, i8** %141, i64 %idxprom229 + %143 = load i8*, i8** %arrayidx230, align 8 + call void @__add_arg(i32* %new_argc, i8** %arraydecay227, i8* %143, i32 1024) + br label %if.end239 + +if.end239: ; preds = %for.cond, %if.end150, %if.then178, %if.then202, %if.else226, %if.end220, %if.then190, %if.then166, %if.end129, %if.then132, %if.end21 + br label %while.cond + +while.end: ; preds = %while.cond + %144 = load i32, i32* %new_argc, align 4 + %add240 = add nsw i32 %144, 1 + %conv241 = sext i32 %add240 to i64 + %mul = mul i64 %conv241, 8 + %call242 = call noalias i8* @malloc(i64 %mul) #11 + %145 = bitcast i8* %call242 to i8** + store i8** %145, i8*** %final_argv, align 8 + %146 = load i8**, i8*** %final_argv, align 8 + %tobool243 = icmp ne i8** %146, null + br i1 %tobool243, label %if.end245, label %if.then244 + +if.then244: ; preds = %while.end + call void @__emit_error(i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.31, i64 0, i64 0)) + br label %if.end245 + +if.end245: ; preds = %if.then244, %while.end + %147 = load i8**, i8*** %final_argv, align 8 + %148 = bitcast i8** %147 to i8* + %arraydecay246 = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %149 = bitcast i8** %arraydecay246 to i8* + %150 = load i32, i32* %new_argc, align 4 + %conv247 = sext i32 %150 to i64 + %mul248 = mul i64 %conv247, 8 + %151 = call i8* @memcpy(i8* %148, i8* %149, i64 %mul248) + %152 = load i8**, i8*** %final_argv, align 8 + %153 = load i32, i32* %new_argc, align 4 + %idxprom249 = sext i32 %153 to i64 + %arrayidx250 = getelementptr inbounds i8*, i8** %152, i64 %idxprom249 + store i8* null, i8** %arrayidx250, align 8 + %154 = load i32, i32* %new_argc, align 4 + %155 = load i32*, i32** %argcPtr.addr, align 8 + store i32 %154, i32* %155, align 4 + %156 = load i8**, i8*** %final_argv, align 8 + %157 = load i8***, i8**** %argvPtr.addr, align 8 + store i8** %156, i8*** %157, align 8 + %158 = load i32, i32* %sym_files, align 4 + %159 = load i32, i32* %sym_file_len, align 4 + %160 = load i32, i32* %sym_stdin_len, align 4 + %161 = load i32, i32* %sym_stdout_flag, align 4 + %162 = load i32, i32* %save_all_writes_flag, align 4 + %163 = load i32, i32* %fd_fail, align 4 + call void @klee_init_fds(i32 %158, i32 %159, i32 %160, i32 %161, i32 %162, i32 %163) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__streq(i8* %a, i8* %b) #3 { +entry: + %retval = alloca i32, align 4 + %a.addr = alloca i8*, align 8 + %b.addr = alloca i8*, align 8 + store i8* %a, i8** %a.addr, align 8 + store i8* %b, i8** %b.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %0 = load i8*, i8** %a.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %2 = load i8*, i8** %b.addr, align 8 + %3 = load i8, i8* %2, align 1 + %conv1 = sext i8 %3 to i32 + %cmp = icmp eq i32 %conv, %conv1 + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i8*, i8** %a.addr, align 8 + %5 = load i8, i8* %4, align 1 + %tobool = icmp ne i8 %5, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %while.body + store i32 1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %while.body + %6 = load i8*, i8** %a.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %a.addr, align 8 + %7 = load i8*, i8** %b.addr, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %7, i32 1 + store i8* %incdec.ptr3, i8** %b.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %while.end, %if.then + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__emit_error(i8* %msg) #3 { +entry: + %msg.addr = alloca i8*, align 8 + store i8* %msg, i8** %msg.addr, align 8 + %0 = load i8*, i8** %msg.addr, align 8 + call void @gs_report_error.59(i8* getelementptr inbounds ([88 x i8], [88 x i8]* @.str.32, i64 0, i64 0), i32 21, i8* %0, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.33, i64 0, i64 0)) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @__str_to_int(i8* %s, i8* %error_msg) #3 { +entry: + %s.addr = alloca i8*, align 8 + %error_msg.addr = alloca i8*, align 8 + %res = alloca i64, align 8 + %c = alloca i8, align 1 + store i8* %s, i8** %s.addr, align 8 + store i8* %error_msg, i8** %error_msg.addr, align 8 + store i64 0, i64* %res, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i8, i8* %0, align 1 + %tobool = icmp ne i8 %1, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %2 = load i8*, i8** %error_msg.addr, align 8 + call void @__emit_error(i8* %2) + br label %if.end + +if.end: ; preds = %if.then, %entry + br label %while.cond + +while.cond: ; preds = %if.end9, %if.end + %3 = load i8*, i8** %s.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %s.addr, align 8 + %4 = load i8, i8* %3, align 1 + store i8 %4, i8* %c, align 1 + %tobool1 = icmp ne i8 %4, 0 + br i1 %tobool1, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %5 = load i8, i8* %c, align 1 + %conv = sext i8 %5 to i32 + %cmp = icmp sge i32 %conv, 48 + br i1 %cmp, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %while.body + %6 = load i8, i8* %c, align 1 + %conv3 = sext i8 %6 to i32 + %cmp4 = icmp sle i32 %conv3, 57 + br i1 %cmp4, label %if.then6, label %if.else + +if.then6: ; preds = %land.lhs.true + %7 = load i64, i64* %res, align 8 + %mul = mul nsw i64 %7, 10 + %8 = load i8, i8* %c, align 1 + %conv7 = sext i8 %8 to i32 + %sub = sub nsw i32 %conv7, 48 + %conv8 = sext i32 %sub to i64 + %add = add nsw i64 %mul, %conv8 + store i64 %add, i64* %res, align 8 + br label %if.end9 + +if.else: ; preds = %land.lhs.true, %while.body + %9 = load i8*, i8** %error_msg.addr, align 8 + call void @__emit_error(i8* %9) + br label %if.end9 + +if.end9: ; preds = %if.else, %if.then6 + br label %while.cond + +while.end: ; preds = %while.cond + %10 = load i64, i64* %res, align 8 + ret i64 %10 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @__get_sym_str(i32 %numChars, i8* %name) #3 { +entry: + %numChars.addr = alloca i32, align 4 + %name.addr = alloca i8*, align 8 + %i = alloca i32, align 4 + %s = alloca i8*, align 8 + store i32 %numChars, i32* %numChars.addr, align 4 + store i8* %name, i8** %name.addr, align 8 + %0 = load i32, i32* %numChars.addr, align 4 + %add = add nsw i32 %0, 1 + %conv = sext i32 %add to i64 + %call = call noalias i8* @malloc(i64 %conv) #11 + store i8* %call, i8** %s, align 8 + %1 = load i8*, i8** %s, align 8 + %tobool = icmp ne i8* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @__emit_error(i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.31, i64 0, i64 0)) + br label %if.end + +if.end: ; preds = %if.then, %entry + %2 = load i8*, i8** %s, align 8 + %3 = load i32, i32* %numChars.addr, align 4 + %add1 = add nsw i32 %3, 1 + %conv2 = sext i32 %add1 to i64 + %4 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %2, i64 %conv2, i8* %4) + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %5 = load i32, i32* %i, align 4 + %6 = load i32, i32* %numChars.addr, align 4 + %cmp = icmp slt i32 %5, %6 + %7 = load i8*, i8** %s, align 8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %8 = load i8*, i8** %s, align 8 + %9 = load i32, i32* %i, align 4 + %idxprom = sext i32 %9 to i64 + %arrayidx = getelementptr inbounds i8, i8* %8, i64 %idxprom + %10 = load i8, i8* %arrayidx, align 1 + %call4 = call i32 @__isprint(i8 signext %10) + %tobool5 = icmp ne i32 %call4, 0 + call void @gs_posix_prefer_cex(i8* %7, i1 zeroext %tobool5) + %11 = load i32, i32* %i, align 4 + %inc = add nsw i32 %11, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %12 = load i32, i32* %numChars.addr, align 4 + %idxprom6 = sext i32 %12 to i64 + %arrayidx7 = getelementptr inbounds i8, i8* %7, i64 %idxprom6 + store i8 0, i8* %arrayidx7, align 1 + %13 = load i8*, i8** %s, align 8 + ret i8* %13 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__add_arg(i32* %argc, i8** %argv, i8* %arg, i32 %argcMax) #3 { +entry: + %argc.addr = alloca i32*, align 8 + %argv.addr = alloca i8**, align 8 + %arg.addr = alloca i8*, align 8 + %argcMax.addr = alloca i32, align 4 + store i32* %argc, i32** %argc.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i32 %argcMax, i32* %argcMax.addr, align 4 + %0 = load i32*, i32** %argc.addr, align 8 + %1 = load i32, i32* %0, align 4 + %2 = load i32, i32* %argcMax.addr, align 4 + %cmp = icmp eq i32 %1, %2 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + call void @__emit_error(i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.35, i64 0, i64 0)) + br label %if.end + +if.else: ; preds = %entry + %3 = load i8*, i8** %arg.addr, align 8 + %4 = load i8**, i8*** %argv.addr, align 8 + %5 = load i32*, i32** %argc.addr, align 8 + %6 = load i32, i32* %5, align 4 + %idxprom = sext i32 %6 to i64 + %arrayidx = getelementptr inbounds i8*, i8** %4, i64 %idxprom + store i8* %3, i8** %arrayidx, align 8 + %7 = load i32*, i32** %argc.addr, align 8 + %8 = load i32, i32* %7, align 4 + %inc = add nsw i32 %8, 1 + store i32 %inc, i32* %7, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @gs_range(i32 %begin, i32 %end, i8* %name) #3 { +entry: + %begin.addr = alloca i32, align 4 + %end.addr = alloca i32, align 4 + %name.addr = alloca i8*, align 8 + %x = alloca i32, align 4 + store i32 %begin, i32* %begin.addr, align 4 + store i32 %end, i32* %end.addr, align 4 + store i8* %name, i8** %name.addr, align 8 + %0 = bitcast i32* %x to i8* + %1 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %0, i64 4, i8* %1) + %2 = load i32, i32* %x, align 4 + %3 = load i32, i32* %begin.addr, align 4 + %cmp = icmp sge i32 %2, %3 + call void @gs_assume(i1 zeroext %cmp) + %4 = load i32, i32* %x, align 4 + %5 = load i32, i32* %end.addr, align 4 + %cmp1 = icmp slt i32 %4, %5 + call void @gs_assume(i1 zeroext %cmp1) + %6 = load i32, i32* %x, align 4 + ret i32 %6 +} + +declare dso_local void @make_symbolic(i8*, i64, ...) #5 + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__isprint(i8 signext %c) #3 { +entry: + %c.addr = alloca i8, align 1 + store i8 %c, i8* %c.addr, align 1 + %0 = load i8, i8* %c.addr, align 1 + %conv = sext i8 %0 to i32 + %cmp = icmp sle i32 32, %conv + %conv1 = zext i1 %cmp to i32 + %1 = load i8, i8* %c.addr, align 1 + %conv2 = sext i8 %1 to i32 + %cmp3 = icmp sle i32 %conv2, 126 + %conv4 = zext i1 %cmp3 to i32 + %and = and i32 %conv1, %conv4 + ret i32 %and +} + +declare dso_local void @gs_posix_prefer_cex(i8*, i1 zeroext) #5 + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error.59(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.34, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__user_main(i32 %argcPtr, i8** %argvPtr, i8** %envp) #3 { +entry: + %argcPtr.addr = alloca i32, align 4 + %argvPtr.addr = alloca i8**, align 8 + %envp.addr = alloca i8**, align 8 + store i32 %argcPtr, i32* %argcPtr.addr, align 4 + store i8** %argvPtr, i8*** %argvPtr.addr, align 8 + store i8** %envp, i8*** %envp.addr, align 8 + call void @klee_init_env(i32* %argcPtr.addr, i8*** %argvPtr.addr) + %0 = load i32, i32* %argcPtr.addr, align 4 + %1 = load i8**, i8*** %argvPtr.addr, align 8 + %2 = load i8**, i8*** %envp.addr, align 8 + %call = call i32 bitcast (i32 (i32, i8**)* @__klee_posix_wrapped_main to i32 (i32, i8**, i8**)*)(i32 %0, i8** %1, i8** %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind readnone uwtable +declare i32* @__errno_location() #12 + +; Function Attrs: noinline nounwind readnone uwtable +define weak i32* @__h_errno_location() #12 { +entry: + ret i32* @h_errno +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @___path_search(i8* %tmpl, i64 %tmpl_len, i8* %dir, i8* %pfx) #0 { +entry: + %retval = alloca i32, align 4 + %tmpl.addr = alloca i8*, align 8 + %tmpl_len.addr = alloca i64, align 8 + %dir.addr = alloca i8*, align 8 + %pfx.addr = alloca i8*, align 8 + %dlen = alloca i64, align 8 + %plen = alloca i64, align 8 + store i8* %tmpl, i8** %tmpl.addr, align 8 + store i64 %tmpl_len, i64* %tmpl_len.addr, align 8 + store i8* %dir, i8** %dir.addr, align 8 + store i8* %pfx, i8** %pfx.addr, align 8 + %0 = load i8*, i8** %pfx.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %lor.lhs.false, label %if.then + +lor.lhs.false: ; preds = %entry + %1 = load i8*, i8** %pfx.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %tobool1 = icmp ne i8 %2, 0 + br i1 %tobool1, label %if.else, label %if.then + +if.then: ; preds = %lor.lhs.false, %entry + store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.68, i64 0, i64 0), i8** %pfx.addr, align 8 + store i64 4, i64* %plen, align 8 + br label %if.end3 + +if.else: ; preds = %lor.lhs.false + %3 = load i8*, i8** %pfx.addr, align 8 + %call = call i64 @strlen(i8* %3) #20 + store i64 %call, i64* %plen, align 8 + %4 = load i64, i64* %plen, align 8 + %cmp = icmp ugt i64 %4, 5 + %spec.store.select = select i1 %cmp, i64 5, i64 %call + store i64 %spec.store.select, i64* %plen, align 8 + br label %if.end3 + +if.end3: ; preds = %if.else, %if.then + %5 = load i8*, i8** %dir.addr, align 8 + %cmp4 = icmp eq i8* %5, null + br i1 %cmp4, label %if.then5, label %if.end18 + +if.then5: ; preds = %if.end3 + %call6 = call i32 @direxists(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0)) #18 + %tobool7 = icmp ne i32 %call6, 0 + br i1 %tobool7, label %if.then8, label %if.else9 + +if.then8: ; preds = %if.then5 + store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0), i8** %dir.addr, align 8 + br label %if.end18 + +if.else9: ; preds = %if.then5 + %call10 = call i32 @strcmp(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0)) #20 + %cmp11 = icmp ne i32 %call10, 0 + br i1 %cmp11, label %land.lhs.true, label %if.else15 + +land.lhs.true: ; preds = %if.else9 + %call12 = call i32 @direxists(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0)) #18 + %tobool13 = icmp ne i32 %call12, 0 + br i1 %tobool13, label %if.then14, label %if.else15 + +if.then14: ; preds = %land.lhs.true + store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0), i8** %dir.addr, align 8 + br label %if.end18 + +if.else15: ; preds = %land.lhs.true, %if.else9 + store i32 2, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %if.then8, %if.then14, %if.end3 + %6 = load i8*, i8** %dir.addr, align 8 + %call19 = call i64 @strlen(i8* %6) #20 + store i64 %call19, i64* %dlen, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end18 + %7 = load i64, i64* %dlen, align 8 + %cmp20 = icmp ugt i64 %7, 1 + br i1 %cmp20, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %8 = load i8*, i8** %dir.addr, align 8 + %9 = load i64, i64* %dlen, align 8 + %sub = sub i64 %9, 1 + %arrayidx21 = getelementptr inbounds i8, i8* %8, i64 %sub + %10 = load i8, i8* %arrayidx21, align 1 + %conv = sext i8 %10 to i32 + %cmp22 = icmp eq i32 %conv, 47 + br i1 %cmp22, label %while.body, label %while.end + +while.body: ; preds = %land.rhs + %11 = load i64, i64* %dlen, align 8 + %dec = add i64 %11, -1 + store i64 %dec, i64* %dlen, align 8 + br label %while.cond + +while.end: ; preds = %while.cond, %land.rhs + %12 = load i64, i64* %tmpl_len.addr, align 8 + %13 = load i64, i64* %dlen, align 8 + %add = add i64 %13, 1 + %14 = load i64, i64* %plen, align 8 + %add24 = add i64 %add, %14 + %add25 = add i64 %add24, 6 + %add26 = add i64 %add25, 1 + %cmp27 = icmp ult i64 %12, %add26 + br i1 %cmp27, label %if.then29, label %if.end30 + +if.then29: ; preds = %while.end + store i32 22, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end30: ; preds = %while.end + %15 = load i8*, i8** %tmpl.addr, align 8 + %16 = load i64, i64* %dlen, align 8 + %17 = load i8*, i8** %dir.addr, align 8 + %18 = load i64, i64* %plen, align 8 + %19 = load i8*, i8** %pfx.addr, align 8 + %call31 = call i32 (i8*, i8*, ...) @sprintf(i8* %15, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.2.70, i64 0, i64 0), i64 %16, i8* %17, i64 %18, i8* %19) #19 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end30, %if.then29, %if.else15 + %20 = load i32, i32* %retval, align 4 + ret i32 %20 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @direxists(i8* %dir) #0 { +entry: + %dir.addr = alloca i8*, align 8 + %buf = alloca %struct.stat.192, align 8 + store i8* %dir, i8** %dir.addr, align 8 + %0 = load i8*, i8** %dir.addr, align 8 + %call = call i32 bitcast (i32 (i8*, %struct.stat64*)* @stat to i32 (i8*, %struct.stat.192*)*)(i8* %0, %struct.stat.192* %buf) #19 + %cmp = icmp eq i32 %call, 0 + %st_mode = getelementptr inbounds %struct.stat.192, %struct.stat.192* %buf, i32 0, i32 3 + %1 = load i32, i32* %st_mode, align 8 + %and = and i32 %1, 61440 + %cmp1 = icmp eq i32 %and, 16384 + %2 = select i1 %cmp, i1 %cmp1, i1 false + %land.ext = zext i1 %2 to i32 + ret i32 %land.ext +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__gen_tempname(i8* %tmpl, i32 %kind) #0 { +entry: + %retval = alloca i32, align 4 + %tmpl.addr = alloca i8*, align 8 + %kind.addr = alloca i32, align 4 + %XXXXXX = alloca i8*, align 8 + %i = alloca i32, align 4 + %fd = alloca i32, align 4 + %save_errno = alloca i32, align 4 + %randomness = alloca [6 x i8], align 1 + %len = alloca i64, align 8 + %j = alloca i32, align 4 + %st = alloca %struct.stat.192, align 8 + store i8* %tmpl, i8** %tmpl.addr, align 8 + store i32 %kind, i32* %kind.addr, align 4 + %0 = load i32, i32* @errno, align 4 + store i32 %0, i32* %save_errno, align 4 + %1 = load i8*, i8** %tmpl.addr, align 8 + %call = call i64 @strlen(i8* %1) #20 + store i64 %call, i64* %len, align 8 + %2 = load i8*, i8** %tmpl.addr, align 8 + %3 = load i64, i64* %len, align 8 + %add.ptr = getelementptr inbounds i8, i8* %2, i64 %3 + %add.ptr1 = getelementptr inbounds i8, i8* %add.ptr, i64 -6 + store i8* %add.ptr1, i8** %XXXXXX, align 8 + %4 = load i64, i64* %len, align 8 + %cmp = icmp ult i64 %4, 6 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %5 = load i8*, i8** %XXXXXX, align 8 + %call2 = call i32 @strcmp(i8* %5, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.3.73, i64 0, i64 0)) #20 + %tobool = icmp ne i32 %call2, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %lor.lhs.false, %entry + store i32 22, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %lor.lhs.false + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc44, %if.end + %6 = load i32, i32* %i, align 4 + %cmp3 = icmp ult i32 %6, 238328 + br i1 %cmp3, label %for.body, label %for.end46 + +for.body: ; preds = %for.cond + %arraydecay = getelementptr inbounds [6 x i8], [6 x i8]* %randomness, i64 0, i64 0 + %call4 = call i32 @fillrand(i8* %arraydecay, i32 6) #18 + %conv = zext i32 %call4 to i64 + %cmp5 = icmp ne i64 %conv, 6 + br i1 %cmp5, label %if.then7, label %if.end9 + +if.then7: ; preds = %for.body + %arraydecay8 = getelementptr inbounds [6 x i8], [6 x i8]* %randomness, i64 0, i64 0 + call void @brain_damaged_fillrand(i8* %arraydecay8, i32 6) #18 + br label %if.end9 + +if.end9: ; preds = %if.then7, %for.body + store i32 0, i32* %j, align 4 + br label %for.cond10 + +for.cond10: ; preds = %for.body14, %if.end9 + %7 = load i32, i32* %j, align 4 + %conv11 = sext i32 %7 to i64 + %cmp12 = icmp ult i64 %conv11, 6 + br i1 %cmp12, label %for.body14, label %for.end + +for.body14: ; preds = %for.cond10 + %8 = load i32, i32* %j, align 4 + %idxprom = sext i32 %8 to i64 + %arrayidx = getelementptr inbounds [6 x i8], [6 x i8]* %randomness, i64 0, i64 %idxprom + %9 = load i8, i8* %arrayidx, align 1 + %conv15 = zext i8 %9 to i32 + %rem = srem i32 %conv15, 62 + %idxprom16 = sext i32 %rem to i64 + %arrayidx17 = getelementptr inbounds [63 x i8], [63 x i8]* @letters, i64 0, i64 %idxprom16 + %10 = load i8, i8* %arrayidx17, align 1 + %11 = load i8*, i8** %XXXXXX, align 8 + %12 = load i32, i32* %j, align 4 + %idxprom18 = sext i32 %12 to i64 + %arrayidx19 = getelementptr inbounds i8, i8* %11, i64 %idxprom18 + store i8 %10, i8* %arrayidx19, align 1 + %13 = load i32, i32* %j, align 4 + %inc = add nsw i32 %13, 1 + store i32 %inc, i32* %j, align 4 + br label %for.cond10 + +for.end: ; preds = %for.cond10 + %14 = load i32, i32* %kind.addr, align 4 + br label %NodeBlock5 + +NodeBlock5: ; preds = %for.end + %case.cmp6 = icmp eq i32 %14, 3 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %14, 0 + br i1 %case.cmp4, label %sw.bb29, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %14, 1 + br i1 %case.cmp2, label %sw.bb31, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %14, 2 + br i1 %case.cmp, label %sw.bb33, label %newDefault + +sw.bb: ; preds = %NodeBlock5 + %15 = load i8*, i8** %tmpl.addr, align 8 + %call20 = call i32 bitcast (i32 (i8*, %struct.stat64*)* @stat to i32 (i8*, %struct.stat.192*)*)(i8* %15, %struct.stat.192* %st) #19 + %cmp21 = icmp slt i32 %call20, 0 + br i1 %cmp21, label %if.then23, label %if.else27 + +if.then23: ; preds = %sw.bb + %16 = load i32, i32* @errno, align 4 + %cmp24 = icmp eq i32 %16, 2 + br i1 %cmp24, label %if.then26, label %if.else + +if.then26: ; preds = %if.then23 + store i32 0, i32* %fd, align 4 + br label %restore_and_ret + +if.else: ; preds = %if.then23 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else27: ; preds = %sw.bb + store i32 0, i32* %fd, align 4 + br label %sw.bb29 + +sw.bb29: ; preds = %NodeBlock3, %if.else27 + %17 = load i8*, i8** %tmpl.addr, align 8 + %call30 = call i32 (i8*, i32, ...) @open(i8* %17, i32 194, i32 384) #18 + store i32 %call30, i32* %fd, align 4 + br label %sw.epilog + +sw.bb31: ; preds = %NodeBlock1 + %18 = load i8*, i8** %tmpl.addr, align 8 + %call32 = call i32 (i8*, i32, ...) @open64(i8* %18, i32 194, i32 384) #18 + store i32 %call32, i32* %fd, align 4 + br label %sw.epilog + +sw.bb33: ; preds = %NodeBlock + %19 = load i8*, i8** %tmpl.addr, align 8 + %call34 = call i32 @mkdir(i8* %19, i32 448) #19 + store i32 %call34, i32* %fd, align 4 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i32 -1, i32* %fd, align 4 + br label %sw.epilog + +sw.epilog: ; preds = %sw.default, %sw.bb33, %sw.bb31, %sw.bb29 + %20 = load i32, i32* %fd, align 4 + %cmp35 = icmp sge i32 %20, 0 + br i1 %cmp35, label %restore_and_ret, label %if.else38 + +restore_and_ret: ; preds = %sw.epilog, %if.then26 + %21 = load i32, i32* %save_errno, align 4 + store i32 %21, i32* @errno, align 4 + %22 = load i32, i32* %fd, align 4 + store i32 %22, i32* %retval, align 4 + br label %return + +if.else38: ; preds = %sw.epilog + %23 = load i32, i32* @errno, align 4 + %cmp39 = icmp ne i32 %23, 17 + br i1 %cmp39, label %if.then41, label %for.inc44 + +if.then41: ; preds = %if.else38 + store i32 -1, i32* %retval, align 4 + br label %return + +for.inc44: ; preds = %if.else38 + %24 = load i32, i32* %i, align 4 + %inc45 = add i32 %24, 1 + store i32 %inc45, i32* %i, align 4 + br label %for.cond + +for.end46: ; preds = %for.cond + store i32 17, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %for.end46, %if.then41, %restore_and_ret, %if.else, %if.then + %25 = load i32, i32* %retval, align 4 + ret i32 %25 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @fillrand(i8* %buf, i32 %len) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %len.addr = alloca i32, align 4 + %fd = alloca i32, align 4 + %result = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i32 %len, i32* %len.addr, align 4 + store i32 -1, i32* %result, align 4 + %call = call i32 (i8*, i32, ...) @open(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.4.74, i64 0, i64 0), i32 0) #18 + store i32 %call, i32* %fd, align 4 + %0 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %0, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call1 = call i32 (i8*, i32, ...) @open(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.5.75, i64 0, i64 0), i32 2048) #18 + store i32 %call1, i32* %fd, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i32, i32* %fd, align 4 + %cmp2 = icmp sge i32 %1, 0 + br i1 %cmp2, label %if.then3, label %if.end7 + +if.then3: ; preds = %if.end + %2 = load i32, i32* %fd, align 4 + %3 = load i8*, i8** %buf.addr, align 8 + %4 = load i32, i32* %len.addr, align 4 + %conv = zext i32 %4 to i64 + %call4 = call i64 @read(i32 %2, i8* %3, i64 %conv) #18 + %conv5 = trunc i64 %call4 to i32 + store i32 %conv5, i32* %result, align 4 + %5 = load i32, i32* %fd, align 4 + %call6 = call i32 @close(i32 %5) #18 + br label %if.end7 + +if.end7: ; preds = %if.then3, %if.end + %6 = load i32, i32* %result, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @brain_damaged_fillrand(i8* %buf, i32 %len) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %len.addr = alloca i32, align 4 + %i = alloca i32, align 4 + %k = alloca i32, align 4 + %tv = alloca %struct.timespec, align 8 + %high = alloca i32, align 4 + %low = alloca i32, align 4 + %rh = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i32 %len, i32* %len.addr, align 4 + %call = call i32 bitcast (i32 (%struct.timespec*, i8*)* @gettimeofday to i32 (%struct.timespec*, %struct.__mbstate_t.512*)*)(%struct.timespec* %tv, %struct.__mbstate_t.512* null) #19 + %tv_usec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 1 + %0 = load i64, i64* %tv_usec, align 8 + %shl = shl i64 %0, 16 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %1 = load i64, i64* %tv_sec, align 8 + %xor = xor i64 %shl, %1 + %call1 = call i32 @getpid() #19 + %conv = sext i32 %call1 to i64 + %xor2 = xor i64 %xor, %conv + %2 = load i64, i64* @brain_damaged_fillrand.value, align 8 + %add = add i64 %2, %xor2 + store i64 %add, i64* @brain_damaged_fillrand.value, align 8 + %3 = load i64, i64* @brain_damaged_fillrand.value, align 8 + %and = and i64 %3, 4294967295 + %conv3 = trunc i64 %and to i32 + store i32 %conv3, i32* %low, align 4 + %4 = load i64, i64* @brain_damaged_fillrand.value, align 8 + %shr = lshr i64 %4, 32 + %conv4 = trunc i64 %shr to i32 + store i32 %conv4, i32* %high, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %5 = load i32, i32* %i, align 4 + %6 = load i32, i32* %len.addr, align 4 + %cmp = icmp ult i32 %5, %6 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %7 = load i32, i32* %high, align 4 + %rem = urem i32 %7, 62 + store i32 %rem, i32* %rh, align 4 + %8 = load i32, i32* %high, align 4 + %div = udiv i32 %8, 62 + store i32 %div, i32* %high, align 4 + %9 = load i32, i32* %low, align 4 + %rem6 = urem i32 %9, 62 + %10 = load i32, i32* %rh, align 4 + %mul = mul i32 4, %10 + %add7 = add i32 %rem6, %mul + store i32 %add7, i32* %k, align 4 + %11 = load i32, i32* %low, align 4 + %div8 = udiv i32 %11, 62 + %12 = load i32, i32* %rh, align 4 + %mul9 = mul i32 69273666, %12 + %add10 = add i32 %div8, %mul9 + %13 = load i32, i32* %k, align 4 + %div11 = udiv i32 %13, 62 + %add12 = add i32 %add10, %div11 + store i32 %add12, i32* %low, align 4 + %14 = load i32, i32* %k, align 4 + %rem13 = urem i32 %14, 62 + store i32 %rem13, i32* %k, align 4 + %15 = load i32, i32* %k, align 4 + %idxprom = zext i32 %15 to i64 + %arrayidx = getelementptr inbounds [63 x i8], [63 x i8]* @letters, i64 0, i64 %idxprom + %16 = load i8, i8* %arrayidx, align 1 + %17 = load i8*, i8** %buf.addr, align 8 + %18 = load i32, i32* %i, align 4 + %idxprom14 = zext i32 %18 to i64 + %arrayidx15 = getelementptr inbounds i8, i8* %17, i64 %idxprom14 + store i8 %16, i8* %arrayidx15, align 1 + %19 = load i32, i32* %i, align 4 + %inc = add i32 %19, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + ret void +} + +; Function Attrs: nounwind +declare i32 @getpid() #2 + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_locale_set_l(i8* %p, %struct.__uclibc_locale_struct.201* %base) #0 { +entry: + %retval = alloca i32, align 4 + %p.addr = alloca i8*, align 8 + %base.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %x = alloca i8**, align 8 + %s = alloca i8*, align 8 + %stp = alloca i64*, align 8 + %r = alloca i8*, align 8 + %io = alloca i16*, align 8 + %ii = alloca i16*, align 8 + %d = alloca i8*, align 8 + %row = alloca i32, align 4 + %crow = alloca i32, align 4 + %len = alloca i32, align 4 + %c = alloca i32, align 4 + %i = alloca i32, align 4 + %newcol = alloca %struct.__collate_t.200, align 8 + %c8b = alloca %struct.__codeset_8_bit_t.202*, align 8 + %u = alloca i32, align 4 + %m = alloca i16, align 2 + store i8* %p, i8** %p.addr, align 8 + store %struct.__uclibc_locale_struct.201* %base, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 6 + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 1 + store i8* %add.ptr, i8** %s, align 8 + store i32 0, i32* %i, align 4 + %1 = load i8*, i8** %p.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %1, i32 1 + store i8* %incdec.ptr, i8** %p.addr, align 8 + %index2weight = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %newcol, i32 0, i32 23 + store i16* null, i16** %index2weight, align 8 + %2 = load i8*, i8** %p.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %2, i64 8 + %3 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %3 to i32 + %4 = load i8*, i8** %s, align 8 + %arrayidx1 = getelementptr inbounds i8, i8* %4, i64 8 + %5 = load i8, i8* %arrayidx1, align 1 + %conv2 = zext i8 %5 to i32 + %cmp = icmp ne i32 %conv, %conv2 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %6 = load i8*, i8** %p.addr, align 8 + %arrayidx4 = getelementptr inbounds i8, i8* %6, i64 9 + %7 = load i8, i8* %arrayidx4, align 1 + %conv5 = zext i8 %7 to i32 + %8 = load i8*, i8** %s, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %8, i64 9 + %9 = load i8, i8* %arrayidx6, align 1 + %conv7 = zext i8 %9 to i32 + %cmp8 = icmp ne i32 %conv5, %conv7 + br i1 %cmp8, label %if.then, label %if.end22 + +if.then: ; preds = %lor.lhs.false, %entry + %10 = load i8*, i8** %p.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv10 = zext i8 %11 to i32 + %and = and i32 %conv10, 127 + %shl = shl i32 %and, 7 + %12 = load i8*, i8** %p.addr, align 8 + %arrayidx11 = getelementptr inbounds i8, i8* %12, i64 1 + %13 = load i8, i8* %arrayidx11, align 1 + %conv12 = zext i8 %13 to i32 + %and13 = and i32 %conv12, 127 + %add = add nsw i32 %shl, %and13 + store i32 %add, i32* %row, align 4 + %14 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %14, i32 0, i32 31 + %15 = load i32, i32* %row, align 4 + %mul = mul nsw i32 9, %15 + %add14 = add nsw i32 %mul, 3 + %add15 = add nsw i32 %add14, 4 + %idxprom = sext i32 %add15 to i64 + %arrayidx16 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales, i64 0, i64 %idxprom + %16 = load i8, i8* %arrayidx16, align 1 + %conv17 = zext i8 %16 to i32 + %call = call i32 @init_cur_collate(i32 %conv17, %struct.__collate_t.200* %newcol) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end, label %if.then18 + +if.then18: ; preds = %if.then + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %if.then + %17 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %collate = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %17, i32 0, i32 118 + %index2weight19 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate, i32 0, i32 23 + %18 = load i16*, i16** %index2weight19, align 8 + %19 = bitcast i16* %18 to i8* + call void @free(i8* %19) #19 + %20 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %collate20 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %20, i32 0, i32 118 + %21 = bitcast %struct.__collate_t.200* %collate20 to i8* + %22 = bitcast %struct.__collate_t.200* %newcol to i8* + %call21 = call i8* @memcpy(i8* %21, i8* %22, i64 112) #19 + br label %if.end22 + +if.end22: ; preds = %if.end, %lor.lhs.false + br label %do.body + +do.body: ; preds = %if.end313, %if.end22 + %23 = load i8*, i8** %p.addr, align 8 + %24 = load i8, i8* %23, align 1 + %conv23 = zext i8 %24 to i32 + %25 = load i8*, i8** %s, align 8 + %26 = load i8, i8* %25, align 1 + %conv24 = zext i8 %26 to i32 + %cmp25 = icmp ne i32 %conv23, %conv24 + br i1 %cmp25, label %if.then34, label %lor.lhs.false27 + +lor.lhs.false27: ; preds = %do.body + %27 = load i8*, i8** %p.addr, align 8 + %arrayidx28 = getelementptr inbounds i8, i8* %27, i64 1 + %28 = load i8, i8* %arrayidx28, align 1 + %conv29 = zext i8 %28 to i32 + %29 = load i8*, i8** %s, align 8 + %arrayidx30 = getelementptr inbounds i8, i8* %29, i64 1 + %30 = load i8, i8* %arrayidx30, align 1 + %conv31 = zext i8 %30 to i32 + %cmp32 = icmp ne i32 %conv29, %conv31 + br i1 %cmp32, label %if.then34, label %if.end313 + +if.then34: ; preds = %lor.lhs.false27, %do.body + %31 = load i8*, i8** %p.addr, align 8 + %32 = load i8, i8* %31, align 1 + %conv35 = zext i8 %32 to i32 + %and36 = and i32 %conv35, 127 + %shl37 = shl i32 %and36, 7 + %33 = load i8*, i8** %p.addr, align 8 + %arrayidx38 = getelementptr inbounds i8, i8* %33, i64 1 + %34 = load i8, i8* %arrayidx38, align 1 + %conv39 = zext i8 %34 to i32 + %and40 = and i32 %conv39, 127 + %add41 = add nsw i32 %shl37, %and40 + store i32 %add41, i32* %row, align 4 + %35 = load i8*, i8** %p.addr, align 8 + %36 = load i8, i8* %35, align 1 + %37 = load i8*, i8** %s, align 8 + store i8 %36, i8* %37, align 1 + %38 = load i8*, i8** %p.addr, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %38, i64 1 + %39 = load i8, i8* %arrayidx42, align 1 + %40 = load i8*, i8** %s, align 8 + %arrayidx43 = getelementptr inbounds i8, i8* %40, i64 1 + store i8 %39, i8* %arrayidx43, align 1 + %41 = load i32, i32* %i, align 4 + %cmp44 = icmp ne i32 %41, 4 + br i1 %cmp44, label %land.lhs.true, label %if.end92 + +land.lhs.true: ; preds = %if.then34 + %42 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_common_item_offsets_LEN = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %42, i32 0, i32 29 + %43 = load i32, i32* %i, align 4 + %idxprom46 = sext i32 %43 to i64 + %arrayidx47 = getelementptr inbounds [6 x i8], [6 x i8]* %lc_common_item_offsets_LEN, i64 0, i64 %idxprom46 + %44 = load i8, i8* %arrayidx47, align 1 + %conv48 = zext i8 %44 to i32 + store i32 %conv48, i32* %len, align 4 + %cmp49 = icmp ne i32 %conv48, 0 + br i1 %cmp49, label %if.then51, label %if.end92 + +if.then51: ; preds = %land.lhs.true + %45 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales52 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %45, i32 0, i32 31 + %46 = load i32, i32* %row, align 4 + %mul53 = mul nsw i32 9, %46 + %add54 = add nsw i32 %mul53, 3 + %47 = load i32, i32* %i, align 4 + %add55 = add nsw i32 %add54, %47 + %idxprom56 = sext i32 %add55 to i64 + %arrayidx57 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales52, i64 0, i64 %idxprom56 + %48 = load i8, i8* %arrayidx57, align 1 + %conv58 = zext i8 %48 to i32 + %49 = load i32, i32* %len, align 4 + %mul59 = mul nsw i32 %conv58, %49 + store i32 %mul59, i32* %crow, align 4 + %50 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %51 = bitcast %struct.__uclibc_locale_struct.201* %50 to i8* + %52 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %52, i32 0, i32 7 + %53 = load i32, i32* %i, align 4 + %idxprom60 = sext i32 %53 to i64 + %arrayidx61 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets, i64 0, i64 %idxprom60 + %54 = load i16, i16* %arrayidx61, align 2 + %conv62 = zext i16 %54 to i32 + %idx.ext = sext i32 %conv62 to i64 + %add.ptr63 = getelementptr inbounds i8, i8* %51, i64 %idx.ext + %55 = bitcast i8* %add.ptr63 to i8** + store i8** %55, i8*** %x, align 8 + %56 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_common_tbl_offsets = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %56, i32 0, i32 30 + %arraydecay64 = getelementptr inbounds [24 x i64], [24 x i64]* %lc_common_tbl_offsets, i64 0, i64 0 + %57 = load i32, i32* %i, align 4 + %mul65 = mul nsw i32 4, %57 + %idx.ext66 = sext i32 %mul65 to i64 + %add.ptr67 = getelementptr inbounds i64, i64* %arraydecay64, i64 %idx.ext66 + store i64* %add.ptr67, i64** %stp, align 8 + %58 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %59 = bitcast %struct.__locale_mmap_t.203* %58 to i8* + %60 = load i64*, i64** %stp, align 8 + %61 = load i64, i64* %60, align 8 + %add.ptr68 = getelementptr inbounds i8, i8* %59, i64 %61 + store i8* %add.ptr68, i8** %r, align 8 + %62 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %63 = bitcast %struct.__locale_mmap_t.203* %62 to i8* + %64 = load i64*, i64** %stp, align 8 + %incdec.ptr69 = getelementptr inbounds i64, i64* %64, i32 1 + store i64* %incdec.ptr69, i64** %stp, align 8 + %65 = load i64, i64* %incdec.ptr69, align 8 + %add.ptr70 = getelementptr inbounds i8, i8* %63, i64 %65 + %66 = bitcast i8* %add.ptr70 to i16* + store i16* %66, i16** %io, align 8 + %67 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %68 = bitcast %struct.__locale_mmap_t.203* %67 to i8* + %69 = load i64*, i64** %stp, align 8 + %incdec.ptr71 = getelementptr inbounds i64, i64* %69, i32 1 + store i64* %incdec.ptr71, i64** %stp, align 8 + %70 = load i64, i64* %incdec.ptr71, align 8 + %add.ptr72 = getelementptr inbounds i8, i8* %68, i64 %70 + %71 = bitcast i8* %add.ptr72 to i16* + store i16* %71, i16** %ii, align 8 + %72 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %73 = bitcast %struct.__locale_mmap_t.203* %72 to i8* + %74 = load i64*, i64** %stp, align 8 + %incdec.ptr73 = getelementptr inbounds i64, i64* %74, i32 1 + store i64* %incdec.ptr73, i64** %stp, align 8 + %75 = load i64, i64* %incdec.ptr73, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %73, i64 %75 + store i8* %add.ptr74, i8** %d, align 8 + store i32 0, i32* %c, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.then51 + %76 = load i32, i32* %c, align 4 + %77 = load i32, i32* %len, align 4 + %cmp75 = icmp slt i32 %76, %77 + br i1 %cmp75, label %for.body, label %if.end92 + +for.body: ; preds = %for.cond + %78 = load i8*, i8** %d, align 8 + %79 = load i16*, i16** %ii, align 8 + %80 = load i8*, i8** %r, align 8 + %81 = load i32, i32* %crow, align 4 + %82 = load i32, i32* %c, align 4 + %add77 = add nsw i32 %81, %82 + %idxprom78 = sext i32 %add77 to i64 + %arrayidx79 = getelementptr inbounds i8, i8* %80, i64 %idxprom78 + %83 = load i8, i8* %arrayidx79, align 1 + %conv80 = zext i8 %83 to i32 + %84 = load i16*, i16** %io, align 8 + %85 = load i32, i32* %c, align 4 + %idxprom81 = sext i32 %85 to i64 + %arrayidx82 = getelementptr inbounds i16, i16* %84, i64 %idxprom81 + %86 = load i16, i16* %arrayidx82, align 2 + %conv83 = zext i16 %86 to i32 + %add84 = add nsw i32 %conv80, %conv83 + %idxprom85 = sext i32 %add84 to i64 + %arrayidx86 = getelementptr inbounds i16, i16* %79, i64 %idxprom85 + %87 = load i16, i16* %arrayidx86, align 2 + %conv87 = zext i16 %87 to i32 + %idx.ext88 = sext i32 %conv87 to i64 + %add.ptr89 = getelementptr inbounds i8, i8* %78, i64 %idx.ext88 + %88 = load i8**, i8*** %x, align 8 + %89 = load i32, i32* %c, align 4 + %idx.ext90 = sext i32 %89 to i64 + %add.ptr91 = getelementptr inbounds i8*, i8** %88, i64 %idx.ext90 + store i8* %add.ptr89, i8** %add.ptr91, align 8 + %90 = load i32, i32* %c, align 4 + %inc = add nsw i32 %90, 1 + store i32 %inc, i32* %c, align 4 + br label %for.cond + +if.end92: ; preds = %for.cond, %land.lhs.true, %if.then34 + %91 = load i32, i32* %i, align 4 + %cmp93 = icmp eq i32 %91, 0 + br i1 %cmp93, label %if.then95, label %if.else295 + +if.then95: ; preds = %if.end92 + %92 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales96 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %92, i32 0, i32 31 + %93 = load i32, i32* %row, align 4 + %mul97 = mul nsw i32 9, %93 + %add98 = add nsw i32 %mul97, 2 + %idxprom99 = sext i32 %add98 to i64 + %arrayidx100 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales96, i64 0, i64 %idxprom99 + %94 = load i8, i8* %arrayidx100, align 1 + %conv101 = zext i8 %94 to i32 + store i32 %conv101, i32* %c, align 4 + %95 = load i32, i32* %c, align 4 + %cmp102 = icmp sle i32 %95, 2 + br i1 %cmp102, label %if.then104, label %if.else112 + +if.then104: ; preds = %if.then95 + %96 = load i32, i32* %c, align 4 + %cmp105 = icmp eq i32 %96, 2 + %97 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %codeset = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %97, i32 0, i32 38 + br i1 %cmp105, label %if.then107, label %if.else + +if.then107: ; preds = %if.then104 + store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf8, i64 0, i64 0), i8** %codeset, align 8 + %98 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %98, i32 0, i32 9 + store i8 1, i8* %encoding, align 8 + %99 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %mb_cur_max = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %99, i32 0, i32 10 + store i8 6, i8* %mb_cur_max, align 1 + br label %if.end280 + +if.else: ; preds = %if.then104 + store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @ascii, i64 0, i64 0), i8** %codeset, align 8 + %100 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %encoding109 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %100, i32 0, i32 9 + store i8 0, i8* %encoding109, align 8 + %101 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %mb_cur_max110 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %101, i32 0, i32 10 + store i8 1, i8* %mb_cur_max110, align 1 + br label %if.end280 + +if.else112: ; preds = %if.then95 + %102 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %102, i32 0, i32 35 + %arraydecay113 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list, i64 0, i64 0 + store i8* %arraydecay113, i8** %r, align 8 + %103 = load i8*, i8** %r, align 8 + %104 = load i8*, i8** %r, align 8 + %105 = load i32, i32* %c, align 4 + %sub = sub nsw i32 %105, 3 + store i32 %sub, i32* %c, align 4 + %idxprom114 = sext i32 %sub to i64 + %arrayidx115 = getelementptr inbounds i8, i8* %104, i64 %idxprom114 + %106 = load i8, i8* %arrayidx115, align 1 + %conv116 = zext i8 %106 to i32 + %idx.ext117 = sext i32 %conv116 to i64 + %add.ptr118 = getelementptr inbounds i8, i8* %103, i64 %idx.ext117 + %107 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %codeset119 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %107, i32 0, i32 38 + store i8* %add.ptr118, i8** %codeset119, align 8 + %108 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %encoding120 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %108, i32 0, i32 9 + store i8 2, i8* %encoding120, align 8 + %109 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %mb_cur_max121 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %109, i32 0, i32 10 + store i8 1, i8* %mb_cur_max121, align 1 + %110 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_8_bit = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %110, i32 0, i32 12 + %arraydecay122 = getelementptr inbounds [23 x %struct.__codeset_8_bit_t.202], [23 x %struct.__codeset_8_bit_t.202]* %codeset_8_bit, i64 0, i64 0 + %111 = load i32, i32* %c, align 4 + %idx.ext123 = sext i32 %111 to i64 + %add.ptr124 = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %arraydecay122, i64 %idx.ext123 + store %struct.__codeset_8_bit_t.202* %add.ptr124, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %112 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8ctype = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %112, i32 0, i32 0 + %arraydecay125 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8ctype, i64 0, i64 0 + %113 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8ctype126 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %113, i32 0, i32 12 + store i8* %arraydecay125, i8** %idx8ctype126, align 8 + %114 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8uplow = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %114, i32 0, i32 1 + %arraydecay127 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8uplow, i64 0, i64 0 + %115 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8uplow128 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %115, i32 0, i32 14 + store i8* %arraydecay127, i8** %idx8uplow128, align 8 + %116 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8c2wc = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %116, i32 0, i32 2 + %arraydecay129 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8c2wc, i64 0, i64 0 + %117 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8c2wc130 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %117, i32 0, i32 16 + store i8* %arraydecay129, i8** %idx8c2wc130, align 8 + %118 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8wc2c = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %118, i32 0, i32 3 + %arraydecay131 = getelementptr inbounds [38 x i8], [38 x i8]* %idx8wc2c, i64 0, i64 0 + %119 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8wc2c132 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %119, i32 0, i32 18 + store i8* %arraydecay131, i8** %idx8wc2c132, align 8 + %120 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b_data = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %120, i32 0, i32 3 + %arraydecay133 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data, i64 0, i64 0 + %121 = bitcast i16* %arraydecay133 to i8* + %122 = load i16*, i16** @__C_ctype_b, align 8 + %add.ptr134 = getelementptr inbounds i16, i16* %122, i64 -128 + %123 = bitcast i16* %add.ptr134 to i8* + %call135 = call i8* @memcpy(i8* %121, i8* %123, i64 768) #19 + %124 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %124, i32 0, i32 4 + %arraydecay136 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data, i64 0, i64 0 + %125 = bitcast i16* %arraydecay136 to i8* + %126 = load i16*, i16** @__C_ctype_tolower, align 8 + %add.ptr137 = getelementptr inbounds i16, i16* %126, i64 -128 + %127 = bitcast i16* %add.ptr137 to i8* + %call138 = call i8* @memcpy(i8* %125, i8* %127, i64 768) #19 + %128 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %128, i32 0, i32 5 + %arraydecay139 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data, i64 0, i64 0 + %129 = bitcast i16* %arraydecay139 to i8* + %130 = load i16*, i16** @__C_ctype_toupper, align 8 + %add.ptr140 = getelementptr inbounds i16, i16* %130, i64 -128 + %131 = bitcast i16* %add.ptr140 to i8* + %call141 = call i8* @memcpy(i8* %129, i8* %131, i64 768) #19 + store i32 0, i32* %u, align 4 + br label %for.cond142 + +for.cond142: ; preds = %for.inc268, %if.else112 + %132 = load i32, i32* %u, align 4 + %cmp143 = icmp slt i32 %132, 128 + %133 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + br i1 %cmp143, label %for.body145, label %for.end270 + +for.body145: ; preds = %for.cond142 + %tbl8ctype = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %133, i32 0, i32 13 + %134 = load i8*, i8** %tbl8ctype, align 8 + %135 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8ctype146 = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %135, i32 0, i32 0 + %136 = load i32, i32* %u, align 4 + %shr = ashr i32 %136, 3 + %idxprom147 = sext i32 %shr to i64 + %arrayidx148 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8ctype146, i64 0, i64 %idxprom147 + %137 = load i8, i8* %arrayidx148, align 1 + %conv149 = zext i8 %137 to i32 + %shl150 = shl i32 %conv149, 2 + %138 = load i32, i32* %u, align 4 + %and151 = and i32 %138, 7 + %shr152 = ashr i32 %and151, 1 + %add153 = add nsw i32 %shl150, %shr152 + %idxprom154 = sext i32 %add153 to i64 + %arrayidx155 = getelementptr inbounds i8, i8* %134, i64 %idxprom154 + %139 = load i8, i8* %arrayidx155, align 1 + %conv156 = zext i8 %139 to i32 + store i32 %conv156, i32* %c, align 4 + %140 = load i32, i32* %u, align 4 + %and157 = and i32 %140, 1 + %tobool158 = icmp ne i32 %and157, 0 + %141 = load i32, i32* %c, align 4 + %shr159 = ashr i32 %141, 4 + %and160 = and i32 %141, 15 + %cond = select i1 %tobool158, i32 %shr159, i32 %and160 + store i32 %cond, i32* %c, align 4 + %142 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %code2flag = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %142, i32 0, i32 20 + %143 = load i16*, i16** %code2flag, align 8 + %144 = load i32, i32* %c, align 4 + %idxprom161 = sext i32 %144 to i64 + %arrayidx162 = getelementptr inbounds i16, i16* %143, i64 %idxprom161 + %145 = load i16, i16* %arrayidx162, align 2 + store i16 %145, i16* %m, align 2 + %146 = load i16, i16* %m, align 2 + %147 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b_data163 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %147, i32 0, i32 3 + %148 = load i32, i32* %u, align 4 + %add164 = add nsw i32 256, %148 + %idxprom165 = sext i32 %add164 to i64 + %arrayidx166 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data163, i64 0, i64 %idxprom165 + store i16 %146, i16* %arrayidx166, align 2 + %149 = load i32, i32* %u, align 4 + %add167 = add nsw i32 128, %149 + %conv168 = trunc i32 %add167 to i8 + %conv169 = sext i8 %conv168 to i32 + %cmp170 = icmp ne i32 %conv169, -1 + br i1 %cmp170, label %if.then172, label %if.end180 + +if.then172: ; preds = %for.body145 + %150 = load i16, i16* %m, align 2 + %151 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b_data173 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %151, i32 0, i32 3 + %152 = load i32, i32* %u, align 4 + %add174 = add nsw i32 128, %152 + %conv175 = trunc i32 %add174 to i8 + %conv176 = sext i8 %conv175 to i32 + %add177 = add nsw i32 128, %conv176 + %idxprom178 = sext i32 %add177 to i64 + %arrayidx179 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data173, i64 0, i64 %idxprom178 + store i16 %150, i16* %arrayidx179, align 2 + br label %if.end180 + +if.end180: ; preds = %if.then172, %for.body145 + %153 = load i32, i32* %u, align 4 + %add181 = add nsw i32 128, %153 + %conv182 = trunc i32 %add181 to i16 + %154 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data183 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %154, i32 0, i32 4 + %155 = load i32, i32* %u, align 4 + %add184 = add nsw i32 256, %155 + %idxprom185 = sext i32 %add184 to i64 + %arrayidx186 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data183, i64 0, i64 %idxprom185 + store i16 %conv182, i16* %arrayidx186, align 2 + %156 = load i32, i32* %u, align 4 + %add187 = add nsw i32 128, %156 + %conv188 = trunc i32 %add187 to i16 + %157 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data189 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %157, i32 0, i32 5 + %158 = load i32, i32* %u, align 4 + %add190 = add nsw i32 256, %158 + %idxprom191 = sext i32 %add190 to i64 + %arrayidx192 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data189, i64 0, i64 %idxprom191 + store i16 %conv188, i16* %arrayidx192, align 2 + %159 = load i16, i16* %m, align 2 + %conv193 = zext i16 %159 to i32 + %and194 = and i32 %conv193, 768 + %tobool195 = icmp ne i32 %and194, 0 + br i1 %tobool195, label %if.then196, label %for.inc268 + +if.then196: ; preds = %if.end180 + %160 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8uplow = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %160, i32 0, i32 15 + %161 = load i8*, i8** %tbl8uplow, align 8 + %162 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8uplow197 = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %162, i32 0, i32 1 + %163 = load i32, i32* %u, align 4 + %shr198 = ashr i32 %163, 3 + %idxprom199 = sext i32 %shr198 to i64 + %arrayidx200 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8uplow197, i64 0, i64 %idxprom199 + %164 = load i8, i8* %arrayidx200, align 1 + %conv201 = zext i8 %164 to i32 + %shl202 = shl i32 %conv201, 3 + %165 = load i32, i32* %u, align 4 + %add203 = add nsw i32 128, %165 + %and204 = and i32 %add203, 7 + %add205 = add nsw i32 %shl202, %and204 + %idxprom206 = sext i32 %add205 to i64 + %arrayidx207 = getelementptr inbounds i8, i8* %161, i64 %idxprom206 + %166 = load i8, i8* %arrayidx207, align 1 + %conv208 = zext i8 %166 to i32 + store i32 %conv208, i32* %c, align 4 + %167 = load i16, i16* %m, align 2 + %conv209 = zext i16 %167 to i32 + %and210 = and i32 %conv209, 512 + %tobool211 = icmp ne i32 %and210, 0 + %168 = load i32, i32* %u, align 4 + %add213 = add nsw i32 128, %168 + %169 = load i32, i32* %c, align 4 + br i1 %tobool211, label %if.then212, label %if.else239 + +if.then212: ; preds = %if.then196 + %add214 = add nsw i32 %add213, %169 + %conv215 = trunc i32 %add214 to i8 + %conv216 = zext i8 %conv215 to i16 + %170 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data217 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %170, i32 0, i32 5 + %171 = load i32, i32* %u, align 4 + %add218 = add nsw i32 256, %171 + %idxprom219 = sext i32 %add218 to i64 + %arrayidx220 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data217, i64 0, i64 %idxprom219 + store i16 %conv216, i16* %arrayidx220, align 2 + %172 = load i32, i32* %u, align 4 + %add221 = add nsw i32 128, %172 + %conv222 = trunc i32 %add221 to i8 + %conv223 = sext i8 %conv222 to i32 + %cmp224 = icmp ne i32 %conv223, -1 + br i1 %cmp224, label %if.then226, label %for.inc268 + +if.then226: ; preds = %if.then212 + %173 = load i32, i32* %u, align 4 + %add227 = add nsw i32 128, %173 + %174 = load i32, i32* %c, align 4 + %add228 = add nsw i32 %add227, %174 + %conv229 = trunc i32 %add228 to i8 + %conv230 = zext i8 %conv229 to i16 + %175 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data231 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %175, i32 0, i32 5 + %176 = load i32, i32* %u, align 4 + %add232 = add nsw i32 128, %176 + %conv233 = trunc i32 %add232 to i8 + %conv234 = sext i8 %conv233 to i32 + %add235 = add nsw i32 128, %conv234 + %idxprom236 = sext i32 %add235 to i64 + %arrayidx237 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data231, i64 0, i64 %idxprom236 + store i16 %conv230, i16* %arrayidx237, align 2 + br label %for.inc268 + +if.else239: ; preds = %if.then196 + %sub241 = sub nsw i32 %add213, %169 + %conv242 = trunc i32 %sub241 to i8 + %conv243 = zext i8 %conv242 to i16 + %177 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data244 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %177, i32 0, i32 4 + %178 = load i32, i32* %u, align 4 + %add245 = add nsw i32 256, %178 + %idxprom246 = sext i32 %add245 to i64 + %arrayidx247 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data244, i64 0, i64 %idxprom246 + store i16 %conv243, i16* %arrayidx247, align 2 + %179 = load i32, i32* %u, align 4 + %add248 = add nsw i32 128, %179 + %conv249 = trunc i32 %add248 to i8 + %conv250 = sext i8 %conv249 to i32 + %cmp251 = icmp ne i32 %conv250, -1 + br i1 %cmp251, label %if.then253, label %for.inc268 + +if.then253: ; preds = %if.else239 + %180 = load i32, i32* %u, align 4 + %add254 = add nsw i32 128, %180 + %181 = load i32, i32* %c, align 4 + %sub255 = sub nsw i32 %add254, %181 + %conv256 = trunc i32 %sub255 to i8 + %conv257 = zext i8 %conv256 to i16 + %182 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data258 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %182, i32 0, i32 4 + %183 = load i32, i32* %u, align 4 + %add259 = add nsw i32 128, %183 + %conv260 = trunc i32 %add259 to i8 + %conv261 = sext i8 %conv260 to i32 + %add262 = add nsw i32 128, %conv261 + %idxprom263 = sext i32 %add262 to i64 + %arrayidx264 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data258, i64 0, i64 %idxprom263 + store i16 %conv257, i16* %arrayidx264, align 2 + br label %for.inc268 + +for.inc268: ; preds = %if.end180, %if.else239, %if.then253, %if.then212, %if.then226 + %184 = load i32, i32* %u, align 4 + %inc269 = add nsw i32 %184, 1 + store i32 %inc269, i32* %u, align 4 + br label %for.cond142 + +for.end270: ; preds = %for.cond142 + %__ctype_b_data271 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %133, i32 0, i32 3 + %arraydecay272 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data271, i64 0, i64 0 + %add.ptr273 = getelementptr inbounds i16, i16* %arraydecay272, i64 128 + %185 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %185, i32 0, i32 0 + store i16* %add.ptr273, i16** %__ctype_b, align 8 + %186 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data274 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %186, i32 0, i32 4 + %arraydecay275 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data274, i64 0, i64 0 + %add.ptr276 = getelementptr inbounds i16, i16* %arraydecay275, i64 128 + %187 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %187, i32 0, i32 1 + store i16* %add.ptr276, i16** %__ctype_tolower, align 8 + %188 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data277 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %188, i32 0, i32 5 + %arraydecay278 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data277, i64 0, i64 0 + %add.ptr279 = getelementptr inbounds i16, i16* %arraydecay278, i64 128 + %189 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %189, i32 0, i32 2 + store i16* %add.ptr279, i16** %__ctype_toupper, align 8 + br label %if.end280 + +if.end280: ; preds = %if.then107, %if.else, %for.end270 + %190 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %outdigit_length = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %190, i32 0, i32 11 + %arraydecay281 = getelementptr inbounds [10 x i8], [10 x i8]* %outdigit_length, i64 0, i64 0 + store i8* %arraydecay281, i8** %d, align 8 + %191 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %outdigit0_mb = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %191, i32 0, i32 28 + store i8** %outdigit0_mb, i8*** %x, align 8 + store i32 0, i32* %c, align 4 + br label %for.cond282 + +for.cond282: ; preds = %for.body285, %if.end280 + %192 = load i32, i32* %c, align 4 + %cmp283 = icmp slt i32 %192, 10 + br i1 %cmp283, label %for.body285, label %if.end313 + +for.body285: ; preds = %for.cond282 + %193 = load i8**, i8*** %x, align 8 + %194 = load i32, i32* %c, align 4 + %idxprom286 = sext i32 %194 to i64 + %arrayidx287 = getelementptr inbounds i8*, i8** %193, i64 %idxprom286 + %195 = load i8*, i8** %arrayidx287, align 8 + %call288 = call i64 @strlen(i8* %195) #20 + %conv289 = trunc i64 %call288 to i8 + %196 = load i8*, i8** %d, align 8 + %197 = load i32, i32* %c, align 4 + %idxprom290 = sext i32 %197 to i64 + %arrayidx291 = getelementptr inbounds i8, i8* %196, i64 %idxprom290 + store i8 %conv289, i8* %arrayidx291, align 1 + %198 = load i32, i32* %c, align 4 + %inc293 = add nsw i32 %198, 1 + store i32 %inc293, i32* %c, align 4 + br label %for.cond282 + +if.else295: ; preds = %if.end92 + %199 = load i32, i32* %i, align 4 + %cmp296 = icmp eq i32 %199, 1 + br i1 %cmp296, label %if.then298, label %if.end313 + +if.then298: ; preds = %if.else295 + %200 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %decimal_point_wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %200, i32 0, i32 24 + %201 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %decimal_point = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %201, i32 0, i32 39 + %202 = load i8*, i8** %decimal_point, align 8 + %203 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call299 = call i32 @__locale_mbrtowc_l(i32* %decimal_point_wc, i8* %202, %struct.__uclibc_locale_struct.201* %203) #18 + %204 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %decimal_point_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %204, i32 0, i32 26 + store i32 %call299, i32* %decimal_point_len, align 8 + %205 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %grouping = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %205, i32 0, i32 41 + %206 = load i8*, i8** %grouping, align 8 + %207 = load i8, i8* %206, align 1 + %tobool300 = icmp ne i8 %207, 0 + br i1 %tobool300, label %if.then301, label %if.end313 + +if.then301: ; preds = %if.then298 + %208 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep_wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %208, i32 0, i32 25 + %209 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %209, i32 0, i32 40 + %210 = load i8*, i8** %thousands_sep, align 8 + %211 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call302 = call i32 @__locale_mbrtowc_l(i32* %thousands_sep_wc, i8* %210, %struct.__uclibc_locale_struct.201* %211) #18 + %212 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %212, i32 0, i32 27 + store i32 %call302, i32* %thousands_sep_len, align 4 + %213 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep_len303 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %213, i32 0, i32 27 + %214 = load i32, i32* %thousands_sep_len303, align 4 + %cmp304 = icmp eq i32 %214, 0 + br i1 %cmp304, label %if.then306, label %if.end313 + +if.then306: ; preds = %if.then301 + %215 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep307 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %215, i32 0, i32 40 + %216 = load i8*, i8** %thousands_sep307, align 8 + %217 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %grouping308 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %217, i32 0, i32 41 + store i8* %216, i8** %grouping308, align 8 + br label %if.end313 + +if.end313: ; preds = %for.cond282, %if.then298, %if.then306, %if.then301, %if.else295, %lor.lhs.false27 + %218 = load i32, i32* %i, align 4 + %inc314 = add nsw i32 %218, 1 + store i32 %inc314, i32* %i, align 4 + %219 = load i8*, i8** %p.addr, align 8 + %add.ptr315 = getelementptr inbounds i8, i8* %219, i64 2 + store i8* %add.ptr315, i8** %p.addr, align 8 + %220 = load i8*, i8** %s, align 8 + %add.ptr316 = getelementptr inbounds i8, i8* %220, i64 2 + store i8* %add.ptr316, i8** %s, align 8 + %221 = load i32, i32* %i, align 4 + %cmp317 = icmp slt i32 %221, 6 + br i1 %cmp317, label %do.body, label %do.end + +do.end: ; preds = %if.end313 + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end, %if.then18 + %222 = load i32, i32* %retval, align 4 + ret i32 %222 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @init_cur_collate(i32 %der_num, %struct.__collate_t.200* %cur_collate) #0 { +entry: + %retval = alloca i32, align 4 + %der_num.addr = alloca i32, align 4 + %cur_collate.addr = alloca %struct.__collate_t.200*, align 8 + %__locale_collate_tbl = alloca i16*, align 8 + %cdh = alloca %struct.coldata_header_t*, align 8 + %cdb = alloca %struct.coldata_base_t*, align 8 + %cdd = alloca %struct.winsize*, align 8 + %p = alloca i16*, align 8 + %n = alloca i64, align 8 + %i = alloca i16, align 2 + %w = alloca i16, align 2 + store i32 %der_num, i32* %der_num.addr, align 4 + store %struct.__collate_t.200* %cur_collate, %struct.__collate_t.200** %cur_collate.addr, align 8 + %0 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %collate_data = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %0, i32 0, i32 28 + %arraydecay = getelementptr inbounds [91141 x i16], [91141 x i16]* %collate_data, i64 0, i64 0 + store i16* %arraydecay, i16** %__locale_collate_tbl, align 8 + %1 = load i32, i32* %der_num.addr, align 4 + %tobool = icmp ne i32 %1, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %2 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %num_weights = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %2, i32 0, i32 0 + store i16 0, i16* %num_weights, align 8 + store i32 1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* %der_num.addr, align 4 + %dec = add nsw i32 %3, -1 + store i32 %dec, i32* %der_num.addr, align 4 + %4 = load i16*, i16** %__locale_collate_tbl, align 8 + %5 = bitcast i16* %4 to %struct.coldata_header_t* + store %struct.coldata_header_t* %5, %struct.coldata_header_t** %cdh, align 8 + %6 = load i16*, i16** %__locale_collate_tbl, align 8 + %7 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_base = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %7, i32 0, i32 0 + %8 = load i16, i16* %num_base, align 2 + %conv = zext i16 %8 to i64 + %mul = mul i64 %conv, 38 + %add = add i64 16, %mul + %9 = load i32, i32* %der_num.addr, align 4 + %conv1 = sext i32 %9 to i64 + %mul2 = mul i64 %conv1, 8 + %add3 = add i64 %add, %mul2 + %div = udiv i64 %add3, 2 + %add.ptr = getelementptr inbounds i16, i16* %6, i64 %div + %10 = bitcast i16* %add.ptr to %struct.winsize* + store %struct.winsize* %10, %struct.winsize** %cdd, align 8 + %11 = load i16*, i16** %__locale_collate_tbl, align 8 + %12 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %base_idx = getelementptr inbounds %struct.winsize, %struct.winsize* %12, i32 0, i32 0 + %13 = load i16, i16* %base_idx, align 2 + %conv4 = zext i16 %13 to i64 + %mul5 = mul i64 %conv4, 38 + %add6 = add i64 16, %mul5 + %div7 = udiv i64 %add6, 2 + %add.ptr8 = getelementptr inbounds i16, i16* %11, i64 %div7 + %14 = bitcast i16* %add.ptr8 to %struct.coldata_base_t* + store %struct.coldata_base_t* %14, %struct.coldata_base_t** %cdb, align 8 + %15 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %16 = bitcast %struct.__collate_t.200* %15 to i8* + %17 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %18 = bitcast %struct.coldata_base_t* %17 to i8* + %call = call i8* @memcpy(i8* %16, i8* %18, i64 28) #19 + %19 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %undefined_idx = getelementptr inbounds %struct.winsize, %struct.winsize* %19, i32 0, i32 1 + %20 = load i16, i16* %undefined_idx, align 2 + %21 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %undefined_idx9 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %21, i32 0, i32 9 + store i16 %20, i16* %undefined_idx9, align 2 + %22 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ti_shift = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %22, i32 0, i32 3 + %23 = load i16, i16* %ti_shift, align 2 + %conv10 = zext i16 %23 to i32 + %shl = shl i32 1, %conv10 + %sub = sub nsw i32 %shl, 1 + %conv11 = trunc i32 %sub to i16 + %24 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ti_mask = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %24, i32 0, i32 15 + store i16 %conv11, i16* %ti_mask, align 2 + %25 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ii_shift = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %25, i32 0, i32 2 + %26 = load i16, i16* %ii_shift, align 4 + %conv12 = zext i16 %26 to i32 + %shl13 = shl i32 1, %conv12 + %sub14 = sub nsw i32 %shl13, 1 + %conv15 = trunc i32 %sub14 to i16 + %27 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ii_mask = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %27, i32 0, i32 14 + store i16 %conv15, i16* %ii_mask, align 4 + %28 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_base16 = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %28, i32 0, i32 0 + %29 = load i16, i16* %num_base16, align 2 + %conv17 = zext i16 %29 to i64 + %mul18 = mul i64 %conv17, 38 + %add19 = add i64 16, %mul18 + %30 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_der = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %30, i32 0, i32 1 + %31 = load i16, i16* %num_der, align 2 + %conv20 = zext i16 %31 to i64 + %mul21 = mul i64 %conv20, 8 + %add22 = add i64 %add19, %mul21 + %div23 = udiv i64 %add22, 2 + store i64 %div23, i64* %n, align 8 + %32 = load i16*, i16** %__locale_collate_tbl, align 8 + %33 = load i64, i64* %n, align 8 + %add.ptr24 = getelementptr inbounds i16, i16* %32, i64 %33 + %34 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %index2weight_offset = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %34, i32 0, i32 14 + %35 = load i16, i16* %index2weight_offset, align 2 + %conv25 = zext i16 %35 to i32 + %idx.ext = sext i32 %conv25 to i64 + %add.ptr26 = getelementptr inbounds i16, i16* %add.ptr24, i64 %idx.ext + %36 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %36, i32 0, i32 16 + store i16* %add.ptr26, i16** %index2weight_tbl, align 8 + %37 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_index2weight = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %37, i32 0, i32 3 + %38 = load i16, i16* %num_index2weight, align 2 + %conv27 = zext i16 %38 to i64 + %39 = load i64, i64* %n, align 8 + %add28 = add i64 %39, %conv27 + store i64 %add28, i64* %n, align 8 + %40 = load i16*, i16** %__locale_collate_tbl, align 8 + %41 = load i64, i64* %n, align 8 + %add.ptr29 = getelementptr inbounds i16, i16* %40, i64 %41 + %42 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %index2ruleidx_offset = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %42, i32 0, i32 15 + %43 = load i16, i16* %index2ruleidx_offset, align 2 + %conv30 = zext i16 %43 to i32 + %idx.ext31 = sext i32 %conv30 to i64 + %add.ptr32 = getelementptr inbounds i16, i16* %add.ptr29, i64 %idx.ext31 + %44 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %44, i32 0, i32 17 + store i16* %add.ptr32, i16** %index2ruleidx_tbl, align 8 + %45 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_index2weight33 = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %45, i32 0, i32 3 + %46 = load i16, i16* %num_index2weight33, align 2 + %conv34 = zext i16 %46 to i64 + %47 = load i64, i64* %n, align 8 + %add35 = add i64 %47, %conv34 + store i64 %add35, i64* %n, align 8 + %48 = load i16*, i16** %__locale_collate_tbl, align 8 + %49 = load i64, i64* %n, align 8 + %add.ptr36 = getelementptr inbounds i16, i16* %48, i64 %49 + %50 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %multistart_offset = getelementptr inbounds %struct.winsize, %struct.winsize* %50, i32 0, i32 3 + %51 = load i16, i16* %multistart_offset, align 2 + %conv37 = zext i16 %51 to i32 + %idx.ext38 = sext i32 %conv37 to i64 + %add.ptr39 = getelementptr inbounds i16, i16* %add.ptr36, i64 %idx.ext38 + %52 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %multistart_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %52, i32 0, i32 18 + store i16* %add.ptr39, i16** %multistart_tbl, align 8 + %53 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_multistart = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %53, i32 0, i32 5 + %54 = load i16, i16* %num_multistart, align 2 + %conv40 = zext i16 %54 to i64 + %55 = load i64, i64* %n, align 8 + %add41 = add i64 %55, %conv40 + store i64 %add41, i64* %n, align 8 + %56 = load i16*, i16** %__locale_collate_tbl, align 8 + %57 = load i64, i64* %n, align 8 + %add.ptr42 = getelementptr inbounds i16, i16* %56, i64 %57 + %58 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %overrides_offset = getelementptr inbounds %struct.winsize, %struct.winsize* %58, i32 0, i32 2 + %59 = load i16, i16* %overrides_offset, align 2 + %conv43 = zext i16 %59 to i32 + %idx.ext44 = sext i32 %conv43 to i64 + %add.ptr45 = getelementptr inbounds i16, i16* %add.ptr42, i64 %idx.ext44 + %60 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %overrides_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %60, i32 0, i32 20 + store i16* %add.ptr45, i16** %overrides_tbl, align 8 + %61 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_override = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %61, i32 0, i32 6 + %62 = load i16, i16* %num_override, align 2 + %conv46 = zext i16 %62 to i64 + %63 = load i64, i64* %n, align 8 + %add47 = add i64 %63, %conv46 + store i64 %add47, i64* %n, align 8 + %64 = load i16*, i16** %__locale_collate_tbl, align 8 + %65 = load i64, i64* %n, align 8 + %add.ptr48 = getelementptr inbounds i16, i16* %64, i64 %65 + %66 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ruletable = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %66, i32 0, i32 22 + store i16* %add.ptr48, i16** %ruletable, align 8 + %67 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_ruletable = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %67, i32 0, i32 7 + %68 = load i16, i16* %num_ruletable, align 2 + %conv49 = zext i16 %68 to i64 + %69 = load i64, i64* %n, align 8 + %add50 = add i64 %69, %conv49 + store i64 %add50, i64* %n, align 8 + %70 = load i16*, i16** %__locale_collate_tbl, align 8 + %71 = load i64, i64* %n, align 8 + %add.ptr51 = getelementptr inbounds i16, i16* %70, i64 %71 + %72 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %weightstr = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %72, i32 0, i32 21 + store i16* %add.ptr51, i16** %weightstr, align 8 + %73 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_weightstr = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %73, i32 0, i32 4 + %74 = load i16, i16* %num_weightstr, align 2 + %conv52 = zext i16 %74 to i64 + %75 = load i64, i64* %n, align 8 + %add53 = add i64 %75, %conv52 + store i64 %add53, i64* %n, align 8 + %76 = load i16*, i16** %__locale_collate_tbl, align 8 + %77 = load i64, i64* %n, align 8 + %add.ptr54 = getelementptr inbounds i16, i16* %76, i64 %77 + %78 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %wcs2colidt_offset_hi = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %78, i32 0, i32 18 + %79 = load i16, i16* %wcs2colidt_offset_hi, align 2 + %conv55 = zext i16 %79 to i64 + %shl56 = shl i64 %conv55, 16 + %add.ptr57 = getelementptr inbounds i16, i16* %add.ptr54, i64 %shl56 + %80 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %wcs2colidt_offset_low = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %80, i32 0, i32 17 + %81 = load i16, i16* %wcs2colidt_offset_low, align 2 + %conv58 = zext i16 %81 to i32 + %idx.ext59 = sext i32 %conv58 to i64 + %add.ptr60 = getelementptr inbounds i16, i16* %add.ptr57, i64 %idx.ext59 + %82 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %wcs2colidt_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %82, i32 0, i32 19 + store i16* %add.ptr60, i16** %wcs2colidt_tbl, align 8 + %83 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %MAX_WEIGHTS = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %83, i32 0, i32 2 + %84 = load i16, i16* %MAX_WEIGHTS, align 2 + %85 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %MAX_WEIGHTS61 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %85, i32 0, i32 25 + store i16 %84, i16* %MAX_WEIGHTS61, align 8 + %86 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %max_col_index = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %86, i32 0, i32 8 + %87 = load i16, i16* %max_col_index, align 8 + %conv62 = zext i16 %87 to i32 + %mul63 = mul nsw i32 2, %conv62 + %add64 = add nsw i32 %mul63, 2 + %conv65 = sext i32 %add64 to i64 + %call66 = call noalias i8* @calloc(i64 %conv65, i64 2) #19 + %88 = bitcast i8* %call66 to i16* + %89 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %89, i32 0, i32 23 + store i16* %88, i16** %index2weight, align 8 + %90 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight67 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %90, i32 0, i32 23 + %91 = load i16*, i16** %index2weight67, align 8 + %tobool68 = icmp ne i16* %91, null + br i1 %tobool68, label %if.end70, label %if.then69 + +if.then69: ; preds = %if.end + store i32 0, i32* %retval, align 4 + br label %return + +if.end70: ; preds = %if.end + %92 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight71 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %92, i32 0, i32 23 + %93 = load i16*, i16** %index2weight71, align 8 + %94 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %max_col_index72 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %94, i32 0, i32 8 + %95 = load i16, i16* %max_col_index72, align 8 + %conv73 = zext i16 %95 to i32 + %idx.ext74 = sext i32 %conv73 to i64 + %add.ptr75 = getelementptr inbounds i16, i16* %93, i64 %idx.ext74 + %add.ptr76 = getelementptr inbounds i16, i16* %add.ptr75, i64 1 + %96 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %96, i32 0, i32 24 + store i16* %add.ptr76, i16** %index2ruleidx, align 8 + %97 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight77 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %97, i32 0, i32 23 + %98 = load i16*, i16** %index2weight77, align 8 + %99 = bitcast i16* %98 to i8* + %100 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight_tbl78 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %100, i32 0, i32 16 + %101 = load i16*, i16** %index2weight_tbl78, align 8 + %102 = bitcast i16* %101 to i8* + %103 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %num_col_base = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %103, i32 0, i32 7 + %104 = load i16, i16* %num_col_base, align 2 + %conv79 = zext i16 %104 to i64 + %mul80 = mul i64 %conv79, 2 + %call81 = call i8* @memcpy(i8* %99, i8* %102, i64 %mul80) #19 + %105 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx82 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %105, i32 0, i32 24 + %106 = load i16*, i16** %index2ruleidx82, align 8 + %107 = bitcast i16* %106 to i8* + %108 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx_tbl83 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %108, i32 0, i32 17 + %109 = load i16*, i16** %index2ruleidx_tbl83, align 8 + %110 = bitcast i16* %109 to i8* + %111 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %num_col_base84 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %111, i32 0, i32 7 + %112 = load i16, i16* %num_col_base84, align 2 + %conv85 = zext i16 %112 to i64 + %mul86 = mul i64 %conv85, 2 + %call87 = call i8* @memcpy(i8* %107, i8* %110, i64 %mul86) #19 + %113 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %overrides_tbl88 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %113, i32 0, i32 20 + %114 = load i16*, i16** %overrides_tbl88, align 8 + store i16* %114, i16** %p, align 8 + br label %while.cond + +while.cond: ; preds = %do.body, %if.end70 + %115 = load i16*, i16** %p, align 8 + %116 = load i16, i16* %115, align 2 + %conv89 = zext i16 %116 to i32 + %cmp = icmp sgt i32 %conv89, 1 + br i1 %cmp, label %while.body, label %while.cond105 + +while.body: ; preds = %while.cond + %117 = load i16*, i16** %p, align 8 + %incdec.ptr = getelementptr inbounds i16, i16* %117, i32 1 + store i16* %incdec.ptr, i16** %p, align 8 + %118 = load i16, i16* %117, align 2 + %conv91 = zext i16 %118 to i64 + store i64 %conv91, i64* %n, align 8 + %119 = load i16*, i16** %p, align 8 + %incdec.ptr92 = getelementptr inbounds i16, i16* %119, i32 1 + store i16* %incdec.ptr92, i16** %p, align 8 + %120 = load i16, i16* %119, align 2 + store i16 %120, i16* %w, align 2 + br label %do.body + +do.body: ; preds = %do.body, %while.body + %121 = load i16*, i16** %p, align 8 + %incdec.ptr93 = getelementptr inbounds i16, i16* %121, i32 1 + store i16* %incdec.ptr93, i16** %p, align 8 + %122 = load i16, i16* %121, align 2 + store i16 %122, i16* %i, align 2 + %123 = load i16, i16* %w, align 2 + %inc = add i16 %123, 1 + store i16 %inc, i16* %w, align 2 + %124 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight94 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %124, i32 0, i32 23 + %125 = load i16*, i16** %index2weight94, align 8 + %126 = load i16, i16* %i, align 2 + %conv95 = zext i16 %126 to i32 + %sub96 = sub nsw i32 %conv95, 1 + %idxprom = sext i32 %sub96 to i64 + %arrayidx = getelementptr inbounds i16, i16* %125, i64 %idxprom + store i16 %123, i16* %arrayidx, align 2 + %127 = load i16*, i16** %p, align 8 + %incdec.ptr97 = getelementptr inbounds i16, i16* %127, i32 1 + store i16* %incdec.ptr97, i16** %p, align 8 + %128 = load i16, i16* %127, align 2 + %129 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx98 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %129, i32 0, i32 24 + %130 = load i16*, i16** %index2ruleidx98, align 8 + %131 = load i16, i16* %i, align 2 + %conv99 = zext i16 %131 to i32 + %sub100 = sub nsw i32 %conv99, 1 + %idxprom101 = sext i32 %sub100 to i64 + %arrayidx102 = getelementptr inbounds i16, i16* %130, i64 %idxprom101 + store i16 %128, i16* %arrayidx102, align 2 + %132 = load i64, i64* %n, align 8 + %dec103 = add i64 %132, -1 + store i64 %dec103, i64* %n, align 8 + %tobool104 = icmp ne i64 %dec103, 0 + br i1 %tobool104, label %do.body, label %while.cond + +while.cond105: ; preds = %while.cond, %while.body108 + %133 = load i16*, i16** %p, align 8 + %incdec.ptr106 = getelementptr inbounds i16, i16* %133, i32 1 + store i16* %incdec.ptr106, i16** %p, align 8 + %134 = load i16, i16* %incdec.ptr106, align 2 + %tobool107 = icmp ne i16 %134, 0 + br i1 %tobool107, label %while.body108, label %while.end121 + +while.body108: ; preds = %while.cond105 + %135 = load i16*, i16** %p, align 8 + %136 = load i16, i16* %135, align 2 + store i16 %136, i16* %i, align 2 + %137 = load i16*, i16** %p, align 8 + %incdec.ptr109 = getelementptr inbounds i16, i16* %137, i32 1 + store i16* %incdec.ptr109, i16** %p, align 8 + %138 = load i16, i16* %incdec.ptr109, align 2 + %139 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight110 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %139, i32 0, i32 23 + %140 = load i16*, i16** %index2weight110, align 8 + %141 = load i16, i16* %i, align 2 + %conv111 = zext i16 %141 to i32 + %sub112 = sub nsw i32 %conv111, 1 + %idxprom113 = sext i32 %sub112 to i64 + %arrayidx114 = getelementptr inbounds i16, i16* %140, i64 %idxprom113 + store i16 %138, i16* %arrayidx114, align 2 + %142 = load i16*, i16** %p, align 8 + %incdec.ptr115 = getelementptr inbounds i16, i16* %142, i32 1 + store i16* %incdec.ptr115, i16** %p, align 8 + %143 = load i16, i16* %incdec.ptr115, align 2 + %144 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx116 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %144, i32 0, i32 24 + %145 = load i16*, i16** %index2ruleidx116, align 8 + %146 = load i16, i16* %i, align 2 + %conv117 = zext i16 %146 to i32 + %sub118 = sub nsw i32 %conv117, 1 + %idxprom119 = sext i32 %sub118 to i64 + %arrayidx120 = getelementptr inbounds i16, i16* %145, i64 %idxprom119 + store i16 %143, i16* %arrayidx120, align 2 + br label %while.cond105 + +while.end121: ; preds = %while.cond105 + store i16 0, i16* %i, align 2 + br label %for.cond + +for.cond: ; preds = %for.inc, %while.end121 + %147 = load i16, i16* %i, align 2 + %conv122 = zext i16 %147 to i32 + %148 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %multistart_tbl123 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %148, i32 0, i32 18 + %149 = load i16*, i16** %multistart_tbl123, align 8 + %arrayidx124 = getelementptr inbounds i16, i16* %149, i64 0 + %150 = load i16, i16* %arrayidx124, align 2 + %conv125 = zext i16 %150 to i32 + %cmp126 = icmp slt i32 %conv122, %conv125 + br i1 %cmp126, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %151 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %multistart_tbl128 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %151, i32 0, i32 18 + %152 = load i16*, i16** %multistart_tbl128, align 8 + store i16* %152, i16** %p, align 8 + %153 = load i16*, i16** %p, align 8 + %154 = load i16, i16* %i, align 2 + %idxprom129 = zext i16 %154 to i64 + %arrayidx130 = getelementptr inbounds i16, i16* %153, i64 %idxprom129 + %155 = load i16, i16* %arrayidx130, align 2 + %conv131 = zext i16 %155 to i32 + %156 = load i16*, i16** %p, align 8 + %idx.ext132 = sext i32 %conv131 to i64 + %add.ptr133 = getelementptr inbounds i16, i16* %156, i64 %idx.ext132 + store i16* %add.ptr133, i16** %p, align 8 + br label %do.body134 + +do.body134: ; preds = %do.body141, %for.body + %157 = load i16*, i16** %p, align 8 + %incdec.ptr135 = getelementptr inbounds i16, i16* %157, i32 1 + store i16* %incdec.ptr135, i16** %p, align 8 + %158 = load i16, i16* %157, align 2 + %conv136 = zext i16 %158 to i64 + store i64 %conv136, i64* %n, align 8 + %159 = load i16*, i16** %p, align 8 + %160 = load i16, i16* %159, align 2 + %tobool138 = icmp ne i16 %160, 0 + br i1 %tobool138, label %do.body141, label %for.inc + +do.body141: ; preds = %do.body134, %do.body141 + %161 = load i16*, i16** %p, align 8 + %incdec.ptr143 = getelementptr inbounds i16, i16* %161, i32 1 + store i16* %incdec.ptr143, i16** %p, align 8 + %162 = load i16, i16* %161, align 2 + %tobool144 = icmp ne i16 %162, 0 + br i1 %tobool144, label %do.body141, label %do.body134 + +for.inc: ; preds = %do.body134 + %163 = load i16, i16* %i, align 2 + %inc150 = add i16 %163, 1 + store i16 %inc150, i16* %i, align 2 + br label %for.cond + +for.end: ; preds = %for.cond + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %for.end, %if.then69, %if.then + %164 = load i32, i32* %retval, align 4 + ret i32 %164 +} + +; Function Attrs: nounwind +declare void @free(i8*) #2 + +; Function Attrs: nounwind +declare noalias i8* @calloc(i64, i64) #2 + +; Function Attrs: noinline nounwind uwtable +define hidden void @_locale_init_l(%struct.__uclibc_locale_struct.201* %base) #0 { +entry: + %base.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + store %struct.__uclibc_locale_struct.201* %base, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 6 + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + %call = call i8* @memset(i8* %arraydecay, i32 0, i64 14) #19 + %1 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale1 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %1, i32 0, i32 6 + %arrayidx = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale1, i64 0, i64 0 + store i8 35, i8* %arrayidx, align 8 + %2 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_item_count = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %2, i32 0, i32 8 + %arraydecay2 = getelementptr inbounds [6 x i8], [6 x i8]* %category_item_count, i64 0, i64 0 + %3 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_common_item_offsets_LEN = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %3, i32 0, i32 29 + %arraydecay3 = getelementptr inbounds [6 x i8], [6 x i8]* %lc_common_item_offsets_LEN, i64 0, i64 0 + %call4 = call i8* @memcpy(i8* %arraydecay2, i8* %arraydecay3, i64 6) #19 + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_item_count5 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %4, i32 0, i32 8 + %arrayidx6 = getelementptr inbounds [6 x i8], [6 x i8]* %category_item_count5, i64 0, i64 0 + %5 = load i8, i8* %arrayidx6, align 2 + %inc = add i8 %5, 1 + store i8 %inc, i8* %arrayidx6, align 2 + %6 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %6, i32 0, i32 7 + %arrayidx7 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets, i64 0, i64 0 + store i16 2488, i16* %arrayidx7, align 2 + %7 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets8 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %7, i32 0, i32 7 + %arrayidx9 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets8, i64 0, i64 1 + store i16 2576, i16* %arrayidx9, align 2 + %8 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets10 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %8, i32 0, i32 7 + %arrayidx11 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets10, i64 0, i64 2 + store i16 2600, i16* %arrayidx11, align 2 + %9 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets12 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %9, i32 0, i32 7 + %arrayidx13 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets12, i64 0, i64 3 + store i16 2776, i16* %arrayidx13, align 2 + %10 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets14 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %10, i32 0, i32 7 + %arrayidx15 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets14, i64 0, i64 5 + store i16 3176, i16* %arrayidx15, align 2 + %11 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8ctype = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %11, i32 0, i32 0 + %12 = bitcast [420 x i8]* %tbl8ctype to i8* + %13 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8ctype16 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %13, i32 0, i32 13 + store i8* %12, i8** %tbl8ctype16, align 8 + %14 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8uplow = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %14, i32 0, i32 1 + %15 = bitcast [504 x i8]* %tbl8uplow to i8* + %16 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8uplow17 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %16, i32 0, i32 15 + store i8* %15, i8** %tbl8uplow17, align 8 + %17 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8c2wc = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %17, i32 0, i32 2 + %18 = bitcast [1760 x i16]* %tbl8c2wc to i16* + %19 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8c2wc18 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %19, i32 0, i32 17 + store i16* %18, i16** %tbl8c2wc18, align 8 + %20 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8wc2c = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %20, i32 0, i32 3 + %21 = bitcast [4528 x i8]* %tbl8wc2c to i8* + %22 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8wc2c19 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %22, i32 0, i32 19 + store i8* %21, i8** %tbl8wc2c19, align 8 + %23 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tblwctype = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %23, i32 0, i32 4 + %24 = bitcast [3604 x i8]* %tblwctype to i8* + %25 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tblwctype20 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %25, i32 0, i32 21 + store i8* %24, i8** %tblwctype20, align 8 + %26 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tblwuplow = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %26, i32 0, i32 5 + %27 = bitcast [1680 x i8]* %tblwuplow to i8* + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tblwuplow21 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %28, i32 0, i32 22 + store i8* %27, i8** %tblwuplow21, align 8 + %29 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tblwuplow_diff = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %29, i32 0, i32 6 + %30 = bitcast [196 x i16]* %tblwuplow_diff to i16* + %31 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tblwuplow_diff22 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %31, i32 0, i32 23 + store i16* %30, i16** %tblwuplow_diff22, align 8 + %32 = load i16*, i16** @__C_ctype_b, align 8 + %33 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %33, i32 0, i32 0 + store i16* %32, i16** %__ctype_b, align 8 + %34 = load i16*, i16** @__C_ctype_tolower, align 8 + %35 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %35, i32 0, i32 1 + store i16* %34, i16** %__ctype_tolower, align 8 + %36 = load i16*, i16** @__C_ctype_toupper, align 8 + %37 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %37, i32 0, i32 2 + store i16* %36, i16** %__ctype_toupper, align 8 + %38 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %code2flag = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %38, i32 0, i32 20 + store i16* getelementptr inbounds ([16 x i16], [16 x i16]* @__code2flag, i64 0, i64 0), i16** %code2flag, align 8 + %39 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call23 = call i32 @_locale_set_l(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.76, i64 0, i64 0), %struct.__uclibc_locale_struct.201* %39) #18 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_locale_init() #0 { +entry: + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__global_locale, align 8 + call void @_locale_init_l(%struct.__uclibc_locale_struct.201* %0) #18 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @sigblock(i32 %mask) #0 { +entry: + %retval = alloca i32, align 4 + %mask.addr = alloca i32, align 4 + %set = alloca %struct.fd_set, align 8 + %oset = alloca %struct.fd_set, align 8 + store i32 %mask, i32* %mask.addr, align 4 + %0 = load i32, i32* %mask.addr, align 4 + %call = call i32 @sigset_set_old_mask(%struct.fd_set* %set, i32 %0) #18 + %cmp = icmp slt i32 %call, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %call1 = call i32 @sigprocmask(i32 0, %struct.fd_set* %set, %struct.fd_set* %oset) #19 + %cmp2 = icmp slt i32 %call1, 0 + br i1 %cmp2, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.end + store i32 -1, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %if.end + %call5 = call i32 @sigset_get_old_mask(%struct.fd_set* %oset) #18 + store i32 %call5, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %1 = load i32, i32* %retval, align 4 + ret i32 %1 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @sigset_set_old_mask(%struct.fd_set* %set, i32 %mask) #0 { +entry: + %set.addr = alloca %struct.fd_set*, align 8 + %mask.addr = alloca i32, align 4 + %ptr = alloca i64*, align 8 + %cnt = alloca i32, align 4 + store %struct.fd_set* %set, %struct.fd_set** %set.addr, align 8 + store i32 %mask, i32* %mask.addr, align 4 + %0 = load %struct.fd_set*, %struct.fd_set** %set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %0, i32 0, i32 0 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 0 + store i64* %arrayidx, i64** %ptr, align 8 + %1 = load i32, i32* %mask.addr, align 4 + %conv = zext i32 %1 to i64 + %2 = load i64*, i64** %ptr, align 8 + %incdec.ptr = getelementptr inbounds i64, i64* %2, i32 1 + store i64* %incdec.ptr, i64** %ptr, align 8 + store i64 %conv, i64* %2, align 8 + store i32 14, i32* %cnt, align 4 + br label %do.body + +do.body: ; preds = %do.body, %entry + %3 = load i64*, i64** %ptr, align 8 + %incdec.ptr1 = getelementptr inbounds i64, i64* %3, i32 1 + store i64* %incdec.ptr1, i64** %ptr, align 8 + store i64 0, i64* %3, align 8 + %4 = load i32, i32* %cnt, align 4 + %dec = add nsw i32 %4, -1 + store i32 %dec, i32* %cnt, align 4 + %cmp = icmp sge i32 %dec, 0 + br i1 %cmp, label %do.body, label %do.end + +do.end: ; preds = %do.body + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @sigset_get_old_mask(%struct.fd_set* %set) #0 { +entry: + %set.addr = alloca %struct.fd_set*, align 8 + store %struct.fd_set* %set, %struct.fd_set** %set.addr, align 8 + %0 = load %struct.fd_set*, %struct.fd_set** %set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %0, i32 0, i32 0 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 0 + %1 = load i64, i64* %arrayidx, align 8 + %conv = trunc i64 %1 to i32 + ret i32 %conv +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_stdio_term() #0 { +entry: + %ptr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %0, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %1, null + br i1 %tobool, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 0 + %3 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %3 to i32 + %and = and i32 %conv, 64 + %tobool1 = icmp ne i32 %and, 0 + br i1 %tobool1, label %if.then, label %for.inc + +if.then: ; preds = %for.body + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %call = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %4) #18 + br label %for.inc + +for.inc: ; preds = %for.body, %if.then + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 9 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %6, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_stdio_init() #0 { +entry: + %old_errno = alloca i32, align 4 + %0 = load i32, i32* @errno, align 4 + store i32 %0, i32* %old_errno, align 4 + %call = call i32 @isatty(i32 0) #19 + %sub = sub nsw i32 1, %call + %mul = mul i32 %sub, 256 + %1 = load i16, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 0, i32 0), align 16 + %conv = zext i16 %1 to i32 + %xor = xor i32 %conv, %mul + %conv1 = trunc i32 %xor to i16 + store i16 %conv1, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 0, i32 0), align 16 + %call2 = call i32 @isatty(i32 1) #19 + %sub3 = sub nsw i32 1, %call2 + %mul4 = mul i32 %sub3, 256 + %2 = load i16, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 1, i32 0), align 8 + %conv5 = zext i16 %2 to i32 + %xor6 = xor i32 %conv5, %mul4 + %conv7 = trunc i32 %xor6 to i16 + store i16 %conv7, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 1, i32 0), align 8 + %3 = load i32, i32* %old_errno, align 4 + store i32 %3, i32* @errno, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getchar_unlocked() #0 { +entry: + %stream = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdin, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %0, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %1, i32 0, i32 5 + %2 = load i8*, i8** %__bufpos, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 7 + %4 = load i8*, i8** %__bufgetc_u, align 8 + %cmp = icmp ult i8* %2, %4 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %entry + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 5 + %6 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + %7 = load i8, i8* %6, align 1 + %conv = zext i8 %7 to i32 + br label %cond.end + +cond.false: ; preds = %entry + %call = call i32 @__fgetc_unlocked(%struct.__STDIO_FILE_STRUCT.568* %5) #18 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ %conv, %cond.true ], [ %call, %cond.false ] + ret i32 %cond +} + +; Function Attrs: noinline noreturn nounwind uwtable +declare void @abort() #1 + +; Function Attrs: noreturn +declare void @_exit(i32) #13 + +; Function Attrs: noinline noreturn nounwind uwtable +define void @exit(i32 %rv) #1 { +entry: + %rv.addr = alloca i32, align 4 + store i32 %rv, i32* %rv.addr, align 4 + %0 = load void (i32)*, void (i32)** @__exit_cleanup, align 8 + %tobool = icmp ne void (i32)* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load void (i32)*, void (i32)** @__exit_cleanup, align 8 + %2 = load i32, i32* %rv.addr, align 4 + call void %1(i32 %2) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + call void @__uClibc_fini() #18 + call void @_stdio_term() #18 + %3 = load i32, i32* %rv.addr, align 4 + call void @_exit(i32 %3) #27 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define i8* @memcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r1 = alloca i8*, align 8 + %r2 = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %r1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %r2, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %2 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load i8*, i8** %r2, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %r2, align 8 + %4 = load i8, i8* %3, align 1 + %5 = load i8*, i8** %r1, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr1, i8** %r1, align 8 + store i8 %4, i8* %5, align 1 + %6 = load i64, i64* %n.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %7 = load i8*, i8** %s1.addr, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @memset(i8* nonnull %s, i32 %c, i64 %n) #0 { +entry: + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %n.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %1 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %2 = load i32, i32* %c.addr, align 4 + %conv = trunc i32 %2 to i8 + %3 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + store i8 %conv, i8* %3, align 1 + %4 = load i64, i64* %n.addr, align 8 + %dec = add i64 %4, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %5 = load i8*, i8** %s.addr, align 8 + ret i8* %5 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @strrchr(i8* nonnull %s, i32 %c) #14 { +entry: + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i8* null, i8** %p, align 8 + br label %do.body + +do.body: ; preds = %do.cond, %entry + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %2 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %2 to i8 + %conv2 = sext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + br i1 %cmp, label %if.then, label %do.cond + +if.then: ; preds = %do.body + %3 = load i8*, i8** %s.addr, align 8 + store i8* %3, i8** %p, align 8 + br label %do.cond + +do.cond: ; preds = %do.body, %if.then + %4 = load i8*, i8** %s.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr, i8** %s.addr, align 8 + %5 = load i8, i8* %4, align 1 + %tobool = icmp ne i8 %5, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %6 = load i8*, i8** %p, align 8 + ret i8* %6 +} + +; Function Attrs: noinline noreturn nounwind uwtable +define dso_local void @usage(i32 %status) #6 { +entry: + %status.addr = alloca i32, align 4 + store i32 %status, i32* %status.addr, align 4 + %0 = load i32, i32* %status.addr, align 4 + %cmp = icmp ne i32 %0, 0 + br i1 %cmp, label %do.body, label %if.else + +do.body: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stderr to %struct._IO_FILE**), align 8 + %2 = load i8*, i8** @program_name, align 8 + %call = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %1, i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.96, i64 0, i64 0), i8* %2) + br label %if.end + +if.else: ; preds = %entry + %3 = load i8*, i8** @program_name, align 8 + %call1 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.1.97, i64 0, i64 0), i8* %3) + %4 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call2 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([152 x i8], [152 x i8]* @.str.2.98, i64 0, i64 0), %struct._IO_FILE* %4) + %5 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call3 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([61 x i8], [61 x i8]* @.str.3.99, i64 0, i64 0), %struct._IO_FILE* %5) + %6 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call4 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.4.100, i64 0, i64 0), %struct._IO_FILE* %6) + %7 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call5 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.5.101, i64 0, i64 0), %struct._IO_FILE* %7) + %8 = load i8*, i8** @program_name, align 8 + %9 = load i8*, i8** @program_name, align 8 + %10 = load i8*, i8** @program_name, align 8 + %call6 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([130 x i8], [130 x i8]* @.str.6.102, i64 0, i64 0), i8* %8, i8* %9, i8* %10) + call void @emit_ancillary_info(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.7.103, i64 0, i64 0)) + br label %if.end + +if.end: ; preds = %if.else, %do.body + %11 = load i32, i32* %status.addr, align 4 + call void @exit(i32 %11) #26 + unreachable +} + +declare dso_local i32 @printf(i8*, ...) #5 + +; Function Attrs: noinline nounwind uwtable +define internal void @emit_ancillary_info(i8* %program) #3 { +entry: + %program.addr = alloca i8*, align 8 + %infomap = alloca [7 x %struct.infomap], align 16 + %node = alloca i8*, align 8 + %map_prog = alloca %struct.infomap*, align 8 + %lc_messages = alloca i8*, align 8 + store i8* %program, i8** %program.addr, align 8 + %0 = bitcast [7 x %struct.infomap]* %infomap to i8* + %1 = call i8* @memcpy(i8* %0, i8* bitcast ([7 x %struct.infomap]* @__const.emit_ancillary_info.infomap to i8*), i64 112) + %2 = load i8*, i8** %program.addr, align 8 + store i8* %2, i8** %node, align 8 + %arraydecay = getelementptr inbounds [7 x %struct.infomap], [7 x %struct.infomap]* %infomap, i64 0, i64 0 + store %struct.infomap* %arraydecay, %struct.infomap** %map_prog, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %3 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + %program1 = getelementptr inbounds %struct.infomap, %struct.infomap* %3, i32 0, i32 0 + %4 = load i8*, i8** %program1, align 8 + %tobool = icmp ne i8* %4, null + br i1 %tobool, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %5 = load i8*, i8** %program.addr, align 8 + %6 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + %program2 = getelementptr inbounds %struct.infomap, %struct.infomap* %6, i32 0, i32 0 + %7 = load i8*, i8** %program2, align 8 + %call = call i32 @strcmp(i8* %5, i8* %7) #23 + %cmp = icmp eq i32 %call, 0 + %lnot = xor i1 %cmp, true + br label %land.end + +land.end: ; preds = %land.rhs, %while.cond + %8 = phi i1 [ false, %while.cond ], [ %lnot, %land.rhs ] + %9 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + br i1 %8, label %while.body, label %while.end + +while.body: ; preds = %land.end + %incdec.ptr = getelementptr inbounds %struct.infomap, %struct.infomap* %9, i32 1 + store %struct.infomap* %incdec.ptr, %struct.infomap** %map_prog, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %node3 = getelementptr inbounds %struct.infomap, %struct.infomap* %9, i32 0, i32 1 + %10 = load i8*, i8** %node3, align 8 + %tobool4 = icmp ne i8* %10, null + br i1 %tobool4, label %if.then, label %if.end + +if.then: ; preds = %while.end + %11 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + %node5 = getelementptr inbounds %struct.infomap, %struct.infomap* %11, i32 0, i32 1 + %12 = load i8*, i8** %node5, align 8 + store i8* %12, i8** %node, align 8 + br label %if.end + +if.end: ; preds = %if.then, %while.end + %call6 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.23.104, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.10.105, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.24.106, i64 0, i64 0)) + %call7 = call i8* @setlocale(i32 5, i8* null) #11 + store i8* %call7, i8** %lc_messages, align 8 + %13 = load i8*, i8** %lc_messages, align 8 + %tobool8 = icmp ne i8* %13, null + br i1 %tobool8, label %land.lhs.true, label %if.end13 + +land.lhs.true: ; preds = %if.end + %14 = load i8*, i8** %lc_messages, align 8 + %call9 = call i32 @strncmp(i8* %14, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.25.107, i64 0, i64 0), i64 3) #23 + %tobool10 = icmp ne i32 %call9, 0 + br i1 %tobool10, label %if.then11, label %if.end13 + +if.then11: ; preds = %land.lhs.true + %15 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call12 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.26.108, i64 0, i64 0), %struct._IO_FILE* %15) + br label %if.end13 + +if.end13: ; preds = %if.then11, %land.lhs.true, %if.end + %16 = load i8*, i8** %program.addr, align 8 + %call14 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.27.109, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.24.106, i64 0, i64 0), i8* %16) + %17 = load i8*, i8** %node, align 8 + %18 = load i8*, i8** %node, align 8 + %19 = load i8*, i8** %program.addr, align 8 + %cmp15 = icmp eq i8* %18, %19 + %20 = zext i1 %cmp15 to i64 + %cond = select i1 %cmp15, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.29.110, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.8.111, i64 0, i64 0) + %call16 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([51 x i8], [51 x i8]* @.str.28.112, i64 0, i64 0), i8* %17, i8* %cond) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__klee_posix_wrapped_main(i32 %argc, i8** %argv) #3 { +entry: + %retval = alloca i32, align 4 + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %use_nuls = alloca i8, align 1 + %result = alloca i8*, align 8 + %len = alloca i64, align 8 + %c = alloca i32, align 4 + store i32 0, i32* %retval, align 4 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8 0, i8* %use_nuls, align 1 + %0 = load i8**, i8*** %argv.addr, align 8 + %arrayidx = getelementptr inbounds i8*, i8** %0, i64 0 + %1 = load i8*, i8** %arrayidx, align 8 + call void @set_program_name(i8* %1) + %call = call i8* @setlocale(i32 6, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.8.111, i64 0, i64 0)) #11 + %call1 = call i32 @atexit(void ()* @close_stdout) #11 + br label %while.body + +while.body: ; preds = %entry, %sw.bb + %2 = load i32, i32* %argc.addr, align 4 + %3 = load i8**, i8*** %argv.addr, align 8 + %call2 = call i32 @getopt_long(i32 %2, i8** %3, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.9.124, i64 0, i64 0), %struct.option* getelementptr inbounds ([4 x %struct.option], [4 x %struct.option]* @longopts, i64 0, i64 0), i32* null) #11 + store i32 %call2, i32* %c, align 4 + %4 = load i32, i32* %c, align 4 + %cmp = icmp eq i32 %4, -1 + br i1 %cmp, label %while.end, label %if.end + +if.end: ; preds = %while.body + %5 = load i32, i32* %c, align 4 + br label %NodeBlock3 + +NodeBlock3: ; preds = %if.end + %case.cmp4 = icmp eq i32 %5, 122 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %5, -130 + br i1 %case.cmp2, label %sw.bb3, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %5, -131 + br i1 %case.cmp, label %sw.bb4, label %newDefault + +sw.bb: ; preds = %NodeBlock3 + store i8 1, i8* %use_nuls, align 1 + br label %while.body + +sw.bb3: ; preds = %NodeBlock1 + call void @usage(i32 0) #24 + unreachable + +sw.bb4: ; preds = %NodeBlock + %6 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %7 = load i8*, i8** @Version, align 8 + call void (%struct._IO_FILE*, i8*, i8*, i8*, ...) @version_etc(%struct._IO_FILE* %6, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.7.103, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.10.105, i64 0, i64 0), i8* %7, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.11.125, i64 0, i64 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.12.126, i64 0, i64 0), i8* null) + call void @exit(i32 0) #26 + unreachable + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @usage(i32 1) #24 + unreachable + +while.end: ; preds = %while.body + %8 = load i32, i32* %argc.addr, align 4 + %9 = load i32, i32* @optind, align 4 + %add = add nsw i32 %9, 1 + %cmp5 = icmp slt i32 %8, %add + br i1 %cmp5, label %if.then6, label %for.cond + +if.then6: ; preds = %while.end + call void (i32, i32, i8*, ...) @error(i32 0, i32 0, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.13.127, i64 0, i64 0)) + call void @usage(i32 1) #24 + unreachable + +for.cond: ; preds = %while.end, %if.end12 + %10 = load i32, i32* @optind, align 4 + %11 = load i32, i32* %argc.addr, align 4 + %cmp8 = icmp slt i32 %10, %11 + br i1 %cmp8, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %12 = load i8**, i8*** %argv.addr, align 8 + %13 = load i32, i32* @optind, align 4 + %idxprom = sext i32 %13 to i64 + %arrayidx9 = getelementptr inbounds i8*, i8** %12, i64 %idxprom + %14 = load i8*, i8** %arrayidx9, align 8 + store i8* %14, i8** %result, align 8 + %15 = load i8*, i8** %result, align 8 + %call10 = call i64 @dir_len(i8* %15) #23 + store i64 %call10, i64* %len, align 8 + %16 = load i64, i64* %len, align 8 + %tobool = icmp ne i64 %16, 0 + br i1 %tobool, label %if.end12, label %if.then11 + +if.then11: ; preds = %for.body + store i8* @main.dot, i8** %result, align 8 + store i64 1, i64* %len, align 8 + br label %if.end12 + +if.end12: ; preds = %if.then11, %for.body + %17 = load i8*, i8** %result, align 8 + %18 = load i64, i64* %len, align 8 + %19 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call13 = call i64 bitcast (i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*)* @fwrite_unlocked to i64 (i8*, i64, i64, %struct._IO_FILE*)*)(i8* %17, i64 1, i64 %18, %struct._IO_FILE* %19) + %20 = load i8, i8* %use_nuls, align 1 + %tobool14 = trunc i8 %20 to i1 + %21 = zext i1 %tobool14 to i64 + %cond = select i1 %tobool14, i32 0, i32 10 + %call15 = call i32 @putchar_unlocked(i32 %cond) + %22 = load i32, i32* @optind, align 4 + %inc = add nsw i32 %22, 1 + store i32 %inc, i32* @optind, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_program_name(i8* %argv0) #3 { +entry: + %argv0.addr = alloca i8*, align 8 + %slash = alloca i8*, align 8 + %base = alloca i8*, align 8 + store i8* %argv0, i8** %argv0.addr, align 8 + %0 = load i8*, i8** %argv0.addr, align 8 + %cmp = icmp eq i8* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stderr to %struct._IO_FILE**), align 8 + %call = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.49, i64 0, i64 0), %struct._IO_FILE* %1) + call void @abort() #26 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %argv0.addr, align 8 + %call1 = call i8* @strrchr(i8* %2, i32 47) #23 + store i8* %call1, i8** %slash, align 8 + %3 = load i8*, i8** %slash, align 8 + %cmp2 = icmp ne i8* %3, null + %4 = load i8*, i8** %slash, align 8 + %add.ptr = getelementptr inbounds i8, i8* %4, i64 1 + %5 = load i8*, i8** %argv0.addr, align 8 + %cond = select i1 %cmp2, i8* %add.ptr, i8* %5 + store i8* %cond, i8** %base, align 8 + %6 = load i8*, i8** %base, align 8 + %7 = load i8*, i8** %argv0.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %6 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %cmp3 = icmp sge i64 %sub.ptr.sub, 7 + br i1 %cmp3, label %land.lhs.true, label %if.end13 + +land.lhs.true: ; preds = %if.end + %8 = load i8*, i8** %base, align 8 + %add.ptr4 = getelementptr inbounds i8, i8* %8, i64 -7 + %call5 = call i32 @strncmp(i8* %add.ptr4, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1.50, i64 0, i64 0), i64 7) #23 + %cmp6 = icmp eq i32 %call5, 0 + br i1 %cmp6, label %if.then7, label %if.end13 + +if.then7: ; preds = %land.lhs.true + %9 = load i8*, i8** %base, align 8 + store i8* %9, i8** %argv0.addr, align 8 + %10 = load i8*, i8** %base, align 8 + %call8 = call i32 @strncmp(i8* %10, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2.51, i64 0, i64 0), i64 3) #23 + %cmp9 = icmp eq i32 %call8, 0 + br i1 %cmp9, label %if.then10, label %if.end13 + +if.then10: ; preds = %if.then7 + %11 = load i8*, i8** %base, align 8 + %add.ptr11 = getelementptr inbounds i8, i8* %11, i64 3 + store i8* %add.ptr11, i8** %argv0.addr, align 8 + %12 = load i8*, i8** %argv0.addr, align 8 + store i8* %12, i8** @program_invocation_short_name, align 8 + br label %if.end13 + +if.end13: ; preds = %if.then7, %if.then10, %land.lhs.true, %if.end + %13 = load i8*, i8** %argv0.addr, align 8 + store i8* %13, i8** @program_name, align 8 + %14 = load i8*, i8** %argv0.addr, align 8 + store i8* %14, i8** @program_invocation_name, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @close_stdout() #3 { +entry: + %write_error = alloca i8*, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call = call i32 @close_stream(%struct._IO_FILE* %0) + %cmp = icmp ne i32 %call, 0 + br i1 %cmp, label %land.lhs.true, label %if.end9 + +land.lhs.true: ; preds = %entry + %1 = load i8, i8* @ignore_EPIPE, align 1 + %tobool = trunc i8 %1 to i1 + br i1 %tobool, label %land.lhs.true1, label %if.then + +land.lhs.true1: ; preds = %land.lhs.true + %call2 = call i32* @__errno_location() #25 + %2 = load i32, i32* %call2, align 4 + %cmp3 = icmp eq i32 %2, 32 + br i1 %cmp3, label %if.end9, label %if.then + +if.then: ; preds = %land.lhs.true1, %land.lhs.true + store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.36, i64 0, i64 0), i8** %write_error, align 8 + %3 = load i8*, i8** @file_name, align 8 + %tobool4 = icmp ne i8* %3, null + %call6 = call i32* @__errno_location() #25 + %4 = load i32, i32* %call6, align 4 + br i1 %tobool4, label %if.then5, label %if.else + +if.then5: ; preds = %if.then + %5 = load i8*, i8** @file_name, align 8 + %call7 = call i8* @quotearg_colon(i8* %5) + %6 = load i8*, i8** %write_error, align 8 + call void (i32, i32, i8*, ...) @error(i32 0, i32 %4, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.37, i64 0, i64 0), i8* %call7, i8* %6) + br label %if.end + +if.else: ; preds = %if.then + %7 = load i8*, i8** %write_error, align 8 + call void (i32, i32, i8*, ...) @error(i32 0, i32 %4, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2.38, i64 0, i64 0), i8* %7) + br label %if.end + +if.end: ; preds = %if.else, %if.then5 + %8 = load volatile i32, i32* @exit_failure, align 4 + call void @_exit(i32 %8) #24 + unreachable + +if.end9: ; preds = %land.lhs.true1, %entry + %9 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stderr to %struct._IO_FILE**), align 8 + %call10 = call i32 @close_stream(%struct._IO_FILE* %9) + %cmp11 = icmp ne i32 %call10, 0 + br i1 %cmp11, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.end9 + %10 = load volatile i32, i32* @exit_failure, align 4 + call void @_exit(i32 %10) #24 + unreachable + +if.end13: ; preds = %if.end9 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, ...) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors = alloca [1 x %struct.__va_list_tag.0], align 16 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %authors, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %1 = load i8*, i8** %command_name.addr, align 8 + %2 = load i8*, i8** %package.addr, align 8 + %3 = load i8*, i8** %version.addr, align 8 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %authors, i64 0, i64 0 + call void @version_etc_va(%struct._IO_FILE* %0, i8* %1, i8* %2, i8* %3, %struct.__va_list_tag.0* %arraydecay2) + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %authors, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + ret void +} + +; Function Attrs: noinline nounwind readonly uwtable +define dso_local i64 @dir_len(i8* %file) #15 { +entry: + %file.addr = alloca i8*, align 8 + %prefix_length = alloca i64, align 8 + %length = alloca i64, align 8 + store i8* %file, i8** %file.addr, align 8 + store i64 0, i64* %prefix_length, align 8 + %0 = load i64, i64* %prefix_length, align 8 + %cmp = icmp ne i64 %0, 0 + br i1 %cmp, label %cond.end, label %cond.false + +cond.false: ; preds = %entry + %1 = load i8*, i8** %file.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %2 to i32 + %cmp1 = icmp eq i32 %conv, 47 + %3 = zext i1 %cmp1 to i64 + %cond = select i1 %cmp1, i32 1, i32 0 + br label %cond.end + +cond.end: ; preds = %entry, %cond.false + %cond3 = phi i32 [ %cond, %cond.false ], [ 0, %entry ] + %conv4 = sext i32 %cond3 to i64 + %4 = load i64, i64* %prefix_length, align 8 + %add = add i64 %4, %conv4 + store i64 %add, i64* %prefix_length, align 8 + %5 = load i8*, i8** %file.addr, align 8 + %call = call i8* @last_component(i8* %5) #23 + %6 = load i8*, i8** %file.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %call to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %6 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %length, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %cond.end + %7 = load i64, i64* %prefix_length, align 8 + %8 = load i64, i64* %length, align 8 + %cmp5 = icmp ult i64 %7, %8 + br i1 %cmp5, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %9 = load i8*, i8** %file.addr, align 8 + %10 = load i64, i64* %length, align 8 + %sub = sub i64 %10, 1 + %arrayidx7 = getelementptr inbounds i8, i8* %9, i64 %sub + %11 = load i8, i8* %arrayidx7, align 1 + %conv8 = sext i8 %11 to i32 + %cmp9 = icmp eq i32 %conv8, 47 + br i1 %cmp9, label %for.inc, label %for.end + +for.inc: ; preds = %for.body + %12 = load i64, i64* %length, align 8 + %dec = add i64 %12, -1 + store i64 %dec, i64* %length, align 8 + br label %for.cond + +for.end: ; preds = %for.body, %for.cond + %13 = load i64, i64* %length, align 8 + ret i64 %13 +} + +; Function Attrs: noinline nounwind readonly uwtable +define dso_local i8* @last_component(i8* %name) #15 { +entry: + %name.addr = alloca i8*, align 8 + %base = alloca i8*, align 8 + %p = alloca i8*, align 8 + %saw_slash = alloca i8, align 1 + store i8* %name, i8** %name.addr, align 8 + %0 = load i8*, i8** %name.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %0, i64 0 + store i8* %add.ptr, i8** %base, align 8 + store i8 0, i8* %saw_slash, align 1 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %1 = load i8*, i8** %base, align 8 + %2 = load i8, i8* %1, align 1 + %conv = sext i8 %2 to i32 + %cmp = icmp eq i32 %conv, 47 + %3 = load i8*, i8** %base, align 8 + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %base, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8* %3, i8** %p, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %while.end + %4 = load i8*, i8** %p, align 8 + %5 = load i8, i8* %4, align 1 + %tobool = icmp ne i8 %5, 0 + br i1 %tobool, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %6 = load i8*, i8** %p, align 8 + %7 = load i8, i8* %6, align 1 + %conv2 = sext i8 %7 to i32 + %cmp3 = icmp eq i32 %conv2, 47 + br i1 %cmp3, label %if.then, label %if.else + +if.then: ; preds = %for.body + store i8 1, i8* %saw_slash, align 1 + br label %for.inc + +if.else: ; preds = %for.body + %8 = load i8, i8* %saw_slash, align 1 + %tobool5 = trunc i8 %8 to i1 + br i1 %tobool5, label %if.then6, label %for.inc + +if.then6: ; preds = %if.else + %9 = load i8*, i8** %p, align 8 + store i8* %9, i8** %base, align 8 + store i8 0, i8* %saw_slash, align 1 + br label %for.inc + +for.inc: ; preds = %if.then, %if.then6, %if.else + %10 = load i8*, i8** %p, align 8 + %incdec.ptr8 = getelementptr inbounds i8, i8* %10, i32 1 + store i8* %incdec.ptr8, i8** %p, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %11 = load i8*, i8** %base, align 8 + ret i8* %11 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc_va(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, %struct.__va_list_tag.0* %authors) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors.addr = alloca %struct.__va_list_tag.0*, align 8 + %n_authors = alloca i64, align 8 + %authtab = alloca [10 x i8*], align 16 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + store %struct.__va_list_tag.0* %authors, %struct.__va_list_tag.0** %authors.addr, align 8 + store i64 0, i64* %n_authors, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i64, i64* %n_authors, align 8 + %cmp = icmp ult i64 %0, 10 + br i1 %cmp, label %land.rhs, label %for.end + +land.rhs: ; preds = %for.cond + %1 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %authors.addr, align 8 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %1, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 8 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %land.rhs + %2 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %1, i32 0, i32 3 + %reg_save_area = load i8*, i8** %2, align 8 + %3 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %4 = bitcast i8* %3 to i8** + %5 = add i32 %gp_offset, 8 + store i32 %5, i32* %gp_offset_p, align 8 + br label %vaarg.end + +vaarg.in_mem: ; preds = %land.rhs + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %1, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %6 = bitcast i8* %overflow_arg_area to i8** + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i8** [ %4, %vaarg.in_reg ], [ %6, %vaarg.in_mem ] + %7 = load i8*, i8** %vaarg.addr, align 8 + %8 = load i64, i64* %n_authors, align 8 + %arrayidx = getelementptr inbounds [10 x i8*], [10 x i8*]* %authtab, i64 0, i64 %8 + store i8* %7, i8** %arrayidx, align 8 + %cmp1 = icmp ne i8* %7, null + br i1 %cmp1, label %for.inc, label %for.end + +for.inc: ; preds = %vaarg.end + %9 = load i64, i64* %n_authors, align 8 + %inc = add i64 %9, 1 + store i64 %inc, i64* %n_authors, align 8 + br label %for.cond + +for.end: ; preds = %for.cond, %vaarg.end + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %11 = load i8*, i8** %command_name.addr, align 8 + %12 = load i8*, i8** %package.addr, align 8 + %13 = load i8*, i8** %version.addr, align 8 + %arraydecay = getelementptr inbounds [10 x i8*], [10 x i8*]* %authtab, i64 0, i64 0 + %14 = load i64, i64* %n_authors, align 8 + call void @version_etc_arn(%struct._IO_FILE* %10, i8* %11, i8* %12, i8* %13, i8** %arraydecay, i64 %14) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc_arn(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, i8** %authors, i64 %n_authors) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors.addr = alloca i8**, align 8 + %n_authors.addr = alloca i64, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + store i8** %authors, i8*** %authors.addr, align 8 + store i64 %n_authors, i64* %n_authors.addr, align 8 + %0 = load i8*, i8** %command_name.addr, align 8 + %tobool = icmp ne i8* %0, null + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %entry + %2 = load i8*, i8** %command_name.addr, align 8 + %3 = load i8*, i8** %package.addr, align 8 + %4 = load i8*, i8** %version.addr, align 8 + %call = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %1, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.73, i64 0, i64 0), i8* %2, i8* %3, i8* %4) + br label %if.end + +if.else: ; preds = %entry + %5 = load i8*, i8** %package.addr, align 8 + %6 = load i8*, i8** %version.addr, align 8 + %call1 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %1, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.74, i64 0, i64 0), i8* %5, i8* %6) + br label %if.end + +if.end: ; preds = %if.else, %if.then + %7 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call2 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %7, i8* getelementptr inbounds ([47 x i8], [47 x i8]* @version_etc_copyright, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2.75, i64 0, i64 0), i32 2020) + %8 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call3 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.76, i64 0, i64 0), %struct._IO_FILE* %8) + %9 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call4 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %9, i8* getelementptr inbounds ([171 x i8], [171 x i8]* @.str.4.77, i64 0, i64 0), i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.5.78, i64 0, i64 0)) + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call5 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.76, i64 0, i64 0), %struct._IO_FILE* %10) + %11 = load i64, i64* %n_authors.addr, align 8 + br label %NodeBlock17 + +NodeBlock17: ; preds = %if.end + %case.cmp18 = icmp eq i64 %11, 0 + br i1 %case.cmp18, label %sw.epilog, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i64 %11, 1 + br i1 %case.cmp16, label %sw.bb6, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i64 %11, 2 + br i1 %case.cmp14, label %sw.bb8, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i64 %11, 3 + br i1 %case.cmp12, label %sw.bb12, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i64 %11, 4 + br i1 %case.cmp10, label %sw.bb17, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i64 %11, 5 + br i1 %case.cmp8, label %sw.bb23, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i64 %11, 6 + br i1 %case.cmp6, label %sw.bb30, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i64 %11, 7 + br i1 %case.cmp4, label %sw.bb38, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i64 %11, 8 + br i1 %case.cmp2, label %sw.bb47, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i64 %11, 9 + br i1 %case.cmp, label %sw.bb57, label %newDefault + +sw.bb6: ; preds = %NodeBlock15 + %12 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %13 = load i8**, i8*** %authors.addr, align 8 + %arrayidx = getelementptr inbounds i8*, i8** %13, i64 0 + %14 = load i8*, i8** %arrayidx, align 8 + %call7 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %12, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.6.79, i64 0, i64 0), i8* %14) + br label %sw.epilog + +sw.bb8: ; preds = %NodeBlock13 + %15 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %16 = load i8**, i8*** %authors.addr, align 8 + %arrayidx9 = getelementptr inbounds i8*, i8** %16, i64 0 + %17 = load i8*, i8** %arrayidx9, align 8 + %18 = load i8**, i8*** %authors.addr, align 8 + %arrayidx10 = getelementptr inbounds i8*, i8** %18, i64 1 + %19 = load i8*, i8** %arrayidx10, align 8 + %call11 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %15, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.7.80, i64 0, i64 0), i8* %17, i8* %19) + br label %sw.epilog + +sw.bb12: ; preds = %NodeBlock11 + %20 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %21 = load i8**, i8*** %authors.addr, align 8 + %arrayidx13 = getelementptr inbounds i8*, i8** %21, i64 0 + %22 = load i8*, i8** %arrayidx13, align 8 + %23 = load i8**, i8*** %authors.addr, align 8 + %arrayidx14 = getelementptr inbounds i8*, i8** %23, i64 1 + %24 = load i8*, i8** %arrayidx14, align 8 + %25 = load i8**, i8*** %authors.addr, align 8 + %arrayidx15 = getelementptr inbounds i8*, i8** %25, i64 2 + %26 = load i8*, i8** %arrayidx15, align 8 + %call16 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %20, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.8.81, i64 0, i64 0), i8* %22, i8* %24, i8* %26) + br label %sw.epilog + +sw.bb17: ; preds = %NodeBlock9 + %27 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %28 = load i8**, i8*** %authors.addr, align 8 + %arrayidx18 = getelementptr inbounds i8*, i8** %28, i64 0 + %29 = load i8*, i8** %arrayidx18, align 8 + %30 = load i8**, i8*** %authors.addr, align 8 + %arrayidx19 = getelementptr inbounds i8*, i8** %30, i64 1 + %31 = load i8*, i8** %arrayidx19, align 8 + %32 = load i8**, i8*** %authors.addr, align 8 + %arrayidx20 = getelementptr inbounds i8*, i8** %32, i64 2 + %33 = load i8*, i8** %arrayidx20, align 8 + %34 = load i8**, i8*** %authors.addr, align 8 + %arrayidx21 = getelementptr inbounds i8*, i8** %34, i64 3 + %35 = load i8*, i8** %arrayidx21, align 8 + %call22 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %27, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.9.82, i64 0, i64 0), i8* %29, i8* %31, i8* %33, i8* %35) + br label %sw.epilog + +sw.bb23: ; preds = %NodeBlock7 + %36 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %37 = load i8**, i8*** %authors.addr, align 8 + %arrayidx24 = getelementptr inbounds i8*, i8** %37, i64 0 + %38 = load i8*, i8** %arrayidx24, align 8 + %39 = load i8**, i8*** %authors.addr, align 8 + %arrayidx25 = getelementptr inbounds i8*, i8** %39, i64 1 + %40 = load i8*, i8** %arrayidx25, align 8 + %41 = load i8**, i8*** %authors.addr, align 8 + %arrayidx26 = getelementptr inbounds i8*, i8** %41, i64 2 + %42 = load i8*, i8** %arrayidx26, align 8 + %43 = load i8**, i8*** %authors.addr, align 8 + %arrayidx27 = getelementptr inbounds i8*, i8** %43, i64 3 + %44 = load i8*, i8** %arrayidx27, align 8 + %45 = load i8**, i8*** %authors.addr, align 8 + %arrayidx28 = getelementptr inbounds i8*, i8** %45, i64 4 + %46 = load i8*, i8** %arrayidx28, align 8 + %call29 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %36, i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.10.83, i64 0, i64 0), i8* %38, i8* %40, i8* %42, i8* %44, i8* %46) + br label %sw.epilog + +sw.bb30: ; preds = %NodeBlock5 + %47 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %48 = load i8**, i8*** %authors.addr, align 8 + %arrayidx31 = getelementptr inbounds i8*, i8** %48, i64 0 + %49 = load i8*, i8** %arrayidx31, align 8 + %50 = load i8**, i8*** %authors.addr, align 8 + %arrayidx32 = getelementptr inbounds i8*, i8** %50, i64 1 + %51 = load i8*, i8** %arrayidx32, align 8 + %52 = load i8**, i8*** %authors.addr, align 8 + %arrayidx33 = getelementptr inbounds i8*, i8** %52, i64 2 + %53 = load i8*, i8** %arrayidx33, align 8 + %54 = load i8**, i8*** %authors.addr, align 8 + %arrayidx34 = getelementptr inbounds i8*, i8** %54, i64 3 + %55 = load i8*, i8** %arrayidx34, align 8 + %56 = load i8**, i8*** %authors.addr, align 8 + %arrayidx35 = getelementptr inbounds i8*, i8** %56, i64 4 + %57 = load i8*, i8** %arrayidx35, align 8 + %58 = load i8**, i8*** %authors.addr, align 8 + %arrayidx36 = getelementptr inbounds i8*, i8** %58, i64 5 + %59 = load i8*, i8** %arrayidx36, align 8 + %call37 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %47, i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.11.84, i64 0, i64 0), i8* %49, i8* %51, i8* %53, i8* %55, i8* %57, i8* %59) + br label %sw.epilog + +sw.bb38: ; preds = %NodeBlock3 + %60 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %61 = load i8**, i8*** %authors.addr, align 8 + %arrayidx39 = getelementptr inbounds i8*, i8** %61, i64 0 + %62 = load i8*, i8** %arrayidx39, align 8 + %63 = load i8**, i8*** %authors.addr, align 8 + %arrayidx40 = getelementptr inbounds i8*, i8** %63, i64 1 + %64 = load i8*, i8** %arrayidx40, align 8 + %65 = load i8**, i8*** %authors.addr, align 8 + %arrayidx41 = getelementptr inbounds i8*, i8** %65, i64 2 + %66 = load i8*, i8** %arrayidx41, align 8 + %67 = load i8**, i8*** %authors.addr, align 8 + %arrayidx42 = getelementptr inbounds i8*, i8** %67, i64 3 + %68 = load i8*, i8** %arrayidx42, align 8 + %69 = load i8**, i8*** %authors.addr, align 8 + %arrayidx43 = getelementptr inbounds i8*, i8** %69, i64 4 + %70 = load i8*, i8** %arrayidx43, align 8 + %71 = load i8**, i8*** %authors.addr, align 8 + %arrayidx44 = getelementptr inbounds i8*, i8** %71, i64 5 + %72 = load i8*, i8** %arrayidx44, align 8 + %73 = load i8**, i8*** %authors.addr, align 8 + %arrayidx45 = getelementptr inbounds i8*, i8** %73, i64 6 + %74 = load i8*, i8** %arrayidx45, align 8 + %call46 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %60, i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.12.85, i64 0, i64 0), i8* %62, i8* %64, i8* %66, i8* %68, i8* %70, i8* %72, i8* %74) + br label %sw.epilog + +sw.bb47: ; preds = %NodeBlock1 + %75 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %76 = load i8**, i8*** %authors.addr, align 8 + %arrayidx48 = getelementptr inbounds i8*, i8** %76, i64 0 + %77 = load i8*, i8** %arrayidx48, align 8 + %78 = load i8**, i8*** %authors.addr, align 8 + %arrayidx49 = getelementptr inbounds i8*, i8** %78, i64 1 + %79 = load i8*, i8** %arrayidx49, align 8 + %80 = load i8**, i8*** %authors.addr, align 8 + %arrayidx50 = getelementptr inbounds i8*, i8** %80, i64 2 + %81 = load i8*, i8** %arrayidx50, align 8 + %82 = load i8**, i8*** %authors.addr, align 8 + %arrayidx51 = getelementptr inbounds i8*, i8** %82, i64 3 + %83 = load i8*, i8** %arrayidx51, align 8 + %84 = load i8**, i8*** %authors.addr, align 8 + %arrayidx52 = getelementptr inbounds i8*, i8** %84, i64 4 + %85 = load i8*, i8** %arrayidx52, align 8 + %86 = load i8**, i8*** %authors.addr, align 8 + %arrayidx53 = getelementptr inbounds i8*, i8** %86, i64 5 + %87 = load i8*, i8** %arrayidx53, align 8 + %88 = load i8**, i8*** %authors.addr, align 8 + %arrayidx54 = getelementptr inbounds i8*, i8** %88, i64 6 + %89 = load i8*, i8** %arrayidx54, align 8 + %90 = load i8**, i8*** %authors.addr, align 8 + %arrayidx55 = getelementptr inbounds i8*, i8** %90, i64 7 + %91 = load i8*, i8** %arrayidx55, align 8 + %call56 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %75, i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.13.86, i64 0, i64 0), i8* %77, i8* %79, i8* %81, i8* %83, i8* %85, i8* %87, i8* %89, i8* %91) + br label %sw.epilog + +sw.bb57: ; preds = %NodeBlock + %92 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %93 = load i8**, i8*** %authors.addr, align 8 + %arrayidx58 = getelementptr inbounds i8*, i8** %93, i64 0 + %94 = load i8*, i8** %arrayidx58, align 8 + %95 = load i8**, i8*** %authors.addr, align 8 + %arrayidx59 = getelementptr inbounds i8*, i8** %95, i64 1 + %96 = load i8*, i8** %arrayidx59, align 8 + %97 = load i8**, i8*** %authors.addr, align 8 + %arrayidx60 = getelementptr inbounds i8*, i8** %97, i64 2 + %98 = load i8*, i8** %arrayidx60, align 8 + %99 = load i8**, i8*** %authors.addr, align 8 + %arrayidx61 = getelementptr inbounds i8*, i8** %99, i64 3 + %100 = load i8*, i8** %arrayidx61, align 8 + %101 = load i8**, i8*** %authors.addr, align 8 + %arrayidx62 = getelementptr inbounds i8*, i8** %101, i64 4 + %102 = load i8*, i8** %arrayidx62, align 8 + %103 = load i8**, i8*** %authors.addr, align 8 + %arrayidx63 = getelementptr inbounds i8*, i8** %103, i64 5 + %104 = load i8*, i8** %arrayidx63, align 8 + %105 = load i8**, i8*** %authors.addr, align 8 + %arrayidx64 = getelementptr inbounds i8*, i8** %105, i64 6 + %106 = load i8*, i8** %arrayidx64, align 8 + %107 = load i8**, i8*** %authors.addr, align 8 + %arrayidx65 = getelementptr inbounds i8*, i8** %107, i64 7 + %108 = load i8*, i8** %arrayidx65, align 8 + %109 = load i8**, i8*** %authors.addr, align 8 + %arrayidx66 = getelementptr inbounds i8*, i8** %109, i64 8 + %110 = load i8*, i8** %arrayidx66, align 8 + %call67 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %92, i8* getelementptr inbounds ([52 x i8], [52 x i8]* @.str.14.87, i64 0, i64 0), i8* %94, i8* %96, i8* %98, i8* %100, i8* %102, i8* %104, i8* %106, i8* %108, i8* %110) + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + %111 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %112 = load i8**, i8*** %authors.addr, align 8 + %arrayidx68 = getelementptr inbounds i8*, i8** %112, i64 0 + %113 = load i8*, i8** %arrayidx68, align 8 + %114 = load i8**, i8*** %authors.addr, align 8 + %arrayidx69 = getelementptr inbounds i8*, i8** %114, i64 1 + %115 = load i8*, i8** %arrayidx69, align 8 + %116 = load i8**, i8*** %authors.addr, align 8 + %arrayidx70 = getelementptr inbounds i8*, i8** %116, i64 2 + %117 = load i8*, i8** %arrayidx70, align 8 + %118 = load i8**, i8*** %authors.addr, align 8 + %arrayidx71 = getelementptr inbounds i8*, i8** %118, i64 3 + %119 = load i8*, i8** %arrayidx71, align 8 + %120 = load i8**, i8*** %authors.addr, align 8 + %arrayidx72 = getelementptr inbounds i8*, i8** %120, i64 4 + %121 = load i8*, i8** %arrayidx72, align 8 + %122 = load i8**, i8*** %authors.addr, align 8 + %arrayidx73 = getelementptr inbounds i8*, i8** %122, i64 5 + %123 = load i8*, i8** %arrayidx73, align 8 + %124 = load i8**, i8*** %authors.addr, align 8 + %arrayidx74 = getelementptr inbounds i8*, i8** %124, i64 6 + %125 = load i8*, i8** %arrayidx74, align 8 + %126 = load i8**, i8*** %authors.addr, align 8 + %arrayidx75 = getelementptr inbounds i8*, i8** %126, i64 7 + %127 = load i8*, i8** %arrayidx75, align 8 + %128 = load i8**, i8*** %authors.addr, align 8 + %arrayidx76 = getelementptr inbounds i8*, i8** %128, i64 8 + %129 = load i8*, i8** %arrayidx76, align 8 + %call77 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %111, i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.15.88, i64 0, i64 0), i8* %113, i8* %115, i8* %117, i8* %119, i8* %121, i8* %123, i8* %125, i8* %127, i8* %129) + br label %sw.epilog + +sw.epilog: ; preds = %NodeBlock17, %sw.default, %sw.bb57, %sw.bb47, %sw.bb38, %sw.bb30, %sw.bb23, %sw.bb17, %sw.bb12, %sw.bb8, %sw.bb6 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @close_stream(%struct._IO_FILE* %stream) #3 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct._IO_FILE*, align 8 + %some_pending = alloca i8, align 1 + %prev_fail = alloca i8, align 1 + %fclose_fail = alloca i8, align 1 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.513*)* @__fpending to i64 (%struct._IO_FILE*)*)(%struct._IO_FILE* %0) #11 + %cmp = icmp ne i64 %call, 0 + %frombool = zext i1 %cmp to i8 + store i8 %frombool, i8* %some_pending, align 1 + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call1 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.592*)* @ferror_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %1) #11 + %cmp2 = icmp ne i32 %call1, 0 + %frombool3 = zext i1 %cmp2 to i8 + store i8 %frombool3, i8* %prev_fail, align 1 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call4 = call i32 @rpl_fclose(%struct._IO_FILE* %2) + %cmp5 = icmp ne i32 %call4, 0 + %frombool6 = zext i1 %cmp5 to i8 + store i8 %frombool6, i8* %fclose_fail, align 1 + %3 = load i8, i8* %prev_fail, align 1 + %tobool = trunc i8 %3 to i1 + br i1 %tobool, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %4 = load i8, i8* %fclose_fail, align 1 + %tobool7 = trunc i8 %4 to i1 + br i1 %tobool7, label %land.lhs.true, label %if.end15 + +land.lhs.true: ; preds = %lor.lhs.false + %5 = load i8, i8* %some_pending, align 1 + %tobool8 = trunc i8 %5 to i1 + br i1 %tobool8, label %if.then, label %lor.lhs.false9 + +lor.lhs.false9: ; preds = %land.lhs.true + %call10 = call i32* @__errno_location() #25 + %6 = load i32, i32* %call10, align 4 + %cmp11 = icmp ne i32 %6, 9 + br i1 %cmp11, label %if.then, label %if.end15 + +if.then: ; preds = %lor.lhs.false9, %land.lhs.true, %entry + %7 = load i8, i8* %fclose_fail, align 1 + %tobool12 = trunc i8 %7 to i1 + br i1 %tobool12, label %if.end, label %if.then13 + +if.then13: ; preds = %if.then + %call14 = call i32* @__errno_location() #25 + store i32 0, i32* %call14, align 4 + br label %if.end + +if.end: ; preds = %if.then13, %if.then + store i32 -1, i32* %retval, align 4 + br label %return + +if.end15: ; preds = %lor.lhs.false9, %lor.lhs.false + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end15, %if.end + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_colon(i8* %arg) #3 { +entry: + %arg.addr = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_char(i8* %0, i8 signext 58) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_char(i8* %arg, i8 signext %ch) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %ch.addr = alloca i8, align 1 + store i8* %arg, i8** %arg.addr, align 8 + store i8 %ch, i8* %ch.addr, align 1 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i8, i8* %ch.addr, align 1 + %call = call i8* @quotearg_char_mem(i8* %0, i64 -1, i8 signext %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_char_mem(i8* %arg, i64 %argsize, i8 signext %ch) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %ch.addr = alloca i8, align 1 + %options = alloca %struct.quoting_options, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store i8 %ch, i8* %ch.addr, align 1 + %0 = bitcast %struct.quoting_options* %options to i8* + %1 = call i8* @memcpy(i8* %0, i8* bitcast (%struct.quoting_options* @default_quoting_options to i8*), i64 56) + %2 = load i8, i8* %ch.addr, align 1 + %call = call i32 @set_char_quoting(%struct.quoting_options* %options, i8 signext %2, i32 1) + %3 = load i8*, i8** %arg.addr, align 8 + %4 = load i64, i64* %argsize.addr, align 8 + %call1 = call i8* @quotearg_n_options(i32 0, i8* %3, i64 %4, %struct.quoting_options* %options) + ret i8* %call1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @set_char_quoting(%struct.quoting_options* %o, i8 signext %c, i32 %i) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %c.addr = alloca i8, align 1 + %i.addr = alloca i32, align 4 + %uc = alloca i8, align 1 + %p = alloca i32*, align 8 + %shift = alloca i32, align 4 + %r = alloca i32, align 4 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i8 %c, i8* %c.addr, align 1 + store i32 %i, i32* %i.addr, align 4 + %0 = load i8, i8* %c.addr, align 1 + store i8 %0, i8* %uc, align 1 + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %1, null + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %2, %struct.quoting_options* @default_quoting_options + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %cond, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %3 = load i8, i8* %uc, align 1 + %conv = zext i8 %3 to i64 + %div = udiv i64 %conv, 32 + %add.ptr = getelementptr inbounds i32, i32* %arraydecay, i64 %div + store i32* %add.ptr, i32** %p, align 8 + %4 = load i8, i8* %uc, align 1 + %conv1 = zext i8 %4 to i64 + %rem = urem i64 %conv1, 32 + %conv2 = trunc i64 %rem to i32 + store i32 %conv2, i32* %shift, align 4 + %5 = load i32*, i32** %p, align 8 + %6 = load i32, i32* %5, align 4 + %7 = load i32, i32* %shift, align 4 + %shr = lshr i32 %6, %7 + %and = and i32 %shr, 1 + store i32 %and, i32* %r, align 4 + %8 = load i32, i32* %i.addr, align 4 + %and3 = and i32 %8, 1 + %9 = load i32, i32* %r, align 4 + %xor = xor i32 %and3, %9 + %10 = load i32, i32* %shift, align 4 + %shl = shl i32 %xor, %10 + %11 = load i32*, i32** %p, align 8 + %12 = load i32, i32* %11, align 4 + %xor4 = xor i32 %12, %shl + store i32 %xor4, i32* %11, align 4 + %13 = load i32, i32* %r, align 4 + ret i32 %13 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @quotearg_n_options(i32 %n, i8* %arg, i64 %argsize, %struct.quoting_options* %options) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %options.addr = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %sv = alloca %struct.slotvec*, align 8 + %preallocated = alloca i8, align 1 + %nmax = alloca i32, align 4 + %size = alloca i64, align 8 + %val = alloca i8*, align 8 + %flags = alloca i32, align 4 + %qsize = alloca i64, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store %struct.quoting_options* %options, %struct.quoting_options** %options.addr, align 8 + %call = call i32* @__errno_location() #25 + %0 = load i32, i32* %call, align 4 + store i32 %0, i32* %e, align 4 + %1 = load %struct.slotvec*, %struct.slotvec** @slotvec, align 8 + store %struct.slotvec* %1, %struct.slotvec** %sv, align 8 + %2 = load i32, i32* %n.addr, align 4 + %cmp = icmp slt i32 %2, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @abort() #26 + unreachable + +if.end: ; preds = %entry + %3 = load i32, i32* @nslots, align 4 + %4 = load i32, i32* %n.addr, align 4 + %cmp1 = icmp sle i32 %3, %4 + br i1 %cmp1, label %if.then2, label %if.end15 + +if.then2: ; preds = %if.end + %5 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %cmp3 = icmp eq %struct.slotvec* %5, @slotvec0 + %frombool = zext i1 %cmp3 to i8 + store i8 %frombool, i8* %preallocated, align 1 + store i32 2147483646, i32* %nmax, align 4 + %6 = load i32, i32* %nmax, align 4 + %7 = load i32, i32* %n.addr, align 4 + %cmp4 = icmp slt i32 %6, %7 + br i1 %cmp4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.then2 + call void @xalloc_die() #24 + unreachable + +if.end6: ; preds = %if.then2 + %8 = load i8, i8* %preallocated, align 1 + %tobool = trunc i8 %8 to i1 + %9 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %cond = select i1 %tobool, %struct.slotvec* null, %struct.slotvec* %9 + %10 = bitcast %struct.slotvec* %cond to i8* + %11 = load i32, i32* %n.addr, align 4 + %add = add nsw i32 %11, 1 + %conv = sext i32 %add to i64 + %mul = mul i64 %conv, 16 + %call7 = call i8* @xrealloc(i8* %10, i64 %mul) + %12 = bitcast i8* %call7 to %struct.slotvec* + store %struct.slotvec* %12, %struct.slotvec** %sv, align 8 + store %struct.slotvec* %12, %struct.slotvec** @slotvec, align 8 + %13 = load i8, i8* %preallocated, align 1 + %tobool8 = trunc i8 %13 to i1 + br i1 %tobool8, label %if.then9, label %if.end10 + +if.then9: ; preds = %if.end6 + %14 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %15 = bitcast %struct.slotvec* %14 to i8* + %16 = call i8* @memcpy(i8* %15, i8* bitcast (%struct.slotvec* @slotvec0 to i8*), i64 16) + br label %if.end10 + +if.end10: ; preds = %if.then9, %if.end6 + %17 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %18 = load i32, i32* @nslots, align 4 + %idx.ext = sext i32 %18 to i64 + %add.ptr = getelementptr inbounds %struct.slotvec, %struct.slotvec* %17, i64 %idx.ext + %19 = bitcast %struct.slotvec* %add.ptr to i8* + %20 = load i32, i32* %n.addr, align 4 + %add11 = add nsw i32 %20, 1 + %21 = load i32, i32* @nslots, align 4 + %sub = sub nsw i32 %add11, %21 + %conv12 = sext i32 %sub to i64 + %mul13 = mul i64 %conv12, 16 + %22 = call i8* @memset(i8* %19, i32 0, i64 %mul13) + %23 = load i32, i32* %n.addr, align 4 + %add14 = add nsw i32 %23, 1 + store i32 %add14, i32* @nslots, align 4 + br label %if.end15 + +if.end15: ; preds = %if.end10, %if.end + %24 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %25 = load i32, i32* %n.addr, align 4 + %idxprom = sext i32 %25 to i64 + %arrayidx = getelementptr inbounds %struct.slotvec, %struct.slotvec* %24, i64 %idxprom + %size16 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx, i32 0, i32 0 + %26 = load i64, i64* %size16, align 8 + store i64 %26, i64* %size, align 8 + %27 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %28 = load i32, i32* %n.addr, align 4 + %idxprom17 = sext i32 %28 to i64 + %arrayidx18 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %27, i64 %idxprom17 + %val19 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx18, i32 0, i32 1 + %29 = load i8*, i8** %val19, align 8 + store i8* %29, i8** %val, align 8 + %30 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %flags20 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %30, i32 0, i32 1 + %31 = load i32, i32* %flags20, align 4 + %or = or i32 %31, 1 + store i32 %or, i32* %flags, align 4 + %32 = load i8*, i8** %val, align 8 + %33 = load i64, i64* %size, align 8 + %34 = load i8*, i8** %arg.addr, align 8 + %35 = load i64, i64* %argsize.addr, align 8 + %36 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %36, i32 0, i32 0 + %37 = load i32, i32* %style, align 8 + %38 = load i32, i32* %flags, align 4 + %39 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %39, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %40 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %left_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %40, i32 0, i32 3 + %41 = load i8*, i8** %left_quote, align 8 + %42 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %right_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %42, i32 0, i32 4 + %43 = load i8*, i8** %right_quote, align 8 + %call21 = call i64 @quotearg_buffer_restyled(i8* %32, i64 %33, i8* %34, i64 %35, i32 %37, i32 %38, i32* %arraydecay, i8* %41, i8* %43) + store i64 %call21, i64* %qsize, align 8 + %44 = load i64, i64* %size, align 8 + %45 = load i64, i64* %qsize, align 8 + %cmp22 = icmp ule i64 %44, %45 + br i1 %cmp22, label %if.then24, label %if.end43 + +if.then24: ; preds = %if.end15 + %46 = load i64, i64* %qsize, align 8 + %add25 = add i64 %46, 1 + store i64 %add25, i64* %size, align 8 + %47 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %48 = load i32, i32* %n.addr, align 4 + %idxprom26 = sext i32 %48 to i64 + %arrayidx27 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %47, i64 %idxprom26 + %size28 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx27, i32 0, i32 0 + store i64 %add25, i64* %size28, align 8 + %49 = load i8*, i8** %val, align 8 + %cmp29 = icmp ne i8* %49, getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i64 0, i64 0) + br i1 %cmp29, label %if.then31, label %if.end32 + +if.then31: ; preds = %if.then24 + %50 = load i8*, i8** %val, align 8 + call void @free(i8* %50) #11 + br label %if.end32 + +if.end32: ; preds = %if.then31, %if.then24 + %51 = load i64, i64* %size, align 8 + %call33 = call noalias i8* @xcharalloc(i64 %51) + store i8* %call33, i8** %val, align 8 + %52 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %53 = load i32, i32* %n.addr, align 4 + %idxprom34 = sext i32 %53 to i64 + %arrayidx35 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %52, i64 %idxprom34 + %val36 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx35, i32 0, i32 1 + store i8* %call33, i8** %val36, align 8 + %54 = load i8*, i8** %val, align 8 + %55 = load i64, i64* %size, align 8 + %56 = load i8*, i8** %arg.addr, align 8 + %57 = load i64, i64* %argsize.addr, align 8 + %58 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %style37 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %58, i32 0, i32 0 + %59 = load i32, i32* %style37, align 8 + %60 = load i32, i32* %flags, align 4 + %61 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %quote_these_too38 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %61, i32 0, i32 2 + %arraydecay39 = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too38, i64 0, i64 0 + %62 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %left_quote40 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %62, i32 0, i32 3 + %63 = load i8*, i8** %left_quote40, align 8 + %64 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %right_quote41 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %64, i32 0, i32 4 + %65 = load i8*, i8** %right_quote41, align 8 + %call42 = call i64 @quotearg_buffer_restyled(i8* %54, i64 %55, i8* %56, i64 %57, i32 %59, i32 %60, i32* %arraydecay39, i8* %63, i8* %65) + br label %if.end43 + +if.end43: ; preds = %if.end32, %if.end15 + %66 = load i32, i32* %e, align 4 + %call44 = call i32* @__errno_location() #25 + store i32 %66, i32* %call44, align 4 + %67 = load i8*, i8** %val, align 8 + ret i8* %67 +} + +; Function Attrs: noinline noreturn nounwind uwtable +define dso_local void @xalloc_die() #6 { +entry: + %0 = load volatile i32, i32* @exit_failure, align 4 + call void (i32, i32, i8*, ...) @error(i32 %0, i32 0, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.108, i64 0, i64 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.1.109, i64 0, i64 0)) + call void @abort() #26 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @xrealloc(i8* %p, i64 %n) #3 { +entry: + %retval = alloca i8*, align 8 + %p.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %tobool = icmp eq i64 %0, 0 + %1 = load i8*, i8** %p.addr, align 8 + %tobool1 = icmp ne i8* %1, null + %or.cond = and i1 %tobool, %tobool1 + %2 = load i8*, i8** %p.addr, align 8 + br i1 %or.cond, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @free(i8* %2) #11 + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %3 = load i64, i64* %n.addr, align 8 + %call = call i8* @realloc(i8* %2, i64 %3) #11 + store i8* %call, i8** %p.addr, align 8 + %4 = load i8*, i8** %p.addr, align 8 + %tobool2 = icmp eq i8* %4, null + %5 = load i64, i64* %n.addr, align 8 + %tobool4 = icmp ne i64 %5, 0 + %or.cond1 = and i1 %tobool2, %tobool4 + br i1 %or.cond1, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end + call void @xalloc_die() #24 + unreachable + +if.end6: ; preds = %if.end + %6 = load i8*, i8** %p.addr, align 8 + store i8* %6, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end6, %if.then + %7 = load i8*, i8** %retval, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @quotearg_buffer_restyled(i8* %buffer, i64 %buffersize, i8* %arg, i64 %argsize, i32 %quoting_style, i32 %flags, i32* %quote_these_too, i8* %left_quote, i8* %right_quote) #3 { +entry: + %retval = alloca i64, align 8 + %buffer.addr = alloca i8*, align 8 + %buffersize.addr = alloca i64, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %quoting_style.addr = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %quote_these_too.addr = alloca i32*, align 8 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %i = alloca i64, align 8 + %len = alloca i64, align 8 + %orig_buffersize = alloca i64, align 8 + %quote_string = alloca i8*, align 8 + %quote_string_len = alloca i64, align 8 + %backslash_escapes = alloca i8, align 1 + %unibyte_locale = alloca i8, align 1 + %elide_outer_quotes = alloca i8, align 1 + %pending_shell_escape_end = alloca i8, align 1 + %encountered_single_quote = alloca i8, align 1 + %all_c_and_shell_quote_compat = alloca i8, align 1 + %c = alloca i8, align 1 + %esc = alloca i8, align 1 + %is_right_quote = alloca i8, align 1 + %escaping = alloca i8, align 1 + %c_and_shell_quote_compat = alloca i8, align 1 + %m = alloca i64, align 8 + %printable = alloca i8, align 1 + %mbstate = alloca %struct.__mbstate_t, align 4 + %w = alloca i32, align 4 + %bytes = alloca i64, align 8 + %j = alloca i64, align 8 + %ilim = alloca i64, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %buffersize, i64* %buffersize.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store i32 %quoting_style, i32* %quoting_style.addr, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store i32* %quote_these_too, i32** %quote_these_too.addr, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i64 0, i64* %len, align 8 + store i64 0, i64* %orig_buffersize, align 8 + store i8* null, i8** %quote_string, align 8 + store i64 0, i64* %quote_string_len, align 8 + store i8 0, i8* %backslash_escapes, align 1 + %call = call i64 @__ctype_get_mb_cur_max() #11 + %cmp = icmp eq i64 %call, 1 + %frombool = zext i1 %cmp to i8 + store i8 %frombool, i8* %unibyte_locale, align 1 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 2 + %cmp1 = icmp ne i32 %and, 0 + %frombool2 = zext i1 %cmp1 to i8 + store i8 %frombool2, i8* %elide_outer_quotes, align 1 + store i8 0, i8* %pending_shell_escape_end, align 1 + store i8 0, i8* %encountered_single_quote, align 1 + store i8 1, i8* %all_c_and_shell_quote_compat, align 1 + br label %process_input + +process_input: ; preds = %if.then701, %entry + %1 = load i32, i32* %quoting_style.addr, align 4 + br label %NodeBlock27 + +NodeBlock27: ; preds = %process_input + %case.cmp28 = icmp eq i32 %1, 6 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %1, 5 + br i1 %case.cmp26, label %sw.bb3, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %1, 7 + br i1 %case.cmp24, label %sw.bb7, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %1, 8 + br i1 %case.cmp22, label %sw.bb8, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %1, 9 + br i1 %case.cmp20, label %sw.bb8, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %1, 10 + br i1 %case.cmp18, label %sw.bb8, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %1, 3 + br i1 %case.cmp16, label %sw.bb26, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %1, 1 + br i1 %case.cmp14, label %sw.bb27, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %1, 4 + br i1 %case.cmp12, label %sw.bb28, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %1, 2 + br i1 %case.cmp10, label %sw.bb32, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock9 + %case.cmp = icmp eq i32 %1, 0 + br i1 %case.cmp, label %sw.bb43, label %newDefault + +sw.bb: ; preds = %NodeBlock27 + store i32 5, i32* %quoting_style.addr, align 4 + store i8 1, i8* %elide_outer_quotes, align 1 + br label %sw.bb3 + +sw.bb3: ; preds = %NodeBlock25, %sw.bb + %2 = load i8, i8* %elide_outer_quotes, align 1 + %tobool = trunc i8 %2 to i1 + br i1 %tobool, label %if.end6, label %do.body + +do.body: ; preds = %sw.bb3 + %3 = load i64, i64* %len, align 8 + %4 = load i64, i64* %buffersize.addr, align 8 + %cmp4 = icmp ult i64 %3, %4 + br i1 %cmp4, label %if.then5, label %if.end + +if.then5: ; preds = %do.body + %5 = load i8*, i8** %buffer.addr, align 8 + %6 = load i64, i64* %len, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 %6 + store i8 34, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then5, %do.body + %7 = load i64, i64* %len, align 8 + %inc = add i64 %7, 1 + store i64 %inc, i64* %len, align 8 + br label %if.end6 + +if.end6: ; preds = %if.end, %sw.bb3 + store i8 1, i8* %backslash_escapes, align 1 + store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10.62, i64 0, i64 0), i8** %quote_string, align 8 + store i64 1, i64* %quote_string_len, align 8 + br label %sw.epilog + +sw.bb7: ; preds = %NodeBlock23 + store i8 1, i8* %backslash_escapes, align 1 + store i8 0, i8* %elide_outer_quotes, align 1 + br label %sw.epilog + +sw.bb8: ; preds = %NodeBlock21, %NodeBlock19, %NodeBlock17 + %8 = load i32, i32* %quoting_style.addr, align 4 + %cmp9 = icmp ne i32 %8, 10 + br i1 %cmp9, label %if.then10, label %if.end13 + +if.then10: ; preds = %sw.bb8 + %9 = load i32, i32* %quoting_style.addr, align 4 + %call11 = call i8* @gettext_quote(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.11.63, i64 0, i64 0), i32 %9) + store i8* %call11, i8** %left_quote.addr, align 8 + %10 = load i32, i32* %quoting_style.addr, align 4 + %call12 = call i8* @gettext_quote(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.64, i64 0, i64 0), i32 %10) + store i8* %call12, i8** %right_quote.addr, align 8 + br label %if.end13 + +if.end13: ; preds = %if.then10, %sw.bb8 + %11 = load i8, i8* %elide_outer_quotes, align 1 + %tobool14 = trunc i8 %11 to i1 + br i1 %tobool14, label %if.end24, label %if.then15 + +if.then15: ; preds = %if.end13 + %12 = load i8*, i8** %left_quote.addr, align 8 + store i8* %12, i8** %quote_string, align 8 + br label %for.cond + +for.cond: ; preds = %if.end21, %if.then15 + %13 = load i8*, i8** %quote_string, align 8 + %14 = load i8, i8* %13, align 1 + %tobool16 = icmp ne i8 %14, 0 + br i1 %tobool16, label %do.body17, label %if.end24 + +do.body17: ; preds = %for.cond + %15 = load i64, i64* %len, align 8 + %16 = load i64, i64* %buffersize.addr, align 8 + %cmp18 = icmp ult i64 %15, %16 + br i1 %cmp18, label %if.then19, label %if.end21 + +if.then19: ; preds = %do.body17 + %17 = load i8*, i8** %quote_string, align 8 + %18 = load i8, i8* %17, align 1 + %19 = load i8*, i8** %buffer.addr, align 8 + %20 = load i64, i64* %len, align 8 + %arrayidx20 = getelementptr inbounds i8, i8* %19, i64 %20 + store i8 %18, i8* %arrayidx20, align 1 + br label %if.end21 + +if.end21: ; preds = %if.then19, %do.body17 + %21 = load i64, i64* %len, align 8 + %inc22 = add i64 %21, 1 + store i64 %inc22, i64* %len, align 8 + %22 = load i8*, i8** %quote_string, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %22, i32 1 + store i8* %incdec.ptr, i8** %quote_string, align 8 + br label %for.cond + +if.end24: ; preds = %for.cond, %if.end13 + store i8 1, i8* %backslash_escapes, align 1 + %23 = load i8*, i8** %right_quote.addr, align 8 + store i8* %23, i8** %quote_string, align 8 + %24 = load i8*, i8** %quote_string, align 8 + %call25 = call i64 @strlen(i8* %24) #23 + store i64 %call25, i64* %quote_string_len, align 8 + br label %sw.epilog + +sw.bb26: ; preds = %NodeBlock15 + store i8 1, i8* %backslash_escapes, align 1 + br label %sw.bb27 + +sw.bb27: ; preds = %NodeBlock13, %sw.bb26 + store i8 1, i8* %elide_outer_quotes, align 1 + br label %sw.bb28 + +sw.bb28: ; preds = %NodeBlock11, %sw.bb27 + %25 = load i8, i8* %elide_outer_quotes, align 1 + %tobool29 = trunc i8 %25 to i1 + br i1 %tobool29, label %sw.bb32, label %if.then30 + +if.then30: ; preds = %sw.bb28 + store i8 1, i8* %backslash_escapes, align 1 + br label %sw.bb32 + +sw.bb32: ; preds = %NodeBlock9, %sw.bb28, %if.then30 + store i32 2, i32* %quoting_style.addr, align 4 + %26 = load i8, i8* %elide_outer_quotes, align 1 + %tobool33 = trunc i8 %26 to i1 + br i1 %tobool33, label %if.end42, label %do.body35 + +do.body35: ; preds = %sw.bb32 + %27 = load i64, i64* %len, align 8 + %28 = load i64, i64* %buffersize.addr, align 8 + %cmp36 = icmp ult i64 %27, %28 + br i1 %cmp36, label %if.then37, label %if.end39 + +if.then37: ; preds = %do.body35 + %29 = load i8*, i8** %buffer.addr, align 8 + %30 = load i64, i64* %len, align 8 + %arrayidx38 = getelementptr inbounds i8, i8* %29, i64 %30 + store i8 39, i8* %arrayidx38, align 1 + br label %if.end39 + +if.end39: ; preds = %if.then37, %do.body35 + %31 = load i64, i64* %len, align 8 + %inc40 = add i64 %31, 1 + store i64 %inc40, i64* %len, align 8 + br label %if.end42 + +if.end42: ; preds = %if.end39, %sw.bb32 + store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.64, i64 0, i64 0), i8** %quote_string, align 8 + store i64 1, i64* %quote_string_len, align 8 + br label %sw.epilog + +sw.bb43: ; preds = %NodeBlock + store i8 0, i8* %elide_outer_quotes, align 1 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @abort() #26 + unreachable + +sw.epilog: ; preds = %sw.bb43, %if.end42, %if.end24, %sw.bb7, %if.end6 + store i64 0, i64* %i, align 8 + br label %for.cond44 + +for.cond44: ; preds = %for.inc673, %sw.epilog + %32 = load i64, i64* %argsize.addr, align 8 + %cmp45 = icmp eq i64 %32, -1 + br i1 %cmp45, label %cond.true, label %cond.false + +cond.true: ; preds = %for.cond44 + %33 = load i8*, i8** %arg.addr, align 8 + %34 = load i64, i64* %i, align 8 + %arrayidx46 = getelementptr inbounds i8, i8* %33, i64 %34 + %35 = load i8, i8* %arrayidx46, align 1 + %conv = sext i8 %35 to i32 + %cmp47 = icmp eq i32 %conv, 0 + %conv48 = zext i1 %cmp47 to i32 + br label %cond.end + +cond.false: ; preds = %for.cond44 + %36 = load i64, i64* %i, align 8 + %37 = load i64, i64* %argsize.addr, align 8 + %cmp49 = icmp eq i64 %36, %37 + %conv50 = zext i1 %cmp49 to i32 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ %conv48, %cond.true ], [ %conv50, %cond.false ] + %tobool51 = icmp ne i32 %cond, 0 + %lnot = xor i1 %tobool51, true + br i1 %lnot, label %for.body52, label %for.end675 + +for.body52: ; preds = %cond.end + store i8 0, i8* %is_right_quote, align 1 + store i8 0, i8* %escaping, align 1 + store i8 0, i8* %c_and_shell_quote_compat, align 1 + %38 = load i8, i8* %backslash_escapes, align 1 + %tobool53 = trunc i8 %38 to i1 + %39 = load i32, i32* %quoting_style.addr, align 4 + %cmp55 = icmp ne i32 %39, 2 + %or.cond = and i1 %tobool53, %cmp55 + %40 = load i64, i64* %quote_string_len, align 8 + %tobool58 = icmp ne i64 %40, 0 + %or.cond1 = and i1 %or.cond, %tobool58 + br i1 %or.cond1, label %land.lhs.true59, label %if.end80 + +land.lhs.true59: ; preds = %for.body52 + %41 = load i64, i64* %i, align 8 + %42 = load i64, i64* %quote_string_len, align 8 + %add = add i64 %41, %42 + %43 = load i64, i64* %argsize.addr, align 8 + %cmp60 = icmp eq i64 %43, -1 + %44 = load i64, i64* %quote_string_len, align 8 + %cmp63 = icmp ult i64 1, %44 + %or.cond2 = and i1 %cmp60, %cmp63 + br i1 %or.cond2, label %cond.true65, label %cond.false67 + +cond.true65: ; preds = %land.lhs.true59 + %45 = load i8*, i8** %arg.addr, align 8 + %call66 = call i64 @strlen(i8* %45) #23 + store i64 %call66, i64* %argsize.addr, align 8 + br label %cond.end68 + +cond.false67: ; preds = %land.lhs.true59 + %46 = load i64, i64* %argsize.addr, align 8 + br label %cond.end68 + +cond.end68: ; preds = %cond.false67, %cond.true65 + %cond69 = phi i64 [ %call66, %cond.true65 ], [ %46, %cond.false67 ] + %cmp70 = icmp ule i64 %add, %cond69 + br i1 %cmp70, label %land.lhs.true72, label %if.end80 + +land.lhs.true72: ; preds = %cond.end68 + %47 = load i8*, i8** %arg.addr, align 8 + %48 = load i64, i64* %i, align 8 + %add.ptr = getelementptr inbounds i8, i8* %47, i64 %48 + %49 = load i8*, i8** %quote_string, align 8 + %50 = load i64, i64* %quote_string_len, align 8 + %call73 = call i32 @memcmp(i8* %add.ptr, i8* %49, i64 %50) #23 + %cmp74 = icmp eq i32 %call73, 0 + br i1 %cmp74, label %if.then76, label %if.end80 + +if.then76: ; preds = %land.lhs.true72 + %51 = load i8, i8* %elide_outer_quotes, align 1 + %tobool77 = trunc i8 %51 to i1 + br i1 %tobool77, label %force_outer_quoting_style, label %if.end79 + +if.end79: ; preds = %if.then76 + store i8 1, i8* %is_right_quote, align 1 + br label %if.end80 + +if.end80: ; preds = %if.end79, %land.lhs.true72, %cond.end68, %for.body52 + %52 = load i8*, i8** %arg.addr, align 8 + %53 = load i64, i64* %i, align 8 + %arrayidx81 = getelementptr inbounds i8, i8* %52, i64 %53 + %54 = load i8, i8* %arrayidx81, align 1 + store i8 %54, i8* %c, align 1 + %55 = load i8, i8* %c, align 1 + %conv82 = zext i8 %55 to i32 + br label %NodeBlock232 + +NodeBlock232: ; preds = %if.end80 + %case.cmp233 = icmp eq i32 %conv82, 0 + br i1 %case.cmp233, label %sw.bb83, label %NodeBlock230 + +NodeBlock230: ; preds = %NodeBlock232 + %case.cmp231 = icmp eq i32 %conv82, 63 + br i1 %case.cmp231, label %sw.bb170, label %NodeBlock228 + +NodeBlock228: ; preds = %NodeBlock230 + %case.cmp229 = icmp eq i32 %conv82, 7 + br i1 %case.cmp229, label %sw.bb236, label %NodeBlock226 + +NodeBlock226: ; preds = %NodeBlock228 + %case.cmp227 = icmp eq i32 %conv82, 8 + br i1 %case.cmp227, label %sw.bb237, label %NodeBlock224 + +NodeBlock224: ; preds = %NodeBlock226 + %case.cmp225 = icmp eq i32 %conv82, 12 + br i1 %case.cmp225, label %sw.bb238, label %NodeBlock222 + +NodeBlock222: ; preds = %NodeBlock224 + %case.cmp223 = icmp eq i32 %conv82, 10 + br i1 %case.cmp223, label %sw.bb239, label %NodeBlock220 + +NodeBlock220: ; preds = %NodeBlock222 + %case.cmp221 = icmp eq i32 %conv82, 13 + br i1 %case.cmp221, label %sw.bb240, label %NodeBlock218 + +NodeBlock218: ; preds = %NodeBlock220 + %case.cmp219 = icmp eq i32 %conv82, 9 + br i1 %case.cmp219, label %sw.bb241, label %NodeBlock216 + +NodeBlock216: ; preds = %NodeBlock218 + %case.cmp217 = icmp eq i32 %conv82, 11 + br i1 %case.cmp217, label %sw.bb242, label %NodeBlock214 + +NodeBlock214: ; preds = %NodeBlock216 + %case.cmp215 = icmp eq i32 %conv82, 92 + br i1 %case.cmp215, label %sw.bb243, label %NodeBlock212 + +NodeBlock212: ; preds = %NodeBlock214 + %case.cmp213 = icmp eq i32 %conv82, 123 + br i1 %case.cmp213, label %sw.bb270, label %NodeBlock210 + +NodeBlock210: ; preds = %NodeBlock212 + %case.cmp211 = icmp eq i32 %conv82, 125 + br i1 %case.cmp211, label %sw.bb270, label %NodeBlock208 + +NodeBlock208: ; preds = %NodeBlock210 + %case.cmp209 = icmp eq i32 %conv82, 35 + br i1 %case.cmp209, label %sw.bb283, label %NodeBlock206 + +NodeBlock206: ; preds = %NodeBlock208 + %case.cmp207 = icmp eq i32 %conv82, 126 + br i1 %case.cmp207, label %sw.bb283, label %NodeBlock204 + +NodeBlock204: ; preds = %NodeBlock206 + %case.cmp205 = icmp eq i32 %conv82, 32 + br i1 %case.cmp205, label %sw.bb288, label %NodeBlock202 + +NodeBlock202: ; preds = %NodeBlock204 + %case.cmp203 = icmp eq i32 %conv82, 33 + br i1 %case.cmp203, label %sw.bb289, label %NodeBlock200 + +NodeBlock200: ; preds = %NodeBlock202 + %case.cmp201 = icmp eq i32 %conv82, 34 + br i1 %case.cmp201, label %sw.bb289, label %NodeBlock198 + +NodeBlock198: ; preds = %NodeBlock200 + %case.cmp199 = icmp eq i32 %conv82, 36 + br i1 %case.cmp199, label %sw.bb289, label %NodeBlock196 + +NodeBlock196: ; preds = %NodeBlock198 + %case.cmp197 = icmp eq i32 %conv82, 38 + br i1 %case.cmp197, label %sw.bb289, label %NodeBlock194 + +NodeBlock194: ; preds = %NodeBlock196 + %case.cmp195 = icmp eq i32 %conv82, 40 + br i1 %case.cmp195, label %sw.bb289, label %NodeBlock192 + +NodeBlock192: ; preds = %NodeBlock194 + %case.cmp193 = icmp eq i32 %conv82, 41 + br i1 %case.cmp193, label %sw.bb289, label %NodeBlock190 + +NodeBlock190: ; preds = %NodeBlock192 + %case.cmp191 = icmp eq i32 %conv82, 42 + br i1 %case.cmp191, label %sw.bb289, label %NodeBlock188 + +NodeBlock188: ; preds = %NodeBlock190 + %case.cmp189 = icmp eq i32 %conv82, 59 + br i1 %case.cmp189, label %sw.bb289, label %NodeBlock186 + +NodeBlock186: ; preds = %NodeBlock188 + %case.cmp187 = icmp eq i32 %conv82, 60 + br i1 %case.cmp187, label %sw.bb289, label %NodeBlock184 + +NodeBlock184: ; preds = %NodeBlock186 + %case.cmp185 = icmp eq i32 %conv82, 61 + br i1 %case.cmp185, label %sw.bb289, label %NodeBlock182 + +NodeBlock182: ; preds = %NodeBlock184 + %case.cmp183 = icmp eq i32 %conv82, 62 + br i1 %case.cmp183, label %sw.bb289, label %NodeBlock180 + +NodeBlock180: ; preds = %NodeBlock182 + %case.cmp181 = icmp eq i32 %conv82, 91 + br i1 %case.cmp181, label %sw.bb289, label %NodeBlock178 + +NodeBlock178: ; preds = %NodeBlock180 + %case.cmp179 = icmp eq i32 %conv82, 94 + br i1 %case.cmp179, label %sw.bb289, label %NodeBlock176 + +NodeBlock176: ; preds = %NodeBlock178 + %case.cmp177 = icmp eq i32 %conv82, 96 + br i1 %case.cmp177, label %sw.bb289, label %NodeBlock174 + +NodeBlock174: ; preds = %NodeBlock176 + %case.cmp175 = icmp eq i32 %conv82, 124 + br i1 %case.cmp175, label %sw.bb289, label %NodeBlock172 + +NodeBlock172: ; preds = %NodeBlock174 + %case.cmp173 = icmp eq i32 %conv82, 39 + br i1 %case.cmp173, label %sw.bb297, label %NodeBlock170 + +NodeBlock170: ; preds = %NodeBlock172 + %case.cmp171 = icmp eq i32 %conv82, 37 + br i1 %case.cmp171, label %sw.bb334, label %NodeBlock168 + +NodeBlock168: ; preds = %NodeBlock170 + %case.cmp169 = icmp eq i32 %conv82, 43 + br i1 %case.cmp169, label %sw.bb334, label %NodeBlock166 + +NodeBlock166: ; preds = %NodeBlock168 + %case.cmp167 = icmp eq i32 %conv82, 44 + br i1 %case.cmp167, label %sw.bb334, label %NodeBlock164 + +NodeBlock164: ; preds = %NodeBlock166 + %case.cmp165 = icmp eq i32 %conv82, 45 + br i1 %case.cmp165, label %sw.bb334, label %NodeBlock162 + +NodeBlock162: ; preds = %NodeBlock164 + %case.cmp163 = icmp eq i32 %conv82, 46 + br i1 %case.cmp163, label %sw.bb334, label %NodeBlock160 + +NodeBlock160: ; preds = %NodeBlock162 + %case.cmp161 = icmp eq i32 %conv82, 47 + br i1 %case.cmp161, label %sw.bb334, label %NodeBlock158 + +NodeBlock158: ; preds = %NodeBlock160 + %case.cmp159 = icmp eq i32 %conv82, 48 + br i1 %case.cmp159, label %sw.bb334, label %NodeBlock156 + +NodeBlock156: ; preds = %NodeBlock158 + %case.cmp157 = icmp eq i32 %conv82, 49 + br i1 %case.cmp157, label %sw.bb334, label %NodeBlock154 + +NodeBlock154: ; preds = %NodeBlock156 + %case.cmp155 = icmp eq i32 %conv82, 50 + br i1 %case.cmp155, label %sw.bb334, label %NodeBlock152 + +NodeBlock152: ; preds = %NodeBlock154 + %case.cmp153 = icmp eq i32 %conv82, 51 + br i1 %case.cmp153, label %sw.bb334, label %NodeBlock150 + +NodeBlock150: ; preds = %NodeBlock152 + %case.cmp151 = icmp eq i32 %conv82, 52 + br i1 %case.cmp151, label %sw.bb334, label %NodeBlock148 + +NodeBlock148: ; preds = %NodeBlock150 + %case.cmp149 = icmp eq i32 %conv82, 53 + br i1 %case.cmp149, label %sw.bb334, label %NodeBlock146 + +NodeBlock146: ; preds = %NodeBlock148 + %case.cmp147 = icmp eq i32 %conv82, 54 + br i1 %case.cmp147, label %sw.bb334, label %NodeBlock144 + +NodeBlock144: ; preds = %NodeBlock146 + %case.cmp145 = icmp eq i32 %conv82, 55 + br i1 %case.cmp145, label %sw.bb334, label %NodeBlock142 + +NodeBlock142: ; preds = %NodeBlock144 + %case.cmp143 = icmp eq i32 %conv82, 56 + br i1 %case.cmp143, label %sw.bb334, label %NodeBlock140 + +NodeBlock140: ; preds = %NodeBlock142 + %case.cmp141 = icmp eq i32 %conv82, 57 + br i1 %case.cmp141, label %sw.bb334, label %NodeBlock138 + +NodeBlock138: ; preds = %NodeBlock140 + %case.cmp139 = icmp eq i32 %conv82, 58 + br i1 %case.cmp139, label %sw.bb334, label %NodeBlock136 + +NodeBlock136: ; preds = %NodeBlock138 + %case.cmp137 = icmp eq i32 %conv82, 65 + br i1 %case.cmp137, label %sw.bb334, label %NodeBlock134 + +NodeBlock134: ; preds = %NodeBlock136 + %case.cmp135 = icmp eq i32 %conv82, 66 + br i1 %case.cmp135, label %sw.bb334, label %NodeBlock132 + +NodeBlock132: ; preds = %NodeBlock134 + %case.cmp133 = icmp eq i32 %conv82, 67 + br i1 %case.cmp133, label %sw.bb334, label %NodeBlock130 + +NodeBlock130: ; preds = %NodeBlock132 + %case.cmp131 = icmp eq i32 %conv82, 68 + br i1 %case.cmp131, label %sw.bb334, label %NodeBlock128 + +NodeBlock128: ; preds = %NodeBlock130 + %case.cmp129 = icmp eq i32 %conv82, 69 + br i1 %case.cmp129, label %sw.bb334, label %NodeBlock126 + +NodeBlock126: ; preds = %NodeBlock128 + %case.cmp127 = icmp eq i32 %conv82, 70 + br i1 %case.cmp127, label %sw.bb334, label %NodeBlock124 + +NodeBlock124: ; preds = %NodeBlock126 + %case.cmp125 = icmp eq i32 %conv82, 71 + br i1 %case.cmp125, label %sw.bb334, label %NodeBlock122 + +NodeBlock122: ; preds = %NodeBlock124 + %case.cmp123 = icmp eq i32 %conv82, 72 + br i1 %case.cmp123, label %sw.bb334, label %NodeBlock120 + +NodeBlock120: ; preds = %NodeBlock122 + %case.cmp121 = icmp eq i32 %conv82, 73 + br i1 %case.cmp121, label %sw.bb334, label %NodeBlock118 + +NodeBlock118: ; preds = %NodeBlock120 + %case.cmp119 = icmp eq i32 %conv82, 74 + br i1 %case.cmp119, label %sw.bb334, label %NodeBlock116 + +NodeBlock116: ; preds = %NodeBlock118 + %case.cmp117 = icmp eq i32 %conv82, 75 + br i1 %case.cmp117, label %sw.bb334, label %NodeBlock114 + +NodeBlock114: ; preds = %NodeBlock116 + %case.cmp115 = icmp eq i32 %conv82, 76 + br i1 %case.cmp115, label %sw.bb334, label %NodeBlock112 + +NodeBlock112: ; preds = %NodeBlock114 + %case.cmp113 = icmp eq i32 %conv82, 77 + br i1 %case.cmp113, label %sw.bb334, label %NodeBlock110 + +NodeBlock110: ; preds = %NodeBlock112 + %case.cmp111 = icmp eq i32 %conv82, 78 + br i1 %case.cmp111, label %sw.bb334, label %NodeBlock108 + +NodeBlock108: ; preds = %NodeBlock110 + %case.cmp109 = icmp eq i32 %conv82, 79 + br i1 %case.cmp109, label %sw.bb334, label %NodeBlock106 + +NodeBlock106: ; preds = %NodeBlock108 + %case.cmp107 = icmp eq i32 %conv82, 80 + br i1 %case.cmp107, label %sw.bb334, label %NodeBlock104 + +NodeBlock104: ; preds = %NodeBlock106 + %case.cmp105 = icmp eq i32 %conv82, 81 + br i1 %case.cmp105, label %sw.bb334, label %NodeBlock102 + +NodeBlock102: ; preds = %NodeBlock104 + %case.cmp103 = icmp eq i32 %conv82, 82 + br i1 %case.cmp103, label %sw.bb334, label %NodeBlock100 + +NodeBlock100: ; preds = %NodeBlock102 + %case.cmp101 = icmp eq i32 %conv82, 83 + br i1 %case.cmp101, label %sw.bb334, label %NodeBlock98 + +NodeBlock98: ; preds = %NodeBlock100 + %case.cmp99 = icmp eq i32 %conv82, 84 + br i1 %case.cmp99, label %sw.bb334, label %NodeBlock96 + +NodeBlock96: ; preds = %NodeBlock98 + %case.cmp97 = icmp eq i32 %conv82, 85 + br i1 %case.cmp97, label %sw.bb334, label %NodeBlock94 + +NodeBlock94: ; preds = %NodeBlock96 + %case.cmp95 = icmp eq i32 %conv82, 86 + br i1 %case.cmp95, label %sw.bb334, label %NodeBlock92 + +NodeBlock92: ; preds = %NodeBlock94 + %case.cmp93 = icmp eq i32 %conv82, 87 + br i1 %case.cmp93, label %sw.bb334, label %NodeBlock90 + +NodeBlock90: ; preds = %NodeBlock92 + %case.cmp91 = icmp eq i32 %conv82, 88 + br i1 %case.cmp91, label %sw.bb334, label %NodeBlock88 + +NodeBlock88: ; preds = %NodeBlock90 + %case.cmp89 = icmp eq i32 %conv82, 89 + br i1 %case.cmp89, label %sw.bb334, label %NodeBlock86 + +NodeBlock86: ; preds = %NodeBlock88 + %case.cmp87 = icmp eq i32 %conv82, 90 + br i1 %case.cmp87, label %sw.bb334, label %NodeBlock84 + +NodeBlock84: ; preds = %NodeBlock86 + %case.cmp85 = icmp eq i32 %conv82, 93 + br i1 %case.cmp85, label %sw.bb334, label %NodeBlock82 + +NodeBlock82: ; preds = %NodeBlock84 + %case.cmp83 = icmp eq i32 %conv82, 95 + br i1 %case.cmp83, label %sw.bb334, label %NodeBlock80 + +NodeBlock80: ; preds = %NodeBlock82 + %case.cmp81 = icmp eq i32 %conv82, 97 + br i1 %case.cmp81, label %sw.bb334, label %NodeBlock78 + +NodeBlock78: ; preds = %NodeBlock80 + %case.cmp79 = icmp eq i32 %conv82, 98 + br i1 %case.cmp79, label %sw.bb334, label %NodeBlock76 + +NodeBlock76: ; preds = %NodeBlock78 + %case.cmp77 = icmp eq i32 %conv82, 99 + br i1 %case.cmp77, label %sw.bb334, label %NodeBlock74 + +NodeBlock74: ; preds = %NodeBlock76 + %case.cmp75 = icmp eq i32 %conv82, 100 + br i1 %case.cmp75, label %sw.bb334, label %NodeBlock72 + +NodeBlock72: ; preds = %NodeBlock74 + %case.cmp73 = icmp eq i32 %conv82, 101 + br i1 %case.cmp73, label %sw.bb334, label %NodeBlock70 + +NodeBlock70: ; preds = %NodeBlock72 + %case.cmp71 = icmp eq i32 %conv82, 102 + br i1 %case.cmp71, label %sw.bb334, label %NodeBlock68 + +NodeBlock68: ; preds = %NodeBlock70 + %case.cmp69 = icmp eq i32 %conv82, 103 + br i1 %case.cmp69, label %sw.bb334, label %NodeBlock66 + +NodeBlock66: ; preds = %NodeBlock68 + %case.cmp67 = icmp eq i32 %conv82, 104 + br i1 %case.cmp67, label %sw.bb334, label %NodeBlock64 + +NodeBlock64: ; preds = %NodeBlock66 + %case.cmp65 = icmp eq i32 %conv82, 105 + br i1 %case.cmp65, label %sw.bb334, label %NodeBlock62 + +NodeBlock62: ; preds = %NodeBlock64 + %case.cmp63 = icmp eq i32 %conv82, 106 + br i1 %case.cmp63, label %sw.bb334, label %NodeBlock60 + +NodeBlock60: ; preds = %NodeBlock62 + %case.cmp61 = icmp eq i32 %conv82, 107 + br i1 %case.cmp61, label %sw.bb334, label %NodeBlock58 + +NodeBlock58: ; preds = %NodeBlock60 + %case.cmp59 = icmp eq i32 %conv82, 108 + br i1 %case.cmp59, label %sw.bb334, label %NodeBlock56 + +NodeBlock56: ; preds = %NodeBlock58 + %case.cmp57 = icmp eq i32 %conv82, 109 + br i1 %case.cmp57, label %sw.bb334, label %NodeBlock54 + +NodeBlock54: ; preds = %NodeBlock56 + %case.cmp55 = icmp eq i32 %conv82, 110 + br i1 %case.cmp55, label %sw.bb334, label %NodeBlock52 + +NodeBlock52: ; preds = %NodeBlock54 + %case.cmp53 = icmp eq i32 %conv82, 111 + br i1 %case.cmp53, label %sw.bb334, label %NodeBlock50 + +NodeBlock50: ; preds = %NodeBlock52 + %case.cmp51 = icmp eq i32 %conv82, 112 + br i1 %case.cmp51, label %sw.bb334, label %NodeBlock48 + +NodeBlock48: ; preds = %NodeBlock50 + %case.cmp49 = icmp eq i32 %conv82, 113 + br i1 %case.cmp49, label %sw.bb334, label %NodeBlock46 + +NodeBlock46: ; preds = %NodeBlock48 + %case.cmp47 = icmp eq i32 %conv82, 114 + br i1 %case.cmp47, label %sw.bb334, label %NodeBlock44 + +NodeBlock44: ; preds = %NodeBlock46 + %case.cmp45 = icmp eq i32 %conv82, 115 + br i1 %case.cmp45, label %sw.bb334, label %NodeBlock42 + +NodeBlock42: ; preds = %NodeBlock44 + %case.cmp43 = icmp eq i32 %conv82, 116 + br i1 %case.cmp43, label %sw.bb334, label %NodeBlock40 + +NodeBlock40: ; preds = %NodeBlock42 + %case.cmp41 = icmp eq i32 %conv82, 117 + br i1 %case.cmp41, label %sw.bb334, label %NodeBlock38 + +NodeBlock38: ; preds = %NodeBlock40 + %case.cmp39 = icmp eq i32 %conv82, 118 + br i1 %case.cmp39, label %sw.bb334, label %NodeBlock36 + +NodeBlock36: ; preds = %NodeBlock38 + %case.cmp37 = icmp eq i32 %conv82, 119 + br i1 %case.cmp37, label %sw.bb334, label %NodeBlock34 + +NodeBlock34: ; preds = %NodeBlock36 + %case.cmp35 = icmp eq i32 %conv82, 120 + br i1 %case.cmp35, label %sw.bb334, label %NodeBlock32 + +NodeBlock32: ; preds = %NodeBlock34 + %case.cmp33 = icmp eq i32 %conv82, 121 + br i1 %case.cmp33, label %sw.bb334, label %NodeBlock30 + +NodeBlock30: ; preds = %NodeBlock32 + %case.cmp31 = icmp eq i32 %conv82, 122 + br i1 %case.cmp31, label %sw.bb334, label %newDefault29 + +sw.bb83: ; preds = %NodeBlock232 + %56 = load i8, i8* %backslash_escapes, align 1 + %tobool84 = trunc i8 %56 to i1 + br i1 %tobool84, label %do.body86, label %if.else + +do.body86: ; preds = %sw.bb83 + %57 = load i8, i8* %elide_outer_quotes, align 1 + %tobool87 = trunc i8 %57 to i1 + br i1 %tobool87, label %force_outer_quoting_style, label %if.end89 + +if.end89: ; preds = %do.body86 + store i8 1, i8* %escaping, align 1 + %58 = load i32, i32* %quoting_style.addr, align 4 + %cmp90 = icmp eq i32 %58, 2 + br i1 %cmp90, label %land.lhs.true92, label %do.body120 + +land.lhs.true92: ; preds = %if.end89 + %59 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool93 = trunc i8 %59 to i1 + br i1 %tobool93, label %do.body120, label %do.body95 + +do.body95: ; preds = %land.lhs.true92 + %60 = load i64, i64* %len, align 8 + %61 = load i64, i64* %buffersize.addr, align 8 + %cmp96 = icmp ult i64 %60, %61 + br i1 %cmp96, label %if.then98, label %if.end100 + +if.then98: ; preds = %do.body95 + %62 = load i8*, i8** %buffer.addr, align 8 + %63 = load i64, i64* %len, align 8 + %arrayidx99 = getelementptr inbounds i8, i8* %62, i64 %63 + store i8 39, i8* %arrayidx99, align 1 + br label %if.end100 + +if.end100: ; preds = %if.then98, %do.body95 + %64 = load i64, i64* %len, align 8 + %inc101 = add i64 %64, 1 + store i64 %inc101, i64* %len, align 8 + %65 = load i64, i64* %len, align 8 + %66 = load i64, i64* %buffersize.addr, align 8 + %cmp104 = icmp ult i64 %65, %66 + br i1 %cmp104, label %if.then106, label %if.end108 + +if.then106: ; preds = %if.end100 + %67 = load i8*, i8** %buffer.addr, align 8 + %68 = load i64, i64* %len, align 8 + %arrayidx107 = getelementptr inbounds i8, i8* %67, i64 %68 + store i8 36, i8* %arrayidx107, align 1 + br label %if.end108 + +if.end108: ; preds = %if.then106, %if.end100 + %69 = load i64, i64* %len, align 8 + %inc109 = add i64 %69, 1 + store i64 %inc109, i64* %len, align 8 + %70 = load i64, i64* %len, align 8 + %71 = load i64, i64* %buffersize.addr, align 8 + %cmp112 = icmp ult i64 %70, %71 + br i1 %cmp112, label %if.then114, label %if.end116 + +if.then114: ; preds = %if.end108 + %72 = load i8*, i8** %buffer.addr, align 8 + %73 = load i64, i64* %len, align 8 + %arrayidx115 = getelementptr inbounds i8, i8* %72, i64 %73 + store i8 39, i8* %arrayidx115, align 1 + br label %if.end116 + +if.end116: ; preds = %if.then114, %if.end108 + %74 = load i64, i64* %len, align 8 + %inc117 = add i64 %74, 1 + store i64 %inc117, i64* %len, align 8 + store i8 1, i8* %pending_shell_escape_end, align 1 + br label %do.body120 + +do.body120: ; preds = %if.end89, %land.lhs.true92, %if.end116 + %75 = load i64, i64* %len, align 8 + %76 = load i64, i64* %buffersize.addr, align 8 + %cmp121 = icmp ult i64 %75, %76 + br i1 %cmp121, label %if.then123, label %if.end125 + +if.then123: ; preds = %do.body120 + %77 = load i8*, i8** %buffer.addr, align 8 + %78 = load i64, i64* %len, align 8 + %arrayidx124 = getelementptr inbounds i8, i8* %77, i64 %78 + store i8 92, i8* %arrayidx124, align 1 + br label %if.end125 + +if.end125: ; preds = %if.then123, %do.body120 + %79 = load i64, i64* %len, align 8 + %inc126 = add i64 %79, 1 + store i64 %inc126, i64* %len, align 8 + %80 = load i32, i32* %quoting_style.addr, align 4 + %cmp129 = icmp ne i32 %80, 2 + br i1 %cmp129, label %land.lhs.true131, label %if.end164 + +land.lhs.true131: ; preds = %if.end125 + %81 = load i64, i64* %i, align 8 + %add132 = add i64 %81, 1 + %82 = load i64, i64* %argsize.addr, align 8 + %cmp133 = icmp ult i64 %add132, %82 + br i1 %cmp133, label %land.lhs.true135, label %if.end164 + +land.lhs.true135: ; preds = %land.lhs.true131 + %83 = load i8*, i8** %arg.addr, align 8 + %84 = load i64, i64* %i, align 8 + %add136 = add i64 %84, 1 + %arrayidx137 = getelementptr inbounds i8, i8* %83, i64 %add136 + %85 = load i8, i8* %arrayidx137, align 1 + %conv138 = sext i8 %85 to i32 + %cmp139 = icmp sle i32 48, %conv138 + br i1 %cmp139, label %land.lhs.true141, label %if.end164 + +land.lhs.true141: ; preds = %land.lhs.true135 + %86 = load i8*, i8** %arg.addr, align 8 + %87 = load i64, i64* %i, align 8 + %add142 = add i64 %87, 1 + %arrayidx143 = getelementptr inbounds i8, i8* %86, i64 %add142 + %88 = load i8, i8* %arrayidx143, align 1 + %conv144 = sext i8 %88 to i32 + %cmp145 = icmp sle i32 %conv144, 57 + br i1 %cmp145, label %do.body148, label %if.end164 + +do.body148: ; preds = %land.lhs.true141 + %89 = load i64, i64* %len, align 8 + %90 = load i64, i64* %buffersize.addr, align 8 + %cmp149 = icmp ult i64 %89, %90 + br i1 %cmp149, label %if.then151, label %if.end153 + +if.then151: ; preds = %do.body148 + %91 = load i8*, i8** %buffer.addr, align 8 + %92 = load i64, i64* %len, align 8 + %arrayidx152 = getelementptr inbounds i8, i8* %91, i64 %92 + store i8 48, i8* %arrayidx152, align 1 + br label %if.end153 + +if.end153: ; preds = %if.then151, %do.body148 + %93 = load i64, i64* %len, align 8 + %inc154 = add i64 %93, 1 + store i64 %inc154, i64* %len, align 8 + %94 = load i64, i64* %len, align 8 + %95 = load i64, i64* %buffersize.addr, align 8 + %cmp157 = icmp ult i64 %94, %95 + br i1 %cmp157, label %if.then159, label %if.end161 + +if.then159: ; preds = %if.end153 + %96 = load i8*, i8** %buffer.addr, align 8 + %97 = load i64, i64* %len, align 8 + %arrayidx160 = getelementptr inbounds i8, i8* %96, i64 %97 + store i8 48, i8* %arrayidx160, align 1 + br label %if.end161 + +if.end161: ; preds = %if.then159, %if.end153 + %98 = load i64, i64* %len, align 8 + %inc162 = add i64 %98, 1 + store i64 %inc162, i64* %len, align 8 + br label %if.end164 + +if.end164: ; preds = %if.end161, %land.lhs.true141, %land.lhs.true135, %land.lhs.true131, %if.end125 + store i8 48, i8* %c, align 1 + br label %sw.epilog564 + +if.else: ; preds = %sw.bb83 + %99 = load i32, i32* %flags.addr, align 4 + %and165 = and i32 %99, 1 + %tobool166 = icmp ne i32 %and165, 0 + br i1 %tobool166, label %for.inc673, label %sw.epilog564 + +sw.bb170: ; preds = %NodeBlock230 + %100 = load i32, i32* %quoting_style.addr, align 4 + br label %NodeBlock237 + +NodeBlock237: ; preds = %sw.bb170 + %case.cmp238 = icmp eq i32 %100, 2 + br i1 %case.cmp238, label %sw.bb171, label %NodeBlock235 + +NodeBlock235: ; preds = %NodeBlock237 + %case.cmp236 = icmp eq i32 %100, 5 + br i1 %case.cmp236, label %sw.bb175, label %newDefault234 + +sw.bb171: ; preds = %NodeBlock237 + %101 = load i8, i8* %elide_outer_quotes, align 1 + %tobool172 = trunc i8 %101 to i1 + br i1 %tobool172, label %force_outer_quoting_style, label %sw.epilog564 + +sw.bb175: ; preds = %NodeBlock235 + %102 = load i32, i32* %flags.addr, align 4 + %and176 = and i32 %102, 4 + %tobool177 = icmp ne i32 %and176, 0 + br i1 %tobool177, label %land.lhs.true178, label %sw.epilog564 + +land.lhs.true178: ; preds = %sw.bb175 + %103 = load i64, i64* %i, align 8 + %add179 = add i64 %103, 2 + %104 = load i64, i64* %argsize.addr, align 8 + %cmp180 = icmp ult i64 %add179, %104 + br i1 %cmp180, label %land.lhs.true182, label %sw.epilog564 + +land.lhs.true182: ; preds = %land.lhs.true178 + %105 = load i8*, i8** %arg.addr, align 8 + %106 = load i64, i64* %i, align 8 + %add183 = add i64 %106, 1 + %arrayidx184 = getelementptr inbounds i8, i8* %105, i64 %add183 + %107 = load i8, i8* %arrayidx184, align 1 + %conv185 = sext i8 %107 to i32 + %cmp186 = icmp eq i32 %conv185, 63 + br i1 %cmp186, label %if.then188, label %sw.epilog564 + +if.then188: ; preds = %land.lhs.true182 + %108 = load i8*, i8** %arg.addr, align 8 + %109 = load i64, i64* %i, align 8 + %add189 = add i64 %109, 2 + %arrayidx190 = getelementptr inbounds i8, i8* %108, i64 %add189 + %110 = load i8, i8* %arrayidx190, align 1 + %conv191 = sext i8 %110 to i32 + br label %NodeBlock256 + +NodeBlock256: ; preds = %if.then188 + %case.cmp257 = icmp eq i32 %conv191, 33 + br i1 %case.cmp257, label %sw.bb192, label %NodeBlock254 + +NodeBlock254: ; preds = %NodeBlock256 + %case.cmp255 = icmp eq i32 %conv191, 39 + br i1 %case.cmp255, label %sw.bb192, label %NodeBlock252 + +NodeBlock252: ; preds = %NodeBlock254 + %case.cmp253 = icmp eq i32 %conv191, 40 + br i1 %case.cmp253, label %sw.bb192, label %NodeBlock250 + +NodeBlock250: ; preds = %NodeBlock252 + %case.cmp251 = icmp eq i32 %conv191, 41 + br i1 %case.cmp251, label %sw.bb192, label %NodeBlock248 + +NodeBlock248: ; preds = %NodeBlock250 + %case.cmp249 = icmp eq i32 %conv191, 45 + br i1 %case.cmp249, label %sw.bb192, label %NodeBlock246 + +NodeBlock246: ; preds = %NodeBlock248 + %case.cmp247 = icmp eq i32 %conv191, 47 + br i1 %case.cmp247, label %sw.bb192, label %NodeBlock244 + +NodeBlock244: ; preds = %NodeBlock246 + %case.cmp245 = icmp eq i32 %conv191, 60 + br i1 %case.cmp245, label %sw.bb192, label %NodeBlock242 + +NodeBlock242: ; preds = %NodeBlock244 + %case.cmp243 = icmp eq i32 %conv191, 61 + br i1 %case.cmp243, label %sw.bb192, label %NodeBlock240 + +NodeBlock240: ; preds = %NodeBlock242 + %case.cmp241 = icmp eq i32 %conv191, 62 + br i1 %case.cmp241, label %sw.bb192, label %newDefault239 + +sw.bb192: ; preds = %NodeBlock256, %NodeBlock254, %NodeBlock252, %NodeBlock250, %NodeBlock248, %NodeBlock246, %NodeBlock244, %NodeBlock242, %NodeBlock240 + %111 = load i8, i8* %elide_outer_quotes, align 1 + %tobool193 = trunc i8 %111 to i1 + br i1 %tobool193, label %force_outer_quoting_style, label %if.end195 + +if.end195: ; preds = %sw.bb192 + %112 = load i8*, i8** %arg.addr, align 8 + %113 = load i64, i64* %i, align 8 + %add196 = add i64 %113, 2 + %arrayidx197 = getelementptr inbounds i8, i8* %112, i64 %add196 + %114 = load i8, i8* %arrayidx197, align 1 + store i8 %114, i8* %c, align 1 + %115 = load i64, i64* %i, align 8 + %add198 = add i64 %115, 2 + store i64 %add198, i64* %i, align 8 + %116 = load i64, i64* %len, align 8 + %117 = load i64, i64* %buffersize.addr, align 8 + %cmp200 = icmp ult i64 %116, %117 + br i1 %cmp200, label %if.then202, label %if.end204 + +if.then202: ; preds = %if.end195 + %118 = load i8*, i8** %buffer.addr, align 8 + %119 = load i64, i64* %len, align 8 + %arrayidx203 = getelementptr inbounds i8, i8* %118, i64 %119 + store i8 63, i8* %arrayidx203, align 1 + br label %if.end204 + +if.end204: ; preds = %if.then202, %if.end195 + %120 = load i64, i64* %len, align 8 + %inc205 = add i64 %120, 1 + store i64 %inc205, i64* %len, align 8 + %121 = load i64, i64* %len, align 8 + %122 = load i64, i64* %buffersize.addr, align 8 + %cmp208 = icmp ult i64 %121, %122 + br i1 %cmp208, label %if.then210, label %if.end212 + +if.then210: ; preds = %if.end204 + %123 = load i8*, i8** %buffer.addr, align 8 + %124 = load i64, i64* %len, align 8 + %arrayidx211 = getelementptr inbounds i8, i8* %123, i64 %124 + store i8 34, i8* %arrayidx211, align 1 + br label %if.end212 + +if.end212: ; preds = %if.then210, %if.end204 + %125 = load i64, i64* %len, align 8 + %inc213 = add i64 %125, 1 + store i64 %inc213, i64* %len, align 8 + %126 = load i64, i64* %len, align 8 + %127 = load i64, i64* %buffersize.addr, align 8 + %cmp216 = icmp ult i64 %126, %127 + br i1 %cmp216, label %if.then218, label %if.end220 + +if.then218: ; preds = %if.end212 + %128 = load i8*, i8** %buffer.addr, align 8 + %129 = load i64, i64* %len, align 8 + %arrayidx219 = getelementptr inbounds i8, i8* %128, i64 %129 + store i8 34, i8* %arrayidx219, align 1 + br label %if.end220 + +if.end220: ; preds = %if.then218, %if.end212 + %130 = load i64, i64* %len, align 8 + %inc221 = add i64 %130, 1 + store i64 %inc221, i64* %len, align 8 + %131 = load i64, i64* %len, align 8 + %132 = load i64, i64* %buffersize.addr, align 8 + %cmp224 = icmp ult i64 %131, %132 + br i1 %cmp224, label %if.then226, label %if.end228 + +if.then226: ; preds = %if.end220 + %133 = load i8*, i8** %buffer.addr, align 8 + %134 = load i64, i64* %len, align 8 + %arrayidx227 = getelementptr inbounds i8, i8* %133, i64 %134 + store i8 63, i8* %arrayidx227, align 1 + br label %if.end228 + +if.end228: ; preds = %if.then226, %if.end220 + %135 = load i64, i64* %len, align 8 + %inc229 = add i64 %135, 1 + store i64 %inc229, i64* %len, align 8 + br label %sw.epilog564 + +sw.bb236: ; preds = %NodeBlock228 + store i8 97, i8* %esc, align 1 + br label %c_escape + +sw.bb237: ; preds = %NodeBlock226 + store i8 98, i8* %esc, align 1 + br label %c_escape + +sw.bb238: ; preds = %NodeBlock224 + store i8 102, i8* %esc, align 1 + br label %c_escape + +sw.bb239: ; preds = %NodeBlock222 + store i8 110, i8* %esc, align 1 + br label %c_and_shell_escape + +sw.bb240: ; preds = %NodeBlock220 + store i8 114, i8* %esc, align 1 + br label %c_and_shell_escape + +sw.bb241: ; preds = %NodeBlock218 + store i8 116, i8* %esc, align 1 + br label %c_and_shell_escape + +sw.bb242: ; preds = %NodeBlock216 + store i8 118, i8* %esc, align 1 + br label %c_escape + +sw.bb243: ; preds = %NodeBlock214 + %136 = load i8, i8* %c, align 1 + store i8 %136, i8* %esc, align 1 + %137 = load i32, i32* %quoting_style.addr, align 4 + %cmp244 = icmp eq i32 %137, 2 + br i1 %cmp244, label %if.then246, label %if.end250 + +if.then246: ; preds = %sw.bb243 + %138 = load i8, i8* %elide_outer_quotes, align 1 + %tobool247 = trunc i8 %138 to i1 + br i1 %tobool247, label %force_outer_quoting_style, label %do.body634 + +if.end250: ; preds = %sw.bb243 + %139 = load i8, i8* %backslash_escapes, align 1 + %tobool251 = trunc i8 %139 to i1 + br i1 %tobool251, label %land.lhs.true253, label %c_and_shell_escape + +land.lhs.true253: ; preds = %if.end250 + %140 = load i8, i8* %elide_outer_quotes, align 1 + %tobool254 = trunc i8 %140 to i1 + %141 = load i64, i64* %quote_string_len, align 8 + %tobool257 = icmp ne i64 %141, 0 + %or.cond3 = and i1 %tobool254, %tobool257 + br i1 %or.cond3, label %do.body634, label %c_and_shell_escape + +c_and_shell_escape: ; preds = %if.end250, %land.lhs.true253, %sw.bb241, %sw.bb240, %sw.bb239 + %142 = load i32, i32* %quoting_style.addr, align 4 + %cmp260 = icmp eq i32 %142, 2 + br i1 %cmp260, label %land.lhs.true262, label %c_escape + +land.lhs.true262: ; preds = %c_and_shell_escape + %143 = load i8, i8* %elide_outer_quotes, align 1 + %tobool263 = trunc i8 %143 to i1 + br i1 %tobool263, label %force_outer_quoting_style, label %c_escape + +c_escape: ; preds = %c_and_shell_escape, %land.lhs.true262, %sw.bb242, %sw.bb238, %sw.bb237, %sw.bb236 + %144 = load i8, i8* %backslash_escapes, align 1 + %tobool267 = trunc i8 %144 to i1 + br i1 %tobool267, label %if.then268, label %sw.epilog564 + +if.then268: ; preds = %c_escape + %145 = load i8, i8* %esc, align 1 + store i8 %145, i8* %c, align 1 + br label %do.body586 + +sw.bb270: ; preds = %NodeBlock212, %NodeBlock210 + %146 = load i64, i64* %argsize.addr, align 8 + %cmp271 = icmp eq i64 %146, -1 + br i1 %cmp271, label %cond.true273, label %cond.false278 + +cond.true273: ; preds = %sw.bb270 + %147 = load i8*, i8** %arg.addr, align 8 + %arrayidx274 = getelementptr inbounds i8, i8* %147, i64 1 + %148 = load i8, i8* %arrayidx274, align 1 + %conv275 = sext i8 %148 to i32 + %cmp276 = icmp eq i32 %conv275, 0 + br i1 %cmp276, label %sw.bb283, label %sw.epilog564 + +cond.false278: ; preds = %sw.bb270 + %149 = load i64, i64* %argsize.addr, align 8 + %cmp279 = icmp eq i64 %149, 1 + br i1 %cmp279, label %sw.bb283, label %sw.epilog564 + +sw.bb283: ; preds = %NodeBlock208, %NodeBlock206, %cond.true273, %cond.false278 + %150 = load i64, i64* %i, align 8 + %cmp284 = icmp ne i64 %150, 0 + br i1 %cmp284, label %sw.epilog564, label %sw.bb288 + +sw.bb288: ; preds = %NodeBlock204, %sw.bb283 + store i8 1, i8* %c_and_shell_quote_compat, align 1 + br label %sw.bb289 + +sw.bb289: ; preds = %NodeBlock202, %NodeBlock200, %NodeBlock198, %NodeBlock196, %NodeBlock194, %NodeBlock192, %NodeBlock190, %NodeBlock188, %NodeBlock186, %NodeBlock184, %NodeBlock182, %NodeBlock180, %NodeBlock178, %NodeBlock176, %NodeBlock174, %sw.bb288 + %151 = load i32, i32* %quoting_style.addr, align 4 + %cmp290 = icmp eq i32 %151, 2 + br i1 %cmp290, label %land.lhs.true292, label %sw.epilog564 + +land.lhs.true292: ; preds = %sw.bb289 + %152 = load i8, i8* %elide_outer_quotes, align 1 + %tobool293 = trunc i8 %152 to i1 + br i1 %tobool293, label %force_outer_quoting_style, label %sw.epilog564 + +sw.bb297: ; preds = %NodeBlock172 + store i8 1, i8* %encountered_single_quote, align 1 + store i8 1, i8* %c_and_shell_quote_compat, align 1 + %153 = load i32, i32* %quoting_style.addr, align 4 + %cmp298 = icmp eq i32 %153, 2 + br i1 %cmp298, label %if.then300, label %sw.epilog564 + +if.then300: ; preds = %sw.bb297 + %154 = load i8, i8* %elide_outer_quotes, align 1 + %tobool301 = trunc i8 %154 to i1 + br i1 %tobool301, label %force_outer_quoting_style, label %if.end303 + +if.end303: ; preds = %if.then300 + %155 = load i64, i64* %buffersize.addr, align 8 + %tobool304 = icmp eq i64 %155, 0 + %156 = load i64, i64* %orig_buffersize, align 8 + %tobool306 = icmp ne i64 %156, 0 + %or.cond4 = or i1 %tobool304, %tobool306 + br i1 %or.cond4, label %do.body309, label %if.then307 + +if.then307: ; preds = %if.end303 + %157 = load i64, i64* %buffersize.addr, align 8 + store i64 %157, i64* %orig_buffersize, align 8 + store i64 0, i64* %buffersize.addr, align 8 + br label %do.body309 + +do.body309: ; preds = %if.then307, %if.end303 + %158 = load i64, i64* %len, align 8 + %159 = load i64, i64* %buffersize.addr, align 8 + %cmp310 = icmp ult i64 %158, %159 + br i1 %cmp310, label %if.then312, label %if.end314 + +if.then312: ; preds = %do.body309 + %160 = load i8*, i8** %buffer.addr, align 8 + %161 = load i64, i64* %len, align 8 + %arrayidx313 = getelementptr inbounds i8, i8* %160, i64 %161 + store i8 39, i8* %arrayidx313, align 1 + br label %if.end314 + +if.end314: ; preds = %if.then312, %do.body309 + %162 = load i64, i64* %len, align 8 + %inc315 = add i64 %162, 1 + store i64 %inc315, i64* %len, align 8 + %163 = load i64, i64* %len, align 8 + %164 = load i64, i64* %buffersize.addr, align 8 + %cmp318 = icmp ult i64 %163, %164 + br i1 %cmp318, label %if.then320, label %if.end322 + +if.then320: ; preds = %if.end314 + %165 = load i8*, i8** %buffer.addr, align 8 + %166 = load i64, i64* %len, align 8 + %arrayidx321 = getelementptr inbounds i8, i8* %165, i64 %166 + store i8 92, i8* %arrayidx321, align 1 + br label %if.end322 + +if.end322: ; preds = %if.then320, %if.end314 + %167 = load i64, i64* %len, align 8 + %inc323 = add i64 %167, 1 + store i64 %inc323, i64* %len, align 8 + %168 = load i64, i64* %len, align 8 + %169 = load i64, i64* %buffersize.addr, align 8 + %cmp326 = icmp ult i64 %168, %169 + br i1 %cmp326, label %if.then328, label %if.end330 + +if.then328: ; preds = %if.end322 + %170 = load i8*, i8** %buffer.addr, align 8 + %171 = load i64, i64* %len, align 8 + %arrayidx329 = getelementptr inbounds i8, i8* %170, i64 %171 + store i8 39, i8* %arrayidx329, align 1 + br label %if.end330 + +if.end330: ; preds = %if.then328, %if.end322 + %172 = load i64, i64* %len, align 8 + %inc331 = add i64 %172, 1 + store i64 %inc331, i64* %len, align 8 + store i8 0, i8* %pending_shell_escape_end, align 1 + br label %sw.epilog564 + +sw.bb334: ; preds = %NodeBlock170, %NodeBlock168, %NodeBlock166, %NodeBlock164, %NodeBlock162, %NodeBlock160, %NodeBlock158, %NodeBlock156, %NodeBlock154, %NodeBlock152, %NodeBlock150, %NodeBlock148, %NodeBlock146, %NodeBlock144, %NodeBlock142, %NodeBlock140, %NodeBlock138, %NodeBlock136, %NodeBlock134, %NodeBlock132, %NodeBlock130, %NodeBlock128, %NodeBlock126, %NodeBlock124, %NodeBlock122, %NodeBlock120, %NodeBlock118, %NodeBlock116, %NodeBlock114, %NodeBlock112, %NodeBlock110, %NodeBlock108, %NodeBlock106, %NodeBlock104, %NodeBlock102, %NodeBlock100, %NodeBlock98, %NodeBlock96, %NodeBlock94, %NodeBlock92, %NodeBlock90, %NodeBlock88, %NodeBlock86, %NodeBlock84, %NodeBlock82, %NodeBlock80, %NodeBlock78, %NodeBlock76, %NodeBlock74, %NodeBlock72, %NodeBlock70, %NodeBlock68, %NodeBlock66, %NodeBlock64, %NodeBlock62, %NodeBlock60, %NodeBlock58, %NodeBlock56, %NodeBlock54, %NodeBlock52, %NodeBlock50, %NodeBlock48, %NodeBlock46, %NodeBlock44, %NodeBlock42, %NodeBlock40, %NodeBlock38, %NodeBlock36, %NodeBlock34, %NodeBlock32, %NodeBlock30 + store i8 1, i8* %c_and_shell_quote_compat, align 1 + br label %sw.epilog564 + +newDefault29: ; preds = %NodeBlock30 + br label %sw.default335 + +sw.default335: ; preds = %newDefault29 + %173 = load i8, i8* %unibyte_locale, align 1 + %tobool336 = trunc i8 %173 to i1 + br i1 %tobool336, label %if.then337, label %if.else346 + +if.then337: ; preds = %sw.default335 + store i64 1, i64* %m, align 8 + %call338 = call i16** @__ctype_b_loc() #25 + %174 = load i16*, i16** %call338, align 8 + %175 = load i8, i8* %c, align 1 + %conv339 = zext i8 %175 to i32 + %idxprom = sext i32 %conv339 to i64 + %arrayidx340 = getelementptr inbounds i16, i16* %174, i64 %idxprom + %176 = load i16, i16* %arrayidx340, align 2 + %conv341 = zext i16 %176 to i32 + %and342 = and i32 %conv341, 16384 + %cmp343 = icmp ne i32 %and342, 0 + %frombool345 = zext i1 %cmp343 to i8 + store i8 %frombool345, i8* %printable, align 1 + br label %if.end410 + +if.else346: ; preds = %sw.default335 + %177 = bitcast %struct.__mbstate_t* %mbstate to i8* + %178 = call i8* @memset(i8* %177, i32 0, i64 8) + store i64 0, i64* %m, align 8 + store i8 1, i8* %printable, align 1 + %179 = load i64, i64* %argsize.addr, align 8 + %cmp347 = icmp eq i64 %179, -1 + br i1 %cmp347, label %if.then349, label %if.end351 + +if.then349: ; preds = %if.else346 + %180 = load i8*, i8** %arg.addr, align 8 + %call350 = call i64 @strlen(i8* %180) #23 + store i64 %call350, i64* %argsize.addr, align 8 + br label %if.end351 + +if.end351: ; preds = %if.then349, %if.else346 + br label %do.body352 + +do.body352: ; preds = %if.end401, %if.end351 + %181 = load i8*, i8** %arg.addr, align 8 + %182 = load i64, i64* %i, align 8 + %183 = load i64, i64* %m, align 8 + %add353 = add i64 %182, %183 + %arrayidx354 = getelementptr inbounds i8, i8* %181, i64 %add353 + %184 = load i64, i64* %argsize.addr, align 8 + %185 = load i64, i64* %i, align 8 + %186 = load i64, i64* %m, align 8 + %add355 = add i64 %185, %186 + %sub = sub i64 %184, %add355 + %call356 = call i64 @rpl_mbrtowc(i32* %w, i8* %arrayidx354, i64 %sub, %struct.__mbstate_t* %mbstate) + store i64 %call356, i64* %bytes, align 8 + %187 = load i64, i64* %bytes, align 8 + %cmp357 = icmp eq i64 %187, 0 + br i1 %cmp357, label %if.end410, label %if.else360 + +if.else360: ; preds = %do.body352 + %188 = load i64, i64* %bytes, align 8 + %cmp361 = icmp eq i64 %188, -1 + br i1 %cmp361, label %if.then363, label %if.else364 + +if.then363: ; preds = %if.else360 + store i8 0, i8* %printable, align 1 + br label %if.end410 + +if.else364: ; preds = %if.else360 + %189 = load i64, i64* %bytes, align 8 + %cmp365 = icmp eq i64 %189, -2 + br i1 %cmp365, label %if.then367, label %if.else376 + +if.then367: ; preds = %if.else364 + store i8 0, i8* %printable, align 1 + br label %while.cond + +while.cond: ; preds = %while.body, %if.then367 + %190 = load i64, i64* %i, align 8 + %191 = load i64, i64* %m, align 8 + %add368 = add i64 %190, %191 + %192 = load i64, i64* %argsize.addr, align 8 + %cmp369 = icmp ult i64 %add368, %192 + br i1 %cmp369, label %land.rhs, label %if.end410 + +land.rhs: ; preds = %while.cond + %193 = load i8*, i8** %arg.addr, align 8 + %194 = load i64, i64* %i, align 8 + %195 = load i64, i64* %m, align 8 + %add371 = add i64 %194, %195 + %arrayidx372 = getelementptr inbounds i8, i8* %193, i64 %add371 + %196 = load i8, i8* %arrayidx372, align 1 + %conv373 = sext i8 %196 to i32 + %tobool374 = icmp ne i32 %conv373, 0 + br i1 %tobool374, label %while.body, label %if.end410 + +while.body: ; preds = %land.rhs + %197 = load i64, i64* %m, align 8 + %inc375 = add i64 %197, 1 + store i64 %inc375, i64* %m, align 8 + br label %while.cond + +if.else376: ; preds = %if.else364 + %198 = load i8, i8* %elide_outer_quotes, align 1 + %tobool377 = trunc i8 %198 to i1 + %199 = load i32, i32* %quoting_style.addr, align 4 + %cmp380 = icmp eq i32 %199, 2 + %or.cond5 = and i1 %tobool377, %cmp380 + br i1 %or.cond5, label %if.then382, label %if.end397 + +if.then382: ; preds = %if.else376 + store i64 1, i64* %j, align 8 + br label %for.cond383 + +for.cond383: ; preds = %for.inc394, %if.then382 + %200 = load i64, i64* %j, align 8 + %201 = load i64, i64* %bytes, align 8 + %cmp384 = icmp ult i64 %200, %201 + br i1 %cmp384, label %for.body386, label %if.end397 + +for.body386: ; preds = %for.cond383 + %202 = load i8*, i8** %arg.addr, align 8 + %203 = load i64, i64* %i, align 8 + %204 = load i64, i64* %m, align 8 + %add387 = add i64 %203, %204 + %205 = load i64, i64* %j, align 8 + %add388 = add i64 %add387, %205 + %arrayidx389 = getelementptr inbounds i8, i8* %202, i64 %add388 + %206 = load i8, i8* %arrayidx389, align 1 + %conv390 = sext i8 %206 to i32 + br label %NodeBlock267 + +NodeBlock267: ; preds = %for.body386 + %case.cmp268 = icmp eq i32 %conv390, 91 + br i1 %case.cmp268, label %force_outer_quoting_style, label %NodeBlock265 + +NodeBlock265: ; preds = %NodeBlock267 + %case.cmp266 = icmp eq i32 %conv390, 92 + br i1 %case.cmp266, label %force_outer_quoting_style, label %NodeBlock263 + +NodeBlock263: ; preds = %NodeBlock265 + %case.cmp264 = icmp eq i32 %conv390, 94 + br i1 %case.cmp264, label %force_outer_quoting_style, label %NodeBlock261 + +NodeBlock261: ; preds = %NodeBlock263 + %case.cmp262 = icmp eq i32 %conv390, 96 + br i1 %case.cmp262, label %force_outer_quoting_style, label %NodeBlock259 + +NodeBlock259: ; preds = %NodeBlock261 + %case.cmp260 = icmp eq i32 %conv390, 124 + br i1 %case.cmp260, label %force_outer_quoting_style, label %newDefault258 + +newDefault258: ; preds = %NodeBlock259 + br label %for.inc394 + +for.inc394: ; preds = %newDefault258 + %207 = load i64, i64* %j, align 8 + %inc395 = add i64 %207, 1 + store i64 %inc395, i64* %j, align 8 + br label %for.cond383 + +if.end397: ; preds = %for.cond383, %if.else376 + %208 = load i32, i32* %w, align 4 + %call398 = call i32 @iswprint(i32 %208) #11 + %tobool399 = icmp ne i32 %call398, 0 + br i1 %tobool399, label %if.end401, label %if.then400 + +if.then400: ; preds = %if.end397 + store i8 0, i8* %printable, align 1 + br label %if.end401 + +if.end401: ; preds = %if.then400, %if.end397 + %209 = load i64, i64* %bytes, align 8 + %210 = load i64, i64* %m, align 8 + %add402 = add i64 %210, %209 + store i64 %add402, i64* %m, align 8 + %call406 = call i32 bitcast (i32 (%struct.__mbstate_t.512*)* @mbsinit to i32 (%struct.__mbstate_t*)*)(%struct.__mbstate_t* %mbstate) #23 + %tobool407 = icmp ne i32 %call406, 0 + %lnot408 = xor i1 %tobool407, true + br i1 %lnot408, label %do.body352, label %if.end410 + +if.end410: ; preds = %if.then363, %if.end401, %do.body352, %while.cond, %land.rhs, %if.then337 + %211 = load i8, i8* %printable, align 1 + %tobool411 = trunc i8 %211 to i1 + %frombool412 = zext i1 %tobool411 to i8 + store i8 %frombool412, i8* %c_and_shell_quote_compat, align 1 + %212 = load i64, i64* %m, align 8 + %cmp413 = icmp ult i64 1, %212 + br i1 %cmp413, label %if.then419, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end410 + %213 = load i8, i8* %backslash_escapes, align 1 + %tobool415 = trunc i8 %213 to i1 + br i1 %tobool415, label %land.lhs.true417, label %sw.epilog564 + +land.lhs.true417: ; preds = %lor.lhs.false + %214 = load i8, i8* %printable, align 1 + %tobool418 = trunc i8 %214 to i1 + br i1 %tobool418, label %sw.epilog564, label %if.then419 + +if.then419: ; preds = %land.lhs.true417, %if.end410 + %215 = load i64, i64* %i, align 8 + %216 = load i64, i64* %m, align 8 + %add420 = add i64 %215, %216 + store i64 %add420, i64* %ilim, align 8 + br label %for.cond421 + +for.cond421: ; preds = %if.end556, %if.then419 + %217 = load i8, i8* %backslash_escapes, align 1 + %tobool422 = trunc i8 %217 to i1 + br i1 %tobool422, label %land.lhs.true424, label %if.else505 + +land.lhs.true424: ; preds = %for.cond421 + %218 = load i8, i8* %printable, align 1 + %tobool425 = trunc i8 %218 to i1 + br i1 %tobool425, label %if.else505, label %do.body427 + +do.body427: ; preds = %land.lhs.true424 + %219 = load i8, i8* %elide_outer_quotes, align 1 + %tobool428 = trunc i8 %219 to i1 + br i1 %tobool428, label %force_outer_quoting_style, label %if.end430 + +if.end430: ; preds = %do.body427 + store i8 1, i8* %escaping, align 1 + %220 = load i32, i32* %quoting_style.addr, align 4 + %cmp431 = icmp eq i32 %220, 2 + br i1 %cmp431, label %land.lhs.true433, label %do.body464 + +land.lhs.true433: ; preds = %if.end430 + %221 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool434 = trunc i8 %221 to i1 + br i1 %tobool434, label %do.body464, label %do.body436 + +do.body436: ; preds = %land.lhs.true433 + %222 = load i64, i64* %len, align 8 + %223 = load i64, i64* %buffersize.addr, align 8 + %cmp437 = icmp ult i64 %222, %223 + br i1 %cmp437, label %if.then439, label %if.end441 + +if.then439: ; preds = %do.body436 + %224 = load i8*, i8** %buffer.addr, align 8 + %225 = load i64, i64* %len, align 8 + %arrayidx440 = getelementptr inbounds i8, i8* %224, i64 %225 + store i8 39, i8* %arrayidx440, align 1 + br label %if.end441 + +if.end441: ; preds = %if.then439, %do.body436 + %226 = load i64, i64* %len, align 8 + %inc442 = add i64 %226, 1 + store i64 %inc442, i64* %len, align 8 + %227 = load i64, i64* %len, align 8 + %228 = load i64, i64* %buffersize.addr, align 8 + %cmp446 = icmp ult i64 %227, %228 + br i1 %cmp446, label %if.then448, label %if.end450 + +if.then448: ; preds = %if.end441 + %229 = load i8*, i8** %buffer.addr, align 8 + %230 = load i64, i64* %len, align 8 + %arrayidx449 = getelementptr inbounds i8, i8* %229, i64 %230 + store i8 36, i8* %arrayidx449, align 1 + br label %if.end450 + +if.end450: ; preds = %if.then448, %if.end441 + %231 = load i64, i64* %len, align 8 + %inc451 = add i64 %231, 1 + store i64 %inc451, i64* %len, align 8 + %232 = load i64, i64* %len, align 8 + %233 = load i64, i64* %buffersize.addr, align 8 + %cmp455 = icmp ult i64 %232, %233 + br i1 %cmp455, label %if.then457, label %if.end459 + +if.then457: ; preds = %if.end450 + %234 = load i8*, i8** %buffer.addr, align 8 + %235 = load i64, i64* %len, align 8 + %arrayidx458 = getelementptr inbounds i8, i8* %234, i64 %235 + store i8 39, i8* %arrayidx458, align 1 + br label %if.end459 + +if.end459: ; preds = %if.then457, %if.end450 + %236 = load i64, i64* %len, align 8 + %inc460 = add i64 %236, 1 + store i64 %inc460, i64* %len, align 8 + store i8 1, i8* %pending_shell_escape_end, align 1 + br label %do.body464 + +do.body464: ; preds = %if.end430, %land.lhs.true433, %if.end459 + %237 = load i64, i64* %len, align 8 + %238 = load i64, i64* %buffersize.addr, align 8 + %cmp465 = icmp ult i64 %237, %238 + br i1 %cmp465, label %if.then467, label %if.end469 + +if.then467: ; preds = %do.body464 + %239 = load i8*, i8** %buffer.addr, align 8 + %240 = load i64, i64* %len, align 8 + %arrayidx468 = getelementptr inbounds i8, i8* %239, i64 %240 + store i8 92, i8* %arrayidx468, align 1 + br label %if.end469 + +if.end469: ; preds = %if.then467, %do.body464 + %241 = load i64, i64* %len, align 8 + %inc470 = add i64 %241, 1 + store i64 %inc470, i64* %len, align 8 + %242 = load i64, i64* %len, align 8 + %243 = load i64, i64* %buffersize.addr, align 8 + %cmp476 = icmp ult i64 %242, %243 + br i1 %cmp476, label %if.then478, label %if.end483 + +if.then478: ; preds = %if.end469 + %244 = load i8, i8* %c, align 1 + %conv479 = zext i8 %244 to i32 + %shr = ashr i32 %conv479, 6 + %add480 = add nsw i32 48, %shr + %conv481 = trunc i32 %add480 to i8 + %245 = load i8*, i8** %buffer.addr, align 8 + %246 = load i64, i64* %len, align 8 + %arrayidx482 = getelementptr inbounds i8, i8* %245, i64 %246 + store i8 %conv481, i8* %arrayidx482, align 1 + br label %if.end483 + +if.end483: ; preds = %if.then478, %if.end469 + %247 = load i64, i64* %len, align 8 + %inc484 = add i64 %247, 1 + store i64 %inc484, i64* %len, align 8 + %248 = load i64, i64* %len, align 8 + %249 = load i64, i64* %buffersize.addr, align 8 + %cmp488 = icmp ult i64 %248, %249 + br i1 %cmp488, label %if.then490, label %if.end497 + +if.then490: ; preds = %if.end483 + %250 = load i8, i8* %c, align 1 + %conv491 = zext i8 %250 to i32 + %shr492 = ashr i32 %conv491, 3 + %and493 = and i32 %shr492, 7 + %add494 = add nsw i32 48, %and493 + %conv495 = trunc i32 %add494 to i8 + %251 = load i8*, i8** %buffer.addr, align 8 + %252 = load i64, i64* %len, align 8 + %arrayidx496 = getelementptr inbounds i8, i8* %251, i64 %252 + store i8 %conv495, i8* %arrayidx496, align 1 + br label %if.end497 + +if.end497: ; preds = %if.then490, %if.end483 + %253 = load i64, i64* %len, align 8 + %inc498 = add i64 %253, 1 + store i64 %inc498, i64* %len, align 8 + %254 = load i8, i8* %c, align 1 + %conv501 = zext i8 %254 to i32 + %and502 = and i32 %conv501, 7 + %add503 = add nsw i32 48, %and502 + %conv504 = trunc i32 %add503 to i8 + store i8 %conv504, i8* %c, align 1 + br label %if.end518 + +if.else505: ; preds = %land.lhs.true424, %for.cond421 + %255 = load i8, i8* %is_right_quote, align 1 + %tobool506 = trunc i8 %255 to i1 + br i1 %tobool506, label %do.body508, label %if.end518 + +do.body508: ; preds = %if.else505 + %256 = load i64, i64* %len, align 8 + %257 = load i64, i64* %buffersize.addr, align 8 + %cmp509 = icmp ult i64 %256, %257 + br i1 %cmp509, label %if.then511, label %if.end513 + +if.then511: ; preds = %do.body508 + %258 = load i8*, i8** %buffer.addr, align 8 + %259 = load i64, i64* %len, align 8 + %arrayidx512 = getelementptr inbounds i8, i8* %258, i64 %259 + store i8 92, i8* %arrayidx512, align 1 + br label %if.end513 + +if.end513: ; preds = %if.then511, %do.body508 + %260 = load i64, i64* %len, align 8 + %inc514 = add i64 %260, 1 + store i64 %inc514, i64* %len, align 8 + store i8 0, i8* %is_right_quote, align 1 + br label %if.end518 + +if.end518: ; preds = %if.else505, %if.end513, %if.end497 + %261 = load i64, i64* %ilim, align 8 + %262 = load i64, i64* %i, align 8 + %add519 = add i64 %262, 1 + %cmp520 = icmp ule i64 %261, %add519 + br i1 %cmp520, label %do.body634, label %do.body524 + +do.body524: ; preds = %if.end518 + %263 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool525 = trunc i8 %263 to i1 + br i1 %tobool525, label %land.lhs.true527, label %do.body551 + +land.lhs.true527: ; preds = %do.body524 + %264 = load i8, i8* %escaping, align 1 + %tobool528 = trunc i8 %264 to i1 + br i1 %tobool528, label %do.body551, label %do.body530 + +do.body530: ; preds = %land.lhs.true527 + %265 = load i64, i64* %len, align 8 + %266 = load i64, i64* %buffersize.addr, align 8 + %cmp531 = icmp ult i64 %265, %266 + br i1 %cmp531, label %if.then533, label %if.end535 + +if.then533: ; preds = %do.body530 + %267 = load i8*, i8** %buffer.addr, align 8 + %268 = load i64, i64* %len, align 8 + %arrayidx534 = getelementptr inbounds i8, i8* %267, i64 %268 + store i8 39, i8* %arrayidx534, align 1 + br label %if.end535 + +if.end535: ; preds = %if.then533, %do.body530 + %269 = load i64, i64* %len, align 8 + %inc536 = add i64 %269, 1 + store i64 %inc536, i64* %len, align 8 + %270 = load i64, i64* %len, align 8 + %271 = load i64, i64* %buffersize.addr, align 8 + %cmp540 = icmp ult i64 %270, %271 + br i1 %cmp540, label %if.then542, label %if.end544 + +if.then542: ; preds = %if.end535 + %272 = load i8*, i8** %buffer.addr, align 8 + %273 = load i64, i64* %len, align 8 + %arrayidx543 = getelementptr inbounds i8, i8* %272, i64 %273 + store i8 39, i8* %arrayidx543, align 1 + br label %if.end544 + +if.end544: ; preds = %if.then542, %if.end535 + %274 = load i64, i64* %len, align 8 + %inc545 = add i64 %274, 1 + store i64 %inc545, i64* %len, align 8 + store i8 0, i8* %pending_shell_escape_end, align 1 + br label %do.body551 + +do.body551: ; preds = %if.end544, %land.lhs.true527, %do.body524 + %275 = load i64, i64* %len, align 8 + %276 = load i64, i64* %buffersize.addr, align 8 + %cmp552 = icmp ult i64 %275, %276 + br i1 %cmp552, label %if.then554, label %if.end556 + +if.then554: ; preds = %do.body551 + %277 = load i8, i8* %c, align 1 + %278 = load i8*, i8** %buffer.addr, align 8 + %279 = load i64, i64* %len, align 8 + %arrayidx555 = getelementptr inbounds i8, i8* %278, i64 %279 + store i8 %277, i8* %arrayidx555, align 1 + br label %if.end556 + +if.end556: ; preds = %if.then554, %do.body551 + %280 = load i64, i64* %len, align 8 + %inc557 = add i64 %280, 1 + store i64 %inc557, i64* %len, align 8 + %281 = load i8*, i8** %arg.addr, align 8 + %282 = load i64, i64* %i, align 8 + %inc560 = add i64 %282, 1 + store i64 %inc560, i64* %i, align 8 + %arrayidx561 = getelementptr inbounds i8, i8* %281, i64 %inc560 + %283 = load i8, i8* %arrayidx561, align 1 + store i8 %283, i8* %c, align 1 + br label %for.cond421 + +newDefault234: ; preds = %NodeBlock235 + br label %sw.epilog564 + +newDefault239: ; preds = %NodeBlock240 + br label %sw.epilog564 + +sw.epilog564: ; preds = %newDefault239, %newDefault234, %lor.lhs.false, %land.lhs.true417, %sw.bb297, %if.end330, %sw.bb289, %land.lhs.true292, %sw.bb283, %cond.true273, %cond.false278, %c_escape, %sw.bb171, %if.end228, %land.lhs.true182, %land.lhs.true178, %sw.bb175, %if.end164, %if.else, %sw.bb334 + %284 = load i8, i8* %backslash_escapes, align 1 + %tobool565 = trunc i8 %284 to i1 + %285 = load i32, i32* %quoting_style.addr, align 4 + %cmp568 = icmp ne i32 %285, 2 + %or.cond6 = and i1 %tobool565, %cmp568 + br i1 %or.cond6, label %land.lhs.true573, label %lor.lhs.false570 + +lor.lhs.false570: ; preds = %sw.epilog564 + %286 = load i8, i8* %elide_outer_quotes, align 1 + %tobool571 = trunc i8 %286 to i1 + br i1 %tobool571, label %land.lhs.true573, label %land.lhs.true582 + +land.lhs.true573: ; preds = %sw.epilog564, %lor.lhs.false570 + %287 = load i32*, i32** %quote_these_too.addr, align 8 + %tobool574 = icmp ne i32* %287, null + br i1 %tobool574, label %land.lhs.true575, label %land.lhs.true582 + +land.lhs.true575: ; preds = %land.lhs.true573 + %288 = load i32*, i32** %quote_these_too.addr, align 8 + %289 = load i8, i8* %c, align 1 + %conv576 = zext i8 %289 to i64 + %div = udiv i64 %conv576, 32 + %arrayidx577 = getelementptr inbounds i32, i32* %288, i64 %div + %290 = load i32, i32* %arrayidx577, align 4 + %291 = load i8, i8* %c, align 1 + %conv578 = zext i8 %291 to i64 + %rem = urem i64 %conv578, 32 + %sh_prom = trunc i64 %rem to i32 + %shr579 = lshr i32 %290, %sh_prom + %and580 = and i32 %shr579, 1 + %tobool581 = icmp ne i32 %and580, 0 + br i1 %tobool581, label %do.body586, label %land.lhs.true582 + +land.lhs.true582: ; preds = %land.lhs.true575, %land.lhs.true573, %lor.lhs.false570 + %292 = load i8, i8* %is_right_quote, align 1 + %tobool583 = trunc i8 %292 to i1 + br i1 %tobool583, label %do.body586, label %do.body634 + +do.body586: ; preds = %if.then268, %land.lhs.true582, %land.lhs.true575 + %293 = load i8, i8* %elide_outer_quotes, align 1 + %tobool587 = trunc i8 %293 to i1 + br i1 %tobool587, label %force_outer_quoting_style, label %if.end589 + +if.end589: ; preds = %do.body586 + store i8 1, i8* %escaping, align 1 + %294 = load i32, i32* %quoting_style.addr, align 4 + %cmp590 = icmp eq i32 %294, 2 + br i1 %cmp590, label %land.lhs.true592, label %do.body623 + +land.lhs.true592: ; preds = %if.end589 + %295 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool593 = trunc i8 %295 to i1 + br i1 %tobool593, label %do.body623, label %do.body595 + +do.body595: ; preds = %land.lhs.true592 + %296 = load i64, i64* %len, align 8 + %297 = load i64, i64* %buffersize.addr, align 8 + %cmp596 = icmp ult i64 %296, %297 + br i1 %cmp596, label %if.then598, label %if.end600 + +if.then598: ; preds = %do.body595 + %298 = load i8*, i8** %buffer.addr, align 8 + %299 = load i64, i64* %len, align 8 + %arrayidx599 = getelementptr inbounds i8, i8* %298, i64 %299 + store i8 39, i8* %arrayidx599, align 1 + br label %if.end600 + +if.end600: ; preds = %if.then598, %do.body595 + %300 = load i64, i64* %len, align 8 + %inc601 = add i64 %300, 1 + store i64 %inc601, i64* %len, align 8 + %301 = load i64, i64* %len, align 8 + %302 = load i64, i64* %buffersize.addr, align 8 + %cmp605 = icmp ult i64 %301, %302 + br i1 %cmp605, label %if.then607, label %if.end609 + +if.then607: ; preds = %if.end600 + %303 = load i8*, i8** %buffer.addr, align 8 + %304 = load i64, i64* %len, align 8 + %arrayidx608 = getelementptr inbounds i8, i8* %303, i64 %304 + store i8 36, i8* %arrayidx608, align 1 + br label %if.end609 + +if.end609: ; preds = %if.then607, %if.end600 + %305 = load i64, i64* %len, align 8 + %inc610 = add i64 %305, 1 + store i64 %inc610, i64* %len, align 8 + %306 = load i64, i64* %len, align 8 + %307 = load i64, i64* %buffersize.addr, align 8 + %cmp614 = icmp ult i64 %306, %307 + br i1 %cmp614, label %if.then616, label %if.end618 + +if.then616: ; preds = %if.end609 + %308 = load i8*, i8** %buffer.addr, align 8 + %309 = load i64, i64* %len, align 8 + %arrayidx617 = getelementptr inbounds i8, i8* %308, i64 %309 + store i8 39, i8* %arrayidx617, align 1 + br label %if.end618 + +if.end618: ; preds = %if.then616, %if.end609 + %310 = load i64, i64* %len, align 8 + %inc619 = add i64 %310, 1 + store i64 %inc619, i64* %len, align 8 + store i8 1, i8* %pending_shell_escape_end, align 1 + br label %do.body623 + +do.body623: ; preds = %if.end589, %land.lhs.true592, %if.end618 + %311 = load i64, i64* %len, align 8 + %312 = load i64, i64* %buffersize.addr, align 8 + %cmp624 = icmp ult i64 %311, %312 + br i1 %cmp624, label %if.then626, label %if.end628 + +if.then626: ; preds = %do.body623 + %313 = load i8*, i8** %buffer.addr, align 8 + %314 = load i64, i64* %len, align 8 + %arrayidx627 = getelementptr inbounds i8, i8* %313, i64 %314 + store i8 92, i8* %arrayidx627, align 1 + br label %if.end628 + +if.end628: ; preds = %if.then626, %do.body623 + %315 = load i64, i64* %len, align 8 + %inc629 = add i64 %315, 1 + store i64 %inc629, i64* %len, align 8 + br label %do.body634 + +do.body634: ; preds = %if.end628, %if.then246, %land.lhs.true253, %if.end518, %land.lhs.true582 + %316 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool635 = trunc i8 %316 to i1 + br i1 %tobool635, label %land.lhs.true637, label %do.body661 + +land.lhs.true637: ; preds = %do.body634 + %317 = load i8, i8* %escaping, align 1 + %tobool638 = trunc i8 %317 to i1 + br i1 %tobool638, label %do.body661, label %do.body640 + +do.body640: ; preds = %land.lhs.true637 + %318 = load i64, i64* %len, align 8 + %319 = load i64, i64* %buffersize.addr, align 8 + %cmp641 = icmp ult i64 %318, %319 + br i1 %cmp641, label %if.then643, label %if.end645 + +if.then643: ; preds = %do.body640 + %320 = load i8*, i8** %buffer.addr, align 8 + %321 = load i64, i64* %len, align 8 + %arrayidx644 = getelementptr inbounds i8, i8* %320, i64 %321 + store i8 39, i8* %arrayidx644, align 1 + br label %if.end645 + +if.end645: ; preds = %if.then643, %do.body640 + %322 = load i64, i64* %len, align 8 + %inc646 = add i64 %322, 1 + store i64 %inc646, i64* %len, align 8 + %323 = load i64, i64* %len, align 8 + %324 = load i64, i64* %buffersize.addr, align 8 + %cmp650 = icmp ult i64 %323, %324 + br i1 %cmp650, label %if.then652, label %if.end654 + +if.then652: ; preds = %if.end645 + %325 = load i8*, i8** %buffer.addr, align 8 + %326 = load i64, i64* %len, align 8 + %arrayidx653 = getelementptr inbounds i8, i8* %325, i64 %326 + store i8 39, i8* %arrayidx653, align 1 + br label %if.end654 + +if.end654: ; preds = %if.then652, %if.end645 + %327 = load i64, i64* %len, align 8 + %inc655 = add i64 %327, 1 + store i64 %inc655, i64* %len, align 8 + store i8 0, i8* %pending_shell_escape_end, align 1 + br label %do.body661 + +do.body661: ; preds = %if.end654, %land.lhs.true637, %do.body634 + %328 = load i64, i64* %len, align 8 + %329 = load i64, i64* %buffersize.addr, align 8 + %cmp662 = icmp ult i64 %328, %329 + br i1 %cmp662, label %if.then664, label %if.end666 + +if.then664: ; preds = %do.body661 + %330 = load i8, i8* %c, align 1 + %331 = load i8*, i8** %buffer.addr, align 8 + %332 = load i64, i64* %len, align 8 + %arrayidx665 = getelementptr inbounds i8, i8* %331, i64 %332 + store i8 %330, i8* %arrayidx665, align 1 + br label %if.end666 + +if.end666: ; preds = %if.then664, %do.body661 + %333 = load i64, i64* %len, align 8 + %inc667 = add i64 %333, 1 + store i64 %inc667, i64* %len, align 8 + %334 = load i8, i8* %c_and_shell_quote_compat, align 1 + %tobool670 = trunc i8 %334 to i1 + br i1 %tobool670, label %for.inc673, label %if.then671 + +if.then671: ; preds = %if.end666 + store i8 0, i8* %all_c_and_shell_quote_compat, align 1 + br label %for.inc673 + +for.inc673: ; preds = %if.end666, %if.then671, %if.else + %335 = load i64, i64* %i, align 8 + %inc674 = add i64 %335, 1 + store i64 %inc674, i64* %i, align 8 + br label %for.cond44 + +for.end675: ; preds = %cond.end + %336 = load i64, i64* %len, align 8 + %cmp676 = icmp eq i64 %336, 0 + %337 = load i32, i32* %quoting_style.addr, align 4 + %cmp679 = icmp eq i32 %337, 2 + %or.cond7 = and i1 %cmp676, %cmp679 + br i1 %or.cond7, label %land.lhs.true681, label %if.end685 + +land.lhs.true681: ; preds = %for.end675 + %338 = load i8, i8* %elide_outer_quotes, align 1 + %tobool682 = trunc i8 %338 to i1 + br i1 %tobool682, label %force_outer_quoting_style, label %if.end685 + +if.end685: ; preds = %land.lhs.true681, %for.end675 + %339 = load i32, i32* %quoting_style.addr, align 4 + %cmp686 = icmp eq i32 %339, 2 + br i1 %cmp686, label %land.lhs.true688, label %if.end704 + +land.lhs.true688: ; preds = %if.end685 + %340 = load i8, i8* %elide_outer_quotes, align 1 + %tobool689 = trunc i8 %340 to i1 + br i1 %tobool689, label %if.end704, label %land.lhs.true690 + +land.lhs.true690: ; preds = %land.lhs.true688 + %341 = load i8, i8* %encountered_single_quote, align 1 + %tobool691 = trunc i8 %341 to i1 + br i1 %tobool691, label %if.then693, label %if.end704 + +if.then693: ; preds = %land.lhs.true690 + %342 = load i8, i8* %all_c_and_shell_quote_compat, align 1 + %tobool694 = trunc i8 %342 to i1 + br i1 %tobool694, label %if.then695, label %if.else697 + +if.then695: ; preds = %if.then693 + %343 = load i8*, i8** %buffer.addr, align 8 + %344 = load i64, i64* %orig_buffersize, align 8 + %345 = load i8*, i8** %arg.addr, align 8 + %346 = load i64, i64* %argsize.addr, align 8 + %347 = load i32, i32* %flags.addr, align 4 + %348 = load i32*, i32** %quote_these_too.addr, align 8 + %349 = load i8*, i8** %left_quote.addr, align 8 + %350 = load i8*, i8** %right_quote.addr, align 8 + %call696 = call i64 @quotearg_buffer_restyled(i8* %343, i64 %344, i8* %345, i64 %346, i32 5, i32 %347, i32* %348, i8* %349, i8* %350) + store i64 %call696, i64* %retval, align 8 + br label %return + +if.else697: ; preds = %if.then693 + %351 = load i64, i64* %buffersize.addr, align 8 + %tobool698 = icmp eq i64 %351, 0 + %352 = load i64, i64* %orig_buffersize, align 8 + %tobool700 = icmp ne i64 %352, 0 + %or.cond8 = and i1 %tobool698, %tobool700 + br i1 %or.cond8, label %if.then701, label %if.end704 + +if.then701: ; preds = %if.else697 + %353 = load i64, i64* %orig_buffersize, align 8 + store i64 %353, i64* %buffersize.addr, align 8 + store i64 0, i64* %len, align 8 + br label %process_input + +if.end704: ; preds = %if.else697, %land.lhs.true690, %land.lhs.true688, %if.end685 + %354 = load i8*, i8** %quote_string, align 8 + %tobool705 = icmp ne i8* %354, null + br i1 %tobool705, label %land.lhs.true706, label %if.end724 + +land.lhs.true706: ; preds = %if.end704 + %355 = load i8, i8* %elide_outer_quotes, align 1 + %tobool707 = trunc i8 %355 to i1 + br i1 %tobool707, label %if.end724, label %for.cond709 + +for.cond709: ; preds = %land.lhs.true706, %if.end717 + %356 = load i8*, i8** %quote_string, align 8 + %357 = load i8, i8* %356, align 1 + %tobool710 = icmp ne i8 %357, 0 + br i1 %tobool710, label %do.body712, label %if.end724 + +do.body712: ; preds = %for.cond709 + %358 = load i64, i64* %len, align 8 + %359 = load i64, i64* %buffersize.addr, align 8 + %cmp713 = icmp ult i64 %358, %359 + br i1 %cmp713, label %if.then715, label %if.end717 + +if.then715: ; preds = %do.body712 + %360 = load i8*, i8** %quote_string, align 8 + %361 = load i8, i8* %360, align 1 + %362 = load i8*, i8** %buffer.addr, align 8 + %363 = load i64, i64* %len, align 8 + %arrayidx716 = getelementptr inbounds i8, i8* %362, i64 %363 + store i8 %361, i8* %arrayidx716, align 1 + br label %if.end717 + +if.end717: ; preds = %if.then715, %do.body712 + %364 = load i64, i64* %len, align 8 + %inc718 = add i64 %364, 1 + store i64 %inc718, i64* %len, align 8 + %365 = load i8*, i8** %quote_string, align 8 + %incdec.ptr722 = getelementptr inbounds i8, i8* %365, i32 1 + store i8* %incdec.ptr722, i8** %quote_string, align 8 + br label %for.cond709 + +if.end724: ; preds = %for.cond709, %land.lhs.true706, %if.end704 + %366 = load i64, i64* %len, align 8 + %367 = load i64, i64* %buffersize.addr, align 8 + %cmp725 = icmp ult i64 %366, %367 + br i1 %cmp725, label %if.then727, label %if.end729 + +if.then727: ; preds = %if.end724 + %368 = load i8*, i8** %buffer.addr, align 8 + %369 = load i64, i64* %len, align 8 + %arrayidx728 = getelementptr inbounds i8, i8* %368, i64 %369 + store i8 0, i8* %arrayidx728, align 1 + br label %if.end729 + +if.end729: ; preds = %if.then727, %if.end724 + %370 = load i64, i64* %len, align 8 + store i64 %370, i64* %retval, align 8 + br label %return + +force_outer_quoting_style: ; preds = %NodeBlock267, %NodeBlock265, %NodeBlock263, %NodeBlock261, %NodeBlock259, %land.lhs.true681, %do.body586, %do.body427, %if.then300, %land.lhs.true292, %land.lhs.true262, %if.then246, %sw.bb192, %sw.bb171, %do.body86, %if.then76 + %371 = load i32, i32* %quoting_style.addr, align 4 + %cmp730 = icmp eq i32 %371, 2 + br i1 %cmp730, label %land.lhs.true732, label %if.end736 + +land.lhs.true732: ; preds = %force_outer_quoting_style + %372 = load i8, i8* %backslash_escapes, align 1 + %tobool733 = trunc i8 %372 to i1 + br i1 %tobool733, label %if.then735, label %if.end736 + +if.then735: ; preds = %land.lhs.true732 + store i32 4, i32* %quoting_style.addr, align 4 + br label %if.end736 + +if.end736: ; preds = %if.then735, %land.lhs.true732, %force_outer_quoting_style + %373 = load i8*, i8** %buffer.addr, align 8 + %374 = load i64, i64* %buffersize.addr, align 8 + %375 = load i8*, i8** %arg.addr, align 8 + %376 = load i64, i64* %argsize.addr, align 8 + %377 = load i32, i32* %quoting_style.addr, align 4 + %378 = load i32, i32* %flags.addr, align 4 + %and737 = and i32 %378, -3 + %379 = load i8*, i8** %left_quote.addr, align 8 + %380 = load i8*, i8** %right_quote.addr, align 8 + %call738 = call i64 @quotearg_buffer_restyled(i8* %373, i64 %374, i8* %375, i64 %376, i32 %377, i32 %and737, i32* null, i8* %379, i8* %380) + store i64 %call738, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end736, %if.end729, %if.then695 + %381 = load i64, i64* %retval, align 8 + ret i64 %381 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xcharalloc(i64 %n) #3 { +entry: + %n.addr = alloca i64, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @xmalloc(i64 %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xmalloc(i64 %n) #3 { +entry: + %n.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @malloc(i64 %0) #11 + store i8* %call, i8** %p, align 8 + %1 = load i8*, i8** %p, align 8 + %tobool = icmp eq i8* %1, null + %2 = load i64, i64* %n.addr, align 8 + %cmp = icmp ne i64 %2, 0 + %or.cond = and i1 %tobool, %cmp + br i1 %or.cond, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %entry + %3 = load i8*, i8** %p, align 8 + ret i8* %3 +} + +; Function Attrs: nounwind +declare dso_local i64 @__ctype_get_mb_cur_max() #4 + +; Function Attrs: noinline nounwind uwtable +define internal i8* @gettext_quote(i8* %msgid, i32 %s) #3 { +entry: + %retval = alloca i8*, align 8 + %msgid.addr = alloca i8*, align 8 + %s.addr = alloca i32, align 4 + %translation = alloca i8*, align 8 + %locale_code = alloca i8*, align 8 + store i8* %msgid, i8** %msgid.addr, align 8 + store i32 %s, i32* %s.addr, align 4 + %0 = load i8*, i8** %msgid.addr, align 8 + store i8* %0, i8** %translation, align 8 + %1 = load i8*, i8** %translation, align 8 + %2 = load i8*, i8** %msgid.addr, align 8 + %cmp = icmp ne i8* %1, %2 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %3 = load i8*, i8** %translation, align 8 + store i8* %3, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %call = call i8* @locale_charset() + store i8* %call, i8** %locale_code, align 8 + %4 = load i8*, i8** %locale_code, align 8 + %call1 = call i32 @c_strcasecmp(i8* %4, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.13.65, i64 0, i64 0)) #23 + %cmp2 = icmp eq i32 %call1, 0 + br i1 %cmp2, label %if.then3, label %if.end6 + +if.then3: ; preds = %if.end + %5 = load i8*, i8** %msgid.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 0 + %6 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %6 to i32 + %cmp4 = icmp eq i32 %conv, 96 + %7 = zext i1 %cmp4 to i64 + %cond = select i1 %cmp4, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.14.66, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.15.67, i64 0, i64 0) + store i8* %cond, i8** %retval, align 8 + br label %return + +if.end6: ; preds = %if.end + %8 = load i8*, i8** %locale_code, align 8 + %call7 = call i32 @c_strcasecmp(i8* %8, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.16.68, i64 0, i64 0)) #23 + %cmp8 = icmp eq i32 %call7, 0 + br i1 %cmp8, label %if.then10, label %if.end16 + +if.then10: ; preds = %if.end6 + %9 = load i8*, i8** %msgid.addr, align 8 + %arrayidx11 = getelementptr inbounds i8, i8* %9, i64 0 + %10 = load i8, i8* %arrayidx11, align 1 + %conv12 = sext i8 %10 to i32 + %cmp13 = icmp eq i32 %conv12, 96 + %11 = zext i1 %cmp13 to i64 + %cond15 = select i1 %cmp13, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.17.69, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.18.70, i64 0, i64 0) + store i8* %cond15, i8** %retval, align 8 + br label %return + +if.end16: ; preds = %if.end6 + %12 = load i32, i32* %s.addr, align 4 + %cmp17 = icmp eq i32 %12, 9 + %13 = zext i1 %cmp17 to i64 + %cond19 = select i1 %cmp17, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10.62, i64 0, i64 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.64, i64 0, i64 0) + store i8* %cond19, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end16, %if.then10, %if.then3, %if.then + %14 = load i8*, i8** %retval, align 8 + ret i8* %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @rpl_mbrtowc(i32* %pwc, i8* %s, i64 %n, %struct.__mbstate_t* %ps) #3 { +entry: + %retval = alloca i64, align 8 + %pwc.addr = alloca i32*, align 8 + %s.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t*, align 8 + %ret = alloca i64, align 8 + %wc = alloca i32, align 4 + %uc = alloca i8, align 1 + store i32* %pwc, i32** %pwc.addr, align 8 + store i8* %s, i8** %s.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__mbstate_t* %ps, %struct.__mbstate_t** %ps.addr, align 8 + %0 = load i32*, i32** %pwc.addr, align 8 + %tobool = icmp ne i32* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i32* %wc, i32** %pwc.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i32*, i32** %pwc.addr, align 8 + %2 = load i8*, i8** %s.addr, align 8 + %3 = load i64, i64* %n.addr, align 8 + %4 = load %struct.__mbstate_t*, %struct.__mbstate_t** %ps.addr, align 8 + %call = call i64 bitcast (i64 (i32*, i8*, i64, %struct.__mbstate_t.512*)* @mbrtowc to i64 (i32*, i8*, i64, %struct.__mbstate_t*)*)(i32* %1, i8* %2, i64 %3, %struct.__mbstate_t* %4) #11 + store i64 %call, i64* %ret, align 8 + %5 = load i64, i64* %ret, align 8 + %cmp = icmp ule i64 -2, %5 + %6 = load i64, i64* %n.addr, align 8 + %cmp1 = icmp ne i64 %6, 0 + %or.cond = and i1 %cmp, %cmp1 + br i1 %or.cond, label %land.lhs.true2, label %if.end5 + +land.lhs.true2: ; preds = %if.end + %call3 = call zeroext i1 @hard_locale(i32 0) + br i1 %call3, label %if.end5, label %if.then4 + +if.then4: ; preds = %land.lhs.true2 + %7 = load i8*, i8** %s.addr, align 8 + %8 = load i8, i8* %7, align 1 + store i8 %8, i8* %uc, align 1 + %9 = load i8, i8* %uc, align 1 + %conv = zext i8 %9 to i32 + %10 = load i32*, i32** %pwc.addr, align 8 + store i32 %conv, i32* %10, align 4 + store i64 1, i64* %retval, align 8 + br label %return + +if.end5: ; preds = %land.lhs.true2, %if.end + %11 = load i64, i64* %ret, align 8 + store i64 %11, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end5, %if.then4 + %12 = load i64, i64* %retval, align 8 + ret i64 %12 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @hard_locale(i32 %category) #3 { +entry: + %retval = alloca i1, align 1 + %category.addr = alloca i32, align 4 + %locale = alloca [257 x i8], align 16 + store i32 %category, i32* %category.addr, align 4 + %0 = load i32, i32* %category.addr, align 4 + %arraydecay = getelementptr inbounds [257 x i8], [257 x i8]* %locale, i64 0, i64 0 + %call = call i32 @setlocale_null_r(i32 %0, i8* %arraydecay, i64 257) + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +if.end: ; preds = %entry + %arraydecay1 = getelementptr inbounds [257 x i8], [257 x i8]* %locale, i64 0, i64 0 + %call2 = call i32 @strcmp(i8* %arraydecay1, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.118, i64 0, i64 0)) #23 + %cmp = icmp eq i32 %call2, 0 + br i1 %cmp, label %lor.end, label %lor.rhs + +lor.rhs: ; preds = %if.end + %arraydecay3 = getelementptr inbounds [257 x i8], [257 x i8]* %locale, i64 0, i64 0 + %call4 = call i32 @strcmp(i8* %arraydecay3, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1.119, i64 0, i64 0)) #23 + %cmp5 = icmp eq i32 %call4, 0 + br label %lor.end + +lor.end: ; preds = %lor.rhs, %if.end + %1 = phi i1 [ true, %if.end ], [ %cmp5, %lor.rhs ] + %lnot = xor i1 %1, true + store i1 %lnot, i1* %retval, align 1 + br label %return + +return: ; preds = %lor.end, %if.then + %2 = load i1, i1* %retval, align 1 + ret i1 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @setlocale_null_r(i32 %category, i8* nonnull %buf, i64 %bufsize) #3 { +entry: + %category.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + store i32 %category, i32* %category.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i32, i32* %category.addr, align 4 + %1 = load i8*, i8** %buf.addr, align 8 + %2 = load i64, i64* %bufsize.addr, align 8 + %call = call i32 @setlocale_null_unlocked(i32 %0, i8* %1, i64 %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @setlocale_null_unlocked(i32 %category, i8* %buf, i64 %bufsize) #3 { +entry: + %retval = alloca i32, align 4 + %category.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %result = alloca i8*, align 8 + %length = alloca i64, align 8 + store i32 %category, i32* %category.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i32, i32* %category.addr, align 4 + %call = call i8* @setlocale_null_androidfix(i32 %0) + store i8* %call, i8** %result, align 8 + %1 = load i8*, i8** %result, align 8 + %cmp = icmp eq i8* %1, null + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %2 = load i64, i64* %bufsize.addr, align 8 + %cmp1 = icmp ugt i64 %2, 0 + br i1 %cmp1, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + %3 = load i8*, i8** %buf.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %3, i64 0 + store i8 0, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + store i32 22, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %4 = load i8*, i8** %result, align 8 + %call3 = call i64 @strlen(i8* %4) #23 + store i64 %call3, i64* %length, align 8 + %5 = load i64, i64* %length, align 8 + %6 = load i64, i64* %bufsize.addr, align 8 + %cmp4 = icmp ult i64 %5, %6 + br i1 %cmp4, label %if.then5, label %if.else6 + +if.then5: ; preds = %if.else + %7 = load i8*, i8** %buf.addr, align 8 + %8 = load i8*, i8** %result, align 8 + %9 = load i64, i64* %length, align 8 + %add = add i64 %9, 1 + %10 = call i8* @memcpy(i8* %7, i8* %8, i64 %add) + store i32 0, i32* %retval, align 4 + br label %return + +if.else6: ; preds = %if.else + %11 = load i64, i64* %bufsize.addr, align 8 + %cmp7 = icmp ugt i64 %11, 0 + br i1 %cmp7, label %if.then8, label %if.end11 + +if.then8: ; preds = %if.else6 + %12 = load i8*, i8** %buf.addr, align 8 + %13 = load i8*, i8** %result, align 8 + %14 = load i64, i64* %bufsize.addr, align 8 + %sub = sub i64 %14, 1 + %15 = call i8* @memcpy(i8* %12, i8* %13, i64 %sub) + %16 = load i8*, i8** %buf.addr, align 8 + %17 = load i64, i64* %bufsize.addr, align 8 + %sub9 = sub i64 %17, 1 + %arrayidx10 = getelementptr inbounds i8, i8* %16, i64 %sub9 + store i8 0, i8* %arrayidx10, align 1 + br label %if.end11 + +if.end11: ; preds = %if.then8, %if.else6 + store i32 34, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end11, %if.then5, %if.end + %18 = load i32, i32* %retval, align 4 + ret i32 %18 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @setlocale_null_androidfix(i32 %category) #3 { +entry: + %category.addr = alloca i32, align 4 + %result = alloca i8*, align 8 + store i32 %category, i32* %category.addr, align 4 + %0 = load i32, i32* %category.addr, align 4 + %call = call i8* @setlocale(i32 %0, i8* null) #11 + store i8* %call, i8** %result, align 8 + %1 = load i8*, i8** %result, align 8 + ret i8* %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @locale_charset() #3 { +entry: + %codeset = alloca i8*, align 8 + %call = call i8* @nl_langinfo(i32 14) #11 + store i8* %call, i8** %codeset, align 8 + %0 = load i8*, i8** %codeset, align 8 + %cmp = icmp eq i8* %0, null + %spec.store.select = select i1 %cmp, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.122, i64 0, i64 0), i8* %call + store i8* %spec.store.select, i8** %codeset, align 8 + %1 = load i8*, i8** %codeset, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %2 to i32 + %cmp1 = icmp eq i32 %conv, 0 + %spec.store.select1 = select i1 %cmp1, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1.123, i64 0, i64 0), i8* %spec.store.select + store i8* %spec.store.select1, i8** %codeset, align 8 + %3 = load i8*, i8** %codeset, align 8 + ret i8* %3 +} + +; Function Attrs: noinline nounwind readonly uwtable +define dso_local i32 @c_strcasecmp(i8* %s1, i8* %s2) #15 { +entry: + %retval = alloca i32, align 4 + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %p1 = alloca i8*, align 8 + %p2 = alloca i8*, align 8 + %c1 = alloca i8, align 1 + %c2 = alloca i8, align 1 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %p1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %p2, align 8 + %2 = load i8*, i8** %p1, align 8 + %3 = load i8*, i8** %p2, align 8 + %cmp = icmp eq i8* %2, %3 + br i1 %cmp, label %if.then, label %do.body + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +do.body: ; preds = %entry, %if.end9 + %4 = load i8*, i8** %p1, align 8 + %5 = load i8, i8* %4, align 1 + %conv = zext i8 %5 to i32 + %call = call i32 @c_tolower(i32 %conv) + %conv1 = trunc i32 %call to i8 + store i8 %conv1, i8* %c1, align 1 + %6 = load i8*, i8** %p2, align 8 + %7 = load i8, i8* %6, align 1 + %conv2 = zext i8 %7 to i32 + %call3 = call i32 @c_tolower(i32 %conv2) + %conv4 = trunc i32 %call3 to i8 + store i8 %conv4, i8* %c2, align 1 + %8 = load i8, i8* %c1, align 1 + %conv5 = zext i8 %8 to i32 + %cmp6 = icmp eq i32 %conv5, 0 + br i1 %cmp6, label %do.end, label %if.end9 + +if.end9: ; preds = %do.body + %9 = load i8*, i8** %p1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %p1, align 8 + %10 = load i8*, i8** %p2, align 8 + %incdec.ptr10 = getelementptr inbounds i8, i8* %10, i32 1 + store i8* %incdec.ptr10, i8** %p2, align 8 + %11 = load i8, i8* %c1, align 1 + %conv11 = zext i8 %11 to i32 + %12 = load i8, i8* %c2, align 1 + %conv12 = zext i8 %12 to i32 + %cmp13 = icmp eq i32 %conv11, %conv12 + br i1 %cmp13, label %do.body, label %do.end + +do.end: ; preds = %do.body, %if.end9 + %13 = load i8, i8* %c1, align 1 + %conv15 = zext i8 %13 to i32 + %14 = load i8, i8* %c2, align 1 + %conv16 = zext i8 %14 to i32 + %sub = sub nsw i32 %conv15, %conv16 + store i32 %sub, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end, %if.then + %15 = load i32, i32* %retval, align 4 + ret i32 %15 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @c_tolower(i32 %c) #3 { +entry: + %retval = alloca i32, align 4 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -65 + %switch = icmp ult i32 %.off, 26 + %1 = load i32, i32* %c.addr, align 4 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + %sub = sub nsw i32 %1, 65 + %add = add nsw i32 %sub, 97 + store i32 %add, i32* %retval, align 4 + br label %return + +sw.default: ; preds = %entry + store i32 %1, i32* %retval, align 4 + br label %return + +return: ; preds = %sw.default, %sw.bb + %2 = load i32, i32* %retval, align 4 + ret i32 %2 +} + +; Function Attrs: nounwind +declare dso_local i8* @realloc(i8*, i64) #4 + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fclose(%struct._IO_FILE* nonnull %fp) #3 { +entry: + %retval = alloca i32, align 4 + %fp.addr = alloca %struct._IO_FILE*, align 8 + %saved_errno = alloca i32, align 4 + %fd = alloca i32, align 4 + %result = alloca i32, align 4 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + store i32 0, i32* %saved_errno, align 4 + store i32 0, i32* %result, align 4 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %0) #11 + store i32 %call, i32* %fd, align 4 + %1 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %1, 0 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call1 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fclose to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %2) + store i32 %call1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %call2 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.519*)* @__freading to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %2) #11 + %cmp3 = icmp ne i32 %call2, 0 + br i1 %cmp3, label %lor.lhs.false, label %land.lhs.true + +lor.lhs.false: ; preds = %if.end + %3 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call4 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %3) #11 + %call5 = call i64 @lseek(i32 %call4, i64 0, i32 1) #11 + %cmp6 = icmp ne i64 %call5, -1 + br i1 %cmp6, label %land.lhs.true, label %if.end10 + +land.lhs.true: ; preds = %lor.lhs.false, %if.end + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call7 = call i32 @rpl_fflush(%struct._IO_FILE* %4) + %tobool = icmp ne i32 %call7, 0 + br i1 %tobool, label %if.then8, label %if.end10 + +if.then8: ; preds = %land.lhs.true + %call9 = call i32* @__errno_location() #25 + %5 = load i32, i32* %call9, align 4 + store i32 %5, i32* %saved_errno, align 4 + br label %if.end10 + +if.end10: ; preds = %if.then8, %land.lhs.true, %lor.lhs.false + %6 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call11 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fclose to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %6) + store i32 %call11, i32* %result, align 4 + %7 = load i32, i32* %saved_errno, align 4 + %cmp12 = icmp ne i32 %7, 0 + br i1 %cmp12, label %if.then13, label %if.end15 + +if.then13: ; preds = %if.end10 + %8 = load i32, i32* %saved_errno, align 4 + %call14 = call i32* @__errno_location() #25 + store i32 %8, i32* %call14, align 4 + store i32 -1, i32* %result, align 4 + br label %if.end15 + +if.end15: ; preds = %if.then13, %if.end10 + %9 = load i32, i32* %result, align 4 + store i32 %9, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end15, %if.then + %10 = load i32, i32* %retval, align 4 + ret i32 %10 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fflush(%struct._IO_FILE* %stream) #3 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %cmp = icmp eq %struct._IO_FILE* %0, null + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.519*)* @__freading to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %1) #11 + %cmp1 = icmp ne i32 %call, 0 + br i1 %cmp1, label %if.end, label %if.then + +if.then: ; preds = %lor.lhs.false, %entry + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call2 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fflush to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %2) + store i32 %call2, i32* %retval, align 4 + br label %return + +if.end: ; preds = %lor.lhs.false + %3 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + call void @clear_ungetc_buffer_preserving_position(%struct._IO_FILE* %3) + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call3 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fflush to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %4) + store i32 %call3, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %5 = load i32, i32* %retval, align 4 + ret i32 %5 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @clear_ungetc_buffer_preserving_position(%struct._IO_FILE* %fp) #3 { +entry: + %fp.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_flags = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %0, i32 0, i32 0 + %1 = load i32, i32* %_flags, align 8 + %and = and i32 %1, 256 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 @rpl_fseeko(%struct._IO_FILE* %2, i64 0, i32 1) + br label %if.end + +if.end: ; preds = %if.then, %entry + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fseeko(%struct._IO_FILE* nonnull %fp, i64 %offset, i32 %whence) #3 { +entry: + %retval = alloca i32, align 4 + %fp.addr = alloca %struct._IO_FILE*, align 8 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + %pos = alloca i64, align 8 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_read_end = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %0, i32 0, i32 2 + %1 = load i8*, i8** %_IO_read_end, align 8 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_read_ptr = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %2, i32 0, i32 1 + %3 = load i8*, i8** %_IO_read_ptr, align 8 + %cmp = icmp eq i8* %1, %3 + br i1 %cmp, label %land.lhs.true, label %if.end7 + +land.lhs.true: ; preds = %entry + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_write_ptr = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %4, i32 0, i32 5 + %5 = load i8*, i8** %_IO_write_ptr, align 8 + %6 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_write_base = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %6, i32 0, i32 4 + %7 = load i8*, i8** %_IO_write_base, align 8 + %cmp1 = icmp eq i8* %5, %7 + br i1 %cmp1, label %land.lhs.true2, label %if.end7 + +land.lhs.true2: ; preds = %land.lhs.true + %8 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_save_base = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %8, i32 0, i32 9 + %9 = load i8*, i8** %_IO_save_base, align 8 + %cmp3 = icmp eq i8* %9, null + br i1 %cmp3, label %if.then, label %if.end7 + +if.then: ; preds = %land.lhs.true2 + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %10) #11 + %11 = load i64, i64* %offset.addr, align 8 + %12 = load i32, i32* %whence.addr, align 4 + %call4 = call i64 @lseek(i32 %call, i64 %11, i32 %12) #11 + store i64 %call4, i64* %pos, align 8 + %13 = load i64, i64* %pos, align 8 + %cmp5 = icmp eq i64 %13, -1 + br i1 %cmp5, label %if.then6, label %if.end + +if.then6: ; preds = %if.then + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %if.then + %14 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_flags = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %14, i32 0, i32 0 + %15 = load i32, i32* %_flags, align 8 + %and = and i32 %15, -17 + store i32 %and, i32* %_flags, align 8 + %16 = load i64, i64* %pos, align 8 + %17 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_offset = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %17, i32 0, i32 21 + store i64 %16, i64* %_offset, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.end7: ; preds = %land.lhs.true2, %land.lhs.true, %entry + %18 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %19 = load i64, i64* %offset.addr, align 8 + %20 = load i32, i32* %whence.addr, align 4 + %call8 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32)* @fseeko to i32 (%struct._IO_FILE*, i64, i32)*)(%struct._IO_FILE* %18, i64 %19, i32 %20) + store i32 %call8, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end7, %if.end, %if.then6 + %21 = load i32, i32* %retval, align 4 + ret i32 %21 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @close_stdout_set_file_name(i8* %file) #3 { +entry: + %file.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + store i8* %0, i8** @file_name, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @close_stdout_set_ignore_EPIPE(i1 zeroext %ignore) #3 { +entry: + %ignore.addr = alloca i8, align 1 + %frombool = zext i1 %ignore to i8 + store i8 %frombool, i8* %ignore.addr, align 1 + %0 = load i8, i8* %ignore.addr, align 1 + %tobool = trunc i8 %0 to i1 + %frombool1 = zext i1 %tobool to i8 + store i8 %frombool1, i8* @ignore_EPIPE, align 1 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @mdir_name(i8* %file) #3 { +entry: + %retval = alloca i8*, align 8 + %file.addr = alloca i8*, align 8 + %length = alloca i64, align 8 + %append_dot = alloca i8, align 1 + %dir = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + %call = call i64 @dir_len(i8* %0) #23 + store i64 %call, i64* %length, align 8 + %1 = load i64, i64* %length, align 8 + %cmp = icmp eq i64 %1, 0 + %spec.select = select i1 %cmp, i1 true, i1 false + %frombool = zext i1 %spec.select to i8 + store i8 %frombool, i8* %append_dot, align 1 + %2 = load i64, i64* %length, align 8 + %3 = load i8, i8* %append_dot, align 1 + %tobool = trunc i8 %3 to i1 + %conv = zext i1 %tobool to i64 + %add = add i64 %2, %conv + %add1 = add i64 %add, 1 + %call2 = call noalias i8* @malloc(i64 %add1) #11 + store i8* %call2, i8** %dir, align 8 + %4 = load i8*, i8** %dir, align 8 + %tobool3 = icmp ne i8* %4, null + br i1 %tobool3, label %if.end, label %if.then + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %5 = load i8*, i8** %dir, align 8 + %6 = load i8*, i8** %file.addr, align 8 + %7 = load i64, i64* %length, align 8 + %8 = call i8* @memcpy(i8* %5, i8* %6, i64 %7) + %9 = load i8, i8* %append_dot, align 1 + %tobool4 = trunc i8 %9 to i1 + br i1 %tobool4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end + %10 = load i8*, i8** %dir, align 8 + %11 = load i64, i64* %length, align 8 + %inc = add i64 %11, 1 + store i64 %inc, i64* %length, align 8 + %arrayidx = getelementptr inbounds i8, i8* %10, i64 %11 + store i8 46, i8* %arrayidx, align 1 + br label %if.end6 + +if.end6: ; preds = %if.then5, %if.end + %12 = load i8*, i8** %dir, align 8 + %13 = load i64, i64* %length, align 8 + %arrayidx7 = getelementptr inbounds i8, i8* %12, i64 %13 + store i8 0, i8* %arrayidx7, align 1 + %14 = load i8*, i8** %dir, align 8 + store i8* %14, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end6, %if.then + %15 = load i8*, i8** %retval, align 8 + ret i8* %15 +} + +; Function Attrs: noinline nounwind readonly uwtable +define dso_local i64 @base_len(i8* %name) #15 { +entry: + %name.addr = alloca i8*, align 8 + %len = alloca i64, align 8 + %prefix_len = alloca i64, align 8 + store i8* %name, i8** %name.addr, align 8 + store i64 0, i64* %prefix_len, align 8 + %0 = load i8*, i8** %name.addr, align 8 + %call = call i64 @strlen(i8* %0) #23 + store i64 %call, i64* %len, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load i64, i64* %len, align 8 + %cmp = icmp ult i64 1, %1 + br i1 %cmp, label %land.rhs, label %for.end + +land.rhs: ; preds = %for.cond + %2 = load i8*, i8** %name.addr, align 8 + %3 = load i64, i64* %len, align 8 + %sub = sub i64 %3, 1 + %arrayidx = getelementptr inbounds i8, i8* %2, i64 %sub + %4 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %4 to i32 + %cmp1 = icmp eq i32 %conv, 47 + br i1 %cmp1, label %for.inc, label %for.end + +for.inc: ; preds = %land.rhs + %5 = load i64, i64* %len, align 8 + %dec = add i64 %5, -1 + store i64 %dec, i64* %len, align 8 + br label %for.cond + +for.end: ; preds = %for.cond, %land.rhs + %6 = load i64, i64* %len, align 8 + ret i64 %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local %struct.quoting_options* @clone_quoting_options(%struct.quoting_options* %o) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %p = alloca %struct.quoting_options*, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %call = call i32* @__errno_location() #25 + %0 = load i32, i32* %call, align 4 + store i32 %0, i32* %e, align 4 + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %1, null + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %2, %struct.quoting_options* @default_quoting_options + %3 = bitcast %struct.quoting_options* %cond to i8* + %call1 = call i8* @xmemdup(i8* %3, i64 56) + %4 = bitcast i8* %call1 to %struct.quoting_options* + store %struct.quoting_options* %4, %struct.quoting_options** %p, align 8 + %5 = load i32, i32* %e, align 4 + %call2 = call i32* @__errno_location() #25 + store i32 %5, i32* %call2, align 4 + %6 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + ret %struct.quoting_options* %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @xmemdup(i8* %p, i64 %s) #3 { +entry: + %p.addr = alloca i8*, align 8 + %s.addr = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %call = call noalias i8* @xmalloc(i64 %0) + %1 = load i8*, i8** %p.addr, align 8 + %2 = load i64, i64* %s.addr, align 8 + %3 = call i8* @memcpy(i8* %call, i8* %1, i64 %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @get_quoting_style(%struct.quoting_options* %o) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %1, %struct.quoting_options* @default_quoting_options + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %cond, i32 0, i32 0 + %2 = load i32, i32* %style, align 8 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_quoting_style(%struct.quoting_options* %o, i32 %s) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %s.addr = alloca i32, align 4 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i32 %s, i32* %s.addr, align 4 + %0 = load i32, i32* %s.addr, align 4 + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %1, null + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %2, %struct.quoting_options* @default_quoting_options + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %cond, i32 0, i32 0 + store i32 %0, i32* %style, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @set_quoting_flags(%struct.quoting_options* %o, i32 %i) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %i.addr = alloca i32, align 4 + %r = alloca i32, align 4 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i32 %i, i32* %i.addr, align 4 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store %struct.quoting_options* @default_quoting_options, %struct.quoting_options** %o.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %flags = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %1, i32 0, i32 1 + %2 = load i32, i32* %flags, align 4 + store i32 %2, i32* %r, align 4 + %3 = load i32, i32* %i.addr, align 4 + %4 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %flags1 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %4, i32 0, i32 1 + store i32 %3, i32* %flags1, align 4 + %5 = load i32, i32* %r, align 4 + ret i32 %5 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_custom_quoting(%struct.quoting_options* %o, i8* %left_quote, i8* %right_quote) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store %struct.quoting_options* @default_quoting_options, %struct.quoting_options** %o.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %1, i32 0, i32 0 + store i32 10, i32* %style, align 8 + %2 = load i8*, i8** %left_quote.addr, align 8 + %tobool1 = icmp ne i8* %2, null + %3 = load i8*, i8** %right_quote.addr, align 8 + %tobool2 = icmp ne i8* %3, null + %or.cond = and i1 %tobool1, %tobool2 + br i1 %or.cond, label %if.end4, label %if.then3 + +if.then3: ; preds = %if.end + call void @abort() #26 + unreachable + +if.end4: ; preds = %if.end + %4 = load i8*, i8** %left_quote.addr, align 8 + %5 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %left_quote5 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %5, i32 0, i32 3 + store i8* %4, i8** %left_quote5, align 8 + %6 = load i8*, i8** %right_quote.addr, align 8 + %7 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %right_quote6 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %7, i32 0, i32 4 + store i8* %6, i8** %right_quote6, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @quotearg_buffer(i8* %buffer, i64 %buffersize, i8* %arg, i64 %argsize, %struct.quoting_options* %o) #3 { +entry: + %buffer.addr = alloca i8*, align 8 + %buffersize.addr = alloca i64, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o.addr = alloca %struct.quoting_options*, align 8 + %p = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %r = alloca i64, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %buffersize, i64* %buffersize.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %1, %struct.quoting_options* @default_quoting_options + store %struct.quoting_options* %cond, %struct.quoting_options** %p, align 8 + %call = call i32* @__errno_location() #25 + %2 = load i32, i32* %call, align 4 + store i32 %2, i32* %e, align 4 + %3 = load i8*, i8** %buffer.addr, align 8 + %4 = load i64, i64* %buffersize.addr, align 8 + %5 = load i8*, i8** %arg.addr, align 8 + %6 = load i64, i64* %argsize.addr, align 8 + %7 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %7, i32 0, i32 0 + %8 = load i32, i32* %style, align 8 + %9 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %flags = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %9, i32 0, i32 1 + %10 = load i32, i32* %flags, align 4 + %11 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %11, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %12 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %left_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %12, i32 0, i32 3 + %13 = load i8*, i8** %left_quote, align 8 + %14 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %right_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %14, i32 0, i32 4 + %15 = load i8*, i8** %right_quote, align 8 + %call1 = call i64 @quotearg_buffer_restyled(i8* %3, i64 %4, i8* %5, i64 %6, i32 %8, i32 %10, i32* %arraydecay, i8* %13, i8* %15) + store i64 %call1, i64* %r, align 8 + %16 = load i32, i32* %e, align 4 + %call2 = call i32* @__errno_location() #25 + store i32 %16, i32* %call2, align 4 + %17 = load i64, i64* %r, align 8 + ret i64 %17 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_alloc(i8* %arg, i64 %argsize, %struct.quoting_options* %o) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o.addr = alloca %struct.quoting_options*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %call = call i8* @quotearg_alloc_mem(i8* %0, i64 %1, i64* null, %struct.quoting_options* %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_alloc_mem(i8* %arg, i64 %argsize, i64* %size, %struct.quoting_options* %o) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %size.addr = alloca i64*, align 8 + %o.addr = alloca %struct.quoting_options*, align 8 + %p = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %flags = alloca i32, align 4 + %bufsize = alloca i64, align 8 + %buf = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store i64* %size, i64** %size.addr, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %1, %struct.quoting_options* @default_quoting_options + store %struct.quoting_options* %cond, %struct.quoting_options** %p, align 8 + %call = call i32* @__errno_location() #25 + %2 = load i32, i32* %call, align 4 + store i32 %2, i32* %e, align 4 + %3 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %flags1 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %3, i32 0, i32 1 + %4 = load i32, i32* %flags1, align 4 + %5 = load i64*, i64** %size.addr, align 8 + %tobool2 = icmp ne i64* %5, null + %6 = zext i1 %tobool2 to i64 + %cond3 = select i1 %tobool2, i32 0, i32 1 + %or = or i32 %4, %cond3 + store i32 %or, i32* %flags, align 4 + %7 = load i8*, i8** %arg.addr, align 8 + %8 = load i64, i64* %argsize.addr, align 8 + %9 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %9, i32 0, i32 0 + %10 = load i32, i32* %style, align 8 + %11 = load i32, i32* %flags, align 4 + %12 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %12, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %13 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %left_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %13, i32 0, i32 3 + %14 = load i8*, i8** %left_quote, align 8 + %15 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %right_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %15, i32 0, i32 4 + %16 = load i8*, i8** %right_quote, align 8 + %call4 = call i64 @quotearg_buffer_restyled(i8* null, i64 0, i8* %7, i64 %8, i32 %10, i32 %11, i32* %arraydecay, i8* %14, i8* %16) + %add = add i64 %call4, 1 + store i64 %add, i64* %bufsize, align 8 + %17 = load i64, i64* %bufsize, align 8 + %call5 = call noalias i8* @xcharalloc(i64 %17) + store i8* %call5, i8** %buf, align 8 + %18 = load i8*, i8** %buf, align 8 + %19 = load i64, i64* %bufsize, align 8 + %20 = load i8*, i8** %arg.addr, align 8 + %21 = load i64, i64* %argsize.addr, align 8 + %22 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %style6 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %22, i32 0, i32 0 + %23 = load i32, i32* %style6, align 8 + %24 = load i32, i32* %flags, align 4 + %25 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %quote_these_too7 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %25, i32 0, i32 2 + %arraydecay8 = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too7, i64 0, i64 0 + %26 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %left_quote9 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %26, i32 0, i32 3 + %27 = load i8*, i8** %left_quote9, align 8 + %28 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %right_quote10 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %28, i32 0, i32 4 + %29 = load i8*, i8** %right_quote10, align 8 + %call11 = call i64 @quotearg_buffer_restyled(i8* %18, i64 %19, i8* %20, i64 %21, i32 %23, i32 %24, i32* %arraydecay8, i8* %27, i8* %29) + %30 = load i32, i32* %e, align 4 + %call12 = call i32* @__errno_location() #25 + store i32 %30, i32* %call12, align 4 + %31 = load i64*, i64** %size.addr, align 8 + %tobool13 = icmp ne i64* %31, null + br i1 %tobool13, label %if.then, label %if.end + +if.then: ; preds = %entry + %32 = load i64, i64* %bufsize, align 8 + %sub = sub i64 %32, 1 + %33 = load i64*, i64** %size.addr, align 8 + store i64 %sub, i64* %33, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %34 = load i8*, i8** %buf, align 8 + ret i8* %34 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @quotearg_free() #3 { +entry: + %sv = alloca %struct.slotvec*, align 8 + %i = alloca i32, align 4 + %0 = load %struct.slotvec*, %struct.slotvec** @slotvec, align 8 + store %struct.slotvec* %0, %struct.slotvec** %sv, align 8 + store i32 1, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %1 = load i32, i32* %i, align 4 + %2 = load i32, i32* @nslots, align 4 + %cmp = icmp slt i32 %1, %2 + %3 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %4 = load i32, i32* %i, align 4 + %idxprom = sext i32 %4 to i64 + %arrayidx = getelementptr inbounds %struct.slotvec, %struct.slotvec* %3, i64 %idxprom + %val = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx, i32 0, i32 1 + %5 = load i8*, i8** %val, align 8 + call void @free(i8* %5) #11 + %6 = load i32, i32* %i, align 4 + %inc = add nsw i32 %6, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %arrayidx1 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %3, i64 0 + %val2 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx1, i32 0, i32 1 + %7 = load i8*, i8** %val2, align 8 + %cmp3 = icmp ne i8* %7, getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i64 0, i64 0) + br i1 %cmp3, label %if.then, label %if.end + +if.then: ; preds = %for.end + %8 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %arrayidx4 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %8, i64 0 + %val5 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx4, i32 0, i32 1 + %9 = load i8*, i8** %val5, align 8 + call void @free(i8* %9) #11 + store i64 256, i64* getelementptr inbounds (%struct.slotvec, %struct.slotvec* @slotvec0, i32 0, i32 0), align 8 + store i8* getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i64 0, i64 0), i8** getelementptr inbounds (%struct.slotvec, %struct.slotvec* @slotvec0, i32 0, i32 1), align 8 + br label %if.end + +if.end: ; preds = %if.then, %for.end + %10 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %cmp6 = icmp ne %struct.slotvec* %10, @slotvec0 + br i1 %cmp6, label %if.then7, label %if.end8 + +if.then7: ; preds = %if.end + %11 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %12 = bitcast %struct.slotvec* %11 to i8* + call void @free(i8* %12) #11 + store %struct.slotvec* @slotvec0, %struct.slotvec** @slotvec, align 8 + br label %if.end8 + +if.end8: ; preds = %if.then7, %if.end + store i32 1, i32* @nslots, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n(i32 %n, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %0, i8* %1, i64 -1, %struct.quoting_options* @default_quoting_options) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_mem(i32 %n, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %2 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %0, i8* %1, i64 %2, %struct.quoting_options* @default_quoting_options) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg(i8* %arg) #3 { +entry: + %arg.addr = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n(i32 0, i8* %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_mem(i8* %arg, i64 %argsize) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_mem(i32 0, i8* %0, i64 %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_style(i32 %n, i32 %s, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %o = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + call void @quoting_options_from_style(%struct.quoting_options* sret align 8 %o, i32 %0) + %1 = load i32, i32* %n.addr, align 4 + %2 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %1, i8* %2, i64 -1, %struct.quoting_options* %o) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define internal void @quoting_options_from_style(%struct.quoting_options* noalias sret align 8 %agg.result, i32 %style) #3 { +entry: + %style.addr = alloca i32, align 4 + store i32 %style, i32* %style.addr, align 4 + %0 = bitcast %struct.quoting_options* %agg.result to i8* + %1 = call i8* @memset(i8* %0, i32 0, i64 56) + %2 = load i32, i32* %style.addr, align 4 + %cmp = icmp eq i32 %2, 10 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @abort() #26 + unreachable + +if.end: ; preds = %entry + %3 = load i32, i32* %style.addr, align 4 + %style1 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %agg.result, i32 0, i32 0 + store i32 %3, i32* %style1, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_style_mem(i32 %n, i32 %s, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + call void @quoting_options_from_style(%struct.quoting_options* sret align 8 %o, i32 %0) + %1 = load i32, i32* %n.addr, align 4 + %2 = load i8*, i8** %arg.addr, align 8 + %3 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %1, i8* %2, i64 %3, %struct.quoting_options* %o) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_style(i32 %s, i8* %arg) #3 { +entry: + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_style(i32 0, i32 %0, i8* %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_style_mem(i32 %s, i8* %arg, i64 %argsize) #3 { +entry: + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %2 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_style_mem(i32 0, i32 %0, i8* %1, i64 %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_colon_mem(i8* %arg, i64 %argsize) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_char_mem(i8* %0, i64 %1, i8 signext 58) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_style_colon(i32 %n, i32 %s, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %options = alloca %struct.quoting_options, align 8 + %tmp = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + call void @quoting_options_from_style(%struct.quoting_options* sret align 8 %tmp, i32 %0) + %1 = bitcast %struct.quoting_options* %options to i8* + %2 = bitcast %struct.quoting_options* %tmp to i8* + %3 = call i8* @memcpy(i8* %1, i8* %2, i64 56) + %call = call i32 @set_char_quoting(%struct.quoting_options* %options, i8 signext 58, i32 1) + %4 = load i32, i32* %n.addr, align 4 + %5 = load i8*, i8** %arg.addr, align 8 + %call1 = call i8* @quotearg_n_options(i32 %4, i8* %5, i64 -1, %struct.quoting_options* %options) + ret i8* %call1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_custom(i32 %n, i8* %left_quote, i8* %right_quote, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %left_quote.addr, align 8 + %2 = load i8*, i8** %right_quote.addr, align 8 + %3 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_custom_mem(i32 %0, i8* %1, i8* %2, i8* %3, i64 -1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_custom_mem(i32 %n, i8* %left_quote, i8* %right_quote, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = bitcast %struct.quoting_options* %o to i8* + %1 = call i8* @memcpy(i8* %0, i8* bitcast (%struct.quoting_options* @default_quoting_options to i8*), i64 56) + %2 = load i8*, i8** %left_quote.addr, align 8 + %3 = load i8*, i8** %right_quote.addr, align 8 + call void @set_custom_quoting(%struct.quoting_options* %o, i8* %2, i8* %3) + %4 = load i32, i32* %n.addr, align 4 + %5 = load i8*, i8** %arg.addr, align 8 + %6 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %4, i8* %5, i64 %6, %struct.quoting_options* %o) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_custom(i8* %left_quote, i8* %right_quote, i8* %arg) #3 { +entry: + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %left_quote.addr, align 8 + %1 = load i8*, i8** %right_quote.addr, align 8 + %2 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_custom(i32 0, i8* %0, i8* %1, i8* %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_custom_mem(i8* %left_quote, i8* %right_quote, i8* %arg, i64 %argsize) #3 { +entry: + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %left_quote.addr, align 8 + %1 = load i8*, i8** %right_quote.addr, align 8 + %2 = load i8*, i8** %arg.addr, align 8 + %3 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_custom_mem(i32 0, i8* %0, i8* %1, i8* %2, i64 %3) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote_n_mem(i32 %n, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %2 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %0, i8* %1, i64 %2, %struct.quoting_options* @quote_quoting_options) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote_mem(i8* %arg, i64 %argsize) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quote_n_mem(i32 0, i8* %0, i64 %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote_n(i32 %n, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quote_n_mem(i32 %0, i8* %1, i64 -1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote(i8* %arg) #3 { +entry: + %arg.addr = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quote_n(i32 0, i8* %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc_ar(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, i8** %authors) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors.addr = alloca i8**, align 8 + %n_authors = alloca i64, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + store i8** %authors, i8*** %authors.addr, align 8 + store i64 0, i64* %n_authors, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i8**, i8*** %authors.addr, align 8 + %1 = load i64, i64* %n_authors, align 8 + %arrayidx = getelementptr inbounds i8*, i8** %0, i64 %1 + %2 = load i8*, i8** %arrayidx, align 8 + %tobool = icmp ne i8* %2, null + br i1 %tobool, label %for.inc, label %for.end + +for.inc: ; preds = %for.cond + %3 = load i64, i64* %n_authors, align 8 + %inc = add i64 %3, 1 + store i64 %inc, i64* %n_authors, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %5 = load i8*, i8** %command_name.addr, align 8 + %6 = load i8*, i8** %package.addr, align 8 + %7 = load i8*, i8** %version.addr, align 8 + %8 = load i8**, i8*** %authors.addr, align 8 + %9 = load i64, i64* %n_authors, align 8 + call void @version_etc_arn(%struct._IO_FILE* %4, i8* %5, i8* %6, i8* %7, i8** %8, i64 %9) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @emit_bug_reporting_address() #3 { +entry: + %0 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.76, i64 0, i64 0), %struct._IO_FILE* %0) + %call1 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.16.91, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.17.92, i64 0, i64 0)) + %call2 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.18.93, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.19.94, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.20.95, i64 0, i64 0)) + %call3 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.21.96, i64 0, i64 0), i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.22.97, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xnmalloc(i64 %n, i64 %s) #3 { +entry: + %n.addr = alloca i64, align 8 + %s.addr = alloca i64, align 8 + store i64 %n, i64* %n.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %div = udiv i64 9223372036854775807, %0 + %1 = load i64, i64* %n.addr, align 8 + %cmp = icmp ult i64 %div, %1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %entry + %2 = load i64, i64* %n.addr, align 8 + %3 = load i64, i64* %s.addr, align 8 + %mul = mul i64 %2, %3 + %call = call noalias i8* @xmalloc(i64 %mul) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @xnrealloc(i8* %p, i64 %n, i64 %s) #3 { +entry: + %p.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %s.addr = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %div = udiv i64 9223372036854775807, %0 + %1 = load i64, i64* %n.addr, align 8 + %cmp = icmp ult i64 %div, %1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %p.addr, align 8 + %3 = load i64, i64* %n.addr, align 8 + %4 = load i64, i64* %s.addr, align 8 + %mul = mul i64 %3, %4 + %call = call i8* @xrealloc(i8* %2, i64 %mul) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @x2nrealloc(i8* %p, i64* %pn, i64 %s) #3 { +entry: + %p.addr = alloca i8*, align 8 + %pn.addr = alloca i64*, align 8 + %s.addr = alloca i64, align 8 + %n = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64* %pn, i64** %pn.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64*, i64** %pn.addr, align 8 + %1 = load i64, i64* %0, align 8 + store i64 %1, i64* %n, align 8 + %2 = load i8*, i8** %p.addr, align 8 + %tobool = icmp ne i8* %2, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %3 = load i64, i64* %n, align 8 + %tobool1 = icmp ne i64 %3, 0 + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + %4 = load i64, i64* %s.addr, align 8 + %div = udiv i64 128, %4 + store i64 %div, i64* %n, align 8 + %5 = load i64, i64* %n, align 8 + %tobool3 = icmp ne i64 %5, 0 + %lnot = xor i1 %tobool3, true + %lnot.ext = zext i1 %lnot to i32 + %conv = sext i32 %lnot.ext to i64 + %6 = load i64, i64* %n, align 8 + %add = add i64 %6, %conv + store i64 %add, i64* %n, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %7 = load i64, i64* %s.addr, align 8 + %div4 = udiv i64 9223372036854775807, %7 + %8 = load i64, i64* %n, align 8 + %cmp = icmp ult i64 %div4, %8 + br i1 %cmp, label %if.then6, label %if.end16 + +if.then6: ; preds = %if.end + call void @xalloc_die() #24 + unreachable + +if.else: ; preds = %entry + %9 = load i64, i64* %s.addr, align 8 + %div8 = udiv i64 6148914691236517204, %9 + %10 = load i64, i64* %n, align 8 + %cmp9 = icmp ule i64 %div8, %10 + br i1 %cmp9, label %if.then11, label %if.end12 + +if.then11: ; preds = %if.else + call void @xalloc_die() #24 + unreachable + +if.end12: ; preds = %if.else + %11 = load i64, i64* %n, align 8 + %div13 = udiv i64 %11, 2 + %add14 = add i64 %div13, 1 + %12 = load i64, i64* %n, align 8 + %add15 = add i64 %12, %add14 + store i64 %add15, i64* %n, align 8 + br label %if.end16 + +if.end16: ; preds = %if.end, %if.end12 + %13 = load i64, i64* %n, align 8 + %14 = load i64*, i64** %pn.addr, align 8 + store i64 %13, i64* %14, align 8 + %15 = load i8*, i8** %p.addr, align 8 + %16 = load i64, i64* %n, align 8 + %17 = load i64, i64* %s.addr, align 8 + %mul = mul i64 %16, %17 + %call = call i8* @xrealloc(i8* %15, i64 %mul) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @x2realloc(i8* %p, i64* %pn) #3 { +entry: + %p.addr = alloca i8*, align 8 + %pn.addr = alloca i64*, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64* %pn, i64** %pn.addr, align 8 + %0 = load i8*, i8** %p.addr, align 8 + %1 = load i64*, i64** %pn.addr, align 8 + %call = call i8* @x2nrealloc(i8* %0, i64* %1, i64 1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xzalloc(i64 %n) #3 { +entry: + %n.addr = alloca i64, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @xcalloc(i64 %0, i64 1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xcalloc(i64 %n, i64 %s) #3 { +entry: + %n.addr = alloca i64, align 8 + %s.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i64 %n, i64* %n.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %div = udiv i64 9223372036854775807, %0 + %1 = load i64, i64* %n.addr, align 8 + %cmp = icmp ult i64 %div, %1 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load i64, i64* %n.addr, align 8 + %3 = load i64, i64* %s.addr, align 8 + %call = call noalias i8* @calloc(i64 %2, i64 %3) #11 + store i8* %call, i8** %p, align 8 + %tobool = icmp ne i8* %call, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %lor.lhs.false, %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %lor.lhs.false + %4 = load i8*, i8** %p, align 8 + ret i8* %4 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xstrdup(i8* %string) #3 { +entry: + %string.addr = alloca i8*, align 8 + store i8* %string, i8** %string.addr, align 8 + %0 = load i8*, i8** %string.addr, align 8 + %1 = load i8*, i8** %string.addr, align 8 + %call = call i64 @strlen(i8* %1) #23 + %add = add i64 %call, 1 + %call1 = call i8* @xmemdup(i8* %0, i64 %add) + ret i8* %call1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @setlocale_null(i32 %category) #3 { +entry: + %category.addr = alloca i32, align 4 + store i32 %category, i32* %category.addr, align 4 + %0 = load i32, i32* %category.addr, align 4 + %call = call i8* @setlocale_null_androidfix(i32 %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isalnum(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock121 + +NodeBlock121: ; preds = %entry + %case.cmp122 = icmp eq i32 %0, 48 + br i1 %case.cmp122, label %sw.bb, label %NodeBlock119 + +NodeBlock119: ; preds = %NodeBlock121 + %case.cmp120 = icmp eq i32 %0, 49 + br i1 %case.cmp120, label %sw.bb, label %NodeBlock117 + +NodeBlock117: ; preds = %NodeBlock119 + %case.cmp118 = icmp eq i32 %0, 50 + br i1 %case.cmp118, label %sw.bb, label %NodeBlock115 + +NodeBlock115: ; preds = %NodeBlock117 + %case.cmp116 = icmp eq i32 %0, 51 + br i1 %case.cmp116, label %sw.bb, label %NodeBlock113 + +NodeBlock113: ; preds = %NodeBlock115 + %case.cmp114 = icmp eq i32 %0, 52 + br i1 %case.cmp114, label %sw.bb, label %NodeBlock111 + +NodeBlock111: ; preds = %NodeBlock113 + %case.cmp112 = icmp eq i32 %0, 53 + br i1 %case.cmp112, label %sw.bb, label %NodeBlock109 + +NodeBlock109: ; preds = %NodeBlock111 + %case.cmp110 = icmp eq i32 %0, 54 + br i1 %case.cmp110, label %sw.bb, label %NodeBlock107 + +NodeBlock107: ; preds = %NodeBlock109 + %case.cmp108 = icmp eq i32 %0, 55 + br i1 %case.cmp108, label %sw.bb, label %NodeBlock105 + +NodeBlock105: ; preds = %NodeBlock107 + %case.cmp106 = icmp eq i32 %0, 56 + br i1 %case.cmp106, label %sw.bb, label %NodeBlock103 + +NodeBlock103: ; preds = %NodeBlock105 + %case.cmp104 = icmp eq i32 %0, 57 + br i1 %case.cmp104, label %sw.bb, label %NodeBlock101 + +NodeBlock101: ; preds = %NodeBlock103 + %case.cmp102 = icmp eq i32 %0, 97 + br i1 %case.cmp102, label %sw.bb, label %NodeBlock99 + +NodeBlock99: ; preds = %NodeBlock101 + %case.cmp100 = icmp eq i32 %0, 98 + br i1 %case.cmp100, label %sw.bb, label %NodeBlock97 + +NodeBlock97: ; preds = %NodeBlock99 + %case.cmp98 = icmp eq i32 %0, 99 + br i1 %case.cmp98, label %sw.bb, label %NodeBlock95 + +NodeBlock95: ; preds = %NodeBlock97 + %case.cmp96 = icmp eq i32 %0, 100 + br i1 %case.cmp96, label %sw.bb, label %NodeBlock93 + +NodeBlock93: ; preds = %NodeBlock95 + %case.cmp94 = icmp eq i32 %0, 101 + br i1 %case.cmp94, label %sw.bb, label %NodeBlock91 + +NodeBlock91: ; preds = %NodeBlock93 + %case.cmp92 = icmp eq i32 %0, 102 + br i1 %case.cmp92, label %sw.bb, label %NodeBlock89 + +NodeBlock89: ; preds = %NodeBlock91 + %case.cmp90 = icmp eq i32 %0, 103 + br i1 %case.cmp90, label %sw.bb, label %NodeBlock87 + +NodeBlock87: ; preds = %NodeBlock89 + %case.cmp88 = icmp eq i32 %0, 104 + br i1 %case.cmp88, label %sw.bb, label %NodeBlock85 + +NodeBlock85: ; preds = %NodeBlock87 + %case.cmp86 = icmp eq i32 %0, 105 + br i1 %case.cmp86, label %sw.bb, label %NodeBlock83 + +NodeBlock83: ; preds = %NodeBlock85 + %case.cmp84 = icmp eq i32 %0, 106 + br i1 %case.cmp84, label %sw.bb, label %NodeBlock81 + +NodeBlock81: ; preds = %NodeBlock83 + %case.cmp82 = icmp eq i32 %0, 107 + br i1 %case.cmp82, label %sw.bb, label %NodeBlock79 + +NodeBlock79: ; preds = %NodeBlock81 + %case.cmp80 = icmp eq i32 %0, 108 + br i1 %case.cmp80, label %sw.bb, label %NodeBlock77 + +NodeBlock77: ; preds = %NodeBlock79 + %case.cmp78 = icmp eq i32 %0, 109 + br i1 %case.cmp78, label %sw.bb, label %NodeBlock75 + +NodeBlock75: ; preds = %NodeBlock77 + %case.cmp76 = icmp eq i32 %0, 110 + br i1 %case.cmp76, label %sw.bb, label %NodeBlock73 + +NodeBlock73: ; preds = %NodeBlock75 + %case.cmp74 = icmp eq i32 %0, 111 + br i1 %case.cmp74, label %sw.bb, label %NodeBlock71 + +NodeBlock71: ; preds = %NodeBlock73 + %case.cmp72 = icmp eq i32 %0, 112 + br i1 %case.cmp72, label %sw.bb, label %NodeBlock69 + +NodeBlock69: ; preds = %NodeBlock71 + %case.cmp70 = icmp eq i32 %0, 113 + br i1 %case.cmp70, label %sw.bb, label %NodeBlock67 + +NodeBlock67: ; preds = %NodeBlock69 + %case.cmp68 = icmp eq i32 %0, 114 + br i1 %case.cmp68, label %sw.bb, label %NodeBlock65 + +NodeBlock65: ; preds = %NodeBlock67 + %case.cmp66 = icmp eq i32 %0, 115 + br i1 %case.cmp66, label %sw.bb, label %NodeBlock63 + +NodeBlock63: ; preds = %NodeBlock65 + %case.cmp64 = icmp eq i32 %0, 116 + br i1 %case.cmp64, label %sw.bb, label %NodeBlock61 + +NodeBlock61: ; preds = %NodeBlock63 + %case.cmp62 = icmp eq i32 %0, 117 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 118 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 119 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 120 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 121 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 122 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 65 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 66 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 67 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 68 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 69 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 70 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 71 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 72 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 73 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 74 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 75 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 76 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 77 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 78 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 79 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 80 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 81 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 82 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 83 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 84 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 85 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 86 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 87 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 88 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 89 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 90 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock121, %NodeBlock119, %NodeBlock117, %NodeBlock115, %NodeBlock113, %NodeBlock111, %NodeBlock109, %NodeBlock107, %NodeBlock105, %NodeBlock103, %NodeBlock101, %NodeBlock99, %NodeBlock97, %NodeBlock95, %NodeBlock93, %NodeBlock91, %NodeBlock89, %NodeBlock87, %NodeBlock85, %NodeBlock83, %NodeBlock81, %NodeBlock79, %NodeBlock77, %NodeBlock75, %NodeBlock73, %NodeBlock71, %NodeBlock69, %NodeBlock67, %NodeBlock65, %NodeBlock63, %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isalpha(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock101 + +NodeBlock101: ; preds = %entry + %case.cmp102 = icmp eq i32 %0, 97 + br i1 %case.cmp102, label %sw.bb, label %NodeBlock99 + +NodeBlock99: ; preds = %NodeBlock101 + %case.cmp100 = icmp eq i32 %0, 98 + br i1 %case.cmp100, label %sw.bb, label %NodeBlock97 + +NodeBlock97: ; preds = %NodeBlock99 + %case.cmp98 = icmp eq i32 %0, 99 + br i1 %case.cmp98, label %sw.bb, label %NodeBlock95 + +NodeBlock95: ; preds = %NodeBlock97 + %case.cmp96 = icmp eq i32 %0, 100 + br i1 %case.cmp96, label %sw.bb, label %NodeBlock93 + +NodeBlock93: ; preds = %NodeBlock95 + %case.cmp94 = icmp eq i32 %0, 101 + br i1 %case.cmp94, label %sw.bb, label %NodeBlock91 + +NodeBlock91: ; preds = %NodeBlock93 + %case.cmp92 = icmp eq i32 %0, 102 + br i1 %case.cmp92, label %sw.bb, label %NodeBlock89 + +NodeBlock89: ; preds = %NodeBlock91 + %case.cmp90 = icmp eq i32 %0, 103 + br i1 %case.cmp90, label %sw.bb, label %NodeBlock87 + +NodeBlock87: ; preds = %NodeBlock89 + %case.cmp88 = icmp eq i32 %0, 104 + br i1 %case.cmp88, label %sw.bb, label %NodeBlock85 + +NodeBlock85: ; preds = %NodeBlock87 + %case.cmp86 = icmp eq i32 %0, 105 + br i1 %case.cmp86, label %sw.bb, label %NodeBlock83 + +NodeBlock83: ; preds = %NodeBlock85 + %case.cmp84 = icmp eq i32 %0, 106 + br i1 %case.cmp84, label %sw.bb, label %NodeBlock81 + +NodeBlock81: ; preds = %NodeBlock83 + %case.cmp82 = icmp eq i32 %0, 107 + br i1 %case.cmp82, label %sw.bb, label %NodeBlock79 + +NodeBlock79: ; preds = %NodeBlock81 + %case.cmp80 = icmp eq i32 %0, 108 + br i1 %case.cmp80, label %sw.bb, label %NodeBlock77 + +NodeBlock77: ; preds = %NodeBlock79 + %case.cmp78 = icmp eq i32 %0, 109 + br i1 %case.cmp78, label %sw.bb, label %NodeBlock75 + +NodeBlock75: ; preds = %NodeBlock77 + %case.cmp76 = icmp eq i32 %0, 110 + br i1 %case.cmp76, label %sw.bb, label %NodeBlock73 + +NodeBlock73: ; preds = %NodeBlock75 + %case.cmp74 = icmp eq i32 %0, 111 + br i1 %case.cmp74, label %sw.bb, label %NodeBlock71 + +NodeBlock71: ; preds = %NodeBlock73 + %case.cmp72 = icmp eq i32 %0, 112 + br i1 %case.cmp72, label %sw.bb, label %NodeBlock69 + +NodeBlock69: ; preds = %NodeBlock71 + %case.cmp70 = icmp eq i32 %0, 113 + br i1 %case.cmp70, label %sw.bb, label %NodeBlock67 + +NodeBlock67: ; preds = %NodeBlock69 + %case.cmp68 = icmp eq i32 %0, 114 + br i1 %case.cmp68, label %sw.bb, label %NodeBlock65 + +NodeBlock65: ; preds = %NodeBlock67 + %case.cmp66 = icmp eq i32 %0, 115 + br i1 %case.cmp66, label %sw.bb, label %NodeBlock63 + +NodeBlock63: ; preds = %NodeBlock65 + %case.cmp64 = icmp eq i32 %0, 116 + br i1 %case.cmp64, label %sw.bb, label %NodeBlock61 + +NodeBlock61: ; preds = %NodeBlock63 + %case.cmp62 = icmp eq i32 %0, 117 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 118 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 119 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 120 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 121 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 122 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 65 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 66 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 67 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 68 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 69 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 70 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 71 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 72 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 73 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 74 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 75 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 76 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 77 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 78 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 79 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 80 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 81 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 82 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 83 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 84 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 85 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 86 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 87 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 88 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 89 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 90 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock101, %NodeBlock99, %NodeBlock97, %NodeBlock95, %NodeBlock93, %NodeBlock91, %NodeBlock89, %NodeBlock87, %NodeBlock85, %NodeBlock83, %NodeBlock81, %NodeBlock79, %NodeBlock77, %NodeBlock75, %NodeBlock73, %NodeBlock71, %NodeBlock69, %NodeBlock67, %NodeBlock65, %NodeBlock63, %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isascii(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %switch = icmp ult i32 %0, 128 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isblank(i32 %c) #3 { +entry: + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %cmp = icmp eq i32 %0, 32 + %1 = load i32, i32* %c.addr, align 4 + %cmp1 = icmp eq i32 %1, 9 + %2 = select i1 %cmp, i1 true, i1 %cmp1 + ret i1 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_iscntrl(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock63 + +NodeBlock63: ; preds = %entry + %case.cmp64 = icmp eq i32 %0, 7 + br i1 %case.cmp64, label %sw.bb, label %NodeBlock61 + +NodeBlock61: ; preds = %NodeBlock63 + %case.cmp62 = icmp eq i32 %0, 8 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 12 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 10 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 13 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 9 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 11 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 0 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 1 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 2 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 3 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 4 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 5 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 6 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 14 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 15 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 16 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 17 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 18 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 19 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 20 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 21 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 22 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 23 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 24 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 25 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 26 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 27 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 28 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 29 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 30 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 31 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 127 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock63, %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isdigit(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -48 + %switch = icmp ult i32 %.off, 10 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isgraph(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -33 + %switch = icmp ult i32 %.off, 94 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_islower(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -97 + %switch = icmp ult i32 %.off, 26 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isprint(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -32 + %switch = icmp ult i32 %.off, 95 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_ispunct(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock61 + +NodeBlock61: ; preds = %entry + %case.cmp62 = icmp eq i32 %0, 33 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 34 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 35 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 36 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 37 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 38 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 39 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 40 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 41 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 42 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 43 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 44 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 45 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 46 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 47 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 58 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 59 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 60 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 61 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 62 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 63 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 64 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 91 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 92 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 93 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 94 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 95 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 96 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 123 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 124 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 125 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 126 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isspace(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock9 + +NodeBlock9: ; preds = %entry + %case.cmp10 = icmp eq i32 %0, 32 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 9 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 10 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 11 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 12 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 13 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isupper(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -65 + %switch = icmp ult i32 %.off, 26 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isxdigit(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock41 + +NodeBlock41: ; preds = %entry + %case.cmp42 = icmp eq i32 %0, 48 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 49 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 50 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 51 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 52 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 53 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 54 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 55 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 56 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 57 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 97 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 98 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 99 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 100 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 101 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 102 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 65 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 66 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 67 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 68 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 69 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 70 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @c_toupper(i32 %c) #3 { +entry: + %retval = alloca i32, align 4 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -97 + %switch = icmp ult i32 %.off, 26 + %1 = load i32, i32* %c.addr, align 4 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + %sub = sub nsw i32 %1, 97 + %add = add nsw i32 %sub, 65 + store i32 %add, i32* %retval, align 4 + br label %return + +sw.default: ; preds = %entry + store i32 %1, i32* %retval, align 4 + br label %return + +return: ; preds = %sw.default, %sw.bb + %2 = load i32, i32* %retval, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @klee_init_fds(i32 %n_files, i32 %file_length, i32 %stdin_length, i32 %sym_stdout_flag, i32 %save_all_writes_flag, i32 %max_failures) #3 { +entry: + %n_files.addr = alloca i32, align 4 + %file_length.addr = alloca i32, align 4 + %stdin_length.addr = alloca i32, align 4 + %sym_stdout_flag.addr = alloca i32, align 4 + %save_all_writes_flag.addr = alloca i32, align 4 + %max_failures.addr = alloca i32, align 4 + %k = alloca i32, align 4 + %name = alloca [7 x i8], align 1 + %s = alloca %struct.stat64, align 8 + store i32 %n_files, i32* %n_files.addr, align 4 + store i32 %file_length, i32* %file_length.addr, align 4 + store i32 %stdin_length, i32* %stdin_length.addr, align 4 + store i32 %sym_stdout_flag, i32* %sym_stdout_flag.addr, align 4 + store i32 %save_all_writes_flag, i32* %save_all_writes_flag.addr, align 4 + store i32 %max_failures, i32* %max_failures.addr, align 4 + %0 = bitcast [7 x i8]* %name to i8* + %1 = call i8* @memcpy(i8* %0, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @__const.klee_init_fds.name, i32 0, i32 0), i64 7) + %call = call i32 @stat64(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.137, i64 0, i64 0), %struct.stat64* %s) #11 + %2 = load i32, i32* %n_files.addr, align 4 + store i32 %2, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %3 = load i32, i32* %n_files.addr, align 4 + %conv = zext i32 %3 to i64 + %mul = mul i64 24, %conv + %call1 = call noalias i8* @malloc(i64 %mul) #11 + %4 = bitcast i8* %call1 to %struct.exe_disk_file_t* + store %struct.exe_disk_file_t* %4, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %5 = load i32, i32* %n_files.addr, align 4 + %tobool = icmp eq i32 %5, 0 + %6 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %6, null + %or.cond = or i1 %tobool, %tobool2 + br i1 %or.cond, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @gs_report_error.141(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.138, i64 0, i64 0), i32 124, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.139, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.140, i64 0, i64 0)) #24 + unreachable + +if.end: ; preds = %entry + store i32 0, i32* %k, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %7 = load i32, i32* %k, align 4 + %8 = load i32, i32* %n_files.addr, align 4 + %cmp = icmp ult i32 %7, %8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %9 = load i32, i32* %k, align 4 + %add = add i32 65, %9 + %conv4 = trunc i32 %add to i8 + %arrayidx = getelementptr inbounds [7 x i8], [7 x i8]* %name, i64 0, i64 0 + store i8 %conv4, i8* %arrayidx, align 1 + %10 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %11 = load i32, i32* %k, align 4 + %idxprom = zext i32 %11 to i64 + %arrayidx5 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %10, i64 %idxprom + %12 = load i32, i32* %file_length.addr, align 4 + %arraydecay = getelementptr inbounds [7 x i8], [7 x i8]* %name, i64 0, i64 0 + call void @__create_new_dfile(%struct.exe_disk_file_t* %arrayidx5, i32 %12, i8* %arraydecay, %struct.stat64* %s) + %13 = load i32, i32* %k, align 4 + %inc = add i32 %13, 1 + store i32 %inc, i32* %k, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %14 = load i32, i32* %stdin_length.addr, align 4 + %tobool6 = icmp ne i32 %14, 0 + br i1 %tobool6, label %if.then7, label %if.else + +if.then7: ; preds = %for.end + %call8 = call noalias i8* @malloc(i64 24) #11 + %15 = bitcast i8* %call8 to %struct.exe_disk_file_t* + store %struct.exe_disk_file_t* %15, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + %16 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + %tobool9 = icmp ne %struct.exe_disk_file_t* %16, null + br i1 %tobool9, label %if.end11, label %if.then10 + +if.then10: ; preds = %if.then7 + call void @gs_report_error.141(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.138, i64 0, i64 0), i32 135, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.139, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.140, i64 0, i64 0)) #24 + unreachable + +if.end11: ; preds = %if.then7 + %17 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + %18 = load i32, i32* %stdin_length.addr, align 4 + call void @__create_new_dfile(%struct.exe_disk_file_t* %17, i32 %18, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.4.142, i64 0, i64 0), %struct.stat64* %s) + %19 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + store %struct.exe_disk_file_t* %19, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0, i64 0, i32 3), align 8 + br label %if.end12 + +if.else: ; preds = %for.end + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + br label %if.end12 + +if.end12: ; preds = %if.else, %if.end11 + %20 = load i32, i32* %max_failures.addr, align 4 + store i32 %20, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %21 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool13 = icmp ne i32 %21, 0 + br i1 %tobool13, label %if.then14, label %if.end31 + +if.then14: ; preds = %if.end12 + %call15 = call noalias i8* @malloc(i64 4) #11 + %22 = bitcast i8* %call15 to i32* + store i32* %22, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %call16 = call noalias i8* @malloc(i64 4) #11 + %23 = bitcast i8* %call16 to i32* + store i32* %23, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %call17 = call noalias i8* @malloc(i64 4) #11 + %24 = bitcast i8* %call17 to i32* + store i32* %24, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %call18 = call noalias i8* @malloc(i64 4) #11 + %25 = bitcast i8* %call18 to i32* + store i32* %25, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %call19 = call noalias i8* @malloc(i64 4) #11 + %26 = bitcast i8* %call19 to i32* + store i32* %26, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %27 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %tobool20 = icmp ne i32* %27, null + %28 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %tobool22 = icmp ne i32* %28, null + %or.cond1 = and i1 %tobool20, %tobool22 + %29 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %tobool24 = icmp ne i32* %29, null + %or.cond2 = and i1 %or.cond1, %tobool24 + %30 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %tobool26 = icmp ne i32* %30, null + %or.cond3 = and i1 %or.cond2, %tobool26 + %31 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %tobool28 = icmp ne i32* %31, null + %or.cond4 = and i1 %or.cond3, %tobool28 + br i1 %or.cond4, label %if.end30, label %if.then29 + +if.then29: ; preds = %if.then14 + call void @gs_report_error.141(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.138, i64 0, i64 0), i32 150, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.139, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.140, i64 0, i64 0)) #24 + unreachable + +if.end30: ; preds = %if.then14 + %32 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %33 = bitcast i32* %32 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %33, i64 4, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.5.143, i64 0, i64 0)) + %34 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %35 = bitcast i32* %34 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %35, i64 4, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.6.144, i64 0, i64 0)) + %36 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %37 = bitcast i32* %36 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %37, i64 4, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.7.145, i64 0, i64 0)) + %38 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %39 = bitcast i32* %38 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %39, i64 4, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.8.146, i64 0, i64 0)) + %40 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %41 = bitcast i32* %40 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %41, i64 4, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.9.147, i64 0, i64 0)) + br label %if.end31 + +if.end31: ; preds = %if.end30, %if.end12 + %42 = load i32, i32* %sym_stdout_flag.addr, align 4 + %tobool32 = icmp ne i32 %42, 0 + br i1 %tobool32, label %if.then33, label %if.else38 + +if.then33: ; preds = %if.end31 + %call34 = call noalias i8* @malloc(i64 24) #11 + %43 = bitcast i8* %call34 to %struct.exe_disk_file_t* + store %struct.exe_disk_file_t* %43, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + %44 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + %tobool35 = icmp ne %struct.exe_disk_file_t* %44, null + br i1 %tobool35, label %if.end37, label %if.then36 + +if.then36: ; preds = %if.then33 + call void @gs_report_error.141(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.138, i64 0, i64 0), i32 163, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.139, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.140, i64 0, i64 0)) #24 + unreachable + +if.end37: ; preds = %if.then33 + %45 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + call void @__create_new_dfile(%struct.exe_disk_file_t* %45, i32 1024, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.10.148, i64 0, i64 0), %struct.stat64* %s) + %46 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + store %struct.exe_disk_file_t* %46, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0, i64 1, i32 3), align 8 + store i32 0, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 3), align 8 + br label %if.end39 + +if.else38: ; preds = %if.end31 + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + br label %if.end39 + +if.end39: ; preds = %if.else38, %if.end37 + %47 = load i32, i32* %save_all_writes_flag.addr, align 4 + store i32 %47, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 3), align 8 + %call40 = call i32 @__sym_uint32(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.11.149, i64 0, i64 0)) + store i32 %call40, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 2), align 4 + %48 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 2), align 4 + %cmp41 = icmp eq i32 %48, 1 + call void @gs_assume(i1 zeroext %cmp41) + ret void +} + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error.141(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.152, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__create_new_dfile(%struct.exe_disk_file_t* %dfile, i32 %size, i8* %name, %struct.stat64* %defaults) #3 { +entry: + %dfile.addr = alloca %struct.exe_disk_file_t*, align 8 + %size.addr = alloca i32, align 4 + %name.addr = alloca i8*, align 8 + %defaults.addr = alloca %struct.stat64*, align 8 + %s = alloca %struct.stat64*, align 8 + %sp = alloca i8*, align 8 + %sname = alloca [64 x i8], align 16 + store %struct.exe_disk_file_t* %dfile, %struct.exe_disk_file_t** %dfile.addr, align 8 + store i32 %size, i32* %size.addr, align 4 + store i8* %name, i8** %name.addr, align 8 + store %struct.stat64* %defaults, %struct.stat64** %defaults.addr, align 8 + %call = call noalias i8* @malloc(i64 144) #11 + %0 = bitcast i8* %call to %struct.stat64* + store %struct.stat64* %0, %struct.stat64** %s, align 8 + %1 = load %struct.stat64*, %struct.stat64** %s, align 8 + %tobool = icmp ne %struct.stat64* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @gs_report_error.141(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.138, i64 0, i64 0), i32 47, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.139, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.140, i64 0, i64 0)) #24 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %name.addr, align 8 + store i8* %2, i8** %sp, align 8 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %3 = load i8*, i8** %sp, align 8 + %4 = load i8, i8* %3, align 1 + %tobool1 = icmp ne i8 %4, 0 + %5 = load i8*, i8** %sp, align 8 + br i1 %tobool1, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %6 = load i8, i8* %5, align 1 + %7 = load i8*, i8** %sp, align 8 + %8 = load i8*, i8** %name.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %8 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %arrayidx = getelementptr inbounds [64 x i8], [64 x i8]* %sname, i64 0, i64 %sub.ptr.sub + store i8 %6, i8* %arrayidx, align 1 + %9 = load i8*, i8** %sp, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %sp, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %10 = load i8*, i8** %name.addr, align 8 + %sub.ptr.lhs.cast2 = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast3 = ptrtoint i8* %10 to i64 + %sub.ptr.sub4 = sub i64 %sub.ptr.lhs.cast2, %sub.ptr.rhs.cast3 + %arrayidx5 = getelementptr inbounds [64 x i8], [64 x i8]* %sname, i64 0, i64 %sub.ptr.sub4 + %11 = call i8* @memcpy(i8* %arrayidx5, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.13.150, i64 0, i64 0), i64 6) + %12 = load i32, i32* %size.addr, align 4 + %tobool6 = icmp ne i32 %12, 0 + br i1 %tobool6, label %if.end8, label %if.else + +if.else: ; preds = %for.end + call void @__assert_fail(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.14.151, i64 0, i64 0), i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.138, i64 0, i64 0), i32 55, i8* getelementptr inbounds ([88 x i8], [88 x i8]* @__PRETTY_FUNCTION__.__create_new_dfile, i64 0, i64 0)) #26 + unreachable + +if.end8: ; preds = %for.end + %13 = load i32, i32* %size.addr, align 4 + %14 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size9 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %14, i32 0, i32 0 + store i32 %13, i32* %size9, align 8 + %15 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size10 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %15, i32 0, i32 0 + %16 = load i32, i32* %size10, align 8 + %conv = zext i32 %16 to i64 + %call11 = call noalias i8* @malloc(i64 %conv) #11 + %17 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %contents = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %17, i32 0, i32 1 + store i8* %call11, i8** %contents, align 8 + %18 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %contents12 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %18, i32 0, i32 1 + %19 = load i8*, i8** %contents12, align 8 + %tobool13 = icmp ne i8* %19, null + br i1 %tobool13, label %if.end15, label %if.then14 + +if.then14: ; preds = %if.end8 + call void @gs_report_error.141(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.138, i64 0, i64 0), i32 60, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.139, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.140, i64 0, i64 0)) #24 + unreachable + +if.end15: ; preds = %if.end8 + %20 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %contents16 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %20, i32 0, i32 1 + %21 = load i8*, i8** %contents16, align 8 + %22 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size17 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %22, i32 0, i32 0 + %23 = load i32, i32* %size17, align 8 + %conv18 = zext i32 %23 to i64 + %24 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %21, i64 %conv18, i8* %24) + %25 = load %struct.stat64*, %struct.stat64** %s, align 8 + %26 = bitcast %struct.stat64* %25 to i8* + %arraydecay = getelementptr inbounds [64 x i8], [64 x i8]* %sname, i64 0, i64 0 + call void (i8*, i64, ...) @make_symbolic(i8* %26, i64 144, i8* %arraydecay) + %27 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %27, i32 0, i32 1 + %28 = load i64, i64* %st_ino, align 8 + %call19 = call i32 @gs_is_symbolic(i64 %28) + %tobool20 = icmp ne i32 %call19, 0 + br i1 %tobool20, label %if.end26, label %land.lhs.true + +land.lhs.true: ; preds = %if.end15 + %29 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino21 = getelementptr inbounds %struct.stat64, %struct.stat64* %29, i32 0, i32 1 + %30 = load i64, i64* %st_ino21, align 8 + %and = and i64 %30, 2147483647 + %cmp = icmp eq i64 %and, 0 + br i1 %cmp, label %if.then23, label %if.end26 + +if.then23: ; preds = %land.lhs.true + %31 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_ino24 = getelementptr inbounds %struct.stat64, %struct.stat64* %31, i32 0, i32 1 + %32 = load i64, i64* %st_ino24, align 8 + %33 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino25 = getelementptr inbounds %struct.stat64, %struct.stat64* %33, i32 0, i32 1 + store i64 %32, i64* %st_ino25, align 8 + br label %if.end26 + +if.end26: ; preds = %if.then23, %land.lhs.true, %if.end15 + %34 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino27 = getelementptr inbounds %struct.stat64, %struct.stat64* %34, i32 0, i32 1 + %35 = load i64, i64* %st_ino27, align 8 + %and28 = and i64 %35, 2147483647 + %cmp29 = icmp ne i64 %and28, 0 + call void @gs_assume(i1 zeroext %cmp29) + %36 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_blksize = getelementptr inbounds %struct.stat64, %struct.stat64* %36, i32 0, i32 9 + %37 = load i64, i64* %st_blksize, align 8 + %and31 = and i64 %37, -65536 + %cmp32 = icmp eq i64 %and31, 0 + call void @gs_assume(i1 zeroext %cmp32) + %38 = load %struct.stat64*, %struct.stat64** %s, align 8 + %39 = bitcast %struct.stat64* %38 to i8* + %40 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %40, i32 0, i32 3 + %41 = load i32, i32* %st_mode, align 8 + %and34 = and i32 %41, -61952 + %tobool35 = icmp ne i32 %and34, 0 + %lnot = xor i1 %tobool35, true + call void @gs_prefer_cex(i8* %39, i1 zeroext %lnot) + %42 = load %struct.stat64*, %struct.stat64** %s, align 8 + %43 = bitcast %struct.stat64* %42 to i8* + %44 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_dev = getelementptr inbounds %struct.stat64, %struct.stat64* %44, i32 0, i32 0 + %45 = load i64, i64* %st_dev, align 8 + %46 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_dev36 = getelementptr inbounds %struct.stat64, %struct.stat64* %46, i32 0, i32 0 + %47 = load i64, i64* %st_dev36, align 8 + %cmp37 = icmp eq i64 %45, %47 + call void @gs_prefer_cex(i8* %43, i1 zeroext %cmp37) + %48 = load %struct.stat64*, %struct.stat64** %s, align 8 + %49 = bitcast %struct.stat64* %48 to i8* + %50 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_rdev = getelementptr inbounds %struct.stat64, %struct.stat64* %50, i32 0, i32 7 + %51 = load i64, i64* %st_rdev, align 8 + %52 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_rdev39 = getelementptr inbounds %struct.stat64, %struct.stat64* %52, i32 0, i32 7 + %53 = load i64, i64* %st_rdev39, align 8 + %cmp40 = icmp eq i64 %51, %53 + call void @gs_prefer_cex(i8* %49, i1 zeroext %cmp40) + %54 = load %struct.stat64*, %struct.stat64** %s, align 8 + %55 = bitcast %struct.stat64* %54 to i8* + %56 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode42 = getelementptr inbounds %struct.stat64, %struct.stat64* %56, i32 0, i32 3 + %57 = load i32, i32* %st_mode42, align 8 + %and43 = and i32 %57, 448 + %cmp44 = icmp eq i32 %and43, 384 + call void @gs_prefer_cex(i8* %55, i1 zeroext %cmp44) + %58 = load %struct.stat64*, %struct.stat64** %s, align 8 + %59 = bitcast %struct.stat64* %58 to i8* + %60 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode46 = getelementptr inbounds %struct.stat64, %struct.stat64* %60, i32 0, i32 3 + %61 = load i32, i32* %st_mode46, align 8 + %and47 = and i32 %61, 56 + %cmp48 = icmp eq i32 %and47, 32 + call void @gs_prefer_cex(i8* %59, i1 zeroext %cmp48) + %62 = load %struct.stat64*, %struct.stat64** %s, align 8 + %63 = bitcast %struct.stat64* %62 to i8* + %64 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode50 = getelementptr inbounds %struct.stat64, %struct.stat64* %64, i32 0, i32 3 + %65 = load i32, i32* %st_mode50, align 8 + %and51 = and i32 %65, 7 + %cmp52 = icmp eq i32 %and51, 4 + call void @gs_prefer_cex(i8* %63, i1 zeroext %cmp52) + %66 = load %struct.stat64*, %struct.stat64** %s, align 8 + %67 = bitcast %struct.stat64* %66 to i8* + %68 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode54 = getelementptr inbounds %struct.stat64, %struct.stat64* %68, i32 0, i32 3 + %69 = load i32, i32* %st_mode54, align 8 + %and55 = and i32 %69, 61440 + %cmp56 = icmp eq i32 %and55, 32768 + call void @gs_prefer_cex(i8* %67, i1 zeroext %cmp56) + %70 = load %struct.stat64*, %struct.stat64** %s, align 8 + %71 = bitcast %struct.stat64* %70 to i8* + %72 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_nlink = getelementptr inbounds %struct.stat64, %struct.stat64* %72, i32 0, i32 2 + %73 = load i64, i64* %st_nlink, align 8 + %cmp58 = icmp eq i64 %73, 1 + call void @gs_prefer_cex(i8* %71, i1 zeroext %cmp58) + %74 = load %struct.stat64*, %struct.stat64** %s, align 8 + %75 = bitcast %struct.stat64* %74 to i8* + %76 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_uid = getelementptr inbounds %struct.stat64, %struct.stat64* %76, i32 0, i32 4 + %77 = load i32, i32* %st_uid, align 4 + %78 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_uid60 = getelementptr inbounds %struct.stat64, %struct.stat64* %78, i32 0, i32 4 + %79 = load i32, i32* %st_uid60, align 4 + %cmp61 = icmp eq i32 %77, %79 + call void @gs_prefer_cex(i8* %75, i1 zeroext %cmp61) + %80 = load %struct.stat64*, %struct.stat64** %s, align 8 + %81 = bitcast %struct.stat64* %80 to i8* + %82 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_gid = getelementptr inbounds %struct.stat64, %struct.stat64* %82, i32 0, i32 5 + %83 = load i32, i32* %st_gid, align 8 + %84 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_gid63 = getelementptr inbounds %struct.stat64, %struct.stat64* %84, i32 0, i32 5 + %85 = load i32, i32* %st_gid63, align 8 + %cmp64 = icmp eq i32 %83, %85 + call void @gs_prefer_cex(i8* %81, i1 zeroext %cmp64) + %86 = load %struct.stat64*, %struct.stat64** %s, align 8 + %87 = bitcast %struct.stat64* %86 to i8* + %88 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_blksize66 = getelementptr inbounds %struct.stat64, %struct.stat64* %88, i32 0, i32 9 + %89 = load i64, i64* %st_blksize66, align 8 + %cmp67 = icmp eq i64 %89, 4096 + call void @gs_prefer_cex(i8* %87, i1 zeroext %cmp67) + %90 = load %struct.stat64*, %struct.stat64** %s, align 8 + %91 = bitcast %struct.stat64* %90 to i8* + %92 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_atim = getelementptr inbounds %struct.stat64, %struct.stat64* %92, i32 0, i32 11 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim, i32 0, i32 0 + %93 = load i64, i64* %tv_sec, align 8 + %94 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_atim69 = getelementptr inbounds %struct.stat64, %struct.stat64* %94, i32 0, i32 11 + %tv_sec70 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim69, i32 0, i32 0 + %95 = load i64, i64* %tv_sec70, align 8 + %cmp71 = icmp eq i64 %93, %95 + call void @gs_prefer_cex(i8* %91, i1 zeroext %cmp71) + %96 = load %struct.stat64*, %struct.stat64** %s, align 8 + %97 = bitcast %struct.stat64* %96 to i8* + %98 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mtim = getelementptr inbounds %struct.stat64, %struct.stat64* %98, i32 0, i32 12 + %tv_sec73 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim, i32 0, i32 0 + %99 = load i64, i64* %tv_sec73, align 8 + %100 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_mtim74 = getelementptr inbounds %struct.stat64, %struct.stat64* %100, i32 0, i32 12 + %tv_sec75 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim74, i32 0, i32 0 + %101 = load i64, i64* %tv_sec75, align 8 + %cmp76 = icmp eq i64 %99, %101 + call void @gs_prefer_cex(i8* %97, i1 zeroext %cmp76) + %102 = load %struct.stat64*, %struct.stat64** %s, align 8 + %103 = bitcast %struct.stat64* %102 to i8* + %104 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ctim = getelementptr inbounds %struct.stat64, %struct.stat64* %104, i32 0, i32 13 + %tv_sec78 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim, i32 0, i32 0 + %105 = load i64, i64* %tv_sec78, align 8 + %106 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_ctim79 = getelementptr inbounds %struct.stat64, %struct.stat64* %106, i32 0, i32 13 + %tv_sec80 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim79, i32 0, i32 0 + %107 = load i64, i64* %tv_sec80, align 8 + %cmp81 = icmp eq i64 %105, %107 + call void @gs_prefer_cex(i8* %103, i1 zeroext %cmp81) + %108 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size83 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %108, i32 0, i32 0 + %109 = load i32, i32* %size83, align 8 + %conv84 = zext i32 %109 to i64 + %110 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_size = getelementptr inbounds %struct.stat64, %struct.stat64* %110, i32 0, i32 8 + store i64 %conv84, i64* %st_size, align 8 + %111 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_blocks = getelementptr inbounds %struct.stat64, %struct.stat64* %111, i32 0, i32 10 + store i64 8, i64* %st_blocks, align 8 + %112 = load %struct.stat64*, %struct.stat64** %s, align 8 + %113 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %113, i32 0, i32 2 + store %struct.stat64* %112, %struct.stat64** %stat, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__sym_uint32(i8* %name) #3 { +entry: + %name.addr = alloca i8*, align 8 + %x = alloca i32, align 4 + store i8* %name, i8** %name.addr, align 8 + %0 = bitcast i32* %x to i8* + %1 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %0, i64 4, i8* %1) + %2 = load i32, i32* %x, align 4 + ret i32 %2 +} + +declare dso_local void @gs_prefer_cex(i8*, i1 zeroext) #5 + +; Function Attrs: noinline nounwind uwtable +define weak hidden i32 @__syscall_rt_sigaction(i32 %signum, %struct.sigaction.800* %act, %struct.sigaction.800* %oldact, i64 %_something) #3 { +entry: + %signum.addr = alloca i32, align 4 + %act.addr = alloca %struct.sigaction.800*, align 8 + %oldact.addr = alloca %struct.sigaction.800*, align 8 + %_something.addr = alloca i64, align 8 + store i32 %signum, i32* %signum.addr, align 4 + store %struct.sigaction.800* %act, %struct.sigaction.800** %act.addr, align 8 + store %struct.sigaction.800* %oldact, %struct.sigaction.800** %oldact.addr, align 8 + store i64 %_something, i64* %_something.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.153, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @sigaction(i32 %signum, %struct.sigaction.800* %act, %struct.sigaction.800* %oldact) #3 { +entry: + %signum.addr = alloca i32, align 4 + %act.addr = alloca %struct.sigaction.800*, align 8 + %oldact.addr = alloca %struct.sigaction.800*, align 8 + store i32 %signum, i32* %signum.addr, align 4 + store %struct.sigaction.800* %act, %struct.sigaction.800** %act.addr, align 8 + store %struct.sigaction.800* %oldact, %struct.sigaction.800** %oldact.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.153, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @sigprocmask(i32 %how, %struct.fd_set* %set, %struct.fd_set* %oldset) #3 { +entry: + %how.addr = alloca i32, align 4 + %set.addr = alloca %struct.fd_set*, align 8 + %oldset.addr = alloca %struct.fd_set*, align 8 + store i32 %how, i32* %how.addr, align 4 + store %struct.fd_set* %set, %struct.fd_set** %set.addr, align 8 + store %struct.fd_set* %oldset, %struct.fd_set** %oldset.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.153, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @fdatasync(i32 %fd) #3 { +entry: + %fd.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local void @sync() #3 { +entry: + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @__socketcall(i32 %type, i32* %args) #3 { +entry: + %type.addr = alloca i32, align 4 + %args.addr = alloca i32*, align 8 + store i32 %type, i32* %type.addr, align 4 + store i32* %args, i32** %args.addr, align 8 + call void @gs_warning.159(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.1.158, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 97, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @gs_warning.159(i8* %message) #3 { +entry: + %message.addr = alloca i8*, align 8 + store i8* %message, i8** %message.addr, align 8 + %0 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %0) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.11.160, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @_IO_getc(%struct._IO_FILE* %f) #3 { +entry: + %f.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %f, %struct._IO_FILE** %f.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %f.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %0) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @_IO_putc(i32 %c, %struct._IO_FILE* %f) #3 { +entry: + %c.addr = alloca i32, align 4 + %f.addr = alloca %struct._IO_FILE*, align 8 + store i32 %c, i32* %c.addr, align 4 + store %struct._IO_FILE* %f, %struct._IO_FILE** %f.addr, align 8 + %0 = load i32, i32* %c.addr, align 4 + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %f.addr, align 8 + %call = call i32 bitcast (i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked to i32 (i32, %struct._IO_FILE*)*)(i32 %0, %struct._IO_FILE* %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mkdir(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + call void @gs_warning.159(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2.163, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 5, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mkfifo(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + call void @gs_warning.159(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2.163, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 5, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mknod(i8* nonnull %pathname, i32 %mode, i64 %dev) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + %dev.addr = alloca i64, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + store i64 %dev, i64* %dev.addr, align 8 + call void @gs_warning.159(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2.163, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 5, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @pipe(i32* %filedes) #3 { +entry: + %filedes.addr = alloca i32*, align 8 + store i32* %filedes, i32** %filedes.addr, align 8 + call void @gs_warning.159(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.3.164, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 23, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @link(i8* nonnull %oldpath, i8* nonnull %newpath) #3 { +entry: + %oldpath.addr = alloca i8*, align 8 + %newpath.addr = alloca i8*, align 8 + store i8* %oldpath, i8** %oldpath.addr, align 8 + store i8* %newpath, i8** %newpath.addr, align 8 + call void @gs_warning.159(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.165, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @symlink(i8* nonnull %oldpath, i8* nonnull %newpath) #3 { +entry: + %oldpath.addr = alloca i8*, align 8 + %newpath.addr = alloca i8*, align 8 + store i8* %oldpath, i8** %oldpath.addr, align 8 + store i8* %newpath, i8** %newpath.addr, align 8 + call void @gs_warning.159(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.165, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @rename(i8* %oldpath, i8* %newpath) #3 { +entry: + %oldpath.addr = alloca i8*, align 8 + %newpath.addr = alloca i8*, align 8 + store i8* %oldpath, i8** %oldpath.addr, align 8 + store i8* %newpath, i8** %newpath.addr, align 8 + call void @gs_warning.159(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.165, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @nanosleep(%struct.timespec* %req, %struct.timespec* %rem) #3 { +entry: + %req.addr = alloca %struct.timespec*, align 8 + %rem.addr = alloca %struct.timespec*, align 8 + store %struct.timespec* %req, %struct.timespec** %req.addr, align 8 + store %struct.timespec* %rem, %struct.timespec** %rem.addr, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @clock_gettime(i32 %clk_id, %struct.timespec* %res) #3 { +entry: + %clk_id.addr = alloca i32, align 4 + %res.addr = alloca %struct.timespec*, align 8 + %tv = alloca %struct.timespec, align 8 + store i32 %clk_id, i32* %clk_id.addr, align 4 + store %struct.timespec* %res, %struct.timespec** %res.addr, align 8 + %call = call i32 @gettimeofday(%struct.timespec* %tv, i8* null) #11 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %0 = load i64, i64* %tv_sec, align 8 + %1 = load %struct.timespec*, %struct.timespec** %res.addr, align 8 + %tv_sec1 = getelementptr inbounds %struct.timespec, %struct.timespec* %1, i32 0, i32 0 + store i64 %0, i64* %tv_sec1, align 8 + %tv_usec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 1 + %2 = load i64, i64* %tv_usec, align 8 + %mul = mul nsw i64 %2, 1000 + %3 = load %struct.timespec*, %struct.timespec** %res.addr, align 8 + %tv_nsec = getelementptr inbounds %struct.timespec, %struct.timespec* %3, i32 0, i32 1 + store i64 %mul, i64* %tv_nsec, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @clock_settime(i32 %clk_id, %struct.timespec* %res) #3 { +entry: + %clk_id.addr = alloca i32, align 4 + %res.addr = alloca %struct.timespec*, align 8 + store i32 %clk_id, i32* %clk_id.addr, align 4 + store %struct.timespec* %res, %struct.timespec** %res.addr, align 8 + call void @gs_warning.159(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.165, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @time(i64* %t) #3 { +entry: + %t.addr = alloca i64*, align 8 + %tv = alloca %struct.timespec, align 8 + store i64* %t, i64** %t.addr, align 8 + %call = call i32 @gettimeofday(%struct.timespec* %tv, i8* null) #11 + %0 = load i64*, i64** %t.addr, align 8 + %tobool = icmp ne i64* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %1 = load i64, i64* %tv_sec, align 8 + %2 = load i64*, i64** %t.addr, align 8 + store i64 %1, i64* %2, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %tv_sec1 = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %3 = load i64, i64* %tv_sec1, align 8 + ret i64 %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @times(%struct.tms* %buf) #3 { +entry: + %buf.addr = alloca %struct.tms*, align 8 + store %struct.tms* %buf, %struct.tms** %buf.addr, align 8 + %0 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tobool = icmp ne %struct.tms* %0, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + call void @gs_warning.159(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.5.166, i64 0, i64 0)) + br label %if.end + +if.else: ; preds = %entry + call void @gs_warning.159(i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.6.167, i64 0, i64 0)) + %1 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_utime = getelementptr inbounds %struct.tms, %struct.tms* %1, i32 0, i32 0 + store i64 0, i64* %tms_utime, align 8 + %2 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_stime = getelementptr inbounds %struct.tms, %struct.tms* %2, i32 0, i32 1 + store i64 0, i64* %tms_stime, align 8 + %3 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_cutime = getelementptr inbounds %struct.tms, %struct.tms* %3, i32 0, i32 2 + store i64 0, i64* %tms_cutime, align 8 + %4 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_cstime = getelementptr inbounds %struct.tms, %struct.tms* %4, i32 0, i32 3 + store i64 0, i64* %tms_cstime, align 8 + br label %if.end + +if.end: ; preds = %if.else, %if.then + ret i64 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local %struct.utmpx* @getutxent() #3 { +entry: + %call = call %struct.utmp* bitcast (%struct.utmp.323* ()* @getutent to %struct.utmp* ()*)() #11 + %0 = bitcast %struct.utmp* %call to %struct.utmpx* + ret %struct.utmpx* %0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local void @setutxent() #3 { +entry: + call void @setutent() #11 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local void @endutxent() #3 { +entry: + call void @endutent() #11 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @utmpxname(i8* %file) #3 { +entry: + %file.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + %call = call i32 @utmpname(i8* %0) #11 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @euidaccess(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %1 = load i32, i32* %mode.addr, align 4 + %call = call i32 @access(i8* %0, i32 %1) #11 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @eaccess(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %1 = load i32, i32* %mode.addr, align 4 + %call = call i32 @euidaccess(i8* %0, i32 %1) #11 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @group_member(i32 %__gid) #3 { +entry: + %__gid.addr = alloca i32, align 4 + store i32 %__gid, i32* %__gid.addr, align 4 + %0 = load i32, i32* %__gid.addr, align 4 + %call = call i32 @getgid() #11 + %cmp = icmp eq i32 %0, %call + br i1 %cmp, label %lor.end, label %lor.rhs + +lor.rhs: ; preds = %entry + %1 = load i32, i32* %__gid.addr, align 4 + %call1 = call i32 @getegid() #11 + %cmp2 = icmp eq i32 %1, %call1 + br label %lor.end + +lor.end: ; preds = %lor.rhs, %entry + %2 = phi i1 [ true, %entry ], [ %cmp2, %lor.rhs ] + %lor.ext = zext i1 %2 to i32 + ret i32 %lor.ext +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @utime(i8* nonnull %filename, %struct.timespec* %buf) #3 { +entry: + %filename.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.timespec*, align 8 + store i8* %filename, i8** %filename.addr, align 8 + store %struct.timespec* %buf, %struct.timespec** %buf.addr, align 8 + call void @gs_warning.159(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.165, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @futimes(i32 %fd, %struct.timespec* %times) #3 { +entry: + %fd.addr = alloca i32, align 4 + %times.addr = alloca %struct.timespec*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.timespec* %times, %struct.timespec** %times.addr, align 8 + call void @gs_warning.159(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.7.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 9, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind readonly uwtable +define dso_local i32 @strverscmp(i8* nonnull %__s1, i8* nonnull %__s2) #15 { +entry: + %__s1.addr = alloca i8*, align 8 + %__s2.addr = alloca i8*, align 8 + store i8* %__s1, i8** %__s1.addr, align 8 + store i8* %__s2, i8** %__s2.addr, align 8 + %0 = load i8*, i8** %__s1.addr, align 8 + %1 = load i8*, i8** %__s2.addr, align 8 + %call = call i32 @strcmp(i8* %0, i8* %1) #23 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @gnu_dev_major(i64 %__dev) #3 { +entry: + %__dev.addr = alloca i64, align 8 + store i64 %__dev, i64* %__dev.addr, align 8 + %0 = load i64, i64* %__dev.addr, align 8 + %shr = lshr i64 %0, 8 + %and = and i64 %shr, 4095 + %1 = load i64, i64* %__dev.addr, align 8 + %shr1 = lshr i64 %1, 32 + %conv = trunc i64 %shr1 to i32 + %and2 = and i32 %conv, -4096 + %conv3 = zext i32 %and2 to i64 + %or = or i64 %and, %conv3 + %conv4 = trunc i64 %or to i32 + ret i32 %conv4 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @gnu_dev_minor(i64 %__dev) #3 { +entry: + %__dev.addr = alloca i64, align 8 + store i64 %__dev, i64* %__dev.addr, align 8 + %0 = load i64, i64* %__dev.addr, align 8 + %and = and i64 %0, 255 + %1 = load i64, i64* %__dev.addr, align 8 + %shr = lshr i64 %1, 12 + %conv = trunc i64 %shr to i32 + %and1 = and i32 %conv, -256 + %conv2 = zext i32 %and1 to i64 + %or = or i64 %and, %conv2 + %conv3 = trunc i64 %or to i32 + ret i32 %conv3 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i64 @gnu_dev_makedev(i32 %__major, i32 %__minor) #3 { +entry: + %__major.addr = alloca i32, align 4 + %__minor.addr = alloca i32, align 4 + store i32 %__major, i32* %__major.addr, align 4 + store i32 %__minor, i32* %__minor.addr, align 4 + %0 = load i32, i32* %__minor.addr, align 4 + %and = and i32 %0, 255 + %1 = load i32, i32* %__major.addr, align 4 + %and1 = and i32 %1, 4095 + %shl = shl i32 %and1, 8 + %or = or i32 %and, %shl + %conv = zext i32 %or to i64 + %2 = load i32, i32* %__minor.addr, align 4 + %and2 = and i32 %2, -256 + %conv3 = zext i32 %and2 to i64 + %shl4 = shl i64 %conv3, 12 + %or5 = or i64 %conv, %shl4 + %3 = load i32, i32* %__major.addr, align 4 + %and6 = and i32 %3, -4096 + %conv7 = zext i32 %and6 to i64 + %shl8 = shl i64 %conv7, 32 + %or9 = or i64 %or5, %shl8 + ret i64 %or9 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i8* @canonicalize_file_name(i8* nonnull %name) #3 { +entry: + %retval = alloca i8*, align 8 + %name.addr = alloca i8*, align 8 + %resolved_name = alloca i8*, align 8 + store i8* %name, i8** %name.addr, align 8 + %call = call noalias i8* @malloc(i64 4096) #11 + store i8* %call, i8** %resolved_name, align 8 + %0 = load i8*, i8** %resolved_name, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %name.addr, align 8 + %2 = load i8*, i8** %resolved_name, align 8 + %call1 = call i8* @realpath(i8* %1, i8* %2) #11 + %tobool2 = icmp ne i8* %call1, null + %3 = load i8*, i8** %resolved_name, align 8 + br i1 %tobool2, label %if.end4, label %if.then3 + +if.then3: ; preds = %if.end + call void @free(i8* %3) #11 + store i8* null, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %if.end + store i8* %3, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %4 = load i8*, i8** %retval, align 8 + ret i8* %4 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @getloadavg(double* nonnull %loadavg, i32 %nelem) #3 { +entry: + %loadavg.addr = alloca double*, align 8 + %nelem.addr = alloca i32, align 4 + store double* %loadavg, double** %loadavg.addr, align 8 + store i32 %nelem, i32* %nelem.addr, align 4 + call void @gs_warning.159(i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.8.171, i64 0, i64 0)) + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @wait(i32* %status) #3 { +entry: + %status.addr = alloca i32*, align 8 + store i32* %status, i32** %status.addr, align 8 + call void @gs_warning.159(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.172, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @wait3(i32* %status, i32 %options, %struct.rusage* %rusage) #3 { +entry: + %status.addr = alloca i32*, align 8 + %options.addr = alloca i32, align 4 + %rusage.addr = alloca %struct.rusage*, align 8 + store i32* %status, i32** %status.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + store %struct.rusage* %rusage, %struct.rusage** %rusage.addr, align 8 + call void @gs_warning.159(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.172, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @wait4(i32 %pid, i32* %status, i32 %options, %struct.rusage* %rusage) #3 { +entry: + %pid.addr = alloca i32, align 4 + %status.addr = alloca i32*, align 8 + %options.addr = alloca i32, align 4 + %rusage.addr = alloca %struct.rusage*, align 8 + store i32 %pid, i32* %pid.addr, align 4 + store i32* %status, i32** %status.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + store %struct.rusage* %rusage, %struct.rusage** %rusage.addr, align 8 + call void @gs_warning.159(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.172, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @waitpid(i32 %pid, i32* %status, i32 %options) #3 { +entry: + %pid.addr = alloca i32, align 4 + %status.addr = alloca i32*, align 8 + %options.addr = alloca i32, align 4 + store i32 %pid, i32* %pid.addr, align 4 + store i32* %status, i32** %status.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + call void @gs_warning.159(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.172, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @waitid(i32 %idtype, i32 %id, %struct.siginfo_t* %infop, i32 %options) #3 { +entry: + %idtype.addr = alloca i32, align 4 + %id.addr = alloca i32, align 4 + %infop.addr = alloca %struct.siginfo_t*, align 8 + %options.addr = alloca i32, align 4 + store i32 %idtype, i32* %idtype.addr, align 4 + store i32 %id, i32* %id.addr, align 4 + store %struct.siginfo_t* %infop, %struct.siginfo_t** %infop.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + call void @gs_warning.159(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.172, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mount(i8* %source, i8* %target, i8* %filesystemtype, i64 %mountflags, i8* %data) #3 { +entry: + %source.addr = alloca i8*, align 8 + %target.addr = alloca i8*, align 8 + %filesystemtype.addr = alloca i8*, align 8 + %mountflags.addr = alloca i64, align 8 + %data.addr = alloca i8*, align 8 + store i8* %source, i8** %source.addr, align 8 + store i8* %target, i8** %target.addr, align 8 + store i8* %filesystemtype, i8** %filesystemtype.addr, align 8 + store i64 %mountflags, i64* %mountflags.addr, align 8 + store i8* %data, i8** %data.addr, align 8 + call void @gs_warning.159(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.165, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @umount(i8* %target) #3 { +entry: + %target.addr = alloca i8*, align 8 + store i8* %target, i8** %target.addr, align 8 + call void @gs_warning.159(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.165, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @umount2(i8* %target, i32 %flags) #3 { +entry: + %target.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + store i8* %target, i8** %target.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + call void @gs_warning.159(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.165, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @swapon(i8* %path, i32 %swapflags) #3 { +entry: + %path.addr = alloca i8*, align 8 + %swapflags.addr = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store i32 %swapflags, i32* %swapflags.addr, align 4 + call void @gs_warning.159(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.165, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @swapoff(i8* %path) #3 { +entry: + %path.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + call void @gs_warning.159(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.165, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setgid(i32 %gid) #3 { +entry: + %gid.addr = alloca i32, align 4 + store i32 %gid, i32* %gid.addr, align 4 + call void @gs_warning.159(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.10.173, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setgroups(i64 %size, i32* %list) #3 { +entry: + %size.addr = alloca i64, align 8 + %list.addr = alloca i32*, align 8 + store i64 %size, i64* %size.addr, align 8 + store i32* %list, i32** %list.addr, align 8 + call void @gs_warning.159(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.165, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @sethostname(i8* nonnull %name, i64 %len) #3 { +entry: + %name.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + store i8* %name, i8** %name.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + call void @gs_warning.159(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.165, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setpgid(i32 %pid, i32 %pgid) #3 { +entry: + %pid.addr = alloca i32, align 4 + %pgid.addr = alloca i32, align 4 + store i32 %pid, i32* %pid.addr, align 4 + store i32 %pgid, i32* %pgid.addr, align 4 + call void @gs_warning.159(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.165, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setpgrp() #3 { +entry: + call void @gs_warning.159(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.165, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setpriority(i32 %which, i32 %who, i32 %prio) #3 { +entry: + %which.addr = alloca i32, align 4 + %who.addr = alloca i32, align 4 + %prio.addr = alloca i32, align 4 + store i32 %which, i32* %which.addr, align 4 + store i32 %who, i32* %who.addr, align 4 + store i32 %prio, i32* %prio.addr, align 4 + call void @gs_warning.159(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.165, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setresgid(i32 %rgid, i32 %egid, i32 %sgid) #3 { +entry: + %rgid.addr = alloca i32, align 4 + %egid.addr = alloca i32, align 4 + %sgid.addr = alloca i32, align 4 + store i32 %rgid, i32* %rgid.addr, align 4 + store i32 %egid, i32* %egid.addr, align 4 + store i32 %sgid, i32* %sgid.addr, align 4 + call void @gs_warning.159(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.165, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setresuid(i32 %ruid, i32 %euid, i32 %suid) #3 { +entry: + %ruid.addr = alloca i32, align 4 + %euid.addr = alloca i32, align 4 + %suid.addr = alloca i32, align 4 + store i32 %ruid, i32* %ruid.addr, align 4 + store i32 %euid, i32* %euid.addr, align 4 + store i32 %suid, i32* %suid.addr, align 4 + call void @gs_warning.159(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.165, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setrlimit(i32 %resource, %struct.timespec* %rlim) #3 { +entry: + %resource.addr = alloca i32, align 4 + %rlim.addr = alloca %struct.timespec*, align 8 + store i32 %resource, i32* %resource.addr, align 4 + store %struct.timespec* %rlim, %struct.timespec** %rlim.addr, align 8 + call void @gs_warning.159(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.165, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setrlimit64(i32 %resource, %struct.timespec* %rlim) #3 { +entry: + %resource.addr = alloca i32, align 4 + %rlim.addr = alloca %struct.timespec*, align 8 + store i32 %resource, i32* %resource.addr, align 4 + store %struct.timespec* %rlim, %struct.timespec** %rlim.addr, align 8 + call void @gs_warning.159(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.165, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setsid() #3 { +entry: + call void @gs_warning.159(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.165, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @settimeofday(%struct.timespec* %tv, %struct.__mbstate_t.512* %tz) #3 { +entry: + %tv.addr = alloca %struct.timespec*, align 8 + %tz.addr = alloca %struct.__mbstate_t.512*, align 8 + store %struct.timespec* %tv, %struct.timespec** %tv.addr, align 8 + store %struct.__mbstate_t.512* %tz, %struct.__mbstate_t.512** %tz.addr, align 8 + call void @gs_warning.159(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.165, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setuid(i32 %uid) #3 { +entry: + %uid.addr = alloca i32, align 4 + store i32 %uid, i32* %uid.addr, align 4 + call void @gs_warning.159(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.10.173, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @reboot(i32 %flag) #3 { +entry: + %flag.addr = alloca i32, align 4 + store i32 %flag, i32* %flag.addr, align 4 + call void @gs_warning.159(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.165, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mlock(i8* %addr, i64 %len) #3 { +entry: + %addr.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + store i8* %addr, i8** %addr.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + call void @gs_warning.159(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.165, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @munlock(i8* %addr, i64 %len) #3 { +entry: + %addr.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + store i8* %addr, i8** %addr.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + call void @gs_warning.159(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.165, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @pause() #3 { +entry: + call void @gs_warning.159(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.165, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i64 @readahead(i32 %fd, i64* %offset, i64 %count) #3 { +entry: + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64*, align 8 + %count.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64* %offset, i64** %offset.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + call void @gs_warning.159(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.165, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i64 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i8* @mmap(i8* %start, i64 %length, i32 %prot, i32 %flags, i32 %fd, i64 %offset) #3 { +entry: + %start.addr = alloca i8*, align 8 + %length.addr = alloca i64, align 8 + %prot.addr = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + store i8* %start, i8** %start.addr, align 8 + store i64 %length, i64* %length.addr, align 8 + store i32 %prot, i32* %prot.addr, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + call void @gs_warning.159(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.165, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i8* inttoptr (i64 -1 to i8*) +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i8* @mmap64(i8* %start, i64 %length, i32 %prot, i32 %flags, i32 %fd, i64 %offset) #3 { +entry: + %start.addr = alloca i8*, align 8 + %length.addr = alloca i64, align 8 + %prot.addr = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + store i8* %start, i8** %start.addr, align 8 + store i64 %length, i64* %length.addr, align 8 + store i32 %prot, i32* %prot.addr, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + call void @gs_warning.159(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.165, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i8* inttoptr (i64 -1 to i8*) +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @munmap(i8* %start, i64 %length) #3 { +entry: + %start.addr = alloca i8*, align 8 + %length.addr = alloca i64, align 8 + store i8* %start, i8** %start.addr, align 8 + store i64 %length, i64* %length.addr, align 8 + call void @gs_warning.159(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.165, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__locale_mbrtowc_l(i32* noalias %dst, i8* noalias %src, %struct.__uclibc_locale_struct.201* %loc) #0 { +entry: + %retval = alloca i32, align 4 + %dst.addr = alloca i32*, align 8 + %src.addr = alloca i8*, align 8 + %loc.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %ps = alloca %struct.__mbstate_t.512, align 4 + %p = alloca i8*, align 8 + %r = alloca i64, align 8 + %wc = alloca i32, align 4 + store i32* %dst, i32** %dst.addr, align 8 + store i8* %src, i8** %src.addr, align 8 + store %struct.__uclibc_locale_struct.201* %loc, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 9 + %1 = load i8, i8* %encoding, align 8 + %conv = zext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 1 + %2 = load i8*, i8** %src.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i8* %2, i8** %p, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %ps, i32 0, i32 0 + store i32 0, i32* %__mask, align 4 + %3 = load i32*, i32** %dst.addr, align 8 + %call = call i64 @_wchar_utf8sntowcs(i32* %3, i64 1, i8** %p, i64 -1, %struct.__mbstate_t.512* %ps, i32 1) #18 + store i64 %call, i64* %r, align 8 + %4 = load i64, i64* %r, align 8 + %cmp2 = icmp eq i64 %4, 1 + %5 = load i8*, i8** %p, align 8 + %6 = load i8*, i8** %src.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %6 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %7 = load i64, i64* %r, align 8 + %cond = select i1 %cmp2, i64 %sub.ptr.sub, i64 %7 + %conv4 = trunc i64 %cond to i32 + store i32 %conv4, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load i8, i8* %2, align 1 + %conv5 = zext i8 %8 to i32 + %9 = load i32*, i32** %dst.addr, align 8 + store i32 %conv5, i32* %9, align 4 + %cmp6 = icmp slt i32 %conv5, 128 + br i1 %cmp6, label %if.then8, label %if.end12 + +if.then8: ; preds = %if.end + %10 = load i8*, i8** %src.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv9 = sext i8 %11 to i32 + %cmp10 = icmp ne i32 %conv9, 0 + %conv11 = zext i1 %cmp10 to i32 + store i32 %conv11, i32* %retval, align 4 + br label %return + +if.end12: ; preds = %if.end + %12 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %encoding13 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %12, i32 0, i32 9 + %13 = load i8, i8* %encoding13, align 8 + %conv14 = zext i8 %13 to i32 + %cmp15 = icmp eq i32 %conv14, 2 + br i1 %cmp15, label %if.then17, label %if.end24 + +if.then17: ; preds = %if.end12 + %14 = load i32*, i32** %dst.addr, align 8 + %15 = load i32, i32* %14, align 4 + %sub = sub nsw i32 %15, 128 + store i32 %sub, i32* %wc, align 4 + %16 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %tbl8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %16, i32 0, i32 17 + %17 = load i16*, i16** %tbl8c2wc, align 8 + %18 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %idx8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %18, i32 0, i32 16 + %19 = load i8*, i8** %idx8c2wc, align 8 + %20 = load i32, i32* %wc, align 4 + %shr = ashr i32 %20, 3 + %idxprom = sext i32 %shr to i64 + %arrayidx = getelementptr inbounds i8, i8* %19, i64 %idxprom + %21 = load i8, i8* %arrayidx, align 1 + %conv18 = zext i8 %21 to i32 + %shl = shl i32 %conv18, 3 + %22 = load i32, i32* %wc, align 4 + %and = and i32 %22, 7 + %add = add nsw i32 %shl, %and + %idxprom19 = sext i32 %add to i64 + %arrayidx20 = getelementptr inbounds i16, i16* %17, i64 %idxprom19 + %23 = load i16, i16* %arrayidx20, align 2 + %conv21 = zext i16 %23 to i32 + %24 = load i32*, i32** %dst.addr, align 8 + store i32 %conv21, i32* %24, align 4 + %25 = load i32*, i32** %dst.addr, align 8 + %26 = load i32, i32* %25, align 4 + %tobool = icmp ne i32 %26, 0 + br i1 %tobool, label %if.then22, label %if.end24 + +if.then22: ; preds = %if.then17 + store i32 1, i32* %retval, align 4 + br label %return + +if.end24: ; preds = %if.then17, %if.end12 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end24, %if.then22, %if.then8, %if.then + %27 = load i32, i32* %retval, align 4 + ret i32 %27 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__raise(i32 %signo) #0 { +entry: + %signo.addr = alloca i32, align 4 + store i32 %signo, i32* %signo.addr, align 4 + %call = call i32 @getpid() #19 + %0 = load i32, i32* %signo.addr, align 4 + %call1 = call i32 @kill(i32 %call, i32 %0) #19 + ret i32 %call1 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__libc_sigaction(i32 %sig, %struct.sigaction.800* %act, %struct.sigaction.800* %oact) #0 { +entry: + %sig.addr = alloca i32, align 4 + %act.addr = alloca %struct.sigaction.800*, align 8 + %oact.addr = alloca %struct.sigaction.800*, align 8 + %result = alloca i32, align 4 + %kact = alloca %struct.kernel_sigaction, align 8 + %koact = alloca %struct.kernel_sigaction, align 8 + store i32 %sig, i32* %sig.addr, align 4 + store %struct.sigaction.800* %act, %struct.sigaction.800** %act.addr, align 8 + store %struct.sigaction.800* %oact, %struct.sigaction.800** %oact.addr, align 8 + %0 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %tobool = icmp ne %struct.sigaction.800* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %__sigaction_handler = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %1, i32 0, i32 0 + %sa_handler = bitcast %union.anon.799* %__sigaction_handler to void (i32)** + %2 = load void (i32)*, void (i32)** %sa_handler, align 8 + %k_sa_handler = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 0 + store void (i32)* %2, void (i32)** %k_sa_handler, align 8 + %sa_mask = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 3 + %3 = bitcast %struct.fd_set* %sa_mask to i8* + %4 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %sa_mask1 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %4, i32 0, i32 1 + %5 = bitcast %struct.fd_set* %sa_mask1 to i8* + %call = call i8* @memcpy(i8* %3, i8* %5, i64 128) #19 + %6 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %sa_flags = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %6, i32 0, i32 2 + %7 = load i32, i32* %sa_flags, align 8 + %conv = sext i32 %7 to i64 + %sa_flags2 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 1 + store i64 %conv, i64* %sa_flags2, align 8 + %8 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %sa_restorer = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %8, i32 0, i32 3 + %9 = load void ()*, void ()** %sa_restorer, align 8 + %sa_restorer3 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 2 + store void ()* %9, void ()** %sa_restorer3, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %10 = load i32, i32* %sig.addr, align 4 + %11 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %tobool4 = icmp ne %struct.sigaction.800* %11, null + %kact. = select i1 %tobool4, %struct.kernel_sigaction* %kact, %struct.kernel_sigaction* null + %12 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %tobool5 = icmp ne %struct.sigaction.800* %12, null + %cond9 = select i1 %tobool5, %struct.kernel_sigaction* %koact, %struct.kernel_sigaction* null + %call10 = call i32 bitcast (i32 (i32, %struct.sigaction.800*, %struct.sigaction.800*, i64)* @__syscall_rt_sigaction to i32 (i32, %struct.kernel_sigaction*, %struct.kernel_sigaction*, i64)*)(i32 %10, %struct.kernel_sigaction* %kact., %struct.kernel_sigaction* %cond9, i64 8) #18 + store i32 %call10, i32* %result, align 4 + %13 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %tobool11 = icmp ne %struct.sigaction.800* %13, null + %14 = load i32, i32* %result, align 4 + %cmp = icmp sge i32 %14, 0 + %or.cond = and i1 %tobool11, %cmp + br i1 %or.cond, label %if.then13, label %if.end25 + +if.then13: ; preds = %if.end + %k_sa_handler14 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 0 + %15 = load void (i32)*, void (i32)** %k_sa_handler14, align 8 + %16 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %__sigaction_handler15 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %16, i32 0, i32 0 + %sa_handler16 = bitcast %union.anon.799* %__sigaction_handler15 to void (i32)** + store void (i32)* %15, void (i32)** %sa_handler16, align 8 + %17 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %sa_mask17 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %17, i32 0, i32 1 + %18 = bitcast %struct.fd_set* %sa_mask17 to i8* + %sa_mask18 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 3 + %19 = bitcast %struct.fd_set* %sa_mask18 to i8* + %call19 = call i8* @memcpy(i8* %18, i8* %19, i64 128) #19 + %sa_flags20 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 1 + %20 = load i64, i64* %sa_flags20, align 8 + %conv21 = trunc i64 %20 to i32 + %21 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %sa_flags22 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %21, i32 0, i32 2 + store i32 %conv21, i32* %sa_flags22, align 8 + %sa_restorer23 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 2 + %22 = load void ()*, void ()** %sa_restorer23, align 8 + %23 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %sa_restorer24 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %23, i32 0, i32 3 + store void ()* %22, void ()** %sa_restorer24, align 8 + br label %if.end25 + +if.end25: ; preds = %if.then13, %if.end + %24 = load i32, i32* %result, align 4 + ret i32 %24 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__sigismember(%struct.fd_set* %__set, i32 %__sig) #0 { +entry: + %__set.addr = alloca %struct.fd_set*, align 8 + %__sig.addr = alloca i32, align 4 + %__mask = alloca i64, align 8 + %__word = alloca i64, align 8 + store %struct.fd_set* %__set, %struct.fd_set** %__set.addr, align 8 + store i32 %__sig, i32* %__sig.addr, align 4 + %0 = load i32, i32* %__sig.addr, align 4 + %sub = sub nsw i32 %0, 1 + %conv = sext i32 %sub to i64 + %rem = urem i64 %conv, 64 + %shl = shl i64 1, %rem + store i64 %shl, i64* %__mask, align 8 + %1 = load i32, i32* %__sig.addr, align 4 + %sub1 = sub nsw i32 %1, 1 + %conv2 = sext i32 %sub1 to i64 + %div = udiv i64 %conv2, 64 + store i64 %div, i64* %__word, align 8 + %2 = load %struct.fd_set*, %struct.fd_set** %__set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %2, i32 0, i32 0 + %3 = load i64, i64* %__word, align 8 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 %3 + %4 = load i64, i64* %arrayidx, align 8 + %5 = load i64, i64* %__mask, align 8 + %and = and i64 %4, %5 + %tobool = icmp ne i64 %and, 0 + %6 = zext i1 %tobool to i64 + %cond = select i1 %tobool, i32 1, i32 0 + ret i32 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__sigaddset(%struct.fd_set* %__set, i32 %__sig) #0 { +entry: + %__set.addr = alloca %struct.fd_set*, align 8 + %__sig.addr = alloca i32, align 4 + %__mask = alloca i64, align 8 + %__word = alloca i64, align 8 + store %struct.fd_set* %__set, %struct.fd_set** %__set.addr, align 8 + store i32 %__sig, i32* %__sig.addr, align 4 + %0 = load i32, i32* %__sig.addr, align 4 + %sub = sub nsw i32 %0, 1 + %conv = sext i32 %sub to i64 + %rem = urem i64 %conv, 64 + %shl = shl i64 1, %rem + store i64 %shl, i64* %__mask, align 8 + %1 = load i32, i32* %__sig.addr, align 4 + %sub1 = sub nsw i32 %1, 1 + %conv2 = sext i32 %sub1 to i64 + %div = udiv i64 %conv2, 64 + store i64 %div, i64* %__word, align 8 + %2 = load i64, i64* %__mask, align 8 + %3 = load %struct.fd_set*, %struct.fd_set** %__set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %3, i32 0, i32 0 + %4 = load i64, i64* %__word, align 8 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 %4 + %5 = load i64, i64* %arrayidx, align 8 + %or = or i64 %5, %2 + store i64 %or, i64* %arrayidx, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__sigdelset(%struct.fd_set* %__set, i32 %__sig) #0 { +entry: + %__set.addr = alloca %struct.fd_set*, align 8 + %__sig.addr = alloca i32, align 4 + %__mask = alloca i64, align 8 + %__word = alloca i64, align 8 + store %struct.fd_set* %__set, %struct.fd_set** %__set.addr, align 8 + store i32 %__sig, i32* %__sig.addr, align 4 + %0 = load i32, i32* %__sig.addr, align 4 + %sub = sub nsw i32 %0, 1 + %conv = sext i32 %sub to i64 + %rem = urem i64 %conv, 64 + %shl = shl i64 1, %rem + store i64 %shl, i64* %__mask, align 8 + %1 = load i32, i32* %__sig.addr, align 4 + %sub1 = sub nsw i32 %1, 1 + %conv2 = sext i32 %sub1 to i64 + %div = udiv i64 %conv2, 64 + store i64 %div, i64* %__word, align 8 + %2 = load i64, i64* %__mask, align 8 + %neg = xor i64 %2, -1 + %3 = load %struct.fd_set*, %struct.fd_set** %__set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %3, i32 0, i32 0 + %4 = load i64, i64* %__word, align 8 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 %4 + %5 = load i64, i64* %arrayidx, align 8 + %and = and i64 %5, %neg + store i64 %and, i64* %arrayidx, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %bufsize = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 5 + %1 = load i8*, i8** %__bufpos, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 3 + %3 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %1 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %3 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %bufsize, align 8 + %cmp = icmp ne i64 %sub.ptr.sub, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 3 + %5 = load i8*, i8** %__bufstart1, align 8 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 5 + store i8* %5, i8** %__bufpos2, align 8 + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart3 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 3 + %9 = load i8*, i8** %__bufstart3, align 8 + %10 = load i64, i64* %bufsize, align 8 + %call = call i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %7, i8* %9, i64 %10) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos4 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 5 + %12 = load i8*, i8** %__bufpos4, align 8 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart5 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 3 + %14 = load i8*, i8** %__bufstart5, align 8 + %sub.ptr.lhs.cast6 = ptrtoint i8* %12 to i64 + %sub.ptr.rhs.cast7 = ptrtoint i8* %14 to i64 + %sub.ptr.sub8 = sub i64 %sub.ptr.lhs.cast6, %sub.ptr.rhs.cast7 + ret i64 %sub.ptr.sub8 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__fgetc_unlocked(%struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %uc = alloca i8, align 1 + %uc56 = alloca i8, align 1 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 5 + %1 = load i8*, i8** %__bufpos, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 7 + %3 = load i8*, i8** %__bufgetc_u, align 8 + %cmp = icmp ult i8* %1, %3 + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 5 + %5 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + %6 = load i8, i8* %5, align 1 + %conv = zext i8 %6 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 0 + %7 = load i16, i16* %__modeflags, align 8 + %conv2 = zext i16 %7 to i32 + %and = and i32 %conv2, 131 + %cmp3 = icmp ugt i32 %and, 128 + br i1 %cmp3, label %if.then5, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2r_o(%struct.__STDIO_FILE_STRUCT.568* %8, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end63, label %if.then5 + +if.then5: ; preds = %lor.lhs.false, %if.end + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %9, i32 0, i32 0 + %10 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %10 to i32 + %and8 = and i32 %conv7, 2 + %tobool9 = icmp ne i32 %and8, 0 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %tobool9, label %if.then10, label %if.end18 + +if.then10: ; preds = %if.then5 + %__ungot = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 10 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags11 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags11, align 8 + %dec = add i16 %13, -1 + store i16 %dec, i16* %__modeflags11, align 8 + %conv12 = zext i16 %13 to i32 + %and13 = and i32 %conv12, 1 + %idxprom = sext i32 %and13 to i64 + %arrayidx = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot, i64 0, i64 %idxprom + %14 = load i32, i32* %arrayidx, align 4 + %conv14 = trunc i32 %14 to i8 + store i8 %conv14, i8* %uc, align 1 + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__ungot15 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 10 + %arrayidx16 = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot15, i64 0, i64 1 + store i32 0, i32* %arrayidx16, align 4 + %16 = load i8, i8* %uc, align 1 + %conv17 = zext i8 %16 to i32 + store i32 %conv17, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %if.then5 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 6 + %17 = load i8*, i8** %__bufread, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos19 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 5 + %19 = load i8*, i8** %__bufpos19, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %17 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool20 = icmp ne i64 %sub.ptr.sub, 0 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %tobool20, label %if.then21, label %if.end25 + +if.then21: ; preds = %if.end18 + %__bufpos22 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 5 + %21 = load i8*, i8** %__bufpos22, align 8 + %incdec.ptr23 = getelementptr inbounds i8, i8* %21, i32 1 + store i8* %incdec.ptr23, i8** %__bufpos22, align 8 + %22 = load i8, i8* %21, align 1 + %conv24 = zext i8 %22 to i32 + store i32 %conv24, i32* %retval, align 4 + br label %return + +if.end25: ; preds = %if.end18 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 2 + %23 = load i32, i32* %__filedes, align 4 + %cmp26 = icmp eq i32 %23, -2 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags29 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 0 + %25 = load i16, i16* %__modeflags29, align 8 + %conv30 = zext i16 %25 to i32 + br i1 %cmp26, label %if.then28, label %if.end32 + +if.then28: ; preds = %if.end25 + %or = or i32 %conv30, 4 + %conv31 = trunc i32 %or to i16 + store i16 %conv31, i16* %__modeflags29, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end32: ; preds = %if.end25 + %and35 = and i32 %conv30, 768 + %tobool36 = icmp ne i32 %and35, 0 + br i1 %tobool36, label %if.then37, label %if.end39 + +if.then37: ; preds = %if.end32 + %call38 = call i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.568* bitcast (%struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist to %struct.__STDIO_FILE_STRUCT.568*)) #18 + br label %if.end39 + +if.end39: ; preds = %if.then37, %if.end32 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 4 + %27 = load i8*, i8** %__bufend, align 8 + %28 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %28, i32 0, i32 3 + %29 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast40 = ptrtoint i8* %27 to i64 + %sub.ptr.rhs.cast41 = ptrtoint i8* %29 to i64 + %sub.ptr.sub42 = sub i64 %sub.ptr.lhs.cast40, %sub.ptr.rhs.cast41 + %tobool43 = icmp ne i64 %sub.ptr.sub42, 0 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %tobool43, label %if.then44, label %if.else + +if.then44: ; preds = %if.end39 + %__bufstart45 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %30, i32 0, i32 3 + %31 = load i8*, i8** %__bufstart45, align 8 + %32 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u46 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %32, i32 0, i32 7 + store i8* %31, i8** %__bufgetc_u46, align 8 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call47 = call i64 @__stdio_rfill(%struct.__STDIO_FILE_STRUCT.568* %33) #18 + %tobool48 = icmp ne i64 %call47, 0 + br i1 %tobool48, label %if.then49, label %if.end63 + +if.then49: ; preds = %if.then44 + %34 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread50 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %34, i32 0, i32 6 + %35 = load i8*, i8** %__bufread50, align 8 + %36 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u51 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %36, i32 0, i32 7 + store i8* %35, i8** %__bufgetc_u51, align 8 + %37 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos52 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %37, i32 0, i32 5 + %38 = load i8*, i8** %__bufpos52, align 8 + %incdec.ptr53 = getelementptr inbounds i8, i8* %38, i32 1 + store i8* %incdec.ptr53, i8** %__bufpos52, align 8 + %39 = load i8, i8* %38, align 1 + %conv54 = zext i8 %39 to i32 + store i32 %conv54, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.end39 + %call57 = call i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.568* %30, i8* %uc56, i64 1) #18 + %tobool58 = icmp ne i64 %call57, 0 + br i1 %tobool58, label %if.then59, label %if.end63 + +if.then59: ; preds = %if.else + %40 = load i8, i8* %uc56, align 1 + %conv60 = zext i8 %40 to i32 + store i32 %conv60, i32* %retval, align 4 + br label %return + +if.end63: ; preds = %if.then44, %if.else, %lor.lhs.false + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end63, %if.then59, %if.then49, %if.then28, %if.then21, %if.then10, %if.then + %41 = load i32, i32* %retval, align 4 + ret i32 %41 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @sprintf(i8* noalias %buf, i8* noalias %format, ...) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %format.addr = alloca i8*, align 8 + %arg = alloca [1 x %struct.__va_list_tag.0], align 16 + %rv = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load i8*, i8** %buf.addr, align 8 + %1 = load i8*, i8** %format.addr, align 8 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %call = call i32 @vsnprintf(i8* %0, i64 -1, i8* %1, %struct.__va_list_tag.0* %arraydecay2) #19 + store i32 %call, i32* %rv, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + %2 = load i32, i32* %rv, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @strcmp(i8* nonnull %s1, i8* nonnull %s2) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %r = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + br label %while.cond + +while.cond: ; preds = %land.rhs, %entry + %0 = load i8*, i8** %s1.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = zext i8 %1 to i32 + %2 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %2, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %3 = load i8, i8* %2, align 1 + %conv1 = zext i8 %3 to i32 + %sub = sub nsw i32 %conv, %conv1 + store i32 %sub, i32* %r, align 4 + %cmp = icmp eq i32 %sub, 0 + br i1 %cmp, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %4 = load i8*, i8** %s1.addr, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr3, i8** %s1.addr, align 8 + %5 = load i8, i8* %4, align 1 + %conv4 = sext i8 %5 to i32 + %tobool = icmp ne i32 %conv4, 0 + br i1 %tobool, label %while.cond, label %while.end + +while.end: ; preds = %while.cond, %land.rhs + %6 = load i32, i32* %r, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i64 @strlen(i8* nonnull %s) #14 { +entry: + %s.addr = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load i8*, i8** %p, align 8 + %2 = load i8, i8* %1, align 1 + %tobool = icmp ne i8 %2, 0 + %3 = load i8*, i8** %p, align 8 + br i1 %tobool, label %for.inc, label %for.end + +for.inc: ; preds = %for.cond + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %4 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %3 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %4 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @strncmp(i8* nonnull %s1, i8* nonnull %s2, i64 %n) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i32 0, i32* %r, align 4 + br label %while.cond + +while.cond: ; preds = %land.rhs, %entry + %0 = load i64, i64* %n.addr, align 8 + %dec = add i64 %0, -1 + store i64 %dec, i64* %n.addr, align 8 + %tobool = icmp ne i64 %0, 0 + br i1 %tobool, label %land.lhs.true, label %while.end + +land.lhs.true: ; preds = %while.cond + %1 = load i8*, i8** %s1.addr, align 8 + %2 = load i8, i8* %1, align 1 + %conv = zext i8 %2 to i32 + %3 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %4 = load i8, i8* %3, align 1 + %conv1 = zext i8 %4 to i32 + %sub = sub nsw i32 %conv, %conv1 + store i32 %sub, i32* %r, align 4 + %cmp = icmp eq i32 %sub, 0 + br i1 %cmp, label %land.rhs, label %while.end + +land.rhs: ; preds = %land.lhs.true + %5 = load i8*, i8** %s1.addr, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr3, i8** %s1.addr, align 8 + %6 = load i8, i8* %5, align 1 + %conv4 = sext i8 %6 to i32 + %tobool5 = icmp ne i32 %conv4, 0 + br i1 %tobool5, label %while.cond, label %while.end + +while.end: ; preds = %while.cond, %land.lhs.true, %land.rhs + %7 = load i32, i32* %r, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @isatty(i32 %fd) #0 { +entry: + %fd.addr = alloca i32, align 4 + %term = alloca %struct.termios, align 4 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 @tcgetattr(i32 %0, %struct.termios* %term) #19 + %cmp = icmp eq i32 %call, 0 + %conv = zext i1 %cmp to i32 + ret i32 %conv +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @open64(i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i8*, i8** %pathname.addr, align 8 + %8 = load i32, i32* %flags.addr, align 4 + %9 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_open(i8* %7, i32 %8, i32 %9) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @openat64(i32 %fd, i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %fd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i32, i32* %fd.addr, align 4 + %8 = load i8*, i8** %pathname.addr, align 8 + %9 = load i32, i32* %flags.addr, align 4 + %10 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_openat(i32 %7, i8* %8, i32 %9, i32 %10) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @lseek64(i32 %fd, i64 %offset, i32 %whence) #3 { +entry: + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %offset.addr, align 8 + %2 = load i32, i32* %whence.addr, align 4 + %call = call i64 @__fd_lseek(i32 %0, i64 %1, i32 %2) + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__xstat64(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @stat64(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__lxstat64(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @lstat64(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fxstat64(i32 %vers, i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %vers, i32* %vers.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstat64(i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @ftruncate64(i32 %fd, i64 %length) #3 { +entry: + %fd.addr = alloca i32, align 4 + %length.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %length, i64* %length.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %length.addr, align 8 + %call = call i32 @__fd_ftruncate(i32 %0, i64 %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @statfs64(i8* nonnull %path, %struct.statfs* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.statfs*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.statfs* %buf, %struct.statfs** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.statfs*, %struct.statfs** %buf.addr, align 8 + %call = call i32 @__fd_statfs(i8* %0, %struct.statfs* %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @getdents64(i32 %fd, i8* nonnull %dirp, i64 %count) #3 { +entry: + %fd.addr = alloca i32, align 4 + %dirp.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %dirp, i8** %dirp.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i8*, i8** %dirp.addr, align 8 + %2 = bitcast i8* %1 to %struct.dirent64* + %3 = load i64, i64* %count.addr, align 8 + %conv = trunc i64 %3 to i32 + %call = call i32 @__fd_getdents(i32 %0, %struct.dirent64* %2, i32 %conv) + %conv1 = sext i32 %call to i64 + ret i64 %conv1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @kill(i32 %pid, i32 %sig) #3 { +entry: + %pid.addr = alloca i32, align 4 + %sig.addr = alloca i32, align 4 + store i32 %pid, i32* %pid.addr, align 4 + store i32 %sig, i32* %sig.addr, align 4 + call void @gs_warning.213(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.212, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @gs_warning.213(i8* %message) #3 { +entry: + %message.addr = alloca i8*, align 8 + store i8* %message, i8** %message.addr, align 8 + %0 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %0) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.7.214, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind returns_twice uwtable +define weak dso_local i32 @_setjmp(%struct.__jmp_buf_tag* %__env) #16 { +entry: + %__env.addr = alloca %struct.__jmp_buf_tag*, align 8 + store %struct.__jmp_buf_tag* %__env, %struct.__jmp_buf_tag** %__env.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1.215, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline noreturn nounwind uwtable +define dso_local void @longjmp(%struct.__jmp_buf_tag* %env, i32 %val) #6 { +entry: + %env.addr = alloca %struct.__jmp_buf_tag*, align 8 + %val.addr = alloca i32, align 4 + store %struct.__jmp_buf_tag* %env, %struct.__jmp_buf_tag** %env.addr, align 8 + store i32 %val, i32* %val.addr, align 4 + call void @gs_report_error.219(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.2.216, i64 0, i64 0), i32 37, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.3.217, i64 0, i64 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.4.218, i64 0, i64 0)) #24 + unreachable +} + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error.219(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.7.214, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execl(i8* nonnull %path, i8* nonnull %arg, ...) #3 { +entry: + %path.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + call void @gs_warning.213(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.220, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execlp(i8* nonnull %file, i8* nonnull %arg, ...) #3 { +entry: + %file.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + call void @gs_warning.213(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.220, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execle(i8* nonnull %path, i8* nonnull %arg, ...) #3 { +entry: + %path.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + call void @gs_warning.213(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.220, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execv(i8* nonnull %path, i8** nonnull %argv) #3 { +entry: + %path.addr = alloca i8*, align 8 + %argv.addr = alloca i8**, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + call void @gs_warning.213(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.220, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execvp(i8* nonnull %file, i8** nonnull %argv) #3 { +entry: + %file.addr = alloca i8*, align 8 + %argv.addr = alloca i8**, align 8 + store i8* %file, i8** %file.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + call void @gs_warning.213(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.220, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execve(i8* nonnull %file, i8** nonnull %argv, i8** %envp) #3 { +entry: + %file.addr = alloca i8*, align 8 + %argv.addr = alloca i8**, align 8 + %envp.addr = alloca i8**, align 8 + store i8* %file, i8** %file.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + store i8** %envp, i8*** %envp.addr, align 8 + call void @gs_warning.213(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.220, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fork() #3 { +entry: + call void @gs_warning.213(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.6.221, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 12, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind returns_twice uwtable +define dso_local i32 @vfork() #16 { +entry: + %call = call i32 @fork() #11 + ret i32 %call +} + +; Function Attrs: noinline nounwind readnone uwtable +define i16** @__ctype_b_loc() #12 { +entry: + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 0 + ret i16** %__ctype_b +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @__error(i32 %status, i32 %errnum, i8* %message, ...) #0 { +entry: + %status.addr = alloca i32, align 4 + %errnum.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %args = alloca [1 x %struct.__va_list_tag.0], align 16 + %__S = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %tmp = alloca i32, align 4 + store i32 %status, i32* %status.addr, align 4 + store i32 %errnum, i32* %errnum.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdout, align 8 + %call = call i32 @fflush(%struct.__STDIO_FILE_STRUCT.568* %0) #18 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %2 = load i8*, i8** %message.addr, align 8 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %call3 = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %1, i8* %2, %struct.__va_list_tag.0* %arraydecay2) #18 + %arraydecay4 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay45 = bitcast %struct.__va_list_tag.0* %arraydecay4 to i8* + call void @llvm.va_end(i8* %arraydecay45) + %3 = load i32, i32* @error_message_count, align 4 + %inc = add i32 %3, 1 + store i32 %inc, i32* @error_message_count, align 4 + %4 = load i32, i32* %errnum.addr, align 4 + %tobool = icmp ne i32 %4, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %6 = load i32, i32* %errnum.addr, align 4 + %call6 = call i8* @strerror(i32 %6) #19 + %call7 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %5, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.224, i64 0, i64 0), i8* %call6) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %7, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 5 + %9 = load i8*, i8** %__bufpos, align 8 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 8 + %11 = load i8*, i8** %__bufputc_u, align 8 + %cmp = icmp ult i8* %9, %11 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %if.end + %__bufpos8 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 5 + %13 = load i8*, i8** %__bufpos8, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %13, i32 1 + store i8* %incdec.ptr, i8** %__bufpos8, align 8 + store i8 10, i8* %13, align 1 + br label %cond.end + +cond.false: ; preds = %if.end + %call9 = call i32 @__fputc_unlocked(i32 10, %struct.__STDIO_FILE_STRUCT.568* %12) #18 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ 10, %cond.true ], [ %call9, %cond.false ] + store i32 %cond, i32* %tmp, align 4 + %14 = load i32, i32* %tmp, align 4 + %15 = load i32, i32* %status.addr, align 4 + %tobool10 = icmp ne i32 %15, 0 + br i1 %tobool10, label %if.then11, label %if.end12 + +if.then11: ; preds = %cond.end + %16 = load i32, i32* %status.addr, align 4 + call void @exit(i32 %16) #22 + unreachable + +if.end12: ; preds = %cond.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @__error_at_line(i32 %status, i32 %errnum, i8* %file_name, i32 %line_number, i8* %message, ...) #0 { +entry: + %status.addr = alloca i32, align 4 + %errnum.addr = alloca i32, align 4 + %file_name.addr = alloca i8*, align 8 + %line_number.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %args = alloca [1 x %struct.__va_list_tag.0], align 16 + %__S = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %tmp = alloca i32, align 4 + store i32 %status, i32* %status.addr, align 4 + store i32 %errnum, i32* %errnum.addr, align 4 + store i8* %file_name, i8** %file_name.addr, align 8 + store i32 %line_number, i32* %line_number.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + %0 = load i32, i32* @error_one_per_line, align 4 + %tobool = icmp ne i32 %0, 0 + br i1 %tobool, label %if.then, label %if.end4 + +if.then: ; preds = %entry + %1 = load i32, i32* @__error_at_line.old_line_number, align 4 + %2 = load i32, i32* %line_number.addr, align 4 + %cmp = icmp eq i32 %1, %2 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %if.then + %3 = load i8*, i8** %file_name.addr, align 8 + %4 = load i8*, i8** @__error_at_line.old_file_name, align 8 + %cmp1 = icmp eq i8* %3, %4 + br i1 %cmp1, label %if.end25, label %lor.lhs.false + +lor.lhs.false: ; preds = %land.lhs.true + %5 = load i8*, i8** @__error_at_line.old_file_name, align 8 + %6 = load i8*, i8** %file_name.addr, align 8 + %call = call i32 @strcmp(i8* %5, i8* %6) #20 + %tobool2 = icmp ne i32 %call, 0 + br i1 %tobool2, label %if.end, label %if.end25 + +if.end: ; preds = %lor.lhs.false, %if.then + %7 = load i8*, i8** %file_name.addr, align 8 + store i8* %7, i8** @__error_at_line.old_file_name, align 8 + %8 = load i32, i32* %line_number.addr, align 4 + store i32 %8, i32* @__error_at_line.old_line_number, align 4 + br label %if.end4 + +if.end4: ; preds = %if.end, %entry + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdout, align 8 + %call5 = call i32 @fflush(%struct.__STDIO_FILE_STRUCT.568* %9) #18 + %10 = load i8*, i8** %file_name.addr, align 8 + %cmp6 = icmp ne i8* %10, null + br i1 %cmp6, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end4 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %12 = load i8*, i8** %file_name.addr, align 8 + %13 = load i32, i32* %line_number.addr, align 4 + %call8 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %11, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1.225, i64 0, i64 0), i8* %12, i32 %13) #18 + br label %if.end9 + +if.end9: ; preds = %if.then7, %if.end4 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay10 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay10) + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %15 = load i8*, i8** %message.addr, align 8 + %arraydecay11 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %call12 = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %14, i8* %15, %struct.__va_list_tag.0* %arraydecay11) #18 + %arraydecay13 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay1314 = bitcast %struct.__va_list_tag.0* %arraydecay13 to i8* + call void @llvm.va_end(i8* %arraydecay1314) + %16 = load i32, i32* @error_message_count, align 4 + %inc = add i32 %16, 1 + store i32 %inc, i32* @error_message_count, align 4 + %17 = load i32, i32* %errnum.addr, align 4 + %tobool15 = icmp ne i32 %17, 0 + br i1 %tobool15, label %if.then16, label %if.end19 + +if.then16: ; preds = %if.end9 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %19 = load i32, i32* %errnum.addr, align 4 + %call17 = call i8* @strerror(i32 %19) #19 + %call18 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %18, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.224, i64 0, i64 0), i8* %call17) #18 + br label %if.end19 + +if.end19: ; preds = %if.then16, %if.end9 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %20, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %21 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %21, i32 0, i32 5 + %22 = load i8*, i8** %__bufpos, align 8 + %23 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %23, i32 0, i32 8 + %24 = load i8*, i8** %__bufputc_u, align 8 + %cmp20 = icmp ult i8* %22, %24 + %25 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + br i1 %cmp20, label %cond.true, label %cond.false + +cond.true: ; preds = %if.end19 + %__bufpos21 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %25, i32 0, i32 5 + %26 = load i8*, i8** %__bufpos21, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %26, i32 1 + store i8* %incdec.ptr, i8** %__bufpos21, align 8 + store i8 10, i8* %26, align 1 + br label %cond.end + +cond.false: ; preds = %if.end19 + %call22 = call i32 @__fputc_unlocked(i32 10, %struct.__STDIO_FILE_STRUCT.568* %25) #18 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ 10, %cond.true ], [ %call22, %cond.false ] + store i32 %cond, i32* %tmp, align 4 + %27 = load i32, i32* %tmp, align 4 + %28 = load i32, i32* %status.addr, align 4 + %tobool23 = icmp ne i32 %28, 0 + br i1 %tobool23, label %if.then24, label %if.end25 + +if.then24: ; preds = %cond.end + %29 = load i32, i32* %status.addr, align 4 + call void @exit(i32 %29) #22 + unreachable + +if.end25: ; preds = %land.lhs.true, %lor.lhs.false, %cond.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i8* @nl_langinfo(i32 %item) #0 { +entry: + %item.addr = alloca i32, align 4 + store i32 %item, i32* %item.addr, align 4 + %0 = load i32, i32* %item.addr, align 4 + %1 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %call = call i8* @nl_langinfo_l(i32 %0, %struct.__uclibc_locale_struct.201* %1) #18 + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define i8* @setlocale(i32 %category, i8* %locale) #0 { +entry: + %retval = alloca i8*, align 8 + %category.addr = alloca i32, align 4 + %locale.addr = alloca i8*, align 8 + store i32 %category, i32* %category.addr, align 4 + store i8* %locale, i8** %locale.addr, align 8 + %0 = load i32, i32* %category.addr, align 4 + %cmp = icmp ugt i32 %0, 6 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %locale.addr, align 8 + %cmp1 = icmp ne i8* %1, null + br i1 %cmp1, label %if.then2, label %if.end5 + +if.then2: ; preds = %if.end + %2 = load i32, i32* %category.addr, align 4 + %shl = shl i32 1, %2 + %3 = load i8*, i8** %locale.addr, align 8 + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__global_locale, align 8 + %call = call %struct.__uclibc_locale_struct.201* @newlocale(i32 %shl, i8* %3, %struct.__uclibc_locale_struct.201* %4) #19 + %tobool = icmp ne %struct.__uclibc_locale_struct.201* %call, null + br i1 %tobool, label %if.end4, label %if.then3 + +if.then3: ; preds = %if.then2 + store i8* null, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %if.then2 + %5 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__global_locale, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %5, i32 0, i32 6 + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + call void @update_hr_locale(i8* %arraydecay) #18 + br label %if.end5 + +if.end5: ; preds = %if.end4, %if.end + %6 = load i32, i32* %category.addr, align 4 + %mul = mul nsw i32 %6, 32 + %idx.ext = sext i32 %mul to i64 + %add.ptr = getelementptr inbounds i8, i8* getelementptr inbounds ([448 x i8], [448 x i8]* @hr_locale, i64 0, i64 0), i64 %idx.ext + store i8* %add.ptr, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %7 = load i8*, i8** %retval, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @update_hr_locale(i8* %spec) #0 { +entry: + %spec.addr = alloca i8*, align 8 + %loc = alloca i8*, align 8 + %s = alloca i8*, align 8 + %n = alloca i8*, align 8 + %i = alloca i32, align 4 + %category = alloca i32, align 4 + %done = alloca i32, align 4 + %at = alloca i8, align 1 + %q = alloca i8*, align 8 + store i8* %spec, i8** %spec.addr, align 8 + store i32 0, i32* %category, align 4 + store i32 0, i32* %done, align 4 + br label %do.body + +do.body: ; preds = %do.end127, %entry + %0 = load i8*, i8** %spec.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %0, i64 1 + store i8* %add.ptr, i8** %s, align 8 + %1 = load i32, i32* %category, align 4 + %mul = mul nsw i32 %1, 32 + %idx.ext = sext i32 %mul to i64 + %add.ptr1 = getelementptr inbounds i8, i8* getelementptr inbounds ([448 x i8], [448 x i8]* @hr_locale, i64 0, i64 0), i64 %idx.ext + store i8* %add.ptr1, i8** %n, align 8 + %2 = load i32, i32* %category, align 4 + %cmp = icmp eq i32 %2, 6 + br i1 %cmp, label %if.then, label %SKIP + +if.then: ; preds = %do.body + store i32 1, i32* %done, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.then + %3 = load i32, i32* %i, align 4 + %cmp2 = icmp slt i32 %3, 5 + br i1 %cmp2, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %4 = load i8*, i8** %s, align 8 + %5 = load i32, i32* %i, align 4 + %idxprom = sext i32 %5 to i64 + %arrayidx = getelementptr inbounds i8, i8* %4, i64 %idxprom + %6 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %6 to i32 + %7 = load i8*, i8** %s, align 8 + %8 = load i32, i32* %i, align 4 + %add = add nsw i32 %8, 2 + %idxprom3 = sext i32 %add to i64 + %arrayidx4 = getelementptr inbounds i8, i8* %7, i64 %idxprom3 + %9 = load i8, i8* %arrayidx4, align 1 + %conv5 = zext i8 %9 to i32 + %cmp6 = icmp ne i32 %conv, %conv5 + br i1 %cmp6, label %SKIP, label %lor.lhs.false + +lor.lhs.false: ; preds = %for.body + %10 = load i8*, i8** %s, align 8 + %11 = load i32, i32* %i, align 4 + %add8 = add nsw i32 %11, 1 + %idxprom9 = sext i32 %add8 to i64 + %arrayidx10 = getelementptr inbounds i8, i8* %10, i64 %idxprom9 + %12 = load i8, i8* %arrayidx10, align 1 + %conv11 = zext i8 %12 to i32 + %13 = load i8*, i8** %s, align 8 + %14 = load i32, i32* %i, align 4 + %add12 = add nsw i32 %14, 3 + %idxprom13 = sext i32 %add12 to i64 + %arrayidx14 = getelementptr inbounds i8, i8* %13, i64 %idxprom13 + %15 = load i8, i8* %arrayidx14, align 1 + %conv15 = zext i8 %15 to i32 + %cmp16 = icmp ne i32 %conv11, %conv15 + br i1 %cmp16, label %SKIP, label %for.inc + +for.inc: ; preds = %lor.lhs.false + %16 = load i32, i32* %i, align 4 + %add19 = add nsw i32 %16, 2 + store i32 %add19, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + store i32 0, i32* %category, align 4 + br label %SKIP + +SKIP: ; preds = %do.body, %for.end, %for.body, %lor.lhs.false + %17 = load i32, i32* %category, align 4 + %cmp21 = icmp eq i32 %17, 6 + %18 = load i32, i32* %category, align 4 + %cond = select i1 %cmp21, i32 0, i32 %18 + store i32 %cond, i32* %i, align 4 + %19 = load i32, i32* %i, align 4 + %mul23 = mul nsw i32 2, %19 + %20 = load i8*, i8** %s, align 8 + %idx.ext24 = sext i32 %mul23 to i64 + %add.ptr25 = getelementptr inbounds i8, i8* %20, i64 %idx.ext24 + store i8* %add.ptr25, i8** %s, align 8 + br label %do.body26 + +do.body26: ; preds = %if.end122, %SKIP + %21 = load i8*, i8** %s, align 8 + %22 = load i8, i8* %21, align 1 + %conv27 = zext i8 %22 to i32 + %cmp28 = icmp ne i32 %conv27, 255 + br i1 %cmp28, label %if.then35, label %lor.lhs.false30 + +lor.lhs.false30: ; preds = %do.body26 + %23 = load i8*, i8** %s, align 8 + %arrayidx31 = getelementptr inbounds i8, i8* %23, i64 1 + %24 = load i8, i8* %arrayidx31, align 1 + %conv32 = zext i8 %24 to i32 + %cmp33 = icmp ne i32 %conv32, 255 + br i1 %cmp33, label %if.then35, label %if.end122 + +if.then35: ; preds = %lor.lhs.false30, %do.body26 + %25 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %25, i32 0, i32 31 + %arraydecay = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales, i64 0, i64 0 + %26 = load i8*, i8** %s, align 8 + %27 = load i8, i8* %26, align 1 + %conv36 = zext i8 %27 to i32 + %and = and i32 %conv36, 127 + %shl = shl i32 %and, 7 + %28 = load i8*, i8** %s, align 8 + %arrayidx37 = getelementptr inbounds i8, i8* %28, i64 1 + %29 = load i8, i8* %arrayidx37, align 1 + %conv38 = zext i8 %29 to i32 + %and39 = and i32 %conv38, 127 + %add40 = add nsw i32 %shl, %and39 + %mul41 = mul nsw i32 9, %add40 + %idx.ext42 = sext i32 %mul41 to i64 + %add.ptr43 = getelementptr inbounds i8, i8* %arraydecay, i64 %idx.ext42 + store i8* %add.ptr43, i8** %loc, align 8 + %30 = load i32, i32* %category, align 4 + %cmp44 = icmp eq i32 %30, 6 + br i1 %cmp44, label %if.then46, label %if.end54 + +if.then46: ; preds = %if.then35 + %31 = load i8*, i8** %n, align 8 + %32 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %32, i32 0, i32 34 + %arraydecay47 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names, i64 0, i64 0 + %33 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names48 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %33, i32 0, i32 34 + %34 = load i32, i32* %i, align 4 + %idxprom49 = sext i32 %34 to i64 + %arrayidx50 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names48, i64 0, i64 %idxprom49 + %35 = load i8, i8* %arrayidx50, align 1 + %conv51 = zext i8 %35 to i32 + %idx.ext52 = sext i32 %conv51 to i64 + %add.ptr53 = getelementptr inbounds i8, i8* %arraydecay47, i64 %idx.ext52 + %call = call i8* @stpcpy(i8* %31, i8* %add.ptr53) #19 + store i8* %call, i8** %n, align 8 + %36 = load i8*, i8** %n, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %36, i32 1 + store i8* %incdec.ptr, i8** %n, align 8 + store i8 61, i8* %36, align 1 + br label %if.end54 + +if.end54: ; preds = %if.then46, %if.then35 + %37 = load i8*, i8** %loc, align 8 + %38 = load i8, i8* %37, align 1 + %conv55 = zext i8 %38 to i32 + %cmp56 = icmp eq i32 %conv55, 0 + br i1 %cmp56, label %if.then58, label %if.else + +if.then58: ; preds = %if.end54 + %39 = load i8*, i8** %n, align 8 + %incdec.ptr59 = getelementptr inbounds i8, i8* %39, i32 1 + store i8* %incdec.ptr59, i8** %n, align 8 + store i8 67, i8* %39, align 1 + %40 = load i8*, i8** %n, align 8 + store i8 0, i8* %40, align 1 + br label %if.end120 + +if.else: ; preds = %if.end54 + store i8 0, i8* %at, align 1 + %41 = load i8*, i8** %n, align 8 + %42 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_names5 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %42, i32 0, i32 32 + %arraydecay60 = getelementptr inbounds [835 x i8], [835 x i8]* %locale_names5, i64 0, i64 0 + %43 = load i8*, i8** %loc, align 8 + %44 = load i8, i8* %43, align 1 + %conv61 = zext i8 %44 to i32 + %sub = sub nsw i32 %conv61, 1 + %mul62 = mul nsw i32 5, %sub + %idx.ext63 = sext i32 %mul62 to i64 + %add.ptr64 = getelementptr inbounds i8, i8* %arraydecay60, i64 %idx.ext63 + %call65 = call i8* @memcpy(i8* %41, i8* %add.ptr64, i64 5) #19 + %45 = load i8*, i8** %n, align 8 + %arrayidx66 = getelementptr inbounds i8, i8* %45, i64 2 + %46 = load i8, i8* %arrayidx66, align 1 + %conv67 = sext i8 %46 to i32 + %cmp68 = icmp ne i32 %conv67, 95 + br i1 %cmp68, label %if.then70, label %if.end73 + +if.then70: ; preds = %if.else + %47 = load i8*, i8** %n, align 8 + %arrayidx71 = getelementptr inbounds i8, i8* %47, i64 2 + %48 = load i8, i8* %arrayidx71, align 1 + store i8 %48, i8* %at, align 1 + %49 = load i8*, i8** %n, align 8 + %arrayidx72 = getelementptr inbounds i8, i8* %49, i64 2 + store i8 95, i8* %arrayidx72, align 1 + br label %if.end73 + +if.end73: ; preds = %if.then70, %if.else + %50 = load i8*, i8** %n, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %50, i64 5 + store i8* %add.ptr74, i8** %n, align 8 + %51 = load i8*, i8** %n, align 8 + %incdec.ptr75 = getelementptr inbounds i8, i8* %51, i32 1 + store i8* %incdec.ptr75, i8** %n, align 8 + store i8 46, i8* %51, align 1 + %52 = load i8*, i8** %loc, align 8 + %arrayidx76 = getelementptr inbounds i8, i8* %52, i64 2 + %53 = load i8, i8* %arrayidx76, align 1 + %conv77 = zext i8 %53 to i32 + %cmp78 = icmp eq i32 %conv77, 2 + br i1 %cmp78, label %if.then80, label %if.else82 + +if.then80: ; preds = %if.end73 + %54 = load i8*, i8** %n, align 8 + %call81 = call i8* @stpcpy(i8* %54, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf8.232, i64 0, i64 0)) #19 + store i8* %call81, i8** %n, align 8 + br label %if.end100 + +if.else82: ; preds = %if.end73 + %55 = load i8*, i8** %loc, align 8 + %arrayidx83 = getelementptr inbounds i8, i8* %55, i64 2 + %56 = load i8, i8* %arrayidx83, align 1 + %conv84 = zext i8 %56 to i32 + %cmp85 = icmp sge i32 %conv84, 3 + br i1 %cmp85, label %if.then87, label %if.end100 + +if.then87: ; preds = %if.else82 + %57 = load i8*, i8** %n, align 8 + %58 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %58, i32 0, i32 35 + %arraydecay88 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list, i64 0, i64 0 + %59 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list89 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %59, i32 0, i32 35 + %60 = load i8*, i8** %loc, align 8 + %arrayidx90 = getelementptr inbounds i8, i8* %60, i64 2 + %61 = load i8, i8* %arrayidx90, align 1 + %conv91 = zext i8 %61 to i32 + %sub92 = sub nsw i32 %conv91, 3 + %idxprom93 = sext i32 %sub92 to i64 + %arrayidx94 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list89, i64 0, i64 %idxprom93 + %62 = load i8, i8* %arrayidx94, align 1 + %conv95 = zext i8 %62 to i32 + %idx.ext96 = sext i32 %conv95 to i64 + %add.ptr97 = getelementptr inbounds i8, i8* %arraydecay88, i64 %idx.ext96 + %call98 = call i8* @stpcpy(i8* %57, i8* %add.ptr97) #19 + store i8* %call98, i8** %n, align 8 + br label %if.end100 + +if.end100: ; preds = %if.else82, %if.then87, %if.then80 + %63 = load i8, i8* %at, align 1 + %tobool = icmp ne i8 %63, 0 + br i1 %tobool, label %if.then101, label %if.end120 + +if.then101: ; preds = %if.end100 + %64 = load i8*, i8** %n, align 8 + %incdec.ptr102 = getelementptr inbounds i8, i8* %64, i32 1 + store i8* %incdec.ptr102, i8** %n, align 8 + store i8 64, i8* %64, align 1 + %65 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_at_modifiers = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %65, i32 0, i32 33 + %arraydecay103 = getelementptr inbounds [18 x i8], [18 x i8]* %locale_at_modifiers, i64 0, i64 0 + store i8* %arraydecay103, i8** %q, align 8 + br label %do.body104 + +do.body104: ; preds = %if.end113, %if.then101 + %66 = load i8*, i8** %q, align 8 + %arrayidx105 = getelementptr inbounds i8, i8* %66, i64 1 + %67 = load i8, i8* %arrayidx105, align 1 + %conv106 = sext i8 %67 to i32 + %68 = load i8, i8* %at, align 1 + %conv107 = sext i8 %68 to i32 + %cmp108 = icmp eq i32 %conv106, %conv107 + br i1 %cmp108, label %if.then110, label %if.end113 + +if.then110: ; preds = %do.body104 + %69 = load i8*, i8** %n, align 8 + %70 = load i8*, i8** %q, align 8 + %add.ptr111 = getelementptr inbounds i8, i8* %70, i64 2 + %call112 = call i8* @stpcpy(i8* %69, i8* %add.ptr111) #19 + store i8* %call112, i8** %n, align 8 + br label %if.end120 + +if.end113: ; preds = %do.body104 + %71 = load i8*, i8** %q, align 8 + %72 = load i8, i8* %71, align 1 + %conv114 = sext i8 %72 to i32 + %add115 = add nsw i32 2, %conv114 + %73 = load i8*, i8** %q, align 8 + %idx.ext116 = sext i32 %add115 to i64 + %add.ptr117 = getelementptr inbounds i8, i8* %73, i64 %idx.ext116 + store i8* %add.ptr117, i8** %q, align 8 + %74 = load i8*, i8** %q, align 8 + %75 = load i8, i8* %74, align 1 + %tobool118 = icmp ne i8 %75, 0 + br i1 %tobool118, label %do.body104, label %if.end120 + +if.end120: ; preds = %if.end100, %if.end113, %if.then110, %if.then58 + %76 = load i8*, i8** %n, align 8 + %incdec.ptr121 = getelementptr inbounds i8, i8* %76, i32 1 + store i8* %incdec.ptr121, i8** %n, align 8 + store i8 59, i8* %76, align 1 + br label %if.end122 + +if.end122: ; preds = %if.end120, %lor.lhs.false30 + %77 = load i8*, i8** %s, align 8 + %add.ptr123 = getelementptr inbounds i8, i8* %77, i64 2 + store i8* %add.ptr123, i8** %s, align 8 + %78 = load i32, i32* %i, align 4 + %inc = add nsw i32 %78, 1 + store i32 %inc, i32* %i, align 4 + %79 = load i32, i32* %category, align 4 + %cmp125 = icmp slt i32 %inc, %79 + br i1 %cmp125, label %do.body26, label %do.end127 + +do.end127: ; preds = %if.end122 + %80 = load i8*, i8** %n, align 8 + %incdec.ptr128 = getelementptr inbounds i8, i8* %80, i32 -1 + store i8* %incdec.ptr128, i8** %n, align 8 + store i8 0, i8* %incdec.ptr128, align 1 + %81 = load i32, i32* %category, align 4 + %inc129 = add nsw i32 %81, 1 + store i32 %inc129, i32* %category, align 4 + %82 = load i32, i32* %done, align 4 + %tobool131 = icmp ne i32 %82, 0 + %lnot = xor i1 %tobool131, true + br i1 %lnot, label %do.body, label %do.end132 + +do.end132: ; preds = %do.end127 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define void @setutent() #0 { +entry: + call void @__setutent() #18 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__setutent() #0 { +entry: + %ret = alloca i32, align 4 + %0 = load i32, i32* @static_fd, align 4 + %cmp = icmp eq i32 %0, -1 + br i1 %cmp, label %if.then, label %if.end16 + +if.then: ; preds = %entry + %1 = load i8*, i8** @static_ut_name, align 8 + %call = call i32 (i8*, i32, ...) @open(i8* %1, i32 2) #18 + store i32 %call, i32* @static_fd, align 4 + %cmp1 = icmp slt i32 %call, 0 + br i1 %cmp1, label %if.then2, label %if.end6 + +if.then2: ; preds = %if.then + %2 = load i8*, i8** @static_ut_name, align 8 + %call3 = call i32 (i8*, i32, ...) @open(i8* %2, i32 0) #18 + store i32 %call3, i32* @static_fd, align 4 + %cmp4 = icmp slt i32 %call3, 0 + br i1 %cmp4, label %bummer, label %if.end6 + +if.end6: ; preds = %if.then2, %if.then + %3 = load i32, i32* @static_fd, align 4 + %call7 = call i32 (i32, i32, ...) @fcntl(i32 %3, i32 1, i32 0) #18 + store i32 %call7, i32* %ret, align 4 + %4 = load i32, i32* %ret, align 4 + %cmp8 = icmp sge i32 %4, 0 + br i1 %cmp8, label %if.then9, label %if.end11 + +if.then9: ; preds = %if.end6 + %5 = load i32, i32* @static_fd, align 4 + %6 = load i32, i32* %ret, align 4 + %or = or i32 %6, 1 + %call10 = call i32 (i32, i32, ...) @fcntl(i32 %5, i32 2, i32 %or) #18 + store i32 %call10, i32* %ret, align 4 + br label %if.end11 + +if.end11: ; preds = %if.then9, %if.end6 + %7 = load i32, i32* %ret, align 4 + %cmp12 = icmp slt i32 %7, 0 + br i1 %cmp12, label %bummer, label %if.end16 + +bummer: ; preds = %if.end11, %if.then2 + store i32 -1, i32* @static_fd, align 4 + %8 = load i32, i32* @static_fd, align 4 + %call14 = call i32 @close(i32 %8) #18 + br label %return + +if.end16: ; preds = %if.end11, %entry + %9 = load i32, i32* @static_fd, align 4 + %call17 = call i64 @lseek(i32 %9, i64 0, i32 0) #19 + br label %return + +return: ; preds = %if.end16, %bummer + ret void +} + +; Function Attrs: noinline nounwind uwtable +define void @endutent() #0 { +entry: + %0 = load i32, i32* @static_fd, align 4 + %cmp = icmp ne i32 %0, -1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load i32, i32* @static_fd, align 4 + %call = call i32 @close(i32 %1) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + store i32 -1, i32* @static_fd, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @getutent() #0 { +entry: + %ret = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* null, %struct.utmp.323** %ret, align 8 + %0 = load i32, i32* @static_fd, align 4 + %call = call %struct.utmp.323* @__getutent(i32 %0) #18 + store %struct.utmp.323* %call, %struct.utmp.323** %ret, align 8 + %1 = load %struct.utmp.323*, %struct.utmp.323** %ret, align 8 + ret %struct.utmp.323* %1 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.utmp.323* @__getutent(i32 %utmp_fd) #0 { +entry: + %retval = alloca %struct.utmp.323*, align 8 + %utmp_fd.addr = alloca i32, align 4 + %ret = alloca %struct.utmp.323*, align 8 + store i32 %utmp_fd, i32* %utmp_fd.addr, align 4 + store %struct.utmp.323* null, %struct.utmp.323** %ret, align 8 + %0 = load i32, i32* %utmp_fd.addr, align 4 + %cmp = icmp eq i32 %0, -1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @__setutent() #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i32, i32* %utmp_fd.addr, align 4 + %cmp1 = icmp eq i32 %1, -1 + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + store %struct.utmp.323* null, %struct.utmp.323** %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %2 = load i32, i32* %utmp_fd.addr, align 4 + %call = call i64 @read(i32 %2, i8* bitcast (%struct.utmp.323* @static_utmp to i8*), i64 400) #18 + %cmp4 = icmp eq i64 %call, 400 + br i1 %cmp4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end3 + store %struct.utmp.323* @static_utmp, %struct.utmp.323** %ret, align 8 + br label %if.end6 + +if.end6: ; preds = %if.then5, %if.end3 + %3 = load %struct.utmp.323*, %struct.utmp.323** %ret, align 8 + store %struct.utmp.323* %3, %struct.utmp.323** %retval, align 8 + br label %return + +return: ; preds = %if.end6, %if.then2 + %4 = load %struct.utmp.323*, %struct.utmp.323** %retval, align 8 + ret %struct.utmp.323* %4 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @getutid(%struct.utmp.323* %utmp_entry) #0 { +entry: + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + %ret = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + store %struct.utmp.323* null, %struct.utmp.323** %ret, align 8 + %0 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %call = call %struct.utmp.323* @__getutid(%struct.utmp.323* %0) #18 + store %struct.utmp.323* %call, %struct.utmp.323** %ret, align 8 + %1 = load %struct.utmp.323*, %struct.utmp.323** %ret, align 8 + ret %struct.utmp.323* %1 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.utmp.323* @__getutid(%struct.utmp.323* %utmp_entry) #0 { +entry: + %retval = alloca %struct.utmp.323*, align 8 + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + %lutmp = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end47, %entry + %0 = load i32, i32* @static_fd, align 4 + %call = call %struct.utmp.323* @__getutent(i32 %0) #18 + store %struct.utmp.323* %call, %struct.utmp.323** %lutmp, align 8 + %cmp = icmp ne %struct.utmp.323* %call, null + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %1 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %1, i32 0, i32 0 + %2 = load i16, i16* %ut_type, align 8 + %conv = sext i16 %2 to i32 + %cmp1 = icmp eq i32 %conv, 1 + br i1 %cmp1, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.body + %3 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type3 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %3, i32 0, i32 0 + %4 = load i16, i16* %ut_type3, align 8 + %conv4 = sext i16 %4 to i32 + %cmp5 = icmp eq i32 %conv4, 2 + br i1 %cmp5, label %land.lhs.true, label %lor.lhs.false7 + +lor.lhs.false7: ; preds = %lor.lhs.false + %5 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type8 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %5, i32 0, i32 0 + %6 = load i16, i16* %ut_type8, align 8 + %conv9 = sext i16 %6 to i32 + %cmp10 = icmp eq i32 %conv9, 3 + br i1 %cmp10, label %land.lhs.true, label %lor.lhs.false12 + +lor.lhs.false12: ; preds = %lor.lhs.false7 + %7 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type13 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %7, i32 0, i32 0 + %8 = load i16, i16* %ut_type13, align 8 + %conv14 = sext i16 %8 to i32 + %cmp15 = icmp eq i32 %conv14, 4 + br i1 %cmp15, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %lor.lhs.false12, %lor.lhs.false7, %lor.lhs.false, %while.body + %9 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_type17 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %9, i32 0, i32 0 + %10 = load i16, i16* %ut_type17, align 8 + %conv18 = sext i16 %10 to i32 + %11 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type19 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %11, i32 0, i32 0 + %12 = load i16, i16* %ut_type19, align 8 + %conv20 = sext i16 %12 to i32 + %cmp21 = icmp eq i32 %conv18, %conv20 + br i1 %cmp21, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %13 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + store %struct.utmp.323* %13, %struct.utmp.323** %retval, align 8 + br label %return + +if.end: ; preds = %land.lhs.true, %lor.lhs.false12 + %14 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type23 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %14, i32 0, i32 0 + %15 = load i16, i16* %ut_type23, align 8 + %conv24 = sext i16 %15 to i32 + %cmp25 = icmp eq i32 %conv24, 5 + br i1 %cmp25, label %land.lhs.true42, label %lor.lhs.false27 + +lor.lhs.false27: ; preds = %if.end + %16 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type28 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %16, i32 0, i32 0 + %17 = load i16, i16* %ut_type28, align 8 + %conv29 = sext i16 %17 to i32 + %cmp30 = icmp eq i32 %conv29, 8 + br i1 %cmp30, label %land.lhs.true42, label %lor.lhs.false32 + +lor.lhs.false32: ; preds = %lor.lhs.false27 + %18 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type33 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %18, i32 0, i32 0 + %19 = load i16, i16* %ut_type33, align 8 + %conv34 = sext i16 %19 to i32 + %cmp35 = icmp eq i32 %conv34, 6 + br i1 %cmp35, label %land.lhs.true42, label %lor.lhs.false37 + +lor.lhs.false37: ; preds = %lor.lhs.false32 + %20 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type38 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %20, i32 0, i32 0 + %21 = load i16, i16* %ut_type38, align 8 + %conv39 = sext i16 %21 to i32 + %cmp40 = icmp eq i32 %conv39, 7 + br i1 %cmp40, label %land.lhs.true42, label %if.end47 + +land.lhs.true42: ; preds = %lor.lhs.false37, %lor.lhs.false32, %lor.lhs.false27, %if.end + %22 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_id = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %22, i32 0, i32 3 + %arraydecay = getelementptr inbounds [4 x i8], [4 x i8]* %ut_id, i64 0, i64 0 + %23 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_id43 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %23, i32 0, i32 3 + %arraydecay44 = getelementptr inbounds [4 x i8], [4 x i8]* %ut_id43, i64 0, i64 0 + %call45 = call i32 @strncmp(i8* %arraydecay, i8* %arraydecay44, i64 4) #20 + %tobool = icmp ne i32 %call45, 0 + br i1 %tobool, label %if.end47, label %if.then46 + +if.then46: ; preds = %land.lhs.true42 + %24 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + store %struct.utmp.323* %24, %struct.utmp.323** %retval, align 8 + br label %return + +if.end47: ; preds = %land.lhs.true42, %lor.lhs.false37 + br label %while.cond + +while.end: ; preds = %while.cond + store %struct.utmp.323* null, %struct.utmp.323** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then46, %if.then + %25 = load %struct.utmp.323*, %struct.utmp.323** %retval, align 8 + ret %struct.utmp.323* %25 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @getutline(%struct.utmp.323* %utmp_entry) #0 { +entry: + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + %lutmp = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + store %struct.utmp.323* null, %struct.utmp.323** %lutmp, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %0 = load i32, i32* @static_fd, align 4 + %call = call %struct.utmp.323* @__getutent(i32 %0) #18 + store %struct.utmp.323* %call, %struct.utmp.323** %lutmp, align 8 + %cmp = icmp ne %struct.utmp.323* %call, null + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %1 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_type = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %1, i32 0, i32 0 + %2 = load i16, i16* %ut_type, align 8 + %conv = sext i16 %2 to i32 + %cmp1 = icmp eq i32 %conv, 7 + br i1 %cmp1, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.body + %3 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_type3 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %3, i32 0, i32 0 + %4 = load i16, i16* %ut_type3, align 8 + %conv4 = sext i16 %4 to i32 + %cmp5 = icmp eq i32 %conv4, 6 + br i1 %cmp5, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %lor.lhs.false, %while.body + %5 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_line = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %5, i32 0, i32 2 + %arraydecay = getelementptr inbounds [32 x i8], [32 x i8]* %ut_line, i64 0, i64 0 + %6 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_line7 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %6, i32 0, i32 2 + %arraydecay8 = getelementptr inbounds [32 x i8], [32 x i8]* %ut_line7, i64 0, i64 0 + %call9 = call i32 @strcmp(i8* %arraydecay, i8* %arraydecay8) #20 + %tobool = icmp ne i32 %call9, 0 + br i1 %tobool, label %if.end, label %while.end + +if.end: ; preds = %land.lhs.true, %lor.lhs.false + br label %while.cond + +while.end: ; preds = %land.lhs.true, %while.cond + %7 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + ret %struct.utmp.323* %7 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @pututline(%struct.utmp.323* %utmp_entry) #0 { +entry: + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + %0 = load i32, i32* @static_fd, align 4 + %call = call i64 @lseek(i32 %0, i64 -400, i32 1) #19 + %1 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %call1 = call %struct.utmp.323* @__getutid(%struct.utmp.323* %1) #18 + %cmp = icmp ne %struct.utmp.323* %call1, null + %2 = load i32, i32* @static_fd, align 4 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %call2 = call i64 @lseek(i32 %2, i64 -400, i32 1) #19 + br label %if.end + +if.else: ; preds = %entry + %call3 = call i64 @lseek(i32 %2, i64 0, i32 2) #19 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %3 = load i32, i32* @static_fd, align 4 + %4 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %5 = bitcast %struct.utmp.323* %4 to i8* + %call4 = call i64 @write(i32 %3, i8* %5, i64 400) #18 + %cmp5 = icmp ne i64 %call4, 400 + br i1 %cmp5, label %if.then6, label %if.end7 + +if.then6: ; preds = %if.end + store %struct.utmp.323* null, %struct.utmp.323** %utmp_entry.addr, align 8 + br label %if.end7 + +if.end7: ; preds = %if.then6, %if.end + %6 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + ret %struct.utmp.323* %6 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @utmpname(i8* %new_ut_name) #0 { +entry: + %new_ut_name.addr = alloca i8*, align 8 + store i8* %new_ut_name, i8** %new_ut_name.addr, align 8 + %0 = load i8*, i8** %new_ut_name.addr, align 8 + %cmp = icmp ne i8* %0, null + br i1 %cmp, label %if.then, label %if.end6 + +if.then: ; preds = %entry + %1 = load i8*, i8** @static_ut_name, align 8 + %cmp1 = icmp ne i8* %1, getelementptr inbounds ([14 x i8], [14 x i8]* @default_file_name, i64 0, i64 0) + br i1 %cmp1, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + %2 = load i8*, i8** @static_ut_name, align 8 + call void @free(i8* %2) #19 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %3 = load i8*, i8** %new_ut_name.addr, align 8 + %call = call noalias i8* @strdup(i8* %3) #19 + store i8* %call, i8** @static_ut_name, align 8 + %4 = load i8*, i8** @static_ut_name, align 8 + %cmp3 = icmp eq i8* %4, null + %spec.store.select = select i1 %cmp3, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @default_file_name, i64 0, i64 0), i8* %call + store i8* %spec.store.select, i8** @static_ut_name, align 8 + br label %if.end6 + +if.end6: ; preds = %if.end, %entry + %5 = load i32, i32* @static_fd, align 4 + %cmp7 = icmp ne i32 %5, -1 + br i1 %cmp7, label %if.then8, label %if.end10 + +if.then8: ; preds = %if.end6 + %6 = load i32, i32* @static_fd, align 4 + %call9 = call i32 @close(i32 %6) #18 + br label %if.end10 + +if.end10: ; preds = %if.then8, %if.end6 + store i32 -1, i32* @static_fd, align 4 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_wchar_utf8sntowcs(i32* noalias %pwc, i64 %wn, i8** noalias %src, i64 %n, %struct.__mbstate_t.512* %ps, i32 %allow_continuation) #0 { +entry: + %retval = alloca i64, align 8 + %pwc.addr = alloca i32*, align 8 + %wn.addr = alloca i64, align 8 + %src.addr = alloca i8**, align 8 + %n.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %allow_continuation.addr = alloca i32, align 4 + %s = alloca i8*, align 8 + %mask = alloca i32, align 4 + %wc = alloca i32, align 4 + %wcbuf = alloca [1 x i32], align 4 + %count = alloca i64, align 8 + %incr = alloca i32, align 4 + store i32* %pwc, i32** %pwc.addr, align 8 + store i64 %wn, i64* %wn.addr, align 8 + store i8** %src, i8*** %src.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + store i32 %allow_continuation, i32* %allow_continuation.addr, align 4 + %0 = load i8**, i8*** %src.addr, align 8 + %1 = load i8*, i8** %0, align 8 + store i8* %1, i8** %s, align 8 + store i32 1, i32* %incr, align 4 + %2 = load i32*, i32** %pwc.addr, align 8 + %tobool = icmp ne i32* %2, null + br i1 %tobool, label %lor.lhs.false, label %if.then + +lor.lhs.false: ; preds = %entry + %3 = load i32*, i32** %pwc.addr, align 8 + %4 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %5 = bitcast %struct.__mbstate_t.512* %4 to i32* + %cmp = icmp eq i32* %3, %5 + br i1 %cmp, label %if.then, label %if.end3 + +if.then: ; preds = %lor.lhs.false, %entry + %6 = load i32*, i32** %pwc.addr, align 8 + %tobool1 = icmp ne i32* %6, null + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + store i64 -1, i64* %wn.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %arraydecay = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay, i32** %pwc.addr, align 8 + store i32 0, i32* %incr, align 4 + br label %if.end3 + +if.end3: ; preds = %if.end, %lor.lhs.false + %7 = load i64, i64* %wn.addr, align 8 + store i64 %7, i64* %count, align 8 + %tobool4 = icmp ne i64 %7, 0 + br i1 %tobool4, label %if.end6, label %if.then5 + +if.then5: ; preds = %if.end3 + store i64 0, i64* %retval, align 8 + br label %return + +if.end6: ; preds = %if.end3 + %8 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %8, i32 0, i32 0 + %9 = load i32, i32* %__mask, align 4 + store i32 %9, i32* %mask, align 4 + %cmp7 = icmp ne i32 %9, 0 + br i1 %cmp7, label %if.then8, label %do.body + +if.then8: ; preds = %if.end6 + %10 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %10, i32 0, i32 1 + %11 = load i32, i32* %__wc, align 4 + store i32 %11, i32* %wc, align 4 + %cmp9 = icmp ne i32 %11, 65535 + br i1 %cmp9, label %if.then10, label %if.end14 + +if.then10: ; preds = %if.then8 + %12 = load i64, i64* %n.addr, align 8 + %tobool11 = icmp ne i64 %12, 0 + br i1 %tobool11, label %while.cond, label %DONE + +if.end14: ; preds = %if.then8 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +do.body: ; preds = %if.end6, %land.rhs + %13 = load i64, i64* %n.addr, align 8 + %tobool16 = icmp ne i64 %13, 0 + br i1 %tobool16, label %if.end18, label %DONE + +if.end18: ; preds = %do.body + %14 = load i64, i64* %n.addr, align 8 + %dec = add i64 %14, -1 + store i64 %dec, i64* %n.addr, align 8 + %15 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %15, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %16 = load i8, i8* %15, align 1 + %conv = zext i8 %16 to i32 + store i32 %conv, i32* %wc, align 4 + %cmp19 = icmp uge i32 %conv, 128 + br i1 %cmp19, label %if.then21, label %COMPLETE + +if.then21: ; preds = %if.end18 + store i32 64, i32* %mask, align 4 + %17 = load i8*, i8** %s, align 8 + %arrayidx = getelementptr inbounds i8, i8* %17, i64 -1 + %18 = load i8, i8* %arrayidx, align 1 + %conv22 = sext i8 %18 to i32 + %sub = sub nsw i32 %conv22, 192 + %conv23 = trunc i32 %sub to i8 + %conv24 = zext i8 %conv23 to i32 + %cmp25 = icmp slt i32 %conv24, 62 + br i1 %cmp25, label %START, label %BAD + +BAD: ; preds = %if.end52, %lor.lhs.false55, %lor.lhs.false59, %while.body, %if.then21 + %19 = load i32, i32* %mask, align 4 + %20 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask29 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %20, i32 0, i32 0 + store i32 %19, i32* %__mask29, align 4 + %21 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc30 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %21, i32 0, i32 1 + store i32 65535, i32* %__wc30, align 4 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +while.cond: ; preds = %START, %if.then10 + %22 = load i64, i64* %n.addr, align 8 + %tobool31 = icmp ne i64 %22, 0 + br i1 %tobool31, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %23 = load i64, i64* %n.addr, align 8 + %dec32 = add i64 %23, -1 + store i64 %dec32, i64* %n.addr, align 8 + %24 = load i8*, i8** %s, align 8 + %25 = load i8, i8* %24, align 1 + %conv33 = sext i8 %25 to i32 + %and = and i32 %conv33, 192 + %cmp34 = icmp ne i32 %and, 128 + br i1 %cmp34, label %BAD, label %if.end37 + +if.end37: ; preds = %while.body + %26 = load i32, i32* %mask, align 4 + %shl = shl i32 %26, 5 + store i32 %shl, i32* %mask, align 4 + %27 = load i32, i32* %wc, align 4 + %shl38 = shl i32 %27, 6 + store i32 %shl38, i32* %wc, align 4 + %28 = load i8*, i8** %s, align 8 + %29 = load i8, i8* %28, align 1 + %conv39 = sext i8 %29 to i32 + %and40 = and i32 %conv39, 63 + %30 = load i32, i32* %wc, align 4 + %add = add i32 %30, %and40 + store i32 %add, i32* %wc, align 4 + %31 = load i8*, i8** %s, align 8 + %incdec.ptr41 = getelementptr inbounds i8, i8* %31, i32 1 + store i8* %incdec.ptr41, i8** %s, align 8 + br label %START + +START: ; preds = %if.then21, %if.end37 + %32 = load i32, i32* %mask, align 4 + %shl42 = shl i32 %32, 1 + %neg = xor i32 %shl42, -1 + %33 = load i32, i32* %wc, align 4 + %and43 = and i32 %33, %neg + store i32 %and43, i32* %wc, align 4 + %34 = load i32, i32* %wc, align 4 + %35 = load i32, i32* %mask, align 4 + %and44 = and i32 %34, %35 + %cmp45 = icmp eq i32 %and44, 0 + br i1 %cmp45, label %if.then47, label %while.cond + +if.then47: ; preds = %START + %36 = load i32, i32* %mask, align 4 + %shr = lshr i32 %36, 5 + store i32 %shr, i32* %mask, align 4 + %cmp48 = icmp eq i32 %shr, 64 + br i1 %cmp48, label %if.then50, label %if.end52 + +if.then50: ; preds = %if.then47 + %37 = load i32, i32* %mask, align 4 + %38 = load i32, i32* %mask, align 4 + %add51 = add i32 %38, %37 + store i32 %add51, i32* %mask, align 4 + br label %if.end52 + +if.end52: ; preds = %if.then50, %if.then47 + %39 = load i32, i32* %wc, align 4 + %40 = load i32, i32* %mask, align 4 + %cmp53 = icmp ult i32 %39, %40 + br i1 %cmp53, label %BAD, label %lor.lhs.false55 + +lor.lhs.false55: ; preds = %if.end52 + %41 = load i32, i32* %wc, align 4 + %sub56 = sub i32 %41, 65534 + %cmp57 = icmp ult i32 %sub56, 2 + br i1 %cmp57, label %BAD, label %lor.lhs.false59 + +lor.lhs.false59: ; preds = %lor.lhs.false55 + %42 = load i32, i32* %wc, align 4 + %sub60 = sub i32 %42, 55296 + %cmp61 = icmp ult i32 %sub60, 2048 + br i1 %cmp61, label %BAD, label %COMPLETE + +while.end: ; preds = %while.cond + %43 = load i32, i32* %allow_continuation.addr, align 4 + %tobool66 = icmp ne i32 %43, 0 + br i1 %tobool66, label %if.end77, label %if.then67 + +if.then67: ; preds = %while.end + %44 = load i64, i64* %count, align 8 + %45 = load i64, i64* %wn.addr, align 8 + %cmp68 = icmp ne i64 %44, %45 + br i1 %cmp68, label %if.then70, label %do.body72 + +if.then70: ; preds = %if.then67 + store i64 0, i64* %retval, align 8 + br label %return + +do.body72: ; preds = %if.then67, %do.body72 + %46 = load i8*, i8** %s, align 8 + %incdec.ptr73 = getelementptr inbounds i8, i8* %46, i32 -1 + store i8* %incdec.ptr73, i8** %s, align 8 + %47 = load i32, i32* %mask, align 4 + %shr74 = lshr i32 %47, 5 + store i32 %shr74, i32* %mask, align 4 + %cmp75 = icmp uge i32 %shr74, 64 + br i1 %cmp75, label %do.body72, label %DONE + +if.end77: ; preds = %while.end + %48 = load i32, i32* %mask, align 4 + %49 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask78 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %49, i32 0, i32 0 + store i32 %48, i32* %__mask78, align 4 + %50 = load i32, i32* %wc, align 4 + %51 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc79 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %51, i32 0, i32 1 + store i32 %50, i32* %__wc79, align 4 + %52 = load i8*, i8** %s, align 8 + %53 = load i8**, i8*** %src.addr, align 8 + store i8* %52, i8** %53, align 8 + store i64 -2, i64* %retval, align 8 + br label %return + +COMPLETE: ; preds = %if.end18, %lor.lhs.false59 + %54 = load i32, i32* %wc, align 4 + %55 = load i32*, i32** %pwc.addr, align 8 + store i32 %54, i32* %55, align 4 + %56 = load i32, i32* %incr, align 4 + %57 = load i32*, i32** %pwc.addr, align 8 + %idx.ext = sext i32 %56 to i64 + %add.ptr = getelementptr inbounds i32, i32* %57, i64 %idx.ext + store i32* %add.ptr, i32** %pwc.addr, align 8 + %58 = load i32, i32* %wc, align 4 + %tobool82 = icmp ne i32 %58, 0 + br i1 %tobool82, label %land.rhs, label %do.end85 + +land.rhs: ; preds = %COMPLETE + %59 = load i64, i64* %count, align 8 + %dec83 = add i64 %59, -1 + store i64 %dec83, i64* %count, align 8 + %tobool84 = icmp ne i64 %dec83, 0 + br i1 %tobool84, label %do.body, label %do.end85 + +do.end85: ; preds = %COMPLETE, %land.rhs + %60 = load i32, i32* %wc, align 4 + %tobool86 = icmp ne i32 %60, 0 + br i1 %tobool86, label %DONE, label %if.then87 + +if.then87: ; preds = %do.end85 + store i8* null, i8** %s, align 8 + br label %DONE + +DONE: ; preds = %do.end85, %if.then87, %do.body72, %do.body, %if.then10 + %61 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask89 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %61, i32 0, i32 0 + store i32 0, i32* %__mask89, align 4 + %62 = load i32*, i32** %pwc.addr, align 8 + %arraydecay90 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %cmp91 = icmp ne i32* %62, %arraydecay90 + br i1 %cmp91, label %if.then93, label %if.end94 + +if.then93: ; preds = %DONE + %63 = load i8*, i8** %s, align 8 + %64 = load i8**, i8*** %src.addr, align 8 + store i8* %63, i8** %64, align 8 + br label %if.end94 + +if.end94: ; preds = %if.then93, %DONE + %65 = load i64, i64* %wn.addr, align 8 + %66 = load i64, i64* %count, align 8 + %sub95 = sub i64 %65, %66 + store i64 %sub95, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end94, %if.end77, %if.then70, %BAD, %if.end14, %if.then5 + %67 = load i64, i64* %retval, align 8 + ret i64 %67 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @mbrtowc(i32* noalias %pwc, i8* noalias %s, i64 %n, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %retval = alloca i64, align 8 + %pwc.addr = alloca i32*, align 8 + %s.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %wcbuf = alloca [1 x i32], align 4 + %p = alloca i8*, align 8 + %r = alloca i64, align 8 + %empty_string = alloca [1 x i8], align 1 + store i32* %pwc, i32** %pwc.addr, align 8 + store i8* %s, i8** %s.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %tobool = icmp ne %struct.__mbstate_t.512* %0, null + %spec.store.select = select i1 %tobool, %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512* @mbrtowc.mbstate + store %struct.__mbstate_t.512* %spec.store.select, %struct.__mbstate_t.512** %ps.addr, align 8 + %1 = load i8*, i8** %s.addr, align 8 + %tobool1 = icmp ne i8* %1, null + br i1 %tobool1, label %if.else, label %if.then2 + +if.then2: ; preds = %entry + %2 = load i8*, i8** %s.addr, align 8 + %3 = bitcast i8* %2 to i32* + store i32* %3, i32** %pwc.addr, align 8 + %arrayidx = getelementptr inbounds [1 x i8], [1 x i8]* %empty_string, i64 0, i64 0 + store i8 0, i8* %arrayidx, align 1 + %arraydecay = getelementptr inbounds [1 x i8], [1 x i8]* %empty_string, i64 0, i64 0 + store i8* %arraydecay, i8** %s.addr, align 8 + store i64 1, i64* %n.addr, align 8 + br label %if.end7 + +if.else: ; preds = %entry + %4 = load i64, i64* %n.addr, align 8 + %tobool3 = icmp ne i64 %4, 0 + br i1 %tobool3, label %if.end7, label %if.then4 + +if.then4: ; preds = %if.else + %5 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %5, i32 0, i32 0 + %6 = load i32, i32* %__mask, align 4 + %tobool5 = icmp ne i32 %6, 0 + br i1 %tobool5, label %land.rhs, label %land.end + +land.rhs: ; preds = %if.then4 + %7 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %7, i32 0, i32 1 + %8 = load i32, i32* %__wc, align 4 + %cmp = icmp eq i32 %8, 65535 + br label %land.end + +land.end: ; preds = %land.rhs, %if.then4 + %9 = phi i1 [ false, %if.then4 ], [ %cmp, %land.rhs ] + %10 = zext i1 %9 to i64 + %cond = select i1 %9, i64 -1, i64 -2 + store i64 %cond, i64* %retval, align 8 + br label %return + +if.end7: ; preds = %if.else, %if.then2 + %11 = load i8*, i8** %s.addr, align 8 + store i8* %11, i8** %p, align 8 + %12 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %12, i32 0, i32 9 + %13 = load i8, i8* %encoding, align 8 + %conv = zext i8 %13 to i32 + %cmp8 = icmp eq i32 %conv, 1 + br i1 %cmp8, label %if.then10, label %if.end18 + +if.then10: ; preds = %if.end7 + %14 = load i32*, i32** %pwc.addr, align 8 + %tobool11 = icmp ne i32* %14, null + br i1 %tobool11, label %if.end14, label %if.then12 + +if.then12: ; preds = %if.then10 + %arraydecay13 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay13, i32** %pwc.addr, align 8 + br label %if.end14 + +if.end14: ; preds = %if.then12, %if.then10 + %15 = load i32*, i32** %pwc.addr, align 8 + %16 = load i64, i64* %n.addr, align 8 + %17 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @_wchar_utf8sntowcs(i32* %15, i64 1, i8** %p, i64 %16, %struct.__mbstate_t.512* %17, i32 1) #18 + store i64 %call, i64* %r, align 8 + %18 = load i64, i64* %r, align 8 + %cmp15 = icmp eq i64 %18, 1 + %19 = load i8*, i8** %p, align 8 + %20 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %20 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %21 = load i64, i64* %r, align 8 + %cond17 = select i1 %cmp15, i64 %sub.ptr.sub, i64 %21 + store i64 %cond17, i64* %retval, align 8 + br label %return + +if.end18: ; preds = %if.end7 + %arraydecay19 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %22 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call20 = call i64 @mbsnrtowcs(i32* %arraydecay19, i8** %p, i64 -1, i64 1, %struct.__mbstate_t.512* %22) #19 + store i64 %call20, i64* %r, align 8 + %23 = load i64, i64* %r, align 8 + %cmp21 = icmp sge i64 %23, 0 + %24 = load i32*, i32** %pwc.addr, align 8 + %tobool24 = icmp ne i32* %24, null + %or.cond = and i1 %cmp21, %tobool24 + br i1 %or.cond, label %if.then25, label %if.end28 + +if.then25: ; preds = %if.end18 + %arraydecay26 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %25 = load i32, i32* %arraydecay26, align 4 + %26 = load i32*, i32** %pwc.addr, align 8 + store i32 %25, i32* %26, align 4 + br label %if.end28 + +if.end28: ; preds = %if.then25, %if.end18 + %27 = load i64, i64* %r, align 8 + store i64 %27, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end28, %if.end14, %land.end + %28 = load i64, i64* %retval, align 8 + ret i64 %28 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @mbsinit(%struct.__mbstate_t.512* %ps) #14 { +entry: + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %tobool = icmp ne %struct.__mbstate_t.512* %0, null + br i1 %tobool, label %lor.rhs, label %lor.end + +lor.rhs: ; preds = %entry + %1 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %1, i32 0, i32 0 + %2 = load i32, i32* %__mask, align 4 + %tobool1 = icmp ne i32 %2, 0 + %lnot = xor i1 %tobool1, true + br label %lor.end + +lor.end: ; preds = %lor.rhs, %entry + %3 = phi i1 [ true, %entry ], [ %lnot, %lor.rhs ] + %lor.ext = zext i1 %3 to i32 + ret i32 %lor.ext +} + +; Function Attrs: noinline nounwind uwtable +define i32 @iswprint(i32 %wc) #0 { +entry: + %wc.addr = alloca i32, align 4 + store i32 %wc, i32* %wc.addr, align 4 + %0 = load i32, i32* %wc.addr, align 4 + %call = call i32 @iswctype(i32 %0, i32 8) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.568* %stream, i8* %buf, i64 %bufsize) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %rv = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + store i64 0, i64* %rv, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 4 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end18, label %if.then + +if.then: ; preds = %entry + %2 = load i64, i64* %bufsize.addr, align 8 + %cmp = icmp ugt i64 %2, 9223372036854775807 + br i1 %cmp, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + store i64 9223372036854775807, i64* %bufsize.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 2 + %4 = load i32, i32* %__filedes, align 4 + %5 = load i8*, i8** %buf.addr, align 8 + %6 = load i64, i64* %bufsize.addr, align 8 + %call = call i64 @read(i32 %4, i8* %5, i64 %6) #18 + store i64 %call, i64* %rv, align 8 + %cmp3 = icmp sle i64 %call, 0 + br i1 %cmp3, label %if.then5, label %if.end18 + +if.then5: ; preds = %if.end + %7 = load i64, i64* %rv, align 8 + %cmp6 = icmp eq i64 %7, 0 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags9 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags9, align 8 + %conv10 = zext i16 %9 to i32 + br i1 %cmp6, label %if.then8, label %if.else + +if.then8: ; preds = %if.then5 + %or = or i32 %conv10, 4 + %conv11 = trunc i32 %or to i16 + store i16 %conv11, i16* %__modeflags9, align 8 + br label %if.end18 + +if.else: ; preds = %if.then5 + %or14 = or i32 %conv10, 8 + %conv15 = trunc i32 %or14 to i16 + store i16 %conv15, i16* %__modeflags9, align 8 + store i64 0, i64* %rv, align 8 + br label %if.end18 + +if.end18: ; preds = %if.end, %if.else, %if.then8, %entry + %10 = load i64, i64* %rv, align 8 + ret i64 %10 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %stream, i8* %buf, i64 %bufsize) #0 { +entry: + %retval = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %todo = alloca i64, align 8 + %rv = alloca i64, align 8 + %stodo = alloca i64, align 8 + %s = alloca i8*, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i64, i64* %bufsize.addr, align 8 + store i64 %0, i64* %todo, align 8 + br label %do.body + +do.body: ; preds = %if.then3, %entry + %1 = load i64, i64* %todo, align 8 + %cmp = icmp eq i64 %1, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %do.body + %2 = load i64, i64* %bufsize.addr, align 8 + store i64 %2, i64* %retval, align 8 + br label %do.end32 + +if.end: ; preds = %do.body + %3 = load i64, i64* %todo, align 8 + %cmp1 = icmp ule i64 %3, 9223372036854775807 + %4 = load i64, i64* %todo, align 8 + %cond = select i1 %cmp1, i64 %4, i64 9223372036854775807 + store i64 %cond, i64* %stodo, align 8 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 2 + %6 = load i32, i32* %__filedes, align 4 + %7 = load i8*, i8** %buf.addr, align 8 + %8 = load i64, i64* %stodo, align 8 + %call = call i64 @write(i32 %6, i8* %7, i64 %8) #18 + store i64 %call, i64* %rv, align 8 + %cmp2 = icmp sge i64 %call, 0 + br i1 %cmp2, label %if.then3, label %if.else + +if.then3: ; preds = %if.end + %9 = load i64, i64* %rv, align 8 + %10 = load i64, i64* %todo, align 8 + %sub = sub i64 %10, %9 + store i64 %sub, i64* %todo, align 8 + %11 = load i64, i64* %rv, align 8 + %12 = load i8*, i8** %buf.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %12, i64 %11 + store i8* %add.ptr, i8** %buf.addr, align 8 + br label %do.body + +if.else: ; preds = %if.end + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 0 + %14 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %14 to i32 + %or = or i32 %conv, 8 + %conv4 = trunc i32 %or to i16 + store i16 %conv4, i16* %__modeflags, align 8 + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 4 + %16 = load i8*, i8** %__bufend, align 8 + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 3 + %18 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %16 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %18 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %stodo, align 8 + %cmp5 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %cmp5, label %if.then7, label %if.end28 + +if.then7: ; preds = %if.else + %19 = load i64, i64* %stodo, align 8 + %20 = load i64, i64* %todo, align 8 + %cmp8 = icmp ugt i64 %19, %20 + br i1 %cmp8, label %if.then10, label %if.end11 + +if.then10: ; preds = %if.then7 + %21 = load i64, i64* %todo, align 8 + store i64 %21, i64* %stodo, align 8 + br label %if.end11 + +if.end11: ; preds = %if.then10, %if.then7 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart12 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 3 + %23 = load i8*, i8** %__bufstart12, align 8 + store i8* %23, i8** %s, align 8 + br label %do.body13 + +do.body13: ; preds = %if.end20, %if.end11 + %24 = load i8*, i8** %buf.addr, align 8 + %25 = load i8, i8* %24, align 1 + %26 = load i8*, i8** %s, align 8 + store i8 %25, i8* %26, align 1 + %conv14 = zext i8 %25 to i32 + %cmp15 = icmp eq i32 %conv14, 10 + br i1 %cmp15, label %land.lhs.true, label %if.end20 + +land.lhs.true: ; preds = %do.body13 + %27 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %27, i32 0, i32 0 + %28 = load i16, i16* %__modeflags17, align 8 + %conv18 = zext i16 %28 to i32 + %and = and i32 %conv18, 256 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %do.end, label %if.end20 + +if.end20: ; preds = %land.lhs.true, %do.body13 + %29 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %29, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %30 = load i8*, i8** %buf.addr, align 8 + %incdec.ptr21 = getelementptr inbounds i8, i8* %30, i32 1 + store i8* %incdec.ptr21, i8** %buf.addr, align 8 + %31 = load i64, i64* %stodo, align 8 + %dec = add nsw i64 %31, -1 + store i64 %dec, i64* %stodo, align 8 + %tobool22 = icmp ne i64 %dec, 0 + br i1 %tobool22, label %do.body13, label %do.end + +do.end: ; preds = %land.lhs.true, %if.end20 + %32 = load i8*, i8** %s, align 8 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %33, i32 0, i32 5 + store i8* %32, i8** %__bufpos, align 8 + %34 = load i8*, i8** %s, align 8 + %35 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart23 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %35, i32 0, i32 3 + %36 = load i8*, i8** %__bufstart23, align 8 + %sub.ptr.lhs.cast24 = ptrtoint i8* %34 to i64 + %sub.ptr.rhs.cast25 = ptrtoint i8* %36 to i64 + %sub.ptr.sub26 = sub i64 %sub.ptr.lhs.cast24, %sub.ptr.rhs.cast25 + %37 = load i64, i64* %todo, align 8 + %sub27 = sub i64 %37, %sub.ptr.sub26 + store i64 %sub27, i64* %todo, align 8 + br label %if.end28 + +if.end28: ; preds = %do.end, %if.else + %38 = load i64, i64* %bufsize.addr, align 8 + %39 = load i64, i64* %todo, align 8 + %sub29 = sub i64 %38, %39 + store i64 %sub29, i64* %retval, align 8 + br label %do.end32 + +do.end32: ; preds = %if.then, %if.end28 + %40 = load i64, i64* %retval, align 8 + ret i64 %40 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__freading(%struct.__STDIO_FILE_STRUCT.519* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.519*, align 8 + store %struct.__STDIO_FILE_STRUCT.519* %stream, %struct.__STDIO_FILE_STRUCT.519** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.519*, %struct.__STDIO_FILE_STRUCT.519** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.519, %struct.__STDIO_FILE_STRUCT.519* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 35 + ret i32 %and +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_rfill(%struct.__STDIO_FILE_STRUCT.568* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %rv = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %1, i32 0, i32 3 + %2 = load i8*, i8** %__bufstart, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 4 + %4 = load i8*, i8** %__bufend, align 8 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 3 + %6 = load i8*, i8** %__bufstart1, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %4 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %6 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %call = call i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.568* %0, i8* %2, i64 %sub.ptr.sub) #18 + store i64 %call, i64* %rv, align 8 + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %7, i32 0, i32 3 + %8 = load i8*, i8** %__bufstart2, align 8 + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %9, i32 0, i32 5 + store i8* %8, i8** %__bufpos, align 8 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart3 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 3 + %11 = load i8*, i8** %__bufstart3, align 8 + %12 = load i64, i64* %rv, align 8 + %add.ptr = getelementptr inbounds i8, i8* %11, i64 %12 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 6 + store i8* %add.ptr, i8** %__bufread, align 8 + %14 = load i64, i64* %rv, align 8 + ret i64 %14 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_trans2r_o(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %oflag) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %oflag.addr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %oflag, i32* %oflag.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %2 = load i32, i32* %oflag.addr, align 4 + %and = and i32 %conv, %2 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end9, label %if.then + +if.then: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 0 + %4 = load i16, i16* %__modeflags1, align 8 + %conv2 = zext i16 %4 to i32 + %and3 = and i32 %conv2, 2176 + %tobool4 = icmp ne i32 %and3, 0 + br i1 %tobool4, label %DO_EBADF, label %if.end + +if.end: ; preds = %if.then + %5 = load i32, i32* %oflag.addr, align 4 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 0 + %7 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %7 to i32 + %or = or i32 %conv7, %5 + %conv8 = trunc i32 %or to i16 + store i16 %conv8, i16* %__modeflags6, align 8 + br label %if.end9 + +if.end9: ; preds = %if.end, %entry + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags10, align 8 + %conv11 = zext i16 %9 to i32 + %and12 = and i32 %conv11, 16 + %tobool13 = icmp ne i32 %and12, 0 + br i1 %tobool13, label %DO_EBADF, label %if.end19 + +DO_EBADF: ; preds = %if.end9, %if.then + store i32 9, i32* @errno, align 4 + br label %ERROR + +ERROR: ; preds = %if.then24, %DO_EBADF + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags15 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 0 + %11 = load i16, i16* %__modeflags15, align 8 + %conv16 = zext i16 %11 to i32 + %or17 = or i32 %conv16, 8 + %conv18 = trunc i32 %or17 to i16 + store i16 %conv18, i16* %__modeflags15, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end19: ; preds = %if.end9 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags20 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags20, align 8 + %conv21 = zext i16 %13 to i32 + %and22 = and i32 %conv21, 64 + %tobool23 = icmp ne i32 %and22, 0 + br i1 %tobool23, label %if.then24, label %if.end32 + +if.then24: ; preds = %if.end19 + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %14) #18 + %tobool25 = icmp ne i64 %call, 0 + br i1 %tobool25, label %ERROR, label %if.end27 + +if.end27: ; preds = %if.then24 + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 3 + %16 = load i8*, i8** %__bufstart, align 8 + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 8 + store i8* %16, i8** %__bufputc_u, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags28 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 0 + %19 = load i16, i16* %__modeflags28, align 8 + %conv29 = zext i16 %19 to i32 + %and30 = and i32 %conv29, -65 + %conv31 = trunc i32 %and30 to i16 + store i16 %conv31, i16* %__modeflags28, align 8 + br label %if.end32 + +if.end32: ; preds = %if.end27, %if.end19 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags33 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 0 + %21 = load i16, i16* %__modeflags33, align 8 + %conv34 = zext i16 %21 to i32 + %or35 = or i32 %conv34, 1 + %conv36 = trunc i32 %or35 to i16 + store i16 %conv36, i16* %__modeflags33, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end32, %ERROR + %22 = load i32, i32* %retval, align 4 + ret i32 %22 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fclose(%struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %rv = alloca i32, align 4 + %ptr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 0, i32* %rv, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %0, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %1, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp = icmp eq %struct.__STDIO_FILE_STRUCT.568* %1, %2 + br i1 %cmp, label %if.then, label %while.cond + +if.then: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 9 + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %4, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + br label %if.end7 + +while.cond: ; preds = %entry, %if.end + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %5, null + br i1 %tobool, label %while.body, label %if.end7 + +while.body: ; preds = %while.cond + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 9 + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen1, align 8 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp2 = icmp eq %struct.__STDIO_FILE_STRUCT.568* %7, %8 + br i1 %cmp2, label %if.then3, label %if.end + +if.then3: ; preds = %while.body + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen4 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %9, i32 0, i32 9 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen4, align 8 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen5 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 9 + store %struct.__STDIO_FILE_STRUCT.568* %10, %struct.__STDIO_FILE_STRUCT.568** %__nextopen5, align 8 + br label %if.end7 + +if.end: ; preds = %while.body + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 9 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen6, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %13, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + br label %while.cond + +if.end7: ; preds = %while.cond, %if.then3, %if.then + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %14, i32 0, i32 0 + %15 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %15 to i32 + %and = and i32 %conv, 64 + %tobool8 = icmp ne i32 %and, 0 + br i1 %tobool8, label %if.then9, label %if.end10 + +if.then9: ; preds = %if.end7 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.568* %16) #18 + store i32 %call, i32* %rv, align 4 + br label %if.end10 + +if.end10: ; preds = %if.then9, %if.end7 + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 2 + %18 = load i32, i32* %__filedes, align 4 + %call11 = call i32 @close(i32 %18) #18 + %cmp12 = icmp slt i32 %call11, 0 + br i1 %cmp12, label %if.then14, label %if.end15 + +if.then14: ; preds = %if.end10 + store i32 -1, i32* %rv, align 4 + br label %if.end15 + +if.end15: ; preds = %if.then14, %if.end10 + %19 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes16 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %19, i32 0, i32 2 + store i32 -1, i32* %__filedes16, align 4 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 0 + %21 = load i16, i16* %__modeflags17, align 8 + %conv18 = zext i16 %21 to i32 + %and19 = and i32 %conv18, 24576 + %conv20 = trunc i32 %and19 to i16 + store i16 %conv20, i16* %__modeflags17, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags21 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 0 + %23 = load i16, i16* %__modeflags21, align 8 + %conv22 = zext i16 %23 to i32 + %or = or i32 %conv22, 48 + %conv23 = trunc i32 %or to i16 + store i16 %conv23, i16* %__modeflags21, align 8 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags24 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 0 + %25 = load i16, i16* %__modeflags24, align 8 + %conv25 = zext i16 %25 to i32 + %and26 = and i32 %conv25, 16384 + %tobool27 = icmp ne i32 %and26, 0 + br i1 %tobool27, label %if.then28, label %do.body30 + +if.then28: ; preds = %if.end15 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 3 + %27 = load i8*, i8** %__bufstart, align 8 + call void @free(i8* %27) #19 + br label %do.body30 + +do.body30: ; preds = %if.then28, %if.end15 + %28 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags31 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %28, i32 0, i32 0 + %29 = load i16, i16* %__modeflags31, align 8 + %conv32 = zext i16 %29 to i32 + %and33 = and i32 %conv32, 8192 + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %if.then35, label %do.end37 + +if.then35: ; preds = %do.body30 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %31 = bitcast %struct.__STDIO_FILE_STRUCT.568* %30 to i8* + call void @free(i8* %31) #19 + br label %do.end37 + +do.end37: ; preds = %do.body30, %if.then35 + %32 = load i32, i32* %rv, align 4 + ret i32 %32 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @ferror_unlocked(%struct.__STDIO_FILE_STRUCT.592* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.592*, align 8 + store %struct.__STDIO_FILE_STRUCT.592* %stream, %struct.__STDIO_FILE_STRUCT.592** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.592*, %struct.__STDIO_FILE_STRUCT.592** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.592, %struct.__STDIO_FILE_STRUCT.592* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 8 + ret i32 %and +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %retval1 = alloca i32, align 4 + %bufmask = alloca i16, align 2 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 0, i32* %retval1, align 4 + store i16 256, i16* %bufmask, align 2 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp = icmp eq %struct.__STDIO_FILE_STRUCT.568* %0, bitcast (%struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist to %struct.__STDIO_FILE_STRUCT.568*) + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store %struct.__STDIO_FILE_STRUCT.568* null, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i16 0, i16* %bufmask, align 2 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %1, null + br i1 %tobool, label %if.else21, label %if.then2 + +if.then2: ; preds = %if.end + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %2, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end20, %if.then2 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %tobool3 = icmp ne %struct.__STDIO_FILE_STRUCT.568* %3, null + br i1 %tobool3, label %while.body, label %if.end39 + +while.body: ; preds = %while.cond + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 0 + %5 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %5 to i32 + %and = and i32 %conv, 64 + %tobool4 = icmp ne i32 %and, 0 + br i1 %tobool4, label %if.then5, label %if.end20 + +if.then5: ; preds = %while.body + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 0 + %7 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %7 to i32 + %8 = load i16, i16* %bufmask, align 2 + %conv8 = zext i16 %8 to i32 + %or = or i32 %conv7, %conv8 + %xor = xor i32 %or, 320 + %and9 = and i32 %xor, 832 + %tobool10 = icmp ne i32 %and9, 0 + br i1 %tobool10, label %if.end20, label %if.then11 + +if.then11: ; preds = %if.then5 + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %9) #18 + %tobool12 = icmp ne i64 %call, 0 + br i1 %tobool12, label %if.else, label %if.then13 + +if.then13: ; preds = %if.then11 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 3 + %11 = load i8*, i8** %__bufstart, align 8 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 8 + store i8* %11, i8** %__bufputc_u, align 8 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags14 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 0 + %14 = load i16, i16* %__modeflags14, align 8 + %conv15 = zext i16 %14 to i32 + %and16 = and i32 %conv15, -65 + %conv17 = trunc i32 %and16 to i16 + store i16 %conv17, i16* %__modeflags14, align 8 + br label %if.end20 + +if.else: ; preds = %if.then11 + store i32 -1, i32* %retval1, align 4 + br label %if.end20 + +if.end20: ; preds = %if.then5, %if.else, %if.then13, %while.body + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 9 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %16, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br label %while.cond + +if.else21: ; preds = %if.end + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags22 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 0 + %18 = load i16, i16* %__modeflags22, align 8 + %conv23 = zext i16 %18 to i32 + %and24 = and i32 %conv23, 64 + %tobool25 = icmp ne i32 %and24, 0 + br i1 %tobool25, label %if.then26, label %if.end39 + +if.then26: ; preds = %if.else21 + %19 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call27 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %19) #18 + %tobool28 = icmp ne i64 %call27, 0 + br i1 %tobool28, label %if.else36, label %if.then29 + +if.then29: ; preds = %if.then26 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart30 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 3 + %21 = load i8*, i8** %__bufstart30, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u31 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 8 + store i8* %21, i8** %__bufputc_u31, align 8 + %23 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags32 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %23, i32 0, i32 0 + %24 = load i16, i16* %__modeflags32, align 8 + %conv33 = zext i16 %24 to i32 + %and34 = and i32 %conv33, -65 + %conv35 = trunc i32 %and34 to i16 + store i16 %conv35, i16* %__modeflags32, align 8 + br label %if.end39 + +if.else36: ; preds = %if.then26 + store i32 -1, i32* %retval1, align 4 + br label %if.end39 + +if.end39: ; preds = %if.else21, %if.else36, %if.then29, %while.cond + %25 = load i32, i32* %retval1, align 4 + ret i32 %25 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fileno_unlocked(%struct.__STDIO_FILE_STRUCT.608* %stream) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.608*, align 8 + store %struct.__STDIO_FILE_STRUCT.608* %stream, %struct.__STDIO_FILE_STRUCT.608** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.608*, %struct.__STDIO_FILE_STRUCT.608** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.608, %struct.__STDIO_FILE_STRUCT.608* %0, i32 0, i32 2 + %1 = load i32, i32* %__filedes, align 4 + %cmp = icmp sge i32 %1, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.608*, %struct.__STDIO_FILE_STRUCT.608** %stream.addr, align 8 + %__filedes1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.608, %struct.__STDIO_FILE_STRUCT.608* %2, i32 0, i32 2 + %3 = load i32, i32* %__filedes1, align 4 + store i32 %3, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + store i32 9, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fprintf(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i8* noalias %format, ...) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %format.addr = alloca i8*, align 8 + %arg = alloca [1 x %struct.__va_list_tag.0], align 16 + %rv = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdout, align 8 + %cmp = icmp eq %struct.__STDIO_FILE_STRUCT.568* %0, %1 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %cmp2 = icmp eq %struct.__STDIO_FILE_STRUCT.568* %2, %3 + br i1 %cmp2, label %if.then, label %if.else + +if.then: ; preds = %lor.lhs.false, %entry + %4 = load i8*, i8** %format.addr, align 8 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %call = call i32 @vprintf(i8* %4, %struct.__va_list_tag.0* %arraydecay3) #18 + store i32 %call, i32* %rv, align 4 + br label %if.end + +if.else: ; preds = %lor.lhs.false + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %6 = load i8*, i8** %format.addr, align 8 + %arraydecay4 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %call5 = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %5, i8* %6, %struct.__va_list_tag.0* %arraydecay4) #18 + store i32 %call5, i32* %rv, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %arraydecay6 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay67 = bitcast %struct.__va_list_tag.0* %arraydecay6 to i8* + call void @llvm.va_end(i8* %arraydecay67) + %7 = load i32, i32* %rv, align 4 + ret i32 %7 +} + +declare i32 @vprintf(i8*, %struct.__va_list_tag.0*) #17 + +; Function Attrs: noinline nounwind uwtable +define i32 @__fputc_unlocked(i32 %c, %struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %retval = alloca i32, align 4 + %c.addr = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %uc = alloca i8, align 1 + store i32 %c, i32* %c.addr, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 5 + %1 = load i8*, i8** %__bufpos, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 8 + %3 = load i8*, i8** %__bufputc_u, align 8 + %cmp = icmp ult i8* %1, %3 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %4 = load i32, i32* %c.addr, align 4 + %conv = trunc i32 %4 to i8 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 5 + %6 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + store i8 %conv, i8* %6, align 1 + %7 = load i32, i32* %c.addr, align 4 + %conv2 = trunc i32 %7 to i8 + %conv3 = zext i8 %conv2 to i32 + store i32 %conv3, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags, align 8 + %conv4 = zext i16 %9 to i32 + %and = and i32 %conv4, 192 + %cmp5 = icmp eq i32 %and, 192 + br i1 %cmp5, label %if.then7, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* %10, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %BAD, label %if.then7 + +if.then7: ; preds = %lor.lhs.false, %if.end + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 2 + %12 = load i32, i32* %__filedes, align 4 + %cmp8 = icmp eq i32 %12, -2 + br i1 %cmp8, label %if.then10, label %if.end13 + +if.then10: ; preds = %if.then7 + %13 = load i32, i32* %c.addr, align 4 + %conv11 = trunc i32 %13 to i8 + %conv12 = zext i8 %conv11 to i32 + store i32 %conv12, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.then7 + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %14, i32 0, i32 4 + %15 = load i8*, i8** %__bufend, align 8 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %16, i32 0, i32 3 + %17 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %15 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %17 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool14 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %tobool14, label %if.then15, label %if.else + +if.then15: ; preds = %if.end13 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend16 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 4 + %19 = load i8*, i8** %__bufend16, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 5 + %21 = load i8*, i8** %__bufpos17, align 8 + %sub.ptr.lhs.cast18 = ptrtoint i8* %19 to i64 + %sub.ptr.rhs.cast19 = ptrtoint i8* %21 to i64 + %sub.ptr.sub20 = sub i64 %sub.ptr.lhs.cast18, %sub.ptr.rhs.cast19 + %tobool21 = icmp ne i64 %sub.ptr.sub20, 0 + br i1 %tobool21, label %if.end25, label %land.lhs.true + +land.lhs.true: ; preds = %if.then15 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call22 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %22) #18 + %tobool23 = icmp ne i64 %call22, 0 + br i1 %tobool23, label %BAD, label %if.end25 + +if.end25: ; preds = %land.lhs.true, %if.then15 + %23 = load i32, i32* %c.addr, align 4 + %conv26 = trunc i32 %23 to i8 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos27 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 5 + %25 = load i8*, i8** %__bufpos27, align 8 + %incdec.ptr28 = getelementptr inbounds i8, i8* %25, i32 1 + store i8* %incdec.ptr28, i8** %__bufpos27, align 8 + store i8 %conv26, i8* %25, align 1 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags29 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 0 + %27 = load i16, i16* %__modeflags29, align 8 + %conv30 = zext i16 %27 to i32 + %and31 = and i32 %conv30, 256 + %tobool32 = icmp ne i32 %and31, 0 + br i1 %tobool32, label %if.then33, label %if.end51 + +if.then33: ; preds = %if.end25 + %28 = load i32, i32* %c.addr, align 4 + %conv34 = trunc i32 %28 to i8 + %conv35 = zext i8 %conv34 to i32 + %cmp36 = icmp eq i32 %conv35, 10 + br i1 %cmp36, label %land.lhs.true38, label %if.end51 + +land.lhs.true38: ; preds = %if.then33 + %29 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call39 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %29) #18 + %tobool40 = icmp ne i64 %call39, 0 + br i1 %tobool40, label %if.then41, label %if.end51 + +if.then41: ; preds = %land.lhs.true38 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos42 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %30, i32 0, i32 5 + %31 = load i8*, i8** %__bufpos42, align 8 + %incdec.ptr43 = getelementptr inbounds i8, i8* %31, i32 -1 + store i8* %incdec.ptr43, i8** %__bufpos42, align 8 + br label %BAD + +if.else: ; preds = %if.end13 + %32 = load i32, i32* %c.addr, align 4 + %conv46 = trunc i32 %32 to i8 + store i8 %conv46, i8* %uc, align 1 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call47 = call i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %33, i8* %uc, i64 1) #18 + %tobool48 = icmp ne i64 %call47, 0 + br i1 %tobool48, label %if.end51, label %BAD + +if.end51: ; preds = %if.else, %if.end25, %land.lhs.true38, %if.then33 + %34 = load i32, i32* %c.addr, align 4 + %conv52 = trunc i32 %34 to i8 + %conv53 = zext i8 %conv52 to i32 + store i32 %conv53, i32* %retval, align 4 + br label %return + +BAD: ; preds = %lor.lhs.false, %if.else, %land.lhs.true, %if.then41 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %BAD, %if.end51, %if.then10, %if.then + %35 = load i32, i32* %retval, align 4 + ret i32 %35 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fputs_unlocked(i8* noalias %s, %struct.__STDIO_FILE_STRUCT.621* noalias %stream) #0 { +entry: + %s.addr = alloca i8*, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.621*, align 8 + %n = alloca i64, align 8 + store i8* %s, i8** %s.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.621* %stream, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %call = call i64 @strlen(i8* %0) #20 + store i64 %call, i64* %n, align 8 + %1 = load i8*, i8** %s.addr, align 8 + %2 = load i64, i64* %n, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %call1 = call i64 bitcast (i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*)* @fwrite_unlocked to i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.621*)*)(i8* %1, i64 1, i64 %2, %struct.__STDIO_FILE_STRUCT.621* %3) #18 + %4 = load i64, i64* %n, align 8 + %cmp = icmp eq i64 %call1, %4 + %5 = load i64, i64* %n, align 8 + %cond = select i1 %cmp, i64 %5, i64 -1 + %conv = trunc i64 %cond to i32 + ret i32 %conv +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fseek(%struct.__STDIO_FILE_STRUCT.636* %stream, i64 %offset, i32 %whence) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %1 = load i64, i64* %offset.addr, align 8 + %2 = load i32, i32* %whence.addr, align 4 + %call = call i32 @fseeko64(%struct.__STDIO_FILE_STRUCT.636* %0, i64 %1, i32 %2) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i64 @fwrite_unlocked(i8* noalias %ptr, i64 %size, i64 %nmemb, %struct.__STDIO_FILE_STRUCT.568* noalias %stream) #0 { +entry: + %retval = alloca i64, align 8 + %ptr.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %nmemb.addr = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + store i8* %ptr, i8** %ptr.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + store i64 %nmemb, i64* %nmemb.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 192 + %cmp = icmp eq i32 %and, 192 + br i1 %cmp, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* %2, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end13, label %land.lhs.true + +land.lhs.true: ; preds = %lor.lhs.false, %entry + %3 = load i64, i64* %size.addr, align 8 + %tobool2 = icmp ne i64 %3, 0 + %4 = load i64, i64* %nmemb.addr, align 8 + %tobool4 = icmp ne i64 %4, 0 + %or.cond = and i1 %tobool2, %tobool4 + br i1 %or.cond, label %if.then, label %if.end13 + +if.then: ; preds = %land.lhs.true + %5 = load i64, i64* %nmemb.addr, align 8 + %6 = load i64, i64* %size.addr, align 8 + %div = udiv i64 -1, %6 + %cmp5 = icmp ule i64 %5, %div + br i1 %cmp5, label %if.then7, label %if.end + +if.then7: ; preds = %if.then + %7 = load i8*, i8** %ptr.addr, align 8 + %8 = load i64, i64* %size.addr, align 8 + %9 = load i64, i64* %nmemb.addr, align 8 + %mul = mul i64 %8, %9 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call8 = call i64 @__stdio_fwrite(i8* %7, i64 %mul, %struct.__STDIO_FILE_STRUCT.568* %10) #18 + %11 = load i64, i64* %size.addr, align 8 + %div9 = udiv i64 %call8, %11 + store i64 %div9, i64* %retval, align 8 + br label %return + +if.end: ; preds = %if.then + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags10, align 8 + %conv11 = zext i16 %13 to i32 + %or = or i32 %conv11, 8 + %conv12 = trunc i32 %or to i16 + store i16 %conv12, i16* %__modeflags10, align 8 + store i32 22, i32* @errno, align 4 + br label %if.end13 + +if.end13: ; preds = %if.end, %land.lhs.true, %lor.lhs.false + store i64 0, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end13, %if.then7 + %14 = load i64, i64* %retval, align 8 + ret i64 %14 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @putchar_unlocked(i32 %c) #0 { +entry: + %c.addr = alloca i32, align 4 + %stream = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + store i32 %c, i32* %c.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdout, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %0, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %1, i32 0, i32 5 + %2 = load i8*, i8** %__bufpos, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 8 + %4 = load i8*, i8** %__bufputc_u, align 8 + %cmp = icmp ult i8* %2, %4 + %5 = load i32, i32* %c.addr, align 4 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %entry + %conv = trunc i32 %5 to i8 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 5 + %7 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %7, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + store i8 %conv, i8* %7, align 1 + %conv2 = zext i8 %conv to i32 + br label %cond.end + +cond.false: ; preds = %entry + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %call = call i32 @__fputc_unlocked(i32 %5, %struct.__STDIO_FILE_STRUCT.568* %8) #18 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ %conv2, %cond.true ], [ %call, %cond.false ] + ret i32 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i32 @vsnprintf(i8* noalias %buf, i64 %size, i8* noalias %format, %struct.__va_list_tag.0* %arg) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %format.addr = alloca i8*, align 8 + %arg.addr = alloca %struct.__va_list_tag.0*, align 8 + %f = alloca %struct.__STDIO_FILE_STRUCT.568, align 8 + %rv = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + store %struct.__va_list_tag.0* %arg, %struct.__va_list_tag.0** %arg.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 2 + store i32 -2, i32* %__filedes, align 4 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 0 + store i16 208, i16* %__modeflags, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 1 + %arrayidx = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 0 + store i8 0, i8* %arrayidx, align 2 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + store i32 0, i32* %__mask, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 9 + store %struct.__STDIO_FILE_STRUCT.568* null, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + %0 = load i64, i64* %size.addr, align 8 + %1 = load i8*, i8** %buf.addr, align 8 + %2 = ptrtoint i8* %1 to i64 + %sub = sub i64 -1, %2 + %cmp = icmp ugt i64 %0, %sub + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %3 = load i8*, i8** %buf.addr, align 8 + %4 = ptrtoint i8* %3 to i64 + %sub1 = sub i64 -1, %4 + store i64 %sub1, i64* %size.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %5 = load i8*, i8** %buf.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 3 + store i8* %5, i8** %__bufstart, align 8 + %6 = load i8*, i8** %buf.addr, align 8 + %7 = load i64, i64* %size.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %6, i64 %7 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 4 + store i8* %add.ptr, i8** %__bufend, align 8 + %__bufstart2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 3 + %8 = load i8*, i8** %__bufstart2, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + store i8* %8, i8** %__bufpos, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 6 + store i8* %8, i8** %__bufread, align 8 + %__bufstart3 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 3 + %9 = load i8*, i8** %__bufstart3, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 7 + store i8* %9, i8** %__bufgetc_u, align 8 + %__bufend4 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 4 + %10 = load i8*, i8** %__bufend4, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 8 + store i8* %10, i8** %__bufputc_u, align 8 + %11 = load i8*, i8** %format.addr, align 8 + %12 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %arg.addr, align 8 + %call = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %f, i8* %11, %struct.__va_list_tag.0* %12) #18 + store i32 %call, i32* %rv, align 4 + %13 = load i64, i64* %size.addr, align 8 + %tobool = icmp ne i64 %13, 0 + br i1 %tobool, label %if.then5, label %if.end13 + +if.then5: ; preds = %if.end + %__bufpos6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + %14 = load i8*, i8** %__bufpos6, align 8 + %__bufend7 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 4 + %15 = load i8*, i8** %__bufend7, align 8 + %cmp8 = icmp eq i8* %14, %15 + br i1 %cmp8, label %if.then9, label %if.end11 + +if.then9: ; preds = %if.then5 + %__bufpos10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + %16 = load i8*, i8** %__bufpos10, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %16, i32 -1 + store i8* %incdec.ptr, i8** %__bufpos10, align 8 + br label %if.end11 + +if.end11: ; preds = %if.then9, %if.then5 + %__bufpos12 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + %17 = load i8*, i8** %__bufpos12, align 8 + store i8 0, i8* %17, align 1 + br label %if.end13 + +if.end13: ; preds = %if.end11, %if.end + %18 = load i32, i32* %rv, align 4 + ret i32 %18 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @atexit(void ()* nonnull %func) #0 { +entry: + %func.addr = alloca void ()*, align 8 + store void ()* %func, void ()** %func.addr, align 8 + %0 = load void ()*, void ()** %func.addr, align 8 + %1 = bitcast void ()* %0 to void (i8*)* + br i1 icmp eq (i8** @__dso_handle, i8** null), label %cond.end, label %cond.false + +cond.false: ; preds = %entry + %2 = load i8*, i8** @__dso_handle, align 8 + br label %cond.end + +cond.end: ; preds = %entry, %cond.false + %cond = phi i8* [ %2, %cond.false ], [ null, %entry ] + %call = call i32 @__cxa_atexit(void (i8*)* %1, i8* null, i8* %cond) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i8* @realpath(i8* %path, i8* nonnull %got_path) #0 { +entry: + %retval = alloca i8*, align 8 + %path.addr = alloca i8*, align 8 + %got_path.addr = alloca i8*, align 8 + %copy_path = alloca [4096 x i8], align 16 + %max_path = alloca i8*, align 8 + %new_path = alloca i8*, align 8 + %path_len = alloca i64, align 8 + %readlinks = alloca i32, align 4 + %link_len = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store i8* %got_path, i8** %got_path.addr, align 8 + store i32 0, i32* %readlinks, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %cmp = icmp eq i8* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 22, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %path.addr, align 8 + %2 = load i8, i8* %1, align 1 + %conv = sext i8 %2 to i32 + %cmp1 = icmp eq i32 %conv, 0 + br i1 %cmp1, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.end + store i32 2, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %if.end + %3 = load i8*, i8** %path.addr, align 8 + %call = call i64 @strlen(i8* %3) #20 + store i64 %call, i64* %path_len, align 8 + %4 = load i64, i64* %path_len, align 8 + %cmp5 = icmp uge i64 %4, 4094 + br i1 %cmp5, label %if.then7, label %if.end8 + +if.then7: ; preds = %if.end4 + store i32 36, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end8: ; preds = %if.end4 + %arraydecay = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 4095 + %5 = load i64, i64* %path_len, align 8 + %idx.neg = sub i64 0, %5 + %add.ptr9 = getelementptr inbounds i8, i8* %add.ptr, i64 %idx.neg + %6 = load i8*, i8** %path.addr, align 8 + %call10 = call i8* @strcpy(i8* %add.ptr9, i8* %6) #19 + %arraydecay11 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr12 = getelementptr inbounds i8, i8* %arraydecay11, i64 4095 + %7 = load i64, i64* %path_len, align 8 + %idx.neg13 = sub i64 0, %7 + %add.ptr14 = getelementptr inbounds i8, i8* %add.ptr12, i64 %idx.neg13 + store i8* %add.ptr14, i8** %path.addr, align 8 + %8 = load i8*, i8** %got_path.addr, align 8 + %add.ptr15 = getelementptr inbounds i8, i8* %8, i64 4096 + %add.ptr16 = getelementptr inbounds i8, i8* %add.ptr15, i64 -2 + store i8* %add.ptr16, i8** %max_path, align 8 + %9 = load i8*, i8** %got_path.addr, align 8 + store i8* %9, i8** %new_path, align 8 + %10 = load i8*, i8** %path.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv17 = sext i8 %11 to i32 + %cmp18 = icmp ne i32 %conv17, 47 + %12 = load i8*, i8** %new_path, align 8 + br i1 %cmp18, label %if.then20, label %if.else + +if.then20: ; preds = %if.end8 + %call21 = call i8* @getcwd(i8* %12, i64 4095) #19 + %tobool = icmp ne i8* %call21, null + br i1 %tobool, label %if.end23, label %if.then22 + +if.then22: ; preds = %if.then20 + store i8* null, i8** %retval, align 8 + br label %return + +if.end23: ; preds = %if.then20 + %13 = load i8*, i8** %new_path, align 8 + %call24 = call i64 @strlen(i8* %13) #20 + %14 = load i8*, i8** %new_path, align 8 + %add.ptr25 = getelementptr inbounds i8, i8* %14, i64 %call24 + store i8* %add.ptr25, i8** %new_path, align 8 + %15 = load i8*, i8** %new_path, align 8 + %arrayidx = getelementptr inbounds i8, i8* %15, i64 -1 + %16 = load i8, i8* %arrayidx, align 1 + %conv26 = sext i8 %16 to i32 + %cmp27 = icmp ne i32 %conv26, 47 + br i1 %cmp27, label %if.then29, label %if.end33 + +if.then29: ; preds = %if.end23 + %17 = load i8*, i8** %new_path, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %17, i32 1 + store i8* %incdec.ptr, i8** %new_path, align 8 + store i8 47, i8* %17, align 1 + br label %if.end33 + +if.else: ; preds = %if.end8 + %incdec.ptr31 = getelementptr inbounds i8, i8* %12, i32 1 + store i8* %incdec.ptr31, i8** %new_path, align 8 + store i8 47, i8* %12, align 1 + %18 = load i8*, i8** %path.addr, align 8 + %incdec.ptr32 = getelementptr inbounds i8, i8* %18, i32 1 + store i8* %incdec.ptr32, i8** %path.addr, align 8 + br label %if.end33 + +if.end33: ; preds = %if.end23, %if.then29, %if.else + br label %while.cond + +while.cond: ; preds = %while.cond79, %if.then72, %if.end155, %if.then55, %if.then40, %if.end33 + %19 = load i8*, i8** %path.addr, align 8 + %20 = load i8, i8* %19, align 1 + %conv34 = sext i8 %20 to i32 + %cmp35 = icmp ne i32 %conv34, 0 + br i1 %cmp35, label %while.body, label %while.end157 + +while.body: ; preds = %while.cond + %21 = load i8*, i8** %path.addr, align 8 + %22 = load i8, i8* %21, align 1 + %conv37 = sext i8 %22 to i32 + %cmp38 = icmp eq i32 %conv37, 47 + %23 = load i8*, i8** %path.addr, align 8 + br i1 %cmp38, label %if.then40, label %if.end42 + +if.then40: ; preds = %while.body + %incdec.ptr41 = getelementptr inbounds i8, i8* %23, i32 1 + store i8* %incdec.ptr41, i8** %path.addr, align 8 + br label %while.cond + +if.end42: ; preds = %while.body + %24 = load i8, i8* %23, align 1 + %conv43 = sext i8 %24 to i32 + %cmp44 = icmp eq i32 %conv43, 46 + br i1 %cmp44, label %if.then46, label %if.end88 + +if.then46: ; preds = %if.end42 + %25 = load i8*, i8** %path.addr, align 8 + %arrayidx47 = getelementptr inbounds i8, i8* %25, i64 1 + %26 = load i8, i8* %arrayidx47, align 1 + %conv48 = sext i8 %26 to i32 + %cmp49 = icmp eq i32 %conv48, 0 + br i1 %cmp49, label %if.then55, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then46 + %27 = load i8*, i8** %path.addr, align 8 + %arrayidx51 = getelementptr inbounds i8, i8* %27, i64 1 + %28 = load i8, i8* %arrayidx51, align 1 + %conv52 = sext i8 %28 to i32 + %cmp53 = icmp eq i32 %conv52, 47 + br i1 %cmp53, label %if.then55, label %if.end57 + +if.then55: ; preds = %lor.lhs.false, %if.then46 + %29 = load i8*, i8** %path.addr, align 8 + %incdec.ptr56 = getelementptr inbounds i8, i8* %29, i32 1 + store i8* %incdec.ptr56, i8** %path.addr, align 8 + br label %while.cond + +if.end57: ; preds = %lor.lhs.false + %30 = load i8*, i8** %path.addr, align 8 + %arrayidx58 = getelementptr inbounds i8, i8* %30, i64 1 + %31 = load i8, i8* %arrayidx58, align 1 + %conv59 = sext i8 %31 to i32 + %cmp60 = icmp eq i32 %conv59, 46 + br i1 %cmp60, label %if.then62, label %if.end88 + +if.then62: ; preds = %if.end57 + %32 = load i8*, i8** %path.addr, align 8 + %arrayidx63 = getelementptr inbounds i8, i8* %32, i64 2 + %33 = load i8, i8* %arrayidx63, align 1 + %conv64 = sext i8 %33 to i32 + %cmp65 = icmp eq i32 %conv64, 0 + br i1 %cmp65, label %if.then72, label %lor.lhs.false67 + +lor.lhs.false67: ; preds = %if.then62 + %34 = load i8*, i8** %path.addr, align 8 + %arrayidx68 = getelementptr inbounds i8, i8* %34, i64 2 + %35 = load i8, i8* %arrayidx68, align 1 + %conv69 = sext i8 %35 to i32 + %cmp70 = icmp eq i32 %conv69, 47 + br i1 %cmp70, label %if.then72, label %if.end88 + +if.then72: ; preds = %lor.lhs.false67, %if.then62 + %36 = load i8*, i8** %path.addr, align 8 + %add.ptr73 = getelementptr inbounds i8, i8* %36, i64 2 + store i8* %add.ptr73, i8** %path.addr, align 8 + %37 = load i8*, i8** %new_path, align 8 + %38 = load i8*, i8** %got_path.addr, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %38, i64 1 + %cmp75 = icmp eq i8* %37, %add.ptr74 + br i1 %cmp75, label %while.cond, label %while.cond79 + +while.cond79: ; preds = %while.cond79, %if.then72 + %39 = load i8*, i8** %new_path, align 8 + %incdec.ptr80 = getelementptr inbounds i8, i8* %39, i32 -1 + store i8* %incdec.ptr80, i8** %new_path, align 8 + %arrayidx81 = getelementptr inbounds i8, i8* %incdec.ptr80, i64 -1 + %40 = load i8, i8* %arrayidx81, align 1 + %conv82 = sext i8 %40 to i32 + %cmp83 = icmp ne i32 %conv82, 47 + br i1 %cmp83, label %while.cond79, label %while.cond + +if.end88: ; preds = %if.end57, %lor.lhs.false67, %if.end42 + br label %while.cond89 + +while.cond89: ; preds = %if.end100, %if.end88 + %41 = load i8*, i8** %path.addr, align 8 + %42 = load i8, i8* %41, align 1 + %conv90 = sext i8 %42 to i32 + %cmp91 = icmp ne i32 %conv90, 0 + br i1 %cmp91, label %land.rhs, label %while.end103 + +land.rhs: ; preds = %while.cond89 + %43 = load i8*, i8** %path.addr, align 8 + %44 = load i8, i8* %43, align 1 + %conv93 = sext i8 %44 to i32 + %cmp94 = icmp ne i32 %conv93, 47 + br i1 %cmp94, label %while.body96, label %while.end103 + +while.body96: ; preds = %land.rhs + %45 = load i8*, i8** %new_path, align 8 + %46 = load i8*, i8** %max_path, align 8 + %cmp97 = icmp ugt i8* %45, %46 + br i1 %cmp97, label %if.then99, label %if.end100 + +if.then99: ; preds = %while.body96 + store i32 36, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end100: ; preds = %while.body96 + %47 = load i8*, i8** %path.addr, align 8 + %incdec.ptr101 = getelementptr inbounds i8, i8* %47, i32 1 + store i8* %incdec.ptr101, i8** %path.addr, align 8 + %48 = load i8, i8* %47, align 1 + %49 = load i8*, i8** %new_path, align 8 + %incdec.ptr102 = getelementptr inbounds i8, i8* %49, i32 1 + store i8* %incdec.ptr102, i8** %new_path, align 8 + store i8 %48, i8* %49, align 1 + br label %while.cond89 + +while.end103: ; preds = %while.cond89, %land.rhs + %50 = load i32, i32* %readlinks, align 4 + %inc = add nsw i32 %50, 1 + store i32 %inc, i32* %readlinks, align 4 + %cmp104 = icmp sgt i32 %50, 32 + br i1 %cmp104, label %if.then106, label %if.end107 + +if.then106: ; preds = %while.end103 + store i32 40, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end107: ; preds = %while.end103 + %51 = load i8*, i8** %path.addr, align 8 + %call108 = call i64 @strlen(i8* %51) #20 + store i64 %call108, i64* %path_len, align 8 + %52 = load i8*, i8** %new_path, align 8 + store i8 0, i8* %52, align 1 + %53 = load i8*, i8** %got_path.addr, align 8 + %arraydecay109 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %call110 = call i64 @readlink(i8* %53, i8* %arraydecay109, i64 4095) #19 + %conv111 = trunc i64 %call110 to i32 + store i32 %conv111, i32* %link_len, align 4 + %54 = load i32, i32* %link_len, align 4 + %cmp112 = icmp slt i32 %54, 0 + br i1 %cmp112, label %if.then114, label %if.else119 + +if.then114: ; preds = %if.end107 + %55 = load i32, i32* @errno, align 4 + %cmp115 = icmp ne i32 %55, 22 + br i1 %cmp115, label %if.then117, label %if.end155 + +if.then117: ; preds = %if.then114 + store i8* null, i8** %retval, align 8 + br label %return + +if.else119: ; preds = %if.end107 + %56 = load i64, i64* %path_len, align 8 + %57 = load i32, i32* %link_len, align 4 + %conv120 = sext i32 %57 to i64 + %add = add i64 %56, %conv120 + %cmp121 = icmp uge i64 %add, 4094 + br i1 %cmp121, label %if.then123, label %if.end124 + +if.then123: ; preds = %if.else119 + store i32 36, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end124: ; preds = %if.else119 + %arraydecay125 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %58 = load i8, i8* %arraydecay125, align 16 + %conv126 = sext i8 %58 to i32 + %cmp127 = icmp eq i32 %conv126, 47 + br i1 %cmp127, label %if.then129, label %while.cond131 + +if.then129: ; preds = %if.end124 + %59 = load i8*, i8** %got_path.addr, align 8 + store i8* %59, i8** %new_path, align 8 + br label %if.end138 + +while.cond131: ; preds = %while.cond131, %if.end124 + %60 = load i8*, i8** %new_path, align 8 + %incdec.ptr132 = getelementptr inbounds i8, i8* %60, i32 -1 + store i8* %incdec.ptr132, i8** %new_path, align 8 + %61 = load i8, i8* %incdec.ptr132, align 1 + %conv133 = sext i8 %61 to i32 + %cmp134 = icmp ne i32 %conv133, 47 + br i1 %cmp134, label %while.cond131, label %if.end138 + +if.end138: ; preds = %while.cond131, %if.then129 + %arraydecay139 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr140 = getelementptr inbounds i8, i8* %arraydecay139, i64 4095 + %62 = load i32, i32* %link_len, align 4 + %idx.ext = sext i32 %62 to i64 + %idx.neg141 = sub i64 0, %idx.ext + %add.ptr142 = getelementptr inbounds i8, i8* %add.ptr140, i64 %idx.neg141 + %63 = load i64, i64* %path_len, align 8 + %idx.neg143 = sub i64 0, %63 + %add.ptr144 = getelementptr inbounds i8, i8* %add.ptr142, i64 %idx.neg143 + %arraydecay145 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %64 = load i32, i32* %link_len, align 4 + %conv146 = sext i32 %64 to i64 + %call147 = call i8* @memmove(i8* %add.ptr144, i8* %arraydecay145, i64 %conv146) #19 + %arraydecay148 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr149 = getelementptr inbounds i8, i8* %arraydecay148, i64 4095 + %65 = load i32, i32* %link_len, align 4 + %idx.ext150 = sext i32 %65 to i64 + %idx.neg151 = sub i64 0, %idx.ext150 + %add.ptr152 = getelementptr inbounds i8, i8* %add.ptr149, i64 %idx.neg151 + %66 = load i64, i64* %path_len, align 8 + %idx.neg153 = sub i64 0, %66 + %add.ptr154 = getelementptr inbounds i8, i8* %add.ptr152, i64 %idx.neg153 + store i8* %add.ptr154, i8** %path.addr, align 8 + br label %if.end155 + +if.end155: ; preds = %if.then114, %if.end138 + %67 = load i8*, i8** %new_path, align 8 + %incdec.ptr156 = getelementptr inbounds i8, i8* %67, i32 1 + store i8* %incdec.ptr156, i8** %new_path, align 8 + store i8 47, i8* %67, align 1 + br label %while.cond + +while.end157: ; preds = %while.cond + %68 = load i8*, i8** %new_path, align 8 + %69 = load i8*, i8** %got_path.addr, align 8 + %add.ptr158 = getelementptr inbounds i8, i8* %69, i64 1 + %cmp159 = icmp ne i8* %68, %add.ptr158 + br i1 %cmp159, label %land.lhs.true, label %if.end167 + +land.lhs.true: ; preds = %while.end157 + %70 = load i8*, i8** %new_path, align 8 + %arrayidx161 = getelementptr inbounds i8, i8* %70, i64 -1 + %71 = load i8, i8* %arrayidx161, align 1 + %conv162 = sext i8 %71 to i32 + %cmp163 = icmp eq i32 %conv162, 47 + br i1 %cmp163, label %if.then165, label %if.end167 + +if.then165: ; preds = %land.lhs.true + %72 = load i8*, i8** %new_path, align 8 + %incdec.ptr166 = getelementptr inbounds i8, i8* %72, i32 -1 + store i8* %incdec.ptr166, i8** %new_path, align 8 + br label %if.end167 + +if.end167: ; preds = %if.then165, %land.lhs.true, %while.end157 + %73 = load i8*, i8** %new_path, align 8 + store i8 0, i8* %73, align 1 + %74 = load i8*, i8** %got_path.addr, align 8 + store i8* %74, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end167, %if.then123, %if.then117, %if.then106, %if.then99, %if.then22, %if.then7, %if.then3, %if.then + %75 = load i8*, i8** %retval, align 8 + ret i8* %75 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @memcmp(i8* nonnull %s1, i8* nonnull %s2, i64 %n) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r1 = alloca i8*, align 8 + %r2 = alloca i8*, align 8 + %r = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %r1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %r2, align 8 + store i32 0, i32* %r, align 4 + br label %while.cond + +while.cond: ; preds = %land.rhs, %entry + %2 = load i64, i64* %n.addr, align 8 + %dec = add i64 %2, -1 + store i64 %dec, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %3 = load i8*, i8** %r1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %r1, align 8 + %4 = load i8, i8* %3, align 1 + %conv = zext i8 %4 to i32 + %5 = load i8*, i8** %r2, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr1, i8** %r2, align 8 + %6 = load i8, i8* %5, align 1 + %conv2 = zext i8 %6 to i32 + %sub = sub nsw i32 %conv, %conv2 + store i32 %sub, i32* %r, align 4 + %cmp = icmp eq i32 %sub, 0 + br i1 %cmp, label %while.cond, label %while.end + +while.end: ; preds = %while.cond, %land.rhs + %7 = load i32, i32* %r, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @tcgetattr(i32 %fd, %struct.termios* %termios_p) #0 { +entry: + %fd.addr = alloca i32, align 4 + %termios_p.addr = alloca %struct.termios*, align 8 + %k_termios = alloca %struct.__kernel_termios, align 4 + %retval1 = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.termios* %termios_p, %struct.termios** %termios_p.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 (i32, i64, ...) @ioctl(i32 %0, i64 21505, %struct.__kernel_termios* %k_termios) #19 + store i32 %call, i32* %retval1, align 4 + %c_iflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 0 + %1 = load i32, i32* %c_iflag, align 4 + %2 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_iflag2 = getelementptr inbounds %struct.termios, %struct.termios* %2, i32 0, i32 0 + store i32 %1, i32* %c_iflag2, align 4 + %c_oflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 1 + %3 = load i32, i32* %c_oflag, align 4 + %4 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_oflag3 = getelementptr inbounds %struct.termios, %struct.termios* %4, i32 0, i32 1 + store i32 %3, i32* %c_oflag3, align 4 + %c_cflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 2 + %5 = load i32, i32* %c_cflag, align 4 + %6 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_cflag4 = getelementptr inbounds %struct.termios, %struct.termios* %6, i32 0, i32 2 + store i32 %5, i32* %c_cflag4, align 4 + %c_lflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 3 + %7 = load i32, i32* %c_lflag, align 4 + %8 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_lflag5 = getelementptr inbounds %struct.termios, %struct.termios* %8, i32 0, i32 3 + store i32 %7, i32* %c_lflag5, align 4 + %c_line = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 4 + %9 = load i8, i8* %c_line, align 4 + %10 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_line6 = getelementptr inbounds %struct.termios, %struct.termios* %10, i32 0, i32 4 + store i8 %9, i8* %c_line6, align 4 + %11 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_cc = getelementptr inbounds %struct.termios, %struct.termios* %11, i32 0, i32 5 + %arrayidx = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc, i64 0, i64 0 + %c_cc7 = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 5 + %arrayidx8 = getelementptr inbounds [19 x i8], [19 x i8]* %c_cc7, i64 0, i64 0 + %call9 = call i8* @mempcpy(i8* %arrayidx, i8* %arrayidx8, i64 19) #19 + %call10 = call i8* @memset(i8* %call9, i32 0, i64 13) #19 + %12 = load i32, i32* %retval1, align 4 + ret i32 %12 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_getopt_internal(i32 %argc, i8** %argv, i8* %optstring, %struct.option* %longopts, i32* %longind, i32 %long_only) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + %longopts.addr = alloca %struct.option*, align 8 + %longind.addr = alloca i32*, align 8 + %long_only.addr = alloca i32, align 4 + %result = alloca i32, align 4 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + store %struct.option* %longopts, %struct.option** %longopts.addr, align 8 + store i32* %longind, i32** %longind.addr, align 8 + store i32 %long_only, i32* %long_only.addr, align 4 + %0 = load i32, i32* @optind, align 4 + store i32 %0, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 0), align 8 + %1 = load i32, i32* @opterr, align 4 + store i32 %1, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 1), align 4 + %2 = load i32, i32* %argc.addr, align 4 + %3 = load i8**, i8*** %argv.addr, align 8 + %4 = load i8*, i8** %optstring.addr, align 8 + %5 = load %struct.option*, %struct.option** %longopts.addr, align 8 + %6 = load i32*, i32** %longind.addr, align 8 + %7 = load i32, i32* %long_only.addr, align 4 + %call = call i32 @_getopt_internal_r(i32 %2, i8** %3, i8* %4, %struct.option* %5, i32* %6, i32 %7, %struct._getopt_data* @getopt_data) #18 + store i32 %call, i32* %result, align 4 + %8 = load i32, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 0), align 8 + store i32 %8, i32* @optind, align 4 + %9 = load i8*, i8** getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 3), align 8 + store i8* %9, i8** @optarg, align 8 + %10 = load i32, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 2), align 8 + store i32 %10, i32* @optopt, align 4 + %11 = load i32, i32* %result, align 4 + ret i32 %11 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_getopt_internal_r(i32 %argc, i8** %argv, i8* %optstring, %struct.option* %longopts, i32* %longind, i32 %long_only, %struct._getopt_data* %d) #0 { +entry: + %retval = alloca i32, align 4 + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + %longopts.addr = alloca %struct.option*, align 8 + %longind.addr = alloca i32*, align 8 + %long_only.addr = alloca i32, align 4 + %d.addr = alloca %struct._getopt_data*, align 8 + %print_errors = alloca i32, align 4 + %nameend = alloca i8*, align 8 + %p = alloca %struct.option*, align 8 + %pfound = alloca %struct.option*, align 8 + %exact = alloca i32, align 4 + %ambig = alloca i32, align 4 + %indfound = alloca i32, align 4 + %option_index = alloca i32, align 4 + %c = alloca i8, align 1 + %temp = alloca i8*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + store %struct.option* %longopts, %struct.option** %longopts.addr, align 8 + store i32* %longind, i32** %longind.addr, align 8 + store i32 %long_only, i32* %long_only.addr, align 4 + store %struct._getopt_data* %d, %struct._getopt_data** %d.addr, align 8 + %0 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %opterr = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %0, i32 0, i32 1 + %1 = load i32, i32* %opterr, align 4 + store i32 %1, i32* %print_errors, align 4 + %2 = load i8*, i8** %optstring.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %2, i64 0 + %3 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %3 to i32 + %cmp = icmp eq i32 %conv, 58 + %spec.store.select = select i1 %cmp, i32 0, i32 %1 + store i32 %spec.store.select, i32* %print_errors, align 4 + %4 = load i32, i32* %argc.addr, align 4 + %cmp2 = icmp slt i32 %4, 1 + br i1 %cmp2, label %if.then4, label %if.end5 + +if.then4: ; preds = %entry + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %entry + %5 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %5, i32 0, i32 3 + store i8* null, i8** %optarg, align 8 + %6 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %6, i32 0, i32 0 + %7 = load i32, i32* %optind, align 8 + %cmp6 = icmp eq i32 %7, 0 + br i1 %cmp6, label %if.then8, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end5 + %8 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__initialized = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %8, i32 0, i32 4 + %9 = load i32, i32* %__initialized, align 8 + %tobool = icmp ne i32 %9, 0 + br i1 %tobool, label %if.end16, label %if.then8 + +if.then8: ; preds = %lor.lhs.false, %if.end5 + %10 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind9 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %10, i32 0, i32 0 + %11 = load i32, i32* %optind9, align 8 + %cmp10 = icmp eq i32 %11, 0 + br i1 %cmp10, label %if.then12, label %if.end14 + +if.then12: ; preds = %if.then8 + %12 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind13 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %12, i32 0, i32 0 + store i32 1, i32* %optind13, align 8 + br label %if.end14 + +if.end14: ; preds = %if.then12, %if.then8 + %13 = load i32, i32* %argc.addr, align 4 + %14 = load i8**, i8*** %argv.addr, align 8 + %15 = load i8*, i8** %optstring.addr, align 8 + %16 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %call = call i8* @_getopt_initialize(i32 %13, i8** %14, i8* %15, %struct._getopt_data* %16) #18 + store i8* %call, i8** %optstring.addr, align 8 + %17 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__initialized15 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %17, i32 0, i32 4 + store i32 1, i32* %__initialized15, align 8 + br label %if.end16 + +if.end16: ; preds = %if.end14, %lor.lhs.false + %18 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %18, i32 0, i32 5 + %19 = load i8*, i8** %__nextchar, align 8 + %cmp17 = icmp eq i8* %19, null + br i1 %cmp17, label %if.then24, label %lor.lhs.false19 + +lor.lhs.false19: ; preds = %if.end16 + %20 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar20 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %20, i32 0, i32 5 + %21 = load i8*, i8** %__nextchar20, align 8 + %22 = load i8, i8* %21, align 1 + %conv21 = sext i8 %22 to i32 + %cmp22 = icmp eq i32 %conv21, 0 + br i1 %cmp22, label %if.then24, label %if.end171 + +if.then24: ; preds = %lor.lhs.false19, %if.end16 + %23 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %23, i32 0, i32 9 + %24 = load i32, i32* %__last_nonopt, align 4 + %25 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind25 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %25, i32 0, i32 0 + %26 = load i32, i32* %optind25, align 8 + %cmp26 = icmp sgt i32 %24, %26 + br i1 %cmp26, label %if.then28, label %if.end31 + +if.then28: ; preds = %if.then24 + %27 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind29 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %27, i32 0, i32 0 + %28 = load i32, i32* %optind29, align 8 + %29 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt30 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %29, i32 0, i32 9 + store i32 %28, i32* %__last_nonopt30, align 4 + br label %if.end31 + +if.end31: ; preds = %if.then28, %if.then24 + %30 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %30, i32 0, i32 8 + %31 = load i32, i32* %__first_nonopt, align 8 + %32 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind32 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %32, i32 0, i32 0 + %33 = load i32, i32* %optind32, align 8 + %cmp33 = icmp sgt i32 %31, %33 + br i1 %cmp33, label %if.then35, label %if.end38 + +if.then35: ; preds = %if.end31 + %34 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind36 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %34, i32 0, i32 0 + %35 = load i32, i32* %optind36, align 8 + %36 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt37 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %36, i32 0, i32 8 + store i32 %35, i32* %__first_nonopt37, align 8 + br label %if.end38 + +if.end38: ; preds = %if.then35, %if.end31 + %37 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %37, i32 0, i32 6 + %38 = load i32, i32* %__ordering, align 8 + %cmp39 = icmp eq i32 %38, 1 + br i1 %cmp39, label %if.then41, label %if.end79 + +if.then41: ; preds = %if.end38 + %39 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt42 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %39, i32 0, i32 8 + %40 = load i32, i32* %__first_nonopt42, align 8 + %41 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt43 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %41, i32 0, i32 9 + %42 = load i32, i32* %__last_nonopt43, align 4 + %cmp44 = icmp ne i32 %40, %42 + br i1 %cmp44, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %if.then41 + %43 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt46 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %43, i32 0, i32 9 + %44 = load i32, i32* %__last_nonopt46, align 4 + %45 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind47 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %45, i32 0, i32 0 + %46 = load i32, i32* %optind47, align 8 + %cmp48 = icmp ne i32 %44, %46 + br i1 %cmp48, label %if.then50, label %if.else + +if.then50: ; preds = %land.lhs.true + %47 = load i8**, i8*** %argv.addr, align 8 + %48 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + call void @exchange(i8** %47, %struct._getopt_data* %48) #18 + br label %if.end59 + +if.else: ; preds = %land.lhs.true, %if.then41 + %49 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt51 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %49, i32 0, i32 9 + %50 = load i32, i32* %__last_nonopt51, align 4 + %51 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind52 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %51, i32 0, i32 0 + %52 = load i32, i32* %optind52, align 8 + %cmp53 = icmp ne i32 %50, %52 + br i1 %cmp53, label %if.then55, label %if.end59 + +if.then55: ; preds = %if.else + %53 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind56 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %53, i32 0, i32 0 + %54 = load i32, i32* %optind56, align 8 + %55 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt57 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %55, i32 0, i32 8 + store i32 %54, i32* %__first_nonopt57, align 8 + br label %if.end59 + +if.end59: ; preds = %if.else, %if.then55, %if.then50 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end59 + %56 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind60 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %56, i32 0, i32 0 + %57 = load i32, i32* %optind60, align 8 + %58 = load i32, i32* %argc.addr, align 4 + %cmp61 = icmp slt i32 %57, %58 + br i1 %cmp61, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %59 = load i8**, i8*** %argv.addr, align 8 + %60 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind63 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %60, i32 0, i32 0 + %61 = load i32, i32* %optind63, align 8 + %idxprom = sext i32 %61 to i64 + %arrayidx64 = getelementptr inbounds i8*, i8** %59, i64 %idxprom + %62 = load i8*, i8** %arrayidx64, align 8 + %arrayidx65 = getelementptr inbounds i8, i8* %62, i64 0 + %63 = load i8, i8* %arrayidx65, align 1 + %conv66 = sext i8 %63 to i32 + %cmp67 = icmp ne i32 %conv66, 45 + br i1 %cmp67, label %land.end, label %lor.rhs + +lor.rhs: ; preds = %land.rhs + %64 = load i8**, i8*** %argv.addr, align 8 + %65 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind69 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %65, i32 0, i32 0 + %66 = load i32, i32* %optind69, align 8 + %idxprom70 = sext i32 %66 to i64 + %arrayidx71 = getelementptr inbounds i8*, i8** %64, i64 %idxprom70 + %67 = load i8*, i8** %arrayidx71, align 8 + %arrayidx72 = getelementptr inbounds i8, i8* %67, i64 1 + %68 = load i8, i8* %arrayidx72, align 1 + %conv73 = sext i8 %68 to i32 + %cmp74 = icmp eq i32 %conv73, 0 + br label %land.end + +land.end: ; preds = %land.rhs, %lor.rhs, %while.cond + %69 = phi i1 [ false, %while.cond ], [ true, %land.rhs ], [ %cmp74, %lor.rhs ] + %70 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind76 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %70, i32 0, i32 0 + %71 = load i32, i32* %optind76, align 8 + br i1 %69, label %while.body, label %while.end + +while.body: ; preds = %land.end + %inc = add nsw i32 %71, 1 + store i32 %inc, i32* %optind76, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %72 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt78 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %72, i32 0, i32 9 + store i32 %71, i32* %__last_nonopt78, align 4 + br label %if.end79 + +if.end79: ; preds = %while.end, %if.end38 + %73 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind80 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %73, i32 0, i32 0 + %74 = load i32, i32* %optind80, align 8 + %75 = load i32, i32* %argc.addr, align 4 + %cmp81 = icmp ne i32 %74, %75 + br i1 %cmp81, label %land.lhs.true83, label %if.end114 + +land.lhs.true83: ; preds = %if.end79 + %76 = load i8**, i8*** %argv.addr, align 8 + %77 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind84 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %77, i32 0, i32 0 + %78 = load i32, i32* %optind84, align 8 + %idxprom85 = sext i32 %78 to i64 + %arrayidx86 = getelementptr inbounds i8*, i8** %76, i64 %idxprom85 + %79 = load i8*, i8** %arrayidx86, align 8 + %call87 = call i32 @strcmp(i8* %79, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.295, i64 0, i64 0)) #20 + %tobool88 = icmp ne i32 %call87, 0 + br i1 %tobool88, label %if.end114, label %if.then89 + +if.then89: ; preds = %land.lhs.true83 + %80 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind90 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %80, i32 0, i32 0 + %81 = load i32, i32* %optind90, align 8 + %inc91 = add nsw i32 %81, 1 + store i32 %inc91, i32* %optind90, align 8 + %82 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt92 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %82, i32 0, i32 8 + %83 = load i32, i32* %__first_nonopt92, align 8 + %84 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt93 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %84, i32 0, i32 9 + %85 = load i32, i32* %__last_nonopt93, align 4 + %cmp94 = icmp ne i32 %83, %85 + br i1 %cmp94, label %land.lhs.true96, label %if.else102 + +land.lhs.true96: ; preds = %if.then89 + %86 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt97 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %86, i32 0, i32 9 + %87 = load i32, i32* %__last_nonopt97, align 4 + %88 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind98 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %88, i32 0, i32 0 + %89 = load i32, i32* %optind98, align 8 + %cmp99 = icmp ne i32 %87, %89 + br i1 %cmp99, label %if.then101, label %if.else102 + +if.then101: ; preds = %land.lhs.true96 + %90 = load i8**, i8*** %argv.addr, align 8 + %91 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + call void @exchange(i8** %90, %struct._getopt_data* %91) #18 + br label %if.end111 + +if.else102: ; preds = %land.lhs.true96, %if.then89 + %92 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt103 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %92, i32 0, i32 8 + %93 = load i32, i32* %__first_nonopt103, align 8 + %94 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt104 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %94, i32 0, i32 9 + %95 = load i32, i32* %__last_nonopt104, align 4 + %cmp105 = icmp eq i32 %93, %95 + br i1 %cmp105, label %if.then107, label %if.end111 + +if.then107: ; preds = %if.else102 + %96 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind108 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %96, i32 0, i32 0 + %97 = load i32, i32* %optind108, align 8 + %98 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt109 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %98, i32 0, i32 8 + store i32 %97, i32* %__first_nonopt109, align 8 + br label %if.end111 + +if.end111: ; preds = %if.else102, %if.then107, %if.then101 + %99 = load i32, i32* %argc.addr, align 4 + %100 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt112 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %100, i32 0, i32 9 + store i32 %99, i32* %__last_nonopt112, align 4 + %101 = load i32, i32* %argc.addr, align 4 + %102 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind113 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %102, i32 0, i32 0 + store i32 %101, i32* %optind113, align 8 + br label %if.end114 + +if.end114: ; preds = %if.end111, %land.lhs.true83, %if.end79 + %103 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind115 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %103, i32 0, i32 0 + %104 = load i32, i32* %optind115, align 8 + %105 = load i32, i32* %argc.addr, align 4 + %cmp116 = icmp eq i32 %104, %105 + br i1 %cmp116, label %if.then118, label %if.end127 + +if.then118: ; preds = %if.end114 + %106 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt119 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %106, i32 0, i32 8 + %107 = load i32, i32* %__first_nonopt119, align 8 + %108 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt120 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %108, i32 0, i32 9 + %109 = load i32, i32* %__last_nonopt120, align 4 + %cmp121 = icmp ne i32 %107, %109 + br i1 %cmp121, label %if.then123, label %if.end126 + +if.then123: ; preds = %if.then118 + %110 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt124 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %110, i32 0, i32 8 + %111 = load i32, i32* %__first_nonopt124, align 8 + %112 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind125 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %112, i32 0, i32 0 + store i32 %111, i32* %optind125, align 8 + br label %if.end126 + +if.end126: ; preds = %if.then123, %if.then118 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end127: ; preds = %if.end114 + %113 = load i8**, i8*** %argv.addr, align 8 + %114 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind128 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %114, i32 0, i32 0 + %115 = load i32, i32* %optind128, align 8 + %idxprom129 = sext i32 %115 to i64 + %arrayidx130 = getelementptr inbounds i8*, i8** %113, i64 %idxprom129 + %116 = load i8*, i8** %arrayidx130, align 8 + %arrayidx131 = getelementptr inbounds i8, i8* %116, i64 0 + %117 = load i8, i8* %arrayidx131, align 1 + %conv132 = sext i8 %117 to i32 + %cmp133 = icmp ne i32 %conv132, 45 + br i1 %cmp133, label %if.then143, label %lor.lhs.false135 + +lor.lhs.false135: ; preds = %if.end127 + %118 = load i8**, i8*** %argv.addr, align 8 + %119 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind136 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %119, i32 0, i32 0 + %120 = load i32, i32* %optind136, align 8 + %idxprom137 = sext i32 %120 to i64 + %arrayidx138 = getelementptr inbounds i8*, i8** %118, i64 %idxprom137 + %121 = load i8*, i8** %arrayidx138, align 8 + %arrayidx139 = getelementptr inbounds i8, i8* %121, i64 1 + %122 = load i8, i8* %arrayidx139, align 1 + %conv140 = sext i8 %122 to i32 + %cmp141 = icmp eq i32 %conv140, 0 + br i1 %cmp141, label %if.then143, label %if.end154 + +if.then143: ; preds = %lor.lhs.false135, %if.end127 + %123 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering144 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %123, i32 0, i32 6 + %124 = load i32, i32* %__ordering144, align 8 + %cmp145 = icmp eq i32 %124, 0 + br i1 %cmp145, label %if.then147, label %if.end148 + +if.then147: ; preds = %if.then143 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end148: ; preds = %if.then143 + %125 = load i8**, i8*** %argv.addr, align 8 + %126 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind149 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %126, i32 0, i32 0 + %127 = load i32, i32* %optind149, align 8 + %inc150 = add nsw i32 %127, 1 + store i32 %inc150, i32* %optind149, align 8 + %idxprom151 = sext i32 %127 to i64 + %arrayidx152 = getelementptr inbounds i8*, i8** %125, i64 %idxprom151 + %128 = load i8*, i8** %arrayidx152, align 8 + %129 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg153 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %129, i32 0, i32 3 + store i8* %128, i8** %optarg153, align 8 + store i32 1, i32* %retval, align 4 + br label %return + +if.end154: ; preds = %lor.lhs.false135 + %130 = load i8**, i8*** %argv.addr, align 8 + %131 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind155 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %131, i32 0, i32 0 + %132 = load i32, i32* %optind155, align 8 + %idxprom156 = sext i32 %132 to i64 + %arrayidx157 = getelementptr inbounds i8*, i8** %130, i64 %idxprom156 + %133 = load i8*, i8** %arrayidx157, align 8 + %add.ptr = getelementptr inbounds i8, i8* %133, i64 1 + %134 = load %struct.option*, %struct.option** %longopts.addr, align 8 + %cmp158 = icmp ne %struct.option* %134, null + br i1 %cmp158, label %land.rhs160, label %land.end168 + +land.rhs160: ; preds = %if.end154 + %135 = load i8**, i8*** %argv.addr, align 8 + %136 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind161 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %136, i32 0, i32 0 + %137 = load i32, i32* %optind161, align 8 + %idxprom162 = sext i32 %137 to i64 + %arrayidx163 = getelementptr inbounds i8*, i8** %135, i64 %idxprom162 + %138 = load i8*, i8** %arrayidx163, align 8 + %arrayidx164 = getelementptr inbounds i8, i8* %138, i64 1 + %139 = load i8, i8* %arrayidx164, align 1 + %conv165 = sext i8 %139 to i32 + %cmp166 = icmp eq i32 %conv165, 45 + br label %land.end168 + +land.end168: ; preds = %land.rhs160, %if.end154 + %140 = phi i1 [ false, %if.end154 ], [ %cmp166, %land.rhs160 ] + %land.ext = zext i1 %140 to i32 + %idx.ext = sext i32 %land.ext to i64 + %add.ptr169 = getelementptr inbounds i8, i8* %add.ptr, i64 %idx.ext + %141 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar170 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %141, i32 0, i32 5 + store i8* %add.ptr169, i8** %__nextchar170, align 8 + br label %if.end171 + +if.end171: ; preds = %land.end168, %lor.lhs.false19 + %142 = load %struct.option*, %struct.option** %longopts.addr, align 8 + %cmp172 = icmp ne %struct.option* %142, null + br i1 %cmp172, label %land.lhs.true174, label %if.end418 + +land.lhs.true174: ; preds = %if.end171 + %143 = load i8**, i8*** %argv.addr, align 8 + %144 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind175 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %144, i32 0, i32 0 + %145 = load i32, i32* %optind175, align 8 + %idxprom176 = sext i32 %145 to i64 + %arrayidx177 = getelementptr inbounds i8*, i8** %143, i64 %idxprom176 + %146 = load i8*, i8** %arrayidx177, align 8 + %arrayidx178 = getelementptr inbounds i8, i8* %146, i64 1 + %147 = load i8, i8* %arrayidx178, align 1 + %conv179 = sext i8 %147 to i32 + %cmp180 = icmp eq i32 %conv179, 45 + br i1 %cmp180, label %if.then199, label %lor.lhs.false182 + +lor.lhs.false182: ; preds = %land.lhs.true174 + %148 = load i32, i32* %long_only.addr, align 4 + %tobool183 = icmp ne i32 %148, 0 + br i1 %tobool183, label %land.lhs.true184, label %if.end418 + +land.lhs.true184: ; preds = %lor.lhs.false182 + %149 = load i8**, i8*** %argv.addr, align 8 + %150 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind185 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %150, i32 0, i32 0 + %151 = load i32, i32* %optind185, align 8 + %idxprom186 = sext i32 %151 to i64 + %arrayidx187 = getelementptr inbounds i8*, i8** %149, i64 %idxprom186 + %152 = load i8*, i8** %arrayidx187, align 8 + %arrayidx188 = getelementptr inbounds i8, i8* %152, i64 2 + %153 = load i8, i8* %arrayidx188, align 1 + %conv189 = sext i8 %153 to i32 + %tobool190 = icmp ne i32 %conv189, 0 + br i1 %tobool190, label %if.then199, label %lor.lhs.false191 + +lor.lhs.false191: ; preds = %land.lhs.true184 + %154 = load i8*, i8** %optstring.addr, align 8 + %155 = load i8**, i8*** %argv.addr, align 8 + %156 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind192 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %156, i32 0, i32 0 + %157 = load i32, i32* %optind192, align 8 + %idxprom193 = sext i32 %157 to i64 + %arrayidx194 = getelementptr inbounds i8*, i8** %155, i64 %idxprom193 + %158 = load i8*, i8** %arrayidx194, align 8 + %arrayidx195 = getelementptr inbounds i8, i8* %158, i64 1 + %159 = load i8, i8* %arrayidx195, align 1 + %conv196 = sext i8 %159 to i32 + %call197 = call i8* @strchr(i8* %154, i32 %conv196) #20 + %tobool198 = icmp ne i8* %call197, null + br i1 %tobool198, label %if.end418, label %if.then199 + +if.then199: ; preds = %lor.lhs.false191, %land.lhs.true184, %land.lhs.true174 + store %struct.option* null, %struct.option** %pfound, align 8 + store i32 0, i32* %exact, align 4 + store i32 0, i32* %ambig, align 4 + store i32 -1, i32* %indfound, align 4 + %160 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar200 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %160, i32 0, i32 5 + %161 = load i8*, i8** %__nextchar200, align 8 + store i8* %161, i8** %nameend, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.then199 + %162 = load i8*, i8** %nameend, align 8 + %163 = load i8, i8* %162, align 1 + %conv201 = sext i8 %163 to i32 + %tobool202 = icmp ne i32 %conv201, 0 + br i1 %tobool202, label %land.rhs203, label %for.end + +land.rhs203: ; preds = %for.cond + %164 = load i8*, i8** %nameend, align 8 + %165 = load i8, i8* %164, align 1 + %conv204 = sext i8 %165 to i32 + %cmp205 = icmp ne i32 %conv204, 61 + br i1 %cmp205, label %for.inc, label %for.end + +for.inc: ; preds = %land.rhs203 + %166 = load i8*, i8** %nameend, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %166, i32 1 + store i8* %incdec.ptr, i8** %nameend, align 8 + br label %for.cond + +for.end: ; preds = %for.cond, %land.rhs203 + %167 = load %struct.option*, %struct.option** %longopts.addr, align 8 + store %struct.option* %167, %struct.option** %p, align 8 + store i32 0, i32* %option_index, align 4 + br label %for.cond209 + +for.cond209: ; preds = %for.inc252, %for.end + %168 = load %struct.option*, %struct.option** %p, align 8 + %name = getelementptr inbounds %struct.option, %struct.option* %168, i32 0, i32 0 + %169 = load i8*, i8** %name, align 8 + %tobool210 = icmp ne i8* %169, null + br i1 %tobool210, label %for.body211, label %for.end255 + +for.body211: ; preds = %for.cond209 + %170 = load %struct.option*, %struct.option** %p, align 8 + %name212 = getelementptr inbounds %struct.option, %struct.option* %170, i32 0, i32 0 + %171 = load i8*, i8** %name212, align 8 + %172 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar213 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %172, i32 0, i32 5 + %173 = load i8*, i8** %__nextchar213, align 8 + %174 = load i8*, i8** %nameend, align 8 + %175 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar214 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %175, i32 0, i32 5 + %176 = load i8*, i8** %__nextchar214, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %174 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %176 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %call215 = call i32 @strncmp(i8* %171, i8* %173, i64 %sub.ptr.sub) #20 + %tobool216 = icmp ne i32 %call215, 0 + br i1 %tobool216, label %for.inc252, label %if.then217 + +if.then217: ; preds = %for.body211 + %177 = load i8*, i8** %nameend, align 8 + %178 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar218 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %178, i32 0, i32 5 + %179 = load i8*, i8** %__nextchar218, align 8 + %sub.ptr.lhs.cast219 = ptrtoint i8* %177 to i64 + %sub.ptr.rhs.cast220 = ptrtoint i8* %179 to i64 + %sub.ptr.sub221 = sub i64 %sub.ptr.lhs.cast219, %sub.ptr.rhs.cast220 + %conv222 = trunc i64 %sub.ptr.sub221 to i32 + %180 = load %struct.option*, %struct.option** %p, align 8 + %name223 = getelementptr inbounds %struct.option, %struct.option* %180, i32 0, i32 0 + %181 = load i8*, i8** %name223, align 8 + %call224 = call i64 @strlen(i8* %181) #20 + %conv225 = trunc i64 %call224 to i32 + %cmp226 = icmp eq i32 %conv222, %conv225 + br i1 %cmp226, label %if.then228, label %if.else229 + +if.then228: ; preds = %if.then217 + %182 = load %struct.option*, %struct.option** %p, align 8 + store %struct.option* %182, %struct.option** %pfound, align 8 + %183 = load i32, i32* %option_index, align 4 + store i32 %183, i32* %indfound, align 4 + store i32 1, i32* %exact, align 4 + br label %for.end255 + +if.else229: ; preds = %if.then217 + %184 = load %struct.option*, %struct.option** %pfound, align 8 + %cmp230 = icmp eq %struct.option* %184, null + br i1 %cmp230, label %if.then232, label %if.else233 + +if.then232: ; preds = %if.else229 + %185 = load %struct.option*, %struct.option** %p, align 8 + store %struct.option* %185, %struct.option** %pfound, align 8 + %186 = load i32, i32* %option_index, align 4 + store i32 %186, i32* %indfound, align 4 + br label %for.inc252 + +if.else233: ; preds = %if.else229 + %187 = load i32, i32* %long_only.addr, align 4 + %tobool234 = icmp ne i32 %187, 0 + br i1 %tobool234, label %if.then247, label %lor.lhs.false235 + +lor.lhs.false235: ; preds = %if.else233 + %188 = load %struct.option*, %struct.option** %pfound, align 8 + %has_arg = getelementptr inbounds %struct.option, %struct.option* %188, i32 0, i32 1 + %189 = load i32, i32* %has_arg, align 8 + %190 = load %struct.option*, %struct.option** %p, align 8 + %has_arg236 = getelementptr inbounds %struct.option, %struct.option* %190, i32 0, i32 1 + %191 = load i32, i32* %has_arg236, align 8 + %cmp237 = icmp ne i32 %189, %191 + br i1 %cmp237, label %if.then247, label %lor.lhs.false239 + +lor.lhs.false239: ; preds = %lor.lhs.false235 + %192 = load %struct.option*, %struct.option** %pfound, align 8 + %flag = getelementptr inbounds %struct.option, %struct.option* %192, i32 0, i32 2 + %193 = load i32*, i32** %flag, align 8 + %194 = load %struct.option*, %struct.option** %p, align 8 + %flag240 = getelementptr inbounds %struct.option, %struct.option* %194, i32 0, i32 2 + %195 = load i32*, i32** %flag240, align 8 + %cmp241 = icmp ne i32* %193, %195 + br i1 %cmp241, label %if.then247, label %lor.lhs.false243 + +lor.lhs.false243: ; preds = %lor.lhs.false239 + %196 = load %struct.option*, %struct.option** %pfound, align 8 + %val = getelementptr inbounds %struct.option, %struct.option* %196, i32 0, i32 3 + %197 = load i32, i32* %val, align 8 + %198 = load %struct.option*, %struct.option** %p, align 8 + %val244 = getelementptr inbounds %struct.option, %struct.option* %198, i32 0, i32 3 + %199 = load i32, i32* %val244, align 8 + %cmp245 = icmp ne i32 %197, %199 + br i1 %cmp245, label %if.then247, label %for.inc252 + +if.then247: ; preds = %lor.lhs.false243, %lor.lhs.false239, %lor.lhs.false235, %if.else233 + store i32 1, i32* %ambig, align 4 + br label %for.inc252 + +for.inc252: ; preds = %for.body211, %if.then232, %if.then247, %lor.lhs.false243 + %200 = load %struct.option*, %struct.option** %p, align 8 + %incdec.ptr253 = getelementptr inbounds %struct.option, %struct.option* %200, i32 1 + store %struct.option* %incdec.ptr253, %struct.option** %p, align 8 + %201 = load i32, i32* %option_index, align 4 + %inc254 = add nsw i32 %201, 1 + store i32 %inc254, i32* %option_index, align 4 + br label %for.cond209 + +for.end255: ; preds = %if.then228, %for.cond209 + %202 = load i32, i32* %ambig, align 4 + %tobool256 = icmp eq i32 %202, 0 + %203 = load i32, i32* %exact, align 4 + %tobool258 = icmp ne i32 %203, 0 + %or.cond = or i1 %tobool256, %tobool258 + br i1 %or.cond, label %if.end274, label %if.then259 + +if.then259: ; preds = %for.end255 + %204 = load i32, i32* %print_errors, align 4 + %tobool260 = icmp ne i32 %204, 0 + br i1 %tobool260, label %if.then261, label %if.end267 + +if.then261: ; preds = %if.then259 + %205 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %206 = load i8**, i8*** %argv.addr, align 8 + %arrayidx262 = getelementptr inbounds i8*, i8** %206, i64 0 + %207 = load i8*, i8** %arrayidx262, align 8 + %208 = load i8**, i8*** %argv.addr, align 8 + %209 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind263 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %209, i32 0, i32 0 + %210 = load i32, i32* %optind263, align 8 + %idxprom264 = sext i32 %210 to i64 + %arrayidx265 = getelementptr inbounds i8*, i8** %208, i64 %idxprom264 + %211 = load i8*, i8** %arrayidx265, align 8 + %call266 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %205, i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.1.296, i64 0, i64 0), i8* %207, i8* %211) #18 + br label %if.end267 + +if.end267: ; preds = %if.then261, %if.then259 + %212 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar268 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %212, i32 0, i32 5 + %213 = load i8*, i8** %__nextchar268, align 8 + %call269 = call i64 @strlen(i8* %213) #20 + %214 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar270 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %214, i32 0, i32 5 + %215 = load i8*, i8** %__nextchar270, align 8 + %add.ptr271 = getelementptr inbounds i8, i8* %215, i64 %call269 + store i8* %add.ptr271, i8** %__nextchar270, align 8 + %216 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind272 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %216, i32 0, i32 0 + %217 = load i32, i32* %optind272, align 8 + %inc273 = add nsw i32 %217, 1 + store i32 %inc273, i32* %optind272, align 8 + %218 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %218, i32 0, i32 2 + store i32 0, i32* %optopt, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.end274: ; preds = %for.end255 + %219 = load %struct.option*, %struct.option** %pfound, align 8 + %cmp275 = icmp ne %struct.option* %219, null + br i1 %cmp275, label %if.then277, label %if.end372 + +if.then277: ; preds = %if.end274 + %220 = load i32, i32* %indfound, align 4 + store i32 %220, i32* %option_index, align 4 + %221 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind278 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %221, i32 0, i32 0 + %222 = load i32, i32* %optind278, align 8 + %inc279 = add nsw i32 %222, 1 + store i32 %inc279, i32* %optind278, align 8 + %223 = load i8*, i8** %nameend, align 8 + %224 = load i8, i8* %223, align 1 + %tobool280 = icmp ne i8 %224, 0 + %225 = load %struct.option*, %struct.option** %pfound, align 8 + %has_arg282 = getelementptr inbounds %struct.option, %struct.option* %225, i32 0, i32 1 + %226 = load i32, i32* %has_arg282, align 8 + br i1 %tobool280, label %if.then281, label %if.else320 + +if.then281: ; preds = %if.then277 + %tobool283 = icmp ne i32 %226, 0 + br i1 %tobool283, label %if.then284, label %if.else287 + +if.then284: ; preds = %if.then281 + %227 = load i8*, i8** %nameend, align 8 + %add.ptr285 = getelementptr inbounds i8, i8* %227, i64 1 + %228 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg286 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %228, i32 0, i32 3 + store i8* %add.ptr285, i8** %optarg286, align 8 + br label %if.end356 + +if.else287: ; preds = %if.then281 + %229 = load i32, i32* %print_errors, align 4 + %tobool288 = icmp ne i32 %229, 0 + br i1 %tobool288, label %if.then289, label %if.end312 + +if.then289: ; preds = %if.else287 + %230 = load i8**, i8*** %argv.addr, align 8 + %231 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind290 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %231, i32 0, i32 0 + %232 = load i32, i32* %optind290, align 8 + %sub = sub nsw i32 %232, 1 + %idxprom291 = sext i32 %sub to i64 + %arrayidx292 = getelementptr inbounds i8*, i8** %230, i64 %idxprom291 + %233 = load i8*, i8** %arrayidx292, align 8 + %arrayidx293 = getelementptr inbounds i8, i8* %233, i64 1 + %234 = load i8, i8* %arrayidx293, align 1 + %conv294 = sext i8 %234 to i32 + %cmp295 = icmp eq i32 %conv294, 45 + %235 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %236 = load i8**, i8*** %argv.addr, align 8 + %arrayidx298 = getelementptr inbounds i8*, i8** %236, i64 0 + %237 = load i8*, i8** %arrayidx298, align 8 + br i1 %cmp295, label %if.then297, label %if.else301 + +if.then297: ; preds = %if.then289 + %238 = load %struct.option*, %struct.option** %pfound, align 8 + %name299 = getelementptr inbounds %struct.option, %struct.option* %238, i32 0, i32 0 + %239 = load i8*, i8** %name299, align 8 + %call300 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %235, i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.2.297, i64 0, i64 0), i8* %237, i8* %239) #18 + br label %if.end312 + +if.else301: ; preds = %if.then289 + %240 = load i8**, i8*** %argv.addr, align 8 + %241 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind303 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %241, i32 0, i32 0 + %242 = load i32, i32* %optind303, align 8 + %sub304 = sub nsw i32 %242, 1 + %idxprom305 = sext i32 %sub304 to i64 + %arrayidx306 = getelementptr inbounds i8*, i8** %240, i64 %idxprom305 + %243 = load i8*, i8** %arrayidx306, align 8 + %arrayidx307 = getelementptr inbounds i8, i8* %243, i64 0 + %244 = load i8, i8* %arrayidx307, align 1 + %conv308 = sext i8 %244 to i32 + %245 = load %struct.option*, %struct.option** %pfound, align 8 + %name309 = getelementptr inbounds %struct.option, %struct.option* %245, i32 0, i32 0 + %246 = load i8*, i8** %name309, align 8 + %call310 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %235, i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.3.298, i64 0, i64 0), i8* %237, i32 %conv308, i8* %246) #18 + br label %if.end312 + +if.end312: ; preds = %if.then297, %if.else301, %if.else287 + %247 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar313 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %247, i32 0, i32 5 + %248 = load i8*, i8** %__nextchar313, align 8 + %call314 = call i64 @strlen(i8* %248) #20 + %249 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar315 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %249, i32 0, i32 5 + %250 = load i8*, i8** %__nextchar315, align 8 + %add.ptr316 = getelementptr inbounds i8, i8* %250, i64 %call314 + store i8* %add.ptr316, i8** %__nextchar315, align 8 + %251 = load %struct.option*, %struct.option** %pfound, align 8 + %val317 = getelementptr inbounds %struct.option, %struct.option* %251, i32 0, i32 3 + %252 = load i32, i32* %val317, align 8 + %253 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt318 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %253, i32 0, i32 2 + store i32 %252, i32* %optopt318, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.else320: ; preds = %if.then277 + %cmp322 = icmp eq i32 %226, 1 + br i1 %cmp322, label %if.then324, label %if.end356 + +if.then324: ; preds = %if.else320 + %254 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind325 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %254, i32 0, i32 0 + %255 = load i32, i32* %optind325, align 8 + %256 = load i32, i32* %argc.addr, align 4 + %cmp326 = icmp slt i32 %255, %256 + br i1 %cmp326, label %if.then328, label %if.else334 + +if.then328: ; preds = %if.then324 + %257 = load i8**, i8*** %argv.addr, align 8 + %258 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind329 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %258, i32 0, i32 0 + %259 = load i32, i32* %optind329, align 8 + %inc330 = add nsw i32 %259, 1 + store i32 %inc330, i32* %optind329, align 8 + %idxprom331 = sext i32 %259 to i64 + %arrayidx332 = getelementptr inbounds i8*, i8** %257, i64 %idxprom331 + %260 = load i8*, i8** %arrayidx332, align 8 + %261 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg333 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %261, i32 0, i32 3 + store i8* %260, i8** %optarg333, align 8 + br label %if.end356 + +if.else334: ; preds = %if.then324 + %262 = load i32, i32* %print_errors, align 4 + %tobool335 = icmp ne i32 %262, 0 + br i1 %tobool335, label %if.then336, label %if.end343 + +if.then336: ; preds = %if.else334 + %263 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %264 = load i8**, i8*** %argv.addr, align 8 + %arrayidx337 = getelementptr inbounds i8*, i8** %264, i64 0 + %265 = load i8*, i8** %arrayidx337, align 8 + %266 = load i8**, i8*** %argv.addr, align 8 + %267 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind338 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %267, i32 0, i32 0 + %268 = load i32, i32* %optind338, align 8 + %sub339 = sub nsw i32 %268, 1 + %idxprom340 = sext i32 %sub339 to i64 + %arrayidx341 = getelementptr inbounds i8*, i8** %266, i64 %idxprom340 + %269 = load i8*, i8** %arrayidx341, align 8 + %call342 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %263, i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.4.299, i64 0, i64 0), i8* %265, i8* %269) #18 + br label %if.end343 + +if.end343: ; preds = %if.then336, %if.else334 + %270 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar344 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %270, i32 0, i32 5 + %271 = load i8*, i8** %__nextchar344, align 8 + %call345 = call i64 @strlen(i8* %271) #20 + %272 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar346 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %272, i32 0, i32 5 + %273 = load i8*, i8** %__nextchar346, align 8 + %add.ptr347 = getelementptr inbounds i8, i8* %273, i64 %call345 + store i8* %add.ptr347, i8** %__nextchar346, align 8 + %274 = load %struct.option*, %struct.option** %pfound, align 8 + %val348 = getelementptr inbounds %struct.option, %struct.option* %274, i32 0, i32 3 + %275 = load i32, i32* %val348, align 8 + %276 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt349 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %276, i32 0, i32 2 + store i32 %275, i32* %optopt349, align 8 + %277 = load i8*, i8** %optstring.addr, align 8 + %arrayidx350 = getelementptr inbounds i8, i8* %277, i64 0 + %278 = load i8, i8* %arrayidx350, align 1 + %conv351 = sext i8 %278 to i32 + %cmp352 = icmp eq i32 %conv351, 58 + %279 = zext i1 %cmp352 to i64 + %cond = select i1 %cmp352, i32 58, i32 63 + store i32 %cond, i32* %retval, align 4 + br label %return + +if.end356: ; preds = %if.else320, %if.then328, %if.then284 + %280 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar357 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %280, i32 0, i32 5 + %281 = load i8*, i8** %__nextchar357, align 8 + %call358 = call i64 @strlen(i8* %281) #20 + %282 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar359 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %282, i32 0, i32 5 + %283 = load i8*, i8** %__nextchar359, align 8 + %add.ptr360 = getelementptr inbounds i8, i8* %283, i64 %call358 + store i8* %add.ptr360, i8** %__nextchar359, align 8 + %284 = load i32*, i32** %longind.addr, align 8 + %cmp361 = icmp ne i32* %284, null + br i1 %cmp361, label %if.then363, label %if.end364 + +if.then363: ; preds = %if.end356 + %285 = load i32, i32* %option_index, align 4 + %286 = load i32*, i32** %longind.addr, align 8 + store i32 %285, i32* %286, align 4 + br label %if.end364 + +if.end364: ; preds = %if.then363, %if.end356 + %287 = load %struct.option*, %struct.option** %pfound, align 8 + %flag365 = getelementptr inbounds %struct.option, %struct.option* %287, i32 0, i32 2 + %288 = load i32*, i32** %flag365, align 8 + %tobool366 = icmp ne i32* %288, null + %289 = load %struct.option*, %struct.option** %pfound, align 8 + %val368 = getelementptr inbounds %struct.option, %struct.option* %289, i32 0, i32 3 + %290 = load i32, i32* %val368, align 8 + br i1 %tobool366, label %if.then367, label %if.end370 + +if.then367: ; preds = %if.end364 + %291 = load %struct.option*, %struct.option** %pfound, align 8 + %flag369 = getelementptr inbounds %struct.option, %struct.option* %291, i32 0, i32 2 + %292 = load i32*, i32** %flag369, align 8 + store i32 %290, i32* %292, align 4 + store i32 0, i32* %retval, align 4 + br label %return + +if.end370: ; preds = %if.end364 + store i32 %290, i32* %retval, align 4 + br label %return + +if.end372: ; preds = %if.end274 + %293 = load i32, i32* %long_only.addr, align 4 + %tobool373 = icmp ne i32 %293, 0 + br i1 %tobool373, label %lor.lhs.false374, label %if.then388 + +lor.lhs.false374: ; preds = %if.end372 + %294 = load i8**, i8*** %argv.addr, align 8 + %295 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind375 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %295, i32 0, i32 0 + %296 = load i32, i32* %optind375, align 8 + %idxprom376 = sext i32 %296 to i64 + %arrayidx377 = getelementptr inbounds i8*, i8** %294, i64 %idxprom376 + %297 = load i8*, i8** %arrayidx377, align 8 + %arrayidx378 = getelementptr inbounds i8, i8* %297, i64 1 + %298 = load i8, i8* %arrayidx378, align 1 + %conv379 = sext i8 %298 to i32 + %cmp380 = icmp eq i32 %conv379, 45 + br i1 %cmp380, label %if.then388, label %lor.lhs.false382 + +lor.lhs.false382: ; preds = %lor.lhs.false374 + %299 = load i8*, i8** %optstring.addr, align 8 + %300 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar383 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %300, i32 0, i32 5 + %301 = load i8*, i8** %__nextchar383, align 8 + %302 = load i8, i8* %301, align 1 + %conv384 = sext i8 %302 to i32 + %call385 = call i8* @strchr(i8* %299, i32 %conv384) #20 + %cmp386 = icmp eq i8* %call385, null + br i1 %cmp386, label %if.then388, label %if.end418 + +if.then388: ; preds = %lor.lhs.false382, %lor.lhs.false374, %if.end372 + %303 = load i32, i32* %print_errors, align 4 + %tobool389 = icmp ne i32 %303, 0 + br i1 %tobool389, label %if.then390, label %if.end412 + +if.then390: ; preds = %if.then388 + %304 = load i8**, i8*** %argv.addr, align 8 + %305 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind391 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %305, i32 0, i32 0 + %306 = load i32, i32* %optind391, align 8 + %idxprom392 = sext i32 %306 to i64 + %arrayidx393 = getelementptr inbounds i8*, i8** %304, i64 %idxprom392 + %307 = load i8*, i8** %arrayidx393, align 8 + %arrayidx394 = getelementptr inbounds i8, i8* %307, i64 1 + %308 = load i8, i8* %arrayidx394, align 1 + %conv395 = sext i8 %308 to i32 + %cmp396 = icmp eq i32 %conv395, 45 + %309 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %310 = load i8**, i8*** %argv.addr, align 8 + %arrayidx399 = getelementptr inbounds i8*, i8** %310, i64 0 + %311 = load i8*, i8** %arrayidx399, align 8 + br i1 %cmp396, label %if.then398, label %if.else402 + +if.then398: ; preds = %if.then390 + %312 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar400 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %312, i32 0, i32 5 + %313 = load i8*, i8** %__nextchar400, align 8 + %call401 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %309, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.5.300, i64 0, i64 0), i8* %311, i8* %313) #18 + br label %if.end412 + +if.else402: ; preds = %if.then390 + %314 = load i8**, i8*** %argv.addr, align 8 + %315 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind404 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %315, i32 0, i32 0 + %316 = load i32, i32* %optind404, align 8 + %idxprom405 = sext i32 %316 to i64 + %arrayidx406 = getelementptr inbounds i8*, i8** %314, i64 %idxprom405 + %317 = load i8*, i8** %arrayidx406, align 8 + %arrayidx407 = getelementptr inbounds i8, i8* %317, i64 0 + %318 = load i8, i8* %arrayidx407, align 1 + %conv408 = sext i8 %318 to i32 + %319 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar409 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %319, i32 0, i32 5 + %320 = load i8*, i8** %__nextchar409, align 8 + %call410 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %309, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.6.301, i64 0, i64 0), i8* %311, i32 %conv408, i8* %320) #18 + br label %if.end412 + +if.end412: ; preds = %if.then398, %if.else402, %if.then388 + %321 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar413 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %321, i32 0, i32 5 + store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.7.302, i64 0, i64 0), i8** %__nextchar413, align 8 + %322 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind414 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %322, i32 0, i32 0 + %323 = load i32, i32* %optind414, align 8 + %inc415 = add nsw i32 %323, 1 + store i32 %inc415, i32* %optind414, align 8 + %324 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt416 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %324, i32 0, i32 2 + store i32 0, i32* %optopt416, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.end418: ; preds = %lor.lhs.false382, %lor.lhs.false191, %lor.lhs.false182, %if.end171 + %325 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar419 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %325, i32 0, i32 5 + %326 = load i8*, i8** %__nextchar419, align 8 + %incdec.ptr420 = getelementptr inbounds i8, i8* %326, i32 1 + store i8* %incdec.ptr420, i8** %__nextchar419, align 8 + %327 = load i8, i8* %326, align 1 + store i8 %327, i8* %c, align 1 + %328 = load i8*, i8** %optstring.addr, align 8 + %329 = load i8, i8* %c, align 1 + %conv421 = sext i8 %329 to i32 + %call422 = call i8* @strchr(i8* %328, i32 %conv421) #20 + store i8* %call422, i8** %temp, align 8 + %330 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar423 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %330, i32 0, i32 5 + %331 = load i8*, i8** %__nextchar423, align 8 + %332 = load i8, i8* %331, align 1 + %conv424 = sext i8 %332 to i32 + %cmp425 = icmp eq i32 %conv424, 0 + br i1 %cmp425, label %if.then427, label %if.end430 + +if.then427: ; preds = %if.end418 + %333 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind428 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %333, i32 0, i32 0 + %334 = load i32, i32* %optind428, align 8 + %inc429 = add nsw i32 %334, 1 + store i32 %inc429, i32* %optind428, align 8 + br label %if.end430 + +if.end430: ; preds = %if.then427, %if.end418 + %335 = load i8*, i8** %temp, align 8 + %cmp431 = icmp eq i8* %335, null + br i1 %cmp431, label %if.then437, label %lor.lhs.false433 + +lor.lhs.false433: ; preds = %if.end430 + %336 = load i8, i8* %c, align 1 + %conv434 = sext i8 %336 to i32 + %cmp435 = icmp eq i32 %conv434, 58 + br i1 %cmp435, label %if.then437, label %if.end453 + +if.then437: ; preds = %lor.lhs.false433, %if.end430 + %337 = load i32, i32* %print_errors, align 4 + %tobool438 = icmp ne i32 %337, 0 + br i1 %tobool438, label %if.then439, label %if.end450 + +if.then439: ; preds = %if.then437 + %338 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__posixly_correct = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %338, i32 0, i32 7 + %339 = load i32, i32* %__posixly_correct, align 4 + %tobool440 = icmp ne i32 %339, 0 + %340 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %341 = load i8**, i8*** %argv.addr, align 8 + %arrayidx442 = getelementptr inbounds i8*, i8** %341, i64 0 + %342 = load i8*, i8** %arrayidx442, align 8 + %343 = load i8, i8* %c, align 1 + %conv443 = sext i8 %343 to i32 + br i1 %tobool440, label %if.then441, label %if.else445 + +if.then441: ; preds = %if.then439 + %call444 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %340, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.8.303, i64 0, i64 0), i8* %342, i32 %conv443) #18 + br label %if.end450 + +if.else445: ; preds = %if.then439 + %call448 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %340, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.9.304, i64 0, i64 0), i8* %342, i32 %conv443) #18 + br label %if.end450 + +if.end450: ; preds = %if.then441, %if.else445, %if.then437 + %344 = load i8, i8* %c, align 1 + %conv451 = sext i8 %344 to i32 + %345 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt452 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %345, i32 0, i32 2 + store i32 %conv451, i32* %optopt452, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.end453: ; preds = %lor.lhs.false433 + %346 = load i8*, i8** %temp, align 8 + %arrayidx454 = getelementptr inbounds i8, i8* %346, i64 1 + %347 = load i8, i8* %arrayidx454, align 1 + %conv455 = sext i8 %347 to i32 + %cmp456 = icmp eq i32 %conv455, 58 + br i1 %cmp456, label %if.then458, label %if.end517 + +if.then458: ; preds = %if.end453 + %348 = load i8*, i8** %temp, align 8 + %arrayidx459 = getelementptr inbounds i8, i8* %348, i64 2 + %349 = load i8, i8* %arrayidx459, align 1 + %conv460 = sext i8 %349 to i32 + %cmp461 = icmp eq i32 %conv460, 58 + %350 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar464 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %350, i32 0, i32 5 + %351 = load i8*, i8** %__nextchar464, align 8 + %352 = load i8, i8* %351, align 1 + %conv465 = sext i8 %352 to i32 + %cmp466 = icmp ne i32 %conv465, 0 + %353 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + br i1 %cmp461, label %if.then463, label %if.else477 + +if.then463: ; preds = %if.then458 + br i1 %cmp466, label %if.then468, label %if.else473 + +if.then468: ; preds = %if.then463 + %__nextchar469 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 5 + %354 = load i8*, i8** %__nextchar469, align 8 + %355 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg470 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %355, i32 0, i32 3 + store i8* %354, i8** %optarg470, align 8 + %356 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind471 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %356, i32 0, i32 0 + %357 = load i32, i32* %optind471, align 8 + %inc472 = add nsw i32 %357, 1 + store i32 %inc472, i32* %optind471, align 8 + br label %if.end475 + +if.else473: ; preds = %if.then463 + %optarg474 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 3 + store i8* null, i8** %optarg474, align 8 + br label %if.end475 + +if.end475: ; preds = %if.else473, %if.then468 + %358 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar476 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %358, i32 0, i32 5 + store i8* null, i8** %__nextchar476, align 8 + br label %if.end517 + +if.else477: ; preds = %if.then458 + br i1 %cmp466, label %if.then482, label %if.else487 + +if.then482: ; preds = %if.else477 + %__nextchar483 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 5 + %359 = load i8*, i8** %__nextchar483, align 8 + %360 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg484 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %360, i32 0, i32 3 + store i8* %359, i8** %optarg484, align 8 + %361 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind485 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %361, i32 0, i32 0 + %362 = load i32, i32* %optind485, align 8 + %inc486 = add nsw i32 %362, 1 + store i32 %inc486, i32* %optind485, align 8 + br label %if.end514 + +if.else487: ; preds = %if.else477 + %optind488 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 0 + %363 = load i32, i32* %optind488, align 8 + %364 = load i32, i32* %argc.addr, align 4 + %cmp489 = icmp eq i32 %363, %364 + br i1 %cmp489, label %if.then491, label %if.else507 + +if.then491: ; preds = %if.else487 + %365 = load i32, i32* %print_errors, align 4 + %tobool492 = icmp ne i32 %365, 0 + br i1 %tobool492, label %if.then493, label %if.end497 + +if.then493: ; preds = %if.then491 + %366 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %367 = load i8**, i8*** %argv.addr, align 8 + %arrayidx494 = getelementptr inbounds i8*, i8** %367, i64 0 + %368 = load i8*, i8** %arrayidx494, align 8 + %369 = load i8, i8* %c, align 1 + %conv495 = sext i8 %369 to i32 + %call496 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %366, i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.10.305, i64 0, i64 0), i8* %368, i32 %conv495) #18 + br label %if.end497 + +if.end497: ; preds = %if.then493, %if.then491 + %370 = load i8, i8* %c, align 1 + %conv498 = sext i8 %370 to i32 + %371 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt499 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %371, i32 0, i32 2 + store i32 %conv498, i32* %optopt499, align 8 + %372 = load i8*, i8** %optstring.addr, align 8 + %arrayidx500 = getelementptr inbounds i8, i8* %372, i64 0 + %373 = load i8, i8* %arrayidx500, align 1 + %conv501 = sext i8 %373 to i32 + %cmp502 = icmp eq i32 %conv501, 58 + br i1 %cmp502, label %if.then504, label %if.else505 + +if.then504: ; preds = %if.end497 + store i8 58, i8* %c, align 1 + br label %if.end514 + +if.else505: ; preds = %if.end497 + store i8 63, i8* %c, align 1 + br label %if.end514 + +if.else507: ; preds = %if.else487 + %374 = load i8**, i8*** %argv.addr, align 8 + %375 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind508 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %375, i32 0, i32 0 + %376 = load i32, i32* %optind508, align 8 + %inc509 = add nsw i32 %376, 1 + store i32 %inc509, i32* %optind508, align 8 + %idxprom510 = sext i32 %376 to i64 + %arrayidx511 = getelementptr inbounds i8*, i8** %374, i64 %idxprom510 + %377 = load i8*, i8** %arrayidx511, align 8 + %378 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg512 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %378, i32 0, i32 3 + store i8* %377, i8** %optarg512, align 8 + br label %if.end514 + +if.end514: ; preds = %if.else507, %if.else505, %if.then504, %if.then482 + %379 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar515 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %379, i32 0, i32 5 + store i8* null, i8** %__nextchar515, align 8 + br label %if.end517 + +if.end517: ; preds = %if.end475, %if.end514, %if.end453 + %380 = load i8, i8* %c, align 1 + %conv518 = sext i8 %380 to i32 + store i32 %conv518, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end517, %if.end450, %if.end412, %if.end370, %if.then367, %if.end343, %if.end312, %if.end267, %if.end148, %if.then147, %if.end126, %if.then4 + %381 = load i32, i32* %retval, align 4 + ret i32 %381 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @_getopt_initialize(i32 %argc, i8** %argv, i8* %optstring, %struct._getopt_data* %d) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + %d.addr = alloca %struct._getopt_data*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + store %struct._getopt_data* %d, %struct._getopt_data** %d.addr, align 8 + %0 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %0, i32 0, i32 0 + %1 = load i32, i32* %optind, align 8 + %2 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %2, i32 0, i32 9 + store i32 %1, i32* %__last_nonopt, align 4 + %3 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %3, i32 0, i32 8 + store i32 %1, i32* %__first_nonopt, align 8 + %4 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %4, i32 0, i32 5 + store i8* null, i8** %__nextchar, align 8 + %call = call i8* @getenv(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.11.306, i64 0, i64 0)) #19 + %tobool = icmp ne i8* %call, null + %lnot = xor i1 %tobool, true + %lnot1 = xor i1 %lnot, true + %lnot.ext = zext i1 %lnot1 to i32 + %5 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__posixly_correct = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %5, i32 0, i32 7 + store i32 %lnot.ext, i32* %__posixly_correct, align 4 + %6 = load i8*, i8** %optstring.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %6, i64 0 + %7 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %7 to i32 + %cmp = icmp eq i32 %conv, 45 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %8 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %8, i32 0, i32 6 + store i32 2, i32* %__ordering, align 8 + %9 = load i8*, i8** %optstring.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %optstring.addr, align 8 + br label %if.end18 + +if.else: ; preds = %entry + %10 = load i8*, i8** %optstring.addr, align 8 + %arrayidx3 = getelementptr inbounds i8, i8* %10, i64 0 + %11 = load i8, i8* %arrayidx3, align 1 + %conv4 = sext i8 %11 to i32 + %cmp5 = icmp eq i32 %conv4, 43 + %12 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + br i1 %cmp5, label %if.then7, label %if.else10 + +if.then7: ; preds = %if.else + %__ordering8 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %12, i32 0, i32 6 + store i32 0, i32* %__ordering8, align 8 + %13 = load i8*, i8** %optstring.addr, align 8 + %incdec.ptr9 = getelementptr inbounds i8, i8* %13, i32 1 + store i8* %incdec.ptr9, i8** %optstring.addr, align 8 + br label %if.end18 + +if.else10: ; preds = %if.else + %__posixly_correct11 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %12, i32 0, i32 7 + %14 = load i32, i32* %__posixly_correct11, align 4 + %tobool12 = icmp ne i32 %14, 0 + %15 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering14 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %15, i32 0, i32 6 + br i1 %tobool12, label %if.then13, label %if.else15 + +if.then13: ; preds = %if.else10 + store i32 0, i32* %__ordering14, align 8 + br label %if.end18 + +if.else15: ; preds = %if.else10 + store i32 1, i32* %__ordering14, align 8 + br label %if.end18 + +if.end18: ; preds = %if.then7, %if.else15, %if.then13, %if.then + %16 = load i8*, i8** %optstring.addr, align 8 + ret i8* %16 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @exchange(i8** %argv, %struct._getopt_data* %d) #0 { +entry: + %argv.addr = alloca i8**, align 8 + %d.addr = alloca %struct._getopt_data*, align 8 + %bottom = alloca i32, align 4 + %middle = alloca i32, align 4 + %top = alloca i32, align 4 + %tem = alloca i8*, align 8 + %len = alloca i32, align 4 + %i = alloca i32, align 4 + %len20 = alloca i32, align 4 + %i22 = alloca i32, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store %struct._getopt_data* %d, %struct._getopt_data** %d.addr, align 8 + %0 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %0, i32 0, i32 8 + %1 = load i32, i32* %__first_nonopt, align 8 + store i32 %1, i32* %bottom, align 4 + %2 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %2, i32 0, i32 9 + %3 = load i32, i32* %__last_nonopt, align 4 + store i32 %3, i32* %middle, align 4 + %4 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %4, i32 0, i32 0 + %5 = load i32, i32* %optind, align 8 + store i32 %5, i32* %top, align 4 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %6 = load i32, i32* %top, align 4 + %7 = load i32, i32* %middle, align 4 + %cmp = icmp sgt i32 %6, %7 + %8 = load i32, i32* %middle, align 4 + %9 = load i32, i32* %bottom, align 4 + %cmp1 = icmp sgt i32 %8, %9 + %10 = select i1 %cmp, i1 %cmp1, i1 false + br i1 %10, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %11 = load i32, i32* %top, align 4 + %12 = load i32, i32* %middle, align 4 + %sub = sub nsw i32 %11, %12 + %13 = load i32, i32* %middle, align 4 + %14 = load i32, i32* %bottom, align 4 + %sub2 = sub nsw i32 %13, %14 + %cmp3 = icmp sgt i32 %sub, %sub2 + br i1 %cmp3, label %if.then, label %if.else + +if.then: ; preds = %while.body + %15 = load i32, i32* %middle, align 4 + %16 = load i32, i32* %bottom, align 4 + %sub4 = sub nsw i32 %15, %16 + store i32 %sub4, i32* %len, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.then + %17 = load i32, i32* %i, align 4 + %18 = load i32, i32* %len, align 4 + %cmp5 = icmp slt i32 %17, %18 + br i1 %cmp5, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %19 = load i8**, i8*** %argv.addr, align 8 + %20 = load i32, i32* %bottom, align 4 + %21 = load i32, i32* %i, align 4 + %add = add nsw i32 %20, %21 + %idxprom = sext i32 %add to i64 + %arrayidx = getelementptr inbounds i8*, i8** %19, i64 %idxprom + %22 = load i8*, i8** %arrayidx, align 8 + store i8* %22, i8** %tem, align 8 + %23 = load i8**, i8*** %argv.addr, align 8 + %24 = load i32, i32* %top, align 4 + %25 = load i32, i32* %middle, align 4 + %26 = load i32, i32* %bottom, align 4 + %sub6 = sub nsw i32 %25, %26 + %sub7 = sub nsw i32 %24, %sub6 + %27 = load i32, i32* %i, align 4 + %add8 = add nsw i32 %sub7, %27 + %idxprom9 = sext i32 %add8 to i64 + %arrayidx10 = getelementptr inbounds i8*, i8** %23, i64 %idxprom9 + %28 = load i8*, i8** %arrayidx10, align 8 + %29 = load i8**, i8*** %argv.addr, align 8 + %30 = load i32, i32* %bottom, align 4 + %31 = load i32, i32* %i, align 4 + %add11 = add nsw i32 %30, %31 + %idxprom12 = sext i32 %add11 to i64 + %arrayidx13 = getelementptr inbounds i8*, i8** %29, i64 %idxprom12 + store i8* %28, i8** %arrayidx13, align 8 + %32 = load i8*, i8** %tem, align 8 + %33 = load i8**, i8*** %argv.addr, align 8 + %34 = load i32, i32* %top, align 4 + %35 = load i32, i32* %middle, align 4 + %36 = load i32, i32* %bottom, align 4 + %sub14 = sub nsw i32 %35, %36 + %sub15 = sub nsw i32 %34, %sub14 + %37 = load i32, i32* %i, align 4 + %add16 = add nsw i32 %sub15, %37 + %idxprom17 = sext i32 %add16 to i64 + %arrayidx18 = getelementptr inbounds i8*, i8** %33, i64 %idxprom17 + store i8* %32, i8** %arrayidx18, align 8 + %38 = load i32, i32* %i, align 4 + %inc = add nsw i32 %38, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %39 = load i32, i32* %len, align 4 + %40 = load i32, i32* %top, align 4 + %sub19 = sub nsw i32 %40, %39 + store i32 %sub19, i32* %top, align 4 + br label %if.end + +if.else: ; preds = %while.body + %41 = load i32, i32* %top, align 4 + %42 = load i32, i32* %middle, align 4 + %sub21 = sub nsw i32 %41, %42 + store i32 %sub21, i32* %len20, align 4 + store i32 0, i32* %i22, align 4 + br label %for.cond23 + +for.cond23: ; preds = %for.body25, %if.else + %43 = load i32, i32* %i22, align 4 + %44 = load i32, i32* %len20, align 4 + %cmp24 = icmp slt i32 %43, %44 + br i1 %cmp24, label %for.body25, label %for.end40 + +for.body25: ; preds = %for.cond23 + %45 = load i8**, i8*** %argv.addr, align 8 + %46 = load i32, i32* %bottom, align 4 + %47 = load i32, i32* %i22, align 4 + %add26 = add nsw i32 %46, %47 + %idxprom27 = sext i32 %add26 to i64 + %arrayidx28 = getelementptr inbounds i8*, i8** %45, i64 %idxprom27 + %48 = load i8*, i8** %arrayidx28, align 8 + store i8* %48, i8** %tem, align 8 + %49 = load i8**, i8*** %argv.addr, align 8 + %50 = load i32, i32* %middle, align 4 + %51 = load i32, i32* %i22, align 4 + %add29 = add nsw i32 %50, %51 + %idxprom30 = sext i32 %add29 to i64 + %arrayidx31 = getelementptr inbounds i8*, i8** %49, i64 %idxprom30 + %52 = load i8*, i8** %arrayidx31, align 8 + %53 = load i8**, i8*** %argv.addr, align 8 + %54 = load i32, i32* %bottom, align 4 + %55 = load i32, i32* %i22, align 4 + %add32 = add nsw i32 %54, %55 + %idxprom33 = sext i32 %add32 to i64 + %arrayidx34 = getelementptr inbounds i8*, i8** %53, i64 %idxprom33 + store i8* %52, i8** %arrayidx34, align 8 + %56 = load i8*, i8** %tem, align 8 + %57 = load i8**, i8*** %argv.addr, align 8 + %58 = load i32, i32* %middle, align 4 + %59 = load i32, i32* %i22, align 4 + %add35 = add nsw i32 %58, %59 + %idxprom36 = sext i32 %add35 to i64 + %arrayidx37 = getelementptr inbounds i8*, i8** %57, i64 %idxprom36 + store i8* %56, i8** %arrayidx37, align 8 + %60 = load i32, i32* %i22, align 4 + %inc39 = add nsw i32 %60, 1 + store i32 %inc39, i32* %i22, align 4 + br label %for.cond23 + +for.end40: ; preds = %for.cond23 + %61 = load i32, i32* %len20, align 4 + %62 = load i32, i32* %bottom, align 4 + %add41 = add nsw i32 %62, %61 + store i32 %add41, i32* %bottom, align 4 + br label %if.end + +if.end: ; preds = %for.end40, %for.end + br label %while.cond + +while.end: ; preds = %while.cond + %63 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind42 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %63, i32 0, i32 0 + %64 = load i32, i32* %optind42, align 8 + %65 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt43 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %65, i32 0, i32 9 + %66 = load i32, i32* %__last_nonopt43, align 4 + %sub44 = sub nsw i32 %64, %66 + %67 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt45 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %67, i32 0, i32 8 + %68 = load i32, i32* %__first_nonopt45, align 8 + %add46 = add nsw i32 %68, %sub44 + store i32 %add46, i32* %__first_nonopt45, align 8 + %69 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind47 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %69, i32 0, i32 0 + %70 = load i32, i32* %optind47, align 8 + %71 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt48 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %71, i32 0, i32 9 + store i32 %70, i32* %__last_nonopt48, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getopt(i32 %argc, i8** %argv, i8* %optstring) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + %0 = load i32, i32* %argc.addr, align 4 + %1 = load i8**, i8*** %argv.addr, align 8 + %2 = load i8*, i8** %optstring.addr, align 8 + %call = call i32 @_getopt_internal(i32 %0, i8** %1, i8* %2, %struct.option* null, i32* null, i32 0) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getopt_long(i32 %argc, i8** %argv, i8* %options, %struct.option* %long_options, i32* %opt_index) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %options.addr = alloca i8*, align 8 + %long_options.addr = alloca %struct.option*, align 8 + %opt_index.addr = alloca i32*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %options, i8** %options.addr, align 8 + store %struct.option* %long_options, %struct.option** %long_options.addr, align 8 + store i32* %opt_index, i32** %opt_index.addr, align 8 + %0 = load i32, i32* %argc.addr, align 4 + %1 = load i8**, i8*** %argv.addr, align 8 + %2 = load i8*, i8** %options.addr, align 8 + %3 = load %struct.option*, %struct.option** %long_options.addr, align 8 + %4 = load i32*, i32** %opt_index.addr, align 8 + %call = call i32 @_getopt_internal(i32 %0, i8** %1, i8* %2, %struct.option* %3, i32* %4, i32 0) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getopt_long_only(i32 %argc, i8** %argv, i8* %options, %struct.option* %long_options, i32* %opt_index) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %options.addr = alloca i8*, align 8 + %long_options.addr = alloca %struct.option*, align 8 + %opt_index.addr = alloca i32*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %options, i8** %options.addr, align 8 + store %struct.option* %long_options, %struct.option** %long_options.addr, align 8 + store i32* %opt_index, i32** %opt_index.addr, align 8 + %0 = load i32, i32* %argc.addr, align 4 + %1 = load i8**, i8*** %argv.addr, align 8 + %2 = load i8*, i8** %options.addr, align 8 + %3 = load %struct.option*, %struct.option** %long_options.addr, align 8 + %4 = load i32*, i32** %opt_index.addr, align 8 + %call = call i32 @_getopt_internal(i32 %0, i8** %1, i8* %2, %struct.option* %3, i32* %4, i32 1) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define %struct.__uclibc_locale_struct.201* @newlocale(i32 %category_mask, i8* %locale, %struct.__uclibc_locale_struct.201* %base) #0 { +entry: + %retval = alloca %struct.__uclibc_locale_struct.201*, align 8 + %category_mask.addr = alloca i32, align 4 + %locale.addr = alloca i8*, align 8 + %base.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %p = alloca i8*, align 8 + %i = alloca i32, align 4 + %j = alloca i32, align 4 + %k = alloca i32, align 4 + %new_selector = alloca [14 x i8], align 1 + store i32 %category_mask, i32* %category_mask.addr, align 4 + store i8* %locale, i8** %locale.addr, align 8 + store %struct.__uclibc_locale_struct.201* %base, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %0 = load i32, i32* %category_mask.addr, align 4 + %cmp = icmp eq i32 %0, 64 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 8127, i32* %category_mask.addr, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i8*, i8** %locale.addr, align 8 + %tobool = icmp eq i8* %1, null + %2 = load i32, i32* %category_mask.addr, align 4 + %cmp1 = icmp ugt i32 %2, 8127 + %or.cond = or i1 %tobool, %cmp1 + br i1 %or.cond, label %INVALID, label %if.end3 + +INVALID: ; preds = %if.else, %do.end, %if.end + store i32 22, i32* @errno, align 4 + store %struct.__uclibc_locale_struct.201* null, %struct.__uclibc_locale_struct.201** %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %3 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tobool4 = icmp ne %struct.__uclibc_locale_struct.201* %3, null + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %4, i32 0, i32 6 + %arraydecay5 = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + %cond = select i1 %tobool4, i8* %arraydecay5, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.311, i64 0, i64 0) + %call = call i8* @strcpy(i8* %arraydecay, i8* %cond) #19 + %5 = load i8*, i8** %locale.addr, align 8 + %6 = load i8, i8* %5, align 1 + %tobool6 = icmp ne i8 %6, 0 + br i1 %tobool6, label %if.else, label %if.then7 + +if.then7: ; preds = %if.end3 + store i32 1, i32* %i, align 4 + store i32 0, i32* %k, align 4 + br label %do.body + +do.body: ; preds = %if.end25, %if.then7 + %7 = load i32, i32* %category_mask.addr, align 4 + %8 = load i32, i32* %i, align 4 + %and = and i32 %7, %8 + %tobool8 = icmp ne i32 %and, 0 + br i1 %tobool8, label %if.then9, label %if.end25 + +if.then9: ; preds = %do.body + %9 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %9, i32 0, i32 34 + %arraydecay10 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names, i64 0, i64 0 + %10 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names11 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %10, i32 0, i32 34 + %11 = load i32, i32* %k, align 4 + %idxprom = sext i32 %11 to i64 + %arrayidx = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names11, i64 0, i64 %idxprom + %12 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %12 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay10, i64 %idx.ext + store i8* %add.ptr, i8** getelementptr inbounds ([4 x i8*], [4 x i8*]* @newlocale.envstr, i64 0, i64 1), align 8 + store i32 0, i32* %j, align 4 + br label %do.body12 + +do.body12: ; preds = %land.rhs, %lor.rhs, %if.then9 + %13 = load i32, i32* %j, align 4 + %idxprom13 = sext i32 %13 to i64 + %arrayidx14 = getelementptr inbounds [4 x i8*], [4 x i8*]* @newlocale.envstr, i64 0, i64 %idxprom13 + %14 = load i8*, i8** %arrayidx14, align 8 + store i8* %14, i8** %p, align 8 + %15 = load i32, i32* %j, align 4 + %inc = add nsw i32 %15, 1 + store i32 %inc, i32* %j, align 4 + %cmp15 = icmp slt i32 %inc, 4 + br i1 %cmp15, label %land.rhs, label %do.end + +land.rhs: ; preds = %do.body12 + %16 = load i8*, i8** %p, align 8 + %call17 = call i8* @getenv(i8* %16) #19 + store i8* %call17, i8** %p, align 8 + %tobool18 = icmp ne i8* %call17, null + br i1 %tobool18, label %lor.rhs, label %do.body12 + +lor.rhs: ; preds = %land.rhs + %17 = load i8*, i8** %p, align 8 + %18 = load i8, i8* %17, align 1 + %tobool19 = icmp ne i8 %18, 0 + %lnot = xor i1 %tobool19, true + br i1 %lnot, label %do.body12, label %do.end + +do.end: ; preds = %do.body12, %lor.rhs + %19 = load i32, i32* %i, align 4 + %20 = load i8*, i8** %p, align 8 + %arraydecay20 = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %call21 = call i32 @find_locale(i32 %19, i8* %20, i8* %arraydecay20) #18 + %tobool22 = icmp ne i32 %call21, 0 + br i1 %tobool22, label %if.end25, label %INVALID + +if.end25: ; preds = %do.end, %do.body + %21 = load i32, i32* %i, align 4 + %22 = load i32, i32* %i, align 4 + %add = add nsw i32 %22, %21 + store i32 %add, i32* %i, align 4 + %23 = load i32, i32* %k, align 4 + %inc27 = add nsw i32 %23, 1 + store i32 %inc27, i32* %k, align 4 + %cmp28 = icmp slt i32 %inc27, 6 + br i1 %cmp28, label %do.body, label %if.end36 + +if.else: ; preds = %if.end3 + %24 = load i32, i32* %category_mask.addr, align 4 + %25 = load i8*, i8** %locale.addr, align 8 + %arraydecay31 = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %call32 = call i8* @composite_locale(i32 %24, i8* %25, i8* %arraydecay31) #18 + %tobool33 = icmp ne i8* %call32, null + br i1 %tobool33, label %if.end36, label %INVALID + +if.end36: ; preds = %if.else, %if.end25 + %26 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tobool37 = icmp ne %struct.__uclibc_locale_struct.201* %26, null + br i1 %tobool37, label %if.end44, label %if.then38 + +if.then38: ; preds = %if.end36 + %call39 = call noalias i8* @calloc(i64 1, i64 3320) #19 + %27 = bitcast i8* %call39 to %struct.__uclibc_locale_struct.201* + store %struct.__uclibc_locale_struct.201* %27, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cmp40 = icmp eq %struct.__uclibc_locale_struct.201* %27, null + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + br i1 %cmp40, label %if.then42, label %if.end43 + +if.then42: ; preds = %if.then38 + store %struct.__uclibc_locale_struct.201* %28, %struct.__uclibc_locale_struct.201** %retval, align 8 + br label %return + +if.end43: ; preds = %if.then38 + call void @_locale_init_l(%struct.__uclibc_locale_struct.201* %28) #18 + br label %if.end44 + +if.end44: ; preds = %if.end43, %if.end36 + %arraydecay45 = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %29 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call46 = call i32 @_locale_set_l(i8* %arraydecay45, %struct.__uclibc_locale_struct.201* %29) #18 + %30 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + store %struct.__uclibc_locale_struct.201* %30, %struct.__uclibc_locale_struct.201** %retval, align 8 + br label %return + +return: ; preds = %if.end44, %if.then42, %INVALID + %31 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %retval, align 8 + ret %struct.__uclibc_locale_struct.201* %31 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @find_locale(i32 %category_mask, i8* %p, i8* %new_locale) #0 { +entry: + %retval = alloca i32, align 4 + %category_mask.addr = alloca i32, align 4 + %p.addr = alloca i8*, align 8 + %new_locale.addr = alloca i8*, align 8 + %i = alloca i32, align 4 + %s = alloca i8*, align 8 + %n = alloca i16, align 2 + %lang_cult = alloca i8, align 1 + %codeset = alloca i8, align 1 + %buf = alloca [18 x i8], align 16 + %q = alloca i8*, align 8 + store i32 %category_mask, i32* %category_mask.addr, align 4 + store i8* %p, i8** %p.addr, align 8 + store i8* %new_locale, i8** %new_locale.addr, align 8 + %0 = load i8*, i8** %p.addr, align 8 + %call = call i8* @strchr(i8* %0, i32 64) #20 + store i8* %call, i8** %q, align 8 + %cmp = icmp ne i8* %call, null + br i1 %cmp, label %if.then, label %if.end27 + +if.then: ; preds = %entry + %1 = load i8*, i8** %q, align 8 + %2 = load i8*, i8** %p.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %1 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %2 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %sub = sub nsw i64 %sub.ptr.sub, 5 + %cmp1 = icmp ugt i64 %sub, 13 + br i1 %cmp1, label %if.then4, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then + %3 = load i8*, i8** %p.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %3, i64 2 + %4 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %4 to i32 + %cmp2 = icmp ne i32 %conv, 95 + br i1 %cmp2, label %if.then4, label %if.end + +if.then4: ; preds = %lor.lhs.false, %if.then + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %lor.lhs.false + %5 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_at_modifiers = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %5, i32 0, i32 33 + %arraydecay = getelementptr inbounds [18 x i8], [18 x i8]* %locale_at_modifiers, i64 0, i64 0 + store i8* %arraydecay, i8** %s, align 8 + br label %do.body + +do.body: ; preds = %if.end8, %if.end + %6 = load i8*, i8** %s, align 8 + %add.ptr = getelementptr inbounds i8, i8* %6, i64 2 + %7 = load i8*, i8** %q, align 8 + %add.ptr5 = getelementptr inbounds i8, i8* %7, i64 1 + %call6 = call i32 @strcmp(i8* %add.ptr, i8* %add.ptr5) #20 + %tobool = icmp ne i32 %call6, 0 + br i1 %tobool, label %if.end8, label %do.end + +if.end8: ; preds = %do.body + %8 = load i8*, i8** %s, align 8 + %9 = load i8, i8* %8, align 1 + %conv9 = zext i8 %9 to i32 + %add = add nsw i32 2, %conv9 + %10 = load i8*, i8** %s, align 8 + %idx.ext = sext i32 %add to i64 + %add.ptr10 = getelementptr inbounds i8, i8* %10, i64 %idx.ext + store i8* %add.ptr10, i8** %s, align 8 + %11 = load i8*, i8** %s, align 8 + %12 = load i8, i8* %11, align 1 + %tobool11 = icmp ne i8 %12, 0 + br i1 %tobool11, label %do.body, label %do.end + +do.end: ; preds = %do.body, %if.end8 + %13 = load i8*, i8** %s, align 8 + %14 = load i8, i8* %13, align 1 + %tobool12 = icmp ne i8 %14, 0 + br i1 %tobool12, label %if.end14, label %if.then13 + +if.then13: ; preds = %do.end + store i32 0, i32* %retval, align 4 + br label %return + +if.end14: ; preds = %do.end + %arraydecay15 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 0 + %15 = load i8*, i8** %p.addr, align 8 + %16 = load i8*, i8** %q, align 8 + %17 = load i8*, i8** %p.addr, align 8 + %sub.ptr.lhs.cast16 = ptrtoint i8* %16 to i64 + %sub.ptr.rhs.cast17 = ptrtoint i8* %17 to i64 + %sub.ptr.sub18 = sub i64 %sub.ptr.lhs.cast16, %sub.ptr.rhs.cast17 + %call19 = call i8* @memcpy(i8* %arraydecay15, i8* %15, i64 %sub.ptr.sub18) #19 + %18 = load i8*, i8** %q, align 8 + %19 = load i8*, i8** %p.addr, align 8 + %sub.ptr.lhs.cast20 = ptrtoint i8* %18 to i64 + %sub.ptr.rhs.cast21 = ptrtoint i8* %19 to i64 + %sub.ptr.sub22 = sub i64 %sub.ptr.lhs.cast20, %sub.ptr.rhs.cast21 + %arrayidx23 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 %sub.ptr.sub22 + store i8 0, i8* %arrayidx23, align 1 + %20 = load i8*, i8** %s, align 8 + %arrayidx24 = getelementptr inbounds i8, i8* %20, i64 1 + %21 = load i8, i8* %arrayidx24, align 1 + %arrayidx25 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 2 + store i8 %21, i8* %arrayidx25, align 2 + %arraydecay26 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay26, i8** %p.addr, align 8 + br label %if.end27 + +if.end27: ; preds = %if.end14, %entry + store i8 0, i8* %codeset, align 1 + store i8 0, i8* %lang_cult, align 1 + %22 = load i8*, i8** %p.addr, align 8 + %23 = load i8, i8* %22, align 1 + %conv28 = sext i8 %23 to i32 + %cmp29 = icmp eq i32 %conv28, 67 + br i1 %cmp29, label %land.lhs.true, label %lor.lhs.false33 + +land.lhs.true: ; preds = %if.end27 + %24 = load i8*, i8** %p.addr, align 8 + %arrayidx31 = getelementptr inbounds i8, i8* %24, i64 1 + %25 = load i8, i8* %arrayidx31, align 1 + %tobool32 = icmp ne i8 %25, 0 + br i1 %tobool32, label %lor.lhs.false33, label %FIND_LOCALE + +lor.lhs.false33: ; preds = %land.lhs.true, %if.end27 + %26 = load i8*, i8** %p.addr, align 8 + %call34 = call i32 @strcmp(i8* %26, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @posix, i64 0, i64 0)) #20 + %tobool35 = icmp ne i32 %call34, 0 + br i1 %tobool35, label %if.end37, label %FIND_LOCALE + +if.end37: ; preds = %lor.lhs.false33 + %27 = load i8*, i8** %p.addr, align 8 + %call38 = call i64 @strlen(i8* %27) #20 + %cmp39 = icmp ugt i64 %call38, 5 + br i1 %cmp39, label %land.lhs.true41, label %FIND_LANG_CULT + +land.lhs.true41: ; preds = %if.end37 + %28 = load i8*, i8** %p.addr, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %28, i64 5 + %29 = load i8, i8* %arrayidx42, align 1 + %conv43 = sext i8 %29 to i32 + %cmp44 = icmp eq i32 %conv43, 46 + br i1 %cmp44, label %if.then46, label %FIND_LANG_CULT + +if.then46: ; preds = %land.lhs.true41 + store i8 2, i8* %codeset, align 1 + %30 = load i8*, i8** %p.addr, align 8 + %add.ptr47 = getelementptr inbounds i8, i8* %30, i64 6 + %call48 = call i32 @strcmp(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf8.314, i64 0, i64 0), i8* %add.ptr47) #20 + %cmp49 = icmp ne i32 %call48, 0 + br i1 %cmp49, label %if.then51, label %FIND_LANG_CULT + +if.then51: ; preds = %if.then46 + %31 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %31, i32 0, i32 35 + %arraydecay52 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list, i64 0, i64 0 + store i8* %arraydecay52, i8** %s, align 8 + br label %do.body53 + +do.body53: ; preds = %do.cond64, %if.then51 + %32 = load i8, i8* %codeset, align 1 + %inc = add i8 %32, 1 + store i8 %inc, i8* %codeset, align 1 + %33 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list54 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %33, i32 0, i32 35 + %arraydecay55 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list54, i64 0, i64 0 + %34 = load i8*, i8** %s, align 8 + %35 = load i8, i8* %34, align 1 + %conv56 = zext i8 %35 to i32 + %idx.ext57 = sext i32 %conv56 to i64 + %add.ptr58 = getelementptr inbounds i8, i8* %arraydecay55, i64 %idx.ext57 + %36 = load i8*, i8** %p.addr, align 8 + %add.ptr59 = getelementptr inbounds i8, i8* %36, i64 6 + %call60 = call i32 @strcmp(i8* %add.ptr58, i8* %add.ptr59) #20 + %tobool61 = icmp ne i32 %call60, 0 + br i1 %tobool61, label %do.cond64, label %FIND_LANG_CULT + +do.cond64: ; preds = %do.body53 + %37 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %37, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %38 = load i8, i8* %incdec.ptr, align 1 + %tobool65 = icmp ne i8 %38, 0 + br i1 %tobool65, label %do.body53, label %do.end66 + +do.end66: ; preds = %do.cond64 + store i32 0, i32* %retval, align 4 + br label %return + +FIND_LANG_CULT: ; preds = %if.end37, %land.lhs.true41, %if.then46, %do.body53 + %39 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_names5 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %39, i32 0, i32 32 + %arraydecay69 = getelementptr inbounds [835 x i8], [835 x i8]* %locale_names5, i64 0, i64 0 + store i8* %arraydecay69, i8** %s, align 8 + br label %do.body70 + +do.body70: ; preds = %if.end75, %FIND_LANG_CULT + %40 = load i8, i8* %lang_cult, align 1 + %inc71 = add i8 %40, 1 + store i8 %inc71, i8* %lang_cult, align 1 + %41 = load i8*, i8** %s, align 8 + %42 = load i8*, i8** %p.addr, align 8 + %call72 = call i32 @strncmp(i8* %41, i8* %42, i64 5) #20 + %tobool73 = icmp ne i32 %call72, 0 + br i1 %tobool73, label %if.end75, label %FIND_LOCALE + +if.end75: ; preds = %do.body70 + %43 = load i8*, i8** %s, align 8 + %add.ptr76 = getelementptr inbounds i8, i8* %43, i64 5 + store i8* %add.ptr76, i8** %s, align 8 + %44 = load i8, i8* %lang_cult, align 1 + %conv78 = zext i8 %44 to i32 + %cmp79 = icmp slt i32 %conv78, 167 + br i1 %cmp79, label %do.body70, label %do.end81 + +do.end81: ; preds = %if.end75 + store i32 0, i32* %retval, align 4 + br label %return + +FIND_LOCALE: ; preds = %do.body70, %land.lhs.true, %lor.lhs.false33 + %45 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %45, i32 0, i32 31 + %arraydecay82 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales, i64 0, i64 0 + store i8* %arraydecay82, i8** %s, align 8 + store i16 0, i16* %n, align 2 + br label %do.body83 + +do.body83: ; preds = %if.end120, %FIND_LOCALE + %46 = load i8, i8* %lang_cult, align 1 + %conv84 = zext i8 %46 to i32 + %47 = load i8*, i8** %s, align 8 + %48 = load i8, i8* %47, align 1 + %conv85 = zext i8 %48 to i32 + %cmp86 = icmp eq i32 %conv84, %conv85 + br i1 %cmp86, label %land.lhs.true88, label %if.end120 + +land.lhs.true88: ; preds = %do.body83 + %49 = load i8, i8* %codeset, align 1 + %conv89 = zext i8 %49 to i32 + %50 = load i8*, i8** %s, align 8 + %arrayidx90 = getelementptr inbounds i8, i8* %50, i64 1 + %51 = load i8, i8* %arrayidx90, align 1 + %conv91 = zext i8 %51 to i32 + %cmp92 = icmp eq i32 %conv89, %conv91 + br i1 %cmp92, label %if.then100, label %lor.lhs.false94 + +lor.lhs.false94: ; preds = %land.lhs.true88 + %52 = load i8, i8* %codeset, align 1 + %conv95 = zext i8 %52 to i32 + %53 = load i8*, i8** %s, align 8 + %arrayidx96 = getelementptr inbounds i8, i8* %53, i64 2 + %54 = load i8, i8* %arrayidx96, align 1 + %conv97 = zext i8 %54 to i32 + %cmp98 = icmp eq i32 %conv95, %conv97 + br i1 %cmp98, label %if.then100, label %if.end120 + +if.then100: ; preds = %lor.lhs.false94, %land.lhs.true88 + store i32 1, i32* %i, align 4 + %55 = load i8*, i8** %new_locale.addr, align 8 + %add.ptr101 = getelementptr inbounds i8, i8* %55, i64 1 + store i8* %add.ptr101, i8** %s, align 8 + br label %do.body102 + +do.body102: ; preds = %if.end113, %if.then100 + %56 = load i32, i32* %category_mask.addr, align 4 + %57 = load i32, i32* %i, align 4 + %and = and i32 %56, %57 + %tobool103 = icmp ne i32 %and, 0 + br i1 %tobool103, label %if.then104, label %if.end113 + +if.then104: ; preds = %do.body102 + %58 = load i16, i16* %n, align 2 + %conv105 = zext i16 %58 to i32 + %shr = ashr i32 %conv105, 7 + %or = or i32 %shr, 128 + %conv106 = trunc i32 %or to i8 + %59 = load i8*, i8** %s, align 8 + %arrayidx107 = getelementptr inbounds i8, i8* %59, i64 0 + store i8 %conv106, i8* %arrayidx107, align 1 + %60 = load i16, i16* %n, align 2 + %conv108 = zext i16 %60 to i32 + %and109 = and i32 %conv108, 127 + %or110 = or i32 %and109, 128 + %conv111 = trunc i32 %or110 to i8 + %61 = load i8*, i8** %s, align 8 + %arrayidx112 = getelementptr inbounds i8, i8* %61, i64 1 + store i8 %conv111, i8* %arrayidx112, align 1 + br label %if.end113 + +if.end113: ; preds = %if.then104, %do.body102 + %62 = load i8*, i8** %s, align 8 + %add.ptr114 = getelementptr inbounds i8, i8* %62, i64 2 + store i8* %add.ptr114, i8** %s, align 8 + %63 = load i32, i32* %i, align 4 + %64 = load i32, i32* %i, align 4 + %add115 = add nsw i32 %64, %63 + store i32 %add115, i32* %i, align 4 + %65 = load i32, i32* %i, align 4 + %cmp117 = icmp slt i32 %65, 64 + br i1 %cmp117, label %do.body102, label %do.end119 + +do.end119: ; preds = %if.end113 + %66 = load i32, i32* %i, align 4 + store i32 %66, i32* %retval, align 4 + br label %return + +if.end120: ; preds = %lor.lhs.false94, %do.body83 + %67 = load i8*, i8** %s, align 8 + %add.ptr121 = getelementptr inbounds i8, i8* %67, i64 9 + store i8* %add.ptr121, i8** %s, align 8 + %68 = load i16, i16* %n, align 2 + %inc122 = add i16 %68, 1 + store i16 %inc122, i16* %n, align 2 + %69 = load i16, i16* %n, align 2 + %conv124 = zext i16 %69 to i32 + %cmp125 = icmp sle i32 %conv124, 314 + br i1 %cmp125, label %do.body83, label %do.end127 + +do.end127: ; preds = %if.end120 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end127, %do.end119, %do.end81, %do.end66, %if.then13, %if.then4 + %70 = load i32, i32* %retval, align 4 + ret i32 %70 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @composite_locale(i32 %category_mask, i8* %locale, i8* %new_locale) #0 { +entry: + %retval = alloca i8*, align 8 + %category_mask.addr = alloca i32, align 4 + %locale.addr = alloca i8*, align 8 + %new_locale.addr = alloca i8*, align 8 + %buf = alloca [256 x i8], align 16 + %t = alloca i8*, align 8 + %e = alloca i8*, align 8 + %c = alloca i32, align 4 + %component_mask = alloca i32, align 4 + store i32 %category_mask, i32* %category_mask.addr, align 4 + store i8* %locale, i8** %locale.addr, align 8 + store i8* %new_locale, i8** %new_locale.addr, align 8 + %0 = load i8*, i8** %locale.addr, align 8 + %call = call i8* @strchr(i8* %0, i32 61) #20 + %tobool = icmp ne i8* %call, null + br i1 %tobool, label %if.end4, label %if.then + +if.then: ; preds = %entry + %1 = load i32, i32* %category_mask.addr, align 4 + %2 = load i8*, i8** %locale.addr, align 8 + %3 = load i8*, i8** %new_locale.addr, align 8 + %call1 = call i32 @find_locale(i32 %1, i8* %2, i8* %3) #18 + %tobool2 = icmp ne i32 %call1, 0 + br i1 %tobool2, label %if.end, label %if.then3 + +if.then3: ; preds = %if.then + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %if.then + %4 = load i8*, i8** %new_locale.addr, align 8 + store i8* %4, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %entry + %5 = load i8*, i8** %locale.addr, align 8 + %call5 = call i64 @strlen(i8* %5) #20 + %cmp = icmp uge i64 %call5, 256 + br i1 %cmp, label %if.then6, label %if.end7 + +if.then6: ; preds = %if.end4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end7: ; preds = %if.end4 + %arraydecay = getelementptr inbounds [256 x i8], [256 x i8]* %buf, i64 0, i64 0 + %6 = load i8*, i8** %locale.addr, align 8 + %call8 = call i8* @stpcpy(i8* %arraydecay, i8* %6) #19 + store i32 0, i32* %component_mask, align 4 + %arraydecay9 = getelementptr inbounds [256 x i8], [256 x i8]* %buf, i64 0, i64 0 + %call10 = call i8* @strtok_r(i8* %arraydecay9, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.312, i64 0, i64 0), i8** %e) #19 + store i8* %call10, i8** %t, align 8 + br label %do.body + +do.body: ; preds = %do.cond, %if.end7 + store i32 0, i32* %c, align 4 + br label %while.cond + +while.cond: ; preds = %while.body, %do.body + %7 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %7, i32 0, i32 34 + %arraydecay11 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names, i64 0, i64 0 + %8 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names12 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %8, i32 0, i32 34 + %9 = load i32, i32* %c, align 4 + %idxprom = sext i32 %9 to i64 + %arrayidx = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names12, i64 0, i64 %idxprom + %10 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %10 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay11, i64 %idx.ext + %11 = load i8*, i8** %t, align 8 + %call13 = call i32 @strcmp(i8* %add.ptr, i8* %11) #20 + %tobool14 = icmp ne i32 %call13, 0 + br i1 %tobool14, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %12 = load i32, i32* %c, align 4 + %inc = add nsw i32 %12, 1 + store i32 %inc, i32* %c, align 4 + %cmp15 = icmp eq i32 %inc, 6 + br i1 %cmp15, label %if.then17, label %while.cond + +if.then17: ; preds = %while.body + store i8* null, i8** %retval, align 8 + br label %return + +while.end: ; preds = %while.cond + %call19 = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.4.313, i64 0, i64 0), i8** %e) #19 + store i8* %call19, i8** %t, align 8 + %13 = load i32, i32* %c, align 4 + %shl = shl i32 1, %13 + store i32 %shl, i32* %c, align 4 + %14 = load i32, i32* %component_mask, align 4 + %15 = load i32, i32* %c, align 4 + %and = and i32 %14, %15 + %tobool20 = icmp ne i32 %and, 0 + br i1 %tobool20, label %if.then21, label %if.end22 + +if.then21: ; preds = %while.end + store i8* null, i8** %retval, align 8 + br label %return + +if.end22: ; preds = %while.end + %16 = load i32, i32* %c, align 4 + %17 = load i32, i32* %component_mask, align 4 + %or = or i32 %17, %16 + store i32 %or, i32* %component_mask, align 4 + %18 = load i32, i32* %category_mask.addr, align 4 + %19 = load i32, i32* %c, align 4 + %and23 = and i32 %18, %19 + %tobool24 = icmp ne i32 %and23, 0 + br i1 %tobool24, label %land.lhs.true, label %do.cond + +land.lhs.true: ; preds = %if.end22 + %20 = load i8*, i8** %t, align 8 + %tobool25 = icmp ne i8* %20, null + br i1 %tobool25, label %lor.lhs.false, label %if.then28 + +lor.lhs.false: ; preds = %land.lhs.true + %21 = load i32, i32* %c, align 4 + %22 = load i8*, i8** %t, align 8 + %23 = load i8*, i8** %new_locale.addr, align 8 + %call26 = call i32 @find_locale(i32 %21, i8* %22, i8* %23) #18 + %tobool27 = icmp ne i32 %call26, 0 + br i1 %tobool27, label %do.cond, label %if.then28 + +if.then28: ; preds = %lor.lhs.false, %land.lhs.true + store i8* null, i8** %retval, align 8 + br label %return + +do.cond: ; preds = %if.end22, %lor.lhs.false + %call30 = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.312, i64 0, i64 0), i8** %e) #19 + store i8* %call30, i8** %t, align 8 + %cmp31 = icmp ne i8* %call30, null + br i1 %cmp31, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %24 = load i32, i32* %category_mask.addr, align 4 + %25 = load i32, i32* %component_mask, align 4 + %neg = xor i32 %25, -1 + %and33 = and i32 %24, %neg + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %if.then35, label %if.end36 + +if.then35: ; preds = %do.end + store i8* null, i8** %retval, align 8 + br label %return + +if.end36: ; preds = %do.end + %26 = load i8*, i8** %new_locale.addr, align 8 + store i8* %26, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end36, %if.then35, %if.then28, %if.then21, %if.then17, %if.then6, %if.end, %if.then3 + %27 = load i8*, i8** %retval, align 8 + ret i8* %27 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @nl_langinfo_l(i32 %item, %struct.__uclibc_locale_struct.201* %locale_arg) #0 { +entry: + %retval = alloca i8*, align 8 + %item.addr = alloca i32, align 4 + %locale_arg.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %c = alloca i32, align 4 + %i = alloca i32, align 4 + store i32 %item, i32* %item.addr, align 4 + store %struct.__uclibc_locale_struct.201* %locale_arg, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %0 = load i32, i32* %item.addr, align 4 + %shr = ashr i32 %0, 8 + store i32 %shr, i32* %c, align 4 + %1 = load i32, i32* %item.addr, align 4 + %and = and i32 %1, 255 + store i32 %and, i32* %i, align 4 + %2 = load i32, i32* %c, align 4 + %cmp = icmp ult i32 %2, 6 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %3 = load i32, i32* %i, align 4 + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %category_item_count = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %4, i32 0, i32 8 + %5 = load i32, i32* %c, align 4 + %idxprom = zext i32 %5 to i64 + %arrayidx = getelementptr inbounds [6 x i8], [6 x i8]* %category_item_count, i64 0, i64 %idxprom + %6 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %6 to i32 + %cmp1 = icmp ult i32 %3, %conv + br i1 %cmp1, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %7 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %8 = bitcast %struct.__uclibc_locale_struct.201* %7 to i8* + %9 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %category_offsets = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %9, i32 0, i32 7 + %10 = load i32, i32* %c, align 4 + %idxprom3 = zext i32 %10 to i64 + %arrayidx4 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets, i64 0, i64 %idxprom3 + %11 = load i16, i16* %arrayidx4, align 2 + %conv5 = zext i16 %11 to i32 + %idx.ext = sext i32 %conv5 to i64 + %add.ptr = getelementptr inbounds i8, i8* %8, i64 %idx.ext + %12 = bitcast i8* %add.ptr to i8** + %13 = load i32, i32* %i, align 4 + %idxprom6 = zext i32 %13 to i64 + %arrayidx7 = getelementptr inbounds i8*, i8** %12, i64 %idxprom6 + %14 = load i8*, i8** %arrayidx7, align 8 + store i8* %14, i8** %retval, align 8 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @empty, i64 0, i64 0), i8** %retval, align 8 + br label %return + +return: ; preds = %if.end, %if.then + %15 = load i8*, i8** %retval, align 8 + ret i8* %15 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @mbsnrtowcs(i32* noalias %dst, i8** noalias %src, i64 %NMC, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %retval = alloca i64, align 8 + %dst.addr = alloca i32*, align 8 + %src.addr = alloca i8**, align 8 + %NMC.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %wcbuf = alloca [1 x i32], align 4 + %s = alloca i8*, align 8 + %count = alloca i64, align 8 + %incr = alloca i32, align 4 + %r = alloca i64, align 8 + %wc = alloca i32, align 4 + store i32* %dst, i32** %dst.addr, align 8 + store i8** %src, i8*** %src.addr, align 8 + store i64 %NMC, i64* %NMC.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %tobool = icmp ne %struct.__mbstate_t.512* %0, null + %spec.store.select = select i1 %tobool, %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512* @mbsnrtowcs.mbstate + store %struct.__mbstate_t.512* %spec.store.select, %struct.__mbstate_t.512** %ps.addr, align 8 + %1 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %1, i32 0, i32 9 + %2 = load i8, i8* %encoding, align 8 + %conv = zext i8 %2 to i32 + %cmp = icmp eq i32 %conv, 1 + br i1 %cmp, label %if.then2, label %if.end5 + +if.then2: ; preds = %entry + %3 = load i32*, i32** %dst.addr, align 8 + %4 = load i64, i64* %len.addr, align 8 + %5 = load i8**, i8*** %src.addr, align 8 + %6 = load i64, i64* %NMC.addr, align 8 + %7 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @_wchar_utf8sntowcs(i32* %3, i64 %4, i8** %5, i64 %6, %struct.__mbstate_t.512* %7, i32 1) #18 + store i64 %call, i64* %r, align 8 + %cmp3 = icmp ne i64 %call, -2 + %8 = load i64, i64* %r, align 8 + %cond = select i1 %cmp3, i64 %8, i64 0 + store i64 %cond, i64* %retval, align 8 + br label %return + +if.end5: ; preds = %entry + store i32 1, i32* %incr, align 4 + %9 = load i32*, i32** %dst.addr, align 8 + %tobool6 = icmp ne i32* %9, null + br i1 %tobool6, label %lor.lhs.false, label %if.then9 + +lor.lhs.false: ; preds = %if.end5 + %10 = load i32*, i32** %dst.addr, align 8 + %11 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %12 = bitcast %struct.__mbstate_t.512* %11 to i32* + %cmp7 = icmp eq i32* %10, %12 + br i1 %cmp7, label %if.then9, label %if.end13 + +if.then9: ; preds = %lor.lhs.false, %if.end5 + %13 = load i32*, i32** %dst.addr, align 8 + %tobool10 = icmp ne i32* %13, null + br i1 %tobool10, label %if.end12, label %if.then11 + +if.then11: ; preds = %if.then9 + store i64 -1, i64* %len.addr, align 8 + br label %if.end12 + +if.end12: ; preds = %if.then11, %if.then9 + %arraydecay = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay, i32** %dst.addr, align 8 + store i32 0, i32* %incr, align 4 + br label %if.end13 + +if.end13: ; preds = %if.end12, %lor.lhs.false + %14 = load i64, i64* %len.addr, align 8 + %15 = load i64, i64* %NMC.addr, align 8 + %cmp14 = icmp ugt i64 %14, %15 + br i1 %cmp14, label %if.then16, label %if.end17 + +if.then16: ; preds = %if.end13 + %16 = load i64, i64* %NMC.addr, align 8 + store i64 %16, i64* %len.addr, align 8 + br label %if.end17 + +if.end17: ; preds = %if.then16, %if.end13 + %17 = load i64, i64* %len.addr, align 8 + store i64 %17, i64* %count, align 8 + %18 = load i8**, i8*** %src.addr, align 8 + %19 = load i8*, i8** %18, align 8 + store i8* %19, i8** %s, align 8 + %20 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding18 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %20, i32 0, i32 9 + %21 = load i8, i8* %encoding18, align 8 + %conv19 = zext i8 %21 to i32 + %cmp20 = icmp eq i32 %conv19, 2 + br i1 %cmp20, label %while.cond, label %while.cond46 + +while.cond: ; preds = %if.end17, %if.end38 + %22 = load i64, i64* %count, align 8 + %tobool23 = icmp ne i64 %22, 0 + br i1 %tobool23, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %23 = load i8*, i8** %s, align 8 + %24 = load i8, i8* %23, align 1 + %conv24 = zext i8 %24 to i32 + store i32 %conv24, i32* %wc, align 4 + %cmp25 = icmp sge i32 %conv24, 128 + br i1 %cmp25, label %if.then27, label %if.end35 + +if.then27: ; preds = %while.body + %25 = load i32, i32* %wc, align 4 + %sub = sub nsw i32 %25, 128 + store i32 %sub, i32* %wc, align 4 + %26 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %tbl8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %26, i32 0, i32 17 + %27 = load i16*, i16** %tbl8c2wc, align 8 + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %idx8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %28, i32 0, i32 16 + %29 = load i8*, i8** %idx8c2wc, align 8 + %30 = load i32, i32* %wc, align 4 + %shr = ashr i32 %30, 3 + %idxprom = sext i32 %shr to i64 + %arrayidx = getelementptr inbounds i8, i8* %29, i64 %idxprom + %31 = load i8, i8* %arrayidx, align 1 + %conv28 = zext i8 %31 to i32 + %shl = shl i32 %conv28, 3 + %32 = load i32, i32* %wc, align 4 + %and = and i32 %32, 7 + %add = add nsw i32 %shl, %and + %idxprom29 = sext i32 %add to i64 + %arrayidx30 = getelementptr inbounds i16, i16* %27, i64 %idxprom29 + %33 = load i16, i16* %arrayidx30, align 2 + %conv31 = zext i16 %33 to i32 + store i32 %conv31, i32* %wc, align 4 + %34 = load i32, i32* %wc, align 4 + %tobool32 = icmp ne i32 %34, 0 + br i1 %tobool32, label %if.end35, label %BAD + +if.end35: ; preds = %if.then27, %while.body + %35 = load i32, i32* %wc, align 4 + %36 = load i32*, i32** %dst.addr, align 8 + store i32 %35, i32* %36, align 4 + %tobool36 = icmp ne i32 %35, 0 + br i1 %tobool36, label %if.end38, label %if.then37 + +if.then37: ; preds = %if.end35 + store i8* null, i8** %s, align 8 + br label %while.end + +if.end38: ; preds = %if.end35 + %37 = load i32, i32* %incr, align 4 + %38 = load i32*, i32** %dst.addr, align 8 + %idx.ext = sext i32 %37 to i64 + %add.ptr = getelementptr inbounds i32, i32* %38, i64 %idx.ext + store i32* %add.ptr, i32** %dst.addr, align 8 + %39 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %39, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %40 = load i64, i64* %count, align 8 + %dec = add i64 %40, -1 + store i64 %dec, i64* %count, align 8 + br label %while.cond + +while.end: ; preds = %if.then37, %while.cond + %41 = load i32*, i32** %dst.addr, align 8 + %arraydecay39 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %cmp40 = icmp ne i32* %41, %arraydecay39 + br i1 %cmp40, label %if.then42, label %if.end43 + +if.then42: ; preds = %while.end + %42 = load i8*, i8** %s, align 8 + %43 = load i8**, i8*** %src.addr, align 8 + store i8* %42, i8** %43, align 8 + br label %if.end43 + +if.end43: ; preds = %if.then42, %while.end + %44 = load i64, i64* %len.addr, align 8 + %45 = load i64, i64* %count, align 8 + %sub44 = sub i64 %44, %45 + store i64 %sub44, i64* %retval, align 8 + br label %return + +while.cond46: ; preds = %if.end17, %if.end57 + %46 = load i64, i64* %count, align 8 + %tobool47 = icmp ne i64 %46, 0 + br i1 %tobool47, label %while.body48, label %while.end62 + +while.body48: ; preds = %while.cond46 + %47 = load i8*, i8** %s, align 8 + %48 = load i8, i8* %47, align 1 + %conv49 = zext i8 %48 to i32 + %49 = load i32*, i32** %dst.addr, align 8 + store i32 %conv49, i32* %49, align 4 + %cmp50 = icmp eq i32 %conv49, 0 + br i1 %cmp50, label %if.then52, label %if.end53 + +if.then52: ; preds = %while.body48 + store i8* null, i8** %s, align 8 + br label %while.end62 + +if.end53: ; preds = %while.body48 + %50 = load i32*, i32** %dst.addr, align 8 + %51 = load i32, i32* %50, align 4 + %cmp54 = icmp sge i32 %51, 128 + br i1 %cmp54, label %BAD, label %if.end57 + +BAD: ; preds = %if.end53, %if.then27 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end57: ; preds = %if.end53 + %52 = load i8*, i8** %s, align 8 + %incdec.ptr58 = getelementptr inbounds i8, i8* %52, i32 1 + store i8* %incdec.ptr58, i8** %s, align 8 + %53 = load i32, i32* %incr, align 4 + %54 = load i32*, i32** %dst.addr, align 8 + %idx.ext59 = sext i32 %53 to i64 + %add.ptr60 = getelementptr inbounds i32, i32* %54, i64 %idx.ext59 + store i32* %add.ptr60, i32** %dst.addr, align 8 + %55 = load i64, i64* %count, align 8 + %dec61 = add i64 %55, -1 + store i64 %dec61, i64* %count, align 8 + br label %while.cond46 + +while.end62: ; preds = %if.then52, %while.cond46 + %56 = load i32*, i32** %dst.addr, align 8 + %arraydecay63 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %cmp64 = icmp ne i32* %56, %arraydecay63 + br i1 %cmp64, label %if.then66, label %if.end67 + +if.then66: ; preds = %while.end62 + %57 = load i8*, i8** %s, align 8 + %58 = load i8**, i8*** %src.addr, align 8 + store i8* %57, i8** %58, align 8 + br label %if.end67 + +if.end67: ; preds = %if.then66, %while.end62 + %59 = load i64, i64* %len.addr, align 8 + %60 = load i64, i64* %count, align 8 + %sub68 = sub i64 %59, %60 + store i64 %sub68, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end67, %BAD, %if.end43, %if.then2 + %61 = load i64, i64* %retval, align 8 + ret i64 %61 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @iswctype(i32 %wc, i32 %desc) #0 { +entry: + %wc.addr = alloca i32, align 4 + %desc.addr = alloca i32, align 4 + store i32 %wc, i32* %wc.addr, align 4 + store i32 %desc, i32* %desc.addr, align 4 + %0 = load i32, i32* %wc.addr, align 4 + %1 = load i32, i32* %desc.addr, align 4 + %2 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %call = call i32 @iswctype_l(i32 %0, i32 %1, %struct.__uclibc_locale_struct.201* %2) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_fwrite(i8* noalias %buffer, i64 %bytes, %struct.__STDIO_FILE_STRUCT.568* noalias %stream) #0 { +entry: + %retval = alloca i64, align 8 + %buffer.addr = alloca i8*, align 8 + %bytes.addr = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %pending = alloca i64, align 8 + %p = alloca i8*, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %bytes, i64* %bytes.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 512 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end63, label %if.then + +if.then: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 2 + %3 = load i32, i32* %__filedes, align 4 + %cmp = icmp eq i32 %3, -2 + br i1 %cmp, label %if.then2, label %if.end8 + +if.then2: ; preds = %if.then + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 4 + %5 = load i8*, i8** %__bufend, align 8 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 5 + %7 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %pending, align 8 + %8 = load i64, i64* %pending, align 8 + %9 = load i64, i64* %bytes.addr, align 8 + %cmp3 = icmp ugt i64 %8, %9 + br i1 %cmp3, label %if.then5, label %if.end + +if.then5: ; preds = %if.then2 + %10 = load i64, i64* %bytes.addr, align 8 + store i64 %10, i64* %pending, align 8 + br label %if.end + +if.end: ; preds = %if.then5, %if.then2 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 5 + %12 = load i8*, i8** %__bufpos6, align 8 + %13 = load i8*, i8** %buffer.addr, align 8 + %14 = load i64, i64* %pending, align 8 + %call = call i8* @memcpy(i8* %12, i8* %13, i64 %14) #19 + %15 = load i64, i64* %pending, align 8 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos7 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %16, i32 0, i32 5 + %17 = load i8*, i8** %__bufpos7, align 8 + %add.ptr = getelementptr inbounds i8, i8* %17, i64 %15 + store i8* %add.ptr, i8** %__bufpos7, align 8 + %18 = load i64, i64* %bytes.addr, align 8 + store i64 %18, i64* %retval, align 8 + br label %return + +if.end8: ; preds = %if.then + %19 = load i64, i64* %bytes.addr, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend9 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 4 + %21 = load i8*, i8** %__bufend9, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 5 + %23 = load i8*, i8** %__bufpos10, align 8 + %sub.ptr.lhs.cast11 = ptrtoint i8* %21 to i64 + %sub.ptr.rhs.cast12 = ptrtoint i8* %23 to i64 + %sub.ptr.sub13 = sub i64 %sub.ptr.lhs.cast11, %sub.ptr.rhs.cast12 + %cmp14 = icmp ule i64 %19, %sub.ptr.sub13 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 5 + %25 = load i8*, i8** %__bufpos17, align 8 + br i1 %cmp14, label %if.then16, label %if.end51 + +if.then16: ; preds = %if.end8 + %26 = load i8*, i8** %buffer.addr, align 8 + %27 = load i64, i64* %bytes.addr, align 8 + %call18 = call i8* @memcpy(i8* %25, i8* %26, i64 %27) #19 + %28 = load i64, i64* %bytes.addr, align 8 + %29 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos19 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %29, i32 0, i32 5 + %30 = load i8*, i8** %__bufpos19, align 8 + %add.ptr20 = getelementptr inbounds i8, i8* %30, i64 %28 + store i8* %add.ptr20, i8** %__bufpos19, align 8 + %31 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags21 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %31, i32 0, i32 0 + %32 = load i16, i16* %__modeflags21, align 8 + %conv22 = zext i16 %32 to i32 + %and23 = and i32 %conv22, 256 + %tobool24 = icmp ne i32 %and23, 0 + br i1 %tobool24, label %land.lhs.true, label %if.end50 + +land.lhs.true: ; preds = %if.then16 + %33 = load i8*, i8** %buffer.addr, align 8 + %34 = load i64, i64* %bytes.addr, align 8 + %call25 = call i8* @memrchr(i8* %33, i32 10, i64 %34) #20 + %tobool26 = icmp ne i8* %call25, null + br i1 %tobool26, label %if.then27, label %if.end50 + +if.then27: ; preds = %land.lhs.true + %35 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call28 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %35) #18 + store i64 %call28, i64* %pending, align 8 + %cmp29 = icmp ugt i64 %call28, 0 + br i1 %cmp29, label %if.then31, label %if.end50 + +if.then31: ; preds = %if.then27 + %36 = load i64, i64* %pending, align 8 + %37 = load i64, i64* %bytes.addr, align 8 + %cmp32 = icmp ugt i64 %36, %37 + br i1 %cmp32, label %if.then34, label %if.end35 + +if.then34: ; preds = %if.then31 + %38 = load i64, i64* %bytes.addr, align 8 + store i64 %38, i64* %pending, align 8 + br label %if.end35 + +if.end35: ; preds = %if.then34, %if.then31 + %39 = load i64, i64* %bytes.addr, align 8 + %40 = load i64, i64* %pending, align 8 + %sub = sub i64 %39, %40 + %41 = load i8*, i8** %buffer.addr, align 8 + %add.ptr36 = getelementptr inbounds i8, i8* %41, i64 %sub + store i8* %add.ptr36, i8** %buffer.addr, align 8 + %42 = load i8*, i8** %buffer.addr, align 8 + %43 = load i64, i64* %pending, align 8 + %call37 = call i8* @memchr(i8* %42, i32 10, i64 %43) #20 + store i8* %call37, i8** %p, align 8 + %cmp38 = icmp ne i8* %call37, null + br i1 %cmp38, label %if.then40, label %if.end50 + +if.then40: ; preds = %if.end35 + %44 = load i8*, i8** %buffer.addr, align 8 + %45 = load i64, i64* %pending, align 8 + %add.ptr41 = getelementptr inbounds i8, i8* %44, i64 %45 + %46 = load i8*, i8** %p, align 8 + %sub.ptr.lhs.cast42 = ptrtoint i8* %add.ptr41 to i64 + %sub.ptr.rhs.cast43 = ptrtoint i8* %46 to i64 + %sub.ptr.sub44 = sub i64 %sub.ptr.lhs.cast42, %sub.ptr.rhs.cast43 + store i64 %sub.ptr.sub44, i64* %pending, align 8 + %47 = load i64, i64* %pending, align 8 + %48 = load i64, i64* %bytes.addr, align 8 + %sub45 = sub i64 %48, %47 + store i64 %sub45, i64* %bytes.addr, align 8 + %49 = load i64, i64* %pending, align 8 + %50 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos46 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %50, i32 0, i32 5 + %51 = load i8*, i8** %__bufpos46, align 8 + %idx.neg = sub i64 0, %49 + %add.ptr47 = getelementptr inbounds i8, i8* %51, i64 %idx.neg + store i8* %add.ptr47, i8** %__bufpos46, align 8 + br label %if.end50 + +if.end50: ; preds = %if.then27, %if.then40, %if.end35, %land.lhs.true, %if.then16 + %52 = load i64, i64* %bytes.addr, align 8 + store i64 %52, i64* %retval, align 8 + br label %return + +if.end51: ; preds = %if.end8 + %53 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %53, i32 0, i32 3 + %54 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast53 = ptrtoint i8* %25 to i64 + %sub.ptr.rhs.cast54 = ptrtoint i8* %54 to i64 + %sub.ptr.sub55 = sub i64 %sub.ptr.lhs.cast53, %sub.ptr.rhs.cast54 + %tobool56 = icmp ne i64 %sub.ptr.sub55, 0 + br i1 %tobool56, label %if.then57, label %if.end63 + +if.then57: ; preds = %if.end51 + %55 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call58 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %55) #18 + %tobool59 = icmp ne i64 %call58, 0 + br i1 %tobool59, label %if.then60, label %if.end63 + +if.then60: ; preds = %if.then57 + store i64 0, i64* %retval, align 8 + br label %return + +if.end63: ; preds = %if.end51, %if.then57, %entry + %56 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %57 = load i8*, i8** %buffer.addr, align 8 + %58 = load i64, i64* %bytes.addr, align 8 + %call64 = call i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %56, i8* %57, i64 %58) #18 + store i64 %call64, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end63, %if.then60, %if.end50, %if.end + %59 = load i64, i64* %retval, align 8 + ret i64 %59 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %oflag) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %oflag.addr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %oflag, i32* %oflag.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %2 = load i32, i32* %oflag.addr, align 4 + %and = and i32 %conv, %2 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end9, label %if.then + +if.then: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 0 + %4 = load i16, i16* %__modeflags1, align 8 + %conv2 = zext i16 %4 to i32 + %and3 = and i32 %conv2, 2176 + %tobool4 = icmp ne i32 %and3, 0 + br i1 %tobool4, label %DO_EBADF, label %if.end + +if.end: ; preds = %if.then + %5 = load i32, i32* %oflag.addr, align 4 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 0 + %7 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %7 to i32 + %or = or i32 %conv7, %5 + %conv8 = trunc i32 %or to i16 + store i16 %conv8, i16* %__modeflags6, align 8 + br label %if.end9 + +if.end9: ; preds = %if.end, %entry + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags10, align 8 + %conv11 = zext i16 %9 to i32 + %and12 = and i32 %conv11, 32 + %tobool13 = icmp ne i32 %and12, 0 + br i1 %tobool13, label %DO_EBADF, label %if.end19 + +DO_EBADF: ; preds = %if.end9, %if.then + store i32 9, i32* @errno, align 4 + br label %ERROR + +ERROR: ; preds = %land.lhs.true, %DO_EBADF + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags15 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 0 + %11 = load i16, i16* %__modeflags15, align 8 + %conv16 = zext i16 %11 to i32 + %or17 = or i32 %conv16, 8 + %conv18 = trunc i32 %or17 to i16 + store i16 %conv18, i16* %__modeflags15, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end19: ; preds = %if.end9 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags20 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags20, align 8 + %conv21 = zext i16 %13 to i32 + %and22 = and i32 %conv21, 3 + %tobool23 = icmp ne i32 %and22, 0 + br i1 %tobool23, label %if.then24, label %if.end50 + +if.then24: ; preds = %if.end19 + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags25 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %14, i32 0, i32 0 + %15 = load i16, i16* %__modeflags25, align 8 + %conv26 = zext i16 %15 to i32 + %and27 = and i32 %conv26, 4 + %tobool28 = icmp ne i32 %and27, 0 + br i1 %tobool28, label %if.end42, label %if.then29 + +if.then29: ; preds = %if.then24 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %16, i32 0, i32 6 + %17 = load i8*, i8** %__bufread, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 5 + %19 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %17 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool30 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %tobool30, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then29 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags31 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 0 + %21 = load i16, i16* %__modeflags31, align 8 + %conv32 = zext i16 %21 to i32 + %and33 = and i32 %conv32, 2 + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %land.lhs.true, label %if.end42 + +land.lhs.true: ; preds = %lor.lhs.false, %if.then29 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %23 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags35 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %23, i32 0, i32 0 + %24 = load i16, i16* %__modeflags35, align 8 + %conv36 = zext i16 %24 to i32 + %and37 = and i32 %conv36, 1024 + %tobool38 = icmp ne i32 %and37, 0 + %25 = zext i1 %tobool38 to i64 + %cond = select i1 %tobool38, i32 2, i32 1 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32)* @fseek to i32 (%struct.__STDIO_FILE_STRUCT.568*, i64, i32)*)(%struct.__STDIO_FILE_STRUCT.568* %22, i64 0, i32 %cond) #18 + %tobool39 = icmp ne i32 %call, 0 + br i1 %tobool39, label %ERROR, label %if.end42 + +if.end42: ; preds = %lor.lhs.false, %land.lhs.true, %if.then24 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags43 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 0 + %27 = load i16, i16* %__modeflags43, align 8 + %conv44 = zext i16 %27 to i32 + %and45 = and i32 %conv44, -4 + %conv46 = trunc i32 %and45 to i16 + store i16 %conv46, i16* %__modeflags43, align 8 + %28 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %28, i32 0, i32 3 + %29 = load i8*, i8** %__bufstart, align 8 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %30, i32 0, i32 7 + store i8* %29, i8** %__bufgetc_u, align 8 + %31 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart47 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %31, i32 0, i32 3 + %32 = load i8*, i8** %__bufstart47, align 8 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos48 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %33, i32 0, i32 5 + store i8* %32, i8** %__bufpos48, align 8 + %34 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread49 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %34, i32 0, i32 6 + store i8* %32, i8** %__bufread49, align 8 + br label %if.end50 + +if.end50: ; preds = %if.end42, %if.end19 + %35 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags51 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %35, i32 0, i32 0 + %36 = load i16, i16* %__modeflags51, align 8 + %conv52 = zext i16 %36 to i32 + %or53 = or i32 %conv52, 64 + %conv54 = trunc i32 %or53 to i16 + store i16 %conv54, i16* %__modeflags51, align 8 + %37 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags55 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %37, i32 0, i32 0 + %38 = load i16, i16* %__modeflags55, align 8 + %conv56 = zext i16 %38 to i32 + %and57 = and i32 %conv56, 2816 + %tobool58 = icmp ne i32 %and57, 0 + br i1 %tobool58, label %if.end60, label %if.then59 + +if.then59: ; preds = %if.end50 + %39 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %39, i32 0, i32 4 + %40 = load i8*, i8** %__bufend, align 8 + %41 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %41, i32 0, i32 8 + store i8* %40, i8** %__bufputc_u, align 8 + br label %if.end60 + +if.end60: ; preds = %if.then59, %if.end50 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end60, %ERROR + %42 = load i32, i32* %retval, align 4 + ret i32 %42 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fseeko64(%struct.__STDIO_FILE_STRUCT.636* %stream, i64 %offset, i32 %whence) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + %pos = alloca i64, align 8 + %retval1 = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i64, i64* %offset.addr, align 8 + store i64 %0, i64* %pos, align 8 + store i32 -1, i32* %retval1, align 4 + %1 = load i32, i32* %whence.addr, align 4 + %cmp = icmp ugt i32 %1, 2 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + store i32 22, i32* @errno, align 4 + br label %if.end20 + +if.else: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %2, i32 0, i32 0 + %3 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %3 to i32 + %and = and i32 %conv, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %lor.lhs.false, label %land.lhs.true + +lor.lhs.false: ; preds = %if.else + %4 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %call = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.568*)* @__stdio_wcommit to i64 (%struct.__STDIO_FILE_STRUCT.636*)*)(%struct.__STDIO_FILE_STRUCT.636* %4) #18 + %tobool2 = icmp ne i64 %call, 0 + br i1 %tobool2, label %if.end20, label %land.lhs.true + +land.lhs.true: ; preds = %lor.lhs.false, %if.else + %5 = load i32, i32* %whence.addr, align 4 + %cmp3 = icmp ne i32 %5, 1 + br i1 %cmp3, label %land.lhs.true9, label %lor.lhs.false5 + +lor.lhs.false5: ; preds = %land.lhs.true + %6 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %call6 = call i32 @__stdio_adjust_position(%struct.__STDIO_FILE_STRUCT.636* %6, i64* %pos) #18 + %cmp7 = icmp sge i32 %call6, 0 + br i1 %cmp7, label %land.lhs.true9, label %if.end20 + +land.lhs.true9: ; preds = %lor.lhs.false5, %land.lhs.true + %7 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %8 = load i32, i32* %whence.addr, align 4 + %call10 = call i32 @__stdio_seek(%struct.__STDIO_FILE_STRUCT.636* %7, i64* %pos, i32 %8) #18 + %cmp11 = icmp sge i32 %call10, 0 + br i1 %cmp11, label %if.then13, label %if.end20 + +if.then13: ; preds = %land.lhs.true9 + %9 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags14 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %9, i32 0, i32 0 + %10 = load i16, i16* %__modeflags14, align 8 + %conv15 = zext i16 %10 to i32 + %and16 = and i32 %conv15, -72 + %conv17 = trunc i32 %and16 to i16 + store i16 %conv17, i16* %__modeflags14, align 8 + %11 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %11, i32 0, i32 3 + %12 = load i8*, i8** %__bufstart, align 8 + %13 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %13, i32 0, i32 5 + store i8* %12, i8** %__bufpos, align 8 + %14 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %14, i32 0, i32 6 + store i8* %12, i8** %__bufread, align 8 + %15 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufstart18 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %15, i32 0, i32 3 + %16 = load i8*, i8** %__bufstart18, align 8 + %17 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %17, i32 0, i32 7 + store i8* %16, i8** %__bufgetc_u, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufstart19 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %18, i32 0, i32 3 + %19 = load i8*, i8** %__bufstart19, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %20, i32 0, i32 8 + store i8* %19, i8** %__bufputc_u, align 8 + %21 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %21, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + store i32 0, i32* %__mask, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %22, i32 0, i32 1 + %arrayidx = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 0 + store i8 0, i8* %arrayidx, align 2 + store i32 0, i32* %retval1, align 4 + br label %if.end20 + +if.end20: ; preds = %lor.lhs.false, %lor.lhs.false5, %land.lhs.true9, %if.then13, %if.then + %23 = load i32, i32* %retval1, align 4 + ret i32 %23 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i8* noalias %format, %struct.__va_list_tag.0* %arg) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %format.addr = alloca i8*, align 8 + %arg.addr = alloca %struct.__va_list_tag.0*, align 8 + %ppfs = alloca %struct.ppfs_t.722, align 8 + %count = alloca i32, align 4 + %r = alloca i32, align 4 + %s = alloca i8*, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + store %struct.__va_list_tag.0* %arg, %struct.__va_list_tag.0** %arg.addr, align 8 + store i32 0, i32* %count, align 4 + %0 = load i8*, i8** %format.addr, align 8 + store i8* %0, i8** %s, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %1, i32 0, i32 0 + %2 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %2 to i32 + %and = and i32 %conv, 192 + %cmp = icmp eq i32 %and, 192 + br i1 %cmp, label %if.else, label %land.lhs.true + +land.lhs.true: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* %3, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %land.lhs.true + store i32 -1, i32* %count, align 4 + br label %if.end65 + +if.else: ; preds = %land.lhs.true, %entry + %4 = load i8*, i8** %format.addr, align 8 + %call2 = call i32 @_ppfs_init(%struct.ppfs_t.722* %ppfs, i8* %4) #18 + %cmp3 = icmp slt i32 %call2, 0 + br i1 %cmp3, label %if.then5, label %if.else13 + +if.then5: ; preds = %if.else + %fmtpos = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %5 = load i8*, i8** %fmtpos, align 8 + %call6 = call i64 @strlen(i8* %5) #20 + %cmp7 = icmp ugt i64 %call6, 0 + br i1 %cmp7, label %cond.true, label %cond.end + +cond.true: ; preds = %if.then5 + %fmtpos9 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %6 = load i8*, i8** %fmtpos9, align 8 + %fmtpos10 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %7 = load i8*, i8** %fmtpos10, align 8 + %call11 = call i64 @strlen(i8* %7) #20 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call12 = call i64 @__stdio_fwrite(i8* %6, i64 %call11, %struct.__STDIO_FILE_STRUCT.568* %8) #18 + br label %cond.end + +cond.end: ; preds = %if.then5, %cond.true + %cond = phi i64 [ %call12, %cond.true ], [ 0, %if.then5 ] + store i32 -1, i32* %count, align 4 + br label %if.end65 + +if.else13: ; preds = %if.else + %9 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %arg.addr, align 8 + call void @_ppfs_prepargs(%struct.ppfs_t.722* %ppfs, %struct.__va_list_tag.0* %9) #18 + br label %do.body + +do.body: ; preds = %do.cond, %if.else13 + br label %while.cond + +while.cond: ; preds = %while.body, %do.body + %10 = load i8*, i8** %format.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv14 = sext i8 %11 to i32 + %tobool15 = icmp ne i32 %conv14, 0 + br i1 %tobool15, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %12 = load i8*, i8** %format.addr, align 8 + %13 = load i8, i8* %12, align 1 + %conv16 = sext i8 %13 to i32 + %cmp17 = icmp ne i32 %conv16, 37 + br label %land.end + +land.end: ; preds = %land.rhs, %while.cond + %14 = phi i1 [ false, %while.cond ], [ %cmp17, %land.rhs ] + %15 = load i8*, i8** %format.addr, align 8 + br i1 %14, label %while.body, label %while.end + +while.body: ; preds = %land.end + %incdec.ptr = getelementptr inbounds i8, i8* %15, i32 1 + store i8* %incdec.ptr, i8** %format.addr, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %16 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %15 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %16 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool19 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %tobool19, label %if.then20, label %if.end42 + +if.then20: ; preds = %while.end + %17 = load i8*, i8** %format.addr, align 8 + %18 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast21 = ptrtoint i8* %17 to i64 + %sub.ptr.rhs.cast22 = ptrtoint i8* %18 to i64 + %sub.ptr.sub23 = sub i64 %sub.ptr.lhs.cast21, %sub.ptr.rhs.cast22 + %cmp24 = icmp sgt i64 %sub.ptr.sub23, 0 + br i1 %cmp24, label %cond.true26, label %cond.end32 + +cond.true26: ; preds = %if.then20 + %19 = load i8*, i8** %s, align 8 + %20 = load i8*, i8** %format.addr, align 8 + %21 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast27 = ptrtoint i8* %20 to i64 + %sub.ptr.rhs.cast28 = ptrtoint i8* %21 to i64 + %sub.ptr.sub29 = sub i64 %sub.ptr.lhs.cast27, %sub.ptr.rhs.cast28 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call30 = call i64 @__stdio_fwrite(i8* %19, i64 %sub.ptr.sub29, %struct.__STDIO_FILE_STRUCT.568* %22) #18 + br label %cond.end32 + +cond.end32: ; preds = %if.then20, %cond.true26 + %cond33 = phi i64 [ %call30, %cond.true26 ], [ 0, %if.then20 ] + %conv34 = trunc i64 %cond33 to i32 + store i32 %conv34, i32* %r, align 4 + %conv35 = sext i32 %conv34 to i64 + %23 = load i8*, i8** %format.addr, align 8 + %24 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast36 = ptrtoint i8* %23 to i64 + %sub.ptr.rhs.cast37 = ptrtoint i8* %24 to i64 + %sub.ptr.sub38 = sub i64 %sub.ptr.lhs.cast36, %sub.ptr.rhs.cast37 + %cmp39 = icmp ne i64 %conv35, %sub.ptr.sub38 + br i1 %cmp39, label %if.then41, label %if.end + +if.then41: ; preds = %cond.end32 + store i32 -1, i32* %count, align 4 + br label %do.end + +if.end: ; preds = %cond.end32 + %25 = load i32, i32* %r, align 4 + %26 = load i32, i32* %count, align 4 + %add = add nsw i32 %26, %25 + store i32 %add, i32* %count, align 4 + br label %if.end42 + +if.end42: ; preds = %if.end, %while.end + %27 = load i8*, i8** %format.addr, align 8 + %28 = load i8, i8* %27, align 1 + %tobool43 = icmp ne i8 %28, 0 + br i1 %tobool43, label %if.end45, label %do.end + +if.end45: ; preds = %if.end42 + %29 = load i8*, i8** %format.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %29, i64 1 + %30 = load i8, i8* %arrayidx, align 1 + %conv46 = sext i8 %30 to i32 + %cmp47 = icmp ne i32 %conv46, 37 + %31 = load i8*, i8** %format.addr, align 8 + %incdec.ptr50 = getelementptr inbounds i8, i8* %31, i32 1 + store i8* %incdec.ptr50, i8** %format.addr, align 8 + br i1 %cmp47, label %if.then49, label %if.else58 + +if.then49: ; preds = %if.end45 + %fmtpos51 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + store i8* %incdec.ptr50, i8** %fmtpos51, align 8 + %32 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call52 = call i32 @_do_one_spec(%struct.__STDIO_FILE_STRUCT.568* %32, %struct.ppfs_t.722* %ppfs, i32* %count) #18 + store i32 %call52, i32* %r, align 4 + %cmp53 = icmp slt i32 %call52, 0 + br i1 %cmp53, label %if.then55, label %if.end56 + +if.then55: ; preds = %if.then49 + store i32 -1, i32* %count, align 4 + br label %do.end + +if.end56: ; preds = %if.then49 + %fmtpos57 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %33 = load i8*, i8** %fmtpos57, align 8 + store i8* %33, i8** %format.addr, align 8 + store i8* %33, i8** %s, align 8 + br label %do.cond + +if.else58: ; preds = %if.end45 + store i8* %incdec.ptr50, i8** %s, align 8 + %34 = load i8*, i8** %format.addr, align 8 + %incdec.ptr60 = getelementptr inbounds i8, i8* %34, i32 1 + store i8* %incdec.ptr60, i8** %format.addr, align 8 + br label %do.cond + +do.cond: ; preds = %if.end56, %if.else58 + br label %do.body + +do.end: ; preds = %if.end42, %if.then55, %if.then41 + %arg62 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 7 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg62, i64 0, i64 0 + %arraydecay63 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_end(i8* %arraydecay63) + br label %if.end65 + +if.end65: ; preds = %cond.end, %do.end, %if.then + %35 = load i32, i32* %count, align 4 + ret i32 %35 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_do_one_spec(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, %struct.ppfs_t.722* %ppfs, i32* %count) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %count.addr = alloca i32*, align 8 + %argptr = alloca [1 x i8*], align 8 + %argtype = alloca i32*, align 8 + %ws = alloca i32*, align 8 + %mbstate = alloca %struct.__mbstate_t.512, align 4 + %slen = alloca i64, align 8 + %base = alloca i32, align 4 + %numpad = alloca i32, align 4 + %alphacase = alloca i32, align 4 + %numfill = alloca i32, align 4 + %prefix_num = alloca i32, align 4 + %padchar = alloca i8, align 1 + %buf = alloca [128 x i8], align 16 + %p = alloca %union.anon.193*, align 8 + %i = alloca i32, align 4 + %s = alloca i8*, align 8 + %nf = alloca i64, align 8 + %t = alloca i64, align 8 + %t351 = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store i32* %count, i32** %count.addr, align 8 + store i32* null, i32** %ws, align 8 + store i32 0, i32* %numfill, align 4 + store i32 11, i32* %prefix_num, align 4 + store i8 32, i8* %padchar, align 1 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %call = call i32 @_ppfs_parsespec(%struct.ppfs_t.722* %0) #18 + %1 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + call void @_ppfs_setargs(%struct.ppfs_t.722* %1) #18 + %2 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype1 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %2, i32 0, i32 6 + %arraydecay = getelementptr inbounds [9 x i32], [9 x i32]* %argtype1, i64 0, i64 0 + %3 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %3, i32 0, i32 5 + %arrayidx = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber, i64 0, i64 2 + %4 = load i8, i8* %arrayidx, align 2 + %conv = zext i8 %4 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds i32, i32* %arraydecay, i64 %idx.ext + %add.ptr2 = getelementptr inbounds i32, i32* %add.ptr, i64 -1 + store i32* %add.ptr2, i32** %argtype, align 8 + %5 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argvalue = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %5, i32 0, i32 8 + %arraydecay3 = getelementptr inbounds [9 x %union.anon.193], [9 x %union.anon.193]* %argvalue, i64 0, i64 0 + store %union.anon.193* %arraydecay3, %union.anon.193** %p, align 8 + %6 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %6, i32 0, i32 2 + %7 = load i32, i32* %maxposarg, align 4 + %cmp = icmp sgt i32 %7, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %8 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber5 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %8, i32 0, i32 5 + %arrayidx6 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber5, i64 0, i64 2 + %9 = load i8, i8* %arrayidx6, align 2 + %conv7 = zext i8 %9 to i32 + %sub = sub nsw i32 %conv7, 1 + %10 = load %union.anon.193*, %union.anon.193** %p, align 8 + %idx.ext8 = sext i32 %sub to i64 + %add.ptr9 = getelementptr inbounds %union.anon.193, %union.anon.193* %10, i64 %idx.ext8 + store %union.anon.193* %add.ptr9, %union.anon.193** %p, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %11 = load i32, i32* %i, align 4 + %12 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %12, i32 0, i32 3 + %13 = load i32, i32* %num_data_args, align 8 + %cmp10 = icmp slt i32 %11, %13 + br i1 %cmp10, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %14 = load %union.anon.193*, %union.anon.193** %p, align 8 + %incdec.ptr = getelementptr inbounds %union.anon.193, %union.anon.193* %14, i32 1 + store %union.anon.193* %incdec.ptr, %union.anon.193** %p, align 8 + %15 = bitcast %union.anon.193* %14 to i8* + %16 = load i32, i32* %i, align 4 + %idxprom = sext i32 %16 to i64 + %arrayidx12 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 %idxprom + store i8* %15, i8** %arrayidx12, align 8 + %17 = load i32, i32* %i, align 4 + %inc = add nsw i32 %17, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + store i8* null, i8** %s, align 8 + %18 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %18, i32 0, i32 4 + %19 = load i32, i32* %conv_num, align 4 + %cmp13 = icmp eq i32 %19, 0 + br i1 %cmp13, label %if.then15, label %if.end18 + +if.then15: ; preds = %for.end + %arraydecay16 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %20 = load i8*, i8** %arraydecay16, align 8 + %21 = bitcast i8* %20 to i8** + %22 = load i8*, i8** %21, align 8 + %23 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %23, i32 0, i32 1 + %_flags = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 3 + %24 = load i32, i32* %_flags, align 4 + %and = and i32 %24, 3840 + %25 = load i32*, i32** %count.addr, align 8 + %26 = load i32, i32* %25, align 4 + %conv17 = sext i32 %26 to i64 + call void @_store_inttype(i8* %22, i32 %and, i64 %conv17) #18 + store i32 0, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %for.end + %27 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num19 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %27, i32 0, i32 4 + %28 = load i32, i32* %conv_num19, align 4 + %cmp20 = icmp ule i32 %28, 7 + br i1 %cmp20, label %if.then22, label %if.else179 + +if.then22: ; preds = %if.end18 + store i32 87, i32* %alphacase, align 4 + %29 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num23 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %29, i32 0, i32 4 + %30 = load i32, i32* %conv_num23, align 4 + %sub24 = sub i32 %30, 1 + %idxprom25 = sext i32 %sub24 to i64 + %arrayidx26 = getelementptr inbounds [7 x i8], [7 x i8]* @_do_one_spec.spec_base, i64 0, i64 %idxprom25 + %31 = load i8, i8* %arrayidx26, align 1 + %conv27 = sext i8 %31 to i32 + store i32 %conv27, i32* %base, align 4 + %cmp28 = icmp eq i32 %conv27, 10 + br i1 %cmp28, label %if.then30, label %if.end42 + +if.then30: ; preds = %if.then22 + %32 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info31 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %32, i32 0, i32 1 + %_flags32 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info31, i32 0, i32 3 + %33 = load i32, i32* %_flags32, align 4 + %and33 = and i32 %33, 32 + %tobool = icmp ne i32 %and33, 0 + br i1 %tobool, label %if.then34, label %if.end35 + +if.then34: ; preds = %if.then30 + store i32 44, i32* %alphacase, align 4 + br label %if.end35 + +if.end35: ; preds = %if.then34, %if.then30 + %34 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info36 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %34, i32 0, i32 1 + %_flags37 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info36, i32 0, i32 3 + %35 = load i32, i32* %_flags37, align 4 + %and38 = and i32 %35, 64 + %tobool39 = icmp ne i32 %and38, 0 + br i1 %tobool39, label %if.then40, label %if.end42 + +if.then40: ; preds = %if.end35 + %36 = load i32, i32* %alphacase, align 4 + %or = or i32 %36, 128 + store i32 %or, i32* %alphacase, align 4 + br label %if.end42 + +if.end42: ; preds = %if.end35, %if.then40, %if.then22 + %37 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num43 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %37, i32 0, i32 4 + %38 = load i32, i32* %conv_num43, align 4 + %cmp44 = icmp ule i32 %38, 5 + br i1 %cmp44, label %if.then46, label %if.else57 + +if.then46: ; preds = %if.end42 + %39 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num47 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %39, i32 0, i32 4 + %40 = load i32, i32* %conv_num47, align 4 + %cmp48 = icmp eq i32 %40, 3 + br i1 %cmp48, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.then46 + store i32 55, i32* %alphacase, align 4 + br label %if.end51 + +if.end51: ; preds = %if.then50, %if.then46 + %41 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num52 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %41, i32 0, i32 4 + %42 = load i32, i32* %conv_num52, align 4 + %cmp53 = icmp eq i32 %42, 1 + br i1 %cmp53, label %if.then55, label %if.end59 + +if.then55: ; preds = %if.end51 + store i32 6, i32* %prefix_num, align 4 + br label %if.end59 + +if.else57: ; preds = %if.end42 + %43 = load i32, i32* %base, align 4 + %sub58 = sub nsw i32 0, %43 + store i32 %sub58, i32* %base, align 4 + br label %if.end59 + +if.end59: ; preds = %if.then55, %if.end51, %if.else57 + %44 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info60 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %44, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info60, i32 0, i32 0 + %45 = load i32, i32* %prec, align 8 + %cmp61 = icmp slt i32 %45, 0 + br i1 %cmp61, label %if.then63, label %if.end66 + +if.then63: ; preds = %if.end59 + %46 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info64 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %46, i32 0, i32 1 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info64, i32 0, i32 4 + %47 = load i32, i32* %pad, align 8 + %conv65 = trunc i32 %47 to i8 + store i8 %conv65, i8* %padchar, align 1 + br label %if.end66 + +if.end66: ; preds = %if.then63, %if.end59 + %arraydecay67 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %add.ptr68 = getelementptr inbounds i8, i8* %arraydecay67, i64 128 + %add.ptr69 = getelementptr inbounds i8, i8* %add.ptr68, i64 -1 + %48 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num70 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %48, i32 0, i32 4 + %49 = load i32, i32* %conv_num70, align 4 + %cmp71 = icmp eq i32 %49, 1 + br i1 %cmp71, label %cond.end, label %cond.false + +cond.false: ; preds = %if.end66 + %50 = load i32*, i32** %argtype, align 8 + %51 = load i32, i32* %50, align 4 + %and73 = and i32 %51, 3840 + br label %cond.end + +cond.end: ; preds = %if.end66, %cond.false + %cond = phi i32 [ %and73, %cond.false ], [ 1024, %if.end66 ] + %arraydecay74 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %52 = load i8*, i8** %arraydecay74, align 8 + %53 = load i32, i32* %base, align 4 + %call75 = call i64 @_load_inttype(i32 %cond, i8* %52, i32 %53) #18 + %54 = load i32, i32* %base, align 4 + %55 = load i32, i32* %alphacase, align 4 + %call76 = call i8* @_uintmaxtostr(i8* %add.ptr69, i64 %call75, i32 %54, i32 %55) #18 + store i8* %call76, i8** %s, align 8 + %56 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num77 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %56, i32 0, i32 4 + %57 = load i32, i32* %conv_num77, align 4 + %cmp78 = icmp ugt i32 %57, 5 + br i1 %cmp78, label %if.then80, label %if.end104 + +if.then80: ; preds = %cond.end + %58 = load i8*, i8** %s, align 8 + %59 = load i8, i8* %58, align 1 + %conv81 = sext i8 %59 to i32 + %cmp82 = icmp eq i32 %conv81, 45 + %60 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info85 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %60, i32 0, i32 1 + %_flags86 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info85, i32 0, i32 3 + %61 = load i32, i32* %_flags86, align 4 + br i1 %cmp82, label %if.then84, label %if.else89 + +if.then84: ; preds = %if.then80 + %or87 = or i32 %61, 2 + store i32 %or87, i32* %_flags86, align 4 + %62 = load i8*, i8** %s, align 8 + %incdec.ptr88 = getelementptr inbounds i8, i8* %62, i32 1 + store i8* %incdec.ptr88, i8** %s, align 8 + store i32 2, i32* %prefix_num, align 4 + br label %if.end104 + +if.else89: ; preds = %if.then80 + %and92 = and i32 %61, 2 + %tobool93 = icmp ne i32 %and92, 0 + br i1 %tobool93, label %if.then94, label %if.else95 + +if.then94: ; preds = %if.else89 + store i32 0, i32* %prefix_num, align 4 + br label %if.end104 + +if.else95: ; preds = %if.else89 + %63 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info96 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %63, i32 0, i32 1 + %_flags97 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info96, i32 0, i32 3 + %64 = load i32, i32* %_flags97, align 4 + %and98 = and i32 %64, 1 + %tobool99 = icmp ne i32 %and98, 0 + br i1 %tobool99, label %if.then100, label %if.end104 + +if.then100: ; preds = %if.else95 + store i32 4, i32* %prefix_num, align 4 + br label %if.end104 + +if.end104: ; preds = %if.then84, %if.else95, %if.then100, %if.then94, %cond.end + %arraydecay105 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %add.ptr106 = getelementptr inbounds i8, i8* %arraydecay105, i64 128 + %add.ptr107 = getelementptr inbounds i8, i8* %add.ptr106, i64 -1 + %65 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %add.ptr107 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %65 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %slen, align 8 + %66 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info108 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %66, i32 0, i32 1 + %prec109 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info108, i32 0, i32 0 + %67 = load i32, i32* %prec109, align 8 + %cmp110 = icmp slt i32 %67, 0 + br i1 %cmp110, label %cond.end116, label %cond.false113 + +cond.false113: ; preds = %if.end104 + %68 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info114 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %68, i32 0, i32 1 + %prec115 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info114, i32 0, i32 0 + %69 = load i32, i32* %prec115, align 8 + br label %cond.end116 + +cond.end116: ; preds = %if.end104, %cond.false113 + %cond117 = phi i32 [ %69, %cond.false113 ], [ 1, %if.end104 ] + store i32 %cond117, i32* %numfill, align 4 + %70 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info118 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %70, i32 0, i32 1 + %_flags119 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info118, i32 0, i32 3 + %71 = load i32, i32* %_flags119, align 4 + %and120 = and i32 %71, 16 + %tobool121 = icmp ne i32 %and120, 0 + br i1 %tobool121, label %if.then122, label %if.end149 + +if.then122: ; preds = %cond.end116 + %72 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num123 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %72, i32 0, i32 4 + %73 = load i32, i32* %conv_num123, align 4 + %cmp124 = icmp ule i32 %73, 2 + br i1 %cmp124, label %if.then126, label %if.end127 + +if.then126: ; preds = %if.then122 + store i32 6, i32* %prefix_num, align 4 + br label %if.end127 + +if.end127: ; preds = %if.then126, %if.then122 + %74 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num128 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %74, i32 0, i32 4 + %75 = load i32, i32* %conv_num128, align 4 + %cmp129 = icmp eq i32 %75, 3 + br i1 %cmp129, label %if.then131, label %if.end132 + +if.then131: ; preds = %if.end127 + store i32 9, i32* %prefix_num, align 4 + br label %if.end132 + +if.end132: ; preds = %if.then131, %if.end127 + %76 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num133 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %76, i32 0, i32 4 + %77 = load i32, i32* %conv_num133, align 4 + %cmp134 = icmp eq i32 %77, 4 + br i1 %cmp134, label %land.lhs.true, label %if.end149 + +land.lhs.true: ; preds = %if.end132 + %78 = load i32, i32* %numfill, align 4 + %conv136 = sext i32 %78 to i64 + %79 = load i64, i64* %slen, align 8 + %cmp137 = icmp ule i64 %conv136, %79 + br i1 %cmp137, label %if.then139, label %if.end149 + +if.then139: ; preds = %land.lhs.true + %80 = load i8*, i8** %s, align 8 + %81 = load i8, i8* %80, align 1 + %conv140 = sext i8 %81 to i32 + %cmp141 = icmp eq i32 %conv140, 48 + %82 = load i64, i64* %slen, align 8 + %add = add i64 %82, 1 + %cond146 = select i1 %cmp141, i64 1, i64 %add + %conv147 = trunc i64 %cond146 to i32 + store i32 %conv147, i32* %numfill, align 4 + br label %if.end149 + +if.end149: ; preds = %if.end132, %land.lhs.true, %if.then139, %cond.end116 + %83 = load i8*, i8** %s, align 8 + %84 = load i8, i8* %83, align 1 + %conv150 = sext i8 %84 to i32 + %cmp151 = icmp eq i32 %conv150, 48 + br i1 %cmp151, label %if.then153, label %if.end168 + +if.then153: ; preds = %if.end149 + %85 = load i32, i32* %prefix_num, align 4 + %cmp154 = icmp sge i32 %85, 6 + br i1 %cmp154, label %if.then156, label %if.end157 + +if.then156: ; preds = %if.then153 + store i32 11, i32* %prefix_num, align 4 + br label %if.end157 + +if.end157: ; preds = %if.then156, %if.then153 + %86 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num158 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %86, i32 0, i32 4 + %87 = load i32, i32* %conv_num158, align 4 + %cmp159 = icmp eq i32 %87, 1 + br i1 %cmp159, label %if.then161, label %if.else162 + +if.then161: ; preds = %if.end157 + store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.331, i64 0, i64 0), i8** %s, align 8 + store i64 5, i64* %slen, align 8 + store i32 0, i32* %numfill, align 4 + br label %if.end168 + +if.else162: ; preds = %if.end157 + %88 = load i32, i32* %numfill, align 4 + %cmp163 = icmp eq i32 %88, 0 + br i1 %cmp163, label %if.then165, label %if.end168 + +if.then165: ; preds = %if.else162 + store i64 0, i64* %slen, align 8 + br label %if.end168 + +if.end168: ; preds = %if.then161, %if.then165, %if.else162, %if.end149 + %89 = load i32, i32* %numfill, align 4 + %conv169 = sext i32 %89 to i64 + %90 = load i64, i64* %slen, align 8 + %cmp170 = icmp ugt i64 %conv169, %90 + %91 = load i32, i32* %numfill, align 4 + %conv173 = sext i32 %91 to i64 + %92 = load i64, i64* %slen, align 8 + %sub174 = sub i64 %conv173, %92 + %cond177 = select i1 %cmp170, i64 %sub174, i64 0 + %conv178 = trunc i64 %cond177 to i32 + store i32 %conv178, i32* %numfill, align 4 + br label %if.end278 + +if.else179: ; preds = %if.end18 + %93 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num180 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %93, i32 0, i32 4 + %94 = load i32, i32* %conv_num180, align 4 + %cmp181 = icmp ule i32 %94, 15 + br i1 %cmp181, label %if.then183, label %if.else203 + +if.then183: ; preds = %if.else179 + %95 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %arraydecay189 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %96 = load i8*, i8** %arraydecay189, align 8 + %97 = bitcast i8* %96 to double* + %98 = load double, double* %97, align 8 + %99 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info194 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %99, i32 0, i32 1 + %call195 = call i64 @_fpmaxtostr(%struct.__STDIO_FILE_STRUCT.568* %95, double %98, %struct.printf_info.720* %info194, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)* @_fp_out_narrow) #18 + store i64 %call195, i64* %nf, align 8 + %100 = load i64, i64* %nf, align 8 + %cmp196 = icmp slt i64 %100, 0 + br i1 %cmp196, label %if.then198, label %if.end199 + +if.then198: ; preds = %if.then183 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end199: ; preds = %if.then183 + %101 = load i64, i64* %nf, align 8 + %102 = load i32*, i32** %count.addr, align 8 + %103 = load i32, i32* %102, align 4 + %conv200 = sext i32 %103 to i64 + %add201 = add nsw i64 %conv200, %101 + %conv202 = trunc i64 %add201 to i32 + store i32 %conv202, i32* %102, align 4 + store i32 0, i32* %retval, align 4 + br label %return + +if.else203: ; preds = %if.else179 + %104 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num204 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %104, i32 0, i32 4 + %105 = load i32, i32* %conv_num204, align 4 + %cmp205 = icmp ule i32 %105, 17 + br i1 %cmp205, label %if.then207, label %if.else242 + +if.then207: ; preds = %if.else203 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %mbstate, i32 0, i32 0 + store i32 0, i32* %__mask, align 4 + %106 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num208 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %106, i32 0, i32 4 + %107 = load i32, i32* %conv_num208, align 4 + %cmp209 = icmp eq i32 %107, 17 + br i1 %cmp209, label %if.then211, label %if.else232 + +if.then211: ; preds = %if.then207 + %arraydecay212 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %108 = load i8*, i8** %arraydecay212, align 8 + %109 = bitcast i8* %108 to i32** + %110 = load i32*, i32** %109, align 8 + store i32* %110, i32** %ws, align 8 + %tobool213 = icmp ne i32* %110, null + br i1 %tobool213, label %if.end215, label %NULL_STRING + +if.end215: ; preds = %if.then211 + %111 = bitcast i32** %ws to i8* + %112 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info216 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %112, i32 0, i32 1 + %prec217 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info216, i32 0, i32 0 + %113 = load i32, i32* %prec217, align 8 + %cmp218 = icmp sge i32 %113, 0 + br i1 %cmp218, label %cond.true220, label %cond.end225 + +cond.true220: ; preds = %if.end215 + %114 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info221 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %114, i32 0, i32 1 + %prec222 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info221, i32 0, i32 0 + %115 = load i32, i32* %prec222, align 8 + %conv223 = sext i32 %115 to i64 + br label %cond.end225 + +cond.end225: ; preds = %if.end215, %cond.true220 + %cond226 = phi i64 [ %conv223, %cond.true220 ], [ -1, %if.end215 ] + %call227 = call i64 @wcsrtombs(i8* %111, i32** %ws, i64 %cond226, %struct.__mbstate_t.512* %mbstate) #19 + store i64 %call227, i64* %slen, align 8 + %cmp228 = icmp eq i64 %call227, -1 + br i1 %cmp228, label %if.then230, label %if.end278 + +if.then230: ; preds = %cond.end225 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else232: ; preds = %if.then207 + %arraydecay233 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay233, i8** %s, align 8 + %116 = load i8*, i8** %s, align 8 + %arraydecay234 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %117 = load i8*, i8** %arraydecay234, align 8 + %118 = bitcast i8* %117 to i32* + %119 = load i32, i32* %118, align 4 + %call235 = call i64 @wcrtomb(i8* %116, i32 %119, %struct.__mbstate_t.512* %mbstate) #19 + store i64 %call235, i64* %slen, align 8 + %120 = load i64, i64* %slen, align 8 + %cmp236 = icmp eq i64 %120, -1 + br i1 %cmp236, label %if.then238, label %if.end239 + +if.then238: ; preds = %if.else232 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end239: ; preds = %if.else232 + %121 = load i8*, i8** %s, align 8 + %122 = load i64, i64* %slen, align 8 + %arrayidx240 = getelementptr inbounds i8, i8* %121, i64 %122 + store i8 0, i8* %arrayidx240, align 1 + br label %if.end278 + +if.else242: ; preds = %if.else203 + %123 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num243 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %123, i32 0, i32 4 + %124 = load i32, i32* %conv_num243, align 4 + %cmp244 = icmp ule i32 %124, 19 + br i1 %cmp244, label %if.then246, label %if.else274 + +if.then246: ; preds = %if.else242 + %125 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num247 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %125, i32 0, i32 4 + %126 = load i32, i32* %conv_num247, align 4 + %cmp248 = icmp eq i32 %126, 19 + br i1 %cmp248, label %if.then250, label %if.else268 + +if.then250: ; preds = %if.then246 + %arraydecay251 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %127 = load i8*, i8** %arraydecay251, align 8 + %128 = bitcast i8* %127 to i8** + %129 = load i8*, i8** %128, align 8 + store i8* %129, i8** %s, align 8 + %130 = load i8*, i8** %s, align 8 + %tobool252 = icmp ne i8* %130, null + br i1 %tobool252, label %if.then253, label %NULL_STRING + +if.then253: ; preds = %if.then250 + %131 = load i8*, i8** %s, align 8 + %132 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info254 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %132, i32 0, i32 1 + %prec255 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info254, i32 0, i32 0 + %133 = load i32, i32* %prec255, align 8 + %cmp256 = icmp sge i32 %133, 0 + br i1 %cmp256, label %cond.true258, label %cond.end263 + +cond.true258: ; preds = %if.then253 + %134 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info259 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %134, i32 0, i32 1 + %prec260 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info259, i32 0, i32 0 + %135 = load i32, i32* %prec260, align 8 + %conv261 = sext i32 %135 to i64 + br label %cond.end263 + +cond.end263: ; preds = %if.then253, %cond.true258 + %cond264 = phi i64 [ %conv261, %cond.true258 ], [ -1, %if.then253 ] + %call265 = call i64 @strnlen(i8* %131, i64 %cond264) #20 + store i64 %call265, i64* %slen, align 8 + br label %if.end278 + +NULL_STRING: ; preds = %if.then250, %if.then211 + store i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.332, i64 0, i64 0), i8** %s, align 8 + store i64 6, i64* %slen, align 8 + br label %if.end278 + +if.else268: ; preds = %if.then246 + %arraydecay269 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay269, i8** %s, align 8 + %arraydecay270 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %136 = load i8*, i8** %arraydecay270, align 8 + %137 = bitcast i8* %136 to i32* + %138 = load i32, i32* %137, align 4 + %conv271 = trunc i32 %138 to i8 + %139 = load i8*, i8** %s, align 8 + store i8 %conv271, i8* %139, align 1 + %140 = load i8*, i8** %s, align 8 + %arrayidx272 = getelementptr inbounds i8, i8* %140, i64 1 + store i8 0, i8* %arrayidx272, align 1 + store i64 1, i64* %slen, align 8 + br label %if.end278 + +if.else274: ; preds = %if.else242 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end278: ; preds = %cond.end263, %NULL_STRING, %if.else268, %if.end239, %cond.end225, %if.end168 + %141 = load i64, i64* %slen, align 8 + %142 = load i32, i32* %numfill, align 4 + %conv279 = sext i32 %142 to i64 + %add280 = add i64 %141, %conv279 + store i64 %add280, i64* %t, align 8 + %143 = load i32, i32* %prefix_num, align 4 + %cmp281 = icmp ne i32 %143, 11 + br i1 %cmp281, label %if.then283, label %if.end289 + +if.then283: ; preds = %if.end278 + %144 = load i32, i32* %prefix_num, align 4 + %cmp284 = icmp slt i32 %144, 6 + %145 = zext i1 %cmp284 to i64 + %cond286 = select i1 %cmp284, i32 1, i32 2 + %conv287 = sext i32 %cond286 to i64 + %146 = load i64, i64* %t, align 8 + %add288 = add i64 %146, %conv287 + store i64 %add288, i64* %t, align 8 + br label %if.end289 + +if.end289: ; preds = %if.then283, %if.end278 + %147 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info290 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %147, i32 0, i32 1 + %width = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info290, i32 0, i32 1 + %148 = load i32, i32* %width, align 4 + %conv291 = sext i32 %148 to i64 + %149 = load i64, i64* %t, align 8 + %cmp292 = icmp ugt i64 %conv291, %149 + br i1 %cmp292, label %cond.true294, label %cond.end300 + +cond.true294: ; preds = %if.end289 + %150 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info295 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %150, i32 0, i32 1 + %width296 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info295, i32 0, i32 1 + %151 = load i32, i32* %width296, align 4 + %conv297 = sext i32 %151 to i64 + %152 = load i64, i64* %t, align 8 + %sub298 = sub i64 %conv297, %152 + br label %cond.end300 + +cond.end300: ; preds = %if.end289, %cond.true294 + %cond301 = phi i64 [ %sub298, %cond.true294 ], [ 0, %if.end289 ] + %conv302 = trunc i64 %cond301 to i32 + store i32 %conv302, i32* %numpad, align 4 + %153 = load i64, i64* %t, align 8 + %154 = load i32, i32* %numpad, align 4 + %conv303 = sext i32 %154 to i64 + %add304 = add i64 %153, %conv303 + %155 = load i32*, i32** %count.addr, align 8 + %156 = load i32, i32* %155, align 4 + %conv305 = sext i32 %156 to i64 + %add306 = add i64 %conv305, %add304 + %conv307 = trunc i64 %add306 to i32 + store i32 %conv307, i32* %155, align 4 + %157 = load i8, i8* %padchar, align 1 + %conv308 = sext i8 %157 to i32 + %cmp309 = icmp eq i32 %conv308, 48 + br i1 %cmp309, label %if.then311, label %if.end313 + +if.then311: ; preds = %cond.end300 + %158 = load i32, i32* %numpad, align 4 + %159 = load i32, i32* %numfill, align 4 + %add312 = add nsw i32 %159, %158 + store i32 %add312, i32* %numfill, align 4 + store i32 0, i32* %numpad, align 4 + br label %if.end313 + +if.end313: ; preds = %if.then311, %cond.end300 + %160 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info314 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %160, i32 0, i32 1 + %_flags315 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info314, i32 0, i32 3 + %161 = load i32, i32* %_flags315, align 4 + %and316 = and i32 %161, 8 + %tobool317 = icmp ne i32 %and316, 0 + br i1 %tobool317, label %if.end326, label %if.then318 + +if.then318: ; preds = %if.end313 + %162 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %163 = load i32, i32* %numpad, align 4 + %conv319 = sext i32 %163 to i64 + %call320 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %162, i32 32, i64 %conv319) #18 + %164 = load i32, i32* %numpad, align 4 + %conv321 = sext i32 %164 to i64 + %cmp322 = icmp ne i64 %call320, %conv321 + br i1 %cmp322, label %if.then324, label %if.end325 + +if.then324: ; preds = %if.then318 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end325: ; preds = %if.then318 + store i32 0, i32* %numpad, align 4 + br label %if.end326 + +if.end326: ; preds = %if.end325, %if.end313 + %165 = load i32, i32* %prefix_num, align 4 + %idx.ext327 = sext i32 %165 to i64 + %add.ptr328 = getelementptr inbounds i8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @_do_one_spec.prefix, i64 0, i64 0), i64 %idx.ext327 + %166 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call329 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct.__STDIO_FILE_STRUCT.568*)*)(i8* %add.ptr328, %struct.__STDIO_FILE_STRUCT.568* %166) #18 + %167 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %168 = load i32, i32* %numfill, align 4 + %conv330 = sext i32 %168 to i64 + %call331 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %167, i32 48, i64 %conv330) #18 + %169 = load i32, i32* %numfill, align 4 + %conv332 = sext i32 %169 to i64 + %cmp333 = icmp ne i64 %call331, %conv332 + br i1 %cmp333, label %if.then335, label %if.end336 + +if.then335: ; preds = %if.end326 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end336: ; preds = %if.end326 + %170 = load i32*, i32** %ws, align 8 + %tobool337 = icmp ne i32* %170, null + br i1 %tobool337, label %if.else350, label %if.then338 + +if.then338: ; preds = %if.end336 + %171 = load i64, i64* %slen, align 8 + %cmp339 = icmp ugt i64 %171, 0 + br i1 %cmp339, label %cond.true341, label %cond.end344 + +cond.true341: ; preds = %if.then338 + %172 = load i8*, i8** %s, align 8 + %173 = load i64, i64* %slen, align 8 + %174 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call342 = call i64 @__stdio_fwrite(i8* %172, i64 %173, %struct.__STDIO_FILE_STRUCT.568* %174) #18 + br label %cond.end344 + +cond.end344: ; preds = %if.then338, %cond.true341 + %cond345 = phi i64 [ %call342, %cond.true341 ], [ 0, %if.then338 ] + %175 = load i64, i64* %slen, align 8 + %cmp346 = icmp ne i64 %cond345, %175 + br i1 %cmp346, label %if.then348, label %if.end375 + +if.then348: ; preds = %cond.end344 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else350: ; preds = %if.end336 + %__mask352 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %mbstate, i32 0, i32 0 + store i32 0, i32* %__mask352, align 4 + br label %while.cond + +while.cond: ; preds = %if.end373, %if.else350 + %176 = load i64, i64* %slen, align 8 + %tobool353 = icmp ne i64 %176, 0 + br i1 %tobool353, label %while.body, label %if.end375 + +while.body: ; preds = %while.cond + %177 = load i64, i64* %slen, align 8 + %cmp354 = icmp ule i64 %177, 128 + %178 = load i64, i64* %slen, align 8 + %cond359 = select i1 %cmp354, i64 %178, i64 128 + store i64 %cond359, i64* %t351, align 8 + %arraydecay360 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %179 = load i64, i64* %t351, align 8 + %call361 = call i64 @wcsrtombs(i8* %arraydecay360, i32** %ws, i64 %179, %struct.__mbstate_t.512* %mbstate) #19 + store i64 %call361, i64* %t351, align 8 + %180 = load i64, i64* %t351, align 8 + %cmp362 = icmp ugt i64 %180, 0 + br i1 %cmp362, label %cond.true364, label %cond.end368 + +cond.true364: ; preds = %while.body + %arraydecay365 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %181 = load i64, i64* %t351, align 8 + %182 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call366 = call i64 @__stdio_fwrite(i8* %arraydecay365, i64 %181, %struct.__STDIO_FILE_STRUCT.568* %182) #18 + br label %cond.end368 + +cond.end368: ; preds = %while.body, %cond.true364 + %cond369 = phi i64 [ %call366, %cond.true364 ], [ 0, %while.body ] + %183 = load i64, i64* %t351, align 8 + %cmp370 = icmp ne i64 %cond369, %183 + br i1 %cmp370, label %if.then372, label %if.end373 + +if.then372: ; preds = %cond.end368 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end373: ; preds = %cond.end368 + %184 = load i64, i64* %t351, align 8 + %185 = load i64, i64* %slen, align 8 + %sub374 = sub i64 %185, %184 + store i64 %sub374, i64* %slen, align 8 + br label %while.cond + +if.end375: ; preds = %while.cond, %cond.end344 + %186 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %187 = load i32, i32* %numpad, align 4 + %conv376 = sext i32 %187 to i64 + %call377 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %186, i32 32, i64 %conv376) #18 + %188 = load i32, i32* %numpad, align 4 + %conv378 = sext i32 %188 to i64 + %cmp379 = icmp ne i64 %call377, %conv378 + br i1 %cmp379, label %if.then381, label %if.end382 + +if.then381: ; preds = %if.end375 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end382: ; preds = %if.end375 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end382, %if.then381, %if.then372, %if.then348, %if.then335, %if.then324, %if.else274, %if.then238, %if.then230, %if.end199, %if.then198, %if.then15 + %189 = load i32, i32* %retval, align 4 + ret i32 %189 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @_fp_out_narrow(%struct.__STDIO_FILE_STRUCT.568* %fp, i64 %type, i64 %len, i64 %buf) #0 { +entry: + %retval = alloca i64, align 8 + %fp.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %type.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %buf.addr = alloca i64, align 8 + %r = alloca i64, align 8 + %buflen = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %fp, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + store i64 %type, i64* %type.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store i64 %buf, i64* %buf.addr, align 8 + store i64 0, i64* %r, align 8 + %0 = load i64, i64* %type.addr, align 8 + %and = and i64 %0, 128 + %tobool = icmp ne i64 %and, 0 + br i1 %tobool, label %if.then, label %if.end12 + +if.then: ; preds = %entry + %1 = load i64, i64* %buf.addr, align 8 + %2 = inttoptr i64 %1 to i8* + %call = call i64 @strlen(i8* %2) #20 + %conv = trunc i64 %call to i32 + store i32 %conv, i32* %buflen, align 4 + %3 = load i32, i32* %buflen, align 4 + %conv1 = sext i32 %3 to i64 + %4 = load i64, i64* %len.addr, align 8 + %sub = sub nsw i64 %4, %conv1 + store i64 %sub, i64* %len.addr, align 8 + %cmp = icmp sgt i64 %sub, 0 + br i1 %cmp, label %if.then3, label %if.end10 + +if.then3: ; preds = %if.then + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + %6 = load i64, i64* %type.addr, align 8 + %and4 = and i64 %6, 127 + %conv5 = trunc i64 %and4 to i32 + %7 = load i64, i64* %len.addr, align 8 + %call6 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %5, i32 %conv5, i64 %7) #18 + store i64 %call6, i64* %r, align 8 + %8 = load i64, i64* %len.addr, align 8 + %cmp7 = icmp ne i64 %call6, %8 + br i1 %cmp7, label %if.then9, label %if.end10 + +if.then9: ; preds = %if.then3 + %9 = load i64, i64* %r, align 8 + store i64 %9, i64* %retval, align 8 + br label %return + +if.end10: ; preds = %if.then3, %if.then + %10 = load i32, i32* %buflen, align 4 + %conv11 = sext i32 %10 to i64 + store i64 %conv11, i64* %len.addr, align 8 + br label %if.end12 + +if.end12: ; preds = %if.end10, %entry + %11 = load i64, i64* %r, align 8 + %12 = load i64, i64* %len.addr, align 8 + %cmp13 = icmp sgt i64 %12, 0 + br i1 %cmp13, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end12 + %13 = load i64, i64* %buf.addr, align 8 + %14 = inttoptr i64 %13 to i8* + %15 = load i64, i64* %len.addr, align 8 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + %call15 = call i64 @__stdio_fwrite(i8* %14, i64 %15, %struct.__STDIO_FILE_STRUCT.568* %16) #18 + br label %cond.end + +cond.end: ; preds = %if.end12, %cond.true + %cond = phi i64 [ %call15, %cond.true ], [ 0, %if.end12 ] + %add = add i64 %11, %cond + store i64 %add, i64* %retval, align 8 + br label %return + +return: ; preds = %cond.end, %if.then9 + %17 = load i64, i64* %retval, align 8 + ret i64 %17 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %padchar, i64 %numpad) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %padchar.addr = alloca i32, align 4 + %numpad.addr = alloca i64, align 8 + %todo = alloca i64, align 8 + %pad = alloca [1 x i8], align 1 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %padchar, i32* %padchar.addr, align 4 + store i64 %numpad, i64* %numpad.addr, align 8 + %0 = load i64, i64* %numpad.addr, align 8 + store i64 %0, i64* %todo, align 8 + %1 = load i32, i32* %padchar.addr, align 4 + %conv = trunc i32 %1 to i8 + %arraydecay = getelementptr inbounds [1 x i8], [1 x i8]* %pad, i64 0, i64 0 + store i8 %conv, i8* %arraydecay, align 1 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %2 = load i64, i64* %todo, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %arraydecay1 = getelementptr inbounds [1 x i8], [1 x i8]* %pad, i64 0, i64 0 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i64 @__stdio_fwrite(i8* %arraydecay1, i64 1, %struct.__STDIO_FILE_STRUCT.568* %3) #18 + %cmp = icmp eq i64 %call, 1 + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %land.rhs + %4 = load i64, i64* %todo, align 8 + %dec = add i64 %4, -1 + store i64 %dec, i64* %todo, align 8 + br label %while.cond + +while.end: ; preds = %while.cond, %land.rhs + %5 = load i64, i64* %numpad.addr, align 8 + %6 = load i64, i64* %todo, align 8 + %sub = sub i64 %5, %6 + ret i64 %sub +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__cxa_atexit(void (i8*)* %func, i8* %arg, i8* %dso_handle) #0 { +entry: + %retval = alloca i32, align 4 + %func.addr = alloca void (i8*)*, align 8 + %arg.addr = alloca i8*, align 8 + %dso_handle.addr = alloca i8*, align 8 + %efp = alloca %struct.exit_function*, align 8 + store void (i8*)* %func, void (i8*)** %func.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i8* %dso_handle, i8** %dso_handle.addr, align 8 + %0 = load void (i8*)*, void (i8*)** %func.addr, align 8 + %cmp = icmp eq void (i8*)* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %call = call %struct.exit_function* @__new_exitfn() #18 + store %struct.exit_function* %call, %struct.exit_function** %efp, align 8 + %1 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %cmp1 = icmp eq %struct.exit_function* %1, null + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + store i32 -1, i32* %retval, align 4 + br label %return + +if.end3: ; preds = %if.end + %2 = load void (i8*)*, void (i8*)** %func.addr, align 8 + %3 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs = getelementptr inbounds %struct.exit_function, %struct.exit_function* %3, i32 0, i32 1 + %cxa_atexit = bitcast %union.anon.772* %funcs to %struct.anon.0.771* + %func4 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit, i32 0, i32 0 + store void (i8*)* %2, void (i8*)** %func4, align 8 + %4 = load i8*, i8** %arg.addr, align 8 + %5 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs5 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %5, i32 0, i32 1 + %cxa_atexit6 = bitcast %union.anon.772* %funcs5 to %struct.anon.0.771* + %arg7 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit6, i32 0, i32 1 + store i8* %4, i8** %arg7, align 8 + %6 = load i8*, i8** %dso_handle.addr, align 8 + %7 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs8 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %7, i32 0, i32 1 + %cxa_atexit9 = bitcast %union.anon.772* %funcs8 to %struct.anon.0.771* + %dso_handle10 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit9, i32 0, i32 2 + store i8* %6, i8** %dso_handle10, align 8 + %8 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %type = getelementptr inbounds %struct.exit_function, %struct.exit_function* %8, i32 0, i32 0 + store i64 3, i64* %type, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end3, %if.then2, %if.then + %9 = load i32, i32* %retval, align 4 + ret i32 %9 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @getenv(i8* nonnull %var) #0 { +entry: + %retval = alloca i8*, align 8 + %var.addr = alloca i8*, align 8 + %len = alloca i32, align 4 + %ep = alloca i8**, align 8 + store i8* %var, i8** %var.addr, align 8 + %0 = load i8**, i8*** @__environ, align 8 + store i8** %0, i8*** %ep, align 8 + %tobool = icmp ne i8** %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %var.addr, align 8 + %call = call i64 @strlen(i8* %1) #20 + %conv = trunc i64 %call to i32 + store i32 %conv, i32* %len, align 4 + br label %while.cond + +while.cond: ; preds = %if.end10, %if.end + %2 = load i8**, i8*** %ep, align 8 + %3 = load i8*, i8** %2, align 8 + %tobool1 = icmp ne i8* %3, null + br i1 %tobool1, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i8*, i8** %var.addr, align 8 + %5 = load i8**, i8*** %ep, align 8 + %6 = load i8*, i8** %5, align 8 + %7 = load i32, i32* %len, align 4 + %conv2 = sext i32 %7 to i64 + %call3 = call i32 @memcmp(i8* %4, i8* %6, i64 %conv2) #20 + %cmp = icmp eq i32 %call3, 0 + br i1 %cmp, label %land.lhs.true, label %if.end10 + +land.lhs.true: ; preds = %while.body + %8 = load i8**, i8*** %ep, align 8 + %9 = load i8*, i8** %8, align 8 + %10 = load i32, i32* %len, align 4 + %idxprom = sext i32 %10 to i64 + %arrayidx = getelementptr inbounds i8, i8* %9, i64 %idxprom + %11 = load i8, i8* %arrayidx, align 1 + %conv5 = sext i8 %11 to i32 + %cmp6 = icmp eq i32 %conv5, 61 + br i1 %cmp6, label %if.then8, label %if.end10 + +if.then8: ; preds = %land.lhs.true + %12 = load i8**, i8*** %ep, align 8 + %13 = load i8*, i8** %12, align 8 + %14 = load i32, i32* %len, align 4 + %idx.ext = sext i32 %14 to i64 + %add.ptr = getelementptr inbounds i8, i8* %13, i64 %idx.ext + %add.ptr9 = getelementptr inbounds i8, i8* %add.ptr, i64 1 + store i8* %add.ptr9, i8** %retval, align 8 + br label %return + +if.end10: ; preds = %land.lhs.true, %while.body + %15 = load i8**, i8*** %ep, align 8 + %incdec.ptr = getelementptr inbounds i8*, i8** %15, i32 1 + store i8** %incdec.ptr, i8*** %ep, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then8, %if.then + %16 = load i8*, i8** %retval, align 8 + ret i8* %16 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @memmove(i8* nonnull %s1, i8* nonnull %s2, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %p, align 8 + %2 = load i8*, i8** %p, align 8 + %3 = load i8*, i8** %s, align 8 + %cmp = icmp uge i8* %2, %3 + br i1 %cmp, label %while.cond, label %while.cond2 + +while.cond: ; preds = %entry, %while.body + %4 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %4, 0 + br i1 %tobool, label %while.body, label %if.end + +while.body: ; preds = %while.cond + %5 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %6 = load i8, i8* %5, align 1 + %7 = load i8*, i8** %s, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %7, i32 1 + store i8* %incdec.ptr1, i8** %s, align 8 + store i8 %6, i8* %7, align 1 + %8 = load i64, i64* %n.addr, align 8 + %dec = add i64 %8, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.cond2: ; preds = %entry, %while.body4 + %9 = load i64, i64* %n.addr, align 8 + %tobool3 = icmp ne i64 %9, 0 + br i1 %tobool3, label %while.body4, label %if.end + +while.body4: ; preds = %while.cond2 + %10 = load i64, i64* %n.addr, align 8 + %dec5 = add i64 %10, -1 + store i64 %dec5, i64* %n.addr, align 8 + %11 = load i8*, i8** %p, align 8 + %12 = load i64, i64* %n.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %11, i64 %12 + %13 = load i8, i8* %arrayidx, align 1 + %14 = load i8*, i8** %s, align 8 + %15 = load i64, i64* %n.addr, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %14, i64 %15 + store i8 %13, i8* %arrayidx6, align 1 + br label %while.cond2 + +if.end: ; preds = %while.cond2, %while.cond + %16 = load i8*, i8** %s1.addr, align 8 + ret i8* %16 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @mempcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r1 = alloca i8*, align 8 + %r2 = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %r1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %r2, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %2 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load i8*, i8** %r2, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %r2, align 8 + %4 = load i8, i8* %3, align 1 + %5 = load i8*, i8** %r1, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr1, i8** %r1, align 8 + store i8 %4, i8* %5, align 1 + %6 = load i64, i64* %n.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %7 = load i8*, i8** %r1, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @stpcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + br label %while.cond + +while.cond: ; preds = %while.cond, %entry + %0 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %0, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %1 = load i8, i8* %0, align 1 + %2 = load i8*, i8** %s1.addr, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %2, i32 1 + store i8* %incdec.ptr1, i8** %s1.addr, align 8 + store i8 %1, i8* %2, align 1 + %conv = sext i8 %1 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %while.cond, label %while.end + +while.end: ; preds = %while.cond + %3 = load i8*, i8** %s1.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %3, i64 -1 + ret i8* %add.ptr +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @strchr(i8* nonnull %s, i32 %c) #14 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %entry + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %2 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %2 to i8 + %conv2 = sext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + %3 = load i8*, i8** %s.addr, align 8 + br i1 %cmp, label %if.then, label %do.cond + +if.then: ; preds = %do.body + store i8* %3, i8** %retval, align 8 + br label %return + +do.cond: ; preds = %do.body + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %s.addr, align 8 + %4 = load i8, i8* %3, align 1 + %tobool = icmp ne i8 %4, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %do.end, %if.then + %5 = load i8*, i8** %retval, align 8 + ret i8* %5 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @strcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + br label %while.cond + +while.cond: ; preds = %while.cond, %entry + %1 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %1, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %2 = load i8, i8* %1, align 1 + %3 = load i8*, i8** %s, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr1, i8** %s, align 8 + store i8 %2, i8* %3, align 1 + %conv = sext i8 %2 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %while.cond, label %while.end + +while.end: ; preds = %while.cond + %4 = load i8*, i8** %s1.addr, align 8 + ret i8* %4 +} + +; Function Attrs: noinline nounwind uwtable +define noalias i8* @strdup(i8* nonnull %s1) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + %l = alloca i64, align 8 + store i8* %s1, i8** %s1.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + %call = call i64 @strlen(i8* %0) #20 + %add = add i64 %call, 1 + %mul = mul i64 %add, 1 + store i64 %mul, i64* %l, align 8 + %1 = load i64, i64* %l, align 8 + %call1 = call noalias i8* @malloc(i64 %1) #19 + store i8* %call1, i8** %s, align 8 + %cmp = icmp ne i8* %call1, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load i8*, i8** %s, align 8 + %3 = load i8*, i8** %s1.addr, align 8 + %4 = load i64, i64* %l, align 8 + %call2 = call i8* @memcpy(i8* %2, i8* %3, i64 %4) #19 + br label %if.end + +if.end: ; preds = %if.then, %entry + %5 = load i8*, i8** %s, align 8 + ret i8* %5 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @strerror(i32 %errnum) #0 { +entry: + %errnum.addr = alloca i32, align 4 + store i32 %errnum, i32* %errnum.addr, align 4 + %0 = load i32, i32* %errnum.addr, align 4 + %call = call i32 @__xpg_strerror_r(i32 %0, i8* getelementptr inbounds ([50 x i8], [50 x i8]* @strerror.buf, i64 0, i64 0), i64 50) #18 + ret i8* getelementptr inbounds ([50 x i8], [50 x i8]* @strerror.buf, i64 0, i64 0) +} + +; Function Attrs: noinline nounwind uwtable +define i64 @wcrtomb(i8* noalias %s, i32 %wc, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %s.addr = alloca i8*, align 8 + %wc.addr = alloca i32, align 4 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %wcbuf = alloca [1 x i32], align 4 + %pwc = alloca i32*, align 8 + %r = alloca i64, align 8 + %buf = alloca [16 x i8], align 16 + store i8* %s, i8** %s.addr, align 8 + store i32 %wc, i32* %wc.addr, align 4 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay, i8** %s.addr, align 8 + store i32 0, i32* %wc.addr, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %arraydecay1 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay1, i32** %pwc, align 8 + %1 = load i32, i32* %wc.addr, align 4 + %arrayidx = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32 %1, i32* %arrayidx, align 4 + %2 = load i8*, i8** %s.addr, align 8 + %3 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @wcsnrtombs(i8* %2, i32** %pwc, i64 1, i64 16, %struct.__mbstate_t.512* %3) #19 + store i64 %call, i64* %r, align 8 + %4 = load i64, i64* %r, align 8 + %cmp = icmp ne i64 %4, 0 + %5 = load i64, i64* %r, align 8 + %cond = select i1 %cmp, i64 %5, i64 1 + ret i64 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i64 @wcsrtombs(i8* noalias %dst, i32** noalias %src, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %dst.addr = alloca i8*, align 8 + %src.addr = alloca i32**, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + store i8* %dst, i8** %dst.addr, align 8 + store i32** %src, i32*** %src.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load i8*, i8** %dst.addr, align 8 + %1 = load i32**, i32*** %src.addr, align 8 + %2 = load i64, i64* %len.addr, align 8 + %3 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @wcsnrtombs(i8* %0, i32** %1, i64 -1, i64 %2, %struct.__mbstate_t.512* %3) #19 + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @iswctype_l(i32 %wc, i32 %desc, %struct.__uclibc_locale_struct.201* %locale) #0 { +entry: + %retval = alloca i32, align 4 + %wc.addr = alloca i32, align 4 + %desc.addr = alloca i32, align 4 + %locale.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %sc = alloca i32, align 4 + %n = alloca i32, align 4 + %i0 = alloca i32, align 4 + %i1 = alloca i32, align 4 + %d = alloca i8, align 1 + store i32 %wc, i32* %wc.addr, align 4 + store i32 %desc, i32* %desc.addr, align 4 + store %struct.__uclibc_locale_struct.201* %locale, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + store i8 0, i8* %d, align 1 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 9 + %1 = load i8, i8* %encoding, align 8 + %conv = zext i8 %1 to i32 + %cmp = icmp ne i32 %conv, 0 + %2 = load i32, i32* %wc.addr, align 4 + %cmp2 = icmp ule i32 %2, 127 + %or.cond = or i1 %cmp, %cmp2 + br i1 %or.cond, label %if.then, label %if.end78 + +if.then: ; preds = %entry + %3 = load i32, i32* %desc.addr, align 4 + %cmp4 = icmp ult i32 %3, 12 + br i1 %cmp4, label %if.then6, label %if.end58 + +if.then6: ; preds = %if.then + %4 = load i32, i32* %wc.addr, align 4 + %cmp7 = icmp ule i32 %4, 196607 + %5 = load i32, i32* %wc.addr, align 4 + br i1 %cmp7, label %if.then9, label %if.else + +if.then9: ; preds = %if.then6 + %and = and i32 %5, 7 + store i32 %and, i32* %sc, align 4 + %6 = load i32, i32* %wc.addr, align 4 + %shr = lshr i32 %6, 3 + store i32 %shr, i32* %wc.addr, align 4 + %7 = load i32, i32* %wc.addr, align 4 + %and10 = and i32 %7, 31 + store i32 %and10, i32* %n, align 4 + %8 = load i32, i32* %wc.addr, align 4 + %shr11 = lshr i32 %8, 5 + store i32 %shr11, i32* %wc.addr, align 4 + %9 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %tblwctype = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %9, i32 0, i32 21 + %10 = load i8*, i8** %tblwctype, align 8 + %11 = load i32, i32* %wc.addr, align 4 + %idxprom = zext i32 %11 to i64 + %arrayidx = getelementptr inbounds i8, i8* %10, i64 %idxprom + %12 = load i8, i8* %arrayidx, align 1 + %conv12 = zext i8 %12 to i32 + store i32 %conv12, i32* %i0, align 4 + %13 = load i32, i32* %i0, align 4 + %shl = shl i32 %13, 5 + store i32 %shl, i32* %i0, align 4 + %14 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %tblwctype13 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %14, i32 0, i32 21 + %15 = load i8*, i8** %tblwctype13, align 8 + %16 = load i32, i32* %i0, align 4 + %add = add i32 768, %16 + %17 = load i32, i32* %n, align 4 + %add14 = add i32 %add, %17 + %idxprom15 = zext i32 %add14 to i64 + %arrayidx16 = getelementptr inbounds i8, i8* %15, i64 %idxprom15 + %18 = load i8, i8* %arrayidx16, align 1 + %conv17 = zext i8 %18 to i32 + store i32 %conv17, i32* %i1, align 4 + %19 = load i32, i32* %i1, align 4 + %shl18 = shl i32 %19, 2 + store i32 %shl18, i32* %i1, align 4 + %20 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %tblwctype19 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %20, i32 0, i32 21 + %21 = load i8*, i8** %tblwctype19, align 8 + %22 = load i32, i32* %i1, align 4 + %add20 = add i32 2656, %22 + %23 = load i32, i32* %sc, align 4 + %shr21 = lshr i32 %23, 1 + %add22 = add i32 %add20, %shr21 + %idxprom23 = zext i32 %add22 to i64 + %arrayidx24 = getelementptr inbounds i8, i8* %21, i64 %idxprom23 + %24 = load i8, i8* %arrayidx24, align 1 + store i8 %24, i8* %d, align 1 + %25 = load i32, i32* %sc, align 4 + %and25 = and i32 %25, 1 + %tobool = icmp ne i32 %and25, 0 + %26 = load i8, i8* %d, align 1 + %conv26 = zext i8 %26 to i32 + %shr27 = ashr i32 %conv26, 4 + %and29 = and i32 %conv26, 15 + %cond = select i1 %tobool, i32 %shr27, i32 %and29 + %conv30 = trunc i32 %cond to i8 + store i8 %conv30, i8* %d, align 1 + br label %if.end50 + +if.else: ; preds = %if.then6 + %conv31 = zext i32 %5 to i64 + %sub = sub i64 %conv31, 917536 + %conv32 = trunc i64 %sub to i32 + %cmp33 = icmp ule i32 %conv32, 95 + br i1 %cmp33, label %if.then49, label %lor.lhs.false35 + +lor.lhs.false35: ; preds = %if.else + %27 = load i32, i32* %wc.addr, align 4 + %conv36 = zext i32 %27 to i64 + %cmp37 = icmp eq i64 %conv36, 917505 + br i1 %cmp37, label %if.then49, label %lor.lhs.false39 + +lor.lhs.false39: ; preds = %lor.lhs.false35 + %28 = load i32, i32* %wc.addr, align 4 + %conv40 = zext i32 %28 to i64 + %sub41 = sub i64 %conv40, 983040 + %conv42 = trunc i64 %sub41 to i32 + %conv43 = zext i32 %conv42 to i64 + %cmp44 = icmp ult i64 %conv43, 131072 + br i1 %cmp44, label %land.lhs.true, label %if.end50 + +land.lhs.true: ; preds = %lor.lhs.false39 + %29 = load i32, i32* %wc.addr, align 4 + %and46 = and i32 %29, 65535 + %cmp47 = icmp ule i32 %and46, 65533 + br i1 %cmp47, label %if.then49, label %if.end50 + +if.then49: ; preds = %land.lhs.true, %lor.lhs.false35, %if.else + store i8 6, i8* %d, align 1 + br label %if.end50 + +if.end50: ; preds = %lor.lhs.false39, %land.lhs.true, %if.then49, %if.then9 + %30 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %code2flag = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %30, i32 0, i32 20 + %31 = load i16*, i16** %code2flag, align 8 + %32 = load i8, i8* %d, align 1 + %idxprom51 = zext i8 %32 to i64 + %arrayidx52 = getelementptr inbounds i16, i16* %31, i64 %idxprom51 + %33 = load i16, i16* %arrayidx52, align 2 + %conv53 = zext i16 %33 to i32 + %34 = load i32, i32* %desc.addr, align 4 + %idxprom54 = zext i32 %34 to i64 + %arrayidx55 = getelementptr inbounds [13 x i16], [13 x i16]* @desc2flag, i64 0, i64 %idxprom54 + %35 = load i16, i16* %arrayidx55, align 2 + %conv56 = zext i16 %35 to i32 + %and57 = and i32 %conv53, %conv56 + store i32 %and57, i32* %retval, align 4 + br label %return + +if.end58: ; preds = %if.then + %36 = load i32, i32* %desc.addr, align 4 + %cmp59 = icmp eq i32 %36, 12 + br i1 %cmp59, label %cond.false68, label %cond.end76 + +cond.false68: ; preds = %if.end58 + %37 = load i32, i32* %wc.addr, align 4 + %sub69 = sub i32 %37, 48 + %cmp70 = icmp ult i32 %sub69, 10 + %38 = load i32, i32* %wc.addr, align 4 + %or = or i32 %38, 32 + %sub72 = sub i32 %or, 97 + %cmp73 = icmp ult i32 %sub72, 6 + %39 = select i1 %cmp70, i1 true, i1 %cmp73 + %lor.ext = zext i1 %39 to i32 + br label %cond.end76 + +cond.end76: ; preds = %if.end58, %cond.false68 + %cond77 = phi i32 [ %lor.ext, %cond.false68 ], [ 0, %if.end58 ] + store i32 %cond77, i32* %retval, align 4 + br label %return + +if.end78: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end78, %cond.end76, %if.end50 + %40 = load i32, i32* %retval, align 4 + ret i32 %40 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_adjust_position(%struct.__STDIO_FILE_STRUCT.636* noalias %stream, i64* %pos) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %pos.addr = alloca i64*, align 8 + %oldpos = alloca i64, align 8 + %corr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64* %pos, i64** %pos.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 3 + store i32 %and, i32* %corr, align 4 + %cmp = icmp ne i32 %and, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load i32, i32* %corr, align 4 + %dec = add nsw i32 %2, -1 + store i32 %dec, i32* %corr, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %3 = load i32, i32* %corr, align 4 + %tobool = icmp ne i32 %3, 0 + br i1 %tobool, label %land.lhs.true, label %if.end22 + +land.lhs.true: ; preds = %if.end + %4 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %4, i32 0, i32 0 + %5 = load i16, i16* %__modeflags2, align 8 + %conv3 = zext i16 %5 to i32 + %and4 = and i32 %conv3, 2048 + %tobool5 = icmp ne i32 %and4, 0 + br i1 %tobool5, label %if.then6, label %if.end22 + +if.then6: ; preds = %land.lhs.true + %6 = load i32, i32* %corr, align 4 + %cmp7 = icmp sgt i32 %6, 1 + br i1 %cmp7, label %if.then10, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then6 + %7 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %7, i32 0, i32 10 + %arrayidx = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot, i64 0, i64 1 + %8 = load i32, i32* %arrayidx, align 4 + %tobool9 = icmp ne i32 %8, 0 + br i1 %tobool9, label %if.then10, label %if.end11 + +if.then10: ; preds = %lor.lhs.false, %if.then6 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end11: ; preds = %lor.lhs.false + %9 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %9, i32 0, i32 1 + %arrayidx12 = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 1 + %10 = load i8, i8* %arrayidx12, align 1 + %conv13 = zext i8 %10 to i32 + %add = add nsw i32 1, %conv13 + %11 = load i32, i32* %corr, align 4 + %sub = sub nsw i32 %11, %add + store i32 %sub, i32* %corr, align 4 + %12 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %12, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + %13 = load i32, i32* %__mask, align 8 + %cmp14 = icmp sgt i32 %13, 0 + br i1 %cmp14, label %if.then16, label %if.end22 + +if.then16: ; preds = %if.end11 + %14 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot_width17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %14, i32 0, i32 1 + %arrayidx18 = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width17, i64 0, i64 0 + %15 = load i8, i8* %arrayidx18, align 2 + %conv19 = zext i8 %15 to i32 + %16 = load i32, i32* %corr, align 4 + %sub20 = sub nsw i32 %16, %conv19 + store i32 %sub20, i32* %corr, align 4 + br label %if.end22 + +if.end22: ; preds = %if.end11, %if.then16, %land.lhs.true, %if.end + %17 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags23 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %17, i32 0, i32 0 + %18 = load i16, i16* %__modeflags23, align 8 + %conv24 = zext i16 %18 to i32 + %and25 = and i32 %conv24, 64 + %tobool26 = icmp ne i32 %and25, 0 + %19 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + br i1 %tobool26, label %cond.true, label %cond.false + +cond.true: ; preds = %if.end22 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %19, i32 0, i32 3 + %20 = load i8*, i8** %__bufstart, align 8 + br label %cond.end + +cond.false: ; preds = %if.end22 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %19, i32 0, i32 6 + %21 = load i8*, i8** %__bufread, align 8 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i8* [ %20, %cond.true ], [ %21, %cond.false ] + %22 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %22, i32 0, i32 5 + %23 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %cond to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %23 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %24 = load i32, i32* %corr, align 4 + %conv27 = sext i32 %24 to i64 + %add28 = add nsw i64 %conv27, %sub.ptr.sub + %conv29 = trunc i64 %add28 to i32 + store i32 %conv29, i32* %corr, align 4 + %25 = load i64*, i64** %pos.addr, align 8 + %26 = load i64, i64* %25, align 8 + store i64 %26, i64* %oldpos, align 8 + %27 = load i32, i32* %corr, align 4 + %conv30 = sext i32 %27 to i64 + %28 = load i64*, i64** %pos.addr, align 8 + %29 = load i64, i64* %28, align 8 + %sub31 = sub nsw i64 %29, %conv30 + store i64 %sub31, i64* %28, align 8 + %30 = load i64, i64* %oldpos, align 8 + %cmp32 = icmp sgt i64 %sub31, %30 + br i1 %cmp32, label %if.then34, label %if.end36 + +if.then34: ; preds = %cond.end + %31 = load i32, i32* %corr, align 4 + %sub35 = sub nsw i32 0, %31 + store i32 %sub35, i32* %corr, align 4 + br label %if.end36 + +if.end36: ; preds = %if.then34, %cond.end + %32 = load i32, i32* %corr, align 4 + %cmp37 = icmp slt i32 %32, 0 + br i1 %cmp37, label %if.then39, label %if.end40 + +if.then39: ; preds = %if.end36 + store i32 75, i32* @errno, align 4 + br label %if.end40 + +if.end40: ; preds = %if.then39, %if.end36 + %33 = load i32, i32* %corr, align 4 + store i32 %33, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end40, %if.then10 + %34 = load i32, i32* %retval, align 4 + ret i32 %34 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_seek(%struct.__STDIO_FILE_STRUCT.636* %stream, i64* %pos, i32 %whence) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %pos.addr = alloca i64*, align 8 + %whence.addr = alloca i32, align 4 + %res = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64* %pos, i64** %pos.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %0, i32 0, i32 2 + %1 = load i32, i32* %__filedes, align 4 + %2 = load i64*, i64** %pos.addr, align 8 + %3 = load i64, i64* %2, align 8 + %4 = load i32, i32* %whence.addr, align 4 + %call = call i64 @lseek64(i32 %1, i64 %3, i32 %4) #19 + store i64 %call, i64* %res, align 8 + %5 = load i64, i64* %res, align 8 + %cmp = icmp sge i64 %5, 0 + %6 = load i64, i64* %res, align 8 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %entry + %7 = load i64*, i64** %pos.addr, align 8 + store i64 %6, i64* %7, align 8 + br label %cond.end + +cond.false: ; preds = %entry + %conv = trunc i64 %6 to i32 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ 0, %cond.true ], [ %conv, %cond.false ] + ret i32 %cond +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_fpmaxtostr(%struct.__STDIO_FILE_STRUCT.568* %fp, double %x, %struct.printf_info.720* %info, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)* %fp_outfunc) #0 { +entry: + %retval = alloca i64, align 8 + %fp.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %x.addr = alloca double, align 8 + %info.addr = alloca %struct.printf_info.720*, align 8 + %fp_outfunc.addr = alloca i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)*, align 8 + %round = alloca i32, align 4 + %o_exp = alloca i32, align 4 + %exp = alloca i32, align 4 + %width = alloca i32, align 4 + %preci = alloca i32, align 4 + %cnt = alloca i32, align 4 + %s = alloca i8*, align 8 + %e = alloca i8*, align 8 + %pc_fwi = alloca [24 x i64], align 16 + %ppc = alloca i64*, align 8 + %ppc_last = alloca i64*, align 8 + %exp_buf = alloca [16 x i8], align 16 + %buf = alloca [21 x i8], align 16 + %sign_str = alloca [6 x i8], align 1 + %o_mode = alloca i8, align 1 + %mode = alloca i8, align 1 + %i = alloca i32, align 4 + %j = alloca i32, align 4 + %exp_neg = alloca i32, align 4 + %i92 = alloca i32, align 4 + %j93 = alloca i32, align 4 + %digit_block = alloca i64, align 8 + %i151 = alloca i32, align 4 + %i218 = alloca i32, align 4 + %p = alloca i8*, align 8 + %j329 = alloca i32, align 4 + %exp_char = alloca i8, align 1 + %exp_sign = alloca i8, align 1 + %i359 = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %fp, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + store double %x, double* %x.addr, align 8 + store %struct.printf_info.720* %info, %struct.printf_info.720** %info.addr, align 8 + store i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)* %fp_outfunc, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)** %fp_outfunc.addr, align 8 + %0 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %width1 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %0, i32 0, i32 1 + %1 = load i32, i32* %width1, align 4 + store i32 %1, i32* %width, align 4 + %2 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %2, i32 0, i32 0 + %3 = load i32, i32* %prec, align 4 + store i32 %3, i32* %preci, align 4 + %4 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %spec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %4, i32 0, i32 2 + %5 = load i32, i32* %spec, align 4 + %conv = trunc i32 %5 to i8 + store i8 %conv, i8* %mode, align 1 + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + store i8 101, i8* %arraydecay, align 16 + %6 = load i8, i8* %mode, align 1 + %conv2 = sext i8 %6 to i32 + %or = or i32 %conv2, 32 + %cmp = icmp eq i32 %or, 97 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %7 = load i8, i8* %mode, align 1 + %conv4 = sext i8 %7 to i32 + %add = add nsw i32 %conv4, 6 + %conv5 = trunc i32 %add to i8 + store i8 %conv5, i8* %mode, align 1 + br label %if.end + +if.end: ; preds = %if.then, %entry + %8 = load i32, i32* %preci, align 4 + %cmp6 = icmp slt i32 %8, 0 + br i1 %cmp6, label %if.then8, label %if.end9 + +if.then8: ; preds = %if.end + store i32 6, i32* %preci, align 4 + br label %if.end9 + +if.end9: ; preds = %if.then8, %if.end + %arraydecay10 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 0, i8* %arraydecay10, align 1 + %9 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %showsign = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %9, i32 0, i32 3 + %bf.load = load i32, i32* %showsign, align 4 + %bf.lshr = lshr i32 %bf.load, 1 + %bf.clear = and i32 %bf.lshr, 1 + %tobool = icmp ne i32 %bf.clear, 0 + br i1 %tobool, label %if.then11, label %if.else + +if.then11: ; preds = %if.end9 + %arraydecay12 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 43, i8* %arraydecay12, align 1 + br label %if.end19 + +if.else: ; preds = %if.end9 + %10 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %space = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %10, i32 0, i32 3 + %bf.load13 = load i32, i32* %space, align 4 + %bf.clear14 = and i32 %bf.load13, 1 + %tobool15 = icmp ne i32 %bf.clear14, 0 + br i1 %tobool15, label %if.then16, label %if.end19 + +if.then16: ; preds = %if.else + %arraydecay17 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 32, i8* %arraydecay17, align 1 + br label %if.end19 + +if.end19: ; preds = %if.else, %if.then16, %if.then11 + %arraydecay20 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay20, i64 1 + store i8 0, i8* %add.ptr, align 1 + %arrayidx = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 0, i64* %arrayidx, align 8 + %11 = load double, double* %x.addr, align 8 + %12 = load double, double* %x.addr, align 8 + %cmp21 = fcmp une double %11, %12 + br i1 %cmp21, label %if.then23, label %if.end25 + +if.then23: ; preds = %if.end19 + %arrayidx24 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 8, i64* %arrayidx24, align 8 + br label %INF_NAN + +if.end25: ; preds = %if.end19 + %13 = load double, double* %x.addr, align 8 + %cmp26 = fcmp oeq double %13, 0.000000e+00 + %14 = load double, double* %x.addr, align 8 + br i1 %cmp26, label %if.then28, label %if.end34 + +if.then28: ; preds = %if.end25 + %div = fdiv double 1.000000e+00, %14 + %cmp29 = fcmp olt double %div, 0.000000e+00 + br i1 %cmp29, label %if.then31, label %if.end33 + +if.then31: ; preds = %if.then28 + %arraydecay32 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 45, i8* %arraydecay32, align 1 + br label %if.end33 + +if.end33: ; preds = %if.then31, %if.then28 + store i32 -1, i32* %exp, align 4 + br label %GENERATE_DIGITS + +if.end34: ; preds = %if.end25 + %cmp35 = fcmp olt double %14, 0.000000e+00 + br i1 %cmp35, label %if.then37, label %if.end39 + +if.then37: ; preds = %if.end34 + %arraydecay38 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 45, i8* %arraydecay38, align 1 + %15 = load double, double* %x.addr, align 8 + %fneg = fneg double %15 + store double %fneg, double* %x.addr, align 8 + br label %if.end39 + +if.end39: ; preds = %if.then37, %if.end34 + %16 = load double, double* %x.addr, align 8 + %17 = load double, double* %x.addr, align 8 + %div40 = fdiv double %17, 4.000000e+00 + %cmp41 = fcmp oeq double %16, %div40 + br i1 %cmp41, label %INF_NAN, label %if.end58 + +INF_NAN: ; preds = %if.end39, %if.then23 + %18 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %18, i32 0, i32 4 + store i32 32, i32* %pad, align 4 + %arraydecay44 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + %add.ptr45 = getelementptr inbounds i64, i64* %arraydecay44, i64 6 + store i64* %add.ptr45, i64** %ppc, align 8 + %arrayidx46 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 3 + store i64 112, i64* %arrayidx46, align 8 + %arrayidx47 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 4 + store i64 3, i64* %arrayidx47, align 16 + %19 = load i8, i8* %mode, align 1 + %conv48 = sext i8 %19 to i32 + %cmp49 = icmp slt i32 %conv48, 97 + br i1 %cmp49, label %if.then51, label %if.end54 + +if.then51: ; preds = %INF_NAN + %arrayidx52 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + %20 = load i64, i64* %arrayidx52, align 8 + %add53 = add nsw i64 %20, 4 + store i64 %add53, i64* %arrayidx52, align 8 + br label %if.end54 + +if.end54: ; preds = %if.then51, %INF_NAN + %arrayidx55 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + %21 = load i64, i64* %arrayidx55, align 8 + %add.ptr56 = getelementptr inbounds i8, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 0), i64 %21 + %22 = ptrtoint i8* %add.ptr56 to i64 + %arrayidx57 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 %22, i64* %arrayidx57, align 8 + br label %EXIT_SPECIAL + +if.end58: ; preds = %if.end39 + store i32 8, i32* %exp, align 4 + store i32 9, i32* %i, align 4 + store i32 256, i32* %j, align 4 + store i32 0, i32* %exp_neg, align 4 + %23 = load double, double* %x.addr, align 8 + %cmp59 = fcmp olt double %23, 1.000000e+08 + br i1 %cmp59, label %if.then61, label %if.end62 + +if.then61: ; preds = %if.end58 + store i32 1, i32* %exp_neg, align 4 + br label %if.end62 + +if.end62: ; preds = %if.then61, %if.end58 + br label %do.body + +do.body: ; preds = %if.end85, %if.end62 + %24 = load i32, i32* %i, align 4 + %dec = add nsw i32 %24, -1 + store i32 %dec, i32* %i, align 4 + %25 = load i32, i32* %exp_neg, align 4 + %tobool63 = icmp ne i32 %25, 0 + %26 = load double, double* %x.addr, align 8 + %27 = load i32, i32* %i, align 4 + %idxprom = sext i32 %27 to i64 + %arrayidx65 = getelementptr inbounds [9 x double], [9 x double]* @exp10_table, i64 0, i64 %idxprom + %28 = load double, double* %arrayidx65, align 8 + br i1 %tobool63, label %if.then64, label %if.else73 + +if.then64: ; preds = %do.body + %mul = fmul double %26, %28 + %cmp66 = fcmp olt double %mul, 1.000000e+09 + br i1 %cmp66, label %if.then68, label %if.end85 + +if.then68: ; preds = %if.then64 + %29 = load i32, i32* %i, align 4 + %idxprom69 = sext i32 %29 to i64 + %arrayidx70 = getelementptr inbounds [9 x double], [9 x double]* @exp10_table, i64 0, i64 %idxprom69 + %30 = load double, double* %arrayidx70, align 8 + %31 = load double, double* %x.addr, align 8 + %mul71 = fmul double %31, %30 + store double %mul71, double* %x.addr, align 8 + %32 = load i32, i32* %j, align 4 + %33 = load i32, i32* %exp, align 4 + %sub = sub nsw i32 %33, %32 + store i32 %sub, i32* %exp, align 4 + br label %if.end85 + +if.else73: ; preds = %do.body + %div76 = fdiv double %26, %28 + %cmp77 = fcmp oge double %div76, 1.000000e+08 + br i1 %cmp77, label %if.then79, label %if.end85 + +if.then79: ; preds = %if.else73 + %34 = load i32, i32* %i, align 4 + %idxprom80 = sext i32 %34 to i64 + %arrayidx81 = getelementptr inbounds [9 x double], [9 x double]* @exp10_table, i64 0, i64 %idxprom80 + %35 = load double, double* %arrayidx81, align 8 + %36 = load double, double* %x.addr, align 8 + %div82 = fdiv double %36, %35 + store double %div82, double* %x.addr, align 8 + %37 = load i32, i32* %j, align 4 + %38 = load i32, i32* %exp, align 4 + %add83 = add nsw i32 %38, %37 + store i32 %add83, i32* %exp, align 4 + br label %if.end85 + +if.end85: ; preds = %if.else73, %if.then79, %if.then64, %if.then68 + %39 = load i32, i32* %j, align 4 + %shr = ashr i32 %39, 1 + store i32 %shr, i32* %j, align 4 + %40 = load i32, i32* %i, align 4 + %tobool86 = icmp ne i32 %40, 0 + br i1 %tobool86, label %do.body, label %do.end + +do.end: ; preds = %if.end85 + %41 = load double, double* %x.addr, align 8 + %cmp87 = fcmp oge double %41, 1.000000e+09 + br i1 %cmp87, label %if.then89, label %GENERATE_DIGITS + +if.then89: ; preds = %do.end + %42 = load double, double* getelementptr inbounds ([9 x double], [9 x double]* @exp10_table, i64 0, i64 0), align 16 + %43 = load double, double* %x.addr, align 8 + %div90 = fdiv double %43, %42 + store double %div90, double* %x.addr, align 8 + %44 = load i32, i32* %exp, align 4 + %inc = add nsw i32 %44, 1 + store i32 %inc, i32* %exp, align 4 + br label %GENERATE_DIGITS + +GENERATE_DIGITS: ; preds = %do.end, %if.then89, %if.end33 + %arraydecay94 = getelementptr inbounds [21 x i8], [21 x i8]* %buf, i64 0, i64 0 + %add.ptr95 = getelementptr inbounds i8, i8* %arraydecay94, i64 2 + store i8* %add.ptr95, i8** %s, align 8 + store i32 0, i32* %i92, align 4 + br label %do.body96 + +do.body96: ; preds = %do.cond114, %GENERATE_DIGITS + %45 = load double, double* %x.addr, align 8 + %conv97 = fptoui double %45 to i64 + store i64 %conv97, i64* %digit_block, align 8 + %46 = load double, double* %x.addr, align 8 + %47 = load i64, i64* %digit_block, align 8 + %conv98 = uitofp i64 %47 to double + %sub99 = fsub double %46, %conv98 + %mul100 = fmul double %sub99, 1.000000e+09 + store double %mul100, double* %x.addr, align 8 + %48 = load i8*, i8** %s, align 8 + %add.ptr101 = getelementptr inbounds i8, i8* %48, i64 9 + store i8* %add.ptr101, i8** %s, align 8 + store i32 0, i32* %j93, align 4 + br label %do.body102 + +do.body102: ; preds = %do.body102, %do.body96 + %49 = load i64, i64* %digit_block, align 8 + %rem = urem i64 %49, 10 + %add103 = add i64 48, %rem + %conv104 = trunc i64 %add103 to i8 + %50 = load i8*, i8** %s, align 8 + %51 = load i32, i32* %j93, align 4 + %inc105 = add nsw i32 %51, 1 + store i32 %inc105, i32* %j93, align 4 + %sub106 = sub nsw i32 0, %inc105 + %idxprom107 = sext i32 %sub106 to i64 + %arrayidx108 = getelementptr inbounds i8, i8* %50, i64 %idxprom107 + store i8 %conv104, i8* %arrayidx108, align 1 + %52 = load i64, i64* %digit_block, align 8 + %div109 = udiv i64 %52, 10 + store i64 %div109, i64* %digit_block, align 8 + %53 = load i32, i32* %j93, align 4 + %cmp111 = icmp slt i32 %53, 9 + br i1 %cmp111, label %do.body102, label %do.cond114 + +do.cond114: ; preds = %do.body102 + %54 = load i32, i32* %i92, align 4 + %inc115 = add nsw i32 %54, 1 + store i32 %inc115, i32* %i92, align 4 + %cmp116 = icmp slt i32 %inc115, 2 + br i1 %cmp116, label %do.body96, label %do.end118 + +do.end118: ; preds = %do.cond114 + %55 = load i8, i8* %mode, align 1 + %conv119 = sext i8 %55 to i32 + %cmp120 = icmp slt i32 %conv119, 97 + br i1 %cmp120, label %if.then122, label %if.end130 + +if.then122: ; preds = %do.end118 + %arraydecay123 = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + %56 = load i8, i8* %arraydecay123, align 16 + %conv124 = sext i8 %56 to i32 + %sub125 = sub nsw i32 %conv124, 32 + %conv126 = trunc i32 %sub125 to i8 + store i8 %conv126, i8* %arraydecay123, align 16 + %57 = load i8, i8* %mode, align 1 + %conv127 = sext i8 %57 to i32 + %add128 = add nsw i32 %conv127, 32 + %conv129 = trunc i32 %add128 to i8 + store i8 %conv129, i8* %mode, align 1 + br label %if.end130 + +if.end130: ; preds = %if.then122, %do.end118 + %58 = load i8, i8* %mode, align 1 + store i8 %58, i8* %o_mode, align 1 + %59 = load i8, i8* %mode, align 1 + %conv131 = sext i8 %59 to i32 + %cmp132 = icmp eq i32 %conv131, 103 + %60 = load i32, i32* %preci, align 4 + %cmp134 = icmp sgt i32 %60, 0 + %or.cond = and i1 %cmp132, %cmp134 + br i1 %or.cond, label %if.then136, label %if.end138 + +if.then136: ; preds = %if.end130 + %61 = load i32, i32* %preci, align 4 + %dec137 = add nsw i32 %61, -1 + store i32 %dec137, i32* %preci, align 4 + br label %if.end138 + +if.end138: ; preds = %if.then136, %if.end130 + %62 = load i32, i32* %preci, align 4 + store i32 %62, i32* %round, align 4 + %63 = load i8, i8* %mode, align 1 + %conv139 = sext i8 %63 to i32 + %cmp140 = icmp eq i32 %conv139, 102 + br i1 %cmp140, label %if.then142, label %if.end149 + +if.then142: ; preds = %if.end138 + %64 = load i32, i32* %exp, align 4 + %65 = load i32, i32* %round, align 4 + %add143 = add nsw i32 %65, %64 + store i32 %add143, i32* %round, align 4 + %66 = load i32, i32* %round, align 4 + %cmp144 = icmp slt i32 %66, -1 + br i1 %cmp144, label %if.then146, label %if.end149 + +if.then146: ; preds = %if.then142 + %arraydecay147 = getelementptr inbounds [21 x i8], [21 x i8]* %buf, i64 0, i64 0 + %call = call i8* @memset(i8* %arraydecay147, i32 48, i64 17) #19 + store i32 -1, i32* %exp, align 4 + store i32 -1, i32* %round, align 4 + br label %if.end149 + +if.end149: ; preds = %if.then142, %if.then146, %if.end138 + %arraydecay150 = getelementptr inbounds [21 x i8], [21 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay150, i8** %s, align 8 + %67 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %67, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + store i8 0, i8* %67, align 1 + %68 = load i8*, i8** %s, align 8 + store i8 48, i8* %68, align 1 + store i32 0, i32* %i151, align 4 + %69 = load i8*, i8** %s, align 8 + %add.ptr152 = getelementptr inbounds i8, i8* %69, i64 17 + %add.ptr153 = getelementptr inbounds i8, i8* %add.ptr152, i64 1 + store i8* %add.ptr153, i8** %e, align 8 + %70 = load i32, i32* %round, align 4 + %cmp154 = icmp slt i32 %70, 17 + br i1 %cmp154, label %if.then156, label %if.end164 + +if.then156: ; preds = %if.end149 + %71 = load i8*, i8** %s, align 8 + %72 = load i32, i32* %round, align 4 + %idx.ext = sext i32 %72 to i64 + %add.ptr157 = getelementptr inbounds i8, i8* %71, i64 %idx.ext + %add.ptr158 = getelementptr inbounds i8, i8* %add.ptr157, i64 2 + store i8* %add.ptr158, i8** %e, align 8 + %73 = load i8*, i8** %e, align 8 + %74 = load i8, i8* %73, align 1 + %conv159 = sext i8 %74 to i32 + %cmp160 = icmp sge i32 %conv159, 53 + br i1 %cmp160, label %if.then162, label %if.end164 + +if.then162: ; preds = %if.then156 + store i32 1, i32* %i151, align 4 + br label %if.end164 + +if.end164: ; preds = %if.then156, %if.then162, %if.end149 + br label %do.body165 + +do.body165: ; preds = %do.body165, %lor.rhs, %if.end164 + %75 = load i32, i32* %i151, align 4 + %76 = load i8*, i8** %e, align 8 + %incdec.ptr166 = getelementptr inbounds i8, i8* %76, i32 -1 + store i8* %incdec.ptr166, i8** %e, align 8 + %77 = load i8, i8* %incdec.ptr166, align 1 + %conv167 = sext i8 %77 to i32 + %add168 = add nsw i32 %conv167, %75 + %conv169 = trunc i32 %add168 to i8 + store i8 %conv169, i8* %incdec.ptr166, align 1 + %78 = load i8*, i8** %e, align 8 + %79 = load i8, i8* %78, align 1 + %conv171 = sext i8 %79 to i32 + %cmp172 = icmp eq i32 %conv171, 48 + br i1 %cmp172, label %do.body165, label %lor.rhs + +lor.rhs: ; preds = %do.body165 + %80 = load i8*, i8** %e, align 8 + %81 = load i8, i8* %80, align 1 + %conv174 = sext i8 %81 to i32 + %cmp175 = icmp sgt i32 %conv174, 57 + br i1 %cmp175, label %do.body165, label %do.end177 + +do.end177: ; preds = %lor.rhs + %82 = load i32, i32* %exp, align 4 + store i32 %82, i32* %o_exp, align 4 + %83 = load i8*, i8** %e, align 8 + %84 = load i8*, i8** %s, align 8 + %cmp178 = icmp ule i8* %83, %84 + br i1 %cmp178, label %if.then180, label %if.else182 + +if.then180: ; preds = %do.end177 + %85 = load i32, i32* %o_exp, align 4 + %inc181 = add nsw i32 %85, 1 + store i32 %inc181, i32* %o_exp, align 4 + %86 = load i8*, i8** %s, align 8 + store i8* %86, i8** %e, align 8 + br label %if.end184 + +if.else182: ; preds = %do.end177 + %87 = load i8*, i8** %s, align 8 + %incdec.ptr183 = getelementptr inbounds i8, i8* %87, i32 1 + store i8* %incdec.ptr183, i8** %s, align 8 + br label %if.end184 + +if.end184: ; preds = %if.else182, %if.then180 + %88 = load i8*, i8** %e, align 8 + %incdec.ptr185 = getelementptr inbounds i8, i8* %88, i32 1 + store i8* %incdec.ptr185, i8** %e, align 8 + store i8 0, i8* %incdec.ptr185, align 1 + %89 = load i8, i8* %mode, align 1 + %conv186 = sext i8 %89 to i32 + %cmp187 = icmp eq i32 %conv186, 103 + %90 = load i32, i32* %o_exp, align 4 + %cmp190 = icmp sge i32 %90, -4 + %or.cond1 = and i1 %cmp187, %cmp190 + br i1 %or.cond1, label %land.lhs.true192, label %if.end197 + +land.lhs.true192: ; preds = %if.end184 + %91 = load i32, i32* %o_exp, align 4 + %92 = load i32, i32* %round, align 4 + %cmp193 = icmp sle i32 %91, %92 + br i1 %cmp193, label %if.then195, label %if.end197 + +if.then195: ; preds = %land.lhs.true192 + store i8 102, i8* %mode, align 1 + %93 = load i32, i32* %round, align 4 + %94 = load i32, i32* %o_exp, align 4 + %sub196 = sub nsw i32 %93, %94 + store i32 %sub196, i32* %preci, align 4 + br label %if.end197 + +if.end197: ; preds = %if.then195, %land.lhs.true192, %if.end184 + %95 = load i32, i32* %o_exp, align 4 + store i32 %95, i32* %exp, align 4 + %96 = load i8, i8* %mode, align 1 + %conv198 = sext i8 %96 to i32 + %cmp199 = icmp ne i32 %conv198, 102 + br i1 %cmp199, label %if.then201, label %if.end202 + +if.then201: ; preds = %if.end197 + store i32 0, i32* %o_exp, align 4 + br label %if.end202 + +if.end202: ; preds = %if.then201, %if.end197 + %97 = load i32, i32* %o_exp, align 4 + %cmp203 = icmp slt i32 %97, 0 + br i1 %cmp203, label %if.then205, label %if.end207 + +if.then205: ; preds = %if.end202 + %98 = load i8*, i8** %s, align 8 + %incdec.ptr206 = getelementptr inbounds i8, i8* %98, i32 -1 + store i8* %incdec.ptr206, i8** %s, align 8 + store i8 48, i8* %incdec.ptr206, align 1 + br label %if.end207 + +if.end207: ; preds = %if.then205, %if.end202 + %arrayidx208 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 3 + store i64 176, i64* %arrayidx208, align 8 + %arrayidx209 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 4 + store i64 1, i64* %arrayidx209, align 16 + %arraydecay210 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %add.ptr211 = getelementptr inbounds i8, i8* %arraydecay210, i64 4 + %99 = ptrtoint i8* %add.ptr211 to i64 + %arrayidx212 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 %99, i64* %arrayidx212, align 8 + %100 = load i8*, i8** %s, align 8 + %incdec.ptr213 = getelementptr inbounds i8, i8* %100, i32 1 + store i8* %incdec.ptr213, i8** %s, align 8 + %101 = load i8, i8* %100, align 1 + %arrayidx214 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 4 + store i8 %101, i8* %arrayidx214, align 1 + %arrayidx215 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 5 + store i8 0, i8* %arrayidx215, align 1 + %arraydecay216 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + %add.ptr217 = getelementptr inbounds i64, i64* %arraydecay216, i64 6 + store i64* %add.ptr217, i64** %ppc, align 8 + %102 = load i8*, i8** %e, align 8 + %103 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %102 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %103 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %conv219 = trunc i64 %sub.ptr.sub to i32 + store i32 %conv219, i32* %i218, align 4 + %104 = load i32, i32* %o_exp, align 4 + %cmp220 = icmp sge i32 %104, 0 + br i1 %cmp220, label %if.then222, label %if.end253 + +if.then222: ; preds = %if.end207 + %105 = load i64*, i64** %ppc, align 8 + %arrayidx223 = getelementptr inbounds i64, i64* %105, i64 0 + store i64 112, i64* %arrayidx223, align 8 + %106 = load i8*, i8** %s, align 8 + %107 = ptrtoint i8* %106 to i64 + %108 = load i64*, i64** %ppc, align 8 + %arrayidx224 = getelementptr inbounds i64, i64* %108, i64 2 + store i64 %107, i64* %arrayidx224, align 8 + %109 = load i32, i32* %o_exp, align 4 + %110 = load i32, i32* %i218, align 4 + %cmp225 = icmp sge i32 %109, %110 + br i1 %cmp225, label %if.then227, label %if.else241 + +if.then227: ; preds = %if.then222 + %111 = load i32, i32* %i218, align 4 + %conv228 = sext i32 %111 to i64 + %112 = load i64*, i64** %ppc, align 8 + %arrayidx229 = getelementptr inbounds i64, i64* %112, i64 1 + store i64 %conv228, i64* %arrayidx229, align 8 + %113 = load i64*, i64** %ppc, align 8 + %add.ptr230 = getelementptr inbounds i64, i64* %113, i64 3 + store i64* %add.ptr230, i64** %ppc, align 8 + %114 = load i32, i32* %i218, align 4 + %115 = load i32, i32* %o_exp, align 4 + %sub231 = sub nsw i32 %115, %114 + store i32 %sub231, i32* %o_exp, align 4 + store i32 0, i32* %i218, align 4 + %116 = load i32, i32* %o_exp, align 4 + %cmp232 = icmp sgt i32 %116, 0 + br i1 %cmp232, label %if.then234, label %if.end252 + +if.then234: ; preds = %if.then227 + %117 = load i64*, i64** %ppc, align 8 + %arrayidx235 = getelementptr inbounds i64, i64* %117, i64 0 + store i64 176, i64* %arrayidx235, align 8 + %118 = load i32, i32* %o_exp, align 4 + %conv236 = sext i32 %118 to i64 + %119 = load i64*, i64** %ppc, align 8 + %arrayidx237 = getelementptr inbounds i64, i64* %119, i64 1 + store i64 %conv236, i64* %arrayidx237, align 8 + %120 = load i64*, i64** %ppc, align 8 + %arrayidx238 = getelementptr inbounds i64, i64* %120, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx238, align 8 + %121 = load i64*, i64** %ppc, align 8 + %add.ptr239 = getelementptr inbounds i64, i64* %121, i64 3 + store i64* %add.ptr239, i64** %ppc, align 8 + br label %if.end252 + +if.else241: ; preds = %if.then222 + %122 = load i32, i32* %o_exp, align 4 + %cmp242 = icmp sgt i32 %122, 0 + br i1 %cmp242, label %if.then244, label %if.end252 + +if.then244: ; preds = %if.else241 + %123 = load i32, i32* %o_exp, align 4 + %conv245 = sext i32 %123 to i64 + %124 = load i64*, i64** %ppc, align 8 + %arrayidx246 = getelementptr inbounds i64, i64* %124, i64 1 + store i64 %conv245, i64* %arrayidx246, align 8 + %125 = load i64*, i64** %ppc, align 8 + %add.ptr247 = getelementptr inbounds i64, i64* %125, i64 3 + store i64* %add.ptr247, i64** %ppc, align 8 + %126 = load i32, i32* %o_exp, align 4 + %127 = load i8*, i8** %s, align 8 + %idx.ext248 = sext i32 %126 to i64 + %add.ptr249 = getelementptr inbounds i8, i8* %127, i64 %idx.ext248 + store i8* %add.ptr249, i8** %s, align 8 + %128 = load i32, i32* %o_exp, align 4 + %129 = load i32, i32* %i218, align 4 + %sub250 = sub nsw i32 %129, %128 + store i32 %sub250, i32* %i218, align 4 + br label %if.end252 + +if.end252: ; preds = %if.else241, %if.then244, %if.then227, %if.then234 + store i32 -1, i32* %o_exp, align 4 + br label %if.end253 + +if.end253: ; preds = %if.end252, %if.end207 + %130 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %alt = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %130, i32 0, i32 3 + %bf.load254 = load i32, i32* %alt, align 4 + %bf.lshr255 = lshr i32 %bf.load254, 4 + %bf.clear256 = and i32 %bf.lshr255, 1 + %tobool257 = icmp ne i32 %bf.clear256, 0 + %131 = load i32, i32* %i218, align 4 + %tobool258 = icmp ne i32 %131, 0 + %or.cond2 = or i1 %tobool257, %tobool258 + br i1 %or.cond2, label %if.then266, label %lor.lhs.false259 + +lor.lhs.false259: ; preds = %if.end253 + %132 = load i8, i8* %o_mode, align 1 + %conv260 = sext i8 %132 to i32 + %cmp261 = icmp ne i32 %conv260, 103 + %133 = load i32, i32* %preci, align 4 + %cmp264 = icmp sgt i32 %133, 0 + %or.cond3 = and i1 %cmp261, %cmp264 + br i1 %or.cond3, label %if.then266, label %if.end281 + +if.then266: ; preds = %lor.lhs.false259, %if.end253 + %134 = load i64*, i64** %ppc, align 8 + %arrayidx267 = getelementptr inbounds i64, i64* %134, i64 0 + store i64 112, i64* %arrayidx267, align 8 + %135 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %wide = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %135, i32 0, i32 3 + %bf.load268 = load i32, i32* %wide, align 4 + %bf.lshr269 = lshr i32 %bf.load268, 7 + %bf.clear270 = and i32 %bf.lshr269, 1 + %tobool271 = icmp ne i32 %bf.clear270, 0 + br i1 %tobool271, label %if.then272, label %if.else275 + +if.then272: ; preds = %if.then266 + %136 = load i64*, i64** %ppc, align 8 + %arrayidx273 = getelementptr inbounds i64, i64* %136, i64 1 + store i64 1, i64* %arrayidx273, align 8 + %137 = load i64*, i64** %ppc, align 8 + %arrayidx274 = getelementptr inbounds i64, i64* %137, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 16) to i64), i64* %arrayidx274, align 8 + br label %if.end279 + +if.else275: ; preds = %if.then266 + %138 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %decimal_point_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %138, i32 0, i32 26 + %139 = load i32, i32* %decimal_point_len, align 8 + %conv276 = sext i32 %139 to i64 + %140 = load i64*, i64** %ppc, align 8 + %arrayidx277 = getelementptr inbounds i64, i64* %140, i64 1 + store i64 %conv276, i64* %arrayidx277, align 8 + %141 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %decimal_point = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %141, i32 0, i32 39 + %142 = load i8*, i8** %decimal_point, align 8 + %143 = ptrtoint i8* %142 to i64 + %144 = load i64*, i64** %ppc, align 8 + %arrayidx278 = getelementptr inbounds i64, i64* %144, i64 2 + store i64 %143, i64* %arrayidx278, align 8 + br label %if.end279 + +if.end279: ; preds = %if.else275, %if.then272 + %145 = load i64*, i64** %ppc, align 8 + %add.ptr280 = getelementptr inbounds i64, i64* %145, i64 3 + store i64* %add.ptr280, i64** %ppc, align 8 + br label %if.end281 + +if.end281: ; preds = %if.end279, %lor.lhs.false259 + %146 = load i32, i32* %o_exp, align 4 + %inc282 = add nsw i32 %146, 1 + store i32 %inc282, i32* %o_exp, align 4 + %cmp283 = icmp slt i32 %inc282, 0 + br i1 %cmp283, label %if.then285, label %if.end292 + +if.then285: ; preds = %if.end281 + %147 = load i64*, i64** %ppc, align 8 + %arrayidx286 = getelementptr inbounds i64, i64* %147, i64 0 + store i64 176, i64* %arrayidx286, align 8 + %148 = load i32, i32* %o_exp, align 4 + %sub287 = sub nsw i32 0, %148 + %conv288 = sext i32 %sub287 to i64 + %149 = load i64*, i64** %ppc, align 8 + %arrayidx289 = getelementptr inbounds i64, i64* %149, i64 1 + store i64 %conv288, i64* %arrayidx289, align 8 + %150 = load i64*, i64** %ppc, align 8 + %arrayidx290 = getelementptr inbounds i64, i64* %150, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx290, align 8 + %151 = load i64*, i64** %ppc, align 8 + %add.ptr291 = getelementptr inbounds i64, i64* %151, i64 3 + store i64* %add.ptr291, i64** %ppc, align 8 + br label %if.end292 + +if.end292: ; preds = %if.then285, %if.end281 + %152 = load i32, i32* %i218, align 4 + %tobool293 = icmp ne i32 %152, 0 + br i1 %tobool293, label %if.then294, label %if.end300 + +if.then294: ; preds = %if.end292 + %153 = load i64*, i64** %ppc, align 8 + %arrayidx295 = getelementptr inbounds i64, i64* %153, i64 0 + store i64 112, i64* %arrayidx295, align 8 + %154 = load i32, i32* %i218, align 4 + %conv296 = sext i32 %154 to i64 + %155 = load i64*, i64** %ppc, align 8 + %arrayidx297 = getelementptr inbounds i64, i64* %155, i64 1 + store i64 %conv296, i64* %arrayidx297, align 8 + %156 = load i8*, i8** %s, align 8 + %157 = ptrtoint i8* %156 to i64 + %158 = load i64*, i64** %ppc, align 8 + %arrayidx298 = getelementptr inbounds i64, i64* %158, i64 2 + store i64 %157, i64* %arrayidx298, align 8 + %159 = load i64*, i64** %ppc, align 8 + %add.ptr299 = getelementptr inbounds i64, i64* %159, i64 3 + store i64* %add.ptr299, i64** %ppc, align 8 + br label %if.end300 + +if.end300: ; preds = %if.then294, %if.end292 + %160 = load i8, i8* %o_mode, align 1 + %conv301 = sext i8 %160 to i32 + %cmp302 = icmp ne i32 %conv301, 103 + br i1 %cmp302, label %if.then310, label %lor.lhs.false304 + +lor.lhs.false304: ; preds = %if.end300 + %161 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %alt305 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %161, i32 0, i32 3 + %bf.load306 = load i32, i32* %alt305, align 4 + %bf.lshr307 = lshr i32 %bf.load306, 4 + %bf.clear308 = and i32 %bf.lshr307, 1 + %tobool309 = icmp ne i32 %bf.clear308, 0 + br i1 %tobool309, label %if.then310, label %if.end322 + +if.then310: ; preds = %lor.lhs.false304, %if.end300 + %162 = load i32, i32* %o_exp, align 4 + %163 = load i32, i32* %i218, align 4 + %sub311 = sub nsw i32 %163, %162 + store i32 %sub311, i32* %i218, align 4 + %164 = load i32, i32* %i218, align 4 + %165 = load i32, i32* %preci, align 4 + %cmp312 = icmp slt i32 %164, %165 + br i1 %cmp312, label %if.then314, label %if.end322 + +if.then314: ; preds = %if.then310 + %166 = load i32, i32* %preci, align 4 + %167 = load i32, i32* %i218, align 4 + %sub315 = sub nsw i32 %166, %167 + store i32 %sub315, i32* %i218, align 4 + %168 = load i64*, i64** %ppc, align 8 + %arrayidx316 = getelementptr inbounds i64, i64* %168, i64 0 + store i64 176, i64* %arrayidx316, align 8 + %169 = load i32, i32* %i218, align 4 + %conv317 = sext i32 %169 to i64 + %170 = load i64*, i64** %ppc, align 8 + %arrayidx318 = getelementptr inbounds i64, i64* %170, i64 1 + store i64 %conv317, i64* %arrayidx318, align 8 + %171 = load i64*, i64** %ppc, align 8 + %arrayidx319 = getelementptr inbounds i64, i64* %171, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx319, align 8 + %172 = load i64*, i64** %ppc, align 8 + %add.ptr320 = getelementptr inbounds i64, i64* %172, i64 3 + store i64* %add.ptr320, i64** %ppc, align 8 + br label %if.end322 + +if.end322: ; preds = %if.then310, %if.then314, %lor.lhs.false304 + %173 = load i8, i8* %mode, align 1 + %conv323 = sext i8 %173 to i32 + %cmp324 = icmp ne i32 %conv323, 102 + br i1 %cmp324, label %if.then326, label %EXIT_SPECIAL + +if.then326: ; preds = %if.end322 + %arraydecay327 = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + %add.ptr328 = getelementptr inbounds i8, i8* %arraydecay327, i64 16 + store i8* %add.ptr328, i8** %p, align 8 + %arraydecay330 = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + %174 = load i8, i8* %arraydecay330, align 16 + store i8 %174, i8* %exp_char, align 1 + store i8 43, i8* %exp_sign, align 1 + %175 = load i32, i32* %exp, align 4 + %cmp331 = icmp slt i32 %175, 0 + br i1 %cmp331, label %if.then333, label %if.end335 + +if.then333: ; preds = %if.then326 + store i8 45, i8* %exp_sign, align 1 + %176 = load i32, i32* %exp, align 4 + %sub334 = sub nsw i32 0, %176 + store i32 %sub334, i32* %exp, align 4 + br label %if.end335 + +if.end335: ; preds = %if.then333, %if.then326 + %177 = load i8*, i8** %p, align 8 + %incdec.ptr336 = getelementptr inbounds i8, i8* %177, i32 -1 + store i8* %incdec.ptr336, i8** %p, align 8 + store i8 0, i8* %incdec.ptr336, align 1 + store i32 2, i32* %j329, align 4 + br label %do.body337 + +do.body337: ; preds = %do.body337, %if.end335 + %178 = load i32, i32* %exp, align 4 + %rem338 = srem i32 %178, 10 + %add339 = add nsw i32 48, %rem338 + %conv340 = trunc i32 %add339 to i8 + %179 = load i8*, i8** %p, align 8 + %incdec.ptr341 = getelementptr inbounds i8, i8* %179, i32 -1 + store i8* %incdec.ptr341, i8** %p, align 8 + store i8 %conv340, i8* %incdec.ptr341, align 1 + %180 = load i32, i32* %exp, align 4 + %div342 = sdiv i32 %180, 10 + store i32 %div342, i32* %exp, align 4 + %181 = load i32, i32* %j329, align 4 + %inc344 = add nsw i32 %181, 1 + store i32 %inc344, i32* %j329, align 4 + %cmp345 = icmp slt i32 %inc344, 4 + %182 = load i32, i32* %exp, align 4 + %tobool348 = icmp ne i32 %182, 0 + %183 = select i1 %cmp345, i1 true, i1 %tobool348 + br i1 %183, label %do.body337, label %do.end350 + +do.end350: ; preds = %do.body337 + %184 = load i8, i8* %exp_sign, align 1 + %185 = load i8*, i8** %p, align 8 + %incdec.ptr351 = getelementptr inbounds i8, i8* %185, i32 -1 + store i8* %incdec.ptr351, i8** %p, align 8 + store i8 %184, i8* %incdec.ptr351, align 1 + %186 = load i8, i8* %exp_char, align 1 + %187 = load i8*, i8** %p, align 8 + %incdec.ptr352 = getelementptr inbounds i8, i8* %187, i32 -1 + store i8* %incdec.ptr352, i8** %p, align 8 + store i8 %186, i8* %incdec.ptr352, align 1 + %188 = load i64*, i64** %ppc, align 8 + %arrayidx353 = getelementptr inbounds i64, i64* %188, i64 0 + store i64 112, i64* %arrayidx353, align 8 + %189 = load i32, i32* %j329, align 4 + %conv354 = sext i32 %189 to i64 + %190 = load i64*, i64** %ppc, align 8 + %arrayidx355 = getelementptr inbounds i64, i64* %190, i64 1 + store i64 %conv354, i64* %arrayidx355, align 8 + %191 = load i8*, i8** %p, align 8 + %192 = ptrtoint i8* %191 to i64 + %193 = load i64*, i64** %ppc, align 8 + %arrayidx356 = getelementptr inbounds i64, i64* %193, i64 2 + store i64 %192, i64* %arrayidx356, align 8 + %194 = load i64*, i64** %ppc, align 8 + %add.ptr357 = getelementptr inbounds i64, i64* %194, i64 3 + store i64* %add.ptr357, i64** %ppc, align 8 + br label %EXIT_SPECIAL + +EXIT_SPECIAL: ; preds = %if.end322, %do.end350, %if.end54 + %195 = load i64*, i64** %ppc, align 8 + store i64* %195, i64** %ppc_last, align 8 + %arraydecay360 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + %add.ptr361 = getelementptr inbounds i64, i64* %arraydecay360, i64 4 + store i64* %add.ptr361, i64** %ppc, align 8 + br label %do.body362 + +do.body362: ; preds = %do.body362, %EXIT_SPECIAL + %196 = load i64*, i64** %ppc, align 8 + %197 = load i64, i64* %196, align 8 + %198 = load i32, i32* %width, align 4 + %conv363 = sext i32 %198 to i64 + %sub364 = sub nsw i64 %conv363, %197 + %conv365 = trunc i64 %sub364 to i32 + store i32 %conv365, i32* %width, align 4 + %199 = load i64*, i64** %ppc, align 8 + %add.ptr366 = getelementptr inbounds i64, i64* %199, i64 3 + store i64* %add.ptr366, i64** %ppc, align 8 + %200 = load i64*, i64** %ppc, align 8 + %201 = load i64*, i64** %ppc_last, align 8 + %cmp368 = icmp ult i64* %200, %201 + br i1 %cmp368, label %do.body362, label %do.end370 + +do.end370: ; preds = %do.body362 + %arraydecay371 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + store i64* %arraydecay371, i64** %ppc, align 8 + %202 = load i64*, i64** %ppc, align 8 + %arrayidx372 = getelementptr inbounds i64, i64* %202, i64 0 + store i64 160, i64* %arrayidx372, align 8 + %arraydecay373 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %203 = load i8, i8* %arraydecay373, align 1 + %conv374 = sext i8 %203 to i32 + %cmp375 = icmp ne i32 %conv374, 0 + %conv376 = zext i1 %cmp375 to i32 + store i32 %conv376, i32* %i359, align 4 + %conv377 = sext i32 %conv376 to i64 + %204 = load i64*, i64** %ppc, align 8 + %arrayidx378 = getelementptr inbounds i64, i64* %204, i64 1 + store i64 %conv377, i64* %arrayidx378, align 8 + %arraydecay379 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %205 = ptrtoint i8* %arraydecay379 to i64 + %206 = load i64*, i64** %ppc, align 8 + %arrayidx380 = getelementptr inbounds i64, i64* %206, i64 2 + store i64 %205, i64* %arrayidx380, align 8 + %207 = load i32, i32* %i359, align 4 + %208 = load i32, i32* %width, align 4 + %sub381 = sub nsw i32 %208, %207 + store i32 %sub381, i32* %width, align 4 + %cmp382 = icmp sgt i32 %sub381, 0 + br i1 %cmp382, label %if.then384, label %if.end409 + +if.then384: ; preds = %do.end370 + %209 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %left = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %209, i32 0, i32 3 + %bf.load385 = load i32, i32* %left, align 4 + %bf.lshr386 = lshr i32 %bf.load385, 3 + %bf.clear387 = and i32 %bf.lshr386, 1 + %tobool388 = icmp ne i32 %bf.clear387, 0 + br i1 %tobool388, label %if.then389, label %if.else395 + +if.then389: ; preds = %if.then384 + %210 = load i64*, i64** %ppc_last, align 8 + %arrayidx390 = getelementptr inbounds i64, i64* %210, i64 0 + store i64 160, i64* %arrayidx390, align 8 + %211 = load i32, i32* %width, align 4 + %conv391 = sext i32 %211 to i64 + %212 = load i64*, i64** %ppc_last, align 8 + %arrayidx392 = getelementptr inbounds i64, i64* %212, i64 1 + store i64 %conv391, i64* %arrayidx392, align 8 + %213 = load i64*, i64** %ppc_last, align 8 + %arrayidx393 = getelementptr inbounds i64, i64* %213, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx393, align 8 + %214 = load i64*, i64** %ppc_last, align 8 + %add.ptr394 = getelementptr inbounds i64, i64* %214, i64 3 + store i64* %add.ptr394, i64** %ppc_last, align 8 + br label %if.end409 + +if.else395: ; preds = %if.then384 + %215 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %pad396 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %215, i32 0, i32 4 + %216 = load i32, i32* %pad396, align 4 + %cmp397 = icmp eq i32 %216, 48 + %217 = load i32, i32* %width, align 4 + %conv400 = sext i32 %217 to i64 + %218 = load i64*, i64** %ppc, align 8 + br i1 %cmp397, label %if.then399, label %if.else403 + +if.then399: ; preds = %if.else395 + %arrayidx401 = getelementptr inbounds i64, i64* %218, i64 4 + %219 = load i64, i64* %arrayidx401, align 8 + %add402 = add nsw i64 %219, %conv400 + store i64 %add402, i64* %arrayidx401, align 8 + br label %if.end409 + +if.else403: ; preds = %if.else395 + %arrayidx405 = getelementptr inbounds i64, i64* %218, i64 1 + %220 = load i64, i64* %arrayidx405, align 8 + %add406 = add nsw i64 %220, %conv400 + store i64 %add406, i64* %arrayidx405, align 8 + br label %if.end409 + +if.end409: ; preds = %if.then389, %if.else403, %if.then399, %do.end370 + store i32 0, i32* %cnt, align 4 + br label %do.body410 + +do.body410: ; preds = %if.end418, %if.end409 + %221 = load i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)*, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)** %fp_outfunc.addr, align 8 + %222 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + %223 = load i64*, i64** %ppc, align 8 + %224 = load i64, i64* %223, align 8 + %225 = load i64*, i64** %ppc, align 8 + %arrayidx411 = getelementptr inbounds i64, i64* %225, i64 1 + %226 = load i64, i64* %arrayidx411, align 8 + %227 = load i64*, i64** %ppc, align 8 + %arrayidx412 = getelementptr inbounds i64, i64* %227, i64 2 + %228 = load i64, i64* %arrayidx412, align 8 + %call413 = call i64 %221(%struct.__STDIO_FILE_STRUCT.568* %222, i64 %224, i64 %226, i64 %228) #18 + %229 = load i64*, i64** %ppc, align 8 + %arrayidx414 = getelementptr inbounds i64, i64* %229, i64 1 + %230 = load i64, i64* %arrayidx414, align 8 + %cmp415 = icmp ne i64 %call413, %230 + br i1 %cmp415, label %if.then417, label %if.end418 + +if.then417: ; preds = %do.body410 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end418: ; preds = %do.body410 + %231 = load i64*, i64** %ppc, align 8 + %arrayidx419 = getelementptr inbounds i64, i64* %231, i64 1 + %232 = load i64, i64* %arrayidx419, align 8 + %233 = load i32, i32* %cnt, align 4 + %conv420 = sext i32 %233 to i64 + %add421 = add nsw i64 %conv420, %232 + %conv422 = trunc i64 %add421 to i32 + store i32 %conv422, i32* %cnt, align 4 + %234 = load i64*, i64** %ppc, align 8 + %add.ptr423 = getelementptr inbounds i64, i64* %234, i64 3 + store i64* %add.ptr423, i64** %ppc, align 8 + %235 = load i64*, i64** %ppc, align 8 + %236 = load i64*, i64** %ppc_last, align 8 + %cmp425 = icmp ult i64* %235, %236 + br i1 %cmp425, label %do.body410, label %do.end427 + +do.end427: ; preds = %if.end418 + %237 = load i32, i32* %cnt, align 4 + %conv428 = sext i32 %237 to i64 + store i64 %conv428, i64* %retval, align 8 + br label %return + +return: ; preds = %do.end427, %if.then417 + %238 = load i64, i64* %retval, align 8 + ret i64 %238 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_load_inttype(i32 %desttype, i8* %src, i32 %uflag) #0 { +entry: + %retval = alloca i64, align 8 + %desttype.addr = alloca i32, align 4 + %src.addr = alloca i8*, align 8 + %uflag.addr = alloca i32, align 4 + %x = alloca i32, align 4 + %x24 = alloca i32, align 4 + store i32 %desttype, i32* %desttype.addr, align 4 + store i8* %src, i8** %src.addr, align 8 + store i32 %uflag, i32* %uflag.addr, align 4 + %0 = load i32, i32* %uflag.addr, align 4 + %cmp = icmp sge i32 %0, 0 + %1 = load i32, i32* %desttype.addr, align 4 + %and = and i32 %1, 3072 + %tobool = icmp ne i32 %and, 0 + %2 = load i8*, i8** %src.addr, align 8 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + br i1 %tobool, label %if.then1, label %if.end4 + +if.then1: ; preds = %if.then + %3 = bitcast i8* %2 to i64* + %4 = load i64, i64* %3, align 8 + store i64 %4, i64* %retval, align 8 + br label %return + +if.end4: ; preds = %if.then + %5 = bitcast i8* %2 to i32* + %6 = load i32, i32* %5, align 4 + store i32 %6, i32* %x, align 4 + %7 = load i32, i32* %desttype.addr, align 4 + %cmp5 = icmp eq i32 %7, 256 + br i1 %cmp5, label %if.then6, label %if.end8 + +if.then6: ; preds = %if.end4 + %8 = load i32, i32* %x, align 4 + %conv = trunc i32 %8 to i8 + %conv7 = zext i8 %conv to i32 + store i32 %conv7, i32* %x, align 4 + br label %if.end8 + +if.end8: ; preds = %if.then6, %if.end4 + %9 = load i32, i32* %desttype.addr, align 4 + %cmp9 = icmp eq i32 %9, 512 + br i1 %cmp9, label %if.then11, label %if.end14 + +if.then11: ; preds = %if.end8 + %10 = load i32, i32* %x, align 4 + %conv12 = trunc i32 %10 to i16 + %conv13 = zext i16 %conv12 to i32 + store i32 %conv13, i32* %x, align 4 + br label %if.end14 + +if.end14: ; preds = %if.then11, %if.end8 + %11 = load i32, i32* %x, align 4 + %conv15 = zext i32 %11 to i64 + store i64 %conv15, i64* %retval, align 8 + br label %return + +if.else: ; preds = %entry + br i1 %tobool, label %if.then18, label %if.end23 + +if.then18: ; preds = %if.else + %12 = bitcast i8* %2 to i64* + %13 = load i64, i64* %12, align 8 + store i64 %13, i64* %retval, align 8 + br label %return + +if.end23: ; preds = %if.else + %14 = bitcast i8* %2 to i32* + %15 = load i32, i32* %14, align 4 + store i32 %15, i32* %x24, align 4 + %16 = load i32, i32* %desttype.addr, align 4 + %cmp25 = icmp eq i32 %16, 256 + br i1 %cmp25, label %if.then27, label %if.end30 + +if.then27: ; preds = %if.end23 + %17 = load i32, i32* %x24, align 4 + %conv28 = trunc i32 %17 to i8 + %conv29 = sext i8 %conv28 to i32 + store i32 %conv29, i32* %x24, align 4 + br label %if.end30 + +if.end30: ; preds = %if.then27, %if.end23 + %18 = load i32, i32* %desttype.addr, align 4 + %cmp31 = icmp eq i32 %18, 512 + br i1 %cmp31, label %if.then33, label %if.end36 + +if.then33: ; preds = %if.end30 + %19 = load i32, i32* %x24, align 4 + %conv34 = trunc i32 %19 to i16 + %conv35 = sext i16 %conv34 to i32 + store i32 %conv35, i32* %x24, align 4 + br label %if.end36 + +if.end36: ; preds = %if.then33, %if.end30 + %20 = load i32, i32* %x24, align 4 + %conv37 = sext i32 %20 to i64 + store i64 %conv37, i64* %retval, align 8 + br label %return + +return: ; preds = %if.then18, %if.then1, %if.end36, %if.end14 + %21 = load i64, i64* %retval, align 8 + ret i64 %21 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_ppfs_init(%struct.ppfs_t.722* %ppfs, i8* %fmt0) #0 { +entry: + %retval = alloca i32, align 4 + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %fmt0.addr = alloca i8*, align 8 + %r = alloca i32, align 4 + %mbstate = alloca %struct.__mbstate_t.512, align 4 + %p = alloca i8*, align 8 + %p8 = alloca i32*, align 8 + %fmt = alloca i8*, align 8 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store i8* %fmt0, i8** %fmt0.addr, align 8 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %1 = bitcast %struct.ppfs_t.722* %0 to i8* + %call = call i8* @memset(i8* %1, i32 0, i64 176) #19 + %2 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %2, i32 0, i32 2 + %3 = load i32, i32* %maxposarg, align 4 + %dec = add nsw i32 %3, -1 + store i32 %dec, i32* %maxposarg, align 4 + %4 = load i8*, i8** %fmt0.addr, align 8 + %5 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %5, i32 0, i32 0 + store i8* %4, i8** %fmtpos, align 8 + %6 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %6, i32 0, i32 9 + %7 = load i8, i8* %encoding, align 8 + %conv = zext i8 %7 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %if.then, label %if.end7 + +if.then: ; preds = %entry + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %mbstate, i32 0, i32 0 + store i32 0, i32* %__mask, align 4 + %8 = load i8*, i8** %fmt0.addr, align 8 + store i8* %8, i8** %p, align 8 + %call2 = call i64 @mbsrtowcs(i32* null, i8** %p, i64 -1, %struct.__mbstate_t.512* %mbstate) #19 + %cmp3 = icmp eq i64 %call2, -1 + br i1 %cmp3, label %if.then5, label %if.end7 + +if.then5: ; preds = %if.then + %9 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos6 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %9, i32 0, i32 0 + store i8* getelementptr inbounds ([33 x i8], [33 x i8]* @_ppfs_init.invalid_mbs, i64 0, i64 0), i8** %fmtpos6, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end7: ; preds = %if.then, %entry + %10 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %10, i32 0, i32 6 + %arraydecay = getelementptr inbounds [9 x i32], [9 x i32]* %argtype, i64 0, i64 0 + store i32* %arraydecay, i32** %p8, align 8 + store i32 9, i32* %r, align 4 + br label %do.body + +do.body: ; preds = %do.body, %if.end7 + %11 = load i32*, i32** %p8, align 8 + %incdec.ptr = getelementptr inbounds i32, i32* %11, i32 1 + store i32* %incdec.ptr, i32** %p8, align 8 + store i32 8, i32* %11, align 4 + %12 = load i32, i32* %r, align 4 + %dec9 = add nsw i32 %12, -1 + store i32 %dec9, i32* %r, align 4 + %tobool = icmp ne i32 %dec9, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.body + %13 = load i8*, i8** %fmt0.addr, align 8 + store i8* %13, i8** %fmt, align 8 + br label %while.cond + +while.cond: ; preds = %if.end27, %do.end + %14 = load i8*, i8** %fmt, align 8 + %15 = load i8, i8* %14, align 1 + %tobool10 = icmp ne i8 %15, 0 + br i1 %tobool10, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %16 = load i8*, i8** %fmt, align 8 + %17 = load i8, i8* %16, align 1 + %conv11 = sext i8 %17 to i32 + %cmp12 = icmp eq i32 %conv11, 37 + br i1 %cmp12, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %while.body + %18 = load i8*, i8** %fmt, align 8 + %incdec.ptr14 = getelementptr inbounds i8, i8* %18, i32 1 + store i8* %incdec.ptr14, i8** %fmt, align 8 + %19 = load i8, i8* %incdec.ptr14, align 1 + %conv15 = sext i8 %19 to i32 + %cmp16 = icmp ne i32 %conv15, 37 + br i1 %cmp16, label %if.then18, label %if.else + +if.then18: ; preds = %land.lhs.true + %20 = load i8*, i8** %fmt, align 8 + %21 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos19 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %21, i32 0, i32 0 + store i8* %20, i8** %fmtpos19, align 8 + %22 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %call20 = call i32 @_ppfs_parsespec(%struct.ppfs_t.722* %22) #18 + store i32 %call20, i32* %r, align 4 + %cmp21 = icmp slt i32 %call20, 0 + br i1 %cmp21, label %if.then23, label %if.end24 + +if.then23: ; preds = %if.then18 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end24: ; preds = %if.then18 + %23 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos25 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %23, i32 0, i32 0 + %24 = load i8*, i8** %fmtpos25, align 8 + store i8* %24, i8** %fmt, align 8 + br label %if.end27 + +if.else: ; preds = %land.lhs.true, %while.body + %25 = load i8*, i8** %fmt, align 8 + %incdec.ptr26 = getelementptr inbounds i8, i8* %25, i32 1 + store i8* %incdec.ptr26, i8** %fmt, align 8 + br label %if.end27 + +if.end27: ; preds = %if.else, %if.end24 + br label %while.cond + +while.end: ; preds = %while.cond + %26 = load i8*, i8** %fmt0.addr, align 8 + %27 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos28 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %27, i32 0, i32 0 + store i8* %26, i8** %fmtpos28, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %while.end, %if.then23, %if.then5 + %28 = load i32, i32* %retval, align 4 + ret i32 %28 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_ppfs_parsespec(%struct.ppfs_t.722* %ppfs) #0 { +entry: + %retval = alloca i32, align 4 + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %fmt = alloca i8*, align 8 + %p = alloca i8*, align 8 + %preci = alloca i32, align 4 + %width = alloca i32, align 4 + %flags = alloca i32, align 4 + %dataargtype = alloca i32, align 4 + %i = alloca i32, align 4 + %dpoint = alloca i32, align 4 + %maxposarg = alloca i32, align 4 + %p_m_spec_chars = alloca i32, align 4 + %n = alloca i32, align 4 + %argtype = alloca [3 x i32], align 4 + %argnumber = alloca [3 x i32], align 4 + %buf = alloca [32 x i8], align 16 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store i32 -1, i32* %preci, align 4 + %arrayidx = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 0 + store i32 0, i32* %arrayidx, align 4 + %arrayidx1 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 1 + store i32 0, i32* %arrayidx1, align 4 + %arrayidx2 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 0 + store i32 8, i32* %arrayidx2, align 4 + %arrayidx3 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 1 + store i32 8, i32* %arrayidx3, align 4 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg4 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %0, i32 0, i32 2 + %1 = load i32, i32* %maxposarg4, align 4 + store i32 %1, i32* %maxposarg, align 4 + store i32 0, i32* %dpoint, align 4 + store i32 0, i32* %width, align 4 + %2 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %2, i32 0, i32 1 + %_flags = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 3 + %3 = load i32, i32* %_flags, align 4 + %and = and i32 %3, 128 + store i32 %and, i32* %flags, align 4 + %cmp = icmp eq i32 %and, 0 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %4 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %4, i32 0, i32 0 + %5 = load i8*, i8** %fmtpos, align 8 + store i8* %5, i8** %fmt, align 8 + br label %if.end20 + +if.else: ; preds = %entry + %arraydecay = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 1 + store i8* %add.ptr, i8** %fmt, align 8 + store i32 0, i32* %i, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %if.else + %6 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos5 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %6, i32 0, i32 0 + %7 = load i8*, i8** %fmtpos5, align 8 + %8 = bitcast i8* %7 to i32* + %9 = load i32, i32* %i, align 4 + %sub = sub nsw i32 %9, 1 + %idxprom = sext i32 %sub to i64 + %arrayidx6 = getelementptr inbounds i32, i32* %8, i64 %idxprom + %10 = load i32, i32* %arrayidx6, align 4 + %conv = trunc i32 %10 to i8 + %11 = load i32, i32* %i, align 4 + %idxprom7 = sext i32 %11 to i64 + %arrayidx8 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 %idxprom7 + store i8 %conv, i8* %arrayidx8, align 1 + %conv9 = sext i8 %conv to i32 + %12 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos10 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %12, i32 0, i32 0 + %13 = load i8*, i8** %fmtpos10, align 8 + %14 = bitcast i8* %13 to i32* + %15 = load i32, i32* %i, align 4 + %sub11 = sub nsw i32 %15, 1 + %idxprom12 = sext i32 %sub11 to i64 + %arrayidx13 = getelementptr inbounds i32, i32* %14, i64 %idxprom12 + %16 = load i32, i32* %arrayidx13, align 4 + %cmp14 = icmp ne i32 %conv9, %16 + br i1 %cmp14, label %if.then16, label %do.cond + +if.then16: ; preds = %do.body + store i32 -1, i32* %retval, align 4 + br label %return + +do.cond: ; preds = %do.body + %17 = load i32, i32* %i, align 4 + %inc = add nsw i32 %17, 1 + store i32 %inc, i32* %i, align 4 + %idxprom17 = sext i32 %17 to i64 + %arrayidx18 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 %idxprom17 + %18 = load i8, i8* %arrayidx18, align 1 + %tobool = icmp ne i8 %18, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %arrayidx19 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 31 + store i8 0, i8* %arrayidx19, align 1 + br label %if.end20 + +if.end20: ; preds = %do.end, %if.then + br label %width_precision + +width_precision: ; preds = %do.end89, %if.then129, %if.end20 + %19 = load i8*, i8** %fmt, align 8 + store i8* %19, i8** %p, align 8 + %20 = load i8*, i8** %fmt, align 8 + %21 = load i8, i8* %20, align 1 + %conv21 = sext i8 %21 to i32 + %cmp22 = icmp eq i32 %conv21, 42 + br i1 %cmp22, label %if.then24, label %if.end28 + +if.then24: ; preds = %width_precision + %22 = load i32, i32* %dpoint, align 4 + %sub25 = sub nsw i32 0, %22 + %idxprom26 = sext i32 %sub25 to i64 + %arrayidx27 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 %idxprom26 + store i32 0, i32* %arrayidx27, align 4 + %23 = load i8*, i8** %fmt, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %23, i32 1 + store i8* %incdec.ptr, i8** %fmt, align 8 + br label %if.end28 + +if.end28: ; preds = %if.then24, %width_precision + store i32 0, i32* %i, align 4 + br label %while.cond + +while.cond: ; preds = %if.end40, %if.end28 + %call = call i16** @__ctype_b_loc() #21 + %24 = load i16*, i16** %call, align 8 + %25 = load i8*, i8** %fmt, align 8 + %26 = load i8, i8* %25, align 1 + %conv29 = sext i8 %26 to i32 + %idxprom30 = sext i32 %conv29 to i64 + %arrayidx31 = getelementptr inbounds i16, i16* %24, i64 %idxprom30 + %27 = load i16, i16* %arrayidx31, align 2 + %conv32 = zext i16 %27 to i32 + %and33 = and i32 %conv32, 2048 + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %28 = load i32, i32* %i, align 4 + %cmp35 = icmp slt i32 %28, 4095 + br i1 %cmp35, label %if.then37, label %if.end40 + +if.then37: ; preds = %while.body + %29 = load i32, i32* %i, align 4 + %mul = mul nsw i32 %29, 10 + %30 = load i8*, i8** %fmt, align 8 + %31 = load i8, i8* %30, align 1 + %conv38 = sext i8 %31 to i32 + %sub39 = sub nsw i32 %conv38, 48 + %add = add nsw i32 %mul, %sub39 + store i32 %add, i32* %i, align 4 + br label %if.end40 + +if.end40: ; preds = %if.then37, %while.body + %32 = load i8*, i8** %fmt, align 8 + %incdec.ptr41 = getelementptr inbounds i8, i8* %32, i32 1 + store i8* %incdec.ptr41, i8** %fmt, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %33 = load i8*, i8** %p, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %33, i64 -1 + %34 = load i8, i8* %arrayidx42, align 1 + %conv43 = sext i8 %34 to i32 + %cmp44 = icmp eq i32 %conv43, 37 + br i1 %cmp44, label %if.then46, label %PREC_WIDTH + +if.then46: ; preds = %while.end + %35 = load i8*, i8** %fmt, align 8 + %36 = load i8, i8* %35, align 1 + %conv47 = sext i8 %36 to i32 + %cmp48 = icmp eq i32 %conv47, 36 + %37 = load i32, i32* %i, align 4 + %cmp50 = icmp sgt i32 %37, 0 + %or.cond = and i1 %cmp48, %cmp50 + br i1 %or.cond, label %if.then52, label %if.else63 + +if.then52: ; preds = %if.then46 + %38 = load i8*, i8** %fmt, align 8 + %incdec.ptr53 = getelementptr inbounds i8, i8* %38, i32 1 + store i8* %incdec.ptr53, i8** %fmt, align 8 + %39 = load i32, i32* %maxposarg, align 4 + %cmp54 = icmp eq i32 %39, 0 + br i1 %cmp54, label %if.then56, label %if.end57 + +if.then56: ; preds = %if.then52 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end57: ; preds = %if.then52 + %40 = load i32, i32* %i, align 4 + %arrayidx58 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 2 + store i32 %40, i32* %arrayidx58, align 4 + %41 = load i32, i32* %maxposarg, align 4 + %cmp59 = icmp sgt i32 %40, %41 + br i1 %cmp59, label %if.then61, label %if.end76 + +if.then61: ; preds = %if.end57 + %42 = load i32, i32* %i, align 4 + store i32 %42, i32* %maxposarg, align 4 + br label %if.end76 + +if.else63: ; preds = %if.then46 + %43 = load i32, i32* %maxposarg, align 4 + %cmp64 = icmp sgt i32 %43, 0 + br i1 %cmp64, label %if.then66, label %if.end67 + +if.then66: ; preds = %if.else63 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end67: ; preds = %if.else63 + store i32 0, i32* %maxposarg, align 4 + %44 = load i8*, i8** %fmt, align 8 + %45 = load i8*, i8** %p, align 8 + %cmp68 = icmp ugt i8* %44, %45 + br i1 %cmp68, label %land.lhs.true70, label %if.end75 + +land.lhs.true70: ; preds = %if.end67 + %46 = load i8*, i8** %p, align 8 + %47 = load i8, i8* %46, align 1 + %conv71 = sext i8 %47 to i32 + %cmp72 = icmp ne i32 %conv71, 48 + br i1 %cmp72, label %PREC_WIDTH, label %if.end75 + +if.end75: ; preds = %land.lhs.true70, %if.end67 + %48 = load i8*, i8** %p, align 8 + store i8* %48, i8** %fmt, align 8 + br label %if.end76 + +if.end76: ; preds = %if.end57, %if.then61, %if.end75 + br label %restart_flags + +restart_flags: ; preds = %if.then83, %if.end76 + store i32 1, i32* %i, align 4 + store i8* getelementptr inbounds ([8 x i8], [8 x i8]* @_ppfs_parsespec.spec_flags, i64 0, i64 0), i8** %p, align 8 + br label %do.body77 + +do.body77: ; preds = %if.end85, %restart_flags + %49 = load i8*, i8** %fmt, align 8 + %50 = load i8, i8* %49, align 1 + %conv78 = sext i8 %50 to i32 + %51 = load i8*, i8** %p, align 8 + %incdec.ptr79 = getelementptr inbounds i8, i8* %51, i32 1 + store i8* %incdec.ptr79, i8** %p, align 8 + %52 = load i8, i8* %51, align 1 + %conv80 = sext i8 %52 to i32 + %cmp81 = icmp eq i32 %conv78, %conv80 + br i1 %cmp81, label %if.then83, label %if.end85 + +if.then83: ; preds = %do.body77 + %53 = load i8*, i8** %fmt, align 8 + %incdec.ptr84 = getelementptr inbounds i8, i8* %53, i32 1 + store i8* %incdec.ptr84, i8** %fmt, align 8 + %54 = load i32, i32* %i, align 4 + %55 = load i32, i32* %flags, align 4 + %or = or i32 %55, %54 + store i32 %or, i32* %flags, align 4 + br label %restart_flags + +if.end85: ; preds = %do.body77 + %56 = load i32, i32* %i, align 4 + %57 = load i32, i32* %i, align 4 + %add86 = add nsw i32 %57, %56 + store i32 %add86, i32* %i, align 4 + %58 = load i8*, i8** %p, align 8 + %59 = load i8, i8* %58, align 1 + %tobool88 = icmp ne i8 %59, 0 + br i1 %tobool88, label %do.body77, label %do.end89 + +do.end89: ; preds = %if.end85 + store i32 0, i32* %i, align 4 + %60 = load i32, i32* %flags, align 4 + %and90 = and i32 %60, 10 + %shr = ashr i32 %and90, 1 + %neg = xor i32 %shr, -1 + %61 = load i32, i32* %flags, align 4 + %and91 = and i32 %61, %neg + store i32 %and91, i32* %flags, align 4 + %62 = load i8*, i8** %fmt, align 8 + %arrayidx92 = getelementptr inbounds i8, i8* %62, i64 -1 + %63 = load i8, i8* %arrayidx92, align 1 + %conv93 = sext i8 %63 to i32 + %cmp94 = icmp ne i32 %conv93, 37 + br i1 %cmp94, label %width_precision, label %PREC_WIDTH + +PREC_WIDTH: ; preds = %while.end, %do.end89, %land.lhs.true70 + %64 = load i8*, i8** %p, align 8 + %65 = load i8, i8* %64, align 1 + %conv99 = sext i8 %65 to i32 + %cmp100 = icmp eq i32 %conv99, 42 + br i1 %cmp100, label %if.then102, label %if.end123 + +if.then102: ; preds = %PREC_WIDTH + %66 = load i32, i32* %maxposarg, align 4 + %tobool103 = icmp ne i32 %66, 0 + br i1 %tobool103, label %if.then104, label %if.else116 + +if.then104: ; preds = %if.then102 + %67 = load i8*, i8** %fmt, align 8 + %incdec.ptr105 = getelementptr inbounds i8, i8* %67, i32 1 + store i8* %incdec.ptr105, i8** %fmt, align 8 + %68 = load i8, i8* %67, align 1 + %conv106 = sext i8 %68 to i32 + %cmp107 = icmp ne i32 %conv106, 36 + %69 = load i32, i32* %i, align 4 + %cmp109 = icmp sle i32 %69, 0 + %or.cond1 = or i1 %cmp107, %cmp109 + br i1 %or.cond1, label %if.then111, label %if.end112 + +if.then111: ; preds = %if.then104 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end112: ; preds = %if.then104 + %70 = load i32, i32* %i, align 4 + %71 = load i32, i32* %dpoint, align 4 + %sub113 = sub nsw i32 0, %71 + %idxprom114 = sext i32 %sub113 to i64 + %arrayidx115 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 %idxprom114 + store i32 %70, i32* %arrayidx115, align 4 + br label %if.end122 + +if.else116: ; preds = %if.then102 + %72 = load i8*, i8** %p, align 8 + %incdec.ptr117 = getelementptr inbounds i8, i8* %72, i32 1 + store i8* %incdec.ptr117, i8** %p, align 8 + %73 = load i8*, i8** %fmt, align 8 + %cmp118 = icmp ne i8* %incdec.ptr117, %73 + br i1 %cmp118, label %if.then120, label %if.end122 + +if.then120: ; preds = %if.else116 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end122: ; preds = %if.else116, %if.end112 + store i32 -2147483648, i32* %i, align 4 + br label %if.end123 + +if.end123: ; preds = %if.end122, %PREC_WIDTH + %74 = load i32, i32* %dpoint, align 4 + %tobool124 = icmp ne i32 %74, 0 + %75 = load i32, i32* %i, align 4 + br i1 %tobool124, label %if.else132, label %if.then125 + +if.then125: ; preds = %if.end123 + store i32 %75, i32* %width, align 4 + %76 = load i8*, i8** %fmt, align 8 + %77 = load i8, i8* %76, align 1 + %conv126 = sext i8 %77 to i32 + %cmp127 = icmp eq i32 %conv126, 46 + br i1 %cmp127, label %if.then129, label %if.end133 + +if.then129: ; preds = %if.then125 + %78 = load i8*, i8** %fmt, align 8 + %incdec.ptr130 = getelementptr inbounds i8, i8* %78, i32 1 + store i8* %incdec.ptr130, i8** %fmt, align 8 + store i32 -1, i32* %dpoint, align 4 + br label %width_precision + +if.else132: ; preds = %if.end123 + store i32 %75, i32* %preci, align 4 + br label %if.end133 + +if.end133: ; preds = %if.then125, %if.else132 + store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @_ppfs_parsespec.qual_chars, i64 0, i64 0), i8** %p, align 8 + br label %do.body134 + +do.body134: ; preds = %do.cond142, %if.end133 + %79 = load i8*, i8** %fmt, align 8 + %80 = load i8, i8* %79, align 1 + %conv135 = sext i8 %80 to i32 + %81 = load i8*, i8** %p, align 8 + %82 = load i8, i8* %81, align 1 + %conv136 = sext i8 %82 to i32 + %cmp137 = icmp eq i32 %conv135, %conv136 + br i1 %cmp137, label %if.then139, label %do.cond142 + +if.then139: ; preds = %do.body134 + %83 = load i8*, i8** %fmt, align 8 + %incdec.ptr140 = getelementptr inbounds i8, i8* %83, i32 1 + store i8* %incdec.ptr140, i8** %fmt, align 8 + br label %do.end145 + +do.cond142: ; preds = %do.body134 + %84 = load i8*, i8** %p, align 8 + %incdec.ptr143 = getelementptr inbounds i8, i8* %84, i32 1 + store i8* %incdec.ptr143, i8** %p, align 8 + %85 = load i8, i8* %incdec.ptr143, align 1 + %tobool144 = icmp ne i8 %85, 0 + br i1 %tobool144, label %do.body134, label %do.end145 + +do.end145: ; preds = %do.cond142, %if.then139 + %86 = load i8*, i8** %p, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %86 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, ptrtoint ([20 x i8]* @_ppfs_parsespec.qual_chars to i64) + %cmp146 = icmp slt i64 %sub.ptr.sub, 2 + br i1 %cmp146, label %land.lhs.true148, label %if.end156 + +land.lhs.true148: ; preds = %do.end145 + %87 = load i8*, i8** %fmt, align 8 + %88 = load i8, i8* %87, align 1 + %conv149 = sext i8 %88 to i32 + %89 = load i8*, i8** %p, align 8 + %90 = load i8, i8* %89, align 1 + %conv150 = sext i8 %90 to i32 + %cmp151 = icmp eq i32 %conv149, %conv150 + br i1 %cmp151, label %if.then153, label %if.end156 + +if.then153: ; preds = %land.lhs.true148 + %91 = load i8*, i8** %p, align 8 + %add.ptr154 = getelementptr inbounds i8, i8* %91, i64 9 + store i8* %add.ptr154, i8** %p, align 8 + %92 = load i8*, i8** %fmt, align 8 + %incdec.ptr155 = getelementptr inbounds i8, i8* %92, i32 1 + store i8* %incdec.ptr155, i8** %fmt, align 8 + br label %if.end156 + +if.end156: ; preds = %if.then153, %land.lhs.true148, %do.end145 + %93 = load i8*, i8** %p, align 8 + %arrayidx157 = getelementptr inbounds i8, i8* %93, i64 9 + %94 = load i8, i8* %arrayidx157, align 1 + %conv158 = sext i8 %94 to i32 + %shl = shl i32 %conv158, 8 + store i32 %shl, i32* %dataargtype, align 4 + %95 = load i8*, i8** %fmt, align 8 + %96 = load i8, i8* %95, align 1 + %tobool159 = icmp ne i8 %96, 0 + br i1 %tobool159, label %if.end161, label %if.then160 + +if.then160: ; preds = %if.end156 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end161: ; preds = %if.end156 + store i8* getelementptr inbounds ([21 x i8], [21 x i8]* @_ppfs_parsespec.spec_chars, i64 0, i64 0), i8** %p, align 8 + br label %do.body162 + +do.body162: ; preds = %do.cond199, %if.end161 + %97 = load i8*, i8** %fmt, align 8 + %98 = load i8, i8* %97, align 1 + %conv163 = sext i8 %98 to i32 + %99 = load i8*, i8** %p, align 8 + %100 = load i8, i8* %99, align 1 + %conv164 = sext i8 %100 to i32 + %cmp165 = icmp eq i32 %conv163, %conv164 + %101 = load i8*, i8** %p, align 8 + br i1 %cmp165, label %if.then167, label %do.cond199 + +if.then167: ; preds = %do.body162 + %sub.ptr.lhs.cast168 = ptrtoint i8* %101 to i64 + %sub.ptr.sub169 = sub i64 %sub.ptr.lhs.cast168, ptrtoint ([21 x i8]* @_ppfs_parsespec.spec_chars to i64) + %conv170 = trunc i64 %sub.ptr.sub169 to i32 + store i32 %conv170, i32* %p_m_spec_chars, align 4 + %102 = load i32, i32* %p_m_spec_chars, align 4 + %cmp171 = icmp sge i32 %102, 18 + br i1 %cmp171, label %land.lhs.true173, label %if.end178 + +land.lhs.true173: ; preds = %if.then167 + %103 = load i32, i32* %dataargtype, align 4 + %and174 = and i32 %103, 1024 + %tobool175 = icmp ne i32 %and174, 0 + br i1 %tobool175, label %if.then176, label %if.end178 + +if.then176: ; preds = %land.lhs.true173 + %104 = load i32, i32* %p_m_spec_chars, align 4 + %sub177 = sub nsw i32 %104, 2 + store i32 %sub177, i32* %p_m_spec_chars, align 4 + br label %if.end178 + +if.end178: ; preds = %if.then176, %land.lhs.true173, %if.then167 + %105 = load i32, i32* %p_m_spec_chars, align 4 + %106 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %106, i32 0, i32 4 + store i32 %105, i32* %conv_num, align 4 + store i8* getelementptr inbounds (i8, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @_ppfs_parsespec.spec_ranges, i64 0, i64 0), i64 -1), i8** %p, align 8 + br label %while.cond179 + +while.cond179: ; preds = %while.cond179, %if.end178 + %107 = load i32, i32* %p_m_spec_chars, align 4 + %108 = load i8*, i8** %p, align 8 + %incdec.ptr180 = getelementptr inbounds i8, i8* %108, i32 1 + store i8* %incdec.ptr180, i8** %p, align 8 + %109 = load i8, i8* %incdec.ptr180, align 1 + %conv181 = sext i8 %109 to i32 + %cmp182 = icmp sgt i32 %107, %conv181 + br i1 %cmp182, label %while.cond179, label %while.end185 + +while.end185: ; preds = %while.cond179 + %110 = load i8*, i8** %p, align 8 + %sub.ptr.lhs.cast186 = ptrtoint i8* %110 to i64 + %sub.ptr.sub187 = sub i64 %sub.ptr.lhs.cast186, ptrtoint ([9 x i8]* @_ppfs_parsespec.spec_ranges to i64) + %conv188 = trunc i64 %sub.ptr.sub187 to i32 + store i32 %conv188, i32* %i, align 4 + %111 = load i32, i32* %dataargtype, align 4 + %112 = load i32, i32* %i, align 4 + %idxprom189 = sext i32 %112 to i64 + %arrayidx190 = getelementptr inbounds [8 x i16], [8 x i16]* @_ppfs_parsespec.spec_or_mask, i64 0, i64 %idxprom189 + %113 = load i16, i16* %arrayidx190, align 2 + %conv191 = sext i16 %113 to i32 + %or192 = or i32 %111, %conv191 + %114 = load i32, i32* %i, align 4 + %idxprom193 = sext i32 %114 to i64 + %arrayidx194 = getelementptr inbounds [8 x i16], [8 x i16]* @_ppfs_parsespec.spec_and_mask, i64 0, i64 %idxprom193 + %115 = load i16, i16* %arrayidx194, align 2 + %conv195 = sext i16 %115 to i32 + %and196 = and i32 %or192, %conv195 + %arrayidx197 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 2 + store i32 %and196, i32* %arrayidx197, align 4 + store i8* getelementptr inbounds ([21 x i8], [21 x i8]* @_ppfs_parsespec.spec_chars, i64 0, i64 0), i8** %p, align 8 + br label %do.end202 + +do.cond199: ; preds = %do.body162 + %incdec.ptr200 = getelementptr inbounds i8, i8* %101, i32 1 + store i8* %incdec.ptr200, i8** %p, align 8 + %116 = load i8, i8* %incdec.ptr200, align 1 + %tobool201 = icmp ne i8 %116, 0 + br i1 %tobool201, label %do.body162, label %do.end202 + +do.end202: ; preds = %do.cond199, %while.end185 + %117 = load i8*, i8** %fmt, align 8 + %118 = load i8, i8* %117, align 1 + %conv203 = sext i8 %118 to i32 + %119 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info204 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %119, i32 0, i32 1 + %spec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info204, i32 0, i32 2 + store i32 %conv203, i32* %spec, align 8 + %120 = load i32, i32* %preci, align 4 + %121 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info205 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %121, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info205, i32 0, i32 0 + store i32 %120, i32* %prec, align 8 + %122 = load i32, i32* %width, align 4 + %123 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info206 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %123, i32 0, i32 1 + %width207 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info206, i32 0, i32 1 + store i32 %122, i32* %width207, align 4 + %124 = load i32, i32* %flags, align 4 + %and208 = and i32 %124, 4 + %tobool209 = icmp ne i32 %and208, 0 + %125 = zext i1 %tobool209 to i64 + %cond = select i1 %tobool209, i32 48, i32 32 + %126 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info210 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %126, i32 0, i32 1 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info210, i32 0, i32 4 + store i32 %cond, i32* %pad, align 8 + %127 = load i32, i32* %flags, align 4 + %and211 = and i32 %127, -5 + %128 = load i32, i32* %dataargtype, align 4 + %and212 = and i32 %128, 3840 + %or213 = or i32 %and211, %and212 + %129 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info214 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %129, i32 0, i32 1 + %_flags215 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info214, i32 0, i32 3 + store i32 %or213, i32* %_flags215, align 4 + %130 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %130, i32 0, i32 3 + store i32 1, i32* %num_data_args, align 8 + %131 = load i8*, i8** %p, align 8 + %132 = load i8, i8* %131, align 1 + %tobool216 = icmp ne i8 %132, 0 + br i1 %tobool216, label %if.end218, label %if.then217 + +if.then217: ; preds = %do.end202 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end218: ; preds = %do.end202 + %133 = load i32, i32* %maxposarg, align 4 + %cmp219 = icmp sgt i32 %133, 0 + br i1 %cmp219, label %if.then221, label %if.else265 + +if.then221: ; preds = %if.end218 + store i32 0, i32* %i, align 4 + br label %do.body222 + +do.body222: ; preds = %do.cond258, %if.then221 + %134 = load i32, i32* %i, align 4 + %cmp223 = icmp sle i32 %134, 2 + br i1 %cmp223, label %cond.true, label %cond.false + +cond.true: ; preds = %do.body222 + %135 = load i32, i32* %i, align 4 + %idxprom225 = sext i32 %135 to i64 + %arrayidx226 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 %idxprom225 + %136 = load i32, i32* %arrayidx226, align 4 + %conv227 = trunc i32 %136 to i8 + %137 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber228 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %137, i32 0, i32 5 + %138 = load i32, i32* %i, align 4 + %idxprom229 = sext i32 %138 to i64 + %arrayidx230 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber228, i64 0, i64 %idxprom229 + store i8 %conv227, i8* %arrayidx230, align 1 + %conv231 = zext i8 %conv227 to i32 + br label %cond.end + +cond.false: ; preds = %do.body222 + %arrayidx232 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 2 + %139 = load i32, i32* %arrayidx232, align 4 + %140 = load i32, i32* %i, align 4 + %sub233 = sub nsw i32 %140, 2 + %add234 = add nsw i32 %139, %sub233 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond235 = phi i32 [ %conv231, %cond.true ], [ %add234, %cond.false ] + store i32 %cond235, i32* %n, align 4 + %141 = load i32, i32* %n, align 4 + %142 = load i32, i32* %maxposarg, align 4 + %cmp236 = icmp sgt i32 %141, %142 + br i1 %cmp236, label %if.then238, label %if.end243 + +if.then238: ; preds = %cond.end + %143 = load i32, i32* %n, align 4 + store i32 %143, i32* %maxposarg, align 4 + %cmp239 = icmp sgt i32 %143, 9 + br i1 %cmp239, label %if.then241, label %if.end243 + +if.then241: ; preds = %if.then238 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end243: ; preds = %if.then238, %cond.end + %144 = load i32, i32* %n, align 4 + %dec = add nsw i32 %144, -1 + store i32 %dec, i32* %n, align 4 + %145 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype244 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %145, i32 0, i32 6 + %146 = load i32, i32* %n, align 4 + %idxprom245 = sext i32 %146 to i64 + %arrayidx246 = getelementptr inbounds [9 x i32], [9 x i32]* %argtype244, i64 0, i64 %idxprom245 + %147 = load i32, i32* %arrayidx246, align 4 + %148 = load i32, i32* %i, align 4 + %idxprom247 = sext i32 %148 to i64 + %arrayidx248 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 %idxprom247 + %149 = load i32, i32* %arrayidx248, align 4 + %call249 = call i32 @_is_equal_or_bigger_arg(i32 %147, i32 %149) #18 + %tobool250 = icmp ne i32 %call249, 0 + br i1 %tobool250, label %if.then251, label %do.cond258 + +if.then251: ; preds = %if.end243 + %150 = load i32, i32* %i, align 4 + %idxprom252 = sext i32 %150 to i64 + %arrayidx253 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 %idxprom252 + %151 = load i32, i32* %arrayidx253, align 4 + %152 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype254 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %152, i32 0, i32 6 + %153 = load i32, i32* %n, align 4 + %idxprom255 = sext i32 %153 to i64 + %arrayidx256 = getelementptr inbounds [9 x i32], [9 x i32]* %argtype254, i64 0, i64 %idxprom255 + store i32 %151, i32* %arrayidx256, align 4 + br label %do.cond258 + +do.cond258: ; preds = %if.end243, %if.then251 + %154 = load i32, i32* %i, align 4 + %inc259 = add nsw i32 %154, 1 + store i32 %inc259, i32* %i, align 4 + %155 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args260 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %155, i32 0, i32 3 + %156 = load i32, i32* %num_data_args260, align 8 + %add261 = add nsw i32 %156, 2 + %cmp262 = icmp slt i32 %inc259, %add261 + br i1 %cmp262, label %do.body222, label %if.end276 + +if.else265: ; preds = %if.end218 + %157 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber266 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %157, i32 0, i32 5 + %arrayidx267 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber266, i64 0, i64 2 + store i8 1, i8* %arrayidx267, align 2 + %158 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype268 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %158, i32 0, i32 6 + %arraydecay269 = getelementptr inbounds [9 x i32], [9 x i32]* %argtype268, i64 0, i64 0 + %159 = bitcast i32* %arraydecay269 to i8* + %arraydecay270 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 0 + %add.ptr271 = getelementptr inbounds i32, i32* %arraydecay270, i64 2 + %160 = bitcast i32* %add.ptr271 to i8* + %161 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args272 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %161, i32 0, i32 3 + %162 = load i32, i32* %num_data_args272, align 8 + %conv273 = sext i32 %162 to i64 + %mul274 = mul i64 %conv273, 4 + %call275 = call i8* @memcpy(i8* %159, i8* %160, i64 %mul274) #19 + br label %if.end276 + +if.end276: ; preds = %do.cond258, %if.else265 + %163 = load i32, i32* %maxposarg, align 4 + %164 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg277 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %164, i32 0, i32 2 + store i32 %163, i32* %maxposarg277, align 4 + %165 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info278 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %165, i32 0, i32 1 + %_flags279 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info278, i32 0, i32 3 + %166 = load i32, i32* %_flags279, align 4 + %and280 = and i32 %166, 128 + store i32 %and280, i32* %flags, align 4 + %cmp281 = icmp eq i32 %and280, 0 + br i1 %cmp281, label %if.then283, label %if.else286 + +if.then283: ; preds = %if.end276 + %167 = load i8*, i8** %fmt, align 8 + %incdec.ptr284 = getelementptr inbounds i8, i8* %167, i32 1 + store i8* %incdec.ptr284, i8** %fmt, align 8 + %168 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos285 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %168, i32 0, i32 0 + store i8* %incdec.ptr284, i8** %fmtpos285, align 8 + br label %if.end293 + +if.else286: ; preds = %if.end276 + %169 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos287 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %169, i32 0, i32 0 + %170 = load i8*, i8** %fmtpos287, align 8 + %171 = bitcast i8* %170 to i32* + %172 = load i8*, i8** %fmt, align 8 + %arraydecay288 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 0 + %sub.ptr.lhs.cast289 = ptrtoint i8* %172 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %arraydecay288 to i64 + %sub.ptr.sub290 = sub i64 %sub.ptr.lhs.cast289, %sub.ptr.rhs.cast + %add.ptr291 = getelementptr inbounds i32, i32* %171, i64 %sub.ptr.sub290 + %173 = bitcast i32* %add.ptr291 to i8* + %174 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos292 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %174, i32 0, i32 0 + store i8* %173, i8** %fmtpos292, align 8 + br label %if.end293 + +if.end293: ; preds = %if.else286, %if.then283 + %175 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args294 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %175, i32 0, i32 3 + %176 = load i32, i32* %num_data_args294, align 8 + %add295 = add nsw i32 %176, 2 + store i32 %add295, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end293, %if.then241, %if.then217, %if.then160, %if.then120, %if.then111, %if.then66, %if.then56, %if.then16 + %177 = load i32, i32* %retval, align 4 + ret i32 %177 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_is_equal_or_bigger_arg(i32 %curtype, i32 %newtype) #0 { +entry: + %retval = alloca i32, align 4 + %curtype.addr = alloca i32, align 4 + %newtype.addr = alloca i32, align 4 + store i32 %curtype, i32* %curtype.addr, align 4 + store i32 %newtype, i32* %newtype.addr, align 4 + %0 = load i32, i32* %newtype.addr, align 4 + %cmp = icmp eq i32 %0, 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %1 = load i32, i32* %curtype.addr, align 4 + %cmp1 = icmp eq i32 %1, 8 + br i1 %cmp1, label %if.then3, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %2 = load i32, i32* %curtype.addr, align 4 + %3 = load i32, i32* %newtype.addr, align 4 + %cmp2 = icmp eq i32 %2, %3 + br i1 %cmp2, label %if.then3, label %if.end4 + +if.then3: ; preds = %lor.lhs.false, %if.end + store i32 1, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %lor.lhs.false + %4 = load i32, i32* %curtype.addr, align 4 + %call = call i32 @_promoted_size(i32 %4) #18 + %5 = load i32, i32* %newtype.addr, align 4 + %call5 = call i32 @_promoted_size(i32 %5) #18 + %cmp6 = icmp sle i32 %call, %call5 + %conv = zext i1 %cmp6 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_promoted_size(i32 %argtype) #0 { +entry: + %argtype.addr = alloca i32, align 4 + %p = alloca i16*, align 8 + store i32 %argtype, i32* %argtype.addr, align 4 + store i16* getelementptr inbounds (i16, i16* getelementptr inbounds ([12 x i16], [12 x i16]* @type_codes, i64 0, i64 0), i64 12), i16** %p, align 8 + br label %do.body + +do.body: ; preds = %do.body, %entry + %0 = load i16*, i16** %p, align 8 + %incdec.ptr = getelementptr inbounds i16, i16* %0, i32 -1 + store i16* %incdec.ptr, i16** %p, align 8 + %1 = load i16, i16* %incdec.ptr, align 2 + %conv = sext i16 %1 to i32 + %2 = load i32, i32* %argtype.addr, align 4 + %cmp = icmp ne i32 %conv, %2 + %3 = load i16*, i16** %p, align 8 + %cmp2 = icmp ugt i16* %3, getelementptr inbounds ([12 x i16], [12 x i16]* @type_codes, i64 0, i64 0) + %or.cond = and i1 %cmp, %cmp2 + br i1 %or.cond, label %do.body, label %do.end + +do.end: ; preds = %do.body + %4 = load i16*, i16** %p, align 8 + %sub.ptr.lhs.cast = ptrtoint i16* %4 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, ptrtoint ([12 x i16]* @type_codes to i64) + %sub.ptr.div = sdiv exact i64 %sub.ptr.sub, 2 + %conv4 = trunc i64 %sub.ptr.div to i32 + %idxprom = sext i32 %conv4 to i64 + %arrayidx = getelementptr inbounds [12 x i8], [12 x i8]* @type_sizes, i64 0, i64 %idxprom + %5 = load i8, i8* %arrayidx, align 1 + %conv5 = zext i8 %5 to i32 + ret i32 %conv5 +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_ppfs_prepargs(%struct.ppfs_t.722* %ppfs, %struct.__va_list_tag.0* %arg) #0 { +entry: + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %arg.addr = alloca %struct.__va_list_tag.0*, align 8 + %i = alloca i32, align 4 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store %struct.__va_list_tag.0* %arg, %struct.__va_list_tag.0** %arg.addr, align 8 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg1 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %0, i32 0, i32 7 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg1, i64 0, i64 0 + %1 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %arg.addr, align 8 + %2 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + %3 = bitcast %struct.__va_list_tag.0* %1 to i8* + %vacopy.cast.dst = bitcast i8* %2 to i64* + %vacopy.cast.src = bitcast i8* %3 to i64* + %4 = load i64, i64* %vacopy.cast.src, align 8 + store volatile i64 %4, i64* %vacopy.cast.dst, align 8 + %5 = getelementptr i64, i64* %vacopy.cast.dst, i64 1 + %6 = getelementptr i64, i64* %vacopy.cast.src, i64 1 + %7 = load i64, i64* %6, align 8 + store i64 %7, i64* %5, align 8 + %8 = getelementptr i64, i64* %5, i64 1 + %9 = getelementptr i64, i64* %6, i64 1 + %10 = load i64, i64* %9, align 8 + store i64 %10, i64* %8, align 8 + %11 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %11, i32 0, i32 2 + %12 = load i32, i32* %maxposarg, align 4 + store i32 %12, i32* %i, align 4 + %cmp = icmp sgt i32 %12, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %13 = load i32, i32* %i, align 4 + %14 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %14, i32 0, i32 3 + store i32 %13, i32* %num_data_args, align 8 + %15 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg2 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %15, i32 0, i32 2 + store i32 0, i32* %maxposarg2, align 4 + %16 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %16, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 0 + store i32 0, i32* %prec, align 8 + %17 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info3 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %17, i32 0, i32 1 + %width = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info3, i32 0, i32 1 + store i32 0, i32* %width, align 4 + %18 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + call void @_ppfs_setargs(%struct.ppfs_t.722* %18) #18 + %19 = load i32, i32* %i, align 4 + %20 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg4 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %20, i32 0, i32 2 + store i32 %19, i32* %maxposarg4, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + ret void +} + +; Function Attrs: nounwind +declare void @llvm.va_copy(i8*, i8*) #11 + +; Function Attrs: noinline nounwind uwtable +define hidden void @_ppfs_setargs(%struct.ppfs_t.722* %ppfs) #0 { +entry: + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %p = alloca %union.anon.193*, align 8 + %i = alloca i32, align 4 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argvalue = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %0, i32 0, i32 8 + %arraydecay = getelementptr inbounds [9 x %union.anon.193], [9 x %union.anon.193]* %argvalue, i64 0, i64 0 + store %union.anon.193* %arraydecay, %union.anon.193** %p, align 8 + %1 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %1, i32 0, i32 2 + %2 = load i32, i32* %maxposarg, align 4 + %cmp = icmp eq i32 %2, 0 + %3 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %3, i32 0, i32 1 + %width = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 1 + %4 = load i32, i32* %width, align 4 + %cmp1 = icmp eq i32 %4, -2147483648 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + br i1 %cmp1, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + %5 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %5, i32 0, i32 7 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 8 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then2 + %6 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 3 + %reg_save_area = load i8*, i8** %6, align 8 + %7 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %8 = bitcast i8* %7 to i32* + %9 = add i32 %gp_offset, 8 + store i32 %9, i32* %gp_offset_p, align 8 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then2 + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %10 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %8, %vaarg.in_reg ], [ %10, %vaarg.in_mem ] + %11 = load i32, i32* %vaarg.addr, align 4 + %12 = load %union.anon.193*, %union.anon.193** %p, align 8 + %u = bitcast %union.anon.193* %12 to i32* + store i32 %11, i32* %u, align 8 + %13 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info4 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %13, i32 0, i32 1 + %width5 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info4, i32 0, i32 1 + store i32 %11, i32* %width5, align 4 + br label %if.end + +if.end: ; preds = %vaarg.end, %if.then + %14 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info6 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %14, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info6, i32 0, i32 0 + %15 = load i32, i32* %prec, align 8 + %cmp7 = icmp eq i32 %15, -2147483648 + br i1 %cmp7, label %if.then8, label %if.end25 + +if.then8: ; preds = %if.end + %16 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg9 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %16, i32 0, i32 7 + %arraydecay10 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg9, i64 0, i64 0 + %gp_offset_p11 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay10, i32 0, i32 0 + %gp_offset12 = load i32, i32* %gp_offset_p11, align 8 + %fits_in_gp13 = icmp ule i32 %gp_offset12, 40 + br i1 %fits_in_gp13, label %vaarg.in_reg14, label %vaarg.in_mem16 + +vaarg.in_reg14: ; preds = %if.then8 + %17 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay10, i32 0, i32 3 + %reg_save_area15 = load i8*, i8** %17, align 8 + %18 = getelementptr i8, i8* %reg_save_area15, i32 %gp_offset12 + %19 = bitcast i8* %18 to i32* + %20 = add i32 %gp_offset12, 8 + store i32 %20, i32* %gp_offset_p11, align 8 + br label %vaarg.end20 + +vaarg.in_mem16: ; preds = %if.then8 + %overflow_arg_area_p17 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay10, i32 0, i32 2 + %overflow_arg_area18 = load i8*, i8** %overflow_arg_area_p17, align 8 + %21 = bitcast i8* %overflow_arg_area18 to i32* + %overflow_arg_area.next19 = getelementptr i8, i8* %overflow_arg_area18, i32 8 + store i8* %overflow_arg_area.next19, i8** %overflow_arg_area_p17, align 8 + br label %vaarg.end20 + +vaarg.end20: ; preds = %vaarg.in_mem16, %vaarg.in_reg14 + %vaarg.addr21 = phi i32* [ %19, %vaarg.in_reg14 ], [ %21, %vaarg.in_mem16 ] + %22 = load i32, i32* %vaarg.addr21, align 4 + %23 = load %union.anon.193*, %union.anon.193** %p, align 8 + %u22 = bitcast %union.anon.193* %23 to i32* + store i32 %22, i32* %u22, align 8 + %24 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info23 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %24, i32 0, i32 1 + %prec24 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info23, i32 0, i32 0 + store i32 %22, i32* %prec24, align 8 + br label %if.end25 + +if.end25: ; preds = %vaarg.end20, %if.end + store i32 0, i32* %i, align 4 + br label %while.cond + +while.cond: ; preds = %NodeBlock, %sw.epilog, %if.end25 + %25 = load i32, i32* %i, align 4 + %26 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %26, i32 0, i32 3 + %27 = load i32, i32* %num_data_args, align 8 + %cmp26 = icmp slt i32 %25, %27 + br i1 %cmp26, label %while.body, label %if.end149 + +while.body: ; preds = %while.cond + %28 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %28, i32 0, i32 6 + %29 = load i32, i32* %i, align 4 + %inc = add nsw i32 %29, 1 + store i32 %inc, i32* %i, align 4 + %idxprom = sext i32 %29 to i64 + %arrayidx = getelementptr inbounds [9 x i32], [9 x i32]* %argtype, i64 0, i64 %idxprom + %30 = load i32, i32* %arrayidx, align 4 + br label %NodeBlock17 + +NodeBlock17: ; preds = %while.body + %case.cmp18 = icmp eq i32 %30, 2048 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %30, 1024 + br i1 %case.cmp16, label %sw.bb40, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %30, 1 + br i1 %case.cmp14, label %sw.bb54, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %30, 256 + br i1 %case.cmp12, label %sw.bb54, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %30, 512 + br i1 %case.cmp10, label %sw.bb54, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %30, 0 + br i1 %case.cmp8, label %sw.bb54, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %30, 2 + br i1 %case.cmp6, label %sw.bb69, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %30, 7 + br i1 %case.cmp4, label %sw.bb83, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %30, 2055 + br i1 %case.cmp2, label %sw.bb94, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %30, 8 + br i1 %case.cmp, label %while.cond, label %newDefault + +sw.bb: ; preds = %NodeBlock17 + %31 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg27 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %31, i32 0, i32 7 + %arraydecay28 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg27, i64 0, i64 0 + %gp_offset_p29 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay28, i32 0, i32 0 + %gp_offset30 = load i32, i32* %gp_offset_p29, align 8 + %fits_in_gp31 = icmp ule i32 %gp_offset30, 40 + br i1 %fits_in_gp31, label %vaarg.in_reg32, label %vaarg.in_mem34 + +vaarg.in_reg32: ; preds = %sw.bb + %32 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay28, i32 0, i32 3 + %reg_save_area33 = load i8*, i8** %32, align 8 + %33 = getelementptr i8, i8* %reg_save_area33, i32 %gp_offset30 + %34 = bitcast i8* %33 to i64* + %35 = add i32 %gp_offset30, 8 + store i32 %35, i32* %gp_offset_p29, align 8 + br label %vaarg.end38 + +vaarg.in_mem34: ; preds = %sw.bb + %overflow_arg_area_p35 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay28, i32 0, i32 2 + %overflow_arg_area36 = load i8*, i8** %overflow_arg_area_p35, align 8 + %36 = bitcast i8* %overflow_arg_area36 to i64* + %overflow_arg_area.next37 = getelementptr i8, i8* %overflow_arg_area36, i32 8 + store i8* %overflow_arg_area.next37, i8** %overflow_arg_area_p35, align 8 + br label %vaarg.end38 + +vaarg.end38: ; preds = %vaarg.in_mem34, %vaarg.in_reg32 + %vaarg.addr39 = phi i64* [ %34, %vaarg.in_reg32 ], [ %36, %vaarg.in_mem34 ] + %37 = load i64, i64* %vaarg.addr39, align 8 + %38 = load %union.anon.193*, %union.anon.193** %p, align 8 + %ull = bitcast %union.anon.193* %38 to i64* + store i64 %37, i64* %ull, align 8 + br label %sw.epilog + +sw.bb40: ; preds = %NodeBlock15 + %39 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg41 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %39, i32 0, i32 7 + %arraydecay42 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg41, i64 0, i64 0 + %gp_offset_p43 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay42, i32 0, i32 0 + %gp_offset44 = load i32, i32* %gp_offset_p43, align 8 + %fits_in_gp45 = icmp ule i32 %gp_offset44, 40 + br i1 %fits_in_gp45, label %vaarg.in_reg46, label %vaarg.in_mem48 + +vaarg.in_reg46: ; preds = %sw.bb40 + %40 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay42, i32 0, i32 3 + %reg_save_area47 = load i8*, i8** %40, align 8 + %41 = getelementptr i8, i8* %reg_save_area47, i32 %gp_offset44 + %42 = bitcast i8* %41 to i64* + %43 = add i32 %gp_offset44, 8 + store i32 %43, i32* %gp_offset_p43, align 8 + br label %vaarg.end52 + +vaarg.in_mem48: ; preds = %sw.bb40 + %overflow_arg_area_p49 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay42, i32 0, i32 2 + %overflow_arg_area50 = load i8*, i8** %overflow_arg_area_p49, align 8 + %44 = bitcast i8* %overflow_arg_area50 to i64* + %overflow_arg_area.next51 = getelementptr i8, i8* %overflow_arg_area50, i32 8 + store i8* %overflow_arg_area.next51, i8** %overflow_arg_area_p49, align 8 + br label %vaarg.end52 + +vaarg.end52: ; preds = %vaarg.in_mem48, %vaarg.in_reg46 + %vaarg.addr53 = phi i64* [ %42, %vaarg.in_reg46 ], [ %44, %vaarg.in_mem48 ] + %45 = load i64, i64* %vaarg.addr53, align 8 + %46 = load %union.anon.193*, %union.anon.193** %p, align 8 + %ul = bitcast %union.anon.193* %46 to i64* + store i64 %45, i64* %ul, align 8 + br label %sw.epilog + +sw.bb54: ; preds = %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7 + %47 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg55 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %47, i32 0, i32 7 + %arraydecay56 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg55, i64 0, i64 0 + %gp_offset_p57 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay56, i32 0, i32 0 + %gp_offset58 = load i32, i32* %gp_offset_p57, align 8 + %fits_in_gp59 = icmp ule i32 %gp_offset58, 40 + br i1 %fits_in_gp59, label %vaarg.in_reg60, label %vaarg.in_mem62 + +vaarg.in_reg60: ; preds = %sw.bb54 + %48 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay56, i32 0, i32 3 + %reg_save_area61 = load i8*, i8** %48, align 8 + %49 = getelementptr i8, i8* %reg_save_area61, i32 %gp_offset58 + %50 = bitcast i8* %49 to i32* + %51 = add i32 %gp_offset58, 8 + store i32 %51, i32* %gp_offset_p57, align 8 + br label %vaarg.end66 + +vaarg.in_mem62: ; preds = %sw.bb54 + %overflow_arg_area_p63 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay56, i32 0, i32 2 + %overflow_arg_area64 = load i8*, i8** %overflow_arg_area_p63, align 8 + %52 = bitcast i8* %overflow_arg_area64 to i32* + %overflow_arg_area.next65 = getelementptr i8, i8* %overflow_arg_area64, i32 8 + store i8* %overflow_arg_area.next65, i8** %overflow_arg_area_p63, align 8 + br label %vaarg.end66 + +vaarg.end66: ; preds = %vaarg.in_mem62, %vaarg.in_reg60 + %vaarg.addr67 = phi i32* [ %50, %vaarg.in_reg60 ], [ %52, %vaarg.in_mem62 ] + %53 = load i32, i32* %vaarg.addr67, align 4 + %54 = load %union.anon.193*, %union.anon.193** %p, align 8 + %u68 = bitcast %union.anon.193* %54 to i32* + store i32 %53, i32* %u68, align 8 + br label %sw.epilog + +sw.bb69: ; preds = %NodeBlock5 + %55 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg70 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %55, i32 0, i32 7 + %arraydecay71 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg70, i64 0, i64 0 + %gp_offset_p72 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay71, i32 0, i32 0 + %gp_offset73 = load i32, i32* %gp_offset_p72, align 8 + %fits_in_gp74 = icmp ule i32 %gp_offset73, 40 + br i1 %fits_in_gp74, label %vaarg.in_reg75, label %vaarg.in_mem77 + +vaarg.in_reg75: ; preds = %sw.bb69 + %56 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay71, i32 0, i32 3 + %reg_save_area76 = load i8*, i8** %56, align 8 + %57 = getelementptr i8, i8* %reg_save_area76, i32 %gp_offset73 + %58 = bitcast i8* %57 to i32* + %59 = add i32 %gp_offset73, 8 + store i32 %59, i32* %gp_offset_p72, align 8 + br label %vaarg.end81 + +vaarg.in_mem77: ; preds = %sw.bb69 + %overflow_arg_area_p78 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay71, i32 0, i32 2 + %overflow_arg_area79 = load i8*, i8** %overflow_arg_area_p78, align 8 + %60 = bitcast i8* %overflow_arg_area79 to i32* + %overflow_arg_area.next80 = getelementptr i8, i8* %overflow_arg_area79, i32 8 + store i8* %overflow_arg_area.next80, i8** %overflow_arg_area_p78, align 8 + br label %vaarg.end81 + +vaarg.end81: ; preds = %vaarg.in_mem77, %vaarg.in_reg75 + %vaarg.addr82 = phi i32* [ %58, %vaarg.in_reg75 ], [ %60, %vaarg.in_mem77 ] + %61 = load i32, i32* %vaarg.addr82, align 4 + %62 = load %union.anon.193*, %union.anon.193** %p, align 8 + %wc = bitcast %union.anon.193* %62 to i32* + store i32 %61, i32* %wc, align 8 + br label %sw.epilog + +sw.bb83: ; preds = %NodeBlock3 + %63 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg84 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %63, i32 0, i32 7 + %arraydecay85 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg84, i64 0, i64 0 + %fp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay85, i32 0, i32 1 + %fp_offset = load i32, i32* %fp_offset_p, align 4 + %fits_in_fp = icmp ule i32 %fp_offset, 160 + br i1 %fits_in_fp, label %vaarg.in_reg86, label %vaarg.in_mem88 + +vaarg.in_reg86: ; preds = %sw.bb83 + %64 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay85, i32 0, i32 3 + %reg_save_area87 = load i8*, i8** %64, align 8 + %65 = getelementptr i8, i8* %reg_save_area87, i32 %fp_offset + %66 = bitcast i8* %65 to double* + %67 = add i32 %fp_offset, 16 + store i32 %67, i32* %fp_offset_p, align 4 + br label %vaarg.end92 + +vaarg.in_mem88: ; preds = %sw.bb83 + %overflow_arg_area_p89 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay85, i32 0, i32 2 + %overflow_arg_area90 = load i8*, i8** %overflow_arg_area_p89, align 8 + %68 = bitcast i8* %overflow_arg_area90 to double* + %overflow_arg_area.next91 = getelementptr i8, i8* %overflow_arg_area90, i32 8 + store i8* %overflow_arg_area.next91, i8** %overflow_arg_area_p89, align 8 + br label %vaarg.end92 + +vaarg.end92: ; preds = %vaarg.in_mem88, %vaarg.in_reg86 + %vaarg.addr93 = phi double* [ %66, %vaarg.in_reg86 ], [ %68, %vaarg.in_mem88 ] + %69 = load double, double* %vaarg.addr93, align 8 + %70 = load %union.anon.193*, %union.anon.193** %p, align 8 + %d = bitcast %union.anon.193* %70 to double* + store double %69, double* %d, align 8 + br label %sw.epilog + +sw.bb94: ; preds = %NodeBlock1 + %71 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg95 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %71, i32 0, i32 7 + %arraydecay96 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg95, i64 0, i64 0 + %fp_offset_p97 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay96, i32 0, i32 1 + %fp_offset98 = load i32, i32* %fp_offset_p97, align 4 + %fits_in_fp99 = icmp ule i32 %fp_offset98, 160 + br i1 %fits_in_fp99, label %vaarg.in_reg100, label %vaarg.in_mem102 + +vaarg.in_reg100: ; preds = %sw.bb94 + %72 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay96, i32 0, i32 3 + %reg_save_area101 = load i8*, i8** %72, align 8 + %73 = getelementptr i8, i8* %reg_save_area101, i32 %fp_offset98 + %74 = bitcast i8* %73 to double* + %75 = add i32 %fp_offset98, 16 + store i32 %75, i32* %fp_offset_p97, align 4 + br label %vaarg.end106 + +vaarg.in_mem102: ; preds = %sw.bb94 + %overflow_arg_area_p103 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay96, i32 0, i32 2 + %overflow_arg_area104 = load i8*, i8** %overflow_arg_area_p103, align 8 + %76 = bitcast i8* %overflow_arg_area104 to double* + %overflow_arg_area.next105 = getelementptr i8, i8* %overflow_arg_area104, i32 8 + store i8* %overflow_arg_area.next105, i8** %overflow_arg_area_p103, align 8 + br label %vaarg.end106 + +vaarg.end106: ; preds = %vaarg.in_mem102, %vaarg.in_reg100 + %vaarg.addr107 = phi double* [ %74, %vaarg.in_reg100 ], [ %76, %vaarg.in_mem102 ] + %77 = load double, double* %vaarg.addr107, align 8 + %78 = load %union.anon.193*, %union.anon.193** %p, align 8 + %ld = bitcast %union.anon.193* %78 to double* + store double %77, double* %ld, align 8 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.bb108 + +sw.bb108: ; preds = %newDefault + %79 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg109 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %79, i32 0, i32 7 + %arraydecay110 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg109, i64 0, i64 0 + %gp_offset_p111 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay110, i32 0, i32 0 + %gp_offset112 = load i32, i32* %gp_offset_p111, align 8 + %fits_in_gp113 = icmp ule i32 %gp_offset112, 40 + br i1 %fits_in_gp113, label %vaarg.in_reg114, label %vaarg.in_mem116 + +vaarg.in_reg114: ; preds = %sw.bb108 + %80 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay110, i32 0, i32 3 + %reg_save_area115 = load i8*, i8** %80, align 8 + %81 = getelementptr i8, i8* %reg_save_area115, i32 %gp_offset112 + %82 = bitcast i8* %81 to i8** + %83 = add i32 %gp_offset112, 8 + store i32 %83, i32* %gp_offset_p111, align 8 + br label %vaarg.end120 + +vaarg.in_mem116: ; preds = %sw.bb108 + %overflow_arg_area_p117 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay110, i32 0, i32 2 + %overflow_arg_area118 = load i8*, i8** %overflow_arg_area_p117, align 8 + %84 = bitcast i8* %overflow_arg_area118 to i8** + %overflow_arg_area.next119 = getelementptr i8, i8* %overflow_arg_area118, i32 8 + store i8* %overflow_arg_area.next119, i8** %overflow_arg_area_p117, align 8 + br label %vaarg.end120 + +vaarg.end120: ; preds = %vaarg.in_mem116, %vaarg.in_reg114 + %vaarg.addr121 = phi i8** [ %82, %vaarg.in_reg114 ], [ %84, %vaarg.in_mem116 ] + %85 = load i8*, i8** %vaarg.addr121, align 8 + %86 = load %union.anon.193*, %union.anon.193** %p, align 8 + %p122 = bitcast %union.anon.193* %86 to i8** + store i8* %85, i8** %p122, align 8 + br label %sw.epilog + +sw.epilog: ; preds = %vaarg.end120, %vaarg.end106, %vaarg.end92, %vaarg.end81, %vaarg.end66, %vaarg.end52, %vaarg.end38 + %87 = load %union.anon.193*, %union.anon.193** %p, align 8 + %incdec.ptr = getelementptr inbounds %union.anon.193, %union.anon.193* %87, i32 1 + store %union.anon.193* %incdec.ptr, %union.anon.193** %p, align 8 + br label %while.cond + +if.else: ; preds = %entry + br i1 %cmp1, label %if.then127, label %if.end133 + +if.then127: ; preds = %if.else + %88 = load %union.anon.193*, %union.anon.193** %p, align 8 + %89 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %89, i32 0, i32 5 + %arrayidx128 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber, i64 0, i64 0 + %90 = load i8, i8* %arrayidx128, align 8 + %conv = zext i8 %90 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds %union.anon.193, %union.anon.193* %88, i64 %idx.ext + %add.ptr129 = getelementptr inbounds %union.anon.193, %union.anon.193* %add.ptr, i64 -1 + %u130 = bitcast %union.anon.193* %add.ptr129 to i32* + %91 = load i32, i32* %u130, align 8 + %92 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info131 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %92, i32 0, i32 1 + %width132 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info131, i32 0, i32 1 + store i32 %91, i32* %width132, align 4 + br label %if.end133 + +if.end133: ; preds = %if.then127, %if.else + %93 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info134 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %93, i32 0, i32 1 + %prec135 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info134, i32 0, i32 0 + %94 = load i32, i32* %prec135, align 8 + %cmp136 = icmp eq i32 %94, -2147483648 + br i1 %cmp136, label %if.then138, label %if.end149 + +if.then138: ; preds = %if.end133 + %95 = load %union.anon.193*, %union.anon.193** %p, align 8 + %96 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber139 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %96, i32 0, i32 5 + %arrayidx140 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber139, i64 0, i64 1 + %97 = load i8, i8* %arrayidx140, align 1 + %conv141 = zext i8 %97 to i32 + %idx.ext142 = sext i32 %conv141 to i64 + %add.ptr143 = getelementptr inbounds %union.anon.193, %union.anon.193* %95, i64 %idx.ext142 + %add.ptr144 = getelementptr inbounds %union.anon.193, %union.anon.193* %add.ptr143, i64 -1 + %u145 = bitcast %union.anon.193* %add.ptr144 to i32* + %98 = load i32, i32* %u145, align 8 + %99 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info146 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %99, i32 0, i32 1 + %prec147 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info146, i32 0, i32 0 + store i32 %98, i32* %prec147, align 8 + br label %if.end149 + +if.end149: ; preds = %if.end133, %if.then138, %while.cond + %100 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info150 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %100, i32 0, i32 1 + %width151 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info150, i32 0, i32 1 + %101 = load i32, i32* %width151, align 4 + %cmp152 = icmp slt i32 %101, 0 + br i1 %cmp152, label %if.then154, label %if.end163 + +if.then154: ; preds = %if.end149 + %102 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info155 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %102, i32 0, i32 1 + %width156 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info155, i32 0, i32 1 + %103 = load i32, i32* %width156, align 4 + %sub = sub nsw i32 0, %103 + %104 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info157 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %104, i32 0, i32 1 + %width158 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info157, i32 0, i32 1 + store i32 %sub, i32* %width158, align 4 + %105 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info159 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %105, i32 0, i32 1 + %_flags = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info159, i32 0, i32 3 + %106 = load i32, i32* %_flags, align 4 + %or = or i32 %106, 8 + store i32 %or, i32* %_flags, align 4 + %107 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info160 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %107, i32 0, i32 1 + %_flags161 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info160, i32 0, i32 3 + %108 = load i32, i32* %_flags161, align 4 + %and = and i32 %108, -2 + store i32 %and, i32* %_flags161, align 4 + %109 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info162 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %109, i32 0, i32 1 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info162, i32 0, i32 4 + store i32 32, i32* %pad, align 8 + br label %if.end163 + +if.end163: ; preds = %if.then154, %if.end149 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_store_inttype(i8* %dest, i32 %desttype, i64 %val) #0 { +entry: + %dest.addr = alloca i8*, align 8 + %desttype.addr = alloca i32, align 4 + %val.addr = alloca i64, align 8 + store i8* %dest, i8** %dest.addr, align 8 + store i32 %desttype, i32* %desttype.addr, align 4 + store i64 %val, i64* %val.addr, align 8 + %0 = load i32, i32* %desttype.addr, align 4 + %cmp = icmp eq i32 %0, 256 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load i64, i64* %val.addr, align 8 + %conv = trunc i64 %1 to i8 + %2 = load i8*, i8** %dest.addr, align 8 + store i8 %conv, i8* %2, align 1 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* %desttype.addr, align 4 + %cmp1 = icmp eq i32 %3, 2048 + br i1 %cmp1, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.end + %4 = load i64, i64* %val.addr, align 8 + %5 = load i8*, i8** %dest.addr, align 8 + %6 = bitcast i8* %5 to i64* + store i64 %4, i64* %6, align 8 + br label %return + +if.end4: ; preds = %if.end + %7 = load i32, i32* %desttype.addr, align 4 + %cmp5 = icmp eq i32 %7, 512 + br i1 %cmp5, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end4 + %8 = load i64, i64* %val.addr, align 8 + %conv8 = trunc i64 %8 to i16 + %9 = load i8*, i8** %dest.addr, align 8 + %10 = bitcast i8* %9 to i16* + store i16 %conv8, i16* %10, align 2 + br label %return + +if.end9: ; preds = %if.end4 + %11 = load i32, i32* %desttype.addr, align 4 + %cmp10 = icmp eq i32 %11, 1024 + %12 = load i64, i64* %val.addr, align 8 + br i1 %cmp10, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.end9 + %13 = load i8*, i8** %dest.addr, align 8 + %14 = bitcast i8* %13 to i64* + store i64 %12, i64* %14, align 8 + br label %return + +if.end13: ; preds = %if.end9 + %conv14 = trunc i64 %12 to i32 + %15 = load i8*, i8** %dest.addr, align 8 + %16 = bitcast i8* %15 to i32* + store i32 %conv14, i32* %16, align 4 + br label %return + +return: ; preds = %if.end13, %if.then12, %if.then7, %if.then3, %if.then + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden i8* @_uintmaxtostr(i8* noalias %bufend, i64 %uval, i32 %base, i32 %alphacase) #0 { +entry: + %bufend.addr = alloca i8*, align 8 + %uval.addr = alloca i64, align 8 + %base.addr = alloca i32, align 4 + %alphacase.addr = alloca i32, align 4 + %negative = alloca i32, align 4 + %digit = alloca i32, align 4 + %H = alloca i32, align 4 + %L = alloca i32, align 4 + %high = alloca i32, align 4 + %low = alloca i32, align 4 + %rh = alloca i32, align 4 + %grouping = alloca i32, align 4 + %outdigit = alloca i32, align 4 + %g = alloca i8*, align 8 + store i8* %bufend, i8** %bufend.addr, align 8 + store i64 %uval, i64* %uval.addr, align 8 + store i32 %base, i32* %base.addr, align 4 + store i32 %alphacase, i32* %alphacase.addr, align 4 + store i32 0, i32* %negative, align 4 + %0 = load i32, i32* %base.addr, align 4 + %cmp = icmp slt i32 %0, 0 + br i1 %cmp, label %if.then, label %if.end4 + +if.then: ; preds = %entry + %1 = load i32, i32* %base.addr, align 4 + %sub = sub nsw i32 0, %1 + store i32 %sub, i32* %base.addr, align 4 + %2 = load i64, i64* %uval.addr, align 8 + %cmp1 = icmp ugt i64 %2, 9223372036854775807 + br i1 %cmp1, label %if.then2, label %if.end4 + +if.then2: ; preds = %if.then + %3 = load i64, i64* %uval.addr, align 8 + %sub3 = sub i64 0, %3 + store i64 %sub3, i64* %uval.addr, align 8 + store i32 1, i32* %negative, align 4 + br label %if.end4 + +if.end4: ; preds = %if.then, %if.then2, %entry + store i32 -1, i32* %grouping, align 4 + %4 = load i32, i32* %alphacase.addr, align 4 + %and = and i32 128, %4 + store i32 %and, i32* %outdigit, align 4 + %5 = load i32, i32* %outdigit, align 4 + %6 = load i32, i32* %alphacase.addr, align 4 + %xor = xor i32 %6, %5 + store i32 %xor, i32* %alphacase.addr, align 4 + %7 = load i32, i32* %alphacase.addr, align 4 + %cmp5 = icmp eq i32 %7, 44 + br i1 %cmp5, label %if.then6, label %if.end10 + +if.then6: ; preds = %if.end4 + %8 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %grouping7 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %8, i32 0, i32 41 + %9 = load i8*, i8** %grouping7, align 8 + store i8* %9, i8** %g, align 8 + %10 = load i8, i8* %9, align 1 + %tobool = icmp ne i8 %10, 0 + br i1 %tobool, label %if.then8, label %if.end10 + +if.then8: ; preds = %if.then6 + %11 = load i8*, i8** %g, align 8 + %12 = load i8, i8* %11, align 1 + %conv = sext i8 %12 to i32 + store i32 %conv, i32* %grouping, align 4 + br label %if.end10 + +if.end10: ; preds = %if.then6, %if.then8, %if.end4 + %13 = load i8*, i8** %bufend.addr, align 8 + store i8 0, i8* %13, align 1 + %14 = load i32, i32* %base.addr, align 4 + %div = udiv i32 -1, %14 + store i32 %div, i32* %H, align 4 + %15 = load i32, i32* %base.addr, align 4 + %rem = urem i32 -1, %15 + %add = add i32 %rem, 1 + store i32 %add, i32* %L, align 4 + %16 = load i32, i32* %L, align 4 + %17 = load i32, i32* %base.addr, align 4 + %cmp11 = icmp eq i32 %16, %17 + br i1 %cmp11, label %if.then13, label %if.end14 + +if.then13: ; preds = %if.end10 + %18 = load i32, i32* %H, align 4 + %inc = add i32 %18, 1 + store i32 %inc, i32* %H, align 4 + store i32 0, i32* %L, align 4 + br label %if.end14 + +if.end14: ; preds = %if.then13, %if.end10 + %19 = load i64, i64* %uval.addr, align 8 + %conv15 = trunc i64 %19 to i32 + store i32 %conv15, i32* %low, align 4 + %20 = load i64, i64* %uval.addr, align 8 + %shr = lshr i64 %20, 32 + %conv16 = trunc i64 %shr to i32 + store i32 %conv16, i32* %high, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %if.end14 + %21 = load i32, i32* %grouping, align 4 + %tobool17 = icmp ne i32 %21, 0 + br i1 %tobool17, label %if.end27, label %if.then18 + +if.then18: ; preds = %do.body + %22 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %thousands_sep_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %22, i32 0, i32 27 + %23 = load i32, i32* %thousands_sep_len, align 4 + %24 = load i8*, i8** %bufend.addr, align 8 + %idx.ext = sext i32 %23 to i64 + %idx.neg = sub i64 0, %idx.ext + %add.ptr = getelementptr inbounds i8, i8* %24, i64 %idx.neg + store i8* %add.ptr, i8** %bufend.addr, align 8 + %25 = load i8*, i8** %bufend.addr, align 8 + %26 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %thousands_sep = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %26, i32 0, i32 40 + %27 = load i8*, i8** %thousands_sep, align 8 + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %thousands_sep_len19 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %28, i32 0, i32 27 + %29 = load i32, i32* %thousands_sep_len19, align 4 + %conv20 = sext i32 %29 to i64 + %call = call i8* @memcpy(i8* %25, i8* %27, i64 %conv20) #19 + %30 = load i8*, i8** %g, align 8 + %arrayidx = getelementptr inbounds i8, i8* %30, i64 1 + %31 = load i8, i8* %arrayidx, align 1 + %conv21 = sext i8 %31 to i32 + %cmp22 = icmp ne i32 %conv21, 0 + br i1 %cmp22, label %if.then24, label %if.end25 + +if.then24: ; preds = %if.then18 + %32 = load i8*, i8** %g, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %32, i32 1 + store i8* %incdec.ptr, i8** %g, align 8 + br label %if.end25 + +if.end25: ; preds = %if.then24, %if.then18 + %33 = load i8*, i8** %g, align 8 + %34 = load i8, i8* %33, align 1 + %conv26 = sext i8 %34 to i32 + store i32 %conv26, i32* %grouping, align 4 + br label %if.end27 + +if.end27: ; preds = %if.end25, %do.body + %35 = load i32, i32* %grouping, align 4 + %dec = add nsw i32 %35, -1 + store i32 %dec, i32* %grouping, align 4 + %36 = load i32, i32* %high, align 4 + %tobool28 = icmp ne i32 %36, 0 + %lnot = xor i1 %tobool28, true + %lnot29 = xor i1 %lnot, true + %lnot.ext = zext i1 %lnot29 to i32 + %conv30 = sext i32 %lnot.ext to i64 + %tobool31 = icmp ne i64 %conv30, 0 + br i1 %tobool31, label %if.then32, label %if.else + +if.then32: ; preds = %if.end27 + %37 = load i32, i32* %high, align 4 + %38 = load i32, i32* %base.addr, align 4 + %rem33 = urem i32 %37, %38 + store i32 %rem33, i32* %rh, align 4 + %39 = load i32, i32* %base.addr, align 4 + %40 = load i32, i32* %high, align 4 + %div34 = udiv i32 %40, %39 + store i32 %div34, i32* %high, align 4 + %41 = load i32, i32* %low, align 4 + %42 = load i32, i32* %base.addr, align 4 + %rem35 = urem i32 %41, %42 + %43 = load i32, i32* %L, align 4 + %44 = load i32, i32* %rh, align 4 + %mul = mul i32 %43, %44 + %add36 = add i32 %rem35, %mul + store i32 %add36, i32* %digit, align 4 + %45 = load i32, i32* %low, align 4 + %46 = load i32, i32* %base.addr, align 4 + %div37 = udiv i32 %45, %46 + %47 = load i32, i32* %H, align 4 + %48 = load i32, i32* %rh, align 4 + %mul38 = mul i32 %47, %48 + %add39 = add i32 %div37, %mul38 + %49 = load i32, i32* %digit, align 4 + %50 = load i32, i32* %base.addr, align 4 + %div40 = udiv i32 %49, %50 + %add41 = add i32 %add39, %div40 + store i32 %add41, i32* %low, align 4 + %51 = load i32, i32* %base.addr, align 4 + %52 = load i32, i32* %digit, align 4 + %rem42 = urem i32 %52, %51 + store i32 %rem42, i32* %digit, align 4 + br label %if.end45 + +if.else: ; preds = %if.end27 + %53 = load i32, i32* %low, align 4 + %54 = load i32, i32* %base.addr, align 4 + %rem43 = urem i32 %53, %54 + store i32 %rem43, i32* %digit, align 4 + %55 = load i32, i32* %base.addr, align 4 + %56 = load i32, i32* %low, align 4 + %div44 = udiv i32 %56, %55 + store i32 %div44, i32* %low, align 4 + br label %if.end45 + +if.end45: ; preds = %if.else, %if.then32 + %57 = load i32, i32* %outdigit, align 4 + %tobool46 = icmp ne i32 %57, 0 + %lnot47 = xor i1 %tobool46, true + %lnot49 = xor i1 %lnot47, true + %lnot.ext50 = zext i1 %lnot49 to i32 + %conv51 = sext i32 %lnot.ext50 to i64 + %tobool52 = icmp ne i64 %conv51, 0 + br i1 %tobool52, label %if.then53, label %if.else66 + +if.then53: ; preds = %if.end45 + %58 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %outdigit_length = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %58, i32 0, i32 11 + %59 = load i32, i32* %digit, align 4 + %idxprom = zext i32 %59 to i64 + %arrayidx54 = getelementptr inbounds [10 x i8], [10 x i8]* %outdigit_length, i64 0, i64 %idxprom + %60 = load i8, i8* %arrayidx54, align 1 + %conv55 = zext i8 %60 to i32 + %61 = load i8*, i8** %bufend.addr, align 8 + %idx.ext56 = sext i32 %conv55 to i64 + %idx.neg57 = sub i64 0, %idx.ext56 + %add.ptr58 = getelementptr inbounds i8, i8* %61, i64 %idx.neg57 + store i8* %add.ptr58, i8** %bufend.addr, align 8 + %62 = load i8*, i8** %bufend.addr, align 8 + %63 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %outdigit0_mb = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %63, i32 0, i32 28 + %64 = load i32, i32* %digit, align 4 + %idxprom59 = zext i32 %64 to i64 + %arrayidx60 = getelementptr inbounds i8*, i8** %outdigit0_mb, i64 %idxprom59 + %65 = load i8*, i8** %arrayidx60, align 8 + %66 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %outdigit_length61 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %66, i32 0, i32 11 + %67 = load i32, i32* %digit, align 4 + %idxprom62 = zext i32 %67 to i64 + %arrayidx63 = getelementptr inbounds [10 x i8], [10 x i8]* %outdigit_length61, i64 0, i64 %idxprom62 + %68 = load i8, i8* %arrayidx63, align 1 + %conv64 = zext i8 %68 to i64 + %call65 = call i8* @memcpy(i8* %62, i8* %65, i64 %conv64) #19 + br label %do.cond + +if.else66: ; preds = %if.end45 + %69 = load i32, i32* %digit, align 4 + %cmp67 = icmp ult i32 %69, 10 + %70 = load i32, i32* %digit, align 4 + %add69 = add i32 %70, 48 + %71 = load i32, i32* %alphacase.addr, align 4 + %add70 = add i32 %70, %71 + %cond = select i1 %cmp67, i32 %add69, i32 %add70 + %conv71 = trunc i32 %cond to i8 + %72 = load i8*, i8** %bufend.addr, align 8 + %incdec.ptr72 = getelementptr inbounds i8, i8* %72, i32 -1 + store i8* %incdec.ptr72, i8** %bufend.addr, align 8 + store i8 %conv71, i8* %incdec.ptr72, align 1 + br label %do.cond + +do.cond: ; preds = %if.then53, %if.else66 + %73 = load i32, i32* %low, align 4 + %74 = load i32, i32* %high, align 4 + %or = or i32 %73, %74 + %tobool74 = icmp ne i32 %or, 0 + br i1 %tobool74, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %75 = load i32, i32* %negative, align 4 + %tobool75 = icmp ne i32 %75, 0 + br i1 %tobool75, label %if.then76, label %if.end78 + +if.then76: ; preds = %do.end + %76 = load i8*, i8** %bufend.addr, align 8 + %incdec.ptr77 = getelementptr inbounds i8, i8* %76, i32 -1 + store i8* %incdec.ptr77, i8** %bufend.addr, align 8 + store i8 45, i8* %incdec.ptr77, align 1 + br label %if.end78 + +if.end78: ; preds = %if.then76, %do.end + %77 = load i8*, i8** %bufend.addr, align 8 + ret i8* %77 +} + +; Function Attrs: noinline nounwind uwtable +define hidden %struct.exit_function* @__new_exitfn() #0 { +entry: + %efp = alloca %struct.exit_function*, align 8 + %0 = load i32, i32* @__exit_slots, align 4 + %1 = load i32, i32* @__exit_count, align 4 + %add = add nsw i32 %1, 1 + %cmp = icmp slt i32 %0, %add + br i1 %cmp, label %if.then, label %if.end6 + +if.then: ; preds = %entry + %2 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + %3 = bitcast %struct.exit_function* %2 to i8* + %4 = load i32, i32* @__exit_slots, align 4 + %add1 = add nsw i32 %4, 20 + %conv = sext i32 %add1 to i64 + %mul = mul i64 %conv, 32 + %call = call noalias i8* @realloc(i8* %3, i64 %mul) #19 + %5 = bitcast i8* %call to %struct.exit_function* + store %struct.exit_function* %5, %struct.exit_function** %efp, align 8 + %6 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %cmp2 = icmp eq %struct.exit_function* %6, null + br i1 %cmp2, label %if.then4, label %if.end + +if.then4: ; preds = %if.then + store i32 12, i32* @errno, align 4 + br label %DONE + +if.end: ; preds = %if.then + %7 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + store %struct.exit_function* %7, %struct.exit_function** @__exit_function_table, align 8 + %8 = load i32, i32* @__exit_slots, align 4 + %add5 = add nsw i32 %8, 20 + store i32 %add5, i32* @__exit_slots, align 4 + br label %if.end6 + +if.end6: ; preds = %if.end, %entry + store void (i32)* @__exit_handler, void (i32)** @__exit_cleanup, align 8 + %9 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + %10 = load i32, i32* @__exit_count, align 4 + %inc = add nsw i32 %10, 1 + store i32 %inc, i32* @__exit_count, align 4 + %idxprom = sext i32 %10 to i64 + %arrayidx = getelementptr inbounds %struct.exit_function, %struct.exit_function* %9, i64 %idxprom + store %struct.exit_function* %arrayidx, %struct.exit_function** %efp, align 8 + %11 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %type = getelementptr inbounds %struct.exit_function, %struct.exit_function* %11, i32 0, i32 0 + store i64 1, i64* %type, align 8 + br label %DONE + +DONE: ; preds = %if.end6, %if.then4 + %12 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + ret %struct.exit_function* %12 +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @__exit_handler(i32 %status) #0 { +entry: + %status.addr = alloca i32, align 4 + %efp = alloca %struct.exit_function*, align 8 + store i32 %status, i32* %status.addr, align 4 + br label %while.cond + +while.cond: ; preds = %sw.epilog, %entry + %0 = load i32, i32* @__exit_count, align 4 + %tobool = icmp ne i32 %0, 0 + %1 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %2 = load i32, i32* @__exit_count, align 4 + %dec = add nsw i32 %2, -1 + store i32 %dec, i32* @__exit_count, align 4 + %idxprom = sext i32 %dec to i64 + %arrayidx = getelementptr inbounds %struct.exit_function, %struct.exit_function* %1, i64 %idxprom + store %struct.exit_function* %arrayidx, %struct.exit_function** %efp, align 8 + %3 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %type = getelementptr inbounds %struct.exit_function, %struct.exit_function* %3, i32 0, i32 0 + %4 = load i64, i64* %type, align 8 + br label %NodeBlock1 + +NodeBlock1: ; preds = %while.body + %case.cmp2 = icmp eq i64 %4, 2 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i64 %4, 3 + br i1 %case.cmp, label %sw.bb7, label %newDefault + +sw.bb: ; preds = %NodeBlock1 + %5 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs = getelementptr inbounds %struct.exit_function, %struct.exit_function* %5, i32 0, i32 1 + %on_exit = bitcast %union.anon.772* %funcs to %struct.anon.779* + %func = getelementptr inbounds %struct.anon.779, %struct.anon.779* %on_exit, i32 0, i32 0 + %6 = load void (i32, i8*)*, void (i32, i8*)** %func, align 8 + %tobool1 = icmp ne void (i32, i8*)* %6, null + br i1 %tobool1, label %if.then, label %sw.epilog + +if.then: ; preds = %sw.bb + %7 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs2 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %7, i32 0, i32 1 + %on_exit3 = bitcast %union.anon.772* %funcs2 to %struct.anon.779* + %func4 = getelementptr inbounds %struct.anon.779, %struct.anon.779* %on_exit3, i32 0, i32 0 + %8 = load void (i32, i8*)*, void (i32, i8*)** %func4, align 8 + %9 = load i32, i32* %status.addr, align 4 + %10 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs5 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %10, i32 0, i32 1 + %on_exit6 = bitcast %union.anon.772* %funcs5 to %struct.anon.779* + %arg = getelementptr inbounds %struct.anon.779, %struct.anon.779* %on_exit6, i32 0, i32 1 + %11 = load i8*, i8** %arg, align 8 + call void %8(i32 %9, i8* %11) #18 + br label %sw.epilog + +sw.bb7: ; preds = %NodeBlock + %12 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs8 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %12, i32 0, i32 1 + %cxa_atexit = bitcast %union.anon.772* %funcs8 to %struct.anon.0.771* + %func9 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit, i32 0, i32 0 + %13 = load void (i8*)*, void (i8*)** %func9, align 8 + %tobool10 = icmp ne void (i8*)* %13, null + br i1 %tobool10, label %if.then11, label %sw.epilog + +if.then11: ; preds = %sw.bb7 + %14 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs12 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %14, i32 0, i32 1 + %cxa_atexit13 = bitcast %union.anon.772* %funcs12 to %struct.anon.0.771* + %func14 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit13, i32 0, i32 0 + %15 = load void (i8*)*, void (i8*)** %func14, align 8 + %16 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs15 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %16, i32 0, i32 1 + %cxa_atexit16 = bitcast %union.anon.772* %funcs15 to %struct.anon.0.771* + %arg17 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit16, i32 0, i32 1 + %17 = load i8*, i8** %arg17, align 8 + call void %15(i8* %17) #18 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.epilog + +sw.epilog: ; preds = %newDefault, %sw.bb7, %if.then11, %sw.bb, %if.then + br label %while.cond + +while.end: ; preds = %while.cond + %tobool19 = icmp ne %struct.exit_function* %1, null + br i1 %tobool19, label %if.then20, label %if.end21 + +if.then20: ; preds = %while.end + %18 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + %19 = bitcast %struct.exit_function* %18 to i8* + call void @free(i8* %19) #19 + br label %if.end21 + +if.end21: ; preds = %if.then20, %while.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__xpg_strerror_r(i32 %errnum, i8* %strerrbuf, i64 %buflen) #0 { +entry: + %errnum.addr = alloca i32, align 4 + %strerrbuf.addr = alloca i8*, align 8 + %buflen.addr = alloca i64, align 8 + %s = alloca i8*, align 8 + %i = alloca i32, align 4 + %retval1 = alloca i32, align 4 + %buf = alloca [50 x i8], align 16 + store i32 %errnum, i32* %errnum.addr, align 4 + store i8* %strerrbuf, i8** %strerrbuf.addr, align 8 + store i64 %buflen, i64* %buflen.addr, align 8 + store i32 22, i32* %retval1, align 4 + %0 = load i32, i32* %errnum.addr, align 4 + store i32 %0, i32* %i, align 4 + %1 = load i32, i32* %i, align 4 + %cmp = icmp ult i32 %1, 125 + br i1 %cmp, label %if.then, label %if.end7 + +if.then: ; preds = %entry + store i8* getelementptr inbounds ([2906 x i8], [2906 x i8]* @_string_syserrmsgs, i64 0, i64 0), i8** %s, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.then + %2 = load i32, i32* %i, align 4 + %tobool = icmp ne i32 %2, 0 + %3 = load i8*, i8** %s, align 8 + %4 = load i8, i8* %3, align 1 + %tobool2 = icmp ne i8 %4, 0 + br i1 %tobool, label %for.body, label %for.end + +for.body: ; preds = %for.cond + br i1 %tobool2, label %for.inc, label %if.then3 + +if.then3: ; preds = %for.body + %5 = load i32, i32* %i, align 4 + %dec = add nsw i32 %5, -1 + store i32 %dec, i32* %i, align 4 + br label %for.inc + +for.inc: ; preds = %for.body, %if.then3 + %6 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + br i1 %tobool2, label %if.then5, label %if.end7 + +if.then5: ; preds = %for.end + store i32 0, i32* %retval1, align 4 + br label %GOT_MESG + +if.end7: ; preds = %for.end, %entry + %arraydecay = getelementptr inbounds [50 x i8], [50 x i8]* %buf, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 50 + %add.ptr8 = getelementptr inbounds i8, i8* %add.ptr, i64 -1 + %7 = load i32, i32* %errnum.addr, align 4 + %conv = sext i32 %7 to i64 + %call = call i8* @_uintmaxtostr(i8* %add.ptr8, i64 %conv, i32 -10, i32 0) #18 + %add.ptr9 = getelementptr inbounds i8, i8* %call, i64 -14 + store i8* %add.ptr9, i8** %s, align 8 + %8 = load i8*, i8** %s, align 8 + %call10 = call i8* @memcpy(i8* %8, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @__xpg_strerror_r.unknown, i64 0, i64 0), i64 14) #19 + br label %GOT_MESG + +GOT_MESG: ; preds = %if.end7, %if.then5 + %9 = load i8*, i8** %strerrbuf.addr, align 8 + %tobool11 = icmp ne i8* %9, null + br i1 %tobool11, label %if.end13, label %if.then12 + +if.then12: ; preds = %GOT_MESG + store i64 0, i64* %buflen.addr, align 8 + br label %if.end13 + +if.end13: ; preds = %if.then12, %GOT_MESG + %10 = load i8*, i8** %s, align 8 + %call14 = call i64 @strlen(i8* %10) #20 + %add = add i64 %call14, 1 + %conv15 = trunc i64 %add to i32 + store i32 %conv15, i32* %i, align 4 + %11 = load i32, i32* %i, align 4 + %conv16 = sext i32 %11 to i64 + %12 = load i64, i64* %buflen.addr, align 8 + %cmp17 = icmp ugt i64 %conv16, %12 + br i1 %cmp17, label %if.then19, label %if.end21 + +if.then19: ; preds = %if.end13 + %13 = load i64, i64* %buflen.addr, align 8 + %conv20 = trunc i64 %13 to i32 + store i32 %conv20, i32* %i, align 4 + store i32 34, i32* %retval1, align 4 + br label %if.end21 + +if.end21: ; preds = %if.then19, %if.end13 + %14 = load i32, i32* %i, align 4 + %tobool22 = icmp ne i32 %14, 0 + br i1 %tobool22, label %if.then23, label %if.end26 + +if.then23: ; preds = %if.end21 + %15 = load i8*, i8** %strerrbuf.addr, align 8 + %16 = load i8*, i8** %s, align 8 + %17 = load i32, i32* %i, align 4 + %conv24 = sext i32 %17 to i64 + %call25 = call i8* @memcpy(i8* %15, i8* %16, i64 %conv24) #19 + %18 = load i8*, i8** %strerrbuf.addr, align 8 + %19 = load i32, i32* %i, align 4 + %sub = sub nsw i32 %19, 1 + %idxprom = sext i32 %sub to i64 + %arrayidx = getelementptr inbounds i8, i8* %18, i64 %idxprom + store i8 0, i8* %arrayidx, align 1 + br label %if.end26 + +if.end26: ; preds = %if.then23, %if.end21 + %20 = load i32, i32* %retval1, align 4 + %tobool27 = icmp ne i32 %20, 0 + br i1 %tobool27, label %if.then28, label %if.end29 + +if.then28: ; preds = %if.end26 + %21 = load i32, i32* %retval1, align 4 + store i32 %21, i32* @errno, align 4 + br label %if.end29 + +if.end29: ; preds = %if.then28, %if.end26 + %22 = load i32, i32* %retval1, align 4 + ret i32 %22 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @memchr(i8* nonnull %s, i32 %c, i64 %n) #14 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %n.addr = alloca i64, align 8 + %r = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %r, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %1 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %2 = load i8*, i8** %r, align 8 + %3 = load i8, i8* %2, align 1 + %conv = zext i8 %3 to i32 + %4 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %4 to i8 + %conv2 = zext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + %5 = load i8*, i8** %r, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + store i8* %5, i8** %retval, align 8 + br label %return + +if.end: ; preds = %while.body + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %r, align 8 + %6 = load i64, i64* %n.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then + %7 = load i8*, i8** %retval, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @memrchr(i8* nonnull %s, i32 %c, i64 %n) #14 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %n.addr = alloca i64, align 8 + %r = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i64, i64* %n.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %0, i64 %1 + store i8* %add.ptr, i8** %r, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %2 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load i8*, i8** %r, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 -1 + store i8* %incdec.ptr, i8** %r, align 8 + %4 = load i8, i8* %incdec.ptr, align 1 + %conv = zext i8 %4 to i32 + %5 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %5 to i8 + %conv2 = zext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + %6 = load i8*, i8** %r, align 8 + store i8* %6, i8** %retval, align 8 + br label %return + +if.end: ; preds = %while.body + %7 = load i64, i64* %n.addr, align 8 + %dec = add i64 %7, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then + %8 = load i8*, i8** %retval, align 8 + ret i8* %8 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i64 @strnlen(i8* nonnull %s, i64 %max) #14 { +entry: + %s.addr = alloca i8*, align 8 + %max.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i64 %max, i64* %max.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %1 = load i64, i64* %max.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %2 = load i8*, i8** %p, align 8 + %3 = load i8, i8* %2, align 1 + %conv = sext i8 %3 to i32 + %tobool1 = icmp ne i32 %conv, 0 + br label %land.end + +land.end: ; preds = %land.rhs, %while.cond + %4 = phi i1 [ false, %while.cond ], [ %tobool1, %land.rhs ] + %5 = load i8*, i8** %p, align 8 + br i1 %4, label %while.body, label %while.end + +while.body: ; preds = %land.end + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %6 = load i64, i64* %max.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %max.addr, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %7 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind uwtable +define i8* @strtok_r(i8* noalias %s1, i8* noalias nonnull %s2, i8** noalias nonnull %next_start) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %next_start.addr = alloca i8**, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i8** %next_start, i8*** %next_start.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + %cmp = icmp ne i8* %0, null + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %1 = load i8**, i8*** %next_start.addr, align 8 + %2 = load i8*, i8** %1, align 8 + store i8* %2, i8** %s, align 8 + %cmp1 = icmp ne i8* %2, null + br i1 %cmp1, label %if.then, label %if.end7 + +if.then: ; preds = %lor.lhs.false, %entry + %3 = load i8*, i8** %s, align 8 + %4 = load i8*, i8** %s2.addr, align 8 + %call = call i64 @strspn(i8* %3, i8* %4) #20 + %5 = load i8*, i8** %s, align 8 + %add.ptr = getelementptr inbounds i8, i8* %5, i64 %call + store i8* %add.ptr, i8** %s, align 8 + %6 = load i8, i8* %add.ptr, align 1 + %tobool = icmp ne i8 %6, 0 + br i1 %tobool, label %if.then2, label %if.else + +if.then2: ; preds = %if.then + %7 = load i8*, i8** %s, align 8 + %8 = load i8*, i8** %s2.addr, align 8 + %call3 = call i8* @strpbrk(i8* %7, i8* %8) #20 + store i8* %call3, i8** %p, align 8 + %cmp4 = icmp ne i8* %call3, null + br i1 %cmp4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.then2 + %9 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + store i8 0, i8* %9, align 1 + br label %if.end6 + +if.else: ; preds = %if.then + store i8* null, i8** %s, align 8 + store i8* null, i8** %p, align 8 + br label %if.end6 + +if.end6: ; preds = %if.then2, %if.then5, %if.else + %10 = load i8*, i8** %p, align 8 + %11 = load i8**, i8*** %next_start.addr, align 8 + store i8* %10, i8** %11, align 8 + br label %if.end7 + +if.end7: ; preds = %if.end6, %lor.lhs.false + %12 = load i8*, i8** %s, align 8 + ret i8* %12 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @mbsrtowcs(i32* noalias %dst, i8** noalias %src, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %dst.addr = alloca i32*, align 8 + %src.addr = alloca i8**, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + store i32* %dst, i32** %dst.addr, align 8 + store i8** %src, i8*** %src.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load i32*, i32** %dst.addr, align 8 + %1 = load i8**, i8*** %src.addr, align 8 + %2 = load i64, i64* %len.addr, align 8 + %3 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %cmp = icmp ne %struct.__mbstate_t.512* %3, null + %4 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %cond = select i1 %cmp, %struct.__mbstate_t.512* %4, %struct.__mbstate_t.512* @mbsrtowcs.mbstate + %call = call i64 @mbsnrtowcs(i32* %0, i8** %1, i64 -1, i64 %2, %struct.__mbstate_t.512* %cond) #19 + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define i64 @wcsnrtombs(i8* noalias %dst, i32** noalias %src, i64 %NWC, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %retval = alloca i64, align 8 + %dst.addr = alloca i8*, align 8 + %src.addr = alloca i32**, align 8 + %NWC.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %s = alloca i32*, align 8 + %count = alloca i64, align 8 + %incr = alloca i32, align 4 + %buf = alloca [16 x i8], align 16 + %wc = alloca i32, align 4 + %u = alloca i32, align 4 + store i8* %dst, i8** %dst.addr, align 8 + store i32** %src, i32*** %src.addr, align 8 + store i64 %NWC, i64* %NWC.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 9 + %1 = load i8, i8* %encoding, align 8 + %conv = zext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load i8*, i8** %dst.addr, align 8 + %3 = load i64, i64* %len.addr, align 8 + %4 = load i32**, i32*** %src.addr, align 8 + %5 = load i64, i64* %NWC.addr, align 8 + %call = call i64 @_wchar_wcsntoutf8s(i8* %2, i64 %3, i32** %4, i64 %5) #18 + store i64 %call, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + store i32 1, i32* %incr, align 4 + %6 = load i8*, i8** %dst.addr, align 8 + %tobool = icmp ne i8* %6, null + br i1 %tobool, label %lor.lhs.false, label %if.then4 + +lor.lhs.false: ; preds = %if.end + %7 = load i8*, i8** %dst.addr, align 8 + %8 = load i32**, i32*** %src.addr, align 8 + %9 = bitcast i32** %8 to i8* + %cmp2 = icmp eq i8* %7, %9 + br i1 %cmp2, label %if.then4, label %if.end8 + +if.then4: ; preds = %lor.lhs.false, %if.end + %10 = load i8*, i8** %dst.addr, align 8 + %tobool5 = icmp ne i8* %10, null + br i1 %tobool5, label %if.end7, label %if.then6 + +if.then6: ; preds = %if.then4 + store i64 -1, i64* %len.addr, align 8 + br label %if.end7 + +if.end7: ; preds = %if.then6, %if.then4 + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay, i8** %dst.addr, align 8 + store i32 0, i32* %incr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end7, %lor.lhs.false + %11 = load i64, i64* %len.addr, align 8 + %12 = load i64, i64* %NWC.addr, align 8 + %cmp9 = icmp ugt i64 %11, %12 + br i1 %cmp9, label %if.then11, label %if.end12 + +if.then11: ; preds = %if.end8 + %13 = load i64, i64* %NWC.addr, align 8 + store i64 %13, i64* %len.addr, align 8 + br label %if.end12 + +if.end12: ; preds = %if.then11, %if.end8 + %14 = load i64, i64* %len.addr, align 8 + store i64 %14, i64* %count, align 8 + %15 = load i32**, i32*** %src.addr, align 8 + %16 = load i32*, i32** %15, align 8 + store i32* %16, i32** %s, align 8 + %17 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding13 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %17, i32 0, i32 9 + %18 = load i8, i8* %encoding13, align 8 + %conv14 = zext i8 %18 to i32 + %cmp15 = icmp eq i32 %conv14, 2 + br i1 %cmp15, label %while.cond, label %while.cond52 + +while.cond: ; preds = %if.end12, %if.end45 + %19 = load i64, i64* %count, align 8 + %tobool18 = icmp ne i64 %19, 0 + br i1 %tobool18, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %20 = load i32*, i32** %s, align 8 + %21 = load i32, i32* %20, align 4 + store i32 %21, i32* %wc, align 4 + %cmp19 = icmp ule i32 %21, 127 + br i1 %cmp19, label %if.then21, label %if.else + +if.then21: ; preds = %while.body + %22 = load i32, i32* %wc, align 4 + %conv22 = trunc i32 %22 to i8 + %23 = load i8*, i8** %dst.addr, align 8 + store i8 %conv22, i8* %23, align 1 + %tobool23 = icmp ne i8 %conv22, 0 + br i1 %tobool23, label %if.end45, label %if.then24 + +if.then24: ; preds = %if.then21 + store i32* null, i32** %s, align 8 + br label %while.end + +if.else: ; preds = %while.body + store i32 0, i32* %u, align 4 + %24 = load i32, i32* %wc, align 4 + %cmp26 = icmp ule i32 %24, 9727 + br i1 %cmp26, label %if.then28, label %if.end42 + +if.then28: ; preds = %if.else + %25 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %idx8wc2c = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %25, i32 0, i32 18 + %26 = load i8*, i8** %idx8wc2c, align 8 + %27 = load i32, i32* %wc, align 4 + %shr = lshr i32 %27, 8 + %idxprom = zext i32 %shr to i64 + %arrayidx = getelementptr inbounds i8, i8* %26, i64 %idxprom + %28 = load i8, i8* %arrayidx, align 1 + %conv29 = zext i8 %28 to i32 + store i32 %conv29, i32* %u, align 4 + %29 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %tbl8wc2c = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %29, i32 0, i32 19 + %30 = load i8*, i8** %tbl8wc2c, align 8 + %31 = load i32, i32* %u, align 4 + %shl = shl i32 %31, 4 + %32 = load i32, i32* %wc, align 4 + %shr30 = lshr i32 %32, 4 + %and = and i32 %shr30, 15 + %add = add i32 %shl, %and + %idxprom31 = zext i32 %add to i64 + %arrayidx32 = getelementptr inbounds i8, i8* %30, i64 %idxprom31 + %33 = load i8, i8* %arrayidx32, align 1 + %conv33 = zext i8 %33 to i32 + store i32 %conv33, i32* %u, align 4 + %34 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %tbl8wc2c34 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %34, i32 0, i32 19 + %35 = load i8*, i8** %tbl8wc2c34, align 8 + %36 = load i32, i32* %u, align 4 + %shl35 = shl i32 %36, 4 + %add36 = add i32 1072, %shl35 + %37 = load i32, i32* %wc, align 4 + %and37 = and i32 %37, 15 + %add38 = add i32 %add36, %and37 + %idxprom39 = zext i32 %add38 to i64 + %arrayidx40 = getelementptr inbounds i8, i8* %35, i64 %idxprom39 + %38 = load i8, i8* %arrayidx40, align 1 + %conv41 = zext i8 %38 to i32 + store i32 %conv41, i32* %u, align 4 + br label %if.end42 + +if.end42: ; preds = %if.then28, %if.else + %39 = load i32, i32* %u, align 4 + %tobool43 = icmp ne i32 %39, 0 + %40 = load i32, i32* %u, align 4 + %cond = select i1 %tobool43, i32 %40, i32 63 + %conv44 = trunc i32 %cond to i8 + %41 = load i8*, i8** %dst.addr, align 8 + store i8 %conv44, i8* %41, align 1 + br label %if.end45 + +if.end45: ; preds = %if.then21, %if.end42 + %42 = load i32*, i32** %s, align 8 + %incdec.ptr = getelementptr inbounds i32, i32* %42, i32 1 + store i32* %incdec.ptr, i32** %s, align 8 + %43 = load i32, i32* %incr, align 4 + %44 = load i8*, i8** %dst.addr, align 8 + %idx.ext = sext i32 %43 to i64 + %add.ptr = getelementptr inbounds i8, i8* %44, i64 %idx.ext + store i8* %add.ptr, i8** %dst.addr, align 8 + %45 = load i64, i64* %count, align 8 + %dec = add i64 %45, -1 + store i64 %dec, i64* %count, align 8 + br label %while.cond + +while.end: ; preds = %if.then24, %while.cond + %46 = load i8*, i8** %dst.addr, align 8 + %arraydecay46 = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + %cmp47 = icmp ne i8* %46, %arraydecay46 + br i1 %cmp47, label %if.then49, label %if.end50 + +if.then49: ; preds = %while.end + %47 = load i32*, i32** %s, align 8 + %48 = load i32**, i32*** %src.addr, align 8 + store i32* %47, i32** %48, align 8 + br label %if.end50 + +if.end50: ; preds = %if.then49, %while.end + %49 = load i64, i64* %len.addr, align 8 + %50 = load i64, i64* %count, align 8 + %sub = sub i64 %49, %50 + store i64 %sub, i64* %retval, align 8 + br label %return + +while.cond52: ; preds = %if.end12, %if.end64 + %51 = load i64, i64* %count, align 8 + %tobool53 = icmp ne i64 %51, 0 + br i1 %tobool53, label %while.body54, label %while.end69 + +while.body54: ; preds = %while.cond52 + %52 = load i32*, i32** %s, align 8 + %53 = load i32, i32* %52, align 4 + %cmp55 = icmp uge i32 %53, 128 + br i1 %cmp55, label %if.then57, label %if.end58 + +if.then57: ; preds = %while.body54 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end58: ; preds = %while.body54 + %54 = load i32*, i32** %s, align 8 + %55 = load i32, i32* %54, align 4 + %conv59 = trunc i32 %55 to i8 + %56 = load i8*, i8** %dst.addr, align 8 + store i8 %conv59, i8* %56, align 1 + %conv60 = sext i8 %conv59 to i32 + %cmp61 = icmp eq i32 %conv60, 0 + br i1 %cmp61, label %if.then63, label %if.end64 + +if.then63: ; preds = %if.end58 + store i32* null, i32** %s, align 8 + br label %while.end69 + +if.end64: ; preds = %if.end58 + %57 = load i32*, i32** %s, align 8 + %incdec.ptr65 = getelementptr inbounds i32, i32* %57, i32 1 + store i32* %incdec.ptr65, i32** %s, align 8 + %58 = load i32, i32* %incr, align 4 + %59 = load i8*, i8** %dst.addr, align 8 + %idx.ext66 = sext i32 %58 to i64 + %add.ptr67 = getelementptr inbounds i8, i8* %59, i64 %idx.ext66 + store i8* %add.ptr67, i8** %dst.addr, align 8 + %60 = load i64, i64* %count, align 8 + %dec68 = add i64 %60, -1 + store i64 %dec68, i64* %count, align 8 + br label %while.cond52 + +while.end69: ; preds = %if.then63, %while.cond52 + %61 = load i8*, i8** %dst.addr, align 8 + %arraydecay70 = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + %cmp71 = icmp ne i8* %61, %arraydecay70 + br i1 %cmp71, label %if.then73, label %if.end74 + +if.then73: ; preds = %while.end69 + %62 = load i32*, i32** %s, align 8 + %63 = load i32**, i32*** %src.addr, align 8 + store i32* %62, i32** %63, align 8 + br label %if.end74 + +if.end74: ; preds = %if.then73, %while.end69 + %64 = load i64, i64* %len.addr, align 8 + %65 = load i64, i64* %count, align 8 + %sub75 = sub i64 %64, %65 + store i64 %sub75, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end74, %if.then57, %if.end50, %if.then + %66 = load i64, i64* %retval, align 8 + ret i64 %66 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @strpbrk(i8* nonnull %s1, i8* nonnull %s2) #14 { +entry: + %retval = alloca i8*, align 8 + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc6, %entry + %1 = load i8*, i8** %s, align 8 + %2 = load i8, i8* %1, align 1 + %tobool = icmp ne i8 %2, 0 + br i1 %tobool, label %for.body, label %for.end8 + +for.body: ; preds = %for.cond + %3 = load i8*, i8** %s2.addr, align 8 + store i8* %3, i8** %p, align 8 + br label %for.cond1 + +for.cond1: ; preds = %for.inc, %for.body + %4 = load i8*, i8** %p, align 8 + %5 = load i8, i8* %4, align 1 + %tobool2 = icmp ne i8 %5, 0 + br i1 %tobool2, label %for.body3, label %for.inc6 + +for.body3: ; preds = %for.cond1 + %6 = load i8*, i8** %p, align 8 + %7 = load i8, i8* %6, align 1 + %conv = sext i8 %7 to i32 + %8 = load i8*, i8** %s, align 8 + %9 = load i8, i8* %8, align 1 + %conv4 = sext i8 %9 to i32 + %cmp = icmp eq i32 %conv, %conv4 + br i1 %cmp, label %if.then, label %for.inc + +if.then: ; preds = %for.body3 + %10 = load i8*, i8** %s, align 8 + store i8* %10, i8** %retval, align 8 + br label %return + +for.inc: ; preds = %for.body3 + %11 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %11, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + br label %for.cond1 + +for.inc6: ; preds = %for.cond1 + %12 = load i8*, i8** %s, align 8 + %incdec.ptr7 = getelementptr inbounds i8, i8* %12, i32 1 + store i8* %incdec.ptr7, i8** %s, align 8 + br label %for.cond + +for.end8: ; preds = %for.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %for.end8, %if.then + %13 = load i8*, i8** %retval, align 8 + ret i8* %13 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i64 @strspn(i8* nonnull %s1, i8* nonnull %s2) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %2 = load i8*, i8** %p, align 8 + %3 = load i8, i8* %2, align 1 + %tobool = icmp ne i8 %3, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %5 = load i8, i8* %4, align 1 + %conv = sext i8 %5 to i32 + %6 = load i8*, i8** %s, align 8 + %7 = load i8, i8* %6, align 1 + %conv1 = sext i8 %7 to i32 + %cmp = icmp eq i32 %conv, %conv1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + %8 = load i8*, i8** %s, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %8, i32 1 + store i8* %incdec.ptr3, i8** %s, align 8 + %9 = load i8*, i8** %s2.addr, align 8 + store i8* %9, i8** %p, align 8 + br label %if.end + +if.end: ; preds = %if.then, %while.body + br label %while.cond + +while.end: ; preds = %while.cond + %10 = load i8*, i8** %s, align 8 + %11 = load i8*, i8** %s1.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %10 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %11 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_wchar_wcsntoutf8s(i8* noalias %s, i64 %n, i32** noalias %src, i64 %wn) #0 { +entry: + %retval = alloca i64, align 8 + %s.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %src.addr = alloca i32**, align 8 + %wn.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + %len = alloca i64, align 8 + %t = alloca i64, align 8 + %wc = alloca i32, align 4 + %swc = alloca i32*, align 8 + %store = alloca i32, align 4 + %buf = alloca [16 x i8], align 16 + %m = alloca i8, align 1 + store i8* %s, i8** %s.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i32** %src, i32*** %src.addr, align 8 + store i64 %wn, i64* %wn.addr, align 8 + store i32 1, i32* %store, align 4 + %0 = load i8*, i8** %s.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %lor.lhs.false, label %if.then + +lor.lhs.false: ; preds = %entry + %1 = load i8*, i8** %s.addr, align 8 + %2 = load i32**, i32*** %src.addr, align 8 + %3 = bitcast i32** %2 to i8* + %cmp = icmp eq i8* %1, %3 + br i1 %cmp, label %if.then, label %if.end3 + +if.then: ; preds = %lor.lhs.false, %entry + %4 = load i8*, i8** %s.addr, align 8 + %tobool1 = icmp ne i8* %4, null + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + store i64 -1, i64* %n.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay, i8** %s.addr, align 8 + store i32 0, i32* %store, align 4 + br label %if.end3 + +if.end3: ; preds = %if.end, %lor.lhs.false + %5 = load i64, i64* %n.addr, align 8 + store i64 %5, i64* %t, align 8 + %6 = load i32**, i32*** %src.addr, align 8 + %7 = load i32*, i32** %6, align 8 + store i32* %7, i32** %swc, align 8 + br label %while.cond + +while.cond: ; preds = %if.end51, %if.end3 + %8 = load i64, i64* %wn.addr, align 8 + %tobool4 = icmp ne i64 %8, 0 + %9 = load i64, i64* %t, align 8 + %tobool5 = icmp ne i64 %9, 0 + %10 = select i1 %tobool4, i1 %tobool5, i1 false + br i1 %10, label %while.body, label %while.end52 + +while.body: ; preds = %while.cond + %11 = load i32*, i32** %swc, align 8 + %12 = load i32, i32* %11, align 4 + store i32 %12, i32* %wc, align 4 + %13 = load i32, i32* %wc, align 4 + %conv = trunc i32 %13 to i8 + %14 = load i8*, i8** %s.addr, align 8 + store i8 %conv, i8* %14, align 1 + store i64 1, i64* %len, align 8 + %15 = load i32, i32* %wc, align 4 + %cmp6 = icmp uge i32 %15, 128 + %16 = load i32, i32* %wc, align 4 + br i1 %cmp6, label %if.then8, label %if.else + +if.then8: ; preds = %while.body + %conv9 = zext i32 %16 to i64 + %cmp10 = icmp ugt i64 %conv9, 2147483647 + br i1 %cmp10, label %if.then19, label %lor.lhs.false12 + +lor.lhs.false12: ; preds = %if.then8 + %17 = load i32, i32* %wc, align 4 + %sub = sub i32 %17, 65534 + %cmp13 = icmp ult i32 %sub, 2 + br i1 %cmp13, label %if.then19, label %lor.lhs.false15 + +lor.lhs.false15: ; preds = %lor.lhs.false12 + %18 = load i32, i32* %wc, align 4 + %sub16 = sub i32 %18, 55296 + %cmp17 = icmp ult i32 %sub16, 2048 + br i1 %cmp17, label %if.then19, label %if.end20 + +if.then19: ; preds = %lor.lhs.false15, %lor.lhs.false12, %if.then8 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end20: ; preds = %lor.lhs.false15 + %19 = load i32, i32* %wc, align 4 + %shr = lshr i32 %19, 1 + store i32 %shr, i32* %wc, align 4 + %20 = load i8*, i8** %s.addr, align 8 + store i8* %20, i8** %p, align 8 + br label %do.body + +do.body: ; preds = %do.body, %if.end20 + %21 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %21, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %22 = load i32, i32* %wc, align 4 + %shr21 = lshr i32 %22, 5 + store i32 %shr21, i32* %wc, align 4 + %tobool22 = icmp ne i32 %shr21, 0 + br i1 %tobool22, label %do.body, label %do.end + +do.end: ; preds = %do.body + %23 = load i32*, i32** %swc, align 8 + %24 = load i32, i32* %23, align 4 + store i32 %24, i32* %wc, align 4 + %25 = load i8*, i8** %p, align 8 + %26 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %25 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %26 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %len, align 8 + %27 = load i64, i64* %t, align 8 + %cmp23 = icmp ugt i64 %sub.ptr.sub, %27 + br i1 %cmp23, label %while.end52, label %if.end26 + +if.end26: ; preds = %do.end + store i8 -128, i8* %m, align 1 + br label %while.cond27 + +while.cond27: ; preds = %while.body30, %if.end26 + %28 = load i8*, i8** %p, align 8 + %29 = load i8*, i8** %s.addr, align 8 + %cmp28 = icmp ugt i8* %28, %29 + %30 = load i8, i8* %m, align 1 + %conv31 = sext i8 %30 to i32 + br i1 %cmp28, label %while.body30, label %while.end + +while.body30: ; preds = %while.cond27 + %shr32 = ashr i32 %conv31, 1 + %or = or i32 %shr32, 128 + %conv33 = trunc i32 %or to i8 + store i8 %conv33, i8* %m, align 1 + %31 = load i32, i32* %wc, align 4 + %and = and i32 %31, 63 + %or34 = or i32 %and, 128 + %conv35 = trunc i32 %or34 to i8 + %32 = load i8*, i8** %p, align 8 + %incdec.ptr36 = getelementptr inbounds i8, i8* %32, i32 -1 + store i8* %incdec.ptr36, i8** %p, align 8 + store i8 %conv35, i8* %incdec.ptr36, align 1 + %33 = load i32, i32* %wc, align 4 + %shr37 = lshr i32 %33, 6 + store i32 %shr37, i32* %wc, align 4 + br label %while.cond27 + +while.end: ; preds = %while.cond27 + %shl = shl i32 %conv31, 1 + %34 = load i8*, i8** %s.addr, align 8 + %35 = load i8, i8* %34, align 1 + %conv39 = sext i8 %35 to i32 + %or40 = or i32 %conv39, %shl + %conv41 = trunc i32 %or40 to i8 + store i8 %conv41, i8* %34, align 1 + br label %if.end46 + +if.else: ; preds = %while.body + %cmp42 = icmp eq i32 %16, 0 + br i1 %cmp42, label %if.then44, label %if.end46 + +if.then44: ; preds = %if.else + store i32* null, i32** %swc, align 8 + br label %while.end52 + +if.end46: ; preds = %if.else, %while.end + %36 = load i32*, i32** %swc, align 8 + %incdec.ptr47 = getelementptr inbounds i32, i32* %36, i32 1 + store i32* %incdec.ptr47, i32** %swc, align 8 + %37 = load i64, i64* %wn.addr, align 8 + %dec = add i64 %37, -1 + store i64 %dec, i64* %wn.addr, align 8 + %38 = load i64, i64* %len, align 8 + %39 = load i64, i64* %t, align 8 + %sub48 = sub i64 %39, %38 + store i64 %sub48, i64* %t, align 8 + %40 = load i32, i32* %store, align 4 + %tobool49 = icmp ne i32 %40, 0 + br i1 %tobool49, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.end46 + %41 = load i64, i64* %len, align 8 + %42 = load i8*, i8** %s.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %42, i64 %41 + store i8* %add.ptr, i8** %s.addr, align 8 + br label %if.end51 + +if.end51: ; preds = %if.then50, %if.end46 + br label %while.cond + +while.end52: ; preds = %do.end, %if.then44, %while.cond + %43 = load i32, i32* %store, align 4 + %tobool53 = icmp ne i32 %43, 0 + br i1 %tobool53, label %if.then54, label %if.end55 + +if.then54: ; preds = %while.end52 + %44 = load i32*, i32** %swc, align 8 + %45 = load i32**, i32*** %src.addr, align 8 + store i32* %44, i32** %45, align 8 + br label %if.end55 + +if.end55: ; preds = %if.then54, %while.end52 + %46 = load i64, i64* %n.addr, align 8 + %47 = load i64, i64* %t, align 8 + %sub56 = sub i64 %46, %47 + store i64 %sub56, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end55, %if.then19 + %48 = load i64, i64* %retval, align 8 + ret i64 %48 +} + +attributes #0 = { noinline nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #1 = { noinline noreturn nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #2 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #3 = { noinline nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #4 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #5 = { "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #6 = { noinline noreturn nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #7 = { noreturn "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #8 = { argmemonly nounwind willreturn writeonly } +attributes #9 = { argmemonly nounwind willreturn } +attributes #10 = { noreturn nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #11 = { nounwind } +attributes #12 = { noinline nounwind readnone uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #13 = { noreturn "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #14 = { noinline nounwind readonly uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #15 = { noinline nounwind readonly uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #16 = { noinline nounwind returns_twice uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #17 = { "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #18 = { nobuiltin "no-builtins" } +attributes #19 = { nobuiltin nounwind "no-builtins" } +attributes #20 = { nobuiltin nounwind readonly "no-builtins" } +attributes #21 = { nobuiltin nounwind readnone "no-builtins" } +attributes #22 = { nobuiltin noreturn nounwind "no-builtins" } +attributes #23 = { nounwind readonly } +attributes #24 = { noreturn } +attributes #25 = { nounwind readnone } +attributes #26 = { noreturn nounwind } +attributes #27 = { nobuiltin noreturn "no-builtins" } + +!llvm.module.flags = !{!0, !1} +!llvm.ident = !{!2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2} + +!0 = !{i32 1, !"wchar_size", i32 4} +!1 = !{i32 7, !"PIC Level", i32 2} +!2 = !{!"clang version 11.1.0 (https://github.com/llvm/llvm-project.git 1fdec59bffc11ae37eb51a1b9869f0696bfd5312)"} diff --git a/benchmarks/coreutils/gensym_posix/echo.ll b/benchmarks/coreutils/gensym_posix/echo.ll new file mode 100644 index 000000000..dd4b5fd10 --- /dev/null +++ b/benchmarks/coreutils/gensym_posix/echo.ll @@ -0,0 +1,29448 @@ +; ModuleID = '__uClibc_main.os' +source_filename = "libc/misc/internals/__uClibc_main.c" +target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" +target triple = "x86_64-unknown-linux-gnu" + +module asm ".section .gnu.warning.siggetmask" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.__fpending" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.gets" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.tmpnam" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.mktemp" +module asm "\09.previous" + +%struct.__uclibc_locale_struct.201 = type { i16*, i16*, i16*, [384 x i16], [384 x i16], [384 x i16], [14 x i8], [6 x i16], [6 x i8], i8, i8, [10 x i8], i8*, i8*, i8*, i8*, i8*, i16*, i8*, i8*, i16*, i8*, i8*, i16*, i32, i32, i32, i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__collate_t.200 } +%struct.__collate_t.200 = type { i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16*, i16*, i16*, i16*, i16*, i16*, i16*, i16*, i16*, i16 } +%struct.__STDIO_FILE_STRUCT.568 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.568*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__mbstate_t.512 = type { i32, i32 } +%struct.quoting_options = type { i32, i32, [8 x i32], i8*, i8* } +%struct.infomap = type { i8*, i8* } +%struct.slotvec = type { i64, i8* } +%struct.exe_file_t = type { i32, i32, i64, %struct.exe_disk_file_t* } +%struct.exe_disk_file_t = type { i32, i8*, %struct.stat64* } +%struct.stat64 = type { i64, i64, i64, i32, i32, i32, i32, i64, i64, i64, i64, %struct.timespec, %struct.timespec, %struct.timespec, [3 x i64] } +%struct.timespec = type { i64, i64 } +%struct.exe_file_system_t = type { i32, %struct.exe_disk_file_t*, %struct.exe_disk_file_t*, i32, %struct.exe_disk_file_t*, i32, i32*, i32*, i32*, i32*, i32*, i32*, i32* } +%struct.__locale_mmap_t.203 = type { [420 x i8], [504 x i8], [1760 x i16], [4528 x i8], [3604 x i8], [1680 x i8], [196 x i16], [51 x i8], [28 x i8], [1646 x i8], [28353 x i8], [1804 x i8], [23 x %struct.__codeset_8_bit_t.202], [20 x i8], [10 x i16], [20 x i16], [45 x i8], [3 x i16], [15 x i16], [3894 x i8], [22 x i16], [407 x i16], [8250 x i8], [50 x i16], [3429 x i16], [372 x i8], [4 x i16], [200 x i16], [91141 x i16], [6 x i8], [24 x i64], [2826 x i8], [835 x i8], [18 x i8], [69 x i8], [255 x i8] } +%struct.__codeset_8_bit_t.202 = type { [16 x i8], [16 x i8], [16 x i8], [38 x i8] } +%struct.utmp.323 = type { i16, i32, [32 x i8], [4 x i8], [32 x i8], [256 x i8], %struct.exit_status, i64, %struct.timespec, [4 x i32], [20 x i8] } +%struct.exit_status = type { i16, i16 } +%struct.exit_function = type { i64, %union.anon.772 } +%union.anon.772 = type { %struct.anon.0.771 } +%struct.anon.0.771 = type { void (i8*)*, i8*, i8* } +%struct.dirent64 = type { i64, i64, i16, i8, [256 x i8] } +%struct.__STDIO_FILE_STRUCT.592 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.592*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.608 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.608*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.621 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.621*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.636 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.636*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.Elf64_auxv_t = type { i64, %union.anon.193 } +%union.anon.193 = type { i64 } +%struct.stat.192 = type { i64, i64, i64, i32, i32, i32, i32, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, [3 x i64] } +%struct.__STDIO_FILE_STRUCT.513 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.513*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.exe_sym_env_t = type { [32 x %struct.exe_file_t], i32, i32, i32 } +%struct.__va_list_tag.0 = type { i32, i32, i8*, i8* } +%struct.termios = type { i32, i32, i32, i32, i8, [32 x i8], i32, i32 } +%struct.winsize = type { i16, i16, i16, i16 } +%struct.flock = type { i16, i16, i64, i64, i32 } +%struct.statfs = type { i64, i64, i64, i64, i64, i64, i64, %struct.__fsid_t, i64, i64, i64, [4 x i64] } +%struct.__fsid_t = type { [2 x i32] } +%struct.fd_set = type { [16 x i64] } +%struct.coldata_header_t = type { i16, i16, i16, i16, i16, i16, i16, i16 } +%struct.coldata_base_t = type { i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16 } +%struct._IO_FILE = type { i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct._IO_marker*, %struct._IO_FILE*, i32, i32, i64, i16, i8, [1 x i8], i8*, i64, %struct._IO_codecvt*, %struct._IO_wide_data*, %struct._IO_FILE*, i8*, i64, i32, [20 x i8] } +%struct._IO_marker = type opaque +%struct._IO_codecvt = type opaque +%struct._IO_wide_data = type opaque +%struct.__mbstate_t = type { i32, %union.anon } +%union.anon = type { i32 } +%struct.sigaction.800 = type { %union.anon.799, %struct.fd_set, i32, void ()* } +%union.anon.799 = type { void (i32)* } +%struct.tms = type { i64, i64, i64, i64 } +%struct.utmpx = type opaque +%struct.utmp = type { i16, i32, [32 x i8], [4 x i8], [32 x i8], [256 x i8], %struct.exit_status, i32, %struct.__mbstate_t.512, [4 x i32], [20 x i8] } +%struct.rusage = type { %struct.timespec, %struct.timespec, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193 } +%struct.siginfo_t = type { i32, i32, i32, i32, %union.anon.0 } +%union.anon.0 = type { %struct.anon.3, [80 x i8] } +%struct.anon.3 = type { i32, i32, i32, i64, i64 } +%struct.kernel_sigaction = type { void (i32)*, i64, void ()*, %struct.fd_set } +%struct.__jmp_buf_tag = type { [8 x i64], i32, %struct.fd_set } +%struct.__STDIO_FILE_STRUCT.519 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.519*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__kernel_termios = type { i32, i32, i32, i32, i8, [19 x i8] } +%struct.ppfs_t.722 = type { i8*, %struct.printf_info.720, i32, i32, i32, [4 x i8], [9 x i32], [1 x %struct.__va_list_tag.0], [9 x %union.anon.193] } +%struct.printf_info.720 = type { i32, i32, i32, i32, i32 } +%struct.anon.779 = type { void (i32, i8*)*, i8* } + +@__libc_stack_end = global i8* null, align 8 +@.str = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@__uclibc_progname = hidden global i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i32 0, i32 0), align 8 +@program_invocation_short_name = global i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i32 0, i32 0), align 8 +@program_invocation_name = global i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i32 0, i32 0), align 8 +@__environ = global i8** null, align 8 +@__pagesize = global i64 0, align 8 +@__uClibc_init.been_there_done_that = internal global i32 0, align 4 +@__app_fini = hidden global void ()* null, align 8 +@__rtld_fini = hidden global void ()* null, align 8 +@.str.1 = private unnamed_addr constant [10 x i8] c"/dev/null\00", align 1 +@llvm.used = appending global [5 x i8*] [i8* getelementptr inbounds ([57 x i8], [57 x i8]* @__evoke_link_warning_siggetmask, i32 0, i32 0), i8* getelementptr inbounds ([167 x i8], [167 x i8]* @__evoke_link_warning___fpending, i32 0, i32 0), i8* getelementptr inbounds ([57 x i8], [57 x i8]* @__evoke_link_warning_gets, i32 0, i32 0), i8* getelementptr inbounds ([55 x i8], [55 x i8]* @__evoke_link_warning_tmpnam, i32 0, i32 0), i8* getelementptr inbounds ([55 x i8], [55 x i8]* @__evoke_link_warning_mktemp, i32 0, i32 0)], section "llvm.metadata" +@__evoke_link_warning_siggetmask = internal constant [57 x i8] c"warning: `siggetmask' is obsolete; `sigprocmask' is best\00", section ".gnu.warning.siggetmask\0A#APP\0A\09#", align 16 +@__evoke_link_warning___fpending = internal constant [167 x i8] c"This version of __fpending returns bytes remaining in buffer for both narrow and wide streams. glibc's version returns wide chars in buffer for the wide stream case.\00", section ".gnu.warning.__fpending\0A#APP\0A\09#", align 16 +@__evoke_link_warning_gets = internal constant [57 x i8] c"the 'gets' function is dangerous and should not be used.\00", section ".gnu.warning.gets\0A#APP\0A\09#", align 16 +@__evoke_link_warning_tmpnam = internal constant [55 x i8] c"the use of `tmpnam' is dangerous, better use `mkstemp'\00", section ".gnu.warning.tmpnam\0A#APP\0A\09#", align 16 +@tmpnam_buffer = internal global [20 x i8] zeroinitializer, align 16 +@__evoke_link_warning_mktemp = internal constant [55 x i8] c"the use of `mktemp' is dangerous, better use `mkstemp'\00", section ".gnu.warning.mktemp\0A#APP\0A\09#", align 16 +@.str.4 = private unnamed_addr constant [77 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/fd.c\00", align 1 +@.str.27 = private unnamed_addr constant [37 x i8] c"ERROR: concretizing symbolic pointer\00", align 1 +@.str.28 = private unnamed_addr constant [9 x i8] c"user.err\00", align 1 +@.str.25 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@getcwd.n_calls = internal global i32 0, align 4 +@.str.5 = private unnamed_addr constant [46 x i8] c"Undefined call to open(): O_TRUNC | O_RDONLY\0A\00", align 1 +@.str.1.6 = private unnamed_addr constant [47 x i8] c"Undefined call to open(): O_EXCL w/o O_RDONLY\0A\00", align 1 +@.str.2 = private unnamed_addr constant [44 x i8] c"symbolic file descriptor, ignoring (ENOENT)\00", align 1 +@close.n_calls = internal global i32 0, align 4 +@read.n_calls = internal global i32 0, align 4 +@.str.3 = private unnamed_addr constant [12 x i8] c"f->off >= 0\00", align 1 +@__PRETTY_FUNCTION__.read = private unnamed_addr constant [34 x i8] c"ssize_t read(int, void *, size_t)\00", align 1 +@write.n_calls = internal global i32 0, align 4 +@.str.5.7 = private unnamed_addr constant [7 x i8] c"r >= 0\00", align 1 +@__PRETTY_FUNCTION__.write = private unnamed_addr constant [41 x i8] c"ssize_t write(int, const void *, size_t)\00", align 1 +@.str.6 = private unnamed_addr constant [2 x i8] c"0\00", align 1 +@.str.7 = private unnamed_addr constant [24 x i8] c"write() ignores bytes.\0A\00", align 1 +@.str.8 = private unnamed_addr constant [18 x i8] c"new_off == f->off\00", align 1 +@__PRETTY_FUNCTION__.__fd_lseek = private unnamed_addr constant [38 x i8] c"off64_t __fd_lseek(int, off64_t, int)\00", align 1 +@.str.9 = private unnamed_addr constant [33 x i8] c"symbolic file, ignoring (ENOENT)\00", align 1 +@chmod.n_calls = internal global i32 0, align 4 +@fchmod.n_calls = internal global i32 0, align 4 +@.str.26 = private unnamed_addr constant [32 x i8] c"symbolic file, ignoring (EPERM)\00", align 1 +@__fd_ftruncate.n_calls = internal global i32 0, align 4 +@.str.10 = private unnamed_addr constant [30 x i8] c"symbolic file, ignoring (EIO)\00", align 1 +@.str.11 = private unnamed_addr constant [33 x i8] c"symbolic file, ignoring (EINVAL)\00", align 1 +@.str.12 = private unnamed_addr constant [18 x i8] c"s != (off64_t) -1\00", align 1 +@__PRETTY_FUNCTION__.__fd_getdents = private unnamed_addr constant [65 x i8] c"int __fd_getdents(unsigned int, struct dirent64 *, unsigned int)\00", align 1 +@.str.13 = private unnamed_addr constant [22 x i8] c"f->off != (off64_t)-1\00", align 1 +@.str.14 = private unnamed_addr constant [41 x i8] c"(TCGETS) symbolic file, incomplete model\00", align 1 +@.str.15 = private unnamed_addr constant [42 x i8] c"(TCSETS) symbolic file, silently ignoring\00", align 1 +@.str.16 = private unnamed_addr constant [43 x i8] c"(TCSETSW) symbolic file, silently ignoring\00", align 1 +@.str.17 = private unnamed_addr constant [43 x i8] c"(TCSETSF) symbolic file, silently ignoring\00", align 1 +@.str.18 = private unnamed_addr constant [45 x i8] c"(TIOCGWINSZ) symbolic file, incomplete model\00", align 1 +@.str.19 = private unnamed_addr constant [46 x i8] c"(TIOCSWINSZ) symbolic file, ignoring (EINVAL)\00", align 1 +@.str.20 = private unnamed_addr constant [43 x i8] c"(FIONREAD) symbolic file, incomplete model\00", align 1 +@.str.21 = private unnamed_addr constant [44 x i8] c"(MTIOCGET) symbolic file, ignoring (EINVAL)\00", align 1 +@.str.22 = private unnamed_addr constant [32 x i8] c"symbolic file, ignoring (EBADF)\00", align 1 +@.str.23 = private unnamed_addr constant [17 x i8] c"ignoring (EPERM)\00", align 1 +@.str.24 = private unnamed_addr constant [18 x i8] c"ignoring (ENOENT)\00", align 1 +@__const.klee_init_env.sym_arg_name = private unnamed_addr constant [6 x i8] c"arg\00\00\00", align 1 +@.str.29 = private unnamed_addr constant [7 x i8] c"--help\00", align 1 +@.str.1.30 = private unnamed_addr constant [964 x i8] c"klee_init_env\0A\0Ausage: (klee_init_env) [options] [program arguments]\0A -sym-arg - Replace by a symbolic argument with length N\0A -sym-args - Replace by at least MIN arguments and at most\0A MAX arguments, each with maximum length N\0A -sym-files - Make NUM symbolic files ('A', 'B', 'C', etc.),\0A each with size N\0A -sym-stdin - Make stdin symbolic with size N.\0A -sym-stdout - Make stdout symbolic.\0A -save-all-writes - Allow write operations to execute as expected\0A even if they exceed the file size. If set to 0, all\0A writes exceeding the initial file size are discarded.\0A Note: file offset is always incremented.\0A -max-fail - Allow up to N injected failures\0A -fd-fail - Shortcut for '-max-fail 1'\0A\0A\00", align 1 +@.str.2.31 = private unnamed_addr constant [10 x i8] c"--sym-arg\00", align 1 +@.str.3.32 = private unnamed_addr constant [9 x i8] c"-sym-arg\00", align 1 +@.str.4.33 = private unnamed_addr constant [48 x i8] c"--sym-arg expects an integer argument \00", align 1 +@.str.5.34 = private unnamed_addr constant [45 x i8] c"No more than 100 symbolic arguments allowed.\00", align 1 +@.str.6.35 = private unnamed_addr constant [11 x i8] c"--sym-args\00", align 1 +@.str.7.36 = private unnamed_addr constant [10 x i8] c"-sym-args\00", align 1 +@.str.8.37 = private unnamed_addr constant [77 x i8] c"--sym-args expects three integer arguments \00", align 1 +@.str.9.38 = private unnamed_addr constant [28 x i8] c"Invalid range to --sym-args\00", align 1 +@.str.10.39 = private unnamed_addr constant [7 x i8] c"n_args\00", align 1 +@.str.11.40 = private unnamed_addr constant [12 x i8] c"--sym-files\00", align 1 +@.str.12.41 = private unnamed_addr constant [11 x i8] c"-sym-files\00", align 1 +@.str.13.42 = private unnamed_addr constant [72 x i8] c"--sym-files expects two integer arguments \00", align 1 +@.str.14.43 = private unnamed_addr constant [39 x i8] c"Multiple --sym-files are not allowed.\0A\00", align 1 +@.str.15.44 = private unnamed_addr constant [65 x i8] c"The first argument to --sym-files (number of files) cannot be 0\0A\00", align 1 +@.str.16.45 = private unnamed_addr constant [60 x i8] c"The second argument to --sym-files (file size) cannot be 0\0A\00", align 1 +@.str.17.46 = private unnamed_addr constant [12 x i8] c"--sym-stdin\00", align 1 +@.str.18.47 = private unnamed_addr constant [11 x i8] c"-sym-stdin\00", align 1 +@.str.19.48 = private unnamed_addr constant [57 x i8] c"--sym-stdin expects one integer argument \00", align 1 +@.str.20.49 = private unnamed_addr constant [13 x i8] c"--sym-stdout\00", align 1 +@.str.21.50 = private unnamed_addr constant [12 x i8] c"-sym-stdout\00", align 1 +@.str.22.51 = private unnamed_addr constant [18 x i8] c"--save-all-writes\00", align 1 +@.str.23.52 = private unnamed_addr constant [17 x i8] c"-save-all-writes\00", align 1 +@.str.24.53 = private unnamed_addr constant [10 x i8] c"--fd-fail\00", align 1 +@.str.25.54 = private unnamed_addr constant [9 x i8] c"-fd-fail\00", align 1 +@.str.26.55 = private unnamed_addr constant [12 x i8] c"--bout-file\00", align 1 +@.str.27.56 = private unnamed_addr constant [11 x i8] c"-bout-file\00", align 1 +@.str.28.57 = private unnamed_addr constant [11 x i8] c"--max-fail\00", align 1 +@.str.29.58 = private unnamed_addr constant [10 x i8] c"-max-fail\00", align 1 +@.str.30 = private unnamed_addr constant [54 x i8] c"--max-fail expects an integer argument \00", align 1 +@.str.31 = private unnamed_addr constant [31 x i8] c"out of memory in klee_init_env\00", align 1 +@.str.35 = private unnamed_addr constant [37 x i8] c"too many arguments for klee_init_env\00", align 1 +@.str.32 = private unnamed_addr constant [88 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/klee_init_env.c\00", align 1 +@.str.33 = private unnamed_addr constant [9 x i8] c"user.err\00", align 1 +@.str.34 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.68 = private unnamed_addr constant [5 x i8] c"file\00", align 1 +@.str.1.69 = private unnamed_addr constant [5 x i8] c"/tmp\00", align 1 +@.str.2.70 = private unnamed_addr constant [16 x i8] c"%.*s/%.*sXXXXXX\00", align 1 +@.str.3.73 = private unnamed_addr constant [7 x i8] c"XXXXXX\00", align 1 +@letters = internal constant [63 x i8] c"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\00", align 16 +@brain_damaged_fillrand.value = internal global i64 0, align 8 +@.str.4.74 = private unnamed_addr constant [13 x i8] c"/dev/urandom\00", align 1 +@.str.5.75 = private unnamed_addr constant [12 x i8] c"/dev/random\00", align 1 +@__global_locale_data = global %struct.__uclibc_locale_struct.201 zeroinitializer, align 8 +@__global_locale = global %struct.__uclibc_locale_struct.201* @__global_locale_data, align 8 +@__curlocale_var = global %struct.__uclibc_locale_struct.201* @__global_locale_data, align 8 +@utf8 = internal constant [6 x i8] c"UTF-8\00", align 1 +@ascii = internal constant [6 x i8] c"ASCII\00", align 1 +@__code2flag = internal constant [16 x i16] [i16 0, i16 -15352, i16 -14840, i16 -14584, i16 -15096, i16 -14328, i16 -16380, i16 -16384, i16 24576, i16 24577, i16 8192, i16 8193, i16 8194, i16 8195, i16 2, i16 0], align 16 +@.str.76 = private unnamed_addr constant [14 x i8] c"#\80\80\80\80\80\80\80\80\80\80\80\80\00", align 1 +@stdin = global %struct.__STDIO_FILE_STRUCT.568* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i32 0, i32 0), align 8 +@_stdio_streams = internal global [3 x %struct.__STDIO_FILE_STRUCT.568] [%struct.__STDIO_FILE_STRUCT.568 { i16 544, [2 x i8] zeroinitializer, i32 0, i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 88) to %struct.__STDIO_FILE_STRUCT.568*), [2 x i32] zeroinitializer, %struct.__mbstate_t.512 zeroinitializer, i8* null }, %struct.__STDIO_FILE_STRUCT.568 { i16 528, [2 x i8] zeroinitializer, i32 1, i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 176) to %struct.__STDIO_FILE_STRUCT.568*), [2 x i32] zeroinitializer, %struct.__mbstate_t.512 zeroinitializer, i8* null }, %struct.__STDIO_FILE_STRUCT.568 { i16 528, [2 x i8] zeroinitializer, i32 2, i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, %struct.__STDIO_FILE_STRUCT.568* null, [2 x i32] zeroinitializer, %struct.__mbstate_t.512 zeroinitializer, i8* null }], align 16 +@stdout = global %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 88) to %struct.__STDIO_FILE_STRUCT.568*), align 8 +@stderr = global %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 176) to %struct.__STDIO_FILE_STRUCT.568*), align 8 +@__stdin = global %struct.__STDIO_FILE_STRUCT.568* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i32 0, i32 0), align 8 +@__stdout = global %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 88) to %struct.__STDIO_FILE_STRUCT.568*), align 8 +@_stdio_openlist = global %struct.__STDIO_FILE_STRUCT.568* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i32 0, i32 0), align 8 +@been_there_done_that = internal global i32 0, align 4 +@__exit_cleanup = hidden global void (i32)* null, align 8 +@Version = dso_local global i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.36, i32 0, i32 0), align 8 +@.str.36 = private unnamed_addr constant [5 x i8] c"8.32\00", align 1 +@exit_failure = dso_local global i32 1, align 4 +@program_name = dso_local global i8* null, align 8 +@quoting_style_args = dso_local constant [11 x i8*] [i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.51, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1.52, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2.53, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.3.54, i32 0, i32 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.4.55, i32 0, i32 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.5.56, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.6.57, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.7.58, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.8.59, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.9.60, i32 0, i32 0), i8* null], align 16 +@.str.51 = private unnamed_addr constant [8 x i8] c"literal\00", align 1 +@.str.1.52 = private unnamed_addr constant [6 x i8] c"shell\00", align 1 +@.str.2.53 = private unnamed_addr constant [13 x i8] c"shell-always\00", align 1 +@.str.3.54 = private unnamed_addr constant [13 x i8] c"shell-escape\00", align 1 +@.str.4.55 = private unnamed_addr constant [20 x i8] c"shell-escape-always\00", align 1 +@.str.5.56 = private unnamed_addr constant [2 x i8] c"c\00", align 1 +@.str.6.57 = private unnamed_addr constant [8 x i8] c"c-maybe\00", align 1 +@.str.7.58 = private unnamed_addr constant [7 x i8] c"escape\00", align 1 +@.str.8.59 = private unnamed_addr constant [7 x i8] c"locale\00", align 1 +@.str.9.60 = private unnamed_addr constant [8 x i8] c"clocale\00", align 1 +@quoting_style_vals = dso_local constant [10 x i32] [i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9], align 16 +@quote_quoting_options = dso_local global %struct.quoting_options { i32 8, i32 0, [8 x i32] zeroinitializer, i8* null, i8* null }, align 8 +@version_etc_copyright = dso_local constant [47 x i8] c"Copyright %s %d Free Software Foundation, Inc.\00", align 16 +@.str.95 = private unnamed_addr constant [23 x i8] c"status == EXIT_SUCCESS\00", align 1 +@.str.1.96 = private unnamed_addr constant [14 x i8] c"../src/echo.c\00", align 1 +@__PRETTY_FUNCTION__.usage = private unnamed_addr constant [16 x i8] c"void usage(int)\00", align 1 +@.str.2.97 = private unnamed_addr constant [63 x i8] c"Usage: %s [SHORT-OPTION]... [STRING]...\0A or: %s LONG-OPTION\0A\00", align 1 +@.str.3.98 = private unnamed_addr constant [93 x i8] c"Echo the STRING(s) to standard output.\0A\0A -n do not output the trailing newline\0A\00", align 1 +@.str.4.99 = private unnamed_addr constant [132 x i8] c" -e enable interpretation of backslash escapes\0A -E disable interpretation of backslash escapes (default)\0A\00", align 1 +@.str.5.100 = private unnamed_addr constant [45 x i8] c" --help display this help and exit\0A\00", align 1 +@.str.6.101 = private unnamed_addr constant [54 x i8] c" --version output version information and exit\0A\00", align 1 +@.str.7.102 = private unnamed_addr constant [63 x i8] c"\0AIf -e is in effect, the following sequences are recognized:\0A\0A\00", align 1 +@.str.8.103 = private unnamed_addr constant [229 x i8] c" \\\\ backslash\0A \\a alert (BEL)\0A \\b backspace\0A \\c produce no further output\0A \\e escape\0A \\f form feed\0A \\n new line\0A \\r carriage return\0A \\t horizontal tab\0A \\v vertical tab\0A\00", align 1 +@.str.9.104 = private unnamed_addr constant [110 x i8] c" \\0NNN byte with octal value NNN (1 to 3 digits)\0A \\xHH byte with hexadecimal value HH (1 to 2 digits)\0A\00", align 1 +@.str.10.105 = private unnamed_addr constant [191 x i8] c"\0ANOTE: your shell may have its own version of %s, which usually supersedes\0Athe version described here. Please refer to your shell's documentation\0Afor details about the options it supports.\0A\00", align 1 +@.str.11.106 = private unnamed_addr constant [5 x i8] c"echo\00", align 1 +@__const.emit_ancillary_info.infomap = private unnamed_addr constant [7 x %struct.infomap] [%struct.infomap { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.20.116, i32 0, i32 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.21.117, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.22.118, i32 0, i32 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.23.119, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.24.120, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.25.121, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.26.122, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.25.121, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.27.123, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.25.121, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.28.124, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.25.121, i32 0, i32 0) }, %struct.infomap zeroinitializer], align 16 +@.str.29.107 = private unnamed_addr constant [23 x i8] c"\0A%s online help: <%s>\0A\00", align 1 +@.str.17.108 = private unnamed_addr constant [14 x i8] c"GNU coreutils\00", align 1 +@.str.30.109 = private unnamed_addr constant [40 x i8] c"https://www.gnu.org/software/coreutils/\00", align 1 +@.str.31.110 = private unnamed_addr constant [4 x i8] c"en_\00", align 1 +@.str.32.111 = private unnamed_addr constant [71 x i8] c"Report any translation bugs to \0A\00", align 1 +@.str.33.112 = private unnamed_addr constant [27 x i8] c"Full documentation <%s%s>\0A\00", align 1 +@.str.35.113 = private unnamed_addr constant [12 x i8] c" invocation\00", align 1 +@.str.14.114 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@.str.34.115 = private unnamed_addr constant [51 x i8] c"or available locally via: info '(coreutils) %s%s'\0A\00", align 1 +@.str.20.116 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@.str.21.117 = private unnamed_addr constant [16 x i8] c"test invocation\00", align 1 +@.str.22.118 = private unnamed_addr constant [10 x i8] c"coreutils\00", align 1 +@.str.23.119 = private unnamed_addr constant [22 x i8] c"Multi-call invocation\00", align 1 +@.str.24.120 = private unnamed_addr constant [10 x i8] c"sha224sum\00", align 1 +@.str.25.121 = private unnamed_addr constant [15 x i8] c"sha2 utilities\00", align 1 +@.str.26.122 = private unnamed_addr constant [10 x i8] c"sha256sum\00", align 1 +@.str.27.123 = private unnamed_addr constant [10 x i8] c"sha384sum\00", align 1 +@.str.28.124 = private unnamed_addr constant [10 x i8] c"sha512sum\00", align 1 +@.str.12.127 = private unnamed_addr constant [16 x i8] c"POSIXLY_CORRECT\00", align 1 +@.str.13.128 = private unnamed_addr constant [3 x i8] c"-n\00", align 1 +@.str.15.129 = private unnamed_addr constant [7 x i8] c"--help\00", align 1 +@.str.16.130 = private unnamed_addr constant [10 x i8] c"--version\00", align 1 +@.str.18.131 = private unnamed_addr constant [10 x i8] c"Brian Fox\00", align 1 +@.str.19.132 = private unnamed_addr constant [11 x i8] c"Chet Ramey\00", align 1 +@.str.72 = private unnamed_addr constant [12 x i8] c"%s (%s) %s\0A\00", align 1 +@.str.1.73 = private unnamed_addr constant [7 x i8] c"%s %s\0A\00", align 1 +@.str.2.74 = private unnamed_addr constant [4 x i8] c"(C)\00", align 1 +@.str.3.75 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.4.76 = private unnamed_addr constant [171 x i8] c"License GPLv3+: GNU GPL version 3 or later <%s>.\0AThis is free software: you are free to change and redistribute it.\0AThere is NO WARRANTY, to the extent permitted by law.\0A\00", align 1 +@.str.5.77 = private unnamed_addr constant [34 x i8] c"https://gnu.org/licenses/gpl.html\00", align 1 +@.str.6.78 = private unnamed_addr constant [16 x i8] c"Written by %s.\0A\00", align 1 +@.str.7.79 = private unnamed_addr constant [23 x i8] c"Written by %s and %s.\0A\00", align 1 +@.str.8.80 = private unnamed_addr constant [28 x i8] c"Written by %s, %s, and %s.\0A\00", align 1 +@.str.9.81 = private unnamed_addr constant [32 x i8] c"Written by %s, %s, %s,\0Aand %s.\0A\00", align 1 +@.str.10.82 = private unnamed_addr constant [36 x i8] c"Written by %s, %s, %s,\0A%s, and %s.\0A\00", align 1 +@.str.11.83 = private unnamed_addr constant [40 x i8] c"Written by %s, %s, %s,\0A%s, %s, and %s.\0A\00", align 1 +@.str.12.84 = private unnamed_addr constant [44 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, and %s.\0A\00", align 1 +@.str.13.85 = private unnamed_addr constant [48 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, %s,\0Aand %s.\0A\00", align 1 +@.str.14.86 = private unnamed_addr constant [52 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, %s,\0A%s, and %s.\0A\00", align 1 +@.str.15.87 = private unnamed_addr constant [60 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, %s,\0A%s, %s, and others.\0A\00", align 1 +@ignore_EPIPE = internal global i8 0, align 1 +@.str.39 = private unnamed_addr constant [12 x i8] c"write error\00", align 1 +@file_name = internal global i8* null, align 8 +@.str.1.40 = private unnamed_addr constant [7 x i8] c"%s: %s\00", align 1 +@.str.2.41 = private unnamed_addr constant [3 x i8] c"%s\00", align 1 +@default_quoting_options = internal global %struct.quoting_options zeroinitializer, align 8 +@slotvec = internal global %struct.slotvec* @slotvec0, align 8 +@nslots = internal global i32 1, align 4 +@slotvec0 = internal global %struct.slotvec { i64 256, i8* getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i32 0, i32 0) }, align 8 +@slot0 = internal global [256 x i8] zeroinitializer, align 16 +@.str.10.61 = private unnamed_addr constant [2 x i8] c"\22\00", align 1 +@.str.11.62 = private unnamed_addr constant [2 x i8] c"`\00", align 1 +@.str.12.63 = private unnamed_addr constant [2 x i8] c"'\00", align 1 +@.str.117 = private unnamed_addr constant [2 x i8] c"C\00", align 1 +@.str.1.118 = private unnamed_addr constant [6 x i8] c"POSIX\00", align 1 +@.str.13.64 = private unnamed_addr constant [6 x i8] c"UTF-8\00", align 1 +@.str.14.65 = private unnamed_addr constant [4 x i8] c"\E2\80\98\00", align 1 +@.str.15.66 = private unnamed_addr constant [4 x i8] c"\E2\80\99\00", align 1 +@.str.16.67 = private unnamed_addr constant [8 x i8] c"GB18030\00", align 1 +@.str.17.68 = private unnamed_addr constant [4 x i8] c"\A1\07e\00", align 1 +@.str.18.69 = private unnamed_addr constant [3 x i8] c"\A1\AF\00", align 1 +@.str.121 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@.str.1.122 = private unnamed_addr constant [6 x i8] c"ASCII\00", align 1 +@.str.107 = private unnamed_addr constant [3 x i8] c"%s\00", align 1 +@.str.1.108 = private unnamed_addr constant [17 x i8] c"memory exhausted\00", align 1 +@.str.48 = private unnamed_addr constant [56 x i8] c"A NULL argv[0] was passed through an exec system call.\0A\00", align 1 +@.str.1.49 = private unnamed_addr constant [8 x i8] c"/.libs/\00", align 1 +@.str.2.50 = private unnamed_addr constant [4 x i8] c"lt-\00", align 1 +@.str.16.90 = private unnamed_addr constant [20 x i8] c"Report bugs to: %s\0A\00", align 1 +@.str.17.91 = private unnamed_addr constant [22 x i8] c"bug-coreutils@gnu.org\00", align 1 +@.str.18.92 = private unnamed_addr constant [20 x i8] c"%s home page: <%s>\0A\00", align 1 +@.str.19.93 = private unnamed_addr constant [14 x i8] c"GNU coreutils\00", align 1 +@.str.20.94 = private unnamed_addr constant [40 x i8] c"https://www.gnu.org/software/coreutils/\00", align 1 +@.str.21.95 = private unnamed_addr constant [39 x i8] c"General help using GNU software: <%s>\0A\00", align 1 +@.str.22.96 = private unnamed_addr constant [29 x i8] c"https://www.gnu.org/gethelp/\00", align 1 +@__exe_env = dso_local global { <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] } { <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }> <{ %struct.exe_file_t { i32 0, i32 5, i64 0, %struct.exe_disk_file_t* null }, %struct.exe_file_t { i32 1, i32 9, i64 0, %struct.exe_disk_file_t* null }, %struct.exe_file_t { i32 2, i32 9, i64 0, %struct.exe_disk_file_t* null }, [29 x %struct.exe_file_t] zeroinitializer }>, i32 18, i32 0, i32 0, [4 x i8] undef }, align 8 +@__exe_fs = dso_local global %struct.exe_file_system_t zeroinitializer, align 8 +@__const.klee_init_fds.name = private unnamed_addr constant [7 x i8] c"?-data\00", align 1 +@.str.139 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@.str.1.140 = private unnamed_addr constant [82 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/fd_init.c\00", align 1 +@.str.2.141 = private unnamed_addr constant [31 x i8] c"out of memory in klee_init_env\00", align 1 +@.str.3.142 = private unnamed_addr constant [9 x i8] c"user.err\00", align 1 +@.str.4.144 = private unnamed_addr constant [6 x i8] c"stdin\00", align 1 +@.str.5.145 = private unnamed_addr constant [10 x i8] c"read_fail\00", align 1 +@.str.6.146 = private unnamed_addr constant [11 x i8] c"write_fail\00", align 1 +@.str.7.147 = private unnamed_addr constant [11 x i8] c"close_fail\00", align 1 +@.str.8.148 = private unnamed_addr constant [15 x i8] c"ftruncate_fail\00", align 1 +@.str.9.149 = private unnamed_addr constant [12 x i8] c"getcwd_fail\00", align 1 +@.str.10.150 = private unnamed_addr constant [7 x i8] c"stdout\00", align 1 +@.str.11.151 = private unnamed_addr constant [14 x i8] c"model_version\00", align 1 +@.str.13.152 = private unnamed_addr constant [6 x i8] c"-stat\00", align 1 +@.str.14.153 = private unnamed_addr constant [5 x i8] c"size\00", align 1 +@__PRETTY_FUNCTION__.__create_new_dfile = private unnamed_addr constant [88 x i8] c"void __create_new_dfile(exe_disk_file_t *, unsigned int, const char *, struct stat64 *)\00", align 1 +@.str.12.154 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.155 = private unnamed_addr constant [18 x i8] c"silently ignoring\00", align 1 +@.str.1.160 = private unnamed_addr constant [24 x i8] c"ignoring (EAFNOSUPPORT)\00", align 1 +@.str.11.162 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.2.165 = private unnamed_addr constant [15 x i8] c"ignoring (EIO)\00", align 1 +@.str.3.166 = private unnamed_addr constant [18 x i8] c"ignoring (ENFILE)\00", align 1 +@.str.4.167 = private unnamed_addr constant [17 x i8] c"ignoring (EPERM)\00", align 1 +@.str.5.168 = private unnamed_addr constant [13 x i8] c"returning 0\0A\00", align 1 +@.str.6.169 = private unnamed_addr constant [40 x i8] c"setting all times to 0 and returning 0\0A\00", align 1 +@.str.7.170 = private unnamed_addr constant [17 x i8] c"ignoring (EBADF)\00", align 1 +@.str.8.173 = private unnamed_addr constant [21 x i8] c"ignoring (-1 result)\00", align 1 +@.str.9.174 = private unnamed_addr constant [18 x i8] c"ignoring (ECHILD)\00", align 1 +@.str.10.175 = private unnamed_addr constant [32 x i8] c"silently ignoring (returning 0)\00", align 1 +@__locale_mmap = global %struct.__locale_mmap_t.203* @locale_mmap, align 8 +@locale_mmap = internal constant %struct.__locale_mmap_t.203 { [420 x i8] c"\EE\EE\EE\EE\06afffffff$$$$$$$$$$\06\00\00\00\00D&fffdDDbfff`b\22\22FBFfddfFf$\22fbbB\22DDDD\22\22\22\22\06&fff`\00\00`fffff&ff`ffff\11a\06\00\00\00\11\11\11\11\11\01`\06\EE&fffd\E4\EEnffffb\E2Nfaff\11\11\11\22\22\22\22bDDDdDDD$FDDdDDdD&\22\22b\22\22b\22\22\22\22\12bbf&Fb$dd$dF$$$F\22BB\22fffdbaffff$fba$dFBfdbddBf$df\22b$$FFFdFDdD&&&b&\22b\22Ff\06dFDd@&f&b&\22b D\04DD@DDd\22\02\22\22 \22\22bFAFdFDdd&\22B\22FDDD&\22\22\22\06\00\06\00\00\00f\00\00`\00`\10\11\11\11\11\01\00\00\11afff\06\00\00ff\00ff`f`DddDADDDD@DDDD\22\22!\22\22\22\22\22\22\02\06ffffff\06\00\00\00`f&fffFff\22Fff`b$\04dfff``\00\00 $&f\00`f\06fF@f``\00`f&b\22fFdDffFf\11\11\11a\11\01\00`\11\11\11\16\11f\00\00", [504 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00{}\00\00\00{\00\7F\7F\00\00\00\00\00\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\00\00\F0\FE\00\FE\00\00\00\00\00\00\F0\00\F0\F0\F0\F0\F0\00\00\00\00\00\00\00\00\FF\FF\E7\00\F1\00\00\F0\00\F0\00\00\00\00\F0\00\00\FF\FF\F1\00\00\00\F0\00\F0\00\E7\FF\FF\F0\E0\E0\E0\E0\E0\E0\E0\E0\00\00\F0\00\F0\00\00\00\00\00\F0\00\F0\00\00\A0\00\00\00\00\00\00\00\A0\E0\E0\E0\E0\E0\E0\E0\00\00\F0\F0\F0\F0\F0\F0\00\F0\F0\F0\F0\F0\00\F0\F0\00\FF\FF\00\FF\FF\FB\00\F0\00\F0\FB\F0\00\00\B0\FF\FF\FF\FF\FF\FF\00\FE\F0\FE\F0\FC\F0\FF\FF\FC\E0\E0\E0\E0\E0\E0\E0\B0\00\00\00\00\00\00\FE\00\FE\00\00\00\00\00\00\00\00\00\00\00\FC\00\00\00\FC\00\00\00\FF\FF\BF\00\E0\E0\E0\E0\E0\E0\E0\BF\00\FF\FF\F0\00\00\FE\00\FE\00\F0\00\FE\00\FE\F0\00\00\F9\F0\FC\00\00\00\FC\F9\F0\00\FF\FF\BF\F0\00\F0\00\F0\00\F0\F0\00\00\F0\F0\F0\F0\00\F0\F0\00\F0\00\00\00\00\F0\00\00@\F0\F0\F0\00\00\F0\00\90\F0\F0\F0\00\00\F0\E0\E0\E0\00\E0\E0\E0\E0\00\E0\E0\E0\E0\E0\E0\00\00\F0\F0\F0\F0\00\F0\00\00\F0\F0\F0\F0\FE\F0\FE\00\B0\B0\B0\B0\B0\B0\B0\B0\B0\B0\B0\B0\00\B0\B0\00\00\00\00\00\00\DA\00\DB\DB\DB\00\C0\00\C1\C1\00\E0\E0\E0\E0\E0\E0\E0\E0\E0\00\E0\E0\E0\E0\E0\E0\E0\E0\E0\DA\DB\DB\DB\E0\E0\E1\E0\E0\E0\E0\E0\E0\E0\E0\E0\C0\C1\C1\00\E0\E0\E0\E0\E0t\E0\00\E0\E0\E0\E0\E0L\E0\00\00\00\00\10\00\00\00\00 \10\02\00\02\00\00\00\00\00\00\02\00\02\01\01\00\10\00\00\00\00\00\00\00\00\01\01\10\00\10\00\00\00\00\00\10\00\10\00\00\00\00\00\10\10\00\10\10\00\00\00\00\00\10\00\00", [1760 x i16] [i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 0, i16 1415, i16 1417, i16 41, i16 40, i16 187, i16 171, i16 8212, i16 46, i16 1373, i16 44, i16 45, i16 1418, i16 8230, i16 1372, i16 1371, i16 1374, i16 1329, i16 1377, i16 1330, i16 1378, i16 1331, i16 1379, i16 1332, i16 1380, i16 1333, i16 1381, i16 1334, i16 1382, i16 1335, i16 1383, i16 1336, i16 1384, i16 1337, i16 1385, i16 1338, i16 1386, i16 1339, i16 1387, i16 1340, i16 1388, i16 1341, i16 1389, i16 1342, i16 1390, i16 1343, i16 1391, i16 1344, i16 1392, i16 1345, i16 1393, i16 1346, i16 1394, i16 1347, i16 1395, i16 1348, i16 1396, i16 1349, i16 1397, i16 1350, i16 1398, i16 1351, i16 1399, i16 1352, i16 1400, i16 1353, i16 1401, i16 1354, i16 1402, i16 1355, i16 1403, i16 1356, i16 1404, i16 1357, i16 1405, i16 1358, i16 1406, i16 1359, i16 1407, i16 1360, i16 1408, i16 1361, i16 1409, i16 1362, i16 1410, i16 1363, i16 1411, i16 1364, i16 1412, i16 1365, i16 1413, i16 1366, i16 1414, i16 1370, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1026, i16 1027, i16 8218, i16 1107, i16 8222, i16 8230, i16 8224, i16 8225, i16 8364, i16 8240, i16 1033, i16 8249, i16 1034, i16 1036, i16 1035, i16 1039, i16 1106, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 0, i16 8482, i16 1113, i16 8250, i16 1114, i16 1116, i16 1115, i16 1119, i16 160, i16 1038, i16 1118, i16 1032, i16 164, i16 1168, i16 166, i16 167, i16 1025, i16 169, i16 1028, i16 171, i16 172, i16 173, i16 174, i16 1031, i16 176, i16 177, i16 1030, i16 1110, i16 1169, i16 181, i16 182, i16 183, i16 1105, i16 8470, i16 1108, i16 187, i16 1112, i16 1029, i16 1109, i16 1111, i16 1040, i16 1041, i16 1042, i16 1043, i16 1044, i16 1045, i16 1046, i16 1047, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 1058, i16 1059, i16 1060, i16 1061, i16 1062, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1070, i16 1071, i16 1072, i16 1073, i16 1074, i16 1075, i16 1076, i16 1077, i16 1078, i16 1079, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1088, i16 1089, i16 1090, i16 1091, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1099, i16 1100, i16 1101, i16 1102, i16 1103, i16 8364, i16 0, i16 8218, i16 402, i16 8222, i16 8230, i16 8224, i16 8225, i16 710, i16 8240, i16 0, i16 8249, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 732, i16 8482, i16 0, i16 8250, i16 0, i16 0, i16 0, i16 0, i16 160, i16 161, i16 162, i16 163, i16 8362, i16 165, i16 166, i16 167, i16 168, i16 169, i16 215, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 247, i16 187, i16 188, i16 189, i16 190, i16 191, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 0, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 0, i16 0, i16 8206, i16 8207, i16 0, i16 128, i16 129, i16 8218, i16 402, i16 8222, i16 8230, i16 8224, i16 8225, i16 710, i16 8240, i16 352, i16 8249, i16 338, i16 141, i16 142, i16 143, i16 144, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 732, i16 8482, i16 353, i16 8250, i16 339, i16 157, i16 158, i16 376, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 4304, i16 4305, i16 4306, i16 4307, i16 4308, i16 4309, i16 4310, i16 4337, i16 4311, i16 4312, i16 4313, i16 4314, i16 4315, i16 4316, i16 4338, i16 4317, i16 4318, i16 4319, i16 4320, i16 4321, i16 4322, i16 4339, i16 4323, i16 4324, i16 4325, i16 4326, i16 4327, i16 4328, i16 4329, i16 4330, i16 4331, i16 4332, i16 4333, i16 4334, i16 4340, i16 4335, i16 4336, i16 4341, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 160, i16 260, i16 274, i16 290, i16 298, i16 296, i16 310, i16 167, i16 315, i16 272, i16 352, i16 358, i16 381, i16 173, i16 362, i16 330, i16 176, i16 261, i16 275, i16 291, i16 299, i16 297, i16 311, i16 183, i16 316, i16 273, i16 353, i16 359, i16 382, i16 8213, i16 363, i16 331, i16 256, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 302, i16 268, i16 201, i16 280, i16 203, i16 278, i16 205, i16 206, i16 207, i16 208, i16 325, i16 332, i16 211, i16 212, i16 213, i16 214, i16 360, i16 216, i16 370, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 257, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 303, i16 269, i16 233, i16 281, i16 235, i16 279, i16 237, i16 238, i16 239, i16 240, i16 326, i16 333, i16 243, i16 244, i16 245, i16 246, i16 361, i16 248, i16 371, i16 250, i16 251, i16 252, i16 253, i16 254, i16 312, i16 160, i16 8221, i16 162, i16 163, i16 164, i16 8222, i16 166, i16 167, i16 216, i16 169, i16 342, i16 171, i16 172, i16 173, i16 174, i16 198, i16 176, i16 177, i16 178, i16 179, i16 8220, i16 181, i16 182, i16 183, i16 248, i16 185, i16 343, i16 187, i16 188, i16 189, i16 190, i16 230, i16 260, i16 302, i16 256, i16 262, i16 196, i16 197, i16 280, i16 274, i16 268, i16 201, i16 377, i16 278, i16 290, i16 310, i16 298, i16 315, i16 352, i16 323, i16 325, i16 211, i16 332, i16 213, i16 214, i16 215, i16 370, i16 321, i16 346, i16 362, i16 220, i16 379, i16 381, i16 223, i16 261, i16 303, i16 257, i16 263, i16 228, i16 229, i16 281, i16 275, i16 269, i16 233, i16 378, i16 279, i16 291, i16 311, i16 299, i16 316, i16 353, i16 324, i16 326, i16 243, i16 333, i16 245, i16 246, i16 247, i16 371, i16 322, i16 347, i16 363, i16 252, i16 380, i16 382, i16 8217, i16 160, i16 7682, i16 7683, i16 163, i16 266, i16 267, i16 7690, i16 167, i16 7808, i16 169, i16 7810, i16 7691, i16 7922, i16 173, i16 174, i16 376, i16 7710, i16 7711, i16 288, i16 289, i16 7744, i16 7745, i16 182, i16 7766, i16 7809, i16 7767, i16 7811, i16 7776, i16 7923, i16 7812, i16 7813, i16 7777, i16 372, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 7786, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 374, i16 223, i16 373, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 7787, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 375, i16 255, i16 160, i16 161, i16 162, i16 163, i16 8364, i16 165, i16 352, i16 167, i16 353, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 381, i16 181, i16 182, i16 183, i16 382, i16 185, i16 186, i16 187, i16 338, i16 339, i16 376, i16 191, i16 160, i16 260, i16 261, i16 321, i16 8364, i16 171, i16 352, i16 167, i16 353, i16 169, i16 536, i16 8222, i16 377, i16 173, i16 378, i16 379, i16 176, i16 177, i16 268, i16 322, i16 381, i16 8221, i16 182, i16 183, i16 382, i16 269, i16 537, i16 187, i16 338, i16 339, i16 376, i16 380, i16 192, i16 193, i16 194, i16 258, i16 196, i16 262, i16 198, i16 199, i16 272, i16 323, i16 210, i16 211, i16 212, i16 336, i16 214, i16 346, i16 368, i16 217, i16 218, i16 219, i16 220, i16 280, i16 538, i16 223, i16 224, i16 225, i16 226, i16 259, i16 228, i16 263, i16 230, i16 231, i16 273, i16 324, i16 242, i16 243, i16 244, i16 337, i16 246, i16 347, i16 369, i16 249, i16 250, i16 251, i16 252, i16 281, i16 539, i16 255, i16 160, i16 260, i16 728, i16 321, i16 164, i16 317, i16 346, i16 167, i16 168, i16 352, i16 350, i16 356, i16 377, i16 173, i16 381, i16 379, i16 176, i16 261, i16 731, i16 322, i16 180, i16 318, i16 347, i16 711, i16 184, i16 353, i16 351, i16 357, i16 378, i16 733, i16 382, i16 380, i16 340, i16 193, i16 194, i16 258, i16 196, i16 313, i16 262, i16 199, i16 268, i16 201, i16 280, i16 203, i16 282, i16 205, i16 206, i16 270, i16 272, i16 323, i16 327, i16 211, i16 212, i16 336, i16 214, i16 215, i16 344, i16 366, i16 218, i16 368, i16 220, i16 221, i16 354, i16 223, i16 341, i16 225, i16 226, i16 259, i16 228, i16 314, i16 263, i16 231, i16 269, i16 233, i16 281, i16 235, i16 283, i16 237, i16 238, i16 271, i16 273, i16 324, i16 328, i16 243, i16 244, i16 337, i16 246, i16 247, i16 345, i16 367, i16 250, i16 369, i16 252, i16 253, i16 355, i16 729, i16 160, i16 294, i16 728, i16 163, i16 164, i16 0, i16 292, i16 167, i16 168, i16 304, i16 350, i16 286, i16 308, i16 173, i16 0, i16 379, i16 176, i16 295, i16 178, i16 179, i16 180, i16 181, i16 293, i16 183, i16 184, i16 305, i16 351, i16 287, i16 309, i16 189, i16 0, i16 380, i16 192, i16 193, i16 194, i16 0, i16 196, i16 266, i16 264, i16 199, i16 0, i16 209, i16 210, i16 211, i16 212, i16 288, i16 214, i16 215, i16 284, i16 217, i16 218, i16 219, i16 220, i16 364, i16 348, i16 223, i16 224, i16 225, i16 226, i16 0, i16 228, i16 267, i16 265, i16 231, i16 0, i16 241, i16 242, i16 243, i16 244, i16 289, i16 246, i16 247, i16 285, i16 249, i16 250, i16 251, i16 252, i16 365, i16 349, i16 729, i16 160, i16 260, i16 312, i16 342, i16 164, i16 296, i16 315, i16 167, i16 168, i16 352, i16 274, i16 290, i16 358, i16 173, i16 381, i16 175, i16 176, i16 261, i16 731, i16 343, i16 180, i16 297, i16 316, i16 711, i16 184, i16 353, i16 275, i16 291, i16 359, i16 330, i16 382, i16 331, i16 268, i16 201, i16 280, i16 203, i16 278, i16 205, i16 206, i16 298, i16 272, i16 325, i16 332, i16 310, i16 212, i16 213, i16 214, i16 215, i16 216, i16 370, i16 218, i16 219, i16 220, i16 360, i16 362, i16 223, i16 269, i16 233, i16 281, i16 235, i16 279, i16 237, i16 238, i16 299, i16 273, i16 326, i16 333, i16 311, i16 244, i16 245, i16 246, i16 247, i16 248, i16 371, i16 250, i16 251, i16 252, i16 361, i16 363, i16 729, i16 160, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 173, i16 1038, i16 1039, i16 8470, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 167, i16 1118, i16 1119, i16 160, i16 0, i16 0, i16 0, i16 164, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1548, i16 173, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1563, i16 0, i16 0, i16 0, i16 1567, i16 0, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1611, i16 1612, i16 1613, i16 1614, i16 1615, i16 1616, i16 1617, i16 1618, i16 0, i16 0, i16 0, i16 0, i16 0, i16 160, i16 8216, i16 8217, i16 163, i16 0, i16 0, i16 166, i16 167, i16 168, i16 169, i16 0, i16 171, i16 172, i16 173, i16 0, i16 8213, i16 176, i16 177, i16 178, i16 179, i16 900, i16 901, i16 902, i16 183, i16 904, i16 905, i16 906, i16 187, i16 908, i16 189, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 918, i16 919, i16 920, i16 921, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 929, i16 0, i16 931, i16 932, i16 933, i16 934, i16 935, i16 936, i16 937, i16 938, i16 939, i16 940, i16 941, i16 942, i16 943, i16 944, i16 945, i16 946, i16 947, i16 948, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 964, i16 965, i16 966, i16 967, i16 968, i16 969, i16 970, i16 971, i16 972, i16 973, i16 974, i16 0, i16 160, i16 0, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 184, i16 185, i16 247, i16 187, i16 188, i16 189, i16 190, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8215, i16 286, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 304, i16 350, i16 223, i16 287, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 305, i16 351, i16 255, i16 9472, i16 9474, i16 9484, i16 9488, i16 9492, i16 9496, i16 9500, i16 9508, i16 9516, i16 9524, i16 9532, i16 9600, i16 9604, i16 9608, i16 9612, i16 9616, i16 9617, i16 9618, i16 9619, i16 8992, i16 9632, i16 8729, i16 8730, i16 8776, i16 8804, i16 8805, i16 160, i16 8993, i16 176, i16 178, i16 183, i16 247, i16 9552, i16 9553, i16 9554, i16 1105, i16 9555, i16 9556, i16 9557, i16 9558, i16 9559, i16 9560, i16 9561, i16 9562, i16 9563, i16 9564, i16 9565, i16 9566, i16 9567, i16 9568, i16 9569, i16 1025, i16 9570, i16 9571, i16 9572, i16 9573, i16 9574, i16 9575, i16 9576, i16 9577, i16 9578, i16 9579, i16 9580, i16 169, i16 1102, i16 1072, i16 1073, i16 1094, i16 1076, i16 1077, i16 1092, i16 1075, i16 1093, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1103, i16 1088, i16 1089, i16 1090, i16 1091, i16 1078, i16 1074, i16 1100, i16 1099, i16 1079, i16 1096, i16 1101, i16 1097, i16 1095, i16 1098, i16 1070, i16 1040, i16 1041, i16 1062, i16 1044, i16 1045, i16 1060, i16 1043, i16 1061, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1071, i16 1056, i16 1057, i16 1058, i16 1059, i16 1046, i16 1042, i16 1068, i16 1067, i16 1047, i16 1064, i16 1069, i16 1065, i16 1063, i16 1066, i16 1179, i16 1171, i16 8218, i16 1170, i16 8222, i16 8230, i16 8224, i16 8225, i16 0, i16 8240, i16 1203, i16 8249, i16 1202, i16 1207, i16 1206, i16 0, i16 1178, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 0, i16 8482, i16 0, i16 8250, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1263, i16 1262, i16 1105, i16 164, i16 1251, i16 166, i16 167, i16 0, i16 0, i16 0, i16 171, i16 172, i16 173, i16 174, i16 0, i16 176, i16 177, i16 178, i16 1025, i16 0, i16 1250, i16 182, i16 183, i16 0, i16 8470, i16 0, i16 187, i16 0, i16 0, i16 0, i16 169, i16 9552, i16 9553, i16 9554, i16 1105, i16 1108, i16 9556, i16 1110, i16 1111, i16 9559, i16 9560, i16 9561, i16 9562, i16 9563, i16 1169, i16 9565, i16 9566, i16 9567, i16 9568, i16 9569, i16 1025, i16 1028, i16 9571, i16 1030, i16 1031, i16 9574, i16 9575, i16 9576, i16 9577, i16 9578, i16 1168, i16 9580, i16 169, i16 0, i16 3585, i16 3586, i16 3587, i16 3588, i16 3589, i16 3590, i16 3591, i16 3592, i16 3593, i16 3594, i16 3595, i16 3596, i16 3597, i16 3598, i16 3599, i16 3600, i16 3601, i16 3602, i16 3603, i16 3604, i16 3605, i16 3606, i16 3607, i16 3608, i16 3609, i16 3610, i16 3611, i16 3612, i16 3613, i16 3614, i16 3615, i16 3616, i16 3617, i16 3618, i16 3619, i16 3620, i16 3621, i16 3622, i16 3623, i16 3624, i16 3625, i16 3626, i16 3627, i16 3628, i16 3629, i16 3630, i16 3631, i16 3632, i16 3633, i16 3634, i16 3635, i16 3636, i16 3637, i16 3638, i16 3639, i16 3640, i16 3641, i16 3642, i16 0, i16 0, i16 0, i16 0, i16 3647, i16 3648, i16 3649, i16 3650, i16 3651, i16 3652, i16 3653, i16 3654, i16 3655, i16 3656, i16 3657, i16 3658, i16 3659, i16 3660, i16 3661, i16 3662, i16 3663, i16 3664, i16 3665, i16 3666, i16 3667, i16 3668, i16 3669, i16 3670, i16 3671, i16 3672, i16 3673, i16 3674, i16 3675, i16 0, i16 0, i16 0, i16 0], [4528 x i8] c"\00\00\01\00\00\00\00\00\02\03\04\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\06\07\08\09\0A\0B\00\00\00\00\00\00\00\00\0C\0D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\0F\00\00\00\00\10\11\12\13\14\15\00\00\00\16\00\00\00\00\00\00\00\17\18\19\00\00\00\00\00\00\1A\00\00\00\00\00\00\1B\1C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\1D\1E\00\1F\00 \00\00\00\00\00\00\00\00\00!\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\22#\00\00\00\00\00\00\00\00\00\00\00\00\00$%\13&'(\17\18\19\00\00\00\00\00\00)\00\00\00\00\00\00\00\1C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00*+,-\00\00.\14\00\00\00\00\00/01\00!\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00234\00\17\18\19\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03,-\11\12\13\14\00\00\00\00\00\00\00\00\02\0356789:;<=>?\00@A\00\00\00\00\00\00\00\00\00B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03CDEFGHIJKLMNOP\00\00\00\00\00\00\00\00\00Q\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03RS\11T\13UV\00W\00\00\00\00X\00\00\00\00\00\00\00\00YZ\00\00[\\]\00^\00\00\00\00\00\00_\00\00\00\00\00\00\00\00\02\03`a\11\12\13\14\00\00\00\00\00bcd\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00e\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03fghijklm\00\00nocp\00\00\00\00\00\00\00\00\00q\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00r\00\00\00\00\00\00\00\00e\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03stuvwxyz\00{|}~\7F\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\81\00\00\00\00\00\00\00\00\00\00\02\03\82\83\84\85\86\87\88\89\8A\8B\00\8C\8D\8E\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\8F\00\00\00\00\00\00\00\00\00\00\02\03\90t\91\92\93\94;\95\96\97\98\99\9A\9B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\9C\00\00\00\00\00\00\00\00\00\00\02\03\9D\00\00\00\00\00\9E-\11\12\13\9F\00\00\00\00\00\00\00\00\00\00\00\A0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03\A1\00\00\00\00\00\A2\A3\A4\A5\13\A6\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03\A7\A8\00\00\00\00\00\00\00\00\00\00\00\00\A9\11\AA\13\AB\00\00\00\00\AC\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03\AD\AE\00\1F\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\13&\00(\AF\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03,-\11\B0\13\B1\00\B2\00\B3\00\B4\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B5\B6\00\00\00\B7\B8\B9\BA\BB\BC\BD\00\00\00\00\00\00\00\00\00\00\00\BE\00\00\BF\00\C0\00\00\00\00\00\00\00\00\00\00\00\C1\00\00\00\00\00\00\00\00\00\00\00\00\00\C2\C3\C4\C5\00\C6\C7\00\C8\C9\CA\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\CB\CC\00\00\00\00\B8\B9\BA\BB\BC\BD\00\00\00\CD\00\CE\00\00\CF\00\D0\B9\BA\BB\BC\D1\00\00\00\D2\00\00\00\00\00\00\C2\C3\C4\C5\00\D3\D4\00\C8\C9\CA\00\00\00\00\00\D5-\11\D6\13\D7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A5\A4\00\00\AB\AC\A9\00\80\81\82\83\84\85\86\87\88\89\8A\8B\8C\8D\8E\8F\90\91\92\93\94\95\96\97\98\99\9A\9B\9C\9D\9E\9F\A0\00\00\00\00\00\00\00\00\00\00\A7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A6\00\00\00\00\00\B2\B4\B6\B8\BA\BC\BE\C0\C2\C4\C6\C8\CA\CC\CE\D0\D2\D4\D6\D8\DA\DC\DE\E0\E2\E4\E6\E8\EA\EC\EE\F0\F2\F4\F6\F8\FA\FC\00\00\00\FE\B0\AF\AA\B1\00\00\B3\B5\B7\B9\BB\BD\BF\C1\C3\C5\C7\C9\CB\CD\CF\D1\D3\D5\D7\D9\DB\DD\DF\E1\E3\E5\E7\E9\EB\ED\EF\F1\F3\F5\F7\F9\FB\FD\A2\00\A3\AD\00\00\00\00\00\00\00\00\00\A8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\AE\00\00\00\00\00\00\00\00\00\A0\00\00\00\A4\00\A6\A7\00\A9\00\AB\AC\AD\AE\00\B0\B1\00\00\00\B5\B6\B7\00\00\00\BB\00\00\00\00\00\A8\80\81\AA\BD\B2\AF\A3\8A\8C\8E\8D\00\A1\8F\C0\C1\C2\C3\C4\C5\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\E0\E1\E2\E3\E4\E5\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\FD\FE\FF\00\B8\90\83\BA\BE\B3\BF\BC\9A\9C\9E\9D\00\A2\9F\A5\B4\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\96\97\00\00\00\91\92\82\00\93\94\84\00\86\87\95\00\00\00\85\00\00\00\00\00\00\00\00\00\89\00\00\00\00\00\00\00\00\8B\9B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\88\00\00\00\00\00\00\00\00\00\B9\00\00\00\00\00\00\00\00\00\00\00\99\00\00\00\00\00\00\00\00\00\00\00\00\00\A0\A1\A2\A3\00\A5\A6\A7\A8\A9\00\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\00\BB\BC\BD\BE\BF\00\00\00\00\00\00\00\AA\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\BA\00\00\00\00\00\00\00\00\00\00\83\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\88\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\98\00\00\00\C0\C1\C2\C3\C4\C5\C6\C7\C8\C9\00\CB\CC\CD\CE\CF\D0\D1\D2\D3\00\00\00\00\00\00\00\00\00\00\00\00\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\00\00\00\00\00\D4\D5\D6\D7\D8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\FD\FE\00\00\00\00\00\00\00\00\00\00\A4\00\80\00\00\00\80\81\00\00\00\00\00\00\00\00\00\00\00\8D\8E\8F\90\00\00\00\00\00\00\00\00\00\00\00\00\9D\9E\00\A0\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\BF\00\00\00\00\00\00\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\00\00\8C\9C\00\00\00\00\00\00\00\00\00\00\00\00\8A\9A\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\9F\00\00\00\00\00\00\00\C0\C1\C2\C3\C4\C5\C6\C8\C9\CA\CB\CC\CD\CF\D0\D1\D2\D3\D4\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\E0\E1\E3\E4\C7\CE\D5\E2\E5\00\00\00\00\00\00\00\00\00\00\A0\00\00\00\00\00\00\A7\00\00\00\00\00\AD\00\00\B0\00\00\00\00\00\00\B7\00\00\00\00\00\00\00\00\00\C1\C2\C3\C4\C5\C6\00\00\C9\00\CB\00\CD\CE\CF\D0\00\00\D3\D4\D5\D6\00\D8\00\DA\DB\DC\DD\DE\DF\00\E1\E2\E3\E4\E5\E6\00\00\E9\00\EB\00\ED\EE\EF\F0\00\00\F3\F4\F5\F6\00\F8\00\FA\FB\FC\FD\FE\00\C0\E0\00\00\A1\B1\00\00\00\00\00\00\C8\E8\00\00\A9\B9\A2\B2\00\00\CC\EC\CA\EA\00\00\00\00\00\00\00\00\A3\B3\00\00\00\00\A5\B5\A4\B4\00\00\C7\E7\00\00\00\00\00\00\A6\B6\FF\00\00\A8\B8\00\00\00\00\00\00\00\00\D1\F1\00\00\00\AF\BF\D2\F2\00\00\AA\BA\00\00\00\00\AB\BB\D7\F7\AE\BE\00\00\00\00\00\00\D9\F9\00\00\00\00\00\00\00\00\00\AC\BC\00\00\00\00\00\00\BD\00\00\00\00\00\00\00\00\00\00\A0\00\A2\A3\A4\00\A6\A7\00\A9\00\AB\AC\AD\AE\00\B0\B1\B2\B3\00\B5\B6\B7\00\B9\00\BB\BC\BD\BE\00\00\00\00\00\C4\C5\AF\00\00\C9\00\00\00\00\00\00\00\00\00\D3\00\D5\D6\D7\A8\00\00\00\DC\00\00\DF\00\00\00\00\E4\E5\BF\00\00\E9\00\00\00\00\00\00\00\00\00\F3\00\F5\F6\F7\B8\00\00\00\FC\00\00\00\C2\E2\00\00\C0\E0\C3\E3\00\00\00\00\C8\E8\00\00\00\00\C7\E7\00\00\CB\EB\C6\E6\00\00\00\00\00\00\00\00\CC\EC\00\00\00\00\00\00\CE\EE\00\00\C1\E1\00\00\00\00\00\00\CD\ED\00\00\00\CF\EF\00\00\00\00\D9\F9\D1\F1\D2\F2\00\00\00\00\00\D4\F4\00\00\00\00\00\00\00\00\AA\BA\00\00\DA\FA\00\00\00\00\D0\F0\00\00\00\00\00\00\00\00\DB\FB\00\00\00\00\00\00\D8\F8\00\00\00\00\00\CA\EA\DD\FD\DE\FE\00\00\00\00\00\00\00\00\00\00\FF\00\00\B4\A1\A5\00\A0\00\00\A3\00\00\00\A7\00\A9\00\00\00\AD\AE\00\00\00\00\00\00\00\B6\00\00\00\00\00\00\00\00\00\00\D1\D2\D3\D4\D5\D6\00\D8\D9\DA\DB\DC\DD\00\DF\00\F1\F2\F3\F4\F5\F6\00\F8\F9\FA\FB\FC\FD\00\FF\00\00\00\00\00\00\00\00\00\00\A4\A5\00\00\00\00\B2\B3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\D0\F0\DE\FE\AF\00\00\00\00\00\00\00\00\00\A1\A2\00\00\00\00\00\00\A6\AB\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B0\B1\B4\B5\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B7\B9\00\00\00\00\00\00\00\00\BB\BF\00\00\00\00\00\00\00\00\D7\F7\00\00\00\00\A8\B8\AA\BA\BD\BE\00\00\00\00\00\00\00\00\00\00\00\00\AC\BC\00\00\00\00\00\00\00\00\00\00\00\00\A0\A1\A2\A3\00\A5\00\A7\00\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B3\00\B5\B6\B7\00\B9\BA\BB\00\00\00\BF\00\00\BC\BD\00\00\00\00\00\00\00\00\00\00\00\00\A6\A8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\BE\00\00\00\00\B4\B8\00\00\00\00\00\00\00\00\00\00\00\00\00\A4\00\00\00\A0\00\00\00\00\00\00\A7\00\A9\00\A5\00\AD\00\00\B0\B1\00\00\00\00\B6\B7\00\00\00\BB\00\00\00\00\C0\C1\C2\00\C4\00\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\00\00\D2\D3\D4\00\D6\00\00\D9\DA\DB\DC\00\00\DF\E0\E1\E2\00\E4\00\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\00\00\F2\F3\F4\00\F6\00\00\F9\FA\FB\FC\00\00\FF\00\00\C3\E3\A1\A2\C5\E5\00\00\00\00\B2\B9\00\00\D0\F0\00\00\00\00\00\00\DD\FD\00\00\00\00\00\00\00\A3\B3\D1\F1\00\00\00\00\00\00\00\00\00\00\00\D5\F5\BC\BD\00\00\00\00\00\00\D7\F7\00\00\00\00\D8\F8\00\00\00\00\00\00\BE\AC\AE\AF\BF\B4\B8\00\00\00\00\00\00\00\00\00\AA\BA\DE\FE\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B5\AB\00\A0\00\00\00\A4\00\00\A7\A8\00\00\00\00\AD\00\00\B0\00\00\00\B4\00\00\00\B8\00\00\00\00\00\00\00\00\C1\C2\00\C4\00\00\C7\00\C9\00\CB\00\CD\CE\00\00\00\00\D3\D4\00\D6\D7\00\00\DA\00\DC\DD\00\DF\00\E1\E2\00\E4\00\00\E7\00\E9\00\EB\00\ED\EE\00\00\00\00\F3\F4\00\F6\F7\00\00\FA\00\FC\FD\00\00\00\00\C3\E3\A1\B1\C6\E6\00\00\00\00\C8\E8\CF\EF\D0\F0\00\00\00\00\00\00\CA\EA\CC\EC\00\00\00\00\00\00\00\00\00\00\00\00\00\C5\E5\00\00\A5\B5\00\00\A3\B3\D1\F1\00\00\D2\F2\00\00\00\00\00\00\00\D5\F5\00\00\C0\E0\00\00\D8\F8\A6\B6\00\00\AA\BA\A9\B9\DE\FE\AB\BB\00\00\00\00\00\00\00\00\D9\F9\DB\FB\00\00\00\00\00\00\00\AC\BC\AF\BF\AE\BE\00\00\00\00\00\00\00\00\B7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A2\FF\00\B2\00\BD\00\00\A0\00\00\A3\A4\00\00\A7\A8\00\00\00\00\AD\00\00\B0\00\B2\B3\B4\B5\00\B7\B8\00\00\00\00\BD\00\00\C0\C1\C2\00\C4\00\00\C7\C8\C9\CA\CB\CC\CD\CE\CF\00\D1\D2\D3\D4\00\D6\D7\00\D9\DA\DB\DC\00\00\DF\E0\E1\E2\00\E4\00\00\E7\E8\E9\EA\EB\EC\ED\EE\EF\00\F1\F2\F3\F4\00\F6\F7\00\F9\FA\FB\FC\00\00\00\00\00\00\00\00\00\00\00\C6\E6\C5\E5\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\D8\F8\AB\BB\D5\F5\00\00\A6\B6\A1\B1\00\00\00\00\00\00\00\00\A9\B9\00\00\AC\BC\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\DE\FE\AA\BA\00\00\00\00\00\00\00\00\00\00\00\00\DD\FD\00\00\00\00\00\00\00\00\00\00\00\00\00\AF\BF\00\00\00\00\00\00\00\00\00\00\00\A2\FF\00\00\00\00\00\00\A0\00\00\00\A4\00\00\A7\A8\00\00\00\00\AD\00\AF\00\C1\C2\C3\C4\C5\C6\00\00\C9\00\CB\00\CD\CE\00\00\00\00\00\D4\D5\D6\D7\D8\00\DA\DB\DC\00\00\DF\00\E1\E2\E3\E4\E5\E6\00\00\E9\00\EB\00\ED\EE\00\00\00\00\00\F4\F5\F6\F7\F8\00\FA\FB\FC\00\00\00\D0\F0\AA\BA\00\00\CC\EC\CA\EA\00\00\00\00\00\00\00\00\AB\BB\00\00\00\00\A5\B5\CF\EF\00\00\C7\E7\00\00\00\00\00\00\D3\F3\A2\00\00\A6\B6\00\00\00\00\00\00\00\00\D1\F1\00\00\00\BD\BF\D2\F2\00\00\00\00\00\00\00\00\A3\B3\00\00\00\00\00\00\00\00\A9\B9\00\00\00\00\AC\BC\DD\FD\DE\FE\00\00\00\00\00\00\D9\F9\00\00\00\00\00\00\00\00\00\AE\BE\00\00\00\00\00\00\00\00\00\00\FF\00\B2\00\00\00\00\A0\00\00\00\00\00\00\FD\00\00\00\00\00\AD\00\00\00\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\00\AE\AF\00\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\00\FE\FF\00\00\00\00\00\00\F0\00\00\00\00\00\00\00\00\00\A0\00\00\00\A4\00\00\00\00\00\00\00\00\AD\00\00\00\00\00\00\00\00\00\00\00\00\00\00\AC\00\00\00\00\00\00\00\00\00\00\00\00\00\00\BB\00\00\00\BF\00\C1\C2\C3\C4\C5\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\00\00\00\00\00\F0\F1\F2\00\00\00\00\00\00\00\00\00\00\00\00\00\A0\00\00\A3\00\00\A6\A7\A8\A9\00\AB\AC\AD\00\00\B0\B1\B2\B3\00\00\00\B7\00\00\00\BB\00\BD\00\00\00\00\00\00\B4\B5\B6\00\B8\B9\BA\00\BC\00\BE\BF\D0\D1\00\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\FD\FE\00\00\00\00\00\00\AF\00\00\A1\A2\00\00\00\00\00\00\A0\00\A2\A3\A4\A5\A6\A7\A8\A9\00\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\00\BB\BC\BD\BE\00\00\00\00\00\00\00\00\DF\00\00\00\00\00\00\00\00\00\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\00\00\DF\00\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\00\00\FF\00\00\00\00\00\00\00\00\00\00\00\00\00\00\D0\F0\DD\FD\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\DE\FE\9A\00\00\00\00\00\00\00\00\BF\00\00\00\00\00\00\9C\00\9D\00\00\00\00\9E\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\9F\00\00\00\00\00\00\00\00\00\B3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E1\E2\F7\E7\E4\E5\F6\FA\E9\EA\EB\EC\ED\EE\EF\F0\F2\F3\F4\F5\E6\E8\E3\FE\FB\FD\FF\F9\F8\FC\E0\F1\C1\C2\D7\C7\C4\C5\D6\DA\C9\CA\CB\CC\CD\CE\CF\D0\D2\D3\D4\D5\C6\C8\C3\DE\DB\DD\DF\D9\D8\DC\C0\D1\00\A3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\95\96\00\00\00\00\00\00\00\00\00\00\00\00\00\97\00\00\00\00\00\00\00\00\00\00\00\98\99\00\00\00\00\00\00\00\00\00\00\93\9B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\00\81\00\00\00\00\00\00\00\00\00\82\00\00\00\83\00\00\00\84\00\00\00\85\00\00\00\86\00\00\00\00\00\00\00\87\00\00\00\00\00\00\00\88\00\00\00\00\00\00\00\89\00\00\00\00\00\00\00\8A\00\00\00\A0\A1\A2\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\00\00\00\8B\00\00\00\8C\00\00\00\8D\00\00\00\8E\00\00\00\8F\90\91\92\00\00\00\00\00\00\00\00\00\00\00\00\94\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A4\00\A6\A7\00\BF\00\AB\AC\AD\AE\00\B0\B1\B2\00\00\00\B6\B7\00\00\00\BB\00\00\00\00\00\00\83\81\00\00\00\00\00\00\90\80\00\00\00\00\00\00\8C\8A\00\00\8E\8D\00\00\00\00\00\00\00\00\00\00\B5\A5\00\00\00\00\00\00\00\00\00\00\A2\A1\00\B3\00\00\B4\00\B6\B7\00\00\00\00\00\00\00\00\00\A3\00\00\A4\00\A6\A7\00\00\00\00\00\00\00\00\BD\AD\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A0\A1\A2\00\A5\00\00\A8\A9\AA\AB\AC\00\AE\AF\B0\B1\B2\00\B5\00\00\B8\B9\BA\BB\BC\00\BE\00\00\00\00\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\00\00\00\00\DF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\00\00\00\00", [3604 x i8] c":!\1F2#\1E\02,\00'\04%&\05\07)\0F\12\09\0C\06\19\1A\0B+\00\00\00\00\00 \1D9*7407.$777\00\00\00\0158\03/3\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\17\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\16\19\19\19\19\13\00\00\00\00\00\00\00\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\14\00\00\00\00\00\00\00\007777777777777777777777777\19\10\08\19\1B-(\00\00\00\0E\22\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0061\00\00\11\0A\15\1C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\18\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\19\19\0D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E4\E4\E4\CD\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\D0\00\00\07\00\1A5UU>Uj\DE\00UovUUUUUUUUUUUZ\E4\DA\DEU\\\08UUUUI5UUUUUUUUUUS\E4\E4UUU\00\00\00\00\00\00\00UU\12?#UU(%;\C4-\002\03U\C7\00\B6PGUU(&=\E3\CC\1F\00 U\00\00\1DL(UU(U:\D2.\04\009U\00\00\1DUS\17UUGOS\11\D5\E4\00\00\1C\005UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU5UUUUXUAVXUk\00\00\00\00/\22\0B54\16\BC\CBJ\DEU<\00\00\00\00S\00\14\09U\BBSJDUUUUUUUUUUUUU7\00\00\00\14UUUUUSUUUUUUUS'S'UUUUS'UUUS'S'SSUUSUUTBLLUUUFJ\17(UUUUUUUUUUUUUUUUUUUUUULm\00UUn\00UUk\00UL*\00UUUUUU`\E4\E4\E4\E2\D3U7\00\00US'SUUUUSUU>\B9vp\D4\00\00\00\00UUUUUUUUUUI\00UUUR\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00UUUS\D0\00UUU>\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00UUUUG1\C5\C0UpY\C0\00\00\00\00\00\00\00\00UUUUR\00UUUUU)UUUUURUUUUUUU>\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00UUUUUUUUUULUUUUUUUUL\103UE&UUUUUUUUUUUUUUUUUU8UUUUUUUU>UUUUUUUUUU7UUUUUUUUUUUUUUUUUI\E4\E4\E4\E4\E4\E4\E0\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUH\00\00\00\00\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUHUUU\BBUUhUUUhUUUUUUUUUUUUUUUUUUUUR\00\00\00\00\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUUUR\00\00\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUUUUUUUS\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU^S\00xUUgUUUUUUUUUi\1F\00UUUUUUUY\00\00UUUUUUUU\17UUUUUU\00\00\00\00\00UNUU]UUU]UUXUUUXUUU\BBUUU\BBUUh9UUUUUU\86\AA\83\A7\86\AA\86\AA\83\A7{\96\86\AA\86\83\86\AA\86\AA\86\AA\82\AE\C9\AF}\AC\7F\AF\19\AD\92\92\00\00\00\00\97\AA\AA\AA\A86y\86\86\86\85\B4\B9\E4\CD\E4\E4\CD\D4\00UUU>g\00\92\92\92\92+\92\8F\00\00\00ezq~bUqraUURU\BDp\E4p\E4_\DF\00\00\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\91d\92\92\92\92\92\92\92\92\92\92\92\8C\92\92\92\92\92\92\92\9A\9Fs\92\92\92\92\92\A5\99\A0\A4\8E\93\9C\A1\8D[\8B\9F\9D\92\92\98\92\AA\AA\AA\AA\A7\86\86\86\86\83\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\AA\AA\AA\AA\AA\AA\86\86\86\86\86\86\92\92\92\92\94\CA\92\92\92\92\92\92\9A\9E\92\92\92\92\90\8C\B5\C1\E4\E4\E4\B9\E4\E4\E4\DC\C3\E0\B9\E4\E4\E4\E4\E4\D4\E4\E4\E4\B9\E0\00\00\E4\E4\E4\D0\E4\E4\B6K#UU($=\D1-\05\0A9U,\00\18@'0\13@T:\C5.\04\00\02U\C2\00\B6L(UU(Q:\D7.\0C\009U\00\00\1DL(UU(Q:\D7.\0C\019U\00\00\B6UUUUUU=\E4\DE\BEUoU,\00\B6K#UU(!;\D6-\04\0AlUp\C2\B9\E4Up\B1\AA\AA\B0\95\86\86\88\E1UUUUUUUUUUS\17\17\17\15\E0\E0\00\B8\BF\E4\E4\E4Up\E4\E4U5UUU>\B9\E4\E4H\E4\B9\E4\E4\E4\D7\E4\D6\00\00\00\00\00\00\CE\C8Zw\DDfcC\D9k\1B\E4\AA\AA\86\86H\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E0U7UUUUUUUUUUU\00UUUUU\BA\00\00\00\00\00\00\00\00\00\00\E4\E3\BBUUI\E4\E4\E4\C2\00\00\00\00\00\00UUUUY\E4t\00\00\00\00\00\00\00\00\00\E4\E4\00\00\D0\00\E4\E4\E5\B9\C6\E4\E0\D0LUUUUUUUUUUUUUUUUM\E4\E4\D2\B9\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\E4\C0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E4\E4\E4\D4\E4\E4\E4\E4\D0\00\B9\E4\E4\E4\E4\D1\E4\E4\E4\E4\E4\E4\E4\E4\E4\D0\E4\E4\E4\E4\E4\E0\E4\E4\E4\E4\E0\00\00\00\E4\C2\00\00\E4\E4\E4\E4\E4\E4\E4\D8UUW\AA\AA\AA\86\86\86\8A\E4\E0\E4\E4\E4\E4\E0\1E\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\00\00\00\00\E4\E4\E4\E4\E4\E4\E4\E4\DB\E4\00\00\E4\E4\0D\0F\0E\A2\9B\AA\A3\A6|\86\86\84\80\92\92\92\81\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E0\1B\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\E4\E4\E4\E0\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E0\00\00\00\00\00\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\00\00\00\E4\D0\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E6\E4\E4\E4vpw_5UUUUUUUUUS\B7vUUUUUUUUUUh\E9\E8\E4\E4\E4\EA\E4\E4\E4\E4\C4\06\D0\1Eu\E2\E4\E0\00\00\E4\E4\C0\00\00\00\E4\E4\E4\C2\00\00\EC\EB\EC\EC\E7\E4\B2\B3\B1\AA\AA\B0\95\86\86\89\EC\EC\EC\EC\E4\CF\DB\CF\AA\AA\AB\A9\86\86\87\86\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\11\00\00\00`\00\00\00f\00\00\00\90\00\00\06\00\00\00\10\11\00\00\10\16\00\00\11\10\00\00\11\11\00\00`\06\00\00f\00\00\00fd\00\01\00\06\00\01\10\01\00\06\00`\00\06\10\11\00\10\01\00\00\10\11\11\00\11\01\00\00\11\10\11\00\11\11\11\00\16\10\11\00!\01\11\00`\00`\00`ff\00f\06\00\00f\10\11\00fff\01\00\00\00\01\00\00\11\01\01\00\11\01\01\10\00\01\10\11\11\01\11\00\11\01\11\10\01\01\11\10\11\01\11\11\00\01\11\11\11\01`\00\00\01f\00\00\04$$$\06\00\00\00\06`f\00\06ff\00\10\01\01\10\10\01\01\11\10\01ff\10\11\01\01\10\11\01\11\10\11\10\10\10\11\11\11\10fff\11\00\00\00\11\00\00\10\11\00\00\11\11\00\00f\11\00\06f\11\00\11\00\11\00\16f\11\01\00\00\11\01\00\10\11\01\00\11\11\01\00`\11\01\10\11\11\06\10\11\11\10\01\11\11\10\10\11\11\10\11\01\11\10\11\11\11\11\00\00\11\11\01\00\11\11\01\01\11\11\01\10\11\11\01\11\11\11\01`\11\11\06\00\11\11\10\00\11\11\10\10\11\11\10\11\11\11\11\00\11\11\11\01\11\11\11\10\11\11\11\11\11\11\11\16\11\11\11D\11\11\11a\11\11\11f\11\11\16f\11\114B\11\11a\06\11\11a\11\11\11a\16\11\11af\11\11ff\11\12\11\11\11\12!\11\11\16\11\11\11!\00\00\11!\12\22\11D\11\16\11a\06\00\11a\11\11\11af\11\11aff\11f\00\00\11f\00\11\11f\06\00\11ff\06\11ff\11\11fff\12!\11\11\12\22\11\11\12$$$\16\00\00\00\16\00ff\16\11\11\11\16\11\11f\19\11\11\11 \22\22\22!!\11\11!!!!!\22\22\22\22\11\00\11\22\11\11!\22\11!\11\22\11!\12\22\12$\06\22!\01\11\22\22\22\00\22\22\22\02\22\22\22\12\22\22\22\22\22\22\22b\22bff\22bf\E6\22fff#4BB$\00\00\00$\11$!$\11DB$$\00\00$$$\00$$$\11$$$$$$$D$ff\06&\22\22\22@@@@@DDDA#$DA$$DABBBADDDB\11$DBB\22$BBB\02BBBBBD\12DBDBBD\04\04DD@DDDB$DDBB\22DD\22\22DDD\00DDD\04DDD$DDDDDDDdDD`fDDd\06DDdbDDdfDdffFDDDUUUUUfff`\06\00\00`f\06f`f\10\11`f\16\11`ff\00`fffa\00\00\00a\11\11\11a\11ffa\16\11\11af\06\00affff\00\00\00f\00fff\06\00\00f\06\00\06f\06\00`f\06\00ff\06fff\11\01\00f\11\11\11f!\01\11f$$$f`\16\00f`f\00f`fffaf\16faffff\00\00ff\00`ff\00fff\01\00ff\06\00ff\06\06ff\06`ff\06fff\11\11ff\16\11ff\16aff&fff``ffadfff\00fff\01fff\06fff\11fff\16fff`ffffffv\07if\16\11ifff\99\99ff\99\99\99i\CCfff\DE\CC\CC\EE\EE\EE\EE\EE", [1680 x i8] c"\04\06\07\00\00\00\00\00\00\00\00\00\00\00\00\05\01\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\00\00\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\0D\00\00\00\00\00\00QQRR\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\1B\1B\19\0F\1F\1F\1D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\03SSSUUUT\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\1B\1B\19\0F\1F\1F\1D\00\00\00\00\00\00\04\00\1B\1B\1A\1A\1F\1F\1E ((((((1\10,*(((((2\11.3%)/0$\064,-((\12((((((((((((((((((('\08(((((((((((#GIFHGIGIFH\16\17GIMNGIGIGIEJ\09OCKDL\09P((((5(&\00\00\00\07\1367\0B\0089\0C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\01:\0E\1B\18\1C\0F\1F\22!;(((<\00>>\1B\1B\1B\1B\1F\1F\1F\1F==((((#\0A((((((\10+(((('#((\00\00\00\00\14@@@?\00\15BBBA\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00WWWWVYYYYX\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\001\00\00\00\00\00\00\00Y\00\00\00\00\00\00\00^^\00\00\00\00\00\03\00\00\00\00\00\00\000\00\00\00\00\00\00\1C\1D\1E\1C\00\00\00#$\00%%\00\00\00E\00\00\00\00\00\00\00N\00\00\00\00\00\00\05\06\05\06\05\06\00\00+\00\00,\00\00\00\00/\00\00\00\00\00\00\00Z[\00\00\00\00\00\01\01\01\01\01\01\01\00\02\02\02\02\02\02\02\00\05\06\05\06\05\06\05\00\0B\05\06\05\06\0C\05\00\1C\1D\1E\05\06 !\00&\00'\00\00\00\00\00CCCCCCC\00DDDDDDD\00F\00F\00F\00F\00G\00G\00G\00G\01\01\00\01\01\01\01\01\01\01\01\00\00\00\00\00\01\01\01\01\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\015666\02\02\02\00\00\00\00\00\02\02\02\02\02\02\02\00\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\04\02\02\02\02899\00\02\027\02\02\02\02\02\05\06\00\00\00\00\00\00\05\06\00\00\05\06\00\1B\05\06\00\00\13\15\16\17\05\06\05\06\00\00\00\00\05\06\05\06\05\06\00\00\05\06\05\06\05\06\05\06\05\06\05\06\05\06\18\05\06\00\05\06\05\06\05\06\06\05\06\05\06\05\06\00\06\05\06\05\06\05\06\05\06\05\06\05\06\1F\05\06\06\0D\0D\05\06\00\0E\0F\06\18\00\00\05\06\18\05\06\19\19\05\06\05\06\1A\07\08\05\06\05\06\05\06\09\05\06\05\06\05\06\0A\10\05\06\0D\11\12\13\14\1D\1E\1C\1D\1E\05\06\05\22\00\05\06\05\06\05\06%\00\00(\00\00\00\00)*\00\00\00\00\00*-\00\00-\00\00\00\00-\00..\00\00\00\00222\003\0044:;\00\00\00<=\00>?\1F\00@A\00\00????????BBBBBBBBCCCCCCC\00CCCCCCCCDDDDDDD\00DDDDDDDDFF\00\00\00\00\00\00FF\00\00\00T\00\00FF\00N\00\00\00\00FFFFFF\00\00FFFFFFFFGGGGGG\00\00GGGGGGGGGGOOP\00Q\00GGSS\00\00\00\00GGUUV\00\00\00HHIIIIJJKKLLMM\00\00RRRRP\00\00\00WWXXP\00\00\00\\\\\\\\\\\\\\\\]]]]]]]]^^^^^^^^__\00\00\00\00\00\00________``````\00\00````````aaaaaa\00\00aaaaaaaa", [196 x i16] [i16 0, i16 0, i16 0, i16 32, i16 -32, i16 0, i16 743, i16 0, i16 121, i16 0, i16 0, i16 1, i16 -1, i16 0, i16 0, i16 -199, i16 -232, i16 0, i16 0, i16 -121, i16 -300, i16 0, i16 0, i16 210, i16 0, i16 206, i16 0, i16 205, i16 0, i16 79, i16 0, i16 202, i16 0, i16 203, i16 0, i16 207, i16 97, i16 0, i16 0, i16 211, i16 0, i16 209, i16 0, i16 213, i16 130, i16 0, i16 0, i16 214, i16 0, i16 218, i16 0, i16 217, i16 0, i16 219, i16 56, i16 0, i16 0, i16 2, i16 -1, i16 1, i16 -2, i16 0, i16 -79, i16 0, i16 0, i16 -97, i16 0, i16 -56, i16 0, i16 -130, i16 -210, i16 0, i16 -206, i16 0, i16 -205, i16 0, i16 -202, i16 0, i16 -203, i16 0, i16 -207, i16 0, i16 -209, i16 0, i16 -211, i16 0, i16 -213, i16 0, i16 -214, i16 0, i16 -218, i16 0, i16 -217, i16 0, i16 -219, i16 0, i16 84, i16 0, i16 0, i16 38, i16 0, i16 37, i16 0, i16 64, i16 0, i16 63, i16 -38, i16 0, i16 -37, i16 0, i16 -31, i16 0, i16 -64, i16 0, i16 -63, i16 0, i16 -62, i16 0, i16 -57, i16 0, i16 -47, i16 0, i16 -54, i16 0, i16 -86, i16 0, i16 -80, i16 0, i16 0, i16 -60, i16 -96, i16 0, i16 0, i16 80, i16 0, i16 48, i16 -48, i16 0, i16 -59, i16 0, i16 8, i16 0, i16 0, i16 -8, i16 74, i16 0, i16 86, i16 0, i16 100, i16 0, i16 128, i16 0, i16 112, i16 0, i16 126, i16 0, i16 9, i16 0, i16 0, i16 -74, i16 0, i16 -9, i16 -7205, i16 0, i16 0, i16 -86, i16 0, i16 -100, i16 7, i16 0, i16 0, i16 -112, i16 0, i16 -7, i16 0, i16 -128, i16 0, i16 -126, i16 0, i16 -7517, i16 0, i16 -8383, i16 0, i16 -8262, i16 0, i16 16, i16 -16, i16 0, i16 0, i16 26, i16 -26, i16 0, i16 0, i16 40, i16 -40, i16 0], [51 x i8] c"\000\001\002\003\004\005\006\007\008\009\00\DB\B0\00\DB\B1\00\DB\B2\00\DB\B3\00\DB\B4\00\DB\B5\00\DB\B6\00\DB\B7\00\DB\B8\00\DB\B9\00", [28 x i8] c"\00.\00,\00\03\00\03\02\00\A0\00\C2\A0\00 \00\D9\AB\00\D9\AC\00'\00\02\03\00", [1646 x i8] c"\00\7F\00-\00ZAR \00R\00,\00.\00\03\00\02\00\01\00-R\00ETB \00$\00-$\00AED \00\CF.\C5.\00-\CF.\C5.\00\D8\AF.\D8\A5.\00-\D8\AF.\D8\A5.\00BHD \00\CF.\C8.\00-\CF.\C8.\00\D8\AF.\D8\A8.\00-\D8\AF.\D8\A8.\00DZD \00\CF.\CC.\00-\CF.\CC.\00\D8\AF.\D8\AC.\00-\D8\AF.\D8\AC.\00EGP \00\CC.\E5.\00-\CC.\E5.\00\D8\AC.\D9\85.\00-\D8\AC.\D9\85.\00INR \00\E2\82\A8\00\03\02\00-\E2\82\A8\00IQD \00\CF.\D9.\00-\CF.\D9.\00\D8\AF.\D8\B9.\00-\D8\AF.\D8\B9.\00JOD \00\CF.\C3.\00-\CF.\C3.\00\D8\AF.\D8\A3.\00-\D8\AF.\D8\A3.\00KWD \00\CF.\E3.\00-\CF.\E3.\00\D8\AF.\D9\83.\00-\D8\AF.\D9\83.\00LBP \00\E4.\E4.\00-\E4.\E4.\00\D9\84.\D9\84.\00-\D9\84.\D9\84.\00LYD \00\CF.\E4.\00-\CF.\E4.\00\D8\AF.\D9\84.\00-\D8\AF.\D9\84.\00MAD \00\CF.\E5.\00-\CF.\E5.\00\D8\AF.\D9\85.\00-\D8\AF.\D9\85.\00OMR \00\D1.\D9.\00-\D1.\D9.\00\D8\B1.\D8\B9.\00-\D8\B1.\D8\B9.\00QAR \00\D1.\E2.\00-\D1.\E2.\00\D8\B1.\D9\82.\00-\D8\B1.\D9\82.\00SAR \00\D1\EA\C7\E4\00+\D1\EA\C7\E4\00\D8\B1\D9\8A\D8\A7\D9\84\00+\D8\B1\D9\8A\D8\A7\D9\84\00SDP \00\CC.\D3.\00-\CC.\D3.\00\D8\AC.\D8\B3.\00-\D8\AC.\D8\B3.\00SYP \00\E4.\D3.\00-\E4.\D3.\00\D9\84.\D8\B3.\00-\D9\84.\D8\B3.\00TND \00\CF.\CA.\00-\CF.\CA.\00\D8\AF.\D8\AA.\00-\D8\AF.\D8\AA.\00YER \00\D1.\EA.\00-\D1.\EA.\00\D8\B1.\D9\8A.\00-\D8\B1.\D9\8A.\00AZM \00man.\00 \00+man.\00BYR \00\F0\F3\E1\00+\F0\F3\E1\00\D1\80\D1\83\D0\B1\00+\D1\80\D1\83\D0\B1\00BGL \00\EB\E2\00\A0\00+\EB\E2\00\D0\BB\D0\B2\00\C2\A0\00+\D0\BB\D0\B2\00\E0\A7\B3\00-\E0\A7\B3\00\E0\A6\9F\E0\A6\BE\E0\A6\95\E0\A6\BE\00\02\03\00-\E0\A6\9F\E0\A6\BE\E0\A6\95\E0\A6\BE\00EUR \00EUR\00+EUR\00\E2\82\AC\00+\E2\82\AC\00BAK \00KM\00-KM\00-EUR\00-\E2\82\AC\00\A4\00-\A4\00CZK \00K\E8\00+K\E8\00K\C4\8D\00+K\C4\8D\00GBP \00\A3\00-\A3\00\C2\A3\00-\C2\A3\00DKK \00kr\00\04\00-kr\00CHF \00Fr.\00-Fr.\00+\A4\00AUD \00BWP \00Pu\00-Pu\00CAD \00\C2\A4\00-\C2\A4\00HKD \00HK$\00-HK$\00NZD \00PHP \00Php\00-Php\00SGD \00USD \00ZWD \00Z$\00-Z$\00-EUR \00ARS \00BOB \00$b\00-$b\00CLP \00COP \00CRC \00C\00-C\00DOP \00ECS \00GTQ \00Q\00-Q\00HNL \00L.\00-L.\00MXP \00NIO \00$C\00-$C\00PAB \00B/\00-B/\00PEN \00S/\00-S/\00PYG \00Gs.\00-Gs.\00SVC \00\A2\00-\A2\00\C2\A2\00-\C2\A2\00UYU \00N$\00-N$\00VEB \00Bs.\00-Bs.\00EEK \00IRR \00\D8\B1\DB\8C\D8\A7\D9\84\00\D9\AB\00\D9\AC\00+\D8\B1\DB\8C\D8\A7\D9\84\00+$\00ILS \00\F9\E7\00-\F9\E7\00\D7\A9\D7\97\00-\D7\A9\D7\97\00\E0\A4\B0\E0\A5\82\00-\E0\A4\B0\E0\A5\82\00HRK \00Kn\00-Kn\00HUF \00Ft\00+Ft\00AMD \00\B8\00-\B8\00\D4\B4\00-\D4\B4\00IDR \00Rp\00-Rp\00ISK \00+kr\00JPY \00\EF\BF\A5\00-\EF\BF\A5\00GEL \00\CB\00-\CB\00\E1\83\9A\00-\E1\83\9A\00KRW \00\EF\BF\A6\00-\EF\BF\A6\00LTL \00Lt\00+Lt\00LVL \00Ls\00-Ls\00MKD \00\D4\D5\DD\00+\D4\D5\DD\00\D0\B4\D0\B5\D0\BD\00+\D0\B4\D0\B5\D0\BD\00\E0\A4\B0\E0\A5\81\00-\E0\A4\B0\E0\A5\81\00MYR \00RM\00-RM\00MTL \00Lm\00-Lm\00NOK \00PLN \00Z\B3\00-Z\B3\00Z\C5\82\00-Z\C5\82\00BRL \00R$\00+R$\00ROL \00Lei\00-Lei\00RUR \00\D2\D5\C2\00+\D2\D5\C2\00\E0\E3\D1\00+\E0\E3\D1\00UAH \00\C7\D2\00+\C7\D2\00\D0\B3\D1\80\00+\D0\B3\D1\80\00 ru\00- ru\00SKK \00Sk\00+Sk\00SIT \00SIT\00+SIT\00ALL \00Lek\00-Lek\00YUN \00din\00-din\00\D4\D8\DD\00-\D4\D8\DD\00\D0\B4\D0\B8\D0\BD\00-\D0\B4\D0\B8\D0\BD\00SEK \00THB \00\DF\00-\DF\00\E0\B8\BF\00-\E0\B8\BF\00ERB \00PhP\00-PhP\00TRL \00TL\00+TL\00PKR \00Rs\00-Rs\00UZS \00so'm\00-so'm\00VND \00\E2\82\AB\00+\E2\82\AB\00CNY \00TWD \00NT$\00-NT$\00", [28353 x i8] c"\00Sun\00Mon\00Tue\00Wed\00Thu\00Fri\00Sat\00Sunday\00Monday\00Tuesday\00Wednesday\00Thursday\00Friday\00Saturday\00Jan\00Feb\00Mar\00Apr\00May\00Jun\00Jul\00Aug\00Sep\00Oct\00Nov\00Dec\00January\00February\00March\00April\00June\00July\00August\00September\00October\00November\00December\00AM\00PM\00%a %b %e %H:%M:%S %Y\00%m/%d/%y\00%H:%M:%S\00%I:%M:%S %p\00So\00Ma\00Di\00Wo\00Do\00Vr\00Sa\00Sondag\00Maandag\00Dinsdag\00Woensdag\00Donderdag\00Vrydag\00Saterdag\00Mei\00Okt\00Des\00Januarie\00Februarie\00Maart\00Junie\00Julie\00Augustus\00Oktober\00Desember\00VM\00NM\00%a %d %b %Y %T %Z\00%d/%m/%y\00%T\00\E1\8A\A5\E1\88\91\E1\8B\B5\00\E1\88\B0\E1\8A\9E\00\E1\88\9B\E1\8A\AD\E1\88\B0\E1\8A\9E\00\E1\88\A8\E1\89\A1\E1\8B\95\00\E1\88\90\E1\88\99\E1\88\B5\00\E1\8B\93\E1\88\AD\E1\89\A5\00\E1\89\85\E1\8B\B3\E1\88\9C\00\E1\8C\83\E1\8A\95\E1\8B\A9\00\E1\8D\8C\E1\89\A5\E1\88\A9\00\E1\88\9B\E1\88\AD\E1\89\BD\00\E1\8A\A4\E1\8D\95\E1\88\A8\00\E1\88\9C\E1\8B\AD\00\E1\8C\81\E1\8A\95\00\E1\8C\81\E1\88\8B\E1\8B\AD\00\E1\8A\A6\E1\8C\88\E1\88\B5\00\E1\88\B4\E1\8D\95\E1\89\B4\00\E1\8A\A6\E1\8A\AD\E1\89\B0\00\E1\8A\96\E1\89\AC\E1\88\9D\00\E1\8B\B2\E1\88\B4\E1\88\9D\00\E1\8C\83\E1\8A\95\E1\8B\A9\E1\8B\88\E1\88\AA\00\E1\8D\8C\E1\89\A5\E1\88\A9\E1\8B\88\E1\88\AA\00\E1\8A\A4\E1\8D\95\E1\88\A8\E1\88\8D\00\E1\8A\A6\E1\8C\88\E1\88\B5\E1\89\B5\00\E1\88\B4\E1\8D\95\E1\89\B4\E1\88\9D\E1\89\A0\E1\88\AD\00\E1\8A\A6\E1\8A\AD\E1\89\B0\E1\8B\8D\E1\89\A0\E1\88\AD\00\E1\8A\96\E1\89\AC\E1\88\9D\E1\89\A0\E1\88\AD\00\E1\8B\B2\E1\88\B4\E1\88\9D\E1\89\A0\E1\88\AD\00\E1\8C\A0\E1\8B\8B\E1\89\B5\00\E1\8A\A8\E1\88\B3\E1\8B\93\E1\89\B5\00%A\E1\8D\A3 %b %e \E1\89\80\E1\8A\95 %l:%M:%S %Z %Y\00%d/%m/%Y\00%r\00\CD\00\E6\00\CB\00\D1\00\CE\00\CC\00\D3\00\C7\E4\C3\CD\CF\00\C7\E4\C7\CB\E6\EA\E6\00\C7\E4\CB\E4\C7\CB\C7\C1\00\C7\E4\C3\D1\C8\D9\C7\C1\00\C7\E4\CE\E5\EA\D3\00\C7\E4\CC\E5\D9\C9\00\C7\E4\D3\C8\CA \00\EA\E6\C7\00\E1\C8\D1\00\E5\C7\D1\00\C3\C8\D1\00\E5\C7\EA\00\EA\E8\E6\00\EA\E8\E4\00\C3\DA\D3\00\D3\C8\CA\00\C3\E3\CA\00\E6\E8\E1\00\CF\EA\D3\00\EA\E6\C7\EA\D1\00\E1\C8\D1\C7\EA\D1\00\E5\C7\D1\D3\00\C3\C8\D1\EA\E4\00\E5\C7\EA\E8\00\EA\E8\E6\EA\E8\00\EA\E8\E4\EA\E8\00\C3\DA\D3\D7\D3\00\D3\C8\CA\E5\C8\D1\00\C3\E3\CA\E8\C8\D1\00\E6\E8\E1\E5\C8\D1\00\CF\EA\D3\E5\C8\D1\00\D5\00\E5\00%d %b, %Y %Z %I:%M:%S %p\00%d %b, %Y\00%Z %I:%M:%S \00%Z %I:%M:%S %p\00\D8\AD\00\D9\86\00\D8\AB\00\D8\B1\00\D8\AE\00\D8\AC\00\D8\B3\00\D8\A7\D9\84\D8\A3\D8\AD\D8\AF\00\D8\A7\D9\84\D8\A7\D8\AB\D9\86\D9\8A\D9\86\00\D8\A7\D9\84\D8\AB\D9\84\D8\A7\D8\AB\D8\A7\D8\A1\00\D8\A7\D9\84\D8\A3\D8\B1\D8\A8\D8\B9\D8\A7\D8\A1\00\D8\A7\D9\84\D8\AE\D9\85\D9\8A\D8\B3\00\D8\A7\D9\84\D8\AC\D9\85\D8\B9\D8\A9\00\D8\A7\D9\84\D8\B3\D8\A8\D8\AA \00\D9\8A\D9\86\D8\A7\00\D9\81\D8\A8\D8\B1\00\D9\85\D8\A7\D8\B1\00\D8\A3\D8\A8\D8\B1\00\D9\85\D8\A7\D9\8A\00\D9\8A\D9\88\D9\86\00\D9\8A\D9\88\D9\84\00\D8\A3\D8\BA\D8\B3\00\D8\B3\D8\A8\D8\AA\00\D8\A3\D9\83\D8\AA\00\D9\86\D9\88\D9\81\00\D8\AF\D9\8A\D8\B3\00\D9\8A\D9\86\D8\A7\D9\8A\D8\B1\00\D9\81\D8\A8\D8\B1\D8\A7\D9\8A\D8\B1\00\D9\85\D8\A7\D8\B1\D8\B3\00\D8\A3\D8\A8\D8\B1\D9\8A\D9\84\00\D9\85\D8\A7\D9\8A\D9\88\00\D9\8A\D9\88\D9\86\D9\8A\D9\88\00\D9\8A\D9\88\D9\84\D9\8A\D9\88\00\D8\A3\D8\BA\D8\B3\D8\B7\D8\B3\00\D8\B3\D8\A8\D8\AA\D9\85\D8\A8\D8\B1\00\D8\A3\D9\83\D8\AA\D9\88\D8\A8\D8\B1\00\D9\86\D9\88\D9\81\D9\85\D8\A8\D8\B1\00\D8\AF\D9\8A\D8\B3\D9\85\D8\A8\D8\B1\00\D8\B5\00\D9\85\00\C7\E4\D3\C8\CA\00\D8\A7\D9\84\D8\B3\D8\A8\D8\AA\00%A %d %B %Y %I:%M:%S %p %Z\00%A %d %B %Y\00%I:%M:%S %Z\00%I:%M:%S %p %Z\00\E3\C7\E6\E8\E6 \C7\E4\CB\C7\E6\EA\00\D4\C8\C7\D7\00\C2\D0\C7\D1\00\E6\EA\D3\C7\E6\00\E6\E8\C7\D1\00\CD\D2\EA\D1\C7\E6\00\CA\E5\E8\D2\00\C2\C8\00\C3\EA\E4\E8\E4\00\CA\D4\D1\EA\E6 \C7\E4\C3\E8\E4\00\CA\D4\D1\EA\E6 \C7\E4\CB\C7\E6\EA\00\E3\C7\E6\E8\E6 \C7\E4\C3\E8\E4\00\D9\83\D8\A7\D9\86\D9\88\D9\86 \D8\A7\D9\84\D8\AB\D8\A7\D9\86\D9\8A\00\D8\B4\D8\A8\D8\A7\D8\B7\00\D8\A2\D8\B0\D8\A7\D8\B1\00\D9\86\D9\8A\D8\B3\D8\A7\D9\86\00\D9\86\D9\88\D8\A7\D8\B1\00\D8\AD\D8\B2\D9\8A\D8\B1\D8\A7\D9\86\00\D8\AA\D9\85\D9\88\D8\B2\00\D8\A2\D8\A8\00\D8\A3\D9\8A\D9\84\D9\88\D9\84\00\D8\AA\D8\B4\D8\B1\D9\8A\D9\86 \D8\A7\D9\84\D8\A3\D9\88\D9\84\00\D8\AA\D8\B4\D8\B1\D9\8A\D9\86 \D8\A7\D9\84\D8\AB\D8\A7\D9\86\D9\8A\00\D9\83\D8\A7\D9\86\D9\88\D9\86 \D8\A7\D9\84\D8\A3\D9\88\D9\84\00\C7\E4\C5\CB\E6\EA\E6\00\C7\E4\CC\E5\D9\E0\C9\00\E6\EA\D3\E0\C7\E6\00\C3\EA\C7\D1\00\CA\E0\E5\E0\E8\D2\00%A %.1d %B %Y %.1H:%M:%S\00%A %.1d %B %Y\00%.1H:%M:%S\00\D8\A7\D9\84\D8\A5\D8\AB\D9\86\D9\8A\D9\86\00\D8\A7\D9\84\D8\AC\D9\85\D8\B9\D9\80\D8\A9\00\D9\86\D9\8A\D8\B3\D9\80\D8\A7\D9\86\00\D8\A3\D9\8A\D8\A7\D8\B1\00\D8\AA\D9\80\D9\85\D9\80\D9\88\D8\B2\00\E6\E8\C7\D1\C7\E6\00\CD\D2\EA\D1\00\D9\86\D9\88\D8\A7\D8\B1\D8\A7\D9\86\00\D8\AD\D8\B2\D9\8A\D8\B1\00baz\00bir\00iki\00\FC\E7\FC\00d\F6r\00be\FE\00alt\00bazar g\FCn\FC\00birinci g\FCn\00ikinci g\FCn\00\FC\E7\FCnc\FC g\FCn\00d\F6rd\FCnc\FC g\FCn\00be\FEinci g\FCn\00alt\FDnc\FD g\FCn\00Yan\00Fev\00\DDyn\00\DDyl\00Avq\00Sen\00Noy\00Dek\00yanvar\00fevral\00mart\00aprel\00may\00iyun\00iyul\00avqust\00sentyabr\00oktyabr\00noyabr\00dekabr\00%A, %d %B %Y %T\00%d.%m.%Y\00\C3\BC\C3\A7\C3\BC\00d\C3\B6r\00be\C5\9F\00bazar g\C3\BCn\C3\BC\00birinci g\C3\BCn\00ikinci g\C3\BCn\00\C3\BC\C3\A7\C3\BCnc\C3\BC g\C3\BCn\00d\C3\B6rd\C3\BCnc\C3\BC g\C3\BCn\00be\C5\9Finci g\C3\BCn\00alt\C4\B1nc\C4\B1 g\C3\BCn\00\C4\B0yn\00\C4\B0yl\00\CD\FF\E4\00\CF\E0\ED\00\C0\A2\F2\00\D1\F0\E4\00\D7\F6\E2\00\CF\FF\F2\00\D1\F3\E1\00\CD\FF\E4\E7\E5\EB\FF\00\CF\E0\ED\FF\E4\E7\E5\EB\E0\EA\00\C0\A2\F2\EE\F0\E0\EA\00\D1\E5\F0\E0\E4\E0\00\D7\E0\F6\E2\E5\F0\00\CF\FF\F2\ED\B3\F6\E0\00\D1\F3\E1\EE\F2\E0\00\D1\F2\E4\00\CB\FE\F2\00\D1\E0\EA\00\CA\F0\F1\00\D2\F0\E0\00\D7\FD\F0\00\CB\B3\EF\00\C6\ED\E2\00\C2\F0\F1\00\CA\F1\F2\00\CB\B3\F1\00\D1\ED\E6\00\D1\F2\F3\E4\E7\E5\ED\FC\00\CB\FE\F2\FB\00\D1\E0\EA\E0\E2\B3\EA\00\CA\F0\E0\F1\E0\E2\B3\EA\00\D2\F0\E0\E2\E5\ED\FC\00\D7\FD\F0\E2\E5\ED\FC\00\CB\B3\EF\E5\ED\FC\00\C6\ED\B3\E2\E5\ED\FC\00\C2\E5\F0\E0\F1\E5\ED\FC\00\CA\E0\F1\F2\F0\FB\F7\ED\B3\EA\00\CB\B3\F1\F2\E0\EF\E0\E4\00\D1\ED\E5\E6\E0\ED\FC\00%a %d %b %Y %T\00\D0\9D\D1\8F\D0\B4\00\D0\9F\D0\B0\D0\BD\00\D0\90\D1\9E\D1\82\00\D0\A1\D1\80\D0\B4\00\D0\A7\D1\86\D0\B2\00\D0\9F\D1\8F\D1\82\00\D0\A1\D1\83\D0\B1\00\D0\9D\D1\8F\D0\B4\D0\B7\D0\B5\D0\BB\D1\8F\00\D0\9F\D0\B0\D0\BD\D1\8F\D0\B4\D0\B7\D0\B5\D0\BB\D0\B0\D0\BA\00\D0\90\D1\9E\D1\82\D0\BE\D1\80\D0\B0\D0\BA\00\D0\A1\D0\B5\D1\80\D0\B0\D0\B4\D0\B0\00\D0\A7\D0\B0\D1\86\D0\B2\D0\B5\D1\80\00\D0\9F\D1\8F\D1\82\D0\BD\D1\96\D1\86\D0\B0\00\D0\A1\D1\83\D0\B1\D0\BE\D1\82\D0\B0\00\D0\A1\D1\82\D0\B4\00\D0\9B\D1\8E\D1\82\00\D0\A1\D0\B0\D0\BA\00\D0\9A\D1\80\D1\81\00\D0\A2\D1\80\D0\B0\00\D0\A7\D1\8D\D1\80\00\D0\9B\D1\96\D0\BF\00\D0\96\D0\BD\D0\B2\00\D0\92\D1\80\D1\81\00\D0\9A\D1\81\D1\82\00\D0\9B\D1\96\D1\81\00\D0\A1\D0\BD\D0\B6\00\D0\A1\D1\82\D1\83\D0\B4\D0\B7\D0\B5\D0\BD\D1\8C\00\D0\9B\D1\8E\D1\82\D1\8B\00\D0\A1\D0\B0\D0\BA\D0\B0\D0\B2\D1\96\D0\BA\00\D0\9A\D1\80\D0\B0\D1\81\D0\B0\D0\B2\D1\96\D0\BA\00\D0\A2\D1\80\D0\B0\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\A7\D1\8D\D1\80\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\9B\D1\96\D0\BF\D0\B5\D0\BD\D1\8C\00\D0\96\D0\BD\D1\96\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\92\D0\B5\D1\80\D0\B0\D1\81\D0\B5\D0\BD\D1\8C\00\D0\9A\D0\B0\D1\81\D1\82\D1\80\D1\8B\D1\87\D0\BD\D1\96\D0\BA\00\D0\9B\D1\96\D1\81\D1\82\D0\B0\D0\BF\D0\B0\D0\B4\00\D0\A1\D0\BD\D0\B5\D0\B6\D0\B0\D0\BD\D1\8C\00\ED\E4\00\EF\ED\00\E2\F2\00\F1\F0\00\F7\F2\00\EF\F2\00\F1\E1\00\ED\E5\E4\E5\EB\FF\00\EF\EE\ED\E5\E4\E5\EB\ED\E8\EA\00\E2\F2\EE\F0\ED\E8\EA\00\F1\F0\FF\E4\E0\00\F7\E5\F2\E2\FA\F0\F2\FA\EA\00\EF\E5\F2\FA\EA\00\F1\FA\E1\EE\F2\E0\00\FF\ED\F3\00\F4\E5\E2\00\EC\E0\F0\00\E0\EF\F0\00\EC\E0\E9\00\FE\ED\E8\00\FE\EB\E8\00\E0\E2\E3\00\F1\E5\EF\00\EE\EA\F2\00\ED\EE\E5\00\E4\E5\EA\00\FF\ED\F3\E0\F0\E8\00\F4\E5\E2\F0\F3\E0\F0\E8\00\EC\E0\F0\F2\00\E0\EF\F0\E8\EB\00\E0\E2\E3\F3\F1\F2\00\F1\E5\EF\F2\E5\EC\E2\F0\E8\00\EE\EA\F2\EE\EC\E2\F0\E8\00\ED\EE\E5\EC\E2\F0\E8\00\E4\E5\EA\E5\EC\E2\F0\E8\00%x (%a) %X %Z\00%e.%m.%Y\00%k,%M,%S\00%l,%M,%S\00\D0\BD\D0\B4\00\D0\BF\D0\BD\00\D0\B2\D1\82\00\D1\81\D1\80\00\D1\87\D1\82\00\D0\BF\D1\82\00\D1\81\D0\B1\00\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D1\8F\00\D0\BF\D0\BE\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D0\BD\D0\B8\D0\BA\00\D0\B2\D1\82\D0\BE\D1\80\D0\BD\D0\B8\D0\BA\00\D1\81\D1\80\D1\8F\D0\B4\D0\B0\00\D1\87\D0\B5\D1\82\D0\B2\D1\8A\D1\80\D1\82\D1\8A\D0\BA\00\D0\BF\D0\B5\D1\82\D1\8A\D0\BA\00\D1\81\D1\8A\D0\B1\D0\BE\D1\82\D0\B0\00\D1\8F\D0\BD\D1\83\00\D1\84\D0\B5\D0\B2\00\D0\BC\D0\B0\D1\80\00\D0\B0\D0\BF\D1\80\00\D0\BC\D0\B0\D0\B9\00\D1\8E\D0\BD\D0\B8\00\D1\8E\D0\BB\D0\B8\00\D0\B0\D0\B2\D0\B3\00\D1\81\D0\B5\D0\BF\00\D0\BE\D0\BA\D1\82\00\D0\BD\D0\BE\D0\B5\00\D0\B4\D0\B5\D0\BA\00\D1\8F\D0\BD\D1\83\D0\B0\D1\80\D0\B8\00\D1\84\D0\B5\D0\B2\D1\80\D1\83\D0\B0\D1\80\D0\B8\00\D0\BC\D0\B0\D1\80\D1\82\00\D0\B0\D0\BF\D1\80\D0\B8\D0\BB\00\D0\B0\D0\B2\D0\B3\D1\83\D1\81\D1\82\00\D1\81\D0\B5\D0\BF\D1\82\D0\B5\D0\BC\D0\B2\D1\80\D0\B8\00\D0\BE\D0\BA\D1\82\D0\BE\D0\BC\D0\B2\D1\80\D0\B8\00\D0\BD\D0\BE\D0\B5\D0\BC\D0\B2\D1\80\D0\B8\00\D0\B4\D0\B5\D0\BA\D0\B5\D0\BC\D0\B2\D1\80\D0\B8\00\E0\A6\B0\E0\A6\AC\E0\A6\BF\00\E0\A6\B8\E0\A7\8B\E0\A6\AE\00\E0\A6\AE\E0\A6\99\E0\A6\97\E0\A6\B2\00\E0\A6\AC\E0\A7\81\E0\A6\A7\00\E0\A6\AC\E0\A7\83\E0\A6\B9\E0\A6\B8\E0\A7\8D\E0\A6\AA\E0\A6\A4\E0\A6\BF\00\E0\A6\B6\E0\A7\81\E0\A6\95\E0\A7\8D\E0\A6\B0\00\E0\A6\B6\E0\A6\A8\E0\A6\BF\00\E0\A6\B0\E0\A6\AC\E0\A6\BF\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B8\E0\A7\8B\E0\A6\AE\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\AE\E0\A6\99\E0\A6\97\E0\A6\B2\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\AC\E0\A7\81\E0\A6\A7\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\AC\E0\A7\83\E0\A6\B9\E0\A6\B8\E0\A7\8D\E0\A6\AA\E0\A6\A4\E0\A6\BF\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B6\E0\A7\81\E0\A6\95\E0\A7\8D\E0\A6\B0\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B6\E0\A6\A8\E0\A6\BF\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\9C\E0\A6\BE\E0\A6\A8\00\E0\A6\AB\E0\A7\87\E0\A6\AC\00\E0\A6\AE\E0\A6\BE\E0\A6\B0\00\E0\A6\8F\E0\A6\AA\E0\A7\8D\E0\A6\B0\00\E0\A6\AE\E0\A7\87\00\E0\A6\9C\E0\A7\81\E0\A6\A8\00\E0\A6\9C\E0\A7\81\E0\A6\B2\00\E0\A6\86\E0\A6\97\00\E0\A6\B8\E0\A7\87\E0\A6\AA\00\E0\A6\85\E0\A6\95\E0\A7\8D\E0\A6\9F\E0\A7\8B\E0\A6\AC\E0\A6\B0\00\E0\A6\A8\E0\A6\AD\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\B0\00\E0\A6\A1\E0\A6\BF\E0\A6\B8\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\B0\00\E0\A6\9C\E0\A6\BE\E0\A6\A8\E0\A7\81\E0\A7\9F\E0\A6\BE\E0\A6\B0\E0\A7\80\00\E0\A6\AB\E0\A7\87\E0\A6\AC\E0\A7\8D\E0\A6\B0\E0\A7\81\E0\A7\9F\E0\A6\BE\E0\A6\B0\E0\A7\80\00\E0\A6\AE\E0\A6\BE\E0\A6\B0\E0\A7\8D\E0\A6\9A\00\E0\A6\8F\E0\A6\AA\E0\A7\8D\E0\A6\B0\E0\A6\BF\E0\A6\B2\00\E0\A6\9C\E0\A7\81\E0\A6\B2\E0\A6\BE\E0\A6\87\00\E0\A6\86\E0\A6\97\E0\A6\B8\E0\A7\8D\E0\A6\9F\00\E0\A6\B8\E0\A7\87\E0\A6\AA\E0\A7\8D\E0\A6\9F\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\85\E0\A6\95\E0\A7\8D\E0\A6\9F\E0\A7\8B\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\A8\E0\A6\AD\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\A1\E0\A6\BF\E0\A6\B8\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B8\E0\A6\95\E0\A6\BE\E0\A6\B2\00\E0\A6\AC\E0\A6\BF\E0\A6\95\E0\A6\BE\E0\A6\B2\00%A %d %b %Y %I:%M:%S %p %Z\00%A %d %b %Y\00\E0\A6\B8\E0\A7\87\E0\A6\AA\E0\A7\8D\E0\A6\9F\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\B0\00\E0\A6\AA\E0\A7\82\E0\A6\B0\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B9\E0\A7\8D\E0\A6\A3\00\E0\A6\85\E0\A6\AA\E0\A6\B0\E0\A6\BE\E0\A6\B9\E0\A7\8D\E0\A6\A3\00sul\00lun\00meu\00mer\00yao\00gwe\00sad\00meurzh\00merc'her\00yaou\00gwener\00sadorn\00Gen \00C'hw\00Meu \00Ebr \00Mae \00Eve \00Gou \00Eos \00Gwe \00Her \00Du \00Ker \00Genver\00C'hwevrer\00Meurzh\00Ebrel\00Mae\00Mezheven\00Gouere\00Eost\00Gwengolo\00Here\00Du\00Kerzu\00 \00D'ar %A %d a viz %B %Y\00%Ie%M:%S %p\00Ned\00Pon\00Uto\00Sri\00\C8et\00Pet\00Sub\00Nedjelja\00Ponedjeljak\00Utorak\00Srijeda\00\C8etvrtak\00Petak\00Subota\00Maj\00Januar\00Februar\00Mart\00Juni\00Juli\00Septembar\00Oktobar\00Novembar\00Decembar\00\C4\8Cet\00\C4\8Cetvrtak\00dg\00dl\00dt\00dc\00dj\00dv\00ds\00diumenge\00dilluns\00dimarts\00dimecres\00dijous\00divendres\00dissabte\00gen\00feb\00mar\00abr\00mai\00jun\00jul\00ago\00set\00oct\00nov\00des\00gener\00febrer\00mar\E7\00abril\00maig\00juny\00juliol\00agost\00setembre\00octubre\00novembre\00desembre\00mar\C3\A7\00Ne\00Po\00\DAt\00St\00\C8t\00P\E1\00Ned\ECle\00Pond\ECl\ED\00\DAter\FD\00St\F8eda\00\C8tvrtek\00P\E1tek\00Sobota\00led\00\FAno\00b\F8e\00dub\00kv\EC\00\E8en\00\E8ec\00srp\00z\E1\F8\00\F8\EDj\00lis\00pro\00leden\00\FAnor\00b\F8ezen\00duben\00kv\ECten\00\E8erven\00\E8ervenec\00srpen\00z\E1\F8\ED\00\F8\EDjen\00listopad\00prosinec\00%a\A0%e.\A0%B\A0%Y,\A0%H:%M:%S\A0%Z\00%I:%M:%S\00\C3\9At\00\C4\8Ct\00P\C3\A1\00Ned\C4\9Ble\00Pond\C4\9Bl\C3\AD\00\C3\9Ater\C3\BD\00St\C5\99eda\00\C4\8Ctvrtek\00P\C3\A1tek\00\C3\BAno\00b\C5\99e\00kv\C4\9B\00\C4\8Den\00\C4\8Dec\00z\C3\A1\C5\99\00\C5\99\C3\ADj\00\C3\BAnor\00b\C5\99ezen\00kv\C4\9Bten\00\C4\8Derven\00\C4\8Dervenec\00z\C3\A1\C5\99\C3\AD\00\C5\99\C3\ADjen\00%a\C2\A0%e.\C2\A0%B\C2\A0%Y,\C2\A0%H:%M:%S\C2\A0%Z\00Sul\00Llu\00Maw\00Mer\00Iau\00Gwe\00Sad\00Llun\00Mawrth\00Mercher\00Gwener\00Sadwrn\00Ion\00Chw\00Ebr\00Mai\00Meh\00Gor\00Aws\00Med\00Hyd\00Tach\00Rha\00Ionawr\00Chwefror\00Ebrill\00Mehefin\00Gorffennaf\00Awst\00Medi\00Hydref\00Tachwedd\00Rhagfyr\00Dydd %A %d a viz %B %Y %T %Z\00%d.%m.%y\00s\F8n\00man\00tir\00ons\00tor\00fre\00l\F8r\00s\F8ndag\00mandag\00tirsdag\00onsdag\00torsdag\00fredag\00l\F8rdag\00jan\00apr\00maj\00aug\00sep\00okt\00dec\00januar\00februar\00marts\00april\00juni\00juli\00august\00september\00oktober\00november\00december\00%d-%m-%Y\00s\C3\B8n\00l\C3\B8r\00s\C3\B8ndag\00l\C3\B8rdag\00Son\00Die\00Mit\00Don\00Fre\00Sam\00Sonntag\00Montag\00Dienstag\00Mittwoch\00Donnerstag\00Freitag\00Samstag\00J\E4n\00M\E4r\00Dez\00J\E4nner\00Feber\00M\E4rz\00Dezember\00%Y-%m-%d\00J\C3\A4n\00M\C3\A4r\00J\C3\A4nner\00M\C3\A4rz\00\CA\F5\F1\00\C4\E5\F5\00\D4\F1\E9\00\D4\E5\F4\00\D0\E5\EC\00\D0\E1\F1\00\D3\E1\E2\00\CA\F5\F1\E9\E1\EA\DE\00\C4\E5\F5\F4\DD\F1\E1\00\D4\F1\DF\F4\E7\00\D4\E5\F4\DC\F1\F4\E7\00\D0\DD\EC\F0\F4\E7\00\D0\E1\F1\E1\F3\EA\E5\F5\DE\00\D3\DC\E2\E2\E1\F4\EF\00\C9\E1\ED\00\D6\E5\E2\00\CC\DC\F1\00\C1\F0\F1\00\CC\DC\E9\00\C9\EF\FD\ED\00\C9\EF\FD\EB\00\C1\FD\E3\00\D3\E5\F0\00\CF\EA\F4\00\CD\EF\DD\00\C4\E5\EA\00\C9\E1\ED\EF\F5\DC\F1\E9\EF\F2\00\D6\E5\E2\F1\EF\F5\DC\F1\E9\EF\F2\00\CC\DC\F1\F4\E9\EF\F2\00\C1\F0\F1\DF\EB\E9\EF\F2\00\CC\DC\E9\EF\F2\00\C9\EF\FD\ED\E9\EF\F2\00\C9\EF\FD\EB\E9\EF\F2\00\C1\FD\E3\EF\F5\F3\F4\EF\F2\00\D3\E5\F0\F4\DD\EC\E2\F1\E9\EF\F2\00\CF\EA\F4\FE\E2\F1\E9\EF\F2\00\CD\EF\DD\EC\E2\F1\E9\EF\F2\00\C4\E5\EA\DD\EC\E2\F1\E9\EF\F2\00\CE\9A\CF\85\CF\81\00\CE\94\CE\B5\CF\85\00\CE\A4\CF\81\CE\B9\00\CE\A4\CE\B5\CF\84\00\CE\A0\CE\B5\CE\BC\00\CE\A0\CE\B1\CF\81\00\CE\A3\CE\B1\CE\B2\00\CE\9A\CF\85\CF\81\CE\B9\CE\B1\CE\BA\CE\AE\00\CE\94\CE\B5\CF\85\CF\84\CE\AD\CF\81\CE\B1\00\CE\A4\CF\81\CE\AF\CF\84\CE\B7\00\CE\A4\CE\B5\CF\84\CE\AC\CF\81\CF\84\CE\B7\00\CE\A0\CE\AD\CE\BC\CF\80\CF\84\CE\B7\00\CE\A0\CE\B1\CF\81\CE\B1\CF\83\CE\BA\CE\B5\CF\85\CE\AE\00\CE\A3\CE\AC\CE\B2\CE\B2\CE\B1\CF\84\CE\BF\00\CE\99\CE\B1\CE\BD\00\CE\A6\CE\B5\CE\B2\00\CE\9C\CE\AC\CF\81\00\CE\91\CF\80\CF\81\00\CE\9C\CE\AC\CE\B9\00\CE\99\CE\BF\CF\8D\CE\BD\00\CE\99\CE\BF\CF\8D\CE\BB\00\CE\91\CF\8D\CE\B3\00\CE\A3\CE\B5\CF\80\00\CE\9F\CE\BA\CF\84\00\CE\9D\CE\BF\CE\AD\00\CE\94\CE\B5\CE\BA\00\CE\99\CE\B1\CE\BD\CE\BF\CF\85\CE\AC\CF\81\CE\B9\CE\BF\CF\82\00\CE\A6\CE\B5\CE\B2\CF\81\CE\BF\CF\85\CE\AC\CF\81\CE\B9\CE\BF\CF\82\00\CE\9C\CE\AC\CF\81\CF\84\CE\B9\CE\BF\CF\82\00\CE\91\CF\80\CF\81\CE\AF\CE\BB\CE\B9\CE\BF\CF\82\00\CE\9C\CE\AC\CE\B9\CE\BF\CF\82\00\CE\99\CE\BF\CF\8D\CE\BD\CE\B9\CE\BF\CF\82\00\CE\99\CE\BF\CF\8D\CE\BB\CE\B9\CE\BF\CF\82\00\CE\91\CF\8D\CE\B3\CE\BF\CF\85\CF\83\CF\84\CE\BF\CF\82\00\CE\A3\CE\B5\CF\80\CF\84\CE\AD\CE\BC\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00\CE\9F\CE\BA\CF\84\CF\8E\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00\CE\9D\CE\BF\CE\AD\CE\BC\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00\CE\94\CE\B5\CE\BA\CE\AD\CE\BC\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00%a %d %b %Y %r %Z\00%Y-%m-%dT%T %Z\00%A, %B %d, %Y %p%I:%M:%S %Z\00%A, %B %d, %Y\00%I:%M:%S %Z\00%p%I:%M:%S %Z\00%A, %d %B, %Y %I:%M:%S %p %Z\00%A, %d %B, %Y\00%A %d,%B,%Y %I:%M:%S %p %Z\00%A %d,%B,%Y\00%m/%d/%Y\00dim\00\C4\B5a\C5\AD\00ven\00sab\00diman\C4\89o\00lundo\00mardo\00merkredo\00\C4\B5a\C5\ADdo\00vendredo\00sabato\00A\C5\ADg\00Januaro\00Februaro\00Marto\00Aprilo\00Majo\00Junio\00Julio\00A\C5\ADgusto\00Septembro\00Oktobro\00Novembro\00Decembro\00%a %d %b %Y %T %z\00dom\00mi\E9\00jue\00vie\00s\E1b\00domingo\00lunes\00martes\00mi\E9rcoles\00jueves\00viernes\00s\E1bado\00ene\00dic\00enero\00febrero\00marzo\00mayo\00junio\00julio\00agosto\00septiembre\00noviembre\00diciembre\00mi\C3\A9\00s\C3\A1b\00mi\C3\A9rcoles\00s\C3\A1bado\00P\00E\00T\00K\00N\00R\00L\00p\FChap\E4ev\00esmasp\E4ev\00teisip\E4ev\00kolmap\E4ev\00neljap\E4ev\00reede\00laup\E4ev\00jaan \00veebr\00m\E4rts\00apr \00mai \00juuni\00juuli\00aug \00sept \00okt \00nov \00dets \00jaanuar\00veebruar\00aprill\00oktoober\00detsember\00p\C3\BChap\C3\A4ev\00esmasp\C3\A4ev\00teisip\C3\A4ev\00kolmap\C3\A4ev\00neljap\C3\A4ev\00laup\C3\A4ev\00m\C3\A4rts\00ig.\00al.\00ar.\00az.\00og.\00or.\00lr.\00igandea\00astelehena\00asteartea\00asteazkena\00osteguna\00ostirala\00larunbata\00urt\00ots\00api\00eka\00uzt\00abu\00ira\00urr\00aza\00abe\00urtarrila\00otsaila\00martxoa\00apirila\00maiatza\00ekaina\00uztaila\00abuztua\00iraila\00urria\00azaroa\00abendua\00%y-%m-%d %T %Z\00%a, %Y.eko %bren %da\00\DB\8C.\00\D8\AF.\00\D8\B3.\00\DA\86.\00\D9\BE.\00\D8\AC.\00\D8\B4.\00\DB\8C\DA\A9\E2\80\8C\D8\B4\D9\86\D8\A8\D9\87\00\D8\AF\D9\88\D8\B4\D9\86\D8\A8\D9\87\00\D8\B3\D9\87\E2\80\8C\D8\B4\D9\86\D8\A8\D9\87\00\DA\86\D9\87\D8\A7\D8\B1\D8\B4\D9\86\D8\A8\D9\87\00\D9\BE\D9\86\D8\AC\E2\80\8C\D8\B4\D9\86\D8\A8\D9\87\00\D8\AC\D9\85\D8\B9\D9\87\00\D8\B4\D9\86\D8\A8\D9\87\00\DA\98\D8\A7\D9\86\00\D9\81\D9\88\D8\B1\00\D8\A2\D9\88\D8\B1\00\D9\85\D9\80\D9\87\00\DA\98\D9\88\D9\86\00\DA\98\D9\88\DB\8C\00\D8\A7\D9\88\D8\AA\00\D8\B3\D9\BE\D8\AA\00\D8\A7\D9\83\D8\AA\00\D9\86\D9\88\D8\A7\00\D8\AF\D8\B3\D8\A7\00\DA\98\D8\A7\D9\86\D9\88\DB\8C\D9\87\00\D9\81\D9\88\D8\B1\DB\8C\D9\87\00\D8\A2\D9\88\D8\B1\DB\8C\D9\84\00\D9\85\D9\87\00\DA\98\D9\88\D8\A6\D9\86\00\DA\98\D9\88\D8\A6\DB\8C\D9\87\00\D8\B3\D9\BE\D8\AA\D8\A7\D9\85\D8\A8\D8\B1\00\D8\A7\D9\83\D8\AA\D8\A8\D8\B1\00\D9\86\D9\88\D8\A7\D9\85\D8\A8\D8\B1\00\D8\AF\D8\B3\D8\A7\D9\85\D8\A8\D8\B1\00\D8\B5\D8\A8\D8\AD\00\D8\B9\D8\B5\D8\B1\00\E2\80\AB%A %e %B %Y\D8\8C %I:%M:%S %p\E2\80\AC\00%Y/%m/%d\00\E2\80\AB%I:%M:%S %p\E2\80\AC\00su\00ma\00ti\00ke\00to\00pe\00la\00sunnuntai\00maanantai\00tiistai\00keskiviikko\00torstai\00perjantai\00lauantai\00tammi\A0\00helmi\A0\00maalis\00huhti\A0\00touko\A0\00kes\E4\A0\A0\00hein\E4\A0\00elo\A0\A0\A0\00syys\A0\A0\00loka\A0\A0\00marras\00joulu\A0\00tammikuu\00helmikuu\00maaliskuu\00huhtikuu\00toukokuu\00kes\E4kuu\00hein\E4kuu\00elokuu\00syyskuu\00lokakuu\00marraskuu\00joulukuu\00%a %e %B %Y %T\00tammi\C2\A0\00helmi\C2\A0\00huhti\C2\A0\00touko\C2\A0\00kes\C3\A4\C2\A0\C2\A0\00hein\C3\A4\C2\A0\00elo\C2\A0\C2\A0\C2\A0\00syys\C2\A0\C2\A0\00loka\C2\A0\C2\A0\00joulu\C2\A0\00kes\C3\A4kuu\00hein\C3\A4kuu\00sun\00m\E1n\00t\FDs\00mik\00h\F3s\00fr\ED\00ley\00sunnudagur\00m\E1nadagur\00t\FDsdagur\00mikudagur\00h\F3sdagur\00fr\EDggjadagur\00leygardagur\00mars\00apr\EDl\00desember\00%d/%m-%Y\00m\C3\A1n\00t\C3\BDs\00h\C3\B3s\00fr\C3\AD\00m\C3\A1nadagur\00t\C3\BDsdagur\00h\C3\B3sdagur\00fr\C3\ADggjadagur\00apr\C3\ADl\00jeu\00sam\00dimanche\00lundi\00mardi\00mercredi\00jeudi\00vendredi\00samedi\00f\E9v\00avr\00jui\00ao\FB\00d\E9c\00janvier\00f\E9vrier\00avril\00juin\00juillet\00ao\FBt\00septembre\00octobre\00d\E9cembre\00f\C3\A9v\00ao\C3\BB\00d\C3\A9c\00f\C3\A9vrier\00ao\C3\BBt\00d\C3\A9cembre\00%d. %m. %y\00Domh\00Luan\00M\E1irt\00C\E9ad\00D\E9ar\00Aoine\00Sath\00D\E9 Domhnaigh\00D\E9 Luain\00D\E9 M\E1irt\00D\E9 C\E9adaoin\00D\E9ardaoin\00D\E9 hAoine\00D\E9 Sathairn\00Ean\00Feabh\00M\E1rta\00Aib\00Beal\00Meith\00I\FAil\00L\FAn\00MF\F3mh\00DF\F3mh\00Samh\00Noll\00Ean\E1ir\00Feabhra\00Aibre\E1n\00M\ED na Bealtaine\00L\FAnasa\00Me\E1n F\F3mhair\00Deireadh F\F3mhair\00M\ED na Samhna\00M\ED na Nollag\00M\C3\A1irt\00C\C3\A9ad\00D\C3\A9ar\00D\C3\A9 Domhnaigh\00D\C3\A9 Luain\00D\C3\A9 M\C3\A1irt\00D\C3\A9 C\C3\A9adaoin\00D\C3\A9ardaoin\00D\C3\A9 hAoine\00D\C3\A9 Sathairn\00M\C3\A1rta\00I\C3\BAil\00L\C3\BAn\00MF\C3\B3mh\00DF\C3\B3mh\00Ean\C3\A1ir\00Aibre\C3\A1n\00M\C3\AD na Bealtaine\00L\C3\BAnasa\00Me\C3\A1n F\C3\B3mhair\00Deireadh F\C3\B3mhair\00M\C3\AD na Samhna\00M\C3\AD na Nollag\00Dido\00Dilu\00Dim\00Dic\00Diar\00Diha\00Disa\00Did\F2mhnaich\00Diluain\00Dim\E0irt\00Diciadain\00Diardaoin\00Dihaoine\00Disathairne\00Fao\00Gea\00M\E0r\00Gib\00Mh\E0\00OgM\00luc\00L\F9n\00Dam\00D\F9b\00Am Faoilteach\00An Gearran\00Am M\E0rt\00An Giblean\00A' Mh\E0igh\00An t-Mh\ECos\00An t-luchar\00An L\F9nasdal\00An t-Sultain\00An Damhair\00An t-Samhain\00An D\F9bhlachd\00Did\C3\B2mhnaich\00Dim\C3\A0irt\00M\C3\A0r\00Mh\C3\A0\00L\C3\B9n\00D\C3\B9b\00Am M\C3\A0rt\00A' Mh\C3\A0igh\00An t-Mh\C3\ACos\00An L\C3\B9nasdal\00An D\C3\B9bhlachd\00Dom\00Lun\00M\E9r\00Xov\00Ven\00S\E1b\00Domingo\00Luns\00Martes\00M\E9rcores\00Xoves\00Venres\00S\E1bado\00Xan\00Abr\00Xu\F1\00Xul\00Ago\00Set\00Out\00Xaneiro\00Febreiro\00Marzo\00Abril\00Maio\00Xu\F1o\00Xullo\00Agosto\00Setembro\00Outubro\00M\C3\A9r\00S\C3\A1b\00M\C3\A9rcores\00S\C3\A1bado\00Xu\C3\B1\00Xu\C3\B1o\00Jed\00Jel\00Jem\00Jerc\00Jerd\00Jeh\00Jes\00Jedoonee\00Jelhein\00Jemayrt\00Jercean\00Jerdein\00Jeheiney\00Jesarn\00J-guer\00T-arree\00Mayrnt\00Avrril\00Boaldyn\00M-souree\00J-souree\00Luanistyn\00M-fouyir\00J-fouyir\00M.Houney\00M.Nollick\00Jerrey-geuree\00Toshiaght-arree\00Averil\00Mean-souree\00Jerrey-souree\00Mean-fouyir\00Jerrey-fouyir\00Mee Houney\00Mee ny Nollick\00\E0'\00\E1'\00\E2'\00\E3'\00\E4'\00\E5'\00\F9'\00\F8\E0\F9\E5\EF\00\F9\F0\E9\00\F9\EC\E9\F9\E9\00\F8\E1\E9\F2\E9\00\E7\EE\E9\F9\E9\00\F9\E9\F9\E9\00\F9\E1\FA\00\E9\F0\E5\00\F4\E1\F8\00\EE\F8\F5\00\E0\F4\F8\00\EE\E0\E9\00\E9\E5\F0\00\E9\E5\EC\00\E0\E5\E2\00\F1\F4\E8\00\E0\E5\F7\00\F0\E5\E1\00\E3\F6\EE\00\E9\F0\E5\E0\F8\00\F4\E1\F8\E5\E0\F8\00\E0\F4\F8\E9\EC\00\E9\E5\F0\E9\00\E9\E5\EC\E9\00\E0\E5\E2\E5\F1\E8\00\F1\F4\E8\EE\E1\F8\00\E0\E5\F7\E8\E5\E1\F8\00\F0\E5\E1\EE\E1\F8\00\E3\F6\EE\E1\F8\00%Z %H:%M:%S %Y %b %d %a\00%I:%M:%S %P\00\D7\90'\00\D7\91'\00\D7\92'\00\D7\93'\00\D7\94'\00\D7\95'\00\D7\A9'\00\D7\A8\D7\90\D7\A9\D7\95\D7\9F\00\D7\A9\D7\A0\D7\99\00\D7\A9\D7\9C\D7\99\D7\A9\D7\99\00\D7\A8\D7\91\D7\99\D7\A2\D7\99\00\D7\97\D7\9E\D7\99\D7\A9\D7\99\00\D7\A9\D7\99\D7\A9\D7\99\00\D7\A9\D7\91\D7\AA\00\D7\99\D7\A0\D7\95\00\D7\A4\D7\91\D7\A8\00\D7\9E\D7\A8\D7\A5\00\D7\90\D7\A4\D7\A8\00\D7\9E\D7\90\D7\99\00\D7\99\D7\95\D7\A0\00\D7\99\D7\95\D7\9C\00\D7\90\D7\95\D7\92\00\D7\A1\D7\A4\D7\98\00\D7\90\D7\95\D7\A7\00\D7\A0\D7\95\D7\91\00\D7\93\D7\A6\D7\9E\00\D7\99\D7\A0\D7\95\D7\90\D7\A8\00\D7\A4\D7\91\D7\A8\D7\95\D7\90\D7\A8\00\D7\90\D7\A4\D7\A8\D7\99\D7\9C\00\D7\99\D7\95\D7\A0\D7\99\00\D7\99\D7\95\D7\9C\D7\99\00\D7\90\D7\95\D7\92\D7\95\D7\A1\D7\98\00\D7\A1\D7\A4\D7\98\D7\9E\D7\91\D7\A8\00\D7\90\D7\95\D7\A7\D7\98\D7\95\D7\91\D7\A8\00\D7\A0\D7\95\D7\91\D7\9E\D7\91\D7\A8\00\D7\93\D7\A6\D7\9E\D7\91\D7\A8\00\E0\A4\B0\E0\A4\B5\E0\A4\BF \00\E0\A4\B8\E0\A5\8B\E0\A4\AE \00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B2 \00\E0\A4\AC\E0\A5\81\E0\A4\A7 \00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81 \00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0 \00\E0\A4\B6\E0\A4\A8\E0\A4\BF \00\E0\A4\B0\E0\A4\B5\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\B8\E0\A5\8B\E0\A4\AE\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B2\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\AC\E0\A5\81\E0\A4\A7\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\B6\E0\A4\A8\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\9C\E0\A4\A8\E0\A4\B5\E0\A4\B0\E0\A5\80\00\E0\A4\AB\E0\A4\BC\E0\A4\B0\E0\A4\B5\E0\A4\B0\E0\A5\80\00\E0\A4\AE\E0\A4\BE\E0\A4\B0\E0\A5\8D\E0\A4\9A\00\E0\A4\85\E0\A4\AA\E0\A5\8D\E0\A4\B0\E0\A5\87\E0\A4\B2\00\E0\A4\AE\E0\A4\88\00\E0\A4\9C\E0\A5\82\E0\A4\A8\00\E0\A4\9C\E0\A5\81\E0\A4\B2\E0\A4\BE\E0\A4\88\00\E0\A4\85\E0\A4\97\E0\A4\B8\E0\A5\8D\E0\A4\A4\00\E0\A4\B8\E0\A4\BF\E0\A4\A4\E0\A4\AE\E0\A5\8D\E0\A4\AC\E0\A4\B0\00\E0\A4\85\E0\A4\95\E0\A5\8D\E0\A4\9F\E0\A5\82\E0\A4\AC\E0\A4\B0\00\E0\A4\A8\E0\A4\B5\E0\A4\AE\E0\A5\8D\E0\A4\AC\E0\A4\B0\00\E0\A4\A6\E0\A4\BF\E0\A4\B8\E0\A4\AE\E0\A5\8D\E0\A4\AC\E0\A4\B0\00\E0\A4\AA\E0\A5\82\E0\A4\B0\E0\A5\8D\E0\A4\B5\E0\A4\BE\E0\A4\B9\E0\A5\8D\E0\A4\A8\00\E0\A4\85\E0\A4\AA\E0\A4\B0\E0\A4\BE\E0\A4\B9\E0\A5\8D\E0\A4\A8\00Sij\00Vel\00O\BEu\00Tra\00Svi\00Lip\00Srp\00Kol\00Ruj\00Lis\00Stu\00Pro\00Sije\E8anj\00Velja\E8a\00O\BEujak\00Travanj\00Svibanj\00Lipanj\00Srpanj\00Kolovoz\00Rujan\00Listopad\00Studeni\00Prosinac\00O\C5\BEu\00Sije\C4\8Danj\00Velja\C4\8Da\00O\C5\BEujak\00v\00h\00k\00sze\00cs\00p\00szo\00vas\E1rnap\00h\E9tf\F5\00kedd\00szerda\00cs\FCt\F6rt\F6k\00p\E9ntek\00szombat\00m\E1r\00\E1pr\00m\E1j\00j\FAn\00j\FAl\00janu\E1r\00febru\E1r\00m\E1rcius\00\E1prilis\00m\E1jus\00j\FAnius\00j\FAlius\00augusztus\00szeptember\00okt\F3ber\00%Y. %b. %e., %A, %H.%M.%S %Z\00%H.%M.%S\00vas\C3\A1rnap\00h\C3\A9tf\C5\91\00cs\C3\BCt\C3\B6rt\C3\B6k\00p\C3\A9ntek\00m\C3\A1r\00\C3\A1pr\00m\C3\A1j\00j\C3\BAn\00j\C3\BAl\00janu\C3\A1r\00febru\C3\A1r\00m\C3\A1rcius\00\C3\A1prilis\00m\C3\A1jus\00j\C3\BAnius\00j\C3\BAlius\00okt\C3\B3ber\00\CE\F1\CF\00\BA\F1\CF\00\BA\F1\F9\00\E2\F1\F9\00\D0\DD\B7\00\E0\F5\F1\00\DE\B5\C3\00\CE\C7\F1\B3\CF\C7\00\BA\F1\CF\E1\F5\DF\B3\B5\C3\C7\00\BA\F1\BB\F9\DF\B3\B5\C3\C7\00\E2\E1\F1\BB\F9\DF\B3\B5\C3\C7\00\D0\C7\DD\B7\DF\B3\B5\C3\C7\00\E0\F5\F1\B5\B3\C3\00\DE\B3\B5\B3\C3\00\D0\DD\ED\00\F6\EF\F1\00\D8\B3\F1\00\B2\E5\F1\00\D8\B3\DB\00\D0\DD\EB\00\D0\C9\EB\00\FA\B7\EB\00\EA\BB\E5\00\D0\E1\CF\00\DC\D9\B5\00\B8\BB\CF\00\D0\E1\F5\DD\ED\B3\F1\C7\00\F6\BB\EF\F1\ED\B3\F1\C7\00\D8\B3\F1\EF\C7\00\B2\E5\F1\C7\C9\C7\00\D8\B3\DB\C7\EB\C7\00\D0\E1\F5\DD\C7\EB\C7\00\D0\E1\F5\C9\C7\EB\C7\00\FA\B7\E1\EB\EF\E1\EB\C7\00\EA\BB\E5\EF\BB\D9\B5\BB\F1\C7\00\D0\E1\CF\EF\BB\D9\B5\BB\F1\C7\00\DC\E1\DB\BB\D9\B5\BB\F1\C7\00\B8\BB\CF\EF\BB\D9\B5\BB\F1\C7\00\D4\BF\D6\80\D5\AF\00\D4\B5\D6\80\D5\AF\00\D4\B5\D6\80\D6\84\00\D5\89\D6\80\D6\84\00\D5\80\D5\B6\D5\A3\00\D5\88\D6\82\D6\80\00\D5\87\D5\A2\D5\A9\00\D4\BF\D5\AB\D6\80\D5\A1\D5\AF\D5\AB\00\D4\B5\D6\80\D5\AF\D5\B8\D6\82\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D4\B5\D6\80\D5\A5\D6\84\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D5\89\D5\B8\D6\80\D5\A5\D6\84\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D5\80\D5\AB\D5\B6\D5\A3\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D5\88\D6\82\D6\80\D5\A2\D5\A1\D5\A9\00\D5\87\D5\A1\D5\A2\D5\A1\D5\A9\00\D5\80\D5\B6\D5\BE\00\D5\93\D5\BF\D6\80\00\D5\84\D5\A1\D6\80\00\D4\B1\D5\BA\D6\80\00\D5\84\D5\A1\D5\B5\00\D5\80\D5\B6\D5\BD\00\D5\80\D5\AC\D5\BD\00\D5\95\D5\A3\D5\BD\00\D5\8D\D5\A5\D5\BA\00\D5\80\D5\B8\D5\AF\00\D5\86\D5\B4\D5\A2\00\D4\B4\D5\A5\D5\AF\00\D5\80\D5\B8\D6\82\D5\B6\D5\BE\D5\A1\D6\80\D5\AB\00\D5\93\D5\A5\D5\BF\D6\80\D5\BE\D5\A1\D6\80\D5\AB\00\D5\84\D5\A1\D6\80\D5\BF\D5\AB\00\D4\B1\D5\BA\D6\80\D5\AB\D5\AC\D5\AB\00\D5\84\D5\A1\D5\B5\D5\AB\D5\BD\D5\AB\00\D5\80\D5\B8\D6\82\D5\B6\D5\AB\D5\BD\D5\AB\00\D5\80\D5\B8\D6\82\D5\AC\D5\AB\D5\BD\D5\AB\00\D5\95\D5\A3\D5\B8\D5\BD\D5\BF\D5\B8\D5\BD\D5\AB\00\D5\8D\D5\A5\D5\BA\D5\BF\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00\D5\80\D5\B8\D5\AF\D5\BF\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00\D5\86\D5\B8\D5\B5\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00\D4\B4\D5\A5\D5\AF\D5\BF\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00Min\00Sel\00Rab\00Kam\00Jum\00Sab\00Minggu\00Senin\00Selasa\00Rabu\00Kamis\00Jumat\00Sabtu\00Peb\00Agu\00Januari\00Pebruari\00Maret\00Agustus\00M\E1n\00\DEri\00Mi\F0\00Fim\00F\F6s\00Lau\00Sunnudagur\00M\E1nudagur\00\DEri\F0judagur\00Mi\F0vikudagur\00Fimmtudagur\00F\F6studagur\00Laugardagur\00Ma\ED\00J\FAn\00J\FAl\00\C1g\FA\00N\F3v\00Jan\FAar\00Febr\FAar\00Mars\00Apr\EDl\00J\FAn\ED\00J\FAl\ED\00\C1g\FAst\00Okt\F3ber\00N\F3vember\00fh\00eh\00%a %e.%b %Y, %T %Z\00%a %e.%b %Y\00M\C3\A1n\00\C3\9Eri\00Mi\C3\B0\00F\C3\B6s\00M\C3\A1nudagur\00\C3\9Eri\C3\B0judagur\00Mi\C3\B0vikudagur\00F\C3\B6studagur\00Ma\C3\AD\00J\C3\BAn\00J\C3\BAl\00\C3\81g\C3\BA\00N\C3\B3v\00Jan\C3\BAar\00Febr\C3\BAar\00Apr\C3\ADl\00J\C3\BAn\C3\AD\00J\C3\BAl\C3\AD\00\C3\81g\C3\BAst\00Okt\C3\B3ber\00N\C3\B3vember\00gio\00domenica\00luned\EC\00marted\EC\00mercoled\EC\00gioved\EC\00venerd\EC\00mag\00giu\00lug\00ott\00gennaio\00febbraio\00aprile\00maggio\00giugno\00luglio\00settembre\00ottobre\00dicembre\00luned\C3\AC\00marted\C3\AC\00mercoled\C3\AC\00gioved\C3\AC\00venerd\C3\AC\00\E6\97\A5\00\E6\9C\88\00\E7\81\AB\00\E6\B0\B4\00\E6\9C\A8\00\E9\87\91\00\E5\9C\9F\00\E6\97\A5\E6\9B\9C\E6\97\A5\00\E6\9C\88\E6\9B\9C\E6\97\A5\00\E7\81\AB\E6\9B\9C\E6\97\A5\00\E6\B0\B4\E6\9B\9C\E6\97\A5\00\E6\9C\A8\E6\9B\9C\E6\97\A5\00\E9\87\91\E6\9B\9C\E6\97\A5\00\E5\9C\9F\E6\9B\9C\E6\97\A5\00 1\E6\9C\88\00 2\E6\9C\88\00 3\E6\9C\88\00 4\E6\9C\88\00 5\E6\9C\88\00 6\E6\9C\88\00 7\E6\9C\88\00 8\E6\9C\88\00 9\E6\9C\88\0010\E6\9C\88\0011\E6\9C\88\0012\E6\9C\88\001\E6\9C\88\002\E6\9C\88\003\E6\9C\88\004\E6\9C\88\005\E6\9C\88\006\E6\9C\88\007\E6\9C\88\008\E6\9C\88\009\E6\9C\88\00\E5\8D\88\E5\89\8D\00\E5\8D\88\E5\BE\8C\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %H\E6\99\82%M\E5\88\86%S\E7\A7\92\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5\00%H\E6\99\82%M\E5\88\86%S\E7\A7\92\00%p%I\E6\99\82%M\E5\88\86%S\E7\A7\92\00+:2:1990/01/01:+*:\E5\B9\B3\E6\88\90:%EC%Ey\E5\B9\B4\00+:1:1989/01/08:1989/12/31:\E5\B9\B3\E6\88\90:%EC\E5\85\83\E5\B9\B4\00+:2:1927/01/01:1989/01/07:\E6\98\AD\E5\92\8C:%EC%Ey\E5\B9\B4\00+:1:1926/12/25:1926/12/31:\E6\98\AD\E5\92\8C:%EC\E5\85\83\E5\B9\B4\00+:2:1913/01/01:1926/12/24:\E5\A4\A7\E6\AD\A3:%EC%Ey\E5\B9\B4\00+:2:1912/07/30:1912/12/31:\E5\A4\A7\E6\AD\A3:%EC\E5\85\83\E5\B9\B4\00+:6:1873/01/01:1912/07/29:\E6\98\8E\E6\B2\BB:%EC%Ey\E5\B9\B4\00+:1:0001/01/01:1872/12/31:\E8\A5\BF\E6\9A\A6:%EC%Ey\E5\B9\B4\00+:1:-0001/12/31:-*:\E7\B4\80\E5\85\83\E5\89\8D:%EC%Ey\E5\B9\B4\00\00%EY%m\E6\9C\88%d\E6\97\A5\00\E3\80\87\00\E4\B8\80\00\E4\BA\8C\00\E4\B8\89\00\E5\9B\9B\00\E4\BA\94\00\E5\85\AD\00\E4\B8\83\00\E5\85\AB\00\E4\B9\9D\00\E5\8D\81\00\E5\8D\81\E4\B8\80\00\E5\8D\81\E4\BA\8C\00\E5\8D\81\E4\B8\89\00\E5\8D\81\E5\9B\9B\00\E5\8D\81\E4\BA\94\00\E5\8D\81\E5\85\AD\00\E5\8D\81\E4\B8\83\00\E5\8D\81\E5\85\AB\00\E5\8D\81\E4\B9\9D\00\E4\BA\8C\E5\8D\81\00\E4\BA\8C\E5\8D\81\E4\B8\80\00\E4\BA\8C\E5\8D\81\E4\BA\8C\00\E4\BA\8C\E5\8D\81\E4\B8\89\00\E4\BA\8C\E5\8D\81\E5\9B\9B\00\E4\BA\8C\E5\8D\81\E4\BA\94\00\E4\BA\8C\E5\8D\81\E5\85\AD\00\E4\BA\8C\E5\8D\81\E4\B8\83\00\E4\BA\8C\E5\8D\81\E5\85\AB\00\E4\BA\8C\E5\8D\81\E4\B9\9D\00\E4\B8\89\E5\8D\81\00\E4\B8\89\E5\8D\81\E4\B8\80\00\E4\B8\89\E5\8D\81\E4\BA\8C\00\E4\B8\89\E5\8D\81\E4\B8\89\00\E4\B8\89\E5\8D\81\E5\9B\9B\00\E4\B8\89\E5\8D\81\E4\BA\94\00\E4\B8\89\E5\8D\81\E5\85\AD\00\E4\B8\89\E5\8D\81\E4\B8\83\00\E4\B8\89\E5\8D\81\E5\85\AB\00\E4\B8\89\E5\8D\81\E4\B9\9D\00\E5\9B\9B\E5\8D\81\00\E5\9B\9B\E5\8D\81\E4\B8\80\00\E5\9B\9B\E5\8D\81\E4\BA\8C\00\E5\9B\9B\E5\8D\81\E4\B8\89\00\E5\9B\9B\E5\8D\81\E5\9B\9B\00\E5\9B\9B\E5\8D\81\E4\BA\94\00\E5\9B\9B\E5\8D\81\E5\85\AD\00\E5\9B\9B\E5\8D\81\E4\B8\83\00\E5\9B\9B\E5\8D\81\E5\85\AB\00\E5\9B\9B\E5\8D\81\E4\B9\9D\00\E4\BA\94\E5\8D\81\00\E4\BA\94\E5\8D\81\E4\B8\80\00\E4\BA\94\E5\8D\81\E4\BA\8C\00\E4\BA\94\E5\8D\81\E4\B8\89\00\E4\BA\94\E5\8D\81\E5\9B\9B\00\E4\BA\94\E5\8D\81\E4\BA\94\00\E4\BA\94\E5\8D\81\E5\85\AD\00\E4\BA\94\E5\8D\81\E4\B8\83\00\E4\BA\94\E5\8D\81\E5\85\AB\00\E4\BA\94\E5\8D\81\E4\B9\9D\00\E5\85\AD\E5\8D\81\00\E5\85\AD\E5\8D\81\E4\B8\80\00\E5\85\AD\E5\8D\81\E4\BA\8C\00\E5\85\AD\E5\8D\81\E4\B8\89\00\E5\85\AD\E5\8D\81\E5\9B\9B\00\E5\85\AD\E5\8D\81\E4\BA\94\00\E5\85\AD\E5\8D\81\E5\85\AD\00\E5\85\AD\E5\8D\81\E4\B8\83\00\E5\85\AD\E5\8D\81\E5\85\AB\00\E5\85\AD\E5\8D\81\E4\B9\9D\00\E4\B8\83\E5\8D\81\00\E4\B8\83\E5\8D\81\E4\B8\80\00\E4\B8\83\E5\8D\81\E4\BA\8C\00\E4\B8\83\E5\8D\81\E4\B8\89\00\E4\B8\83\E5\8D\81\E5\9B\9B\00\E4\B8\83\E5\8D\81\E4\BA\94\00\E4\B8\83\E5\8D\81\E5\85\AD\00\E4\B8\83\E5\8D\81\E4\B8\83\00\E4\B8\83\E5\8D\81\E5\85\AB\00\E4\B8\83\E5\8D\81\E4\B9\9D\00\E5\85\AB\E5\8D\81\00\E5\85\AB\E5\8D\81\E4\B8\80\00\E5\85\AB\E5\8D\81\E4\BA\8C\00\E5\85\AB\E5\8D\81\E4\B8\89\00\E5\85\AB\E5\8D\81\E5\9B\9B\00\E5\85\AB\E5\8D\81\E4\BA\94\00\E5\85\AB\E5\8D\81\E5\85\AD\00\E5\85\AB\E5\8D\81\E4\B8\83\00\E5\85\AB\E5\8D\81\E5\85\AB\00\E5\85\AB\E5\8D\81\E4\B9\9D\00\E4\B9\9D\E5\8D\81\00\E4\B9\9D\E5\8D\81\E4\B8\80\00\E4\B9\9D\E5\8D\81\E4\BA\8C\00\E4\B9\9D\E5\8D\81\E4\B8\89\00\E4\B9\9D\E5\8D\81\E5\9B\9B\00\E4\B9\9D\E5\8D\81\E4\BA\94\00\E4\B9\9D\E5\8D\81\E5\85\AD\00\E4\B9\9D\E5\8D\81\E4\B8\83\00\E4\B9\9D\E5\8D\81\E5\85\AB\00\E4\B9\9D\E5\8D\81\E4\B9\9D\00%EY%m\E6\9C\88%d\E6\97\A5 %H\E6\99\82%M\E5\88\86%S\E7\A7\92\00\CA\C5\C9\00\CF\D2\DB\00\D3\C0\CC\00\CF\C8\E1\00\E1\D6\C8\00\D0\C0\D2\00\DB\C0\C1\00\CA\C5\C9\D2\C0\00\CF\D2\DB\C0\C1\C0\C8\C9\00\D3\C0\CC\DB\C0\C1\C0\C8\C9\00\CF\C8\E1\DB\C0\C1\C0\C8\C9\00\E1\D6\C8\DB\C0\C1\C0\C8\C9\00\D0\C0\D2\C0\D3\CA\C4\C5\C9\00\DB\C0\C1\C0\C8\C9\00\C9\C0\CD\00\C8\C4\C1\00\CC\C0\D2\00\C0\D0\D2\00\CC\C0\C9\00\C9\C5\CD\00\C9\C5\CB\00\C0\C2\C5\00\D3\C4\D8\00\CF\D8\D4\00\CD\CF\C4\00\C3\C4\CA\00\C9\C0\CD\C5\C0\D2\C9\00\C8\C4\C1\C4\D2\C5\C0\CB\C9\00\CC\C0\D2\D4\C9\00\C0\D0\D2\C9\CB\C9\00\CC\C0\C9\D3\C9\00\C9\C5\CD\C9\D3\C9\00\C9\C5\CB\C9\D3\C9\00\C0\C2\C5\C9\D3\D4\CF\00\D3\C4\D8\D4\C4\CC\C1\C4\D2\C9\00\CF\D8\D4\CF\CC\C1\C4\D2\C9\00\CD\CF\C4\CC\C1\C4\D2\C9\00\C3\C4\CA\C4\CC\C1\C4\D2\C9\00%Y \DF\CB\C9\D3 %d %B, %T %Z\00\E1\83\99\E1\83\95\E1\83\98\00\E1\83\9D\E1\83\A0\E1\83\A8\00\E1\83\A1\E1\83\90\E1\83\9B\00\E1\83\9D\E1\83\97\E1\83\AE\00\E1\83\AE\E1\83\A3\E1\83\97\00\E1\83\9E\E1\83\90\E1\83\A0\00\E1\83\A8\E1\83\90\E1\83\91\00\E1\83\99\E1\83\95\E1\83\98\E1\83\A0\E1\83\90\00\E1\83\9D\E1\83\A0\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\A1\E1\83\90\E1\83\9B\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\9D\E1\83\97\E1\83\AE\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\AE\E1\83\A3\E1\83\97\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\9E\E1\83\90\E1\83\A0\E1\83\90\E1\83\A1\E1\83\99\E1\83\94\E1\83\95\E1\83\98\00\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\98\E1\83\90\E1\83\9C\00\E1\83\97\E1\83\94\E1\83\91\00\E1\83\9B\E1\83\90\E1\83\A0\00\E1\83\90\E1\83\9E\E1\83\A0\00\E1\83\9B\E1\83\90\E1\83\98\00\E1\83\98\E1\83\95\E1\83\9C\00\E1\83\98\E1\83\95\E1\83\9A\00\E1\83\90\E1\83\92\E1\83\95\00\E1\83\A1\E1\83\94\E1\83\A5\00\E1\83\9D\E1\83\A5\E1\83\A2\00\E1\83\9C\E1\83\9D\E1\83\94\00\E1\83\93\E1\83\94\E1\83\99\00\E1\83\98\E1\83\90\E1\83\9C\E1\83\95\E1\83\90\E1\83\A0\E1\83\98\00\E1\83\97\E1\83\94\E1\83\91\E1\83\94\E1\83\A0\E1\83\95\E1\83\90\E1\83\9A\E1\83\98\00\E1\83\9B\E1\83\90\E1\83\A0\E1\83\A2\E1\83\98\00\E1\83\90\E1\83\9E\E1\83\A0\E1\83\98\E1\83\9A\E1\83\98\00\E1\83\9B\E1\83\90\E1\83\98\E1\83\A1\E1\83\98\00\E1\83\98\E1\83\95\E1\83\9C\E1\83\98\E1\83\A1\E1\83\98\00\E1\83\98\E1\83\95\E1\83\9A\E1\83\98\E1\83\A1\E1\83\98\00\E1\83\90\E1\83\92\E1\83\95\E1\83\98\E1\83\A1\E1\83\A2\E1\83\9D\00\E1\83\A1\E1\83\94\E1\83\A5\E1\83\A2\E1\83\94\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00\E1\83\9D\E1\83\A5\E1\83\A2\E1\83\9D\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00\E1\83\9C\E1\83\9D\E1\83\94\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00\E1\83\93\E1\83\94\E1\83\99\E1\83\94\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00%Y \E1\83\AC\E1\83\9A\E1\83\98\E1\83\A1 %d %B, %T %Z\00ata\00pin\00sis\00tal\00arf\00sabaat\00ataasinngorneq\00marlunngorneq\00pingasunngorneq\00sisamanngorneq\00tallimanngorneq\00arfininngorneq\00januari\00februari\00martsi\00aprili\00maji\00augustusi\00septemberi\00oktoberi\00novemberi\00decemberi\00%d %b %Y\00\EC\9D\BC\00\EC\9B\94\00\ED\99\94\00\EC\88\98\00\EB\AA\A9\00\EA\B8\88\00\ED\86\A0\00\EC\9D\BC\EC\9A\94\EC\9D\BC\00\EC\9B\94\EC\9A\94\EC\9D\BC\00\ED\99\94\EC\9A\94\EC\9D\BC\00\EC\88\98\EC\9A\94\EC\9D\BC\00\EB\AA\A9\EC\9A\94\EC\9D\BC\00\EA\B8\88\EC\9A\94\EC\9D\BC\00\ED\86\A0\EC\9A\94\EC\9D\BC\00 1\EC\9B\94\00 2\EC\9B\94\00 3\EC\9B\94\00 4\EC\9B\94\00 5\EC\9B\94\00 6\EC\9B\94\00 7\EC\9B\94\00 8\EC\9B\94\00 9\EC\9B\94\0010\EC\9B\94\0011\EC\9B\94\0012\EC\9B\94\00\EC\9D\BC\EC\9B\94\00\EC\9D\B4\EC\9B\94\00\EC\82\BC\EC\9B\94\00\EC\82\AC\EC\9B\94\00\EC\98\A4\EC\9B\94\00\EC\9C\A0\EC\9B\94\00\EC\B9\A0\EC\9B\94\00\ED\8C\94\EC\9B\94\00\EA\B5\AC\EC\9B\94\00\EC\8B\9C\EC\9B\94\00\EC\8B\AD\EC\9D\BC\EC\9B\94\00\EC\8B\AD\EC\9D\B4\EC\9B\94\00\EC\98\A4\EC\A0\84\00\EC\98\A4\ED\9B\84\00%x (%a) %r\00%Y\EB\85\84 %m\EC\9B\94 %d\EC\9D\BC\00%H\EC\8B\9C %M\EB\B6\84 %S\EC\B4\88\00%p %I\EC\8B\9C %M\EB\B6\84 %S\EC\B4\88\00Mth\00Mhr\00Yow\00De Sul\00De Lun\00De Merth\00De Merher\00De Yow\00De Gwener\00De Sadorn\00Gen\00Whe>\00Me\00Evn\00Est\00Gwn\00Hed\00Kev\00Mys Genver\00Mys Whevrel\00Mys Merth\00Mys Ebrel\00Mys Me\00Mys Evan\00Mys Gortheren\00Mye Est\00Mys Gwyngala\00Mys Hedra\00Mys Du\00Mys Kevardhu\00Sk\00Pr\00An\00Tr\00Kt\00Pn\00\D0t\00Sekmadienis\00Pirmadienis\00Antradienis\00Tre\E8iadienis\00Ketvirtadienis\00Penktadienis\00\D0e\F0tadienis\00Sau\00Vas\00Kov\00Bal\00Geg\00Bir\00Lie\00Rgp\00Rgs\00Spa\00Lap\00Grd\00sausio\00vasario\00kovo\00baland\FEio\00gegu\FE\EBs\00bir\FEelio\00liepos\00rugpj\FB\E8io\00rugs\EBjo\00spalio\00lapkri\E8io\00gruod\FEio\00%Y m. %B %d d. %T\00%Y.%m.%d\00\C5\A0t\00Tre\C4\8Diadienis\00\C5\A0e\C5\A1tadienis\00baland\C5\BEio\00gegu\C5\BE\C4\97s\00bir\C5\BEelio\00rugpj\C5\AB\C4\8Dio\00rugs\C4\97jo\00lapkri\C4\8Dio\00gruod\C5\BEio\00Sv\00P\A0\00O\A0\00T\A0\00C\A0\00Pk\00S\A0\00sv\E7tdiena\00pirmdiena\00otrdiena\00tre\F0diena\00ceturtdiena\00piektdiena\00sestdiena\00j\FBn\00j\FBl\00janv\E2ris\00febru\E2ris\00apr\EElis\00maijs\00j\FBnijs\00j\FBlijs\00augusts\00septembris\00oktobris\00novembris\00decembris\00%A, %Y. gada %e. %B, plkst. %H un %M\00%Y.%m.%d.\00P\C2\A0\00O\C2\A0\00T\C2\A0\00C\C2\A0\00S\C2\A0\00sv\C4\93tdiena\00tre\C5\A1diena\00j\C5\ABn\00j\C5\ABl\00janv\C4\81ris\00febru\C4\81ris\00apr\C4\ABlis\00j\C5\ABnijs\00j\C5\ABlijs\00Ta\00T\FB\00We\00T\E2i\00Pa\00H\E2\00R\E2tapu\00Mane\00T\FBrei\00Wenerei\00T\E2ite\00Paraire\00H\E2tarei\00Kohi\00Hui\00Pou\00Pae\00Hara\00Pipi\00H\F4ngoi\00Mahu\00Whi-nu\00Whi-ra\00Haki\00Kohi-t\E2tea\00Hui-tanguru\00Pout\FB-te-rangi\00Paenga-wh\E2wh\E2\00Haratua\00Pipiri\00H\F4ngoingoi\00Here-turi-k\F4k\E2\00Mahuru\00Whiringa-\E2-nuku\00Whiringa-\E2-rangi\00Hakihea\00Te %A, te %d o %B, %Y %T %Z\00T\C5\AB\00T\C4\81i\00H\C4\81\00R\C4\81tapu\00T\C5\ABrei\00T\C4\81ite\00H\C4\81tarei\00H\C5\8Dngoi\00Kohi-t\C4\81tea\00Pout\C5\AB-te-rangi\00Paenga-wh\C4\81wh\C4\81\00H\C5\8Dngoingoi\00Here-turi-k\C5\8Dk\C4\81\00Whiringa-\C4\81-nuku\00Whiringa-\C4\81-rangi\00\DD\D5\D4\00\DF\DE\DD\00\D2\E2\DE\00\E1\E0\D5\00\E7\D5\E2\00\DF\D5\E2\00\E1\D0\D1\00\DD\D5\D4\D5\DB\D0\00\DF\DE\DD\D5\D4\D5\DB\DD\D8\DA\00\D2\E2\DE\E0\DD\D8\DA\00\E1\E0\D5\D4\D0\00\E7\D5\E2\D2\E0\E2\DE\DA\00\DF\D5\E2\DE\DA\00\E1\D0\D1\DE\E2\D0\00\F8\D0\DD\00\E4\D5\D2\00\DC\D0\E0\00\D0\DF\E0\00\DC\D0\F8\00\F8\E3\DD\00\F8\E3\DB\00\D0\D2\D3\00\E1\D5\DF\00\DE\DA\E2\00\DD\DE\D5\00\D4\D5\DA\00\F8\D0\DD\E3\D0\E0\D8\00\E4\D5\D2\E0\E3\D0\E0\D8\00\DC\D0\E0\E2\00\D0\DF\E0\D8\DB\00\F8\E3\DD\D8\00\F8\E3\DB\D8\00\D0\D2\D3\E3\E1\E2\00\E1\D5\DF\E2\D5\DC\D2\E0\D8\00\DE\DA\E2\DE\DC\D2\E0\D8\00\DD\DE\D5\DC\D2\E0\D8\00\D4\D5\DA\D5\DC\D2\E0\D8\00%a, %d %b %Y %T %Z\00\D0\BD\D0\B5\D0\B4\00\D0\BF\D0\BE\D0\BD\00\D0\B2\D1\82\D0\BE\00\D1\81\D1\80\D0\B5\00\D1\87\D0\B5\D1\82\00\D0\BF\D0\B5\D1\82\00\D1\81\D0\B0\D0\B1\00\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D0\B0\00\D1\81\D1\80\D0\B5\D0\B4\D0\B0\00\D1\87\D0\B5\D1\82\D0\B2\D1\80\D1\82\D0\BE\D0\BA\00\D0\BF\D0\B5\D1\82\D0\BE\D0\BA\00\D1\81\D0\B0\D0\B1\D0\BE\D1\82\D0\B0\00\D1\98\D0\B0\D0\BD\00\D0\BC\D0\B0\D1\98\00\D1\98\D1\83\D0\BD\00\D1\98\D1\83\D0\BB\00\D1\98\D0\B0\D0\BD\D1\83\D0\B0\D1\80\D0\B8\00\D1\98\D1\83\D0\BD\D0\B8\00\D1\98\D1\83\D0\BB\D0\B8\00\E0\A4\B0\E0\A4\B5\E0\A4\BF\00\E0\A4\B8\E0\A5\8B\E0\A4\AE\00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B3\00\E0\A4\AC\E0\A5\81\E0\A4\A7\00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81\00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0\00\E0\A4\B6\E0\A4\A8\E0\A4\BF\00\E0\A4\B0\E0\A4\B5\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\B8\E0\A5\8B\E0\A4\AE\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B3\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\B6\E0\A4\A8\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\9C\E0\A4\BE\E0\A4\A8\E0\A5\87\E0\A4\B5\E0\A4\BE\E0\A4\B0\E0\A5\80\00\E0\A4\AB\E0\A5\87\E0\A4\AC\E0\A5\83\E0\A4\B5\E0\A4\BE\E0\A4\B0\E0\A5\80\00\E0\A4\8F\E0\A4\AA\E0\A5\8D\E0\A4\B0\E0\A4\BF\E0\A4\B2\00\E0\A4\AE\E0\A5\87\00\E0\A4\9C\E0\A5\81\E0\A4\B2\E0\A5\88\00\E0\A4\93\E0\A4\97\E0\A4\B8\E0\A5\8D\E0\A4\9F\00\E0\A4\B8\E0\A5\87\E0\A4\AA\E0\A5\8D\E0\A4\9F\E0\A5\87\E0\A4\82\E0\A4\AC\E0\A4\B0\00\E0\A4\93\E0\A4\95\E0\A5\8D\E0\A4\9F\E0\A5\8B\E0\A4\AC\E0\A4\B0\00\E0\A4\A8\E0\A5\8B\E0\A4\B5\E0\A5\8D\E0\A4\B9\E0\A5\87\E0\A4\82\E0\A4\AC\E0\A4\B0\00\E0\A4\A1\E0\A4\BF\E0\A4\B8\E0\A5\87\E0\A4\82\E0\A4\AC\E0\A4\B0\00\E0\A4\AE.\E0\A4\AA\E0\A5\82.\00\E0\A4\AE.\E0\A4\A8\E0\A4\82.\00Ahd\00Isn\00Kha\00Ahad\00Isnin\00Khamis\00Jumaat\00Mac\00Ogos\00Dis\00Februari\00Julai\00Disember\00\A1ad\00Tne\00Tli\00Erb\00\A1am\00\D5im\00Sib\00il-\A1add\00it-Tnejn\00it-Tlieta\00l-Erbg\B1a\00il-\A1amis\00il-\D5img\B1a\00is-Sibt\00Fra\00Mej\00\D5un\00Lul\00Awi\00Ott\00Di\E5\00Jannar\00Frar\00Marzu\00Mejju\00\D5unju\00Lulju\00Awissu\00Settembru\00Ottubru\00Novembru\00Di\E5embru \00%A, %d ta %b, %Y %I:%M:%S %p %Z\00%A, %d ta %b, %Y\00\C4\A6ad\00\C4\A6am\00\C4\A0im\00il-\C4\A6add\00l-Erbg\C4\A7a\00il-\C4\A6amis\00il-\C4\A0img\C4\A7a\00\C4\A0un\00Di\C4\8B\00\C4\A0unju\00Di\C4\8Bembru \00zo\00di\00wo\00do\00vr\00za\00zondag\00maandag\00dinsdag\00woensdag\00donderdag\00vrijdag\00zaterdag\00mrt\00mei\00maart\00augustus\00%d-%m-%y\00su \00m\E5 \00ty \00on \00to \00fr \00lau \00sundag \00m\E5ndag \00tysdag \00onsdag \00torsdag \00fredag \00laurdag \00%d. %b %Y kl %H.%M %Z\00%d. %b %Y\00kl %H.%M %Z\00m\C3\A5 \00m\C3\A5ndag \00%a %d-%m-%Y %T %Z\00mec\00j\F3u\00dimenge\00diluns\00dimars\00dij\F3us\00disabte\00ag\F3\00geni\E8r\00febri\E8r\00abrial\00junh\00julhet\00ag\F3st\00decembre\00j\C3\B3u\00dij\C3\B3us\00ag\C3\B3\00geni\C3\A8r\00febri\C3\A8r\00ag\C3\B3st\00nie\00pon\00wto\00\B6ro\00czw\00pi\B1\00sob\00niedziela\00poniedzia\B3ek\00wtorek\00\B6roda\00czwartek\00pi\B1tek\00sobota\00sty\00lut\00kwi\00cze\00lip\00sie\00wrz\00pa\BC\00gru\00stycze\F1\00luty\00marzec\00kwiecie\F1\00czerwiec\00lipiec\00sierpie\F1\00wrzesie\F1\00pa\BCdziernik\00grudzie\F1\00\C5\9Bro\00pi\C4\85\00poniedzia\C5\82ek\00\C5\9Broda\00pi\C4\85tek\00pa\C5\BA\00stycze\C5\84\00kwiecie\C5\84\00sierpie\C5\84\00wrzesie\C5\84\00pa\C5\BAdziernik\00grudzie\C5\84\00Seg\00Ter\00Qua\00Qui\00Sex\00segunda\00ter\E7a\00quarta\00quinta\00sexta\00janeiro\00fevereiro\00mar\E7o\00maio\00junho\00julho\00setembro\00outubro\00novembro\00dezembro\00ter\C3\A7a\00mar\C3\A7o\00Segunda\00Ter\E7a\00Quarta\00Quinta\00Sexta\00Janeiro\00Fevereiro\00Mar\E7o\00Junho\00Julho\00Dezembro\00Ter\C3\A7a\00Mar\C3\A7o\00Lu\00Mi\00Jo\00Vi\00S\EE\00Duminic\C3\00Luni\00Mar\FEi\00Miercuri\00Joi\00Vineri\00S\EEmb\C3t\C3\00ian\00iun\00iul\00Ianuarie\00Martie\00Aprilie\00Iunie\00Iulie\00Septembrie\00Octombrie\00Noiembrie\00Decembrie\00S\C3\AE\00Duminic\C4\82\00Mar\C5\A3i\00S\C3\AEmb\C4\82t\C4\82\00\F7\D3\CB\00\F0\CE\C4\00\F7\D4\D2\00\F3\D2\C4\00\FE\D4\D7\00\F0\D4\CE\00\F3\C2\D4\00\F7\CF\D3\CB\D2\C5\D3\C5\CE\D8\C5\00\F0\CF\CE\C5\C4\C5\CC\D8\CE\C9\CB\00\F7\D4\CF\D2\CE\C9\CB\00\F3\D2\C5\C4\C1\00\FE\C5\D4\D7\C5\D2\C7\00\F0\D1\D4\CE\C9\C3\C1\00\F3\D5\C2\C2\CF\D4\C1\00\F1\CE\D7\00\E6\C5\D7\00\ED\C1\D2\00\E1\D0\D2\00\ED\C1\CA\00\E9\C0\CE\00\E9\C0\CC\00\E1\D7\C7\00\F3\C5\CE\00\EF\CB\D4\00\EE\CF\D1\00\E4\C5\CB\00\F1\CE\D7\C1\D2\D1\00\E6\C5\D7\D2\C1\CC\D1\00\ED\C1\D2\D4\C1\00\E1\D0\D2\C5\CC\D1\00\ED\C1\D1\00\E9\C0\CE\D1\00\E9\C0\CC\D1\00\E1\D7\C7\D5\D3\D4\C1\00\F3\C5\CE\D4\D1\C2\D2\D1\00\EF\CB\D4\D1\C2\D2\D1\00\EE\CF\D1\C2\D2\D1\00\E4\C5\CB\C1\C2\D2\D1\00\B2\E1\DA\00\BF\DD\D4\00\B2\E2\E0\00\C1\E0\D4\00\C7\E2\D2\00\BF\E2\DD\00\C1\D1\E2\00\B2\DE\E1\DA\E0\D5\E1\D5\DD\EC\D5\00\BF\DE\DD\D5\D4\D5\DB\EC\DD\D8\DA\00\B2\E2\DE\E0\DD\D8\DA\00\C1\E0\D5\D4\D0\00\C7\D5\E2\D2\D5\E0\D3\00\BF\EF\E2\DD\D8\E6\D0\00\C1\E3\D1\D1\DE\E2\D0\00\CF\DD\D2\00\C4\D5\D2\00\BC\D0\E0\00\B0\DF\E0\00\BC\D0\D9\00\B8\EE\DD\00\B8\EE\DB\00\B0\D2\D3\00\C1\D5\DD\00\BE\DA\E2\00\BD\DE\EF\00\B4\D5\DA\00\CF\DD\D2\D0\E0\EF\00\C4\D5\D2\E0\D0\DB\EF\00\BC\D0\E0\E2\D0\00\B0\DF\E0\D5\DB\EF\00\BC\D0\EF\00\B8\EE\DD\EF\00\B8\EE\DB\EF\00\B0\D2\D3\E3\E1\E2\D0\00\C1\D5\DD\E2\EF\D1\E0\EF\00\BE\DA\E2\EF\D1\E0\EF\00\BD\DE\EF\D1\E0\EF\00\B4\D5\DA\D0\D1\E0\EF\00\D0\92\D1\81\D0\BA\00\D0\9F\D0\BD\D0\B4\00\D0\92\D1\82\D1\80\00\D0\A7\D1\82\D0\B2\00\D0\9F\D1\82\D0\BD\00\D0\A1\D0\B1\D1\82\00\D0\92\D0\BE\D1\81\D0\BA\D1\80\D0\B5\D1\81\D0\B5\D0\BD\D1\8C\D0\B5\00\D0\9F\D0\BE\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D1\8C\D0\BD\D0\B8\D0\BA\00\D0\92\D1\82\D0\BE\D1\80\D0\BD\D0\B8\D0\BA\00\D0\A1\D1\80\D0\B5\D0\B4\D0\B0\00\D0\A7\D0\B5\D1\82\D0\B2\D0\B5\D1\80\D0\B3\00\D0\9F\D1\8F\D1\82\D0\BD\D0\B8\D1\86\D0\B0\00\D0\A1\D1\83\D0\B1\D0\B1\D0\BE\D1\82\D0\B0\00\D0\AF\D0\BD\D0\B2\00\D0\A4\D0\B5\D0\B2\00\D0\9C\D0\B0\D1\80\00\D0\90\D0\BF\D1\80\00\D0\9C\D0\B0\D0\B9\00\D0\98\D1\8E\D0\BD\00\D0\98\D1\8E\D0\BB\00\D0\90\D0\B2\D0\B3\00\D0\A1\D0\B5\D0\BD\00\D0\9E\D0\BA\D1\82\00\D0\9D\D0\BE\D1\8F\00\D0\94\D0\B5\D0\BA\00\D0\AF\D0\BD\D0\B2\D0\B0\D1\80\D1\8F\00\D0\A4\D0\B5\D0\B2\D1\80\D0\B0\D0\BB\D1\8F\00\D0\9C\D0\B0\D1\80\D1\82\D0\B0\00\D0\90\D0\BF\D1\80\D0\B5\D0\BB\D1\8F\00\D0\9C\D0\B0\D1\8F\00\D0\98\D1\8E\D0\BD\D1\8F\00\D0\98\D1\8E\D0\BB\D1\8F\00\D0\90\D0\B2\D0\B3\D1\83\D1\81\D1\82\D0\B0\00\D0\A1\D0\B5\D0\BD\D1\82\D1\8F\D0\B1\D1\80\D1\8F\00\D0\9E\D0\BA\D1\82\D1\8F\D0\B1\D1\80\D1\8F\00\D0\9D\D0\BE\D1\8F\D0\B1\D1\80\D1\8F\00\D0\94\D0\B5\D0\BA\D0\B0\D0\B1\D1\80\D1\8F\00\F7\D4\CF\00\F3\D5\C2\00\F1\CE\D7\C1\D2\D8\00\E6\C5\D7\D2\C1\CC\D8\00\ED\C1\D2\D4\00\E1\D0\D2\C5\CC\D8\00\E9\C0\CE\D8\00\E9\C0\CC\D8\00\E1\D7\C7\D5\D3\D4\00\F3\C5\CE\D4\D1\C2\D2\D8\00\EF\CB\D4\D1\C2\D2\D8\00\EE\CF\D1\C2\D2\D8\00\E4\C5\CB\C1\C2\D2\D8\00\D0\92\D1\82\D0\BE\00\D0\AF\D0\BD\D0\B2\D0\B0\D1\80\D1\8C\00\D0\A4\D0\B5\D0\B2\D1\80\D0\B0\D0\BB\D1\8C\00\D0\9C\D0\B0\D1\80\D1\82\00\D0\90\D0\BF\D1\80\D0\B5\D0\BB\D1\8C\00\D0\98\D1\8E\D0\BD\D1\8C\00\D0\98\D1\8E\D0\BB\D1\8C\00\D0\90\D0\B2\D0\B3\D1\83\D1\81\D1\82\00\D0\A1\D0\B5\D0\BD\D1\82\D1\8F\D0\B1\D1\80\D1\8C\00\D0\9E\D0\BA\D1\82\D1\8F\D0\B1\D1\80\D1\8C\00\D0\9D\D0\BE\D1\8F\D0\B1\D1\80\D1\8C\00\D0\94\D0\B5\D0\BA\D0\B0\D0\B1\D1\80\D1\8C\00sotn\00vuos\00ma\C5\8B\00gask\00duor\00bear\00l\C3\A1v\00sotnabeaivi\00vuoss\C3\A1rga\00ma\C5\8B\C5\8Bebarga\00gaskavahkku\00duorasdat\00bearjadat\00l\C3\A1vvardat\00o\C4\91\C4\91j\00guov\00njuk\00cuo\C5\8B\00mies\00geas\00suoi\00borg\00\C4\8Dak\C4\8D\00golg\00sk\C3\A1b\00juov\00o\C4\91\C4\91ajagem\C3\A1nu\00guovvam\C3\A1nu\00njuk\C4\8Dam\C3\A1nu\00cuo\C5\8Bom\C3\A1nu\00miessem\C3\A1nu\00geassem\C3\A1nu\00suoidnem\C3\A1nu\00borgem\C3\A1nu\00\C4\8Dak\C4\8Dam\C3\A1nu\00golggotm\C3\A1nu\00sk\C3\A1bmam\C3\A1nu\00juovlam\C3\A1nu\00%a, %b %e. b. %Y %T %Z\00Ut\00\A9t\00Pi\00Nede\B5a\00Pondelok\00Utorok\00Streda\00\A9tvrtok\00Piatok\00marec\00Nede\C4\BEa\00\C5\A0tvrtok\00ned\00sre\00\E8et\00pet\00nedelja\00ponedeljek\00torek\00sreda\00\E8etrtek\00petek\00avg\00junij\00julij\00avgust\00\C4\8Det\00\C4\8Detrtek\00Die \00H\EBn \00Mar \00M\EBr \00Enj \00Pre \00Sht \00e diel \00e h\EBn\EB \00e mart\EB \00e m\EBrkur\EB \00e enjte \00e premte \00e shtun\EB \00Shk\00Pri\00Qer\00Kor\00Gsh\00Sht\00Tet\00N\EBn\00Dhj\00janar\00shkurt\00prill\00qershor\00korrik\00gusht\00shtator\00tetor\00n\EBntor\00dhjetor\00PD\00MD\00%Y-%b-%d %I.%M.%S.%p %Z\00%Y-%b-%d\00%I.%M.%S. %Z\00%I.%M.%S.%p %Z\00H\C3\ABn \00M\C3\ABr \00e h\C3\ABn\C3\AB \00e mart\C3\AB \00e m\C3\ABrkur\C3\AB \00e shtun\C3\AB \00N\C3\ABn\00n\C3\ABntor\00uto\00sub\00ponedeljak\00utorak\00\E8etvrtak\00petak\00subota\00septembar\00oktobar\00novembar\00decembar\00%d-%m-%Y.\00\C4\8Detvrtak\00\E3\E2\DE\00\E1\E3\D1\00\DD\D5\D4\D5\F9a\00\DF\DE\DD\D5\D4\D5\F9\D0\DA\00\E3\E2\DE\E0\D0\DA\00\E7\D5\E2\D2\E0\E2\D0\DA\00\DF\D5\E2\D0\DA\00\E1\E3\D1\DE\E2\D0\00\E4\D5\D1\00\DD\DE\D2\00\D4\D5\E6\00\F8\D0\DD\E3\D0\E0\00\E4\D5\D1\E0\E3\D0\E0\00\E1\D5\DF\E2\D5\DC\D1\D0\E0\00\DE\DA\E2\DE\D1\D0\E0\00\DD\DE\D2\D5\DC\D1\D0\E0\00\D4\D5\E6\D5\DC\D1\D0\E0\00+%a %d %b %Y %T %Z\00\D1\83\D1\82\D0\BE\00\D1\81\D1\83\D0\B1\00\D0\BD\D0\B5\D0\B4\D0\B5\D1\99a\00\D0\BF\D0\BE\D0\BD\D0\B5\D0\B4\D0\B5\D1\99\D0\B0\D0\BA\00\D1\83\D1\82\D0\BE\D1\80\D0\B0\D0\BA\00\D1\87\D0\B5\D1\82\D0\B2\D1\80\D1\82\D0\B0\D0\BA\00\D0\BF\D0\B5\D1\82\D0\B0\D0\BA\00\D1\81\D1\83\D0\B1\D0\BE\D1\82\D0\B0\00\D1\84\D0\B5\D0\B1\00\D0\BD\D0\BE\D0\B2\00\D0\B4\D0\B5\D1\86\00\D1\98\D0\B0\D0\BD\D1\83\D0\B0\D1\80\00\D1\84\D0\B5\D0\B1\D1\80\D1\83\D0\B0\D1\80\00\D1\81\D0\B5\D0\BF\D1\82\D0\B5\D0\BC\D0\B1\D0\B0\D1\80\00\D0\BE\D0\BA\D1\82\D0\BE\D0\B1\D0\B0\D1\80\00\D0\BD\D0\BE\D0\B2\D0\B5\D0\BC\D0\B1\D0\B0\D1\80\00\D0\B4\D0\B5\D1\86\D0\B5\D0\BC\D0\B1\D0\B0\D1\80\00s\F6n\00m\E5n\00tis\00l\F6r\00s\F6ndag\00m\E5ndag\00tisdag\00l\F6rdag\00augusti\00%a %e %b %Y %H.%M.%S\00s\C3\B6n\00m\C3\A5n\00l\C3\B6r\00s\C3\B6ndag\00m\C3\A5ndag\00l\C3\B6rdag\00\E0\AE\9E\00\E0\AE\A4\00\E0\AE\9A\00\E0\AE\AA\00\E0\AE\B5\00\E0\AE\9E\E0\AE\BE\E0\AE\AF\E0\AE\BF\E0\AE\B1\E0\AF\81\00\E0\AE\A4\E0\AE\BF\E0\AE\99\E0\AF\8D\E0\AE\95\E0\AE\B3\E0\AF\8D\00\E0\AE\9A\E0\AF\86\E0\AE\B5\E0\AF\8D\E0\AE\B5\E0\AE\BE\E0\AE\AF\E0\AF\8D\00\E0\AE\AA\E0\AF\81\E0\AE\A4\E0\AE\A9\E0\AF\8D\00\E0\AE\B5\E0\AE\BF\E0\AE\AF\E0\AE\BE\E0\AE\B4\E0\AE\A9\E0\AF\8D\00\E0\AE\B5\E0\AF\86\E0\AE\B3\E0\AF\8D\E0\AE\B3\E0\AE\BF\00\E0\AE\9A\E0\AE\A9\E0\AE\BF\00\E0\AE\9C\E0\AE\A9\E0\AE\B5\E0\AE\B0\E0\AE\BF\00\E0\AE\AA\E0\AF\86\E0\AE\AA\E0\AF\8D\E0\AE\B0\E0\AE\B5\E0\AE\B0\E0\AE\BF\00\E0\AE\AE\E0\AE\BE\E0\AE\B0\E0\AF\8D\E0\AE\9A\E0\AF\8D\00\E0\AE\8F\E0\AE\AA\E0\AF\8D\E0\AE\B0\E0\AE\B2\E0\AF\8D\00\E0\AE\AE\E0\AF\87\00\E0\AE\9C\E0\AF\82\E0\AE\A9\E0\AF\8D\00\E0\AE\9C\E0\AF\82\E0\AE\B2\E0\AF\88\00\E0\AE\86\E0\AE\95\E0\AE\B8\E0\AF\8D\E0\AE\9F\E0\AF\8D\00\E0\AE\9A\E0\AF\86\E0\AE\AA\E0\AF\8D\E0\AE\9F\E0\AE\AE\E0\AF\8D\E0\AE\AA\E0\AE\B0\E0\AF\8D\00\E0\AE\85\E0\AE\95\E0\AF\8D\E0\AE\9F\E0\AF\8B\E0\AE\AA\E0\AE\B0\E0\AF\8D\00\E0\AE\A8\E0\AE\B5\E0\AE\AE\E0\AF\8D\E0\AE\AA\E0\AE\B0\E0\AF\8D\00\E0\AE\9F\E0\AE\BF\E0\AE\9A\E0\AE\AE\E0\AF\8D\E0\AE\AA\E0\AE\B0\E0\AF\8Dr\00\E0\AE\95\E0\AE\BE\E0\AE\B2\E0\AF\88\00\E0\AE\AE\E0\AE\BE\E0\AE\B2\E0\AF\88\00\E0\B0\86\E0\B0\A6\E0\B0\BF\00\E0\B0\B8\E0\B1\8B\E0\B0\AE\00\E0\B0\AE\E0\B0\82\E0\B0\97\E0\B0\B3\00\E0\B0\AC\E0\B1\81\E0\B0\A7\00\E0\B0\97\E0\B1\81\E0\B0\B0\E0\B1\81\00\E0\B0\B6\E0\B1\81\E0\B0\95\E0\B1\8D\E0\B0\B0\00\E0\B0\B6\E0\B0\A8\E0\B0\BF\00\E0\B0\86\E0\B0\A6\E0\B0\BF\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\B8\E0\B1\8B\E0\B0\AE\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\AE\E0\B0\82\E0\B0\97\E0\B0\B3\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\AC\E0\B1\81\E0\B0\A7\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\97\E0\B1\81\E0\B0\B0\E0\B1\81\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\B6\E0\B1\81\E0\B0\95\E0\B1\8D\E0\B0\B0\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\B6\E0\B0\A8\E0\B0\BF\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\9C\E0\B0\A8\E0\B0\B5\E0\B0\B0\E0\B0\BF\00\E0\B0\AB\E0\B0\BF\E0\B0\AC\E0\B1\8D\E0\B0\B0\E0\B0\B5\E0\B0\B0\E0\B0\BF\00\E0\B0\AE\E0\B0\BE\E0\B0\B0\E0\B1\8D\E0\B0\9A\E0\B0\BF\00\E0\B0\8F\E0\B0\AA\E0\B1\8D\E0\B0\B0\E0\B0\BF\E0\B0\B2\E0\B1\8D\00\E0\B0\AE\E0\B1\87\00\E0\B0\9C\E0\B1\82\E0\B0\A8\E0\B1\8D\00\E0\B0\9C\E0\B1\82\E0\B0\B2\E0\B1\88\00\E0\B0\86\E0\B0\97\E0\B0\B8\E0\B1\8D\E0\B0\9F\E0\B1\81\00\E0\B0\B8\E0\B1\86\E0\B0\AA\E0\B1\8D\E0\B0\9F\E0\B1\86\E0\B0\82\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\85\E0\B0\95\E0\B1\8D\E0\B0\9F\E0\B1\8B\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\A8\E0\B0\B5\E0\B0\82\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\A1\E0\B0\BF\E0\B0\B8\E0\B1\86\E0\B0\82\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\AA\E0\B1\82\E0\B0\B0\E0\B1\8D\E0\B0\B5\E0\B0\BE\E0\B0\B9\E0\B1\8D\E0\B0\A8\00\E0\B0\85\E0\B0\AA\E0\B0\B0\E0\B0\BE\E0\B0\B9\E0\B1\8D\E0\B0\A8\00\CD\D2.\00\A8.\00\CD.\00\BE.\00\BE\C4.\00\C8.\00\CA.\00\CD\D2\B7\D4\B5\C2\EC\00\A8\D1\B9\B7\C3\EC\00\CD\D1\A7\A4\D2\C3\00\BE\D8\B8\00\BE\C4\CB\D1\CA\BA\B4\D5\00\C8\D8\A1\C3\EC\00\E0\CA\D2\C3\EC\00\C1.\A4.\00\A1.\BE.\00\C1\D5.\A4.\00\E0\C1.\C2.\00\BE.\A4.\00\C1\D4.\C2.\00\A1.\A4.\00\CA.\A4.\00\A1.\C2.\00\B5.\A4.\00\BE.\C2.\00\B8.\A4.\00\C1\A1\C3\D2\A4\C1\00\A1\D8\C1\C0\D2\BE\D1\B9\B8\EC\00\C1\D5\B9\D2\A4\C1\00\E0\C1\C9\D2\C2\B9\00\BE\C4\C9\C0\D2\A4\C1\00\C1\D4\B6\D8\B9\D2\C2\B9\00\A1\C3\A1\AE\D2\A4\C1\00\CA\D4\A7\CB\D2\A4\C1\00\A1\D1\B9\C2\D2\C2\B9\00\B5\D8\C5\D2\A4\C1\00\BE\C4\C8\A8\D4\A1\D2\C2\B9\00\B8\D1\B9\C7\D2\A4\C1\00%a %e %b %Ey, %H:%M:%S\00%d/%m/%Ey\00+:1:-543/01/01:+*:\BE.\C8.:%EC %Ey\00\00%e %b %Ey\00\C7\D1\B9%A\B7\D5\E8 %e %B %EC %Ey, %H.%M.%S \B9.\00%H.%M.%S \B9.\00\E0\B8\AD\E0\B8\B2.\00\E0\B8\88.\00\E0\B8\AD.\00\E0\B8\9E.\00\E0\B8\9E\E0\B8\A4.\00\E0\B8\A8.\00\E0\B8\AA.\00\E0\B8\AD\E0\B8\B2\E0\B8\97\E0\B8\B4\E0\B8\95\E0\B8\A2\E0\B9\8C\00\E0\B8\88\E0\B8\B1\E0\B8\99\E0\B8\97\E0\B8\A3\E0\B9\8C\00\E0\B8\AD\E0\B8\B1\E0\B8\87\E0\B8\84\E0\B8\B2\E0\B8\A3\00\E0\B8\9E\E0\B8\B8\E0\B8\98\00\E0\B8\9E\E0\B8\A4\E0\B8\AB\E0\B8\B1\E0\B8\AA\E0\B8\9A\E0\B8\94\E0\B8\B5\00\E0\B8\A8\E0\B8\B8\E0\B8\81\E0\B8\A3\E0\B9\8C\00\E0\B9\80\E0\B8\AA\E0\B8\B2\E0\B8\A3\E0\B9\8C\00\E0\B8\A1.\E0\B8\84.\00\E0\B8\81.\E0\B8\9E.\00\E0\B8\A1\E0\B8\B5.\E0\B8\84.\00\E0\B9\80\E0\B8\A1.\E0\B8\A2.\00\E0\B8\9E.\E0\B8\84.\00\E0\B8\A1\E0\B8\B4.\E0\B8\A2.\00\E0\B8\81.\E0\B8\84.\00\E0\B8\AA.\E0\B8\84.\00\E0\B8\81.\E0\B8\A2.\00\E0\B8\95.\E0\B8\84.\00\E0\B8\9E.\E0\B8\A2.\00\E0\B8\98.\E0\B8\84.\00\E0\B8\A1\E0\B8\81\E0\B8\A3\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\81\E0\B8\B8\E0\B8\A1\E0\B8\A0\E0\B8\B2\E0\B8\9E\E0\B8\B1\E0\B8\99\E0\B8\98\E0\B9\8C\00\E0\B8\A1\E0\B8\B5\E0\B8\99\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B9\80\E0\B8\A1\E0\B8\A9\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\9E\E0\B8\A4\E0\B8\A9\E0\B8\A0\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\A1\E0\B8\B4\E0\B8\96\E0\B8\B8\E0\B8\99\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\81\E0\B8\A3\E0\B8\81\E0\B8\8E\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\AA\E0\B8\B4\E0\B8\87\E0\B8\AB\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\81\E0\B8\B1\E0\B8\99\E0\B8\A2\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\95\E0\B8\B8\E0\B8\A5\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\9E\E0\B8\A4\E0\B8\A8\E0\B8\88\E0\B8\B4\E0\B8\81\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\98\E0\B8\B1\E0\B8\99\E0\B8\A7\E0\B8\B2\E0\B8\84\E0\B8\A1\00+:1:-543/01/01:+*:\E0\B8\9E.\E0\B8\A8.:%EC %Ey\00\00\E0\B8\A7\E0\B8\B1\E0\B8\99%A\E0\B8\97\E0\B8\B5\E0\B9\88 %e %B %EC %Ey, %H.%M.%S \E0\B8\99.\00%H.%M.%S \E0\B8\99.\00\E1\88\B0\E1\8A\95\E1\89\A0\E1\89\B5\00\E1\88\B0\E1\8A\91\E1\8B\AD\00\E1\88\B0\E1\88\89\E1\88\B5\00\E1\88\93\E1\88\99\E1\88\B5\00\E1\8B\93\E1\88\AD\E1\89\A2\00\E1\89\80\E1\8B\B3\E1\88\9D\00\E1\8C\A5\E1\88\AA\00\E1\88\88\E1\8A\AB\E1\89\B2\00\E1\88\98\E1\8C\8B\E1\89\A2\00\E1\88\9A\E1\8B\AB\E1\8B\9D\00\E1\8C\8D\E1\8A\95\E1\89\A6\00\E1\88\B0\E1\8A\90\00\E1\88\93\E1\88\9D\E1\88\88\00\E1\8A\90\E1\88\93\E1\88\B0\00\E1\88\98\E1\88\B5\E1\8A\A8\00\E1\8C\A5\E1\89\85\E1\88\9D\00\E1\88\95\E1\8B\B3\E1\88\AD\00\E1\89\B3\E1\88\95\E1\88\B3\00\E1\88\88\E1\8A\AB\E1\89\B2\E1\89\B5\00\E1\88\98\E1\8C\8B\E1\89\A2\E1\89\B5\00\E1\88\9A\E1\8B\AB\E1\8B\9D\E1\8B\AB\00\E1\8C\8D\E1\8A\95\E1\89\A6\E1\89\B5\00\E1\88\98\E1\88\B5\E1\8A\A8\E1\88\A8\E1\88\9D\00\E1\8C\A5\E1\89\85\E1\88\9D\E1\89\B2\00\E1\89\B3\E1\88\95\E1\88\B3\E1\88\B5\00\E1\8A\95\E1\8C\89\E1\88\86 \E1\88\B0\E1\8B\93\E1\89\B0\00\E1\8B\B5\E1\88\95\E1\88\AD \E1\88\B0\E1\8B\93\E1\89\B5\00%A\E1\8D\A3 %b %e \E1\88\98\E1\8B\93\E1\88\8D\E1\89\B2 %l:%M:%S %Z %Y\00Lin\00Miy\00Huw\00Biy\00Linggo\00Lunes\00Miyerkoles\00Huwebes\00Biyernes\00Sabado\00Ene\00Hun\00Hul\00Nob\00Enero\00Pebrero\00Marso\00Mayo\00Hunyo\00Hulyo\00Septiyembre\00Oktubre\00Nobiyembre\00Disyembre\00Paz\00Pzt\00Sal\00\C7r\FE\00Pr\FE\00Cum\00Cts\00Pazar\00Pazartesi\00Sal\FD\00\C7ar\FEamba\00Per\FEembe\00Cuma\00Cumartesi\00Oca\00\DEub\00Nis\00Haz\00Tem\00A\F0u\00Eyl\00Eki\00Kas\00Ara\00Ocak\00\DEubat\00Nisan\00May\FDs\00Haziran\00Temmuz\00A\F0ustos\00Eyl\FCl\00Ekim\00Kas\FDm\00Aral\FDk\00\D6\D6\00\D6S\00\C3\87r\C5\9F\00Pr\C5\9F\00Sal\C4\B1\00\C3\87ar\C5\9Famba\00Per\C5\9Fembe\00\C5\9Eub\00A\C4\9Fu\00\C5\9Eubat\00May\C4\B1s\00A\C4\9Fustos\00Eyl\C3\BCl\00Kas\C4\B1m\00Aral\C4\B1k\00\C3\96\C3\96\00\C3\96S\00\D0\AF\D0\BA\D1\88\00\D0\94\D1\8B\D1\88\00\D0\A1\D0\B8\D1\88\00\D0\A7\D3\99\D1\80\D1\88\00\D0\9F\D3\99\D0\BD\D2\97\00\D2\96\D0\BE\D0\BC\00\D0\A8\D0\B8\D0\BC\00\D0\AF\D0\BA\D1\88\D3\99\D0\BC\D0\B1\D0\B5\00\D0\94\D1\8B\D1\88\D3\99\D0\BC\D0\B1\D0\B5\00\D0\A1\D0\B8\D1\88\D3\99\D0\BC\D0\B1\D0\B5\00\D0\A7\D3\99\D1\80\D1\88\D3\99\D3\99\D0\BC\D0\B1\D0\B5\00\D0\9F\D3\99\D0\BD\D2\97\D0\B5\D1\88\D0\BC\D0\B1\D0\B5\00\D2\96\D0\BE\D0\BC\D0\B3\D0\B0\00\D0\A8\D0\B8\D0\BC\D0\B1\D3\99\00\EE\C4\CC\00\EE\C5\C4\A6\CC\D1\00\F0\CF\CE\C5\C4\A6\CC\CF\CB\00\F7\A6\D7\D4\CF\D2\CF\CB\00\F3\C5\D2\C5\C4\C1\00\FE\C5\D4\D7\C5\D2\00\F0'\D1\D4\CE\C9\C3\D1\00\F3\D5\C2\CF\D4\C1\00\F3\A6\DE\00\EC\C0\D4\00\E2\C5\D2\00\EB\D7\A6\00\F4\D2\C1\00\FE\C5\D2\00\EC\C9\D0\00\F3\C5\D2\00\F7\C5\D2\00\F6\CF\D7\00\EC\C9\D3\00\E7\D2\D5\00\F3\A6\DE\C5\CE\D8\00\EC\C0\D4\C9\CA\00\E2\C5\D2\C5\DA\C5\CE\D8\00\EB\D7\A6\D4\C5\CE\D8\00\F4\D2\C1\D7\C5\CE\D8\00\FE\C5\D2\D7\C5\CE\D8\00\EC\C9\D0\C5\CE\D8\00\F3\C5\D2\D0\C5\CE\D8\00\F7\C5\D2\C5\D3\C5\CE\D8\00\F6\CF\D7\D4\C5\CE\D8\00\EC\C9\D3\D4\CF\D0\C1\C4\00\E7\D2\D5\C4\C5\CE\D8\00\D0\9D\D0\B4\D0\BB\00\D0\9D\D0\B5\D0\B4\D1\96\D0\BB\D1\8F\00\D0\9F\D0\BE\D0\BD\D0\B5\D0\B4\D1\96\D0\BB\D0\BE\D0\BA\00\D0\92\D1\96\D0\B2\D1\82\D0\BE\D1\80\D0\BE\D0\BA\00\D0\A1\D0\B5\D1\80\D0\B5\D0\B4\D0\B0\00\D0\A7\D0\B5\D1\82\D0\B2\D0\B5\D1\80\00\D0\9F'\D1\8F\D1\82\D0\BD\D0\B8\D1\86\D1\8F\00\D0\A1\D1\96\D1\87\00\D0\91\D0\B5\D1\80\00\D0\9A\D0\B2\D1\96\00\D0\A7\D0\B5\D1\80\00\D0\9B\D0\B8\D0\BF\00\D0\A1\D0\B5\D1\80\00\D0\92\D0\B5\D1\80\00\D0\96\D0\BE\D0\B2\00\D0\9B\D0\B8\D1\81\00\D0\93\D1\80\D1\83\00\D0\A1\D1\96\D1\87\D0\B5\D0\BD\D1\8C\00\D0\9B\D1\8E\D1\82\D0\B8\D0\B9\00\D0\91\D0\B5\D1\80\D0\B5\D0\B7\D0\B5\D0\BD\D1\8C\00\D0\9A\D0\B2\D1\96\D1\82\D0\B5\D0\BD\D1\8C\00\D0\A7\D0\B5\D1\80\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\9B\D0\B8\D0\BF\D0\B5\D0\BD\D1\8C\00\D0\A1\D0\B5\D1\80\D0\BF\D0\B5\D0\BD\D1\8C\00\D0\92\D0\B5\D1\80\D0\B5\D1\81\D0\B5\D0\BD\D1\8C\00\D0\96\D0\BE\D0\B2\D1\82\D0\B5\D0\BD\D1\8C\00\D0\9B\D0\B8\D1\81\D1\82\D0\BE\D0\BF\D0\B0\D0\B4\00\D0\93\D1\80\D1\83\D0\B4\D0\B5\D0\BD\D1\8C\00\D8\A7\D8\AA\D9\88\D8\A7\D8\B1\00\D9\BE\D9\8A\D8\B1\00\D9\85\D9\86\DA\AF\D9\84\00\D8\A8\D8\AF\DA\BE\00\D8\AC\D9\85\D8\B9\D8\B1\D8\A7\D8\AA\00\D9\87\D9\81\D8\AA\D9\87\00\D8\AC\D9\86\D9\88\D8\B1\D9\8A\00\D9\81\D8\B1\D9\88\D8\B1\D9\8A\00\D9\85\D8\A7\D8\B1\DA\86\00\D8\A7\D9\BE\D8\B1\D9\8A\D9\84\00\D9\85\D9\93\DB\8C\00\D8\AC\D9\88\D9\86\00\D8\AC\D9\88\D9\84\D8\A7\D9\8A\00\D8\A7\DA\AF\D8\B3\D8\AA\00\D8\B3\D8\AA\D9\85\D8\A8\D8\B1\00\D8\A7\D9\83\D8\AA\D9\88\D8\A8\D8\B1\00\D9\86\D9\88\D9\85\D8\A8\D8\B1\00\D8\AF\D8\B3\D9\85\D8\A8\D8\B1\00\D8\B4\00\D9\88 %H:%M:%S %Z \D8\AA %d %B %Y\00%P %I:%M:%S\00Yak\00Se\00Cho\00Pay\00Ju\00Sha\00yakshanba\00dushanba\00seshanba\00chorshanba\00payshanba\00juma\00shanba\00Yav\00Iyn\00Iyl\00Avg\00senyabr\00%T, %d %B, %Y yil, %A\00CN \00Th 2 \00Th 3 \00Th 4 \00Th 5 \00Th 6 \00Th 7 \00Chu\CC\89 nh\C3\A2\CC\A3t \00Th\C6\B0\CC\81 hai \00Th\C6\B0\CC\81 ba \00Th\C6\B0\CC\81 t\C6\B0 \00Th\C6\B0\CC\81 n\C4\83m \00Th\C6\B0\CC\81 s\C3\A1u \00Th\C6\B0\CC\81 ba\CC\89y \00Thg 1\00Thg 2\00Thg 3\00Thg 4\00Thg 5\00Thg 6\00Thg 7\00Thg 8\00Thg 9\00Thg 10\00Thg 11\00Thg 12\00Th\C3\A1ng m\C3\B4\CC\A3t\00Th\C3\A1ng hai\00Th\C3\A1ng ba\00Th\C3\A1ng t\C6\B0\00Th\C3\A1ng n\C4\83m\00Th\C3\A1ng s\C3\A1u\00Th\C3\A1ng ba\CC\89y\00Th\C3\A1ng t\C3\A1m\00Th\C3\A1ng ch\C3\ADn\00Th\C3\A1ng m\C6\B0\C6\A1\CC\80i\00Th\C3\A1ng m\C6\B0\C6\A1\CC\80i m\C3\B4\CC\A3t\00Th\C3\A1ng m\C6\B0\C6\A1\CC\80i hai\00%H:%M:%S %Z %A %d %b %Y\00%H:%M:%S %Z\00d\EEm\00lon\00m\E5r\00dju\00vin\00sem\00d\EEmegne\00londi\00m\E5rdi\00merkidi\00djudi\00vinrdi\00semdi\00dja\00fev\00m\E5s\00djn\00djl\00awo\00n\F4v\00djanv\EE\00fevr\EE\00m\E5ss\00avri\00djun\00djulete\00awousse\00setimbe\00oct\F4be\00n\F4vimbe\00decimbe\00Li %A %d di %B %Y %T %Z\00d\C3\AEm\00m\C3\A5r\00d\C3\AEmegne\00m\C3\A5rdi\00m\C3\A5s\00n\C3\B4v\00djanv\C3\AE\00fevr\C3\AE\00m\C3\A5ss\00oct\C3\B4be\00n\C3\B4vimbe\00\E6\E5\F0'\00\EE\E0\C8\F0'\00\E3\E9\F0'\00\EE\E9\E8'\00\E3\E0\C8\F0'\00\F4\CF\F8\D6\C7'\00\E6\E5\F0\E8\E9\F7\00\EE\E0\C8\F0\E8\E9\F7\00\E3\E9\F0\F1\E8\E9\F7\00\EE\E9\E8\D4\E0\C8\EA\00\E3\E0\C8\F0\F2\F8\F9\E8\E9\F7\00\F4\CF\F8\D6\C7\E8\E9\F7\00\E9\E0\C7\F0'\00\F4\CF\F2\E1'\00\EE\E0\C7\F8'\00\E0\C7\F4\CC\F8'\00\EE\D6\C7\00\E9\E5\F0'\00\E9\E5\EC'\00\E0\D5\E2'\00\F1\F2\F4\CC'\00\E0\C8\F7\E8'\00\F0\E0\C8\D4'\00\E3\F2\F6'\00\E9\E0\C7\F0\E5\E0\C7\F8\00\F4\CF\F2\E1\F8\E5\E0\C7\F8\00\EE\E0\C7\F8\F5\00\E0\C7\F4\CC\F8\E9\EC\00\E0\D5\E2\F1\E8\00\F1\F2\F4\CC\E8\F2\EE\E1\F2\F8\00\E0\C8\F7\E8\E0\C8\E1\F2\F8\00\F0A\C8\D4\F2\EE\E1\F2\F8\00\D7\96\D7\95\D7\A0'\00\D7\9E\D7\90\D6\B8\D7\A0'\00\D7\93\D7\99\D7\A0'\00\D7\9E\D7\99\D7\98'\00\D7\93\D7\90\D6\B8\D7\A0'\00\D7\A4\D6\BF\D7\A8\D7\B2\D6\B7'\00\D7\96\D7\95\D7\A0\D7\98\D7\99\D7\A7\00\D7\9E\D7\90\D6\B8\D7\A0\D7\98\D7\99\D7\A7\00\D7\93\D7\99\D7\A0\D7\A1\D7\98\D7\99\D7\A7\00\D7\9E\D7\99\D7\98\D7\B0\D7\90\D6\B8\D7\9A\00\D7\93\D7\90\D6\B8\D7\A0\D7\A2\D7\A8\D7\A9\D7\98\D7\99\D7\A7\00\D7\A4\D6\BF\D7\A8\D7\B2\D6\B7\D7\98\D7\99\D7\A7\00\D7\99\D7\90\D6\B7\D7\A0'\00\D7\A4\D6\BF\D7\A2\D7\91'\00\D7\9E\D7\90\D6\B7\D7\A8'\00\D7\90\D6\B7\D7\A4\D6\BC\D7\A8'\00\D7\9E\D7\B2\D6\B7\00\D7\99\D7\95\D7\A0'\00\D7\99\D7\95\D7\9C'\00\D7\90\D7\B1\D7\92'\00\D7\A1\D7\A2\D7\A4\D6\BC'\00\D7\90\D6\B8\D7\A7\D7\98'\00\D7\A0\D7\90\D6\B8\D7\B0'\00\D7\93\D7\A2\D7\A6'\00\D7\99\D7\90\D6\B7\D7\A0\D7\95\D7\90\D6\B7\D7\A8\00\D7\A4\D6\BF\D7\A2\D7\91\D7\A8\D7\95\D7\90\D6\B7\D7\A8\00\D7\9E\D7\90\D6\B7\D7\A8\D7\A5\00\D7\90\D6\B7\D7\A4\D6\BC\D7\A8\D7\99\D7\9C\00\D7\90\D7\B1\D7\92\D7\A1\D7\98\00\D7\A1\D7\A2\D7\A4\D6\BC\D7\98\D7\A2\D7\9E\D7\91\D7\A2\D7\A8\00\D7\90\D6\B8\D7\A7\D7\98\D7\90\D6\B8\D7\91\D7\A2\D7\A8\00\D7\A0A\D6\B8\D7\B0\D7\A2\D7\9E\D7\91\D7\A2\D7\A8\00\E4\B8\80\00\E4\BA\8C\00\E4\B8\89\00\E5\9B\9B\00\E4\BA\94\00\E5\85\AD\00\E6\98\9F\E6\9C\9F\E6\97\A5\00\E6\98\9F\E6\9C\9F\E4\B8\80\00\E6\98\9F\E6\9C\9F\E4\BA\8C\00\E6\98\9F\E6\9C\9F\E4\B8\89\00\E6\98\9F\E6\9C\9F\E5\9B\9B\00\E6\98\9F\E6\9C\9F\E4\BA\94\00\E6\98\9F\E6\9C\9F\E5\85\AD\00\E4\B8\80\E6\9C\88\00\E4\BA\8C\E6\9C\88\00\E4\B8\89\E6\9C\88\00\E5\9B\9B\E6\9C\88\00\E4\BA\94\E6\9C\88\00\E5\85\AD\E6\9C\88\00\E4\B8\83\E6\9C\88\00\E5\85\AB\E6\9C\88\00\E4\B9\9D\E6\9C\88\00\E5\8D\81\E6\9C\88\00\E5\8D\81\E4\B8\80\E6\9C\88\00\E5\8D\81\E4\BA\8C\E6\9C\88\00\E4\B8\8A\E5\8D\88\00\E4\B8\8B\E5\8D\88\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %A %H\E6\97\B6%M\E5\88\86%S\E7\A7\92\00%H\E6\97\B6%M\E5\88\86%S\E7\A7\92\00%p %I\E6\97\B6%M\E5\88\86%S\E7\A7\92\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %A %H:%M:%S\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %A\00%I\E6\99\82%M\E5\88\86%S\E7\A7\92 %Z\00%p %I:%M:%S\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %H\E6\97\B6%M\E5\88\86%S\E7\A7\92 %Z\00%H\E6\97\B6%M\E5\88\86%S\E7\A7\92 %Z\00\E9\80\B1\E6\97\A5\00\E9\80\B1\E4\B8\80\00\E9\80\B1\E4\BA\8C\00\E9\80\B1\E4\B8\89\00\E9\80\B1\E5\9B\9B\00\E9\80\B1\E4\BA\94\00\E9\80\B1\E5\85\AD\00\E8\A5\BF\E5\85\83%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 (%A) %H\E6\99\82%M\E5\88\86%S\E7\A7\92\00\E8\A5\BF\E5\85\83%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5\00%p %I\E6\99\82%M\E5\88\86%S\E7\A7\92\00", [1804 x i8] c"\00^[yY]\00^[nN]\00[jJ].*\00[nN].*\00^[yY].*\00^[nN].*\00^[\E6].*\00^[\E4].*\00^[\D9\86].*\00^[\D9\84].*\00^[\D9\86]\00^[\D9\84]\00\D9\86\D8\B9\D9\85\00\D9\84\D8\A7\00^(\E6|\E6\D9\E5)\00^(\E4|\E4\C7)\00\E6\D9\E5\00\E4\C7\00^(\D9\86|\D9\86\D8\B9\D9\85)\00^(\D9\84|\D9\84\D8\A7)\00^[Bb].*\00^[YyNn].*\00yox\00b\C9\99li\00^[\C4\E4Yy].*\00^[\CD\EDNn].*\00^[\D0\94\D0\B4Yy].*\00^[\D0\9D\D0\BDNn].*\00^[+1\C4\E4DdYyOo].*\00^[-0\CD\EDNnKk].*\00^[+1\D0\94\D0\B4DdYyOo].*\00^[-0\D0\9D\D0\BDNnKk].*\00[yYsS\D5\A1\D4\B1].*\00[nN\D5\B8\D5\88].*\00\D5\A1\D5\B5\D5\B8\00\D5\B8\D5\B9\00^[\E0\A6\B9\E0\A7\8D\E0\A6\AF\E0\A6\BE\E0\A6\81]\00^[\E0\A6\A8\E0\A6\BE]\00\E0\A6\B9\E0\A7\8D\E0\A6\AF\E0\A6\BE\E0\A6\81\00\E0\A6\A8\E0\A6\BE\00[oOyY].*\00^[dDyY]*.\00^[nN]*.\00[sSyY].*\00^[aAyY].*\00ano\00ne\00[iItTyY].*\00ie\00na\00^[1JjYy].*\00^[0Nn].*\00^[jJyY].*\00^[\ED\CDyY].*\00^[\EF\CFnN].*\00^[\CE\BD\CE\9DyY].*\00^[\CE\BF\CE\9FnN].*\00[yY].*\00^[yYoO].*\00^[1JjsSyYoO].*\00^[0nN].*\00Yes\00No\00^[JjYy].*\00^[sSyY].*\00^[EeNn].*\00^[bBsSyY].*\00^[eEnN].*\00[yY\D8\A8f].*\00[nN\D8\AE\D9\86o].*\00^[KkJjYy].*\00^[NnEe].*\00^[Nn].*\00^[oOjJyY1].*\00^[nN0].*\00^[oOyY].*\00^[OojJsSyY].*\00^[tTyY].*\00^[Yy\EB].*\00^[Nn\EC].*\00^[Yy\D7\9B].*\00^[Nn\D7\9C].*\00^[dDyY].*\00^[IiYy].*\00[yYsS\B3\B2].*\00[nN\E1\E0].*\00\B3\DB\E1\00\E1\E3\00[tTnN].*\00^[sSjJoOyY].*\00^([yY\EF\BD\99\EF\BC\B9]|\E3\81\AF\E3\81\84|\E3\83\8F\E3\82\A4)\00^([nN\EF\BD\8E\EF\BC\AE]|\E3\81\84\E3\81\84\E3\81\88|\E3\82\A4\E3\82\A4\E3\82\A8)\00\E3\81\AF\E3\81\84\00\E3\81\84\E3\81\84\E3\81\88\00[1yYkKxX\E1].*\00[0nNaA\C0].*\00[1yYkKxX\E1\83\AE].*\00[0nNaA\E1\83\90].*\00^[JjYyAa].*\00^[yY\EC\98\88]\00^[nN\EC\95\84\EB\8B\88\EC\98\A4]\00[eE].*\00^[TtYy].*\00^[1yY\E2\C2\E4\C4aA].*\00^[0nNkK].*\00\E2e\00k\E2ore\00^[1yY\C4\81\C4\80\C3\A4\C3\84aA].*\00\C4\81e\00k\C4\81ore\00[\B4\D4DdYy1].*\00[\BD\DDNn0].*\00\D4\D0\00\DD\D5\00[\D0\94\D0\B4DdYy1].*\00[\D0\9D\D0\BDNn0].*\00\D0\B4\D0\B0\00\D0\BD\D0\B5\00^(Yes|[yY])\00^(No|[nN])\00^[tT]\00Ya\00Tidak\00[oOsS].*\00^[SsyY].*\00^[DdYy].*\00^[\E4\C4Yy].*\00^[\EE\CENn].*\00^[\B4\D4Yy].*\00^[\BD\DDNn].*\00[\E4\C4Yy].*\00[\EE\CENn].*\00[\D0\94\D0\B4Yy].*\00[\D0\9D\D0\BDNn].*\00^[Ii].*\00[aA\E1\C1yY].*\00\E1no\00nie\00[aA\C3\A1\C3\81yY].*\00\C3\A1no\00^[YyJj].*\00[dDyY1].*\00[nN0].*\00[\B4\D4Yy].*\00[\BD\DDNn].*\00^[\E0\AE\86\E0\AE\AE\E0\AF\8D]\00^[\E0\AE\87\E0\AE\B2\E0\AF\8D\E0\AE\B2\E0\AF\88]\00\E0\AE\86\E0\AE\AE\E0\AF\8D\00\E0\AE\87\E0\AE\B2\E0\AF\8D\E0\AE\B2\E0\AF\88\00^[\E0\B0\85]\00^[\E0\B0\95]\00\E0\B0\85\E0\B0\B5\E0\B0\A8\E0\B1\81\00\E0\B0\95\E0\B0\BE\E0\B0\A6\E0\B1\81\00\C4\C1\00\CE\C5\D4\00\D0\BD\D0\B5\D1\82\00^[yY\AA]\00^[nN\C1]\00\E3\AA\E8\00\E4\C1\E8\E3\AA\E8\00^[yY\E0\B8\8A]\00^[nN\E0\B8\A1]\00\E0\B9\83\E0\B8\8A\E0\B9\88\00\E0\B9\84\E0\B8\A1\E0\B9\88\E0\B9\83\E0\B8\8A\E0\B9\88\00^[eE].*\00^[hH].*\00evet\00hay\FDr\00hay\C4\B1r\00\D3\98\D0\B9\D0\B5\00\D0\AE\D0\BA\00[\F4\D4Yy].*\00[\D0\A2\D1\82Yy].*\00[yY\D9\87\D8\A8f].*\00[nN\D9\86o].*\00\D8\A8\D9\84\D9\83\D9\84\00\D9\86\D9\87\D9\8A\DA\BA\00^[YyHh].*\00^[JjNn].*\00Ha\00Yo'q\00[oOyYaAwW].*\00Oyi\00Neni\00^[Yy\E9].*\00^[Nn\F0\F7].*\00\E9\E0\C7\00\F7\D6\EF\00^[Yy\D7\99].*\00^[Nn\D7\A0\D7\A7].*\00\D7\99\D7\90\D6\B7\00\D7\A7\D7\B2\D7\9F\00^[yY\E6\98\AF]\00^[nN\E4\B8\8D\E5\90\A6]\00", [23 x %struct.__codeset_8_bit_t.202] [%struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\01\02\03\04\04\04\04\04\04\04\04\05", [16 x i8] c"\00\00\00\00\01\02\03\04\04\04\04\04\04\04\04\05", [16 x i8] c"\00\01\02\03\04\05\06\07\08\09\0A\0B\0C\0D\0E\0F", [38 x i8] c"\00\01\01\01\01\02\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\03\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06", [16 x i8] zeroinitializer, [16 x i8] c"\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10", [38 x i8] c"\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\07\08\09\0A\0B\0C\0D\0E\0F\0F\0F\0F\10\10\10\10", [16 x i8] c"\06\07\08\07\09\0A\0B\0C\0D\0D\0D\0D\0D\0D\0D\0D", [16 x i8] c"\11\12\13\14\15\16\17\18\19\1A\1B\1C\1D\1E\1F ", [38 x i8] c"\04\01\01\01\05\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\06\07\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\11\12\13\12\02\02\14\02\02\15\16\17\18\18\18\19", [16 x i8] zeroinitializer, [16 x i8] c"!\22#$%&'()*+,-./0", [38 x i8] c"\08\09\0A\01\01\0B\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\0C\0D\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\1A\1B\1C\1D\02\1E\14\1E\18\18\18\18\1F\10 \10", [16 x i8] c"\00\0E\00\0F\00\00\00\00\00\00\00\00\00\00\00\10", [16 x i8] c"123456'789:;<=>?", [38 x i8] c"\0E\0F\0A\01\01\01\01\01\01\01\01\01\01\01\01\01\10\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\11\0D\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\02\1E\14\1E\0F\0F!\22\10\10 \10", [16 x i8] c"\00\00\00\00\00\00\00\00\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\0356'7@ABCD=>?", [38 x i8] c"\12\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00#$%&\0F\0F\0F\22\10\10\10'", [16 x i8] c"\00\00\00\00\12\13\12\13\0D\0D\0D\11\0D\0D\0D\11", [16 x i8] c"\00\01\02\03EFGHIJKLMNOP", [38 x i8] c"\13\14\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\15\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\02\0C\14(\0F\0F!\22\10\10 ", [16 x i8] c"\00\00\00\00\00\0A\00\0A\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\03QRSTUVWXYZ[\\", [38 x i8] c"\16\17\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\18\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00)*+,\0F\0F\0F\22\10\10\10\10", [16 x i8] c"\00\00\00\00\14\15\16\17\0D\0D\0D\11\0D\0D\0D\18", [16 x i8] c"\00\01\02\03]^_`@AabD=cd", [38 x i8] c"\19\1A\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\1B\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00-./0\0F\0F!\22\10\10 \10", [16 x i8] c"\00\00\00\00\19\1A\1B\1C\0D\0D\11\11\0D\0D\11\1D", [16 x i8] c"\00\01\02\03efgh@ABCD=>?", [38 x i8] c"\1C\1D\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\1E\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\001234\0F\0F\0F\22\10\10\10\10", [16 x i8] c"\00\00\00\00\1E\1F !\0D\0D\0D\11\0D\0D\0D\1D", [16 x i8] c"\00\01\02\03ijklmAnop=qr", [38 x i8] c"\1F !\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\22\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\005678\0F\0F!\22\10\10 ", [16 x i8] c"\00\00\00\00\22#\22#\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\03stuvwxyz{|}~", [38 x i8] c"#$%\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\009:;<=\0F>\22?\10@ ", [16 x i8] c"\00\00\00\00$%$&'\0D(\11'\0D(\11", [16 x i8] c"\00\01\02\03\7F\80\81\82\83A\84\85\86=\87\88", [38 x i8] c"&'(\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00AB7C\0F\0F!\22\10\10 ", [16 x i8] c"\00\00\00\00\22)\22*\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\03\89\8A\8B\8CI\8D\8E\8FM\90\91\92", [38 x i8] c")*+\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00D$\0F\0F\0F\0F\10\10\10\10E&", [16 x i8] c"\00\00\00\00+,\0D\0D\0D\0D\0D\0D\0D\0D+,", [16 x i8] c"\00\01\02\03\93\94\19\1A\1B\1C\1D\1E\1F \95\96", [38 x i8] c",\01\01\01-\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01.\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00FG\06HI\18\18J\18KL\06", [16 x i8] zeroinitializer, [16 x i8] c"\00\01\02\03\97\98\10\99\9A\9B\9C\9D\9E\9F\A0\10", [38 x i8] c"/\01\01\01\01\010\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00MN-OP\0FQRS\10\10T", [16 x i8] c"\00\00\00\00\00\00-./\0D01/\0D23", [16 x i8] c"\00\01\02\03\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC", [38 x i8] c"1\01\012\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\013\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00U\02\14V\06\06\06W\18\18\18\19", [16 x i8] zeroinitializer, [16 x i8] c"\00\01\02\03\AD&'\AE\10\10\10\AF-./0", [38 x i8] c"4\01\01\01\015\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\016\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\02\1E\14\1E\0F\0F!\22\10\10 \10", [16 x i8] c"\00\00\00\00\00\00\00\00\0D\0D\114\0D\0D\115", [16 x i8] c"\00\01\02\0356'7@A\B0\B1D=\B2\B3", [38 x i8] c"78\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\02\02\02\02X\02Y\02\10\10\10\10\0F\0F\0F\0F", [16 x i8] c"\00\00\00\006\006\0077777777", [16 x i8] c"\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\BF\C0\C1\C2\C3", [38 x i8] c"9\01\01\01:\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01;<\01=" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"Z[\\]^_`a\10\10\10\10\0F\0F\0F\0F", [16 x i8] c"89:\00;\00<\0077777777", [16 x i8] c"\C4\C5\C6\C7\C8\C9\CA\CB\BC\BD\BE\BF\C0\C1\C2\C3", [38 x i8] c">\01\01\01?\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\11\07\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\02\02\02\02b\14cd\10\10\10\10\0F\0F\0F\0F", [16 x i8] c"\00\00\00\00=>=>77777777", [16 x i8] c"\B4\B5\B6\B7\CC\CD\CE\CF\BC\BD\BE\BF\C0\C1\C2\C3", [38 x i8] c"9\01\01\01@\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01;<\01A" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\06\06\06\06I\18\18\18\18e\18fge\18h", [16 x i8] zeroinitializer, [16 x i8] c"\10\10\10\10\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB", [38 x i8] c"\01\01\01\01\01\01\01\01\01\01\01\01\01\01B\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }], [20 x i8] c"\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\01\01\01\01\01", [10 x i16] [i16 0, i16 2, i16 4, i16 6, i16 8, i16 10, i16 12, i16 14, i16 16, i16 18], [20 x i16] [i16 1, i16 21, i16 3, i16 24, i16 5, i16 27, i16 7, i16 30, i16 9, i16 33, i16 11, i16 36, i16 13, i16 39, i16 15, i16 42, i16 17, i16 45, i16 19, i16 48], [45 x i8] c"\00\00\00\01\01\01\00\02\01\00\02\02\01\00\01\01\00\00\01\03\01\01\04\01\00\05\01\01\01\00\02\06\01\01\05\00\01\07\01\01\05\01\00\02\03", [3 x i16] [i16 0, i16 3, i16 11], [15 x i16] [i16 1, i16 3, i16 17, i16 0, i16 1, i16 3, i16 10, i16 12, i16 15, i16 20, i16 23, i16 0, i16 5, i16 7, i16 25], [3894 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\03\03\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\03\03\04\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\04\04\05\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\05\04\06\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\06\05\07\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\07\05\08\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\08\06\09\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\09\06\0A\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0A\07\0B\02\02\02\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\0B\08\0C\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0C\08\0D\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0D\09\0E\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0E\09\0F\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0F\0A\10\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\10\0A\11\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\11\0B\12\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\12\0B\13\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\13\0C\14\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\14\0C\15\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\15\0D\16\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\16\0D\17\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\17\0E\18\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\18\0E\19\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\19\0F\1A\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1A\0F\1B\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1B\10\1C\02\00\00\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01\1C\10\1D\02\00\00\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01\1D\11\1E\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1E\11\1F\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1F\12 \02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02 \12!\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02!\13\22\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\22\13#\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02#\14$\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02$\14%\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02%\15&\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01&\16'\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01'\16(\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01(\17)\01\04\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01)\17*\01\05\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01*\00+\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01+\07,\02\02\03\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01,\18-\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01-\18.\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01.\19/\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01/\18-\01\01\03\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\01\03\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\011\180\01\01\03\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\012\1A1\01\04\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\013\1A2\01\05\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\014\1B3\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\015\1B4\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\016\1C5\01\01\01\00\01\01\01\01\03\01\03\02\03\01\03\01\03\02\037\18-\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\011\180\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\012\18-\01\01\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\030\18.\01\01\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\031\180\01\01\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\032\1D6\02\03\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\038\18-\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01-\18.\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01.\180\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\019\18-\01\01\01\00\01\04\04\02\01\01\01\01\01\02\01\01\01\01\01-\18.\01\01\01\00\01\04\04\02\01\01\01\01\01\02\01\01\01\01\01.\1E\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\1F7\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01: \02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\1C0\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\012\1C8\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01;!9\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04<\18-\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\010\18.\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\011\180\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\012\22\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02#:\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04=$\02\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04\02%\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\01\01\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01&;\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01>\18<\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01?'\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02(=\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01@)\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02*\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02+>\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01A,\02\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02-\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02\18-\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\011\180\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\012.?\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01B/@\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01C0\02\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\021A\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01D2B\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01E3C\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01F%\02\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\024D\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01G5E\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01H5F\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01I6G\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01J7H\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01K85\01\04\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01785\01\05\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\017\18-\01\01\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\01\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\011\180\01\01\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\0129I\03\06\01\00\01\03\03\02\02\02\02\01\01\02\02\02\02\01\01L\18-\01\01\01\00\01\01\01\02\03\02\03\01\01\02\03\02\03\01\01-\18.\01\01\01\00\01\01\01\02\03\02\03\01\01\02\03\02\03\01\01.\180\01\01\01\00\01\01\01\02\03\02\03\01\01\02\03\02\03\01\019 \02\01\03\01\00\01\01\01\02\02\02\02\01\04\02\02\02\02\01\04M\180\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\019:J\02\02\01\00\01\01\01\01\02\01\02\03\02\01\02\01\02\03\02N:K\02\02\01\00\01\01\01\01\02\01\02\03\02\01\02\01\02\03\02O\07L\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01P;M\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01QQ\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01U?5\01\01\01\00\01\03\03\02\02\02\02\01\01\02\02\02\02\01\01V@R\02\02\01\00\01\03\03\01\01\01\01\01\03\01\01\01\01\01\03WAS\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01XAT\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01YBU\02\02\01\00\01\03\03\01\01\01\01\01\03\01\01\01\01\01\03ZCV\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01[DW\01\04\01\00\01\01\01\01\02\01\02\04\05\01\02\01\02\04\05\\DW\01\05\01\00\01\01\01\01\02\01\02\04\05\01\02\01\02\04\05\\EX\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01]EY\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01^\07Z\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01_F[\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04`G\\\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04a\18-\01\03\01\00\01\01\01\01\02\01\02\01\02\01\02\01\02\01\020\18.\01\03\01\00\01\01\01\01\02\01\02\01\02\01\02\01\02\01\021\180\01\03\01\00\01\01\01\01\02\01\02\01\02\01\02\01\02\01\022H5\01\04\01\00\01\01\01\01\02\01\01\01\05\01\02\01\01\01\057H5\01\05\01\00\01\01\01\01\02\01\01\01\05\01\02\01\01\01\057H5\01\01\01\00\01\01\01\01\01\01\01\02\03\01\01\01\01\02\037I]\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01bI^\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01cJ_\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01d\18-\04\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01-\18.\04\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01.\180\04\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\019K`\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01eLa\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01fLb\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01gL(\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01(Mc\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01hMd\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01iHe\01\01\01\00\01\01\01\01\01\01\01\02\03\01\01\01\01\02\03jNf\01\04\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01kNf\01\05\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01kOg\01\03\01\00\01\01\01\02\03\02\03\03\02\02\03\02\03\03\02lPh\01\01\01\00\01\02\02\01\01\01\01\01\01\01\01\01\01\01\01mQi\01\03\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\01nQj\01\03\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\01oQk\01\03\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\01pR5\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01V\07L\02\02\03\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01PSl\02\02\01\00\01\01\01\01\03\01\03\02\03\01\03\01\03\02\03qSm\02\02\01\00\01\01\01\01\03\01\03\02\03\01\03\01\03\02\03rT\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02#n\02\02\01\00\01\01\01\01\01\01\02\01\01\01\01\01\02\01\01sUo\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01tVp\02\02\01\00\01\01\01\01\02\01\01\03\01\01\02\01\01\03\01uWq\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01vXr\01\01\01\00\01\01\01\02\01\01\01\01\01\02\01\01\01\01\01w%\02\02\02\01\00\01\01\01\01\02\01\02\03\02\01\02\01\02\03\02\02YR\02\02\01\00\01\01\01\01\01\01\01\02\03\01\01\01\01\01\01WZs\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01x", [22 x i16] [i16 0, i16 91, i16 207, i16 212, i16 219, i16 223, i16 224, i16 226, i16 231, i16 236, i16 239, i16 243, i16 246, i16 250, i16 255, i16 261, i16 264, i16 268, i16 271, i16 275, i16 280, i16 286], [407 x i16] [i16 0, i16 5, i16 25, i16 35, i16 66, i16 97, i16 128, i16 159, i16 176, i16 207, i16 238, i16 269, i16 300, i16 331, i16 362, i16 393, i16 424, i16 459, i16 490, i16 521, i16 552, i16 583, i16 601, i16 630, i16 697, i16 720, i16 747, i16 768, i16 785, i16 799, i16 816, i16 821, i16 833, i16 845, i16 859, i16 864, i16 878, i16 883, i16 888, i16 906, i16 911, i16 923, i16 928, i16 933, i16 943, i16 948, i16 953, i16 963, i16 975, i16 980, i16 992, i16 1004, i16 1016, i16 1030, i16 1047, i16 1059, i16 1073, i16 1078, i16 1111, i16 1149, i16 1161, i16 1173, i16 1190, i16 1202, i16 1211, i16 1225, i16 1244, i16 1258, i16 1270, i16 1282, i16 1326, i16 1338, i16 1350, i16 1355, i16 1376, i16 1388, i16 1402, i16 1425, i16 1457, i16 1469, i16 1483, i16 1497, i16 1535, i16 1540, i16 1559, i16 1573, i16 1585, i16 1597, i16 1613, i16 1627, i16 1632, i16 0, i16 10, i16 30, i16 40, i16 51, i16 71, i16 82, i16 102, i16 113, i16 133, i16 144, i16 164, i16 181, i16 192, i16 212, i16 223, i16 243, i16 254, i16 274, i16 285, i16 305, i16 316, i16 336, i16 347, i16 367, i16 378, i16 398, i16 409, i16 429, i16 440, i16 464, i16 475, i16 495, i16 506, i16 526, i16 537, i16 557, i16 568, i16 588, i16 606, i16 615, i16 635, i16 644, i16 658, i16 667, i16 702, i16 711, i16 725, i16 742, i16 752, i16 759, i16 773, i16 778, i16 790, i16 804, i16 826, i16 838, i16 850, i16 869, i16 893, i16 697, i16 916, i16 938, i16 958, i16 968, i16 985, i16 997, i16 1009, i16 1021, i16 1035, i16 1040, i16 1052, i16 1064, i16 1083, i16 1116, i16 1123, i16 1134, i16 1154, i16 1166, i16 1178, i16 1183, i16 1195, i16 1216, i16 1230, i16 1235, i16 1249, i16 1263, i16 1275, i16 1287, i16 1296, i16 1311, i16 1331, i16 1343, i16 1360, i16 1367, i16 1381, i16 1393, i16 1407, i16 1416, i16 1430, i16 1437, i16 1448, i16 1462, i16 1474, i16 1488, i16 1502, i16 1511, i16 1520, i16 1545, i16 1550, i16 1564, i16 1578, i16 1590, i16 1602, i16 1618, i16 1637, i16 0, i16 12, i16 14, i16 1092, i16 30, i16 0, i16 14, i16 12, i16 593, i16 638, i16 649, i16 1095, i16 0, i16 16, i16 168, i16 680, i16 0, i16 0, i16 3, i16 1, i16 18, i16 16, i16 0, i16 793, i16 1, i16 18, i16 16, i16 0, i16 793, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 793, i16 18, i16 16, i16 1, i16 20, i16 18, i16 793, i16 0, i16 16, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 793, i16 18, i16 16, i16 1, i16 20, i16 18, i16 793, i16 0, i16 16, i16 3, i16 22, i16 32, i16 45, i16 58, i16 76, i16 89, i16 107, i16 120, i16 138, i16 151, i16 171, i16 186, i16 199, i16 217, i16 230, i16 248, i16 261, i16 279, i16 292, i16 310, i16 323, i16 341, i16 354, i16 372, i16 385, i16 403, i16 416, i16 434, i16 449, i16 469, i16 482, i16 500, i16 513, i16 531, i16 544, i16 562, i16 575, i16 595, i16 610, i16 622, i16 640, i16 652, i16 662, i16 683, i16 706, i16 715, i16 728, i16 732, i16 737, i16 744, i16 755, i16 763, i16 775, i16 781, i16 795, i16 808, i16 813, i16 829, i16 841, i16 854, i16 873, i16 896, i16 900, i16 919, i16 940, i16 960, i16 971, i16 988, i16 1000, i16 1012, i16 1025, i16 1037, i16 1043, i16 1055, i16 1068, i16 1098, i16 1108, i16 1119, i16 1128, i16 1141, i16 1157, i16 1169, i16 1180, i16 1186, i16 1198, i16 1207, i16 1220, i16 1232, i16 1239, i16 1253, i16 1266, i16 1278, i16 1291, i16 1303, i16 1318, i16 1334, i16 1346, i16 1363, i16 1371, i16 1384, i16 1397, i16 1411, i16 1420, i16 1433, i16 1442, i16 1452, i16 1465, i16 1478, i16 1492, i16 1506, i16 1515, i16 1527, i16 1547, i16 1554, i16 1568, i16 1581, i16 1593, i16 1607, i16 1622, i16 1641], [8250 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\00\00\00\00\01\00\00\00\00\01\00\01\01\01\01\00\01\01\01\01\00\01\00\01\01\01\01\01\01\01\00\00\00\00\00\00\02\02\02\02\02\02\02\02\02\02\02\02\02\02\01\01\01\01\02\01\01\01\01\02\01\02\02\02\02\01\02\02\02\02\01\02\01\02\02\02\02\02\02\00\00\00\00\00\00\00\03\03\03\03\03\03\03\03\03\03\03\03\03\03\02\02\02\02\03\02\02\02\02\03\02\03\03\03\03\02\03\03\03\03\02\03\02\03\03\03\03\03\03\02\00\00\00\00\00\00\04\04\04\04\04\04\04\04\04\04\04\04\04\04\03\03\03\03\04\03\03\03\03\04\03\04\04\04\04\03\04\04\04\04\03\04\03\04\04\04\03\03\03\02\00\00\00\00\00\00\03\03\03\03\03\03\03\03\03\03\03\03\03\05\02\02\02\02\03\02\02\02\02\03\02\03\03\03\03\02\03\03\03\03\02\03\02\03\03\03\03\03\03\02\00\00\00\00\00\00\04\04\04\04\04\04\04\04\04\04\04\04\04\06\03\03\03\03\04\03\03\03\03\04\03\04\04\04\04\03\04\04\04\04\03\04\03\04\04\04\03\03\03\02\00\00\00\00\00\00\04\04\04\04\04\04\04\04\04\04\04\04\04\06\03\03\03\03\04\03\03\03\03\04\03\04\04\04\04\03\04\04\04\04\03\04\03\04\04\04\04\04\04\03\00\00\00\00\00\00\05\05\05\05\05\05\05\03\03\03\03\03\03\05\04\04\04\04\05\04\04\04\04\05\04\05\05\05\05\04\05\05\05\05\04\05\04\05\03\03\03\03\03\02\00\00\00\00\00\00\06\06\06\06\06\06\06\04\04\04\04\04\04\06\05\05\05\05\06\05\05\05\05\06\05\06\06\06\06\05\06\06\06\06\05\06\05\06\04\04\03\03\03\02\00\00\00\00\00\00\00\00\00\00\00\00\00\03\05\03\03\03\05\05\00\00\00\00\00\00\00\00\00\00\00\00\05\05\05\06\07\05\07\05\04\05\04\05\05\05\05\05\05\04\00\00\00\00\00\00\00\00\00\00\00\00\00\04\06\04\04\04\06\06\00\00\00\00\00\00\00\00\00\00\00\00\06\06\06\07\08\06\08\06\05\06\05\06\05\05\05\05\05\04\00\00\00\00\00\00\05\05\05\05\05\05\05\03\03\03\03\03\03\05\04\04\04\04\05\04\04\04\04\05\04\05\05\05\05\04\09\07\05\05\04\05\04\05\03\03\03\03\03\02\00\00\00\00\00\00\06\06\06\06\06\06\06\04\04\04\04\04\04\06\05\05\05\05\06\05\05\05\05\06\05\06\06\06\06\05\0A\08\06\06\05\06\05\06\04\04\03\03\03\02\00\00\00\00\00\00\07\07\07\07\07\07\07\05\07\05\05\05\07\07\06\06\00\00\00\06\06\06\06\01\06\07\07\07\07\08\0B\09\09\07\06\07\06\07\05\05\06\06\01\01\00\00\00\00\00\00\07\07\07\08\08\08\07\06\08\06\06\06\08\08\06\06\00\00\00\07\07\06\06\01\06\07\07\07\07\08\0B\09\09\07\06\07\06\07\05\05\06\06\01\01\00\00\00\00\00\00\08\08\08\09\09\09\08\07\09\07\07\07\09\09\07\07\06\06\07\08\08\07\07\07\07\08\08\08\08\09\0C\0A\0A\08\07\08\07\08\05\05\07\06\01\01\00\00\00\00\00\00\09\09\09\0A\0A\0A\09\08\0A\08\08\08\0A\0A\08\08\07\07\08\09\09\08\08\08\08\09\09\09\09\0A\0D\0B\0B\09\08\09\08\09\05\05\07\06\01\01\00\00\00\00\00\00\0A\0A\0A\0B\0B\0B\0A\09\0B\09\09\09\0B\0B\09\09\08\08\09\0A\0A\09\09\09\09\0A\0A\0A\0A\0B\0E\0C\0C\0A\09\0A\09\0A\05\05\08\07\06\05\00\00\00\00\00\00\0B\0B\0B\0C\0C\0C\0B\0A\0C\0A\0A\0A\0C\0C\0A\0A\09\09\0A\0B\0B\0A\0A\0A\0A\0B\0B\0B\0B\0C\0F\0D\0D\0B\0A\0B\0A\0B\05\05\08\07\06\05\00\00\00\00\00\00\0C\0C\0C\0D\0D\0D\0C\0B\0D\0B\0B\0B\0D\0D\0B\0B\0A\0A\0B\0C\0C\0B\0B\0B\0B\0C\0C\0C\0C\0D\10\0E\0E\0C\0B\0C\0B\0C\06\06\09\08\04\03\00\00\00\00\00\00\0C\0C\0C\0D\0D\0D\0C\0B\0D\0B\0B\0B\0D\0D\0C\0C\0B\0B\0B\0C\0D\0C\0C\0B\0B\0C\0C\0C\0C\0D\10\0E\0E\0C\0C\0D\0C\0D\07\07\09\08\04\03\00\00\00\00\00\00\0D\0D\0D\0E\0E\0E\0D\0C\0E\0C\0C\0C\0E\0E\0D\0D\0C\0C\0C\0D\0E\0D\0D\0C\0C\0D\0D\0D\0D\0E\11\0F\0F\0D\0D\0E\0D\0E\08\08\0A\06\01\06\00\00\00\00\00\00\0E\0E\0E\0F\0F\0F\0E\0D\0F\0D\0D\0D\0F\0F\00\00\00\00\0D\00\00\00\00\01\00\00\0E\0E\0E\00\12\10\10\00\0E\0F\0E\0F\05\05\07\06\01\01\00\00\00\00\00\00\0E\0E\0E\0F\10\0F\0E\0D\0F\0D\0D\0E\0F\0F\00\00\00\00\0D\00\00\00\00\01\00\00\0E\0E\0E\00\12\10\10\00\0E\0F\0E\0F\05\05\07\06\01\01\00\00\00\00\00\00\0F\0F\0F\10\11\10\0F\0E\10\0E\0E\0F\10\10\0E\0E\0D\0D\0E\0E\0F\0E\0E\0D\0D\0E\0F\0F\0F\0F\13\11\11\0E\0F\10\0F\10\05\05\01\01\01\01\00\00\00\00\00\00\0F\0F\0F\10\11\10\0F\0E\10\0E\0E\0F\10\10\0E\0E\0D\0D\0E\0E\0F\0E\0E\0D\0D\0E\0F\0F\10\0F\13\11\11\0E\0F\10\0F\10\05\05\01\01\01\01\00\00\00\00\00\00\10\10\10\11\12\11\10\0F\11\0F\0F\10\11\11\0F\0F\0E\0E\0F\0F\10\0F\0F\0E\0E\0F\10\10\11\10\14\12\12\0F\10\11\10\11\05\05\0B\06\00\07\00\00\00\00\00\00\10\10\11\11\13\12\10\10\12\10\10\11\12\11\0F\10\0F\0E\10\10\11\0F\10\0F\0E\0F\10\11\12\10\15\13\13\0F\11\12\10\11\05\05\0C\06\00\07\00\00\00\00\00\00\11\11\12\12\14\13\11\11\13\11\11\12\13\12\10\11\10\0F\11\11\12\10\11\10\0F\10\11\12\13\11\16\14\14\10\12\13\11\12\05\05\0D\09\01\01\00\00\00\00\00\00\12\12\13\13\15\14\12\12\14\12\12\13\14\13\11\0E\0D\10\12\0E\0F\11\12\11\0D\11\12\13\14\12\17\15\15\11\13\14\12\13\05\05\01\0A\01\01\00\00\00\00\00\00\13\12\13\13\15\14\13\13\14\12\12\13\14\14\11\0E\0D\10\12\0E\0F\11\12\11\0D\11\12\13\14\12\17\15\15\11\13\14\12\13\05\05\01\0A\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\12\00\11\00\11\00\00\00\00\01\00\12\13\14\15\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\13\00\12\00\11\00\00\00\00\01\00\12\14\14\16\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\11\00\11\00\00\00\00\01\00\12\0E\0E\15\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\12\00\11\00\00\00\00\01\00\12\0E\0E\16\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\11\00\11\00\00\00\00\01\00\12\0E\0E\15\00\16\10\10\00\00\01\00\14\05\05\01\06\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\12\00\11\00\00\00\00\01\00\12\0E\0E\16\00\16\10\10\00\00\01\00\14\05\05\01\06\01\01\00\00\00\00\00\00\15\13\15\15\17\16\15\15\16\14\14\15\16\16\14\12\13\11\13\12\13\12\13\12\10\13\15\15\17\13\18\16\16\12\14\15\13\15\05\05\01\02\01\01\00\00\00\00\00\00\16\14\16\16\18\17\16\16\17\15\15\16\17\17\15\13\14\12\14\13\14\13\14\13\11\14\16\16\18\14\19\17\17\13\15\16\14\16\05\05\01\02\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\05\01\01\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\01\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\05\0F\0B\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\10\0C\07\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\04\04\04\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\11\0D\04\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\12\0E\04\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\0F\02\00\00\00\00\00\00\00\17\0D\17\0E\19\18\17\17\18\16\16\17\18\18\00\00\00\00\0D\00\00\14\00\01\00\00\17\17\19\15\1A\18\18\14\16\17\15\17\05\05\13\0B\01\01\00\00\00\00\00\00\18\0D\17\17\1A\19\18\18\19\17\17\18\19\19\16\0E\0D\0D\15\0E\0F\0E\12\0D\0D\15\18\18\1A\0F\1B\19\19\15\17\10\16\18\05\05\01\01\01\01\00\00\00\00\00\00\18\0D\17\18\1A\19\19\18\19\17\18\18\19\1A\16\0E\0D\0D\15\0E\0F\0E\12\0D\0D\15\18\18\1A\0F\1B\19\19\15\17\10\16\18\05\05\01\01\01\01\00\00\00\00\00\00\19\15\18\19\1B\1A\1A\19\1A\18\19\19\1A\1B\17\14\15\13\16\14\15\15\15\14\12\16\19\19\1B\16\1C\1A\1A\11\13\18\12\19\05\05\01\06\01\01\00\00\00\00\00\00\19\15\18\19\1B\1A\1A\1A\1B\19\1A\1A\1A\1C\17\14\16\13\16\14\15\15\15\14\12\16\19\19\1C\16\1C\1A\1A\11\13\18\12\19\05\05\01\06\01\01\00\00\00\00\00\00\1A\16\19\1A\1C\1B\1B\1B\1C\1A\1B\1B\1B\1D\18\15\0D\14\0E\15\16\16\16\15\13\17\1A\1A\1D\17\1D\1B\1B\16\18\19\17\1A\05\05\14\10\01\01\00\00\00\00\00\00\1B\17\1A\1B\1D\1C\1C\1C\1D\1B\1C\1C\1C\1E\19\16\03\15\17\16\17\17\17\16\14\18\1B\1B\04\18\1E\1C\1C\17\19\1A\18\1B\09\09\15\11\00\09\00\00\00\00\00\00\1C\18\1B\1C\1E\1D\1D\1D\1E\1C\1D\1D\1D\1F\1A\17\17\16\18\17\18\18\18\17\15\19\1C\1C\1E\19\1F\1D\1D\18\1A\1B\19\1C\05\05\16\06\01\01\00\00\00\00\00\00\1C\18\1B\1C\1E\1D\1D\1D\1E\1C\1D\1D\1D\1F\1B\18\17\17\19\18\19\19\19\18\15\1A\1C\1C\1E\19\1F\1E\1E\18\1A\1B\19\1C\05\05\16\06\01\01\00\00\00\00\00\00\1D\19\1C\1D\1F\1E\1E\1E\1F\1D\1E\1E\1E \11\0E\0D\10\0E\0E\0F\11\12\11\0D\0E\12\13\1F\1A\1C\15\15\11\13\14\12\1D\05\05\01\12\01\01\00\00\00\00\00\00\1D\1A\1D\1D \1F\1E\1E \1E\1E\1F\1F \11\0E\0D\10\0E\0E\0F\11\12\11\0D\0E\12\13\1F\1B\1C\15\15\11\13\14\12\1D\05\05\01\12\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\01\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\01\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\0B\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\0B\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\13\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\13\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\06\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\06\01\01\00\00\00\00\00\00\1E\1B\1E\1E\22 \22 !!\22\1C\1B\18\19\1A\19\1B\1C\1A\19\16\1D\1E\1F \1D \1B\1C\1D\1A \05\05\01\09\01\01\00\00\00\00\00\00\1E\1B\1F\1F# !#!!\22\22#\1C\1B\19\19\1A\19\1C\1D\1B\1A\16\1D\1F\1F!\1E! !\1C\1D\1E\1B!\05\05\01\09\01\01\00\00\00\00\00\00\1F\1C $!!\22$\22\22##$\1D\1C\1A\1A\1B\1A\1D\1E\1C\1B\17\1E \22\1F\22!\22\1D\1E\1F\1C\22\05\05\01\01\01\01\00\00\00\00\00\00\1F\1C $!!#$#\22##$\1D\1C\1B\1A\1C\1A\1D\1F\1C\1B\17\1F #\1F#\22\22\1E\1E\1F\1C#\05\05\01\01\01\01\00\00\00\00\00\00 \1D!!%\22\22$%$#$$%\1E\00\00\1B\11\1B\1E \1D\1C\00\00!!$ $##\1F\1F \15\17\05\05\01\01\01\01\00\00\00\00\00\00 \1D!\22%\22#$%$$$$&\1E\00\00\1B\11\1C\1E \1D\1C\00\00!!$ $$#\1F\1F \15\17\05\05\01\01\01\01\00\00\00\00\00\00!\1E\22#&#$%&%%%%'\1F\1D\1C\1C\1D\1D\1F!\1E\1D\18 \22\22%!%%$ !\1D$\05\05\01\01\01\01\00\00\00\00\00\00\22\1F#$'$%&'&&&&( \1E\1D\1D\1E\1E \22\1F\1E\19!##&\22&&%!!\22\1E%\00\00\17\01\00\0A\00\00\00\00\00\00# $%(%&'('''')!\1F\1E\1E\1F\1F!# \1F\1A\22$$'#''&\22\22#\1F&\00\00\17\01\00\0A\00\00\00\00\00\00$!%&)&'()((((*\22 \1F\1F \22$! \1B#%%($(('##$ '\0A\0A\09\08\04\03\00\00\00\00\00\00\0E\0E\0E\0F\0F\0F\0E\0D\0F\0D\0D\0D\0F\0F#! !!#%\22!\1C$&&)%))($$%!(\05\05\07\06\01\01\00\00\00\00\00\00\0E\0E\0E\0F\10\0F\0E\0D\0F\0D\0D\0E\0F\0F#!! !!#%\22!\1C$''*%))($$%!(\05\05\07\06\01\01\00\00\00\00\00\00%\22&'*'()*))))+\11\0E\22!\22\22$\11#\11\0D\11((+&**)%%&\12\13\05\05\18\0B\08\0B\00\00\00\00\00\00%\22&'*'(*+))**+\11\0E#\22##%\11#\11\0D\11)),'++*%%'\12\13\05\05\18\0B\08\0B\00\00\00\00\00\00&#'(+()+,**++,$\22$#$$&&$\22\1D%**-(,,+&&(\22)\05\05\0E\00\02\01\00\00\00\00\00\00'$(),)*,-++,,-%#%$%%''%#\1E&++.)--,'')#*\05\05\0E\00\02\01\00\00\00\00\00\00(%)*-*+-.,,--.\00$\00\00\01\00\00(\00\01\00\01,,/\00\01\10\10(\00\01\00\01\05\05\0E\01\01\01\00\00\00\00\00\00\00&*+.+,./--../\00\00\00\00&&()\00\01\1F\01--0*..-)\00*$\01\0B\0B\19\14\01\01\00\00\00\00\00\00\00'+,.,,.0...//\00\00\00\00'')*\00\01 \01..0+//.*\00+%\01\0B\0B\19\14\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/1///0\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\13\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/20001\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\13\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/1///0\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\02\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/20001\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\02\01\01\00\00\00\00\00\00)(,-0--0311120&%&%))++&%!'001-110+)-&,\0C\0C\1A\15\09\0C\01\00\01\01\01\00*)-.1..1422231'&'&**,,'&\22(112.221,*.'-\05\05\1B\0F\01\01\00\00\00\00\00\00+*./2//2533342('('++--('#)223/332-+/(.\05\05\1C\0F\01\01\00\00\00\00\00\00,+\1703003644453\11\0E\0D\10\12\0E\0F\11\12\11\0D\1133404\15\15.,0)/\05\05\01\16\01\01\00\00\00\00\00\00-,/14114755564)()(,,..)($*4451543/-1*0\0D\0D\1D\17\0A\0D\00\00\00\00\00\00\11\1D025\13\115866675*)*\0F--\12/*)%+55626540.2+1\05\05\01\01\01\01\00\00\00\00\00\00.-136226977786+*+)../0+*&,66737651/3,2\05\05\1E\18\01\01\00\00\00\00\00\00.-136236978787+*+)../0+*&,6674875203-3\05\05\1E\18\01\01\00\00\00\00\00\00/.247347:89898\11\0E\0D\10\0E/0\11\12\11\0D\1177\145986314.4\05\05\1F\19\01\01\00\00\00\00\00\00//358358:8:898\11\0E\0D\10\0E01\11\12\11\0D\1188\146997314.4\05\05\1F\19\01\01\00\00\00\00\00\000\01469469;9;9:9,+,*/121,+'-9987::8425/5\05\05 \01\01\01\00\00\00\00\00\000\0156:47:;:;:::,+,*/131,+'-:998::952605\05\05 \01\01\01\00\00\00\00\00\001067;58;<;<;;;-,-+0242-,(.;::9;;:63716\05\05!\06\01\01\00\00\00\00\00\002178<69<\0C\0A=<<<.\0A\09\09135\0A\0A\0A\0A\0B<\0B\0B\0C<<;\0B\0A\0B\0A\0B\05\05!\06\01\01\00\00\00\00\00\003289=7:==<>===/-\1F,2 63.-)/=;(:=(<74827\0E\0E\09\08\04\03\00\00\00\00\00\0043)*>*+>>,,>>.\00\00.\00\01\00\004\00\01\000,<;\00\01==8\00\01\008\05\05\09\08\04\03\00\00\00\00\00\00549:?8;??=???>\00.\00\003475\1D.\001>=<\00>>>95939\05\05\22\1A\04\03\00\00\00\00\00\00649:@9;@?=@@@>\00.\00\003575\1D.\002>=<\00>?>9593:\05\05\22\1A\04\03\00\00\00\00\00\007\18:;A:AAA?\11\0E/\104\0E\0F\11\12\11\0D\1133=\12?\15\15:\13\14\12\13\05\05\01\1B\01\01\00\00\00\00\00\0085;\0F;\1C@?;\0F\1C\0F;\05\05\01\06\01\01\00\00\00\00\00\00\17\0D\17=D\18\17CC@\0ED\10A\0E\0E\0D\0D\0E\0E\0F7\0E\0D\0D\11@?\10;\1C@?<\0F\1C\0F;\05\05\01\06\01\01\00\00\00\00\00\0097<>E<>DDACECB0/\0D-\12688//\0E3A@><\17A@=6:\10<\05\05\01\0B\01\01\00\00\00\00\00\0097DEADEDB0/\0D-\12688/0\0E3B@>=\17A@>7;\10=\05\05\01\0B\01\01\00\00\00\00\00\00 8=@F>\22\18FBEFE\19\00\06\00\1B\11\00\00 \1D\1C\00\12CA?\0F@BA\158<4>\05\05\01\0A\01\01\00\00\00\00\00\00 8=@F>#\18FCEFE\1A\00\06\00\1B\11\00\00 \1D\1C\00\12CA@\0F@BA\158<4>\05\05\01\0A\01\01\00\00\00\00\00\00 8=@F>\22$GDFGF%\00\06\00\1B\11\00\00 \1D\1C\00\12DBA $CB\1F\1F \15?\05\05\01\0A\01\01\00\00\00\00\00\00 8=@F>#$GEFGF&\00\06\00\1B\11\00\00 \1D\1C\00\12DBB $CB\1F\1F \15?\05\05\01\0A\01\01\00\00\00\00\00\00:9>AG??EHFGHGC1\0E\0D\10\0E79\11\12\0D\0D\11E\01C>\16DC\009=5@\05\05\01\0B\01\01\00\00\00\00\00\00:9>AG?@FHGGHGD1\0E\0D\10\0E79\11\12\0D\0D\11E\01C>\16DC\009=5@\05\05\01\0B\01\01\00\00\00\00\00\00;:?BH@AGIHHIHE200.58:901*4FCD?AED?:>6A\05\05\07\06\01\01\00\00\00\00\00\00<;@CIABHJIIJIF311/69;:12+5GDE@BFE@;?7B\05\05\07\06\01\01\00\00\00\00\00\00=B:E\05\05\07\06\01\01\00\00\00\00\00\00>=DDKCEJLKKLKH53318;=<34-7KHIDFJID?C;F\05\05%\0B\01\01\00\00\00\00\00\00\10\10E\11LD\10KMLLML\11\11\0E\0D\10\22\22$\11\12\11\0D\11((J\1AGKJ\11\13&\12\13\05\05\0B\06\00\07\00\00\00\00\00\00\10\10E\11MD\10LMLLNL\11\11\0E\0D\10##%\11\12\11\0D\11))J\1BHLK\11\13'\12\13\05\05\0C\06\00\07\00\00\00\00\00\00?7FENE>MNMMOMB\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13J\12\17MLE\13\14\12\13\05\05\01\06\01\01\00\00\00\00\00\00?7FEOE>MNMMPMB\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13J\12\17MLE\13\14\12\13\05\05\01\06\01\01\00\00\00\00\00\00@>GFPFFNONNQNI\004\002\0D<>>45.8LI\1FE\17NMF@D>45/8LI\1FE\17NMF@D=G\0F\0F&\1D\0C\0E\00\00\00\00\00\00?7HENEGMQPMROK\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13\07\12\17\15\15EAE>H\05\05\01\1E\01\01\00\00\00\00\00\00?7HEOEGMQPMSOK\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13\07\12\17\15\15EAE>H\05\05\01\1E\01\01\00\00\00\00\00\0010I7;5HORQ@@673RONILTSKGKDN\00\00)\1F\00\00\03\00\02\00\03\02GFP\02UKPWZX\02ZVT:;87=ACC9:6?SPOJMUTLHLEO\12\12*\02\02\00\00\00\00\00\00\00GFP\02UKPWZX\02ZVT\01\01\01\01\02\01\01\01\01\02\01\02\02\02\02\01\02\02\02\02\01\02\01\02\12\12*\02\02\00\00\00\00\00\00\00H\1D!LVL+X[$T[WU;$\00\1B\00BD \00\0170TQP NVU\1FIMFP\00\00\0E\00\02\00\00\00\00\00\00\00IGQMWMQY\\YU\\XV<<\008\00CED:;8@UR\0EKOWVMJNGQ\13\13\01\0A\01\00\00\00\00\00\00\00IGQNXMQY\\ZV]XV<=\008\00CEE:;8@US\0EKPWVNKNHR\14\14\01\0A\01\00\00\00\00\00\00\00JHROYNRZ][W^YW42207:<;23,6HEFACGFA<@8C\05\05\07\06\01\01\00\00\00\00\00\00K:?BH@A[^\\X_ZX=>99>DFF;<9AVTQLQXWOLOIS\05\05\07\06\01\01\00\00\00\00\00\00L\08::\08EGG<=:BWURM\0DYXPMPJT\05\05\07\06\01\01\00\00\00\00\00\00MISPZOS]`^Za\1CY??;;?FHH=>;CXVSNRZYQNQKU\04\15+\02\00\0F\00\00\00\00\00\00NJTQ[PT^a_[b\\Z@\06\00\00\00GII\06\01\06\07\07\07\07\08\0B\09\09EO\07\06\07\05\05,\01\01\01\00\00\00\00\00\00OKUR\\QU_b`\\c][A@<<@HJJ>?\18\15IKK\0E\0D>\11[YVP\0B\\[SQTNW\00\00.\02\00\00\00\00\00\00\00\00RMXS^SWbdc^e_(CB?=AJLL?@?E\\ZWQT&%TRUO%\00\00\17\01\00\0A\00\00\00\00\00\00SNYT_TXced_f`)DC@>BKMM@A@F][XRU'&USVP&\00\00\17\01\00\0A\00\00\00\00\00\00)OZU`UYdfe`ga]&%&%))++&%!'^\\YSV]\\VTWQX\15\16/\15\0E\10\00\00\00\00\00\00)OZU`UYdfe`ga]EDA?CLNNA%!'^\\YSV]\\VTWQX\15\160 \0F\11\00\00\00\00\00\00TP[VaVZdfe`ga]FEB@DMOOBBAG^\\YSV]\\VTWQX\15\161\15\10\01\00\00\00\00\00\00)OZU`UYegfahb^&%&%))++&%!'^\\YSV]\\VTWQX\15\162!\09\12\00\00\00\00\00\00", [50 x i16] [i16 0, i16 85, i16 166, i16 258, i16 345, i16 443, i16 530, i16 621, i16 723, i16 827, i16 930, i16 1028, i16 1133, i16 1232, i16 1327, i16 1398, i16 1468, i16 1535, i16 1600, i16 1669, i16 1747, i16 1827, i16 1907, i16 1974, i16 2041, i16 2107, i16 2179, i16 2274, i16 2367, i16 2457, i16 2541, i16 2628, i16 2722, i16 2815, i16 2902, i16 2987, i16 3075, i16 3157, i16 3246, i16 3268, i16 3291, i16 3342, i16 3376, i16 3393, i16 3412, i16 3416, i16 3417, i16 3420, i16 3422, i16 3426], [3429 x i16] [i16 1, i16 273, i16 463, i16 844, i16 1101, i16 858, i16 1122, i16 1977, i16 2348, i16 2594, i16 3018, i16 3253, i16 3606, i16 4397, i16 4635, i16 4806, i16 5023, i16 5441, i16 5662, i16 5858, i16 5884, i16 6040, i16 6288, i16 6938, i16 7125, i16 7310, i16 7573, i16 7838, i16 8226, i16 8624, i16 9025, i16 9539, i16 9921, i16 10130, i16 10434, i16 10640, i16 10937, i16 11606, i16 11946, i16 12190, i16 12640, i16 13317, i16 14931, i16 15189, i16 6952, i16 16066, i16 16636, i16 17024, i16 17365, i16 17819, i16 18049, i16 18224, i16 18661, i16 18735, i16 18983, i16 19067, i16 19176, i16 19479, i16 4589, i16 20213, i16 20433, i16 20653, i16 21280, i16 21712, i16 21810, i16 22607, i16 22680, i16 22719, i16 23133, i16 23665, i16 24019, i16 24674, i16 25025, i16 25183, i16 25483, i16 25641, i16 25844, i16 26175, i16 26395, i16 26524, i16 26932, i16 27130, i16 27204, i16 27426, i16 27844, i16 5, i16 276, i16 473, i16 846, i16 1104, i16 864, i16 1133, i16 1981, i16 2352, i16 2601, i16 3021, i16 3258, i16 3616, i16 4401, i16 4639, i16 4809, i16 5026, i16 5445, i16 5666, i16 6044, i16 6295, i16 7312, i16 7577, i16 7842, i16 8229, i16 8628, i16 8755, i16 9030, i16 9544, i16 9925, i16 10134, i16 10437, i16 10644, i16 10948, i16 11608, i16 11950, i16 12197, i16 2107, i16 12746, i16 12967, i16 13321, i16 14935, i16 15199, i16 15853, i16 16070, i16 16639, i16 17027, i16 17267, i16 17823, i16 18056, i16 18234, i16 18665, i16 18739, i16 19180, i16 19307, i16 19483, i16 19792, i16 20029, i16 20217, i16 20437, i16 20660, i16 21285, i16 21815, i16 22082, i16 22611, i16 22685, i16 22723, i16 23143, i16 23669, i16 24027, i16 24687, i16 25187, i16 25490, i16 26186, i16 4589, i16 26528, i16 26936, i16 27209, i16 27434, i16 27820, i16 27854, i16 9, i16 279, i16 480, i16 848, i16 1107, i16 872, i16 1148, i16 1985, i16 2356, i16 2608, i16 3024, i16 3263, i16 3626, i16 4405, i16 4643, i16 4812, i16 5029, i16 5255, i16 5449, i16 5670, i16 5888, i16 6048, i16 6302, i16 4895, i16 7314, i16 7581, i16 7846, i16 8232, i16 8632, i16 8760, i16 9035, i16 9301, i16 9549, i16 94, i16 10138, i16 10440, i16 10648, i16 10959, i16 11610, i16 11954, i16 12204, i16 12644, i16 12750, i16 12972, i16 13325, i16 14939, i16 15209, i16 16074, i16 16408, i16 16642, i16 17030, i16 17271, i16 17368, i16 17659, i16 17827, i16 18063, i16 18244, i16 18743, i16 19070, i16 19184, i16 19487, i16 19796, i16 276, i16 20221, i16 20441, i16 20667, i16 21048, i16 21132, i16 21290, i16 21635, i16 5678, i16 21820, i16 22151, i16 22255, i16 22391, i16 22615, i16 22727, i16 23153, i16 23672, i16 24032, i16 24697, i16 25191, i16 25497, i16 26193, i16 26399, i16 26534, i16 26940, i16 27135, i16 27215, i16 27444, i16 27824, i16 27864, i16 13, i16 282, i16 493, i16 850, i16 1110, i16 881, i16 1165, i16 1989, i16 2221, i16 2360, i16 2615, i16 3027, i16 3268, i16 3639, i16 4409, i16 4647, i16 4815, i16 5032, i16 5453, i16 5674, i16 5892, i16 6052, i16 6309, i16 7129, i16 7281, i16 7316, i16 7585, i16 7850, i16 8235, i16 8636, i16 9041, i16 9308, i16 9553, i16 9929, i16 10091, i16 10142, i16 10443, i16 10652, i16 10973, i16 11612, i16 11958, i16 12211, i16 12648, i16 12754, i16 12977, i16 13329, i16 14943, i16 15219, i16 15857, i16 16078, i16 16412, i16 16645, i16 17033, i16 17275, i16 17371, i16 17831, i16 18070, i16 18257, i16 18747, i16 19073, i16 19188, i16 19339, i16 19491, i16 19686, i16 19800, i16 20032, i16 20225, i16 20445, i16 21295, i16 21716, i16 21825, i16 22088, i16 22731, i16 23166, i16 23675, i16 24037, i16 25029, i16 25195, i16 25381, i16 25504, i16 26202, i16 26402, i16 26540, i16 27220, i16 27452, i16 27828, i16 27874, i16 17, i16 285, i16 503, i16 852, i16 1113, i16 890, i16 1182, i16 1993, i16 2228, i16 2364, i16 2622, i16 3030, i16 3273, i16 3649, i16 4413, i16 4651, i16 4791, i16 4818, i16 5035, i16 5259, i16 5457, i16 5678, i16 5896, i16 6056, i16 6316, i16 6942, i16 7133, i16 7318, i16 7589, i16 7854, i16 8238, i16 8640, i16 8765, i16 8827, i16 9046, i16 9314, i16 9557, i16 9933, i16 10147, i16 10446, i16 10656, i16 10984, i16 11616, i16 11962, i16 12218, i16 12652, i16 12758, i16 13129, i16 13333, i16 14947, i16 15229, i16 15861, i16 16082, i16 16416, i16 16648, i16 17036, i16 17279, i16 17374, i16 17663, i16 17835, i16 18077, i16 18267, i16 18669, i16 18751, i16 18988, i16 19076, i16 19192, i16 19343, i16 19437, i16 19495, i16 19804, i16 20035, i16 20229, i16 20449, i16 20674, i16 21300, i16 21638, i16 16919, i16 21720, i16 21796, i16 21830, i16 22735, i16 23176, i16 23678, i16 24042, i16 24707, i16 25033, i16 25199, i16 25387, i16 25513, i16 26209, i16 26406, i16 26546, i16 26944, i16 27225, i16 27460, i16 27832, i16 27884, i16 21, i16 288, i16 513, i16 854, i16 1116, i16 897, i16 1195, i16 1997, i16 2233, i16 2368, i16 2629, i16 3033, i16 3278, i16 3674, i16 4417, i16 4655, i16 4821, i16 5038, i16 5263, i16 5461, i16 5682, i16 5900, i16 6060, i16 6323, i16 6948, i16 7137, i16 7320, i16 7593, i16 7858, i16 8241, i16 8644, i16 8770, i16 9051, i16 9562, i16 9937, i16 10152, i16 10449, i16 10660, i16 10998, i16 11619, i16 11966, i16 12225, i16 12656, i16 12762, i16 12982, i16 13337, i16 14951, i16 15239, i16 15865, i16 16086, i16 16651, i16 17039, i16 17378, i16 17839, i16 18084, i16 18280, i16 18755, i16 18993, i16 19079, i16 19196, i16 19499, i16 19691, i16 19808, i16 20038, i16 20233, i16 20453, i16 20681, i16 21305, i16 21641, i16 21724, i16 21835, i16 22735, i16 23189, i16 23682, i16 24050, i16 24717, i16 25037, i16 25203, i16 25522, i16 7946, i16 26410, i16 26552, i16 26948, i16 27231, i16 27470, i16 27836, i16 27894, i16 25, i16 291, i16 523, i16 856, i16 1119, i16 1448, i16 1454, i16 2001, i16 2372, i16 2636, i16 3036, i16 3283, i16 3690, i16 4421, i16 4659, i16 4824, i16 273, i16 5465, i16 5686, i16 5863, i16 5904, i16 6064, i16 6330, i16 6952, i16 7141, i16 7286, i16 7322, i16 7597, i16 7862, i16 8244, i16 8648, i16 8831, i16 9057, i16 9567, i16 9941, i16 10096, i16 10156, i16 10452, i16 10664, i16 11015, i16 11621, i16 11970, i16 12232, i16 12660, i16 12766, i16 13341, i16 14955, i16 15249, i16 15869, i16 16090, i16 16654, i16 16919, i16 17042, i16 17283, i16 17381, i16 17668, i16 17843, i16 18091, i16 18296, i16 18759, i16 19082, i16 19200, i16 19503, i16 20041, i16 20181, i16 20237, i16 20457, i16 20688, i16 21052, i16 21310, i16 21840, i16 22155, i16 22259, i16 22398, i16 22619, i16 22690, i16 22727, i16 23205, i16 23685, i16 24055, i16 24727, i16 25207, i16 25529, i16 26222, i16 26413, i16 26558, i16 26952, i16 10488, i16 10728, i16 27840, i16 27904, i16 29, i16 294, i16 463, i16 858, i16 1122, i16 2005, i16 2238, i16 2376, i16 2643, i16 3039, i16 3288, i16 3700, i16 4397, i16 4663, i16 4827, i16 5041, i16 5267, i16 5441, i16 5690, i16 5868, i16 5908, i16 6068, i16 6337, i16 6956, i16 7145, i16 7324, i16 7502, i16 7601, i16 7866, i16 8247, i16 8652, i16 8835, i16 9062, i16 9320, i16 9572, i16 9820, i16 9945, i16 10160, i16 10455, i16 10668, i16 11026, i16 11625, i16 11815, i16 11974, i16 12239, i16 12664, i16 12770, i16 13133, i16 13345, i16 14959, i16 15259, i16 15873, i16 16094, i16 16420, i16 16657, i16 17045, i16 17287, i16 17384, i16 17672, i16 17847, i16 18098, i16 18306, i16 18673, i16 18763, i16 18998, i16 19085, i16 19205, i16 19347, i16 19507, i16 20044, i16 20185, i16 20241, i16 20461, i16 20695, i16 21315, i16 21644, i16 21695, i16 21728, i16 21845, i16 22263, i16 22405, i16 22623, i16 22695, i16 22739, i16 23215, i16 23688, i16 24060, i16 24674, i16 25041, i16 25211, i16 25536, i16 25645, i16 25851, i16 26175, i16 26417, i16 26564, i16 26956, i16 27140, i16 27238, i16 27482, i16 27844, i16 28220, i16 36, i16 301, i16 473, i16 864, i16 1133, i16 1792, i16 1878, i16 2016, i16 2251, i16 2384, i16 2658, i16 3046, i16 3301, i16 3719, i16 4401, i16 4672, i16 4836, i16 5048, i16 5275, i16 5469, i16 5697, i16 5916, i16 6076, i16 6352, i16 6965, i16 7153, i16 7333, i16 7513, i16 7609, i16 7882, i16 8257, i16 8663, i16 8775, i16 8844, i16 9075, i16 9334, i16 9584, i16 9953, i16 10169, i16 10461, i16 10679, i16 11046, i16 11634, i16 11825, i16 11981, i16 12252, i16 12671, i16 12781, i16 12987, i16 13142, i16 13271, i16 13355, i16 14965, i16 15275, i16 15880, i16 16104, i16 16427, i16 16669, i16 17055, i16 17391, i16 17854, i16 18325, i16 18678, i16 18771, i16 19092, i16 19213, i16 19312, i16 19355, i16 19517, i16 19696, i16 19812, i16 19936, i16 20053, i16 20253, i16 20473, i16 20718, i16 21327, i16 21651, i16 21736, i16 21853, i16 22094, i16 22159, i16 22270, i16 22417, i16 22630, i16 22703, i16 22758, i16 23237, i16 23696, i16 24082, i16 24687, i16 25048, i16 25217, i16 25551, i16 25652, i16 25864, i16 26186, i16 26427, i16 26579, i16 26964, i16 27245, i16 27495, i16 27854, i16 28227, i16 43, i16 309, i16 480, i16 872, i16 1148, i16 2028, i16 2264, i16 2395, i16 2679, i16 3057, i16 3322, i16 3738, i16 4425, i16 4684, i16 4844, i16 5056, i16 5285, i16 5474, i16 5704, i16 5923, i16 6084, i16 6367, i16 6971, i16 7159, i16 7343, i16 7524, i16 7620, i16 7895, i16 8267, i16 8673, i16 8786, i16 8850, i16 9084, i16 9344, i16 9592, i16 9833, i16 9958, i16 10177, i16 10465, i16 10686, i16 11066, i16 11640, i16 11992, i16 12273, i16 12677, i16 12791, i16 12998, i16 13149, i16 13279, i16 13365, i16 14974, i16 15300, i16 15895, i16 16114, i16 16434, i16 16681, i16 17065, i16 17396, i16 17680, i16 17865, i16 18344, i16 18780, i16 19100, i16 19221, i16 19362, i16 19530, i16 19820, i16 19922, i16 19944, i16 20015, i16 20058, i16 20195, i16 20265, i16 20485, i16 20741, i16 21338, i16 21660, i16 21747, i16 21861, i16 22104, i16 22170, i16 22280, i16 22436, i16 22637, i16 22780, i16 23259, i16 23703, i16 24101, i16 24697, i16 25227, i16 25392, i16 25566, i16 25662, i16 25883, i16 26193, i16 26436, i16 26591, i16 26970, i16 27149, i16 27253, i16 27510, i16 27864, i16 28234, i16 51, i16 317, i16 493, i16 881, i16 1165, i16 2039, i16 2276, i16 2403, i16 2694, i16 3065, i16 3337, i16 3760, i16 4432, i16 4691, i16 4852, i16 5062, i16 5293, i16 5481, i16 5712, i16 5932, i16 6090, i16 6378, i16 6977, i16 7166, i16 7291, i16 7353, i16 7535, i16 7630, i16 7911, i16 8275, i16 8682, i16 8856, i16 9093, i16 9355, i16 9600, i16 9965, i16 10101, i16 10185, i16 10471, i16 10697, i16 11089, i16 11645, i16 12002, i16 12292, i16 12684, i16 12803, i16 13012, i16 13157, i16 13288, i16 13375, i16 14984, i16 15328, i16 15909, i16 16124, i16 16443, i16 16693, i16 16923, i16 17074, i16 17298, i16 17402, i16 17873, i16 18111, i16 18344, i16 18790, i16 19007, i16 19108, i16 19229, i16 19537, i16 19710, i16 19826, i16 19950, i16 20064, i16 20273, i16 20493, i16 20756, i16 21351, i16 21667, i16 21753, i16 21870, i16 22114, i16 22805, i16 23284, i16 23710, i16 24120, i16 25054, i16 25232, i16 25398, i16 25581, i16 25671, i16 25900, i16 26202, i16 26445, i16 26602, i16 26976, i16 27261, i16 27525, i16 27874, i16 28241, i16 61, i16 326, i16 503, i16 890, i16 1182, i16 2050, i16 2292, i16 2410, i16 2707, i16 3071, i16 3348, i16 3779, i16 4441, i16 4699, i16 4796, i16 4861, i16 5069, i16 5301, i16 5457, i16 5719, i16 5941, i16 6098, i16 6393, i16 6986, i16 7176, i16 7363, i16 7546, i16 7641, i16 7928, i16 8287, i16 8692, i16 8796, i16 8865, i16 9105, i16 9369, i16 9610, i16 9974, i16 10193, i16 10477, i16 10708, i16 11109, i16 11652, i16 11833, i16 12013, i16 12313, i16 12689, i16 12816, i16 13167, i16 13299, i16 13385, i16 14994, i16 15356, i16 15925, i16 16134, i16 16453, i16 16706, i16 17084, i16 17410, i16 17687, i16 17879, i16 18122, i16 18366, i16 18684, i16 18799, i16 19017, i16 19117, i16 19237, i16 19369, i16 19442, i16 19543, i16 19833, i16 19957, i16 20073, i16 20279, i16 20499, i16 20767, i16 21363, i16 21674, i16 21703, i16 21759, i16 21801, i16 21881, i16 22177, i16 22245, i16 22287, i16 22449, i16 22821, i16 23306, i16 23714, i16 24130, i16 24707, i16 25065, i16 25241, i16 25409, i16 25600, i16 25678, i16 25913, i16 26209, i16 26456, i16 26614, i16 26984, i16 27269, i16 27540, i16 27884, i16 28248, i16 70, i16 336, i16 513, i16 897, i16 1195, i16 1800, i16 1893, i16 2063, i16 2309, i16 2417, i16 2720, i16 3081, i16 3367, i16 3813, i16 4446, i16 4708, i16 4868, i16 5077, i16 5310, i16 5489, i16 5727, i16 5952, i16 6105, i16 6406, i16 6994, i16 7183, i16 7373, i16 7650, i16 7946, i16 8295, i16 8701, i16 8806, i16 8871, i16 9115, i16 9380, i16 9620, i16 9980, i16 10201, i16 10483, i16 10719, i16 11132, i16 11662, i16 11846, i16 12023, i16 12332, i16 12695, i16 12828, i16 13026, i16 13175, i16 13308, i16 13395, i16 15004, i16 15384, i16 15940, i16 16144, i16 16460, i16 16721, i16 17096, i16 17416, i16 17888, i16 18139, i16 18388, i16 18691, i16 18808, i16 19027, i16 19127, i16 19246, i16 19552, i16 19717, i16 19840, i16 19964, i16 20077, i16 20287, i16 20507, i16 20782, i16 21373, i16 21682, i16 21767, i16 21890, i16 22186, i16 22296, i16 22466, i16 22843, i16 23331, i16 23723, i16 24155, i16 24717, i16 25073, i16 25250, i16 25619, i16 25685, i16 25926, i16 26466, i16 26627, i16 26990, i16 27280, i16 27561, i16 27894, i16 28255, i16 77, i16 343, i16 523, i16 904, i16 1208, i16 1448, i16 1454, i16 2075, i16 2323, i16 2425, i16 2735, i16 3087, i16 3378, i16 3838, i16 4453, i16 4714, i16 4878, i16 5083, i16 5496, i16 5734, i16 5876, i16 5960, i16 6115, i16 6425, i16 7003, i16 7191, i16 7302, i16 7379, i16 7557, i16 7659, i16 7955, i16 8305, i16 8714, i16 8880, i16 9125, i16 9391, i16 9629, i16 9987, i16 10111, i16 10210, i16 10488, i16 10728, i16 11158, i16 11669, i16 12030, i16 12345, i16 12701, i16 12839, i16 13405, i16 15014, i16 15412, i16 15956, i16 16154, i16 16470, i16 16734, i16 16937, i16 17107, i16 17424, i16 17694, i16 17894, i16 18150, i16 18413, i16 18818, i16 19135, i16 19254, i16 19376, i16 19559, i16 20084, i16 20202, i16 20295, i16 20515, i16 20797, i16 21383, i16 21900, i16 22127, i16 22192, i16 22302, i16 22477, i16 22644, i16 22711, i16 22862, i16 23359, i16 23729, i16 24171, i16 24727, i16 25082, i16 25255, i16 25630, i16 25694, i16 26222, i16 26471, i16 26640, i16 26997, i16 27904, i16 28262, i16 86, i16 533, i16 911, i16 1220, i16 1532, i16 1624, i16 2087, i16 2432, i16 2748, i16 3094, i16 3391, i16 3857, i16 4013, i16 4460, i16 4887, i16 5090, i16 5503, i16 5741, i16 5968, i16 6016, i16 6123, i16 6440, i16 7198, i16 7387, i16 7669, i16 7964, i16 8314, i16 8518, i16 9137, i16 9641, i16 9994, i16 10217, i16 10492, i16 10735, i16 11178, i16 11432, i16 12036, i16 12356, i16 13415, i16 15021, i16 15431, i16 16164, i16 16480, i16 16746, i16 17432, i16 17901, i16 18163, i16 18432, i16 19566, i16 20092, i16 20303, i16 20523, i16 20812, i16 21394, i16 22872, i16 23381, i16 23735, i16 24187, i16 24737, i16 25089, i16 25265, i16 25701, i16 25942, i16 26231, i16 26478, i16 26654, i16 27003, i16 27289, i16 27578, i16 13487, i16 27914, i16 90, i16 543, i16 915, i16 1227, i16 1545, i16 1648, i16 2091, i16 2436, i16 2755, i16 3098, i16 3398, i16 3867, i16 4038, i16 4465, i16 4891, i16 5094, i16 5317, i16 5507, i16 6127, i16 6447, i16 7393, i16 7673, i16 7971, i16 8321, i16 8526, i16 8887, i16 8974, i16 9141, i16 9645, i16 10224, i16 10496, i16 10742, i16 11194, i16 11436, i16 12040, i16 12363, i16 12707, i16 13421, i16 15025, i16 15441, i16 16170, i16 16484, i16 16750, i16 17437, i16 17905, i16 18457, i16 18826, i16 19570, i16 20307, i16 20527, i16 20819, i16 21401, i16 21910, i16 22309, i16 22490, i16 22888, i16 23397, i16 23740, i16 24196, i16 24744, i16 25269, i16 25419, i16 25705, i16 26242, i16 26660, i16 27007, i16 27295, i16 27588, i16 13492, i16 27921, i16 94, i16 553, i16 919, i16 1234, i16 1550, i16 1657, i16 2440, i16 2762, i16 3102, i16 3405, i16 3877, i16 4069, i16 4470, i16 4895, i16 5098, i16 5322, i16 5449, i16 5972, i16 6021, i16 6131, i16 6454, i16 7399, i16 7566, i16 8328, i16 9147, i16 9404, i16 9649, i16 9842, i16 10232, i16 10500, i16 10749, i16 11213, i16 11440, i16 11574, i16 11677, i16 11854, i16 12044, i16 12370, i16 13427, i16 15029, i16 15451, i16 16176, i16 5453, i16 16754, i16 17441, i16 17909, i16 18698, i16 19144, i16 20311, i16 20531, i16 20826, i16 21406, i16 22913, i16 23422, i16 23745, i16 24205, i16 24754, i16 25709, i16 25949, i16 26253, i16 26666, i16 27011, i16 27156, i16 27301, i16 27598, i16 13497, i16 27928, i16 98, i16 563, i16 923, i16 1241, i16 1555, i16 1666, i16 2444, i16 2769, i16 3106, i16 3412, i16 3887, i16 4085, i16 4475, i16 4899, i16 5102, i16 5511, i16 5745, i16 6135, i16 6461, i16 7405, i16 7677, i16 7978, i16 8335, i16 8534, i16 8891, i16 9153, i16 9653, i16 9998, i16 10239, i16 10504, i16 10756, i16 11229, i16 11444, i16 11681, i16 11859, i16 12048, i16 12377, i16 13433, i16 15033, i16 15461, i16 16182, i16 16758, i16 17445, i16 17913, i16 18482, i16 19574, i16 20315, i16 20535, i16 20833, i16 21411, i16 21914, i16 22932, i16 23441, i16 23751, i16 24217, i16 24764, i16 25273, i16 25713, i16 25956, i16 26262, i16 26672, i16 27307, i16 27608, i16 13502, i16 27935, i16 102, i16 352, i16 573, i16 927, i16 1248, i16 1561, i16 1677, i16 2448, i16 2776, i16 3110, i16 3419, i16 3900, i16 4480, i16 4721, i16 4903, i16 5106, i16 5327, i16 5515, i16 5749, i16 6139, i16 6468, i16 2144, i16 7411, i16 7985, i16 8342, i16 8542, i16 9157, i16 9657, i16 9847, i16 10246, i16 10508, i16 10763, i16 11248, i16 11448, i16 11685, i16 11864, i16 12052, i16 12384, i16 12851, i16 13038, i16 13183, i16 13439, i16 15037, i16 15471, i16 16188, i16 16489, i16 16762, i16 17449, i16 17917, i16 18170, i16 18501, i16 18830, i16 19148, i16 20319, i16 20539, i16 20840, i16 21417, i16 22951, i16 23463, i16 23757, i16 24229, i16 24774, i16 25717, i16 26273, i16 26678, i16 27314, i16 27620, i16 13507, i16 27942, i16 106, i16 580, i16 931, i16 1255, i16 1566, i16 1686, i16 2095, i16 2338, i16 2452, i16 2783, i16 3114, i16 3426, i16 3907, i16 4485, i16 4907, i16 5110, i16 5332, i16 5519, i16 6143, i16 6475, i16 7417, i16 7681, i16 7992, i16 8349, i16 8550, i16 9162, i16 9661, i16 10002, i16 10119, i16 10254, i16 10512, i16 10770, i16 11255, i16 11452, i16 11689, i16 11869, i16 12056, i16 12391, i16 12855, i16 13043, i16 13187, i16 13445, i16 15041, i16 15481, i16 16194, i16 16492, i16 16766, i16 17117, i16 17309, i16 17454, i16 17921, i16 18177, i16 18834, i16 19039, i16 19578, i16 20096, i16 20323, i16 20543, i16 20847, i16 21422, i16 21918, i16 22958, i16 23470, i16 23762, i16 24238, i16 24784, i16 25093, i16 25277, i16 25721, i16 25963, i16 26280, i16 26482, i16 26684, i16 27015, i16 27318, i16 27627, i16 13512, i16 27949, i16 110, i16 587, i16 935, i16 1262, i16 1573, i16 1699, i16 2099, i16 2343, i16 2456, i16 2790, i16 3118, i16 3433, i16 3917, i16 4104, i16 4490, i16 4911, i16 5114, i16 5337, i16 5523, i16 6148, i16 6484, i16 7423, i16 7685, i16 7999, i16 8356, i16 8560, i16 8895, i16 9168, i16 9411, i16 9665, i16 10006, i16 10263, i16 10516, i16 10777, i16 11265, i16 11456, i16 11693, i16 11874, i16 12060, i16 12398, i16 12859, i16 13048, i16 13191, i16 13451, i16 15045, i16 15491, i16 16200, i16 16770, i16 17121, i16 17314, i16 17459, i16 17703, i16 17925, i16 18184, i16 18508, i16 18838, i16 19582, i16 20100, i16 20327, i16 20547, i16 20854, i16 21427, i16 21922, i16 22971, i16 23483, i16 23768, i16 24250, i16 24791, i16 25097, i16 25281, i16 25725, i16 25970, i16 26287, i16 26486, i16 26690, i16 27019, i16 27323, i16 27635, i16 13517, i16 27956, i16 114, i16 597, i16 939, i16 1269, i16 1578, i16 1708, i16 2103, i16 2460, i16 2797, i16 3122, i16 3440, i16 3927, i16 4120, i16 4495, i16 4915, i16 5118, i16 5527, i16 5753, i16 6153, i16 6493, i16 7010, i16 7429, i16 7689, i16 8006, i16 8363, i16 8569, i16 8899, i16 8979, i16 9173, i16 9417, i16 9669, i16 9852, i16 10010, i16 10272, i16 10520, i16 10784, i16 11281, i16 11460, i16 12064, i16 12405, i16 12711, i16 12863, i16 13053, i16 13457, i16 15049, i16 15501, i16 16206, i16 16496, i16 16774, i16 4584, i16 17929, i16 18521, i16 18702, i16 18842, i16 19384, i16 19450, i16 19586, i16 20331, i16 20551, i16 20861, i16 21432, i16 21773, i16 21926, i16 22984, i16 23496, i16 23773, i16 24259, i16 24801, i16 25285, i16 25424, i16 25729, i16 25977, i16 26298, i16 26490, i16 26696, i16 27023, i16 27328, i16 27643, i16 13522, i16 27963, i16 118, i16 607, i16 943, i16 1276, i16 1581, i16 1713, i16 2107, i16 2464, i16 2804, i16 3126, i16 3447, i16 3934, i16 4316, i16 4500, i16 4919, i16 5122, i16 5342, i16 5531, i16 5757, i16 6157, i16 6500, i16 7435, i16 7693, i16 8013, i16 8370, i16 8579, i16 9177, i16 9422, i16 5441, i16 10014, i16 10282, i16 10524, i16 10791, i16 11297, i16 11464, i16 11612, i16 12068, i16 12412, i16 13463, i16 15053, i16 15511, i16 16212, i16 16500, i16 16778, i16 17466, i16 17933, i16 18537, i16 19590, i16 20335, i16 20555, i16 20868, i16 21437, i16 21930, i16 23003, i16 23515, i16 23778, i16 24268, i16 24811, i16 25289, i16 25733, i16 25984, i16 26307, i16 26702, i16 27333, i16 27651, i16 13527, i16 27970, i16 122, i16 356, i16 617, i16 947, i16 1283, i16 1587, i16 1724, i16 2468, i16 2811, i16 3130, i16 3454, i16 3944, i16 4505, i16 4923, i16 5126, i16 5348, i16 5535, i16 5761, i16 6161, i16 6507, i16 7441, i16 7697, i16 8020, i16 8377, i16 8588, i16 9183, i16 9429, i16 9673, i16 10018, i16 10291, i16 10528, i16 10798, i16 11319, i16 11468, i16 12072, i16 12419, i16 13195, i16 13469, i16 15057, i16 15521, i16 16218, i16 16504, i16 16782, i16 17471, i16 17937, i16 18565, i16 18846, i16 19594, i16 19725, i16 20339, i16 20559, i16 20875, i16 21444, i16 21934, i16 23034, i16 23546, i16 23783, i16 24277, i16 24821, i16 25293, i16 25737, i16 25991, i16 26318, i16 26708, i16 27339, i16 27661, i16 27977, i16 126, i16 627, i16 951, i16 1290, i16 1599, i16 1746, i16 2111, i16 2472, i16 2818, i16 3134, i16 3461, i16 3966, i16 4510, i16 4927, i16 5130, i16 5539, i16 6165, i16 6514, i16 7447, i16 7701, i16 8027, i16 8384, i16 9189, i16 5904, i16 10300, i16 10532, i16 10805, i16 11341, i16 11472, i16 12076, i16 12426, i16 12867, i16 13059, i16 13475, i16 15061, i16 15531, i16 16224, i16 4589, i16 16786, i16 17478, i16 17941, i16 18587, i16 20343, i16 20563, i16 20882, i16 21449, i16 21938, i16 22138, i16 22313, i16 22497, i16 23059, i16 23571, i16 23788, i16 24286, i16 24831, i16 25101, i16 25297, i16 25741, i16 25998, i16 26331, i16 26715, i16 27027, i16 27161, i16 27345, i16 27671, i16 27984, i16 130, i16 360, i16 637, i16 955, i16 1297, i16 1612, i16 1770, i16 2115, i16 2476, i16 2825, i16 3138, i16 3468, i16 3988, i16 4515, i16 4931, i16 5134, i16 5544, i16 5765, i16 5976, i16 6169, i16 6521, i16 7202, i16 7453, i16 7705, i16 8034, i16 8391, i16 8597, i16 8903, i16 8984, i16 9194, i16 9677, i16 9857, i16 10309, i16 10536, i16 10812, i16 11360, i16 11476, i16 12080, i16 12433, i16 13481, i16 15065, i16 15541, i16 16230, i16 16508, i16 16790, i16 17485, i16 17945, i16 18615, i16 18707, i16 18850, i16 19044, i16 19598, i16 20347, i16 20567, i16 20889, i16 21455, i16 21942, i16 22317, i16 22504, i16 23081, i16 23590, i16 23793, i16 24295, i16 24841, i16 25301, i16 25745, i16 26005, i16 26342, i16 26722, i16 27351, i16 27681, i16 27994, i16 134, i16 364, i16 647, i16 959, i16 1304, i16 1532, i16 1624, i16 2119, i16 2480, i16 2832, i16 3142, i16 3475, i16 4013, i16 4520, i16 4725, i16 4935, i16 5138, i16 5548, i16 5769, i16 5980, i16 6026, i16 6173, i16 6528, i16 7015, i16 7206, i16 7459, i16 7709, i16 8041, i16 8398, i16 8907, i16 9199, i16 9436, i16 9681, i16 10022, i16 10319, i16 10540, i16 10819, i16 11178, i16 11480, i16 11579, i16 11697, i16 11879, i16 12084, i16 12440, i16 12715, i16 12871, i16 13064, i16 13199, i16 13487, i16 15069, i16 15551, i16 15971, i16 16236, i16 16512, i16 16794, i16 17125, i16 17319, i16 17490, i16 17711, i16 17949, i16 18191, i16 18432, i16 18854, i16 19388, i16 19455, i16 19602, i16 19730, i16 19846, i16 19970, i16 20104, i16 20351, i16 20571, i16 20896, i16 21056, i16 21139, i16 21460, i16 21946, i16 22321, i16 22511, i16 22872, i16 23381, i16 23798, i16 24304, i16 24737, i16 25105, i16 25305, i16 25749, i16 26012, i16 26231, i16 26729, i16 27031, i16 27166, i16 27356, i16 27689, i16 27914, i16 142, i16 373, i16 663, i16 965, i16 1315, i16 1545, i16 1648, i16 2126, i16 2489, i16 2849, i16 3149, i16 3488, i16 4038, i16 4527, i16 4732, i16 4941, i16 5144, i16 5354, i16 5555, i16 5776, i16 5987, i16 6184, i16 6549, i16 7023, i16 7212, i16 7467, i16 7719, i16 8054, i16 8407, i16 8915, i16 8989, i16 9206, i16 9695, i16 10030, i16 10333, i16 10546, i16 10830, i16 11194, i16 11489, i16 11589, i16 11704, i16 11887, i16 12093, i16 12457, i16 12723, i16 12878, i16 13072, i16 13207, i16 13492, i16 15077, i16 15573, i16 15979, i16 16243, i16 16523, i16 16801, i16 17134, i16 17329, i16 17501, i16 17957, i16 18457, i16 18711, i16 18861, i16 19395, i16 19463, i16 19610, i16 19854, i16 19978, i16 20358, i16 20578, i16 20909, i16 21063, i16 21152, i16 21476, i16 21952, i16 22328, i16 22524, i16 22888, i16 23397, i16 23805, i16 24323, i16 24851, i16 25111, i16 25310, i16 25429, i16 25756, i16 26025, i16 26242, i16 26743, i16 27038, i16 27174, i16 27365, i16 27706, i16 27921, i16 151, i16 383, i16 553, i16 972, i16 1328, i16 1550, i16 1657, i16 2133, i16 2494, i16 2858, i16 3158, i16 3505, i16 4069, i16 4537, i16 4740, i16 4948, i16 5017, i16 5149, i16 5360, i16 5474, i16 5784, i16 5993, i16 6034, i16 6196, i16 6572, i16 7032, i16 7220, i16 7399, i16 7566, i16 7727, i16 8416, i16 8726, i16 9147, i16 9404, i16 9706, i16 9862, i16 10039, i16 10232, i16 10500, i16 10749, i16 11213, i16 11497, i16 11598, i16 11712, i16 11896, i16 12102, i16 12474, i16 12732, i16 12886, i16 13497, i16 15087, i16 15601, i16 15988, i16 16250, i16 16535, i16 16809, i16 17513, i16 17723, i16 17966, i16 18698, i16 18866, i16 19152, i16 19615, i16 19864, i16 19929, i16 19988, i16 20022, i16 20113, i16 20366, i16 20586, i16 20924, i16 21071, i16 21167, i16 21488, i16 21689, i16 22913, i16 23422, i16 23816, i16 24354, i16 24864, i16 25119, i16 25762, i16 26036, i16 26253, i16 26754, i16 27044, i16 27181, i16 27375, i16 27725, i16 27928, i16 157, i16 679, i16 977, i16 1337, i16 1555, i16 1666, i16 1808, i16 1908, i16 2138, i16 2502, i16 2873, i16 3163, i16 3514, i16 4085, i16 4544, i16 4953, i16 5156, i16 5564, i16 5790, i16 6204, i16 6587, i16 7038, i16 7476, i16 7735, i16 8065, i16 8426, i16 8731, i16 8820, i16 8923, i16 9214, i16 9444, i16 9714, i16 10045, i16 10349, i16 10553, i16 10843, i16 11229, i16 11504, i16 11720, i16 11905, i16 12108, i16 12485, i16 12891, i16 13081, i16 13216, i16 13502, i16 15093, i16 15617, i16 15995, i16 16257, i16 16545, i16 16814, i16 16951, i16 17144, i16 17340, i16 17528, i16 17739, i16 17971, i16 18482, i16 19403, i16 19622, i16 19739, i16 20120, i16 20372, i16 20592, i16 20935, i16 21076, i16 21176, i16 21501, i16 21959, i16 22932, i16 23441, i16 23823, i16 24373, i16 24877, i16 25316, i16 25771, i16 26053, i16 26262, i16 26764, i16 27049, i16 27381, i16 27736, i16 27935, i16 102, i16 352, i16 573, i16 983, i16 1348, i16 1561, i16 1677, i16 1815, i16 1921, i16 1943, i16 1955, i16 2144, i16 2511, i16 2890, i16 3110, i16 3419, i16 3900, i16 4550, i16 4721, i16 4959, i16 5162, i16 5368, i16 5515, i16 5749, i16 6213, i16 6604, i16 7045, i16 7226, i16 4903, i16 7743, i16 8076, i16 8435, i16 9222, i16 9453, i16 9725, i16 9871, i16 10051, i16 10246, i16 10508, i16 10763, i16 11248, i16 11512, i16 11728, i16 11914, i16 12115, i16 12498, i16 12851, i16 13038, i16 13223, i16 13507, i16 15100, i16 15636, i16 16002, i16 16264, i16 16555, i16 16824, i16 16962, i16 17152, i16 17542, i16 17917, i16 18170, i16 18501, i16 18872, i16 19148, i16 19870, i16 20379, i16 20599, i16 20948, i16 20319, i16 20840, i16 21513, i16 11685, i16 11864, i16 22951, i16 23463, i16 23830, i16 24392, i16 24890, i16 25125, i16 25322, i16 25436, i16 25779, i16 26273, i16 26775, i16 27314, i16 27620, i16 27942, i16 163, i16 389, i16 580, i16 988, i16 1357, i16 1566, i16 1686, i16 1950, i16 1968, i16 2148, i16 2519, i16 2905, i16 3114, i16 3426, i16 3907, i16 4554, i16 4745, i16 4964, i16 5169, i16 5376, i16 5571, i16 5796, i16 6219, i16 6615, i16 7050, i16 7231, i16 7417, i16 7751, i16 8081, i16 8444, i16 8605, i16 8929, i16 9162, i16 9735, i16 9882, i16 10056, i16 10124, i16 10356, i16 10559, i16 10854, i16 11255, i16 11520, i16 11734, i16 11921, i16 12122, i16 12511, i16 12897, i16 13088, i16 13230, i16 13512, i16 15106, i16 15652, i16 16271, i16 16562, i16 16832, i16 16972, i16 17158, i16 17349, i16 17550, i16 17977, i16 18206, i16 106, i16 18878, i16 19049, i16 19410, i16 19631, i16 19875, i16 19994, i16 20128, i16 20383, i16 20603, i16 20955, i16 21083, i16 21189, i16 21525, i16 11689, i16 11869, i16 21777, i16 21965, i16 17921, i16 18177, i16 22958, i16 23470, i16 23838, i16 24414, i16 24784, i16 25130, i16 25328, i16 25787, i16 26068, i16 26280, i16 26787, i16 27054, i16 27949, i16 168, i16 395, i16 587, i16 994, i16 1368, i16 1573, i16 1699, i16 1820, i16 1930, i16 2153, i16 2527, i16 2920, i16 3118, i16 3433, i16 4104, i16 4563, i16 4750, i16 4969, i16 5176, i16 5384, i16 5579, i16 5801, i16 6227, i16 6630, i16 7056, i16 7237, i16 7423, i16 7758, i16 8090, i16 8452, i16 8614, i16 8934, i16 9168, i16 9411, i16 9746, i16 10061, i16 10368, i16 10564, i16 10863, i16 11265, i16 11527, i16 11741, i16 11929, i16 12130, i16 12526, i16 12902, i16 13095, i16 13237, i16 13517, i16 15113, i16 15671, i16 16278, i16 16571, i16 16841, i16 17165, i16 17357, i16 17557, i16 17755, i16 17982, i16 18215, i16 18508, i16 18720, i16 18884, i16 19415, i16 19640, i16 19881, i16 20000, i16 20134, i16 20388, i16 20608, i16 20964, i16 21088, i16 21198, i16 21537, i16 11693, i16 11874, i16 21783, i16 21973, i16 17925, i16 18184, i16 22971, i16 23483, i16 23847, i16 24439, i16 24791, i16 25136, i16 25336, i16 25795, i16 26083, i16 26287, i16 26799, i16 27059, i16 27956, i16 173, i16 401, i16 692, i16 1000, i16 1379, i16 1578, i16 1708, i16 2158, i16 2534, i16 2933, i16 3169, i16 3525, i16 4120, i16 4570, i16 4976, i16 5185, i16 5590, i16 5806, i16 6235, i16 6645, i16 7062, i16 7243, i16 7766, i16 8006, i16 8461, i16 8942, i16 8998, i16 9238, i16 9470, i16 9758, i16 9894, i16 10067, i16 10272, i16 10569, i16 10872, i16 11281, i16 11534, i16 11748, i16 12138, i16 12541, i16 12738, i16 12907, i16 13102, i16 13522, i16 15120, i16 15690, i16 16007, i16 16285, i16 16585, i16 16848, i16 16982, i16 17172, i16 17568, i16 17767, i16 17987, i16 18521, i16 18702, i16 18890, i16 19158, i16 19422, i16 19472, i16 19647, i16 19749, i16 20393, i16 20613, i16 20973, i16 21093, i16 21207, i16 21550, i16 21789, i16 21980, i16 22651, i16 22984, i16 23496, i16 23855, i16 24461, i16 24801, i16 25343, i16 25443, i16 25802, i16 26096, i16 26298, i16 26812, i16 27067, i16 27389, i16 27751, i16 27963, i16 180, i16 705, i16 1006, i16 1390, i16 1581, i16 1713, i16 2165, i16 2542, i16 2948, i16 3176, i16 3538, i16 4136, i16 4316, i16 4575, i16 4755, i16 4982, i16 5191, i16 5394, i16 5595, i16 5813, i16 6245, i16 6664, i16 7071, i16 7250, i16 7774, i16 8101, i16 8468, i16 8947, i16 9245, i16 9478, i16 9770, i16 10074, i16 10382, i16 10576, i16 10885, i16 11297, i16 11542, i16 11758, i16 12147, i16 12558, i16 13244, i16 13527, i16 15128, i16 15712, i16 16017, i16 16292, i16 16593, i16 16858, i16 16994, i16 17180, i16 17583, i16 17994, i16 18537, i16 18897, i16 19656, i16 19759, i16 19887, i16 20140, i16 20401, i16 20621, i16 20988, i16 21100, i16 21220, i16 21561, i16 21986, i16 22199, i16 22336, i16 22539, i16 23003, i16 23515, i16 23863, i16 24483, i16 24903, i16 25142, i16 25351, i16 25452, i16 25810, i16 26111, i16 26307, i16 26494, i16 26824, i16 27075, i16 27395, i16 27762, i16 27970, i16 190, i16 410, i16 724, i16 1013, i16 1403, i16 1587, i16 1724, i16 2174, i16 2551, i16 2965, i16 3186, i16 3557, i16 4170, i16 3944, i16 4584, i16 4765, i16 4991, i16 5196, i16 5402, i16 5600, i16 5823, i16 6257, i16 6687, i16 7081, i16 7483, i16 7781, i16 8116, i16 8476, i16 8957, i16 9258, i16 9493, i16 9783, i16 10083, i16 10394, i16 10583, i16 10898, i16 11319, i16 11548, i16 11769, i16 11937, i16 12158, i16 12579, i16 12913, i16 13110, i16 13254, i16 13469, i16 15139, i16 15743, i16 16028, i16 16299, i16 16606, i16 16866, i16 17191, i16 17590, i16 17784, i16 18004, i16 18565, i16 18907, i16 19665, i16 19769, i16 19896, i16 20151, i16 20410, i16 20630, i16 21005, i16 21109, i16 21237, i16 21574, i16 21994, i16 22209, i16 22346, i16 22558, i16 23034, i16 23546, i16 23871, i16 24505, i16 24919, i16 25154, i16 25357, i16 25819, i16 26128, i16 26318, i16 26837, i16 27083, i16 27187, i16 27406, i16 27783, i16 27977, i16 198, i16 743, i16 1020, i16 1416, i16 1599, i16 1746, i16 2182, i16 2562, i16 2986, i16 3195, i16 3574, i16 4195, i16 3966, i16 4589, i16 4773, i16 4999, i16 5202, i16 5607, i16 5831, i16 6267, i16 6706, i16 7089, i16 7261, i16 7787, i16 8127, i16 8484, i16 9275, i16 9511, i16 9794, i16 10408, i16 10591, i16 10913, i16 11341, i16 11557, i16 12169, i16 12600, i16 12921, i16 13119, i16 13475, i16 15149, i16 15771, i16 16037, i16 16306, i16 16616, i16 16873, i16 17003, i16 17200, i16 17606, i16 17801, i16 18013, i16 18587, i16 18915, i16 19904, i16 20161, i16 20418, i16 20638, i16 21020, i16 21117, i16 21252, i16 21587, i16 22000, i16 22143, i16 22217, i16 22354, i16 22573, i16 23059, i16 23571, i16 23878, i16 24524, i16 24831, i16 25162, i16 25362, i16 25459, i16 25827, i16 26143, i16 26331, i16 26853, i16 27090, i16 27195, i16 27416, i16 27802, i16 27984, i16 207, i16 418, i16 759, i16 1027, i16 1429, i16 1612, i16 1770, i16 2189, i16 2571, i16 3003, i16 3203, i16 3589, i16 4220, i16 3988, i16 4592, i16 4782, i16 5008, i16 5211, i16 5616, i16 5840, i16 5998, i16 6277, i16 6725, i16 7098, i16 7271, i16 7492, i16 7794, i16 8140, i16 8494, i16 8737, i16 8965, i16 9004, i16 9288, i16 9525, i16 9807, i16 9907, i16 10419, i16 10598, i16 10926, i16 11360, i16 11565, i16 12179, i16 12619, i16 13262, i16 13481, i16 15158, i16 15796, i16 16047, i16 16316, i16 16623, i16 16883, i16 17014, i16 17210, i16 17623, i16 18021, i16 18615, i16 18726, i16 18924, i16 19056, i16 19428, i16 19677, i16 19782, i16 19913, i16 20006, i16 20171, i16 20425, i16 20645, i16 21033, i16 21124, i16 21265, i16 21600, i16 22007, i16 22226, i16 22363, i16 22590, i16 23081, i16 23590, i16 23888, i16 24552, i16 24932, i16 25173, i16 25368, i16 25466, i16 25836, i16 26160, i16 26342, i16 26876, i16 27098, i16 27994, i16 216, i16 427, i16 775, i16 1034, i16 1442, i16 0, i16 4248, i16 4347, i16 4598, i16 8153, i16 11382, i16 12930, i16 13532, i16 16326, i16 18637, i16 22015, i16 23107, i16 23615, i16 24945, i16 25375, i16 25474, i16 28004, i16 219, i16 430, i16 785, i16 1036, i16 1445, i16 0, i16 4261, i16 4375, i16 4598, i16 8160, i16 11410, i16 12933, i16 13539, i16 16333, i16 18649, i16 22018, i16 23120, i16 23643, i16 24965, i16 25378, i16 25479, i16 26353, i16 28011, i16 222, i16 433, i16 798, i16 1038, i16 1465, i16 1827, i16 2196, i16 2579, i16 3212, i16 4277, i16 4600, i16 5220, i16 5410, i16 5624, i16 6746, i16 6764, i16 6779, i16 6847, i16 6890, i16 7107, i16 7802, i16 8167, i16 8503, i16 10604, i16 11777, i16 12936, i16 13546, i16 15168, i16 15824, i16 16340, i16 16892, i16 17220, i16 17631, i16 18030, i16 18934, i16 19263, i16 19321, i16 21612, i16 22021, i16 22372, i16 22659, i16 23896, i16 24985, i16 26356, i16 26502, i16 26896, i16 27106, i16 28018, i16 28088, i16 28166, i16 28269, i16 243, i16 451, i16 832, i16 1063, i16 1492, i16 1853, i16 2212, i16 3226, i16 4304, i16 5653, i16 5849, i16 6007, i16 6807, i16 6876, i16 6917, i16 6929, i16 7817, i16 8199, i16 8746, i16 9014, i16 12955, i16 13578, i16 16057, i16 16351, i16 16910, i16 17257, i16 18966, i16 19167, i16 19285, i16 22045, i16 22235, i16 23919, i16 28116, i16 28312, i16 252, i16 460, i16 841, i16 1073, i16 1504, i16 1867, i16 3235, i16 6821, i16 11806, i16 13594, i16 16369, i16 19295, i16 22054, i16 26920, i16 28053, i16 28135, i16 28201, i16 261, i16 0, i16 1086, i16 1517, i16 1867, i16 3244, i16 4623, i16 5246, i16 6833, i16 8208, i16 10628, i16 11806, i16 13610, i16 16387, i16 22067, i16 26383, i16 28069, i16 28154, i16 28334, i16 0, i16 13628, i16 23929, i16 24574, i16 0, i16 0, i16 14004, i16 23961, i16 0, i16 14018, i16 0, i16 14901, i16 23971, i16 24610, i16 0, i16 24007, i16 24660], [372 x i8] c"\00\00\00\00\01\01\00\00\02\02\00\00\03\03\00\00\04\04\00\00\05\05\01\01\06\06\02\02\07\07\01\01\08\08\00\00\09\09\00\00\0A\0A\00\03\0A\0A\03\03\0B\0B\00\00\0C\0C\00\00\0D\0D\00\00\0E\0E\00\00\0F\0F\04\04\10\10\05\05\11\01\00\00\12\11\00\00\13\01\00\00\14\02\06\06\15\01\07\07\16\12\00\00\17\02\00\00\18\13\00\00\19\14\00\00\1A\01\00\00\1B\02\00\00\1C\15\00\00\00\00\08\08\1D\02\00\00\1E\02\00\00\1D\16\00\00\1F\17\00\00 \18\00\00!\19\00\00\1D\1A\00\00\22\1B\00\00#\02\00\00$\02\00\00%\02\00\00&\1C\00\00'\1D\00\00(\02\00\00)\02\00\00*\1E\09\09\1A\1F\00\00+\02\00\00, \0A\0A-!\00\00.\22\00\00/\1A\00\000#\00\001\01\00\002\1A\00\003$\0B\0B4$\0C\0C5%\0D\0D6&\0E\0E7'\00\00\00(\0F\0F8\01\00\002\02\00\009\02\00\00:\02\00\00;)\00\00<*\00\00=+\00\00>,\00\00\1D-\00\00?\01\10\10@\01\11\10A\1A\00\00B.\00\00C/\00\00D0\12\11E1\13\12;)\14\13\0C\0C\0E\14F2\15\15G3\16\16H4\17\17H4\17\18\0C\0C\18\19I+\00\00J,\00\00K5\19\1AL6\1A\1BM\01\1B\1CN7\1C\1DO8\1D\1EP9\00\00", [4 x i16] [i16 0, i16 81, i16 139, i16 169], [200 x i16] [i16 1, i16 13, i16 27, i16 43, i16 57, i16 73, i16 97, i16 121, i16 114, i16 85, i16 145, i16 173, i16 193, i16 217, i16 247, i16 281, i16 317, i16 369, i16 378, i16 396, i16 405, i16 422, i16 439, i16 459, i16 469, i16 489, i16 513, i16 520, i16 530, i16 561, i16 571, i16 591, i16 613, i16 635, i16 665, i16 687, i16 697, i16 711, i16 721, i16 739, i16 759, i16 769, i16 779, i16 815, i16 829, i16 908, i16 932, i16 960, i16 972, i16 996, i16 1003, i16 1013, i16 1048, i16 1078, i16 1106, i16 1142, i16 1180, i16 1189, i16 1199, i16 1209, i16 1229, i16 1249, i16 1267, i16 1297, i16 1316, i16 1334, i16 1344, i16 1362, i16 1380, i16 1438, i16 1492, i16 1517, i16 1564, i16 1610, i16 1619, i16 1630, i16 1670, i16 1698, i16 1720, i16 1747, i16 1783, i16 7, i16 20, i16 35, i16 50, i16 65, i16 79, i16 106, i16 134, i16 118, i16 92, i16 153, i16 183, i16 205, i16 233, i16 265, i16 294, i16 336, i16 388, i16 450, i16 479, i16 501, i16 545, i16 581, i16 603, i16 623, i16 647, i16 657, i16 678, i16 730, i16 749, i16 790, i16 806, i16 857, i16 921, i16 947, i16 981, i16 1028, i16 1090, i16 1120, i16 1154, i16 1165, i16 1219, i16 1239, i16 1258, i16 1278, i16 1289, i16 1354, i16 1371, i16 1393, i16 1445, i16 1499, i16 1526, i16 1572, i16 1642, i16 1680, i16 1729, i16 1757, i16 1792, i16 0, i16 85, i16 114, i16 167, i16 305, i16 346, i16 415, i16 433, i16 554, i16 799, i16 891, i16 1039, i16 1067, i16 1100, i16 1132, i16 1171, i16 1308, i16 1329, i16 1412, i16 1452, i16 1478, i16 1506, i16 1535, i16 1580, i16 1598, i16 1652, i16 1690, i16 1711, i16 1739, i16 1769, i16 0, i16 92, i16 118, i16 163, i16 312, i16 362, i16 419, i16 436, i16 558, i16 803, i16 898, i16 1042, i16 1071, i16 1103, i16 1137, i16 1174, i16 1312, i16 1422, i16 1465, i16 1481, i16 1485, i16 1510, i16 1545, i16 1585, i16 1591, i16 1605, i16 1661, i16 1693, i16 1715, i16 1743, i16 1776], [91141 x i16] [i16 7, i16 145, i16 4, i16 5352, i16 1159, i16 2868, i16 9485, i16 12504, i16 4, i16 38, i16 5, i16 3, i16 256, i16 576, i16 22623, i16 1154, i16 1623, i16 0, i16 19968, i16 20901, i16 1708, i16 747, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4, i16 10, i16 5, i16 4, i16 128, i16 480, i16 2038, i16 1693, i16 1947, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1154, i16 1154, i16 1986, i16 2440, i16 0, i16 4, i16 2, i16 5, i16 4, i16 128, i16 480, i16 1886, i16 1885, i16 1886, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2847, i16 2847, i16 2178, i16 5976, i16 0, i16 2, i16 0, i16 5, i16 6, i16 32, i16 64, i16 213, i16 212, i16 213, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4732, i16 4732, i16 0, i16 9496, i16 0, i16 4, i16 5, i16 5, i16 5, i16 64, i16 96, i16 409, i16 408, i16 409, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4944, i16 4944, i16 2193, i16 9976, i16 0, i16 1, i16 0, i16 4, i16 5, i16 128, i16 816, i16 13169, i16 13168, i16 13169, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5352, i16 5352, i16 0, i16 10360, i16 0, i16 1, i16 0, i16 5, i16 2, i16 512, i16 6176, i16 17172, i16 5999, i16 17172, i16 0, i16 -21504, i16 11171, i16 1111, i16 3125, i16 5352, i16 5352, i16 0, i16 -32216, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 5, i16 114, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 55, i16 246, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 92, i16 0, i16 0, i16 1155, i16 274, i16 372, i16 0, i16 1155, i16 300, i16 0, i16 0, i16 1155, i16 300, i16 0, i16 0, i16 1155, i16 331, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 390, i16 0, i16 0, i16 1155, i16 448, i16 498, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 547, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 730, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 798, i16 648, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 875, i16 786, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 916, i16 0, i16 0, i16 1155, i16 1075, i16 924, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 1433, i16 1502, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 1721, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 1780, i16 1634, i16 0, i16 1155, i16 1915, i16 498, i16 0, i16 1155, i16 2012, i16 1844, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 2049, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 2235, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 300, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 1, i16 680, i16 2383, i16 1986, i16 1, i16 680, i16 2880, i16 1986, i16 1, i16 680, i16 3369, i16 1986, i16 1, i16 680, i16 3871, i16 1986, i16 1, i16 680, i16 4373, i16 2016, i16 1, i16 680, i16 4869, i16 1986, i16 1, i16 680, i16 5366, i16 1986, i16 1, i16 680, i16 5868, i16 2016, i16 1, i16 680, i16 6369, i16 1986, i16 1, i16 680, i16 6952, i16 2058, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7976, i16 1986, i16 1, i16 680, i16 5868, i16 2016, i16 1, i16 680, i16 2880, i16 1986, i16 1, i16 680, i16 8476, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 8967, i16 2124, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 8967, i16 2124, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7976, i16 1986, i16 1, i16 680, i16 5868, i16 2016, i16 1, i16 680, i16 7478, i16 1986, i16 2, i16 1338, i16 3, i16 2178, i16 2, i16 1338, i16 3, i16 2178, i16 3, i16 212, i16 3, i16 0, i16 4, i16 6, i16 3, i16 2193, i16 5, i16 13168, i16 3, i16 0, i16 6, i16 17171, i16 3, i16 0, i16 1, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 21, i16 22, i16 23, i16 24, i16 30, i16 40, i16 44, i16 45, i16 50, i16 51, i16 52, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 120, i16 125, i16 126, i16 135, i16 137, i16 144, i16 157, i16 159, i16 160, i16 162, i16 167, i16 170, i16 172, i16 175, i16 177, i16 182, i16 183, i16 186, i16 188, i16 193, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 236, i16 237, i16 240, i16 241, i16 242, i16 243, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 458, i16 459, i16 460, i16 461, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 640, i16 651, i16 652, i16 654, i16 655, i16 669, i16 683, i16 685, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 698, i16 708, i16 711, i16 719, i16 720, i16 722, i16 724, i16 725, i16 726, i16 727, i16 728, i16 731, i16 732, i16 733, i16 735, i16 742, i16 743, i16 744, i16 745, i16 746, i16 747, i16 748, i16 756, i16 757, i16 758, i16 759, i16 761, i16 764, i16 765, i16 766, i16 767, i16 768, i16 774, i16 775, i16 776, i16 779, i16 780, i16 783, i16 784, i16 785, i16 786, i16 793, i16 798, i16 805, i16 806, i16 808, i16 810, i16 811, i16 812, i16 816, i16 818, i16 819, i16 820, i16 821, i16 826, i16 827, i16 828, i16 830, i16 831, i16 832, i16 833, i16 840, i16 843, i16 844, i16 859, i16 860, i16 862, i16 863, i16 877, i16 891, i16 893, i16 895, i16 896, i16 897, i16 898, i16 899, i16 900, i16 901, i16 902, i16 903, i16 906, i16 916, i16 919, i16 927, i16 928, i16 930, i16 932, i16 933, i16 934, i16 935, i16 936, i16 939, i16 940, i16 942, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 955, i16 963, i16 964, i16 965, i16 967, i16 970, i16 971, i16 972, i16 973, i16 979, i16 980, i16 981, i16 984, i16 985, i16 988, i16 989, i16 990, i16 991, i16 998, i16 1002, i16 1009, i16 1010, i16 1012, i16 1014, i16 1015, i16 1016, i16 1020, i16 1022, i16 1023, i16 1024, i16 1025, i16 1030, i16 1031, i16 1032, i16 1034, i16 1035, i16 1036, i16 1037, i16 1044, i16 1047, i16 1108, i16 1109, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 1117, i16 1118, i16 1119, i16 1120, i16 1121, i16 1122, i16 1123, i16 1124, i16 1125, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1132, i16 1133, i16 1134, i16 1139, i16 1140, i16 1141, i16 1142, i16 1143, i16 1147, i16 1157, i16 1158, i16 1183, i16 1184, i16 1185, i16 1186, i16 1187, i16 1188, i16 1189, i16 1190, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1206, i16 1207, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1235, i16 1236, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1242, i16 1243, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 1251, i16 1252, i16 1253, i16 1254, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1263, i16 1264, i16 1265, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1318, i16 1319, i16 1348, i16 1349, i16 1350, i16 1351, i16 1356, i16 1357, i16 1358, i16 1359, i16 1368, i16 1369, i16 1371, i16 1372, i16 1373, i16 1374, i16 1377, i16 1378, i16 1379, i16 1380, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 1390, i16 1391, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1400, i16 1403, i16 1404, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1418, i16 1419, i16 1420, i16 1421, i16 1422, i16 1423, i16 1424, i16 1425, i16 1426, i16 1427, i16 1428, i16 1429, i16 1430, i16 1431, i16 1432, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1440, i16 1441, i16 1442, i16 1443, i16 1444, i16 1445, i16 1446, i16 1447, i16 1448, i16 1449, i16 1450, i16 1451, i16 1452, i16 1453, i16 1454, i16 1455, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1481, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1507, i16 1513, i16 1520, i16 1521, i16 1523, i16 1529, i16 1530, i16 1531, i16 1533, i16 1536, i16 1537, i16 1540, i16 1542, i16 1543, i16 1544, i16 1545, i16 1548, i16 1551, i16 1552, i16 1554, i16 1555, i16 1558, i16 1559, i16 1560, i16 1562, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1571, i16 1578, i16 1584, i16 1585, i16 1587, i16 1593, i16 1596, i16 1598, i16 1601, i16 1602, i16 1605, i16 1607, i16 1608, i16 1609, i16 1610, i16 1613, i16 1616, i16 1617, i16 1619, i16 1620, i16 1623, i16 1624, i16 1625, i16 1627, i16 1629, i16 1630, i16 2, i16 25, i16 26, i16 27, i16 28, i16 29, i16 41, i16 48, i16 49, i16 132, i16 141, i16 151, i16 153, i16 155, i16 169, i16 185, i16 199, i16 200, i16 235, i16 299, i16 300, i16 301, i16 302, i16 304, i16 305, i16 307, i16 308, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 317, i16 318, i16 319, i16 320, i16 321, i16 323, i16 324, i16 325, i16 326, i16 328, i16 329, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 339, i16 341, i16 342, i16 344, i16 345, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 641, i16 642, i16 643, i16 644, i16 648, i16 649, i16 650, i16 653, i16 662, i16 663, i16 664, i16 665, i16 666, i16 682, i16 684, i16 705, i16 706, i16 707, i16 714, i16 715, i16 716, i16 721, i16 723, i16 730, i16 755, i16 760, i16 771, i16 772, i16 773, i16 794, i16 795, i16 796, i16 797, i16 807, i16 814, i16 815, i16 817, i16 823, i16 841, i16 842, i16 849, i16 850, i16 851, i16 852, i16 856, i16 857, i16 858, i16 861, i16 870, i16 871, i16 872, i16 873, i16 874, i16 890, i16 892, i16 913, i16 914, i16 915, i16 922, i16 923, i16 924, i16 929, i16 931, i16 938, i16 962, i16 966, i16 976, i16 977, i16 978, i16 999, i16 1000, i16 1001, i16 1011, i16 1018, i16 1019, i16 1021, i16 1027, i16 1045, i16 1046, i16 1048, i16 1084, i16 1085, i16 1086, i16 1087, i16 1088, i16 1089, i16 1090, i16 1091, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1099, i16 1100, i16 1101, i16 1102, i16 1103, i16 1104, i16 1105, i16 1106, i16 1107, i16 1110, i16 1137, i16 1138, i16 1144, i16 1145, i16 1146, i16 1154, i16 1155, i16 1156, i16 1159, i16 1175, i16 1176, i16 1177, i16 1178, i16 1179, i16 1180, i16 1181, i16 1182, i16 1191, i16 1192, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1310, i16 1311, i16 1312, i16 1313, i16 1314, i16 1315, i16 1316, i16 1317, i16 1346, i16 1347, i16 1352, i16 1353, i16 1354, i16 1355, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 1367, i16 1511, i16 1517, i16 1518, i16 1519, i16 1522, i16 1527, i16 1528, i16 1535, i16 1539, i16 1546, i16 1547, i16 1550, i16 1557, i16 1561, i16 1563, i16 1575, i16 1577, i16 1582, i16 1583, i16 1586, i16 1591, i16 1592, i16 1595, i16 1600, i16 1604, i16 1611, i16 1612, i16 1615, i16 1622, i16 1626, i16 1628, i16 4, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 322, i16 323, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 446, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 460, i16 464, i16 468, i16 472, i16 474, i16 475, i16 477, i16 478, i16 480, i16 482, i16 483, i16 485, i16 486, i16 488, i16 489, i16 490, i16 493, i16 494, i16 496, i16 497, i16 498, i16 501, i16 502, i16 504, i16 505, i16 506, i16 508, i16 509, i16 511, i16 512, i16 513, i16 514, i16 515, i16 516, i16 517, i16 518, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 714, i16 715, i16 716, i16 717, i16 718, i16 719, i16 720, i16 721, i16 722, i16 723, i16 724, i16 725, i16 726, i16 727, i16 728, i16 729, i16 730, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 737, i16 738, i16 739, i16 740, i16 741, i16 742, i16 743, i16 744, i16 745, i16 746, i16 747, i16 748, i16 749, i16 750, i16 751, i16 752, i16 755, i16 783, i16 784, i16 785, i16 788, i16 789, i16 790, i16 791, i16 792, i16 793, i16 794, i16 795, i16 796, i16 797, i16 798, i16 799, i16 800, i16 801, i16 802, i16 803, i16 804, i16 805, i16 806, i16 807, i16 808, i16 809, i16 810, i16 811, i16 812, i16 813, i16 814, i16 815, i16 816, i16 817, i16 818, i16 819, i16 824, i16 825, i16 828, i16 829, i16 830, i16 831, i16 832, i16 833, i16 834, i16 835, i16 840, i16 841, i16 842, i16 851, i16 852, i16 853, i16 854, i16 855, i16 856, i16 857, i16 858, i16 859, i16 860, i16 861, i16 864, i16 865, i16 868, i16 869, i16 870, i16 871, i16 874, i16 875, i16 876, i16 881, i16 882, i16 883, i16 884, i16 885, i16 886, i16 887, i16 888, i16 891, i16 892, i16 893, i16 894, i16 895, i16 896, i16 897, i16 904, i16 905, i16 908, i16 909, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 918, i16 919, i16 920, i16 921, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 929, i16 930, i16 931, i16 932, i16 933, i16 934, i16 935, i16 936, i16 937, i16 938, i16 939, i16 940, i16 941, i16 942, i16 943, i16 948, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 964, i16 965, i16 966, i16 967, i16 968, i16 969, i16 970, i16 971, i16 972, i16 977, i16 978, i16 979, i16 980, i16 981, i16 982, i16 983, i16 984, i16 987, i16 988, i16 989, i16 992, i16 993, i16 994, i16 995, i16 996, i16 997, i16 998, i16 999, i16 1000, i16 1001, i16 1002, i16 1003, i16 1004, i16 1005, i16 1006, i16 1007, i16 1008, i16 1012, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1023, i16 1024, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 1039, i16 1040, i16 1041, i16 1042, i16 1045, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 1058, i16 1059, i16 1060, i16 1061, i16 1062, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1072, i16 1073, i16 1074, i16 1078, i16 1079, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1103, i16 1104, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1112, i16 1113, i16 1116, i16 1117, i16 1120, i16 1121, i16 1122, i16 1123, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1138, i16 1139, i16 1140, i16 1143, i16 1144, i16 1145, i16 1146, i16 1147, i16 1148, i16 1149, i16 1150, i16 1151, i16 1152, i16 1153, i16 1154, i16 1155, i16 1156, i16 1157, i16 1158, i16 1159, i16 1160, i16 1161, i16 1162, i16 1163, i16 1164, i16 1169, i16 1170, i16 1173, i16 1174, i16 1175, i16 1176, i16 1177, i16 1178, i16 1183, i16 1184, i16 1185, i16 1186, i16 1189, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1244, i16 1245, i16 1246, i16 1249, i16 1250, i16 1251, i16 1252, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1265, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1281, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1298, i16 1299, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1314, i16 1315, i16 1318, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1328, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 1336, i16 1337, i16 1338, i16 1339, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 1360, i16 1369, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1404, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1427, i16 1428, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1481, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 1528, i16 1529, i16 1530, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 1539, i16 1540, i16 1541, i16 1542, i16 1543, i16 1544, i16 1545, i16 1546, i16 1547, i16 1548, i16 1549, i16 1550, i16 1551, i16 1552, i16 1553, i16 1554, i16 1555, i16 1556, i16 1557, i16 1558, i16 1559, i16 1560, i16 1561, i16 1562, i16 1563, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 1595, i16 1596, i16 1597, i16 1598, i16 1599, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1611, i16 1612, i16 1613, i16 1614, i16 1615, i16 1616, i16 1617, i16 1618, i16 1619, i16 1620, i16 1621, i16 1622, i16 1623, i16 1624, i16 1625, i16 1626, i16 1627, i16 1628, i16 1629, i16 1630, i16 1631, i16 1632, i16 1633, i16 1634, i16 1635, i16 1636, i16 1637, i16 1638, i16 1639, i16 1640, i16 1641, i16 1642, i16 1643, i16 1644, i16 1645, i16 1646, i16 1647, i16 1648, i16 1649, i16 1650, i16 1651, i16 1652, i16 1653, i16 1654, i16 1655, i16 1656, i16 1657, i16 1658, i16 1659, i16 1660, i16 1661, i16 1662, i16 1663, i16 1664, i16 1665, i16 1666, i16 1667, i16 1668, i16 1669, i16 1670, i16 1671, i16 1672, i16 1673, i16 1674, i16 1675, i16 1676, i16 1677, i16 1678, i16 1679, i16 1680, i16 1681, i16 1682, i16 1683, i16 1684, i16 1685, i16 1686, i16 1687, i16 1688, i16 1689, i16 1690, i16 1691, i16 1692, i16 1693, i16 1694, i16 1695, i16 1696, i16 1697, i16 1698, i16 1699, i16 1700, i16 1701, i16 1702, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 1717, i16 1718, i16 1719, i16 1720, i16 1721, i16 1722, i16 1723, i16 1724, i16 1725, i16 1726, i16 1727, i16 1728, i16 1729, i16 1730, i16 1731, i16 1732, i16 1733, i16 1734, i16 1735, i16 1736, i16 1737, i16 1738, i16 1739, i16 1740, i16 1741, i16 1742, i16 1743, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 1749, i16 1750, i16 1751, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 1758, i16 1759, i16 1760, i16 1761, i16 1762, i16 1763, i16 1764, i16 1765, i16 1766, i16 1767, i16 1768, i16 1769, i16 1770, i16 1771, i16 1772, i16 1773, i16 1774, i16 1775, i16 1776, i16 1777, i16 1778, i16 1779, i16 1780, i16 1781, i16 1782, i16 1783, i16 1784, i16 1785, i16 1786, i16 1787, i16 1788, i16 1789, i16 1790, i16 1791, i16 1792, i16 1793, i16 1794, i16 1795, i16 1796, i16 1797, i16 1798, i16 1799, i16 1800, i16 1801, i16 1802, i16 1803, i16 1804, i16 1805, i16 1806, i16 1807, i16 1808, i16 1809, i16 1810, i16 1811, i16 1812, i16 1813, i16 1814, i16 1815, i16 1816, i16 1817, i16 1818, i16 1819, i16 1820, i16 1821, i16 1822, i16 1823, i16 1824, i16 1825, i16 1826, i16 1827, i16 1828, i16 1829, i16 1830, i16 1831, i16 1832, i16 1833, i16 1834, i16 1835, i16 1836, i16 1837, i16 1838, i16 1839, i16 1840, i16 1841, i16 1842, i16 1843, i16 1844, i16 1845, i16 1846, i16 1847, i16 1848, i16 1849, i16 1850, i16 1851, i16 1852, i16 1853, i16 1854, i16 1855, i16 1856, i16 1857, i16 1858, i16 1859, i16 1860, i16 1861, i16 1862, i16 1863, i16 1864, i16 1865, i16 1866, i16 1867, i16 1868, i16 1869, i16 1870, i16 1871, i16 1872, i16 1873, i16 1874, i16 1875, i16 1876, i16 1877, i16 1878, i16 1879, i16 1880, i16 1881, i16 1882, i16 1883, i16 1884, i16 1885, i16 1886, i16 1887, i16 1888, i16 1889, i16 1890, i16 1891, i16 1892, i16 1893, i16 1894, i16 1895, i16 1896, i16 1897, i16 1898, i16 1899, i16 1900, i16 1901, i16 1902, i16 1903, i16 1904, i16 1905, i16 1906, i16 1907, i16 1908, i16 1909, i16 1910, i16 1911, i16 1912, i16 1913, i16 1914, i16 1915, i16 1916, i16 1917, i16 1918, i16 1919, i16 1920, i16 1921, i16 1922, i16 1923, i16 1924, i16 1925, i16 1926, i16 1927, i16 1928, i16 1929, i16 1930, i16 1931, i16 1932, i16 1933, i16 1934, i16 1935, i16 1936, i16 1937, i16 1938, i16 1939, i16 1940, i16 1941, i16 1942, i16 1943, i16 1944, i16 1945, i16 1946, i16 1947, i16 1948, i16 1949, i16 1950, i16 1951, i16 1952, i16 1953, i16 1954, i16 1955, i16 1956, i16 1957, i16 1958, i16 1959, i16 1960, i16 1961, i16 1962, i16 1963, i16 1964, i16 1965, i16 1966, i16 1967, i16 1968, i16 1969, i16 1970, i16 1971, i16 1972, i16 1973, i16 1974, i16 1975, i16 1976, i16 1977, i16 1978, i16 1979, i16 1980, i16 1981, i16 1982, i16 1983, i16 1984, i16 1985, i16 1986, i16 1987, i16 1988, i16 1989, i16 1990, i16 1991, i16 1992, i16 1993, i16 1994, i16 1995, i16 1996, i16 1997, i16 1998, i16 1999, i16 2000, i16 2001, i16 2002, i16 2003, i16 2004, i16 2005, i16 2006, i16 2007, i16 2008, i16 2009, i16 2010, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 458, i16 459, i16 460, i16 461, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 482, i16 483, i16 484, i16 485, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 494, i16 495, i16 496, i16 497, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 520, i16 521, i16 522, i16 523, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 714, i16 715, i16 716, i16 717, i16 718, i16 719, i16 720, i16 721, i16 722, i16 723, i16 724, i16 725, i16 726, i16 727, i16 728, i16 729, i16 730, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 737, i16 738, i16 739, i16 740, i16 741, i16 742, i16 743, i16 744, i16 745, i16 746, i16 747, i16 748, i16 749, i16 750, i16 751, i16 752, i16 753, i16 754, i16 755, i16 756, i16 757, i16 758, i16 759, i16 760, i16 761, i16 762, i16 763, i16 764, i16 765, i16 766, i16 767, i16 768, i16 769, i16 770, i16 771, i16 772, i16 773, i16 774, i16 775, i16 776, i16 777, i16 778, i16 779, i16 780, i16 781, i16 782, i16 783, i16 784, i16 785, i16 786, i16 787, i16 788, i16 789, i16 790, i16 791, i16 792, i16 793, i16 794, i16 795, i16 796, i16 797, i16 798, i16 799, i16 800, i16 801, i16 802, i16 803, i16 804, i16 805, i16 806, i16 807, i16 808, i16 809, i16 810, i16 811, i16 812, i16 813, i16 814, i16 815, i16 816, i16 817, i16 818, i16 819, i16 820, i16 821, i16 822, i16 823, i16 824, i16 825, i16 826, i16 827, i16 828, i16 829, i16 830, i16 831, i16 832, i16 833, i16 834, i16 835, i16 836, i16 837, i16 838, i16 839, i16 840, i16 841, i16 842, i16 843, i16 844, i16 845, i16 846, i16 847, i16 848, i16 849, i16 850, i16 851, i16 852, i16 853, i16 854, i16 855, i16 856, i16 857, i16 858, i16 859, i16 860, i16 861, i16 862, i16 863, i16 864, i16 865, i16 866, i16 867, i16 868, i16 869, i16 870, i16 871, i16 872, i16 873, i16 874, i16 875, i16 876, i16 877, i16 878, i16 879, i16 880, i16 881, i16 882, i16 883, i16 884, i16 885, i16 886, i16 887, i16 888, i16 889, i16 890, i16 891, i16 892, i16 893, i16 894, i16 895, i16 896, i16 897, i16 898, i16 899, i16 900, i16 901, i16 902, i16 903, i16 904, i16 905, i16 906, i16 907, i16 908, i16 909, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 918, i16 919, i16 920, i16 921, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 929, i16 930, i16 931, i16 932, i16 933, i16 934, i16 935, i16 936, i16 937, i16 938, i16 939, i16 940, i16 941, i16 942, i16 943, i16 944, i16 945, i16 946, i16 947, i16 948, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 964, i16 965, i16 966, i16 967, i16 968, i16 969, i16 970, i16 971, i16 972, i16 973, i16 974, i16 975, i16 976, i16 977, i16 978, i16 979, i16 980, i16 981, i16 982, i16 983, i16 984, i16 985, i16 986, i16 987, i16 988, i16 989, i16 990, i16 991, i16 992, i16 993, i16 994, i16 995, i16 996, i16 997, i16 998, i16 999, i16 1000, i16 1001, i16 1002, i16 1003, i16 1004, i16 1005, i16 1006, i16 1007, i16 1008, i16 1009, i16 1010, i16 1011, i16 1012, i16 1013, i16 1014, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1023, i16 1024, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 1037, i16 1038, i16 1039, i16 1040, i16 1041, i16 1042, i16 1043, i16 1044, i16 1045, i16 1046, i16 1047, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 1058, i16 1059, i16 1060, i16 1061, i16 1062, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1070, i16 1071, i16 1072, i16 1073, i16 1074, i16 1075, i16 1076, i16 1077, i16 1078, i16 1079, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1088, i16 1089, i16 1090, i16 1091, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1099, i16 1100, i16 1101, i16 1102, i16 1103, i16 1104, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 1117, i16 1118, i16 1119, i16 1120, i16 1121, i16 1122, i16 1123, i16 1124, i16 1125, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1132, i16 1133, i16 1134, i16 1135, i16 1136, i16 1137, i16 1138, i16 1139, i16 1140, i16 1141, i16 1142, i16 1143, i16 1144, i16 1145, i16 1146, i16 1147, i16 1148, i16 1149, i16 1150, i16 1151, i16 1152, i16 1153, i16 1154, i16 1155, i16 1156, i16 1157, i16 1158, i16 1159, i16 1160, i16 1161, i16 1162, i16 1163, i16 1164, i16 1165, i16 1166, i16 1167, i16 1168, i16 1169, i16 1170, i16 1171, i16 1172, i16 1173, i16 1174, i16 1175, i16 1176, i16 1177, i16 1178, i16 1179, i16 1180, i16 1181, i16 1182, i16 1183, i16 1184, i16 1185, i16 1186, i16 1187, i16 1188, i16 1189, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1206, i16 1207, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1235, i16 1236, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1242, i16 1243, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 1251, i16 1252, i16 1253, i16 1254, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1263, i16 1264, i16 1265, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1281, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1314, i16 1315, i16 1316, i16 1317, i16 1318, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 1367, i16 1368, i16 1369, i16 1370, i16 1371, i16 1372, i16 1373, i16 1374, i16 1375, i16 1376, i16 1377, i16 1378, i16 1379, i16 1380, i16 1381, i16 1382, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 1390, i16 1391, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1400, i16 1401, i16 1402, i16 1403, i16 1404, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1418, i16 1419, i16 1420, i16 1421, i16 1422, i16 1423, i16 1424, i16 1425, i16 1426, i16 1427, i16 1428, i16 1429, i16 1430, i16 1431, i16 1432, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1440, i16 1441, i16 1442, i16 1443, i16 1444, i16 1445, i16 1446, i16 1447, i16 1448, i16 1449, i16 1450, i16 1451, i16 1452, i16 1453, i16 1454, i16 1455, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1481, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 1528, i16 1529, i16 1530, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 1539, i16 1540, i16 1541, i16 1542, i16 1543, i16 1544, i16 1545, i16 1546, i16 1547, i16 1548, i16 1549, i16 1550, i16 1551, i16 1552, i16 1553, i16 1554, i16 1555, i16 1556, i16 1557, i16 1558, i16 1559, i16 1560, i16 1561, i16 1562, i16 1563, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 1595, i16 1596, i16 1597, i16 1598, i16 1599, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1611, i16 1612, i16 1613, i16 1614, i16 1615, i16 1616, i16 1617, i16 1618, i16 1619, i16 1620, i16 1621, i16 1622, i16 1623, i16 1624, i16 1625, i16 1626, i16 1627, i16 1628, i16 1629, i16 1630, i16 1631, i16 1632, i16 1633, i16 1634, i16 1635, i16 1636, i16 1637, i16 1638, i16 1639, i16 1640, i16 1641, i16 1642, i16 1643, i16 1644, i16 1645, i16 1646, i16 1647, i16 1648, i16 1649, i16 1650, i16 1651, i16 1652, i16 1653, i16 1654, i16 1655, i16 1656, i16 1657, i16 1658, i16 1659, i16 1660, i16 1661, i16 1662, i16 1663, i16 1664, i16 1665, i16 1666, i16 1667, i16 1668, i16 1669, i16 1670, i16 1671, i16 1672, i16 1673, i16 1674, i16 1675, i16 1676, i16 1677, i16 1678, i16 1679, i16 1680, i16 1681, i16 1682, i16 1683, i16 1684, i16 1685, i16 1686, i16 1687, i16 1688, i16 1689, i16 1690, i16 1691, i16 1692, i16 1693, i16 1694, i16 1695, i16 1696, i16 1697, i16 1698, i16 1699, i16 1700, i16 1701, i16 1702, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 1717, i16 1718, i16 1719, i16 1720, i16 1721, i16 1722, i16 1723, i16 1724, i16 1725, i16 1726, i16 1727, i16 1728, i16 1729, i16 1730, i16 1731, i16 1732, i16 1733, i16 1734, i16 1735, i16 1736, i16 1737, i16 1738, i16 1739, i16 1740, i16 1741, i16 1742, i16 1743, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 1749, i16 1750, i16 1751, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 1758, i16 1759, i16 1760, i16 1761, i16 1762, i16 1763, i16 1764, i16 1765, i16 1766, i16 1767, i16 1768, i16 1769, i16 1770, i16 1771, i16 1772, i16 1773, i16 1774, i16 1775, i16 1776, i16 1777, i16 1778, i16 1779, i16 1780, i16 1781, i16 1782, i16 1783, i16 1784, i16 1785, i16 1786, i16 1787, i16 1788, i16 1789, i16 1790, i16 1791, i16 1792, i16 1793, i16 1794, i16 1795, i16 1796, i16 1797, i16 1798, i16 1799, i16 1800, i16 1801, i16 1802, i16 1803, i16 1804, i16 1805, i16 1806, i16 1807, i16 1808, i16 1809, i16 1810, i16 1811, i16 1812, i16 1813, i16 1814, i16 1815, i16 1816, i16 1817, i16 1818, i16 1819, i16 1820, i16 1821, i16 1822, i16 1823, i16 1824, i16 1825, i16 1826, i16 1827, i16 1828, i16 1829, i16 1830, i16 1831, i16 1832, i16 1833, i16 1834, i16 1835, i16 1836, i16 1837, i16 1838, i16 1839, i16 1840, i16 1841, i16 1842, i16 1843, i16 1844, i16 1845, i16 1846, i16 1847, i16 1848, i16 1849, i16 1850, i16 1851, i16 1852, i16 1853, i16 1854, i16 1855, i16 1856, i16 1857, i16 1858, i16 1859, i16 1860, i16 1861, i16 1862, i16 1863, i16 1864, i16 1865, i16 1866, i16 1867, i16 1868, i16 1869, i16 1870, i16 1871, i16 1872, i16 1873, i16 1874, i16 1875, i16 1876, i16 1877, i16 1878, i16 1879, i16 1880, i16 1881, i16 1882, i16 1883, i16 1884, i16 1885, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 2, i16 1, i16 3, i16 1, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 457, i16 458, i16 459, i16 460, i16 461, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 482, i16 483, i16 484, i16 485, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 494, i16 495, i16 496, i16 497, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 520, i16 521, i16 522, i16 523, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 714, i16 715, i16 716, i16 717, i16 718, i16 719, i16 720, i16 721, i16 722, i16 723, i16 724, i16 725, i16 726, i16 727, i16 728, i16 729, i16 730, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 737, i16 738, i16 739, i16 740, i16 741, i16 742, i16 743, i16 744, i16 745, i16 746, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1188, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1206, i16 1207, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1235, i16 1236, i16 1187, i16 1190, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1242, i16 1243, i16 1187, i16 1190, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 1251, i16 1252, i16 1187, i16 1190, i16 1253, i16 1254, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1263, i16 1264, i16 1265, i16 1187, i16 1190, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1281, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1187, i16 1190, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1187, i16 1314, i16 1315, i16 1316, i16 1317, i16 1318, i16 1190, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1329, i16 1330, i16 1331, i16 1187, i16 1190, i16 1332, i16 1333, i16 1334, i16 1335, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 1187, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 1367, i16 1368, i16 1369, i16 1370, i16 1371, i16 1372, i16 1373, i16 1187, i16 1374, i16 1375, i16 1190, i16 1376, i16 1377, i16 1378, i16 1187, i16 1190, i16 1379, i16 1380, i16 1381, i16 1382, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 1187, i16 1190, i16 1390, i16 1391, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1400, i16 1401, i16 1402, i16 1403, i16 1404, i16 1187, i16 1190, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1187, i16 1190, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1418, i16 1419, i16 1420, i16 1421, i16 1422, i16 1423, i16 1187, i16 1190, i16 1424, i16 1425, i16 1426, i16 1427, i16 1428, i16 1429, i16 1430, i16 1431, i16 1432, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1440, i16 1441, i16 1442, i16 1443, i16 1444, i16 1445, i16 1446, i16 1447, i16 1448, i16 1449, i16 1450, i16 1451, i16 1452, i16 1453, i16 1454, i16 1455, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1187, i16 1190, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1187, i16 1190, i16 1481, i16 1187, i16 1190, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1187, i16 1190, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1187, i16 1513, i16 1514, i16 1515, i16 1190, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 1528, i16 1529, i16 1530, i16 1187, i16 1190, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 1539, i16 1540, i16 1541, i16 1542, i16 1543, i16 1544, i16 1545, i16 1546, i16 1547, i16 1548, i16 1549, i16 1550, i16 1551, i16 1552, i16 1553, i16 1554, i16 1555, i16 1556, i16 1557, i16 1558, i16 1559, i16 1560, i16 1561, i16 1562, i16 1563, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1187, i16 1187, i16 1187, i16 1190, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1187, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 1595, i16 1596, i16 1597, i16 1598, i16 1599, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1187, i16 1611, i16 1612, i16 1613, i16 1614, i16 1611, i16 1615, i16 1611, i16 1616, i16 1611, i16 1617, i16 1611, i16 1618, i16 1619, i16 1620, i16 1611, i16 1621, i16 1611, i16 1622, i16 1623, i16 1624, i16 1611, i16 1625, i16 1611, i16 1626, i16 1627, i16 1628, i16 1629, i16 1630, i16 1631, i16 1611, i16 1632, i16 1611, i16 1633, i16 1611, i16 1634, i16 1611, i16 1635, i16 1611, i16 1636, i16 1611, i16 1637, i16 1638, i16 1639, i16 1611, i16 1640, i16 1611, i16 1641, i16 1611, i16 1642, i16 1643, i16 1611, i16 1644, i16 1611, i16 1645, i16 1646, i16 1647, i16 1648, i16 1649, i16 1650, i16 1611, i16 1651, i16 1611, i16 1652, i16 1611, i16 1653, i16 1611, i16 1654, i16 1655, i16 1656, i16 1657, i16 1658, i16 1657, i16 1659, i16 1657, i16 1660, i16 1657, i16 1661, i16 1657, i16 1662, i16 1657, i16 1663, i16 1657, i16 1664, i16 1657, i16 1665, i16 1657, i16 1666, i16 1657, i16 1667, i16 1657, i16 1668, i16 1657, i16 1669, i16 1657, i16 1670, i16 1657, i16 1671, i16 1657, i16 1672, i16 1657, i16 1673, i16 1657, i16 1674, i16 1657, i16 1675, i16 1657, i16 1676, i16 1657, i16 1677, i16 1657, i16 1678, i16 1657, i16 1679, i16 1657, i16 1680, i16 1657, i16 1681, i16 1657, i16 1682, i16 1657, i16 1683, i16 1657, i16 1684, i16 1657, i16 1685, i16 1657, i16 1686, i16 1657, i16 1687, i16 1657, i16 1688, i16 1657, i16 1689, i16 1657, i16 1690, i16 1657, i16 1691, i16 1657, i16 1692, i16 1657, i16 1693, i16 1657, i16 1694, i16 1657, i16 1695, i16 1657, i16 1696, i16 1657, i16 1697, i16 1657, i16 1698, i16 1699, i16 1700, i16 1657, i16 1701, i16 1699, i16 1702, i16 1657, i16 1703, i16 1657, i16 1704, i16 1657, i16 1705, i16 1657, i16 1706, i16 1657, i16 1707, i16 1657, i16 1708, i16 1657, i16 1709, i16 1657, i16 1710, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1189, i16 1189, i16 1189, i16 1189, i16 1712, i16 1712, i16 1713, i16 1714, i16 1714, i16 1714, i16 1714, i16 1714, i16 1714, i16 1712, i16 1712, i16 1715, i16 1715, i16 1715, i16 1712, i16 1716, i16 1716, i16 1716, i16 1716, i16 1712, i16 1712, i16 1712, i16 1717, i16 1717, i16 1717, i16 1717, i16 1717, i16 1717, i16 1717, i16 1712, i16 1718, i16 1718, i16 1718, i16 1718, i16 1712, i16 1719, i16 1719, i16 1719, i16 1719, i16 1712, i16 1720, i16 1720, i16 1720, i16 1720, i16 1712, i16 1721, i16 1721, i16 1721, i16 1721, i16 1712, i16 1722, i16 1722, i16 1712, i16 1723, i16 1723, i16 1712, i16 1724, i16 1724, i16 1712, i16 1725, i16 1725, i16 1712, i16 1726, i16 1726, i16 1726, i16 1726, i16 1712, i16 1727, i16 1727, i16 1727, i16 1727, i16 1712, i16 1728, i16 1728, i16 1728, i16 1728, i16 1712, i16 1729, i16 1729, i16 1729, i16 1729, i16 1712, i16 1730, i16 1730, i16 1730, i16 1730, i16 1712, i16 1731, i16 1731, i16 1731, i16 1731, i16 1712, i16 1732, i16 1732, i16 1732, i16 1732, i16 1712, i16 1733, i16 1733, i16 1733, i16 1733, i16 1712, i16 1734, i16 1734, i16 1734, i16 1734, i16 1712, i16 1735, i16 1735, i16 1735, i16 1735, i16 1712, i16 1736, i16 1736, i16 1736, i16 1736, i16 1712, i16 1737, i16 1737, i16 1737, i16 1737, i16 1712, i16 1738, i16 1738, i16 1738, i16 1738, i16 1712, i16 1739, i16 1739, i16 1739, i16 1739, i16 1712, i16 1740, i16 1740, i16 1740, i16 1740, i16 1712, i16 1741, i16 1741, i16 1712, i16 1742, i16 1742, i16 1712, i16 1743, i16 1743, i16 1743, i16 1743, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 1749, i16 1750, i16 1751, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 1758, i16 1759, i16 1760, i16 1761, i16 1762, i16 1712, i16 1763, i16 1763, i16 1763, i16 1712, i16 1764, i16 1764, i16 1764, i16 1712, i16 1765, i16 1765, i16 1765, i16 1765, i16 1712, i16 1766, i16 1766, i16 1766, i16 1712, i16 1767, i16 1767, i16 1767, i16 1712, i16 1768, i16 1768, i16 1768, i16 1768, i16 1712, i16 1769, i16 1769, i16 1769, i16 1712, i16 1770, i16 1770, i16 1770, i16 1712, i16 1771, i16 1771, i16 1771, i16 1771, i16 1712, i16 1772, i16 1772, i16 1772, i16 1712, i16 1773, i16 1773, i16 1773, i16 1712, i16 1774, i16 1774, i16 1774, i16 1712, i16 1775, i16 1775, i16 1775, i16 1712, i16 1776, i16 1776, i16 1776, i16 1712, i16 1777, i16 1777, i16 1777, i16 1712, i16 1778, i16 1778, i16 1778, i16 1712, i16 1779, i16 1779, i16 1779, i16 1712, i16 1780, i16 1780, i16 1780, i16 1780, i16 1780, i16 1712, i16 1781, i16 1781, i16 1781, i16 1712, i16 1782, i16 1782, i16 1782, i16 1712, i16 1783, i16 1712, i16 1784, i16 1712, i16 1785, i16 1712, i16 1786, i16 1712, i16 1787, i16 1712, i16 1788, i16 1788, i16 1788, i16 1788, i16 1788, i16 1712, i16 1789, i16 1789, i16 1789, i16 1789, i16 1789, i16 1712, i16 1790, i16 1790, i16 1790, i16 1790, i16 1790, i16 1712, i16 1791, i16 1791, i16 1791, i16 1791, i16 1791, i16 1712, i16 1792, i16 1792, i16 1792, i16 1792, i16 1792, i16 1712, i16 1793, i16 1712, i16 1794, i16 1712, i16 1795, i16 1712, i16 1796, i16 1712, i16 1797, i16 1712, i16 1798, i16 1798, i16 1798, i16 1712, i16 1799, i16 1799, i16 1799, i16 1712, i16 1800, i16 1800, i16 1800, i16 1712, i16 1801, i16 1712, i16 1802, i16 1712, i16 1803, i16 1712, i16 1804, i16 1712, i16 1805, i16 1712, i16 1806, i16 1806, i16 1806, i16 1712, i16 1807, i16 1712, i16 1808, i16 1712, i16 1809, i16 1712, i16 1810, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2093, i16 2094, i16 2095, i16 2096, i16 2097, i16 2098, i16 2099, i16 2100, i16 2101, i16 2102, i16 2103, i16 2104, i16 2105, i16 2106, i16 2107, i16 2108, i16 2109, i16 2110, i16 2111, i16 2112, i16 2113, i16 2114, i16 2115, i16 2116, i16 2117, i16 2118, i16 2119, i16 2120, i16 2121, i16 2122, i16 2123, i16 2124, i16 2125, i16 2126, i16 2127, i16 2128, i16 2129, i16 2130, i16 2131, i16 2132, i16 2133, i16 2134, i16 2135, i16 2136, i16 2137, i16 2138, i16 2139, i16 2140, i16 2141, i16 2142, i16 2143, i16 2144, i16 2145, i16 2146, i16 2147, i16 2148, i16 2149, i16 2150, i16 2151, i16 2091, i16 2152, i16 2153, i16 2154, i16 2155, i16 2156, i16 2157, i16 2093, i16 2158, i16 2159, i16 2160, i16 2161, i16 2162, i16 2163, i16 2164, i16 2091, i16 2093, i16 2165, i16 2166, i16 2167, i16 2168, i16 2169, i16 2170, i16 2171, i16 2172, i16 2173, i16 2174, i16 2175, i16 2176, i16 2177, i16 2178, i16 2179, i16 2091, i16 2093, i16 2180, i16 2181, i16 2182, i16 2183, i16 2184, i16 2185, i16 2186, i16 2187, i16 2188, i16 2189, i16 2190, i16 2191, i16 2192, i16 2193, i16 2194, i16 2091, i16 2093, i16 2195, i16 2196, i16 2197, i16 2198, i16 2199, i16 2200, i16 2201, i16 2202, i16 2203, i16 2204, i16 2205, i16 2206, i16 2207, i16 2208, i16 2209, i16 2210, i16 2211, i16 2212, i16 2213, i16 2214, i16 2215, i16 2216, i16 2217, i16 2218, i16 2219, i16 2220, i16 2221, i16 2222, i16 2223, i16 2224, i16 2225, i16 2226, i16 2227, i16 2228, i16 2229, i16 2230, i16 2231, i16 2232, i16 2233, i16 2234, i16 2235, i16 2236, i16 2237, i16 2238, i16 2239, i16 2240, i16 2241, i16 2242, i16 2243, i16 2091, i16 2093, i16 2244, i16 2245, i16 2246, i16 2247, i16 2248, i16 2091, i16 2249, i16 2250, i16 2251, i16 2252, i16 2253, i16 2093, i16 2254, i16 2255, i16 2256, i16 2257, i16 2258, i16 2259, i16 2260, i16 2261, i16 2262, i16 2263, i16 2264, i16 2265, i16 2266, i16 2267, i16 2268, i16 2269, i16 2270, i16 2091, i16 2093, i16 2271, i16 2272, i16 2273, i16 2274, i16 2275, i16 2276, i16 2277, i16 2278, i16 2279, i16 2280, i16 2281, i16 2282, i16 2283, i16 2284, i16 2285, i16 2091, i16 2093, i16 2286, i16 2287, i16 2093, i16 2288, i16 2289, i16 2290, i16 2291, i16 2292, i16 2293, i16 2294, i16 2295, i16 2296, i16 2297, i16 2298, i16 2299, i16 2300, i16 2301, i16 2302, i16 2303, i16 2304, i16 2305, i16 2306, i16 2307, i16 2308, i16 2309, i16 2310, i16 2311, i16 2312, i16 2313, i16 2314, i16 2315, i16 2316, i16 2317, i16 2318, i16 2319, i16 2320, i16 2091, i16 2321, i16 2322, i16 2093, i16 2323, i16 2324, i16 2325, i16 2091, i16 2093, i16 2326, i16 2327, i16 2328, i16 2329, i16 2330, i16 2331, i16 2332, i16 2333, i16 2334, i16 2335, i16 2336, i16 2337, i16 2338, i16 2091, i16 2339, i16 2093, i16 2340, i16 2341, i16 2342, i16 2343, i16 2344, i16 2345, i16 2346, i16 2347, i16 2348, i16 2349, i16 2350, i16 2351, i16 2352, i16 2353, i16 2354, i16 2355, i16 2356, i16 2357, i16 2358, i16 2091, i16 2093, i16 2359, i16 2360, i16 2361, i16 2362, i16 2363, i16 2364, i16 2365, i16 2091, i16 2093, i16 2366, i16 2367, i16 2368, i16 2369, i16 2370, i16 2371, i16 2372, i16 2373, i16 2374, i16 2375, i16 2376, i16 2377, i16 2378, i16 2379, i16 2380, i16 2381, i16 2382, i16 2383, i16 2091, i16 2384, i16 2385, i16 2093, i16 2386, i16 2387, i16 2388, i16 2389, i16 2390, i16 2391, i16 2392, i16 2393, i16 2394, i16 2395, i16 2396, i16 2397, i16 2398, i16 2399, i16 2400, i16 2401, i16 2402, i16 2403, i16 2404, i16 2405, i16 2406, i16 2407, i16 2408, i16 2409, i16 2410, i16 2411, i16 2412, i16 2413, i16 2414, i16 2415, i16 2416, i16 2417, i16 2418, i16 2419, i16 2420, i16 2421, i16 2422, i16 2423, i16 2424, i16 2425, i16 2426, i16 2427, i16 2428, i16 2429, i16 2430, i16 2431, i16 2432, i16 2433, i16 2434, i16 2435, i16 2436, i16 2437, i16 2438, i16 2439, i16 2440, i16 2441, i16 2442, i16 2443, i16 2444, i16 2445, i16 2446, i16 2447, i16 2448, i16 2449, i16 2450, i16 2451, i16 2091, i16 2452, i16 2453, i16 2093, i16 2454, i16 2455, i16 2456, i16 2457, i16 2458, i16 2091, i16 2093, i16 2459, i16 2091, i16 2093, i16 2460, i16 2461, i16 2462, i16 2463, i16 2464, i16 2465, i16 2466, i16 2467, i16 2468, i16 2469, i16 2470, i16 2471, i16 2472, i16 2473, i16 2474, i16 2475, i16 2476, i16 2178, i16 2477, i16 2091, i16 2093, i16 2478, i16 2479, i16 2480, i16 2481, i16 2482, i16 2483, i16 2484, i16 2485, i16 2486, i16 2487, i16 2488, i16 2489, i16 2490, i16 2491, i16 2492, i16 2493, i16 2178, i16 2494, i16 2495, i16 2496, i16 2091, i16 2497, i16 2498, i16 2499, i16 2093, i16 2500, i16 2501, i16 2502, i16 2503, i16 2504, i16 2505, i16 2506, i16 2507, i16 2508, i16 2509, i16 2510, i16 2511, i16 2512, i16 2513, i16 2514, i16 2091, i16 2515, i16 2516, i16 2093, i16 2517, i16 2518, i16 2519, i16 2520, i16 2521, i16 2522, i16 2523, i16 2524, i16 2525, i16 2526, i16 2527, i16 2528, i16 2529, i16 2530, i16 2531, i16 2532, i16 2533, i16 2534, i16 2535, i16 2536, i16 2537, i16 2538, i16 2539, i16 2540, i16 2541, i16 2542, i16 2543, i16 2544, i16 2545, i16 2546, i16 2547, i16 2548, i16 2549, i16 2550, i16 2551, i16 2552, i16 2553, i16 2554, i16 2555, i16 2556, i16 2557, i16 2558, i16 2559, i16 2560, i16 2561, i16 2562, i16 2563, i16 2564, i16 2565, i16 2566, i16 2567, i16 2568, i16 2569, i16 2570, i16 2571, i16 2572, i16 2573, i16 2574, i16 2575, i16 2576, i16 2577, i16 2091, i16 2093, i16 2578, i16 2579, i16 2580, i16 2581, i16 2582, i16 2091, i16 2093, i16 2583, i16 2584, i16 2585, i16 2586, i16 2587, i16 2588, i16 2589, i16 2590, i16 2591, i16 2592, i16 2593, i16 2594, i16 2595, i16 2091, i16 2093, i16 2596, i16 2597, i16 2598, i16 2599, i16 2600, i16 2091, i16 2093, i16 2601, i16 2602, i16 2603, i16 2604, i16 2605, i16 2606, i16 2607, i16 2608, i16 2609, i16 2610, i16 2611, i16 2612, i16 2613, i16 2614, i16 2615, i16 2616, i16 2617, i16 2091, i16 2093, i16 2618, i16 2619, i16 2620, i16 2621, i16 2622, i16 2623, i16 2624, i16 2625, i16 2626, i16 2627, i16 2628, i16 2629, i16 2630, i16 2091, i16 2178, i16 2631, i16 2632, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2634, i16 2635, i16 2636, i16 2637, i16 2638, i16 2639, i16 2640, i16 2641, i16 2642, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2643, i16 2092, i16 2644, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2645, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2646, i16 2647, i16 2648, i16 2649, i16 2650, i16 2647, i16 2651, i16 2647, i16 2652, i16 2647, i16 2653, i16 2647, i16 2654, i16 2655, i16 2656, i16 2647, i16 2657, i16 2647, i16 2658, i16 2659, i16 2660, i16 2647, i16 2661, i16 2647, i16 2662, i16 2663, i16 2664, i16 2665, i16 2666, i16 2667, i16 2647, i16 2668, i16 2647, i16 2669, i16 2647, i16 2670, i16 2647, i16 2671, i16 2647, i16 2672, i16 2647, i16 2673, i16 2674, i16 2675, i16 2647, i16 2676, i16 2647, i16 2677, i16 2647, i16 2678, i16 2679, i16 2647, i16 2680, i16 2647, i16 2681, i16 2682, i16 2683, i16 2684, i16 2685, i16 2686, i16 2647, i16 2687, i16 2647, i16 2688, i16 2647, i16 2689, i16 2647, i16 2690, i16 2691, i16 2692, i16 2693, i16 2694, i16 2693, i16 2695, i16 2693, i16 2696, i16 2693, i16 2697, i16 2693, i16 2698, i16 2693, i16 2699, i16 2693, i16 2700, i16 2693, i16 2701, i16 2693, i16 2702, i16 2693, i16 2703, i16 2693, i16 2704, i16 2693, i16 2705, i16 2693, i16 2706, i16 2693, i16 2707, i16 2693, i16 2708, i16 2693, i16 2709, i16 2693, i16 2710, i16 2693, i16 2711, i16 2693, i16 2712, i16 2693, i16 2713, i16 2693, i16 2714, i16 2693, i16 2715, i16 2693, i16 2716, i16 2693, i16 2717, i16 2693, i16 2718, i16 2693, i16 2719, i16 2693, i16 2720, i16 2693, i16 2721, i16 2693, i16 2722, i16 2693, i16 2723, i16 2693, i16 2724, i16 2693, i16 2725, i16 2693, i16 2726, i16 2693, i16 2727, i16 2693, i16 2728, i16 2693, i16 2729, i16 2693, i16 2730, i16 2693, i16 2731, i16 2693, i16 2732, i16 2693, i16 2733, i16 2693, i16 2734, i16 2735, i16 2736, i16 2693, i16 2737, i16 2735, i16 2738, i16 2693, i16 2739, i16 2693, i16 2740, i16 2693, i16 2741, i16 2693, i16 2742, i16 2693, i16 2743, i16 2693, i16 2744, i16 2693, i16 2745, i16 2693, i16 2746, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2092, i16 2092, i16 2092, i16 2092, i16 2632, i16 2632, i16 2748, i16 2749, i16 2749, i16 2749, i16 2749, i16 2749, i16 2749, i16 2632, i16 2632, i16 2750, i16 2750, i16 2750, i16 2632, i16 2751, i16 2751, i16 2751, i16 2751, i16 2632, i16 2632, i16 2632, i16 2752, i16 2752, i16 2752, i16 2752, i16 2752, i16 2752, i16 2752, i16 2632, i16 2753, i16 2753, i16 2753, i16 2753, i16 2632, i16 2754, i16 2754, i16 2754, i16 2754, i16 2632, i16 2755, i16 2755, i16 2755, i16 2755, i16 2632, i16 2756, i16 2756, i16 2756, i16 2756, i16 2632, i16 2757, i16 2757, i16 2632, i16 2758, i16 2758, i16 2632, i16 2759, i16 2759, i16 2632, i16 2760, i16 2760, i16 2632, i16 2761, i16 2761, i16 2761, i16 2761, i16 2632, i16 2762, i16 2762, i16 2762, i16 2762, i16 2632, i16 2763, i16 2763, i16 2763, i16 2763, i16 2632, i16 2764, i16 2764, i16 2764, i16 2764, i16 2632, i16 2765, i16 2765, i16 2765, i16 2765, i16 2632, i16 2766, i16 2766, i16 2766, i16 2766, i16 2632, i16 2767, i16 2767, i16 2767, i16 2767, i16 2632, i16 2768, i16 2768, i16 2768, i16 2768, i16 2632, i16 2769, i16 2769, i16 2769, i16 2769, i16 2632, i16 2770, i16 2770, i16 2770, i16 2770, i16 2632, i16 2771, i16 2771, i16 2771, i16 2771, i16 2632, i16 2772, i16 2772, i16 2772, i16 2772, i16 2632, i16 2773, i16 2773, i16 2773, i16 2773, i16 2632, i16 2774, i16 2774, i16 2774, i16 2774, i16 2632, i16 2775, i16 2775, i16 2775, i16 2775, i16 2632, i16 2776, i16 2776, i16 2632, i16 2777, i16 2777, i16 2632, i16 2778, i16 2778, i16 2778, i16 2778, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2633, i16 2634, i16 2635, i16 2636, i16 2637, i16 2638, i16 2639, i16 2640, i16 2641, i16 2642, i16 2780, i16 2781, i16 2782, i16 2783, i16 2784, i16 2785, i16 2786, i16 2787, i16 2632, i16 2788, i16 2788, i16 2788, i16 2632, i16 2789, i16 2789, i16 2789, i16 2632, i16 2790, i16 2790, i16 2790, i16 2790, i16 2632, i16 2791, i16 2791, i16 2791, i16 2632, i16 2792, i16 2792, i16 2792, i16 2632, i16 2793, i16 2793, i16 2793, i16 2793, i16 2632, i16 2794, i16 2794, i16 2794, i16 2632, i16 2795, i16 2795, i16 2795, i16 2632, i16 2796, i16 2796, i16 2796, i16 2796, i16 2632, i16 2797, i16 2797, i16 2797, i16 2632, i16 2798, i16 2798, i16 2798, i16 2632, i16 2799, i16 2799, i16 2799, i16 2632, i16 2800, i16 2800, i16 2800, i16 2632, i16 2801, i16 2801, i16 2801, i16 2632, i16 2802, i16 2802, i16 2802, i16 2632, i16 2803, i16 2803, i16 2803, i16 2632, i16 2804, i16 2804, i16 2804, i16 2632, i16 2805, i16 2805, i16 2805, i16 2805, i16 2805, i16 2632, i16 2806, i16 2806, i16 2806, i16 2632, i16 2807, i16 2807, i16 2807, i16 2632, i16 2808, i16 2632, i16 2809, i16 2632, i16 2810, i16 2632, i16 2811, i16 2632, i16 2812, i16 2632, i16 2813, i16 2813, i16 2813, i16 2813, i16 2813, i16 2632, i16 2814, i16 2814, i16 2814, i16 2814, i16 2814, i16 2632, i16 2815, i16 2815, i16 2815, i16 2815, i16 2815, i16 2632, i16 2816, i16 2816, i16 2816, i16 2816, i16 2816, i16 2632, i16 2817, i16 2817, i16 2817, i16 2817, i16 2817, i16 2632, i16 2818, i16 2632, i16 2819, i16 2632, i16 2820, i16 2632, i16 2821, i16 2632, i16 2822, i16 2632, i16 2823, i16 2823, i16 2823, i16 2632, i16 2824, i16 2824, i16 2824, i16 2632, i16 2825, i16 2825, i16 2825, i16 2632, i16 2826, i16 2632, i16 2827, i16 2632, i16 2828, i16 2632, i16 2829, i16 2632, i16 2830, i16 2632, i16 2831, i16 2831, i16 2831, i16 2632, i16 2832, i16 2632, i16 2833, i16 2632, i16 2834, i16 2632, i16 2835, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2837, i16 2836, i16 2838, i16 2836, i16 2839, i16 2836, i16 2840, i16 2836, i16 2841, i16 2836, i16 2842, i16 2836, i16 2843, i16 2836, i16 2844, i16 2836, i16 2845, i16 2836, i16 2846, i16 2836, i16 2847, i16 2836, i16 2848, i16 2836, i16 2849, i16 2836, i16 2850, i16 2836, i16 2851, i16 2836, i16 2852, i16 2836, i16 2853, i16 2836, i16 2854, i16 2836, i16 2855, i16 2836, i16 2856, i16 2836, i16 2857, i16 2836, i16 2858, i16 2836, i16 2859, i16 2836, i16 2860, i16 2836, i16 2861, i16 2836, i16 2862, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2836, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2646, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2866, i16 2867, i16 2866, i16 2868, i16 2866, i16 2869, i16 2866, i16 2870, i16 2866, i16 2871, i16 2866, i16 2872, i16 2866, i16 2873, i16 2866, i16 2874, i16 2866, i16 2875, i16 2866, i16 2876, i16 2877, i16 2878, i16 2877, i16 2879, i16 2877, i16 2880, i16 2877, i16 2881, i16 2877, i16 2882, i16 2877, i16 2883, i16 2877, i16 2884, i16 2877, i16 2885, i16 2877, i16 2886, i16 2877, i16 2887, i16 2877, i16 2888, i16 2877, i16 2889, i16 2877, i16 2890, i16 2877, i16 2891, i16 2877, i16 2892, i16 2877, i16 2893, i16 2877, i16 2894, i16 2877, i16 2895, i16 2877, i16 2896, i16 2877, i16 2897, i16 2877, i16 2898, i16 2877, i16 2899, i16 2877, i16 2900, i16 2877, i16 2901, i16 2877, i16 2902, i16 2877, i16 2903, i16 2866, i16 2904, i16 2905, i16 2906, i16 2907, i16 2908, i16 2866, i16 2909, i16 2910, i16 2911, i16 2912, i16 2913, i16 2866, i16 2914, i16 2915, i16 2916, i16 2917, i16 2918, i16 2866, i16 2919, i16 2920, i16 2921, i16 2922, i16 2923, i16 2866, i16 2924, i16 2925, i16 2926, i16 2927, i16 2928, i16 2866, i16 2929, i16 2930, i16 2931, i16 2932, i16 2933, i16 2866, i16 2934, i16 2935, i16 2936, i16 2937, i16 2938, i16 2866, i16 2939, i16 2940, i16 2941, i16 2942, i16 2943, i16 2866, i16 2944, i16 2945, i16 2946, i16 2947, i16 2948, i16 2866, i16 2949, i16 2950, i16 2951, i16 2952, i16 2953, i16 2866, i16 2954, i16 2955, i16 2956, i16 2957, i16 2958, i16 2866, i16 2959, i16 2960, i16 2961, i16 2962, i16 2963, i16 2866, i16 2964, i16 2965, i16 2966, i16 2967, i16 2968, i16 2866, i16 2969, i16 2970, i16 2971, i16 2972, i16 2973, i16 2866, i16 2974, i16 2975, i16 2976, i16 2977, i16 2978, i16 2866, i16 2979, i16 2980, i16 2981, i16 2982, i16 2983, i16 2866, i16 2984, i16 2985, i16 2986, i16 2987, i16 2988, i16 2866, i16 2989, i16 2990, i16 2991, i16 2992, i16 2993, i16 2866, i16 2994, i16 2995, i16 2996, i16 2997, i16 2998, i16 2866, i16 2999, i16 3000, i16 3001, i16 3002, i16 3003, i16 2866, i16 3004, i16 3005, i16 3006, i16 3007, i16 3008, i16 2866, i16 3009, i16 3010, i16 3011, i16 3012, i16 3013, i16 2866, i16 3014, i16 3015, i16 3016, i16 3017, i16 3018, i16 2866, i16 3019, i16 3020, i16 3021, i16 3022, i16 3023, i16 2866, i16 3024, i16 3025, i16 3026, i16 3027, i16 3028, i16 2866, i16 3029, i16 3030, i16 3031, i16 3032, i16 3033, i16 2866, i16 3034, i16 3035, i16 3036, i16 3037, i16 3038, i16 2866, i16 3039, i16 3040, i16 3041, i16 3042, i16 3043, i16 2866, i16 3044, i16 3045, i16 3046, i16 3047, i16 3048, i16 2866, i16 3049, i16 3050, i16 3051, i16 3052, i16 3053, i16 2866, i16 3054, i16 3055, i16 3056, i16 3057, i16 3058, i16 2866, i16 3059, i16 3060, i16 3061, i16 3062, i16 3063, i16 2866, i16 3064, i16 3065, i16 3066, i16 3067, i16 3068, i16 2866, i16 3069, i16 3070, i16 3071, i16 3072, i16 3073, i16 2866, i16 3074, i16 3075, i16 3076, i16 3077, i16 3078, i16 2866, i16 2866, i16 3079, i16 3080, i16 3081, i16 3082, i16 3083, i16 2866, i16 2866, i16 3084, i16 3085, i16 3086, i16 3087, i16 3088, i16 2866, i16 3089, i16 3090, i16 3091, i16 3092, i16 3093, i16 2866, i16 3094, i16 3095, i16 3096, i16 3097, i16 3098, i16 2866, i16 3099, i16 3100, i16 3101, i16 3102, i16 3103, i16 2866, i16 3104, i16 3105, i16 3106, i16 3107, i16 3108, i16 2866, i16 3109, i16 3110, i16 3111, i16 3112, i16 3113, i16 2866, i16 3114, i16 3115, i16 3116, i16 3117, i16 3118, i16 2866, i16 3119, i16 3120, i16 3121, i16 3122, i16 3123, i16 2866, i16 2866, i16 2866, i16 2866, i16 3124, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 99, i16 104, i16 112, i16 117, i16 122, i16 124, i16 126, i16 128, i16 130, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 1162, i16 296, i16 0, i16 704, i16 0, i16 1166, i16 293, i16 0, i16 714, i16 0, i16 1168, i16 296, i16 0, i16 1167, i16 293, i16 0, i16 723, i16 0, i16 1169, i16 299, i16 0, i16 728, i16 0, i16 1170, i16 293, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 49, i16 51, i16 53, i16 55, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 83, i16 85, i16 87, i16 89, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 1174, i16 169, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 1176, i16 169, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 1173, i16 169, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 1175, i16 169, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 1222, i16 411, i16 0, i16 1221, i16 491, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 1219, i16 411, i16 0, i16 1220, i16 491, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 48, i16 50, i16 52, i16 54, i16 62, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 94, i16 96, i16 98, i16 100, i16 108, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 138, i16 140, i16 142, i16 144, i16 146, i16 148, i16 478, i16 0, i16 1265, i16 1008, i16 0, i16 1264, i16 1047, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 1269, i16 421, i16 0, i16 1268, i16 501, i16 0, i16 504, i16 0, i16 1273, i16 421, i16 0, i16 1272, i16 501, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 1262, i16 1008, i16 0, i16 1263, i16 1047, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 1266, i16 421, i16 0, i16 1267, i16 501, i16 0, i16 425, i16 0, i16 1270, i16 421, i16 0, i16 1271, i16 501, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 52, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 92, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 1318, i16 989, i16 0, i16 1317, i16 1029, i16 0, i16 491, i16 0, i16 1322, i16 401, i16 0, i16 1321, i16 481, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 1315, i16 989, i16 0, i16 1316, i16 1029, i16 0, i16 411, i16 0, i16 1319, i16 401, i16 0, i16 1320, i16 481, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 1222, i16 411, i16 0, i16 1221, i16 491, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1328, i16 413, i16 0, i16 1327, i16 493, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 1219, i16 411, i16 0, i16 1220, i16 491, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1325, i16 413, i16 0, i16 1326, i16 493, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 62, i16 142, i16 144, i16 168, i16 170, i16 194, i16 218, i16 220, i16 222, i16 224, i16 248, i16 272, i16 274, i16 298, i16 322, i16 402, i16 404, i16 428, i16 430, i16 454, i16 478, i16 480, i16 482, i16 484, i16 508, i16 532, i16 534, i16 558, i16 560, i16 562, i16 564, i16 566, i16 568, i16 570, i16 572, i16 574, i16 576, i16 1425, i16 451, i16 0, i16 1429, i16 398, i16 451, i16 0, i16 1428, i16 398, i16 528, i16 0, i16 1424, i16 528, i16 0, i16 1427, i16 478, i16 451, i16 0, i16 1426, i16 478, i16 528, i16 0, i16 478, i16 0, i16 1451, i16 471, i16 451, i16 0, i16 1450, i16 471, i16 528, i16 0, i16 1437, i16 471, i16 0, i16 1459, i16 399, i16 471, i16 451, i16 0, i16 1458, i16 399, i16 471, i16 528, i16 0, i16 1441, i16 399, i16 471, i16 0, i16 1457, i16 399, i16 548, i16 451, i16 0, i16 1456, i16 399, i16 548, i16 528, i16 0, i16 1440, i16 399, i16 548, i16 0, i16 1449, i16 548, i16 451, i16 0, i16 1448, i16 548, i16 528, i16 0, i16 1436, i16 548, i16 0, i16 1455, i16 479, i16 471, i16 451, i16 0, i16 1454, i16 479, i16 471, i16 528, i16 0, i16 1439, i16 479, i16 471, i16 0, i16 1453, i16 479, i16 548, i16 451, i16 0, i16 1452, i16 479, i16 548, i16 528, i16 0, i16 1438, i16 479, i16 548, i16 0, i16 479, i16 0, i16 490, i16 0, i16 1473, i16 467, i16 0, i16 1477, i16 411, i16 467, i16 0, i16 1476, i16 411, i16 544, i16 0, i16 1472, i16 544, i16 0, i16 1475, i16 491, i16 467, i16 0, i16 1474, i16 491, i16 544, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 1485, i16 467, i16 0, i16 1489, i16 425, i16 467, i16 0, i16 1488, i16 425, i16 544, i16 0, i16 1484, i16 544, i16 0, i16 1487, i16 504, i16 467, i16 0, i16 1486, i16 504, i16 544, i16 0, i16 504, i16 0, i16 1497, i16 467, i16 0, i16 1501, i16 432, i16 467, i16 0, i16 1500, i16 432, i16 544, i16 0, i16 1496, i16 544, i16 0, i16 1499, i16 511, i16 467, i16 0, i16 1498, i16 511, i16 544, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 1509, i16 471, i16 0, i16 1513, i16 451, i16 471, i16 0, i16 1512, i16 451, i16 548, i16 0, i16 1508, i16 548, i16 0, i16 1511, i16 528, i16 471, i16 0, i16 1510, i16 528, i16 548, i16 0, i16 528, i16 0, i16 1521, i16 467, i16 0, i16 1525, i16 453, i16 467, i16 0, i16 1524, i16 453, i16 544, i16 0, i16 1520, i16 544, i16 0, i16 1523, i16 530, i16 467, i16 0, i16 1522, i16 530, i16 544, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 1537, i16 471, i16 451, i16 0, i16 1536, i16 471, i16 528, i16 0, i16 1533, i16 451, i16 0, i16 1535, i16 548, i16 451, i16 0, i16 1534, i16 548, i16 528, i16 0, i16 1532, i16 528, i16 0, i16 548, i16 0, i16 1431, i16 451, i16 0, i16 1435, i16 398, i16 451, i16 0, i16 1434, i16 398, i16 528, i16 0, i16 1430, i16 528, i16 0, i16 1433, i16 478, i16 451, i16 0, i16 1432, i16 478, i16 528, i16 0, i16 398, i16 0, i16 1463, i16 471, i16 451, i16 0, i16 1462, i16 471, i16 528, i16 0, i16 1443, i16 471, i16 0, i16 1471, i16 399, i16 471, i16 451, i16 0, i16 1470, i16 399, i16 471, i16 528, i16 0, i16 1447, i16 399, i16 471, i16 0, i16 1469, i16 399, i16 548, i16 451, i16 0, i16 1468, i16 399, i16 548, i16 528, i16 0, i16 1446, i16 399, i16 548, i16 0, i16 1461, i16 548, i16 451, i16 0, i16 1460, i16 548, i16 528, i16 0, i16 1442, i16 548, i16 0, i16 1467, i16 479, i16 471, i16 451, i16 0, i16 1466, i16 479, i16 471, i16 528, i16 0, i16 1445, i16 479, i16 471, i16 0, i16 1465, i16 479, i16 548, i16 451, i16 0, i16 1464, i16 479, i16 548, i16 528, i16 0, i16 1444, i16 479, i16 548, i16 0, i16 399, i16 0, i16 410, i16 0, i16 1478, i16 467, i16 0, i16 1483, i16 411, i16 467, i16 0, i16 1482, i16 411, i16 544, i16 0, i16 1479, i16 544, i16 0, i16 1481, i16 491, i16 467, i16 0, i16 1480, i16 491, i16 544, i16 0, i16 411, i16 0, i16 990, i16 0, i16 1490, i16 467, i16 0, i16 1495, i16 425, i16 467, i16 0, i16 1494, i16 425, i16 544, i16 0, i16 1491, i16 544, i16 0, i16 1493, i16 504, i16 467, i16 0, i16 1492, i16 504, i16 544, i16 0, i16 425, i16 0, i16 1502, i16 467, i16 0, i16 1507, i16 432, i16 467, i16 0, i16 1506, i16 432, i16 544, i16 0, i16 1503, i16 544, i16 0, i16 1505, i16 511, i16 467, i16 0, i16 1504, i16 511, i16 544, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 1515, i16 471, i16 0, i16 1519, i16 451, i16 471, i16 0, i16 1518, i16 451, i16 548, i16 0, i16 1514, i16 548, i16 0, i16 1517, i16 528, i16 471, i16 0, i16 1516, i16 528, i16 548, i16 0, i16 451, i16 0, i16 1527, i16 467, i16 0, i16 1531, i16 453, i16 467, i16 0, i16 1530, i16 453, i16 544, i16 0, i16 1526, i16 544, i16 0, i16 1529, i16 530, i16 467, i16 0, i16 1528, i16 530, i16 544, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 1543, i16 471, i16 451, i16 0, i16 1542, i16 471, i16 528, i16 0, i16 1539, i16 451, i16 0, i16 1541, i16 548, i16 451, i16 0, i16 1540, i16 548, i16 528, i16 0, i16 1538, i16 528, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 112, i16 117, i16 122, i16 127, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1559, i16 1554, i16 0, i16 1556, i16 1552, i16 0, i16 1073, i16 0, i16 1560, i16 1553, i16 0, i16 582, i16 0, i16 1562, i16 1553, i16 0, i16 1080, i16 0, i16 1563, i16 1553, i16 0, i16 1082, i16 0, i16 1561, i16 1553, i16 0, i16 1564, i16 0, i16 38, i16 46, i16 54, i16 62, i16 64, i16 66, i16 74, i16 82, i16 84, i16 92, i16 100, i16 102, i16 110, i16 112, i16 114, i16 122, i16 130, i16 138, i16 140, i16 142, i16 150, i16 158, i16 160, i16 168, i16 176, i16 178, i16 186, i16 188, i16 190, i16 192, i16 194, i16 196, i16 198, i16 200, i16 202, i16 204, i16 206, i16 208, i16 1591, i16 413, i16 0, i16 1590, i16 493, i16 0, i16 478, i16 0, i16 1595, i16 399, i16 0, i16 1594, i16 479, i16 0, i16 479, i16 0, i16 1599, i16 410, i16 0, i16 1598, i16 490, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 1603, i16 425, i16 0, i16 1602, i16 504, i16 0, i16 504, i16 0, i16 1222, i16 411, i16 0, i16 1221, i16 491, i16 0, i16 511, i16 0, i16 515, i16 0, i16 1607, i16 413, i16 0, i16 1606, i16 493, i16 0, i16 522, i16 0, i16 1611, i16 413, i16 0, i16 1610, i16 493, i16 0, i16 524, i16 0, i16 528, i16 0, i16 1615, i16 413, i16 0, i16 1614, i16 493, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 1588, i16 413, i16 0, i16 1589, i16 493, i16 0, i16 398, i16 0, i16 1592, i16 399, i16 0, i16 1593, i16 479, i16 0, i16 399, i16 0, i16 1596, i16 410, i16 0, i16 1597, i16 490, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 1600, i16 425, i16 0, i16 1601, i16 504, i16 0, i16 425, i16 0, i16 1219, i16 411, i16 0, i16 1220, i16 491, i16 0, i16 432, i16 0, i16 437, i16 0, i16 1604, i16 413, i16 0, i16 1605, i16 493, i16 0, i16 445, i16 0, i16 1608, i16 413, i16 0, i16 1609, i16 493, i16 0, i16 447, i16 0, i16 451, i16 0, i16 1612, i16 413, i16 0, i16 1613, i16 493, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 138, i16 140, i16 1591, i16 413, i16 0, i16 1590, i16 493, i16 0, i16 1621, i16 169, i16 413, i16 0, i16 1620, i16 169, i16 493, i16 0, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 1588, i16 413, i16 0, i16 1589, i16 493, i16 0, i16 1618, i16 169, i16 413, i16 0, i16 1619, i16 169, i16 493, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 10, i16 12, i16 14, i16 16, i16 18, i16 20, i16 22, i16 24, i16 26, i16 28, i16 681, i16 0, i16 738, i16 0, i16 749, i16 0, i16 901, i16 0, i16 927, i16 0, i16 682, i16 0, i16 739, i16 0, i16 750, i16 0, i16 902, i16 0, i16 928, i16 0, i16 10, i16 18, i16 20, i16 22, i16 24, i16 26, i16 34, i16 36, i16 38, i16 40, i16 1884, i16 682, i16 0, i16 1883, i16 681, i16 0, i16 681, i16 0, i16 738, i16 0, i16 749, i16 0, i16 901, i16 0, i16 927, i16 0, i16 1886, i16 682, i16 0, i16 1885, i16 681, i16 0, i16 682, i16 0, i16 739, i16 0, i16 750, i16 0, i16 902, i16 0, i16 928, i16 0, i16 10, i16 12, i16 14, i16 22, i16 30, i16 38, i16 40, i16 42, i16 50, i16 58, i16 681, i16 0, i16 738, i16 0, i16 1928, i16 1880, i16 0, i16 1927, i16 1879, i16 0, i16 749, i16 0, i16 1932, i16 884, i16 0, i16 1931, i16 883, i16 0, i16 901, i16 0, i16 1936, i16 884, i16 0, i16 1935, i16 883, i16 0, i16 927, i16 0, i16 682, i16 0, i16 739, i16 0, i16 1930, i16 1880, i16 0, i16 1929, i16 1879, i16 0, i16 750, i16 0, i16 1934, i16 884, i16 0, i16 1933, i16 883, i16 0, i16 902, i16 0, i16 1938, i16 884, i16 0, i16 1937, i16 883, i16 0, i16 928, i16 0, i16 10, i16 12, i16 20, i16 22, i16 30, i16 32, i16 34, i16 42, i16 44, i16 52, i16 681, i16 0, i16 1940, i16 837, i16 0, i16 1939, i16 836, i16 0, i16 738, i16 0, i16 749, i16 0, i16 1944, i16 902, i16 0, i16 1943, i16 901, i16 0, i16 901, i16 0, i16 927, i16 0, i16 682, i16 0, i16 1942, i16 837, i16 0, i16 1941, i16 836, i16 0, i16 739, i16 0, i16 750, i16 0, i16 1946, i16 902, i16 0, i16 1945, i16 901, i16 0, i16 902, i16 0, i16 928, i16 0, i16 2, i16 10, i16 295, i16 278, i16 0, i16 294, i16 277, i16 0, i16 161, i16 0, i16 296, i16 278, i16 0, i16 162, i16 0, i16 5, i16 139, i16 273, i16 407, i16 541, i16 387, i16 386, i16 0, i16 381, i16 380, i16 0, i16 375, i16 374, i16 0, i16 369, i16 368, i16 0, i16 363, i16 362, i16 0, i16 357, i16 356, i16 0, i16 351, i16 350, i16 0, i16 345, i16 344, i16 0, i16 338, i16 337, i16 0, i16 331, i16 330, i16 0, i16 325, i16 324, i16 0, i16 319, i16 318, i16 0, i16 313, i16 312, i16 0, i16 307, i16 306, i16 0, i16 301, i16 300, i16 0, i16 295, i16 294, i16 0, i16 289, i16 288, i16 0, i16 283, i16 282, i16 0, i16 277, i16 276, i16 0, i16 271, i16 270, i16 0, i16 265, i16 264, i16 0, i16 259, i16 258, i16 0, i16 253, i16 252, i16 0, i16 247, i16 246, i16 0, i16 241, i16 240, i16 0, i16 235, i16 234, i16 0, i16 229, i16 228, i16 0, i16 223, i16 222, i16 0, i16 217, i16 216, i16 0, i16 211, i16 210, i16 0, i16 205, i16 204, i16 0, i16 199, i16 198, i16 0, i16 193, i16 192, i16 0, i16 187, i16 186, i16 0, i16 181, i16 180, i16 0, i16 175, i16 174, i16 0, i16 169, i16 168, i16 0, i16 163, i16 162, i16 0, i16 157, i16 156, i16 0, i16 151, i16 150, i16 0, i16 145, i16 144, i16 0, i16 139, i16 138, i16 0, i16 133, i16 132, i16 0, i16 127, i16 126, i16 0, i16 404, i16 0, i16 388, i16 386, i16 0, i16 382, i16 380, i16 0, i16 376, i16 374, i16 0, i16 370, i16 368, i16 0, i16 364, i16 362, i16 0, i16 358, i16 356, i16 0, i16 352, i16 350, i16 0, i16 346, i16 344, i16 0, i16 339, i16 337, i16 0, i16 332, i16 330, i16 0, i16 326, i16 324, i16 0, i16 320, i16 318, i16 0, i16 314, i16 312, i16 0, i16 308, i16 306, i16 0, i16 302, i16 300, i16 0, i16 296, i16 294, i16 0, i16 290, i16 288, i16 0, i16 284, i16 282, i16 0, i16 278, i16 276, i16 0, i16 272, i16 270, i16 0, i16 266, i16 264, i16 0, i16 260, i16 258, i16 0, i16 254, i16 252, i16 0, i16 248, i16 246, i16 0, i16 242, i16 240, i16 0, i16 236, i16 234, i16 0, i16 230, i16 228, i16 0, i16 224, i16 222, i16 0, i16 218, i16 216, i16 0, i16 212, i16 210, i16 0, i16 206, i16 204, i16 0, i16 200, i16 198, i16 0, i16 194, i16 192, i16 0, i16 188, i16 186, i16 0, i16 182, i16 180, i16 0, i16 176, i16 174, i16 0, i16 170, i16 168, i16 0, i16 164, i16 162, i16 0, i16 158, i16 156, i16 0, i16 152, i16 150, i16 0, i16 146, i16 144, i16 0, i16 140, i16 138, i16 0, i16 134, i16 132, i16 0, i16 128, i16 126, i16 0, i16 405, i16 0, i16 389, i16 386, i16 0, i16 383, i16 380, i16 0, i16 377, i16 374, i16 0, i16 371, i16 368, i16 0, i16 365, i16 362, i16 0, i16 359, i16 356, i16 0, i16 353, i16 350, i16 0, i16 347, i16 344, i16 0, i16 340, i16 337, i16 0, i16 333, i16 330, i16 0, i16 327, i16 324, i16 0, i16 321, i16 318, i16 0, i16 315, i16 312, i16 0, i16 309, i16 306, i16 0, i16 303, i16 300, i16 0, i16 297, i16 294, i16 0, i16 291, i16 288, i16 0, i16 285, i16 282, i16 0, i16 279, i16 276, i16 0, i16 273, i16 270, i16 0, i16 267, i16 264, i16 0, i16 261, i16 258, i16 0, i16 255, i16 252, i16 0, i16 249, i16 246, i16 0, i16 243, i16 240, i16 0, i16 237, i16 234, i16 0, i16 231, i16 228, i16 0, i16 225, i16 222, i16 0, i16 219, i16 216, i16 0, i16 213, i16 210, i16 0, i16 207, i16 204, i16 0, i16 201, i16 198, i16 0, i16 195, i16 192, i16 0, i16 189, i16 186, i16 0, i16 183, i16 180, i16 0, i16 177, i16 174, i16 0, i16 171, i16 168, i16 0, i16 165, i16 162, i16 0, i16 159, i16 156, i16 0, i16 153, i16 150, i16 0, i16 147, i16 144, i16 0, i16 141, i16 138, i16 0, i16 135, i16 132, i16 0, i16 129, i16 126, i16 0, i16 406, i16 0, i16 390, i16 386, i16 0, i16 384, i16 380, i16 0, i16 378, i16 374, i16 0, i16 372, i16 368, i16 0, i16 366, i16 362, i16 0, i16 360, i16 356, i16 0, i16 354, i16 350, i16 0, i16 348, i16 344, i16 0, i16 341, i16 337, i16 0, i16 334, i16 330, i16 0, i16 328, i16 324, i16 0, i16 322, i16 318, i16 0, i16 316, i16 312, i16 0, i16 310, i16 306, i16 0, i16 304, i16 300, i16 0, i16 298, i16 294, i16 0, i16 292, i16 288, i16 0, i16 286, i16 282, i16 0, i16 280, i16 276, i16 0, i16 274, i16 270, i16 0, i16 268, i16 264, i16 0, i16 262, i16 258, i16 0, i16 256, i16 252, i16 0, i16 250, i16 246, i16 0, i16 244, i16 240, i16 0, i16 238, i16 234, i16 0, i16 232, i16 228, i16 0, i16 226, i16 222, i16 0, i16 220, i16 216, i16 0, i16 214, i16 210, i16 0, i16 208, i16 204, i16 0, i16 202, i16 198, i16 0, i16 196, i16 192, i16 0, i16 190, i16 186, i16 0, i16 184, i16 180, i16 0, i16 178, i16 174, i16 0, i16 172, i16 168, i16 0, i16 166, i16 162, i16 0, i16 160, i16 156, i16 0, i16 154, i16 150, i16 0, i16 148, i16 144, i16 0, i16 142, i16 138, i16 0, i16 136, i16 132, i16 0, i16 130, i16 126, i16 0, i16 407, i16 0, i16 391, i16 386, i16 0, i16 385, i16 380, i16 0, i16 379, i16 374, i16 0, i16 373, i16 368, i16 0, i16 367, i16 362, i16 0, i16 361, i16 356, i16 0, i16 355, i16 350, i16 0, i16 349, i16 344, i16 0, i16 342, i16 337, i16 0, i16 335, i16 330, i16 0, i16 329, i16 324, i16 0, i16 323, i16 318, i16 0, i16 317, i16 312, i16 0, i16 311, i16 306, i16 0, i16 305, i16 300, i16 0, i16 299, i16 294, i16 0, i16 293, i16 288, i16 0, i16 287, i16 282, i16 0, i16 281, i16 276, i16 0, i16 275, i16 270, i16 0, i16 269, i16 264, i16 0, i16 263, i16 258, i16 0, i16 257, i16 252, i16 0, i16 251, i16 246, i16 0, i16 245, i16 240, i16 0, i16 239, i16 234, i16 0, i16 233, i16 228, i16 0, i16 227, i16 222, i16 0, i16 221, i16 216, i16 0, i16 215, i16 210, i16 0, i16 209, i16 204, i16 0, i16 203, i16 198, i16 0, i16 197, i16 192, i16 0, i16 191, i16 186, i16 0, i16 185, i16 180, i16 0, i16 179, i16 174, i16 0, i16 173, i16 168, i16 0, i16 167, i16 162, i16 0, i16 161, i16 156, i16 0, i16 155, i16 150, i16 0, i16 149, i16 144, i16 0, i16 143, i16 138, i16 0, i16 137, i16 132, i16 0, i16 131, i16 126, i16 0, i16 408, i16 0, i16 1, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 263, i16 1158, i16 0, i16 1159, i16 0, i16 2, i16 272, i16 1160, i16 0, i16 1161, i16 0, i16 2, i16 1375, i16 1163, i16 748, i16 1164, i16 749, i16 2, i16 1381, i16 1165, i16 750, i16 1166, i16 751, i16 2, i16 1392, i16 1167, i16 752, i16 1168, i16 753, i16 2, i16 1401, i16 1169, i16 754, i16 1170, i16 755, i16 1, i16 1156, i16 244, i16 0, i16 1157, i16 253, i16 0, i16 1162, i16 1370, i16 756, i16 1155, i16 22611, i16 1, i16 0, i16 1, i16 1171, i16 142, i16 0, i16 1172, i16 163, i16 0, i16 1173, i16 699, i16 757, i16 1174, i16 907, i16 758, i16 1175, i16 762, i16 759, i16 1176, i16 968, i16 760, i16 1155, i16 22611, i16 1, i16 0, i16 1, i16 1177, i16 306, i16 0, i16 1178, i16 1512, i16 761, i16 1179, i16 1576, i16 762, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 145, i16 900, i16 0, i16 1183, i16 0, i16 901, i16 0, i16 902, i16 0, i16 903, i16 0, i16 2, i16 636, i16 1196, i16 763, i16 974, i16 764, i16 2, i16 845, i16 1197, i16 765, i16 1014, i16 766, i16 2, i16 712, i16 992, i16 767, i16 990, i16 768, i16 2, i16 920, i16 1030, i16 769, i16 1032, i16 770, i16 2, i16 749, i16 995, i16 771, i16 994, i16 772, i16 2, i16 956, i16 1035, i16 773, i16 1034, i16 774, i16 2, i16 762, i16 1198, i16 775, i16 996, i16 775, i16 2, i16 968, i16 1199, i16 776, i16 1036, i16 776, i16 1, i16 1180, i16 121, i16 0, i16 1181, i16 127, i16 0, i16 1182, i16 142, i16 0, i16 1184, i16 161, i16 0, i16 1185, i16 163, i16 0, i16 1186, i16 173, i16 0, i16 1187, i16 178, i16 0, i16 1188, i16 303, i16 0, i16 1189, i16 309, i16 0, i16 1190, i16 322, i16 0, i16 1191, i16 327, i16 0, i16 1192, i16 330, i16 0, i16 1193, i16 340, i16 0, i16 1194, i16 343, i16 0, i16 1195, i16 346, i16 0, i16 978, i16 656, i16 777, i16 1018, i16 864, i16 778, i16 985, i16 699, i16 779, i16 1025, i16 907, i16 780, i16 1001, i16 787, i16 781, i16 1041, i16 992, i16 782, i16 1004, i16 809, i16 783, i16 1043, i16 1013, i16 784, i16 1200, i16 1506, i16 785, i16 1201, i16 1570, i16 786, i16 1202, i16 1514, i16 787, i16 1203, i16 1579, i16 788, i16 1204, i16 1532, i16 789, i16 1205, i16 1597, i16 790, i16 1206, i16 1538, i16 791, i16 1207, i16 1603, i16 792, i16 1208, i16 1541, i16 793, i16 1209, i16 1606, i16 794, i16 1210, i16 1549, i16 795, i16 1211, i16 1614, i16 796, i16 1212, i16 1553, i16 797, i16 1213, i16 1618, i16 798, i16 1214, i16 1556, i16 799, i16 1215, i16 1621, i16 800, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 749, i16 1219, i16 801, i16 1220, i16 802, i16 2, i16 956, i16 1221, i16 803, i16 1222, i16 804, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1218, i16 161, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 12, i16 22611, i16 1223, i16 805, i16 1224, i16 805, i16 1225, i16 805, i16 1226, i16 805, i16 1227, i16 805, i16 1228, i16 805, i16 1229, i16 805, i16 1230, i16 805, i16 1231, i16 805, i16 1232, i16 805, i16 1233, i16 805, i16 1234, i16 805, i16 1, i16 1155, i16 22623, i16 1, i16 0, i16 1, i16 1188, i16 303, i16 0, i16 1235, i16 316, i16 0, i16 1236, i16 322, i16 0, i16 1237, i16 338, i16 0, i16 1238, i16 343, i16 0, i16 1239, i16 346, i16 0, i16 1200, i16 1506, i16 785, i16 1201, i16 1570, i16 786, i16 1240, i16 1524, i16 806, i16 1241, i16 1588, i16 807, i16 1242, i16 1532, i16 808, i16 1243, i16 1597, i16 809, i16 1244, i16 1549, i16 810, i16 1245, i16 1614, i16 811, i16 1246, i16 1553, i16 812, i16 1247, i16 1618, i16 813, i16 1248, i16 1556, i16 814, i16 1249, i16 1621, i16 815, i16 1155, i16 22611, i16 1, i16 0, i16 4, i16 189, i16 1250, i16 0, i16 1251, i16 0, i16 1252, i16 0, i16 1253, i16 0, i16 3, i16 645, i16 974, i16 816, i16 975, i16 817, i16 977, i16 818, i16 2, i16 769, i16 996, i16 819, i16 997, i16 820, i16 3, i16 853, i16 1014, i16 821, i16 1015, i16 822, i16 1017, i16 823, i16 2, i16 974, i16 1036, i16 824, i16 1037, i16 825, i16 1, i16 895, i16 53, i16 0, i16 1046, i16 1026, i16 826, i16 1007, i16 822, i16 827, i16 1004, i16 813, i16 828, i16 1043, i16 1017, i16 829, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 127, i16 1254, i16 0, i16 1255, i16 0, i16 898, i16 0, i16 1256, i16 0, i16 1257, i16 0, i16 2, i16 656, i16 979, i16 830, i16 981, i16 831, i16 2, i16 864, i16 1019, i16 832, i16 1021, i16 833, i16 3, i16 670, i16 1262, i16 834, i16 1263, i16 835, i16 984, i16 836, i16 3, i16 878, i16 1264, i16 837, i16 1265, i16 838, i16 1024, i16 839, i16 2, i16 736, i16 1266, i16 840, i16 1267, i16 841, i16 2, i16 943, i16 1268, i16 842, i16 1269, i16 843, i16 2, i16 749, i16 1270, i16 844, i16 1271, i16 845, i16 2, i16 956, i16 1272, i16 846, i16 1273, i16 847, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1258, i16 158, i16 0, i16 1259, i16 161, i16 0, i16 1260, i16 173, i16 0, i16 1261, i16 189, i16 0, i16 1000, i16 787, i16 848, i16 1040, i16 992, i16 849, i16 1008, i16 834, i16 850, i16 1047, i16 1038, i16 851, i16 1155, i16 22611, i16 1, i16 0, i16 4, i16 121, i16 1274, i16 0, i16 1275, i16 0, i16 1276, i16 0, i16 1277, i16 0, i16 4, i16 127, i16 1255, i16 0, i16 1278, i16 0, i16 1279, i16 0, i16 1280, i16 0, i16 2, i16 133, i16 1281, i16 0, i16 1282, i16 0, i16 2, i16 142, i16 1284, i16 0, i16 1285, i16 0, i16 2, i16 173, i16 1287, i16 0, i16 1260, i16 0, i16 5, i16 194, i16 1288, i16 0, i16 1253, i16 0, i16 1250, i16 0, i16 1289, i16 0, i16 1252, i16 0, i16 4, i16 636, i16 971, i16 852, i16 970, i16 853, i16 972, i16 854, i16 973, i16 855, i16 4, i16 845, i16 1011, i16 856, i16 1010, i16 857, i16 1012, i16 858, i16 1013, i16 859, i16 2, i16 656, i16 978, i16 860, i16 981, i16 861, i16 2, i16 864, i16 1018, i16 862, i16 1021, i16 863, i16 2, i16 667, i16 1290, i16 864, i16 1291, i16 865, i16 2, i16 875, i16 1292, i16 864, i16 1293, i16 866, i16 2, i16 670, i16 983, i16 867, i16 984, i16 868, i16 2, i16 878, i16 1023, i16 869, i16 1024, i16 870, i16 2, i16 709, i16 1295, i16 871, i16 1296, i16 872, i16 2, i16 917, i16 1297, i16 871, i16 1298, i16 872, i16 3, i16 992, i16 1002, i16 873, i16 1000, i16 874, i16 1040, i16 875, i16 3, i16 645, i16 974, i16 876, i16 975, i16 817, i16 977, i16 877, i16 2, i16 769, i16 996, i16 819, i16 997, i16 820, i16 3, i16 853, i16 1014, i16 878, i16 1015, i16 822, i16 1017, i16 879, i16 2, i16 974, i16 1036, i16 824, i16 1037, i16 825, i16 1, i16 889, i16 16, i16 0, i16 1283, i16 138, i16 0, i16 1286, i16 156, i16 0, i16 1294, i16 696, i16 880, i16 1299, i16 734, i16 881, i16 1300, i16 941, i16 882, i16 1004, i16 813, i16 828, i16 1043, i16 1017, i16 829, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 46, i16 897, i16 0, i16 896, i16 0, i16 2, i16 121, i16 1301, i16 0, i16 1302, i16 0, i16 2, i16 636, i16 972, i16 883, i16 976, i16 884, i16 2, i16 845, i16 1012, i16 885, i16 1016, i16 886, i16 2, i16 787, i16 1305, i16 781, i16 1001, i16 781, i16 2, i16 992, i16 1306, i16 781, i16 1041, i16 782, i16 2, i16 799, i16 1307, i16 887, i16 1003, i16 887, i16 2, i16 1003, i16 1308, i16 887, i16 1042, i16 888, i16 1, i16 1303, i16 152, i16 0, i16 1186, i16 173, i16 0, i16 1304, i16 176, i16 0, i16 991, i16 717, i16 889, i16 1031, i16 925, i16 890, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 699, i16 1315, i16 891, i16 1316, i16 892, i16 2, i16 907, i16 1317, i16 893, i16 1318, i16 894, i16 2, i16 717, i16 1319, i16 895, i16 1320, i16 896, i16 2, i16 925, i16 1321, i16 897, i16 1322, i16 898, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1309, i16 127, i16 0, i16 1310, i16 138, i16 0, i16 1311, i16 142, i16 0, i16 1312, i16 145, i16 0, i16 1313, i16 152, i16 0, i16 1314, i16 187, i16 0, i16 982, i16 656, i16 899, i16 1022, i16 864, i16 900, i16 987, i16 696, i16 901, i16 1027, i16 904, i16 902, i16 989, i16 712, i16 903, i16 1029, i16 920, i16 904, i16 1009, i16 829, i16 905, i16 1048, i16 1033, i16 906, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 749, i16 1219, i16 907, i16 1220, i16 908, i16 2, i16 956, i16 1221, i16 909, i16 1222, i16 910, i16 2, i16 824, i16 1325, i16 911, i16 1326, i16 912, i16 2, i16 1028, i16 1327, i16 913, i16 1328, i16 914, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1323, i16 161, i16 0, i16 1324, i16 184, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 76, i16 1632, i16 1329, i16 915, i16 1330, i16 915, i16 1331, i16 915, i16 1332, i16 915, i16 1333, i16 915, i16 1334, i16 915, i16 1335, i16 915, i16 1336, i16 915, i16 1337, i16 915, i16 1338, i16 915, i16 1339, i16 915, i16 1340, i16 915, i16 1341, i16 915, i16 1342, i16 915, i16 1343, i16 915, i16 1344, i16 915, i16 1345, i16 915, i16 1346, i16 915, i16 1347, i16 915, i16 1348, i16 915, i16 1349, i16 915, i16 1350, i16 915, i16 1351, i16 915, i16 1352, i16 915, i16 1353, i16 915, i16 1354, i16 915, i16 1355, i16 915, i16 1356, i16 915, i16 1357, i16 915, i16 1358, i16 915, i16 1359, i16 915, i16 1360, i16 915, i16 1361, i16 915, i16 1362, i16 915, i16 1363, i16 915, i16 1364, i16 915, i16 1365, i16 915, i16 1366, i16 915, i16 1367, i16 916, i16 1368, i16 916, i16 1369, i16 916, i16 1370, i16 916, i16 1371, i16 916, i16 1372, i16 916, i16 1373, i16 916, i16 1374, i16 916, i16 1375, i16 916, i16 1376, i16 916, i16 1377, i16 916, i16 1378, i16 916, i16 1379, i16 916, i16 1380, i16 916, i16 1381, i16 916, i16 1382, i16 916, i16 1383, i16 916, i16 1384, i16 916, i16 1385, i16 916, i16 1386, i16 916, i16 1387, i16 916, i16 1388, i16 916, i16 1389, i16 916, i16 1390, i16 916, i16 1391, i16 916, i16 1392, i16 916, i16 1393, i16 916, i16 1394, i16 916, i16 1395, i16 916, i16 1396, i16 916, i16 1397, i16 916, i16 1398, i16 916, i16 1399, i16 916, i16 1400, i16 916, i16 1401, i16 916, i16 1402, i16 916, i16 1403, i16 916, i16 1404, i16 916, i16 1, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 3, i16 1216, i16 0, i16 1405, i16 0, i16 1406, i16 0, i16 1407, i16 0, i16 1408, i16 0, i16 5, i16 16, i16 1217, i16 0, i16 1409, i16 0, i16 1410, i16 0, i16 1411, i16 0, i16 1412, i16 0, i16 2, i16 133, i16 1414, i16 0, i16 1415, i16 0, i16 4, i16 163, i16 996, i16 917, i16 998, i16 918, i16 1036, i16 919, i16 1038, i16 920, i16 4, i16 178, i16 1004, i16 921, i16 1006, i16 922, i16 1043, i16 923, i16 1045, i16 924, i16 6, i16 864, i16 1424, i16 925, i16 1425, i16 926, i16 1426, i16 927, i16 1427, i16 928, i16 1428, i16 929, i16 1429, i16 930, i16 6, i16 656, i16 1430, i16 931, i16 1431, i16 932, i16 1432, i16 933, i16 1433, i16 934, i16 1434, i16 935, i16 1435, i16 936, i16 6, i16 878, i16 1436, i16 937, i16 1437, i16 938, i16 1438, i16 939, i16 1439, i16 940, i16 1440, i16 941, i16 1441, i16 942, i16 6, i16 670, i16 1442, i16 943, i16 1443, i16 944, i16 1444, i16 945, i16 1445, i16 946, i16 1446, i16 947, i16 1447, i16 948, i16 12, i16 878, i16 1448, i16 949, i16 1449, i16 950, i16 1450, i16 951, i16 1451, i16 952, i16 1452, i16 953, i16 1453, i16 954, i16 1454, i16 955, i16 1455, i16 956, i16 1456, i16 953, i16 1457, i16 954, i16 1458, i16 955, i16 1459, i16 956, i16 12, i16 670, i16 1460, i16 957, i16 1461, i16 958, i16 1462, i16 959, i16 1463, i16 960, i16 1464, i16 961, i16 1465, i16 962, i16 1466, i16 963, i16 1467, i16 964, i16 1468, i16 961, i16 1469, i16 962, i16 1470, i16 963, i16 1471, i16 964, i16 6, i16 907, i16 1472, i16 965, i16 1473, i16 966, i16 1474, i16 967, i16 1475, i16 968, i16 1476, i16 969, i16 1477, i16 970, i16 6, i16 699, i16 1478, i16 971, i16 1479, i16 972, i16 1480, i16 973, i16 1481, i16 974, i16 1482, i16 975, i16 1483, i16 976, i16 6, i16 943, i16 1484, i16 977, i16 1485, i16 978, i16 1486, i16 979, i16 1487, i16 980, i16 1488, i16 981, i16 1489, i16 982, i16 6, i16 736, i16 1490, i16 983, i16 1491, i16 984, i16 1492, i16 985, i16 1493, i16 986, i16 1494, i16 987, i16 1495, i16 988, i16 6, i16 956, i16 1496, i16 989, i16 1497, i16 990, i16 1498, i16 991, i16 1499, i16 992, i16 1500, i16 993, i16 1501, i16 994, i16 6, i16 749, i16 1502, i16 995, i16 1503, i16 996, i16 1504, i16 997, i16 1505, i16 998, i16 1506, i16 999, i16 1507, i16 1000, i16 6, i16 992, i16 1508, i16 1001, i16 1509, i16 1002, i16 1510, i16 1003, i16 1511, i16 1004, i16 1512, i16 1005, i16 1513, i16 1006, i16 6, i16 787, i16 1514, i16 1007, i16 1515, i16 1008, i16 1516, i16 1009, i16 1517, i16 1010, i16 1518, i16 1011, i16 1519, i16 1012, i16 6, i16 1003, i16 1520, i16 1013, i16 1521, i16 1014, i16 1522, i16 1015, i16 1523, i16 1016, i16 1524, i16 1017, i16 1525, i16 1018, i16 6, i16 799, i16 1526, i16 1019, i16 1527, i16 1020, i16 1528, i16 1021, i16 1529, i16 1022, i16 1530, i16 1023, i16 1531, i16 1024, i16 6, i16 1038, i16 1532, i16 1025, i16 1533, i16 1026, i16 1534, i16 1027, i16 1535, i16 1028, i16 1536, i16 1029, i16 1537, i16 1030, i16 6, i16 834, i16 1538, i16 1031, i16 1539, i16 1032, i16 1540, i16 1033, i16 1541, i16 1034, i16 1542, i16 1035, i16 1543, i16 1036, i16 1, i16 1413, i16 127, i16 0, i16 1416, i16 142, i16 0, i16 1417, i16 158, i16 0, i16 1418, i16 161, i16 0, i16 1419, i16 163, i16 0, i16 1420, i16 173, i16 0, i16 1421, i16 176, i16 0, i16 1422, i16 178, i16 0, i16 1423, i16 189, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 9, i16 31, i16 890, i16 0, i16 892, i16 0, i16 1544, i16 0, i16 891, i16 0, i16 1545, i16 0, i16 1546, i16 0, i16 1547, i16 0, i16 893, i16 0, i16 894, i16 0, i16 2, i16 42, i16 1548, i16 0, i16 1549, i16 0, i16 3, i16 194, i16 1550, i16 0, i16 906, i16 0, i16 905, i16 0, i16 2, i16 238, i16 907, i16 0, i16 1551, i16 0, i16 16, i16 482, i16 961, i16 1037, i16 962, i16 1037, i16 963, i16 1037, i16 967, i16 1037, i16 968, i16 1037, i16 969, i16 1037, i16 964, i16 1037, i16 965, i16 1037, i16 966, i16 1037, i16 954, i16 1037, i16 955, i16 1037, i16 956, i16 1037, i16 959, i16 1037, i16 960, i16 1037, i16 957, i16 1037, i16 958, i16 1037, i16 4, i16 520, i16 1552, i16 1037, i16 1553, i16 1037, i16 1554, i16 1037, i16 1555, i16 1037, i16 35, i16 1049, i16 1050, i16 641, i16 1049, i16 642, i16 1052, i16 643, i16 1051, i16 644, i16 1054, i16 645, i16 1053, i16 646, i16 1056, i16 647, i16 1055, i16 648, i16 1058, i16 649, i16 1057, i16 650, i16 1060, i16 651, i16 1059, i16 652, i16 1062, i16 653, i16 1061, i16 654, i16 1064, i16 655, i16 1063, i16 656, i16 1066, i16 657, i16 1065, i16 658, i16 1068, i16 659, i16 1067, i16 660, i16 1070, i16 1038, i16 1556, i16 1038, i16 1073, i16 665, i16 1557, i16 1039, i16 1069, i16 661, i16 1071, i16 1040, i16 1558, i16 1040, i16 1072, i16 1041, i16 1559, i16 1041, i16 1079, i16 1042, i16 1560, i16 1042, i16 1081, i16 1043, i16 1561, i16 1044, i16 1562, i16 1045, i16 1563, i16 1043, i16 2, i16 1135, i16 1076, i16 667, i16 1075, i16 1046, i16 6, i16 1148, i16 1077, i16 669, i16 1074, i16 1047, i16 1078, i16 1048, i16 1564, i16 1049, i16 1080, i16 1050, i16 1082, i16 1051, i16 15, i16 1160, i16 1084, i16 1052, i16 1085, i16 1053, i16 1090, i16 1054, i16 1091, i16 1055, i16 1565, i16 1056, i16 1566, i16 1057, i16 1083, i16 1058, i16 1086, i16 1059, i16 1087, i16 1060, i16 1088, i16 1061, i16 1089, i16 1062, i16 1108, i16 1063, i16 1109, i16 1064, i16 1567, i16 1065, i16 1568, i16 1066, i16 8, i16 1276, i16 1098, i16 1067, i16 1099, i16 1068, i16 1100, i16 1069, i16 1101, i16 1070, i16 1094, i16 1071, i16 1095, i16 1072, i16 1096, i16 1073, i16 1097, i16 1074, i16 26, i16 1320, i16 1102, i16 1075, i16 1103, i16 1076, i16 1104, i16 1077, i16 1105, i16 1078, i16 1092, i16 1079, i16 1093, i16 1080, i16 1106, i16 1081, i16 1107, i16 1082, i16 1570, i16 1083, i16 1571, i16 1084, i16 1572, i16 1085, i16 1573, i16 1086, i16 1110, i16 1087, i16 1111, i16 1088, i16 1112, i16 1089, i16 1113, i16 1090, i16 1114, i16 1091, i16 1115, i16 1092, i16 1116, i16 1093, i16 1117, i16 1094, i16 1118, i16 1095, i16 1119, i16 1096, i16 1120, i16 1097, i16 1121, i16 1098, i16 1122, i16 1099, i16 1123, i16 1100, i16 1, i16 1569, i16 1229, i16 1101, i16 1155, i16 22611, i16 1, i16 0, i16 1, i16 1574, i16 127, i16 0, i16 1575, i16 142, i16 0, i16 1576, i16 145, i16 0, i16 1577, i16 154, i16 0, i16 1578, i16 173, i16 0, i16 1579, i16 178, i16 0, i16 1020, i16 864, i16 1102, i16 980, i16 656, i16 1103, i16 1026, i16 907, i16 1104, i16 986, i16 699, i16 1105, i16 1028, i16 920, i16 1106, i16 988, i16 712, i16 1107, i16 1033, i16 937, i16 1108, i16 993, i16 729, i16 1109, i16 1039, i16 992, i16 1110, i16 999, i16 787, i16 1111, i16 1044, i16 1013, i16 1112, i16 1005, i16 809, i16 1113, i16 1155, i16 22611, i16 1, i16 0, i16 3, i16 127, i16 1580, i16 0, i16 898, i16 0, i16 1581, i16 0, i16 3, i16 138, i16 1582, i16 0, i16 899, i16 0, i16 1583, i16 0, i16 2, i16 656, i16 1588, i16 1114, i16 1589, i16 1115, i16 2, i16 864, i16 1590, i16 1116, i16 1591, i16 1117, i16 2, i16 670, i16 1592, i16 1118, i16 1593, i16 1119, i16 2, i16 878, i16 1594, i16 1120, i16 1595, i16 1121, i16 2, i16 696, i16 1596, i16 1122, i16 1597, i16 1123, i16 2, i16 904, i16 1598, i16 1124, i16 1599, i16 1125, i16 2, i16 699, i16 1219, i16 1126, i16 1220, i16 1127, i16 2, i16 907, i16 1221, i16 1128, i16 1222, i16 1129, i16 2, i16 736, i16 1600, i16 1130, i16 1601, i16 1131, i16 2, i16 943, i16 1602, i16 1132, i16 1603, i16 1133, i16 2, i16 777, i16 1604, i16 1134, i16 1605, i16 1135, i16 2, i16 982, i16 1606, i16 1136, i16 1607, i16 1137, i16 2, i16 781, i16 1608, i16 1138, i16 1609, i16 1139, i16 2, i16 986, i16 1610, i16 1140, i16 1611, i16 1141, i16 2, i16 799, i16 1612, i16 1142, i16 1613, i16 1143, i16 2, i16 1003, i16 1614, i16 1144, i16 1615, i16 1145, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1584, i16 158, i16 0, i16 1585, i16 168, i16 0, i16 1586, i16 171, i16 0, i16 1587, i16 176, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 127, i16 1254, i16 0, i16 1255, i16 0, i16 898, i16 0, i16 1256, i16 0, i16 1257, i16 0, i16 2, i16 656, i16 979, i16 830, i16 981, i16 831, i16 2, i16 864, i16 1019, i16 832, i16 1021, i16 833, i16 3, i16 670, i16 1262, i16 834, i16 1263, i16 835, i16 984, i16 836, i16 5, i16 878, i16 1264, i16 837, i16 1265, i16 838, i16 1024, i16 839, i16 1266, i16 840, i16 1267, i16 841, i16 2, i16 943, i16 1268, i16 842, i16 1269, i16 843, i16 2, i16 749, i16 1270, i16 844, i16 1271, i16 845, i16 2, i16 956, i16 1272, i16 846, i16 1273, i16 847, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1258, i16 158, i16 0, i16 1259, i16 161, i16 0, i16 1260, i16 173, i16 0, i16 1261, i16 189, i16 0, i16 1000, i16 787, i16 848, i16 1040, i16 992, i16 849, i16 1008, i16 834, i16 850, i16 1047, i16 1038, i16 851, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 127, i16 1616, i16 0, i16 1617, i16 0, i16 4, i16 656, i16 1588, i16 1146, i16 1589, i16 1147, i16 1618, i16 1148, i16 1619, i16 1149, i16 4, i16 864, i16 1590, i16 1150, i16 1591, i16 1151, i16 1620, i16 1152, i16 1621, i16 1153, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 46, i16 74, i16 908, i16 0, i16 909, i16 0, i16 910, i16 0, i16 911, i16 0, i16 912, i16 0, i16 913, i16 0, i16 914, i16 0, i16 915, i16 0, i16 916, i16 0, i16 917, i16 0, i16 918, i16 0, i16 919, i16 0, i16 920, i16 0, i16 921, i16 0, i16 922, i16 0, i16 923, i16 0, i16 924, i16 0, i16 925, i16 0, i16 926, i16 0, i16 927, i16 0, i16 928, i16 0, i16 929, i16 0, i16 930, i16 0, i16 931, i16 0, i16 932, i16 0, i16 933, i16 0, i16 934, i16 0, i16 935, i16 0, i16 936, i16 0, i16 937, i16 0, i16 938, i16 0, i16 939, i16 0, i16 940, i16 0, i16 941, i16 0, i16 942, i16 0, i16 943, i16 0, i16 944, i16 0, i16 945, i16 0, i16 946, i16 0, i16 947, i16 0, i16 948, i16 0, i16 949, i16 0, i16 950, i16 0, i16 951, i16 0, i16 952, i16 0, i16 953, i16 0, i16 3, i16 1508, i16 1125, i16 1154, i16 1136, i16 1155, i16 1128, i16 1156, i16 3, i16 1514, i16 1126, i16 1157, i16 1127, i16 1158, i16 1138, i16 1159, i16 3, i16 1524, i16 1144, i16 1160, i16 1130, i16 1161, i16 1137, i16 1162, i16 3, i16 1572, i16 1140, i16 1163, i16 1152, i16 1164, i16 1143, i16 1165, i16 3, i16 1579, i16 1141, i16 1166, i16 1142, i16 1167, i16 1154, i16 1168, i16 3, i16 1588, i16 1129, i16 1169, i16 1145, i16 1170, i16 1153, i16 1171, i16 1, i16 1124, i16 1506, i16 1172, i16 1133, i16 1532, i16 1173, i16 1131, i16 1534, i16 1174, i16 1132, i16 1538, i16 1175, i16 1135, i16 1549, i16 1176, i16 1134, i16 1556, i16 1177, i16 1139, i16 1570, i16 1178, i16 1146, i16 1594, i16 1179, i16 1149, i16 1597, i16 1180, i16 1147, i16 1599, i16 1181, i16 1148, i16 1603, i16 1182, i16 1151, i16 1614, i16 1183, i16 1150, i16 1621, i16 1184, i16 1155, i16 22611, i16 1, i16 0, i16 6, i16 145, i16 904, i16 0, i16 900, i16 0, i16 1183, i16 0, i16 901, i16 0, i16 902, i16 0, i16 903, i16 0, i16 2, i16 712, i16 992, i16 767, i16 990, i16 768, i16 2, i16 920, i16 1030, i16 769, i16 1032, i16 770, i16 1, i16 1181, i16 127, i16 0, i16 1180, i16 136, i16 0, i16 1182, i16 142, i16 0, i16 1622, i16 163, i16 0, i16 1186, i16 173, i16 0, i16 1187, i16 178, i16 0, i16 1188, i16 303, i16 0, i16 1189, i16 309, i16 0, i16 1190, i16 322, i16 0, i16 1192, i16 330, i16 0, i16 1193, i16 340, i16 0, i16 1194, i16 343, i16 0, i16 1195, i16 346, i16 0, i16 978, i16 656, i16 777, i16 1018, i16 864, i16 778, i16 1196, i16 686, i16 763, i16 1197, i16 894, i16 765, i16 985, i16 699, i16 779, i16 1025, i16 907, i16 780, i16 996, i16 762, i16 1185, i16 1036, i16 968, i16 1186, i16 1001, i16 787, i16 781, i16 1041, i16 992, i16 782, i16 1004, i16 809, i16 783, i16 1043, i16 1013, i16 784, i16 1200, i16 1506, i16 785, i16 1201, i16 1570, i16 786, i16 1202, i16 1514, i16 787, i16 1203, i16 1579, i16 788, i16 1204, i16 1532, i16 789, i16 1205, i16 1597, i16 790, i16 1208, i16 1541, i16 793, i16 1209, i16 1606, i16 794, i16 1210, i16 1549, i16 795, i16 1211, i16 1614, i16 796, i16 1212, i16 1553, i16 797, i16 1213, i16 1618, i16 798, i16 1214, i16 1556, i16 799, i16 1215, i16 1621, i16 800, i16 1155, i16 22611, i16 1, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 877, i16 1780, i16 1190, i16 1781, i16 1833, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 990, i16 1792, i16 1190, i16 1793, i16 1844, i16 3, i16 1009, i16 1794, i16 1845, i16 1795, i16 1846, i16 1796, i16 1847, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 4, i16 1206, i16 1828, i16 1190, i16 1829, i16 1878, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1266, i16 1838, i16 1190, i16 1839, i16 1887, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 8, i16 1361, i16 1848, i16 1190, i16 1849, i16 1896, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1803, i16 1075, i16 1925, i16 0, i16 2, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 20, i16 1370, i16 1850, i16 1934, i16 1851, i16 1935, i16 1852, i16 1936, i16 1853, i16 1937, i16 1854, i16 1938, i16 1855, i16 1939, i16 1856, i16 1934, i16 1857, i16 1940, i16 1858, i16 1941, i16 1859, i16 1942, i16 1860, i16 1943, i16 1861, i16 1944, i16 1862, i16 1945, i16 1863, i16 1946, i16 1864, i16 1947, i16 1865, i16 1948, i16 1866, i16 1949, i16 1867, i16 1950, i16 1868, i16 1951, i16 1869, i16 1952, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 7, i16 1418, i16 1874, i16 1187, i16 1848, i16 1953, i16 1849, i16 1954, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 20, i16 1440, i16 1760, i16 1190, i16 1761, i16 1955, i16 1762, i16 1956, i16 1763, i16 1957, i16 1764, i16 1190, i16 1765, i16 1958, i16 1770, i16 1959, i16 1771, i16 1960, i16 1772, i16 1959, i16 1773, i16 1961, i16 1774, i16 1959, i16 1775, i16 1962, i16 1828, i16 1190, i16 1829, i16 1878, i16 1822, i16 1963, i16 1823, i16 1964, i16 1824, i16 1963, i16 1825, i16 1965, i16 1820, i16 1966, i16 1821, i16 1967, i16 27, i16 2011, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 1, i16 1696, i16 1, i16 1187, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 877, i16 1778, i16 1968, i16 1779, i16 1846, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1836, i16 1971, i16 1837, i16 1846, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 2, i16 1429, i16 1881, i16 1923, i16 1882, i16 1924, i16 2, i16 1440, i16 1879, i16 1974, i16 1880, i16 1846, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 2, i16 836, i16 1768, i16 1821, i16 1769, i16 1822, i16 8, i16 843, i16 1766, i16 1190, i16 1767, i16 1975, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 877, i16 1776, i16 1190, i16 1777, i16 1976, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 2, i16 944, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 955, i16 1786, i16 1190, i16 1787, i16 1977, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 2, i16 1088, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1099, i16 1804, i16 1190, i16 1805, i16 1978, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 4, i16 1132, i16 1808, i16 1190, i16 1809, i16 1979, i16 1814, i16 1864, i16 1815, i16 1865, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 4, i16 1206, i16 1816, i16 1190, i16 1817, i16 1980, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1834, i16 1190, i16 1835, i16 1981, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 3, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 2, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 4, i16 1440, i16 1877, i16 1190, i16 1878, i16 1982, i16 1881, i16 1190, i16 1882, i16 1983, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 9, i16 1418, i16 1874, i16 1187, i16 1848, i16 1984, i16 1849, i16 1985, i16 1844, i16 1984, i16 1845, i16 1986, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 24, i16 1440, i16 1770, i16 1190, i16 1771, i16 1987, i16 1772, i16 1988, i16 1773, i16 1989, i16 1774, i16 1990, i16 1775, i16 1991, i16 1764, i16 1992, i16 1765, i16 1993, i16 1822, i16 1190, i16 1823, i16 1994, i16 1824, i16 1995, i16 1825, i16 1996, i16 1828, i16 1997, i16 1829, i16 1998, i16 1818, i16 1999, i16 1819, i16 2000, i16 1760, i16 1190, i16 1761, i16 1955, i16 1883, i16 2001, i16 1884, i16 2002, i16 1885, i16 2003, i16 1886, i16 2004, i16 1762, i16 2001, i16 1763, i16 2005, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 2, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 8, i16 843, i16 1768, i16 1190, i16 1769, i16 2006, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 877, i16 1778, i16 1190, i16 1779, i16 2007, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 2, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 2, i16 955, i16 1788, i16 1190, i16 1789, i16 2008, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 990, i16 1790, i16 1190, i16 1791, i16 2009, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 7, i16 1046, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 1874, i16 1187, i16 1799, i16 1190, i16 1800, i16 2010, i16 3, i16 1075, i16 1801, i16 1190, i16 1802, i16 2011, i16 1803, i16 1925, i16 2, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 2, i16 1099, i16 1806, i16 1190, i16 1807, i16 2012, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 4, i16 1132, i16 1812, i16 1190, i16 1813, i16 2013, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 4, i16 1206, i16 1826, i16 1190, i16 1827, i16 2014, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1242, i16 1832, i16 1190, i16 1833, i16 2015, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1836, i16 1190, i16 1837, i16 2016, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 8, i16 1361, i16 1846, i16 1190, i16 1847, i16 2017, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1418, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 2, i16 1429, i16 1881, i16 1923, i16 1882, i16 1924, i16 2, i16 1440, i16 1879, i16 1190, i16 1880, i16 2018, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1046, i16 1870, i16 1190, i16 1871, i16 1915, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 2, i16 1400, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 81, i16 1697, i16 1712, i16 1698, i16 2019, i16 1699, i16 2019, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 898, i16 1887, i16 2020, i16 1888, i16 2021, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 9, i16 1418, i16 1874, i16 1187, i16 1848, i16 1984, i16 1849, i16 1985, i16 1844, i16 1984, i16 1845, i16 1986, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 24, i16 1440, i16 1770, i16 1190, i16 1771, i16 1987, i16 1772, i16 1988, i16 1773, i16 1989, i16 1774, i16 1990, i16 1775, i16 1991, i16 1764, i16 1992, i16 1765, i16 1993, i16 1822, i16 1190, i16 1823, i16 1994, i16 1824, i16 1995, i16 1825, i16 1996, i16 1828, i16 1997, i16 1829, i16 1998, i16 1818, i16 1999, i16 1819, i16 2000, i16 1760, i16 1190, i16 1761, i16 1955, i16 1883, i16 2001, i16 1884, i16 2002, i16 1885, i16 2003, i16 1886, i16 2004, i16 1762, i16 2001, i16 1763, i16 2005, i16 1, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1220, i16 2022, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1892, i16 1189, i16 1893, i16 1189, i16 1894, i16 1189, i16 3, i16 461, i16 1895, i16 1189, i16 1896, i16 1189, i16 1897, i16 1189, i16 3, i16 465, i16 1898, i16 1189, i16 1899, i16 1189, i16 1900, i16 1189, i16 3, i16 469, i16 1901, i16 1189, i16 1902, i16 1189, i16 1903, i16 1189, i16 2, i16 491, i16 1910, i16 1189, i16 1911, i16 1189, i16 2, i16 499, i16 1913, i16 1189, i16 1914, i16 1189, i16 29, i16 519, i16 1918, i16 1189, i16 1703, i16 1189, i16 1704, i16 1189, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 1717, i16 1189, i16 1718, i16 1189, i16 1719, i16 1189, i16 1720, i16 1189, i16 1721, i16 1189, i16 1722, i16 1189, i16 1723, i16 1189, i16 1724, i16 1189, i16 1725, i16 1189, i16 1726, i16 1189, i16 1727, i16 1189, i16 1728, i16 1189, i16 1729, i16 1189, i16 1730, i16 1189, i16 2, i16 753, i16 1919, i16 1189, i16 1920, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1759, i16 1846, i16 1758, i16 2023, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 898, i16 1888, i16 1846, i16 1887, i16 2024, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 955, i16 1785, i16 1846, i16 1784, i16 2025, i16 4, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 1921, i16 2026, i16 1922, i16 2027, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1046, i16 1798, i16 1846, i16 1797, i16 2028, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 2029, i16 1815, i16 2030, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 2, i16 1179, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1817, i16 1846, i16 1816, i16 2031, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 8, i16 1361, i16 1843, i16 1846, i16 1842, i16 2032, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 2, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 7, i16 1418, i16 1874, i16 1187, i16 1873, i16 1846, i16 1872, i16 2033, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 10, i16 1440, i16 1841, i16 1846, i16 1840, i16 2034, i16 1771, i16 1846, i16 1770, i16 2035, i16 1831, i16 2036, i16 1830, i16 2037, i16 1829, i16 1846, i16 1828, i16 2038, i16 1823, i16 2039, i16 1822, i16 2040, i16 4, i16 2011, i16 1923, i16 1744, i16 1924, i16 2041, i16 1925, i16 2042, i16 1926, i16 2043, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1702, i16 205, i16 1189, i16 1701, i16 221, i16 1189, i16 1700, i16 324, i16 1189, i16 1889, i16 371, i16 1189, i16 1890, i16 445, i16 1189, i16 1891, i16 447, i16 1189, i16 1904, i16 473, i16 1189, i16 1905, i16 476, i16 1189, i16 1906, i16 479, i16 1189, i16 1907, i16 481, i16 1189, i16 1908, i16 484, i16 1189, i16 1909, i16 487, i16 1189, i16 1912, i16 495, i16 1189, i16 1915, i16 503, i16 1189, i16 1916, i16 507, i16 1189, i16 1917, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 4, i16 877, i16 1778, i16 1190, i16 1779, i16 2007, i16 1776, i16 1190, i16 1777, i16 1976, i16 6, i16 898, i16 1927, i16 1190, i16 1928, i16 2044, i16 1929, i16 2045, i16 1930, i16 2046, i16 1782, i16 1190, i16 1783, i16 2047, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 4, i16 1099, i16 1931, i16 1190, i16 1932, i16 2048, i16 1933, i16 2049, i16 1934, i16 2050, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 6, i16 1132, i16 1935, i16 1190, i16 1936, i16 2051, i16 1937, i16 2052, i16 1938, i16 2053, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1836, i16 1190, i16 1837, i16 2016, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 2, i16 1429, i16 1881, i16 1923, i16 1882, i16 1924, i16 2, i16 1440, i16 1879, i16 1190, i16 1880, i16 2018, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 4, i16 1132, i16 1810, i16 1190, i16 1811, i16 2054, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 10, i16 1266, i16 1836, i16 2055, i16 1837, i16 2056, i16 1875, i16 2057, i16 1876, i16 2058, i16 1877, i16 2059, i16 1878, i16 2060, i16 1881, i16 2061, i16 1882, i16 2062, i16 1879, i16 2063, i16 1880, i16 2064, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 22, i16 1370, i16 1856, i16 2065, i16 1857, i16 2066, i16 1858, i16 2067, i16 1859, i16 2068, i16 1860, i16 2069, i16 1861, i16 2070, i16 1862, i16 2071, i16 1863, i16 2072, i16 1868, i16 2073, i16 1869, i16 2074, i16 1866, i16 2075, i16 1867, i16 2076, i16 1864, i16 2077, i16 1865, i16 2078, i16 1820, i16 2079, i16 1821, i16 2080, i16 1764, i16 2081, i16 1765, i16 2082, i16 1828, i16 2081, i16 1829, i16 2083, i16 1848, i16 2081, i16 1849, i16 2084, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 1874, i16 1418, i16 1187, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 4, i16 877, i16 1939, i16 1190, i16 1940, i16 2085, i16 1941, i16 2086, i16 1942, i16 2087, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 4, i16 1099, i16 1943, i16 1190, i16 1944, i16 2088, i16 1945, i16 2089, i16 1946, i16 2090, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 4, i16 1132, i16 1810, i16 1190, i16 1811, i16 2054, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 32766, i16 32766, i16 32766, i16 -2, i16 16384, i16 0, i16 16384, i16 -2, i16 16384, i16 0, i16 16384, i16 -16206, i16 16384, i16 0, i16 16384, i16 -16204, i16 16384, i16 0, i16 16384, i16 -16353, i16 16384, i16 0, i16 16384, i16 -16352, i16 16384, i16 0, i16 16384, i16 -16351, i16 16384, i16 0, i16 16384, i16 -16350, i16 16384, i16 0, i16 16384, i16 -16349, i16 16384, i16 0, i16 16384, i16 -16348, i16 16384, i16 0, i16 16384, i16 -16347, i16 16384, i16 0, i16 16384, i16 -16346, i16 16384, i16 0, i16 16384, i16 -16345, i16 16384, i16 0, i16 16384, i16 -16344, i16 16384, i16 0, i16 16384, i16 -16343, i16 16384, i16 0, i16 16384, i16 -16342, i16 16384, i16 0, i16 16384, i16 -16341, i16 16384, i16 0, i16 16384, i16 -15486, i16 16384, i16 0, i16 16384, i16 -16340, i16 16384, i16 0, i16 16384, i16 -16339, i16 16384, i16 0, i16 16384, i16 -15485, i16 16384, i16 0, i16 16384, i16 -16338, i16 16384, i16 0, i16 16384, i16 -15484, i16 16384, i16 0, i16 16384, i16 -15483, i16 16384, i16 0, i16 16384, i16 -15482, i16 16384, i16 0, i16 16384, i16 -16337, i16 16384, i16 0, i16 16384, i16 -16336, i16 16384, i16 0, i16 16384, i16 -16335, i16 16384, i16 0, i16 16384, i16 -16334, i16 16384, i16 0, i16 16384, i16 -16333, i16 16384, i16 0, i16 16384, i16 -15481, i16 16384, i16 0, i16 16384, i16 -16332, i16 16384, i16 0, i16 16384, i16 -16331, i16 16384, i16 0, i16 16384, i16 -16330, i16 16384, i16 0, i16 16384, i16 -16329, i16 16384, i16 0, i16 16384, i16 -16328, i16 16384, i16 0, i16 16384, i16 -16327, i16 16384, i16 0, i16 16384, i16 -15480, i16 16384, i16 0, i16 16384, i16 -16326, i16 16384, i16 0, i16 16384, i16 -16325, i16 16534, i16 14, i16 17273, i16 -16384, i16 16415, i16 14, i16 17273, i16 -16384, i16 16416, i16 14, i16 17273, i16 -16384, i16 16417, i16 14, i16 17273, i16 -16384, i16 16418, i16 14, i16 17273, i16 -16384, i16 16419, i16 14, i16 17273, i16 -16384, i16 16420, i16 14, i16 17273, i16 -16384, i16 16421, i16 14, i16 17273, i16 -16384, i16 16422, i16 14, i16 17273, i16 -16384, i16 16423, i16 14, i16 17273, i16 -16384, i16 16424, i16 14, i16 17273, i16 -16384, i16 16415, i16 17, i16 17273, i16 -16384, i16 16415, i16 896, i16 17273, i16 -16384, i16 16415, i16 897, i16 17273, i16 -16384, i16 16415, i16 19, i16 17273, i16 -16384, i16 16415, i16 21, i16 17273, i16 -16384, i16 16415, i16 18, i16 17273, i16 -16384, i16 16415, i16 20, i16 17273, i16 -16384, i16 16415, i16 14, i16 16392, i16 -16384, i16 16416, i16 14, i16 16392, i16 -16384, i16 16417, i16 14, i16 16392, i16 -16384, i16 16418, i16 14, i16 16392, i16 -16384, i16 16419, i16 14, i16 16392, i16 -16384, i16 16420, i16 14, i16 16392, i16 -16384, i16 16421, i16 14, i16 16392, i16 -16384, i16 16422, i16 14, i16 16392, i16 -16384, i16 16423, i16 14, i16 16392, i16 -16384, i16 16424, i16 14, i16 16392, i16 -16384, i16 16425, i16 14, i16 17273, i16 -16384, i16 16425, i16 15, i16 16392, i16 -16384, i16 16425, i16 26, i16 17273, i16 -16384, i16 16425, i16 27, i16 17273, i16 -16384, i16 16426, i16 14, i16 17273, i16 -16384, i16 16427, i16 14, i16 17273, i16 -16384, i16 17282, i16 14, i16 17273, i16 -16384, i16 17282, i16 18, i16 17273, i16 -16384, i16 16428, i16 14, i16 17273, i16 -16384, i16 16428, i16 16, i16 17273, i16 -16384, i16 16428, i16 17, i16 17273, i16 -16384, i16 16428, i16 897, i16 17273, i16 -16384, i16 16428, i16 20, i16 17273, i16 -16384, i16 16428, i16 18, i16 17273, i16 -16384, i16 16428, i16 23, i16 17273, i16 -16384, i16 16428, i16 26, i16 17273, i16 -16384, i16 16428, i16 27, i16 17273, i16 -16384, i16 16429, i16 14, i16 17273, i16 -16384, i16 17283, i16 14, i16 17273, i16 -16384, i16 17283, i16 25, i16 17273, i16 -16384, i16 16430, i16 14, i16 17273, i16 -16384, i16 17284, i16 16, i16 17273, i16 -16384, i16 17284, i16 17, i16 17273, i16 -16384, i16 17284, i16 20, i16 17273, i16 -16384, i16 17284, i16 22, i16 17273, i16 -16384, i16 17284, i16 26, i16 17273, i16 -16384, i16 17284, i16 27, i16 17273, i16 -16384, i16 18009, i16 1628, i16 18015, i16 -16384, i16 17285, i16 14, i16 17273, i16 -16384, i16 17286, i16 14, i16 17273, i16 -16384, i16 17286, i16 15, i16 17273, i16 -16384, i16 17286, i16 25, i16 17273, i16 -16384, i16 16431, i16 14, i16 17273, i16 -16384, i16 16431, i16 16, i16 17273, i16 -16384, i16 16431, i16 18, i16 17273, i16 -16384, i16 16431, i16 24, i16 17273, i16 -16384, i16 16431, i16 25, i16 17273, i16 -16384, i16 16431, i16 23, i16 17273, i16 -16384, i16 16432, i16 14, i16 17273, i16 -16384, i16 16433, i16 14, i16 17273, i16 -16384, i16 16433, i16 15, i16 17273, i16 -16384, i16 16433, i16 16, i16 17273, i16 -16384, i16 16433, i16 18, i16 17273, i16 -16384, i16 16433, i16 25, i16 17273, i16 -16384, i16 16434, i16 14, i16 17273, i16 -16384, i16 16434, i16 15, i16 16392, i16 -16384, i16 16434, i16 16, i16 17273, i16 -16384, i16 16434, i16 17, i16 17273, i16 -16384, i16 16434, i16 897, i16 17273, i16 -16384, i16 16434, i16 22, i16 17273, i16 -16384, i16 16434, i16 27, i16 17273, i16 -16384, i16 18018, i16 1628, i16 18015, i16 -16384, i16 16435, i16 14, i16 17273, i16 -16384, i16 17287, i16 14, i16 17273, i16 -16384, i16 16436, i16 14, i16 17273, i16 -16384, i16 16436, i16 16, i16 17273, i16 -16384, i16 16436, i16 18, i16 17273, i16 -16384, i16 16436, i16 25, i16 17273, i16 -16384, i16 16437, i16 14, i16 17273, i16 -16384, i16 16437, i16 16, i16 17273, i16 -16384, i16 16438, i16 14, i16 17273, i16 -16384, i16 16438, i16 18, i16 17273, i16 -16384, i16 16438, i16 24, i16 17273, i16 -16384, i16 16439, i16 14, i16 17273, i16 -16384, i16 16439, i16 16, i16 17273, i16 -16384, i16 16439, i16 17, i16 17273, i16 -16384, i16 16439, i16 897, i16 17273, i16 -16384, i16 16439, i16 19, i16 17273, i16 -16384, i16 16439, i16 22, i16 17273, i16 -16384, i16 16439, i16 26, i16 17273, i16 -16384, i16 16439, i16 27, i16 17273, i16 -16384, i16 16440, i16 14, i16 17273, i16 -16384, i16 16441, i16 897, i16 17273, i16 -16384, i16 17288, i16 14, i16 17273, i16 -16384, i16 16442, i16 14, i16 17273, i16 -16384, i16 16442, i16 16, i16 17273, i16 -16384, i16 16442, i16 20, i16 17273, i16 -16384, i16 16442, i16 897, i16 17273, i16 -16384, i16 16443, i16 14, i16 17273, i16 -16384, i16 16443, i16 16, i16 17273, i16 -16384, i16 16444, i16 14, i16 17273, i16 -16384, i16 16425, i16 14, i16 16393, i16 -16384, i16 16425, i16 26, i16 16393, i16 -16384, i16 16425, i16 27, i16 16393, i16 -16384, i16 16426, i16 14, i16 16393, i16 -16384, i16 16427, i16 14, i16 16393, i16 -16384, i16 17282, i16 14, i16 16393, i16 -16384, i16 17282, i16 18, i16 16393, i16 -16384, i16 16428, i16 14, i16 16393, i16 -16384, i16 16428, i16 16, i16 16393, i16 -16384, i16 16428, i16 17, i16 16393, i16 -16384, i16 16428, i16 897, i16 16393, i16 -16384, i16 16428, i16 20, i16 16393, i16 -16384, i16 16428, i16 18, i16 16393, i16 -16384, i16 16428, i16 23, i16 16393, i16 -16384, i16 16428, i16 26, i16 16393, i16 -16384, i16 16428, i16 27, i16 16393, i16 -16384, i16 16429, i16 14, i16 16393, i16 -16384, i16 17283, i16 14, i16 16393, i16 -16384, i16 17283, i16 25, i16 16393, i16 -16384, i16 16430, i16 14, i16 16393, i16 -16384, i16 17284, i16 16, i16 16393, i16 -16384, i16 17284, i16 17, i16 16393, i16 -16384, i16 17284, i16 20, i16 16393, i16 -16384, i16 17284, i16 22, i16 16393, i16 -16384, i16 17284, i16 26, i16 16393, i16 -16384, i16 17284, i16 27, i16 16393, i16 -16384, i16 18009, i16 1628, i16 18021, i16 -16384, i16 17285, i16 14, i16 16393, i16 -16384, i16 17286, i16 14, i16 16393, i16 -16384, i16 17286, i16 25, i16 16393, i16 -16384, i16 16431, i16 14, i16 16393, i16 -16384, i16 16431, i16 16, i16 16393, i16 -16384, i16 16431, i16 18, i16 16393, i16 -16384, i16 16431, i16 24, i16 16393, i16 -16384, i16 16431, i16 25, i16 16393, i16 -16384, i16 16431, i16 23, i16 16393, i16 -16384, i16 16432, i16 14, i16 16393, i16 -16384, i16 16433, i16 14, i16 16393, i16 -16384, i16 16433, i16 16, i16 16393, i16 -16384, i16 16433, i16 18, i16 16393, i16 -16384, i16 16433, i16 25, i16 16393, i16 -16384, i16 16434, i16 14, i16 16393, i16 -16384, i16 16434, i16 16, i16 16393, i16 -16384, i16 16434, i16 17, i16 16393, i16 -16384, i16 16434, i16 897, i16 16393, i16 -16384, i16 16434, i16 22, i16 16393, i16 -16384, i16 16434, i16 27, i16 16393, i16 -16384, i16 18018, i16 1628, i16 18021, i16 -16384, i16 16435, i16 14, i16 16393, i16 -16384, i16 17287, i16 14, i16 16393, i16 -16384, i16 16436, i16 14, i16 16393, i16 -16384, i16 16436, i16 16, i16 16393, i16 -16384, i16 16436, i16 18, i16 16393, i16 -16384, i16 16436, i16 25, i16 16393, i16 -16384, i16 16437, i16 14, i16 16393, i16 -16384, i16 16437, i16 16, i16 16393, i16 -16384, i16 16438, i16 14, i16 16393, i16 -16384, i16 16438, i16 18, i16 16393, i16 -16384, i16 16438, i16 24, i16 16393, i16 -16384, i16 16439, i16 14, i16 16393, i16 -16384, i16 16439, i16 16, i16 16393, i16 -16384, i16 16439, i16 17, i16 16393, i16 -16384, i16 16439, i16 897, i16 16393, i16 -16384, i16 16439, i16 19, i16 16393, i16 -16384, i16 16439, i16 22, i16 16393, i16 -16384, i16 16439, i16 26, i16 16393, i16 -16384, i16 16439, i16 27, i16 16393, i16 -16384, i16 16440, i16 14, i16 16393, i16 -16384, i16 16441, i16 897, i16 16393, i16 -16384, i16 17288, i16 14, i16 16393, i16 -16384, i16 16442, i16 14, i16 16393, i16 -16384, i16 16442, i16 16, i16 16393, i16 -16384, i16 16442, i16 897, i16 16393, i16 -16384, i16 16442, i16 20, i16 16393, i16 -16384, i16 16443, i16 14, i16 16393, i16 -16384, i16 16443, i16 16, i16 16393, i16 -16384, i16 16444, i16 14, i16 16393, i16 -16384, i16 16445, i16 16398, i16 17273, i16 -16384, i16 16446, i16 16398, i16 17273, i16 -16384, i16 16448, i16 16398, i16 17273, i16 -16384, i16 16449, i16 16398, i16 17273, i16 -16384, i16 16450, i16 16398, i16 17273, i16 -16384, i16 16451, i16 16398, i16 17273, i16 -16384, i16 16452, i16 16398, i16 17273, i16 -16384, i16 16453, i16 16398, i16 17273, i16 -16384, i16 16454, i16 16398, i16 17273, i16 -16384, i16 16455, i16 16398, i16 17273, i16 -16384, i16 16456, i16 16398, i16 17273, i16 -16384, i16 16457, i16 16398, i16 17273, i16 -16384, i16 16458, i16 16398, i16 17273, i16 -16384, i16 16459, i16 16398, i16 17273, i16 -16384, i16 16460, i16 16398, i16 17273, i16 -16384, i16 16461, i16 16398, i16 17273, i16 -16384, i16 16462, i16 16398, i16 17273, i16 -16384, i16 16463, i16 16398, i16 17273, i16 -16384, i16 16464, i16 16398, i16 17273, i16 -16384, i16 16465, i16 16398, i16 17273, i16 -16384, i16 16466, i16 16398, i16 17273, i16 -16384, i16 16467, i16 16398, i16 17273, i16 -16384, i16 16468, i16 16398, i16 17273, i16 -16384, i16 16469, i16 16398, i16 17273, i16 -16384, i16 16470, i16 16398, i16 17273, i16 -16384, i16 16471, i16 16398, i16 17273, i16 -16384, i16 16474, i16 16398, i16 17273, i16 -16384, i16 16475, i16 16398, i16 17273, i16 -16384, i16 16476, i16 16398, i16 17273, i16 -16384, i16 16477, i16 16398, i16 17273, i16 -16384, i16 16478, i16 16398, i16 17273, i16 -16384, i16 16480, i16 16398, i16 17273, i16 -16384, i16 16482, i16 17278, i16 17273, i16 -16384, i16 16482, i16 16398, i16 17273, i16 -16384, i16 61, i16 14, i16 3, i16 -16384, i16 61, i16 14, i16 4, i16 -16384, i16 61, i16 14, i16 5, i16 -16384, i16 61, i16 14, i16 6, i16 -16384, i16 62, i16 14, i16 3, i16 -16384, i16 62, i16 14, i16 4, i16 -16384, i16 62, i16 14, i16 5, i16 -16384, i16 62, i16 14, i16 6, i16 -16384, i16 64, i16 14, i16 3, i16 -16384, i16 64, i16 14, i16 4, i16 -16384, i16 64, i16 14, i16 5, i16 -16384, i16 64, i16 14, i16 6, i16 -16384, i16 65, i16 14, i16 3, i16 -16384, i16 65, i16 14, i16 4, i16 -16384, i16 65, i16 14, i16 5, i16 -16384, i16 65, i16 14, i16 6, i16 -16384, i16 66, i16 14, i16 3, i16 -16384, i16 66, i16 14, i16 4, i16 -16384, i16 66, i16 14, i16 5, i16 -16384, i16 66, i16 14, i16 6, i16 -16384, i16 67, i16 14, i16 3, i16 -16384, i16 67, i16 14, i16 4, i16 -16384, i16 67, i16 14, i16 5, i16 -16384, i16 67, i16 14, i16 6, i16 -16384, i16 68, i16 14, i16 3, i16 -16384, i16 68, i16 14, i16 4, i16 -16384, i16 68, i16 14, i16 5, i16 -16384, i16 68, i16 14, i16 6, i16 -16384, i16 69, i16 14, i16 3, i16 -16384, i16 69, i16 14, i16 4, i16 -16384, i16 69, i16 14, i16 5, i16 -16384, i16 69, i16 14, i16 6, i16 -16384, i16 70, i16 14, i16 3, i16 -16384, i16 70, i16 14, i16 4, i16 -16384, i16 70, i16 14, i16 5, i16 -16384, i16 70, i16 14, i16 6, i16 -16384, i16 71, i16 14, i16 3, i16 -16384, i16 71, i16 14, i16 4, i16 -16384, i16 72, i16 14, i16 3, i16 -16384, i16 72, i16 14, i16 4, i16 -16384, i16 73, i16 14, i16 3, i16 -16384, i16 73, i16 14, i16 4, i16 -16384, i16 74, i16 14, i16 3, i16 -16384, i16 74, i16 14, i16 4, i16 -16384, i16 75, i16 14, i16 3, i16 -16384, i16 75, i16 14, i16 4, i16 -16384, i16 76, i16 14, i16 3, i16 -16384, i16 76, i16 14, i16 4, i16 -16384, i16 77, i16 14, i16 3, i16 -16384, i16 77, i16 14, i16 4, i16 -16384, i16 78, i16 14, i16 3, i16 -16384, i16 78, i16 14, i16 4, i16 -16384, i16 78, i16 14, i16 5, i16 -16384, i16 78, i16 14, i16 6, i16 -16384, i16 79, i16 14, i16 3, i16 -16384, i16 79, i16 14, i16 4, i16 -16384, i16 79, i16 14, i16 5, i16 -16384, i16 79, i16 14, i16 6, i16 -16384, i16 80, i16 14, i16 3, i16 -16384, i16 80, i16 14, i16 4, i16 -16384, i16 80, i16 14, i16 5, i16 -16384, i16 80, i16 14, i16 6, i16 -16384, i16 81, i16 14, i16 3, i16 -16384, i16 81, i16 14, i16 4, i16 -16384, i16 81, i16 14, i16 5, i16 -16384, i16 81, i16 14, i16 6, i16 -16384, i16 82, i16 14, i16 3, i16 -16384, i16 82, i16 14, i16 4, i16 -16384, i16 82, i16 14, i16 5, i16 -16384, i16 82, i16 14, i16 6, i16 -16384, i16 83, i16 14, i16 3, i16 -16384, i16 83, i16 14, i16 4, i16 -16384, i16 83, i16 14, i16 5, i16 -16384, i16 83, i16 14, i16 6, i16 -16384, i16 84, i16 14, i16 3, i16 -16384, i16 84, i16 14, i16 4, i16 -16384, i16 84, i16 14, i16 5, i16 -16384, i16 84, i16 14, i16 6, i16 -16384, i16 85, i16 14, i16 3, i16 -16384, i16 85, i16 14, i16 4, i16 -16384, i16 85, i16 14, i16 5, i16 -16384, i16 85, i16 14, i16 6, i16 -16384, i16 86, i16 14, i16 3, i16 -16384, i16 86, i16 14, i16 4, i16 -16384, i16 86, i16 14, i16 5, i16 -16384, i16 86, i16 14, i16 6, i16 -16384, i16 87, i16 14, i16 3, i16 -16384, i16 87, i16 14, i16 4, i16 -16384, i16 87, i16 14, i16 5, i16 -16384, i16 87, i16 14, i16 6, i16 -16384, i16 90, i16 14, i16 3, i16 -16384, i16 90, i16 14, i16 4, i16 -16384, i16 90, i16 14, i16 5, i16 -16384, i16 90, i16 14, i16 6, i16 -16384, i16 91, i16 14, i16 3, i16 -16384, i16 91, i16 14, i16 4, i16 -16384, i16 91, i16 14, i16 5, i16 -16384, i16 91, i16 14, i16 6, i16 -16384, i16 92, i16 14, i16 3, i16 -16384, i16 92, i16 14, i16 4, i16 -16384, i16 92, i16 14, i16 5, i16 -16384, i16 92, i16 14, i16 6, i16 -16384, i16 93, i16 14, i16 3, i16 -16384, i16 93, i16 14, i16 4, i16 -16384, i16 93, i16 14, i16 5, i16 -16384, i16 93, i16 14, i16 6, i16 -16384, i16 94, i16 14, i16 3, i16 -16384, i16 94, i16 14, i16 4, i16 -16384, i16 96, i16 14, i16 3, i16 -16384, i16 96, i16 14, i16 4, i16 -16384, i16 1640, i16 1643, i16 1646, i16 -16384, i16 1640, i16 1643, i16 1649, i16 -16384, i16 1640, i16 1643, i16 1652, i16 -16384, i16 1640, i16 1643, i16 1655, i16 -16384, i16 98, i16 894, i16 3, i16 -16384, i16 98, i16 894, i16 4, i16 -16384, i16 98, i16 14, i16 3, i16 -16384, i16 98, i16 14, i16 4, i16 -16384, i16 16483, i16 16398, i16 16384, i16 -16384, i16 16484, i16 16398, i16 16384, i16 -16384, i16 16485, i16 16398, i16 16384, i16 -16384, i16 16486, i16 16398, i16 16384, i16 -16384, i16 16487, i16 16398, i16 16384, i16 -16384, i16 16488, i16 16398, i16 16384, i16 -16384, i16 16489, i16 16398, i16 16384, i16 -16384, i16 16490, i16 16398, i16 16384, i16 -16384, i16 16491, i16 16398, i16 16384, i16 -16384, i16 16492, i16 16398, i16 16384, i16 -16384, i16 16493, i16 16398, i16 16384, i16 -16384, i16 16494, i16 16398, i16 16384, i16 -16384, i16 16495, i16 16398, i16 16384, i16 -16384, i16 16496, i16 16398, i16 16384, i16 -16384, i16 16497, i16 16398, i16 16384, i16 -16384, i16 16498, i16 16398, i16 16384, i16 -16384, i16 16499, i16 16398, i16 16384, i16 -16384, i16 16500, i16 16398, i16 16384, i16 -16384, i16 16501, i16 16398, i16 16384, i16 -16384, i16 16502, i16 16398, i16 16384, i16 -16384, i16 16503, i16 16398, i16 16384, i16 -16384, i16 16504, i16 16398, i16 16384, i16 -16384, i16 16505, i16 16398, i16 16384, i16 -16384, i16 16506, i16 16398, i16 16384, i16 -16384, i16 16507, i16 16398, i16 16384, i16 -16384, i16 16508, i16 16398, i16 16384, i16 -16384, i16 16509, i16 16398, i16 16384, i16 -16384, i16 16510, i16 14, i16 16393, i16 -16384, i16 16510, i16 28, i16 16393, i16 -16384, i16 16511, i16 14, i16 16393, i16 -16384, i16 16512, i16 14, i16 16393, i16 -16384, i16 16512, i16 15, i16 16393, i16 -16384, i16 16513, i16 14, i16 16393, i16 -16384, i16 16513, i16 15, i16 16393, i16 -16384, i16 16514, i16 14, i16 16393, i16 -16384, i16 16514, i16 28, i16 16393, i16 -16384, i16 16515, i16 14, i16 16393, i16 -16384, i16 16515, i16 15, i16 16393, i16 -16384, i16 16516, i16 14, i16 16393, i16 -16384, i16 16516, i16 28, i16 16393, i16 -16384, i16 16517, i16 14, i16 16393, i16 -16384, i16 16518, i16 14, i16 16393, i16 -16384, i16 16518, i16 28, i16 16393, i16 -16384, i16 16518, i16 29, i16 16393, i16 -16384, i16 16519, i16 14, i16 16393, i16 -16384, i16 16519, i16 15, i16 16393, i16 -16384, i16 16519, i16 895, i16 16393, i16 -16384, i16 16520, i16 14, i16 16393, i16 -16384, i16 16521, i16 14, i16 16393, i16 -16384, i16 16522, i16 14, i16 16393, i16 -16384, i16 16523, i16 14, i16 16393, i16 -16384, i16 16524, i16 14, i16 16393, i16 -16384, i16 16524, i16 28, i16 16393, i16 -16384, i16 16525, i16 14, i16 16393, i16 -16384, i16 16526, i16 14, i16 16393, i16 -16384, i16 16527, i16 14, i16 16393, i16 -16384, i16 16527, i16 15, i16 16393, i16 -16384, i16 16527, i16 895, i16 16393, i16 -16384, i16 16528, i16 14, i16 16393, i16 -16384, i16 16528, i16 15, i16 16393, i16 -16384, i16 16529, i16 14, i16 16393, i16 -16384, i16 16529, i16 28, i16 16393, i16 -16384, i16 16529, i16 29, i16 16393, i16 -16384, i16 16529, i16 30, i16 16393, i16 -16384, i16 16529, i16 26, i16 16393, i16 -16384, i16 16529, i16 27, i16 16393, i16 -16384, i16 16530, i16 14, i16 16393, i16 -16384, i16 16530, i16 895, i16 16393, i16 -16384, i16 16531, i16 14, i16 16393, i16 -16384, i16 16531, i16 15, i16 16393, i16 -16384, i16 16532, i16 14, i16 16393, i16 -16384, i16 16532, i16 15, i16 16393, i16 -16384, i16 16533, i16 14, i16 16393, i16 -16384, i16 16533, i16 28, i16 16393, i16 -16384, i16 16510, i16 14, i16 16396, i16 -16384, i16 16510, i16 28, i16 16396, i16 -16384, i16 16511, i16 14, i16 16396, i16 -16384, i16 16511, i16 15, i16 16396, i16 -16384, i16 16512, i16 14, i16 16396, i16 -16384, i16 16513, i16 14, i16 16396, i16 -16384, i16 16514, i16 14, i16 16396, i16 -16384, i16 16514, i16 28, i16 16396, i16 -16384, i16 16515, i16 14, i16 16396, i16 -16384, i16 16515, i16 15, i16 16396, i16 -16384, i16 16516, i16 14, i16 16396, i16 -16384, i16 16516, i16 28, i16 16396, i16 -16384, i16 16517, i16 14, i16 16396, i16 -16384, i16 16517, i16 15, i16 16396, i16 -16384, i16 16518, i16 14, i16 16396, i16 -16384, i16 16518, i16 28, i16 16396, i16 -16384, i16 16518, i16 29, i16 16396, i16 -16384, i16 16518, i16 30, i16 16396, i16 -16384, i16 16518, i16 26, i16 16396, i16 -16384, i16 16519, i16 14, i16 16396, i16 -16384, i16 16519, i16 15, i16 16396, i16 -16384, i16 16519, i16 895, i16 16396, i16 -16384, i16 16520, i16 14, i16 16396, i16 -16384, i16 16521, i16 14, i16 16396, i16 -16384, i16 16522, i16 14, i16 16396, i16 -16384, i16 16523, i16 14, i16 16396, i16 -16384, i16 16524, i16 14, i16 16396, i16 -16384, i16 16524, i16 28, i16 16396, i16 -16384, i16 16525, i16 14, i16 16396, i16 -16384, i16 16525, i16 15, i16 16396, i16 -16384, i16 16526, i16 15, i16 16396, i16 -16384, i16 16527, i16 14, i16 16396, i16 -16384, i16 16527, i16 15, i16 16396, i16 -16384, i16 16527, i16 895, i16 16396, i16 -16384, i16 16527, i16 26, i16 16396, i16 -16384, i16 16528, i16 14, i16 16396, i16 -16384, i16 16528, i16 15, i16 16396, i16 -16384, i16 16529, i16 14, i16 16396, i16 -16384, i16 16529, i16 28, i16 16396, i16 -16384, i16 16529, i16 29, i16 16396, i16 -16384, i16 16529, i16 30, i16 16396, i16 -16384, i16 16530, i16 14, i16 16396, i16 -16384, i16 16530, i16 15, i16 16396, i16 -16384, i16 16530, i16 895, i16 16396, i16 -16384, i16 16531, i16 14, i16 16396, i16 -16384, i16 16532, i16 14, i16 16396, i16 -16384, i16 16532, i16 15, i16 16396, i16 -16384, i16 16533, i16 14, i16 16396, i16 -16384, i16 16533, i16 28, i16 16396, i16 -16384, i16 17292, i16 16398, i16 17273, i16 -16384, i16 17293, i16 16398, i16 17273, i16 -16384, i16 17294, i16 16398, i16 17273, i16 -16384, i16 17295, i16 16398, i16 17273, i16 -16384, i16 17296, i16 16398, i16 17273, i16 -16384, i16 17299, i16 16398, i16 17273, i16 -16384, i16 17302, i16 16398, i16 17273, i16 -16384, i16 17303, i16 16398, i16 17273, i16 -16384, i16 17305, i16 16398, i16 17273, i16 -16384, i16 17308, i16 16398, i16 17273, i16 -16384, i16 17309, i16 16398, i16 17273, i16 -16384, i16 17310, i16 16398, i16 17273, i16 -16384, i16 17311, i16 16398, i16 17273, i16 -16384, i16 17313, i16 16398, i16 17273, i16 -16384, i16 17314, i16 16398, i16 17273, i16 -16384, i16 17316, i16 16398, i16 17273, i16 -16384, i16 17317, i16 16398, i16 17273, i16 -16384, i16 17318, i16 16398, i16 17273, i16 -16384, i16 17319, i16 16398, i16 17273, i16 -16384, i16 17320, i16 16398, i16 17273, i16 -16384, i16 17323, i16 16398, i16 17273, i16 -16384, i16 17325, i16 16398, i16 17273, i16 -16384, i16 17326, i16 16398, i16 17273, i16 -16384, i16 17327, i16 16398, i16 17273, i16 -16384, i16 17328, i16 16398, i16 17273, i16 -16384, i16 17330, i16 16398, i16 17273, i16 -16384, i16 17331, i16 16398, i16 17273, i16 -16384, i16 17332, i16 16398, i16 17273, i16 -16384, i16 17334, i16 16398, i16 17273, i16 -16384, i16 17336, i16 16398, i16 17273, i16 -16384, i16 17337, i16 16398, i16 17273, i16 -16384, i16 17292, i16 16398, i16 16393, i16 -16384, i16 17293, i16 16398, i16 16393, i16 -16384, i16 17294, i16 16398, i16 16393, i16 -16384, i16 17295, i16 16398, i16 16393, i16 -16384, i16 17296, i16 16398, i16 16393, i16 -16384, i16 17299, i16 16398, i16 16393, i16 -16384, i16 17302, i16 16398, i16 16393, i16 -16384, i16 17303, i16 16398, i16 16393, i16 -16384, i16 17305, i16 16398, i16 16393, i16 -16384, i16 17308, i16 16398, i16 16393, i16 -16384, i16 17310, i16 16398, i16 16393, i16 -16384, i16 17311, i16 16398, i16 16393, i16 -16384, i16 17313, i16 16398, i16 16393, i16 -16384, i16 17314, i16 16398, i16 16393, i16 -16384, i16 17316, i16 16398, i16 16393, i16 -16384, i16 17317, i16 16398, i16 16393, i16 -16384, i16 17318, i16 16398, i16 16393, i16 -16384, i16 17319, i16 16398, i16 16393, i16 -16384, i16 17320, i16 16398, i16 16393, i16 -16384, i16 17323, i16 16398, i16 16393, i16 -16384, i16 17325, i16 16398, i16 16393, i16 -16384, i16 17326, i16 16398, i16 16393, i16 -16384, i16 17327, i16 16398, i16 16393, i16 -16384, i16 17328, i16 16398, i16 16393, i16 -16384, i16 17330, i16 16398, i16 16393, i16 -16384, i16 17331, i16 16398, i16 16393, i16 -16384, i16 17332, i16 16398, i16 16393, i16 -16384, i16 17334, i16 16398, i16 16393, i16 -16384, i16 17336, i16 16398, i16 16393, i16 -16384, i16 17337, i16 16398, i16 16393, i16 -16384, i16 16425, i16 16, i16 17273, i16 -16384, i16 16425, i16 17, i16 17273, i16 -16384, i16 16425, i16 897, i16 17273, i16 -16384, i16 16425, i16 22, i16 17273, i16 -16384, i16 16425, i16 20, i16 17273, i16 -16384, i16 16425, i16 19, i16 17273, i16 -16384, i16 16425, i16 896, i16 17273, i16 -16384, i16 18042, i16 1628, i16 18015, i16 -16384, i16 16427, i16 25, i16 17273, i16 -16384, i16 16427, i16 16, i16 17273, i16 -16384, i16 16427, i16 897, i16 17273, i16 -16384, i16 16427, i16 18, i16 17273, i16 -16384, i16 16427, i16 23, i16 17273, i16 -16384, i16 17282, i16 15, i16 17273, i16 -16384, i16 17282, i16 24, i16 17273, i16 -16384, i16 17283, i16 896, i16 17273, i16 -16384, i16 17283, i16 897, i16 17273, i16 -16384, i16 17283, i16 23, i16 17273, i16 -16384, i16 16430, i16 897, i16 17273, i16 -16384, i16 16430, i16 24, i16 17273, i16 -16384, i16 17284, i16 14, i16 17273, i16 -16384, i16 17284, i16 897, i16 17273, i16 -16384, i16 17284, i16 15, i16 17273, i16 -16384, i16 17285, i16 897, i16 17273, i16 -16384, i16 16433, i16 22, i16 17273, i16 -16384, i16 18045, i16 1628, i16 18015, i16 -16384, i16 16434, i16 20, i16 17273, i16 -16384, i16 16434, i16 24, i16 17273, i16 -16384, i16 16434, i16 21, i16 17273, i16 -16384, i16 16437, i16 897, i16 17273, i16 -16384, i16 16437, i16 18, i16 17273, i16 -16384, i16 16437, i16 25, i16 17273, i16 -16384, i16 18048, i16 1628, i16 18015, i16 -16384, i16 16438, i16 25, i16 17273, i16 -16384, i16 16439, i16 20, i16 17273, i16 -16384, i16 16439, i16 896, i16 17273, i16 -16384, i16 16439, i16 21, i16 17273, i16 -16384, i16 16441, i16 14, i16 17273, i16 -16384, i16 16443, i16 18, i16 17273, i16 -16384, i16 16443, i16 23, i16 17273, i16 -16384, i16 16425, i16 16, i16 16393, i16 -16384, i16 16425, i16 17, i16 16393, i16 -16384, i16 16425, i16 897, i16 16393, i16 -16384, i16 16425, i16 22, i16 16393, i16 -16384, i16 16425, i16 20, i16 16393, i16 -16384, i16 16425, i16 19, i16 16393, i16 -16384, i16 16425, i16 896, i16 16393, i16 -16384, i16 18042, i16 1628, i16 18021, i16 -16384, i16 16427, i16 25, i16 16393, i16 -16384, i16 16427, i16 16, i16 16393, i16 -16384, i16 16427, i16 897, i16 16393, i16 -16384, i16 16427, i16 18, i16 16393, i16 -16384, i16 16427, i16 23, i16 16393, i16 -16384, i16 17282, i16 15, i16 16393, i16 -16384, i16 17282, i16 24, i16 16393, i16 -16384, i16 17283, i16 896, i16 16393, i16 -16384, i16 17283, i16 897, i16 16393, i16 -16384, i16 17283, i16 23, i16 16393, i16 -16384, i16 16430, i16 897, i16 16393, i16 -16384, i16 16430, i16 24, i16 16393, i16 -16384, i16 17284, i16 14, i16 16393, i16 -16384, i16 17284, i16 897, i16 16393, i16 -16384, i16 17284, i16 15, i16 16393, i16 -16384, i16 17285, i16 897, i16 16393, i16 -16384, i16 16433, i16 22, i16 16393, i16 -16384, i16 18045, i16 1628, i16 18021, i16 -16384, i16 16434, i16 20, i16 16393, i16 -16384, i16 16434, i16 24, i16 16393, i16 -16384, i16 16434, i16 21, i16 16393, i16 -16384, i16 16437, i16 897, i16 16393, i16 -16384, i16 16437, i16 18, i16 16393, i16 -16384, i16 16437, i16 25, i16 16393, i16 -16384, i16 16438, i16 25, i16 16393, i16 -16384, i16 16439, i16 20, i16 16393, i16 -16384, i16 16439, i16 896, i16 16393, i16 -16384, i16 16439, i16 21, i16 16393, i16 -16384, i16 16441, i16 14, i16 16393, i16 -16384, i16 16443, i16 18, i16 16393, i16 -16384, i16 16443, i16 23, i16 16393, i16 -16384, i16 16415, i16 16398, i16 17273, i16 -16384, i16 16415, i16 16399, i16 17273, i16 -16384, i16 16416, i16 16398, i16 17273, i16 -16384, i16 16416, i16 16399, i16 17273, i16 -16384, i16 16417, i16 16398, i16 17273, i16 -16384, i16 16417, i16 16399, i16 17273, i16 -16384, i16 16418, i16 16398, i16 17273, i16 -16384, i16 16418, i16 16399, i16 17273, i16 -16384, i16 16419, i16 16398, i16 17273, i16 -16384, i16 16419, i16 16399, i16 17273, i16 -16384, i16 16420, i16 16398, i16 17273, i16 -16384, i16 16420, i16 16399, i16 17273, i16 -16384, i16 16421, i16 16398, i16 17273, i16 -16384, i16 16421, i16 16399, i16 17273, i16 -16384, i16 16422, i16 16398, i16 17273, i16 -16384, i16 16422, i16 16399, i16 17273, i16 -16384, i16 16423, i16 16398, i16 17273, i16 -16384, i16 16423, i16 16399, i16 17273, i16 -16384, i16 16424, i16 16398, i16 17273, i16 -16384, i16 16424, i16 16399, i16 17273, i16 -16384, i16 17289, i16 16398, i16 17273, i16 -16384, i16 17290, i16 16397, i16 17273, i16 -16384, i16 17290, i16 17274, i16 17273, i16 -16384, i16 17290, i16 17276, i16 17273, i16 -16384, i16 17290, i16 16398, i16 17273, i16 -16384, i16 16447, i16 16398, i16 17273, i16 -16384, i16 16472, i16 16398, i16 17273, i16 -16384, i16 16473, i16 16398, i16 17273, i16 -16384, i16 17291, i16 16398, i16 17273, i16 -16384, i16 16479, i16 16398, i16 17273, i16 -16384, i16 16480, i16 17275, i16 17273, i16 -16384, i16 16481, i16 16398, i16 17273, i16 -16384, i16 18051, i16 18054, i16 18015, i16 -16384, i16 16481, i16 17277, i16 17273, i16 -16384, i16 905, i16 14, i16 3, i16 -16384, i16 906, i16 13, i16 3, i16 -16384, i16 906, i16 13, i16 4, i16 -16384, i16 906, i16 890, i16 3, i16 -16384, i16 906, i16 890, i16 4, i16 -16384, i16 906, i16 892, i16 3, i16 -16384, i16 906, i16 892, i16 4, i16 -16384, i16 906, i16 14, i16 3, i16 -16384, i16 906, i16 14, i16 4, i16 -16384, i16 63, i16 14, i16 3, i16 -16384, i16 63, i16 14, i16 4, i16 -16384, i16 88, i16 14, i16 3, i16 -16384, i16 88, i16 14, i16 4, i16 -16384, i16 88, i16 14, i16 5, i16 -16384, i16 88, i16 14, i16 6, i16 -16384, i16 89, i16 14, i16 3, i16 -16384, i16 89, i16 14, i16 4, i16 -16384, i16 89, i16 14, i16 5, i16 -16384, i16 89, i16 14, i16 6, i16 -16384, i16 907, i16 14, i16 3, i16 -16384, i16 907, i16 14, i16 4, i16 -16384, i16 907, i16 14, i16 5, i16 -16384, i16 907, i16 14, i16 6, i16 -16384, i16 95, i16 14, i16 3, i16 -16384, i16 95, i16 14, i16 4, i16 -16384, i16 96, i16 891, i16 3, i16 -16384, i16 96, i16 891, i16 4, i16 -16384, i16 97, i16 14, i16 3, i16 -16384, i16 97, i16 14, i16 4, i16 -16384, i16 97, i16 893, i16 3, i16 -16384, i16 97, i16 893, i16 4, i16 -16384, i16 97, i16 893, i16 5, i16 -16384, i16 97, i16 893, i16 6, i16 -16384, i16 1673, i16 1676, i16 1679, i16 -16384, i16 1673, i16 1676, i16 1682, i16 -16384, i16 1673, i16 1685, i16 1679, i16 -16384, i16 1673, i16 1685, i16 1682, i16 -16384, i16 1673, i16 1688, i16 1679, i16 -16384, i16 1673, i16 1688, i16 1682, i16 -16384, i16 1673, i16 1643, i16 1679, i16 -16384, i16 1673, i16 1643, i16 1682, i16 -16384, i16 17297, i16 16398, i16 17273, i16 -16384, i16 17298, i16 16398, i16 17273, i16 -16384, i16 17300, i16 16398, i16 17273, i16 -16384, i16 17301, i16 16398, i16 17273, i16 -16384, i16 17304, i16 16398, i16 17273, i16 -16384, i16 17306, i16 16398, i16 17273, i16 -16384, i16 17307, i16 16398, i16 17273, i16 -16384, i16 17312, i16 16398, i16 17273, i16 -16384, i16 17315, i16 16398, i16 17273, i16 -16384, i16 17321, i16 16398, i16 17273, i16 -16384, i16 17322, i16 16398, i16 17273, i16 -16384, i16 17324, i16 16398, i16 17273, i16 -16384, i16 17329, i16 16398, i16 17273, i16 -16384, i16 17333, i16 16398, i16 17273, i16 -16384, i16 17335, i16 16398, i16 17273, i16 -16384, i16 17297, i16 16398, i16 16393, i16 -16384, i16 17298, i16 16398, i16 16393, i16 -16384, i16 17300, i16 16398, i16 16393, i16 -16384, i16 17301, i16 16398, i16 16393, i16 -16384, i16 17304, i16 16398, i16 16393, i16 -16384, i16 17306, i16 16398, i16 16393, i16 -16384, i16 17307, i16 16398, i16 16393, i16 -16384, i16 17309, i16 16398, i16 16393, i16 -16384, i16 17312, i16 16398, i16 16393, i16 -16384, i16 17315, i16 16398, i16 16393, i16 -16384, i16 17321, i16 16398, i16 16393, i16 -16384, i16 17322, i16 16398, i16 16393, i16 -16384, i16 17324, i16 16398, i16 16393, i16 -16384, i16 17329, i16 16398, i16 16393, i16 -16384, i16 17333, i16 16398, i16 16393, i16 -16384, i16 17335, i16 16398, i16 16393, i16 -16384, i16 32767, i16 16384, i16 16384, i16 -16384, i16 18075, i16 18078, i16 16384, i16 -16384, i16 18081, i16 18078, i16 16384, i16 -16384, i16 18084, i16 18078, i16 16384, i16 -16384, i16 17541, i16 16407, i16 17273, i16 -16384, i16 17542, i16 16407, i16 17273, i16 -16384, i16 17543, i16 16407, i16 17273, i16 -16384, i16 17544, i16 16407, i16 17273, i16 -16384, i16 17545, i16 16407, i16 17273, i16 -16384, i16 17540, i16 16407, i16 17273, i16 -16384, i16 17555, i16 16399, i16 17273, i16 -16384, i16 17555, i16 16399, i16 16393, i16 -16384, i16 17556, i16 16399, i16 17273, i16 -16384, i16 17556, i16 16399, i16 16393, i16 -16384, i16 17561, i16 16398, i16 17273, i16 -16384, i16 17561, i16 16398, i16 16393, i16 -16384, i16 17564, i16 16399, i16 17273, i16 -16384, i16 17564, i16 16404, i16 17273, i16 -16384, i16 17564, i16 16399, i16 16393, i16 -16384, i16 17564, i16 16404, i16 16393, i16 -16384, i16 17284, i16 16398, i16 17273, i16 -16384, i16 17567, i16 16407, i16 17273, i16 -16384, i16 17284, i16 16398, i16 16393, i16 -16384, i16 17567, i16 16407, i16 16393, i16 -16384, i16 17568, i16 16399, i16 17273, i16 -16384, i16 17568, i16 16406, i16 17273, i16 -16384, i16 17568, i16 16399, i16 16393, i16 -16384, i16 17568, i16 16406, i16 16393, i16 -16384, i16 17569, i16 16404, i16 17273, i16 -16384, i16 17569, i16 16404, i16 16393, i16 -16384, i16 17565, i16 16409, i16 17273, i16 -16384, i16 17565, i16 16409, i16 16393, i16 -16384, i16 17566, i16 17280, i16 17273, i16 -16384, i16 17566, i16 17280, i16 16393, i16 -16384, i16 17570, i16 16409, i16 17273, i16 -16384, i16 17570, i16 16409, i16 16393, i16 -16384, i16 17571, i16 16404, i16 17273, i16 -16384, i16 17571, i16 16404, i16 16393, i16 -16384, i16 17572, i16 16399, i16 17273, i16 -16384, i16 17572, i16 16399, i16 16393, i16 -16384, i16 17573, i16 16399, i16 17273, i16 -16384, i16 17573, i16 16399, i16 16393, i16 -16384, i16 17574, i16 16399, i16 17273, i16 -16384, i16 17574, i16 16399, i16 16393, i16 -16384, i16 17575, i16 16399, i16 17273, i16 -16384, i16 17575, i16 16399, i16 16393, i16 -16384, i16 17576, i16 16399, i16 17273, i16 -16384, i16 17576, i16 16399, i16 16393, i16 -16384, i16 17577, i16 16399, i16 17273, i16 -16384, i16 17577, i16 16399, i16 16393, i16 -16384, i16 17578, i16 16399, i16 17273, i16 -16384, i16 17578, i16 16399, i16 16393, i16 -16384, i16 17579, i16 16399, i16 17273, i16 -16384, i16 17579, i16 16399, i16 16393, i16 -16384, i16 17602, i16 16407, i16 17273, i16 -16384, i16 17602, i16 16407, i16 17600, i16 -16384, i16 17602, i16 16407, i16 16393, i16 -16384, i16 17602, i16 16407, i16 17601, i16 -16384, i16 32766, i16 16384, i16 16384, i16 16384, i16 17619, i16 16399, i16 17273, i16 -16384, i16 17619, i16 16399, i16 16393, i16 -16384, i16 17620, i16 16399, i16 17273, i16 -16384, i16 17620, i16 16399, i16 16393, i16 -16384, i16 17621, i16 16399, i16 17273, i16 -16384, i16 17621, i16 16399, i16 16393, i16 -16384, i16 17622, i16 16399, i16 17273, i16 -16384, i16 17622, i16 16399, i16 16393, i16 -16384, i16 17623, i16 16399, i16 17273, i16 -16384, i16 17623, i16 16399, i16 16393, i16 -16384, i16 17635, i16 16404, i16 17273, i16 -16384, i16 17634, i16 16403, i16 17273, i16 -16384, i16 17635, i16 17279, i16 17273, i16 -16384, i16 17636, i16 16404, i16 17273, i16 -16384, i16 17637, i16 16408, i16 17273, i16 -16384, i16 17635, i16 16404, i16 16393, i16 -16384, i16 17634, i16 16403, i16 16393, i16 -16384, i16 17635, i16 17279, i16 16393, i16 -16384, i16 17636, i16 16404, i16 16393, i16 -16384, i16 17637, i16 16408, i16 16393, i16 -16384, i16 16440, i16 16398, i16 16393, i16 -16327, i16 16440, i16 16398, i16 17273, i16 -16327, i16 16442, i16 16404, i16 17273, i16 -16384, i16 16442, i16 16404, i16 16393, i16 -16384, i16 17638, i16 16407, i16 17273, i16 -16384, i16 17639, i16 16407, i16 17273, i16 -16384, i16 17638, i16 16407, i16 16393, i16 -16384, i16 17639, i16 16407, i16 16393, i16 -16384, i16 17640, i16 16407, i16 17273, i16 -16384, i16 17640, i16 16407, i16 17600, i16 -16384, i16 17641, i16 16407, i16 17273, i16 -16384, i16 17640, i16 16407, i16 16393, i16 -16384, i16 17640, i16 16407, i16 17601, i16 -16384, i16 17641, i16 16407, i16 16393, i16 -16384, i16 17642, i16 16407, i16 17273, i16 -16384, i16 17642, i16 16407, i16 17600, i16 -16384, i16 17642, i16 16407, i16 16393, i16 -16384, i16 17642, i16 16407, i16 17601, i16 -16384, i16 17643, i16 16407, i16 17273, i16 -16384, i16 17643, i16 16407, i16 17600, i16 -16384, i16 17643, i16 16407, i16 16393, i16 -16384, i16 17643, i16 16407, i16 17601, i16 -16384, i16 17644, i16 16407, i16 17273, i16 -16384, i16 17644, i16 16407, i16 16393, i16 -16384, i16 17645, i16 16407, i16 17273, i16 -16384, i16 17645, i16 16407, i16 16393, i16 -16384, i16 17658, i16 16401, i16 17273, i16 -16384, i16 17660, i16 16400, i16 17273, i16 -16384, i16 17661, i16 17281, i16 17273, i16 -16384, i16 17659, i16 16406, i16 17273, i16 -16384, i16 17658, i16 16401, i16 16393, i16 -16384, i16 17660, i16 16400, i16 16393, i16 -16384, i16 17661, i16 17281, i16 16393, i16 -16384, i16 17659, i16 16406, i16 16393, i16 -16384, i16 17662, i16 16409, i16 17273, i16 -16384, i16 17639, i16 16402, i16 17273, i16 -16384, i16 17662, i16 16409, i16 16393, i16 -16384, i16 17639, i16 16402, i16 16393, i16 -16384, i16 17663, i16 16398, i16 17273, i16 -16384, i16 17664, i16 16402, i16 17273, i16 -16384, i16 17664, i16 16402, i16 16393, i16 -16384, i16 17666, i16 16399, i16 17273, i16 -16384, i16 17665, i16 16408, i16 17273, i16 -16384, i16 17666, i16 16399, i16 16393, i16 -16384, i16 17665, i16 16408, i16 16393, i16 -16384, i16 17668, i16 16402, i16 17273, i16 -16384, i16 17669, i16 16408, i16 17273, i16 -16384, i16 17671, i16 18078, i16 18015, i16 -16384, i16 17644, i16 16402, i16 17273, i16 -16384, i16 17644, i16 16402, i16 16393, i16 -16384, i16 17673, i16 16404, i16 17273, i16 -16384, i16 17672, i16 17279, i16 17273, i16 -16384, i16 17673, i16 16404, i16 16393, i16 -16384, i16 17672, i16 17279, i16 16393, i16 -16384, i16 17667, i16 16398, i16 17273, i16 -16384, i16 17670, i16 16402, i16 17273, i16 -16384, i16 17670, i16 16402, i16 16393, i16 -16384, i16 17685, i16 17281, i16 17273, i16 -16384, i16 17686, i16 17280, i16 17273, i16 -16384, i16 17685, i16 17281, i16 16393, i16 -16384, i16 17686, i16 17280, i16 16393, i16 -16384, i16 17688, i16 16409, i16 17273, i16 -16384, i16 17688, i16 16409, i16 16393, i16 -16384, i16 17687, i16 17281, i16 17273, i16 -16384, i16 17687, i16 17281, i16 16393, i16 -16384, i16 17695, i16 16399, i16 17273, i16 -16384, i16 17695, i16 16399, i16 17600, i16 -16384, i16 17695, i16 16399, i16 16393, i16 -16384, i16 17695, i16 16399, i16 17601, i16 -16384, i16 17697, i16 16399, i16 17273, i16 -16384, i16 17697, i16 16399, i16 17600, i16 -16384, i16 17697, i16 16399, i16 16393, i16 -16384, i16 17697, i16 16399, i16 17601, i16 -16384, i16 17693, i16 16407, i16 17273, i16 -16384, i16 17693, i16 16407, i16 16393, i16 -16384, i16 17694, i16 16407, i16 17273, i16 -16384, i16 17694, i16 16407, i16 16393, i16 -16384, i16 17696, i16 16408, i16 17273, i16 -16384, i16 17696, i16 16408, i16 16393, i16 -16384, i16 17698, i16 16407, i16 17273, i16 -16384, i16 17698, i16 16407, i16 16393, i16 -16384, i16 17707, i16 16407, i16 17273, i16 -16384, i16 17707, i16 16407, i16 17600, i16 -16384, i16 17707, i16 16407, i16 16393, i16 -16384, i16 17707, i16 16407, i16 17601, i16 -16384, i16 17708, i16 16407, i16 17273, i16 -16384, i16 17708, i16 16407, i16 17600, i16 -16384, i16 17708, i16 16407, i16 16393, i16 -16384, i16 17708, i16 16407, i16 17601, i16 -16384, i16 32766, i16 16398, i16 17273, i16 -16384, i16 32766, i16 16398, i16 16393, i16 -16384, i16 17803, i16 16404, i16 17273, i16 -16384, i16 17803, i16 16405, i16 17273, i16 -16384, i16 17803, i16 16404, i16 16393, i16 -16384, i16 17803, i16 16405, i16 16393, i16 -16384, i16 17806, i16 16404, i16 17273, i16 -16384, i16 17806, i16 16405, i16 17273, i16 -16384, i16 17806, i16 16404, i16 16393, i16 -16384, i16 17806, i16 16405, i16 16393, i16 -16384, i16 17797, i16 16398, i16 16393, i16 -16384, i16 17797, i16 16398, i16 17601, i16 -16384, i16 18087, i16 18054, i16 18021, i16 -16384, i16 18087, i16 18054, i16 18090, i16 -16384, i16 18087, i16 18054, i16 18093, i16 -16384, i16 18087, i16 18054, i16 18096, i16 -16384, i16 17797, i16 16398, i16 17600, i16 -16384, i16 17797, i16 16398, i16 17273, i16 -16384, i16 18087, i16 18054, i16 18099, i16 -16384, i16 18087, i16 18054, i16 18102, i16 -16384, i16 18087, i16 18054, i16 18105, i16 -16384, i16 18087, i16 18054, i16 18015, i16 -16384, i16 17798, i16 16398, i16 16393, i16 -16384, i16 17798, i16 16398, i16 17601, i16 -16384, i16 18108, i16 18054, i16 18021, i16 -16384, i16 18108, i16 18054, i16 18090, i16 -16384, i16 18108, i16 18054, i16 18093, i16 -16384, i16 18108, i16 18054, i16 18096, i16 -16384, i16 17798, i16 16398, i16 17600, i16 -16384, i16 17798, i16 16398, i16 17273, i16 -16384, i16 18108, i16 18054, i16 18099, i16 -16384, i16 18108, i16 18054, i16 18102, i16 -16384, i16 18108, i16 18054, i16 18105, i16 -16384, i16 18108, i16 18054, i16 18015, i16 -16384, i16 17799, i16 16398, i16 17796, i16 -16384, i16 17799, i16 16398, i16 17795, i16 -16384, i16 17799, i16 16398, i16 17794, i16 -16384, i16 17799, i16 16398, i16 17793, i16 -16384, i16 18111, i16 18054, i16 18114, i16 -16384, i16 18111, i16 18054, i16 18117, i16 -16384, i16 18111, i16 18054, i16 18120, i16 -16384, i16 18111, i16 18054, i16 18123, i16 -16384, i16 17799, i16 16398, i16 17792, i16 -16384, i16 17799, i16 16398, i16 17791, i16 -16384, i16 17799, i16 16398, i16 17790, i16 -16384, i16 17799, i16 16398, i16 17789, i16 -16384, i16 18111, i16 18054, i16 18126, i16 -16384, i16 18111, i16 18054, i16 18129, i16 -16384, i16 18111, i16 18054, i16 18132, i16 -16384, i16 18111, i16 18054, i16 18135, i16 -16384, i16 17800, i16 16398, i16 16393, i16 -16384, i16 17800, i16 16398, i16 17601, i16 -16384, i16 18138, i16 18054, i16 18021, i16 -16384, i16 18138, i16 18054, i16 18090, i16 -16384, i16 18138, i16 18054, i16 18093, i16 -16384, i16 18138, i16 18054, i16 18096, i16 -16384, i16 17800, i16 16398, i16 17273, i16 -16384, i16 17800, i16 16398, i16 17600, i16 -16384, i16 18138, i16 18054, i16 18099, i16 -16384, i16 18138, i16 18054, i16 18102, i16 -16384, i16 18138, i16 18054, i16 18105, i16 -16384, i16 18138, i16 18054, i16 18015, i16 -16384, i16 17801, i16 16398, i16 16393, i16 -16384, i16 17801, i16 16398, i16 17601, i16 -16384, i16 18141, i16 18054, i16 18021, i16 -16384, i16 18141, i16 18054, i16 18090, i16 -16384, i16 18141, i16 18054, i16 18093, i16 -16384, i16 18141, i16 18054, i16 18096, i16 -16384, i16 17801, i16 16398, i16 17273, i16 -16384, i16 17801, i16 16398, i16 17600, i16 -16384, i16 18141, i16 18054, i16 18099, i16 -16384, i16 18141, i16 18054, i16 18102, i16 -16384, i16 18141, i16 18054, i16 18105, i16 -16384, i16 18141, i16 18054, i16 18015, i16 -16384, i16 17802, i16 16398, i16 16393, i16 -16384, i16 17802, i16 16398, i16 17601, i16 -16384, i16 18144, i16 18054, i16 18021, i16 -16384, i16 18144, i16 18054, i16 18090, i16 -16384, i16 18144, i16 18054, i16 18093, i16 -16384, i16 18144, i16 18054, i16 18096, i16 -16384, i16 17802, i16 16398, i16 17273, i16 -16384, i16 17802, i16 16398, i16 17600, i16 -16384, i16 18144, i16 18054, i16 18099, i16 -16384, i16 18144, i16 18054, i16 18102, i16 -16384, i16 18144, i16 18054, i16 18105, i16 -16384, i16 18144, i16 18054, i16 18015, i16 -16384, i16 17804, i16 16398, i16 16393, i16 -16384, i16 17804, i16 16398, i16 17601, i16 -16384, i16 18147, i16 18054, i16 18021, i16 -16384, i16 18147, i16 18054, i16 18090, i16 -16384, i16 18147, i16 18054, i16 18093, i16 -16384, i16 18147, i16 18054, i16 18096, i16 -16384, i16 17804, i16 16398, i16 17600, i16 -16384, i16 17804, i16 16398, i16 17273, i16 -16384, i16 18147, i16 18054, i16 18099, i16 -16384, i16 18147, i16 18054, i16 18102, i16 -16384, i16 18147, i16 18054, i16 18105, i16 -16384, i16 18147, i16 18054, i16 18015, i16 -16384, i16 17805, i16 16398, i16 16393, i16 -16384, i16 17805, i16 16398, i16 17601, i16 -16384, i16 18150, i16 18054, i16 18021, i16 -16384, i16 18150, i16 18054, i16 18090, i16 -16384, i16 18150, i16 18054, i16 18093, i16 -16384, i16 18150, i16 18054, i16 18096, i16 -16384, i16 17805, i16 16398, i16 17600, i16 -16384, i16 17805, i16 16398, i16 17273, i16 -16384, i16 18150, i16 18054, i16 18099, i16 -16384, i16 18150, i16 18054, i16 18102, i16 -16384, i16 18150, i16 18054, i16 18105, i16 -16384, i16 18150, i16 18054, i16 18015, i16 -16384, i16 17807, i16 16398, i16 16393, i16 -16384, i16 17807, i16 16398, i16 17601, i16 -16384, i16 18153, i16 18054, i16 18021, i16 -16384, i16 18153, i16 18054, i16 18090, i16 -16384, i16 18153, i16 18054, i16 18093, i16 -16384, i16 18153, i16 18054, i16 18096, i16 -16384, i16 17807, i16 16398, i16 17600, i16 -16384, i16 17807, i16 16398, i16 17273, i16 -16384, i16 18153, i16 18054, i16 18099, i16 -16384, i16 18153, i16 18054, i16 18102, i16 -16384, i16 18153, i16 18054, i16 18105, i16 -16384, i16 18153, i16 18054, i16 18015, i16 -16384, i16 16384, i16 16384, i16 16384, i16 -2, i16 17934, i16 16398, i16 17273, i16 -16384, i16 17290, i16 17928, i16 17273, i16 -16384, i16 17289, i16 17274, i16 17273, i16 -16384, i16 17289, i16 17276, i16 17273, i16 -16384, i16 17289, i16 17275, i16 17273, i16 -16384, i16 17289, i16 17929, i16 17273, i16 -16384, i16 17289, i16 17929, i16 17932, i16 -16384, i16 17289, i16 17929, i16 17933, i16 -16384, i16 16472, i16 16399, i16 17273, i16 -16384, i16 17291, i16 17931, i16 17273, i16 -16384, i16 17291, i16 17274, i16 17273, i16 -16384, i16 17935, i16 16398, i16 17273, i16 -16384, i16 17935, i16 17930, i16 17273, i16 -16384, i16 17935, i16 17277, i16 17273, i16 -16384, i16 17934, i16 16398, i16 16387, i16 -16384, i16 17934, i16 16398, i16 16388, i16 -16384, i16 17290, i16 16398, i16 16387, i16 -16384, i16 17290, i16 16398, i16 16388, i16 -16384, i16 17290, i16 17928, i16 16387, i16 -16384, i16 17290, i16 17928, i16 16388, i16 -16384, i16 17289, i16 16398, i16 16387, i16 -16384, i16 17289, i16 17274, i16 16387, i16 -16384, i16 17289, i16 17274, i16 16388, i16 -16384, i16 17289, i16 17276, i16 16387, i16 -16384, i16 17289, i16 17276, i16 16388, i16 -16384, i16 17289, i16 17275, i16 16387, i16 -16384, i16 17289, i16 17275, i16 16388, i16 -16384, i16 17289, i16 17929, i16 16387, i16 -16384, i16 17289, i16 17929, i16 16388, i16 -16384, i16 16472, i16 16398, i16 16387, i16 -16384, i16 16472, i16 16398, i16 16388, i16 -16384, i16 16472, i16 16398, i16 16389, i16 -16384, i16 16472, i16 16398, i16 16390, i16 -16384, i16 16472, i16 16399, i16 16387, i16 -16384, i16 16472, i16 16399, i16 16388, i16 -16384, i16 16472, i16 16399, i16 16389, i16 -16384, i16 16472, i16 16399, i16 16390, i16 -16384, i16 17291, i16 16398, i16 16387, i16 -16384, i16 17291, i16 16398, i16 16388, i16 -16384, i16 17291, i16 16398, i16 16389, i16 -16384, i16 17291, i16 16398, i16 16390, i16 -16384, i16 17291, i16 17931, i16 16387, i16 -16384, i16 17291, i16 17931, i16 16388, i16 -16384, i16 17291, i16 17274, i16 16387, i16 -16384, i16 17291, i16 17274, i16 16388, i16 -16384, i16 17935, i16 16398, i16 16387, i16 -16384, i16 17935, i16 16398, i16 16388, i16 -16384, i16 17935, i16 16398, i16 16389, i16 -16384, i16 17935, i16 16398, i16 16390, i16 -16384, i16 17935, i16 17930, i16 16387, i16 -16384, i16 17935, i16 17930, i16 16388, i16 -16384, i16 17935, i16 17277, i16 16387, i16 -16384, i16 17935, i16 17277, i16 16388, i16 -16384, i16 17935, i16 17277, i16 16389, i16 -16384, i16 17935, i16 17277, i16 16390, i16 -16384, i16 18156, i16 18054, i16 18159, i16 -16384, i16 18156, i16 18054, i16 18162, i16 -16384, i16 18165, i16 18168, i16 18159, i16 -16384, i16 18165, i16 18168, i16 18162, i16 -16384, i16 18165, i16 18171, i16 18159, i16 -16384, i16 18165, i16 18171, i16 18162, i16 -16384, i16 18174, i16 18054, i16 18159, i16 -16384, i16 18174, i16 18054, i16 18162, i16 -16384, i16 18177, i16 18182, i16 18187, i16 -16384, i16 17958, i16 17281, i16 16393, i16 -16384, i16 17958, i16 17281, i16 17273, i16 -16384, i16 17959, i16 17281, i16 16393, i16 -16384, i16 17959, i16 17281, i16 17273, i16 -16384, i16 17960, i16 17281, i16 16393, i16 -16384, i16 17960, i16 17281, i16 17273, i16 -16384, i16 17961, i16 17281, i16 16393, i16 -16384, i16 17961, i16 17281, i16 17273, i16 -16384, i16 17962, i16 17281, i16 16393, i16 -16384, i16 17962, i16 17281, i16 17273, i16 -16384, i16 17963, i16 17280, i16 16393, i16 -16384, i16 17963, i16 17280, i16 17273, i16 -16384, i16 17964, i16 16407, i16 17273, i16 -16384, i16 17964, i16 16407, i16 17600, i16 -16384, i16 17964, i16 16407, i16 16393, i16 -16384, i16 17964, i16 16407, i16 17601, i16 -16384, i16 17965, i16 16407, i16 17273, i16 -16384, i16 17965, i16 16407, i16 17600, i16 -16384, i16 17965, i16 16407, i16 16393, i16 -16384, i16 17965, i16 16407, i16 17601, i16 -16384, i16 17966, i16 16407, i16 17273, i16 -16384, i16 17966, i16 16407, i16 17600, i16 -16384, i16 17966, i16 16407, i16 16393, i16 -16384, i16 17966, i16 16407, i16 17601, i16 -16384, i16 17967, i16 16407, i16 17273, i16 -16384, i16 17967, i16 16407, i16 17600, i16 -16384, i16 17967, i16 16407, i16 16393, i16 -16384, i16 17967, i16 16407, i16 17601, i16 -16384, i16 17968, i16 16407, i16 17273, i16 -16384, i16 17968, i16 16407, i16 17600, i16 -16384, i16 17968, i16 16407, i16 16393, i16 -16384, i16 17968, i16 16407, i16 17601, i16 -16384, i16 17969, i16 16407, i16 17273, i16 -16384, i16 17969, i16 16407, i16 17600, i16 -16384, i16 17969, i16 16407, i16 16393, i16 -16384, i16 17969, i16 16407, i16 17601, i16 -16384, i16 17970, i16 16407, i16 17273, i16 -16384, i16 17970, i16 16407, i16 17600, i16 -16384, i16 17970, i16 16407, i16 16393, i16 -16384, i16 17970, i16 16407, i16 17601, i16 -16384, i16 17971, i16 16407, i16 17273, i16 -16384, i16 17971, i16 16407, i16 17600, i16 -16384, i16 17971, i16 16407, i16 16393, i16 -16384, i16 17971, i16 16407, i16 17601, i16 -16384, i16 18000, i16 16407, i16 17273, i16 -16384, i16 18000, i16 16407, i16 17600, i16 -16384, i16 18001, i16 16407, i16 17273, i16 -16384, i16 18001, i16 16407, i16 17600, i16 -16384, i16 18000, i16 16407, i16 16393, i16 -16384, i16 18000, i16 16407, i16 17601, i16 -16384, i16 18001, i16 16407, i16 16393, i16 -16384, i16 18001, i16 16407, i16 17601, i16 -16384, i16 18192, i16 18078, i16 18015, i16 -16384, i16 18192, i16 18195, i16 18015, i16 -16384, i16 18198, i16 18078, i16 18015, i16 -16384, i16 17299, i16 17300, i16 17273, i16 -16384, i16 17299, i16 17301, i16 17273, i16 -16384, i16 17299, i16 17335, i16 17273, i16 -16384, i16 17305, i16 17306, i16 17273, i16 -16384, i16 17305, i16 17307, i16 17273, i16 -16384, i16 17305, i16 17333, i16 17273, i16 -16384, i16 18192, i16 18078, i16 18021, i16 -16384, i16 18192, i16 18195, i16 18021, i16 -16384, i16 18198, i16 18078, i16 18021, i16 -16384, i16 17299, i16 17300, i16 16393, i16 -16384, i16 17299, i16 17301, i16 16393, i16 -16384, i16 17299, i16 17335, i16 16393, i16 -16384, i16 17305, i16 17306, i16 16393, i16 -16384, i16 17305, i16 17307, i16 16393, i16 -16384, i16 17305, i16 17333, i16 16393, i16 -16384, i16 17295, i16 17297, i16 17273, i16 -16384, i16 17310, i16 17321, i16 17273, i16 -16384, i16 18201, i16 18078, i16 18015, i16 -16384, i16 18204, i16 18078, i16 18015, i16 -16384, i16 17323, i16 17324, i16 17273, i16 -16384, i16 17328, i16 17322, i16 17273, i16 -16384, i16 17295, i16 17297, i16 16393, i16 -16384, i16 17308, i16 17309, i16 16393, i16 -16384, i16 17310, i16 17321, i16 16393, i16 -16384, i16 18201, i16 18078, i16 18021, i16 -16384, i16 18204, i16 18078, i16 18021, i16 -16384, i16 17323, i16 17324, i16 16393, i16 -16384, i16 17328, i16 17322, i16 16393, i16 -16384, i16 18006, i16 16404, i16 17273, i16 -16384, i16 18006, i16 16404, i16 16393, i16 -16384, i16 32766, i16 16382, i16 32766, i16 -16386, i16 32766, i16 16382, i16 32766, i16 -32768, i16 16384, i16 0, i16 16384, i16 -16386, i16 32766, i16 2, i16 16385, i16 -32768, i16 17065, i16 2, i16 18080, i16 -32768, i16 17065, i16 2, i16 32766, i16 -32768, i16 17065, i16 5, i16 16385, i16 -32768, i16 17065, i16 5, i16 18080, i16 -32768, i16 17065, i16 6, i16 16385, i16 -32768, i16 17065, i16 6, i16 18080, i16 -32768, i16 17065, i16 7, i16 16385, i16 -32768, i16 17065, i16 7, i16 18080, i16 -32768, i16 17065, i16 8, i16 16385, i16 -32768, i16 17065, i16 8, i16 18080, i16 -32768, i16 17065, i16 9, i16 16385, i16 -32768, i16 17065, i16 9, i16 18080, i16 -32768, i16 17065, i16 11, i16 16385, i16 -32768, i16 17065, i16 11, i16 18080, i16 -32768, i16 17065, i16 12, i16 16385, i16 -32768, i16 17065, i16 12, i16 18080, i16 -32768, i16 17065, i16 13, i16 16385, i16 -32768, i16 17065, i16 13, i16 18080, i16 -32768, i16 17065, i16 15, i16 16385, i16 -32768, i16 17065, i16 15, i16 18080, i16 -32768, i16 17065, i16 16, i16 16385, i16 -32768, i16 17065, i16 16, i16 18080, i16 -32768, i16 17065, i16 17, i16 16385, i16 -32768, i16 17065, i16 17, i16 18080, i16 -32768, i16 17065, i16 18, i16 16385, i16 -32768, i16 17065, i16 18, i16 18080, i16 -32768, i16 17065, i16 19, i16 16385, i16 -32768, i16 17065, i16 19, i16 18080, i16 -32768, i16 17065, i16 20, i16 16385, i16 -32768, i16 17065, i16 20, i16 18080, i16 -32768, i16 17065, i16 21, i16 16385, i16 -32768, i16 17065, i16 21, i16 18080, i16 -32768, i16 17065, i16 22, i16 16385, i16 -32768, i16 17065, i16 22, i16 18080, i16 -32768, i16 17065, i16 27, i16 16385, i16 -32768, i16 17065, i16 27, i16 18080, i16 -32768, i16 17065, i16 29, i16 16385, i16 -32768, i16 17065, i16 29, i16 18080, i16 -32768, i16 17065, i16 34, i16 16385, i16 -32768, i16 17065, i16 34, i16 18080, i16 -32768, i16 17065, i16 35, i16 16385, i16 -32768, i16 17065, i16 35, i16 18080, i16 -32768, i16 17065, i16 40, i16 16385, i16 -32768, i16 17065, i16 40, i16 18080, i16 -32768, i16 17065, i16 55, i16 16385, i16 -32768, i16 17065, i16 55, i16 18080, i16 -32768, i16 17113, i16 2, i16 18080, i16 -32768, i16 17113, i16 39, i16 16385, i16 -32768, i16 17113, i16 39, i16 18080, i16 -32768, i16 17113, i16 40, i16 16385, i16 -32768, i16 17113, i16 40, i16 18080, i16 -32768, i16 17113, i16 58, i16 16385, i16 -32768, i16 17113, i16 58, i16 18080, i16 -32768, i16 17122, i16 2, i16 18080, i16 -32768, i16 17122, i16 16, i16 16385, i16 -32768, i16 17122, i16 16, i16 18080, i16 -32768, i16 17122, i16 34, i16 16385, i16 -32768, i16 17122, i16 34, i16 18080, i16 -32768, i16 17122, i16 39, i16 16385, i16 -32768, i16 17122, i16 39, i16 18080, i16 -32768, i16 17122, i16 45, i16 16385, i16 -32768, i16 17122, i16 45, i16 18080, i16 -32768, i16 17133, i16 2, i16 18080, i16 -32768, i16 17133, i16 22, i16 16385, i16 -32768, i16 17133, i16 22, i16 18080, i16 -32768, i16 17133, i16 39, i16 16385, i16 -32768, i16 17133, i16 39, i16 18080, i16 -32768, i16 17133, i16 40, i16 16385, i16 -32768, i16 17133, i16 40, i16 18080, i16 -32768, i16 17133, i16 44, i16 16385, i16 -32768, i16 17133, i16 44, i16 18080, i16 -32768, i16 17133, i16 57, i16 16385, i16 -32768, i16 17133, i16 57, i16 18080, i16 -32768, i16 17133, i16 58, i16 16385, i16 -32768, i16 17133, i16 58, i16 18080, i16 -32768, i16 17148, i16 2, i16 18080, i16 -32768, i16 17148, i16 5, i16 16385, i16 -32768, i16 17148, i16 5, i16 18080, i16 -32768, i16 17148, i16 6, i16 16385, i16 -32768, i16 17148, i16 6, i16 18080, i16 -32768, i16 17148, i16 7, i16 16385, i16 -32768, i16 17148, i16 7, i16 18080, i16 -32768, i16 17148, i16 15, i16 16385, i16 -32768, i16 17148, i16 15, i16 18080, i16 -32768, i16 17148, i16 16, i16 16385, i16 -32768, i16 17148, i16 16, i16 18080, i16 -32768, i16 17148, i16 17, i16 16385, i16 -32768, i16 17148, i16 17, i16 18080, i16 -32768, i16 17148, i16 18, i16 16385, i16 -32768, i16 17148, i16 18, i16 18080, i16 -32768, i16 17148, i16 19, i16 16385, i16 -32768, i16 17148, i16 19, i16 18080, i16 -32768, i16 17148, i16 20, i16 16385, i16 -32768, i16 17148, i16 20, i16 18080, i16 -32768, i16 17148, i16 21, i16 16385, i16 -32768, i16 17148, i16 21, i16 18080, i16 -32768, i16 17148, i16 22, i16 16385, i16 -32768, i16 17148, i16 22, i16 18080, i16 -32768, i16 17148, i16 28, i16 16385, i16 -32768, i16 17148, i16 28, i16 18080, i16 -32768, i16 17148, i16 34, i16 16385, i16 -32768, i16 17148, i16 34, i16 18080, i16 -32768, i16 17148, i16 35, i16 16385, i16 -32768, i16 17148, i16 35, i16 18080, i16 -32768, i16 17148, i16 38, i16 16385, i16 -32768, i16 17148, i16 38, i16 18080, i16 -32768, i16 17148, i16 39, i16 16385, i16 -32768, i16 17148, i16 39, i16 18080, i16 -32768, i16 17148, i16 40, i16 16385, i16 -32768, i16 17148, i16 40, i16 18080, i16 -32768, i16 17148, i16 47, i16 16385, i16 -32768, i16 17148, i16 47, i16 18080, i16 -32768, i16 17148, i16 51, i16 16385, i16 -32768, i16 17148, i16 51, i16 18080, i16 -32768, i16 17148, i16 52, i16 16385, i16 -32768, i16 17148, i16 52, i16 18080, i16 -32768, i16 17148, i16 57, i16 16385, i16 -32768, i16 17148, i16 57, i16 18080, i16 -32768, i16 17193, i16 2, i16 18080, i16 -32768, i16 17193, i16 34, i16 16385, i16 -32768, i16 17193, i16 34, i16 18080, i16 -32768, i16 17193, i16 39, i16 16385, i16 -32768, i16 17193, i16 39, i16 18080, i16 -32768, i16 18531, i16 2150, i16 18537, i16 -32768, i16 18540, i16 2150, i16 18543, i16 -32768, i16 18546, i16 2150, i16 18549, i16 -32768, i16 18552, i16 2172, i16 18560, i16 -32768, i16 18564, i16 2172, i16 18568, i16 -32768, i16 17205, i16 2, i16 18080, i16 -32768, i16 17205, i16 3, i16 16385, i16 -32768, i16 17205, i16 3, i16 18080, i16 -32768, i16 17205, i16 16, i16 16385, i16 -32768, i16 17205, i16 16, i16 18080, i16 -32768, i16 17205, i16 22, i16 16385, i16 -32768, i16 17205, i16 22, i16 18080, i16 -32768, i16 17205, i16 39, i16 16385, i16 -32768, i16 17205, i16 39, i16 18080, i16 -32768, i16 17205, i16 42, i16 16385, i16 -32768, i16 17205, i16 42, i16 18080, i16 -32768, i16 17205, i16 50, i16 16385, i16 -32768, i16 17205, i16 50, i16 18080, i16 -32768, i16 17220, i16 2, i16 18080, i16 -32768, i16 17220, i16 14, i16 16385, i16 -32768, i16 17220, i16 14, i16 18080, i16 -32768, i16 17220, i16 16, i16 16385, i16 -32768, i16 17220, i16 16, i16 18080, i16 -32768, i16 17220, i16 28, i16 16385, i16 -32768, i16 17220, i16 28, i16 18080, i16 -32768, i16 17220, i16 39, i16 16385, i16 -32768, i16 17220, i16 39, i16 18080, i16 -32768, i16 17220, i16 40, i16 16385, i16 -32768, i16 17220, i16 40, i16 18080, i16 -32768, i16 17220, i16 42, i16 16385, i16 -32768, i16 17220, i16 42, i16 18080, i16 -32768, i16 17220, i16 44, i16 16385, i16 -32768, i16 17220, i16 44, i16 18080, i16 -32768, i16 18178, i16 2, i16 18080, i16 -32768, i16 18178, i16 5, i16 16385, i16 -32768, i16 18178, i16 5, i16 18080, i16 -32768, i16 18178, i16 6, i16 16385, i16 -32768, i16 18178, i16 6, i16 18080, i16 -32768, i16 18178, i16 7, i16 16385, i16 -32768, i16 18178, i16 7, i16 18080, i16 -32768, i16 18178, i16 15, i16 16385, i16 -32768, i16 18178, i16 15, i16 18080, i16 -32768, i16 18178, i16 16, i16 16385, i16 -32768, i16 18178, i16 16, i16 18080, i16 -32768, i16 18178, i16 22, i16 16385, i16 -32768, i16 18178, i16 22, i16 18080, i16 -32768, i16 18178, i16 28, i16 16385, i16 -32768, i16 18178, i16 28, i16 18080, i16 -32768, i16 18178, i16 30, i16 16385, i16 -32768, i16 18178, i16 30, i16 18080, i16 -32768, i16 18178, i16 34, i16 16385, i16 -32768, i16 18178, i16 34, i16 18080, i16 -32768, i16 18178, i16 35, i16 16385, i16 -32768, i16 18178, i16 35, i16 18080, i16 -32768, i16 18178, i16 38, i16 16385, i16 -32768, i16 18178, i16 38, i16 18080, i16 -32768, i16 18178, i16 40, i16 16385, i16 -32768, i16 18178, i16 40, i16 18080, i16 -32768, i16 18178, i16 48, i16 16385, i16 -32768, i16 18178, i16 48, i16 18080, i16 -32768, i16 18572, i16 2191, i16 18578, i16 -32768, i16 18572, i16 2191, i16 18581, i16 -32768, i16 17267, i16 2, i16 18080, i16 -32768, i16 17267, i16 16, i16 16385, i16 -32768, i16 17267, i16 16, i16 18080, i16 -32768, i16 17272, i16 2, i16 18080, i16 -32768, i16 17272, i16 3, i16 16385, i16 -32768, i16 17272, i16 3, i16 18080, i16 -32768, i16 17272, i16 22, i16 16385, i16 -32768, i16 17272, i16 22, i16 18080, i16 -32768, i16 17272, i16 34, i16 16385, i16 -32768, i16 17272, i16 34, i16 18080, i16 -32768, i16 17272, i16 40, i16 16385, i16 -32768, i16 17272, i16 40, i16 18080, i16 -32768, i16 17272, i16 58, i16 16385, i16 -32768, i16 17272, i16 58, i16 18080, i16 -32768, i16 17285, i16 2, i16 18080, i16 -32768, i16 17285, i16 3, i16 16385, i16 -32768, i16 17285, i16 3, i16 18080, i16 -32768, i16 17285, i16 22, i16 16385, i16 -32768, i16 17285, i16 22, i16 18080, i16 -32768, i16 17285, i16 39, i16 16385, i16 -32768, i16 17285, i16 39, i16 18080, i16 -32768, i16 17285, i16 40, i16 16385, i16 -32768, i16 17285, i16 40, i16 18080, i16 -32768, i16 17285, i16 56, i16 16385, i16 -32768, i16 17285, i16 56, i16 18080, i16 -32768, i16 17285, i16 57, i16 16385, i16 -32768, i16 17285, i16 57, i16 18080, i16 -32768, i16 17285, i16 58, i16 16385, i16 -32768, i16 17285, i16 58, i16 18080, i16 -32768, i16 17302, i16 2, i16 18080, i16 -32768, i16 17302, i16 3, i16 16385, i16 -32768, i16 17302, i16 3, i16 18080, i16 -32768, i16 17302, i16 39, i16 16385, i16 -32768, i16 17302, i16 39, i16 18080, i16 -32768, i16 17302, i16 40, i16 16385, i16 -32768, i16 17302, i16 40, i16 18080, i16 -32768, i16 17311, i16 2, i16 18080, i16 -32768, i16 17311, i16 22, i16 16385, i16 -32768, i16 17311, i16 22, i16 18080, i16 -32768, i16 17311, i16 39, i16 16385, i16 -32768, i16 17311, i16 39, i16 18080, i16 -32768, i16 17311, i16 40, i16 16385, i16 -32768, i16 17311, i16 40, i16 18080, i16 -32768, i16 17311, i16 57, i16 16385, i16 -32768, i16 17311, i16 57, i16 18080, i16 -32768, i16 17311, i16 58, i16 16385, i16 -32768, i16 17311, i16 58, i16 18080, i16 -32768, i16 17311, i16 65, i16 18080, i16 -32768, i16 17325, i16 2, i16 18080, i16 -32768, i16 17325, i16 2, i16 32766, i16 -32768, i16 17325, i16 5, i16 16385, i16 -32768, i16 17325, i16 5, i16 18080, i16 -32768, i16 17325, i16 6, i16 16385, i16 -32768, i16 17325, i16 6, i16 18080, i16 -32768, i16 17325, i16 7, i16 16385, i16 -32768, i16 17325, i16 7, i16 18080, i16 -32768, i16 17325, i16 15, i16 16385, i16 -32768, i16 17325, i16 15, i16 18080, i16 -32768, i16 17325, i16 16, i16 16385, i16 -32768, i16 17325, i16 16, i16 18080, i16 -32768, i16 17325, i16 17, i16 16385, i16 -32768, i16 17325, i16 17, i16 18080, i16 -32768, i16 17325, i16 18, i16 16385, i16 -32768, i16 17325, i16 18, i16 18080, i16 -32768, i16 17325, i16 19, i16 16385, i16 -32768, i16 17325, i16 19, i16 18080, i16 -32768, i16 17325, i16 20, i16 16385, i16 -32768, i16 17325, i16 20, i16 18080, i16 -32768, i16 17325, i16 21, i16 16385, i16 -32768, i16 17325, i16 21, i16 18080, i16 -32768, i16 17325, i16 22, i16 16385, i16 -32768, i16 17325, i16 22, i16 18080, i16 -32768, i16 17325, i16 34, i16 16385, i16 -32768, i16 17325, i16 34, i16 18080, i16 -32768, i16 17325, i16 36, i16 16385, i16 -32768, i16 17325, i16 36, i16 18080, i16 -32768, i16 17325, i16 37, i16 16385, i16 -32768, i16 17325, i16 37, i16 18080, i16 -32768, i16 17325, i16 40, i16 16385, i16 -32768, i16 17325, i16 40, i16 18080, i16 -32768, i16 17325, i16 48, i16 16385, i16 -32768, i16 17325, i16 48, i16 18080, i16 -32768, i16 17325, i16 49, i16 16385, i16 -32768, i16 17325, i16 49, i16 18080, i16 -32768, i16 17325, i16 51, i16 16385, i16 -32768, i16 17325, i16 51, i16 18080, i16 -32768, i16 17325, i16 52, i16 16385, i16 -32768, i16 17325, i16 52, i16 18080, i16 -32768, i16 17325, i16 59, i16 16385, i16 -32768, i16 17325, i16 59, i16 18080, i16 -32768, i16 17325, i16 60, i16 16385, i16 -32768, i16 17325, i16 60, i16 18080, i16 -32768, i16 17325, i16 61, i16 16385, i16 -32768, i16 17325, i16 61, i16 18080, i16 -32768, i16 17325, i16 62, i16 16385, i16 -32768, i16 17325, i16 62, i16 18080, i16 -32768, i16 17325, i16 63, i16 16385, i16 -32768, i16 17325, i16 63, i16 18080, i16 -32768, i16 17325, i16 64, i16 16385, i16 -32768, i16 17325, i16 64, i16 18080, i16 -32768, i16 17379, i16 2, i16 18080, i16 -32768, i16 17379, i16 3, i16 16385, i16 -32768, i16 17379, i16 3, i16 18080, i16 -32768, i16 17379, i16 39, i16 16385, i16 -32768, i16 17379, i16 39, i16 18080, i16 -32768, i16 17386, i16 2, i16 18080, i16 -32768, i16 17389, i16 2, i16 18080, i16 -32768, i16 17389, i16 3, i16 16385, i16 -32768, i16 17389, i16 3, i16 18080, i16 -32768, i16 17389, i16 6, i16 16385, i16 -32768, i16 17389, i16 6, i16 18080, i16 -32768, i16 17389, i16 15, i16 16385, i16 -32768, i16 17389, i16 15, i16 18080, i16 -32768, i16 17389, i16 22, i16 16385, i16 -32768, i16 17389, i16 22, i16 18080, i16 -32768, i16 17389, i16 39, i16 16385, i16 -32768, i16 17389, i16 39, i16 18080, i16 -32768, i16 17389, i16 40, i16 16385, i16 -32768, i16 17389, i16 40, i16 18080, i16 -32768, i16 17389, i16 56, i16 16385, i16 -32768, i16 17389, i16 56, i16 18080, i16 -32768, i16 17389, i16 58, i16 16385, i16 -32768, i16 17389, i16 58, i16 18080, i16 -32768, i16 17408, i16 2, i16 18080, i16 -32768, i16 18584, i16 2150, i16 18587, i16 -32768, i16 17408, i16 4, i16 16385, i16 -32768, i16 17408, i16 4, i16 18080, i16 -32768, i16 17408, i16 16, i16 16385, i16 -32768, i16 17408, i16 16, i16 18080, i16 -32768, i16 17408, i16 24, i16 16385, i16 -32768, i16 17408, i16 24, i16 18080, i16 -32768, i16 17408, i16 39, i16 16385, i16 -32768, i16 17408, i16 39, i16 18080, i16 -32768, i16 17408, i16 40, i16 16385, i16 -32768, i16 17408, i16 40, i16 18080, i16 -32768, i16 17408, i16 41, i16 16385, i16 -32768, i16 17408, i16 41, i16 18080, i16 -32768, i16 17408, i16 16382, i16 18080, i16 -32768, i16 18590, i16 2150, i16 18593, i16 -32768, i16 18584, i16 2150, i16 18596, i16 -32768, i16 17427, i16 2, i16 18080, i16 -32768, i16 17427, i16 22, i16 16385, i16 -32768, i16 17427, i16 22, i16 18080, i16 -32768, i16 17427, i16 39, i16 16385, i16 -32768, i16 17427, i16 39, i16 18080, i16 -32768, i16 17427, i16 40, i16 16385, i16 -32768, i16 17427, i16 40, i16 18080, i16 -32768, i16 17427, i16 42, i16 16385, i16 -32768, i16 17427, i16 42, i16 18080, i16 -32768, i16 17427, i16 44, i16 16385, i16 -32768, i16 17427, i16 44, i16 18080, i16 -32768, i16 17427, i16 57, i16 16385, i16 -32768, i16 17427, i16 57, i16 18080, i16 -32768, i16 17427, i16 58, i16 16385, i16 -32768, i16 17427, i16 58, i16 18080, i16 -32768, i16 17444, i16 2, i16 18080, i16 -32768, i16 17444, i16 5, i16 16385, i16 -32768, i16 17444, i16 5, i16 18080, i16 -32768, i16 17444, i16 6, i16 16385, i16 -32768, i16 17444, i16 6, i16 18080, i16 -32768, i16 17444, i16 7, i16 16385, i16 -32768, i16 17444, i16 7, i16 18080, i16 -32768, i16 17444, i16 15, i16 16385, i16 -32768, i16 17444, i16 15, i16 18080, i16 -32768, i16 17444, i16 16, i16 16385, i16 -32768, i16 17444, i16 16, i16 18080, i16 -32768, i16 17444, i16 22, i16 16385, i16 -32768, i16 17444, i16 22, i16 18080, i16 -32768, i16 17444, i16 25, i16 16385, i16 -32768, i16 17444, i16 25, i16 18080, i16 -32768, i16 17444, i16 29, i16 16385, i16 -32768, i16 17444, i16 29, i16 18080, i16 -32768, i16 17444, i16 30, i16 16385, i16 -32768, i16 17444, i16 30, i16 18080, i16 -32768, i16 17444, i16 31, i16 16385, i16 -32768, i16 17444, i16 31, i16 18080, i16 -32768, i16 17444, i16 32, i16 16385, i16 -32768, i16 17444, i16 32, i16 18080, i16 -32768, i16 17444, i16 34, i16 16385, i16 -32768, i16 17444, i16 34, i16 18080, i16 -32768, i16 17444, i16 35, i16 16385, i16 -32768, i16 17444, i16 35, i16 18080, i16 -32768, i16 17444, i16 36, i16 16385, i16 -32768, i16 17444, i16 36, i16 18080, i16 -32768, i16 17444, i16 38, i16 16385, i16 -32768, i16 17444, i16 38, i16 18080, i16 -32768, i16 17444, i16 40, i16 16385, i16 -32768, i16 17444, i16 40, i16 18080, i16 -32768, i16 17444, i16 48, i16 16385, i16 -32768, i16 17444, i16 48, i16 18080, i16 -32768, i16 17444, i16 53, i16 16385, i16 -32768, i16 17444, i16 53, i16 18080, i16 -32768, i16 17444, i16 54, i16 16385, i16 -32768, i16 17444, i16 54, i16 18080, i16 -32768, i16 17444, i16 57, i16 16385, i16 -32768, i16 17444, i16 57, i16 18080, i16 -32768, i16 17444, i16 59, i16 16385, i16 -32768, i16 17444, i16 59, i16 18080, i16 -32768, i16 17444, i16 60, i16 16385, i16 -32768, i16 17444, i16 60, i16 18080, i16 -32768, i16 17444, i16 61, i16 16385, i16 -32768, i16 17444, i16 61, i16 18080, i16 -32768, i16 17444, i16 62, i16 16385, i16 -32768, i16 17444, i16 62, i16 18080, i16 -32768, i16 17444, i16 63, i16 16385, i16 -32768, i16 17444, i16 63, i16 18080, i16 -32768, i16 17444, i16 64, i16 16385, i16 -32768, i16 17444, i16 64, i16 18080, i16 -32768, i16 17501, i16 2, i16 18080, i16 -32768, i16 17501, i16 28, i16 16385, i16 -32768, i16 17501, i16 28, i16 18080, i16 -32768, i16 17501, i16 39, i16 16385, i16 -32768, i16 17501, i16 39, i16 18080, i16 -32768, i16 18254, i16 5, i16 16385, i16 -32768, i16 18254, i16 5, i16 18080, i16 -32768, i16 18254, i16 16, i16 16385, i16 -32768, i16 18254, i16 16, i16 18080, i16 -32768, i16 18254, i16 28, i16 16385, i16 -32768, i16 18254, i16 28, i16 18080, i16 -32768, i16 18254, i16 34, i16 16385, i16 -32768, i16 18254, i16 34, i16 18080, i16 -32768, i16 18254, i16 35, i16 16385, i16 -32768, i16 18254, i16 35, i16 18080, i16 -32768, i16 18254, i16 39, i16 16385, i16 -32768, i16 18254, i16 39, i16 18080, i16 -32768, i16 18254, i16 40, i16 16385, i16 -32768, i16 18254, i16 40, i16 18080, i16 -32768, i16 18259, i16 16, i16 16385, i16 -32768, i16 18259, i16 16, i16 18080, i16 -32768, i16 18259, i16 40, i16 16385, i16 -32768, i16 18259, i16 40, i16 18080, i16 -32768, i16 18259, i16 42, i16 16385, i16 -32768, i16 18259, i16 42, i16 18080, i16 -32768, i16 18259, i16 58, i16 16385, i16 -32768, i16 18259, i16 58, i16 18080, i16 -32768, i16 32766, i16 1, i16 16450, i16 -32768, i16 17531, i16 1, i16 16451, i16 -32768, i16 17531, i16 1696, i16 16450, i16 -32768, i16 17531, i16 1696, i16 16451, i16 -32768, i16 17535, i16 1696, i16 16450, i16 -32768, i16 17537, i16 1696, i16 16450, i16 -32768, i16 17539, i16 1696, i16 16450, i16 -32768, i16 17541, i16 1, i16 16451, i16 -32768, i16 17541, i16 1696, i16 16450, i16 -32768, i16 17541, i16 1696, i16 16451, i16 -32768, i16 17545, i16 1696, i16 16450, i16 -32768, i16 17547, i16 1, i16 16451, i16 -32768, i16 17547, i16 1696, i16 16450, i16 -32768, i16 17547, i16 1696, i16 16451, i16 -32768, i16 17551, i16 1696, i16 16450, i16 -32768, i16 17553, i16 1, i16 16451, i16 -32768, i16 17553, i16 1, i16 16452, i16 -32768, i16 17553, i16 1696, i16 16450, i16 -32768, i16 17553, i16 1696, i16 16451, i16 -32768, i16 17553, i16 1696, i16 16452, i16 -32768, i16 17553, i16 1696, i16 16453, i16 -32768, i16 17560, i16 1696, i16 16450, i16 -32768, i16 17562, i16 1696, i16 16450, i16 -32768, i16 17564, i16 1696, i16 16450, i16 -32768, i16 17566, i16 1696, i16 16450, i16 -32768, i16 17568, i16 1696, i16 16450, i16 -32768, i16 17570, i16 1, i16 16451, i16 -32768, i16 17570, i16 1696, i16 16450, i16 -32768, i16 17570, i16 1696, i16 16451, i16 -32768, i16 17574, i16 1696, i16 16450, i16 -32768, i16 17576, i16 1696, i16 16450, i16 -32768, i16 17578, i16 1696, i16 16450, i16 -32768, i16 17578, i16 1696, i16 32766, i16 -32768, i16 17581, i16 1696, i16 16450, i16 -32768, i16 17583, i16 1, i16 16451, i16 -32768, i16 17583, i16 1, i16 16452, i16 -32768, i16 17583, i16 1696, i16 16450, i16 -32768, i16 17583, i16 1696, i16 16451, i16 -32768, i16 17583, i16 1696, i16 16452, i16 -32768, i16 17583, i16 1696, i16 16453, i16 -32768, i16 17590, i16 1696, i16 16450, i16 -32768, i16 17592, i16 1696, i16 16450, i16 -32768, i16 17594, i16 1696, i16 16450, i16 -32768, i16 17596, i16 1, i16 16451, i16 -32768, i16 17596, i16 1696, i16 16450, i16 -32768, i16 17596, i16 1696, i16 16451, i16 -32768, i16 32766, i16 70, i16 16385, i16 -32768, i16 17600, i16 70, i16 18080, i16 -32768, i16 17602, i16 70, i16 18080, i16 -32768, i16 17604, i16 70, i16 18080, i16 -32768, i16 17606, i16 70, i16 18080, i16 -32768, i16 17608, i16 70, i16 18080, i16 -32768, i16 17610, i16 70, i16 18080, i16 -32768, i16 17612, i16 70, i16 18080, i16 -32768, i16 17614, i16 70, i16 18080, i16 -32768, i16 17616, i16 70, i16 18080, i16 -32768, i16 17618, i16 70, i16 18080, i16 -32768, i16 17620, i16 70, i16 18080, i16 -32768, i16 17622, i16 70, i16 18080, i16 -32768, i16 17624, i16 70, i16 18080, i16 -32768, i16 17626, i16 70, i16 18080, i16 -32768, i16 17628, i16 70, i16 18080, i16 -32768, i16 17630, i16 70, i16 18080, i16 -32768, i16 17632, i16 70, i16 18080, i16 -32768, i16 17634, i16 70, i16 18080, i16 -32768, i16 17636, i16 70, i16 18080, i16 -32768, i16 17638, i16 70, i16 18080, i16 -32768, i16 17640, i16 70, i16 18080, i16 -32768, i16 17642, i16 70, i16 18080, i16 -32768, i16 17644, i16 70, i16 18080, i16 -32768, i16 17646, i16 70, i16 18080, i16 -32768, i16 17648, i16 70, i16 18080, i16 -32768, i16 17650, i16 70, i16 18080, i16 -32768, i16 17652, i16 70, i16 18080, i16 -32768, i16 17654, i16 70, i16 18080, i16 -32768, i16 17656, i16 70, i16 18080, i16 -32768, i16 17658, i16 70, i16 18080, i16 -32768, i16 17660, i16 70, i16 18080, i16 -32768, i16 17662, i16 70, i16 18080, i16 -32768, i16 17664, i16 70, i16 18080, i16 -32768, i16 17666, i16 70, i16 18080, i16 -32768, i16 17668, i16 70, i16 18080, i16 -32768, i16 17670, i16 70, i16 18080, i16 -32768, i16 17672, i16 70, i16 18080, i16 -32768, i16 17674, i16 70, i16 18080, i16 -32768, i16 17676, i16 70, i16 18080, i16 -32768, i16 17678, i16 70, i16 18080, i16 -32768, i16 17680, i16 70, i16 18080, i16 -32768, i16 32766, i16 70, i16 18080, i16 -32768, i16 17682, i16 70, i16 16385, i16 -32768, i16 17684, i16 70, i16 18080, i16 -32768, i16 17686, i16 70, i16 16385, i16 -32768, i16 17688, i16 70, i16 18080, i16 -32768, i16 17690, i16 70, i16 18080, i16 -32768, i16 17692, i16 70, i16 18080, i16 -32768, i16 17694, i16 70, i16 18080, i16 -32768, i16 17696, i16 70, i16 18080, i16 -32768, i16 17698, i16 70, i16 18080, i16 -32768, i16 17700, i16 70, i16 18080, i16 -32768, i16 17702, i16 70, i16 18080, i16 -32768, i16 32766, i16 0, i16 16384, i16 -32768, i16 32766, i16 16382, i16 16384, i16 -32768, i16 17736, i16 16382, i16 16384, i16 -32768, i16 17735, i16 16382, i16 16384, i16 -32768, i16 17745, i16 16382, i16 16384, i16 -32768, i16 17749, i16 16382, i16 16384, i16 -32768, i16 17756, i16 16382, i16 16384, i16 -32768, i16 17764, i16 16382, i16 16384, i16 -32768, i16 17769, i16 16382, i16 16384, i16 -32768, i16 17774, i16 16382, i16 16384, i16 -32768, i16 17779, i16 16382, i16 16384, i16 -32768, i16 17784, i16 16382, i16 16384, i16 -32768, i16 17787, i16 16382, i16 16384, i16 -32768, i16 17790, i16 16382, i16 16384, i16 -32768, i16 17793, i16 16382, i16 16384, i16 -32768, i16 17796, i16 16382, i16 16384, i16 -32768, i16 17801, i16 16382, i16 16384, i16 -32768, i16 17806, i16 16382, i16 16384, i16 -32768, i16 17811, i16 16382, i16 16384, i16 -32768, i16 17816, i16 16382, i16 16384, i16 -32768, i16 17821, i16 16382, i16 16384, i16 -32768, i16 17826, i16 16382, i16 16384, i16 -32768, i16 17831, i16 16382, i16 16384, i16 -32768, i16 17836, i16 16382, i16 16384, i16 -32768, i16 17841, i16 16382, i16 16384, i16 -32768, i16 17846, i16 16382, i16 16384, i16 -32768, i16 17851, i16 16382, i16 16384, i16 -32768, i16 17856, i16 16382, i16 16384, i16 -32768, i16 17861, i16 16382, i16 16384, i16 -32768, i16 17866, i16 16382, i16 16384, i16 -32768, i16 17871, i16 16382, i16 16384, i16 -32768, i16 17874, i16 16382, i16 16384, i16 -32768, i16 17877, i16 16382, i16 16384, i16 -32768, i16 16384, i16 0, i16 32766, i16 -32768, i16 18115, i16 16382, i16 16384, i16 -32768, i16 18124, i16 16382, i16 16384, i16 -32768, i16 18125, i16 16382, i16 16384, i16 -32768, i16 18126, i16 16382, i16 16384, i16 -32768, i16 18127, i16 16382, i16 16384, i16 -32768, i16 18128, i16 16382, i16 16384, i16 -32768, i16 18129, i16 16382, i16 16384, i16 -32768, i16 18130, i16 16382, i16 16384, i16 -32768, i16 18131, i16 16382, i16 16384, i16 -32768, i16 18132, i16 16382, i16 16384, i16 -32768, i16 18599, i16 2218, i16 18605, i16 -32768, i16 18599, i16 2224, i16 18611, i16 -32768, i16 18614, i16 2233, i16 18620, i16 -32768, i16 18614, i16 2239, i16 18626, i16 -32768, i16 18629, i16 2248, i16 18635, i16 -32768, i16 18629, i16 2254, i16 18641, i16 -32768, i16 18644, i16 2263, i16 18650, i16 -32768, i16 18644, i16 2269, i16 18656, i16 -32768, i16 17909, i16 16382, i16 16384, i16 -32768, i16 17913, i16 16382, i16 16384, i16 -32768, i16 17917, i16 16382, i16 16384, i16 -32768, i16 17922, i16 16382, i16 16384, i16 -32768, i16 17926, i16 16382, i16 16384, i16 -32768, i16 17930, i16 16382, i16 16384, i16 -32768, i16 17935, i16 16382, i16 16384, i16 -32768, i16 17939, i16 16382, i16 16384, i16 -32768, i16 17943, i16 16382, i16 16384, i16 -32768, i16 17948, i16 16382, i16 16384, i16 -32768, i16 17952, i16 16382, i16 16384, i16 -32768, i16 17956, i16 16382, i16 16384, i16 -32768, i16 17960, i16 16382, i16 16384, i16 -32768, i16 17964, i16 16382, i16 16384, i16 -32768, i16 17968, i16 16382, i16 16384, i16 -32768, i16 17972, i16 16382, i16 16384, i16 -32768, i16 17976, i16 16382, i16 16384, i16 -32768, i16 17980, i16 16382, i16 16384, i16 -32768, i16 17986, i16 16382, i16 16384, i16 -32768, i16 17990, i16 16382, i16 16384, i16 -32768, i16 17994, i16 16382, i16 16384, i16 -32768, i16 17996, i16 16382, i16 16384, i16 -32768, i16 17998, i16 16382, i16 16384, i16 -32768, i16 18000, i16 16382, i16 16384, i16 -32768, i16 18002, i16 16382, i16 16384, i16 -32768, i16 18004, i16 16382, i16 16384, i16 -32768, i16 18010, i16 16382, i16 16384, i16 -32768, i16 18016, i16 16382, i16 16384, i16 -32768, i16 18022, i16 16382, i16 16384, i16 -32768, i16 18028, i16 16382, i16 16384, i16 -32768, i16 18034, i16 16382, i16 16384, i16 -32768, i16 18036, i16 16382, i16 16384, i16 -32768, i16 18038, i16 16382, i16 16384, i16 -32768, i16 18040, i16 16382, i16 16384, i16 -32768, i16 18042, i16 16382, i16 16384, i16 -32768, i16 18044, i16 16382, i16 16384, i16 -32768, i16 18048, i16 16382, i16 16384, i16 -32768, i16 18052, i16 16382, i16 16384, i16 -32768, i16 18056, i16 16382, i16 16384, i16 -32768, i16 18058, i16 16382, i16 16384, i16 -32768, i16 18060, i16 16382, i16 16384, i16 -32768, i16 18062, i16 16382, i16 16384, i16 -32768, i16 18064, i16 16382, i16 16384, i16 -32768, i16 18066, i16 16382, i16 16384, i16 -32768, i16 18070, i16 16382, i16 16384, i16 -32768, i16 18072, i16 16382, i16 16384, i16 -32768, i16 18074, i16 16382, i16 16384, i16 -32768, i16 18076, i16 16382, i16 16384, i16 -32768, i16 17065, i16 3, i16 16385, i16 -32768, i16 17065, i16 3, i16 18080, i16 -32768, i16 17065, i16 25, i16 16385, i16 -32768, i16 17065, i16 25, i16 18080, i16 -32768, i16 17065, i16 26, i16 16385, i16 -32768, i16 17065, i16 26, i16 18080, i16 -32768, i16 17065, i16 28, i16 16385, i16 -32768, i16 17065, i16 28, i16 18080, i16 -32768, i16 17065, i16 48, i16 16385, i16 -32768, i16 17065, i16 48, i16 18080, i16 -32768, i16 17065, i16 50, i16 16385, i16 -32768, i16 17065, i16 50, i16 18080, i16 -32768, i16 18659, i16 2278, i16 18578, i16 -32768, i16 18659, i16 2278, i16 18581, i16 -32768, i16 18659, i16 2281, i16 18578, i16 -32768, i16 18659, i16 2281, i16 18581, i16 -32768, i16 18659, i16 2284, i16 18578, i16 -32768, i16 18659, i16 2284, i16 18581, i16 -32768, i16 17122, i16 3, i16 16385, i16 -32768, i16 17122, i16 3, i16 18080, i16 -32768, i16 17122, i16 22, i16 16385, i16 -32768, i16 17122, i16 22, i16 18080, i16 -32768, i16 18164, i16 2, i16 18080, i16 -32768, i16 17133, i16 42, i16 16385, i16 -32768, i16 17133, i16 42, i16 18080, i16 -32768, i16 17148, i16 3, i16 16385, i16 -32768, i16 17148, i16 3, i16 18080, i16 -32768, i16 17148, i16 48, i16 16385, i16 -32768, i16 17148, i16 48, i16 18080, i16 -32768, i16 17148, i16 50, i16 16385, i16 -32768, i16 17148, i16 50, i16 18080, i16 -32768, i16 17205, i16 44, i16 16385, i16 -32768, i16 17205, i16 44, i16 18080, i16 -32768, i16 18176, i16 2, i16 18080, i16 -32768, i16 18179, i16 2, i16 16385, i16 -32768, i16 32766, i16 2, i16 18080, i16 -32768, i16 18178, i16 2, i16 16385, i16 -32768, i16 18178, i16 3, i16 16385, i16 -32768, i16 18178, i16 3, i16 18080, i16 -32768, i16 18178, i16 50, i16 16385, i16 -32768, i16 18178, i16 50, i16 18080, i16 -32768, i16 17272, i16 44, i16 16385, i16 -32768, i16 17272, i16 44, i16 18080, i16 -32768, i16 17285, i16 42, i16 16385, i16 -32768, i16 17285, i16 42, i16 18080, i16 -32768, i16 17285, i16 44, i16 16385, i16 -32768, i16 17285, i16 44, i16 18080, i16 -32768, i16 17311, i16 3, i16 16385, i16 -32768, i16 17311, i16 3, i16 18080, i16 -32768, i16 17311, i16 35, i16 16385, i16 -32768, i16 17311, i16 35, i16 18080, i16 -32768, i16 17311, i16 44, i16 16385, i16 -32768, i16 17311, i16 44, i16 18080, i16 -32768, i16 18671, i16 2290, i16 18578, i16 -32768, i16 18671, i16 2290, i16 18581, i16 -32768, i16 17325, i16 3, i16 16385, i16 -32768, i16 17325, i16 3, i16 18080, i16 -32768, i16 17325, i16 33, i16 16385, i16 -32768, i16 17325, i16 33, i16 18080, i16 -32768, i16 17325, i16 35, i16 16385, i16 -32768, i16 17325, i16 35, i16 18080, i16 -32768, i16 17325, i16 42, i16 16385, i16 -32768, i16 17325, i16 42, i16 18080, i16 -32768, i16 17325, i16 43, i16 16385, i16 -32768, i16 17325, i16 43, i16 18080, i16 -32768, i16 17325, i16 50, i16 16385, i16 -32768, i16 17325, i16 50, i16 18080, i16 -32768, i16 18212, i16 2, i16 18080, i16 -32768, i16 18677, i16 2296, i16 18578, i16 -32768, i16 18677, i16 2296, i16 18581, i16 -32768, i16 17389, i16 44, i16 16385, i16 -32768, i16 17389, i16 44, i16 18080, i16 -32768, i16 17408, i16 3, i16 16385, i16 -32768, i16 17408, i16 3, i16 18080, i16 -32768, i16 17408, i16 22, i16 16385, i16 -32768, i16 17408, i16 22, i16 18080, i16 -32768, i16 18222, i16 2, i16 18080, i16 -32768, i16 18683, i16 2302, i16 18578, i16 -32768, i16 18683, i16 2302, i16 18581, i16 -32768, i16 17444, i16 3, i16 16385, i16 -32768, i16 17444, i16 3, i16 18080, i16 -32768, i16 17444, i16 33, i16 16385, i16 -32768, i16 17444, i16 33, i16 18080, i16 -32768, i16 17444, i16 50, i16 16385, i16 -32768, i16 17444, i16 50, i16 18080, i16 -32768, i16 18232, i16 2, i16 18080, i16 -32768, i16 18234, i16 2, i16 18080, i16 -32768, i16 18234, i16 35, i16 16385, i16 -32768, i16 18234, i16 35, i16 18080, i16 -32768, i16 18234, i16 40, i16 16385, i16 -32768, i16 18234, i16 40, i16 18080, i16 -32768, i16 18240, i16 2, i16 18080, i16 -32768, i16 18240, i16 3, i16 16385, i16 -32768, i16 18240, i16 3, i16 18080, i16 -32768, i16 18240, i16 5, i16 16385, i16 -32768, i16 18240, i16 5, i16 18080, i16 -32768, i16 18240, i16 16, i16 16385, i16 -32768, i16 18240, i16 16, i16 18080, i16 -32768, i16 18240, i16 28, i16 16385, i16 -32768, i16 18240, i16 28, i16 18080, i16 -32768, i16 18240, i16 39, i16 16385, i16 -32768, i16 18240, i16 39, i16 18080, i16 -32768, i16 18240, i16 40, i16 16385, i16 -32768, i16 18240, i16 40, i16 18080, i16 -32768, i16 18254, i16 2, i16 18080, i16 -32768, i16 18254, i16 3, i16 16385, i16 -32768, i16 18254, i16 3, i16 18080, i16 -32768, i16 18259, i16 2, i16 18080, i16 -32768, i16 18259, i16 3, i16 16385, i16 -32768, i16 18259, i16 3, i16 18080, i16 -32768, i16 18259, i16 22, i16 16385, i16 -32768, i16 18259, i16 22, i16 18080, i16 -32768, i16 18259, i16 39, i16 16385, i16 -32768, i16 18259, i16 39, i16 18080, i16 -32768, i16 17272, i16 16382, i16 18080, i16 -32768, i16 17122, i16 44, i16 16385, i16 -32768, i16 17122, i16 44, i16 18080, i16 -32768, i16 17205, i16 7, i16 16385, i16 -32768, i16 17205, i16 7, i16 18080, i16 -32768, i16 18178, i16 39, i16 16385, i16 -32768, i16 18178, i16 39, i16 18080, i16 -32768, i16 17408, i16 44, i16 16385, i16 -32768, i16 17408, i16 44, i16 18080, i16 -32768, i16 32766, i16 16382, i16 16386, i16 -32767, i16 18234, i16 1850, i16 16386, i16 -31072, i16 18234, i16 1850, i16 16419, i16 -32767, i16 18234, i16 1850, i16 16419, i16 -31072, i16 18234, i16 1850, i16 16424, i16 -32767, i16 18234, i16 1850, i16 16424, i16 -31072, i16 18240, i16 1856, i16 16386, i16 -31072, i16 18240, i16 1856, i16 16387, i16 -32767, i16 18240, i16 1856, i16 16387, i16 -31072, i16 18240, i16 1856, i16 16389, i16 -32767, i16 18240, i16 1856, i16 16389, i16 -31072, i16 18240, i16 1856, i16 16400, i16 -32767, i16 18240, i16 1856, i16 16400, i16 -31072, i16 18240, i16 1856, i16 16412, i16 -32767, i16 18240, i16 1856, i16 16412, i16 -31072, i16 18240, i16 1856, i16 16423, i16 -32767, i16 18240, i16 1856, i16 16423, i16 -31072, i16 18240, i16 1856, i16 16424, i16 -32767, i16 18240, i16 1856, i16 16424, i16 -31072, i16 18254, i16 73, i16 16385, i16 -32768, i16 18254, i16 73, i16 18080, i16 -32768, i16 18144, i16 2, i16 18080, i16 -32768, i16 18144, i16 3, i16 16385, i16 -32768, i16 18144, i16 3, i16 18080, i16 -32768, i16 18148, i16 2, i16 18080, i16 -32768, i16 18148, i16 16382, i16 16385, i16 -32768, i16 18148, i16 1770, i16 18080, i16 -32768, i16 18148, i16 1772, i16 18080, i16 -32768, i16 18148, i16 1774, i16 18080, i16 -32768, i16 18212, i16 16382, i16 16385, i16 -32768, i16 18212, i16 1822, i16 18080, i16 -32768, i16 18212, i16 1824, i16 18080, i16 -32768, i16 18212, i16 35, i16 16385, i16 -32768, i16 18212, i16 35, i16 18080, i16 -32768, i16 18163, i16 2, i16 16385, i16 -32768, i16 17325, i16 28, i16 16385, i16 -32768, i16 17325, i16 28, i16 18080, i16 -32768, i16 18221, i16 2, i16 16385, i16 -32768, i16 17444, i16 28, i16 16385, i16 -32768, i16 17444, i16 28, i16 18080, i16 -32768, i16 18264, i16 2, i16 16385, i16 -32768, i16 18150, i16 2, i16 18080, i16 -32768, i16 18160, i16 2, i16 18080, i16 -32768, i16 18170, i16 2, i16 18080, i16 -32768, i16 18188, i16 2, i16 18080, i16 -32768, i16 18192, i16 2, i16 18080, i16 -32768, i16 18200, i16 2, i16 18080, i16 -32768, i16 18218, i16 2, i16 18080, i16 -32768, i16 18261, i16 2, i16 18080, i16 -32768, i16 18265, i16 2, i16 18080, i16 -32768, i16 18254, i16 16382, i16 16385, i16 -32768, i16 18254, i16 1848, i16 18080, i16 -32768, i16 18254, i16 1844, i16 18080, i16 -32768, i16 18154, i16 2, i16 18080, i16 -32768, i16 18154, i16 3, i16 16385, i16 -32768, i16 18154, i16 3, i16 18080, i16 -32768, i16 18154, i16 50, i16 16385, i16 -32768, i16 18154, i16 50, i16 18080, i16 -32768, i16 18154, i16 73, i16 16385, i16 -32768, i16 18154, i16 73, i16 18080, i16 -32768, i16 18206, i16 2, i16 18080, i16 -32768, i16 18206, i16 3, i16 16385, i16 -32768, i16 18206, i16 3, i16 18080, i16 -32768, i16 18206, i16 28, i16 16385, i16 -32768, i16 18206, i16 28, i16 18080, i16 -32768, i16 18206, i16 33, i16 16385, i16 -32768, i16 18206, i16 33, i16 18080, i16 -32768, i16 18144, i16 16382, i16 16385, i16 -32768, i16 18144, i16 1883, i16 18078, i16 -32768, i16 18144, i16 1883, i16 18079, i16 -32768, i16 18144, i16 1883, i16 18080, i16 -32768, i16 18144, i16 1762, i16 18080, i16 -32768, i16 18152, i16 2, i16 18080, i16 -32768, i16 18162, i16 2, i16 18080, i16 -32768, i16 18172, i16 2, i16 18080, i16 -32768, i16 18174, i16 2, i16 18080, i16 -32768, i16 18183, i16 2, i16 18080, i16 -32768, i16 18185, i16 2, i16 18080, i16 -32768, i16 18190, i16 2, i16 18080, i16 -32768, i16 18196, i16 2, i16 18080, i16 -32768, i16 18210, i16 2, i16 18080, i16 -32768, i16 18216, i16 2, i16 18080, i16 -32768, i16 18220, i16 2, i16 18080, i16 -32768, i16 18230, i16 2, i16 18080, i16 -32768, i16 18263, i16 2, i16 18080, i16 -32768, i16 18081, i16 16382, i16 16384, i16 -32768, i16 17133, i16 16382, i16 16385, i16 -32768, i16 17133, i16 1887, i16 18080, i16 -32768, i16 17386, i16 73, i16 18080, i16 -32768, i16 18143, i16 2, i16 16385, i16 -32768, i16 18272, i16 2, i16 16385, i16 -32768, i16 18169, i16 2, i16 16385, i16 -32768, i16 17205, i16 8, i16 16385, i16 -32768, i16 17205, i16 8, i16 18080, i16 -32768, i16 18182, i16 2, i16 16385, i16 -32768, i16 17311, i16 16382, i16 16385, i16 -32768, i16 17311, i16 1814, i16 18080, i16 -32768, i16 18201, i16 2, i16 16385, i16 -32768, i16 18227, i16 2, i16 16385, i16 -32768, i16 18257, i16 2, i16 16385, i16 -32768, i16 18225, i16 2, i16 16385, i16 -32768, i16 18155, i16 2, i16 16385, i16 -32768, i16 18155, i16 73, i16 18080, i16 -32768, i16 18155, i16 73, i16 16385, i16 -32768, i16 18213, i16 2, i16 16385, i16 -32768, i16 18213, i16 73, i16 18080, i16 -32768, i16 18213, i16 73, i16 16385, i16 -32768, i16 16384, i16 0, i16 16400, i16 -32768, i16 16384, i16 0, i16 16434, i16 -32768, i16 16384, i16 0, i16 16389, i16 -32768, i16 18311, i16 2, i16 18078, i16 -32768, i16 18311, i16 2, i16 18079, i16 -32768, i16 18311, i16 2, i16 18080, i16 -32768, i16 18166, i16 2, i16 18080, i16 -32768, i16 18315, i16 2, i16 18078, i16 -32768, i16 18315, i16 2, i16 18079, i16 -32768, i16 18315, i16 2, i16 18080, i16 -32768, i16 18319, i16 2, i16 18078, i16 -32768, i16 18319, i16 2, i16 18079, i16 -32768, i16 18319, i16 2, i16 18080, i16 -32768, i16 18194, i16 2, i16 18080, i16 -32768, i16 32766, i16 22, i16 16385, i16 -16386, i16 18220, i16 22, i16 18080, i16 -16386, i16 32766, i16 2, i16 16385, i16 -16386, i16 18259, i16 2, i16 18080, i16 -16386, i16 18259, i16 3, i16 16385, i16 -16386, i16 18259, i16 3, i16 18080, i16 -16386, i16 18259, i16 39, i16 16385, i16 -16386, i16 18259, i16 39, i16 18080, i16 -16386, i16 18259, i16 22, i16 16385, i16 -16386, i16 18259, i16 22, i16 18080, i16 -16386, i16 18234, i16 16382, i16 16386, i16 -32767, i16 18234, i16 1856, i16 16386, i16 -31072, i16 18234, i16 1856, i16 16387, i16 -32767, i16 18234, i16 1856, i16 16387, i16 -31072, i16 18234, i16 1856, i16 16389, i16 -32767, i16 18234, i16 1856, i16 16389, i16 -31072, i16 18234, i16 1856, i16 16400, i16 -32767, i16 18234, i16 1856, i16 16400, i16 -31072, i16 18234, i16 1856, i16 16434, i16 -32767, i16 18234, i16 1856, i16 16434, i16 -31072, i16 18234, i16 1856, i16 16423, i16 -32767, i16 18234, i16 1856, i16 16423, i16 -31072, i16 18234, i16 1856, i16 16412, i16 -32767, i16 18234, i16 1856, i16 16412, i16 -31072, i16 32766, i16 35, i16 16385, i16 -16386, i16 18204, i16 35, i16 18080, i16 -16386, i16 32766, i16 28, i16 16385, i16 -16386, i16 18148, i16 28, i16 18080, i16 -16386, i16 18212, i16 28, i16 18080, i16 -16386, i16 18232, i16 28, i16 18080, i16 -16386, i16 18323, i16 2, i16 18078, i16 -32768, i16 18323, i16 2, i16 18079, i16 -32768, i16 18323, i16 2, i16 18080, i16 -32768, i16 18327, i16 2, i16 18078, i16 -32768, i16 18327, i16 2, i16 18079, i16 -32768, i16 18327, i16 2, i16 18080, i16 -32768, i16 32766, i16 32766, i16 32766, i16 32766, i16 16384, i16 16384, i16 16384, i16 32766, i16 32766, i16 16389, i16 16385, i16 32766, i16 16470, i16 16389, i16 16388, i16 16470, i16 16470, i16 16389, i16 32766, i16 16470, i16 16470, i16 16392, i16 16385, i16 16470, i16 16470, i16 16392, i16 16388, i16 16470, i16 16470, i16 16393, i16 16385, i16 16470, i16 16470, i16 16393, i16 16388, i16 16470, i16 16470, i16 16405, i16 16385, i16 16470, i16 16470, i16 16405, i16 16388, i16 16470, i16 16470, i16 16397, i16 16385, i16 16470, i16 16470, i16 16397, i16 16388, i16 16470, i16 16470, i16 16408, i16 16385, i16 16470, i16 16470, i16 16408, i16 16388, i16 16470, i16 16470, i16 16409, i16 16385, i16 16470, i16 16470, i16 16409, i16 16388, i16 16470, i16 16470, i16 16411, i16 16385, i16 16470, i16 16470, i16 16411, i16 16388, i16 16470, i16 16470, i16 16410, i16 16385, i16 16470, i16 16470, i16 16410, i16 16388, i16 16470, i16 16470, i16 16435, i16 16385, i16 16470, i16 16470, i16 16435, i16 16388, i16 16470, i16 16470, i16 16398, i16 16385, i16 16470, i16 16470, i16 16398, i16 16388, i16 16470, i16 16470, i16 16394, i16 16385, i16 16470, i16 16470, i16 16394, i16 16388, i16 16470, i16 16470, i16 16412, i16 16385, i16 16470, i16 16470, i16 16412, i16 16388, i16 16470, i16 16470, i16 16413, i16 16385, i16 16470, i16 16470, i16 16413, i16 16388, i16 16470, i16 16470, i16 16415, i16 16385, i16 16470, i16 16470, i16 16415, i16 16388, i16 16470, i16 16470, i16 16414, i16 16385, i16 16470, i16 16470, i16 16414, i16 16388, i16 16470, i16 16470, i16 16436, i16 16385, i16 16470, i16 16470, i16 16436, i16 16388, i16 16470, i16 16470, i16 16395, i16 16385, i16 16470, i16 16470, i16 16395, i16 16388, i16 16470, i16 16470, i16 16399, i16 16385, i16 16470, i16 16470, i16 16399, i16 16388, i16 16470, i16 16470, i16 16417, i16 16385, i16 16470, i16 16470, i16 16417, i16 16388, i16 16470, i16 16470, i16 16450, i16 16385, i16 16470, i16 16470, i16 16450, i16 16388, i16 16470, i16 16470, i16 16402, i16 16385, i16 16470, i16 16470, i16 16402, i16 16388, i16 16470, i16 16470, i16 16426, i16 16385, i16 16470, i16 16470, i16 16426, i16 16388, i16 16470, i16 16470, i16 16400, i16 16385, i16 16470, i16 16470, i16 16400, i16 16388, i16 16470, i16 16470, i16 16396, i16 16385, i16 16470, i16 16470, i16 16396, i16 16388, i16 16470, i16 16470, i16 16444, i16 16385, i16 16470, i16 16470, i16 16444, i16 16388, i16 16470, i16 16470, i16 16449, i16 16385, i16 16470, i16 16470, i16 16449, i16 16388, i16 16470, i16 16470, i16 16391, i16 16385, i16 16470, i16 16470, i16 16391, i16 16388, i16 16470, i16 16470, i16 16418, i16 16385, i16 16470, i16 16470, i16 16418, i16 16388, i16 16470, i16 18628, i16 18631, i16 18517, i16 18628, i16 18628, i16 18631, i16 18425, i16 18628, i16 18628, i16 18634, i16 18517, i16 18628, i16 18628, i16 18634, i16 18425, i16 18628, i16 18628, i16 18637, i16 18517, i16 18628, i16 18628, i16 18637, i16 18425, i16 18628, i16 16536, i16 16389, i16 16388, i16 16536, i16 16536, i16 16390, i16 16385, i16 16536, i16 16536, i16 16390, i16 16388, i16 16536, i16 16536, i16 16444, i16 16385, i16 16536, i16 16536, i16 16444, i16 16388, i16 16536, i16 16536, i16 16445, i16 16385, i16 16536, i16 16536, i16 16445, i16 16388, i16 16536, i16 16545, i16 16389, i16 16388, i16 16545, i16 16545, i16 16392, i16 16385, i16 16545, i16 16545, i16 16392, i16 16388, i16 16545, i16 16545, i16 16394, i16 16385, i16 16545, i16 16545, i16 16394, i16 16388, i16 16545, i16 16545, i16 16400, i16 16385, i16 16545, i16 16545, i16 16400, i16 16388, i16 16545, i16 16545, i16 16390, i16 16385, i16 16545, i16 16545, i16 16390, i16 16388, i16 16545, i16 16545, i16 16448, i16 16385, i16 16545, i16 16545, i16 16448, i16 16388, i16 16545, i16 16545, i16 16437, i16 16385, i16 16545, i16 16545, i16 16437, i16 16388, i16 16545, i16 32766, i16 16395, i16 16385, i16 32766, i16 16559, i16 16395, i16 16388, i16 16559, i16 16562, i16 16389, i16 16388, i16 16562, i16 16562, i16 16395, i16 16385, i16 16562, i16 16562, i16 16395, i16 16388, i16 16562, i16 16562, i16 16390, i16 16385, i16 16562, i16 16562, i16 16390, i16 16388, i16 16562, i16 16562, i16 16444, i16 16385, i16 16562, i16 16562, i16 16444, i16 16388, i16 16562, i16 16562, i16 16452, i16 16385, i16 16562, i16 16562, i16 16452, i16 16388, i16 16562, i16 16562, i16 16448, i16 16385, i16 16562, i16 16562, i16 16448, i16 16388, i16 16562, i16 16562, i16 16421, i16 16385, i16 16562, i16 16562, i16 16421, i16 16388, i16 16562, i16 16562, i16 16445, i16 16385, i16 16562, i16 16562, i16 16445, i16 16388, i16 16562, i16 16579, i16 16389, i16 16388, i16 16579, i16 16579, i16 16392, i16 16385, i16 16579, i16 16579, i16 16392, i16 16388, i16 16579, i16 16579, i16 16393, i16 16385, i16 16579, i16 16579, i16 16393, i16 16388, i16 16579, i16 16579, i16 16405, i16 16385, i16 16579, i16 16579, i16 16405, i16 16388, i16 16579, i16 16579, i16 16397, i16 16385, i16 16579, i16 16579, i16 16397, i16 16388, i16 16579, i16 16579, i16 16398, i16 16385, i16 16579, i16 16579, i16 16398, i16 16388, i16 16579, i16 16579, i16 16394, i16 16385, i16 16579, i16 16579, i16 16394, i16 16388, i16 16579, i16 16579, i16 16412, i16 16385, i16 16579, i16 16579, i16 16412, i16 16388, i16 16579, i16 16579, i16 16413, i16 16385, i16 16579, i16 16579, i16 16413, i16 16388, i16 16579, i16 16579, i16 16415, i16 16385, i16 16579, i16 16579, i16 16415, i16 16388, i16 16579, i16 16579, i16 16414, i16 16385, i16 16579, i16 16579, i16 16414, i16 16388, i16 16579, i16 16579, i16 16436, i16 16385, i16 16579, i16 16579, i16 16436, i16 16388, i16 16579, i16 16579, i16 16395, i16 16385, i16 16579, i16 16579, i16 16395, i16 16388, i16 16579, i16 16579, i16 16402, i16 16385, i16 16579, i16 16579, i16 16402, i16 16388, i16 16579, i16 16579, i16 16400, i16 16385, i16 16579, i16 16579, i16 16400, i16 16388, i16 16579, i16 16579, i16 16396, i16 16385, i16 16579, i16 16579, i16 16396, i16 16388, i16 16579, i16 16579, i16 16446, i16 16385, i16 16579, i16 16579, i16 16446, i16 16388, i16 16579, i16 16579, i16 16390, i16 16385, i16 16579, i16 16579, i16 16390, i16 16388, i16 16579, i16 16579, i16 16444, i16 16385, i16 16579, i16 16579, i16 16444, i16 16388, i16 16579, i16 16579, i16 16439, i16 16385, i16 16579, i16 16579, i16 16439, i16 16388, i16 16579, i16 16579, i16 16449, i16 16385, i16 16579, i16 16579, i16 16449, i16 16388, i16 16579, i16 16579, i16 16391, i16 16385, i16 16579, i16 16579, i16 16391, i16 16388, i16 16579, i16 16579, i16 16419, i16 16385, i16 16579, i16 16579, i16 16419, i16 16388, i16 16579, i16 16579, i16 16420, i16 16385, i16 16579, i16 16579, i16 16420, i16 16388, i16 16579, i16 16579, i16 16421, i16 16385, i16 16579, i16 16579, i16 16421, i16 16388, i16 16579, i16 16630, i16 16389, i16 16388, i16 16630, i16 16630, i16 16400, i16 16385, i16 16630, i16 16630, i16 16400, i16 16388, i16 16630, i16 16630, i16 16390, i16 16385, i16 16630, i16 16630, i16 16390, i16 16388, i16 16630, i16 18640, i16 18643, i16 18646, i16 18640, i16 18649, i16 18643, i16 18652, i16 18649, i16 18655, i16 18643, i16 18658, i16 18655, i16 18661, i16 18665, i16 18669, i16 18661, i16 18673, i16 18665, i16 18677, i16 18673, i16 16642, i16 16389, i16 16388, i16 16642, i16 16642, i16 16392, i16 16385, i16 16642, i16 16642, i16 16392, i16 16388, i16 16642, i16 16642, i16 16397, i16 16385, i16 16642, i16 16642, i16 16397, i16 16388, i16 16642, i16 16642, i16 16394, i16 16385, i16 16642, i16 16642, i16 16394, i16 16388, i16 16642, i16 16642, i16 16395, i16 16385, i16 16642, i16 16642, i16 16395, i16 16388, i16 16642, i16 16642, i16 16390, i16 16385, i16 16642, i16 16642, i16 16390, i16 16388, i16 16642, i16 16642, i16 16452, i16 16385, i16 16642, i16 16642, i16 16452, i16 16388, i16 16642, i16 16642, i16 16448, i16 16385, i16 16642, i16 16642, i16 16448, i16 16388, i16 16642, i16 16642, i16 16391, i16 16385, i16 16642, i16 16642, i16 16391, i16 16388, i16 16642, i16 16661, i16 16389, i16 16388, i16 16661, i16 16661, i16 16447, i16 16385, i16 16661, i16 16661, i16 16447, i16 16388, i16 16661, i16 16661, i16 16394, i16 16385, i16 16661, i16 16661, i16 16394, i16 16388, i16 16661, i16 16661, i16 16402, i16 16385, i16 16661, i16 16661, i16 16402, i16 16388, i16 16661, i16 16661, i16 16390, i16 16385, i16 16661, i16 16661, i16 16390, i16 16388, i16 16661, i16 16661, i16 16444, i16 16385, i16 16661, i16 16661, i16 16444, i16 16388, i16 16661, i16 16661, i16 16452, i16 16385, i16 16661, i16 16661, i16 16452, i16 16388, i16 16661, i16 16661, i16 16448, i16 16385, i16 16661, i16 16661, i16 16448, i16 16388, i16 16661, i16 16678, i16 16389, i16 16386, i16 16678, i16 16678, i16 16389, i16 16388, i16 16678, i16 16681, i16 16389, i16 16388, i16 16681, i16 16681, i16 16392, i16 16385, i16 16681, i16 16681, i16 16392, i16 16388, i16 16681, i16 16681, i16 16393, i16 16385, i16 16681, i16 16681, i16 16393, i16 16388, i16 16681, i16 16681, i16 16405, i16 16385, i16 16681, i16 16681, i16 16405, i16 16388, i16 16681, i16 16681, i16 16397, i16 16385, i16 16681, i16 16681, i16 16397, i16 16388, i16 16681, i16 16681, i16 16398, i16 16385, i16 16681, i16 16681, i16 16398, i16 16388, i16 16681, i16 16681, i16 16394, i16 16385, i16 16681, i16 16681, i16 16394, i16 16388, i16 16681, i16 16681, i16 16395, i16 16385, i16 16681, i16 16681, i16 16395, i16 16388, i16 16681, i16 16681, i16 16402, i16 16385, i16 16681, i16 16681, i16 16402, i16 16388, i16 16681, i16 16681, i16 16427, i16 16385, i16 16681, i16 16681, i16 16427, i16 16388, i16 16681, i16 16681, i16 16400, i16 16385, i16 16681, i16 16681, i16 16400, i16 16388, i16 16681, i16 16681, i16 16396, i16 16385, i16 16681, i16 16681, i16 16396, i16 16388, i16 16681, i16 16681, i16 16446, i16 16385, i16 16681, i16 16681, i16 16446, i16 16388, i16 16681, i16 16681, i16 16390, i16 16385, i16 16681, i16 16681, i16 16390, i16 16388, i16 16681, i16 16681, i16 16444, i16 16385, i16 16681, i16 16681, i16 16444, i16 16388, i16 16681, i16 16681, i16 16449, i16 16385, i16 16681, i16 16681, i16 16449, i16 16388, i16 16681, i16 16681, i16 16391, i16 16385, i16 16681, i16 16681, i16 16391, i16 16388, i16 16681, i16 18681, i16 18684, i16 18517, i16 18681, i16 18681, i16 18684, i16 18425, i16 18681, i16 16718, i16 16389, i16 16388, i16 16718, i16 16718, i16 16394, i16 16385, i16 16718, i16 16718, i16 16394, i16 16388, i16 16718, i16 16723, i16 16389, i16 16388, i16 16723, i16 16723, i16 16392, i16 16385, i16 16723, i16 16723, i16 16392, i16 16388, i16 16723, i16 16723, i16 16395, i16 16385, i16 16723, i16 16723, i16 16395, i16 16388, i16 16723, i16 16723, i16 16400, i16 16385, i16 16723, i16 16723, i16 16400, i16 16388, i16 16723, i16 16723, i16 16444, i16 16385, i16 16723, i16 16723, i16 16444, i16 16388, i16 16723, i16 16723, i16 16448, i16 16385, i16 16723, i16 16723, i16 16448, i16 16388, i16 16723, i16 16723, i16 16445, i16 16385, i16 16723, i16 16723, i16 16445, i16 16388, i16 16723, i16 16723, i16 32766, i16 16388, i16 16723, i16 16739, i16 16389, i16 16388, i16 16739, i16 16739, i16 16392, i16 16385, i16 16739, i16 16739, i16 16392, i16 16388, i16 16739, i16 16739, i16 16395, i16 16385, i16 16739, i16 16739, i16 16395, i16 16388, i16 16739, i16 16739, i16 16390, i16 16385, i16 16739, i16 16739, i16 16390, i16 16388, i16 16739, i16 16739, i16 16444, i16 16385, i16 16739, i16 16739, i16 16444, i16 16388, i16 16739, i16 16739, i16 16452, i16 16385, i16 16739, i16 16739, i16 16452, i16 16388, i16 16739, i16 16739, i16 16448, i16 16385, i16 16739, i16 16739, i16 16448, i16 16388, i16 16739, i16 16739, i16 16434, i16 16385, i16 16739, i16 16739, i16 16434, i16 16388, i16 16739, i16 16739, i16 16421, i16 16385, i16 16739, i16 16739, i16 16421, i16 16388, i16 16739, i16 16739, i16 16445, i16 16385, i16 16739, i16 16739, i16 16445, i16 16388, i16 16739, i16 16760, i16 16389, i16 16388, i16 16760, i16 16760, i16 16392, i16 16385, i16 16760, i16 16760, i16 16392, i16 16388, i16 16760, i16 16760, i16 16390, i16 16385, i16 16760, i16 16760, i16 16390, i16 16388, i16 16760, i16 16760, i16 16444, i16 16385, i16 16760, i16 16760, i16 16444, i16 16388, i16 16760, i16 16769, i16 16389, i16 16388, i16 16769, i16 16769, i16 16392, i16 16385, i16 16769, i16 16769, i16 16392, i16 16388, i16 16769, i16 16769, i16 16395, i16 16385, i16 16769, i16 16769, i16 16395, i16 16388, i16 16769, i16 16769, i16 16396, i16 16385, i16 16769, i16 16769, i16 16396, i16 16388, i16 16769, i16 16769, i16 16390, i16 16385, i16 16769, i16 16769, i16 16390, i16 16388, i16 16769, i16 16769, i16 16444, i16 16385, i16 16769, i16 16769, i16 16444, i16 16388, i16 16769, i16 16769, i16 16448, i16 16385, i16 16769, i16 16769, i16 16448, i16 16388, i16 16769, i16 16769, i16 16421, i16 16385, i16 16769, i16 16769, i16 16421, i16 16388, i16 16769, i16 16769, i16 16445, i16 16385, i16 16769, i16 16769, i16 16445, i16 16388, i16 16769, i16 16769, i16 16451, i16 16388, i16 16769, i16 18687, i16 18690, i16 18517, i16 18687, i16 18687, i16 18690, i16 18425, i16 18687, i16 16791, i16 16389, i16 16388, i16 16791, i16 16791, i16 16389, i16 32766, i16 16791, i16 16791, i16 16392, i16 16385, i16 16791, i16 16791, i16 16392, i16 16388, i16 16791, i16 16791, i16 16393, i16 16385, i16 16791, i16 16791, i16 16393, i16 16388, i16 16791, i16 16791, i16 16405, i16 16385, i16 16791, i16 16791, i16 16405, i16 16388, i16 16791, i16 16791, i16 16397, i16 16385, i16 16791, i16 16791, i16 16397, i16 16388, i16 16791, i16 16791, i16 16398, i16 16385, i16 16791, i16 16791, i16 16398, i16 16388, i16 16791, i16 16791, i16 16394, i16 16385, i16 16791, i16 16791, i16 16394, i16 16388, i16 16791, i16 16791, i16 16412, i16 16385, i16 16791, i16 16791, i16 16412, i16 16388, i16 16791, i16 16791, i16 16413, i16 16385, i16 16791, i16 16791, i16 16413, i16 16388, i16 16791, i16 16791, i16 16415, i16 16385, i16 16791, i16 16791, i16 16415, i16 16388, i16 16791, i16 16791, i16 16414, i16 16385, i16 16791, i16 16791, i16 16414, i16 16388, i16 16791, i16 16791, i16 16436, i16 16385, i16 16791, i16 16791, i16 16436, i16 16388, i16 16791, i16 16791, i16 16395, i16 16385, i16 16791, i16 16791, i16 16395, i16 16388, i16 16791, i16 16791, i16 16402, i16 16385, i16 16791, i16 16791, i16 16402, i16 16388, i16 16791, i16 16791, i16 16404, i16 16385, i16 16791, i16 16791, i16 16404, i16 16388, i16 16791, i16 16791, i16 16400, i16 16385, i16 16791, i16 16791, i16 16400, i16 16388, i16 16791, i16 16791, i16 16396, i16 16385, i16 16791, i16 16791, i16 16396, i16 16388, i16 16791, i16 16791, i16 16406, i16 16385, i16 16791, i16 16791, i16 16406, i16 16388, i16 16791, i16 16791, i16 16431, i16 16385, i16 16791, i16 16791, i16 16431, i16 16388, i16 16791, i16 16791, i16 16444, i16 16385, i16 16791, i16 16791, i16 16444, i16 16388, i16 16791, i16 16791, i16 16452, i16 16385, i16 16791, i16 16791, i16 16452, i16 16388, i16 16791, i16 16791, i16 16443, i16 16385, i16 16791, i16 16791, i16 16443, i16 16388, i16 16791, i16 16791, i16 16449, i16 16385, i16 16791, i16 16791, i16 16449, i16 16388, i16 16791, i16 16791, i16 16440, i16 16385, i16 16791, i16 16791, i16 16440, i16 16388, i16 16791, i16 16791, i16 16391, i16 16385, i16 16791, i16 16791, i16 16391, i16 16388, i16 16791, i16 16791, i16 16419, i16 16385, i16 16791, i16 16791, i16 16419, i16 16388, i16 16791, i16 16791, i16 16420, i16 16385, i16 16791, i16 16791, i16 16420, i16 16388, i16 16791, i16 16791, i16 16401, i16 16385, i16 16791, i16 16791, i16 16401, i16 16388, i16 16791, i16 16791, i16 16422, i16 16385, i16 16791, i16 16791, i16 16422, i16 16388, i16 16791, i16 16791, i16 16423, i16 16385, i16 16791, i16 16791, i16 16423, i16 16388, i16 16791, i16 16791, i16 16425, i16 16385, i16 16791, i16 16791, i16 16425, i16 16388, i16 16791, i16 16791, i16 16424, i16 16385, i16 16791, i16 16791, i16 16424, i16 16388, i16 16791, i16 16791, i16 16441, i16 16385, i16 16791, i16 16791, i16 16441, i16 16388, i16 16791, i16 18693, i16 18696, i16 18517, i16 18693, i16 18693, i16 18696, i16 18425, i16 18693, i16 16861, i16 16389, i16 16388, i16 16861, i16 16861, i16 16392, i16 16385, i16 16861, i16 16861, i16 16392, i16 16388, i16 16861, i16 16861, i16 16390, i16 16385, i16 16861, i16 16861, i16 16390, i16 16388, i16 16861, i16 16868, i16 16389, i16 16388, i16 16868, i16 16871, i16 16389, i16 16388, i16 16871, i16 16871, i16 16392, i16 16385, i16 16871, i16 16871, i16 16392, i16 16388, i16 16871, i16 16871, i16 16405, i16 16385, i16 16871, i16 16871, i16 16405, i16 16388, i16 16871, i16 16871, i16 16398, i16 16385, i16 16871, i16 16871, i16 16398, i16 16388, i16 16871, i16 16871, i16 16390, i16 16385, i16 16871, i16 16871, i16 16390, i16 16388, i16 16871, i16 16871, i16 16444, i16 16385, i16 16871, i16 16871, i16 16444, i16 16388, i16 16871, i16 16871, i16 16448, i16 16385, i16 16871, i16 16871, i16 16448, i16 16388, i16 16871, i16 16871, i16 16434, i16 16385, i16 16871, i16 16871, i16 16434, i16 16388, i16 16871, i16 16871, i16 16445, i16 16385, i16 16871, i16 16871, i16 16445, i16 16388, i16 16871, i16 16889, i16 16395, i16 16388, i16 16889, i16 16892, i16 16389, i16 16388, i16 16892, i16 18699, i16 18643, i16 18702, i16 18699, i16 16892, i16 16392, i16 16385, i16 16892, i16 16892, i16 16392, i16 16388, i16 16892, i16 16892, i16 16403, i16 16385, i16 16892, i16 16892, i16 16403, i16 16388, i16 16892, i16 16892, i16 16394, i16 16385, i16 16892, i16 16892, i16 16394, i16 16388, i16 16892, i16 16892, i16 16390, i16 16385, i16 16892, i16 16892, i16 16390, i16 16388, i16 16892, i16 16892, i16 16444, i16 16385, i16 16892, i16 16892, i16 16444, i16 16388, i16 16892, i16 16892, i16 16433, i16 16385, i16 16892, i16 16892, i16 16433, i16 16388, i16 16892, i16 16892, i16 16448, i16 16385, i16 16892, i16 16892, i16 16448, i16 16388, i16 16892, i16 16909, i16 16395, i16 16388, i16 16909, i16 16909, i16 16416, i16 16385, i16 16909, i16 16909, i16 16416, i16 16388, i16 16909, i16 16892, i16 32766, i16 16388, i16 16892, i16 18705, i16 18643, i16 18708, i16 18705, i16 18699, i16 18643, i16 18711, i16 16384, i16 16917, i16 16389, i16 16388, i16 16917, i16 16917, i16 16395, i16 16385, i16 16917, i16 16917, i16 16395, i16 16388, i16 16917, i16 16917, i16 16390, i16 16385, i16 16917, i16 16917, i16 16390, i16 16388, i16 16917, i16 16917, i16 16444, i16 16385, i16 16917, i16 16917, i16 16444, i16 16388, i16 16917, i16 16917, i16 16452, i16 16385, i16 16917, i16 16917, i16 16452, i16 16388, i16 16917, i16 16917, i16 16448, i16 16385, i16 16917, i16 16917, i16 16448, i16 16388, i16 16917, i16 16917, i16 16421, i16 16385, i16 16917, i16 16917, i16 16421, i16 16388, i16 16917, i16 16917, i16 16445, i16 16385, i16 16917, i16 16917, i16 16445, i16 16388, i16 16917, i16 18714, i16 18717, i16 18517, i16 18714, i16 18714, i16 18717, i16 18425, i16 18714, i16 16936, i16 16389, i16 16388, i16 16936, i16 16936, i16 16392, i16 16385, i16 16936, i16 16936, i16 16392, i16 16388, i16 16936, i16 16936, i16 16393, i16 16385, i16 16936, i16 16936, i16 16393, i16 16388, i16 16936, i16 16936, i16 16405, i16 16385, i16 16936, i16 16936, i16 16405, i16 16388, i16 16936, i16 16936, i16 16397, i16 16385, i16 16936, i16 16936, i16 16397, i16 16388, i16 16936, i16 16936, i16 16398, i16 16385, i16 16936, i16 16936, i16 16398, i16 16388, i16 16936, i16 16936, i16 16394, i16 16385, i16 16936, i16 16936, i16 16394, i16 16388, i16 16936, i16 16936, i16 16395, i16 16385, i16 16936, i16 16936, i16 16395, i16 16388, i16 16936, i16 16936, i16 16399, i16 16385, i16 16936, i16 16936, i16 16399, i16 16388, i16 16936, i16 16936, i16 16402, i16 16385, i16 16936, i16 16936, i16 16402, i16 16388, i16 16936, i16 16936, i16 16426, i16 16385, i16 16936, i16 16936, i16 16426, i16 16388, i16 16936, i16 16936, i16 16427, i16 16385, i16 16936, i16 16936, i16 16427, i16 16388, i16 16936, i16 16936, i16 16428, i16 16385, i16 16936, i16 16936, i16 16428, i16 16388, i16 16936, i16 16936, i16 16429, i16 16385, i16 16936, i16 16936, i16 16429, i16 16388, i16 16936, i16 16936, i16 16404, i16 16385, i16 16936, i16 16936, i16 16404, i16 16388, i16 16936, i16 16936, i16 16400, i16 16385, i16 16936, i16 16936, i16 16400, i16 16388, i16 16936, i16 16936, i16 16396, i16 16385, i16 16936, i16 16936, i16 16396, i16 16388, i16 16936, i16 16936, i16 16406, i16 16385, i16 16936, i16 16936, i16 16406, i16 16388, i16 16936, i16 16936, i16 16446, i16 16385, i16 16936, i16 16936, i16 16446, i16 16388, i16 16936, i16 16936, i16 16444, i16 16385, i16 16936, i16 16936, i16 16444, i16 16388, i16 16936, i16 16936, i16 16449, i16 16385, i16 16936, i16 16936, i16 16449, i16 16388, i16 16936, i16 16936, i16 16391, i16 16385, i16 16936, i16 16936, i16 16391, i16 16388, i16 16936, i16 16936, i16 16430, i16 16385, i16 16936, i16 16936, i16 16430, i16 16388, i16 16936, i16 16936, i16 16442, i16 16385, i16 16936, i16 16936, i16 16442, i16 16388, i16 16936, i16 16936, i16 16421, i16 16385, i16 16936, i16 16936, i16 16421, i16 16388, i16 16936, i16 16936, i16 16401, i16 16385, i16 16936, i16 16936, i16 16401, i16 16388, i16 16936, i16 16936, i16 16422, i16 16385, i16 16936, i16 16936, i16 16422, i16 16388, i16 16936, i16 16936, i16 16423, i16 16385, i16 16936, i16 16936, i16 16423, i16 16388, i16 16936, i16 16936, i16 16425, i16 16385, i16 16936, i16 16936, i16 16425, i16 16388, i16 16936, i16 16936, i16 16424, i16 16385, i16 16936, i16 16936, i16 16424, i16 16388, i16 16936, i16 16936, i16 16441, i16 16385, i16 16936, i16 16936, i16 16441, i16 16388, i16 16936, i16 16999, i16 16389, i16 16388, i16 16999, i16 16999, i16 16396, i16 16385, i16 16999, i16 16999, i16 16396, i16 16388, i16 16999, i16 16999, i16 16444, i16 16385, i16 16999, i16 16999, i16 16444, i16 16388, i16 16999, i16 17006, i16 16389, i16 16388, i16 17006, i16 17006, i16 16392, i16 16385, i16 17006, i16 17006, i16 16392, i16 16388, i16 17006, i16 17006, i16 16393, i16 16385, i16 17006, i16 17006, i16 16393, i16 16388, i16 17006, i16 17006, i16 16394, i16 16385, i16 17006, i16 17006, i16 16394, i16 16388, i16 17006, i16 17006, i16 16402, i16 16385, i16 17006, i16 17006, i16 16402, i16 16388, i16 17006, i16 17006, i16 16390, i16 16385, i16 17006, i16 17006, i16 16390, i16 16388, i16 17006, i16 17006, i16 16444, i16 16385, i16 17006, i16 17006, i16 16444, i16 16388, i16 17006, i16 17021, i16 16389, i16 16388, i16 17021, i16 17021, i16 16402, i16 16385, i16 17021, i16 17021, i16 16402, i16 16388, i16 17021, i16 17021, i16 16390, i16 16385, i16 17021, i16 17021, i16 16390, i16 16388, i16 17021, i16 17028, i16 16389, i16 16388, i16 17028, i16 17028, i16 16392, i16 16385, i16 17028, i16 17028, i16 16392, i16 16388, i16 17028, i16 17028, i16 16393, i16 16385, i16 17028, i16 17028, i16 16393, i16 16388, i16 17028, i16 17028, i16 16394, i16 16385, i16 17028, i16 17028, i16 16394, i16 16388, i16 17028, i16 17028, i16 16402, i16 16385, i16 17028, i16 17028, i16 16402, i16 16388, i16 17028, i16 17028, i16 16400, i16 16385, i16 17028, i16 17028, i16 16400, i16 16388, i16 17028, i16 17028, i16 16396, i16 16385, i16 17028, i16 17028, i16 16396, i16 16388, i16 17028, i16 17028, i16 16390, i16 16385, i16 17028, i16 17028, i16 16390, i16 16388, i16 17028, i16 17028, i16 16444, i16 16385, i16 17028, i16 17028, i16 16444, i16 16388, i16 17028, i16 17047, i16 16389, i16 16388, i16 17047, i16 17047, i16 16392, i16 16385, i16 17047, i16 17047, i16 16392, i16 16388, i16 17047, i16 17047, i16 16394, i16 16385, i16 17047, i16 17047, i16 16394, i16 16388, i16 17047, i16 17047, i16 16390, i16 16385, i16 17047, i16 17047, i16 16390, i16 16388, i16 17047, i16 17047, i16 16444, i16 16385, i16 17047, i16 17047, i16 16444, i16 16388, i16 17047, i16 17047, i16 16452, i16 16385, i16 17047, i16 17047, i16 16452, i16 16388, i16 17047, i16 17047, i16 16445, i16 16385, i16 17047, i16 17047, i16 16445, i16 16388, i16 17047, i16 17062, i16 16395, i16 16388, i16 17062, i16 32766, i16 32766, i16 16384, i16 32766, i16 17064, i16 32766, i16 16384, i16 17064, i16 17073, i16 32766, i16 16384, i16 17073, i16 17074, i16 32766, i16 16384, i16 17074, i16 17075, i16 32766, i16 16384, i16 17075, i16 17076, i16 32766, i16 16384, i16 17076, i16 17077, i16 32766, i16 16384, i16 17077, i16 17078, i16 32766, i16 16384, i16 17078, i16 17079, i16 32766, i16 16384, i16 17079, i16 17080, i16 32766, i16 16384, i16 17080, i16 17081, i16 32766, i16 16384, i16 17081, i16 16384, i16 16384, i16 16384, i16 17133, i16 16384, i16 16384, i16 16384, i16 17135, i16 16384, i16 16384, i16 16384, i16 17197, i16 16384, i16 16384, i16 16384, i16 16384, i16 32766, i16 16385, i16 16453, i16 32766, i16 17723, i16 16385, i16 16454, i16 17723, i16 17723, i16 16388, i16 16453, i16 17723, i16 17723, i16 16388, i16 16454, i16 17723, i16 17727, i16 16388, i16 16453, i16 17727, i16 17729, i16 16388, i16 16453, i16 17729, i16 17731, i16 16388, i16 16453, i16 17731, i16 17733, i16 16385, i16 16454, i16 17733, i16 17733, i16 16388, i16 16453, i16 17733, i16 17733, i16 16388, i16 16454, i16 17733, i16 17737, i16 16388, i16 16453, i16 17737, i16 17739, i16 16385, i16 16454, i16 17739, i16 17739, i16 16388, i16 16453, i16 17739, i16 17739, i16 16388, i16 16454, i16 17739, i16 17743, i16 16388, i16 16453, i16 17743, i16 17745, i16 16385, i16 16454, i16 17745, i16 17745, i16 16385, i16 16455, i16 17745, i16 17745, i16 16388, i16 16453, i16 17745, i16 17745, i16 16388, i16 16454, i16 17745, i16 17745, i16 16388, i16 16455, i16 17745, i16 17745, i16 16388, i16 16456, i16 17745, i16 17752, i16 16388, i16 16453, i16 17752, i16 17754, i16 16388, i16 16453, i16 17754, i16 17756, i16 16388, i16 16453, i16 17756, i16 17758, i16 16388, i16 16453, i16 17758, i16 17760, i16 16388, i16 16453, i16 17760, i16 17762, i16 16385, i16 16454, i16 17762, i16 17762, i16 16388, i16 16453, i16 17762, i16 17762, i16 16388, i16 16454, i16 17762, i16 17766, i16 16388, i16 16453, i16 17766, i16 17768, i16 16388, i16 16453, i16 17768, i16 17770, i16 16388, i16 16453, i16 17770, i16 17770, i16 16388, i16 32766, i16 17770, i16 17773, i16 16388, i16 16453, i16 17773, i16 17775, i16 16385, i16 16454, i16 17775, i16 17775, i16 16385, i16 16455, i16 17775, i16 17775, i16 16388, i16 16453, i16 17775, i16 17775, i16 16388, i16 16454, i16 17775, i16 17775, i16 16388, i16 16455, i16 17775, i16 17775, i16 16388, i16 16456, i16 17775, i16 17782, i16 16388, i16 16453, i16 17782, i16 17784, i16 16388, i16 16453, i16 17784, i16 17786, i16 16388, i16 16453, i16 17786, i16 17788, i16 16385, i16 16454, i16 17788, i16 17788, i16 16388, i16 16453, i16 17788, i16 17788, i16 16388, i16 16454, i16 17788, i16 32766, i16 16457, i16 16385, i16 32766, i16 17792, i16 16457, i16 16388, i16 17792, i16 17794, i16 16457, i16 16388, i16 17794, i16 17796, i16 16457, i16 16388, i16 17796, i16 17798, i16 16457, i16 16388, i16 17798, i16 17800, i16 16457, i16 16388, i16 17800, i16 17802, i16 16457, i16 16388, i16 17802, i16 17804, i16 16457, i16 16388, i16 17804, i16 17806, i16 16457, i16 16388, i16 17806, i16 17808, i16 16457, i16 16388, i16 17808, i16 17810, i16 16457, i16 16388, i16 17810, i16 17812, i16 16457, i16 16388, i16 17812, i16 17814, i16 16457, i16 16388, i16 17814, i16 17816, i16 16457, i16 16388, i16 17816, i16 17818, i16 16457, i16 16388, i16 17818, i16 17820, i16 16457, i16 16388, i16 17820, i16 17822, i16 16457, i16 16388, i16 17822, i16 17824, i16 16457, i16 16388, i16 17824, i16 17826, i16 16457, i16 16388, i16 17826, i16 17828, i16 16457, i16 16388, i16 17828, i16 17830, i16 16457, i16 16388, i16 17830, i16 17832, i16 16457, i16 16388, i16 17832, i16 17834, i16 16457, i16 16388, i16 17834, i16 17836, i16 16457, i16 16388, i16 17836, i16 17838, i16 16457, i16 16388, i16 17838, i16 17840, i16 16457, i16 16388, i16 17840, i16 17842, i16 16457, i16 16388, i16 17842, i16 17844, i16 16457, i16 16388, i16 17844, i16 17846, i16 16457, i16 16388, i16 17846, i16 17848, i16 16457, i16 16388, i16 17848, i16 17850, i16 16457, i16 16388, i16 17850, i16 17852, i16 16457, i16 16388, i16 17852, i16 17854, i16 16457, i16 16388, i16 17854, i16 17856, i16 16457, i16 16388, i16 17856, i16 17858, i16 16457, i16 16388, i16 17858, i16 17860, i16 16457, i16 16388, i16 17860, i16 17862, i16 16457, i16 16388, i16 17862, i16 17864, i16 16457, i16 16388, i16 17864, i16 17866, i16 16457, i16 16388, i16 17866, i16 17868, i16 16457, i16 16388, i16 17868, i16 17870, i16 16457, i16 16388, i16 17870, i16 17872, i16 16457, i16 16388, i16 17872, i16 32766, i16 16457, i16 16388, i16 32766, i16 17874, i16 16457, i16 16385, i16 17874, i16 17876, i16 16457, i16 16388, i16 17876, i16 17878, i16 16457, i16 16385, i16 17878, i16 17880, i16 16457, i16 16388, i16 17880, i16 17882, i16 16457, i16 16388, i16 17882, i16 17884, i16 16457, i16 16388, i16 17884, i16 17886, i16 16457, i16 16388, i16 17886, i16 17888, i16 16457, i16 16388, i16 17888, i16 17890, i16 16457, i16 16388, i16 17890, i16 17892, i16 16457, i16 16388, i16 17892, i16 17894, i16 16457, i16 16388, i16 17894, i16 32766, i16 16384, i16 16384, i16 32766, i16 17928, i16 32766, i16 16384, i16 17928, i16 17927, i16 32766, i16 16384, i16 17927, i16 17937, i16 32766, i16 16384, i16 17937, i16 17941, i16 32766, i16 16384, i16 17941, i16 17948, i16 32766, i16 16384, i16 17948, i16 17956, i16 32766, i16 16384, i16 17956, i16 17961, i16 32766, i16 16384, i16 17961, i16 17966, i16 32766, i16 16384, i16 17966, i16 17971, i16 32766, i16 16384, i16 17971, i16 17976, i16 32766, i16 16384, i16 17976, i16 17979, i16 32766, i16 16384, i16 17979, i16 17982, i16 32766, i16 16384, i16 17982, i16 17985, i16 32766, i16 16384, i16 17985, i16 17988, i16 32766, i16 16384, i16 17988, i16 17993, i16 32766, i16 16384, i16 17993, i16 17998, i16 32766, i16 16384, i16 17998, i16 18003, i16 32766, i16 16384, i16 18003, i16 18008, i16 32766, i16 16384, i16 18008, i16 18013, i16 32766, i16 16384, i16 18013, i16 18018, i16 32766, i16 16384, i16 18018, i16 18023, i16 32766, i16 16384, i16 18023, i16 18028, i16 32766, i16 16384, i16 18028, i16 18033, i16 32766, i16 16384, i16 18033, i16 18038, i16 32766, i16 16384, i16 18038, i16 18043, i16 32766, i16 16384, i16 18043, i16 18048, i16 32766, i16 16384, i16 18048, i16 18053, i16 32766, i16 16384, i16 18053, i16 18058, i16 32766, i16 16384, i16 18058, i16 18063, i16 32766, i16 16384, i16 18063, i16 18066, i16 32766, i16 16384, i16 18066, i16 18069, i16 32766, i16 16384, i16 18069, i16 16384, i16 16384, i16 32766, i16 32766, i16 18720, i16 18720, i16 18723, i16 18720, i16 18720, i16 18726, i16 18729, i16 18720, i16 18732, i16 18732, i16 18735, i16 18732, i16 18732, i16 18738, i16 18741, i16 18732, i16 18744, i16 18744, i16 18747, i16 18744, i16 18744, i16 18750, i16 18753, i16 18744, i16 18756, i16 18759, i16 18762, i16 18756, i16 18756, i16 18765, i16 18768, i16 18756, i16 18101, i16 32766, i16 16384, i16 18101, i16 18105, i16 32766, i16 16384, i16 18105, i16 18109, i16 32766, i16 16384, i16 18109, i16 18114, i16 32766, i16 16384, i16 18114, i16 18118, i16 32766, i16 16384, i16 18118, i16 18122, i16 32766, i16 16384, i16 18122, i16 18127, i16 32766, i16 16384, i16 18127, i16 18131, i16 32766, i16 16384, i16 18131, i16 18135, i16 32766, i16 16384, i16 18135, i16 18140, i16 32766, i16 16384, i16 18140, i16 18144, i16 32766, i16 16384, i16 18144, i16 18148, i16 32766, i16 16384, i16 18148, i16 18152, i16 32766, i16 16384, i16 18152, i16 18156, i16 32766, i16 16384, i16 18156, i16 18160, i16 32766, i16 16384, i16 18160, i16 18164, i16 32766, i16 16384, i16 18164, i16 18168, i16 32766, i16 16384, i16 18168, i16 18172, i16 32766, i16 16384, i16 18172, i16 18178, i16 32766, i16 16384, i16 18178, i16 18182, i16 32766, i16 16384, i16 18182, i16 18186, i16 32766, i16 16384, i16 18186, i16 18188, i16 32766, i16 16384, i16 18188, i16 18190, i16 32766, i16 16384, i16 18190, i16 18192, i16 32766, i16 16384, i16 18192, i16 18194, i16 32766, i16 16384, i16 18194, i16 18196, i16 32766, i16 16384, i16 18196, i16 18202, i16 32766, i16 16384, i16 18202, i16 18208, i16 32766, i16 16384, i16 18208, i16 18214, i16 32766, i16 16384, i16 18214, i16 18220, i16 32766, i16 16384, i16 18220, i16 18226, i16 32766, i16 16384, i16 18226, i16 18228, i16 32766, i16 16384, i16 18228, i16 18230, i16 32766, i16 16384, i16 18230, i16 18232, i16 32766, i16 16384, i16 18232, i16 18234, i16 32766, i16 16384, i16 18234, i16 18236, i16 32766, i16 16384, i16 18236, i16 18240, i16 32766, i16 16384, i16 18240, i16 18244, i16 32766, i16 16384, i16 18244, i16 18248, i16 32766, i16 16384, i16 18248, i16 18250, i16 32766, i16 16384, i16 18250, i16 18252, i16 32766, i16 16384, i16 18252, i16 18254, i16 32766, i16 16384, i16 18254, i16 18256, i16 32766, i16 16384, i16 18256, i16 18258, i16 32766, i16 16384, i16 18258, i16 18262, i16 32766, i16 16384, i16 18262, i16 18264, i16 32766, i16 16384, i16 18264, i16 18266, i16 32766, i16 16384, i16 18266, i16 18268, i16 32766, i16 16384, i16 18268, i16 32766, i16 32766, i16 16384, i16 16384, i16 16396, i16 32766, i16 16384, i16 16384, i16 16398, i16 32766, i16 16384, i16 16384, i16 16400, i16 32766, i16 16384, i16 16384, i16 16402, i16 32766, i16 16384, i16 16384, i16 16404, i16 32766, i16 16384, i16 16384, i16 16406, i16 32766, i16 16384, i16 16384, i16 16408, i16 32766, i16 16384, i16 16384, i16 16410, i16 32766, i16 16384, i16 16384, i16 16412, i16 32766, i16 16384, i16 16384, i16 16414, i16 32766, i16 16384, i16 16384, i16 16416, i16 32766, i16 16384, i16 16384, i16 16418, i16 32766, i16 16384, i16 16384, i16 16420, i16 32766, i16 16384, i16 16384, i16 16422, i16 32766, i16 16384, i16 16384, i16 16424, i16 32766, i16 16384, i16 16384, i16 16426, i16 32766, i16 16384, i16 16384, i16 16428, i16 32766, i16 16384, i16 16384, i16 16430, i16 32766, i16 16384, i16 16384, i16 16432, i16 32766, i16 16384, i16 16384, i16 16434, i16 32766, i16 16384, i16 16384, i16 16436, i16 32766, i16 16384, i16 16384, i16 16438, i16 32766, i16 16384, i16 16384, i16 16440, i16 32766, i16 16384, i16 16384, i16 16442, i16 32766, i16 16384, i16 16384, i16 16444, i16 32766, i16 16384, i16 16384, i16 16446, i16 32766, i16 16384, i16 16384, i16 16384, i16 32766, i16 16384, i16 16384, i16 16384, i16 16384, i16 32766, i16 16384, i16 16384, i16 32766, i16 16385, i16 16385, i16 32766, i16 16385, i16 16385, i16 16385, i16 16438, i16 16386, i16 16385, i16 16385, i16 16440, i16 16386, i16 16385, i16 16385, i16 16442, i16 16386, i16 16385, i16 16385, i16 16444, i16 16386, i16 16385, i16 16385, i16 16446, i16 16386, i16 16385, i16 16385, i16 16448, i16 16386, i16 16385, i16 16385, i16 16450, i16 16386, i16 16385, i16 16385, i16 16452, i16 16386, i16 16385, i16 16385, i16 16454, i16 16386, i16 16385, i16 16385, i16 16456, i16 16386, i16 16385, i16 16385, i16 32766, i16 16385, i16 16385, i16 16387, i16 16458, i16 16385, i16 16385, i16 16388, i16 16460, i16 16385, i16 16385, i16 16388, i16 16462, i16 16385, i16 16385, i16 16388, i16 16464, i16 16385, i16 16385, i16 16388, i16 16466, i16 16385, i16 16385, i16 16388, i16 16468, i16 16385, i16 16385, i16 16388, i16 16470, i16 16385, i16 16385, i16 16388, i16 16472, i16 16385, i16 16385, i16 16388, i16 16474, i16 16385, i16 16385, i16 16388, i16 16476, i16 16385, i16 16385, i16 16388, i16 16478, i16 16385, i16 16385, i16 16388, i16 16480, i16 16385, i16 16385, i16 16388, i16 16482, i16 16385, i16 16385, i16 16388, i16 16484, i16 16385, i16 16385, i16 16388, i16 16486, i16 16385, i16 16385, i16 16388, i16 16488, i16 16385, i16 16385, i16 16388, i16 16490, i16 16385, i16 16385, i16 16388, i16 16492, i16 16385, i16 16385, i16 16388, i16 16494, i16 16385, i16 16385, i16 16388, i16 16496, i16 16385, i16 16385, i16 16388, i16 16498, i16 16385, i16 16385, i16 16388, i16 16500, i16 16385, i16 16385, i16 16388, i16 16502, i16 16385, i16 16385, i16 16388, i16 16504, i16 16385, i16 16385, i16 16388, i16 16506, i16 16385, i16 16385, i16 16388, i16 16508, i16 16385, i16 16385, i16 16388, i16 17294, i16 16385, i16 16385, i16 16385, i16 17297, i16 16385, i16 16385, i16 16385, i16 17300, i16 16385, i16 16385, i16 16385, i16 17303, i16 16385, i16 16385, i16 16385, i16 17306, i16 16385, i16 16385, i16 16385, i16 17309, i16 16385, i16 16385, i16 16385, i16 17312, i16 16385, i16 16385, i16 16385, i16 17315, i16 16385, i16 16385, i16 16385, i16 17318, i16 16385, i16 16385, i16 16385, i16 17321, i16 16385, i16 16385, i16 16385, i16 17324, i16 16385, i16 16385, i16 16385, i16 17327, i16 16385, i16 16385, i16 16385, i16 17330, i16 16385, i16 16385, i16 16385, i16 17333, i16 16385, i16 16385, i16 16385, i16 17336, i16 16385, i16 16385, i16 16385, i16 17339, i16 16385, i16 16385, i16 16385, i16 17342, i16 16385, i16 16385, i16 16385, i16 17345, i16 16385, i16 16385, i16 16385, i16 17348, i16 16385, i16 16385, i16 16385, i16 17351, i16 16385, i16 16385, i16 16385, i16 17354, i16 16385, i16 16385, i16 16385, i16 17357, i16 16385, i16 16385, i16 16385, i16 17360, i16 16385, i16 16385, i16 16385, i16 17363, i16 16385, i16 16385, i16 16385, i16 17366, i16 16385, i16 16385, i16 16385, i16 17369, i16 16385, i16 16385, i16 16385, i16 17372, i16 16385, i16 16385, i16 16385, i16 17375, i16 16385, i16 16385, i16 16385, i16 17378, i16 16385, i16 16385, i16 16385, i16 17381, i16 16385, i16 16385, i16 16385, i16 17384, i16 16385, i16 16385, i16 16385, i16 17387, i16 16385, i16 16385, i16 16385, i16 17390, i16 16385, i16 16385, i16 16385, i16 17393, i16 16385, i16 16385, i16 16385, i16 17396, i16 16385, i16 16385, i16 16385, i16 17399, i16 16385, i16 16385, i16 16385, i16 17402, i16 16385, i16 16385, i16 16385, i16 17405, i16 16385, i16 16385, i16 16385, i16 17408, i16 16385, i16 16385, i16 16385, i16 17411, i16 16385, i16 16385, i16 16385, i16 17414, i16 16385, i16 16385, i16 16385, i16 17417, i16 16385, i16 16385, i16 16385, i16 17420, i16 16385, i16 16385, i16 16385, i16 17423, i16 16385, i16 16385, i16 16385, i16 17426, i16 16385, i16 16385, i16 16385, i16 17429, i16 16385, i16 16385, i16 16385, i16 17432, i16 16385, i16 16385, i16 16385, i16 17435, i16 16385, i16 16385, i16 16385, i16 17438, i16 16385, i16 16385, i16 16385, i16 17441, i16 16385, i16 16385, i16 16385, i16 17444, i16 16385, i16 16385, i16 16385, i16 17447, i16 16385, i16 16385, i16 16385, i16 17450, i16 16385, i16 16385, i16 16385, i16 17453, i16 16385, i16 16385, i16 16385, i16 17456, i16 16385, i16 16385, i16 16385, i16 17459, i16 16385, i16 16385, i16 16385, i16 17462, i16 16385, i16 16385, i16 16385, i16 17465, i16 16385, i16 16385, i16 16385, i16 17468, i16 16385, i16 16385, i16 16385, i16 17471, i16 16385, i16 16385, i16 16385, i16 17474, i16 16385, i16 16385, i16 16385, i16 17477, i16 16385, i16 16385, i16 16385, i16 17480, i16 16385, i16 16385, i16 16385, i16 17483, i16 16385, i16 16385, i16 16385, i16 17486, i16 16385, i16 16385, i16 16385, i16 17489, i16 16385, i16 16385, i16 16385, i16 17492, i16 16385, i16 16385, i16 16385, i16 17495, i16 16385, i16 16385, i16 16385, i16 17498, i16 16385, i16 16385, i16 16385, i16 17501, i16 16385, i16 16385, i16 16385, i16 17504, i16 16385, i16 16385, i16 16385, i16 17507, i16 16385, i16 16385, i16 16385, i16 17510, i16 16385, i16 16385, i16 16385, i16 17513, i16 16385, i16 16385, i16 16385, i16 17516, i16 16385, i16 16385, i16 16385, i16 17519, i16 16385, i16 16385, i16 16385, i16 17522, i16 16385, i16 16385, i16 16385, i16 17525, i16 16385, i16 16385, i16 16385, i16 17528, i16 16385, i16 16385, i16 16385, i16 17531, i16 16385, i16 16385, i16 16385, i16 17534, i16 16385, i16 16385, i16 16385, i16 17537, i16 16385, i16 16385, i16 16385, i16 17540, i16 16385, i16 16385, i16 16385, i16 17543, i16 16385, i16 16385, i16 16385, i16 17546, i16 16385, i16 16385, i16 16385, i16 17549, i16 16385, i16 16385, i16 16385, i16 17552, i16 16385, i16 16385, i16 16385, i16 17555, i16 16385, i16 16385, i16 16385, i16 17558, i16 16385, i16 16385, i16 16385, i16 17561, i16 16385, i16 16385, i16 16385, i16 17564, i16 16385, i16 16385, i16 16385, i16 17567, i16 16385, i16 16385, i16 16385, i16 17570, i16 16385, i16 16385, i16 16385, i16 17573, i16 16385, i16 16385, i16 16385, i16 17576, i16 16385, i16 16385, i16 16385, i16 17579, i16 16385, i16 16385, i16 16385, i16 17582, i16 16385, i16 16385, i16 16385, i16 17585, i16 16385, i16 16385, i16 16385, i16 17588, i16 16385, i16 16385, i16 16385, i16 17591, i16 16385, i16 16385, i16 16385, i16 17594, i16 16385, i16 16385, i16 16385, i16 17597, i16 16385, i16 16385, i16 16385, i16 17600, i16 16385, i16 16385, i16 16385, i16 17603, i16 16385, i16 16385, i16 16385, i16 17606, i16 16385, i16 16385, i16 16385, i16 17609, i16 16385, i16 16385, i16 16385, i16 17612, i16 16385, i16 16385, i16 16385, i16 17615, i16 16385, i16 16385, i16 16385, i16 17618, i16 16385, i16 16385, i16 16385, i16 17621, i16 16385, i16 16385, i16 16385, i16 17624, i16 16385, i16 16385, i16 16385, i16 17627, i16 16385, i16 16385, i16 16385, i16 17630, i16 16385, i16 16385, i16 16385, i16 17633, i16 16385, i16 16385, i16 16385, i16 17636, i16 16385, i16 16385, i16 16385, i16 17639, i16 16385, i16 16385, i16 16385, i16 17642, i16 16385, i16 16385, i16 16385, i16 17645, i16 16385, i16 16385, i16 16385, i16 17648, i16 16385, i16 16385, i16 16385, i16 17651, i16 16385, i16 16385, i16 16385, i16 17654, i16 16385, i16 16385, i16 16385, i16 17657, i16 16385, i16 16385, i16 16385, i16 17660, i16 16385, i16 16385, i16 16385, i16 17663, i16 16385, i16 16385, i16 16385, i16 17666, i16 16385, i16 16385, i16 16385, i16 17669, i16 16385, i16 16385, i16 16385, i16 17672, i16 16385, i16 16385, i16 16385, i16 17675, i16 16385, i16 16385, i16 16385, i16 17678, i16 16385, i16 16385, i16 16385, i16 17681, i16 16385, i16 16385, i16 16385, i16 17684, i16 16385, i16 16385, i16 16385, i16 17687, i16 16385, i16 16385, i16 16385, i16 17690, i16 16385, i16 16385, i16 16385, i16 17693, i16 16385, i16 16385, i16 16385, i16 17696, i16 16385, i16 16385, i16 16385, i16 17699, i16 16385, i16 16385, i16 16385, i16 17702, i16 16385, i16 16385, i16 16385, i16 17705, i16 16385, i16 16385, i16 16385, i16 17708, i16 16385, i16 16385, i16 16385, i16 17711, i16 16385, i16 16385, i16 16385, i16 17714, i16 16385, i16 16385, i16 16385, i16 17717, i16 16385, i16 16385, i16 16385, i16 17720, i16 16385, i16 16385, i16 16385, i16 17723, i16 16385, i16 16385, i16 16385, i16 17726, i16 16385, i16 16385, i16 16385, i16 17729, i16 16385, i16 16385, i16 16385, i16 17732, i16 16385, i16 16385, i16 16385, i16 17735, i16 16385, i16 16385, i16 16385, i16 17738, i16 16385, i16 16385, i16 16385, i16 17741, i16 16385, i16 16385, i16 16385, i16 17744, i16 16385, i16 16385, i16 16385, i16 17747, i16 16385, i16 16385, i16 16385, i16 17750, i16 16385, i16 16385, i16 16385, i16 17753, i16 16385, i16 16385, i16 16385, i16 17756, i16 16385, i16 16385, i16 16385, i16 17759, i16 16385, i16 16385, i16 16385, i16 17762, i16 16385, i16 16385, i16 16385, i16 17765, i16 16385, i16 16385, i16 16385, i16 17768, i16 16385, i16 16385, i16 16385, i16 17771, i16 16385, i16 16385, i16 16385, i16 17774, i16 16385, i16 16385, i16 16385, i16 17777, i16 16385, i16 16385, i16 16385, i16 17780, i16 16385, i16 16385, i16 16385, i16 17783, i16 16385, i16 16385, i16 16385, i16 17786, i16 16385, i16 16385, i16 16385, i16 17789, i16 16385, i16 16385, i16 16385, i16 17792, i16 16385, i16 16385, i16 16385, i16 17795, i16 16385, i16 16385, i16 16385, i16 17798, i16 16385, i16 16385, i16 16385, i16 17801, i16 16385, i16 16385, i16 16385, i16 17804, i16 16385, i16 16385, i16 16385, i16 17807, i16 16385, i16 16385, i16 16385, i16 17810, i16 16385, i16 16385, i16 16385, i16 17813, i16 16385, i16 16385, i16 16385, i16 17816, i16 16385, i16 16385, i16 16385, i16 17819, i16 16385, i16 16385, i16 16385, i16 17822, i16 16385, i16 16385, i16 16385, i16 17825, i16 16385, i16 16385, i16 16385, i16 17828, i16 16385, i16 16385, i16 16385, i16 17831, i16 16385, i16 16385, i16 16385, i16 17834, i16 16385, i16 16385, i16 16385, i16 17837, i16 16385, i16 16385, i16 16385, i16 17840, i16 16385, i16 16385, i16 16385, i16 17843, i16 16385, i16 16385, i16 16385, i16 17846, i16 16385, i16 16385, i16 16385, i16 17849, i16 16385, i16 16385, i16 16385, i16 17852, i16 16385, i16 16385, i16 16385, i16 17855, i16 16385, i16 16385, i16 16385, i16 17858, i16 16385, i16 16385, i16 16385, i16 17861, i16 16385, i16 16385, i16 16385, i16 17864, i16 16385, i16 16385, i16 16385, i16 17867, i16 16385, i16 16385, i16 16385, i16 17870, i16 16385, i16 16385, i16 16385, i16 17873, i16 16385, i16 16385, i16 16385, i16 17876, i16 16385, i16 16385, i16 16385, i16 17879, i16 16385, i16 16385, i16 16385, i16 17882, i16 16385, i16 16385, i16 16385, i16 17885, i16 16385, i16 16385, i16 16385, i16 17888, i16 16385, i16 16385, i16 16385, i16 17891, i16 16385, i16 16385, i16 16385, i16 17894, i16 16385, i16 16385, i16 16385, i16 17897, i16 16385, i16 16385, i16 16385, i16 17900, i16 16385, i16 16385, i16 16385, i16 17903, i16 16385, i16 16385, i16 16385, i16 17906, i16 16385, i16 16385, i16 16385, i16 17909, i16 16385, i16 16385, i16 16385, i16 17912, i16 16385, i16 16385, i16 16385, i16 17915, i16 16385, i16 16385, i16 16385, i16 17918, i16 16385, i16 16385, i16 16385, i16 17921, i16 16385, i16 16385, i16 16385, i16 17924, i16 16385, i16 16385, i16 16385, i16 17927, i16 16385, i16 16385, i16 16385, i16 17930, i16 16385, i16 16385, i16 16385, i16 17933, i16 16385, i16 16385, i16 16385, i16 17936, i16 16385, i16 16385, i16 16385, i16 17939, i16 16385, i16 16385, i16 16385, i16 17942, i16 16385, i16 16385, i16 16385, i16 17945, i16 16385, i16 16385, i16 16385, i16 17948, i16 16385, i16 16385, i16 16385, i16 17951, i16 16385, i16 16385, i16 16385, i16 16779, i16 16385, i16 16385, i16 16389, i16 32767, i16 16384, i16 16384, i16 16384, i16 17284, i16 17285, i16 0, i16 895, i16 895, i16 0, i16 17273, i16 17273, i16 0, i16 16434, i16 16428, i16 0, i16 16393, i16 16393, i16 0, i16 97, i16 905, i16 0, i16 14, i16 14, i16 0, i16 3, i16 3, i16 0, i16 4, i16 3, i16 0, i16 5, i16 3, i16 0, i16 6, i16 3, i16 0, i16 16425, i16 16428, i16 0, i16 16433, i16 17283, i16 0, i16 16437, i16 16437, i16 0, i16 16481, i16 17289, i16 0, i16 16398, i16 16398, i16 0, i16 91, i16 906, i16 0, i16 14, i16 13, i16 0, i16 3, i16 4, i16 0, i16 4, i16 4, i16 0, i16 14, i16 890, i16 0, i16 14, i16 892, i16 0, i16 16488, i16 16488, i16 0, i16 17279, i16 17279, i16 0, i16 16488, i16 16492, i16 0, i16 16492, i16 16492, i16 0, i16 17797, i16 17797, i16 0, i16 16393, i16 17601, i16 0, i16 16393, i16 17600, i16 0, i16 16393, i16 17273, i16 0, i16 17273, i16 16393, i16 0, i16 17273, i16 17601, i16 0, i16 17273, i16 17600, i16 0, i16 17798, i16 17798, i16 0, i16 17799, i16 17799, i16 0, i16 16393, i16 17796, i16 0, i16 16393, i16 17795, i16 0, i16 16393, i16 17794, i16 0, i16 16393, i16 17793, i16 0, i16 17273, i16 17796, i16 0, i16 17273, i16 17795, i16 0, i16 17273, i16 17794, i16 0, i16 17273, i16 17793, i16 0, i16 17800, i16 17800, i16 0, i16 17801, i16 17801, i16 0, i16 17802, i16 17802, i16 0, i16 17804, i16 17804, i16 0, i16 17805, i16 17805, i16 0, i16 17807, i16 17807, i16 0, i16 16475, i16 17934, i16 0, i16 16387, i16 16388, i16 0, i16 16388, i16 16388, i16 0, i16 16475, i16 17289, i16 0, i16 16398, i16 17274, i16 0, i16 16398, i16 17276, i16 0, i16 16475, i16 17290, i16 0, i16 16458, i16 17935, i16 17290, i16 16475, i16 0, i16 17279, i16 17279, i16 17279, i16 17279, i16 0, i16 16389, i16 16390, i16 16388, i16 16387, i16 0, i16 17296, i16 17302, i16 0, i16 17329, i16 17279, i16 0, i16 17296, i16 17303, i16 0, i16 17311, i16 17334, i16 0, i16 17314, i16 17334, i16 0, i16 17193, i16 17193, i16 0, i16 2, i16 2, i16 0, i16 17200, i16 17200, i16 0, i16 17193, i16 18178, i16 0, i16 17201, i16 17201, i16 0, i16 17193, i16 17285, i16 0, i16 17202, i16 17202, i16 0, i16 17193, i16 17193, i16 18178, i16 0, i16 2, i16 2, i16 2, i16 0, i16 17203, i16 17203, i16 17203, i16 0, i16 17193, i16 17193, i16 17285, i16 0, i16 17204, i16 17204, i16 17204, i16 0, i16 18178, i16 17267, i16 0, i16 881, i16 881, i16 0, i16 16385, i16 16385, i16 0, i16 18080, i16 18080, i16 0, i16 17408, i16 17427, i16 0, i16 17410, i16 17410, i16 0, i16 17408, i16 17408, i16 0, i16 18080, i16 17425, i16 0, i16 17426, i16 17426, i16 0, i16 17851, i16 17736, i16 0, i16 1467, i16 1352, i16 0, i16 17901, i16 17901, i16 0, i16 1467, i16 1353, i16 0, i16 17902, i16 17902, i16 0, i16 17851, i16 17738, i16 0, i16 1467, i16 1354, i16 0, i16 17903, i16 17903, i16 0, i16 1467, i16 1355, i16 0, i16 17904, i16 17904, i16 0, i16 17851, i16 17741, i16 0, i16 1467, i16 1357, i16 0, i16 17905, i16 17905, i16 0, i16 1467, i16 1358, i16 0, i16 17906, i16 17906, i16 0, i16 17851, i16 17745, i16 0, i16 1467, i16 1362, i16 0, i16 17907, i16 17907, i16 0, i16 1467, i16 1363, i16 0, i16 17908, i16 17908, i16 0, i16 17065, i16 17148, i16 0, i16 1770, i16 1770, i16 0, i16 1772, i16 1772, i16 0, i16 1774, i16 1774, i16 0, i16 17311, i16 17205, i16 0, i16 1814, i16 1814, i16 0, i16 17325, i16 17148, i16 0, i16 1830, i16 1830, i16 0, i16 17427, i16 17220, i16 0, i16 1840, i16 1840, i16 0, i16 16470, i16 16579, i16 0, i16 16530, i16 16530, i16 0, i16 16532, i16 16532, i16 0, i16 16534, i16 16534, i16 0, i16 16630, i16 16630, i16 0, i16 16389, i16 16389, i16 0, i16 16637, i16 16637, i16 0, i16 16630, i16 16681, i16 0, i16 16638, i16 16638, i16 0, i16 16630, i16 16739, i16 0, i16 16639, i16 16639, i16 0, i16 16630, i16 16630, i16 16681, i16 0, i16 16389, i16 16389, i16 16389, i16 0, i16 16640, i16 16640, i16 16640, i16 0, i16 16630, i16 16630, i16 16739, i16 0, i16 16641, i16 16641, i16 16641, i16 0, i16 16681, i16 16718, i16 0, i16 16716, i16 16716, i16 0, i16 16769, i16 16642, i16 0, i16 16789, i16 16789, i16 0, i16 16791, i16 16579, i16 0, i16 16859, i16 16859, i16 0, i16 16892, i16 16917, i16 0, i16 16894, i16 16894, i16 0, i16 16892, i16 16892, i16 0, i16 16388, i16 16915, i16 0, i16 16916, i16 16916, i16 0, i16 16917, i16 16661, i16 0, i16 16934, i16 16934, i16 0, i16 18043, i16 17928, i16 0, i16 18093, i16 18093, i16 0, i16 18043, i16 17929, i16 0, i16 18094, i16 18094, i16 0, i16 18043, i16 17930, i16 0, i16 18095, i16 18095, i16 0, i16 18043, i16 17931, i16 0, i16 18096, i16 18096, i16 0, i16 18043, i16 17933, i16 0, i16 18097, i16 18097, i16 0, i16 18043, i16 17934, i16 0, i16 18098, i16 18098, i16 0, i16 18043, i16 17937, i16 0, i16 18043, i16 17938, i16 0, i16 18099, i16 18099, i16 0, i16 18043, i16 17939, i16 0, i16 18100, i16 18100, i16 0, i16 16510, i16 16788, i16 0, i16 16510, i16 16789, i16 0, i16 16510, i16 16790, i16 0, i16 16510, i16 16791, i16 0, i16 16510, i16 16792, i16 0, i16 16516, i16 16788, i16 0, i16 16516, i16 16789, i16 0, i16 16516, i16 16790, i16 0, i16 16516, i16 16791, i16 0, i16 16516, i16 16792, i16 0, i16 16522, i16 16788, i16 0, i16 16522, i16 16789, i16 0, i16 16522, i16 16790, i16 0, i16 16522, i16 16791, i16 0, i16 16522, i16 16792, i16 0, i16 16528, i16 16788, i16 0, i16 16528, i16 16789, i16 0, i16 16528, i16 16790, i16 0, i16 16528, i16 16791, i16 0, i16 16528, i16 16792, i16 0, i16 16534, i16 16788, i16 0, i16 16534, i16 16789, i16 0, i16 16534, i16 16790, i16 0, i16 16534, i16 16791, i16 0, i16 16534, i16 16792, i16 0, i16 16540, i16 16788, i16 0, i16 16540, i16 16789, i16 0, i16 16540, i16 16790, i16 0, i16 16540, i16 16791, i16 0, i16 16540, i16 16792, i16 0, i16 16546, i16 16788, i16 0, i16 16546, i16 16789, i16 0, i16 16546, i16 16790, i16 0, i16 16546, i16 16791, i16 0, i16 16546, i16 16792, i16 0, i16 16552, i16 16788, i16 0, i16 16552, i16 16789, i16 0, i16 16552, i16 16790, i16 0, i16 16552, i16 16791, i16 0, i16 16552, i16 16792, i16 0, i16 16558, i16 16788, i16 0, i16 16558, i16 16789, i16 0, i16 16558, i16 16790, i16 0, i16 16558, i16 16791, i16 0, i16 16558, i16 16792, i16 0, i16 16564, i16 16788, i16 0, i16 16564, i16 16789, i16 0, i16 16564, i16 16790, i16 0, i16 16564, i16 16791, i16 0, i16 16564, i16 16792, i16 0, i16 16570, i16 16788, i16 0, i16 16570, i16 16789, i16 0, i16 16570, i16 16790, i16 0, i16 16570, i16 16791, i16 0, i16 16570, i16 16792, i16 0, i16 16576, i16 16788, i16 0, i16 16576, i16 16789, i16 0, i16 16576, i16 16790, i16 0, i16 16576, i16 16791, i16 0, i16 16576, i16 16792, i16 0, i16 16582, i16 16788, i16 0, i16 16582, i16 16789, i16 0, i16 16582, i16 16790, i16 0, i16 16582, i16 16791, i16 0, i16 16582, i16 16792, i16 0, i16 16588, i16 16788, i16 0, i16 16588, i16 16789, i16 0, i16 16588, i16 16790, i16 0, i16 16588, i16 16791, i16 0, i16 16588, i16 16792, i16 0, i16 16594, i16 16788, i16 0, i16 16594, i16 16789, i16 0, i16 16594, i16 16790, i16 0, i16 16594, i16 16791, i16 0, i16 16594, i16 16792, i16 0, i16 16600, i16 16788, i16 0, i16 16600, i16 16789, i16 0, i16 16600, i16 16790, i16 0, i16 16600, i16 16791, i16 0, i16 16600, i16 16792, i16 0, i16 16606, i16 16788, i16 0, i16 16606, i16 16789, i16 0, i16 16606, i16 16790, i16 0, i16 16606, i16 16791, i16 0, i16 16606, i16 16792, i16 0, i16 16612, i16 16788, i16 0, i16 16612, i16 16789, i16 0, i16 16612, i16 16790, i16 0, i16 16612, i16 16791, i16 0, i16 16612, i16 16792, i16 0, i16 16618, i16 16788, i16 0, i16 16618, i16 16789, i16 0, i16 16618, i16 16790, i16 0, i16 16618, i16 16791, i16 0, i16 16618, i16 16792, i16 0, i16 16624, i16 16788, i16 0, i16 16624, i16 16789, i16 0, i16 16624, i16 16790, i16 0, i16 16624, i16 16791, i16 0, i16 16624, i16 16792, i16 0, i16 16630, i16 16788, i16 0, i16 16630, i16 16789, i16 0, i16 16630, i16 16790, i16 0, i16 16630, i16 16791, i16 0, i16 16630, i16 16792, i16 0, i16 16636, i16 16788, i16 0, i16 16636, i16 16789, i16 0, i16 16636, i16 16790, i16 0, i16 16636, i16 16791, i16 0, i16 16636, i16 16792, i16 0, i16 16642, i16 16788, i16 0, i16 16642, i16 16789, i16 0, i16 16642, i16 16790, i16 0, i16 16642, i16 16791, i16 0, i16 16642, i16 16792, i16 0, i16 16648, i16 16788, i16 0, i16 16648, i16 16789, i16 0, i16 16648, i16 16790, i16 0, i16 16648, i16 16791, i16 0, i16 16648, i16 16792, i16 0, i16 16654, i16 16788, i16 0, i16 16654, i16 16789, i16 0, i16 16654, i16 16790, i16 0, i16 16654, i16 16791, i16 0, i16 16654, i16 16792, i16 0, i16 16660, i16 16788, i16 0, i16 16660, i16 16789, i16 0, i16 16660, i16 16790, i16 0, i16 16660, i16 16791, i16 0, i16 16660, i16 16792, i16 0, i16 16666, i16 16788, i16 0, i16 16666, i16 16789, i16 0, i16 16666, i16 16790, i16 0, i16 16666, i16 16791, i16 0, i16 16666, i16 16792, i16 0, i16 16672, i16 16788, i16 0, i16 16672, i16 16789, i16 0, i16 16672, i16 16790, i16 0, i16 16672, i16 16791, i16 0, i16 16672, i16 16792, i16 0, i16 16678, i16 16788, i16 0, i16 16678, i16 16789, i16 0, i16 16678, i16 16790, i16 0, i16 16678, i16 16791, i16 0, i16 16678, i16 16792, i16 0, i16 16684, i16 16788, i16 0, i16 16684, i16 16789, i16 0, i16 16684, i16 16790, i16 0, i16 16684, i16 16791, i16 0, i16 16684, i16 16792, i16 0, i16 16690, i16 16788, i16 0, i16 16690, i16 16789, i16 0, i16 16690, i16 16790, i16 0, i16 16690, i16 16791, i16 0, i16 16690, i16 16792, i16 0, i16 16696, i16 16788, i16 0, i16 16696, i16 16789, i16 0, i16 16696, i16 16790, i16 0, i16 16696, i16 16791, i16 0, i16 16696, i16 16792, i16 0, i16 16702, i16 16788, i16 0, i16 16702, i16 16789, i16 0, i16 16702, i16 16790, i16 0, i16 16702, i16 16791, i16 0, i16 16702, i16 16792, i16 0, i16 16708, i16 16788, i16 0, i16 16708, i16 16789, i16 0, i16 16708, i16 16790, i16 0, i16 16708, i16 16791, i16 0, i16 16708, i16 16792, i16 0, i16 16714, i16 16788, i16 0, i16 16714, i16 16789, i16 0, i16 16714, i16 16790, i16 0, i16 16714, i16 16791, i16 0, i16 16714, i16 16792, i16 0, i16 16721, i16 16788, i16 0, i16 16721, i16 16789, i16 0, i16 16721, i16 16790, i16 0, i16 16721, i16 16791, i16 0, i16 16721, i16 16792, i16 0, i16 16728, i16 16788, i16 0, i16 16728, i16 16789, i16 0, i16 16728, i16 16790, i16 0, i16 16728, i16 16791, i16 0, i16 16728, i16 16792, i16 0, i16 16734, i16 16788, i16 0, i16 16734, i16 16789, i16 0, i16 16734, i16 16790, i16 0, i16 16734, i16 16791, i16 0, i16 16734, i16 16792, i16 0, i16 16740, i16 16788, i16 0, i16 16740, i16 16789, i16 0, i16 16740, i16 16790, i16 0, i16 16740, i16 16791, i16 0, i16 16740, i16 16792, i16 0, i16 16746, i16 16788, i16 0, i16 16746, i16 16789, i16 0, i16 16746, i16 16790, i16 0, i16 16746, i16 16791, i16 0, i16 16746, i16 16792, i16 0, i16 16752, i16 16788, i16 0, i16 16752, i16 16789, i16 0, i16 16752, i16 16790, i16 0, i16 16752, i16 16791, i16 0, i16 16752, i16 16792, i16 0, i16 16758, i16 16788, i16 0, i16 16758, i16 16789, i16 0, i16 16758, i16 16790, i16 0, i16 16758, i16 16791, i16 0, i16 16758, i16 16792, i16 0, i16 16764, i16 16788, i16 0, i16 16764, i16 16789, i16 0, i16 16764, i16 16790, i16 0, i16 16764, i16 16791, i16 0, i16 16764, i16 16792, i16 0, i16 16770, i16 16788, i16 0, i16 16770, i16 16789, i16 0, i16 16770, i16 16790, i16 0, i16 16770, i16 16791, i16 0, i16 16770, i16 16792, i16 0, i16 14, i16 17, i16 8, i16 13, i16 15, i16 6, i16 12, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5, i16 10, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9, i16 7, i16 11, i16 0, i16 0, i16 16, i16 3, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4, i16 0, i16 1, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 15, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 168, i16 173, i16 100, i16 105, i16 110, i16 116, i16 125, i16 131, i16 140, i16 144, i16 146, i16 148, i16 151, i16 154, i16 160, i16 163, i16 120, i16 124, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 26, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 82, i16 114, i16 5, i16 119, i16 0, i16 32, i16 0, i16 136, i16 111, i16 6, i16 17, i16 8, i16 167, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 16, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 36, i16 0, i16 37, i16 0, i16 0, i16 0, i16 0, i16 0, i16 38, i16 0, i16 0, i16 0, i16 0, i16 39, i16 0, i16 40, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 55, i16 123, i16 129, i16 134, i16 139, i16 0, i16 52, i16 99, i16 104, i16 109, i16 115, i16 0, i16 0, i16 0, i16 0, i16 0, i16 77, i16 85, i16 89, i16 0, i16 170, i16 174, i16 178, i16 180, i16 147, i16 0, i16 0, i16 0, i16 0, i16 0, i16 35, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 25, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 61, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 80, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 58, i16 0, i16 0, i16 12, i16 0, i16 0, i16 0, i16 28, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 159, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 143, i16 145, i16 0, i16 0, i16 0, i16 0, i16 172, i16 177, i16 0, i16 0, i16 0, i16 0, i16 47, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 41, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 191, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 13, i16 0, i16 24, i16 51, i16 87, i16 93, i16 102, i16 70, i16 142, i16 175, i16 0, i16 76, i16 90, i16 72, i16 49, i16 4, i16 92, i16 53, i16 96, i16 0, i16 54, i16 0, i16 30, i16 97, i16 18, i16 31, i16 0, i16 0, i16 0, i16 79, i16 91, i16 10, i16 45, i16 0, i16 0, i16 0, i16 158, i16 33, i16 155, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9, i16 184, i16 81, i16 189, i16 196, i16 64, i16 94, i16 75, i16 88, i16 98, i16 66, i16 46, i16 63, i16 187, i16 84, i16 0, i16 50, i16 95, i16 101, i16 106, i16 150, i16 162, i16 133, i16 138, i16 169, i16 192, i16 126, i16 83, i16 183, i16 153, i16 135, i16 179, i16 112, i16 117, i16 122, i16 128, i16 132, i16 185, i16 194, i16 156, i16 195, i16 186, i16 200, i16 67, i16 176, i16 149, i16 181, i16 188, i16 57, i16 141, i16 121, i16 127, i16 130, i16 137, i16 103, i16 107, i16 113, i16 118, i16 56, i16 108, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 152, i16 43, i16 34, i16 7, i16 44, i16 171, i16 0, i16 0, i16 0, i16 165, i16 42, i16 166, i16 0, i16 0, i16 59, i16 19, i16 197, i16 199, i16 22, i16 20, i16 23, i16 21, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 48, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 27, i16 0, i16 0, i16 0, i16 182, i16 198, i16 60, i16 190, i16 62, i16 193, i16 65, i16 157, i16 161, i16 164, i16 69, i16 68, i16 71, i16 78, i16 74, i16 86, i16 0, i16 2, i16 29, i16 3, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 14, i16 73, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1292, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1197, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1199, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 557, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 597, i16 598, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 691, i16 692, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1211, i16 1210, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 701, i16 702, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 731, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 223, i16 230, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 245, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1198, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 268, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1298, i16 1296, i16 1297, i16 1295, i16 0, i16 0, i16 0, i16 0, i16 1569, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1570, i16 1571, i16 1572, i16 1573, i16 0, i16 0, i16 0, i16 0, i16 1106, i16 1107, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1661, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 246, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 247, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 250, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 251, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 253, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 269, i16 0, i16 0, i16 0, i16 270, i16 0, i16 0, i16 0, i16 376, i16 378, i16 379, i16 380, i16 0, i16 0, i16 0, i16 263, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 266, i16 267, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1290, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 581, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 584, i16 583, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 609, i16 610, i16 611, i16 612, i16 0, i16 0, i16 0, i16 0, i16 152, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1207, i16 1206, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 189, i16 0, i16 0, i16 0, i16 244, i16 0, i16 0, i16 0, i16 1224, i16 0, i16 0, i16 1223, i16 0, i16 0, i16 0, i16 0, i16 1226, i16 0, i16 0, i16 1225, i16 0, i16 0, i16 0, i16 0, i16 1228, i16 0, i16 0, i16 1227, i16 0, i16 0, i16 0, i16 0, i16 1230, i16 0, i16 0, i16 1229, i16 0, i16 0, i16 0, i16 0, i16 1232, i16 0, i16 0, i16 1231, i16 0, i16 0, i16 0, i16 0, i16 1234, i16 0, i16 0, i16 1233, i16 0, i16 0, i16 0, i16 0, i16 1241, i16 1240, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1243, i16 1242, i16 1205, i16 1204, i16 0, i16 0, i16 0, i16 0, i16 1247, i16 1246, i16 0, i16 0, i16 1249, i16 1248, i16 0, i16 0, i16 226, i16 228, i16 225, i16 0, i16 0, i16 0, i16 0, i16 0, i16 760, i16 0, i16 734, i16 0, i16 748, i16 0, i16 0, i16 260, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 264, i16 265, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 554, i16 0, i16 0, i16 0, i16 0, i16 552, i16 0, i16 0, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 0, i16 1069, i16 1070, i16 1071, i16 1079, i16 1072, i16 1081, i16 1657, i16 0, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 0, i16 564, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1076, i16 0, i16 0, i16 0, i16 0, i16 0, i16 577, i16 0, i16 1367, i16 1368, i16 1369, i16 1370, i16 1371, i16 1372, i16 1373, i16 0, i16 1127, i16 1125, i16 1124, i16 1126, i16 1128, i16 1129, i16 1130, i16 0, i16 1142, i16 1140, i16 1139, i16 1141, i16 1143, i16 1144, i16 1145, i16 0, i16 1196, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 256, i16 257, i16 255, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1024, i16 984, i16 489, i16 409, i16 0, i16 0, i16 487, i16 407, i16 258, i16 261, i16 259, i16 262, i16 0, i16 0, i16 0, i16 0, i16 1027, i16 987, i16 492, i16 412, i16 1028, i16 988, i16 1029, i16 989, i16 773, i16 0, i16 775, i16 825, i16 771, i16 822, i16 749, i16 800, i16 774, i16 776, i16 746, i16 766, i16 779, i16 786, i16 790, i16 794, i16 1032, i16 992, i16 500, i16 420, i16 1033, i16 993, i16 503, i16 424, i16 781, i16 792, i16 768, i16 769, i16 767, i16 821, i16 808, i16 0, i16 1037, i16 535, i16 534, i16 536, i16 1043, i16 545, i16 550, i16 1002, i16 526, i16 449, i16 529, i16 452, i16 1039, i16 999, i16 1041, i16 1001, i16 1038, i16 998, i16 521, i16 444, i16 525, i16 448, i16 527, i16 450, i16 271, i16 575, i16 576, i16 1075, i16 578, i16 579, i16 580, i16 1077, i16 1040, i16 1000, i16 1042, i16 1003, i16 531, i16 454, i16 532, i16 455, i16 1555, i16 1557, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1300, i16 1299, i16 0, i16 0, i16 0, i16 0, i16 1293, i16 1291, i16 1045, i16 1006, i16 539, i16 462, i16 542, i16 465, i16 546, i16 470, i16 791, i16 793, i16 798, i16 801, i16 802, i16 803, i16 804, i16 805, i16 1049, i16 1051, i16 1053, i16 1055, i16 1057, i16 1059, i16 1061, i16 1063, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 538, i16 461, i16 540, i16 463, i16 1044, i16 1005, i16 537, i16 460, i16 1050, i16 1052, i16 1054, i16 1056, i16 1058, i16 1060, i16 1062, i16 1064, i16 1306, i16 1305, i16 1308, i16 1307, i16 0, i16 0, i16 0, i16 0, i16 796, i16 730, i16 732, i16 733, i16 735, i16 737, i16 739, i16 741, i16 1565, i16 1566, i16 0, i16 0, i16 0, i16 0, i16 589, i16 590, i16 543, i16 544, i16 1637, i16 181, i16 213, i16 182, i16 224, i16 151, i16 799, i16 809, i16 813, i16 797, i16 0, i16 0, i16 0, i16 0, i16 290, i16 291, i16 0, i16 292, i16 293, i16 294, i16 295, i16 296, i16 547, i16 549, i16 472, i16 1048, i16 1009, i16 1047, i16 1008, i16 0, i16 551, i16 1074, i16 553, i16 555, i16 556, i16 558, i16 559, i16 560, i16 807, i16 758, i16 811, i16 810, i16 814, i16 816, i16 820, i16 823, i16 297, i16 298, i16 299, i16 300, i16 0, i16 0, i16 0, i16 0, i16 1065, i16 1067, i16 272, i16 273, i16 274, i16 275, i16 0, i16 0, i16 1066, i16 1068, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 561, i16 1567, i16 1568, i16 0, i16 0, i16 0, i16 0, i16 0, i16 562, i16 563, i16 565, i16 567, i16 568, i16 569, i16 570, i16 571, i16 819, i16 778, i16 780, i16 782, i16 783, i16 785, i16 787, i16 789, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 566, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1078, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 824, i16 826, i16 795, i16 818, i16 806, i16 817, i16 827, i16 0, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1108, i16 1109, i16 1088, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 572, i16 573, i16 574, i16 0, i16 0, i16 0, i16 0, i16 0, i16 828, i16 829, i16 830, i16 831, i16 832, i16 833, i16 834, i16 835, i16 1344, i16 1345, i16 1346, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1089, i16 695, i16 696, i16 697, i16 698, i16 1090, i16 1091, i16 585, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 836, i16 837, i16 839, i16 840, i16 841, i16 842, i16 843, i16 844, i16 838, i16 1131, i16 1132, i16 1134, i16 1133, i16 0, i16 1135, i16 1136, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 586, i16 587, i16 588, i16 1092, i16 1093, i16 593, i16 594, i16 595, i16 1100, i16 1101, i16 675, i16 676, i16 677, i16 678, i16 0, i16 0, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 845, i16 846, i16 847, i16 848, i16 849, i16 850, i16 851, i16 852, i16 591, i16 592, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 0, i16 596, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 853, i16 854, i16 855, i16 1137, i16 856, i16 1138, i16 857, i16 858, i16 599, i16 600, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 1117, i16 1118, i16 859, i16 860, i16 861, i16 862, i16 863, i16 864, i16 865, i16 866, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 1374, i16 1375, i16 1376, i16 1377, i16 1378, i16 1379, i16 1380, i16 1381, i16 1119, i16 1120, i16 1121, i16 1122, i16 1123, i16 0, i16 0, i16 0, i16 608, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 1632, i16 523, i16 1633, i16 1634, i16 1635, i16 533, i16 541, i16 1636, i16 867, i16 868, i16 869, i16 870, i16 871, i16 872, i16 873, i16 874, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 1382, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 875, i16 876, i16 877, i16 878, i16 879, i16 880, i16 881, i16 882, i16 620, i16 621, i16 622, i16 625, i16 626, i16 627, i16 628, i16 631, i16 365, i16 160, i16 192, i16 194, i16 191, i16 195, i16 241, i16 185, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 1390, i16 1391, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1646, i16 446, i16 1647, i16 1648, i16 1649, i16 456, i16 464, i16 1650, i16 623, i16 624, i16 633, i16 634, i16 629, i16 630, i16 1098, i16 1099, i16 883, i16 884, i16 885, i16 1153, i16 886, i16 1154, i16 887, i16 888, i16 374, i16 375, i16 158, i16 157, i16 234, i16 236, i16 238, i16 161, i16 1398, i16 1399, i16 1400, i16 1401, i16 1402, i16 1403, i16 1404, i16 0, i16 632, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 1146, i16 1147, i16 1148, i16 1150, i16 1149, i16 0, i16 1151, i16 1152, i16 1658, i16 1659, i16 1660, i16 954, i16 957, i16 959, i16 961, i16 964, i16 383, i16 0, i16 0, i16 0, i16 387, i16 388, i16 389, i16 390, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 391, i16 392, i16 219, i16 217, i16 0, i16 178, i16 180, i16 0, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 1163, i16 1164, i16 1165, i16 0, i16 0, i16 0, i16 0, i16 0, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 403, i16 402, i16 404, i16 405, i16 415, i16 414, i16 991, i16 416, i16 150, i16 159, i16 172, i16 215, i16 193, i16 216, i16 214, i16 169, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 1179, i16 1178, i16 1201, i16 1200, i16 0, i16 0, i16 0, i16 0, i16 413, i16 1642, i16 421, i16 422, i16 1643, i16 431, i16 1644, i16 1645, i16 674, i16 1094, i16 1095, i16 1096, i16 1097, i16 679, i16 680, i16 681, i16 164, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 167, i16 384, i16 438, i16 176, i16 377, i16 381, i16 382, i16 162, i16 423, i16 505, i16 426, i16 508, i16 429, i16 506, i16 427, i16 509, i16 168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 170, i16 171, i16 0, i16 0, i16 173, i16 174, i16 0, i16 0, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 430, i16 507, i16 428, i16 512, i16 434, i16 514, i16 436, i16 513, i16 177, i16 179, i16 212, i16 218, i16 156, i16 155, i16 165, i16 163, i16 690, i16 1102, i16 1103, i16 1104, i16 1105, i16 693, i16 694, i16 1110, i16 435, i16 433, i16 1035, i16 995, i16 520, i16 443, i16 0, i16 0, i16 1203, i16 1202, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1209, i16 1208, i16 0, i16 0, i16 0, i16 0, i16 1245, i16 1244, i16 699, i16 700, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 955, i16 956, i16 958, i16 0, i16 960, i16 0, i16 962, i16 963, i16 190, i16 474, i16 477, i16 1624, i16 1625, i16 481, i16 1626, i16 1627, i16 703, i16 1652, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 1215, i16 1214, i16 1213, i16 1212, i16 0, i16 0, i16 0, i16 0, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 965, i16 966, i16 968, i16 969, i16 277, i16 278, i16 280, i16 281, i16 711, i16 712, i16 713, i16 1653, i16 715, i16 716, i16 717, i16 718, i16 967, i16 276, i16 279, i16 1552, i16 1553, i16 1554, i16 0, i16 0, i16 971, i16 970, i16 972, i16 973, i16 974, i16 975, i16 977, i16 978, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 719, i16 720, i16 721, i16 722, i16 1654, i16 724, i16 725, i16 726, i16 466, i16 467, i16 1651, i16 183, i16 240, i16 184, i16 229, i16 332, i16 727, i16 1655, i16 1656, i16 0, i16 0, i16 0, i16 0, i16 0, i16 983, i16 994, i16 440, i16 439, i16 441, i16 442, i16 996, i16 231, i16 476, i16 396, i16 1016, i16 976, i16 475, i16 395, i16 1019, i16 979, i16 222, i16 393, i16 397, i16 1638, i16 1639, i16 401, i16 1640, i16 1641, i16 738, i16 742, i16 745, i16 0, i16 755, i16 0, i16 765, i16 777, i16 227, i16 187, i16 394, i16 175, i16 239, i16 154, i16 188, i16 153, i16 483, i16 482, i16 484, i16 485, i16 495, i16 494, i16 1031, i16 496, i16 740, i16 788, i16 736, i16 784, i16 761, i16 812, i16 763, i16 815, i16 997, i16 458, i16 457, i16 459, i16 1004, i16 468, i16 473, i16 469, i16 743, i16 744, i16 747, i16 750, i16 751, i16 752, i16 753, i16 754, i16 488, i16 408, i16 486, i16 406, i16 1026, i16 986, i16 1025, i16 985, i16 233, i16 0, i16 0, i16 0, i16 235, i16 237, i16 0, i16 0, i16 493, i16 1628, i16 501, i16 502, i16 1629, i16 510, i16 1630, i16 1631, i16 497, i16 417, i16 499, i16 419, i16 0, i16 0, i16 498, i16 418, i16 242, i16 220, i16 385, i16 386, i16 221, i16 243, i16 186, i16 166, i16 1011, i16 1010, i16 1012, i16 1013, i16 1014, i16 1015, i16 1017, i16 1018, i16 756, i16 757, i16 0, i16 759, i16 762, i16 764, i16 770, i16 772, i16 248, i16 0, i16 0, i16 0, i16 252, i16 0, i16 0, i16 0, i16 1020, i16 980, i16 1022, i16 982, i16 1021, i16 981, i16 480, i16 400, i16 254, i16 0, i16 0, i16 0, i16 249, i16 0, i16 0, i16 0, i16 1023, i16 1034, i16 517, i16 516, i16 518, i16 519, i16 1036, i16 232, i16 8, i16 13, i16 9, i16 5, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 14, i16 7, i16 11, i16 3, i16 6, i16 0, i16 0, i16 0, i16 0, i16 10, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 81, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8, i16 42, i16 98, i16 109, i16 122, i16 130, i16 140, i16 151, i16 164, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 35, i16 0, i16 108, i16 0, i16 110, i16 120, i16 125, i16 133, i16 0, i16 0, i16 0, i16 0, i16 15, i16 0, i16 141, i16 148, i16 112, i16 117, i16 160, i16 139, i16 149, i16 57, i16 167, i16 170, i16 174, i16 47, i16 60, i16 61, i16 39, i16 0, i16 0, i16 11, i16 92, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 43, i16 18, i16 0, i16 0, i16 10, i16 12, i16 51, i16 119, i16 93, i16 169, i16 172, i16 96, i16 0, i16 0, i16 28, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 23, i16 9, i16 0, i16 14, i16 66, i16 0, i16 67, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 32, i16 75, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 46, i16 147, i16 152, i16 156, i16 31, i16 0, i16 0, i16 157, i16 161, i16 0, i16 36, i16 0, i16 0, i16 0, i16 0, i16 0, i16 37, i16 22, i16 176, i16 0, i16 0, i16 38, i16 181, i16 63, i16 70, i16 48, i16 17, i16 0, i16 73, i16 74, i16 0, i16 0, i16 52, i16 102, i16 135, i16 155, i16 114, i16 171, i16 101, i16 173, i16 111, i16 121, i16 94, i16 127, i16 142, i16 103, i16 143, i16 104, i16 175, i16 180, i16 89, i16 62, i16 124, i16 71, i16 80, i16 83, i16 20, i16 49, i16 166, i16 95, i16 7, i16 106, i16 165, i16 26, i16 55, i16 153, i16 179, i16 154, i16 182, i16 56, i16 40, i16 41, i16 77, i16 158, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 79, i16 86, i16 0, i16 76, i16 82, i16 88, i16 0, i16 59, i16 69, i16 85, i16 99, i16 116, i16 131, i16 58, i16 68, i16 84, i16 97, i16 115, i16 128, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 78, i16 50, i16 87, i16 27, i16 33, i16 34, i16 123, i16 0, i16 44, i16 16, i16 24, i16 0, i16 25, i16 0, i16 3, i16 0, i16 45, i16 105, i16 107, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 126, i16 54, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 144, i16 177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 13, i16 21, i16 19, i16 0, i16 0, i16 53, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 29, i16 30, i16 129, i16 137, i16 146, i16 138, i16 134, i16 0, i16 0, i16 159, i16 178, i16 90, i16 118, i16 132, i16 163, i16 64, i16 72, i16 91, i16 113, i16 162, i16 145, i16 65, i16 150, i16 168, i16 100, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 136, i16 5, i16 6, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 592, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 161, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 172, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 167, i16 168, i16 169, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 170, i16 0, i16 171, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 714, i16 715, i16 864, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1505, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 524, i16 0, i16 525, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 581, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1348, i16 0, i16 0, i16 0, i16 1349, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1923, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 526, i16 527, i16 528, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 427, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 343, i16 344, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 290, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 594, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 742, i16 743, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1924, i16 146, i16 0, i16 1925, i16 0, i16 1926, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 232, i16 233, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 234, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 520, i16 521, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 522, i16 523, i16 0, i16 0, i16 0, i16 0, i16 0, i16 345, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 823, i16 824, i16 0, i16 0, i16 0, i16 0, i16 1762, i16 1763, i16 1772, i16 1773, i16 1824, i16 1825, i16 0, i16 0, i16 0, i16 0, i16 323, i16 324, i16 325, i16 326, i16 0, i16 0, i16 0, i16 0, i16 327, i16 0, i16 328, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1371, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 153, i16 154, i16 0, i16 0, i16 0, i16 0, i16 155, i16 0, i16 0, i16 0, i16 156, i16 0, i16 0, i16 0, i16 0, i16 0, i16 157, i16 158, i16 1148, i16 159, i16 1158, i16 1164, i16 1170, i16 0, i16 1187, i16 0, i16 1200, i16 1213, i16 0, i16 0, i16 0, i16 0, i16 1701, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 546, i16 0, i16 0, i16 0, i16 547, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 329, i16 0, i16 330, i16 0, i16 0, i16 331, i16 0, i16 0, i16 0, i16 332, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 333, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 358, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 225, i16 226, i16 0, i16 0, i16 227, i16 0, i16 228, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 229, i16 0, i16 230, i16 0, i16 0, i16 0, i16 231, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 1733, i16 1735, i16 1737, i16 1739, i16 0, i16 0, i16 0, i16 517, i16 518, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 519, i16 0, i16 0, i16 1310, i16 1311, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1312, i16 1313, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1314, i16 1315, i16 1316, i16 1317, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1353, i16 0, i16 1355, i16 0, i16 0, i16 0, i16 1358, i16 0, i16 0, i16 0, i16 0, i16 1362, i16 1363, i16 1366, i16 0, i16 0, i16 593, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 339, i16 340, i16 0, i16 0, i16 341, i16 342, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 348, i16 0, i16 0, i16 0, i16 0, i16 0, i16 349, i16 350, i16 351, i16 352, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 173, i16 174, i16 175, i16 176, i16 177, i16 0, i16 0, i16 180, i16 181, i16 0, i16 0, i16 0, i16 178, i16 179, i16 0, i16 0, i16 499, i16 500, i16 0, i16 0, i16 0, i16 501, i16 0, i16 0, i16 502, i16 0, i16 503, i16 504, i16 0, i16 0, i16 0, i16 282, i16 0, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 811, i16 812, i16 0, i16 0, i16 0, i16 0, i16 0, i16 894, i16 895, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 304, i16 305, i16 306, i16 307, i16 0, i16 0, i16 308, i16 309, i16 1700, i16 310, i16 0, i16 0, i16 311, i16 312, i16 313, i16 0, i16 1351, i16 1352, i16 1354, i16 1356, i16 1357, i16 1359, i16 1361, i16 1365, i16 1372, i16 1375, i16 1380, i16 1385, i16 1390, i16 1395, i16 1400, i16 0, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 75, i16 78, i16 76, i16 79, i16 77, i16 604, i16 605, i16 0, i16 658, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 672, i16 673, i16 674, i16 675, i16 676, i16 1364, i16 677, i16 678, i16 679, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1234, i16 1230, i16 1224, i16 1236, i16 1288, i16 1244, i16 1246, i16 1248, i16 1258, i16 1264, i16 1276, i16 1254, i16 0, i16 1280, i16 1292, i16 0, i16 1235, i16 1231, i16 1225, i16 1237, i16 1289, i16 1245, i16 1247, i16 1249, i16 1259, i16 1265, i16 1277, i16 1255, i16 0, i16 1281, i16 1293, i16 0, i16 476, i16 477, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1525, i16 1527, i16 1529, i16 1531, i16 1533, i16 1535, i16 1538, i16 1540, i16 1542, i16 1544, i16 1547, i16 1549, i16 1551, i16 1553, i16 1555, i16 0, i16 1526, i16 1528, i16 1530, i16 1532, i16 1534, i16 1536, i16 1539, i16 1541, i16 1543, i16 1545, i16 1548, i16 1550, i16 1552, i16 1554, i16 1556, i16 0, i16 505, i16 0, i16 0, i16 506, i16 0, i16 507, i16 508, i16 0, i16 0, i16 509, i16 510, i16 0, i16 0, i16 511, i16 512, i16 513, i16 514, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 515, i16 516, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1796, i16 1795, i16 881, i16 882, i16 885, i16 886, i16 1801, i16 1802, i16 1803, i16 903, i16 904, i16 1806, i16 1807, i16 905, i16 906, i16 907, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 1033, i16 1034, i16 1035, i16 1036, i16 1027, i16 1028, i16 1031, i16 1032, i16 1037, i16 1038, i16 1047, i16 1048, i16 1049, i16 1050, i16 1057, i16 1058, i16 778, i16 779, i16 780, i16 781, i16 782, i16 783, i16 784, i16 785, i16 870, i16 871, i16 876, i16 877, i16 972, i16 973, i16 966, i16 967, i16 529, i16 0, i16 530, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 0, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 1557, i16 1560, i16 1562, i16 1564, i16 1566, i16 1568, i16 1570, i16 1572, i16 1574, i16 1576, i16 1578, i16 1580, i16 1582, i16 1584, i16 1586, i16 1588, i16 1558, i16 1561, i16 1563, i16 1565, i16 1567, i16 1569, i16 1571, i16 1573, i16 1575, i16 1577, i16 1579, i16 1581, i16 1583, i16 1585, i16 1587, i16 1589, i16 279, i16 280, i16 281, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1818, i16 1819, i16 1830, i16 1831, i16 1007, i16 1008, i16 1832, i16 1833, i16 1013, i16 1014, i16 1834, i16 1835, i16 1029, i16 1030, i16 1838, i16 1839, i16 1055, i16 1056, i16 1098, i16 1099, i16 1090, i16 1091, i16 1100, i16 1101, i16 1088, i16 1089, i16 1096, i16 1097, i16 1852, i16 1853, i16 1854, i16 1855, i16 291, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 292, i16 0, i16 293, i16 0, i16 294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 548, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 0, i16 0, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 1318, i16 1319, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 295, i16 0, i16 296, i16 297, i16 0, i16 298, i16 299, i16 300, i16 301, i16 0, i16 0, i16 302, i16 0, i16 0, i16 0, i16 303, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 1836, i16 1837, i16 1053, i16 1054, i16 1045, i16 1046, i16 1051, i16 1052, i16 1086, i16 1087, i16 1846, i16 1847, i16 1066, i16 1067, i16 1074, i16 1075, i16 816, i16 817, i16 818, i16 819, i16 820, i16 1042, i16 1026, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 0, i16 0, i16 0, i16 0, i16 571, i16 0, i16 0, i16 0, i16 1844, i16 1845, i16 1094, i16 1095, i16 1862, i16 1863, i16 1126, i16 1127, i16 1128, i16 1877, i16 1878, i16 1881, i16 1882, i16 1879, i16 1880, i16 1040, i16 1590, i16 1592, i16 1594, i16 1596, i16 1598, i16 1600, i16 1602, i16 1604, i16 1606, i16 1608, i16 1610, i16 1612, i16 1614, i16 1616, i16 1618, i16 1620, i16 1591, i16 1593, i16 1595, i16 1597, i16 1599, i16 1601, i16 1603, i16 1605, i16 1607, i16 1609, i16 1611, i16 1613, i16 1615, i16 1617, i16 1619, i16 1621, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 314, i16 0, i16 0, i16 0, i16 0, i16 315, i16 0, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 0, i16 322, i16 0, i16 572, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 829, i16 830, i16 1790, i16 1791, i16 840, i16 841, i16 848, i16 849, i16 872, i16 873, i16 1799, i16 1800, i16 858, i16 859, i16 878, i16 879, i16 833, i16 834, i16 844, i16 845, i16 846, i16 847, i16 842, i16 843, i16 850, i16 851, i16 838, i16 839, i16 874, i16 875, i16 868, i16 869, i16 1860, i16 1861, i16 1858, i16 1859, i16 1864, i16 1865, i16 1866, i16 1867, i16 1868, i16 1869, i16 1121, i16 1122, i16 1119, i16 1120, i16 1134, i16 1135, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1350, i16 1452, i16 1457, i16 1462, i16 1467, i16 1472, i16 1477, i16 1482, i16 1487, i16 1490, i16 1493, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 74, i16 87, i16 120, i16 122, i16 119, i16 123, i16 143, i16 114, i16 94, i16 116, i16 683, i16 104, i16 141, i16 82, i16 117, i16 81, i16 1103, i16 0, i16 0, i16 0, i16 0, i16 1142, i16 1143, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1360, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1370, i16 0, i16 1622, i16 1624, i16 1626, i16 1628, i16 1630, i16 1632, i16 1634, i16 1636, i16 1638, i16 1640, i16 1642, i16 1644, i16 1646, i16 1648, i16 1650, i16 1652, i16 1367, i16 1368, i16 1369, i16 1373, i16 1374, i16 1376, i16 1377, i16 1378, i16 1379, i16 1381, i16 1382, i16 1383, i16 1384, i16 1386, i16 1387, i16 1388, i16 1623, i16 1625, i16 1627, i16 1629, i16 1631, i16 1633, i16 1635, i16 1637, i16 1639, i16 1641, i16 1643, i16 1645, i16 1647, i16 1649, i16 1651, i16 1653, i16 1112, i16 1113, i16 1124, i16 1125, i16 1136, i16 1137, i16 1130, i16 1131, i16 1132, i16 1133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 92, i16 1953, i16 730, i16 1954, i16 1955, i16 765, i16 810, i16 822, i16 837, i16 853, i16 884, i16 889, i16 1956, i16 919, i16 1957, i16 942, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 1887, i16 1810, i16 944, i16 1816, i16 952, i16 1820, i16 1828, i16 134, i16 1822, i16 1062, i16 1842, i16 1070, i16 1848, i16 1872, i16 1840, i16 1041, i16 1888, i16 1811, i16 945, i16 1817, i16 953, i16 1821, i16 1829, i16 133, i16 1823, i16 1063, i16 1843, i16 1071, i16 1849, i16 1873, i16 1841, i16 1129, i16 353, i16 0, i16 354, i16 0, i16 0, i16 355, i16 0, i16 0, i16 1889, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 865, i16 964, i16 965, i16 1072, i16 1073, i16 1076, i16 1077, i16 1078, i16 1079, i16 1082, i16 1083, i16 1080, i16 1081, i16 0, i16 718, i16 719, i16 356, i16 357, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 359, i16 360, i16 361, i16 362, i16 0, i16 0, i16 363, i16 364, i16 365, i16 366, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1389, i16 1391, i16 1392, i16 1393, i16 1394, i16 1396, i16 1397, i16 1398, i16 1399, i16 1401, i16 1402, i16 1404, i16 1405, i16 1407, i16 1408, i16 1410, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 1905, i16 445, i16 446, i16 1906, i16 447, i16 1907, i16 448, i16 449, i16 1908, i16 450, i16 451, i16 1909, i16 452, i16 453, i16 454, i16 1910, i16 1138, i16 1139, i16 1140, i16 1141, i16 1144, i16 1145, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 118, i16 1948, i16 729, i16 1949, i16 1950, i16 764, i16 809, i16 821, i16 836, i16 1794, i16 883, i16 888, i16 1951, i16 918, i16 1952, i16 941, i16 1654, i16 1656, i16 1658, i16 1660, i16 1662, i16 1664, i16 1666, i16 1668, i16 1670, i16 1672, i16 1674, i16 1676, i16 1678, i16 1680, i16 1682, i16 1684, i16 1655, i16 1657, i16 1659, i16 1661, i16 1663, i16 1665, i16 1667, i16 1669, i16 1671, i16 1673, i16 1675, i16 1677, i16 1679, i16 1681, i16 1683, i16 1685, i16 1911, i16 455, i16 456, i16 1912, i16 457, i16 458, i16 459, i16 1913, i16 1914, i16 460, i16 461, i16 1915, i16 462, i16 463, i16 464, i16 1916, i16 890, i16 891, i16 896, i16 897, i16 898, i16 899, i16 909, i16 910, i16 911, i16 912, i16 915, i16 916, i16 913, i16 914, i16 920, i16 921, i16 1403, i16 1406, i16 1409, i16 1412, i16 1417, i16 1422, i16 1427, i16 1432, i16 1437, i16 1442, i16 1447, i16 0, i16 0, i16 0, i16 0, i16 0, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 1411, i16 1413, i16 1414, i16 1415, i16 1416, i16 1418, i16 1419, i16 1420, i16 1421, i16 1423, i16 1424, i16 1425, i16 1426, i16 1428, i16 1429, i16 1430, i16 135, i16 334, i16 0, i16 0, i16 137, i16 139, i16 0, i16 0, i16 0, i16 0, i16 335, i16 336, i16 0, i16 0, i16 337, i16 338, i16 908, i16 1804, i16 1805, i16 1808, i16 1809, i16 1812, i16 1813, i16 929, i16 930, i16 939, i16 1814, i16 1815, i16 1826, i16 1827, i16 948, i16 949, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 655, i16 656, i16 657, i16 0, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 144, i16 132, i16 1750, i16 1751, i16 91, i16 145, i16 115, i16 96, i16 97, i16 1749, i16 943, i16 105, i16 1734, i16 1736, i16 1738, i16 89, i16 1686, i16 1688, i16 1690, i16 1692, i16 1537, i16 1546, i16 1559, i16 0, i16 0, i16 0, i16 0, i16 577, i16 578, i16 579, i16 580, i16 0, i16 1175, i16 1147, i16 1151, i16 1153, i16 1155, i16 1157, i16 1161, i16 1163, i16 1167, i16 1169, i16 1176, i16 1178, i16 1180, i16 1182, i16 1184, i16 1186, i16 1431, i16 1433, i16 1434, i16 1435, i16 1436, i16 1438, i16 1439, i16 1440, i16 1441, i16 1443, i16 1444, i16 1445, i16 1446, i16 1448, i16 1449, i16 1450, i16 1687, i16 1689, i16 1691, i16 1693, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 573, i16 574, i16 575, i16 576, i16 0, i16 922, i16 923, i16 924, i16 925, i16 931, i16 932, i16 933, i16 934, i16 937, i16 938, i16 935, i16 936, i16 968, i16 969, i16 970, i16 971, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 0, i16 0, i16 0, i16 0, i16 160, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1697, i16 86, i16 101, i16 127, i16 121, i16 128, i16 126, i16 98, i16 106, i16 108, i16 124, i16 130, i16 83, i16 1698, i16 90, i16 1699, i16 162, i16 163, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 164, i16 165, i16 166, i16 1190, i16 1192, i16 0, i16 1194, i16 1197, i16 1199, i16 1206, i16 1208, i16 1210, i16 1212, i16 1171, i16 1201, i16 1150, i16 1160, i16 1166, i16 1173, i16 1191, i16 1193, i16 1196, i16 1195, i16 1198, i16 1202, i16 1207, i16 1209, i16 1211, i16 1214, i16 1174, i16 1204, i16 1189, i16 1203, i16 1215, i16 0, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 1717, i16 1718, i16 1451, i16 1453, i16 1454, i16 1455, i16 1456, i16 1458, i16 1459, i16 1460, i16 1461, i16 1463, i16 1464, i16 1465, i16 1466, i16 1468, i16 1469, i16 1470, i16 428, i16 1890, i16 429, i16 1891, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 1892, i16 1893, i16 1894, i16 684, i16 1758, i16 702, i16 722, i16 1764, i16 1760, i16 1770, i16 1780, i16 766, i16 1784, i16 774, i16 788, i16 854, i16 1797, i16 862, i16 866, i16 685, i16 1759, i16 703, i16 723, i16 1765, i16 1761, i16 1771, i16 1781, i16 767, i16 1785, i16 775, i16 789, i16 855, i16 1798, i16 863, i16 867, i16 686, i16 687, i16 700, i16 701, i16 768, i16 769, i16 772, i16 773, i16 856, i16 857, i16 860, i16 861, i16 946, i16 947, i16 950, i16 951, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 798, i16 799, i16 790, i16 791, i16 792, i16 793, i16 776, i16 777, i16 1205, i16 1149, i16 1152, i16 1154, i16 1156, i16 1159, i16 1162, i16 1165, i16 1168, i16 1172, i16 1177, i16 1179, i16 1181, i16 1183, i16 1185, i16 1188, i16 182, i16 0, i16 0, i16 183, i16 184, i16 185, i16 186, i16 187, i16 99, i16 100, i16 188, i16 189, i16 102, i16 103, i16 190, i16 191, i16 439, i16 1895, i16 1896, i16 1897, i16 440, i16 1898, i16 1899, i16 1900, i16 441, i16 1901, i16 1902, i16 1903, i16 442, i16 1904, i16 443, i16 444, i16 1719, i16 1720, i16 1721, i16 1722, i16 1723, i16 1724, i16 1725, i16 1726, i16 1727, i16 1728, i16 1729, i16 1730, i16 475, i16 0, i16 0, i16 0, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 984, i16 985, i16 986, i16 987, i16 988, i16 989, i16 1471, i16 1473, i16 1474, i16 1475, i16 1476, i16 1478, i16 1479, i16 1480, i16 1481, i16 1483, i16 1484, i16 1485, i16 1486, i16 1488, i16 1489, i16 1491, i16 192, i16 193, i16 1702, i16 0, i16 0, i16 194, i16 195, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1216, i16 1218, i16 1220, i16 1222, i16 1228, i16 1232, i16 1238, i16 1240, i16 1242, i16 1250, i16 1252, i16 1256, i16 1260, i16 1262, i16 1266, i16 1268, i16 1217, i16 1219, i16 1221, i16 1223, i16 1229, i16 1233, i16 1239, i16 1241, i16 1243, i16 1251, i16 1253, i16 1257, i16 1261, i16 1263, i16 1267, i16 1269, i16 1731, i16 1740, i16 1741, i16 1742, i16 1743, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 85, i16 84, i16 136, i16 138, i16 140, i16 88, i16 196, i16 0, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 0, i16 208, i16 0, i16 1732, i16 0, i16 0, i16 0, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 131, i16 129, i16 209, i16 107, i16 109, i16 0, i16 1226, i16 1227, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 716, i16 717, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 746, i16 747, i16 753, i16 754, i16 755, i16 756, i16 761, i16 762, i16 465, i16 466, i16 1917, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 1918, i16 0, i16 0, i16 0, i16 0, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 0, i16 724, i16 725, i16 720, i16 721, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 690, i16 691, i16 980, i16 981, i16 978, i16 979, i16 997, i16 998, i16 999, i16 1000, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1492, i16 1494, i16 1495, i16 1496, i16 1497, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 0, i16 0, i16 0, i16 726, i16 727, i16 1774, i16 1775, i16 831, i16 832, i16 827, i16 828, i16 892, i16 893, i16 974, i16 975, i16 976, i16 977, i16 0, i16 0, i16 982, i16 983, i16 1921, i16 1922, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1102, i16 478, i16 0, i16 0, i16 0, i16 479, i16 0, i16 0, i16 0, i16 480, i16 0, i16 0, i16 0, i16 481, i16 0, i16 0, i16 0, i16 990, i16 991, i16 992, i16 993, i16 1092, i16 1093, i16 1084, i16 1085, i16 1104, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1503, i16 1504, i16 1506, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 482, i16 483, i16 484, i16 485, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 995, i16 1002, i16 1005, i16 1024, i16 1043, i16 1060, i16 1850, i16 1856, i16 1117, i16 1870, i16 1875, i16 110, i16 125, i16 111, i16 93, i16 80, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 996, i16 1003, i16 1006, i16 1025, i16 1044, i16 1061, i16 1851, i16 1857, i16 1118, i16 1871, i16 1876, i16 112, i16 142, i16 113, i16 95, i16 622, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 494, i16 495, i16 496, i16 0, i16 497, i16 498, i16 0, i16 0, i16 1768, i16 1769, i16 688, i16 689, i16 1766, i16 1767, i16 1776, i16 1777, i16 740, i16 741, i16 744, i16 745, i16 1778, i16 1779, i16 751, i16 752, i16 235, i16 0, i16 236, i16 0, i16 0, i16 0, i16 237, i16 0, i16 0, i16 0, i16 0, i16 238, i16 0, i16 0, i16 0, i16 0, i16 1009, i16 1010, i16 1011, i16 1012, i16 1064, i16 1065, i16 1068, i16 1069, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 757, i16 758, i16 759, i16 760, i16 804, i16 805, i16 802, i16 803, i16 806, i16 807, i16 794, i16 795, i16 800, i16 801, i16 813, i16 814, i16 1270, i16 1272, i16 1274, i16 1278, i16 1282, i16 1284, i16 1286, i16 1290, i16 1294, i16 1296, i16 1299, i16 1300, i16 1303, i16 1304, i16 1306, i16 1308, i16 1782, i16 1783, i16 1788, i16 1789, i16 770, i16 771, i16 796, i16 797, i16 1786, i16 1787, i16 786, i16 787, i16 825, i16 826, i16 1792, i16 1793, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 1271, i16 1273, i16 1275, i16 1279, i16 1283, i16 1285, i16 1287, i16 1291, i16 1295, i16 1297, i16 1298, i16 1301, i16 1302, i16 1305, i16 1307, i16 1309, i16 9, i16 11, i16 8, i16 5, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12, i16 7, i16 13, i16 3, i16 6, i16 0, i16 0, i16 0, i16 0, i16 14, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 181, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8, i16 38, i16 76, i16 84, i16 94, i16 104, i16 117, i16 126, i16 135, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 36, i16 0, i16 170, i16 0, i16 171, i16 176, i16 66, i16 74, i16 0, i16 0, i16 0, i16 0, i16 13, i16 0, i16 81, i16 86, i16 49, i16 50, i16 112, i16 82, i16 96, i16 51, i16 118, i16 120, i16 123, i16 40, i16 54, i16 134, i16 41, i16 0, i16 0, i16 11, i16 165, i16 0, i16 0, i16 0, i16 0, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 46, i16 18, i16 0, i16 0, i16 9, i16 12, i16 47, i16 90, i16 67, i16 138, i16 141, i16 71, i16 0, i16 0, i16 26, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 22, i16 10, i16 0, i16 14, i16 142, i16 0, i16 145, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 34, i16 150, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 39, i16 169, i16 98, i16 100, i16 29, i16 0, i16 0, i16 147, i16 110, i16 0, i16 37, i16 0, i16 0, i16 0, i16 0, i16 0, i16 32, i16 21, i16 65, i16 0, i16 0, i16 33, i16 122, i16 129, i16 136, i16 57, i16 17, i16 0, i16 139, i16 140, i16 0, i16 0, i16 55, i16 127, i16 149, i16 128, i16 151, i16 56, i16 44, i16 45, i16 172, i16 131, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 173, i16 179, i16 0, i16 61, i16 175, i16 99, i16 146, i16 180, i16 167, i16 160, i16 168, i16 63, i16 73, i16 97, i16 83, i16 106, i16 52, i16 108, i16 53, i16 132, i16 154, i16 68, i16 93, i16 116, i16 148, i16 70, i16 95, i16 20, i16 62, i16 158, i16 107, i16 7, i16 89, i16 133, i16 25, i16 80, i16 85, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 109, i16 174, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 19, i16 16, i16 0, i16 0, i16 48, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 27, i16 28, i16 103, i16 114, i16 121, i16 115, i16 91, i16 0, i16 0, i16 125, i16 155, i16 72, i16 101, i16 124, i16 157, i16 64, i16 79, i16 119, i16 137, i16 130, i16 111, i16 161, i16 143, i16 163, i16 113, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 92, i16 5, i16 6, i16 3, i16 144, i16 58, i16 152, i16 30, i16 31, i16 35, i16 78, i16 0, i16 42, i16 15, i16 23, i16 0, i16 24, i16 0, i16 4, i16 0, i16 43, i16 69, i16 166, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 153, i16 156, i16 159, i16 0, i16 60, i16 164, i16 178, i16 77, i16 88, i16 105, i16 59, i16 162, i16 177, i16 75, i16 87, i16 102, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 831, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1251, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 842, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 979, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 837, i16 838, i16 839, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 840, i16 0, i16 841, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 121, i16 122, i16 311, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1697, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1539, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1183, i16 0, i16 1184, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1240, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1540, i16 0, i16 0, i16 0, i16 1541, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1058, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1185, i16 1186, i16 1187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 975, i16 976, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 816, i16 811, i16 819, i16 818, i16 800, i16 821, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 929, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1253, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 815, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 167, i16 168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 771, i16 772, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 877, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1179, i16 1180, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1181, i16 1182, i16 0, i16 0, i16 0, i16 0, i16 0, i16 977, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 978, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 260, i16 261, i16 0, i16 0, i16 0, i16 0, i16 125, i16 126, i16 148, i16 149, i16 450, i16 451, i16 0, i16 0, i16 0, i16 0, i16 1563, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 823, i16 824, i16 0, i16 0, i16 0, i16 0, i16 825, i16 0, i16 0, i16 0, i16 826, i16 0, i16 0, i16 0, i16 0, i16 0, i16 827, i16 828, i16 1340, i16 829, i16 1350, i16 1356, i16 1362, i16 0, i16 1379, i16 0, i16 1392, i16 1405, i16 0, i16 0, i16 0, i16 0, i16 946, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 961, i16 962, i16 963, i16 964, i16 0, i16 0, i16 0, i16 0, i16 803, i16 0, i16 965, i16 0, i16 0, i16 0, i16 0, i16 804, i16 0, i16 805, i16 0, i16 0, i16 806, i16 0, i16 0, i16 0, i16 802, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 808, i16 0, i16 876, i16 0, i16 0, i16 0, i16 809, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 878, i16 879, i16 880, i16 881, i16 882, i16 883, i16 884, i16 885, i16 682, i16 684, i16 686, i16 688, i16 0, i16 0, i16 0, i16 0, i16 1205, i16 0, i16 0, i16 0, i16 1206, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 966, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 989, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 767, i16 768, i16 0, i16 0, i16 769, i16 0, i16 770, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1545, i16 0, i16 1547, i16 0, i16 0, i16 0, i16 1550, i16 0, i16 0, i16 0, i16 0, i16 1554, i16 1555, i16 1558, i16 0, i16 0, i16 79, i16 80, i16 81, i16 82, i16 83, i16 0, i16 0, i16 84, i16 85, i16 0, i16 0, i16 0, i16 843, i16 844, i16 0, i16 0, i16 1158, i16 1159, i16 0, i16 0, i16 0, i16 1160, i16 0, i16 0, i16 1161, i16 0, i16 1162, i16 1163, i16 0, i16 0, i16 0, i16 0, i16 1176, i16 1177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1178, i16 0, i16 0, i16 971, i16 972, i16 0, i16 0, i16 973, i16 974, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 980, i16 0, i16 0, i16 0, i16 0, i16 0, i16 981, i16 982, i16 983, i16 984, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1502, i16 1503, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1504, i16 1505, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1506, i16 1507, i16 1508, i16 1509, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1252, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1543, i16 1544, i16 1546, i16 1548, i16 1549, i16 1551, i16 1553, i16 1557, i16 1564, i16 1567, i16 1572, i16 1577, i16 1582, i16 1587, i16 1592, i16 0, i16 1317, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1092, i16 1093, i16 0, i16 1095, i16 0, i16 1097, i16 1098, i16 0, i16 1100, i16 1101, i16 0, i16 1103, i16 1104, i16 1105, i16 0, i16 0, i16 1108, i16 1109, i16 0, i16 1111, i16 1112, i16 1113, i16 0, i16 0, i16 1116, i16 1117, i16 0, i16 1119, i16 1120, i16 1121, i16 0, i16 0, i16 1135, i16 1136, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 391, i16 412, i16 410, i16 420, i16 440, i16 434, i16 791, i16 448, i16 556, i16 554, i16 564, i16 570, i16 646, i16 550, i16 531, i16 0, i16 392, i16 413, i16 411, i16 421, i16 441, i16 435, i16 787, i16 449, i16 557, i16 555, i16 565, i16 571, i16 647, i16 551, i16 653, i16 0, i16 1164, i16 0, i16 0, i16 1165, i16 0, i16 1166, i16 1167, i16 0, i16 0, i16 1168, i16 1169, i16 0, i16 0, i16 1170, i16 1171, i16 0, i16 1426, i16 1422, i16 1416, i16 1428, i16 1480, i16 1436, i16 1438, i16 1440, i16 1450, i16 1456, i16 1468, i16 1446, i16 0, i16 1472, i16 1484, i16 0, i16 1427, i16 1423, i16 1417, i16 1429, i16 1481, i16 1437, i16 1439, i16 1441, i16 1451, i16 1457, i16 1469, i16 1447, i16 0, i16 1473, i16 1485, i16 0, i16 921, i16 0, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 943, i16 735, i16 944, i16 945, i16 0, i16 0, i16 793, i16 947, i16 847, i16 788, i16 0, i16 0, i16 949, i16 950, i16 951, i16 0, i16 1717, i16 1719, i16 1721, i16 1723, i16 1725, i16 1727, i16 1730, i16 1732, i16 1734, i16 1736, i16 1739, i16 1741, i16 1743, i16 1745, i16 1747, i16 0, i16 1718, i16 1720, i16 1722, i16 1724, i16 1726, i16 1728, i16 1731, i16 1733, i16 1735, i16 1737, i16 1740, i16 1742, i16 1744, i16 1746, i16 1748, i16 0, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 707, i16 710, i16 708, i16 711, i16 709, i16 1263, i16 1264, i16 0, i16 248, i16 249, i16 0, i16 0, i16 0, i16 0, i16 0, i16 345, i16 346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 517, i16 518, i16 519, i16 520, i16 513, i16 514, i16 527, i16 528, i16 521, i16 522, i16 537, i16 538, i16 539, i16 540, i16 547, i16 548, i16 773, i16 0, i16 774, i16 0, i16 0, i16 0, i16 775, i16 0, i16 0, i16 0, i16 0, i16 776, i16 0, i16 0, i16 0, i16 0, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 1037, i16 1038, i16 1039, i16 1040, i16 1041, i16 1042, i16 1043, i16 1044, i16 1045, i16 1542, i16 1644, i16 1649, i16 1654, i16 1659, i16 1664, i16 1669, i16 1674, i16 1679, i16 1682, i16 1685, i16 1690, i16 1691, i16 1692, i16 1693, i16 1694, i16 268, i16 269, i16 272, i16 273, i16 281, i16 282, i16 289, i16 290, i16 319, i16 320, i16 329, i16 330, i16 305, i16 306, i16 327, i16 328, i16 780, i16 0, i16 985, i16 0, i16 0, i16 986, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 525, i16 526, i16 543, i16 544, i16 535, i16 536, i16 541, i16 542, i16 584, i16 585, i16 594, i16 595, i16 560, i16 561, i16 568, i16 569, i16 1552, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1562, i16 0, i16 274, i16 275, i16 285, i16 286, i16 287, i16 288, i16 283, i16 284, i16 291, i16 292, i16 279, i16 280, i16 321, i16 322, i16 315, i16 316, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1046, i16 1047, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 0, i16 0, i16 0, i16 0, i16 1814, i16 1816, i16 1818, i16 1820, i16 1822, i16 1824, i16 1826, i16 1828, i16 1830, i16 1832, i16 1834, i16 1836, i16 1838, i16 1840, i16 1842, i16 1844, i16 1559, i16 1560, i16 1561, i16 1565, i16 1566, i16 1568, i16 1569, i16 1570, i16 1571, i16 1573, i16 1574, i16 1575, i16 1576, i16 1578, i16 1579, i16 1580, i16 1815, i16 1817, i16 1819, i16 1821, i16 1823, i16 1825, i16 1827, i16 1829, i16 1831, i16 1833, i16 1835, i16 1837, i16 1839, i16 1841, i16 1843, i16 1845, i16 795, i16 784, i16 0, i16 0, i16 796, i16 797, i16 0, i16 0, i16 0, i16 0, i16 967, i16 968, i16 0, i16 0, i16 969, i16 970, i16 545, i16 546, i16 598, i16 599, i16 588, i16 589, i16 600, i16 601, i16 586, i16 587, i16 596, i16 597, i16 617, i16 618, i16 619, i16 620, i16 1314, i16 1315, i16 1316, i16 0, i16 1318, i16 801, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1059, i16 0, i16 1061, i16 0, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1070, i16 1071, i16 0, i16 0, i16 0, i16 1060, i16 1062, i16 1072, i16 1073, i16 1074, i16 1076, i16 1077, i16 1078, i16 1080, i16 1081, i16 1082, i16 1084, i16 1085, i16 1086, i16 1088, i16 1091, i16 807, i16 794, i16 699, i16 700, i16 814, i16 766, i16 762, i16 822, i16 817, i16 698, i16 409, i16 786, i16 683, i16 685, i16 687, i16 716, i16 1581, i16 1583, i16 1584, i16 1585, i16 1586, i16 1588, i16 1589, i16 1590, i16 1591, i16 1593, i16 1594, i16 1596, i16 1597, i16 1599, i16 1600, i16 1602, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1556, i16 1335, i16 1336, i16 1337, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1075, i16 0, i16 0, i16 0, i16 1079, i16 0, i16 0, i16 0, i16 1083, i16 0, i16 0, i16 0, i16 1087, i16 0, i16 1089, i16 1090, i16 1846, i16 1848, i16 1850, i16 1852, i16 1854, i16 1856, i16 1858, i16 1860, i16 1862, i16 1864, i16 1866, i16 1868, i16 1870, i16 1872, i16 1874, i16 1876, i16 1847, i16 1849, i16 1851, i16 1853, i16 1855, i16 1857, i16 1859, i16 1861, i16 1863, i16 1865, i16 1867, i16 1869, i16 1871, i16 1873, i16 1875, i16 1877, i16 312, i16 432, i16 433, i16 566, i16 567, i16 572, i16 573, i16 574, i16 575, i16 578, i16 579, i16 576, i16 577, i16 0, i16 131, i16 132, i16 1595, i16 1598, i16 1601, i16 1604, i16 1609, i16 1614, i16 1619, i16 1624, i16 1629, i16 1634, i16 1639, i16 0, i16 0, i16 0, i16 0, i16 0, i16 830, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 832, i16 833, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 834, i16 835, i16 836, i16 323, i16 324, i16 332, i16 333, i16 336, i16 337, i16 349, i16 350, i16 354, i16 357, i16 358, i16 367, i16 368, i16 359, i16 360, i16 361, i16 1603, i16 1605, i16 1606, i16 1607, i16 1608, i16 1610, i16 1611, i16 1612, i16 1613, i16 1615, i16 1616, i16 1617, i16 1618, i16 1620, i16 1621, i16 1622, i16 580, i16 581, i16 592, i16 593, i16 628, i16 629, i16 650, i16 651, i16 652, i16 665, i16 666, i16 669, i16 670, i16 678, i16 679, i16 530, i16 1094, i16 1096, i16 1099, i16 1102, i16 1106, i16 1107, i16 1110, i16 1114, i16 1115, i16 1118, i16 1122, i16 1125, i16 1134, i16 0, i16 0, i16 0, i16 77, i16 718, i16 764, i16 756, i16 810, i16 765, i16 739, i16 757, i16 820, i16 761, i16 88, i16 785, i16 781, i16 733, i16 760, i16 812, i16 845, i16 846, i16 948, i16 0, i16 0, i16 848, i16 849, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 78, i16 717, i16 720, i16 798, i16 759, i16 758, i16 755, i16 721, i16 743, i16 745, i16 792, i16 789, i16 713, i16 731, i16 712, i16 741, i16 850, i16 0, i16 851, i16 852, i16 853, i16 854, i16 855, i16 856, i16 857, i16 750, i16 752, i16 858, i16 859, i16 0, i16 813, i16 0, i16 341, i16 342, i16 347, i16 348, i16 351, i16 352, i16 363, i16 364, i16 369, i16 370, i16 373, i16 374, i16 371, i16 372, i16 378, i16 379, i16 1878, i16 1880, i16 1882, i16 1884, i16 1729, i16 1738, i16 1751, i16 0, i16 0, i16 0, i16 0, i16 1236, i16 1237, i16 1238, i16 1239, i16 0, i16 1367, i16 1339, i16 1343, i16 1345, i16 1347, i16 1349, i16 1353, i16 1355, i16 1359, i16 1361, i16 1368, i16 1370, i16 1372, i16 1374, i16 1376, i16 1378, i16 1623, i16 1625, i16 1626, i16 1627, i16 1628, i16 1630, i16 1631, i16 1632, i16 1633, i16 1635, i16 1636, i16 1637, i16 1638, i16 1640, i16 1641, i16 1642, i16 1879, i16 1881, i16 1883, i16 1885, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1232, i16 1233, i16 1234, i16 1235, i16 0, i16 91, i16 89, i16 109, i16 135, i16 129, i16 123, i16 146, i16 171, i16 199, i16 197, i16 207, i16 221, i16 301, i16 299, i16 309, i16 313, i16 603, i16 0, i16 0, i16 0, i16 0, i16 673, i16 674, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 92, i16 90, i16 110, i16 136, i16 130, i16 124, i16 147, i16 172, i16 200, i16 198, i16 208, i16 222, i16 302, i16 300, i16 310, i16 314, i16 93, i16 94, i16 107, i16 108, i16 201, i16 202, i16 205, i16 206, i16 303, i16 304, i16 307, i16 308, i16 414, i16 415, i16 418, i16 419, i16 861, i16 862, i16 863, i16 864, i16 865, i16 866, i16 867, i16 868, i16 869, i16 870, i16 871, i16 872, i16 873, i16 874, i16 875, i16 0, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 231, i16 232, i16 223, i16 224, i16 225, i16 226, i16 209, i16 210, i16 1123, i16 1124, i16 0, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1132, i16 1133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 612, i16 613, i16 648, i16 649, i16 660, i16 661, i16 654, i16 655, i16 656, i16 657, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1382, i16 1384, i16 0, i16 1386, i16 1389, i16 1391, i16 1398, i16 1400, i16 1402, i16 1404, i16 1363, i16 1393, i16 1342, i16 1352, i16 1358, i16 1365, i16 1383, i16 1385, i16 1388, i16 1387, i16 1390, i16 1394, i16 1399, i16 1401, i16 1403, i16 1406, i16 1366, i16 1396, i16 1381, i16 1395, i16 1407, i16 0, i16 362, i16 365, i16 366, i16 387, i16 388, i16 397, i16 398, i16 389, i16 390, i16 403, i16 405, i16 406, i16 456, i16 457, i16 416, i16 417, i16 1643, i16 1645, i16 1646, i16 1647, i16 1648, i16 1650, i16 1651, i16 1652, i16 1653, i16 1655, i16 1656, i16 1657, i16 1658, i16 1660, i16 1661, i16 1662, i16 1137, i16 0, i16 0, i16 0, i16 1138, i16 0, i16 0, i16 0, i16 1139, i16 0, i16 0, i16 0, i16 1140, i16 0, i16 0, i16 0, i16 626, i16 627, i16 624, i16 625, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 641, i16 642, i16 639, i16 640, i16 658, i16 659, i16 1141, i16 1142, i16 1143, i16 1144, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1397, i16 1341, i16 1344, i16 1346, i16 1348, i16 1351, i16 1354, i16 1357, i16 1360, i16 1364, i16 1369, i16 1371, i16 1373, i16 1375, i16 1377, i16 1380, i16 886, i16 887, i16 888, i16 889, i16 890, i16 891, i16 892, i16 893, i16 894, i16 895, i16 896, i16 897, i16 898, i16 899, i16 900, i16 901, i16 1145, i16 1146, i16 1147, i16 1148, i16 1149, i16 1150, i16 1151, i16 1152, i16 1153, i16 1154, i16 1155, i16 0, i16 1156, i16 1157, i16 0, i16 0, i16 380, i16 381, i16 382, i16 383, i16 393, i16 394, i16 395, i16 396, i16 401, i16 402, i16 399, i16 400, i16 442, i16 443, i16 444, i16 445, i16 127, i16 128, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 173, i16 174, i16 182, i16 183, i16 184, i16 185, i16 192, i16 193, i16 1663, i16 1665, i16 1666, i16 1667, i16 1668, i16 1670, i16 1671, i16 1672, i16 1673, i16 1675, i16 1676, i16 1677, i16 1678, i16 1680, i16 1681, i16 1683, i16 1408, i16 1410, i16 1412, i16 1414, i16 1420, i16 1424, i16 1430, i16 1432, i16 1434, i16 1442, i16 1444, i16 1448, i16 1452, i16 1454, i16 1458, i16 1460, i16 1409, i16 1411, i16 1413, i16 1415, i16 1421, i16 1425, i16 1431, i16 1433, i16 1435, i16 1443, i16 1445, i16 1449, i16 1453, i16 1455, i16 1459, i16 1461, i16 902, i16 903, i16 904, i16 905, i16 906, i16 907, i16 908, i16 909, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 137, i16 138, i16 133, i16 134, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 97, i16 98, i16 1418, i16 1419, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 141, i16 142, i16 95, i16 96, i16 139, i16 140, i16 163, i16 164, i16 165, i16 166, i16 169, i16 170, i16 175, i16 176, i16 180, i16 181, i16 143, i16 144, i16 150, i16 151, i16 270, i16 271, i16 266, i16 267, i16 343, i16 344, i16 452, i16 453, i16 454, i16 455, i16 0, i16 0, i16 1172, i16 1173, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1174, i16 1175, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1684, i16 1686, i16 1687, i16 1688, i16 1689, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 0, i16 0, i16 0, i16 918, i16 919, i16 920, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 667, i16 668, i16 671, i16 672, i16 675, i16 676, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1695, i16 1696, i16 1698, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 930, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 931, i16 0, i16 932, i16 0, i16 933, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1699, i16 1700, i16 1701, i16 1702, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1188, i16 0, i16 1189, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 934, i16 0, i16 935, i16 936, i16 0, i16 937, i16 938, i16 939, i16 940, i16 0, i16 0, i16 941, i16 0, i16 0, i16 0, i16 942, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 0, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 680, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 719, i16 714, i16 749, i16 778, i16 751, i16 715, i16 681, i16 0, i16 0, i16 0, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 790, i16 732, i16 860, i16 744, i16 746, i16 0, i16 436, i16 437, i16 475, i16 476, i16 489, i16 490, i16 499, i16 500, i16 505, i16 506, i16 511, i16 512, i16 515, i16 516, i16 523, i16 524, i16 1462, i16 1464, i16 1466, i16 1470, i16 1474, i16 1476, i16 1478, i16 1482, i16 1486, i16 1488, i16 1491, i16 1492, i16 1495, i16 1496, i16 1498, i16 1500, i16 1207, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1463, i16 1465, i16 1467, i16 1471, i16 1475, i16 1477, i16 1479, i16 1483, i16 1487, i16 1489, i16 1490, i16 1493, i16 1494, i16 1497, i16 1499, i16 1501, i16 952, i16 0, i16 0, i16 0, i16 0, i16 953, i16 0, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 0, i16 960, i16 0, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 0, i16 0, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 186, i16 187, i16 237, i16 238, i16 203, i16 204, i16 229, i16 230, i16 235, i16 236, i16 219, i16 220, i16 264, i16 265, i16 262, i16 263, i16 188, i16 189, i16 190, i16 191, i16 241, i16 242, i16 239, i16 240, i16 243, i16 244, i16 227, i16 228, i16 233, i16 234, i16 250, i16 251, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 0, i16 0, i16 0, i16 0, i16 1230, i16 0, i16 0, i16 0, i16 460, i16 461, i16 458, i16 459, i16 479, i16 480, i16 481, i16 482, i16 495, i16 496, i16 497, i16 498, i16 501, i16 502, i16 503, i16 504, i16 462, i16 463, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 602, i16 1231, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 722, i16 87, i16 153, i16 1888, i16 179, i16 196, i16 247, i16 259, i16 278, i16 298, i16 335, i16 340, i16 356, i16 377, i16 386, i16 408, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 317, i16 318, i16 325, i16 326, i16 446, i16 447, i16 438, i16 439, i16 1749, i16 1752, i16 1754, i16 1756, i16 1758, i16 1760, i16 1762, i16 1764, i16 1766, i16 1768, i16 1770, i16 1772, i16 1774, i16 1776, i16 1778, i16 1780, i16 470, i16 471, i16 472, i16 473, i16 590, i16 591, i16 582, i16 583, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 1750, i16 1753, i16 1755, i16 1757, i16 1759, i16 1761, i16 1763, i16 1765, i16 1767, i16 1769, i16 1771, i16 1773, i16 1775, i16 1777, i16 1779, i16 1781, i16 1241, i16 1242, i16 1243, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 987, i16 988, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 477, i16 484, i16 487, i16 508, i16 533, i16 552, i16 615, i16 622, i16 637, i16 644, i16 663, i16 747, i16 742, i16 748, i16 779, i16 777, i16 478, i16 485, i16 488, i16 509, i16 534, i16 553, i16 616, i16 623, i16 638, i16 645, i16 664, i16 753, i16 740, i16 754, i16 799, i16 1281, i16 734, i16 0, i16 0, i16 736, i16 737, i16 738, i16 782, i16 783, i16 729, i16 730, i16 723, i16 728, i16 726, i16 727, i16 724, i16 725, i16 990, i16 991, i16 992, i16 993, i16 0, i16 0, i16 994, i16 995, i16 996, i16 997, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 998, i16 999, i16 1000, i16 1001, i16 1002, i16 1003, i16 1004, i16 1005, i16 1006, i16 1007, i16 1008, i16 1009, i16 1010, i16 1011, i16 1012, i16 1013, i16 1510, i16 1511, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 491, i16 492, i16 493, i16 494, i16 558, i16 559, i16 562, i16 563, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1265, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1014, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1023, i16 1024, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1782, i16 1784, i16 1786, i16 1788, i16 1790, i16 1792, i16 1794, i16 1796, i16 1798, i16 1800, i16 1802, i16 1804, i16 1806, i16 1808, i16 1810, i16 1812, i16 1783, i16 1785, i16 1787, i16 1789, i16 1791, i16 1793, i16 1795, i16 1797, i16 1799, i16 1801, i16 1803, i16 1805, i16 1807, i16 1809, i16 1811, i16 1813, i16 1528, i16 1529, i16 1530, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 0, i16 0, i16 0, i16 0, i16 0, i16 763, i16 86, i16 152, i16 1887, i16 178, i16 195, i16 246, i16 258, i16 277, i16 297, i16 334, i16 339, i16 355, i16 376, i16 385, i16 407, i16 253, i16 254, i16 255, i16 256, i16 257, i16 532, i16 510, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 3, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 5, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 134, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 136, i16 0, i16 0, i16 0, i16 137, i16 0, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 1, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 12, i16 14, i16 16, i16 18, i16 20, i16 22, i16 24, i16 26, i16 28, i16 30, i16 32, i16 34, i16 36, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 13, i16 15, i16 17, i16 19, i16 21, i16 23, i16 25, i16 27, i16 29, i16 31, i16 33, i16 35, i16 37, i16 39, i16 41, i16 43, i16 45, i16 47, i16 49, i16 51, i16 53, i16 55, i16 57, i16 59, i16 61, i16 63, i16 92, i16 93, i16 94, i16 95, i16 202, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 96, i16 0, i16 0, i16 0, i16 133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 135, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 203, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 5, i16 6, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 4, i16 3, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 126, i16 132, i16 138, i16 144, i16 150, i16 156, i16 162, i16 168, i16 174, i16 180, i16 186, i16 192, i16 198, i16 204, i16 210, i16 216, i16 222, i16 228, i16 234, i16 240, i16 246, i16 252, i16 258, i16 264, i16 270, i16 276, i16 282, i16 288, i16 294, i16 300, i16 306, i16 7, i16 13, i16 23, i16 39, i16 32, i16 40, i16 38, i16 22, i16 24, i16 29, i16 36, i16 41, i16 10, i16 9, i16 16, i16 15, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 12, i16 11, i16 42, i16 43, i16 44, i16 14, i16 19, i16 75, i16 77, i16 79, i16 81, i16 83, i16 85, i16 87, i16 89, i16 91, i16 93, i16 95, i16 97, i16 99, i16 101, i16 103, i16 105, i16 107, i16 109, i16 111, i16 113, i16 115, i16 117, i16 119, i16 121, i16 123, i16 125, i16 26, i16 45, i16 27, i16 21, i16 0, i16 30, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 25, i16 37, i16 28, i16 20, i16 8, i16 312, i16 318, i16 324, i16 330, i16 336, i16 337, i16 343, i16 344, i16 350, i16 356, i16 362, i16 368, i16 374, i16 380, i16 386, i16 17, i16 393, i16 394, i16 395, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 47, i16 0, i16 0, i16 0, i16 0, i16 31, i16 410, i16 411, i16 412, i16 413, i16 414, i16 396, i16 18, i16 49, i16 50, i16 51, i16 52, i16 53, i16 48, i16 392, i16 46, i16 33, i16 55, i16 57, i16 59, i16 61, i16 63, i16 65, i16 67, i16 69, i16 71, i16 73, i16 34, i16 35, i16 0, i16 0, i16 0, i16 0, i16 32, i16 3, i16 45, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7, i16 37, i16 2, i16 12, i16 0, i16 0, i16 0, i16 0, i16 27, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 25, i16 33, i16 28, i16 44, i16 11, i16 14, i16 29, i16 40, i16 23, i16 9, i16 20, i16 10, i16 38, i16 22, i16 42, i16 31, i16 49, i16 36, i16 43, i16 16, i16 15, i16 26, i16 21, i16 35, i16 17, i16 18, i16 13, i16 47, i16 24, i16 6, i16 34, i16 4, i16 39, i16 19, i16 8, i16 41, i16 5, i16 48, i16 50, i16 46, i16 30, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 266, i16 373, i16 661, i16 236, i16 595, i16 0, i16 0, i16 94, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 615, i16 647, i16 136, i16 0, i16 0, i16 390, i16 36, i16 15, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 31, i16 0, i16 0, i16 0, i16 0, i16 0, i16 60, i16 455, i16 499, i16 0, i16 0, i16 4, i16 259, i16 192, i16 133, i16 445, i16 669, i16 550, i16 172, i16 0, i16 0, i16 62, i16 153, i16 389, i16 409, i16 145, i16 1, i16 180, i16 570, i16 258, i16 261, i16 414, i16 610, i16 140, i16 566, i16 280, i16 150, i16 468, i16 333, i16 655, i16 176, i16 402, i16 260, i16 173, i16 607, i16 281, i16 293, i16 306, i16 319, i16 267, i16 168, i16 368, i16 382, i16 456, i16 249, i16 437, i16 500, i16 95, i16 14, i16 465, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 68, i16 129, i16 0, i16 0, i16 12, i16 0, i16 9, i16 0, i16 533, i16 84, i16 587, i16 606, i16 447, i16 652, i16 668, i16 291, i16 318, i16 459, i16 61, i16 659, i16 395, i16 195, i16 202, i16 186, i16 30, i16 590, i16 617, i16 422, i16 209, i16 535, i16 137, i16 485, i16 511, i16 222, i16 165, i16 337, i16 355, i16 371, i16 385, i16 190, i16 35, i16 627, i16 98, i16 660, i16 85, i16 278, i16 244, i16 376, i16 391, i16 101, i16 69, i16 377, i16 185, i16 401, i16 205, i16 453, i16 38, i16 24, i16 331, i16 352, i16 644, i16 649, i16 662, i16 398, i16 673, i16 454, i16 287, i16 152, i16 223, i16 307, i16 294, i16 419, i16 39, i16 0, i16 357, i16 22, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 296, i16 160, i16 363, i16 342, i16 360, i16 378, i16 42, i16 415, i16 434, i16 206, i16 431, i16 13, i16 490, i16 462, i16 521, i16 486, i16 304, i16 593, i16 525, i16 253, i16 622, i16 645, i16 234, i16 269, i16 104, i16 279, i16 63, i16 425, i16 199, i16 78, i16 174, i16 72, i16 569, i16 295, i16 620, i16 161, i16 340, i16 658, i16 273, i16 680, i16 289, i16 404, i16 361, i16 359, i16 372, i16 423, i16 73, i16 417, i16 315, i16 132, i16 356, i16 362, i16 381, i16 412, i16 26, i16 594, i16 87, i16 471, i16 497, i16 601, i16 227, i16 118, i16 542, i16 557, i16 317, i16 353, i16 265, i16 182, i16 188, i16 0, i16 0, i16 0, i16 0, i16 5, i16 74, i16 544, i16 448, i16 211, i16 475, i16 575, i16 599, i16 524, i16 545, i16 552, i16 239, i16 157, i16 66, i16 585, i16 103, i16 614, i16 48, i16 632, i16 687, i16 282, i16 308, i16 329, i16 604, i16 514, i16 183, i16 537, i16 530, i16 326, i16 177, i16 226, i16 380, i16 406, i16 76, i16 204, i16 208, i16 215, i16 584, i16 247, i16 605, i16 428, i16 679, i16 634, i16 637, i16 37, i16 138, i16 316, i16 196, i16 34, i16 230, i16 44, i16 286, i16 676, i16 312, i16 603, i16 609, i16 549, i16 513, i16 310, i16 325, i16 346, i16 77, i16 388, i16 128, i16 399, i16 411, i16 418, i16 54, i16 444, i16 299, i16 480, i16 113, i16 197, i16 602, i16 89, i16 158, i16 635, i16 59, i16 670, i16 493, i16 276, i16 105, i16 416, i16 429, i16 334, i16 159, i16 110, i16 370, i16 384, i16 684, i16 248, i16 424, i16 301, i16 156, i16 343, i16 242, i16 214, i16 504, i16 515, i16 556, i16 403, i16 81, i16 364, i16 374, i16 189, i16 413, i16 427, i16 28, i16 207, i16 473, i16 494, i16 672, i16 228, i16 540, i16 283, i16 100, i16 586, i16 323, i16 344, i16 375, i16 155, i16 630, i16 124, i16 626, i16 526, i16 613, i16 665, i16 677, i16 16, i16 305, i16 290, i16 167, i16 339, i16 383, i16 408, i16 122, i16 449, i16 80, i16 467, i16 169, i16 218, i16 200, i16 532, i16 543, i16 561, i16 508, i16 510, i16 553, i16 256, i16 582, i16 653, i16 643, i16 0, i16 241, i16 619, i16 666, i16 147, i16 348, i16 397, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 648, i16 141, i16 82, i16 292, i16 309, i16 608, i16 354, i16 410, i16 386, i16 311, i16 439, i16 321, i16 109, i16 460, i16 481, i16 498, i16 394, i16 495, i16 461, i16 112, i16 19, i16 457, i16 254, i16 489, i16 503, i16 221, i16 512, i16 86, i16 527, i16 139, i16 568, i16 580, i16 143, i16 0, i16 0, i16 7, i16 300, i16 49, i16 57, i16 528, i16 102, i16 430, i16 194, i16 564, i16 17, i16 579, i16 0, i16 0, i16 144, i16 83, i16 531, i16 324, i16 229, i16 154, i16 179, i16 387, i16 53, i16 43, i16 277, i16 201, i16 108, i16 21, i16 625, i16 483, i16 146, i16 347, i16 396, i16 446, i16 505, i16 252, i16 336, i16 477, i16 351, i16 379, i16 322, i16 436, i16 0, i16 0, i16 18, i16 8, i16 420, i16 250, i16 450, i16 472, i16 633, i16 518, i16 529, i16 119, i16 631, i16 268, i16 674, i16 142, i16 686, i16 458, i16 134, i16 328, i16 678, i16 488, i16 509, i16 491, i16 541, i16 657, i16 120, i16 563, i16 675, i16 583, i16 245, i16 91, i16 618, i16 0, i16 0, i16 0, i16 683, i16 516, i16 314, i16 681, i16 193, i16 572, i16 358, i16 443, i16 611, i16 421, i16 646, i16 262, i16 272, i16 107, i16 99, i16 538, i16 685, i16 288, i16 64, i16 70, i16 166, i16 50, i16 25, i16 52, i16 71, i16 392, i16 191, i16 426, i16 433, i16 442, i16 451, i16 441, i16 435, i16 438, i16 11, i16 338, i16 106, i16 40, i16 0, i16 0, i16 10, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 440, i16 466, i16 478, i16 501, i16 523, i16 536, i16 554, i16 522, i16 592, i16 581, i16 233, i16 555, i16 251, i16 476, i16 636, i16 264, i16 203, i16 452, i16 474, i16 365, i16 178, i16 187, i16 539, i16 126, i16 565, i16 578, i16 600, i16 220, i16 2, i16 624, i16 639, i16 654, i16 212, i16 562, i16 407, i16 616, i16 33, i16 650, i16 47, i16 332, i16 271, i16 131, i16 97, i16 298, i16 162, i16 341, i16 65, i16 367, i16 213, i16 149, i16 151, i16 302, i16 163, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3, i16 484, i16 345, i16 67, i16 591, i16 469, i16 487, i16 51, i16 171, i16 303, i16 400, i16 175, i16 58, i16 125, i16 598, i16 79, i16 628, i16 463, i16 651, i16 350, i16 274, i16 470, i16 56, i16 464, i16 520, i16 612, i16 640, i16 238, i16 507, i16 123, i16 127, i16 88, i16 623, i16 642, i16 664, i16 548, i16 547, i16 216, i16 682, i16 492, i16 116, i16 519, i16 240, i16 667, i16 588, i16 597, i16 23, i16 559, i16 641, i16 577, i16 93, i16 270, i16 96, i16 225, i16 534, i16 589, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 482, i16 184, i16 224, i16 393, i16 0, i16 0, i16 0, i16 41, i16 121, i16 75, i16 198, i16 517, i16 90, i16 263, i16 210, i16 671, i16 231, i16 496, i16 45, i16 574, i16 246, i16 235, i16 621, i16 32, i16 479, i16 237, i16 560, i16 284, i16 571, i16 327, i16 217, i16 366, i16 232, i16 432, i16 55, i16 111, i16 0, i16 27, i16 114, i16 219, i16 115, i16 573, i16 546, i16 567, i16 6, i16 46, i16 243, i16 130, i16 502, i16 320, i16 92, i16 117, i16 369, i16 551, i16 558, i16 20, i16 164, i16 576, i16 275, i16 257, i16 297, i16 656, i16 596, i16 506, i16 255, i16 629, i16 638, i16 135, i16 0, i16 29, i16 663, i16 285, i16 313, i16 349, i16 148, i16 181, i16 405, i16 330, i16 335, i16 170, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3171, i16 12478, i16 12479, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2196, i16 6503, i16 11985, i16 1886, i16 6504, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2650, i16 12441, i16 12442, i16 0, i16 0, i16 0, i16 0, i16 12443, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2542, i16 11756, i16 11757, i16 6356, i16 0, i16 0, i16 11758, i16 11759, i16 6358, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1165, i16 0, i16 5777, i16 0, i16 5778, i16 10826, i16 10825, i16 10827, i16 10828, i16 10829, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1956, i16 6848, i16 6849, i16 1656, i16 0, i16 12717, i16 0, i16 12718, i16 0, i16 12719, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7035, i16 0, i16 0, i16 1517, i16 7036, i16 13063, i16 13064, i16 13065, i16 7037, i16 0, i16 1888, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7306, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 341, i16 0, i16 342, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 351, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 326, i16 327, i16 325, i16 328, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11125, i16 0, i16 0, i16 5992, i16 0, i16 5993, i16 0, i16 990, i16 11126, i16 0, i16 0, i16 947, i16 5990, i16 11127, i16 0, i16 11128, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 251, i16 0, i16 0, i16 0, i16 0, i16 250, i16 255, i16 0, i16 259, i16 260, i16 0, i16 0, i16 261, i16 262, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 368, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7427, i16 2983, i16 3748, i16 7428, i16 0, i16 7430, i16 3029, i16 7431, i16 3631, i16 7432, i16 2168, i16 7433, i16 1818, i16 7434, i16 1866, i16 965, i16 7435, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3587, i16 0, i16 13156, i16 13157, i16 13158, i16 13159, i16 0, i16 13160, i16 7092, i16 13161, i16 13162, i16 0, i16 0, i16 0, i16 0, i16 7093, i16 5548, i16 13163, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7201, i16 7287, i16 7229, i16 7315, i16 7247, i16 7332, i16 7265, i16 7350, i16 7274, i16 7359, i16 7271, i16 7356, i16 7273, i16 7358, i16 7272, i16 7357, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8287, i16 0, i16 0, i16 0, i16 0, i16 8288, i16 0, i16 2969, i16 8289, i16 0, i16 0, i16 8290, i16 0, i16 0, i16 8291, i16 4207, i16 3113, i16 8292, i16 0, i16 8293, i16 8294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9649, i16 5112, i16 9650, i16 9651, i16 5118, i16 0, i16 0, i16 5116, i16 0, i16 2728, i16 0, i16 0, i16 5123, i16 5113, i16 9652, i16 0, i16 9653, i16 0, i16 9654, i16 5114, i16 5090, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9574, i16 0, i16 9575, i16 0, i16 0, i16 1049, i16 0, i16 0, i16 892, i16 0, i16 9576, i16 5056, i16 0, i16 9577, i16 5059, i16 9578, i16 0, i16 0, i16 3600, i16 9579, i16 0, i16 9580, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 364, i16 0, i16 0, i16 363, i16 0, i16 362, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7882, i16 7883, i16 0, i16 0, i16 4012, i16 3474, i16 0, i16 2068, i16 7884, i16 4018, i16 0, i16 7885, i16 7886, i16 0, i16 4017, i16 4008, i16 0, i16 7887, i16 7888, i16 7889, i16 2472, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 995, i16 0, i16 0, i16 7950, i16 0, i16 0, i16 4058, i16 7951, i16 2153, i16 4054, i16 7952, i16 4052, i16 7953, i16 4053, i16 7954, i16 4055, i16 7955, i16 0, i16 7956, i16 7957, i16 7958, i16 0, i16 7959, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3650, i16 0, i16 9772, i16 5182, i16 0, i16 0, i16 0, i16 847, i16 0, i16 9773, i16 0, i16 9774, i16 9775, i16 9776, i16 9777, i16 0, i16 9778, i16 5184, i16 0, i16 0, i16 9779, i16 5183, i16 0, i16 5181, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10072, i16 10073, i16 5305, i16 0, i16 10074, i16 0, i16 0, i16 5306, i16 10075, i16 0, i16 0, i16 10076, i16 5307, i16 0, i16 0, i16 0, i16 10077, i16 0, i16 10078, i16 10079, i16 866, i16 0, i16 10080, i16 10081, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3182, i16 0, i16 6816, i16 12656, i16 0, i16 12657, i16 12658, i16 6817, i16 12659, i16 6818, i16 0, i16 0, i16 12660, i16 0, i16 6819, i16 12661, i16 12662, i16 0, i16 12663, i16 12664, i16 0, i16 0, i16 0, i16 12665, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11391, i16 0, i16 1000, i16 6110, i16 6111, i16 11358, i16 0, i16 0, i16 0, i16 11359, i16 0, i16 6106, i16 0, i16 1808, i16 11360, i16 0, i16 11361, i16 0, i16 11362, i16 0, i16 11363, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1683, i16 0, i16 12778, i16 0, i16 12779, i16 6888, i16 12780, i16 12781, i16 6889, i16 0, i16 12782, i16 0, i16 12783, i16 12784, i16 12785, i16 0, i16 1055, i16 12786, i16 0, i16 12787, i16 6890, i16 0, i16 12788, i16 12789, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8637, i16 0, i16 0, i16 8638, i16 0, i16 0, i16 8639, i16 4435, i16 4441, i16 4433, i16 0, i16 2779, i16 8640, i16 8641, i16 4438, i16 3156, i16 8642, i16 8643, i16 4432, i16 8644, i16 4437, i16 3636, i16 1834, i16 0, i16 8645, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7102, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7101, i16 7104, i16 7108, i16 7107, i16 0, i16 7105, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11222, i16 0, i16 0, i16 11223, i16 0, i16 3292, i16 0, i16 3660, i16 11224, i16 11225, i16 11226, i16 11227, i16 0, i16 6049, i16 0, i16 0, i16 11228, i16 0, i16 0, i16 11230, i16 11231, i16 6056, i16 11232, i16 0, i16 6048, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8409, i16 8410, i16 0, i16 8411, i16 0, i16 4283, i16 0, i16 0, i16 8412, i16 1205, i16 4284, i16 8413, i16 0, i16 4285, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8414, i16 0, i16 8415, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4599, i16 752, i16 8844, i16 8845, i16 1720, i16 0, i16 8846, i16 0, i16 2177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8847, i16 8848, i16 0, i16 0, i16 8849, i16 2707, i16 0, i16 8850, i16 3053, i16 4605, i16 2405, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4632, i16 0, i16 0, i16 8909, i16 8910, i16 0, i16 0, i16 2464, i16 0, i16 4639, i16 8911, i16 0, i16 8912, i16 4633, i16 8913, i16 0, i16 4630, i16 4637, i16 8914, i16 0, i16 0, i16 0, i16 4607, i16 0, i16 8915, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 316, i16 315, i16 0, i16 0, i16 0, i16 312, i16 0, i16 0, i16 314, i16 313, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8817, i16 0, i16 8818, i16 0, i16 0, i16 3069, i16 4663, i16 0, i16 0, i16 0, i16 0, i16 3279, i16 0, i16 8819, i16 0, i16 2706, i16 8820, i16 8821, i16 0, i16 3368, i16 8822, i16 4583, i16 934, i16 2605, i16 8823, i16 8824, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7940, i16 2549, i16 0, i16 7941, i16 970, i16 7942, i16 0, i16 0, i16 7943, i16 7944, i16 7945, i16 7946, i16 7947, i16 7948, i16 0, i16 4042, i16 0, i16 4044, i16 2069, i16 858, i16 7949, i16 0, i16 4047, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 311, i16 310, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2652, i16 12969, i16 6980, i16 0, i16 3024, i16 0, i16 6985, i16 6981, i16 0, i16 0, i16 0, i16 6982, i16 0, i16 12970, i16 3300, i16 3413, i16 0, i16 2861, i16 12971, i16 0, i16 12972, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1124, i16 11078, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11079, i16 920, i16 5954, i16 3639, i16 2498, i16 11080, i16 0, i16 3131, i16 0, i16 5966, i16 11081, i16 988, i16 5964, i16 0, i16 5962, i16 5953, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2662, i16 9547, i16 9548, i16 9549, i16 883, i16 1622, i16 5035, i16 0, i16 0, i16 9551, i16 9552, i16 0, i16 9553, i16 1974, i16 5040, i16 0, i16 5039, i16 5034, i16 0, i16 5037, i16 9554, i16 0, i16 1099, i16 9555, i16 5036, i16 2948, i16 9556, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8864, i16 8865, i16 3280, i16 1919, i16 4620, i16 0, i16 4619, i16 8866, i16 8867, i16 2243, i16 0, i16 0, i16 8868, i16 1497, i16 0, i16 8869, i16 8870, i16 4613, i16 2086, i16 8871, i16 0, i16 2885, i16 2924, i16 8872, i16 8873, i16 0, i16 8874, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11173, i16 6028, i16 11174, i16 11175, i16 3524, i16 11176, i16 0, i16 0, i16 11177, i16 3575, i16 11178, i16 0, i16 11179, i16 11180, i16 0, i16 0, i16 0, i16 11181, i16 2619, i16 11182, i16 11183, i16 11184, i16 1102, i16 11185, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6850, i16 12720, i16 0, i16 1057, i16 0, i16 0, i16 0, i16 2954, i16 6851, i16 6852, i16 0, i16 12721, i16 12722, i16 12723, i16 2589, i16 2888, i16 12724, i16 0, i16 0, i16 0, i16 12725, i16 12726, i16 0, i16 6853, i16 12727, i16 0, i16 12728, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4292, i16 0, i16 4294, i16 0, i16 8425, i16 0, i16 8426, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8427, i16 0, i16 0, i16 0, i16 0, i16 8429, i16 0, i16 4295, i16 0, i16 0, i16 0, i16 8428, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10961, i16 5874, i16 10962, i16 0, i16 0, i16 10963, i16 5872, i16 10964, i16 0, i16 2208, i16 0, i16 3164, i16 5877, i16 10965, i16 5876, i16 1639, i16 3710, i16 0, i16 10966, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5893, i16 0, i16 0, i16 0, i16 0, i16 13078, i16 7046, i16 3001, i16 0, i16 13079, i16 7047, i16 7049, i16 0, i16 13080, i16 7050, i16 13081, i16 13082, i16 13083, i16 0, i16 0, i16 13084, i16 13085, i16 13086, i16 0, i16 0, i16 7048, i16 1668, i16 3422, i16 3350, i16 4361, i16 0, i16 4996, i16 3374, i16 0, i16 0, i16 0, i16 0, i16 9766, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9767, i16 5177, i16 2557, i16 5180, i16 5175, i16 9768, i16 9769, i16 0, i16 5179, i16 9770, i16 0, i16 0, i16 9771, i16 5178, i16 2751, i16 802, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4915, i16 9346, i16 9347, i16 4920, i16 4924, i16 9348, i16 9349, i16 1331, i16 0, i16 0, i16 9350, i16 0, i16 9351, i16 9352, i16 9353, i16 0, i16 0, i16 9354, i16 9355, i16 0, i16 1259, i16 4922, i16 0, i16 9356, i16 0, i16 0, i16 0, i16 1216, i16 0, i16 0, i16 0, i16 0, i16 9780, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5176, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3286, i16 9781, i16 0, i16 0, i16 5186, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9539, i16 0, i16 0, i16 9540, i16 0, i16 0, i16 9541, i16 3517, i16 5042, i16 0, i16 9542, i16 9543, i16 0, i16 9544, i16 5041, i16 9545, i16 0, i16 0, i16 0, i16 2335, i16 0, i16 5038, i16 9546, i16 3547, i16 0, i16 0, i16 2835, i16 5032, i16 0, i16 0, i16 0, i16 0, i16 10582, i16 0, i16 3236, i16 986, i16 0, i16 10583, i16 0, i16 5611, i16 0, i16 5608, i16 10584, i16 5613, i16 10585, i16 10586, i16 5612, i16 0, i16 2990, i16 3384, i16 10587, i16 1806, i16 5606, i16 5615, i16 5610, i16 10588, i16 5609, i16 5605, i16 10589, i16 5607, i16 0, i16 0, i16 0, i16 0, i16 12640, i16 0, i16 6807, i16 12641, i16 0, i16 0, i16 12642, i16 6809, i16 2511, i16 1086, i16 1087, i16 6808, i16 0, i16 12643, i16 12644, i16 12645, i16 1194, i16 1515, i16 12646, i16 12647, i16 1195, i16 12648, i16 12649, i16 2750, i16 0, i16 0, i16 3629, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9849, i16 0, i16 0, i16 0, i16 5220, i16 0, i16 2687, i16 9850, i16 5222, i16 5221, i16 0, i16 9851, i16 5223, i16 0, i16 5224, i16 0, i16 9852, i16 1936, i16 3162, i16 0, i16 9853, i16 9854, i16 3453, i16 5225, i16 5226, i16 2397, i16 1877, i16 5227, i16 0, i16 0, i16 0, i16 0, i16 944, i16 0, i16 13087, i16 0, i16 13088, i16 0, i16 0, i16 13089, i16 7052, i16 1263, i16 7053, i16 7054, i16 7055, i16 0, i16 1676, i16 0, i16 7056, i16 13090, i16 0, i16 0, i16 5266, i16 3436, i16 0, i16 2504, i16 7057, i16 7059, i16 7058, i16 13091, i16 0, i16 0, i16 0, i16 0, i16 9393, i16 0, i16 0, i16 9394, i16 3008, i16 0, i16 4946, i16 0, i16 9395, i16 0, i16 0, i16 0, i16 9396, i16 9397, i16 9398, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4950, i16 4947, i16 9399, i16 9400, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1215, i16 9243, i16 4856, i16 0, i16 9244, i16 3418, i16 4831, i16 1214, i16 9245, i16 4838, i16 0, i16 9246, i16 9247, i16 9248, i16 3315, i16 9249, i16 4839, i16 4841, i16 9250, i16 4845, i16 4833, i16 9251, i16 2541, i16 0, i16 9252, i16 9253, i16 0, i16 2798, i16 0, i16 0, i16 0, i16 0, i16 7110, i16 7111, i16 7122, i16 0, i16 7123, i16 7124, i16 7125, i16 0, i16 7127, i16 0, i16 7128, i16 7130, i16 7136, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 0, i16 0, i16 0, i16 0, i16 6623, i16 0, i16 0, i16 12326, i16 12327, i16 12328, i16 0, i16 2886, i16 0, i16 2772, i16 0, i16 0, i16 12329, i16 12330, i16 12331, i16 0, i16 2680, i16 12332, i16 6636, i16 12333, i16 12334, i16 0, i16 12335, i16 2566, i16 6632, i16 0, i16 12336, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2303, i16 11822, i16 1920, i16 6405, i16 0, i16 11823, i16 0, i16 1077, i16 11824, i16 6406, i16 11825, i16 0, i16 2429, i16 6407, i16 0, i16 6408, i16 3170, i16 0, i16 0, i16 1230, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11826, i16 0, i16 0, i16 0, i16 8200, i16 905, i16 0, i16 8201, i16 1202, i16 2877, i16 3273, i16 0, i16 0, i16 0, i16 0, i16 4173, i16 2396, i16 4172, i16 1435, i16 8202, i16 8203, i16 3342, i16 4171, i16 0, i16 2788, i16 4175, i16 8204, i16 4174, i16 8205, i16 0, i16 8206, i16 8207, i16 8208, i16 0, i16 0, i16 0, i16 9739, i16 9740, i16 0, i16 0, i16 0, i16 9741, i16 9742, i16 9743, i16 9744, i16 5111, i16 0, i16 9749, i16 0, i16 0, i16 5171, i16 0, i16 0, i16 9745, i16 9746, i16 0, i16 0, i16 2884, i16 0, i16 0, i16 0, i16 0, i16 9747, i16 9748, i16 0, i16 0, i16 0, i16 0, i16 8486, i16 0, i16 0, i16 0, i16 8487, i16 0, i16 4332, i16 0, i16 8488, i16 1185, i16 4333, i16 8490, i16 0, i16 8489, i16 0, i16 4335, i16 4334, i16 0, i16 0, i16 4336, i16 0, i16 8491, i16 8492, i16 0, i16 4337, i16 0, i16 2327, i16 1970, i16 0, i16 0, i16 0, i16 0, i16 808, i16 5862, i16 0, i16 2563, i16 0, i16 10928, i16 0, i16 0, i16 0, i16 2963, i16 10929, i16 2496, i16 10930, i16 0, i16 0, i16 10931, i16 0, i16 10932, i16 10933, i16 5864, i16 10934, i16 10935, i16 5860, i16 5863, i16 5858, i16 0, i16 5861, i16 3289, i16 0, i16 0, i16 0, i16 0, i16 6698, i16 0, i16 0, i16 12462, i16 784, i16 12463, i16 12464, i16 6696, i16 12465, i16 6700, i16 6699, i16 0, i16 0, i16 12466, i16 12467, i16 12468, i16 12469, i16 6702, i16 6701, i16 6703, i16 0, i16 2827, i16 12470, i16 12471, i16 0, i16 6704, i16 12472, i16 12473, i16 12474, i16 0, i16 0, i16 0, i16 299, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7121, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9006, i16 0, i16 1543, i16 0, i16 9007, i16 4685, i16 9008, i16 0, i16 0, i16 0, i16 4688, i16 0, i16 3145, i16 9009, i16 1278, i16 9010, i16 0, i16 9011, i16 4687, i16 4686, i16 2959, i16 4689, i16 1330, i16 0, i16 0, i16 0, i16 4691, i16 4690, i16 9012, i16 0, i16 0, i16 0, i16 5172, i16 9750, i16 9751, i16 0, i16 0, i16 0, i16 0, i16 0, i16 981, i16 9752, i16 0, i16 9753, i16 2803, i16 1032, i16 0, i16 0, i16 0, i16 0, i16 9754, i16 9755, i16 0, i16 1283, i16 0, i16 0, i16 0, i16 1935, i16 1735, i16 9756, i16 0, i16 0, i16 0, i16 0, i16 9782, i16 9783, i16 9784, i16 9785, i16 9786, i16 0, i16 5185, i16 0, i16 9787, i16 9788, i16 0, i16 0, i16 9789, i16 0, i16 0, i16 0, i16 0, i16 914, i16 0, i16 0, i16 0, i16 0, i16 5188, i16 3207, i16 0, i16 5187, i16 0, i16 9790, i16 0, i16 0, i16 0, i16 0, i16 8247, i16 8248, i16 863, i16 1136, i16 8249, i16 4189, i16 0, i16 3414, i16 3112, i16 0, i16 0, i16 8250, i16 8251, i16 0, i16 8252, i16 8253, i16 0, i16 8254, i16 0, i16 753, i16 8255, i16 0, i16 0, i16 0, i16 834, i16 0, i16 0, i16 0, i16 1828, i16 0, i16 0, i16 0, i16 10308, i16 0, i16 0, i16 0, i16 5464, i16 0, i16 10309, i16 0, i16 0, i16 0, i16 5465, i16 0, i16 0, i16 0, i16 10310, i16 10311, i16 0, i16 0, i16 10312, i16 0, i16 5466, i16 0, i16 10313, i16 5467, i16 3400, i16 5468, i16 0, i16 10314, i16 10315, i16 0, i16 0, i16 0, i16 10830, i16 10831, i16 5779, i16 0, i16 10832, i16 0, i16 0, i16 0, i16 0, i16 5780, i16 5781, i16 5782, i16 10833, i16 5783, i16 5784, i16 10834, i16 10835, i16 5786, i16 5785, i16 0, i16 0, i16 5787, i16 0, i16 0, i16 10836, i16 10837, i16 10838, i16 0, i16 5788, i16 0, i16 0, i16 0, i16 6991, i16 0, i16 0, i16 6989, i16 0, i16 1118, i16 0, i16 6988, i16 1891, i16 942, i16 0, i16 0, i16 12981, i16 12982, i16 0, i16 12983, i16 12984, i16 12985, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12986, i16 1658, i16 12987, i16 12989, i16 6998, i16 6997, i16 0, i16 0, i16 0, i16 12117, i16 0, i16 0, i16 0, i16 12118, i16 12119, i16 2864, i16 6566, i16 1989, i16 1937, i16 2966, i16 2612, i16 12120, i16 0, i16 0, i16 1955, i16 12121, i16 2231, i16 0, i16 6567, i16 12122, i16 6568, i16 12123, i16 12124, i16 12125, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1113, i16 5562, i16 5561, i16 10536, i16 5565, i16 5558, i16 10537, i16 5566, i16 3574, i16 10538, i16 5567, i16 10539, i16 5568, i16 0, i16 10540, i16 4170, i16 5570, i16 0, i16 5569, i16 0, i16 0, i16 0, i16 5571, i16 5572, i16 10541, i16 3586, i16 5573, i16 0, i16 6797, i16 0, i16 0, i16 0, i16 4186, i16 8227, i16 2474, i16 0, i16 8228, i16 3307, i16 0, i16 0, i16 0, i16 2761, i16 8229, i16 8230, i16 8231, i16 8232, i16 0, i16 4187, i16 8233, i16 0, i16 0, i16 0, i16 8234, i16 0, i16 3352, i16 8235, i16 1727, i16 8236, i16 0, i16 2071, i16 0, i16 0, i16 0, i16 0, i16 4961, i16 0, i16 0, i16 9421, i16 4960, i16 0, i16 4962, i16 9422, i16 0, i16 979, i16 9423, i16 2554, i16 0, i16 4963, i16 0, i16 9424, i16 1152, i16 4965, i16 0, i16 9425, i16 0, i16 9426, i16 4964, i16 0, i16 4966, i16 0, i16 9427, i16 0, i16 4967, i16 0, i16 0, i16 0, i16 10341, i16 10342, i16 5477, i16 0, i16 10343, i16 10344, i16 0, i16 0, i16 0, i16 10345, i16 0, i16 10346, i16 0, i16 0, i16 0, i16 10347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10348, i16 2104, i16 10349, i16 0, i16 0, i16 0, i16 0, i16 2175, i16 8612, i16 3107, i16 0, i16 8613, i16 8614, i16 8615, i16 0, i16 8616, i16 1208, i16 2913, i16 0, i16 0, i16 8617, i16 8618, i16 8619, i16 8620, i16 8621, i16 0, i16 4422, i16 1833, i16 3309, i16 3310, i16 0, i16 0, i16 933, i16 4427, i16 8622, i16 0, i16 0, i16 0, i16 0, i16 2695, i16 3881, i16 7678, i16 0, i16 2444, i16 0, i16 7679, i16 1764, i16 3882, i16 3883, i16 2359, i16 0, i16 3880, i16 0, i16 0, i16 0, i16 0, i16 3885, i16 7680, i16 3305, i16 7681, i16 7682, i16 0, i16 7683, i16 1659, i16 7684, i16 0, i16 3884, i16 7685, i16 0, i16 0, i16 0, i16 5002, i16 5001, i16 0, i16 9479, i16 9480, i16 9481, i16 0, i16 0, i16 0, i16 9482, i16 0, i16 9483, i16 0, i16 0, i16 0, i16 0, i16 9484, i16 2224, i16 9485, i16 9486, i16 3120, i16 881, i16 0, i16 9487, i16 9488, i16 0, i16 0, i16 3038, i16 9489, i16 0, i16 0, i16 0, i16 12200, i16 12201, i16 12202, i16 12203, i16 0, i16 12204, i16 6671, i16 0, i16 0, i16 6599, i16 0, i16 12205, i16 12206, i16 12207, i16 0, i16 0, i16 12208, i16 3640, i16 12209, i16 12210, i16 1555, i16 12211, i16 12212, i16 12213, i16 0, i16 12214, i16 0, i16 12215, i16 6609, i16 0, i16 0, i16 0, i16 1469, i16 0, i16 8946, i16 0, i16 8947, i16 4649, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8948, i16 8949, i16 8950, i16 1800, i16 4646, i16 0, i16 4645, i16 0, i16 0, i16 8951, i16 8952, i16 2925, i16 8953, i16 0, i16 8954, i16 2834, i16 8955, i16 0, i16 0, i16 0, i16 1223, i16 1538, i16 4235, i16 1083, i16 0, i16 8338, i16 4236, i16 0, i16 2462, i16 0, i16 0, i16 8339, i16 8340, i16 4237, i16 4277, i16 0, i16 4238, i16 0, i16 4239, i16 0, i16 0, i16 4240, i16 0, i16 4242, i16 0, i16 8341, i16 8342, i16 8343, i16 8344, i16 0, i16 0, i16 0, i16 5320, i16 5319, i16 5321, i16 10092, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5322, i16 5324, i16 5323, i16 0, i16 0, i16 1680, i16 10093, i16 5326, i16 0, i16 5325, i16 10094, i16 10095, i16 1158, i16 0, i16 2206, i16 0, i16 2747, i16 0, i16 5327, i16 2273, i16 0, i16 0, i16 0, i16 9928, i16 1677, i16 1845, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9929, i16 5264, i16 5265, i16 9930, i16 0, i16 9931, i16 0, i16 0, i16 0, i16 9932, i16 5267, i16 9933, i16 0, i16 0, i16 0, i16 0, i16 9934, i16 9935, i16 9936, i16 0, i16 0, i16 0, i16 4811, i16 0, i16 0, i16 0, i16 3111, i16 0, i16 0, i16 0, i16 9216, i16 0, i16 0, i16 9217, i16 9218, i16 9219, i16 9220, i16 9221, i16 0, i16 4823, i16 9222, i16 952, i16 4812, i16 0, i16 9223, i16 9224, i16 9225, i16 9226, i16 0, i16 4829, i16 4813, i16 0, i16 0, i16 0, i16 13009, i16 13010, i16 0, i16 13011, i16 7009, i16 0, i16 7008, i16 13012, i16 0, i16 0, i16 13013, i16 13014, i16 1463, i16 0, i16 0, i16 13015, i16 13016, i16 0, i16 13017, i16 13018, i16 13019, i16 13020, i16 0, i16 7013, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11738, i16 0, i16 0, i16 1460, i16 0, i16 0, i16 0, i16 0, i16 6342, i16 6344, i16 11739, i16 0, i16 6345, i16 1251, i16 5811, i16 2150, i16 0, i16 6346, i16 0, i16 11740, i16 1575, i16 11741, i16 11742, i16 0, i16 0, i16 11743, i16 6347, i16 11744, i16 0, i16 0, i16 0, i16 0, i16 5086, i16 9609, i16 9610, i16 0, i16 0, i16 9611, i16 9612, i16 3388, i16 9613, i16 0, i16 5084, i16 5088, i16 9614, i16 0, i16 9615, i16 9616, i16 9617, i16 9618, i16 0, i16 1545, i16 9619, i16 2098, i16 0, i16 0, i16 2556, i16 9620, i16 9621, i16 9622, i16 5078, i16 0, i16 0, i16 0, i16 7917, i16 7918, i16 0, i16 0, i16 1489, i16 4034, i16 4032, i16 2394, i16 1257, i16 1321, i16 7919, i16 4029, i16 0, i16 1393, i16 0, i16 7920, i16 0, i16 0, i16 0, i16 875, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7921, i16 0, i16 0, i16 0, i16 238, i16 0, i16 300, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1015, i16 0, i16 11621, i16 2163, i16 6275, i16 0, i16 11622, i16 0, i16 11623, i16 0, i16 11624, i16 0, i16 0, i16 0, i16 11625, i16 0, i16 11626, i16 6276, i16 0, i16 11627, i16 0, i16 6277, i16 11628, i16 0, i16 0, i16 0, i16 11629, i16 0, i16 11630, i16 0, i16 0, i16 7936, i16 1823, i16 4040, i16 0, i16 0, i16 0, i16 0, i16 7937, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7938, i16 4043, i16 0, i16 4048, i16 0, i16 0, i16 0, i16 4046, i16 4045, i16 7939, i16 0, i16 0, i16 8448, i16 8449, i16 0, i16 0, i16 8450, i16 0, i16 8451, i16 0, i16 8455, i16 4317, i16 4314, i16 0, i16 4316, i16 0, i16 3553, i16 8453, i16 4315, i16 0, i16 0, i16 8452, i16 0, i16 0, i16 0, i16 8454, i16 0, i16 0, i16 4305, i16 0, i16 0, i16 8456, i16 0, i16 0, i16 2310, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8927, i16 0, i16 0, i16 4643, i16 8928, i16 0, i16 8929, i16 8930, i16 8931, i16 8932, i16 0, i16 0, i16 0, i16 2725, i16 0, i16 8933, i16 8934, i16 8935, i16 8936, i16 0, i16 8937, i16 0, i16 0, i16 10759, i16 10760, i16 10761, i16 10762, i16 10763, i16 5714, i16 0, i16 0, i16 1368, i16 3077, i16 10764, i16 10765, i16 10766, i16 2420, i16 0, i16 3613, i16 2046, i16 0, i16 0, i16 5762, i16 0, i16 10767, i16 5724, i16 10768, i16 2343, i16 0, i16 5720, i16 5725, i16 5727, i16 0, i16 0, i16 0, i16 6161, i16 11432, i16 11433, i16 11434, i16 11435, i16 11436, i16 11437, i16 11438, i16 0, i16 11439, i16 11440, i16 3498, i16 0, i16 0, i16 11441, i16 0, i16 0, i16 11442, i16 0, i16 11443, i16 0, i16 11444, i16 11445, i16 11446, i16 0, i16 0, i16 0, i16 0, i16 11447, i16 6160, i16 0, i16 0, i16 8998, i16 4677, i16 4676, i16 0, i16 8999, i16 0, i16 0, i16 9000, i16 4644, i16 4678, i16 4666, i16 0, i16 9001, i16 1836, i16 0, i16 9002, i16 0, i16 0, i16 4679, i16 4680, i16 4682, i16 4681, i16 4683, i16 1027, i16 9003, i16 1613, i16 9004, i16 9005, i16 3281, i16 2264, i16 0, i16 0, i16 13103, i16 13104, i16 0, i16 0, i16 0, i16 7071, i16 7072, i16 13105, i16 0, i16 0, i16 0, i16 0, i16 2723, i16 13106, i16 13107, i16 13108, i16 13109, i16 1558, i16 13110, i16 7074, i16 13111, i16 13112, i16 0, i16 13113, i16 13114, i16 13115, i16 0, i16 0, i16 0, i16 13116, i16 0, i16 0, i16 1852, i16 10946, i16 0, i16 1337, i16 2289, i16 3697, i16 3391, i16 5865, i16 2301, i16 10947, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10948, i16 10949, i16 10950, i16 0, i16 1266, i16 5868, i16 10951, i16 0, i16 10952, i16 0, i16 0, i16 0, i16 4159, i16 0, i16 0, i16 8181, i16 8182, i16 0, i16 0, i16 3238, i16 4160, i16 8183, i16 8184, i16 0, i16 0, i16 971, i16 4161, i16 0, i16 8185, i16 8186, i16 8187, i16 3499, i16 1043, i16 0, i16 3939, i16 2007, i16 2468, i16 4162, i16 3452, i16 8189, i16 0, i16 0, i16 0, i16 0, i16 9280, i16 0, i16 0, i16 9281, i16 0, i16 0, i16 0, i16 9282, i16 3515, i16 0, i16 0, i16 0, i16 9283, i16 0, i16 0, i16 0, i16 0, i16 3181, i16 4862, i16 2479, i16 0, i16 9284, i16 0, i16 4868, i16 2374, i16 9285, i16 4859, i16 4872, i16 4871, i16 0, i16 0, i16 0, i16 334, i16 335, i16 0, i16 0, i16 332, i16 333, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5718, i16 5712, i16 0, i16 0, i16 10752, i16 10753, i16 0, i16 0, i16 10754, i16 5716, i16 1963, i16 806, i16 5711, i16 5719, i16 5723, i16 1634, i16 3431, i16 10755, i16 2679, i16 5713, i16 10756, i16 10757, i16 5721, i16 10758, i16 5710, i16 2561, i16 0, i16 5715, i16 774, i16 3419, i16 0, i16 0, i16 9566, i16 0, i16 0, i16 5052, i16 0, i16 9567, i16 2096, i16 0, i16 0, i16 0, i16 3487, i16 0, i16 5049, i16 0, i16 0, i16 9568, i16 9569, i16 5044, i16 9570, i16 5050, i16 9571, i16 9572, i16 9573, i16 3627, i16 0, i16 2802, i16 2847, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3942, i16 7777, i16 3458, i16 0, i16 0, i16 7778, i16 7779, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7780, i16 0, i16 0, i16 0, i16 0, i16 7781, i16 7782, i16 0, i16 3943, i16 0, i16 3615, i16 7783, i16 1589, i16 0, i16 0, i16 7784, i16 0, i16 1519, i16 0, i16 0, i16 9320, i16 0, i16 0, i16 9321, i16 0, i16 4903, i16 4896, i16 0, i16 0, i16 4909, i16 0, i16 4907, i16 9322, i16 9323, i16 0, i16 9324, i16 4902, i16 9325, i16 0, i16 9326, i16 0, i16 0, i16 0, i16 4901, i16 0, i16 2673, i16 0, i16 2412, i16 9327, i16 4899, i16 0, i16 0, i16 12650, i16 12651, i16 0, i16 12652, i16 12653, i16 1557, i16 0, i16 0, i16 12654, i16 6810, i16 12655, i16 0, i16 0, i16 6811, i16 6812, i16 6813, i16 0, i16 6815, i16 6814, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4205, i16 8279, i16 0, i16 8280, i16 3151, i16 8281, i16 0, i16 0, i16 4206, i16 0, i16 4201, i16 8282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8283, i16 0, i16 0, i16 8284, i16 8285, i16 0, i16 0, i16 8286, i16 3404, i16 0, i16 0, i16 2671, i16 2855, i16 880, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2331, i16 9194, i16 0, i16 2269, i16 1413, i16 0, i16 9195, i16 0, i16 0, i16 0, i16 9196, i16 4801, i16 9197, i16 0, i16 0, i16 12666, i16 6821, i16 6820, i16 12667, i16 6822, i16 0, i16 12668, i16 0, i16 0, i16 0, i16 12669, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3085, i16 5822, i16 0, i16 0, i16 2164, i16 0, i16 0, i16 12678, i16 6825, i16 0, i16 3440, i16 0, i16 12679, i16 12680, i16 6826, i16 3531, i16 0, i16 873, i16 0, i16 0, i16 0, i16 1812, i16 12681, i16 6827, i16 1011, i16 6828, i16 12682, i16 12683, i16 12684, i16 6829, i16 0, i16 12685, i16 12686, i16 12687, i16 6831, i16 6832, i16 12688, i16 0, i16 0, i16 7827, i16 0, i16 7828, i16 0, i16 7829, i16 7830, i16 1967, i16 7831, i16 1959, i16 7832, i16 0, i16 7833, i16 7834, i16 0, i16 3977, i16 3975, i16 0, i16 3380, i16 7835, i16 3972, i16 3981, i16 3976, i16 0, i16 0, i16 0, i16 3979, i16 1535, i16 3408, i16 0, i16 7836, i16 0, i16 0, i16 9623, i16 9624, i16 0, i16 0, i16 0, i16 3486, i16 9625, i16 0, i16 0, i16 5081, i16 0, i16 0, i16 5074, i16 2801, i16 0, i16 0, i16 5077, i16 9626, i16 0, i16 0, i16 5083, i16 0, i16 0, i16 0, i16 0, i16 9627, i16 0, i16 9628, i16 3708, i16 1903, i16 0, i16 0, i16 10135, i16 5355, i16 10136, i16 5354, i16 0, i16 0, i16 0, i16 0, i16 0, i16 893, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5363, i16 3073, i16 5357, i16 10137, i16 5359, i16 0, i16 0, i16 5361, i16 2185, i16 10138, i16 0, i16 5362, i16 5360, i16 1905, i16 10139, i16 0, i16 0, i16 7585, i16 3813, i16 7586, i16 3811, i16 7587, i16 2389, i16 7588, i16 7589, i16 0, i16 0, i16 0, i16 3812, i16 3814, i16 7590, i16 0, i16 7591, i16 7603, i16 0, i16 0, i16 3816, i16 7592, i16 0, i16 0, i16 3815, i16 7593, i16 3229, i16 0, i16 0, i16 7594, i16 0, i16 0, i16 0, i16 6307, i16 11695, i16 6305, i16 0, i16 11696, i16 2575, i16 11697, i16 11698, i16 11699, i16 2282, i16 1171, i16 6306, i16 0, i16 2214, i16 0, i16 11700, i16 3607, i16 11701, i16 11702, i16 11703, i16 3691, i16 11704, i16 0, i16 0, i16 6308, i16 6319, i16 2646, i16 11705, i16 6318, i16 11706, i16 0, i16 0, i16 12974, i16 6986, i16 0, i16 0, i16 6987, i16 2843, i16 6984, i16 6983, i16 0, i16 12973, i16 0, i16 0, i16 943, i16 0, i16 0, i16 12975, i16 6995, i16 0, i16 0, i16 6994, i16 0, i16 12976, i16 12977, i16 0, i16 0, i16 924, i16 12978, i16 12979, i16 12980, i16 6992, i16 0, i16 0, i16 1714, i16 0, i16 0, i16 10326, i16 10327, i16 0, i16 0, i16 10328, i16 0, i16 0, i16 5472, i16 10329, i16 10330, i16 0, i16 0, i16 10331, i16 5473, i16 0, i16 1503, i16 1738, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10332, i16 0, i16 0, i16 0, i16 0, i16 9906, i16 0, i16 9907, i16 9908, i16 0, i16 9909, i16 0, i16 0, i16 5255, i16 9910, i16 0, i16 9911, i16 0, i16 0, i16 0, i16 0, i16 9912, i16 9913, i16 0, i16 0, i16 5257, i16 5254, i16 9914, i16 9915, i16 0, i16 3429, i16 5256, i16 5258, i16 9916, i16 3601, i16 0, i16 0, i16 4280, i16 7388, i16 0, i16 0, i16 0, i16 0, i16 7389, i16 7390, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3551, i16 0, i16 2906, i16 7391, i16 7392, i16 0, i16 0, i16 0, i16 7393, i16 0, i16 0, i16 0, i16 0, i16 1126, i16 7394, i16 0, i16 0, i16 9401, i16 9402, i16 3554, i16 4948, i16 9403, i16 9404, i16 0, i16 9405, i16 4900, i16 0, i16 0, i16 0, i16 0, i16 9406, i16 9407, i16 9408, i16 4951, i16 0, i16 0, i16 0, i16 4952, i16 9409, i16 0, i16 0, i16 0, i16 9410, i16 0, i16 860, i16 9411, i16 4954, i16 0, i16 0, i16 2749, i16 6472, i16 0, i16 0, i16 0, i16 0, i16 11939, i16 0, i16 0, i16 6475, i16 0, i16 11946, i16 11940, i16 0, i16 11941, i16 11942, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11943, i16 1893, i16 11944, i16 11945, i16 6474, i16 6473, i16 1461, i16 6476, i16 0, i16 0, i16 0, i16 9917, i16 0, i16 9918, i16 5262, i16 0, i16 9919, i16 9920, i16 5261, i16 2617, i16 2920, i16 9921, i16 0, i16 1502, i16 5260, i16 0, i16 9922, i16 9923, i16 0, i16 5259, i16 9924, i16 3488, i16 3489, i16 0, i16 0, i16 9925, i16 9926, i16 0, i16 9927, i16 5263, i16 917, i16 0, i16 0, i16 5579, i16 0, i16 5592, i16 0, i16 5582, i16 10551, i16 1287, i16 0, i16 5581, i16 5594, i16 0, i16 0, i16 0, i16 5580, i16 0, i16 2109, i16 0, i16 0, i16 10552, i16 0, i16 0, i16 0, i16 5584, i16 5585, i16 0, i16 2730, i16 0, i16 0, i16 5586, i16 10553, i16 0, i16 0, i16 7119, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 360, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6868, i16 0, i16 0, i16 0, i16 0, i16 12737, i16 0, i16 0, i16 12738, i16 12739, i16 12740, i16 6859, i16 6860, i16 0, i16 12741, i16 6861, i16 6862, i16 0, i16 12742, i16 12743, i16 0, i16 0, i16 6864, i16 12744, i16 0, i16 6863, i16 0, i16 12745, i16 12746, i16 2024, i16 0, i16 0, i16 4310, i16 8439, i16 8440, i16 0, i16 8441, i16 8442, i16 0, i16 3277, i16 0, i16 8438, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8443, i16 0, i16 0, i16 8444, i16 0, i16 0, i16 0, i16 0, i16 8445, i16 0, i16 0, i16 0, i16 8446, i16 0, i16 8447, i16 0, i16 0, i16 2523, i16 0, i16 10008, i16 5286, i16 10009, i16 0, i16 10010, i16 10011, i16 10012, i16 10013, i16 10014, i16 10015, i16 10016, i16 10017, i16 10018, i16 10019, i16 5288, i16 3619, i16 1364, i16 3093, i16 2949, i16 0, i16 0, i16 10020, i16 5289, i16 0, i16 0, i16 0, i16 0, i16 5291, i16 0, i16 0, i16 6368, i16 0, i16 0, i16 6370, i16 11784, i16 11785, i16 0, i16 6369, i16 6371, i16 11786, i16 3321, i16 6372, i16 6373, i16 0, i16 11787, i16 0, i16 11788, i16 11789, i16 6374, i16 0, i16 0, i16 0, i16 6376, i16 11790, i16 0, i16 11791, i16 11792, i16 1040, i16 2696, i16 0, i16 0, i16 0, i16 7648, i16 0, i16 2257, i16 3861, i16 2025, i16 0, i16 7649, i16 3862, i16 0, i16 2623, i16 3596, i16 2783, i16 0, i16 7650, i16 0, i16 7651, i16 7652, i16 7653, i16 0, i16 7654, i16 3935, i16 0, i16 7655, i16 0, i16 0, i16 3863, i16 7099, i16 1346, i16 7656, i16 0, i16 0, i16 0, i16 6882, i16 0, i16 6884, i16 6883, i16 0, i16 0, i16 0, i16 6885, i16 6887, i16 6886, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 745, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 735, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8685, i16 0, i16 8686, i16 2141, i16 4477, i16 2868, i16 8687, i16 8688, i16 8689, i16 8690, i16 0, i16 0, i16 8691, i16 8692, i16 0, i16 3698, i16 0, i16 4473, i16 8693, i16 8694, i16 0, i16 0, i16 4479, i16 8695, i16 1682, i16 8696, i16 2292, i16 8697, i16 8698, i16 797, i16 0, i16 0, i16 4592, i16 0, i16 8825, i16 2551, i16 4586, i16 4593, i16 4588, i16 4595, i16 4591, i16 0, i16 4590, i16 2986, i16 8826, i16 4584, i16 1026, i16 4582, i16 1296, i16 2520, i16 4578, i16 8827, i16 8828, i16 4581, i16 1611, i16 2308, i16 8829, i16 2084, i16 4589, i16 2957, i16 0, i16 0, i16 0, i16 0, i16 1265, i16 2324, i16 1901, i16 3479, i16 4245, i16 0, i16 8355, i16 8356, i16 0, i16 0, i16 8357, i16 8358, i16 1275, i16 8359, i16 1728, i16 8360, i16 8361, i16 1045, i16 906, i16 2073, i16 973, i16 8362, i16 4246, i16 3509, i16 8363, i16 0, i16 8364, i16 0, i16 0, i16 2008, i16 0, i16 0, i16 3570, i16 2894, i16 0, i16 0, i16 0, i16 0, i16 850, i16 12532, i16 2316, i16 1895, i16 0, i16 0, i16 0, i16 12533, i16 3212, i16 12534, i16 871, i16 0, i16 0, i16 0, i16 3642, i16 3546, i16 0, i16 6745, i16 12535, i16 2756, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7672, i16 0, i16 3030, i16 3233, i16 0, i16 3875, i16 7673, i16 3559, i16 3876, i16 0, i16 0, i16 0, i16 3877, i16 0, i16 2813, i16 7674, i16 7675, i16 3878, i16 0, i16 7676, i16 2258, i16 1779, i16 1487, i16 3879, i16 1820, i16 1670, i16 7677, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3834, i16 0, i16 7631, i16 2907, i16 7632, i16 0, i16 2363, i16 3836, i16 3837, i16 3013, i16 1585, i16 3686, i16 3838, i16 0, i16 0, i16 1315, i16 0, i16 0, i16 0, i16 3217, i16 2459, i16 1390, i16 2740, i16 0, i16 0, i16 0, i16 1486, i16 0, i16 7633, i16 0, i16 0, i16 0, i16 13052, i16 0, i16 0, i16 0, i16 0, i16 13053, i16 0, i16 0, i16 13051, i16 0, i16 0, i16 0, i16 13054, i16 0, i16 13055, i16 13056, i16 13057, i16 0, i16 0, i16 13058, i16 13059, i16 0, i16 0, i16 13060, i16 7032, i16 7033, i16 13061, i16 13062, i16 7034, i16 0, i16 0, i16 0, i16 9469, i16 0, i16 9470, i16 9471, i16 0, i16 0, i16 4997, i16 9472, i16 0, i16 0, i16 0, i16 9473, i16 9474, i16 1844, i16 9475, i16 3394, i16 9476, i16 4998, i16 4999, i16 0, i16 0, i16 1219, i16 0, i16 9477, i16 0, i16 5000, i16 0, i16 0, i16 0, i16 9478, i16 0, i16 2304, i16 0, i16 6423, i16 11858, i16 11859, i16 0, i16 11860, i16 1554, i16 0, i16 6420, i16 6421, i16 11861, i16 0, i16 0, i16 3668, i16 11862, i16 11864, i16 11865, i16 2648, i16 11866, i16 2352, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6424, i16 11867, i16 0, i16 6427, i16 0, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 0, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 520, i16 521, i16 522, i16 523, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 0, i16 1028, i16 1703, i16 6923, i16 6922, i16 3382, i16 0, i16 0, i16 12844, i16 0, i16 0, i16 12845, i16 12846, i16 6925, i16 6926, i16 6924, i16 0, i16 6927, i16 0, i16 0, i16 3349, i16 12847, i16 12848, i16 12849, i16 6928, i16 0, i16 1306, i16 12850, i16 0, i16 0, i16 12851, i16 0, i16 0, i16 6661, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6659, i16 0, i16 0, i16 12412, i16 12413, i16 0, i16 12414, i16 12415, i16 12416, i16 12417, i16 6660, i16 6658, i16 0, i16 2525, i16 0, i16 6662, i16 12418, i16 0, i16 12420, i16 0, i16 12419, i16 0, i16 12549, i16 6764, i16 12550, i16 6761, i16 0, i16 6762, i16 0, i16 6763, i16 6765, i16 12551, i16 0, i16 0, i16 0, i16 12552, i16 12553, i16 0, i16 0, i16 2285, i16 0, i16 0, i16 12554, i16 3464, i16 12555, i16 12556, i16 2286, i16 12557, i16 12558, i16 6766, i16 0, i16 3084, i16 0, i16 0, i16 6663, i16 0, i16 12421, i16 6665, i16 12422, i16 0, i16 0, i16 12423, i16 0, i16 12424, i16 0, i16 12425, i16 0, i16 0, i16 0, i16 0, i16 1174, i16 6664, i16 3467, i16 0, i16 12426, i16 0, i16 0, i16 0, i16 12427, i16 6676, i16 6666, i16 12428, i16 0, i16 6669, i16 12429, i16 0, i16 4105, i16 8057, i16 0, i16 1690, i16 8058, i16 2550, i16 8059, i16 8060, i16 4102, i16 2683, i16 8061, i16 0, i16 8062, i16 8063, i16 8064, i16 8065, i16 8066, i16 0, i16 8067, i16 8068, i16 8069, i16 0, i16 8070, i16 0, i16 8071, i16 8072, i16 8073, i16 8074, i16 0, i16 8075, i16 4106, i16 0, i16 6409, i16 11827, i16 0, i16 11828, i16 2647, i16 0, i16 0, i16 11829, i16 0, i16 898, i16 0, i16 0, i16 11830, i16 0, i16 0, i16 11831, i16 11832, i16 0, i16 0, i16 0, i16 11833, i16 0, i16 0, i16 0, i16 6410, i16 0, i16 0, i16 0, i16 0, i16 11834, i16 11835, i16 0, i16 3338, i16 2521, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3370, i16 0, i16 0, i16 5024, i16 0, i16 9517, i16 5025, i16 9518, i16 980, i16 9519, i16 0, i16 0, i16 0, i16 3197, i16 3470, i16 5027, i16 1876, i16 2095, i16 5020, i16 5026, i16 911, i16 0, i16 3595, i16 0, i16 7373, i16 7374, i16 0, i16 3223, i16 0, i16 7375, i16 0, i16 3714, i16 7376, i16 0, i16 2601, i16 7377, i16 7378, i16 7379, i16 3715, i16 1399, i16 0, i16 0, i16 7380, i16 3716, i16 0, i16 1182, i16 2547, i16 0, i16 1944, i16 3717, i16 0, i16 0, i16 3718, i16 0, i16 4364, i16 4365, i16 2956, i16 0, i16 0, i16 8542, i16 0, i16 4366, i16 3652, i16 3672, i16 8544, i16 8543, i16 0, i16 8545, i16 4368, i16 4367, i16 8546, i16 8547, i16 1066, i16 8548, i16 8549, i16 4369, i16 0, i16 0, i16 0, i16 4372, i16 4373, i16 8550, i16 4371, i16 8551, i16 3127, i16 0, i16 1549, i16 1851, i16 0, i16 0, i16 3079, i16 10923, i16 10924, i16 0, i16 1507, i16 3318, i16 10925, i16 5857, i16 5855, i16 0, i16 1637, i16 0, i16 1638, i16 818, i16 0, i16 1757, i16 0, i16 0, i16 0, i16 10926, i16 10927, i16 2964, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3599, i16 9227, i16 4820, i16 9228, i16 2970, i16 9229, i16 0, i16 9230, i16 0, i16 0, i16 0, i16 0, i16 4828, i16 0, i16 4815, i16 0, i16 0, i16 0, i16 765, i16 4817, i16 0, i16 9231, i16 1619, i16 9232, i16 0, i16 9233, i16 4819, i16 9234, i16 4818, i16 0, i16 4814, i16 0, i16 4879, i16 0, i16 4887, i16 0, i16 9315, i16 0, i16 7096, i16 9316, i16 0, i16 4884, i16 1620, i16 2665, i16 2411, i16 4882, i16 0, i16 4877, i16 9317, i16 0, i16 4880, i16 0, i16 0, i16 9318, i16 9319, i16 3516, i16 3357, i16 0, i16 0, i16 0, i16 4885, i16 4895, i16 0, i16 0, i16 11023, i16 11024, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11025, i16 5925, i16 1641, i16 5926, i16 3045, i16 0, i16 5940, i16 0, i16 0, i16 0, i16 11026, i16 5928, i16 11027, i16 2478, i16 2992, i16 1528, i16 5927, i16 2348, i16 11028, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5395, i16 5396, i16 0, i16 10200, i16 10201, i16 0, i16 5400, i16 5397, i16 5398, i16 5399, i16 0, i16 5401, i16 10202, i16 10203, i16 10204, i16 5402, i16 10205, i16 5403, i16 0, i16 10206, i16 0, i16 5404, i16 0, i16 5405, i16 0, i16 3016, i16 2767, i16 5406, i16 2989, i16 3115, i16 0, i16 0, i16 8468, i16 4323, i16 8469, i16 4322, i16 0, i16 0, i16 4321, i16 8470, i16 0, i16 8471, i16 2791, i16 4300, i16 0, i16 0, i16 0, i16 4329, i16 0, i16 8472, i16 8473, i16 8474, i16 8475, i16 0, i16 0, i16 0, i16 8476, i16 0, i16 8477, i16 0, i16 4325, i16 0, i16 8478, i16 0, i16 6679, i16 0, i16 12440, i16 12439, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1304, i16 3121, i16 0, i16 9655, i16 0, i16 1904, i16 0, i16 9656, i16 1678, i16 9657, i16 0, i16 9658, i16 9659, i16 0, i16 3678, i16 0, i16 5110, i16 0, i16 5122, i16 912, i16 2413, i16 9660, i16 0, i16 9661, i16 0, i16 9662, i16 9663, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8729, i16 4504, i16 0, i16 4505, i16 8730, i16 8731, i16 4494, i16 1871, i16 8732, i16 4498, i16 2491, i16 1609, i16 4480, i16 2176, i16 0, i16 0, i16 0, i16 0, i16 4518, i16 0, i16 3262, i16 0, i16 0, i16 4508, i16 4509, i16 4510, i16 0, i16 0, i16 4517, i16 8733, i16 4516, i16 0, i16 9757, i16 0, i16 0, i16 0, i16 9758, i16 9759, i16 0, i16 0, i16 3666, i16 2225, i16 0, i16 0, i16 0, i16 913, i16 0, i16 0, i16 0, i16 5174, i16 0, i16 9760, i16 9761, i16 9762, i16 9763, i16 9764, i16 5173, i16 0, i16 9765, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7458, i16 7459, i16 1127, i16 7460, i16 7461, i16 3762, i16 0, i16 3754, i16 7462, i16 7463, i16 3632, i16 7464, i16 1867, i16 7465, i16 3755, i16 7466, i16 3760, i16 7467, i16 7468, i16 7469, i16 0, i16 3763, i16 7470, i16 3756, i16 7471, i16 7472, i16 1310, i16 0, i16 790, i16 7473, i16 7474, i16 0, i16 11555, i16 6226, i16 0, i16 6231, i16 0, i16 11556, i16 3192, i16 0, i16 0, i16 6233, i16 0, i16 6232, i16 11557, i16 11558, i16 11559, i16 1103, i16 0, i16 3294, i16 6234, i16 0, i16 11560, i16 11561, i16 0, i16 11562, i16 11563, i16 11564, i16 0, i16 11565, i16 6246, i16 6236, i16 0, i16 0, i16 1572, i16 0, i16 0, i16 0, i16 0, i16 5480, i16 2711, i16 0, i16 0, i16 10359, i16 0, i16 5483, i16 1050, i16 5478, i16 10360, i16 0, i16 3075, i16 0, i16 855, i16 10361, i16 1761, i16 0, i16 3709, i16 10362, i16 0, i16 5482, i16 0, i16 0, i16 10364, i16 10365, i16 10366, i16 0, i16 6950, i16 6947, i16 6946, i16 6948, i16 12905, i16 0, i16 12906, i16 1466, i16 0, i16 12907, i16 12908, i16 0, i16 0, i16 0, i16 12909, i16 6954, i16 6953, i16 6952, i16 12910, i16 0, i16 764, i16 0, i16 12911, i16 12912, i16 12913, i16 12914, i16 0, i16 0, i16 12915, i16 0, i16 12916, i16 0, i16 2856, i16 4921, i16 0, i16 9357, i16 0, i16 4923, i16 9358, i16 0, i16 0, i16 9359, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9360, i16 4917, i16 9361, i16 0, i16 0, i16 0, i16 0, i16 4919, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9362, i16 1091, i16 0, i16 11816, i16 0, i16 11817, i16 6393, i16 6394, i16 0, i16 6396, i16 2440, i16 11818, i16 6395, i16 1191, i16 0, i16 6398, i16 0, i16 6397, i16 6399, i16 0, i16 11819, i16 6401, i16 6403, i16 0, i16 6404, i16 11820, i16 0, i16 0, i16 0, i16 11821, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6188, i16 6187, i16 6118, i16 0, i16 0, i16 0, i16 6192, i16 11497, i16 0, i16 0, i16 0, i16 0, i16 11498, i16 11499, i16 0, i16 11500, i16 6189, i16 11501, i16 0, i16 0, i16 11502, i16 6190, i16 0, i16 0, i16 6191, i16 11503, i16 6193, i16 11504, i16 0, i16 0, i16 0, i16 0, i16 8237, i16 0, i16 8238, i16 8239, i16 0, i16 4188, i16 0, i16 8240, i16 1827, i16 8241, i16 1826, i16 0, i16 8242, i16 0, i16 0, i16 770, i16 1537, i16 8243, i16 2260, i16 794, i16 0, i16 0, i16 0, i16 0, i16 4192, i16 4193, i16 0, i16 4190, i16 8244, i16 8245, i16 8246, i16 0, i16 4912, i16 4937, i16 4936, i16 0, i16 0, i16 9383, i16 0, i16 9385, i16 9384, i16 0, i16 0, i16 9386, i16 0, i16 0, i16 0, i16 9387, i16 4942, i16 0, i16 3665, i16 9388, i16 9389, i16 9390, i16 0, i16 0, i16 0, i16 4945, i16 1400, i16 9391, i16 9392, i16 4941, i16 4943, i16 0, i16 12592, i16 0, i16 6789, i16 12593, i16 12594, i16 6790, i16 12595, i16 6791, i16 12596, i16 12597, i16 6792, i16 12598, i16 12599, i16 12600, i16 0, i16 12601, i16 12602, i16 0, i16 1179, i16 12603, i16 0, i16 0, i16 12604, i16 12605, i16 12606, i16 0, i16 12610, i16 6793, i16 12607, i16 12608, i16 0, i16 0, i16 819, i16 0, i16 12066, i16 12067, i16 12068, i16 0, i16 12069, i16 12070, i16 0, i16 1648, i16 0, i16 12064, i16 0, i16 3685, i16 0, i16 0, i16 0, i16 12079, i16 0, i16 0, i16 12071, i16 0, i16 12072, i16 12073, i16 12074, i16 0, i16 6560, i16 12075, i16 12076, i16 0, i16 12077, i16 0, i16 6451, i16 11911, i16 11912, i16 6454, i16 6453, i16 0, i16 6452, i16 0, i16 11913, i16 6456, i16 6455, i16 0, i16 3463, i16 0, i16 0, i16 11914, i16 6458, i16 11915, i16 6457, i16 6459, i16 11916, i16 0, i16 0, i16 0, i16 6460, i16 11917, i16 11918, i16 0, i16 11919, i16 11920, i16 0, i16 0, i16 1332, i16 9520, i16 0, i16 5017, i16 5022, i16 9521, i16 0, i16 0, i16 2333, i16 2988, i16 0, i16 3072, i16 9522, i16 0, i16 9523, i16 9524, i16 9525, i16 9526, i16 5019, i16 9527, i16 3284, i16 9528, i16 5021, i16 0, i16 5030, i16 9529, i16 5028, i16 9530, i16 5023, i16 0, i16 0, i16 0, i16 6708, i16 12480, i16 0, i16 12481, i16 12482, i16 12483, i16 0, i16 6709, i16 0, i16 1754, i16 0, i16 12484, i16 0, i16 6710, i16 6711, i16 0, i16 12485, i16 3324, i16 12486, i16 0, i16 0, i16 0, i16 12487, i16 12488, i16 12489, i16 12490, i16 2386, i16 12491, i16 12492, i16 0, i16 749, i16 0, i16 12852, i16 0, i16 12853, i16 0, i16 12854, i16 12855, i16 0, i16 12856, i16 0, i16 12857, i16 12858, i16 12859, i16 12860, i16 12861, i16 3664, i16 0, i16 0, i16 0, i16 12862, i16 6929, i16 12863, i16 0, i16 12864, i16 12865, i16 12866, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12867, i16 0, i16 10805, i16 10806, i16 0, i16 0, i16 10807, i16 5742, i16 5750, i16 0, i16 5758, i16 5757, i16 10808, i16 0, i16 3373, i16 10809, i16 10810, i16 1414, i16 0, i16 0, i16 10811, i16 0, i16 0, i16 0, i16 0, i16 10812, i16 5756, i16 0, i16 5760, i16 5759, i16 5763, i16 10813, i16 5765, i16 0, i16 2872, i16 2230, i16 12031, i16 12032, i16 2588, i16 0, i16 1397, i16 0, i16 6536, i16 3494, i16 870, i16 12033, i16 3244, i16 998, i16 6531, i16 6532, i16 6533, i16 6534, i16 2840, i16 2534, i16 812, i16 6538, i16 0, i16 6539, i16 7097, i16 0, i16 12034, i16 2466, i16 12035, i16 6540, i16 0, i16 0, i16 6969, i16 12928, i16 12929, i16 6968, i16 6967, i16 12930, i16 12931, i16 12932, i16 12933, i16 12934, i16 0, i16 0, i16 3136, i16 6965, i16 828, i16 6970, i16 12935, i16 6972, i16 0, i16 0, i16 12936, i16 12937, i16 12938, i16 0, i16 1106, i16 6951, i16 862, i16 0, i16 12939, i16 6974, i16 0, i16 0, i16 9018, i16 4694, i16 4695, i16 0, i16 9019, i16 0, i16 3213, i16 4241, i16 2287, i16 9020, i16 0, i16 3139, i16 0, i16 1741, i16 0, i16 3070, i16 3036, i16 9021, i16 0, i16 0, i16 9022, i16 0, i16 2764, i16 9023, i16 3598, i16 0, i16 4697, i16 1921, i16 9024, i16 0, i16 4698, i16 0, i16 1341, i16 12391, i16 0, i16 6651, i16 6645, i16 12392, i16 12393, i16 6644, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12395, i16 12396, i16 12394, i16 12397, i16 12398, i16 0, i16 12399, i16 0, i16 0, i16 0, i16 6462, i16 11921, i16 0, i16 0, i16 0, i16 0, i16 11922, i16 0, i16 11923, i16 6461, i16 2195, i16 6463, i16 11924, i16 11925, i16 1386, i16 6464, i16 6466, i16 0, i16 11926, i16 0, i16 11927, i16 0, i16 0, i16 0, i16 0, i16 11928, i16 11929, i16 0, i16 0, i16 6467, i16 0, i16 0, i16 10814, i16 1807, i16 5761, i16 0, i16 0, i16 10815, i16 10816, i16 5766, i16 5767, i16 10817, i16 0, i16 5768, i16 10818, i16 5774, i16 2746, i16 5770, i16 10819, i16 5769, i16 5771, i16 5772, i16 10820, i16 5773, i16 0, i16 10821, i16 0, i16 10822, i16 5775, i16 5776, i16 10823, i16 10824, i16 0, i16 0, i16 11328, i16 6096, i16 0, i16 0, i16 0, i16 0, i16 11329, i16 0, i16 11330, i16 0, i16 0, i16 0, i16 3557, i16 0, i16 5430, i16 6098, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11331, i16 0, i16 11332, i16 0, i16 11333, i16 0, i16 11334, i16 11335, i16 0, i16 6099, i16 0, i16 8772, i16 8773, i16 4542, i16 0, i16 8776, i16 4541, i16 8774, i16 0, i16 8775, i16 0, i16 0, i16 8777, i16 8778, i16 0, i16 8779, i16 0, i16 0, i16 2633, i16 0, i16 4545, i16 0, i16 4543, i16 4533, i16 1495, i16 0, i16 4544, i16 0, i16 4548, i16 4547, i16 4549, i16 4546, i16 0, i16 9798, i16 0, i16 0, i16 0, i16 9799, i16 9800, i16 9801, i16 0, i16 3656, i16 9802, i16 9803, i16 5194, i16 0, i16 2338, i16 0, i16 9804, i16 0, i16 9805, i16 0, i16 0, i16 5190, i16 5195, i16 9806, i16 0, i16 915, i16 9807, i16 0, i16 9808, i16 0, i16 9809, i16 0, i16 0, i16 2122, i16 6364, i16 11773, i16 11774, i16 0, i16 11775, i16 0, i16 11776, i16 11777, i16 1666, i16 3724, i16 6365, i16 11778, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11779, i16 0, i16 11780, i16 11781, i16 0, i16 6366, i16 3126, i16 6367, i16 11782, i16 6375, i16 0, i16 11783, i16 0, i16 0, i16 1355, i16 1412, i16 5657, i16 0, i16 0, i16 10668, i16 10669, i16 0, i16 3209, i16 0, i16 2227, i16 0, i16 3393, i16 0, i16 10670, i16 5658, i16 0, i16 3584, i16 0, i16 10671, i16 2991, i16 0, i16 2381, i16 2927, i16 0, i16 0, i16 2012, i16 0, i16 0, i16 10672, i16 777, i16 0, i16 13131, i16 0, i16 13132, i16 13133, i16 13134, i16 13135, i16 13136, i16 0, i16 0, i16 7078, i16 5519, i16 0, i16 0, i16 6400, i16 6795, i16 0, i16 0, i16 7079, i16 13137, i16 7080, i16 13138, i16 13139, i16 13140, i16 13141, i16 0, i16 13142, i16 0, i16 0, i16 13143, i16 13144, i16 7082, i16 0, i16 12365, i16 0, i16 12366, i16 12367, i16 0, i16 12368, i16 1054, i16 12369, i16 12375, i16 0, i16 12370, i16 6638, i16 6639, i16 2660, i16 0, i16 6637, i16 0, i16 0, i16 0, i16 12371, i16 12372, i16 12373, i16 0, i16 0, i16 6641, i16 12374, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1872, i16 4600, i16 8835, i16 8836, i16 0, i16 0, i16 1835, i16 4601, i16 781, i16 8837, i16 8838, i16 4596, i16 8839, i16 0, i16 0, i16 8840, i16 2634, i16 0, i16 8841, i16 0, i16 0, i16 8842, i16 0, i16 8843, i16 1298, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1329, i16 0, i16 1618, i16 1119, i16 0, i16 0, i16 0, i16 0, i16 9199, i16 9198, i16 4803, i16 1111, i16 4809, i16 9200, i16 9201, i16 0, i16 9202, i16 9203, i16 9204, i16 4806, i16 9205, i16 2332, i16 0, i16 0, i16 0, i16 1070, i16 1697, i16 0, i16 9206, i16 1069, i16 1732, i16 0, i16 9207, i16 0, i16 6996, i16 12990, i16 12991, i16 6993, i16 12988, i16 6999, i16 12992, i16 7000, i16 0, i16 12993, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7005, i16 7004, i16 0, i16 12994, i16 12995, i16 0, i16 0, i16 0, i16 0, i16 7006, i16 0, i16 0, i16 852, i16 7001, i16 7002, i16 12996, i16 0, i16 4182, i16 2908, i16 3063, i16 3426, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2912, i16 8220, i16 8221, i16 4191, i16 8222, i16 0, i16 0, i16 0, i16 8223, i16 1239, i16 0, i16 8224, i16 3508, i16 8225, i16 0, i16 3392, i16 0, i16 4286, i16 0, i16 4183, i16 0, i16 8226, i16 0, i16 1880, i16 0, i16 0, i16 0, i16 5494, i16 5489, i16 10378, i16 10379, i16 10380, i16 5495, i16 5490, i16 10381, i16 0, i16 10382, i16 0, i16 3057, i16 5488, i16 10383, i16 10384, i16 5491, i16 10385, i16 10386, i16 0, i16 0, i16 0, i16 5498, i16 10388, i16 0, i16 0, i16 0, i16 10389, i16 0, i16 9560, i16 0, i16 5043, i16 5045, i16 9561, i16 865, i16 9562, i16 0, i16 1623, i16 3677, i16 0, i16 1056, i16 0, i16 3161, i16 9563, i16 9564, i16 0, i16 0, i16 0, i16 3536, i16 0, i16 0, i16 1031, i16 2182, i16 5047, i16 0, i16 0, i16 9565, i16 0, i16 0, i16 0, i16 0, i16 12376, i16 0, i16 6647, i16 12377, i16 12378, i16 12379, i16 12380, i16 6650, i16 12381, i16 12382, i16 12383, i16 12384, i16 12385, i16 0, i16 0, i16 6649, i16 2732, i16 0, i16 12386, i16 0, i16 0, i16 6642, i16 6643, i16 6646, i16 12387, i16 0, i16 0, i16 12388, i16 6648, i16 12389, i16 12390, i16 0, i16 11868, i16 0, i16 0, i16 11869, i16 11870, i16 11871, i16 0, i16 6425, i16 6426, i16 3528, i16 11872, i16 0, i16 0, i16 0, i16 2820, i16 6430, i16 11873, i16 0, i16 0, i16 11874, i16 0, i16 11875, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6428, i16 6429, i16 6431, i16 0, i16 12126, i16 2216, i16 6569, i16 12127, i16 6570, i16 0, i16 12128, i16 0, i16 6571, i16 3550, i16 0, i16 1990, i16 12129, i16 0, i16 0, i16 0, i16 0, i16 6573, i16 6572, i16 12130, i16 1649, i16 0, i16 1674, i16 1811, i16 12131, i16 12132, i16 12133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4703, i16 9033, i16 4701, i16 4704, i16 3590, i16 4702, i16 0, i16 9034, i16 9035, i16 0, i16 2340, i16 4705, i16 0, i16 9036, i16 2455, i16 9037, i16 0, i16 4706, i16 0, i16 9038, i16 0, i16 9039, i16 1211, i16 9040, i16 4708, i16 0, i16 4707, i16 0, i16 0, i16 0, i16 9041, i16 0, i16 11104, i16 11105, i16 5986, i16 0, i16 0, i16 0, i16 0, i16 826, i16 0, i16 0, i16 5977, i16 11106, i16 11107, i16 11108, i16 5976, i16 11109, i16 5971, i16 5970, i16 11110, i16 5968, i16 5967, i16 2598, i16 11111, i16 2528, i16 5973, i16 11112, i16 0, i16 11113, i16 11114, i16 0, i16 0, i16 0, i16 11364, i16 0, i16 6107, i16 2941, i16 0, i16 11365, i16 11366, i16 11367, i16 6108, i16 6109, i16 6119, i16 0, i16 11368, i16 0, i16 6113, i16 6116, i16 11369, i16 0, i16 11370, i16 11371, i16 11372, i16 6112, i16 11373, i16 11374, i16 11375, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11376, i16 0, i16 12134, i16 6576, i16 12135, i16 0, i16 12136, i16 12137, i16 2037, i16 0, i16 6575, i16 12138, i16 6574, i16 0, i16 2510, i16 12139, i16 0, i16 1576, i16 12140, i16 2284, i16 12141, i16 12142, i16 12143, i16 0, i16 3017, i16 12144, i16 0, i16 0, i16 0, i16 1992, i16 0, i16 12145, i16 0, i16 0, i16 4458, i16 8665, i16 4461, i16 4463, i16 0, i16 8666, i16 0, i16 8667, i16 1902, i16 8668, i16 4469, i16 2705, i16 4459, i16 8669, i16 0, i16 0, i16 8670, i16 4467, i16 8671, i16 1022, i16 8672, i16 4465, i16 4466, i16 8673, i16 0, i16 4462, i16 4464, i16 0, i16 8674, i16 8675, i16 1568, i16 0, i16 7018, i16 7024, i16 13030, i16 7017, i16 0, i16 7022, i16 13031, i16 0, i16 13032, i16 13033, i16 0, i16 0, i16 0, i16 0, i16 7023, i16 0, i16 0, i16 0, i16 7026, i16 13034, i16 13035, i16 13036, i16 13037, i16 0, i16 7025, i16 13038, i16 0, i16 0, i16 0, i16 13039, i16 13040, i16 0, i16 10858, i16 10859, i16 5804, i16 1421, i16 0, i16 10860, i16 0, i16 2345, i16 1248, i16 10861, i16 0, i16 0, i16 10862, i16 5808, i16 5805, i16 0, i16 0, i16 5806, i16 0, i16 10863, i16 0, i16 5809, i16 0, i16 5810, i16 5807, i16 0, i16 0, i16 10864, i16 848, i16 0, i16 10865, i16 0, i16 3180, i16 2325, i16 0, i16 1918, i16 4261, i16 2074, i16 4262, i16 4263, i16 796, i16 2463, i16 2205, i16 8379, i16 4264, i16 2832, i16 2075, i16 0, i16 2076, i16 0, i16 4265, i16 0, i16 0, i16 2326, i16 8380, i16 0, i16 0, i16 2077, i16 0, i16 0, i16 0, i16 8381, i16 8382, i16 0, i16 12400, i16 12401, i16 6655, i16 12402, i16 0, i16 0, i16 6656, i16 12403, i16 12404, i16 0, i16 0, i16 0, i16 12405, i16 12406, i16 12407, i16 6657, i16 0, i16 0, i16 6654, i16 6653, i16 12408, i16 12409, i16 12410, i16 2127, i16 2823, i16 6652, i16 0, i16 0, i16 0, i16 0, i16 12411, i16 0, i16 8562, i16 8563, i16 8564, i16 8565, i16 3456, i16 1522, i16 1541, i16 8566, i16 4392, i16 0, i16 8567, i16 8568, i16 4393, i16 8569, i16 4399, i16 8570, i16 1942, i16 0, i16 0, i16 8571, i16 2630, i16 8572, i16 1324, i16 4394, i16 0, i16 0, i16 8573, i16 3106, i16 8574, i16 2569, i16 8575, i16 0, i16 12146, i16 6577, i16 0, i16 2124, i16 0, i16 12147, i16 0, i16 12148, i16 0, i16 6580, i16 6578, i16 12149, i16 12150, i16 12151, i16 6579, i16 12152, i16 12153, i16 12154, i16 12155, i16 6582, i16 6581, i16 12156, i16 0, i16 2151, i16 0, i16 6583, i16 12157, i16 12158, i16 12159, i16 0, i16 12160, i16 0, i16 3960, i16 7810, i16 1256, i16 1065, i16 0, i16 0, i16 0, i16 1662, i16 1255, i16 2688, i16 844, i16 2830, i16 3407, i16 1592, i16 3560, i16 2758, i16 1591, i16 0, i16 7811, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7812, i16 1418, i16 0, i16 3969, i16 0, i16 1376, i16 0, i16 3705, i16 11299, i16 0, i16 0, i16 0, i16 0, i16 11300, i16 0, i16 6080, i16 11301, i16 11302, i16 0, i16 3556, i16 11303, i16 6082, i16 6084, i16 0, i16 0, i16 0, i16 0, i16 6085, i16 0, i16 0, i16 11305, i16 0, i16 11306, i16 0, i16 6088, i16 6086, i16 0, i16 11307, i16 0, i16 10363, i16 0, i16 5484, i16 10367, i16 0, i16 0, i16 3232, i16 10368, i16 2306, i16 5486, i16 0, i16 10369, i16 10370, i16 0, i16 5487, i16 10371, i16 10372, i16 10373, i16 10374, i16 0, i16 5485, i16 0, i16 0, i16 0, i16 0, i16 1073, i16 10375, i16 5493, i16 10376, i16 5492, i16 10377, i16 0, i16 12670, i16 1233, i16 12671, i16 0, i16 12672, i16 12673, i16 12674, i16 0, i16 6823, i16 12675, i16 6824, i16 0, i16 3910, i16 4959, i16 3052, i16 0, i16 0, i16 836, i16 12676, i16 772, i16 0, i16 12677, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1863, i16 3299, i16 2155, i16 0, i16 0, i16 1408, i16 6500, i16 6501, i16 6502, i16 11984, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8328, i16 2139, i16 0, i16 0, i16 8329, i16 0, i16 0, i16 0, i16 0, i16 4225, i16 0, i16 2685, i16 8330, i16 0, i16 0, i16 876, i16 0, i16 4223, i16 0, i16 8324, i16 0, i16 4226, i16 0, i16 8331, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4227, i16 0, i16 0, i16 4489, i16 8720, i16 0, i16 0, i16 0, i16 0, i16 4497, i16 4496, i16 0, i16 8721, i16 8722, i16 4501, i16 0, i16 0, i16 0, i16 8723, i16 8724, i16 0, i16 0, i16 4502, i16 8725, i16 8726, i16 8727, i16 0, i16 8728, i16 0, i16 0, i16 4500, i16 4503, i16 4495, i16 4499, i16 0, i16 8076, i16 2221, i16 8077, i16 0, i16 0, i16 0, i16 0, i16 4104, i16 4107, i16 0, i16 1434, i16 8078, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4108, i16 8079, i16 8088, i16 0, i16 8080, i16 0, i16 8081, i16 8082, i16 0, i16 8083, i16 8084, i16 8085, i16 8086, i16 0, i16 12940, i16 0, i16 12941, i16 12942, i16 12943, i16 6973, i16 6971, i16 2544, i16 12944, i16 12945, i16 0, i16 0, i16 0, i16 12946, i16 12947, i16 12948, i16 0, i16 3363, i16 12949, i16 12950, i16 0, i16 12951, i16 3623, i16 12952, i16 0, i16 6975, i16 12953, i16 12960, i16 12954, i16 12955, i16 12956, i16 0, i16 654, i16 7143, i16 7144, i16 7145, i16 7146, i16 7147, i16 7148, i16 7149, i16 7150, i16 7151, i16 7152, i16 7153, i16 0, i16 7154, i16 7155, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 0, i16 1423, i16 6557, i16 0, i16 6558, i16 12078, i16 0, i16 0, i16 3179, i16 0, i16 0, i16 12081, i16 0, i16 1079, i16 0, i16 12082, i16 12083, i16 0, i16 0, i16 0, i16 12084, i16 3496, i16 12080, i16 1340, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2771, i16 12085, i16 12086, i16 0, i16 10127, i16 5350, i16 0, i16 0, i16 10128, i16 5345, i16 5346, i16 0, i16 5349, i16 5348, i16 3100, i16 0, i16 0, i16 2377, i16 2376, i16 10129, i16 1246, i16 10130, i16 10131, i16 5351, i16 10132, i16 0, i16 0, i16 0, i16 10133, i16 5352, i16 0, i16 10134, i16 5353, i16 0, i16 0, i16 0, i16 11407, i16 0, i16 11408, i16 0, i16 6142, i16 0, i16 0, i16 11409, i16 6143, i16 0, i16 0, i16 0, i16 0, i16 11410, i16 11411, i16 0, i16 11412, i16 11413, i16 0, i16 6138, i16 0, i16 0, i16 6140, i16 0, i16 11414, i16 11415, i16 6141, i16 11416, i16 11417, i16 11418, i16 6139, i16 0, i16 5010, i16 5007, i16 3535, i16 0, i16 9507, i16 9508, i16 9509, i16 2657, i16 9510, i16 0, i16 0, i16 2870, i16 5008, i16 0, i16 0, i16 5016, i16 0, i16 5015, i16 1406, i16 9511, i16 9512, i16 946, i16 9513, i16 9514, i16 1712, i16 5009, i16 5011, i16 9515, i16 0, i16 0, i16 9516, i16 0, i16 8851, i16 8852, i16 8853, i16 8854, i16 0, i16 8855, i16 0, i16 0, i16 2447, i16 8856, i16 8857, i16 1790, i16 4606, i16 8858, i16 4608, i16 4604, i16 0, i16 8859, i16 8860, i16 8861, i16 3254, i16 0, i16 2654, i16 8862, i16 0, i16 0, i16 8863, i16 2403, i16 0, i16 0, i16 0, i16 0, i16 11163, i16 0, i16 6002, i16 2839, i16 0, i16 11164, i16 6007, i16 0, i16 0, i16 11165, i16 6004, i16 3291, i16 6010, i16 809, i16 11166, i16 0, i16 11167, i16 0, i16 5998, i16 0, i16 11168, i16 0, i16 0, i16 0, i16 11169, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3228, i16 2651, i16 1687, i16 0, i16 1655, i16 2038, i16 12619, i16 2215, i16 0, i16 12620, i16 0, i16 6801, i16 12622, i16 12623, i16 6800, i16 3505, i16 1193, i16 3051, i16 2873, i16 12624, i16 0, i16 12625, i16 2247, i16 3611, i16 12621, i16 1462, i16 0, i16 12626, i16 0, i16 12627, i16 0, i16 0, i16 4765, i16 0, i16 0, i16 0, i16 9146, i16 4768, i16 9147, i16 9148, i16 2244, i16 0, i16 0, i16 9149, i16 0, i16 3562, i16 786, i16 1749, i16 2465, i16 0, i16 1934, i16 9150, i16 9151, i16 2144, i16 0, i16 0, i16 4771, i16 0, i16 0, i16 2765, i16 9152, i16 4769, i16 2448, i16 0, i16 3230, i16 8167, i16 0, i16 8165, i16 4143, i16 0, i16 2568, i16 8168, i16 0, i16 1018, i16 0, i16 2138, i16 8169, i16 8170, i16 0, i16 8171, i16 4145, i16 8172, i16 4144, i16 8173, i16 1663, i16 8174, i16 4146, i16 4148, i16 4147, i16 8175, i16 0, i16 4150, i16 8176, i16 4139, i16 4152, i16 0, i16 6046, i16 0, i16 0, i16 0, i16 0, i16 11204, i16 0, i16 11205, i16 11206, i16 11207, i16 0, i16 0, i16 6024, i16 0, i16 11208, i16 0, i16 11209, i16 1114, i16 0, i16 11210, i16 0, i16 0, i16 0, i16 2149, i16 6035, i16 11211, i16 6040, i16 2426, i16 11212, i16 11213, i16 6036, i16 0, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 0, i16 6047, i16 11241, i16 11242, i16 11243, i16 11244, i16 2678, i16 11245, i16 0, i16 0, i16 11246, i16 11247, i16 6052, i16 839, i16 0, i16 11248, i16 0, i16 0, i16 11229, i16 11249, i16 11250, i16 2439, i16 11251, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3224, i16 0, i16 11252, i16 0, i16 9892, i16 1333, i16 5243, i16 5245, i16 0, i16 5244, i16 9893, i16 0, i16 9894, i16 0, i16 0, i16 9895, i16 0, i16 5246, i16 0, i16 1546, i16 0, i16 5247, i16 0, i16 0, i16 9896, i16 9897, i16 1382, i16 9898, i16 2375, i16 0, i16 1684, i16 0, i16 0, i16 0, i16 9899, i16 0, i16 10918, i16 0, i16 0, i16 5849, i16 5851, i16 5850, i16 3006, i16 10919, i16 2902, i16 0, i16 3689, i16 3010, i16 0, i16 10920, i16 0, i16 0, i16 0, i16 0, i16 5853, i16 0, i16 0, i16 2112, i16 0, i16 3105, i16 0, i16 5854, i16 5852, i16 10921, i16 1167, i16 10922, i16 0, i16 0, i16 7848, i16 3986, i16 0, i16 3995, i16 3988, i16 7849, i16 7850, i16 3992, i16 7851, i16 7852, i16 3993, i16 3989, i16 7853, i16 7854, i16 4022, i16 0, i16 7855, i16 1758, i16 1044, i16 0, i16 0, i16 0, i16 7856, i16 3987, i16 7857, i16 7858, i16 7859, i16 3997, i16 831, i16 3996, i16 7860, i16 0, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 458, i16 459, i16 460, i16 461, i16 0, i16 3248, i16 8554, i16 4385, i16 3673, i16 0, i16 8555, i16 8556, i16 8557, i16 4386, i16 3221, i16 4389, i16 3711, i16 3727, i16 8558, i16 1889, i16 2898, i16 4390, i16 0, i16 1276, i16 2629, i16 835, i16 4391, i16 3195, i16 1607, i16 8559, i16 0, i16 2579, i16 8560, i16 8561, i16 0, i16 2704, i16 0, i16 3000, i16 0, i16 12729, i16 2481, i16 895, i16 1387, i16 0, i16 1388, i16 12730, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2614, i16 6858, i16 1389, i16 12731, i16 12732, i16 1012, i16 0, i16 0, i16 6857, i16 12733, i16 12734, i16 6855, i16 12735, i16 6856, i16 12736, i16 6854, i16 0, i16 3513, i16 4657, i16 0, i16 8965, i16 4653, i16 0, i16 4654, i16 0, i16 8966, i16 8967, i16 8968, i16 8969, i16 2407, i16 8970, i16 0, i16 8971, i16 8972, i16 4652, i16 0, i16 4587, i16 8973, i16 0, i16 8974, i16 4656, i16 0, i16 4651, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6334, i16 11726, i16 11727, i16 11728, i16 11729, i16 11730, i16 0, i16 11731, i16 6338, i16 0, i16 0, i16 6335, i16 11736, i16 6337, i16 6336, i16 0, i16 0, i16 11732, i16 11733, i16 11734, i16 0, i16 6339, i16 0, i16 1890, i16 11735, i16 6341, i16 6340, i16 3167, i16 0, i16 11737, i16 6343, i16 0, i16 11198, i16 6026, i16 0, i16 6021, i16 11199, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2114, i16 0, i16 0, i16 0, i16 0, i16 1982, i16 0, i16 11200, i16 11201, i16 1885, i16 11202, i16 0, i16 0, i16 0, i16 3433, i16 0, i16 0, i16 3134, i16 0, i16 11203, i16 6037, i16 0, i16 6591, i16 0, i16 2689, i16 12170, i16 12171, i16 3336, i16 1401, i16 0, i16 12172, i16 12173, i16 0, i16 12174, i16 12175, i16 12176, i16 12177, i16 12178, i16 12179, i16 0, i16 0, i16 0, i16 6594, i16 6595, i16 12180, i16 0, i16 12181, i16 0, i16 12182, i16 6593, i16 12183, i16 0, i16 6597, i16 0, i16 3009, i16 4355, i16 3219, i16 4356, i16 0, i16 0, i16 0, i16 8521, i16 0, i16 8522, i16 8523, i16 8524, i16 8525, i16 8526, i16 0, i16 8527, i16 0, i16 1140, i16 3220, i16 2922, i16 4358, i16 4359, i16 0, i16 1603, i16 1141, i16 4360, i16 1521, i16 3507, i16 3480, i16 1207, i16 4362, i16 0, i16 3526, i16 0, i16 6257, i16 0, i16 0, i16 3193, i16 2945, i16 6258, i16 11600, i16 6259, i16 1508, i16 0, i16 11601, i16 0, i16 1227, i16 11602, i16 0, i16 0, i16 6260, i16 11603, i16 11604, i16 1854, i16 2940, i16 6261, i16 0, i16 1075, i16 11605, i16 11606, i16 0, i16 0, i16 11607, i16 0, i16 3783, i16 7516, i16 3268, i16 2576, i16 3779, i16 1484, i16 7517, i16 3776, i16 3784, i16 3778, i16 3614, i16 3785, i16 3692, i16 7518, i16 0, i16 7519, i16 0, i16 7520, i16 7521, i16 0, i16 7522, i16 1379, i16 0, i16 0, i16 1483, i16 0, i16 7546, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9159, i16 0, i16 0, i16 9160, i16 4783, i16 0, i16 3091, i16 0, i16 4774, i16 0, i16 4780, i16 4779, i16 0, i16 9161, i16 9162, i16 2296, i16 9163, i16 0, i16 9164, i16 0, i16 3360, i16 9165, i16 3616, i16 9166, i16 9167, i16 3354, i16 9168, i16 977, i16 1841, i16 0, i16 0, i16 0, i16 7112, i16 302, i16 303, i16 7120, i16 0, i16 7113, i16 309, i16 236, i16 7117, i16 7116, i16 0, i16 340, i16 0, i16 7118, i16 7106, i16 296, i16 283, i16 0, i16 0, i16 234, i16 0, i16 367, i16 0, i16 7103, i16 0, i16 7115, i16 0, i16 0, i16 0, i16 0, i16 7114, i16 0, i16 8138, i16 4127, i16 0, i16 8139, i16 0, i16 0, i16 8140, i16 8141, i16 925, i16 0, i16 2741, i16 0, i16 0, i16 0, i16 0, i16 4129, i16 0, i16 4125, i16 0, i16 0, i16 2203, i16 0, i16 0, i16 8142, i16 4133, i16 0, i16 0, i16 8143, i16 0, i16 2013, i16 8144, i16 0, i16 972, i16 4211, i16 0, i16 8307, i16 0, i16 8308, i16 0, i16 8309, i16 1900, i16 0, i16 4210, i16 1492, i16 0, i16 0, i16 8310, i16 4224, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4217, i16 4214, i16 0, i16 0, i16 8311, i16 0, i16 8312, i16 0, i16 0, i16 0, i16 0, i16 6865, i16 12747, i16 12748, i16 12749, i16 6867, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12750, i16 12751, i16 0, i16 1234, i16 6866, i16 12752, i16 12753, i16 2434, i16 1516, i16 0, i16 0, i16 12754, i16 0, i16 0, i16 6869, i16 0, i16 0, i16 0, i16 0, i16 12755, i16 0, i16 0, i16 10449, i16 0, i16 0, i16 0, i16 0, i16 1305, i16 5518, i16 10450, i16 10451, i16 5520, i16 10452, i16 0, i16 0, i16 5521, i16 10453, i16 2916, i16 10454, i16 0, i16 5522, i16 10455, i16 0, i16 0, i16 0, i16 10456, i16 5523, i16 5524, i16 10457, i16 0, i16 1366, i16 984, i16 2850, i16 0, i16 9683, i16 9684, i16 0, i16 2032, i16 0, i16 5139, i16 0, i16 9685, i16 0, i16 0, i16 0, i16 9686, i16 5132, i16 2637, i16 5129, i16 2682, i16 0, i16 0, i16 0, i16 5164, i16 0, i16 0, i16 0, i16 5126, i16 0, i16 5125, i16 0, i16 5134, i16 9687, i16 9688, i16 0, i16 0, i16 12499, i16 840, i16 2211, i16 2059, i16 1178, i16 6721, i16 0, i16 0, i16 0, i16 2977, i16 0, i16 6723, i16 0, i16 12500, i16 0, i16 841, i16 0, i16 6722, i16 2661, i16 12501, i16 3610, i16 2824, i16 6716, i16 3571, i16 0, i16 1514, i16 12502, i16 12503, i16 3530, i16 12504, i16 12505, i16 0, i16 6357, i16 0, i16 0, i16 0, i16 11760, i16 2819, i16 11761, i16 6359, i16 11762, i16 3296, i16 11763, i16 6360, i16 0, i16 6361, i16 11764, i16 6362, i16 11765, i16 0, i16 11766, i16 11767, i16 6363, i16 0, i16 11768, i16 11769, i16 11772, i16 2871, i16 11770, i16 0, i16 11771, i16 0, i16 0, i16 0, i16 11480, i16 0, i16 11481, i16 0, i16 6158, i16 11482, i16 0, i16 0, i16 11483, i16 11484, i16 11485, i16 0, i16 6178, i16 6182, i16 6177, i16 11486, i16 6184, i16 11488, i16 11489, i16 11490, i16 6186, i16 6185, i16 0, i16 11491, i16 11487, i16 11492, i16 11493, i16 11494, i16 0, i16 11495, i16 11496, i16 0, i16 12506, i16 12507, i16 12508, i16 12509, i16 1398, i16 3585, i16 0, i16 1411, i16 12510, i16 2503, i16 5873, i16 0, i16 6724, i16 1039, i16 2234, i16 0, i16 12511, i16 0, i16 0, i16 1081, i16 6726, i16 12512, i16 6727, i16 6725, i16 1471, i16 12513, i16 1746, i16 2128, i16 12514, i16 0, i16 12515, i16 0, i16 3548, i16 773, i16 5703, i16 0, i16 10730, i16 1290, i16 10731, i16 5700, i16 0, i16 10732, i16 0, i16 0, i16 0, i16 5701, i16 0, i16 10733, i16 2812, i16 5699, i16 5696, i16 0, i16 1035, i16 2317, i16 0, i16 10734, i16 1505, i16 10735, i16 10736, i16 0, i16 5708, i16 0, i16 10737, i16 0, i16 13021, i16 0, i16 0, i16 7014, i16 0, i16 0, i16 0, i16 0, i16 7015, i16 13022, i16 7010, i16 13023, i16 0, i16 13024, i16 6990, i16 0, i16 13025, i16 7016, i16 0, i16 2690, i16 13026, i16 0, i16 0, i16 7020, i16 13027, i16 7021, i16 7019, i16 13028, i16 0, i16 0, i16 13029, i16 0, i16 9187, i16 4794, i16 0, i16 4791, i16 0, i16 9188, i16 4799, i16 0, i16 4789, i16 0, i16 0, i16 4787, i16 0, i16 4795, i16 4785, i16 9189, i16 2607, i16 9190, i16 3465, i16 1911, i16 1769, i16 9191, i16 9192, i16 0, i16 9176, i16 0, i16 1711, i16 0, i16 0, i16 3362, i16 1060, i16 0, i16 3044, i16 0, i16 5746, i16 10797, i16 10798, i16 5741, i16 10799, i16 0, i16 0, i16 2344, i16 1453, i16 0, i16 1978, i16 10800, i16 0, i16 10801, i16 0, i16 10802, i16 0, i16 2160, i16 2365, i16 5752, i16 0, i16 10803, i16 5754, i16 5755, i16 0, i16 0, i16 5751, i16 5753, i16 10804, i16 0, i16 231, i16 0, i16 305, i16 301, i16 304, i16 306, i16 0, i16 263, i16 264, i16 307, i16 281, i16 225, i16 0, i16 226, i16 252, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 228, i16 229, i16 288, i16 286, i16 289, i16 230, i16 0, i16 3568, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11549, i16 6229, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11550, i16 11551, i16 11552, i16 6230, i16 2117, i16 6228, i16 11553, i16 0, i16 11554, i16 3542, i16 6225, i16 0, i16 0, i16 6227, i16 2278, i16 2249, i16 0, i16 0, i16 3824, i16 0, i16 7611, i16 0, i16 0, i16 0, i16 7612, i16 7613, i16 0, i16 3476, i16 0, i16 7614, i16 7615, i16 0, i16 7616, i16 0, i16 7617, i16 3434, i16 7618, i16 7619, i16 7620, i16 0, i16 3826, i16 7621, i16 7622, i16 3825, i16 3828, i16 3827, i16 0, i16 0, i16 3829, i16 0, i16 8177, i16 8178, i16 0, i16 4151, i16 4149, i16 0, i16 0, i16 0, i16 8179, i16 0, i16 1825, i16 2204, i16 0, i16 2395, i16 4153, i16 2277, i16 822, i16 2975, i16 8180, i16 0, i16 0, i16 0, i16 2684, i16 0, i16 4155, i16 4154, i16 4156, i16 4157, i16 4158, i16 0, i16 0, i16 0, i16 7922, i16 0, i16 7923, i16 4038, i16 4036, i16 7924, i16 4093, i16 0, i16 7925, i16 0, i16 7926, i16 7927, i16 0, i16 7928, i16 0, i16 0, i16 7929, i16 7930, i16 7931, i16 4041, i16 0, i16 0, i16 7932, i16 7933, i16 0, i16 4035, i16 7934, i16 4039, i16 0, i16 7935, i16 4037, i16 0, i16 8434, i16 0, i16 0, i16 0, i16 0, i16 8435, i16 2237, i16 0, i16 0, i16 0, i16 4302, i16 0, i16 8436, i16 1759, i16 0, i16 0, i16 4308, i16 8437, i16 0, i16 4309, i16 4303, i16 1046, i16 4304, i16 4313, i16 4312, i16 4311, i16 4307, i16 0, i16 0, i16 0, i16 4306, i16 0, i16 10738, i16 10739, i16 10740, i16 0, i16 10741, i16 10742, i16 0, i16 10743, i16 5705, i16 0, i16 10744, i16 10745, i16 10746, i16 0, i16 5707, i16 0, i16 10747, i16 0, i16 5704, i16 0, i16 0, i16 10748, i16 10749, i16 0, i16 1452, i16 2456, i16 5709, i16 2421, i16 10750, i16 10751, i16 5722, i16 0, i16 10227, i16 5421, i16 2961, i16 0, i16 10228, i16 3346, i16 0, i16 885, i16 10229, i16 894, i16 10230, i16 10231, i16 5422, i16 10232, i16 0, i16 0, i16 0, i16 5424, i16 0, i16 10233, i16 0, i16 5423, i16 2799, i16 0, i16 10234, i16 0, i16 2274, i16 4957, i16 0, i16 5425, i16 3410, i16 0, i16 9460, i16 0, i16 9461, i16 0, i16 0, i16 9462, i16 9463, i16 0, i16 0, i16 0, i16 4993, i16 4992, i16 0, i16 9464, i16 4995, i16 0, i16 9465, i16 0, i16 4994, i16 0, i16 0, i16 0, i16 9466, i16 0, i16 9467, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9468, i16 0, i16 5109, i16 0, i16 0, i16 0, i16 1156, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9674, i16 0, i16 9675, i16 9676, i16 9677, i16 1476, i16 0, i16 0, i16 9678, i16 5135, i16 9679, i16 9680, i16 5130, i16 2337, i16 9681, i16 9682, i16 1094, i16 0, i16 4855, i16 4834, i16 4854, i16 0, i16 4847, i16 4835, i16 0, i16 4851, i16 0, i16 4852, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4869, i16 9275, i16 0, i16 9276, i16 2859, i16 9277, i16 4842, i16 0, i16 9278, i16 4865, i16 0, i16 9279, i16 0, i16 4867, i16 0, i16 2681, i16 0, i16 3579, i16 0, i16 0, i16 2145, i16 2334, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9557, i16 0, i16 5048, i16 5046, i16 0, i16 3140, i16 0, i16 9558, i16 9559, i16 0, i16 8956, i16 0, i16 8957, i16 2736, i16 4647, i16 8958, i16 0, i16 8959, i16 4648, i16 0, i16 3174, i16 8960, i16 2944, i16 1782, i16 0, i16 2330, i16 0, i16 3331, i16 8961, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1068, i16 0, i16 4655, i16 4650, i16 8962, i16 8963, i16 8964, i16 0, i16 8190, i16 3397, i16 8191, i16 8192, i16 4164, i16 0, i16 2508, i16 8193, i16 2742, i16 2469, i16 3150, i16 4165, i16 4166, i16 930, i16 8194, i16 8195, i16 1899, i16 4167, i16 8196, i16 0, i16 8197, i16 8198, i16 793, i16 4168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4169, i16 8199, i16 0, i16 12543, i16 12544, i16 12545, i16 6755, i16 0, i16 0, i16 3401, i16 12546, i16 0, i16 6756, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6757, i16 12547, i16 3669, i16 12548, i16 0, i16 0, i16 0, i16 0, i16 4761, i16 6758, i16 0, i16 0, i16 0, i16 6759, i16 6760, i16 0, i16 11520, i16 1644, i16 6199, i16 810, i16 11521, i16 0, i16 0, i16 0, i16 3124, i16 11522, i16 0, i16 6200, i16 0, i16 0, i16 0, i16 0, i16 2229, i16 11523, i16 6207, i16 0, i16 0, i16 6204, i16 0, i16 2610, i16 0, i16 11524, i16 0, i16 11525, i16 0, i16 6205, i16 6202, i16 1371, i16 5889, i16 0, i16 10986, i16 5892, i16 5891, i16 0, i16 0, i16 0, i16 3319, i16 5895, i16 0, i16 0, i16 0, i16 0, i16 10987, i16 0, i16 5896, i16 0, i16 10988, i16 2366, i16 10989, i16 5897, i16 0, i16 0, i16 5899, i16 0, i16 5903, i16 10990, i16 0, i16 5900, i16 5898, i16 2938, i16 6145, i16 11425, i16 0, i16 6156, i16 11426, i16 11427, i16 993, i16 0, i16 6152, i16 0, i16 6157, i16 0, i16 0, i16 0, i16 6153, i16 11428, i16 0, i16 11429, i16 11430, i16 0, i16 6150, i16 0, i16 2644, i16 0, i16 6147, i16 0, i16 0, i16 11431, i16 0, i16 0, i16 0, i16 2979, i16 11265, i16 11266, i16 11267, i16 6058, i16 11268, i16 0, i16 0, i16 0, i16 3706, i16 2815, i16 3178, i16 11269, i16 0, i16 6071, i16 0, i16 11270, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6077, i16 0, i16 11271, i16 11272, i16 11273, i16 0, i16 11274, i16 6078, i16 11275, i16 12802, i16 0, i16 6898, i16 6899, i16 12803, i16 12804, i16 6900, i16 12805, i16 0, i16 12806, i16 3018, i16 6902, i16 12807, i16 3101, i16 6903, i16 6901, i16 0, i16 6905, i16 12808, i16 12809, i16 6904, i16 12810, i16 0, i16 6906, i16 0, i16 12811, i16 12812, i16 6907, i16 0, i16 12813, i16 0, i16 12814, i16 4611, i16 0, i16 8875, i16 2404, i16 8876, i16 0, i16 0, i16 8877, i16 1961, i16 4616, i16 8878, i16 0, i16 2085, i16 0, i16 4610, i16 4615, i16 8879, i16 0, i16 2958, i16 0, i16 8880, i16 8881, i16 4609, i16 0, i16 1404, i16 8882, i16 8883, i16 1088, i16 0, i16 0, i16 8884, i16 4617, i16 4100, i16 0, i16 1753, i16 0, i16 0, i16 8052, i16 8053, i16 1358, i16 0, i16 0, i16 3306, i16 0, i16 8054, i16 8055, i16 4098, i16 4101, i16 1718, i16 1594, i16 8056, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9732, i16 0, i16 0, i16 9733, i16 0, i16 0, i16 2616, i16 2514, i16 0, i16 0, i16 0, i16 0, i16 2254, i16 0, i16 0, i16 9734, i16 5168, i16 0, i16 5170, i16 0, i16 9735, i16 0, i16 0, i16 9736, i16 0, i16 9737, i16 0, i16 0, i16 9738, i16 0, i16 5169, i16 0, i16 10244, i16 2103, i16 0, i16 0, i16 5434, i16 0, i16 10245, i16 5433, i16 5432, i16 3094, i16 10246, i16 1160, i16 1506, i16 0, i16 10247, i16 0, i16 0, i16 0, i16 10248, i16 0, i16 10249, i16 10250, i16 0, i16 10251, i16 0, i16 10252, i16 10253, i16 5440, i16 10254, i16 0, i16 5437, i16 2186, i16 7429, i16 0, i16 0, i16 7447, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3758, i16 7448, i16 0, i16 7449, i16 0, i16 7450, i16 3761, i16 3759, i16 7451, i16 0, i16 967, i16 0, i16 3216, i16 3753, i16 7452, i16 7453, i16 7454, i16 7455, i16 3757, i16 1580, i16 7456, i16 7457, i16 1819, i16 12293, i16 12294, i16 0, i16 12295, i16 2058, i16 12296, i16 0, i16 12297, i16 12298, i16 6620, i16 3252, i16 0, i16 12299, i16 891, i16 12300, i16 0, i16 12301, i16 0, i16 3133, i16 2613, i16 0, i16 0, i16 0, i16 0, i16 1303, i16 12302, i16 6622, i16 12303, i16 1652, i16 0, i16 0, i16 12304, i16 7686, i16 7687, i16 0, i16 1488, i16 1747, i16 2984, i16 7688, i16 0, i16 0, i16 3888, i16 3886, i16 0, i16 0, i16 0, i16 7689, i16 3186, i16 2135, i16 3895, i16 1095, i16 3889, i16 3887, i16 2390, i16 0, i16 7690, i16 7691, i16 7692, i16 0, i16 0, i16 0, i16 3891, i16 0, i16 3890, i16 11526, i16 6201, i16 6208, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1425, i16 0, i16 0, i16 2499, i16 0, i16 6214, i16 0, i16 0, i16 0, i16 0, i16 6210, i16 0, i16 0, i16 0, i16 2458, i16 6209, i16 11527, i16 6212, i16 11528, i16 11529, i16 11530, i16 0, i16 6203, i16 11531, i16 4103, i16 0, i16 0, i16 4114, i16 0, i16 0, i16 4115, i16 8095, i16 8096, i16 0, i16 0, i16 3351, i16 8097, i16 0, i16 2136, i16 8098, i16 0, i16 0, i16 4117, i16 4118, i16 4116, i16 8099, i16 4120, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2931, i16 8100, i16 8101, i16 817, i16 5383, i16 5384, i16 5385, i16 10177, i16 5386, i16 10178, i16 10179, i16 5382, i16 0, i16 10180, i16 0, i16 0, i16 0, i16 10181, i16 0, i16 0, i16 5388, i16 0, i16 10182, i16 10183, i16 5387, i16 10184, i16 0, i16 0, i16 10185, i16 10186, i16 10187, i16 5389, i16 10188, i16 0, i16 0, i16 0, i16 11015, i16 5917, i16 5918, i16 11016, i16 0, i16 5919, i16 0, i16 5920, i16 1338, i16 4660, i16 5921, i16 0, i16 2318, i16 5922, i16 1916, i16 11017, i16 5923, i16 0, i16 3726, i16 11018, i16 11019, i16 0, i16 5924, i16 3251, i16 1181, i16 11020, i16 11021, i16 2347, i16 2023, i16 11022, i16 3176, i16 1981, i16 5128, i16 5127, i16 5133, i16 9689, i16 2250, i16 0, i16 5124, i16 9690, i16 9691, i16 0, i16 0, i16 9692, i16 9693, i16 9694, i16 5136, i16 0, i16 9695, i16 5137, i16 9696, i16 9697, i16 9698, i16 0, i16 9699, i16 1155, i16 0, i16 0, i16 9700, i16 0, i16 0, i16 0, i16 0, i16 9701, i16 8457, i16 8458, i16 8459, i16 0, i16 8460, i16 0, i16 0, i16 0, i16 0, i16 2238, i16 8461, i16 0, i16 4318, i16 8462, i16 0, i16 1708, i16 8463, i16 0, i16 0, i16 4319, i16 0, i16 0, i16 4320, i16 0, i16 0, i16 8464, i16 8465, i16 0, i16 0, i16 0, i16 8466, i16 8467, i16 2314, i16 5617, i16 10602, i16 0, i16 3048, i16 10603, i16 5621, i16 3240, i16 10604, i16 2590, i16 10605, i16 5616, i16 5618, i16 0, i16 0, i16 5619, i16 0, i16 0, i16 0, i16 0, i16 10606, i16 0, i16 10607, i16 10608, i16 0, i16 10609, i16 10610, i16 10611, i16 0, i16 5622, i16 0, i16 0, i16 13066, i16 7038, i16 13067, i16 13068, i16 13069, i16 13070, i16 0, i16 13071, i16 7039, i16 0, i16 0, i16 7040, i16 7041, i16 0, i16 13072, i16 13073, i16 0, i16 7044, i16 7042, i16 3687, i16 0, i16 7043, i16 13074, i16 3644, i16 13075, i16 0, i16 0, i16 13076, i16 0, i16 7045, i16 13077, i16 3624, i16 4363, i16 0, i16 8531, i16 0, i16 8532, i16 8533, i16 2776, i16 1719, i16 8534, i16 0, i16 8535, i16 1540, i16 8536, i16 2702, i16 0, i16 0, i16 0, i16 8537, i16 0, i16 8538, i16 0, i16 780, i16 2045, i16 1606, i16 3510, i16 0, i16 0, i16 0, i16 0, i16 8539, i16 8540, i16 8541, i16 6667, i16 12430, i16 6668, i16 12431, i16 0, i16 0, i16 0, i16 0, i16 12432, i16 0, i16 6670, i16 12433, i16 0, i16 12434, i16 12435, i16 12436, i16 6672, i16 12437, i16 12438, i16 0, i16 0, i16 6673, i16 0, i16 6674, i16 0, i16 0, i16 0, i16 0, i16 6677, i16 6675, i16 6678, i16 6680, i16 2572, i16 9363, i16 0, i16 9364, i16 4930, i16 0, i16 9365, i16 9366, i16 0, i16 9367, i16 0, i16 9368, i16 0, i16 4928, i16 1570, i16 0, i16 4927, i16 9369, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4933, i16 0, i16 0, i16 0, i16 9370, i16 4800, i16 9371, i16 9372, i16 9373, i16 3340, i16 0, i16 2831, i16 8114, i16 8115, i16 1491, i16 2484, i16 0, i16 8116, i16 8117, i16 4119, i16 4122, i16 8119, i16 8120, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2473, i16 0, i16 0, i16 0, i16 4123, i16 0, i16 8121, i16 0, i16 4124, i16 8122, i16 8123, i16 7436, i16 0, i16 7437, i16 2674, i16 0, i16 0, i16 2533, i16 3752, i16 7438, i16 7439, i16 0, i16 7440, i16 7441, i16 789, i16 2692, i16 1994, i16 1705, i16 3475, i16 7442, i16 2483, i16 7443, i16 964, i16 7444, i16 3751, i16 7445, i16 3501, i16 3747, i16 3749, i16 1763, i16 3750, i16 4184, i16 7446, i16 11532, i16 0, i16 6213, i16 0, i16 6215, i16 0, i16 0, i16 0, i16 11533, i16 0, i16 11534, i16 3080, i16 0, i16 0, i16 6211, i16 0, i16 6216, i16 6218, i16 0, i16 0, i16 1548, i16 6206, i16 0, i16 778, i16 0, i16 0, i16 11535, i16 0, i16 0, i16 11536, i16 11537, i16 6217, i16 4109, i16 8087, i16 1595, i16 1059, i16 4111, i16 0, i16 0, i16 8089, i16 8090, i16 8091, i16 4112, i16 0, i16 8092, i16 0, i16 0, i16 0, i16 4113, i16 0, i16 0, i16 4110, i16 0, i16 0, i16 0, i16 0, i16 8093, i16 0, i16 0, i16 0, i16 0, i16 8094, i16 0, i16 0, i16 5901, i16 0, i16 5902, i16 10992, i16 0, i16 10993, i16 951, i16 0, i16 5909, i16 5904, i16 10994, i16 10991, i16 0, i16 5905, i16 10995, i16 10996, i16 0, i16 5906, i16 0, i16 2438, i16 0, i16 10997, i16 0, i16 10998, i16 5908, i16 5907, i16 5910, i16 10999, i16 0, i16 11000, i16 11001, i16 5911, i16 7693, i16 0, i16 7694, i16 1063, i16 0, i16 7695, i16 0, i16 1467, i16 3896, i16 3578, i16 7696, i16 0, i16 7697, i16 3892, i16 0, i16 0, i16 0, i16 3897, i16 3894, i16 7698, i16 3893, i16 7699, i16 7700, i16 7701, i16 7702, i16 0, i16 7703, i16 3612, i16 7704, i16 0, i16 0, i16 1586, i16 10510, i16 5545, i16 5546, i16 2148, i16 0, i16 10511, i16 0, i16 10512, i16 0, i16 5547, i16 10513, i16 1074, i16 0, i16 10514, i16 0, i16 0, i16 5549, i16 0, i16 0, i16 0, i16 1477, i16 10515, i16 1285, i16 0, i16 10516, i16 5550, i16 1394, i16 0, i16 0, i16 5551, i16 10517, i16 2341, i16 2063, i16 1318, i16 0, i16 3924, i16 0, i16 7751, i16 0, i16 7752, i16 7753, i16 7754, i16 3060, i16 7755, i16 7756, i16 7757, i16 0, i16 3925, i16 7758, i16 3926, i16 7759, i16 3927, i16 0, i16 7760, i16 0, i16 0, i16 3928, i16 3099, i16 1381, i16 814, i16 7761, i16 7762, i16 7763, i16 2844, i16 4623, i16 8891, i16 0, i16 2460, i16 4629, i16 8892, i16 4624, i16 0, i16 8893, i16 4626, i16 0, i16 0, i16 0, i16 0, i16 8894, i16 3128, i16 2708, i16 8895, i16 4627, i16 8896, i16 8897, i16 8898, i16 3483, i16 0, i16 0, i16 0, i16 3511, i16 1146, i16 8899, i16 0, i16 0, i16 0, i16 12815, i16 12816, i16 12817, i16 12818, i16 12819, i16 12820, i16 6908, i16 0, i16 12821, i16 12822, i16 0, i16 12823, i16 12824, i16 12825, i16 12826, i16 0, i16 12827, i16 0, i16 12828, i16 0, i16 0, i16 0, i16 12829, i16 0, i16 6909, i16 12830, i16 6910, i16 12831, i16 12832, i16 0, i16 0, i16 6911, i16 5648, i16 0, i16 0, i16 5645, i16 0, i16 0, i16 10645, i16 0, i16 0, i16 0, i16 10646, i16 0, i16 5644, i16 2299, i16 0, i16 5647, i16 5649, i16 10648, i16 10649, i16 10650, i16 5646, i16 10647, i16 5653, i16 0, i16 5650, i16 10651, i16 10652, i16 10653, i16 10654, i16 10655, i16 10656, i16 5651, i16 10000, i16 10001, i16 0, i16 1284, i16 10002, i16 5284, i16 3564, i16 10003, i16 0, i16 3581, i16 10004, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10005, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10006, i16 10007, i16 0, i16 0, i16 0, i16 0, i16 1297, i16 1067, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8830, i16 0, i16 1098, i16 2156, i16 4597, i16 4602, i16 0, i16 4598, i16 8831, i16 1496, i16 8832, i16 4603, i16 1781, i16 1664, i16 0, i16 0, i16 0, i16 0, i16 8833, i16 8834, i16 1973, i16 4585, i16 10769, i16 918, i16 0, i16 0, i16 2889, i16 5731, i16 0, i16 0, i16 10781, i16 5738, i16 5732, i16 5739, i16 0, i16 0, i16 0, i16 0, i16 10782, i16 10783, i16 5735, i16 0, i16 0, i16 10784, i16 0, i16 10785, i16 0, i16 0, i16 0, i16 2998, i16 10786, i16 10787, i16 1915, i16 5737, i16 12305, i16 0, i16 12306, i16 0, i16 0, i16 0, i16 1791, i16 0, i16 12307, i16 0, i16 0, i16 0, i16 0, i16 12308, i16 0, i16 6621, i16 2232, i16 12309, i16 0, i16 0, i16 12310, i16 12311, i16 0, i16 0, i16 2233, i16 6625, i16 6627, i16 0, i16 12312, i16 12313, i16 12314, i16 12315, i16 11538, i16 1744, i16 3651, i16 6219, i16 6220, i16 2428, i16 0, i16 0, i16 0, i16 0, i16 11539, i16 11540, i16 11541, i16 11542, i16 11543, i16 3567, i16 0, i16 11544, i16 11545, i16 11546, i16 6221, i16 3492, i16 0, i16 0, i16 6222, i16 6223, i16 0, i16 11547, i16 3257, i16 6224, i16 11548, i16 1717, i16 1299, i16 2766, i16 9602, i16 5080, i16 5089, i16 760, i16 857, i16 9603, i16 0, i16 958, i16 0, i16 5082, i16 2449, i16 5073, i16 5075, i16 1624, i16 0, i16 0, i16 9604, i16 0, i16 0, i16 0, i16 9605, i16 0, i16 5092, i16 9606, i16 5087, i16 9607, i16 9608, i16 0, i16 5079, i16 0, i16 2323, i16 7769, i16 0, i16 7770, i16 0, i16 7771, i16 1424, i16 0, i16 0, i16 3937, i16 0, i16 0, i16 7772, i16 7773, i16 3938, i16 851, i16 830, i16 1198, i16 7774, i16 2445, i16 1264, i16 3552, i16 0, i16 3941, i16 956, i16 7775, i16 0, i16 3940, i16 0, i16 0, i16 7776, i16 1319, i16 7188, i16 7173, i16 7187, i16 7239, i16 7324, i16 7241, i16 7326, i16 7240, i16 7325, i16 7189, i16 7175, i16 7190, i16 7249, i16 7334, i16 0, i16 0, i16 7248, i16 7333, i16 7177, i16 7192, i16 7251, i16 7336, i16 7253, i16 7338, i16 7252, i16 7337, i16 7254, i16 7339, i16 7255, i16 7340, i16 7257, i16 7342, i16 6165, i16 11458, i16 0, i16 0, i16 6169, i16 0, i16 6172, i16 6171, i16 11459, i16 11460, i16 11461, i16 6163, i16 0, i16 0, i16 11462, i16 0, i16 6166, i16 0, i16 6183, i16 0, i16 0, i16 11463, i16 11464, i16 0, i16 0, i16 11465, i16 11466, i16 0, i16 11467, i16 0, i16 0, i16 11468, i16 2582, i16 0, i16 5005, i16 0, i16 0, i16 0, i16 0, i16 9550, i16 5013, i16 0, i16 5006, i16 9499, i16 0, i16 9500, i16 0, i16 9501, i16 2470, i16 0, i16 1281, i16 5014, i16 9502, i16 0, i16 9503, i16 0, i16 9504, i16 9505, i16 1475, i16 9506, i16 0, i16 1220, i16 5012, i16 0, i16 10518, i16 2858, i16 10519, i16 2313, i16 1770, i16 10520, i16 10521, i16 0, i16 5552, i16 0, i16 10522, i16 10523, i16 0, i16 0, i16 0, i16 0, i16 10524, i16 10525, i16 2597, i16 2418, i16 10526, i16 5554, i16 5556, i16 5553, i16 5555, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10527, i16 1405, i16 12054, i16 12055, i16 12056, i16 2878, i16 0, i16 12057, i16 3297, i16 0, i16 6553, i16 0, i16 1930, i16 0, i16 0, i16 0, i16 0, i16 6554, i16 12058, i16 6555, i16 12059, i16 12060, i16 12061, i16 6556, i16 12062, i16 0, i16 2720, i16 0, i16 0, i16 0, i16 0, i16 12063, i16 12065, i16 0, i16 11287, i16 0, i16 11288, i16 0, i16 6066, i16 11289, i16 2349, i16 11290, i16 6070, i16 1786, i16 2192, i16 1419, i16 3461, i16 11304, i16 3466, i16 2049, i16 0, i16 0, i16 0, i16 0, i16 11291, i16 0, i16 11292, i16 11293, i16 11294, i16 6083, i16 6081, i16 0, i16 11295, i16 11296, i16 11297, i16 11298, i16 3864, i16 3345, i16 7657, i16 0, i16 0, i16 7658, i16 2039, i16 2529, i16 0, i16 3866, i16 2881, i16 0, i16 0, i16 3867, i16 7659, i16 0, i16 3868, i16 1041, i16 7660, i16 7661, i16 7662, i16 3869, i16 1316, i16 7663, i16 2857, i16 929, i16 2015, i16 0, i16 0, i16 3002, i16 3870, i16 0, i16 5912, i16 11002, i16 0, i16 2190, i16 11003, i16 1006, i16 0, i16 5913, i16 3620, i16 0, i16 1884, i16 11004, i16 11005, i16 1980, i16 0, i16 0, i16 11006, i16 11007, i16 11008, i16 1853, i16 2586, i16 11009, i16 11010, i16 0, i16 11011, i16 11012, i16 5914, i16 5915, i16 856, i16 11013, i16 5916, i16 11014, i16 6936, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12883, i16 12884, i16 6937, i16 12885, i16 3361, i16 1792, i16 12886, i16 1775, i16 2358, i16 0, i16 12887, i16 12888, i16 12889, i16 0, i16 6938, i16 0, i16 0, i16 12890, i16 12891, i16 6941, i16 0, i16 12892, i16 12893, i16 0, i16 12894, i16 12895, i16 7960, i16 7961, i16 868, i16 7962, i16 7963, i16 0, i16 7964, i16 0, i16 0, i16 7965, i16 0, i16 7966, i16 2368, i16 7967, i16 4049, i16 7968, i16 4050, i16 0, i16 0, i16 0, i16 7969, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1117, i16 0, i16 0, i16 7970, i16 0, i16 2842, i16 1323, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1002, i16 4296, i16 4301, i16 0, i16 0, i16 4299, i16 8430, i16 3276, i16 3275, i16 8431, i16 8432, i16 0, i16 8433, i16 0, i16 2790, i16 0, i16 0, i16 0, i16 4298, i16 2019, i16 0, i16 4297, i16 0, i16 0, i16 12570, i16 6777, i16 0, i16 0, i16 1110, i16 6775, i16 6779, i16 0, i16 0, i16 12571, i16 0, i16 6780, i16 0, i16 785, i16 0, i16 6781, i16 6782, i16 0, i16 0, i16 0, i16 0, i16 12572, i16 12573, i16 12574, i16 2129, i16 12575, i16 12576, i16 0, i16 6783, i16 0, i16 12577, i16 12578, i16 4891, i16 9304, i16 0, i16 0, i16 0, i16 9305, i16 9306, i16 4888, i16 9307, i16 0, i16 0, i16 9308, i16 0, i16 9309, i16 4876, i16 9310, i16 0, i16 4905, i16 4875, i16 0, i16 4894, i16 0, i16 0, i16 9311, i16 9312, i16 0, i16 9313, i16 4886, i16 9314, i16 0, i16 4881, i16 4878, i16 6939, i16 12896, i16 0, i16 0, i16 0, i16 0, i16 6942, i16 12897, i16 12898, i16 1578, i16 6940, i16 0, i16 0, i16 0, i16 12899, i16 6943, i16 12900, i16 6944, i16 6945, i16 0, i16 6949, i16 0, i16 1789, i16 12901, i16 12902, i16 0, i16 0, i16 2505, i16 0, i16 12903, i16 0, i16 12904, i16 7197, i16 7196, i16 7199, i16 7205, i16 7198, i16 7204, i16 7169, i16 7209, i16 7213, i16 7212, i16 7215, i16 7214, i16 7226, i16 7225, i16 7228, i16 7227, i16 0, i16 7242, i16 7244, i16 7243, i16 7246, i16 7250, i16 7245, i16 284, i16 7176, i16 7261, i16 7260, i16 7263, i16 7262, i16 7276, i16 7179, i16 7193, i16 8734, i16 0, i16 3376, i16 1144, i16 0, i16 4514, i16 0, i16 1440, i16 1047, i16 0, i16 0, i16 4511, i16 8735, i16 0, i16 3589, i16 4513, i16 799, i16 4515, i16 8736, i16 4506, i16 4512, i16 4519, i16 1439, i16 4507, i16 8737, i16 0, i16 0, i16 8738, i16 8739, i16 0, i16 3532, i16 8740, i16 287, i16 350, i16 0, i16 0, i16 0, i16 0, i16 290, i16 291, i16 0, i16 0, i16 352, i16 353, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1311, i16 966, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4185, i16 0, i16 3372, i16 3173, i16 1581, i16 0, i16 0, i16 7475, i16 0, i16 0, i16 2170, i16 3588, i16 7476, i16 0, i16 7477, i16 0, i16 7478, i16 7479, i16 7480, i16 7481, i16 3245, i16 5407, i16 10207, i16 0, i16 5408, i16 2729, i16 10208, i16 1034, i16 1627, i16 5409, i16 0, i16 0, i16 5410, i16 10209, i16 10210, i16 5411, i16 0, i16 1788, i16 0, i16 0, i16 5413, i16 0, i16 10211, i16 5412, i16 0, i16 0, i16 5414, i16 5415, i16 10212, i16 10213, i16 10214, i16 0, i16 10215, i16 8479, i16 0, i16 4324, i16 0, i16 0, i16 0, i16 0, i16 8480, i16 0, i16 0, i16 0, i16 8481, i16 4326, i16 0, i16 4327, i16 0, i16 8482, i16 0, i16 12526, i16 0, i16 8483, i16 0, i16 0, i16 4330, i16 8484, i16 8485, i16 3635, i16 0, i16 4331, i16 4328, i16 0, i16 0, i16 11039, i16 0, i16 5936, i16 11040, i16 5935, i16 0, i16 1168, i16 11041, i16 5937, i16 0, i16 5938, i16 5939, i16 0, i16 11042, i16 1702, i16 3606, i16 0, i16 5941, i16 2162, i16 0, i16 11043, i16 0, i16 919, i16 5942, i16 5943, i16 0, i16 0, i16 11044, i16 0, i16 11045, i16 5944, i16 11046, i16 2080, i16 4375, i16 4374, i16 4370, i16 0, i16 8552, i16 0, i16 0, i16 4376, i16 4377, i16 0, i16 8553, i16 4378, i16 0, i16 0, i16 0, i16 4381, i16 4379, i16 0, i16 4380, i16 4382, i16 0, i16 907, i16 2703, i16 4383, i16 0, i16 1493, i16 1019, i16 2929, i16 0, i16 4384, i16 2904, i16 6176, i16 0, i16 11469, i16 11470, i16 11471, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11472, i16 11473, i16 0, i16 11474, i16 0, i16 6174, i16 0, i16 11475, i16 6175, i16 11476, i16 0, i16 0, i16 6180, i16 6181, i16 11477, i16 1037, i16 11478, i16 1249, i16 0, i16 0, i16 6179, i16 11479, i16 6688, i16 12452, i16 1177, i16 1080, i16 1653, i16 3023, i16 12453, i16 6690, i16 6689, i16 12454, i16 0, i16 12455, i16 12456, i16 6691, i16 0, i16 0, i16 0, i16 0, i16 899, i16 0, i16 12457, i16 0, i16 12458, i16 0, i16 0, i16 6694, i16 12459, i16 6693, i16 6692, i16 12460, i16 6695, i16 12461, i16 10528, i16 0, i16 0, i16 10529, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5557, i16 1409, i16 0, i16 10530, i16 0, i16 1286, i16 3521, i16 5559, i16 0, i16 0, i16 10531, i16 0, i16 10532, i16 5560, i16 0, i16 0, i16 10533, i16 853, i16 10534, i16 10535, i16 0, i16 0, i16 5563, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 12833, i16 0, i16 6912, i16 6913, i16 0, i16 6914, i16 12834, i16 6915, i16 6916, i16 6917, i16 6918, i16 12835, i16 0, i16 12836, i16 6919, i16 6920, i16 0, i16 4953, i16 6921, i16 12837, i16 12838, i16 12839, i16 0, i16 12840, i16 0, i16 12841, i16 12842, i16 5678, i16 1235, i16 12843, i16 0, i16 0, i16 4130, i16 0, i16 0, i16 9454, i16 9455, i16 1218, i16 4988, i16 0, i16 0, i16 9456, i16 0, i16 4989, i16 9457, i16 3265, i16 3355, i16 0, i16 0, i16 0, i16 2852, i16 4990, i16 3071, i16 0, i16 9458, i16 0, i16 3092, i16 0, i16 9459, i16 3428, i16 0, i16 0, i16 0, i16 4991, i16 7202, i16 7288, i16 7200, i16 7286, i16 7203, i16 7289, i16 7206, i16 7292, i16 7207, i16 7293, i16 7210, i16 7296, i16 7208, i16 7294, i16 7211, i16 7297, i16 7170, i16 7181, i16 7218, i16 7304, i16 0, i16 0, i16 7217, i16 7303, i16 7219, i16 7305, i16 7216, i16 7302, i16 7220, i16 7307, i16 7221, i16 7308, i16 7971, i16 7972, i16 7973, i16 7974, i16 4057, i16 0, i16 7975, i16 0, i16 1200, i16 7976, i16 4060, i16 4056, i16 4059, i16 7977, i16 0, i16 7978, i16 0, i16 7979, i16 7980, i16 0, i16 3203, i16 7981, i16 0, i16 0, i16 2866, i16 0, i16 3025, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10788, i16 5734, i16 5740, i16 5733, i16 0, i16 0, i16 2003, i16 10789, i16 10790, i16 0, i16 0, i16 3288, i16 10791, i16 10792, i16 2011, i16 10793, i16 0, i16 5736, i16 5748, i16 10794, i16 0, i16 5744, i16 10795, i16 5747, i16 0, i16 5745, i16 5749, i16 5743, i16 0, i16 5717, i16 2300, i16 10796, i16 7717, i16 3904, i16 0, i16 3337, i16 7718, i16 2653, i16 7719, i16 3477, i16 7720, i16 3246, i16 0, i16 0, i16 7721, i16 3905, i16 0, i16 7722, i16 0, i16 7723, i16 6771, i16 0, i16 7724, i16 2829, i16 7725, i16 3906, i16 1131, i16 3396, i16 0, i16 7726, i16 7727, i16 2062, i16 3907, i16 3260, i16 8741, i16 8742, i16 3482, i16 8743, i16 8744, i16 0, i16 0, i16 4522, i16 0, i16 0, i16 4526, i16 8745, i16 0, i16 8746, i16 2437, i16 0, i16 3654, i16 4527, i16 8747, i16 8748, i16 4524, i16 0, i16 4521, i16 8749, i16 8750, i16 4520, i16 4525, i16 0, i16 8751, i16 8752, i16 0, i16 8753, i16 10021, i16 5294, i16 0, i16 10022, i16 10023, i16 0, i16 10024, i16 10025, i16 0, i16 0, i16 0, i16 10026, i16 0, i16 10027, i16 0, i16 0, i16 0, i16 10028, i16 10029, i16 0, i16 0, i16 5290, i16 0, i16 10030, i16 0, i16 5293, i16 1571, i16 884, i16 5295, i16 10031, i16 2235, i16 5292, i16 295, i16 0, i16 294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5671, i16 0, i16 5673, i16 0, i16 10682, i16 5672, i16 0, i16 10683, i16 10684, i16 10685, i16 1547, i16 0, i16 0, i16 10686, i16 2367, i16 10687, i16 0, i16 0, i16 5675, i16 10688, i16 10689, i16 10690, i16 2811, i16 10691, i16 5674, i16 10692, i16 10693, i16 0, i16 5676, i16 10694, i16 3210, i16 2419, i16 10279, i16 2226, i16 10280, i16 2849, i16 10281, i16 5448, i16 3334, i16 10282, i16 5445, i16 0, i16 10283, i16 5446, i16 10284, i16 0, i16 0, i16 0, i16 10285, i16 0, i16 10286, i16 10287, i16 10288, i16 0, i16 0, i16 0, i16 0, i16 5451, i16 10289, i16 0, i16 0, i16 10290, i16 5450, i16 5449, i16 11047, i16 11048, i16 0, i16 11049, i16 11050, i16 0, i16 0, i16 11051, i16 0, i16 11052, i16 11053, i16 827, i16 0, i16 5945, i16 11054, i16 0, i16 0, i16 11055, i16 5946, i16 0, i16 11056, i16 0, i16 11057, i16 0, i16 11058, i16 3166, i16 11059, i16 11060, i16 0, i16 1912, i16 0, i16 5948, i16 2600, i16 0, i16 10266, i16 0, i16 0, i16 10267, i16 10268, i16 5443, i16 0, i16 0, i16 10269, i16 0, i16 0, i16 10270, i16 10271, i16 10272, i16 0, i16 0, i16 10273, i16 0, i16 0, i16 0, i16 10274, i16 10275, i16 0, i16 0, i16 5444, i16 5447, i16 10276, i16 0, i16 10277, i16 10278, i16 3625, i16 0, i16 10032, i16 5298, i16 7098, i16 0, i16 10033, i16 10034, i16 10035, i16 5296, i16 5299, i16 10036, i16 0, i16 10037, i16 10038, i16 5285, i16 5297, i16 10039, i16 10040, i16 1713, i16 0, i16 0, i16 5300, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5301, i16 0, i16 5929, i16 0, i16 0, i16 11029, i16 11030, i16 11031, i16 11032, i16 2715, i16 0, i16 0, i16 0, i16 11033, i16 0, i16 0, i16 11034, i16 11035, i16 0, i16 11036, i16 0, i16 0, i16 0, i16 0, i16 11037, i16 0, i16 5931, i16 5930, i16 5933, i16 0, i16 11038, i16 5932, i16 0, i16 5934, i16 2604, i16 8623, i16 8624, i16 0, i16 4424, i16 0, i16 0, i16 0, i16 8625, i16 8626, i16 8627, i16 1020, i16 8628, i16 8629, i16 8630, i16 8631, i16 4475, i16 4426, i16 8632, i16 8633, i16 0, i16 2923, i16 8634, i16 0, i16 4425, i16 0, i16 8635, i16 4423, i16 8636, i16 1681, i16 0, i16 4429, i16 6444, i16 11900, i16 11901, i16 6446, i16 6443, i16 0, i16 0, i16 0, i16 0, i16 11902, i16 0, i16 0, i16 11903, i16 11904, i16 0, i16 11905, i16 11906, i16 11907, i16 6449, i16 0, i16 1986, i16 0, i16 6448, i16 0, i16 0, i16 11908, i16 11909, i16 11910, i16 6450, i16 0, i16 0, i16 0, i16 11308, i16 0, i16 0, i16 0, i16 2816, i16 6087, i16 11309, i16 0, i16 11310, i16 3046, i16 6074, i16 0, i16 0, i16 11311, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11312, i16 0, i16 0, i16 11313, i16 2050, i16 0, i16 6089, i16 6094, i16 2427, i16 11314, i16 0, i16 6093, i16 11315, i16 8493, i16 2035, i16 0, i16 2410, i16 8494, i16 1600, i16 1709, i16 1601, i16 1295, i16 8495, i16 0, i16 4338, i16 0, i16 0, i16 1710, i16 0, i16 0, i16 1539, i16 4339, i16 3383, i16 2942, i16 4340, i16 0, i16 1602, i16 8496, i16 8497, i16 0, i16 1133, i16 0, i16 2538, i16 1359, i16 0, i16 11566, i16 0, i16 0, i16 0, i16 0, i16 6237, i16 11567, i16 11568, i16 11569, i16 0, i16 6238, i16 6239, i16 0, i16 0, i16 0, i16 0, i16 11570, i16 11571, i16 11572, i16 0, i16 0, i16 11573, i16 6243, i16 0, i16 6244, i16 11574, i16 11575, i16 6242, i16 0, i16 0, i16 11576, i16 0, i16 3377, i16 0, i16 5093, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3015, i16 9629, i16 0, i16 5105, i16 1524, i16 0, i16 0, i16 9630, i16 0, i16 0, i16 2031, i16 0, i16 5095, i16 9631, i16 0, i16 0, i16 3580, i16 1625, i16 0, i16 5108, i16 8498, i16 0, i16 1831, i16 3154, i16 0, i16 0, i16 3034, i16 8499, i16 0, i16 0, i16 0, i16 4341, i16 1206, i16 8500, i16 0, i16 0, i16 0, i16 4344, i16 8501, i16 0, i16 8502, i16 8503, i16 2626, i16 0, i16 8504, i16 4343, i16 4342, i16 4345, i16 0, i16 2700, i16 0, i16 8505, i16 8754, i16 0, i16 0, i16 0, i16 3205, i16 8755, i16 0, i16 2833, i16 8756, i16 1441, i16 8757, i16 4528, i16 4523, i16 8758, i16 4529, i16 0, i16 0, i16 0, i16 1494, i16 0, i16 0, i16 0, i16 950, i16 0, i16 8759, i16 8760, i16 4537, i16 0, i16 8761, i16 0, i16 1145, i16 0, i16 10291, i16 0, i16 0, i16 0, i16 10292, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5453, i16 10293, i16 10294, i16 5452, i16 0, i16 0, i16 5454, i16 0, i16 0, i16 10295, i16 10296, i16 10297, i16 0, i16 0, i16 0, i16 10298, i16 0, i16 0, i16 0, i16 5456, i16 10299, i16 308, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 267, i16 253, i16 268, i16 237, i16 239, i16 11316, i16 0, i16 6062, i16 0, i16 11317, i16 11318, i16 6095, i16 2384, i16 0, i16 0, i16 6090, i16 6092, i16 0, i16 11319, i16 11320, i16 0, i16 11321, i16 11322, i16 11323, i16 6091, i16 0, i16 0, i16 4949, i16 4934, i16 11324, i16 11325, i16 6097, i16 11326, i16 0, i16 0, i16 11327, i16 0, i16 821, i16 2621, i16 7367, i16 1896, i16 7368, i16 7369, i16 0, i16 3375, i16 2131, i16 1795, i16 2130, i16 961, i16 7370, i16 3147, i16 3502, i16 0, i16 3712, i16 854, i16 7371, i16 0, i16 1105, i16 3713, i16 2253, i16 3932, i16 1269, i16 3215, i16 0, i16 0, i16 0, i16 0, i16 2132, i16 7372, i16 4661, i16 4662, i16 2726, i16 4664, i16 8975, i16 8976, i16 1783, i16 4659, i16 0, i16 8977, i16 8978, i16 0, i16 1243, i16 8979, i16 0, i16 4665, i16 8980, i16 4658, i16 4669, i16 0, i16 4668, i16 8981, i16 4667, i16 8982, i16 0, i16 0, i16 4670, i16 8983, i16 0, i16 4672, i16 2142, i16 8984, i16 9013, i16 0, i16 1147, i16 1801, i16 0, i16 0, i16 2869, i16 9014, i16 0, i16 0, i16 0, i16 9015, i16 1444, i16 0, i16 0, i16 0, i16 2239, i16 0, i16 4692, i16 0, i16 2265, i16 2727, i16 0, i16 3158, i16 4693, i16 0, i16 9016, i16 0, i16 0, i16 9017, i16 0, i16 0, i16 11061, i16 11062, i16 0, i16 11063, i16 11064, i16 1036, i16 763, i16 11065, i16 11066, i16 11067, i16 11068, i16 5947, i16 5950, i16 2953, i16 11069, i16 2191, i16 11070, i16 987, i16 11071, i16 3290, i16 11072, i16 0, i16 0, i16 11073, i16 1464, i16 1369, i16 11074, i16 5949, i16 11075, i16 1007, i16 11076, i16 11077, i16 7223, i16 7309, i16 7222, i16 0, i16 7224, i16 7310, i16 7171, i16 7183, i16 7233, i16 7318, i16 7231, i16 7316, i16 0, i16 0, i16 7232, i16 7317, i16 7230, i16 7184, i16 7172, i16 7185, i16 7234, i16 7319, i16 7235, i16 7320, i16 7186, i16 7236, i16 7321, i16 7238, i16 7323, i16 7237, i16 7322, i16 7174, i16 12087, i16 0, i16 6561, i16 0, i16 12088, i16 12089, i16 12090, i16 0, i16 12091, i16 0, i16 0, i16 0, i16 0, i16 12092, i16 0, i16 0, i16 12093, i16 0, i16 6562, i16 0, i16 12094, i16 0, i16 12095, i16 12096, i16 12097, i16 6563, i16 12098, i16 0, i16 12099, i16 0, i16 12100, i16 0, i16 10041, i16 10042, i16 0, i16 3565, i16 0, i16 10043, i16 10044, i16 10045, i16 0, i16 10046, i16 0, i16 5302, i16 0, i16 0, i16 0, i16 10047, i16 10048, i16 10049, i16 10050, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10051, i16 10052, i16 10053, i16 0, i16 10054, i16 0, i16 5303, i16 10055, i16 11577, i16 6240, i16 11578, i16 6235, i16 6241, i16 11579, i16 11580, i16 0, i16 0, i16 11581, i16 0, i16 0, i16 6245, i16 6741, i16 0, i16 11582, i16 0, i16 0, i16 11583, i16 0, i16 0, i16 0, i16 941, i16 11584, i16 0, i16 0, i16 11585, i16 11586, i16 11587, i16 0, i16 6248, i16 1372, i16 7482, i16 7483, i16 1427, i16 2442, i16 1001, i16 7484, i16 7485, i16 0, i16 7486, i16 7487, i16 2018, i16 7488, i16 7489, i16 7490, i16 3767, i16 7491, i16 3772, i16 3770, i16 7492, i16 0, i16 3765, i16 0, i16 0, i16 2452, i16 3768, i16 0, i16 3771, i16 3769, i16 7493, i16 3250, i16 0, i16 3766, i16 8506, i16 0, i16 0, i16 0, i16 0, i16 2222, i16 0, i16 0, i16 8508, i16 0, i16 0, i16 1832, i16 0, i16 2291, i16 8507, i16 2488, i16 1217, i16 0, i16 8509, i16 2627, i16 0, i16 8510, i16 4346, i16 4347, i16 2140, i16 0, i16 0, i16 0, i16 0, i16 3308, i16 8511, i16 0, i16 8762, i16 8763, i16 8764, i16 4535, i16 0, i16 0, i16 4536, i16 1694, i16 4534, i16 4532, i16 4531, i16 4538, i16 4530, i16 4540, i16 8765, i16 8766, i16 1024, i16 0, i16 0, i16 0, i16 0, i16 8767, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8768, i16 8769, i16 8770, i16 8771, i16 7739, i16 3449, i16 2900, i16 7740, i16 0, i16 3270, i16 3916, i16 0, i16 3917, i16 0, i16 7741, i16 7742, i16 7743, i16 3919, i16 0, i16 3921, i16 3920, i16 7744, i16 0, i16 7745, i16 0, i16 3922, i16 962, i16 3327, i16 7746, i16 1777, i16 3923, i16 7747, i16 7748, i16 2400, i16 7749, i16 7750, i16 9531, i16 3285, i16 2947, i16 1282, i16 0, i16 2724, i16 0, i16 9532, i16 2608, i16 9533, i16 5031, i16 9534, i16 9535, i16 0, i16 9536, i16 5029, i16 2494, i16 5018, i16 9537, i16 882, i16 9538, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2108, i16 5574, i16 5575, i16 2022, i16 0, i16 2837, i16 5576, i16 0, i16 10542, i16 10543, i16 2539, i16 10544, i16 10545, i16 5577, i16 0, i16 2559, i16 5578, i16 10546, i16 0, i16 0, i16 10547, i16 0, i16 1314, i16 0, i16 3835, i16 2592, i16 1892, i16 10548, i16 0, i16 10549, i16 10550, i16 1161, i16 11836, i16 0, i16 0, i16 1954, i16 0, i16 0, i16 11837, i16 0, i16 2241, i16 0, i16 0, i16 11838, i16 11839, i16 0, i16 0, i16 11840, i16 0, i16 0, i16 11841, i16 2450, i16 0, i16 11842, i16 0, i16 11843, i16 0, i16 11844, i16 6413, i16 11845, i16 11863, i16 0, i16 6412, i16 0, i16 318, i16 317, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 320, i16 319, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 322, i16 321, i16 0, i16 0, i16 4671, i16 8985, i16 0, i16 0, i16 8986, i16 4675, i16 0, i16 0, i16 8987, i16 8988, i16 8989, i16 0, i16 0, i16 0, i16 0, i16 8990, i16 0, i16 0, i16 0, i16 8991, i16 8992, i16 0, i16 8993, i16 0, i16 4673, i16 8994, i16 0, i16 8995, i16 4674, i16 4636, i16 8996, i16 8997, i16 9791, i16 3398, i16 0, i16 0, i16 0, i16 0, i16 2100, i16 0, i16 0, i16 0, i16 0, i16 9792, i16 0, i16 9793, i16 0, i16 9794, i16 9795, i16 9796, i16 0, i16 0, i16 0, i16 0, i16 2362, i16 0, i16 9797, i16 0, i16 0, i16 0, i16 2099, i16 0, i16 0, i16 0, i16 6976, i16 0, i16 0, i16 12957, i16 0, i16 0, i16 0, i16 6977, i16 12962, i16 12958, i16 12959, i16 12961, i16 0, i16 0, i16 12963, i16 0, i16 12964, i16 0, i16 12965, i16 0, i16 0, i16 12966, i16 6978, i16 12967, i16 6979, i16 0, i16 0, i16 12968, i16 0, i16 0, i16 0, i16 0, i16 8256, i16 795, i16 0, i16 748, i16 8257, i16 0, i16 0, i16 0, i16 0, i16 4198, i16 0, i16 0, i16 8258, i16 8259, i16 8260, i16 0, i16 0, i16 4196, i16 8261, i16 8262, i16 0, i16 0, i16 0, i16 0, i16 3405, i16 0, i16 4199, i16 0, i16 4197, i16 0, i16 8263, i16 4195, i16 12352, i16 12353, i16 12354, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12355, i16 0, i16 12356, i16 12357, i16 1116, i16 12358, i16 0, i16 12359, i16 0, i16 0, i16 12360, i16 0, i16 6640, i16 12361, i16 1716, i16 2432, i16 12362, i16 0, i16 2667, i16 12363, i16 0, i16 0, i16 12364, i16 0, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 0, i16 0, i16 0, i16 0, i16 227, i16 249, i16 240, i16 241, i16 0, i16 833, i16 8016, i16 0, i16 2567, i16 8017, i16 8018, i16 8019, i16 8020, i16 8021, i16 0, i16 0, i16 8023, i16 0, i16 8024, i16 4081, i16 0, i16 1689, i16 8022, i16 792, i16 2217, i16 0, i16 0, i16 8025, i16 8026, i16 0, i16 4082, i16 1536, i16 0, i16 0, i16 1672, i16 0, i16 4084, i16 1089, i16 0, i16 0, i16 10554, i16 0, i16 2213, i16 3163, i16 10555, i16 5588, i16 10556, i16 10557, i16 10558, i16 2509, i16 10559, i16 10560, i16 10561, i16 10562, i16 10563, i16 0, i16 5583, i16 10564, i16 5587, i16 5589, i16 0, i16 0, i16 1776, i16 0, i16 0, i16 0, i16 10565, i16 0, i16 10566, i16 4929, i16 0, i16 4931, i16 4932, i16 0, i16 9374, i16 0, i16 0, i16 0, i16 0, i16 4944, i16 9375, i16 4940, i16 0, i16 4821, i16 9376, i16 9377, i16 9378, i16 0, i16 4939, i16 9379, i16 0, i16 0, i16 0, i16 4938, i16 0, i16 0, i16 4935, i16 0, i16 9380, i16 9381, i16 9382, i16 9025, i16 767, i16 0, i16 9026, i16 1361, i16 2294, i16 9027, i16 3159, i16 0, i16 0, i16 0, i16 4699, i16 1813, i16 2570, i16 9028, i16 1838, i16 2178, i16 0, i16 9029, i16 9030, i16 9031, i16 0, i16 0, i16 4700, i16 0, i16 3282, i16 0, i16 0, i16 926, i16 1839, i16 0, i16 9032, i16 12609, i16 12611, i16 0, i16 0, i16 12612, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6794, i16 2910, i16 12613, i16 0, i16 12614, i16 6796, i16 960, i16 12615, i16 6799, i16 6798, i16 12616, i16 12617, i16 0, i16 12618, i16 843, i16 0, i16 0, i16 0, i16 1342, i16 4418, i16 1567, i16 8603, i16 0, i16 8606, i16 0, i16 0, i16 8604, i16 4419, i16 3187, i16 2026, i16 8605, i16 8607, i16 4420, i16 3090, i16 8608, i16 8609, i16 8610, i16 0, i16 2846, i16 2632, i16 0, i16 0, i16 0, i16 8611, i16 2735, i16 0, i16 0, i16 4421, i16 1226, i16 0, i16 0, i16 3395, i16 0, i16 10255, i16 0, i16 5436, i16 5438, i16 5439, i16 0, i16 10256, i16 5435, i16 0, i16 0, i16 0, i16 10257, i16 10258, i16 10259, i16 0, i16 0, i16 0, i16 0, i16 10260, i16 10261, i16 10262, i16 5441, i16 5442, i16 10263, i16 2640, i16 0, i16 1188, i16 10264, i16 10265, i16 0, i16 12868, i16 0, i16 0, i16 6931, i16 12869, i16 12870, i16 12871, i16 12872, i16 0, i16 12873, i16 12874, i16 12875, i16 0, i16 12876, i16 775, i16 12877, i16 12878, i16 6932, i16 3200, i16 6930, i16 12879, i16 0, i16 6933, i16 6934, i16 0, i16 0, i16 12880, i16 0, i16 0, i16 12881, i16 12882, i16 6935, i16 12101, i16 0, i16 12103, i16 12104, i16 0, i16 12102, i16 0, i16 12105, i16 0, i16 12106, i16 0, i16 0, i16 0, i16 2721, i16 12107, i16 12108, i16 6565, i16 12109, i16 6564, i16 0, i16 12110, i16 0, i16 12111, i16 12112, i16 0, i16 12113, i16 12114, i16 0, i16 12115, i16 12116, i16 0, i16 0, i16 1350, i16 4271, i16 0, i16 0, i16 0, i16 1294, i16 4272, i16 0, i16 1403, i16 0, i16 2860, i16 949, i16 0, i16 1830, i16 4273, i16 4276, i16 4275, i16 1402, i16 0, i16 4274, i16 0, i16 2743, i16 0, i16 0, i16 0, i16 8393, i16 8394, i16 0, i16 8395, i16 0, i16 2453, i16 0, i16 7494, i16 2169, i16 7495, i16 3366, i16 3773, i16 3774, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1971, i16 3787, i16 7496, i16 0, i16 7497, i16 2955, i16 0, i16 3117, i16 3782, i16 0, i16 3269, i16 0, i16 955, i16 0, i16 7498, i16 7499, i16 3786, i16 7500, i16 11846, i16 0, i16 6411, i16 0, i16 0, i16 11847, i16 11848, i16 11849, i16 11850, i16 0, i16 11851, i16 6419, i16 6417, i16 0, i16 11852, i16 6414, i16 0, i16 11853, i16 0, i16 0, i16 11854, i16 11855, i16 6416, i16 11856, i16 0, i16 11857, i16 6415, i16 6418, i16 0, i16 1302, i16 0, i16 6422, i16 3911, i16 7728, i16 2259, i16 3908, i16 1357, i16 7729, i16 3909, i16 1132, i16 7730, i16 7731, i16 7732, i16 0, i16 7733, i16 0, i16 0, i16 0, i16 7734, i16 7735, i16 1417, i16 3912, i16 7736, i16 3913, i16 7737, i16 7738, i16 3914, i16 3915, i16 1932, i16 0, i16 0, i16 0, i16 1588, i16 3439, i16 10567, i16 10568, i16 0, i16 0, i16 0, i16 5596, i16 3109, i16 10569, i16 3007, i16 2808, i16 0, i16 1367, i16 5595, i16 5593, i16 10570, i16 3022, i16 5590, i16 2593, i16 2810, i16 0, i16 2809, i16 10571, i16 1771, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5614, i16 0, i16 0, i16 10056, i16 10057, i16 5283, i16 10058, i16 0, i16 0, i16 10059, i16 5304, i16 10060, i16 10061, i16 10062, i16 10063, i16 0, i16 0, i16 10064, i16 10065, i16 1157, i16 10066, i16 10067, i16 0, i16 0, i16 10068, i16 0, i16 0, i16 0, i16 10069, i16 0, i16 10070, i16 0, i16 1878, i16 0, i16 10071, i16 11336, i16 8188, i16 11337, i16 0, i16 0, i16 0, i16 11338, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6100, i16 1552, i16 0, i16 1267, i16 0, i16 11339, i16 11340, i16 6102, i16 3865, i16 11341, i16 11342, i16 11343, i16 11344, i16 1300, i16 0, i16 3591, i16 11345, i16 1392, i16 6103, i16 842, i16 0, i16 0, i16 3622, i16 12516, i16 12517, i16 12518, i16 6729, i16 6544, i16 12519, i16 6728, i16 0, i16 0, i16 0, i16 12520, i16 12521, i16 6732, i16 6730, i16 6731, i16 12522, i16 6733, i16 0, i16 6734, i16 3641, i16 6735, i16 6736, i16 12523, i16 2290, i16 3028, i16 0, i16 0, i16 0, i16 11082, i16 5951, i16 11083, i16 5952, i16 11084, i16 1940, i16 1385, i16 2618, i16 11085, i16 0, i16 11086, i16 2862, i16 0, i16 11087, i16 0, i16 11088, i16 0, i16 888, i16 0, i16 5956, i16 5955, i16 0, i16 11089, i16 11090, i16 0, i16 5961, i16 5957, i16 5960, i16 0, i16 11091, i16 11092, i16 0, i16 2892, i16 4870, i16 2887, i16 9286, i16 9287, i16 9288, i16 9289, i16 0, i16 9290, i16 9291, i16 4874, i16 4861, i16 9292, i16 1349, i16 4864, i16 2028, i16 9293, i16 9294, i16 9295, i16 2971, i16 4866, i16 1352, i16 0, i16 4858, i16 4860, i16 4857, i16 9296, i16 9297, i16 3675, i16 1085, i16 4863, i16 9298, i16 10316, i16 0, i16 3457, i16 5469, i16 10317, i16 2577, i16 10318, i16 2981, i16 0, i16 1384, i16 10319, i16 0, i16 10320, i16 2558, i16 5470, i16 1335, i16 10321, i16 10322, i16 0, i16 2297, i16 10323, i16 0, i16 0, i16 0, i16 10324, i16 0, i16 0, i16 10325, i16 5471, i16 0, i16 0, i16 0, i16 10572, i16 0, i16 0, i16 0, i16 10573, i16 5598, i16 10574, i16 5600, i16 0, i16 10575, i16 10576, i16 0, i16 5603, i16 10577, i16 5604, i16 10578, i16 5601, i16 5602, i16 10579, i16 10580, i16 5599, i16 5597, i16 0, i16 10581, i16 0, i16 0, i16 5591, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3149, i16 8118, i16 0, i16 4121, i16 8102, i16 0, i16 8103, i16 8104, i16 0, i16 8105, i16 0, i16 0, i16 0, i16 8106, i16 0, i16 0, i16 8107, i16 0, i16 0, i16 0, i16 2154, i16 8108, i16 8109, i16 1898, i16 8110, i16 2968, i16 1201, i16 0, i16 1760, i16 8111, i16 8112, i16 8113, i16 7501, i16 7502, i16 0, i16 0, i16 7503, i16 3780, i16 3789, i16 7504, i16 0, i16 2393, i16 7505, i16 1533, i16 7506, i16 2967, i16 7507, i16 5253, i16 7508, i16 3788, i16 2780, i16 7509, i16 3777, i16 0, i16 1583, i16 7510, i16 7511, i16 1582, i16 3775, i16 7512, i16 7513, i16 7514, i16 7515, i16 1931, i16 2382, i16 3317, i16 1772, i16 10710, i16 0, i16 0, i16 10711, i16 0, i16 0, i16 0, i16 10712, i16 1850, i16 2686, i16 10713, i16 5691, i16 3628, i16 1742, i16 10714, i16 5692, i16 2189, i16 0, i16 5694, i16 0, i16 0, i16 0, i16 2111, i16 1701, i16 0, i16 10715, i16 10716, i16 10717, i16 5693, i16 4431, i16 8660, i16 1023, i16 4451, i16 4453, i16 2580, i16 0, i16 8661, i16 1693, i16 957, i16 4445, i16 4456, i16 4455, i16 1328, i16 0, i16 2446, i16 1097, i16 8662, i16 0, i16 0, i16 0, i16 1438, i16 0, i16 4446, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8663, i16 8664, i16 5455, i16 0, i16 10300, i16 0, i16 0, i16 3234, i16 0, i16 10301, i16 0, i16 0, i16 10302, i16 0, i16 2021, i16 3603, i16 10303, i16 10304, i16 5457, i16 10305, i16 0, i16 2836, i16 0, i16 10306, i16 5458, i16 0, i16 0, i16 5459, i16 0, i16 5463, i16 5461, i16 5462, i16 10307, i16 5460, i16 8528, i16 2628, i16 0, i16 1604, i16 2078, i16 0, i16 0, i16 3064, i16 0, i16 0, i16 2079, i16 8529, i16 0, i16 0, i16 8530, i16 2055, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2701, i16 3278, i16 2744, i16 0, i16 0, i16 1605, i16 0, i16 3155, i16 0, i16 0, i16 0, i16 4177, i16 8209, i16 4176, i16 8210, i16 0, i16 931, i16 0, i16 4178, i16 2070, i16 4180, i16 2536, i16 8211, i16 4179, i16 8212, i16 3208, i16 8213, i16 0, i16 0, i16 8214, i16 2054, i16 2778, i16 8215, i16 8216, i16 0, i16 4181, i16 8217, i16 0, i16 8218, i16 8219, i16 1596, i16 0, i16 0, i16 9810, i16 0, i16 5193, i16 0, i16 2972, i16 5189, i16 5192, i16 2101, i16 9811, i16 3050, i16 0, i16 0, i16 5196, i16 0, i16 1922, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9812, i16 0, i16 0, i16 0, i16 2339, i16 0, i16 0, i16 11346, i16 11347, i16 11348, i16 11349, i16 11350, i16 0, i16 0, i16 6104, i16 0, i16 11351, i16 0, i16 2609, i16 11352, i16 0, i16 0, i16 11353, i16 0, i16 6105, i16 0, i16 0, i16 0, i16 11354, i16 11355, i16 11356, i16 0, i16 2903, i16 11357, i16 771, i16 0, i16 0, i16 0, i16 0, i16 8787, i16 4558, i16 8788, i16 8789, i16 0, i16 0, i16 2328, i16 8790, i16 0, i16 8791, i16 4559, i16 8792, i16 0, i16 0, i16 4560, i16 1241, i16 4561, i16 0, i16 4562, i16 4563, i16 2492, i16 0, i16 0, i16 0, i16 1542, i16 8793, i16 0, i16 3442, i16 0, i16 8794, i16 0, i16 3311, i16 9299, i16 4873, i16 1048, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1756, i16 0, i16 0, i16 9300, i16 900, i16 0, i16 0, i16 4890, i16 9301, i16 0, i16 3676, i16 4893, i16 9302, i16 0, i16 9303, i16 0, i16 0, i16 2181, i16 4892, i16 0, i16 0, i16 0, i16 2388, i16 7075, i16 13117, i16 0, i16 0, i16 0, i16 13118, i16 0, i16 0, i16 0, i16 13119, i16 13120, i16 7076, i16 0, i16 0, i16 13121, i16 0, i16 13122, i16 13123, i16 0, i16 13124, i16 0, i16 0, i16 13125, i16 0, i16 13126, i16 13127, i16 3096, i16 13128, i16 13129, i16 7077, i16 13130, i16 5972, i16 0, i16 11115, i16 11116, i16 11117, i16 5975, i16 0, i16 11118, i16 0, i16 2423, i16 1456, i16 0, i16 0, i16 11119, i16 11120, i16 872, i16 5974, i16 11121, i16 1642, i16 11156, i16 11099, i16 11122, i16 11123, i16 11124, i16 2424, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12628, i16 6804, i16 0, i16 12629, i16 6803, i16 12638, i16 12630, i16 0, i16 0, i16 0, i16 0, i16 12631, i16 3326, i16 2825, i16 12632, i16 12633, i16 12634, i16 0, i16 12635, i16 12636, i16 887, i16 12637, i16 0, i16 6805, i16 6802, i16 0, i16 0, i16 3144, i16 3545, i16 6806, i16 12639, i16 0, i16 9813, i16 0, i16 0, i16 0, i16 5199, i16 9814, i16 0, i16 9815, i16 5191, i16 0, i16 1410, i16 0, i16 9816, i16 0, i16 0, i16 5197, i16 0, i16 0, i16 9817, i16 0, i16 3519, i16 5200, i16 0, i16 0, i16 0, i16 7100, i16 9818, i16 9819, i16 0, i16 0, i16 0, i16 2014, i16 11093, i16 11094, i16 3425, i16 5959, i16 989, i16 1120, i16 5963, i16 11095, i16 11096, i16 5965, i16 11097, i16 11098, i16 0, i16 0, i16 1455, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5969, i16 5978, i16 5979, i16 0, i16 0, i16 11100, i16 756, i16 11101, i16 11102, i16 11103, i16 343, i16 0, i16 348, i16 344, i16 0, i16 0, i16 0, i16 349, i16 330, i16 0, i16 0, i16 331, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 354, i16 0, i16 0, i16 356, i16 292, i16 0, i16 7256, i16 7341, i16 7259, i16 7344, i16 7258, i16 7343, i16 7178, i16 7194, i16 7270, i16 7355, i16 7267, i16 7352, i16 7264, i16 7349, i16 7269, i16 7354, i16 7266, i16 7351, i16 7268, i16 7353, i16 7275, i16 7360, i16 7278, i16 7363, i16 7277, i16 7279, i16 7364, i16 7281, i16 7366, i16 7280, i16 7365, i16 0, i16 11608, i16 6262, i16 0, i16 0, i16 0, i16 11609, i16 6264, i16 3558, i16 0, i16 6263, i16 2193, i16 0, i16 6265, i16 0, i16 0, i16 6266, i16 11610, i16 0, i16 6267, i16 1170, i16 11611, i16 11612, i16 11613, i16 11614, i16 0, i16 0, i16 6268, i16 0, i16 11615, i16 6269, i16 0, i16 6270, i16 345, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 338, i16 339, i16 337, i16 336, i16 358, i16 359, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 293, i16 357, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 355, i16 0, i16 0, i16 3929, i16 1996, i16 7764, i16 2322, i16 0, i16 3931, i16 3930, i16 2064, i16 1562, i16 3933, i16 3031, i16 7766, i16 7765, i16 3934, i16 0, i16 0, i16 0, i16 3061, i16 2457, i16 2515, i16 1317, i16 0, i16 0, i16 2891, i16 2548, i16 7767, i16 2985, i16 7768, i16 3329, i16 0, i16 3936, i16 0, i16 9049, i16 0, i16 1614, i16 4714, i16 9050, i16 0, i16 1696, i16 2087, i16 9051, i16 9052, i16 4713, i16 0, i16 2088, i16 9053, i16 3409, i16 1695, i16 0, i16 9054, i16 9055, i16 800, i16 2295, i16 9056, i16 9057, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4720, i16 9058, i16 9059, i16 2266, i16 5210, i16 0, i16 0, i16 0, i16 0, i16 2414, i16 1803, i16 5212, i16 0, i16 0, i16 0, i16 0, i16 5211, i16 2159, i16 3955, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5213, i16 0, i16 0, i16 9838, i16 5215, i16 0, i16 5198, i16 5214, i16 0, i16 9839, i16 5216, i16 9820, i16 0, i16 9821, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5201, i16 0, i16 0, i16 0, i16 5202, i16 0, i16 0, i16 9822, i16 9823, i16 2921, i16 9824, i16 9825, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5204, i16 9826, i16 0, i16 0, i16 0, i16 5205, i16 9827, i16 1630, i16 0, i16 5677, i16 0, i16 0, i16 0, i16 10695, i16 3605, i16 0, i16 10696, i16 0, i16 10697, i16 0, i16 0, i16 0, i16 5679, i16 0, i16 0, i16 5680, i16 0, i16 5681, i16 10698, i16 5682, i16 0, i16 1848, i16 0, i16 5683, i16 1450, i16 0, i16 0, i16 1289, i16 0, i16 10590, i16 1162, i16 0, i16 0, i16 0, i16 10591, i16 0, i16 0, i16 0, i16 0, i16 2560, i16 0, i16 10592, i16 2342, i16 0, i16 10593, i16 10594, i16 3003, i16 10595, i16 0, i16 5620, i16 10596, i16 10597, i16 0, i16 3005, i16 0, i16 10598, i16 10599, i16 10600, i16 10601, i16 0, i16 0, i16 3168, i16 1751, i16 1646, i16 0, i16 11793, i16 0, i16 0, i16 3142, i16 996, i16 3047, i16 6379, i16 1172, i16 2302, i16 6378, i16 6383, i16 2620, i16 3444, i16 0, i16 6381, i16 6382, i16 1229, i16 0, i16 6384, i16 2974, i16 2500, i16 11794, i16 11795, i16 3082, i16 2748, i16 6380, i16 0, i16 3322, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 1377, i16 0, i16 0, i16 2005, i16 0, i16 2841, i16 0, i16 0, i16 12248, i16 12249, i16 12250, i16 0, i16 0, i16 12251, i16 12252, i16 0, i16 0, i16 2356, i16 12253, i16 6614, i16 0, i16 6608, i16 6613, i16 12254, i16 3412, i16 12255, i16 2649, i16 6615, i16 6612, i16 0, i16 0, i16 12256, i16 10849, i16 0, i16 5794, i16 5796, i16 0, i16 3540, i16 5795, i16 5798, i16 5797, i16 0, i16 3522, i16 10850, i16 5799, i16 10851, i16 3095, i16 10852, i16 10853, i16 10854, i16 0, i16 0, i16 5800, i16 0, i16 10855, i16 10856, i16 0, i16 0, i16 5803, i16 0, i16 10857, i16 5802, i16 5801, i16 0, i16 5475, i16 10333, i16 10334, i16 10335, i16 0, i16 2773, i16 1739, i16 1261, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10336, i16 10337, i16 0, i16 10338, i16 0, i16 3287, i16 0, i16 2950, i16 10339, i16 0, i16 10340, i16 0, i16 0, i16 2774, i16 0, i16 0, i16 0, i16 0, i16 1651, i16 7523, i16 7524, i16 7525, i16 3790, i16 0, i16 7526, i16 7527, i16 3791, i16 3795, i16 791, i16 7528, i16 0, i16 7529, i16 0, i16 7530, i16 3237, i16 3794, i16 7531, i16 7532, i16 7533, i16 0, i16 3793, i16 3797, i16 7534, i16 0, i16 7535, i16 3796, i16 0, i16 2693, i16 0, i16 0, i16 7536, i16 9828, i16 9829, i16 0, i16 2926, i16 9830, i16 0, i16 0, i16 0, i16 2804, i16 5207, i16 0, i16 9831, i16 9832, i16 0, i16 5209, i16 0, i16 3618, i16 0, i16 5206, i16 9833, i16 5208, i16 916, i16 9834, i16 5203, i16 0, i16 9835, i16 9836, i16 0, i16 9837, i16 0, i16 0, i16 4051, i16 11876, i16 11877, i16 11878, i16 11879, i16 0, i16 0, i16 11880, i16 11881, i16 0, i16 0, i16 6445, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6434, i16 11882, i16 0, i16 11883, i16 6435, i16 6433, i16 11884, i16 11885, i16 11886, i16 11887, i16 0, i16 0, i16 0, i16 11888, i16 0, i16 0, i16 4709, i16 4710, i16 1212, i16 0, i16 0, i16 2905, i16 2553, i16 1291, i16 1840, i16 2408, i16 0, i16 0, i16 2027, i16 761, i16 0, i16 0, i16 9042, i16 4711, i16 9043, i16 0, i16 9044, i16 9045, i16 0, i16 0, i16 0, i16 9046, i16 935, i16 4715, i16 0, i16 0, i16 9047, i16 9048, i16 8037, i16 0, i16 8038, i16 8039, i16 8040, i16 8041, i16 4095, i16 766, i16 1748, i16 8042, i16 8043, i16 0, i16 8044, i16 1432, i16 8045, i16 8046, i16 2578, i16 0, i16 0, i16 8047, i16 8048, i16 0, i16 0, i16 4096, i16 4097, i16 0, i16 0, i16 4099, i16 0, i16 8049, i16 8050, i16 8051, i16 615, i16 616, i16 0, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 7126, i16 7129, i16 7131, i16 7132, i16 7133, i16 7134, i16 7141, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 6247, i16 11588, i16 11589, i16 11590, i16 6250, i16 0, i16 6249, i16 0, i16 0, i16 0, i16 6252, i16 11591, i16 0, i16 6251, i16 11592, i16 6253, i16 11593, i16 0, i16 1984, i16 11594, i16 6254, i16 11595, i16 0, i16 6255, i16 0, i16 0, i16 11596, i16 11597, i16 11598, i16 11599, i16 6256, i16 2279, i16 8295, i16 0, i16 8296, i16 0, i16 0, i16 0, i16 0, i16 8297, i16 0, i16 0, i16 0, i16 0, i16 8298, i16 0, i16 0, i16 0, i16 0, i16 8299, i16 8300, i16 8301, i16 0, i16 8302, i16 0, i16 0, i16 8303, i16 0, i16 8304, i16 8305, i16 4208, i16 4212, i16 4209, i16 8306, i16 1128, i16 7640, i16 3851, i16 7641, i16 3849, i16 3406, i16 3850, i16 0, i16 3153, i16 3852, i16 3853, i16 3854, i16 2782, i16 7642, i16 0, i16 0, i16 3858, i16 3856, i16 3857, i16 3855, i16 1752, i16 3859, i16 3451, i16 3633, i16 7643, i16 0, i16 7644, i16 0, i16 7645, i16 3860, i16 7646, i16 7647, i16 2152, i16 12316, i16 6626, i16 6628, i16 12317, i16 12318, i16 1360, i16 12319, i16 3132, i16 12320, i16 12321, i16 1939, i16 3662, i16 0, i16 6624, i16 1773, i16 0, i16 0, i16 3690, i16 12322, i16 12323, i16 6630, i16 12324, i16 12325, i16 0, i16 0, i16 6629, i16 6631, i16 0, i16 0, i16 0, i16 0, i16 3944, i16 7785, i16 0, i16 0, i16 7786, i16 3946, i16 3945, i16 0, i16 2218, i16 864, i16 7787, i16 7788, i16 0, i16 901, i16 3947, i16 7789, i16 3948, i16 0, i16 7790, i16 1520, i16 7791, i16 7792, i16 3949, i16 7793, i16 7794, i16 0, i16 7795, i16 1293, i16 0, i16 7796, i16 0, i16 0, i16 4200, i16 3671, i16 0, i16 0, i16 8271, i16 8272, i16 2951, i16 8273, i16 8274, i16 4202, i16 0, i16 0, i16 8275, i16 0, i16 0, i16 0, i16 8276, i16 0, i16 0, i16 0, i16 0, i16 8277, i16 0, i16 0, i16 0, i16 0, i16 1692, i16 0, i16 0, i16 0, i16 8278, i16 0, i16 5994, i16 0, i16 5984, i16 0, i16 0, i16 0, i16 11142, i16 11143, i16 5996, i16 11144, i16 5982, i16 2999, i16 11145, i16 11170, i16 0, i16 0, i16 0, i16 3544, i16 0, i16 0, i16 0, i16 5991, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6013, i16 11146, i16 11147, i16 4972, i16 0, i16 9436, i16 4974, i16 4973, i16 9437, i16 3339, i16 0, i16 0, i16 2029, i16 1949, i16 1815, i16 0, i16 4975, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4977, i16 2158, i16 9438, i16 4976, i16 0, i16 0, i16 9439, i16 0, i16 0, i16 4978, i16 9440, i16 5228, i16 9855, i16 9856, i16 9857, i16 0, i16 9858, i16 5229, i16 3239, i16 3040, i16 0, i16 0, i16 5230, i16 2962, i16 0, i16 9859, i16 9860, i16 9861, i16 0, i16 2638, i16 9862, i16 0, i16 9863, i16 9864, i16 0, i16 5231, i16 1004, i16 9865, i16 1292, i16 9866, i16 3415, i16 9867, i16 3399, i16 365, i16 366, i16 0, i16 0, i16 0, i16 258, i16 257, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 361, i16 0, i16 297, i16 298, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 323, i16 0, i16 0, i16 0, i16 0, i16 878, i16 9060, i16 9061, i16 9062, i16 9063, i16 2020, i16 9064, i16 3353, i16 1767, i16 9065, i16 9066, i16 9067, i16 9068, i16 2089, i16 9069, i16 2256, i16 9070, i16 9071, i16 0, i16 9072, i16 4719, i16 4717, i16 4718, i16 9074, i16 0, i16 9073, i16 0, i16 0, i16 2606, i16 0, i16 0, i16 4750, i16 10350, i16 10351, i16 0, i16 10352, i16 10353, i16 0, i16 0, i16 0, i16 10354, i16 0, i16 10355, i16 3583, i16 1628, i16 0, i16 10356, i16 1504, i16 0, i16 0, i16 3004, i16 0, i16 5479, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10357, i16 0, i16 5481, i16 0, i16 10358, i16 0, i16 6767, i16 7051, i16 3421, i16 12559, i16 6768, i16 0, i16 6769, i16 12560, i16 6770, i16 1082, i16 12561, i16 6772, i16 0, i16 2212, i16 12562, i16 0, i16 0, i16 6773, i16 0, i16 12563, i16 1407, i16 0, i16 12564, i16 12565, i16 12566, i16 6774, i16 6778, i16 12567, i16 6776, i16 12568, i16 0, i16 12569, i16 9328, i16 9329, i16 4897, i16 9330, i16 0, i16 4904, i16 0, i16 0, i16 0, i16 0, i16 4910, i16 3086, i16 4916, i16 0, i16 0, i16 9331, i16 0, i16 9332, i16 4911, i16 4914, i16 4908, i16 9333, i16 0, i16 2615, i16 0, i16 3119, i16 9334, i16 4898, i16 0, i16 9335, i16 4906, i16 2093, i16 9840, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2997, i16 9841, i16 9842, i16 9843, i16 0, i16 0, i16 0, i16 5217, i16 0, i16 0, i16 5218, i16 0, i16 0, i16 9844, i16 0, i16 0, i16 0, i16 9845, i16 0, i16 0, i16 9846, i16 5219, i16 0, i16 9847, i16 0, i16 9848, i16 10096, i16 10097, i16 0, i16 1805, i16 10098, i16 928, i16 5328, i16 10099, i16 3520, i16 10100, i16 10101, i16 3256, i16 5329, i16 0, i16 0, i16 10102, i16 2755, i16 3490, i16 1626, i16 2184, i16 0, i16 0, i16 10103, i16 2574, i16 3918, i16 10104, i16 2639, i16 1005, i16 5330, i16 10105, i16 10106, i16 10107, i16 7537, i16 0, i16 7538, i16 7539, i16 0, i16 1485, i16 7540, i16 7541, i16 0, i16 0, i16 7542, i16 0, i16 3798, i16 7543, i16 0, i16 0, i16 7544, i16 7545, i16 1910, i16 0, i16 2443, i16 2694, i16 1395, i16 0, i16 3799, i16 0, i16 0, i16 0, i16 0, i16 1237, i16 0, i16 0, i16 11377, i16 11378, i16 0, i16 11379, i16 6114, i16 11380, i16 6115, i16 1929, i16 0, i16 6117, i16 0, i16 2564, i16 0, i16 1457, i16 1061, i16 0, i16 0, i16 11381, i16 11382, i16 0, i16 6120, i16 11383, i16 0, i16 11384, i16 0, i16 1058, i16 11385, i16 6125, i16 11386, i16 0, i16 6121, i16 6124, i16 11889, i16 11890, i16 6432, i16 0, i16 2718, i16 0, i16 0, i16 6437, i16 6441, i16 6438, i16 6436, i16 11891, i16 6439, i16 11892, i16 11893, i16 11894, i16 6440, i16 0, i16 0, i16 0, i16 11895, i16 6447, i16 0, i16 0, i16 0, i16 6442, i16 0, i16 11896, i16 11897, i16 11898, i16 11899, i16 2305, i16 10866, i16 940, i16 0, i16 10867, i16 0, i16 5812, i16 5813, i16 0, i16 10868, i16 0, i16 5814, i16 0, i16 3537, i16 0, i16 10869, i16 10870, i16 0, i16 0, i16 1979, i16 0, i16 5816, i16 5815, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10871, i16 0, i16 0, i16 0, i16 10872, i16 3699, i16 4782, i16 2240, i16 0, i16 0, i16 0, i16 4781, i16 0, i16 0, i16 4776, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1544, i16 9169, i16 9170, i16 9171, i16 4788, i16 4786, i16 9172, i16 978, i16 4784, i16 4790, i16 4796, i16 0, i16 9173, i16 9174, i16 9175, i16 0, i16 0, i16 7283, i16 7282, i16 7285, i16 7291, i16 7284, i16 7290, i16 7180, i16 7295, i16 7299, i16 7298, i16 7301, i16 7300, i16 7312, i16 7311, i16 7314, i16 7313, i16 7182, i16 7327, i16 7329, i16 7328, i16 7331, i16 7335, i16 7330, i16 285, i16 7191, i16 7346, i16 7345, i16 7348, i16 7347, i16 7361, i16 7195, i16 7362, i16 9075, i16 4724, i16 1873, i16 1615, i16 4722, i16 9076, i16 9077, i16 0, i16 0, i16 4723, i16 9078, i16 2179, i16 9079, i16 0, i16 9081, i16 4721, i16 0, i16 9080, i16 1794, i16 0, i16 0, i16 0, i16 0, i16 9082, i16 9083, i16 9084, i16 0, i16 9085, i16 9086, i16 4726, i16 4725, i16 4730, i16 1908, i16 0, i16 11233, i16 11234, i16 0, i16 0, i16 6015, i16 11235, i16 0, i16 0, i16 0, i16 0, i16 11236, i16 0, i16 11237, i16 0, i16 11238, i16 3235, i16 0, i16 3379, i16 6055, i16 6054, i16 0, i16 6050, i16 6051, i16 0, i16 861, i16 0, i16 11239, i16 0, i16 11240, i16 6053, i16 1909, i16 0, i16 0, i16 0, i16 2851, i16 5627, i16 5626, i16 0, i16 10612, i16 5623, i16 10613, i16 0, i16 0, i16 3681, i16 0, i16 0, i16 0, i16 0, i16 10614, i16 5632, i16 10615, i16 10616, i16 5636, i16 5633, i16 10617, i16 10618, i16 10619, i16 0, i16 10620, i16 0, i16 10621, i16 0, i16 7797, i16 0, i16 1797, i16 3950, i16 0, i16 7798, i16 0, i16 0, i16 3367, i16 1706, i16 1273, i16 3478, i16 2391, i16 3032, i16 1966, i16 7799, i16 0, i16 0, i16 7800, i16 7801, i16 2006, i16 7802, i16 1945, i16 1958, i16 0, i16 2053, i16 7803, i16 3033, i16 0, i16 7804, i16 7805, i16 3953, i16 12917, i16 0, i16 12918, i16 0, i16 6964, i16 0, i16 6960, i16 0, i16 6961, i16 6957, i16 6963, i16 12919, i16 6959, i16 1093, i16 0, i16 12920, i16 3703, i16 12921, i16 6962, i16 6958, i16 6956, i16 6955, i16 12922, i16 0, i16 12923, i16 12924, i16 12925, i16 6966, i16 12926, i16 0, i16 12927, i16 0, i16 9590, i16 2555, i16 9591, i16 0, i16 5069, i16 9592, i16 5058, i16 0, i16 5064, i16 9593, i16 5071, i16 837, i16 5061, i16 0, i16 5072, i16 9594, i16 9595, i16 2183, i16 0, i16 2030, i16 9596, i16 3194, i16 9597, i16 1699, i16 0, i16 5053, i16 5067, i16 2745, i16 9598, i16 0, i16 0, i16 0, i16 3448, i16 0, i16 6681, i16 2357, i16 12444, i16 0, i16 0, i16 6682, i16 12445, i16 3225, i16 6683, i16 1038, i16 12446, i16 12447, i16 12448, i16 867, i16 0, i16 1176, i16 0, i16 1175, i16 6684, i16 0, i16 6685, i16 0, i16 6686, i16 6687, i16 0, i16 0, i16 0, i16 12449, i16 12450, i16 12451, i16 4472, i16 4470, i16 8699, i16 2401, i16 0, i16 8700, i16 0, i16 4460, i16 1799, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2475, i16 4491, i16 8701, i16 2402, i16 4486, i16 8702, i16 4483, i16 4484, i16 8703, i16 1943, i16 4487, i16 4490, i16 8704, i16 8705, i16 0, i16 0, i16 6008, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11157, i16 3267, i16 11158, i16 5999, i16 0, i16 0, i16 0, i16 991, i16 1551, i16 3104, i16 6009, i16 0, i16 5997, i16 0, i16 11159, i16 6006, i16 11160, i16 11161, i16 0, i16 6016, i16 11162, i16 6001, i16 0, i16 0, i16 9336, i16 3424, i16 4926, i16 4913, i16 9337, i16 0, i16 0, i16 0, i16 9338, i16 1499, i16 936, i16 1090, i16 0, i16 0, i16 4889, i16 0, i16 9339, i16 0, i16 9340, i16 0, i16 9341, i16 2094, i16 4918, i16 9342, i16 4925, i16 1962, i16 1109, i16 9343, i16 0, i16 2545, i16 9344, i16 9345, i16 11640, i16 0, i16 11641, i16 1480, i16 11642, i16 6284, i16 11643, i16 0, i16 0, i16 0, i16 3295, i16 11644, i16 11645, i16 2312, i16 0, i16 11646, i16 0, i16 1301, i16 0, i16 3462, i16 2385, i16 11647, i16 6285, i16 11648, i16 0, i16 0, i16 2194, i16 2611, i16 2119, i16 11649, i16 11650, i16 0, i16 8313, i16 2599, i16 0, i16 4213, i16 0, i16 8314, i16 4215, i16 0, i16 0, i16 4216, i16 8315, i16 0, i16 0, i16 0, i16 8316, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8317, i16 8318, i16 0, i16 0, i16 0, i16 4218, i16 4219, i16 0, i16 8319, i16 0, i16 0, i16 11129, i16 0, i16 11130, i16 0, i16 11131, i16 5980, i16 11132, i16 5988, i16 0, i16 5995, i16 5989, i16 0, i16 0, i16 11133, i16 5987, i16 0, i16 0, i16 0, i16 11134, i16 5958, i16 11135, i16 11136, i16 5985, i16 0, i16 11137, i16 11138, i16 5981, i16 11139, i16 11140, i16 11141, i16 1169, i16 5983, i16 890, i16 11664, i16 6294, i16 1459, i16 0, i16 11665, i16 1857, i16 11666, i16 0, i16 1856, i16 0, i16 3704, i16 6293, i16 6292, i16 2350, i16 0, i16 1260, i16 3694, i16 1053, i16 2121, i16 0, i16 11667, i16 11668, i16 11669, i16 0, i16 11670, i16 11671, i16 11672, i16 6291, i16 0, i16 11673, i16 11674, i16 3962, i16 0, i16 3663, i16 7821, i16 7822, i16 0, i16 3271, i16 7823, i16 2697, i16 1563, i16 1671, i16 0, i16 0, i16 7824, i16 3970, i16 7825, i16 0, i16 2874, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7826, i16 3974, i16 3707, i16 4830, i16 0, i16 0, i16 4844, i16 801, i16 9267, i16 0, i16 4832, i16 9268, i16 9269, i16 3403, i16 4837, i16 2157, i16 2664, i16 4827, i16 9270, i16 9271, i16 4843, i16 9272, i16 0, i16 0, i16 9273, i16 9274, i16 0, i16 2245, i16 4853, i16 1108, i16 1498, i16 0, i16 0, i16 0, i16 11387, i16 0, i16 0, i16 11388, i16 3027, i16 11389, i16 0, i16 11390, i16 0, i16 6122, i16 0, i16 0, i16 6123, i16 3135, i16 3059, i16 6126, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2530, i16 6136, i16 11392, i16 6132, i16 11393, i16 11394, i16 1008, i16 0, i16 2172, i16 0, i16 0, i16 8264, i16 8265, i16 4194, i16 0, i16 8266, i16 8267, i16 3247, i16 8268, i16 0, i16 0, i16 8269, i16 0, i16 1565, i16 8270, i16 0, i16 0, i16 0, i16 0, i16 4203, i16 4204, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2072, i16 0, i16 0, i16 0, i16 6012, i16 0, i16 6011, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2982, i16 6018, i16 0, i16 6029, i16 0, i16 0, i16 11171, i16 0, i16 1121, i16 0, i16 0, i16 0, i16 6032, i16 0, i16 0, i16 6014, i16 11172, i16 0, i16 0, i16 6019, i16 3549, i16 0, i16 0, i16 10108, i16 0, i16 0, i16 10109, i16 5331, i16 0, i16 5336, i16 10110, i16 10111, i16 5334, i16 5333, i16 4684, i16 1033, i16 5332, i16 10112, i16 803, i16 10113, i16 3011, i16 10114, i16 0, i16 3043, i16 0, i16 0, i16 10115, i16 0, i16 3582, i16 5337, i16 5335, i16 2591, i16 2255, i16 10116, i16 10117, i16 7806, i16 874, i16 2392, i16 1590, i16 1534, i16 1380, i16 7807, i16 7808, i16 3957, i16 2532, i16 2531, i16 1320, i16 2065, i16 3958, i16 3956, i16 969, i16 2507, i16 1897, i16 1822, i16 845, i16 0, i16 7809, i16 1107, i16 1661, i16 1821, i16 0, i16 3959, i16 0, i16 0, i16 0, i16 0, i16 0, i16 639, i16 640, i16 7138, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 7135, i16 7140, i16 7137, i16 7139, i16 7142, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6271, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1076, i16 0, i16 11616, i16 11617, i16 11618, i16 11619, i16 11620, i16 0, i16 6272, i16 0, i16 6273, i16 6274, i16 0, i16 0, i16 9087, i16 9088, i16 4731, i16 0, i16 4727, i16 0, i16 1029, i16 4728, i16 4729, i16 3054, i16 9090, i16 9091, i16 9092, i16 0, i16 3160, i16 1445, i16 4732, i16 0, i16 0, i16 9094, i16 2267, i16 9095, i16 2090, i16 9097, i16 9098, i16 9099, i16 2581, i16 9100, i16 9102, i16 0, i16 9093, i16 9096, i16 9599, i16 0, i16 0, i16 0, i16 9600, i16 2271, i16 0, i16 1100, i16 1734, i16 2097, i16 5055, i16 2001, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1447, i16 0, i16 5054, i16 0, i16 0, i16 0, i16 5076, i16 2044, i16 1523, i16 0, i16 5091, i16 9601, i16 5085, i16 8320, i16 8321, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8322, i16 1203, i16 0, i16 4221, i16 4220, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4222, i16 8323, i16 0, i16 8325, i16 0, i16 8326, i16 0, i16 8327, i16 0, i16 0, i16 8576, i16 4395, i16 0, i16 0, i16 8577, i16 8578, i16 0, i16 8579, i16 4396, i16 0, i16 1325, i16 0, i16 4397, i16 8580, i16 4398, i16 0, i16 8581, i16 4400, i16 0, i16 2805, i16 8582, i16 0, i16 4401, i16 4402, i16 8583, i16 4403, i16 0, i16 8584, i16 4388, i16 4387, i16 0, i16 0, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 0, i16 0, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 1665, i16 2915, i16 0, i16 0, i16 5051, i16 0, i16 0, i16 0, i16 9719, i16 9720, i16 0, i16 3555, i16 5149, i16 0, i16 5153, i16 2522, i16 9721, i16 5152, i16 0, i16 5131, i16 0, i16 9722, i16 6697, i16 0, i16 0, i16 9723, i16 5157, i16 0, i16 9724, i16 9725, i16 5161, i16 0, i16 5249, i16 5250, i16 5248, i16 0, i16 0, i16 9900, i16 0, i16 0, i16 0, i16 1950, i16 0, i16 0, i16 2853, i16 1334, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9901, i16 9902, i16 0, i16 0, i16 5252, i16 2543, i16 5251, i16 9903, i16 9904, i16 3680, i16 2973, i16 9905, i16 0, i16 5507, i16 1426, i16 0, i16 0, i16 10420, i16 10421, i16 10422, i16 1247, i16 1222, i16 1846, i16 10423, i16 10424, i16 0, i16 0, i16 0, i16 10425, i16 3491, i16 10426, i16 0, i16 5513, i16 10427, i16 5512, i16 2379, i16 5509, i16 10428, i16 0, i16 5511, i16 10429, i16 10430, i16 2010, i16 2187, i16 5510, i16 11651, i16 6286, i16 0, i16 11652, i16 0, i16 11653, i16 6289, i16 11654, i16 6290, i16 11655, i16 0, i16 0, i16 0, i16 11656, i16 11657, i16 0, i16 1715, i16 2471, i16 6288, i16 11658, i16 2120, i16 3125, i16 11659, i16 11660, i16 11661, i16 0, i16 0, i16 6287, i16 11662, i16 11663, i16 1855, i16 0, i16 5508, i16 0, i16 2917, i16 0, i16 0, i16 2106, i16 0, i16 10431, i16 3123, i16 10432, i16 0, i16 10433, i16 0, i16 1740, i16 0, i16 0, i16 0, i16 0, i16 10434, i16 0, i16 0, i16 0, i16 0, i16 2807, i16 0, i16 10435, i16 5514, i16 10436, i16 10437, i16 0, i16 10438, i16 5515, i16 4485, i16 1972, i16 8706, i16 4488, i16 0, i16 0, i16 4482, i16 8707, i16 3469, i16 3468, i16 8708, i16 0, i16 8709, i16 4492, i16 4493, i16 798, i16 8710, i16 8711, i16 8712, i16 8713, i16 8714, i16 4481, i16 8715, i16 8716, i16 0, i16 8717, i16 1391, i16 751, i16 8718, i16 0, i16 8719, i16 1143, i16 4230, i16 8332, i16 0, i16 4228, i16 0, i16 4229, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8333, i16 8334, i16 0, i16 0, i16 0, i16 1829, i16 4231, i16 8335, i16 0, i16 1597, i16 4232, i16 8336, i16 1869, i16 2461, i16 0, i16 4233, i16 4234, i16 1837, i16 1598, i16 8337, i16 3427, i16 1673, i16 0, i16 3259, i16 5542, i16 10499, i16 10500, i16 3335, i16 10501, i16 10502, i16 5544, i16 0, i16 0, i16 10503, i16 2298, i16 886, i16 959, i16 757, i16 0, i16 0, i16 0, i16 0, i16 10504, i16 10505, i16 5543, i16 0, i16 10506, i16 0, i16 0, i16 10507, i16 10508, i16 0, i16 10509, i16 2441, i16 6521, i16 754, i16 3661, i16 0, i16 0, i16 0, i16 6526, i16 12021, i16 12022, i16 12024, i16 0, i16 12025, i16 12026, i16 2502, i16 12023, i16 0, i16 1988, i16 2197, i16 12027, i16 12028, i16 6528, i16 6527, i16 12029, i16 824, i16 6529, i16 0, i16 0, i16 3110, i16 0, i16 6537, i16 12030, i16 8585, i16 4404, i16 1436, i16 8586, i16 8587, i16 0, i16 3102, i16 8588, i16 0, i16 1729, i16 3118, i16 2631, i16 3138, i16 4405, i16 0, i16 8589, i16 2081, i16 877, i16 8590, i16 4406, i16 8591, i16 8592, i16 0, i16 4407, i16 8593, i16 3459, i16 8594, i16 0, i16 3065, i16 8595, i16 8596, i16 4410, i16 10634, i16 1163, i16 0, i16 5637, i16 0, i16 10635, i16 10636, i16 5638, i16 10637, i16 0, i16 5639, i16 5642, i16 10638, i16 0, i16 0, i16 0, i16 0, i16 10639, i16 0, i16 10640, i16 10641, i16 0, i16 10642, i16 5641, i16 3087, i16 10643, i16 10644, i16 0, i16 0, i16 5643, i16 3657, i16 3266, i16 1675, i16 3402, i16 12998, i16 12997, i16 7003, i16 12999, i16 0, i16 0, i16 0, i16 13000, i16 13001, i16 13002, i16 3301, i16 0, i16 0, i16 7011, i16 13003, i16 0, i16 7007, i16 0, i16 0, i16 0, i16 13004, i16 13005, i16 0, i16 0, i16 7012, i16 13006, i16 13007, i16 0, i16 13008, i16 0, i16 7563, i16 7564, i16 7565, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7566, i16 0, i16 1722, i16 3506, i16 0, i16 7567, i16 7568, i16 0, i16 3804, i16 3807, i16 3803, i16 1721, i16 0, i16 2060, i16 0, i16 7569, i16 7570, i16 0, i16 0, i16 7571, i16 1428, i16 0, i16 3980, i16 7837, i16 0, i16 7838, i16 3982, i16 7839, i16 3984, i16 0, i16 7840, i16 7841, i16 0, i16 1765, i16 3693, i16 7842, i16 3973, i16 3971, i16 3983, i16 7843, i16 3978, i16 0, i16 0, i16 7844, i16 7845, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7846, i16 0, i16 0, i16 7847, i16 9868, i16 953, i16 3679, i16 9869, i16 0, i16 0, i16 0, i16 3333, i16 9870, i16 3199, i16 0, i16 9871, i16 0, i16 0, i16 9872, i16 9873, i16 0, i16 9874, i16 2272, i16 0, i16 5232, i16 0, i16 0, i16 9875, i16 9876, i16 2848, i16 0, i16 9877, i16 9878, i16 1500, i16 5233, i16 9879, i16 11148, i16 6005, i16 0, i16 0, i16 0, i16 2246, i16 0, i16 11149, i16 0, i16 11150, i16 1253, i16 0, i16 1370, i16 0, i16 6000, i16 11151, i16 11152, i16 11153, i16 0, i16 992, i16 11154, i16 0, i16 2113, i16 0, i16 6003, i16 0, i16 0, i16 0, i16 1743, i16 11155, i16 0, i16 2768, i16 4749, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4751, i16 0, i16 9131, i16 4752, i16 0, i16 9132, i16 9133, i16 0, i16 9134, i16 0, i16 4753, i16 0, i16 1351, i16 879, i16 1616, i16 4754, i16 0, i16 4755, i16 2048, i16 2409, i16 9135, i16 9089, i16 3954, i16 2373, i16 2372, i16 2493, i16 9101, i16 1348, i16 0, i16 4733, i16 4737, i16 0, i16 0, i16 976, i16 4734, i16 4736, i16 0, i16 9103, i16 9104, i16 9105, i16 4735, i16 0, i16 9106, i16 2042, i16 9107, i16 0, i16 0, i16 0, i16 2571, i16 782, i16 4738, i16 9108, i16 9109, i16 9110, i16 9111, i16 4739, i16 0, i16 9112, i16 10897, i16 5830, i16 0, i16 0, i16 10898, i16 0, i16 10899, i16 0, i16 5831, i16 0, i16 0, i16 0, i16 10900, i16 0, i16 10901, i16 0, i16 10902, i16 0, i16 0, i16 1883, i16 10903, i16 10904, i16 3454, i16 10905, i16 0, i16 10906, i16 10907, i16 5833, i16 10908, i16 2562, i16 10909, i16 5832, i16 3218, i16 3626, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8131, i16 1017, i16 4128, i16 8132, i16 8133, i16 0, i16 8134, i16 8135, i16 2369, i16 4131, i16 0, i16 2786, i16 8136, i16 0, i16 2760, i16 2787, i16 3026, i16 2670, i16 0, i16 0, i16 0, i16 1726, i16 8137, i16 3731, i16 3303, i16 3732, i16 0, i16 1579, i16 816, i16 3365, i16 0, i16 1307, i16 0, i16 0, i16 1308, i16 1309, i16 2691, i16 3593, i16 7399, i16 3733, i16 0, i16 0, i16 3734, i16 0, i16 0, i16 3735, i16 0, i16 0, i16 7400, i16 2200, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4243, i16 8345, i16 0, i16 4244, i16 8346, i16 2517, i16 8347, i16 846, i16 1946, i16 779, i16 8348, i16 2398, i16 1137, i16 1894, i16 8349, i16 1599, i16 8350, i16 8351, i16 0, i16 8352, i16 8353, i16 2789, i16 8354, i16 1968, i16 1138, i16 2603, i16 2699, i16 769, i16 1240, i16 3274, i16 0, i16 1907, i16 7060, i16 0, i16 0, i16 0, i16 13092, i16 7061, i16 0, i16 13093, i16 7062, i16 0, i16 0, i16 0, i16 13094, i16 13095, i16 13096, i16 7063, i16 13097, i16 13098, i16 13099, i16 0, i16 7064, i16 13100, i16 7065, i16 7066, i16 13101, i16 7067, i16 0, i16 7068, i16 7069, i16 7070, i16 0, i16 13102, i16 7572, i16 0, i16 3808, i16 7573, i16 7574, i16 1356, i16 0, i16 7575, i16 0, i16 3805, i16 3806, i16 0, i16 7576, i16 2828, i16 7577, i16 2435, i16 7578, i16 1312, i16 0, i16 7579, i16 7580, i16 3328, i16 3809, i16 0, i16 7581, i16 0, i16 3594, i16 0, i16 7582, i16 7583, i16 3810, i16 7584, i16 6549, i16 6548, i16 6546, i16 5564, i16 1173, i16 12043, i16 0, i16 6514, i16 12044, i16 6551, i16 6550, i16 12045, i16 12046, i16 0, i16 12047, i16 6552, i16 12048, i16 3495, i16 0, i16 0, i16 0, i16 12049, i16 0, i16 12050, i16 12051, i16 12052, i16 0, i16 12053, i16 0, i16 0, i16 0, i16 0, i16 2710, i16 2000, i16 1280, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9490, i16 9491, i16 0, i16 9492, i16 3039, i16 9493, i16 1887, i16 0, i16 9494, i16 0, i16 9495, i16 5004, i16 0, i16 1153, i16 0, i16 9496, i16 927, i16 9497, i16 9498, i16 2895, i16 5003, i16 1621, i16 10390, i16 10391, i16 0, i16 0, i16 10387, i16 0, i16 10392, i16 5497, i16 3348, i16 0, i16 10393, i16 0, i16 5496, i16 0, i16 0, i16 820, i16 0, i16 0, i16 10394, i16 10395, i16 5500, i16 0, i16 10397, i16 10398, i16 0, i16 0, i16 10399, i16 10400, i16 0, i16 5499, i16 0, i16 10401, i16 12184, i16 12185, i16 0, i16 0, i16 12186, i16 12187, i16 12188, i16 12189, i16 0, i16 12190, i16 12191, i16 0, i16 12192, i16 2876, i16 1062, i16 0, i16 12193, i16 6601, i16 12194, i16 12195, i16 6598, i16 6600, i16 12196, i16 0, i16 12197, i16 0, i16 0, i16 0, i16 12198, i16 12199, i16 6596, i16 0, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 3481, i16 0, i16 8676, i16 1142, i16 8677, i16 8678, i16 896, i16 4468, i16 8679, i16 2933, i16 758, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8680, i16 8681, i16 3066, i16 4428, i16 4474, i16 4478, i16 3446, i16 8682, i16 4471, i16 0, i16 0, i16 8683, i16 2792, i16 4476, i16 8684, i16 0, i16 9113, i16 0, i16 2635, i16 0, i16 9114, i16 0, i16 3646, i16 0, i16 0, i16 0, i16 0, i16 1814, i16 0, i16 9115, i16 3264, i16 0, i16 0, i16 9116, i16 9117, i16 0, i16 3312, i16 9118, i16 0, i16 0, i16 4746, i16 4741, i16 0, i16 9119, i16 4744, i16 0, i16 4743, i16 9120, i16 922, i16 2387, i16 12036, i16 1512, i16 0, i16 3529, i16 12037, i16 12038, i16 6541, i16 2731, i16 0, i16 0, i16 12039, i16 2431, i16 1928, i16 6542, i16 12040, i16 0, i16 6545, i16 0, i16 12041, i16 2036, i16 6543, i16 2354, i16 2353, i16 12042, i16 813, i16 0, i16 3608, i16 6547, i16 0, i16 3083, i16 2714, i16 5730, i16 10770, i16 0, i16 5726, i16 10771, i16 10772, i16 0, i16 3241, i16 1164, i16 10773, i16 10774, i16 3420, i16 10775, i16 0, i16 807, i16 0, i16 10776, i16 5729, i16 0, i16 3658, i16 10777, i16 10778, i16 0, i16 0, i16 10779, i16 10780, i16 5728, i16 0, i16 0, i16 0, i16 0, i16 11930, i16 11931, i16 0, i16 11932, i16 11933, i16 6468, i16 6465, i16 11934, i16 6469, i16 0, i16 1927, i16 6470, i16 1231, i16 1422, i16 0, i16 11935, i16 0, i16 11936, i16 1511, i16 0, i16 11937, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6471, i16 11938, i16 0, i16 0, i16 2893, i16 11419, i16 0, i16 0, i16 11420, i16 0, i16 11421, i16 0, i16 0, i16 0, i16 2319, i16 0, i16 3684, i16 6148, i16 11422, i16 6149, i16 0, i16 0, i16 0, i16 0, i16 6155, i16 0, i16 2165, i16 0, i16 6151, i16 11423, i16 6154, i16 0, i16 0, i16 0, i16 11424, i16 0, i16 6146, i16 11675, i16 0, i16 6296, i16 11676, i16 6297, i16 6295, i16 11677, i16 1553, i16 0, i16 3503, i16 0, i16 11678, i16 1858, i16 2914, i16 0, i16 11679, i16 11680, i16 6300, i16 11681, i16 2281, i16 0, i16 2565, i16 11682, i16 11683, i16 3493, i16 11684, i16 6303, i16 0, i16 0, i16 0, i16 1573, i16 11685, i16 10140, i16 10141, i16 5356, i16 5358, i16 10142, i16 3129, i16 10143, i16 2102, i16 0, i16 0, i16 5365, i16 0, i16 10144, i16 5364, i16 10145, i16 10146, i16 0, i16 0, i16 5366, i16 0, i16 1879, i16 1700, i16 0, i16 10147, i16 2806, i16 5367, i16 0, i16 2668, i16 10148, i16 0, i16 5369, i16 10149, i16 10396, i16 2105, i16 0, i16 0, i16 0, i16 0, i16 10402, i16 5501, i16 0, i16 0, i16 0, i16 0, i16 10403, i16 0, i16 2378, i16 0, i16 10404, i16 5503, i16 5502, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5504, i16 10405, i16 0, i16 10406, i16 0, i16 10407, i16 10408, i16 5789, i16 10839, i16 0, i16 10840, i16 10841, i16 10842, i16 10843, i16 5792, i16 5790, i16 5791, i16 1750, i16 1454, i16 0, i16 10844, i16 2585, i16 0, i16 3020, i16 10845, i16 2047, i16 0, i16 0, i16 2952, i16 0, i16 3078, i16 5793, i16 4539, i16 0, i16 0, i16 0, i16 10846, i16 10847, i16 10848, i16 10910, i16 0, i16 0, i16 0, i16 10911, i16 0, i16 5835, i16 0, i16 0, i16 0, i16 5834, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5836, i16 0, i16 0, i16 0, i16 2276, i16 0, i16 5837, i16 0, i16 5838, i16 0, i16 0, i16 0, i16 3214, i16 5839, i16 12702, i16 12703, i16 6839, i16 0, i16 0, i16 6841, i16 12704, i16 12705, i16 12706, i16 6840, i16 0, i16 6843, i16 6846, i16 12707, i16 12708, i16 0, i16 6842, i16 6844, i16 6845, i16 0, i16 12709, i16 6847, i16 0, i16 1343, i16 12710, i16 12711, i16 0, i16 12712, i16 12713, i16 0, i16 12714, i16 12715, i16 1951, i16 9987, i16 0, i16 9988, i16 0, i16 5280, i16 9989, i16 9990, i16 0, i16 9991, i16 1433, i16 0, i16 0, i16 3042, i16 5281, i16 0, i16 0, i16 5308, i16 0, i16 0, i16 9992, i16 9993, i16 0, i16 9994, i16 5287, i16 9995, i16 9996, i16 9997, i16 0, i16 9998, i16 1526, i16 9999, i16 5279, i16 0, i16 982, i16 0, i16 0, i16 9976, i16 9977, i16 0, i16 5275, i16 9978, i16 1804, i16 9979, i16 9980, i16 2658, i16 5277, i16 9981, i16 0, i16 0, i16 9982, i16 9983, i16 0, i16 0, i16 9984, i16 0, i16 0, i16 9985, i16 0, i16 0, i16 0, i16 9986, i16 5282, i16 0, i16 5535, i16 10488, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10489, i16 0, i16 0, i16 0, i16 10490, i16 0, i16 10491, i16 1952, i16 10492, i16 10493, i16 5538, i16 825, i16 0, i16 10494, i16 10495, i16 0, i16 5541, i16 10496, i16 10497, i16 10498, i16 5539, i16 985, i16 1449, i16 5540, i16 1629, i16 2976, i16 11805, i16 1510, i16 6388, i16 6387, i16 0, i16 3169, i16 0, i16 11806, i16 0, i16 1906, i16 0, i16 11807, i16 2769, i16 0, i16 11808, i16 11809, i16 0, i16 11810, i16 0, i16 0, i16 11811, i16 0, i16 11812, i16 11813, i16 0, i16 6391, i16 6392, i16 1647, i16 6390, i16 11814, i16 11815, i16 9632, i16 0, i16 823, i16 0, i16 0, i16 5106, i16 0, i16 9633, i16 0, i16 0, i16 5094, i16 0, i16 0, i16 9634, i16 9635, i16 5100, i16 0, i16 9636, i16 5102, i16 9637, i16 0, i16 0, i16 3518, i16 5097, i16 0, i16 0, i16 2733, i16 9638, i16 0, i16 5099, i16 0, i16 9639, i16 10912, i16 2422, i16 5840, i16 0, i16 10913, i16 0, i16 10914, i16 0, i16 5841, i16 0, i16 0, i16 0, i16 0, i16 10915, i16 0, i16 3659, i16 5844, i16 10916, i16 5843, i16 5842, i16 2641, i16 10917, i16 5845, i16 2161, i16 0, i16 5846, i16 0, i16 0, i16 0, i16 5847, i16 3683, i16 5848, i16 5537, i16 1365, i16 0, i16 0, i16 3688, i16 2364, i16 0, i16 0, i16 0, i16 0, i16 5516, i16 10439, i16 10440, i16 983, i16 2712, i16 3190, i16 0, i16 10441, i16 0, i16 10442, i16 10443, i16 10444, i16 10445, i16 0, i16 10446, i16 0, i16 0, i16 10447, i16 10448, i16 5517, i16 0, i16 0, i16 9121, i16 4740, i16 9122, i16 9123, i16 4745, i16 0, i16 0, i16 2875, i16 9124, i16 4742, i16 0, i16 0, i16 9125, i16 0, i16 9126, i16 9127, i16 0, i16 0, i16 0, i16 0, i16 9128, i16 0, i16 4747, i16 0, i16 0, i16 2043, i16 4748, i16 9129, i16 3514, i16 2995, i16 0, i16 9130, i16 4770, i16 2143, i16 3438, i16 4772, i16 4773, i16 3543, i16 9153, i16 0, i16 0, i16 0, i16 4778, i16 0, i16 9154, i16 1617, i16 9155, i16 2960, i16 4775, i16 2795, i16 4712, i16 4716, i16 9156, i16 1262, i16 9157, i16 2946, i16 0, i16 0, i16 0, i16 9158, i16 4777, i16 0, i16 2091, i16 3037, i16 932, i16 2261, i16 4409, i16 4408, i16 1437, i16 2489, i16 0, i16 4414, i16 4412, i16 8597, i16 4411, i16 3572, i16 1566, i16 8598, i16 0, i16 8599, i16 2056, i16 4413, i16 2763, i16 1997, i16 0, i16 0, i16 8600, i16 2845, i16 4417, i16 4416, i16 0, i16 0, i16 8601, i16 8602, i16 4415, i16 0, i16 10150, i16 10151, i16 3566, i16 5368, i16 10152, i16 0, i16 0, i16 10153, i16 0, i16 2416, i16 0, i16 0, i16 10154, i16 0, i16 10155, i16 10156, i16 5374, i16 10157, i16 5376, i16 5377, i16 2583, i16 0, i16 0, i16 0, i16 0, i16 10158, i16 5375, i16 0, i16 5372, i16 0, i16 5370, i16 5371, i16 9640, i16 9641, i16 5107, i16 9642, i16 5101, i16 3416, i16 0, i16 9643, i16 9644, i16 5096, i16 9645, i16 1875, i16 5120, i16 9646, i16 9647, i16 9648, i16 0, i16 1101, i16 0, i16 5098, i16 5103, i16 5104, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2513, i16 2495, i16 0, i16 4009, i16 7890, i16 0, i16 0, i16 2516, i16 4014, i16 2067, i16 7891, i16 0, i16 7892, i16 7893, i16 0, i16 4011, i16 7894, i16 0, i16 3445, i16 7895, i16 7896, i16 0, i16 1431, i16 0, i16 0, i16 4015, i16 4016, i16 7897, i16 0, i16 7898, i16 7899, i16 4013, i16 4019, i16 7900, i16 0, i16 6057, i16 6061, i16 0, i16 3058, i16 0, i16 0, i16 11253, i16 0, i16 6060, i16 2115, i16 1914, i16 6063, i16 0, i16 0, i16 1339, i16 11254, i16 11255, i16 11256, i16 11257, i16 11258, i16 0, i16 6064, i16 11259, i16 3184, i16 6059, i16 11260, i16 6020, i16 0, i16 11261, i16 11262, i16 11263, i16 11264, i16 10409, i16 0, i16 0, i16 0, i16 0, i16 10410, i16 5474, i16 10411, i16 0, i16 10412, i16 5476, i16 5506, i16 5505, i16 10413, i16 0, i16 0, i16 0, i16 10414, i16 0, i16 0, i16 10415, i16 10416, i16 0, i16 0, i16 0, i16 0, i16 1881, i16 10417, i16 3638, i16 10418, i16 1923, i16 10419, i16 4266, i16 0, i16 4267, i16 8383, i16 3441, i16 0, i16 8384, i16 0, i16 4268, i16 8385, i16 0, i16 8386, i16 8387, i16 1347, i16 8388, i16 0, i16 8389, i16 1969, i16 8390, i16 0, i16 0, i16 8391, i16 8392, i16 0, i16 4269, i16 4270, i16 1933, i16 2167, i16 2897, i16 2207, i16 3089, i16 2909, i16 6315, i16 6323, i16 6316, i16 0, i16 6312, i16 0, i16 2717, i16 6311, i16 0, i16 0, i16 0, i16 6309, i16 11707, i16 3472, i16 1859, i16 0, i16 11708, i16 6313, i16 0, i16 6310, i16 11709, i16 11710, i16 11711, i16 6317, i16 2051, i16 0, i16 1530, i16 0, i16 11712, i16 0, i16 2527, i16 11713, i16 7083, i16 7084, i16 3645, i16 7081, i16 0, i16 0, i16 7085, i16 7086, i16 13145, i16 13146, i16 7088, i16 0, i16 7087, i16 13147, i16 13148, i16 13149, i16 13150, i16 13151, i16 7090, i16 13152, i16 0, i16 13153, i16 7091, i16 7089, i16 0, i16 0, i16 13154, i16 0, i16 0, i16 13155, i16 0, i16 0, i16 11947, i16 0, i16 11948, i16 1078, i16 0, i16 6478, i16 0, i16 11949, i16 11950, i16 1745, i16 6477, i16 0, i16 6486, i16 0, i16 0, i16 11951, i16 11952, i16 0, i16 6480, i16 6482, i16 3258, i16 6479, i16 11953, i16 11954, i16 11955, i16 6481, i16 0, i16 6485, i16 6483, i16 1232, i16 11956, i16 6484, i16 1964, i16 0, i16 12536, i16 12537, i16 6746, i16 12538, i16 6747, i16 2199, i16 6748, i16 12539, i16 3643, i16 0, i16 0, i16 6743, i16 6750, i16 6752, i16 0, i16 6751, i16 0, i16 6749, i16 0, i16 0, i16 6753, i16 0, i16 0, i16 6754, i16 12540, i16 12541, i16 2433, i16 12542, i16 999, i16 0, i16 12716, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8365, i16 8366, i16 1941, i16 4247, i16 1204, i16 2863, i16 3386, i16 4248, i16 0, i16 4249, i16 0, i16 0, i16 3152, i16 8367, i16 0, i16 8368, i16 4251, i16 0, i16 1129, i16 1396, i16 4250, i16 0, i16 8369, i16 8370, i16 8371, i16 8372, i16 8373, i16 1139, i16 0, i16 2173, i16 4255, i16 1780, i16 10159, i16 5373, i16 10160, i16 10161, i16 10162, i16 0, i16 0, i16 10163, i16 10164, i16 5380, i16 10165, i16 5378, i16 10166, i16 5379, i16 0, i16 10167, i16 0, i16 0, i16 10168, i16 10169, i16 0, i16 10170, i16 10171, i16 0, i16 0, i16 10172, i16 0, i16 10173, i16 10174, i16 10175, i16 10176, i16 5381, i16 2480, i16 12493, i16 6712, i16 0, i16 3172, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6715, i16 6713, i16 1654, i16 0, i16 6714, i16 1531, i16 0, i16 12494, i16 0, i16 12495, i16 0, i16 12496, i16 12497, i16 12498, i16 0, i16 0, i16 3226, i16 6717, i16 6719, i16 6718, i16 6720, i16 6065, i16 11276, i16 0, i16 0, i16 2993, i16 11277, i16 11278, i16 6075, i16 6067, i16 11279, i16 6069, i16 11280, i16 11281, i16 0, i16 0, i16 11282, i16 6079, i16 6068, i16 0, i16 11283, i16 6072, i16 0, i16 0, i16 921, i16 11284, i16 2882, i16 0, i16 6073, i16 6076, i16 11285, i16 0, i16 11286, i16 10673, i16 5663, i16 5661, i16 0, i16 5659, i16 1122, i16 10674, i16 2110, i16 5664, i16 0, i16 0, i16 5662, i16 0, i16 5660, i16 5668, i16 0, i16 10675, i16 5667, i16 5666, i16 5665, i16 0, i16 0, i16 10676, i16 10677, i16 0, i16 5669, i16 10678, i16 10679, i16 10680, i16 5670, i16 2275, i16 10681, i16 6834, i16 6830, i16 12689, i16 0, i16 6833, i16 0, i16 12690, i16 12691, i16 1180, i16 0, i16 0, i16 12692, i16 6835, i16 0, i16 6836, i16 0, i16 0, i16 12693, i16 12694, i16 12695, i16 12696, i16 12697, i16 0, i16 0, i16 0, i16 12698, i16 12699, i16 12700, i16 12701, i16 6837, i16 6838, i16 0, i16 11186, i16 3177, i16 6034, i16 2814, i16 11187, i16 11188, i16 762, i16 11189, i16 0, i16 6027, i16 11190, i16 6023, i16 2425, i16 6017, i16 6025, i16 6030, i16 11191, i16 2919, i16 0, i16 11192, i16 11193, i16 755, i16 11194, i16 6022, i16 11195, i16 6031, i16 3183, i16 0, i16 11196, i16 11197, i16 0, i16 0, i16 2228, i16 5817, i16 0, i16 10873, i16 0, i16 10874, i16 5818, i16 0, i16 10875, i16 5819, i16 0, i16 1190, i16 10876, i16 0, i16 10877, i16 10878, i16 1166, i16 0, i16 10879, i16 5820, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5821, i16 10880, i16 3344, i16 3538, i16 10881, i16 10882, i16 10883, i16 2996, i16 0, i16 1154, i16 3655, i16 0, i16 0, i16 9664, i16 0, i16 0, i16 9665, i16 9666, i16 3378, i16 2675, i16 9673, i16 0, i16 9667, i16 9668, i16 5117, i16 5119, i16 9669, i16 0, i16 0, i16 9670, i16 0, i16 2361, i16 0, i16 0, i16 9671, i16 9672, i16 0, i16 5121, i16 5115, i16 4021, i16 7906, i16 7907, i16 4031, i16 2360, i16 0, i16 7908, i16 4033, i16 7909, i16 1593, i16 4023, i16 2624, i16 0, i16 0, i16 7910, i16 7911, i16 0, i16 7912, i16 7913, i16 7914, i16 7915, i16 0, i16 0, i16 7916, i16 4027, i16 4020, i16 1134, i16 0, i16 1199, i16 1096, i16 4028, i16 4024, i16 11957, i16 11958, i16 0, i16 11959, i16 0, i16 11960, i16 6487, i16 11961, i16 11962, i16 2965, i16 3621, i16 0, i16 11963, i16 11964, i16 11965, i16 1987, i16 0, i16 0, i16 0, i16 6488, i16 11966, i16 11967, i16 11968, i16 11969, i16 3473, i16 6490, i16 11970, i16 6489, i16 0, i16 0, i16 6493, i16 3504, i16 7094, i16 13164, i16 13165, i16 13166, i16 0, i16 13167, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8374, i16 974, i16 4254, i16 0, i16 4252, i16 4256, i16 4253, i16 2918, i16 4883, i16 2174, i16 0, i16 4257, i16 0, i16 0, i16 3597, i16 8375, i16 4258, i16 8376, i16 0, i16 4260, i16 8377, i16 2625, i16 4259, i16 0, i16 2252, i16 0, i16 1870, i16 0, i16 0, i16 8378, i16 2485, i16 1960, i16 9142, i16 0, i16 9143, i16 0, i16 0, i16 0, i16 4759, i16 4760, i16 3435, i16 0, i16 3381, i16 3369, i16 3343, i16 1784, i16 4762, i16 0, i16 0, i16 1948, i16 0, i16 9144, i16 3332, i16 0, i16 4764, i16 4767, i16 4766, i16 0, i16 1210, i16 0, i16 0, i16 1279, i16 9145, i16 4763, i16 1975, i16 1847, i16 10458, i16 0, i16 10459, i16 0, i16 0, i16 10460, i16 10461, i16 5525, i16 10462, i16 1976, i16 0, i16 0, i16 0, i16 10463, i16 0, i16 975, i16 3130, i16 0, i16 10464, i16 5526, i16 10465, i16 0, i16 3076, i16 0, i16 10466, i16 0, i16 0, i16 10467, i16 10468, i16 2380, i16 6327, i16 3527, i16 0, i16 0, i16 0, i16 0, i16 6330, i16 0, i16 6333, i16 0, i16 0, i16 6331, i16 3116, i16 11722, i16 0, i16 0, i16 11723, i16 0, i16 0, i16 6328, i16 0, i16 0, i16 0, i16 11724, i16 0, i16 1373, i16 0, i16 0, i16 11725, i16 0, i16 6332, i16 0, i16 6584, i16 6585, i16 12161, i16 12162, i16 0, i16 12163, i16 3049, i16 1736, i16 1938, i16 6586, i16 0, i16 6587, i16 3569, i16 2004, i16 3455, i16 3609, i16 6588, i16 1375, i16 0, i16 12164, i16 12165, i16 0, i16 6589, i16 12166, i16 2722, i16 12167, i16 12168, i16 6592, i16 1115, i16 2198, i16 12169, i16 6590, i16 10936, i16 1550, i16 0, i16 0, i16 838, i16 5859, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10937, i16 10938, i16 5866, i16 10939, i16 5867, i16 10940, i16 10941, i16 2838, i16 0, i16 10942, i16 0, i16 1336, i16 10943, i16 10944, i16 0, i16 5878, i16 2936, i16 10945, i16 0, i16 11448, i16 0, i16 6159, i16 11449, i16 0, i16 0, i16 0, i16 11450, i16 0, i16 0, i16 0, i16 6168, i16 11451, i16 11452, i16 11453, i16 6162, i16 0, i16 11454, i16 0, i16 6170, i16 0, i16 11455, i16 0, i16 0, i16 0, i16 0, i16 3541, i16 6173, i16 0, i16 6164, i16 11456, i16 11457, i16 12216, i16 0, i16 12217, i16 12218, i16 2739, i16 6604, i16 12219, i16 12220, i16 6607, i16 6605, i16 12221, i16 6610, i16 0, i16 12222, i16 12223, i16 12224, i16 6611, i16 12225, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6603, i16 12226, i16 12227, i16 6616, i16 923, i16 12228, i16 12229, i16 6602, i16 0, i16 7865, i16 832, i16 4007, i16 0, i16 0, i16 3999, i16 4000, i16 0, i16 2066, i16 3356, i16 7866, i16 0, i16 7867, i16 4005, i16 4004, i16 7868, i16 0, i16 0, i16 2734, i16 0, i16 0, i16 0, i16 7869, i16 0, i16 0, i16 0, i16 4006, i16 0, i16 7870, i16 4003, i16 7871, i16 7872, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 0, i16 687, i16 7156, i16 7157, i16 7158, i16 7159, i16 7160, i16 7161, i16 7162, i16 7163, i16 7164, i16 7165, i16 7166, i16 0, i16 7167, i16 7168, i16 2490, i16 4430, i16 0, i16 0, i16 8646, i16 1277, i16 4440, i16 2262, i16 908, i16 4434, i16 1021, i16 4439, i16 0, i16 8647, i16 0, i16 1326, i16 0, i16 4436, i16 0, i16 8648, i16 0, i16 8649, i16 0, i16 0, i16 0, i16 0, i16 4442, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12475, i16 6705, i16 6707, i16 0, i16 12476, i16 6706, i16 12477, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1724, i16 0, i16 0, i16 3792, i16 0, i16 9136, i16 0, i16 9137, i16 1481, i16 3484, i16 0, i16 3283, i16 0, i16 3189, i16 9138, i16 4756, i16 0, i16 0, i16 0, i16 9139, i16 1768, i16 2656, i16 4757, i16 3674, i16 0, i16 9140, i16 0, i16 3313, i16 9141, i16 2636, i16 4758, i16 1213, i16 8124, i16 4126, i16 0, i16 0, i16 2698, i16 0, i16 8125, i16 8126, i16 0, i16 0, i16 1135, i16 0, i16 0, i16 8127, i16 0, i16 7095, i16 904, i16 3272, i16 8128, i16 0, i16 2137, i16 2759, i16 0, i16 0, i16 0, i16 8129, i16 1755, i16 0, i16 0, i16 4132, i16 0, i16 8130, i16 5309, i16 0, i16 3122, i16 5310, i16 10082, i16 0, i16 1125, i16 5311, i16 10083, i16 5312, i16 10084, i16 10085, i16 0, i16 0, i16 5313, i16 10086, i16 5315, i16 5316, i16 5314, i16 0, i16 10087, i16 0, i16 3146, i16 5318, i16 5317, i16 0, i16 10088, i16 10089, i16 10090, i16 0, i16 0, i16 10091, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 1470, i16 2526, i16 5138, i16 2934, i16 0, i16 9713, i16 5145, i16 9714, i16 9715, i16 0, i16 9716, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5150, i16 5148, i16 0, i16 0, i16 5151, i16 0, i16 9717, i16 5154, i16 0, i16 0, i16 9718, i16 5147, i16 7873, i16 7874, i16 0, i16 0, i16 859, i16 7875, i16 1707, i16 2171, i16 7876, i16 7877, i16 0, i16 0, i16 7878, i16 7879, i16 7880, i16 4001, i16 2785, i16 0, i16 0, i16 0, i16 4002, i16 7881, i16 747, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1474, i16 1874, i16 0, i16 1362, i16 9412, i16 0, i16 0, i16 937, i16 9413, i16 0, i16 0, i16 9414, i16 9415, i16 0, i16 0, i16 9416, i16 0, i16 0, i16 3534, i16 0, i16 0, i16 9417, i16 9418, i16 4956, i16 4955, i16 4958, i16 1244, i16 9419, i16 0, i16 1363, i16 1151, i16 9420, i16 3523, i16 3682, i16 0, i16 1636, i16 5824, i16 1925, i16 5823, i16 10884, i16 10885, i16 0, i16 10886, i16 5825, i16 1882, i16 10887, i16 10888, i16 10889, i16 2486, i16 10890, i16 5826, i16 10891, i16 10892, i16 1635, i16 10893, i16 3432, i16 5827, i16 5828, i16 0, i16 0, i16 5829, i16 10894, i16 10895, i16 10896, i16 11971, i16 11972, i16 6492, i16 11973, i16 1104, i16 6491, i16 6496, i16 11974, i16 0, i16 6495, i16 0, i16 0, i16 6494, i16 2737, i16 6497, i16 11975, i16 0, i16 11976, i16 11977, i16 11978, i16 11979, i16 11980, i16 0, i16 6498, i16 11981, i16 0, i16 0, i16 0, i16 6499, i16 11982, i16 11983, i16 1667, i16 3012, i16 10118, i16 3108, i16 0, i16 5339, i16 3577, i16 1448, i16 5340, i16 0, i16 5338, i16 3055, i16 5341, i16 0, i16 5342, i16 0, i16 10119, i16 804, i16 10120, i16 0, i16 2147, i16 5347, i16 0, i16 5344, i16 2890, i16 5343, i16 10121, i16 10122, i16 10123, i16 10124, i16 10125, i16 10126, i16 1221, i16 4804, i16 1472, i16 1446, i16 2796, i16 9208, i16 9209, i16 4802, i16 0, i16 783, i16 0, i16 9210, i16 0, i16 9211, i16 4805, i16 4807, i16 0, i16 1354, i16 1415, i16 9193, i16 1149, i16 1258, i16 9212, i16 0, i16 9213, i16 9214, i16 4810, i16 0, i16 9215, i16 1774, i16 3364, i16 0, i16 1802, i16 8900, i16 759, i16 0, i16 4625, i16 0, i16 8901, i16 0, i16 0, i16 0, i16 4622, i16 8902, i16 0, i16 8903, i16 0, i16 1209, i16 0, i16 0, i16 0, i16 8904, i16 8905, i16 910, i16 8906, i16 4628, i16 0, i16 8907, i16 8908, i16 3512, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2501, i16 2430, i16 12015, i16 2821, i16 12016, i16 6516, i16 1268, i16 0, i16 12017, i16 0, i16 0, i16 6525, i16 12018, i16 6522, i16 6535, i16 2822, i16 2595, i16 6519, i16 0, i16 2719, i16 2770, i16 6520, i16 6524, i16 2219, i16 12019, i16 2978, i16 2669, i16 12020, i16 0, i16 2283, i16 6523, i16 2451, i16 4550, i16 8780, i16 0, i16 8781, i16 8782, i16 0, i16 0, i16 8783, i16 4551, i16 4552, i16 3263, i16 0, i16 4554, i16 4553, i16 1998, i16 0, i16 2263, i16 1003, i16 1025, i16 8784, i16 4555, i16 8785, i16 776, i16 0, i16 0, i16 0, i16 2293, i16 4556, i16 8786, i16 6377, i16 4557, i16 1468, i16 12230, i16 12231, i16 3014, i16 0, i16 6606, i16 12232, i16 2125, i16 12233, i16 12234, i16 12235, i16 0, i16 0, i16 0, i16 0, i16 12236, i16 12237, i16 12238, i16 1650, i16 0, i16 0, i16 0, i16 12239, i16 12240, i16 12241, i16 12242, i16 12243, i16 0, i16 12244, i16 12245, i16 12246, i16 3323, i16 12247, i16 1479, i16 11505, i16 6195, i16 11506, i16 6194, i16 11507, i16 1983, i16 0, i16 11508, i16 11509, i16 11510, i16 11511, i16 1643, i16 5033, i16 11512, i16 0, i16 0, i16 11513, i16 6196, i16 2016, i16 0, i16 11514, i16 11515, i16 1052, i16 11516, i16 6197, i16 11517, i16 889, i16 11518, i16 2116, i16 6198, i16 11519, i16 968, i16 0, i16 0, i16 3649, i16 7705, i16 7706, i16 7707, i16 7708, i16 0, i16 2052, i16 2775, i16 1660, i16 3900, i16 3901, i16 0, i16 7709, i16 7710, i16 3634, i16 0, i16 0, i16 3670, i16 3903, i16 7711, i16 7712, i16 7713, i16 1587, i16 7714, i16 7715, i16 3902, i16 7716, i16 1042, i16 0, i16 1224, i16 0, i16 10478, i16 10479, i16 0, i16 0, i16 0, i16 10480, i16 5531, i16 10481, i16 10482, i16 2713, i16 10483, i16 5532, i16 2288, i16 0, i16 0, i16 10484, i16 0, i16 0, i16 3390, i16 10485, i16 0, i16 3098, i16 5533, i16 5534, i16 2584, i16 10486, i16 3604, i16 0, i16 10487, i16 5536, i16 2248, i16 1192, i16 0, i16 0, i16 3497, i16 1010, i16 1991, i16 1556, i16 0, i16 6739, i16 12524, i16 6738, i16 1862, i16 6740, i16 6737, i16 0, i16 0, i16 1787, i16 12525, i16 0, i16 0, i16 6744, i16 6167, i16 0, i16 12527, i16 3952, i16 12528, i16 2242, i16 6742, i16 12529, i16 12530, i16 12531, i16 1225, i16 0, i16 5685, i16 10699, i16 3460, i16 1631, i16 5684, i16 10700, i16 10701, i16 10702, i16 5688, i16 3447, i16 0, i16 2935, i16 0, i16 10703, i16 3114, i16 10704, i16 10705, i16 10706, i16 2034, i16 5687, i16 10707, i16 1924, i16 1632, i16 1849, i16 1288, i16 3211, i16 5686, i16 10708, i16 10709, i16 0, i16 1737, i16 5235, i16 5234, i16 0, i16 9880, i16 0, i16 0, i16 5236, i16 0, i16 9881, i16 0, i16 0, i16 0, i16 9882, i16 9883, i16 0, i16 0, i16 0, i16 5237, i16 9884, i16 0, i16 0, i16 5238, i16 0, i16 0, i16 0, i16 0, i16 9885, i16 0, i16 0, i16 0, i16 0, i16 1993, i16 2201, i16 3740, i16 7401, i16 3738, i16 0, i16 3739, i16 1271, i16 0, i16 0, i16 1688, i16 1013, i16 0, i16 3737, i16 3736, i16 3198, i16 7402, i16 0, i16 0, i16 0, i16 1817, i16 1816, i16 2467, i16 3741, i16 3148, i16 2320, i16 7403, i16 7404, i16 0, i16 245, i16 3742, i16 3744, i16 10953, i16 0, i16 0, i16 5870, i16 10954, i16 0, i16 0, i16 10955, i16 0, i16 5869, i16 0, i16 0, i16 10956, i16 0, i16 0, i16 5871, i16 10957, i16 2537, i16 0, i16 2937, i16 0, i16 10958, i16 0, i16 0, i16 0, i16 2642, i16 10959, i16 0, i16 10960, i16 0, i16 5875, i16 0, i16 714, i16 725, i16 715, i16 726, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 716, i16 0, i16 0, i16 727, i16 717, i16 0, i16 0, i16 728, i16 719, i16 0, i16 0, i16 730, i16 718, i16 0, i16 0, i16 729, i16 720, i16 741, i16 0, i16 0, i16 2762, i16 1913, i16 8396, i16 8397, i16 2399, i16 3561, i16 0, i16 8398, i16 8399, i16 8400, i16 0, i16 0, i16 4278, i16 8401, i16 4279, i16 2867, i16 8402, i16 1798, i16 0, i16 0, i16 8403, i16 8404, i16 4281, i16 0, i16 0, i16 4282, i16 8405, i16 8406, i16 8407, i16 8408, i16 0, i16 0, i16 8650, i16 4444, i16 4454, i16 4452, i16 0, i16 0, i16 4449, i16 8651, i16 8652, i16 8653, i16 4448, i16 3653, i16 8654, i16 4450, i16 0, i16 0, i16 1327, i16 8655, i16 1608, i16 0, i16 8656, i16 2057, i16 8657, i16 8658, i16 0, i16 4457, i16 4443, i16 0, i16 0, i16 8659, i16 0, i16 4447, i16 6348, i16 11745, i16 0, i16 1809, i16 11746, i16 11747, i16 0, i16 0, i16 0, i16 0, i16 4696, i16 11748, i16 6349, i16 11749, i16 6350, i16 11750, i16 1985, i16 0, i16 6351, i16 6352, i16 11751, i16 11752, i16 6353, i16 0, i16 0, i16 6354, i16 6355, i16 0, i16 11753, i16 0, i16 11754, i16 11755, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 482, i16 483, i16 484, i16 485, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 10190, i16 10191, i16 3602, i16 10192, i16 10193, i16 10194, i16 5392, i16 5390, i16 5391, i16 10195, i16 10189, i16 10196, i16 1187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3471, i16 0, i16 0, i16 10197, i16 3231, i16 0, i16 5394, i16 10198, i16 0, i16 0, i16 5393, i16 0, i16 0, i16 10199, i16 11214, i16 6043, i16 11215, i16 0, i16 2594, i16 0, i16 6044, i16 11216, i16 11217, i16 3525, i16 6033, i16 1051, i16 11218, i16 6039, i16 0, i16 11219, i16 6042, i16 3389, i16 0, i16 11220, i16 0, i16 0, i16 6045, i16 0, i16 0, i16 6038, i16 6041, i16 0, i16 11221, i16 0, i16 0, i16 0, i16 8145, i16 8146, i16 0, i16 1322, i16 0, i16 4134, i16 0, i16 8147, i16 8148, i16 8149, i16 8150, i16 0, i16 8151, i16 8152, i16 0, i16 8153, i16 8154, i16 0, i16 0, i16 3261, i16 8155, i16 0, i16 8156, i16 2436, i16 0, i16 0, i16 0, i16 0, i16 2663, i16 8157, i16 0, i16 4136, i16 9937, i16 0, i16 0, i16 2002, i16 0, i16 0, i16 9938, i16 9939, i16 5269, i16 9940, i16 5268, i16 9941, i16 9942, i16 0, i16 9943, i16 9944, i16 5270, i16 9945, i16 1072, i16 0, i16 0, i16 5272, i16 0, i16 9946, i16 5271, i16 9947, i16 5274, i16 5273, i16 9948, i16 0, i16 0, i16 0, i16 11986, i16 11987, i16 0, i16 6505, i16 11988, i16 11989, i16 11990, i16 3899, i16 3898, i16 0, i16 0, i16 0, i16 0, i16 6506, i16 5764, i16 6507, i16 2535, i16 2166, i16 2939, i16 0, i16 0, i16 11991, i16 11992, i16 6508, i16 11993, i16 0, i16 3242, i16 2677, i16 1685, i16 0, i16 11994, i16 2540, i16 3539, i16 0, i16 0, i16 0, i16 9581, i16 5066, i16 5060, i16 5057, i16 9582, i16 0, i16 9583, i16 3617, i16 5063, i16 0, i16 9584, i16 9585, i16 0, i16 2009, i16 5065, i16 0, i16 0, i16 5070, i16 9586, i16 0, i16 2800, i16 5068, i16 0, i16 9587, i16 0, i16 9588, i16 5062, i16 9589, i16 1236, i16 0, i16 3722, i16 0, i16 0, i16 3723, i16 3592, i16 0, i16 3500, i16 2415, i16 3725, i16 1865, i16 2896, i16 7395, i16 3728, i16 0, i16 0, i16 869, i16 1560, i16 0, i16 1559, i16 815, i16 7396, i16 7397, i16 3702, i16 3701, i16 0, i16 1704, i16 746, i16 7398, i16 3729, i16 3730, i16 8916, i16 0, i16 8917, i16 0, i16 8918, i16 8919, i16 4634, i16 0, i16 4638, i16 8920, i16 8921, i16 0, i16 3035, i16 2794, i16 0, i16 8922, i16 8923, i16 0, i16 0, i16 0, i16 4631, i16 8924, i16 4635, i16 0, i16 0, i16 0, i16 1443, i16 0, i16 0, i16 8925, i16 1766, i16 8926, i16 9428, i16 4968, i16 1842, i16 2270, i16 1686, i16 0, i16 3175, i16 9429, i16 0, i16 3255, i16 3695, i16 9430, i16 0, i16 0, i16 9431, i16 1864, i16 9432, i16 0, i16 0, i16 1733, i16 3647, i16 9433, i16 0, i16 0, i16 4969, i16 4970, i16 0, i16 1843, i16 0, i16 9434, i16 9435, i16 4971, i16 12756, i16 0, i16 12757, i16 12758, i16 12759, i16 0, i16 0, i16 12760, i16 2482, i16 0, i16 0, i16 6870, i16 0, i16 12761, i16 12762, i16 0, i16 2826, i16 0, i16 0, i16 12763, i16 0, i16 12764, i16 12765, i16 6871, i16 12766, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6876, i16 0, i16 7381, i16 7382, i16 3719, i16 2928, i16 7383, i16 1270, i16 0, i16 7384, i16 0, i16 0, i16 0, i16 2930, i16 0, i16 2880, i16 1532, i16 3302, i16 0, i16 7385, i16 0, i16 0, i16 0, i16 6101, i16 3720, i16 2133, i16 3721, i16 954, i16 7386, i16 0, i16 7387, i16 1378, i16 1577, i16 3450, i16 1238, i16 3818, i16 3819, i16 7595, i16 948, i16 0, i16 7596, i16 7597, i16 7598, i16 3817, i16 0, i16 7599, i16 7600, i16 7601, i16 7602, i16 0, i16 7604, i16 0, i16 1957, i16 0, i16 3822, i16 3821, i16 3820, i16 7605, i16 3764, i16 7606, i16 3823, i16 7607, i16 7608, i16 7609, i16 7610, i16 2061, i16 10967, i16 10968, i16 0, i16 0, i16 0, i16 5881, i16 5882, i16 10969, i16 10970, i16 10971, i16 0, i16 1953, i16 0, i16 10972, i16 5880, i16 10973, i16 1679, i16 5879, i16 0, i16 0, i16 5883, i16 0, i16 0, i16 10974, i16 2643, i16 3191, i16 2346, i16 0, i16 0, i16 0, i16 0, i16 2497, i16 3800, i16 7547, i16 0, i16 7548, i16 7549, i16 3802, i16 7550, i16 0, i16 0, i16 0, i16 7551, i16 0, i16 0, i16 3304, i16 7552, i16 7553, i16 7554, i16 1473, i16 7555, i16 7556, i16 7557, i16 0, i16 7558, i16 0, i16 1796, i16 3088, i16 3801, i16 7559, i16 7560, i16 0, i16 7561, i16 7562, i16 4569, i16 0, i16 0, i16 4567, i16 8807, i16 0, i16 0, i16 0, i16 4570, i16 0, i16 0, i16 0, i16 0, i16 8808, i16 3206, i16 8809, i16 0, i16 768, i16 0, i16 8810, i16 0, i16 0, i16 3157, i16 0, i16 0, i16 3068, i16 8811, i16 0, i16 4571, i16 8812, i16 4574, i16 2082, i16 4825, i16 9235, i16 2092, i16 9236, i16 0, i16 9237, i16 4163, i16 1569, i16 3563, i16 9238, i16 9239, i16 0, i16 0, i16 4816, i16 9240, i16 2709, i16 1030, i16 1698, i16 9241, i16 4808, i16 0, i16 4824, i16 1092, i16 0, i16 0, i16 4822, i16 4826, i16 9242, i16 2797, i16 0, i16 0, i16 0, i16 9177, i16 2477, i16 9178, i16 9179, i16 3222, i16 9180, i16 4798, i16 0, i16 9181, i16 9182, i16 3097, i16 0, i16 0, i16 0, i16 4797, i16 2987, i16 3314, i16 1148, i16 9183, i16 2336, i16 1999, i16 0, i16 0, i16 9184, i16 2676, i16 9185, i16 3485, i16 0, i16 9186, i16 4793, i16 4792, i16 0, i16 1242, i16 0, i16 4572, i16 4579, i16 2083, i16 0, i16 0, i16 0, i16 0, i16 4573, i16 2943, i16 0, i16 0, i16 8813, i16 8814, i16 8815, i16 8816, i16 3533, i16 4575, i16 4576, i16 4580, i16 2793, i16 4577, i16 1610, i16 2311, i16 0, i16 0, i16 4594, i16 3021, i16 0, i16 2519, i16 0, i16 6874, i16 12768, i16 6873, i16 6875, i16 12769, i16 6872, i16 0, i16 12767, i16 0, i16 0, i16 12770, i16 12771, i16 12772, i16 6878, i16 12773, i16 0, i16 0, i16 12774, i16 0, i16 0, i16 12775, i16 6877, i16 12776, i16 6880, i16 0, i16 0, i16 1344, i16 6879, i16 0, i16 12777, i16 0, i16 6881, i16 11995, i16 11996, i16 849, i16 0, i16 3371, i16 2210, i16 11997, i16 0, i16 0, i16 0, i16 11998, i16 11999, i16 0, i16 12000, i16 1465, i16 0, i16 12001, i16 1374, i16 12002, i16 12003, i16 3243, i16 12004, i16 0, i16 0, i16 0, i16 0, i16 6509, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1245, i16 0, i16 5239, i16 0, i16 0, i16 0, i16 0, i16 5240, i16 9886, i16 0, i16 0, i16 0, i16 1501, i16 9887, i16 9888, i16 3041, i16 0, i16 9889, i16 5242, i16 0, i16 9890, i16 0, i16 2146, i16 0, i16 0, i16 5241, i16 0, i16 0, i16 0, i16 0, i16 9891, i16 0, i16 7901, i16 7902, i16 0, i16 4010, i16 7903, i16 0, i16 7904, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4025, i16 4030, i16 0, i16 4026, i16 7905, i16 9949, i16 9950, i16 0, i16 9951, i16 1525, i16 9952, i16 9953, i16 3573, i16 0, i16 1353, i16 0, i16 939, i16 0, i16 0, i16 9954, i16 0, i16 9955, i16 0, i16 0, i16 9956, i16 0, i16 9957, i16 1383, i16 9958, i16 9959, i16 0, i16 0, i16 0, i16 9960, i16 0, i16 9961, i16 9962, i16 222, i16 223, i16 224, i16 244, i16 0, i16 246, i16 247, i16 248, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 324, i16 329, i16 265, i16 266, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 254, i16 0, i16 0, i16 0, i16 4062, i16 0, i16 0, i16 0, i16 7982, i16 7983, i16 4061, i16 1064, i16 7984, i16 0, i16 4063, i16 7985, i16 7986, i16 0, i16 0, i16 4066, i16 0, i16 0, i16 0, i16 0, i16 4065, i16 7987, i16 0, i16 0, i16 0, i16 7988, i16 7989, i16 0, i16 0, i16 7990, i16 7991, i16 7992, i16 8158, i16 8159, i16 8160, i16 0, i16 0, i16 0, i16 8161, i16 0, i16 3330, i16 8162, i16 0, i16 4137, i16 0, i16 0, i16 4142, i16 0, i16 0, i16 8163, i16 8164, i16 3204, i16 0, i16 0, i16 0, i16 0, i16 4141, i16 4135, i16 4138, i16 4140, i16 8166, i16 0, i16 1691, i16 0, i16 10718, i16 10719, i16 1977, i16 1527, i16 2383, i16 5689, i16 5695, i16 10720, i16 10721, i16 0, i16 0, i16 5690, i16 1451, i16 10722, i16 5698, i16 5702, i16 1478, i16 10723, i16 0, i16 10724, i16 0, i16 0, i16 5697, i16 10725, i16 0, i16 10726, i16 10727, i16 5706, i16 10728, i16 10729, i16 1633, i16 0, i16 736, i16 0, i16 0, i16 731, i16 722, i16 743, i16 0, i16 0, i16 738, i16 0, i16 0, i16 733, i16 721, i16 0, i16 0, i16 737, i16 742, i16 0, i16 0, i16 732, i16 723, i16 0, i16 0, i16 739, i16 744, i16 0, i16 0, i16 734, i16 724, i16 0, i16 0, i16 740, i16 2784, i16 7664, i16 7665, i16 2202, i16 3871, i16 7666, i16 3201, i16 2307, i16 1123, i16 0, i16 1130, i16 3872, i16 0, i16 0, i16 3874, i16 0, i16 0, i16 1429, i16 7667, i16 7668, i16 3873, i16 7669, i16 7670, i16 3648, i16 7671, i16 0, i16 0, i16 0, i16 0, i16 2040, i16 0, i16 0, i16 4064, i16 0, i16 2932, i16 0, i16 0, i16 4067, i16 7993, i16 7994, i16 7995, i16 7996, i16 0, i16 7997, i16 7998, i16 7999, i16 4068, i16 0, i16 0, i16 8000, i16 0, i16 8001, i16 4070, i16 0, i16 4069, i16 8002, i16 0, i16 0, i16 0, i16 0, i16 4072, i16 0, i16 8003, i16 0, i16 8416, i16 945, i16 8417, i16 8418, i16 0, i16 0, i16 8419, i16 0, i16 2370, i16 1189, i16 8420, i16 4287, i16 3385, i16 0, i16 0, i16 0, i16 0, i16 2487, i16 8421, i16 1084, i16 8422, i16 8423, i16 4289, i16 4291, i16 1184, i16 0, i16 8424, i16 4288, i16 4290, i16 0, i16 4293, i16 0, i16 9441, i16 0, i16 9442, i16 9443, i16 4979, i16 0, i16 0, i16 0, i16 9444, i16 9445, i16 4980, i16 4981, i16 9446, i16 9447, i16 9448, i16 4982, i16 9449, i16 4984, i16 4983, i16 4985, i16 938, i16 2573, i16 0, i16 4986, i16 9450, i16 9451, i16 1785, i16 1071, i16 4987, i16 9452, i16 9453, i16 2753, i16 12257, i16 0, i16 0, i16 0, i16 12258, i16 12259, i16 0, i16 12260, i16 12261, i16 0, i16 0, i16 12262, i16 0, i16 2355, i16 0, i16 12263, i16 0, i16 0, i16 12264, i16 0, i16 0, i16 0, i16 12265, i16 6619, i16 12266, i16 6618, i16 12267, i16 12268, i16 12269, i16 12270, i16 0, i16 12271, i16 10469, i16 5529, i16 10470, i16 5530, i16 2980, i16 10471, i16 2188, i16 5527, i16 0, i16 2596, i16 10472, i16 10473, i16 5528, i16 10474, i16 0, i16 0, i16 2107, i16 10475, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10476, i16 0, i16 0, i16 805, i16 10477, i16 0, i16 0, i16 0, i16 12005, i16 0, i16 6511, i16 12006, i16 12007, i16 6510, i16 997, i16 0, i16 12008, i16 2899, i16 6512, i16 2994, i16 0, i16 2738, i16 12009, i16 6513, i16 2017, i16 12010, i16 0, i16 0, i16 6515, i16 12011, i16 12012, i16 3411, i16 6530, i16 6517, i16 6518, i16 12013, i16 0, i16 2666, i16 12014, i16 0, i16 1254, i16 0, i16 12579, i16 6786, i16 0, i16 0, i16 6785, i16 0, i16 6784, i16 0, i16 0, i16 6329, i16 12580, i16 3249, i16 12581, i16 0, i16 0, i16 12582, i16 12583, i16 6787, i16 6788, i16 12584, i16 12585, i16 0, i16 12586, i16 12587, i16 12588, i16 0, i16 12589, i16 0, i16 12590, i16 12591, i16 9702, i16 5142, i16 0, i16 5141, i16 5143, i16 9703, i16 9704, i16 9705, i16 9706, i16 0, i16 5146, i16 0, i16 0, i16 0, i16 9707, i16 9708, i16 9709, i16 2754, i16 0, i16 5140, i16 0, i16 9710, i16 9711, i16 0, i16 0, i16 5144, i16 0, i16 0, i16 9712, i16 0, i16 0, i16 0, i16 2280, i16 6299, i16 0, i16 6304, i16 1574, i16 6301, i16 6302, i16 11686, i16 6298, i16 11687, i16 0, i16 0, i16 2315, i16 2854, i16 11688, i16 11689, i16 2546, i16 0, i16 994, i16 11690, i16 0, i16 0, i16 11691, i16 11692, i16 0, i16 3081, i16 0, i16 11693, i16 1250, i16 0, i16 11694, i16 2645, i16 10216, i16 0, i16 10217, i16 10218, i16 10219, i16 10220, i16 10221, i16 10222, i16 10223, i16 0, i16 10224, i16 0, i16 0, i16 10225, i16 3074, i16 0, i16 5416, i16 0, i16 0, i16 0, i16 5417, i16 0, i16 0, i16 7073, i16 5418, i16 5419, i16 5420, i16 0, i16 0, i16 10226, i16 0, i16 1793, i16 6633, i16 0, i16 0, i16 0, i16 12337, i16 12338, i16 0, i16 12339, i16 0, i16 12340, i16 12341, i16 0, i16 1416, i16 12342, i16 6635, i16 12343, i16 12344, i16 12345, i16 0, i16 12346, i16 12347, i16 1513, i16 12348, i16 0, i16 0, i16 0, i16 12349, i16 0, i16 6634, i16 12350, i16 2126, i16 12351, i16 8938, i16 8939, i16 0, i16 8940, i16 0, i16 0, i16 0, i16 4640, i16 0, i16 3347, i16 0, i16 0, i16 0, i16 8941, i16 0, i16 4641, i16 0, i16 0, i16 0, i16 8942, i16 8943, i16 0, i16 4642, i16 0, i16 3423, i16 0, i16 2251, i16 8944, i16 0, i16 8945, i16 0, i16 0, i16 235, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 269, i16 256, i16 270, i16 7109, i16 0, i16 4075, i16 4073, i16 4071, i16 4074, i16 0, i16 8004, i16 0, i16 0, i16 4076, i16 8005, i16 8006, i16 8007, i16 8010, i16 8011, i16 4077, i16 8008, i16 8009, i16 4078, i16 0, i16 4079, i16 0, i16 0, i16 0, i16 4080, i16 3841, i16 8012, i16 1965, i16 1824, i16 8013, i16 8014, i16 1016, i16 8015, i16 6891, i16 12790, i16 0, i16 12791, i16 2236, i16 0, i16 12792, i16 0, i16 12793, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12794, i16 6892, i16 12795, i16 6893, i16 12796, i16 6894, i16 6895, i16 12797, i16 12798, i16 12799, i16 1657, i16 0, i16 0, i16 12800, i16 12801, i16 0, i16 6896, i16 6897, i16 9963, i16 0, i16 9964, i16 0, i16 0, i16 9965, i16 9966, i16 0, i16 0, i16 1186, i16 9967, i16 9968, i16 0, i16 9969, i16 0, i16 0, i16 0, i16 0, i16 3637, i16 5276, i16 0, i16 9970, i16 0, i16 9971, i16 0, i16 9972, i16 0, i16 5278, i16 9973, i16 9974, i16 0, i16 9975, i16 7405, i16 7406, i16 7407, i16 2506, i16 3630, i16 787, i16 0, i16 0, i16 7408, i16 0, i16 0, i16 0, i16 0, i16 3743, i16 963, i16 7409, i16 1345, i16 7410, i16 2602, i16 7411, i16 0, i16 7412, i16 1482, i16 3745, i16 0, i16 0, i16 0, i16 2911, i16 0, i16 7413, i16 7414, i16 7415, i16 494, i16 495, i16 496, i16 497, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 232, i16 233, i16 242, i16 243, i16 0, i16 750, i16 3137, i16 3994, i16 0, i16 3990, i16 0, i16 7861, i16 3985, i16 3991, i16 1725, i16 7862, i16 0, i16 0, i16 7863, i16 7864, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3998, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12272, i16 12273, i16 12274, i16 12275, i16 0, i16 12276, i16 12277, i16 12278, i16 12279, i16 0, i16 0, i16 12280, i16 12281, i16 12282, i16 12283, i16 6617, i16 12284, i16 0, i16 3298, i16 12285, i16 0, i16 12286, i16 0, i16 12287, i16 12288, i16 12289, i16 0, i16 0, i16 12290, i16 12291, i16 0, i16 12292, i16 1009, i16 6386, i16 3667, i16 2659, i16 3696, i16 11796, i16 11797, i16 1860, i16 6385, i16 11798, i16 2454, i16 11799, i16 0, i16 6402, i16 2351, i16 11800, i16 0, i16 2901, i16 0, i16 3143, i16 0, i16 11802, i16 11801, i16 0, i16 0, i16 11803, i16 6389, i16 1810, i16 1861, i16 11804, i16 2123, i16 0, i16 4849, i16 4836, i16 0, i16 4846, i16 0, i16 9254, i16 0, i16 4840, i16 9255, i16 0, i16 9256, i16 9257, i16 9258, i16 9259, i16 2180, i16 4850, i16 9260, i16 9261, i16 2268, i16 0, i16 0, i16 9262, i16 9263, i16 0, i16 0, i16 4848, i16 1150, i16 9264, i16 9265, i16 9266, i16 0, i16 0, i16 13041, i16 0, i16 0, i16 0, i16 0, i16 13042, i16 7028, i16 13043, i16 0, i16 13044, i16 0, i16 13045, i16 0, i16 7029, i16 13046, i16 7030, i16 13047, i16 0, i16 3700, i16 13048, i16 13049, i16 0, i16 0, i16 0, i16 7027, i16 2512, i16 1762, i16 0, i16 0, i16 7031, i16 13050, i16 0, i16 6130, i16 0, i16 3293, i16 6131, i16 11395, i16 11396, i16 6128, i16 11397, i16 6129, i16 6134, i16 6137, i16 11398, i16 0, i16 6135, i16 11399, i16 11400, i16 11401, i16 6133, i16 6127, i16 11402, i16 11403, i16 0, i16 0, i16 0, i16 2587, i16 11404, i16 6144, i16 0, i16 3387, i16 0, i16 11405, i16 11406, i16 4083, i16 8027, i16 8028, i16 3253, i16 4085, i16 0, i16 0, i16 8029, i16 4087, i16 4086, i16 8030, i16 4088, i16 8031, i16 4089, i16 0, i16 1490, i16 0, i16 8032, i16 903, i16 4090, i16 0, i16 8033, i16 4092, i16 0, i16 4091, i16 0, i16 8034, i16 8035, i16 4094, i16 8036, i16 0, i16 2777, i16 3830, i16 829, i16 7623, i16 1518, i16 1430, i16 1995, i16 2622, i16 1313, i16 2321, i16 1584, i16 7624, i16 1669, i16 3832, i16 3417, i16 2757, i16 7625, i16 1868, i16 0, i16 3831, i16 7626, i16 3833, i16 7627, i16 0, i16 7628, i16 7629, i16 0, i16 2781, i16 0, i16 1112, i16 0, i16 0, i16 7630, i16 3320, i16 897, i16 811, i16 0, i16 2818, i16 11714, i16 11715, i16 6321, i16 0, i16 0, i16 11721, i16 11716, i16 6320, i16 0, i16 2883, i16 0, i16 6325, i16 11717, i16 0, i16 0, i16 6314, i16 0, i16 6324, i16 6326, i16 0, i16 1509, i16 6322, i16 1645, i16 11718, i16 1926, i16 11719, i16 11720, i16 3576, i16 1731, i16 2552, i16 4614, i16 8885, i16 2309, i16 8886, i16 1612, i16 2223, i16 909, i16 2371, i16 4612, i16 1252, i16 8887, i16 8888, i16 8889, i16 0, i16 0, i16 1442, i16 0, i16 2672, i16 4618, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2406, i16 0, i16 8890, i16 4621, i16 0, i16 7416, i16 1196, i16 7417, i16 7418, i16 0, i16 0, i16 0, i16 0, i16 7419, i16 3746, i16 788, i16 7420, i16 7421, i16 1561, i16 1197, i16 3185, i16 3019, i16 1272, i16 7422, i16 0, i16 0, i16 7423, i16 7424, i16 7425, i16 0, i16 7426, i16 1014, i16 0, i16 3781, i16 2752, i16 0, i16 0, i16 1529, i16 0, i16 2716, i16 6278, i16 11631, i16 11632, i16 0, i16 11633, i16 1458, i16 0, i16 2209, i16 0, i16 6281, i16 0, i16 2817, i16 11634, i16 6280, i16 11635, i16 11636, i16 1420, i16 11637, i16 11638, i16 6279, i16 2524, i16 1228, i16 0, i16 0, i16 6282, i16 0, i16 6283, i16 11639, i16 2118, i16 2041, i16 4564, i16 8795, i16 8796, i16 8797, i16 0, i16 8798, i16 2329, i16 6559, i16 3067, i16 0, i16 1947, i16 8799, i16 1730, i16 4565, i16 0, i16 8800, i16 8801, i16 8802, i16 2476, i16 8803, i16 3196, i16 8804, i16 0, i16 2518, i16 0, i16 8805, i16 4568, i16 8806, i16 0, i16 4566, i16 0, i16 10235, i16 5426, i16 0, i16 1159, i16 3056, i16 5427, i16 10236, i16 5428, i16 10237, i16 0, i16 5429, i16 0, i16 10238, i16 0, i16 3437, i16 0, i16 10239, i16 10240, i16 3430, i16 0, i16 2655, i16 0, i16 10241, i16 0, i16 2417, i16 10242, i16 0, i16 5431, i16 10243, i16 0, i16 2033, i16 0, i16 5628, i16 10657, i16 0, i16 10658, i16 5652, i16 5654, i16 0, i16 10659, i16 0, i16 10660, i16 0, i16 0, i16 5655, i16 10661, i16 10662, i16 0, i16 10663, i16 0, i16 10664, i16 3227, i16 0, i16 5656, i16 0, i16 0, i16 0, i16 10665, i16 0, i16 0, i16 10666, i16 10667, i16 3443, i16 0, i16 3325, i16 7813, i16 0, i16 0, i16 0, i16 0, i16 3062, i16 7814, i16 7815, i16 3968, i16 7816, i16 1183, i16 3963, i16 3964, i16 3966, i16 7817, i16 0, i16 7818, i16 0, i16 0, i16 7819, i16 7820, i16 3967, i16 0, i16 1274, i16 2220, i16 0, i16 3202, i16 3965, i16 3961, i16 1564, i16 0, i16 5629, i16 10622, i16 10623, i16 10624, i16 10625, i16 0, i16 10626, i16 5630, i16 0, i16 10627, i16 0, i16 10628, i16 10629, i16 5635, i16 10630, i16 10631, i16 0, i16 5624, i16 3951, i16 5631, i16 5625, i16 0, i16 0, i16 5634, i16 0, i16 10632, i16 0, i16 10633, i16 0, i16 0, i16 0, i16 5640, i16 4350, i16 0, i16 0, i16 4349, i16 4348, i16 3188, i16 0, i16 4357, i16 0, i16 8514, i16 0, i16 8512, i16 3341, i16 0, i16 4351, i16 0, i16 8513, i16 8515, i16 0, i16 0, i16 4353, i16 3358, i16 8516, i16 4352, i16 8517, i16 0, i16 0, i16 8518, i16 8519, i16 0, i16 8520, i16 4354, i16 9726, i16 5159, i16 0, i16 0, i16 0, i16 9727, i16 9728, i16 9729, i16 0, i16 5155, i16 0, i16 5156, i16 0, i16 9730, i16 0, i16 5160, i16 0, i16 5158, i16 0, i16 0, i16 0, i16 3141, i16 0, i16 9731, i16 5166, i16 0, i16 5163, i16 5162, i16 0, i16 5165, i16 2865, i16 5167, i16 3839, i16 0, i16 3840, i16 7634, i16 7635, i16 2879, i16 902, i16 0, i16 0, i16 3843, i16 1778, i16 7636, i16 3842, i16 1723, i16 7637, i16 3844, i16 5856, i16 3845, i16 3316, i16 3846, i16 0, i16 3847, i16 3848, i16 2134, i16 7638, i16 1917, i16 0, i16 0, i16 0, i16 7639, i16 0, i16 0, i16 5887, i16 10975, i16 5888, i16 5884, i16 10977, i16 10978, i16 10979, i16 0, i16 5885, i16 0, i16 5886, i16 10980, i16 0, i16 0, i16 10981, i16 1640, i16 10976, i16 0, i16 0, i16 5894, i16 0, i16 5890, i16 10982, i16 0, i16 10983, i16 0, i16 3165, i16 10984, i16 3359, i16 3103, i16 10985, i16 0, i16 120, i16 12, i16 25, i16 0, i16 0, i16 5, i16 0, i16 23, i16 156, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 17, i16 157, i16 107, i16 21, i16 147, i16 174, i16 24, i16 0, i16 3, i16 173, i16 137, i16 30, i16 88, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 143, i16 145, i16 8, i16 117, i16 132, i16 0, i16 0, i16 177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 187, i16 95, i16 182, i16 161, i16 129, i16 127, i16 97, i16 135, i16 103, i16 108, i16 83, i16 86, i16 166, i16 139, i16 89, i16 172, i16 56, i16 77, i16 106, i16 162, i16 189, i16 155, i16 41, i16 141, i16 124, i16 28, i16 74, i16 68, i16 113, i16 27, i16 67, i16 85, i16 144, i16 70, i16 126, i16 96, i16 35, i16 61, i16 190, i16 123, i16 176, i16 171, i16 148, i16 183, i16 38, i16 54, i16 142, i16 186, i16 87, i16 75, i16 94, i16 76, i16 32, i16 98, i16 163, i16 20, i16 133, i16 154, i16 66, i16 138, i16 52, i16 101, i16 44, i16 63, i16 19, i16 22, i16 164, i16 191, i16 136, i16 80, i16 65, i16 91, i16 114, i16 181, i16 51, i16 79, i16 184, i16 116, i16 151, i16 92, i16 140, i16 64, i16 167, i16 50, i16 110, i16 130, i16 192, i16 152, i16 100, i16 99, i16 36, i16 93, i16 72, i16 146, i16 131, i16 33, i16 47, i16 119, i16 7, i16 73, i16 185, i16 57, i16 160, i16 150, i16 78, i16 45, i16 118, i16 49, i16 115, i16 29, i16 31, i16 69, i16 188, i16 53, i16 149, i16 121, i16 55, i16 109, i16 82, i16 153, i16 178, i16 90, i16 122, i16 104, i16 6, i16 175, i16 60, i16 59, i16 43, i16 180, i16 125, i16 16, i16 179, i16 102, i16 134, i16 62, i16 37, i16 158, i16 71, i16 40, i16 84, i16 0, i16 1, i16 159, i16 13, i16 81, i16 111, i16 46, i16 105, i16 9, i16 128, i16 18, i16 170, i16 11, i16 15, i16 39, i16 34, i16 2, i16 48, i16 10, i16 14, i16 26, i16 58, i16 42, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 169, i16 112, i16 168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 165, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 84, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1270, i16 1950, i16 0, i16 426, i16 2786, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3365, i16 3389, i16 3410, i16 1975, i16 0, i16 2471, i16 2480, i16 2502, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2924, i16 1668, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 408, i16 0, i16 0, i16 3296, i16 0, i16 3249, i16 1864, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 141, i16 0, i16 51, i16 1513, i16 1049, i16 2968, i16 2294, i16 0, i16 1390, i16 979, i16 0, i16 1886, i16 0, i16 617, i16 0, i16 0, i16 0, i16 1282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 471, i16 2852, i16 0, i16 0, i16 0, i16 0, i16 3275, i16 2769, i16 2449, i16 0, i16 0, i16 0, i16 0, i16 693, i16 657, i16 2725, i16 1421, i16 1123, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1524, i16 2708, i16 2736, i16 2762, i16 2793, i16 2808, i16 2834, i16 2854, i16 2870, i16 2890, i16 2909, i16 2932, i16 2958, i16 2983, i16 3003, i16 3025, i16 3042, i16 3062, i16 3085, i16 3108, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2374, i16 367, i16 1664, i16 0, i16 0, i16 0, i16 0, i16 2342, i16 0, i16 0, i16 0, i16 0, i16 165, i16 2704, i16 1683, i16 0, i16 0, i16 1370, i16 0, i16 2875, i16 0, i16 2939, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1678, i16 423, i16 0, i16 2585, i16 0, i16 0, i16 0, i16 2178, i16 0, i16 0, i16 0, i16 463, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 603, i16 0, i16 3282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2510, i16 0, i16 0, i16 0, i16 2978, i16 0, i16 0, i16 0, i16 0, i16 0, i16 454, i16 3047, i16 2404, i16 0, i16 0, i16 1652, i16 0, i16 628, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1882, i16 3318, i16 2723, i16 1548, i16 2895, i16 3235, i16 3268, i16 2013, i16 0, i16 899, i16 0, i16 0, i16 2999, i16 270, i16 3031, i16 926, i16 0, i16 511, i16 0, i16 0, i16 2064, i16 271, i16 2107, i16 537, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2071, i16 1576, i16 0, i16 1014, i16 610, i16 703, i16 0, i16 89, i16 277, i16 2618, i16 2078, i16 373, i16 2562, i16 2653, i16 0, i16 20, i16 2792, i16 1006, i16 1991, i16 745, i16 0, i16 2504, i16 1920, i16 3246, i16 1187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1040, i16 538, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1639, i16 1552, i16 1656, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1084, i16 0, i16 0, i16 343, i16 947, i16 0, i16 1748, i16 0, i16 0, i16 2269, i16 1677, i16 2648, i16 0, i16 455, i16 0, i16 2224, i16 572, i16 0, i16 0, i16 0, i16 0, i16 272, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 218, i16 2385, i16 42, i16 1008, i16 2883, i16 1666, i16 3317, i16 0, i16 0, i16 0, i16 845, i16 1527, i16 0, i16 966, i16 1411, i16 2278, i16 0, i16 0, i16 0, i16 529, i16 764, i16 1103, i16 2200, i16 446, i16 1517, i16 1958, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1554, i16 2767, i16 2782, i16 2040, i16 1538, i16 0, i16 0, i16 3329, i16 0, i16 320, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2561, i16 0, i16 183, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1077, i16 1744, i16 1381, i16 0, i16 1821, i16 2017, i16 2216, i16 1487, i16 2180, i16 1772, i16 0, i16 1191, i16 0, i16 0, i16 0, i16 2697, i16 1177, i16 1167, i16 1491, i16 0, i16 0, i16 0, i16 1684, i16 1161, i16 0, i16 0, i16 261, i16 0, i16 0, i16 0, i16 0, i16 0, i16 353, i16 1482, i16 385, i16 2859, i16 2317, i16 136, i16 2314, i16 598, i16 2350, i16 2114, i16 3321, i16 177, i16 3325, i16 740, i16 1376, i16 0, i16 564, i16 3237, i16 2522, i16 0, i16 220, i16 451, i16 896, i16 985, i16 0, i16 931, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1514, i16 391, i16 2423, i16 0, i16 1547, i16 0, i16 904, i16 0, i16 3173, i16 265, i16 0, i16 1255, i16 0, i16 406, i16 3030, i16 2947, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2682, i16 0, i16 0, i16 0, i16 90, i16 1190, i16 0, i16 0, i16 0, i16 0, i16 3076, i16 3092, i16 2084, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1002, i16 3212, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3169, i16 789, i16 0, i16 3187, i16 948, i16 1953, i16 530, i16 245, i16 1845, i16 769, i16 646, i16 0, i16 670, i16 2443, i16 1563, i16 2644, i16 1508, i16 2949, i16 0, i16 0, i16 0, i16 0, i16 0, i16 330, i16 0, i16 2594, i16 2182, i16 696, i16 0, i16 0, i16 0, i16 0, i16 1906, i16 3349, i16 3372, i16 3395, i16 3415, i16 1974, i16 1997, i16 0, i16 1128, i16 2030, i16 2057, i16 2085, i16 2106, i16 2126, i16 2152, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 884, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1151, i16 0, i16 0, i16 0, i16 0, i16 907, i16 0, i16 0, i16 1164, i16 0, i16 2089, i16 328, i16 2093, i16 0, i16 1196, i16 0, i16 921, i16 0, i16 0, i16 0, i16 0, i16 929, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 910, i16 152, i16 0, i16 1679, i16 0, i16 1452, i16 0, i16 0, i16 0, i16 1992, i16 65, i16 1016, i16 259, i16 0, i16 0, i16 1174, i16 1900, i16 3026, i16 3184, i16 2125, i16 0, i16 0, i16 2720, i16 0, i16 0, i16 3373, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2737, i16 0, i16 0, i16 0, i16 1427, i16 0, i16 1750, i16 2491, i16 1564, i16 1184, i16 2996, i16 889, i16 3105, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1290, i16 0, i16 3191, i16 0, i16 2844, i16 401, i16 3231, i16 3156, i16 241, i16 1896, i16 0, i16 0, i16 0, i16 0, i16 699, i16 0, i16 1035, i16 0, i16 0, i16 2360, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1115, i16 3123, i16 1925, i16 3287, i16 0, i16 0, i16 0, i16 0, i16 1450, i16 803, i16 1267, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3280, i16 2450, i16 1696, i16 3032, i16 1377, i16 0, i16 0, i16 0, i16 568, i16 0, i16 2921, i16 2479, i16 2955, i16 2063, i16 1546, i16 1367, i16 1641, i16 0, i16 1039, i16 0, i16 0, i16 0, i16 0, i16 3264, i16 0, i16 2136, i16 0, i16 3056, i16 0, i16 0, i16 0, i16 0, i16 467, i16 0, i16 0, i16 0, i16 3041, i16 1967, i16 1980, i16 0, i16 932, i16 1066, i16 0, i16 3061, i16 3344, i16 920, i16 3399, i16 915, i16 3409, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1520, i16 3160, i16 3104, i16 973, i16 1426, i16 1893, i16 0, i16 2838, i16 0, i16 0, i16 0, i16 1137, i16 1473, i16 0, i16 1810, i16 942, i16 331, i16 0, i16 1150, i16 0, i16 43, i16 0, i16 2179, i16 1614, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 508, i16 487, i16 0, i16 0, i16 1726, i16 0, i16 734, i16 308, i16 0, i16 0, i16 2990, i16 3063, i16 2991, i16 0, i16 3011, i16 1074, i16 3210, i16 3037, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1827, i16 0, i16 897, i16 0, i16 75, i16 0, i16 0, i16 0, i16 1030, i16 462, i16 0, i16 0, i16 2414, i16 2898, i16 0, i16 0, i16 3253, i16 1468, i16 2833, i16 3273, i16 1955, i16 0, i16 127, i16 913, i16 0, i16 0, i16 507, i16 2716, i16 1126, i16 3029, i16 0, i16 3382, i16 2668, i16 0, i16 2555, i16 128, i16 0, i16 0, i16 0, i16 0, i16 1127, i16 2981, i16 1437, i16 0, i16 0, i16 0, i16 1500, i16 0, i16 0, i16 480, i16 0, i16 114, i16 0, i16 0, i16 205, i16 1655, i16 0, i16 0, i16 34, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 370, i16 500, i16 528, i16 0, i16 2690, i16 2876, i16 1477, i16 3133, i16 333, i16 0, i16 0, i16 0, i16 0, i16 1793, i16 0, i16 0, i16 1529, i16 2550, i16 1096, i16 1112, i16 1588, i16 820, i16 3267, i16 2595, i16 1977, i16 3394, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 125, i16 1589, i16 0, i16 1933, i16 847, i16 2168, i16 468, i16 0, i16 3405, i16 0, i16 0, i16 1506, i16 0, i16 0, i16 683, i16 1939, i16 2846, i16 2878, i16 2642, i16 0, i16 0, i16 2377, i16 0, i16 0, i16 2596, i16 0, i16 1532, i16 0, i16 1107, i16 0, i16 0, i16 0, i16 1919, i16 3021, i16 120, i16 0, i16 644, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2732, i16 501, i16 279, i16 2509, i16 1644, i16 1863, i16 0, i16 0, i16 395, i16 246, i16 1025, i16 626, i16 3384, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1675, i16 0, i16 2734, i16 0, i16 3140, i16 990, i16 0, i16 0, i16 2169, i16 0, i16 0, i16 1027, i16 552, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2583, i16 0, i16 3286, i16 0, i16 1212, i16 316, i16 0, i16 0, i16 2830, i16 0, i16 0, i16 0, i16 0, i16 909, i16 1229, i16 0, i16 0, i16 335, i16 0, i16 0, i16 359, i16 647, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1153, i16 0, i16 0, i16 901, i16 0, i16 0, i16 0, i16 2492, i16 2027, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3219, i16 0, i16 2744, i16 476, i16 0, i16 11, i16 243, i16 0, i16 2327, i16 3098, i16 0, i16 0, i16 0, i16 97, i16 0, i16 0, i16 0, i16 1523, i16 0, i16 0, i16 783, i16 1121, i16 3144, i16 0, i16 0, i16 0, i16 496, i16 0, i16 0, i16 0, i16 0, i16 0, i16 158, i16 0, i16 2711, i16 1954, i16 3311, i16 886, i16 239, i16 1528, i16 1343, i16 1531, i16 225, i16 0, i16 1047, i16 0, i16 2311, i16 3385, i16 607, i16 2571, i16 2130, i16 848, i16 0, i16 2750, i16 440, i16 794, i16 2102, i16 460, i16 2018, i16 2208, i16 1181, i16 0, i16 0, i16 0, i16 1755, i16 2493, i16 1397, i16 0, i16 3417, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 780, i16 206, i16 2759, i16 0, i16 0, i16 834, i16 0, i16 0, i16 672, i16 0, i16 2241, i16 1359, i16 0, i16 0, i16 584, i16 1978, i16 3009, i16 0, i16 0, i16 0, i16 1160, i16 211, i16 2666, i16 0, i16 0, i16 0, i16 0, i16 2074, i16 0, i16 0, i16 0, i16 0, i16 17, i16 2606, i16 1737, i16 202, i16 1812, i16 1007, i16 0, i16 1841, i16 1345, i16 0, i16 738, i16 1162, i16 2860, i16 1943, i16 1814, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1674, i16 2556, i16 66, i16 542, i16 1205, i16 3419, i16 0, i16 2603, i16 2500, i16 425, i16 0, i16 0, i16 278, i16 1961, i16 680, i16 0, i16 1124, i16 1758, i16 0, i16 1555, i16 1446, i16 2210, i16 1405, i16 350, i16 3028, i16 2892, i16 0, i16 0, i16 0, i16 0, i16 1826, i16 2907, i16 21, i16 558, i16 1600, i16 1932, i16 0, i16 0, i16 1779, i16 0, i16 0, i16 1295, i16 0, i16 0, i16 28, i16 1725, i16 0, i16 0, i16 0, i16 0, i16 1981, i16 0, i16 2384, i16 1942, i16 0, i16 0, i16 0, i16 0, i16 0, i16 795, i16 452, i16 0, i16 208, i16 0, i16 0, i16 3044, i16 0, i16 0, i16 0, i16 0, i16 166, i16 836, i16 340, i16 337, i16 0, i16 0, i16 1875, i16 0, i16 0, i16 1159, i16 32, i16 1879, i16 1304, i16 0, i16 414, i16 515, i16 1347, i16 365, i16 0, i16 1884, i16 1521, i16 970, i16 0, i16 0, i16 858, i16 3141, i16 0, i16 717, i16 1866, i16 0, i16 1280, i16 1791, i16 2234, i16 0, i16 1414, i16 2147, i16 0, i16 0, i16 1645, i16 0, i16 0, i16 0, i16 404, i16 0, i16 0, i16 984, i16 3122, i16 0, i16 0, i16 0, i16 145, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1803, i16 0, i16 0, i16 1651, i16 2447, i16 0, i16 0, i16 2291, i16 472, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1134, i16 838, i16 0, i16 470, i16 2650, i16 606, i16 1065, i16 0, i16 1130, i16 0, i16 0, i16 0, i16 0, i16 1374, i16 1694, i16 1572, i16 1648, i16 2386, i16 200, i16 694, i16 0, i16 2530, i16 0, i16 0, i16 1752, i16 159, i16 2351, i16 3097, i16 1410, i16 1125, i16 0, i16 0, i16 412, i16 0, i16 1556, i16 0, i16 0, i16 625, i16 0, i16 1649, i16 0, i16 2100, i16 2469, i16 0, i16 273, i16 3016, i16 0, i16 0, i16 0, i16 0, i16 0, i16 399, i16 276, i16 2646, i16 671, i16 1732, i16 1888, i16 1382, i16 57, i16 0, i16 0, i16 0, i16 0, i16 0, i16 999, i16 0, i16 0, i16 681, i16 190, i16 2424, i16 0, i16 1319, i16 1454, i16 0, i16 0, i16 539, i16 0, i16 761, i16 0, i16 2021, i16 0, i16 0, i16 2189, i16 54, i16 0, i16 0, i16 0, i16 0, i16 3073, i16 0, i16 3049, i16 1501, i16 3198, i16 0, i16 0, i16 0, i16 2802, i16 255, i16 1960, i16 0, i16 0, i16 0, i16 263, i16 0, i16 0, i16 0, i16 0, i16 3168, i16 3007, i16 784, i16 3164, i16 0, i16 0, i16 788, i16 2164, i16 1711, i16 1088, i16 1328, i16 3024, i16 0, i16 2497, i16 1825, i16 2888, i16 1003, i16 986, i16 1603, i16 0, i16 0, i16 1012, i16 2473, i16 329, i16 0, i16 0, i16 0, i16 189, i16 2254, i16 1348, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 283, i16 155, i16 0, i16 0, i16 2908, i16 1209, i16 346, i16 0, i16 2765, i16 0, i16 1957, i16 0, i16 0, i16 0, i16 828, i16 0, i16 0, i16 2807, i16 0, i16 1676, i16 0, i16 1091, i16 768, i16 0, i16 2818, i16 349, i16 1789, i16 2193, i16 0, i16 164, i16 0, i16 1171, i16 2810, i16 938, i16 1163, i16 719, i16 2554, i16 2822, i16 0, i16 1575, i16 1200, i16 0, i16 2598, i16 753, i16 2532, i16 972, i16 689, i16 0, i16 1284, i16 0, i16 0, i16 0, i16 0, i16 0, i16 64, i16 800, i16 0, i16 0, i16 0, i16 1307, i16 509, i16 106, i16 0, i16 3278, i16 819, i16 0, i16 3013, i16 1015, i16 26, i16 1631, i16 1202, i16 1117, i16 0, i16 2326, i16 0, i16 3046, i16 49, i16 0, i16 736, i16 0, i16 776, i16 1109, i16 0, i16 0, i16 3182, i16 0, i16 0, i16 0, i16 0, i16 0, i16 217, i16 510, i16 2212, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 341, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2689, i16 0, i16 0, i16 2117, i16 0, i16 0, i16 0, i16 2825, i16 1273, i16 2948, i16 0, i16 977, i16 268, i16 1266, i16 1283, i16 1369, i16 1795, i16 207, i16 1685, i16 3014, i16 497, i16 0, i16 437, i16 2505, i16 0, i16 2563, i16 0, i16 0, i16 732, i16 553, i16 1247, i16 2372, i16 0, i16 0, i16 1637, i16 3251, i16 3313, i16 1308, i16 0, i16 10, i16 2912, i16 1061, i16 131, i16 0, i16 0, i16 0, i16 2111, i16 0, i16 0, i16 0, i16 0, i16 0, i16 169, i16 0, i16 0, i16 0, i16 490, i16 642, i16 677, i16 0, i16 0, i16 180, i16 1565, i16 148, i16 569, i16 2201, i16 0, i16 315, i16 0, i16 0, i16 0, i16 1818, i16 1021, i16 0, i16 0, i16 0, i16 1244, i16 0, i16 76, i16 0, i16 3406, i16 0, i16 93, i16 0, i16 513, i16 960, i16 0, i16 859, i16 96, i16 1964, i16 0, i16 0, i16 386, i16 1629, i16 1510, i16 0, i16 2656, i16 269, i16 321, i16 0, i16 0, i16 0, i16 0, i16 3106, i16 2930, i16 1402, i16 80, i16 867, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2660, i16 368, i16 0, i16 2661, i16 2045, i16 0, i16 0, i16 0, i16 1581, i16 1544, i16 3381, i16 0, i16 2853, i16 891, i16 449, i16 2010, i16 3277, i16 0, i16 0, i16 2382, i16 2172, i16 2069, i16 2897, i16 0, i16 1773, i16 0, i16 0, i16 1291, i16 0, i16 645, i16 2135, i16 2034, i16 0, i16 0, i16 0, i16 2584, i16 772, i16 1898, i16 0, i16 0, i16 48, i16 1245, i16 1113, i16 747, i16 0, i16 0, i16 1973, i16 0, i16 0, i16 209, i16 2281, i16 1289, i16 2785, i16 0, i16 0, i16 2118, i16 176, i16 1248, i16 2037, i16 2043, i16 339, i16 3293, i16 2066, i16 86, i16 248, i16 857, i16 0, i16 0, i16 1433, i16 0, i16 0, i16 0, i16 1585, i16 2756, i16 2680, i16 1650, i16 1718, i16 0, i16 0, i16 0, i16 0, i16 0, i16 394, i16 1024, i16 1537, i16 0, i16 0, i16 3170, i16 2362, i16 40, i16 53, i16 1101, i16 0, i16 2933, i16 900, i16 1447, i16 0, i16 3179, i16 833, i16 1566, i16 1494, i16 2973, i16 0, i16 0, i16 2609, i16 0, i16 927, i16 2303, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 650, i16 0, i16 0, i16 1075, i16 235, i16 823, i16 565, i16 3079, i16 0, i16 785, i16 777, i16 186, i16 2969, i16 1860, i16 2232, i16 0, i16 873, i16 741, i16 3125, i16 3257, i16 2239, i16 0, i16 3121, i16 1242, i16 2791, i16 0, i16 0, i16 1435, i16 974, i16 1780, i16 961, i16 0, i16 0, i16 2874, i16 757, i16 0, i16 0, i16 0, i16 400, i16 1432, i16 2766, i16 3039, i16 1001, i16 1507, i16 2972, i16 0, i16 2514, i16 1512, i16 2046, i16 0, i16 0, i16 0, i16 1253, i16 0, i16 2098, i16 545, i16 2165, i16 531, i16 555, i16 0, i16 0, i16 3371, i16 0, i16 0, i16 0, i16 742, i16 0, i16 807, i16 1931, i16 0, i16 1076, i16 0, i16 2026, i16 3245, i16 0, i16 0, i16 117, i16 1467, i16 2104, i16 631, i16 0, i16 754, i16 156, i16 2258, i16 307, i16 0, i16 60, i16 0, i16 1260, i16 1371, i16 3328, i16 1870, i16 0, i16 0, i16 61, i16 1241, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 424, i16 2403, i16 2148, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1231, i16 2367, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1596, i16 3096, i16 2202, i16 363, i16 1609, i16 2710, i16 2582, i16 791, i16 2705, i16 0, i16 2543, i16 2319, i16 2558, i16 2597, i16 1, i16 2495, i16 2730, i16 0, i16 3374, i16 2485, i16 2487, i16 0, i16 581, i16 1476, i16 3359, i16 2499, i16 2719, i16 0, i16 1876, i16 3240, i16 0, i16 0, i16 2110, i16 0, i16 198, i16 1488, i16 2262, i16 140, i16 0, i16 0, i16 782, i16 3157, i16 27, i16 3136, i16 0, i16 1092, i16 0, i16 1302, i16 0, i16 1912, i16 1217, i16 0, i16 1642, i16 0, i16 2457, i16 0, i16 3400, i16 1530, i16 0, i16 0, i16 167, i16 524, i16 221, i16 0, i16 2119, i16 998, i16 461, i16 0, i16 1358, i16 1037, i16 3378, i16 3206, i16 841, i16 68, i16 1762, i16 0, i16 1756, i16 2665, i16 482, i16 1004, i16 0, i16 2501, i16 0, i16 3204, i16 918, i16 724, i16 322, i16 2401, i16 0, i16 0, i16 2412, i16 306, i16 733, i16 863, i16 0, i16 0, i16 2904, i16 0, i16 0, i16 1979, i16 0, i16 1985, i16 556, i16 3312, i16 2987, i16 3045, i16 643, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3128, i16 1729, i16 0, i16 2970, i16 161, i16 0, i16 0, i16 0, i16 0, i16 602, i16 0, i16 1682, i16 0, i16 2523, i16 0, i16 92, i16 0, i16 0, i16 583, i16 0, i16 0, i16 697, i16 1263, i16 253, i16 504, i16 0, i16 0, i16 0, i16 0, i16 1636, i16 56, i16 0, i16 0, i16 2617, i16 0, i16 0, i16 0, i16 0, i16 2960, i16 2884, i16 0, i16 1999, i16 438, i16 0, i16 0, i16 0, i16 0, i16 1116, i16 2929, i16 2605, i16 0, i16 2323, i16 774, i16 1032, i16 0, i16 2015, i16 2336, i16 0, i16 520, i16 0, i16 2016, i16 1634, i16 1182, i16 1362, i16 850, i16 2906, i16 596, i16 3274, i16 0, i16 199, i16 2242, i16 0, i16 1934, i16 0, i16 2635, i16 0, i16 1746, i16 2915, i16 0, i16 1375, i16 1118, i16 3004, i16 0, i16 477, i16 0, i16 0, i16 0, i16 0, i16 715, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3185, i16 0, i16 0, i16 0, i16 3248, i16 2541, i16 2340, i16 3258, i16 24, i16 2230, i16 1654, i16 0, i16 3421, i16 1923, i16 2565, i16 2280, i16 0, i16 3167, i16 3149, i16 895, i16 3306, i16 994, i16 2009, i16 1543, i16 2273, i16 0, i16 14, i16 814, i16 540, i16 2243, i16 1384, i16 969, i16 0, i16 2914, i16 1698, i16 0, i16 0, i16 995, i16 1119, i16 2474, i16 2855, i16 498, i16 0, i16 0, i16 2312, i16 3331, i16 2002, i16 2324, i16 0, i16 111, i16 1281, i16 410, i16 2158, i16 1404, i16 708, i16 2625, i16 0, i16 0, i16 0, i16 82, i16 1965, i16 486, i16 3228, i16 661, i16 0, i16 2961, i16 0, i16 197, i16 2842, i16 2060, i16 517, i16 1518, i16 0, i16 0, i16 1853, i16 2257, i16 3392, i16 2419, i16 251, i16 975, i16 0, i16 883, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1423, i16 0, i16 2521, i16 0, i16 2305, i16 0, i16 3380, i16 0, i16 0, i16 1054, i16 1108, i16 1842, i16 0, i16 943, i16 811, i16 2963, i16 0, i16 0, i16 0, i16 2455, i16 0, i16 1511, i16 0, i16 0, i16 1907, i16 3408, i16 2431, i16 516, i16 0, i16 238, i16 2124, i16 1483, i16 0, i16 825, i16 2271, i16 0, i16 1475, i16 1297, i16 0, i16 2001, i16 1346, i16 0, i16 0, i16 0, i16 0, i16 1387, i16 0, i16 0, i16 2629, i16 0, i16 614, i16 1274, i16 839, i16 3154, i16 1005, i16 0, i16 3189, i16 1136, i16 1000, i16 0, i16 2727, i16 2848, i16 3, i16 0, i16 112, i16 1234, i16 1459, i16 770, i16 0, i16 1828, i16 0, i16 2065, i16 0, i16 1106, i16 2444, i16 0, i16 830, i16 1457, i16 1764, i16 2604, i16 3057, i16 1098, i16 1223, i16 0, i16 362, i16 1460, i16 1840, i16 0, i16 1913, i16 580, i16 829, i16 958, i16 0, i16 3337, i16 0, i16 1833, i16 2778, i16 387, i16 2865, i16 310, i16 193, i16 3403, i16 0, i16 0, i16 0, i16 2614, i16 466, i16 0, i16 0, i16 2428, i16 1646, i16 0, i16 0, i16 0, i16 0, i16 1917, i16 0, i16 1908, i16 1859, i16 0, i16 1660, i16 804, i16 1592, i16 0, i16 3094, i16 3216, i16 2295, i16 33, i16 443, i16 3358, i16 0, i16 1394, i16 250, i16 213, i16 0, i16 1971, i16 3080, i16 1354, i16 3360, i16 0, i16 1265, i16 1584, i16 2053, i16 512, i16 0, i16 2928, i16 409, i16 2225, i16 779, i16 1186, i16 0, i16 0, i16 381, i16 0, i16 0, i16 2369, i16 0, i16 3368, i16 0, i16 0, i16 1479, i16 924, i16 0, i16 0, i16 599, i16 3139, i16 0, i16 1492, i16 2101, i16 0, i16 0, i16 0, i16 0, i16 0, i16 184, i16 0, i16 2197, i16 651, i16 0, i16 601, i16 0, i16 0, i16 29, i16 0, i16 1149, i16 3302, i16 1156, i16 3111, i16 1269, i16 1298, i16 0, i16 2073, i16 0, i16 615, i16 262, i16 0, i16 0, i16 1349, i16 118, i16 3159, i16 3178, i16 3316, i16 1252, i16 1277, i16 3301, i16 493, i16 3119, i16 2977, i16 842, i16 2399, i16 318, i16 2940, i16 2123, i16 0, i16 1620, i16 0, i16 2951, i16 0, i16 0, i16 0, i16 0, i16 2453, i16 0, i16 0, i16 1323, i16 288, i16 0, i16 0, i16 1615, i16 2715, i16 0, i16 0, i16 2691, i16 0, i16 0, i16 1388, i16 0, i16 280, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1250, i16 0, i16 392, i16 275, i16 0, i16 0, i16 0, i16 0, i16 1926, i16 3008, i16 0, i16 620, i16 0, i16 0, i16 0, i16 2971, i16 3401, i16 0, i16 0, i16 0, i16 1314, i16 608, i16 944, i16 0, i16 1534, i16 1131, i16 1430, i16 2835, i16 525, i16 1559, i16 3115, i16 0, i16 1672, i16 0, i16 3232, i16 0, i16 0, i16 382, i16 0, i16 3377, i16 352, i16 2301, i16 1207, i16 0, i16 1611, i16 0, i16 0, i16 260, i16 0, i16 94, i16 0, i16 2795, i16 1197, i16 0, i16 3402, i16 45, i16 0, i16 1816, i16 2185, i16 1216, i16 2678, i16 2866, i16 0, i16 2677, i16 0, i16 0, i16 687, i16 1342, i16 2420, i16 2163, i16 2142, i16 0, i16 876, i16 2989, i16 1172, i16 3393, i16 1550, i16 2506, i16 3017, i16 879, i16 0, i16 1169, i16 2729, i16 1817, i16 323, i16 0, i16 0, i16 1562, i16 1436, i16 0, i16 3397, i16 2616, i16 922, i16 44, i16 2966, i16 3135, i16 0, i16 0, i16 1713, i16 0, i16 491, i16 0, i16 0, i16 0, i16 2024, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2943, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3364, i16 3355, i16 2004, i16 2105, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3262, i16 0, i16 1082, i16 2663, i16 0, i16 0, i16 2379, i16 0, i16 0, i16 0, i16 2, i16 1330, i16 1747, i16 0, i16 731, i16 0, i16 2639, i16 0, i16 393, i16 18, i16 722, i16 0, i16 813, i16 223, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3353, i16 0, i16 1504, i16 0, i16 3099, i16 30, i16 1574, i16 2218, i16 566, i16 2621, i16 1989, i16 2917, i16 0, i16 3305, i16 0, i16 1398, i16 2651, i16 843, i16 2159, i16 317, i16 1335, i16 640, i16 865, i16 62, i16 2937, i16 1385, i16 919, i16 1034, i16 1233, i16 1850, i16 792, i16 1972, i16 987, i16 0, i16 2529, i16 1717, i16 364, i16 1095, i16 2696, i16 1142, i16 5, i16 1029, i16 0, i16 0, i16 1962, i16 1595, i16 0, i16 1145, i16 637, i16 1662, i16 0, i16 3386, i16 925, i16 2076, i16 2672, i16 0, i16 338, i16 0, i16 1198, i16 0, i16 1846, i16 0, i16 0, i16 366, i16 2622, i16 0, i16 739, i16 869, i16 799, i16 1480, i16 0, i16 0, i16 1721, i16 0, i16 1542, i16 160, i16 0, i16 1195, i16 1891, i16 2526, i16 3236, i16 502, i16 1697, i16 0, i16 1577, i16 514, i16 2373, i16 3289, i16 0, i16 478, i16 0, i16 0, i16 0, i16 2591, i16 2383, i16 660, i16 2297, i16 0, i16 234, i16 267, i16 124, i16 0, i16 2077, i16 534, i16 1838, i16 1568, i16 0, i16 0, i16 1619, i16 1873, i16 2033, i16 2484, i16 0, i16 2964, i16 2787, i16 1147, i16 0, i16 721, i16 0, i16 0, i16 0, i16 2815, i16 3086, i16 1622, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3336, i16 0, i16 3239, i16 1796, i16 0, i16 2976, i16 139, i16 1176, i16 0, i16 888, i16 2919, i16 3196, i16 1440, i16 2044, i16 574, i16 1754, i16 0, i16 586, i16 1760, i16 1087, i16 2331, i16 544, i16 0, i16 3279, i16 0, i16 0, i16 0, i16 1602, i16 2985, i16 1366, i16 91, i16 894, i16 523, i16 911, i16 2345, i16 2669, i16 3067, i16 3292, i16 2638, i16 806, i16 1341, i16 2986, i16 3363, i16 3227, i16 0, i16 659, i16 868, i16 0, i16 2794, i16 2296, i16 713, i16 1832, i16 0, i16 3217, i16 3304, i16 1811, i16 231, i16 2657, i16 0, i16 0, i16 3127, i16 852, i16 358, i16 0, i16 2318, i16 1570, i16 817, i16 3069, i16 3420, i16 447, i16 2520, i16 638, i16 2299, i16 0, i16 2693, i16 1043, i16 0, i16 1140, i16 1591, i16 1837, i16 236, i16 1355, i16 0, i16 2763, i16 0, i16 1022, i16 2422, i16 0, i16 2138, i16 0, i16 179, i16 0, i16 0, i16 1100, i16 0, i16 1326, i16 2574, i16 2211, i16 1702, i16 0, i16 1089, i16 0, i16 0, i16 377, i16 1687, i16 0, i16 793, i16 0, i16 667, i16 126, i16 934, i16 2300, i16 2079, i16 3370, i16 2233, i16 2862, i16 810, i16 0, i16 0, i16 3263, i16 756, i16 1809, i16 2714, i16 2518, i16 1422, i16 1665, i16 2722, i16 3194, i16 1296, i16 1412, i16 0, i16 138, i16 101, i16 2353, i16 0, i16 1179, i16 1225, i16 458, i16 3413, i16 1579, i16 2090, i16 1561, i16 0, i16 0, i16 0, i16 2809, i16 1497, i16 1389, i16 1019, i16 1329, i16 2421, i16 396, i16 2695, i16 6, i16 2095, i16 950, i16 489, i16 0, i16 1661, i16 0, i16 1808, i16 2171, i16 2511, i16 0, i16 1086, i16 1219, i16 2006, i16 25, i16 0, i16 0, i16 1201, i16 522, i16 0, i16 0, i16 618, i16 0, i16 0, i16 2235, i16 880, i16 0, i16 0, i16 334, i16 1305, i16 1705, i16 2204, i16 1858, i16 1013, i16 1306, i16 0, i16 1085, i16 1533, i16 87, i16 2067, i16 1502, i16 2290, i16 1799, i16 0, i16 3146, i16 1794, i16 3346, i16 2192, i16 0, i16 0, i16 653, i16 1429, i16 887, i16 314, i16 2041, i16 2436, i16 875, i16 1331, i16 1481, i16 0, i16 403, i16 0, i16 0, i16 1910, i16 0, i16 1155, i16 0, i16 2072, i16 3266, i16 1165, i16 1857, i16 1557, i16 1801, i16 2496, i16 3131, i16 2926, i16 2643, i16 1582, i16 0, i16 0, i16 0, i16 122, i16 686, i16 168, i16 0, i16 2398, i16 2749, i16 1553, i16 2413, i16 1541, i16 2440, i16 134, i16 1578, i16 247, i16 0, i16 1193, i16 1321, i16 2575, i16 570, i16 2894, i16 0, i16 0, i16 0, i16 2581, i16 2636, i16 2270, i16 12, i16 1424, i16 1188, i16 1383, i16 0, i16 485, i16 700, i16 3254, i16 149, i16 2922, i16 1627, i16 2545, i16 0, i16 1693, i16 0, i16 953, i16 0, i16 0, i16 0, i16 0, i16 600, i16 1138, i16 0, i16 2059, i16 1525, i16 0, i16 1657, i16 0, i16 1727, i16 2841, i16 532, i16 3176, i16 993, i16 1930, i16 192, i16 0, i16 1740, i16 0, i16 3192, i16 1927, i16 802, i16 2849, i16 1064, i16 2109, i16 0, i16 324, i16 144, i16 881, i16 2133, i16 0, i16 2610, i16 171, i16 1129, i16 1378, i16 0, i16 1835, i16 435, i16 760, i16 1324, i16 0, i16 1251, i16 3100, i16 0, i16 835, i16 0, i16 3310, i16 636, i16 594, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2333, i16 1632, i16 3379, i16 3018, i16 3285, i16 388, i16 2748, i16 0, i16 0, i16 0, i16 0, i16 1905, i16 3354, i16 0, i16 2014, i16 0, i16 0, i16 763, i16 0, i16 2011, i16 0, i16 3033, i16 3223, i16 1009, i16 0, i16 1287, i16 292, i16 413, i16 0, i16 0, i16 0, i16 0, i16 31, i16 2143, i16 2128, i16 1878, i16 956, i16 822, i16 2430, i16 311, i16 0, i16 0, i16 2313, i16 1256, i16 2956, i16 0, i16 224, i16 0, i16 2965, i16 109, i16 634, i16 1431, i16 2465, i16 0, i16 0, i16 0, i16 1775, i16 2462, i16 1090, i16 778, i16 3271, i16 1819, i16 0, i16 2645, i16 291, i16 0, i16 1904, i16 0, i16 182, i16 536, i16 0, i16 0, i16 1203, i16 827, i16 294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8, i16 2005, i16 15, i16 2031, i16 3269, i16 3297, i16 3319, i16 0, i16 3213, i16 3241, i16 3259, i16 0, i16 295, i16 133, i16 2811, i16 1707, i16 1915, i16 0, i16 154, i16 174, i16 3416, i16 2448, i16 1144, i16 0, i16 0, i16 0, i16 0, i16 890, i16 1865, i16 1368, i16 1496, i16 1868, i16 1050, i16 1823, i16 2389, i16 1264, i16 752, i16 2456, i16 0, i16 0, i16 356, i16 1336, i16 2116, i16 978, i16 1831, i16 0, i16 2068, i16 1215, i16 705, i16 1044, i16 0, i16 702, i16 0, i16 0, i16 129, i16 0, i16 0, i16 2364, i16 0, i16 0, i16 1312, i16 0, i16 0, i16 16, i16 0, i16 3244, i16 1133, i16 3078, i16 1139, i16 0, i16 2478, i16 0, i16 422, i16 2573, i16 2007, i16 1097, i16 812, i16 0, i16 0, i16 0, i16 665, i16 0, i16 0, i16 0, i16 0, i16 1736, i16 0, i16 2157, i16 549, i16 3165, i16 0, i16 0, i16 0, i16 1271, i16 0, i16 219, i16 0, i16 0, i16 0, i16 1783, i16 0, i16 0, i16 397, i16 3383, i16 0, i16 0, i16 0, i16 2279, i16 3375, i16 1052, i16 0, i16 0, i16 1712, i16 546, i16 1798, i16 3309, i16 0, i16 380, i16 0, i16 0, i16 3038, i16 0, i16 1621, i16 1122, i16 711, i16 3222, i16 2742, i16 0, i16 1701, i16 1053, i16 0, i16 3327, i16 1922, i16 0, i16 1800, i16 1731, i16 0, i16 2516, i16 655, i16 0, i16 2358, i16 2393, i16 2464, i16 2494, i16 2580, i16 2679, i16 2743, i16 2788, i16 2824, i16 2858, i16 2935, i16 2982, i16 3101, i16 3153, i16 3276, i16 2438, i16 2488, i16 2757, i16 2052, i16 2144, i16 2286, i16 2337, i16 2400, i16 2452, i16 2738, i16 2779, i16 2845, i16 2887, i16 3020, i16 3134, i16 3188, i16 3102, i16 1847, i16 2733, i16 2758, i16 1560, i16 1535, i16 824, i16 1822, i16 0, i16 0, i16 2816, i16 2380, i16 0, i16 1228, i16 0, i16 2366, i16 2378, i16 1968, i16 1599, i16 2042, i16 1318, i16 1338, i16 1569, i16 300, i16 0, i16 2873, i16 2320, i16 0, i16 2893, i16 1706, i16 0, i16 1916, i16 0, i16 3129, i16 590, i16 0, i16 0, i16 2836, i16 0, i16 37, i16 0, i16 0, i16 0, i16 551, i16 3155, i16 3177, i16 1951, i16 1056, i16 1855, i16 3247, i16 562, i16 3208, i16 3294, i16 862, i16 0, i16 3055, i16 1453, i16 1626, i16 296, i16 1871, i16 0, i16 1069, i16 0, i16 1767, i16 1776, i16 58, i16 2992, i16 611, i16 2607, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1941, i16 2347, i16 1813, i16 0, i16 2203, i16 1148, i16 0, i16 0, i16 1667, i16 0, i16 0, i16 162, i16 108, i16 0, i16 1211, i16 1063, i16 83, i16 2249, i16 0, i16 1288, i16 832, i16 0, i16 826, i16 88, i16 1434, i16 0, i16 0, i16 0, i16 2087, i16 2773, i16 1852, i16 1921, i16 2220, i16 0, i16 2627, i16 1333, i16 1120, i16 1902, i16 0, i16 1079, i16 1073, i16 305, i16 0, i16 3074, i16 2755, i16 2628, i16 2244, i16 547, i16 0, i16 527, i16 0, i16 428, i16 0, i16 0, i16 3130, i16 3158, i16 3180, i16 3200, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1601, i16 2058, i16 1332, i16 0, i16 0, i16 242, i16 0, i16 0, i16 0, i16 0, i16 3335, i16 374, i16 1877, i16 2903, i16 2726, i16 0, i16 2131, i16 325, i16 1807, i16 378, i16 1606, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 429, i16 172, i16 201, i16 0, i16 585, i16 0, i16 0, i16 2913, i16 351, i16 698, i16 2264, i16 2187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1104, i16 1114, i16 2003, i16 2029, i16 2056, i16 2083, i16 2103, i16 2120, i16 2145, i16 2173, i16 2195, i16 2228, i16 2256, i16 2277, i16 2302, i16 2328, i16 2346, i16 2363, i16 2388, i16 2408, i16 2429, i16 2454, i16 2472, i16 1406, i16 2507, i16 2533, i16 2553, i16 2578, i16 2601, i16 2623, i16 2640, i16 2667, i16 597, i16 0, i16 0, i16 1363, i16 0, i16 0, i16 0, i16 244, i16 474, i16 0, i16 0, i16 0, i16 229, i16 0, i16 481, i16 0, i16 0, i16 2531, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2275, i16 0, i16 0, i16 2357, i16 548, i16 0, i16 1670, i16 701, i16 2901, i16 3404, i16 0, i16 1067, i16 2008, i16 2577, i16 1844, i16 1659, i16 2564, i16 0, i16 2905, i16 3220, i16 442, i16 0, i16 1407, i16 0, i16 1416, i16 0, i16 1663, i16 1036, i16 0, i16 0, i16 2548, i16 3088, i16 0, i16 473, i16 0, i16 2486, i16 2659, i16 3143, i16 0, i16 1861, i16 1881, i16 0, i16 629, i16 840, i16 2519, i16 3068, i16 2012, i16 0, i16 0, i16 2149, i16 1739, i16 3303, i16 949, i16 577, i16 725, i16 658, i16 146, i16 67, i16 2916, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 945, i16 0, i16 0, i16 505, i16 469, i16 3166, i16 3209, i16 1883, i16 0, i16 0, i16 0, i16 1540, i16 0, i16 3332, i16 3072, i16 2593, i16 1610, i16 1257, i16 0, i16 0, i16 578, i16 0, i16 2394, i16 1766, i16 959, i16 1218, i16 0, i16 0, i16 0, i16 632, i16 0, i16 623, i16 1068, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 348, i16 1624, i16 1315, i16 0, i16 878, i16 3095, i16 116, i16 2426, i16 0, i16 737, i16 1466, i16 13, i16 212, i16 0, i16 3315, i16 831, i16 0, i16 2670, i16 1635, i16 1612, i16 0, i16 0, i16 0, i16 1357, i16 709, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1630, i16 2934, i16 488, i16 157, i16 1327, i16 2054, i16 2407, i16 450, i16 0, i16 981, i16 1135, i16 0, i16 1918, i16 1189, i16 729, i16 2427, i16 0, i16 0, i16 2739, i16 3291, i16 0, i16 675, i16 1834, i16 0, i16 1080, i16 589, i16 1415, i16 2537, i16 2406, i16 119, i16 1393, i16 2387, i16 2910, i16 1897, i16 0, i16 1310, i16 1690, i16 0, i16 2988, i16 0, i16 0, i16 0, i16 0, i16 3322, i16 1048, i16 1399, i16 0, i16 1023, i16 0, i16 1361, i16 1617, i16 375, i16 1699, i16 1778, i16 914, i16 1033, i16 0, i16 1334, i16 0, i16 1279, i16 0, i16 0, i16 1952, i16 210, i16 354, i16 0, i16 1738, i16 2881, i16 2283, i16 0, i16 2451, i16 861, i16 3006, i16 0, i16 2800, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1313, i16 1417, i16 2287, i16 1703, i16 2137, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 866, i16 622, i16 1316, i16 1408, i16 1820, i16 898, i16 1728, i16 2600, i16 1320, i16 2332, i16 2813, i16 2630, i16 0, i16 0, i16 427, i16 0, i16 69, i16 459, i16 3043, i16 445, i16 0, i16 1640, i16 706, i16 3050, i16 0, i16 1658, i16 0, i16 0, i16 0, i16 2288, i16 3051, i16 0, i16 1638, i16 402, i16 0, i16 2886, i16 1350, i16 74, i16 0, i16 0, i16 105, i16 266, i16 1214, i16 0, i16 0, i16 0, i16 723, i16 2198, i16 1895, i16 1356, i16 893, i16 535, i16 2248, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2209, i16 3391, i16 0, i16 1254, i16 72, i16 0, i16 2918, i16 3376, i16 2631, i16 1889, i16 2329, i16 2112, i16 2967, i16 0, i16 2831, i16 0, i16 433, i16 2626, i16 2664, i16 1403, i16 1604, i16 0, i16 656, i16 2227, i16 0, i16 0, i16 3181, i16 0, i16 0, i16 933, i16 1146, i16 750, i16 2439, i16 503, i16 1715, i16 885, i16 1784, i16 432, i16 2153, i16 2176, i16 2206, i16 2237, i16 2265, i16 2284, i16 2308, i16 2121, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3054, i16 3082, i16 3103, i16 3126, i16 3151, i16 3171, i16 3193, i16 36, i16 877, i16 0, i16 758, i16 0, i16 1301, i16 147, i16 1262, i16 1072, i16 1616, i16 0, i16 0, i16 0, i16 0, i16 1774, i16 2051, i16 1567, i16 0, i16 2435, i16 2483, i16 0, i16 905, i16 0, i16 2397, i16 256, i16 1851, i16 0, i16 303, i16 0, i16 0, i16 0, i16 0, i16 0, i16 882, i16 0, i16 0, i16 0, i16 1094, i16 1733, i16 1409, i16 0, i16 0, i16 464, i16 0, i16 1880, i16 707, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1243, i16 1963, i16 767, i16 0, i16 0, i16 0, i16 992, i16 0, i16 1571, i16 3334, i16 0, i16 1719, i16 3036, i16 0, i16 2676, i16 624, i16 728, i16 1261, i16 798, i16 1493, i16 0, i16 0, i16 2702, i16 1526, i16 746, i16 3183, i16 0, i16 1046, i16 0, i16 1462, i16 0, i16 2576, i16 1293, i16 3333, i16 0, i16 0, i16 0, i16 3324, i16 1549, i16 0, i16 0, i16 0, i16 2681, i16 1041, i16 2798, i16 1516, i16 1143, i16 1949, i16 1598, i16 390, i16 1236, i16 1448, i16 2829, i16 2432, i16 298, i16 304, i16 2980, i16 336, i16 0, i16 284, i16 0, i16 533, i16 0, i16 0, i16 0, i16 2741, i16 3407, i16 0, i16 2760, i16 1224, i16 100, i16 0, i16 151, i16 0, i16 2885, i16 0, i16 3272, i16 3398, i16 2167, i16 0, i16 0, i16 2175, i16 2184, i16 2196, i16 2191, i16 2205, i16 2307, i16 2222, i16 2322, i16 2214, i16 2343, i16 2229, i16 2348, i16 2236, i16 2490, i16 2508, i16 2534, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 376, i16 3202, i16 1158, i16 0, i16 0, i16 712, i16 1994, i16 906, i16 0, i16 0, i16 0, i16 751, i16 692, i16 1372, i16 936, i16 2146, i16 1829, i16 1474, i16 357, i16 1618, i16 930, i16 2381, i16 2392, i16 0, i16 0, i16 0, i16 46, i16 3256, i16 0, i16 0, i16 0, i16 0, i16 2425, i16 519, i16 0, i16 2466, i16 3340, i16 0, i16 0, i16 0, i16 0, i16 2559, i16 3233, i16 2995, i16 281, i16 0, i16 2685, i16 1680, i16 3175, i16 2402, i16 2752, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1770, i16 1105, i16 3059, i16 1340, i16 801, i16 0, i16 521, i16 0, i16 2170, i16 0, i16 0, i16 1154, i16 0, i16 0, i16 1583, i16 22, i16 2652, i16 3211, i16 0, i16 0, i16 0, i16 0, i16 361, i16 0, i16 928, i16 0, i16 0, i16 3089, i16 557, i16 815, i16 0, i16 0, i16 1325, i16 2950, i16 1110, i16 2310, i16 2113, i16 0, i16 2115, i16 2330, i16 635, i16 2418, i16 967, i16 0, i16 230, i16 666, i16 1709, i16 0, i16 0, i16 1456, i16 2370, i16 3060, i16 0, i16 0, i16 1392, i16 851, i16 342, i16 805, i16 1854, i16 0, i16 2433, i16 3281, i16 1787, i16 2535, i16 0, i16 576, i16 2700, i16 1987, i16 0, i16 0, i16 2549, i16 407, i16 2174, i16 2957, i16 0, i16 0, i16 0, i16 0, i16 1993, i16 1413, i16 175, i16 0, i16 912, i16 2161, i16 0, i16 976, i16 2039, i16 649, i16 0, i16 1239, i16 2979, i16 1111, i16 1849, i16 1078, i16 0, i16 662, i16 668, i16 964, i16 0, i16 3314, i16 595, i16 3120, i16 3152, i16 592, i16 2687, i16 0, i16 2804, i16 2828, i16 2847, i16 2796, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1465, i16 2612, i16 2633, i16 2655, i16 2675, i16 2699, i16 2724, i16 2747, i16 2774, i16 2799, i16 2821, i16 2840, i16 2864, i16 2882, i16 2899, i16 2925, i16 641, i16 781, i16 0, i16 1996, i16 1613, i16 856, i16 1929, i16 1924, i16 0, i16 1781, i16 240, i16 1192, i16 35, i16 787, i16 3197, i16 1593, i16 3081, i16 2927, i16 0, i16 2686, i16 0, i16 1235, i16 0, i16 104, i16 1505, i16 0, i16 0, i16 0, i16 579, i16 3412, i16 2998, i16 1990, i16 2945, i16 2975, i16 2994, i16 3015, i16 3035, i16 0, i16 0, i16 0, i16 1742, i16 3070, i16 3093, i16 3116, i16 3137, i16 3162, i16 3186, i16 3203, i16 3226, i16 3250, i16 3270, i16 3298, i16 3320, i16 3345, i16 3366, i16 3390, i16 3411, i16 1976, i16 1998, i16 2025, i16 2049, i16 2075, i16 0, i16 0, i16 142, i16 0, i16 1213, i16 0, i16 560, i16 1166, i16 3001, i16 290, i16 0, i16 1536, i16 0, i16 633, i16 1309, i16 0, i16 1856, i16 1026, i16 0, i16 0, i16 591, i16 0, i16 0, i16 773, i16 0, i16 571, i16 2590, i16 110, i16 0, i16 0, i16 0, i16 0, i16 41, i16 621, i16 3218, i16 312, i16 3150, i16 431, i16 1894, i16 0, i16 963, i16 1790, i16 2952, i16 1558, i16 3199, i16 3142, i16 0, i16 2889, i16 0, i16 2761, i16 0, i16 0, i16 0, i16 0, i16 892, i16 0, i16 0, i16 0, i16 2869, i16 2877, i16 955, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1688, i16 313, i16 1710, i16 0, i16 1647, i16 0, i16 0, i16 0, i16 0, i16 0, i16 150, i16 383, i16 0, i16 0, i16 957, i16 1268, i16 0, i16 0, i16 1199, i16 3255, i16 2586, i16 1183, i16 0, i16 0, i16 0, i16 405, i16 2764, i16 818, i16 543, i16 293, i16 1017, i16 4, i16 3225, i16 0, i16 1984, i16 0, i16 0, i16 0, i16 3091, i16 2000, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 639, i16 0, i16 1428, i16 0, i16 444, i16 0, i16 718, i16 2251, i16 0, i16 0, i16 2306, i16 2181, i16 0, i16 2458, i16 0, i16 3083, i16 99, i16 0, i16 0, i16 479, i16 2260, i16 3064, i16 0, i16 3343, i16 0, i16 103, i16 1210, i16 727, i16 1469, i16 3339, i16 582, i16 0, i16 1956, i16 0, i16 0, i16 2223, i16 63, i16 203, i16 1208, i16 2141, i16 1238, i16 344, i16 2415, i16 796, i16 3323, i16 1692, i16 3117, i16 0, i16 0, i16 1653, i16 1175, i16 2446, i16 448, i16 327, i16 1928, i16 2706, i16 2713, i16 2826, i16 421, i16 2832, i16 0, i16 0, i16 113, i16 0, i16 2108, i16 1607, i16 2217, i16 1839, i16 2023, i16 679, i16 1275, i16 766, i16 252, i16 2789, i16 1391, i16 2872, i16 274, i16 1438, i16 0, i16 0, i16 1396, i16 1625, i16 0, i16 0, i16 0, i16 0, i16 561, i16 616, i16 790, i16 1691, i16 0, i16 1628, i16 1443, i16 3221, i16 0, i16 1700, i16 0, i16 1495, i16 1353, i16 2437, i16 59, i16 0, i16 2539, i16 1940, i16 0, i16 0, i16 0, i16 254, i16 0, i16 1439, i16 988, i16 369, i16 102, i16 195, i16 682, i16 0, i16 0, i16 1765, i16 0, i16 1704, i16 0, i16 704, i16 0, i16 554, i16 1222, i16 2784, i16 0, i16 0, i16 0, i16 559, i16 0, i16 0, i16 0, i16 302, i16 0, i16 0, i16 0, i16 0, i16 3284, i16 3234, i16 0, i16 2463, i16 3071, i16 1802, i16 1232, i16 0, i16 264, i16 0, i16 2868, i16 908, i16 0, i16 0, i16 0, i16 178, i16 0, i16 228, i16 0, i16 871, i16 0, i16 0, i16 0, i16 257, i16 0, i16 673, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 952, i16 416, i16 0, i16 419, i16 1936, i16 1503, i16 0, i16 319, i16 0, i16 0, i16 3342, i16 0, i16 0, i16 3174, i16 735, i16 39, i16 0, i16 1062, i16 573, i16 1594, i16 1168, i16 0, i16 962, i16 1441, i16 1173, i16 3084, i16 864, i16 0, i16 1970, i16 227, i16 3114, i16 0, i16 0, i16 1753, i16 1761, i16 1194, i16 0, i16 0, i16 0, i16 2094, i16 2122, i16 2154, i16 2177, i16 2207, i16 2238, i16 2266, i16 2285, i16 2309, i16 2335, i16 2355, i16 2376, i16 2396, i16 2417, i16 2442, i16 2468, i16 1292, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1451, i16 2589, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1401, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2475, i16 1869, i16 0, i16 0, i16 1317, i16 1059, i16 2777, i16 2728, i16 0, i16 0, i16 0, i16 0, i16 417, i16 1081, i16 1911, i16 0, i16 0, i16 0, i16 0, i16 3307, i16 1038, i16 0, i16 0, i16 0, i16 0, i16 2099, i16 575, i16 0, i16 0, i16 0, i16 2896, i16 2637, i16 3243, i16 0, i16 1141, i16 123, i16 1498, i16 1988, i16 2513, i16 0, i16 55, i16 2772, i16 2356, i16 1373, i16 1605, i16 0, i16 287, i16 3052, i16 0, i16 355, i16 765, i16 0, i16 0, i16 2781, i16 0, i16 2797, i16 1573, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 941, i16 1909, i16 2552, i16 0, i16 0, i16 0, i16 2276, i16 0, i16 38, i16 0, i16 1874, i16 50, i16 0, i16 0, i16 1380, i16 684, i16 0, i16 0, i16 411, i16 755, i16 1983, i16 2613, i16 0, i16 0, i16 0, i16 1478, i16 137, i16 0, i16 2544, i16 0, i16 2219, i16 332, i16 1455, i16 3350, i16 2325, i16 1294, i16 1946, i16 1028, i16 2062, i16 1445, i16 0, i16 0, i16 0, i16 797, i16 0, i16 1395, i16 0, i16 441, i16 499, i16 2823, i16 1890, i16 495, i16 1490, i16 3148, i16 1071, i16 1716, i16 3295, i16 0, i16 0, i16 937, i16 1797, i16 1246, i16 3205, i16 0, i16 946, i16 0, i16 2731, i16 0, i16 285, i16 0, i16 0, i16 0, i16 2459, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 384, i16 204, i16 2735, i16 716, i16 0, i16 0, i16 0, i16 153, i16 3347, i16 0, i16 0, i16 0, i16 2489, i16 2482, i16 1419, i16 2703, i16 2226, i16 1471, i16 0, i16 1418, i16 951, i16 0, i16 0, i16 0, i16 0, i16 232, i16 0, i16 0, i16 3326, i16 0, i16 0, i16 1470, i16 0, i16 0, i16 494, i16 0, i16 107, i16 2409, i16 1769, i16 1058, i16 3261, i16 0, i16 3147, i16 1285, i16 0, i16 1351, i16 3362, i16 0, i16 1204, i16 695, i16 0, i16 360, i16 1539, i16 2634, i16 0, i16 0, i16 2250, i16 0, i16 95, i16 3034, i16 1815, i16 0, i16 2993, i16 52, i16 1722, i16 0, i16 0, i16 0, i16 1276, i16 3172, i16 2199, i16 808, i16 786, i16 2361, i16 0, i16 1458, i16 2215, i16 0, i16 483, i16 3230, i16 1206, i16 2183, i16 2213, i16 2245, i16 2268, i16 2289, i16 2315, i16 2339, i16 2354, i16 2375, i16 2395, i16 2416, i16 2441, i16 2467, i16 2477, i16 2753, i16 2517, i16 2547, i16 2566, i16 2587, i16 2611, i16 2632, i16 2654, i16 2674, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 439, i16 2127, i16 2746, i16 3195, i16 2974, i16 0, i16 9, i16 1157, i16 1986, i16 1055, i16 1178, i16 0, i16 436, i16 0, i16 3388, i16 3048, i16 654, i16 0, i16 3058, i16 0, i16 1545, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2515, i16 0, i16 1221, i16 1099, i16 187, i16 2092, i16 1463, i16 2647, i16 2803, i16 0, i16 0, i16 0, i16 0, i16 1031, i16 2658, i16 0, i16 1836, i16 0, i16 0, i16 47, i16 2879, i16 3019, i16 2166, i16 0, i16 0, i16 1843, i16 0, i16 0, i16 398, i16 0, i16 1848, i16 874, i16 297, i16 0, i16 0, i16 0, i16 1686, i16 613, i16 3002, i16 2931, i16 2867, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2754, i16 2503, i16 2391, i16 3065, i16 3110, i16 3138, i16 3163, i16 3190, i16 3229, i16 3288, i16 3338, i16 3357, i16 2036, i16 2070, i16 2097, i16 2129, i16 2156, i16 2186, i16 2247, i16 2274, i16 2298, i16 2344, i16 2365, i16 2019, i16 2801, i16 2684, i16 2405, i16 3341, i16 3027, i16 3348, i16 3422, i16 2091, i16 1485, i16 0, i16 3010, i16 902, i16 0, i16 0, i16 1948, i16 0, i16 0, i16 0, i16 309, i16 0, i16 3418, i16 484, i16 0, i16 0, i16 2567, i16 1944, i16 0, i16 1724, i16 0, i16 1777, i16 492, i16 81, i16 688, i16 1714, i16 1499, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2770, i16 3075, i16 1804, i16 0, i16 1227, i16 1751, i16 2936, i16 0, i16 0, i16 0, i16 121, i16 0, i16 1180, i16 1364, i16 1322, i16 3112, i16 588, i16 347, i16 1982, i16 2162, i16 2938, i16 2304, i16 3215, i16 2528, i16 0, i16 0, i16 0, i16 2814, i16 1442, i16 71, i16 0, i16 593, i16 2775, i16 2240, i16 1741, i16 0, i16 0, i16 0, i16 2692, i16 1966, i16 0, i16 379, i16 1102, i16 3000, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1745, i16 0, i16 0, i16 0, i16 3161, i16 1057, i16 2683, i16 222, i16 2338, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1749, i16 2524, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2334, i16 2349, i16 2368, i16 2390, i16 2411, i16 2434, i16 2461, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3214, i16 3242, i16 3260, i16 3283, i16 3308, i16 3330, i16 3352, i16 0, i16 0, i16 0, i16 0, i16 0, i16 989, i16 982, i16 0, i16 0, i16 0, i16 0, i16 1938, i16 0, i16 0, i16 1681, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 991, i16 0, i16 730, i16 2911, i16 0, i16 0, i16 0, i16 1899, i16 2028, i16 185, i16 2512, i16 2569, i16 2673, i16 2267, i16 2806, i16 2941, i16 2540, i16 2923, i16 2086, i16 0, i16 1892, i16 0, i16 903, i16 2920, i16 2592, i16 2751, i16 1093, i16 1708, i16 0, i16 3005, i16 19, i16 3356, i16 2527, i16 216, i16 2619, i16 2188, i16 2557, i16 627, i16 748, i16 135, i16 1344, i16 0, i16 872, i16 1018, i16 2790, i16 2776, i16 0, i16 669, i16 2721, i16 73, i16 2139, i16 1278, i16 188, i16 0, i16 2662, i16 0, i16 0, i16 0, i16 0, i16 550, i16 1484, i16 1083, i16 1303, i16 3238, i16 2783, i16 2805, i16 2688, i16 2891, i16 2839, i16 2863, i16 2572, i16 2624, i16 2641, i16 2588, i16 2709, i16 2944, i16 2718, i16 2740, i16 2768, i16 2820, i16 2871, i16 2579, i16 2698, i16 215, i16 2959, i16 844, i16 2151, i16 2984, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2272, i16 0, i16 2155, i16 2445, i16 371, i16 1070, i16 2953, i16 1633, i16 389, i16 1272, i16 691, i16 1365, i16 1759, i16 2857, i16 1045, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2902, i16 2263, i16 170, i16 855, i16 3113, i16 685, i16 1379, i16 1226, i16 2082, i16 1311, i16 1643, i16 0, i16 3040, i16 1768, i16 1995, i16 1623, i16 2088, i16 3022, i16 1425, i16 1170, i16 2282, i16 0, i16 0, i16 923, i16 1515, i16 1300, i16 3090, i16 2476, i16 1914, i16 289, i16 587, i16 1937, i16 2546, i16 2536, i16 1449, i16 2962, i16 3207, i16 0, i16 1519, i16 1259, i16 968, i16 1590, i16 2371, i16 3066, i16 1249, i16 173, i16 759, i16 1945, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 526, i16 2096, i16 0, i16 0, i16 0, i16 0, i16 3367, i16 0, i16 541, i16 2231, i16 954, i16 0, i16 0, i16 237, i16 0, i16 0, i16 430, i16 0, i16 0, i16 0, i16 2081, i16 726, i16 2020, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 939, i16 23, i16 0, i16 3109, i16 0, i16 0, i16 0, i16 0, i16 3252, i16 2599, i16 0, i16 965, i16 2221, i16 420, i16 1386, i16 0, i16 1734, i16 0, i16 1824, i16 0, i16 0, i16 0, i16 1969, i16 2259, i16 1509, i16 0, i16 1580, i16 1887, i16 2712, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 194, i16 0, i16 2134, i16 2568, i16 2649, i16 226, i16 663, i16 2048, i16 1862, i16 2460, i16 1400, i16 1299, i16 3369, i16 0, i16 0, i16 1867, i16 465, i16 2620, i16 916, i16 771, i16 940, i16 233, i16 0, i16 3132, i16 2132, i16 720, i16 1020, i16 2050, i16 0, i16 2316, i16 1723, i16 3351, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2246, i16 2032, i16 0, i16 326, i16 3387, i16 714, i16 475, i16 0, i16 1673, i16 0, i16 0, i16 1743, i16 0, i16 3145, i16 0, i16 0, i16 1258, i16 1240, i16 1830, i16 0, i16 70, i16 0, i16 163, i16 0, i16 2817, i16 1230, i16 2481, i16 2253, i16 2880, i16 2551, i16 2701, i16 115, i16 2851, i16 2292, i16 434, i16 0, i16 0, i16 1420, i16 1152, i16 2150, i16 3201, i16 2498, i16 3224, i16 77, i16 0, i16 0, i16 0, i16 690, i16 2538, i16 1903, i16 1901, i16 2812, i16 3396, i16 1959, i16 3023, i16 0, i16 0, i16 0, i16 0, i16 1671, i16 258, i16 1060, i16 0, i16 1587, i16 191, i16 775, i16 935, i16 0, i16 0, i16 743, i16 2615, i16 1010, i16 0, i16 0, i16 0, i16 181, i16 3300, i16 372, i16 0, i16 1689, i16 749, i16 1695, i16 0, i16 2542, i16 2359, i16 418, i16 1730, i16 2771, i16 1735, i16 2470, i16 453, i16 2352, i16 2608, i16 143, i16 1337, i16 2160, i16 1339, i16 1352, i16 78, i16 3124, i16 983, i16 249, i16 0, i16 0, i16 3087, i16 1757, i16 2997, i16 2038, i16 1472, i16 2837, i16 619, i16 3414, i16 3053, i16 79, i16 2061, i16 1885, i16 1132, i16 2055, i16 3118, i16 604, i16 0, i16 0, i16 0, i16 1608, i16 744, i16 0, i16 2560, i16 0, i16 980, i16 1785, i16 301, i16 1489, i16 0, i16 853, i16 2293, i16 1792, i16 0, i16 0, i16 98, i16 1805, i16 456, i16 997, i16 0, i16 849, i16 1011, i16 821, i16 518, i16 0, i16 0, i16 605, i16 630, i16 0, i16 0, i16 0, i16 0, i16 1185, i16 0, i16 0, i16 0, i16 7, i16 0, i16 0, i16 0, i16 609, i16 2570, i16 2946, i16 345, i16 2856, i16 0, i16 415, i16 0, i16 0, i16 0, i16 0, i16 1360, i16 0, i16 2035, i16 1771, i16 2525, i16 0, i16 0, i16 0, i16 0, i16 846, i16 1720, i16 3361, i16 648, i16 132, i16 2252, i16 2080, i16 506, i16 0, i16 0, i16 0, i16 860, i16 214, i16 1522, i16 2819, i16 2671, i16 1051, i16 1551, i16 3107, i16 0, i16 0, i16 0, i16 1806, i16 1286, i16 2745, i16 1782, i16 870, i16 2022, i16 1935, i16 0, i16 1669, i16 809, i16 130, i16 0, i16 299, i16 0, i16 0, i16 2707, i16 2410, i16 0, i16 2602, i16 762, i16 3290, i16 3265, i16 2717, i16 85, i16 1597, i16 2341, i16 1763, i16 612, i16 2140, i16 2694, i16 664, i16 3299, i16 1042, i16 0, i16 1486, i16 1786, i16 2047, i16 2827, i16 1464, i16 3012, i16 2190, i16 0, i16 0, i16 196, i16 2942, i16 0, i16 837, i16 1586, i16 0, i16 1461, i16 710, i16 3077, i16 0, i16 996, i16 0, i16 0, i16 1237, i16 917, i16 457, i16 2194, i16 2954, i16 1220, i16 2780, i16 1444, i16 0, i16 0, i16 676, i16 1788, i16 0, i16 0, i16 971, i16 0, i16 652, i16 0, i16 0, i16 0, i16 0, i16 678, i16 2261, i16 0, i16 0, i16 674, i16 816, i16 2843, i16 286, i16 2900, i16 0, i16 2861, i16 563, i16 567, i16 2255, i16 2850, i16 1872, i16 2321, i16 1947, i16 0, i16 0, i16 854, i16 282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 14592, i16 0, i16 0, i16 0, i16 15360, i16 0, i16 0, i16 0, i16 13825, i16 0, i16 0, i16 0, i16 14338, i16 0, i16 0, i16 0, i16 14595, i16 0, i16 0, i16 0, i16 15620, i16 0, i16 0, i16 0, i16 13317, i16 0, i16 0, i16 0, i16 774, i16 0, i16 0, i16 0, i16 12806, i16 0, i16 0, i16 0, i16 15110, i16 0, i16 0, i16 0, i16 16903, i16 0, i16 0, i16 0, i16 13320, i16 0, i16 0, i16 0, i16 16136, i16 0, i16 0, i16 0, i16 15625, i16 0, i16 0, i16 0, i16 778, i16 0, i16 0, i16 0, i16 13578, i16 0, i16 0, i16 0, i16 14859, i16 0, i16 0, i16 0, i16 12556, i16 0, i16 0, i16 0, i16 14092, i16 0, i16 0, i16 0, i16 16652, i16 0, i16 0, i16 0, i16 12302, i16 0, i16 0, i16 0, i16 15118, i16 0, i16 0, i16 0, i16 17166, i16 0, i16 0, i16 0, i16 12559, i16 0, i16 0, i16 0, i16 12815, i16 0, i16 0, i16 0, i16 12304, i16 0, i16 0, i16 0, i16 14353, i16 0, i16 0, i16 0, i16 16913, i16 0, i16 0, i16 0, i16 14354, i16 0, i16 0, i16 0, i16 14355, i16 0, i16 0, i16 0, i16 16659, i16 0, i16 0, i16 0, i16 13844, i16 0, i16 0, i16 0, i16 13590, i16 0, i16 0, i16 0, i16 13591, i16 0, i16 0, i16 0, i16 15639, i16 0, i16 0, i16 0, i16 280, i16 0, i16 0, i16 0, i16 13336, i16 0, i16 0, i16 0, i16 14616, i16 0, i16 0, i16 0, i16 14105, i16 0, i16 0, i16 0, i16 13594, i16 0, i16 0, i16 0, i16 12571, i16 0, i16 0, i16 0, i16 13340, i16 0, i16 0, i16 0, i16 14620, i16 0, i16 0, i16 0, i16 14365, i16 0, i16 0, i16 0, i16 13854, i16 0, i16 0, i16 0, i16 16926, i16 0, i16 0, i16 0, i16 12831, i16 0, i16 0, i16 0, i16 14623, i16 0, i16 0, i16 0, i16 16415, i16 0, i16 0, i16 0, i16 16671, i16 0, i16 0, i16 0, i16 12576, i16 0, i16 0, i16 0, i16 15648, i16 0, i16 0, i16 0, i16 16928, i16 0, i16 0, i16 0, i16 12833, i16 0, i16 0, i16 0, i16 12322, i16 0, i16 0, i16 0, i16 13346, i16 0, i16 0, i16 0, i16 14370, i16 0, i16 0, i16 0, i16 16418, i16 0, i16 0, i16 0, i16 15907, i16 0, i16 0, i16 0, i16 14631, i16 0, i16 0, i16 0, i16 14632, i16 0, i16 0, i16 0, i16 15400, i16 0, i16 0, i16 0, i16 15656, i16 0, i16 0, i16 0, i16 13353, i16 0, i16 0, i16 0, i16 13609, i16 0, i16 0, i16 0, i16 15145, i16 0, i16 0, i16 0, i16 12330, i16 0, i16 0, i16 0, i16 12587, i16 0, i16 0, i16 0, i16 14891, i16 0, i16 0, i16 0, i16 15147, i16 0, i16 0, i16 0, i16 12588, i16 0, i16 0, i16 0, i16 13868, i16 0, i16 0, i16 0, i16 14381, i16 0, i16 0, i16 0, i16 15149, i16 0, i16 0, i16 0, i16 12334, i16 0, i16 0, i16 0, i16 16430, i16 0, i16 0, i16 0, i16 13359, i16 0, i16 0, i16 0, i16 14383, i16 0, i16 0, i16 0, i16 13616, i16 0, i16 0, i16 0, i16 15664, i16 0, i16 0, i16 0, i16 16432, i16 0, i16 0, i16 0, i16 12593, i16 0, i16 0, i16 0, i16 16945, i16 0, i16 0, i16 0, i16 15666, i16 0, i16 0, i16 0, i16 16690, i16 0, i16 0, i16 0, i16 15923, i16 0, i16 0, i16 0, i16 12340, i16 0, i16 0, i16 0, i16 14388, i16 0, i16 0, i16 0, i16 15924, i16 0, i16 0, i16 0, i16 12853, i16 0, i16 0, i16 0, i16 13112, i16 0, i16 0, i16 0, i16 15928, i16 0, i16 0, i16 0, i16 15929, i16 0, i16 0, i16 0, i16 16185, i16 0, i16 0, i16 0, i16 13626, i16 0, i16 0, i16 0, i16 13882, i16 0, i16 0, i16 0, i16 15930, i16 0, i16 0, i16 0, i16 12347, i16 0, i16 0, i16 0, i16 12603, i16 0, i16 0, i16 0, i16 13627, i16 0, i16 0, i16 0, i16 15675, i16 0, i16 0, i16 0, i16 12860, i16 0, i16 0, i16 0, i16 14396, i16 0, i16 0, i16 0, i16 16444, i16 0, i16 0, i16 0, i16 12351, i16 0, i16 0, i16 0, i16 13631, i16 0, i16 0, i16 0, i16 16703, i16 0, i16 0, i16 0, i16 12353, i16 0, i16 0, i16 0, i16 12865, i16 0, i16 0, i16 0, i16 13377, i16 0, i16 0, i16 0, i16 14145, i16 0, i16 0, i16 0, i16 15425, i16 0, i16 0, i16 0, i16 12866, i16 0, i16 0, i16 0, i16 13634, i16 0, i16 0, i16 0, i16 16962, i16 0, i16 0, i16 0, i16 13380, i16 0, i16 0, i16 0, i16 14916, i16 0, i16 0, i16 0, i16 13125, i16 0, i16 0, i16 0, i16 13893, i16 0, i16 0, i16 0, i16 15429, i16 0, i16 0, i16 0, i16 16709, i16 0, i16 0, i16 0, i16 13638, i16 0, i16 0, i16 0, i16 15430, i16 0, i16 0, i16 0, i16 15686, i16 0, i16 0, i16 0, i16 16966, i16 0, i16 0, i16 0, i16 13383, i16 0, i16 0, i16 0, i16 16455, i16 0, i16 0, i16 0, i16 16456, i16 0, i16 0, i16 0, i16 16712, i16 0, i16 0, i16 0, i16 12361, i16 0, i16 0, i16 0, i16 12617, i16 0, i16 0, i16 0, i16 15177, i16 0, i16 0, i16 0, i16 12874, i16 0, i16 0, i16 0, i16 16970, i16 0, i16 0, i16 0, i16 12875, i16 0, i16 0, i16 0, i16 14412, i16 0, i16 0, i16 0, i16 15948, i16 0, i16 0, i16 0, i16 12621, i16 0, i16 0, i16 0, i16 13646, i16 0, i16 0, i16 0, i16 14414, i16 0, i16 0, i16 0, i16 12623, i16 0, i16 0, i16 0, i16 14159, i16 0, i16 0, i16 0, i16 13136, i16 0, i16 0, i16 0, i16 16464, i16 0, i16 0, i16 0, i16 16976, i16 0, i16 0, i16 0, i16 12882, i16 0, i16 0, i16 0, i16 15698, i16 0, i16 0, i16 0, i16 14419, i16 0, i16 0, i16 0, i16 12373, i16 0, i16 0, i16 0, i16 15957, i16 0, i16 0, i16 0, i16 16981, i16 0, i16 0, i16 0, i16 13398, i16 0, i16 0, i16 0, i16 14934, i16 0, i16 0, i16 0, i16 13400, i16 0, i16 0, i16 0, i16 13145, i16 0, i16 0, i16 0, i16 13402, i16 0, i16 0, i16 0, i16 14682, i16 0, i16 0, i16 0, i16 16730, i16 0, i16 0, i16 0, i16 16986, i16 0, i16 0, i16 0, i16 14939, i16 0, i16 0, i16 0, i16 13148, i16 0, i16 0, i16 0, i16 15708, i16 0, i16 0, i16 0, i16 16476, i16 0, i16 0, i16 0, i16 13149, i16 0, i16 0, i16 0, i16 14173, i16 0, i16 0, i16 0, i16 15453, i16 0, i16 0, i16 0, i16 15709, i16 0, i16 0, i16 0, i16 16733, i16 0, i16 0, i16 0, i16 14174, i16 0, i16 0, i16 0, i16 15710, i16 0, i16 0, i16 0, i16 12383, i16 0, i16 0, i16 0, i16 16735, i16 0, i16 0, i16 0, i16 15712, i16 0, i16 0, i16 0, i16 12641, i16 0, i16 0, i16 0, i16 13409, i16 0, i16 0, i16 0, i16 16226, i16 0, i16 0, i16 0, i16 13923, i16 0, i16 0, i16 0, i16 14179, i16 0, i16 0, i16 0, i16 16483, i16 0, i16 0, i16 0, i16 15716, i16 0, i16 0, i16 0, i16 13414, i16 0, i16 0, i16 0, i16 615, i16 0, i16 0, i16 0, i16 871, i16 0, i16 0, i16 0, i16 12906, i16 0, i16 0, i16 0, i16 14186, i16 0, i16 0, i16 0, i16 14442, i16 0, i16 0, i16 0, i16 14698, i16 0, i16 0, i16 0, i16 16490, i16 0, i16 0, i16 0, i16 12651, i16 0, i16 0, i16 0, i16 13675, i16 0, i16 0, i16 0, i16 13164, i16 0, i16 0, i16 0, i16 13420, i16 0, i16 0, i16 0, i16 15980, i16 0, i16 0, i16 0, i16 13935, i16 0, i16 0, i16 0, i16 13680, i16 0, i16 0, i16 0, i16 16752, i16 0, i16 0, i16 0, i16 13938, i16 0, i16 0, i16 0, i16 15475, i16 0, i16 0, i16 0, i16 15731, i16 0, i16 0, i16 0, i16 12660, i16 0, i16 0, i16 0, i16 15732, i16 0, i16 0, i16 0, i16 14453, i16 0, i16 0, i16 0, i16 14709, i16 0, i16 0, i16 0, i16 15221, i16 0, i16 0, i16 0, i16 12406, i16 0, i16 0, i16 0, i16 13174, i16 0, i16 0, i16 0, i16 12919, i16 0, i16 0, i16 0, i16 16759, i16 0, i16 0, i16 0, i16 15480, i16 0, i16 0, i16 0, i16 14201, i16 0, i16 0, i16 0, i16 15737, i16 0, i16 0, i16 0, i16 15993, i16 0, i16 0, i16 0, i16 16250, i16 0, i16 0, i16 0, i16 12411, i16 0, i16 0, i16 0, i16 636, i16 0, i16 0, i16 0, i16 13180, i16 0, i16 0, i16 0, i16 14460, i16 0, i16 0, i16 0, i16 14716, i16 0, i16 0, i16 0, i16 14972, i16 0, i16 0, i16 0, i16 15228, i16 0, i16 0, i16 0, i16 12669, i16 0, i16 0, i16 0, i16 14205, i16 0, i16 0, i16 0, i16 16765, i16 0, i16 0, i16 0, i16 12926, i16 0, i16 0, i16 0, i16 15486, i16 0, i16 0, i16 0, i16 15742, i16 0, i16 0, i16 0, i16 14207, i16 0, i16 0, i16 0, i16 16767, i16 0, i16 0, i16 0, i16 13185, i16 0, i16 0, i16 0, i16 12931, i16 0, i16 0, i16 0, i16 13187, i16 0, i16 0, i16 0, i16 13699, i16 0, i16 0, i16 0, i16 14467, i16 0, i16 0, i16 0, i16 12421, i16 0, i16 0, i16 0, i16 13701, i16 0, i16 0, i16 0, i16 14725, i16 0, i16 0, i16 0, i16 14981, i16 0, i16 0, i16 0, i16 16261, i16 0, i16 0, i16 0, i16 13190, i16 0, i16 0, i16 0, i16 14214, i16 0, i16 0, i16 0, i16 16006, i16 0, i16 0, i16 0, i16 13703, i16 0, i16 0, i16 0, i16 12425, i16 0, i16 0, i16 0, i16 13705, i16 0, i16 0, i16 0, i16 14473, i16 0, i16 0, i16 0, i16 14985, i16 0, i16 0, i16 0, i16 13962, i16 0, i16 0, i16 0, i16 16266, i16 0, i16 0, i16 0, i16 12939, i16 0, i16 0, i16 0, i16 13453, i16 0, i16 0, i16 0, i16 14221, i16 0, i16 0, i16 0, i16 16013, i16 0, i16 0, i16 0, i16 17037, i16 0, i16 0, i16 0, i16 15503, i16 0, i16 0, i16 0, i16 14737, i16 0, i16 0, i16 0, i16 12946, i16 0, i16 0, i16 0, i16 13458, i16 0, i16 0, i16 0, i16 15506, i16 0, i16 0, i16 0, i16 17042, i16 0, i16 0, i16 0, i16 12435, i16 0, i16 0, i16 0, i16 16019, i16 0, i16 0, i16 0, i16 17043, i16 0, i16 0, i16 0, i16 12948, i16 0, i16 0, i16 0, i16 13972, i16 0, i16 0, i16 0, i16 16532, i16 0, i16 0, i16 0, i16 13975, i16 0, i16 0, i16 0, i16 15768, i16 0, i16 0, i16 0, i16 16793, i16 0, i16 0, i16 0, i16 13466, i16 0, i16 0, i16 0, i16 155, i16 0, i16 0, i16 0, i16 156, i16 0, i16 0, i16 0, i16 13469, i16 0, i16 0, i16 0, i16 16285, i16 0, i16 0, i16 0, i16 12958, i16 0, i16 0, i16 0, i16 13215, i16 0, i16 0, i16 0, i16 13727, i16 0, i16 0, i16 0, i16 14751, i16 0, i16 0, i16 0, i16 15263, i16 0, i16 0, i16 0, i16 15775, i16 0, i16 0, i16 0, i16 12704, i16 0, i16 0, i16 0, i16 16800, i16 0, i16 0, i16 0, i16 13473, i16 0, i16 0, i16 0, i16 14241, i16 0, i16 0, i16 0, i16 15521, i16 0, i16 0, i16 0, i16 16801, i16 0, i16 0, i16 0, i16 12962, i16 0, i16 0, i16 0, i16 15010, i16 0, i16 0, i16 0, i16 15778, i16 0, i16 0, i16 0, i16 15267, i16 0, i16 0, i16 0, i16 14500, i16 0, i16 0, i16 0, i16 165, i16 0, i16 0, i16 0, i16 15781, i16 0, i16 0, i16 0, i16 16293, i16 0, i16 0, i16 0, i16 166, i16 0, i16 0, i16 0, i16 17063, i16 0, i16 0, i16 0, i16 13736, i16 0, i16 0, i16 0, i16 16296, i16 0, i16 0, i16 0, i16 16808, i16 0, i16 0, i16 0, i16 12713, i16 0, i16 0, i16 0, i16 13993, i16 0, i16 0, i16 0, i16 16041, i16 0, i16 0, i16 0, i16 16810, i16 0, i16 0, i16 0, i16 17066, i16 0, i16 0, i16 0, i16 13483, i16 0, i16 0, i16 0, i16 13484, i16 0, i16 0, i16 0, i16 16300, i16 0, i16 0, i16 0, i16 13741, i16 0, i16 0, i16 0, i16 15277, i16 0, i16 0, i16 0, i16 12462, i16 0, i16 0, i16 0, i16 13999, i16 0, i16 0, i16 0, i16 16559, i16 0, i16 0, i16 0, i16 176, i16 0, i16 0, i16 0, i16 16048, i16 0, i16 0, i16 0, i16 13233, i16 0, i16 0, i16 0, i16 14769, i16 0, i16 0, i16 0, i16 16049, i16 0, i16 0, i16 0, i16 16305, i16 0, i16 0, i16 0, i16 13746, i16 0, i16 0, i16 0, i16 13747, i16 0, i16 0, i16 0, i16 180, i16 0, i16 0, i16 0, i16 13237, i16 0, i16 0, i16 0, i16 13749, i16 0, i16 0, i16 0, i16 14773, i16 0, i16 0, i16 0, i16 16309, i16 0, i16 0, i16 0, i16 16821, i16 0, i16 0, i16 0, i16 13750, i16 0, i16 0, i16 0, i16 14263, i16 0, i16 0, i16 0, i16 696, i16 0, i16 0, i16 0, i16 15544, i16 0, i16 0, i16 0, i16 16312, i16 0, i16 0, i16 0, i16 15290, i16 0, i16 0, i16 0, i16 16570, i16 0, i16 0, i16 0, i16 12475, i16 0, i16 0, i16 0, i16 13755, i16 0, i16 0, i16 0, i16 14779, i16 0, i16 0, i16 0, i16 15035, i16 0, i16 0, i16 0, i16 16828, i16 0, i16 0, i16 0, i16 15037, i16 0, i16 0, i16 0, i16 14526, i16 0, i16 0, i16 0, i16 15294, i16 0, i16 0, i16 0, i16 16832, i16 0, i16 0, i16 0, i16 15809, i16 0, i16 0, i16 0, i16 13506, i16 0, i16 0, i16 0, i16 16066, i16 0, i16 0, i16 0, i16 16834, i16 0, i16 0, i16 0, i16 12739, i16 0, i16 0, i16 0, i16 13763, i16 0, i16 0, i16 0, i16 12740, i16 0, i16 0, i16 0, i16 13764, i16 0, i16 0, i16 0, i16 16068, i16 0, i16 0, i16 0, i16 15045, i16 0, i16 0, i16 0, i16 15301, i16 0, i16 0, i16 0, i16 14278, i16 0, i16 0, i16 0, i16 12743, i16 0, i16 0, i16 0, i16 14791, i16 0, i16 0, i16 0, i16 17095, i16 0, i16 0, i16 0, i16 13768, i16 0, i16 0, i16 0, i16 15560, i16 0, i16 0, i16 0, i16 12745, i16 0, i16 0, i16 0, i16 13513, i16 0, i16 0, i16 0, i16 13514, i16 0, i16 0, i16 0, i16 13770, i16 0, i16 0, i16 0, i16 14027, i16 0, i16 0, i16 0, i16 17099, i16 0, i16 0, i16 0, i16 13516, i16 0, i16 0, i16 0, i16 17100, i16 0, i16 0, i16 0, i16 14285, i16 0, i16 0, i16 0, i16 16845, i16 0, i16 0, i16 0, i16 12494, i16 0, i16 0, i16 0, i16 14798, i16 0, i16 0, i16 0, i16 17102, i16 0, i16 0, i16 0, i16 16079, i16 0, i16 0, i16 0, i16 13520, i16 0, i16 0, i16 0, i16 14032, i16 0, i16 0, i16 0, i16 14288, i16 0, i16 0, i16 0, i16 14800, i16 0, i16 0, i16 0, i16 14289, i16 0, i16 0, i16 0, i16 15569, i16 0, i16 0, i16 0, i16 17105, i16 0, i16 0, i16 0, i16 13778, i16 0, i16 0, i16 0, i16 14034, i16 0, i16 0, i16 0, i16 14803, i16 0, i16 0, i16 0, i16 16083, i16 0, i16 0, i16 0, i16 14805, i16 0, i16 0, i16 0, i16 15829, i16 0, i16 0, i16 0, i16 16597, i16 0, i16 0, i16 0, i16 16853, i16 0, i16 0, i16 0, i16 16598, i16 0, i16 0, i16 0, i16 12503, i16 0, i16 0, i16 0, i16 13527, i16 0, i16 0, i16 0, i16 16088, i16 0, i16 0, i16 0, i16 12761, i16 0, i16 0, i16 0, i16 13785, i16 0, i16 0, i16 0, i16 14809, i16 0, i16 0, i16 0, i16 12508, i16 0, i16 0, i16 0, i16 13276, i16 0, i16 0, i16 0, i16 13532, i16 0, i16 0, i16 0, i16 15836, i16 0, i16 0, i16 0, i16 16348, i16 0, i16 0, i16 0, i16 17116, i16 0, i16 0, i16 0, i16 14045, i16 0, i16 0, i16 0, i16 15837, i16 0, i16 0, i16 0, i16 14558, i16 0, i16 0, i16 0, i16 15326, i16 0, i16 0, i16 0, i16 14047, i16 0, i16 0, i16 0, i16 12768, i16 0, i16 0, i16 0, i16 15584, i16 0, i16 0, i16 0, i16 225, i16 0, i16 0, i16 0, i16 13793, i16 0, i16 0, i16 0, i16 13027, i16 0, i16 0, i16 0, i16 14819, i16 0, i16 0, i16 0, i16 16099, i16 0, i16 0, i16 0, i16 16867, i16 0, i16 0, i16 0, i16 14052, i16 0, i16 0, i16 0, i16 17124, i16 0, i16 0, i16 0, i16 14821, i16 0, i16 0, i16 0, i16 15077, i16 0, i16 0, i16 0, i16 13286, i16 0, i16 0, i16 0, i16 12519, i16 0, i16 0, i16 0, i16 12775, i16 0, i16 0, i16 0, i16 13031, i16 0, i16 0, i16 0, i16 14311, i16 0, i16 0, i16 0, i16 14823, i16 0, i16 0, i16 0, i16 13800, i16 0, i16 0, i16 0, i16 16616, i16 0, i16 0, i16 0, i16 14057, i16 0, i16 0, i16 0, i16 14826, i16 0, i16 0, i16 0, i16 15594, i16 0, i16 0, i16 0, i16 13291, i16 0, i16 0, i16 0, i16 16108, i16 0, i16 0, i16 0, i16 237, i16 0, i16 0, i16 0, i16 12781, i16 0, i16 0, i16 0, i16 15597, i16 0, i16 0, i16 0, i16 15342, i16 0, i16 0, i16 0, i16 14063, i16 0, i16 0, i16 0, i16 15087, i16 0, i16 0, i16 0, i16 15344, i16 0, i16 0, i16 0, i16 13809, i16 0, i16 0, i16 0, i16 17138, i16 0, i16 0, i16 0, i16 15091, i16 0, i16 0, i16 0, i16 16627, i16 0, i16 0, i16 0, i16 12788, i16 0, i16 0, i16 0, i16 14580, i16 0, i16 0, i16 0, i16 15348, i16 0, i16 0, i16 0, i16 16628, i16 0, i16 0, i16 0, i16 13813, i16 0, i16 0, i16 0, i16 13302, i16 0, i16 0, i16 0, i16 14326, i16 0, i16 0, i16 0, i16 15094, i16 0, i16 0, i16 0, i16 15863, i16 0, i16 0, i16 0, i16 16375, i16 0, i16 0, i16 0, i16 15353, i16 0, i16 0, i16 0, i16 15609, i16 0, i16 0, i16 0, i16 14586, i16 0, i16 0, i16 0, i16 15354, i16 0, i16 0, i16 0, i16 15355, i16 0, i16 0, i16 0, i16 15867, i16 0, i16 0, i16 0, i16 15100, i16 0, i16 0, i16 0, i16 12285, i16 0, i16 0, i16 0, i16 13053, i16 0, i16 0, i16 0, i16 14333, i16 0, i16 0, i16 0, i16 12542, i16 0, i16 0, i16 0, i16 12798, i16 0, i16 0, i16 0, i16 13310, i16 0, i16 0, i16 0, i16 14846, i16 0, i16 0, i16 0, i16 15103, i16 0, i16 0, i16 256, i16 0, i16 0, i16 0, i16 14080, i16 0, i16 0, i16 0, i16 13313, i16 17049, i16 0, i16 0, i16 12546, i16 0, i16 0, i16 0, i16 14082, i16 0, i16 0, i16 0, i16 15618, i16 0, i16 0, i16 0, i16 12547, i16 0, i16 0, i16 0, i16 16899, i16 0, i16 0, i16 0, i16 14852, i16 17003, i16 0, i16 0, i16 16388, i16 0, i16 0, i16 0, i16 16644, i16 0, i16 0, i16 0, i16 13573, i16 0, i16 0, i16 0, i16 14085, i16 0, i16 0, i16 0, i16 15109, i16 0, i16 0, i16 0, i16 13318, i16 0, i16 0, i16 0, i16 15366, i16 0, i16 0, i16 0, i16 15622, i16 0, i16 0, i16 0, i16 16390, i16 14495, i16 0, i16 0, i16 16902, i16 13005, i16 0, i16 0, i16 12295, i16 12296, i16 0, i16 0, i16 14343, i16 13546, i16 0, i16 0, i16 16647, i16 0, i16 0, i16 0, i16 14344, i16 0, i16 0, i16 0, i16 15880, i16 15683, i16 0, i16 0, i16 265, i16 264, i16 0, i16 0, i16 12553, i16 14944, i16 0, i16 0, i16 13833, i16 0, i16 0, i16 0, i16 14857, i16 0, i16 0, i16 0, i16 15881, i16 0, i16 0, i16 0, i16 16137, i16 0, i16 0, i16 0, i16 16649, i16 0, i16 0, i16 0, i16 17162, i16 0, i16 0, i16 0, i16 12555, i16 16345, i16 0, i16 0, i16 13067, i16 0, i16 0, i16 0, i16 15115, i16 0, i16 0, i16 0, i16 12300, i16 0, i16 0, i16 0, i16 14348, i16 0, i16 0, i16 0, i16 15628, i16 14483, i16 0, i16 0, i16 16140, i16 0, i16 0, i16 0, i16 12557, i16 0, i16 0, i16 0, i16 14349, i16 0, i16 0, i16 0, i16 14605, i16 15757, i16 0, i16 0, i16 15629, i16 0, i16 0, i16 0, i16 15885, i16 0, i16 0, i16 0, i16 782, i16 0, i16 0, i16 0, i16 13582, i16 13021, i16 0, i16 0, i16 14094, i16 0, i16 0, i16 0, i16 14862, i16 0, i16 0, i16 0, i16 16398, i16 14978, i16 0, i16 0, i16 14352, i16 0, i16 0, i16 0, i16 15376, i16 0, i16 0, i16 0, i16 15121, i16 0, i16 0, i16 0, i16 16657, i16 0, i16 0, i16 0, i16 17169, i16 0, i16 0, i16 0, i16 16658, i16 0, i16 0, i16 0, i16 12819, i16 15198, i16 0, i16 0, i16 13331, i16 0, i16 0, i16 0, i16 13588, i16 15915, i16 0, i16 0, i16 16148, i16 0, i16 0, i16 0, i16 13589, i16 14715, i16 0, i16 0, i16 15125, i16 0, i16 0, i16 0, i16 16661, i16 0, i16 0, i16 0, i16 12310, i16 0, i16 0, i16 0, i16 12566, i16 15116, i16 0, i16 0, i16 13334, i16 0, i16 0, i16 0, i16 14102, i16 15783, i16 0, i16 0, i16 13335, i16 0, i16 0, i16 0, i16 16152, i16 0, i16 0, i16 0, i16 12569, i16 0, i16 0, i16 0, i16 282, i16 0, i16 0, i16 0, i16 794, i16 0, i16 0, i16 0, i16 13338, i16 0, i16 0, i16 0, i16 15386, i16 15387, i16 0, i16 0, i16 15643, i16 16909, i16 0, i16 0, i16 16155, i16 14782, i16 0, i16 0, i16 16667, i16 0, i16 0, i16 0, i16 12828, i16 0, i16 0, i16 0, i16 15644, i16 0, i16 0, i16 0, i16 12829, i16 0, i16 0, i16 0, i16 13597, i16 0, i16 0, i16 0, i16 15133, i16 0, i16 0, i16 0, i16 16413, i16 0, i16 0, i16 0, i16 16669, i16 0, i16 0, i16 0, i16 14110, i16 0, i16 0, i16 0, i16 15902, i16 0, i16 0, i16 0, i16 16158, i16 0, i16 0, i16 0, i16 16670, i16 0, i16 0, i16 0, i16 12320, i16 0, i16 0, i16 0, i16 13344, i16 0, i16 0, i16 0, i16 14624, i16 13170, i16 0, i16 0, i16 15392, i16 0, i16 0, i16 0, i16 16672, i16 12786, i16 0, i16 0, i16 12321, i16 0, i16 0, i16 0, i16 13601, i16 0, i16 0, i16 0, i16 14881, i16 17167, i16 0, i16 0, i16 15649, i16 16630, i16 0, i16 0, i16 15905, i16 16062, i16 0, i16 0, i16 16929, i16 0, i16 0, i16 0, i16 14114, i16 0, i16 0, i16 0, i16 14882, i16 0, i16 0, i16 0, i16 15906, i16 12444, i16 0, i16 0, i16 16674, i16 0, i16 0, i16 0, i16 16163, i16 0, i16 0, i16 0, i16 13860, i16 13824, i16 0, i16 0, i16 14116, i16 15911, i16 0, i16 0, i16 14884, i16 0, i16 0, i16 0, i16 12325, i16 0, i16 0, i16 0, i16 12837, i16 0, i16 0, i16 0, i16 16678, i16 0, i16 0, i16 0, i16 12327, i16 0, i16 0, i16 0, i16 14887, i16 0, i16 0, i16 0, i16 16423, i16 0, i16 0, i16 0, i16 12328, i16 16639, i16 0, i16 0, i16 16425, i16 0, i16 0, i16 0, i16 13610, i16 16180, i16 0, i16 0, i16 14890, i16 0, i16 0, i16 0, i16 16170, i16 0, i16 0, i16 0, i16 15403, i16 0, i16 0, i16 0, i16 16171, i16 0, i16 0, i16 0, i16 12332, i16 0, i16 0, i16 0, i16 15404, i16 15291, i16 0, i16 0, i16 14125, i16 0, i16 0, i16 0, i16 14893, i16 15274, i16 0, i16 0, i16 16685, i16 0, i16 0, i16 0, i16 16941, i16 0, i16 0, i16 0, i16 14382, i16 0, i16 0, i16 0, i16 14638, i16 12998, i16 0, i16 0, i16 16174, i16 0, i16 0, i16 0, i16 12591, i16 0, i16 0, i16 0, i16 14639, i16 0, i16 0, i16 0, i16 13360, i16 0, i16 0, i16 0, i16 14384, i16 0, i16 0, i16 0, i16 14640, i16 0, i16 0, i16 0, i16 13361, i16 0, i16 0, i16 0, i16 14641, i16 0, i16 0, i16 0, i16 15409, i16 0, i16 0, i16 0, i16 16433, i16 0, i16 0, i16 0, i16 14642, i16 0, i16 0, i16 0, i16 14898, i16 13976, i16 0, i16 0, i16 15154, i16 0, i16 0, i16 0, i16 12851, i16 15968, i16 0, i16 0, i16 13619, i16 0, i16 0, i16 0, i16 16947, i16 0, i16 0, i16 0, i16 15156, i16 0, i16 0, i16 0, i16 13365, i16 0, i16 0, i16 0, i16 13621, i16 12675, i16 0, i16 0, i16 12598, i16 15066, i16 0, i16 0, i16 12343, i16 13378, i16 0, i16 0, i16 14135, i16 0, i16 0, i16 0, i16 14391, i16 0, i16 0, i16 0, i16 16951, i16 15075, i16 0, i16 0, i16 12856, i16 0, i16 0, i16 0, i16 15160, i16 13821, i16 0, i16 0, i16 14905, i16 0, i16 0, i16 0, i16 12858, i16 0, i16 0, i16 0, i16 13370, i16 0, i16 0, i16 0, i16 14138, i16 0, i16 0, i16 0, i16 14907, i16 0, i16 0, i16 0, i16 13628, i16 0, i16 0, i16 0, i16 13884, i16 0, i16 0, i16 0, i16 16956, i16 0, i16 0, i16 0, i16 13885, i16 0, i16 0, i16 0, i16 14141, i16 0, i16 0, i16 0, i16 14398, i16 0, i16 0, i16 0, i16 15166, i16 0, i16 0, i16 0, i16 16958, i16 0, i16 0, i16 0, i16 13375, i16 0, i16 0, i16 0, i16 13889, i16 0, i16 0, i16 0, i16 14913, i16 14137, i16 0, i16 0, i16 16193, i16 0, i16 0, i16 0, i16 16449, i16 0, i16 0, i16 0, i16 15938, i16 0, i16 0, i16 0, i16 12355, i16 0, i16 0, i16 0, i16 13379, i16 0, i16 0, i16 0, i16 14660, i16 16660, i16 0, i16 0, i16 15684, i16 0, i16 0, i16 0, i16 12613, i16 16161, i16 0, i16 0, i16 12869, i16 0, i16 0, i16 0, i16 16965, i16 0, i16 0, i16 0, i16 13126, i16 0, i16 0, i16 0, i16 14406, i16 0, i16 0, i16 0, i16 12359, i16 0, i16 0, i16 0, i16 13895, i16 15817, i16 0, i16 0, i16 16711, i16 0, i16 0, i16 0, i16 13640, i16 0, i16 0, i16 0, i16 14920, i16 0, i16 0, i16 0, i16 15944, i16 0, i16 0, i16 0, i16 13385, i16 0, i16 0, i16 0, i16 13641, i16 0, i16 0, i16 0, i16 15945, i16 16859, i16 0, i16 0, i16 16457, i16 0, i16 0, i16 0, i16 12362, i16 0, i16 0, i16 0, i16 13130, i16 0, i16 0, i16 0, i16 14154, i16 0, i16 0, i16 0, i16 14666, i16 0, i16 0, i16 0, i16 16202, i16 0, i16 0, i16 0, i16 13131, i16 15689, i16 0, i16 0, i16 13387, i16 0, i16 0, i16 0, i16 14155, i16 0, i16 0, i16 0, i16 15179, i16 12896, i16 0, i16 0, i16 15691, i16 0, i16 0, i16 0, i16 12364, i16 14260, i16 0, i16 0, i16 13388, i16 13894, i16 0, i16 0, i16 13901, i16 0, i16 0, i16 0, i16 14669, i16 15472, i16 0, i16 0, i16 15949, i16 0, i16 0, i16 0, i16 13390, i16 16026, i16 0, i16 0, i16 14670, i16 0, i16 0, i16 0, i16 13135, i16 16906, i16 0, i16 0, i16 13391, i16 0, i16 0, i16 0, i16 16463, i16 0, i16 0, i16 0, i16 13392, i16 13404, i16 0, i16 0, i16 16720, i16 0, i16 0, i16 0, i16 13649, i16 0, i16 0, i16 0, i16 16209, i16 0, i16 0, i16 0, i16 14674, i16 0, i16 0, i16 0, i16 16722, i16 0, i16 0, i16 0, i16 14163, i16 0, i16 0, i16 0, i16 14675, i16 0, i16 0, i16 0, i16 15699, i16 0, i16 0, i16 0, i16 12628, i16 14648, i16 0, i16 0, i16 13396, i16 0, i16 0, i16 0, i16 15188, i16 0, i16 0, i16 0, i16 12886, i16 0, i16 0, i16 0, i16 13910, i16 0, i16 0, i16 0, i16 14422, i16 0, i16 0, i16 0, i16 15958, i16 12707, i16 0, i16 0, i16 16214, i16 0, i16 0, i16 0, i16 16470, i16 0, i16 0, i16 0, i16 12631, i16 13625, i16 0, i16 0, i16 13143, i16 0, i16 0, i16 0, i16 14423, i16 0, i16 0, i16 0, i16 13656, i16 0, i16 0, i16 0, i16 13912, i16 0, i16 0, i16 0, i16 14424, i16 0, i16 0, i16 0, i16 12633, i16 0, i16 0, i16 0, i16 13913, i16 0, i16 0, i16 0, i16 12890, i16 0, i16 0, i16 0, i16 13146, i16 0, i16 0, i16 0, i16 15962, i16 0, i16 0, i16 0, i16 13147, i16 0, i16 0, i16 0, i16 13659, i16 0, i16 0, i16 0, i16 13405, i16 0, i16 0, i16 0, i16 13150, i16 0, i16 0, i16 0, i16 13406, i16 0, i16 0, i16 0, i16 14686, i16 0, i16 0, i16 0, i16 12895, i16 12407, i16 0, i16 0, i16 15455, i16 0, i16 0, i16 0, i16 14176, i16 0, i16 0, i16 0, i16 14432, i16 0, i16 0, i16 0, i16 15200, i16 0, i16 0, i16 0, i16 16736, i16 0, i16 0, i16 0, i16 12897, i16 0, i16 0, i16 0, i16 13921, i16 0, i16 0, i16 0, i16 14689, i16 0, i16 0, i16 0, i16 13154, i16 0, i16 0, i16 0, i16 16994, i16 16995, i16 0, i16 0, i16 15971, i16 15754, i16 0, i16 0, i16 13156, i16 0, i16 0, i16 0, i16 14692, i16 0, i16 0, i16 0, i16 15460, i16 0, i16 0, i16 0, i16 16228, i16 0, i16 0, i16 0, i16 12389, i16 0, i16 0, i16 0, i16 13669, i16 0, i16 0, i16 0, i16 16486, i16 0, i16 0, i16 0, i16 13927, i16 12380, i16 0, i16 0, i16 14951, i16 15813, i16 0, i16 0, i16 15975, i16 0, i16 0, i16 0, i16 16487, i16 0, i16 0, i16 0, i16 12904, i16 12905, i16 0, i16 0, i16 13416, i16 14004, i16 0, i16 0, i16 15977, i16 0, i16 0, i16 0, i16 12394, i16 15982, i16 0, i16 0, i16 15978, i16 0, i16 0, i16 0, i16 13676, i16 0, i16 0, i16 0, i16 15212, i16 0, i16 0, i16 0, i16 14445, i16 0, i16 0, i16 0, i16 12654, i16 0, i16 0, i16 0, i16 13934, i16 0, i16 0, i16 0, i16 13679, i16 0, i16 0, i16 0, i16 14449, i16 0, i16 0, i16 0, i16 16241, i16 0, i16 0, i16 0, i16 13426, i16 16648, i16 0, i16 0, i16 12915, i16 0, i16 0, i16 0, i16 13427, i16 14180, i16 0, i16 0, i16 14451, i16 15717, i16 0, i16 0, i16 16243, i16 0, i16 0, i16 0, i16 14452, i16 0, i16 0, i16 0, i16 14708, i16 0, i16 0, i16 0, i16 12917, i16 0, i16 0, i16 0, i16 14966, i16 0, i16 0, i16 0, i16 13944, i16 0, i16 0, i16 0, i16 15992, i16 0, i16 0, i16 0, i16 16760, i16 0, i16 0, i16 0, i16 17016, i16 15317, i16 0, i16 0, i16 15225, i16 0, i16 0, i16 0, i16 12666, i16 0, i16 0, i16 0, i16 15738, i16 13848, i16 0, i16 0, i16 17018, i16 0, i16 0, i16 0, i16 13947, i16 0, i16 0, i16 0, i16 15996, i16 0, i16 0, i16 0, i16 13181, i16 0, i16 0, i16 0, i16 15229, i16 0, i16 0, i16 0, i16 13438, i16 13197, i16 0, i16 0, i16 15743, i16 0, i16 0, i16 0, i16 17023, i16 0, i16 0, i16 0, i16 13184, i16 0, i16 0, i16 0, i16 13440, i16 0, i16 0, i16 0, i16 13442, i16 0, i16 0, i16 0, i16 16515, i16 0, i16 0, i16 0, i16 12420, i16 0, i16 0, i16 0, i16 13189, i16 0, i16 0, i16 0, i16 13445, i16 13494, i16 0, i16 0, i16 15237, i16 0, i16 0, i16 0, i16 13958, i16 0, i16 0, i16 0, i16 16262, i16 0, i16 0, i16 0, i16 15239, i16 0, i16 0, i16 0, i16 13960, i16 0, i16 0, i16 0, i16 16776, i16 0, i16 0, i16 0, i16 17032, i16 0, i16 0, i16 0, i16 13193, i16 0, i16 0, i16 0, i16 13961, i16 0, i16 0, i16 0, i16 16010, i16 0, i16 0, i16 0, i16 13451, i16 0, i16 0, i16 0, i16 12428, i16 14380, i16 0, i16 0, i16 14732, i16 16704, i16 0, i16 0, i16 15244, i16 0, i16 0, i16 0, i16 16524, i16 15420, i16 0, i16 0, i16 16269, i16 0, i16 0, i16 0, i16 13198, i16 16103, i16 0, i16 0, i16 13710, i16 17081, i16 0, i16 0, i16 13711, i16 0, i16 0, i16 0, i16 14479, i16 14478, i16 0, i16 0, i16 16015, i16 13394, i16 0, i16 0, i16 16271, i16 0, i16 0, i16 0, i16 12688, i16 0, i16 0, i16 0, i16 16784, i16 0, i16 0, i16 0, i16 13201, i16 14579, i16 0, i16 0, i16 13713, i16 0, i16 0, i16 0, i16 14738, i16 0, i16 0, i16 0, i16 12947, i16 0, i16 0, i16 0, i16 13459, i16 14369, i16 0, i16 0, i16 15251, i16 14807, i16 0, i16 0, i16 14740, i16 0, i16 0, i16 0, i16 17044, i16 0, i16 0, i16 0, i16 14229, i16 0, i16 0, i16 0, i16 14741, i16 0, i16 0, i16 0, i16 13718, i16 0, i16 0, i16 0, i16 13974, i16 0, i16 0, i16 0, i16 14230, i16 0, i16 0, i16 0, i16 17046, i16 13544, i16 0, i16 0, i16 12439, i16 0, i16 0, i16 0, i16 16023, i16 0, i16 0, i16 0, i16 17047, i16 15588, i16 0, i16 0, i16 13464, i16 14488, i16 0, i16 0, i16 13209, i16 0, i16 0, i16 0, i16 15257, i16 13925, i16 0, i16 0, i16 16281, i16 0, i16 0, i16 0, i16 16794, i16 13906, i16 0, i16 0, i16 12955, i16 13571, i16 0, i16 0, i16 668, i16 0, i16 0, i16 0, i16 14748, i16 0, i16 0, i16 0, i16 15004, i16 0, i16 0, i16 0, i16 12701, i16 0, i16 0, i16 0, i16 15773, i16 14925, i16 0, i16 0, i16 16029, i16 0, i16 0, i16 0, i16 17053, i16 0, i16 0, i16 0, i16 12446, i16 0, i16 0, i16 0, i16 13982, i16 0, i16 0, i16 0, i16 14494, i16 0, i16 0, i16 0, i16 17054, i16 16165, i16 0, i16 0, i16 14239, i16 0, i16 0, i16 0, i16 15007, i16 0, i16 0, i16 0, i16 16031, i16 0, i16 0, i16 0, i16 13216, i16 15956, i16 0, i16 0, i16 12705, i16 0, i16 0, i16 0, i16 16289, i16 0, i16 0, i16 0, i16 674, i16 0, i16 0, i16 0, i16 15266, i16 0, i16 0, i16 0, i16 16290, i16 0, i16 0, i16 0, i16 16546, i16 0, i16 0, i16 0, i16 16802, i16 0, i16 0, i16 0, i16 12451, i16 0, i16 0, i16 0, i16 15523, i16 0, i16 0, i16 0, i16 16291, i16 0, i16 0, i16 0, i16 12452, i16 12408, i16 0, i16 0, i16 12708, i16 0, i16 0, i16 0, i16 12964, i16 0, i16 0, i16 0, i16 14244, i16 0, i16 0, i16 0, i16 16292, i16 0, i16 0, i16 0, i16 15269, i16 0, i16 0, i16 0, i16 16037, i16 0, i16 0, i16 0, i16 16549, i16 0, i16 0, i16 0, i16 12710, i16 15019, i16 0, i16 0, i16 15782, i16 0, i16 0, i16 0, i16 16294, i16 0, i16 0, i16 0, i16 12455, i16 17045, i16 0, i16 0, i16 12711, i16 13480, i16 0, i16 0, i16 13479, i16 0, i16 0, i16 0, i16 13991, i16 0, i16 0, i16 0, i16 14503, i16 0, i16 0, i16 0, i16 15527, i16 0, i16 0, i16 0, i16 16295, i16 16721, i16 0, i16 0, i16 12456, i16 0, i16 0, i16 0, i16 13224, i16 12838, i16 0, i16 0, i16 15784, i16 0, i16 0, i16 0, i16 13737, i16 0, i16 0, i16 0, i16 13738, i16 0, i16 0, i16 0, i16 13739, i16 0, i16 0, i16 0, i16 13995, i16 14438, i16 0, i16 0, i16 14763, i16 0, i16 0, i16 0, i16 16299, i16 13632, i16 0, i16 0, i16 13996, i16 14799, i16 0, i16 0, i16 15788, i16 13599, i16 0, i16 0, i16 14253, i16 12873, i16 0, i16 0, i16 14765, i16 0, i16 0, i16 0, i16 17069, i16 0, i16 0, i16 0, i16 174, i16 0, i16 0, i16 0, i16 15790, i16 0, i16 0, i16 0, i16 13743, i16 0, i16 0, i16 0, i16 15279, i16 16077, i16 0, i16 0, i16 13744, i16 13482, i16 0, i16 0, i16 15792, i16 0, i16 0, i16 0, i16 16816, i16 0, i16 0, i16 0, i16 14513, i16 15755, i16 0, i16 0, i16 178, i16 0, i16 0, i16 0, i16 13490, i16 16151, i16 0, i16 0, i16 14514, i16 16601, i16 0, i16 0, i16 15026, i16 0, i16 0, i16 0, i16 15538, i16 16535, i16 0, i16 0, i16 16562, i16 0, i16 0, i16 0, i16 16818, i16 0, i16 0, i16 0, i16 691, i16 0, i16 0, i16 0, i16 14515, i16 0, i16 0, i16 0, i16 16307, i16 0, i16 0, i16 0, i16 12980, i16 12981, i16 0, i16 0, i16 13492, i16 0, i16 0, i16 0, i16 15028, i16 0, i16 0, i16 0, i16 15284, i16 14607, i16 0, i16 0, i16 15285, i16 0, i16 0, i16 0, i16 694, i16 785, i16 0, i16 0, i16 12470, i16 15646, i16 0, i16 0, i16 15798, i16 0, i16 0, i16 0, i16 12983, i16 13478, i16 0, i16 0, i16 13495, i16 0, i16 0, i16 0, i16 12728, i16 16993, i16 0, i16 0, i16 12984, i16 14160, i16 0, i16 0, i16 13496, i16 0, i16 0, i16 0, i16 185, i16 184, i16 0, i16 0, i16 12985, i16 0, i16 0, i16 0, i16 15033, i16 0, i16 0, i16 0, i16 13498, i16 0, i16 0, i16 0, i16 16314, i16 16812, i16 0, i16 0, i16 187, i16 186, i16 0, i16 0, i16 699, i16 792, i16 0, i16 0, i16 14011, i16 12526, i16 0, i16 0, i16 16315, i16 0, i16 0, i16 0, i16 16571, i16 0, i16 0, i16 0, i16 13500, i16 0, i16 0, i16 0, i16 701, i16 793, i16 0, i16 0, i16 12733, i16 0, i16 0, i16 0, i16 13501, i16 0, i16 0, i16 0, i16 702, i16 795, i16 0, i16 0, i16 13246, i16 15414, i16 0, i16 0, i16 14014, i16 0, i16 0, i16 0, i16 191, i16 190, i16 0, i16 0, i16 12735, i16 0, i16 0, i16 0, i16 12991, i16 0, i16 0, i16 0, i16 13503, i16 0, i16 0, i16 0, i16 14271, i16 0, i16 0, i16 0, i16 14527, i16 14060, i16 0, i16 0, i16 12480, i16 0, i16 0, i16 0, i16 13249, i16 0, i16 0, i16 0, i16 15553, i16 14199, i16 0, i16 0, i16 16065, i16 0, i16 0, i16 0, i16 12738, i16 0, i16 0, i16 0, i16 14530, i16 14206, i16 0, i16 0, i16 14786, i16 0, i16 0, i16 0, i16 12995, i16 0, i16 0, i16 0, i16 14531, i16 0, i16 0, i16 0, i16 16579, i16 0, i16 0, i16 0, i16 15556, i16 0, i16 0, i16 0, i16 16836, i16 0, i16 0, i16 0, i16 14277, i16 0, i16 0, i16 0, i16 16325, i16 0, i16 0, i16 0, i16 16837, i16 0, i16 0, i16 0, i16 12742, i16 0, i16 0, i16 0, i16 16839, i16 0, i16 0, i16 0, i16 200, i16 201, i16 0, i16 0, i16 15304, i16 15303, i16 0, i16 0, i16 15816, i16 14955, i16 0, i16 0, i16 16328, i16 0, i16 0, i16 0, i16 16584, i16 0, i16 0, i16 0, i16 16073, i16 0, i16 0, i16 0, i16 16329, i16 0, i16 0, i16 0, i16 17097, i16 0, i16 0, i16 0, i16 202, i16 0, i16 0, i16 0, i16 13258, i16 0, i16 0, i16 0, i16 14794, i16 0, i16 0, i16 0, i16 15050, i16 0, i16 0, i16 0, i16 15562, i16 0, i16 0, i16 0, i16 16074, i16 0, i16 0, i16 0, i16 13260, i16 0, i16 0, i16 0, i16 13772, i16 15199, i16 0, i16 0, i16 16332, i16 0, i16 0, i16 0, i16 16588, i16 0, i16 0, i16 0, i16 13517, i16 0, i16 0, i16 0, i16 13262, i16 0, i16 0, i16 0, i16 15822, i16 0, i16 0, i16 0, i16 14543, i16 12589, i16 0, i16 0, i16 16335, i16 0, i16 0, i16 0, i16 12752, i16 13794, i16 0, i16 0, i16 13264, i16 0, i16 0, i16 0, i16 15057, i16 13046, i16 0, i16 0, i16 16849, i16 16921, i16 0, i16 0, i16 210, i16 211, i16 0, i16 0, i16 13522, i16 0, i16 0, i16 0, i16 14802, i16 0, i16 0, i16 0, i16 15314, i16 13029, i16 0, i16 0, i16 12499, i16 0, i16 0, i16 0, i16 13011, i16 0, i16 0, i16 0, i16 14035, i16 16620, i16 0, i16 0, i16 212, i16 213, i16 0, i16 0, i16 16084, i16 0, i16 0, i16 0, i16 16340, i16 0, i16 0, i16 0, i16 16342, i16 0, i16 0, i16 0, i16 13783, i16 0, i16 0, i16 0, i16 13016, i16 14788, i16 0, i16 0, i16 14808, i16 0, i16 0, i16 0, i16 15064, i16 0, i16 0, i16 0, i16 14041, i16 14269, i16 0, i16 0, i16 14297, i16 0, i16 0, i16 0, i16 15065, i16 0, i16 0, i16 0, i16 15833, i16 0, i16 0, i16 0, i16 13018, i16 0, i16 0, i16 0, i16 219, i16 0, i16 0, i16 0, i16 13787, i16 0, i16 0, i16 0, i16 14299, i16 0, i16 0, i16 0, i16 14811, i16 0, i16 0, i16 0, i16 15324, i16 16112, i16 0, i16 0, i16 13277, i16 0, i16 0, i16 0, i16 16605, i16 0, i16 0, i16 0, i16 13534, i16 0, i16 0, i16 0, i16 13790, i16 0, i16 0, i16 0, i16 15070, i16 0, i16 0, i16 0, i16 13791, i16 0, i16 0, i16 0, i16 14559, i16 0, i16 0, i16 0, i16 16607, i16 0, i16 0, i16 0, i16 16863, i16 14628, i16 0, i16 0, i16 17119, i16 0, i16 0, i16 0, i16 13024, i16 13060, i16 0, i16 0, i16 13536, i16 0, i16 0, i16 0, i16 14048, i16 0, i16 0, i16 0, i16 14816, i16 0, i16 0, i16 0, i16 15328, i16 0, i16 0, i16 0, i16 16352, i16 16046, i16 0, i16 0, i16 12513, i16 0, i16 0, i16 0, i16 14817, i16 0, i16 0, i16 0, i16 15329, i16 0, i16 0, i16 0, i16 15841, i16 0, i16 0, i16 0, i16 17121, i16 0, i16 0, i16 0, i16 13538, i16 0, i16 0, i16 0, i16 14050, i16 0, i16 0, i16 0, i16 15842, i16 14561, i16 0, i16 0, i16 16098, i16 0, i16 0, i16 0, i16 14564, i16 0, i16 0, i16 0, i16 15332, i16 0, i16 0, i16 0, i16 15845, i16 12345, i16 0, i16 0, i16 13798, i16 15306, i16 0, i16 0, i16 17126, i16 12973, i16 0, i16 0, i16 12520, i16 0, i16 0, i16 0, i16 14056, i16 0, i16 0, i16 0, i16 14568, i16 0, i16 0, i16 0, i16 14824, i16 0, i16 0, i16 0, i16 17129, i16 0, i16 0, i16 0, i16 12522, i16 12391, i16 0, i16 0, i16 13802, i16 0, i16 0, i16 0, i16 14570, i16 16105, i16 0, i16 0, i16 16106, i16 15989, i16 0, i16 0, i16 14827, i16 13366, i16 0, i16 0, i16 16875, i16 0, i16 0, i16 0, i16 15084, i16 15744, i16 0, i16 0, i16 13293, i16 0, i16 0, i16 0, i16 13549, i16 0, i16 0, i16 0, i16 14317, i16 0, i16 0, i16 0, i16 15853, i16 16114, i16 0, i16 0, i16 15854, i16 0, i16 0, i16 0, i16 13039, i16 0, i16 0, i16 0, i16 14064, i16 0, i16 0, i16 0, i16 14832, i16 17077, i16 0, i16 0, i16 15088, i16 0, i16 0, i16 0, i16 13553, i16 0, i16 0, i16 0, i16 14577, i16 0, i16 0, i16 0, i16 14833, i16 0, i16 0, i16 0, i16 15857, i16 0, i16 0, i16 0, i16 15090, i16 15635, i16 0, i16 0, i16 15346, i16 0, i16 0, i16 0, i16 15858, i16 14520, i16 0, i16 0, i16 16882, i16 0, i16 0, i16 0, i16 244, i16 243, i16 0, i16 0, i16 13812, i16 0, i16 0, i16 0, i16 14068, i16 0, i16 0, i16 0, i16 14325, i16 0, i16 0, i16 0, i16 17141, i16 16512, i16 0, i16 0, i16 13558, i16 0, i16 0, i16 0, i16 16374, i16 15645, i16 0, i16 0, i16 12535, i16 0, i16 0, i16 0, i16 16120, i16 0, i16 0, i16 0, i16 16376, i16 0, i16 0, i16 0, i16 17144, i16 16840, i16 0, i16 0, i16 14585, i16 0, i16 0, i16 0, i16 15097, i16 16614, i16 0, i16 0, i16 16121, i16 0, i16 0, i16 0, i16 16889, i16 0, i16 0, i16 0, i16 12794, i16 14493, i16 0, i16 0, i16 13562, i16 0, i16 0, i16 0, i16 14074, i16 0, i16 0, i16 0, i16 14587, i16 0, i16 0, i16 0, i16 12540, i16 0, i16 0, i16 0, i16 16124, i16 16211, i16 0, i16 0, i16 13565, i16 16820, i16 0, i16 0, i16 15101, i16 0, i16 0, i16 0, i16 15357, i16 0, i16 0, i16 0, i16 16638, i16 0, i16 0, i16 0, i16 13055, i16 0, i16 0, i16 0, i16 15871, i16 0, i16 0, i16 0, i16 16127, i16 0, i16 0, i16 0, i16 16383, i16 0, i16 0, i16 0, i16 16895, i16 0, i16 0, i16 14336, i16 0, i16 0, i16 0, i16 15872, i16 0, i16 0, i16 0, i16 16896, i16 12854, i16 0, i16 0, i16 12289, i16 0, i16 0, i16 0, i16 13057, i16 0, i16 0, i16 0, i16 14593, i16 0, i16 0, i16 0, i16 15361, i16 14291, i16 12990, i16 0, i16 16129, i16 0, i16 0, i16 0, i16 2, i16 3, i16 0, i16 0, i16 12290, i16 0, i16 0, i16 0, i16 13826, i16 14262, i16 0, i16 0, i16 15106, i16 0, i16 0, i16 0, i16 17154, i16 0, i16 0, i16 0, i16 12291, i16 0, i16 0, i16 0, i16 13315, i16 0, i16 0, i16 0, i16 14339, i16 12729, i16 13820, i16 0, i16 14851, i16 0, i16 0, i16 0, i16 15875, i16 0, i16 0, i16 0, i16 4, i16 5, i16 6, i16 0, i16 12292, i16 14533, i16 0, i16 0, i16 13316, i16 0, i16 0, i16 0, i16 16900, i16 12787, i16 15477, i16 0, i16 17156, i16 0, i16 14379, i16 0, i16 14341, i16 0, i16 0, i16 0, i16 14597, i16 0, i16 0, i16 0, i16 12550, i16 0, i16 0, i16 0, i16 15878, i16 0, i16 0, i16 0, i16 13575, i16 0, i16 0, i16 0, i16 14087, i16 13298, i16 0, i16 0, i16 14599, i16 0, i16 0, i16 0, i16 16135, i16 13144, i16 0, i16 0, i16 16391, i16 0, i16 0, i16 0, i16 520, i16 521, i16 522, i16 0, i16 13832, i16 0, i16 0, i16 0, i16 14088, i16 14747, i16 13614, i16 0, i16 14600, i16 14465, i16 0, i16 0, i16 16392, i16 0, i16 0, i16 0, i16 12809, i16 0, i16 0, i16 0, i16 13577, i16 15658, i16 0, i16 0, i16 13066, i16 0, i16 0, i16 0, i16 15114, i16 0, i16 15163, i16 0, i16 16650, i16 0, i16 15347, i16 0, i16 12811, i16 0, i16 0, i16 0, i16 13579, i16 0, i16 0, i16 0, i16 16139, i16 0, i16 13204, i16 0, i16 16651, i16 0, i16 12426, i16 0, i16 17163, i16 0, i16 0, i16 0, i16 14860, i16 0, i16 0, i16 0, i16 15884, i16 13063, i16 12474, i16 0, i16 17164, i16 17165, i16 0, i16 0, i16 13325, i16 16860, i16 0, i16 0, i16 16397, i16 0, i16 0, i16 0, i16 13326, i16 0, i16 0, i16 0, i16 16654, i16 0, i16 0, i16 0, i16 16910, i16 0, i16 0, i16 0, i16 783, i16 0, i16 0, i16 0, i16 13071, i16 16937, i16 15040, i16 0, i16 13583, i16 0, i16 0, i16 0, i16 14863, i16 0, i16 0, i16 0, i16 15119, i16 0, i16 16996, i16 0, i16 16655, i16 0, i16 16656, i16 0, i16 13584, i16 0, i16 15449, i16 0, i16 14608, i16 14546, i16 0, i16 0, i16 15120, i16 0, i16 0, i16 0, i16 16400, i16 0, i16 0, i16 0, i16 13329, i16 0, i16 0, i16 0, i16 14609, i16 17131, i16 0, i16 0, i16 15889, i16 12524, i16 0, i16 0, i16 786, i16 695, i16 787, i16 0, i16 12818, i16 12650, i16 0, i16 0, i16 13843, i16 0, i16 15910, i16 0, i16 14099, i16 0, i16 0, i16 0, i16 15123, i16 0, i16 13134, i16 0, i16 15891, i16 14665, i16 17026, i16 0, i16 14356, i16 13443, i16 14504, i16 0, i16 15124, i16 0, i16 0, i16 0, i16 16404, i16 0, i16 13658, i16 0, i16 16917, i16 0, i16 0, i16 0, i16 14358, i16 13399, i16 0, i16 0, i16 15126, i16 0, i16 0, i16 0, i16 15894, i16 12941, i16 12942, i16 0, i16 12311, i16 0, i16 0, i16 0, i16 14103, i16 0, i16 16763, i16 0, i16 15895, i16 0, i16 17074, i16 0, i16 16663, i16 0, i16 0, i16 0, i16 16919, i16 0, i16 0, i16 0, i16 15128, i16 0, i16 0, i16 0, i16 16664, i16 0, i16 0, i16 0, i16 16920, i16 0, i16 13816, i16 0, i16 13337, i16 0, i16 0, i16 0, i16 13849, i16 0, i16 15779, i16 0, i16 14873, i16 0, i16 0, i16 0, i16 15129, i16 0, i16 0, i16 0, i16 15641, i16 0, i16 0, i16 0, i16 15897, i16 0, i16 12885, i16 0, i16 13850, i16 0, i16 0, i16 0, i16 14362, i16 0, i16 0, i16 0, i16 16666, i16 16590, i16 15456, i16 0, i16 1051, i16 0, i16 0, i16 0, i16 16668, i16 16710, i16 12369, i16 0, i16 797, i16 703, i16 796, i16 0, i16 13853, i16 0, i16 0, i16 0, i16 15901, i16 16166, i16 14550, i16 0, i16 16157, i16 0, i16 0, i16 0, i16 13342, i16 16181, i16 12441, i16 0, i16 15134, i16 15135, i16 0, i16 0, i16 16414, i16 0, i16 0, i16 0, i16 287, i16 284, i16 0, i16 0, i16 14879, i16 16693, i16 0, i16 0, i16 16927, i16 13356, i16 0, i16 0, i16 288, i16 289, i16 290, i16 0, i16 12832, i16 16729, i16 0, i16 0, i16 15136, i16 0, i16 15657, i16 0, i16 15137, i16 0, i16 15988, i16 0, i16 16417, i16 0, i16 0, i16 0, i16 16673, i16 0, i16 13283, i16 0, i16 13602, i16 0, i16 0, i16 0, i16 14115, i16 0, i16 0, i16 0, i16 14371, i16 0, i16 0, i16 0, i16 16675, i16 0, i16 0, i16 0, i16 12580, i16 16042, i16 12849, i16 0, i16 13348, i16 14712, i16 15662, i16 0, i16 15140, i16 0, i16 0, i16 0, i16 15909, i16 0, i16 0, i16 0, i16 16933, i16 0, i16 13345, i16 0, i16 12582, i16 0, i16 13797, i16 0, i16 13350, i16 0, i16 0, i16 0, i16 13862, i16 0, i16 0, i16 0, i16 16934, i16 0, i16 0, i16 0, i16 15143, i16 16324, i16 0, i16 0, i16 12840, i16 15772, i16 0, i16 0, i16 14888, i16 14337, i16 0, i16 0, i16 16424, i16 0, i16 0, i16 0, i16 16680, i16 0, i16 0, i16 0, i16 16936, i16 12953, i16 0, i16 0, i16 14633, i16 0, i16 0, i16 0, i16 14889, i16 12899, i16 0, i16 0, i16 15401, i16 15603, i16 0, i16 0, i16 15146, i16 0, i16 0, i16 0, i16 13611, i16 0, i16 0, i16 0, i16 16684, i16 0, i16 0, i16 0, i16 14637, i16 0, i16 0, i16 0, i16 16429, i16 0, i16 0, i16 0, i16 12590, i16 0, i16 0, i16 0, i16 13358, i16 13570, i16 14553, i16 0, i16 14126, i16 0, i16 0, i16 0, i16 14894, i16 0, i16 0, i16 0, i16 15407, i16 15848, i16 16384, i16 0, i16 15919, i16 0, i16 0, i16 0, i16 16431, i16 0, i16 16343, i16 0, i16 16687, i16 0, i16 0, i16 0, i16 16943, i16 0, i16 0, i16 0, i16 15408, i16 0, i16 14373, i16 0, i16 15920, i16 0, i16 0, i16 0, i16 16176, i16 0, i16 16162, i16 0, i16 16688, i16 0, i16 16319, i16 0, i16 13617, i16 0, i16 0, i16 0, i16 14385, i16 0, i16 0, i16 0, i16 12338, i16 0, i16 0, i16 0, i16 12594, i16 0, i16 13859, i16 0, i16 12850, i16 0, i16 0, i16 0, i16 13618, i16 0, i16 0, i16 0, i16 14386, i16 0, i16 12777, i16 0, i16 15922, i16 16156, i16 13300, i16 0, i16 13363, i16 12934, i16 0, i16 0, i16 15668, i16 0, i16 0, i16 0, i16 16692, i16 0, i16 0, i16 0, i16 12341, i16 0, i16 0, i16 0, i16 14645, i16 13454, i16 13712, i16 0, i16 15925, i16 14582, i16 0, i16 0, i16 12342, i16 0, i16 0, i16 0, i16 13110, i16 0, i16 0, i16 0, i16 13622, i16 16877, i16 0, i16 0, i16 14134, i16 16977, i16 14101, i16 0, i16 15926, i16 0, i16 14100, i16 0, i16 12855, i16 0, i16 0, i16 0, i16 13111, i16 0, i16 0, i16 0, i16 15415, i16 0, i16 13550, i16 0, i16 12344, i16 14324, i16 0, i16 0, i16 13368, i16 17123, i16 0, i16 0, i16 13880, i16 0, i16 0, i16 0, i16 14136, i16 15933, i16 16499, i16 0, i16 15672, i16 0, i16 0, i16 0, i16 16184, i16 0, i16 0, i16 0, i16 14649, i16 17057, i16 12572, i16 0, i16 15161, i16 0, i16 13899, i16 0, i16 16697, i16 14679, i16 0, i16 0, i16 12602, i16 16064, i16 0, i16 0, i16 14650, i16 0, i16 0, i16 0, i16 14906, i16 15697, i16 14606, i16 0, i16 16186, i16 0, i16 0, i16 0, i16 16954, i16 0, i16 12615, i16 0, i16 12859, i16 0, i16 0, i16 0, i16 13883, i16 0, i16 0, i16 0, i16 16443, i16 0, i16 0, i16 0, i16 16955, i16 0, i16 0, i16 0, i16 1084, i16 0, i16 0, i16 0, i16 13372, i16 0, i16 15883, i16 0, i16 14652, i16 0, i16 15961, i16 0, i16 12605, i16 16723, i16 0, i16 0, i16 13373, i16 0, i16 0, i16 0, i16 14397, i16 0, i16 0, i16 0, i16 14653, i16 0, i16 0, i16 0, i16 14909, i16 15552, i16 14122, i16 0, i16 12862, i16 0, i16 0, i16 0, i16 13374, i16 0, i16 13511, i16 0, i16 12607, i16 0, i16 0, i16 0, i16 14143, i16 0, i16 0, i16 0, i16 15679, i16 0, i16 16861, i16 0, i16 16191, i16 0, i16 0, i16 0, i16 12352, i16 0, i16 13142, i16 0, i16 12608, i16 0, i16 0, i16 0, i16 13120, i16 0, i16 0, i16 0, i16 13376, i16 16172, i16 12431, i16 0, i16 13888, i16 0, i16 0, i16 0, i16 14400, i16 0, i16 0, i16 0, i16 15680, i16 13424, i16 0, i16 0, i16 13633, i16 0, i16 0, i16 0, i16 15170, i16 0, i16 0, i16 0, i16 15682, i16 0, i16 0, i16 0, i16 16194, i16 0, i16 12409, i16 0, i16 14403, i16 0, i16 15776, i16 0, i16 14659, i16 14658, i16 0, i16 0, i16 15171, i16 0, i16 0, i16 0, i16 16195, i16 0, i16 13887, i16 0, i16 13124, i16 0, i16 0, i16 0, i16 13636, i16 0, i16 0, i16 0, i16 14404, i16 0, i16 0, i16 0, i16 16196, i16 0, i16 0, i16 0, i16 16452, i16 0, i16 0, i16 0, i16 16964, i16 0, i16 14108, i16 0, i16 14661, i16 0, i16 12817, i16 0, i16 14917, i16 16969, i16 12392, i16 0, i16 15941, i16 0, i16 15896, i16 0, i16 16197, i16 0, i16 0, i16 0, i16 16454, i16 0, i16 0, i16 0, i16 13639, i16 0, i16 0, i16 0, i16 14919, i16 0, i16 0, i16 0, i16 15175, i16 0, i16 14644, i16 0, i16 15687, i16 0, i16 16380, i16 0, i16 13384, i16 0, i16 0, i16 0, i16 13896, i16 0, i16 0, i16 0, i16 14408, i16 0, i16 0, i16 0, i16 13897, i16 0, i16 0, i16 0, i16 12618, i16 17068, i16 0, i16 0, i16 13642, i16 16781, i16 0, i16 0, i16 13898, i16 16924, i16 0, i16 0, i16 15178, i16 14797, i16 0, i16 0, i16 12363, i16 0, i16 0, i16 0, i16 14411, i16 16971, i16 0, i16 0, i16 14923, i16 0, i16 15843, i16 0, i16 15947, i16 0, i16 0, i16 0, i16 16459, i16 0, i16 0, i16 0, i16 16715, i16 0, i16 0, i16 0, i16 14156, i16 0, i16 0, i16 0, i16 12877, i16 0, i16 16806, i16 0, i16 13389, i16 0, i16 0, i16 0, i16 14157, i16 0, i16 0, i16 0, i16 16461, i16 0, i16 16018, i16 0, i16 16717, i16 0, i16 0, i16 0, i16 13902, i16 0, i16 0, i16 0, i16 14926, i16 0, i16 12720, i16 0, i16 15694, i16 0, i16 15793, i16 0, i16 15950, i16 0, i16 0, i16 0, i16 16974, i16 0, i16 0, i16 0, i16 12879, i16 0, i16 0, i16 0, i16 14671, i16 0, i16 0, i16 0, i16 15439, i16 0, i16 0, i16 0, i16 15695, i16 0, i16 0, i16 0, i16 14416, i16 0, i16 0, i16 0, i16 15696, i16 0, i16 16589, i16 0, i16 14673, i16 0, i16 0, i16 0, i16 16465, i16 0, i16 15220, i16 0, i16 14162, i16 0, i16 0, i16 0, i16 16466, i16 15454, i16 13875, i16 0, i16 12627, i16 0, i16 0, i16 0, i16 13139, i16 0, i16 15444, i16 0, i16 13395, i16 0, i16 0, i16 0, i16 13651, i16 0, i16 0, i16 0, i16 16979, i16 0, i16 0, i16 0, i16 13140, i16 0, i16 0, i16 0, i16 13908, i16 0, i16 0, i16 0, i16 14420, i16 0, i16 0, i16 0, i16 14676, i16 0, i16 0, i16 0, i16 16212, i16 0, i16 0, i16 0, i16 16724, i16 0, i16 0, i16 0, i16 13141, i16 15167, i16 12734, i16 0, i16 13653, i16 0, i16 0, i16 0, i16 14421, i16 0, i16 12527, i16 0, i16 14677, i16 0, i16 0, i16 0, i16 15701, i16 0, i16 0, i16 0, i16 16213, i16 0, i16 0, i16 0, i16 12374, i16 12375, i16 0, i16 0, i16 12630, i16 0, i16 0, i16 0, i16 14678, i16 0, i16 0, i16 0, i16 16982, i16 13183, i16 0, i16 0, i16 13655, i16 0, i16 16233, i16 0, i16 14935, i16 0, i16 0, i16 0, i16 15447, i16 0, i16 0, i16 0, i16 16471, i16 13382, i16 0, i16 0, i16 16983, i16 15838, i16 14030, i16 0, i16 12376, i16 0, i16 0, i16 0, i16 14168, i16 0, i16 0, i16 0, i16 16216, i16 0, i16 14287, i16 0, i16 16728, i16 0, i16 0, i16 0, i16 89, i16 0, i16 0, i16 0, i16 14425, i16 0, i16 0, i16 0, i16 15705, i16 0, i16 0, i16 0, i16 16473, i16 0, i16 13593, i16 0, i16 16985, i16 0, i16 13907, i16 0, i16 90, i16 91, i16 92, i16 0, i16 12891, i16 0, i16 0, i16 0, i16 13915, i16 0, i16 0, i16 0, i16 14171, i16 0, i16 0, i16 0, i16 15707, i16 0, i16 0, i16 0, i16 12892, i16 0, i16 0, i16 0, i16 13660, i16 0, i16 0, i16 0, i16 14428, i16 0, i16 0, i16 0, i16 14940, i16 0, i16 0, i16 0, i16 16220, i16 16689, i16 15887, i16 0, i16 16988, i16 0, i16 0, i16 0, i16 12893, i16 0, i16 12842, i16 0, i16 14685, i16 16372, i16 0, i16 0, i16 13918, i16 12927, i16 0, i16 0, i16 16734, i16 0, i16 15318, i16 0, i16 13663, i16 0, i16 16595, i16 0, i16 12640, i16 0, i16 0, i16 0, i16 14945, i16 0, i16 0, i16 0, i16 15457, i16 0, i16 0, i16 0, i16 15713, i16 16567, i16 0, i16 0, i16 16225, i16 0, i16 15660, i16 0, i16 12386, i16 0, i16 0, i16 0, i16 14690, i16 0, i16 17039, i16 0, i16 16482, i16 0, i16 0, i16 0, i16 12643, i16 15955, i16 12727, i16 0, i16 13155, i16 12358, i16 0, i16 0, i16 13411, i16 17107, i16 0, i16 0, i16 16227, i16 0, i16 0, i16 0, i16 13412, i16 0, i16 15652, i16 0, i16 13924, i16 14113, i16 0, i16 0, i16 15972, i16 17161, i16 14439, i16 0, i16 16740, i16 0, i16 0, i16 0, i16 12901, i16 0, i16 0, i16 0, i16 15205, i16 0, i16 13167, i16 0, i16 15973, i16 0, i16 0, i16 0, i16 16741, i16 0, i16 14792, i16 0, i16 12646, i16 0, i16 12827, i16 0, i16 12902, i16 16984, i16 13252, i16 0, i16 14182, i16 0, i16 0, i16 0, i16 15462, i16 0, i16 0, i16 0, i16 12903, i16 0, i16 0, i16 0, i16 13159, i16 0, i16 0, i16 0, i16 14183, i16 0, i16 0, i16 0, i16 15207, i16 0, i16 0, i16 0, i16 15719, i16 0, i16 0, i16 0, i16 872, i16 873, i16 874, i16 0, i16 13672, i16 0, i16 0, i16 0, i16 14184, i16 0, i16 13723, i16 0, i16 14440, i16 15702, i16 13754, i16 0, i16 14696, i16 0, i16 12323, i16 0, i16 16488, i16 0, i16 0, i16 0, i16 12649, i16 0, i16 0, i16 0, i16 13161, i16 15899, i16 0, i16 0, i16 14185, i16 0, i16 0, i16 0, i16 14441, i16 0, i16 0, i16 0, i16 13162, i16 0, i16 0, i16 0, i16 13419, i16 0, i16 0, i16 0, i16 14443, i16 0, i16 0, i16 0, i16 15979, i16 16623, i16 0, i16 0, i16 876, i16 877, i16 878, i16 0, i16 13932, i16 13543, i16 0, i16 0, i16 17004, i16 16055, i16 15825, i16 0, i16 12397, i16 13647, i16 0, i16 0, i16 13165, i16 17058, i16 13093, i16 0, i16 14957, i16 0, i16 16405, i16 0, i16 15469, i16 0, i16 0, i16 0, i16 16749, i16 0, i16 0, i16 0, i16 13166, i16 0, i16 13950, i16 0, i16 15470, i16 12770, i16 0, i16 0, i16 16494, i16 13846, i16 16862, i16 0, i16 12655, i16 16472, i16 0, i16 0, i16 12911, i16 0, i16 14435, i16 0, i16 14447, i16 13098, i16 0, i16 0, i16 15215, i16 0, i16 0, i16 0, i16 15471, i16 0, i16 0, i16 0, i16 15727, i16 15044, i16 0, i16 0, i16 17007, i16 15700, i16 12367, i16 0, i16 12400, i16 0, i16 0, i16 0, i16 12912, i16 0, i16 0, i16 0, i16 14192, i16 0, i16 0, i16 0, i16 16240, i16 15211, i16 0, i16 0, i16 16496, i16 0, i16 16462, i16 0, i16 12401, i16 0, i16 0, i16 0, i16 14193, i16 16914, i16 16725, i16 0, i16 15217, i16 0, i16 12511, i16 0, i16 16497, i16 0, i16 14251, i16 0, i16 12402, i16 0, i16 0, i16 0, i16 13682, i16 0, i16 15219, i16 0, i16 14962, i16 0, i16 16960, i16 0, i16 12659, i16 16333, i16 0, i16 0, i16 13683, i16 0, i16 0, i16 0, i16 13684, i16 0, i16 12944, i16 0, i16 16756, i16 16757, i16 12346, i16 0, i16 17012, i16 13397, i16 0, i16 0, i16 17013, i16 0, i16 0, i16 0, i16 13430, i16 0, i16 0, i16 0, i16 14454, i16 0, i16 0, i16 0, i16 15222, i16 0, i16 0, i16 0, i16 15990, i16 0, i16 12661, i16 0, i16 13943, i16 13179, i16 16645, i16 0, i16 14455, i16 0, i16 0, i16 0, i16 14967, i16 0, i16 0, i16 0, i16 17015, i16 0, i16 15677, i16 0, i16 12920, i16 0, i16 0, i16 0, i16 15736, i16 0, i16 14401, i16 0, i16 13433, i16 12583, i16 0, i16 0, i16 13945, i16 0, i16 0, i16 0, i16 17017, i16 0, i16 0, i16 0, i16 15226, i16 0, i16 0, i16 0, i16 15994, i16 16110, i16 0, i16 0, i16 16762, i16 0, i16 0, i16 0, i16 15739, i16 0, i16 0, i16 0, i16 16507, i16 0, i16 0, i16 0, i16 15740, i16 0, i16 0, i16 0, i16 13693, i16 0, i16 13630, i16 0, i16 13949, i16 0, i16 14130, i16 0, i16 14461, i16 0, i16 0, i16 0, i16 15741, i16 0, i16 0, i16 0, i16 382, i16 383, i16 384, i16 0, i16 12670, i16 0, i16 0, i16 0, i16 13694, i16 0, i16 0, i16 0, i16 14718, i16 0, i16 0, i16 0, i16 16254, i16 16540, i16 14067, i16 0, i16 17022, i16 0, i16 0, i16 0, i16 13951, i16 14569, i16 0, i16 0, i16 14719, i16 0, i16 0, i16 0, i16 14975, i16 0, i16 0, i16 0, i16 15999, i16 16395, i16 0, i16 0, i16 16255, i16 15970, i16 0, i16 0, i16 14464, i16 0, i16 0, i16 0, i16 16000, i16 0, i16 15654, i16 0, i16 16768, i16 0, i16 0, i16 0, i16 129, i16 130, i16 0, i16 0, i16 12417, i16 0, i16 0, i16 0, i16 14209, i16 0, i16 0, i16 0, i16 16257, i16 13839, i16 0, i16 0, i16 12418, i16 0, i16 0, i16 0, i16 13698, i16 0, i16 0, i16 0, i16 14722, i16 0, i16 0, i16 0, i16 16514, i16 0, i16 0, i16 0, i16 15236, i16 0, i16 12423, i16 0, i16 17028, i16 0, i16 14146, i16 0, i16 133, i16 0, i16 0, i16 0, i16 13957, i16 0, i16 0, i16 0, i16 14469, i16 0, i16 14664, i16 0, i16 15749, i16 15089, i16 0, i16 0, i16 16773, i16 0, i16 0, i16 0, i16 17029, i16 16890, i16 0, i16 0, i16 134, i16 0, i16 0, i16 0, i16 12422, i16 16944, i16 0, i16 0, i16 13702, i16 0, i16 0, i16 0, i16 14726, i16 12950, i16 15112, i16 0, i16 135, i16 0, i16 216, i16 0, i16 12935, i16 15489, i16 14213, i16 0, i16 13191, i16 13212, i16 14463, i16 0, i16 13959, i16 13804, i16 0, i16 0, i16 16007, i16 0, i16 16851, i16 0, i16 17031, i16 0, i16 15590, i16 0, i16 13192, i16 0, i16 14757, i16 0, i16 13448, i16 0, i16 0, i16 0, i16 14728, i16 0, i16 14610, i16 0, i16 16008, i16 0, i16 0, i16 0, i16 12681, i16 0, i16 0, i16 0, i16 15753, i16 0, i16 0, i16 0, i16 13194, i16 0, i16 14601, i16 0, i16 13706, i16 13328, i16 0, i16 0, i16 12683, i16 0, i16 0, i16 0, i16 16267, i16 13977, i16 0, i16 0, i16 16523, i16 0, i16 0, i16 0, i16 13196, i16 16505, i16 0, i16 0, i16 16268, i16 0, i16 0, i16 0, i16 15501, i16 0, i16 0, i16 0, i16 13966, i16 0, i16 14225, i16 0, i16 14222, i16 0, i16 15866, i16 0, i16 16782, i16 15483, i16 12909, i16 0, i16 14991, i16 0, i16 0, i16 0, i16 14224, i16 16057, i16 16615, i16 0, i16 14480, i16 0, i16 0, i16 0, i16 14736, i16 0, i16 16389, i16 0, i16 14992, i16 0, i16 12530, i16 0, i16 15760, i16 0, i16 15102, i16 0, i16 16528, i16 0, i16 12544, i16 0, i16 12689, i16 0, i16 0, i16 0, i16 14481, i16 0, i16 0, i16 0, i16 16017, i16 0, i16 16265, i16 0, i16 16273, i16 0, i16 0, i16 0, i16 17041, i16 12577, i16 0, i16 0, i16 13714, i16 0, i16 17088, i16 0, i16 13970, i16 0, i16 0, i16 0, i16 14994, i16 0, i16 0, i16 0, i16 13203, i16 0, i16 15248, i16 0, i16 13715, i16 0, i16 0, i16 0, i16 14227, i16 0, i16 14729, i16 0, i16 12436, i16 12560, i16 0, i16 0, i16 15508, i16 0, i16 0, i16 0, i16 16020, i16 13774, i16 13965, i16 0, i16 16788, i16 0, i16 13922, i16 0, i16 12949, i16 14112, i16 0, i16 0, i16 14485, i16 12372, i16 0, i16 0, i16 14997, i16 0, i16 0, i16 0, i16 15509, i16 17038, i16 0, i16 0, i16 15765, i16 0, i16 13172, i16 0, i16 16021, i16 0, i16 0, i16 0, i16 16533, i16 17065, i16 15937, i16 0, i16 14742, i16 0, i16 0, i16 0, i16 14998, i16 0, i16 0, i16 0, i16 16278, i16 12741, i16 0, i16 0, i16 16534, i16 0, i16 0, i16 0, i16 14487, i16 0, i16 0, i16 0, i16 16279, i16 0, i16 0, i16 0, i16 13720, i16 0, i16 14858, i16 0, i16 16280, i16 14376, i16 0, i16 0, i16 13721, i16 0, i16 13661, i16 0, i16 15769, i16 0, i16 0, i16 0, i16 16025, i16 0, i16 12517, i16 0, i16 13978, i16 0, i16 0, i16 0, i16 14234, i16 0, i16 0, i16 0, i16 14490, i16 0, i16 16578, i16 0, i16 13467, i16 0, i16 0, i16 0, i16 15259, i16 0, i16 0, i16 0, i16 13724, i16 13489, i16 0, i16 0, i16 14492, i16 0, i16 0, i16 0, i16 15260, i16 0, i16 0, i16 0, i16 12445, i16 0, i16 0, i16 0, i16 13981, i16 0, i16 0, i16 0, i16 14749, i16 0, i16 15349, i16 0, i16 16797, i16 14625, i16 0, i16 0, i16 14750, i16 0, i16 14516, i16 0, i16 15262, i16 0, i16 0, i16 0, i16 15774, i16 0, i16 0, i16 0, i16 16286, i16 13429, i16 14081, i16 0, i16 12703, i16 0, i16 0, i16 0, i16 12959, i16 0, i16 0, i16 0, i16 13471, i16 0, i16 0, i16 0, i16 16799, i16 0, i16 0, i16 0, i16 14240, i16 0, i16 0, i16 0, i16 15264, i16 0, i16 0, i16 0, i16 16288, i16 0, i16 0, i16 0, i16 12449, i16 0, i16 0, i16 0, i16 14754, i16 0, i16 0, i16 0, i16 16034, i16 0, i16 14965, i16 0, i16 13219, i16 0, i16 0, i16 0, i16 13475, i16 12802, i16 0, i16 0, i16 13987, i16 0, i16 0, i16 0, i16 14499, i16 0, i16 14961, i16 0, i16 14755, i16 0, i16 0, i16 0, i16 15011, i16 0, i16 0, i16 0, i16 16035, i16 0, i16 0, i16 0, i16 16803, i16 0, i16 14505, i16 0, i16 13988, i16 0, i16 0, i16 0, i16 15012, i16 0, i16 13477, i16 0, i16 15268, i16 0, i16 0, i16 0, i16 12453, i16 0, i16 0, i16 0, i16 14245, i16 0, i16 0, i16 0, i16 15270, i16 13548, i16 0, i16 0, i16 13223, i16 12676, i16 0, i16 0, i16 15015, i16 0, i16 14969, i16 0, i16 16039, i16 0, i16 0, i16 0, i16 16551, i16 0, i16 0, i16 0, i16 13992, i16 12922, i16 12751, i16 0, i16 14248, i16 0, i16 13984, i16 0, i16 15016, i16 0, i16 0, i16 0, i16 169, i16 347, i16 0, i16 0, i16 14761, i16 0, i16 0, i16 0, i16 16809, i16 0, i16 15476, i16 0, i16 12970, i16 0, i16 0, i16 0, i16 14506, i16 12454, i16 0, i16 0, i16 14762, i16 0, i16 0, i16 0, i16 15786, i16 16009, i16 0, i16 0, i16 14507, i16 0, i16 13835, i16 0, i16 16555, i16 14270, i16 15187, i16 0, i16 12716, i16 16963, i16 13886, i16 0, i16 13740, i16 0, i16 0, i16 0, i16 14252, i16 0, i16 13592, i16 0, i16 15532, i16 0, i16 0, i16 0, i16 173, i16 0, i16 0, i16 0, i16 12461, i16 0, i16 0, i16 0, i16 14510, i16 12978, i16 0, i16 0, i16 16814, i16 0, i16 0, i16 0, i16 12719, i16 15416, i16 0, i16 0, i16 13231, i16 0, i16 0, i16 0, i16 13487, i16 0, i16 0, i16 0, i16 16047, i16 0, i16 0, i16 0, i16 16303, i16 13486, i16 15435, i16 0, i16 12464, i16 0, i16 0, i16 0, i16 13232, i16 0, i16 14864, i16 0, i16 14000, i16 0, i16 0, i16 0, i16 15280, i16 0, i16 0, i16 0, i16 16304, i16 0, i16 0, i16 0, i16 17072, i16 0, i16 13786, i16 0, i16 13745, i16 0, i16 0, i16 0, i16 14001, i16 0, i16 16036, i16 0, i16 17073, i16 0, i16 0, i16 0, i16 12722, i16 0, i16 0, i16 0, i16 14002, i16 13056, i16 16377, i16 0, i16 16306, i16 0, i16 0, i16 0, i16 12467, i16 0, i16 0, i16 0, i16 12979, i16 15210, i16 0, i16 0, i16 13235, i16 16467, i16 0, i16 0, i16 14003, i16 0, i16 12539, i16 0, i16 14259, i16 0, i16 0, i16 0, i16 12468, i16 0, i16 0, i16 0, i16 13236, i16 0, i16 0, i16 0, i16 13748, i16 0, i16 0, i16 0, i16 14772, i16 0, i16 0, i16 0, i16 14261, i16 0, i16 16750, i16 0, i16 15797, i16 0, i16 15079, i16 0, i16 182, i16 181, i16 0, i16 0, i16 12982, i16 0, i16 0, i16 0, i16 16566, i16 14236, i16 12396, i16 0, i16 14007, i16 0, i16 14200, i16 0, i16 15287, i16 15298, i16 0, i16 0, i16 16311, i16 0, i16 0, i16 0, i16 17079, i16 0, i16 16957, i16 0, i16 14008, i16 0, i16 0, i16 0, i16 14264, i16 0, i16 0, i16 0, i16 15032, i16 0, i16 0, i16 0, i16 15800, i16 0, i16 12647, i16 0, i16 17080, i16 0, i16 0, i16 0, i16 14777, i16 0, i16 12653, i16 0, i16 12730, i16 13939, i16 0, i16 0, i16 13242, i16 0, i16 0, i16 0, i16 17082, i16 15463, i16 0, i16 0, i16 13243, i16 0, i16 0, i16 0, i16 13499, i16 0, i16 12619, i16 0, i16 15547, i16 0, i16 0, i16 0, i16 16059, i16 0, i16 0, i16 0, i16 16827, i16 0, i16 0, i16 0, i16 12732, i16 0, i16 0, i16 0, i16 14780, i16 0, i16 0, i16 0, i16 16060, i16 16222, i16 16477, i16 0, i16 14013, i16 0, i16 0, i16 0, i16 16829, i16 14875, i16 0, i16 0, i16 12478, i16 0, i16 13819, i16 0, i16 16318, i16 0, i16 0, i16 0, i16 17086, i16 16766, i16 0, i16 0, i16 959, i16 960, i16 961, i16 0, i16 12479, i16 17114, i16 0, i16 0, i16 16831, i16 0, i16 0, i16 0, i16 17087, i16 0, i16 14320, i16 0, i16 12736, i16 0, i16 0, i16 0, i16 14784, i16 0, i16 0, i16 0, i16 15296, i16 0, i16 0, i16 0, i16 14529, i16 15967, i16 0, i16 0, i16 14785, i16 0, i16 14535, i16 0, i16 16577, i16 0, i16 16787, i16 0, i16 14018, i16 0, i16 12889, i16 0, i16 15554, i16 16918, i16 14331, i16 0, i16 17090, i16 0, i16 0, i16 0, i16 13507, i16 0, i16 0, i16 0, i16 14787, i16 14334, i16 12388, i16 0, i16 15555, i16 13137, i16 0, i16 0, i16 16067, i16 0, i16 14279, i16 0, i16 16835, i16 0, i16 0, i16 0, i16 14276, i16 0, i16 0, i16 0, i16 14532, i16 0, i16 0, i16 0, i16 15812, i16 0, i16 0, i16 0, i16 16580, i16 0, i16 16561, i16 0, i16 17092, i16 13324, i16 0, i16 0, i16 12485, i16 0, i16 0, i16 0, i16 13509, i16 0, i16 0, i16 0, i16 16581, i16 0, i16 0, i16 0, i16 17093, i16 14943, i16 0, i16 0, i16 13766, i16 16326, i16 0, i16 0, i16 15302, i16 0, i16 0, i16 0, i16 12487, i16 16568, i16 0, i16 0, i16 15559, i16 0, i16 0, i16 0, i16 15815, i16 0, i16 13257, i16 0, i16 16327, i16 0, i16 0, i16 0, i16 16583, i16 0, i16 0, i16 0, i16 12488, i16 0, i16 0, i16 0, i16 12744, i16 0, i16 16842, i16 0, i16 14024, i16 17150, i16 0, i16 0, i16 15048, i16 0, i16 0, i16 0, i16 13769, i16 0, i16 0, i16 0, i16 14537, i16 0, i16 0, i16 0, i16 14538, i16 0, i16 0, i16 0, i16 16330, i16 0, i16 0, i16 0, i16 12491, i16 0, i16 0, i16 0, i16 12747, i16 0, i16 0, i16 0, i16 14283, i16 0, i16 0, i16 0, i16 15563, i16 15180, i16 0, i16 0, i16 16331, i16 0, i16 0, i16 0, i16 16587, i16 16365, i16 0, i16 0, i16 204, i16 160, i16 0, i16 0, i16 12492, i16 0, i16 0, i16 0, i16 12748, i16 12463, i16 14825, i16 0, i16 15564, i16 14603, i16 14662, i16 0, i16 16076, i16 16453, i16 0, i16 0, i16 12493, i16 13904, i16 0, i16 0, i16 14029, i16 0, i16 0, i16 0, i16 12750, i16 0, i16 13916, i16 0, i16 15054, i16 0, i16 0, i16 0, i16 16334, i16 0, i16 0, i16 0, i16 16846, i16 0, i16 0, i16 0, i16 15312, i16 16790, i16 14958, i16 0, i16 15824, i16 0, i16 0, i16 0, i16 12497, i16 0, i16 0, i16 0, i16 12498, i16 16586, i16 0, i16 0, i16 13266, i16 0, i16 0, i16 0, i16 16082, i16 0, i16 0, i16 0, i16 16338, i16 16898, i16 0, i16 0, i16 13267, i16 0, i16 0, i16 0, i16 15571, i16 0, i16 13048, i16 0, i16 16339, i16 0, i16 0, i16 0, i16 13268, i16 0, i16 16251, i16 0, i16 14548, i16 0, i16 13322, i16 0, i16 17108, i16 0, i16 0, i16 0, i16 13525, i16 0, i16 0, i16 0, i16 14549, i16 16208, i16 0, i16 0, i16 15061, i16 16355, i16 12754, i16 0, i16 16085, i16 0, i16 16086, i16 0, i16 16341, i16 0, i16 0, i16 0, i16 12758, i16 0, i16 0, i16 0, i16 13782, i16 13206, i16 0, i16 0, i16 14038, i16 0, i16 0, i16 0, i16 14294, i16 0, i16 0, i16 0, i16 13271, i16 15273, i16 0, i16 0, i16 14551, i16 0, i16 0, i16 0, i16 15063, i16 0, i16 0, i16 0, i16 15319, i16 15008, i16 0, i16 0, i16 16087, i16 0, i16 0, i16 0, i16 16855, i16 0, i16 0, i16 0, i16 17111, i16 0, i16 0, i16 0, i16 13528, i16 0, i16 0, i16 0, i16 15320, i16 13709, i16 0, i16 0, i16 15576, i16 0, i16 0, i16 0, i16 15832, i16 0, i16 0, i16 0, i16 17112, i16 0, i16 15491, i16 0, i16 15577, i16 15748, i16 0, i16 0, i16 16857, i16 0, i16 0, i16 0, i16 17113, i16 0, i16 0, i16 0, i16 12506, i16 0, i16 0, i16 0, i16 13530, i16 0, i16 16095, i16 0, i16 15834, i16 16856, i16 0, i16 0, i16 16090, i16 0, i16 15381, i16 0, i16 16346, i16 0, i16 0, i16 0, i16 16858, i16 0, i16 0, i16 0, i16 12507, i16 15526, i16 12403, i16 0, i16 16091, i16 0, i16 0, i16 0, i16 16347, i16 14430, i16 0, i16 0, i16 14044, i16 0, i16 0, i16 0, i16 14556, i16 0, i16 13251, i16 0, i16 12765, i16 0, i16 0, i16 0, i16 17117, i16 0, i16 0, i16 0, i16 14302, i16 0, i16 0, i16 0, i16 16094, i16 0, i16 12956, i16 0, i16 12767, i16 0, i16 0, i16 0, i16 15583, i16 0, i16 14655, i16 0, i16 14304, i16 15497, i16 0, i16 0, i16 14560, i16 0, i16 0, i16 0, i16 15840, i16 0, i16 16260, i16 0, i16 13281, i16 0, i16 0, i16 0, i16 14049, i16 0, i16 0, i16 0, i16 16097, i16 0, i16 12370, i16 0, i16 15074, i16 0, i16 0, i16 0, i16 15330, i16 15690, i16 15960, i16 0, i16 16866, i16 0, i16 0, i16 0, i16 227, i16 0, i16 0, i16 0, i16 12515, i16 0, i16 13876, i16 0, i16 14563, i16 0, i16 0, i16 0, i16 16611, i16 0, i16 0, i16 0, i16 12516, i16 0, i16 0, i16 0, i16 13284, i16 0, i16 0, i16 0, i16 13540, i16 0, i16 0, i16 0, i16 13796, i16 0, i16 0, i16 0, i16 14308, i16 0, i16 0, i16 0, i16 14309, i16 0, i16 0, i16 0, i16 14565, i16 0, i16 16525, i16 0, i16 16101, i16 14818, i16 0, i16 0, i16 16357, i16 14010, i16 0, i16 0, i16 14566, i16 0, i16 0, i16 0, i16 15334, i16 0, i16 0, i16 0, i16 16102, i16 16942, i16 15214, i16 0, i16 15847, i16 0, i16 0, i16 0, i16 16359, i16 15252, i16 0, i16 0, i16 232, i16 0, i16 0, i16 0, i16 15336, i16 0, i16 15165, i16 0, i16 16361, i16 15730, i16 0, i16 0, i16 14058, i16 0, i16 0, i16 0, i16 14314, i16 0, i16 0, i16 0, i16 15082, i16 12921, i16 14023, i16 0, i16 12779, i16 0, i16 0, i16 0, i16 13035, i16 0, i16 0, i16 0, i16 15083, i16 16001, i16 0, i16 0, i16 15595, i16 0, i16 0, i16 0, i16 16107, i16 0, i16 14187, i16 0, i16 16363, i16 0, i16 0, i16 0, i16 236, i16 0, i16 0, i16 0, i16 15596, i16 0, i16 0, i16 0, i16 16876, i16 0, i16 0, i16 0, i16 14061, i16 0, i16 0, i16 0, i16 14829, i16 14436, i16 16437, i16 0, i16 16621, i16 15846, i16 0, i16 0, i16 17133, i16 0, i16 0, i16 0, i16 12782, i16 0, i16 0, i16 0, i16 14318, i16 0, i16 14389, i16 0, i16 15598, i16 12969, i16 0, i16 0, i16 239, i16 0, i16 0, i16 0, i16 13295, i16 0, i16 0, i16 0, i16 496, i16 497, i16 498, i16 0, i16 12784, i16 0, i16 14922, i16 0, i16 16624, i16 0, i16 0, i16 0, i16 16880, i16 16428, i16 16881, i16 0, i16 14322, i16 15067, i16 0, i16 0, i16 14578, i16 0, i16 0, i16 0, i16 15602, i16 0, i16 0, i16 0, i16 12531, i16 0, i16 0, i16 0, i16 13299, i16 14574, i16 0, i16 0, i16 15859, i16 12469, i16 0, i16 0, i16 17139, i16 0, i16 0, i16 0, i16 12532, i16 0, i16 0, i16 0, i16 14836, i16 0, i16 0, i16 0, i16 13301, i16 0, i16 0, i16 0, i16 13557, i16 13244, i16 16772, i16 0, i16 12534, i16 0, i16 13973, i16 0, i16 13814, i16 13690, i16 0, i16 0, i16 14070, i16 0, i16 0, i16 0, i16 15862, i16 0, i16 0, i16 0, i16 16118, i16 0, i16 0, i16 0, i16 13303, i16 0, i16 0, i16 0, i16 13559, i16 14258, i16 0, i16 0, i16 14327, i16 14477, i16 0, i16 0, i16 16119, i16 0, i16 13937, i16 0, i16 16887, i16 0, i16 0, i16 0, i16 17143, i16 12677, i16 0, i16 0, i16 14840, i16 12604, i16 15706, i16 0, i16 14329, i16 0, i16 15728, i16 0, i16 16633, i16 0, i16 15151, i16 0, i16 13818, i16 16626, i16 15466, i16 0, i16 14330, i16 0, i16 0, i16 0, i16 16634, i16 12664, i16 0, i16 0, i16 251, i16 0, i16 0, i16 0, i16 13307, i16 0, i16 12887, i16 0, i16 16123, i16 0, i16 0, i16 0, i16 16379, i16 0, i16 0, i16 0, i16 16635, i16 0, i16 0, i16 0, i16 17147, i16 16591, i16 0, i16 0, i16 12796, i16 0, i16 0, i16 0, i16 14844, i16 0, i16 0, i16 0, i16 15356, i16 0, i16 0, i16 0, i16 15868, i16 0, i16 0, i16 0, i16 16636, i16 0, i16 0, i16 0, i16 16892, i16 13247, i16 0, i16 0, i16 12797, i16 0, i16 0, i16 0, i16 15613, i16 14079, i16 0, i16 0, i16 12286, i16 0, i16 13968, i16 0, i16 14078, i16 0, i16 0, i16 0, i16 14590, i16 13127, i16 0, i16 0, i16 15614, i16 13555, i16 13688, i16 0, i16 15870, i16 0, i16 0, i16 0, i16 16126, i16 0, i16 0, i16 0, i16 16382, i16 0, i16 0, i16 0, i16 12543, i16 0, i16 13728, i16 0, i16 13823, i16 0, i16 13674, i16 0, i16 15615, i16 12820, i16 0, i16 15104, i16 0, i16 0, i16 0, i16 15616, i16 13933, i16 15995, i16 0, i16 16128, i16 0, i16 0, i16 12308, i16 16640, i16 0, i16 0, i16 16054, i16 17152, i16 12348, i16 0, i16 0, i16 257, i16 258, i16 261, i16 260, i16 12801, i16 0, i16 0, i16 0, i16 13569, i16 16879, i16 0, i16 0, i16 14849, i16 0, i16 0, i16 0, i16 15617, i16 14776, i16 0, i16 0, i16 15873, i16 0, i16 14896, i16 0, i16 16385, i16 0, i16 0, i16 0, i16 514, i16 515, i16 516, i16 517, i16 770, i16 771, i16 772, i16 0, i16 1026, i16 1027, i16 1028, i16 1029, i16 13058, i16 12645, i16 0, i16 14683, i16 15874, i16 0, i16 0, i16 12460, i16 16386, i16 0, i16 0, i16 0, i16 259, i16 262, i16 0, i16 0, i16 12803, i16 0, i16 0, i16 0, i16 13059, i16 13351, i16 0, i16 0, i16 14083, i16 14084, i16 0, i16 0, i16 15107, i16 0, i16 0, i16 0, i16 16387, i16 0, i16 15688, i16 0, i16 16643, i16 0, i16 0, i16 0, i16 17155, i16 0, i16 16783, i16 0, i16 13828, i16 0, i16 0, i16 0, i16 15108, i16 12610, i16 14517, i16 0, i16 15364, i16 15365, i16 12936, i16 0, i16 15876, i16 0, i16 0, i16 0, i16 12805, i16 13691, i16 0, i16 0, i16 14853, i16 0, i16 0, i16 0, i16 15621, i16 0, i16 0, i16 0, i16 16901, i16 0, i16 0, i16 16677, i16 17157, i16 0, i16 0, i16 0, i16 518, i16 519, i16 0, i16 0, i16 1030, i16 1031, i16 1032, i16 1033, i16 13574, i16 0, i16 0, i16 0, i16 13830, i16 0, i16 0, i16 0, i16 14086, i16 0, i16 0, i16 0, i16 14342, i16 15893, i16 15892, i16 0, i16 7, i16 8, i16 9, i16 10, i16 263, i16 277, i16 278, i16 0, i16 775, i16 0, i16 0, i16 0, i16 12807, i16 0, i16 0, i16 0, i16 13319, i16 0, i16 0, i16 0, i16 13831, i16 0, i16 0, i16 0, i16 14855, i16 0, i16 0, i16 0, i16 15367, i16 0, i16 0, i16 17002, i16 15879, i16 14820, i16 14767, i16 0, i16 17159, i16 17158, i16 16518, i16 0, i16 776, i16 773, i16 777, i16 233, i16 12552, i16 16573, i16 0, i16 14188, i16 12808, i16 0, i16 0, i16 0, i16 13576, i16 12432, i16 0, i16 0, i16 16904, i16 0, i16 0, i16 0, i16 13065, i16 0, i16 0, i16 0, i16 13321, i16 13327, i16 13330, i16 13434, i16 14345, i16 13568, i16 0, i16 0, i16 15113, i16 14228, i16 0, i16 0, i16 15369, i16 15370, i16 0, i16 0, i16 16393, i16 13771, i16 0, i16 0, i16 266, i16 0, i16 267, i16 0, i16 1034, i16 1035, i16 1036, i16 1037, i16 12298, i16 0, i16 16519, i16 0, i16 12554, i16 0, i16 0, i16 0, i16 14090, i16 15681, i16 12652, i16 0, i16 11, i16 12, i16 13, i16 14, i16 523, i16 524, i16 525, i16 526, i16 779, i16 780, i16 781, i16 0, i16 15371, i16 0, i16 12852, i16 0, i16 15627, i16 0, i16 0, i16 0, i16 16907, i16 14760, i16 0, i16 0, i16 12812, i16 0, i16 13177, i16 0, i16 13068, i16 13069, i16 13070, i16 13072, i16 13580, i16 16024, i16 14835, i16 13381, i16 14604, i16 15275, i16 0, i16 0, i16 15372, i16 12415, i16 0, i16 12648, i16 269, i16 270, i16 0, i16 0, i16 12301, i16 12570, i16 0, i16 12599, i16 12813, i16 0, i16 0, i16 15111, i16 13581, i16 12989, i16 0, i16 0, i16 13837, i16 0, i16 16492, i16 0, i16 14093, i16 0, i16 0, i16 12975, i16 14861, i16 0, i16 15592, i16 0, i16 16141, i16 0, i16 0, i16 0, i16 16653, i16 0, i16 0, i16 0, i16 1038, i16 1039, i16 1040, i16 1041, i16 12814, i16 0, i16 0, i16 12706, i16 13838, i16 14545, i16 16980, i16 0, i16 15374, i16 15377, i16 15382, i16 15384, i16 15630, i16 0, i16 0, i16 0, i16 15886, i16 15536, i16 0, i16 14123, i16 16142, i16 14132, i16 14450, i16 0, i16 15, i16 16, i16 17, i16 18, i16 527, i16 528, i16 529, i16 530, i16 12303, i16 13730, i16 0, i16 0, i16 14095, i16 0, i16 0, i16 0, i16 15375, i16 0, i16 0, i16 0, i16 15631, i16 14274, i16 14286, i16 16727, i16 16143, i16 0, i16 0, i16 12638, i16 16399, i16 0, i16 14372, i16 0, i16 784, i16 0, i16 0, i16 0, i16 13840, i16 0, i16 12299, i16 0, i16 14096, i16 16478, i16 0, i16 0, i16 17168, i16 0, i16 0, i16 0, i16 12305, i16 0, i16 0, i16 13199, i16 12561, i16 0, i16 0, i16 0, i16 13073, i16 13074, i16 13075, i16 13076, i16 14097, i16 0, i16 0, i16 0, i16 14865, i16 0, i16 0, i16 0, i16 15633, i16 12694, i16 0, i16 12377, i16 16401, i16 0, i16 12835, i16 0, i16 1042, i16 1043, i16 1044, i16 0, i16 13586, i16 0, i16 14476, i16 0, i16 13842, i16 12965, i16 0, i16 14265, i16 14098, i16 0, i16 0, i16 0, i16 15122, i16 15419, i16 0, i16 15300, i16 15634, i16 13210, i16 0, i16 0, i16 16402, i16 0, i16 0, i16 12309, i16 17170, i16 16987, i16 16811, i16 14313, i16 19, i16 20, i16 21, i16 0, i16 275, i16 273, i16 0, i16 0, i16 531, i16 532, i16 533, i16 534, i16 12307, i16 0, i16 15734, i16 0, i16 13587, i16 0, i16 0, i16 0, i16 16403, i16 12791, i16 0, i16 0, i16 788, i16 0, i16 0, i16 0, i16 12564, i16 12629, i16 0, i16 14470, i16 14868, i16 14870, i16 14874, i16 14910, i16 16916, i16 13696, i16 0, i16 0, i16 789, i16 697, i16 790, i16 0, i16 1045, i16 1046, i16 1047, i16 1048, i16 12565, i16 0, i16 0, i16 0, i16 12821, i16 0, i16 0, i16 0, i16 13077, i16 13079, i16 13080, i16 13081, i16 13333, i16 0, i16 0, i16 0, i16 14357, i16 0, i16 0, i16 0, i16 14613, i16 13502, i16 0, i16 0, i16 14869, i16 0, i16 0, i16 0, i16 15637, i16 14361, i16 14107, i16 0, i16 22, i16 0, i16 23, i16 24, i16 16150, i16 14012, i16 13767, i16 0, i16 279, i16 276, i16 0, i16 0, i16 535, i16 536, i16 0, i16 537, i16 791, i16 0, i16 0, i16 0, i16 12567, i16 0, i16 0, i16 15172, i16 12823, i16 16179, i16 15581, i16 12312, i16 13847, i16 0, i16 0, i16 13811, i16 14359, i16 0, i16 0, i16 0, i16 14615, i16 0, i16 0, i16 14235, i16 15127, i16 0, i16 15766, i16 0, i16 15383, i16 0, i16 13753, i16 0, i16 12568, i16 0, i16 0, i16 13306, i16 12824, i16 0, i16 15607, i16 12864, i16 14104, i16 0, i16 0, i16 0, i16 14872, i16 0, i16 0, i16 0, i16 15640, i16 0, i16 0, i16 14139, i16 25, i16 26, i16 27, i16 28, i16 281, i16 0, i16 0, i16 0, i16 1049, i16 1050, i16 1052, i16 1053, i16 12313, i16 13332, i16 0, i16 12825, i16 14617, i16 0, i16 13773, i16 15987, i16 16409, i16 0, i16 15799, i16 0, i16 538, i16 539, i16 540, i16 541, i16 12314, i16 0, i16 0, i16 0, i16 12826, i16 0, i16 0, i16 12800, i16 13082, i16 13083, i16 13084, i16 13085, i16 14106, i16 16843, i16 0, i16 16575, i16 14618, i16 0, i16 0, i16 0, i16 15642, i16 0, i16 0, i16 0, i16 13339, i16 15747, i16 0, i16 0, i16 13851, i16 0, i16 13432, i16 0, i16 14363, i16 0, i16 0, i16 15368, i16 14619, i16 0, i16 0, i16 0, i16 15131, i16 0, i16 0, i16 16830, i16 16411, i16 0, i16 0, i16 0, i16 16923, i16 14142, i16 0, i16 14540, i16 12316, i16 0, i16 0, i16 16908, i16 13596, i16 0, i16 15599, i16 0, i16 14364, i16 17134, i16 0, i16 0, i16 14876, i16 0, i16 0, i16 0, i16 15388, i16 15391, i16 15393, i16 15394, i16 29, i16 30, i16 31, i16 32, i16 12317, i16 0, i16 0, i16 15758, i16 12573, i16 0, i16 0, i16 0, i16 13341, i16 0, i16 0, i16 0, i16 14109, i16 0, i16 0, i16 13273, i16 15389, i16 0, i16 14346, i16 14634, i16 286, i16 0, i16 0, i16 679, i16 542, i16 543, i16 0, i16 0, i16 798, i16 799, i16 800, i16 801, i16 1054, i16 1055, i16 1056, i16 1057, i16 12574, i16 0, i16 14714, i16 0, i16 13086, i16 13087, i16 13088, i16 13089, i16 13598, i16 0, i16 0, i16 0, i16 14366, i16 0, i16 0, i16 13288, i16 14622, i16 0, i16 0, i16 13168, i16 14878, i16 14663, i16 0, i16 0, i16 13343, i16 0, i16 0, i16 16050, i16 13855, i16 13834, i16 0, i16 12997, i16 14111, i16 12898, i16 0, i16 14936, i16 14367, i16 0, i16 0, i16 0, i16 15647, i16 0, i16 0, i16 0, i16 16159, i16 0, i16 0, i16 0, i16 544, i16 555, i16 545, i16 556, i16 13600, i16 0, i16 0, i16 0, i16 13856, i16 16531, i16 0, i16 0, i16 14880, i16 0, i16 0, i16 0, i16 16160, i16 0, i16 0, i16 0, i16 16416, i16 0, i16 13817, i16 0, i16 33, i16 34, i16 35, i16 36, i16 13857, i16 0, i16 0, i16 0, i16 546, i16 583, i16 582, i16 557, i16 802, i16 803, i16 804, i16 805, i16 1058, i16 1059, i16 1060, i16 1061, i16 12578, i16 0, i16 0, i16 0, i16 12834, i16 16537, i16 13775, i16 0, i16 14626, i16 0, i16 0, i16 0, i16 15138, i16 0, i16 0, i16 0, i16 16930, i16 0, i16 0, i16 0, i16 291, i16 292, i16 293, i16 294, i16 547, i16 577, i16 576, i16 558, i16 12579, i16 12755, i16 0, i16 0, i16 13091, i16 13092, i16 13096, i16 13097, i16 13347, i16 0, i16 0, i16 0, i16 14627, i16 14539, i16 15436, i16 0, i16 15651, i16 0, i16 15105, i16 0, i16 16931, i16 0, i16 0, i16 12335, i16 548, i16 579, i16 578, i16 559, i16 15908, i16 0, i16 0, i16 0, i16 16164, i16 0, i16 13836, i16 0, i16 16932, i16 15385, i16 0, i16 0, i16 37, i16 38, i16 39, i16 40, i16 549, i16 581, i16 580, i16 560, i16 13349, i16 0, i16 0, i16 0, i16 13605, i16 0, i16 0, i16 0, i16 13861, i16 0, i16 14594, i16 15626, i16 14629, i16 0, i16 12476, i16 0, i16 14885, i16 0, i16 0, i16 0, i16 15141, i16 0, i16 0, i16 12717, i16 15397, i16 0, i16 0, i16 0, i16 15653, i16 0, i16 0, i16 16014, i16 550, i16 571, i16 584, i16 585, i16 806, i16 807, i16 808, i16 809, i16 1062, i16 1063, i16 1064, i16 1065, i16 12326, i16 0, i16 0, i16 0, i16 13606, i16 0, i16 0, i16 0, i16 14118, i16 16596, i16 15068, i16 14731, i16 14886, i16 0, i16 12514, i16 0, i16 16422, i16 0, i16 14654, i16 0, i16 295, i16 296, i16 297, i16 298, i16 551, i16 592, i16 593, i16 567, i16 12839, i16 0, i16 0, i16 0, i16 13607, i16 14883, i16 16707, i16 0, i16 13863, i16 0, i16 0, i16 0, i16 15399, i16 0, i16 0, i16 0, i16 15655, i16 14031, i16 14395, i16 0, i16 16167, i16 0, i16 15903, i16 0, i16 16935, i16 0, i16 0, i16 0, i16 552, i16 573, i16 588, i16 589, i16 13352, i16 0, i16 0, i16 0, i16 13608, i16 0, i16 0, i16 0, i16 14120, i16 0, i16 15293, i16 0, i16 15144, i16 0, i16 0, i16 0, i16 15912, i16 12541, i16 13870, i16 0, i16 41, i16 42, i16 43, i16 44, i16 553, i16 596, i16 597, i16 569, i16 12585, i16 0, i16 0, i16 0, i16 12841, i16 12810, i16 0, i16 0, i16 13865, i16 0, i16 0, i16 13462, i16 14377, i16 12693, i16 0, i16 12872, i16 15913, i16 0, i16 0, i16 0, i16 16169, i16 12857, i16 0, i16 13290, i16 554, i16 600, i16 601, i16 570, i16 810, i16 811, i16 812, i16 813, i16 1066, i16 1067, i16 1068, i16 1069, i16 13866, i16 0, i16 14612, i16 0, i16 14378, i16 0, i16 16272, i16 13312, i16 15402, i16 0, i16 0, i16 0, i16 16426, i16 14161, i16 0, i16 0, i16 16682, i16 0, i16 0, i16 0, i16 16938, i16 0, i16 16694, i16 16603, i16 299, i16 300, i16 301, i16 302, i16 12331, i16 0, i16 0, i16 0, i16 13099, i16 13100, i16 13102, i16 13103, i16 13867, i16 0, i16 0, i16 0, i16 15659, i16 0, i16 0, i16 14841, i16 13612, i16 0, i16 16751, i16 13410, i16 14636, i16 0, i16 0, i16 0, i16 14892, i16 14009, i16 0, i16 0, i16 15148, i16 0, i16 15943, i16 12679, i16 15916, i16 0, i16 0, i16 0, i16 16940, i16 16394, i16 14706, i16 0, i16 45, i16 46, i16 47, i16 48, i16 12333, i16 0, i16 0, i16 12297, i16 12845, i16 0, i16 0, i16 14223, i16 13357, i16 16618, i16 0, i16 0, i16 13613, i16 14635, i16 0, i16 0, i16 13869, i16 0, i16 0, i16 0, i16 15661, i16 0, i16 0, i16 0, i16 15917, i16 16642, i16 0, i16 0, i16 16173, i16 0, i16 0, i16 13254, i16 814, i16 815, i16 816, i16 817, i16 1070, i16 1071, i16 1072, i16 1073, i16 12846, i16 0, i16 16637, i16 13664, i16 303, i16 304, i16 305, i16 306, i16 12847, i16 0, i16 0, i16 0, i16 13615, i16 0, i16 13985, i16 0, i16 13871, i16 0, i16 0, i16 0, i16 14895, i16 0, i16 15844, i16 14089, i16 12592, i16 0, i16 16205, i16 0, i16 13104, i16 13105, i16 13106, i16 13107, i16 13872, i16 0, i16 0, i16 0, i16 15152, i16 0, i16 12319, i16 12545, i16 49, i16 50, i16 51, i16 52, i16 13873, i16 0, i16 0, i16 0, i16 14129, i16 0, i16 0, i16 0, i16 14897, i16 0, i16 0, i16 0, i16 15665, i16 0, i16 16344, i16 16912, i16 15921, i16 16016, i16 14055, i16 13417, i16 16177, i16 0, i16 0, i16 14753, i16 818, i16 819, i16 820, i16 821, i16 1074, i16 1075, i16 1076, i16 1077, i16 15410, i16 15411, i16 15413, i16 15417, i16 16178, i16 14405, i16 0, i16 0, i16 16434, i16 15807, i16 15243, i16 0, i16 307, i16 308, i16 309, i16 310, i16 12339, i16 0, i16 0, i16 15839, i16 14131, i16 0, i16 0, i16 0, i16 14387, i16 0, i16 0, i16 0, i16 14643, i16 15448, i16 0, i16 0, i16 15155, i16 0, i16 0, i16 0, i16 15667, i16 0, i16 0, i16 0, i16 16435, i16 0, i16 0, i16 12749, i16 12596, i16 0, i16 0, i16 0, i16 13108, i16 13109, i16 13114, i16 13115, i16 13364, i16 14877, i16 0, i16 0, i16 14900, i16 0, i16 0, i16 0, i16 16436, i16 0, i16 0, i16 0, i16 53, i16 54, i16 55, i16 56, i16 12597, i16 0, i16 0, i16 16939, i16 13877, i16 0, i16 16491, i16 15185, i16 14901, i16 0, i16 0, i16 0, i16 16949, i16 0, i16 15802, i16 0, i16 566, i16 586, i16 587, i16 561, i16 822, i16 823, i16 824, i16 825, i16 1078, i16 1079, i16 1080, i16 1081, i16 14390, i16 0, i16 0, i16 0, i16 14902, i16 0, i16 0, i16 12930, i16 15158, i16 0, i16 12620, i16 15062, i16 15670, i16 0, i16 0, i16 0, i16 16438, i16 15340, i16 0, i16 16791, i16 311, i16 312, i16 313, i16 314, i16 13367, i16 16221, i16 16526, i16 0, i16 13879, i16 14764, i16 15132, i16 0, i16 15159, i16 15814, i16 0, i16 0, i16 15671, i16 0, i16 0, i16 16804, i16 16439, i16 13563, i16 0, i16 0, i16 16695, i16 0, i16 0, i16 0, i16 568, i16 590, i16 591, i16 563, i16 12600, i16 0, i16 0, i16 0, i16 13624, i16 0, i16 16032, i16 16310, i16 16440, i16 0, i16 12692, i16 13449, i16 16696, i16 0, i16 0, i16 14281, i16 16952, i16 16111, i16 0, i16 0, i16 57, i16 58, i16 59, i16 60, i16 13113, i16 0, i16 0, i16 0, i16 13881, i16 13940, i16 13941, i16 0, i16 15673, i16 16353, i16 0, i16 16691, i16 16441, i16 0, i16 12822, i16 15936, i16 16953, i16 16871, i16 15856, i16 12551, i16 826, i16 827, i16 828, i16 829, i16 1082, i16 1083, i16 1085, i16 1086, i16 14394, i16 15473, i16 0, i16 0, i16 15418, i16 15422, i16 15423, i16 15428, i16 16442, i16 0, i16 0, i16 0, i16 315, i16 316, i16 317, i16 318, i16 15931, i16 0, i16 14069, i16 0, i16 16187, i16 16188, i16 0, i16 0, i16 16699, i16 0, i16 0, i16 16698, i16 572, i16 594, i16 595, i16 562, i16 13116, i16 13117, i16 13118, i16 13119, i16 14908, i16 0, i16 0, i16 14194, i16 61, i16 62, i16 63, i16 64, i16 13629, i16 0, i16 0, i16 0, i16 574, i16 598, i16 599, i16 564, i16 830, i16 831, i16 832, i16 833, i16 12350, i16 0, i16 15031, i16 0, i16 12606, i16 13556, i16 14165, i16 0, i16 16190, i16 0, i16 0, i16 14219, i16 16446, i16 0, i16 0, i16 12529, i16 319, i16 320, i16 321, i16 322, i16 1087, i16 1088, i16 1089, i16 1090, i16 12863, i16 0, i16 0, i16 0, i16 14399, i16 0, i16 0, i16 15204, i16 14911, i16 14912, i16 14914, i16 14915, i16 14144, i16 13858, i16 0, i16 0, i16 14656, i16 0, i16 0, i16 0, i16 15424, i16 0, i16 0, i16 0, i16 16448, i16 14368, i16 17076, i16 12951, i16 65, i16 66, i16 67, i16 68, i16 12609, i16 0, i16 0, i16 0, i16 13121, i16 13122, i16 13292, i16 13314, i16 14657, i16 15421, i16 16239, i16 12586, i16 15169, i16 0, i16 0, i16 16147, i16 834, i16 835, i16 836, i16 837, i16 12354, i16 0, i16 16676, i16 14020, i16 13890, i16 0, i16 0, i16 0, i16 14402, i16 0, i16 15406, i16 0, i16 15426, i16 14351, i16 0, i16 0, i16 16450, i16 17137, i16 0, i16 0, i16 16706, i16 0, i16 0, i16 0, i16 323, i16 324, i16 325, i16 326, i16 1091, i16 1092, i16 1093, i16 1094, i16 12867, i16 0, i16 0, i16 0, i16 13123, i16 0, i16 13799, i16 13101, i16 13635, i16 0, i16 0, i16 0, i16 13891, i16 0, i16 0, i16 0, i16 14147, i16 0, i16 14148, i16 14149, i16 15939, i16 0, i16 14140, i16 13205, i16 16451, i16 0, i16 0, i16 0, i16 12356, i16 0, i16 0, i16 12804, i16 12612, i16 0, i16 0, i16 0, i16 12868, i16 0, i16 0, i16 0, i16 16708, i16 0, i16 0, i16 14124, i16 69, i16 70, i16 71, i16 72, i16 12357, i16 13758, i16 0, i16 17094, i16 838, i16 839, i16 840, i16 841, i16 12870, i16 12894, i16 12907, i16 12992, i16 14150, i16 0, i16 0, i16 13722, i16 14918, i16 14921, i16 14927, i16 14929, i16 16198, i16 0, i16 0, i16 0, i16 327, i16 328, i16 329, i16 330, i16 1095, i16 1096, i16 1097, i16 1098, i16 12871, i16 13304, i16 0, i16 0, i16 14151, i16 15380, i16 0, i16 16447, i16 14407, i16 0, i16 0, i16 0, i16 15431, i16 15432, i16 15433, i16 15434, i16 16199, i16 0, i16 16646, i16 12696, i16 16967, i16 0, i16 0, i16 0, i16 12360, i16 0, i16 0, i16 0, i16 12616, i16 0, i16 0, i16 0, i16 14152, i16 14254, i16 14256, i16 14275, i16 16200, i16 15023, i16 0, i16 0, i16 16968, i16 0, i16 0, i16 15490, i16 73, i16 74, i16 75, i16 76, i16 14409, i16 16493, i16 0, i16 12457, i16 16201, i16 0, i16 0, i16 12412, i16 842, i16 843, i16 844, i16 845, i16 13386, i16 0, i16 0, i16 0, i16 14410, i16 0, i16 0, i16 0, i16 15946, i16 0, i16 0, i16 0, i16 16458, i16 0, i16 0, i16 0, i16 331, i16 332, i16 333, i16 334, i16 1099, i16 1100, i16 1101, i16 1102, i16 13643, i16 0, i16 0, i16 0, i16 14667, i16 16229, i16 14220, i16 0, i16 16203, i16 0, i16 13697, i16 16959, i16 12876, i16 0, i16 14128, i16 0, i16 13644, i16 13645, i16 0, i16 0, i16 13900, i16 0, i16 0, i16 0, i16 14668, i16 15935, i16 0, i16 0, i16 15692, i16 0, i16 0, i16 0, i16 16460, i16 17118, i16 13652, i16 16277, i16 16716, i16 0, i16 0, i16 0, i16 16972, i16 13323, i16 0, i16 0, i16 77, i16 78, i16 79, i16 80, i16 13133, i16 0, i16 0, i16 0, i16 14413, i16 14238, i16 0, i16 0, i16 15437, i16 13403, i16 15831, i16 14474, i16 15693, i16 12584, i16 0, i16 14433, i16 846, i16 847, i16 848, i16 849, i16 12366, i16 0, i16 0, i16 0, i16 12622, i16 0, i16 0, i16 0, i16 14158, i16 0, i16 0, i16 0, i16 15182, i16 15183, i16 15189, i16 15191, i16 15438, i16 0, i16 15541, i16 0, i16 16718, i16 0, i16 0, i16 0, i16 335, i16 336, i16 337, i16 338, i16 1103, i16 1104, i16 1105, i16 1106, i16 16207, i16 13692, i16 0, i16 0, i16 16719, i16 16092, i16 0, i16 12318, i16 16975, i16 0, i16 16560, i16 0, i16 12368, i16 0, i16 14730, i16 16284, i16 12624, i16 13779, i16 0, i16 0, i16 12880, i16 0, i16 0, i16 0, i16 13648, i16 16754, i16 0, i16 0, i16 14672, i16 0, i16 0, i16 0, i16 14928, i16 0, i16 0, i16 0, i16 15440, i16 15484, i16 15485, i16 15488, i16 15952, i16 0, i16 0, i16 0, i16 81, i16 82, i16 83, i16 84, i16 12625, i16 0, i16 0, i16 0, i16 12881, i16 0, i16 0, i16 0, i16 13393, i16 15069, i16 0, i16 0, i16 13905, i16 0, i16 0, i16 0, i16 15441, i16 0, i16 12759, i16 15305, i16 15953, i16 15242, i16 0, i16 0, i16 850, i16 851, i16 0, i16 0, i16 12626, i16 0, i16 16516, i16 0, i16 13138, i16 0, i16 0, i16 0, i16 14930, i16 14931, i16 14933, i16 14937, i16 15954, i16 12429, i16 0, i16 0, i16 16978, i16 0, i16 12756, i16 0, i16 339, i16 340, i16 341, i16 342, i16 1107, i16 1108, i16 1109, i16 1110, i16 12371, i16 0, i16 0, i16 13280, i16 12883, i16 16244, i16 0, i16 14076, i16 852, i16 853, i16 854, i16 855, i16 85, i16 86, i16 87, i16 88, i16 13909, i16 0, i16 0, i16 0, i16 15190, i16 16683, i16 0, i16 0, i16 15446, i16 0, i16 0, i16 16364, i16 16726, i16 0, i16 15405, i16 0, i16 343, i16 344, i16 345, i16 346, i16 14167, i16 0, i16 0, i16 0, i16 16215, i16 0, i16 0, i16 16946, i16 856, i16 857, i16 858, i16 859, i16 12632, i16 0, i16 12954, i16 14051, i16 14680, i16 0, i16 0, i16 16133, i16 15192, i16 0, i16 0, i16 12731, i16 15704, i16 0, i16 0, i16 0, i16 13657, i16 0, i16 16746, i16 15249, i16 14169, i16 0, i16 0, i16 14941, i16 14681, i16 0, i16 0, i16 13062, i16 15193, i16 15196, i16 15203, i16 15208, i16 16217, i16 0, i16 0, i16 0, i16 602, i16 603, i16 575, i16 604, i16 12378, i16 0, i16 0, i16 0, i16 12634, i16 0, i16 0, i16 0, i16 13914, i16 0, i16 0, i16 0, i16 14938, i16 14942, i16 14950, i16 14952, i16 16218, i16 0, i16 15720, i16 15308, i16 16474, i16 0, i16 0, i16 0, i16 12635, i16 0, i16 15162, i16 0, i16 15195, i16 15117, i16 0, i16 0, i16 16219, i16 14723, i16 0, i16 14210, i16 16475, i16 16878, i16 0, i16 0, i16 16731, i16 13425, i16 13354, i16 0, i16 860, i16 861, i16 862, i16 863, i16 12636, i16 12671, i16 12843, i16 12848, i16 15452, i16 0, i16 0, i16 16113, i16 15964, i16 0, i16 0, i16 0, i16 16732, i16 15276, i16 0, i16 0, i16 93, i16 94, i16 95, i16 96, i16 605, i16 606, i16 607, i16 608, i16 12381, i16 0, i16 0, i16 0, i16 12637, i16 0, i16 0, i16 0, i16 15197, i16 0, i16 0, i16 0, i16 16989, i16 16604, i16 16529, i16 12685, i16 12382, i16 0, i16 0, i16 0, i16 13662, i16 17008, i16 17091, i16 15900, i16 15966, i16 0, i16 15965, i16 0, i16 16990, i16 0, i16 0, i16 15548, i16 351, i16 352, i16 353, i16 354, i16 12639, i16 13535, i16 16905, i16 0, i16 13407, i16 14189, i16 0, i16 0, i16 13919, i16 14215, i16 0, i16 0, i16 14175, i16 0, i16 16825, i16 0, i16 14687, i16 0, i16 15830, i16 17030, i16 16479, i16 0, i16 15951, i16 0, i16 864, i16 865, i16 866, i16 0, i16 12384, i16 15412, i16 14756, i16 0, i16 13152, i16 16096, i16 0, i16 0, i16 13408, i16 0, i16 0, i16 0, i16 13920, i16 0, i16 0, i16 0, i16 14688, i16 0, i16 0, i16 0, i16 16224, i16 0, i16 0, i16 0, i16 16480, i16 0, i16 0, i16 0, i16 16992, i16 0, i16 0, i16 0, i16 97, i16 98, i16 99, i16 100, i16 609, i16 610, i16 611, i16 565, i16 12385, i16 15963, i16 0, i16 0, i16 13153, i16 15352, i16 0, i16 0, i16 14177, i16 16622, i16 0, i16 0, i16 15201, i16 13463, i16 0, i16 12601, i16 16481, i16 0, i16 16100, i16 14801, i16 16737, i16 14119, i16 13491, i16 15570, i16 12642, i16 15578, i16 0, i16 15586, i16 14178, i16 0, i16 0, i16 0, i16 14434, i16 0, i16 12816, i16 0, i16 15202, i16 12458, i16 0, i16 0, i16 15714, i16 0, i16 0, i16 0, i16 16738, i16 17040, i16 0, i16 13241, i16 355, i16 356, i16 357, i16 358, i16 14691, i16 0, i16 13169, i16 0, i16 14947, i16 0, i16 0, i16 15534, i16 12644, i16 0, i16 16786, i16 0, i16 12900, i16 14153, i16 16593, i16 0, i16 13668, i16 0, i16 16247, i16 0, i16 101, i16 102, i16 103, i16 104, i16 13157, i16 0, i16 0, i16 0, i16 13413, i16 0, i16 0, i16 0, i16 14181, i16 0, i16 0, i16 0, i16 14437, i16 14744, i16 12562, i16 0, i16 14949, i16 14462, i16 12293, i16 0, i16 16485, i16 0, i16 0, i16 0, i16 16997, i16 13129, i16 0, i16 15959, i16 870, i16 0, i16 0, i16 0, i16 13670, i16 12405, i16 0, i16 0, i16 13926, i16 0, i16 16547, i16 0, i16 15206, i16 0, i16 0, i16 0, i16 16742, i16 0, i16 15362, i16 0, i16 359, i16 360, i16 361, i16 362, i16 13671, i16 0, i16 0, i16 16700, i16 14695, i16 0, i16 14197, i16 0, i16 16231, i16 0, i16 0, i16 15711, i16 16743, i16 0, i16 0, i16 0, i16 16999, i16 12558, i16 0, i16 0, i16 616, i16 622, i16 623, i16 624, i16 13928, i16 13929, i16 0, i16 0, i16 15464, i16 16002, i16 0, i16 0, i16 15976, i16 0, i16 0, i16 16852, i16 16232, i16 0, i16 16003, i16 0, i16 16744, i16 0, i16 14502, i16 13911, i16 105, i16 106, i16 107, i16 108, i16 617, i16 675, i16 690, i16 283, i16 14953, i16 14956, i16 14964, i16 14968, i16 15209, i16 13666, i16 16813, i16 14575, i16 15465, i16 0, i16 0, i16 0, i16 15721, i16 0, i16 0, i16 0, i16 16489, i16 13095, i16 0, i16 14300, i16 16745, i16 0, i16 0, i16 0, i16 14954, i16 0, i16 0, i16 0, i16 363, i16 364, i16 365, i16 366, i16 619, i16 620, i16 621, i16 640, i16 875, i16 0, i16 0, i16 0, i16 12395, i16 0, i16 0, i16 0, i16 13163, i16 0, i16 13604, i16 0, i16 13931, i16 0, i16 16865, i16 13665, i16 14699, i16 0, i16 0, i16 0, i16 15723, i16 0, i16 0, i16 0, i16 16747, i16 15442, i16 12315, i16 0, i16 14444, i16 0, i16 14347, i16 0, i16 14700, i16 15223, i16 0, i16 0, i16 15468, i16 0, i16 0, i16 0, i16 15724, i16 0, i16 0, i16 0, i16 16236, i16 0, i16 12512, i16 16144, i16 109, i16 110, i16 111, i16 112, i16 14701, i16 0, i16 12413, i16 15310, i16 15213, i16 0, i16 0, i16 16807, i16 15981, i16 0, i16 0, i16 14611, i16 12398, i16 0, i16 13810, i16 0, i16 13422, i16 0, i16 0, i16 0, i16 13678, i16 16641, i16 15345, i16 0, i16 14702, i16 0, i16 0, i16 0, i16 15726, i16 0, i16 12419, i16 17035, i16 16238, i16 0, i16 14062, i16 0, i16 367, i16 368, i16 369, i16 370, i16 879, i16 880, i16 881, i16 882, i16 12399, i16 15153, i16 0, i16 0, i16 13423, i16 0, i16 0, i16 17122, i16 14191, i16 0, i16 16427, i16 0, i16 14703, i16 13623, i16 0, i16 16506, i16 15983, i16 15729, i16 0, i16 0, i16 16495, i16 0, i16 16714, i16 0, i16 12656, i16 0, i16 13762, i16 0, i16 13936, i16 0, i16 0, i16 12284, i16 14448, i16 12575, i16 0, i16 13776, i16 14704, i16 0, i16 13229, i16 15194, i16 113, i16 114, i16 115, i16 116, i16 625, i16 626, i16 627, i16 628, i16 12657, i16 16053, i16 0, i16 0, i16 15985, i16 0, i16 16183, i16 13515, i16 17009, i16 0, i16 14554, i16 0, i16 12658, i16 0, i16 0, i16 0, i16 15474, i16 0, i16 16770, i16 0, i16 16498, i16 15164, i16 0, i16 0, i16 17010, i16 0, i16 13788, i16 13789, i16 371, i16 372, i16 373, i16 374, i16 883, i16 884, i16 885, i16 886, i16 14963, i16 15898, i16 0, i16 0, i16 16755, i16 0, i16 0, i16 0, i16 17011, i16 0, i16 0, i16 15514, i16 12404, i16 0, i16 0, i16 0, i16 12916, i16 0, i16 0, i16 14195, i16 16500, i16 0, i16 14290, i16 0, i16 117, i16 118, i16 119, i16 120, i16 629, i16 630, i16 631, i16 618, i16 13173, i16 0, i16 16230, i16 0, i16 13685, i16 13795, i16 16412, i16 0, i16 16245, i16 0, i16 16891, i16 0, i16 16501, i16 0, i16 0, i16 0, i16 12918, i16 0, i16 0, i16 0, i16 13686, i16 0, i16 0, i16 0, i16 13942, i16 13667, i16 0, i16 0, i16 14198, i16 12283, i16 0, i16 0, i16 14710, i16 0, i16 0, i16 0, i16 15478, i16 0, i16 15445, i16 15918, i16 16246, i16 16210, i16 13864, i16 0, i16 16758, i16 0, i16 0, i16 0, i16 375, i16 376, i16 377, i16 378, i16 887, i16 888, i16 889, i16 890, i16 12663, i16 0, i16 0, i16 0, i16 13431, i16 15482, i16 0, i16 0, i16 13687, i16 0, i16 0, i16 0, i16 15479, i16 0, i16 0, i16 0, i16 15735, i16 0, i16 14247, i16 0, i16 15991, i16 0, i16 0, i16 12861, i16 16503, i16 0, i16 0, i16 0, i16 13176, i16 0, i16 0, i16 0, i16 14456, i16 0, i16 0, i16 14707, i16 15224, i16 0, i16 0, i16 0, i16 16248, i16 0, i16 0, i16 0, i16 121, i16 122, i16 123, i16 124, i16 13689, i16 0, i16 0, i16 15343, i16 15481, i16 0, i16 15241, i16 0, i16 16761, i16 15321, i16 0, i16 0, i16 13178, i16 0, i16 16356, i16 0, i16 13946, i16 14970, i16 0, i16 0, i16 14458, i16 0, i16 0, i16 15513, i16 379, i16 380, i16 224, i16 0, i16 891, i16 892, i16 893, i16 894, i16 12923, i16 0, i16 0, i16 0, i16 14203, i16 0, i16 0, i16 0, i16 14459, i16 16609, i16 0, i16 12288, i16 14971, i16 14974, i16 14977, i16 14979, i16 15227, i16 17075, i16 14960, i16 0, i16 17019, i16 12410, i16 0, i16 0, i16 12668, i16 0, i16 12416, i16 0, i16 12924, i16 0, i16 0, i16 16146, i16 13948, i16 13979, i16 14073, i16 14121, i16 16764, i16 0, i16 0, i16 0, i16 17020, i16 0, i16 0, i16 0, i16 125, i16 126, i16 127, i16 132, i16 637, i16 638, i16 671, i16 672, i16 12925, i16 0, i16 0, i16 17153, i16 13437, i16 14216, i16 0, i16 0, i16 15997, i16 0, i16 0, i16 0, i16 16253, i16 17110, i16 16998, i16 0, i16 17021, i16 14028, i16 14602, i16 0, i16 12414, i16 0, i16 0, i16 15940, i16 13182, i16 0, i16 0, i16 0, i16 15230, i16 0, i16 0, i16 0, i16 15998, i16 13078, i16 12795, i16 0, i16 639, i16 688, i16 632, i16 0, i16 895, i16 896, i16 897, i16 898, i16 15487, i16 0, i16 16117, i16 0, i16 16511, i16 0, i16 13967, i16 0, i16 12672, i16 0, i16 0, i16 0, i16 12928, i16 0, i16 0, i16 0, i16 13952, i16 0, i16 0, i16 14693, i16 14720, i16 15363, i16 17000, i16 0, i16 15232, i16 0, i16 0, i16 14017, i16 17024, i16 0, i16 0, i16 0, i16 385, i16 386, i16 387, i16 388, i16 641, i16 680, i16 681, i16 682, i16 12673, i16 15969, i16 15810, i16 15142, i16 12929, i16 14360, i16 15168, i16 0, i16 13953, i16 17120, i16 0, i16 0, i16 15233, i16 0, i16 0, i16 0, i16 15745, i16 13371, i16 15358, i16 16608, i16 16513, i16 0, i16 0, i16 0, i16 16769, i16 0, i16 14392, i16 0, i16 17025, i16 0, i16 0, i16 0, i16 642, i16 643, i16 644, i16 645, i16 12674, i16 0, i16 13497, i16 16005, i16 13186, i16 0, i16 0, i16 0, i16 14466, i16 16629, i16 0, i16 0, i16 15746, i16 0, i16 0, i16 0, i16 131, i16 0, i16 693, i16 0, i16 899, i16 900, i16 901, i16 902, i16 13955, i16 0, i16 14350, i16 0, i16 15235, i16 14924, i16 0, i16 0, i16 16259, i16 0, i16 12776, i16 15255, i16 16771, i16 0, i16 0, i16 0, i16 17027, i16 0, i16 0, i16 0, i16 12932, i16 15535, i16 13829, i16 12760, i16 13188, i16 0, i16 0, i16 16888, i16 13444, i16 0, i16 0, i16 0, i16 14212, i16 0, i16 0, i16 15638, i16 14468, i16 0, i16 15186, i16 13221, i16 16004, i16 0, i16 0, i16 13654, i16 389, i16 390, i16 391, i16 392, i16 12933, i16 15624, i16 0, i16 0, i16 15493, i16 15494, i16 15495, i16 15496, i16 16517, i16 0, i16 12390, i16 0, i16 646, i16 647, i16 648, i16 649, i16 12678, i16 0, i16 0, i16 0, i16 13446, i16 0, i16 0, i16 0, i16 14982, i16 14983, i16 14984, i16 14986, i16 15238, i16 0, i16 14524, i16 0, i16 15750, i16 0, i16 14589, i16 0, i16 16774, i16 12986, i16 15718, i16 0, i16 903, i16 904, i16 905, i16 906, i16 13447, i16 0, i16 0, i16 0, i16 14471, i16 12595, i16 16282, i16 14959, i16 15751, i16 0, i16 14208, i16 0, i16 16263, i16 0, i16 14091, i16 0, i16 16775, i16 15669, i16 0, i16 0, i16 136, i16 348, i16 349, i16 350, i16 12424, i16 12430, i16 12447, i16 12611, i16 12680, i16 0, i16 16168, i16 0, i16 14472, i16 14429, i16 0, i16 0, i16 15240, i16 15283, i16 15323, i16 15359, i16 15752, i16 15337, i16 15932, i16 14724, i16 16264, i16 0, i16 0, i16 0, i16 16520, i16 0, i16 0, i16 0, i16 137, i16 203, i16 0, i16 0, i16 393, i16 394, i16 395, i16 396, i16 12937, i16 15537, i16 0, i16 0, i16 14217, i16 0, i16 0, i16 0, i16 16777, i16 0, i16 0, i16 0, i16 17033, i16 0, i16 15761, i16 0, i16 138, i16 139, i16 0, i16 0, i16 650, i16 651, i16 657, i16 658, i16 12682, i16 0, i16 0, i16 0, i16 12938, i16 0, i16 0, i16 0, i16 14218, i16 0, i16 0, i16 16130, i16 16778, i16 13956, i16 0, i16 0, i16 17034, i16 0, i16 13841, i16 12533, i16 907, i16 908, i16 909, i16 910, i16 12427, i16 0, i16 0, i16 0, i16 13195, i16 0, i16 16922, i16 0, i16 13707, i16 0, i16 0, i16 0, i16 14475, i16 0, i16 0, i16 0, i16 15499, i16 15502, i16 15504, i16 15510, i16 16011, i16 0, i16 0, i16 16509, i16 16779, i16 12836, i16 16582, i16 0, i16 140, i16 141, i16 0, i16 0, i16 652, i16 653, i16 654, i16 655, i16 12684, i16 0, i16 0, i16 0, i16 13452, i16 12433, i16 0, i16 0, i16 13708, i16 0, i16 14987, i16 0, i16 13964, i16 0, i16 15770, i16 16631, i16 14988, i16 14989, i16 14990, i16 14993, i16 15500, i16 0, i16 0, i16 0, i16 15756, i16 17160, i16 0, i16 0, i16 16012, i16 0, i16 0, i16 0, i16 16780, i16 14427, i16 14651, i16 16249, i16 397, i16 398, i16 399, i16 400, i16 14733, i16 15528, i16 0, i16 0, i16 15245, i16 16145, i16 12910, i16 15246, i16 142, i16 143, i16 0, i16 0, i16 12686, i16 0, i16 0, i16 0, i16 16270, i16 15176, i16 16407, i16 0, i16 911, i16 912, i16 913, i16 914, i16 12687, i16 0, i16 0, i16 0, i16 13455, i16 13547, i16 13572, i16 13917, i16 15759, i16 0, i16 0, i16 0, i16 16527, i16 13808, i16 0, i16 12337, i16 144, i16 145, i16 146, i16 147, i16 656, i16 0, i16 0, i16 0, i16 13200, i16 0, i16 0, i16 14170, i16 13456, i16 0, i16 0, i16 0, i16 401, i16 402, i16 403, i16 404, i16 12945, i16 13998, i16 0, i16 0, i16 13457, i16 16256, i16 0, i16 16553, i16 13969, i16 13521, i16 0, i16 0, i16 15505, i16 0, i16 0, i16 0, i16 12434, i16 0, i16 15058, i16 13539, i16 12690, i16 14684, i16 12987, i16 16033, i16 14482, i16 0, i16 0, i16 0, i16 15250, i16 0, i16 0, i16 0, i16 15762, i16 14596, i16 16510, i16 0, i16 16274, i16 13878, i16 0, i16 0, i16 16530, i16 0, i16 0, i16 13211, i16 659, i16 660, i16 661, i16 662, i16 915, i16 916, i16 917, i16 918, i16 13971, i16 0, i16 12440, i16 0, i16 14739, i16 0, i16 0, i16 0, i16 14995, i16 14996, i16 14999, i16 15000, i16 15507, i16 14598, i16 14237, i16 15914, i16 15763, i16 15390, i16 12379, i16 14705, i16 16275, i16 0, i16 0, i16 0, i16 148, i16 149, i16 150, i16 151, i16 13460, i16 0, i16 16753, i16 15034, i16 13716, i16 13717, i16 15801, i16 0, i16 14484, i16 13903, i16 14323, i16 0, i16 15764, i16 0, i16 15835, i16 0, i16 16276, i16 16223, i16 0, i16 0, i16 405, i16 406, i16 407, i16 408, i16 12437, i16 0, i16 0, i16 13759, i16 13461, i16 0, i16 0, i16 0, i16 15253, i16 0, i16 0, i16 0, i16 14486, i16 15451, i16 0, i16 16104, i16 663, i16 664, i16 665, i16 666, i16 919, i16 920, i16 921, i16 922, i16 13207, i16 0, i16 0, i16 15529, i16 13719, i16 12365, i16 16469, i16 15002, i16 14231, i16 12961, i16 0, i16 0, i16 14743, i16 0, i16 0, i16 0, i16 15511, i16 15515, i16 15516, i16 15519, i16 15767, i16 14614, i16 0, i16 13954, i16 152, i16 153, i16 0, i16 199, i16 12952, i16 0, i16 0, i16 0, i16 13208, i16 0, i16 0, i16 0, i16 14232, i16 0, i16 0, i16 0, i16 15256, i16 13725, i16 0, i16 16406, i16 16792, i16 0, i16 12502, i16 0, i16 17048, i16 0, i16 16613, i16 0, i16 409, i16 410, i16 411, i16 412, i16 12697, i16 0, i16 0, i16 0, i16 13465, i16 0, i16 15265, i16 16948, i16 14489, i16 0, i16 12306, i16 0, i16 15001, i16 15003, i16 15009, i16 15014, i16 12442, i16 13226, i16 0, i16 14226, i16 12698, i16 15313, i16 0, i16 17014, i16 15258, i16 0, i16 0, i16 0, i16 16538, i16 13681, i16 16557, i16 0, i16 667, i16 612, i16 613, i16 614, i16 923, i16 924, i16 925, i16 926, i16 12443, i16 16521, i16 0, i16 16894, i16 16539, i16 16116, i16 14202, i16 15247, i16 16795, i16 16796, i16 16864, i16 16991, i16 17052, i16 0, i16 0, i16 0, i16 157, i16 177, i16 0, i16 0, i16 413, i16 414, i16 415, i16 416, i16 669, i16 670, i16 285, i16 687, i16 12957, i16 0, i16 12393, i16 0, i16 13213, i16 0, i16 13510, i16 0, i16 15005, i16 0, i16 0, i16 0, i16 15517, i16 0, i16 0, i16 0, i16 16541, i16 15492, i16 0, i16 0, i16 158, i16 159, i16 0, i16 0, i16 12702, i16 16396, i16 16565, i16 0, i16 13726, i16 0, i16 15904, i16 0, i16 15006, i16 0, i16 0, i16 13595, i16 15518, i16 0, i16 0, i16 0, i16 927, i16 928, i16 929, i16 930, i16 13983, i16 0, i16 0, i16 0, i16 16287, i16 0, i16 0, i16 0, i16 17055, i16 0, i16 0, i16 0, i16 13472, i16 14810, i16 14523, i16 0, i16 15520, i16 15531, i16 15539, i16 15540, i16 16544, i16 0, i16 12913, i16 0, i16 161, i16 205, i16 0, i16 0, i16 417, i16 418, i16 419, i16 420, i16 673, i16 633, i16 634, i16 635, i16 13729, i16 14746, i16 0, i16 15579, i16 14497, i16 0, i16 0, i16 13296, i16 16545, i16 0, i16 0, i16 15030, i16 162, i16 154, i16 868, i16 869, i16 12450, i16 0, i16 0, i16 0, i16 13218, i16 16234, i16 0, i16 0, i16 13474, i16 0, i16 15986, i16 0, i16 931, i16 932, i16 933, i16 934, i16 12963, i16 16061, i16 0, i16 0, i16 13731, i16 14781, i16 15351, i16 0, i16 14243, i16 0, i16 0, i16 0, i16 17059, i16 15542, i16 13128, i16 0, i16 13476, i16 0, i16 0, i16 0, i16 13732, i16 0, i16 0, i16 15733, i16 15524, i16 0, i16 13441, i16 0, i16 16548, i16 16337, i16 0, i16 13756, i16 17060, i16 0, i16 0, i16 0, i16 421, i16 422, i16 423, i16 424, i16 12709, i16 0, i16 0, i16 0, i16 13733, i16 0, i16 0, i16 0, i16 13989, i16 0, i16 0, i16 0, i16 14501, i16 0, i16 0, i16 15771, i16 15013, i16 0, i16 13401, i16 13158, i16 15525, i16 0, i16 0, i16 0, i16 16805, i16 15459, i16 15096, i16 13761, i16 17061, i16 0, i16 14417, i16 0, i16 12966, i16 0, i16 15984, i16 0, i16 13734, i16 0, i16 13803, i16 13637, i16 14246, i16 0, i16 14315, i16 0, i16 16038, i16 0, i16 0, i16 14842, i16 16550, i16 12792, i16 0, i16 0, i16 17062, i16 0, i16 0, i16 15604, i16 167, i16 168, i16 218, i16 381, i16 935, i16 936, i16 937, i16 938, i16 13735, i16 0, i16 13742, i16 13171, i16 14759, i16 16681, i16 0, i16 13892, i16 15271, i16 15272, i16 14418, i16 0, i16 12968, i16 0, i16 14867, i16 0, i16 16040, i16 0, i16 16175, i16 0, i16 16552, i16 16563, i16 16665, i16 16686, i16 425, i16 426, i16 427, i16 428, i16 13225, i16 15942, i16 13512, i16 0, i16 13481, i16 0, i16 0, i16 0, i16 15017, i16 15018, i16 15020, i16 15021, i16 15785, i16 0, i16 0, i16 16662, i16 16297, i16 0, i16 0, i16 0, i16 12714, i16 0, i16 12438, i16 16242, i16 14250, i16 16679, i16 14694, i16 0, i16 15530, i16 15333, i16 0, i16 0, i16 16298, i16 15512, i16 0, i16 13777, i16 16554, i16 0, i16 0, i16 13450, i16 171, i16 0, i16 170, i16 0, i16 683, i16 676, i16 677, i16 678, i16 939, i16 940, i16 941, i16 942, i16 12459, i16 16235, i16 0, i16 0, i16 12715, i16 0, i16 0, i16 0, i16 12971, i16 0, i16 0, i16 0, i16 13227, i16 0, i16 0, i16 0, i16 15787, i16 0, i16 0, i16 0, i16 17067, i16 0, i16 0, i16 0, i16 172, i16 0, i16 0, i16 0, i16 12972, i16 0, i16 0, i16 15139, i16 13228, i16 0, i16 0, i16 0, i16 14508, i16 0, i16 13704, i16 0, i16 16044, i16 0, i16 0, i16 0, i16 16556, i16 0, i16 0, i16 0, i16 429, i16 430, i16 431, i16 432, i16 685, i16 0, i16 0, i16 686, i16 13485, i16 0, i16 0, i16 0, i16 13997, i16 0, i16 0, i16 0, i16 14509, i16 13175, i16 16316, i16 0, i16 15533, i16 0, i16 0, i16 0, i16 15789, i16 17036, i16 0, i16 0, i16 16045, i16 0, i16 16600, i16 0, i16 16301, i16 0, i16 15820, i16 12844, i16 12718, i16 16063, i16 12914, i16 14117, i16 12974, i16 0, i16 16705, i16 0, i16 13230, i16 0, i16 15623, i16 13677, i16 14766, i16 0, i16 0, i16 0, i16 15022, i16 0, i16 13436, i16 0, i16 15278, i16 0, i16 14272, i16 0, i16 16302, i16 14904, i16 16258, i16 16283, i16 16558, i16 16824, i16 0, i16 0, i16 943, i16 944, i16 945, i16 946, i16 14255, i16 16131, i16 0, i16 13355, i16 15791, i16 0, i16 0, i16 0, i16 16815, i16 0, i16 0, i16 0, i16 17071, i16 0, i16 0, i16 0, i16 13488, i16 0, i16 0, i16 0, i16 14768, i16 0, i16 14039, i16 0, i16 15024, i16 15039, i16 15041, i16 15046, i16 433, i16 434, i16 435, i16 436, i16 689, i16 684, i16 0, i16 0, i16 12465, i16 13274, i16 0, i16 13752, i16 12721, i16 16798, i16 14932, i16 0, i16 12977, i16 0, i16 12908, i16 0, i16 14257, i16 14133, i16 0, i16 0, i16 15025, i16 0, i16 0, i16 0, i16 16817, i16 12884, i16 0, i16 0, i16 12466, i16 16789, i16 12563, i16 13222, i16 13234, i16 0, i16 0, i16 0, i16 15794, i16 0, i16 0, i16 0, i16 947, i16 948, i16 949, i16 950, i16 12723, i16 0, i16 0, i16 0, i16 14771, i16 0, i16 13435, i16 0, i16 16051, i16 15890, i16 0, i16 0, i16 16819, i16 12329, i16 0, i16 17001, i16 692, i16 0, i16 0, i16 0, i16 12724, i16 0, i16 13132, i16 0, i16 15796, i16 0, i16 0, i16 0, i16 16308, i16 16502, i16 16504, i16 16536, i16 437, i16 438, i16 439, i16 440, i16 12725, i16 0, i16 0, i16 0, i16 13493, i16 0, i16 0, i16 0, i16 14005, i16 0, i16 0, i16 0, i16 15029, i16 0, i16 0, i16 0, i16 12726, i16 0, i16 15184, i16 0, i16 13238, i16 16154, i16 16911, i16 0, i16 14006, i16 0, i16 0, i16 0, i16 14774, i16 0, i16 0, i16 0, i16 15286, i16 0, i16 0, i16 0, i16 16822, i16 14980, i16 0, i16 0, i16 17078, i16 0, i16 0, i16 0, i16 951, i16 952, i16 953, i16 954, i16 12471, i16 0, i16 0, i16 12778, i16 13751, i16 0, i16 16204, i16 0, i16 14519, i16 0, i16 0, i16 0, i16 14775, i16 0, i16 0, i16 0, i16 15543, i16 15546, i16 15549, i16 15550, i16 12472, i16 16606, i16 14284, i16 0, i16 13240, i16 12549, i16 0, i16 13294, i16 15288, i16 0, i16 0, i16 0, i16 16056, i16 0, i16 0, i16 0, i16 441, i16 442, i16 443, i16 444, i16 12473, i16 0, i16 0, i16 0, i16 14521, i16 14717, i16 14727, i16 14735, i16 15289, i16 12888, i16 0, i16 16378, i16 16313, i16 13827, i16 0, i16 14976, i16 16569, i16 16206, i16 0, i16 0, i16 698, i16 0, i16 0, i16 0, i16 14266, i16 0, i16 0, i16 0, i16 14778, i16 0, i16 0, i16 0, i16 16058, i16 0, i16 0, i16 0, i16 955, i16 956, i16 957, i16 958, i16 14267, i16 0, i16 0, i16 0, i16 12988, i16 0, i16 0, i16 0, i16 14268, i16 0, i16 13468, i16 0, i16 15036, i16 0, i16 0, i16 0, i16 16572, i16 14518, i16 12691, i16 13239, i16 189, i16 188, i16 0, i16 253, i16 445, i16 446, i16 447, i16 448, i16 12477, i16 15331, i16 0, i16 0, i16 13245, i16 0, i16 0, i16 0, i16 13757, i16 0, i16 0, i16 14374, i16 14525, i16 0, i16 13038, i16 0, i16 16317, i16 0, i16 0, i16 0, i16 17085, i16 0, i16 15086, i16 0, i16 15038, i16 0, i16 17064, i16 0, i16 15806, i16 0, i16 0, i16 0, i16 16574, i16 0, i16 0, i16 0, i16 14783, i16 0, i16 0, i16 0, i16 15551, i16 15803, i16 0, i16 16468, i16 704, i16 705, i16 706, i16 707, i16 13248, i16 14745, i16 0, i16 15254, i16 13504, i16 0, i16 0, i16 0, i16 14016, i16 15498, i16 16826, i16 0, i16 15808, i16 0, i16 12581, i16 0, i16 16320, i16 0, i16 0, i16 0, i16 16576, i16 0, i16 0, i16 0, i16 193, i16 192, i16 0, i16 0, i16 449, i16 450, i16 451, i16 452, i16 12481, i16 15674, i16 0, i16 0, i16 12737, i16 0, i16 0, i16 16125, i16 12993, i16 12996, i16 12999, i16 13000, i16 13505, i16 12448, i16 0, i16 16713, i16 15297, i16 15282, i16 16915, i16 0, i16 16321, i16 0, i16 0, i16 0, i16 17089, i16 0, i16 0, i16 0, i16 962, i16 963, i16 964, i16 965, i16 12482, i16 0, i16 0, i16 0, i16 12994, i16 0, i16 0, i16 14948, i16 13250, i16 0, i16 17056, i16 0, i16 15042, i16 0, i16 0, i16 0, i16 16322, i16 0, i16 0, i16 0, i16 195, i16 196, i16 194, i16 197, i16 12483, i16 16508, i16 13428, i16 13090, i16 14019, i16 15663, i16 0, i16 14242, i16 15043, i16 0, i16 15522, i16 0, i16 15299, i16 14752, i16 16138, i16 12614, i16 15811, i16 0, i16 0, i16 0, i16 708, i16 709, i16 710, i16 711, i16 12484, i16 0, i16 13845, i16 0, i16 13508, i16 12695, i16 0, i16 0, i16 453, i16 454, i16 455, i16 456, i16 13253, i16 0, i16 0, i16 0, i16 13765, i16 0, i16 0, i16 12940, i16 14021, i16 0, i16 0, i16 0, i16 14789, i16 0, i16 12336, i16 0, i16 15557, i16 0, i16 0, i16 0, i16 16069, i16 0, i16 14166, i16 0, i16 198, i16 271, i16 274, i16 272, i16 966, i16 967, i16 968, i16 969, i16 12486, i16 15292, i16 0, i16 0, i16 14022, i16 12548, i16 0, i16 0, i16 14534, i16 14770, i16 0, i16 14512, i16 14790, i16 0, i16 0, i16 0, i16 15558, i16 0, i16 0, i16 0, i16 16070, i16 15545, i16 0, i16 0, i16 13255, i16 0, i16 0, i16 0, i16 15047, i16 15051, i16 15053, i16 15055, i16 16071, i16 16132, i16 16153, i16 16237, i16 712, i16 713, i16 714, i16 715, i16 14280, i16 0, i16 15295, i16 0, i16 14536, i16 0, i16 0, i16 0, i16 16072, i16 16419, i16 0, i16 15427, i16 17096, i16 0, i16 0, i16 0, i16 457, i16 458, i16 459, i16 460, i16 12489, i16 0, i16 0, i16 13963, i16 13001, i16 13002, i16 13003, i16 13004, i16 14025, i16 0, i16 0, i16 0, i16 14793, i16 16370, i16 0, i16 0, i16 15049, i16 0, i16 14621, i16 15073, i16 15561, i16 0, i16 0, i16 15636, i16 16585, i16 0, i16 0, i16 16785, i16 970, i16 971, i16 972, i16 973, i16 12490, i16 0, i16 0, i16 0, i16 12746, i16 13990, i16 0, i16 0, i16 14026, i16 0, i16 13980, i16 0, i16 15818, i16 15722, i16 0, i16 14075, i16 17098, i16 0, i16 0, i16 0, i16 14795, i16 0, i16 0, i16 0, i16 15307, i16 0, i16 0, i16 0, i16 15819, i16 0, i16 0, i16 15927, i16 16075, i16 0, i16 0, i16 0, i16 716, i16 717, i16 718, i16 719, i16 14796, i16 0, i16 16022, i16 0, i16 15052, i16 0, i16 13418, i16 12665, i16 16844, i16 0, i16 0, i16 0, i16 461, i16 462, i16 463, i16 464, i16 13261, i16 0, i16 0, i16 0, i16 14541, i16 13220, i16 0, i16 0, i16 15309, i16 0, i16 12712, i16 0, i16 15565, i16 15566, i16 15568, i16 15573, i16 15821, i16 0, i16 16052, i16 0, i16 17101, i16 0, i16 0, i16 0, i16 974, i16 975, i16 976, i16 977, i16 13006, i16 13007, i16 13008, i16 13009, i16 13518, i16 0, i16 0, i16 14415, i16 14542, i16 0, i16 0, i16 0, i16 16078, i16 14393, i16 0, i16 0, i16 207, i16 0, i16 235, i16 0, i16 12495, i16 0, i16 0, i16 16950, i16 13519, i16 0, i16 0, i16 0, i16 15311, i16 0, i16 14830, i16 14282, i16 15567, i16 0, i16 0, i16 16619, i16 15823, i16 0, i16 0, i16 16027, i16 16847, i16 0, i16 0, i16 14496, i16 17103, i16 17115, i16 0, i16 0, i16 208, i16 0, i16 0, i16 209, i16 720, i16 721, i16 722, i16 723, i16 14544, i16 0, i16 0, i16 0, i16 15056, i16 15059, i16 15071, i16 15076, i16 16336, i16 0, i16 0, i16 0, i16 16592, i16 15685, i16 0, i16 0, i16 16848, i16 0, i16 13214, i16 0, i16 17104, i16 14273, i16 14711, i16 0, i16 465, i16 466, i16 467, i16 468, i16 12753, i16 14734, i16 0, i16 16252, i16 14033, i16 0, i16 0, i16 15601, i16 16081, i16 0, i16 0, i16 0, i16 978, i16 979, i16 980, i16 981, i16 13010, i16 13012, i16 13013, i16 13014, i16 15826, i16 16028, i16 12772, i16 0, i16 16594, i16 0, i16 0, i16 0, i16 16850, i16 0, i16 16189, i16 0, i16 17106, i16 0, i16 0, i16 12294, i16 14547, i16 0, i16 0, i16 14190, i16 15315, i16 0, i16 0, i16 0, i16 15827, i16 0, i16 0, i16 12830, i16 724, i16 725, i16 726, i16 727, i16 12500, i16 0, i16 0, i16 16134, i16 13524, i16 0, i16 0, i16 0, i16 13780, i16 13256, i16 0, i16 0, i16 14804, i16 16701, i16 0, i16 0, i16 15060, i16 0, i16 12324, i16 0, i16 15316, i16 0, i16 15341, i16 0, i16 15572, i16 0, i16 0, i16 14646, i16 15828, i16 0, i16 13541, i16 15450, i16 469, i16 470, i16 471, i16 472, i16 12501, i16 0, i16 0, i16 0, i16 12757, i16 0, i16 0, i16 14292, i16 13269, i16 0, i16 0, i16 0, i16 13781, i16 0, i16 0, i16 13202, i16 14293, i16 0, i16 0, i16 14850, i16 982, i16 983, i16 984, i16 985, i16 13526, i16 12773, i16 0, i16 13700, i16 15574, i16 15575, i16 15650, i16 15725, i16 16854, i16 0, i16 15593, i16 14511, i16 13015, i16 13017, i16 13019, i16 13020, i16 14295, i16 0, i16 0, i16 0, i16 16599, i16 13986, i16 0, i16 0, i16 728, i16 729, i16 730, i16 731, i16 12504, i16 0, i16 0, i16 0, i16 13272, i16 13695, i16 17084, i16 13561, i16 14040, i16 16182, i16 16408, i16 0, i16 14296, i16 0, i16 0, i16 0, i16 14552, i16 0, i16 13151, i16 16838, i16 217, i16 215, i16 214, i16 206, i16 473, i16 474, i16 475, i16 0, i16 13529, i16 0, i16 15231, i16 0, i16 16089, i16 0, i16 16543, i16 0, i16 986, i16 987, i16 988, i16 989, i16 12762, i16 0, i16 0, i16 12667, i16 14042, i16 0, i16 14899, i16 0, i16 14298, i16 0, i16 0, i16 0, i16 15322, i16 14491, i16 0, i16 12496, i16 16602, i16 0, i16 0, i16 0, i16 12763, i16 0, i16 0, i16 15467, i16 13275, i16 14301, i16 0, i16 17006, i16 13531, i16 0, i16 14555, i16 0, i16 220, i16 0, i16 0, i16 0, i16 476, i16 477, i16 478, i16 479, i16 732, i16 733, i16 734, i16 735, i16 12764, i16 15934, i16 0, i16 16323, i16 14812, i16 12878, i16 0, i16 15877, i16 15580, i16 14196, i16 16484, i16 15632, i16 221, i16 0, i16 175, i16 222, i16 12509, i16 0, i16 0, i16 0, i16 13533, i16 0, i16 0, i16 0, i16 14557, i16 14233, i16 0, i16 0, i16 14813, i16 0, i16 0, i16 0, i16 15325, i16 0, i16 15780, i16 0, i16 16093, i16 16897, i16 13603, i16 0, i16 16349, i16 0, i16 14054, i16 14713, i16 990, i16 991, i16 992, i16 993, i16 12510, i16 15805, i16 13369, i16 0, i16 12766, i16 0, i16 0, i16 0, i16 13022, i16 13026, i16 13030, i16 13032, i16 13278, i16 14015, i16 13585, i16 0, i16 14046, i16 0, i16 0, i16 0, i16 14814, i16 0, i16 0, i16 0, i16 15582, i16 0, i16 0, i16 16043, i16 16350, i16 0, i16 0, i16 0, i16 223, i16 0, i16 268, i16 128, i16 13279, i16 15703, i16 16122, i16 0, i16 14303, i16 0, i16 0, i16 13160, i16 14815, i16 0, i16 0, i16 14647, i16 15327, i16 15373, i16 0, i16 14127, i16 16351, i16 0, i16 14211, i16 0, i16 480, i16 481, i16 482, i16 483, i16 736, i16 737, i16 738, i16 739, i16 13792, i16 0, i16 0, i16 14426, i16 15072, i16 15398, i16 0, i16 0, i16 12769, i16 0, i16 0, i16 0, i16 13537, i16 0, i16 0, i16 0, i16 14305, i16 0, i16 0, i16 0, i16 15585, i16 16868, i16 0, i16 0, i16 226, i16 229, i16 228, i16 231, i16 994, i16 995, i16 996, i16 997, i16 13282, i16 0, i16 0, i16 0, i16 14306, i16 0, i16 12700, i16 0, i16 14562, i16 15395, i16 0, i16 0, i16 16354, i16 0, i16 14249, i16 0, i16 16610, i16 0, i16 0, i16 13023, i16 12771, i16 0, i16 0, i16 0, i16 14307, i16 0, i16 0, i16 0, i16 15587, i16 17070, i16 0, i16 13673, i16 484, i16 485, i16 0, i16 0, i16 740, i16 741, i16 742, i16 743, i16 13028, i16 15378, i16 15379, i16 13805, i16 16612, i16 0, i16 14204, i16 16080, i16 13285, i16 0, i16 0, i16 0, i16 14053, i16 0, i16 13415, i16 0, i16 15589, i16 0, i16 12505, i16 16542, i16 16869, i16 0, i16 12780, i16 0, i16 17125, i16 16445, i16 0, i16 0, i16 230, i16 867, i16 700, i16 0, i16 486, i16 487, i16 488, i16 489, i16 998, i16 999, i16 1000, i16 1001, i16 12518, i16 0, i16 0, i16 0, i16 12774, i16 0, i16 0, i16 0, i16 13542, i16 0, i16 12967, i16 16522, i16 14310, i16 17148, i16 0, i16 0, i16 14822, i16 0, i16 0, i16 0, i16 15078, i16 15095, i16 15173, i16 15174, i16 16358, i16 0, i16 0, i16 13564, i16 16870, i16 0, i16 0, i16 0, i16 13287, i16 0, i16 12943, i16 14498, i16 14567, i16 0, i16 0, i16 0, i16 15335, i16 0, i16 0, i16 0, i16 17127, i16 15461, i16 13470, i16 0, i16 744, i16 745, i16 746, i16 747, i16 14312, i16 0, i16 0, i16 0, i16 15080, i16 15157, i16 13874, i16 13265, i16 16360, i16 0, i16 0, i16 0, i16 16872, i16 0, i16 0, i16 0, i16 13033, i16 13034, i16 13036, i16 13037, i16 13289, i16 12536, i16 0, i16 16564, i16 13545, i16 0, i16 0, i16 15443, i16 13801, i16 0, i16 13620, i16 0, i16 15081, i16 15804, i16 0, i16 0, i16 15849, i16 0, i16 0, i16 0, i16 16617, i16 0, i16 0, i16 0, i16 16873, i16 14697, i16 0, i16 0, i16 234, i16 0, i16 0, i16 0, i16 490, i16 491, i16 492, i16 493, i16 1002, i16 1003, i16 1004, i16 1005, i16 15338, i16 0, i16 0, i16 0, i16 16362, i16 0, i16 14446, i16 15234, i16 16874, i16 0, i16 0, i16 13025, i16 17130, i16 0, i16 0, i16 0, i16 12523, i16 0, i16 13760, i16 0, i16 14059, i16 14375, i16 0, i16 0, i16 14571, i16 0, i16 12662, i16 0, i16 15339, i16 14340, i16 0, i16 0, i16 15851, i16 0, i16 0, i16 16883, i16 748, i16 749, i16 750, i16 751, i16 14316, i16 0, i16 16739, i16 0, i16 14572, i16 0, i16 16192, i16 14871, i16 14828, i16 0, i16 0, i16 0, i16 15852, i16 12976, i16 15777, i16 0, i16 17132, i16 0, i16 0, i16 0, i16 12525, i16 14854, i16 0, i16 0, i16 14573, i16 14036, i16 0, i16 14037, i16 15085, i16 17109, i16 13852, i16 0, i16 16109, i16 15216, i16 13094, i16 0, i16 238, i16 0, i16 0, i16 179, i16 494, i16 495, i16 0, i16 0, i16 1006, i16 1007, i16 1008, i16 1009, i16 13806, i16 15676, i16 16961, i16 0, i16 16366, i16 15218, i16 0, i16 0, i16 12783, i16 0, i16 15396, i16 0, i16 13551, i16 15458, i16 17151, i16 0, i16 13807, i16 0, i16 0, i16 0, i16 14831, i16 0, i16 0, i16 0, i16 15855, i16 0, i16 14172, i16 0, i16 16367, i16 0, i16 14806, i16 12387, i16 240, i16 0, i16 163, i16 164, i16 752, i16 753, i16 754, i16 755, i16 12528, i16 0, i16 0, i16 12349, i16 13040, i16 0, i16 0, i16 15092, i16 13552, i16 13270, i16 0, i16 0, i16 14576, i16 0, i16 0, i16 0, i16 15600, i16 0, i16 0, i16 13650, i16 16368, i16 0, i16 0, i16 17051, i16 17136, i16 15591, i16 12699, i16 0, i16 13041, i16 13042, i16 13043, i16 13044, i16 13297, i16 0, i16 14164, i16 0, i16 14065, i16 0, i16 0, i16 0, i16 14321, i16 14328, i16 14431, i16 14457, i16 16369, i16 0, i16 16030, i16 16833, i16 16625, i16 0, i16 0, i16 0, i16 242, i16 241, i16 0, i16 0, i16 1010, i16 1011, i16 1012, i16 1013, i16 13554, i16 0, i16 0, i16 16702, i16 14066, i16 0, i16 0, i16 0, i16 14834, i16 14837, i16 14838, i16 14845, i16 499, i16 500, i16 501, i16 502, i16 16115, i16 0, i16 13362, i16 0, i16 16371, i16 14903, i16 15888, i16 0, i16 756, i16 757, i16 0, i16 0, i16 15860, i16 0, i16 0, i16 0, i16 16884, i16 0, i16 0, i16 0, i16 245, i16 248, i16 0, i16 249, i16 12789, i16 14319, i16 0, i16 0, i16 13045, i16 13047, i16 13052, i16 13064, i16 14581, i16 0, i16 16841, i16 0, i16 15093, i16 15181, i16 14721, i16 13061, i16 15605, i16 15130, i16 15715, i16 0, i16 15861, i16 0, i16 0, i16 14946, i16 16373, i16 15027, i16 0, i16 0, i16 16885, i16 0, i16 0, i16 16823, i16 246, i16 247, i16 0, i16 250, i16 758, i16 759, i16 760, i16 761, i16 1014, i16 1015, i16 1016, i16 1017, i16 12790, i16 0, i16 0, i16 0, i16 15350, i16 13930, i16 0, i16 0, i16 15606, i16 0, i16 0, i16 0, i16 16886, i16 16410, i16 15882, i16 17128, i16 17142, i16 16149, i16 0, i16 17135, i16 503, i16 504, i16 505, i16 506, i16 13815, i16 0, i16 0, i16 0, i16 14071, i16 0, i16 0, i16 0, i16 14583, i16 0, i16 0, i16 0, i16 14839, i16 16973, i16 15261, i16 17140, i16 13560, i16 0, i16 17083, i16 0, i16 14072, i16 0, i16 0, i16 0, i16 14584, i16 0, i16 15281, i16 0, i16 15608, i16 0, i16 0, i16 0, i16 15864, i16 16748, i16 0, i16 0, i16 16632, i16 15150, i16 0, i16 0, i16 12537, i16 0, i16 0, i16 14973, i16 12793, i16 14630, i16 15850, i16 0, i16 13049, i16 14043, i16 0, i16 0, i16 13305, i16 13263, i16 0, i16 0, i16 15865, i16 0, i16 0, i16 0, i16 17145, i16 16421, i16 0, i16 13784, i16 762, i16 763, i16 764, i16 765, i16 1018, i16 1019, i16 1020, i16 1021, i16 12538, i16 0, i16 0, i16 12960, i16 13050, i16 15974, i16 0, i16 13523, i16 15610, i16 0, i16 0, i16 0, i16 17146, i16 0, i16 0, i16 0, i16 507, i16 508, i16 509, i16 510, i16 13051, i16 0, i16 0, i16 0, i16 15099, i16 17005, i16 17050, i16 16925, i16 15611, i16 15678, i16 0, i16 0, i16 252, i16 0, i16 0, i16 183, i16 13308, i16 14843, i16 0, i16 0, i16 14332, i16 14758, i16 0, i16 0, i16 14588, i16 0, i16 16420, i16 14528, i16 15612, i16 15795, i16 0, i16 0, i16 13309, i16 0, i16 0, i16 0, i16 15869, i16 13439, i16 0, i16 0, i16 16381, i16 0, i16 0, i16 0, i16 16893, i16 14522, i16 0, i16 0, i16 17149, i16 0, i16 12785, i16 0, i16 254, i16 255, i16 0, i16 0, i16 766, i16 767, i16 768, i16 769, i16 1022, i16 1023, i16 1024, i16 1025, i16 13054, i16 0, i16 0, i16 13994, i16 13566, i16 0, i16 0, i16 0, i16 13822, i16 13259, i16 0, i16 15098, i16 511, i16 512, i16 0, i16 513, i16 12287, i16 0, i16 0, i16 13421, i16 12799, i16 0, i16 0, i16 0, i16 13311, i16 0, i16 0, i16 0, i16 13567, i16 0, i16 14077, i16 0, i16 14335, i16 12521, i16 13217, i16 0, i16 14591, i16 15619, i16 0, i16 0, i16 14847, i16 14848, i16 14856, i16 14866], [6 x i8] c"\0A\03\162\00\04", [24 x i64] [i64 48508, i64 48528, i64 48548, i64 14648, i64 48588, i64 48634, i64 48640, i64 14699, i64 48670, i64 52564, i64 52608, i64 14727, i64 53422, i64 61672, i64 61772, i64 16373, i64 0, i64 0, i64 0, i64 0, i64 68630, i64 69002, i64 69010, i64 44726], [2826 x i8] c"\00\00\01\00\00\00\00\00\00\01\00\08\00\01\01\01e\01\01\02\02\00\01\01\01e\01\02\00\02\00\02\02\02d\02\03\00\12\00\02\03\03c\03\03\02\02\00\02\04\04c\04\04\00\12\00\02\05\05b\03\04\02\02\00\02\06\06b\04\05\00\12\00\02\07\05a\03\05\02\02\00\02\08\06a\04\06\00\12\00\02\09\05`\03\06\02\02\00\02\0A\06`\04\07\00\02\00\03\0B\07_\05\08\00\12\00\02\0C\05^\03\08\02\02\00\02\0D\06^\04\09\00\12\00\02\0E\08]\03\09\02\02\00\02\0F\09]\04\0A\00\12\00\02\10\05\\\03\0A\02\02\00\02\11\06\\\04\0B\00\12\00\02\12\08[\03\0B\02\02\00\02\13\09[\04\0C\00\12\00\02\14\05Z\03\0C\02\02\00\02\15\06Z\04\0D\00\12\00\02\16\05Y\03\0D\02\02\00\02\17\06Y\04\0E\00\12\00\02\18\05X\03\0E\02\02\00\02\19\06X\04\0F\00\12\00\02\1A\05W\03\0F\02\02\00\02\1B\06W\04\10\00\12\00\00\1C\0A\8E\06\10\02\02\00\00\1D\0B\8E\07\11\00\12\00\02\1E\05V\03\11\02\02\00\02\1F\06V\04\12\00\12\00\02 \0CU\03\12\02\02\00\02!\0DU\04\13\00\12\00\02\22\05T\08\13\02\02\00\02#\06T\09\14\00\12\00\02$\05S\08\14\02\02\00\02%\06S\09\15\00\15\00\01&\0ER\0A\15\02\02\00\01&\0FR\0B\16\00\05\00\01'\10Q\0C\16\02\02\00\01(\11Q\0D\17\00\05\00\04)\12P\0E\17\02\02\00\04*\13P\0F\18\00\02\00\02+\14O\10\19\00\02\00\03,\15N\11\1A\00\08\00\05-\16M\12\1A\02\02\00\05.\16M\12\1B\00\0E\00\05/\17L\13\1B\02\02\00\05/\18L\13\1C\00\08\00\050\19\8B\14\1C\02\02\00\051\1A\8B\14\1D\00\0C\00\052\19\8B\14\1D\02\02\00\051\1A\8B\14\1E\00\0E\00\063\1B\8C\15\1E\02\02\00\074\1C\8C\15\1F\00\0B\00\025\1DK\16\1F\02\02\00\026\1DK\16 \00\08\00\017\1E\8A\17 \02\02\00\017\1F\8A\17!\00\08\00\058 J\18!\02\02\00\059!J\18\22\00\0C\00\05: J\18\22\02\02\00\059!J\18#\00\08\00\01;\22I\18#\02\02\00\01<#I\18$\00\0C\00\01=\22I\18$\02\02\00\01<#I\18%\00\08\00\08>$H\18%\02\02\00\08>%H\18&\00\08\00\01?$G\18&\02\02\00\01@%G\18'\00\0C\00\01A$G\18'\02\02\00\01@%G\18(\00\08\00\01;\22F\18(\02\02\00\01<#F\18)\00\0C\00\01=\22F\18)\02\02\00\01<#F\18*\00\13\00\09B&E\19*\02\02\00\09C'E\1A+\00\08\00\02D(D\02+\02\02\00\02D(D\02,\00\08\00\02E)C\1B,\02\02\00\02E)C\1B-\00\08\00\02F*\89\1C-\02\02\00\02F*\89\1C.\00\08\00\01G+B\1D.\02\02\00\01H+B\1D/\00\08\00\025)A\02/\02\02\00\026)A\020\00\08\00\02I,@\1E0\02\02\00\02I,@\1E1\00\08\00\02J)?\021\02\02\00\02K)?\022\00\0C\00\02L)?\022\02\02\00\02K)?\023\00\02\00\03\0B->\1E4\00\08\00\02M)=\024\02\02\00\02M)=\025\00\08\00\02N.<\1E5\02\02\00\02N.<\1E6\00\08\00\02O/;\1E6\02\02\00\02O/;\1E7\00\08\00\02P0:\027\02\02\00\02P0:\028\00\08\00\02Q)9\1B8\02\02\00\02Q)9\1B9\00\08\00\02R)8\1B9\02\02\00\02R)8\1B:\02\02\00\05S17\1F;\00\08\00\01T2\88 ;\02\02\00\01T3\88 <\00\08\00\05U2\87 <\02\02\00\05U3\87 =\00\08\00\05V2\86 =\02\02\00\05V3\86 >\00\08\00\05W2\85 >\02\02\00\05W3\85 ?\00\08\00\00X2\84 ?\02\02\00\00X3\84 @\00\08\00\00Y2\83 @\02\02\00\00Y3\83 A\00\08\00\05Z2\82 A\02\02\00\05Z3\82 B\00\08\00\05[2\81 B\02\02\00\05\\3\81 C\00\0C\00\05]2\81 C\02\02\00\05\\3\81 D\00\08\00\00^2\80 D\02\02\00\00^3\80 E\00\08\00\00_2\7F E\02\02\00\00_3\7F F\00\08\00\00`2~ F\02\02\00\00`3~ G\00\08\00\00a2} G\02\02\00\00a3} H\00\08\00\00b2| H\02\02\00\00b3| I\00\08\00\00c2{ I\02\02\00\00c3{ J\00\08\00\00d2z J\02\02\00\00d3z K\00\08\00\05e2y K\02\02\00\05e3y L\00\08\00\00f2x L\02\02\00\00g3x M\00\08\00\02P2w M\02\02\00\02P3w N\00\08\00\05h2v N\02\02\00\05h3v O\00\08\00\05i2u O\02\02\00\05i3u P\00\08\00\06j4t!P\02\02\00\07k5t!Q\00\08\00\05l66\22Q\02\02\00\05m66\22R\00\0C\00\05n66\22R\02\02\00\05m66\22S\02\02\01\0Ao75#S\00\02\01\0Ao75#T\00\08\00\01p8s$T\02\02\00\01q9s$U\00\0C\00\01r8s$U\02\02\00\01q9s$V\00\08\00\017:r%V\02\02\00\017;r%W\00\08\00\09?<4&W\02\02\00\09@=4&X\00\0C\00\09A<4&X\02\02\00\09@=4&Y\00\08\00\0Bs>q'Y\02\02\00\0Bs?q'Z\00\08\00\05>@3(Z\02\02\00\05>A3([\00\08\00\05-B2'[\02\02\00\05.C2'\\\00\0C\00\05tB2'\\\02\02\00\05.C2']\00\08\00\05-B1']\02\02\00\05.C1'^\00\0C\00\05tB1'^\02\02\00\05.C1'_\00\08\00\02JD0)_\02\02\00\02KE0)`\00\0C\00\02LD0)`\02\02\00\02KE0)a\00\0C\00\025F/\1Ba\02\02\00\026G/\1Bb\00\08\00\05lHp b\02\02\00\05mIp c\00\0C\00\05nHp c\02\02\00\05mIp d\00\08\00\025J.\1Bd\02\02\00\026J.\1Be\00\14\00\02uK-*e\02\02\00\02vL-+f\02\02\00\02wM,\02f\00\02\00\02wM,\02g\00\0E\00\05xNo,g\02\02\00\05xOo,h\00\0E\00\01yP+-h\02\02\00\01yQ+-i\00\03\00\02zR*.i\02\02\00\02{S*\10j\00\08\00\01|T)/j\02\02\00\01|T)/k\00\08\00\01}Un\18k\02\02\00\01}Vn\18l\00\08\00\0C>W(0l\02\02\00\0C>X(0m\00\08\00\05lY' m\02\02\00\05mZ' n\00\0C\00\05nY' n\02\02\00\05mZ' o\00\14\00\02uK&*o\02\02\00\02vL&+p\02\02\00\02~[\901q\00\07\00\01\7F\\%2q\02\02\00\01\80]%3r\00\08\00\017^m4r\02\02\00\017^m4s\02\02\00\02\81_\915t\00\08\00\025`$6t\02\02\00\026`$6u\00\0A\00\01\82al7u\02\02\00\01\82bl7v\00\0A\00\06\83ck%v\02\02\00\07\84dk%w\00\0A\00\02Me#8w\02\02\00\02Mf#9x\00\11\00\0D\85g\22:x\02\02\00\0D\86h\22;y\02\02\00\02\87i!\82\02\02\00\05.s\1B>\83\00\0E\00\05\90ti?\83\02\02\00\05\91ui?\84\00\08\00\05\92v\1A@\84\02\02\00\05\92w\1A@\85\00\08\00\05\93x\19@\85\02\02\00\05\94y\19@\86\00\0C\00\05\95x\19@\86\02\02\00\05\94y\19@\87\00\0E\00\05\96z\18A\87\02\02\00\05\96{\18A\88\16\16\00\01\97|\17B\88\00\11\00\01\98}\17C\88\02\02\00\01\99~\17\0D\89\00\18\00\01\9A\7F\16D\89\02\02\00\01\9B\80\16E\8A\00\02\00\01\9C\81\15F\8B\00\0E\00\06\9D\82\8DG\8B\02\02\00\07\9E\83\8DH\8C\00\0E\00\0B\9F\84hI\8C\02\02\00\0B\9F\85hI\8D\00\08\00\01\A0\86\14\02\8D\02\02\00\01\A0\87\14\02\8E\00\0E\00\05\A1\88\13J\8E\02\02\00\05\A1\89\13J\8F\00\11\00\05\A2\8A\13K\8F\02\02\00\05\A3\8B\13E\90\00\08\00\01p\8Cg\18\90\02\02\00\01q\8Dg\18\91\00\0C\00\01r\8Cg\18\91\02\02\00\01q\8Dg\18\92\00\08\00\0D\A4\8C\12\18\92\02\02\00\0D\A4\8D\12\18\93\00\02\00\03\0B\8E\11L\94\00\02\00\0E\A5\8F\10M\95\00\17\00\01\97|\0FN\95\02\02\00\01\99~\0FO\96\00\19\00\02\A6\90\8FP\96\02\02\00\02\A7\91\8FQ\97\00\02\00\02\A8\92\0E\02\98\00\02\00\02\02\93\0D\02\99\00\08\00\02\A9\94\0C\02\99\02\02\00\02\A9\94\0C\02\9A\00\15\00\00\AA\95fR\9A\02\02\00\00\AA\96fS\9B\02\02\00\01\99\97\0BT\9C\00\18\00\01\9A\98\0AU\9C\02\02\00\01\9B\99\0AV\9D\00\02\00\02\AB\9A\09W\9E\00\08\00\02\AC\9B\08X\9E\02\02\00\02\AC\9B\08X\9F\02\02\00\01\AD\9C\07\02\9F\00\02\00\01\AD\9C\07\02\A0\00\08\00\09?\9D\06Y\A0\02\02\00\09@\9E\06Y\A1\00\0C\00\09A\9D\06Y\A2\00\06\00\02\AE\9F\05Z\A2\02\02\00\02\AE\A0\05[\A3\02\02\00\02\AF\A1\04\\\A4\02\02\00\02I\A2\03\\\A5\00\02\00\02O\A3\02\1E\A6\02\02\00\02\B0\A4\01\\", [835 x i8] c"af_ZAam_ETar_AEar_BHar_DZar_EGar_INar_IQar_JOar_KWar_LBar_LYar_MAar_OMar_QAar_SAar_SDar_SYar_TNar_YEaz_AZbe_BYbg_BGbn_BDbn_INbr_FRbs_BAca_EScaeEScs_CZcy_GBda_DKde_ATdeeATde_BEdeeBEde_CHde_DEdeeDEde_LUdeeLUel_GRen_AUen_BWen_CAen_DKen_GBen_HKen_IEeneIEen_INen_NZen_PHen_SGen_USen_ZAen_ZWeo_EOes_ARes_BOes_CLes_COes_CRes_DOes_ECes_ESeseESes_GTes_HNes_MXes_NIes_PAes_PEes_PRes_PYes_SVes_USes_UYes_VEet_EEeu_ESeueESfa_IRfi_FIfieFIfo_FOfr_BEfreBEfr_CAfr_CHfr_FRfreFRfr_LUfreLUga_IEgaeIEgd_GBgl_ESgleESgv_GBhe_ILhi_INhr_HRhu_HUhy_AMid_IDis_ISit_CHit_ITiteITiw_ILja_JPka_GEkl_GLko_KRkw_GBlt_LTlv_LVmi_NZmk_MKmr_INms_MYmt_MTnl_BEnleBEnl_NLnleNLnn_NOno_NOoc_FRpl_PLpt_BRpt_PTptePTro_ROru_RUru_UAse_NOsk_SKsl_SIsq_ALsr_YUsrcYUsv_FIsveFIsv_SEta_INte_INtg_TJth_THti_ERti_ETtl_PHtr_TRtt_RUuk_UAur_PKuz_UZvi_VNwa_BEwaeBEyi_USzh_CNzh_HKzh_SGzh_TW\00\00\00\00\00", [18 x i8] c"\05eeuro\00\09ccyrillic\00", [69 x i8] c"\06\0F\1A&.9LC_CTYPE\00LC_NUMERIC\00LC_MONETARY\00LC_TIME\00LC_COLLATE\00LC_MESSAGES\00", [255 x i8] c"\18\22(/6BMYeq}\89\94\9F\AA\B5\C0\CB\D6\E1\E8\EF\F6\00ARMSCII-8\00ASCII\00CP1251\00CP1255\00GEORGIAN-PS\00ISO-8859-1\00ISO-8859-10\00ISO-8859-13\00ISO-8859-14\00ISO-8859-15\00ISO-8859-16\00ISO-8859-2\00ISO-8859-3\00ISO-8859-4\00ISO-8859-5\00ISO-8859-6\00ISO-8859-7\00ISO-8859-8\00ISO-8859-9\00KOI8-R\00KOI8-T\00KOI8-U\00TIS-620\00\00" }, align 8 +@__C_ctype_b_data = constant <{ [256 x i16], [128 x i16] }> <{ [256 x i16] [i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 8195, i16 8194, i16 8194, i16 8194, i16 8194, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 24577, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -11000, i16 -11000, i16 -11000, i16 -11000, i16 -11000, i16 -11000, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -10744, i16 -10744, i16 -10744, i16 -10744, i16 -10744, i16 -10744, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 2], [128 x i16] zeroinitializer }>, align 16 +@__C_ctype_b = global i16* bitcast (i8* getelementptr (i8, i8* bitcast (<{ [256 x i16], [128 x i16] }>* @__C_ctype_b_data to i8*), i64 256) to i16*), align 8 +@__C_ctype_tolower_data = constant [384 x i16] [i16 -128, i16 -127, i16 -126, i16 -125, i16 -124, i16 -123, i16 -122, i16 -121, i16 -120, i16 -119, i16 -118, i16 -117, i16 -116, i16 -115, i16 -114, i16 -113, i16 -112, i16 -111, i16 -110, i16 -109, i16 -108, i16 -107, i16 -106, i16 -105, i16 -104, i16 -103, i16 -102, i16 -101, i16 -100, i16 -99, i16 -98, i16 -97, i16 -96, i16 -95, i16 -94, i16 -93, i16 -92, i16 -91, i16 -90, i16 -89, i16 -88, i16 -87, i16 -86, i16 -85, i16 -84, i16 -83, i16 -82, i16 -81, i16 -80, i16 -79, i16 -78, i16 -77, i16 -76, i16 -75, i16 -74, i16 -73, i16 -72, i16 -71, i16 -70, i16 -69, i16 -68, i16 -67, i16 -66, i16 -65, i16 -64, i16 -63, i16 -62, i16 -61, i16 -60, i16 -59, i16 -58, i16 -57, i16 -56, i16 -55, i16 -54, i16 -53, i16 -52, i16 -51, i16 -50, i16 -49, i16 -48, i16 -47, i16 -46, i16 -45, i16 -44, i16 -43, i16 -42, i16 -41, i16 -40, i16 -39, i16 -38, i16 -37, i16 -36, i16 -35, i16 -34, i16 -33, i16 -32, i16 -31, i16 -30, i16 -29, i16 -28, i16 -27, i16 -26, i16 -25, i16 -24, i16 -23, i16 -22, i16 -21, i16 -20, i16 -19, i16 -18, i16 -17, i16 -16, i16 -15, i16 -14, i16 -13, i16 -12, i16 -11, i16 -10, i16 -9, i16 -8, i16 -7, i16 -6, i16 -5, i16 -4, i16 -3, i16 -2, i16 -1, i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255], align 16 +@__C_ctype_tolower = global i16* bitcast (i8* getelementptr (i8, i8* bitcast ([384 x i16]* @__C_ctype_tolower_data to i8*), i64 256) to i16*), align 8 +@__C_ctype_toupper_data = constant [384 x i16] [i16 -128, i16 -127, i16 -126, i16 -125, i16 -124, i16 -123, i16 -122, i16 -121, i16 -120, i16 -119, i16 -118, i16 -117, i16 -116, i16 -115, i16 -114, i16 -113, i16 -112, i16 -111, i16 -110, i16 -109, i16 -108, i16 -107, i16 -106, i16 -105, i16 -104, i16 -103, i16 -102, i16 -101, i16 -100, i16 -99, i16 -98, i16 -97, i16 -96, i16 -95, i16 -94, i16 -93, i16 -92, i16 -91, i16 -90, i16 -89, i16 -88, i16 -87, i16 -86, i16 -85, i16 -84, i16 -83, i16 -82, i16 -81, i16 -80, i16 -79, i16 -78, i16 -77, i16 -76, i16 -75, i16 -74, i16 -73, i16 -72, i16 -71, i16 -70, i16 -69, i16 -68, i16 -67, i16 -66, i16 -65, i16 -64, i16 -63, i16 -62, i16 -61, i16 -60, i16 -59, i16 -58, i16 -57, i16 -56, i16 -55, i16 -54, i16 -53, i16 -52, i16 -51, i16 -50, i16 -49, i16 -48, i16 -47, i16 -46, i16 -45, i16 -44, i16 -43, i16 -42, i16 -41, i16 -40, i16 -39, i16 -38, i16 -37, i16 -36, i16 -35, i16 -34, i16 -33, i16 -32, i16 -31, i16 -30, i16 -29, i16 -28, i16 -27, i16 -26, i16 -25, i16 -24, i16 -23, i16 -22, i16 -21, i16 -20, i16 -19, i16 -18, i16 -17, i16 -16, i16 -15, i16 -14, i16 -13, i16 -12, i16 -11, i16 -10, i16 -9, i16 -8, i16 -7, i16 -6, i16 -5, i16 -4, i16 -3, i16 -2, i16 -1, i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255], align 16 +@__C_ctype_toupper = global i16* bitcast (i8* getelementptr (i8, i8* bitcast ([384 x i16]* @__C_ctype_toupper_data to i8*), i64 256) to i16*), align 8 +@errno = global i32 0, align 4 +@h_errno = global i32 0, align 4 +@.str.214 = private unnamed_addr constant [17 x i8] c"ignoring (EPERM)\00", align 1 +@.str.7.216 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.1.217 = private unnamed_addr constant [9 x i8] c"ignoring\00", align 1 +@.str.2.218 = private unnamed_addr constant [82 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/illegal.c\00", align 1 +@.str.3.219 = private unnamed_addr constant [20 x i8] c"longjmp unsupported\00", align 1 +@.str.4.220 = private unnamed_addr constant [8 x i8] c"xxx.err\00", align 1 +@.str.5.222 = private unnamed_addr constant [18 x i8] c"ignoring (EACCES)\00", align 1 +@.str.6.223 = private unnamed_addr constant [18 x i8] c"ignoring (ENOMEM)\00", align 1 +@error_message_count = global i32 0, align 4 +@error_one_per_line = global i32 0, align 4 +@.str.226 = private unnamed_addr constant [5 x i8] c": %s\00", align 1 +@__error_at_line.old_line_number = internal global i32 0, align 4 +@__error_at_line.old_file_name = internal global i8* null, align 8 +@.str.1.227 = private unnamed_addr constant [8 x i8] c"%s:%d: \00", align 1 +@hr_locale = internal global [448 x i8] zeroinitializer, align 16 +@utf8.234 = internal constant [6 x i8] c"UTF-8\00", align 1 +@static_fd = internal global i32 -1, align 4 +@static_ut_name = internal global i8* getelementptr inbounds ([14 x i8], [14 x i8]* @default_file_name, i32 0, i32 0), align 8 +@default_file_name = internal constant [14 x i8] c"/var/run/utmp\00", align 1 +@static_utmp = internal global %struct.utmp.323 zeroinitializer, align 8 +@mbrtowc.mbstate = internal global %struct.__mbstate_t.512 zeroinitializer, align 4 +@__dso_handle = extern_weak global i8*, align 8 +@.str.297 = private unnamed_addr constant [14 x i8] c"#\80\80\80\80\80\80\80\80\80\80\80\80\00", align 1 +@newlocale.envstr = internal global [4 x i8*] [i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.301, i32 0, i32 0), i8* null, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.2.302, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @posix, i32 0, i32 0)], align 16 +@.str.3.298 = private unnamed_addr constant [2 x i8] c"=\00", align 1 +@.str.4.299 = private unnamed_addr constant [2 x i8] c";\00", align 1 +@posix = internal constant [6 x i8] c"POSIX\00", align 1 +@utf8.300 = internal constant [6 x i8] c"UTF-8\00", align 1 +@.str.1.301 = private unnamed_addr constant [7 x i8] c"LC_ALL\00", align 1 +@.str.2.302 = private unnamed_addr constant [5 x i8] c"LANG\00", align 1 +@empty = internal constant [1 x i8] zeroinitializer, align 1 +@mbsnrtowcs.mbstate = internal global %struct.__mbstate_t.512 zeroinitializer, align 4 +@_do_one_spec.spec_base = internal constant [7 x i8] c"\10\10\10\08\0A\0A\0A", align 1 +@.str.317 = private unnamed_addr constant [6 x i8] c"(nil)\00", align 1 +@.str.1.318 = private unnamed_addr constant [7 x i8] c"(null)\00", align 1 +@_do_one_spec.prefix = internal constant [12 x i8] c"+\00-\00 \000x\000X\00", align 1 +@strerror.buf = internal global [50 x i8] zeroinitializer, align 16 +@desc2flag = internal constant [13 x i16] [i16 0, i16 2048, i16 4, i16 256, i16 512, i16 8, i16 128, i16 2, i16 64, i16 1024, i16 32, i16 1, i16 16], align 16 +@fmt = internal constant [20 x i8] c"inf\00INF\00nan\00NAN\00.\00,\00", align 16 +@exp10_table = internal constant [9 x double] [double 1.000000e+01, double 1.000000e+02, double 1.000000e+04, double 1.000000e+08, double 1.000000e+16, double 1.000000e+32, double 1.000000e+64, double 1.000000e+128, double 1.000000e+256], align 16 +@_ppfs_init.invalid_mbs = internal constant [33 x i8] c"Invalid multibyte format string.\00", align 16 +@_ppfs_parsespec.spec_flags = internal constant [8 x i8] c" +0-#'I\00", align 1 +@_ppfs_parsespec.qual_chars = internal constant [20 x i8] c"hlLjztqZ\00\02\04\08\04\04\04\08\04\00\01\08", align 16 +@_ppfs_parsespec.spec_chars = internal constant [21 x i8] c"npxXoudifFeEgGaACScs\00", align 16 +@_ppfs_parsespec.spec_ranges = internal constant [9 x i8] c"\00\01\07\0F\10\11\12\13\14", align 1 +@_ppfs_parsespec.spec_or_mask = internal constant [8 x i16] [i16 4096, i16 5, i16 0, i16 7, i16 2, i16 4, i16 1, i16 3], align 16 +@_ppfs_parsespec.spec_and_mask = internal constant [8 x i16] [i16 7936, i16 5, i16 3840, i16 2055, i16 2, i16 4, i16 1, i16 3], align 16 +@type_codes = internal constant [12 x i16] [i16 8, i16 5, i16 3, i16 4, i16 1, i16 512, i16 0, i16 1024, i16 2048, i16 2, i16 7, i16 2055], align 16 +@type_sizes = internal constant [12 x i8] c"\00\01\01\01\04\02\01\01\01\01\01\01", align 1 +@__exit_count = hidden global i32 0, align 4 +@__exit_function_table = hidden global %struct.exit_function* null, align 8 +@__exit_slots = hidden global i32 0, align 4 +@__xpg_strerror_r.unknown = internal constant [14 x i8] c"Unknown error ", align 1 +@mbsrtowcs.mbstate = internal global %struct.__mbstate_t.512 zeroinitializer, align 4 +@_string_syserrmsgs = hidden constant [2906 x i8] c"Success\00Operation not permitted\00No such file or directory\00No such process\00Interrupted system call\00Input/output error\00No such device or address\00Argument list too long\00Exec format error\00Bad file descriptor\00No child processes\00Resource temporarily unavailable\00Cannot allocate memory\00Permission denied\00Bad address\00Block device required\00Device or resource busy\00File exists\00Invalid cross-device link\00No such device\00Not a directory\00Is a directory\00Invalid argument\00Too many open files in system\00Too many open files\00Inappropriate ioctl for device\00Text file busy\00File too large\00No space left on device\00Illegal seek\00Read-only file system\00Too many links\00Broken pipe\00Numerical argument out of domain\00Numerical result out of range\00Resource deadlock avoided\00File name too long\00No locks available\00Function not implemented\00Directory not empty\00Too many levels of symbolic links\00\00No message of desired type\00Identifier removed\00Channel number out of range\00Level 2 not synchronized\00Level 3 halted\00Level 3 reset\00Link number out of range\00Protocol driver not attached\00No CSI structure available\00Level 2 halted\00Invalid exchange\00Invalid request descriptor\00Exchange full\00No anode\00Invalid request code\00Invalid slot\00\00Bad font file format\00Device not a stream\00No data available\00Timer expired\00Out of streams resources\00Machine is not on the network\00Package not installed\00Object is remote\00Link has been severed\00Advertise error\00Srmount error\00Communication error on send\00Protocol error\00Multihop attempted\00RFS specific error\00Bad message\00Value too large for defined data type\00Name not unique on network\00File descriptor in bad state\00Remote address changed\00Can not access a needed shared library\00Accessing a corrupted shared library\00.lib section in a.out corrupted\00Attempting to link in too many shared libraries\00Cannot exec a shared library directly\00Invalid or incomplete multibyte or wide character\00Interrupted system call should be restarted\00Streams pipe error\00Too many users\00Socket operation on non-socket\00Destination address required\00Message too long\00Protocol wrong type for socket\00Protocol not available\00Protocol not supported\00Socket type not supported\00Operation not supported\00Protocol family not supported\00Address family not supported by protocol\00Address already in use\00Cannot assign requested address\00Network is down\00Network is unreachable\00Network dropped connection on reset\00Software caused connection abort\00Connection reset by peer\00No buffer space available\00Transport endpoint is already connected\00Transport endpoint is not connected\00Cannot send after transport endpoint shutdown\00Too many references: cannot splice\00Connection timed out\00Connection refused\00Host is down\00No route to host\00Operation already in progress\00Operation now in progress\00Stale NFS file handle\00Structure needs cleaning\00Not a XENIX named type file\00No XENIX semaphores available\00Is a named type file\00Remote I/O error\00Disk quota exceeded\00No medium found\00Wrong medium type\00", align 16 + +@__progname = weak alias i8*, i8** @program_invocation_short_name +@__progname_full = weak alias i8*, i8** @program_invocation_name +@environ = weak alias i8**, i8*** @__environ +@__getdents = dso_local alias i64 (i32, %struct.dirent64*, i64), i64 (i32, %struct.dirent64*, i64)* @getdents +@getchar = alias i32 (), i32 ()* @getchar_unlocked +@raise = weak alias i32 (i32), i32 (i32)* @__raise +@fgetc_unlocked = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@getc_unlocked = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@fgetc = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@getc = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@__getdents64 = dso_local alias i64 (i32, i8*, i64), i64 (i32, i8*, i64)* @getdents64 +@error = weak alias void (i32, i32, i8*, ...), void (i32, i32, i8*, ...)* @__error +@error_at_line = weak alias void (i32, i32, i8*, i32, i8*, ...), void (i32, i32, i8*, i32, i8*, ...)* @__error_at_line +@ferror = alias i32 (%struct.__STDIO_FILE_STRUCT.592*), i32 (%struct.__STDIO_FILE_STRUCT.592*)* @ferror_unlocked +@fflush = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fflush_unlocked +@fileno = alias i32 (%struct.__STDIO_FILE_STRUCT.608*), i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno_unlocked +@fputc_unlocked = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@putc_unlocked = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@fputc = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@putc = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@fputs = alias i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*), i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked +@fseeko = alias i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32), i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32)* @fseek +@putchar = alias i32 (i32), i32 (i32)* @putchar_unlocked +@fwrite = alias i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.621*), i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.621*)* @fwrite_unlocked +@strerror_r = weak alias i32 (i32, i8*, i64), i32 (i32, i8*, i64)* @__xpg_strerror_r + +; Function Attrs: noinline nounwind uwtable +define void @__uClibc_init() #0 { +entry: + %0 = load i32, i32* @__uClibc_init.been_there_done_that, align 4 + %tobool = icmp ne i32 %0, 0 + br i1 %tobool, label %if.end4, label %if.end + +if.end: ; preds = %entry + %1 = load i32, i32* @__uClibc_init.been_there_done_that, align 4 + %inc = add nsw i32 %1, 1 + store i32 %inc, i32* @__uClibc_init.been_there_done_that, align 4 + store i64 4096, i64* @__pagesize, align 8 + call void @_locale_init() #18 + call void @_stdio_init() #18 + br label %if.end4 + +if.end4: ; preds = %entry, %if.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define void @__uClibc_fini() #0 { +entry: + %0 = load void ()*, void ()** @__app_fini, align 8 + %cmp = icmp ne void ()* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load void ()*, void ()** @__app_fini, align 8 + call void %1() #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %2 = load void ()*, void ()** @__rtld_fini, align 8 + %cmp1 = icmp ne void ()* %2, null + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + %3 = load void ()*, void ()** @__rtld_fini, align 8 + call void %3() #18 + br label %if.end3 + +if.end3: ; preds = %if.then2, %if.end + ret void +} + +; Function Attrs: noinline noreturn nounwind uwtable +define void @__uClibc_main(i32 (i32, i8**, i8**)* %main, i32 %argc, i8** %argv, void ()* %app_init, void ()* %app_fini, void ()* %rtld_fini, i8* %stack_end) #1 { +entry: + %main.addr = alloca i32 (i32, i8**, i8**)*, align 8 + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %app_init.addr = alloca void ()*, align 8 + %app_fini.addr = alloca void ()*, align 8 + %rtld_fini.addr = alloca void ()*, align 8 + %stack_end.addr = alloca i8*, align 8 + %aux_dat = alloca i64*, align 8 + %auxvt = alloca [15 x %struct.Elf64_auxv_t], align 16 + %auxv_entry = alloca %struct.Elf64_auxv_t*, align 8 + store i32 (i32, i8**, i8**)* %main, i32 (i32, i8**, i8**)** %main.addr, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store void ()* %app_init, void ()** %app_init.addr, align 8 + store void ()* %app_fini, void ()** %app_fini.addr, align 8 + store void ()* %rtld_fini, void ()** %rtld_fini.addr, align 8 + store i8* %stack_end, i8** %stack_end.addr, align 8 + %0 = load i8*, i8** %stack_end.addr, align 8 + store i8* %0, i8** @__libc_stack_end, align 8 + %1 = load void ()*, void ()** %rtld_fini.addr, align 8 + store void ()* %1, void ()** @__rtld_fini, align 8 + %2 = load i8**, i8*** %argv.addr, align 8 + %3 = load i32, i32* %argc.addr, align 4 + %add = add nsw i32 %3, 1 + %idxprom = sext i32 %add to i64 + %arrayidx = getelementptr inbounds i8*, i8** %2, i64 %idxprom + store i8** %arrayidx, i8*** @__environ, align 8 + %4 = load i8**, i8*** @__environ, align 8 + %5 = bitcast i8** %4 to i8* + %6 = load i8**, i8*** %argv.addr, align 8 + %7 = load i8*, i8** %6, align 8 + %cmp = icmp eq i8* %5, %7 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %8 = load i8**, i8*** %argv.addr, align 8 + %9 = load i32, i32* %argc.addr, align 4 + %idxprom1 = sext i32 %9 to i64 + %arrayidx2 = getelementptr inbounds i8*, i8** %8, i64 %idxprom1 + store i8** %arrayidx2, i8*** @__environ, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %arraydecay = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 0 + %10 = bitcast %struct.Elf64_auxv_t* %arraydecay to i8* + %call = call i8* @memset(i8* %10, i32 0, i64 240) #19 + %11 = load i8**, i8*** @__environ, align 8 + %12 = bitcast i8** %11 to i64* + store i64* %12, i64** %aux_dat, align 8 + br label %while.cond + +while.cond: ; preds = %while.cond, %if.end + %13 = load i64*, i64** %aux_dat, align 8 + %14 = load i64, i64* %13, align 8 + %tobool = icmp ne i64 %14, 0 + %15 = load i64*, i64** %aux_dat, align 8 + %incdec.ptr = getelementptr inbounds i64, i64* %15, i32 1 + store i64* %incdec.ptr, i64** %aux_dat, align 8 + br i1 %tobool, label %while.cond, label %while.cond4 + +while.cond4: ; preds = %while.cond, %if.end12 + %16 = load i64*, i64** %aux_dat, align 8 + %17 = load i64, i64* %16, align 8 + %tobool5 = icmp ne i64 %17, 0 + br i1 %tobool5, label %while.body6, label %while.end13 + +while.body6: ; preds = %while.cond4 + %18 = load i64*, i64** %aux_dat, align 8 + %19 = bitcast i64* %18 to %struct.Elf64_auxv_t* + store %struct.Elf64_auxv_t* %19, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %20 = load %struct.Elf64_auxv_t*, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %a_type = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %20, i32 0, i32 0 + %21 = load i64, i64* %a_type, align 8 + %cmp7 = icmp ule i64 %21, 14 + br i1 %cmp7, label %if.then8, label %if.end12 + +if.then8: ; preds = %while.body6 + %22 = load %struct.Elf64_auxv_t*, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %a_type9 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %22, i32 0, i32 0 + %23 = load i64, i64* %a_type9, align 8 + %arrayidx10 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 %23 + %24 = bitcast %struct.Elf64_auxv_t* %arrayidx10 to i8* + %25 = load %struct.Elf64_auxv_t*, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %26 = bitcast %struct.Elf64_auxv_t* %25 to i8* + %call11 = call i8* @memcpy(i8* %24, i8* %26, i64 16) #19 + br label %if.end12 + +if.end12: ; preds = %if.then8, %while.body6 + %27 = load i64*, i64** %aux_dat, align 8 + %add.ptr = getelementptr inbounds i64, i64* %27, i64 2 + store i64* %add.ptr, i64** %aux_dat, align 8 + br label %while.cond4 + +while.end13: ; preds = %while.cond4 + call void @__uClibc_init() #18 + %arrayidx14 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 6 + %a_un = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx14, i32 0, i32 1 + %a_val = bitcast %union.anon.193* %a_un to i64* + %28 = load i64, i64* %a_val, align 8 + %tobool15 = icmp ne i64 %28, 0 + %arrayidx16 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 6 + %a_un17 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx16, i32 0, i32 1 + %a_val18 = bitcast %union.anon.193* %a_un17 to i64* + %29 = load i64, i64* %a_val18, align 8 + %cond = select i1 %tobool15, i64 %29, i64 4096 + store i64 %cond, i64* @__pagesize, align 8 + %arrayidx19 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 11 + %a_un20 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx19, i32 0, i32 1 + %a_val21 = bitcast %union.anon.193* %a_un20 to i64* + %30 = load i64, i64* %a_val21, align 8 + %cmp22 = icmp eq i64 %30, -1 + br i1 %cmp22, label %land.lhs.true, label %lor.lhs.false + +land.lhs.true: ; preds = %while.end13 + %call23 = call i32 @__check_suid() #18 + %tobool24 = icmp ne i32 %call23, 0 + br i1 %tobool24, label %if.then45, label %lor.lhs.false + +lor.lhs.false: ; preds = %land.lhs.true, %while.end13 + %arrayidx25 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 11 + %a_un26 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx25, i32 0, i32 1 + %a_val27 = bitcast %union.anon.193* %a_un26 to i64* + %31 = load i64, i64* %a_val27, align 8 + %cmp28 = icmp ne i64 %31, -1 + br i1 %cmp28, label %land.lhs.true29, label %if.end46 + +land.lhs.true29: ; preds = %lor.lhs.false + %arrayidx30 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 11 + %a_un31 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx30, i32 0, i32 1 + %a_val32 = bitcast %union.anon.193* %a_un31 to i64* + %32 = load i64, i64* %a_val32, align 8 + %arrayidx33 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 12 + %a_un34 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx33, i32 0, i32 1 + %a_val35 = bitcast %union.anon.193* %a_un34 to i64* + %33 = load i64, i64* %a_val35, align 8 + %cmp36 = icmp ne i64 %32, %33 + br i1 %cmp36, label %if.then45, label %lor.lhs.false37 + +lor.lhs.false37: ; preds = %land.lhs.true29 + %arrayidx38 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 13 + %a_un39 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx38, i32 0, i32 1 + %a_val40 = bitcast %union.anon.193* %a_un39 to i64* + %34 = load i64, i64* %a_val40, align 8 + %arrayidx41 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 14 + %a_un42 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx41, i32 0, i32 1 + %a_val43 = bitcast %union.anon.193* %a_un42 to i64* + %35 = load i64, i64* %a_val43, align 8 + %cmp44 = icmp ne i64 %34, %35 + br i1 %cmp44, label %if.then45, label %if.end46 + +if.then45: ; preds = %lor.lhs.false37, %land.lhs.true29, %land.lhs.true + call void @__check_one_fd(i32 0, i32 131072) #18 + call void @__check_one_fd(i32 1, i32 131074) #18 + call void @__check_one_fd(i32 2, i32 131074) #18 + br label %if.end46 + +if.end46: ; preds = %if.then45, %lor.lhs.false37, %lor.lhs.false + %36 = load i8**, i8*** %argv.addr, align 8 + %37 = load i8*, i8** %36, align 8 + store i8* %37, i8** @__uclibc_progname, align 8 + %38 = load i8**, i8*** %argv.addr, align 8 + %39 = load i8*, i8** %38, align 8 + store i8* %39, i8** @program_invocation_name, align 8 + %40 = load i8**, i8*** %argv.addr, align 8 + %41 = load i8*, i8** %40, align 8 + %call47 = call i8* @strrchr(i8* %41, i32 47) #20 + store i8* %call47, i8** @program_invocation_short_name, align 8 + %42 = load i8*, i8** @program_invocation_short_name, align 8 + %cmp48 = icmp ne i8* %42, null + br i1 %cmp48, label %if.then49, label %if.else + +if.then49: ; preds = %if.end46 + %43 = load i8*, i8** @program_invocation_short_name, align 8 + %incdec.ptr50 = getelementptr inbounds i8, i8* %43, i32 1 + store i8* %incdec.ptr50, i8** @program_invocation_short_name, align 8 + br label %if.end51 + +if.else: ; preds = %if.end46 + %44 = load i8*, i8** @program_invocation_name, align 8 + store i8* %44, i8** @program_invocation_short_name, align 8 + br label %if.end51 + +if.end51: ; preds = %if.else, %if.then49 + %45 = load void ()*, void ()** %app_fini.addr, align 8 + store void ()* %45, void ()** @__app_fini, align 8 + %46 = load void ()*, void ()** %app_init.addr, align 8 + %cmp52 = icmp ne void ()* %46, null + br i1 %cmp52, label %if.then53, label %if.then55 + +if.then53: ; preds = %if.end51 + %47 = load void ()*, void ()** %app_init.addr, align 8 + call void %47() #18 + br label %if.then55 + +if.then55: ; preds = %if.end51, %if.then53 + %call56 = call i32* @__errno_location() #21 + store i32 0, i32* %call56, align 4 + %call59 = call i32* @__h_errno_location() #21 + store i32 0, i32* %call59, align 4 + %48 = load i32 (i32, i8**, i8**)*, i32 (i32, i8**, i8**)** %main.addr, align 8 + %49 = load i32, i32* %argc.addr, align 4 + %50 = load i8**, i8*** %argv.addr, align 8 + %51 = load i8**, i8*** @__environ, align 8 + %call61 = call i32 %48(i32 %49, i8** %50, i8** %51) #18 + call void @exit(i32 %call61) #22 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__check_suid() #0 { +entry: + %retval = alloca i32, align 4 + %uid = alloca i32, align 4 + %euid = alloca i32, align 4 + %gid = alloca i32, align 4 + %egid = alloca i32, align 4 + %call = call i32 @getuid() #19 + store i32 %call, i32* %uid, align 4 + %call1 = call i32 @geteuid() #19 + store i32 %call1, i32* %euid, align 4 + %call2 = call i32 @getgid() #19 + store i32 %call2, i32* %gid, align 4 + %call3 = call i32 @getegid() #19 + store i32 %call3, i32* %egid, align 4 + %0 = load i32, i32* %uid, align 4 + %1 = load i32, i32* %euid, align 4 + %cmp = icmp eq i32 %0, %1 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %2 = load i32, i32* %gid, align 4 + %3 = load i32, i32* %egid, align 4 + %cmp4 = icmp eq i32 %2, %3 + br i1 %cmp4, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__check_one_fd(i32 %fd, i32 %mode) #0 { +entry: + %fd.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %st = alloca %struct.stat.192, align 8 + %nullfd = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 (i32, i32, ...) @fcntl(i32 %0, i32 1) #18 + %cmp = icmp eq i32 %call, -1 + br i1 %cmp, label %land.rhs, label %land.end + +land.rhs: ; preds = %entry + %call1 = call i32* @__errno_location() #21 + %1 = load i32, i32* %call1, align 4 + %cmp2 = icmp eq i32 %1, 9 + br label %land.end + +land.end: ; preds = %land.rhs, %entry + %2 = phi i1 [ false, %entry ], [ %cmp2, %land.rhs ] + %lnot = xor i1 %2, true + %lnot3 = xor i1 %lnot, true + %lnot.ext = zext i1 %lnot3 to i32 + %conv = sext i32 %lnot.ext to i64 + %tobool = icmp ne i64 %conv, 0 + br i1 %tobool, label %if.then, label %if.end17 + +if.then: ; preds = %land.end + %3 = load i32, i32* %mode.addr, align 4 + %call4 = call i32 (i8*, i32, ...) @open(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.1, i64 0, i64 0), i32 %3) #18 + store i32 %call4, i32* %nullfd, align 4 + %4 = load i32, i32* %nullfd, align 4 + %5 = load i32, i32* %fd.addr, align 4 + %cmp5 = icmp ne i32 %4, %5 + br i1 %cmp5, label %if.then16, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then + %6 = load i32, i32* %fd.addr, align 4 + %call7 = call i32 bitcast (i32 (i32, %struct.stat64*)* @fstat to i32 (i32, %struct.stat.192*)*)(i32 %6, %struct.stat.192* %st) #19 + %tobool8 = icmp ne i32 %call7, 0 + br i1 %tobool8, label %if.then16, label %lor.lhs.false9 + +lor.lhs.false9: ; preds = %lor.lhs.false + %st_mode = getelementptr inbounds %struct.stat.192, %struct.stat.192* %st, i32 0, i32 3 + %7 = load i32, i32* %st_mode, align 8 + %and = and i32 %7, 61440 + %cmp10 = icmp eq i32 %and, 8192 + br i1 %cmp10, label %lor.lhs.false12, label %if.then16 + +lor.lhs.false12: ; preds = %lor.lhs.false9 + %st_rdev = getelementptr inbounds %struct.stat.192, %struct.stat.192* %st, i32 0, i32 7 + %8 = load i64, i64* %st_rdev, align 8 + %call13 = call i64 @gnu_dev_makedev.172(i32 1, i32 3) #19 + %cmp14 = icmp ne i64 %8, %call13 + br i1 %cmp14, label %if.then16, label %if.end17 + +if.then16: ; preds = %lor.lhs.false12, %lor.lhs.false9, %lor.lhs.false, %if.then + call void @abort() #22 + unreachable + +if.end17: ; preds = %lor.lhs.false12, %land.end + ret void +} + +; Function Attrs: nounwind +declare i32 @getuid() #2 + +; Function Attrs: nounwind +declare i32 @geteuid() #2 + +; Function Attrs: nounwind +declare i32 @getgid() #2 + +; Function Attrs: nounwind +declare i32 @getegid() #2 + +; Function Attrs: noinline nounwind uwtable +define internal i64 @gnu_dev_makedev.172(i32 %__major, i32 %__minor) #0 { +entry: + %__major.addr = alloca i32, align 4 + %__minor.addr = alloca i32, align 4 + store i32 %__major, i32* %__major.addr, align 4 + store i32 %__minor, i32* %__minor.addr, align 4 + %0 = load i32, i32* %__minor.addr, align 4 + %and = and i32 %0, 255 + %1 = load i32, i32* %__major.addr, align 4 + %and1 = and i32 %1, 4095 + %shl = shl i32 %and1, 8 + %or = or i32 %and, %shl + %conv = zext i32 %or to i64 + %2 = load i32, i32* %__minor.addr, align 4 + %and2 = and i32 %2, -256 + %conv3 = zext i32 %and2 to i64 + %shl4 = shl i64 %conv3, 12 + %or5 = or i64 %conv, %shl4 + %3 = load i32, i32* %__major.addr, align 4 + %and6 = and i32 %3, -4096 + %conv7 = zext i32 %and6 to i64 + %shl8 = shl i64 %conv7, 32 + %or9 = or i64 %or5, %shl8 + ret i64 %or9 +} + +define i32 @main(i32 %argc, i8** %argv) { +entry: + call void @__uClibc_main(i32 (i32, i8**, i8**)* @__user_main, i32 %argc, i8** %argv, void ()* null, void ()* null, void ()* null, i8* null) + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define i32 @siggetmask() #0 { +entry: + %call = call i32 @sigblock(i32 0) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i64 @__fpending(%struct.__STDIO_FILE_STRUCT.513* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.513*, align 8 + store %struct.__STDIO_FILE_STRUCT.513* %stream, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.513*, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.513, %struct.__STDIO_FILE_STRUCT.513* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %cond.true, label %cond.end + +cond.true: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.513*, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.513, %struct.__STDIO_FILE_STRUCT.513* %2, i32 0, i32 5 + %3 = load i8*, i8** %__bufpos, align 8 + %4 = load %struct.__STDIO_FILE_STRUCT.513*, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.513, %struct.__STDIO_FILE_STRUCT.513* %4, i32 0, i32 3 + %5 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %3 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + br label %cond.end + +cond.end: ; preds = %entry, %cond.true + %cond = phi i64 [ %sub.ptr.sub, %cond.true ], [ 0, %entry ] + ret i64 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i8* @gets(i8* %s) #0 { +entry: + %s.addr = alloca i8*, align 8 + %p = alloca i8*, align 8 + %c = alloca i32, align 4 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %call = call i32 @getchar_unlocked() #18 + store i32 %call, i32* %c, align 4 + %cmp = icmp ne i32 %call, -1 + br i1 %cmp, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %1 = load i32, i32* %c, align 4 + %conv = trunc i32 %1 to i8 + %2 = load i8*, i8** %p, align 8 + store i8 %conv, i8* %2, align 1 + %conv1 = sext i8 %conv to i32 + %cmp2 = icmp ne i32 %conv1, 10 + br i1 %cmp2, label %while.body, label %while.end + +while.body: ; preds = %land.rhs + %3 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + br label %while.cond + +while.end: ; preds = %while.cond, %land.rhs + %4 = load i32, i32* %c, align 4 + %cmp4 = icmp eq i32 %4, -1 + br i1 %cmp4, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.end + %5 = load i8*, i8** %s.addr, align 8 + %6 = load i8*, i8** %p, align 8 + %cmp6 = icmp eq i8* %5, %6 + br i1 %cmp6, label %if.then, label %if.else + +if.then: ; preds = %lor.lhs.false, %while.end + store i8* null, i8** %s.addr, align 8 + br label %if.end + +if.else: ; preds = %lor.lhs.false + %7 = load i8*, i8** %p, align 8 + store i8 0, i8* %7, align 1 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %8 = load i8*, i8** %s.addr, align 8 + ret i8* %8 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @tmpnam(i8* %s) #0 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %tmpbufmem = alloca [20 x i8], align 16 + %tmpbuf = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %tobool = icmp ne i8* %0, null + %arraydecay = getelementptr inbounds [20 x i8], [20 x i8]* %tmpbufmem, i64 0, i64 0 + %cond = select i1 %tobool, i8* %0, i8* %arraydecay + store i8* %cond, i8** %tmpbuf, align 8 + %1 = load i8*, i8** %tmpbuf, align 8 + %call = call i32 @___path_search(i8* %1, i64 20, i8* null, i8* null) #18 + %conv = sext i32 %call to i64 + %tobool1 = icmp ne i64 %conv, 0 + br i1 %tobool1, label %if.then, label %if.end + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %tmpbuf, align 8 + %call2 = call i32 @__gen_tempname(i8* %2, i32 3) #18 + %conv3 = sext i32 %call2 to i64 + %tobool4 = icmp ne i64 %conv3, 0 + br i1 %tobool4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end + store i8* null, i8** %retval, align 8 + br label %return + +if.end6: ; preds = %if.end + %3 = load i8*, i8** %s.addr, align 8 + %cmp = icmp eq i8* %3, null + br i1 %cmp, label %if.then8, label %if.end10 + +if.then8: ; preds = %if.end6 + %4 = load i8*, i8** %tmpbuf, align 8 + %call9 = call i8* @memcpy(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @tmpnam_buffer, i64 0, i64 0), i8* %4, i64 20) #19 + store i8* %call9, i8** %retval, align 8 + br label %return + +if.end10: ; preds = %if.end6 + %5 = load i8*, i8** %s.addr, align 8 + store i8* %5, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end10, %if.then8, %if.then5, %if.then + %6 = load i8*, i8** %retval, align 8 + ret i8* %6 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @mktemp(i8* nonnull %template) #0 { +entry: + %template.addr = alloca i8*, align 8 + store i8* %template, i8** %template.addr, align 8 + %0 = load i8*, i8** %template.addr, align 8 + %call = call i32 @__gen_tempname(i8* %0, i32 3) #18 + %cmp = icmp slt i32 %call, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load i8*, i8** %template.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + store i8 0, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then, %entry + %2 = load i8*, i8** %template.addr, align 8 + ret i8* %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @access(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %pathname.addr, align 8 + %call1 = call i8* @__concretize_string(i8* %2) + %3 = load i32, i32* %mode.addr, align 4 + %call2 = call i64 (i64, ...) @syscall(i64 21, i8* %call1, i32 %3) #11 + %conv = trunc i64 %call2 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.exe_disk_file_t* @__get_sym_file(i8* %pathname) #3 { +entry: + %retval = alloca %struct.exe_disk_file_t*, align 8 + %pathname.addr = alloca i8*, align 8 + %cwd = alloca [1024 x i8], align 16 + %cwd_len = alloca i64, align 8 + %c = alloca i8, align 1 + %i = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + %0 = load i8*, i8** %pathname.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %pathname.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %2 to i32 + %cmp = icmp eq i32 %conv, 47 + br i1 %cmp, label %if.then2, label %if.end29 + +if.then2: ; preds = %if.end + %3 = bitcast [1024 x i8]* %cwd to i8* + %4 = call i8* @memset(i8* %3, i32 0, i64 1024) + %arraydecay = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 0 + %call = call i8* @getcwd(i8* %arraydecay, i64 1024) #11 + %tobool3 = icmp ne i8* %call, null + br i1 %tobool3, label %if.then4, label %if.end29 + +if.then4: ; preds = %if.then2 + %arraydecay5 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 0 + %call6 = call i64 @strlen(i8* %arraydecay5) #23 + store i64 %call6, i64* %cwd_len, align 8 + %5 = load i64, i64* %cwd_len, align 8 + %cmp7 = icmp ugt i64 %5, 0 + br i1 %cmp7, label %land.lhs.true, label %if.end15 + +land.lhs.true: ; preds = %if.then4 + %6 = load i64, i64* %cwd_len, align 8 + %sub = sub i64 %6, 1 + %arrayidx9 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 %sub + %7 = load i8, i8* %arrayidx9, align 1 + %conv10 = sext i8 %7 to i32 + %cmp11 = icmp eq i32 %conv10, 47 + br i1 %cmp11, label %if.then13, label %if.end15 + +if.then13: ; preds = %land.lhs.true + %8 = load i64, i64* %cwd_len, align 8 + %dec = add i64 %8, -1 + store i64 %dec, i64* %cwd_len, align 8 + %arrayidx14 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 %dec + store i8 0, i8* %arrayidx14, align 1 + br label %if.end15 + +if.end15: ; preds = %if.then13, %land.lhs.true, %if.then4 + %9 = load i8*, i8** %pathname.addr, align 8 + %arraydecay16 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 0 + %10 = load i64, i64* %cwd_len, align 8 + %call17 = call i32 @strncmp(i8* %9, i8* %arraydecay16, i64 %10) #23 + %cmp18 = icmp eq i32 %call17, 0 + br i1 %cmp18, label %if.then20, label %if.end29 + +if.then20: ; preds = %if.end15 + %11 = load i8*, i8** %pathname.addr, align 8 + %12 = load i64, i64* %cwd_len, align 8 + %arrayidx21 = getelementptr inbounds i8, i8* %11, i64 %12 + %13 = load i8, i8* %arrayidx21, align 1 + %conv22 = sext i8 %13 to i32 + %cmp23 = icmp ne i32 %conv22, 0 + br i1 %cmp23, label %if.then25, label %if.end29 + +if.then25: ; preds = %if.then20 + %14 = load i64, i64* %cwd_len, align 8 + %add = add i64 %14, 1 + %15 = load i8*, i8** %pathname.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %15, i64 %add + store i8* %add.ptr, i8** %pathname.addr, align 8 + br label %if.end29 + +if.end29: ; preds = %if.then2, %if.then20, %if.then25, %if.end15, %if.end + %16 = load i8*, i8** %pathname.addr, align 8 + %arrayidx30 = getelementptr inbounds i8, i8* %16, i64 0 + %17 = load i8, i8* %arrayidx30, align 1 + store i8 %17, i8* %c, align 1 + %18 = load i8, i8* %c, align 1 + %conv31 = sext i8 %18 to i32 + %cmp32 = icmp eq i32 %conv31, 0 + br i1 %cmp32, label %if.then38, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end29 + %19 = load i8*, i8** %pathname.addr, align 8 + %arrayidx34 = getelementptr inbounds i8, i8* %19, i64 1 + %20 = load i8, i8* %arrayidx34, align 1 + %conv35 = sext i8 %20 to i32 + %cmp36 = icmp ne i32 %conv35, 0 + br i1 %cmp36, label %if.then38, label %if.end39 + +if.then38: ; preds = %lor.lhs.false, %if.end29 + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +if.end39: ; preds = %lor.lhs.false + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end39 + %21 = load i32, i32* %i, align 4 + %22 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %cmp40 = icmp ult i32 %21, %22 + br i1 %cmp40, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %23 = load i8, i8* %c, align 1 + %conv42 = sext i8 %23 to i32 + %24 = load i32, i32* %i, align 4 + %conv43 = trunc i32 %24 to i8 + %conv44 = sext i8 %conv43 to i32 + %add45 = add nsw i32 65, %conv44 + %cmp46 = icmp eq i32 %conv42, %add45 + br i1 %cmp46, label %if.then48, label %for.inc + +if.then48: ; preds = %for.body + %25 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %26 = load i32, i32* %i, align 4 + %idxprom = zext i32 %26 to i64 + %arrayidx49 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %25, i64 %idxprom + store %struct.exe_disk_file_t* %arrayidx49, %struct.exe_disk_file_t** %df, align 8 + %27 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %27, i32 0, i32 2 + %28 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %28, i32 0, i32 1 + %29 = load i64, i64* %st_ino, align 8 + %cmp50 = icmp eq i64 %29, 0 + br i1 %cmp50, label %if.then52, label %if.end53 + +if.then52: ; preds = %if.then48 + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +if.end53: ; preds = %if.then48 + %30 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + store %struct.exe_disk_file_t* %30, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +for.inc: ; preds = %for.body + %31 = load i32, i32* %i, align 4 + %inc = add i32 %31, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +return: ; preds = %for.end, %if.end53, %if.then52, %if.then38, %if.then + %32 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %retval, align 8 + ret %struct.exe_disk_file_t* %32 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @__concretize_string(i8* %s) #3 { +entry: + %s.addr = alloca i8*, align 8 + %sc = alloca i8*, align 8 + %i = alloca i32, align 4 + %c = alloca i8, align 1 + %cc = alloca i8, align 1 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %call = call i8* @__concretize_ptr(i8* %0) + store i8* %call, i8** %sc, align 8 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load i8*, i8** %sc, align 8 + %2 = load i8, i8* %1, align 1 + store i8 %2, i8* %c, align 1 + %3 = load i8, i8* %c, align 1 + %conv = sext i8 %3 to i64 + %call1 = call i32 @gs_is_symbolic(i64 %conv) + %tobool = icmp ne i32 %call1, 0 + br i1 %tobool, label %if.end4, label %if.then + +if.then: ; preds = %for.cond + %4 = load i8, i8* %c, align 1 + %tobool2 = icmp ne i8 %4, 0 + br i1 %tobool2, label %for.inc, label %for.end + +if.end4: ; preds = %for.cond + %5 = load i32, i32* %i, align 4 + %6 = load i32, i32* %i, align 4 + %sub = sub i32 %6, 1 + %and = and i32 %5, %sub + %tobool5 = icmp ne i32 %and, 0 + %7 = load i8, i8* %c, align 1 + br i1 %tobool5, label %if.else14, label %if.then6 + +if.then6: ; preds = %if.end4 + %tobool7 = icmp ne i8 %7, 0 + br i1 %tobool7, label %if.else, label %if.then8 + +if.then8: ; preds = %if.then6 + %8 = load i8*, i8** %sc, align 8 + store i8 0, i8* %8, align 1 + br label %for.end + +if.else: ; preds = %if.then6 + %9 = load i8, i8* %c, align 1 + %conv9 = sext i8 %9 to i32 + %cmp = icmp eq i32 %conv9, 47 + br i1 %cmp, label %if.then11, label %for.inc + +if.then11: ; preds = %if.else + %10 = load i8*, i8** %sc, align 8 + store i8 47, i8* %10, align 1 + br label %for.inc + +if.else14: ; preds = %if.end4 + %conv15 = sext i8 %7 to i64 + %call16 = call i64 @gs_get_valuel(i64 %conv15) + %conv17 = trunc i64 %call16 to i8 + store i8 %conv17, i8* %cc, align 1 + %11 = load i8, i8* %cc, align 1 + %conv18 = sext i8 %11 to i32 + %12 = load i8, i8* %c, align 1 + %conv19 = sext i8 %12 to i32 + %cmp20 = icmp eq i32 %conv18, %conv19 + call void @gs_assume(i1 zeroext %cmp20) + %13 = load i8, i8* %cc, align 1 + %14 = load i8*, i8** %sc, align 8 + store i8 %13, i8* %14, align 1 + %15 = load i8, i8* %cc, align 1 + %tobool22 = icmp ne i8 %15, 0 + br i1 %tobool22, label %for.inc, label %for.end + +for.inc: ; preds = %if.else, %if.then11, %if.else14, %if.then + %16 = load i32, i32* %i, align 4 + %inc = add i32 %16, 1 + store i32 %inc, i32* %i, align 4 + %17 = load i8*, i8** %sc, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %17, i32 1 + store i8* %incdec.ptr, i8** %sc, align 8 + br label %for.cond + +for.end: ; preds = %if.else14, %if.then, %if.then8 + %18 = load i8*, i8** %s.addr, align 8 + ret i8* %18 +} + +; Function Attrs: nounwind +declare dso_local i64 @syscall(i64, ...) #4 + +; Function Attrs: noinline nounwind uwtable +define internal i8* @__concretize_ptr(i8* %p) #3 { +entry: + %p.addr = alloca i8*, align 8 + store i8* %p, i8** %p.addr, align 8 + %0 = load i8*, i8** %p.addr, align 8 + %1 = ptrtoint i8* %0 to i64 + %call = call i32 @gs_is_symbolic(i64 %1) + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @gs_report_error(i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 1386, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.27, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.28, i64 0, i64 0)) #24 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %p.addr, align 8 + ret i8* %2 +} + +declare dso_local i32 @gs_is_symbolic(i64) #5 + +declare dso_local i64 @gs_get_valuel(i64) #5 + +declare dso_local void @gs_assume(i1 zeroext) #5 + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.25, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +declare dso_local void @print_string(i8*) #5 + +declare dso_local void @sym_print(i32, ...) #5 + +; Function Attrs: noreturn +declare dso_local void @stop(i32) #7 + +; Function Attrs: argmemonly nounwind willreturn writeonly +declare void @llvm.memset.p0i8.i64(i8* nocapture writeonly, i8, i64, i1 immarg) #8 + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @getcwd(i8* %buf, i64 %size) #3 { +entry: + %retval = alloca i8*, align 8 + %buf.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %r = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + %0 = load i32, i32* @getcwd.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @getcwd.n_calls, align 4 + %1 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool = icmp ne i32 %1, 0 + br i1 %tobool, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %2 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %3 = load i32, i32* %2, align 4 + %4 = load i32, i32* @getcwd.n_calls, align 4 + %cmp = icmp eq i32 %3, %4 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %5 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %5, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call = call i32* @__errno_location() #25 + store i32 34, i32* %call, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + %6 = load i8*, i8** %buf.addr, align 8 + %tobool1 = icmp ne i8* %6, null + br i1 %tobool1, label %if.else, label %if.then2 + +if.then2: ; preds = %if.end + store i64 1024, i64* %size.addr, align 8 + %7 = load i64, i64* %size.addr, align 8 + %call3 = call noalias i8* @malloc(i64 %7) #11 + store i8* %call3, i8** %buf.addr, align 8 + %8 = load i8*, i8** %buf.addr, align 8 + %tobool4 = icmp ne i8* %8, null + br i1 %tobool4, label %if.end12, label %if.then5 + +if.then5: ; preds = %if.then2 + %call6 = call i32* @__errno_location() #25 + store i32 12, i32* %call6, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.else: ; preds = %if.end + %9 = load i64, i64* %size.addr, align 8 + %tobool8 = icmp ne i64 %9, 0 + br i1 %tobool8, label %if.end12, label %if.then9 + +if.then9: ; preds = %if.else + %call10 = call i32* @__errno_location() #25 + store i32 22, i32* %call10, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end12: ; preds = %if.else, %if.then2 + %10 = load i8*, i8** %buf.addr, align 8 + %call13 = call i8* @__concretize_ptr(i8* %10) + store i8* %call13, i8** %buf.addr, align 8 + %11 = load i64, i64* %size.addr, align 8 + %call14 = call i64 @__concretize_size(i64 %11) + store i64 %call14, i64* %size.addr, align 8 + %12 = load i8*, i8** %buf.addr, align 8 + %13 = load i64, i64* %size.addr, align 8 + %call15 = call i64 (i64, ...) @syscall(i64 79, i8* %12, i64 %13) #11 + %conv = trunc i64 %call15 to i32 + store i32 %conv, i32* %r, align 4 + %14 = load i32, i32* %r, align 4 + %cmp16 = icmp eq i32 %14, -1 + br i1 %cmp16, label %if.then18, label %if.end19 + +if.then18: ; preds = %if.end12 + store i8* null, i8** %retval, align 8 + br label %return + +if.end19: ; preds = %if.end12 + %15 = load i8*, i8** %buf.addr, align 8 + store i8* %15, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end19, %if.then18, %if.then9, %if.then5, %if.then + %16 = load i8*, i8** %retval, align 8 + ret i8* %16 +} + +; Function Attrs: nounwind +declare dso_local noalias i8* @malloc(i64) #4 + +; Function Attrs: noinline nounwind uwtable +define internal i64 @__concretize_size(i64 %s) #3 { +entry: + %s.addr = alloca i64, align 8 + %sc = alloca i64, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %call = call i64 @gs_get_valuel(i64 %0) + store i64 %call, i64* %sc, align 8 + %1 = load i64, i64* %sc, align 8 + %2 = load i64, i64* %s.addr, align 8 + %cmp = icmp eq i64 %1, %2 + call void @gs_assume(i1 zeroext %cmp) + %3 = load i64, i64* %sc, align 8 + ret i64 %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @umask(i32 %mask) #3 { +entry: + %mask.addr = alloca i32, align 4 + %r = alloca i32, align 4 + store i32 %mask, i32* %mask.addr, align 4 + %0 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 1), align 8 + store i32 %0, i32* %r, align 4 + %1 = load i32, i32* %mask.addr, align 4 + %and = and i32 %1, 511 + store i32 %and, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 1), align 8 + %2 = load i32, i32* %r, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_open(i8* %pathname, i32 %flags, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %fd = alloca i32, align 4 + %os_fd = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + store i32 0, i32* %fd, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %0, 32 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %1 = load i32, i32* %fd, align 4 + %idxprom = sext i32 %1 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + %flags1 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %arrayidx, i32 0, i32 1 + %2 = load i32, i32* %flags1, align 4 + %and = and i32 %2, 1 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %for.inc, label %for.end + +for.inc: ; preds = %for.body + %3 = load i32, i32* %fd, align 4 + %inc = add nsw i32 %3, 1 + store i32 %inc, i32* %fd, align 4 + br label %for.cond + +for.end: ; preds = %for.body, %for.cond + %4 = load i32, i32* %fd, align 4 + %cmp2 = icmp eq i32 %4, 32 + br i1 %cmp2, label %if.then3, label %if.end4 + +if.then3: ; preds = %for.end + %call = call i32* @__errno_location() #25 + store i32 24, i32* %call, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %for.end + %5 = load i32, i32* %fd, align 4 + %idxprom5 = sext i32 %5 to i64 + %arrayidx6 = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom5 + store %struct.exe_file_t* %arrayidx6, %struct.exe_file_t** %f, align 8 + %6 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %7 = bitcast %struct.exe_file_t* %6 to i8* + %8 = call i8* @memset(i8* %7, i32 0, i64 24) + %9 = load i8*, i8** %pathname.addr, align 8 + %call7 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %9) + store %struct.exe_disk_file_t* %call7, %struct.exe_disk_file_t** %df, align 8 + %10 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %tobool8 = icmp ne %struct.exe_disk_file_t* %10, null + br i1 %tobool8, label %if.then9, label %if.else45 + +if.then9: ; preds = %if.end4 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %12 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %12, i32 0, i32 3 + store %struct.exe_disk_file_t* %11, %struct.exe_disk_file_t** %dfile, align 8 + %13 = load i32, i32* %flags.addr, align 4 + %and10 = and i32 %13, 64 + %tobool11 = icmp ne i32 %and10, 0 + br i1 %tobool11, label %land.lhs.true, label %if.end16 + +land.lhs.true: ; preds = %if.then9 + %14 = load i32, i32* %flags.addr, align 4 + %and12 = and i32 %14, 128 + %tobool13 = icmp ne i32 %and12, 0 + br i1 %tobool13, label %if.then14, label %if.end16 + +if.then14: ; preds = %land.lhs.true + %call15 = call i32* @__errno_location() #25 + store i32 17, i32* %call15, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end16: ; preds = %land.lhs.true, %if.then9 + %15 = load i32, i32* %flags.addr, align 4 + %and17 = and i32 %15, 512 + %tobool18 = icmp ne i32 %and17, 0 + br i1 %tobool18, label %land.lhs.true19, label %if.end24 + +land.lhs.true19: ; preds = %if.end16 + %16 = load i32, i32* %flags.addr, align 4 + %and20 = and i32 %16, 0 + %tobool21 = icmp ne i32 %and20, 0 + br i1 %tobool21, label %if.then22, label %if.end24 + +if.then22: ; preds = %land.lhs.true19 + call void @gs_warning(i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.5, i64 0, i64 0)) + %call23 = call i32* @__errno_location() #25 + store i32 13, i32* %call23, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end24: ; preds = %land.lhs.true19, %if.end16 + %17 = load i32, i32* %flags.addr, align 4 + %and25 = and i32 %17, 128 + %tobool26 = icmp ne i32 %and25, 0 + br i1 %tobool26, label %land.lhs.true27, label %if.end32 + +land.lhs.true27: ; preds = %if.end24 + %18 = load i32, i32* %flags.addr, align 4 + %and28 = and i32 %18, 64 + %tobool29 = icmp ne i32 %and28, 0 + br i1 %tobool29, label %if.end32, label %if.then30 + +if.then30: ; preds = %land.lhs.true27 + call void @gs_warning(i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.1.6, i64 0, i64 0)) + %call31 = call i32* @__errno_location() #25 + store i32 13, i32* %call31, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end32: ; preds = %land.lhs.true27, %if.end24 + %19 = load i32, i32* %flags.addr, align 4 + %20 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %20, i32 0, i32 2 + %21 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %call33 = call i32 @has_permission(i32 %19, %struct.stat64* %21) + %tobool34 = icmp ne i32 %call33, 0 + br i1 %tobool34, label %if.else, label %if.then35 + +if.then35: ; preds = %if.end32 + %call36 = call i32* @__errno_location() #25 + store i32 13, i32* %call36, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.end32 + %22 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile37 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %22, i32 0, i32 3 + %23 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile37, align 8 + %stat38 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %23, i32 0, i32 2 + %24 = load %struct.stat64*, %struct.stat64** %stat38, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %24, i32 0, i32 3 + %25 = load i32, i32* %st_mode, align 8 + %and39 = and i32 %25, -512 + %26 = load i32, i32* %mode.addr, align 4 + %27 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 1), align 8 + %neg = xor i32 %27, -1 + %and40 = and i32 %26, %neg + %or = or i32 %and39, %and40 + %28 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile41 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %28, i32 0, i32 3 + %29 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile41, align 8 + %stat42 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %29, i32 0, i32 2 + %30 = load %struct.stat64*, %struct.stat64** %stat42, align 8 + %st_mode43 = getelementptr inbounds %struct.stat64, %struct.stat64* %30, i32 0, i32 3 + store i32 %or, i32* %st_mode43, align 8 + br label %if.end53 + +if.else45: ; preds = %if.end4 + %31 = load i8*, i8** %pathname.addr, align 8 + %call46 = call i8* @__concretize_string(i8* %31) + %32 = load i32, i32* %flags.addr, align 4 + %33 = load i32, i32* %mode.addr, align 4 + %call47 = call i64 (i64, ...) @syscall(i64 2, i8* %call46, i32 %32, i32 %33) #11 + %conv = trunc i64 %call47 to i32 + store i32 %conv, i32* %os_fd, align 4 + %34 = load i32, i32* %os_fd, align 4 + %cmp48 = icmp eq i32 %34, -1 + br i1 %cmp48, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.else45 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end51: ; preds = %if.else45 + %35 = load i32, i32* %os_fd, align 4 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd52 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 0 + store i32 %35, i32* %fd52, align 8 + br label %if.end53 + +if.end53: ; preds = %if.end51, %if.else + %37 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %37, i32 0, i32 1 + store i32 1, i32* %flags54, align 4 + %38 = load i32, i32* %flags.addr, align 4 + %and55 = and i32 %38, 3 + %cmp56 = icmp eq i32 %and55, 0 + br i1 %cmp56, label %if.then58, label %if.else61 + +if.then58: ; preds = %if.end53 + %39 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags59 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %39, i32 0, i32 1 + %40 = load i32, i32* %flags59, align 4 + %or60 = or i32 %40, 4 + store i32 %or60, i32* %flags59, align 4 + br label %if.end72 + +if.else61: ; preds = %if.end53 + %41 = load i32, i32* %flags.addr, align 4 + %and62 = and i32 %41, 3 + %cmp63 = icmp eq i32 %and62, 1 + %42 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags66 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %42, i32 0, i32 1 + %43 = load i32, i32* %flags66, align 4 + br i1 %cmp63, label %if.then65, label %if.else68 + +if.then65: ; preds = %if.else61 + %or67 = or i32 %43, 8 + store i32 %or67, i32* %flags66, align 4 + br label %if.end72 + +if.else68: ; preds = %if.else61 + %or70 = or i32 %43, 12 + store i32 %or70, i32* %flags66, align 4 + br label %if.end72 + +if.end72: ; preds = %if.then65, %if.else68, %if.then58 + %44 = load i32, i32* %fd, align 4 + store i32 %44, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end72, %if.then50, %if.then35, %if.then30, %if.then22, %if.then14, %if.then3 + %45 = load i32, i32* %retval, align 4 + ret i32 %45 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @gs_warning(i8* %message) #3 { +entry: + %message.addr = alloca i8*, align 8 + store i8* %message, i8** %message.addr, align 8 + %0 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %0) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.25, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @has_permission(i32 %flags, %struct.stat64* %s) #3 { +entry: + %retval = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %s.addr = alloca %struct.stat64*, align 8 + %write_access = alloca i32, align 4 + %read_access = alloca i32, align 4 + %mode = alloca i32, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store %struct.stat64* %s, %struct.stat64** %s.addr, align 8 + %0 = load %struct.stat64*, %struct.stat64** %s.addr, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %0, i32 0, i32 3 + %1 = load i32, i32* %st_mode, align 8 + store i32 %1, i32* %mode, align 4 + %2 = load i32, i32* %flags.addr, align 4 + %and = and i32 %2, 0 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %3 = load i32, i32* %flags.addr, align 4 + %and1 = and i32 %3, 2 + %tobool2 = icmp ne i32 %and1, 0 + br i1 %tobool2, label %if.then, label %if.else + +if.then: ; preds = %lor.lhs.false, %entry + store i32 1, i32* %read_access, align 4 + br label %if.end + +if.else: ; preds = %lor.lhs.false + store i32 0, i32* %read_access, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %4 = load i32, i32* %flags.addr, align 4 + %and3 = and i32 %4, 1 + %tobool4 = icmp ne i32 %and3, 0 + br i1 %tobool4, label %if.then8, label %lor.lhs.false5 + +lor.lhs.false5: ; preds = %if.end + %5 = load i32, i32* %flags.addr, align 4 + %and6 = and i32 %5, 2 + %tobool7 = icmp ne i32 %and6, 0 + br i1 %tobool7, label %if.then8, label %if.else9 + +if.then8: ; preds = %lor.lhs.false5, %if.end + store i32 1, i32* %write_access, align 4 + br label %if.end10 + +if.else9: ; preds = %lor.lhs.false5 + store i32 0, i32* %write_access, align 4 + br label %if.end10 + +if.end10: ; preds = %if.else9, %if.then8 + %6 = load i32, i32* %read_access, align 4 + %tobool11 = icmp ne i32 %6, 0 + br i1 %tobool11, label %land.lhs.true, label %if.end18 + +land.lhs.true: ; preds = %if.end10 + %7 = load i32, i32* %mode, align 4 + %and12 = and i32 %7, 256 + %8 = load i32, i32* %mode, align 4 + %and13 = and i32 %8, 32 + %or = or i32 %and12, %and13 + %9 = load i32, i32* %mode, align 4 + %and14 = and i32 %9, 4 + %or15 = or i32 %or, %and14 + %tobool16 = icmp ne i32 %or15, 0 + br i1 %tobool16, label %if.then17, label %if.end18 + +if.then17: ; preds = %land.lhs.true + store i32 0, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %land.lhs.true, %if.end10 + %10 = load i32, i32* %write_access, align 4 + %tobool19 = icmp ne i32 %10, 0 + br i1 %tobool19, label %land.lhs.true20, label %if.end28 + +land.lhs.true20: ; preds = %if.end18 + %11 = load i32, i32* %mode, align 4 + %and21 = and i32 %11, 128 + %12 = load i32, i32* %mode, align 4 + %and22 = and i32 %12, 16 + %or23 = or i32 %and21, %and22 + %13 = load i32, i32* %mode, align 4 + %and24 = and i32 %13, 2 + %or25 = or i32 %or23, %and24 + %tobool26 = icmp ne i32 %or25, 0 + br i1 %tobool26, label %if.end28, label %if.then27 + +if.then27: ; preds = %land.lhs.true20 + store i32 0, i32* %retval, align 4 + br label %return + +if.end28: ; preds = %land.lhs.true20, %if.end18 + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end28, %if.then27, %if.then17 + %14 = load i32, i32* %retval, align 4 + ret i32 %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_openat(i32 %basefd, i8* %pathname, i32 %flags, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %basefd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %fd = alloca i32, align 4 + %bf = alloca %struct.exe_file_t*, align 8 + %os_fd = alloca i32, align 4 + store i32 %basefd, i32* %basefd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %basefd.addr, align 4 + %cmp = icmp ne i32 %0, -100 + br i1 %cmp, label %if.then, label %if.end8 + +if.then: ; preds = %entry + %1 = load i32, i32* %basefd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %bf, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %bf, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.else, label %if.then1 + +if.then1: ; preds = %if.then + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %bf, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 3 + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool3 = icmp ne %struct.exe_disk_file_t* %4, null + br i1 %tobool3, label %if.then4, label %if.end6 + +if.then4: ; preds = %if.else + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0)) + %call5 = call i32* @__errno_location() #25 + store i32 2, i32* %call5, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.else + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %bf, align 8 + %fd7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd7, align 8 + store i32 %6, i32* %basefd.addr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end6, %entry + %7 = load i8*, i8** %pathname.addr, align 8 + %call9 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %7) + %tobool10 = icmp ne %struct.exe_disk_file_t* %call9, null + br i1 %tobool10, label %if.then11, label %if.end13 + +if.then11: ; preds = %if.end8 + %8 = load i8*, i8** %pathname.addr, align 8 + %9 = load i32, i32* %flags.addr, align 4 + %10 = load i32, i32* %mode.addr, align 4 + %call12 = call i32 @__fd_open(i8* %8, i32 %9, i32 %10) + store i32 %call12, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.end8 + store i32 0, i32* %fd, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end13 + %11 = load i32, i32* %fd, align 4 + %cmp14 = icmp slt i32 %11, 32 + br i1 %cmp14, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %12 = load i32, i32* %fd, align 4 + %idxprom = sext i32 %12 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + %flags15 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %arrayidx, i32 0, i32 1 + %13 = load i32, i32* %flags15, align 4 + %and = and i32 %13, 1 + %tobool16 = icmp ne i32 %and, 0 + br i1 %tobool16, label %for.inc, label %for.end + +for.inc: ; preds = %for.body + %14 = load i32, i32* %fd, align 4 + %inc = add nsw i32 %14, 1 + store i32 %inc, i32* %fd, align 4 + br label %for.cond + +for.end: ; preds = %for.body, %for.cond + %15 = load i32, i32* %fd, align 4 + %cmp19 = icmp eq i32 %15, 32 + br i1 %cmp19, label %if.then20, label %if.end22 + +if.then20: ; preds = %for.end + %call21 = call i32* @__errno_location() #25 + store i32 24, i32* %call21, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end22: ; preds = %for.end + %16 = load i32, i32* %fd, align 4 + %idxprom23 = sext i32 %16 to i64 + %arrayidx24 = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom23 + store %struct.exe_file_t* %arrayidx24, %struct.exe_file_t** %f, align 8 + %17 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %18 = bitcast %struct.exe_file_t* %17 to i8* + %19 = call i8* @memset(i8* %18, i32 0, i64 24) + %20 = load i32, i32* %basefd.addr, align 4 + %conv = sext i32 %20 to i64 + %21 = load i8*, i8** %pathname.addr, align 8 + %call25 = call i8* @__concretize_string(i8* %21) + %22 = load i32, i32* %flags.addr, align 4 + %conv26 = sext i32 %22 to i64 + %23 = load i32, i32* %mode.addr, align 4 + %call27 = call i64 (i64, ...) @syscall(i64 257, i64 %conv, i8* %call25, i64 %conv26, i32 %23) #11 + %conv28 = trunc i64 %call27 to i32 + store i32 %conv28, i32* %os_fd, align 4 + %24 = load i32, i32* %os_fd, align 4 + %cmp29 = icmp eq i32 %24, -1 + br i1 %cmp29, label %if.then31, label %if.end32 + +if.then31: ; preds = %if.end22 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end32: ; preds = %if.end22 + %25 = load i32, i32* %os_fd, align 4 + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd33 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 0 + store i32 %25, i32* %fd33, align 8 + %27 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags34 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %27, i32 0, i32 1 + store i32 1, i32* %flags34, align 4 + %28 = load i32, i32* %flags.addr, align 4 + %and35 = and i32 %28, 3 + %cmp36 = icmp eq i32 %and35, 0 + br i1 %cmp36, label %if.then38, label %if.else40 + +if.then38: ; preds = %if.end32 + %29 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags39 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %29, i32 0, i32 1 + %30 = load i32, i32* %flags39, align 4 + %or = or i32 %30, 4 + store i32 %or, i32* %flags39, align 4 + br label %if.end51 + +if.else40: ; preds = %if.end32 + %31 = load i32, i32* %flags.addr, align 4 + %and41 = and i32 %31, 3 + %cmp42 = icmp eq i32 %and41, 1 + %32 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags45 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %32, i32 0, i32 1 + %33 = load i32, i32* %flags45, align 4 + br i1 %cmp42, label %if.then44, label %if.else47 + +if.then44: ; preds = %if.else40 + %or46 = or i32 %33, 8 + store i32 %or46, i32* %flags45, align 4 + br label %if.end51 + +if.else47: ; preds = %if.else40 + %or49 = or i32 %33, 12 + store i32 %or49, i32* %flags45, align 4 + br label %if.end51 + +if.end51: ; preds = %if.then44, %if.else47, %if.then38 + %34 = load i32, i32* %fd, align 4 + store i32 %34, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end51, %if.then31, %if.then20, %if.then11, %if.then4, %if.then1 + %35 = load i32, i32* %retval, align 4 + ret i32 %35 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.exe_file_t* @__get_file(i32 %fd) #3 { +entry: + %retval = alloca %struct.exe_file_t*, align 8 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %cmp = icmp sge i32 %0, 0 + %1 = load i32, i32* %fd.addr, align 4 + %cmp1 = icmp slt i32 %1, 32 + %or.cond = and i1 %cmp, %cmp1 + br i1 %or.cond, label %if.then, label %if.end3 + +if.then: ; preds = %entry + %2 = load i32, i32* %fd.addr, align 4 + %idxprom = sext i32 %2 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + store %struct.exe_file_t* %arrayidx, %struct.exe_file_t** %f, align 8 + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 1 + %4 = load i32, i32* %flags, align 4 + %and = and i32 %4, 1 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.then + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + store %struct.exe_file_t* %5, %struct.exe_file_t** %retval, align 8 + br label %return + +if.end3: ; preds = %if.then, %entry + store %struct.exe_file_t* null, %struct.exe_file_t** %retval, align 8 + br label %return + +return: ; preds = %if.end3, %if.then2 + %6 = load %struct.exe_file_t*, %struct.exe_file_t** %retval, align 8 + ret %struct.exe_file_t* %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @utimes(i8* nonnull %path, %struct.timespec* %times) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %times.addr = alloca %struct.timespec*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + %newTimes = alloca [2 x %struct.timespec], align 16 + store i8* %path, i8** %path.addr, align 8 + store %struct.timespec* %times, %struct.timespec** %times.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end12 + +if.then: ; preds = %entry + %2 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %tobool1 = icmp ne %struct.timespec* %2, null + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + %arrayidx = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 0 + %call3 = call i32 @gettimeofday(%struct.timespec* %arrayidx, i8* null) #11 + %arrayidx4 = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 1 + %arrayidx5 = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 0 + %3 = bitcast %struct.timespec* %arrayidx4 to i8* + %4 = bitcast %struct.timespec* %arrayidx5 to i8* + %5 = call i8* @memcpy(i8* %3, i8* %4, i64 16) + %arraydecay = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 0 + store %struct.timespec* %arraydecay, %struct.timespec** %times.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %6 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %arrayidx6 = getelementptr inbounds %struct.timespec, %struct.timespec* %6, i64 0 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %arrayidx6, i32 0, i32 0 + %7 = load i64, i64* %tv_sec, align 8 + %8 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %8, i32 0, i32 2 + %9 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_atim = getelementptr inbounds %struct.stat64, %struct.stat64* %9, i32 0, i32 11 + %tv_sec7 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim, i32 0, i32 0 + store i64 %7, i64* %tv_sec7, align 8 + %10 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %arrayidx8 = getelementptr inbounds %struct.timespec, %struct.timespec* %10, i64 1 + %tv_sec9 = getelementptr inbounds %struct.timespec, %struct.timespec* %arrayidx8, i32 0, i32 0 + %11 = load i64, i64* %tv_sec9, align 8 + %12 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat10 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %12, i32 0, i32 2 + %13 = load %struct.stat64*, %struct.stat64** %stat10, align 8 + %st_mtim = getelementptr inbounds %struct.stat64, %struct.stat64* %13, i32 0, i32 12 + %tv_sec11 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim, i32 0, i32 0 + store i64 %11, i64* %tv_sec11, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.end12: ; preds = %entry + %14 = load i8*, i8** %path.addr, align 8 + %call13 = call i8* @__concretize_string(i8* %14) + %15 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %call14 = call i64 (i64, ...) @syscall(i64 235, i8* %call13, %struct.timespec* %15) #11 + %conv = trunc i64 %call14 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end12, %if.end + %16 = load i32, i32* %retval, align 4 + ret i32 %16 +} + +; Function Attrs: nounwind +declare dso_local i32 @gettimeofday(%struct.timespec*, i8*) #4 + +; Function Attrs: argmemonly nounwind willreturn +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* noalias nocapture writeonly, i8* noalias nocapture readonly, i64, i1 immarg) #9 + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @futimesat(i32 %fd, i8* %path, %struct.timespec* %times) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %times.addr = alloca %struct.timespec*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.timespec* %times, %struct.timespec** %times.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %cmp = icmp ne i32 %0, -100 + br i1 %cmp, label %if.then, label %if.end8 + +if.then: ; preds = %entry + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.else, label %if.then1 + +if.then1: ; preds = %if.then + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 3 + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool3 = icmp ne %struct.exe_disk_file_t* %4, null + br i1 %tobool3, label %if.then4, label %if.end6 + +if.then4: ; preds = %if.else + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0)) + %call5 = call i32* @__errno_location() #25 + store i32 2, i32* %call5, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.else + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd7, align 8 + store i32 %6, i32* %fd.addr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end6, %entry + %7 = load i8*, i8** %path.addr, align 8 + %call9 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %7) + %tobool10 = icmp ne %struct.exe_disk_file_t* %call9, null + br i1 %tobool10, label %if.then11, label %if.end13 + +if.then11: ; preds = %if.end8 + %8 = load i8*, i8** %path.addr, align 8 + %9 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %call12 = call i32 @utimes(i8* %8, %struct.timespec* %9) #11 + store i32 %call12, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.end8 + %10 = load i32, i32* %fd.addr, align 4 + %conv = sext i32 %10 to i64 + %11 = load i8*, i8** %path.addr, align 8 + %tobool14 = icmp ne i8* %11, null + br i1 %tobool14, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end13 + %12 = load i8*, i8** %path.addr, align 8 + %call15 = call i8* @__concretize_string(i8* %12) + br label %cond.end + +cond.end: ; preds = %if.end13, %cond.true + %cond = phi i8* [ %call15, %cond.true ], [ null, %if.end13 ] + %13 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %call16 = call i64 (i64, ...) @syscall(i64 261, i64 %conv, i8* %cond, %struct.timespec* %13) #11 + %conv17 = trunc i64 %call16 to i32 + store i32 %conv17, i32* %retval, align 4 + br label %return + +return: ; preds = %cond.end, %if.then11, %if.then4, %if.then1 + %14 = load i32, i32* %retval, align 4 + ret i32 %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @close(i32 %fd) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %r = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 0, i32* %r, align 4 + %0 = load i32, i32* @close.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @close.n_calls, align 4 + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @close.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %9 = bitcast %struct.exe_file_t* %8 to i8* + %10 = call i8* @memset(i8* %9, i32 0, i64 24) + %11 = load i32, i32* %r, align 4 + store i32 %11, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %12 = load i32, i32* %retval, align 4 + ret i32 %12 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @read(i32 %fd, i8* %buf, i64 %count) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %r = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + %0 = load i32, i32* @read.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @read.n_calls, align 4 + %1 = load i64, i64* %count.addr, align 8 + %cmp = icmp eq i64 %1, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i64 0, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %buf.addr, align 8 + %cmp1 = icmp eq i8* %2, null + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + %call = call i32* @__errno_location() #25 + store i32 14, i32* %call, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %3 = load i32, i32* %fd.addr, align 4 + %call4 = call %struct.exe_file_t* @__get_file(i32 %3) + store %struct.exe_file_t* %call4, %struct.exe_file_t** %f, align 8 + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %4, null + br i1 %tobool, label %if.end7, label %if.then5 + +if.then5: ; preds = %if.end3 + %call6 = call i32* @__errno_location() #25 + store i32 9, i32* %call6, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end7: ; preds = %if.end3 + %5 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool8 = icmp ne i32 %5, 0 + br i1 %tobool8, label %land.lhs.true, label %if.end12 + +land.lhs.true: ; preds = %if.end7 + %6 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %7 = load i32, i32* %6, align 4 + %8 = load i32, i32* @read.n_calls, align 4 + %cmp9 = icmp eq i32 %7, %8 + br i1 %cmp9, label %if.then10, label %if.end12 + +if.then10: ; preds = %land.lhs.true + %9 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %9, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call11 = call i32* @__errno_location() #25 + store i32 5, i32* %call11, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end12: ; preds = %land.lhs.true, %if.end7 + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 3 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool13 = icmp ne %struct.exe_disk_file_t* %11, null + br i1 %tobool13, label %if.else38, label %if.then14 + +if.then14: ; preds = %if.end12 + %12 = load i8*, i8** %buf.addr, align 8 + %call15 = call i8* @__concretize_ptr(i8* %12) + store i8* %call15, i8** %buf.addr, align 8 + %13 = load i64, i64* %count.addr, align 8 + %call16 = call i64 @__concretize_size(i64 %13) + store i64 %call16, i64* %count.addr, align 8 + %14 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd17 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %14, i32 0, i32 0 + %15 = load i32, i32* %fd17, align 8 + %cmp18 = icmp eq i32 %15, 0 + %16 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd20 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %16, i32 0, i32 0 + %17 = load i32, i32* %fd20, align 8 + %18 = load i8*, i8** %buf.addr, align 8 + %19 = load i64, i64* %count.addr, align 8 + br i1 %cmp18, label %if.then19, label %if.else + +if.then19: ; preds = %if.then14 + %call21 = call i64 (i64, ...) @syscall(i64 0, i32 %17, i8* %18, i64 %19) #11 + %conv = trunc i64 %call21 to i32 + store i32 %conv, i32* %r, align 4 + br label %if.end25 + +if.else: ; preds = %if.then14 + %20 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %20, i32 0, i32 2 + %21 = load i64, i64* %off, align 8 + %call23 = call i64 (i64, ...) @syscall(i64 17, i32 %17, i8* %18, i64 %19, i64 %21) #11 + %conv24 = trunc i64 %call23 to i32 + store i32 %conv24, i32* %r, align 4 + br label %if.end25 + +if.end25: ; preds = %if.else, %if.then19 + %22 = load i32, i32* %r, align 4 + %cmp26 = icmp eq i32 %22, -1 + br i1 %cmp26, label %if.then28, label %if.end29 + +if.then28: ; preds = %if.end25 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end29: ; preds = %if.end25 + %23 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd30 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %23, i32 0, i32 0 + %24 = load i32, i32* %fd30, align 8 + %cmp31 = icmp ne i32 %24, 0 + br i1 %cmp31, label %if.then33, label %if.end36 + +if.then33: ; preds = %if.end29 + %25 = load i32, i32* %r, align 4 + %conv34 = sext i32 %25 to i64 + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off35 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 2 + %27 = load i64, i64* %off35, align 8 + %add = add nsw i64 %27, %conv34 + store i64 %add, i64* %off35, align 8 + br label %if.end36 + +if.end36: ; preds = %if.then33, %if.end29 + %28 = load i32, i32* %r, align 4 + %conv37 = sext i32 %28 to i64 + store i64 %conv37, i64* %retval, align 8 + br label %return + +if.else38: ; preds = %if.end12 + %29 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off39 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %29, i32 0, i32 2 + %30 = load i64, i64* %off39, align 8 + %cmp40 = icmp sge i64 %30, 0 + br i1 %cmp40, label %if.end44, label %if.else43 + +if.else43: ; preds = %if.else38 + call void @__assert_fail(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.3, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 393, i8* getelementptr inbounds ([34 x i8], [34 x i8]* @__PRETTY_FUNCTION__.read, i64 0, i64 0)) #26 + unreachable + +if.end44: ; preds = %if.else38 + %31 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile45 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %31, i32 0, i32 3 + %32 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile45, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %32, i32 0, i32 0 + %33 = load i32, i32* %size, align 8 + %conv46 = zext i32 %33 to i64 + %34 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off47 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %34, i32 0, i32 2 + %35 = load i64, i64* %off47, align 8 + %cmp48 = icmp slt i64 %conv46, %35 + br i1 %cmp48, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.end44 + store i64 0, i64* %retval, align 8 + br label %return + +if.end51: ; preds = %if.end44 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off52 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 2 + %37 = load i64, i64* %off52, align 8 + %38 = load i64, i64* %count.addr, align 8 + %add53 = add i64 %37, %38 + %39 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %39, i32 0, i32 3 + %40 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile54, align 8 + %size55 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %40, i32 0, i32 0 + %41 = load i32, i32* %size55, align 8 + %conv56 = zext i32 %41 to i64 + %cmp57 = icmp ugt i64 %add53, %conv56 + br i1 %cmp57, label %if.then59, label %if.end64 + +if.then59: ; preds = %if.end51 + %42 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile60 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %42, i32 0, i32 3 + %43 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile60, align 8 + %size61 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %43, i32 0, i32 0 + %44 = load i32, i32* %size61, align 8 + %conv62 = zext i32 %44 to i64 + %45 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off63 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %45, i32 0, i32 2 + %46 = load i64, i64* %off63, align 8 + %sub = sub nsw i64 %conv62, %46 + store i64 %sub, i64* %count.addr, align 8 + br label %if.end64 + +if.end64: ; preds = %if.then59, %if.end51 + %47 = load i8*, i8** %buf.addr, align 8 + %48 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile65 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %48, i32 0, i32 3 + %49 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile65, align 8 + %contents = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %49, i32 0, i32 1 + %50 = load i8*, i8** %contents, align 8 + %51 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off66 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %51, i32 0, i32 2 + %52 = load i64, i64* %off66, align 8 + %add.ptr = getelementptr inbounds i8, i8* %50, i64 %52 + %53 = load i64, i64* %count.addr, align 8 + %54 = call i8* @memcpy(i8* %47, i8* %add.ptr, i64 %53) + %55 = load i64, i64* %count.addr, align 8 + %56 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off67 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %56, i32 0, i32 2 + %57 = load i64, i64* %off67, align 8 + %add68 = add i64 %57, %55 + store i64 %add68, i64* %off67, align 8 + %58 = load i64, i64* %count.addr, align 8 + store i64 %58, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end64, %if.then50, %if.end36, %if.then28, %if.then10, %if.then5, %if.then2, %if.then + %59 = load i64, i64* %retval, align 8 + ret i64 %59 +} + +; Function Attrs: noreturn nounwind +declare dso_local void @__assert_fail(i8*, i8*, i32, i8*) #10 + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @write(i32 %fd, i8* %buf, i64 %count) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %r = alloca i32, align 4 + %actual_count = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + %0 = load i32, i32* @write.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @write.n_calls, align 4 + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @write.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + br i1 %tobool6, label %if.else42, label %if.then7 + +if.then7: ; preds = %if.end5 + %10 = load i8*, i8** %buf.addr, align 8 + %call8 = call i8* @__concretize_ptr(i8* %10) + store i8* %call8, i8** %buf.addr, align 8 + %11 = load i64, i64* %count.addr, align 8 + %call9 = call i64 @__concretize_size(i64 %11) + store i64 %call9, i64* %count.addr, align 8 + %12 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd10 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %12, i32 0, i32 0 + %13 = load i32, i32* %fd10, align 8 + %cmp11 = icmp eq i32 %13, 1 + br i1 %cmp11, label %if.then14, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then7 + %14 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd12 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %14, i32 0, i32 0 + %15 = load i32, i32* %fd12, align 8 + %cmp13 = icmp eq i32 %15, 2 + br i1 %cmp13, label %if.then14, label %if.else + +if.then14: ; preds = %lor.lhs.false, %if.then7 + %16 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd15 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %16, i32 0, i32 0 + %17 = load i32, i32* %fd15, align 8 + %18 = load i8*, i8** %buf.addr, align 8 + %19 = load i64, i64* %count.addr, align 8 + %call16 = call i64 (i64, ...) @syscall(i64 1, i32 %17, i8* %18, i64 %19) #11 + %conv = trunc i64 %call16 to i32 + store i32 %conv, i32* %r, align 4 + br label %if.end20 + +if.else: ; preds = %lor.lhs.false + %20 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd17 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %20, i32 0, i32 0 + %21 = load i32, i32* %fd17, align 8 + %22 = load i8*, i8** %buf.addr, align 8 + %23 = load i64, i64* %count.addr, align 8 + %24 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %24, i32 0, i32 2 + %25 = load i64, i64* %off, align 8 + %call18 = call i64 (i64, ...) @syscall(i64 18, i32 %21, i8* %22, i64 %23, i64 %25) #11 + %conv19 = trunc i64 %call18 to i32 + store i32 %conv19, i32* %r, align 4 + br label %if.end20 + +if.end20: ; preds = %if.else, %if.then14 + %26 = load i32, i32* %r, align 4 + %cmp21 = icmp eq i32 %26, -1 + br i1 %cmp21, label %if.then23, label %if.end24 + +if.then23: ; preds = %if.end20 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end24: ; preds = %if.end20 + %27 = load i32, i32* %r, align 4 + %cmp25 = icmp sge i32 %27, 0 + br i1 %cmp25, label %if.end29, label %if.else28 + +if.else28: ; preds = %if.end24 + call void @__assert_fail(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.5.7, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 445, i8* getelementptr inbounds ([41 x i8], [41 x i8]* @__PRETTY_FUNCTION__.write, i64 0, i64 0)) #26 + unreachable + +if.end29: ; preds = %if.end24 + %28 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd30 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %28, i32 0, i32 0 + %29 = load i32, i32* %fd30, align 8 + %cmp31 = icmp ne i32 %29, 1 + br i1 %cmp31, label %land.lhs.true33, label %if.end40 + +land.lhs.true33: ; preds = %if.end29 + %30 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd34 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %30, i32 0, i32 0 + %31 = load i32, i32* %fd34, align 8 + %cmp35 = icmp ne i32 %31, 2 + br i1 %cmp35, label %if.then37, label %if.end40 + +if.then37: ; preds = %land.lhs.true33 + %32 = load i32, i32* %r, align 4 + %conv38 = sext i32 %32 to i64 + %33 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off39 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %33, i32 0, i32 2 + %34 = load i64, i64* %off39, align 8 + %add = add nsw i64 %34, %conv38 + store i64 %add, i64* %off39, align 8 + br label %if.end40 + +if.end40: ; preds = %if.then37, %land.lhs.true33, %if.end29 + %35 = load i32, i32* %r, align 4 + %conv41 = sext i32 %35 to i64 + store i64 %conv41, i64* %retval, align 8 + br label %return + +if.else42: ; preds = %if.end5 + store i64 0, i64* %actual_count, align 8 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off43 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 2 + %37 = load i64, i64* %off43, align 8 + %38 = load i64, i64* %count.addr, align 8 + %add44 = add i64 %37, %38 + %39 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile45 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %39, i32 0, i32 3 + %40 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile45, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %40, i32 0, i32 0 + %41 = load i32, i32* %size, align 8 + %conv46 = zext i32 %41 to i64 + %cmp47 = icmp ule i64 %add44, %conv46 + br i1 %cmp47, label %if.then49, label %if.else50 + +if.then49: ; preds = %if.else42 + %42 = load i64, i64* %count.addr, align 8 + store i64 %42, i64* %actual_count, align 8 + br label %if.end67 + +if.else50: ; preds = %if.else42 + %43 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 3), align 8 + %tobool51 = icmp ne i32 %43, 0 + br i1 %tobool51, label %if.then52, label %if.else53 + +if.then52: ; preds = %if.else50 + call void @__assert_fail(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.6, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 458, i8* getelementptr inbounds ([41 x i8], [41 x i8]* @__PRETTY_FUNCTION__.write, i64 0, i64 0)) #26 + unreachable + +if.else53: ; preds = %if.else50 + %44 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %44, i32 0, i32 2 + %45 = load i64, i64* %off54, align 8 + %46 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile55 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %46, i32 0, i32 3 + %47 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile55, align 8 + %size56 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %47, i32 0, i32 0 + %48 = load i32, i32* %size56, align 8 + %conv57 = zext i32 %48 to i64 + %cmp58 = icmp slt i64 %45, %conv57 + br i1 %cmp58, label %if.then60, label %if.end67 + +if.then60: ; preds = %if.else53 + %49 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile61 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %49, i32 0, i32 3 + %50 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile61, align 8 + %size62 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %50, i32 0, i32 0 + %51 = load i32, i32* %size62, align 8 + %conv63 = zext i32 %51 to i64 + %52 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off64 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %52, i32 0, i32 2 + %53 = load i64, i64* %off64, align 8 + %sub = sub nsw i64 %conv63, %53 + store i64 %sub, i64* %actual_count, align 8 + br label %if.end67 + +if.end67: ; preds = %if.then60, %if.else53, %if.then49 + %54 = load i64, i64* %actual_count, align 8 + %tobool68 = icmp ne i64 %54, 0 + br i1 %tobool68, label %if.then69, label %if.end72 + +if.then69: ; preds = %if.end67 + %55 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile70 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %55, i32 0, i32 3 + %56 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile70, align 8 + %contents = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %56, i32 0, i32 1 + %57 = load i8*, i8** %contents, align 8 + %58 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off71 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %58, i32 0, i32 2 + %59 = load i64, i64* %off71, align 8 + %add.ptr = getelementptr inbounds i8, i8* %57, i64 %59 + %60 = load i8*, i8** %buf.addr, align 8 + %61 = load i64, i64* %actual_count, align 8 + %62 = call i8* @memcpy(i8* %add.ptr, i8* %60, i64 %61) + br label %if.end72 + +if.end72: ; preds = %if.then69, %if.end67 + %63 = load i64, i64* %count.addr, align 8 + %64 = load i64, i64* %actual_count, align 8 + %cmp73 = icmp ne i64 %63, %64 + br i1 %cmp73, label %if.then75, label %if.end76 + +if.then75: ; preds = %if.end72 + call void @gs_warning(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.7, i64 0, i64 0)) + br label %if.end76 + +if.end76: ; preds = %if.then75, %if.end72 + %65 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile77 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %65, i32 0, i32 3 + %66 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile77, align 8 + %67 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + %cmp78 = icmp eq %struct.exe_disk_file_t* %66, %67 + br i1 %cmp78, label %if.then80, label %if.end84 + +if.then80: ; preds = %if.end76 + %68 = load i64, i64* %actual_count, align 8 + %69 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 3), align 8 + %conv81 = zext i32 %69 to i64 + %add82 = add i64 %conv81, %68 + %conv83 = trunc i64 %add82 to i32 + store i32 %conv83, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 3), align 8 + br label %if.end84 + +if.end84: ; preds = %if.then80, %if.end76 + %70 = load i64, i64* %count.addr, align 8 + %71 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off85 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %71, i32 0, i32 2 + %72 = load i64, i64* %off85, align 8 + %add86 = add i64 %72, %70 + store i64 %add86, i64* %off85, align 8 + %73 = load i64, i64* %count.addr, align 8 + store i64 %73, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end84, %if.end40, %if.then23, %if.then3, %if.then + %74 = load i64, i64* %retval, align 8 + ret i64 %74 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @__fd_lseek(i32 %fd, i64 %offset, i32 %whence) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + %new_off = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + %4 = load i32, i32* %whence.addr, align 4 + br i1 %tobool2, label %if.end24, label %if.then3 + +if.then3: ; preds = %if.end + %cmp = icmp eq i32 %4, 0 + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd5 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd5, align 8 + br i1 %cmp, label %if.then4, label %if.else + +if.then4: ; preds = %if.then3 + %7 = load i64, i64* %offset.addr, align 8 + %call6 = call i64 (i64, ...) @syscall(i64 8, i32 %6, i64 %7, i32 0) #11 + store i64 %call6, i64* %new_off, align 8 + br label %if.end19 + +if.else: ; preds = %if.then3 + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 2 + %9 = load i64, i64* %off, align 8 + %call8 = call i64 (i64, ...) @syscall(i64 8, i32 %6, i64 %9, i32 0) #11 + store i64 %call8, i64* %new_off, align 8 + %10 = load i64, i64* %new_off, align 8 + %cmp9 = icmp ne i64 %10, -1 + br i1 %cmp9, label %if.then10, label %if.end19 + +if.then10: ; preds = %if.else + %11 = load i64, i64* %new_off, align 8 + %12 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off11 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %12, i32 0, i32 2 + %13 = load i64, i64* %off11, align 8 + %cmp12 = icmp eq i64 %11, %13 + br i1 %cmp12, label %if.end15, label %if.else14 + +if.else14: ; preds = %if.then10 + call void @__assert_fail(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.8, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 504, i8* getelementptr inbounds ([38 x i8], [38 x i8]* @__PRETTY_FUNCTION__.__fd_lseek, i64 0, i64 0)) #26 + unreachable + +if.end15: ; preds = %if.then10 + %14 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd16 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %14, i32 0, i32 0 + %15 = load i32, i32* %fd16, align 8 + %16 = load i64, i64* %offset.addr, align 8 + %17 = load i32, i32* %whence.addr, align 4 + %call17 = call i64 (i64, ...) @syscall(i64 8, i32 %15, i64 %16, i32 %17) #11 + store i64 %call17, i64* %new_off, align 8 + br label %if.end19 + +if.end19: ; preds = %if.else, %if.end15, %if.then4 + %18 = load i64, i64* %new_off, align 8 + %cmp20 = icmp eq i64 %18, -1 + br i1 %cmp20, label %if.then21, label %if.end22 + +if.then21: ; preds = %if.end19 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end22: ; preds = %if.end19 + %19 = load i64, i64* %new_off, align 8 + %20 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off23 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %20, i32 0, i32 2 + store i64 %19, i64* %off23, align 8 + %21 = load i64, i64* %new_off, align 8 + store i64 %21, i64* %retval, align 8 + br label %return + +if.end24: ; preds = %if.end + br label %NodeBlock3 + +NodeBlock3: ; preds = %if.end24 + %case.cmp4 = icmp eq i32 %4, 0 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %4, 1 + br i1 %case.cmp2, label %sw.bb25, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %4, 2 + br i1 %case.cmp, label %sw.bb27, label %newDefault + +sw.bb: ; preds = %NodeBlock3 + %22 = load i64, i64* %offset.addr, align 8 + store i64 %22, i64* %new_off, align 8 + br label %sw.epilog + +sw.bb25: ; preds = %NodeBlock1 + %23 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off26 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %23, i32 0, i32 2 + %24 = load i64, i64* %off26, align 8 + %25 = load i64, i64* %offset.addr, align 8 + %add = add nsw i64 %24, %25 + store i64 %add, i64* %new_off, align 8 + br label %sw.epilog + +sw.bb27: ; preds = %NodeBlock + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile28 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 3 + %27 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile28, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %27, i32 0, i32 0 + %28 = load i32, i32* %size, align 8 + %conv = zext i32 %28 to i64 + %29 = load i64, i64* %offset.addr, align 8 + %add29 = add nsw i64 %conv, %29 + store i64 %add29, i64* %new_off, align 8 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + %call30 = call i32* @__errno_location() #25 + store i32 22, i32* %call30, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +sw.epilog: ; preds = %sw.bb27, %sw.bb25, %sw.bb + %30 = load i64, i64* %new_off, align 8 + %cmp31 = icmp slt i64 %30, 0 + br i1 %cmp31, label %if.then33, label %if.end35 + +if.then33: ; preds = %sw.epilog + %call34 = call i32* @__errno_location() #25 + store i32 22, i32* %call34, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end35: ; preds = %sw.epilog + %31 = load i64, i64* %new_off, align 8 + %32 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off36 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %32, i32 0, i32 2 + store i64 %31, i64* %off36, align 8 + %33 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off37 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %33, i32 0, i32 2 + %34 = load i64, i64* %off37, align 8 + store i64 %34, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end35, %if.then33, %sw.default, %if.end22, %if.then21, %if.then + %35 = load i64, i64* %retval, align 8 + ret i64 %35 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_stat(i8* %path, %struct.stat64* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %3 = bitcast %struct.stat64* %2 to i8* + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %4, i32 0, i32 2 + %5 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %6 = bitcast %struct.stat64* %5 to i8* + %7 = call i8* @memcpy(i8* %3, i8* %6, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load i8*, i8** %path.addr, align 8 + %call1 = call i8* @__concretize_string(i8* %8) + %9 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %call2 = call i64 (i64, ...) @syscall(i64 4, i8* %call1, %struct.stat64* %9) #11 + %conv = trunc i64 %call2 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %10 = load i32, i32* %retval, align 4 + ret i32 %10 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstatat(i32 %fd, i8* nonnull %path, %struct.stat64* nonnull %buf, i32 %flags) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %flags.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %dfile9 = alloca %struct.exe_disk_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %cmp = icmp ne i32 %0, -100 + br i1 %cmp, label %if.then, label %if.end8 + +if.then: ; preds = %entry + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.else, label %if.then1 + +if.then1: ; preds = %if.then + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 3 + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool3 = icmp ne %struct.exe_disk_file_t* %4, null + br i1 %tobool3, label %if.then4, label %if.end6 + +if.then4: ; preds = %if.else + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0)) + %call5 = call i32* @__errno_location() #25 + store i32 2, i32* %call5, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.else + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd7, align 8 + store i32 %6, i32* %fd.addr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end6, %entry + %7 = load i8*, i8** %path.addr, align 8 + %call10 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %7) + store %struct.exe_disk_file_t* %call10, %struct.exe_disk_file_t** %dfile9, align 8 + %8 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile9, align 8 + %tobool11 = icmp ne %struct.exe_disk_file_t* %8, null + br i1 %tobool11, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.end8 + %9 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %10 = bitcast %struct.stat64* %9 to i8* + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile9, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %11, i32 0, i32 2 + %12 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %13 = bitcast %struct.stat64* %12 to i8* + %14 = call i8* @memcpy(i8* %10, i8* %13, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.end8 + %15 = load i32, i32* %fd.addr, align 4 + %conv = sext i32 %15 to i64 + %16 = load i8*, i8** %path.addr, align 8 + %tobool14 = icmp ne i8* %16, null + br i1 %tobool14, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end13 + %17 = load i8*, i8** %path.addr, align 8 + %call15 = call i8* @__concretize_string(i8* %17) + br label %cond.end + +cond.end: ; preds = %if.end13, %cond.true + %cond = phi i8* [ %call15, %cond.true ], [ null, %if.end13 ] + %18 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %19 = load i32, i32* %flags.addr, align 4 + %conv16 = sext i32 %19 to i64 + %call17 = call i64 (i64, ...) @syscall(i64 262, i64 %conv, i8* %cond, %struct.stat64* %18, i64 %conv16) #11 + %conv18 = trunc i64 %call17 to i32 + store i32 %conv18, i32* %retval, align 4 + br label %return + +return: ; preds = %cond.end, %if.then12, %if.then4, %if.then1 + %20 = load i32, i32* %retval, align 4 + ret i32 %20 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_lstat(i8* %path, %struct.stat64* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %3 = bitcast %struct.stat64* %2 to i8* + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %4, i32 0, i32 2 + %5 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %6 = bitcast %struct.stat64* %5 to i8* + %7 = call i8* @memcpy(i8* %3, i8* %6, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load i8*, i8** %path.addr, align 8 + %call1 = call i8* @__concretize_string(i8* %8) + %9 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %call2 = call i64 (i64, ...) @syscall(i64 6, i8* %call1, %struct.stat64* %9) #11 + %conv = trunc i64 %call2 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %10 = load i32, i32* %retval, align 4 + ret i32 %10 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chdir(i8* nonnull %path) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0)) + %call1 = call i32* @__errno_location() #25 + store i32 2, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %2) + %call3 = call i64 (i64, ...) @syscall(i64 80, i8* %call2) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %3 = load i32, i32* %retval, align 4 + ret i32 %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fchdir(i32 %fd) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %if.end + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 2, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd6, align 8 + %call7 = call i64 (i64, ...) @syscall(i64 81, i32 %5) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chmod(i8* nonnull %path, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load i32, i32* @chmod.n_calls, align 4 + %inc = add nsw i32 %1, 1 + store i32 %inc, i32* @chmod.n_calls, align 4 + %2 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool = icmp ne i32 %2, 0 + br i1 %tobool, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %3 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 11), align 8 + %4 = load i32, i32* %3, align 4 + %5 = load i32, i32* @chmod.n_calls, align 4 + %cmp = icmp eq i32 %4, %5 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %6 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %6, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call1 = call i32* @__errno_location() #25 + store i32 5, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + %7 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %7, null + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %if.end + %8 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %9 = load i32, i32* %mode.addr, align 4 + %call4 = call i32 @__df_chmod(%struct.exe_disk_file_t* %8, i32 %9) + store i32 %call4, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %if.end + %10 = load i8*, i8** %path.addr, align 8 + %call6 = call i8* @__concretize_string(i8* %10) + %11 = load i32, i32* %mode.addr, align 4 + %call7 = call i64 (i64, ...) @syscall(i64 90, i8* %call6, i32 %11) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %12 = load i32, i32* %retval, align 4 + ret i32 %12 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__df_chmod(%struct.exe_disk_file_t* %df, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %df.addr = alloca %struct.exe_disk_file_t*, align 8 + %mode.addr = alloca i32, align 4 + store %struct.exe_disk_file_t* %df, %struct.exe_disk_file_t** %df.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %call = call i32 @geteuid() #11 + %0 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %0, i32 0, i32 2 + %1 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_uid = getelementptr inbounds %struct.stat64, %struct.stat64* %1, i32 0, i32 4 + %2 = load i32, i32* %st_uid, align 4 + %cmp = icmp eq i32 %call, %2 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %call1 = call i32 @getgid() #11 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %3, i32 0, i32 2 + %4 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + %st_gid = getelementptr inbounds %struct.stat64, %struct.stat64* %4, i32 0, i32 5 + %5 = load i32, i32* %st_gid, align 8 + %cmp3 = icmp ne i32 %call1, %5 + br i1 %cmp3, label %if.then4, label %if.end + +if.then4: ; preds = %if.then + %6 = load i32, i32* %mode.addr, align 4 + %and = and i32 %6, -1025 + store i32 %and, i32* %mode.addr, align 4 + br label %if.end + +if.end: ; preds = %if.then4, %if.then + %7 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat5 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %7, i32 0, i32 2 + %8 = load %struct.stat64*, %struct.stat64** %stat5, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %8, i32 0, i32 3 + %9 = load i32, i32* %st_mode, align 8 + %and6 = and i32 %9, -4096 + %10 = load i32, i32* %mode.addr, align 4 + %and7 = and i32 %10, 4095 + %or = or i32 %and6, %and7 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat8 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %11, i32 0, i32 2 + %12 = load %struct.stat64*, %struct.stat64** %stat8, align 8 + %st_mode9 = getelementptr inbounds %struct.stat64, %struct.stat64* %12, i32 0, i32 3 + store i32 %or, i32* %st_mode9, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %call10 = call i32* @__errno_location() #25 + store i32 1, i32* %call10, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.else, %if.end + %13 = load i32, i32* %retval, align 4 + ret i32 %13 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fchmod(i32 %fd, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i32, i32* @fchmod.n_calls, align 4 + %inc = add nsw i32 %2, 1 + store i32 %inc, i32* @fchmod.n_calls, align 4 + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 12), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @fchmod.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + br i1 %tobool6, label %if.then7, label %if.end10 + +if.then7: ; preds = %if.end5 + %dfile8 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 3 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile8, align 8 + %12 = load i32, i32* %mode.addr, align 4 + %call9 = call i32 @__df_chmod(%struct.exe_disk_file_t* %11, i32 %12) + store i32 %call9, i32* %retval, align 4 + br label %return + +if.end10: ; preds = %if.end5 + %fd11 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 0 + %13 = load i32, i32* %fd11, align 8 + %14 = load i32, i32* %mode.addr, align 4 + %call12 = call i64 (i64, ...) @syscall(i64 91, i32 %13, i32 %14) #11 + %conv = trunc i64 %call12 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end10, %if.then7, %if.then3, %if.then + %15 = load i32, i32* %retval, align 4 + ret i32 %15 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chown(i8* nonnull %path, i32 %owner, i32 %group) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %df, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %3 = load i32, i32* %owner.addr, align 4 + %4 = load i32, i32* %group.addr, align 4 + %call1 = call i32 @__df_chown(%struct.exe_disk_file_t* %2, i32 %3, i32 %4) + store i32 %call1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %5 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %5) + %6 = load i32, i32* %owner.addr, align 4 + %7 = load i32, i32* %group.addr, align 4 + %call3 = call i64 (i64, ...) @syscall(i64 92, i8* %call2, i32 %6, i32 %7) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__df_chown(%struct.exe_disk_file_t* %df, i32 %owner, i32 %group) #3 { +entry: + %df.addr = alloca %struct.exe_disk_file_t*, align 8 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + store %struct.exe_disk_file_t* %df, %struct.exe_disk_file_t** %df.addr, align 8 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + call void @gs_warning(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.26, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fchown(i32 %fd, i32 %owner, i32 %group) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end6 + +if.then3: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile4 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 3 + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile4, align 8 + %6 = load i32, i32* %owner.addr, align 4 + %7 = load i32, i32* %group.addr, align 4 + %call5 = call i32 @__df_chown(%struct.exe_disk_file_t* %5, i32 %6, i32 %7) + store i32 %call5, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.end + %8 = load i32, i32* %fd.addr, align 4 + %9 = load i32, i32* %owner.addr, align 4 + %10 = load i32, i32* %group.addr, align 4 + %call7 = call i64 (i64, ...) @syscall(i64 93, i32 %8, i32 %9, i32 %10) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end6, %if.then3, %if.then + %11 = load i32, i32* %retval, align 4 + ret i32 %11 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @lchown(i8* nonnull %path, i32 %owner, i32 %group) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %df, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %3 = load i32, i32* %owner.addr, align 4 + %4 = load i32, i32* %group.addr, align 4 + %call1 = call i32 @__df_chown(%struct.exe_disk_file_t* %2, i32 %3, i32 %4) + store i32 %call1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %5 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %5) + %6 = load i32, i32* %owner.addr, align 4 + %7 = load i32, i32* %group.addr, align 4 + %call3 = call i64 (i64, ...) @syscall(i64 92, i8* %call2, i32 %6, i32 %7) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_fstat(i32 %fd, %struct.stat64* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.end6, label %if.then3 + +if.then3: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd4 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd4, align 8 + %6 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %call5 = call i64 (i64, ...) @syscall(i64 5, i32 %5, %struct.stat64* %6) #11 + %conv = trunc i64 %call5 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.end + %7 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %8 = bitcast %struct.stat64* %7 to i8* + %9 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %9, i32 0, i32 3 + %10 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile7, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %10, i32 0, i32 2 + %11 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %12 = bitcast %struct.stat64* %11 to i8* + %13 = call i8* @memcpy(i8* %8, i8* %12, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end6, %if.then3, %if.then + %14 = load i32, i32* %retval, align 4 + ret i32 %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_ftruncate(i32 %fd, i64 %length) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %length.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %length, i64* %length.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load i32, i32* @__fd_ftruncate.n_calls, align 4 + %inc = add nsw i32 %1, 1 + store i32 %inc, i32* @__fd_ftruncate.n_calls, align 4 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @__fd_ftruncate.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + br i1 %tobool6, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end5 + call void @gs_warning(i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.10, i64 0, i64 0)) + %call8 = call i32* @__errno_location() #25 + store i32 5, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end9: ; preds = %if.end5 + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd10 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 0 + %11 = load i32, i32* %fd10, align 8 + %12 = load i64, i64* %length.addr, align 8 + %call11 = call i64 (i64, ...) @syscall(i64 77, i32 %11, i64 %12) #11 + %conv = trunc i64 %call11 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end9, %if.then7, %if.then3, %if.then + %13 = load i32, i32* %retval, align 4 + ret i32 %13 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_getdents(i32 %fd, %struct.dirent64* %dirp, i32 %count) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %dirp.addr = alloca %struct.dirent64*, align 8 + %count.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %i = alloca i64, align 8 + %pad = alloca i64, align 8 + %bytes = alloca i64, align 8 + %df = alloca %struct.exe_disk_file_t*, align 8 + %os_pos = alloca i64, align 8 + %res = alloca i32, align 4 + %s = alloca i64, align 8 + %pos = alloca i32, align 4 + %dp = alloca %struct.dirent64*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.dirent64* %dirp, %struct.dirent64** %dirp.addr, align 8 + store i32 %count, i32* %count.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.else + +if.then3: ; preds = %if.end + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 22, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 2 + %5 = load i64, i64* %off, align 8 + %cmp = icmp ult i64 %5, 4096 + br i1 %cmp, label %if.then5, label %if.else43 + +if.then5: ; preds = %if.else + store i64 0, i64* %bytes, align 8 + %6 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %6, i32 0, i32 2 + %7 = load i64, i64* %off6, align 8 + %div = udiv i64 %7, 280 + store i64 %div, i64* %i, align 8 + %8 = load i64, i64* %i, align 8 + %mul = mul i64 %8, 280 + %9 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %9, i32 0, i32 2 + %10 = load i64, i64* %off7, align 8 + %cmp8 = icmp ne i64 %mul, %10 + br i1 %cmp8, label %if.then11, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then5 + %11 = load i64, i64* %i, align 8 + %12 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %conv = zext i32 %12 to i64 + %cmp9 = icmp sgt i64 %11, %conv + br i1 %cmp9, label %if.then11, label %for.cond + +if.then11: ; preds = %lor.lhs.false, %if.then5 + %call12 = call i32* @__errno_location() #25 + store i32 22, i32* %call12, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +for.cond: ; preds = %lor.lhs.false, %for.body + %13 = load i64, i64* %i, align 8 + %14 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %conv14 = zext i32 %14 to i64 + %cmp15 = icmp slt i64 %13, %conv14 + br i1 %cmp15, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %15 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %16 = load i64, i64* %i, align 8 + %arrayidx = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %15, i64 %16 + store %struct.exe_disk_file_t* %arrayidx, %struct.exe_disk_file_t** %df, align 8 + %17 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %17, i32 0, i32 2 + %18 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %18, i32 0, i32 1 + %19 = load i64, i64* %st_ino, align 8 + %20 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_ino = getelementptr inbounds %struct.dirent64, %struct.dirent64* %20, i32 0, i32 0 + store i64 %19, i64* %d_ino, align 8 + %21 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen = getelementptr inbounds %struct.dirent64, %struct.dirent64* %21, i32 0, i32 2 + store i16 280, i16* %d_reclen, align 8 + %22 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat17 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %22, i32 0, i32 2 + %23 = load %struct.stat64*, %struct.stat64** %stat17, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %23, i32 0, i32 3 + %24 = load i32, i32* %st_mode, align 8 + %and = and i32 %24, 61440 + %shr = lshr i32 %and, 12 + %conv18 = trunc i32 %shr to i8 + %25 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_type = getelementptr inbounds %struct.dirent64, %struct.dirent64* %25, i32 0, i32 3 + store i8 %conv18, i8* %d_type, align 2 + %26 = load i64, i64* %i, align 8 + %add = add nsw i64 65, %26 + %conv19 = trunc i64 %add to i8 + %27 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_name = getelementptr inbounds %struct.dirent64, %struct.dirent64* %27, i32 0, i32 4 + %arrayidx20 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name, i64 0, i64 0 + store i8 %conv19, i8* %arrayidx20, align 1 + %28 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_name21 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %28, i32 0, i32 4 + %arrayidx22 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name21, i64 0, i64 1 + store i8 0, i8* %arrayidx22, align 1 + %29 = load i64, i64* %i, align 8 + %add23 = add nsw i64 %29, 1 + %mul24 = mul i64 %add23, 280 + %30 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_off = getelementptr inbounds %struct.dirent64, %struct.dirent64* %30, i32 0, i32 1 + store i64 %mul24, i64* %d_off, align 8 + %31 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen25 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %31, i32 0, i32 2 + %32 = load i16, i16* %d_reclen25, align 8 + %conv26 = zext i16 %32 to i64 + %33 = load i64, i64* %bytes, align 8 + %add27 = add nsw i64 %33, %conv26 + store i64 %add27, i64* %bytes, align 8 + %34 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %incdec.ptr = getelementptr inbounds %struct.dirent64, %struct.dirent64* %34, i32 1 + store %struct.dirent64* %incdec.ptr, %struct.dirent64** %dirp.addr, align 8 + %35 = load i64, i64* %i, align 8 + %inc = add nsw i64 %35, 1 + store i64 %inc, i64* %i, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %36 = load i32, i32* %count.addr, align 4 + %cmp28 = icmp uge i32 %36, 4096 + %37 = load i32, i32* %count.addr, align 4 + %cond = select i1 %cmp28, i32 4096, i32 %37 + %conv30 = zext i32 %cond to i64 + store i64 %conv30, i64* %pad, align 8 + %38 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_ino31 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %38, i32 0, i32 0 + store i64 0, i64* %d_ino31, align 8 + %39 = load i64, i64* %pad, align 8 + %40 = load i64, i64* %bytes, align 8 + %sub = sub nsw i64 %39, %40 + %conv32 = trunc i64 %sub to i16 + %41 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen33 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %41, i32 0, i32 2 + store i16 %conv32, i16* %d_reclen33, align 8 + %42 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_type34 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %42, i32 0, i32 3 + store i8 0, i8* %d_type34, align 2 + %43 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_name35 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %43, i32 0, i32 4 + %arrayidx36 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name35, i64 0, i64 0 + store i8 0, i8* %arrayidx36, align 1 + %44 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_off37 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %44, i32 0, i32 1 + store i64 4096, i64* %d_off37, align 8 + %45 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen38 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %45, i32 0, i32 2 + %46 = load i16, i16* %d_reclen38, align 8 + %conv39 = zext i16 %46 to i64 + %47 = load i64, i64* %bytes, align 8 + %add40 = add nsw i64 %47, %conv39 + store i64 %add40, i64* %bytes, align 8 + %48 = load i64, i64* %pad, align 8 + %49 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off41 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %49, i32 0, i32 2 + store i64 %48, i64* %off41, align 8 + %50 = load i64, i64* %bytes, align 8 + %conv42 = trunc i64 %50 to i32 + store i32 %conv42, i32* %retval, align 4 + br label %return + +if.else43: ; preds = %if.else + %51 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off44 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %51, i32 0, i32 2 + %52 = load i64, i64* %off44, align 8 + %sub45 = sub nsw i64 %52, 4096 + store i64 %sub45, i64* %os_pos, align 8 + store i64 0, i64* %s, align 8 + %53 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %54 = bitcast %struct.dirent64* %53 to i8* + %55 = load i32, i32* %count.addr, align 4 + %conv46 = zext i32 %55 to i64 + %56 = call i8* @memset(i8* %54, i32 0, i64 %conv46) + %57 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd47 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %57, i32 0, i32 0 + %58 = load i32, i32* %fd47, align 8 + %59 = load i64, i64* %os_pos, align 8 + %call48 = call i64 (i64, ...) @syscall(i64 8, i32 %58, i64 %59, i32 0) #11 + store i64 %call48, i64* %s, align 8 + %60 = load i64, i64* %s, align 8 + %cmp49 = icmp ne i64 %60, -1 + br i1 %cmp49, label %if.end53, label %if.else52 + +if.else52: ; preds = %if.else43 + call void @__assert_fail(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.12, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 840, i8* getelementptr inbounds ([65 x i8], [65 x i8]* @__PRETTY_FUNCTION__.__fd_getdents, i64 0, i64 0)) #26 + unreachable + +if.end53: ; preds = %if.else43 + %61 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %61, i32 0, i32 0 + %62 = load i32, i32* %fd54, align 8 + %63 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %64 = load i32, i32* %count.addr, align 4 + %call55 = call i64 (i64, ...) @syscall(i64 217, i32 %62, %struct.dirent64* %63, i32 %64) #11 + %conv56 = trunc i64 %call55 to i32 + store i32 %conv56, i32* %res, align 4 + %65 = load i32, i32* %res, align 4 + %cmp57 = icmp sgt i32 %65, -1 + br i1 %cmp57, label %if.then59, label %if.end78 + +if.then59: ; preds = %if.end53 + store i32 0, i32* %pos, align 4 + %66 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd60 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %66, i32 0, i32 0 + %67 = load i32, i32* %fd60, align 8 + %call61 = call i64 (i64, ...) @syscall(i64 8, i32 %67, i32 0, i32 1) #11 + %68 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off62 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %68, i32 0, i32 2 + store i64 %call61, i64* %off62, align 8 + %69 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off63 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %69, i32 0, i32 2 + %70 = load i64, i64* %off63, align 8 + %cmp64 = icmp ne i64 %70, -1 + br i1 %cmp64, label %if.end68, label %if.else67 + +if.else67: ; preds = %if.then59 + call void @__assert_fail(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.13, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 845, i8* getelementptr inbounds ([65 x i8], [65 x i8]* @__PRETTY_FUNCTION__.__fd_getdents, i64 0, i64 0)) #26 + unreachable + +if.end68: ; preds = %if.then59 + %71 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off69 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %71, i32 0, i32 2 + %72 = load i64, i64* %off69, align 8 + %add70 = add nsw i64 %72, 4096 + store i64 %add70, i64* %off69, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end68 + %73 = load i32, i32* %pos, align 4 + %74 = load i32, i32* %res, align 4 + %cmp71 = icmp slt i32 %73, %74 + br i1 %cmp71, label %while.body, label %if.end78 + +while.body: ; preds = %while.cond + %75 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %76 = bitcast %struct.dirent64* %75 to i8* + %77 = load i32, i32* %pos, align 4 + %idx.ext = sext i32 %77 to i64 + %add.ptr = getelementptr inbounds i8, i8* %76, i64 %idx.ext + %78 = bitcast i8* %add.ptr to %struct.dirent64* + store %struct.dirent64* %78, %struct.dirent64** %dp, align 8 + %79 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_off73 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %79, i32 0, i32 1 + %80 = load i64, i64* %d_off73, align 8 + %add74 = add nsw i64 %80, 4096 + store i64 %add74, i64* %d_off73, align 8 + %81 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_reclen75 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %81, i32 0, i32 2 + %82 = load i16, i16* %d_reclen75, align 8 + %conv76 = zext i16 %82 to i32 + %83 = load i32, i32* %pos, align 4 + %add77 = add nsw i32 %83, %conv76 + store i32 %add77, i32* %pos, align 4 + br label %while.cond + +if.end78: ; preds = %while.cond, %if.end53 + %84 = load i32, i32* %res, align 4 + store i32 %84, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end78, %for.end, %if.then11, %if.then3, %if.then + %85 = load i32, i32* %retval, align 4 + ret i32 %85 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @ioctl(i32 %fd, i64 %request, ...) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %request.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + %buf = alloca i8*, align 8 + %stat = alloca %struct.stat64*, align 8 + %ts = alloca %struct.termios*, align 8 + %ws = alloca %struct.winsize*, align 8 + %res = alloca i32*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %request, i64* %request.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay2 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay2) + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.end + %2 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 3 + %reg_save_area = load i8*, i8** %2, align 16 + %3 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %4 = bitcast i8* %3 to i8** + %5 = add i32 %gp_offset, 8 + store i32 %5, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.end + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %6 = bitcast i8* %overflow_arg_area to i8** + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i8** [ %4, %vaarg.in_reg ], [ %6, %vaarg.in_mem ] + %7 = load i8*, i8** %vaarg.addr, align 8 + store i8* %7, i8** %buf, align 8 + %arraydecay4 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay45 = bitcast %struct.__va_list_tag.0* %arraydecay4 to i8* + call void @llvm.va_end(i8* %arraydecay45) + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + br i1 %tobool6, label %if.then7, label %if.end103 + +if.then7: ; preds = %vaarg.end + %dfile8 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 3 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile8, align 8 + %stat9 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %11, i32 0, i32 2 + %12 = load %struct.stat64*, %struct.stat64** %stat9, align 8 + %13 = bitcast %struct.stat64* %12 to %struct.stat64* + store %struct.stat64* %13, %struct.stat64** %stat, align 8 + %14 = load i64, i64* %request.addr, align 8 + br label %NodeBlock13 + +NodeBlock13: ; preds = %if.then7 + %case.cmp14 = icmp eq i64 %14, 21505 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i64 %14, 21506 + br i1 %case.cmp12, label %sw.bb48, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i64 %14, 21507 + br i1 %case.cmp10, label %sw.bb55, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i64 %14, 21508 + br i1 %case.cmp8, label %sw.bb60, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i64 %14, 21523 + br i1 %case.cmp6, label %sw.bb67, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i64 %14, 21524 + br i1 %case.cmp4, label %sw.bb74, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i64 %14, 21531 + br i1 %case.cmp2, label %sw.bb82, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i64 %14, 2150657282 + br i1 %case.cmp, label %sw.bb100, label %newDefault + +sw.bb: ; preds = %NodeBlock13 + %15 = load i8*, i8** %buf, align 8 + %16 = bitcast i8* %15 to %struct.termios* + store %struct.termios* %16, %struct.termios** %ts, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.14, i64 0, i64 0)) + %17 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %17, i32 0, i32 3 + %18 = load i32, i32* %st_mode, align 8 + %and = and i32 %18, 61440 + %cmp = icmp eq i32 %and, 8192 + br i1 %cmp, label %if.then10, label %if.else + +if.then10: ; preds = %sw.bb + %19 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_iflag = getelementptr inbounds %struct.termios, %struct.termios* %19, i32 0, i32 0 + store i32 27906, i32* %c_iflag, align 4 + %20 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_oflag = getelementptr inbounds %struct.termios, %struct.termios* %20, i32 0, i32 1 + store i32 5, i32* %c_oflag, align 4 + %21 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cflag = getelementptr inbounds %struct.termios, %struct.termios* %21, i32 0, i32 2 + store i32 1215, i32* %c_cflag, align 4 + %22 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_lflag = getelementptr inbounds %struct.termios, %struct.termios* %22, i32 0, i32 3 + store i32 35287, i32* %c_lflag, align 4 + %23 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_line = getelementptr inbounds %struct.termios, %struct.termios* %23, i32 0, i32 4 + store i8 0, i8* %c_line, align 4 + %24 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc = getelementptr inbounds %struct.termios, %struct.termios* %24, i32 0, i32 5 + %arrayidx = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc, i64 0, i64 0 + store i8 3, i8* %arrayidx, align 1 + %25 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc11 = getelementptr inbounds %struct.termios, %struct.termios* %25, i32 0, i32 5 + %arrayidx12 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc11, i64 0, i64 1 + store i8 28, i8* %arrayidx12, align 1 + %26 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc13 = getelementptr inbounds %struct.termios, %struct.termios* %26, i32 0, i32 5 + %arrayidx14 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc13, i64 0, i64 2 + store i8 127, i8* %arrayidx14, align 1 + %27 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc15 = getelementptr inbounds %struct.termios, %struct.termios* %27, i32 0, i32 5 + %arrayidx16 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc15, i64 0, i64 3 + store i8 21, i8* %arrayidx16, align 1 + %28 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc17 = getelementptr inbounds %struct.termios, %struct.termios* %28, i32 0, i32 5 + %arrayidx18 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc17, i64 0, i64 4 + store i8 4, i8* %arrayidx18, align 1 + %29 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc19 = getelementptr inbounds %struct.termios, %struct.termios* %29, i32 0, i32 5 + %arrayidx20 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc19, i64 0, i64 5 + store i8 0, i8* %arrayidx20, align 1 + %30 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc21 = getelementptr inbounds %struct.termios, %struct.termios* %30, i32 0, i32 5 + %arrayidx22 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc21, i64 0, i64 6 + store i8 1, i8* %arrayidx22, align 1 + %31 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc23 = getelementptr inbounds %struct.termios, %struct.termios* %31, i32 0, i32 5 + %arrayidx24 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc23, i64 0, i64 7 + store i8 -1, i8* %arrayidx24, align 1 + %32 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc25 = getelementptr inbounds %struct.termios, %struct.termios* %32, i32 0, i32 5 + %arrayidx26 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc25, i64 0, i64 8 + store i8 17, i8* %arrayidx26, align 1 + %33 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc27 = getelementptr inbounds %struct.termios, %struct.termios* %33, i32 0, i32 5 + %arrayidx28 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc27, i64 0, i64 9 + store i8 19, i8* %arrayidx28, align 1 + %34 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc29 = getelementptr inbounds %struct.termios, %struct.termios* %34, i32 0, i32 5 + %arrayidx30 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc29, i64 0, i64 10 + store i8 26, i8* %arrayidx30, align 1 + %35 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc31 = getelementptr inbounds %struct.termios, %struct.termios* %35, i32 0, i32 5 + %arrayidx32 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc31, i64 0, i64 11 + store i8 -1, i8* %arrayidx32, align 1 + %36 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc33 = getelementptr inbounds %struct.termios, %struct.termios* %36, i32 0, i32 5 + %arrayidx34 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc33, i64 0, i64 12 + store i8 18, i8* %arrayidx34, align 1 + %37 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc35 = getelementptr inbounds %struct.termios, %struct.termios* %37, i32 0, i32 5 + %arrayidx36 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc35, i64 0, i64 13 + store i8 15, i8* %arrayidx36, align 1 + %38 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc37 = getelementptr inbounds %struct.termios, %struct.termios* %38, i32 0, i32 5 + %arrayidx38 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc37, i64 0, i64 14 + store i8 23, i8* %arrayidx38, align 1 + %39 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc39 = getelementptr inbounds %struct.termios, %struct.termios* %39, i32 0, i32 5 + %arrayidx40 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc39, i64 0, i64 15 + store i8 22, i8* %arrayidx40, align 1 + %40 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc41 = getelementptr inbounds %struct.termios, %struct.termios* %40, i32 0, i32 5 + %arrayidx42 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc41, i64 0, i64 16 + store i8 -1, i8* %arrayidx42, align 1 + %41 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc43 = getelementptr inbounds %struct.termios, %struct.termios* %41, i32 0, i32 5 + %arrayidx44 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc43, i64 0, i64 17 + store i8 0, i8* %arrayidx44, align 1 + %42 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc45 = getelementptr inbounds %struct.termios, %struct.termios* %42, i32 0, i32 5 + %arrayidx46 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc45, i64 0, i64 18 + store i8 0, i8* %arrayidx46, align 1 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %sw.bb + %call47 = call i32* @__errno_location() #25 + store i32 25, i32* %call47, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb48: ; preds = %NodeBlock11 + call void @gs_warning_once(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.15, i64 0, i64 0)) + %43 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode49 = getelementptr inbounds %struct.stat64, %struct.stat64* %43, i32 0, i32 3 + %44 = load i32, i32* %st_mode49, align 8 + %and50 = and i32 %44, 61440 + %cmp51 = icmp eq i32 %and50, 8192 + br i1 %cmp51, label %if.then52, label %if.else53 + +if.then52: ; preds = %sw.bb48 + store i32 0, i32* %retval, align 4 + br label %return + +if.else53: ; preds = %sw.bb48 + %call54 = call i32* @__errno_location() #25 + store i32 25, i32* %call54, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb55: ; preds = %NodeBlock9 + call void @gs_warning_once(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.16, i64 0, i64 0)) + %45 = load i32, i32* %fd.addr, align 4 + %cmp56 = icmp eq i32 %45, 0 + br i1 %cmp56, label %if.then57, label %if.else58 + +if.then57: ; preds = %sw.bb55 + store i32 0, i32* %retval, align 4 + br label %return + +if.else58: ; preds = %sw.bb55 + %call59 = call i32* @__errno_location() #25 + store i32 25, i32* %call59, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb60: ; preds = %NodeBlock7 + call void @gs_warning_once(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.17, i64 0, i64 0)) + %46 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode61 = getelementptr inbounds %struct.stat64, %struct.stat64* %46, i32 0, i32 3 + %47 = load i32, i32* %st_mode61, align 8 + %and62 = and i32 %47, 61440 + %cmp63 = icmp eq i32 %and62, 8192 + br i1 %cmp63, label %if.then64, label %if.else65 + +if.then64: ; preds = %sw.bb60 + store i32 0, i32* %retval, align 4 + br label %return + +if.else65: ; preds = %sw.bb60 + %call66 = call i32* @__errno_location() #25 + store i32 25, i32* %call66, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb67: ; preds = %NodeBlock5 + %48 = load i8*, i8** %buf, align 8 + %49 = bitcast i8* %48 to %struct.winsize* + store %struct.winsize* %49, %struct.winsize** %ws, align 8 + %50 = load %struct.winsize*, %struct.winsize** %ws, align 8 + %ws_row = getelementptr inbounds %struct.winsize, %struct.winsize* %50, i32 0, i32 0 + store i16 24, i16* %ws_row, align 2 + %51 = load %struct.winsize*, %struct.winsize** %ws, align 8 + %ws_col = getelementptr inbounds %struct.winsize, %struct.winsize* %51, i32 0, i32 1 + store i16 80, i16* %ws_col, align 2 + call void @gs_warning_once(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.18, i64 0, i64 0)) + %52 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode68 = getelementptr inbounds %struct.stat64, %struct.stat64* %52, i32 0, i32 3 + %53 = load i32, i32* %st_mode68, align 8 + %and69 = and i32 %53, 61440 + %cmp70 = icmp eq i32 %and69, 8192 + br i1 %cmp70, label %if.then71, label %if.else72 + +if.then71: ; preds = %sw.bb67 + store i32 0, i32* %retval, align 4 + br label %return + +if.else72: ; preds = %sw.bb67 + %call73 = call i32* @__errno_location() #25 + store i32 25, i32* %call73, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb74: ; preds = %NodeBlock3 + call void @gs_warning_once(i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.19, i64 0, i64 0)) + %54 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode75 = getelementptr inbounds %struct.stat64, %struct.stat64* %54, i32 0, i32 3 + %55 = load i32, i32* %st_mode75, align 8 + %and76 = and i32 %55, 61440 + %cmp77 = icmp eq i32 %and76, 8192 + %call79 = call i32* @__errno_location() #25 + br i1 %cmp77, label %if.then78, label %if.else80 + +if.then78: ; preds = %sw.bb74 + store i32 22, i32* %call79, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else80: ; preds = %sw.bb74 + store i32 25, i32* %call79, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb82: ; preds = %NodeBlock1 + %56 = load i8*, i8** %buf, align 8 + %57 = bitcast i8* %56 to i32* + store i32* %57, i32** %res, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.20, i64 0, i64 0)) + %58 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode83 = getelementptr inbounds %struct.stat64, %struct.stat64* %58, i32 0, i32 3 + %59 = load i32, i32* %st_mode83, align 8 + %and84 = and i32 %59, 61440 + %cmp85 = icmp eq i32 %and84, 8192 + br i1 %cmp85, label %if.then86, label %if.else98 + +if.then86: ; preds = %sw.bb82 + %60 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %60, i32 0, i32 2 + %61 = load i64, i64* %off, align 8 + %62 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile87 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %62, i32 0, i32 3 + %63 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile87, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %63, i32 0, i32 0 + %64 = load i32, i32* %size, align 8 + %conv = zext i32 %64 to i64 + %cmp88 = icmp slt i64 %61, %conv + br i1 %cmp88, label %if.then90, label %if.else96 + +if.then90: ; preds = %if.then86 + %65 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile91 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %65, i32 0, i32 3 + %66 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile91, align 8 + %size92 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %66, i32 0, i32 0 + %67 = load i32, i32* %size92, align 8 + %conv93 = zext i32 %67 to i64 + %68 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off94 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %68, i32 0, i32 2 + %69 = load i64, i64* %off94, align 8 + %sub = sub nsw i64 %conv93, %69 + %conv95 = trunc i64 %sub to i32 + %70 = load i32*, i32** %res, align 8 + store i32 %conv95, i32* %70, align 4 + br label %if.end97 + +if.else96: ; preds = %if.then86 + %71 = load i32*, i32** %res, align 8 + store i32 0, i32* %71, align 4 + br label %if.end97 + +if.end97: ; preds = %if.else96, %if.then90 + store i32 0, i32* %retval, align 4 + br label %return + +if.else98: ; preds = %sw.bb82 + %call99 = call i32* @__errno_location() #25 + store i32 25, i32* %call99, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb100: ; preds = %NodeBlock + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.21, i64 0, i64 0)) + %call101 = call i32* @__errno_location() #25 + store i32 22, i32* %call101, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0)) + %call102 = call i32* @__errno_location() #25 + store i32 22, i32* %call102, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end103: ; preds = %vaarg.end + %fd104 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 0 + %72 = load i32, i32* %fd104, align 8 + %73 = load i64, i64* %request.addr, align 8 + %74 = load i8*, i8** %buf, align 8 + %call105 = call i64 (i64, ...) @syscall(i64 16, i32 %72, i64 %73, i8* %74) #11 + %conv106 = trunc i64 %call105 to i32 + store i32 %conv106, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end103, %sw.default, %sw.bb100, %if.else98, %if.end97, %if.else80, %if.then78, %if.else72, %if.then71, %if.else65, %if.then64, %if.else58, %if.then57, %if.else53, %if.then52, %if.else, %if.then10, %if.then + %75 = load i32, i32* %retval, align 4 + ret i32 %75 +} + +; Function Attrs: nounwind +declare void @llvm.va_start(i8*) #11 + +; Function Attrs: nounwind +declare void @llvm.va_end(i8*) #11 + +declare dso_local void @gs_warning_once(i8*) #5 + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fcntl(i32 %fd, i32 %cmd, ...) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %cmd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + %arg = alloca i32, align 4 + %lock = alloca %struct.flock*, align 8 + %flags = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %cmd, i32* %cmd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i32, i32* %cmd.addr, align 4 + %cmp = icmp eq i32 %2, 1 + %3 = load i32, i32* %cmd.addr, align 4 + %cmp2 = icmp eq i32 %3, 3 + %or.cond = or i1 %cmp, %cmp2 + %4 = load i32, i32* %cmd.addr, align 4 + %cmp4 = icmp eq i32 %4, 9 + %or.cond1 = or i1 %or.cond, %cmp4 + %5 = load i32, i32* %cmd.addr, align 4 + %cmp6 = icmp eq i32 %5, 11 + %or.cond2 = or i1 %or.cond1, %cmp6 + %6 = load i32, i32* %cmd.addr, align 4 + %cmp8 = icmp eq i32 %6, 1025 + %or.cond3 = or i1 %or.cond2, %cmp8 + %7 = load i32, i32* %cmd.addr, align 4 + %cmp10 = icmp eq i32 %7, 1026 + %or.cond4 = or i1 %or.cond3, %cmp10 + br i1 %or.cond4, label %if.then11, label %if.else + +if.then11: ; preds = %if.end + store i32 0, i32* %arg, align 4 + br label %if.end40 + +if.else: ; preds = %if.end + %8 = load i32, i32* %cmd.addr, align 4 + %cmp12 = icmp eq i32 %8, 5 + %9 = load i32, i32* %cmd.addr, align 4 + %cmp14 = icmp eq i32 %9, 6 + %or.cond5 = or i1 %cmp12, %cmp14 + %10 = load i32, i32* %cmd.addr, align 4 + %cmp16 = icmp eq i32 %10, 7 + %or.cond6 = or i1 %or.cond5, %cmp16 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay18 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay18) + %arraydecay19 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %or.cond6, label %if.then17, label %if.else22 + +if.then17: ; preds = %if.else + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then17 + %11 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 3 + %reg_save_area = load i8*, i8** %11, align 16 + %12 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %13 = bitcast i8* %12 to %struct.flock** + %14 = add i32 %gp_offset, 8 + store i32 %14, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then17 + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %15 = bitcast i8* %overflow_arg_area to %struct.flock** + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi %struct.flock** [ %13, %vaarg.in_reg ], [ %15, %vaarg.in_mem ] + %16 = load %struct.flock*, %struct.flock** %vaarg.addr, align 8 + store %struct.flock* %16, %struct.flock** %lock, align 8 + %arraydecay20 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay2021 = bitcast %struct.__va_list_tag.0* %arraydecay20 to i8* + call void @llvm.va_end(i8* %arraydecay2021) + br label %if.end40 + +if.else22: ; preds = %if.else + br i1 %fits_in_gp, label %vaarg.in_reg29, label %vaarg.in_mem31 + +vaarg.in_reg29: ; preds = %if.else22 + %17 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 3 + %reg_save_area30 = load i8*, i8** %17, align 16 + %18 = getelementptr i8, i8* %reg_save_area30, i32 %gp_offset + %19 = bitcast i8* %18 to i32* + %20 = add i32 %gp_offset, 8 + store i32 %20, i32* %gp_offset_p, align 16 + br label %vaarg.end35 + +vaarg.in_mem31: ; preds = %if.else22 + %overflow_arg_area_p32 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 2 + %overflow_arg_area33 = load i8*, i8** %overflow_arg_area_p32, align 8 + %21 = bitcast i8* %overflow_arg_area33 to i32* + %overflow_arg_area.next34 = getelementptr i8, i8* %overflow_arg_area33, i32 8 + store i8* %overflow_arg_area.next34, i8** %overflow_arg_area_p32, align 8 + br label %vaarg.end35 + +vaarg.end35: ; preds = %vaarg.in_mem31, %vaarg.in_reg29 + %vaarg.addr36 = phi i32* [ %19, %vaarg.in_reg29 ], [ %21, %vaarg.in_mem31 ] + %22 = load i32, i32* %vaarg.addr36, align 4 + store i32 %22, i32* %arg, align 4 + %arraydecay37 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay3738 = bitcast %struct.__va_list_tag.0* %arraydecay37 to i8* + call void @llvm.va_end(i8* %arraydecay3738) + br label %if.end40 + +if.end40: ; preds = %vaarg.end, %vaarg.end35, %if.then11 + %23 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %23, i32 0, i32 3 + %24 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool41 = icmp ne %struct.exe_disk_file_t* %24, null + br i1 %tobool41, label %if.then42, label %if.end60 + +if.then42: ; preds = %if.end40 + %25 = load i32, i32* %cmd.addr, align 4 + br label %NodeBlock13 + +NodeBlock13: ; preds = %if.then42 + %case.cmp14 = icmp eq i32 %25, 1 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %25, 2 + br i1 %case.cmp12, label %sw.bb47, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %25, 3 + br i1 %case.cmp10, label %sw.bb56, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %25, 5 + br i1 %case.cmp8, label %sw.bb57, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock7 + %case.cmp = icmp eq i32 %25, 6 + br i1 %case.cmp, label %sw.bb58, label %newDefault + +sw.bb: ; preds = %NodeBlock13 + store i32 0, i32* %flags, align 4 + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags43 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 1 + %27 = load i32, i32* %flags43, align 4 + %and = and i32 %27, 2 + %tobool44 = icmp ne i32 %and, 0 + br i1 %tobool44, label %if.then45, label %if.end46 + +if.then45: ; preds = %sw.bb + %28 = load i32, i32* %flags, align 4 + %or = or i32 %28, 1 + store i32 %or, i32* %flags, align 4 + br label %if.end46 + +if.end46: ; preds = %if.then45, %sw.bb + %29 = load i32, i32* %flags, align 4 + store i32 %29, i32* %retval, align 4 + br label %return + +sw.bb47: ; preds = %NodeBlock11 + %30 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags48 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %30, i32 0, i32 1 + %31 = load i32, i32* %flags48, align 4 + %and49 = and i32 %31, -3 + store i32 %and49, i32* %flags48, align 4 + %32 = load i32, i32* %arg, align 4 + %and50 = and i32 %32, 1 + %tobool51 = icmp ne i32 %and50, 0 + br i1 %tobool51, label %if.then52, label %if.end55 + +if.then52: ; preds = %sw.bb47 + %33 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags53 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %33, i32 0, i32 1 + %34 = load i32, i32* %flags53, align 4 + %or54 = or i32 %34, 2 + store i32 %or54, i32* %flags53, align 4 + br label %if.end55 + +if.end55: ; preds = %if.then52, %sw.bb47 + store i32 0, i32* %retval, align 4 + br label %return + +sw.bb56: ; preds = %NodeBlock9 + store i32 0, i32* %retval, align 4 + br label %return + +sw.bb57: ; preds = %NodeBlock7 + %35 = load %struct.flock*, %struct.flock** %lock, align 8 + %l_type = getelementptr inbounds %struct.flock, %struct.flock* %35, i32 0, i32 0 + store i16 2, i16* %l_type, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +sw.bb58: ; preds = %NodeBlock + store i32 0, i32* %retval, align 4 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0)) + %call59 = call i32* @__errno_location() #25 + store i32 22, i32* %call59, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end60: ; preds = %if.end40 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd61 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 0 + %37 = load i32, i32* %fd61, align 8 + %38 = load i32, i32* %cmd.addr, align 4 + %39 = load i32, i32* %arg, align 4 + %call62 = call i64 (i64, ...) @syscall(i64 72, i32 %37, i32 %38, i32 %39) #11 + %conv = trunc i64 %call62 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end60, %sw.default, %sw.bb58, %sw.bb57, %sw.bb56, %if.end55, %if.end46, %if.then + %40 = load i32, i32* %retval, align 4 + ret i32 %40 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_statfs(i8* %path, %struct.statfs* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.statfs*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.statfs* %buf, %struct.statfs** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0)) + %call1 = call i32* @__errno_location() #25 + store i32 2, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %2) + %3 = load %struct.statfs*, %struct.statfs** %buf.addr, align 8 + %call3 = call i64 (i64, ...) @syscall(i64 137, i8* %call2, %struct.statfs* %3) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstatfs(i32 %fd, %struct.statfs* nonnull %buf) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.statfs*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.statfs* %buf, %struct.statfs** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %if.end + call void @gs_warning(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.22, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 9, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd6, align 8 + %6 = load %struct.statfs*, %struct.statfs** %buf.addr, align 8 + %call7 = call i64 (i64, ...) @syscall(i64 138, i32 %5, %struct.statfs* %6) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %7 = load i32, i32* %retval, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fsync(i32 %fd) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.else + store i32 0, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %if.else + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd5 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd5, align 8 + %call6 = call i64 (i64, ...) @syscall(i64 74, i32 %5) #11 + %conv = trunc i64 %call6 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @dup2(i32 %oldfd, i32 %newfd) #3 { +entry: + %retval = alloca i32, align 4 + %oldfd.addr = alloca i32, align 4 + %newfd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %f2 = alloca %struct.exe_file_t*, align 8 + store i32 %oldfd, i32* %oldfd.addr, align 4 + store i32 %newfd, i32* %newfd.addr, align 4 + %0 = load i32, i32* %oldfd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + %2 = load i32, i32* %newfd.addr, align 4 + %cmp = icmp sge i32 %2, 0 + %or.cond = and i1 %tobool, %cmp + %3 = load i32, i32* %newfd.addr, align 4 + %cmp1 = icmp slt i32 %3, 32 + %or.cond1 = and i1 %or.cond, %cmp1 + br i1 %or.cond1, label %if.else, label %if.then + +if.then: ; preds = %entry + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %4 = load i32, i32* %newfd.addr, align 4 + %idxprom = sext i32 %4 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + store %struct.exe_file_t* %arrayidx, %struct.exe_file_t** %f2, align 8 + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f2, align 8 + %flags = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 1 + %6 = load i32, i32* %flags, align 4 + %and = and i32 %6, 1 + %tobool3 = icmp ne i32 %and, 0 + br i1 %tobool3, label %if.then4, label %if.end + +if.then4: ; preds = %if.else + %7 = load i32, i32* %newfd.addr, align 4 + %call5 = call i32 @close(i32 %7) + br label %if.end + +if.end: ; preds = %if.then4, %if.else + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f2, align 8 + %9 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %10 = bitcast %struct.exe_file_t* %8 to i8* + %11 = bitcast %struct.exe_file_t* %9 to i8* + %12 = call i8* @memcpy(i8* %10, i8* %11, i64 24) + %13 = load %struct.exe_file_t*, %struct.exe_file_t** %f2, align 8 + %flags6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %13, i32 0, i32 1 + %14 = load i32, i32* %flags6, align 4 + %and7 = and i32 %14, -3 + store i32 %and7, i32* %flags6, align 4 + %15 = load i32, i32* %newfd.addr, align 4 + store i32 %15, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %16 = load i32, i32* %retval, align 4 + ret i32 %16 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @dup(i32 %oldfd) #3 { +entry: + %retval = alloca i32, align 4 + %oldfd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %fd = alloca i32, align 4 + store i32 %oldfd, i32* %oldfd.addr, align 4 + %0 = load i32, i32* %oldfd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + store i32 0, i32* %fd, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.else + %2 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %2, 32 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %3 = load i32, i32* %fd, align 4 + %idxprom = sext i32 %3 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + %flags = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %arrayidx, i32 0, i32 1 + %4 = load i32, i32* %flags, align 4 + %and = and i32 %4, 1 + %tobool2 = icmp ne i32 %and, 0 + br i1 %tobool2, label %for.inc, label %for.end + +for.inc: ; preds = %for.body + %5 = load i32, i32* %fd, align 4 + %inc = add nsw i32 %5, 1 + store i32 %inc, i32* %fd, align 4 + br label %for.cond + +for.end: ; preds = %for.body, %for.cond + %6 = load i32, i32* %fd, align 4 + %cmp4 = icmp eq i32 %6, 32 + br i1 %cmp4, label %if.then5, label %if.else7 + +if.then5: ; preds = %for.end + %call6 = call i32* @__errno_location() #25 + store i32 24, i32* %call6, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else7: ; preds = %for.end + %7 = load i32, i32* %oldfd.addr, align 4 + %8 = load i32, i32* %fd, align 4 + %call8 = call i32 @dup2(i32 %7, i32 %8) #11 + store i32 %call8, i32* %retval, align 4 + br label %return + +return: ; preds = %if.else7, %if.then5, %if.then + %9 = load i32, i32* %retval, align 4 + ret i32 %9 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rmdir(i8* nonnull %pathname) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 16384 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %5, i32 0, i32 2 + %6 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 1 + store i64 0, i64* %st_ino, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %call3 = call i32* @__errno_location() #25 + store i32 20, i32* %call3, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 1, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.else, %if.then1 + %7 = load i32, i32* %retval, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @unlink(i8* nonnull %pathname) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 32768 + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %5, i32 0, i32 2 + %6 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 1 + store i64 0, i64* %st_ino, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %st_mode4 = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 3 + %7 = load i32, i32* %st_mode4, align 8 + %and5 = and i32 %7, 61440 + %cmp6 = icmp eq i32 %and5, 16384 + %call8 = call i32* @__errno_location() #25 + br i1 %cmp6, label %if.then7, label %if.else9 + +if.then7: ; preds = %if.else + store i32 21, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else9: ; preds = %if.else + store i32 1, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0)) + %call11 = call i32* @__errno_location() #25 + store i32 1, i32* %call11, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.else9, %if.then7, %if.then1 + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @unlinkat(i32 %dirfd, i8* nonnull %pathname, i32 %flags) #3 { +entry: + %retval = alloca i32, align 4 + %dirfd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i32 %dirfd, i32* %dirfd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 32768 + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %5, i32 0, i32 2 + %6 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 1 + store i64 0, i64* %st_ino, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %st_mode4 = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 3 + %7 = load i32, i32* %st_mode4, align 8 + %and5 = and i32 %7, 61440 + %cmp6 = icmp eq i32 %and5, 16384 + %call8 = call i32* @__errno_location() #25 + br i1 %cmp6, label %if.then7, label %if.else9 + +if.then7: ; preds = %if.else + store i32 21, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else9: ; preds = %if.else + store i32 1, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0)) + %call11 = call i32* @__errno_location() #25 + store i32 1, i32* %call11, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.else9, %if.then7, %if.then1 + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @readlink(i8* nonnull %path, i8* nonnull %buf, i64 %bufsize) #3 { +entry: + %retval = alloca i64, align 8 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end20 + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 40960 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %5 = load i8*, i8** %path.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 0 + %6 = load i8, i8* %arrayidx, align 1 + %7 = load i8*, i8** %buf.addr, align 8 + %arrayidx2 = getelementptr inbounds i8, i8* %7, i64 0 + store i8 %6, i8* %arrayidx2, align 1 + %8 = load i64, i64* %bufsize.addr, align 8 + %cmp3 = icmp ugt i64 %8, 1 + br i1 %cmp3, label %if.then4, label %if.end + +if.then4: ; preds = %if.then1 + %9 = load i8*, i8** %buf.addr, align 8 + %arrayidx5 = getelementptr inbounds i8, i8* %9, i64 1 + store i8 46, i8* %arrayidx5, align 1 + br label %if.end + +if.end: ; preds = %if.then4, %if.then1 + %10 = load i64, i64* %bufsize.addr, align 8 + %cmp6 = icmp ugt i64 %10, 2 + br i1 %cmp6, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end + %11 = load i8*, i8** %buf.addr, align 8 + %arrayidx8 = getelementptr inbounds i8, i8* %11, i64 2 + store i8 108, i8* %arrayidx8, align 1 + br label %if.end9 + +if.end9: ; preds = %if.then7, %if.end + %12 = load i64, i64* %bufsize.addr, align 8 + %cmp10 = icmp ugt i64 %12, 3 + br i1 %cmp10, label %if.then11, label %if.end13 + +if.then11: ; preds = %if.end9 + %13 = load i8*, i8** %buf.addr, align 8 + %arrayidx12 = getelementptr inbounds i8, i8* %13, i64 3 + store i8 110, i8* %arrayidx12, align 1 + br label %if.end13 + +if.end13: ; preds = %if.then11, %if.end9 + %14 = load i64, i64* %bufsize.addr, align 8 + %cmp14 = icmp ugt i64 %14, 4 + br i1 %cmp14, label %if.then15, label %if.end17 + +if.then15: ; preds = %if.end13 + %15 = load i8*, i8** %buf.addr, align 8 + %arrayidx16 = getelementptr inbounds i8, i8* %15, i64 4 + store i8 107, i8* %arrayidx16, align 1 + br label %if.end17 + +if.end17: ; preds = %if.then15, %if.end13 + %16 = load i64, i64* %bufsize.addr, align 8 + %cmp18 = icmp ugt i64 %16, 5 + %17 = load i64, i64* %bufsize.addr, align 8 + %cond = select i1 %cmp18, i64 5, i64 %17 + store i64 %cond, i64* %retval, align 8 + br label %return + +if.else: ; preds = %if.then + %call19 = call i32* @__errno_location() #25 + store i32 22, i32* %call19, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end20: ; preds = %entry + %18 = load i8*, i8** %path.addr, align 8 + %19 = load i8*, i8** %buf.addr, align 8 + %20 = load i64, i64* %bufsize.addr, align 8 + %call21 = call i64 (i64, ...) @syscall(i64 89, i8* %18, i8* %19, i64 %20) #11 + store i64 %call21, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end20, %if.else, %if.end17 + %21 = load i64, i64* %retval, align 8 + ret i64 %21 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @select(i32 %nfds, %struct.fd_set* %read, %struct.fd_set* %write, %struct.fd_set* %except, %struct.timespec* %timeout) #3 { +entry: + %retval = alloca i32, align 4 + %nfds.addr = alloca i32, align 4 + %read.addr = alloca %struct.fd_set*, align 8 + %write.addr = alloca %struct.fd_set*, align 8 + %except.addr = alloca %struct.fd_set*, align 8 + %timeout.addr = alloca %struct.timespec*, align 8 + %in_read = alloca %struct.fd_set, align 8 + %in_write = alloca %struct.fd_set, align 8 + %in_except = alloca %struct.fd_set, align 8 + %os_read = alloca %struct.fd_set, align 8 + %os_write = alloca %struct.fd_set, align 8 + %os_except = alloca %struct.fd_set, align 8 + %i = alloca i32, align 4 + %count = alloca i32, align 4 + %os_nfds = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %tv = alloca %struct.timespec, align 8 + %r = alloca i32, align 4 + %f182 = alloca %struct.exe_file_t*, align 8 + store i32 %nfds, i32* %nfds.addr, align 4 + store %struct.fd_set* %read, %struct.fd_set** %read.addr, align 8 + store %struct.fd_set* %write, %struct.fd_set** %write.addr, align 8 + store %struct.fd_set* %except, %struct.fd_set** %except.addr, align 8 + store %struct.timespec* %timeout, %struct.timespec** %timeout.addr, align 8 + store i32 0, i32* %count, align 4 + store i32 0, i32* %os_nfds, align 4 + %0 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %tobool = icmp ne %struct.fd_set* %0, null + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %entry + %1 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %2 = bitcast %struct.fd_set* %in_read to i8* + %3 = bitcast %struct.fd_set* %1 to i8* + %4 = call i8* @memcpy(i8* %2, i8* %3, i64 128) + %5 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %6 = bitcast %struct.fd_set* %5 to i8* + %7 = call i8* @memset(i8* %6, i32 0, i64 128) + br label %if.end + +if.else: ; preds = %entry + %8 = bitcast %struct.fd_set* %in_read to i8* + %9 = call i8* @memset(i8* %8, i32 0, i64 128) + br label %if.end + +if.end: ; preds = %if.else, %if.then + %10 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %tobool1 = icmp ne %struct.fd_set* %10, null + br i1 %tobool1, label %if.then2, label %if.else3 + +if.then2: ; preds = %if.end + %11 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %12 = bitcast %struct.fd_set* %in_write to i8* + %13 = bitcast %struct.fd_set* %11 to i8* + %14 = call i8* @memcpy(i8* %12, i8* %13, i64 128) + %15 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %16 = bitcast %struct.fd_set* %15 to i8* + %17 = call i8* @memset(i8* %16, i32 0, i64 128) + br label %if.end4 + +if.else3: ; preds = %if.end + %18 = bitcast %struct.fd_set* %in_write to i8* + %19 = call i8* @memset(i8* %18, i32 0, i64 128) + br label %if.end4 + +if.end4: ; preds = %if.else3, %if.then2 + %20 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %tobool5 = icmp ne %struct.fd_set* %20, null + br i1 %tobool5, label %if.then6, label %if.else7 + +if.then6: ; preds = %if.end4 + %21 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %22 = bitcast %struct.fd_set* %in_except to i8* + %23 = bitcast %struct.fd_set* %21 to i8* + %24 = call i8* @memcpy(i8* %22, i8* %23, i64 128) + %25 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %26 = bitcast %struct.fd_set* %25 to i8* + %27 = call i8* @memset(i8* %26, i32 0, i64 128) + br label %if.end8 + +if.else7: ; preds = %if.end4 + %28 = bitcast %struct.fd_set* %in_except to i8* + %29 = call i8* @memset(i8* %28, i32 0, i64 128) + br label %if.end8 + +if.end8: ; preds = %if.else7, %if.then6 + %30 = bitcast %struct.fd_set* %os_read to i8* + %31 = call i8* @memset(i8* %30, i32 0, i64 128) + %32 = bitcast %struct.fd_set* %os_write to i8* + %33 = call i8* @memset(i8* %32, i32 0, i64 128) + %34 = bitcast %struct.fd_set* %os_except to i8* + %35 = call i8* @memset(i8* %34, i32 0, i64 128) + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end8 + %36 = load i32, i32* %i, align 4 + %37 = load i32, i32* %nfds.addr, align 4 + %cmp = icmp slt i32 %36, %37 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %fds_bits = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_read, i32 0, i32 0 + %38 = load i32, i32* %i, align 4 + %div = sdiv i32 %38, 64 + %idxprom = sext i32 %div to i64 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits, i64 0, i64 %idxprom + %39 = load i64, i64* %arrayidx, align 8 + %40 = load i32, i32* %i, align 4 + %rem = srem i32 %40, 64 + %shl = shl i32 1, %rem + %conv = sext i32 %shl to i64 + %and = and i64 %39, %conv + %tobool9 = icmp ne i64 %and, 0 + br i1 %tobool9, label %if.then29, label %lor.lhs.false + +lor.lhs.false: ; preds = %for.body + %fds_bits10 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_write, i32 0, i32 0 + %41 = load i32, i32* %i, align 4 + %div11 = sdiv i32 %41, 64 + %idxprom12 = sext i32 %div11 to i64 + %arrayidx13 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits10, i64 0, i64 %idxprom12 + %42 = load i64, i64* %arrayidx13, align 8 + %43 = load i32, i32* %i, align 4 + %rem14 = srem i32 %43, 64 + %shl15 = shl i32 1, %rem14 + %conv16 = sext i32 %shl15 to i64 + %and17 = and i64 %42, %conv16 + %tobool18 = icmp ne i64 %and17, 0 + br i1 %tobool18, label %if.then29, label %lor.lhs.false19 + +lor.lhs.false19: ; preds = %lor.lhs.false + %fds_bits20 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_except, i32 0, i32 0 + %44 = load i32, i32* %i, align 4 + %div21 = sdiv i32 %44, 64 + %idxprom22 = sext i32 %div21 to i64 + %arrayidx23 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits20, i64 0, i64 %idxprom22 + %45 = load i64, i64* %arrayidx23, align 8 + %46 = load i32, i32* %i, align 4 + %rem24 = srem i32 %46, 64 + %shl25 = shl i32 1, %rem24 + %conv26 = sext i32 %shl25 to i64 + %and27 = and i64 %45, %conv26 + %tobool28 = icmp ne i64 %and27, 0 + br i1 %tobool28, label %if.then29, label %for.inc + +if.then29: ; preds = %lor.lhs.false19, %lor.lhs.false, %for.body + %47 = load i32, i32* %i, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %47) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %48 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool30 = icmp ne %struct.exe_file_t* %48, null + br i1 %tobool30, label %if.else33, label %if.then31 + +if.then31: ; preds = %if.then29 + %call32 = call i32* @__errno_location() #25 + store i32 9, i32* %call32, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else33: ; preds = %if.then29 + %49 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %49, i32 0, i32 3 + %50 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool34 = icmp ne %struct.exe_disk_file_t* %50, null + %fds_bits36 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_read, i32 0, i32 0 + %51 = load i32, i32* %i, align 4 + %div37 = sdiv i32 %51, 64 + %idxprom38 = sext i32 %div37 to i64 + %arrayidx39 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits36, i64 0, i64 %idxprom38 + %52 = load i64, i64* %arrayidx39, align 8 + %53 = load i32, i32* %i, align 4 + %rem40 = srem i32 %53, 64 + %shl41 = shl i32 1, %rem40 + %conv42 = sext i32 %shl41 to i64 + %and43 = and i64 %52, %conv42 + %tobool44 = icmp ne i64 %and43, 0 + br i1 %tobool34, label %if.then35, label %if.else92 + +if.then35: ; preds = %if.else33 + br i1 %tobool44, label %if.then45, label %if.end53 + +if.then45: ; preds = %if.then35 + %54 = load i32, i32* %i, align 4 + %rem46 = srem i32 %54, 64 + %shl47 = shl i32 1, %rem46 + %conv48 = sext i32 %shl47 to i64 + %55 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %fds_bits49 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %55, i32 0, i32 0 + %56 = load i32, i32* %i, align 4 + %div50 = sdiv i32 %56, 64 + %idxprom51 = sext i32 %div50 to i64 + %arrayidx52 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits49, i64 0, i64 %idxprom51 + %57 = load i64, i64* %arrayidx52, align 8 + %or = or i64 %57, %conv48 + store i64 %or, i64* %arrayidx52, align 8 + br label %if.end53 + +if.end53: ; preds = %if.then45, %if.then35 + %fds_bits54 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_write, i32 0, i32 0 + %58 = load i32, i32* %i, align 4 + %div55 = sdiv i32 %58, 64 + %idxprom56 = sext i32 %div55 to i64 + %arrayidx57 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits54, i64 0, i64 %idxprom56 + %59 = load i64, i64* %arrayidx57, align 8 + %60 = load i32, i32* %i, align 4 + %rem58 = srem i32 %60, 64 + %shl59 = shl i32 1, %rem58 + %conv60 = sext i32 %shl59 to i64 + %and61 = and i64 %59, %conv60 + %tobool62 = icmp ne i64 %and61, 0 + br i1 %tobool62, label %if.then63, label %if.end72 + +if.then63: ; preds = %if.end53 + %61 = load i32, i32* %i, align 4 + %rem64 = srem i32 %61, 64 + %shl65 = shl i32 1, %rem64 + %conv66 = sext i32 %shl65 to i64 + %62 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %fds_bits67 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %62, i32 0, i32 0 + %63 = load i32, i32* %i, align 4 + %div68 = sdiv i32 %63, 64 + %idxprom69 = sext i32 %div68 to i64 + %arrayidx70 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits67, i64 0, i64 %idxprom69 + %64 = load i64, i64* %arrayidx70, align 8 + %or71 = or i64 %64, %conv66 + store i64 %or71, i64* %arrayidx70, align 8 + br label %if.end72 + +if.end72: ; preds = %if.then63, %if.end53 + %fds_bits73 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_except, i32 0, i32 0 + %65 = load i32, i32* %i, align 4 + %div74 = sdiv i32 %65, 64 + %idxprom75 = sext i32 %div74 to i64 + %arrayidx76 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits73, i64 0, i64 %idxprom75 + %66 = load i64, i64* %arrayidx76, align 8 + %67 = load i32, i32* %i, align 4 + %rem77 = srem i32 %67, 64 + %shl78 = shl i32 1, %rem77 + %conv79 = sext i32 %shl78 to i64 + %and80 = and i64 %66, %conv79 + %tobool81 = icmp ne i64 %and80, 0 + br i1 %tobool81, label %if.then82, label %if.end91 + +if.then82: ; preds = %if.end72 + %68 = load i32, i32* %i, align 4 + %rem83 = srem i32 %68, 64 + %shl84 = shl i32 1, %rem83 + %conv85 = sext i32 %shl84 to i64 + %69 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %fds_bits86 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %69, i32 0, i32 0 + %70 = load i32, i32* %i, align 4 + %div87 = sdiv i32 %70, 64 + %idxprom88 = sext i32 %div87 to i64 + %arrayidx89 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits86, i64 0, i64 %idxprom88 + %71 = load i64, i64* %arrayidx89, align 8 + %or90 = or i64 %71, %conv85 + store i64 %or90, i64* %arrayidx89, align 8 + br label %if.end91 + +if.end91: ; preds = %if.then82, %if.end72 + %72 = load i32, i32* %count, align 4 + %inc = add nsw i32 %72, 1 + store i32 %inc, i32* %count, align 4 + br label %for.inc + +if.else92: ; preds = %if.else33 + br i1 %tobool44, label %if.then102, label %if.end112 + +if.then102: ; preds = %if.else92 + %73 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %73, i32 0, i32 0 + %74 = load i32, i32* %fd, align 8 + %rem103 = srem i32 %74, 64 + %shl104 = shl i32 1, %rem103 + %conv105 = sext i32 %shl104 to i64 + %fds_bits106 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_read, i32 0, i32 0 + %75 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd107 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %75, i32 0, i32 0 + %76 = load i32, i32* %fd107, align 8 + %div108 = sdiv i32 %76, 64 + %idxprom109 = sext i32 %div108 to i64 + %arrayidx110 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits106, i64 0, i64 %idxprom109 + %77 = load i64, i64* %arrayidx110, align 8 + %or111 = or i64 %77, %conv105 + store i64 %or111, i64* %arrayidx110, align 8 + br label %if.end112 + +if.end112: ; preds = %if.then102, %if.else92 + %fds_bits113 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_write, i32 0, i32 0 + %78 = load i32, i32* %i, align 4 + %div114 = sdiv i32 %78, 64 + %idxprom115 = sext i32 %div114 to i64 + %arrayidx116 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits113, i64 0, i64 %idxprom115 + %79 = load i64, i64* %arrayidx116, align 8 + %80 = load i32, i32* %i, align 4 + %rem117 = srem i32 %80, 64 + %shl118 = shl i32 1, %rem117 + %conv119 = sext i32 %shl118 to i64 + %and120 = and i64 %79, %conv119 + %tobool121 = icmp ne i64 %and120, 0 + br i1 %tobool121, label %if.then122, label %if.end133 + +if.then122: ; preds = %if.end112 + %81 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd123 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %81, i32 0, i32 0 + %82 = load i32, i32* %fd123, align 8 + %rem124 = srem i32 %82, 64 + %shl125 = shl i32 1, %rem124 + %conv126 = sext i32 %shl125 to i64 + %fds_bits127 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_write, i32 0, i32 0 + %83 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd128 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %83, i32 0, i32 0 + %84 = load i32, i32* %fd128, align 8 + %div129 = sdiv i32 %84, 64 + %idxprom130 = sext i32 %div129 to i64 + %arrayidx131 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits127, i64 0, i64 %idxprom130 + %85 = load i64, i64* %arrayidx131, align 8 + %or132 = or i64 %85, %conv126 + store i64 %or132, i64* %arrayidx131, align 8 + br label %if.end133 + +if.end133: ; preds = %if.then122, %if.end112 + %fds_bits134 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_except, i32 0, i32 0 + %86 = load i32, i32* %i, align 4 + %div135 = sdiv i32 %86, 64 + %idxprom136 = sext i32 %div135 to i64 + %arrayidx137 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits134, i64 0, i64 %idxprom136 + %87 = load i64, i64* %arrayidx137, align 8 + %88 = load i32, i32* %i, align 4 + %rem138 = srem i32 %88, 64 + %shl139 = shl i32 1, %rem138 + %conv140 = sext i32 %shl139 to i64 + %and141 = and i64 %87, %conv140 + %tobool142 = icmp ne i64 %and141, 0 + br i1 %tobool142, label %if.then143, label %if.end154 + +if.then143: ; preds = %if.end133 + %89 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd144 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %89, i32 0, i32 0 + %90 = load i32, i32* %fd144, align 8 + %rem145 = srem i32 %90, 64 + %shl146 = shl i32 1, %rem145 + %conv147 = sext i32 %shl146 to i64 + %fds_bits148 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_except, i32 0, i32 0 + %91 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd149 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %91, i32 0, i32 0 + %92 = load i32, i32* %fd149, align 8 + %div150 = sdiv i32 %92, 64 + %idxprom151 = sext i32 %div150 to i64 + %arrayidx152 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits148, i64 0, i64 %idxprom151 + %93 = load i64, i64* %arrayidx152, align 8 + %or153 = or i64 %93, %conv147 + store i64 %or153, i64* %arrayidx152, align 8 + br label %if.end154 + +if.end154: ; preds = %if.then143, %if.end133 + %94 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd155 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %94, i32 0, i32 0 + %95 = load i32, i32* %fd155, align 8 + %96 = load i32, i32* %os_nfds, align 4 + %cmp156 = icmp sge i32 %95, %96 + br i1 %cmp156, label %if.then158, label %for.inc + +if.then158: ; preds = %if.end154 + %97 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd159 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %97, i32 0, i32 0 + %98 = load i32, i32* %fd159, align 8 + %add = add nsw i32 %98, 1 + store i32 %add, i32* %os_nfds, align 4 + br label %for.inc + +for.inc: ; preds = %lor.lhs.false19, %if.end91, %if.then158, %if.end154 + %99 = load i32, i32* %i, align 4 + %inc164 = add nsw i32 %99, 1 + store i32 %inc164, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %100 = load i32, i32* %os_nfds, align 4 + %cmp165 = icmp sgt i32 %100, 0 + br i1 %cmp165, label %if.then167, label %if.end262 + +if.then167: ; preds = %for.end + %101 = bitcast %struct.timespec* %tv to i8* + %102 = call i8* @memset(i8* %101, i32 0, i64 16) + %103 = load i32, i32* %os_nfds, align 4 + %call168 = call i64 (i64, ...) @syscall(i64 23, i32 %103, %struct.fd_set* %os_read, %struct.fd_set* %os_write, %struct.fd_set* %os_except, %struct.timespec* %tv) #11 + %conv169 = trunc i64 %call168 to i32 + store i32 %conv169, i32* %r, align 4 + %104 = load i32, i32* %r, align 4 + %cmp170 = icmp eq i32 %104, -1 + br i1 %cmp170, label %if.then172, label %if.else176 + +if.then172: ; preds = %if.then167 + %105 = load i32, i32* %count, align 4 + %tobool173 = icmp ne i32 %105, 0 + br i1 %tobool173, label %if.end262, label %if.then174 + +if.then174: ; preds = %if.then172 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else176: ; preds = %if.then167 + %106 = load i32, i32* %r, align 4 + %107 = load i32, i32* %count, align 4 + %add177 = add nsw i32 %107, %106 + store i32 %add177, i32* %count, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond178 + +for.cond178: ; preds = %for.inc258, %if.else176 + %108 = load i32, i32* %i, align 4 + %109 = load i32, i32* %nfds.addr, align 4 + %cmp179 = icmp slt i32 %108, %109 + br i1 %cmp179, label %for.body181, label %if.end262 + +for.body181: ; preds = %for.cond178 + %110 = load i32, i32* %i, align 4 + %call183 = call %struct.exe_file_t* @__get_file(i32 %110) + store %struct.exe_file_t* %call183, %struct.exe_file_t** %f182, align 8 + %111 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %tobool184 = icmp ne %struct.exe_file_t* %111, null + br i1 %tobool184, label %land.lhs.true, label %for.inc258 + +land.lhs.true: ; preds = %for.body181 + %112 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %dfile185 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %112, i32 0, i32 3 + %113 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile185, align 8 + %tobool186 = icmp ne %struct.exe_disk_file_t* %113, null + br i1 %tobool186, label %for.inc258, label %if.then187 + +if.then187: ; preds = %land.lhs.true + %114 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %tobool188 = icmp ne %struct.fd_set* %114, null + br i1 %tobool188, label %land.lhs.true189, label %if.end210 + +land.lhs.true189: ; preds = %if.then187 + %fds_bits190 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_read, i32 0, i32 0 + %115 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd191 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %115, i32 0, i32 0 + %116 = load i32, i32* %fd191, align 8 + %div192 = sdiv i32 %116, 64 + %idxprom193 = sext i32 %div192 to i64 + %arrayidx194 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits190, i64 0, i64 %idxprom193 + %117 = load i64, i64* %arrayidx194, align 8 + %118 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd195 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %118, i32 0, i32 0 + %119 = load i32, i32* %fd195, align 8 + %rem196 = srem i32 %119, 64 + %shl197 = shl i32 1, %rem196 + %conv198 = sext i32 %shl197 to i64 + %and199 = and i64 %117, %conv198 + %tobool200 = icmp ne i64 %and199, 0 + br i1 %tobool200, label %if.then201, label %if.end210 + +if.then201: ; preds = %land.lhs.true189 + %120 = load i32, i32* %i, align 4 + %rem202 = srem i32 %120, 64 + %shl203 = shl i32 1, %rem202 + %conv204 = sext i32 %shl203 to i64 + %121 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %fds_bits205 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %121, i32 0, i32 0 + %122 = load i32, i32* %i, align 4 + %div206 = sdiv i32 %122, 64 + %idxprom207 = sext i32 %div206 to i64 + %arrayidx208 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits205, i64 0, i64 %idxprom207 + %123 = load i64, i64* %arrayidx208, align 8 + %or209 = or i64 %123, %conv204 + store i64 %or209, i64* %arrayidx208, align 8 + br label %if.end210 + +if.end210: ; preds = %if.then201, %land.lhs.true189, %if.then187 + %124 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %tobool211 = icmp ne %struct.fd_set* %124, null + br i1 %tobool211, label %land.lhs.true212, label %if.end233 + +land.lhs.true212: ; preds = %if.end210 + %fds_bits213 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_write, i32 0, i32 0 + %125 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd214 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %125, i32 0, i32 0 + %126 = load i32, i32* %fd214, align 8 + %div215 = sdiv i32 %126, 64 + %idxprom216 = sext i32 %div215 to i64 + %arrayidx217 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits213, i64 0, i64 %idxprom216 + %127 = load i64, i64* %arrayidx217, align 8 + %128 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd218 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %128, i32 0, i32 0 + %129 = load i32, i32* %fd218, align 8 + %rem219 = srem i32 %129, 64 + %shl220 = shl i32 1, %rem219 + %conv221 = sext i32 %shl220 to i64 + %and222 = and i64 %127, %conv221 + %tobool223 = icmp ne i64 %and222, 0 + br i1 %tobool223, label %if.then224, label %if.end233 + +if.then224: ; preds = %land.lhs.true212 + %130 = load i32, i32* %i, align 4 + %rem225 = srem i32 %130, 64 + %shl226 = shl i32 1, %rem225 + %conv227 = sext i32 %shl226 to i64 + %131 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %fds_bits228 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %131, i32 0, i32 0 + %132 = load i32, i32* %i, align 4 + %div229 = sdiv i32 %132, 64 + %idxprom230 = sext i32 %div229 to i64 + %arrayidx231 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits228, i64 0, i64 %idxprom230 + %133 = load i64, i64* %arrayidx231, align 8 + %or232 = or i64 %133, %conv227 + store i64 %or232, i64* %arrayidx231, align 8 + br label %if.end233 + +if.end233: ; preds = %if.then224, %land.lhs.true212, %if.end210 + %134 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %tobool234 = icmp ne %struct.fd_set* %134, null + br i1 %tobool234, label %land.lhs.true235, label %for.inc258 + +land.lhs.true235: ; preds = %if.end233 + %fds_bits236 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_except, i32 0, i32 0 + %135 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd237 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %135, i32 0, i32 0 + %136 = load i32, i32* %fd237, align 8 + %div238 = sdiv i32 %136, 64 + %idxprom239 = sext i32 %div238 to i64 + %arrayidx240 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits236, i64 0, i64 %idxprom239 + %137 = load i64, i64* %arrayidx240, align 8 + %138 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd241 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %138, i32 0, i32 0 + %139 = load i32, i32* %fd241, align 8 + %rem242 = srem i32 %139, 64 + %shl243 = shl i32 1, %rem242 + %conv244 = sext i32 %shl243 to i64 + %and245 = and i64 %137, %conv244 + %tobool246 = icmp ne i64 %and245, 0 + br i1 %tobool246, label %if.then247, label %for.inc258 + +if.then247: ; preds = %land.lhs.true235 + %140 = load i32, i32* %i, align 4 + %rem248 = srem i32 %140, 64 + %shl249 = shl i32 1, %rem248 + %conv250 = sext i32 %shl249 to i64 + %141 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %fds_bits251 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %141, i32 0, i32 0 + %142 = load i32, i32* %i, align 4 + %div252 = sdiv i32 %142, 64 + %idxprom253 = sext i32 %div252 to i64 + %arrayidx254 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits251, i64 0, i64 %idxprom253 + %143 = load i64, i64* %arrayidx254, align 8 + %or255 = or i64 %143, %conv250 + store i64 %or255, i64* %arrayidx254, align 8 + br label %for.inc258 + +for.inc258: ; preds = %for.body181, %land.lhs.true, %if.then247, %land.lhs.true235, %if.end233 + %144 = load i32, i32* %i, align 4 + %inc259 = add nsw i32 %144, 1 + store i32 %inc259, i32* %i, align 4 + br label %for.cond178 + +if.end262: ; preds = %if.then172, %for.cond178, %for.end + %145 = load i32, i32* %count, align 4 + store i32 %145, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end262, %if.then174, %if.then31 + %146 = load i32, i32* %retval, align 4 + ret i32 %146 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chroot(i8* nonnull %path) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %0, i64 0 + %1 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call = call i32* @__errno_location() #25 + store i32 2, i32* %call, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %path.addr, align 8 + %arrayidx2 = getelementptr inbounds i8, i8* %2, i64 0 + %3 = load i8, i8* %arrayidx2, align 1 + %conv3 = sext i8 %3 to i32 + %cmp4 = icmp eq i32 %conv3, 47 + br i1 %cmp4, label %land.lhs.true, label %if.end11 + +land.lhs.true: ; preds = %if.end + %4 = load i8*, i8** %path.addr, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %4, i64 1 + %5 = load i8, i8* %arrayidx6, align 1 + %conv7 = sext i8 %5 to i32 + %cmp8 = icmp eq i32 %conv7, 0 + br i1 %cmp8, label %if.then10, label %if.end11 + +if.then10: ; preds = %land.lhs.true + store i32 0, i32* %retval, align 4 + br label %return + +if.end11: ; preds = %land.lhs.true, %if.end + call void @gs_warning(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.24, i64 0, i64 0)) + %call12 = call i32* @__errno_location() #25 + store i32 2, i32* %call12, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end11, %if.then10, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @open(i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i8*, i8** %pathname.addr, align 8 + %8 = load i32, i32* %flags.addr, align 4 + %9 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_open(i8* %7, i32 %8, i32 %9) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @openat(i32 %fd, i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %fd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i32, i32* %fd.addr, align 4 + %8 = load i8*, i8** %pathname.addr, align 8 + %9 = load i32, i32* %flags.addr, align 4 + %10 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_openat(i32 %7, i8* %8, i32 %9, i32 %10) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @lseek(i32 %fd, i64 %off, i32 %whence) #3 { +entry: + %fd.addr = alloca i32, align 4 + %off.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %off, i64* %off.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %off.addr, align 8 + %2 = load i32, i32* %whence.addr, align 4 + %call = call i64 @__fd_lseek(i32 %0, i64 %1, i32 %2) + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__xstat(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__stat64_to_stat(%struct.stat64* %a, %struct.stat64* %b) #3 { +entry: + %a.addr = alloca %struct.stat64*, align 8 + %b.addr = alloca %struct.stat64*, align 8 + store %struct.stat64* %a, %struct.stat64** %a.addr, align 8 + store %struct.stat64* %b, %struct.stat64** %b.addr, align 8 + %0 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_dev = getelementptr inbounds %struct.stat64, %struct.stat64* %0, i32 0, i32 0 + %1 = load i64, i64* %st_dev, align 8 + %2 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_dev1 = getelementptr inbounds %struct.stat64, %struct.stat64* %2, i32 0, i32 0 + store i64 %1, i64* %st_dev1, align 8 + %3 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 1 + %4 = load i64, i64* %st_ino, align 8 + %5 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_ino2 = getelementptr inbounds %struct.stat64, %struct.stat64* %5, i32 0, i32 1 + store i64 %4, i64* %st_ino2, align 8 + %6 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 3 + %7 = load i32, i32* %st_mode, align 8 + %8 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_mode3 = getelementptr inbounds %struct.stat64, %struct.stat64* %8, i32 0, i32 3 + store i32 %7, i32* %st_mode3, align 8 + %9 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_nlink = getelementptr inbounds %struct.stat64, %struct.stat64* %9, i32 0, i32 2 + %10 = load i64, i64* %st_nlink, align 8 + %11 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_nlink4 = getelementptr inbounds %struct.stat64, %struct.stat64* %11, i32 0, i32 2 + store i64 %10, i64* %st_nlink4, align 8 + %12 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_uid = getelementptr inbounds %struct.stat64, %struct.stat64* %12, i32 0, i32 4 + %13 = load i32, i32* %st_uid, align 4 + %14 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_uid5 = getelementptr inbounds %struct.stat64, %struct.stat64* %14, i32 0, i32 4 + store i32 %13, i32* %st_uid5, align 4 + %15 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_gid = getelementptr inbounds %struct.stat64, %struct.stat64* %15, i32 0, i32 5 + %16 = load i32, i32* %st_gid, align 8 + %17 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_gid6 = getelementptr inbounds %struct.stat64, %struct.stat64* %17, i32 0, i32 5 + store i32 %16, i32* %st_gid6, align 8 + %18 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_rdev = getelementptr inbounds %struct.stat64, %struct.stat64* %18, i32 0, i32 7 + %19 = load i64, i64* %st_rdev, align 8 + %20 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_rdev7 = getelementptr inbounds %struct.stat64, %struct.stat64* %20, i32 0, i32 7 + store i64 %19, i64* %st_rdev7, align 8 + %21 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_size = getelementptr inbounds %struct.stat64, %struct.stat64* %21, i32 0, i32 8 + %22 = load i64, i64* %st_size, align 8 + %23 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_size8 = getelementptr inbounds %struct.stat64, %struct.stat64* %23, i32 0, i32 8 + store i64 %22, i64* %st_size8, align 8 + %24 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_atim = getelementptr inbounds %struct.stat64, %struct.stat64* %24, i32 0, i32 11 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim, i32 0, i32 0 + %25 = load i64, i64* %tv_sec, align 8 + %26 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_atim9 = getelementptr inbounds %struct.stat64, %struct.stat64* %26, i32 0, i32 11 + %tv_sec10 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim9, i32 0, i32 0 + store i64 %25, i64* %tv_sec10, align 8 + %27 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_mtim = getelementptr inbounds %struct.stat64, %struct.stat64* %27, i32 0, i32 12 + %tv_sec11 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim, i32 0, i32 0 + %28 = load i64, i64* %tv_sec11, align 8 + %29 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_mtim12 = getelementptr inbounds %struct.stat64, %struct.stat64* %29, i32 0, i32 12 + %tv_sec13 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim12, i32 0, i32 0 + store i64 %28, i64* %tv_sec13, align 8 + %30 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_ctim = getelementptr inbounds %struct.stat64, %struct.stat64* %30, i32 0, i32 13 + %tv_sec14 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim, i32 0, i32 0 + %31 = load i64, i64* %tv_sec14, align 8 + %32 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_ctim15 = getelementptr inbounds %struct.stat64, %struct.stat64* %32, i32 0, i32 13 + %tv_sec16 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim15, i32 0, i32 0 + store i64 %31, i64* %tv_sec16, align 8 + %33 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_blksize = getelementptr inbounds %struct.stat64, %struct.stat64* %33, i32 0, i32 9 + %34 = load i64, i64* %st_blksize, align 8 + %35 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_blksize17 = getelementptr inbounds %struct.stat64, %struct.stat64* %35, i32 0, i32 9 + store i64 %34, i64* %st_blksize17, align 8 + %36 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_blocks = getelementptr inbounds %struct.stat64, %struct.stat64* %36, i32 0, i32 10 + %37 = load i64, i64* %st_blocks, align 8 + %38 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_blocks18 = getelementptr inbounds %struct.stat64, %struct.stat64* %38, i32 0, i32 10 + store i64 %37, i64* %st_blocks18, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @stat(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__lxstat(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @lstat(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fxstat(i32 %vers, i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %vers, i32* %vers.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstat(i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @ftruncate(i32 %fd, i64 %length) #3 { +entry: + %fd.addr = alloca i32, align 4 + %length.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %length, i64* %length.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %length.addr, align 8 + %call = call i32 @__fd_ftruncate(i32 %0, i64 %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @statfs(i8* nonnull %path, %struct.statfs* nonnull %buf32) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf32.addr = alloca %struct.statfs*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.statfs* %buf32, %struct.statfs** %buf32.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.statfs*, %struct.statfs** %buf32.addr, align 8 + %call = call i32 @__fd_statfs(i8* %0, %struct.statfs* %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @getdents(i32 %fd, %struct.dirent64* %dirp, i64 %nbytes) #3 { +entry: + %fd.addr = alloca i32, align 4 + %dirp.addr = alloca %struct.dirent64*, align 8 + %nbytes.addr = alloca i64, align 8 + %dp64 = alloca %struct.dirent64*, align 8 + %res = alloca i64, align 8 + %end = alloca %struct.dirent64*, align 8 + %dp = alloca %struct.dirent64*, align 8 + %name_len = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.dirent64* %dirp, %struct.dirent64** %dirp.addr, align 8 + store i64 %nbytes, i64* %nbytes.addr, align 8 + %0 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %1 = bitcast %struct.dirent64* %0 to %struct.dirent64* + store %struct.dirent64* %1, %struct.dirent64** %dp64, align 8 + %2 = load i32, i32* %fd.addr, align 4 + %3 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %4 = load i64, i64* %nbytes.addr, align 8 + %conv = trunc i64 %4 to i32 + %call = call i32 @__fd_getdents(i32 %2, %struct.dirent64* %3, i32 %conv) + %conv1 = sext i32 %call to i64 + store i64 %conv1, i64* %res, align 8 + %5 = load i64, i64* %res, align 8 + %cmp = icmp sgt i64 %5, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %6 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %7 = bitcast %struct.dirent64* %6 to i8* + %8 = load i64, i64* %res, align 8 + %add.ptr = getelementptr inbounds i8, i8* %7, i64 %8 + %9 = bitcast i8* %add.ptr to %struct.dirent64* + store %struct.dirent64* %9, %struct.dirent64** %end, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.then + %10 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %11 = load %struct.dirent64*, %struct.dirent64** %end, align 8 + %cmp3 = icmp ult %struct.dirent64* %10, %11 + br i1 %cmp3, label %while.body, label %if.end + +while.body: ; preds = %while.cond + %12 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %13 = bitcast %struct.dirent64* %12 to %struct.dirent64* + store %struct.dirent64* %13, %struct.dirent64** %dp, align 8 + %14 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_reclen = getelementptr inbounds %struct.dirent64, %struct.dirent64* %14, i32 0, i32 2 + %15 = load i16, i16* %d_reclen, align 8 + %conv5 = zext i16 %15 to i64 + %sub = sub i64 %conv5, ptrtoint ([256 x i8]* getelementptr inbounds (%struct.dirent64, %struct.dirent64* null, i32 0, i32 4) to i64) + store i64 %sub, i64* %name_len, align 8 + %16 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_ino = getelementptr inbounds %struct.dirent64, %struct.dirent64* %16, i32 0, i32 0 + %17 = load i64, i64* %d_ino, align 8 + %18 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_ino6 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %18, i32 0, i32 0 + store i64 %17, i64* %d_ino6, align 8 + %19 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_off = getelementptr inbounds %struct.dirent64, %struct.dirent64* %19, i32 0, i32 1 + %20 = load i64, i64* %d_off, align 8 + %21 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_off7 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %21, i32 0, i32 1 + store i64 %20, i64* %d_off7, align 8 + %22 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_reclen8 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %22, i32 0, i32 2 + %23 = load i16, i16* %d_reclen8, align 8 + %24 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_reclen9 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %24, i32 0, i32 2 + store i16 %23, i16* %d_reclen9, align 8 + %25 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_type = getelementptr inbounds %struct.dirent64, %struct.dirent64* %25, i32 0, i32 3 + %26 = load i8, i8* %d_type, align 2 + %27 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_type10 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %27, i32 0, i32 3 + store i8 %26, i8* %d_type10, align 2 + %28 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_name = getelementptr inbounds %struct.dirent64, %struct.dirent64* %28, i32 0, i32 4 + %arraydecay = getelementptr inbounds [256 x i8], [256 x i8]* %d_name, i64 0, i64 0 + %29 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_name11 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %29, i32 0, i32 4 + %arraydecay12 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name11, i64 0, i64 0 + %30 = load i64, i64* %name_len, align 8 + %31 = call i8* @memmove(i8* %arraydecay, i8* %arraydecay12, i64 %30) + %32 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %33 = bitcast %struct.dirent64* %32 to i8* + %34 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_reclen13 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %34, i32 0, i32 2 + %35 = load i16, i16* %d_reclen13, align 8 + %conv14 = zext i16 %35 to i32 + %idx.ext = sext i32 %conv14 to i64 + %add.ptr15 = getelementptr inbounds i8, i8* %33, i64 %idx.ext + %36 = bitcast i8* %add.ptr15 to %struct.dirent64* + store %struct.dirent64* %36, %struct.dirent64** %dp64, align 8 + br label %while.cond + +if.end: ; preds = %while.cond, %entry + %37 = load i64, i64* %res, align 8 + ret i64 %37 +} + +; Function Attrs: argmemonly nounwind willreturn +declare void @llvm.memmove.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i1 immarg) #9 + +; Function Attrs: noinline nounwind uwtable +define dso_local void @klee_init_env(i32* %argcPtr, i8*** %argvPtr) #3 { +entry: + %argcPtr.addr = alloca i32*, align 8 + %argvPtr.addr = alloca i8***, align 8 + %argc = alloca i32, align 4 + %argv = alloca i8**, align 8 + %new_argc = alloca i32, align 4 + %n_args = alloca i32, align 4 + %new_argv = alloca [1024 x i8*], align 16 + %max_len = alloca i32, align 4 + %min_argvs = alloca i32, align 4 + %max_argvs = alloca i32, align 4 + %sym_files = alloca i32, align 4 + %sym_file_len = alloca i32, align 4 + %sym_stdin_len = alloca i32, align 4 + %sym_stdout_flag = alloca i32, align 4 + %save_all_writes_flag = alloca i32, align 4 + %fd_fail = alloca i32, align 4 + %final_argv = alloca i8**, align 8 + %sym_arg_name = alloca [6 x i8], align 1 + %sym_arg_num = alloca i32, align 4 + %k = alloca i32, align 4 + %i = alloca i32, align 4 + %msg = alloca i8*, align 8 + %msg40 = alloca i8*, align 8 + %msg105 = alloca i8*, align 8 + %msg145 = alloca i8*, align 8 + %msg215 = alloca i8*, align 8 + store i32* %argcPtr, i32** %argcPtr.addr, align 8 + store i8*** %argvPtr, i8**** %argvPtr.addr, align 8 + %0 = load i32*, i32** %argcPtr.addr, align 8 + %1 = load i32, i32* %0, align 4 + store i32 %1, i32* %argc, align 4 + %2 = load i8***, i8**** %argvPtr.addr, align 8 + %3 = load i8**, i8*** %2, align 8 + store i8** %3, i8*** %argv, align 8 + store i32 0, i32* %new_argc, align 4 + store i32 0, i32* %sym_files, align 4 + store i32 0, i32* %sym_file_len, align 4 + store i32 0, i32* %sym_stdin_len, align 4 + store i32 0, i32* %sym_stdout_flag, align 4 + store i32 0, i32* %save_all_writes_flag, align 4 + store i32 0, i32* %fd_fail, align 4 + %4 = bitcast [6 x i8]* %sym_arg_name to i8* + %5 = call i8* @memcpy(i8* %4, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @__const.klee_init_env.sym_arg_name, i32 0, i32 0), i64 6) + store i32 0, i32* %sym_arg_num, align 4 + store i32 0, i32* %k, align 4 + %arrayidx = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 5 + store i8 0, i8* %arrayidx, align 1 + %6 = load i32, i32* %argc, align 4 + %cmp = icmp eq i32 %6, 2 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %7 = load i8**, i8*** %argv, align 8 + %arrayidx1 = getelementptr inbounds i8*, i8** %7, i64 1 + %8 = load i8*, i8** %arrayidx1, align 8 + %call = call i32 @__streq(i8* %8, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.29, i64 0, i64 0)) + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + call void @__emit_error(i8* getelementptr inbounds ([964 x i8], [964 x i8]* @.str.1.30, i64 0, i64 0)) + br label %if.end + +if.end: ; preds = %if.then, %land.lhs.true, %entry + br label %while.cond + +while.cond: ; preds = %if.end239, %if.end + %9 = load i32, i32* %k, align 4 + %10 = load i32, i32* %argc, align 4 + %cmp2 = icmp slt i32 %9, %10 + br i1 %cmp2, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %11 = load i8**, i8*** %argv, align 8 + %12 = load i32, i32* %k, align 4 + %idxprom = sext i32 %12 to i64 + %arrayidx3 = getelementptr inbounds i8*, i8** %11, i64 %idxprom + %13 = load i8*, i8** %arrayidx3, align 8 + %call4 = call i32 @__streq(i8* %13, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.2.31, i64 0, i64 0)) + %tobool5 = icmp ne i32 %call4, 0 + br i1 %tobool5, label %if.then10, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.body + %14 = load i8**, i8*** %argv, align 8 + %15 = load i32, i32* %k, align 4 + %idxprom6 = sext i32 %15 to i64 + %arrayidx7 = getelementptr inbounds i8*, i8** %14, i64 %idxprom6 + %16 = load i8*, i8** %arrayidx7, align 8 + %call8 = call i32 @__streq(i8* %16, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.32, i64 0, i64 0)) + %tobool9 = icmp ne i32 %call8, 0 + br i1 %tobool9, label %if.then10, label %if.else + +if.then10: ; preds = %lor.lhs.false, %while.body + store i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.4.33, i64 0, i64 0), i8** %msg, align 8 + %17 = load i32, i32* %k, align 4 + %inc = add nsw i32 %17, 1 + store i32 %inc, i32* %k, align 4 + %18 = load i32, i32* %argc, align 4 + %cmp11 = icmp eq i32 %inc, %18 + br i1 %cmp11, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.then10 + %19 = load i8*, i8** %msg, align 8 + call void @__emit_error(i8* %19) + br label %if.end13 + +if.end13: ; preds = %if.then12, %if.then10 + %20 = load i8**, i8*** %argv, align 8 + %21 = load i32, i32* %k, align 4 + %inc14 = add nsw i32 %21, 1 + store i32 %inc14, i32* %k, align 4 + %idxprom15 = sext i32 %21 to i64 + %arrayidx16 = getelementptr inbounds i8*, i8** %20, i64 %idxprom15 + %22 = load i8*, i8** %arrayidx16, align 8 + %23 = load i8*, i8** %msg, align 8 + %call17 = call i64 @__str_to_int(i8* %22, i8* %23) + %conv = trunc i64 %call17 to i32 + store i32 %conv, i32* %max_len, align 4 + %24 = load i32, i32* %sym_arg_num, align 4 + %cmp18 = icmp ugt i32 %24, 99 + br i1 %cmp18, label %if.then20, label %if.end21 + +if.then20: ; preds = %if.end13 + call void @__emit_error(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.5.34, i64 0, i64 0)) + br label %if.end21 + +if.end21: ; preds = %if.then20, %if.end13 + %25 = load i32, i32* %sym_arg_num, align 4 + %div = udiv i32 %25, 10 + %add = add i32 48, %div + %conv22 = trunc i32 %add to i8 + %arrayidx23 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 3 + store i8 %conv22, i8* %arrayidx23, align 1 + %26 = load i32, i32* %sym_arg_num, align 4 + %rem = urem i32 %26, 10 + %add24 = add i32 48, %rem + %conv25 = trunc i32 %add24 to i8 + %arrayidx26 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 4 + store i8 %conv25, i8* %arrayidx26, align 1 + %27 = load i32, i32* %sym_arg_num, align 4 + %inc27 = add i32 %27, 1 + store i32 %inc27, i32* %sym_arg_num, align 4 + %arraydecay = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %28 = load i32, i32* %max_len, align 4 + %arraydecay28 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 0 + %call29 = call i8* @__get_sym_str(i32 %28, i8* %arraydecay28) + call void @__add_arg(i32* %new_argc, i8** %arraydecay, i8* %call29, i32 1024) + br label %if.end239 + +if.else: ; preds = %lor.lhs.false + %29 = load i8**, i8*** %argv, align 8 + %30 = load i32, i32* %k, align 4 + %idxprom30 = sext i32 %30 to i64 + %arrayidx31 = getelementptr inbounds i8*, i8** %29, i64 %idxprom30 + %31 = load i8*, i8** %arrayidx31, align 8 + %call32 = call i32 @__streq(i8* %31, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.6.35, i64 0, i64 0)) + %tobool33 = icmp ne i32 %call32, 0 + br i1 %tobool33, label %if.then39, label %lor.lhs.false34 + +lor.lhs.false34: ; preds = %if.else + %32 = load i8**, i8*** %argv, align 8 + %33 = load i32, i32* %k, align 4 + %idxprom35 = sext i32 %33 to i64 + %arrayidx36 = getelementptr inbounds i8*, i8** %32, i64 %idxprom35 + %34 = load i8*, i8** %arrayidx36, align 8 + %call37 = call i32 @__streq(i8* %34, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.7.36, i64 0, i64 0)) + %tobool38 = icmp ne i32 %call37, 0 + br i1 %tobool38, label %if.then39, label %if.else94 + +if.then39: ; preds = %lor.lhs.false34, %if.else + store i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.8.37, i64 0, i64 0), i8** %msg40, align 8 + %35 = load i32, i32* %k, align 4 + %add41 = add nsw i32 %35, 3 + %36 = load i32, i32* %argc, align 4 + %cmp42 = icmp sge i32 %add41, %36 + br i1 %cmp42, label %if.then44, label %if.end45 + +if.then44: ; preds = %if.then39 + %37 = load i8*, i8** %msg40, align 8 + call void @__emit_error(i8* %37) + br label %if.end45 + +if.end45: ; preds = %if.then44, %if.then39 + %38 = load i32, i32* %k, align 4 + %inc46 = add nsw i32 %38, 1 + store i32 %inc46, i32* %k, align 4 + %39 = load i8**, i8*** %argv, align 8 + %40 = load i32, i32* %k, align 4 + %inc47 = add nsw i32 %40, 1 + store i32 %inc47, i32* %k, align 4 + %idxprom48 = sext i32 %40 to i64 + %arrayidx49 = getelementptr inbounds i8*, i8** %39, i64 %idxprom48 + %41 = load i8*, i8** %arrayidx49, align 8 + %42 = load i8*, i8** %msg40, align 8 + %call50 = call i64 @__str_to_int(i8* %41, i8* %42) + %conv51 = trunc i64 %call50 to i32 + store i32 %conv51, i32* %min_argvs, align 4 + %43 = load i8**, i8*** %argv, align 8 + %44 = load i32, i32* %k, align 4 + %inc52 = add nsw i32 %44, 1 + store i32 %inc52, i32* %k, align 4 + %idxprom53 = sext i32 %44 to i64 + %arrayidx54 = getelementptr inbounds i8*, i8** %43, i64 %idxprom53 + %45 = load i8*, i8** %arrayidx54, align 8 + %46 = load i8*, i8** %msg40, align 8 + %call55 = call i64 @__str_to_int(i8* %45, i8* %46) + %conv56 = trunc i64 %call55 to i32 + store i32 %conv56, i32* %max_argvs, align 4 + %47 = load i8**, i8*** %argv, align 8 + %48 = load i32, i32* %k, align 4 + %inc57 = add nsw i32 %48, 1 + store i32 %inc57, i32* %k, align 4 + %idxprom58 = sext i32 %48 to i64 + %arrayidx59 = getelementptr inbounds i8*, i8** %47, i64 %idxprom58 + %49 = load i8*, i8** %arrayidx59, align 8 + %50 = load i8*, i8** %msg40, align 8 + %call60 = call i64 @__str_to_int(i8* %49, i8* %50) + %conv61 = trunc i64 %call60 to i32 + store i32 %conv61, i32* %max_len, align 4 + %51 = load i32, i32* %min_argvs, align 4 + %52 = load i32, i32* %max_argvs, align 4 + %cmp62 = icmp ugt i32 %51, %52 + br i1 %cmp62, label %if.then70, label %lor.lhs.false64 + +lor.lhs.false64: ; preds = %if.end45 + %53 = load i32, i32* %min_argvs, align 4 + %cmp65 = icmp eq i32 %53, 0 + %54 = load i32, i32* %max_argvs, align 4 + %cmp68 = icmp eq i32 %54, 0 + %or.cond = and i1 %cmp65, %cmp68 + br i1 %or.cond, label %if.then70, label %if.end71 + +if.then70: ; preds = %lor.lhs.false64, %if.end45 + call void @__emit_error(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.9.38, i64 0, i64 0)) + br label %if.end71 + +if.end71: ; preds = %if.then70, %lor.lhs.false64 + %55 = load i32, i32* %min_argvs, align 4 + %56 = load i32, i32* %max_argvs, align 4 + %add72 = add i32 %56, 1 + %call73 = call i32 @gs_range(i32 %55, i32 %add72, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.10.39, i64 0, i64 0)) + store i32 %call73, i32* %n_args, align 4 + %57 = load i32, i32* %sym_arg_num, align 4 + %58 = load i32, i32* %max_argvs, align 4 + %add74 = add i32 %57, %58 + %cmp75 = icmp ugt i32 %add74, 99 + br i1 %cmp75, label %if.then77, label %if.end78 + +if.then77: ; preds = %if.end71 + call void @__emit_error(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.5.34, i64 0, i64 0)) + br label %if.end78 + +if.end78: ; preds = %if.then77, %if.end71 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end78 + %59 = load i32, i32* %i, align 4 + %60 = load i32, i32* %n_args, align 4 + %cmp79 = icmp slt i32 %59, %60 + br i1 %cmp79, label %for.body, label %if.end239 + +for.body: ; preds = %for.cond + %61 = load i32, i32* %sym_arg_num, align 4 + %div81 = udiv i32 %61, 10 + %add82 = add i32 48, %div81 + %conv83 = trunc i32 %add82 to i8 + %arrayidx84 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 3 + store i8 %conv83, i8* %arrayidx84, align 1 + %62 = load i32, i32* %sym_arg_num, align 4 + %rem85 = urem i32 %62, 10 + %add86 = add i32 48, %rem85 + %conv87 = trunc i32 %add86 to i8 + %arrayidx88 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 4 + store i8 %conv87, i8* %arrayidx88, align 1 + %63 = load i32, i32* %sym_arg_num, align 4 + %inc89 = add i32 %63, 1 + store i32 %inc89, i32* %sym_arg_num, align 4 + %arraydecay90 = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %64 = load i32, i32* %max_len, align 4 + %arraydecay91 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 0 + %call92 = call i8* @__get_sym_str(i32 %64, i8* %arraydecay91) + call void @__add_arg(i32* %new_argc, i8** %arraydecay90, i8* %call92, i32 1024) + %65 = load i32, i32* %i, align 4 + %inc93 = add nsw i32 %65, 1 + store i32 %inc93, i32* %i, align 4 + br label %for.cond + +if.else94: ; preds = %lor.lhs.false34 + %66 = load i8**, i8*** %argv, align 8 + %67 = load i32, i32* %k, align 4 + %idxprom95 = sext i32 %67 to i64 + %arrayidx96 = getelementptr inbounds i8*, i8** %66, i64 %idxprom95 + %68 = load i8*, i8** %arrayidx96, align 8 + %call97 = call i32 @__streq(i8* %68, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.11.40, i64 0, i64 0)) + %tobool98 = icmp ne i32 %call97, 0 + br i1 %tobool98, label %if.then104, label %lor.lhs.false99 + +lor.lhs.false99: ; preds = %if.else94 + %69 = load i8**, i8*** %argv, align 8 + %70 = load i32, i32* %k, align 4 + %idxprom100 = sext i32 %70 to i64 + %arrayidx101 = getelementptr inbounds i8*, i8** %69, i64 %idxprom100 + %71 = load i8*, i8** %arrayidx101, align 8 + %call102 = call i32 @__streq(i8* %71, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.12.41, i64 0, i64 0)) + %tobool103 = icmp ne i32 %call102, 0 + br i1 %tobool103, label %if.then104, label %if.else134 + +if.then104: ; preds = %lor.lhs.false99, %if.else94 + store i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.13.42, i64 0, i64 0), i8** %msg105, align 8 + %72 = load i32, i32* %k, align 4 + %add106 = add nsw i32 %72, 2 + %73 = load i32, i32* %argc, align 4 + %cmp107 = icmp sge i32 %add106, %73 + br i1 %cmp107, label %if.then109, label %if.end110 + +if.then109: ; preds = %if.then104 + %74 = load i8*, i8** %msg105, align 8 + call void @__emit_error(i8* %74) + br label %if.end110 + +if.end110: ; preds = %if.then109, %if.then104 + %75 = load i32, i32* %sym_files, align 4 + %cmp111 = icmp ne i32 %75, 0 + br i1 %cmp111, label %if.then113, label %if.end114 + +if.then113: ; preds = %if.end110 + call void @__emit_error(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.14.43, i64 0, i64 0)) + br label %if.end114 + +if.end114: ; preds = %if.then113, %if.end110 + %76 = load i32, i32* %k, align 4 + %inc115 = add nsw i32 %76, 1 + store i32 %inc115, i32* %k, align 4 + %77 = load i8**, i8*** %argv, align 8 + %78 = load i32, i32* %k, align 4 + %inc116 = add nsw i32 %78, 1 + store i32 %inc116, i32* %k, align 4 + %idxprom117 = sext i32 %78 to i64 + %arrayidx118 = getelementptr inbounds i8*, i8** %77, i64 %idxprom117 + %79 = load i8*, i8** %arrayidx118, align 8 + %80 = load i8*, i8** %msg105, align 8 + %call119 = call i64 @__str_to_int(i8* %79, i8* %80) + %conv120 = trunc i64 %call119 to i32 + store i32 %conv120, i32* %sym_files, align 4 + %81 = load i8**, i8*** %argv, align 8 + %82 = load i32, i32* %k, align 4 + %inc121 = add nsw i32 %82, 1 + store i32 %inc121, i32* %k, align 4 + %idxprom122 = sext i32 %82 to i64 + %arrayidx123 = getelementptr inbounds i8*, i8** %81, i64 %idxprom122 + %83 = load i8*, i8** %arrayidx123, align 8 + %84 = load i8*, i8** %msg105, align 8 + %call124 = call i64 @__str_to_int(i8* %83, i8* %84) + %conv125 = trunc i64 %call124 to i32 + store i32 %conv125, i32* %sym_file_len, align 4 + %85 = load i32, i32* %sym_files, align 4 + %cmp126 = icmp eq i32 %85, 0 + br i1 %cmp126, label %if.then128, label %if.end129 + +if.then128: ; preds = %if.end114 + call void @__emit_error(i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.15.44, i64 0, i64 0)) + br label %if.end129 + +if.end129: ; preds = %if.then128, %if.end114 + %86 = load i32, i32* %sym_file_len, align 4 + %cmp130 = icmp eq i32 %86, 0 + br i1 %cmp130, label %if.then132, label %if.end239 + +if.then132: ; preds = %if.end129 + call void @__emit_error(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.16.45, i64 0, i64 0)) + br label %if.end239 + +if.else134: ; preds = %lor.lhs.false99 + %87 = load i8**, i8*** %argv, align 8 + %88 = load i32, i32* %k, align 4 + %idxprom135 = sext i32 %88 to i64 + %arrayidx136 = getelementptr inbounds i8*, i8** %87, i64 %idxprom135 + %89 = load i8*, i8** %arrayidx136, align 8 + %call137 = call i32 @__streq(i8* %89, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.17.46, i64 0, i64 0)) + %tobool138 = icmp ne i32 %call137, 0 + br i1 %tobool138, label %if.then144, label %lor.lhs.false139 + +lor.lhs.false139: ; preds = %if.else134 + %90 = load i8**, i8*** %argv, align 8 + %91 = load i32, i32* %k, align 4 + %idxprom140 = sext i32 %91 to i64 + %arrayidx141 = getelementptr inbounds i8*, i8** %90, i64 %idxprom140 + %92 = load i8*, i8** %arrayidx141, align 8 + %call142 = call i32 @__streq(i8* %92, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.18.47, i64 0, i64 0)) + %tobool143 = icmp ne i32 %call142, 0 + br i1 %tobool143, label %if.then144, label %if.else156 + +if.then144: ; preds = %lor.lhs.false139, %if.else134 + store i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.19.48, i64 0, i64 0), i8** %msg145, align 8 + %93 = load i32, i32* %k, align 4 + %inc146 = add nsw i32 %93, 1 + store i32 %inc146, i32* %k, align 4 + %94 = load i32, i32* %argc, align 4 + %cmp147 = icmp eq i32 %inc146, %94 + br i1 %cmp147, label %if.then149, label %if.end150 + +if.then149: ; preds = %if.then144 + %95 = load i8*, i8** %msg145, align 8 + call void @__emit_error(i8* %95) + br label %if.end150 + +if.end150: ; preds = %if.then149, %if.then144 + %96 = load i8**, i8*** %argv, align 8 + %97 = load i32, i32* %k, align 4 + %inc151 = add nsw i32 %97, 1 + store i32 %inc151, i32* %k, align 4 + %idxprom152 = sext i32 %97 to i64 + %arrayidx153 = getelementptr inbounds i8*, i8** %96, i64 %idxprom152 + %98 = load i8*, i8** %arrayidx153, align 8 + %99 = load i8*, i8** %msg145, align 8 + %call154 = call i64 @__str_to_int(i8* %98, i8* %99) + %conv155 = trunc i64 %call154 to i32 + store i32 %conv155, i32* %sym_stdin_len, align 4 + br label %if.end239 + +if.else156: ; preds = %lor.lhs.false139 + %100 = load i8**, i8*** %argv, align 8 + %101 = load i32, i32* %k, align 4 + %idxprom157 = sext i32 %101 to i64 + %arrayidx158 = getelementptr inbounds i8*, i8** %100, i64 %idxprom157 + %102 = load i8*, i8** %arrayidx158, align 8 + %call159 = call i32 @__streq(i8* %102, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.20.49, i64 0, i64 0)) + %tobool160 = icmp ne i32 %call159, 0 + br i1 %tobool160, label %if.then166, label %lor.lhs.false161 + +lor.lhs.false161: ; preds = %if.else156 + %103 = load i8**, i8*** %argv, align 8 + %104 = load i32, i32* %k, align 4 + %idxprom162 = sext i32 %104 to i64 + %arrayidx163 = getelementptr inbounds i8*, i8** %103, i64 %idxprom162 + %105 = load i8*, i8** %arrayidx163, align 8 + %call164 = call i32 @__streq(i8* %105, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.21.50, i64 0, i64 0)) + %tobool165 = icmp ne i32 %call164, 0 + br i1 %tobool165, label %if.then166, label %if.else168 + +if.then166: ; preds = %lor.lhs.false161, %if.else156 + store i32 1, i32* %sym_stdout_flag, align 4 + %106 = load i32, i32* %k, align 4 + %inc167 = add nsw i32 %106, 1 + store i32 %inc167, i32* %k, align 4 + br label %if.end239 + +if.else168: ; preds = %lor.lhs.false161 + %107 = load i8**, i8*** %argv, align 8 + %108 = load i32, i32* %k, align 4 + %idxprom169 = sext i32 %108 to i64 + %arrayidx170 = getelementptr inbounds i8*, i8** %107, i64 %idxprom169 + %109 = load i8*, i8** %arrayidx170, align 8 + %call171 = call i32 @__streq(i8* %109, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.22.51, i64 0, i64 0)) + %tobool172 = icmp ne i32 %call171, 0 + br i1 %tobool172, label %if.then178, label %lor.lhs.false173 + +lor.lhs.false173: ; preds = %if.else168 + %110 = load i8**, i8*** %argv, align 8 + %111 = load i32, i32* %k, align 4 + %idxprom174 = sext i32 %111 to i64 + %arrayidx175 = getelementptr inbounds i8*, i8** %110, i64 %idxprom174 + %112 = load i8*, i8** %arrayidx175, align 8 + %call176 = call i32 @__streq(i8* %112, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23.52, i64 0, i64 0)) + %tobool177 = icmp ne i32 %call176, 0 + br i1 %tobool177, label %if.then178, label %if.else180 + +if.then178: ; preds = %lor.lhs.false173, %if.else168 + store i32 1, i32* %save_all_writes_flag, align 4 + %113 = load i32, i32* %k, align 4 + %inc179 = add nsw i32 %113, 1 + store i32 %inc179, i32* %k, align 4 + br label %if.end239 + +if.else180: ; preds = %lor.lhs.false173 + %114 = load i8**, i8*** %argv, align 8 + %115 = load i32, i32* %k, align 4 + %idxprom181 = sext i32 %115 to i64 + %arrayidx182 = getelementptr inbounds i8*, i8** %114, i64 %idxprom181 + %116 = load i8*, i8** %arrayidx182, align 8 + %call183 = call i32 @__streq(i8* %116, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.24.53, i64 0, i64 0)) + %tobool184 = icmp ne i32 %call183, 0 + br i1 %tobool184, label %if.then190, label %lor.lhs.false185 + +lor.lhs.false185: ; preds = %if.else180 + %117 = load i8**, i8*** %argv, align 8 + %118 = load i32, i32* %k, align 4 + %idxprom186 = sext i32 %118 to i64 + %arrayidx187 = getelementptr inbounds i8*, i8** %117, i64 %idxprom186 + %119 = load i8*, i8** %arrayidx187, align 8 + %call188 = call i32 @__streq(i8* %119, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.25.54, i64 0, i64 0)) + %tobool189 = icmp ne i32 %call188, 0 + br i1 %tobool189, label %if.then190, label %if.else192 + +if.then190: ; preds = %lor.lhs.false185, %if.else180 + store i32 1, i32* %fd_fail, align 4 + %120 = load i32, i32* %k, align 4 + %inc191 = add nsw i32 %120, 1 + store i32 %inc191, i32* %k, align 4 + br label %if.end239 + +if.else192: ; preds = %lor.lhs.false185 + %121 = load i8**, i8*** %argv, align 8 + %122 = load i32, i32* %k, align 4 + %idxprom193 = sext i32 %122 to i64 + %arrayidx194 = getelementptr inbounds i8*, i8** %121, i64 %idxprom193 + %123 = load i8*, i8** %arrayidx194, align 8 + %call195 = call i32 @__streq(i8* %123, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.26.55, i64 0, i64 0)) + %tobool196 = icmp ne i32 %call195, 0 + br i1 %tobool196, label %if.then202, label %lor.lhs.false197 + +lor.lhs.false197: ; preds = %if.else192 + %124 = load i8**, i8*** %argv, align 8 + %125 = load i32, i32* %k, align 4 + %idxprom198 = sext i32 %125 to i64 + %arrayidx199 = getelementptr inbounds i8*, i8** %124, i64 %idxprom198 + %126 = load i8*, i8** %arrayidx199, align 8 + %call200 = call i32 @__streq(i8* %126, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.27.56, i64 0, i64 0)) + %tobool201 = icmp ne i32 %call200, 0 + br i1 %tobool201, label %if.then202, label %if.else204 + +if.then202: ; preds = %lor.lhs.false197, %if.else192 + %127 = load i32, i32* %k, align 4 + %add203 = add nsw i32 %127, 2 + store i32 %add203, i32* %k, align 4 + br label %if.end239 + +if.else204: ; preds = %lor.lhs.false197 + %128 = load i8**, i8*** %argv, align 8 + %129 = load i32, i32* %k, align 4 + %idxprom205 = sext i32 %129 to i64 + %arrayidx206 = getelementptr inbounds i8*, i8** %128, i64 %idxprom205 + %130 = load i8*, i8** %arrayidx206, align 8 + %call207 = call i32 @__streq(i8* %130, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.28.57, i64 0, i64 0)) + %tobool208 = icmp ne i32 %call207, 0 + br i1 %tobool208, label %if.then214, label %lor.lhs.false209 + +lor.lhs.false209: ; preds = %if.else204 + %131 = load i8**, i8*** %argv, align 8 + %132 = load i32, i32* %k, align 4 + %idxprom210 = sext i32 %132 to i64 + %arrayidx211 = getelementptr inbounds i8*, i8** %131, i64 %idxprom210 + %133 = load i8*, i8** %arrayidx211, align 8 + %call212 = call i32 @__streq(i8* %133, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.29.58, i64 0, i64 0)) + %tobool213 = icmp ne i32 %call212, 0 + br i1 %tobool213, label %if.then214, label %if.else226 + +if.then214: ; preds = %lor.lhs.false209, %if.else204 + store i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.30, i64 0, i64 0), i8** %msg215, align 8 + %134 = load i32, i32* %k, align 4 + %inc216 = add nsw i32 %134, 1 + store i32 %inc216, i32* %k, align 4 + %135 = load i32, i32* %argc, align 4 + %cmp217 = icmp eq i32 %inc216, %135 + br i1 %cmp217, label %if.then219, label %if.end220 + +if.then219: ; preds = %if.then214 + %136 = load i8*, i8** %msg215, align 8 + call void @__emit_error(i8* %136) + br label %if.end220 + +if.end220: ; preds = %if.then219, %if.then214 + %137 = load i8**, i8*** %argv, align 8 + %138 = load i32, i32* %k, align 4 + %inc221 = add nsw i32 %138, 1 + store i32 %inc221, i32* %k, align 4 + %idxprom222 = sext i32 %138 to i64 + %arrayidx223 = getelementptr inbounds i8*, i8** %137, i64 %idxprom222 + %139 = load i8*, i8** %arrayidx223, align 8 + %140 = load i8*, i8** %msg215, align 8 + %call224 = call i64 @__str_to_int(i8* %139, i8* %140) + %conv225 = trunc i64 %call224 to i32 + store i32 %conv225, i32* %fd_fail, align 4 + br label %if.end239 + +if.else226: ; preds = %lor.lhs.false209 + %arraydecay227 = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %141 = load i8**, i8*** %argv, align 8 + %142 = load i32, i32* %k, align 4 + %inc228 = add nsw i32 %142, 1 + store i32 %inc228, i32* %k, align 4 + %idxprom229 = sext i32 %142 to i64 + %arrayidx230 = getelementptr inbounds i8*, i8** %141, i64 %idxprom229 + %143 = load i8*, i8** %arrayidx230, align 8 + call void @__add_arg(i32* %new_argc, i8** %arraydecay227, i8* %143, i32 1024) + br label %if.end239 + +if.end239: ; preds = %for.cond, %if.end150, %if.then178, %if.then202, %if.else226, %if.end220, %if.then190, %if.then166, %if.end129, %if.then132, %if.end21 + br label %while.cond + +while.end: ; preds = %while.cond + %144 = load i32, i32* %new_argc, align 4 + %add240 = add nsw i32 %144, 1 + %conv241 = sext i32 %add240 to i64 + %mul = mul i64 %conv241, 8 + %call242 = call noalias i8* @malloc(i64 %mul) #11 + %145 = bitcast i8* %call242 to i8** + store i8** %145, i8*** %final_argv, align 8 + %146 = load i8**, i8*** %final_argv, align 8 + %tobool243 = icmp ne i8** %146, null + br i1 %tobool243, label %if.end245, label %if.then244 + +if.then244: ; preds = %while.end + call void @__emit_error(i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.31, i64 0, i64 0)) + br label %if.end245 + +if.end245: ; preds = %if.then244, %while.end + %147 = load i8**, i8*** %final_argv, align 8 + %148 = bitcast i8** %147 to i8* + %arraydecay246 = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %149 = bitcast i8** %arraydecay246 to i8* + %150 = load i32, i32* %new_argc, align 4 + %conv247 = sext i32 %150 to i64 + %mul248 = mul i64 %conv247, 8 + %151 = call i8* @memcpy(i8* %148, i8* %149, i64 %mul248) + %152 = load i8**, i8*** %final_argv, align 8 + %153 = load i32, i32* %new_argc, align 4 + %idxprom249 = sext i32 %153 to i64 + %arrayidx250 = getelementptr inbounds i8*, i8** %152, i64 %idxprom249 + store i8* null, i8** %arrayidx250, align 8 + %154 = load i32, i32* %new_argc, align 4 + %155 = load i32*, i32** %argcPtr.addr, align 8 + store i32 %154, i32* %155, align 4 + %156 = load i8**, i8*** %final_argv, align 8 + %157 = load i8***, i8**** %argvPtr.addr, align 8 + store i8** %156, i8*** %157, align 8 + %158 = load i32, i32* %sym_files, align 4 + %159 = load i32, i32* %sym_file_len, align 4 + %160 = load i32, i32* %sym_stdin_len, align 4 + %161 = load i32, i32* %sym_stdout_flag, align 4 + %162 = load i32, i32* %save_all_writes_flag, align 4 + %163 = load i32, i32* %fd_fail, align 4 + call void @klee_init_fds(i32 %158, i32 %159, i32 %160, i32 %161, i32 %162, i32 %163) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__streq(i8* %a, i8* %b) #3 { +entry: + %retval = alloca i32, align 4 + %a.addr = alloca i8*, align 8 + %b.addr = alloca i8*, align 8 + store i8* %a, i8** %a.addr, align 8 + store i8* %b, i8** %b.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %0 = load i8*, i8** %a.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %2 = load i8*, i8** %b.addr, align 8 + %3 = load i8, i8* %2, align 1 + %conv1 = sext i8 %3 to i32 + %cmp = icmp eq i32 %conv, %conv1 + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i8*, i8** %a.addr, align 8 + %5 = load i8, i8* %4, align 1 + %tobool = icmp ne i8 %5, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %while.body + store i32 1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %while.body + %6 = load i8*, i8** %a.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %a.addr, align 8 + %7 = load i8*, i8** %b.addr, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %7, i32 1 + store i8* %incdec.ptr3, i8** %b.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %while.end, %if.then + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__emit_error(i8* %msg) #3 { +entry: + %msg.addr = alloca i8*, align 8 + store i8* %msg, i8** %msg.addr, align 8 + %0 = load i8*, i8** %msg.addr, align 8 + call void @gs_report_error.59(i8* getelementptr inbounds ([88 x i8], [88 x i8]* @.str.32, i64 0, i64 0), i32 21, i8* %0, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.33, i64 0, i64 0)) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @__str_to_int(i8* %s, i8* %error_msg) #3 { +entry: + %s.addr = alloca i8*, align 8 + %error_msg.addr = alloca i8*, align 8 + %res = alloca i64, align 8 + %c = alloca i8, align 1 + store i8* %s, i8** %s.addr, align 8 + store i8* %error_msg, i8** %error_msg.addr, align 8 + store i64 0, i64* %res, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i8, i8* %0, align 1 + %tobool = icmp ne i8 %1, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %2 = load i8*, i8** %error_msg.addr, align 8 + call void @__emit_error(i8* %2) + br label %if.end + +if.end: ; preds = %if.then, %entry + br label %while.cond + +while.cond: ; preds = %if.end9, %if.end + %3 = load i8*, i8** %s.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %s.addr, align 8 + %4 = load i8, i8* %3, align 1 + store i8 %4, i8* %c, align 1 + %tobool1 = icmp ne i8 %4, 0 + br i1 %tobool1, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %5 = load i8, i8* %c, align 1 + %conv = sext i8 %5 to i32 + %cmp = icmp sge i32 %conv, 48 + br i1 %cmp, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %while.body + %6 = load i8, i8* %c, align 1 + %conv3 = sext i8 %6 to i32 + %cmp4 = icmp sle i32 %conv3, 57 + br i1 %cmp4, label %if.then6, label %if.else + +if.then6: ; preds = %land.lhs.true + %7 = load i64, i64* %res, align 8 + %mul = mul nsw i64 %7, 10 + %8 = load i8, i8* %c, align 1 + %conv7 = sext i8 %8 to i32 + %sub = sub nsw i32 %conv7, 48 + %conv8 = sext i32 %sub to i64 + %add = add nsw i64 %mul, %conv8 + store i64 %add, i64* %res, align 8 + br label %if.end9 + +if.else: ; preds = %land.lhs.true, %while.body + %9 = load i8*, i8** %error_msg.addr, align 8 + call void @__emit_error(i8* %9) + br label %if.end9 + +if.end9: ; preds = %if.else, %if.then6 + br label %while.cond + +while.end: ; preds = %while.cond + %10 = load i64, i64* %res, align 8 + ret i64 %10 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @__get_sym_str(i32 %numChars, i8* %name) #3 { +entry: + %numChars.addr = alloca i32, align 4 + %name.addr = alloca i8*, align 8 + %i = alloca i32, align 4 + %s = alloca i8*, align 8 + store i32 %numChars, i32* %numChars.addr, align 4 + store i8* %name, i8** %name.addr, align 8 + %0 = load i32, i32* %numChars.addr, align 4 + %add = add nsw i32 %0, 1 + %conv = sext i32 %add to i64 + %call = call noalias i8* @malloc(i64 %conv) #11 + store i8* %call, i8** %s, align 8 + %1 = load i8*, i8** %s, align 8 + %tobool = icmp ne i8* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @__emit_error(i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.31, i64 0, i64 0)) + br label %if.end + +if.end: ; preds = %if.then, %entry + %2 = load i8*, i8** %s, align 8 + %3 = load i32, i32* %numChars.addr, align 4 + %add1 = add nsw i32 %3, 1 + %conv2 = sext i32 %add1 to i64 + %4 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %2, i64 %conv2, i8* %4) + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %5 = load i32, i32* %i, align 4 + %6 = load i32, i32* %numChars.addr, align 4 + %cmp = icmp slt i32 %5, %6 + %7 = load i8*, i8** %s, align 8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %8 = load i8*, i8** %s, align 8 + %9 = load i32, i32* %i, align 4 + %idxprom = sext i32 %9 to i64 + %arrayidx = getelementptr inbounds i8, i8* %8, i64 %idxprom + %10 = load i8, i8* %arrayidx, align 1 + %call4 = call i32 @__isprint(i8 signext %10) + %tobool5 = icmp ne i32 %call4, 0 + call void @gs_posix_prefer_cex(i8* %7, i1 zeroext %tobool5) + %11 = load i32, i32* %i, align 4 + %inc = add nsw i32 %11, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %12 = load i32, i32* %numChars.addr, align 4 + %idxprom6 = sext i32 %12 to i64 + %arrayidx7 = getelementptr inbounds i8, i8* %7, i64 %idxprom6 + store i8 0, i8* %arrayidx7, align 1 + %13 = load i8*, i8** %s, align 8 + ret i8* %13 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__add_arg(i32* %argc, i8** %argv, i8* %arg, i32 %argcMax) #3 { +entry: + %argc.addr = alloca i32*, align 8 + %argv.addr = alloca i8**, align 8 + %arg.addr = alloca i8*, align 8 + %argcMax.addr = alloca i32, align 4 + store i32* %argc, i32** %argc.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i32 %argcMax, i32* %argcMax.addr, align 4 + %0 = load i32*, i32** %argc.addr, align 8 + %1 = load i32, i32* %0, align 4 + %2 = load i32, i32* %argcMax.addr, align 4 + %cmp = icmp eq i32 %1, %2 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + call void @__emit_error(i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.35, i64 0, i64 0)) + br label %if.end + +if.else: ; preds = %entry + %3 = load i8*, i8** %arg.addr, align 8 + %4 = load i8**, i8*** %argv.addr, align 8 + %5 = load i32*, i32** %argc.addr, align 8 + %6 = load i32, i32* %5, align 4 + %idxprom = sext i32 %6 to i64 + %arrayidx = getelementptr inbounds i8*, i8** %4, i64 %idxprom + store i8* %3, i8** %arrayidx, align 8 + %7 = load i32*, i32** %argc.addr, align 8 + %8 = load i32, i32* %7, align 4 + %inc = add nsw i32 %8, 1 + store i32 %inc, i32* %7, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @gs_range(i32 %begin, i32 %end, i8* %name) #3 { +entry: + %begin.addr = alloca i32, align 4 + %end.addr = alloca i32, align 4 + %name.addr = alloca i8*, align 8 + %x = alloca i32, align 4 + store i32 %begin, i32* %begin.addr, align 4 + store i32 %end, i32* %end.addr, align 4 + store i8* %name, i8** %name.addr, align 8 + %0 = bitcast i32* %x to i8* + %1 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %0, i64 4, i8* %1) + %2 = load i32, i32* %x, align 4 + %3 = load i32, i32* %begin.addr, align 4 + %cmp = icmp sge i32 %2, %3 + call void @gs_assume(i1 zeroext %cmp) + %4 = load i32, i32* %x, align 4 + %5 = load i32, i32* %end.addr, align 4 + %cmp1 = icmp slt i32 %4, %5 + call void @gs_assume(i1 zeroext %cmp1) + %6 = load i32, i32* %x, align 4 + ret i32 %6 +} + +declare dso_local void @make_symbolic(i8*, i64, ...) #5 + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__isprint(i8 signext %c) #3 { +entry: + %c.addr = alloca i8, align 1 + store i8 %c, i8* %c.addr, align 1 + %0 = load i8, i8* %c.addr, align 1 + %conv = sext i8 %0 to i32 + %cmp = icmp sle i32 32, %conv + %conv1 = zext i1 %cmp to i32 + %1 = load i8, i8* %c.addr, align 1 + %conv2 = sext i8 %1 to i32 + %cmp3 = icmp sle i32 %conv2, 126 + %conv4 = zext i1 %cmp3 to i32 + %and = and i32 %conv1, %conv4 + ret i32 %and +} + +declare dso_local void @gs_posix_prefer_cex(i8*, i1 zeroext) #5 + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error.59(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.34, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__user_main(i32 %argcPtr, i8** %argvPtr, i8** %envp) #3 { +entry: + %argcPtr.addr = alloca i32, align 4 + %argvPtr.addr = alloca i8**, align 8 + %envp.addr = alloca i8**, align 8 + store i32 %argcPtr, i32* %argcPtr.addr, align 4 + store i8** %argvPtr, i8*** %argvPtr.addr, align 8 + store i8** %envp, i8*** %envp.addr, align 8 + call void @klee_init_env(i32* %argcPtr.addr, i8*** %argvPtr.addr) + %0 = load i32, i32* %argcPtr.addr, align 4 + %1 = load i8**, i8*** %argvPtr.addr, align 8 + %2 = load i8**, i8*** %envp.addr, align 8 + %call = call i32 bitcast (i32 (i32, i8**)* @__klee_posix_wrapped_main to i32 (i32, i8**, i8**)*)(i32 %0, i8** %1, i8** %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind readnone uwtable +declare i32* @__errno_location() #12 + +; Function Attrs: noinline nounwind readnone uwtable +define weak i32* @__h_errno_location() #12 { +entry: + ret i32* @h_errno +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @___path_search(i8* %tmpl, i64 %tmpl_len, i8* %dir, i8* %pfx) #0 { +entry: + %retval = alloca i32, align 4 + %tmpl.addr = alloca i8*, align 8 + %tmpl_len.addr = alloca i64, align 8 + %dir.addr = alloca i8*, align 8 + %pfx.addr = alloca i8*, align 8 + %dlen = alloca i64, align 8 + %plen = alloca i64, align 8 + store i8* %tmpl, i8** %tmpl.addr, align 8 + store i64 %tmpl_len, i64* %tmpl_len.addr, align 8 + store i8* %dir, i8** %dir.addr, align 8 + store i8* %pfx, i8** %pfx.addr, align 8 + %0 = load i8*, i8** %pfx.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %lor.lhs.false, label %if.then + +lor.lhs.false: ; preds = %entry + %1 = load i8*, i8** %pfx.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %tobool1 = icmp ne i8 %2, 0 + br i1 %tobool1, label %if.else, label %if.then + +if.then: ; preds = %lor.lhs.false, %entry + store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.68, i64 0, i64 0), i8** %pfx.addr, align 8 + store i64 4, i64* %plen, align 8 + br label %if.end3 + +if.else: ; preds = %lor.lhs.false + %3 = load i8*, i8** %pfx.addr, align 8 + %call = call i64 @strlen(i8* %3) #20 + store i64 %call, i64* %plen, align 8 + %4 = load i64, i64* %plen, align 8 + %cmp = icmp ugt i64 %4, 5 + %spec.store.select = select i1 %cmp, i64 5, i64 %call + store i64 %spec.store.select, i64* %plen, align 8 + br label %if.end3 + +if.end3: ; preds = %if.else, %if.then + %5 = load i8*, i8** %dir.addr, align 8 + %cmp4 = icmp eq i8* %5, null + br i1 %cmp4, label %if.then5, label %if.end18 + +if.then5: ; preds = %if.end3 + %call6 = call i32 @direxists(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0)) #18 + %tobool7 = icmp ne i32 %call6, 0 + br i1 %tobool7, label %if.then8, label %if.else9 + +if.then8: ; preds = %if.then5 + store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0), i8** %dir.addr, align 8 + br label %if.end18 + +if.else9: ; preds = %if.then5 + %call10 = call i32 @strcmp(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0)) #20 + %cmp11 = icmp ne i32 %call10, 0 + br i1 %cmp11, label %land.lhs.true, label %if.else15 + +land.lhs.true: ; preds = %if.else9 + %call12 = call i32 @direxists(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0)) #18 + %tobool13 = icmp ne i32 %call12, 0 + br i1 %tobool13, label %if.then14, label %if.else15 + +if.then14: ; preds = %land.lhs.true + store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0), i8** %dir.addr, align 8 + br label %if.end18 + +if.else15: ; preds = %land.lhs.true, %if.else9 + store i32 2, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %if.then8, %if.then14, %if.end3 + %6 = load i8*, i8** %dir.addr, align 8 + %call19 = call i64 @strlen(i8* %6) #20 + store i64 %call19, i64* %dlen, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end18 + %7 = load i64, i64* %dlen, align 8 + %cmp20 = icmp ugt i64 %7, 1 + br i1 %cmp20, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %8 = load i8*, i8** %dir.addr, align 8 + %9 = load i64, i64* %dlen, align 8 + %sub = sub i64 %9, 1 + %arrayidx21 = getelementptr inbounds i8, i8* %8, i64 %sub + %10 = load i8, i8* %arrayidx21, align 1 + %conv = sext i8 %10 to i32 + %cmp22 = icmp eq i32 %conv, 47 + br i1 %cmp22, label %while.body, label %while.end + +while.body: ; preds = %land.rhs + %11 = load i64, i64* %dlen, align 8 + %dec = add i64 %11, -1 + store i64 %dec, i64* %dlen, align 8 + br label %while.cond + +while.end: ; preds = %while.cond, %land.rhs + %12 = load i64, i64* %tmpl_len.addr, align 8 + %13 = load i64, i64* %dlen, align 8 + %add = add i64 %13, 1 + %14 = load i64, i64* %plen, align 8 + %add24 = add i64 %add, %14 + %add25 = add i64 %add24, 6 + %add26 = add i64 %add25, 1 + %cmp27 = icmp ult i64 %12, %add26 + br i1 %cmp27, label %if.then29, label %if.end30 + +if.then29: ; preds = %while.end + store i32 22, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end30: ; preds = %while.end + %15 = load i8*, i8** %tmpl.addr, align 8 + %16 = load i64, i64* %dlen, align 8 + %17 = load i8*, i8** %dir.addr, align 8 + %18 = load i64, i64* %plen, align 8 + %19 = load i8*, i8** %pfx.addr, align 8 + %call31 = call i32 (i8*, i8*, ...) @sprintf(i8* %15, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.2.70, i64 0, i64 0), i64 %16, i8* %17, i64 %18, i8* %19) #19 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end30, %if.then29, %if.else15 + %20 = load i32, i32* %retval, align 4 + ret i32 %20 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @direxists(i8* %dir) #0 { +entry: + %dir.addr = alloca i8*, align 8 + %buf = alloca %struct.stat.192, align 8 + store i8* %dir, i8** %dir.addr, align 8 + %0 = load i8*, i8** %dir.addr, align 8 + %call = call i32 bitcast (i32 (i8*, %struct.stat64*)* @stat to i32 (i8*, %struct.stat.192*)*)(i8* %0, %struct.stat.192* %buf) #19 + %cmp = icmp eq i32 %call, 0 + %st_mode = getelementptr inbounds %struct.stat.192, %struct.stat.192* %buf, i32 0, i32 3 + %1 = load i32, i32* %st_mode, align 8 + %and = and i32 %1, 61440 + %cmp1 = icmp eq i32 %and, 16384 + %2 = select i1 %cmp, i1 %cmp1, i1 false + %land.ext = zext i1 %2 to i32 + ret i32 %land.ext +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__gen_tempname(i8* %tmpl, i32 %kind) #0 { +entry: + %retval = alloca i32, align 4 + %tmpl.addr = alloca i8*, align 8 + %kind.addr = alloca i32, align 4 + %XXXXXX = alloca i8*, align 8 + %i = alloca i32, align 4 + %fd = alloca i32, align 4 + %save_errno = alloca i32, align 4 + %randomness = alloca [6 x i8], align 1 + %len = alloca i64, align 8 + %j = alloca i32, align 4 + %st = alloca %struct.stat.192, align 8 + store i8* %tmpl, i8** %tmpl.addr, align 8 + store i32 %kind, i32* %kind.addr, align 4 + %0 = load i32, i32* @errno, align 4 + store i32 %0, i32* %save_errno, align 4 + %1 = load i8*, i8** %tmpl.addr, align 8 + %call = call i64 @strlen(i8* %1) #20 + store i64 %call, i64* %len, align 8 + %2 = load i8*, i8** %tmpl.addr, align 8 + %3 = load i64, i64* %len, align 8 + %add.ptr = getelementptr inbounds i8, i8* %2, i64 %3 + %add.ptr1 = getelementptr inbounds i8, i8* %add.ptr, i64 -6 + store i8* %add.ptr1, i8** %XXXXXX, align 8 + %4 = load i64, i64* %len, align 8 + %cmp = icmp ult i64 %4, 6 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %5 = load i8*, i8** %XXXXXX, align 8 + %call2 = call i32 @strcmp(i8* %5, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.3.73, i64 0, i64 0)) #20 + %tobool = icmp ne i32 %call2, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %lor.lhs.false, %entry + store i32 22, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %lor.lhs.false + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc44, %if.end + %6 = load i32, i32* %i, align 4 + %cmp3 = icmp ult i32 %6, 238328 + br i1 %cmp3, label %for.body, label %for.end46 + +for.body: ; preds = %for.cond + %arraydecay = getelementptr inbounds [6 x i8], [6 x i8]* %randomness, i64 0, i64 0 + %call4 = call i32 @fillrand(i8* %arraydecay, i32 6) #18 + %conv = zext i32 %call4 to i64 + %cmp5 = icmp ne i64 %conv, 6 + br i1 %cmp5, label %if.then7, label %if.end9 + +if.then7: ; preds = %for.body + %arraydecay8 = getelementptr inbounds [6 x i8], [6 x i8]* %randomness, i64 0, i64 0 + call void @brain_damaged_fillrand(i8* %arraydecay8, i32 6) #18 + br label %if.end9 + +if.end9: ; preds = %if.then7, %for.body + store i32 0, i32* %j, align 4 + br label %for.cond10 + +for.cond10: ; preds = %for.body14, %if.end9 + %7 = load i32, i32* %j, align 4 + %conv11 = sext i32 %7 to i64 + %cmp12 = icmp ult i64 %conv11, 6 + br i1 %cmp12, label %for.body14, label %for.end + +for.body14: ; preds = %for.cond10 + %8 = load i32, i32* %j, align 4 + %idxprom = sext i32 %8 to i64 + %arrayidx = getelementptr inbounds [6 x i8], [6 x i8]* %randomness, i64 0, i64 %idxprom + %9 = load i8, i8* %arrayidx, align 1 + %conv15 = zext i8 %9 to i32 + %rem = srem i32 %conv15, 62 + %idxprom16 = sext i32 %rem to i64 + %arrayidx17 = getelementptr inbounds [63 x i8], [63 x i8]* @letters, i64 0, i64 %idxprom16 + %10 = load i8, i8* %arrayidx17, align 1 + %11 = load i8*, i8** %XXXXXX, align 8 + %12 = load i32, i32* %j, align 4 + %idxprom18 = sext i32 %12 to i64 + %arrayidx19 = getelementptr inbounds i8, i8* %11, i64 %idxprom18 + store i8 %10, i8* %arrayidx19, align 1 + %13 = load i32, i32* %j, align 4 + %inc = add nsw i32 %13, 1 + store i32 %inc, i32* %j, align 4 + br label %for.cond10 + +for.end: ; preds = %for.cond10 + %14 = load i32, i32* %kind.addr, align 4 + br label %NodeBlock5 + +NodeBlock5: ; preds = %for.end + %case.cmp6 = icmp eq i32 %14, 3 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %14, 0 + br i1 %case.cmp4, label %sw.bb29, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %14, 1 + br i1 %case.cmp2, label %sw.bb31, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %14, 2 + br i1 %case.cmp, label %sw.bb33, label %newDefault + +sw.bb: ; preds = %NodeBlock5 + %15 = load i8*, i8** %tmpl.addr, align 8 + %call20 = call i32 bitcast (i32 (i8*, %struct.stat64*)* @stat to i32 (i8*, %struct.stat.192*)*)(i8* %15, %struct.stat.192* %st) #19 + %cmp21 = icmp slt i32 %call20, 0 + br i1 %cmp21, label %if.then23, label %if.else27 + +if.then23: ; preds = %sw.bb + %16 = load i32, i32* @errno, align 4 + %cmp24 = icmp eq i32 %16, 2 + br i1 %cmp24, label %if.then26, label %if.else + +if.then26: ; preds = %if.then23 + store i32 0, i32* %fd, align 4 + br label %restore_and_ret + +if.else: ; preds = %if.then23 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else27: ; preds = %sw.bb + store i32 0, i32* %fd, align 4 + br label %sw.bb29 + +sw.bb29: ; preds = %NodeBlock3, %if.else27 + %17 = load i8*, i8** %tmpl.addr, align 8 + %call30 = call i32 (i8*, i32, ...) @open(i8* %17, i32 194, i32 384) #18 + store i32 %call30, i32* %fd, align 4 + br label %sw.epilog + +sw.bb31: ; preds = %NodeBlock1 + %18 = load i8*, i8** %tmpl.addr, align 8 + %call32 = call i32 (i8*, i32, ...) @open64(i8* %18, i32 194, i32 384) #18 + store i32 %call32, i32* %fd, align 4 + br label %sw.epilog + +sw.bb33: ; preds = %NodeBlock + %19 = load i8*, i8** %tmpl.addr, align 8 + %call34 = call i32 @mkdir(i8* %19, i32 448) #19 + store i32 %call34, i32* %fd, align 4 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i32 -1, i32* %fd, align 4 + br label %sw.epilog + +sw.epilog: ; preds = %sw.default, %sw.bb33, %sw.bb31, %sw.bb29 + %20 = load i32, i32* %fd, align 4 + %cmp35 = icmp sge i32 %20, 0 + br i1 %cmp35, label %restore_and_ret, label %if.else38 + +restore_and_ret: ; preds = %sw.epilog, %if.then26 + %21 = load i32, i32* %save_errno, align 4 + store i32 %21, i32* @errno, align 4 + %22 = load i32, i32* %fd, align 4 + store i32 %22, i32* %retval, align 4 + br label %return + +if.else38: ; preds = %sw.epilog + %23 = load i32, i32* @errno, align 4 + %cmp39 = icmp ne i32 %23, 17 + br i1 %cmp39, label %if.then41, label %for.inc44 + +if.then41: ; preds = %if.else38 + store i32 -1, i32* %retval, align 4 + br label %return + +for.inc44: ; preds = %if.else38 + %24 = load i32, i32* %i, align 4 + %inc45 = add i32 %24, 1 + store i32 %inc45, i32* %i, align 4 + br label %for.cond + +for.end46: ; preds = %for.cond + store i32 17, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %for.end46, %if.then41, %restore_and_ret, %if.else, %if.then + %25 = load i32, i32* %retval, align 4 + ret i32 %25 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @fillrand(i8* %buf, i32 %len) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %len.addr = alloca i32, align 4 + %fd = alloca i32, align 4 + %result = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i32 %len, i32* %len.addr, align 4 + store i32 -1, i32* %result, align 4 + %call = call i32 (i8*, i32, ...) @open(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.4.74, i64 0, i64 0), i32 0) #18 + store i32 %call, i32* %fd, align 4 + %0 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %0, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call1 = call i32 (i8*, i32, ...) @open(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.5.75, i64 0, i64 0), i32 2048) #18 + store i32 %call1, i32* %fd, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i32, i32* %fd, align 4 + %cmp2 = icmp sge i32 %1, 0 + br i1 %cmp2, label %if.then3, label %if.end7 + +if.then3: ; preds = %if.end + %2 = load i32, i32* %fd, align 4 + %3 = load i8*, i8** %buf.addr, align 8 + %4 = load i32, i32* %len.addr, align 4 + %conv = zext i32 %4 to i64 + %call4 = call i64 @read(i32 %2, i8* %3, i64 %conv) #18 + %conv5 = trunc i64 %call4 to i32 + store i32 %conv5, i32* %result, align 4 + %5 = load i32, i32* %fd, align 4 + %call6 = call i32 @close(i32 %5) #18 + br label %if.end7 + +if.end7: ; preds = %if.then3, %if.end + %6 = load i32, i32* %result, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @brain_damaged_fillrand(i8* %buf, i32 %len) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %len.addr = alloca i32, align 4 + %i = alloca i32, align 4 + %k = alloca i32, align 4 + %tv = alloca %struct.timespec, align 8 + %high = alloca i32, align 4 + %low = alloca i32, align 4 + %rh = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i32 %len, i32* %len.addr, align 4 + %call = call i32 bitcast (i32 (%struct.timespec*, i8*)* @gettimeofday to i32 (%struct.timespec*, %struct.__mbstate_t.512*)*)(%struct.timespec* %tv, %struct.__mbstate_t.512* null) #19 + %tv_usec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 1 + %0 = load i64, i64* %tv_usec, align 8 + %shl = shl i64 %0, 16 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %1 = load i64, i64* %tv_sec, align 8 + %xor = xor i64 %shl, %1 + %call1 = call i32 @getpid() #19 + %conv = sext i32 %call1 to i64 + %xor2 = xor i64 %xor, %conv + %2 = load i64, i64* @brain_damaged_fillrand.value, align 8 + %add = add i64 %2, %xor2 + store i64 %add, i64* @brain_damaged_fillrand.value, align 8 + %3 = load i64, i64* @brain_damaged_fillrand.value, align 8 + %and = and i64 %3, 4294967295 + %conv3 = trunc i64 %and to i32 + store i32 %conv3, i32* %low, align 4 + %4 = load i64, i64* @brain_damaged_fillrand.value, align 8 + %shr = lshr i64 %4, 32 + %conv4 = trunc i64 %shr to i32 + store i32 %conv4, i32* %high, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %5 = load i32, i32* %i, align 4 + %6 = load i32, i32* %len.addr, align 4 + %cmp = icmp ult i32 %5, %6 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %7 = load i32, i32* %high, align 4 + %rem = urem i32 %7, 62 + store i32 %rem, i32* %rh, align 4 + %8 = load i32, i32* %high, align 4 + %div = udiv i32 %8, 62 + store i32 %div, i32* %high, align 4 + %9 = load i32, i32* %low, align 4 + %rem6 = urem i32 %9, 62 + %10 = load i32, i32* %rh, align 4 + %mul = mul i32 4, %10 + %add7 = add i32 %rem6, %mul + store i32 %add7, i32* %k, align 4 + %11 = load i32, i32* %low, align 4 + %div8 = udiv i32 %11, 62 + %12 = load i32, i32* %rh, align 4 + %mul9 = mul i32 69273666, %12 + %add10 = add i32 %div8, %mul9 + %13 = load i32, i32* %k, align 4 + %div11 = udiv i32 %13, 62 + %add12 = add i32 %add10, %div11 + store i32 %add12, i32* %low, align 4 + %14 = load i32, i32* %k, align 4 + %rem13 = urem i32 %14, 62 + store i32 %rem13, i32* %k, align 4 + %15 = load i32, i32* %k, align 4 + %idxprom = zext i32 %15 to i64 + %arrayidx = getelementptr inbounds [63 x i8], [63 x i8]* @letters, i64 0, i64 %idxprom + %16 = load i8, i8* %arrayidx, align 1 + %17 = load i8*, i8** %buf.addr, align 8 + %18 = load i32, i32* %i, align 4 + %idxprom14 = zext i32 %18 to i64 + %arrayidx15 = getelementptr inbounds i8, i8* %17, i64 %idxprom14 + store i8 %16, i8* %arrayidx15, align 1 + %19 = load i32, i32* %i, align 4 + %inc = add i32 %19, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + ret void +} + +; Function Attrs: nounwind +declare i32 @getpid() #2 + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_locale_set_l(i8* %p, %struct.__uclibc_locale_struct.201* %base) #0 { +entry: + %retval = alloca i32, align 4 + %p.addr = alloca i8*, align 8 + %base.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %x = alloca i8**, align 8 + %s = alloca i8*, align 8 + %stp = alloca i64*, align 8 + %r = alloca i8*, align 8 + %io = alloca i16*, align 8 + %ii = alloca i16*, align 8 + %d = alloca i8*, align 8 + %row = alloca i32, align 4 + %crow = alloca i32, align 4 + %len = alloca i32, align 4 + %c = alloca i32, align 4 + %i = alloca i32, align 4 + %newcol = alloca %struct.__collate_t.200, align 8 + %c8b = alloca %struct.__codeset_8_bit_t.202*, align 8 + %u = alloca i32, align 4 + %m = alloca i16, align 2 + store i8* %p, i8** %p.addr, align 8 + store %struct.__uclibc_locale_struct.201* %base, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 6 + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 1 + store i8* %add.ptr, i8** %s, align 8 + store i32 0, i32* %i, align 4 + %1 = load i8*, i8** %p.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %1, i32 1 + store i8* %incdec.ptr, i8** %p.addr, align 8 + %index2weight = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %newcol, i32 0, i32 23 + store i16* null, i16** %index2weight, align 8 + %2 = load i8*, i8** %p.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %2, i64 8 + %3 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %3 to i32 + %4 = load i8*, i8** %s, align 8 + %arrayidx1 = getelementptr inbounds i8, i8* %4, i64 8 + %5 = load i8, i8* %arrayidx1, align 1 + %conv2 = zext i8 %5 to i32 + %cmp = icmp ne i32 %conv, %conv2 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %6 = load i8*, i8** %p.addr, align 8 + %arrayidx4 = getelementptr inbounds i8, i8* %6, i64 9 + %7 = load i8, i8* %arrayidx4, align 1 + %conv5 = zext i8 %7 to i32 + %8 = load i8*, i8** %s, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %8, i64 9 + %9 = load i8, i8* %arrayidx6, align 1 + %conv7 = zext i8 %9 to i32 + %cmp8 = icmp ne i32 %conv5, %conv7 + br i1 %cmp8, label %if.then, label %if.end22 + +if.then: ; preds = %lor.lhs.false, %entry + %10 = load i8*, i8** %p.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv10 = zext i8 %11 to i32 + %and = and i32 %conv10, 127 + %shl = shl i32 %and, 7 + %12 = load i8*, i8** %p.addr, align 8 + %arrayidx11 = getelementptr inbounds i8, i8* %12, i64 1 + %13 = load i8, i8* %arrayidx11, align 1 + %conv12 = zext i8 %13 to i32 + %and13 = and i32 %conv12, 127 + %add = add nsw i32 %shl, %and13 + store i32 %add, i32* %row, align 4 + %14 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %14, i32 0, i32 31 + %15 = load i32, i32* %row, align 4 + %mul = mul nsw i32 9, %15 + %add14 = add nsw i32 %mul, 3 + %add15 = add nsw i32 %add14, 4 + %idxprom = sext i32 %add15 to i64 + %arrayidx16 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales, i64 0, i64 %idxprom + %16 = load i8, i8* %arrayidx16, align 1 + %conv17 = zext i8 %16 to i32 + %call = call i32 @init_cur_collate(i32 %conv17, %struct.__collate_t.200* %newcol) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end, label %if.then18 + +if.then18: ; preds = %if.then + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %if.then + %17 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %collate = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %17, i32 0, i32 118 + %index2weight19 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate, i32 0, i32 23 + %18 = load i16*, i16** %index2weight19, align 8 + %19 = bitcast i16* %18 to i8* + call void @free(i8* %19) #19 + %20 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %collate20 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %20, i32 0, i32 118 + %21 = bitcast %struct.__collate_t.200* %collate20 to i8* + %22 = bitcast %struct.__collate_t.200* %newcol to i8* + %call21 = call i8* @memcpy(i8* %21, i8* %22, i64 112) #19 + br label %if.end22 + +if.end22: ; preds = %if.end, %lor.lhs.false + br label %do.body + +do.body: ; preds = %if.end313, %if.end22 + %23 = load i8*, i8** %p.addr, align 8 + %24 = load i8, i8* %23, align 1 + %conv23 = zext i8 %24 to i32 + %25 = load i8*, i8** %s, align 8 + %26 = load i8, i8* %25, align 1 + %conv24 = zext i8 %26 to i32 + %cmp25 = icmp ne i32 %conv23, %conv24 + br i1 %cmp25, label %if.then34, label %lor.lhs.false27 + +lor.lhs.false27: ; preds = %do.body + %27 = load i8*, i8** %p.addr, align 8 + %arrayidx28 = getelementptr inbounds i8, i8* %27, i64 1 + %28 = load i8, i8* %arrayidx28, align 1 + %conv29 = zext i8 %28 to i32 + %29 = load i8*, i8** %s, align 8 + %arrayidx30 = getelementptr inbounds i8, i8* %29, i64 1 + %30 = load i8, i8* %arrayidx30, align 1 + %conv31 = zext i8 %30 to i32 + %cmp32 = icmp ne i32 %conv29, %conv31 + br i1 %cmp32, label %if.then34, label %if.end313 + +if.then34: ; preds = %lor.lhs.false27, %do.body + %31 = load i8*, i8** %p.addr, align 8 + %32 = load i8, i8* %31, align 1 + %conv35 = zext i8 %32 to i32 + %and36 = and i32 %conv35, 127 + %shl37 = shl i32 %and36, 7 + %33 = load i8*, i8** %p.addr, align 8 + %arrayidx38 = getelementptr inbounds i8, i8* %33, i64 1 + %34 = load i8, i8* %arrayidx38, align 1 + %conv39 = zext i8 %34 to i32 + %and40 = and i32 %conv39, 127 + %add41 = add nsw i32 %shl37, %and40 + store i32 %add41, i32* %row, align 4 + %35 = load i8*, i8** %p.addr, align 8 + %36 = load i8, i8* %35, align 1 + %37 = load i8*, i8** %s, align 8 + store i8 %36, i8* %37, align 1 + %38 = load i8*, i8** %p.addr, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %38, i64 1 + %39 = load i8, i8* %arrayidx42, align 1 + %40 = load i8*, i8** %s, align 8 + %arrayidx43 = getelementptr inbounds i8, i8* %40, i64 1 + store i8 %39, i8* %arrayidx43, align 1 + %41 = load i32, i32* %i, align 4 + %cmp44 = icmp ne i32 %41, 4 + br i1 %cmp44, label %land.lhs.true, label %if.end92 + +land.lhs.true: ; preds = %if.then34 + %42 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_common_item_offsets_LEN = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %42, i32 0, i32 29 + %43 = load i32, i32* %i, align 4 + %idxprom46 = sext i32 %43 to i64 + %arrayidx47 = getelementptr inbounds [6 x i8], [6 x i8]* %lc_common_item_offsets_LEN, i64 0, i64 %idxprom46 + %44 = load i8, i8* %arrayidx47, align 1 + %conv48 = zext i8 %44 to i32 + store i32 %conv48, i32* %len, align 4 + %cmp49 = icmp ne i32 %conv48, 0 + br i1 %cmp49, label %if.then51, label %if.end92 + +if.then51: ; preds = %land.lhs.true + %45 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales52 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %45, i32 0, i32 31 + %46 = load i32, i32* %row, align 4 + %mul53 = mul nsw i32 9, %46 + %add54 = add nsw i32 %mul53, 3 + %47 = load i32, i32* %i, align 4 + %add55 = add nsw i32 %add54, %47 + %idxprom56 = sext i32 %add55 to i64 + %arrayidx57 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales52, i64 0, i64 %idxprom56 + %48 = load i8, i8* %arrayidx57, align 1 + %conv58 = zext i8 %48 to i32 + %49 = load i32, i32* %len, align 4 + %mul59 = mul nsw i32 %conv58, %49 + store i32 %mul59, i32* %crow, align 4 + %50 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %51 = bitcast %struct.__uclibc_locale_struct.201* %50 to i8* + %52 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %52, i32 0, i32 7 + %53 = load i32, i32* %i, align 4 + %idxprom60 = sext i32 %53 to i64 + %arrayidx61 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets, i64 0, i64 %idxprom60 + %54 = load i16, i16* %arrayidx61, align 2 + %conv62 = zext i16 %54 to i32 + %idx.ext = sext i32 %conv62 to i64 + %add.ptr63 = getelementptr inbounds i8, i8* %51, i64 %idx.ext + %55 = bitcast i8* %add.ptr63 to i8** + store i8** %55, i8*** %x, align 8 + %56 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_common_tbl_offsets = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %56, i32 0, i32 30 + %arraydecay64 = getelementptr inbounds [24 x i64], [24 x i64]* %lc_common_tbl_offsets, i64 0, i64 0 + %57 = load i32, i32* %i, align 4 + %mul65 = mul nsw i32 4, %57 + %idx.ext66 = sext i32 %mul65 to i64 + %add.ptr67 = getelementptr inbounds i64, i64* %arraydecay64, i64 %idx.ext66 + store i64* %add.ptr67, i64** %stp, align 8 + %58 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %59 = bitcast %struct.__locale_mmap_t.203* %58 to i8* + %60 = load i64*, i64** %stp, align 8 + %61 = load i64, i64* %60, align 8 + %add.ptr68 = getelementptr inbounds i8, i8* %59, i64 %61 + store i8* %add.ptr68, i8** %r, align 8 + %62 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %63 = bitcast %struct.__locale_mmap_t.203* %62 to i8* + %64 = load i64*, i64** %stp, align 8 + %incdec.ptr69 = getelementptr inbounds i64, i64* %64, i32 1 + store i64* %incdec.ptr69, i64** %stp, align 8 + %65 = load i64, i64* %incdec.ptr69, align 8 + %add.ptr70 = getelementptr inbounds i8, i8* %63, i64 %65 + %66 = bitcast i8* %add.ptr70 to i16* + store i16* %66, i16** %io, align 8 + %67 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %68 = bitcast %struct.__locale_mmap_t.203* %67 to i8* + %69 = load i64*, i64** %stp, align 8 + %incdec.ptr71 = getelementptr inbounds i64, i64* %69, i32 1 + store i64* %incdec.ptr71, i64** %stp, align 8 + %70 = load i64, i64* %incdec.ptr71, align 8 + %add.ptr72 = getelementptr inbounds i8, i8* %68, i64 %70 + %71 = bitcast i8* %add.ptr72 to i16* + store i16* %71, i16** %ii, align 8 + %72 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %73 = bitcast %struct.__locale_mmap_t.203* %72 to i8* + %74 = load i64*, i64** %stp, align 8 + %incdec.ptr73 = getelementptr inbounds i64, i64* %74, i32 1 + store i64* %incdec.ptr73, i64** %stp, align 8 + %75 = load i64, i64* %incdec.ptr73, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %73, i64 %75 + store i8* %add.ptr74, i8** %d, align 8 + store i32 0, i32* %c, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.then51 + %76 = load i32, i32* %c, align 4 + %77 = load i32, i32* %len, align 4 + %cmp75 = icmp slt i32 %76, %77 + br i1 %cmp75, label %for.body, label %if.end92 + +for.body: ; preds = %for.cond + %78 = load i8*, i8** %d, align 8 + %79 = load i16*, i16** %ii, align 8 + %80 = load i8*, i8** %r, align 8 + %81 = load i32, i32* %crow, align 4 + %82 = load i32, i32* %c, align 4 + %add77 = add nsw i32 %81, %82 + %idxprom78 = sext i32 %add77 to i64 + %arrayidx79 = getelementptr inbounds i8, i8* %80, i64 %idxprom78 + %83 = load i8, i8* %arrayidx79, align 1 + %conv80 = zext i8 %83 to i32 + %84 = load i16*, i16** %io, align 8 + %85 = load i32, i32* %c, align 4 + %idxprom81 = sext i32 %85 to i64 + %arrayidx82 = getelementptr inbounds i16, i16* %84, i64 %idxprom81 + %86 = load i16, i16* %arrayidx82, align 2 + %conv83 = zext i16 %86 to i32 + %add84 = add nsw i32 %conv80, %conv83 + %idxprom85 = sext i32 %add84 to i64 + %arrayidx86 = getelementptr inbounds i16, i16* %79, i64 %idxprom85 + %87 = load i16, i16* %arrayidx86, align 2 + %conv87 = zext i16 %87 to i32 + %idx.ext88 = sext i32 %conv87 to i64 + %add.ptr89 = getelementptr inbounds i8, i8* %78, i64 %idx.ext88 + %88 = load i8**, i8*** %x, align 8 + %89 = load i32, i32* %c, align 4 + %idx.ext90 = sext i32 %89 to i64 + %add.ptr91 = getelementptr inbounds i8*, i8** %88, i64 %idx.ext90 + store i8* %add.ptr89, i8** %add.ptr91, align 8 + %90 = load i32, i32* %c, align 4 + %inc = add nsw i32 %90, 1 + store i32 %inc, i32* %c, align 4 + br label %for.cond + +if.end92: ; preds = %for.cond, %land.lhs.true, %if.then34 + %91 = load i32, i32* %i, align 4 + %cmp93 = icmp eq i32 %91, 0 + br i1 %cmp93, label %if.then95, label %if.else295 + +if.then95: ; preds = %if.end92 + %92 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales96 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %92, i32 0, i32 31 + %93 = load i32, i32* %row, align 4 + %mul97 = mul nsw i32 9, %93 + %add98 = add nsw i32 %mul97, 2 + %idxprom99 = sext i32 %add98 to i64 + %arrayidx100 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales96, i64 0, i64 %idxprom99 + %94 = load i8, i8* %arrayidx100, align 1 + %conv101 = zext i8 %94 to i32 + store i32 %conv101, i32* %c, align 4 + %95 = load i32, i32* %c, align 4 + %cmp102 = icmp sle i32 %95, 2 + br i1 %cmp102, label %if.then104, label %if.else112 + +if.then104: ; preds = %if.then95 + %96 = load i32, i32* %c, align 4 + %cmp105 = icmp eq i32 %96, 2 + %97 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %codeset = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %97, i32 0, i32 38 + br i1 %cmp105, label %if.then107, label %if.else + +if.then107: ; preds = %if.then104 + store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf8, i64 0, i64 0), i8** %codeset, align 8 + %98 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %98, i32 0, i32 9 + store i8 1, i8* %encoding, align 8 + %99 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %mb_cur_max = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %99, i32 0, i32 10 + store i8 6, i8* %mb_cur_max, align 1 + br label %if.end280 + +if.else: ; preds = %if.then104 + store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @ascii, i64 0, i64 0), i8** %codeset, align 8 + %100 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %encoding109 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %100, i32 0, i32 9 + store i8 0, i8* %encoding109, align 8 + %101 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %mb_cur_max110 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %101, i32 0, i32 10 + store i8 1, i8* %mb_cur_max110, align 1 + br label %if.end280 + +if.else112: ; preds = %if.then95 + %102 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %102, i32 0, i32 35 + %arraydecay113 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list, i64 0, i64 0 + store i8* %arraydecay113, i8** %r, align 8 + %103 = load i8*, i8** %r, align 8 + %104 = load i8*, i8** %r, align 8 + %105 = load i32, i32* %c, align 4 + %sub = sub nsw i32 %105, 3 + store i32 %sub, i32* %c, align 4 + %idxprom114 = sext i32 %sub to i64 + %arrayidx115 = getelementptr inbounds i8, i8* %104, i64 %idxprom114 + %106 = load i8, i8* %arrayidx115, align 1 + %conv116 = zext i8 %106 to i32 + %idx.ext117 = sext i32 %conv116 to i64 + %add.ptr118 = getelementptr inbounds i8, i8* %103, i64 %idx.ext117 + %107 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %codeset119 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %107, i32 0, i32 38 + store i8* %add.ptr118, i8** %codeset119, align 8 + %108 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %encoding120 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %108, i32 0, i32 9 + store i8 2, i8* %encoding120, align 8 + %109 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %mb_cur_max121 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %109, i32 0, i32 10 + store i8 1, i8* %mb_cur_max121, align 1 + %110 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_8_bit = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %110, i32 0, i32 12 + %arraydecay122 = getelementptr inbounds [23 x %struct.__codeset_8_bit_t.202], [23 x %struct.__codeset_8_bit_t.202]* %codeset_8_bit, i64 0, i64 0 + %111 = load i32, i32* %c, align 4 + %idx.ext123 = sext i32 %111 to i64 + %add.ptr124 = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %arraydecay122, i64 %idx.ext123 + store %struct.__codeset_8_bit_t.202* %add.ptr124, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %112 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8ctype = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %112, i32 0, i32 0 + %arraydecay125 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8ctype, i64 0, i64 0 + %113 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8ctype126 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %113, i32 0, i32 12 + store i8* %arraydecay125, i8** %idx8ctype126, align 8 + %114 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8uplow = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %114, i32 0, i32 1 + %arraydecay127 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8uplow, i64 0, i64 0 + %115 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8uplow128 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %115, i32 0, i32 14 + store i8* %arraydecay127, i8** %idx8uplow128, align 8 + %116 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8c2wc = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %116, i32 0, i32 2 + %arraydecay129 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8c2wc, i64 0, i64 0 + %117 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8c2wc130 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %117, i32 0, i32 16 + store i8* %arraydecay129, i8** %idx8c2wc130, align 8 + %118 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8wc2c = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %118, i32 0, i32 3 + %arraydecay131 = getelementptr inbounds [38 x i8], [38 x i8]* %idx8wc2c, i64 0, i64 0 + %119 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8wc2c132 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %119, i32 0, i32 18 + store i8* %arraydecay131, i8** %idx8wc2c132, align 8 + %120 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b_data = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %120, i32 0, i32 3 + %arraydecay133 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data, i64 0, i64 0 + %121 = bitcast i16* %arraydecay133 to i8* + %122 = load i16*, i16** @__C_ctype_b, align 8 + %add.ptr134 = getelementptr inbounds i16, i16* %122, i64 -128 + %123 = bitcast i16* %add.ptr134 to i8* + %call135 = call i8* @memcpy(i8* %121, i8* %123, i64 768) #19 + %124 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %124, i32 0, i32 4 + %arraydecay136 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data, i64 0, i64 0 + %125 = bitcast i16* %arraydecay136 to i8* + %126 = load i16*, i16** @__C_ctype_tolower, align 8 + %add.ptr137 = getelementptr inbounds i16, i16* %126, i64 -128 + %127 = bitcast i16* %add.ptr137 to i8* + %call138 = call i8* @memcpy(i8* %125, i8* %127, i64 768) #19 + %128 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %128, i32 0, i32 5 + %arraydecay139 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data, i64 0, i64 0 + %129 = bitcast i16* %arraydecay139 to i8* + %130 = load i16*, i16** @__C_ctype_toupper, align 8 + %add.ptr140 = getelementptr inbounds i16, i16* %130, i64 -128 + %131 = bitcast i16* %add.ptr140 to i8* + %call141 = call i8* @memcpy(i8* %129, i8* %131, i64 768) #19 + store i32 0, i32* %u, align 4 + br label %for.cond142 + +for.cond142: ; preds = %for.inc268, %if.else112 + %132 = load i32, i32* %u, align 4 + %cmp143 = icmp slt i32 %132, 128 + %133 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + br i1 %cmp143, label %for.body145, label %for.end270 + +for.body145: ; preds = %for.cond142 + %tbl8ctype = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %133, i32 0, i32 13 + %134 = load i8*, i8** %tbl8ctype, align 8 + %135 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8ctype146 = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %135, i32 0, i32 0 + %136 = load i32, i32* %u, align 4 + %shr = ashr i32 %136, 3 + %idxprom147 = sext i32 %shr to i64 + %arrayidx148 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8ctype146, i64 0, i64 %idxprom147 + %137 = load i8, i8* %arrayidx148, align 1 + %conv149 = zext i8 %137 to i32 + %shl150 = shl i32 %conv149, 2 + %138 = load i32, i32* %u, align 4 + %and151 = and i32 %138, 7 + %shr152 = ashr i32 %and151, 1 + %add153 = add nsw i32 %shl150, %shr152 + %idxprom154 = sext i32 %add153 to i64 + %arrayidx155 = getelementptr inbounds i8, i8* %134, i64 %idxprom154 + %139 = load i8, i8* %arrayidx155, align 1 + %conv156 = zext i8 %139 to i32 + store i32 %conv156, i32* %c, align 4 + %140 = load i32, i32* %u, align 4 + %and157 = and i32 %140, 1 + %tobool158 = icmp ne i32 %and157, 0 + %141 = load i32, i32* %c, align 4 + %shr159 = ashr i32 %141, 4 + %and160 = and i32 %141, 15 + %cond = select i1 %tobool158, i32 %shr159, i32 %and160 + store i32 %cond, i32* %c, align 4 + %142 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %code2flag = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %142, i32 0, i32 20 + %143 = load i16*, i16** %code2flag, align 8 + %144 = load i32, i32* %c, align 4 + %idxprom161 = sext i32 %144 to i64 + %arrayidx162 = getelementptr inbounds i16, i16* %143, i64 %idxprom161 + %145 = load i16, i16* %arrayidx162, align 2 + store i16 %145, i16* %m, align 2 + %146 = load i16, i16* %m, align 2 + %147 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b_data163 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %147, i32 0, i32 3 + %148 = load i32, i32* %u, align 4 + %add164 = add nsw i32 256, %148 + %idxprom165 = sext i32 %add164 to i64 + %arrayidx166 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data163, i64 0, i64 %idxprom165 + store i16 %146, i16* %arrayidx166, align 2 + %149 = load i32, i32* %u, align 4 + %add167 = add nsw i32 128, %149 + %conv168 = trunc i32 %add167 to i8 + %conv169 = sext i8 %conv168 to i32 + %cmp170 = icmp ne i32 %conv169, -1 + br i1 %cmp170, label %if.then172, label %if.end180 + +if.then172: ; preds = %for.body145 + %150 = load i16, i16* %m, align 2 + %151 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b_data173 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %151, i32 0, i32 3 + %152 = load i32, i32* %u, align 4 + %add174 = add nsw i32 128, %152 + %conv175 = trunc i32 %add174 to i8 + %conv176 = sext i8 %conv175 to i32 + %add177 = add nsw i32 128, %conv176 + %idxprom178 = sext i32 %add177 to i64 + %arrayidx179 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data173, i64 0, i64 %idxprom178 + store i16 %150, i16* %arrayidx179, align 2 + br label %if.end180 + +if.end180: ; preds = %if.then172, %for.body145 + %153 = load i32, i32* %u, align 4 + %add181 = add nsw i32 128, %153 + %conv182 = trunc i32 %add181 to i16 + %154 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data183 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %154, i32 0, i32 4 + %155 = load i32, i32* %u, align 4 + %add184 = add nsw i32 256, %155 + %idxprom185 = sext i32 %add184 to i64 + %arrayidx186 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data183, i64 0, i64 %idxprom185 + store i16 %conv182, i16* %arrayidx186, align 2 + %156 = load i32, i32* %u, align 4 + %add187 = add nsw i32 128, %156 + %conv188 = trunc i32 %add187 to i16 + %157 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data189 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %157, i32 0, i32 5 + %158 = load i32, i32* %u, align 4 + %add190 = add nsw i32 256, %158 + %idxprom191 = sext i32 %add190 to i64 + %arrayidx192 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data189, i64 0, i64 %idxprom191 + store i16 %conv188, i16* %arrayidx192, align 2 + %159 = load i16, i16* %m, align 2 + %conv193 = zext i16 %159 to i32 + %and194 = and i32 %conv193, 768 + %tobool195 = icmp ne i32 %and194, 0 + br i1 %tobool195, label %if.then196, label %for.inc268 + +if.then196: ; preds = %if.end180 + %160 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8uplow = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %160, i32 0, i32 15 + %161 = load i8*, i8** %tbl8uplow, align 8 + %162 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8uplow197 = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %162, i32 0, i32 1 + %163 = load i32, i32* %u, align 4 + %shr198 = ashr i32 %163, 3 + %idxprom199 = sext i32 %shr198 to i64 + %arrayidx200 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8uplow197, i64 0, i64 %idxprom199 + %164 = load i8, i8* %arrayidx200, align 1 + %conv201 = zext i8 %164 to i32 + %shl202 = shl i32 %conv201, 3 + %165 = load i32, i32* %u, align 4 + %add203 = add nsw i32 128, %165 + %and204 = and i32 %add203, 7 + %add205 = add nsw i32 %shl202, %and204 + %idxprom206 = sext i32 %add205 to i64 + %arrayidx207 = getelementptr inbounds i8, i8* %161, i64 %idxprom206 + %166 = load i8, i8* %arrayidx207, align 1 + %conv208 = zext i8 %166 to i32 + store i32 %conv208, i32* %c, align 4 + %167 = load i16, i16* %m, align 2 + %conv209 = zext i16 %167 to i32 + %and210 = and i32 %conv209, 512 + %tobool211 = icmp ne i32 %and210, 0 + %168 = load i32, i32* %u, align 4 + %add213 = add nsw i32 128, %168 + %169 = load i32, i32* %c, align 4 + br i1 %tobool211, label %if.then212, label %if.else239 + +if.then212: ; preds = %if.then196 + %add214 = add nsw i32 %add213, %169 + %conv215 = trunc i32 %add214 to i8 + %conv216 = zext i8 %conv215 to i16 + %170 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data217 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %170, i32 0, i32 5 + %171 = load i32, i32* %u, align 4 + %add218 = add nsw i32 256, %171 + %idxprom219 = sext i32 %add218 to i64 + %arrayidx220 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data217, i64 0, i64 %idxprom219 + store i16 %conv216, i16* %arrayidx220, align 2 + %172 = load i32, i32* %u, align 4 + %add221 = add nsw i32 128, %172 + %conv222 = trunc i32 %add221 to i8 + %conv223 = sext i8 %conv222 to i32 + %cmp224 = icmp ne i32 %conv223, -1 + br i1 %cmp224, label %if.then226, label %for.inc268 + +if.then226: ; preds = %if.then212 + %173 = load i32, i32* %u, align 4 + %add227 = add nsw i32 128, %173 + %174 = load i32, i32* %c, align 4 + %add228 = add nsw i32 %add227, %174 + %conv229 = trunc i32 %add228 to i8 + %conv230 = zext i8 %conv229 to i16 + %175 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data231 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %175, i32 0, i32 5 + %176 = load i32, i32* %u, align 4 + %add232 = add nsw i32 128, %176 + %conv233 = trunc i32 %add232 to i8 + %conv234 = sext i8 %conv233 to i32 + %add235 = add nsw i32 128, %conv234 + %idxprom236 = sext i32 %add235 to i64 + %arrayidx237 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data231, i64 0, i64 %idxprom236 + store i16 %conv230, i16* %arrayidx237, align 2 + br label %for.inc268 + +if.else239: ; preds = %if.then196 + %sub241 = sub nsw i32 %add213, %169 + %conv242 = trunc i32 %sub241 to i8 + %conv243 = zext i8 %conv242 to i16 + %177 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data244 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %177, i32 0, i32 4 + %178 = load i32, i32* %u, align 4 + %add245 = add nsw i32 256, %178 + %idxprom246 = sext i32 %add245 to i64 + %arrayidx247 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data244, i64 0, i64 %idxprom246 + store i16 %conv243, i16* %arrayidx247, align 2 + %179 = load i32, i32* %u, align 4 + %add248 = add nsw i32 128, %179 + %conv249 = trunc i32 %add248 to i8 + %conv250 = sext i8 %conv249 to i32 + %cmp251 = icmp ne i32 %conv250, -1 + br i1 %cmp251, label %if.then253, label %for.inc268 + +if.then253: ; preds = %if.else239 + %180 = load i32, i32* %u, align 4 + %add254 = add nsw i32 128, %180 + %181 = load i32, i32* %c, align 4 + %sub255 = sub nsw i32 %add254, %181 + %conv256 = trunc i32 %sub255 to i8 + %conv257 = zext i8 %conv256 to i16 + %182 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data258 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %182, i32 0, i32 4 + %183 = load i32, i32* %u, align 4 + %add259 = add nsw i32 128, %183 + %conv260 = trunc i32 %add259 to i8 + %conv261 = sext i8 %conv260 to i32 + %add262 = add nsw i32 128, %conv261 + %idxprom263 = sext i32 %add262 to i64 + %arrayidx264 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data258, i64 0, i64 %idxprom263 + store i16 %conv257, i16* %arrayidx264, align 2 + br label %for.inc268 + +for.inc268: ; preds = %if.end180, %if.else239, %if.then253, %if.then212, %if.then226 + %184 = load i32, i32* %u, align 4 + %inc269 = add nsw i32 %184, 1 + store i32 %inc269, i32* %u, align 4 + br label %for.cond142 + +for.end270: ; preds = %for.cond142 + %__ctype_b_data271 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %133, i32 0, i32 3 + %arraydecay272 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data271, i64 0, i64 0 + %add.ptr273 = getelementptr inbounds i16, i16* %arraydecay272, i64 128 + %185 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %185, i32 0, i32 0 + store i16* %add.ptr273, i16** %__ctype_b, align 8 + %186 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data274 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %186, i32 0, i32 4 + %arraydecay275 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data274, i64 0, i64 0 + %add.ptr276 = getelementptr inbounds i16, i16* %arraydecay275, i64 128 + %187 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %187, i32 0, i32 1 + store i16* %add.ptr276, i16** %__ctype_tolower, align 8 + %188 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data277 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %188, i32 0, i32 5 + %arraydecay278 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data277, i64 0, i64 0 + %add.ptr279 = getelementptr inbounds i16, i16* %arraydecay278, i64 128 + %189 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %189, i32 0, i32 2 + store i16* %add.ptr279, i16** %__ctype_toupper, align 8 + br label %if.end280 + +if.end280: ; preds = %if.then107, %if.else, %for.end270 + %190 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %outdigit_length = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %190, i32 0, i32 11 + %arraydecay281 = getelementptr inbounds [10 x i8], [10 x i8]* %outdigit_length, i64 0, i64 0 + store i8* %arraydecay281, i8** %d, align 8 + %191 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %outdigit0_mb = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %191, i32 0, i32 28 + store i8** %outdigit0_mb, i8*** %x, align 8 + store i32 0, i32* %c, align 4 + br label %for.cond282 + +for.cond282: ; preds = %for.body285, %if.end280 + %192 = load i32, i32* %c, align 4 + %cmp283 = icmp slt i32 %192, 10 + br i1 %cmp283, label %for.body285, label %if.end313 + +for.body285: ; preds = %for.cond282 + %193 = load i8**, i8*** %x, align 8 + %194 = load i32, i32* %c, align 4 + %idxprom286 = sext i32 %194 to i64 + %arrayidx287 = getelementptr inbounds i8*, i8** %193, i64 %idxprom286 + %195 = load i8*, i8** %arrayidx287, align 8 + %call288 = call i64 @strlen(i8* %195) #20 + %conv289 = trunc i64 %call288 to i8 + %196 = load i8*, i8** %d, align 8 + %197 = load i32, i32* %c, align 4 + %idxprom290 = sext i32 %197 to i64 + %arrayidx291 = getelementptr inbounds i8, i8* %196, i64 %idxprom290 + store i8 %conv289, i8* %arrayidx291, align 1 + %198 = load i32, i32* %c, align 4 + %inc293 = add nsw i32 %198, 1 + store i32 %inc293, i32* %c, align 4 + br label %for.cond282 + +if.else295: ; preds = %if.end92 + %199 = load i32, i32* %i, align 4 + %cmp296 = icmp eq i32 %199, 1 + br i1 %cmp296, label %if.then298, label %if.end313 + +if.then298: ; preds = %if.else295 + %200 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %decimal_point_wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %200, i32 0, i32 24 + %201 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %decimal_point = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %201, i32 0, i32 39 + %202 = load i8*, i8** %decimal_point, align 8 + %203 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call299 = call i32 @__locale_mbrtowc_l(i32* %decimal_point_wc, i8* %202, %struct.__uclibc_locale_struct.201* %203) #18 + %204 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %decimal_point_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %204, i32 0, i32 26 + store i32 %call299, i32* %decimal_point_len, align 8 + %205 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %grouping = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %205, i32 0, i32 41 + %206 = load i8*, i8** %grouping, align 8 + %207 = load i8, i8* %206, align 1 + %tobool300 = icmp ne i8 %207, 0 + br i1 %tobool300, label %if.then301, label %if.end313 + +if.then301: ; preds = %if.then298 + %208 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep_wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %208, i32 0, i32 25 + %209 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %209, i32 0, i32 40 + %210 = load i8*, i8** %thousands_sep, align 8 + %211 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call302 = call i32 @__locale_mbrtowc_l(i32* %thousands_sep_wc, i8* %210, %struct.__uclibc_locale_struct.201* %211) #18 + %212 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %212, i32 0, i32 27 + store i32 %call302, i32* %thousands_sep_len, align 4 + %213 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep_len303 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %213, i32 0, i32 27 + %214 = load i32, i32* %thousands_sep_len303, align 4 + %cmp304 = icmp eq i32 %214, 0 + br i1 %cmp304, label %if.then306, label %if.end313 + +if.then306: ; preds = %if.then301 + %215 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep307 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %215, i32 0, i32 40 + %216 = load i8*, i8** %thousands_sep307, align 8 + %217 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %grouping308 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %217, i32 0, i32 41 + store i8* %216, i8** %grouping308, align 8 + br label %if.end313 + +if.end313: ; preds = %for.cond282, %if.then298, %if.then306, %if.then301, %if.else295, %lor.lhs.false27 + %218 = load i32, i32* %i, align 4 + %inc314 = add nsw i32 %218, 1 + store i32 %inc314, i32* %i, align 4 + %219 = load i8*, i8** %p.addr, align 8 + %add.ptr315 = getelementptr inbounds i8, i8* %219, i64 2 + store i8* %add.ptr315, i8** %p.addr, align 8 + %220 = load i8*, i8** %s, align 8 + %add.ptr316 = getelementptr inbounds i8, i8* %220, i64 2 + store i8* %add.ptr316, i8** %s, align 8 + %221 = load i32, i32* %i, align 4 + %cmp317 = icmp slt i32 %221, 6 + br i1 %cmp317, label %do.body, label %do.end + +do.end: ; preds = %if.end313 + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end, %if.then18 + %222 = load i32, i32* %retval, align 4 + ret i32 %222 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @init_cur_collate(i32 %der_num, %struct.__collate_t.200* %cur_collate) #0 { +entry: + %retval = alloca i32, align 4 + %der_num.addr = alloca i32, align 4 + %cur_collate.addr = alloca %struct.__collate_t.200*, align 8 + %__locale_collate_tbl = alloca i16*, align 8 + %cdh = alloca %struct.coldata_header_t*, align 8 + %cdb = alloca %struct.coldata_base_t*, align 8 + %cdd = alloca %struct.winsize*, align 8 + %p = alloca i16*, align 8 + %n = alloca i64, align 8 + %i = alloca i16, align 2 + %w = alloca i16, align 2 + store i32 %der_num, i32* %der_num.addr, align 4 + store %struct.__collate_t.200* %cur_collate, %struct.__collate_t.200** %cur_collate.addr, align 8 + %0 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %collate_data = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %0, i32 0, i32 28 + %arraydecay = getelementptr inbounds [91141 x i16], [91141 x i16]* %collate_data, i64 0, i64 0 + store i16* %arraydecay, i16** %__locale_collate_tbl, align 8 + %1 = load i32, i32* %der_num.addr, align 4 + %tobool = icmp ne i32 %1, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %2 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %num_weights = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %2, i32 0, i32 0 + store i16 0, i16* %num_weights, align 8 + store i32 1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* %der_num.addr, align 4 + %dec = add nsw i32 %3, -1 + store i32 %dec, i32* %der_num.addr, align 4 + %4 = load i16*, i16** %__locale_collate_tbl, align 8 + %5 = bitcast i16* %4 to %struct.coldata_header_t* + store %struct.coldata_header_t* %5, %struct.coldata_header_t** %cdh, align 8 + %6 = load i16*, i16** %__locale_collate_tbl, align 8 + %7 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_base = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %7, i32 0, i32 0 + %8 = load i16, i16* %num_base, align 2 + %conv = zext i16 %8 to i64 + %mul = mul i64 %conv, 38 + %add = add i64 16, %mul + %9 = load i32, i32* %der_num.addr, align 4 + %conv1 = sext i32 %9 to i64 + %mul2 = mul i64 %conv1, 8 + %add3 = add i64 %add, %mul2 + %div = udiv i64 %add3, 2 + %add.ptr = getelementptr inbounds i16, i16* %6, i64 %div + %10 = bitcast i16* %add.ptr to %struct.winsize* + store %struct.winsize* %10, %struct.winsize** %cdd, align 8 + %11 = load i16*, i16** %__locale_collate_tbl, align 8 + %12 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %base_idx = getelementptr inbounds %struct.winsize, %struct.winsize* %12, i32 0, i32 0 + %13 = load i16, i16* %base_idx, align 2 + %conv4 = zext i16 %13 to i64 + %mul5 = mul i64 %conv4, 38 + %add6 = add i64 16, %mul5 + %div7 = udiv i64 %add6, 2 + %add.ptr8 = getelementptr inbounds i16, i16* %11, i64 %div7 + %14 = bitcast i16* %add.ptr8 to %struct.coldata_base_t* + store %struct.coldata_base_t* %14, %struct.coldata_base_t** %cdb, align 8 + %15 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %16 = bitcast %struct.__collate_t.200* %15 to i8* + %17 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %18 = bitcast %struct.coldata_base_t* %17 to i8* + %call = call i8* @memcpy(i8* %16, i8* %18, i64 28) #19 + %19 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %undefined_idx = getelementptr inbounds %struct.winsize, %struct.winsize* %19, i32 0, i32 1 + %20 = load i16, i16* %undefined_idx, align 2 + %21 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %undefined_idx9 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %21, i32 0, i32 9 + store i16 %20, i16* %undefined_idx9, align 2 + %22 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ti_shift = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %22, i32 0, i32 3 + %23 = load i16, i16* %ti_shift, align 2 + %conv10 = zext i16 %23 to i32 + %shl = shl i32 1, %conv10 + %sub = sub nsw i32 %shl, 1 + %conv11 = trunc i32 %sub to i16 + %24 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ti_mask = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %24, i32 0, i32 15 + store i16 %conv11, i16* %ti_mask, align 2 + %25 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ii_shift = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %25, i32 0, i32 2 + %26 = load i16, i16* %ii_shift, align 4 + %conv12 = zext i16 %26 to i32 + %shl13 = shl i32 1, %conv12 + %sub14 = sub nsw i32 %shl13, 1 + %conv15 = trunc i32 %sub14 to i16 + %27 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ii_mask = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %27, i32 0, i32 14 + store i16 %conv15, i16* %ii_mask, align 4 + %28 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_base16 = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %28, i32 0, i32 0 + %29 = load i16, i16* %num_base16, align 2 + %conv17 = zext i16 %29 to i64 + %mul18 = mul i64 %conv17, 38 + %add19 = add i64 16, %mul18 + %30 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_der = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %30, i32 0, i32 1 + %31 = load i16, i16* %num_der, align 2 + %conv20 = zext i16 %31 to i64 + %mul21 = mul i64 %conv20, 8 + %add22 = add i64 %add19, %mul21 + %div23 = udiv i64 %add22, 2 + store i64 %div23, i64* %n, align 8 + %32 = load i16*, i16** %__locale_collate_tbl, align 8 + %33 = load i64, i64* %n, align 8 + %add.ptr24 = getelementptr inbounds i16, i16* %32, i64 %33 + %34 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %index2weight_offset = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %34, i32 0, i32 14 + %35 = load i16, i16* %index2weight_offset, align 2 + %conv25 = zext i16 %35 to i32 + %idx.ext = sext i32 %conv25 to i64 + %add.ptr26 = getelementptr inbounds i16, i16* %add.ptr24, i64 %idx.ext + %36 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %36, i32 0, i32 16 + store i16* %add.ptr26, i16** %index2weight_tbl, align 8 + %37 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_index2weight = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %37, i32 0, i32 3 + %38 = load i16, i16* %num_index2weight, align 2 + %conv27 = zext i16 %38 to i64 + %39 = load i64, i64* %n, align 8 + %add28 = add i64 %39, %conv27 + store i64 %add28, i64* %n, align 8 + %40 = load i16*, i16** %__locale_collate_tbl, align 8 + %41 = load i64, i64* %n, align 8 + %add.ptr29 = getelementptr inbounds i16, i16* %40, i64 %41 + %42 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %index2ruleidx_offset = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %42, i32 0, i32 15 + %43 = load i16, i16* %index2ruleidx_offset, align 2 + %conv30 = zext i16 %43 to i32 + %idx.ext31 = sext i32 %conv30 to i64 + %add.ptr32 = getelementptr inbounds i16, i16* %add.ptr29, i64 %idx.ext31 + %44 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %44, i32 0, i32 17 + store i16* %add.ptr32, i16** %index2ruleidx_tbl, align 8 + %45 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_index2weight33 = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %45, i32 0, i32 3 + %46 = load i16, i16* %num_index2weight33, align 2 + %conv34 = zext i16 %46 to i64 + %47 = load i64, i64* %n, align 8 + %add35 = add i64 %47, %conv34 + store i64 %add35, i64* %n, align 8 + %48 = load i16*, i16** %__locale_collate_tbl, align 8 + %49 = load i64, i64* %n, align 8 + %add.ptr36 = getelementptr inbounds i16, i16* %48, i64 %49 + %50 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %multistart_offset = getelementptr inbounds %struct.winsize, %struct.winsize* %50, i32 0, i32 3 + %51 = load i16, i16* %multistart_offset, align 2 + %conv37 = zext i16 %51 to i32 + %idx.ext38 = sext i32 %conv37 to i64 + %add.ptr39 = getelementptr inbounds i16, i16* %add.ptr36, i64 %idx.ext38 + %52 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %multistart_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %52, i32 0, i32 18 + store i16* %add.ptr39, i16** %multistart_tbl, align 8 + %53 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_multistart = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %53, i32 0, i32 5 + %54 = load i16, i16* %num_multistart, align 2 + %conv40 = zext i16 %54 to i64 + %55 = load i64, i64* %n, align 8 + %add41 = add i64 %55, %conv40 + store i64 %add41, i64* %n, align 8 + %56 = load i16*, i16** %__locale_collate_tbl, align 8 + %57 = load i64, i64* %n, align 8 + %add.ptr42 = getelementptr inbounds i16, i16* %56, i64 %57 + %58 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %overrides_offset = getelementptr inbounds %struct.winsize, %struct.winsize* %58, i32 0, i32 2 + %59 = load i16, i16* %overrides_offset, align 2 + %conv43 = zext i16 %59 to i32 + %idx.ext44 = sext i32 %conv43 to i64 + %add.ptr45 = getelementptr inbounds i16, i16* %add.ptr42, i64 %idx.ext44 + %60 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %overrides_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %60, i32 0, i32 20 + store i16* %add.ptr45, i16** %overrides_tbl, align 8 + %61 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_override = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %61, i32 0, i32 6 + %62 = load i16, i16* %num_override, align 2 + %conv46 = zext i16 %62 to i64 + %63 = load i64, i64* %n, align 8 + %add47 = add i64 %63, %conv46 + store i64 %add47, i64* %n, align 8 + %64 = load i16*, i16** %__locale_collate_tbl, align 8 + %65 = load i64, i64* %n, align 8 + %add.ptr48 = getelementptr inbounds i16, i16* %64, i64 %65 + %66 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ruletable = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %66, i32 0, i32 22 + store i16* %add.ptr48, i16** %ruletable, align 8 + %67 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_ruletable = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %67, i32 0, i32 7 + %68 = load i16, i16* %num_ruletable, align 2 + %conv49 = zext i16 %68 to i64 + %69 = load i64, i64* %n, align 8 + %add50 = add i64 %69, %conv49 + store i64 %add50, i64* %n, align 8 + %70 = load i16*, i16** %__locale_collate_tbl, align 8 + %71 = load i64, i64* %n, align 8 + %add.ptr51 = getelementptr inbounds i16, i16* %70, i64 %71 + %72 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %weightstr = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %72, i32 0, i32 21 + store i16* %add.ptr51, i16** %weightstr, align 8 + %73 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_weightstr = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %73, i32 0, i32 4 + %74 = load i16, i16* %num_weightstr, align 2 + %conv52 = zext i16 %74 to i64 + %75 = load i64, i64* %n, align 8 + %add53 = add i64 %75, %conv52 + store i64 %add53, i64* %n, align 8 + %76 = load i16*, i16** %__locale_collate_tbl, align 8 + %77 = load i64, i64* %n, align 8 + %add.ptr54 = getelementptr inbounds i16, i16* %76, i64 %77 + %78 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %wcs2colidt_offset_hi = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %78, i32 0, i32 18 + %79 = load i16, i16* %wcs2colidt_offset_hi, align 2 + %conv55 = zext i16 %79 to i64 + %shl56 = shl i64 %conv55, 16 + %add.ptr57 = getelementptr inbounds i16, i16* %add.ptr54, i64 %shl56 + %80 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %wcs2colidt_offset_low = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %80, i32 0, i32 17 + %81 = load i16, i16* %wcs2colidt_offset_low, align 2 + %conv58 = zext i16 %81 to i32 + %idx.ext59 = sext i32 %conv58 to i64 + %add.ptr60 = getelementptr inbounds i16, i16* %add.ptr57, i64 %idx.ext59 + %82 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %wcs2colidt_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %82, i32 0, i32 19 + store i16* %add.ptr60, i16** %wcs2colidt_tbl, align 8 + %83 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %MAX_WEIGHTS = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %83, i32 0, i32 2 + %84 = load i16, i16* %MAX_WEIGHTS, align 2 + %85 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %MAX_WEIGHTS61 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %85, i32 0, i32 25 + store i16 %84, i16* %MAX_WEIGHTS61, align 8 + %86 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %max_col_index = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %86, i32 0, i32 8 + %87 = load i16, i16* %max_col_index, align 8 + %conv62 = zext i16 %87 to i32 + %mul63 = mul nsw i32 2, %conv62 + %add64 = add nsw i32 %mul63, 2 + %conv65 = sext i32 %add64 to i64 + %call66 = call noalias i8* @calloc(i64 %conv65, i64 2) #19 + %88 = bitcast i8* %call66 to i16* + %89 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %89, i32 0, i32 23 + store i16* %88, i16** %index2weight, align 8 + %90 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight67 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %90, i32 0, i32 23 + %91 = load i16*, i16** %index2weight67, align 8 + %tobool68 = icmp ne i16* %91, null + br i1 %tobool68, label %if.end70, label %if.then69 + +if.then69: ; preds = %if.end + store i32 0, i32* %retval, align 4 + br label %return + +if.end70: ; preds = %if.end + %92 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight71 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %92, i32 0, i32 23 + %93 = load i16*, i16** %index2weight71, align 8 + %94 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %max_col_index72 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %94, i32 0, i32 8 + %95 = load i16, i16* %max_col_index72, align 8 + %conv73 = zext i16 %95 to i32 + %idx.ext74 = sext i32 %conv73 to i64 + %add.ptr75 = getelementptr inbounds i16, i16* %93, i64 %idx.ext74 + %add.ptr76 = getelementptr inbounds i16, i16* %add.ptr75, i64 1 + %96 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %96, i32 0, i32 24 + store i16* %add.ptr76, i16** %index2ruleidx, align 8 + %97 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight77 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %97, i32 0, i32 23 + %98 = load i16*, i16** %index2weight77, align 8 + %99 = bitcast i16* %98 to i8* + %100 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight_tbl78 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %100, i32 0, i32 16 + %101 = load i16*, i16** %index2weight_tbl78, align 8 + %102 = bitcast i16* %101 to i8* + %103 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %num_col_base = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %103, i32 0, i32 7 + %104 = load i16, i16* %num_col_base, align 2 + %conv79 = zext i16 %104 to i64 + %mul80 = mul i64 %conv79, 2 + %call81 = call i8* @memcpy(i8* %99, i8* %102, i64 %mul80) #19 + %105 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx82 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %105, i32 0, i32 24 + %106 = load i16*, i16** %index2ruleidx82, align 8 + %107 = bitcast i16* %106 to i8* + %108 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx_tbl83 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %108, i32 0, i32 17 + %109 = load i16*, i16** %index2ruleidx_tbl83, align 8 + %110 = bitcast i16* %109 to i8* + %111 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %num_col_base84 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %111, i32 0, i32 7 + %112 = load i16, i16* %num_col_base84, align 2 + %conv85 = zext i16 %112 to i64 + %mul86 = mul i64 %conv85, 2 + %call87 = call i8* @memcpy(i8* %107, i8* %110, i64 %mul86) #19 + %113 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %overrides_tbl88 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %113, i32 0, i32 20 + %114 = load i16*, i16** %overrides_tbl88, align 8 + store i16* %114, i16** %p, align 8 + br label %while.cond + +while.cond: ; preds = %do.body, %if.end70 + %115 = load i16*, i16** %p, align 8 + %116 = load i16, i16* %115, align 2 + %conv89 = zext i16 %116 to i32 + %cmp = icmp sgt i32 %conv89, 1 + br i1 %cmp, label %while.body, label %while.cond105 + +while.body: ; preds = %while.cond + %117 = load i16*, i16** %p, align 8 + %incdec.ptr = getelementptr inbounds i16, i16* %117, i32 1 + store i16* %incdec.ptr, i16** %p, align 8 + %118 = load i16, i16* %117, align 2 + %conv91 = zext i16 %118 to i64 + store i64 %conv91, i64* %n, align 8 + %119 = load i16*, i16** %p, align 8 + %incdec.ptr92 = getelementptr inbounds i16, i16* %119, i32 1 + store i16* %incdec.ptr92, i16** %p, align 8 + %120 = load i16, i16* %119, align 2 + store i16 %120, i16* %w, align 2 + br label %do.body + +do.body: ; preds = %do.body, %while.body + %121 = load i16*, i16** %p, align 8 + %incdec.ptr93 = getelementptr inbounds i16, i16* %121, i32 1 + store i16* %incdec.ptr93, i16** %p, align 8 + %122 = load i16, i16* %121, align 2 + store i16 %122, i16* %i, align 2 + %123 = load i16, i16* %w, align 2 + %inc = add i16 %123, 1 + store i16 %inc, i16* %w, align 2 + %124 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight94 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %124, i32 0, i32 23 + %125 = load i16*, i16** %index2weight94, align 8 + %126 = load i16, i16* %i, align 2 + %conv95 = zext i16 %126 to i32 + %sub96 = sub nsw i32 %conv95, 1 + %idxprom = sext i32 %sub96 to i64 + %arrayidx = getelementptr inbounds i16, i16* %125, i64 %idxprom + store i16 %123, i16* %arrayidx, align 2 + %127 = load i16*, i16** %p, align 8 + %incdec.ptr97 = getelementptr inbounds i16, i16* %127, i32 1 + store i16* %incdec.ptr97, i16** %p, align 8 + %128 = load i16, i16* %127, align 2 + %129 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx98 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %129, i32 0, i32 24 + %130 = load i16*, i16** %index2ruleidx98, align 8 + %131 = load i16, i16* %i, align 2 + %conv99 = zext i16 %131 to i32 + %sub100 = sub nsw i32 %conv99, 1 + %idxprom101 = sext i32 %sub100 to i64 + %arrayidx102 = getelementptr inbounds i16, i16* %130, i64 %idxprom101 + store i16 %128, i16* %arrayidx102, align 2 + %132 = load i64, i64* %n, align 8 + %dec103 = add i64 %132, -1 + store i64 %dec103, i64* %n, align 8 + %tobool104 = icmp ne i64 %dec103, 0 + br i1 %tobool104, label %do.body, label %while.cond + +while.cond105: ; preds = %while.cond, %while.body108 + %133 = load i16*, i16** %p, align 8 + %incdec.ptr106 = getelementptr inbounds i16, i16* %133, i32 1 + store i16* %incdec.ptr106, i16** %p, align 8 + %134 = load i16, i16* %incdec.ptr106, align 2 + %tobool107 = icmp ne i16 %134, 0 + br i1 %tobool107, label %while.body108, label %while.end121 + +while.body108: ; preds = %while.cond105 + %135 = load i16*, i16** %p, align 8 + %136 = load i16, i16* %135, align 2 + store i16 %136, i16* %i, align 2 + %137 = load i16*, i16** %p, align 8 + %incdec.ptr109 = getelementptr inbounds i16, i16* %137, i32 1 + store i16* %incdec.ptr109, i16** %p, align 8 + %138 = load i16, i16* %incdec.ptr109, align 2 + %139 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight110 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %139, i32 0, i32 23 + %140 = load i16*, i16** %index2weight110, align 8 + %141 = load i16, i16* %i, align 2 + %conv111 = zext i16 %141 to i32 + %sub112 = sub nsw i32 %conv111, 1 + %idxprom113 = sext i32 %sub112 to i64 + %arrayidx114 = getelementptr inbounds i16, i16* %140, i64 %idxprom113 + store i16 %138, i16* %arrayidx114, align 2 + %142 = load i16*, i16** %p, align 8 + %incdec.ptr115 = getelementptr inbounds i16, i16* %142, i32 1 + store i16* %incdec.ptr115, i16** %p, align 8 + %143 = load i16, i16* %incdec.ptr115, align 2 + %144 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx116 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %144, i32 0, i32 24 + %145 = load i16*, i16** %index2ruleidx116, align 8 + %146 = load i16, i16* %i, align 2 + %conv117 = zext i16 %146 to i32 + %sub118 = sub nsw i32 %conv117, 1 + %idxprom119 = sext i32 %sub118 to i64 + %arrayidx120 = getelementptr inbounds i16, i16* %145, i64 %idxprom119 + store i16 %143, i16* %arrayidx120, align 2 + br label %while.cond105 + +while.end121: ; preds = %while.cond105 + store i16 0, i16* %i, align 2 + br label %for.cond + +for.cond: ; preds = %for.inc, %while.end121 + %147 = load i16, i16* %i, align 2 + %conv122 = zext i16 %147 to i32 + %148 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %multistart_tbl123 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %148, i32 0, i32 18 + %149 = load i16*, i16** %multistart_tbl123, align 8 + %arrayidx124 = getelementptr inbounds i16, i16* %149, i64 0 + %150 = load i16, i16* %arrayidx124, align 2 + %conv125 = zext i16 %150 to i32 + %cmp126 = icmp slt i32 %conv122, %conv125 + br i1 %cmp126, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %151 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %multistart_tbl128 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %151, i32 0, i32 18 + %152 = load i16*, i16** %multistart_tbl128, align 8 + store i16* %152, i16** %p, align 8 + %153 = load i16*, i16** %p, align 8 + %154 = load i16, i16* %i, align 2 + %idxprom129 = zext i16 %154 to i64 + %arrayidx130 = getelementptr inbounds i16, i16* %153, i64 %idxprom129 + %155 = load i16, i16* %arrayidx130, align 2 + %conv131 = zext i16 %155 to i32 + %156 = load i16*, i16** %p, align 8 + %idx.ext132 = sext i32 %conv131 to i64 + %add.ptr133 = getelementptr inbounds i16, i16* %156, i64 %idx.ext132 + store i16* %add.ptr133, i16** %p, align 8 + br label %do.body134 + +do.body134: ; preds = %do.body141, %for.body + %157 = load i16*, i16** %p, align 8 + %incdec.ptr135 = getelementptr inbounds i16, i16* %157, i32 1 + store i16* %incdec.ptr135, i16** %p, align 8 + %158 = load i16, i16* %157, align 2 + %conv136 = zext i16 %158 to i64 + store i64 %conv136, i64* %n, align 8 + %159 = load i16*, i16** %p, align 8 + %160 = load i16, i16* %159, align 2 + %tobool138 = icmp ne i16 %160, 0 + br i1 %tobool138, label %do.body141, label %for.inc + +do.body141: ; preds = %do.body134, %do.body141 + %161 = load i16*, i16** %p, align 8 + %incdec.ptr143 = getelementptr inbounds i16, i16* %161, i32 1 + store i16* %incdec.ptr143, i16** %p, align 8 + %162 = load i16, i16* %161, align 2 + %tobool144 = icmp ne i16 %162, 0 + br i1 %tobool144, label %do.body141, label %do.body134 + +for.inc: ; preds = %do.body134 + %163 = load i16, i16* %i, align 2 + %inc150 = add i16 %163, 1 + store i16 %inc150, i16* %i, align 2 + br label %for.cond + +for.end: ; preds = %for.cond + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %for.end, %if.then69, %if.then + %164 = load i32, i32* %retval, align 4 + ret i32 %164 +} + +; Function Attrs: nounwind +declare void @free(i8*) #2 + +; Function Attrs: nounwind +declare noalias i8* @calloc(i64, i64) #2 + +; Function Attrs: noinline nounwind uwtable +define hidden void @_locale_init_l(%struct.__uclibc_locale_struct.201* %base) #0 { +entry: + %base.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + store %struct.__uclibc_locale_struct.201* %base, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 6 + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + %call = call i8* @memset(i8* %arraydecay, i32 0, i64 14) #19 + %1 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale1 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %1, i32 0, i32 6 + %arrayidx = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale1, i64 0, i64 0 + store i8 35, i8* %arrayidx, align 8 + %2 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_item_count = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %2, i32 0, i32 8 + %arraydecay2 = getelementptr inbounds [6 x i8], [6 x i8]* %category_item_count, i64 0, i64 0 + %3 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_common_item_offsets_LEN = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %3, i32 0, i32 29 + %arraydecay3 = getelementptr inbounds [6 x i8], [6 x i8]* %lc_common_item_offsets_LEN, i64 0, i64 0 + %call4 = call i8* @memcpy(i8* %arraydecay2, i8* %arraydecay3, i64 6) #19 + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_item_count5 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %4, i32 0, i32 8 + %arrayidx6 = getelementptr inbounds [6 x i8], [6 x i8]* %category_item_count5, i64 0, i64 0 + %5 = load i8, i8* %arrayidx6, align 2 + %inc = add i8 %5, 1 + store i8 %inc, i8* %arrayidx6, align 2 + %6 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %6, i32 0, i32 7 + %arrayidx7 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets, i64 0, i64 0 + store i16 2488, i16* %arrayidx7, align 2 + %7 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets8 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %7, i32 0, i32 7 + %arrayidx9 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets8, i64 0, i64 1 + store i16 2576, i16* %arrayidx9, align 2 + %8 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets10 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %8, i32 0, i32 7 + %arrayidx11 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets10, i64 0, i64 2 + store i16 2600, i16* %arrayidx11, align 2 + %9 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets12 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %9, i32 0, i32 7 + %arrayidx13 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets12, i64 0, i64 3 + store i16 2776, i16* %arrayidx13, align 2 + %10 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets14 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %10, i32 0, i32 7 + %arrayidx15 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets14, i64 0, i64 5 + store i16 3176, i16* %arrayidx15, align 2 + %11 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8ctype = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %11, i32 0, i32 0 + %12 = bitcast [420 x i8]* %tbl8ctype to i8* + %13 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8ctype16 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %13, i32 0, i32 13 + store i8* %12, i8** %tbl8ctype16, align 8 + %14 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8uplow = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %14, i32 0, i32 1 + %15 = bitcast [504 x i8]* %tbl8uplow to i8* + %16 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8uplow17 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %16, i32 0, i32 15 + store i8* %15, i8** %tbl8uplow17, align 8 + %17 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8c2wc = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %17, i32 0, i32 2 + %18 = bitcast [1760 x i16]* %tbl8c2wc to i16* + %19 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8c2wc18 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %19, i32 0, i32 17 + store i16* %18, i16** %tbl8c2wc18, align 8 + %20 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8wc2c = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %20, i32 0, i32 3 + %21 = bitcast [4528 x i8]* %tbl8wc2c to i8* + %22 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8wc2c19 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %22, i32 0, i32 19 + store i8* %21, i8** %tbl8wc2c19, align 8 + %23 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tblwctype = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %23, i32 0, i32 4 + %24 = bitcast [3604 x i8]* %tblwctype to i8* + %25 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tblwctype20 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %25, i32 0, i32 21 + store i8* %24, i8** %tblwctype20, align 8 + %26 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tblwuplow = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %26, i32 0, i32 5 + %27 = bitcast [1680 x i8]* %tblwuplow to i8* + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tblwuplow21 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %28, i32 0, i32 22 + store i8* %27, i8** %tblwuplow21, align 8 + %29 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tblwuplow_diff = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %29, i32 0, i32 6 + %30 = bitcast [196 x i16]* %tblwuplow_diff to i16* + %31 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tblwuplow_diff22 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %31, i32 0, i32 23 + store i16* %30, i16** %tblwuplow_diff22, align 8 + %32 = load i16*, i16** @__C_ctype_b, align 8 + %33 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %33, i32 0, i32 0 + store i16* %32, i16** %__ctype_b, align 8 + %34 = load i16*, i16** @__C_ctype_tolower, align 8 + %35 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %35, i32 0, i32 1 + store i16* %34, i16** %__ctype_tolower, align 8 + %36 = load i16*, i16** @__C_ctype_toupper, align 8 + %37 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %37, i32 0, i32 2 + store i16* %36, i16** %__ctype_toupper, align 8 + %38 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %code2flag = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %38, i32 0, i32 20 + store i16* getelementptr inbounds ([16 x i16], [16 x i16]* @__code2flag, i64 0, i64 0), i16** %code2flag, align 8 + %39 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call23 = call i32 @_locale_set_l(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.76, i64 0, i64 0), %struct.__uclibc_locale_struct.201* %39) #18 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_locale_init() #0 { +entry: + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__global_locale, align 8 + call void @_locale_init_l(%struct.__uclibc_locale_struct.201* %0) #18 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @sigblock(i32 %mask) #0 { +entry: + %retval = alloca i32, align 4 + %mask.addr = alloca i32, align 4 + %set = alloca %struct.fd_set, align 8 + %oset = alloca %struct.fd_set, align 8 + store i32 %mask, i32* %mask.addr, align 4 + %0 = load i32, i32* %mask.addr, align 4 + %call = call i32 @sigset_set_old_mask(%struct.fd_set* %set, i32 %0) #18 + %cmp = icmp slt i32 %call, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %call1 = call i32 @sigprocmask(i32 0, %struct.fd_set* %set, %struct.fd_set* %oset) #19 + %cmp2 = icmp slt i32 %call1, 0 + br i1 %cmp2, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.end + store i32 -1, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %if.end + %call5 = call i32 @sigset_get_old_mask(%struct.fd_set* %oset) #18 + store i32 %call5, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %1 = load i32, i32* %retval, align 4 + ret i32 %1 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @sigset_set_old_mask(%struct.fd_set* %set, i32 %mask) #0 { +entry: + %set.addr = alloca %struct.fd_set*, align 8 + %mask.addr = alloca i32, align 4 + %ptr = alloca i64*, align 8 + %cnt = alloca i32, align 4 + store %struct.fd_set* %set, %struct.fd_set** %set.addr, align 8 + store i32 %mask, i32* %mask.addr, align 4 + %0 = load %struct.fd_set*, %struct.fd_set** %set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %0, i32 0, i32 0 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 0 + store i64* %arrayidx, i64** %ptr, align 8 + %1 = load i32, i32* %mask.addr, align 4 + %conv = zext i32 %1 to i64 + %2 = load i64*, i64** %ptr, align 8 + %incdec.ptr = getelementptr inbounds i64, i64* %2, i32 1 + store i64* %incdec.ptr, i64** %ptr, align 8 + store i64 %conv, i64* %2, align 8 + store i32 14, i32* %cnt, align 4 + br label %do.body + +do.body: ; preds = %do.body, %entry + %3 = load i64*, i64** %ptr, align 8 + %incdec.ptr1 = getelementptr inbounds i64, i64* %3, i32 1 + store i64* %incdec.ptr1, i64** %ptr, align 8 + store i64 0, i64* %3, align 8 + %4 = load i32, i32* %cnt, align 4 + %dec = add nsw i32 %4, -1 + store i32 %dec, i32* %cnt, align 4 + %cmp = icmp sge i32 %dec, 0 + br i1 %cmp, label %do.body, label %do.end + +do.end: ; preds = %do.body + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @sigset_get_old_mask(%struct.fd_set* %set) #0 { +entry: + %set.addr = alloca %struct.fd_set*, align 8 + store %struct.fd_set* %set, %struct.fd_set** %set.addr, align 8 + %0 = load %struct.fd_set*, %struct.fd_set** %set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %0, i32 0, i32 0 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 0 + %1 = load i64, i64* %arrayidx, align 8 + %conv = trunc i64 %1 to i32 + ret i32 %conv +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_stdio_term() #0 { +entry: + %ptr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %0, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %1, null + br i1 %tobool, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 0 + %3 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %3 to i32 + %and = and i32 %conv, 64 + %tobool1 = icmp ne i32 %and, 0 + br i1 %tobool1, label %if.then, label %for.inc + +if.then: ; preds = %for.body + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %call = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %4) #18 + br label %for.inc + +for.inc: ; preds = %for.body, %if.then + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 9 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %6, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_stdio_init() #0 { +entry: + %old_errno = alloca i32, align 4 + %0 = load i32, i32* @errno, align 4 + store i32 %0, i32* %old_errno, align 4 + %call = call i32 @isatty(i32 0) #19 + %sub = sub nsw i32 1, %call + %mul = mul i32 %sub, 256 + %1 = load i16, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 0, i32 0), align 16 + %conv = zext i16 %1 to i32 + %xor = xor i32 %conv, %mul + %conv1 = trunc i32 %xor to i16 + store i16 %conv1, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 0, i32 0), align 16 + %call2 = call i32 @isatty(i32 1) #19 + %sub3 = sub nsw i32 1, %call2 + %mul4 = mul i32 %sub3, 256 + %2 = load i16, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 1, i32 0), align 8 + %conv5 = zext i16 %2 to i32 + %xor6 = xor i32 %conv5, %mul4 + %conv7 = trunc i32 %xor6 to i16 + store i16 %conv7, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 1, i32 0), align 8 + %3 = load i32, i32* %old_errno, align 4 + store i32 %3, i32* @errno, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getchar_unlocked() #0 { +entry: + %stream = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdin, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %0, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %1, i32 0, i32 5 + %2 = load i8*, i8** %__bufpos, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 7 + %4 = load i8*, i8** %__bufgetc_u, align 8 + %cmp = icmp ult i8* %2, %4 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %entry + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 5 + %6 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + %7 = load i8, i8* %6, align 1 + %conv = zext i8 %7 to i32 + br label %cond.end + +cond.false: ; preds = %entry + %call = call i32 @__fgetc_unlocked(%struct.__STDIO_FILE_STRUCT.568* %5) #18 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ %conv, %cond.true ], [ %call, %cond.false ] + ret i32 %cond +} + +; Function Attrs: noinline noreturn nounwind uwtable +declare void @abort() #1 + +; Function Attrs: noreturn +declare void @_exit(i32) #13 + +; Function Attrs: noinline noreturn nounwind uwtable +define void @exit(i32 %rv) #1 { +entry: + %rv.addr = alloca i32, align 4 + store i32 %rv, i32* %rv.addr, align 4 + %0 = load void (i32)*, void (i32)** @__exit_cleanup, align 8 + %tobool = icmp ne void (i32)* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load void (i32)*, void (i32)** @__exit_cleanup, align 8 + %2 = load i32, i32* %rv.addr, align 4 + call void %1(i32 %2) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + call void @__uClibc_fini() #18 + call void @_stdio_term() #18 + %3 = load i32, i32* %rv.addr, align 4 + call void @_exit(i32 %3) #27 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define i8* @memcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r1 = alloca i8*, align 8 + %r2 = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %r1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %r2, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %2 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load i8*, i8** %r2, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %r2, align 8 + %4 = load i8, i8* %3, align 1 + %5 = load i8*, i8** %r1, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr1, i8** %r1, align 8 + store i8 %4, i8* %5, align 1 + %6 = load i64, i64* %n.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %7 = load i8*, i8** %s1.addr, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @memset(i8* nonnull %s, i32 %c, i64 %n) #0 { +entry: + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %n.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %1 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %2 = load i32, i32* %c.addr, align 4 + %conv = trunc i32 %2 to i8 + %3 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + store i8 %conv, i8* %3, align 1 + %4 = load i64, i64* %n.addr, align 8 + %dec = add i64 %4, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %5 = load i8*, i8** %s.addr, align 8 + ret i8* %5 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @strrchr(i8* nonnull %s, i32 %c) #14 { +entry: + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i8* null, i8** %p, align 8 + br label %do.body + +do.body: ; preds = %do.cond, %entry + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %2 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %2 to i8 + %conv2 = sext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + br i1 %cmp, label %if.then, label %do.cond + +if.then: ; preds = %do.body + %3 = load i8*, i8** %s.addr, align 8 + store i8* %3, i8** %p, align 8 + br label %do.cond + +do.cond: ; preds = %do.body, %if.then + %4 = load i8*, i8** %s.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr, i8** %s.addr, align 8 + %5 = load i8, i8* %4, align 1 + %tobool = icmp ne i8 %5, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %6 = load i8*, i8** %p, align 8 + ret i8* %6 +} + +; Function Attrs: noinline noreturn nounwind uwtable +define dso_local void @usage(i32 %status) #6 { +entry: + %status.addr = alloca i32, align 4 + store i32 %status, i32* %status.addr, align 4 + %0 = load i32, i32* %status.addr, align 4 + %cmp = icmp eq i32 %0, 0 + br i1 %cmp, label %if.end, label %if.else + +if.else: ; preds = %entry + call void @__assert_fail(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.95, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.1.96, i64 0, i64 0), i32 40, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @__PRETTY_FUNCTION__.usage, i64 0, i64 0)) #26 + unreachable + +if.end: ; preds = %entry + %1 = load i8*, i8** @program_name, align 8 + %2 = load i8*, i8** @program_name, align 8 + %call = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.2.97, i64 0, i64 0), i8* %1, i8* %2) + %3 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call1 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([93 x i8], [93 x i8]* @.str.3.98, i64 0, i64 0), %struct._IO_FILE* %3) + %4 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call2 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([132 x i8], [132 x i8]* @.str.4.99, i64 0, i64 0), %struct._IO_FILE* %4) + %5 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call3 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.5.100, i64 0, i64 0), %struct._IO_FILE* %5) + %6 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call4 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.6.101, i64 0, i64 0), %struct._IO_FILE* %6) + %7 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call5 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.7.102, i64 0, i64 0), %struct._IO_FILE* %7) + %8 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call6 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([229 x i8], [229 x i8]* @.str.8.103, i64 0, i64 0), %struct._IO_FILE* %8) + %9 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call7 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([110 x i8], [110 x i8]* @.str.9.104, i64 0, i64 0), %struct._IO_FILE* %9) + %call8 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([191 x i8], [191 x i8]* @.str.10.105, i64 0, i64 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.11.106, i64 0, i64 0)) + call void @emit_ancillary_info(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.11.106, i64 0, i64 0)) + %10 = load i32, i32* %status.addr, align 4 + call void @exit(i32 %10) #26 + unreachable +} + +declare dso_local i32 @printf(i8*, ...) #5 + +; Function Attrs: noinline nounwind uwtable +define internal void @emit_ancillary_info(i8* %program) #3 { +entry: + %program.addr = alloca i8*, align 8 + %infomap = alloca [7 x %struct.infomap], align 16 + %node = alloca i8*, align 8 + %map_prog = alloca %struct.infomap*, align 8 + %lc_messages = alloca i8*, align 8 + store i8* %program, i8** %program.addr, align 8 + %0 = bitcast [7 x %struct.infomap]* %infomap to i8* + %1 = call i8* @memcpy(i8* %0, i8* bitcast ([7 x %struct.infomap]* @__const.emit_ancillary_info.infomap to i8*), i64 112) + %2 = load i8*, i8** %program.addr, align 8 + store i8* %2, i8** %node, align 8 + %arraydecay = getelementptr inbounds [7 x %struct.infomap], [7 x %struct.infomap]* %infomap, i64 0, i64 0 + store %struct.infomap* %arraydecay, %struct.infomap** %map_prog, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %3 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + %program1 = getelementptr inbounds %struct.infomap, %struct.infomap* %3, i32 0, i32 0 + %4 = load i8*, i8** %program1, align 8 + %tobool = icmp ne i8* %4, null + br i1 %tobool, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %5 = load i8*, i8** %program.addr, align 8 + %6 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + %program2 = getelementptr inbounds %struct.infomap, %struct.infomap* %6, i32 0, i32 0 + %7 = load i8*, i8** %program2, align 8 + %call = call i32 @strcmp(i8* %5, i8* %7) #23 + %cmp = icmp eq i32 %call, 0 + %lnot = xor i1 %cmp, true + br label %land.end + +land.end: ; preds = %land.rhs, %while.cond + %8 = phi i1 [ false, %while.cond ], [ %lnot, %land.rhs ] + %9 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + br i1 %8, label %while.body, label %while.end + +while.body: ; preds = %land.end + %incdec.ptr = getelementptr inbounds %struct.infomap, %struct.infomap* %9, i32 1 + store %struct.infomap* %incdec.ptr, %struct.infomap** %map_prog, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %node3 = getelementptr inbounds %struct.infomap, %struct.infomap* %9, i32 0, i32 1 + %10 = load i8*, i8** %node3, align 8 + %tobool4 = icmp ne i8* %10, null + br i1 %tobool4, label %if.then, label %if.end + +if.then: ; preds = %while.end + %11 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + %node5 = getelementptr inbounds %struct.infomap, %struct.infomap* %11, i32 0, i32 1 + %12 = load i8*, i8** %node5, align 8 + store i8* %12, i8** %node, align 8 + br label %if.end + +if.end: ; preds = %if.then, %while.end + %call6 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.29.107, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.17.108, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.30.109, i64 0, i64 0)) + %call7 = call i8* @setlocale(i32 5, i8* null) #11 + store i8* %call7, i8** %lc_messages, align 8 + %13 = load i8*, i8** %lc_messages, align 8 + %tobool8 = icmp ne i8* %13, null + br i1 %tobool8, label %land.lhs.true, label %if.end13 + +land.lhs.true: ; preds = %if.end + %14 = load i8*, i8** %lc_messages, align 8 + %call9 = call i32 @strncmp(i8* %14, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.31.110, i64 0, i64 0), i64 3) #23 + %tobool10 = icmp ne i32 %call9, 0 + br i1 %tobool10, label %if.then11, label %if.end13 + +if.then11: ; preds = %land.lhs.true + %15 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call12 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.32.111, i64 0, i64 0), %struct._IO_FILE* %15) + br label %if.end13 + +if.end13: ; preds = %if.then11, %land.lhs.true, %if.end + %16 = load i8*, i8** %program.addr, align 8 + %call14 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.33.112, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.30.109, i64 0, i64 0), i8* %16) + %17 = load i8*, i8** %node, align 8 + %18 = load i8*, i8** %node, align 8 + %19 = load i8*, i8** %program.addr, align 8 + %cmp15 = icmp eq i8* %18, %19 + %20 = zext i1 %cmp15 to i64 + %cond = select i1 %cmp15, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.35.113, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.14.114, i64 0, i64 0) + %call16 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([51 x i8], [51 x i8]* @.str.34.115, i64 0, i64 0), i8* %17, i8* %cond) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__klee_posix_wrapped_main(i32 %argc, i8** %argv) #3 { +entry: + %retval = alloca i32, align 4 + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %display_return = alloca i8, align 1 + %posixly_correct = alloca i8, align 1 + %allow_options = alloca i8, align 1 + %do_v9 = alloca i8, align 1 + %temp = alloca i8*, align 8 + %i = alloca i64, align 8 + %s = alloca i8*, align 8 + %c = alloca i8, align 1 + %ch = alloca i8, align 1 + store i32 0, i32* %retval, align 4 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8 1, i8* %display_return, align 1 + %call = call i8* @getenv(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.12.127, i64 0, i64 0)) #11 + %tobool = icmp ne i8* %call, null + %frombool = zext i1 %tobool to i8 + store i8 %frombool, i8* %posixly_correct, align 1 + %0 = load i8, i8* %posixly_correct, align 1 + %tobool1 = trunc i8 %0 to i1 + br i1 %tobool1, label %lor.rhs, label %lor.end + +lor.rhs: ; preds = %entry + %1 = load i32, i32* %argc.addr, align 4 + %cmp = icmp slt i32 1, %1 + br i1 %cmp, label %land.rhs, label %lor.end + +land.rhs: ; preds = %lor.rhs + %2 = load i8**, i8*** %argv.addr, align 8 + %arrayidx = getelementptr inbounds i8*, i8** %2, i64 1 + %3 = load i8*, i8** %arrayidx, align 8 + %call2 = call i32 @strcmp(i8* %3, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.13.128, i64 0, i64 0)) #23 + %cmp3 = icmp eq i32 %call2, 0 + br label %lor.end + +lor.end: ; preds = %lor.rhs, %land.rhs, %entry + %4 = phi i1 [ true, %entry ], [ false, %lor.rhs ], [ %cmp3, %land.rhs ] + %frombool4 = zext i1 %4 to i8 + store i8 %frombool4, i8* %allow_options, align 1 + store i8 0, i8* %do_v9, align 1 + %5 = load i8**, i8*** %argv.addr, align 8 + %arrayidx5 = getelementptr inbounds i8*, i8** %5, i64 0 + %6 = load i8*, i8** %arrayidx5, align 8 + call void @set_program_name(i8* %6) + %call6 = call i8* @setlocale(i32 6, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.14.114, i64 0, i64 0)) #11 + %call7 = call i32 @atexit(void ()* @close_stdout) #11 + %7 = load i8, i8* %allow_options, align 1 + %tobool8 = trunc i8 %7 to i1 + %8 = load i32, i32* %argc.addr, align 4 + %cmp9 = icmp eq i32 %8, 2 + %or.cond = and i1 %tobool8, %cmp9 + br i1 %or.cond, label %if.then, label %if.end19 + +if.then: ; preds = %lor.end + %9 = load i8**, i8*** %argv.addr, align 8 + %arrayidx10 = getelementptr inbounds i8*, i8** %9, i64 1 + %10 = load i8*, i8** %arrayidx10, align 8 + %call11 = call i32 @strcmp(i8* %10, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.15.129, i64 0, i64 0)) #23 + %cmp12 = icmp eq i32 %call11, 0 + br i1 %cmp12, label %if.then13, label %if.end + +if.then13: ; preds = %if.then + call void @usage(i32 0) #24 + unreachable + +if.end: ; preds = %if.then + %11 = load i8**, i8*** %argv.addr, align 8 + %arrayidx14 = getelementptr inbounds i8*, i8** %11, i64 1 + %12 = load i8*, i8** %arrayidx14, align 8 + %call15 = call i32 @strcmp(i8* %12, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.16.130, i64 0, i64 0)) #23 + %cmp16 = icmp eq i32 %call15, 0 + br i1 %cmp16, label %if.then17, label %if.end19 + +if.then17: ; preds = %if.end + %13 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %14 = load i8*, i8** @Version, align 8 + call void (%struct._IO_FILE*, i8*, i8*, i8*, ...) @version_etc(%struct._IO_FILE* %13, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.11.106, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.17.108, i64 0, i64 0), i8* %14, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.18.131, i64 0, i64 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.19.132, i64 0, i64 0), i8* null) + store i32 0, i32* %retval, align 4 + br label %return + +if.end19: ; preds = %if.end, %lor.end + %15 = load i32, i32* %argc.addr, align 4 + %dec = add nsw i32 %15, -1 + store i32 %dec, i32* %argc.addr, align 4 + %16 = load i8**, i8*** %argv.addr, align 8 + %incdec.ptr = getelementptr inbounds i8*, i8** %16, i32 1 + store i8** %incdec.ptr, i8*** %argv.addr, align 8 + %17 = load i8, i8* %allow_options, align 1 + %tobool20 = trunc i8 %17 to i1 + br i1 %tobool20, label %while.cond, label %just_echo + +while.cond: ; preds = %if.end19, %while.end + %18 = load i32, i32* %argc.addr, align 4 + %cmp22 = icmp sgt i32 %18, 0 + br i1 %cmp22, label %land.rhs23, label %just_echo + +land.rhs23: ; preds = %while.cond + %19 = load i8**, i8*** %argv.addr, align 8 + %arrayidx24 = getelementptr inbounds i8*, i8** %19, i64 0 + %20 = load i8*, i8** %arrayidx24, align 8 + %21 = load i8, i8* %20, align 1 + %conv = sext i8 %21 to i32 + %cmp25 = icmp eq i32 %conv, 45 + br i1 %cmp25, label %while.body, label %just_echo + +while.body: ; preds = %land.rhs23 + %22 = load i8**, i8*** %argv.addr, align 8 + %arrayidx28 = getelementptr inbounds i8*, i8** %22, i64 0 + %23 = load i8*, i8** %arrayidx28, align 8 + %add.ptr = getelementptr inbounds i8, i8* %23, i64 1 + store i8* %add.ptr, i8** %temp, align 8 + store i64 0, i64* %i, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %while.body + %24 = load i8*, i8** %temp, align 8 + %25 = load i64, i64* %i, align 8 + %arrayidx29 = getelementptr inbounds i8, i8* %24, i64 %25 + %26 = load i8, i8* %arrayidx29, align 1 + %tobool30 = icmp ne i8 %26, 0 + br i1 %tobool30, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %27 = load i8*, i8** %temp, align 8 + %28 = load i64, i64* %i, align 8 + %arrayidx31 = getelementptr inbounds i8, i8* %27, i64 %28 + %29 = load i8, i8* %arrayidx31, align 1 + %conv32 = sext i8 %29 to i32 + br label %NodeBlock3 + +NodeBlock3: ; preds = %for.body + %case.cmp4 = icmp eq i32 %conv32, 101 + br i1 %case.cmp4, label %for.inc, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %conv32, 69 + br i1 %case.cmp2, label %for.inc, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %conv32, 110 + br i1 %case.cmp, label %for.inc, label %newDefault + +for.inc: ; preds = %NodeBlock3, %NodeBlock1, %NodeBlock + %30 = load i64, i64* %i, align 8 + %inc = add i64 %30, 1 + store i64 %inc, i64* %i, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %31 = load i64, i64* %i, align 8 + %cmp33 = icmp eq i64 %31, 0 + br i1 %cmp33, label %just_echo, label %while.cond37 + +while.cond37: ; preds = %for.end, %sw.epilog45 + %32 = load i8*, i8** %temp, align 8 + %33 = load i8, i8* %32, align 1 + %tobool38 = icmp ne i8 %33, 0 + br i1 %tobool38, label %while.body39, label %while.end + +while.body39: ; preds = %while.cond37 + %34 = load i8*, i8** %temp, align 8 + %incdec.ptr40 = getelementptr inbounds i8, i8* %34, i32 1 + store i8* %incdec.ptr40, i8** %temp, align 8 + %35 = load i8, i8* %34, align 1 + %conv41 = sext i8 %35 to i32 + br label %NodeBlock10 + +NodeBlock10: ; preds = %while.body39 + %case.cmp11 = icmp eq i32 %conv41, 101 + br i1 %case.cmp11, label %sw.bb42, label %NodeBlock8 + +NodeBlock8: ; preds = %NodeBlock10 + %case.cmp9 = icmp eq i32 %conv41, 69 + br i1 %case.cmp9, label %sw.bb43, label %NodeBlock6 + +NodeBlock6: ; preds = %NodeBlock8 + %case.cmp7 = icmp eq i32 %conv41, 110 + br i1 %case.cmp7, label %sw.bb44, label %newDefault5 + +sw.bb42: ; preds = %NodeBlock10 + store i8 1, i8* %do_v9, align 1 + br label %sw.epilog45 + +sw.bb43: ; preds = %NodeBlock8 + store i8 0, i8* %do_v9, align 1 + br label %sw.epilog45 + +sw.bb44: ; preds = %NodeBlock6 + store i8 0, i8* %display_return, align 1 + br label %sw.epilog45 + +newDefault5: ; preds = %NodeBlock6 + br label %sw.epilog45 + +sw.epilog45: ; preds = %newDefault5, %sw.bb44, %sw.bb43, %sw.bb42 + br label %while.cond37 + +while.end: ; preds = %while.cond37 + %36 = load i32, i32* %argc.addr, align 4 + %dec46 = add nsw i32 %36, -1 + store i32 %dec46, i32* %argc.addr, align 4 + %37 = load i8**, i8*** %argv.addr, align 8 + %incdec.ptr47 = getelementptr inbounds i8*, i8** %37, i32 1 + store i8** %incdec.ptr47, i8*** %argv.addr, align 8 + br label %while.cond + +newDefault: ; preds = %NodeBlock + br label %just_echo + +just_echo: ; preds = %newDefault, %if.end19, %while.cond, %land.rhs23, %for.end + %38 = load i8, i8* %do_v9, align 1 + %tobool50 = trunc i8 %38 to i1 + br i1 %tobool50, label %if.then54, label %lor.lhs.false + +lor.lhs.false: ; preds = %just_echo + %39 = load i8, i8* %posixly_correct, align 1 + %tobool52 = trunc i8 %39 to i1 + br i1 %tobool52, label %if.then54, label %while.cond168 + +if.then54: ; preds = %lor.lhs.false, %just_echo + br label %while.cond55 + +while.cond55: ; preds = %if.end166, %if.then54 + %40 = load i32, i32* %argc.addr, align 4 + %cmp56 = icmp sgt i32 %40, 0 + br i1 %cmp56, label %while.body58, label %if.end182 + +while.body58: ; preds = %while.cond55 + %41 = load i8**, i8*** %argv.addr, align 8 + %arrayidx59 = getelementptr inbounds i8*, i8** %41, i64 0 + %42 = load i8*, i8** %arrayidx59, align 8 + store i8* %42, i8** %s, align 8 + br label %while.cond60 + +while.cond60: ; preds = %if.end156, %while.body58 + %43 = load i8*, i8** %s, align 8 + %incdec.ptr61 = getelementptr inbounds i8, i8* %43, i32 1 + store i8* %incdec.ptr61, i8** %s, align 8 + %44 = load i8, i8* %43, align 1 + store i8 %44, i8* %c, align 1 + %tobool62 = icmp ne i8 %44, 0 + br i1 %tobool62, label %while.body63, label %while.end159 + +while.body63: ; preds = %while.cond60 + %45 = load i8, i8* %c, align 1 + %conv64 = zext i8 %45 to i32 + %cmp65 = icmp eq i32 %conv64, 92 + br i1 %cmp65, label %land.lhs.true67, label %if.end156 + +land.lhs.true67: ; preds = %while.body63 + %46 = load i8*, i8** %s, align 8 + %47 = load i8, i8* %46, align 1 + %conv68 = sext i8 %47 to i32 + %tobool69 = icmp ne i32 %conv68, 0 + br i1 %tobool69, label %if.then70, label %if.end156 + +if.then70: ; preds = %land.lhs.true67 + %48 = load i8*, i8** %s, align 8 + %incdec.ptr71 = getelementptr inbounds i8, i8* %48, i32 1 + store i8* %incdec.ptr71, i8** %s, align 8 + %49 = load i8, i8* %48, align 1 + store i8 %49, i8* %c, align 1 + %conv72 = zext i8 %49 to i32 + br label %NodeBlock49 + +NodeBlock49: ; preds = %if.then70 + %case.cmp50 = icmp eq i32 %conv72, 97 + br i1 %case.cmp50, label %sw.bb73, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %conv72, 98 + br i1 %case.cmp48, label %sw.bb74, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %conv72, 99 + br i1 %case.cmp46, label %sw.bb75, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %conv72, 101 + br i1 %case.cmp44, label %sw.bb76, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %conv72, 102 + br i1 %case.cmp42, label %sw.bb77, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %conv72, 110 + br i1 %case.cmp40, label %sw.bb78, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %conv72, 114 + br i1 %case.cmp38, label %sw.bb79, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %conv72, 116 + br i1 %case.cmp36, label %sw.bb80, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %conv72, 118 + br i1 %case.cmp34, label %sw.bb81, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %conv72, 120 + br i1 %case.cmp32, label %sw.bb82, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %conv72, 48 + br i1 %case.cmp30, label %sw.bb106, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %conv72, 49 + br i1 %case.cmp28, label %sw.bb117, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %conv72, 50 + br i1 %case.cmp26, label %sw.bb117, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %conv72, 51 + br i1 %case.cmp24, label %sw.bb117, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %conv72, 52 + br i1 %case.cmp22, label %sw.bb117, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %conv72, 53 + br i1 %case.cmp20, label %sw.bb117, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %conv72, 54 + br i1 %case.cmp18, label %sw.bb117, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %conv72, 55 + br i1 %case.cmp16, label %sw.bb117, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %conv72, 92 + br i1 %case.cmp14, label %if.end156, label %newDefault12 + +sw.bb73: ; preds = %NodeBlock49 + store i8 7, i8* %c, align 1 + br label %if.end156 + +sw.bb74: ; preds = %NodeBlock47 + store i8 8, i8* %c, align 1 + br label %if.end156 + +sw.bb75: ; preds = %NodeBlock45 + store i32 0, i32* %retval, align 4 + br label %return + +sw.bb76: ; preds = %NodeBlock43 + store i8 27, i8* %c, align 1 + br label %if.end156 + +sw.bb77: ; preds = %NodeBlock41 + store i8 12, i8* %c, align 1 + br label %if.end156 + +sw.bb78: ; preds = %NodeBlock39 + store i8 10, i8* %c, align 1 + br label %if.end156 + +sw.bb79: ; preds = %NodeBlock37 + store i8 13, i8* %c, align 1 + br label %if.end156 + +sw.bb80: ; preds = %NodeBlock35 + store i8 9, i8* %c, align 1 + br label %if.end156 + +sw.bb81: ; preds = %NodeBlock33 + store i8 11, i8* %c, align 1 + br label %if.end156 + +sw.bb82: ; preds = %NodeBlock31 + %50 = load i8*, i8** %s, align 8 + %51 = load i8, i8* %50, align 1 + store i8 %51, i8* %ch, align 1 + %call83 = call i16** @__ctype_b_loc() #25 + %52 = load i16*, i16** %call83, align 8 + %53 = load i8, i8* %ch, align 1 + %conv84 = zext i8 %53 to i32 + %idxprom = sext i32 %conv84 to i64 + %arrayidx85 = getelementptr inbounds i16, i16* %52, i64 %idxprom + %54 = load i16, i16* %arrayidx85, align 2 + %conv86 = zext i16 %54 to i32 + %and = and i32 %conv86, 4096 + %tobool87 = icmp ne i32 %and, 0 + br i1 %tobool87, label %if.end89, label %sw.default153 + +if.end89: ; preds = %sw.bb82 + %55 = load i8*, i8** %s, align 8 + %incdec.ptr90 = getelementptr inbounds i8, i8* %55, i32 1 + store i8* %incdec.ptr90, i8** %s, align 8 + %56 = load i8, i8* %ch, align 1 + %call91 = call i32 @hextobin(i8 zeroext %56) + %conv92 = trunc i32 %call91 to i8 + store i8 %conv92, i8* %c, align 1 + %57 = load i8*, i8** %s, align 8 + %58 = load i8, i8* %57, align 1 + store i8 %58, i8* %ch, align 1 + %call93 = call i16** @__ctype_b_loc() #25 + %59 = load i16*, i16** %call93, align 8 + %60 = load i8, i8* %ch, align 1 + %conv94 = zext i8 %60 to i32 + %idxprom95 = sext i32 %conv94 to i64 + %arrayidx96 = getelementptr inbounds i16, i16* %59, i64 %idxprom95 + %61 = load i16, i16* %arrayidx96, align 2 + %conv97 = zext i16 %61 to i32 + %and98 = and i32 %conv97, 4096 + %tobool99 = icmp ne i32 %and98, 0 + br i1 %tobool99, label %if.then100, label %if.end156 + +if.then100: ; preds = %if.end89 + %62 = load i8*, i8** %s, align 8 + %incdec.ptr101 = getelementptr inbounds i8, i8* %62, i32 1 + store i8* %incdec.ptr101, i8** %s, align 8 + %63 = load i8, i8* %c, align 1 + %conv102 = zext i8 %63 to i32 + %mul = mul nsw i32 %conv102, 16 + %64 = load i8, i8* %ch, align 1 + %call103 = call i32 @hextobin(i8 zeroext %64) + %add = add nsw i32 %mul, %call103 + %conv104 = trunc i32 %add to i8 + store i8 %conv104, i8* %c, align 1 + br label %if.end156 + +sw.bb106: ; preds = %NodeBlock29 + store i8 0, i8* %c, align 1 + %65 = load i8*, i8** %s, align 8 + %66 = load i8, i8* %65, align 1 + %conv107 = sext i8 %66 to i32 + %cmp108 = icmp sle i32 48, %conv107 + br i1 %cmp108, label %land.lhs.true110, label %if.end156 + +land.lhs.true110: ; preds = %sw.bb106 + %67 = load i8*, i8** %s, align 8 + %68 = load i8, i8* %67, align 1 + %conv111 = sext i8 %68 to i32 + %cmp112 = icmp sle i32 %conv111, 55 + br i1 %cmp112, label %if.end115, label %if.end156 + +if.end115: ; preds = %land.lhs.true110 + %69 = load i8*, i8** %s, align 8 + %incdec.ptr116 = getelementptr inbounds i8, i8* %69, i32 1 + store i8* %incdec.ptr116, i8** %s, align 8 + %70 = load i8, i8* %69, align 1 + store i8 %70, i8* %c, align 1 + br label %sw.bb117 + +sw.bb117: ; preds = %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %if.end115 + %71 = load i8, i8* %c, align 1 + %conv118 = zext i8 %71 to i32 + %sub = sub nsw i32 %conv118, 48 + %conv119 = trunc i32 %sub to i8 + store i8 %conv119, i8* %c, align 1 + %72 = load i8*, i8** %s, align 8 + %73 = load i8, i8* %72, align 1 + %conv120 = sext i8 %73 to i32 + %cmp121 = icmp sle i32 48, %conv120 + br i1 %cmp121, label %land.lhs.true123, label %if.end135 + +land.lhs.true123: ; preds = %sw.bb117 + %74 = load i8*, i8** %s, align 8 + %75 = load i8, i8* %74, align 1 + %conv124 = sext i8 %75 to i32 + %cmp125 = icmp sle i32 %conv124, 55 + br i1 %cmp125, label %if.then127, label %if.end135 + +if.then127: ; preds = %land.lhs.true123 + %76 = load i8, i8* %c, align 1 + %conv128 = zext i8 %76 to i32 + %mul129 = mul nsw i32 %conv128, 8 + %77 = load i8*, i8** %s, align 8 + %incdec.ptr130 = getelementptr inbounds i8, i8* %77, i32 1 + store i8* %incdec.ptr130, i8** %s, align 8 + %78 = load i8, i8* %77, align 1 + %conv131 = sext i8 %78 to i32 + %sub132 = sub nsw i32 %conv131, 48 + %add133 = add nsw i32 %mul129, %sub132 + %conv134 = trunc i32 %add133 to i8 + store i8 %conv134, i8* %c, align 1 + br label %if.end135 + +if.end135: ; preds = %if.then127, %land.lhs.true123, %sw.bb117 + %79 = load i8*, i8** %s, align 8 + %80 = load i8, i8* %79, align 1 + %conv136 = sext i8 %80 to i32 + %cmp137 = icmp sle i32 48, %conv136 + br i1 %cmp137, label %land.lhs.true139, label %if.end156 + +land.lhs.true139: ; preds = %if.end135 + %81 = load i8*, i8** %s, align 8 + %82 = load i8, i8* %81, align 1 + %conv140 = sext i8 %82 to i32 + %cmp141 = icmp sle i32 %conv140, 55 + br i1 %cmp141, label %if.then143, label %if.end156 + +if.then143: ; preds = %land.lhs.true139 + %83 = load i8, i8* %c, align 1 + %conv144 = zext i8 %83 to i32 + %mul145 = mul nsw i32 %conv144, 8 + %84 = load i8*, i8** %s, align 8 + %incdec.ptr146 = getelementptr inbounds i8, i8* %84, i32 1 + store i8* %incdec.ptr146, i8** %s, align 8 + %85 = load i8, i8* %84, align 1 + %conv147 = sext i8 %85 to i32 + %sub148 = sub nsw i32 %conv147, 48 + %add149 = add nsw i32 %mul145, %sub148 + %conv150 = trunc i32 %add149 to i8 + store i8 %conv150, i8* %c, align 1 + br label %if.end156 + +newDefault12: ; preds = %NodeBlock13 + br label %sw.default153 + +sw.default153: ; preds = %newDefault12, %sw.bb82 + %call154 = call i32 @putchar_unlocked(i32 92) + br label %if.end156 + +if.end156: ; preds = %NodeBlock13, %sw.bb73, %sw.bb74, %sw.bb76, %sw.bb77, %sw.bb78, %sw.bb79, %sw.bb80, %sw.bb81, %sw.default153, %if.then100, %if.end89, %land.lhs.true110, %sw.bb106, %if.then143, %land.lhs.true139, %if.end135, %land.lhs.true67, %while.body63 + %86 = load i8, i8* %c, align 1 + %conv157 = zext i8 %86 to i32 + %call158 = call i32 @putchar_unlocked(i32 %conv157) + br label %while.cond60 + +while.end159: ; preds = %while.cond60 + %87 = load i32, i32* %argc.addr, align 4 + %dec160 = add nsw i32 %87, -1 + store i32 %dec160, i32* %argc.addr, align 4 + %88 = load i8**, i8*** %argv.addr, align 8 + %incdec.ptr161 = getelementptr inbounds i8*, i8** %88, i32 1 + store i8** %incdec.ptr161, i8*** %argv.addr, align 8 + %89 = load i32, i32* %argc.addr, align 4 + %cmp162 = icmp sgt i32 %89, 0 + br i1 %cmp162, label %if.then164, label %if.end166 + +if.then164: ; preds = %while.end159 + %call165 = call i32 @putchar_unlocked(i32 32) + br label %if.end166 + +if.end166: ; preds = %if.then164, %while.end159 + br label %while.cond55 + +while.cond168: ; preds = %lor.lhs.false, %if.end180 + %90 = load i32, i32* %argc.addr, align 4 + %cmp169 = icmp sgt i32 %90, 0 + br i1 %cmp169, label %while.body171, label %if.end182 + +while.body171: ; preds = %while.cond168 + %91 = load i8**, i8*** %argv.addr, align 8 + %arrayidx172 = getelementptr inbounds i8*, i8** %91, i64 0 + %92 = load i8*, i8** %arrayidx172, align 8 + %93 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call173 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* %92, %struct._IO_FILE* %93) + %94 = load i32, i32* %argc.addr, align 4 + %dec174 = add nsw i32 %94, -1 + store i32 %dec174, i32* %argc.addr, align 4 + %95 = load i8**, i8*** %argv.addr, align 8 + %incdec.ptr175 = getelementptr inbounds i8*, i8** %95, i32 1 + store i8** %incdec.ptr175, i8*** %argv.addr, align 8 + %96 = load i32, i32* %argc.addr, align 4 + %cmp176 = icmp sgt i32 %96, 0 + br i1 %cmp176, label %if.then178, label %if.end180 + +if.then178: ; preds = %while.body171 + %call179 = call i32 @putchar_unlocked(i32 32) + br label %if.end180 + +if.end180: ; preds = %if.then178, %while.body171 + br label %while.cond168 + +if.end182: ; preds = %while.cond168, %while.cond55 + %97 = load i8, i8* %display_return, align 1 + %tobool183 = trunc i8 %97 to i1 + br i1 %tobool183, label %if.then184, label %if.end186 + +if.then184: ; preds = %if.end182 + %call185 = call i32 @putchar_unlocked(i32 10) + br label %if.end186 + +if.end186: ; preds = %if.then184, %if.end182 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end186, %sw.bb75, %if.then17 + %98 = load i32, i32* %retval, align 4 + ret i32 %98 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_program_name(i8* %argv0) #3 { +entry: + %argv0.addr = alloca i8*, align 8 + %slash = alloca i8*, align 8 + %base = alloca i8*, align 8 + store i8* %argv0, i8** %argv0.addr, align 8 + %0 = load i8*, i8** %argv0.addr, align 8 + %cmp = icmp eq i8* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stderr to %struct._IO_FILE**), align 8 + %call = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.48, i64 0, i64 0), %struct._IO_FILE* %1) + call void @abort() #26 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %argv0.addr, align 8 + %call1 = call i8* @strrchr(i8* %2, i32 47) #23 + store i8* %call1, i8** %slash, align 8 + %3 = load i8*, i8** %slash, align 8 + %cmp2 = icmp ne i8* %3, null + %4 = load i8*, i8** %slash, align 8 + %add.ptr = getelementptr inbounds i8, i8* %4, i64 1 + %5 = load i8*, i8** %argv0.addr, align 8 + %cond = select i1 %cmp2, i8* %add.ptr, i8* %5 + store i8* %cond, i8** %base, align 8 + %6 = load i8*, i8** %base, align 8 + %7 = load i8*, i8** %argv0.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %6 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %cmp3 = icmp sge i64 %sub.ptr.sub, 7 + br i1 %cmp3, label %land.lhs.true, label %if.end13 + +land.lhs.true: ; preds = %if.end + %8 = load i8*, i8** %base, align 8 + %add.ptr4 = getelementptr inbounds i8, i8* %8, i64 -7 + %call5 = call i32 @strncmp(i8* %add.ptr4, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1.49, i64 0, i64 0), i64 7) #23 + %cmp6 = icmp eq i32 %call5, 0 + br i1 %cmp6, label %if.then7, label %if.end13 + +if.then7: ; preds = %land.lhs.true + %9 = load i8*, i8** %base, align 8 + store i8* %9, i8** %argv0.addr, align 8 + %10 = load i8*, i8** %base, align 8 + %call8 = call i32 @strncmp(i8* %10, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2.50, i64 0, i64 0), i64 3) #23 + %cmp9 = icmp eq i32 %call8, 0 + br i1 %cmp9, label %if.then10, label %if.end13 + +if.then10: ; preds = %if.then7 + %11 = load i8*, i8** %base, align 8 + %add.ptr11 = getelementptr inbounds i8, i8* %11, i64 3 + store i8* %add.ptr11, i8** %argv0.addr, align 8 + %12 = load i8*, i8** %argv0.addr, align 8 + store i8* %12, i8** @program_invocation_short_name, align 8 + br label %if.end13 + +if.end13: ; preds = %if.then7, %if.then10, %land.lhs.true, %if.end + %13 = load i8*, i8** %argv0.addr, align 8 + store i8* %13, i8** @program_name, align 8 + %14 = load i8*, i8** %argv0.addr, align 8 + store i8* %14, i8** @program_invocation_name, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @close_stdout() #3 { +entry: + %write_error = alloca i8*, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call = call i32 @close_stream(%struct._IO_FILE* %0) + %cmp = icmp ne i32 %call, 0 + br i1 %cmp, label %land.lhs.true, label %if.end9 + +land.lhs.true: ; preds = %entry + %1 = load i8, i8* @ignore_EPIPE, align 1 + %tobool = trunc i8 %1 to i1 + br i1 %tobool, label %land.lhs.true1, label %if.then + +land.lhs.true1: ; preds = %land.lhs.true + %call2 = call i32* @__errno_location() #25 + %2 = load i32, i32* %call2, align 4 + %cmp3 = icmp eq i32 %2, 32 + br i1 %cmp3, label %if.end9, label %if.then + +if.then: ; preds = %land.lhs.true1, %land.lhs.true + store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.39, i64 0, i64 0), i8** %write_error, align 8 + %3 = load i8*, i8** @file_name, align 8 + %tobool4 = icmp ne i8* %3, null + %call6 = call i32* @__errno_location() #25 + %4 = load i32, i32* %call6, align 4 + br i1 %tobool4, label %if.then5, label %if.else + +if.then5: ; preds = %if.then + %5 = load i8*, i8** @file_name, align 8 + %call7 = call i8* @quotearg_colon(i8* %5) + %6 = load i8*, i8** %write_error, align 8 + call void (i32, i32, i8*, ...) @error(i32 0, i32 %4, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.40, i64 0, i64 0), i8* %call7, i8* %6) + br label %if.end + +if.else: ; preds = %if.then + %7 = load i8*, i8** %write_error, align 8 + call void (i32, i32, i8*, ...) @error(i32 0, i32 %4, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2.41, i64 0, i64 0), i8* %7) + br label %if.end + +if.end: ; preds = %if.else, %if.then5 + %8 = load volatile i32, i32* @exit_failure, align 4 + call void @_exit(i32 %8) #24 + unreachable + +if.end9: ; preds = %land.lhs.true1, %entry + %9 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stderr to %struct._IO_FILE**), align 8 + %call10 = call i32 @close_stream(%struct._IO_FILE* %9) + %cmp11 = icmp ne i32 %call10, 0 + br i1 %cmp11, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.end9 + %10 = load volatile i32, i32* @exit_failure, align 4 + call void @_exit(i32 %10) #24 + unreachable + +if.end13: ; preds = %if.end9 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, ...) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors = alloca [1 x %struct.__va_list_tag.0], align 16 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %authors, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %1 = load i8*, i8** %command_name.addr, align 8 + %2 = load i8*, i8** %package.addr, align 8 + %3 = load i8*, i8** %version.addr, align 8 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %authors, i64 0, i64 0 + call void @version_etc_va(%struct._IO_FILE* %0, i8* %1, i8* %2, i8* %3, %struct.__va_list_tag.0* %arraydecay2) + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %authors, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @hextobin(i8 zeroext %c) #3 { +entry: + %retval = alloca i32, align 4 + %c.addr = alloca i8, align 1 + store i8 %c, i8* %c.addr, align 1 + %0 = load i8, i8* %c.addr, align 1 + %conv = zext i8 %0 to i32 + br label %NodeBlock21 + +NodeBlock21: ; preds = %entry + %case.cmp22 = icmp eq i32 %conv, 97 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %conv, 65 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %conv, 98 + br i1 %case.cmp18, label %sw.bb2, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %conv, 66 + br i1 %case.cmp16, label %sw.bb2, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %conv, 99 + br i1 %case.cmp14, label %sw.bb3, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %conv, 67 + br i1 %case.cmp12, label %sw.bb3, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %conv, 100 + br i1 %case.cmp10, label %sw.bb4, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %conv, 68 + br i1 %case.cmp8, label %sw.bb4, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %conv, 101 + br i1 %case.cmp6, label %sw.bb5, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %conv, 69 + br i1 %case.cmp4, label %sw.bb5, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %conv, 102 + br i1 %case.cmp2, label %sw.bb6, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %conv, 70 + br i1 %case.cmp, label %sw.bb6, label %newDefault + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + %1 = load i8, i8* %c.addr, align 1 + %conv1 = zext i8 %1 to i32 + %sub = sub nsw i32 %conv1, 48 + store i32 %sub, i32* %retval, align 4 + br label %return + +sw.bb: ; preds = %NodeBlock21, %NodeBlock19 + store i32 10, i32* %retval, align 4 + br label %return + +sw.bb2: ; preds = %NodeBlock17, %NodeBlock15 + store i32 11, i32* %retval, align 4 + br label %return + +sw.bb3: ; preds = %NodeBlock13, %NodeBlock11 + store i32 12, i32* %retval, align 4 + br label %return + +sw.bb4: ; preds = %NodeBlock9, %NodeBlock7 + store i32 13, i32* %retval, align 4 + br label %return + +sw.bb5: ; preds = %NodeBlock5, %NodeBlock3 + store i32 14, i32* %retval, align 4 + br label %return + +sw.bb6: ; preds = %NodeBlock1, %NodeBlock + store i32 15, i32* %retval, align 4 + br label %return + +return: ; preds = %sw.bb6, %sw.bb5, %sw.bb4, %sw.bb3, %sw.bb2, %sw.bb, %sw.default + %2 = load i32, i32* %retval, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc_va(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, %struct.__va_list_tag.0* %authors) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors.addr = alloca %struct.__va_list_tag.0*, align 8 + %n_authors = alloca i64, align 8 + %authtab = alloca [10 x i8*], align 16 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + store %struct.__va_list_tag.0* %authors, %struct.__va_list_tag.0** %authors.addr, align 8 + store i64 0, i64* %n_authors, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i64, i64* %n_authors, align 8 + %cmp = icmp ult i64 %0, 10 + br i1 %cmp, label %land.rhs, label %for.end + +land.rhs: ; preds = %for.cond + %1 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %authors.addr, align 8 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %1, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 8 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %land.rhs + %2 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %1, i32 0, i32 3 + %reg_save_area = load i8*, i8** %2, align 8 + %3 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %4 = bitcast i8* %3 to i8** + %5 = add i32 %gp_offset, 8 + store i32 %5, i32* %gp_offset_p, align 8 + br label %vaarg.end + +vaarg.in_mem: ; preds = %land.rhs + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %1, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %6 = bitcast i8* %overflow_arg_area to i8** + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i8** [ %4, %vaarg.in_reg ], [ %6, %vaarg.in_mem ] + %7 = load i8*, i8** %vaarg.addr, align 8 + %8 = load i64, i64* %n_authors, align 8 + %arrayidx = getelementptr inbounds [10 x i8*], [10 x i8*]* %authtab, i64 0, i64 %8 + store i8* %7, i8** %arrayidx, align 8 + %cmp1 = icmp ne i8* %7, null + br i1 %cmp1, label %for.inc, label %for.end + +for.inc: ; preds = %vaarg.end + %9 = load i64, i64* %n_authors, align 8 + %inc = add i64 %9, 1 + store i64 %inc, i64* %n_authors, align 8 + br label %for.cond + +for.end: ; preds = %for.cond, %vaarg.end + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %11 = load i8*, i8** %command_name.addr, align 8 + %12 = load i8*, i8** %package.addr, align 8 + %13 = load i8*, i8** %version.addr, align 8 + %arraydecay = getelementptr inbounds [10 x i8*], [10 x i8*]* %authtab, i64 0, i64 0 + %14 = load i64, i64* %n_authors, align 8 + call void @version_etc_arn(%struct._IO_FILE* %10, i8* %11, i8* %12, i8* %13, i8** %arraydecay, i64 %14) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc_arn(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, i8** %authors, i64 %n_authors) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors.addr = alloca i8**, align 8 + %n_authors.addr = alloca i64, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + store i8** %authors, i8*** %authors.addr, align 8 + store i64 %n_authors, i64* %n_authors.addr, align 8 + %0 = load i8*, i8** %command_name.addr, align 8 + %tobool = icmp ne i8* %0, null + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %entry + %2 = load i8*, i8** %command_name.addr, align 8 + %3 = load i8*, i8** %package.addr, align 8 + %4 = load i8*, i8** %version.addr, align 8 + %call = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %1, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.72, i64 0, i64 0), i8* %2, i8* %3, i8* %4) + br label %if.end + +if.else: ; preds = %entry + %5 = load i8*, i8** %package.addr, align 8 + %6 = load i8*, i8** %version.addr, align 8 + %call1 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %1, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.73, i64 0, i64 0), i8* %5, i8* %6) + br label %if.end + +if.end: ; preds = %if.else, %if.then + %7 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call2 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %7, i8* getelementptr inbounds ([47 x i8], [47 x i8]* @version_etc_copyright, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2.74, i64 0, i64 0), i32 2020) + %8 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call3 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.75, i64 0, i64 0), %struct._IO_FILE* %8) + %9 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call4 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %9, i8* getelementptr inbounds ([171 x i8], [171 x i8]* @.str.4.76, i64 0, i64 0), i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.5.77, i64 0, i64 0)) + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call5 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.75, i64 0, i64 0), %struct._IO_FILE* %10) + %11 = load i64, i64* %n_authors.addr, align 8 + br label %NodeBlock17 + +NodeBlock17: ; preds = %if.end + %case.cmp18 = icmp eq i64 %11, 0 + br i1 %case.cmp18, label %sw.epilog, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i64 %11, 1 + br i1 %case.cmp16, label %sw.bb6, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i64 %11, 2 + br i1 %case.cmp14, label %sw.bb8, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i64 %11, 3 + br i1 %case.cmp12, label %sw.bb12, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i64 %11, 4 + br i1 %case.cmp10, label %sw.bb17, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i64 %11, 5 + br i1 %case.cmp8, label %sw.bb23, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i64 %11, 6 + br i1 %case.cmp6, label %sw.bb30, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i64 %11, 7 + br i1 %case.cmp4, label %sw.bb38, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i64 %11, 8 + br i1 %case.cmp2, label %sw.bb47, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i64 %11, 9 + br i1 %case.cmp, label %sw.bb57, label %newDefault + +sw.bb6: ; preds = %NodeBlock15 + %12 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %13 = load i8**, i8*** %authors.addr, align 8 + %arrayidx = getelementptr inbounds i8*, i8** %13, i64 0 + %14 = load i8*, i8** %arrayidx, align 8 + %call7 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %12, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.6.78, i64 0, i64 0), i8* %14) + br label %sw.epilog + +sw.bb8: ; preds = %NodeBlock13 + %15 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %16 = load i8**, i8*** %authors.addr, align 8 + %arrayidx9 = getelementptr inbounds i8*, i8** %16, i64 0 + %17 = load i8*, i8** %arrayidx9, align 8 + %18 = load i8**, i8*** %authors.addr, align 8 + %arrayidx10 = getelementptr inbounds i8*, i8** %18, i64 1 + %19 = load i8*, i8** %arrayidx10, align 8 + %call11 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %15, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.7.79, i64 0, i64 0), i8* %17, i8* %19) + br label %sw.epilog + +sw.bb12: ; preds = %NodeBlock11 + %20 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %21 = load i8**, i8*** %authors.addr, align 8 + %arrayidx13 = getelementptr inbounds i8*, i8** %21, i64 0 + %22 = load i8*, i8** %arrayidx13, align 8 + %23 = load i8**, i8*** %authors.addr, align 8 + %arrayidx14 = getelementptr inbounds i8*, i8** %23, i64 1 + %24 = load i8*, i8** %arrayidx14, align 8 + %25 = load i8**, i8*** %authors.addr, align 8 + %arrayidx15 = getelementptr inbounds i8*, i8** %25, i64 2 + %26 = load i8*, i8** %arrayidx15, align 8 + %call16 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %20, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.8.80, i64 0, i64 0), i8* %22, i8* %24, i8* %26) + br label %sw.epilog + +sw.bb17: ; preds = %NodeBlock9 + %27 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %28 = load i8**, i8*** %authors.addr, align 8 + %arrayidx18 = getelementptr inbounds i8*, i8** %28, i64 0 + %29 = load i8*, i8** %arrayidx18, align 8 + %30 = load i8**, i8*** %authors.addr, align 8 + %arrayidx19 = getelementptr inbounds i8*, i8** %30, i64 1 + %31 = load i8*, i8** %arrayidx19, align 8 + %32 = load i8**, i8*** %authors.addr, align 8 + %arrayidx20 = getelementptr inbounds i8*, i8** %32, i64 2 + %33 = load i8*, i8** %arrayidx20, align 8 + %34 = load i8**, i8*** %authors.addr, align 8 + %arrayidx21 = getelementptr inbounds i8*, i8** %34, i64 3 + %35 = load i8*, i8** %arrayidx21, align 8 + %call22 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %27, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.9.81, i64 0, i64 0), i8* %29, i8* %31, i8* %33, i8* %35) + br label %sw.epilog + +sw.bb23: ; preds = %NodeBlock7 + %36 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %37 = load i8**, i8*** %authors.addr, align 8 + %arrayidx24 = getelementptr inbounds i8*, i8** %37, i64 0 + %38 = load i8*, i8** %arrayidx24, align 8 + %39 = load i8**, i8*** %authors.addr, align 8 + %arrayidx25 = getelementptr inbounds i8*, i8** %39, i64 1 + %40 = load i8*, i8** %arrayidx25, align 8 + %41 = load i8**, i8*** %authors.addr, align 8 + %arrayidx26 = getelementptr inbounds i8*, i8** %41, i64 2 + %42 = load i8*, i8** %arrayidx26, align 8 + %43 = load i8**, i8*** %authors.addr, align 8 + %arrayidx27 = getelementptr inbounds i8*, i8** %43, i64 3 + %44 = load i8*, i8** %arrayidx27, align 8 + %45 = load i8**, i8*** %authors.addr, align 8 + %arrayidx28 = getelementptr inbounds i8*, i8** %45, i64 4 + %46 = load i8*, i8** %arrayidx28, align 8 + %call29 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %36, i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.10.82, i64 0, i64 0), i8* %38, i8* %40, i8* %42, i8* %44, i8* %46) + br label %sw.epilog + +sw.bb30: ; preds = %NodeBlock5 + %47 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %48 = load i8**, i8*** %authors.addr, align 8 + %arrayidx31 = getelementptr inbounds i8*, i8** %48, i64 0 + %49 = load i8*, i8** %arrayidx31, align 8 + %50 = load i8**, i8*** %authors.addr, align 8 + %arrayidx32 = getelementptr inbounds i8*, i8** %50, i64 1 + %51 = load i8*, i8** %arrayidx32, align 8 + %52 = load i8**, i8*** %authors.addr, align 8 + %arrayidx33 = getelementptr inbounds i8*, i8** %52, i64 2 + %53 = load i8*, i8** %arrayidx33, align 8 + %54 = load i8**, i8*** %authors.addr, align 8 + %arrayidx34 = getelementptr inbounds i8*, i8** %54, i64 3 + %55 = load i8*, i8** %arrayidx34, align 8 + %56 = load i8**, i8*** %authors.addr, align 8 + %arrayidx35 = getelementptr inbounds i8*, i8** %56, i64 4 + %57 = load i8*, i8** %arrayidx35, align 8 + %58 = load i8**, i8*** %authors.addr, align 8 + %arrayidx36 = getelementptr inbounds i8*, i8** %58, i64 5 + %59 = load i8*, i8** %arrayidx36, align 8 + %call37 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %47, i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.11.83, i64 0, i64 0), i8* %49, i8* %51, i8* %53, i8* %55, i8* %57, i8* %59) + br label %sw.epilog + +sw.bb38: ; preds = %NodeBlock3 + %60 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %61 = load i8**, i8*** %authors.addr, align 8 + %arrayidx39 = getelementptr inbounds i8*, i8** %61, i64 0 + %62 = load i8*, i8** %arrayidx39, align 8 + %63 = load i8**, i8*** %authors.addr, align 8 + %arrayidx40 = getelementptr inbounds i8*, i8** %63, i64 1 + %64 = load i8*, i8** %arrayidx40, align 8 + %65 = load i8**, i8*** %authors.addr, align 8 + %arrayidx41 = getelementptr inbounds i8*, i8** %65, i64 2 + %66 = load i8*, i8** %arrayidx41, align 8 + %67 = load i8**, i8*** %authors.addr, align 8 + %arrayidx42 = getelementptr inbounds i8*, i8** %67, i64 3 + %68 = load i8*, i8** %arrayidx42, align 8 + %69 = load i8**, i8*** %authors.addr, align 8 + %arrayidx43 = getelementptr inbounds i8*, i8** %69, i64 4 + %70 = load i8*, i8** %arrayidx43, align 8 + %71 = load i8**, i8*** %authors.addr, align 8 + %arrayidx44 = getelementptr inbounds i8*, i8** %71, i64 5 + %72 = load i8*, i8** %arrayidx44, align 8 + %73 = load i8**, i8*** %authors.addr, align 8 + %arrayidx45 = getelementptr inbounds i8*, i8** %73, i64 6 + %74 = load i8*, i8** %arrayidx45, align 8 + %call46 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %60, i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.12.84, i64 0, i64 0), i8* %62, i8* %64, i8* %66, i8* %68, i8* %70, i8* %72, i8* %74) + br label %sw.epilog + +sw.bb47: ; preds = %NodeBlock1 + %75 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %76 = load i8**, i8*** %authors.addr, align 8 + %arrayidx48 = getelementptr inbounds i8*, i8** %76, i64 0 + %77 = load i8*, i8** %arrayidx48, align 8 + %78 = load i8**, i8*** %authors.addr, align 8 + %arrayidx49 = getelementptr inbounds i8*, i8** %78, i64 1 + %79 = load i8*, i8** %arrayidx49, align 8 + %80 = load i8**, i8*** %authors.addr, align 8 + %arrayidx50 = getelementptr inbounds i8*, i8** %80, i64 2 + %81 = load i8*, i8** %arrayidx50, align 8 + %82 = load i8**, i8*** %authors.addr, align 8 + %arrayidx51 = getelementptr inbounds i8*, i8** %82, i64 3 + %83 = load i8*, i8** %arrayidx51, align 8 + %84 = load i8**, i8*** %authors.addr, align 8 + %arrayidx52 = getelementptr inbounds i8*, i8** %84, i64 4 + %85 = load i8*, i8** %arrayidx52, align 8 + %86 = load i8**, i8*** %authors.addr, align 8 + %arrayidx53 = getelementptr inbounds i8*, i8** %86, i64 5 + %87 = load i8*, i8** %arrayidx53, align 8 + %88 = load i8**, i8*** %authors.addr, align 8 + %arrayidx54 = getelementptr inbounds i8*, i8** %88, i64 6 + %89 = load i8*, i8** %arrayidx54, align 8 + %90 = load i8**, i8*** %authors.addr, align 8 + %arrayidx55 = getelementptr inbounds i8*, i8** %90, i64 7 + %91 = load i8*, i8** %arrayidx55, align 8 + %call56 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %75, i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.13.85, i64 0, i64 0), i8* %77, i8* %79, i8* %81, i8* %83, i8* %85, i8* %87, i8* %89, i8* %91) + br label %sw.epilog + +sw.bb57: ; preds = %NodeBlock + %92 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %93 = load i8**, i8*** %authors.addr, align 8 + %arrayidx58 = getelementptr inbounds i8*, i8** %93, i64 0 + %94 = load i8*, i8** %arrayidx58, align 8 + %95 = load i8**, i8*** %authors.addr, align 8 + %arrayidx59 = getelementptr inbounds i8*, i8** %95, i64 1 + %96 = load i8*, i8** %arrayidx59, align 8 + %97 = load i8**, i8*** %authors.addr, align 8 + %arrayidx60 = getelementptr inbounds i8*, i8** %97, i64 2 + %98 = load i8*, i8** %arrayidx60, align 8 + %99 = load i8**, i8*** %authors.addr, align 8 + %arrayidx61 = getelementptr inbounds i8*, i8** %99, i64 3 + %100 = load i8*, i8** %arrayidx61, align 8 + %101 = load i8**, i8*** %authors.addr, align 8 + %arrayidx62 = getelementptr inbounds i8*, i8** %101, i64 4 + %102 = load i8*, i8** %arrayidx62, align 8 + %103 = load i8**, i8*** %authors.addr, align 8 + %arrayidx63 = getelementptr inbounds i8*, i8** %103, i64 5 + %104 = load i8*, i8** %arrayidx63, align 8 + %105 = load i8**, i8*** %authors.addr, align 8 + %arrayidx64 = getelementptr inbounds i8*, i8** %105, i64 6 + %106 = load i8*, i8** %arrayidx64, align 8 + %107 = load i8**, i8*** %authors.addr, align 8 + %arrayidx65 = getelementptr inbounds i8*, i8** %107, i64 7 + %108 = load i8*, i8** %arrayidx65, align 8 + %109 = load i8**, i8*** %authors.addr, align 8 + %arrayidx66 = getelementptr inbounds i8*, i8** %109, i64 8 + %110 = load i8*, i8** %arrayidx66, align 8 + %call67 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %92, i8* getelementptr inbounds ([52 x i8], [52 x i8]* @.str.14.86, i64 0, i64 0), i8* %94, i8* %96, i8* %98, i8* %100, i8* %102, i8* %104, i8* %106, i8* %108, i8* %110) + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + %111 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %112 = load i8**, i8*** %authors.addr, align 8 + %arrayidx68 = getelementptr inbounds i8*, i8** %112, i64 0 + %113 = load i8*, i8** %arrayidx68, align 8 + %114 = load i8**, i8*** %authors.addr, align 8 + %arrayidx69 = getelementptr inbounds i8*, i8** %114, i64 1 + %115 = load i8*, i8** %arrayidx69, align 8 + %116 = load i8**, i8*** %authors.addr, align 8 + %arrayidx70 = getelementptr inbounds i8*, i8** %116, i64 2 + %117 = load i8*, i8** %arrayidx70, align 8 + %118 = load i8**, i8*** %authors.addr, align 8 + %arrayidx71 = getelementptr inbounds i8*, i8** %118, i64 3 + %119 = load i8*, i8** %arrayidx71, align 8 + %120 = load i8**, i8*** %authors.addr, align 8 + %arrayidx72 = getelementptr inbounds i8*, i8** %120, i64 4 + %121 = load i8*, i8** %arrayidx72, align 8 + %122 = load i8**, i8*** %authors.addr, align 8 + %arrayidx73 = getelementptr inbounds i8*, i8** %122, i64 5 + %123 = load i8*, i8** %arrayidx73, align 8 + %124 = load i8**, i8*** %authors.addr, align 8 + %arrayidx74 = getelementptr inbounds i8*, i8** %124, i64 6 + %125 = load i8*, i8** %arrayidx74, align 8 + %126 = load i8**, i8*** %authors.addr, align 8 + %arrayidx75 = getelementptr inbounds i8*, i8** %126, i64 7 + %127 = load i8*, i8** %arrayidx75, align 8 + %128 = load i8**, i8*** %authors.addr, align 8 + %arrayidx76 = getelementptr inbounds i8*, i8** %128, i64 8 + %129 = load i8*, i8** %arrayidx76, align 8 + %call77 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %111, i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.15.87, i64 0, i64 0), i8* %113, i8* %115, i8* %117, i8* %119, i8* %121, i8* %123, i8* %125, i8* %127, i8* %129) + br label %sw.epilog + +sw.epilog: ; preds = %NodeBlock17, %sw.default, %sw.bb57, %sw.bb47, %sw.bb38, %sw.bb30, %sw.bb23, %sw.bb17, %sw.bb12, %sw.bb8, %sw.bb6 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @close_stream(%struct._IO_FILE* %stream) #3 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct._IO_FILE*, align 8 + %some_pending = alloca i8, align 1 + %prev_fail = alloca i8, align 1 + %fclose_fail = alloca i8, align 1 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.513*)* @__fpending to i64 (%struct._IO_FILE*)*)(%struct._IO_FILE* %0) #11 + %cmp = icmp ne i64 %call, 0 + %frombool = zext i1 %cmp to i8 + store i8 %frombool, i8* %some_pending, align 1 + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call1 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.592*)* @ferror_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %1) #11 + %cmp2 = icmp ne i32 %call1, 0 + %frombool3 = zext i1 %cmp2 to i8 + store i8 %frombool3, i8* %prev_fail, align 1 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call4 = call i32 @rpl_fclose(%struct._IO_FILE* %2) + %cmp5 = icmp ne i32 %call4, 0 + %frombool6 = zext i1 %cmp5 to i8 + store i8 %frombool6, i8* %fclose_fail, align 1 + %3 = load i8, i8* %prev_fail, align 1 + %tobool = trunc i8 %3 to i1 + br i1 %tobool, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %4 = load i8, i8* %fclose_fail, align 1 + %tobool7 = trunc i8 %4 to i1 + br i1 %tobool7, label %land.lhs.true, label %if.end15 + +land.lhs.true: ; preds = %lor.lhs.false + %5 = load i8, i8* %some_pending, align 1 + %tobool8 = trunc i8 %5 to i1 + br i1 %tobool8, label %if.then, label %lor.lhs.false9 + +lor.lhs.false9: ; preds = %land.lhs.true + %call10 = call i32* @__errno_location() #25 + %6 = load i32, i32* %call10, align 4 + %cmp11 = icmp ne i32 %6, 9 + br i1 %cmp11, label %if.then, label %if.end15 + +if.then: ; preds = %lor.lhs.false9, %land.lhs.true, %entry + %7 = load i8, i8* %fclose_fail, align 1 + %tobool12 = trunc i8 %7 to i1 + br i1 %tobool12, label %if.end, label %if.then13 + +if.then13: ; preds = %if.then + %call14 = call i32* @__errno_location() #25 + store i32 0, i32* %call14, align 4 + br label %if.end + +if.end: ; preds = %if.then13, %if.then + store i32 -1, i32* %retval, align 4 + br label %return + +if.end15: ; preds = %lor.lhs.false9, %lor.lhs.false + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end15, %if.end + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_colon(i8* %arg) #3 { +entry: + %arg.addr = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_char(i8* %0, i8 signext 58) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_char(i8* %arg, i8 signext %ch) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %ch.addr = alloca i8, align 1 + store i8* %arg, i8** %arg.addr, align 8 + store i8 %ch, i8* %ch.addr, align 1 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i8, i8* %ch.addr, align 1 + %call = call i8* @quotearg_char_mem(i8* %0, i64 -1, i8 signext %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_char_mem(i8* %arg, i64 %argsize, i8 signext %ch) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %ch.addr = alloca i8, align 1 + %options = alloca %struct.quoting_options, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store i8 %ch, i8* %ch.addr, align 1 + %0 = bitcast %struct.quoting_options* %options to i8* + %1 = call i8* @memcpy(i8* %0, i8* bitcast (%struct.quoting_options* @default_quoting_options to i8*), i64 56) + %2 = load i8, i8* %ch.addr, align 1 + %call = call i32 @set_char_quoting(%struct.quoting_options* %options, i8 signext %2, i32 1) + %3 = load i8*, i8** %arg.addr, align 8 + %4 = load i64, i64* %argsize.addr, align 8 + %call1 = call i8* @quotearg_n_options(i32 0, i8* %3, i64 %4, %struct.quoting_options* %options) + ret i8* %call1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @set_char_quoting(%struct.quoting_options* %o, i8 signext %c, i32 %i) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %c.addr = alloca i8, align 1 + %i.addr = alloca i32, align 4 + %uc = alloca i8, align 1 + %p = alloca i32*, align 8 + %shift = alloca i32, align 4 + %r = alloca i32, align 4 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i8 %c, i8* %c.addr, align 1 + store i32 %i, i32* %i.addr, align 4 + %0 = load i8, i8* %c.addr, align 1 + store i8 %0, i8* %uc, align 1 + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %1, null + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %2, %struct.quoting_options* @default_quoting_options + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %cond, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %3 = load i8, i8* %uc, align 1 + %conv = zext i8 %3 to i64 + %div = udiv i64 %conv, 32 + %add.ptr = getelementptr inbounds i32, i32* %arraydecay, i64 %div + store i32* %add.ptr, i32** %p, align 8 + %4 = load i8, i8* %uc, align 1 + %conv1 = zext i8 %4 to i64 + %rem = urem i64 %conv1, 32 + %conv2 = trunc i64 %rem to i32 + store i32 %conv2, i32* %shift, align 4 + %5 = load i32*, i32** %p, align 8 + %6 = load i32, i32* %5, align 4 + %7 = load i32, i32* %shift, align 4 + %shr = lshr i32 %6, %7 + %and = and i32 %shr, 1 + store i32 %and, i32* %r, align 4 + %8 = load i32, i32* %i.addr, align 4 + %and3 = and i32 %8, 1 + %9 = load i32, i32* %r, align 4 + %xor = xor i32 %and3, %9 + %10 = load i32, i32* %shift, align 4 + %shl = shl i32 %xor, %10 + %11 = load i32*, i32** %p, align 8 + %12 = load i32, i32* %11, align 4 + %xor4 = xor i32 %12, %shl + store i32 %xor4, i32* %11, align 4 + %13 = load i32, i32* %r, align 4 + ret i32 %13 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @quotearg_n_options(i32 %n, i8* %arg, i64 %argsize, %struct.quoting_options* %options) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %options.addr = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %sv = alloca %struct.slotvec*, align 8 + %preallocated = alloca i8, align 1 + %nmax = alloca i32, align 4 + %size = alloca i64, align 8 + %val = alloca i8*, align 8 + %flags = alloca i32, align 4 + %qsize = alloca i64, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store %struct.quoting_options* %options, %struct.quoting_options** %options.addr, align 8 + %call = call i32* @__errno_location() #25 + %0 = load i32, i32* %call, align 4 + store i32 %0, i32* %e, align 4 + %1 = load %struct.slotvec*, %struct.slotvec** @slotvec, align 8 + store %struct.slotvec* %1, %struct.slotvec** %sv, align 8 + %2 = load i32, i32* %n.addr, align 4 + %cmp = icmp slt i32 %2, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @abort() #26 + unreachable + +if.end: ; preds = %entry + %3 = load i32, i32* @nslots, align 4 + %4 = load i32, i32* %n.addr, align 4 + %cmp1 = icmp sle i32 %3, %4 + br i1 %cmp1, label %if.then2, label %if.end15 + +if.then2: ; preds = %if.end + %5 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %cmp3 = icmp eq %struct.slotvec* %5, @slotvec0 + %frombool = zext i1 %cmp3 to i8 + store i8 %frombool, i8* %preallocated, align 1 + store i32 2147483646, i32* %nmax, align 4 + %6 = load i32, i32* %nmax, align 4 + %7 = load i32, i32* %n.addr, align 4 + %cmp4 = icmp slt i32 %6, %7 + br i1 %cmp4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.then2 + call void @xalloc_die() #24 + unreachable + +if.end6: ; preds = %if.then2 + %8 = load i8, i8* %preallocated, align 1 + %tobool = trunc i8 %8 to i1 + %9 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %cond = select i1 %tobool, %struct.slotvec* null, %struct.slotvec* %9 + %10 = bitcast %struct.slotvec* %cond to i8* + %11 = load i32, i32* %n.addr, align 4 + %add = add nsw i32 %11, 1 + %conv = sext i32 %add to i64 + %mul = mul i64 %conv, 16 + %call7 = call i8* @xrealloc(i8* %10, i64 %mul) + %12 = bitcast i8* %call7 to %struct.slotvec* + store %struct.slotvec* %12, %struct.slotvec** %sv, align 8 + store %struct.slotvec* %12, %struct.slotvec** @slotvec, align 8 + %13 = load i8, i8* %preallocated, align 1 + %tobool8 = trunc i8 %13 to i1 + br i1 %tobool8, label %if.then9, label %if.end10 + +if.then9: ; preds = %if.end6 + %14 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %15 = bitcast %struct.slotvec* %14 to i8* + %16 = call i8* @memcpy(i8* %15, i8* bitcast (%struct.slotvec* @slotvec0 to i8*), i64 16) + br label %if.end10 + +if.end10: ; preds = %if.then9, %if.end6 + %17 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %18 = load i32, i32* @nslots, align 4 + %idx.ext = sext i32 %18 to i64 + %add.ptr = getelementptr inbounds %struct.slotvec, %struct.slotvec* %17, i64 %idx.ext + %19 = bitcast %struct.slotvec* %add.ptr to i8* + %20 = load i32, i32* %n.addr, align 4 + %add11 = add nsw i32 %20, 1 + %21 = load i32, i32* @nslots, align 4 + %sub = sub nsw i32 %add11, %21 + %conv12 = sext i32 %sub to i64 + %mul13 = mul i64 %conv12, 16 + %22 = call i8* @memset(i8* %19, i32 0, i64 %mul13) + %23 = load i32, i32* %n.addr, align 4 + %add14 = add nsw i32 %23, 1 + store i32 %add14, i32* @nslots, align 4 + br label %if.end15 + +if.end15: ; preds = %if.end10, %if.end + %24 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %25 = load i32, i32* %n.addr, align 4 + %idxprom = sext i32 %25 to i64 + %arrayidx = getelementptr inbounds %struct.slotvec, %struct.slotvec* %24, i64 %idxprom + %size16 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx, i32 0, i32 0 + %26 = load i64, i64* %size16, align 8 + store i64 %26, i64* %size, align 8 + %27 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %28 = load i32, i32* %n.addr, align 4 + %idxprom17 = sext i32 %28 to i64 + %arrayidx18 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %27, i64 %idxprom17 + %val19 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx18, i32 0, i32 1 + %29 = load i8*, i8** %val19, align 8 + store i8* %29, i8** %val, align 8 + %30 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %flags20 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %30, i32 0, i32 1 + %31 = load i32, i32* %flags20, align 4 + %or = or i32 %31, 1 + store i32 %or, i32* %flags, align 4 + %32 = load i8*, i8** %val, align 8 + %33 = load i64, i64* %size, align 8 + %34 = load i8*, i8** %arg.addr, align 8 + %35 = load i64, i64* %argsize.addr, align 8 + %36 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %36, i32 0, i32 0 + %37 = load i32, i32* %style, align 8 + %38 = load i32, i32* %flags, align 4 + %39 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %39, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %40 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %left_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %40, i32 0, i32 3 + %41 = load i8*, i8** %left_quote, align 8 + %42 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %right_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %42, i32 0, i32 4 + %43 = load i8*, i8** %right_quote, align 8 + %call21 = call i64 @quotearg_buffer_restyled(i8* %32, i64 %33, i8* %34, i64 %35, i32 %37, i32 %38, i32* %arraydecay, i8* %41, i8* %43) + store i64 %call21, i64* %qsize, align 8 + %44 = load i64, i64* %size, align 8 + %45 = load i64, i64* %qsize, align 8 + %cmp22 = icmp ule i64 %44, %45 + br i1 %cmp22, label %if.then24, label %if.end43 + +if.then24: ; preds = %if.end15 + %46 = load i64, i64* %qsize, align 8 + %add25 = add i64 %46, 1 + store i64 %add25, i64* %size, align 8 + %47 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %48 = load i32, i32* %n.addr, align 4 + %idxprom26 = sext i32 %48 to i64 + %arrayidx27 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %47, i64 %idxprom26 + %size28 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx27, i32 0, i32 0 + store i64 %add25, i64* %size28, align 8 + %49 = load i8*, i8** %val, align 8 + %cmp29 = icmp ne i8* %49, getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i64 0, i64 0) + br i1 %cmp29, label %if.then31, label %if.end32 + +if.then31: ; preds = %if.then24 + %50 = load i8*, i8** %val, align 8 + call void @free(i8* %50) #11 + br label %if.end32 + +if.end32: ; preds = %if.then31, %if.then24 + %51 = load i64, i64* %size, align 8 + %call33 = call noalias i8* @xcharalloc(i64 %51) + store i8* %call33, i8** %val, align 8 + %52 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %53 = load i32, i32* %n.addr, align 4 + %idxprom34 = sext i32 %53 to i64 + %arrayidx35 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %52, i64 %idxprom34 + %val36 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx35, i32 0, i32 1 + store i8* %call33, i8** %val36, align 8 + %54 = load i8*, i8** %val, align 8 + %55 = load i64, i64* %size, align 8 + %56 = load i8*, i8** %arg.addr, align 8 + %57 = load i64, i64* %argsize.addr, align 8 + %58 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %style37 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %58, i32 0, i32 0 + %59 = load i32, i32* %style37, align 8 + %60 = load i32, i32* %flags, align 4 + %61 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %quote_these_too38 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %61, i32 0, i32 2 + %arraydecay39 = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too38, i64 0, i64 0 + %62 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %left_quote40 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %62, i32 0, i32 3 + %63 = load i8*, i8** %left_quote40, align 8 + %64 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %right_quote41 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %64, i32 0, i32 4 + %65 = load i8*, i8** %right_quote41, align 8 + %call42 = call i64 @quotearg_buffer_restyled(i8* %54, i64 %55, i8* %56, i64 %57, i32 %59, i32 %60, i32* %arraydecay39, i8* %63, i8* %65) + br label %if.end43 + +if.end43: ; preds = %if.end32, %if.end15 + %66 = load i32, i32* %e, align 4 + %call44 = call i32* @__errno_location() #25 + store i32 %66, i32* %call44, align 4 + %67 = load i8*, i8** %val, align 8 + ret i8* %67 +} + +; Function Attrs: noinline noreturn nounwind uwtable +define dso_local void @xalloc_die() #6 { +entry: + %0 = load volatile i32, i32* @exit_failure, align 4 + call void (i32, i32, i8*, ...) @error(i32 %0, i32 0, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.107, i64 0, i64 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.1.108, i64 0, i64 0)) + call void @abort() #26 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @xrealloc(i8* %p, i64 %n) #3 { +entry: + %retval = alloca i8*, align 8 + %p.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %tobool = icmp eq i64 %0, 0 + %1 = load i8*, i8** %p.addr, align 8 + %tobool1 = icmp ne i8* %1, null + %or.cond = and i1 %tobool, %tobool1 + %2 = load i8*, i8** %p.addr, align 8 + br i1 %or.cond, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @free(i8* %2) #11 + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %3 = load i64, i64* %n.addr, align 8 + %call = call i8* @realloc(i8* %2, i64 %3) #11 + store i8* %call, i8** %p.addr, align 8 + %4 = load i8*, i8** %p.addr, align 8 + %tobool2 = icmp eq i8* %4, null + %5 = load i64, i64* %n.addr, align 8 + %tobool4 = icmp ne i64 %5, 0 + %or.cond1 = and i1 %tobool2, %tobool4 + br i1 %or.cond1, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end + call void @xalloc_die() #24 + unreachable + +if.end6: ; preds = %if.end + %6 = load i8*, i8** %p.addr, align 8 + store i8* %6, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end6, %if.then + %7 = load i8*, i8** %retval, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @quotearg_buffer_restyled(i8* %buffer, i64 %buffersize, i8* %arg, i64 %argsize, i32 %quoting_style, i32 %flags, i32* %quote_these_too, i8* %left_quote, i8* %right_quote) #3 { +entry: + %retval = alloca i64, align 8 + %buffer.addr = alloca i8*, align 8 + %buffersize.addr = alloca i64, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %quoting_style.addr = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %quote_these_too.addr = alloca i32*, align 8 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %i = alloca i64, align 8 + %len = alloca i64, align 8 + %orig_buffersize = alloca i64, align 8 + %quote_string = alloca i8*, align 8 + %quote_string_len = alloca i64, align 8 + %backslash_escapes = alloca i8, align 1 + %unibyte_locale = alloca i8, align 1 + %elide_outer_quotes = alloca i8, align 1 + %pending_shell_escape_end = alloca i8, align 1 + %encountered_single_quote = alloca i8, align 1 + %all_c_and_shell_quote_compat = alloca i8, align 1 + %c = alloca i8, align 1 + %esc = alloca i8, align 1 + %is_right_quote = alloca i8, align 1 + %escaping = alloca i8, align 1 + %c_and_shell_quote_compat = alloca i8, align 1 + %m = alloca i64, align 8 + %printable = alloca i8, align 1 + %mbstate = alloca %struct.__mbstate_t, align 4 + %w = alloca i32, align 4 + %bytes = alloca i64, align 8 + %j = alloca i64, align 8 + %ilim = alloca i64, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %buffersize, i64* %buffersize.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store i32 %quoting_style, i32* %quoting_style.addr, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store i32* %quote_these_too, i32** %quote_these_too.addr, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i64 0, i64* %len, align 8 + store i64 0, i64* %orig_buffersize, align 8 + store i8* null, i8** %quote_string, align 8 + store i64 0, i64* %quote_string_len, align 8 + store i8 0, i8* %backslash_escapes, align 1 + %call = call i64 @__ctype_get_mb_cur_max() #11 + %cmp = icmp eq i64 %call, 1 + %frombool = zext i1 %cmp to i8 + store i8 %frombool, i8* %unibyte_locale, align 1 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 2 + %cmp1 = icmp ne i32 %and, 0 + %frombool2 = zext i1 %cmp1 to i8 + store i8 %frombool2, i8* %elide_outer_quotes, align 1 + store i8 0, i8* %pending_shell_escape_end, align 1 + store i8 0, i8* %encountered_single_quote, align 1 + store i8 1, i8* %all_c_and_shell_quote_compat, align 1 + br label %process_input + +process_input: ; preds = %if.then701, %entry + %1 = load i32, i32* %quoting_style.addr, align 4 + br label %NodeBlock27 + +NodeBlock27: ; preds = %process_input + %case.cmp28 = icmp eq i32 %1, 6 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %1, 5 + br i1 %case.cmp26, label %sw.bb3, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %1, 7 + br i1 %case.cmp24, label %sw.bb7, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %1, 8 + br i1 %case.cmp22, label %sw.bb8, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %1, 9 + br i1 %case.cmp20, label %sw.bb8, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %1, 10 + br i1 %case.cmp18, label %sw.bb8, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %1, 3 + br i1 %case.cmp16, label %sw.bb26, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %1, 1 + br i1 %case.cmp14, label %sw.bb27, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %1, 4 + br i1 %case.cmp12, label %sw.bb28, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %1, 2 + br i1 %case.cmp10, label %sw.bb32, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock9 + %case.cmp = icmp eq i32 %1, 0 + br i1 %case.cmp, label %sw.bb43, label %newDefault + +sw.bb: ; preds = %NodeBlock27 + store i32 5, i32* %quoting_style.addr, align 4 + store i8 1, i8* %elide_outer_quotes, align 1 + br label %sw.bb3 + +sw.bb3: ; preds = %NodeBlock25, %sw.bb + %2 = load i8, i8* %elide_outer_quotes, align 1 + %tobool = trunc i8 %2 to i1 + br i1 %tobool, label %if.end6, label %do.body + +do.body: ; preds = %sw.bb3 + %3 = load i64, i64* %len, align 8 + %4 = load i64, i64* %buffersize.addr, align 8 + %cmp4 = icmp ult i64 %3, %4 + br i1 %cmp4, label %if.then5, label %if.end + +if.then5: ; preds = %do.body + %5 = load i8*, i8** %buffer.addr, align 8 + %6 = load i64, i64* %len, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 %6 + store i8 34, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then5, %do.body + %7 = load i64, i64* %len, align 8 + %inc = add i64 %7, 1 + store i64 %inc, i64* %len, align 8 + br label %if.end6 + +if.end6: ; preds = %if.end, %sw.bb3 + store i8 1, i8* %backslash_escapes, align 1 + store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10.61, i64 0, i64 0), i8** %quote_string, align 8 + store i64 1, i64* %quote_string_len, align 8 + br label %sw.epilog + +sw.bb7: ; preds = %NodeBlock23 + store i8 1, i8* %backslash_escapes, align 1 + store i8 0, i8* %elide_outer_quotes, align 1 + br label %sw.epilog + +sw.bb8: ; preds = %NodeBlock21, %NodeBlock19, %NodeBlock17 + %8 = load i32, i32* %quoting_style.addr, align 4 + %cmp9 = icmp ne i32 %8, 10 + br i1 %cmp9, label %if.then10, label %if.end13 + +if.then10: ; preds = %sw.bb8 + %9 = load i32, i32* %quoting_style.addr, align 4 + %call11 = call i8* @gettext_quote(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.11.62, i64 0, i64 0), i32 %9) + store i8* %call11, i8** %left_quote.addr, align 8 + %10 = load i32, i32* %quoting_style.addr, align 4 + %call12 = call i8* @gettext_quote(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.63, i64 0, i64 0), i32 %10) + store i8* %call12, i8** %right_quote.addr, align 8 + br label %if.end13 + +if.end13: ; preds = %if.then10, %sw.bb8 + %11 = load i8, i8* %elide_outer_quotes, align 1 + %tobool14 = trunc i8 %11 to i1 + br i1 %tobool14, label %if.end24, label %if.then15 + +if.then15: ; preds = %if.end13 + %12 = load i8*, i8** %left_quote.addr, align 8 + store i8* %12, i8** %quote_string, align 8 + br label %for.cond + +for.cond: ; preds = %if.end21, %if.then15 + %13 = load i8*, i8** %quote_string, align 8 + %14 = load i8, i8* %13, align 1 + %tobool16 = icmp ne i8 %14, 0 + br i1 %tobool16, label %do.body17, label %if.end24 + +do.body17: ; preds = %for.cond + %15 = load i64, i64* %len, align 8 + %16 = load i64, i64* %buffersize.addr, align 8 + %cmp18 = icmp ult i64 %15, %16 + br i1 %cmp18, label %if.then19, label %if.end21 + +if.then19: ; preds = %do.body17 + %17 = load i8*, i8** %quote_string, align 8 + %18 = load i8, i8* %17, align 1 + %19 = load i8*, i8** %buffer.addr, align 8 + %20 = load i64, i64* %len, align 8 + %arrayidx20 = getelementptr inbounds i8, i8* %19, i64 %20 + store i8 %18, i8* %arrayidx20, align 1 + br label %if.end21 + +if.end21: ; preds = %if.then19, %do.body17 + %21 = load i64, i64* %len, align 8 + %inc22 = add i64 %21, 1 + store i64 %inc22, i64* %len, align 8 + %22 = load i8*, i8** %quote_string, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %22, i32 1 + store i8* %incdec.ptr, i8** %quote_string, align 8 + br label %for.cond + +if.end24: ; preds = %for.cond, %if.end13 + store i8 1, i8* %backslash_escapes, align 1 + %23 = load i8*, i8** %right_quote.addr, align 8 + store i8* %23, i8** %quote_string, align 8 + %24 = load i8*, i8** %quote_string, align 8 + %call25 = call i64 @strlen(i8* %24) #23 + store i64 %call25, i64* %quote_string_len, align 8 + br label %sw.epilog + +sw.bb26: ; preds = %NodeBlock15 + store i8 1, i8* %backslash_escapes, align 1 + br label %sw.bb27 + +sw.bb27: ; preds = %NodeBlock13, %sw.bb26 + store i8 1, i8* %elide_outer_quotes, align 1 + br label %sw.bb28 + +sw.bb28: ; preds = %NodeBlock11, %sw.bb27 + %25 = load i8, i8* %elide_outer_quotes, align 1 + %tobool29 = trunc i8 %25 to i1 + br i1 %tobool29, label %sw.bb32, label %if.then30 + +if.then30: ; preds = %sw.bb28 + store i8 1, i8* %backslash_escapes, align 1 + br label %sw.bb32 + +sw.bb32: ; preds = %NodeBlock9, %sw.bb28, %if.then30 + store i32 2, i32* %quoting_style.addr, align 4 + %26 = load i8, i8* %elide_outer_quotes, align 1 + %tobool33 = trunc i8 %26 to i1 + br i1 %tobool33, label %if.end42, label %do.body35 + +do.body35: ; preds = %sw.bb32 + %27 = load i64, i64* %len, align 8 + %28 = load i64, i64* %buffersize.addr, align 8 + %cmp36 = icmp ult i64 %27, %28 + br i1 %cmp36, label %if.then37, label %if.end39 + +if.then37: ; preds = %do.body35 + %29 = load i8*, i8** %buffer.addr, align 8 + %30 = load i64, i64* %len, align 8 + %arrayidx38 = getelementptr inbounds i8, i8* %29, i64 %30 + store i8 39, i8* %arrayidx38, align 1 + br label %if.end39 + +if.end39: ; preds = %if.then37, %do.body35 + %31 = load i64, i64* %len, align 8 + %inc40 = add i64 %31, 1 + store i64 %inc40, i64* %len, align 8 + br label %if.end42 + +if.end42: ; preds = %if.end39, %sw.bb32 + store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.63, i64 0, i64 0), i8** %quote_string, align 8 + store i64 1, i64* %quote_string_len, align 8 + br label %sw.epilog + +sw.bb43: ; preds = %NodeBlock + store i8 0, i8* %elide_outer_quotes, align 1 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @abort() #26 + unreachable + +sw.epilog: ; preds = %sw.bb43, %if.end42, %if.end24, %sw.bb7, %if.end6 + store i64 0, i64* %i, align 8 + br label %for.cond44 + +for.cond44: ; preds = %for.inc673, %sw.epilog + %32 = load i64, i64* %argsize.addr, align 8 + %cmp45 = icmp eq i64 %32, -1 + br i1 %cmp45, label %cond.true, label %cond.false + +cond.true: ; preds = %for.cond44 + %33 = load i8*, i8** %arg.addr, align 8 + %34 = load i64, i64* %i, align 8 + %arrayidx46 = getelementptr inbounds i8, i8* %33, i64 %34 + %35 = load i8, i8* %arrayidx46, align 1 + %conv = sext i8 %35 to i32 + %cmp47 = icmp eq i32 %conv, 0 + %conv48 = zext i1 %cmp47 to i32 + br label %cond.end + +cond.false: ; preds = %for.cond44 + %36 = load i64, i64* %i, align 8 + %37 = load i64, i64* %argsize.addr, align 8 + %cmp49 = icmp eq i64 %36, %37 + %conv50 = zext i1 %cmp49 to i32 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ %conv48, %cond.true ], [ %conv50, %cond.false ] + %tobool51 = icmp ne i32 %cond, 0 + %lnot = xor i1 %tobool51, true + br i1 %lnot, label %for.body52, label %for.end675 + +for.body52: ; preds = %cond.end + store i8 0, i8* %is_right_quote, align 1 + store i8 0, i8* %escaping, align 1 + store i8 0, i8* %c_and_shell_quote_compat, align 1 + %38 = load i8, i8* %backslash_escapes, align 1 + %tobool53 = trunc i8 %38 to i1 + %39 = load i32, i32* %quoting_style.addr, align 4 + %cmp55 = icmp ne i32 %39, 2 + %or.cond = and i1 %tobool53, %cmp55 + %40 = load i64, i64* %quote_string_len, align 8 + %tobool58 = icmp ne i64 %40, 0 + %or.cond1 = and i1 %or.cond, %tobool58 + br i1 %or.cond1, label %land.lhs.true59, label %if.end80 + +land.lhs.true59: ; preds = %for.body52 + %41 = load i64, i64* %i, align 8 + %42 = load i64, i64* %quote_string_len, align 8 + %add = add i64 %41, %42 + %43 = load i64, i64* %argsize.addr, align 8 + %cmp60 = icmp eq i64 %43, -1 + %44 = load i64, i64* %quote_string_len, align 8 + %cmp63 = icmp ult i64 1, %44 + %or.cond2 = and i1 %cmp60, %cmp63 + br i1 %or.cond2, label %cond.true65, label %cond.false67 + +cond.true65: ; preds = %land.lhs.true59 + %45 = load i8*, i8** %arg.addr, align 8 + %call66 = call i64 @strlen(i8* %45) #23 + store i64 %call66, i64* %argsize.addr, align 8 + br label %cond.end68 + +cond.false67: ; preds = %land.lhs.true59 + %46 = load i64, i64* %argsize.addr, align 8 + br label %cond.end68 + +cond.end68: ; preds = %cond.false67, %cond.true65 + %cond69 = phi i64 [ %call66, %cond.true65 ], [ %46, %cond.false67 ] + %cmp70 = icmp ule i64 %add, %cond69 + br i1 %cmp70, label %land.lhs.true72, label %if.end80 + +land.lhs.true72: ; preds = %cond.end68 + %47 = load i8*, i8** %arg.addr, align 8 + %48 = load i64, i64* %i, align 8 + %add.ptr = getelementptr inbounds i8, i8* %47, i64 %48 + %49 = load i8*, i8** %quote_string, align 8 + %50 = load i64, i64* %quote_string_len, align 8 + %call73 = call i32 @memcmp(i8* %add.ptr, i8* %49, i64 %50) #23 + %cmp74 = icmp eq i32 %call73, 0 + br i1 %cmp74, label %if.then76, label %if.end80 + +if.then76: ; preds = %land.lhs.true72 + %51 = load i8, i8* %elide_outer_quotes, align 1 + %tobool77 = trunc i8 %51 to i1 + br i1 %tobool77, label %force_outer_quoting_style, label %if.end79 + +if.end79: ; preds = %if.then76 + store i8 1, i8* %is_right_quote, align 1 + br label %if.end80 + +if.end80: ; preds = %if.end79, %land.lhs.true72, %cond.end68, %for.body52 + %52 = load i8*, i8** %arg.addr, align 8 + %53 = load i64, i64* %i, align 8 + %arrayidx81 = getelementptr inbounds i8, i8* %52, i64 %53 + %54 = load i8, i8* %arrayidx81, align 1 + store i8 %54, i8* %c, align 1 + %55 = load i8, i8* %c, align 1 + %conv82 = zext i8 %55 to i32 + br label %NodeBlock232 + +NodeBlock232: ; preds = %if.end80 + %case.cmp233 = icmp eq i32 %conv82, 0 + br i1 %case.cmp233, label %sw.bb83, label %NodeBlock230 + +NodeBlock230: ; preds = %NodeBlock232 + %case.cmp231 = icmp eq i32 %conv82, 63 + br i1 %case.cmp231, label %sw.bb170, label %NodeBlock228 + +NodeBlock228: ; preds = %NodeBlock230 + %case.cmp229 = icmp eq i32 %conv82, 7 + br i1 %case.cmp229, label %sw.bb236, label %NodeBlock226 + +NodeBlock226: ; preds = %NodeBlock228 + %case.cmp227 = icmp eq i32 %conv82, 8 + br i1 %case.cmp227, label %sw.bb237, label %NodeBlock224 + +NodeBlock224: ; preds = %NodeBlock226 + %case.cmp225 = icmp eq i32 %conv82, 12 + br i1 %case.cmp225, label %sw.bb238, label %NodeBlock222 + +NodeBlock222: ; preds = %NodeBlock224 + %case.cmp223 = icmp eq i32 %conv82, 10 + br i1 %case.cmp223, label %sw.bb239, label %NodeBlock220 + +NodeBlock220: ; preds = %NodeBlock222 + %case.cmp221 = icmp eq i32 %conv82, 13 + br i1 %case.cmp221, label %sw.bb240, label %NodeBlock218 + +NodeBlock218: ; preds = %NodeBlock220 + %case.cmp219 = icmp eq i32 %conv82, 9 + br i1 %case.cmp219, label %sw.bb241, label %NodeBlock216 + +NodeBlock216: ; preds = %NodeBlock218 + %case.cmp217 = icmp eq i32 %conv82, 11 + br i1 %case.cmp217, label %sw.bb242, label %NodeBlock214 + +NodeBlock214: ; preds = %NodeBlock216 + %case.cmp215 = icmp eq i32 %conv82, 92 + br i1 %case.cmp215, label %sw.bb243, label %NodeBlock212 + +NodeBlock212: ; preds = %NodeBlock214 + %case.cmp213 = icmp eq i32 %conv82, 123 + br i1 %case.cmp213, label %sw.bb270, label %NodeBlock210 + +NodeBlock210: ; preds = %NodeBlock212 + %case.cmp211 = icmp eq i32 %conv82, 125 + br i1 %case.cmp211, label %sw.bb270, label %NodeBlock208 + +NodeBlock208: ; preds = %NodeBlock210 + %case.cmp209 = icmp eq i32 %conv82, 35 + br i1 %case.cmp209, label %sw.bb283, label %NodeBlock206 + +NodeBlock206: ; preds = %NodeBlock208 + %case.cmp207 = icmp eq i32 %conv82, 126 + br i1 %case.cmp207, label %sw.bb283, label %NodeBlock204 + +NodeBlock204: ; preds = %NodeBlock206 + %case.cmp205 = icmp eq i32 %conv82, 32 + br i1 %case.cmp205, label %sw.bb288, label %NodeBlock202 + +NodeBlock202: ; preds = %NodeBlock204 + %case.cmp203 = icmp eq i32 %conv82, 33 + br i1 %case.cmp203, label %sw.bb289, label %NodeBlock200 + +NodeBlock200: ; preds = %NodeBlock202 + %case.cmp201 = icmp eq i32 %conv82, 34 + br i1 %case.cmp201, label %sw.bb289, label %NodeBlock198 + +NodeBlock198: ; preds = %NodeBlock200 + %case.cmp199 = icmp eq i32 %conv82, 36 + br i1 %case.cmp199, label %sw.bb289, label %NodeBlock196 + +NodeBlock196: ; preds = %NodeBlock198 + %case.cmp197 = icmp eq i32 %conv82, 38 + br i1 %case.cmp197, label %sw.bb289, label %NodeBlock194 + +NodeBlock194: ; preds = %NodeBlock196 + %case.cmp195 = icmp eq i32 %conv82, 40 + br i1 %case.cmp195, label %sw.bb289, label %NodeBlock192 + +NodeBlock192: ; preds = %NodeBlock194 + %case.cmp193 = icmp eq i32 %conv82, 41 + br i1 %case.cmp193, label %sw.bb289, label %NodeBlock190 + +NodeBlock190: ; preds = %NodeBlock192 + %case.cmp191 = icmp eq i32 %conv82, 42 + br i1 %case.cmp191, label %sw.bb289, label %NodeBlock188 + +NodeBlock188: ; preds = %NodeBlock190 + %case.cmp189 = icmp eq i32 %conv82, 59 + br i1 %case.cmp189, label %sw.bb289, label %NodeBlock186 + +NodeBlock186: ; preds = %NodeBlock188 + %case.cmp187 = icmp eq i32 %conv82, 60 + br i1 %case.cmp187, label %sw.bb289, label %NodeBlock184 + +NodeBlock184: ; preds = %NodeBlock186 + %case.cmp185 = icmp eq i32 %conv82, 61 + br i1 %case.cmp185, label %sw.bb289, label %NodeBlock182 + +NodeBlock182: ; preds = %NodeBlock184 + %case.cmp183 = icmp eq i32 %conv82, 62 + br i1 %case.cmp183, label %sw.bb289, label %NodeBlock180 + +NodeBlock180: ; preds = %NodeBlock182 + %case.cmp181 = icmp eq i32 %conv82, 91 + br i1 %case.cmp181, label %sw.bb289, label %NodeBlock178 + +NodeBlock178: ; preds = %NodeBlock180 + %case.cmp179 = icmp eq i32 %conv82, 94 + br i1 %case.cmp179, label %sw.bb289, label %NodeBlock176 + +NodeBlock176: ; preds = %NodeBlock178 + %case.cmp177 = icmp eq i32 %conv82, 96 + br i1 %case.cmp177, label %sw.bb289, label %NodeBlock174 + +NodeBlock174: ; preds = %NodeBlock176 + %case.cmp175 = icmp eq i32 %conv82, 124 + br i1 %case.cmp175, label %sw.bb289, label %NodeBlock172 + +NodeBlock172: ; preds = %NodeBlock174 + %case.cmp173 = icmp eq i32 %conv82, 39 + br i1 %case.cmp173, label %sw.bb297, label %NodeBlock170 + +NodeBlock170: ; preds = %NodeBlock172 + %case.cmp171 = icmp eq i32 %conv82, 37 + br i1 %case.cmp171, label %sw.bb334, label %NodeBlock168 + +NodeBlock168: ; preds = %NodeBlock170 + %case.cmp169 = icmp eq i32 %conv82, 43 + br i1 %case.cmp169, label %sw.bb334, label %NodeBlock166 + +NodeBlock166: ; preds = %NodeBlock168 + %case.cmp167 = icmp eq i32 %conv82, 44 + br i1 %case.cmp167, label %sw.bb334, label %NodeBlock164 + +NodeBlock164: ; preds = %NodeBlock166 + %case.cmp165 = icmp eq i32 %conv82, 45 + br i1 %case.cmp165, label %sw.bb334, label %NodeBlock162 + +NodeBlock162: ; preds = %NodeBlock164 + %case.cmp163 = icmp eq i32 %conv82, 46 + br i1 %case.cmp163, label %sw.bb334, label %NodeBlock160 + +NodeBlock160: ; preds = %NodeBlock162 + %case.cmp161 = icmp eq i32 %conv82, 47 + br i1 %case.cmp161, label %sw.bb334, label %NodeBlock158 + +NodeBlock158: ; preds = %NodeBlock160 + %case.cmp159 = icmp eq i32 %conv82, 48 + br i1 %case.cmp159, label %sw.bb334, label %NodeBlock156 + +NodeBlock156: ; preds = %NodeBlock158 + %case.cmp157 = icmp eq i32 %conv82, 49 + br i1 %case.cmp157, label %sw.bb334, label %NodeBlock154 + +NodeBlock154: ; preds = %NodeBlock156 + %case.cmp155 = icmp eq i32 %conv82, 50 + br i1 %case.cmp155, label %sw.bb334, label %NodeBlock152 + +NodeBlock152: ; preds = %NodeBlock154 + %case.cmp153 = icmp eq i32 %conv82, 51 + br i1 %case.cmp153, label %sw.bb334, label %NodeBlock150 + +NodeBlock150: ; preds = %NodeBlock152 + %case.cmp151 = icmp eq i32 %conv82, 52 + br i1 %case.cmp151, label %sw.bb334, label %NodeBlock148 + +NodeBlock148: ; preds = %NodeBlock150 + %case.cmp149 = icmp eq i32 %conv82, 53 + br i1 %case.cmp149, label %sw.bb334, label %NodeBlock146 + +NodeBlock146: ; preds = %NodeBlock148 + %case.cmp147 = icmp eq i32 %conv82, 54 + br i1 %case.cmp147, label %sw.bb334, label %NodeBlock144 + +NodeBlock144: ; preds = %NodeBlock146 + %case.cmp145 = icmp eq i32 %conv82, 55 + br i1 %case.cmp145, label %sw.bb334, label %NodeBlock142 + +NodeBlock142: ; preds = %NodeBlock144 + %case.cmp143 = icmp eq i32 %conv82, 56 + br i1 %case.cmp143, label %sw.bb334, label %NodeBlock140 + +NodeBlock140: ; preds = %NodeBlock142 + %case.cmp141 = icmp eq i32 %conv82, 57 + br i1 %case.cmp141, label %sw.bb334, label %NodeBlock138 + +NodeBlock138: ; preds = %NodeBlock140 + %case.cmp139 = icmp eq i32 %conv82, 58 + br i1 %case.cmp139, label %sw.bb334, label %NodeBlock136 + +NodeBlock136: ; preds = %NodeBlock138 + %case.cmp137 = icmp eq i32 %conv82, 65 + br i1 %case.cmp137, label %sw.bb334, label %NodeBlock134 + +NodeBlock134: ; preds = %NodeBlock136 + %case.cmp135 = icmp eq i32 %conv82, 66 + br i1 %case.cmp135, label %sw.bb334, label %NodeBlock132 + +NodeBlock132: ; preds = %NodeBlock134 + %case.cmp133 = icmp eq i32 %conv82, 67 + br i1 %case.cmp133, label %sw.bb334, label %NodeBlock130 + +NodeBlock130: ; preds = %NodeBlock132 + %case.cmp131 = icmp eq i32 %conv82, 68 + br i1 %case.cmp131, label %sw.bb334, label %NodeBlock128 + +NodeBlock128: ; preds = %NodeBlock130 + %case.cmp129 = icmp eq i32 %conv82, 69 + br i1 %case.cmp129, label %sw.bb334, label %NodeBlock126 + +NodeBlock126: ; preds = %NodeBlock128 + %case.cmp127 = icmp eq i32 %conv82, 70 + br i1 %case.cmp127, label %sw.bb334, label %NodeBlock124 + +NodeBlock124: ; preds = %NodeBlock126 + %case.cmp125 = icmp eq i32 %conv82, 71 + br i1 %case.cmp125, label %sw.bb334, label %NodeBlock122 + +NodeBlock122: ; preds = %NodeBlock124 + %case.cmp123 = icmp eq i32 %conv82, 72 + br i1 %case.cmp123, label %sw.bb334, label %NodeBlock120 + +NodeBlock120: ; preds = %NodeBlock122 + %case.cmp121 = icmp eq i32 %conv82, 73 + br i1 %case.cmp121, label %sw.bb334, label %NodeBlock118 + +NodeBlock118: ; preds = %NodeBlock120 + %case.cmp119 = icmp eq i32 %conv82, 74 + br i1 %case.cmp119, label %sw.bb334, label %NodeBlock116 + +NodeBlock116: ; preds = %NodeBlock118 + %case.cmp117 = icmp eq i32 %conv82, 75 + br i1 %case.cmp117, label %sw.bb334, label %NodeBlock114 + +NodeBlock114: ; preds = %NodeBlock116 + %case.cmp115 = icmp eq i32 %conv82, 76 + br i1 %case.cmp115, label %sw.bb334, label %NodeBlock112 + +NodeBlock112: ; preds = %NodeBlock114 + %case.cmp113 = icmp eq i32 %conv82, 77 + br i1 %case.cmp113, label %sw.bb334, label %NodeBlock110 + +NodeBlock110: ; preds = %NodeBlock112 + %case.cmp111 = icmp eq i32 %conv82, 78 + br i1 %case.cmp111, label %sw.bb334, label %NodeBlock108 + +NodeBlock108: ; preds = %NodeBlock110 + %case.cmp109 = icmp eq i32 %conv82, 79 + br i1 %case.cmp109, label %sw.bb334, label %NodeBlock106 + +NodeBlock106: ; preds = %NodeBlock108 + %case.cmp107 = icmp eq i32 %conv82, 80 + br i1 %case.cmp107, label %sw.bb334, label %NodeBlock104 + +NodeBlock104: ; preds = %NodeBlock106 + %case.cmp105 = icmp eq i32 %conv82, 81 + br i1 %case.cmp105, label %sw.bb334, label %NodeBlock102 + +NodeBlock102: ; preds = %NodeBlock104 + %case.cmp103 = icmp eq i32 %conv82, 82 + br i1 %case.cmp103, label %sw.bb334, label %NodeBlock100 + +NodeBlock100: ; preds = %NodeBlock102 + %case.cmp101 = icmp eq i32 %conv82, 83 + br i1 %case.cmp101, label %sw.bb334, label %NodeBlock98 + +NodeBlock98: ; preds = %NodeBlock100 + %case.cmp99 = icmp eq i32 %conv82, 84 + br i1 %case.cmp99, label %sw.bb334, label %NodeBlock96 + +NodeBlock96: ; preds = %NodeBlock98 + %case.cmp97 = icmp eq i32 %conv82, 85 + br i1 %case.cmp97, label %sw.bb334, label %NodeBlock94 + +NodeBlock94: ; preds = %NodeBlock96 + %case.cmp95 = icmp eq i32 %conv82, 86 + br i1 %case.cmp95, label %sw.bb334, label %NodeBlock92 + +NodeBlock92: ; preds = %NodeBlock94 + %case.cmp93 = icmp eq i32 %conv82, 87 + br i1 %case.cmp93, label %sw.bb334, label %NodeBlock90 + +NodeBlock90: ; preds = %NodeBlock92 + %case.cmp91 = icmp eq i32 %conv82, 88 + br i1 %case.cmp91, label %sw.bb334, label %NodeBlock88 + +NodeBlock88: ; preds = %NodeBlock90 + %case.cmp89 = icmp eq i32 %conv82, 89 + br i1 %case.cmp89, label %sw.bb334, label %NodeBlock86 + +NodeBlock86: ; preds = %NodeBlock88 + %case.cmp87 = icmp eq i32 %conv82, 90 + br i1 %case.cmp87, label %sw.bb334, label %NodeBlock84 + +NodeBlock84: ; preds = %NodeBlock86 + %case.cmp85 = icmp eq i32 %conv82, 93 + br i1 %case.cmp85, label %sw.bb334, label %NodeBlock82 + +NodeBlock82: ; preds = %NodeBlock84 + %case.cmp83 = icmp eq i32 %conv82, 95 + br i1 %case.cmp83, label %sw.bb334, label %NodeBlock80 + +NodeBlock80: ; preds = %NodeBlock82 + %case.cmp81 = icmp eq i32 %conv82, 97 + br i1 %case.cmp81, label %sw.bb334, label %NodeBlock78 + +NodeBlock78: ; preds = %NodeBlock80 + %case.cmp79 = icmp eq i32 %conv82, 98 + br i1 %case.cmp79, label %sw.bb334, label %NodeBlock76 + +NodeBlock76: ; preds = %NodeBlock78 + %case.cmp77 = icmp eq i32 %conv82, 99 + br i1 %case.cmp77, label %sw.bb334, label %NodeBlock74 + +NodeBlock74: ; preds = %NodeBlock76 + %case.cmp75 = icmp eq i32 %conv82, 100 + br i1 %case.cmp75, label %sw.bb334, label %NodeBlock72 + +NodeBlock72: ; preds = %NodeBlock74 + %case.cmp73 = icmp eq i32 %conv82, 101 + br i1 %case.cmp73, label %sw.bb334, label %NodeBlock70 + +NodeBlock70: ; preds = %NodeBlock72 + %case.cmp71 = icmp eq i32 %conv82, 102 + br i1 %case.cmp71, label %sw.bb334, label %NodeBlock68 + +NodeBlock68: ; preds = %NodeBlock70 + %case.cmp69 = icmp eq i32 %conv82, 103 + br i1 %case.cmp69, label %sw.bb334, label %NodeBlock66 + +NodeBlock66: ; preds = %NodeBlock68 + %case.cmp67 = icmp eq i32 %conv82, 104 + br i1 %case.cmp67, label %sw.bb334, label %NodeBlock64 + +NodeBlock64: ; preds = %NodeBlock66 + %case.cmp65 = icmp eq i32 %conv82, 105 + br i1 %case.cmp65, label %sw.bb334, label %NodeBlock62 + +NodeBlock62: ; preds = %NodeBlock64 + %case.cmp63 = icmp eq i32 %conv82, 106 + br i1 %case.cmp63, label %sw.bb334, label %NodeBlock60 + +NodeBlock60: ; preds = %NodeBlock62 + %case.cmp61 = icmp eq i32 %conv82, 107 + br i1 %case.cmp61, label %sw.bb334, label %NodeBlock58 + +NodeBlock58: ; preds = %NodeBlock60 + %case.cmp59 = icmp eq i32 %conv82, 108 + br i1 %case.cmp59, label %sw.bb334, label %NodeBlock56 + +NodeBlock56: ; preds = %NodeBlock58 + %case.cmp57 = icmp eq i32 %conv82, 109 + br i1 %case.cmp57, label %sw.bb334, label %NodeBlock54 + +NodeBlock54: ; preds = %NodeBlock56 + %case.cmp55 = icmp eq i32 %conv82, 110 + br i1 %case.cmp55, label %sw.bb334, label %NodeBlock52 + +NodeBlock52: ; preds = %NodeBlock54 + %case.cmp53 = icmp eq i32 %conv82, 111 + br i1 %case.cmp53, label %sw.bb334, label %NodeBlock50 + +NodeBlock50: ; preds = %NodeBlock52 + %case.cmp51 = icmp eq i32 %conv82, 112 + br i1 %case.cmp51, label %sw.bb334, label %NodeBlock48 + +NodeBlock48: ; preds = %NodeBlock50 + %case.cmp49 = icmp eq i32 %conv82, 113 + br i1 %case.cmp49, label %sw.bb334, label %NodeBlock46 + +NodeBlock46: ; preds = %NodeBlock48 + %case.cmp47 = icmp eq i32 %conv82, 114 + br i1 %case.cmp47, label %sw.bb334, label %NodeBlock44 + +NodeBlock44: ; preds = %NodeBlock46 + %case.cmp45 = icmp eq i32 %conv82, 115 + br i1 %case.cmp45, label %sw.bb334, label %NodeBlock42 + +NodeBlock42: ; preds = %NodeBlock44 + %case.cmp43 = icmp eq i32 %conv82, 116 + br i1 %case.cmp43, label %sw.bb334, label %NodeBlock40 + +NodeBlock40: ; preds = %NodeBlock42 + %case.cmp41 = icmp eq i32 %conv82, 117 + br i1 %case.cmp41, label %sw.bb334, label %NodeBlock38 + +NodeBlock38: ; preds = %NodeBlock40 + %case.cmp39 = icmp eq i32 %conv82, 118 + br i1 %case.cmp39, label %sw.bb334, label %NodeBlock36 + +NodeBlock36: ; preds = %NodeBlock38 + %case.cmp37 = icmp eq i32 %conv82, 119 + br i1 %case.cmp37, label %sw.bb334, label %NodeBlock34 + +NodeBlock34: ; preds = %NodeBlock36 + %case.cmp35 = icmp eq i32 %conv82, 120 + br i1 %case.cmp35, label %sw.bb334, label %NodeBlock32 + +NodeBlock32: ; preds = %NodeBlock34 + %case.cmp33 = icmp eq i32 %conv82, 121 + br i1 %case.cmp33, label %sw.bb334, label %NodeBlock30 + +NodeBlock30: ; preds = %NodeBlock32 + %case.cmp31 = icmp eq i32 %conv82, 122 + br i1 %case.cmp31, label %sw.bb334, label %newDefault29 + +sw.bb83: ; preds = %NodeBlock232 + %56 = load i8, i8* %backslash_escapes, align 1 + %tobool84 = trunc i8 %56 to i1 + br i1 %tobool84, label %do.body86, label %if.else + +do.body86: ; preds = %sw.bb83 + %57 = load i8, i8* %elide_outer_quotes, align 1 + %tobool87 = trunc i8 %57 to i1 + br i1 %tobool87, label %force_outer_quoting_style, label %if.end89 + +if.end89: ; preds = %do.body86 + store i8 1, i8* %escaping, align 1 + %58 = load i32, i32* %quoting_style.addr, align 4 + %cmp90 = icmp eq i32 %58, 2 + br i1 %cmp90, label %land.lhs.true92, label %do.body120 + +land.lhs.true92: ; preds = %if.end89 + %59 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool93 = trunc i8 %59 to i1 + br i1 %tobool93, label %do.body120, label %do.body95 + +do.body95: ; preds = %land.lhs.true92 + %60 = load i64, i64* %len, align 8 + %61 = load i64, i64* %buffersize.addr, align 8 + %cmp96 = icmp ult i64 %60, %61 + br i1 %cmp96, label %if.then98, label %if.end100 + +if.then98: ; preds = %do.body95 + %62 = load i8*, i8** %buffer.addr, align 8 + %63 = load i64, i64* %len, align 8 + %arrayidx99 = getelementptr inbounds i8, i8* %62, i64 %63 + store i8 39, i8* %arrayidx99, align 1 + br label %if.end100 + +if.end100: ; preds = %if.then98, %do.body95 + %64 = load i64, i64* %len, align 8 + %inc101 = add i64 %64, 1 + store i64 %inc101, i64* %len, align 8 + %65 = load i64, i64* %len, align 8 + %66 = load i64, i64* %buffersize.addr, align 8 + %cmp104 = icmp ult i64 %65, %66 + br i1 %cmp104, label %if.then106, label %if.end108 + +if.then106: ; preds = %if.end100 + %67 = load i8*, i8** %buffer.addr, align 8 + %68 = load i64, i64* %len, align 8 + %arrayidx107 = getelementptr inbounds i8, i8* %67, i64 %68 + store i8 36, i8* %arrayidx107, align 1 + br label %if.end108 + +if.end108: ; preds = %if.then106, %if.end100 + %69 = load i64, i64* %len, align 8 + %inc109 = add i64 %69, 1 + store i64 %inc109, i64* %len, align 8 + %70 = load i64, i64* %len, align 8 + %71 = load i64, i64* %buffersize.addr, align 8 + %cmp112 = icmp ult i64 %70, %71 + br i1 %cmp112, label %if.then114, label %if.end116 + +if.then114: ; preds = %if.end108 + %72 = load i8*, i8** %buffer.addr, align 8 + %73 = load i64, i64* %len, align 8 + %arrayidx115 = getelementptr inbounds i8, i8* %72, i64 %73 + store i8 39, i8* %arrayidx115, align 1 + br label %if.end116 + +if.end116: ; preds = %if.then114, %if.end108 + %74 = load i64, i64* %len, align 8 + %inc117 = add i64 %74, 1 + store i64 %inc117, i64* %len, align 8 + store i8 1, i8* %pending_shell_escape_end, align 1 + br label %do.body120 + +do.body120: ; preds = %if.end89, %land.lhs.true92, %if.end116 + %75 = load i64, i64* %len, align 8 + %76 = load i64, i64* %buffersize.addr, align 8 + %cmp121 = icmp ult i64 %75, %76 + br i1 %cmp121, label %if.then123, label %if.end125 + +if.then123: ; preds = %do.body120 + %77 = load i8*, i8** %buffer.addr, align 8 + %78 = load i64, i64* %len, align 8 + %arrayidx124 = getelementptr inbounds i8, i8* %77, i64 %78 + store i8 92, i8* %arrayidx124, align 1 + br label %if.end125 + +if.end125: ; preds = %if.then123, %do.body120 + %79 = load i64, i64* %len, align 8 + %inc126 = add i64 %79, 1 + store i64 %inc126, i64* %len, align 8 + %80 = load i32, i32* %quoting_style.addr, align 4 + %cmp129 = icmp ne i32 %80, 2 + br i1 %cmp129, label %land.lhs.true131, label %if.end164 + +land.lhs.true131: ; preds = %if.end125 + %81 = load i64, i64* %i, align 8 + %add132 = add i64 %81, 1 + %82 = load i64, i64* %argsize.addr, align 8 + %cmp133 = icmp ult i64 %add132, %82 + br i1 %cmp133, label %land.lhs.true135, label %if.end164 + +land.lhs.true135: ; preds = %land.lhs.true131 + %83 = load i8*, i8** %arg.addr, align 8 + %84 = load i64, i64* %i, align 8 + %add136 = add i64 %84, 1 + %arrayidx137 = getelementptr inbounds i8, i8* %83, i64 %add136 + %85 = load i8, i8* %arrayidx137, align 1 + %conv138 = sext i8 %85 to i32 + %cmp139 = icmp sle i32 48, %conv138 + br i1 %cmp139, label %land.lhs.true141, label %if.end164 + +land.lhs.true141: ; preds = %land.lhs.true135 + %86 = load i8*, i8** %arg.addr, align 8 + %87 = load i64, i64* %i, align 8 + %add142 = add i64 %87, 1 + %arrayidx143 = getelementptr inbounds i8, i8* %86, i64 %add142 + %88 = load i8, i8* %arrayidx143, align 1 + %conv144 = sext i8 %88 to i32 + %cmp145 = icmp sle i32 %conv144, 57 + br i1 %cmp145, label %do.body148, label %if.end164 + +do.body148: ; preds = %land.lhs.true141 + %89 = load i64, i64* %len, align 8 + %90 = load i64, i64* %buffersize.addr, align 8 + %cmp149 = icmp ult i64 %89, %90 + br i1 %cmp149, label %if.then151, label %if.end153 + +if.then151: ; preds = %do.body148 + %91 = load i8*, i8** %buffer.addr, align 8 + %92 = load i64, i64* %len, align 8 + %arrayidx152 = getelementptr inbounds i8, i8* %91, i64 %92 + store i8 48, i8* %arrayidx152, align 1 + br label %if.end153 + +if.end153: ; preds = %if.then151, %do.body148 + %93 = load i64, i64* %len, align 8 + %inc154 = add i64 %93, 1 + store i64 %inc154, i64* %len, align 8 + %94 = load i64, i64* %len, align 8 + %95 = load i64, i64* %buffersize.addr, align 8 + %cmp157 = icmp ult i64 %94, %95 + br i1 %cmp157, label %if.then159, label %if.end161 + +if.then159: ; preds = %if.end153 + %96 = load i8*, i8** %buffer.addr, align 8 + %97 = load i64, i64* %len, align 8 + %arrayidx160 = getelementptr inbounds i8, i8* %96, i64 %97 + store i8 48, i8* %arrayidx160, align 1 + br label %if.end161 + +if.end161: ; preds = %if.then159, %if.end153 + %98 = load i64, i64* %len, align 8 + %inc162 = add i64 %98, 1 + store i64 %inc162, i64* %len, align 8 + br label %if.end164 + +if.end164: ; preds = %if.end161, %land.lhs.true141, %land.lhs.true135, %land.lhs.true131, %if.end125 + store i8 48, i8* %c, align 1 + br label %sw.epilog564 + +if.else: ; preds = %sw.bb83 + %99 = load i32, i32* %flags.addr, align 4 + %and165 = and i32 %99, 1 + %tobool166 = icmp ne i32 %and165, 0 + br i1 %tobool166, label %for.inc673, label %sw.epilog564 + +sw.bb170: ; preds = %NodeBlock230 + %100 = load i32, i32* %quoting_style.addr, align 4 + br label %NodeBlock237 + +NodeBlock237: ; preds = %sw.bb170 + %case.cmp238 = icmp eq i32 %100, 2 + br i1 %case.cmp238, label %sw.bb171, label %NodeBlock235 + +NodeBlock235: ; preds = %NodeBlock237 + %case.cmp236 = icmp eq i32 %100, 5 + br i1 %case.cmp236, label %sw.bb175, label %newDefault234 + +sw.bb171: ; preds = %NodeBlock237 + %101 = load i8, i8* %elide_outer_quotes, align 1 + %tobool172 = trunc i8 %101 to i1 + br i1 %tobool172, label %force_outer_quoting_style, label %sw.epilog564 + +sw.bb175: ; preds = %NodeBlock235 + %102 = load i32, i32* %flags.addr, align 4 + %and176 = and i32 %102, 4 + %tobool177 = icmp ne i32 %and176, 0 + br i1 %tobool177, label %land.lhs.true178, label %sw.epilog564 + +land.lhs.true178: ; preds = %sw.bb175 + %103 = load i64, i64* %i, align 8 + %add179 = add i64 %103, 2 + %104 = load i64, i64* %argsize.addr, align 8 + %cmp180 = icmp ult i64 %add179, %104 + br i1 %cmp180, label %land.lhs.true182, label %sw.epilog564 + +land.lhs.true182: ; preds = %land.lhs.true178 + %105 = load i8*, i8** %arg.addr, align 8 + %106 = load i64, i64* %i, align 8 + %add183 = add i64 %106, 1 + %arrayidx184 = getelementptr inbounds i8, i8* %105, i64 %add183 + %107 = load i8, i8* %arrayidx184, align 1 + %conv185 = sext i8 %107 to i32 + %cmp186 = icmp eq i32 %conv185, 63 + br i1 %cmp186, label %if.then188, label %sw.epilog564 + +if.then188: ; preds = %land.lhs.true182 + %108 = load i8*, i8** %arg.addr, align 8 + %109 = load i64, i64* %i, align 8 + %add189 = add i64 %109, 2 + %arrayidx190 = getelementptr inbounds i8, i8* %108, i64 %add189 + %110 = load i8, i8* %arrayidx190, align 1 + %conv191 = sext i8 %110 to i32 + br label %NodeBlock256 + +NodeBlock256: ; preds = %if.then188 + %case.cmp257 = icmp eq i32 %conv191, 33 + br i1 %case.cmp257, label %sw.bb192, label %NodeBlock254 + +NodeBlock254: ; preds = %NodeBlock256 + %case.cmp255 = icmp eq i32 %conv191, 39 + br i1 %case.cmp255, label %sw.bb192, label %NodeBlock252 + +NodeBlock252: ; preds = %NodeBlock254 + %case.cmp253 = icmp eq i32 %conv191, 40 + br i1 %case.cmp253, label %sw.bb192, label %NodeBlock250 + +NodeBlock250: ; preds = %NodeBlock252 + %case.cmp251 = icmp eq i32 %conv191, 41 + br i1 %case.cmp251, label %sw.bb192, label %NodeBlock248 + +NodeBlock248: ; preds = %NodeBlock250 + %case.cmp249 = icmp eq i32 %conv191, 45 + br i1 %case.cmp249, label %sw.bb192, label %NodeBlock246 + +NodeBlock246: ; preds = %NodeBlock248 + %case.cmp247 = icmp eq i32 %conv191, 47 + br i1 %case.cmp247, label %sw.bb192, label %NodeBlock244 + +NodeBlock244: ; preds = %NodeBlock246 + %case.cmp245 = icmp eq i32 %conv191, 60 + br i1 %case.cmp245, label %sw.bb192, label %NodeBlock242 + +NodeBlock242: ; preds = %NodeBlock244 + %case.cmp243 = icmp eq i32 %conv191, 61 + br i1 %case.cmp243, label %sw.bb192, label %NodeBlock240 + +NodeBlock240: ; preds = %NodeBlock242 + %case.cmp241 = icmp eq i32 %conv191, 62 + br i1 %case.cmp241, label %sw.bb192, label %newDefault239 + +sw.bb192: ; preds = %NodeBlock256, %NodeBlock254, %NodeBlock252, %NodeBlock250, %NodeBlock248, %NodeBlock246, %NodeBlock244, %NodeBlock242, %NodeBlock240 + %111 = load i8, i8* %elide_outer_quotes, align 1 + %tobool193 = trunc i8 %111 to i1 + br i1 %tobool193, label %force_outer_quoting_style, label %if.end195 + +if.end195: ; preds = %sw.bb192 + %112 = load i8*, i8** %arg.addr, align 8 + %113 = load i64, i64* %i, align 8 + %add196 = add i64 %113, 2 + %arrayidx197 = getelementptr inbounds i8, i8* %112, i64 %add196 + %114 = load i8, i8* %arrayidx197, align 1 + store i8 %114, i8* %c, align 1 + %115 = load i64, i64* %i, align 8 + %add198 = add i64 %115, 2 + store i64 %add198, i64* %i, align 8 + %116 = load i64, i64* %len, align 8 + %117 = load i64, i64* %buffersize.addr, align 8 + %cmp200 = icmp ult i64 %116, %117 + br i1 %cmp200, label %if.then202, label %if.end204 + +if.then202: ; preds = %if.end195 + %118 = load i8*, i8** %buffer.addr, align 8 + %119 = load i64, i64* %len, align 8 + %arrayidx203 = getelementptr inbounds i8, i8* %118, i64 %119 + store i8 63, i8* %arrayidx203, align 1 + br label %if.end204 + +if.end204: ; preds = %if.then202, %if.end195 + %120 = load i64, i64* %len, align 8 + %inc205 = add i64 %120, 1 + store i64 %inc205, i64* %len, align 8 + %121 = load i64, i64* %len, align 8 + %122 = load i64, i64* %buffersize.addr, align 8 + %cmp208 = icmp ult i64 %121, %122 + br i1 %cmp208, label %if.then210, label %if.end212 + +if.then210: ; preds = %if.end204 + %123 = load i8*, i8** %buffer.addr, align 8 + %124 = load i64, i64* %len, align 8 + %arrayidx211 = getelementptr inbounds i8, i8* %123, i64 %124 + store i8 34, i8* %arrayidx211, align 1 + br label %if.end212 + +if.end212: ; preds = %if.then210, %if.end204 + %125 = load i64, i64* %len, align 8 + %inc213 = add i64 %125, 1 + store i64 %inc213, i64* %len, align 8 + %126 = load i64, i64* %len, align 8 + %127 = load i64, i64* %buffersize.addr, align 8 + %cmp216 = icmp ult i64 %126, %127 + br i1 %cmp216, label %if.then218, label %if.end220 + +if.then218: ; preds = %if.end212 + %128 = load i8*, i8** %buffer.addr, align 8 + %129 = load i64, i64* %len, align 8 + %arrayidx219 = getelementptr inbounds i8, i8* %128, i64 %129 + store i8 34, i8* %arrayidx219, align 1 + br label %if.end220 + +if.end220: ; preds = %if.then218, %if.end212 + %130 = load i64, i64* %len, align 8 + %inc221 = add i64 %130, 1 + store i64 %inc221, i64* %len, align 8 + %131 = load i64, i64* %len, align 8 + %132 = load i64, i64* %buffersize.addr, align 8 + %cmp224 = icmp ult i64 %131, %132 + br i1 %cmp224, label %if.then226, label %if.end228 + +if.then226: ; preds = %if.end220 + %133 = load i8*, i8** %buffer.addr, align 8 + %134 = load i64, i64* %len, align 8 + %arrayidx227 = getelementptr inbounds i8, i8* %133, i64 %134 + store i8 63, i8* %arrayidx227, align 1 + br label %if.end228 + +if.end228: ; preds = %if.then226, %if.end220 + %135 = load i64, i64* %len, align 8 + %inc229 = add i64 %135, 1 + store i64 %inc229, i64* %len, align 8 + br label %sw.epilog564 + +sw.bb236: ; preds = %NodeBlock228 + store i8 97, i8* %esc, align 1 + br label %c_escape + +sw.bb237: ; preds = %NodeBlock226 + store i8 98, i8* %esc, align 1 + br label %c_escape + +sw.bb238: ; preds = %NodeBlock224 + store i8 102, i8* %esc, align 1 + br label %c_escape + +sw.bb239: ; preds = %NodeBlock222 + store i8 110, i8* %esc, align 1 + br label %c_and_shell_escape + +sw.bb240: ; preds = %NodeBlock220 + store i8 114, i8* %esc, align 1 + br label %c_and_shell_escape + +sw.bb241: ; preds = %NodeBlock218 + store i8 116, i8* %esc, align 1 + br label %c_and_shell_escape + +sw.bb242: ; preds = %NodeBlock216 + store i8 118, i8* %esc, align 1 + br label %c_escape + +sw.bb243: ; preds = %NodeBlock214 + %136 = load i8, i8* %c, align 1 + store i8 %136, i8* %esc, align 1 + %137 = load i32, i32* %quoting_style.addr, align 4 + %cmp244 = icmp eq i32 %137, 2 + br i1 %cmp244, label %if.then246, label %if.end250 + +if.then246: ; preds = %sw.bb243 + %138 = load i8, i8* %elide_outer_quotes, align 1 + %tobool247 = trunc i8 %138 to i1 + br i1 %tobool247, label %force_outer_quoting_style, label %do.body634 + +if.end250: ; preds = %sw.bb243 + %139 = load i8, i8* %backslash_escapes, align 1 + %tobool251 = trunc i8 %139 to i1 + br i1 %tobool251, label %land.lhs.true253, label %c_and_shell_escape + +land.lhs.true253: ; preds = %if.end250 + %140 = load i8, i8* %elide_outer_quotes, align 1 + %tobool254 = trunc i8 %140 to i1 + %141 = load i64, i64* %quote_string_len, align 8 + %tobool257 = icmp ne i64 %141, 0 + %or.cond3 = and i1 %tobool254, %tobool257 + br i1 %or.cond3, label %do.body634, label %c_and_shell_escape + +c_and_shell_escape: ; preds = %if.end250, %land.lhs.true253, %sw.bb241, %sw.bb240, %sw.bb239 + %142 = load i32, i32* %quoting_style.addr, align 4 + %cmp260 = icmp eq i32 %142, 2 + br i1 %cmp260, label %land.lhs.true262, label %c_escape + +land.lhs.true262: ; preds = %c_and_shell_escape + %143 = load i8, i8* %elide_outer_quotes, align 1 + %tobool263 = trunc i8 %143 to i1 + br i1 %tobool263, label %force_outer_quoting_style, label %c_escape + +c_escape: ; preds = %c_and_shell_escape, %land.lhs.true262, %sw.bb242, %sw.bb238, %sw.bb237, %sw.bb236 + %144 = load i8, i8* %backslash_escapes, align 1 + %tobool267 = trunc i8 %144 to i1 + br i1 %tobool267, label %if.then268, label %sw.epilog564 + +if.then268: ; preds = %c_escape + %145 = load i8, i8* %esc, align 1 + store i8 %145, i8* %c, align 1 + br label %do.body586 + +sw.bb270: ; preds = %NodeBlock212, %NodeBlock210 + %146 = load i64, i64* %argsize.addr, align 8 + %cmp271 = icmp eq i64 %146, -1 + br i1 %cmp271, label %cond.true273, label %cond.false278 + +cond.true273: ; preds = %sw.bb270 + %147 = load i8*, i8** %arg.addr, align 8 + %arrayidx274 = getelementptr inbounds i8, i8* %147, i64 1 + %148 = load i8, i8* %arrayidx274, align 1 + %conv275 = sext i8 %148 to i32 + %cmp276 = icmp eq i32 %conv275, 0 + br i1 %cmp276, label %sw.bb283, label %sw.epilog564 + +cond.false278: ; preds = %sw.bb270 + %149 = load i64, i64* %argsize.addr, align 8 + %cmp279 = icmp eq i64 %149, 1 + br i1 %cmp279, label %sw.bb283, label %sw.epilog564 + +sw.bb283: ; preds = %NodeBlock208, %NodeBlock206, %cond.true273, %cond.false278 + %150 = load i64, i64* %i, align 8 + %cmp284 = icmp ne i64 %150, 0 + br i1 %cmp284, label %sw.epilog564, label %sw.bb288 + +sw.bb288: ; preds = %NodeBlock204, %sw.bb283 + store i8 1, i8* %c_and_shell_quote_compat, align 1 + br label %sw.bb289 + +sw.bb289: ; preds = %NodeBlock202, %NodeBlock200, %NodeBlock198, %NodeBlock196, %NodeBlock194, %NodeBlock192, %NodeBlock190, %NodeBlock188, %NodeBlock186, %NodeBlock184, %NodeBlock182, %NodeBlock180, %NodeBlock178, %NodeBlock176, %NodeBlock174, %sw.bb288 + %151 = load i32, i32* %quoting_style.addr, align 4 + %cmp290 = icmp eq i32 %151, 2 + br i1 %cmp290, label %land.lhs.true292, label %sw.epilog564 + +land.lhs.true292: ; preds = %sw.bb289 + %152 = load i8, i8* %elide_outer_quotes, align 1 + %tobool293 = trunc i8 %152 to i1 + br i1 %tobool293, label %force_outer_quoting_style, label %sw.epilog564 + +sw.bb297: ; preds = %NodeBlock172 + store i8 1, i8* %encountered_single_quote, align 1 + store i8 1, i8* %c_and_shell_quote_compat, align 1 + %153 = load i32, i32* %quoting_style.addr, align 4 + %cmp298 = icmp eq i32 %153, 2 + br i1 %cmp298, label %if.then300, label %sw.epilog564 + +if.then300: ; preds = %sw.bb297 + %154 = load i8, i8* %elide_outer_quotes, align 1 + %tobool301 = trunc i8 %154 to i1 + br i1 %tobool301, label %force_outer_quoting_style, label %if.end303 + +if.end303: ; preds = %if.then300 + %155 = load i64, i64* %buffersize.addr, align 8 + %tobool304 = icmp eq i64 %155, 0 + %156 = load i64, i64* %orig_buffersize, align 8 + %tobool306 = icmp ne i64 %156, 0 + %or.cond4 = or i1 %tobool304, %tobool306 + br i1 %or.cond4, label %do.body309, label %if.then307 + +if.then307: ; preds = %if.end303 + %157 = load i64, i64* %buffersize.addr, align 8 + store i64 %157, i64* %orig_buffersize, align 8 + store i64 0, i64* %buffersize.addr, align 8 + br label %do.body309 + +do.body309: ; preds = %if.then307, %if.end303 + %158 = load i64, i64* %len, align 8 + %159 = load i64, i64* %buffersize.addr, align 8 + %cmp310 = icmp ult i64 %158, %159 + br i1 %cmp310, label %if.then312, label %if.end314 + +if.then312: ; preds = %do.body309 + %160 = load i8*, i8** %buffer.addr, align 8 + %161 = load i64, i64* %len, align 8 + %arrayidx313 = getelementptr inbounds i8, i8* %160, i64 %161 + store i8 39, i8* %arrayidx313, align 1 + br label %if.end314 + +if.end314: ; preds = %if.then312, %do.body309 + %162 = load i64, i64* %len, align 8 + %inc315 = add i64 %162, 1 + store i64 %inc315, i64* %len, align 8 + %163 = load i64, i64* %len, align 8 + %164 = load i64, i64* %buffersize.addr, align 8 + %cmp318 = icmp ult i64 %163, %164 + br i1 %cmp318, label %if.then320, label %if.end322 + +if.then320: ; preds = %if.end314 + %165 = load i8*, i8** %buffer.addr, align 8 + %166 = load i64, i64* %len, align 8 + %arrayidx321 = getelementptr inbounds i8, i8* %165, i64 %166 + store i8 92, i8* %arrayidx321, align 1 + br label %if.end322 + +if.end322: ; preds = %if.then320, %if.end314 + %167 = load i64, i64* %len, align 8 + %inc323 = add i64 %167, 1 + store i64 %inc323, i64* %len, align 8 + %168 = load i64, i64* %len, align 8 + %169 = load i64, i64* %buffersize.addr, align 8 + %cmp326 = icmp ult i64 %168, %169 + br i1 %cmp326, label %if.then328, label %if.end330 + +if.then328: ; preds = %if.end322 + %170 = load i8*, i8** %buffer.addr, align 8 + %171 = load i64, i64* %len, align 8 + %arrayidx329 = getelementptr inbounds i8, i8* %170, i64 %171 + store i8 39, i8* %arrayidx329, align 1 + br label %if.end330 + +if.end330: ; preds = %if.then328, %if.end322 + %172 = load i64, i64* %len, align 8 + %inc331 = add i64 %172, 1 + store i64 %inc331, i64* %len, align 8 + store i8 0, i8* %pending_shell_escape_end, align 1 + br label %sw.epilog564 + +sw.bb334: ; preds = %NodeBlock170, %NodeBlock168, %NodeBlock166, %NodeBlock164, %NodeBlock162, %NodeBlock160, %NodeBlock158, %NodeBlock156, %NodeBlock154, %NodeBlock152, %NodeBlock150, %NodeBlock148, %NodeBlock146, %NodeBlock144, %NodeBlock142, %NodeBlock140, %NodeBlock138, %NodeBlock136, %NodeBlock134, %NodeBlock132, %NodeBlock130, %NodeBlock128, %NodeBlock126, %NodeBlock124, %NodeBlock122, %NodeBlock120, %NodeBlock118, %NodeBlock116, %NodeBlock114, %NodeBlock112, %NodeBlock110, %NodeBlock108, %NodeBlock106, %NodeBlock104, %NodeBlock102, %NodeBlock100, %NodeBlock98, %NodeBlock96, %NodeBlock94, %NodeBlock92, %NodeBlock90, %NodeBlock88, %NodeBlock86, %NodeBlock84, %NodeBlock82, %NodeBlock80, %NodeBlock78, %NodeBlock76, %NodeBlock74, %NodeBlock72, %NodeBlock70, %NodeBlock68, %NodeBlock66, %NodeBlock64, %NodeBlock62, %NodeBlock60, %NodeBlock58, %NodeBlock56, %NodeBlock54, %NodeBlock52, %NodeBlock50, %NodeBlock48, %NodeBlock46, %NodeBlock44, %NodeBlock42, %NodeBlock40, %NodeBlock38, %NodeBlock36, %NodeBlock34, %NodeBlock32, %NodeBlock30 + store i8 1, i8* %c_and_shell_quote_compat, align 1 + br label %sw.epilog564 + +newDefault29: ; preds = %NodeBlock30 + br label %sw.default335 + +sw.default335: ; preds = %newDefault29 + %173 = load i8, i8* %unibyte_locale, align 1 + %tobool336 = trunc i8 %173 to i1 + br i1 %tobool336, label %if.then337, label %if.else346 + +if.then337: ; preds = %sw.default335 + store i64 1, i64* %m, align 8 + %call338 = call i16** @__ctype_b_loc() #25 + %174 = load i16*, i16** %call338, align 8 + %175 = load i8, i8* %c, align 1 + %conv339 = zext i8 %175 to i32 + %idxprom = sext i32 %conv339 to i64 + %arrayidx340 = getelementptr inbounds i16, i16* %174, i64 %idxprom + %176 = load i16, i16* %arrayidx340, align 2 + %conv341 = zext i16 %176 to i32 + %and342 = and i32 %conv341, 16384 + %cmp343 = icmp ne i32 %and342, 0 + %frombool345 = zext i1 %cmp343 to i8 + store i8 %frombool345, i8* %printable, align 1 + br label %if.end410 + +if.else346: ; preds = %sw.default335 + %177 = bitcast %struct.__mbstate_t* %mbstate to i8* + %178 = call i8* @memset(i8* %177, i32 0, i64 8) + store i64 0, i64* %m, align 8 + store i8 1, i8* %printable, align 1 + %179 = load i64, i64* %argsize.addr, align 8 + %cmp347 = icmp eq i64 %179, -1 + br i1 %cmp347, label %if.then349, label %if.end351 + +if.then349: ; preds = %if.else346 + %180 = load i8*, i8** %arg.addr, align 8 + %call350 = call i64 @strlen(i8* %180) #23 + store i64 %call350, i64* %argsize.addr, align 8 + br label %if.end351 + +if.end351: ; preds = %if.then349, %if.else346 + br label %do.body352 + +do.body352: ; preds = %if.end401, %if.end351 + %181 = load i8*, i8** %arg.addr, align 8 + %182 = load i64, i64* %i, align 8 + %183 = load i64, i64* %m, align 8 + %add353 = add i64 %182, %183 + %arrayidx354 = getelementptr inbounds i8, i8* %181, i64 %add353 + %184 = load i64, i64* %argsize.addr, align 8 + %185 = load i64, i64* %i, align 8 + %186 = load i64, i64* %m, align 8 + %add355 = add i64 %185, %186 + %sub = sub i64 %184, %add355 + %call356 = call i64 @rpl_mbrtowc(i32* %w, i8* %arrayidx354, i64 %sub, %struct.__mbstate_t* %mbstate) + store i64 %call356, i64* %bytes, align 8 + %187 = load i64, i64* %bytes, align 8 + %cmp357 = icmp eq i64 %187, 0 + br i1 %cmp357, label %if.end410, label %if.else360 + +if.else360: ; preds = %do.body352 + %188 = load i64, i64* %bytes, align 8 + %cmp361 = icmp eq i64 %188, -1 + br i1 %cmp361, label %if.then363, label %if.else364 + +if.then363: ; preds = %if.else360 + store i8 0, i8* %printable, align 1 + br label %if.end410 + +if.else364: ; preds = %if.else360 + %189 = load i64, i64* %bytes, align 8 + %cmp365 = icmp eq i64 %189, -2 + br i1 %cmp365, label %if.then367, label %if.else376 + +if.then367: ; preds = %if.else364 + store i8 0, i8* %printable, align 1 + br label %while.cond + +while.cond: ; preds = %while.body, %if.then367 + %190 = load i64, i64* %i, align 8 + %191 = load i64, i64* %m, align 8 + %add368 = add i64 %190, %191 + %192 = load i64, i64* %argsize.addr, align 8 + %cmp369 = icmp ult i64 %add368, %192 + br i1 %cmp369, label %land.rhs, label %if.end410 + +land.rhs: ; preds = %while.cond + %193 = load i8*, i8** %arg.addr, align 8 + %194 = load i64, i64* %i, align 8 + %195 = load i64, i64* %m, align 8 + %add371 = add i64 %194, %195 + %arrayidx372 = getelementptr inbounds i8, i8* %193, i64 %add371 + %196 = load i8, i8* %arrayidx372, align 1 + %conv373 = sext i8 %196 to i32 + %tobool374 = icmp ne i32 %conv373, 0 + br i1 %tobool374, label %while.body, label %if.end410 + +while.body: ; preds = %land.rhs + %197 = load i64, i64* %m, align 8 + %inc375 = add i64 %197, 1 + store i64 %inc375, i64* %m, align 8 + br label %while.cond + +if.else376: ; preds = %if.else364 + %198 = load i8, i8* %elide_outer_quotes, align 1 + %tobool377 = trunc i8 %198 to i1 + %199 = load i32, i32* %quoting_style.addr, align 4 + %cmp380 = icmp eq i32 %199, 2 + %or.cond5 = and i1 %tobool377, %cmp380 + br i1 %or.cond5, label %if.then382, label %if.end397 + +if.then382: ; preds = %if.else376 + store i64 1, i64* %j, align 8 + br label %for.cond383 + +for.cond383: ; preds = %for.inc394, %if.then382 + %200 = load i64, i64* %j, align 8 + %201 = load i64, i64* %bytes, align 8 + %cmp384 = icmp ult i64 %200, %201 + br i1 %cmp384, label %for.body386, label %if.end397 + +for.body386: ; preds = %for.cond383 + %202 = load i8*, i8** %arg.addr, align 8 + %203 = load i64, i64* %i, align 8 + %204 = load i64, i64* %m, align 8 + %add387 = add i64 %203, %204 + %205 = load i64, i64* %j, align 8 + %add388 = add i64 %add387, %205 + %arrayidx389 = getelementptr inbounds i8, i8* %202, i64 %add388 + %206 = load i8, i8* %arrayidx389, align 1 + %conv390 = sext i8 %206 to i32 + br label %NodeBlock267 + +NodeBlock267: ; preds = %for.body386 + %case.cmp268 = icmp eq i32 %conv390, 91 + br i1 %case.cmp268, label %force_outer_quoting_style, label %NodeBlock265 + +NodeBlock265: ; preds = %NodeBlock267 + %case.cmp266 = icmp eq i32 %conv390, 92 + br i1 %case.cmp266, label %force_outer_quoting_style, label %NodeBlock263 + +NodeBlock263: ; preds = %NodeBlock265 + %case.cmp264 = icmp eq i32 %conv390, 94 + br i1 %case.cmp264, label %force_outer_quoting_style, label %NodeBlock261 + +NodeBlock261: ; preds = %NodeBlock263 + %case.cmp262 = icmp eq i32 %conv390, 96 + br i1 %case.cmp262, label %force_outer_quoting_style, label %NodeBlock259 + +NodeBlock259: ; preds = %NodeBlock261 + %case.cmp260 = icmp eq i32 %conv390, 124 + br i1 %case.cmp260, label %force_outer_quoting_style, label %newDefault258 + +newDefault258: ; preds = %NodeBlock259 + br label %for.inc394 + +for.inc394: ; preds = %newDefault258 + %207 = load i64, i64* %j, align 8 + %inc395 = add i64 %207, 1 + store i64 %inc395, i64* %j, align 8 + br label %for.cond383 + +if.end397: ; preds = %for.cond383, %if.else376 + %208 = load i32, i32* %w, align 4 + %call398 = call i32 @iswprint(i32 %208) #11 + %tobool399 = icmp ne i32 %call398, 0 + br i1 %tobool399, label %if.end401, label %if.then400 + +if.then400: ; preds = %if.end397 + store i8 0, i8* %printable, align 1 + br label %if.end401 + +if.end401: ; preds = %if.then400, %if.end397 + %209 = load i64, i64* %bytes, align 8 + %210 = load i64, i64* %m, align 8 + %add402 = add i64 %210, %209 + store i64 %add402, i64* %m, align 8 + %call406 = call i32 bitcast (i32 (%struct.__mbstate_t.512*)* @mbsinit to i32 (%struct.__mbstate_t*)*)(%struct.__mbstate_t* %mbstate) #23 + %tobool407 = icmp ne i32 %call406, 0 + %lnot408 = xor i1 %tobool407, true + br i1 %lnot408, label %do.body352, label %if.end410 + +if.end410: ; preds = %if.then363, %if.end401, %do.body352, %while.cond, %land.rhs, %if.then337 + %211 = load i8, i8* %printable, align 1 + %tobool411 = trunc i8 %211 to i1 + %frombool412 = zext i1 %tobool411 to i8 + store i8 %frombool412, i8* %c_and_shell_quote_compat, align 1 + %212 = load i64, i64* %m, align 8 + %cmp413 = icmp ult i64 1, %212 + br i1 %cmp413, label %if.then419, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end410 + %213 = load i8, i8* %backslash_escapes, align 1 + %tobool415 = trunc i8 %213 to i1 + br i1 %tobool415, label %land.lhs.true417, label %sw.epilog564 + +land.lhs.true417: ; preds = %lor.lhs.false + %214 = load i8, i8* %printable, align 1 + %tobool418 = trunc i8 %214 to i1 + br i1 %tobool418, label %sw.epilog564, label %if.then419 + +if.then419: ; preds = %land.lhs.true417, %if.end410 + %215 = load i64, i64* %i, align 8 + %216 = load i64, i64* %m, align 8 + %add420 = add i64 %215, %216 + store i64 %add420, i64* %ilim, align 8 + br label %for.cond421 + +for.cond421: ; preds = %if.end556, %if.then419 + %217 = load i8, i8* %backslash_escapes, align 1 + %tobool422 = trunc i8 %217 to i1 + br i1 %tobool422, label %land.lhs.true424, label %if.else505 + +land.lhs.true424: ; preds = %for.cond421 + %218 = load i8, i8* %printable, align 1 + %tobool425 = trunc i8 %218 to i1 + br i1 %tobool425, label %if.else505, label %do.body427 + +do.body427: ; preds = %land.lhs.true424 + %219 = load i8, i8* %elide_outer_quotes, align 1 + %tobool428 = trunc i8 %219 to i1 + br i1 %tobool428, label %force_outer_quoting_style, label %if.end430 + +if.end430: ; preds = %do.body427 + store i8 1, i8* %escaping, align 1 + %220 = load i32, i32* %quoting_style.addr, align 4 + %cmp431 = icmp eq i32 %220, 2 + br i1 %cmp431, label %land.lhs.true433, label %do.body464 + +land.lhs.true433: ; preds = %if.end430 + %221 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool434 = trunc i8 %221 to i1 + br i1 %tobool434, label %do.body464, label %do.body436 + +do.body436: ; preds = %land.lhs.true433 + %222 = load i64, i64* %len, align 8 + %223 = load i64, i64* %buffersize.addr, align 8 + %cmp437 = icmp ult i64 %222, %223 + br i1 %cmp437, label %if.then439, label %if.end441 + +if.then439: ; preds = %do.body436 + %224 = load i8*, i8** %buffer.addr, align 8 + %225 = load i64, i64* %len, align 8 + %arrayidx440 = getelementptr inbounds i8, i8* %224, i64 %225 + store i8 39, i8* %arrayidx440, align 1 + br label %if.end441 + +if.end441: ; preds = %if.then439, %do.body436 + %226 = load i64, i64* %len, align 8 + %inc442 = add i64 %226, 1 + store i64 %inc442, i64* %len, align 8 + %227 = load i64, i64* %len, align 8 + %228 = load i64, i64* %buffersize.addr, align 8 + %cmp446 = icmp ult i64 %227, %228 + br i1 %cmp446, label %if.then448, label %if.end450 + +if.then448: ; preds = %if.end441 + %229 = load i8*, i8** %buffer.addr, align 8 + %230 = load i64, i64* %len, align 8 + %arrayidx449 = getelementptr inbounds i8, i8* %229, i64 %230 + store i8 36, i8* %arrayidx449, align 1 + br label %if.end450 + +if.end450: ; preds = %if.then448, %if.end441 + %231 = load i64, i64* %len, align 8 + %inc451 = add i64 %231, 1 + store i64 %inc451, i64* %len, align 8 + %232 = load i64, i64* %len, align 8 + %233 = load i64, i64* %buffersize.addr, align 8 + %cmp455 = icmp ult i64 %232, %233 + br i1 %cmp455, label %if.then457, label %if.end459 + +if.then457: ; preds = %if.end450 + %234 = load i8*, i8** %buffer.addr, align 8 + %235 = load i64, i64* %len, align 8 + %arrayidx458 = getelementptr inbounds i8, i8* %234, i64 %235 + store i8 39, i8* %arrayidx458, align 1 + br label %if.end459 + +if.end459: ; preds = %if.then457, %if.end450 + %236 = load i64, i64* %len, align 8 + %inc460 = add i64 %236, 1 + store i64 %inc460, i64* %len, align 8 + store i8 1, i8* %pending_shell_escape_end, align 1 + br label %do.body464 + +do.body464: ; preds = %if.end430, %land.lhs.true433, %if.end459 + %237 = load i64, i64* %len, align 8 + %238 = load i64, i64* %buffersize.addr, align 8 + %cmp465 = icmp ult i64 %237, %238 + br i1 %cmp465, label %if.then467, label %if.end469 + +if.then467: ; preds = %do.body464 + %239 = load i8*, i8** %buffer.addr, align 8 + %240 = load i64, i64* %len, align 8 + %arrayidx468 = getelementptr inbounds i8, i8* %239, i64 %240 + store i8 92, i8* %arrayidx468, align 1 + br label %if.end469 + +if.end469: ; preds = %if.then467, %do.body464 + %241 = load i64, i64* %len, align 8 + %inc470 = add i64 %241, 1 + store i64 %inc470, i64* %len, align 8 + %242 = load i64, i64* %len, align 8 + %243 = load i64, i64* %buffersize.addr, align 8 + %cmp476 = icmp ult i64 %242, %243 + br i1 %cmp476, label %if.then478, label %if.end483 + +if.then478: ; preds = %if.end469 + %244 = load i8, i8* %c, align 1 + %conv479 = zext i8 %244 to i32 + %shr = ashr i32 %conv479, 6 + %add480 = add nsw i32 48, %shr + %conv481 = trunc i32 %add480 to i8 + %245 = load i8*, i8** %buffer.addr, align 8 + %246 = load i64, i64* %len, align 8 + %arrayidx482 = getelementptr inbounds i8, i8* %245, i64 %246 + store i8 %conv481, i8* %arrayidx482, align 1 + br label %if.end483 + +if.end483: ; preds = %if.then478, %if.end469 + %247 = load i64, i64* %len, align 8 + %inc484 = add i64 %247, 1 + store i64 %inc484, i64* %len, align 8 + %248 = load i64, i64* %len, align 8 + %249 = load i64, i64* %buffersize.addr, align 8 + %cmp488 = icmp ult i64 %248, %249 + br i1 %cmp488, label %if.then490, label %if.end497 + +if.then490: ; preds = %if.end483 + %250 = load i8, i8* %c, align 1 + %conv491 = zext i8 %250 to i32 + %shr492 = ashr i32 %conv491, 3 + %and493 = and i32 %shr492, 7 + %add494 = add nsw i32 48, %and493 + %conv495 = trunc i32 %add494 to i8 + %251 = load i8*, i8** %buffer.addr, align 8 + %252 = load i64, i64* %len, align 8 + %arrayidx496 = getelementptr inbounds i8, i8* %251, i64 %252 + store i8 %conv495, i8* %arrayidx496, align 1 + br label %if.end497 + +if.end497: ; preds = %if.then490, %if.end483 + %253 = load i64, i64* %len, align 8 + %inc498 = add i64 %253, 1 + store i64 %inc498, i64* %len, align 8 + %254 = load i8, i8* %c, align 1 + %conv501 = zext i8 %254 to i32 + %and502 = and i32 %conv501, 7 + %add503 = add nsw i32 48, %and502 + %conv504 = trunc i32 %add503 to i8 + store i8 %conv504, i8* %c, align 1 + br label %if.end518 + +if.else505: ; preds = %land.lhs.true424, %for.cond421 + %255 = load i8, i8* %is_right_quote, align 1 + %tobool506 = trunc i8 %255 to i1 + br i1 %tobool506, label %do.body508, label %if.end518 + +do.body508: ; preds = %if.else505 + %256 = load i64, i64* %len, align 8 + %257 = load i64, i64* %buffersize.addr, align 8 + %cmp509 = icmp ult i64 %256, %257 + br i1 %cmp509, label %if.then511, label %if.end513 + +if.then511: ; preds = %do.body508 + %258 = load i8*, i8** %buffer.addr, align 8 + %259 = load i64, i64* %len, align 8 + %arrayidx512 = getelementptr inbounds i8, i8* %258, i64 %259 + store i8 92, i8* %arrayidx512, align 1 + br label %if.end513 + +if.end513: ; preds = %if.then511, %do.body508 + %260 = load i64, i64* %len, align 8 + %inc514 = add i64 %260, 1 + store i64 %inc514, i64* %len, align 8 + store i8 0, i8* %is_right_quote, align 1 + br label %if.end518 + +if.end518: ; preds = %if.else505, %if.end513, %if.end497 + %261 = load i64, i64* %ilim, align 8 + %262 = load i64, i64* %i, align 8 + %add519 = add i64 %262, 1 + %cmp520 = icmp ule i64 %261, %add519 + br i1 %cmp520, label %do.body634, label %do.body524 + +do.body524: ; preds = %if.end518 + %263 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool525 = trunc i8 %263 to i1 + br i1 %tobool525, label %land.lhs.true527, label %do.body551 + +land.lhs.true527: ; preds = %do.body524 + %264 = load i8, i8* %escaping, align 1 + %tobool528 = trunc i8 %264 to i1 + br i1 %tobool528, label %do.body551, label %do.body530 + +do.body530: ; preds = %land.lhs.true527 + %265 = load i64, i64* %len, align 8 + %266 = load i64, i64* %buffersize.addr, align 8 + %cmp531 = icmp ult i64 %265, %266 + br i1 %cmp531, label %if.then533, label %if.end535 + +if.then533: ; preds = %do.body530 + %267 = load i8*, i8** %buffer.addr, align 8 + %268 = load i64, i64* %len, align 8 + %arrayidx534 = getelementptr inbounds i8, i8* %267, i64 %268 + store i8 39, i8* %arrayidx534, align 1 + br label %if.end535 + +if.end535: ; preds = %if.then533, %do.body530 + %269 = load i64, i64* %len, align 8 + %inc536 = add i64 %269, 1 + store i64 %inc536, i64* %len, align 8 + %270 = load i64, i64* %len, align 8 + %271 = load i64, i64* %buffersize.addr, align 8 + %cmp540 = icmp ult i64 %270, %271 + br i1 %cmp540, label %if.then542, label %if.end544 + +if.then542: ; preds = %if.end535 + %272 = load i8*, i8** %buffer.addr, align 8 + %273 = load i64, i64* %len, align 8 + %arrayidx543 = getelementptr inbounds i8, i8* %272, i64 %273 + store i8 39, i8* %arrayidx543, align 1 + br label %if.end544 + +if.end544: ; preds = %if.then542, %if.end535 + %274 = load i64, i64* %len, align 8 + %inc545 = add i64 %274, 1 + store i64 %inc545, i64* %len, align 8 + store i8 0, i8* %pending_shell_escape_end, align 1 + br label %do.body551 + +do.body551: ; preds = %if.end544, %land.lhs.true527, %do.body524 + %275 = load i64, i64* %len, align 8 + %276 = load i64, i64* %buffersize.addr, align 8 + %cmp552 = icmp ult i64 %275, %276 + br i1 %cmp552, label %if.then554, label %if.end556 + +if.then554: ; preds = %do.body551 + %277 = load i8, i8* %c, align 1 + %278 = load i8*, i8** %buffer.addr, align 8 + %279 = load i64, i64* %len, align 8 + %arrayidx555 = getelementptr inbounds i8, i8* %278, i64 %279 + store i8 %277, i8* %arrayidx555, align 1 + br label %if.end556 + +if.end556: ; preds = %if.then554, %do.body551 + %280 = load i64, i64* %len, align 8 + %inc557 = add i64 %280, 1 + store i64 %inc557, i64* %len, align 8 + %281 = load i8*, i8** %arg.addr, align 8 + %282 = load i64, i64* %i, align 8 + %inc560 = add i64 %282, 1 + store i64 %inc560, i64* %i, align 8 + %arrayidx561 = getelementptr inbounds i8, i8* %281, i64 %inc560 + %283 = load i8, i8* %arrayidx561, align 1 + store i8 %283, i8* %c, align 1 + br label %for.cond421 + +newDefault234: ; preds = %NodeBlock235 + br label %sw.epilog564 + +newDefault239: ; preds = %NodeBlock240 + br label %sw.epilog564 + +sw.epilog564: ; preds = %newDefault239, %newDefault234, %lor.lhs.false, %land.lhs.true417, %sw.bb297, %if.end330, %sw.bb289, %land.lhs.true292, %sw.bb283, %cond.true273, %cond.false278, %c_escape, %sw.bb171, %if.end228, %land.lhs.true182, %land.lhs.true178, %sw.bb175, %if.end164, %if.else, %sw.bb334 + %284 = load i8, i8* %backslash_escapes, align 1 + %tobool565 = trunc i8 %284 to i1 + %285 = load i32, i32* %quoting_style.addr, align 4 + %cmp568 = icmp ne i32 %285, 2 + %or.cond6 = and i1 %tobool565, %cmp568 + br i1 %or.cond6, label %land.lhs.true573, label %lor.lhs.false570 + +lor.lhs.false570: ; preds = %sw.epilog564 + %286 = load i8, i8* %elide_outer_quotes, align 1 + %tobool571 = trunc i8 %286 to i1 + br i1 %tobool571, label %land.lhs.true573, label %land.lhs.true582 + +land.lhs.true573: ; preds = %sw.epilog564, %lor.lhs.false570 + %287 = load i32*, i32** %quote_these_too.addr, align 8 + %tobool574 = icmp ne i32* %287, null + br i1 %tobool574, label %land.lhs.true575, label %land.lhs.true582 + +land.lhs.true575: ; preds = %land.lhs.true573 + %288 = load i32*, i32** %quote_these_too.addr, align 8 + %289 = load i8, i8* %c, align 1 + %conv576 = zext i8 %289 to i64 + %div = udiv i64 %conv576, 32 + %arrayidx577 = getelementptr inbounds i32, i32* %288, i64 %div + %290 = load i32, i32* %arrayidx577, align 4 + %291 = load i8, i8* %c, align 1 + %conv578 = zext i8 %291 to i64 + %rem = urem i64 %conv578, 32 + %sh_prom = trunc i64 %rem to i32 + %shr579 = lshr i32 %290, %sh_prom + %and580 = and i32 %shr579, 1 + %tobool581 = icmp ne i32 %and580, 0 + br i1 %tobool581, label %do.body586, label %land.lhs.true582 + +land.lhs.true582: ; preds = %land.lhs.true575, %land.lhs.true573, %lor.lhs.false570 + %292 = load i8, i8* %is_right_quote, align 1 + %tobool583 = trunc i8 %292 to i1 + br i1 %tobool583, label %do.body586, label %do.body634 + +do.body586: ; preds = %if.then268, %land.lhs.true582, %land.lhs.true575 + %293 = load i8, i8* %elide_outer_quotes, align 1 + %tobool587 = trunc i8 %293 to i1 + br i1 %tobool587, label %force_outer_quoting_style, label %if.end589 + +if.end589: ; preds = %do.body586 + store i8 1, i8* %escaping, align 1 + %294 = load i32, i32* %quoting_style.addr, align 4 + %cmp590 = icmp eq i32 %294, 2 + br i1 %cmp590, label %land.lhs.true592, label %do.body623 + +land.lhs.true592: ; preds = %if.end589 + %295 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool593 = trunc i8 %295 to i1 + br i1 %tobool593, label %do.body623, label %do.body595 + +do.body595: ; preds = %land.lhs.true592 + %296 = load i64, i64* %len, align 8 + %297 = load i64, i64* %buffersize.addr, align 8 + %cmp596 = icmp ult i64 %296, %297 + br i1 %cmp596, label %if.then598, label %if.end600 + +if.then598: ; preds = %do.body595 + %298 = load i8*, i8** %buffer.addr, align 8 + %299 = load i64, i64* %len, align 8 + %arrayidx599 = getelementptr inbounds i8, i8* %298, i64 %299 + store i8 39, i8* %arrayidx599, align 1 + br label %if.end600 + +if.end600: ; preds = %if.then598, %do.body595 + %300 = load i64, i64* %len, align 8 + %inc601 = add i64 %300, 1 + store i64 %inc601, i64* %len, align 8 + %301 = load i64, i64* %len, align 8 + %302 = load i64, i64* %buffersize.addr, align 8 + %cmp605 = icmp ult i64 %301, %302 + br i1 %cmp605, label %if.then607, label %if.end609 + +if.then607: ; preds = %if.end600 + %303 = load i8*, i8** %buffer.addr, align 8 + %304 = load i64, i64* %len, align 8 + %arrayidx608 = getelementptr inbounds i8, i8* %303, i64 %304 + store i8 36, i8* %arrayidx608, align 1 + br label %if.end609 + +if.end609: ; preds = %if.then607, %if.end600 + %305 = load i64, i64* %len, align 8 + %inc610 = add i64 %305, 1 + store i64 %inc610, i64* %len, align 8 + %306 = load i64, i64* %len, align 8 + %307 = load i64, i64* %buffersize.addr, align 8 + %cmp614 = icmp ult i64 %306, %307 + br i1 %cmp614, label %if.then616, label %if.end618 + +if.then616: ; preds = %if.end609 + %308 = load i8*, i8** %buffer.addr, align 8 + %309 = load i64, i64* %len, align 8 + %arrayidx617 = getelementptr inbounds i8, i8* %308, i64 %309 + store i8 39, i8* %arrayidx617, align 1 + br label %if.end618 + +if.end618: ; preds = %if.then616, %if.end609 + %310 = load i64, i64* %len, align 8 + %inc619 = add i64 %310, 1 + store i64 %inc619, i64* %len, align 8 + store i8 1, i8* %pending_shell_escape_end, align 1 + br label %do.body623 + +do.body623: ; preds = %if.end589, %land.lhs.true592, %if.end618 + %311 = load i64, i64* %len, align 8 + %312 = load i64, i64* %buffersize.addr, align 8 + %cmp624 = icmp ult i64 %311, %312 + br i1 %cmp624, label %if.then626, label %if.end628 + +if.then626: ; preds = %do.body623 + %313 = load i8*, i8** %buffer.addr, align 8 + %314 = load i64, i64* %len, align 8 + %arrayidx627 = getelementptr inbounds i8, i8* %313, i64 %314 + store i8 92, i8* %arrayidx627, align 1 + br label %if.end628 + +if.end628: ; preds = %if.then626, %do.body623 + %315 = load i64, i64* %len, align 8 + %inc629 = add i64 %315, 1 + store i64 %inc629, i64* %len, align 8 + br label %do.body634 + +do.body634: ; preds = %if.end628, %if.then246, %land.lhs.true253, %if.end518, %land.lhs.true582 + %316 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool635 = trunc i8 %316 to i1 + br i1 %tobool635, label %land.lhs.true637, label %do.body661 + +land.lhs.true637: ; preds = %do.body634 + %317 = load i8, i8* %escaping, align 1 + %tobool638 = trunc i8 %317 to i1 + br i1 %tobool638, label %do.body661, label %do.body640 + +do.body640: ; preds = %land.lhs.true637 + %318 = load i64, i64* %len, align 8 + %319 = load i64, i64* %buffersize.addr, align 8 + %cmp641 = icmp ult i64 %318, %319 + br i1 %cmp641, label %if.then643, label %if.end645 + +if.then643: ; preds = %do.body640 + %320 = load i8*, i8** %buffer.addr, align 8 + %321 = load i64, i64* %len, align 8 + %arrayidx644 = getelementptr inbounds i8, i8* %320, i64 %321 + store i8 39, i8* %arrayidx644, align 1 + br label %if.end645 + +if.end645: ; preds = %if.then643, %do.body640 + %322 = load i64, i64* %len, align 8 + %inc646 = add i64 %322, 1 + store i64 %inc646, i64* %len, align 8 + %323 = load i64, i64* %len, align 8 + %324 = load i64, i64* %buffersize.addr, align 8 + %cmp650 = icmp ult i64 %323, %324 + br i1 %cmp650, label %if.then652, label %if.end654 + +if.then652: ; preds = %if.end645 + %325 = load i8*, i8** %buffer.addr, align 8 + %326 = load i64, i64* %len, align 8 + %arrayidx653 = getelementptr inbounds i8, i8* %325, i64 %326 + store i8 39, i8* %arrayidx653, align 1 + br label %if.end654 + +if.end654: ; preds = %if.then652, %if.end645 + %327 = load i64, i64* %len, align 8 + %inc655 = add i64 %327, 1 + store i64 %inc655, i64* %len, align 8 + store i8 0, i8* %pending_shell_escape_end, align 1 + br label %do.body661 + +do.body661: ; preds = %if.end654, %land.lhs.true637, %do.body634 + %328 = load i64, i64* %len, align 8 + %329 = load i64, i64* %buffersize.addr, align 8 + %cmp662 = icmp ult i64 %328, %329 + br i1 %cmp662, label %if.then664, label %if.end666 + +if.then664: ; preds = %do.body661 + %330 = load i8, i8* %c, align 1 + %331 = load i8*, i8** %buffer.addr, align 8 + %332 = load i64, i64* %len, align 8 + %arrayidx665 = getelementptr inbounds i8, i8* %331, i64 %332 + store i8 %330, i8* %arrayidx665, align 1 + br label %if.end666 + +if.end666: ; preds = %if.then664, %do.body661 + %333 = load i64, i64* %len, align 8 + %inc667 = add i64 %333, 1 + store i64 %inc667, i64* %len, align 8 + %334 = load i8, i8* %c_and_shell_quote_compat, align 1 + %tobool670 = trunc i8 %334 to i1 + br i1 %tobool670, label %for.inc673, label %if.then671 + +if.then671: ; preds = %if.end666 + store i8 0, i8* %all_c_and_shell_quote_compat, align 1 + br label %for.inc673 + +for.inc673: ; preds = %if.end666, %if.then671, %if.else + %335 = load i64, i64* %i, align 8 + %inc674 = add i64 %335, 1 + store i64 %inc674, i64* %i, align 8 + br label %for.cond44 + +for.end675: ; preds = %cond.end + %336 = load i64, i64* %len, align 8 + %cmp676 = icmp eq i64 %336, 0 + %337 = load i32, i32* %quoting_style.addr, align 4 + %cmp679 = icmp eq i32 %337, 2 + %or.cond7 = and i1 %cmp676, %cmp679 + br i1 %or.cond7, label %land.lhs.true681, label %if.end685 + +land.lhs.true681: ; preds = %for.end675 + %338 = load i8, i8* %elide_outer_quotes, align 1 + %tobool682 = trunc i8 %338 to i1 + br i1 %tobool682, label %force_outer_quoting_style, label %if.end685 + +if.end685: ; preds = %land.lhs.true681, %for.end675 + %339 = load i32, i32* %quoting_style.addr, align 4 + %cmp686 = icmp eq i32 %339, 2 + br i1 %cmp686, label %land.lhs.true688, label %if.end704 + +land.lhs.true688: ; preds = %if.end685 + %340 = load i8, i8* %elide_outer_quotes, align 1 + %tobool689 = trunc i8 %340 to i1 + br i1 %tobool689, label %if.end704, label %land.lhs.true690 + +land.lhs.true690: ; preds = %land.lhs.true688 + %341 = load i8, i8* %encountered_single_quote, align 1 + %tobool691 = trunc i8 %341 to i1 + br i1 %tobool691, label %if.then693, label %if.end704 + +if.then693: ; preds = %land.lhs.true690 + %342 = load i8, i8* %all_c_and_shell_quote_compat, align 1 + %tobool694 = trunc i8 %342 to i1 + br i1 %tobool694, label %if.then695, label %if.else697 + +if.then695: ; preds = %if.then693 + %343 = load i8*, i8** %buffer.addr, align 8 + %344 = load i64, i64* %orig_buffersize, align 8 + %345 = load i8*, i8** %arg.addr, align 8 + %346 = load i64, i64* %argsize.addr, align 8 + %347 = load i32, i32* %flags.addr, align 4 + %348 = load i32*, i32** %quote_these_too.addr, align 8 + %349 = load i8*, i8** %left_quote.addr, align 8 + %350 = load i8*, i8** %right_quote.addr, align 8 + %call696 = call i64 @quotearg_buffer_restyled(i8* %343, i64 %344, i8* %345, i64 %346, i32 5, i32 %347, i32* %348, i8* %349, i8* %350) + store i64 %call696, i64* %retval, align 8 + br label %return + +if.else697: ; preds = %if.then693 + %351 = load i64, i64* %buffersize.addr, align 8 + %tobool698 = icmp eq i64 %351, 0 + %352 = load i64, i64* %orig_buffersize, align 8 + %tobool700 = icmp ne i64 %352, 0 + %or.cond8 = and i1 %tobool698, %tobool700 + br i1 %or.cond8, label %if.then701, label %if.end704 + +if.then701: ; preds = %if.else697 + %353 = load i64, i64* %orig_buffersize, align 8 + store i64 %353, i64* %buffersize.addr, align 8 + store i64 0, i64* %len, align 8 + br label %process_input + +if.end704: ; preds = %if.else697, %land.lhs.true690, %land.lhs.true688, %if.end685 + %354 = load i8*, i8** %quote_string, align 8 + %tobool705 = icmp ne i8* %354, null + br i1 %tobool705, label %land.lhs.true706, label %if.end724 + +land.lhs.true706: ; preds = %if.end704 + %355 = load i8, i8* %elide_outer_quotes, align 1 + %tobool707 = trunc i8 %355 to i1 + br i1 %tobool707, label %if.end724, label %for.cond709 + +for.cond709: ; preds = %land.lhs.true706, %if.end717 + %356 = load i8*, i8** %quote_string, align 8 + %357 = load i8, i8* %356, align 1 + %tobool710 = icmp ne i8 %357, 0 + br i1 %tobool710, label %do.body712, label %if.end724 + +do.body712: ; preds = %for.cond709 + %358 = load i64, i64* %len, align 8 + %359 = load i64, i64* %buffersize.addr, align 8 + %cmp713 = icmp ult i64 %358, %359 + br i1 %cmp713, label %if.then715, label %if.end717 + +if.then715: ; preds = %do.body712 + %360 = load i8*, i8** %quote_string, align 8 + %361 = load i8, i8* %360, align 1 + %362 = load i8*, i8** %buffer.addr, align 8 + %363 = load i64, i64* %len, align 8 + %arrayidx716 = getelementptr inbounds i8, i8* %362, i64 %363 + store i8 %361, i8* %arrayidx716, align 1 + br label %if.end717 + +if.end717: ; preds = %if.then715, %do.body712 + %364 = load i64, i64* %len, align 8 + %inc718 = add i64 %364, 1 + store i64 %inc718, i64* %len, align 8 + %365 = load i8*, i8** %quote_string, align 8 + %incdec.ptr722 = getelementptr inbounds i8, i8* %365, i32 1 + store i8* %incdec.ptr722, i8** %quote_string, align 8 + br label %for.cond709 + +if.end724: ; preds = %for.cond709, %land.lhs.true706, %if.end704 + %366 = load i64, i64* %len, align 8 + %367 = load i64, i64* %buffersize.addr, align 8 + %cmp725 = icmp ult i64 %366, %367 + br i1 %cmp725, label %if.then727, label %if.end729 + +if.then727: ; preds = %if.end724 + %368 = load i8*, i8** %buffer.addr, align 8 + %369 = load i64, i64* %len, align 8 + %arrayidx728 = getelementptr inbounds i8, i8* %368, i64 %369 + store i8 0, i8* %arrayidx728, align 1 + br label %if.end729 + +if.end729: ; preds = %if.then727, %if.end724 + %370 = load i64, i64* %len, align 8 + store i64 %370, i64* %retval, align 8 + br label %return + +force_outer_quoting_style: ; preds = %NodeBlock267, %NodeBlock265, %NodeBlock263, %NodeBlock261, %NodeBlock259, %land.lhs.true681, %do.body586, %do.body427, %if.then300, %land.lhs.true292, %land.lhs.true262, %if.then246, %sw.bb192, %sw.bb171, %do.body86, %if.then76 + %371 = load i32, i32* %quoting_style.addr, align 4 + %cmp730 = icmp eq i32 %371, 2 + br i1 %cmp730, label %land.lhs.true732, label %if.end736 + +land.lhs.true732: ; preds = %force_outer_quoting_style + %372 = load i8, i8* %backslash_escapes, align 1 + %tobool733 = trunc i8 %372 to i1 + br i1 %tobool733, label %if.then735, label %if.end736 + +if.then735: ; preds = %land.lhs.true732 + store i32 4, i32* %quoting_style.addr, align 4 + br label %if.end736 + +if.end736: ; preds = %if.then735, %land.lhs.true732, %force_outer_quoting_style + %373 = load i8*, i8** %buffer.addr, align 8 + %374 = load i64, i64* %buffersize.addr, align 8 + %375 = load i8*, i8** %arg.addr, align 8 + %376 = load i64, i64* %argsize.addr, align 8 + %377 = load i32, i32* %quoting_style.addr, align 4 + %378 = load i32, i32* %flags.addr, align 4 + %and737 = and i32 %378, -3 + %379 = load i8*, i8** %left_quote.addr, align 8 + %380 = load i8*, i8** %right_quote.addr, align 8 + %call738 = call i64 @quotearg_buffer_restyled(i8* %373, i64 %374, i8* %375, i64 %376, i32 %377, i32 %and737, i32* null, i8* %379, i8* %380) + store i64 %call738, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end736, %if.end729, %if.then695 + %381 = load i64, i64* %retval, align 8 + ret i64 %381 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xcharalloc(i64 %n) #3 { +entry: + %n.addr = alloca i64, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @xmalloc(i64 %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xmalloc(i64 %n) #3 { +entry: + %n.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @malloc(i64 %0) #11 + store i8* %call, i8** %p, align 8 + %1 = load i8*, i8** %p, align 8 + %tobool = icmp eq i8* %1, null + %2 = load i64, i64* %n.addr, align 8 + %cmp = icmp ne i64 %2, 0 + %or.cond = and i1 %tobool, %cmp + br i1 %or.cond, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %entry + %3 = load i8*, i8** %p, align 8 + ret i8* %3 +} + +; Function Attrs: nounwind +declare dso_local i64 @__ctype_get_mb_cur_max() #4 + +; Function Attrs: noinline nounwind uwtable +define internal i8* @gettext_quote(i8* %msgid, i32 %s) #3 { +entry: + %retval = alloca i8*, align 8 + %msgid.addr = alloca i8*, align 8 + %s.addr = alloca i32, align 4 + %translation = alloca i8*, align 8 + %locale_code = alloca i8*, align 8 + store i8* %msgid, i8** %msgid.addr, align 8 + store i32 %s, i32* %s.addr, align 4 + %0 = load i8*, i8** %msgid.addr, align 8 + store i8* %0, i8** %translation, align 8 + %1 = load i8*, i8** %translation, align 8 + %2 = load i8*, i8** %msgid.addr, align 8 + %cmp = icmp ne i8* %1, %2 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %3 = load i8*, i8** %translation, align 8 + store i8* %3, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %call = call i8* @locale_charset() + store i8* %call, i8** %locale_code, align 8 + %4 = load i8*, i8** %locale_code, align 8 + %call1 = call i32 @c_strcasecmp(i8* %4, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.13.64, i64 0, i64 0)) #23 + %cmp2 = icmp eq i32 %call1, 0 + br i1 %cmp2, label %if.then3, label %if.end6 + +if.then3: ; preds = %if.end + %5 = load i8*, i8** %msgid.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 0 + %6 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %6 to i32 + %cmp4 = icmp eq i32 %conv, 96 + %7 = zext i1 %cmp4 to i64 + %cond = select i1 %cmp4, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.14.65, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.15.66, i64 0, i64 0) + store i8* %cond, i8** %retval, align 8 + br label %return + +if.end6: ; preds = %if.end + %8 = load i8*, i8** %locale_code, align 8 + %call7 = call i32 @c_strcasecmp(i8* %8, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.16.67, i64 0, i64 0)) #23 + %cmp8 = icmp eq i32 %call7, 0 + br i1 %cmp8, label %if.then10, label %if.end16 + +if.then10: ; preds = %if.end6 + %9 = load i8*, i8** %msgid.addr, align 8 + %arrayidx11 = getelementptr inbounds i8, i8* %9, i64 0 + %10 = load i8, i8* %arrayidx11, align 1 + %conv12 = sext i8 %10 to i32 + %cmp13 = icmp eq i32 %conv12, 96 + %11 = zext i1 %cmp13 to i64 + %cond15 = select i1 %cmp13, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.17.68, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.18.69, i64 0, i64 0) + store i8* %cond15, i8** %retval, align 8 + br label %return + +if.end16: ; preds = %if.end6 + %12 = load i32, i32* %s.addr, align 4 + %cmp17 = icmp eq i32 %12, 9 + %13 = zext i1 %cmp17 to i64 + %cond19 = select i1 %cmp17, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10.61, i64 0, i64 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.63, i64 0, i64 0) + store i8* %cond19, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end16, %if.then10, %if.then3, %if.then + %14 = load i8*, i8** %retval, align 8 + ret i8* %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @rpl_mbrtowc(i32* %pwc, i8* %s, i64 %n, %struct.__mbstate_t* %ps) #3 { +entry: + %retval = alloca i64, align 8 + %pwc.addr = alloca i32*, align 8 + %s.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t*, align 8 + %ret = alloca i64, align 8 + %wc = alloca i32, align 4 + %uc = alloca i8, align 1 + store i32* %pwc, i32** %pwc.addr, align 8 + store i8* %s, i8** %s.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__mbstate_t* %ps, %struct.__mbstate_t** %ps.addr, align 8 + %0 = load i32*, i32** %pwc.addr, align 8 + %tobool = icmp ne i32* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i32* %wc, i32** %pwc.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i32*, i32** %pwc.addr, align 8 + %2 = load i8*, i8** %s.addr, align 8 + %3 = load i64, i64* %n.addr, align 8 + %4 = load %struct.__mbstate_t*, %struct.__mbstate_t** %ps.addr, align 8 + %call = call i64 bitcast (i64 (i32*, i8*, i64, %struct.__mbstate_t.512*)* @mbrtowc to i64 (i32*, i8*, i64, %struct.__mbstate_t*)*)(i32* %1, i8* %2, i64 %3, %struct.__mbstate_t* %4) #11 + store i64 %call, i64* %ret, align 8 + %5 = load i64, i64* %ret, align 8 + %cmp = icmp ule i64 -2, %5 + %6 = load i64, i64* %n.addr, align 8 + %cmp1 = icmp ne i64 %6, 0 + %or.cond = and i1 %cmp, %cmp1 + br i1 %or.cond, label %land.lhs.true2, label %if.end5 + +land.lhs.true2: ; preds = %if.end + %call3 = call zeroext i1 @hard_locale(i32 0) + br i1 %call3, label %if.end5, label %if.then4 + +if.then4: ; preds = %land.lhs.true2 + %7 = load i8*, i8** %s.addr, align 8 + %8 = load i8, i8* %7, align 1 + store i8 %8, i8* %uc, align 1 + %9 = load i8, i8* %uc, align 1 + %conv = zext i8 %9 to i32 + %10 = load i32*, i32** %pwc.addr, align 8 + store i32 %conv, i32* %10, align 4 + store i64 1, i64* %retval, align 8 + br label %return + +if.end5: ; preds = %land.lhs.true2, %if.end + %11 = load i64, i64* %ret, align 8 + store i64 %11, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end5, %if.then4 + %12 = load i64, i64* %retval, align 8 + ret i64 %12 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @hard_locale(i32 %category) #3 { +entry: + %retval = alloca i1, align 1 + %category.addr = alloca i32, align 4 + %locale = alloca [257 x i8], align 16 + store i32 %category, i32* %category.addr, align 4 + %0 = load i32, i32* %category.addr, align 4 + %arraydecay = getelementptr inbounds [257 x i8], [257 x i8]* %locale, i64 0, i64 0 + %call = call i32 @setlocale_null_r(i32 %0, i8* %arraydecay, i64 257) + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +if.end: ; preds = %entry + %arraydecay1 = getelementptr inbounds [257 x i8], [257 x i8]* %locale, i64 0, i64 0 + %call2 = call i32 @strcmp(i8* %arraydecay1, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.117, i64 0, i64 0)) #23 + %cmp = icmp eq i32 %call2, 0 + br i1 %cmp, label %lor.end, label %lor.rhs + +lor.rhs: ; preds = %if.end + %arraydecay3 = getelementptr inbounds [257 x i8], [257 x i8]* %locale, i64 0, i64 0 + %call4 = call i32 @strcmp(i8* %arraydecay3, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1.118, i64 0, i64 0)) #23 + %cmp5 = icmp eq i32 %call4, 0 + br label %lor.end + +lor.end: ; preds = %lor.rhs, %if.end + %1 = phi i1 [ true, %if.end ], [ %cmp5, %lor.rhs ] + %lnot = xor i1 %1, true + store i1 %lnot, i1* %retval, align 1 + br label %return + +return: ; preds = %lor.end, %if.then + %2 = load i1, i1* %retval, align 1 + ret i1 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @setlocale_null_r(i32 %category, i8* nonnull %buf, i64 %bufsize) #3 { +entry: + %category.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + store i32 %category, i32* %category.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i32, i32* %category.addr, align 4 + %1 = load i8*, i8** %buf.addr, align 8 + %2 = load i64, i64* %bufsize.addr, align 8 + %call = call i32 @setlocale_null_unlocked(i32 %0, i8* %1, i64 %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @setlocale_null_unlocked(i32 %category, i8* %buf, i64 %bufsize) #3 { +entry: + %retval = alloca i32, align 4 + %category.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %result = alloca i8*, align 8 + %length = alloca i64, align 8 + store i32 %category, i32* %category.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i32, i32* %category.addr, align 4 + %call = call i8* @setlocale_null_androidfix(i32 %0) + store i8* %call, i8** %result, align 8 + %1 = load i8*, i8** %result, align 8 + %cmp = icmp eq i8* %1, null + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %2 = load i64, i64* %bufsize.addr, align 8 + %cmp1 = icmp ugt i64 %2, 0 + br i1 %cmp1, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + %3 = load i8*, i8** %buf.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %3, i64 0 + store i8 0, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + store i32 22, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %4 = load i8*, i8** %result, align 8 + %call3 = call i64 @strlen(i8* %4) #23 + store i64 %call3, i64* %length, align 8 + %5 = load i64, i64* %length, align 8 + %6 = load i64, i64* %bufsize.addr, align 8 + %cmp4 = icmp ult i64 %5, %6 + br i1 %cmp4, label %if.then5, label %if.else6 + +if.then5: ; preds = %if.else + %7 = load i8*, i8** %buf.addr, align 8 + %8 = load i8*, i8** %result, align 8 + %9 = load i64, i64* %length, align 8 + %add = add i64 %9, 1 + %10 = call i8* @memcpy(i8* %7, i8* %8, i64 %add) + store i32 0, i32* %retval, align 4 + br label %return + +if.else6: ; preds = %if.else + %11 = load i64, i64* %bufsize.addr, align 8 + %cmp7 = icmp ugt i64 %11, 0 + br i1 %cmp7, label %if.then8, label %if.end11 + +if.then8: ; preds = %if.else6 + %12 = load i8*, i8** %buf.addr, align 8 + %13 = load i8*, i8** %result, align 8 + %14 = load i64, i64* %bufsize.addr, align 8 + %sub = sub i64 %14, 1 + %15 = call i8* @memcpy(i8* %12, i8* %13, i64 %sub) + %16 = load i8*, i8** %buf.addr, align 8 + %17 = load i64, i64* %bufsize.addr, align 8 + %sub9 = sub i64 %17, 1 + %arrayidx10 = getelementptr inbounds i8, i8* %16, i64 %sub9 + store i8 0, i8* %arrayidx10, align 1 + br label %if.end11 + +if.end11: ; preds = %if.then8, %if.else6 + store i32 34, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end11, %if.then5, %if.end + %18 = load i32, i32* %retval, align 4 + ret i32 %18 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @setlocale_null_androidfix(i32 %category) #3 { +entry: + %category.addr = alloca i32, align 4 + %result = alloca i8*, align 8 + store i32 %category, i32* %category.addr, align 4 + %0 = load i32, i32* %category.addr, align 4 + %call = call i8* @setlocale(i32 %0, i8* null) #11 + store i8* %call, i8** %result, align 8 + %1 = load i8*, i8** %result, align 8 + ret i8* %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @locale_charset() #3 { +entry: + %codeset = alloca i8*, align 8 + %call = call i8* @nl_langinfo(i32 14) #11 + store i8* %call, i8** %codeset, align 8 + %0 = load i8*, i8** %codeset, align 8 + %cmp = icmp eq i8* %0, null + %spec.store.select = select i1 %cmp, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.121, i64 0, i64 0), i8* %call + store i8* %spec.store.select, i8** %codeset, align 8 + %1 = load i8*, i8** %codeset, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %2 to i32 + %cmp1 = icmp eq i32 %conv, 0 + %spec.store.select1 = select i1 %cmp1, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1.122, i64 0, i64 0), i8* %spec.store.select + store i8* %spec.store.select1, i8** %codeset, align 8 + %3 = load i8*, i8** %codeset, align 8 + ret i8* %3 +} + +; Function Attrs: noinline nounwind readonly uwtable +define dso_local i32 @c_strcasecmp(i8* %s1, i8* %s2) #15 { +entry: + %retval = alloca i32, align 4 + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %p1 = alloca i8*, align 8 + %p2 = alloca i8*, align 8 + %c1 = alloca i8, align 1 + %c2 = alloca i8, align 1 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %p1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %p2, align 8 + %2 = load i8*, i8** %p1, align 8 + %3 = load i8*, i8** %p2, align 8 + %cmp = icmp eq i8* %2, %3 + br i1 %cmp, label %if.then, label %do.body + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +do.body: ; preds = %entry, %if.end9 + %4 = load i8*, i8** %p1, align 8 + %5 = load i8, i8* %4, align 1 + %conv = zext i8 %5 to i32 + %call = call i32 @c_tolower(i32 %conv) + %conv1 = trunc i32 %call to i8 + store i8 %conv1, i8* %c1, align 1 + %6 = load i8*, i8** %p2, align 8 + %7 = load i8, i8* %6, align 1 + %conv2 = zext i8 %7 to i32 + %call3 = call i32 @c_tolower(i32 %conv2) + %conv4 = trunc i32 %call3 to i8 + store i8 %conv4, i8* %c2, align 1 + %8 = load i8, i8* %c1, align 1 + %conv5 = zext i8 %8 to i32 + %cmp6 = icmp eq i32 %conv5, 0 + br i1 %cmp6, label %do.end, label %if.end9 + +if.end9: ; preds = %do.body + %9 = load i8*, i8** %p1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %p1, align 8 + %10 = load i8*, i8** %p2, align 8 + %incdec.ptr10 = getelementptr inbounds i8, i8* %10, i32 1 + store i8* %incdec.ptr10, i8** %p2, align 8 + %11 = load i8, i8* %c1, align 1 + %conv11 = zext i8 %11 to i32 + %12 = load i8, i8* %c2, align 1 + %conv12 = zext i8 %12 to i32 + %cmp13 = icmp eq i32 %conv11, %conv12 + br i1 %cmp13, label %do.body, label %do.end + +do.end: ; preds = %do.body, %if.end9 + %13 = load i8, i8* %c1, align 1 + %conv15 = zext i8 %13 to i32 + %14 = load i8, i8* %c2, align 1 + %conv16 = zext i8 %14 to i32 + %sub = sub nsw i32 %conv15, %conv16 + store i32 %sub, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end, %if.then + %15 = load i32, i32* %retval, align 4 + ret i32 %15 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @c_tolower(i32 %c) #3 { +entry: + %retval = alloca i32, align 4 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -65 + %switch = icmp ult i32 %.off, 26 + %1 = load i32, i32* %c.addr, align 4 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + %sub = sub nsw i32 %1, 65 + %add = add nsw i32 %sub, 97 + store i32 %add, i32* %retval, align 4 + br label %return + +sw.default: ; preds = %entry + store i32 %1, i32* %retval, align 4 + br label %return + +return: ; preds = %sw.default, %sw.bb + %2 = load i32, i32* %retval, align 4 + ret i32 %2 +} + +; Function Attrs: nounwind +declare dso_local i8* @realloc(i8*, i64) #4 + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fclose(%struct._IO_FILE* nonnull %fp) #3 { +entry: + %retval = alloca i32, align 4 + %fp.addr = alloca %struct._IO_FILE*, align 8 + %saved_errno = alloca i32, align 4 + %fd = alloca i32, align 4 + %result = alloca i32, align 4 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + store i32 0, i32* %saved_errno, align 4 + store i32 0, i32* %result, align 4 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %0) #11 + store i32 %call, i32* %fd, align 4 + %1 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %1, 0 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call1 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fclose to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %2) + store i32 %call1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %call2 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.519*)* @__freading to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %2) #11 + %cmp3 = icmp ne i32 %call2, 0 + br i1 %cmp3, label %lor.lhs.false, label %land.lhs.true + +lor.lhs.false: ; preds = %if.end + %3 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call4 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %3) #11 + %call5 = call i64 @lseek(i32 %call4, i64 0, i32 1) #11 + %cmp6 = icmp ne i64 %call5, -1 + br i1 %cmp6, label %land.lhs.true, label %if.end10 + +land.lhs.true: ; preds = %lor.lhs.false, %if.end + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call7 = call i32 @rpl_fflush(%struct._IO_FILE* %4) + %tobool = icmp ne i32 %call7, 0 + br i1 %tobool, label %if.then8, label %if.end10 + +if.then8: ; preds = %land.lhs.true + %call9 = call i32* @__errno_location() #25 + %5 = load i32, i32* %call9, align 4 + store i32 %5, i32* %saved_errno, align 4 + br label %if.end10 + +if.end10: ; preds = %if.then8, %land.lhs.true, %lor.lhs.false + %6 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call11 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fclose to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %6) + store i32 %call11, i32* %result, align 4 + %7 = load i32, i32* %saved_errno, align 4 + %cmp12 = icmp ne i32 %7, 0 + br i1 %cmp12, label %if.then13, label %if.end15 + +if.then13: ; preds = %if.end10 + %8 = load i32, i32* %saved_errno, align 4 + %call14 = call i32* @__errno_location() #25 + store i32 %8, i32* %call14, align 4 + store i32 -1, i32* %result, align 4 + br label %if.end15 + +if.end15: ; preds = %if.then13, %if.end10 + %9 = load i32, i32* %result, align 4 + store i32 %9, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end15, %if.then + %10 = load i32, i32* %retval, align 4 + ret i32 %10 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fflush(%struct._IO_FILE* %stream) #3 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %cmp = icmp eq %struct._IO_FILE* %0, null + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.519*)* @__freading to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %1) #11 + %cmp1 = icmp ne i32 %call, 0 + br i1 %cmp1, label %if.end, label %if.then + +if.then: ; preds = %lor.lhs.false, %entry + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call2 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fflush to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %2) + store i32 %call2, i32* %retval, align 4 + br label %return + +if.end: ; preds = %lor.lhs.false + %3 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + call void @clear_ungetc_buffer_preserving_position(%struct._IO_FILE* %3) + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call3 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fflush to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %4) + store i32 %call3, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %5 = load i32, i32* %retval, align 4 + ret i32 %5 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @clear_ungetc_buffer_preserving_position(%struct._IO_FILE* %fp) #3 { +entry: + %fp.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_flags = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %0, i32 0, i32 0 + %1 = load i32, i32* %_flags, align 8 + %and = and i32 %1, 256 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 @rpl_fseeko(%struct._IO_FILE* %2, i64 0, i32 1) + br label %if.end + +if.end: ; preds = %if.then, %entry + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fseeko(%struct._IO_FILE* nonnull %fp, i64 %offset, i32 %whence) #3 { +entry: + %retval = alloca i32, align 4 + %fp.addr = alloca %struct._IO_FILE*, align 8 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + %pos = alloca i64, align 8 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_read_end = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %0, i32 0, i32 2 + %1 = load i8*, i8** %_IO_read_end, align 8 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_read_ptr = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %2, i32 0, i32 1 + %3 = load i8*, i8** %_IO_read_ptr, align 8 + %cmp = icmp eq i8* %1, %3 + br i1 %cmp, label %land.lhs.true, label %if.end7 + +land.lhs.true: ; preds = %entry + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_write_ptr = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %4, i32 0, i32 5 + %5 = load i8*, i8** %_IO_write_ptr, align 8 + %6 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_write_base = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %6, i32 0, i32 4 + %7 = load i8*, i8** %_IO_write_base, align 8 + %cmp1 = icmp eq i8* %5, %7 + br i1 %cmp1, label %land.lhs.true2, label %if.end7 + +land.lhs.true2: ; preds = %land.lhs.true + %8 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_save_base = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %8, i32 0, i32 9 + %9 = load i8*, i8** %_IO_save_base, align 8 + %cmp3 = icmp eq i8* %9, null + br i1 %cmp3, label %if.then, label %if.end7 + +if.then: ; preds = %land.lhs.true2 + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %10) #11 + %11 = load i64, i64* %offset.addr, align 8 + %12 = load i32, i32* %whence.addr, align 4 + %call4 = call i64 @lseek(i32 %call, i64 %11, i32 %12) #11 + store i64 %call4, i64* %pos, align 8 + %13 = load i64, i64* %pos, align 8 + %cmp5 = icmp eq i64 %13, -1 + br i1 %cmp5, label %if.then6, label %if.end + +if.then6: ; preds = %if.then + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %if.then + %14 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_flags = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %14, i32 0, i32 0 + %15 = load i32, i32* %_flags, align 8 + %and = and i32 %15, -17 + store i32 %and, i32* %_flags, align 8 + %16 = load i64, i64* %pos, align 8 + %17 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_offset = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %17, i32 0, i32 21 + store i64 %16, i64* %_offset, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.end7: ; preds = %land.lhs.true2, %land.lhs.true, %entry + %18 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %19 = load i64, i64* %offset.addr, align 8 + %20 = load i32, i32* %whence.addr, align 4 + %call8 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32)* @fseeko to i32 (%struct._IO_FILE*, i64, i32)*)(%struct._IO_FILE* %18, i64 %19, i32 %20) + store i32 %call8, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end7, %if.end, %if.then6 + %21 = load i32, i32* %retval, align 4 + ret i32 %21 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @close_stdout_set_file_name(i8* %file) #3 { +entry: + %file.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + store i8* %0, i8** @file_name, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @close_stdout_set_ignore_EPIPE(i1 zeroext %ignore) #3 { +entry: + %ignore.addr = alloca i8, align 1 + %frombool = zext i1 %ignore to i8 + store i8 %frombool, i8* %ignore.addr, align 1 + %0 = load i8, i8* %ignore.addr, align 1 + %tobool = trunc i8 %0 to i1 + %frombool1 = zext i1 %tobool to i8 + store i8 %frombool1, i8* @ignore_EPIPE, align 1 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local %struct.quoting_options* @clone_quoting_options(%struct.quoting_options* %o) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %p = alloca %struct.quoting_options*, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %call = call i32* @__errno_location() #25 + %0 = load i32, i32* %call, align 4 + store i32 %0, i32* %e, align 4 + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %1, null + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %2, %struct.quoting_options* @default_quoting_options + %3 = bitcast %struct.quoting_options* %cond to i8* + %call1 = call i8* @xmemdup(i8* %3, i64 56) + %4 = bitcast i8* %call1 to %struct.quoting_options* + store %struct.quoting_options* %4, %struct.quoting_options** %p, align 8 + %5 = load i32, i32* %e, align 4 + %call2 = call i32* @__errno_location() #25 + store i32 %5, i32* %call2, align 4 + %6 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + ret %struct.quoting_options* %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @xmemdup(i8* %p, i64 %s) #3 { +entry: + %p.addr = alloca i8*, align 8 + %s.addr = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %call = call noalias i8* @xmalloc(i64 %0) + %1 = load i8*, i8** %p.addr, align 8 + %2 = load i64, i64* %s.addr, align 8 + %3 = call i8* @memcpy(i8* %call, i8* %1, i64 %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @get_quoting_style(%struct.quoting_options* %o) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %1, %struct.quoting_options* @default_quoting_options + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %cond, i32 0, i32 0 + %2 = load i32, i32* %style, align 8 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_quoting_style(%struct.quoting_options* %o, i32 %s) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %s.addr = alloca i32, align 4 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i32 %s, i32* %s.addr, align 4 + %0 = load i32, i32* %s.addr, align 4 + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %1, null + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %2, %struct.quoting_options* @default_quoting_options + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %cond, i32 0, i32 0 + store i32 %0, i32* %style, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @set_quoting_flags(%struct.quoting_options* %o, i32 %i) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %i.addr = alloca i32, align 4 + %r = alloca i32, align 4 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i32 %i, i32* %i.addr, align 4 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store %struct.quoting_options* @default_quoting_options, %struct.quoting_options** %o.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %flags = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %1, i32 0, i32 1 + %2 = load i32, i32* %flags, align 4 + store i32 %2, i32* %r, align 4 + %3 = load i32, i32* %i.addr, align 4 + %4 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %flags1 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %4, i32 0, i32 1 + store i32 %3, i32* %flags1, align 4 + %5 = load i32, i32* %r, align 4 + ret i32 %5 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_custom_quoting(%struct.quoting_options* %o, i8* %left_quote, i8* %right_quote) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store %struct.quoting_options* @default_quoting_options, %struct.quoting_options** %o.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %1, i32 0, i32 0 + store i32 10, i32* %style, align 8 + %2 = load i8*, i8** %left_quote.addr, align 8 + %tobool1 = icmp ne i8* %2, null + %3 = load i8*, i8** %right_quote.addr, align 8 + %tobool2 = icmp ne i8* %3, null + %or.cond = and i1 %tobool1, %tobool2 + br i1 %or.cond, label %if.end4, label %if.then3 + +if.then3: ; preds = %if.end + call void @abort() #26 + unreachable + +if.end4: ; preds = %if.end + %4 = load i8*, i8** %left_quote.addr, align 8 + %5 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %left_quote5 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %5, i32 0, i32 3 + store i8* %4, i8** %left_quote5, align 8 + %6 = load i8*, i8** %right_quote.addr, align 8 + %7 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %right_quote6 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %7, i32 0, i32 4 + store i8* %6, i8** %right_quote6, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @quotearg_buffer(i8* %buffer, i64 %buffersize, i8* %arg, i64 %argsize, %struct.quoting_options* %o) #3 { +entry: + %buffer.addr = alloca i8*, align 8 + %buffersize.addr = alloca i64, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o.addr = alloca %struct.quoting_options*, align 8 + %p = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %r = alloca i64, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %buffersize, i64* %buffersize.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %1, %struct.quoting_options* @default_quoting_options + store %struct.quoting_options* %cond, %struct.quoting_options** %p, align 8 + %call = call i32* @__errno_location() #25 + %2 = load i32, i32* %call, align 4 + store i32 %2, i32* %e, align 4 + %3 = load i8*, i8** %buffer.addr, align 8 + %4 = load i64, i64* %buffersize.addr, align 8 + %5 = load i8*, i8** %arg.addr, align 8 + %6 = load i64, i64* %argsize.addr, align 8 + %7 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %7, i32 0, i32 0 + %8 = load i32, i32* %style, align 8 + %9 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %flags = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %9, i32 0, i32 1 + %10 = load i32, i32* %flags, align 4 + %11 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %11, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %12 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %left_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %12, i32 0, i32 3 + %13 = load i8*, i8** %left_quote, align 8 + %14 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %right_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %14, i32 0, i32 4 + %15 = load i8*, i8** %right_quote, align 8 + %call1 = call i64 @quotearg_buffer_restyled(i8* %3, i64 %4, i8* %5, i64 %6, i32 %8, i32 %10, i32* %arraydecay, i8* %13, i8* %15) + store i64 %call1, i64* %r, align 8 + %16 = load i32, i32* %e, align 4 + %call2 = call i32* @__errno_location() #25 + store i32 %16, i32* %call2, align 4 + %17 = load i64, i64* %r, align 8 + ret i64 %17 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_alloc(i8* %arg, i64 %argsize, %struct.quoting_options* %o) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o.addr = alloca %struct.quoting_options*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %call = call i8* @quotearg_alloc_mem(i8* %0, i64 %1, i64* null, %struct.quoting_options* %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_alloc_mem(i8* %arg, i64 %argsize, i64* %size, %struct.quoting_options* %o) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %size.addr = alloca i64*, align 8 + %o.addr = alloca %struct.quoting_options*, align 8 + %p = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %flags = alloca i32, align 4 + %bufsize = alloca i64, align 8 + %buf = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store i64* %size, i64** %size.addr, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %1, %struct.quoting_options* @default_quoting_options + store %struct.quoting_options* %cond, %struct.quoting_options** %p, align 8 + %call = call i32* @__errno_location() #25 + %2 = load i32, i32* %call, align 4 + store i32 %2, i32* %e, align 4 + %3 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %flags1 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %3, i32 0, i32 1 + %4 = load i32, i32* %flags1, align 4 + %5 = load i64*, i64** %size.addr, align 8 + %tobool2 = icmp ne i64* %5, null + %6 = zext i1 %tobool2 to i64 + %cond3 = select i1 %tobool2, i32 0, i32 1 + %or = or i32 %4, %cond3 + store i32 %or, i32* %flags, align 4 + %7 = load i8*, i8** %arg.addr, align 8 + %8 = load i64, i64* %argsize.addr, align 8 + %9 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %9, i32 0, i32 0 + %10 = load i32, i32* %style, align 8 + %11 = load i32, i32* %flags, align 4 + %12 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %12, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %13 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %left_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %13, i32 0, i32 3 + %14 = load i8*, i8** %left_quote, align 8 + %15 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %right_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %15, i32 0, i32 4 + %16 = load i8*, i8** %right_quote, align 8 + %call4 = call i64 @quotearg_buffer_restyled(i8* null, i64 0, i8* %7, i64 %8, i32 %10, i32 %11, i32* %arraydecay, i8* %14, i8* %16) + %add = add i64 %call4, 1 + store i64 %add, i64* %bufsize, align 8 + %17 = load i64, i64* %bufsize, align 8 + %call5 = call noalias i8* @xcharalloc(i64 %17) + store i8* %call5, i8** %buf, align 8 + %18 = load i8*, i8** %buf, align 8 + %19 = load i64, i64* %bufsize, align 8 + %20 = load i8*, i8** %arg.addr, align 8 + %21 = load i64, i64* %argsize.addr, align 8 + %22 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %style6 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %22, i32 0, i32 0 + %23 = load i32, i32* %style6, align 8 + %24 = load i32, i32* %flags, align 4 + %25 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %quote_these_too7 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %25, i32 0, i32 2 + %arraydecay8 = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too7, i64 0, i64 0 + %26 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %left_quote9 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %26, i32 0, i32 3 + %27 = load i8*, i8** %left_quote9, align 8 + %28 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %right_quote10 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %28, i32 0, i32 4 + %29 = load i8*, i8** %right_quote10, align 8 + %call11 = call i64 @quotearg_buffer_restyled(i8* %18, i64 %19, i8* %20, i64 %21, i32 %23, i32 %24, i32* %arraydecay8, i8* %27, i8* %29) + %30 = load i32, i32* %e, align 4 + %call12 = call i32* @__errno_location() #25 + store i32 %30, i32* %call12, align 4 + %31 = load i64*, i64** %size.addr, align 8 + %tobool13 = icmp ne i64* %31, null + br i1 %tobool13, label %if.then, label %if.end + +if.then: ; preds = %entry + %32 = load i64, i64* %bufsize, align 8 + %sub = sub i64 %32, 1 + %33 = load i64*, i64** %size.addr, align 8 + store i64 %sub, i64* %33, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %34 = load i8*, i8** %buf, align 8 + ret i8* %34 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @quotearg_free() #3 { +entry: + %sv = alloca %struct.slotvec*, align 8 + %i = alloca i32, align 4 + %0 = load %struct.slotvec*, %struct.slotvec** @slotvec, align 8 + store %struct.slotvec* %0, %struct.slotvec** %sv, align 8 + store i32 1, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %1 = load i32, i32* %i, align 4 + %2 = load i32, i32* @nslots, align 4 + %cmp = icmp slt i32 %1, %2 + %3 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %4 = load i32, i32* %i, align 4 + %idxprom = sext i32 %4 to i64 + %arrayidx = getelementptr inbounds %struct.slotvec, %struct.slotvec* %3, i64 %idxprom + %val = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx, i32 0, i32 1 + %5 = load i8*, i8** %val, align 8 + call void @free(i8* %5) #11 + %6 = load i32, i32* %i, align 4 + %inc = add nsw i32 %6, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %arrayidx1 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %3, i64 0 + %val2 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx1, i32 0, i32 1 + %7 = load i8*, i8** %val2, align 8 + %cmp3 = icmp ne i8* %7, getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i64 0, i64 0) + br i1 %cmp3, label %if.then, label %if.end + +if.then: ; preds = %for.end + %8 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %arrayidx4 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %8, i64 0 + %val5 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx4, i32 0, i32 1 + %9 = load i8*, i8** %val5, align 8 + call void @free(i8* %9) #11 + store i64 256, i64* getelementptr inbounds (%struct.slotvec, %struct.slotvec* @slotvec0, i32 0, i32 0), align 8 + store i8* getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i64 0, i64 0), i8** getelementptr inbounds (%struct.slotvec, %struct.slotvec* @slotvec0, i32 0, i32 1), align 8 + br label %if.end + +if.end: ; preds = %if.then, %for.end + %10 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %cmp6 = icmp ne %struct.slotvec* %10, @slotvec0 + br i1 %cmp6, label %if.then7, label %if.end8 + +if.then7: ; preds = %if.end + %11 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %12 = bitcast %struct.slotvec* %11 to i8* + call void @free(i8* %12) #11 + store %struct.slotvec* @slotvec0, %struct.slotvec** @slotvec, align 8 + br label %if.end8 + +if.end8: ; preds = %if.then7, %if.end + store i32 1, i32* @nslots, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n(i32 %n, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %0, i8* %1, i64 -1, %struct.quoting_options* @default_quoting_options) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_mem(i32 %n, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %2 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %0, i8* %1, i64 %2, %struct.quoting_options* @default_quoting_options) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg(i8* %arg) #3 { +entry: + %arg.addr = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n(i32 0, i8* %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_mem(i8* %arg, i64 %argsize) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_mem(i32 0, i8* %0, i64 %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_style(i32 %n, i32 %s, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %o = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + call void @quoting_options_from_style(%struct.quoting_options* sret align 8 %o, i32 %0) + %1 = load i32, i32* %n.addr, align 4 + %2 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %1, i8* %2, i64 -1, %struct.quoting_options* %o) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define internal void @quoting_options_from_style(%struct.quoting_options* noalias sret align 8 %agg.result, i32 %style) #3 { +entry: + %style.addr = alloca i32, align 4 + store i32 %style, i32* %style.addr, align 4 + %0 = bitcast %struct.quoting_options* %agg.result to i8* + %1 = call i8* @memset(i8* %0, i32 0, i64 56) + %2 = load i32, i32* %style.addr, align 4 + %cmp = icmp eq i32 %2, 10 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @abort() #26 + unreachable + +if.end: ; preds = %entry + %3 = load i32, i32* %style.addr, align 4 + %style1 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %agg.result, i32 0, i32 0 + store i32 %3, i32* %style1, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_style_mem(i32 %n, i32 %s, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + call void @quoting_options_from_style(%struct.quoting_options* sret align 8 %o, i32 %0) + %1 = load i32, i32* %n.addr, align 4 + %2 = load i8*, i8** %arg.addr, align 8 + %3 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %1, i8* %2, i64 %3, %struct.quoting_options* %o) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_style(i32 %s, i8* %arg) #3 { +entry: + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_style(i32 0, i32 %0, i8* %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_style_mem(i32 %s, i8* %arg, i64 %argsize) #3 { +entry: + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %2 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_style_mem(i32 0, i32 %0, i8* %1, i64 %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_colon_mem(i8* %arg, i64 %argsize) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_char_mem(i8* %0, i64 %1, i8 signext 58) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_style_colon(i32 %n, i32 %s, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %options = alloca %struct.quoting_options, align 8 + %tmp = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + call void @quoting_options_from_style(%struct.quoting_options* sret align 8 %tmp, i32 %0) + %1 = bitcast %struct.quoting_options* %options to i8* + %2 = bitcast %struct.quoting_options* %tmp to i8* + %3 = call i8* @memcpy(i8* %1, i8* %2, i64 56) + %call = call i32 @set_char_quoting(%struct.quoting_options* %options, i8 signext 58, i32 1) + %4 = load i32, i32* %n.addr, align 4 + %5 = load i8*, i8** %arg.addr, align 8 + %call1 = call i8* @quotearg_n_options(i32 %4, i8* %5, i64 -1, %struct.quoting_options* %options) + ret i8* %call1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_custom(i32 %n, i8* %left_quote, i8* %right_quote, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %left_quote.addr, align 8 + %2 = load i8*, i8** %right_quote.addr, align 8 + %3 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_custom_mem(i32 %0, i8* %1, i8* %2, i8* %3, i64 -1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_custom_mem(i32 %n, i8* %left_quote, i8* %right_quote, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = bitcast %struct.quoting_options* %o to i8* + %1 = call i8* @memcpy(i8* %0, i8* bitcast (%struct.quoting_options* @default_quoting_options to i8*), i64 56) + %2 = load i8*, i8** %left_quote.addr, align 8 + %3 = load i8*, i8** %right_quote.addr, align 8 + call void @set_custom_quoting(%struct.quoting_options* %o, i8* %2, i8* %3) + %4 = load i32, i32* %n.addr, align 4 + %5 = load i8*, i8** %arg.addr, align 8 + %6 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %4, i8* %5, i64 %6, %struct.quoting_options* %o) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_custom(i8* %left_quote, i8* %right_quote, i8* %arg) #3 { +entry: + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %left_quote.addr, align 8 + %1 = load i8*, i8** %right_quote.addr, align 8 + %2 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_custom(i32 0, i8* %0, i8* %1, i8* %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_custom_mem(i8* %left_quote, i8* %right_quote, i8* %arg, i64 %argsize) #3 { +entry: + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %left_quote.addr, align 8 + %1 = load i8*, i8** %right_quote.addr, align 8 + %2 = load i8*, i8** %arg.addr, align 8 + %3 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_custom_mem(i32 0, i8* %0, i8* %1, i8* %2, i64 %3) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote_n_mem(i32 %n, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %2 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %0, i8* %1, i64 %2, %struct.quoting_options* @quote_quoting_options) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote_mem(i8* %arg, i64 %argsize) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quote_n_mem(i32 0, i8* %0, i64 %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote_n(i32 %n, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quote_n_mem(i32 %0, i8* %1, i64 -1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote(i8* %arg) #3 { +entry: + %arg.addr = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quote_n(i32 0, i8* %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc_ar(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, i8** %authors) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors.addr = alloca i8**, align 8 + %n_authors = alloca i64, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + store i8** %authors, i8*** %authors.addr, align 8 + store i64 0, i64* %n_authors, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i8**, i8*** %authors.addr, align 8 + %1 = load i64, i64* %n_authors, align 8 + %arrayidx = getelementptr inbounds i8*, i8** %0, i64 %1 + %2 = load i8*, i8** %arrayidx, align 8 + %tobool = icmp ne i8* %2, null + br i1 %tobool, label %for.inc, label %for.end + +for.inc: ; preds = %for.cond + %3 = load i64, i64* %n_authors, align 8 + %inc = add i64 %3, 1 + store i64 %inc, i64* %n_authors, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %5 = load i8*, i8** %command_name.addr, align 8 + %6 = load i8*, i8** %package.addr, align 8 + %7 = load i8*, i8** %version.addr, align 8 + %8 = load i8**, i8*** %authors.addr, align 8 + %9 = load i64, i64* %n_authors, align 8 + call void @version_etc_arn(%struct._IO_FILE* %4, i8* %5, i8* %6, i8* %7, i8** %8, i64 %9) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @emit_bug_reporting_address() #3 { +entry: + %0 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.75, i64 0, i64 0), %struct._IO_FILE* %0) + %call1 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.16.90, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.17.91, i64 0, i64 0)) + %call2 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.18.92, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.19.93, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.20.94, i64 0, i64 0)) + %call3 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.21.95, i64 0, i64 0), i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.22.96, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xnmalloc(i64 %n, i64 %s) #3 { +entry: + %n.addr = alloca i64, align 8 + %s.addr = alloca i64, align 8 + store i64 %n, i64* %n.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %div = udiv i64 9223372036854775807, %0 + %1 = load i64, i64* %n.addr, align 8 + %cmp = icmp ult i64 %div, %1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %entry + %2 = load i64, i64* %n.addr, align 8 + %3 = load i64, i64* %s.addr, align 8 + %mul = mul i64 %2, %3 + %call = call noalias i8* @xmalloc(i64 %mul) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @xnrealloc(i8* %p, i64 %n, i64 %s) #3 { +entry: + %p.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %s.addr = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %div = udiv i64 9223372036854775807, %0 + %1 = load i64, i64* %n.addr, align 8 + %cmp = icmp ult i64 %div, %1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %p.addr, align 8 + %3 = load i64, i64* %n.addr, align 8 + %4 = load i64, i64* %s.addr, align 8 + %mul = mul i64 %3, %4 + %call = call i8* @xrealloc(i8* %2, i64 %mul) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @x2nrealloc(i8* %p, i64* %pn, i64 %s) #3 { +entry: + %p.addr = alloca i8*, align 8 + %pn.addr = alloca i64*, align 8 + %s.addr = alloca i64, align 8 + %n = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64* %pn, i64** %pn.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64*, i64** %pn.addr, align 8 + %1 = load i64, i64* %0, align 8 + store i64 %1, i64* %n, align 8 + %2 = load i8*, i8** %p.addr, align 8 + %tobool = icmp ne i8* %2, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %3 = load i64, i64* %n, align 8 + %tobool1 = icmp ne i64 %3, 0 + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + %4 = load i64, i64* %s.addr, align 8 + %div = udiv i64 128, %4 + store i64 %div, i64* %n, align 8 + %5 = load i64, i64* %n, align 8 + %tobool3 = icmp ne i64 %5, 0 + %lnot = xor i1 %tobool3, true + %lnot.ext = zext i1 %lnot to i32 + %conv = sext i32 %lnot.ext to i64 + %6 = load i64, i64* %n, align 8 + %add = add i64 %6, %conv + store i64 %add, i64* %n, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %7 = load i64, i64* %s.addr, align 8 + %div4 = udiv i64 9223372036854775807, %7 + %8 = load i64, i64* %n, align 8 + %cmp = icmp ult i64 %div4, %8 + br i1 %cmp, label %if.then6, label %if.end16 + +if.then6: ; preds = %if.end + call void @xalloc_die() #24 + unreachable + +if.else: ; preds = %entry + %9 = load i64, i64* %s.addr, align 8 + %div8 = udiv i64 6148914691236517204, %9 + %10 = load i64, i64* %n, align 8 + %cmp9 = icmp ule i64 %div8, %10 + br i1 %cmp9, label %if.then11, label %if.end12 + +if.then11: ; preds = %if.else + call void @xalloc_die() #24 + unreachable + +if.end12: ; preds = %if.else + %11 = load i64, i64* %n, align 8 + %div13 = udiv i64 %11, 2 + %add14 = add i64 %div13, 1 + %12 = load i64, i64* %n, align 8 + %add15 = add i64 %12, %add14 + store i64 %add15, i64* %n, align 8 + br label %if.end16 + +if.end16: ; preds = %if.end, %if.end12 + %13 = load i64, i64* %n, align 8 + %14 = load i64*, i64** %pn.addr, align 8 + store i64 %13, i64* %14, align 8 + %15 = load i8*, i8** %p.addr, align 8 + %16 = load i64, i64* %n, align 8 + %17 = load i64, i64* %s.addr, align 8 + %mul = mul i64 %16, %17 + %call = call i8* @xrealloc(i8* %15, i64 %mul) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @x2realloc(i8* %p, i64* %pn) #3 { +entry: + %p.addr = alloca i8*, align 8 + %pn.addr = alloca i64*, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64* %pn, i64** %pn.addr, align 8 + %0 = load i8*, i8** %p.addr, align 8 + %1 = load i64*, i64** %pn.addr, align 8 + %call = call i8* @x2nrealloc(i8* %0, i64* %1, i64 1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xzalloc(i64 %n) #3 { +entry: + %n.addr = alloca i64, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @xcalloc(i64 %0, i64 1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xcalloc(i64 %n, i64 %s) #3 { +entry: + %n.addr = alloca i64, align 8 + %s.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i64 %n, i64* %n.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %div = udiv i64 9223372036854775807, %0 + %1 = load i64, i64* %n.addr, align 8 + %cmp = icmp ult i64 %div, %1 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load i64, i64* %n.addr, align 8 + %3 = load i64, i64* %s.addr, align 8 + %call = call noalias i8* @calloc(i64 %2, i64 %3) #11 + store i8* %call, i8** %p, align 8 + %tobool = icmp ne i8* %call, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %lor.lhs.false, %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %lor.lhs.false + %4 = load i8*, i8** %p, align 8 + ret i8* %4 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xstrdup(i8* %string) #3 { +entry: + %string.addr = alloca i8*, align 8 + store i8* %string, i8** %string.addr, align 8 + %0 = load i8*, i8** %string.addr, align 8 + %1 = load i8*, i8** %string.addr, align 8 + %call = call i64 @strlen(i8* %1) #23 + %add = add i64 %call, 1 + %call1 = call i8* @xmemdup(i8* %0, i64 %add) + ret i8* %call1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @setlocale_null(i32 %category) #3 { +entry: + %category.addr = alloca i32, align 4 + store i32 %category, i32* %category.addr, align 4 + %0 = load i32, i32* %category.addr, align 4 + %call = call i8* @setlocale_null_androidfix(i32 %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isalnum(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock121 + +NodeBlock121: ; preds = %entry + %case.cmp122 = icmp eq i32 %0, 48 + br i1 %case.cmp122, label %sw.bb, label %NodeBlock119 + +NodeBlock119: ; preds = %NodeBlock121 + %case.cmp120 = icmp eq i32 %0, 49 + br i1 %case.cmp120, label %sw.bb, label %NodeBlock117 + +NodeBlock117: ; preds = %NodeBlock119 + %case.cmp118 = icmp eq i32 %0, 50 + br i1 %case.cmp118, label %sw.bb, label %NodeBlock115 + +NodeBlock115: ; preds = %NodeBlock117 + %case.cmp116 = icmp eq i32 %0, 51 + br i1 %case.cmp116, label %sw.bb, label %NodeBlock113 + +NodeBlock113: ; preds = %NodeBlock115 + %case.cmp114 = icmp eq i32 %0, 52 + br i1 %case.cmp114, label %sw.bb, label %NodeBlock111 + +NodeBlock111: ; preds = %NodeBlock113 + %case.cmp112 = icmp eq i32 %0, 53 + br i1 %case.cmp112, label %sw.bb, label %NodeBlock109 + +NodeBlock109: ; preds = %NodeBlock111 + %case.cmp110 = icmp eq i32 %0, 54 + br i1 %case.cmp110, label %sw.bb, label %NodeBlock107 + +NodeBlock107: ; preds = %NodeBlock109 + %case.cmp108 = icmp eq i32 %0, 55 + br i1 %case.cmp108, label %sw.bb, label %NodeBlock105 + +NodeBlock105: ; preds = %NodeBlock107 + %case.cmp106 = icmp eq i32 %0, 56 + br i1 %case.cmp106, label %sw.bb, label %NodeBlock103 + +NodeBlock103: ; preds = %NodeBlock105 + %case.cmp104 = icmp eq i32 %0, 57 + br i1 %case.cmp104, label %sw.bb, label %NodeBlock101 + +NodeBlock101: ; preds = %NodeBlock103 + %case.cmp102 = icmp eq i32 %0, 97 + br i1 %case.cmp102, label %sw.bb, label %NodeBlock99 + +NodeBlock99: ; preds = %NodeBlock101 + %case.cmp100 = icmp eq i32 %0, 98 + br i1 %case.cmp100, label %sw.bb, label %NodeBlock97 + +NodeBlock97: ; preds = %NodeBlock99 + %case.cmp98 = icmp eq i32 %0, 99 + br i1 %case.cmp98, label %sw.bb, label %NodeBlock95 + +NodeBlock95: ; preds = %NodeBlock97 + %case.cmp96 = icmp eq i32 %0, 100 + br i1 %case.cmp96, label %sw.bb, label %NodeBlock93 + +NodeBlock93: ; preds = %NodeBlock95 + %case.cmp94 = icmp eq i32 %0, 101 + br i1 %case.cmp94, label %sw.bb, label %NodeBlock91 + +NodeBlock91: ; preds = %NodeBlock93 + %case.cmp92 = icmp eq i32 %0, 102 + br i1 %case.cmp92, label %sw.bb, label %NodeBlock89 + +NodeBlock89: ; preds = %NodeBlock91 + %case.cmp90 = icmp eq i32 %0, 103 + br i1 %case.cmp90, label %sw.bb, label %NodeBlock87 + +NodeBlock87: ; preds = %NodeBlock89 + %case.cmp88 = icmp eq i32 %0, 104 + br i1 %case.cmp88, label %sw.bb, label %NodeBlock85 + +NodeBlock85: ; preds = %NodeBlock87 + %case.cmp86 = icmp eq i32 %0, 105 + br i1 %case.cmp86, label %sw.bb, label %NodeBlock83 + +NodeBlock83: ; preds = %NodeBlock85 + %case.cmp84 = icmp eq i32 %0, 106 + br i1 %case.cmp84, label %sw.bb, label %NodeBlock81 + +NodeBlock81: ; preds = %NodeBlock83 + %case.cmp82 = icmp eq i32 %0, 107 + br i1 %case.cmp82, label %sw.bb, label %NodeBlock79 + +NodeBlock79: ; preds = %NodeBlock81 + %case.cmp80 = icmp eq i32 %0, 108 + br i1 %case.cmp80, label %sw.bb, label %NodeBlock77 + +NodeBlock77: ; preds = %NodeBlock79 + %case.cmp78 = icmp eq i32 %0, 109 + br i1 %case.cmp78, label %sw.bb, label %NodeBlock75 + +NodeBlock75: ; preds = %NodeBlock77 + %case.cmp76 = icmp eq i32 %0, 110 + br i1 %case.cmp76, label %sw.bb, label %NodeBlock73 + +NodeBlock73: ; preds = %NodeBlock75 + %case.cmp74 = icmp eq i32 %0, 111 + br i1 %case.cmp74, label %sw.bb, label %NodeBlock71 + +NodeBlock71: ; preds = %NodeBlock73 + %case.cmp72 = icmp eq i32 %0, 112 + br i1 %case.cmp72, label %sw.bb, label %NodeBlock69 + +NodeBlock69: ; preds = %NodeBlock71 + %case.cmp70 = icmp eq i32 %0, 113 + br i1 %case.cmp70, label %sw.bb, label %NodeBlock67 + +NodeBlock67: ; preds = %NodeBlock69 + %case.cmp68 = icmp eq i32 %0, 114 + br i1 %case.cmp68, label %sw.bb, label %NodeBlock65 + +NodeBlock65: ; preds = %NodeBlock67 + %case.cmp66 = icmp eq i32 %0, 115 + br i1 %case.cmp66, label %sw.bb, label %NodeBlock63 + +NodeBlock63: ; preds = %NodeBlock65 + %case.cmp64 = icmp eq i32 %0, 116 + br i1 %case.cmp64, label %sw.bb, label %NodeBlock61 + +NodeBlock61: ; preds = %NodeBlock63 + %case.cmp62 = icmp eq i32 %0, 117 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 118 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 119 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 120 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 121 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 122 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 65 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 66 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 67 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 68 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 69 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 70 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 71 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 72 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 73 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 74 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 75 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 76 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 77 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 78 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 79 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 80 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 81 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 82 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 83 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 84 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 85 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 86 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 87 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 88 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 89 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 90 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock121, %NodeBlock119, %NodeBlock117, %NodeBlock115, %NodeBlock113, %NodeBlock111, %NodeBlock109, %NodeBlock107, %NodeBlock105, %NodeBlock103, %NodeBlock101, %NodeBlock99, %NodeBlock97, %NodeBlock95, %NodeBlock93, %NodeBlock91, %NodeBlock89, %NodeBlock87, %NodeBlock85, %NodeBlock83, %NodeBlock81, %NodeBlock79, %NodeBlock77, %NodeBlock75, %NodeBlock73, %NodeBlock71, %NodeBlock69, %NodeBlock67, %NodeBlock65, %NodeBlock63, %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isalpha(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock101 + +NodeBlock101: ; preds = %entry + %case.cmp102 = icmp eq i32 %0, 97 + br i1 %case.cmp102, label %sw.bb, label %NodeBlock99 + +NodeBlock99: ; preds = %NodeBlock101 + %case.cmp100 = icmp eq i32 %0, 98 + br i1 %case.cmp100, label %sw.bb, label %NodeBlock97 + +NodeBlock97: ; preds = %NodeBlock99 + %case.cmp98 = icmp eq i32 %0, 99 + br i1 %case.cmp98, label %sw.bb, label %NodeBlock95 + +NodeBlock95: ; preds = %NodeBlock97 + %case.cmp96 = icmp eq i32 %0, 100 + br i1 %case.cmp96, label %sw.bb, label %NodeBlock93 + +NodeBlock93: ; preds = %NodeBlock95 + %case.cmp94 = icmp eq i32 %0, 101 + br i1 %case.cmp94, label %sw.bb, label %NodeBlock91 + +NodeBlock91: ; preds = %NodeBlock93 + %case.cmp92 = icmp eq i32 %0, 102 + br i1 %case.cmp92, label %sw.bb, label %NodeBlock89 + +NodeBlock89: ; preds = %NodeBlock91 + %case.cmp90 = icmp eq i32 %0, 103 + br i1 %case.cmp90, label %sw.bb, label %NodeBlock87 + +NodeBlock87: ; preds = %NodeBlock89 + %case.cmp88 = icmp eq i32 %0, 104 + br i1 %case.cmp88, label %sw.bb, label %NodeBlock85 + +NodeBlock85: ; preds = %NodeBlock87 + %case.cmp86 = icmp eq i32 %0, 105 + br i1 %case.cmp86, label %sw.bb, label %NodeBlock83 + +NodeBlock83: ; preds = %NodeBlock85 + %case.cmp84 = icmp eq i32 %0, 106 + br i1 %case.cmp84, label %sw.bb, label %NodeBlock81 + +NodeBlock81: ; preds = %NodeBlock83 + %case.cmp82 = icmp eq i32 %0, 107 + br i1 %case.cmp82, label %sw.bb, label %NodeBlock79 + +NodeBlock79: ; preds = %NodeBlock81 + %case.cmp80 = icmp eq i32 %0, 108 + br i1 %case.cmp80, label %sw.bb, label %NodeBlock77 + +NodeBlock77: ; preds = %NodeBlock79 + %case.cmp78 = icmp eq i32 %0, 109 + br i1 %case.cmp78, label %sw.bb, label %NodeBlock75 + +NodeBlock75: ; preds = %NodeBlock77 + %case.cmp76 = icmp eq i32 %0, 110 + br i1 %case.cmp76, label %sw.bb, label %NodeBlock73 + +NodeBlock73: ; preds = %NodeBlock75 + %case.cmp74 = icmp eq i32 %0, 111 + br i1 %case.cmp74, label %sw.bb, label %NodeBlock71 + +NodeBlock71: ; preds = %NodeBlock73 + %case.cmp72 = icmp eq i32 %0, 112 + br i1 %case.cmp72, label %sw.bb, label %NodeBlock69 + +NodeBlock69: ; preds = %NodeBlock71 + %case.cmp70 = icmp eq i32 %0, 113 + br i1 %case.cmp70, label %sw.bb, label %NodeBlock67 + +NodeBlock67: ; preds = %NodeBlock69 + %case.cmp68 = icmp eq i32 %0, 114 + br i1 %case.cmp68, label %sw.bb, label %NodeBlock65 + +NodeBlock65: ; preds = %NodeBlock67 + %case.cmp66 = icmp eq i32 %0, 115 + br i1 %case.cmp66, label %sw.bb, label %NodeBlock63 + +NodeBlock63: ; preds = %NodeBlock65 + %case.cmp64 = icmp eq i32 %0, 116 + br i1 %case.cmp64, label %sw.bb, label %NodeBlock61 + +NodeBlock61: ; preds = %NodeBlock63 + %case.cmp62 = icmp eq i32 %0, 117 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 118 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 119 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 120 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 121 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 122 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 65 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 66 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 67 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 68 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 69 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 70 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 71 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 72 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 73 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 74 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 75 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 76 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 77 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 78 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 79 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 80 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 81 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 82 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 83 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 84 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 85 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 86 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 87 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 88 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 89 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 90 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock101, %NodeBlock99, %NodeBlock97, %NodeBlock95, %NodeBlock93, %NodeBlock91, %NodeBlock89, %NodeBlock87, %NodeBlock85, %NodeBlock83, %NodeBlock81, %NodeBlock79, %NodeBlock77, %NodeBlock75, %NodeBlock73, %NodeBlock71, %NodeBlock69, %NodeBlock67, %NodeBlock65, %NodeBlock63, %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isascii(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %switch = icmp ult i32 %0, 128 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isblank(i32 %c) #3 { +entry: + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %cmp = icmp eq i32 %0, 32 + %1 = load i32, i32* %c.addr, align 4 + %cmp1 = icmp eq i32 %1, 9 + %2 = select i1 %cmp, i1 true, i1 %cmp1 + ret i1 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_iscntrl(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock63 + +NodeBlock63: ; preds = %entry + %case.cmp64 = icmp eq i32 %0, 7 + br i1 %case.cmp64, label %sw.bb, label %NodeBlock61 + +NodeBlock61: ; preds = %NodeBlock63 + %case.cmp62 = icmp eq i32 %0, 8 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 12 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 10 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 13 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 9 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 11 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 0 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 1 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 2 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 3 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 4 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 5 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 6 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 14 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 15 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 16 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 17 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 18 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 19 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 20 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 21 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 22 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 23 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 24 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 25 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 26 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 27 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 28 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 29 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 30 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 31 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 127 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock63, %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isdigit(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -48 + %switch = icmp ult i32 %.off, 10 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isgraph(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -33 + %switch = icmp ult i32 %.off, 94 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_islower(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -97 + %switch = icmp ult i32 %.off, 26 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isprint(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -32 + %switch = icmp ult i32 %.off, 95 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_ispunct(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock61 + +NodeBlock61: ; preds = %entry + %case.cmp62 = icmp eq i32 %0, 33 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 34 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 35 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 36 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 37 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 38 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 39 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 40 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 41 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 42 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 43 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 44 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 45 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 46 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 47 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 58 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 59 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 60 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 61 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 62 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 63 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 64 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 91 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 92 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 93 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 94 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 95 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 96 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 123 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 124 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 125 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 126 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isspace(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock9 + +NodeBlock9: ; preds = %entry + %case.cmp10 = icmp eq i32 %0, 32 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 9 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 10 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 11 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 12 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 13 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isupper(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -65 + %switch = icmp ult i32 %.off, 26 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isxdigit(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock41 + +NodeBlock41: ; preds = %entry + %case.cmp42 = icmp eq i32 %0, 48 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 49 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 50 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 51 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 52 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 53 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 54 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 55 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 56 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 57 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 97 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 98 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 99 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 100 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 101 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 102 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 65 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 66 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 67 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 68 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 69 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 70 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @c_toupper(i32 %c) #3 { +entry: + %retval = alloca i32, align 4 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -97 + %switch = icmp ult i32 %.off, 26 + %1 = load i32, i32* %c.addr, align 4 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + %sub = sub nsw i32 %1, 97 + %add = add nsw i32 %sub, 65 + store i32 %add, i32* %retval, align 4 + br label %return + +sw.default: ; preds = %entry + store i32 %1, i32* %retval, align 4 + br label %return + +return: ; preds = %sw.default, %sw.bb + %2 = load i32, i32* %retval, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @klee_init_fds(i32 %n_files, i32 %file_length, i32 %stdin_length, i32 %sym_stdout_flag, i32 %save_all_writes_flag, i32 %max_failures) #3 { +entry: + %n_files.addr = alloca i32, align 4 + %file_length.addr = alloca i32, align 4 + %stdin_length.addr = alloca i32, align 4 + %sym_stdout_flag.addr = alloca i32, align 4 + %save_all_writes_flag.addr = alloca i32, align 4 + %max_failures.addr = alloca i32, align 4 + %k = alloca i32, align 4 + %name = alloca [7 x i8], align 1 + %s = alloca %struct.stat64, align 8 + store i32 %n_files, i32* %n_files.addr, align 4 + store i32 %file_length, i32* %file_length.addr, align 4 + store i32 %stdin_length, i32* %stdin_length.addr, align 4 + store i32 %sym_stdout_flag, i32* %sym_stdout_flag.addr, align 4 + store i32 %save_all_writes_flag, i32* %save_all_writes_flag.addr, align 4 + store i32 %max_failures, i32* %max_failures.addr, align 4 + %0 = bitcast [7 x i8]* %name to i8* + %1 = call i8* @memcpy(i8* %0, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @__const.klee_init_fds.name, i32 0, i32 0), i64 7) + %call = call i32 @stat64(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.139, i64 0, i64 0), %struct.stat64* %s) #11 + %2 = load i32, i32* %n_files.addr, align 4 + store i32 %2, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %3 = load i32, i32* %n_files.addr, align 4 + %conv = zext i32 %3 to i64 + %mul = mul i64 24, %conv + %call1 = call noalias i8* @malloc(i64 %mul) #11 + %4 = bitcast i8* %call1 to %struct.exe_disk_file_t* + store %struct.exe_disk_file_t* %4, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %5 = load i32, i32* %n_files.addr, align 4 + %tobool = icmp eq i32 %5, 0 + %6 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %6, null + %or.cond = or i1 %tobool, %tobool2 + br i1 %or.cond, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @gs_report_error.143(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.140, i64 0, i64 0), i32 124, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.141, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.142, i64 0, i64 0)) #24 + unreachable + +if.end: ; preds = %entry + store i32 0, i32* %k, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %7 = load i32, i32* %k, align 4 + %8 = load i32, i32* %n_files.addr, align 4 + %cmp = icmp ult i32 %7, %8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %9 = load i32, i32* %k, align 4 + %add = add i32 65, %9 + %conv4 = trunc i32 %add to i8 + %arrayidx = getelementptr inbounds [7 x i8], [7 x i8]* %name, i64 0, i64 0 + store i8 %conv4, i8* %arrayidx, align 1 + %10 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %11 = load i32, i32* %k, align 4 + %idxprom = zext i32 %11 to i64 + %arrayidx5 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %10, i64 %idxprom + %12 = load i32, i32* %file_length.addr, align 4 + %arraydecay = getelementptr inbounds [7 x i8], [7 x i8]* %name, i64 0, i64 0 + call void @__create_new_dfile(%struct.exe_disk_file_t* %arrayidx5, i32 %12, i8* %arraydecay, %struct.stat64* %s) + %13 = load i32, i32* %k, align 4 + %inc = add i32 %13, 1 + store i32 %inc, i32* %k, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %14 = load i32, i32* %stdin_length.addr, align 4 + %tobool6 = icmp ne i32 %14, 0 + br i1 %tobool6, label %if.then7, label %if.else + +if.then7: ; preds = %for.end + %call8 = call noalias i8* @malloc(i64 24) #11 + %15 = bitcast i8* %call8 to %struct.exe_disk_file_t* + store %struct.exe_disk_file_t* %15, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + %16 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + %tobool9 = icmp ne %struct.exe_disk_file_t* %16, null + br i1 %tobool9, label %if.end11, label %if.then10 + +if.then10: ; preds = %if.then7 + call void @gs_report_error.143(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.140, i64 0, i64 0), i32 135, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.141, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.142, i64 0, i64 0)) #24 + unreachable + +if.end11: ; preds = %if.then7 + %17 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + %18 = load i32, i32* %stdin_length.addr, align 4 + call void @__create_new_dfile(%struct.exe_disk_file_t* %17, i32 %18, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.4.144, i64 0, i64 0), %struct.stat64* %s) + %19 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + store %struct.exe_disk_file_t* %19, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0, i64 0, i32 3), align 8 + br label %if.end12 + +if.else: ; preds = %for.end + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + br label %if.end12 + +if.end12: ; preds = %if.else, %if.end11 + %20 = load i32, i32* %max_failures.addr, align 4 + store i32 %20, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %21 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool13 = icmp ne i32 %21, 0 + br i1 %tobool13, label %if.then14, label %if.end31 + +if.then14: ; preds = %if.end12 + %call15 = call noalias i8* @malloc(i64 4) #11 + %22 = bitcast i8* %call15 to i32* + store i32* %22, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %call16 = call noalias i8* @malloc(i64 4) #11 + %23 = bitcast i8* %call16 to i32* + store i32* %23, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %call17 = call noalias i8* @malloc(i64 4) #11 + %24 = bitcast i8* %call17 to i32* + store i32* %24, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %call18 = call noalias i8* @malloc(i64 4) #11 + %25 = bitcast i8* %call18 to i32* + store i32* %25, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %call19 = call noalias i8* @malloc(i64 4) #11 + %26 = bitcast i8* %call19 to i32* + store i32* %26, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %27 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %tobool20 = icmp ne i32* %27, null + %28 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %tobool22 = icmp ne i32* %28, null + %or.cond1 = and i1 %tobool20, %tobool22 + %29 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %tobool24 = icmp ne i32* %29, null + %or.cond2 = and i1 %or.cond1, %tobool24 + %30 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %tobool26 = icmp ne i32* %30, null + %or.cond3 = and i1 %or.cond2, %tobool26 + %31 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %tobool28 = icmp ne i32* %31, null + %or.cond4 = and i1 %or.cond3, %tobool28 + br i1 %or.cond4, label %if.end30, label %if.then29 + +if.then29: ; preds = %if.then14 + call void @gs_report_error.143(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.140, i64 0, i64 0), i32 150, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.141, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.142, i64 0, i64 0)) #24 + unreachable + +if.end30: ; preds = %if.then14 + %32 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %33 = bitcast i32* %32 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %33, i64 4, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.5.145, i64 0, i64 0)) + %34 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %35 = bitcast i32* %34 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %35, i64 4, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.6.146, i64 0, i64 0)) + %36 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %37 = bitcast i32* %36 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %37, i64 4, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.7.147, i64 0, i64 0)) + %38 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %39 = bitcast i32* %38 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %39, i64 4, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.8.148, i64 0, i64 0)) + %40 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %41 = bitcast i32* %40 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %41, i64 4, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.9.149, i64 0, i64 0)) + br label %if.end31 + +if.end31: ; preds = %if.end30, %if.end12 + %42 = load i32, i32* %sym_stdout_flag.addr, align 4 + %tobool32 = icmp ne i32 %42, 0 + br i1 %tobool32, label %if.then33, label %if.else38 + +if.then33: ; preds = %if.end31 + %call34 = call noalias i8* @malloc(i64 24) #11 + %43 = bitcast i8* %call34 to %struct.exe_disk_file_t* + store %struct.exe_disk_file_t* %43, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + %44 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + %tobool35 = icmp ne %struct.exe_disk_file_t* %44, null + br i1 %tobool35, label %if.end37, label %if.then36 + +if.then36: ; preds = %if.then33 + call void @gs_report_error.143(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.140, i64 0, i64 0), i32 163, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.141, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.142, i64 0, i64 0)) #24 + unreachable + +if.end37: ; preds = %if.then33 + %45 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + call void @__create_new_dfile(%struct.exe_disk_file_t* %45, i32 1024, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.10.150, i64 0, i64 0), %struct.stat64* %s) + %46 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + store %struct.exe_disk_file_t* %46, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0, i64 1, i32 3), align 8 + store i32 0, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 3), align 8 + br label %if.end39 + +if.else38: ; preds = %if.end31 + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + br label %if.end39 + +if.end39: ; preds = %if.else38, %if.end37 + %47 = load i32, i32* %save_all_writes_flag.addr, align 4 + store i32 %47, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 3), align 8 + %call40 = call i32 @__sym_uint32(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.11.151, i64 0, i64 0)) + store i32 %call40, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 2), align 4 + %48 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 2), align 4 + %cmp41 = icmp eq i32 %48, 1 + call void @gs_assume(i1 zeroext %cmp41) + ret void +} + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error.143(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.154, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__create_new_dfile(%struct.exe_disk_file_t* %dfile, i32 %size, i8* %name, %struct.stat64* %defaults) #3 { +entry: + %dfile.addr = alloca %struct.exe_disk_file_t*, align 8 + %size.addr = alloca i32, align 4 + %name.addr = alloca i8*, align 8 + %defaults.addr = alloca %struct.stat64*, align 8 + %s = alloca %struct.stat64*, align 8 + %sp = alloca i8*, align 8 + %sname = alloca [64 x i8], align 16 + store %struct.exe_disk_file_t* %dfile, %struct.exe_disk_file_t** %dfile.addr, align 8 + store i32 %size, i32* %size.addr, align 4 + store i8* %name, i8** %name.addr, align 8 + store %struct.stat64* %defaults, %struct.stat64** %defaults.addr, align 8 + %call = call noalias i8* @malloc(i64 144) #11 + %0 = bitcast i8* %call to %struct.stat64* + store %struct.stat64* %0, %struct.stat64** %s, align 8 + %1 = load %struct.stat64*, %struct.stat64** %s, align 8 + %tobool = icmp ne %struct.stat64* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @gs_report_error.143(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.140, i64 0, i64 0), i32 47, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.141, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.142, i64 0, i64 0)) #24 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %name.addr, align 8 + store i8* %2, i8** %sp, align 8 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %3 = load i8*, i8** %sp, align 8 + %4 = load i8, i8* %3, align 1 + %tobool1 = icmp ne i8 %4, 0 + %5 = load i8*, i8** %sp, align 8 + br i1 %tobool1, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %6 = load i8, i8* %5, align 1 + %7 = load i8*, i8** %sp, align 8 + %8 = load i8*, i8** %name.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %8 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %arrayidx = getelementptr inbounds [64 x i8], [64 x i8]* %sname, i64 0, i64 %sub.ptr.sub + store i8 %6, i8* %arrayidx, align 1 + %9 = load i8*, i8** %sp, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %sp, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %10 = load i8*, i8** %name.addr, align 8 + %sub.ptr.lhs.cast2 = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast3 = ptrtoint i8* %10 to i64 + %sub.ptr.sub4 = sub i64 %sub.ptr.lhs.cast2, %sub.ptr.rhs.cast3 + %arrayidx5 = getelementptr inbounds [64 x i8], [64 x i8]* %sname, i64 0, i64 %sub.ptr.sub4 + %11 = call i8* @memcpy(i8* %arrayidx5, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.13.152, i64 0, i64 0), i64 6) + %12 = load i32, i32* %size.addr, align 4 + %tobool6 = icmp ne i32 %12, 0 + br i1 %tobool6, label %if.end8, label %if.else + +if.else: ; preds = %for.end + call void @__assert_fail(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.14.153, i64 0, i64 0), i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.140, i64 0, i64 0), i32 55, i8* getelementptr inbounds ([88 x i8], [88 x i8]* @__PRETTY_FUNCTION__.__create_new_dfile, i64 0, i64 0)) #26 + unreachable + +if.end8: ; preds = %for.end + %13 = load i32, i32* %size.addr, align 4 + %14 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size9 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %14, i32 0, i32 0 + store i32 %13, i32* %size9, align 8 + %15 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size10 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %15, i32 0, i32 0 + %16 = load i32, i32* %size10, align 8 + %conv = zext i32 %16 to i64 + %call11 = call noalias i8* @malloc(i64 %conv) #11 + %17 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %contents = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %17, i32 0, i32 1 + store i8* %call11, i8** %contents, align 8 + %18 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %contents12 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %18, i32 0, i32 1 + %19 = load i8*, i8** %contents12, align 8 + %tobool13 = icmp ne i8* %19, null + br i1 %tobool13, label %if.end15, label %if.then14 + +if.then14: ; preds = %if.end8 + call void @gs_report_error.143(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.140, i64 0, i64 0), i32 60, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.141, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.142, i64 0, i64 0)) #24 + unreachable + +if.end15: ; preds = %if.end8 + %20 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %contents16 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %20, i32 0, i32 1 + %21 = load i8*, i8** %contents16, align 8 + %22 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size17 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %22, i32 0, i32 0 + %23 = load i32, i32* %size17, align 8 + %conv18 = zext i32 %23 to i64 + %24 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %21, i64 %conv18, i8* %24) + %25 = load %struct.stat64*, %struct.stat64** %s, align 8 + %26 = bitcast %struct.stat64* %25 to i8* + %arraydecay = getelementptr inbounds [64 x i8], [64 x i8]* %sname, i64 0, i64 0 + call void (i8*, i64, ...) @make_symbolic(i8* %26, i64 144, i8* %arraydecay) + %27 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %27, i32 0, i32 1 + %28 = load i64, i64* %st_ino, align 8 + %call19 = call i32 @gs_is_symbolic(i64 %28) + %tobool20 = icmp ne i32 %call19, 0 + br i1 %tobool20, label %if.end26, label %land.lhs.true + +land.lhs.true: ; preds = %if.end15 + %29 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino21 = getelementptr inbounds %struct.stat64, %struct.stat64* %29, i32 0, i32 1 + %30 = load i64, i64* %st_ino21, align 8 + %and = and i64 %30, 2147483647 + %cmp = icmp eq i64 %and, 0 + br i1 %cmp, label %if.then23, label %if.end26 + +if.then23: ; preds = %land.lhs.true + %31 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_ino24 = getelementptr inbounds %struct.stat64, %struct.stat64* %31, i32 0, i32 1 + %32 = load i64, i64* %st_ino24, align 8 + %33 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino25 = getelementptr inbounds %struct.stat64, %struct.stat64* %33, i32 0, i32 1 + store i64 %32, i64* %st_ino25, align 8 + br label %if.end26 + +if.end26: ; preds = %if.then23, %land.lhs.true, %if.end15 + %34 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino27 = getelementptr inbounds %struct.stat64, %struct.stat64* %34, i32 0, i32 1 + %35 = load i64, i64* %st_ino27, align 8 + %and28 = and i64 %35, 2147483647 + %cmp29 = icmp ne i64 %and28, 0 + call void @gs_assume(i1 zeroext %cmp29) + %36 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_blksize = getelementptr inbounds %struct.stat64, %struct.stat64* %36, i32 0, i32 9 + %37 = load i64, i64* %st_blksize, align 8 + %and31 = and i64 %37, -65536 + %cmp32 = icmp eq i64 %and31, 0 + call void @gs_assume(i1 zeroext %cmp32) + %38 = load %struct.stat64*, %struct.stat64** %s, align 8 + %39 = bitcast %struct.stat64* %38 to i8* + %40 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %40, i32 0, i32 3 + %41 = load i32, i32* %st_mode, align 8 + %and34 = and i32 %41, -61952 + %tobool35 = icmp ne i32 %and34, 0 + %lnot = xor i1 %tobool35, true + call void @gs_prefer_cex(i8* %39, i1 zeroext %lnot) + %42 = load %struct.stat64*, %struct.stat64** %s, align 8 + %43 = bitcast %struct.stat64* %42 to i8* + %44 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_dev = getelementptr inbounds %struct.stat64, %struct.stat64* %44, i32 0, i32 0 + %45 = load i64, i64* %st_dev, align 8 + %46 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_dev36 = getelementptr inbounds %struct.stat64, %struct.stat64* %46, i32 0, i32 0 + %47 = load i64, i64* %st_dev36, align 8 + %cmp37 = icmp eq i64 %45, %47 + call void @gs_prefer_cex(i8* %43, i1 zeroext %cmp37) + %48 = load %struct.stat64*, %struct.stat64** %s, align 8 + %49 = bitcast %struct.stat64* %48 to i8* + %50 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_rdev = getelementptr inbounds %struct.stat64, %struct.stat64* %50, i32 0, i32 7 + %51 = load i64, i64* %st_rdev, align 8 + %52 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_rdev39 = getelementptr inbounds %struct.stat64, %struct.stat64* %52, i32 0, i32 7 + %53 = load i64, i64* %st_rdev39, align 8 + %cmp40 = icmp eq i64 %51, %53 + call void @gs_prefer_cex(i8* %49, i1 zeroext %cmp40) + %54 = load %struct.stat64*, %struct.stat64** %s, align 8 + %55 = bitcast %struct.stat64* %54 to i8* + %56 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode42 = getelementptr inbounds %struct.stat64, %struct.stat64* %56, i32 0, i32 3 + %57 = load i32, i32* %st_mode42, align 8 + %and43 = and i32 %57, 448 + %cmp44 = icmp eq i32 %and43, 384 + call void @gs_prefer_cex(i8* %55, i1 zeroext %cmp44) + %58 = load %struct.stat64*, %struct.stat64** %s, align 8 + %59 = bitcast %struct.stat64* %58 to i8* + %60 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode46 = getelementptr inbounds %struct.stat64, %struct.stat64* %60, i32 0, i32 3 + %61 = load i32, i32* %st_mode46, align 8 + %and47 = and i32 %61, 56 + %cmp48 = icmp eq i32 %and47, 32 + call void @gs_prefer_cex(i8* %59, i1 zeroext %cmp48) + %62 = load %struct.stat64*, %struct.stat64** %s, align 8 + %63 = bitcast %struct.stat64* %62 to i8* + %64 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode50 = getelementptr inbounds %struct.stat64, %struct.stat64* %64, i32 0, i32 3 + %65 = load i32, i32* %st_mode50, align 8 + %and51 = and i32 %65, 7 + %cmp52 = icmp eq i32 %and51, 4 + call void @gs_prefer_cex(i8* %63, i1 zeroext %cmp52) + %66 = load %struct.stat64*, %struct.stat64** %s, align 8 + %67 = bitcast %struct.stat64* %66 to i8* + %68 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode54 = getelementptr inbounds %struct.stat64, %struct.stat64* %68, i32 0, i32 3 + %69 = load i32, i32* %st_mode54, align 8 + %and55 = and i32 %69, 61440 + %cmp56 = icmp eq i32 %and55, 32768 + call void @gs_prefer_cex(i8* %67, i1 zeroext %cmp56) + %70 = load %struct.stat64*, %struct.stat64** %s, align 8 + %71 = bitcast %struct.stat64* %70 to i8* + %72 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_nlink = getelementptr inbounds %struct.stat64, %struct.stat64* %72, i32 0, i32 2 + %73 = load i64, i64* %st_nlink, align 8 + %cmp58 = icmp eq i64 %73, 1 + call void @gs_prefer_cex(i8* %71, i1 zeroext %cmp58) + %74 = load %struct.stat64*, %struct.stat64** %s, align 8 + %75 = bitcast %struct.stat64* %74 to i8* + %76 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_uid = getelementptr inbounds %struct.stat64, %struct.stat64* %76, i32 0, i32 4 + %77 = load i32, i32* %st_uid, align 4 + %78 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_uid60 = getelementptr inbounds %struct.stat64, %struct.stat64* %78, i32 0, i32 4 + %79 = load i32, i32* %st_uid60, align 4 + %cmp61 = icmp eq i32 %77, %79 + call void @gs_prefer_cex(i8* %75, i1 zeroext %cmp61) + %80 = load %struct.stat64*, %struct.stat64** %s, align 8 + %81 = bitcast %struct.stat64* %80 to i8* + %82 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_gid = getelementptr inbounds %struct.stat64, %struct.stat64* %82, i32 0, i32 5 + %83 = load i32, i32* %st_gid, align 8 + %84 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_gid63 = getelementptr inbounds %struct.stat64, %struct.stat64* %84, i32 0, i32 5 + %85 = load i32, i32* %st_gid63, align 8 + %cmp64 = icmp eq i32 %83, %85 + call void @gs_prefer_cex(i8* %81, i1 zeroext %cmp64) + %86 = load %struct.stat64*, %struct.stat64** %s, align 8 + %87 = bitcast %struct.stat64* %86 to i8* + %88 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_blksize66 = getelementptr inbounds %struct.stat64, %struct.stat64* %88, i32 0, i32 9 + %89 = load i64, i64* %st_blksize66, align 8 + %cmp67 = icmp eq i64 %89, 4096 + call void @gs_prefer_cex(i8* %87, i1 zeroext %cmp67) + %90 = load %struct.stat64*, %struct.stat64** %s, align 8 + %91 = bitcast %struct.stat64* %90 to i8* + %92 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_atim = getelementptr inbounds %struct.stat64, %struct.stat64* %92, i32 0, i32 11 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim, i32 0, i32 0 + %93 = load i64, i64* %tv_sec, align 8 + %94 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_atim69 = getelementptr inbounds %struct.stat64, %struct.stat64* %94, i32 0, i32 11 + %tv_sec70 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim69, i32 0, i32 0 + %95 = load i64, i64* %tv_sec70, align 8 + %cmp71 = icmp eq i64 %93, %95 + call void @gs_prefer_cex(i8* %91, i1 zeroext %cmp71) + %96 = load %struct.stat64*, %struct.stat64** %s, align 8 + %97 = bitcast %struct.stat64* %96 to i8* + %98 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mtim = getelementptr inbounds %struct.stat64, %struct.stat64* %98, i32 0, i32 12 + %tv_sec73 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim, i32 0, i32 0 + %99 = load i64, i64* %tv_sec73, align 8 + %100 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_mtim74 = getelementptr inbounds %struct.stat64, %struct.stat64* %100, i32 0, i32 12 + %tv_sec75 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim74, i32 0, i32 0 + %101 = load i64, i64* %tv_sec75, align 8 + %cmp76 = icmp eq i64 %99, %101 + call void @gs_prefer_cex(i8* %97, i1 zeroext %cmp76) + %102 = load %struct.stat64*, %struct.stat64** %s, align 8 + %103 = bitcast %struct.stat64* %102 to i8* + %104 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ctim = getelementptr inbounds %struct.stat64, %struct.stat64* %104, i32 0, i32 13 + %tv_sec78 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim, i32 0, i32 0 + %105 = load i64, i64* %tv_sec78, align 8 + %106 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_ctim79 = getelementptr inbounds %struct.stat64, %struct.stat64* %106, i32 0, i32 13 + %tv_sec80 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim79, i32 0, i32 0 + %107 = load i64, i64* %tv_sec80, align 8 + %cmp81 = icmp eq i64 %105, %107 + call void @gs_prefer_cex(i8* %103, i1 zeroext %cmp81) + %108 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size83 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %108, i32 0, i32 0 + %109 = load i32, i32* %size83, align 8 + %conv84 = zext i32 %109 to i64 + %110 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_size = getelementptr inbounds %struct.stat64, %struct.stat64* %110, i32 0, i32 8 + store i64 %conv84, i64* %st_size, align 8 + %111 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_blocks = getelementptr inbounds %struct.stat64, %struct.stat64* %111, i32 0, i32 10 + store i64 8, i64* %st_blocks, align 8 + %112 = load %struct.stat64*, %struct.stat64** %s, align 8 + %113 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %113, i32 0, i32 2 + store %struct.stat64* %112, %struct.stat64** %stat, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__sym_uint32(i8* %name) #3 { +entry: + %name.addr = alloca i8*, align 8 + %x = alloca i32, align 4 + store i8* %name, i8** %name.addr, align 8 + %0 = bitcast i32* %x to i8* + %1 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %0, i64 4, i8* %1) + %2 = load i32, i32* %x, align 4 + ret i32 %2 +} + +declare dso_local void @gs_prefer_cex(i8*, i1 zeroext) #5 + +; Function Attrs: noinline nounwind uwtable +define weak hidden i32 @__syscall_rt_sigaction(i32 %signum, %struct.sigaction.800* %act, %struct.sigaction.800* %oldact, i64 %_something) #3 { +entry: + %signum.addr = alloca i32, align 4 + %act.addr = alloca %struct.sigaction.800*, align 8 + %oldact.addr = alloca %struct.sigaction.800*, align 8 + %_something.addr = alloca i64, align 8 + store i32 %signum, i32* %signum.addr, align 4 + store %struct.sigaction.800* %act, %struct.sigaction.800** %act.addr, align 8 + store %struct.sigaction.800* %oldact, %struct.sigaction.800** %oldact.addr, align 8 + store i64 %_something, i64* %_something.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.155, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @sigaction(i32 %signum, %struct.sigaction.800* %act, %struct.sigaction.800* %oldact) #3 { +entry: + %signum.addr = alloca i32, align 4 + %act.addr = alloca %struct.sigaction.800*, align 8 + %oldact.addr = alloca %struct.sigaction.800*, align 8 + store i32 %signum, i32* %signum.addr, align 4 + store %struct.sigaction.800* %act, %struct.sigaction.800** %act.addr, align 8 + store %struct.sigaction.800* %oldact, %struct.sigaction.800** %oldact.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.155, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @sigprocmask(i32 %how, %struct.fd_set* %set, %struct.fd_set* %oldset) #3 { +entry: + %how.addr = alloca i32, align 4 + %set.addr = alloca %struct.fd_set*, align 8 + %oldset.addr = alloca %struct.fd_set*, align 8 + store i32 %how, i32* %how.addr, align 4 + store %struct.fd_set* %set, %struct.fd_set** %set.addr, align 8 + store %struct.fd_set* %oldset, %struct.fd_set** %oldset.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.155, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @fdatasync(i32 %fd) #3 { +entry: + %fd.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local void @sync() #3 { +entry: + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @__socketcall(i32 %type, i32* %args) #3 { +entry: + %type.addr = alloca i32, align 4 + %args.addr = alloca i32*, align 8 + store i32 %type, i32* %type.addr, align 4 + store i32* %args, i32** %args.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.1.160, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 97, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @gs_warning.161(i8* %message) #3 { +entry: + %message.addr = alloca i8*, align 8 + store i8* %message, i8** %message.addr, align 8 + %0 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %0) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.11.162, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @_IO_getc(%struct._IO_FILE* %f) #3 { +entry: + %f.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %f, %struct._IO_FILE** %f.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %f.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %0) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @_IO_putc(i32 %c, %struct._IO_FILE* %f) #3 { +entry: + %c.addr = alloca i32, align 4 + %f.addr = alloca %struct._IO_FILE*, align 8 + store i32 %c, i32* %c.addr, align 4 + store %struct._IO_FILE* %f, %struct._IO_FILE** %f.addr, align 8 + %0 = load i32, i32* %c.addr, align 4 + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %f.addr, align 8 + %call = call i32 bitcast (i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked to i32 (i32, %struct._IO_FILE*)*)(i32 %0, %struct._IO_FILE* %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mkdir(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2.165, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 5, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mkfifo(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2.165, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 5, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mknod(i8* nonnull %pathname, i32 %mode, i64 %dev) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + %dev.addr = alloca i64, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + store i64 %dev, i64* %dev.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2.165, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 5, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @pipe(i32* %filedes) #3 { +entry: + %filedes.addr = alloca i32*, align 8 + store i32* %filedes, i32** %filedes.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.3.166, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 23, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @link(i8* nonnull %oldpath, i8* nonnull %newpath) #3 { +entry: + %oldpath.addr = alloca i8*, align 8 + %newpath.addr = alloca i8*, align 8 + store i8* %oldpath, i8** %oldpath.addr, align 8 + store i8* %newpath, i8** %newpath.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @symlink(i8* nonnull %oldpath, i8* nonnull %newpath) #3 { +entry: + %oldpath.addr = alloca i8*, align 8 + %newpath.addr = alloca i8*, align 8 + store i8* %oldpath, i8** %oldpath.addr, align 8 + store i8* %newpath, i8** %newpath.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @rename(i8* %oldpath, i8* %newpath) #3 { +entry: + %oldpath.addr = alloca i8*, align 8 + %newpath.addr = alloca i8*, align 8 + store i8* %oldpath, i8** %oldpath.addr, align 8 + store i8* %newpath, i8** %newpath.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @nanosleep(%struct.timespec* %req, %struct.timespec* %rem) #3 { +entry: + %req.addr = alloca %struct.timespec*, align 8 + %rem.addr = alloca %struct.timespec*, align 8 + store %struct.timespec* %req, %struct.timespec** %req.addr, align 8 + store %struct.timespec* %rem, %struct.timespec** %rem.addr, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @clock_gettime(i32 %clk_id, %struct.timespec* %res) #3 { +entry: + %clk_id.addr = alloca i32, align 4 + %res.addr = alloca %struct.timespec*, align 8 + %tv = alloca %struct.timespec, align 8 + store i32 %clk_id, i32* %clk_id.addr, align 4 + store %struct.timespec* %res, %struct.timespec** %res.addr, align 8 + %call = call i32 @gettimeofday(%struct.timespec* %tv, i8* null) #11 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %0 = load i64, i64* %tv_sec, align 8 + %1 = load %struct.timespec*, %struct.timespec** %res.addr, align 8 + %tv_sec1 = getelementptr inbounds %struct.timespec, %struct.timespec* %1, i32 0, i32 0 + store i64 %0, i64* %tv_sec1, align 8 + %tv_usec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 1 + %2 = load i64, i64* %tv_usec, align 8 + %mul = mul nsw i64 %2, 1000 + %3 = load %struct.timespec*, %struct.timespec** %res.addr, align 8 + %tv_nsec = getelementptr inbounds %struct.timespec, %struct.timespec* %3, i32 0, i32 1 + store i64 %mul, i64* %tv_nsec, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @clock_settime(i32 %clk_id, %struct.timespec* %res) #3 { +entry: + %clk_id.addr = alloca i32, align 4 + %res.addr = alloca %struct.timespec*, align 8 + store i32 %clk_id, i32* %clk_id.addr, align 4 + store %struct.timespec* %res, %struct.timespec** %res.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @time(i64* %t) #3 { +entry: + %t.addr = alloca i64*, align 8 + %tv = alloca %struct.timespec, align 8 + store i64* %t, i64** %t.addr, align 8 + %call = call i32 @gettimeofday(%struct.timespec* %tv, i8* null) #11 + %0 = load i64*, i64** %t.addr, align 8 + %tobool = icmp ne i64* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %1 = load i64, i64* %tv_sec, align 8 + %2 = load i64*, i64** %t.addr, align 8 + store i64 %1, i64* %2, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %tv_sec1 = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %3 = load i64, i64* %tv_sec1, align 8 + ret i64 %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @times(%struct.tms* %buf) #3 { +entry: + %buf.addr = alloca %struct.tms*, align 8 + store %struct.tms* %buf, %struct.tms** %buf.addr, align 8 + %0 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tobool = icmp ne %struct.tms* %0, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + call void @gs_warning.161(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.5.168, i64 0, i64 0)) + br label %if.end + +if.else: ; preds = %entry + call void @gs_warning.161(i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.6.169, i64 0, i64 0)) + %1 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_utime = getelementptr inbounds %struct.tms, %struct.tms* %1, i32 0, i32 0 + store i64 0, i64* %tms_utime, align 8 + %2 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_stime = getelementptr inbounds %struct.tms, %struct.tms* %2, i32 0, i32 1 + store i64 0, i64* %tms_stime, align 8 + %3 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_cutime = getelementptr inbounds %struct.tms, %struct.tms* %3, i32 0, i32 2 + store i64 0, i64* %tms_cutime, align 8 + %4 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_cstime = getelementptr inbounds %struct.tms, %struct.tms* %4, i32 0, i32 3 + store i64 0, i64* %tms_cstime, align 8 + br label %if.end + +if.end: ; preds = %if.else, %if.then + ret i64 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local %struct.utmpx* @getutxent() #3 { +entry: + %call = call %struct.utmp* bitcast (%struct.utmp.323* ()* @getutent to %struct.utmp* ()*)() #11 + %0 = bitcast %struct.utmp* %call to %struct.utmpx* + ret %struct.utmpx* %0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local void @setutxent() #3 { +entry: + call void @setutent() #11 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local void @endutxent() #3 { +entry: + call void @endutent() #11 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @utmpxname(i8* %file) #3 { +entry: + %file.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + %call = call i32 @utmpname(i8* %0) #11 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @euidaccess(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %1 = load i32, i32* %mode.addr, align 4 + %call = call i32 @access(i8* %0, i32 %1) #11 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @eaccess(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %1 = load i32, i32* %mode.addr, align 4 + %call = call i32 @euidaccess(i8* %0, i32 %1) #11 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @group_member(i32 %__gid) #3 { +entry: + %__gid.addr = alloca i32, align 4 + store i32 %__gid, i32* %__gid.addr, align 4 + %0 = load i32, i32* %__gid.addr, align 4 + %call = call i32 @getgid() #11 + %cmp = icmp eq i32 %0, %call + br i1 %cmp, label %lor.end, label %lor.rhs + +lor.rhs: ; preds = %entry + %1 = load i32, i32* %__gid.addr, align 4 + %call1 = call i32 @getegid() #11 + %cmp2 = icmp eq i32 %1, %call1 + br label %lor.end + +lor.end: ; preds = %lor.rhs, %entry + %2 = phi i1 [ true, %entry ], [ %cmp2, %lor.rhs ] + %lor.ext = zext i1 %2 to i32 + ret i32 %lor.ext +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @utime(i8* nonnull %filename, %struct.timespec* %buf) #3 { +entry: + %filename.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.timespec*, align 8 + store i8* %filename, i8** %filename.addr, align 8 + store %struct.timespec* %buf, %struct.timespec** %buf.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @futimes(i32 %fd, %struct.timespec* %times) #3 { +entry: + %fd.addr = alloca i32, align 4 + %times.addr = alloca %struct.timespec*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.timespec* %times, %struct.timespec** %times.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.7.170, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 9, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind readonly uwtable +define dso_local i32 @strverscmp(i8* nonnull %__s1, i8* nonnull %__s2) #15 { +entry: + %__s1.addr = alloca i8*, align 8 + %__s2.addr = alloca i8*, align 8 + store i8* %__s1, i8** %__s1.addr, align 8 + store i8* %__s2, i8** %__s2.addr, align 8 + %0 = load i8*, i8** %__s1.addr, align 8 + %1 = load i8*, i8** %__s2.addr, align 8 + %call = call i32 @strcmp(i8* %0, i8* %1) #23 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @gnu_dev_major(i64 %__dev) #3 { +entry: + %__dev.addr = alloca i64, align 8 + store i64 %__dev, i64* %__dev.addr, align 8 + %0 = load i64, i64* %__dev.addr, align 8 + %shr = lshr i64 %0, 8 + %and = and i64 %shr, 4095 + %1 = load i64, i64* %__dev.addr, align 8 + %shr1 = lshr i64 %1, 32 + %conv = trunc i64 %shr1 to i32 + %and2 = and i32 %conv, -4096 + %conv3 = zext i32 %and2 to i64 + %or = or i64 %and, %conv3 + %conv4 = trunc i64 %or to i32 + ret i32 %conv4 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @gnu_dev_minor(i64 %__dev) #3 { +entry: + %__dev.addr = alloca i64, align 8 + store i64 %__dev, i64* %__dev.addr, align 8 + %0 = load i64, i64* %__dev.addr, align 8 + %and = and i64 %0, 255 + %1 = load i64, i64* %__dev.addr, align 8 + %shr = lshr i64 %1, 12 + %conv = trunc i64 %shr to i32 + %and1 = and i32 %conv, -256 + %conv2 = zext i32 %and1 to i64 + %or = or i64 %and, %conv2 + %conv3 = trunc i64 %or to i32 + ret i32 %conv3 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i64 @gnu_dev_makedev(i32 %__major, i32 %__minor) #3 { +entry: + %__major.addr = alloca i32, align 4 + %__minor.addr = alloca i32, align 4 + store i32 %__major, i32* %__major.addr, align 4 + store i32 %__minor, i32* %__minor.addr, align 4 + %0 = load i32, i32* %__minor.addr, align 4 + %and = and i32 %0, 255 + %1 = load i32, i32* %__major.addr, align 4 + %and1 = and i32 %1, 4095 + %shl = shl i32 %and1, 8 + %or = or i32 %and, %shl + %conv = zext i32 %or to i64 + %2 = load i32, i32* %__minor.addr, align 4 + %and2 = and i32 %2, -256 + %conv3 = zext i32 %and2 to i64 + %shl4 = shl i64 %conv3, 12 + %or5 = or i64 %conv, %shl4 + %3 = load i32, i32* %__major.addr, align 4 + %and6 = and i32 %3, -4096 + %conv7 = zext i32 %and6 to i64 + %shl8 = shl i64 %conv7, 32 + %or9 = or i64 %or5, %shl8 + ret i64 %or9 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i8* @canonicalize_file_name(i8* nonnull %name) #3 { +entry: + %retval = alloca i8*, align 8 + %name.addr = alloca i8*, align 8 + %resolved_name = alloca i8*, align 8 + store i8* %name, i8** %name.addr, align 8 + %call = call noalias i8* @malloc(i64 4096) #11 + store i8* %call, i8** %resolved_name, align 8 + %0 = load i8*, i8** %resolved_name, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %name.addr, align 8 + %2 = load i8*, i8** %resolved_name, align 8 + %call1 = call i8* @realpath(i8* %1, i8* %2) #11 + %tobool2 = icmp ne i8* %call1, null + %3 = load i8*, i8** %resolved_name, align 8 + br i1 %tobool2, label %if.end4, label %if.then3 + +if.then3: ; preds = %if.end + call void @free(i8* %3) #11 + store i8* null, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %if.end + store i8* %3, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %4 = load i8*, i8** %retval, align 8 + ret i8* %4 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @getloadavg(double* nonnull %loadavg, i32 %nelem) #3 { +entry: + %loadavg.addr = alloca double*, align 8 + %nelem.addr = alloca i32, align 4 + store double* %loadavg, double** %loadavg.addr, align 8 + store i32 %nelem, i32* %nelem.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.8.173, i64 0, i64 0)) + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @wait(i32* %status) #3 { +entry: + %status.addr = alloca i32*, align 8 + store i32* %status, i32** %status.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.174, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @wait3(i32* %status, i32 %options, %struct.rusage* %rusage) #3 { +entry: + %status.addr = alloca i32*, align 8 + %options.addr = alloca i32, align 4 + %rusage.addr = alloca %struct.rusage*, align 8 + store i32* %status, i32** %status.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + store %struct.rusage* %rusage, %struct.rusage** %rusage.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.174, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @wait4(i32 %pid, i32* %status, i32 %options, %struct.rusage* %rusage) #3 { +entry: + %pid.addr = alloca i32, align 4 + %status.addr = alloca i32*, align 8 + %options.addr = alloca i32, align 4 + %rusage.addr = alloca %struct.rusage*, align 8 + store i32 %pid, i32* %pid.addr, align 4 + store i32* %status, i32** %status.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + store %struct.rusage* %rusage, %struct.rusage** %rusage.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.174, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @waitpid(i32 %pid, i32* %status, i32 %options) #3 { +entry: + %pid.addr = alloca i32, align 4 + %status.addr = alloca i32*, align 8 + %options.addr = alloca i32, align 4 + store i32 %pid, i32* %pid.addr, align 4 + store i32* %status, i32** %status.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.174, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @waitid(i32 %idtype, i32 %id, %struct.siginfo_t* %infop, i32 %options) #3 { +entry: + %idtype.addr = alloca i32, align 4 + %id.addr = alloca i32, align 4 + %infop.addr = alloca %struct.siginfo_t*, align 8 + %options.addr = alloca i32, align 4 + store i32 %idtype, i32* %idtype.addr, align 4 + store i32 %id, i32* %id.addr, align 4 + store %struct.siginfo_t* %infop, %struct.siginfo_t** %infop.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.174, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mount(i8* %source, i8* %target, i8* %filesystemtype, i64 %mountflags, i8* %data) #3 { +entry: + %source.addr = alloca i8*, align 8 + %target.addr = alloca i8*, align 8 + %filesystemtype.addr = alloca i8*, align 8 + %mountflags.addr = alloca i64, align 8 + %data.addr = alloca i8*, align 8 + store i8* %source, i8** %source.addr, align 8 + store i8* %target, i8** %target.addr, align 8 + store i8* %filesystemtype, i8** %filesystemtype.addr, align 8 + store i64 %mountflags, i64* %mountflags.addr, align 8 + store i8* %data, i8** %data.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @umount(i8* %target) #3 { +entry: + %target.addr = alloca i8*, align 8 + store i8* %target, i8** %target.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @umount2(i8* %target, i32 %flags) #3 { +entry: + %target.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + store i8* %target, i8** %target.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @swapon(i8* %path, i32 %swapflags) #3 { +entry: + %path.addr = alloca i8*, align 8 + %swapflags.addr = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store i32 %swapflags, i32* %swapflags.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @swapoff(i8* %path) #3 { +entry: + %path.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setgid(i32 %gid) #3 { +entry: + %gid.addr = alloca i32, align 4 + store i32 %gid, i32* %gid.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.10.175, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setgroups(i64 %size, i32* %list) #3 { +entry: + %size.addr = alloca i64, align 8 + %list.addr = alloca i32*, align 8 + store i64 %size, i64* %size.addr, align 8 + store i32* %list, i32** %list.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @sethostname(i8* nonnull %name, i64 %len) #3 { +entry: + %name.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + store i8* %name, i8** %name.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setpgid(i32 %pid, i32 %pgid) #3 { +entry: + %pid.addr = alloca i32, align 4 + %pgid.addr = alloca i32, align 4 + store i32 %pid, i32* %pid.addr, align 4 + store i32 %pgid, i32* %pgid.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setpgrp() #3 { +entry: + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setpriority(i32 %which, i32 %who, i32 %prio) #3 { +entry: + %which.addr = alloca i32, align 4 + %who.addr = alloca i32, align 4 + %prio.addr = alloca i32, align 4 + store i32 %which, i32* %which.addr, align 4 + store i32 %who, i32* %who.addr, align 4 + store i32 %prio, i32* %prio.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setresgid(i32 %rgid, i32 %egid, i32 %sgid) #3 { +entry: + %rgid.addr = alloca i32, align 4 + %egid.addr = alloca i32, align 4 + %sgid.addr = alloca i32, align 4 + store i32 %rgid, i32* %rgid.addr, align 4 + store i32 %egid, i32* %egid.addr, align 4 + store i32 %sgid, i32* %sgid.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setresuid(i32 %ruid, i32 %euid, i32 %suid) #3 { +entry: + %ruid.addr = alloca i32, align 4 + %euid.addr = alloca i32, align 4 + %suid.addr = alloca i32, align 4 + store i32 %ruid, i32* %ruid.addr, align 4 + store i32 %euid, i32* %euid.addr, align 4 + store i32 %suid, i32* %suid.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setrlimit(i32 %resource, %struct.timespec* %rlim) #3 { +entry: + %resource.addr = alloca i32, align 4 + %rlim.addr = alloca %struct.timespec*, align 8 + store i32 %resource, i32* %resource.addr, align 4 + store %struct.timespec* %rlim, %struct.timespec** %rlim.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setrlimit64(i32 %resource, %struct.timespec* %rlim) #3 { +entry: + %resource.addr = alloca i32, align 4 + %rlim.addr = alloca %struct.timespec*, align 8 + store i32 %resource, i32* %resource.addr, align 4 + store %struct.timespec* %rlim, %struct.timespec** %rlim.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setsid() #3 { +entry: + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @settimeofday(%struct.timespec* %tv, %struct.__mbstate_t.512* %tz) #3 { +entry: + %tv.addr = alloca %struct.timespec*, align 8 + %tz.addr = alloca %struct.__mbstate_t.512*, align 8 + store %struct.timespec* %tv, %struct.timespec** %tv.addr, align 8 + store %struct.__mbstate_t.512* %tz, %struct.__mbstate_t.512** %tz.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setuid(i32 %uid) #3 { +entry: + %uid.addr = alloca i32, align 4 + store i32 %uid, i32* %uid.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.10.175, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @reboot(i32 %flag) #3 { +entry: + %flag.addr = alloca i32, align 4 + store i32 %flag, i32* %flag.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mlock(i8* %addr, i64 %len) #3 { +entry: + %addr.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + store i8* %addr, i8** %addr.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @munlock(i8* %addr, i64 %len) #3 { +entry: + %addr.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + store i8* %addr, i8** %addr.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @pause() #3 { +entry: + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i64 @readahead(i32 %fd, i64* %offset, i64 %count) #3 { +entry: + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64*, align 8 + %count.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64* %offset, i64** %offset.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i64 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i8* @mmap(i8* %start, i64 %length, i32 %prot, i32 %flags, i32 %fd, i64 %offset) #3 { +entry: + %start.addr = alloca i8*, align 8 + %length.addr = alloca i64, align 8 + %prot.addr = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + store i8* %start, i8** %start.addr, align 8 + store i64 %length, i64* %length.addr, align 8 + store i32 %prot, i32* %prot.addr, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i8* inttoptr (i64 -1 to i8*) +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i8* @mmap64(i8* %start, i64 %length, i32 %prot, i32 %flags, i32 %fd, i64 %offset) #3 { +entry: + %start.addr = alloca i8*, align 8 + %length.addr = alloca i64, align 8 + %prot.addr = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + store i8* %start, i8** %start.addr, align 8 + store i64 %length, i64* %length.addr, align 8 + store i32 %prot, i32* %prot.addr, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i8* inttoptr (i64 -1 to i8*) +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @munmap(i8* %start, i64 %length) #3 { +entry: + %start.addr = alloca i8*, align 8 + %length.addr = alloca i64, align 8 + store i8* %start, i8** %start.addr, align 8 + store i64 %length, i64* %length.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__locale_mbrtowc_l(i32* noalias %dst, i8* noalias %src, %struct.__uclibc_locale_struct.201* %loc) #0 { +entry: + %retval = alloca i32, align 4 + %dst.addr = alloca i32*, align 8 + %src.addr = alloca i8*, align 8 + %loc.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %ps = alloca %struct.__mbstate_t.512, align 4 + %p = alloca i8*, align 8 + %r = alloca i64, align 8 + %wc = alloca i32, align 4 + store i32* %dst, i32** %dst.addr, align 8 + store i8* %src, i8** %src.addr, align 8 + store %struct.__uclibc_locale_struct.201* %loc, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 9 + %1 = load i8, i8* %encoding, align 8 + %conv = zext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 1 + %2 = load i8*, i8** %src.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i8* %2, i8** %p, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %ps, i32 0, i32 0 + store i32 0, i32* %__mask, align 4 + %3 = load i32*, i32** %dst.addr, align 8 + %call = call i64 @_wchar_utf8sntowcs(i32* %3, i64 1, i8** %p, i64 -1, %struct.__mbstate_t.512* %ps, i32 1) #18 + store i64 %call, i64* %r, align 8 + %4 = load i64, i64* %r, align 8 + %cmp2 = icmp eq i64 %4, 1 + %5 = load i8*, i8** %p, align 8 + %6 = load i8*, i8** %src.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %6 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %7 = load i64, i64* %r, align 8 + %cond = select i1 %cmp2, i64 %sub.ptr.sub, i64 %7 + %conv4 = trunc i64 %cond to i32 + store i32 %conv4, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load i8, i8* %2, align 1 + %conv5 = zext i8 %8 to i32 + %9 = load i32*, i32** %dst.addr, align 8 + store i32 %conv5, i32* %9, align 4 + %cmp6 = icmp slt i32 %conv5, 128 + br i1 %cmp6, label %if.then8, label %if.end12 + +if.then8: ; preds = %if.end + %10 = load i8*, i8** %src.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv9 = sext i8 %11 to i32 + %cmp10 = icmp ne i32 %conv9, 0 + %conv11 = zext i1 %cmp10 to i32 + store i32 %conv11, i32* %retval, align 4 + br label %return + +if.end12: ; preds = %if.end + %12 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %encoding13 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %12, i32 0, i32 9 + %13 = load i8, i8* %encoding13, align 8 + %conv14 = zext i8 %13 to i32 + %cmp15 = icmp eq i32 %conv14, 2 + br i1 %cmp15, label %if.then17, label %if.end24 + +if.then17: ; preds = %if.end12 + %14 = load i32*, i32** %dst.addr, align 8 + %15 = load i32, i32* %14, align 4 + %sub = sub nsw i32 %15, 128 + store i32 %sub, i32* %wc, align 4 + %16 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %tbl8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %16, i32 0, i32 17 + %17 = load i16*, i16** %tbl8c2wc, align 8 + %18 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %idx8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %18, i32 0, i32 16 + %19 = load i8*, i8** %idx8c2wc, align 8 + %20 = load i32, i32* %wc, align 4 + %shr = ashr i32 %20, 3 + %idxprom = sext i32 %shr to i64 + %arrayidx = getelementptr inbounds i8, i8* %19, i64 %idxprom + %21 = load i8, i8* %arrayidx, align 1 + %conv18 = zext i8 %21 to i32 + %shl = shl i32 %conv18, 3 + %22 = load i32, i32* %wc, align 4 + %and = and i32 %22, 7 + %add = add nsw i32 %shl, %and + %idxprom19 = sext i32 %add to i64 + %arrayidx20 = getelementptr inbounds i16, i16* %17, i64 %idxprom19 + %23 = load i16, i16* %arrayidx20, align 2 + %conv21 = zext i16 %23 to i32 + %24 = load i32*, i32** %dst.addr, align 8 + store i32 %conv21, i32* %24, align 4 + %25 = load i32*, i32** %dst.addr, align 8 + %26 = load i32, i32* %25, align 4 + %tobool = icmp ne i32 %26, 0 + br i1 %tobool, label %if.then22, label %if.end24 + +if.then22: ; preds = %if.then17 + store i32 1, i32* %retval, align 4 + br label %return + +if.end24: ; preds = %if.then17, %if.end12 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end24, %if.then22, %if.then8, %if.then + %27 = load i32, i32* %retval, align 4 + ret i32 %27 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__raise(i32 %signo) #0 { +entry: + %signo.addr = alloca i32, align 4 + store i32 %signo, i32* %signo.addr, align 4 + %call = call i32 @getpid() #19 + %0 = load i32, i32* %signo.addr, align 4 + %call1 = call i32 @kill(i32 %call, i32 %0) #19 + ret i32 %call1 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__libc_sigaction(i32 %sig, %struct.sigaction.800* %act, %struct.sigaction.800* %oact) #0 { +entry: + %sig.addr = alloca i32, align 4 + %act.addr = alloca %struct.sigaction.800*, align 8 + %oact.addr = alloca %struct.sigaction.800*, align 8 + %result = alloca i32, align 4 + %kact = alloca %struct.kernel_sigaction, align 8 + %koact = alloca %struct.kernel_sigaction, align 8 + store i32 %sig, i32* %sig.addr, align 4 + store %struct.sigaction.800* %act, %struct.sigaction.800** %act.addr, align 8 + store %struct.sigaction.800* %oact, %struct.sigaction.800** %oact.addr, align 8 + %0 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %tobool = icmp ne %struct.sigaction.800* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %__sigaction_handler = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %1, i32 0, i32 0 + %sa_handler = bitcast %union.anon.799* %__sigaction_handler to void (i32)** + %2 = load void (i32)*, void (i32)** %sa_handler, align 8 + %k_sa_handler = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 0 + store void (i32)* %2, void (i32)** %k_sa_handler, align 8 + %sa_mask = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 3 + %3 = bitcast %struct.fd_set* %sa_mask to i8* + %4 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %sa_mask1 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %4, i32 0, i32 1 + %5 = bitcast %struct.fd_set* %sa_mask1 to i8* + %call = call i8* @memcpy(i8* %3, i8* %5, i64 128) #19 + %6 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %sa_flags = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %6, i32 0, i32 2 + %7 = load i32, i32* %sa_flags, align 8 + %conv = sext i32 %7 to i64 + %sa_flags2 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 1 + store i64 %conv, i64* %sa_flags2, align 8 + %8 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %sa_restorer = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %8, i32 0, i32 3 + %9 = load void ()*, void ()** %sa_restorer, align 8 + %sa_restorer3 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 2 + store void ()* %9, void ()** %sa_restorer3, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %10 = load i32, i32* %sig.addr, align 4 + %11 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %tobool4 = icmp ne %struct.sigaction.800* %11, null + %kact. = select i1 %tobool4, %struct.kernel_sigaction* %kact, %struct.kernel_sigaction* null + %12 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %tobool5 = icmp ne %struct.sigaction.800* %12, null + %cond9 = select i1 %tobool5, %struct.kernel_sigaction* %koact, %struct.kernel_sigaction* null + %call10 = call i32 bitcast (i32 (i32, %struct.sigaction.800*, %struct.sigaction.800*, i64)* @__syscall_rt_sigaction to i32 (i32, %struct.kernel_sigaction*, %struct.kernel_sigaction*, i64)*)(i32 %10, %struct.kernel_sigaction* %kact., %struct.kernel_sigaction* %cond9, i64 8) #18 + store i32 %call10, i32* %result, align 4 + %13 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %tobool11 = icmp ne %struct.sigaction.800* %13, null + %14 = load i32, i32* %result, align 4 + %cmp = icmp sge i32 %14, 0 + %or.cond = and i1 %tobool11, %cmp + br i1 %or.cond, label %if.then13, label %if.end25 + +if.then13: ; preds = %if.end + %k_sa_handler14 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 0 + %15 = load void (i32)*, void (i32)** %k_sa_handler14, align 8 + %16 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %__sigaction_handler15 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %16, i32 0, i32 0 + %sa_handler16 = bitcast %union.anon.799* %__sigaction_handler15 to void (i32)** + store void (i32)* %15, void (i32)** %sa_handler16, align 8 + %17 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %sa_mask17 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %17, i32 0, i32 1 + %18 = bitcast %struct.fd_set* %sa_mask17 to i8* + %sa_mask18 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 3 + %19 = bitcast %struct.fd_set* %sa_mask18 to i8* + %call19 = call i8* @memcpy(i8* %18, i8* %19, i64 128) #19 + %sa_flags20 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 1 + %20 = load i64, i64* %sa_flags20, align 8 + %conv21 = trunc i64 %20 to i32 + %21 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %sa_flags22 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %21, i32 0, i32 2 + store i32 %conv21, i32* %sa_flags22, align 8 + %sa_restorer23 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 2 + %22 = load void ()*, void ()** %sa_restorer23, align 8 + %23 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %sa_restorer24 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %23, i32 0, i32 3 + store void ()* %22, void ()** %sa_restorer24, align 8 + br label %if.end25 + +if.end25: ; preds = %if.then13, %if.end + %24 = load i32, i32* %result, align 4 + ret i32 %24 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__sigismember(%struct.fd_set* %__set, i32 %__sig) #0 { +entry: + %__set.addr = alloca %struct.fd_set*, align 8 + %__sig.addr = alloca i32, align 4 + %__mask = alloca i64, align 8 + %__word = alloca i64, align 8 + store %struct.fd_set* %__set, %struct.fd_set** %__set.addr, align 8 + store i32 %__sig, i32* %__sig.addr, align 4 + %0 = load i32, i32* %__sig.addr, align 4 + %sub = sub nsw i32 %0, 1 + %conv = sext i32 %sub to i64 + %rem = urem i64 %conv, 64 + %shl = shl i64 1, %rem + store i64 %shl, i64* %__mask, align 8 + %1 = load i32, i32* %__sig.addr, align 4 + %sub1 = sub nsw i32 %1, 1 + %conv2 = sext i32 %sub1 to i64 + %div = udiv i64 %conv2, 64 + store i64 %div, i64* %__word, align 8 + %2 = load %struct.fd_set*, %struct.fd_set** %__set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %2, i32 0, i32 0 + %3 = load i64, i64* %__word, align 8 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 %3 + %4 = load i64, i64* %arrayidx, align 8 + %5 = load i64, i64* %__mask, align 8 + %and = and i64 %4, %5 + %tobool = icmp ne i64 %and, 0 + %6 = zext i1 %tobool to i64 + %cond = select i1 %tobool, i32 1, i32 0 + ret i32 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__sigaddset(%struct.fd_set* %__set, i32 %__sig) #0 { +entry: + %__set.addr = alloca %struct.fd_set*, align 8 + %__sig.addr = alloca i32, align 4 + %__mask = alloca i64, align 8 + %__word = alloca i64, align 8 + store %struct.fd_set* %__set, %struct.fd_set** %__set.addr, align 8 + store i32 %__sig, i32* %__sig.addr, align 4 + %0 = load i32, i32* %__sig.addr, align 4 + %sub = sub nsw i32 %0, 1 + %conv = sext i32 %sub to i64 + %rem = urem i64 %conv, 64 + %shl = shl i64 1, %rem + store i64 %shl, i64* %__mask, align 8 + %1 = load i32, i32* %__sig.addr, align 4 + %sub1 = sub nsw i32 %1, 1 + %conv2 = sext i32 %sub1 to i64 + %div = udiv i64 %conv2, 64 + store i64 %div, i64* %__word, align 8 + %2 = load i64, i64* %__mask, align 8 + %3 = load %struct.fd_set*, %struct.fd_set** %__set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %3, i32 0, i32 0 + %4 = load i64, i64* %__word, align 8 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 %4 + %5 = load i64, i64* %arrayidx, align 8 + %or = or i64 %5, %2 + store i64 %or, i64* %arrayidx, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__sigdelset(%struct.fd_set* %__set, i32 %__sig) #0 { +entry: + %__set.addr = alloca %struct.fd_set*, align 8 + %__sig.addr = alloca i32, align 4 + %__mask = alloca i64, align 8 + %__word = alloca i64, align 8 + store %struct.fd_set* %__set, %struct.fd_set** %__set.addr, align 8 + store i32 %__sig, i32* %__sig.addr, align 4 + %0 = load i32, i32* %__sig.addr, align 4 + %sub = sub nsw i32 %0, 1 + %conv = sext i32 %sub to i64 + %rem = urem i64 %conv, 64 + %shl = shl i64 1, %rem + store i64 %shl, i64* %__mask, align 8 + %1 = load i32, i32* %__sig.addr, align 4 + %sub1 = sub nsw i32 %1, 1 + %conv2 = sext i32 %sub1 to i64 + %div = udiv i64 %conv2, 64 + store i64 %div, i64* %__word, align 8 + %2 = load i64, i64* %__mask, align 8 + %neg = xor i64 %2, -1 + %3 = load %struct.fd_set*, %struct.fd_set** %__set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %3, i32 0, i32 0 + %4 = load i64, i64* %__word, align 8 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 %4 + %5 = load i64, i64* %arrayidx, align 8 + %and = and i64 %5, %neg + store i64 %and, i64* %arrayidx, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %bufsize = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 5 + %1 = load i8*, i8** %__bufpos, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 3 + %3 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %1 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %3 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %bufsize, align 8 + %cmp = icmp ne i64 %sub.ptr.sub, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 3 + %5 = load i8*, i8** %__bufstart1, align 8 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 5 + store i8* %5, i8** %__bufpos2, align 8 + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart3 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 3 + %9 = load i8*, i8** %__bufstart3, align 8 + %10 = load i64, i64* %bufsize, align 8 + %call = call i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %7, i8* %9, i64 %10) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos4 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 5 + %12 = load i8*, i8** %__bufpos4, align 8 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart5 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 3 + %14 = load i8*, i8** %__bufstart5, align 8 + %sub.ptr.lhs.cast6 = ptrtoint i8* %12 to i64 + %sub.ptr.rhs.cast7 = ptrtoint i8* %14 to i64 + %sub.ptr.sub8 = sub i64 %sub.ptr.lhs.cast6, %sub.ptr.rhs.cast7 + ret i64 %sub.ptr.sub8 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__fgetc_unlocked(%struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %uc = alloca i8, align 1 + %uc56 = alloca i8, align 1 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 5 + %1 = load i8*, i8** %__bufpos, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 7 + %3 = load i8*, i8** %__bufgetc_u, align 8 + %cmp = icmp ult i8* %1, %3 + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 5 + %5 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + %6 = load i8, i8* %5, align 1 + %conv = zext i8 %6 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 0 + %7 = load i16, i16* %__modeflags, align 8 + %conv2 = zext i16 %7 to i32 + %and = and i32 %conv2, 131 + %cmp3 = icmp ugt i32 %and, 128 + br i1 %cmp3, label %if.then5, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2r_o(%struct.__STDIO_FILE_STRUCT.568* %8, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end63, label %if.then5 + +if.then5: ; preds = %lor.lhs.false, %if.end + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %9, i32 0, i32 0 + %10 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %10 to i32 + %and8 = and i32 %conv7, 2 + %tobool9 = icmp ne i32 %and8, 0 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %tobool9, label %if.then10, label %if.end18 + +if.then10: ; preds = %if.then5 + %__ungot = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 10 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags11 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags11, align 8 + %dec = add i16 %13, -1 + store i16 %dec, i16* %__modeflags11, align 8 + %conv12 = zext i16 %13 to i32 + %and13 = and i32 %conv12, 1 + %idxprom = sext i32 %and13 to i64 + %arrayidx = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot, i64 0, i64 %idxprom + %14 = load i32, i32* %arrayidx, align 4 + %conv14 = trunc i32 %14 to i8 + store i8 %conv14, i8* %uc, align 1 + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__ungot15 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 10 + %arrayidx16 = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot15, i64 0, i64 1 + store i32 0, i32* %arrayidx16, align 4 + %16 = load i8, i8* %uc, align 1 + %conv17 = zext i8 %16 to i32 + store i32 %conv17, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %if.then5 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 6 + %17 = load i8*, i8** %__bufread, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos19 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 5 + %19 = load i8*, i8** %__bufpos19, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %17 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool20 = icmp ne i64 %sub.ptr.sub, 0 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %tobool20, label %if.then21, label %if.end25 + +if.then21: ; preds = %if.end18 + %__bufpos22 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 5 + %21 = load i8*, i8** %__bufpos22, align 8 + %incdec.ptr23 = getelementptr inbounds i8, i8* %21, i32 1 + store i8* %incdec.ptr23, i8** %__bufpos22, align 8 + %22 = load i8, i8* %21, align 1 + %conv24 = zext i8 %22 to i32 + store i32 %conv24, i32* %retval, align 4 + br label %return + +if.end25: ; preds = %if.end18 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 2 + %23 = load i32, i32* %__filedes, align 4 + %cmp26 = icmp eq i32 %23, -2 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags29 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 0 + %25 = load i16, i16* %__modeflags29, align 8 + %conv30 = zext i16 %25 to i32 + br i1 %cmp26, label %if.then28, label %if.end32 + +if.then28: ; preds = %if.end25 + %or = or i32 %conv30, 4 + %conv31 = trunc i32 %or to i16 + store i16 %conv31, i16* %__modeflags29, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end32: ; preds = %if.end25 + %and35 = and i32 %conv30, 768 + %tobool36 = icmp ne i32 %and35, 0 + br i1 %tobool36, label %if.then37, label %if.end39 + +if.then37: ; preds = %if.end32 + %call38 = call i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.568* bitcast (%struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist to %struct.__STDIO_FILE_STRUCT.568*)) #18 + br label %if.end39 + +if.end39: ; preds = %if.then37, %if.end32 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 4 + %27 = load i8*, i8** %__bufend, align 8 + %28 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %28, i32 0, i32 3 + %29 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast40 = ptrtoint i8* %27 to i64 + %sub.ptr.rhs.cast41 = ptrtoint i8* %29 to i64 + %sub.ptr.sub42 = sub i64 %sub.ptr.lhs.cast40, %sub.ptr.rhs.cast41 + %tobool43 = icmp ne i64 %sub.ptr.sub42, 0 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %tobool43, label %if.then44, label %if.else + +if.then44: ; preds = %if.end39 + %__bufstart45 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %30, i32 0, i32 3 + %31 = load i8*, i8** %__bufstart45, align 8 + %32 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u46 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %32, i32 0, i32 7 + store i8* %31, i8** %__bufgetc_u46, align 8 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call47 = call i64 @__stdio_rfill(%struct.__STDIO_FILE_STRUCT.568* %33) #18 + %tobool48 = icmp ne i64 %call47, 0 + br i1 %tobool48, label %if.then49, label %if.end63 + +if.then49: ; preds = %if.then44 + %34 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread50 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %34, i32 0, i32 6 + %35 = load i8*, i8** %__bufread50, align 8 + %36 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u51 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %36, i32 0, i32 7 + store i8* %35, i8** %__bufgetc_u51, align 8 + %37 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos52 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %37, i32 0, i32 5 + %38 = load i8*, i8** %__bufpos52, align 8 + %incdec.ptr53 = getelementptr inbounds i8, i8* %38, i32 1 + store i8* %incdec.ptr53, i8** %__bufpos52, align 8 + %39 = load i8, i8* %38, align 1 + %conv54 = zext i8 %39 to i32 + store i32 %conv54, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.end39 + %call57 = call i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.568* %30, i8* %uc56, i64 1) #18 + %tobool58 = icmp ne i64 %call57, 0 + br i1 %tobool58, label %if.then59, label %if.end63 + +if.then59: ; preds = %if.else + %40 = load i8, i8* %uc56, align 1 + %conv60 = zext i8 %40 to i32 + store i32 %conv60, i32* %retval, align 4 + br label %return + +if.end63: ; preds = %if.then44, %if.else, %lor.lhs.false + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end63, %if.then59, %if.then49, %if.then28, %if.then21, %if.then10, %if.then + %41 = load i32, i32* %retval, align 4 + ret i32 %41 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @sprintf(i8* noalias %buf, i8* noalias %format, ...) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %format.addr = alloca i8*, align 8 + %arg = alloca [1 x %struct.__va_list_tag.0], align 16 + %rv = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load i8*, i8** %buf.addr, align 8 + %1 = load i8*, i8** %format.addr, align 8 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %call = call i32 @vsnprintf(i8* %0, i64 -1, i8* %1, %struct.__va_list_tag.0* %arraydecay2) #19 + store i32 %call, i32* %rv, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + %2 = load i32, i32* %rv, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @strcmp(i8* nonnull %s1, i8* nonnull %s2) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %r = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + br label %while.cond + +while.cond: ; preds = %land.rhs, %entry + %0 = load i8*, i8** %s1.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = zext i8 %1 to i32 + %2 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %2, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %3 = load i8, i8* %2, align 1 + %conv1 = zext i8 %3 to i32 + %sub = sub nsw i32 %conv, %conv1 + store i32 %sub, i32* %r, align 4 + %cmp = icmp eq i32 %sub, 0 + br i1 %cmp, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %4 = load i8*, i8** %s1.addr, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr3, i8** %s1.addr, align 8 + %5 = load i8, i8* %4, align 1 + %conv4 = sext i8 %5 to i32 + %tobool = icmp ne i32 %conv4, 0 + br i1 %tobool, label %while.cond, label %while.end + +while.end: ; preds = %while.cond, %land.rhs + %6 = load i32, i32* %r, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i64 @strlen(i8* nonnull %s) #14 { +entry: + %s.addr = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load i8*, i8** %p, align 8 + %2 = load i8, i8* %1, align 1 + %tobool = icmp ne i8 %2, 0 + %3 = load i8*, i8** %p, align 8 + br i1 %tobool, label %for.inc, label %for.end + +for.inc: ; preds = %for.cond + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %4 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %3 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %4 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @strncmp(i8* nonnull %s1, i8* nonnull %s2, i64 %n) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i32 0, i32* %r, align 4 + br label %while.cond + +while.cond: ; preds = %land.rhs, %entry + %0 = load i64, i64* %n.addr, align 8 + %dec = add i64 %0, -1 + store i64 %dec, i64* %n.addr, align 8 + %tobool = icmp ne i64 %0, 0 + br i1 %tobool, label %land.lhs.true, label %while.end + +land.lhs.true: ; preds = %while.cond + %1 = load i8*, i8** %s1.addr, align 8 + %2 = load i8, i8* %1, align 1 + %conv = zext i8 %2 to i32 + %3 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %4 = load i8, i8* %3, align 1 + %conv1 = zext i8 %4 to i32 + %sub = sub nsw i32 %conv, %conv1 + store i32 %sub, i32* %r, align 4 + %cmp = icmp eq i32 %sub, 0 + br i1 %cmp, label %land.rhs, label %while.end + +land.rhs: ; preds = %land.lhs.true + %5 = load i8*, i8** %s1.addr, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr3, i8** %s1.addr, align 8 + %6 = load i8, i8* %5, align 1 + %conv4 = sext i8 %6 to i32 + %tobool5 = icmp ne i32 %conv4, 0 + br i1 %tobool5, label %while.cond, label %while.end + +while.end: ; preds = %while.cond, %land.lhs.true, %land.rhs + %7 = load i32, i32* %r, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @isatty(i32 %fd) #0 { +entry: + %fd.addr = alloca i32, align 4 + %term = alloca %struct.termios, align 4 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 @tcgetattr(i32 %0, %struct.termios* %term) #19 + %cmp = icmp eq i32 %call, 0 + %conv = zext i1 %cmp to i32 + ret i32 %conv +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @open64(i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i8*, i8** %pathname.addr, align 8 + %8 = load i32, i32* %flags.addr, align 4 + %9 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_open(i8* %7, i32 %8, i32 %9) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @openat64(i32 %fd, i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %fd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i32, i32* %fd.addr, align 4 + %8 = load i8*, i8** %pathname.addr, align 8 + %9 = load i32, i32* %flags.addr, align 4 + %10 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_openat(i32 %7, i8* %8, i32 %9, i32 %10) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @lseek64(i32 %fd, i64 %offset, i32 %whence) #3 { +entry: + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %offset.addr, align 8 + %2 = load i32, i32* %whence.addr, align 4 + %call = call i64 @__fd_lseek(i32 %0, i64 %1, i32 %2) + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__xstat64(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @stat64(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__lxstat64(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @lstat64(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fxstat64(i32 %vers, i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %vers, i32* %vers.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstat64(i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @ftruncate64(i32 %fd, i64 %length) #3 { +entry: + %fd.addr = alloca i32, align 4 + %length.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %length, i64* %length.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %length.addr, align 8 + %call = call i32 @__fd_ftruncate(i32 %0, i64 %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @statfs64(i8* nonnull %path, %struct.statfs* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.statfs*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.statfs* %buf, %struct.statfs** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.statfs*, %struct.statfs** %buf.addr, align 8 + %call = call i32 @__fd_statfs(i8* %0, %struct.statfs* %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @getdents64(i32 %fd, i8* nonnull %dirp, i64 %count) #3 { +entry: + %fd.addr = alloca i32, align 4 + %dirp.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %dirp, i8** %dirp.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i8*, i8** %dirp.addr, align 8 + %2 = bitcast i8* %1 to %struct.dirent64* + %3 = load i64, i64* %count.addr, align 8 + %conv = trunc i64 %3 to i32 + %call = call i32 @__fd_getdents(i32 %0, %struct.dirent64* %2, i32 %conv) + %conv1 = sext i32 %call to i64 + ret i64 %conv1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @kill(i32 %pid, i32 %sig) #3 { +entry: + %pid.addr = alloca i32, align 4 + %sig.addr = alloca i32, align 4 + store i32 %pid, i32* %pid.addr, align 4 + store i32 %sig, i32* %sig.addr, align 4 + call void @gs_warning.215(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.214, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @gs_warning.215(i8* %message) #3 { +entry: + %message.addr = alloca i8*, align 8 + store i8* %message, i8** %message.addr, align 8 + %0 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %0) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.7.216, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind returns_twice uwtable +define weak dso_local i32 @_setjmp(%struct.__jmp_buf_tag* %__env) #16 { +entry: + %__env.addr = alloca %struct.__jmp_buf_tag*, align 8 + store %struct.__jmp_buf_tag* %__env, %struct.__jmp_buf_tag** %__env.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1.217, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline noreturn nounwind uwtable +define dso_local void @longjmp(%struct.__jmp_buf_tag* %env, i32 %val) #6 { +entry: + %env.addr = alloca %struct.__jmp_buf_tag*, align 8 + %val.addr = alloca i32, align 4 + store %struct.__jmp_buf_tag* %env, %struct.__jmp_buf_tag** %env.addr, align 8 + store i32 %val, i32* %val.addr, align 4 + call void @gs_report_error.221(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.2.218, i64 0, i64 0), i32 37, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.3.219, i64 0, i64 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.4.220, i64 0, i64 0)) #24 + unreachable +} + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error.221(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.7.216, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execl(i8* nonnull %path, i8* nonnull %arg, ...) #3 { +entry: + %path.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + call void @gs_warning.215(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.222, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execlp(i8* nonnull %file, i8* nonnull %arg, ...) #3 { +entry: + %file.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + call void @gs_warning.215(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.222, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execle(i8* nonnull %path, i8* nonnull %arg, ...) #3 { +entry: + %path.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + call void @gs_warning.215(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.222, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execv(i8* nonnull %path, i8** nonnull %argv) #3 { +entry: + %path.addr = alloca i8*, align 8 + %argv.addr = alloca i8**, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + call void @gs_warning.215(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.222, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execvp(i8* nonnull %file, i8** nonnull %argv) #3 { +entry: + %file.addr = alloca i8*, align 8 + %argv.addr = alloca i8**, align 8 + store i8* %file, i8** %file.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + call void @gs_warning.215(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.222, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execve(i8* nonnull %file, i8** nonnull %argv, i8** %envp) #3 { +entry: + %file.addr = alloca i8*, align 8 + %argv.addr = alloca i8**, align 8 + %envp.addr = alloca i8**, align 8 + store i8* %file, i8** %file.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + store i8** %envp, i8*** %envp.addr, align 8 + call void @gs_warning.215(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.222, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fork() #3 { +entry: + call void @gs_warning.215(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.6.223, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 12, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind returns_twice uwtable +define dso_local i32 @vfork() #16 { +entry: + %call = call i32 @fork() #11 + ret i32 %call +} + +; Function Attrs: noinline nounwind readnone uwtable +define i16** @__ctype_b_loc() #12 { +entry: + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 0 + ret i16** %__ctype_b +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @__error(i32 %status, i32 %errnum, i8* %message, ...) #0 { +entry: + %status.addr = alloca i32, align 4 + %errnum.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %args = alloca [1 x %struct.__va_list_tag.0], align 16 + %__S = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %tmp = alloca i32, align 4 + store i32 %status, i32* %status.addr, align 4 + store i32 %errnum, i32* %errnum.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdout, align 8 + %call = call i32 @fflush(%struct.__STDIO_FILE_STRUCT.568* %0) #18 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %2 = load i8*, i8** %message.addr, align 8 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %call3 = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %1, i8* %2, %struct.__va_list_tag.0* %arraydecay2) #18 + %arraydecay4 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay45 = bitcast %struct.__va_list_tag.0* %arraydecay4 to i8* + call void @llvm.va_end(i8* %arraydecay45) + %3 = load i32, i32* @error_message_count, align 4 + %inc = add i32 %3, 1 + store i32 %inc, i32* @error_message_count, align 4 + %4 = load i32, i32* %errnum.addr, align 4 + %tobool = icmp ne i32 %4, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %6 = load i32, i32* %errnum.addr, align 4 + %call6 = call i8* @strerror(i32 %6) #19 + %call7 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %5, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.226, i64 0, i64 0), i8* %call6) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %7, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 5 + %9 = load i8*, i8** %__bufpos, align 8 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 8 + %11 = load i8*, i8** %__bufputc_u, align 8 + %cmp = icmp ult i8* %9, %11 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %if.end + %__bufpos8 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 5 + %13 = load i8*, i8** %__bufpos8, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %13, i32 1 + store i8* %incdec.ptr, i8** %__bufpos8, align 8 + store i8 10, i8* %13, align 1 + br label %cond.end + +cond.false: ; preds = %if.end + %call9 = call i32 @__fputc_unlocked(i32 10, %struct.__STDIO_FILE_STRUCT.568* %12) #18 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ 10, %cond.true ], [ %call9, %cond.false ] + store i32 %cond, i32* %tmp, align 4 + %14 = load i32, i32* %tmp, align 4 + %15 = load i32, i32* %status.addr, align 4 + %tobool10 = icmp ne i32 %15, 0 + br i1 %tobool10, label %if.then11, label %if.end12 + +if.then11: ; preds = %cond.end + %16 = load i32, i32* %status.addr, align 4 + call void @exit(i32 %16) #22 + unreachable + +if.end12: ; preds = %cond.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @__error_at_line(i32 %status, i32 %errnum, i8* %file_name, i32 %line_number, i8* %message, ...) #0 { +entry: + %status.addr = alloca i32, align 4 + %errnum.addr = alloca i32, align 4 + %file_name.addr = alloca i8*, align 8 + %line_number.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %args = alloca [1 x %struct.__va_list_tag.0], align 16 + %__S = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %tmp = alloca i32, align 4 + store i32 %status, i32* %status.addr, align 4 + store i32 %errnum, i32* %errnum.addr, align 4 + store i8* %file_name, i8** %file_name.addr, align 8 + store i32 %line_number, i32* %line_number.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + %0 = load i32, i32* @error_one_per_line, align 4 + %tobool = icmp ne i32 %0, 0 + br i1 %tobool, label %if.then, label %if.end4 + +if.then: ; preds = %entry + %1 = load i32, i32* @__error_at_line.old_line_number, align 4 + %2 = load i32, i32* %line_number.addr, align 4 + %cmp = icmp eq i32 %1, %2 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %if.then + %3 = load i8*, i8** %file_name.addr, align 8 + %4 = load i8*, i8** @__error_at_line.old_file_name, align 8 + %cmp1 = icmp eq i8* %3, %4 + br i1 %cmp1, label %if.end25, label %lor.lhs.false + +lor.lhs.false: ; preds = %land.lhs.true + %5 = load i8*, i8** @__error_at_line.old_file_name, align 8 + %6 = load i8*, i8** %file_name.addr, align 8 + %call = call i32 @strcmp(i8* %5, i8* %6) #20 + %tobool2 = icmp ne i32 %call, 0 + br i1 %tobool2, label %if.end, label %if.end25 + +if.end: ; preds = %lor.lhs.false, %if.then + %7 = load i8*, i8** %file_name.addr, align 8 + store i8* %7, i8** @__error_at_line.old_file_name, align 8 + %8 = load i32, i32* %line_number.addr, align 4 + store i32 %8, i32* @__error_at_line.old_line_number, align 4 + br label %if.end4 + +if.end4: ; preds = %if.end, %entry + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdout, align 8 + %call5 = call i32 @fflush(%struct.__STDIO_FILE_STRUCT.568* %9) #18 + %10 = load i8*, i8** %file_name.addr, align 8 + %cmp6 = icmp ne i8* %10, null + br i1 %cmp6, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end4 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %12 = load i8*, i8** %file_name.addr, align 8 + %13 = load i32, i32* %line_number.addr, align 4 + %call8 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %11, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1.227, i64 0, i64 0), i8* %12, i32 %13) #18 + br label %if.end9 + +if.end9: ; preds = %if.then7, %if.end4 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay10 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay10) + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %15 = load i8*, i8** %message.addr, align 8 + %arraydecay11 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %call12 = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %14, i8* %15, %struct.__va_list_tag.0* %arraydecay11) #18 + %arraydecay13 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay1314 = bitcast %struct.__va_list_tag.0* %arraydecay13 to i8* + call void @llvm.va_end(i8* %arraydecay1314) + %16 = load i32, i32* @error_message_count, align 4 + %inc = add i32 %16, 1 + store i32 %inc, i32* @error_message_count, align 4 + %17 = load i32, i32* %errnum.addr, align 4 + %tobool15 = icmp ne i32 %17, 0 + br i1 %tobool15, label %if.then16, label %if.end19 + +if.then16: ; preds = %if.end9 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %19 = load i32, i32* %errnum.addr, align 4 + %call17 = call i8* @strerror(i32 %19) #19 + %call18 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %18, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.226, i64 0, i64 0), i8* %call17) #18 + br label %if.end19 + +if.end19: ; preds = %if.then16, %if.end9 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %20, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %21 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %21, i32 0, i32 5 + %22 = load i8*, i8** %__bufpos, align 8 + %23 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %23, i32 0, i32 8 + %24 = load i8*, i8** %__bufputc_u, align 8 + %cmp20 = icmp ult i8* %22, %24 + %25 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + br i1 %cmp20, label %cond.true, label %cond.false + +cond.true: ; preds = %if.end19 + %__bufpos21 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %25, i32 0, i32 5 + %26 = load i8*, i8** %__bufpos21, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %26, i32 1 + store i8* %incdec.ptr, i8** %__bufpos21, align 8 + store i8 10, i8* %26, align 1 + br label %cond.end + +cond.false: ; preds = %if.end19 + %call22 = call i32 @__fputc_unlocked(i32 10, %struct.__STDIO_FILE_STRUCT.568* %25) #18 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ 10, %cond.true ], [ %call22, %cond.false ] + store i32 %cond, i32* %tmp, align 4 + %27 = load i32, i32* %tmp, align 4 + %28 = load i32, i32* %status.addr, align 4 + %tobool23 = icmp ne i32 %28, 0 + br i1 %tobool23, label %if.then24, label %if.end25 + +if.then24: ; preds = %cond.end + %29 = load i32, i32* %status.addr, align 4 + call void @exit(i32 %29) #22 + unreachable + +if.end25: ; preds = %land.lhs.true, %lor.lhs.false, %cond.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i8* @nl_langinfo(i32 %item) #0 { +entry: + %item.addr = alloca i32, align 4 + store i32 %item, i32* %item.addr, align 4 + %0 = load i32, i32* %item.addr, align 4 + %1 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %call = call i8* @nl_langinfo_l(i32 %0, %struct.__uclibc_locale_struct.201* %1) #18 + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define i8* @setlocale(i32 %category, i8* %locale) #0 { +entry: + %retval = alloca i8*, align 8 + %category.addr = alloca i32, align 4 + %locale.addr = alloca i8*, align 8 + store i32 %category, i32* %category.addr, align 4 + store i8* %locale, i8** %locale.addr, align 8 + %0 = load i32, i32* %category.addr, align 4 + %cmp = icmp ugt i32 %0, 6 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %locale.addr, align 8 + %cmp1 = icmp ne i8* %1, null + br i1 %cmp1, label %if.then2, label %if.end5 + +if.then2: ; preds = %if.end + %2 = load i32, i32* %category.addr, align 4 + %shl = shl i32 1, %2 + %3 = load i8*, i8** %locale.addr, align 8 + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__global_locale, align 8 + %call = call %struct.__uclibc_locale_struct.201* @newlocale(i32 %shl, i8* %3, %struct.__uclibc_locale_struct.201* %4) #19 + %tobool = icmp ne %struct.__uclibc_locale_struct.201* %call, null + br i1 %tobool, label %if.end4, label %if.then3 + +if.then3: ; preds = %if.then2 + store i8* null, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %if.then2 + %5 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__global_locale, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %5, i32 0, i32 6 + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + call void @update_hr_locale(i8* %arraydecay) #18 + br label %if.end5 + +if.end5: ; preds = %if.end4, %if.end + %6 = load i32, i32* %category.addr, align 4 + %mul = mul nsw i32 %6, 32 + %idx.ext = sext i32 %mul to i64 + %add.ptr = getelementptr inbounds i8, i8* getelementptr inbounds ([448 x i8], [448 x i8]* @hr_locale, i64 0, i64 0), i64 %idx.ext + store i8* %add.ptr, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %7 = load i8*, i8** %retval, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @update_hr_locale(i8* %spec) #0 { +entry: + %spec.addr = alloca i8*, align 8 + %loc = alloca i8*, align 8 + %s = alloca i8*, align 8 + %n = alloca i8*, align 8 + %i = alloca i32, align 4 + %category = alloca i32, align 4 + %done = alloca i32, align 4 + %at = alloca i8, align 1 + %q = alloca i8*, align 8 + store i8* %spec, i8** %spec.addr, align 8 + store i32 0, i32* %category, align 4 + store i32 0, i32* %done, align 4 + br label %do.body + +do.body: ; preds = %do.end127, %entry + %0 = load i8*, i8** %spec.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %0, i64 1 + store i8* %add.ptr, i8** %s, align 8 + %1 = load i32, i32* %category, align 4 + %mul = mul nsw i32 %1, 32 + %idx.ext = sext i32 %mul to i64 + %add.ptr1 = getelementptr inbounds i8, i8* getelementptr inbounds ([448 x i8], [448 x i8]* @hr_locale, i64 0, i64 0), i64 %idx.ext + store i8* %add.ptr1, i8** %n, align 8 + %2 = load i32, i32* %category, align 4 + %cmp = icmp eq i32 %2, 6 + br i1 %cmp, label %if.then, label %SKIP + +if.then: ; preds = %do.body + store i32 1, i32* %done, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.then + %3 = load i32, i32* %i, align 4 + %cmp2 = icmp slt i32 %3, 5 + br i1 %cmp2, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %4 = load i8*, i8** %s, align 8 + %5 = load i32, i32* %i, align 4 + %idxprom = sext i32 %5 to i64 + %arrayidx = getelementptr inbounds i8, i8* %4, i64 %idxprom + %6 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %6 to i32 + %7 = load i8*, i8** %s, align 8 + %8 = load i32, i32* %i, align 4 + %add = add nsw i32 %8, 2 + %idxprom3 = sext i32 %add to i64 + %arrayidx4 = getelementptr inbounds i8, i8* %7, i64 %idxprom3 + %9 = load i8, i8* %arrayidx4, align 1 + %conv5 = zext i8 %9 to i32 + %cmp6 = icmp ne i32 %conv, %conv5 + br i1 %cmp6, label %SKIP, label %lor.lhs.false + +lor.lhs.false: ; preds = %for.body + %10 = load i8*, i8** %s, align 8 + %11 = load i32, i32* %i, align 4 + %add8 = add nsw i32 %11, 1 + %idxprom9 = sext i32 %add8 to i64 + %arrayidx10 = getelementptr inbounds i8, i8* %10, i64 %idxprom9 + %12 = load i8, i8* %arrayidx10, align 1 + %conv11 = zext i8 %12 to i32 + %13 = load i8*, i8** %s, align 8 + %14 = load i32, i32* %i, align 4 + %add12 = add nsw i32 %14, 3 + %idxprom13 = sext i32 %add12 to i64 + %arrayidx14 = getelementptr inbounds i8, i8* %13, i64 %idxprom13 + %15 = load i8, i8* %arrayidx14, align 1 + %conv15 = zext i8 %15 to i32 + %cmp16 = icmp ne i32 %conv11, %conv15 + br i1 %cmp16, label %SKIP, label %for.inc + +for.inc: ; preds = %lor.lhs.false + %16 = load i32, i32* %i, align 4 + %add19 = add nsw i32 %16, 2 + store i32 %add19, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + store i32 0, i32* %category, align 4 + br label %SKIP + +SKIP: ; preds = %do.body, %for.end, %for.body, %lor.lhs.false + %17 = load i32, i32* %category, align 4 + %cmp21 = icmp eq i32 %17, 6 + %18 = load i32, i32* %category, align 4 + %cond = select i1 %cmp21, i32 0, i32 %18 + store i32 %cond, i32* %i, align 4 + %19 = load i32, i32* %i, align 4 + %mul23 = mul nsw i32 2, %19 + %20 = load i8*, i8** %s, align 8 + %idx.ext24 = sext i32 %mul23 to i64 + %add.ptr25 = getelementptr inbounds i8, i8* %20, i64 %idx.ext24 + store i8* %add.ptr25, i8** %s, align 8 + br label %do.body26 + +do.body26: ; preds = %if.end122, %SKIP + %21 = load i8*, i8** %s, align 8 + %22 = load i8, i8* %21, align 1 + %conv27 = zext i8 %22 to i32 + %cmp28 = icmp ne i32 %conv27, 255 + br i1 %cmp28, label %if.then35, label %lor.lhs.false30 + +lor.lhs.false30: ; preds = %do.body26 + %23 = load i8*, i8** %s, align 8 + %arrayidx31 = getelementptr inbounds i8, i8* %23, i64 1 + %24 = load i8, i8* %arrayidx31, align 1 + %conv32 = zext i8 %24 to i32 + %cmp33 = icmp ne i32 %conv32, 255 + br i1 %cmp33, label %if.then35, label %if.end122 + +if.then35: ; preds = %lor.lhs.false30, %do.body26 + %25 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %25, i32 0, i32 31 + %arraydecay = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales, i64 0, i64 0 + %26 = load i8*, i8** %s, align 8 + %27 = load i8, i8* %26, align 1 + %conv36 = zext i8 %27 to i32 + %and = and i32 %conv36, 127 + %shl = shl i32 %and, 7 + %28 = load i8*, i8** %s, align 8 + %arrayidx37 = getelementptr inbounds i8, i8* %28, i64 1 + %29 = load i8, i8* %arrayidx37, align 1 + %conv38 = zext i8 %29 to i32 + %and39 = and i32 %conv38, 127 + %add40 = add nsw i32 %shl, %and39 + %mul41 = mul nsw i32 9, %add40 + %idx.ext42 = sext i32 %mul41 to i64 + %add.ptr43 = getelementptr inbounds i8, i8* %arraydecay, i64 %idx.ext42 + store i8* %add.ptr43, i8** %loc, align 8 + %30 = load i32, i32* %category, align 4 + %cmp44 = icmp eq i32 %30, 6 + br i1 %cmp44, label %if.then46, label %if.end54 + +if.then46: ; preds = %if.then35 + %31 = load i8*, i8** %n, align 8 + %32 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %32, i32 0, i32 34 + %arraydecay47 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names, i64 0, i64 0 + %33 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names48 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %33, i32 0, i32 34 + %34 = load i32, i32* %i, align 4 + %idxprom49 = sext i32 %34 to i64 + %arrayidx50 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names48, i64 0, i64 %idxprom49 + %35 = load i8, i8* %arrayidx50, align 1 + %conv51 = zext i8 %35 to i32 + %idx.ext52 = sext i32 %conv51 to i64 + %add.ptr53 = getelementptr inbounds i8, i8* %arraydecay47, i64 %idx.ext52 + %call = call i8* @stpcpy(i8* %31, i8* %add.ptr53) #19 + store i8* %call, i8** %n, align 8 + %36 = load i8*, i8** %n, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %36, i32 1 + store i8* %incdec.ptr, i8** %n, align 8 + store i8 61, i8* %36, align 1 + br label %if.end54 + +if.end54: ; preds = %if.then46, %if.then35 + %37 = load i8*, i8** %loc, align 8 + %38 = load i8, i8* %37, align 1 + %conv55 = zext i8 %38 to i32 + %cmp56 = icmp eq i32 %conv55, 0 + br i1 %cmp56, label %if.then58, label %if.else + +if.then58: ; preds = %if.end54 + %39 = load i8*, i8** %n, align 8 + %incdec.ptr59 = getelementptr inbounds i8, i8* %39, i32 1 + store i8* %incdec.ptr59, i8** %n, align 8 + store i8 67, i8* %39, align 1 + %40 = load i8*, i8** %n, align 8 + store i8 0, i8* %40, align 1 + br label %if.end120 + +if.else: ; preds = %if.end54 + store i8 0, i8* %at, align 1 + %41 = load i8*, i8** %n, align 8 + %42 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_names5 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %42, i32 0, i32 32 + %arraydecay60 = getelementptr inbounds [835 x i8], [835 x i8]* %locale_names5, i64 0, i64 0 + %43 = load i8*, i8** %loc, align 8 + %44 = load i8, i8* %43, align 1 + %conv61 = zext i8 %44 to i32 + %sub = sub nsw i32 %conv61, 1 + %mul62 = mul nsw i32 5, %sub + %idx.ext63 = sext i32 %mul62 to i64 + %add.ptr64 = getelementptr inbounds i8, i8* %arraydecay60, i64 %idx.ext63 + %call65 = call i8* @memcpy(i8* %41, i8* %add.ptr64, i64 5) #19 + %45 = load i8*, i8** %n, align 8 + %arrayidx66 = getelementptr inbounds i8, i8* %45, i64 2 + %46 = load i8, i8* %arrayidx66, align 1 + %conv67 = sext i8 %46 to i32 + %cmp68 = icmp ne i32 %conv67, 95 + br i1 %cmp68, label %if.then70, label %if.end73 + +if.then70: ; preds = %if.else + %47 = load i8*, i8** %n, align 8 + %arrayidx71 = getelementptr inbounds i8, i8* %47, i64 2 + %48 = load i8, i8* %arrayidx71, align 1 + store i8 %48, i8* %at, align 1 + %49 = load i8*, i8** %n, align 8 + %arrayidx72 = getelementptr inbounds i8, i8* %49, i64 2 + store i8 95, i8* %arrayidx72, align 1 + br label %if.end73 + +if.end73: ; preds = %if.then70, %if.else + %50 = load i8*, i8** %n, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %50, i64 5 + store i8* %add.ptr74, i8** %n, align 8 + %51 = load i8*, i8** %n, align 8 + %incdec.ptr75 = getelementptr inbounds i8, i8* %51, i32 1 + store i8* %incdec.ptr75, i8** %n, align 8 + store i8 46, i8* %51, align 1 + %52 = load i8*, i8** %loc, align 8 + %arrayidx76 = getelementptr inbounds i8, i8* %52, i64 2 + %53 = load i8, i8* %arrayidx76, align 1 + %conv77 = zext i8 %53 to i32 + %cmp78 = icmp eq i32 %conv77, 2 + br i1 %cmp78, label %if.then80, label %if.else82 + +if.then80: ; preds = %if.end73 + %54 = load i8*, i8** %n, align 8 + %call81 = call i8* @stpcpy(i8* %54, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf8.234, i64 0, i64 0)) #19 + store i8* %call81, i8** %n, align 8 + br label %if.end100 + +if.else82: ; preds = %if.end73 + %55 = load i8*, i8** %loc, align 8 + %arrayidx83 = getelementptr inbounds i8, i8* %55, i64 2 + %56 = load i8, i8* %arrayidx83, align 1 + %conv84 = zext i8 %56 to i32 + %cmp85 = icmp sge i32 %conv84, 3 + br i1 %cmp85, label %if.then87, label %if.end100 + +if.then87: ; preds = %if.else82 + %57 = load i8*, i8** %n, align 8 + %58 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %58, i32 0, i32 35 + %arraydecay88 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list, i64 0, i64 0 + %59 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list89 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %59, i32 0, i32 35 + %60 = load i8*, i8** %loc, align 8 + %arrayidx90 = getelementptr inbounds i8, i8* %60, i64 2 + %61 = load i8, i8* %arrayidx90, align 1 + %conv91 = zext i8 %61 to i32 + %sub92 = sub nsw i32 %conv91, 3 + %idxprom93 = sext i32 %sub92 to i64 + %arrayidx94 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list89, i64 0, i64 %idxprom93 + %62 = load i8, i8* %arrayidx94, align 1 + %conv95 = zext i8 %62 to i32 + %idx.ext96 = sext i32 %conv95 to i64 + %add.ptr97 = getelementptr inbounds i8, i8* %arraydecay88, i64 %idx.ext96 + %call98 = call i8* @stpcpy(i8* %57, i8* %add.ptr97) #19 + store i8* %call98, i8** %n, align 8 + br label %if.end100 + +if.end100: ; preds = %if.else82, %if.then87, %if.then80 + %63 = load i8, i8* %at, align 1 + %tobool = icmp ne i8 %63, 0 + br i1 %tobool, label %if.then101, label %if.end120 + +if.then101: ; preds = %if.end100 + %64 = load i8*, i8** %n, align 8 + %incdec.ptr102 = getelementptr inbounds i8, i8* %64, i32 1 + store i8* %incdec.ptr102, i8** %n, align 8 + store i8 64, i8* %64, align 1 + %65 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_at_modifiers = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %65, i32 0, i32 33 + %arraydecay103 = getelementptr inbounds [18 x i8], [18 x i8]* %locale_at_modifiers, i64 0, i64 0 + store i8* %arraydecay103, i8** %q, align 8 + br label %do.body104 + +do.body104: ; preds = %if.end113, %if.then101 + %66 = load i8*, i8** %q, align 8 + %arrayidx105 = getelementptr inbounds i8, i8* %66, i64 1 + %67 = load i8, i8* %arrayidx105, align 1 + %conv106 = sext i8 %67 to i32 + %68 = load i8, i8* %at, align 1 + %conv107 = sext i8 %68 to i32 + %cmp108 = icmp eq i32 %conv106, %conv107 + br i1 %cmp108, label %if.then110, label %if.end113 + +if.then110: ; preds = %do.body104 + %69 = load i8*, i8** %n, align 8 + %70 = load i8*, i8** %q, align 8 + %add.ptr111 = getelementptr inbounds i8, i8* %70, i64 2 + %call112 = call i8* @stpcpy(i8* %69, i8* %add.ptr111) #19 + store i8* %call112, i8** %n, align 8 + br label %if.end120 + +if.end113: ; preds = %do.body104 + %71 = load i8*, i8** %q, align 8 + %72 = load i8, i8* %71, align 1 + %conv114 = sext i8 %72 to i32 + %add115 = add nsw i32 2, %conv114 + %73 = load i8*, i8** %q, align 8 + %idx.ext116 = sext i32 %add115 to i64 + %add.ptr117 = getelementptr inbounds i8, i8* %73, i64 %idx.ext116 + store i8* %add.ptr117, i8** %q, align 8 + %74 = load i8*, i8** %q, align 8 + %75 = load i8, i8* %74, align 1 + %tobool118 = icmp ne i8 %75, 0 + br i1 %tobool118, label %do.body104, label %if.end120 + +if.end120: ; preds = %if.end100, %if.end113, %if.then110, %if.then58 + %76 = load i8*, i8** %n, align 8 + %incdec.ptr121 = getelementptr inbounds i8, i8* %76, i32 1 + store i8* %incdec.ptr121, i8** %n, align 8 + store i8 59, i8* %76, align 1 + br label %if.end122 + +if.end122: ; preds = %if.end120, %lor.lhs.false30 + %77 = load i8*, i8** %s, align 8 + %add.ptr123 = getelementptr inbounds i8, i8* %77, i64 2 + store i8* %add.ptr123, i8** %s, align 8 + %78 = load i32, i32* %i, align 4 + %inc = add nsw i32 %78, 1 + store i32 %inc, i32* %i, align 4 + %79 = load i32, i32* %category, align 4 + %cmp125 = icmp slt i32 %inc, %79 + br i1 %cmp125, label %do.body26, label %do.end127 + +do.end127: ; preds = %if.end122 + %80 = load i8*, i8** %n, align 8 + %incdec.ptr128 = getelementptr inbounds i8, i8* %80, i32 -1 + store i8* %incdec.ptr128, i8** %n, align 8 + store i8 0, i8* %incdec.ptr128, align 1 + %81 = load i32, i32* %category, align 4 + %inc129 = add nsw i32 %81, 1 + store i32 %inc129, i32* %category, align 4 + %82 = load i32, i32* %done, align 4 + %tobool131 = icmp ne i32 %82, 0 + %lnot = xor i1 %tobool131, true + br i1 %lnot, label %do.body, label %do.end132 + +do.end132: ; preds = %do.end127 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define void @setutent() #0 { +entry: + call void @__setutent() #18 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__setutent() #0 { +entry: + %ret = alloca i32, align 4 + %0 = load i32, i32* @static_fd, align 4 + %cmp = icmp eq i32 %0, -1 + br i1 %cmp, label %if.then, label %if.end16 + +if.then: ; preds = %entry + %1 = load i8*, i8** @static_ut_name, align 8 + %call = call i32 (i8*, i32, ...) @open(i8* %1, i32 2) #18 + store i32 %call, i32* @static_fd, align 4 + %cmp1 = icmp slt i32 %call, 0 + br i1 %cmp1, label %if.then2, label %if.end6 + +if.then2: ; preds = %if.then + %2 = load i8*, i8** @static_ut_name, align 8 + %call3 = call i32 (i8*, i32, ...) @open(i8* %2, i32 0) #18 + store i32 %call3, i32* @static_fd, align 4 + %cmp4 = icmp slt i32 %call3, 0 + br i1 %cmp4, label %bummer, label %if.end6 + +if.end6: ; preds = %if.then2, %if.then + %3 = load i32, i32* @static_fd, align 4 + %call7 = call i32 (i32, i32, ...) @fcntl(i32 %3, i32 1, i32 0) #18 + store i32 %call7, i32* %ret, align 4 + %4 = load i32, i32* %ret, align 4 + %cmp8 = icmp sge i32 %4, 0 + br i1 %cmp8, label %if.then9, label %if.end11 + +if.then9: ; preds = %if.end6 + %5 = load i32, i32* @static_fd, align 4 + %6 = load i32, i32* %ret, align 4 + %or = or i32 %6, 1 + %call10 = call i32 (i32, i32, ...) @fcntl(i32 %5, i32 2, i32 %or) #18 + store i32 %call10, i32* %ret, align 4 + br label %if.end11 + +if.end11: ; preds = %if.then9, %if.end6 + %7 = load i32, i32* %ret, align 4 + %cmp12 = icmp slt i32 %7, 0 + br i1 %cmp12, label %bummer, label %if.end16 + +bummer: ; preds = %if.end11, %if.then2 + store i32 -1, i32* @static_fd, align 4 + %8 = load i32, i32* @static_fd, align 4 + %call14 = call i32 @close(i32 %8) #18 + br label %return + +if.end16: ; preds = %if.end11, %entry + %9 = load i32, i32* @static_fd, align 4 + %call17 = call i64 @lseek(i32 %9, i64 0, i32 0) #19 + br label %return + +return: ; preds = %if.end16, %bummer + ret void +} + +; Function Attrs: noinline nounwind uwtable +define void @endutent() #0 { +entry: + %0 = load i32, i32* @static_fd, align 4 + %cmp = icmp ne i32 %0, -1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load i32, i32* @static_fd, align 4 + %call = call i32 @close(i32 %1) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + store i32 -1, i32* @static_fd, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @getutent() #0 { +entry: + %ret = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* null, %struct.utmp.323** %ret, align 8 + %0 = load i32, i32* @static_fd, align 4 + %call = call %struct.utmp.323* @__getutent(i32 %0) #18 + store %struct.utmp.323* %call, %struct.utmp.323** %ret, align 8 + %1 = load %struct.utmp.323*, %struct.utmp.323** %ret, align 8 + ret %struct.utmp.323* %1 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.utmp.323* @__getutent(i32 %utmp_fd) #0 { +entry: + %retval = alloca %struct.utmp.323*, align 8 + %utmp_fd.addr = alloca i32, align 4 + %ret = alloca %struct.utmp.323*, align 8 + store i32 %utmp_fd, i32* %utmp_fd.addr, align 4 + store %struct.utmp.323* null, %struct.utmp.323** %ret, align 8 + %0 = load i32, i32* %utmp_fd.addr, align 4 + %cmp = icmp eq i32 %0, -1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @__setutent() #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i32, i32* %utmp_fd.addr, align 4 + %cmp1 = icmp eq i32 %1, -1 + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + store %struct.utmp.323* null, %struct.utmp.323** %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %2 = load i32, i32* %utmp_fd.addr, align 4 + %call = call i64 @read(i32 %2, i8* bitcast (%struct.utmp.323* @static_utmp to i8*), i64 400) #18 + %cmp4 = icmp eq i64 %call, 400 + br i1 %cmp4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end3 + store %struct.utmp.323* @static_utmp, %struct.utmp.323** %ret, align 8 + br label %if.end6 + +if.end6: ; preds = %if.then5, %if.end3 + %3 = load %struct.utmp.323*, %struct.utmp.323** %ret, align 8 + store %struct.utmp.323* %3, %struct.utmp.323** %retval, align 8 + br label %return + +return: ; preds = %if.end6, %if.then2 + %4 = load %struct.utmp.323*, %struct.utmp.323** %retval, align 8 + ret %struct.utmp.323* %4 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @getutid(%struct.utmp.323* %utmp_entry) #0 { +entry: + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + %ret = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + store %struct.utmp.323* null, %struct.utmp.323** %ret, align 8 + %0 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %call = call %struct.utmp.323* @__getutid(%struct.utmp.323* %0) #18 + store %struct.utmp.323* %call, %struct.utmp.323** %ret, align 8 + %1 = load %struct.utmp.323*, %struct.utmp.323** %ret, align 8 + ret %struct.utmp.323* %1 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.utmp.323* @__getutid(%struct.utmp.323* %utmp_entry) #0 { +entry: + %retval = alloca %struct.utmp.323*, align 8 + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + %lutmp = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end47, %entry + %0 = load i32, i32* @static_fd, align 4 + %call = call %struct.utmp.323* @__getutent(i32 %0) #18 + store %struct.utmp.323* %call, %struct.utmp.323** %lutmp, align 8 + %cmp = icmp ne %struct.utmp.323* %call, null + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %1 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %1, i32 0, i32 0 + %2 = load i16, i16* %ut_type, align 8 + %conv = sext i16 %2 to i32 + %cmp1 = icmp eq i32 %conv, 1 + br i1 %cmp1, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.body + %3 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type3 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %3, i32 0, i32 0 + %4 = load i16, i16* %ut_type3, align 8 + %conv4 = sext i16 %4 to i32 + %cmp5 = icmp eq i32 %conv4, 2 + br i1 %cmp5, label %land.lhs.true, label %lor.lhs.false7 + +lor.lhs.false7: ; preds = %lor.lhs.false + %5 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type8 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %5, i32 0, i32 0 + %6 = load i16, i16* %ut_type8, align 8 + %conv9 = sext i16 %6 to i32 + %cmp10 = icmp eq i32 %conv9, 3 + br i1 %cmp10, label %land.lhs.true, label %lor.lhs.false12 + +lor.lhs.false12: ; preds = %lor.lhs.false7 + %7 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type13 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %7, i32 0, i32 0 + %8 = load i16, i16* %ut_type13, align 8 + %conv14 = sext i16 %8 to i32 + %cmp15 = icmp eq i32 %conv14, 4 + br i1 %cmp15, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %lor.lhs.false12, %lor.lhs.false7, %lor.lhs.false, %while.body + %9 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_type17 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %9, i32 0, i32 0 + %10 = load i16, i16* %ut_type17, align 8 + %conv18 = sext i16 %10 to i32 + %11 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type19 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %11, i32 0, i32 0 + %12 = load i16, i16* %ut_type19, align 8 + %conv20 = sext i16 %12 to i32 + %cmp21 = icmp eq i32 %conv18, %conv20 + br i1 %cmp21, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %13 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + store %struct.utmp.323* %13, %struct.utmp.323** %retval, align 8 + br label %return + +if.end: ; preds = %land.lhs.true, %lor.lhs.false12 + %14 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type23 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %14, i32 0, i32 0 + %15 = load i16, i16* %ut_type23, align 8 + %conv24 = sext i16 %15 to i32 + %cmp25 = icmp eq i32 %conv24, 5 + br i1 %cmp25, label %land.lhs.true42, label %lor.lhs.false27 + +lor.lhs.false27: ; preds = %if.end + %16 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type28 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %16, i32 0, i32 0 + %17 = load i16, i16* %ut_type28, align 8 + %conv29 = sext i16 %17 to i32 + %cmp30 = icmp eq i32 %conv29, 8 + br i1 %cmp30, label %land.lhs.true42, label %lor.lhs.false32 + +lor.lhs.false32: ; preds = %lor.lhs.false27 + %18 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type33 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %18, i32 0, i32 0 + %19 = load i16, i16* %ut_type33, align 8 + %conv34 = sext i16 %19 to i32 + %cmp35 = icmp eq i32 %conv34, 6 + br i1 %cmp35, label %land.lhs.true42, label %lor.lhs.false37 + +lor.lhs.false37: ; preds = %lor.lhs.false32 + %20 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type38 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %20, i32 0, i32 0 + %21 = load i16, i16* %ut_type38, align 8 + %conv39 = sext i16 %21 to i32 + %cmp40 = icmp eq i32 %conv39, 7 + br i1 %cmp40, label %land.lhs.true42, label %if.end47 + +land.lhs.true42: ; preds = %lor.lhs.false37, %lor.lhs.false32, %lor.lhs.false27, %if.end + %22 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_id = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %22, i32 0, i32 3 + %arraydecay = getelementptr inbounds [4 x i8], [4 x i8]* %ut_id, i64 0, i64 0 + %23 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_id43 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %23, i32 0, i32 3 + %arraydecay44 = getelementptr inbounds [4 x i8], [4 x i8]* %ut_id43, i64 0, i64 0 + %call45 = call i32 @strncmp(i8* %arraydecay, i8* %arraydecay44, i64 4) #20 + %tobool = icmp ne i32 %call45, 0 + br i1 %tobool, label %if.end47, label %if.then46 + +if.then46: ; preds = %land.lhs.true42 + %24 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + store %struct.utmp.323* %24, %struct.utmp.323** %retval, align 8 + br label %return + +if.end47: ; preds = %land.lhs.true42, %lor.lhs.false37 + br label %while.cond + +while.end: ; preds = %while.cond + store %struct.utmp.323* null, %struct.utmp.323** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then46, %if.then + %25 = load %struct.utmp.323*, %struct.utmp.323** %retval, align 8 + ret %struct.utmp.323* %25 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @getutline(%struct.utmp.323* %utmp_entry) #0 { +entry: + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + %lutmp = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + store %struct.utmp.323* null, %struct.utmp.323** %lutmp, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %0 = load i32, i32* @static_fd, align 4 + %call = call %struct.utmp.323* @__getutent(i32 %0) #18 + store %struct.utmp.323* %call, %struct.utmp.323** %lutmp, align 8 + %cmp = icmp ne %struct.utmp.323* %call, null + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %1 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_type = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %1, i32 0, i32 0 + %2 = load i16, i16* %ut_type, align 8 + %conv = sext i16 %2 to i32 + %cmp1 = icmp eq i32 %conv, 7 + br i1 %cmp1, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.body + %3 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_type3 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %3, i32 0, i32 0 + %4 = load i16, i16* %ut_type3, align 8 + %conv4 = sext i16 %4 to i32 + %cmp5 = icmp eq i32 %conv4, 6 + br i1 %cmp5, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %lor.lhs.false, %while.body + %5 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_line = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %5, i32 0, i32 2 + %arraydecay = getelementptr inbounds [32 x i8], [32 x i8]* %ut_line, i64 0, i64 0 + %6 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_line7 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %6, i32 0, i32 2 + %arraydecay8 = getelementptr inbounds [32 x i8], [32 x i8]* %ut_line7, i64 0, i64 0 + %call9 = call i32 @strcmp(i8* %arraydecay, i8* %arraydecay8) #20 + %tobool = icmp ne i32 %call9, 0 + br i1 %tobool, label %if.end, label %while.end + +if.end: ; preds = %land.lhs.true, %lor.lhs.false + br label %while.cond + +while.end: ; preds = %land.lhs.true, %while.cond + %7 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + ret %struct.utmp.323* %7 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @pututline(%struct.utmp.323* %utmp_entry) #0 { +entry: + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + %0 = load i32, i32* @static_fd, align 4 + %call = call i64 @lseek(i32 %0, i64 -400, i32 1) #19 + %1 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %call1 = call %struct.utmp.323* @__getutid(%struct.utmp.323* %1) #18 + %cmp = icmp ne %struct.utmp.323* %call1, null + %2 = load i32, i32* @static_fd, align 4 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %call2 = call i64 @lseek(i32 %2, i64 -400, i32 1) #19 + br label %if.end + +if.else: ; preds = %entry + %call3 = call i64 @lseek(i32 %2, i64 0, i32 2) #19 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %3 = load i32, i32* @static_fd, align 4 + %4 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %5 = bitcast %struct.utmp.323* %4 to i8* + %call4 = call i64 @write(i32 %3, i8* %5, i64 400) #18 + %cmp5 = icmp ne i64 %call4, 400 + br i1 %cmp5, label %if.then6, label %if.end7 + +if.then6: ; preds = %if.end + store %struct.utmp.323* null, %struct.utmp.323** %utmp_entry.addr, align 8 + br label %if.end7 + +if.end7: ; preds = %if.then6, %if.end + %6 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + ret %struct.utmp.323* %6 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @utmpname(i8* %new_ut_name) #0 { +entry: + %new_ut_name.addr = alloca i8*, align 8 + store i8* %new_ut_name, i8** %new_ut_name.addr, align 8 + %0 = load i8*, i8** %new_ut_name.addr, align 8 + %cmp = icmp ne i8* %0, null + br i1 %cmp, label %if.then, label %if.end6 + +if.then: ; preds = %entry + %1 = load i8*, i8** @static_ut_name, align 8 + %cmp1 = icmp ne i8* %1, getelementptr inbounds ([14 x i8], [14 x i8]* @default_file_name, i64 0, i64 0) + br i1 %cmp1, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + %2 = load i8*, i8** @static_ut_name, align 8 + call void @free(i8* %2) #19 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %3 = load i8*, i8** %new_ut_name.addr, align 8 + %call = call noalias i8* @strdup(i8* %3) #19 + store i8* %call, i8** @static_ut_name, align 8 + %4 = load i8*, i8** @static_ut_name, align 8 + %cmp3 = icmp eq i8* %4, null + %spec.store.select = select i1 %cmp3, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @default_file_name, i64 0, i64 0), i8* %call + store i8* %spec.store.select, i8** @static_ut_name, align 8 + br label %if.end6 + +if.end6: ; preds = %if.end, %entry + %5 = load i32, i32* @static_fd, align 4 + %cmp7 = icmp ne i32 %5, -1 + br i1 %cmp7, label %if.then8, label %if.end10 + +if.then8: ; preds = %if.end6 + %6 = load i32, i32* @static_fd, align 4 + %call9 = call i32 @close(i32 %6) #18 + br label %if.end10 + +if.end10: ; preds = %if.then8, %if.end6 + store i32 -1, i32* @static_fd, align 4 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_wchar_utf8sntowcs(i32* noalias %pwc, i64 %wn, i8** noalias %src, i64 %n, %struct.__mbstate_t.512* %ps, i32 %allow_continuation) #0 { +entry: + %retval = alloca i64, align 8 + %pwc.addr = alloca i32*, align 8 + %wn.addr = alloca i64, align 8 + %src.addr = alloca i8**, align 8 + %n.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %allow_continuation.addr = alloca i32, align 4 + %s = alloca i8*, align 8 + %mask = alloca i32, align 4 + %wc = alloca i32, align 4 + %wcbuf = alloca [1 x i32], align 4 + %count = alloca i64, align 8 + %incr = alloca i32, align 4 + store i32* %pwc, i32** %pwc.addr, align 8 + store i64 %wn, i64* %wn.addr, align 8 + store i8** %src, i8*** %src.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + store i32 %allow_continuation, i32* %allow_continuation.addr, align 4 + %0 = load i8**, i8*** %src.addr, align 8 + %1 = load i8*, i8** %0, align 8 + store i8* %1, i8** %s, align 8 + store i32 1, i32* %incr, align 4 + %2 = load i32*, i32** %pwc.addr, align 8 + %tobool = icmp ne i32* %2, null + br i1 %tobool, label %lor.lhs.false, label %if.then + +lor.lhs.false: ; preds = %entry + %3 = load i32*, i32** %pwc.addr, align 8 + %4 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %5 = bitcast %struct.__mbstate_t.512* %4 to i32* + %cmp = icmp eq i32* %3, %5 + br i1 %cmp, label %if.then, label %if.end3 + +if.then: ; preds = %lor.lhs.false, %entry + %6 = load i32*, i32** %pwc.addr, align 8 + %tobool1 = icmp ne i32* %6, null + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + store i64 -1, i64* %wn.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %arraydecay = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay, i32** %pwc.addr, align 8 + store i32 0, i32* %incr, align 4 + br label %if.end3 + +if.end3: ; preds = %if.end, %lor.lhs.false + %7 = load i64, i64* %wn.addr, align 8 + store i64 %7, i64* %count, align 8 + %tobool4 = icmp ne i64 %7, 0 + br i1 %tobool4, label %if.end6, label %if.then5 + +if.then5: ; preds = %if.end3 + store i64 0, i64* %retval, align 8 + br label %return + +if.end6: ; preds = %if.end3 + %8 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %8, i32 0, i32 0 + %9 = load i32, i32* %__mask, align 4 + store i32 %9, i32* %mask, align 4 + %cmp7 = icmp ne i32 %9, 0 + br i1 %cmp7, label %if.then8, label %do.body + +if.then8: ; preds = %if.end6 + %10 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %10, i32 0, i32 1 + %11 = load i32, i32* %__wc, align 4 + store i32 %11, i32* %wc, align 4 + %cmp9 = icmp ne i32 %11, 65535 + br i1 %cmp9, label %if.then10, label %if.end14 + +if.then10: ; preds = %if.then8 + %12 = load i64, i64* %n.addr, align 8 + %tobool11 = icmp ne i64 %12, 0 + br i1 %tobool11, label %while.cond, label %DONE + +if.end14: ; preds = %if.then8 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +do.body: ; preds = %if.end6, %land.rhs + %13 = load i64, i64* %n.addr, align 8 + %tobool16 = icmp ne i64 %13, 0 + br i1 %tobool16, label %if.end18, label %DONE + +if.end18: ; preds = %do.body + %14 = load i64, i64* %n.addr, align 8 + %dec = add i64 %14, -1 + store i64 %dec, i64* %n.addr, align 8 + %15 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %15, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %16 = load i8, i8* %15, align 1 + %conv = zext i8 %16 to i32 + store i32 %conv, i32* %wc, align 4 + %cmp19 = icmp uge i32 %conv, 128 + br i1 %cmp19, label %if.then21, label %COMPLETE + +if.then21: ; preds = %if.end18 + store i32 64, i32* %mask, align 4 + %17 = load i8*, i8** %s, align 8 + %arrayidx = getelementptr inbounds i8, i8* %17, i64 -1 + %18 = load i8, i8* %arrayidx, align 1 + %conv22 = sext i8 %18 to i32 + %sub = sub nsw i32 %conv22, 192 + %conv23 = trunc i32 %sub to i8 + %conv24 = zext i8 %conv23 to i32 + %cmp25 = icmp slt i32 %conv24, 62 + br i1 %cmp25, label %START, label %BAD + +BAD: ; preds = %if.end52, %lor.lhs.false55, %lor.lhs.false59, %while.body, %if.then21 + %19 = load i32, i32* %mask, align 4 + %20 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask29 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %20, i32 0, i32 0 + store i32 %19, i32* %__mask29, align 4 + %21 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc30 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %21, i32 0, i32 1 + store i32 65535, i32* %__wc30, align 4 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +while.cond: ; preds = %START, %if.then10 + %22 = load i64, i64* %n.addr, align 8 + %tobool31 = icmp ne i64 %22, 0 + br i1 %tobool31, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %23 = load i64, i64* %n.addr, align 8 + %dec32 = add i64 %23, -1 + store i64 %dec32, i64* %n.addr, align 8 + %24 = load i8*, i8** %s, align 8 + %25 = load i8, i8* %24, align 1 + %conv33 = sext i8 %25 to i32 + %and = and i32 %conv33, 192 + %cmp34 = icmp ne i32 %and, 128 + br i1 %cmp34, label %BAD, label %if.end37 + +if.end37: ; preds = %while.body + %26 = load i32, i32* %mask, align 4 + %shl = shl i32 %26, 5 + store i32 %shl, i32* %mask, align 4 + %27 = load i32, i32* %wc, align 4 + %shl38 = shl i32 %27, 6 + store i32 %shl38, i32* %wc, align 4 + %28 = load i8*, i8** %s, align 8 + %29 = load i8, i8* %28, align 1 + %conv39 = sext i8 %29 to i32 + %and40 = and i32 %conv39, 63 + %30 = load i32, i32* %wc, align 4 + %add = add i32 %30, %and40 + store i32 %add, i32* %wc, align 4 + %31 = load i8*, i8** %s, align 8 + %incdec.ptr41 = getelementptr inbounds i8, i8* %31, i32 1 + store i8* %incdec.ptr41, i8** %s, align 8 + br label %START + +START: ; preds = %if.then21, %if.end37 + %32 = load i32, i32* %mask, align 4 + %shl42 = shl i32 %32, 1 + %neg = xor i32 %shl42, -1 + %33 = load i32, i32* %wc, align 4 + %and43 = and i32 %33, %neg + store i32 %and43, i32* %wc, align 4 + %34 = load i32, i32* %wc, align 4 + %35 = load i32, i32* %mask, align 4 + %and44 = and i32 %34, %35 + %cmp45 = icmp eq i32 %and44, 0 + br i1 %cmp45, label %if.then47, label %while.cond + +if.then47: ; preds = %START + %36 = load i32, i32* %mask, align 4 + %shr = lshr i32 %36, 5 + store i32 %shr, i32* %mask, align 4 + %cmp48 = icmp eq i32 %shr, 64 + br i1 %cmp48, label %if.then50, label %if.end52 + +if.then50: ; preds = %if.then47 + %37 = load i32, i32* %mask, align 4 + %38 = load i32, i32* %mask, align 4 + %add51 = add i32 %38, %37 + store i32 %add51, i32* %mask, align 4 + br label %if.end52 + +if.end52: ; preds = %if.then50, %if.then47 + %39 = load i32, i32* %wc, align 4 + %40 = load i32, i32* %mask, align 4 + %cmp53 = icmp ult i32 %39, %40 + br i1 %cmp53, label %BAD, label %lor.lhs.false55 + +lor.lhs.false55: ; preds = %if.end52 + %41 = load i32, i32* %wc, align 4 + %sub56 = sub i32 %41, 65534 + %cmp57 = icmp ult i32 %sub56, 2 + br i1 %cmp57, label %BAD, label %lor.lhs.false59 + +lor.lhs.false59: ; preds = %lor.lhs.false55 + %42 = load i32, i32* %wc, align 4 + %sub60 = sub i32 %42, 55296 + %cmp61 = icmp ult i32 %sub60, 2048 + br i1 %cmp61, label %BAD, label %COMPLETE + +while.end: ; preds = %while.cond + %43 = load i32, i32* %allow_continuation.addr, align 4 + %tobool66 = icmp ne i32 %43, 0 + br i1 %tobool66, label %if.end77, label %if.then67 + +if.then67: ; preds = %while.end + %44 = load i64, i64* %count, align 8 + %45 = load i64, i64* %wn.addr, align 8 + %cmp68 = icmp ne i64 %44, %45 + br i1 %cmp68, label %if.then70, label %do.body72 + +if.then70: ; preds = %if.then67 + store i64 0, i64* %retval, align 8 + br label %return + +do.body72: ; preds = %if.then67, %do.body72 + %46 = load i8*, i8** %s, align 8 + %incdec.ptr73 = getelementptr inbounds i8, i8* %46, i32 -1 + store i8* %incdec.ptr73, i8** %s, align 8 + %47 = load i32, i32* %mask, align 4 + %shr74 = lshr i32 %47, 5 + store i32 %shr74, i32* %mask, align 4 + %cmp75 = icmp uge i32 %shr74, 64 + br i1 %cmp75, label %do.body72, label %DONE + +if.end77: ; preds = %while.end + %48 = load i32, i32* %mask, align 4 + %49 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask78 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %49, i32 0, i32 0 + store i32 %48, i32* %__mask78, align 4 + %50 = load i32, i32* %wc, align 4 + %51 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc79 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %51, i32 0, i32 1 + store i32 %50, i32* %__wc79, align 4 + %52 = load i8*, i8** %s, align 8 + %53 = load i8**, i8*** %src.addr, align 8 + store i8* %52, i8** %53, align 8 + store i64 -2, i64* %retval, align 8 + br label %return + +COMPLETE: ; preds = %if.end18, %lor.lhs.false59 + %54 = load i32, i32* %wc, align 4 + %55 = load i32*, i32** %pwc.addr, align 8 + store i32 %54, i32* %55, align 4 + %56 = load i32, i32* %incr, align 4 + %57 = load i32*, i32** %pwc.addr, align 8 + %idx.ext = sext i32 %56 to i64 + %add.ptr = getelementptr inbounds i32, i32* %57, i64 %idx.ext + store i32* %add.ptr, i32** %pwc.addr, align 8 + %58 = load i32, i32* %wc, align 4 + %tobool82 = icmp ne i32 %58, 0 + br i1 %tobool82, label %land.rhs, label %do.end85 + +land.rhs: ; preds = %COMPLETE + %59 = load i64, i64* %count, align 8 + %dec83 = add i64 %59, -1 + store i64 %dec83, i64* %count, align 8 + %tobool84 = icmp ne i64 %dec83, 0 + br i1 %tobool84, label %do.body, label %do.end85 + +do.end85: ; preds = %COMPLETE, %land.rhs + %60 = load i32, i32* %wc, align 4 + %tobool86 = icmp ne i32 %60, 0 + br i1 %tobool86, label %DONE, label %if.then87 + +if.then87: ; preds = %do.end85 + store i8* null, i8** %s, align 8 + br label %DONE + +DONE: ; preds = %do.end85, %if.then87, %do.body72, %do.body, %if.then10 + %61 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask89 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %61, i32 0, i32 0 + store i32 0, i32* %__mask89, align 4 + %62 = load i32*, i32** %pwc.addr, align 8 + %arraydecay90 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %cmp91 = icmp ne i32* %62, %arraydecay90 + br i1 %cmp91, label %if.then93, label %if.end94 + +if.then93: ; preds = %DONE + %63 = load i8*, i8** %s, align 8 + %64 = load i8**, i8*** %src.addr, align 8 + store i8* %63, i8** %64, align 8 + br label %if.end94 + +if.end94: ; preds = %if.then93, %DONE + %65 = load i64, i64* %wn.addr, align 8 + %66 = load i64, i64* %count, align 8 + %sub95 = sub i64 %65, %66 + store i64 %sub95, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end94, %if.end77, %if.then70, %BAD, %if.end14, %if.then5 + %67 = load i64, i64* %retval, align 8 + ret i64 %67 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @mbrtowc(i32* noalias %pwc, i8* noalias %s, i64 %n, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %retval = alloca i64, align 8 + %pwc.addr = alloca i32*, align 8 + %s.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %wcbuf = alloca [1 x i32], align 4 + %p = alloca i8*, align 8 + %r = alloca i64, align 8 + %empty_string = alloca [1 x i8], align 1 + store i32* %pwc, i32** %pwc.addr, align 8 + store i8* %s, i8** %s.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %tobool = icmp ne %struct.__mbstate_t.512* %0, null + %spec.store.select = select i1 %tobool, %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512* @mbrtowc.mbstate + store %struct.__mbstate_t.512* %spec.store.select, %struct.__mbstate_t.512** %ps.addr, align 8 + %1 = load i8*, i8** %s.addr, align 8 + %tobool1 = icmp ne i8* %1, null + br i1 %tobool1, label %if.else, label %if.then2 + +if.then2: ; preds = %entry + %2 = load i8*, i8** %s.addr, align 8 + %3 = bitcast i8* %2 to i32* + store i32* %3, i32** %pwc.addr, align 8 + %arrayidx = getelementptr inbounds [1 x i8], [1 x i8]* %empty_string, i64 0, i64 0 + store i8 0, i8* %arrayidx, align 1 + %arraydecay = getelementptr inbounds [1 x i8], [1 x i8]* %empty_string, i64 0, i64 0 + store i8* %arraydecay, i8** %s.addr, align 8 + store i64 1, i64* %n.addr, align 8 + br label %if.end7 + +if.else: ; preds = %entry + %4 = load i64, i64* %n.addr, align 8 + %tobool3 = icmp ne i64 %4, 0 + br i1 %tobool3, label %if.end7, label %if.then4 + +if.then4: ; preds = %if.else + %5 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %5, i32 0, i32 0 + %6 = load i32, i32* %__mask, align 4 + %tobool5 = icmp ne i32 %6, 0 + br i1 %tobool5, label %land.rhs, label %land.end + +land.rhs: ; preds = %if.then4 + %7 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %7, i32 0, i32 1 + %8 = load i32, i32* %__wc, align 4 + %cmp = icmp eq i32 %8, 65535 + br label %land.end + +land.end: ; preds = %land.rhs, %if.then4 + %9 = phi i1 [ false, %if.then4 ], [ %cmp, %land.rhs ] + %10 = zext i1 %9 to i64 + %cond = select i1 %9, i64 -1, i64 -2 + store i64 %cond, i64* %retval, align 8 + br label %return + +if.end7: ; preds = %if.else, %if.then2 + %11 = load i8*, i8** %s.addr, align 8 + store i8* %11, i8** %p, align 8 + %12 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %12, i32 0, i32 9 + %13 = load i8, i8* %encoding, align 8 + %conv = zext i8 %13 to i32 + %cmp8 = icmp eq i32 %conv, 1 + br i1 %cmp8, label %if.then10, label %if.end18 + +if.then10: ; preds = %if.end7 + %14 = load i32*, i32** %pwc.addr, align 8 + %tobool11 = icmp ne i32* %14, null + br i1 %tobool11, label %if.end14, label %if.then12 + +if.then12: ; preds = %if.then10 + %arraydecay13 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay13, i32** %pwc.addr, align 8 + br label %if.end14 + +if.end14: ; preds = %if.then12, %if.then10 + %15 = load i32*, i32** %pwc.addr, align 8 + %16 = load i64, i64* %n.addr, align 8 + %17 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @_wchar_utf8sntowcs(i32* %15, i64 1, i8** %p, i64 %16, %struct.__mbstate_t.512* %17, i32 1) #18 + store i64 %call, i64* %r, align 8 + %18 = load i64, i64* %r, align 8 + %cmp15 = icmp eq i64 %18, 1 + %19 = load i8*, i8** %p, align 8 + %20 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %20 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %21 = load i64, i64* %r, align 8 + %cond17 = select i1 %cmp15, i64 %sub.ptr.sub, i64 %21 + store i64 %cond17, i64* %retval, align 8 + br label %return + +if.end18: ; preds = %if.end7 + %arraydecay19 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %22 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call20 = call i64 @mbsnrtowcs(i32* %arraydecay19, i8** %p, i64 -1, i64 1, %struct.__mbstate_t.512* %22) #19 + store i64 %call20, i64* %r, align 8 + %23 = load i64, i64* %r, align 8 + %cmp21 = icmp sge i64 %23, 0 + %24 = load i32*, i32** %pwc.addr, align 8 + %tobool24 = icmp ne i32* %24, null + %or.cond = and i1 %cmp21, %tobool24 + br i1 %or.cond, label %if.then25, label %if.end28 + +if.then25: ; preds = %if.end18 + %arraydecay26 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %25 = load i32, i32* %arraydecay26, align 4 + %26 = load i32*, i32** %pwc.addr, align 8 + store i32 %25, i32* %26, align 4 + br label %if.end28 + +if.end28: ; preds = %if.then25, %if.end18 + %27 = load i64, i64* %r, align 8 + store i64 %27, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end28, %if.end14, %land.end + %28 = load i64, i64* %retval, align 8 + ret i64 %28 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @mbsinit(%struct.__mbstate_t.512* %ps) #14 { +entry: + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %tobool = icmp ne %struct.__mbstate_t.512* %0, null + br i1 %tobool, label %lor.rhs, label %lor.end + +lor.rhs: ; preds = %entry + %1 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %1, i32 0, i32 0 + %2 = load i32, i32* %__mask, align 4 + %tobool1 = icmp ne i32 %2, 0 + %lnot = xor i1 %tobool1, true + br label %lor.end + +lor.end: ; preds = %lor.rhs, %entry + %3 = phi i1 [ true, %entry ], [ %lnot, %lor.rhs ] + %lor.ext = zext i1 %3 to i32 + ret i32 %lor.ext +} + +; Function Attrs: noinline nounwind uwtable +define i32 @iswprint(i32 %wc) #0 { +entry: + %wc.addr = alloca i32, align 4 + store i32 %wc, i32* %wc.addr, align 4 + %0 = load i32, i32* %wc.addr, align 4 + %call = call i32 @iswctype(i32 %0, i32 8) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.568* %stream, i8* %buf, i64 %bufsize) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %rv = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + store i64 0, i64* %rv, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 4 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end18, label %if.then + +if.then: ; preds = %entry + %2 = load i64, i64* %bufsize.addr, align 8 + %cmp = icmp ugt i64 %2, 9223372036854775807 + br i1 %cmp, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + store i64 9223372036854775807, i64* %bufsize.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 2 + %4 = load i32, i32* %__filedes, align 4 + %5 = load i8*, i8** %buf.addr, align 8 + %6 = load i64, i64* %bufsize.addr, align 8 + %call = call i64 @read(i32 %4, i8* %5, i64 %6) #18 + store i64 %call, i64* %rv, align 8 + %cmp3 = icmp sle i64 %call, 0 + br i1 %cmp3, label %if.then5, label %if.end18 + +if.then5: ; preds = %if.end + %7 = load i64, i64* %rv, align 8 + %cmp6 = icmp eq i64 %7, 0 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags9 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags9, align 8 + %conv10 = zext i16 %9 to i32 + br i1 %cmp6, label %if.then8, label %if.else + +if.then8: ; preds = %if.then5 + %or = or i32 %conv10, 4 + %conv11 = trunc i32 %or to i16 + store i16 %conv11, i16* %__modeflags9, align 8 + br label %if.end18 + +if.else: ; preds = %if.then5 + %or14 = or i32 %conv10, 8 + %conv15 = trunc i32 %or14 to i16 + store i16 %conv15, i16* %__modeflags9, align 8 + store i64 0, i64* %rv, align 8 + br label %if.end18 + +if.end18: ; preds = %if.end, %if.else, %if.then8, %entry + %10 = load i64, i64* %rv, align 8 + ret i64 %10 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %stream, i8* %buf, i64 %bufsize) #0 { +entry: + %retval = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %todo = alloca i64, align 8 + %rv = alloca i64, align 8 + %stodo = alloca i64, align 8 + %s = alloca i8*, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i64, i64* %bufsize.addr, align 8 + store i64 %0, i64* %todo, align 8 + br label %do.body + +do.body: ; preds = %if.then3, %entry + %1 = load i64, i64* %todo, align 8 + %cmp = icmp eq i64 %1, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %do.body + %2 = load i64, i64* %bufsize.addr, align 8 + store i64 %2, i64* %retval, align 8 + br label %do.end32 + +if.end: ; preds = %do.body + %3 = load i64, i64* %todo, align 8 + %cmp1 = icmp ule i64 %3, 9223372036854775807 + %4 = load i64, i64* %todo, align 8 + %cond = select i1 %cmp1, i64 %4, i64 9223372036854775807 + store i64 %cond, i64* %stodo, align 8 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 2 + %6 = load i32, i32* %__filedes, align 4 + %7 = load i8*, i8** %buf.addr, align 8 + %8 = load i64, i64* %stodo, align 8 + %call = call i64 @write(i32 %6, i8* %7, i64 %8) #18 + store i64 %call, i64* %rv, align 8 + %cmp2 = icmp sge i64 %call, 0 + br i1 %cmp2, label %if.then3, label %if.else + +if.then3: ; preds = %if.end + %9 = load i64, i64* %rv, align 8 + %10 = load i64, i64* %todo, align 8 + %sub = sub i64 %10, %9 + store i64 %sub, i64* %todo, align 8 + %11 = load i64, i64* %rv, align 8 + %12 = load i8*, i8** %buf.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %12, i64 %11 + store i8* %add.ptr, i8** %buf.addr, align 8 + br label %do.body + +if.else: ; preds = %if.end + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 0 + %14 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %14 to i32 + %or = or i32 %conv, 8 + %conv4 = trunc i32 %or to i16 + store i16 %conv4, i16* %__modeflags, align 8 + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 4 + %16 = load i8*, i8** %__bufend, align 8 + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 3 + %18 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %16 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %18 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %stodo, align 8 + %cmp5 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %cmp5, label %if.then7, label %if.end28 + +if.then7: ; preds = %if.else + %19 = load i64, i64* %stodo, align 8 + %20 = load i64, i64* %todo, align 8 + %cmp8 = icmp ugt i64 %19, %20 + br i1 %cmp8, label %if.then10, label %if.end11 + +if.then10: ; preds = %if.then7 + %21 = load i64, i64* %todo, align 8 + store i64 %21, i64* %stodo, align 8 + br label %if.end11 + +if.end11: ; preds = %if.then10, %if.then7 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart12 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 3 + %23 = load i8*, i8** %__bufstart12, align 8 + store i8* %23, i8** %s, align 8 + br label %do.body13 + +do.body13: ; preds = %if.end20, %if.end11 + %24 = load i8*, i8** %buf.addr, align 8 + %25 = load i8, i8* %24, align 1 + %26 = load i8*, i8** %s, align 8 + store i8 %25, i8* %26, align 1 + %conv14 = zext i8 %25 to i32 + %cmp15 = icmp eq i32 %conv14, 10 + br i1 %cmp15, label %land.lhs.true, label %if.end20 + +land.lhs.true: ; preds = %do.body13 + %27 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %27, i32 0, i32 0 + %28 = load i16, i16* %__modeflags17, align 8 + %conv18 = zext i16 %28 to i32 + %and = and i32 %conv18, 256 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %do.end, label %if.end20 + +if.end20: ; preds = %land.lhs.true, %do.body13 + %29 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %29, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %30 = load i8*, i8** %buf.addr, align 8 + %incdec.ptr21 = getelementptr inbounds i8, i8* %30, i32 1 + store i8* %incdec.ptr21, i8** %buf.addr, align 8 + %31 = load i64, i64* %stodo, align 8 + %dec = add nsw i64 %31, -1 + store i64 %dec, i64* %stodo, align 8 + %tobool22 = icmp ne i64 %dec, 0 + br i1 %tobool22, label %do.body13, label %do.end + +do.end: ; preds = %land.lhs.true, %if.end20 + %32 = load i8*, i8** %s, align 8 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %33, i32 0, i32 5 + store i8* %32, i8** %__bufpos, align 8 + %34 = load i8*, i8** %s, align 8 + %35 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart23 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %35, i32 0, i32 3 + %36 = load i8*, i8** %__bufstart23, align 8 + %sub.ptr.lhs.cast24 = ptrtoint i8* %34 to i64 + %sub.ptr.rhs.cast25 = ptrtoint i8* %36 to i64 + %sub.ptr.sub26 = sub i64 %sub.ptr.lhs.cast24, %sub.ptr.rhs.cast25 + %37 = load i64, i64* %todo, align 8 + %sub27 = sub i64 %37, %sub.ptr.sub26 + store i64 %sub27, i64* %todo, align 8 + br label %if.end28 + +if.end28: ; preds = %do.end, %if.else + %38 = load i64, i64* %bufsize.addr, align 8 + %39 = load i64, i64* %todo, align 8 + %sub29 = sub i64 %38, %39 + store i64 %sub29, i64* %retval, align 8 + br label %do.end32 + +do.end32: ; preds = %if.then, %if.end28 + %40 = load i64, i64* %retval, align 8 + ret i64 %40 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__freading(%struct.__STDIO_FILE_STRUCT.519* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.519*, align 8 + store %struct.__STDIO_FILE_STRUCT.519* %stream, %struct.__STDIO_FILE_STRUCT.519** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.519*, %struct.__STDIO_FILE_STRUCT.519** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.519, %struct.__STDIO_FILE_STRUCT.519* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 35 + ret i32 %and +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_rfill(%struct.__STDIO_FILE_STRUCT.568* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %rv = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %1, i32 0, i32 3 + %2 = load i8*, i8** %__bufstart, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 4 + %4 = load i8*, i8** %__bufend, align 8 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 3 + %6 = load i8*, i8** %__bufstart1, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %4 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %6 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %call = call i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.568* %0, i8* %2, i64 %sub.ptr.sub) #18 + store i64 %call, i64* %rv, align 8 + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %7, i32 0, i32 3 + %8 = load i8*, i8** %__bufstart2, align 8 + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %9, i32 0, i32 5 + store i8* %8, i8** %__bufpos, align 8 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart3 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 3 + %11 = load i8*, i8** %__bufstart3, align 8 + %12 = load i64, i64* %rv, align 8 + %add.ptr = getelementptr inbounds i8, i8* %11, i64 %12 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 6 + store i8* %add.ptr, i8** %__bufread, align 8 + %14 = load i64, i64* %rv, align 8 + ret i64 %14 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_trans2r_o(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %oflag) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %oflag.addr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %oflag, i32* %oflag.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %2 = load i32, i32* %oflag.addr, align 4 + %and = and i32 %conv, %2 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end9, label %if.then + +if.then: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 0 + %4 = load i16, i16* %__modeflags1, align 8 + %conv2 = zext i16 %4 to i32 + %and3 = and i32 %conv2, 2176 + %tobool4 = icmp ne i32 %and3, 0 + br i1 %tobool4, label %DO_EBADF, label %if.end + +if.end: ; preds = %if.then + %5 = load i32, i32* %oflag.addr, align 4 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 0 + %7 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %7 to i32 + %or = or i32 %conv7, %5 + %conv8 = trunc i32 %or to i16 + store i16 %conv8, i16* %__modeflags6, align 8 + br label %if.end9 + +if.end9: ; preds = %if.end, %entry + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags10, align 8 + %conv11 = zext i16 %9 to i32 + %and12 = and i32 %conv11, 16 + %tobool13 = icmp ne i32 %and12, 0 + br i1 %tobool13, label %DO_EBADF, label %if.end19 + +DO_EBADF: ; preds = %if.end9, %if.then + store i32 9, i32* @errno, align 4 + br label %ERROR + +ERROR: ; preds = %if.then24, %DO_EBADF + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags15 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 0 + %11 = load i16, i16* %__modeflags15, align 8 + %conv16 = zext i16 %11 to i32 + %or17 = or i32 %conv16, 8 + %conv18 = trunc i32 %or17 to i16 + store i16 %conv18, i16* %__modeflags15, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end19: ; preds = %if.end9 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags20 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags20, align 8 + %conv21 = zext i16 %13 to i32 + %and22 = and i32 %conv21, 64 + %tobool23 = icmp ne i32 %and22, 0 + br i1 %tobool23, label %if.then24, label %if.end32 + +if.then24: ; preds = %if.end19 + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %14) #18 + %tobool25 = icmp ne i64 %call, 0 + br i1 %tobool25, label %ERROR, label %if.end27 + +if.end27: ; preds = %if.then24 + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 3 + %16 = load i8*, i8** %__bufstart, align 8 + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 8 + store i8* %16, i8** %__bufputc_u, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags28 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 0 + %19 = load i16, i16* %__modeflags28, align 8 + %conv29 = zext i16 %19 to i32 + %and30 = and i32 %conv29, -65 + %conv31 = trunc i32 %and30 to i16 + store i16 %conv31, i16* %__modeflags28, align 8 + br label %if.end32 + +if.end32: ; preds = %if.end27, %if.end19 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags33 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 0 + %21 = load i16, i16* %__modeflags33, align 8 + %conv34 = zext i16 %21 to i32 + %or35 = or i32 %conv34, 1 + %conv36 = trunc i32 %or35 to i16 + store i16 %conv36, i16* %__modeflags33, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end32, %ERROR + %22 = load i32, i32* %retval, align 4 + ret i32 %22 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fclose(%struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %rv = alloca i32, align 4 + %ptr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 0, i32* %rv, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %0, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %1, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp = icmp eq %struct.__STDIO_FILE_STRUCT.568* %1, %2 + br i1 %cmp, label %if.then, label %while.cond + +if.then: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 9 + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %4, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + br label %if.end7 + +while.cond: ; preds = %entry, %if.end + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %5, null + br i1 %tobool, label %while.body, label %if.end7 + +while.body: ; preds = %while.cond + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 9 + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen1, align 8 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp2 = icmp eq %struct.__STDIO_FILE_STRUCT.568* %7, %8 + br i1 %cmp2, label %if.then3, label %if.end + +if.then3: ; preds = %while.body + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen4 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %9, i32 0, i32 9 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen4, align 8 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen5 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 9 + store %struct.__STDIO_FILE_STRUCT.568* %10, %struct.__STDIO_FILE_STRUCT.568** %__nextopen5, align 8 + br label %if.end7 + +if.end: ; preds = %while.body + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 9 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen6, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %13, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + br label %while.cond + +if.end7: ; preds = %while.cond, %if.then3, %if.then + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %14, i32 0, i32 0 + %15 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %15 to i32 + %and = and i32 %conv, 64 + %tobool8 = icmp ne i32 %and, 0 + br i1 %tobool8, label %if.then9, label %if.end10 + +if.then9: ; preds = %if.end7 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.568* %16) #18 + store i32 %call, i32* %rv, align 4 + br label %if.end10 + +if.end10: ; preds = %if.then9, %if.end7 + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 2 + %18 = load i32, i32* %__filedes, align 4 + %call11 = call i32 @close(i32 %18) #18 + %cmp12 = icmp slt i32 %call11, 0 + br i1 %cmp12, label %if.then14, label %if.end15 + +if.then14: ; preds = %if.end10 + store i32 -1, i32* %rv, align 4 + br label %if.end15 + +if.end15: ; preds = %if.then14, %if.end10 + %19 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes16 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %19, i32 0, i32 2 + store i32 -1, i32* %__filedes16, align 4 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 0 + %21 = load i16, i16* %__modeflags17, align 8 + %conv18 = zext i16 %21 to i32 + %and19 = and i32 %conv18, 24576 + %conv20 = trunc i32 %and19 to i16 + store i16 %conv20, i16* %__modeflags17, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags21 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 0 + %23 = load i16, i16* %__modeflags21, align 8 + %conv22 = zext i16 %23 to i32 + %or = or i32 %conv22, 48 + %conv23 = trunc i32 %or to i16 + store i16 %conv23, i16* %__modeflags21, align 8 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags24 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 0 + %25 = load i16, i16* %__modeflags24, align 8 + %conv25 = zext i16 %25 to i32 + %and26 = and i32 %conv25, 16384 + %tobool27 = icmp ne i32 %and26, 0 + br i1 %tobool27, label %if.then28, label %do.body30 + +if.then28: ; preds = %if.end15 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 3 + %27 = load i8*, i8** %__bufstart, align 8 + call void @free(i8* %27) #19 + br label %do.body30 + +do.body30: ; preds = %if.then28, %if.end15 + %28 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags31 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %28, i32 0, i32 0 + %29 = load i16, i16* %__modeflags31, align 8 + %conv32 = zext i16 %29 to i32 + %and33 = and i32 %conv32, 8192 + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %if.then35, label %do.end37 + +if.then35: ; preds = %do.body30 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %31 = bitcast %struct.__STDIO_FILE_STRUCT.568* %30 to i8* + call void @free(i8* %31) #19 + br label %do.end37 + +do.end37: ; preds = %do.body30, %if.then35 + %32 = load i32, i32* %rv, align 4 + ret i32 %32 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @ferror_unlocked(%struct.__STDIO_FILE_STRUCT.592* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.592*, align 8 + store %struct.__STDIO_FILE_STRUCT.592* %stream, %struct.__STDIO_FILE_STRUCT.592** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.592*, %struct.__STDIO_FILE_STRUCT.592** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.592, %struct.__STDIO_FILE_STRUCT.592* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 8 + ret i32 %and +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %retval1 = alloca i32, align 4 + %bufmask = alloca i16, align 2 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 0, i32* %retval1, align 4 + store i16 256, i16* %bufmask, align 2 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp = icmp eq %struct.__STDIO_FILE_STRUCT.568* %0, bitcast (%struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist to %struct.__STDIO_FILE_STRUCT.568*) + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store %struct.__STDIO_FILE_STRUCT.568* null, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i16 0, i16* %bufmask, align 2 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %1, null + br i1 %tobool, label %if.else21, label %if.then2 + +if.then2: ; preds = %if.end + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %2, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end20, %if.then2 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %tobool3 = icmp ne %struct.__STDIO_FILE_STRUCT.568* %3, null + br i1 %tobool3, label %while.body, label %if.end39 + +while.body: ; preds = %while.cond + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 0 + %5 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %5 to i32 + %and = and i32 %conv, 64 + %tobool4 = icmp ne i32 %and, 0 + br i1 %tobool4, label %if.then5, label %if.end20 + +if.then5: ; preds = %while.body + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 0 + %7 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %7 to i32 + %8 = load i16, i16* %bufmask, align 2 + %conv8 = zext i16 %8 to i32 + %or = or i32 %conv7, %conv8 + %xor = xor i32 %or, 320 + %and9 = and i32 %xor, 832 + %tobool10 = icmp ne i32 %and9, 0 + br i1 %tobool10, label %if.end20, label %if.then11 + +if.then11: ; preds = %if.then5 + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %9) #18 + %tobool12 = icmp ne i64 %call, 0 + br i1 %tobool12, label %if.else, label %if.then13 + +if.then13: ; preds = %if.then11 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 3 + %11 = load i8*, i8** %__bufstart, align 8 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 8 + store i8* %11, i8** %__bufputc_u, align 8 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags14 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 0 + %14 = load i16, i16* %__modeflags14, align 8 + %conv15 = zext i16 %14 to i32 + %and16 = and i32 %conv15, -65 + %conv17 = trunc i32 %and16 to i16 + store i16 %conv17, i16* %__modeflags14, align 8 + br label %if.end20 + +if.else: ; preds = %if.then11 + store i32 -1, i32* %retval1, align 4 + br label %if.end20 + +if.end20: ; preds = %if.then5, %if.else, %if.then13, %while.body + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 9 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %16, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br label %while.cond + +if.else21: ; preds = %if.end + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags22 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 0 + %18 = load i16, i16* %__modeflags22, align 8 + %conv23 = zext i16 %18 to i32 + %and24 = and i32 %conv23, 64 + %tobool25 = icmp ne i32 %and24, 0 + br i1 %tobool25, label %if.then26, label %if.end39 + +if.then26: ; preds = %if.else21 + %19 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call27 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %19) #18 + %tobool28 = icmp ne i64 %call27, 0 + br i1 %tobool28, label %if.else36, label %if.then29 + +if.then29: ; preds = %if.then26 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart30 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 3 + %21 = load i8*, i8** %__bufstart30, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u31 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 8 + store i8* %21, i8** %__bufputc_u31, align 8 + %23 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags32 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %23, i32 0, i32 0 + %24 = load i16, i16* %__modeflags32, align 8 + %conv33 = zext i16 %24 to i32 + %and34 = and i32 %conv33, -65 + %conv35 = trunc i32 %and34 to i16 + store i16 %conv35, i16* %__modeflags32, align 8 + br label %if.end39 + +if.else36: ; preds = %if.then26 + store i32 -1, i32* %retval1, align 4 + br label %if.end39 + +if.end39: ; preds = %if.else21, %if.else36, %if.then29, %while.cond + %25 = load i32, i32* %retval1, align 4 + ret i32 %25 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fileno_unlocked(%struct.__STDIO_FILE_STRUCT.608* %stream) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.608*, align 8 + store %struct.__STDIO_FILE_STRUCT.608* %stream, %struct.__STDIO_FILE_STRUCT.608** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.608*, %struct.__STDIO_FILE_STRUCT.608** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.608, %struct.__STDIO_FILE_STRUCT.608* %0, i32 0, i32 2 + %1 = load i32, i32* %__filedes, align 4 + %cmp = icmp sge i32 %1, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.608*, %struct.__STDIO_FILE_STRUCT.608** %stream.addr, align 8 + %__filedes1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.608, %struct.__STDIO_FILE_STRUCT.608* %2, i32 0, i32 2 + %3 = load i32, i32* %__filedes1, align 4 + store i32 %3, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + store i32 9, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fprintf(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i8* noalias %format, ...) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %format.addr = alloca i8*, align 8 + %arg = alloca [1 x %struct.__va_list_tag.0], align 16 + %rv = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdout, align 8 + %cmp = icmp eq %struct.__STDIO_FILE_STRUCT.568* %0, %1 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %cmp2 = icmp eq %struct.__STDIO_FILE_STRUCT.568* %2, %3 + br i1 %cmp2, label %if.then, label %if.else + +if.then: ; preds = %lor.lhs.false, %entry + %4 = load i8*, i8** %format.addr, align 8 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %call = call i32 @vprintf(i8* %4, %struct.__va_list_tag.0* %arraydecay3) #18 + store i32 %call, i32* %rv, align 4 + br label %if.end + +if.else: ; preds = %lor.lhs.false + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %6 = load i8*, i8** %format.addr, align 8 + %arraydecay4 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %call5 = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %5, i8* %6, %struct.__va_list_tag.0* %arraydecay4) #18 + store i32 %call5, i32* %rv, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %arraydecay6 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay67 = bitcast %struct.__va_list_tag.0* %arraydecay6 to i8* + call void @llvm.va_end(i8* %arraydecay67) + %7 = load i32, i32* %rv, align 4 + ret i32 %7 +} + +declare i32 @vprintf(i8*, %struct.__va_list_tag.0*) #17 + +; Function Attrs: noinline nounwind uwtable +define i32 @__fputc_unlocked(i32 %c, %struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %retval = alloca i32, align 4 + %c.addr = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %uc = alloca i8, align 1 + store i32 %c, i32* %c.addr, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 5 + %1 = load i8*, i8** %__bufpos, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 8 + %3 = load i8*, i8** %__bufputc_u, align 8 + %cmp = icmp ult i8* %1, %3 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %4 = load i32, i32* %c.addr, align 4 + %conv = trunc i32 %4 to i8 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 5 + %6 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + store i8 %conv, i8* %6, align 1 + %7 = load i32, i32* %c.addr, align 4 + %conv2 = trunc i32 %7 to i8 + %conv3 = zext i8 %conv2 to i32 + store i32 %conv3, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags, align 8 + %conv4 = zext i16 %9 to i32 + %and = and i32 %conv4, 192 + %cmp5 = icmp eq i32 %and, 192 + br i1 %cmp5, label %if.then7, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* %10, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %BAD, label %if.then7 + +if.then7: ; preds = %lor.lhs.false, %if.end + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 2 + %12 = load i32, i32* %__filedes, align 4 + %cmp8 = icmp eq i32 %12, -2 + br i1 %cmp8, label %if.then10, label %if.end13 + +if.then10: ; preds = %if.then7 + %13 = load i32, i32* %c.addr, align 4 + %conv11 = trunc i32 %13 to i8 + %conv12 = zext i8 %conv11 to i32 + store i32 %conv12, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.then7 + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %14, i32 0, i32 4 + %15 = load i8*, i8** %__bufend, align 8 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %16, i32 0, i32 3 + %17 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %15 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %17 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool14 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %tobool14, label %if.then15, label %if.else + +if.then15: ; preds = %if.end13 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend16 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 4 + %19 = load i8*, i8** %__bufend16, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 5 + %21 = load i8*, i8** %__bufpos17, align 8 + %sub.ptr.lhs.cast18 = ptrtoint i8* %19 to i64 + %sub.ptr.rhs.cast19 = ptrtoint i8* %21 to i64 + %sub.ptr.sub20 = sub i64 %sub.ptr.lhs.cast18, %sub.ptr.rhs.cast19 + %tobool21 = icmp ne i64 %sub.ptr.sub20, 0 + br i1 %tobool21, label %if.end25, label %land.lhs.true + +land.lhs.true: ; preds = %if.then15 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call22 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %22) #18 + %tobool23 = icmp ne i64 %call22, 0 + br i1 %tobool23, label %BAD, label %if.end25 + +if.end25: ; preds = %land.lhs.true, %if.then15 + %23 = load i32, i32* %c.addr, align 4 + %conv26 = trunc i32 %23 to i8 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos27 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 5 + %25 = load i8*, i8** %__bufpos27, align 8 + %incdec.ptr28 = getelementptr inbounds i8, i8* %25, i32 1 + store i8* %incdec.ptr28, i8** %__bufpos27, align 8 + store i8 %conv26, i8* %25, align 1 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags29 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 0 + %27 = load i16, i16* %__modeflags29, align 8 + %conv30 = zext i16 %27 to i32 + %and31 = and i32 %conv30, 256 + %tobool32 = icmp ne i32 %and31, 0 + br i1 %tobool32, label %if.then33, label %if.end51 + +if.then33: ; preds = %if.end25 + %28 = load i32, i32* %c.addr, align 4 + %conv34 = trunc i32 %28 to i8 + %conv35 = zext i8 %conv34 to i32 + %cmp36 = icmp eq i32 %conv35, 10 + br i1 %cmp36, label %land.lhs.true38, label %if.end51 + +land.lhs.true38: ; preds = %if.then33 + %29 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call39 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %29) #18 + %tobool40 = icmp ne i64 %call39, 0 + br i1 %tobool40, label %if.then41, label %if.end51 + +if.then41: ; preds = %land.lhs.true38 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos42 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %30, i32 0, i32 5 + %31 = load i8*, i8** %__bufpos42, align 8 + %incdec.ptr43 = getelementptr inbounds i8, i8* %31, i32 -1 + store i8* %incdec.ptr43, i8** %__bufpos42, align 8 + br label %BAD + +if.else: ; preds = %if.end13 + %32 = load i32, i32* %c.addr, align 4 + %conv46 = trunc i32 %32 to i8 + store i8 %conv46, i8* %uc, align 1 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call47 = call i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %33, i8* %uc, i64 1) #18 + %tobool48 = icmp ne i64 %call47, 0 + br i1 %tobool48, label %if.end51, label %BAD + +if.end51: ; preds = %if.else, %if.end25, %land.lhs.true38, %if.then33 + %34 = load i32, i32* %c.addr, align 4 + %conv52 = trunc i32 %34 to i8 + %conv53 = zext i8 %conv52 to i32 + store i32 %conv53, i32* %retval, align 4 + br label %return + +BAD: ; preds = %lor.lhs.false, %if.else, %land.lhs.true, %if.then41 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %BAD, %if.end51, %if.then10, %if.then + %35 = load i32, i32* %retval, align 4 + ret i32 %35 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fputs_unlocked(i8* noalias %s, %struct.__STDIO_FILE_STRUCT.621* noalias %stream) #0 { +entry: + %s.addr = alloca i8*, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.621*, align 8 + %n = alloca i64, align 8 + store i8* %s, i8** %s.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.621* %stream, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %call = call i64 @strlen(i8* %0) #20 + store i64 %call, i64* %n, align 8 + %1 = load i8*, i8** %s.addr, align 8 + %2 = load i64, i64* %n, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %call1 = call i64 @fwrite_unlocked(i8* %1, i64 1, i64 %2, %struct.__STDIO_FILE_STRUCT.621* %3) #18 + %4 = load i64, i64* %n, align 8 + %cmp = icmp eq i64 %call1, %4 + %5 = load i64, i64* %n, align 8 + %cond = select i1 %cmp, i64 %5, i64 -1 + %conv = trunc i64 %cond to i32 + ret i32 %conv +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fseek(%struct.__STDIO_FILE_STRUCT.636* %stream, i64 %offset, i32 %whence) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %1 = load i64, i64* %offset.addr, align 8 + %2 = load i32, i32* %whence.addr, align 4 + %call = call i32 @fseeko64(%struct.__STDIO_FILE_STRUCT.636* %0, i64 %1, i32 %2) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @putchar_unlocked(i32 %c) #0 { +entry: + %c.addr = alloca i32, align 4 + %stream = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + store i32 %c, i32* %c.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdout, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %0, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %1, i32 0, i32 5 + %2 = load i8*, i8** %__bufpos, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 8 + %4 = load i8*, i8** %__bufputc_u, align 8 + %cmp = icmp ult i8* %2, %4 + %5 = load i32, i32* %c.addr, align 4 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %entry + %conv = trunc i32 %5 to i8 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 5 + %7 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %7, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + store i8 %conv, i8* %7, align 1 + %conv2 = zext i8 %conv to i32 + br label %cond.end + +cond.false: ; preds = %entry + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %call = call i32 @__fputc_unlocked(i32 %5, %struct.__STDIO_FILE_STRUCT.568* %8) #18 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ %conv2, %cond.true ], [ %call, %cond.false ] + ret i32 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i32 @vsnprintf(i8* noalias %buf, i64 %size, i8* noalias %format, %struct.__va_list_tag.0* %arg) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %format.addr = alloca i8*, align 8 + %arg.addr = alloca %struct.__va_list_tag.0*, align 8 + %f = alloca %struct.__STDIO_FILE_STRUCT.568, align 8 + %rv = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + store %struct.__va_list_tag.0* %arg, %struct.__va_list_tag.0** %arg.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 2 + store i32 -2, i32* %__filedes, align 4 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 0 + store i16 208, i16* %__modeflags, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 1 + %arrayidx = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 0 + store i8 0, i8* %arrayidx, align 2 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + store i32 0, i32* %__mask, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 9 + store %struct.__STDIO_FILE_STRUCT.568* null, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + %0 = load i64, i64* %size.addr, align 8 + %1 = load i8*, i8** %buf.addr, align 8 + %2 = ptrtoint i8* %1 to i64 + %sub = sub i64 -1, %2 + %cmp = icmp ugt i64 %0, %sub + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %3 = load i8*, i8** %buf.addr, align 8 + %4 = ptrtoint i8* %3 to i64 + %sub1 = sub i64 -1, %4 + store i64 %sub1, i64* %size.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %5 = load i8*, i8** %buf.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 3 + store i8* %5, i8** %__bufstart, align 8 + %6 = load i8*, i8** %buf.addr, align 8 + %7 = load i64, i64* %size.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %6, i64 %7 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 4 + store i8* %add.ptr, i8** %__bufend, align 8 + %__bufstart2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 3 + %8 = load i8*, i8** %__bufstart2, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + store i8* %8, i8** %__bufpos, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 6 + store i8* %8, i8** %__bufread, align 8 + %__bufstart3 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 3 + %9 = load i8*, i8** %__bufstart3, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 7 + store i8* %9, i8** %__bufgetc_u, align 8 + %__bufend4 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 4 + %10 = load i8*, i8** %__bufend4, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 8 + store i8* %10, i8** %__bufputc_u, align 8 + %11 = load i8*, i8** %format.addr, align 8 + %12 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %arg.addr, align 8 + %call = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %f, i8* %11, %struct.__va_list_tag.0* %12) #18 + store i32 %call, i32* %rv, align 4 + %13 = load i64, i64* %size.addr, align 8 + %tobool = icmp ne i64 %13, 0 + br i1 %tobool, label %if.then5, label %if.end13 + +if.then5: ; preds = %if.end + %__bufpos6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + %14 = load i8*, i8** %__bufpos6, align 8 + %__bufend7 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 4 + %15 = load i8*, i8** %__bufend7, align 8 + %cmp8 = icmp eq i8* %14, %15 + br i1 %cmp8, label %if.then9, label %if.end11 + +if.then9: ; preds = %if.then5 + %__bufpos10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + %16 = load i8*, i8** %__bufpos10, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %16, i32 -1 + store i8* %incdec.ptr, i8** %__bufpos10, align 8 + br label %if.end11 + +if.end11: ; preds = %if.then9, %if.then5 + %__bufpos12 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + %17 = load i8*, i8** %__bufpos12, align 8 + store i8 0, i8* %17, align 1 + br label %if.end13 + +if.end13: ; preds = %if.end11, %if.end + %18 = load i32, i32* %rv, align 4 + ret i32 %18 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @atexit(void ()* nonnull %func) #0 { +entry: + %func.addr = alloca void ()*, align 8 + store void ()* %func, void ()** %func.addr, align 8 + %0 = load void ()*, void ()** %func.addr, align 8 + %1 = bitcast void ()* %0 to void (i8*)* + br i1 icmp eq (i8** @__dso_handle, i8** null), label %cond.end, label %cond.false + +cond.false: ; preds = %entry + %2 = load i8*, i8** @__dso_handle, align 8 + br label %cond.end + +cond.end: ; preds = %entry, %cond.false + %cond = phi i8* [ %2, %cond.false ], [ null, %entry ] + %call = call i32 @__cxa_atexit(void (i8*)* %1, i8* null, i8* %cond) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i8* @getenv(i8* nonnull %var) #0 { +entry: + %retval = alloca i8*, align 8 + %var.addr = alloca i8*, align 8 + %len = alloca i32, align 4 + %ep = alloca i8**, align 8 + store i8* %var, i8** %var.addr, align 8 + %0 = load i8**, i8*** @__environ, align 8 + store i8** %0, i8*** %ep, align 8 + %tobool = icmp ne i8** %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %var.addr, align 8 + %call = call i64 @strlen(i8* %1) #20 + %conv = trunc i64 %call to i32 + store i32 %conv, i32* %len, align 4 + br label %while.cond + +while.cond: ; preds = %if.end10, %if.end + %2 = load i8**, i8*** %ep, align 8 + %3 = load i8*, i8** %2, align 8 + %tobool1 = icmp ne i8* %3, null + br i1 %tobool1, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i8*, i8** %var.addr, align 8 + %5 = load i8**, i8*** %ep, align 8 + %6 = load i8*, i8** %5, align 8 + %7 = load i32, i32* %len, align 4 + %conv2 = sext i32 %7 to i64 + %call3 = call i32 @memcmp(i8* %4, i8* %6, i64 %conv2) #20 + %cmp = icmp eq i32 %call3, 0 + br i1 %cmp, label %land.lhs.true, label %if.end10 + +land.lhs.true: ; preds = %while.body + %8 = load i8**, i8*** %ep, align 8 + %9 = load i8*, i8** %8, align 8 + %10 = load i32, i32* %len, align 4 + %idxprom = sext i32 %10 to i64 + %arrayidx = getelementptr inbounds i8, i8* %9, i64 %idxprom + %11 = load i8, i8* %arrayidx, align 1 + %conv5 = sext i8 %11 to i32 + %cmp6 = icmp eq i32 %conv5, 61 + br i1 %cmp6, label %if.then8, label %if.end10 + +if.then8: ; preds = %land.lhs.true + %12 = load i8**, i8*** %ep, align 8 + %13 = load i8*, i8** %12, align 8 + %14 = load i32, i32* %len, align 4 + %idx.ext = sext i32 %14 to i64 + %add.ptr = getelementptr inbounds i8, i8* %13, i64 %idx.ext + %add.ptr9 = getelementptr inbounds i8, i8* %add.ptr, i64 1 + store i8* %add.ptr9, i8** %retval, align 8 + br label %return + +if.end10: ; preds = %land.lhs.true, %while.body + %15 = load i8**, i8*** %ep, align 8 + %incdec.ptr = getelementptr inbounds i8*, i8** %15, i32 1 + store i8** %incdec.ptr, i8*** %ep, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then8, %if.then + %16 = load i8*, i8** %retval, align 8 + ret i8* %16 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @realpath(i8* %path, i8* nonnull %got_path) #0 { +entry: + %retval = alloca i8*, align 8 + %path.addr = alloca i8*, align 8 + %got_path.addr = alloca i8*, align 8 + %copy_path = alloca [4096 x i8], align 16 + %max_path = alloca i8*, align 8 + %new_path = alloca i8*, align 8 + %path_len = alloca i64, align 8 + %readlinks = alloca i32, align 4 + %link_len = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store i8* %got_path, i8** %got_path.addr, align 8 + store i32 0, i32* %readlinks, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %cmp = icmp eq i8* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 22, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %path.addr, align 8 + %2 = load i8, i8* %1, align 1 + %conv = sext i8 %2 to i32 + %cmp1 = icmp eq i32 %conv, 0 + br i1 %cmp1, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.end + store i32 2, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %if.end + %3 = load i8*, i8** %path.addr, align 8 + %call = call i64 @strlen(i8* %3) #20 + store i64 %call, i64* %path_len, align 8 + %4 = load i64, i64* %path_len, align 8 + %cmp5 = icmp uge i64 %4, 4094 + br i1 %cmp5, label %if.then7, label %if.end8 + +if.then7: ; preds = %if.end4 + store i32 36, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end8: ; preds = %if.end4 + %arraydecay = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 4095 + %5 = load i64, i64* %path_len, align 8 + %idx.neg = sub i64 0, %5 + %add.ptr9 = getelementptr inbounds i8, i8* %add.ptr, i64 %idx.neg + %6 = load i8*, i8** %path.addr, align 8 + %call10 = call i8* @strcpy(i8* %add.ptr9, i8* %6) #19 + %arraydecay11 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr12 = getelementptr inbounds i8, i8* %arraydecay11, i64 4095 + %7 = load i64, i64* %path_len, align 8 + %idx.neg13 = sub i64 0, %7 + %add.ptr14 = getelementptr inbounds i8, i8* %add.ptr12, i64 %idx.neg13 + store i8* %add.ptr14, i8** %path.addr, align 8 + %8 = load i8*, i8** %got_path.addr, align 8 + %add.ptr15 = getelementptr inbounds i8, i8* %8, i64 4096 + %add.ptr16 = getelementptr inbounds i8, i8* %add.ptr15, i64 -2 + store i8* %add.ptr16, i8** %max_path, align 8 + %9 = load i8*, i8** %got_path.addr, align 8 + store i8* %9, i8** %new_path, align 8 + %10 = load i8*, i8** %path.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv17 = sext i8 %11 to i32 + %cmp18 = icmp ne i32 %conv17, 47 + %12 = load i8*, i8** %new_path, align 8 + br i1 %cmp18, label %if.then20, label %if.else + +if.then20: ; preds = %if.end8 + %call21 = call i8* @getcwd(i8* %12, i64 4095) #19 + %tobool = icmp ne i8* %call21, null + br i1 %tobool, label %if.end23, label %if.then22 + +if.then22: ; preds = %if.then20 + store i8* null, i8** %retval, align 8 + br label %return + +if.end23: ; preds = %if.then20 + %13 = load i8*, i8** %new_path, align 8 + %call24 = call i64 @strlen(i8* %13) #20 + %14 = load i8*, i8** %new_path, align 8 + %add.ptr25 = getelementptr inbounds i8, i8* %14, i64 %call24 + store i8* %add.ptr25, i8** %new_path, align 8 + %15 = load i8*, i8** %new_path, align 8 + %arrayidx = getelementptr inbounds i8, i8* %15, i64 -1 + %16 = load i8, i8* %arrayidx, align 1 + %conv26 = sext i8 %16 to i32 + %cmp27 = icmp ne i32 %conv26, 47 + br i1 %cmp27, label %if.then29, label %if.end33 + +if.then29: ; preds = %if.end23 + %17 = load i8*, i8** %new_path, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %17, i32 1 + store i8* %incdec.ptr, i8** %new_path, align 8 + store i8 47, i8* %17, align 1 + br label %if.end33 + +if.else: ; preds = %if.end8 + %incdec.ptr31 = getelementptr inbounds i8, i8* %12, i32 1 + store i8* %incdec.ptr31, i8** %new_path, align 8 + store i8 47, i8* %12, align 1 + %18 = load i8*, i8** %path.addr, align 8 + %incdec.ptr32 = getelementptr inbounds i8, i8* %18, i32 1 + store i8* %incdec.ptr32, i8** %path.addr, align 8 + br label %if.end33 + +if.end33: ; preds = %if.end23, %if.then29, %if.else + br label %while.cond + +while.cond: ; preds = %while.cond79, %if.then72, %if.end155, %if.then55, %if.then40, %if.end33 + %19 = load i8*, i8** %path.addr, align 8 + %20 = load i8, i8* %19, align 1 + %conv34 = sext i8 %20 to i32 + %cmp35 = icmp ne i32 %conv34, 0 + br i1 %cmp35, label %while.body, label %while.end157 + +while.body: ; preds = %while.cond + %21 = load i8*, i8** %path.addr, align 8 + %22 = load i8, i8* %21, align 1 + %conv37 = sext i8 %22 to i32 + %cmp38 = icmp eq i32 %conv37, 47 + %23 = load i8*, i8** %path.addr, align 8 + br i1 %cmp38, label %if.then40, label %if.end42 + +if.then40: ; preds = %while.body + %incdec.ptr41 = getelementptr inbounds i8, i8* %23, i32 1 + store i8* %incdec.ptr41, i8** %path.addr, align 8 + br label %while.cond + +if.end42: ; preds = %while.body + %24 = load i8, i8* %23, align 1 + %conv43 = sext i8 %24 to i32 + %cmp44 = icmp eq i32 %conv43, 46 + br i1 %cmp44, label %if.then46, label %if.end88 + +if.then46: ; preds = %if.end42 + %25 = load i8*, i8** %path.addr, align 8 + %arrayidx47 = getelementptr inbounds i8, i8* %25, i64 1 + %26 = load i8, i8* %arrayidx47, align 1 + %conv48 = sext i8 %26 to i32 + %cmp49 = icmp eq i32 %conv48, 0 + br i1 %cmp49, label %if.then55, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then46 + %27 = load i8*, i8** %path.addr, align 8 + %arrayidx51 = getelementptr inbounds i8, i8* %27, i64 1 + %28 = load i8, i8* %arrayidx51, align 1 + %conv52 = sext i8 %28 to i32 + %cmp53 = icmp eq i32 %conv52, 47 + br i1 %cmp53, label %if.then55, label %if.end57 + +if.then55: ; preds = %lor.lhs.false, %if.then46 + %29 = load i8*, i8** %path.addr, align 8 + %incdec.ptr56 = getelementptr inbounds i8, i8* %29, i32 1 + store i8* %incdec.ptr56, i8** %path.addr, align 8 + br label %while.cond + +if.end57: ; preds = %lor.lhs.false + %30 = load i8*, i8** %path.addr, align 8 + %arrayidx58 = getelementptr inbounds i8, i8* %30, i64 1 + %31 = load i8, i8* %arrayidx58, align 1 + %conv59 = sext i8 %31 to i32 + %cmp60 = icmp eq i32 %conv59, 46 + br i1 %cmp60, label %if.then62, label %if.end88 + +if.then62: ; preds = %if.end57 + %32 = load i8*, i8** %path.addr, align 8 + %arrayidx63 = getelementptr inbounds i8, i8* %32, i64 2 + %33 = load i8, i8* %arrayidx63, align 1 + %conv64 = sext i8 %33 to i32 + %cmp65 = icmp eq i32 %conv64, 0 + br i1 %cmp65, label %if.then72, label %lor.lhs.false67 + +lor.lhs.false67: ; preds = %if.then62 + %34 = load i8*, i8** %path.addr, align 8 + %arrayidx68 = getelementptr inbounds i8, i8* %34, i64 2 + %35 = load i8, i8* %arrayidx68, align 1 + %conv69 = sext i8 %35 to i32 + %cmp70 = icmp eq i32 %conv69, 47 + br i1 %cmp70, label %if.then72, label %if.end88 + +if.then72: ; preds = %lor.lhs.false67, %if.then62 + %36 = load i8*, i8** %path.addr, align 8 + %add.ptr73 = getelementptr inbounds i8, i8* %36, i64 2 + store i8* %add.ptr73, i8** %path.addr, align 8 + %37 = load i8*, i8** %new_path, align 8 + %38 = load i8*, i8** %got_path.addr, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %38, i64 1 + %cmp75 = icmp eq i8* %37, %add.ptr74 + br i1 %cmp75, label %while.cond, label %while.cond79 + +while.cond79: ; preds = %while.cond79, %if.then72 + %39 = load i8*, i8** %new_path, align 8 + %incdec.ptr80 = getelementptr inbounds i8, i8* %39, i32 -1 + store i8* %incdec.ptr80, i8** %new_path, align 8 + %arrayidx81 = getelementptr inbounds i8, i8* %incdec.ptr80, i64 -1 + %40 = load i8, i8* %arrayidx81, align 1 + %conv82 = sext i8 %40 to i32 + %cmp83 = icmp ne i32 %conv82, 47 + br i1 %cmp83, label %while.cond79, label %while.cond + +if.end88: ; preds = %if.end57, %lor.lhs.false67, %if.end42 + br label %while.cond89 + +while.cond89: ; preds = %if.end100, %if.end88 + %41 = load i8*, i8** %path.addr, align 8 + %42 = load i8, i8* %41, align 1 + %conv90 = sext i8 %42 to i32 + %cmp91 = icmp ne i32 %conv90, 0 + br i1 %cmp91, label %land.rhs, label %while.end103 + +land.rhs: ; preds = %while.cond89 + %43 = load i8*, i8** %path.addr, align 8 + %44 = load i8, i8* %43, align 1 + %conv93 = sext i8 %44 to i32 + %cmp94 = icmp ne i32 %conv93, 47 + br i1 %cmp94, label %while.body96, label %while.end103 + +while.body96: ; preds = %land.rhs + %45 = load i8*, i8** %new_path, align 8 + %46 = load i8*, i8** %max_path, align 8 + %cmp97 = icmp ugt i8* %45, %46 + br i1 %cmp97, label %if.then99, label %if.end100 + +if.then99: ; preds = %while.body96 + store i32 36, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end100: ; preds = %while.body96 + %47 = load i8*, i8** %path.addr, align 8 + %incdec.ptr101 = getelementptr inbounds i8, i8* %47, i32 1 + store i8* %incdec.ptr101, i8** %path.addr, align 8 + %48 = load i8, i8* %47, align 1 + %49 = load i8*, i8** %new_path, align 8 + %incdec.ptr102 = getelementptr inbounds i8, i8* %49, i32 1 + store i8* %incdec.ptr102, i8** %new_path, align 8 + store i8 %48, i8* %49, align 1 + br label %while.cond89 + +while.end103: ; preds = %while.cond89, %land.rhs + %50 = load i32, i32* %readlinks, align 4 + %inc = add nsw i32 %50, 1 + store i32 %inc, i32* %readlinks, align 4 + %cmp104 = icmp sgt i32 %50, 32 + br i1 %cmp104, label %if.then106, label %if.end107 + +if.then106: ; preds = %while.end103 + store i32 40, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end107: ; preds = %while.end103 + %51 = load i8*, i8** %path.addr, align 8 + %call108 = call i64 @strlen(i8* %51) #20 + store i64 %call108, i64* %path_len, align 8 + %52 = load i8*, i8** %new_path, align 8 + store i8 0, i8* %52, align 1 + %53 = load i8*, i8** %got_path.addr, align 8 + %arraydecay109 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %call110 = call i64 @readlink(i8* %53, i8* %arraydecay109, i64 4095) #19 + %conv111 = trunc i64 %call110 to i32 + store i32 %conv111, i32* %link_len, align 4 + %54 = load i32, i32* %link_len, align 4 + %cmp112 = icmp slt i32 %54, 0 + br i1 %cmp112, label %if.then114, label %if.else119 + +if.then114: ; preds = %if.end107 + %55 = load i32, i32* @errno, align 4 + %cmp115 = icmp ne i32 %55, 22 + br i1 %cmp115, label %if.then117, label %if.end155 + +if.then117: ; preds = %if.then114 + store i8* null, i8** %retval, align 8 + br label %return + +if.else119: ; preds = %if.end107 + %56 = load i64, i64* %path_len, align 8 + %57 = load i32, i32* %link_len, align 4 + %conv120 = sext i32 %57 to i64 + %add = add i64 %56, %conv120 + %cmp121 = icmp uge i64 %add, 4094 + br i1 %cmp121, label %if.then123, label %if.end124 + +if.then123: ; preds = %if.else119 + store i32 36, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end124: ; preds = %if.else119 + %arraydecay125 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %58 = load i8, i8* %arraydecay125, align 16 + %conv126 = sext i8 %58 to i32 + %cmp127 = icmp eq i32 %conv126, 47 + br i1 %cmp127, label %if.then129, label %while.cond131 + +if.then129: ; preds = %if.end124 + %59 = load i8*, i8** %got_path.addr, align 8 + store i8* %59, i8** %new_path, align 8 + br label %if.end138 + +while.cond131: ; preds = %while.cond131, %if.end124 + %60 = load i8*, i8** %new_path, align 8 + %incdec.ptr132 = getelementptr inbounds i8, i8* %60, i32 -1 + store i8* %incdec.ptr132, i8** %new_path, align 8 + %61 = load i8, i8* %incdec.ptr132, align 1 + %conv133 = sext i8 %61 to i32 + %cmp134 = icmp ne i32 %conv133, 47 + br i1 %cmp134, label %while.cond131, label %if.end138 + +if.end138: ; preds = %while.cond131, %if.then129 + %arraydecay139 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr140 = getelementptr inbounds i8, i8* %arraydecay139, i64 4095 + %62 = load i32, i32* %link_len, align 4 + %idx.ext = sext i32 %62 to i64 + %idx.neg141 = sub i64 0, %idx.ext + %add.ptr142 = getelementptr inbounds i8, i8* %add.ptr140, i64 %idx.neg141 + %63 = load i64, i64* %path_len, align 8 + %idx.neg143 = sub i64 0, %63 + %add.ptr144 = getelementptr inbounds i8, i8* %add.ptr142, i64 %idx.neg143 + %arraydecay145 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %64 = load i32, i32* %link_len, align 4 + %conv146 = sext i32 %64 to i64 + %call147 = call i8* @memmove(i8* %add.ptr144, i8* %arraydecay145, i64 %conv146) #19 + %arraydecay148 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr149 = getelementptr inbounds i8, i8* %arraydecay148, i64 4095 + %65 = load i32, i32* %link_len, align 4 + %idx.ext150 = sext i32 %65 to i64 + %idx.neg151 = sub i64 0, %idx.ext150 + %add.ptr152 = getelementptr inbounds i8, i8* %add.ptr149, i64 %idx.neg151 + %66 = load i64, i64* %path_len, align 8 + %idx.neg153 = sub i64 0, %66 + %add.ptr154 = getelementptr inbounds i8, i8* %add.ptr152, i64 %idx.neg153 + store i8* %add.ptr154, i8** %path.addr, align 8 + br label %if.end155 + +if.end155: ; preds = %if.then114, %if.end138 + %67 = load i8*, i8** %new_path, align 8 + %incdec.ptr156 = getelementptr inbounds i8, i8* %67, i32 1 + store i8* %incdec.ptr156, i8** %new_path, align 8 + store i8 47, i8* %67, align 1 + br label %while.cond + +while.end157: ; preds = %while.cond + %68 = load i8*, i8** %new_path, align 8 + %69 = load i8*, i8** %got_path.addr, align 8 + %add.ptr158 = getelementptr inbounds i8, i8* %69, i64 1 + %cmp159 = icmp ne i8* %68, %add.ptr158 + br i1 %cmp159, label %land.lhs.true, label %if.end167 + +land.lhs.true: ; preds = %while.end157 + %70 = load i8*, i8** %new_path, align 8 + %arrayidx161 = getelementptr inbounds i8, i8* %70, i64 -1 + %71 = load i8, i8* %arrayidx161, align 1 + %conv162 = sext i8 %71 to i32 + %cmp163 = icmp eq i32 %conv162, 47 + br i1 %cmp163, label %if.then165, label %if.end167 + +if.then165: ; preds = %land.lhs.true + %72 = load i8*, i8** %new_path, align 8 + %incdec.ptr166 = getelementptr inbounds i8, i8* %72, i32 -1 + store i8* %incdec.ptr166, i8** %new_path, align 8 + br label %if.end167 + +if.end167: ; preds = %if.then165, %land.lhs.true, %while.end157 + %73 = load i8*, i8** %new_path, align 8 + store i8 0, i8* %73, align 1 + %74 = load i8*, i8** %got_path.addr, align 8 + store i8* %74, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end167, %if.then123, %if.then117, %if.then106, %if.then99, %if.then22, %if.then7, %if.then3, %if.then + %75 = load i8*, i8** %retval, align 8 + ret i8* %75 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @memcmp(i8* nonnull %s1, i8* nonnull %s2, i64 %n) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r1 = alloca i8*, align 8 + %r2 = alloca i8*, align 8 + %r = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %r1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %r2, align 8 + store i32 0, i32* %r, align 4 + br label %while.cond + +while.cond: ; preds = %land.rhs, %entry + %2 = load i64, i64* %n.addr, align 8 + %dec = add i64 %2, -1 + store i64 %dec, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %3 = load i8*, i8** %r1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %r1, align 8 + %4 = load i8, i8* %3, align 1 + %conv = zext i8 %4 to i32 + %5 = load i8*, i8** %r2, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr1, i8** %r2, align 8 + %6 = load i8, i8* %5, align 1 + %conv2 = zext i8 %6 to i32 + %sub = sub nsw i32 %conv, %conv2 + store i32 %sub, i32* %r, align 4 + %cmp = icmp eq i32 %sub, 0 + br i1 %cmp, label %while.cond, label %while.end + +while.end: ; preds = %while.cond, %land.rhs + %7 = load i32, i32* %r, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @tcgetattr(i32 %fd, %struct.termios* %termios_p) #0 { +entry: + %fd.addr = alloca i32, align 4 + %termios_p.addr = alloca %struct.termios*, align 8 + %k_termios = alloca %struct.__kernel_termios, align 4 + %retval1 = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.termios* %termios_p, %struct.termios** %termios_p.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 (i32, i64, ...) @ioctl(i32 %0, i64 21505, %struct.__kernel_termios* %k_termios) #19 + store i32 %call, i32* %retval1, align 4 + %c_iflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 0 + %1 = load i32, i32* %c_iflag, align 4 + %2 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_iflag2 = getelementptr inbounds %struct.termios, %struct.termios* %2, i32 0, i32 0 + store i32 %1, i32* %c_iflag2, align 4 + %c_oflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 1 + %3 = load i32, i32* %c_oflag, align 4 + %4 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_oflag3 = getelementptr inbounds %struct.termios, %struct.termios* %4, i32 0, i32 1 + store i32 %3, i32* %c_oflag3, align 4 + %c_cflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 2 + %5 = load i32, i32* %c_cflag, align 4 + %6 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_cflag4 = getelementptr inbounds %struct.termios, %struct.termios* %6, i32 0, i32 2 + store i32 %5, i32* %c_cflag4, align 4 + %c_lflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 3 + %7 = load i32, i32* %c_lflag, align 4 + %8 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_lflag5 = getelementptr inbounds %struct.termios, %struct.termios* %8, i32 0, i32 3 + store i32 %7, i32* %c_lflag5, align 4 + %c_line = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 4 + %9 = load i8, i8* %c_line, align 4 + %10 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_line6 = getelementptr inbounds %struct.termios, %struct.termios* %10, i32 0, i32 4 + store i8 %9, i8* %c_line6, align 4 + %11 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_cc = getelementptr inbounds %struct.termios, %struct.termios* %11, i32 0, i32 5 + %arrayidx = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc, i64 0, i64 0 + %c_cc7 = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 5 + %arrayidx8 = getelementptr inbounds [19 x i8], [19 x i8]* %c_cc7, i64 0, i64 0 + %call9 = call i8* @mempcpy(i8* %arrayidx, i8* %arrayidx8, i64 19) #19 + %call10 = call i8* @memset(i8* %call9, i32 0, i64 13) #19 + %12 = load i32, i32* %retval1, align 4 + ret i32 %12 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.__uclibc_locale_struct.201* @newlocale(i32 %category_mask, i8* %locale, %struct.__uclibc_locale_struct.201* %base) #0 { +entry: + %retval = alloca %struct.__uclibc_locale_struct.201*, align 8 + %category_mask.addr = alloca i32, align 4 + %locale.addr = alloca i8*, align 8 + %base.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %p = alloca i8*, align 8 + %i = alloca i32, align 4 + %j = alloca i32, align 4 + %k = alloca i32, align 4 + %new_selector = alloca [14 x i8], align 1 + store i32 %category_mask, i32* %category_mask.addr, align 4 + store i8* %locale, i8** %locale.addr, align 8 + store %struct.__uclibc_locale_struct.201* %base, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %0 = load i32, i32* %category_mask.addr, align 4 + %cmp = icmp eq i32 %0, 64 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 8127, i32* %category_mask.addr, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i8*, i8** %locale.addr, align 8 + %tobool = icmp eq i8* %1, null + %2 = load i32, i32* %category_mask.addr, align 4 + %cmp1 = icmp ugt i32 %2, 8127 + %or.cond = or i1 %tobool, %cmp1 + br i1 %or.cond, label %INVALID, label %if.end3 + +INVALID: ; preds = %if.else, %do.end, %if.end + store i32 22, i32* @errno, align 4 + store %struct.__uclibc_locale_struct.201* null, %struct.__uclibc_locale_struct.201** %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %3 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tobool4 = icmp ne %struct.__uclibc_locale_struct.201* %3, null + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %4, i32 0, i32 6 + %arraydecay5 = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + %cond = select i1 %tobool4, i8* %arraydecay5, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.297, i64 0, i64 0) + %call = call i8* @strcpy(i8* %arraydecay, i8* %cond) #19 + %5 = load i8*, i8** %locale.addr, align 8 + %6 = load i8, i8* %5, align 1 + %tobool6 = icmp ne i8 %6, 0 + br i1 %tobool6, label %if.else, label %if.then7 + +if.then7: ; preds = %if.end3 + store i32 1, i32* %i, align 4 + store i32 0, i32* %k, align 4 + br label %do.body + +do.body: ; preds = %if.end25, %if.then7 + %7 = load i32, i32* %category_mask.addr, align 4 + %8 = load i32, i32* %i, align 4 + %and = and i32 %7, %8 + %tobool8 = icmp ne i32 %and, 0 + br i1 %tobool8, label %if.then9, label %if.end25 + +if.then9: ; preds = %do.body + %9 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %9, i32 0, i32 34 + %arraydecay10 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names, i64 0, i64 0 + %10 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names11 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %10, i32 0, i32 34 + %11 = load i32, i32* %k, align 4 + %idxprom = sext i32 %11 to i64 + %arrayidx = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names11, i64 0, i64 %idxprom + %12 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %12 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay10, i64 %idx.ext + store i8* %add.ptr, i8** getelementptr inbounds ([4 x i8*], [4 x i8*]* @newlocale.envstr, i64 0, i64 1), align 8 + store i32 0, i32* %j, align 4 + br label %do.body12 + +do.body12: ; preds = %land.rhs, %lor.rhs, %if.then9 + %13 = load i32, i32* %j, align 4 + %idxprom13 = sext i32 %13 to i64 + %arrayidx14 = getelementptr inbounds [4 x i8*], [4 x i8*]* @newlocale.envstr, i64 0, i64 %idxprom13 + %14 = load i8*, i8** %arrayidx14, align 8 + store i8* %14, i8** %p, align 8 + %15 = load i32, i32* %j, align 4 + %inc = add nsw i32 %15, 1 + store i32 %inc, i32* %j, align 4 + %cmp15 = icmp slt i32 %inc, 4 + br i1 %cmp15, label %land.rhs, label %do.end + +land.rhs: ; preds = %do.body12 + %16 = load i8*, i8** %p, align 8 + %call17 = call i8* @getenv(i8* %16) #19 + store i8* %call17, i8** %p, align 8 + %tobool18 = icmp ne i8* %call17, null + br i1 %tobool18, label %lor.rhs, label %do.body12 + +lor.rhs: ; preds = %land.rhs + %17 = load i8*, i8** %p, align 8 + %18 = load i8, i8* %17, align 1 + %tobool19 = icmp ne i8 %18, 0 + %lnot = xor i1 %tobool19, true + br i1 %lnot, label %do.body12, label %do.end + +do.end: ; preds = %do.body12, %lor.rhs + %19 = load i32, i32* %i, align 4 + %20 = load i8*, i8** %p, align 8 + %arraydecay20 = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %call21 = call i32 @find_locale(i32 %19, i8* %20, i8* %arraydecay20) #18 + %tobool22 = icmp ne i32 %call21, 0 + br i1 %tobool22, label %if.end25, label %INVALID + +if.end25: ; preds = %do.end, %do.body + %21 = load i32, i32* %i, align 4 + %22 = load i32, i32* %i, align 4 + %add = add nsw i32 %22, %21 + store i32 %add, i32* %i, align 4 + %23 = load i32, i32* %k, align 4 + %inc27 = add nsw i32 %23, 1 + store i32 %inc27, i32* %k, align 4 + %cmp28 = icmp slt i32 %inc27, 6 + br i1 %cmp28, label %do.body, label %if.end36 + +if.else: ; preds = %if.end3 + %24 = load i32, i32* %category_mask.addr, align 4 + %25 = load i8*, i8** %locale.addr, align 8 + %arraydecay31 = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %call32 = call i8* @composite_locale(i32 %24, i8* %25, i8* %arraydecay31) #18 + %tobool33 = icmp ne i8* %call32, null + br i1 %tobool33, label %if.end36, label %INVALID + +if.end36: ; preds = %if.else, %if.end25 + %26 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tobool37 = icmp ne %struct.__uclibc_locale_struct.201* %26, null + br i1 %tobool37, label %if.end44, label %if.then38 + +if.then38: ; preds = %if.end36 + %call39 = call noalias i8* @calloc(i64 1, i64 3320) #19 + %27 = bitcast i8* %call39 to %struct.__uclibc_locale_struct.201* + store %struct.__uclibc_locale_struct.201* %27, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cmp40 = icmp eq %struct.__uclibc_locale_struct.201* %27, null + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + br i1 %cmp40, label %if.then42, label %if.end43 + +if.then42: ; preds = %if.then38 + store %struct.__uclibc_locale_struct.201* %28, %struct.__uclibc_locale_struct.201** %retval, align 8 + br label %return + +if.end43: ; preds = %if.then38 + call void @_locale_init_l(%struct.__uclibc_locale_struct.201* %28) #18 + br label %if.end44 + +if.end44: ; preds = %if.end43, %if.end36 + %arraydecay45 = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %29 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call46 = call i32 @_locale_set_l(i8* %arraydecay45, %struct.__uclibc_locale_struct.201* %29) #18 + %30 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + store %struct.__uclibc_locale_struct.201* %30, %struct.__uclibc_locale_struct.201** %retval, align 8 + br label %return + +return: ; preds = %if.end44, %if.then42, %INVALID + %31 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %retval, align 8 + ret %struct.__uclibc_locale_struct.201* %31 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @find_locale(i32 %category_mask, i8* %p, i8* %new_locale) #0 { +entry: + %retval = alloca i32, align 4 + %category_mask.addr = alloca i32, align 4 + %p.addr = alloca i8*, align 8 + %new_locale.addr = alloca i8*, align 8 + %i = alloca i32, align 4 + %s = alloca i8*, align 8 + %n = alloca i16, align 2 + %lang_cult = alloca i8, align 1 + %codeset = alloca i8, align 1 + %buf = alloca [18 x i8], align 16 + %q = alloca i8*, align 8 + store i32 %category_mask, i32* %category_mask.addr, align 4 + store i8* %p, i8** %p.addr, align 8 + store i8* %new_locale, i8** %new_locale.addr, align 8 + %0 = load i8*, i8** %p.addr, align 8 + %call = call i8* @strchr(i8* %0, i32 64) #20 + store i8* %call, i8** %q, align 8 + %cmp = icmp ne i8* %call, null + br i1 %cmp, label %if.then, label %if.end27 + +if.then: ; preds = %entry + %1 = load i8*, i8** %q, align 8 + %2 = load i8*, i8** %p.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %1 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %2 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %sub = sub nsw i64 %sub.ptr.sub, 5 + %cmp1 = icmp ugt i64 %sub, 13 + br i1 %cmp1, label %if.then4, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then + %3 = load i8*, i8** %p.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %3, i64 2 + %4 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %4 to i32 + %cmp2 = icmp ne i32 %conv, 95 + br i1 %cmp2, label %if.then4, label %if.end + +if.then4: ; preds = %lor.lhs.false, %if.then + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %lor.lhs.false + %5 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_at_modifiers = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %5, i32 0, i32 33 + %arraydecay = getelementptr inbounds [18 x i8], [18 x i8]* %locale_at_modifiers, i64 0, i64 0 + store i8* %arraydecay, i8** %s, align 8 + br label %do.body + +do.body: ; preds = %if.end8, %if.end + %6 = load i8*, i8** %s, align 8 + %add.ptr = getelementptr inbounds i8, i8* %6, i64 2 + %7 = load i8*, i8** %q, align 8 + %add.ptr5 = getelementptr inbounds i8, i8* %7, i64 1 + %call6 = call i32 @strcmp(i8* %add.ptr, i8* %add.ptr5) #20 + %tobool = icmp ne i32 %call6, 0 + br i1 %tobool, label %if.end8, label %do.end + +if.end8: ; preds = %do.body + %8 = load i8*, i8** %s, align 8 + %9 = load i8, i8* %8, align 1 + %conv9 = zext i8 %9 to i32 + %add = add nsw i32 2, %conv9 + %10 = load i8*, i8** %s, align 8 + %idx.ext = sext i32 %add to i64 + %add.ptr10 = getelementptr inbounds i8, i8* %10, i64 %idx.ext + store i8* %add.ptr10, i8** %s, align 8 + %11 = load i8*, i8** %s, align 8 + %12 = load i8, i8* %11, align 1 + %tobool11 = icmp ne i8 %12, 0 + br i1 %tobool11, label %do.body, label %do.end + +do.end: ; preds = %do.body, %if.end8 + %13 = load i8*, i8** %s, align 8 + %14 = load i8, i8* %13, align 1 + %tobool12 = icmp ne i8 %14, 0 + br i1 %tobool12, label %if.end14, label %if.then13 + +if.then13: ; preds = %do.end + store i32 0, i32* %retval, align 4 + br label %return + +if.end14: ; preds = %do.end + %arraydecay15 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 0 + %15 = load i8*, i8** %p.addr, align 8 + %16 = load i8*, i8** %q, align 8 + %17 = load i8*, i8** %p.addr, align 8 + %sub.ptr.lhs.cast16 = ptrtoint i8* %16 to i64 + %sub.ptr.rhs.cast17 = ptrtoint i8* %17 to i64 + %sub.ptr.sub18 = sub i64 %sub.ptr.lhs.cast16, %sub.ptr.rhs.cast17 + %call19 = call i8* @memcpy(i8* %arraydecay15, i8* %15, i64 %sub.ptr.sub18) #19 + %18 = load i8*, i8** %q, align 8 + %19 = load i8*, i8** %p.addr, align 8 + %sub.ptr.lhs.cast20 = ptrtoint i8* %18 to i64 + %sub.ptr.rhs.cast21 = ptrtoint i8* %19 to i64 + %sub.ptr.sub22 = sub i64 %sub.ptr.lhs.cast20, %sub.ptr.rhs.cast21 + %arrayidx23 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 %sub.ptr.sub22 + store i8 0, i8* %arrayidx23, align 1 + %20 = load i8*, i8** %s, align 8 + %arrayidx24 = getelementptr inbounds i8, i8* %20, i64 1 + %21 = load i8, i8* %arrayidx24, align 1 + %arrayidx25 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 2 + store i8 %21, i8* %arrayidx25, align 2 + %arraydecay26 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay26, i8** %p.addr, align 8 + br label %if.end27 + +if.end27: ; preds = %if.end14, %entry + store i8 0, i8* %codeset, align 1 + store i8 0, i8* %lang_cult, align 1 + %22 = load i8*, i8** %p.addr, align 8 + %23 = load i8, i8* %22, align 1 + %conv28 = sext i8 %23 to i32 + %cmp29 = icmp eq i32 %conv28, 67 + br i1 %cmp29, label %land.lhs.true, label %lor.lhs.false33 + +land.lhs.true: ; preds = %if.end27 + %24 = load i8*, i8** %p.addr, align 8 + %arrayidx31 = getelementptr inbounds i8, i8* %24, i64 1 + %25 = load i8, i8* %arrayidx31, align 1 + %tobool32 = icmp ne i8 %25, 0 + br i1 %tobool32, label %lor.lhs.false33, label %FIND_LOCALE + +lor.lhs.false33: ; preds = %land.lhs.true, %if.end27 + %26 = load i8*, i8** %p.addr, align 8 + %call34 = call i32 @strcmp(i8* %26, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @posix, i64 0, i64 0)) #20 + %tobool35 = icmp ne i32 %call34, 0 + br i1 %tobool35, label %if.end37, label %FIND_LOCALE + +if.end37: ; preds = %lor.lhs.false33 + %27 = load i8*, i8** %p.addr, align 8 + %call38 = call i64 @strlen(i8* %27) #20 + %cmp39 = icmp ugt i64 %call38, 5 + br i1 %cmp39, label %land.lhs.true41, label %FIND_LANG_CULT + +land.lhs.true41: ; preds = %if.end37 + %28 = load i8*, i8** %p.addr, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %28, i64 5 + %29 = load i8, i8* %arrayidx42, align 1 + %conv43 = sext i8 %29 to i32 + %cmp44 = icmp eq i32 %conv43, 46 + br i1 %cmp44, label %if.then46, label %FIND_LANG_CULT + +if.then46: ; preds = %land.lhs.true41 + store i8 2, i8* %codeset, align 1 + %30 = load i8*, i8** %p.addr, align 8 + %add.ptr47 = getelementptr inbounds i8, i8* %30, i64 6 + %call48 = call i32 @strcmp(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf8.300, i64 0, i64 0), i8* %add.ptr47) #20 + %cmp49 = icmp ne i32 %call48, 0 + br i1 %cmp49, label %if.then51, label %FIND_LANG_CULT + +if.then51: ; preds = %if.then46 + %31 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %31, i32 0, i32 35 + %arraydecay52 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list, i64 0, i64 0 + store i8* %arraydecay52, i8** %s, align 8 + br label %do.body53 + +do.body53: ; preds = %do.cond64, %if.then51 + %32 = load i8, i8* %codeset, align 1 + %inc = add i8 %32, 1 + store i8 %inc, i8* %codeset, align 1 + %33 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list54 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %33, i32 0, i32 35 + %arraydecay55 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list54, i64 0, i64 0 + %34 = load i8*, i8** %s, align 8 + %35 = load i8, i8* %34, align 1 + %conv56 = zext i8 %35 to i32 + %idx.ext57 = sext i32 %conv56 to i64 + %add.ptr58 = getelementptr inbounds i8, i8* %arraydecay55, i64 %idx.ext57 + %36 = load i8*, i8** %p.addr, align 8 + %add.ptr59 = getelementptr inbounds i8, i8* %36, i64 6 + %call60 = call i32 @strcmp(i8* %add.ptr58, i8* %add.ptr59) #20 + %tobool61 = icmp ne i32 %call60, 0 + br i1 %tobool61, label %do.cond64, label %FIND_LANG_CULT + +do.cond64: ; preds = %do.body53 + %37 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %37, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %38 = load i8, i8* %incdec.ptr, align 1 + %tobool65 = icmp ne i8 %38, 0 + br i1 %tobool65, label %do.body53, label %do.end66 + +do.end66: ; preds = %do.cond64 + store i32 0, i32* %retval, align 4 + br label %return + +FIND_LANG_CULT: ; preds = %if.end37, %land.lhs.true41, %if.then46, %do.body53 + %39 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_names5 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %39, i32 0, i32 32 + %arraydecay69 = getelementptr inbounds [835 x i8], [835 x i8]* %locale_names5, i64 0, i64 0 + store i8* %arraydecay69, i8** %s, align 8 + br label %do.body70 + +do.body70: ; preds = %if.end75, %FIND_LANG_CULT + %40 = load i8, i8* %lang_cult, align 1 + %inc71 = add i8 %40, 1 + store i8 %inc71, i8* %lang_cult, align 1 + %41 = load i8*, i8** %s, align 8 + %42 = load i8*, i8** %p.addr, align 8 + %call72 = call i32 @strncmp(i8* %41, i8* %42, i64 5) #20 + %tobool73 = icmp ne i32 %call72, 0 + br i1 %tobool73, label %if.end75, label %FIND_LOCALE + +if.end75: ; preds = %do.body70 + %43 = load i8*, i8** %s, align 8 + %add.ptr76 = getelementptr inbounds i8, i8* %43, i64 5 + store i8* %add.ptr76, i8** %s, align 8 + %44 = load i8, i8* %lang_cult, align 1 + %conv78 = zext i8 %44 to i32 + %cmp79 = icmp slt i32 %conv78, 167 + br i1 %cmp79, label %do.body70, label %do.end81 + +do.end81: ; preds = %if.end75 + store i32 0, i32* %retval, align 4 + br label %return + +FIND_LOCALE: ; preds = %do.body70, %land.lhs.true, %lor.lhs.false33 + %45 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %45, i32 0, i32 31 + %arraydecay82 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales, i64 0, i64 0 + store i8* %arraydecay82, i8** %s, align 8 + store i16 0, i16* %n, align 2 + br label %do.body83 + +do.body83: ; preds = %if.end120, %FIND_LOCALE + %46 = load i8, i8* %lang_cult, align 1 + %conv84 = zext i8 %46 to i32 + %47 = load i8*, i8** %s, align 8 + %48 = load i8, i8* %47, align 1 + %conv85 = zext i8 %48 to i32 + %cmp86 = icmp eq i32 %conv84, %conv85 + br i1 %cmp86, label %land.lhs.true88, label %if.end120 + +land.lhs.true88: ; preds = %do.body83 + %49 = load i8, i8* %codeset, align 1 + %conv89 = zext i8 %49 to i32 + %50 = load i8*, i8** %s, align 8 + %arrayidx90 = getelementptr inbounds i8, i8* %50, i64 1 + %51 = load i8, i8* %arrayidx90, align 1 + %conv91 = zext i8 %51 to i32 + %cmp92 = icmp eq i32 %conv89, %conv91 + br i1 %cmp92, label %if.then100, label %lor.lhs.false94 + +lor.lhs.false94: ; preds = %land.lhs.true88 + %52 = load i8, i8* %codeset, align 1 + %conv95 = zext i8 %52 to i32 + %53 = load i8*, i8** %s, align 8 + %arrayidx96 = getelementptr inbounds i8, i8* %53, i64 2 + %54 = load i8, i8* %arrayidx96, align 1 + %conv97 = zext i8 %54 to i32 + %cmp98 = icmp eq i32 %conv95, %conv97 + br i1 %cmp98, label %if.then100, label %if.end120 + +if.then100: ; preds = %lor.lhs.false94, %land.lhs.true88 + store i32 1, i32* %i, align 4 + %55 = load i8*, i8** %new_locale.addr, align 8 + %add.ptr101 = getelementptr inbounds i8, i8* %55, i64 1 + store i8* %add.ptr101, i8** %s, align 8 + br label %do.body102 + +do.body102: ; preds = %if.end113, %if.then100 + %56 = load i32, i32* %category_mask.addr, align 4 + %57 = load i32, i32* %i, align 4 + %and = and i32 %56, %57 + %tobool103 = icmp ne i32 %and, 0 + br i1 %tobool103, label %if.then104, label %if.end113 + +if.then104: ; preds = %do.body102 + %58 = load i16, i16* %n, align 2 + %conv105 = zext i16 %58 to i32 + %shr = ashr i32 %conv105, 7 + %or = or i32 %shr, 128 + %conv106 = trunc i32 %or to i8 + %59 = load i8*, i8** %s, align 8 + %arrayidx107 = getelementptr inbounds i8, i8* %59, i64 0 + store i8 %conv106, i8* %arrayidx107, align 1 + %60 = load i16, i16* %n, align 2 + %conv108 = zext i16 %60 to i32 + %and109 = and i32 %conv108, 127 + %or110 = or i32 %and109, 128 + %conv111 = trunc i32 %or110 to i8 + %61 = load i8*, i8** %s, align 8 + %arrayidx112 = getelementptr inbounds i8, i8* %61, i64 1 + store i8 %conv111, i8* %arrayidx112, align 1 + br label %if.end113 + +if.end113: ; preds = %if.then104, %do.body102 + %62 = load i8*, i8** %s, align 8 + %add.ptr114 = getelementptr inbounds i8, i8* %62, i64 2 + store i8* %add.ptr114, i8** %s, align 8 + %63 = load i32, i32* %i, align 4 + %64 = load i32, i32* %i, align 4 + %add115 = add nsw i32 %64, %63 + store i32 %add115, i32* %i, align 4 + %65 = load i32, i32* %i, align 4 + %cmp117 = icmp slt i32 %65, 64 + br i1 %cmp117, label %do.body102, label %do.end119 + +do.end119: ; preds = %if.end113 + %66 = load i32, i32* %i, align 4 + store i32 %66, i32* %retval, align 4 + br label %return + +if.end120: ; preds = %lor.lhs.false94, %do.body83 + %67 = load i8*, i8** %s, align 8 + %add.ptr121 = getelementptr inbounds i8, i8* %67, i64 9 + store i8* %add.ptr121, i8** %s, align 8 + %68 = load i16, i16* %n, align 2 + %inc122 = add i16 %68, 1 + store i16 %inc122, i16* %n, align 2 + %69 = load i16, i16* %n, align 2 + %conv124 = zext i16 %69 to i32 + %cmp125 = icmp sle i32 %conv124, 314 + br i1 %cmp125, label %do.body83, label %do.end127 + +do.end127: ; preds = %if.end120 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end127, %do.end119, %do.end81, %do.end66, %if.then13, %if.then4 + %70 = load i32, i32* %retval, align 4 + ret i32 %70 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @composite_locale(i32 %category_mask, i8* %locale, i8* %new_locale) #0 { +entry: + %retval = alloca i8*, align 8 + %category_mask.addr = alloca i32, align 4 + %locale.addr = alloca i8*, align 8 + %new_locale.addr = alloca i8*, align 8 + %buf = alloca [256 x i8], align 16 + %t = alloca i8*, align 8 + %e = alloca i8*, align 8 + %c = alloca i32, align 4 + %component_mask = alloca i32, align 4 + store i32 %category_mask, i32* %category_mask.addr, align 4 + store i8* %locale, i8** %locale.addr, align 8 + store i8* %new_locale, i8** %new_locale.addr, align 8 + %0 = load i8*, i8** %locale.addr, align 8 + %call = call i8* @strchr(i8* %0, i32 61) #20 + %tobool = icmp ne i8* %call, null + br i1 %tobool, label %if.end4, label %if.then + +if.then: ; preds = %entry + %1 = load i32, i32* %category_mask.addr, align 4 + %2 = load i8*, i8** %locale.addr, align 8 + %3 = load i8*, i8** %new_locale.addr, align 8 + %call1 = call i32 @find_locale(i32 %1, i8* %2, i8* %3) #18 + %tobool2 = icmp ne i32 %call1, 0 + br i1 %tobool2, label %if.end, label %if.then3 + +if.then3: ; preds = %if.then + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %if.then + %4 = load i8*, i8** %new_locale.addr, align 8 + store i8* %4, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %entry + %5 = load i8*, i8** %locale.addr, align 8 + %call5 = call i64 @strlen(i8* %5) #20 + %cmp = icmp uge i64 %call5, 256 + br i1 %cmp, label %if.then6, label %if.end7 + +if.then6: ; preds = %if.end4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end7: ; preds = %if.end4 + %arraydecay = getelementptr inbounds [256 x i8], [256 x i8]* %buf, i64 0, i64 0 + %6 = load i8*, i8** %locale.addr, align 8 + %call8 = call i8* @stpcpy(i8* %arraydecay, i8* %6) #19 + store i32 0, i32* %component_mask, align 4 + %arraydecay9 = getelementptr inbounds [256 x i8], [256 x i8]* %buf, i64 0, i64 0 + %call10 = call i8* @strtok_r(i8* %arraydecay9, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.298, i64 0, i64 0), i8** %e) #19 + store i8* %call10, i8** %t, align 8 + br label %do.body + +do.body: ; preds = %do.cond, %if.end7 + store i32 0, i32* %c, align 4 + br label %while.cond + +while.cond: ; preds = %while.body, %do.body + %7 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %7, i32 0, i32 34 + %arraydecay11 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names, i64 0, i64 0 + %8 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names12 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %8, i32 0, i32 34 + %9 = load i32, i32* %c, align 4 + %idxprom = sext i32 %9 to i64 + %arrayidx = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names12, i64 0, i64 %idxprom + %10 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %10 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay11, i64 %idx.ext + %11 = load i8*, i8** %t, align 8 + %call13 = call i32 @strcmp(i8* %add.ptr, i8* %11) #20 + %tobool14 = icmp ne i32 %call13, 0 + br i1 %tobool14, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %12 = load i32, i32* %c, align 4 + %inc = add nsw i32 %12, 1 + store i32 %inc, i32* %c, align 4 + %cmp15 = icmp eq i32 %inc, 6 + br i1 %cmp15, label %if.then17, label %while.cond + +if.then17: ; preds = %while.body + store i8* null, i8** %retval, align 8 + br label %return + +while.end: ; preds = %while.cond + %call19 = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.4.299, i64 0, i64 0), i8** %e) #19 + store i8* %call19, i8** %t, align 8 + %13 = load i32, i32* %c, align 4 + %shl = shl i32 1, %13 + store i32 %shl, i32* %c, align 4 + %14 = load i32, i32* %component_mask, align 4 + %15 = load i32, i32* %c, align 4 + %and = and i32 %14, %15 + %tobool20 = icmp ne i32 %and, 0 + br i1 %tobool20, label %if.then21, label %if.end22 + +if.then21: ; preds = %while.end + store i8* null, i8** %retval, align 8 + br label %return + +if.end22: ; preds = %while.end + %16 = load i32, i32* %c, align 4 + %17 = load i32, i32* %component_mask, align 4 + %or = or i32 %17, %16 + store i32 %or, i32* %component_mask, align 4 + %18 = load i32, i32* %category_mask.addr, align 4 + %19 = load i32, i32* %c, align 4 + %and23 = and i32 %18, %19 + %tobool24 = icmp ne i32 %and23, 0 + br i1 %tobool24, label %land.lhs.true, label %do.cond + +land.lhs.true: ; preds = %if.end22 + %20 = load i8*, i8** %t, align 8 + %tobool25 = icmp ne i8* %20, null + br i1 %tobool25, label %lor.lhs.false, label %if.then28 + +lor.lhs.false: ; preds = %land.lhs.true + %21 = load i32, i32* %c, align 4 + %22 = load i8*, i8** %t, align 8 + %23 = load i8*, i8** %new_locale.addr, align 8 + %call26 = call i32 @find_locale(i32 %21, i8* %22, i8* %23) #18 + %tobool27 = icmp ne i32 %call26, 0 + br i1 %tobool27, label %do.cond, label %if.then28 + +if.then28: ; preds = %lor.lhs.false, %land.lhs.true + store i8* null, i8** %retval, align 8 + br label %return + +do.cond: ; preds = %if.end22, %lor.lhs.false + %call30 = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.298, i64 0, i64 0), i8** %e) #19 + store i8* %call30, i8** %t, align 8 + %cmp31 = icmp ne i8* %call30, null + br i1 %cmp31, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %24 = load i32, i32* %category_mask.addr, align 4 + %25 = load i32, i32* %component_mask, align 4 + %neg = xor i32 %25, -1 + %and33 = and i32 %24, %neg + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %if.then35, label %if.end36 + +if.then35: ; preds = %do.end + store i8* null, i8** %retval, align 8 + br label %return + +if.end36: ; preds = %do.end + %26 = load i8*, i8** %new_locale.addr, align 8 + store i8* %26, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end36, %if.then35, %if.then28, %if.then21, %if.then17, %if.then6, %if.end, %if.then3 + %27 = load i8*, i8** %retval, align 8 + ret i8* %27 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @nl_langinfo_l(i32 %item, %struct.__uclibc_locale_struct.201* %locale_arg) #0 { +entry: + %retval = alloca i8*, align 8 + %item.addr = alloca i32, align 4 + %locale_arg.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %c = alloca i32, align 4 + %i = alloca i32, align 4 + store i32 %item, i32* %item.addr, align 4 + store %struct.__uclibc_locale_struct.201* %locale_arg, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %0 = load i32, i32* %item.addr, align 4 + %shr = ashr i32 %0, 8 + store i32 %shr, i32* %c, align 4 + %1 = load i32, i32* %item.addr, align 4 + %and = and i32 %1, 255 + store i32 %and, i32* %i, align 4 + %2 = load i32, i32* %c, align 4 + %cmp = icmp ult i32 %2, 6 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %3 = load i32, i32* %i, align 4 + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %category_item_count = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %4, i32 0, i32 8 + %5 = load i32, i32* %c, align 4 + %idxprom = zext i32 %5 to i64 + %arrayidx = getelementptr inbounds [6 x i8], [6 x i8]* %category_item_count, i64 0, i64 %idxprom + %6 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %6 to i32 + %cmp1 = icmp ult i32 %3, %conv + br i1 %cmp1, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %7 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %8 = bitcast %struct.__uclibc_locale_struct.201* %7 to i8* + %9 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %category_offsets = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %9, i32 0, i32 7 + %10 = load i32, i32* %c, align 4 + %idxprom3 = zext i32 %10 to i64 + %arrayidx4 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets, i64 0, i64 %idxprom3 + %11 = load i16, i16* %arrayidx4, align 2 + %conv5 = zext i16 %11 to i32 + %idx.ext = sext i32 %conv5 to i64 + %add.ptr = getelementptr inbounds i8, i8* %8, i64 %idx.ext + %12 = bitcast i8* %add.ptr to i8** + %13 = load i32, i32* %i, align 4 + %idxprom6 = zext i32 %13 to i64 + %arrayidx7 = getelementptr inbounds i8*, i8** %12, i64 %idxprom6 + %14 = load i8*, i8** %arrayidx7, align 8 + store i8* %14, i8** %retval, align 8 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @empty, i64 0, i64 0), i8** %retval, align 8 + br label %return + +return: ; preds = %if.end, %if.then + %15 = load i8*, i8** %retval, align 8 + ret i8* %15 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @mbsnrtowcs(i32* noalias %dst, i8** noalias %src, i64 %NMC, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %retval = alloca i64, align 8 + %dst.addr = alloca i32*, align 8 + %src.addr = alloca i8**, align 8 + %NMC.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %wcbuf = alloca [1 x i32], align 4 + %s = alloca i8*, align 8 + %count = alloca i64, align 8 + %incr = alloca i32, align 4 + %r = alloca i64, align 8 + %wc = alloca i32, align 4 + store i32* %dst, i32** %dst.addr, align 8 + store i8** %src, i8*** %src.addr, align 8 + store i64 %NMC, i64* %NMC.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %tobool = icmp ne %struct.__mbstate_t.512* %0, null + %spec.store.select = select i1 %tobool, %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512* @mbsnrtowcs.mbstate + store %struct.__mbstate_t.512* %spec.store.select, %struct.__mbstate_t.512** %ps.addr, align 8 + %1 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %1, i32 0, i32 9 + %2 = load i8, i8* %encoding, align 8 + %conv = zext i8 %2 to i32 + %cmp = icmp eq i32 %conv, 1 + br i1 %cmp, label %if.then2, label %if.end5 + +if.then2: ; preds = %entry + %3 = load i32*, i32** %dst.addr, align 8 + %4 = load i64, i64* %len.addr, align 8 + %5 = load i8**, i8*** %src.addr, align 8 + %6 = load i64, i64* %NMC.addr, align 8 + %7 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @_wchar_utf8sntowcs(i32* %3, i64 %4, i8** %5, i64 %6, %struct.__mbstate_t.512* %7, i32 1) #18 + store i64 %call, i64* %r, align 8 + %cmp3 = icmp ne i64 %call, -2 + %8 = load i64, i64* %r, align 8 + %cond = select i1 %cmp3, i64 %8, i64 0 + store i64 %cond, i64* %retval, align 8 + br label %return + +if.end5: ; preds = %entry + store i32 1, i32* %incr, align 4 + %9 = load i32*, i32** %dst.addr, align 8 + %tobool6 = icmp ne i32* %9, null + br i1 %tobool6, label %lor.lhs.false, label %if.then9 + +lor.lhs.false: ; preds = %if.end5 + %10 = load i32*, i32** %dst.addr, align 8 + %11 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %12 = bitcast %struct.__mbstate_t.512* %11 to i32* + %cmp7 = icmp eq i32* %10, %12 + br i1 %cmp7, label %if.then9, label %if.end13 + +if.then9: ; preds = %lor.lhs.false, %if.end5 + %13 = load i32*, i32** %dst.addr, align 8 + %tobool10 = icmp ne i32* %13, null + br i1 %tobool10, label %if.end12, label %if.then11 + +if.then11: ; preds = %if.then9 + store i64 -1, i64* %len.addr, align 8 + br label %if.end12 + +if.end12: ; preds = %if.then11, %if.then9 + %arraydecay = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay, i32** %dst.addr, align 8 + store i32 0, i32* %incr, align 4 + br label %if.end13 + +if.end13: ; preds = %if.end12, %lor.lhs.false + %14 = load i64, i64* %len.addr, align 8 + %15 = load i64, i64* %NMC.addr, align 8 + %cmp14 = icmp ugt i64 %14, %15 + br i1 %cmp14, label %if.then16, label %if.end17 + +if.then16: ; preds = %if.end13 + %16 = load i64, i64* %NMC.addr, align 8 + store i64 %16, i64* %len.addr, align 8 + br label %if.end17 + +if.end17: ; preds = %if.then16, %if.end13 + %17 = load i64, i64* %len.addr, align 8 + store i64 %17, i64* %count, align 8 + %18 = load i8**, i8*** %src.addr, align 8 + %19 = load i8*, i8** %18, align 8 + store i8* %19, i8** %s, align 8 + %20 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding18 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %20, i32 0, i32 9 + %21 = load i8, i8* %encoding18, align 8 + %conv19 = zext i8 %21 to i32 + %cmp20 = icmp eq i32 %conv19, 2 + br i1 %cmp20, label %while.cond, label %while.cond46 + +while.cond: ; preds = %if.end17, %if.end38 + %22 = load i64, i64* %count, align 8 + %tobool23 = icmp ne i64 %22, 0 + br i1 %tobool23, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %23 = load i8*, i8** %s, align 8 + %24 = load i8, i8* %23, align 1 + %conv24 = zext i8 %24 to i32 + store i32 %conv24, i32* %wc, align 4 + %cmp25 = icmp sge i32 %conv24, 128 + br i1 %cmp25, label %if.then27, label %if.end35 + +if.then27: ; preds = %while.body + %25 = load i32, i32* %wc, align 4 + %sub = sub nsw i32 %25, 128 + store i32 %sub, i32* %wc, align 4 + %26 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %tbl8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %26, i32 0, i32 17 + %27 = load i16*, i16** %tbl8c2wc, align 8 + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %idx8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %28, i32 0, i32 16 + %29 = load i8*, i8** %idx8c2wc, align 8 + %30 = load i32, i32* %wc, align 4 + %shr = ashr i32 %30, 3 + %idxprom = sext i32 %shr to i64 + %arrayidx = getelementptr inbounds i8, i8* %29, i64 %idxprom + %31 = load i8, i8* %arrayidx, align 1 + %conv28 = zext i8 %31 to i32 + %shl = shl i32 %conv28, 3 + %32 = load i32, i32* %wc, align 4 + %and = and i32 %32, 7 + %add = add nsw i32 %shl, %and + %idxprom29 = sext i32 %add to i64 + %arrayidx30 = getelementptr inbounds i16, i16* %27, i64 %idxprom29 + %33 = load i16, i16* %arrayidx30, align 2 + %conv31 = zext i16 %33 to i32 + store i32 %conv31, i32* %wc, align 4 + %34 = load i32, i32* %wc, align 4 + %tobool32 = icmp ne i32 %34, 0 + br i1 %tobool32, label %if.end35, label %BAD + +if.end35: ; preds = %if.then27, %while.body + %35 = load i32, i32* %wc, align 4 + %36 = load i32*, i32** %dst.addr, align 8 + store i32 %35, i32* %36, align 4 + %tobool36 = icmp ne i32 %35, 0 + br i1 %tobool36, label %if.end38, label %if.then37 + +if.then37: ; preds = %if.end35 + store i8* null, i8** %s, align 8 + br label %while.end + +if.end38: ; preds = %if.end35 + %37 = load i32, i32* %incr, align 4 + %38 = load i32*, i32** %dst.addr, align 8 + %idx.ext = sext i32 %37 to i64 + %add.ptr = getelementptr inbounds i32, i32* %38, i64 %idx.ext + store i32* %add.ptr, i32** %dst.addr, align 8 + %39 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %39, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %40 = load i64, i64* %count, align 8 + %dec = add i64 %40, -1 + store i64 %dec, i64* %count, align 8 + br label %while.cond + +while.end: ; preds = %if.then37, %while.cond + %41 = load i32*, i32** %dst.addr, align 8 + %arraydecay39 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %cmp40 = icmp ne i32* %41, %arraydecay39 + br i1 %cmp40, label %if.then42, label %if.end43 + +if.then42: ; preds = %while.end + %42 = load i8*, i8** %s, align 8 + %43 = load i8**, i8*** %src.addr, align 8 + store i8* %42, i8** %43, align 8 + br label %if.end43 + +if.end43: ; preds = %if.then42, %while.end + %44 = load i64, i64* %len.addr, align 8 + %45 = load i64, i64* %count, align 8 + %sub44 = sub i64 %44, %45 + store i64 %sub44, i64* %retval, align 8 + br label %return + +while.cond46: ; preds = %if.end17, %if.end57 + %46 = load i64, i64* %count, align 8 + %tobool47 = icmp ne i64 %46, 0 + br i1 %tobool47, label %while.body48, label %while.end62 + +while.body48: ; preds = %while.cond46 + %47 = load i8*, i8** %s, align 8 + %48 = load i8, i8* %47, align 1 + %conv49 = zext i8 %48 to i32 + %49 = load i32*, i32** %dst.addr, align 8 + store i32 %conv49, i32* %49, align 4 + %cmp50 = icmp eq i32 %conv49, 0 + br i1 %cmp50, label %if.then52, label %if.end53 + +if.then52: ; preds = %while.body48 + store i8* null, i8** %s, align 8 + br label %while.end62 + +if.end53: ; preds = %while.body48 + %50 = load i32*, i32** %dst.addr, align 8 + %51 = load i32, i32* %50, align 4 + %cmp54 = icmp sge i32 %51, 128 + br i1 %cmp54, label %BAD, label %if.end57 + +BAD: ; preds = %if.end53, %if.then27 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end57: ; preds = %if.end53 + %52 = load i8*, i8** %s, align 8 + %incdec.ptr58 = getelementptr inbounds i8, i8* %52, i32 1 + store i8* %incdec.ptr58, i8** %s, align 8 + %53 = load i32, i32* %incr, align 4 + %54 = load i32*, i32** %dst.addr, align 8 + %idx.ext59 = sext i32 %53 to i64 + %add.ptr60 = getelementptr inbounds i32, i32* %54, i64 %idx.ext59 + store i32* %add.ptr60, i32** %dst.addr, align 8 + %55 = load i64, i64* %count, align 8 + %dec61 = add i64 %55, -1 + store i64 %dec61, i64* %count, align 8 + br label %while.cond46 + +while.end62: ; preds = %if.then52, %while.cond46 + %56 = load i32*, i32** %dst.addr, align 8 + %arraydecay63 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %cmp64 = icmp ne i32* %56, %arraydecay63 + br i1 %cmp64, label %if.then66, label %if.end67 + +if.then66: ; preds = %while.end62 + %57 = load i8*, i8** %s, align 8 + %58 = load i8**, i8*** %src.addr, align 8 + store i8* %57, i8** %58, align 8 + br label %if.end67 + +if.end67: ; preds = %if.then66, %while.end62 + %59 = load i64, i64* %len.addr, align 8 + %60 = load i64, i64* %count, align 8 + %sub68 = sub i64 %59, %60 + store i64 %sub68, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end67, %BAD, %if.end43, %if.then2 + %61 = load i64, i64* %retval, align 8 + ret i64 %61 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @iswctype(i32 %wc, i32 %desc) #0 { +entry: + %wc.addr = alloca i32, align 4 + %desc.addr = alloca i32, align 4 + store i32 %wc, i32* %wc.addr, align 4 + store i32 %desc, i32* %desc.addr, align 4 + %0 = load i32, i32* %wc.addr, align 4 + %1 = load i32, i32* %desc.addr, align 4 + %2 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %call = call i32 @iswctype_l(i32 %0, i32 %1, %struct.__uclibc_locale_struct.201* %2) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %oflag) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %oflag.addr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %oflag, i32* %oflag.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %2 = load i32, i32* %oflag.addr, align 4 + %and = and i32 %conv, %2 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end9, label %if.then + +if.then: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 0 + %4 = load i16, i16* %__modeflags1, align 8 + %conv2 = zext i16 %4 to i32 + %and3 = and i32 %conv2, 2176 + %tobool4 = icmp ne i32 %and3, 0 + br i1 %tobool4, label %DO_EBADF, label %if.end + +if.end: ; preds = %if.then + %5 = load i32, i32* %oflag.addr, align 4 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 0 + %7 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %7 to i32 + %or = or i32 %conv7, %5 + %conv8 = trunc i32 %or to i16 + store i16 %conv8, i16* %__modeflags6, align 8 + br label %if.end9 + +if.end9: ; preds = %if.end, %entry + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags10, align 8 + %conv11 = zext i16 %9 to i32 + %and12 = and i32 %conv11, 32 + %tobool13 = icmp ne i32 %and12, 0 + br i1 %tobool13, label %DO_EBADF, label %if.end19 + +DO_EBADF: ; preds = %if.end9, %if.then + store i32 9, i32* @errno, align 4 + br label %ERROR + +ERROR: ; preds = %land.lhs.true, %DO_EBADF + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags15 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 0 + %11 = load i16, i16* %__modeflags15, align 8 + %conv16 = zext i16 %11 to i32 + %or17 = or i32 %conv16, 8 + %conv18 = trunc i32 %or17 to i16 + store i16 %conv18, i16* %__modeflags15, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end19: ; preds = %if.end9 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags20 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags20, align 8 + %conv21 = zext i16 %13 to i32 + %and22 = and i32 %conv21, 3 + %tobool23 = icmp ne i32 %and22, 0 + br i1 %tobool23, label %if.then24, label %if.end50 + +if.then24: ; preds = %if.end19 + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags25 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %14, i32 0, i32 0 + %15 = load i16, i16* %__modeflags25, align 8 + %conv26 = zext i16 %15 to i32 + %and27 = and i32 %conv26, 4 + %tobool28 = icmp ne i32 %and27, 0 + br i1 %tobool28, label %if.end42, label %if.then29 + +if.then29: ; preds = %if.then24 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %16, i32 0, i32 6 + %17 = load i8*, i8** %__bufread, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 5 + %19 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %17 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool30 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %tobool30, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then29 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags31 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 0 + %21 = load i16, i16* %__modeflags31, align 8 + %conv32 = zext i16 %21 to i32 + %and33 = and i32 %conv32, 2 + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %land.lhs.true, label %if.end42 + +land.lhs.true: ; preds = %lor.lhs.false, %if.then29 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %23 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags35 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %23, i32 0, i32 0 + %24 = load i16, i16* %__modeflags35, align 8 + %conv36 = zext i16 %24 to i32 + %and37 = and i32 %conv36, 1024 + %tobool38 = icmp ne i32 %and37, 0 + %25 = zext i1 %tobool38 to i64 + %cond = select i1 %tobool38, i32 2, i32 1 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32)* @fseek to i32 (%struct.__STDIO_FILE_STRUCT.568*, i64, i32)*)(%struct.__STDIO_FILE_STRUCT.568* %22, i64 0, i32 %cond) #18 + %tobool39 = icmp ne i32 %call, 0 + br i1 %tobool39, label %ERROR, label %if.end42 + +if.end42: ; preds = %lor.lhs.false, %land.lhs.true, %if.then24 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags43 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 0 + %27 = load i16, i16* %__modeflags43, align 8 + %conv44 = zext i16 %27 to i32 + %and45 = and i32 %conv44, -4 + %conv46 = trunc i32 %and45 to i16 + store i16 %conv46, i16* %__modeflags43, align 8 + %28 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %28, i32 0, i32 3 + %29 = load i8*, i8** %__bufstart, align 8 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %30, i32 0, i32 7 + store i8* %29, i8** %__bufgetc_u, align 8 + %31 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart47 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %31, i32 0, i32 3 + %32 = load i8*, i8** %__bufstart47, align 8 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos48 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %33, i32 0, i32 5 + store i8* %32, i8** %__bufpos48, align 8 + %34 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread49 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %34, i32 0, i32 6 + store i8* %32, i8** %__bufread49, align 8 + br label %if.end50 + +if.end50: ; preds = %if.end42, %if.end19 + %35 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags51 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %35, i32 0, i32 0 + %36 = load i16, i16* %__modeflags51, align 8 + %conv52 = zext i16 %36 to i32 + %or53 = or i32 %conv52, 64 + %conv54 = trunc i32 %or53 to i16 + store i16 %conv54, i16* %__modeflags51, align 8 + %37 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags55 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %37, i32 0, i32 0 + %38 = load i16, i16* %__modeflags55, align 8 + %conv56 = zext i16 %38 to i32 + %and57 = and i32 %conv56, 2816 + %tobool58 = icmp ne i32 %and57, 0 + br i1 %tobool58, label %if.end60, label %if.then59 + +if.then59: ; preds = %if.end50 + %39 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %39, i32 0, i32 4 + %40 = load i8*, i8** %__bufend, align 8 + %41 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %41, i32 0, i32 8 + store i8* %40, i8** %__bufputc_u, align 8 + br label %if.end60 + +if.end60: ; preds = %if.then59, %if.end50 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end60, %ERROR + %42 = load i32, i32* %retval, align 4 + ret i32 %42 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fseeko64(%struct.__STDIO_FILE_STRUCT.636* %stream, i64 %offset, i32 %whence) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + %pos = alloca i64, align 8 + %retval1 = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i64, i64* %offset.addr, align 8 + store i64 %0, i64* %pos, align 8 + store i32 -1, i32* %retval1, align 4 + %1 = load i32, i32* %whence.addr, align 4 + %cmp = icmp ugt i32 %1, 2 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + store i32 22, i32* @errno, align 4 + br label %if.end20 + +if.else: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %2, i32 0, i32 0 + %3 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %3 to i32 + %and = and i32 %conv, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %lor.lhs.false, label %land.lhs.true + +lor.lhs.false: ; preds = %if.else + %4 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %call = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.568*)* @__stdio_wcommit to i64 (%struct.__STDIO_FILE_STRUCT.636*)*)(%struct.__STDIO_FILE_STRUCT.636* %4) #18 + %tobool2 = icmp ne i64 %call, 0 + br i1 %tobool2, label %if.end20, label %land.lhs.true + +land.lhs.true: ; preds = %lor.lhs.false, %if.else + %5 = load i32, i32* %whence.addr, align 4 + %cmp3 = icmp ne i32 %5, 1 + br i1 %cmp3, label %land.lhs.true9, label %lor.lhs.false5 + +lor.lhs.false5: ; preds = %land.lhs.true + %6 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %call6 = call i32 @__stdio_adjust_position(%struct.__STDIO_FILE_STRUCT.636* %6, i64* %pos) #18 + %cmp7 = icmp sge i32 %call6, 0 + br i1 %cmp7, label %land.lhs.true9, label %if.end20 + +land.lhs.true9: ; preds = %lor.lhs.false5, %land.lhs.true + %7 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %8 = load i32, i32* %whence.addr, align 4 + %call10 = call i32 @__stdio_seek(%struct.__STDIO_FILE_STRUCT.636* %7, i64* %pos, i32 %8) #18 + %cmp11 = icmp sge i32 %call10, 0 + br i1 %cmp11, label %if.then13, label %if.end20 + +if.then13: ; preds = %land.lhs.true9 + %9 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags14 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %9, i32 0, i32 0 + %10 = load i16, i16* %__modeflags14, align 8 + %conv15 = zext i16 %10 to i32 + %and16 = and i32 %conv15, -72 + %conv17 = trunc i32 %and16 to i16 + store i16 %conv17, i16* %__modeflags14, align 8 + %11 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %11, i32 0, i32 3 + %12 = load i8*, i8** %__bufstart, align 8 + %13 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %13, i32 0, i32 5 + store i8* %12, i8** %__bufpos, align 8 + %14 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %14, i32 0, i32 6 + store i8* %12, i8** %__bufread, align 8 + %15 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufstart18 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %15, i32 0, i32 3 + %16 = load i8*, i8** %__bufstart18, align 8 + %17 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %17, i32 0, i32 7 + store i8* %16, i8** %__bufgetc_u, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufstart19 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %18, i32 0, i32 3 + %19 = load i8*, i8** %__bufstart19, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %20, i32 0, i32 8 + store i8* %19, i8** %__bufputc_u, align 8 + %21 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %21, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + store i32 0, i32* %__mask, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %22, i32 0, i32 1 + %arrayidx = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 0 + store i8 0, i8* %arrayidx, align 2 + store i32 0, i32* %retval1, align 4 + br label %if.end20 + +if.end20: ; preds = %lor.lhs.false, %lor.lhs.false5, %land.lhs.true9, %if.then13, %if.then + %23 = load i32, i32* %retval1, align 4 + ret i32 %23 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @fwrite_unlocked(i8* noalias %ptr, i64 %size, i64 %nmemb, %struct.__STDIO_FILE_STRUCT.621* noalias %stream) #0 { +entry: + %retval = alloca i64, align 8 + %ptr.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %nmemb.addr = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.621*, align 8 + store i8* %ptr, i8** %ptr.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + store i64 %nmemb, i64* %nmemb.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.621* %stream, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 192 + %cmp = icmp eq i32 %and, 192 + br i1 %cmp, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i32)* @__stdio_trans2w_o to i32 (%struct.__STDIO_FILE_STRUCT.621*, i32)*)(%struct.__STDIO_FILE_STRUCT.621* %2, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end13, label %land.lhs.true + +land.lhs.true: ; preds = %lor.lhs.false, %entry + %3 = load i64, i64* %size.addr, align 8 + %tobool2 = icmp ne i64 %3, 0 + %4 = load i64, i64* %nmemb.addr, align 8 + %tobool4 = icmp ne i64 %4, 0 + %or.cond = and i1 %tobool2, %tobool4 + br i1 %or.cond, label %if.then, label %if.end13 + +if.then: ; preds = %land.lhs.true + %5 = load i64, i64* %nmemb.addr, align 8 + %6 = load i64, i64* %size.addr, align 8 + %div = udiv i64 -1, %6 + %cmp5 = icmp ule i64 %5, %div + br i1 %cmp5, label %if.then7, label %if.end + +if.then7: ; preds = %if.then + %7 = load i8*, i8** %ptr.addr, align 8 + %8 = load i64, i64* %size.addr, align 8 + %9 = load i64, i64* %nmemb.addr, align 8 + %mul = mul i64 %8, %9 + %10 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %call8 = call i64 @__stdio_fwrite(i8* %7, i64 %mul, %struct.__STDIO_FILE_STRUCT.621* %10) #18 + %11 = load i64, i64* %size.addr, align 8 + %div9 = udiv i64 %call8, %11 + store i64 %div9, i64* %retval, align 8 + br label %return + +if.end: ; preds = %if.then + %12 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__modeflags10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags10, align 8 + %conv11 = zext i16 %13 to i32 + %or = or i32 %conv11, 8 + %conv12 = trunc i32 %or to i16 + store i16 %conv12, i16* %__modeflags10, align 8 + store i32 22, i32* @errno, align 4 + br label %if.end13 + +if.end13: ; preds = %if.end, %land.lhs.true, %lor.lhs.false + store i64 0, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end13, %if.then7 + %14 = load i64, i64* %retval, align 8 + ret i64 %14 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i8* noalias %format, %struct.__va_list_tag.0* %arg) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %format.addr = alloca i8*, align 8 + %arg.addr = alloca %struct.__va_list_tag.0*, align 8 + %ppfs = alloca %struct.ppfs_t.722, align 8 + %count = alloca i32, align 4 + %r = alloca i32, align 4 + %s = alloca i8*, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + store %struct.__va_list_tag.0* %arg, %struct.__va_list_tag.0** %arg.addr, align 8 + store i32 0, i32* %count, align 4 + %0 = load i8*, i8** %format.addr, align 8 + store i8* %0, i8** %s, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %1, i32 0, i32 0 + %2 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %2 to i32 + %and = and i32 %conv, 192 + %cmp = icmp eq i32 %and, 192 + br i1 %cmp, label %if.else, label %land.lhs.true + +land.lhs.true: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* %3, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %land.lhs.true + store i32 -1, i32* %count, align 4 + br label %if.end65 + +if.else: ; preds = %land.lhs.true, %entry + %4 = load i8*, i8** %format.addr, align 8 + %call2 = call i32 @_ppfs_init(%struct.ppfs_t.722* %ppfs, i8* %4) #18 + %cmp3 = icmp slt i32 %call2, 0 + br i1 %cmp3, label %if.then5, label %if.else13 + +if.then5: ; preds = %if.else + %fmtpos = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %5 = load i8*, i8** %fmtpos, align 8 + %call6 = call i64 @strlen(i8* %5) #20 + %cmp7 = icmp ugt i64 %call6, 0 + br i1 %cmp7, label %cond.true, label %cond.end + +cond.true: ; preds = %if.then5 + %fmtpos9 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %6 = load i8*, i8** %fmtpos9, align 8 + %fmtpos10 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %7 = load i8*, i8** %fmtpos10, align 8 + %call11 = call i64 @strlen(i8* %7) #20 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call12 = call i64 bitcast (i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.621*)* @__stdio_fwrite to i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.568*)*)(i8* %6, i64 %call11, %struct.__STDIO_FILE_STRUCT.568* %8) #18 + br label %cond.end + +cond.end: ; preds = %if.then5, %cond.true + %cond = phi i64 [ %call12, %cond.true ], [ 0, %if.then5 ] + store i32 -1, i32* %count, align 4 + br label %if.end65 + +if.else13: ; preds = %if.else + %9 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %arg.addr, align 8 + call void @_ppfs_prepargs(%struct.ppfs_t.722* %ppfs, %struct.__va_list_tag.0* %9) #18 + br label %do.body + +do.body: ; preds = %do.cond, %if.else13 + br label %while.cond + +while.cond: ; preds = %while.body, %do.body + %10 = load i8*, i8** %format.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv14 = sext i8 %11 to i32 + %tobool15 = icmp ne i32 %conv14, 0 + br i1 %tobool15, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %12 = load i8*, i8** %format.addr, align 8 + %13 = load i8, i8* %12, align 1 + %conv16 = sext i8 %13 to i32 + %cmp17 = icmp ne i32 %conv16, 37 + br label %land.end + +land.end: ; preds = %land.rhs, %while.cond + %14 = phi i1 [ false, %while.cond ], [ %cmp17, %land.rhs ] + %15 = load i8*, i8** %format.addr, align 8 + br i1 %14, label %while.body, label %while.end + +while.body: ; preds = %land.end + %incdec.ptr = getelementptr inbounds i8, i8* %15, i32 1 + store i8* %incdec.ptr, i8** %format.addr, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %16 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %15 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %16 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool19 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %tobool19, label %if.then20, label %if.end42 + +if.then20: ; preds = %while.end + %17 = load i8*, i8** %format.addr, align 8 + %18 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast21 = ptrtoint i8* %17 to i64 + %sub.ptr.rhs.cast22 = ptrtoint i8* %18 to i64 + %sub.ptr.sub23 = sub i64 %sub.ptr.lhs.cast21, %sub.ptr.rhs.cast22 + %cmp24 = icmp sgt i64 %sub.ptr.sub23, 0 + br i1 %cmp24, label %cond.true26, label %cond.end32 + +cond.true26: ; preds = %if.then20 + %19 = load i8*, i8** %s, align 8 + %20 = load i8*, i8** %format.addr, align 8 + %21 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast27 = ptrtoint i8* %20 to i64 + %sub.ptr.rhs.cast28 = ptrtoint i8* %21 to i64 + %sub.ptr.sub29 = sub i64 %sub.ptr.lhs.cast27, %sub.ptr.rhs.cast28 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call30 = call i64 bitcast (i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.621*)* @__stdio_fwrite to i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.568*)*)(i8* %19, i64 %sub.ptr.sub29, %struct.__STDIO_FILE_STRUCT.568* %22) #18 + br label %cond.end32 + +cond.end32: ; preds = %if.then20, %cond.true26 + %cond33 = phi i64 [ %call30, %cond.true26 ], [ 0, %if.then20 ] + %conv34 = trunc i64 %cond33 to i32 + store i32 %conv34, i32* %r, align 4 + %conv35 = sext i32 %conv34 to i64 + %23 = load i8*, i8** %format.addr, align 8 + %24 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast36 = ptrtoint i8* %23 to i64 + %sub.ptr.rhs.cast37 = ptrtoint i8* %24 to i64 + %sub.ptr.sub38 = sub i64 %sub.ptr.lhs.cast36, %sub.ptr.rhs.cast37 + %cmp39 = icmp ne i64 %conv35, %sub.ptr.sub38 + br i1 %cmp39, label %if.then41, label %if.end + +if.then41: ; preds = %cond.end32 + store i32 -1, i32* %count, align 4 + br label %do.end + +if.end: ; preds = %cond.end32 + %25 = load i32, i32* %r, align 4 + %26 = load i32, i32* %count, align 4 + %add = add nsw i32 %26, %25 + store i32 %add, i32* %count, align 4 + br label %if.end42 + +if.end42: ; preds = %if.end, %while.end + %27 = load i8*, i8** %format.addr, align 8 + %28 = load i8, i8* %27, align 1 + %tobool43 = icmp ne i8 %28, 0 + br i1 %tobool43, label %if.end45, label %do.end + +if.end45: ; preds = %if.end42 + %29 = load i8*, i8** %format.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %29, i64 1 + %30 = load i8, i8* %arrayidx, align 1 + %conv46 = sext i8 %30 to i32 + %cmp47 = icmp ne i32 %conv46, 37 + %31 = load i8*, i8** %format.addr, align 8 + %incdec.ptr50 = getelementptr inbounds i8, i8* %31, i32 1 + store i8* %incdec.ptr50, i8** %format.addr, align 8 + br i1 %cmp47, label %if.then49, label %if.else58 + +if.then49: ; preds = %if.end45 + %fmtpos51 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + store i8* %incdec.ptr50, i8** %fmtpos51, align 8 + %32 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call52 = call i32 @_do_one_spec(%struct.__STDIO_FILE_STRUCT.568* %32, %struct.ppfs_t.722* %ppfs, i32* %count) #18 + store i32 %call52, i32* %r, align 4 + %cmp53 = icmp slt i32 %call52, 0 + br i1 %cmp53, label %if.then55, label %if.end56 + +if.then55: ; preds = %if.then49 + store i32 -1, i32* %count, align 4 + br label %do.end + +if.end56: ; preds = %if.then49 + %fmtpos57 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %33 = load i8*, i8** %fmtpos57, align 8 + store i8* %33, i8** %format.addr, align 8 + store i8* %33, i8** %s, align 8 + br label %do.cond + +if.else58: ; preds = %if.end45 + store i8* %incdec.ptr50, i8** %s, align 8 + %34 = load i8*, i8** %format.addr, align 8 + %incdec.ptr60 = getelementptr inbounds i8, i8* %34, i32 1 + store i8* %incdec.ptr60, i8** %format.addr, align 8 + br label %do.cond + +do.cond: ; preds = %if.end56, %if.else58 + br label %do.body + +do.end: ; preds = %if.end42, %if.then55, %if.then41 + %arg62 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 7 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg62, i64 0, i64 0 + %arraydecay63 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_end(i8* %arraydecay63) + br label %if.end65 + +if.end65: ; preds = %cond.end, %do.end, %if.then + %35 = load i32, i32* %count, align 4 + ret i32 %35 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_do_one_spec(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, %struct.ppfs_t.722* %ppfs, i32* %count) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %count.addr = alloca i32*, align 8 + %argptr = alloca [1 x i8*], align 8 + %argtype = alloca i32*, align 8 + %ws = alloca i32*, align 8 + %mbstate = alloca %struct.__mbstate_t.512, align 4 + %slen = alloca i64, align 8 + %base = alloca i32, align 4 + %numpad = alloca i32, align 4 + %alphacase = alloca i32, align 4 + %numfill = alloca i32, align 4 + %prefix_num = alloca i32, align 4 + %padchar = alloca i8, align 1 + %buf = alloca [128 x i8], align 16 + %p = alloca %union.anon.193*, align 8 + %i = alloca i32, align 4 + %s = alloca i8*, align 8 + %nf = alloca i64, align 8 + %t = alloca i64, align 8 + %t351 = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store i32* %count, i32** %count.addr, align 8 + store i32* null, i32** %ws, align 8 + store i32 0, i32* %numfill, align 4 + store i32 11, i32* %prefix_num, align 4 + store i8 32, i8* %padchar, align 1 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %call = call i32 @_ppfs_parsespec(%struct.ppfs_t.722* %0) #18 + %1 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + call void @_ppfs_setargs(%struct.ppfs_t.722* %1) #18 + %2 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype1 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %2, i32 0, i32 6 + %arraydecay = getelementptr inbounds [9 x i32], [9 x i32]* %argtype1, i64 0, i64 0 + %3 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %3, i32 0, i32 5 + %arrayidx = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber, i64 0, i64 2 + %4 = load i8, i8* %arrayidx, align 2 + %conv = zext i8 %4 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds i32, i32* %arraydecay, i64 %idx.ext + %add.ptr2 = getelementptr inbounds i32, i32* %add.ptr, i64 -1 + store i32* %add.ptr2, i32** %argtype, align 8 + %5 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argvalue = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %5, i32 0, i32 8 + %arraydecay3 = getelementptr inbounds [9 x %union.anon.193], [9 x %union.anon.193]* %argvalue, i64 0, i64 0 + store %union.anon.193* %arraydecay3, %union.anon.193** %p, align 8 + %6 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %6, i32 0, i32 2 + %7 = load i32, i32* %maxposarg, align 4 + %cmp = icmp sgt i32 %7, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %8 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber5 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %8, i32 0, i32 5 + %arrayidx6 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber5, i64 0, i64 2 + %9 = load i8, i8* %arrayidx6, align 2 + %conv7 = zext i8 %9 to i32 + %sub = sub nsw i32 %conv7, 1 + %10 = load %union.anon.193*, %union.anon.193** %p, align 8 + %idx.ext8 = sext i32 %sub to i64 + %add.ptr9 = getelementptr inbounds %union.anon.193, %union.anon.193* %10, i64 %idx.ext8 + store %union.anon.193* %add.ptr9, %union.anon.193** %p, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %11 = load i32, i32* %i, align 4 + %12 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %12, i32 0, i32 3 + %13 = load i32, i32* %num_data_args, align 8 + %cmp10 = icmp slt i32 %11, %13 + br i1 %cmp10, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %14 = load %union.anon.193*, %union.anon.193** %p, align 8 + %incdec.ptr = getelementptr inbounds %union.anon.193, %union.anon.193* %14, i32 1 + store %union.anon.193* %incdec.ptr, %union.anon.193** %p, align 8 + %15 = bitcast %union.anon.193* %14 to i8* + %16 = load i32, i32* %i, align 4 + %idxprom = sext i32 %16 to i64 + %arrayidx12 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 %idxprom + store i8* %15, i8** %arrayidx12, align 8 + %17 = load i32, i32* %i, align 4 + %inc = add nsw i32 %17, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + store i8* null, i8** %s, align 8 + %18 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %18, i32 0, i32 4 + %19 = load i32, i32* %conv_num, align 4 + %cmp13 = icmp eq i32 %19, 0 + br i1 %cmp13, label %if.then15, label %if.end18 + +if.then15: ; preds = %for.end + %arraydecay16 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %20 = load i8*, i8** %arraydecay16, align 8 + %21 = bitcast i8* %20 to i8** + %22 = load i8*, i8** %21, align 8 + %23 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %23, i32 0, i32 1 + %_flags = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 3 + %24 = load i32, i32* %_flags, align 4 + %and = and i32 %24, 3840 + %25 = load i32*, i32** %count.addr, align 8 + %26 = load i32, i32* %25, align 4 + %conv17 = sext i32 %26 to i64 + call void @_store_inttype(i8* %22, i32 %and, i64 %conv17) #18 + store i32 0, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %for.end + %27 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num19 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %27, i32 0, i32 4 + %28 = load i32, i32* %conv_num19, align 4 + %cmp20 = icmp ule i32 %28, 7 + br i1 %cmp20, label %if.then22, label %if.else179 + +if.then22: ; preds = %if.end18 + store i32 87, i32* %alphacase, align 4 + %29 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num23 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %29, i32 0, i32 4 + %30 = load i32, i32* %conv_num23, align 4 + %sub24 = sub i32 %30, 1 + %idxprom25 = sext i32 %sub24 to i64 + %arrayidx26 = getelementptr inbounds [7 x i8], [7 x i8]* @_do_one_spec.spec_base, i64 0, i64 %idxprom25 + %31 = load i8, i8* %arrayidx26, align 1 + %conv27 = sext i8 %31 to i32 + store i32 %conv27, i32* %base, align 4 + %cmp28 = icmp eq i32 %conv27, 10 + br i1 %cmp28, label %if.then30, label %if.end42 + +if.then30: ; preds = %if.then22 + %32 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info31 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %32, i32 0, i32 1 + %_flags32 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info31, i32 0, i32 3 + %33 = load i32, i32* %_flags32, align 4 + %and33 = and i32 %33, 32 + %tobool = icmp ne i32 %and33, 0 + br i1 %tobool, label %if.then34, label %if.end35 + +if.then34: ; preds = %if.then30 + store i32 44, i32* %alphacase, align 4 + br label %if.end35 + +if.end35: ; preds = %if.then34, %if.then30 + %34 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info36 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %34, i32 0, i32 1 + %_flags37 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info36, i32 0, i32 3 + %35 = load i32, i32* %_flags37, align 4 + %and38 = and i32 %35, 64 + %tobool39 = icmp ne i32 %and38, 0 + br i1 %tobool39, label %if.then40, label %if.end42 + +if.then40: ; preds = %if.end35 + %36 = load i32, i32* %alphacase, align 4 + %or = or i32 %36, 128 + store i32 %or, i32* %alphacase, align 4 + br label %if.end42 + +if.end42: ; preds = %if.end35, %if.then40, %if.then22 + %37 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num43 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %37, i32 0, i32 4 + %38 = load i32, i32* %conv_num43, align 4 + %cmp44 = icmp ule i32 %38, 5 + br i1 %cmp44, label %if.then46, label %if.else57 + +if.then46: ; preds = %if.end42 + %39 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num47 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %39, i32 0, i32 4 + %40 = load i32, i32* %conv_num47, align 4 + %cmp48 = icmp eq i32 %40, 3 + br i1 %cmp48, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.then46 + store i32 55, i32* %alphacase, align 4 + br label %if.end51 + +if.end51: ; preds = %if.then50, %if.then46 + %41 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num52 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %41, i32 0, i32 4 + %42 = load i32, i32* %conv_num52, align 4 + %cmp53 = icmp eq i32 %42, 1 + br i1 %cmp53, label %if.then55, label %if.end59 + +if.then55: ; preds = %if.end51 + store i32 6, i32* %prefix_num, align 4 + br label %if.end59 + +if.else57: ; preds = %if.end42 + %43 = load i32, i32* %base, align 4 + %sub58 = sub nsw i32 0, %43 + store i32 %sub58, i32* %base, align 4 + br label %if.end59 + +if.end59: ; preds = %if.then55, %if.end51, %if.else57 + %44 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info60 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %44, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info60, i32 0, i32 0 + %45 = load i32, i32* %prec, align 8 + %cmp61 = icmp slt i32 %45, 0 + br i1 %cmp61, label %if.then63, label %if.end66 + +if.then63: ; preds = %if.end59 + %46 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info64 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %46, i32 0, i32 1 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info64, i32 0, i32 4 + %47 = load i32, i32* %pad, align 8 + %conv65 = trunc i32 %47 to i8 + store i8 %conv65, i8* %padchar, align 1 + br label %if.end66 + +if.end66: ; preds = %if.then63, %if.end59 + %arraydecay67 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %add.ptr68 = getelementptr inbounds i8, i8* %arraydecay67, i64 128 + %add.ptr69 = getelementptr inbounds i8, i8* %add.ptr68, i64 -1 + %48 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num70 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %48, i32 0, i32 4 + %49 = load i32, i32* %conv_num70, align 4 + %cmp71 = icmp eq i32 %49, 1 + br i1 %cmp71, label %cond.end, label %cond.false + +cond.false: ; preds = %if.end66 + %50 = load i32*, i32** %argtype, align 8 + %51 = load i32, i32* %50, align 4 + %and73 = and i32 %51, 3840 + br label %cond.end + +cond.end: ; preds = %if.end66, %cond.false + %cond = phi i32 [ %and73, %cond.false ], [ 1024, %if.end66 ] + %arraydecay74 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %52 = load i8*, i8** %arraydecay74, align 8 + %53 = load i32, i32* %base, align 4 + %call75 = call i64 @_load_inttype(i32 %cond, i8* %52, i32 %53) #18 + %54 = load i32, i32* %base, align 4 + %55 = load i32, i32* %alphacase, align 4 + %call76 = call i8* @_uintmaxtostr(i8* %add.ptr69, i64 %call75, i32 %54, i32 %55) #18 + store i8* %call76, i8** %s, align 8 + %56 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num77 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %56, i32 0, i32 4 + %57 = load i32, i32* %conv_num77, align 4 + %cmp78 = icmp ugt i32 %57, 5 + br i1 %cmp78, label %if.then80, label %if.end104 + +if.then80: ; preds = %cond.end + %58 = load i8*, i8** %s, align 8 + %59 = load i8, i8* %58, align 1 + %conv81 = sext i8 %59 to i32 + %cmp82 = icmp eq i32 %conv81, 45 + %60 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info85 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %60, i32 0, i32 1 + %_flags86 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info85, i32 0, i32 3 + %61 = load i32, i32* %_flags86, align 4 + br i1 %cmp82, label %if.then84, label %if.else89 + +if.then84: ; preds = %if.then80 + %or87 = or i32 %61, 2 + store i32 %or87, i32* %_flags86, align 4 + %62 = load i8*, i8** %s, align 8 + %incdec.ptr88 = getelementptr inbounds i8, i8* %62, i32 1 + store i8* %incdec.ptr88, i8** %s, align 8 + store i32 2, i32* %prefix_num, align 4 + br label %if.end104 + +if.else89: ; preds = %if.then80 + %and92 = and i32 %61, 2 + %tobool93 = icmp ne i32 %and92, 0 + br i1 %tobool93, label %if.then94, label %if.else95 + +if.then94: ; preds = %if.else89 + store i32 0, i32* %prefix_num, align 4 + br label %if.end104 + +if.else95: ; preds = %if.else89 + %63 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info96 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %63, i32 0, i32 1 + %_flags97 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info96, i32 0, i32 3 + %64 = load i32, i32* %_flags97, align 4 + %and98 = and i32 %64, 1 + %tobool99 = icmp ne i32 %and98, 0 + br i1 %tobool99, label %if.then100, label %if.end104 + +if.then100: ; preds = %if.else95 + store i32 4, i32* %prefix_num, align 4 + br label %if.end104 + +if.end104: ; preds = %if.then84, %if.else95, %if.then100, %if.then94, %cond.end + %arraydecay105 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %add.ptr106 = getelementptr inbounds i8, i8* %arraydecay105, i64 128 + %add.ptr107 = getelementptr inbounds i8, i8* %add.ptr106, i64 -1 + %65 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %add.ptr107 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %65 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %slen, align 8 + %66 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info108 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %66, i32 0, i32 1 + %prec109 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info108, i32 0, i32 0 + %67 = load i32, i32* %prec109, align 8 + %cmp110 = icmp slt i32 %67, 0 + br i1 %cmp110, label %cond.end116, label %cond.false113 + +cond.false113: ; preds = %if.end104 + %68 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info114 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %68, i32 0, i32 1 + %prec115 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info114, i32 0, i32 0 + %69 = load i32, i32* %prec115, align 8 + br label %cond.end116 + +cond.end116: ; preds = %if.end104, %cond.false113 + %cond117 = phi i32 [ %69, %cond.false113 ], [ 1, %if.end104 ] + store i32 %cond117, i32* %numfill, align 4 + %70 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info118 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %70, i32 0, i32 1 + %_flags119 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info118, i32 0, i32 3 + %71 = load i32, i32* %_flags119, align 4 + %and120 = and i32 %71, 16 + %tobool121 = icmp ne i32 %and120, 0 + br i1 %tobool121, label %if.then122, label %if.end149 + +if.then122: ; preds = %cond.end116 + %72 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num123 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %72, i32 0, i32 4 + %73 = load i32, i32* %conv_num123, align 4 + %cmp124 = icmp ule i32 %73, 2 + br i1 %cmp124, label %if.then126, label %if.end127 + +if.then126: ; preds = %if.then122 + store i32 6, i32* %prefix_num, align 4 + br label %if.end127 + +if.end127: ; preds = %if.then126, %if.then122 + %74 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num128 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %74, i32 0, i32 4 + %75 = load i32, i32* %conv_num128, align 4 + %cmp129 = icmp eq i32 %75, 3 + br i1 %cmp129, label %if.then131, label %if.end132 + +if.then131: ; preds = %if.end127 + store i32 9, i32* %prefix_num, align 4 + br label %if.end132 + +if.end132: ; preds = %if.then131, %if.end127 + %76 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num133 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %76, i32 0, i32 4 + %77 = load i32, i32* %conv_num133, align 4 + %cmp134 = icmp eq i32 %77, 4 + br i1 %cmp134, label %land.lhs.true, label %if.end149 + +land.lhs.true: ; preds = %if.end132 + %78 = load i32, i32* %numfill, align 4 + %conv136 = sext i32 %78 to i64 + %79 = load i64, i64* %slen, align 8 + %cmp137 = icmp ule i64 %conv136, %79 + br i1 %cmp137, label %if.then139, label %if.end149 + +if.then139: ; preds = %land.lhs.true + %80 = load i8*, i8** %s, align 8 + %81 = load i8, i8* %80, align 1 + %conv140 = sext i8 %81 to i32 + %cmp141 = icmp eq i32 %conv140, 48 + %82 = load i64, i64* %slen, align 8 + %add = add i64 %82, 1 + %cond146 = select i1 %cmp141, i64 1, i64 %add + %conv147 = trunc i64 %cond146 to i32 + store i32 %conv147, i32* %numfill, align 4 + br label %if.end149 + +if.end149: ; preds = %if.end132, %land.lhs.true, %if.then139, %cond.end116 + %83 = load i8*, i8** %s, align 8 + %84 = load i8, i8* %83, align 1 + %conv150 = sext i8 %84 to i32 + %cmp151 = icmp eq i32 %conv150, 48 + br i1 %cmp151, label %if.then153, label %if.end168 + +if.then153: ; preds = %if.end149 + %85 = load i32, i32* %prefix_num, align 4 + %cmp154 = icmp sge i32 %85, 6 + br i1 %cmp154, label %if.then156, label %if.end157 + +if.then156: ; preds = %if.then153 + store i32 11, i32* %prefix_num, align 4 + br label %if.end157 + +if.end157: ; preds = %if.then156, %if.then153 + %86 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num158 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %86, i32 0, i32 4 + %87 = load i32, i32* %conv_num158, align 4 + %cmp159 = icmp eq i32 %87, 1 + br i1 %cmp159, label %if.then161, label %if.else162 + +if.then161: ; preds = %if.end157 + store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.317, i64 0, i64 0), i8** %s, align 8 + store i64 5, i64* %slen, align 8 + store i32 0, i32* %numfill, align 4 + br label %if.end168 + +if.else162: ; preds = %if.end157 + %88 = load i32, i32* %numfill, align 4 + %cmp163 = icmp eq i32 %88, 0 + br i1 %cmp163, label %if.then165, label %if.end168 + +if.then165: ; preds = %if.else162 + store i64 0, i64* %slen, align 8 + br label %if.end168 + +if.end168: ; preds = %if.then161, %if.then165, %if.else162, %if.end149 + %89 = load i32, i32* %numfill, align 4 + %conv169 = sext i32 %89 to i64 + %90 = load i64, i64* %slen, align 8 + %cmp170 = icmp ugt i64 %conv169, %90 + %91 = load i32, i32* %numfill, align 4 + %conv173 = sext i32 %91 to i64 + %92 = load i64, i64* %slen, align 8 + %sub174 = sub i64 %conv173, %92 + %cond177 = select i1 %cmp170, i64 %sub174, i64 0 + %conv178 = trunc i64 %cond177 to i32 + store i32 %conv178, i32* %numfill, align 4 + br label %if.end278 + +if.else179: ; preds = %if.end18 + %93 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num180 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %93, i32 0, i32 4 + %94 = load i32, i32* %conv_num180, align 4 + %cmp181 = icmp ule i32 %94, 15 + br i1 %cmp181, label %if.then183, label %if.else203 + +if.then183: ; preds = %if.else179 + %95 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %arraydecay189 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %96 = load i8*, i8** %arraydecay189, align 8 + %97 = bitcast i8* %96 to double* + %98 = load double, double* %97, align 8 + %99 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info194 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %99, i32 0, i32 1 + %call195 = call i64 @_fpmaxtostr(%struct.__STDIO_FILE_STRUCT.568* %95, double %98, %struct.printf_info.720* %info194, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)* @_fp_out_narrow) #18 + store i64 %call195, i64* %nf, align 8 + %100 = load i64, i64* %nf, align 8 + %cmp196 = icmp slt i64 %100, 0 + br i1 %cmp196, label %if.then198, label %if.end199 + +if.then198: ; preds = %if.then183 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end199: ; preds = %if.then183 + %101 = load i64, i64* %nf, align 8 + %102 = load i32*, i32** %count.addr, align 8 + %103 = load i32, i32* %102, align 4 + %conv200 = sext i32 %103 to i64 + %add201 = add nsw i64 %conv200, %101 + %conv202 = trunc i64 %add201 to i32 + store i32 %conv202, i32* %102, align 4 + store i32 0, i32* %retval, align 4 + br label %return + +if.else203: ; preds = %if.else179 + %104 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num204 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %104, i32 0, i32 4 + %105 = load i32, i32* %conv_num204, align 4 + %cmp205 = icmp ule i32 %105, 17 + br i1 %cmp205, label %if.then207, label %if.else242 + +if.then207: ; preds = %if.else203 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %mbstate, i32 0, i32 0 + store i32 0, i32* %__mask, align 4 + %106 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num208 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %106, i32 0, i32 4 + %107 = load i32, i32* %conv_num208, align 4 + %cmp209 = icmp eq i32 %107, 17 + br i1 %cmp209, label %if.then211, label %if.else232 + +if.then211: ; preds = %if.then207 + %arraydecay212 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %108 = load i8*, i8** %arraydecay212, align 8 + %109 = bitcast i8* %108 to i32** + %110 = load i32*, i32** %109, align 8 + store i32* %110, i32** %ws, align 8 + %tobool213 = icmp ne i32* %110, null + br i1 %tobool213, label %if.end215, label %NULL_STRING + +if.end215: ; preds = %if.then211 + %111 = bitcast i32** %ws to i8* + %112 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info216 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %112, i32 0, i32 1 + %prec217 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info216, i32 0, i32 0 + %113 = load i32, i32* %prec217, align 8 + %cmp218 = icmp sge i32 %113, 0 + br i1 %cmp218, label %cond.true220, label %cond.end225 + +cond.true220: ; preds = %if.end215 + %114 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info221 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %114, i32 0, i32 1 + %prec222 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info221, i32 0, i32 0 + %115 = load i32, i32* %prec222, align 8 + %conv223 = sext i32 %115 to i64 + br label %cond.end225 + +cond.end225: ; preds = %if.end215, %cond.true220 + %cond226 = phi i64 [ %conv223, %cond.true220 ], [ -1, %if.end215 ] + %call227 = call i64 @wcsrtombs(i8* %111, i32** %ws, i64 %cond226, %struct.__mbstate_t.512* %mbstate) #19 + store i64 %call227, i64* %slen, align 8 + %cmp228 = icmp eq i64 %call227, -1 + br i1 %cmp228, label %if.then230, label %if.end278 + +if.then230: ; preds = %cond.end225 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else232: ; preds = %if.then207 + %arraydecay233 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay233, i8** %s, align 8 + %116 = load i8*, i8** %s, align 8 + %arraydecay234 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %117 = load i8*, i8** %arraydecay234, align 8 + %118 = bitcast i8* %117 to i32* + %119 = load i32, i32* %118, align 4 + %call235 = call i64 @wcrtomb(i8* %116, i32 %119, %struct.__mbstate_t.512* %mbstate) #19 + store i64 %call235, i64* %slen, align 8 + %120 = load i64, i64* %slen, align 8 + %cmp236 = icmp eq i64 %120, -1 + br i1 %cmp236, label %if.then238, label %if.end239 + +if.then238: ; preds = %if.else232 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end239: ; preds = %if.else232 + %121 = load i8*, i8** %s, align 8 + %122 = load i64, i64* %slen, align 8 + %arrayidx240 = getelementptr inbounds i8, i8* %121, i64 %122 + store i8 0, i8* %arrayidx240, align 1 + br label %if.end278 + +if.else242: ; preds = %if.else203 + %123 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num243 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %123, i32 0, i32 4 + %124 = load i32, i32* %conv_num243, align 4 + %cmp244 = icmp ule i32 %124, 19 + br i1 %cmp244, label %if.then246, label %if.else274 + +if.then246: ; preds = %if.else242 + %125 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num247 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %125, i32 0, i32 4 + %126 = load i32, i32* %conv_num247, align 4 + %cmp248 = icmp eq i32 %126, 19 + br i1 %cmp248, label %if.then250, label %if.else268 + +if.then250: ; preds = %if.then246 + %arraydecay251 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %127 = load i8*, i8** %arraydecay251, align 8 + %128 = bitcast i8* %127 to i8** + %129 = load i8*, i8** %128, align 8 + store i8* %129, i8** %s, align 8 + %130 = load i8*, i8** %s, align 8 + %tobool252 = icmp ne i8* %130, null + br i1 %tobool252, label %if.then253, label %NULL_STRING + +if.then253: ; preds = %if.then250 + %131 = load i8*, i8** %s, align 8 + %132 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info254 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %132, i32 0, i32 1 + %prec255 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info254, i32 0, i32 0 + %133 = load i32, i32* %prec255, align 8 + %cmp256 = icmp sge i32 %133, 0 + br i1 %cmp256, label %cond.true258, label %cond.end263 + +cond.true258: ; preds = %if.then253 + %134 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info259 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %134, i32 0, i32 1 + %prec260 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info259, i32 0, i32 0 + %135 = load i32, i32* %prec260, align 8 + %conv261 = sext i32 %135 to i64 + br label %cond.end263 + +cond.end263: ; preds = %if.then253, %cond.true258 + %cond264 = phi i64 [ %conv261, %cond.true258 ], [ -1, %if.then253 ] + %call265 = call i64 @strnlen(i8* %131, i64 %cond264) #20 + store i64 %call265, i64* %slen, align 8 + br label %if.end278 + +NULL_STRING: ; preds = %if.then250, %if.then211 + store i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.318, i64 0, i64 0), i8** %s, align 8 + store i64 6, i64* %slen, align 8 + br label %if.end278 + +if.else268: ; preds = %if.then246 + %arraydecay269 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay269, i8** %s, align 8 + %arraydecay270 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %136 = load i8*, i8** %arraydecay270, align 8 + %137 = bitcast i8* %136 to i32* + %138 = load i32, i32* %137, align 4 + %conv271 = trunc i32 %138 to i8 + %139 = load i8*, i8** %s, align 8 + store i8 %conv271, i8* %139, align 1 + %140 = load i8*, i8** %s, align 8 + %arrayidx272 = getelementptr inbounds i8, i8* %140, i64 1 + store i8 0, i8* %arrayidx272, align 1 + store i64 1, i64* %slen, align 8 + br label %if.end278 + +if.else274: ; preds = %if.else242 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end278: ; preds = %cond.end263, %NULL_STRING, %if.else268, %if.end239, %cond.end225, %if.end168 + %141 = load i64, i64* %slen, align 8 + %142 = load i32, i32* %numfill, align 4 + %conv279 = sext i32 %142 to i64 + %add280 = add i64 %141, %conv279 + store i64 %add280, i64* %t, align 8 + %143 = load i32, i32* %prefix_num, align 4 + %cmp281 = icmp ne i32 %143, 11 + br i1 %cmp281, label %if.then283, label %if.end289 + +if.then283: ; preds = %if.end278 + %144 = load i32, i32* %prefix_num, align 4 + %cmp284 = icmp slt i32 %144, 6 + %145 = zext i1 %cmp284 to i64 + %cond286 = select i1 %cmp284, i32 1, i32 2 + %conv287 = sext i32 %cond286 to i64 + %146 = load i64, i64* %t, align 8 + %add288 = add i64 %146, %conv287 + store i64 %add288, i64* %t, align 8 + br label %if.end289 + +if.end289: ; preds = %if.then283, %if.end278 + %147 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info290 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %147, i32 0, i32 1 + %width = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info290, i32 0, i32 1 + %148 = load i32, i32* %width, align 4 + %conv291 = sext i32 %148 to i64 + %149 = load i64, i64* %t, align 8 + %cmp292 = icmp ugt i64 %conv291, %149 + br i1 %cmp292, label %cond.true294, label %cond.end300 + +cond.true294: ; preds = %if.end289 + %150 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info295 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %150, i32 0, i32 1 + %width296 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info295, i32 0, i32 1 + %151 = load i32, i32* %width296, align 4 + %conv297 = sext i32 %151 to i64 + %152 = load i64, i64* %t, align 8 + %sub298 = sub i64 %conv297, %152 + br label %cond.end300 + +cond.end300: ; preds = %if.end289, %cond.true294 + %cond301 = phi i64 [ %sub298, %cond.true294 ], [ 0, %if.end289 ] + %conv302 = trunc i64 %cond301 to i32 + store i32 %conv302, i32* %numpad, align 4 + %153 = load i64, i64* %t, align 8 + %154 = load i32, i32* %numpad, align 4 + %conv303 = sext i32 %154 to i64 + %add304 = add i64 %153, %conv303 + %155 = load i32*, i32** %count.addr, align 8 + %156 = load i32, i32* %155, align 4 + %conv305 = sext i32 %156 to i64 + %add306 = add i64 %conv305, %add304 + %conv307 = trunc i64 %add306 to i32 + store i32 %conv307, i32* %155, align 4 + %157 = load i8, i8* %padchar, align 1 + %conv308 = sext i8 %157 to i32 + %cmp309 = icmp eq i32 %conv308, 48 + br i1 %cmp309, label %if.then311, label %if.end313 + +if.then311: ; preds = %cond.end300 + %158 = load i32, i32* %numpad, align 4 + %159 = load i32, i32* %numfill, align 4 + %add312 = add nsw i32 %159, %158 + store i32 %add312, i32* %numfill, align 4 + store i32 0, i32* %numpad, align 4 + br label %if.end313 + +if.end313: ; preds = %if.then311, %cond.end300 + %160 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info314 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %160, i32 0, i32 1 + %_flags315 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info314, i32 0, i32 3 + %161 = load i32, i32* %_flags315, align 4 + %and316 = and i32 %161, 8 + %tobool317 = icmp ne i32 %and316, 0 + br i1 %tobool317, label %if.end326, label %if.then318 + +if.then318: ; preds = %if.end313 + %162 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %163 = load i32, i32* %numpad, align 4 + %conv319 = sext i32 %163 to i64 + %call320 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %162, i32 32, i64 %conv319) #18 + %164 = load i32, i32* %numpad, align 4 + %conv321 = sext i32 %164 to i64 + %cmp322 = icmp ne i64 %call320, %conv321 + br i1 %cmp322, label %if.then324, label %if.end325 + +if.then324: ; preds = %if.then318 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end325: ; preds = %if.then318 + store i32 0, i32* %numpad, align 4 + br label %if.end326 + +if.end326: ; preds = %if.end325, %if.end313 + %165 = load i32, i32* %prefix_num, align 4 + %idx.ext327 = sext i32 %165 to i64 + %add.ptr328 = getelementptr inbounds i8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @_do_one_spec.prefix, i64 0, i64 0), i64 %idx.ext327 + %166 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call329 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct.__STDIO_FILE_STRUCT.568*)*)(i8* %add.ptr328, %struct.__STDIO_FILE_STRUCT.568* %166) #18 + %167 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %168 = load i32, i32* %numfill, align 4 + %conv330 = sext i32 %168 to i64 + %call331 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %167, i32 48, i64 %conv330) #18 + %169 = load i32, i32* %numfill, align 4 + %conv332 = sext i32 %169 to i64 + %cmp333 = icmp ne i64 %call331, %conv332 + br i1 %cmp333, label %if.then335, label %if.end336 + +if.then335: ; preds = %if.end326 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end336: ; preds = %if.end326 + %170 = load i32*, i32** %ws, align 8 + %tobool337 = icmp ne i32* %170, null + br i1 %tobool337, label %if.else350, label %if.then338 + +if.then338: ; preds = %if.end336 + %171 = load i64, i64* %slen, align 8 + %cmp339 = icmp ugt i64 %171, 0 + br i1 %cmp339, label %cond.true341, label %cond.end344 + +cond.true341: ; preds = %if.then338 + %172 = load i8*, i8** %s, align 8 + %173 = load i64, i64* %slen, align 8 + %174 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call342 = call i64 bitcast (i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.621*)* @__stdio_fwrite to i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.568*)*)(i8* %172, i64 %173, %struct.__STDIO_FILE_STRUCT.568* %174) #18 + br label %cond.end344 + +cond.end344: ; preds = %if.then338, %cond.true341 + %cond345 = phi i64 [ %call342, %cond.true341 ], [ 0, %if.then338 ] + %175 = load i64, i64* %slen, align 8 + %cmp346 = icmp ne i64 %cond345, %175 + br i1 %cmp346, label %if.then348, label %if.end375 + +if.then348: ; preds = %cond.end344 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else350: ; preds = %if.end336 + %__mask352 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %mbstate, i32 0, i32 0 + store i32 0, i32* %__mask352, align 4 + br label %while.cond + +while.cond: ; preds = %if.end373, %if.else350 + %176 = load i64, i64* %slen, align 8 + %tobool353 = icmp ne i64 %176, 0 + br i1 %tobool353, label %while.body, label %if.end375 + +while.body: ; preds = %while.cond + %177 = load i64, i64* %slen, align 8 + %cmp354 = icmp ule i64 %177, 128 + %178 = load i64, i64* %slen, align 8 + %cond359 = select i1 %cmp354, i64 %178, i64 128 + store i64 %cond359, i64* %t351, align 8 + %arraydecay360 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %179 = load i64, i64* %t351, align 8 + %call361 = call i64 @wcsrtombs(i8* %arraydecay360, i32** %ws, i64 %179, %struct.__mbstate_t.512* %mbstate) #19 + store i64 %call361, i64* %t351, align 8 + %180 = load i64, i64* %t351, align 8 + %cmp362 = icmp ugt i64 %180, 0 + br i1 %cmp362, label %cond.true364, label %cond.end368 + +cond.true364: ; preds = %while.body + %arraydecay365 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %181 = load i64, i64* %t351, align 8 + %182 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call366 = call i64 bitcast (i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.621*)* @__stdio_fwrite to i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.568*)*)(i8* %arraydecay365, i64 %181, %struct.__STDIO_FILE_STRUCT.568* %182) #18 + br label %cond.end368 + +cond.end368: ; preds = %while.body, %cond.true364 + %cond369 = phi i64 [ %call366, %cond.true364 ], [ 0, %while.body ] + %183 = load i64, i64* %t351, align 8 + %cmp370 = icmp ne i64 %cond369, %183 + br i1 %cmp370, label %if.then372, label %if.end373 + +if.then372: ; preds = %cond.end368 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end373: ; preds = %cond.end368 + %184 = load i64, i64* %t351, align 8 + %185 = load i64, i64* %slen, align 8 + %sub374 = sub i64 %185, %184 + store i64 %sub374, i64* %slen, align 8 + br label %while.cond + +if.end375: ; preds = %while.cond, %cond.end344 + %186 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %187 = load i32, i32* %numpad, align 4 + %conv376 = sext i32 %187 to i64 + %call377 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %186, i32 32, i64 %conv376) #18 + %188 = load i32, i32* %numpad, align 4 + %conv378 = sext i32 %188 to i64 + %cmp379 = icmp ne i64 %call377, %conv378 + br i1 %cmp379, label %if.then381, label %if.end382 + +if.then381: ; preds = %if.end375 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end382: ; preds = %if.end375 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end382, %if.then381, %if.then372, %if.then348, %if.then335, %if.then324, %if.else274, %if.then238, %if.then230, %if.end199, %if.then198, %if.then15 + %189 = load i32, i32* %retval, align 4 + ret i32 %189 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @_fp_out_narrow(%struct.__STDIO_FILE_STRUCT.568* %fp, i64 %type, i64 %len, i64 %buf) #0 { +entry: + %retval = alloca i64, align 8 + %fp.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %type.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %buf.addr = alloca i64, align 8 + %r = alloca i64, align 8 + %buflen = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %fp, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + store i64 %type, i64* %type.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store i64 %buf, i64* %buf.addr, align 8 + store i64 0, i64* %r, align 8 + %0 = load i64, i64* %type.addr, align 8 + %and = and i64 %0, 128 + %tobool = icmp ne i64 %and, 0 + br i1 %tobool, label %if.then, label %if.end12 + +if.then: ; preds = %entry + %1 = load i64, i64* %buf.addr, align 8 + %2 = inttoptr i64 %1 to i8* + %call = call i64 @strlen(i8* %2) #20 + %conv = trunc i64 %call to i32 + store i32 %conv, i32* %buflen, align 4 + %3 = load i32, i32* %buflen, align 4 + %conv1 = sext i32 %3 to i64 + %4 = load i64, i64* %len.addr, align 8 + %sub = sub nsw i64 %4, %conv1 + store i64 %sub, i64* %len.addr, align 8 + %cmp = icmp sgt i64 %sub, 0 + br i1 %cmp, label %if.then3, label %if.end10 + +if.then3: ; preds = %if.then + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + %6 = load i64, i64* %type.addr, align 8 + %and4 = and i64 %6, 127 + %conv5 = trunc i64 %and4 to i32 + %7 = load i64, i64* %len.addr, align 8 + %call6 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %5, i32 %conv5, i64 %7) #18 + store i64 %call6, i64* %r, align 8 + %8 = load i64, i64* %len.addr, align 8 + %cmp7 = icmp ne i64 %call6, %8 + br i1 %cmp7, label %if.then9, label %if.end10 + +if.then9: ; preds = %if.then3 + %9 = load i64, i64* %r, align 8 + store i64 %9, i64* %retval, align 8 + br label %return + +if.end10: ; preds = %if.then3, %if.then + %10 = load i32, i32* %buflen, align 4 + %conv11 = sext i32 %10 to i64 + store i64 %conv11, i64* %len.addr, align 8 + br label %if.end12 + +if.end12: ; preds = %if.end10, %entry + %11 = load i64, i64* %r, align 8 + %12 = load i64, i64* %len.addr, align 8 + %cmp13 = icmp sgt i64 %12, 0 + br i1 %cmp13, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end12 + %13 = load i64, i64* %buf.addr, align 8 + %14 = inttoptr i64 %13 to i8* + %15 = load i64, i64* %len.addr, align 8 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + %call15 = call i64 bitcast (i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.621*)* @__stdio_fwrite to i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.568*)*)(i8* %14, i64 %15, %struct.__STDIO_FILE_STRUCT.568* %16) #18 + br label %cond.end + +cond.end: ; preds = %if.end12, %cond.true + %cond = phi i64 [ %call15, %cond.true ], [ 0, %if.end12 ] + %add = add i64 %11, %cond + store i64 %add, i64* %retval, align 8 + br label %return + +return: ; preds = %cond.end, %if.then9 + %17 = load i64, i64* %retval, align 8 + ret i64 %17 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %padchar, i64 %numpad) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %padchar.addr = alloca i32, align 4 + %numpad.addr = alloca i64, align 8 + %todo = alloca i64, align 8 + %pad = alloca [1 x i8], align 1 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %padchar, i32* %padchar.addr, align 4 + store i64 %numpad, i64* %numpad.addr, align 8 + %0 = load i64, i64* %numpad.addr, align 8 + store i64 %0, i64* %todo, align 8 + %1 = load i32, i32* %padchar.addr, align 4 + %conv = trunc i32 %1 to i8 + %arraydecay = getelementptr inbounds [1 x i8], [1 x i8]* %pad, i64 0, i64 0 + store i8 %conv, i8* %arraydecay, align 1 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %2 = load i64, i64* %todo, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %arraydecay1 = getelementptr inbounds [1 x i8], [1 x i8]* %pad, i64 0, i64 0 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i64 bitcast (i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.621*)* @__stdio_fwrite to i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.568*)*)(i8* %arraydecay1, i64 1, %struct.__STDIO_FILE_STRUCT.568* %3) #18 + %cmp = icmp eq i64 %call, 1 + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %land.rhs + %4 = load i64, i64* %todo, align 8 + %dec = add i64 %4, -1 + store i64 %dec, i64* %todo, align 8 + br label %while.cond + +while.end: ; preds = %while.cond, %land.rhs + %5 = load i64, i64* %numpad.addr, align 8 + %6 = load i64, i64* %todo, align 8 + %sub = sub i64 %5, %6 + ret i64 %sub +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__cxa_atexit(void (i8*)* %func, i8* %arg, i8* %dso_handle) #0 { +entry: + %retval = alloca i32, align 4 + %func.addr = alloca void (i8*)*, align 8 + %arg.addr = alloca i8*, align 8 + %dso_handle.addr = alloca i8*, align 8 + %efp = alloca %struct.exit_function*, align 8 + store void (i8*)* %func, void (i8*)** %func.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i8* %dso_handle, i8** %dso_handle.addr, align 8 + %0 = load void (i8*)*, void (i8*)** %func.addr, align 8 + %cmp = icmp eq void (i8*)* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %call = call %struct.exit_function* @__new_exitfn() #18 + store %struct.exit_function* %call, %struct.exit_function** %efp, align 8 + %1 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %cmp1 = icmp eq %struct.exit_function* %1, null + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + store i32 -1, i32* %retval, align 4 + br label %return + +if.end3: ; preds = %if.end + %2 = load void (i8*)*, void (i8*)** %func.addr, align 8 + %3 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs = getelementptr inbounds %struct.exit_function, %struct.exit_function* %3, i32 0, i32 1 + %cxa_atexit = bitcast %union.anon.772* %funcs to %struct.anon.0.771* + %func4 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit, i32 0, i32 0 + store void (i8*)* %2, void (i8*)** %func4, align 8 + %4 = load i8*, i8** %arg.addr, align 8 + %5 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs5 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %5, i32 0, i32 1 + %cxa_atexit6 = bitcast %union.anon.772* %funcs5 to %struct.anon.0.771* + %arg7 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit6, i32 0, i32 1 + store i8* %4, i8** %arg7, align 8 + %6 = load i8*, i8** %dso_handle.addr, align 8 + %7 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs8 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %7, i32 0, i32 1 + %cxa_atexit9 = bitcast %union.anon.772* %funcs8 to %struct.anon.0.771* + %dso_handle10 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit9, i32 0, i32 2 + store i8* %6, i8** %dso_handle10, align 8 + %8 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %type = getelementptr inbounds %struct.exit_function, %struct.exit_function* %8, i32 0, i32 0 + store i64 3, i64* %type, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end3, %if.then2, %if.then + %9 = load i32, i32* %retval, align 4 + ret i32 %9 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @memmove(i8* nonnull %s1, i8* nonnull %s2, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %p, align 8 + %2 = load i8*, i8** %p, align 8 + %3 = load i8*, i8** %s, align 8 + %cmp = icmp uge i8* %2, %3 + br i1 %cmp, label %while.cond, label %while.cond2 + +while.cond: ; preds = %entry, %while.body + %4 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %4, 0 + br i1 %tobool, label %while.body, label %if.end + +while.body: ; preds = %while.cond + %5 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %6 = load i8, i8* %5, align 1 + %7 = load i8*, i8** %s, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %7, i32 1 + store i8* %incdec.ptr1, i8** %s, align 8 + store i8 %6, i8* %7, align 1 + %8 = load i64, i64* %n.addr, align 8 + %dec = add i64 %8, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.cond2: ; preds = %entry, %while.body4 + %9 = load i64, i64* %n.addr, align 8 + %tobool3 = icmp ne i64 %9, 0 + br i1 %tobool3, label %while.body4, label %if.end + +while.body4: ; preds = %while.cond2 + %10 = load i64, i64* %n.addr, align 8 + %dec5 = add i64 %10, -1 + store i64 %dec5, i64* %n.addr, align 8 + %11 = load i8*, i8** %p, align 8 + %12 = load i64, i64* %n.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %11, i64 %12 + %13 = load i8, i8* %arrayidx, align 1 + %14 = load i8*, i8** %s, align 8 + %15 = load i64, i64* %n.addr, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %14, i64 %15 + store i8 %13, i8* %arrayidx6, align 1 + br label %while.cond2 + +if.end: ; preds = %while.cond2, %while.cond + %16 = load i8*, i8** %s1.addr, align 8 + ret i8* %16 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @mempcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r1 = alloca i8*, align 8 + %r2 = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %r1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %r2, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %2 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load i8*, i8** %r2, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %r2, align 8 + %4 = load i8, i8* %3, align 1 + %5 = load i8*, i8** %r1, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr1, i8** %r1, align 8 + store i8 %4, i8* %5, align 1 + %6 = load i64, i64* %n.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %7 = load i8*, i8** %r1, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @stpcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + br label %while.cond + +while.cond: ; preds = %while.cond, %entry + %0 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %0, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %1 = load i8, i8* %0, align 1 + %2 = load i8*, i8** %s1.addr, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %2, i32 1 + store i8* %incdec.ptr1, i8** %s1.addr, align 8 + store i8 %1, i8* %2, align 1 + %conv = sext i8 %1 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %while.cond, label %while.end + +while.end: ; preds = %while.cond + %3 = load i8*, i8** %s1.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %3, i64 -1 + ret i8* %add.ptr +} + +; Function Attrs: noinline nounwind uwtable +define i8* @strcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + br label %while.cond + +while.cond: ; preds = %while.cond, %entry + %1 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %1, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %2 = load i8, i8* %1, align 1 + %3 = load i8*, i8** %s, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr1, i8** %s, align 8 + store i8 %2, i8* %3, align 1 + %conv = sext i8 %2 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %while.cond, label %while.end + +while.end: ; preds = %while.cond + %4 = load i8*, i8** %s1.addr, align 8 + ret i8* %4 +} + +; Function Attrs: noinline nounwind uwtable +define noalias i8* @strdup(i8* nonnull %s1) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + %l = alloca i64, align 8 + store i8* %s1, i8** %s1.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + %call = call i64 @strlen(i8* %0) #20 + %add = add i64 %call, 1 + %mul = mul i64 %add, 1 + store i64 %mul, i64* %l, align 8 + %1 = load i64, i64* %l, align 8 + %call1 = call noalias i8* @malloc(i64 %1) #19 + store i8* %call1, i8** %s, align 8 + %cmp = icmp ne i8* %call1, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load i8*, i8** %s, align 8 + %3 = load i8*, i8** %s1.addr, align 8 + %4 = load i64, i64* %l, align 8 + %call2 = call i8* @memcpy(i8* %2, i8* %3, i64 %4) #19 + br label %if.end + +if.end: ; preds = %if.then, %entry + %5 = load i8*, i8** %s, align 8 + ret i8* %5 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @strerror(i32 %errnum) #0 { +entry: + %errnum.addr = alloca i32, align 4 + store i32 %errnum, i32* %errnum.addr, align 4 + %0 = load i32, i32* %errnum.addr, align 4 + %call = call i32 @__xpg_strerror_r(i32 %0, i8* getelementptr inbounds ([50 x i8], [50 x i8]* @strerror.buf, i64 0, i64 0), i64 50) #18 + ret i8* getelementptr inbounds ([50 x i8], [50 x i8]* @strerror.buf, i64 0, i64 0) +} + +; Function Attrs: noinline nounwind uwtable +define i64 @wcrtomb(i8* noalias %s, i32 %wc, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %s.addr = alloca i8*, align 8 + %wc.addr = alloca i32, align 4 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %wcbuf = alloca [1 x i32], align 4 + %pwc = alloca i32*, align 8 + %r = alloca i64, align 8 + %buf = alloca [16 x i8], align 16 + store i8* %s, i8** %s.addr, align 8 + store i32 %wc, i32* %wc.addr, align 4 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay, i8** %s.addr, align 8 + store i32 0, i32* %wc.addr, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %arraydecay1 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay1, i32** %pwc, align 8 + %1 = load i32, i32* %wc.addr, align 4 + %arrayidx = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32 %1, i32* %arrayidx, align 4 + %2 = load i8*, i8** %s.addr, align 8 + %3 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @wcsnrtombs(i8* %2, i32** %pwc, i64 1, i64 16, %struct.__mbstate_t.512* %3) #19 + store i64 %call, i64* %r, align 8 + %4 = load i64, i64* %r, align 8 + %cmp = icmp ne i64 %4, 0 + %5 = load i64, i64* %r, align 8 + %cond = select i1 %cmp, i64 %5, i64 1 + ret i64 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i64 @wcsrtombs(i8* noalias %dst, i32** noalias %src, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %dst.addr = alloca i8*, align 8 + %src.addr = alloca i32**, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + store i8* %dst, i8** %dst.addr, align 8 + store i32** %src, i32*** %src.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load i8*, i8** %dst.addr, align 8 + %1 = load i32**, i32*** %src.addr, align 8 + %2 = load i64, i64* %len.addr, align 8 + %3 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @wcsnrtombs(i8* %0, i32** %1, i64 -1, i64 %2, %struct.__mbstate_t.512* %3) #19 + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @iswctype_l(i32 %wc, i32 %desc, %struct.__uclibc_locale_struct.201* %locale) #0 { +entry: + %retval = alloca i32, align 4 + %wc.addr = alloca i32, align 4 + %desc.addr = alloca i32, align 4 + %locale.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %sc = alloca i32, align 4 + %n = alloca i32, align 4 + %i0 = alloca i32, align 4 + %i1 = alloca i32, align 4 + %d = alloca i8, align 1 + store i32 %wc, i32* %wc.addr, align 4 + store i32 %desc, i32* %desc.addr, align 4 + store %struct.__uclibc_locale_struct.201* %locale, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + store i8 0, i8* %d, align 1 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 9 + %1 = load i8, i8* %encoding, align 8 + %conv = zext i8 %1 to i32 + %cmp = icmp ne i32 %conv, 0 + %2 = load i32, i32* %wc.addr, align 4 + %cmp2 = icmp ule i32 %2, 127 + %or.cond = or i1 %cmp, %cmp2 + br i1 %or.cond, label %if.then, label %if.end78 + +if.then: ; preds = %entry + %3 = load i32, i32* %desc.addr, align 4 + %cmp4 = icmp ult i32 %3, 12 + br i1 %cmp4, label %if.then6, label %if.end58 + +if.then6: ; preds = %if.then + %4 = load i32, i32* %wc.addr, align 4 + %cmp7 = icmp ule i32 %4, 196607 + %5 = load i32, i32* %wc.addr, align 4 + br i1 %cmp7, label %if.then9, label %if.else + +if.then9: ; preds = %if.then6 + %and = and i32 %5, 7 + store i32 %and, i32* %sc, align 4 + %6 = load i32, i32* %wc.addr, align 4 + %shr = lshr i32 %6, 3 + store i32 %shr, i32* %wc.addr, align 4 + %7 = load i32, i32* %wc.addr, align 4 + %and10 = and i32 %7, 31 + store i32 %and10, i32* %n, align 4 + %8 = load i32, i32* %wc.addr, align 4 + %shr11 = lshr i32 %8, 5 + store i32 %shr11, i32* %wc.addr, align 4 + %9 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %tblwctype = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %9, i32 0, i32 21 + %10 = load i8*, i8** %tblwctype, align 8 + %11 = load i32, i32* %wc.addr, align 4 + %idxprom = zext i32 %11 to i64 + %arrayidx = getelementptr inbounds i8, i8* %10, i64 %idxprom + %12 = load i8, i8* %arrayidx, align 1 + %conv12 = zext i8 %12 to i32 + store i32 %conv12, i32* %i0, align 4 + %13 = load i32, i32* %i0, align 4 + %shl = shl i32 %13, 5 + store i32 %shl, i32* %i0, align 4 + %14 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %tblwctype13 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %14, i32 0, i32 21 + %15 = load i8*, i8** %tblwctype13, align 8 + %16 = load i32, i32* %i0, align 4 + %add = add i32 768, %16 + %17 = load i32, i32* %n, align 4 + %add14 = add i32 %add, %17 + %idxprom15 = zext i32 %add14 to i64 + %arrayidx16 = getelementptr inbounds i8, i8* %15, i64 %idxprom15 + %18 = load i8, i8* %arrayidx16, align 1 + %conv17 = zext i8 %18 to i32 + store i32 %conv17, i32* %i1, align 4 + %19 = load i32, i32* %i1, align 4 + %shl18 = shl i32 %19, 2 + store i32 %shl18, i32* %i1, align 4 + %20 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %tblwctype19 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %20, i32 0, i32 21 + %21 = load i8*, i8** %tblwctype19, align 8 + %22 = load i32, i32* %i1, align 4 + %add20 = add i32 2656, %22 + %23 = load i32, i32* %sc, align 4 + %shr21 = lshr i32 %23, 1 + %add22 = add i32 %add20, %shr21 + %idxprom23 = zext i32 %add22 to i64 + %arrayidx24 = getelementptr inbounds i8, i8* %21, i64 %idxprom23 + %24 = load i8, i8* %arrayidx24, align 1 + store i8 %24, i8* %d, align 1 + %25 = load i32, i32* %sc, align 4 + %and25 = and i32 %25, 1 + %tobool = icmp ne i32 %and25, 0 + %26 = load i8, i8* %d, align 1 + %conv26 = zext i8 %26 to i32 + %shr27 = ashr i32 %conv26, 4 + %and29 = and i32 %conv26, 15 + %cond = select i1 %tobool, i32 %shr27, i32 %and29 + %conv30 = trunc i32 %cond to i8 + store i8 %conv30, i8* %d, align 1 + br label %if.end50 + +if.else: ; preds = %if.then6 + %conv31 = zext i32 %5 to i64 + %sub = sub i64 %conv31, 917536 + %conv32 = trunc i64 %sub to i32 + %cmp33 = icmp ule i32 %conv32, 95 + br i1 %cmp33, label %if.then49, label %lor.lhs.false35 + +lor.lhs.false35: ; preds = %if.else + %27 = load i32, i32* %wc.addr, align 4 + %conv36 = zext i32 %27 to i64 + %cmp37 = icmp eq i64 %conv36, 917505 + br i1 %cmp37, label %if.then49, label %lor.lhs.false39 + +lor.lhs.false39: ; preds = %lor.lhs.false35 + %28 = load i32, i32* %wc.addr, align 4 + %conv40 = zext i32 %28 to i64 + %sub41 = sub i64 %conv40, 983040 + %conv42 = trunc i64 %sub41 to i32 + %conv43 = zext i32 %conv42 to i64 + %cmp44 = icmp ult i64 %conv43, 131072 + br i1 %cmp44, label %land.lhs.true, label %if.end50 + +land.lhs.true: ; preds = %lor.lhs.false39 + %29 = load i32, i32* %wc.addr, align 4 + %and46 = and i32 %29, 65535 + %cmp47 = icmp ule i32 %and46, 65533 + br i1 %cmp47, label %if.then49, label %if.end50 + +if.then49: ; preds = %land.lhs.true, %lor.lhs.false35, %if.else + store i8 6, i8* %d, align 1 + br label %if.end50 + +if.end50: ; preds = %lor.lhs.false39, %land.lhs.true, %if.then49, %if.then9 + %30 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %code2flag = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %30, i32 0, i32 20 + %31 = load i16*, i16** %code2flag, align 8 + %32 = load i8, i8* %d, align 1 + %idxprom51 = zext i8 %32 to i64 + %arrayidx52 = getelementptr inbounds i16, i16* %31, i64 %idxprom51 + %33 = load i16, i16* %arrayidx52, align 2 + %conv53 = zext i16 %33 to i32 + %34 = load i32, i32* %desc.addr, align 4 + %idxprom54 = zext i32 %34 to i64 + %arrayidx55 = getelementptr inbounds [13 x i16], [13 x i16]* @desc2flag, i64 0, i64 %idxprom54 + %35 = load i16, i16* %arrayidx55, align 2 + %conv56 = zext i16 %35 to i32 + %and57 = and i32 %conv53, %conv56 + store i32 %and57, i32* %retval, align 4 + br label %return + +if.end58: ; preds = %if.then + %36 = load i32, i32* %desc.addr, align 4 + %cmp59 = icmp eq i32 %36, 12 + br i1 %cmp59, label %cond.false68, label %cond.end76 + +cond.false68: ; preds = %if.end58 + %37 = load i32, i32* %wc.addr, align 4 + %sub69 = sub i32 %37, 48 + %cmp70 = icmp ult i32 %sub69, 10 + %38 = load i32, i32* %wc.addr, align 4 + %or = or i32 %38, 32 + %sub72 = sub i32 %or, 97 + %cmp73 = icmp ult i32 %sub72, 6 + %39 = select i1 %cmp70, i1 true, i1 %cmp73 + %lor.ext = zext i1 %39 to i32 + br label %cond.end76 + +cond.end76: ; preds = %if.end58, %cond.false68 + %cond77 = phi i32 [ %lor.ext, %cond.false68 ], [ 0, %if.end58 ] + store i32 %cond77, i32* %retval, align 4 + br label %return + +if.end78: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end78, %cond.end76, %if.end50 + %40 = load i32, i32* %retval, align 4 + ret i32 %40 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_adjust_position(%struct.__STDIO_FILE_STRUCT.636* noalias %stream, i64* %pos) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %pos.addr = alloca i64*, align 8 + %oldpos = alloca i64, align 8 + %corr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64* %pos, i64** %pos.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 3 + store i32 %and, i32* %corr, align 4 + %cmp = icmp ne i32 %and, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load i32, i32* %corr, align 4 + %dec = add nsw i32 %2, -1 + store i32 %dec, i32* %corr, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %3 = load i32, i32* %corr, align 4 + %tobool = icmp ne i32 %3, 0 + br i1 %tobool, label %land.lhs.true, label %if.end22 + +land.lhs.true: ; preds = %if.end + %4 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %4, i32 0, i32 0 + %5 = load i16, i16* %__modeflags2, align 8 + %conv3 = zext i16 %5 to i32 + %and4 = and i32 %conv3, 2048 + %tobool5 = icmp ne i32 %and4, 0 + br i1 %tobool5, label %if.then6, label %if.end22 + +if.then6: ; preds = %land.lhs.true + %6 = load i32, i32* %corr, align 4 + %cmp7 = icmp sgt i32 %6, 1 + br i1 %cmp7, label %if.then10, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then6 + %7 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %7, i32 0, i32 10 + %arrayidx = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot, i64 0, i64 1 + %8 = load i32, i32* %arrayidx, align 4 + %tobool9 = icmp ne i32 %8, 0 + br i1 %tobool9, label %if.then10, label %if.end11 + +if.then10: ; preds = %lor.lhs.false, %if.then6 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end11: ; preds = %lor.lhs.false + %9 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %9, i32 0, i32 1 + %arrayidx12 = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 1 + %10 = load i8, i8* %arrayidx12, align 1 + %conv13 = zext i8 %10 to i32 + %add = add nsw i32 1, %conv13 + %11 = load i32, i32* %corr, align 4 + %sub = sub nsw i32 %11, %add + store i32 %sub, i32* %corr, align 4 + %12 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %12, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + %13 = load i32, i32* %__mask, align 8 + %cmp14 = icmp sgt i32 %13, 0 + br i1 %cmp14, label %if.then16, label %if.end22 + +if.then16: ; preds = %if.end11 + %14 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot_width17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %14, i32 0, i32 1 + %arrayidx18 = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width17, i64 0, i64 0 + %15 = load i8, i8* %arrayidx18, align 2 + %conv19 = zext i8 %15 to i32 + %16 = load i32, i32* %corr, align 4 + %sub20 = sub nsw i32 %16, %conv19 + store i32 %sub20, i32* %corr, align 4 + br label %if.end22 + +if.end22: ; preds = %if.end11, %if.then16, %land.lhs.true, %if.end + %17 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags23 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %17, i32 0, i32 0 + %18 = load i16, i16* %__modeflags23, align 8 + %conv24 = zext i16 %18 to i32 + %and25 = and i32 %conv24, 64 + %tobool26 = icmp ne i32 %and25, 0 + %19 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + br i1 %tobool26, label %cond.true, label %cond.false + +cond.true: ; preds = %if.end22 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %19, i32 0, i32 3 + %20 = load i8*, i8** %__bufstart, align 8 + br label %cond.end + +cond.false: ; preds = %if.end22 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %19, i32 0, i32 6 + %21 = load i8*, i8** %__bufread, align 8 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i8* [ %20, %cond.true ], [ %21, %cond.false ] + %22 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %22, i32 0, i32 5 + %23 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %cond to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %23 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %24 = load i32, i32* %corr, align 4 + %conv27 = sext i32 %24 to i64 + %add28 = add nsw i64 %conv27, %sub.ptr.sub + %conv29 = trunc i64 %add28 to i32 + store i32 %conv29, i32* %corr, align 4 + %25 = load i64*, i64** %pos.addr, align 8 + %26 = load i64, i64* %25, align 8 + store i64 %26, i64* %oldpos, align 8 + %27 = load i32, i32* %corr, align 4 + %conv30 = sext i32 %27 to i64 + %28 = load i64*, i64** %pos.addr, align 8 + %29 = load i64, i64* %28, align 8 + %sub31 = sub nsw i64 %29, %conv30 + store i64 %sub31, i64* %28, align 8 + %30 = load i64, i64* %oldpos, align 8 + %cmp32 = icmp sgt i64 %sub31, %30 + br i1 %cmp32, label %if.then34, label %if.end36 + +if.then34: ; preds = %cond.end + %31 = load i32, i32* %corr, align 4 + %sub35 = sub nsw i32 0, %31 + store i32 %sub35, i32* %corr, align 4 + br label %if.end36 + +if.end36: ; preds = %if.then34, %cond.end + %32 = load i32, i32* %corr, align 4 + %cmp37 = icmp slt i32 %32, 0 + br i1 %cmp37, label %if.then39, label %if.end40 + +if.then39: ; preds = %if.end36 + store i32 75, i32* @errno, align 4 + br label %if.end40 + +if.end40: ; preds = %if.then39, %if.end36 + %33 = load i32, i32* %corr, align 4 + store i32 %33, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end40, %if.then10 + %34 = load i32, i32* %retval, align 4 + ret i32 %34 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_seek(%struct.__STDIO_FILE_STRUCT.636* %stream, i64* %pos, i32 %whence) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %pos.addr = alloca i64*, align 8 + %whence.addr = alloca i32, align 4 + %res = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64* %pos, i64** %pos.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %0, i32 0, i32 2 + %1 = load i32, i32* %__filedes, align 4 + %2 = load i64*, i64** %pos.addr, align 8 + %3 = load i64, i64* %2, align 8 + %4 = load i32, i32* %whence.addr, align 4 + %call = call i64 @lseek64(i32 %1, i64 %3, i32 %4) #19 + store i64 %call, i64* %res, align 8 + %5 = load i64, i64* %res, align 8 + %cmp = icmp sge i64 %5, 0 + %6 = load i64, i64* %res, align 8 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %entry + %7 = load i64*, i64** %pos.addr, align 8 + store i64 %6, i64* %7, align 8 + br label %cond.end + +cond.false: ; preds = %entry + %conv = trunc i64 %6 to i32 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ 0, %cond.true ], [ %conv, %cond.false ] + ret i32 %cond +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_fpmaxtostr(%struct.__STDIO_FILE_STRUCT.568* %fp, double %x, %struct.printf_info.720* %info, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)* %fp_outfunc) #0 { +entry: + %retval = alloca i64, align 8 + %fp.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %x.addr = alloca double, align 8 + %info.addr = alloca %struct.printf_info.720*, align 8 + %fp_outfunc.addr = alloca i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)*, align 8 + %round = alloca i32, align 4 + %o_exp = alloca i32, align 4 + %exp = alloca i32, align 4 + %width = alloca i32, align 4 + %preci = alloca i32, align 4 + %cnt = alloca i32, align 4 + %s = alloca i8*, align 8 + %e = alloca i8*, align 8 + %pc_fwi = alloca [24 x i64], align 16 + %ppc = alloca i64*, align 8 + %ppc_last = alloca i64*, align 8 + %exp_buf = alloca [16 x i8], align 16 + %buf = alloca [21 x i8], align 16 + %sign_str = alloca [6 x i8], align 1 + %o_mode = alloca i8, align 1 + %mode = alloca i8, align 1 + %i = alloca i32, align 4 + %j = alloca i32, align 4 + %exp_neg = alloca i32, align 4 + %i92 = alloca i32, align 4 + %j93 = alloca i32, align 4 + %digit_block = alloca i64, align 8 + %i151 = alloca i32, align 4 + %i218 = alloca i32, align 4 + %p = alloca i8*, align 8 + %j329 = alloca i32, align 4 + %exp_char = alloca i8, align 1 + %exp_sign = alloca i8, align 1 + %i359 = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %fp, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + store double %x, double* %x.addr, align 8 + store %struct.printf_info.720* %info, %struct.printf_info.720** %info.addr, align 8 + store i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)* %fp_outfunc, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)** %fp_outfunc.addr, align 8 + %0 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %width1 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %0, i32 0, i32 1 + %1 = load i32, i32* %width1, align 4 + store i32 %1, i32* %width, align 4 + %2 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %2, i32 0, i32 0 + %3 = load i32, i32* %prec, align 4 + store i32 %3, i32* %preci, align 4 + %4 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %spec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %4, i32 0, i32 2 + %5 = load i32, i32* %spec, align 4 + %conv = trunc i32 %5 to i8 + store i8 %conv, i8* %mode, align 1 + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + store i8 101, i8* %arraydecay, align 16 + %6 = load i8, i8* %mode, align 1 + %conv2 = sext i8 %6 to i32 + %or = or i32 %conv2, 32 + %cmp = icmp eq i32 %or, 97 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %7 = load i8, i8* %mode, align 1 + %conv4 = sext i8 %7 to i32 + %add = add nsw i32 %conv4, 6 + %conv5 = trunc i32 %add to i8 + store i8 %conv5, i8* %mode, align 1 + br label %if.end + +if.end: ; preds = %if.then, %entry + %8 = load i32, i32* %preci, align 4 + %cmp6 = icmp slt i32 %8, 0 + br i1 %cmp6, label %if.then8, label %if.end9 + +if.then8: ; preds = %if.end + store i32 6, i32* %preci, align 4 + br label %if.end9 + +if.end9: ; preds = %if.then8, %if.end + %arraydecay10 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 0, i8* %arraydecay10, align 1 + %9 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %showsign = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %9, i32 0, i32 3 + %bf.load = load i32, i32* %showsign, align 4 + %bf.lshr = lshr i32 %bf.load, 1 + %bf.clear = and i32 %bf.lshr, 1 + %tobool = icmp ne i32 %bf.clear, 0 + br i1 %tobool, label %if.then11, label %if.else + +if.then11: ; preds = %if.end9 + %arraydecay12 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 43, i8* %arraydecay12, align 1 + br label %if.end19 + +if.else: ; preds = %if.end9 + %10 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %space = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %10, i32 0, i32 3 + %bf.load13 = load i32, i32* %space, align 4 + %bf.clear14 = and i32 %bf.load13, 1 + %tobool15 = icmp ne i32 %bf.clear14, 0 + br i1 %tobool15, label %if.then16, label %if.end19 + +if.then16: ; preds = %if.else + %arraydecay17 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 32, i8* %arraydecay17, align 1 + br label %if.end19 + +if.end19: ; preds = %if.else, %if.then16, %if.then11 + %arraydecay20 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay20, i64 1 + store i8 0, i8* %add.ptr, align 1 + %arrayidx = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 0, i64* %arrayidx, align 8 + %11 = load double, double* %x.addr, align 8 + %12 = load double, double* %x.addr, align 8 + %cmp21 = fcmp une double %11, %12 + br i1 %cmp21, label %if.then23, label %if.end25 + +if.then23: ; preds = %if.end19 + %arrayidx24 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 8, i64* %arrayidx24, align 8 + br label %INF_NAN + +if.end25: ; preds = %if.end19 + %13 = load double, double* %x.addr, align 8 + %cmp26 = fcmp oeq double %13, 0.000000e+00 + %14 = load double, double* %x.addr, align 8 + br i1 %cmp26, label %if.then28, label %if.end34 + +if.then28: ; preds = %if.end25 + %div = fdiv double 1.000000e+00, %14 + %cmp29 = fcmp olt double %div, 0.000000e+00 + br i1 %cmp29, label %if.then31, label %if.end33 + +if.then31: ; preds = %if.then28 + %arraydecay32 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 45, i8* %arraydecay32, align 1 + br label %if.end33 + +if.end33: ; preds = %if.then31, %if.then28 + store i32 -1, i32* %exp, align 4 + br label %GENERATE_DIGITS + +if.end34: ; preds = %if.end25 + %cmp35 = fcmp olt double %14, 0.000000e+00 + br i1 %cmp35, label %if.then37, label %if.end39 + +if.then37: ; preds = %if.end34 + %arraydecay38 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 45, i8* %arraydecay38, align 1 + %15 = load double, double* %x.addr, align 8 + %fneg = fneg double %15 + store double %fneg, double* %x.addr, align 8 + br label %if.end39 + +if.end39: ; preds = %if.then37, %if.end34 + %16 = load double, double* %x.addr, align 8 + %17 = load double, double* %x.addr, align 8 + %div40 = fdiv double %17, 4.000000e+00 + %cmp41 = fcmp oeq double %16, %div40 + br i1 %cmp41, label %INF_NAN, label %if.end58 + +INF_NAN: ; preds = %if.end39, %if.then23 + %18 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %18, i32 0, i32 4 + store i32 32, i32* %pad, align 4 + %arraydecay44 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + %add.ptr45 = getelementptr inbounds i64, i64* %arraydecay44, i64 6 + store i64* %add.ptr45, i64** %ppc, align 8 + %arrayidx46 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 3 + store i64 112, i64* %arrayidx46, align 8 + %arrayidx47 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 4 + store i64 3, i64* %arrayidx47, align 16 + %19 = load i8, i8* %mode, align 1 + %conv48 = sext i8 %19 to i32 + %cmp49 = icmp slt i32 %conv48, 97 + br i1 %cmp49, label %if.then51, label %if.end54 + +if.then51: ; preds = %INF_NAN + %arrayidx52 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + %20 = load i64, i64* %arrayidx52, align 8 + %add53 = add nsw i64 %20, 4 + store i64 %add53, i64* %arrayidx52, align 8 + br label %if.end54 + +if.end54: ; preds = %if.then51, %INF_NAN + %arrayidx55 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + %21 = load i64, i64* %arrayidx55, align 8 + %add.ptr56 = getelementptr inbounds i8, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 0), i64 %21 + %22 = ptrtoint i8* %add.ptr56 to i64 + %arrayidx57 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 %22, i64* %arrayidx57, align 8 + br label %EXIT_SPECIAL + +if.end58: ; preds = %if.end39 + store i32 8, i32* %exp, align 4 + store i32 9, i32* %i, align 4 + store i32 256, i32* %j, align 4 + store i32 0, i32* %exp_neg, align 4 + %23 = load double, double* %x.addr, align 8 + %cmp59 = fcmp olt double %23, 1.000000e+08 + br i1 %cmp59, label %if.then61, label %if.end62 + +if.then61: ; preds = %if.end58 + store i32 1, i32* %exp_neg, align 4 + br label %if.end62 + +if.end62: ; preds = %if.then61, %if.end58 + br label %do.body + +do.body: ; preds = %if.end85, %if.end62 + %24 = load i32, i32* %i, align 4 + %dec = add nsw i32 %24, -1 + store i32 %dec, i32* %i, align 4 + %25 = load i32, i32* %exp_neg, align 4 + %tobool63 = icmp ne i32 %25, 0 + %26 = load double, double* %x.addr, align 8 + %27 = load i32, i32* %i, align 4 + %idxprom = sext i32 %27 to i64 + %arrayidx65 = getelementptr inbounds [9 x double], [9 x double]* @exp10_table, i64 0, i64 %idxprom + %28 = load double, double* %arrayidx65, align 8 + br i1 %tobool63, label %if.then64, label %if.else73 + +if.then64: ; preds = %do.body + %mul = fmul double %26, %28 + %cmp66 = fcmp olt double %mul, 1.000000e+09 + br i1 %cmp66, label %if.then68, label %if.end85 + +if.then68: ; preds = %if.then64 + %29 = load i32, i32* %i, align 4 + %idxprom69 = sext i32 %29 to i64 + %arrayidx70 = getelementptr inbounds [9 x double], [9 x double]* @exp10_table, i64 0, i64 %idxprom69 + %30 = load double, double* %arrayidx70, align 8 + %31 = load double, double* %x.addr, align 8 + %mul71 = fmul double %31, %30 + store double %mul71, double* %x.addr, align 8 + %32 = load i32, i32* %j, align 4 + %33 = load i32, i32* %exp, align 4 + %sub = sub nsw i32 %33, %32 + store i32 %sub, i32* %exp, align 4 + br label %if.end85 + +if.else73: ; preds = %do.body + %div76 = fdiv double %26, %28 + %cmp77 = fcmp oge double %div76, 1.000000e+08 + br i1 %cmp77, label %if.then79, label %if.end85 + +if.then79: ; preds = %if.else73 + %34 = load i32, i32* %i, align 4 + %idxprom80 = sext i32 %34 to i64 + %arrayidx81 = getelementptr inbounds [9 x double], [9 x double]* @exp10_table, i64 0, i64 %idxprom80 + %35 = load double, double* %arrayidx81, align 8 + %36 = load double, double* %x.addr, align 8 + %div82 = fdiv double %36, %35 + store double %div82, double* %x.addr, align 8 + %37 = load i32, i32* %j, align 4 + %38 = load i32, i32* %exp, align 4 + %add83 = add nsw i32 %38, %37 + store i32 %add83, i32* %exp, align 4 + br label %if.end85 + +if.end85: ; preds = %if.else73, %if.then79, %if.then64, %if.then68 + %39 = load i32, i32* %j, align 4 + %shr = ashr i32 %39, 1 + store i32 %shr, i32* %j, align 4 + %40 = load i32, i32* %i, align 4 + %tobool86 = icmp ne i32 %40, 0 + br i1 %tobool86, label %do.body, label %do.end + +do.end: ; preds = %if.end85 + %41 = load double, double* %x.addr, align 8 + %cmp87 = fcmp oge double %41, 1.000000e+09 + br i1 %cmp87, label %if.then89, label %GENERATE_DIGITS + +if.then89: ; preds = %do.end + %42 = load double, double* getelementptr inbounds ([9 x double], [9 x double]* @exp10_table, i64 0, i64 0), align 16 + %43 = load double, double* %x.addr, align 8 + %div90 = fdiv double %43, %42 + store double %div90, double* %x.addr, align 8 + %44 = load i32, i32* %exp, align 4 + %inc = add nsw i32 %44, 1 + store i32 %inc, i32* %exp, align 4 + br label %GENERATE_DIGITS + +GENERATE_DIGITS: ; preds = %do.end, %if.then89, %if.end33 + %arraydecay94 = getelementptr inbounds [21 x i8], [21 x i8]* %buf, i64 0, i64 0 + %add.ptr95 = getelementptr inbounds i8, i8* %arraydecay94, i64 2 + store i8* %add.ptr95, i8** %s, align 8 + store i32 0, i32* %i92, align 4 + br label %do.body96 + +do.body96: ; preds = %do.cond114, %GENERATE_DIGITS + %45 = load double, double* %x.addr, align 8 + %conv97 = fptoui double %45 to i64 + store i64 %conv97, i64* %digit_block, align 8 + %46 = load double, double* %x.addr, align 8 + %47 = load i64, i64* %digit_block, align 8 + %conv98 = uitofp i64 %47 to double + %sub99 = fsub double %46, %conv98 + %mul100 = fmul double %sub99, 1.000000e+09 + store double %mul100, double* %x.addr, align 8 + %48 = load i8*, i8** %s, align 8 + %add.ptr101 = getelementptr inbounds i8, i8* %48, i64 9 + store i8* %add.ptr101, i8** %s, align 8 + store i32 0, i32* %j93, align 4 + br label %do.body102 + +do.body102: ; preds = %do.body102, %do.body96 + %49 = load i64, i64* %digit_block, align 8 + %rem = urem i64 %49, 10 + %add103 = add i64 48, %rem + %conv104 = trunc i64 %add103 to i8 + %50 = load i8*, i8** %s, align 8 + %51 = load i32, i32* %j93, align 4 + %inc105 = add nsw i32 %51, 1 + store i32 %inc105, i32* %j93, align 4 + %sub106 = sub nsw i32 0, %inc105 + %idxprom107 = sext i32 %sub106 to i64 + %arrayidx108 = getelementptr inbounds i8, i8* %50, i64 %idxprom107 + store i8 %conv104, i8* %arrayidx108, align 1 + %52 = load i64, i64* %digit_block, align 8 + %div109 = udiv i64 %52, 10 + store i64 %div109, i64* %digit_block, align 8 + %53 = load i32, i32* %j93, align 4 + %cmp111 = icmp slt i32 %53, 9 + br i1 %cmp111, label %do.body102, label %do.cond114 + +do.cond114: ; preds = %do.body102 + %54 = load i32, i32* %i92, align 4 + %inc115 = add nsw i32 %54, 1 + store i32 %inc115, i32* %i92, align 4 + %cmp116 = icmp slt i32 %inc115, 2 + br i1 %cmp116, label %do.body96, label %do.end118 + +do.end118: ; preds = %do.cond114 + %55 = load i8, i8* %mode, align 1 + %conv119 = sext i8 %55 to i32 + %cmp120 = icmp slt i32 %conv119, 97 + br i1 %cmp120, label %if.then122, label %if.end130 + +if.then122: ; preds = %do.end118 + %arraydecay123 = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + %56 = load i8, i8* %arraydecay123, align 16 + %conv124 = sext i8 %56 to i32 + %sub125 = sub nsw i32 %conv124, 32 + %conv126 = trunc i32 %sub125 to i8 + store i8 %conv126, i8* %arraydecay123, align 16 + %57 = load i8, i8* %mode, align 1 + %conv127 = sext i8 %57 to i32 + %add128 = add nsw i32 %conv127, 32 + %conv129 = trunc i32 %add128 to i8 + store i8 %conv129, i8* %mode, align 1 + br label %if.end130 + +if.end130: ; preds = %if.then122, %do.end118 + %58 = load i8, i8* %mode, align 1 + store i8 %58, i8* %o_mode, align 1 + %59 = load i8, i8* %mode, align 1 + %conv131 = sext i8 %59 to i32 + %cmp132 = icmp eq i32 %conv131, 103 + %60 = load i32, i32* %preci, align 4 + %cmp134 = icmp sgt i32 %60, 0 + %or.cond = and i1 %cmp132, %cmp134 + br i1 %or.cond, label %if.then136, label %if.end138 + +if.then136: ; preds = %if.end130 + %61 = load i32, i32* %preci, align 4 + %dec137 = add nsw i32 %61, -1 + store i32 %dec137, i32* %preci, align 4 + br label %if.end138 + +if.end138: ; preds = %if.then136, %if.end130 + %62 = load i32, i32* %preci, align 4 + store i32 %62, i32* %round, align 4 + %63 = load i8, i8* %mode, align 1 + %conv139 = sext i8 %63 to i32 + %cmp140 = icmp eq i32 %conv139, 102 + br i1 %cmp140, label %if.then142, label %if.end149 + +if.then142: ; preds = %if.end138 + %64 = load i32, i32* %exp, align 4 + %65 = load i32, i32* %round, align 4 + %add143 = add nsw i32 %65, %64 + store i32 %add143, i32* %round, align 4 + %66 = load i32, i32* %round, align 4 + %cmp144 = icmp slt i32 %66, -1 + br i1 %cmp144, label %if.then146, label %if.end149 + +if.then146: ; preds = %if.then142 + %arraydecay147 = getelementptr inbounds [21 x i8], [21 x i8]* %buf, i64 0, i64 0 + %call = call i8* @memset(i8* %arraydecay147, i32 48, i64 17) #19 + store i32 -1, i32* %exp, align 4 + store i32 -1, i32* %round, align 4 + br label %if.end149 + +if.end149: ; preds = %if.then142, %if.then146, %if.end138 + %arraydecay150 = getelementptr inbounds [21 x i8], [21 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay150, i8** %s, align 8 + %67 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %67, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + store i8 0, i8* %67, align 1 + %68 = load i8*, i8** %s, align 8 + store i8 48, i8* %68, align 1 + store i32 0, i32* %i151, align 4 + %69 = load i8*, i8** %s, align 8 + %add.ptr152 = getelementptr inbounds i8, i8* %69, i64 17 + %add.ptr153 = getelementptr inbounds i8, i8* %add.ptr152, i64 1 + store i8* %add.ptr153, i8** %e, align 8 + %70 = load i32, i32* %round, align 4 + %cmp154 = icmp slt i32 %70, 17 + br i1 %cmp154, label %if.then156, label %if.end164 + +if.then156: ; preds = %if.end149 + %71 = load i8*, i8** %s, align 8 + %72 = load i32, i32* %round, align 4 + %idx.ext = sext i32 %72 to i64 + %add.ptr157 = getelementptr inbounds i8, i8* %71, i64 %idx.ext + %add.ptr158 = getelementptr inbounds i8, i8* %add.ptr157, i64 2 + store i8* %add.ptr158, i8** %e, align 8 + %73 = load i8*, i8** %e, align 8 + %74 = load i8, i8* %73, align 1 + %conv159 = sext i8 %74 to i32 + %cmp160 = icmp sge i32 %conv159, 53 + br i1 %cmp160, label %if.then162, label %if.end164 + +if.then162: ; preds = %if.then156 + store i32 1, i32* %i151, align 4 + br label %if.end164 + +if.end164: ; preds = %if.then156, %if.then162, %if.end149 + br label %do.body165 + +do.body165: ; preds = %do.body165, %lor.rhs, %if.end164 + %75 = load i32, i32* %i151, align 4 + %76 = load i8*, i8** %e, align 8 + %incdec.ptr166 = getelementptr inbounds i8, i8* %76, i32 -1 + store i8* %incdec.ptr166, i8** %e, align 8 + %77 = load i8, i8* %incdec.ptr166, align 1 + %conv167 = sext i8 %77 to i32 + %add168 = add nsw i32 %conv167, %75 + %conv169 = trunc i32 %add168 to i8 + store i8 %conv169, i8* %incdec.ptr166, align 1 + %78 = load i8*, i8** %e, align 8 + %79 = load i8, i8* %78, align 1 + %conv171 = sext i8 %79 to i32 + %cmp172 = icmp eq i32 %conv171, 48 + br i1 %cmp172, label %do.body165, label %lor.rhs + +lor.rhs: ; preds = %do.body165 + %80 = load i8*, i8** %e, align 8 + %81 = load i8, i8* %80, align 1 + %conv174 = sext i8 %81 to i32 + %cmp175 = icmp sgt i32 %conv174, 57 + br i1 %cmp175, label %do.body165, label %do.end177 + +do.end177: ; preds = %lor.rhs + %82 = load i32, i32* %exp, align 4 + store i32 %82, i32* %o_exp, align 4 + %83 = load i8*, i8** %e, align 8 + %84 = load i8*, i8** %s, align 8 + %cmp178 = icmp ule i8* %83, %84 + br i1 %cmp178, label %if.then180, label %if.else182 + +if.then180: ; preds = %do.end177 + %85 = load i32, i32* %o_exp, align 4 + %inc181 = add nsw i32 %85, 1 + store i32 %inc181, i32* %o_exp, align 4 + %86 = load i8*, i8** %s, align 8 + store i8* %86, i8** %e, align 8 + br label %if.end184 + +if.else182: ; preds = %do.end177 + %87 = load i8*, i8** %s, align 8 + %incdec.ptr183 = getelementptr inbounds i8, i8* %87, i32 1 + store i8* %incdec.ptr183, i8** %s, align 8 + br label %if.end184 + +if.end184: ; preds = %if.else182, %if.then180 + %88 = load i8*, i8** %e, align 8 + %incdec.ptr185 = getelementptr inbounds i8, i8* %88, i32 1 + store i8* %incdec.ptr185, i8** %e, align 8 + store i8 0, i8* %incdec.ptr185, align 1 + %89 = load i8, i8* %mode, align 1 + %conv186 = sext i8 %89 to i32 + %cmp187 = icmp eq i32 %conv186, 103 + %90 = load i32, i32* %o_exp, align 4 + %cmp190 = icmp sge i32 %90, -4 + %or.cond1 = and i1 %cmp187, %cmp190 + br i1 %or.cond1, label %land.lhs.true192, label %if.end197 + +land.lhs.true192: ; preds = %if.end184 + %91 = load i32, i32* %o_exp, align 4 + %92 = load i32, i32* %round, align 4 + %cmp193 = icmp sle i32 %91, %92 + br i1 %cmp193, label %if.then195, label %if.end197 + +if.then195: ; preds = %land.lhs.true192 + store i8 102, i8* %mode, align 1 + %93 = load i32, i32* %round, align 4 + %94 = load i32, i32* %o_exp, align 4 + %sub196 = sub nsw i32 %93, %94 + store i32 %sub196, i32* %preci, align 4 + br label %if.end197 + +if.end197: ; preds = %if.then195, %land.lhs.true192, %if.end184 + %95 = load i32, i32* %o_exp, align 4 + store i32 %95, i32* %exp, align 4 + %96 = load i8, i8* %mode, align 1 + %conv198 = sext i8 %96 to i32 + %cmp199 = icmp ne i32 %conv198, 102 + br i1 %cmp199, label %if.then201, label %if.end202 + +if.then201: ; preds = %if.end197 + store i32 0, i32* %o_exp, align 4 + br label %if.end202 + +if.end202: ; preds = %if.then201, %if.end197 + %97 = load i32, i32* %o_exp, align 4 + %cmp203 = icmp slt i32 %97, 0 + br i1 %cmp203, label %if.then205, label %if.end207 + +if.then205: ; preds = %if.end202 + %98 = load i8*, i8** %s, align 8 + %incdec.ptr206 = getelementptr inbounds i8, i8* %98, i32 -1 + store i8* %incdec.ptr206, i8** %s, align 8 + store i8 48, i8* %incdec.ptr206, align 1 + br label %if.end207 + +if.end207: ; preds = %if.then205, %if.end202 + %arrayidx208 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 3 + store i64 176, i64* %arrayidx208, align 8 + %arrayidx209 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 4 + store i64 1, i64* %arrayidx209, align 16 + %arraydecay210 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %add.ptr211 = getelementptr inbounds i8, i8* %arraydecay210, i64 4 + %99 = ptrtoint i8* %add.ptr211 to i64 + %arrayidx212 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 %99, i64* %arrayidx212, align 8 + %100 = load i8*, i8** %s, align 8 + %incdec.ptr213 = getelementptr inbounds i8, i8* %100, i32 1 + store i8* %incdec.ptr213, i8** %s, align 8 + %101 = load i8, i8* %100, align 1 + %arrayidx214 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 4 + store i8 %101, i8* %arrayidx214, align 1 + %arrayidx215 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 5 + store i8 0, i8* %arrayidx215, align 1 + %arraydecay216 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + %add.ptr217 = getelementptr inbounds i64, i64* %arraydecay216, i64 6 + store i64* %add.ptr217, i64** %ppc, align 8 + %102 = load i8*, i8** %e, align 8 + %103 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %102 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %103 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %conv219 = trunc i64 %sub.ptr.sub to i32 + store i32 %conv219, i32* %i218, align 4 + %104 = load i32, i32* %o_exp, align 4 + %cmp220 = icmp sge i32 %104, 0 + br i1 %cmp220, label %if.then222, label %if.end253 + +if.then222: ; preds = %if.end207 + %105 = load i64*, i64** %ppc, align 8 + %arrayidx223 = getelementptr inbounds i64, i64* %105, i64 0 + store i64 112, i64* %arrayidx223, align 8 + %106 = load i8*, i8** %s, align 8 + %107 = ptrtoint i8* %106 to i64 + %108 = load i64*, i64** %ppc, align 8 + %arrayidx224 = getelementptr inbounds i64, i64* %108, i64 2 + store i64 %107, i64* %arrayidx224, align 8 + %109 = load i32, i32* %o_exp, align 4 + %110 = load i32, i32* %i218, align 4 + %cmp225 = icmp sge i32 %109, %110 + br i1 %cmp225, label %if.then227, label %if.else241 + +if.then227: ; preds = %if.then222 + %111 = load i32, i32* %i218, align 4 + %conv228 = sext i32 %111 to i64 + %112 = load i64*, i64** %ppc, align 8 + %arrayidx229 = getelementptr inbounds i64, i64* %112, i64 1 + store i64 %conv228, i64* %arrayidx229, align 8 + %113 = load i64*, i64** %ppc, align 8 + %add.ptr230 = getelementptr inbounds i64, i64* %113, i64 3 + store i64* %add.ptr230, i64** %ppc, align 8 + %114 = load i32, i32* %i218, align 4 + %115 = load i32, i32* %o_exp, align 4 + %sub231 = sub nsw i32 %115, %114 + store i32 %sub231, i32* %o_exp, align 4 + store i32 0, i32* %i218, align 4 + %116 = load i32, i32* %o_exp, align 4 + %cmp232 = icmp sgt i32 %116, 0 + br i1 %cmp232, label %if.then234, label %if.end252 + +if.then234: ; preds = %if.then227 + %117 = load i64*, i64** %ppc, align 8 + %arrayidx235 = getelementptr inbounds i64, i64* %117, i64 0 + store i64 176, i64* %arrayidx235, align 8 + %118 = load i32, i32* %o_exp, align 4 + %conv236 = sext i32 %118 to i64 + %119 = load i64*, i64** %ppc, align 8 + %arrayidx237 = getelementptr inbounds i64, i64* %119, i64 1 + store i64 %conv236, i64* %arrayidx237, align 8 + %120 = load i64*, i64** %ppc, align 8 + %arrayidx238 = getelementptr inbounds i64, i64* %120, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx238, align 8 + %121 = load i64*, i64** %ppc, align 8 + %add.ptr239 = getelementptr inbounds i64, i64* %121, i64 3 + store i64* %add.ptr239, i64** %ppc, align 8 + br label %if.end252 + +if.else241: ; preds = %if.then222 + %122 = load i32, i32* %o_exp, align 4 + %cmp242 = icmp sgt i32 %122, 0 + br i1 %cmp242, label %if.then244, label %if.end252 + +if.then244: ; preds = %if.else241 + %123 = load i32, i32* %o_exp, align 4 + %conv245 = sext i32 %123 to i64 + %124 = load i64*, i64** %ppc, align 8 + %arrayidx246 = getelementptr inbounds i64, i64* %124, i64 1 + store i64 %conv245, i64* %arrayidx246, align 8 + %125 = load i64*, i64** %ppc, align 8 + %add.ptr247 = getelementptr inbounds i64, i64* %125, i64 3 + store i64* %add.ptr247, i64** %ppc, align 8 + %126 = load i32, i32* %o_exp, align 4 + %127 = load i8*, i8** %s, align 8 + %idx.ext248 = sext i32 %126 to i64 + %add.ptr249 = getelementptr inbounds i8, i8* %127, i64 %idx.ext248 + store i8* %add.ptr249, i8** %s, align 8 + %128 = load i32, i32* %o_exp, align 4 + %129 = load i32, i32* %i218, align 4 + %sub250 = sub nsw i32 %129, %128 + store i32 %sub250, i32* %i218, align 4 + br label %if.end252 + +if.end252: ; preds = %if.else241, %if.then244, %if.then227, %if.then234 + store i32 -1, i32* %o_exp, align 4 + br label %if.end253 + +if.end253: ; preds = %if.end252, %if.end207 + %130 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %alt = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %130, i32 0, i32 3 + %bf.load254 = load i32, i32* %alt, align 4 + %bf.lshr255 = lshr i32 %bf.load254, 4 + %bf.clear256 = and i32 %bf.lshr255, 1 + %tobool257 = icmp ne i32 %bf.clear256, 0 + %131 = load i32, i32* %i218, align 4 + %tobool258 = icmp ne i32 %131, 0 + %or.cond2 = or i1 %tobool257, %tobool258 + br i1 %or.cond2, label %if.then266, label %lor.lhs.false259 + +lor.lhs.false259: ; preds = %if.end253 + %132 = load i8, i8* %o_mode, align 1 + %conv260 = sext i8 %132 to i32 + %cmp261 = icmp ne i32 %conv260, 103 + %133 = load i32, i32* %preci, align 4 + %cmp264 = icmp sgt i32 %133, 0 + %or.cond3 = and i1 %cmp261, %cmp264 + br i1 %or.cond3, label %if.then266, label %if.end281 + +if.then266: ; preds = %lor.lhs.false259, %if.end253 + %134 = load i64*, i64** %ppc, align 8 + %arrayidx267 = getelementptr inbounds i64, i64* %134, i64 0 + store i64 112, i64* %arrayidx267, align 8 + %135 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %wide = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %135, i32 0, i32 3 + %bf.load268 = load i32, i32* %wide, align 4 + %bf.lshr269 = lshr i32 %bf.load268, 7 + %bf.clear270 = and i32 %bf.lshr269, 1 + %tobool271 = icmp ne i32 %bf.clear270, 0 + br i1 %tobool271, label %if.then272, label %if.else275 + +if.then272: ; preds = %if.then266 + %136 = load i64*, i64** %ppc, align 8 + %arrayidx273 = getelementptr inbounds i64, i64* %136, i64 1 + store i64 1, i64* %arrayidx273, align 8 + %137 = load i64*, i64** %ppc, align 8 + %arrayidx274 = getelementptr inbounds i64, i64* %137, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 16) to i64), i64* %arrayidx274, align 8 + br label %if.end279 + +if.else275: ; preds = %if.then266 + %138 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %decimal_point_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %138, i32 0, i32 26 + %139 = load i32, i32* %decimal_point_len, align 8 + %conv276 = sext i32 %139 to i64 + %140 = load i64*, i64** %ppc, align 8 + %arrayidx277 = getelementptr inbounds i64, i64* %140, i64 1 + store i64 %conv276, i64* %arrayidx277, align 8 + %141 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %decimal_point = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %141, i32 0, i32 39 + %142 = load i8*, i8** %decimal_point, align 8 + %143 = ptrtoint i8* %142 to i64 + %144 = load i64*, i64** %ppc, align 8 + %arrayidx278 = getelementptr inbounds i64, i64* %144, i64 2 + store i64 %143, i64* %arrayidx278, align 8 + br label %if.end279 + +if.end279: ; preds = %if.else275, %if.then272 + %145 = load i64*, i64** %ppc, align 8 + %add.ptr280 = getelementptr inbounds i64, i64* %145, i64 3 + store i64* %add.ptr280, i64** %ppc, align 8 + br label %if.end281 + +if.end281: ; preds = %if.end279, %lor.lhs.false259 + %146 = load i32, i32* %o_exp, align 4 + %inc282 = add nsw i32 %146, 1 + store i32 %inc282, i32* %o_exp, align 4 + %cmp283 = icmp slt i32 %inc282, 0 + br i1 %cmp283, label %if.then285, label %if.end292 + +if.then285: ; preds = %if.end281 + %147 = load i64*, i64** %ppc, align 8 + %arrayidx286 = getelementptr inbounds i64, i64* %147, i64 0 + store i64 176, i64* %arrayidx286, align 8 + %148 = load i32, i32* %o_exp, align 4 + %sub287 = sub nsw i32 0, %148 + %conv288 = sext i32 %sub287 to i64 + %149 = load i64*, i64** %ppc, align 8 + %arrayidx289 = getelementptr inbounds i64, i64* %149, i64 1 + store i64 %conv288, i64* %arrayidx289, align 8 + %150 = load i64*, i64** %ppc, align 8 + %arrayidx290 = getelementptr inbounds i64, i64* %150, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx290, align 8 + %151 = load i64*, i64** %ppc, align 8 + %add.ptr291 = getelementptr inbounds i64, i64* %151, i64 3 + store i64* %add.ptr291, i64** %ppc, align 8 + br label %if.end292 + +if.end292: ; preds = %if.then285, %if.end281 + %152 = load i32, i32* %i218, align 4 + %tobool293 = icmp ne i32 %152, 0 + br i1 %tobool293, label %if.then294, label %if.end300 + +if.then294: ; preds = %if.end292 + %153 = load i64*, i64** %ppc, align 8 + %arrayidx295 = getelementptr inbounds i64, i64* %153, i64 0 + store i64 112, i64* %arrayidx295, align 8 + %154 = load i32, i32* %i218, align 4 + %conv296 = sext i32 %154 to i64 + %155 = load i64*, i64** %ppc, align 8 + %arrayidx297 = getelementptr inbounds i64, i64* %155, i64 1 + store i64 %conv296, i64* %arrayidx297, align 8 + %156 = load i8*, i8** %s, align 8 + %157 = ptrtoint i8* %156 to i64 + %158 = load i64*, i64** %ppc, align 8 + %arrayidx298 = getelementptr inbounds i64, i64* %158, i64 2 + store i64 %157, i64* %arrayidx298, align 8 + %159 = load i64*, i64** %ppc, align 8 + %add.ptr299 = getelementptr inbounds i64, i64* %159, i64 3 + store i64* %add.ptr299, i64** %ppc, align 8 + br label %if.end300 + +if.end300: ; preds = %if.then294, %if.end292 + %160 = load i8, i8* %o_mode, align 1 + %conv301 = sext i8 %160 to i32 + %cmp302 = icmp ne i32 %conv301, 103 + br i1 %cmp302, label %if.then310, label %lor.lhs.false304 + +lor.lhs.false304: ; preds = %if.end300 + %161 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %alt305 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %161, i32 0, i32 3 + %bf.load306 = load i32, i32* %alt305, align 4 + %bf.lshr307 = lshr i32 %bf.load306, 4 + %bf.clear308 = and i32 %bf.lshr307, 1 + %tobool309 = icmp ne i32 %bf.clear308, 0 + br i1 %tobool309, label %if.then310, label %if.end322 + +if.then310: ; preds = %lor.lhs.false304, %if.end300 + %162 = load i32, i32* %o_exp, align 4 + %163 = load i32, i32* %i218, align 4 + %sub311 = sub nsw i32 %163, %162 + store i32 %sub311, i32* %i218, align 4 + %164 = load i32, i32* %i218, align 4 + %165 = load i32, i32* %preci, align 4 + %cmp312 = icmp slt i32 %164, %165 + br i1 %cmp312, label %if.then314, label %if.end322 + +if.then314: ; preds = %if.then310 + %166 = load i32, i32* %preci, align 4 + %167 = load i32, i32* %i218, align 4 + %sub315 = sub nsw i32 %166, %167 + store i32 %sub315, i32* %i218, align 4 + %168 = load i64*, i64** %ppc, align 8 + %arrayidx316 = getelementptr inbounds i64, i64* %168, i64 0 + store i64 176, i64* %arrayidx316, align 8 + %169 = load i32, i32* %i218, align 4 + %conv317 = sext i32 %169 to i64 + %170 = load i64*, i64** %ppc, align 8 + %arrayidx318 = getelementptr inbounds i64, i64* %170, i64 1 + store i64 %conv317, i64* %arrayidx318, align 8 + %171 = load i64*, i64** %ppc, align 8 + %arrayidx319 = getelementptr inbounds i64, i64* %171, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx319, align 8 + %172 = load i64*, i64** %ppc, align 8 + %add.ptr320 = getelementptr inbounds i64, i64* %172, i64 3 + store i64* %add.ptr320, i64** %ppc, align 8 + br label %if.end322 + +if.end322: ; preds = %if.then310, %if.then314, %lor.lhs.false304 + %173 = load i8, i8* %mode, align 1 + %conv323 = sext i8 %173 to i32 + %cmp324 = icmp ne i32 %conv323, 102 + br i1 %cmp324, label %if.then326, label %EXIT_SPECIAL + +if.then326: ; preds = %if.end322 + %arraydecay327 = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + %add.ptr328 = getelementptr inbounds i8, i8* %arraydecay327, i64 16 + store i8* %add.ptr328, i8** %p, align 8 + %arraydecay330 = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + %174 = load i8, i8* %arraydecay330, align 16 + store i8 %174, i8* %exp_char, align 1 + store i8 43, i8* %exp_sign, align 1 + %175 = load i32, i32* %exp, align 4 + %cmp331 = icmp slt i32 %175, 0 + br i1 %cmp331, label %if.then333, label %if.end335 + +if.then333: ; preds = %if.then326 + store i8 45, i8* %exp_sign, align 1 + %176 = load i32, i32* %exp, align 4 + %sub334 = sub nsw i32 0, %176 + store i32 %sub334, i32* %exp, align 4 + br label %if.end335 + +if.end335: ; preds = %if.then333, %if.then326 + %177 = load i8*, i8** %p, align 8 + %incdec.ptr336 = getelementptr inbounds i8, i8* %177, i32 -1 + store i8* %incdec.ptr336, i8** %p, align 8 + store i8 0, i8* %incdec.ptr336, align 1 + store i32 2, i32* %j329, align 4 + br label %do.body337 + +do.body337: ; preds = %do.body337, %if.end335 + %178 = load i32, i32* %exp, align 4 + %rem338 = srem i32 %178, 10 + %add339 = add nsw i32 48, %rem338 + %conv340 = trunc i32 %add339 to i8 + %179 = load i8*, i8** %p, align 8 + %incdec.ptr341 = getelementptr inbounds i8, i8* %179, i32 -1 + store i8* %incdec.ptr341, i8** %p, align 8 + store i8 %conv340, i8* %incdec.ptr341, align 1 + %180 = load i32, i32* %exp, align 4 + %div342 = sdiv i32 %180, 10 + store i32 %div342, i32* %exp, align 4 + %181 = load i32, i32* %j329, align 4 + %inc344 = add nsw i32 %181, 1 + store i32 %inc344, i32* %j329, align 4 + %cmp345 = icmp slt i32 %inc344, 4 + %182 = load i32, i32* %exp, align 4 + %tobool348 = icmp ne i32 %182, 0 + %183 = select i1 %cmp345, i1 true, i1 %tobool348 + br i1 %183, label %do.body337, label %do.end350 + +do.end350: ; preds = %do.body337 + %184 = load i8, i8* %exp_sign, align 1 + %185 = load i8*, i8** %p, align 8 + %incdec.ptr351 = getelementptr inbounds i8, i8* %185, i32 -1 + store i8* %incdec.ptr351, i8** %p, align 8 + store i8 %184, i8* %incdec.ptr351, align 1 + %186 = load i8, i8* %exp_char, align 1 + %187 = load i8*, i8** %p, align 8 + %incdec.ptr352 = getelementptr inbounds i8, i8* %187, i32 -1 + store i8* %incdec.ptr352, i8** %p, align 8 + store i8 %186, i8* %incdec.ptr352, align 1 + %188 = load i64*, i64** %ppc, align 8 + %arrayidx353 = getelementptr inbounds i64, i64* %188, i64 0 + store i64 112, i64* %arrayidx353, align 8 + %189 = load i32, i32* %j329, align 4 + %conv354 = sext i32 %189 to i64 + %190 = load i64*, i64** %ppc, align 8 + %arrayidx355 = getelementptr inbounds i64, i64* %190, i64 1 + store i64 %conv354, i64* %arrayidx355, align 8 + %191 = load i8*, i8** %p, align 8 + %192 = ptrtoint i8* %191 to i64 + %193 = load i64*, i64** %ppc, align 8 + %arrayidx356 = getelementptr inbounds i64, i64* %193, i64 2 + store i64 %192, i64* %arrayidx356, align 8 + %194 = load i64*, i64** %ppc, align 8 + %add.ptr357 = getelementptr inbounds i64, i64* %194, i64 3 + store i64* %add.ptr357, i64** %ppc, align 8 + br label %EXIT_SPECIAL + +EXIT_SPECIAL: ; preds = %if.end322, %do.end350, %if.end54 + %195 = load i64*, i64** %ppc, align 8 + store i64* %195, i64** %ppc_last, align 8 + %arraydecay360 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + %add.ptr361 = getelementptr inbounds i64, i64* %arraydecay360, i64 4 + store i64* %add.ptr361, i64** %ppc, align 8 + br label %do.body362 + +do.body362: ; preds = %do.body362, %EXIT_SPECIAL + %196 = load i64*, i64** %ppc, align 8 + %197 = load i64, i64* %196, align 8 + %198 = load i32, i32* %width, align 4 + %conv363 = sext i32 %198 to i64 + %sub364 = sub nsw i64 %conv363, %197 + %conv365 = trunc i64 %sub364 to i32 + store i32 %conv365, i32* %width, align 4 + %199 = load i64*, i64** %ppc, align 8 + %add.ptr366 = getelementptr inbounds i64, i64* %199, i64 3 + store i64* %add.ptr366, i64** %ppc, align 8 + %200 = load i64*, i64** %ppc, align 8 + %201 = load i64*, i64** %ppc_last, align 8 + %cmp368 = icmp ult i64* %200, %201 + br i1 %cmp368, label %do.body362, label %do.end370 + +do.end370: ; preds = %do.body362 + %arraydecay371 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + store i64* %arraydecay371, i64** %ppc, align 8 + %202 = load i64*, i64** %ppc, align 8 + %arrayidx372 = getelementptr inbounds i64, i64* %202, i64 0 + store i64 160, i64* %arrayidx372, align 8 + %arraydecay373 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %203 = load i8, i8* %arraydecay373, align 1 + %conv374 = sext i8 %203 to i32 + %cmp375 = icmp ne i32 %conv374, 0 + %conv376 = zext i1 %cmp375 to i32 + store i32 %conv376, i32* %i359, align 4 + %conv377 = sext i32 %conv376 to i64 + %204 = load i64*, i64** %ppc, align 8 + %arrayidx378 = getelementptr inbounds i64, i64* %204, i64 1 + store i64 %conv377, i64* %arrayidx378, align 8 + %arraydecay379 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %205 = ptrtoint i8* %arraydecay379 to i64 + %206 = load i64*, i64** %ppc, align 8 + %arrayidx380 = getelementptr inbounds i64, i64* %206, i64 2 + store i64 %205, i64* %arrayidx380, align 8 + %207 = load i32, i32* %i359, align 4 + %208 = load i32, i32* %width, align 4 + %sub381 = sub nsw i32 %208, %207 + store i32 %sub381, i32* %width, align 4 + %cmp382 = icmp sgt i32 %sub381, 0 + br i1 %cmp382, label %if.then384, label %if.end409 + +if.then384: ; preds = %do.end370 + %209 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %left = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %209, i32 0, i32 3 + %bf.load385 = load i32, i32* %left, align 4 + %bf.lshr386 = lshr i32 %bf.load385, 3 + %bf.clear387 = and i32 %bf.lshr386, 1 + %tobool388 = icmp ne i32 %bf.clear387, 0 + br i1 %tobool388, label %if.then389, label %if.else395 + +if.then389: ; preds = %if.then384 + %210 = load i64*, i64** %ppc_last, align 8 + %arrayidx390 = getelementptr inbounds i64, i64* %210, i64 0 + store i64 160, i64* %arrayidx390, align 8 + %211 = load i32, i32* %width, align 4 + %conv391 = sext i32 %211 to i64 + %212 = load i64*, i64** %ppc_last, align 8 + %arrayidx392 = getelementptr inbounds i64, i64* %212, i64 1 + store i64 %conv391, i64* %arrayidx392, align 8 + %213 = load i64*, i64** %ppc_last, align 8 + %arrayidx393 = getelementptr inbounds i64, i64* %213, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx393, align 8 + %214 = load i64*, i64** %ppc_last, align 8 + %add.ptr394 = getelementptr inbounds i64, i64* %214, i64 3 + store i64* %add.ptr394, i64** %ppc_last, align 8 + br label %if.end409 + +if.else395: ; preds = %if.then384 + %215 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %pad396 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %215, i32 0, i32 4 + %216 = load i32, i32* %pad396, align 4 + %cmp397 = icmp eq i32 %216, 48 + %217 = load i32, i32* %width, align 4 + %conv400 = sext i32 %217 to i64 + %218 = load i64*, i64** %ppc, align 8 + br i1 %cmp397, label %if.then399, label %if.else403 + +if.then399: ; preds = %if.else395 + %arrayidx401 = getelementptr inbounds i64, i64* %218, i64 4 + %219 = load i64, i64* %arrayidx401, align 8 + %add402 = add nsw i64 %219, %conv400 + store i64 %add402, i64* %arrayidx401, align 8 + br label %if.end409 + +if.else403: ; preds = %if.else395 + %arrayidx405 = getelementptr inbounds i64, i64* %218, i64 1 + %220 = load i64, i64* %arrayidx405, align 8 + %add406 = add nsw i64 %220, %conv400 + store i64 %add406, i64* %arrayidx405, align 8 + br label %if.end409 + +if.end409: ; preds = %if.then389, %if.else403, %if.then399, %do.end370 + store i32 0, i32* %cnt, align 4 + br label %do.body410 + +do.body410: ; preds = %if.end418, %if.end409 + %221 = load i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)*, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)** %fp_outfunc.addr, align 8 + %222 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + %223 = load i64*, i64** %ppc, align 8 + %224 = load i64, i64* %223, align 8 + %225 = load i64*, i64** %ppc, align 8 + %arrayidx411 = getelementptr inbounds i64, i64* %225, i64 1 + %226 = load i64, i64* %arrayidx411, align 8 + %227 = load i64*, i64** %ppc, align 8 + %arrayidx412 = getelementptr inbounds i64, i64* %227, i64 2 + %228 = load i64, i64* %arrayidx412, align 8 + %call413 = call i64 %221(%struct.__STDIO_FILE_STRUCT.568* %222, i64 %224, i64 %226, i64 %228) #18 + %229 = load i64*, i64** %ppc, align 8 + %arrayidx414 = getelementptr inbounds i64, i64* %229, i64 1 + %230 = load i64, i64* %arrayidx414, align 8 + %cmp415 = icmp ne i64 %call413, %230 + br i1 %cmp415, label %if.then417, label %if.end418 + +if.then417: ; preds = %do.body410 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end418: ; preds = %do.body410 + %231 = load i64*, i64** %ppc, align 8 + %arrayidx419 = getelementptr inbounds i64, i64* %231, i64 1 + %232 = load i64, i64* %arrayidx419, align 8 + %233 = load i32, i32* %cnt, align 4 + %conv420 = sext i32 %233 to i64 + %add421 = add nsw i64 %conv420, %232 + %conv422 = trunc i64 %add421 to i32 + store i32 %conv422, i32* %cnt, align 4 + %234 = load i64*, i64** %ppc, align 8 + %add.ptr423 = getelementptr inbounds i64, i64* %234, i64 3 + store i64* %add.ptr423, i64** %ppc, align 8 + %235 = load i64*, i64** %ppc, align 8 + %236 = load i64*, i64** %ppc_last, align 8 + %cmp425 = icmp ult i64* %235, %236 + br i1 %cmp425, label %do.body410, label %do.end427 + +do.end427: ; preds = %if.end418 + %237 = load i32, i32* %cnt, align 4 + %conv428 = sext i32 %237 to i64 + store i64 %conv428, i64* %retval, align 8 + br label %return + +return: ; preds = %do.end427, %if.then417 + %238 = load i64, i64* %retval, align 8 + ret i64 %238 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_fwrite(i8* noalias %buffer, i64 %bytes, %struct.__STDIO_FILE_STRUCT.621* noalias %stream) #0 { +entry: + %retval = alloca i64, align 8 + %buffer.addr = alloca i8*, align 8 + %bytes.addr = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.621*, align 8 + %pending = alloca i64, align 8 + %p = alloca i8*, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %bytes, i64* %bytes.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.621* %stream, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 512 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end63, label %if.then + +if.then: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %2, i32 0, i32 2 + %3 = load i32, i32* %__filedes, align 4 + %cmp = icmp eq i32 %3, -2 + br i1 %cmp, label %if.then2, label %if.end8 + +if.then2: ; preds = %if.then + %4 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %4, i32 0, i32 4 + %5 = load i8*, i8** %__bufend, align 8 + %6 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %6, i32 0, i32 5 + %7 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %pending, align 8 + %8 = load i64, i64* %pending, align 8 + %9 = load i64, i64* %bytes.addr, align 8 + %cmp3 = icmp ugt i64 %8, %9 + br i1 %cmp3, label %if.then5, label %if.end + +if.then5: ; preds = %if.then2 + %10 = load i64, i64* %bytes.addr, align 8 + store i64 %10, i64* %pending, align 8 + br label %if.end + +if.end: ; preds = %if.then5, %if.then2 + %11 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufpos6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %11, i32 0, i32 5 + %12 = load i8*, i8** %__bufpos6, align 8 + %13 = load i8*, i8** %buffer.addr, align 8 + %14 = load i64, i64* %pending, align 8 + %call = call i8* @memcpy(i8* %12, i8* %13, i64 %14) #19 + %15 = load i64, i64* %pending, align 8 + %16 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufpos7 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %16, i32 0, i32 5 + %17 = load i8*, i8** %__bufpos7, align 8 + %add.ptr = getelementptr inbounds i8, i8* %17, i64 %15 + store i8* %add.ptr, i8** %__bufpos7, align 8 + %18 = load i64, i64* %bytes.addr, align 8 + store i64 %18, i64* %retval, align 8 + br label %return + +if.end8: ; preds = %if.then + %19 = load i64, i64* %bytes.addr, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufend9 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %20, i32 0, i32 4 + %21 = load i8*, i8** %__bufend9, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufpos10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %22, i32 0, i32 5 + %23 = load i8*, i8** %__bufpos10, align 8 + %sub.ptr.lhs.cast11 = ptrtoint i8* %21 to i64 + %sub.ptr.rhs.cast12 = ptrtoint i8* %23 to i64 + %sub.ptr.sub13 = sub i64 %sub.ptr.lhs.cast11, %sub.ptr.rhs.cast12 + %cmp14 = icmp ule i64 %19, %sub.ptr.sub13 + %24 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufpos17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %24, i32 0, i32 5 + %25 = load i8*, i8** %__bufpos17, align 8 + br i1 %cmp14, label %if.then16, label %if.end51 + +if.then16: ; preds = %if.end8 + %26 = load i8*, i8** %buffer.addr, align 8 + %27 = load i64, i64* %bytes.addr, align 8 + %call18 = call i8* @memcpy(i8* %25, i8* %26, i64 %27) #19 + %28 = load i64, i64* %bytes.addr, align 8 + %29 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufpos19 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %29, i32 0, i32 5 + %30 = load i8*, i8** %__bufpos19, align 8 + %add.ptr20 = getelementptr inbounds i8, i8* %30, i64 %28 + store i8* %add.ptr20, i8** %__bufpos19, align 8 + %31 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__modeflags21 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %31, i32 0, i32 0 + %32 = load i16, i16* %__modeflags21, align 8 + %conv22 = zext i16 %32 to i32 + %and23 = and i32 %conv22, 256 + %tobool24 = icmp ne i32 %and23, 0 + br i1 %tobool24, label %land.lhs.true, label %if.end50 + +land.lhs.true: ; preds = %if.then16 + %33 = load i8*, i8** %buffer.addr, align 8 + %34 = load i64, i64* %bytes.addr, align 8 + %call25 = call i8* @memrchr(i8* %33, i32 10, i64 %34) #20 + %tobool26 = icmp ne i8* %call25, null + br i1 %tobool26, label %if.then27, label %if.end50 + +if.then27: ; preds = %land.lhs.true + %35 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %call28 = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.568*)* @__stdio_wcommit to i64 (%struct.__STDIO_FILE_STRUCT.621*)*)(%struct.__STDIO_FILE_STRUCT.621* %35) #18 + store i64 %call28, i64* %pending, align 8 + %cmp29 = icmp ugt i64 %call28, 0 + br i1 %cmp29, label %if.then31, label %if.end50 + +if.then31: ; preds = %if.then27 + %36 = load i64, i64* %pending, align 8 + %37 = load i64, i64* %bytes.addr, align 8 + %cmp32 = icmp ugt i64 %36, %37 + br i1 %cmp32, label %if.then34, label %if.end35 + +if.then34: ; preds = %if.then31 + %38 = load i64, i64* %bytes.addr, align 8 + store i64 %38, i64* %pending, align 8 + br label %if.end35 + +if.end35: ; preds = %if.then34, %if.then31 + %39 = load i64, i64* %bytes.addr, align 8 + %40 = load i64, i64* %pending, align 8 + %sub = sub i64 %39, %40 + %41 = load i8*, i8** %buffer.addr, align 8 + %add.ptr36 = getelementptr inbounds i8, i8* %41, i64 %sub + store i8* %add.ptr36, i8** %buffer.addr, align 8 + %42 = load i8*, i8** %buffer.addr, align 8 + %43 = load i64, i64* %pending, align 8 + %call37 = call i8* @memchr(i8* %42, i32 10, i64 %43) #20 + store i8* %call37, i8** %p, align 8 + %cmp38 = icmp ne i8* %call37, null + br i1 %cmp38, label %if.then40, label %if.end50 + +if.then40: ; preds = %if.end35 + %44 = load i8*, i8** %buffer.addr, align 8 + %45 = load i64, i64* %pending, align 8 + %add.ptr41 = getelementptr inbounds i8, i8* %44, i64 %45 + %46 = load i8*, i8** %p, align 8 + %sub.ptr.lhs.cast42 = ptrtoint i8* %add.ptr41 to i64 + %sub.ptr.rhs.cast43 = ptrtoint i8* %46 to i64 + %sub.ptr.sub44 = sub i64 %sub.ptr.lhs.cast42, %sub.ptr.rhs.cast43 + store i64 %sub.ptr.sub44, i64* %pending, align 8 + %47 = load i64, i64* %pending, align 8 + %48 = load i64, i64* %bytes.addr, align 8 + %sub45 = sub i64 %48, %47 + store i64 %sub45, i64* %bytes.addr, align 8 + %49 = load i64, i64* %pending, align 8 + %50 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufpos46 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %50, i32 0, i32 5 + %51 = load i8*, i8** %__bufpos46, align 8 + %idx.neg = sub i64 0, %49 + %add.ptr47 = getelementptr inbounds i8, i8* %51, i64 %idx.neg + store i8* %add.ptr47, i8** %__bufpos46, align 8 + br label %if.end50 + +if.end50: ; preds = %if.then27, %if.then40, %if.end35, %land.lhs.true, %if.then16 + %52 = load i64, i64* %bytes.addr, align 8 + store i64 %52, i64* %retval, align 8 + br label %return + +if.end51: ; preds = %if.end8 + %53 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %53, i32 0, i32 3 + %54 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast53 = ptrtoint i8* %25 to i64 + %sub.ptr.rhs.cast54 = ptrtoint i8* %54 to i64 + %sub.ptr.sub55 = sub i64 %sub.ptr.lhs.cast53, %sub.ptr.rhs.cast54 + %tobool56 = icmp ne i64 %sub.ptr.sub55, 0 + br i1 %tobool56, label %if.then57, label %if.end63 + +if.then57: ; preds = %if.end51 + %55 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %call58 = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.568*)* @__stdio_wcommit to i64 (%struct.__STDIO_FILE_STRUCT.621*)*)(%struct.__STDIO_FILE_STRUCT.621* %55) #18 + %tobool59 = icmp ne i64 %call58, 0 + br i1 %tobool59, label %if.then60, label %if.end63 + +if.then60: ; preds = %if.then57 + store i64 0, i64* %retval, align 8 + br label %return + +if.end63: ; preds = %if.end51, %if.then57, %entry + %56 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %57 = load i8*, i8** %buffer.addr, align 8 + %58 = load i64, i64* %bytes.addr, align 8 + %call64 = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.568*, i8*, i64)* @__stdio_WRITE to i64 (%struct.__STDIO_FILE_STRUCT.621*, i8*, i64)*)(%struct.__STDIO_FILE_STRUCT.621* %56, i8* %57, i64 %58) #18 + store i64 %call64, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end63, %if.then60, %if.end50, %if.end + %59 = load i64, i64* %retval, align 8 + ret i64 %59 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_load_inttype(i32 %desttype, i8* %src, i32 %uflag) #0 { +entry: + %retval = alloca i64, align 8 + %desttype.addr = alloca i32, align 4 + %src.addr = alloca i8*, align 8 + %uflag.addr = alloca i32, align 4 + %x = alloca i32, align 4 + %x24 = alloca i32, align 4 + store i32 %desttype, i32* %desttype.addr, align 4 + store i8* %src, i8** %src.addr, align 8 + store i32 %uflag, i32* %uflag.addr, align 4 + %0 = load i32, i32* %uflag.addr, align 4 + %cmp = icmp sge i32 %0, 0 + %1 = load i32, i32* %desttype.addr, align 4 + %and = and i32 %1, 3072 + %tobool = icmp ne i32 %and, 0 + %2 = load i8*, i8** %src.addr, align 8 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + br i1 %tobool, label %if.then1, label %if.end4 + +if.then1: ; preds = %if.then + %3 = bitcast i8* %2 to i64* + %4 = load i64, i64* %3, align 8 + store i64 %4, i64* %retval, align 8 + br label %return + +if.end4: ; preds = %if.then + %5 = bitcast i8* %2 to i32* + %6 = load i32, i32* %5, align 4 + store i32 %6, i32* %x, align 4 + %7 = load i32, i32* %desttype.addr, align 4 + %cmp5 = icmp eq i32 %7, 256 + br i1 %cmp5, label %if.then6, label %if.end8 + +if.then6: ; preds = %if.end4 + %8 = load i32, i32* %x, align 4 + %conv = trunc i32 %8 to i8 + %conv7 = zext i8 %conv to i32 + store i32 %conv7, i32* %x, align 4 + br label %if.end8 + +if.end8: ; preds = %if.then6, %if.end4 + %9 = load i32, i32* %desttype.addr, align 4 + %cmp9 = icmp eq i32 %9, 512 + br i1 %cmp9, label %if.then11, label %if.end14 + +if.then11: ; preds = %if.end8 + %10 = load i32, i32* %x, align 4 + %conv12 = trunc i32 %10 to i16 + %conv13 = zext i16 %conv12 to i32 + store i32 %conv13, i32* %x, align 4 + br label %if.end14 + +if.end14: ; preds = %if.then11, %if.end8 + %11 = load i32, i32* %x, align 4 + %conv15 = zext i32 %11 to i64 + store i64 %conv15, i64* %retval, align 8 + br label %return + +if.else: ; preds = %entry + br i1 %tobool, label %if.then18, label %if.end23 + +if.then18: ; preds = %if.else + %12 = bitcast i8* %2 to i64* + %13 = load i64, i64* %12, align 8 + store i64 %13, i64* %retval, align 8 + br label %return + +if.end23: ; preds = %if.else + %14 = bitcast i8* %2 to i32* + %15 = load i32, i32* %14, align 4 + store i32 %15, i32* %x24, align 4 + %16 = load i32, i32* %desttype.addr, align 4 + %cmp25 = icmp eq i32 %16, 256 + br i1 %cmp25, label %if.then27, label %if.end30 + +if.then27: ; preds = %if.end23 + %17 = load i32, i32* %x24, align 4 + %conv28 = trunc i32 %17 to i8 + %conv29 = sext i8 %conv28 to i32 + store i32 %conv29, i32* %x24, align 4 + br label %if.end30 + +if.end30: ; preds = %if.then27, %if.end23 + %18 = load i32, i32* %desttype.addr, align 4 + %cmp31 = icmp eq i32 %18, 512 + br i1 %cmp31, label %if.then33, label %if.end36 + +if.then33: ; preds = %if.end30 + %19 = load i32, i32* %x24, align 4 + %conv34 = trunc i32 %19 to i16 + %conv35 = sext i16 %conv34 to i32 + store i32 %conv35, i32* %x24, align 4 + br label %if.end36 + +if.end36: ; preds = %if.then33, %if.end30 + %20 = load i32, i32* %x24, align 4 + %conv37 = sext i32 %20 to i64 + store i64 %conv37, i64* %retval, align 8 + br label %return + +return: ; preds = %if.then18, %if.then1, %if.end36, %if.end14 + %21 = load i64, i64* %retval, align 8 + ret i64 %21 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_ppfs_init(%struct.ppfs_t.722* %ppfs, i8* %fmt0) #0 { +entry: + %retval = alloca i32, align 4 + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %fmt0.addr = alloca i8*, align 8 + %r = alloca i32, align 4 + %mbstate = alloca %struct.__mbstate_t.512, align 4 + %p = alloca i8*, align 8 + %p8 = alloca i32*, align 8 + %fmt = alloca i8*, align 8 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store i8* %fmt0, i8** %fmt0.addr, align 8 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %1 = bitcast %struct.ppfs_t.722* %0 to i8* + %call = call i8* @memset(i8* %1, i32 0, i64 176) #19 + %2 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %2, i32 0, i32 2 + %3 = load i32, i32* %maxposarg, align 4 + %dec = add nsw i32 %3, -1 + store i32 %dec, i32* %maxposarg, align 4 + %4 = load i8*, i8** %fmt0.addr, align 8 + %5 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %5, i32 0, i32 0 + store i8* %4, i8** %fmtpos, align 8 + %6 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %6, i32 0, i32 9 + %7 = load i8, i8* %encoding, align 8 + %conv = zext i8 %7 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %if.then, label %if.end7 + +if.then: ; preds = %entry + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %mbstate, i32 0, i32 0 + store i32 0, i32* %__mask, align 4 + %8 = load i8*, i8** %fmt0.addr, align 8 + store i8* %8, i8** %p, align 8 + %call2 = call i64 @mbsrtowcs(i32* null, i8** %p, i64 -1, %struct.__mbstate_t.512* %mbstate) #19 + %cmp3 = icmp eq i64 %call2, -1 + br i1 %cmp3, label %if.then5, label %if.end7 + +if.then5: ; preds = %if.then + %9 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos6 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %9, i32 0, i32 0 + store i8* getelementptr inbounds ([33 x i8], [33 x i8]* @_ppfs_init.invalid_mbs, i64 0, i64 0), i8** %fmtpos6, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end7: ; preds = %if.then, %entry + %10 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %10, i32 0, i32 6 + %arraydecay = getelementptr inbounds [9 x i32], [9 x i32]* %argtype, i64 0, i64 0 + store i32* %arraydecay, i32** %p8, align 8 + store i32 9, i32* %r, align 4 + br label %do.body + +do.body: ; preds = %do.body, %if.end7 + %11 = load i32*, i32** %p8, align 8 + %incdec.ptr = getelementptr inbounds i32, i32* %11, i32 1 + store i32* %incdec.ptr, i32** %p8, align 8 + store i32 8, i32* %11, align 4 + %12 = load i32, i32* %r, align 4 + %dec9 = add nsw i32 %12, -1 + store i32 %dec9, i32* %r, align 4 + %tobool = icmp ne i32 %dec9, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.body + %13 = load i8*, i8** %fmt0.addr, align 8 + store i8* %13, i8** %fmt, align 8 + br label %while.cond + +while.cond: ; preds = %if.end27, %do.end + %14 = load i8*, i8** %fmt, align 8 + %15 = load i8, i8* %14, align 1 + %tobool10 = icmp ne i8 %15, 0 + br i1 %tobool10, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %16 = load i8*, i8** %fmt, align 8 + %17 = load i8, i8* %16, align 1 + %conv11 = sext i8 %17 to i32 + %cmp12 = icmp eq i32 %conv11, 37 + br i1 %cmp12, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %while.body + %18 = load i8*, i8** %fmt, align 8 + %incdec.ptr14 = getelementptr inbounds i8, i8* %18, i32 1 + store i8* %incdec.ptr14, i8** %fmt, align 8 + %19 = load i8, i8* %incdec.ptr14, align 1 + %conv15 = sext i8 %19 to i32 + %cmp16 = icmp ne i32 %conv15, 37 + br i1 %cmp16, label %if.then18, label %if.else + +if.then18: ; preds = %land.lhs.true + %20 = load i8*, i8** %fmt, align 8 + %21 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos19 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %21, i32 0, i32 0 + store i8* %20, i8** %fmtpos19, align 8 + %22 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %call20 = call i32 @_ppfs_parsespec(%struct.ppfs_t.722* %22) #18 + store i32 %call20, i32* %r, align 4 + %cmp21 = icmp slt i32 %call20, 0 + br i1 %cmp21, label %if.then23, label %if.end24 + +if.then23: ; preds = %if.then18 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end24: ; preds = %if.then18 + %23 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos25 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %23, i32 0, i32 0 + %24 = load i8*, i8** %fmtpos25, align 8 + store i8* %24, i8** %fmt, align 8 + br label %if.end27 + +if.else: ; preds = %land.lhs.true, %while.body + %25 = load i8*, i8** %fmt, align 8 + %incdec.ptr26 = getelementptr inbounds i8, i8* %25, i32 1 + store i8* %incdec.ptr26, i8** %fmt, align 8 + br label %if.end27 + +if.end27: ; preds = %if.else, %if.end24 + br label %while.cond + +while.end: ; preds = %while.cond + %26 = load i8*, i8** %fmt0.addr, align 8 + %27 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos28 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %27, i32 0, i32 0 + store i8* %26, i8** %fmtpos28, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %while.end, %if.then23, %if.then5 + %28 = load i32, i32* %retval, align 4 + ret i32 %28 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_ppfs_parsespec(%struct.ppfs_t.722* %ppfs) #0 { +entry: + %retval = alloca i32, align 4 + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %fmt = alloca i8*, align 8 + %p = alloca i8*, align 8 + %preci = alloca i32, align 4 + %width = alloca i32, align 4 + %flags = alloca i32, align 4 + %dataargtype = alloca i32, align 4 + %i = alloca i32, align 4 + %dpoint = alloca i32, align 4 + %maxposarg = alloca i32, align 4 + %p_m_spec_chars = alloca i32, align 4 + %n = alloca i32, align 4 + %argtype = alloca [3 x i32], align 4 + %argnumber = alloca [3 x i32], align 4 + %buf = alloca [32 x i8], align 16 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store i32 -1, i32* %preci, align 4 + %arrayidx = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 0 + store i32 0, i32* %arrayidx, align 4 + %arrayidx1 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 1 + store i32 0, i32* %arrayidx1, align 4 + %arrayidx2 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 0 + store i32 8, i32* %arrayidx2, align 4 + %arrayidx3 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 1 + store i32 8, i32* %arrayidx3, align 4 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg4 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %0, i32 0, i32 2 + %1 = load i32, i32* %maxposarg4, align 4 + store i32 %1, i32* %maxposarg, align 4 + store i32 0, i32* %dpoint, align 4 + store i32 0, i32* %width, align 4 + %2 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %2, i32 0, i32 1 + %_flags = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 3 + %3 = load i32, i32* %_flags, align 4 + %and = and i32 %3, 128 + store i32 %and, i32* %flags, align 4 + %cmp = icmp eq i32 %and, 0 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %4 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %4, i32 0, i32 0 + %5 = load i8*, i8** %fmtpos, align 8 + store i8* %5, i8** %fmt, align 8 + br label %if.end20 + +if.else: ; preds = %entry + %arraydecay = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 1 + store i8* %add.ptr, i8** %fmt, align 8 + store i32 0, i32* %i, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %if.else + %6 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos5 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %6, i32 0, i32 0 + %7 = load i8*, i8** %fmtpos5, align 8 + %8 = bitcast i8* %7 to i32* + %9 = load i32, i32* %i, align 4 + %sub = sub nsw i32 %9, 1 + %idxprom = sext i32 %sub to i64 + %arrayidx6 = getelementptr inbounds i32, i32* %8, i64 %idxprom + %10 = load i32, i32* %arrayidx6, align 4 + %conv = trunc i32 %10 to i8 + %11 = load i32, i32* %i, align 4 + %idxprom7 = sext i32 %11 to i64 + %arrayidx8 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 %idxprom7 + store i8 %conv, i8* %arrayidx8, align 1 + %conv9 = sext i8 %conv to i32 + %12 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos10 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %12, i32 0, i32 0 + %13 = load i8*, i8** %fmtpos10, align 8 + %14 = bitcast i8* %13 to i32* + %15 = load i32, i32* %i, align 4 + %sub11 = sub nsw i32 %15, 1 + %idxprom12 = sext i32 %sub11 to i64 + %arrayidx13 = getelementptr inbounds i32, i32* %14, i64 %idxprom12 + %16 = load i32, i32* %arrayidx13, align 4 + %cmp14 = icmp ne i32 %conv9, %16 + br i1 %cmp14, label %if.then16, label %do.cond + +if.then16: ; preds = %do.body + store i32 -1, i32* %retval, align 4 + br label %return + +do.cond: ; preds = %do.body + %17 = load i32, i32* %i, align 4 + %inc = add nsw i32 %17, 1 + store i32 %inc, i32* %i, align 4 + %idxprom17 = sext i32 %17 to i64 + %arrayidx18 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 %idxprom17 + %18 = load i8, i8* %arrayidx18, align 1 + %tobool = icmp ne i8 %18, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %arrayidx19 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 31 + store i8 0, i8* %arrayidx19, align 1 + br label %if.end20 + +if.end20: ; preds = %do.end, %if.then + br label %width_precision + +width_precision: ; preds = %do.end89, %if.then129, %if.end20 + %19 = load i8*, i8** %fmt, align 8 + store i8* %19, i8** %p, align 8 + %20 = load i8*, i8** %fmt, align 8 + %21 = load i8, i8* %20, align 1 + %conv21 = sext i8 %21 to i32 + %cmp22 = icmp eq i32 %conv21, 42 + br i1 %cmp22, label %if.then24, label %if.end28 + +if.then24: ; preds = %width_precision + %22 = load i32, i32* %dpoint, align 4 + %sub25 = sub nsw i32 0, %22 + %idxprom26 = sext i32 %sub25 to i64 + %arrayidx27 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 %idxprom26 + store i32 0, i32* %arrayidx27, align 4 + %23 = load i8*, i8** %fmt, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %23, i32 1 + store i8* %incdec.ptr, i8** %fmt, align 8 + br label %if.end28 + +if.end28: ; preds = %if.then24, %width_precision + store i32 0, i32* %i, align 4 + br label %while.cond + +while.cond: ; preds = %if.end40, %if.end28 + %call = call i16** @__ctype_b_loc() #21 + %24 = load i16*, i16** %call, align 8 + %25 = load i8*, i8** %fmt, align 8 + %26 = load i8, i8* %25, align 1 + %conv29 = sext i8 %26 to i32 + %idxprom30 = sext i32 %conv29 to i64 + %arrayidx31 = getelementptr inbounds i16, i16* %24, i64 %idxprom30 + %27 = load i16, i16* %arrayidx31, align 2 + %conv32 = zext i16 %27 to i32 + %and33 = and i32 %conv32, 2048 + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %28 = load i32, i32* %i, align 4 + %cmp35 = icmp slt i32 %28, 4095 + br i1 %cmp35, label %if.then37, label %if.end40 + +if.then37: ; preds = %while.body + %29 = load i32, i32* %i, align 4 + %mul = mul nsw i32 %29, 10 + %30 = load i8*, i8** %fmt, align 8 + %31 = load i8, i8* %30, align 1 + %conv38 = sext i8 %31 to i32 + %sub39 = sub nsw i32 %conv38, 48 + %add = add nsw i32 %mul, %sub39 + store i32 %add, i32* %i, align 4 + br label %if.end40 + +if.end40: ; preds = %if.then37, %while.body + %32 = load i8*, i8** %fmt, align 8 + %incdec.ptr41 = getelementptr inbounds i8, i8* %32, i32 1 + store i8* %incdec.ptr41, i8** %fmt, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %33 = load i8*, i8** %p, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %33, i64 -1 + %34 = load i8, i8* %arrayidx42, align 1 + %conv43 = sext i8 %34 to i32 + %cmp44 = icmp eq i32 %conv43, 37 + br i1 %cmp44, label %if.then46, label %PREC_WIDTH + +if.then46: ; preds = %while.end + %35 = load i8*, i8** %fmt, align 8 + %36 = load i8, i8* %35, align 1 + %conv47 = sext i8 %36 to i32 + %cmp48 = icmp eq i32 %conv47, 36 + %37 = load i32, i32* %i, align 4 + %cmp50 = icmp sgt i32 %37, 0 + %or.cond = and i1 %cmp48, %cmp50 + br i1 %or.cond, label %if.then52, label %if.else63 + +if.then52: ; preds = %if.then46 + %38 = load i8*, i8** %fmt, align 8 + %incdec.ptr53 = getelementptr inbounds i8, i8* %38, i32 1 + store i8* %incdec.ptr53, i8** %fmt, align 8 + %39 = load i32, i32* %maxposarg, align 4 + %cmp54 = icmp eq i32 %39, 0 + br i1 %cmp54, label %if.then56, label %if.end57 + +if.then56: ; preds = %if.then52 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end57: ; preds = %if.then52 + %40 = load i32, i32* %i, align 4 + %arrayidx58 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 2 + store i32 %40, i32* %arrayidx58, align 4 + %41 = load i32, i32* %maxposarg, align 4 + %cmp59 = icmp sgt i32 %40, %41 + br i1 %cmp59, label %if.then61, label %if.end76 + +if.then61: ; preds = %if.end57 + %42 = load i32, i32* %i, align 4 + store i32 %42, i32* %maxposarg, align 4 + br label %if.end76 + +if.else63: ; preds = %if.then46 + %43 = load i32, i32* %maxposarg, align 4 + %cmp64 = icmp sgt i32 %43, 0 + br i1 %cmp64, label %if.then66, label %if.end67 + +if.then66: ; preds = %if.else63 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end67: ; preds = %if.else63 + store i32 0, i32* %maxposarg, align 4 + %44 = load i8*, i8** %fmt, align 8 + %45 = load i8*, i8** %p, align 8 + %cmp68 = icmp ugt i8* %44, %45 + br i1 %cmp68, label %land.lhs.true70, label %if.end75 + +land.lhs.true70: ; preds = %if.end67 + %46 = load i8*, i8** %p, align 8 + %47 = load i8, i8* %46, align 1 + %conv71 = sext i8 %47 to i32 + %cmp72 = icmp ne i32 %conv71, 48 + br i1 %cmp72, label %PREC_WIDTH, label %if.end75 + +if.end75: ; preds = %land.lhs.true70, %if.end67 + %48 = load i8*, i8** %p, align 8 + store i8* %48, i8** %fmt, align 8 + br label %if.end76 + +if.end76: ; preds = %if.end57, %if.then61, %if.end75 + br label %restart_flags + +restart_flags: ; preds = %if.then83, %if.end76 + store i32 1, i32* %i, align 4 + store i8* getelementptr inbounds ([8 x i8], [8 x i8]* @_ppfs_parsespec.spec_flags, i64 0, i64 0), i8** %p, align 8 + br label %do.body77 + +do.body77: ; preds = %if.end85, %restart_flags + %49 = load i8*, i8** %fmt, align 8 + %50 = load i8, i8* %49, align 1 + %conv78 = sext i8 %50 to i32 + %51 = load i8*, i8** %p, align 8 + %incdec.ptr79 = getelementptr inbounds i8, i8* %51, i32 1 + store i8* %incdec.ptr79, i8** %p, align 8 + %52 = load i8, i8* %51, align 1 + %conv80 = sext i8 %52 to i32 + %cmp81 = icmp eq i32 %conv78, %conv80 + br i1 %cmp81, label %if.then83, label %if.end85 + +if.then83: ; preds = %do.body77 + %53 = load i8*, i8** %fmt, align 8 + %incdec.ptr84 = getelementptr inbounds i8, i8* %53, i32 1 + store i8* %incdec.ptr84, i8** %fmt, align 8 + %54 = load i32, i32* %i, align 4 + %55 = load i32, i32* %flags, align 4 + %or = or i32 %55, %54 + store i32 %or, i32* %flags, align 4 + br label %restart_flags + +if.end85: ; preds = %do.body77 + %56 = load i32, i32* %i, align 4 + %57 = load i32, i32* %i, align 4 + %add86 = add nsw i32 %57, %56 + store i32 %add86, i32* %i, align 4 + %58 = load i8*, i8** %p, align 8 + %59 = load i8, i8* %58, align 1 + %tobool88 = icmp ne i8 %59, 0 + br i1 %tobool88, label %do.body77, label %do.end89 + +do.end89: ; preds = %if.end85 + store i32 0, i32* %i, align 4 + %60 = load i32, i32* %flags, align 4 + %and90 = and i32 %60, 10 + %shr = ashr i32 %and90, 1 + %neg = xor i32 %shr, -1 + %61 = load i32, i32* %flags, align 4 + %and91 = and i32 %61, %neg + store i32 %and91, i32* %flags, align 4 + %62 = load i8*, i8** %fmt, align 8 + %arrayidx92 = getelementptr inbounds i8, i8* %62, i64 -1 + %63 = load i8, i8* %arrayidx92, align 1 + %conv93 = sext i8 %63 to i32 + %cmp94 = icmp ne i32 %conv93, 37 + br i1 %cmp94, label %width_precision, label %PREC_WIDTH + +PREC_WIDTH: ; preds = %while.end, %do.end89, %land.lhs.true70 + %64 = load i8*, i8** %p, align 8 + %65 = load i8, i8* %64, align 1 + %conv99 = sext i8 %65 to i32 + %cmp100 = icmp eq i32 %conv99, 42 + br i1 %cmp100, label %if.then102, label %if.end123 + +if.then102: ; preds = %PREC_WIDTH + %66 = load i32, i32* %maxposarg, align 4 + %tobool103 = icmp ne i32 %66, 0 + br i1 %tobool103, label %if.then104, label %if.else116 + +if.then104: ; preds = %if.then102 + %67 = load i8*, i8** %fmt, align 8 + %incdec.ptr105 = getelementptr inbounds i8, i8* %67, i32 1 + store i8* %incdec.ptr105, i8** %fmt, align 8 + %68 = load i8, i8* %67, align 1 + %conv106 = sext i8 %68 to i32 + %cmp107 = icmp ne i32 %conv106, 36 + %69 = load i32, i32* %i, align 4 + %cmp109 = icmp sle i32 %69, 0 + %or.cond1 = or i1 %cmp107, %cmp109 + br i1 %or.cond1, label %if.then111, label %if.end112 + +if.then111: ; preds = %if.then104 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end112: ; preds = %if.then104 + %70 = load i32, i32* %i, align 4 + %71 = load i32, i32* %dpoint, align 4 + %sub113 = sub nsw i32 0, %71 + %idxprom114 = sext i32 %sub113 to i64 + %arrayidx115 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 %idxprom114 + store i32 %70, i32* %arrayidx115, align 4 + br label %if.end122 + +if.else116: ; preds = %if.then102 + %72 = load i8*, i8** %p, align 8 + %incdec.ptr117 = getelementptr inbounds i8, i8* %72, i32 1 + store i8* %incdec.ptr117, i8** %p, align 8 + %73 = load i8*, i8** %fmt, align 8 + %cmp118 = icmp ne i8* %incdec.ptr117, %73 + br i1 %cmp118, label %if.then120, label %if.end122 + +if.then120: ; preds = %if.else116 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end122: ; preds = %if.else116, %if.end112 + store i32 -2147483648, i32* %i, align 4 + br label %if.end123 + +if.end123: ; preds = %if.end122, %PREC_WIDTH + %74 = load i32, i32* %dpoint, align 4 + %tobool124 = icmp ne i32 %74, 0 + %75 = load i32, i32* %i, align 4 + br i1 %tobool124, label %if.else132, label %if.then125 + +if.then125: ; preds = %if.end123 + store i32 %75, i32* %width, align 4 + %76 = load i8*, i8** %fmt, align 8 + %77 = load i8, i8* %76, align 1 + %conv126 = sext i8 %77 to i32 + %cmp127 = icmp eq i32 %conv126, 46 + br i1 %cmp127, label %if.then129, label %if.end133 + +if.then129: ; preds = %if.then125 + %78 = load i8*, i8** %fmt, align 8 + %incdec.ptr130 = getelementptr inbounds i8, i8* %78, i32 1 + store i8* %incdec.ptr130, i8** %fmt, align 8 + store i32 -1, i32* %dpoint, align 4 + br label %width_precision + +if.else132: ; preds = %if.end123 + store i32 %75, i32* %preci, align 4 + br label %if.end133 + +if.end133: ; preds = %if.then125, %if.else132 + store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @_ppfs_parsespec.qual_chars, i64 0, i64 0), i8** %p, align 8 + br label %do.body134 + +do.body134: ; preds = %do.cond142, %if.end133 + %79 = load i8*, i8** %fmt, align 8 + %80 = load i8, i8* %79, align 1 + %conv135 = sext i8 %80 to i32 + %81 = load i8*, i8** %p, align 8 + %82 = load i8, i8* %81, align 1 + %conv136 = sext i8 %82 to i32 + %cmp137 = icmp eq i32 %conv135, %conv136 + br i1 %cmp137, label %if.then139, label %do.cond142 + +if.then139: ; preds = %do.body134 + %83 = load i8*, i8** %fmt, align 8 + %incdec.ptr140 = getelementptr inbounds i8, i8* %83, i32 1 + store i8* %incdec.ptr140, i8** %fmt, align 8 + br label %do.end145 + +do.cond142: ; preds = %do.body134 + %84 = load i8*, i8** %p, align 8 + %incdec.ptr143 = getelementptr inbounds i8, i8* %84, i32 1 + store i8* %incdec.ptr143, i8** %p, align 8 + %85 = load i8, i8* %incdec.ptr143, align 1 + %tobool144 = icmp ne i8 %85, 0 + br i1 %tobool144, label %do.body134, label %do.end145 + +do.end145: ; preds = %do.cond142, %if.then139 + %86 = load i8*, i8** %p, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %86 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, ptrtoint ([20 x i8]* @_ppfs_parsespec.qual_chars to i64) + %cmp146 = icmp slt i64 %sub.ptr.sub, 2 + br i1 %cmp146, label %land.lhs.true148, label %if.end156 + +land.lhs.true148: ; preds = %do.end145 + %87 = load i8*, i8** %fmt, align 8 + %88 = load i8, i8* %87, align 1 + %conv149 = sext i8 %88 to i32 + %89 = load i8*, i8** %p, align 8 + %90 = load i8, i8* %89, align 1 + %conv150 = sext i8 %90 to i32 + %cmp151 = icmp eq i32 %conv149, %conv150 + br i1 %cmp151, label %if.then153, label %if.end156 + +if.then153: ; preds = %land.lhs.true148 + %91 = load i8*, i8** %p, align 8 + %add.ptr154 = getelementptr inbounds i8, i8* %91, i64 9 + store i8* %add.ptr154, i8** %p, align 8 + %92 = load i8*, i8** %fmt, align 8 + %incdec.ptr155 = getelementptr inbounds i8, i8* %92, i32 1 + store i8* %incdec.ptr155, i8** %fmt, align 8 + br label %if.end156 + +if.end156: ; preds = %if.then153, %land.lhs.true148, %do.end145 + %93 = load i8*, i8** %p, align 8 + %arrayidx157 = getelementptr inbounds i8, i8* %93, i64 9 + %94 = load i8, i8* %arrayidx157, align 1 + %conv158 = sext i8 %94 to i32 + %shl = shl i32 %conv158, 8 + store i32 %shl, i32* %dataargtype, align 4 + %95 = load i8*, i8** %fmt, align 8 + %96 = load i8, i8* %95, align 1 + %tobool159 = icmp ne i8 %96, 0 + br i1 %tobool159, label %if.end161, label %if.then160 + +if.then160: ; preds = %if.end156 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end161: ; preds = %if.end156 + store i8* getelementptr inbounds ([21 x i8], [21 x i8]* @_ppfs_parsespec.spec_chars, i64 0, i64 0), i8** %p, align 8 + br label %do.body162 + +do.body162: ; preds = %do.cond199, %if.end161 + %97 = load i8*, i8** %fmt, align 8 + %98 = load i8, i8* %97, align 1 + %conv163 = sext i8 %98 to i32 + %99 = load i8*, i8** %p, align 8 + %100 = load i8, i8* %99, align 1 + %conv164 = sext i8 %100 to i32 + %cmp165 = icmp eq i32 %conv163, %conv164 + %101 = load i8*, i8** %p, align 8 + br i1 %cmp165, label %if.then167, label %do.cond199 + +if.then167: ; preds = %do.body162 + %sub.ptr.lhs.cast168 = ptrtoint i8* %101 to i64 + %sub.ptr.sub169 = sub i64 %sub.ptr.lhs.cast168, ptrtoint ([21 x i8]* @_ppfs_parsespec.spec_chars to i64) + %conv170 = trunc i64 %sub.ptr.sub169 to i32 + store i32 %conv170, i32* %p_m_spec_chars, align 4 + %102 = load i32, i32* %p_m_spec_chars, align 4 + %cmp171 = icmp sge i32 %102, 18 + br i1 %cmp171, label %land.lhs.true173, label %if.end178 + +land.lhs.true173: ; preds = %if.then167 + %103 = load i32, i32* %dataargtype, align 4 + %and174 = and i32 %103, 1024 + %tobool175 = icmp ne i32 %and174, 0 + br i1 %tobool175, label %if.then176, label %if.end178 + +if.then176: ; preds = %land.lhs.true173 + %104 = load i32, i32* %p_m_spec_chars, align 4 + %sub177 = sub nsw i32 %104, 2 + store i32 %sub177, i32* %p_m_spec_chars, align 4 + br label %if.end178 + +if.end178: ; preds = %if.then176, %land.lhs.true173, %if.then167 + %105 = load i32, i32* %p_m_spec_chars, align 4 + %106 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %106, i32 0, i32 4 + store i32 %105, i32* %conv_num, align 4 + store i8* getelementptr inbounds (i8, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @_ppfs_parsespec.spec_ranges, i64 0, i64 0), i64 -1), i8** %p, align 8 + br label %while.cond179 + +while.cond179: ; preds = %while.cond179, %if.end178 + %107 = load i32, i32* %p_m_spec_chars, align 4 + %108 = load i8*, i8** %p, align 8 + %incdec.ptr180 = getelementptr inbounds i8, i8* %108, i32 1 + store i8* %incdec.ptr180, i8** %p, align 8 + %109 = load i8, i8* %incdec.ptr180, align 1 + %conv181 = sext i8 %109 to i32 + %cmp182 = icmp sgt i32 %107, %conv181 + br i1 %cmp182, label %while.cond179, label %while.end185 + +while.end185: ; preds = %while.cond179 + %110 = load i8*, i8** %p, align 8 + %sub.ptr.lhs.cast186 = ptrtoint i8* %110 to i64 + %sub.ptr.sub187 = sub i64 %sub.ptr.lhs.cast186, ptrtoint ([9 x i8]* @_ppfs_parsespec.spec_ranges to i64) + %conv188 = trunc i64 %sub.ptr.sub187 to i32 + store i32 %conv188, i32* %i, align 4 + %111 = load i32, i32* %dataargtype, align 4 + %112 = load i32, i32* %i, align 4 + %idxprom189 = sext i32 %112 to i64 + %arrayidx190 = getelementptr inbounds [8 x i16], [8 x i16]* @_ppfs_parsespec.spec_or_mask, i64 0, i64 %idxprom189 + %113 = load i16, i16* %arrayidx190, align 2 + %conv191 = sext i16 %113 to i32 + %or192 = or i32 %111, %conv191 + %114 = load i32, i32* %i, align 4 + %idxprom193 = sext i32 %114 to i64 + %arrayidx194 = getelementptr inbounds [8 x i16], [8 x i16]* @_ppfs_parsespec.spec_and_mask, i64 0, i64 %idxprom193 + %115 = load i16, i16* %arrayidx194, align 2 + %conv195 = sext i16 %115 to i32 + %and196 = and i32 %or192, %conv195 + %arrayidx197 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 2 + store i32 %and196, i32* %arrayidx197, align 4 + store i8* getelementptr inbounds ([21 x i8], [21 x i8]* @_ppfs_parsespec.spec_chars, i64 0, i64 0), i8** %p, align 8 + br label %do.end202 + +do.cond199: ; preds = %do.body162 + %incdec.ptr200 = getelementptr inbounds i8, i8* %101, i32 1 + store i8* %incdec.ptr200, i8** %p, align 8 + %116 = load i8, i8* %incdec.ptr200, align 1 + %tobool201 = icmp ne i8 %116, 0 + br i1 %tobool201, label %do.body162, label %do.end202 + +do.end202: ; preds = %do.cond199, %while.end185 + %117 = load i8*, i8** %fmt, align 8 + %118 = load i8, i8* %117, align 1 + %conv203 = sext i8 %118 to i32 + %119 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info204 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %119, i32 0, i32 1 + %spec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info204, i32 0, i32 2 + store i32 %conv203, i32* %spec, align 8 + %120 = load i32, i32* %preci, align 4 + %121 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info205 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %121, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info205, i32 0, i32 0 + store i32 %120, i32* %prec, align 8 + %122 = load i32, i32* %width, align 4 + %123 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info206 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %123, i32 0, i32 1 + %width207 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info206, i32 0, i32 1 + store i32 %122, i32* %width207, align 4 + %124 = load i32, i32* %flags, align 4 + %and208 = and i32 %124, 4 + %tobool209 = icmp ne i32 %and208, 0 + %125 = zext i1 %tobool209 to i64 + %cond = select i1 %tobool209, i32 48, i32 32 + %126 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info210 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %126, i32 0, i32 1 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info210, i32 0, i32 4 + store i32 %cond, i32* %pad, align 8 + %127 = load i32, i32* %flags, align 4 + %and211 = and i32 %127, -5 + %128 = load i32, i32* %dataargtype, align 4 + %and212 = and i32 %128, 3840 + %or213 = or i32 %and211, %and212 + %129 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info214 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %129, i32 0, i32 1 + %_flags215 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info214, i32 0, i32 3 + store i32 %or213, i32* %_flags215, align 4 + %130 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %130, i32 0, i32 3 + store i32 1, i32* %num_data_args, align 8 + %131 = load i8*, i8** %p, align 8 + %132 = load i8, i8* %131, align 1 + %tobool216 = icmp ne i8 %132, 0 + br i1 %tobool216, label %if.end218, label %if.then217 + +if.then217: ; preds = %do.end202 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end218: ; preds = %do.end202 + %133 = load i32, i32* %maxposarg, align 4 + %cmp219 = icmp sgt i32 %133, 0 + br i1 %cmp219, label %if.then221, label %if.else265 + +if.then221: ; preds = %if.end218 + store i32 0, i32* %i, align 4 + br label %do.body222 + +do.body222: ; preds = %do.cond258, %if.then221 + %134 = load i32, i32* %i, align 4 + %cmp223 = icmp sle i32 %134, 2 + br i1 %cmp223, label %cond.true, label %cond.false + +cond.true: ; preds = %do.body222 + %135 = load i32, i32* %i, align 4 + %idxprom225 = sext i32 %135 to i64 + %arrayidx226 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 %idxprom225 + %136 = load i32, i32* %arrayidx226, align 4 + %conv227 = trunc i32 %136 to i8 + %137 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber228 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %137, i32 0, i32 5 + %138 = load i32, i32* %i, align 4 + %idxprom229 = sext i32 %138 to i64 + %arrayidx230 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber228, i64 0, i64 %idxprom229 + store i8 %conv227, i8* %arrayidx230, align 1 + %conv231 = zext i8 %conv227 to i32 + br label %cond.end + +cond.false: ; preds = %do.body222 + %arrayidx232 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 2 + %139 = load i32, i32* %arrayidx232, align 4 + %140 = load i32, i32* %i, align 4 + %sub233 = sub nsw i32 %140, 2 + %add234 = add nsw i32 %139, %sub233 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond235 = phi i32 [ %conv231, %cond.true ], [ %add234, %cond.false ] + store i32 %cond235, i32* %n, align 4 + %141 = load i32, i32* %n, align 4 + %142 = load i32, i32* %maxposarg, align 4 + %cmp236 = icmp sgt i32 %141, %142 + br i1 %cmp236, label %if.then238, label %if.end243 + +if.then238: ; preds = %cond.end + %143 = load i32, i32* %n, align 4 + store i32 %143, i32* %maxposarg, align 4 + %cmp239 = icmp sgt i32 %143, 9 + br i1 %cmp239, label %if.then241, label %if.end243 + +if.then241: ; preds = %if.then238 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end243: ; preds = %if.then238, %cond.end + %144 = load i32, i32* %n, align 4 + %dec = add nsw i32 %144, -1 + store i32 %dec, i32* %n, align 4 + %145 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype244 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %145, i32 0, i32 6 + %146 = load i32, i32* %n, align 4 + %idxprom245 = sext i32 %146 to i64 + %arrayidx246 = getelementptr inbounds [9 x i32], [9 x i32]* %argtype244, i64 0, i64 %idxprom245 + %147 = load i32, i32* %arrayidx246, align 4 + %148 = load i32, i32* %i, align 4 + %idxprom247 = sext i32 %148 to i64 + %arrayidx248 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 %idxprom247 + %149 = load i32, i32* %arrayidx248, align 4 + %call249 = call i32 @_is_equal_or_bigger_arg(i32 %147, i32 %149) #18 + %tobool250 = icmp ne i32 %call249, 0 + br i1 %tobool250, label %if.then251, label %do.cond258 + +if.then251: ; preds = %if.end243 + %150 = load i32, i32* %i, align 4 + %idxprom252 = sext i32 %150 to i64 + %arrayidx253 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 %idxprom252 + %151 = load i32, i32* %arrayidx253, align 4 + %152 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype254 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %152, i32 0, i32 6 + %153 = load i32, i32* %n, align 4 + %idxprom255 = sext i32 %153 to i64 + %arrayidx256 = getelementptr inbounds [9 x i32], [9 x i32]* %argtype254, i64 0, i64 %idxprom255 + store i32 %151, i32* %arrayidx256, align 4 + br label %do.cond258 + +do.cond258: ; preds = %if.end243, %if.then251 + %154 = load i32, i32* %i, align 4 + %inc259 = add nsw i32 %154, 1 + store i32 %inc259, i32* %i, align 4 + %155 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args260 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %155, i32 0, i32 3 + %156 = load i32, i32* %num_data_args260, align 8 + %add261 = add nsw i32 %156, 2 + %cmp262 = icmp slt i32 %inc259, %add261 + br i1 %cmp262, label %do.body222, label %if.end276 + +if.else265: ; preds = %if.end218 + %157 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber266 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %157, i32 0, i32 5 + %arrayidx267 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber266, i64 0, i64 2 + store i8 1, i8* %arrayidx267, align 2 + %158 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype268 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %158, i32 0, i32 6 + %arraydecay269 = getelementptr inbounds [9 x i32], [9 x i32]* %argtype268, i64 0, i64 0 + %159 = bitcast i32* %arraydecay269 to i8* + %arraydecay270 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 0 + %add.ptr271 = getelementptr inbounds i32, i32* %arraydecay270, i64 2 + %160 = bitcast i32* %add.ptr271 to i8* + %161 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args272 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %161, i32 0, i32 3 + %162 = load i32, i32* %num_data_args272, align 8 + %conv273 = sext i32 %162 to i64 + %mul274 = mul i64 %conv273, 4 + %call275 = call i8* @memcpy(i8* %159, i8* %160, i64 %mul274) #19 + br label %if.end276 + +if.end276: ; preds = %do.cond258, %if.else265 + %163 = load i32, i32* %maxposarg, align 4 + %164 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg277 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %164, i32 0, i32 2 + store i32 %163, i32* %maxposarg277, align 4 + %165 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info278 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %165, i32 0, i32 1 + %_flags279 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info278, i32 0, i32 3 + %166 = load i32, i32* %_flags279, align 4 + %and280 = and i32 %166, 128 + store i32 %and280, i32* %flags, align 4 + %cmp281 = icmp eq i32 %and280, 0 + br i1 %cmp281, label %if.then283, label %if.else286 + +if.then283: ; preds = %if.end276 + %167 = load i8*, i8** %fmt, align 8 + %incdec.ptr284 = getelementptr inbounds i8, i8* %167, i32 1 + store i8* %incdec.ptr284, i8** %fmt, align 8 + %168 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos285 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %168, i32 0, i32 0 + store i8* %incdec.ptr284, i8** %fmtpos285, align 8 + br label %if.end293 + +if.else286: ; preds = %if.end276 + %169 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos287 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %169, i32 0, i32 0 + %170 = load i8*, i8** %fmtpos287, align 8 + %171 = bitcast i8* %170 to i32* + %172 = load i8*, i8** %fmt, align 8 + %arraydecay288 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 0 + %sub.ptr.lhs.cast289 = ptrtoint i8* %172 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %arraydecay288 to i64 + %sub.ptr.sub290 = sub i64 %sub.ptr.lhs.cast289, %sub.ptr.rhs.cast + %add.ptr291 = getelementptr inbounds i32, i32* %171, i64 %sub.ptr.sub290 + %173 = bitcast i32* %add.ptr291 to i8* + %174 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos292 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %174, i32 0, i32 0 + store i8* %173, i8** %fmtpos292, align 8 + br label %if.end293 + +if.end293: ; preds = %if.else286, %if.then283 + %175 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args294 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %175, i32 0, i32 3 + %176 = load i32, i32* %num_data_args294, align 8 + %add295 = add nsw i32 %176, 2 + store i32 %add295, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end293, %if.then241, %if.then217, %if.then160, %if.then120, %if.then111, %if.then66, %if.then56, %if.then16 + %177 = load i32, i32* %retval, align 4 + ret i32 %177 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_is_equal_or_bigger_arg(i32 %curtype, i32 %newtype) #0 { +entry: + %retval = alloca i32, align 4 + %curtype.addr = alloca i32, align 4 + %newtype.addr = alloca i32, align 4 + store i32 %curtype, i32* %curtype.addr, align 4 + store i32 %newtype, i32* %newtype.addr, align 4 + %0 = load i32, i32* %newtype.addr, align 4 + %cmp = icmp eq i32 %0, 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %1 = load i32, i32* %curtype.addr, align 4 + %cmp1 = icmp eq i32 %1, 8 + br i1 %cmp1, label %if.then3, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %2 = load i32, i32* %curtype.addr, align 4 + %3 = load i32, i32* %newtype.addr, align 4 + %cmp2 = icmp eq i32 %2, %3 + br i1 %cmp2, label %if.then3, label %if.end4 + +if.then3: ; preds = %lor.lhs.false, %if.end + store i32 1, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %lor.lhs.false + %4 = load i32, i32* %curtype.addr, align 4 + %call = call i32 @_promoted_size(i32 %4) #18 + %5 = load i32, i32* %newtype.addr, align 4 + %call5 = call i32 @_promoted_size(i32 %5) #18 + %cmp6 = icmp sle i32 %call, %call5 + %conv = zext i1 %cmp6 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_promoted_size(i32 %argtype) #0 { +entry: + %argtype.addr = alloca i32, align 4 + %p = alloca i16*, align 8 + store i32 %argtype, i32* %argtype.addr, align 4 + store i16* getelementptr inbounds (i16, i16* getelementptr inbounds ([12 x i16], [12 x i16]* @type_codes, i64 0, i64 0), i64 12), i16** %p, align 8 + br label %do.body + +do.body: ; preds = %do.body, %entry + %0 = load i16*, i16** %p, align 8 + %incdec.ptr = getelementptr inbounds i16, i16* %0, i32 -1 + store i16* %incdec.ptr, i16** %p, align 8 + %1 = load i16, i16* %incdec.ptr, align 2 + %conv = sext i16 %1 to i32 + %2 = load i32, i32* %argtype.addr, align 4 + %cmp = icmp ne i32 %conv, %2 + %3 = load i16*, i16** %p, align 8 + %cmp2 = icmp ugt i16* %3, getelementptr inbounds ([12 x i16], [12 x i16]* @type_codes, i64 0, i64 0) + %or.cond = and i1 %cmp, %cmp2 + br i1 %or.cond, label %do.body, label %do.end + +do.end: ; preds = %do.body + %4 = load i16*, i16** %p, align 8 + %sub.ptr.lhs.cast = ptrtoint i16* %4 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, ptrtoint ([12 x i16]* @type_codes to i64) + %sub.ptr.div = sdiv exact i64 %sub.ptr.sub, 2 + %conv4 = trunc i64 %sub.ptr.div to i32 + %idxprom = sext i32 %conv4 to i64 + %arrayidx = getelementptr inbounds [12 x i8], [12 x i8]* @type_sizes, i64 0, i64 %idxprom + %5 = load i8, i8* %arrayidx, align 1 + %conv5 = zext i8 %5 to i32 + ret i32 %conv5 +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_ppfs_prepargs(%struct.ppfs_t.722* %ppfs, %struct.__va_list_tag.0* %arg) #0 { +entry: + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %arg.addr = alloca %struct.__va_list_tag.0*, align 8 + %i = alloca i32, align 4 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store %struct.__va_list_tag.0* %arg, %struct.__va_list_tag.0** %arg.addr, align 8 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg1 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %0, i32 0, i32 7 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg1, i64 0, i64 0 + %1 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %arg.addr, align 8 + %2 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + %3 = bitcast %struct.__va_list_tag.0* %1 to i8* + %vacopy.cast.dst = bitcast i8* %2 to i64* + %vacopy.cast.src = bitcast i8* %3 to i64* + %4 = load i64, i64* %vacopy.cast.src, align 8 + store volatile i64 %4, i64* %vacopy.cast.dst, align 8 + %5 = getelementptr i64, i64* %vacopy.cast.dst, i64 1 + %6 = getelementptr i64, i64* %vacopy.cast.src, i64 1 + %7 = load i64, i64* %6, align 8 + store i64 %7, i64* %5, align 8 + %8 = getelementptr i64, i64* %5, i64 1 + %9 = getelementptr i64, i64* %6, i64 1 + %10 = load i64, i64* %9, align 8 + store i64 %10, i64* %8, align 8 + %11 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %11, i32 0, i32 2 + %12 = load i32, i32* %maxposarg, align 4 + store i32 %12, i32* %i, align 4 + %cmp = icmp sgt i32 %12, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %13 = load i32, i32* %i, align 4 + %14 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %14, i32 0, i32 3 + store i32 %13, i32* %num_data_args, align 8 + %15 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg2 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %15, i32 0, i32 2 + store i32 0, i32* %maxposarg2, align 4 + %16 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %16, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 0 + store i32 0, i32* %prec, align 8 + %17 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info3 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %17, i32 0, i32 1 + %width = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info3, i32 0, i32 1 + store i32 0, i32* %width, align 4 + %18 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + call void @_ppfs_setargs(%struct.ppfs_t.722* %18) #18 + %19 = load i32, i32* %i, align 4 + %20 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg4 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %20, i32 0, i32 2 + store i32 %19, i32* %maxposarg4, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + ret void +} + +; Function Attrs: nounwind +declare void @llvm.va_copy(i8*, i8*) #11 + +; Function Attrs: noinline nounwind uwtable +define hidden void @_ppfs_setargs(%struct.ppfs_t.722* %ppfs) #0 { +entry: + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %p = alloca %union.anon.193*, align 8 + %i = alloca i32, align 4 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argvalue = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %0, i32 0, i32 8 + %arraydecay = getelementptr inbounds [9 x %union.anon.193], [9 x %union.anon.193]* %argvalue, i64 0, i64 0 + store %union.anon.193* %arraydecay, %union.anon.193** %p, align 8 + %1 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %1, i32 0, i32 2 + %2 = load i32, i32* %maxposarg, align 4 + %cmp = icmp eq i32 %2, 0 + %3 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %3, i32 0, i32 1 + %width = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 1 + %4 = load i32, i32* %width, align 4 + %cmp1 = icmp eq i32 %4, -2147483648 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + br i1 %cmp1, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + %5 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %5, i32 0, i32 7 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 8 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then2 + %6 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 3 + %reg_save_area = load i8*, i8** %6, align 8 + %7 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %8 = bitcast i8* %7 to i32* + %9 = add i32 %gp_offset, 8 + store i32 %9, i32* %gp_offset_p, align 8 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then2 + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %10 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %8, %vaarg.in_reg ], [ %10, %vaarg.in_mem ] + %11 = load i32, i32* %vaarg.addr, align 4 + %12 = load %union.anon.193*, %union.anon.193** %p, align 8 + %u = bitcast %union.anon.193* %12 to i32* + store i32 %11, i32* %u, align 8 + %13 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info4 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %13, i32 0, i32 1 + %width5 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info4, i32 0, i32 1 + store i32 %11, i32* %width5, align 4 + br label %if.end + +if.end: ; preds = %vaarg.end, %if.then + %14 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info6 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %14, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info6, i32 0, i32 0 + %15 = load i32, i32* %prec, align 8 + %cmp7 = icmp eq i32 %15, -2147483648 + br i1 %cmp7, label %if.then8, label %if.end25 + +if.then8: ; preds = %if.end + %16 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg9 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %16, i32 0, i32 7 + %arraydecay10 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg9, i64 0, i64 0 + %gp_offset_p11 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay10, i32 0, i32 0 + %gp_offset12 = load i32, i32* %gp_offset_p11, align 8 + %fits_in_gp13 = icmp ule i32 %gp_offset12, 40 + br i1 %fits_in_gp13, label %vaarg.in_reg14, label %vaarg.in_mem16 + +vaarg.in_reg14: ; preds = %if.then8 + %17 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay10, i32 0, i32 3 + %reg_save_area15 = load i8*, i8** %17, align 8 + %18 = getelementptr i8, i8* %reg_save_area15, i32 %gp_offset12 + %19 = bitcast i8* %18 to i32* + %20 = add i32 %gp_offset12, 8 + store i32 %20, i32* %gp_offset_p11, align 8 + br label %vaarg.end20 + +vaarg.in_mem16: ; preds = %if.then8 + %overflow_arg_area_p17 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay10, i32 0, i32 2 + %overflow_arg_area18 = load i8*, i8** %overflow_arg_area_p17, align 8 + %21 = bitcast i8* %overflow_arg_area18 to i32* + %overflow_arg_area.next19 = getelementptr i8, i8* %overflow_arg_area18, i32 8 + store i8* %overflow_arg_area.next19, i8** %overflow_arg_area_p17, align 8 + br label %vaarg.end20 + +vaarg.end20: ; preds = %vaarg.in_mem16, %vaarg.in_reg14 + %vaarg.addr21 = phi i32* [ %19, %vaarg.in_reg14 ], [ %21, %vaarg.in_mem16 ] + %22 = load i32, i32* %vaarg.addr21, align 4 + %23 = load %union.anon.193*, %union.anon.193** %p, align 8 + %u22 = bitcast %union.anon.193* %23 to i32* + store i32 %22, i32* %u22, align 8 + %24 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info23 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %24, i32 0, i32 1 + %prec24 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info23, i32 0, i32 0 + store i32 %22, i32* %prec24, align 8 + br label %if.end25 + +if.end25: ; preds = %vaarg.end20, %if.end + store i32 0, i32* %i, align 4 + br label %while.cond + +while.cond: ; preds = %NodeBlock, %sw.epilog, %if.end25 + %25 = load i32, i32* %i, align 4 + %26 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %26, i32 0, i32 3 + %27 = load i32, i32* %num_data_args, align 8 + %cmp26 = icmp slt i32 %25, %27 + br i1 %cmp26, label %while.body, label %if.end149 + +while.body: ; preds = %while.cond + %28 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %28, i32 0, i32 6 + %29 = load i32, i32* %i, align 4 + %inc = add nsw i32 %29, 1 + store i32 %inc, i32* %i, align 4 + %idxprom = sext i32 %29 to i64 + %arrayidx = getelementptr inbounds [9 x i32], [9 x i32]* %argtype, i64 0, i64 %idxprom + %30 = load i32, i32* %arrayidx, align 4 + br label %NodeBlock17 + +NodeBlock17: ; preds = %while.body + %case.cmp18 = icmp eq i32 %30, 2048 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %30, 1024 + br i1 %case.cmp16, label %sw.bb40, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %30, 1 + br i1 %case.cmp14, label %sw.bb54, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %30, 256 + br i1 %case.cmp12, label %sw.bb54, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %30, 512 + br i1 %case.cmp10, label %sw.bb54, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %30, 0 + br i1 %case.cmp8, label %sw.bb54, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %30, 2 + br i1 %case.cmp6, label %sw.bb69, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %30, 7 + br i1 %case.cmp4, label %sw.bb83, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %30, 2055 + br i1 %case.cmp2, label %sw.bb94, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %30, 8 + br i1 %case.cmp, label %while.cond, label %newDefault + +sw.bb: ; preds = %NodeBlock17 + %31 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg27 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %31, i32 0, i32 7 + %arraydecay28 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg27, i64 0, i64 0 + %gp_offset_p29 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay28, i32 0, i32 0 + %gp_offset30 = load i32, i32* %gp_offset_p29, align 8 + %fits_in_gp31 = icmp ule i32 %gp_offset30, 40 + br i1 %fits_in_gp31, label %vaarg.in_reg32, label %vaarg.in_mem34 + +vaarg.in_reg32: ; preds = %sw.bb + %32 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay28, i32 0, i32 3 + %reg_save_area33 = load i8*, i8** %32, align 8 + %33 = getelementptr i8, i8* %reg_save_area33, i32 %gp_offset30 + %34 = bitcast i8* %33 to i64* + %35 = add i32 %gp_offset30, 8 + store i32 %35, i32* %gp_offset_p29, align 8 + br label %vaarg.end38 + +vaarg.in_mem34: ; preds = %sw.bb + %overflow_arg_area_p35 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay28, i32 0, i32 2 + %overflow_arg_area36 = load i8*, i8** %overflow_arg_area_p35, align 8 + %36 = bitcast i8* %overflow_arg_area36 to i64* + %overflow_arg_area.next37 = getelementptr i8, i8* %overflow_arg_area36, i32 8 + store i8* %overflow_arg_area.next37, i8** %overflow_arg_area_p35, align 8 + br label %vaarg.end38 + +vaarg.end38: ; preds = %vaarg.in_mem34, %vaarg.in_reg32 + %vaarg.addr39 = phi i64* [ %34, %vaarg.in_reg32 ], [ %36, %vaarg.in_mem34 ] + %37 = load i64, i64* %vaarg.addr39, align 8 + %38 = load %union.anon.193*, %union.anon.193** %p, align 8 + %ull = bitcast %union.anon.193* %38 to i64* + store i64 %37, i64* %ull, align 8 + br label %sw.epilog + +sw.bb40: ; preds = %NodeBlock15 + %39 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg41 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %39, i32 0, i32 7 + %arraydecay42 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg41, i64 0, i64 0 + %gp_offset_p43 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay42, i32 0, i32 0 + %gp_offset44 = load i32, i32* %gp_offset_p43, align 8 + %fits_in_gp45 = icmp ule i32 %gp_offset44, 40 + br i1 %fits_in_gp45, label %vaarg.in_reg46, label %vaarg.in_mem48 + +vaarg.in_reg46: ; preds = %sw.bb40 + %40 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay42, i32 0, i32 3 + %reg_save_area47 = load i8*, i8** %40, align 8 + %41 = getelementptr i8, i8* %reg_save_area47, i32 %gp_offset44 + %42 = bitcast i8* %41 to i64* + %43 = add i32 %gp_offset44, 8 + store i32 %43, i32* %gp_offset_p43, align 8 + br label %vaarg.end52 + +vaarg.in_mem48: ; preds = %sw.bb40 + %overflow_arg_area_p49 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay42, i32 0, i32 2 + %overflow_arg_area50 = load i8*, i8** %overflow_arg_area_p49, align 8 + %44 = bitcast i8* %overflow_arg_area50 to i64* + %overflow_arg_area.next51 = getelementptr i8, i8* %overflow_arg_area50, i32 8 + store i8* %overflow_arg_area.next51, i8** %overflow_arg_area_p49, align 8 + br label %vaarg.end52 + +vaarg.end52: ; preds = %vaarg.in_mem48, %vaarg.in_reg46 + %vaarg.addr53 = phi i64* [ %42, %vaarg.in_reg46 ], [ %44, %vaarg.in_mem48 ] + %45 = load i64, i64* %vaarg.addr53, align 8 + %46 = load %union.anon.193*, %union.anon.193** %p, align 8 + %ul = bitcast %union.anon.193* %46 to i64* + store i64 %45, i64* %ul, align 8 + br label %sw.epilog + +sw.bb54: ; preds = %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7 + %47 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg55 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %47, i32 0, i32 7 + %arraydecay56 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg55, i64 0, i64 0 + %gp_offset_p57 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay56, i32 0, i32 0 + %gp_offset58 = load i32, i32* %gp_offset_p57, align 8 + %fits_in_gp59 = icmp ule i32 %gp_offset58, 40 + br i1 %fits_in_gp59, label %vaarg.in_reg60, label %vaarg.in_mem62 + +vaarg.in_reg60: ; preds = %sw.bb54 + %48 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay56, i32 0, i32 3 + %reg_save_area61 = load i8*, i8** %48, align 8 + %49 = getelementptr i8, i8* %reg_save_area61, i32 %gp_offset58 + %50 = bitcast i8* %49 to i32* + %51 = add i32 %gp_offset58, 8 + store i32 %51, i32* %gp_offset_p57, align 8 + br label %vaarg.end66 + +vaarg.in_mem62: ; preds = %sw.bb54 + %overflow_arg_area_p63 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay56, i32 0, i32 2 + %overflow_arg_area64 = load i8*, i8** %overflow_arg_area_p63, align 8 + %52 = bitcast i8* %overflow_arg_area64 to i32* + %overflow_arg_area.next65 = getelementptr i8, i8* %overflow_arg_area64, i32 8 + store i8* %overflow_arg_area.next65, i8** %overflow_arg_area_p63, align 8 + br label %vaarg.end66 + +vaarg.end66: ; preds = %vaarg.in_mem62, %vaarg.in_reg60 + %vaarg.addr67 = phi i32* [ %50, %vaarg.in_reg60 ], [ %52, %vaarg.in_mem62 ] + %53 = load i32, i32* %vaarg.addr67, align 4 + %54 = load %union.anon.193*, %union.anon.193** %p, align 8 + %u68 = bitcast %union.anon.193* %54 to i32* + store i32 %53, i32* %u68, align 8 + br label %sw.epilog + +sw.bb69: ; preds = %NodeBlock5 + %55 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg70 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %55, i32 0, i32 7 + %arraydecay71 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg70, i64 0, i64 0 + %gp_offset_p72 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay71, i32 0, i32 0 + %gp_offset73 = load i32, i32* %gp_offset_p72, align 8 + %fits_in_gp74 = icmp ule i32 %gp_offset73, 40 + br i1 %fits_in_gp74, label %vaarg.in_reg75, label %vaarg.in_mem77 + +vaarg.in_reg75: ; preds = %sw.bb69 + %56 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay71, i32 0, i32 3 + %reg_save_area76 = load i8*, i8** %56, align 8 + %57 = getelementptr i8, i8* %reg_save_area76, i32 %gp_offset73 + %58 = bitcast i8* %57 to i32* + %59 = add i32 %gp_offset73, 8 + store i32 %59, i32* %gp_offset_p72, align 8 + br label %vaarg.end81 + +vaarg.in_mem77: ; preds = %sw.bb69 + %overflow_arg_area_p78 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay71, i32 0, i32 2 + %overflow_arg_area79 = load i8*, i8** %overflow_arg_area_p78, align 8 + %60 = bitcast i8* %overflow_arg_area79 to i32* + %overflow_arg_area.next80 = getelementptr i8, i8* %overflow_arg_area79, i32 8 + store i8* %overflow_arg_area.next80, i8** %overflow_arg_area_p78, align 8 + br label %vaarg.end81 + +vaarg.end81: ; preds = %vaarg.in_mem77, %vaarg.in_reg75 + %vaarg.addr82 = phi i32* [ %58, %vaarg.in_reg75 ], [ %60, %vaarg.in_mem77 ] + %61 = load i32, i32* %vaarg.addr82, align 4 + %62 = load %union.anon.193*, %union.anon.193** %p, align 8 + %wc = bitcast %union.anon.193* %62 to i32* + store i32 %61, i32* %wc, align 8 + br label %sw.epilog + +sw.bb83: ; preds = %NodeBlock3 + %63 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg84 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %63, i32 0, i32 7 + %arraydecay85 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg84, i64 0, i64 0 + %fp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay85, i32 0, i32 1 + %fp_offset = load i32, i32* %fp_offset_p, align 4 + %fits_in_fp = icmp ule i32 %fp_offset, 160 + br i1 %fits_in_fp, label %vaarg.in_reg86, label %vaarg.in_mem88 + +vaarg.in_reg86: ; preds = %sw.bb83 + %64 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay85, i32 0, i32 3 + %reg_save_area87 = load i8*, i8** %64, align 8 + %65 = getelementptr i8, i8* %reg_save_area87, i32 %fp_offset + %66 = bitcast i8* %65 to double* + %67 = add i32 %fp_offset, 16 + store i32 %67, i32* %fp_offset_p, align 4 + br label %vaarg.end92 + +vaarg.in_mem88: ; preds = %sw.bb83 + %overflow_arg_area_p89 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay85, i32 0, i32 2 + %overflow_arg_area90 = load i8*, i8** %overflow_arg_area_p89, align 8 + %68 = bitcast i8* %overflow_arg_area90 to double* + %overflow_arg_area.next91 = getelementptr i8, i8* %overflow_arg_area90, i32 8 + store i8* %overflow_arg_area.next91, i8** %overflow_arg_area_p89, align 8 + br label %vaarg.end92 + +vaarg.end92: ; preds = %vaarg.in_mem88, %vaarg.in_reg86 + %vaarg.addr93 = phi double* [ %66, %vaarg.in_reg86 ], [ %68, %vaarg.in_mem88 ] + %69 = load double, double* %vaarg.addr93, align 8 + %70 = load %union.anon.193*, %union.anon.193** %p, align 8 + %d = bitcast %union.anon.193* %70 to double* + store double %69, double* %d, align 8 + br label %sw.epilog + +sw.bb94: ; preds = %NodeBlock1 + %71 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg95 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %71, i32 0, i32 7 + %arraydecay96 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg95, i64 0, i64 0 + %fp_offset_p97 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay96, i32 0, i32 1 + %fp_offset98 = load i32, i32* %fp_offset_p97, align 4 + %fits_in_fp99 = icmp ule i32 %fp_offset98, 160 + br i1 %fits_in_fp99, label %vaarg.in_reg100, label %vaarg.in_mem102 + +vaarg.in_reg100: ; preds = %sw.bb94 + %72 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay96, i32 0, i32 3 + %reg_save_area101 = load i8*, i8** %72, align 8 + %73 = getelementptr i8, i8* %reg_save_area101, i32 %fp_offset98 + %74 = bitcast i8* %73 to double* + %75 = add i32 %fp_offset98, 16 + store i32 %75, i32* %fp_offset_p97, align 4 + br label %vaarg.end106 + +vaarg.in_mem102: ; preds = %sw.bb94 + %overflow_arg_area_p103 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay96, i32 0, i32 2 + %overflow_arg_area104 = load i8*, i8** %overflow_arg_area_p103, align 8 + %76 = bitcast i8* %overflow_arg_area104 to double* + %overflow_arg_area.next105 = getelementptr i8, i8* %overflow_arg_area104, i32 8 + store i8* %overflow_arg_area.next105, i8** %overflow_arg_area_p103, align 8 + br label %vaarg.end106 + +vaarg.end106: ; preds = %vaarg.in_mem102, %vaarg.in_reg100 + %vaarg.addr107 = phi double* [ %74, %vaarg.in_reg100 ], [ %76, %vaarg.in_mem102 ] + %77 = load double, double* %vaarg.addr107, align 8 + %78 = load %union.anon.193*, %union.anon.193** %p, align 8 + %ld = bitcast %union.anon.193* %78 to double* + store double %77, double* %ld, align 8 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.bb108 + +sw.bb108: ; preds = %newDefault + %79 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg109 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %79, i32 0, i32 7 + %arraydecay110 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg109, i64 0, i64 0 + %gp_offset_p111 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay110, i32 0, i32 0 + %gp_offset112 = load i32, i32* %gp_offset_p111, align 8 + %fits_in_gp113 = icmp ule i32 %gp_offset112, 40 + br i1 %fits_in_gp113, label %vaarg.in_reg114, label %vaarg.in_mem116 + +vaarg.in_reg114: ; preds = %sw.bb108 + %80 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay110, i32 0, i32 3 + %reg_save_area115 = load i8*, i8** %80, align 8 + %81 = getelementptr i8, i8* %reg_save_area115, i32 %gp_offset112 + %82 = bitcast i8* %81 to i8** + %83 = add i32 %gp_offset112, 8 + store i32 %83, i32* %gp_offset_p111, align 8 + br label %vaarg.end120 + +vaarg.in_mem116: ; preds = %sw.bb108 + %overflow_arg_area_p117 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay110, i32 0, i32 2 + %overflow_arg_area118 = load i8*, i8** %overflow_arg_area_p117, align 8 + %84 = bitcast i8* %overflow_arg_area118 to i8** + %overflow_arg_area.next119 = getelementptr i8, i8* %overflow_arg_area118, i32 8 + store i8* %overflow_arg_area.next119, i8** %overflow_arg_area_p117, align 8 + br label %vaarg.end120 + +vaarg.end120: ; preds = %vaarg.in_mem116, %vaarg.in_reg114 + %vaarg.addr121 = phi i8** [ %82, %vaarg.in_reg114 ], [ %84, %vaarg.in_mem116 ] + %85 = load i8*, i8** %vaarg.addr121, align 8 + %86 = load %union.anon.193*, %union.anon.193** %p, align 8 + %p122 = bitcast %union.anon.193* %86 to i8** + store i8* %85, i8** %p122, align 8 + br label %sw.epilog + +sw.epilog: ; preds = %vaarg.end120, %vaarg.end106, %vaarg.end92, %vaarg.end81, %vaarg.end66, %vaarg.end52, %vaarg.end38 + %87 = load %union.anon.193*, %union.anon.193** %p, align 8 + %incdec.ptr = getelementptr inbounds %union.anon.193, %union.anon.193* %87, i32 1 + store %union.anon.193* %incdec.ptr, %union.anon.193** %p, align 8 + br label %while.cond + +if.else: ; preds = %entry + br i1 %cmp1, label %if.then127, label %if.end133 + +if.then127: ; preds = %if.else + %88 = load %union.anon.193*, %union.anon.193** %p, align 8 + %89 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %89, i32 0, i32 5 + %arrayidx128 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber, i64 0, i64 0 + %90 = load i8, i8* %arrayidx128, align 8 + %conv = zext i8 %90 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds %union.anon.193, %union.anon.193* %88, i64 %idx.ext + %add.ptr129 = getelementptr inbounds %union.anon.193, %union.anon.193* %add.ptr, i64 -1 + %u130 = bitcast %union.anon.193* %add.ptr129 to i32* + %91 = load i32, i32* %u130, align 8 + %92 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info131 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %92, i32 0, i32 1 + %width132 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info131, i32 0, i32 1 + store i32 %91, i32* %width132, align 4 + br label %if.end133 + +if.end133: ; preds = %if.then127, %if.else + %93 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info134 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %93, i32 0, i32 1 + %prec135 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info134, i32 0, i32 0 + %94 = load i32, i32* %prec135, align 8 + %cmp136 = icmp eq i32 %94, -2147483648 + br i1 %cmp136, label %if.then138, label %if.end149 + +if.then138: ; preds = %if.end133 + %95 = load %union.anon.193*, %union.anon.193** %p, align 8 + %96 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber139 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %96, i32 0, i32 5 + %arrayidx140 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber139, i64 0, i64 1 + %97 = load i8, i8* %arrayidx140, align 1 + %conv141 = zext i8 %97 to i32 + %idx.ext142 = sext i32 %conv141 to i64 + %add.ptr143 = getelementptr inbounds %union.anon.193, %union.anon.193* %95, i64 %idx.ext142 + %add.ptr144 = getelementptr inbounds %union.anon.193, %union.anon.193* %add.ptr143, i64 -1 + %u145 = bitcast %union.anon.193* %add.ptr144 to i32* + %98 = load i32, i32* %u145, align 8 + %99 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info146 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %99, i32 0, i32 1 + %prec147 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info146, i32 0, i32 0 + store i32 %98, i32* %prec147, align 8 + br label %if.end149 + +if.end149: ; preds = %if.end133, %if.then138, %while.cond + %100 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info150 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %100, i32 0, i32 1 + %width151 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info150, i32 0, i32 1 + %101 = load i32, i32* %width151, align 4 + %cmp152 = icmp slt i32 %101, 0 + br i1 %cmp152, label %if.then154, label %if.end163 + +if.then154: ; preds = %if.end149 + %102 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info155 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %102, i32 0, i32 1 + %width156 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info155, i32 0, i32 1 + %103 = load i32, i32* %width156, align 4 + %sub = sub nsw i32 0, %103 + %104 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info157 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %104, i32 0, i32 1 + %width158 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info157, i32 0, i32 1 + store i32 %sub, i32* %width158, align 4 + %105 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info159 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %105, i32 0, i32 1 + %_flags = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info159, i32 0, i32 3 + %106 = load i32, i32* %_flags, align 4 + %or = or i32 %106, 8 + store i32 %or, i32* %_flags, align 4 + %107 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info160 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %107, i32 0, i32 1 + %_flags161 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info160, i32 0, i32 3 + %108 = load i32, i32* %_flags161, align 4 + %and = and i32 %108, -2 + store i32 %and, i32* %_flags161, align 4 + %109 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info162 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %109, i32 0, i32 1 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info162, i32 0, i32 4 + store i32 32, i32* %pad, align 8 + br label %if.end163 + +if.end163: ; preds = %if.then154, %if.end149 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_store_inttype(i8* %dest, i32 %desttype, i64 %val) #0 { +entry: + %dest.addr = alloca i8*, align 8 + %desttype.addr = alloca i32, align 4 + %val.addr = alloca i64, align 8 + store i8* %dest, i8** %dest.addr, align 8 + store i32 %desttype, i32* %desttype.addr, align 4 + store i64 %val, i64* %val.addr, align 8 + %0 = load i32, i32* %desttype.addr, align 4 + %cmp = icmp eq i32 %0, 256 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load i64, i64* %val.addr, align 8 + %conv = trunc i64 %1 to i8 + %2 = load i8*, i8** %dest.addr, align 8 + store i8 %conv, i8* %2, align 1 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* %desttype.addr, align 4 + %cmp1 = icmp eq i32 %3, 2048 + br i1 %cmp1, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.end + %4 = load i64, i64* %val.addr, align 8 + %5 = load i8*, i8** %dest.addr, align 8 + %6 = bitcast i8* %5 to i64* + store i64 %4, i64* %6, align 8 + br label %return + +if.end4: ; preds = %if.end + %7 = load i32, i32* %desttype.addr, align 4 + %cmp5 = icmp eq i32 %7, 512 + br i1 %cmp5, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end4 + %8 = load i64, i64* %val.addr, align 8 + %conv8 = trunc i64 %8 to i16 + %9 = load i8*, i8** %dest.addr, align 8 + %10 = bitcast i8* %9 to i16* + store i16 %conv8, i16* %10, align 2 + br label %return + +if.end9: ; preds = %if.end4 + %11 = load i32, i32* %desttype.addr, align 4 + %cmp10 = icmp eq i32 %11, 1024 + %12 = load i64, i64* %val.addr, align 8 + br i1 %cmp10, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.end9 + %13 = load i8*, i8** %dest.addr, align 8 + %14 = bitcast i8* %13 to i64* + store i64 %12, i64* %14, align 8 + br label %return + +if.end13: ; preds = %if.end9 + %conv14 = trunc i64 %12 to i32 + %15 = load i8*, i8** %dest.addr, align 8 + %16 = bitcast i8* %15 to i32* + store i32 %conv14, i32* %16, align 4 + br label %return + +return: ; preds = %if.end13, %if.then12, %if.then7, %if.then3, %if.then + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden i8* @_uintmaxtostr(i8* noalias %bufend, i64 %uval, i32 %base, i32 %alphacase) #0 { +entry: + %bufend.addr = alloca i8*, align 8 + %uval.addr = alloca i64, align 8 + %base.addr = alloca i32, align 4 + %alphacase.addr = alloca i32, align 4 + %negative = alloca i32, align 4 + %digit = alloca i32, align 4 + %H = alloca i32, align 4 + %L = alloca i32, align 4 + %high = alloca i32, align 4 + %low = alloca i32, align 4 + %rh = alloca i32, align 4 + %grouping = alloca i32, align 4 + %outdigit = alloca i32, align 4 + %g = alloca i8*, align 8 + store i8* %bufend, i8** %bufend.addr, align 8 + store i64 %uval, i64* %uval.addr, align 8 + store i32 %base, i32* %base.addr, align 4 + store i32 %alphacase, i32* %alphacase.addr, align 4 + store i32 0, i32* %negative, align 4 + %0 = load i32, i32* %base.addr, align 4 + %cmp = icmp slt i32 %0, 0 + br i1 %cmp, label %if.then, label %if.end4 + +if.then: ; preds = %entry + %1 = load i32, i32* %base.addr, align 4 + %sub = sub nsw i32 0, %1 + store i32 %sub, i32* %base.addr, align 4 + %2 = load i64, i64* %uval.addr, align 8 + %cmp1 = icmp ugt i64 %2, 9223372036854775807 + br i1 %cmp1, label %if.then2, label %if.end4 + +if.then2: ; preds = %if.then + %3 = load i64, i64* %uval.addr, align 8 + %sub3 = sub i64 0, %3 + store i64 %sub3, i64* %uval.addr, align 8 + store i32 1, i32* %negative, align 4 + br label %if.end4 + +if.end4: ; preds = %if.then, %if.then2, %entry + store i32 -1, i32* %grouping, align 4 + %4 = load i32, i32* %alphacase.addr, align 4 + %and = and i32 128, %4 + store i32 %and, i32* %outdigit, align 4 + %5 = load i32, i32* %outdigit, align 4 + %6 = load i32, i32* %alphacase.addr, align 4 + %xor = xor i32 %6, %5 + store i32 %xor, i32* %alphacase.addr, align 4 + %7 = load i32, i32* %alphacase.addr, align 4 + %cmp5 = icmp eq i32 %7, 44 + br i1 %cmp5, label %if.then6, label %if.end10 + +if.then6: ; preds = %if.end4 + %8 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %grouping7 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %8, i32 0, i32 41 + %9 = load i8*, i8** %grouping7, align 8 + store i8* %9, i8** %g, align 8 + %10 = load i8, i8* %9, align 1 + %tobool = icmp ne i8 %10, 0 + br i1 %tobool, label %if.then8, label %if.end10 + +if.then8: ; preds = %if.then6 + %11 = load i8*, i8** %g, align 8 + %12 = load i8, i8* %11, align 1 + %conv = sext i8 %12 to i32 + store i32 %conv, i32* %grouping, align 4 + br label %if.end10 + +if.end10: ; preds = %if.then6, %if.then8, %if.end4 + %13 = load i8*, i8** %bufend.addr, align 8 + store i8 0, i8* %13, align 1 + %14 = load i32, i32* %base.addr, align 4 + %div = udiv i32 -1, %14 + store i32 %div, i32* %H, align 4 + %15 = load i32, i32* %base.addr, align 4 + %rem = urem i32 -1, %15 + %add = add i32 %rem, 1 + store i32 %add, i32* %L, align 4 + %16 = load i32, i32* %L, align 4 + %17 = load i32, i32* %base.addr, align 4 + %cmp11 = icmp eq i32 %16, %17 + br i1 %cmp11, label %if.then13, label %if.end14 + +if.then13: ; preds = %if.end10 + %18 = load i32, i32* %H, align 4 + %inc = add i32 %18, 1 + store i32 %inc, i32* %H, align 4 + store i32 0, i32* %L, align 4 + br label %if.end14 + +if.end14: ; preds = %if.then13, %if.end10 + %19 = load i64, i64* %uval.addr, align 8 + %conv15 = trunc i64 %19 to i32 + store i32 %conv15, i32* %low, align 4 + %20 = load i64, i64* %uval.addr, align 8 + %shr = lshr i64 %20, 32 + %conv16 = trunc i64 %shr to i32 + store i32 %conv16, i32* %high, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %if.end14 + %21 = load i32, i32* %grouping, align 4 + %tobool17 = icmp ne i32 %21, 0 + br i1 %tobool17, label %if.end27, label %if.then18 + +if.then18: ; preds = %do.body + %22 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %thousands_sep_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %22, i32 0, i32 27 + %23 = load i32, i32* %thousands_sep_len, align 4 + %24 = load i8*, i8** %bufend.addr, align 8 + %idx.ext = sext i32 %23 to i64 + %idx.neg = sub i64 0, %idx.ext + %add.ptr = getelementptr inbounds i8, i8* %24, i64 %idx.neg + store i8* %add.ptr, i8** %bufend.addr, align 8 + %25 = load i8*, i8** %bufend.addr, align 8 + %26 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %thousands_sep = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %26, i32 0, i32 40 + %27 = load i8*, i8** %thousands_sep, align 8 + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %thousands_sep_len19 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %28, i32 0, i32 27 + %29 = load i32, i32* %thousands_sep_len19, align 4 + %conv20 = sext i32 %29 to i64 + %call = call i8* @memcpy(i8* %25, i8* %27, i64 %conv20) #19 + %30 = load i8*, i8** %g, align 8 + %arrayidx = getelementptr inbounds i8, i8* %30, i64 1 + %31 = load i8, i8* %arrayidx, align 1 + %conv21 = sext i8 %31 to i32 + %cmp22 = icmp ne i32 %conv21, 0 + br i1 %cmp22, label %if.then24, label %if.end25 + +if.then24: ; preds = %if.then18 + %32 = load i8*, i8** %g, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %32, i32 1 + store i8* %incdec.ptr, i8** %g, align 8 + br label %if.end25 + +if.end25: ; preds = %if.then24, %if.then18 + %33 = load i8*, i8** %g, align 8 + %34 = load i8, i8* %33, align 1 + %conv26 = sext i8 %34 to i32 + store i32 %conv26, i32* %grouping, align 4 + br label %if.end27 + +if.end27: ; preds = %if.end25, %do.body + %35 = load i32, i32* %grouping, align 4 + %dec = add nsw i32 %35, -1 + store i32 %dec, i32* %grouping, align 4 + %36 = load i32, i32* %high, align 4 + %tobool28 = icmp ne i32 %36, 0 + %lnot = xor i1 %tobool28, true + %lnot29 = xor i1 %lnot, true + %lnot.ext = zext i1 %lnot29 to i32 + %conv30 = sext i32 %lnot.ext to i64 + %tobool31 = icmp ne i64 %conv30, 0 + br i1 %tobool31, label %if.then32, label %if.else + +if.then32: ; preds = %if.end27 + %37 = load i32, i32* %high, align 4 + %38 = load i32, i32* %base.addr, align 4 + %rem33 = urem i32 %37, %38 + store i32 %rem33, i32* %rh, align 4 + %39 = load i32, i32* %base.addr, align 4 + %40 = load i32, i32* %high, align 4 + %div34 = udiv i32 %40, %39 + store i32 %div34, i32* %high, align 4 + %41 = load i32, i32* %low, align 4 + %42 = load i32, i32* %base.addr, align 4 + %rem35 = urem i32 %41, %42 + %43 = load i32, i32* %L, align 4 + %44 = load i32, i32* %rh, align 4 + %mul = mul i32 %43, %44 + %add36 = add i32 %rem35, %mul + store i32 %add36, i32* %digit, align 4 + %45 = load i32, i32* %low, align 4 + %46 = load i32, i32* %base.addr, align 4 + %div37 = udiv i32 %45, %46 + %47 = load i32, i32* %H, align 4 + %48 = load i32, i32* %rh, align 4 + %mul38 = mul i32 %47, %48 + %add39 = add i32 %div37, %mul38 + %49 = load i32, i32* %digit, align 4 + %50 = load i32, i32* %base.addr, align 4 + %div40 = udiv i32 %49, %50 + %add41 = add i32 %add39, %div40 + store i32 %add41, i32* %low, align 4 + %51 = load i32, i32* %base.addr, align 4 + %52 = load i32, i32* %digit, align 4 + %rem42 = urem i32 %52, %51 + store i32 %rem42, i32* %digit, align 4 + br label %if.end45 + +if.else: ; preds = %if.end27 + %53 = load i32, i32* %low, align 4 + %54 = load i32, i32* %base.addr, align 4 + %rem43 = urem i32 %53, %54 + store i32 %rem43, i32* %digit, align 4 + %55 = load i32, i32* %base.addr, align 4 + %56 = load i32, i32* %low, align 4 + %div44 = udiv i32 %56, %55 + store i32 %div44, i32* %low, align 4 + br label %if.end45 + +if.end45: ; preds = %if.else, %if.then32 + %57 = load i32, i32* %outdigit, align 4 + %tobool46 = icmp ne i32 %57, 0 + %lnot47 = xor i1 %tobool46, true + %lnot49 = xor i1 %lnot47, true + %lnot.ext50 = zext i1 %lnot49 to i32 + %conv51 = sext i32 %lnot.ext50 to i64 + %tobool52 = icmp ne i64 %conv51, 0 + br i1 %tobool52, label %if.then53, label %if.else66 + +if.then53: ; preds = %if.end45 + %58 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %outdigit_length = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %58, i32 0, i32 11 + %59 = load i32, i32* %digit, align 4 + %idxprom = zext i32 %59 to i64 + %arrayidx54 = getelementptr inbounds [10 x i8], [10 x i8]* %outdigit_length, i64 0, i64 %idxprom + %60 = load i8, i8* %arrayidx54, align 1 + %conv55 = zext i8 %60 to i32 + %61 = load i8*, i8** %bufend.addr, align 8 + %idx.ext56 = sext i32 %conv55 to i64 + %idx.neg57 = sub i64 0, %idx.ext56 + %add.ptr58 = getelementptr inbounds i8, i8* %61, i64 %idx.neg57 + store i8* %add.ptr58, i8** %bufend.addr, align 8 + %62 = load i8*, i8** %bufend.addr, align 8 + %63 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %outdigit0_mb = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %63, i32 0, i32 28 + %64 = load i32, i32* %digit, align 4 + %idxprom59 = zext i32 %64 to i64 + %arrayidx60 = getelementptr inbounds i8*, i8** %outdigit0_mb, i64 %idxprom59 + %65 = load i8*, i8** %arrayidx60, align 8 + %66 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %outdigit_length61 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %66, i32 0, i32 11 + %67 = load i32, i32* %digit, align 4 + %idxprom62 = zext i32 %67 to i64 + %arrayidx63 = getelementptr inbounds [10 x i8], [10 x i8]* %outdigit_length61, i64 0, i64 %idxprom62 + %68 = load i8, i8* %arrayidx63, align 1 + %conv64 = zext i8 %68 to i64 + %call65 = call i8* @memcpy(i8* %62, i8* %65, i64 %conv64) #19 + br label %do.cond + +if.else66: ; preds = %if.end45 + %69 = load i32, i32* %digit, align 4 + %cmp67 = icmp ult i32 %69, 10 + %70 = load i32, i32* %digit, align 4 + %add69 = add i32 %70, 48 + %71 = load i32, i32* %alphacase.addr, align 4 + %add70 = add i32 %70, %71 + %cond = select i1 %cmp67, i32 %add69, i32 %add70 + %conv71 = trunc i32 %cond to i8 + %72 = load i8*, i8** %bufend.addr, align 8 + %incdec.ptr72 = getelementptr inbounds i8, i8* %72, i32 -1 + store i8* %incdec.ptr72, i8** %bufend.addr, align 8 + store i8 %conv71, i8* %incdec.ptr72, align 1 + br label %do.cond + +do.cond: ; preds = %if.then53, %if.else66 + %73 = load i32, i32* %low, align 4 + %74 = load i32, i32* %high, align 4 + %or = or i32 %73, %74 + %tobool74 = icmp ne i32 %or, 0 + br i1 %tobool74, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %75 = load i32, i32* %negative, align 4 + %tobool75 = icmp ne i32 %75, 0 + br i1 %tobool75, label %if.then76, label %if.end78 + +if.then76: ; preds = %do.end + %76 = load i8*, i8** %bufend.addr, align 8 + %incdec.ptr77 = getelementptr inbounds i8, i8* %76, i32 -1 + store i8* %incdec.ptr77, i8** %bufend.addr, align 8 + store i8 45, i8* %incdec.ptr77, align 1 + br label %if.end78 + +if.end78: ; preds = %if.then76, %do.end + %77 = load i8*, i8** %bufend.addr, align 8 + ret i8* %77 +} + +; Function Attrs: noinline nounwind uwtable +define hidden %struct.exit_function* @__new_exitfn() #0 { +entry: + %efp = alloca %struct.exit_function*, align 8 + %0 = load i32, i32* @__exit_slots, align 4 + %1 = load i32, i32* @__exit_count, align 4 + %add = add nsw i32 %1, 1 + %cmp = icmp slt i32 %0, %add + br i1 %cmp, label %if.then, label %if.end6 + +if.then: ; preds = %entry + %2 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + %3 = bitcast %struct.exit_function* %2 to i8* + %4 = load i32, i32* @__exit_slots, align 4 + %add1 = add nsw i32 %4, 20 + %conv = sext i32 %add1 to i64 + %mul = mul i64 %conv, 32 + %call = call noalias i8* @realloc(i8* %3, i64 %mul) #19 + %5 = bitcast i8* %call to %struct.exit_function* + store %struct.exit_function* %5, %struct.exit_function** %efp, align 8 + %6 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %cmp2 = icmp eq %struct.exit_function* %6, null + br i1 %cmp2, label %if.then4, label %if.end + +if.then4: ; preds = %if.then + store i32 12, i32* @errno, align 4 + br label %DONE + +if.end: ; preds = %if.then + %7 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + store %struct.exit_function* %7, %struct.exit_function** @__exit_function_table, align 8 + %8 = load i32, i32* @__exit_slots, align 4 + %add5 = add nsw i32 %8, 20 + store i32 %add5, i32* @__exit_slots, align 4 + br label %if.end6 + +if.end6: ; preds = %if.end, %entry + store void (i32)* @__exit_handler, void (i32)** @__exit_cleanup, align 8 + %9 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + %10 = load i32, i32* @__exit_count, align 4 + %inc = add nsw i32 %10, 1 + store i32 %inc, i32* @__exit_count, align 4 + %idxprom = sext i32 %10 to i64 + %arrayidx = getelementptr inbounds %struct.exit_function, %struct.exit_function* %9, i64 %idxprom + store %struct.exit_function* %arrayidx, %struct.exit_function** %efp, align 8 + %11 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %type = getelementptr inbounds %struct.exit_function, %struct.exit_function* %11, i32 0, i32 0 + store i64 1, i64* %type, align 8 + br label %DONE + +DONE: ; preds = %if.end6, %if.then4 + %12 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + ret %struct.exit_function* %12 +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @__exit_handler(i32 %status) #0 { +entry: + %status.addr = alloca i32, align 4 + %efp = alloca %struct.exit_function*, align 8 + store i32 %status, i32* %status.addr, align 4 + br label %while.cond + +while.cond: ; preds = %sw.epilog, %entry + %0 = load i32, i32* @__exit_count, align 4 + %tobool = icmp ne i32 %0, 0 + %1 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %2 = load i32, i32* @__exit_count, align 4 + %dec = add nsw i32 %2, -1 + store i32 %dec, i32* @__exit_count, align 4 + %idxprom = sext i32 %dec to i64 + %arrayidx = getelementptr inbounds %struct.exit_function, %struct.exit_function* %1, i64 %idxprom + store %struct.exit_function* %arrayidx, %struct.exit_function** %efp, align 8 + %3 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %type = getelementptr inbounds %struct.exit_function, %struct.exit_function* %3, i32 0, i32 0 + %4 = load i64, i64* %type, align 8 + br label %NodeBlock1 + +NodeBlock1: ; preds = %while.body + %case.cmp2 = icmp eq i64 %4, 2 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i64 %4, 3 + br i1 %case.cmp, label %sw.bb7, label %newDefault + +sw.bb: ; preds = %NodeBlock1 + %5 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs = getelementptr inbounds %struct.exit_function, %struct.exit_function* %5, i32 0, i32 1 + %on_exit = bitcast %union.anon.772* %funcs to %struct.anon.779* + %func = getelementptr inbounds %struct.anon.779, %struct.anon.779* %on_exit, i32 0, i32 0 + %6 = load void (i32, i8*)*, void (i32, i8*)** %func, align 8 + %tobool1 = icmp ne void (i32, i8*)* %6, null + br i1 %tobool1, label %if.then, label %sw.epilog + +if.then: ; preds = %sw.bb + %7 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs2 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %7, i32 0, i32 1 + %on_exit3 = bitcast %union.anon.772* %funcs2 to %struct.anon.779* + %func4 = getelementptr inbounds %struct.anon.779, %struct.anon.779* %on_exit3, i32 0, i32 0 + %8 = load void (i32, i8*)*, void (i32, i8*)** %func4, align 8 + %9 = load i32, i32* %status.addr, align 4 + %10 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs5 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %10, i32 0, i32 1 + %on_exit6 = bitcast %union.anon.772* %funcs5 to %struct.anon.779* + %arg = getelementptr inbounds %struct.anon.779, %struct.anon.779* %on_exit6, i32 0, i32 1 + %11 = load i8*, i8** %arg, align 8 + call void %8(i32 %9, i8* %11) #18 + br label %sw.epilog + +sw.bb7: ; preds = %NodeBlock + %12 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs8 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %12, i32 0, i32 1 + %cxa_atexit = bitcast %union.anon.772* %funcs8 to %struct.anon.0.771* + %func9 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit, i32 0, i32 0 + %13 = load void (i8*)*, void (i8*)** %func9, align 8 + %tobool10 = icmp ne void (i8*)* %13, null + br i1 %tobool10, label %if.then11, label %sw.epilog + +if.then11: ; preds = %sw.bb7 + %14 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs12 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %14, i32 0, i32 1 + %cxa_atexit13 = bitcast %union.anon.772* %funcs12 to %struct.anon.0.771* + %func14 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit13, i32 0, i32 0 + %15 = load void (i8*)*, void (i8*)** %func14, align 8 + %16 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs15 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %16, i32 0, i32 1 + %cxa_atexit16 = bitcast %union.anon.772* %funcs15 to %struct.anon.0.771* + %arg17 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit16, i32 0, i32 1 + %17 = load i8*, i8** %arg17, align 8 + call void %15(i8* %17) #18 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.epilog + +sw.epilog: ; preds = %newDefault, %sw.bb7, %if.then11, %sw.bb, %if.then + br label %while.cond + +while.end: ; preds = %while.cond + %tobool19 = icmp ne %struct.exit_function* %1, null + br i1 %tobool19, label %if.then20, label %if.end21 + +if.then20: ; preds = %while.end + %18 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + %19 = bitcast %struct.exit_function* %18 to i8* + call void @free(i8* %19) #19 + br label %if.end21 + +if.end21: ; preds = %if.then20, %while.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__xpg_strerror_r(i32 %errnum, i8* %strerrbuf, i64 %buflen) #0 { +entry: + %errnum.addr = alloca i32, align 4 + %strerrbuf.addr = alloca i8*, align 8 + %buflen.addr = alloca i64, align 8 + %s = alloca i8*, align 8 + %i = alloca i32, align 4 + %retval1 = alloca i32, align 4 + %buf = alloca [50 x i8], align 16 + store i32 %errnum, i32* %errnum.addr, align 4 + store i8* %strerrbuf, i8** %strerrbuf.addr, align 8 + store i64 %buflen, i64* %buflen.addr, align 8 + store i32 22, i32* %retval1, align 4 + %0 = load i32, i32* %errnum.addr, align 4 + store i32 %0, i32* %i, align 4 + %1 = load i32, i32* %i, align 4 + %cmp = icmp ult i32 %1, 125 + br i1 %cmp, label %if.then, label %if.end7 + +if.then: ; preds = %entry + store i8* getelementptr inbounds ([2906 x i8], [2906 x i8]* @_string_syserrmsgs, i64 0, i64 0), i8** %s, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.then + %2 = load i32, i32* %i, align 4 + %tobool = icmp ne i32 %2, 0 + %3 = load i8*, i8** %s, align 8 + %4 = load i8, i8* %3, align 1 + %tobool2 = icmp ne i8 %4, 0 + br i1 %tobool, label %for.body, label %for.end + +for.body: ; preds = %for.cond + br i1 %tobool2, label %for.inc, label %if.then3 + +if.then3: ; preds = %for.body + %5 = load i32, i32* %i, align 4 + %dec = add nsw i32 %5, -1 + store i32 %dec, i32* %i, align 4 + br label %for.inc + +for.inc: ; preds = %for.body, %if.then3 + %6 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + br i1 %tobool2, label %if.then5, label %if.end7 + +if.then5: ; preds = %for.end + store i32 0, i32* %retval1, align 4 + br label %GOT_MESG + +if.end7: ; preds = %for.end, %entry + %arraydecay = getelementptr inbounds [50 x i8], [50 x i8]* %buf, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 50 + %add.ptr8 = getelementptr inbounds i8, i8* %add.ptr, i64 -1 + %7 = load i32, i32* %errnum.addr, align 4 + %conv = sext i32 %7 to i64 + %call = call i8* @_uintmaxtostr(i8* %add.ptr8, i64 %conv, i32 -10, i32 0) #18 + %add.ptr9 = getelementptr inbounds i8, i8* %call, i64 -14 + store i8* %add.ptr9, i8** %s, align 8 + %8 = load i8*, i8** %s, align 8 + %call10 = call i8* @memcpy(i8* %8, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @__xpg_strerror_r.unknown, i64 0, i64 0), i64 14) #19 + br label %GOT_MESG + +GOT_MESG: ; preds = %if.end7, %if.then5 + %9 = load i8*, i8** %strerrbuf.addr, align 8 + %tobool11 = icmp ne i8* %9, null + br i1 %tobool11, label %if.end13, label %if.then12 + +if.then12: ; preds = %GOT_MESG + store i64 0, i64* %buflen.addr, align 8 + br label %if.end13 + +if.end13: ; preds = %if.then12, %GOT_MESG + %10 = load i8*, i8** %s, align 8 + %call14 = call i64 @strlen(i8* %10) #20 + %add = add i64 %call14, 1 + %conv15 = trunc i64 %add to i32 + store i32 %conv15, i32* %i, align 4 + %11 = load i32, i32* %i, align 4 + %conv16 = sext i32 %11 to i64 + %12 = load i64, i64* %buflen.addr, align 8 + %cmp17 = icmp ugt i64 %conv16, %12 + br i1 %cmp17, label %if.then19, label %if.end21 + +if.then19: ; preds = %if.end13 + %13 = load i64, i64* %buflen.addr, align 8 + %conv20 = trunc i64 %13 to i32 + store i32 %conv20, i32* %i, align 4 + store i32 34, i32* %retval1, align 4 + br label %if.end21 + +if.end21: ; preds = %if.then19, %if.end13 + %14 = load i32, i32* %i, align 4 + %tobool22 = icmp ne i32 %14, 0 + br i1 %tobool22, label %if.then23, label %if.end26 + +if.then23: ; preds = %if.end21 + %15 = load i8*, i8** %strerrbuf.addr, align 8 + %16 = load i8*, i8** %s, align 8 + %17 = load i32, i32* %i, align 4 + %conv24 = sext i32 %17 to i64 + %call25 = call i8* @memcpy(i8* %15, i8* %16, i64 %conv24) #19 + %18 = load i8*, i8** %strerrbuf.addr, align 8 + %19 = load i32, i32* %i, align 4 + %sub = sub nsw i32 %19, 1 + %idxprom = sext i32 %sub to i64 + %arrayidx = getelementptr inbounds i8, i8* %18, i64 %idxprom + store i8 0, i8* %arrayidx, align 1 + br label %if.end26 + +if.end26: ; preds = %if.then23, %if.end21 + %20 = load i32, i32* %retval1, align 4 + %tobool27 = icmp ne i32 %20, 0 + br i1 %tobool27, label %if.then28, label %if.end29 + +if.then28: ; preds = %if.end26 + %21 = load i32, i32* %retval1, align 4 + store i32 %21, i32* @errno, align 4 + br label %if.end29 + +if.end29: ; preds = %if.then28, %if.end26 + %22 = load i32, i32* %retval1, align 4 + ret i32 %22 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @strchr(i8* nonnull %s, i32 %c) #14 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %entry + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %2 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %2 to i8 + %conv2 = sext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + %3 = load i8*, i8** %s.addr, align 8 + br i1 %cmp, label %if.then, label %do.cond + +if.then: ; preds = %do.body + store i8* %3, i8** %retval, align 8 + br label %return + +do.cond: ; preds = %do.body + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %s.addr, align 8 + %4 = load i8, i8* %3, align 1 + %tobool = icmp ne i8 %4, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %do.end, %if.then + %5 = load i8*, i8** %retval, align 8 + ret i8* %5 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i64 @strnlen(i8* nonnull %s, i64 %max) #14 { +entry: + %s.addr = alloca i8*, align 8 + %max.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i64 %max, i64* %max.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %1 = load i64, i64* %max.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %2 = load i8*, i8** %p, align 8 + %3 = load i8, i8* %2, align 1 + %conv = sext i8 %3 to i32 + %tobool1 = icmp ne i32 %conv, 0 + br label %land.end + +land.end: ; preds = %land.rhs, %while.cond + %4 = phi i1 [ false, %while.cond ], [ %tobool1, %land.rhs ] + %5 = load i8*, i8** %p, align 8 + br i1 %4, label %while.body, label %while.end + +while.body: ; preds = %land.end + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %6 = load i64, i64* %max.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %max.addr, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %7 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind uwtable +define i8* @strtok_r(i8* noalias %s1, i8* noalias nonnull %s2, i8** noalias nonnull %next_start) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %next_start.addr = alloca i8**, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i8** %next_start, i8*** %next_start.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + %cmp = icmp ne i8* %0, null + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %1 = load i8**, i8*** %next_start.addr, align 8 + %2 = load i8*, i8** %1, align 8 + store i8* %2, i8** %s, align 8 + %cmp1 = icmp ne i8* %2, null + br i1 %cmp1, label %if.then, label %if.end7 + +if.then: ; preds = %lor.lhs.false, %entry + %3 = load i8*, i8** %s, align 8 + %4 = load i8*, i8** %s2.addr, align 8 + %call = call i64 @strspn(i8* %3, i8* %4) #20 + %5 = load i8*, i8** %s, align 8 + %add.ptr = getelementptr inbounds i8, i8* %5, i64 %call + store i8* %add.ptr, i8** %s, align 8 + %6 = load i8, i8* %add.ptr, align 1 + %tobool = icmp ne i8 %6, 0 + br i1 %tobool, label %if.then2, label %if.else + +if.then2: ; preds = %if.then + %7 = load i8*, i8** %s, align 8 + %8 = load i8*, i8** %s2.addr, align 8 + %call3 = call i8* @strpbrk(i8* %7, i8* %8) #20 + store i8* %call3, i8** %p, align 8 + %cmp4 = icmp ne i8* %call3, null + br i1 %cmp4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.then2 + %9 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + store i8 0, i8* %9, align 1 + br label %if.end6 + +if.else: ; preds = %if.then + store i8* null, i8** %s, align 8 + store i8* null, i8** %p, align 8 + br label %if.end6 + +if.end6: ; preds = %if.then2, %if.then5, %if.else + %10 = load i8*, i8** %p, align 8 + %11 = load i8**, i8*** %next_start.addr, align 8 + store i8* %10, i8** %11, align 8 + br label %if.end7 + +if.end7: ; preds = %if.end6, %lor.lhs.false + %12 = load i8*, i8** %s, align 8 + ret i8* %12 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @mbsrtowcs(i32* noalias %dst, i8** noalias %src, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %dst.addr = alloca i32*, align 8 + %src.addr = alloca i8**, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + store i32* %dst, i32** %dst.addr, align 8 + store i8** %src, i8*** %src.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load i32*, i32** %dst.addr, align 8 + %1 = load i8**, i8*** %src.addr, align 8 + %2 = load i64, i64* %len.addr, align 8 + %3 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %cmp = icmp ne %struct.__mbstate_t.512* %3, null + %4 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %cond = select i1 %cmp, %struct.__mbstate_t.512* %4, %struct.__mbstate_t.512* @mbsrtowcs.mbstate + %call = call i64 @mbsnrtowcs(i32* %0, i8** %1, i64 -1, i64 %2, %struct.__mbstate_t.512* %cond) #19 + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define i64 @wcsnrtombs(i8* noalias %dst, i32** noalias %src, i64 %NWC, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %retval = alloca i64, align 8 + %dst.addr = alloca i8*, align 8 + %src.addr = alloca i32**, align 8 + %NWC.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %s = alloca i32*, align 8 + %count = alloca i64, align 8 + %incr = alloca i32, align 4 + %buf = alloca [16 x i8], align 16 + %wc = alloca i32, align 4 + %u = alloca i32, align 4 + store i8* %dst, i8** %dst.addr, align 8 + store i32** %src, i32*** %src.addr, align 8 + store i64 %NWC, i64* %NWC.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 9 + %1 = load i8, i8* %encoding, align 8 + %conv = zext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load i8*, i8** %dst.addr, align 8 + %3 = load i64, i64* %len.addr, align 8 + %4 = load i32**, i32*** %src.addr, align 8 + %5 = load i64, i64* %NWC.addr, align 8 + %call = call i64 @_wchar_wcsntoutf8s(i8* %2, i64 %3, i32** %4, i64 %5) #18 + store i64 %call, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + store i32 1, i32* %incr, align 4 + %6 = load i8*, i8** %dst.addr, align 8 + %tobool = icmp ne i8* %6, null + br i1 %tobool, label %lor.lhs.false, label %if.then4 + +lor.lhs.false: ; preds = %if.end + %7 = load i8*, i8** %dst.addr, align 8 + %8 = load i32**, i32*** %src.addr, align 8 + %9 = bitcast i32** %8 to i8* + %cmp2 = icmp eq i8* %7, %9 + br i1 %cmp2, label %if.then4, label %if.end8 + +if.then4: ; preds = %lor.lhs.false, %if.end + %10 = load i8*, i8** %dst.addr, align 8 + %tobool5 = icmp ne i8* %10, null + br i1 %tobool5, label %if.end7, label %if.then6 + +if.then6: ; preds = %if.then4 + store i64 -1, i64* %len.addr, align 8 + br label %if.end7 + +if.end7: ; preds = %if.then6, %if.then4 + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay, i8** %dst.addr, align 8 + store i32 0, i32* %incr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end7, %lor.lhs.false + %11 = load i64, i64* %len.addr, align 8 + %12 = load i64, i64* %NWC.addr, align 8 + %cmp9 = icmp ugt i64 %11, %12 + br i1 %cmp9, label %if.then11, label %if.end12 + +if.then11: ; preds = %if.end8 + %13 = load i64, i64* %NWC.addr, align 8 + store i64 %13, i64* %len.addr, align 8 + br label %if.end12 + +if.end12: ; preds = %if.then11, %if.end8 + %14 = load i64, i64* %len.addr, align 8 + store i64 %14, i64* %count, align 8 + %15 = load i32**, i32*** %src.addr, align 8 + %16 = load i32*, i32** %15, align 8 + store i32* %16, i32** %s, align 8 + %17 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding13 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %17, i32 0, i32 9 + %18 = load i8, i8* %encoding13, align 8 + %conv14 = zext i8 %18 to i32 + %cmp15 = icmp eq i32 %conv14, 2 + br i1 %cmp15, label %while.cond, label %while.cond52 + +while.cond: ; preds = %if.end12, %if.end45 + %19 = load i64, i64* %count, align 8 + %tobool18 = icmp ne i64 %19, 0 + br i1 %tobool18, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %20 = load i32*, i32** %s, align 8 + %21 = load i32, i32* %20, align 4 + store i32 %21, i32* %wc, align 4 + %cmp19 = icmp ule i32 %21, 127 + br i1 %cmp19, label %if.then21, label %if.else + +if.then21: ; preds = %while.body + %22 = load i32, i32* %wc, align 4 + %conv22 = trunc i32 %22 to i8 + %23 = load i8*, i8** %dst.addr, align 8 + store i8 %conv22, i8* %23, align 1 + %tobool23 = icmp ne i8 %conv22, 0 + br i1 %tobool23, label %if.end45, label %if.then24 + +if.then24: ; preds = %if.then21 + store i32* null, i32** %s, align 8 + br label %while.end + +if.else: ; preds = %while.body + store i32 0, i32* %u, align 4 + %24 = load i32, i32* %wc, align 4 + %cmp26 = icmp ule i32 %24, 9727 + br i1 %cmp26, label %if.then28, label %if.end42 + +if.then28: ; preds = %if.else + %25 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %idx8wc2c = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %25, i32 0, i32 18 + %26 = load i8*, i8** %idx8wc2c, align 8 + %27 = load i32, i32* %wc, align 4 + %shr = lshr i32 %27, 8 + %idxprom = zext i32 %shr to i64 + %arrayidx = getelementptr inbounds i8, i8* %26, i64 %idxprom + %28 = load i8, i8* %arrayidx, align 1 + %conv29 = zext i8 %28 to i32 + store i32 %conv29, i32* %u, align 4 + %29 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %tbl8wc2c = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %29, i32 0, i32 19 + %30 = load i8*, i8** %tbl8wc2c, align 8 + %31 = load i32, i32* %u, align 4 + %shl = shl i32 %31, 4 + %32 = load i32, i32* %wc, align 4 + %shr30 = lshr i32 %32, 4 + %and = and i32 %shr30, 15 + %add = add i32 %shl, %and + %idxprom31 = zext i32 %add to i64 + %arrayidx32 = getelementptr inbounds i8, i8* %30, i64 %idxprom31 + %33 = load i8, i8* %arrayidx32, align 1 + %conv33 = zext i8 %33 to i32 + store i32 %conv33, i32* %u, align 4 + %34 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %tbl8wc2c34 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %34, i32 0, i32 19 + %35 = load i8*, i8** %tbl8wc2c34, align 8 + %36 = load i32, i32* %u, align 4 + %shl35 = shl i32 %36, 4 + %add36 = add i32 1072, %shl35 + %37 = load i32, i32* %wc, align 4 + %and37 = and i32 %37, 15 + %add38 = add i32 %add36, %and37 + %idxprom39 = zext i32 %add38 to i64 + %arrayidx40 = getelementptr inbounds i8, i8* %35, i64 %idxprom39 + %38 = load i8, i8* %arrayidx40, align 1 + %conv41 = zext i8 %38 to i32 + store i32 %conv41, i32* %u, align 4 + br label %if.end42 + +if.end42: ; preds = %if.then28, %if.else + %39 = load i32, i32* %u, align 4 + %tobool43 = icmp ne i32 %39, 0 + %40 = load i32, i32* %u, align 4 + %cond = select i1 %tobool43, i32 %40, i32 63 + %conv44 = trunc i32 %cond to i8 + %41 = load i8*, i8** %dst.addr, align 8 + store i8 %conv44, i8* %41, align 1 + br label %if.end45 + +if.end45: ; preds = %if.then21, %if.end42 + %42 = load i32*, i32** %s, align 8 + %incdec.ptr = getelementptr inbounds i32, i32* %42, i32 1 + store i32* %incdec.ptr, i32** %s, align 8 + %43 = load i32, i32* %incr, align 4 + %44 = load i8*, i8** %dst.addr, align 8 + %idx.ext = sext i32 %43 to i64 + %add.ptr = getelementptr inbounds i8, i8* %44, i64 %idx.ext + store i8* %add.ptr, i8** %dst.addr, align 8 + %45 = load i64, i64* %count, align 8 + %dec = add i64 %45, -1 + store i64 %dec, i64* %count, align 8 + br label %while.cond + +while.end: ; preds = %if.then24, %while.cond + %46 = load i8*, i8** %dst.addr, align 8 + %arraydecay46 = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + %cmp47 = icmp ne i8* %46, %arraydecay46 + br i1 %cmp47, label %if.then49, label %if.end50 + +if.then49: ; preds = %while.end + %47 = load i32*, i32** %s, align 8 + %48 = load i32**, i32*** %src.addr, align 8 + store i32* %47, i32** %48, align 8 + br label %if.end50 + +if.end50: ; preds = %if.then49, %while.end + %49 = load i64, i64* %len.addr, align 8 + %50 = load i64, i64* %count, align 8 + %sub = sub i64 %49, %50 + store i64 %sub, i64* %retval, align 8 + br label %return + +while.cond52: ; preds = %if.end12, %if.end64 + %51 = load i64, i64* %count, align 8 + %tobool53 = icmp ne i64 %51, 0 + br i1 %tobool53, label %while.body54, label %while.end69 + +while.body54: ; preds = %while.cond52 + %52 = load i32*, i32** %s, align 8 + %53 = load i32, i32* %52, align 4 + %cmp55 = icmp uge i32 %53, 128 + br i1 %cmp55, label %if.then57, label %if.end58 + +if.then57: ; preds = %while.body54 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end58: ; preds = %while.body54 + %54 = load i32*, i32** %s, align 8 + %55 = load i32, i32* %54, align 4 + %conv59 = trunc i32 %55 to i8 + %56 = load i8*, i8** %dst.addr, align 8 + store i8 %conv59, i8* %56, align 1 + %conv60 = sext i8 %conv59 to i32 + %cmp61 = icmp eq i32 %conv60, 0 + br i1 %cmp61, label %if.then63, label %if.end64 + +if.then63: ; preds = %if.end58 + store i32* null, i32** %s, align 8 + br label %while.end69 + +if.end64: ; preds = %if.end58 + %57 = load i32*, i32** %s, align 8 + %incdec.ptr65 = getelementptr inbounds i32, i32* %57, i32 1 + store i32* %incdec.ptr65, i32** %s, align 8 + %58 = load i32, i32* %incr, align 4 + %59 = load i8*, i8** %dst.addr, align 8 + %idx.ext66 = sext i32 %58 to i64 + %add.ptr67 = getelementptr inbounds i8, i8* %59, i64 %idx.ext66 + store i8* %add.ptr67, i8** %dst.addr, align 8 + %60 = load i64, i64* %count, align 8 + %dec68 = add i64 %60, -1 + store i64 %dec68, i64* %count, align 8 + br label %while.cond52 + +while.end69: ; preds = %if.then63, %while.cond52 + %61 = load i8*, i8** %dst.addr, align 8 + %arraydecay70 = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + %cmp71 = icmp ne i8* %61, %arraydecay70 + br i1 %cmp71, label %if.then73, label %if.end74 + +if.then73: ; preds = %while.end69 + %62 = load i32*, i32** %s, align 8 + %63 = load i32**, i32*** %src.addr, align 8 + store i32* %62, i32** %63, align 8 + br label %if.end74 + +if.end74: ; preds = %if.then73, %while.end69 + %64 = load i64, i64* %len.addr, align 8 + %65 = load i64, i64* %count, align 8 + %sub75 = sub i64 %64, %65 + store i64 %sub75, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end74, %if.then57, %if.end50, %if.then + %66 = load i64, i64* %retval, align 8 + ret i64 %66 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @memchr(i8* nonnull %s, i32 %c, i64 %n) #14 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %n.addr = alloca i64, align 8 + %r = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %r, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %1 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %2 = load i8*, i8** %r, align 8 + %3 = load i8, i8* %2, align 1 + %conv = zext i8 %3 to i32 + %4 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %4 to i8 + %conv2 = zext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + %5 = load i8*, i8** %r, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + store i8* %5, i8** %retval, align 8 + br label %return + +if.end: ; preds = %while.body + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %r, align 8 + %6 = load i64, i64* %n.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then + %7 = load i8*, i8** %retval, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @memrchr(i8* nonnull %s, i32 %c, i64 %n) #14 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %n.addr = alloca i64, align 8 + %r = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i64, i64* %n.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %0, i64 %1 + store i8* %add.ptr, i8** %r, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %2 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load i8*, i8** %r, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 -1 + store i8* %incdec.ptr, i8** %r, align 8 + %4 = load i8, i8* %incdec.ptr, align 1 + %conv = zext i8 %4 to i32 + %5 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %5 to i8 + %conv2 = zext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + %6 = load i8*, i8** %r, align 8 + store i8* %6, i8** %retval, align 8 + br label %return + +if.end: ; preds = %while.body + %7 = load i64, i64* %n.addr, align 8 + %dec = add i64 %7, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then + %8 = load i8*, i8** %retval, align 8 + ret i8* %8 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @strpbrk(i8* nonnull %s1, i8* nonnull %s2) #14 { +entry: + %retval = alloca i8*, align 8 + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc6, %entry + %1 = load i8*, i8** %s, align 8 + %2 = load i8, i8* %1, align 1 + %tobool = icmp ne i8 %2, 0 + br i1 %tobool, label %for.body, label %for.end8 + +for.body: ; preds = %for.cond + %3 = load i8*, i8** %s2.addr, align 8 + store i8* %3, i8** %p, align 8 + br label %for.cond1 + +for.cond1: ; preds = %for.inc, %for.body + %4 = load i8*, i8** %p, align 8 + %5 = load i8, i8* %4, align 1 + %tobool2 = icmp ne i8 %5, 0 + br i1 %tobool2, label %for.body3, label %for.inc6 + +for.body3: ; preds = %for.cond1 + %6 = load i8*, i8** %p, align 8 + %7 = load i8, i8* %6, align 1 + %conv = sext i8 %7 to i32 + %8 = load i8*, i8** %s, align 8 + %9 = load i8, i8* %8, align 1 + %conv4 = sext i8 %9 to i32 + %cmp = icmp eq i32 %conv, %conv4 + br i1 %cmp, label %if.then, label %for.inc + +if.then: ; preds = %for.body3 + %10 = load i8*, i8** %s, align 8 + store i8* %10, i8** %retval, align 8 + br label %return + +for.inc: ; preds = %for.body3 + %11 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %11, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + br label %for.cond1 + +for.inc6: ; preds = %for.cond1 + %12 = load i8*, i8** %s, align 8 + %incdec.ptr7 = getelementptr inbounds i8, i8* %12, i32 1 + store i8* %incdec.ptr7, i8** %s, align 8 + br label %for.cond + +for.end8: ; preds = %for.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %for.end8, %if.then + %13 = load i8*, i8** %retval, align 8 + ret i8* %13 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i64 @strspn(i8* nonnull %s1, i8* nonnull %s2) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %2 = load i8*, i8** %p, align 8 + %3 = load i8, i8* %2, align 1 + %tobool = icmp ne i8 %3, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %5 = load i8, i8* %4, align 1 + %conv = sext i8 %5 to i32 + %6 = load i8*, i8** %s, align 8 + %7 = load i8, i8* %6, align 1 + %conv1 = sext i8 %7 to i32 + %cmp = icmp eq i32 %conv, %conv1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + %8 = load i8*, i8** %s, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %8, i32 1 + store i8* %incdec.ptr3, i8** %s, align 8 + %9 = load i8*, i8** %s2.addr, align 8 + store i8* %9, i8** %p, align 8 + br label %if.end + +if.end: ; preds = %if.then, %while.body + br label %while.cond + +while.end: ; preds = %while.cond + %10 = load i8*, i8** %s, align 8 + %11 = load i8*, i8** %s1.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %10 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %11 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_wchar_wcsntoutf8s(i8* noalias %s, i64 %n, i32** noalias %src, i64 %wn) #0 { +entry: + %retval = alloca i64, align 8 + %s.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %src.addr = alloca i32**, align 8 + %wn.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + %len = alloca i64, align 8 + %t = alloca i64, align 8 + %wc = alloca i32, align 4 + %swc = alloca i32*, align 8 + %store = alloca i32, align 4 + %buf = alloca [16 x i8], align 16 + %m = alloca i8, align 1 + store i8* %s, i8** %s.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i32** %src, i32*** %src.addr, align 8 + store i64 %wn, i64* %wn.addr, align 8 + store i32 1, i32* %store, align 4 + %0 = load i8*, i8** %s.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %lor.lhs.false, label %if.then + +lor.lhs.false: ; preds = %entry + %1 = load i8*, i8** %s.addr, align 8 + %2 = load i32**, i32*** %src.addr, align 8 + %3 = bitcast i32** %2 to i8* + %cmp = icmp eq i8* %1, %3 + br i1 %cmp, label %if.then, label %if.end3 + +if.then: ; preds = %lor.lhs.false, %entry + %4 = load i8*, i8** %s.addr, align 8 + %tobool1 = icmp ne i8* %4, null + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + store i64 -1, i64* %n.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay, i8** %s.addr, align 8 + store i32 0, i32* %store, align 4 + br label %if.end3 + +if.end3: ; preds = %if.end, %lor.lhs.false + %5 = load i64, i64* %n.addr, align 8 + store i64 %5, i64* %t, align 8 + %6 = load i32**, i32*** %src.addr, align 8 + %7 = load i32*, i32** %6, align 8 + store i32* %7, i32** %swc, align 8 + br label %while.cond + +while.cond: ; preds = %if.end51, %if.end3 + %8 = load i64, i64* %wn.addr, align 8 + %tobool4 = icmp ne i64 %8, 0 + %9 = load i64, i64* %t, align 8 + %tobool5 = icmp ne i64 %9, 0 + %10 = select i1 %tobool4, i1 %tobool5, i1 false + br i1 %10, label %while.body, label %while.end52 + +while.body: ; preds = %while.cond + %11 = load i32*, i32** %swc, align 8 + %12 = load i32, i32* %11, align 4 + store i32 %12, i32* %wc, align 4 + %13 = load i32, i32* %wc, align 4 + %conv = trunc i32 %13 to i8 + %14 = load i8*, i8** %s.addr, align 8 + store i8 %conv, i8* %14, align 1 + store i64 1, i64* %len, align 8 + %15 = load i32, i32* %wc, align 4 + %cmp6 = icmp uge i32 %15, 128 + %16 = load i32, i32* %wc, align 4 + br i1 %cmp6, label %if.then8, label %if.else + +if.then8: ; preds = %while.body + %conv9 = zext i32 %16 to i64 + %cmp10 = icmp ugt i64 %conv9, 2147483647 + br i1 %cmp10, label %if.then19, label %lor.lhs.false12 + +lor.lhs.false12: ; preds = %if.then8 + %17 = load i32, i32* %wc, align 4 + %sub = sub i32 %17, 65534 + %cmp13 = icmp ult i32 %sub, 2 + br i1 %cmp13, label %if.then19, label %lor.lhs.false15 + +lor.lhs.false15: ; preds = %lor.lhs.false12 + %18 = load i32, i32* %wc, align 4 + %sub16 = sub i32 %18, 55296 + %cmp17 = icmp ult i32 %sub16, 2048 + br i1 %cmp17, label %if.then19, label %if.end20 + +if.then19: ; preds = %lor.lhs.false15, %lor.lhs.false12, %if.then8 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end20: ; preds = %lor.lhs.false15 + %19 = load i32, i32* %wc, align 4 + %shr = lshr i32 %19, 1 + store i32 %shr, i32* %wc, align 4 + %20 = load i8*, i8** %s.addr, align 8 + store i8* %20, i8** %p, align 8 + br label %do.body + +do.body: ; preds = %do.body, %if.end20 + %21 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %21, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %22 = load i32, i32* %wc, align 4 + %shr21 = lshr i32 %22, 5 + store i32 %shr21, i32* %wc, align 4 + %tobool22 = icmp ne i32 %shr21, 0 + br i1 %tobool22, label %do.body, label %do.end + +do.end: ; preds = %do.body + %23 = load i32*, i32** %swc, align 8 + %24 = load i32, i32* %23, align 4 + store i32 %24, i32* %wc, align 4 + %25 = load i8*, i8** %p, align 8 + %26 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %25 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %26 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %len, align 8 + %27 = load i64, i64* %t, align 8 + %cmp23 = icmp ugt i64 %sub.ptr.sub, %27 + br i1 %cmp23, label %while.end52, label %if.end26 + +if.end26: ; preds = %do.end + store i8 -128, i8* %m, align 1 + br label %while.cond27 + +while.cond27: ; preds = %while.body30, %if.end26 + %28 = load i8*, i8** %p, align 8 + %29 = load i8*, i8** %s.addr, align 8 + %cmp28 = icmp ugt i8* %28, %29 + %30 = load i8, i8* %m, align 1 + %conv31 = sext i8 %30 to i32 + br i1 %cmp28, label %while.body30, label %while.end + +while.body30: ; preds = %while.cond27 + %shr32 = ashr i32 %conv31, 1 + %or = or i32 %shr32, 128 + %conv33 = trunc i32 %or to i8 + store i8 %conv33, i8* %m, align 1 + %31 = load i32, i32* %wc, align 4 + %and = and i32 %31, 63 + %or34 = or i32 %and, 128 + %conv35 = trunc i32 %or34 to i8 + %32 = load i8*, i8** %p, align 8 + %incdec.ptr36 = getelementptr inbounds i8, i8* %32, i32 -1 + store i8* %incdec.ptr36, i8** %p, align 8 + store i8 %conv35, i8* %incdec.ptr36, align 1 + %33 = load i32, i32* %wc, align 4 + %shr37 = lshr i32 %33, 6 + store i32 %shr37, i32* %wc, align 4 + br label %while.cond27 + +while.end: ; preds = %while.cond27 + %shl = shl i32 %conv31, 1 + %34 = load i8*, i8** %s.addr, align 8 + %35 = load i8, i8* %34, align 1 + %conv39 = sext i8 %35 to i32 + %or40 = or i32 %conv39, %shl + %conv41 = trunc i32 %or40 to i8 + store i8 %conv41, i8* %34, align 1 + br label %if.end46 + +if.else: ; preds = %while.body + %cmp42 = icmp eq i32 %16, 0 + br i1 %cmp42, label %if.then44, label %if.end46 + +if.then44: ; preds = %if.else + store i32* null, i32** %swc, align 8 + br label %while.end52 + +if.end46: ; preds = %if.else, %while.end + %36 = load i32*, i32** %swc, align 8 + %incdec.ptr47 = getelementptr inbounds i32, i32* %36, i32 1 + store i32* %incdec.ptr47, i32** %swc, align 8 + %37 = load i64, i64* %wn.addr, align 8 + %dec = add i64 %37, -1 + store i64 %dec, i64* %wn.addr, align 8 + %38 = load i64, i64* %len, align 8 + %39 = load i64, i64* %t, align 8 + %sub48 = sub i64 %39, %38 + store i64 %sub48, i64* %t, align 8 + %40 = load i32, i32* %store, align 4 + %tobool49 = icmp ne i32 %40, 0 + br i1 %tobool49, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.end46 + %41 = load i64, i64* %len, align 8 + %42 = load i8*, i8** %s.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %42, i64 %41 + store i8* %add.ptr, i8** %s.addr, align 8 + br label %if.end51 + +if.end51: ; preds = %if.then50, %if.end46 + br label %while.cond + +while.end52: ; preds = %do.end, %if.then44, %while.cond + %43 = load i32, i32* %store, align 4 + %tobool53 = icmp ne i32 %43, 0 + br i1 %tobool53, label %if.then54, label %if.end55 + +if.then54: ; preds = %while.end52 + %44 = load i32*, i32** %swc, align 8 + %45 = load i32**, i32*** %src.addr, align 8 + store i32* %44, i32** %45, align 8 + br label %if.end55 + +if.end55: ; preds = %if.then54, %while.end52 + %46 = load i64, i64* %n.addr, align 8 + %47 = load i64, i64* %t, align 8 + %sub56 = sub i64 %46, %47 + store i64 %sub56, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end55, %if.then19 + %48 = load i64, i64* %retval, align 8 + ret i64 %48 +} + +attributes #0 = { noinline nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #1 = { noinline noreturn nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #2 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #3 = { noinline nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #4 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #5 = { "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #6 = { noinline noreturn nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #7 = { noreturn "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #8 = { argmemonly nounwind willreturn writeonly } +attributes #9 = { argmemonly nounwind willreturn } +attributes #10 = { noreturn nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #11 = { nounwind } +attributes #12 = { noinline nounwind readnone uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #13 = { noreturn "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #14 = { noinline nounwind readonly uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #15 = { noinline nounwind readonly uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #16 = { noinline nounwind returns_twice uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #17 = { "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #18 = { nobuiltin "no-builtins" } +attributes #19 = { nobuiltin nounwind "no-builtins" } +attributes #20 = { nobuiltin nounwind readonly "no-builtins" } +attributes #21 = { nobuiltin nounwind readnone "no-builtins" } +attributes #22 = { nobuiltin noreturn nounwind "no-builtins" } +attributes #23 = { nounwind readonly } +attributes #24 = { noreturn } +attributes #25 = { nounwind readnone } +attributes #26 = { noreturn nounwind } +attributes #27 = { nobuiltin noreturn "no-builtins" } + +!llvm.module.flags = !{!0, !1} +!llvm.ident = !{!2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2} + +!0 = !{i32 1, !"wchar_size", i32 4} +!1 = !{i32 7, !"PIC Level", i32 2} +!2 = !{!"clang version 11.1.0 (https://github.com/llvm/llvm-project.git 1fdec59bffc11ae37eb51a1b9869f0696bfd5312)"} diff --git a/benchmarks/coreutils/gensym_posix/expand.ll b/benchmarks/coreutils/gensym_posix/expand.ll new file mode 100644 index 000000000..304726841 --- /dev/null +++ b/benchmarks/coreutils/gensym_posix/expand.ll @@ -0,0 +1,32066 @@ +; ModuleID = '__uClibc_main.os' +source_filename = "libc/misc/internals/__uClibc_main.c" +target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" +target triple = "x86_64-unknown-linux-gnu" + +module asm ".section .gnu.warning.siggetmask" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.__fpending" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.gets" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.tmpnam" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.mktemp" +module asm "\09.previous" + +%struct.__uclibc_locale_struct.201 = type { i16*, i16*, i16*, [384 x i16], [384 x i16], [384 x i16], [14 x i8], [6 x i16], [6 x i8], i8, i8, [10 x i8], i8*, i8*, i8*, i8*, i8*, i16*, i8*, i8*, i16*, i8*, i8*, i16*, i32, i32, i32, i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__collate_t.200 } +%struct.__collate_t.200 = type { i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16*, i16*, i16*, i16*, i16*, i16*, i16*, i16*, i16*, i16 } +%struct.__STDIO_FILE_STRUCT.568 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.568*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__mbstate_t.512 = type { i32, i32 } +%struct.quoting_options = type { i32, i32, [8 x i32], i8*, i8* } +%struct.infomap = type { i8*, i8* } +%struct.option = type { i8*, i32, i32*, i32 } +%struct.slotvec = type { i64, i8* } +%struct.exe_file_t = type { i32, i32, i64, %struct.exe_disk_file_t* } +%struct.exe_disk_file_t = type { i32, i8*, %struct.stat64* } +%struct.stat64 = type { i64, i64, i64, i32, i32, i32, i32, i64, i64, i64, i64, %struct.timespec, %struct.timespec, %struct.timespec, [3 x i64] } +%struct.timespec = type { i64, i64 } +%struct.exe_file_system_t = type { i32, %struct.exe_disk_file_t*, %struct.exe_disk_file_t*, i32, %struct.exe_disk_file_t*, i32, i32*, i32*, i32*, i32*, i32*, i32*, i32* } +%struct.__locale_mmap_t.203 = type { [420 x i8], [504 x i8], [1760 x i16], [4528 x i8], [3604 x i8], [1680 x i8], [196 x i16], [51 x i8], [28 x i8], [1646 x i8], [28353 x i8], [1804 x i8], [23 x %struct.__codeset_8_bit_t.202], [20 x i8], [10 x i16], [20 x i16], [45 x i8], [3 x i16], [15 x i16], [3894 x i8], [22 x i16], [407 x i16], [8250 x i8], [50 x i16], [3429 x i16], [372 x i8], [4 x i16], [200 x i16], [91141 x i16], [6 x i8], [24 x i64], [2826 x i8], [835 x i8], [18 x i8], [69 x i8], [255 x i8] } +%struct.__codeset_8_bit_t.202 = type { [16 x i8], [16 x i8], [16 x i8], [38 x i8] } +%struct.utmp.323 = type { i16, i32, [32 x i8], [4 x i8], [32 x i8], [256 x i8], %struct.exit_status, i64, %struct.timespec, [4 x i32], [20 x i8] } +%struct.exit_status = type { i16, i16 } +%struct._getopt_data = type { i32, i32, i32, i8*, i32, i8*, i32, i32, i32, i32 } +%struct.exit_function = type { i64, %union.anon.772 } +%union.anon.772 = type { %struct.anon.0.771 } +%struct.anon.0.771 = type { void (i8*)*, i8*, i8* } +%struct.dirent64 = type { i64, i64, i16, i8, [256 x i8] } +%struct.__STDIO_FILE_STRUCT.581 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.581*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.592 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.592*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.608 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.608*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.621 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.621*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.636 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.636*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.Elf64_auxv_t = type { i64, %union.anon.193 } +%union.anon.193 = type { i64 } +%struct.stat.192 = type { i64, i64, i64, i32, i32, i32, i32, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, [3 x i64] } +%struct.__STDIO_FILE_STRUCT.513 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.513*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.exe_sym_env_t = type { [32 x %struct.exe_file_t], i32, i32, i32 } +%struct.__va_list_tag.0 = type { i32, i32, i8*, i8* } +%struct.termios = type { i32, i32, i32, i32, i8, [32 x i8], i32, i32 } +%struct.winsize = type { i16, i16, i16, i16 } +%struct.flock = type { i16, i16, i64, i64, i32 } +%struct.statfs = type { i64, i64, i64, i64, i64, i64, i64, %struct.__fsid_t, i64, i64, i64, [4 x i64] } +%struct.__fsid_t = type { [2 x i32] } +%struct.fd_set = type { [16 x i64] } +%struct.coldata_header_t = type { i16, i16, i16, i16, i16, i16, i16, i16 } +%struct.coldata_base_t = type { i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16 } +%struct._IO_FILE = type { i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct._IO_marker*, %struct._IO_FILE*, i32, i32, i64, i16, i8, [1 x i8], i8*, i64, %struct._IO_codecvt*, %struct._IO_wide_data*, %struct._IO_FILE*, i8*, i64, i32, [20 x i8] } +%struct._IO_marker = type opaque +%struct._IO_codecvt = type opaque +%struct._IO_wide_data = type opaque +%struct.__mbstate_t = type { i32, %union.anon } +%union.anon = type { i32 } +%struct.sigaction.800 = type { %union.anon.799, %struct.fd_set, i32, void ()* } +%union.anon.799 = type { void (i32)* } +%struct.tms = type { i64, i64, i64, i64 } +%struct.utmpx = type opaque +%struct.utmp = type { i16, i32, [32 x i8], [4 x i8], [32 x i8], [256 x i8], %struct.exit_status, i32, %struct.__mbstate_t.512, [4 x i32], [20 x i8] } +%struct.rusage = type { %struct.timespec, %struct.timespec, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193 } +%struct.siginfo_t = type { i32, i32, i32, i32, %union.anon.0 } +%union.anon.0 = type { %struct.anon.3, [80 x i8] } +%struct.anon.3 = type { i32, i32, i32, i64, i64 } +%struct.kernel_sigaction = type { void (i32)*, i64, void ()*, %struct.fd_set } +%struct.__jmp_buf_tag = type { [8 x i64], i32, %struct.fd_set } +%struct.__STDIO_FILE_STRUCT.519 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.519*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.612 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.612*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__kernel_termios = type { i32, i32, i32, i32, i8, [19 x i8] } +%struct.ppfs_t.722 = type { i8*, %struct.printf_info.720, i32, i32, i32, [4 x i8], [9 x i32], [1 x %struct.__va_list_tag.0], [9 x %union.anon.193] } +%struct.printf_info.720 = type { i32, i32, i32, i32, i32 } +%struct.anon.779 = type { void (i32, i8*)*, i8* } + +@__libc_stack_end = global i8* null, align 8 +@.str = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@__uclibc_progname = hidden global i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i32 0, i32 0), align 8 +@program_invocation_short_name = global i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i32 0, i32 0), align 8 +@program_invocation_name = global i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i32 0, i32 0), align 8 +@__environ = global i8** null, align 8 +@__pagesize = global i64 0, align 8 +@__uClibc_init.been_there_done_that = internal global i32 0, align 4 +@__app_fini = hidden global void ()* null, align 8 +@__rtld_fini = hidden global void ()* null, align 8 +@.str.1 = private unnamed_addr constant [10 x i8] c"/dev/null\00", align 1 +@llvm.used = appending global [5 x i8*] [i8* getelementptr inbounds ([57 x i8], [57 x i8]* @__evoke_link_warning_siggetmask, i32 0, i32 0), i8* getelementptr inbounds ([167 x i8], [167 x i8]* @__evoke_link_warning___fpending, i32 0, i32 0), i8* getelementptr inbounds ([57 x i8], [57 x i8]* @__evoke_link_warning_gets, i32 0, i32 0), i8* getelementptr inbounds ([55 x i8], [55 x i8]* @__evoke_link_warning_tmpnam, i32 0, i32 0), i8* getelementptr inbounds ([55 x i8], [55 x i8]* @__evoke_link_warning_mktemp, i32 0, i32 0)], section "llvm.metadata" +@__evoke_link_warning_siggetmask = internal constant [57 x i8] c"warning: `siggetmask' is obsolete; `sigprocmask' is best\00", section ".gnu.warning.siggetmask\0A#APP\0A\09#", align 16 +@__evoke_link_warning___fpending = internal constant [167 x i8] c"This version of __fpending returns bytes remaining in buffer for both narrow and wide streams. glibc's version returns wide chars in buffer for the wide stream case.\00", section ".gnu.warning.__fpending\0A#APP\0A\09#", align 16 +@__evoke_link_warning_gets = internal constant [57 x i8] c"the 'gets' function is dangerous and should not be used.\00", section ".gnu.warning.gets\0A#APP\0A\09#", align 16 +@__evoke_link_warning_tmpnam = internal constant [55 x i8] c"the use of `tmpnam' is dangerous, better use `mkstemp'\00", section ".gnu.warning.tmpnam\0A#APP\0A\09#", align 16 +@tmpnam_buffer = internal global [20 x i8] zeroinitializer, align 16 +@__evoke_link_warning_mktemp = internal constant [55 x i8] c"the use of `mktemp' is dangerous, better use `mkstemp'\00", section ".gnu.warning.mktemp\0A#APP\0A\09#", align 16 +@.str.4 = private unnamed_addr constant [77 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/fd.c\00", align 1 +@.str.27 = private unnamed_addr constant [37 x i8] c"ERROR: concretizing symbolic pointer\00", align 1 +@.str.28 = private unnamed_addr constant [9 x i8] c"user.err\00", align 1 +@.str.25 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@getcwd.n_calls = internal global i32 0, align 4 +@.str.5 = private unnamed_addr constant [46 x i8] c"Undefined call to open(): O_TRUNC | O_RDONLY\0A\00", align 1 +@.str.1.6 = private unnamed_addr constant [47 x i8] c"Undefined call to open(): O_EXCL w/o O_RDONLY\0A\00", align 1 +@.str.2 = private unnamed_addr constant [44 x i8] c"symbolic file descriptor, ignoring (ENOENT)\00", align 1 +@close.n_calls = internal global i32 0, align 4 +@read.n_calls = internal global i32 0, align 4 +@.str.3 = private unnamed_addr constant [12 x i8] c"f->off >= 0\00", align 1 +@__PRETTY_FUNCTION__.read = private unnamed_addr constant [34 x i8] c"ssize_t read(int, void *, size_t)\00", align 1 +@write.n_calls = internal global i32 0, align 4 +@.str.5.7 = private unnamed_addr constant [7 x i8] c"r >= 0\00", align 1 +@__PRETTY_FUNCTION__.write = private unnamed_addr constant [41 x i8] c"ssize_t write(int, const void *, size_t)\00", align 1 +@.str.6 = private unnamed_addr constant [2 x i8] c"0\00", align 1 +@.str.7 = private unnamed_addr constant [24 x i8] c"write() ignores bytes.\0A\00", align 1 +@.str.8 = private unnamed_addr constant [18 x i8] c"new_off == f->off\00", align 1 +@__PRETTY_FUNCTION__.__fd_lseek = private unnamed_addr constant [38 x i8] c"off64_t __fd_lseek(int, off64_t, int)\00", align 1 +@.str.9 = private unnamed_addr constant [33 x i8] c"symbolic file, ignoring (ENOENT)\00", align 1 +@chmod.n_calls = internal global i32 0, align 4 +@fchmod.n_calls = internal global i32 0, align 4 +@.str.26 = private unnamed_addr constant [32 x i8] c"symbolic file, ignoring (EPERM)\00", align 1 +@__fd_ftruncate.n_calls = internal global i32 0, align 4 +@.str.10 = private unnamed_addr constant [30 x i8] c"symbolic file, ignoring (EIO)\00", align 1 +@.str.11 = private unnamed_addr constant [33 x i8] c"symbolic file, ignoring (EINVAL)\00", align 1 +@.str.12 = private unnamed_addr constant [18 x i8] c"s != (off64_t) -1\00", align 1 +@__PRETTY_FUNCTION__.__fd_getdents = private unnamed_addr constant [65 x i8] c"int __fd_getdents(unsigned int, struct dirent64 *, unsigned int)\00", align 1 +@.str.13 = private unnamed_addr constant [22 x i8] c"f->off != (off64_t)-1\00", align 1 +@.str.14 = private unnamed_addr constant [41 x i8] c"(TCGETS) symbolic file, incomplete model\00", align 1 +@.str.15 = private unnamed_addr constant [42 x i8] c"(TCSETS) symbolic file, silently ignoring\00", align 1 +@.str.16 = private unnamed_addr constant [43 x i8] c"(TCSETSW) symbolic file, silently ignoring\00", align 1 +@.str.17 = private unnamed_addr constant [43 x i8] c"(TCSETSF) symbolic file, silently ignoring\00", align 1 +@.str.18 = private unnamed_addr constant [45 x i8] c"(TIOCGWINSZ) symbolic file, incomplete model\00", align 1 +@.str.19 = private unnamed_addr constant [46 x i8] c"(TIOCSWINSZ) symbolic file, ignoring (EINVAL)\00", align 1 +@.str.20 = private unnamed_addr constant [43 x i8] c"(FIONREAD) symbolic file, incomplete model\00", align 1 +@.str.21 = private unnamed_addr constant [44 x i8] c"(MTIOCGET) symbolic file, ignoring (EINVAL)\00", align 1 +@.str.22 = private unnamed_addr constant [32 x i8] c"symbolic file, ignoring (EBADF)\00", align 1 +@.str.23 = private unnamed_addr constant [17 x i8] c"ignoring (EPERM)\00", align 1 +@.str.24 = private unnamed_addr constant [18 x i8] c"ignoring (ENOENT)\00", align 1 +@__const.klee_init_env.sym_arg_name = private unnamed_addr constant [6 x i8] c"arg\00\00\00", align 1 +@.str.29 = private unnamed_addr constant [7 x i8] c"--help\00", align 1 +@.str.1.30 = private unnamed_addr constant [964 x i8] c"klee_init_env\0A\0Ausage: (klee_init_env) [options] [program arguments]\0A -sym-arg - Replace by a symbolic argument with length N\0A -sym-args - Replace by at least MIN arguments and at most\0A MAX arguments, each with maximum length N\0A -sym-files - Make NUM symbolic files ('A', 'B', 'C', etc.),\0A each with size N\0A -sym-stdin - Make stdin symbolic with size N.\0A -sym-stdout - Make stdout symbolic.\0A -save-all-writes - Allow write operations to execute as expected\0A even if they exceed the file size. If set to 0, all\0A writes exceeding the initial file size are discarded.\0A Note: file offset is always incremented.\0A -max-fail - Allow up to N injected failures\0A -fd-fail - Shortcut for '-max-fail 1'\0A\0A\00", align 1 +@.str.2.31 = private unnamed_addr constant [10 x i8] c"--sym-arg\00", align 1 +@.str.3.32 = private unnamed_addr constant [9 x i8] c"-sym-arg\00", align 1 +@.str.4.33 = private unnamed_addr constant [48 x i8] c"--sym-arg expects an integer argument \00", align 1 +@.str.5.34 = private unnamed_addr constant [45 x i8] c"No more than 100 symbolic arguments allowed.\00", align 1 +@.str.6.35 = private unnamed_addr constant [11 x i8] c"--sym-args\00", align 1 +@.str.7.36 = private unnamed_addr constant [10 x i8] c"-sym-args\00", align 1 +@.str.8.37 = private unnamed_addr constant [77 x i8] c"--sym-args expects three integer arguments \00", align 1 +@.str.9.38 = private unnamed_addr constant [28 x i8] c"Invalid range to --sym-args\00", align 1 +@.str.10.39 = private unnamed_addr constant [7 x i8] c"n_args\00", align 1 +@.str.11.40 = private unnamed_addr constant [12 x i8] c"--sym-files\00", align 1 +@.str.12.41 = private unnamed_addr constant [11 x i8] c"-sym-files\00", align 1 +@.str.13.42 = private unnamed_addr constant [72 x i8] c"--sym-files expects two integer arguments \00", align 1 +@.str.14.43 = private unnamed_addr constant [39 x i8] c"Multiple --sym-files are not allowed.\0A\00", align 1 +@.str.15.44 = private unnamed_addr constant [65 x i8] c"The first argument to --sym-files (number of files) cannot be 0\0A\00", align 1 +@.str.16.45 = private unnamed_addr constant [60 x i8] c"The second argument to --sym-files (file size) cannot be 0\0A\00", align 1 +@.str.17.46 = private unnamed_addr constant [12 x i8] c"--sym-stdin\00", align 1 +@.str.18.47 = private unnamed_addr constant [11 x i8] c"-sym-stdin\00", align 1 +@.str.19.48 = private unnamed_addr constant [57 x i8] c"--sym-stdin expects one integer argument \00", align 1 +@.str.20.49 = private unnamed_addr constant [13 x i8] c"--sym-stdout\00", align 1 +@.str.21.50 = private unnamed_addr constant [12 x i8] c"-sym-stdout\00", align 1 +@.str.22.51 = private unnamed_addr constant [18 x i8] c"--save-all-writes\00", align 1 +@.str.23.52 = private unnamed_addr constant [17 x i8] c"-save-all-writes\00", align 1 +@.str.24.53 = private unnamed_addr constant [10 x i8] c"--fd-fail\00", align 1 +@.str.25.54 = private unnamed_addr constant [9 x i8] c"-fd-fail\00", align 1 +@.str.26.55 = private unnamed_addr constant [12 x i8] c"--bout-file\00", align 1 +@.str.27.56 = private unnamed_addr constant [11 x i8] c"-bout-file\00", align 1 +@.str.28.57 = private unnamed_addr constant [11 x i8] c"--max-fail\00", align 1 +@.str.29.58 = private unnamed_addr constant [10 x i8] c"-max-fail\00", align 1 +@.str.30 = private unnamed_addr constant [54 x i8] c"--max-fail expects an integer argument \00", align 1 +@.str.31 = private unnamed_addr constant [31 x i8] c"out of memory in klee_init_env\00", align 1 +@.str.35 = private unnamed_addr constant [37 x i8] c"too many arguments for klee_init_env\00", align 1 +@.str.32 = private unnamed_addr constant [88 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/klee_init_env.c\00", align 1 +@.str.33 = private unnamed_addr constant [9 x i8] c"user.err\00", align 1 +@.str.34 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.68 = private unnamed_addr constant [5 x i8] c"file\00", align 1 +@.str.1.69 = private unnamed_addr constant [5 x i8] c"/tmp\00", align 1 +@.str.2.70 = private unnamed_addr constant [16 x i8] c"%.*s/%.*sXXXXXX\00", align 1 +@.str.3.73 = private unnamed_addr constant [7 x i8] c"XXXXXX\00", align 1 +@letters = internal constant [63 x i8] c"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\00", align 16 +@brain_damaged_fillrand.value = internal global i64 0, align 8 +@.str.4.74 = private unnamed_addr constant [13 x i8] c"/dev/urandom\00", align 1 +@.str.5.75 = private unnamed_addr constant [12 x i8] c"/dev/random\00", align 1 +@__global_locale_data = global %struct.__uclibc_locale_struct.201 zeroinitializer, align 8 +@__global_locale = global %struct.__uclibc_locale_struct.201* @__global_locale_data, align 8 +@__curlocale_var = global %struct.__uclibc_locale_struct.201* @__global_locale_data, align 8 +@utf8 = internal constant [6 x i8] c"UTF-8\00", align 1 +@ascii = internal constant [6 x i8] c"ASCII\00", align 1 +@__code2flag = internal constant [16 x i16] [i16 0, i16 -15352, i16 -14840, i16 -14584, i16 -15096, i16 -14328, i16 -16380, i16 -16384, i16 24576, i16 24577, i16 8192, i16 8193, i16 8194, i16 8195, i16 2, i16 0], align 16 +@.str.76 = private unnamed_addr constant [14 x i8] c"#\80\80\80\80\80\80\80\80\80\80\80\80\00", align 1 +@stdin = global %struct.__STDIO_FILE_STRUCT.568* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i32 0, i32 0), align 8 +@_stdio_streams = internal global [3 x %struct.__STDIO_FILE_STRUCT.568] [%struct.__STDIO_FILE_STRUCT.568 { i16 544, [2 x i8] zeroinitializer, i32 0, i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 88) to %struct.__STDIO_FILE_STRUCT.568*), [2 x i32] zeroinitializer, %struct.__mbstate_t.512 zeroinitializer, i8* null }, %struct.__STDIO_FILE_STRUCT.568 { i16 528, [2 x i8] zeroinitializer, i32 1, i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 176) to %struct.__STDIO_FILE_STRUCT.568*), [2 x i32] zeroinitializer, %struct.__mbstate_t.512 zeroinitializer, i8* null }, %struct.__STDIO_FILE_STRUCT.568 { i16 528, [2 x i8] zeroinitializer, i32 2, i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, %struct.__STDIO_FILE_STRUCT.568* null, [2 x i32] zeroinitializer, %struct.__mbstate_t.512 zeroinitializer, i8* null }], align 16 +@stdout = global %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 88) to %struct.__STDIO_FILE_STRUCT.568*), align 8 +@stderr = global %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 176) to %struct.__STDIO_FILE_STRUCT.568*), align 8 +@__stdin = global %struct.__STDIO_FILE_STRUCT.568* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i32 0, i32 0), align 8 +@__stdout = global %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 88) to %struct.__STDIO_FILE_STRUCT.568*), align 8 +@_stdio_openlist = global %struct.__STDIO_FILE_STRUCT.568* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i32 0, i32 0), align 8 +@been_there_done_that = internal global i32 0, align 4 +@__exit_cleanup = hidden global void (i32)* null, align 8 +@convert_entire_line = dso_local global i8 0, align 1 +@exit_status = dso_local global i32 0, align 4 +@max_column_width = dso_local global i64 0, align 8 +@Version = dso_local global i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.68.95, i32 0, i32 0), align 8 +@.str.68.95 = private unnamed_addr constant [5 x i8] c"8.32\00", align 1 +@exit_failure = dso_local global i32 1, align 4 +@program_name = dso_local global i8* null, align 8 +@quoting_style_args = dso_local constant [11 x i8*] [i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.85, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1.86, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2.87, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.3.88, i32 0, i32 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.4.89, i32 0, i32 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.5.90, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.6.91, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.7.92, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.8.93, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.9.94, i32 0, i32 0), i8* null], align 16 +@.str.85 = private unnamed_addr constant [8 x i8] c"literal\00", align 1 +@.str.1.86 = private unnamed_addr constant [6 x i8] c"shell\00", align 1 +@.str.2.87 = private unnamed_addr constant [13 x i8] c"shell-always\00", align 1 +@.str.3.88 = private unnamed_addr constant [13 x i8] c"shell-escape\00", align 1 +@.str.4.89 = private unnamed_addr constant [20 x i8] c"shell-escape-always\00", align 1 +@.str.5.90 = private unnamed_addr constant [2 x i8] c"c\00", align 1 +@.str.6.91 = private unnamed_addr constant [8 x i8] c"c-maybe\00", align 1 +@.str.7.92 = private unnamed_addr constant [7 x i8] c"escape\00", align 1 +@.str.8.93 = private unnamed_addr constant [7 x i8] c"locale\00", align 1 +@.str.9.94 = private unnamed_addr constant [8 x i8] c"clocale\00", align 1 +@quoting_style_vals = dso_local constant [10 x i32] [i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9], align 16 +@quote_quoting_options = dso_local global %struct.quoting_options { i32 8, i32 0, [8 x i32] zeroinitializer, i8* null, i8* null }, align 8 +@version_etc_copyright = dso_local constant [47 x i8] c"Copyright %s %d Free Software Foundation, Inc.\00", align 16 +@.str.96 = private unnamed_addr constant [39 x i8] c"Try '%s --help' for more information.\0A\00", align 1 +@.str.1.97 = private unnamed_addr constant [33 x i8] c"Usage: %s [OPTION]... [FILE]...\0A\00", align 1 +@.str.2.98 = private unnamed_addr constant [66 x i8] c"Convert tabs in each FILE to spaces, writing to standard output.\0A\00", align 1 +@.str.3.99 = private unnamed_addr constant [112 x i8] c" -i, --initial do not convert tabs after non blanks\0A -t, --tabs=N have tabs N characters apart, not 8\0A\00", align 1 +@.str.4.100 = private unnamed_addr constant [45 x i8] c" --help display this help and exit\0A\00", align 1 +@.str.5.101 = private unnamed_addr constant [54 x i8] c" --version output version information and exit\0A\00", align 1 +@.str.6.102 = private unnamed_addr constant [7 x i8] c"expand\00", align 1 +@__const.emit_ancillary_info.infomap = private unnamed_addr constant [7 x %struct.infomap] [%struct.infomap { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.112, i32 0, i32 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.13.113, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.14.114, i32 0, i32 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.15.115, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.16.116, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.17.117, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.18.118, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.17.117, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.19.119, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.17.117, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.20.120, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.17.117, i32 0, i32 0) }, %struct.infomap zeroinitializer], align 16 +@.str.21.103 = private unnamed_addr constant [23 x i8] c"\0A%s online help: <%s>\0A\00", align 1 +@.str.8.104 = private unnamed_addr constant [14 x i8] c"GNU coreutils\00", align 1 +@.str.22.105 = private unnamed_addr constant [40 x i8] c"https://www.gnu.org/software/coreutils/\00", align 1 +@.str.23.106 = private unnamed_addr constant [4 x i8] c"en_\00", align 1 +@.str.24.107 = private unnamed_addr constant [71 x i8] c"Report any translation bugs to \0A\00", align 1 +@.str.25.108 = private unnamed_addr constant [27 x i8] c"Full documentation <%s%s>\0A\00", align 1 +@.str.27.109 = private unnamed_addr constant [12 x i8] c" invocation\00", align 1 +@.str.7.110 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@.str.26.111 = private unnamed_addr constant [51 x i8] c"or available locally via: info '(coreutils) %s%s'\0A\00", align 1 +@.str.12.112 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@.str.13.113 = private unnamed_addr constant [16 x i8] c"test invocation\00", align 1 +@.str.14.114 = private unnamed_addr constant [10 x i8] c"coreutils\00", align 1 +@.str.15.115 = private unnamed_addr constant [22 x i8] c"Multi-call invocation\00", align 1 +@.str.16.116 = private unnamed_addr constant [10 x i8] c"sha224sum\00", align 1 +@.str.17.117 = private unnamed_addr constant [15 x i8] c"sha2 utilities\00", align 1 +@.str.18.118 = private unnamed_addr constant [10 x i8] c"sha256sum\00", align 1 +@.str.19.119 = private unnamed_addr constant [10 x i8] c"sha384sum\00", align 1 +@.str.20.120 = private unnamed_addr constant [10 x i8] c"sha512sum\00", align 1 +@.str.11.64 = private unnamed_addr constant [62 x i8] c" -t, --tabs=LIST use comma separated list of tab positions\0A\00", align 1 +@.str.12.65 = private unnamed_addr constant [365 x i8] c" The last specified position can be prefixed with '/'\0A to specify a tab size to use after the last\0A explicitly specified tab stop. Also a prefix of '+'\0A can be used to align remaining tab stops relative to\0A the last specified tab stop instead of the first column\0A\00", align 1 +@.str.11.121 = private unnamed_addr constant [75 x i8] c"\0AMandatory arguments to long options are mandatory for short options too.\0A\00", align 1 +@.str.10.122 = private unnamed_addr constant [56 x i8] c"\0AWith no FILE, or when FILE is -, read standard input.\0A\00", align 1 +@shortopts = internal constant [34 x i8] c"it:0::1::2::3::4::5::6::7::8::9::\00", align 16 +@longopts = internal constant [5 x %struct.option] [%struct.option { i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.28.130, i32 0, i32 0), i32 1, i32* null, i32 116 }, %struct.option { i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.29.131, i32 0, i32 0), i32 0, i32* null, i32 105 }, %struct.option { i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.30.132, i32 0, i32 0), i32 0, i32* null, i32 -130 }, %struct.option { i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.31.133, i32 0, i32 0), i32 0, i32* null, i32 -131 }, %struct.option zeroinitializer], align 16 +@.str.9.125 = private unnamed_addr constant [16 x i8] c"David MacKenzie\00", align 1 +@have_read_stdin = internal global i8 0, align 1 +@.str.9.53 = private unnamed_addr constant [2 x i8] c"-\00", align 1 +@.str.32.126 = private unnamed_addr constant [23 x i8] c"input line is too long\00", align 1 +@.str.33.127 = private unnamed_addr constant [12 x i8] c"write error\00", align 1 +@tab_size = internal global i64 0, align 8 +@first_free_tab = internal global i64 0, align 8 +@tab_list = internal global i64* null, align 8 +@extend_size = internal global i64 0, align 8 +@increment_size = internal global i64 0, align 8 +@next_file.prev_file = internal global i8* null, align 8 +@.str.6.56 = private unnamed_addr constant [10 x i8] c"prev_file\00", align 1 +@.str.7.57 = private unnamed_addr constant [23 x i8] c"../src/expand-common.c\00", align 1 +@__PRETTY_FUNCTION__.next_file = private unnamed_addr constant [24 x i8] c"FILE *next_file(FILE *)\00", align 1 +@.str.8.58 = private unnamed_addr constant [3 x i8] c"%s\00", align 1 +@file_list = internal global i8** null, align 8 +@.str.10.59 = private unnamed_addr constant [2 x i8] c"r\00", align 1 +@slotvec = internal global %struct.slotvec* @slotvec0, align 8 +@nslots = internal global i32 1, align 4 +@slotvec0 = internal global %struct.slotvec { i64 256, i8* getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i32 0, i32 0) }, align 8 +@slot0 = internal global [256 x i8] zeroinitializer, align 16 +@.str.10.95 = private unnamed_addr constant [2 x i8] c"\22\00", align 1 +@.str.11.96 = private unnamed_addr constant [2 x i8] c"`\00", align 1 +@.str.12.97 = private unnamed_addr constant [2 x i8] c"'\00", align 1 +@.str.165 = private unnamed_addr constant [2 x i8] c"C\00", align 1 +@.str.1.166 = private unnamed_addr constant [6 x i8] c"POSIX\00", align 1 +@.str.13.98 = private unnamed_addr constant [6 x i8] c"UTF-8\00", align 1 +@.str.14.99 = private unnamed_addr constant [4 x i8] c"\E2\80\98\00", align 1 +@.str.15.100 = private unnamed_addr constant [4 x i8] c"\E2\80\99\00", align 1 +@.str.16.101 = private unnamed_addr constant [8 x i8] c"GB18030\00", align 1 +@.str.17.102 = private unnamed_addr constant [4 x i8] c"\A1\07e\00", align 1 +@.str.18.103 = private unnamed_addr constant [3 x i8] c"\A1\AF\00", align 1 +@.str.169 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@.str.1.170 = private unnamed_addr constant [6 x i8] c"ASCII\00", align 1 +@.str.147 = private unnamed_addr constant [3 x i8] c"%s\00", align 1 +@.str.1.148 = private unnamed_addr constant [17 x i8] c"memory exhausted\00", align 1 +@default_quoting_options = internal global %struct.quoting_options zeroinitializer, align 8 +@stdin_argv = internal global [2 x i8*] [i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.9.53, i32 0, i32 0), i8* null], align 16 +@.str.15.46 = private unnamed_addr constant [21 x i8] c"tab size cannot be 0\00", align 1 +@.str.16.47 = private unnamed_addr constant [28 x i8] c"tab sizes must be ascending\00", align 1 +@.str.17.48 = private unnamed_addr constant [45 x i8] c"'/' specifier is mutually exclusive with '+'\00", align 1 +@.str.110 = private unnamed_addr constant [12 x i8] c"%s (%s) %s\0A\00", align 1 +@.str.1.111 = private unnamed_addr constant [7 x i8] c"%s %s\0A\00", align 1 +@.str.2.112 = private unnamed_addr constant [4 x i8] c"(C)\00", align 1 +@.str.3.113 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.4.114 = private unnamed_addr constant [171 x i8] c"License GPLv3+: GNU GPL version 3 or later <%s>.\0AThis is free software: you are free to change and redistribute it.\0AThere is NO WARRANTY, to the extent permitted by law.\0A\00", align 1 +@.str.5.115 = private unnamed_addr constant [34 x i8] c"https://gnu.org/licenses/gpl.html\00", align 1 +@.str.6.116 = private unnamed_addr constant [16 x i8] c"Written by %s.\0A\00", align 1 +@.str.7.117 = private unnamed_addr constant [23 x i8] c"Written by %s and %s.\0A\00", align 1 +@.str.8.118 = private unnamed_addr constant [28 x i8] c"Written by %s, %s, and %s.\0A\00", align 1 +@.str.9.119 = private unnamed_addr constant [32 x i8] c"Written by %s, %s, %s,\0Aand %s.\0A\00", align 1 +@.str.10.120 = private unnamed_addr constant [36 x i8] c"Written by %s, %s, %s,\0A%s, and %s.\0A\00", align 1 +@.str.11.121.128 = private unnamed_addr constant [40 x i8] c"Written by %s, %s, %s,\0A%s, %s, and %s.\0A\00", align 1 +@.str.12.122 = private unnamed_addr constant [44 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, and %s.\0A\00", align 1 +@.str.13.123 = private unnamed_addr constant [48 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, %s,\0Aand %s.\0A\00", align 1 +@.str.14.124 = private unnamed_addr constant [52 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, %s,\0A%s, and %s.\0A\00", align 1 +@.str.15.125 = private unnamed_addr constant [60 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, %s,\0A%s, %s, and others.\0A\00", align 1 +@.str.1.37 = private unnamed_addr constant [41 x i8] c"'/' specifier not at start of number: %s\00", align 1 +@.str.2.38 = private unnamed_addr constant [41 x i8] c"'+' specifier not at start of number: %s\00", align 1 +@.str.3.39 = private unnamed_addr constant [11 x i8] c"0123456789\00", align 1 +@.str.4.40 = private unnamed_addr constant [25 x i8] c"tab stop is too large %s\00", align 1 +@.str.5.41 = private unnamed_addr constant [43 x i8] c"tab size contains invalid character(s): %s\00", align 1 +@n_tabs_allocated = internal global i64 0, align 8 +@.str.34.129 = private unnamed_addr constant [23 x i8] c"tabs are too far apart\00", align 1 +@.str.14.42 = private unnamed_addr constant [47 x i8] c"'+' specifier only allowed with the last value\00", align 1 +@.str.13.43 = private unnamed_addr constant [47 x i8] c"'/' specifier only allowed with the last value\00", align 1 +@.str.28.130 = private unnamed_addr constant [5 x i8] c"tabs\00", align 1 +@.str.29.131 = private unnamed_addr constant [8 x i8] c"initial\00", align 1 +@.str.30.132 = private unnamed_addr constant [5 x i8] c"help\00", align 1 +@.str.31.133 = private unnamed_addr constant [8 x i8] c"version\00", align 1 +@ignore_EPIPE = internal global i8 0, align 1 +@.str.71 = private unnamed_addr constant [12 x i8] c"write error\00", align 1 +@file_name = internal global i8* null, align 8 +@.str.1.72 = private unnamed_addr constant [7 x i8] c"%s: %s\00", align 1 +@.str.2.73 = private unnamed_addr constant [3 x i8] c"%s\00", align 1 +@.str.82 = private unnamed_addr constant [56 x i8] c"A NULL argv[0] was passed through an exec system call.\0A\00", align 1 +@.str.1.83 = private unnamed_addr constant [8 x i8] c"/.libs/\00", align 1 +@.str.2.84 = private unnamed_addr constant [4 x i8] c"lt-\00", align 1 +@.str.16.128 = private unnamed_addr constant [20 x i8] c"Report bugs to: %s\0A\00", align 1 +@.str.17.129 = private unnamed_addr constant [22 x i8] c"bug-coreutils@gnu.org\00", align 1 +@.str.18.130 = private unnamed_addr constant [20 x i8] c"%s home page: <%s>\0A\00", align 1 +@.str.19.131 = private unnamed_addr constant [14 x i8] c"GNU coreutils\00", align 1 +@.str.20.132 = private unnamed_addr constant [40 x i8] c"https://www.gnu.org/software/coreutils/\00", align 1 +@.str.21.133 = private unnamed_addr constant [39 x i8] c"General help using GNU software: <%s>\0A\00", align 1 +@.str.22.134 = private unnamed_addr constant [29 x i8] c"https://www.gnu.org/gethelp/\00", align 1 +@__exe_env = dso_local global { <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] } { <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }> <{ %struct.exe_file_t { i32 0, i32 5, i64 0, %struct.exe_disk_file_t* null }, %struct.exe_file_t { i32 1, i32 9, i64 0, %struct.exe_disk_file_t* null }, %struct.exe_file_t { i32 2, i32 9, i64 0, %struct.exe_disk_file_t* null }, [29 x %struct.exe_file_t] zeroinitializer }>, i32 18, i32 0, i32 0, [4 x i8] undef }, align 8 +@__exe_fs = dso_local global %struct.exe_file_system_t zeroinitializer, align 8 +@__const.klee_init_fds.name = private unnamed_addr constant [7 x i8] c"?-data\00", align 1 +@.str.140 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@.str.1.141 = private unnamed_addr constant [82 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/fd_init.c\00", align 1 +@.str.2.142 = private unnamed_addr constant [31 x i8] c"out of memory in klee_init_env\00", align 1 +@.str.3.143 = private unnamed_addr constant [9 x i8] c"user.err\00", align 1 +@.str.4.145 = private unnamed_addr constant [6 x i8] c"stdin\00", align 1 +@.str.5.146 = private unnamed_addr constant [10 x i8] c"read_fail\00", align 1 +@.str.6.147 = private unnamed_addr constant [11 x i8] c"write_fail\00", align 1 +@.str.7.148 = private unnamed_addr constant [11 x i8] c"close_fail\00", align 1 +@.str.8.149 = private unnamed_addr constant [15 x i8] c"ftruncate_fail\00", align 1 +@.str.9.150 = private unnamed_addr constant [12 x i8] c"getcwd_fail\00", align 1 +@.str.10.151 = private unnamed_addr constant [7 x i8] c"stdout\00", align 1 +@.str.11.152 = private unnamed_addr constant [14 x i8] c"model_version\00", align 1 +@.str.13.153 = private unnamed_addr constant [6 x i8] c"-stat\00", align 1 +@.str.14.154 = private unnamed_addr constant [5 x i8] c"size\00", align 1 +@__PRETTY_FUNCTION__.__create_new_dfile = private unnamed_addr constant [88 x i8] c"void __create_new_dfile(exe_disk_file_t *, unsigned int, const char *, struct stat64 *)\00", align 1 +@.str.12.155 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.156 = private unnamed_addr constant [18 x i8] c"silently ignoring\00", align 1 +@.str.1.161 = private unnamed_addr constant [24 x i8] c"ignoring (EAFNOSUPPORT)\00", align 1 +@.str.11.163 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.2.166 = private unnamed_addr constant [15 x i8] c"ignoring (EIO)\00", align 1 +@.str.3.167 = private unnamed_addr constant [18 x i8] c"ignoring (ENFILE)\00", align 1 +@.str.4.168 = private unnamed_addr constant [17 x i8] c"ignoring (EPERM)\00", align 1 +@.str.5.169 = private unnamed_addr constant [13 x i8] c"returning 0\0A\00", align 1 +@.str.6.170 = private unnamed_addr constant [40 x i8] c"setting all times to 0 and returning 0\0A\00", align 1 +@.str.7.171 = private unnamed_addr constant [17 x i8] c"ignoring (EBADF)\00", align 1 +@.str.8.174 = private unnamed_addr constant [21 x i8] c"ignoring (-1 result)\00", align 1 +@.str.9.175 = private unnamed_addr constant [18 x i8] c"ignoring (ECHILD)\00", align 1 +@.str.10.176 = private unnamed_addr constant [32 x i8] c"silently ignoring (returning 0)\00", align 1 +@__locale_mmap = global %struct.__locale_mmap_t.203* @locale_mmap, align 8 +@locale_mmap = internal constant %struct.__locale_mmap_t.203 { [420 x i8] c"\EE\EE\EE\EE\06afffffff$$$$$$$$$$\06\00\00\00\00D&fffdDDbfff`b\22\22FBFfddfFf$\22fbbB\22DDDD\22\22\22\22\06&fff`\00\00`fffff&ff`ffff\11a\06\00\00\00\11\11\11\11\11\01`\06\EE&fffd\E4\EEnffffb\E2Nfaff\11\11\11\22\22\22\22bDDDdDDD$FDDdDDdD&\22\22b\22\22b\22\22\22\22\12bbf&Fb$dd$dF$$$F\22BB\22fffdbaffff$fba$dFBfdbddBf$df\22b$$FFFdFDdD&&&b&\22b\22Ff\06dFDd@&f&b&\22b D\04DD@DDd\22\02\22\22 \22\22bFAFdFDdd&\22B\22FDDD&\22\22\22\06\00\06\00\00\00f\00\00`\00`\10\11\11\11\11\01\00\00\11afff\06\00\00ff\00ff`f`DddDADDDD@DDDD\22\22!\22\22\22\22\22\22\02\06ffffff\06\00\00\00`f&fffFff\22Fff`b$\04dfff``\00\00 $&f\00`f\06fF@f``\00`f&b\22fFdDffFf\11\11\11a\11\01\00`\11\11\11\16\11f\00\00", [504 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00{}\00\00\00{\00\7F\7F\00\00\00\00\00\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\00\00\F0\FE\00\FE\00\00\00\00\00\00\F0\00\F0\F0\F0\F0\F0\00\00\00\00\00\00\00\00\FF\FF\E7\00\F1\00\00\F0\00\F0\00\00\00\00\F0\00\00\FF\FF\F1\00\00\00\F0\00\F0\00\E7\FF\FF\F0\E0\E0\E0\E0\E0\E0\E0\E0\00\00\F0\00\F0\00\00\00\00\00\F0\00\F0\00\00\A0\00\00\00\00\00\00\00\A0\E0\E0\E0\E0\E0\E0\E0\00\00\F0\F0\F0\F0\F0\F0\00\F0\F0\F0\F0\F0\00\F0\F0\00\FF\FF\00\FF\FF\FB\00\F0\00\F0\FB\F0\00\00\B0\FF\FF\FF\FF\FF\FF\00\FE\F0\FE\F0\FC\F0\FF\FF\FC\E0\E0\E0\E0\E0\E0\E0\B0\00\00\00\00\00\00\FE\00\FE\00\00\00\00\00\00\00\00\00\00\00\FC\00\00\00\FC\00\00\00\FF\FF\BF\00\E0\E0\E0\E0\E0\E0\E0\BF\00\FF\FF\F0\00\00\FE\00\FE\00\F0\00\FE\00\FE\F0\00\00\F9\F0\FC\00\00\00\FC\F9\F0\00\FF\FF\BF\F0\00\F0\00\F0\00\F0\F0\00\00\F0\F0\F0\F0\00\F0\F0\00\F0\00\00\00\00\F0\00\00@\F0\F0\F0\00\00\F0\00\90\F0\F0\F0\00\00\F0\E0\E0\E0\00\E0\E0\E0\E0\00\E0\E0\E0\E0\E0\E0\00\00\F0\F0\F0\F0\00\F0\00\00\F0\F0\F0\F0\FE\F0\FE\00\B0\B0\B0\B0\B0\B0\B0\B0\B0\B0\B0\B0\00\B0\B0\00\00\00\00\00\00\DA\00\DB\DB\DB\00\C0\00\C1\C1\00\E0\E0\E0\E0\E0\E0\E0\E0\E0\00\E0\E0\E0\E0\E0\E0\E0\E0\E0\DA\DB\DB\DB\E0\E0\E1\E0\E0\E0\E0\E0\E0\E0\E0\E0\C0\C1\C1\00\E0\E0\E0\E0\E0t\E0\00\E0\E0\E0\E0\E0L\E0\00\00\00\00\10\00\00\00\00 \10\02\00\02\00\00\00\00\00\00\02\00\02\01\01\00\10\00\00\00\00\00\00\00\00\01\01\10\00\10\00\00\00\00\00\10\00\10\00\00\00\00\00\10\10\00\10\10\00\00\00\00\00\10\00\00", [1760 x i16] [i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 0, i16 1415, i16 1417, i16 41, i16 40, i16 187, i16 171, i16 8212, i16 46, i16 1373, i16 44, i16 45, i16 1418, i16 8230, i16 1372, i16 1371, i16 1374, i16 1329, i16 1377, i16 1330, i16 1378, i16 1331, i16 1379, i16 1332, i16 1380, i16 1333, i16 1381, i16 1334, i16 1382, i16 1335, i16 1383, i16 1336, i16 1384, i16 1337, i16 1385, i16 1338, i16 1386, i16 1339, i16 1387, i16 1340, i16 1388, i16 1341, i16 1389, i16 1342, i16 1390, i16 1343, i16 1391, i16 1344, i16 1392, i16 1345, i16 1393, i16 1346, i16 1394, i16 1347, i16 1395, i16 1348, i16 1396, i16 1349, i16 1397, i16 1350, i16 1398, i16 1351, i16 1399, i16 1352, i16 1400, i16 1353, i16 1401, i16 1354, i16 1402, i16 1355, i16 1403, i16 1356, i16 1404, i16 1357, i16 1405, i16 1358, i16 1406, i16 1359, i16 1407, i16 1360, i16 1408, i16 1361, i16 1409, i16 1362, i16 1410, i16 1363, i16 1411, i16 1364, i16 1412, i16 1365, i16 1413, i16 1366, i16 1414, i16 1370, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1026, i16 1027, i16 8218, i16 1107, i16 8222, i16 8230, i16 8224, i16 8225, i16 8364, i16 8240, i16 1033, i16 8249, i16 1034, i16 1036, i16 1035, i16 1039, i16 1106, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 0, i16 8482, i16 1113, i16 8250, i16 1114, i16 1116, i16 1115, i16 1119, i16 160, i16 1038, i16 1118, i16 1032, i16 164, i16 1168, i16 166, i16 167, i16 1025, i16 169, i16 1028, i16 171, i16 172, i16 173, i16 174, i16 1031, i16 176, i16 177, i16 1030, i16 1110, i16 1169, i16 181, i16 182, i16 183, i16 1105, i16 8470, i16 1108, i16 187, i16 1112, i16 1029, i16 1109, i16 1111, i16 1040, i16 1041, i16 1042, i16 1043, i16 1044, i16 1045, i16 1046, i16 1047, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 1058, i16 1059, i16 1060, i16 1061, i16 1062, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1070, i16 1071, i16 1072, i16 1073, i16 1074, i16 1075, i16 1076, i16 1077, i16 1078, i16 1079, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1088, i16 1089, i16 1090, i16 1091, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1099, i16 1100, i16 1101, i16 1102, i16 1103, i16 8364, i16 0, i16 8218, i16 402, i16 8222, i16 8230, i16 8224, i16 8225, i16 710, i16 8240, i16 0, i16 8249, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 732, i16 8482, i16 0, i16 8250, i16 0, i16 0, i16 0, i16 0, i16 160, i16 161, i16 162, i16 163, i16 8362, i16 165, i16 166, i16 167, i16 168, i16 169, i16 215, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 247, i16 187, i16 188, i16 189, i16 190, i16 191, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 0, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 0, i16 0, i16 8206, i16 8207, i16 0, i16 128, i16 129, i16 8218, i16 402, i16 8222, i16 8230, i16 8224, i16 8225, i16 710, i16 8240, i16 352, i16 8249, i16 338, i16 141, i16 142, i16 143, i16 144, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 732, i16 8482, i16 353, i16 8250, i16 339, i16 157, i16 158, i16 376, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 4304, i16 4305, i16 4306, i16 4307, i16 4308, i16 4309, i16 4310, i16 4337, i16 4311, i16 4312, i16 4313, i16 4314, i16 4315, i16 4316, i16 4338, i16 4317, i16 4318, i16 4319, i16 4320, i16 4321, i16 4322, i16 4339, i16 4323, i16 4324, i16 4325, i16 4326, i16 4327, i16 4328, i16 4329, i16 4330, i16 4331, i16 4332, i16 4333, i16 4334, i16 4340, i16 4335, i16 4336, i16 4341, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 160, i16 260, i16 274, i16 290, i16 298, i16 296, i16 310, i16 167, i16 315, i16 272, i16 352, i16 358, i16 381, i16 173, i16 362, i16 330, i16 176, i16 261, i16 275, i16 291, i16 299, i16 297, i16 311, i16 183, i16 316, i16 273, i16 353, i16 359, i16 382, i16 8213, i16 363, i16 331, i16 256, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 302, i16 268, i16 201, i16 280, i16 203, i16 278, i16 205, i16 206, i16 207, i16 208, i16 325, i16 332, i16 211, i16 212, i16 213, i16 214, i16 360, i16 216, i16 370, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 257, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 303, i16 269, i16 233, i16 281, i16 235, i16 279, i16 237, i16 238, i16 239, i16 240, i16 326, i16 333, i16 243, i16 244, i16 245, i16 246, i16 361, i16 248, i16 371, i16 250, i16 251, i16 252, i16 253, i16 254, i16 312, i16 160, i16 8221, i16 162, i16 163, i16 164, i16 8222, i16 166, i16 167, i16 216, i16 169, i16 342, i16 171, i16 172, i16 173, i16 174, i16 198, i16 176, i16 177, i16 178, i16 179, i16 8220, i16 181, i16 182, i16 183, i16 248, i16 185, i16 343, i16 187, i16 188, i16 189, i16 190, i16 230, i16 260, i16 302, i16 256, i16 262, i16 196, i16 197, i16 280, i16 274, i16 268, i16 201, i16 377, i16 278, i16 290, i16 310, i16 298, i16 315, i16 352, i16 323, i16 325, i16 211, i16 332, i16 213, i16 214, i16 215, i16 370, i16 321, i16 346, i16 362, i16 220, i16 379, i16 381, i16 223, i16 261, i16 303, i16 257, i16 263, i16 228, i16 229, i16 281, i16 275, i16 269, i16 233, i16 378, i16 279, i16 291, i16 311, i16 299, i16 316, i16 353, i16 324, i16 326, i16 243, i16 333, i16 245, i16 246, i16 247, i16 371, i16 322, i16 347, i16 363, i16 252, i16 380, i16 382, i16 8217, i16 160, i16 7682, i16 7683, i16 163, i16 266, i16 267, i16 7690, i16 167, i16 7808, i16 169, i16 7810, i16 7691, i16 7922, i16 173, i16 174, i16 376, i16 7710, i16 7711, i16 288, i16 289, i16 7744, i16 7745, i16 182, i16 7766, i16 7809, i16 7767, i16 7811, i16 7776, i16 7923, i16 7812, i16 7813, i16 7777, i16 372, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 7786, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 374, i16 223, i16 373, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 7787, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 375, i16 255, i16 160, i16 161, i16 162, i16 163, i16 8364, i16 165, i16 352, i16 167, i16 353, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 381, i16 181, i16 182, i16 183, i16 382, i16 185, i16 186, i16 187, i16 338, i16 339, i16 376, i16 191, i16 160, i16 260, i16 261, i16 321, i16 8364, i16 171, i16 352, i16 167, i16 353, i16 169, i16 536, i16 8222, i16 377, i16 173, i16 378, i16 379, i16 176, i16 177, i16 268, i16 322, i16 381, i16 8221, i16 182, i16 183, i16 382, i16 269, i16 537, i16 187, i16 338, i16 339, i16 376, i16 380, i16 192, i16 193, i16 194, i16 258, i16 196, i16 262, i16 198, i16 199, i16 272, i16 323, i16 210, i16 211, i16 212, i16 336, i16 214, i16 346, i16 368, i16 217, i16 218, i16 219, i16 220, i16 280, i16 538, i16 223, i16 224, i16 225, i16 226, i16 259, i16 228, i16 263, i16 230, i16 231, i16 273, i16 324, i16 242, i16 243, i16 244, i16 337, i16 246, i16 347, i16 369, i16 249, i16 250, i16 251, i16 252, i16 281, i16 539, i16 255, i16 160, i16 260, i16 728, i16 321, i16 164, i16 317, i16 346, i16 167, i16 168, i16 352, i16 350, i16 356, i16 377, i16 173, i16 381, i16 379, i16 176, i16 261, i16 731, i16 322, i16 180, i16 318, i16 347, i16 711, i16 184, i16 353, i16 351, i16 357, i16 378, i16 733, i16 382, i16 380, i16 340, i16 193, i16 194, i16 258, i16 196, i16 313, i16 262, i16 199, i16 268, i16 201, i16 280, i16 203, i16 282, i16 205, i16 206, i16 270, i16 272, i16 323, i16 327, i16 211, i16 212, i16 336, i16 214, i16 215, i16 344, i16 366, i16 218, i16 368, i16 220, i16 221, i16 354, i16 223, i16 341, i16 225, i16 226, i16 259, i16 228, i16 314, i16 263, i16 231, i16 269, i16 233, i16 281, i16 235, i16 283, i16 237, i16 238, i16 271, i16 273, i16 324, i16 328, i16 243, i16 244, i16 337, i16 246, i16 247, i16 345, i16 367, i16 250, i16 369, i16 252, i16 253, i16 355, i16 729, i16 160, i16 294, i16 728, i16 163, i16 164, i16 0, i16 292, i16 167, i16 168, i16 304, i16 350, i16 286, i16 308, i16 173, i16 0, i16 379, i16 176, i16 295, i16 178, i16 179, i16 180, i16 181, i16 293, i16 183, i16 184, i16 305, i16 351, i16 287, i16 309, i16 189, i16 0, i16 380, i16 192, i16 193, i16 194, i16 0, i16 196, i16 266, i16 264, i16 199, i16 0, i16 209, i16 210, i16 211, i16 212, i16 288, i16 214, i16 215, i16 284, i16 217, i16 218, i16 219, i16 220, i16 364, i16 348, i16 223, i16 224, i16 225, i16 226, i16 0, i16 228, i16 267, i16 265, i16 231, i16 0, i16 241, i16 242, i16 243, i16 244, i16 289, i16 246, i16 247, i16 285, i16 249, i16 250, i16 251, i16 252, i16 365, i16 349, i16 729, i16 160, i16 260, i16 312, i16 342, i16 164, i16 296, i16 315, i16 167, i16 168, i16 352, i16 274, i16 290, i16 358, i16 173, i16 381, i16 175, i16 176, i16 261, i16 731, i16 343, i16 180, i16 297, i16 316, i16 711, i16 184, i16 353, i16 275, i16 291, i16 359, i16 330, i16 382, i16 331, i16 268, i16 201, i16 280, i16 203, i16 278, i16 205, i16 206, i16 298, i16 272, i16 325, i16 332, i16 310, i16 212, i16 213, i16 214, i16 215, i16 216, i16 370, i16 218, i16 219, i16 220, i16 360, i16 362, i16 223, i16 269, i16 233, i16 281, i16 235, i16 279, i16 237, i16 238, i16 299, i16 273, i16 326, i16 333, i16 311, i16 244, i16 245, i16 246, i16 247, i16 248, i16 371, i16 250, i16 251, i16 252, i16 361, i16 363, i16 729, i16 160, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 173, i16 1038, i16 1039, i16 8470, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 167, i16 1118, i16 1119, i16 160, i16 0, i16 0, i16 0, i16 164, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1548, i16 173, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1563, i16 0, i16 0, i16 0, i16 1567, i16 0, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1611, i16 1612, i16 1613, i16 1614, i16 1615, i16 1616, i16 1617, i16 1618, i16 0, i16 0, i16 0, i16 0, i16 0, i16 160, i16 8216, i16 8217, i16 163, i16 0, i16 0, i16 166, i16 167, i16 168, i16 169, i16 0, i16 171, i16 172, i16 173, i16 0, i16 8213, i16 176, i16 177, i16 178, i16 179, i16 900, i16 901, i16 902, i16 183, i16 904, i16 905, i16 906, i16 187, i16 908, i16 189, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 918, i16 919, i16 920, i16 921, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 929, i16 0, i16 931, i16 932, i16 933, i16 934, i16 935, i16 936, i16 937, i16 938, i16 939, i16 940, i16 941, i16 942, i16 943, i16 944, i16 945, i16 946, i16 947, i16 948, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 964, i16 965, i16 966, i16 967, i16 968, i16 969, i16 970, i16 971, i16 972, i16 973, i16 974, i16 0, i16 160, i16 0, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 184, i16 185, i16 247, i16 187, i16 188, i16 189, i16 190, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8215, i16 286, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 304, i16 350, i16 223, i16 287, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 305, i16 351, i16 255, i16 9472, i16 9474, i16 9484, i16 9488, i16 9492, i16 9496, i16 9500, i16 9508, i16 9516, i16 9524, i16 9532, i16 9600, i16 9604, i16 9608, i16 9612, i16 9616, i16 9617, i16 9618, i16 9619, i16 8992, i16 9632, i16 8729, i16 8730, i16 8776, i16 8804, i16 8805, i16 160, i16 8993, i16 176, i16 178, i16 183, i16 247, i16 9552, i16 9553, i16 9554, i16 1105, i16 9555, i16 9556, i16 9557, i16 9558, i16 9559, i16 9560, i16 9561, i16 9562, i16 9563, i16 9564, i16 9565, i16 9566, i16 9567, i16 9568, i16 9569, i16 1025, i16 9570, i16 9571, i16 9572, i16 9573, i16 9574, i16 9575, i16 9576, i16 9577, i16 9578, i16 9579, i16 9580, i16 169, i16 1102, i16 1072, i16 1073, i16 1094, i16 1076, i16 1077, i16 1092, i16 1075, i16 1093, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1103, i16 1088, i16 1089, i16 1090, i16 1091, i16 1078, i16 1074, i16 1100, i16 1099, i16 1079, i16 1096, i16 1101, i16 1097, i16 1095, i16 1098, i16 1070, i16 1040, i16 1041, i16 1062, i16 1044, i16 1045, i16 1060, i16 1043, i16 1061, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1071, i16 1056, i16 1057, i16 1058, i16 1059, i16 1046, i16 1042, i16 1068, i16 1067, i16 1047, i16 1064, i16 1069, i16 1065, i16 1063, i16 1066, i16 1179, i16 1171, i16 8218, i16 1170, i16 8222, i16 8230, i16 8224, i16 8225, i16 0, i16 8240, i16 1203, i16 8249, i16 1202, i16 1207, i16 1206, i16 0, i16 1178, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 0, i16 8482, i16 0, i16 8250, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1263, i16 1262, i16 1105, i16 164, i16 1251, i16 166, i16 167, i16 0, i16 0, i16 0, i16 171, i16 172, i16 173, i16 174, i16 0, i16 176, i16 177, i16 178, i16 1025, i16 0, i16 1250, i16 182, i16 183, i16 0, i16 8470, i16 0, i16 187, i16 0, i16 0, i16 0, i16 169, i16 9552, i16 9553, i16 9554, i16 1105, i16 1108, i16 9556, i16 1110, i16 1111, i16 9559, i16 9560, i16 9561, i16 9562, i16 9563, i16 1169, i16 9565, i16 9566, i16 9567, i16 9568, i16 9569, i16 1025, i16 1028, i16 9571, i16 1030, i16 1031, i16 9574, i16 9575, i16 9576, i16 9577, i16 9578, i16 1168, i16 9580, i16 169, i16 0, i16 3585, i16 3586, i16 3587, i16 3588, i16 3589, i16 3590, i16 3591, i16 3592, i16 3593, i16 3594, i16 3595, i16 3596, i16 3597, i16 3598, i16 3599, i16 3600, i16 3601, i16 3602, i16 3603, i16 3604, i16 3605, i16 3606, i16 3607, i16 3608, i16 3609, i16 3610, i16 3611, i16 3612, i16 3613, i16 3614, i16 3615, i16 3616, i16 3617, i16 3618, i16 3619, i16 3620, i16 3621, i16 3622, i16 3623, i16 3624, i16 3625, i16 3626, i16 3627, i16 3628, i16 3629, i16 3630, i16 3631, i16 3632, i16 3633, i16 3634, i16 3635, i16 3636, i16 3637, i16 3638, i16 3639, i16 3640, i16 3641, i16 3642, i16 0, i16 0, i16 0, i16 0, i16 3647, i16 3648, i16 3649, i16 3650, i16 3651, i16 3652, i16 3653, i16 3654, i16 3655, i16 3656, i16 3657, i16 3658, i16 3659, i16 3660, i16 3661, i16 3662, i16 3663, i16 3664, i16 3665, i16 3666, i16 3667, i16 3668, i16 3669, i16 3670, i16 3671, i16 3672, i16 3673, i16 3674, i16 3675, i16 0, i16 0, i16 0, i16 0], [4528 x i8] c"\00\00\01\00\00\00\00\00\02\03\04\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\06\07\08\09\0A\0B\00\00\00\00\00\00\00\00\0C\0D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\0F\00\00\00\00\10\11\12\13\14\15\00\00\00\16\00\00\00\00\00\00\00\17\18\19\00\00\00\00\00\00\1A\00\00\00\00\00\00\1B\1C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\1D\1E\00\1F\00 \00\00\00\00\00\00\00\00\00!\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\22#\00\00\00\00\00\00\00\00\00\00\00\00\00$%\13&'(\17\18\19\00\00\00\00\00\00)\00\00\00\00\00\00\00\1C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00*+,-\00\00.\14\00\00\00\00\00/01\00!\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00234\00\17\18\19\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03,-\11\12\13\14\00\00\00\00\00\00\00\00\02\0356789:;<=>?\00@A\00\00\00\00\00\00\00\00\00B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03CDEFGHIJKLMNOP\00\00\00\00\00\00\00\00\00Q\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03RS\11T\13UV\00W\00\00\00\00X\00\00\00\00\00\00\00\00YZ\00\00[\\]\00^\00\00\00\00\00\00_\00\00\00\00\00\00\00\00\02\03`a\11\12\13\14\00\00\00\00\00bcd\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00e\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03fghijklm\00\00nocp\00\00\00\00\00\00\00\00\00q\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00r\00\00\00\00\00\00\00\00e\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03stuvwxyz\00{|}~\7F\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\81\00\00\00\00\00\00\00\00\00\00\02\03\82\83\84\85\86\87\88\89\8A\8B\00\8C\8D\8E\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\8F\00\00\00\00\00\00\00\00\00\00\02\03\90t\91\92\93\94;\95\96\97\98\99\9A\9B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\9C\00\00\00\00\00\00\00\00\00\00\02\03\9D\00\00\00\00\00\9E-\11\12\13\9F\00\00\00\00\00\00\00\00\00\00\00\A0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03\A1\00\00\00\00\00\A2\A3\A4\A5\13\A6\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03\A7\A8\00\00\00\00\00\00\00\00\00\00\00\00\A9\11\AA\13\AB\00\00\00\00\AC\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03\AD\AE\00\1F\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\13&\00(\AF\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03,-\11\B0\13\B1\00\B2\00\B3\00\B4\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B5\B6\00\00\00\B7\B8\B9\BA\BB\BC\BD\00\00\00\00\00\00\00\00\00\00\00\BE\00\00\BF\00\C0\00\00\00\00\00\00\00\00\00\00\00\C1\00\00\00\00\00\00\00\00\00\00\00\00\00\C2\C3\C4\C5\00\C6\C7\00\C8\C9\CA\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\CB\CC\00\00\00\00\B8\B9\BA\BB\BC\BD\00\00\00\CD\00\CE\00\00\CF\00\D0\B9\BA\BB\BC\D1\00\00\00\D2\00\00\00\00\00\00\C2\C3\C4\C5\00\D3\D4\00\C8\C9\CA\00\00\00\00\00\D5-\11\D6\13\D7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A5\A4\00\00\AB\AC\A9\00\80\81\82\83\84\85\86\87\88\89\8A\8B\8C\8D\8E\8F\90\91\92\93\94\95\96\97\98\99\9A\9B\9C\9D\9E\9F\A0\00\00\00\00\00\00\00\00\00\00\A7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A6\00\00\00\00\00\B2\B4\B6\B8\BA\BC\BE\C0\C2\C4\C6\C8\CA\CC\CE\D0\D2\D4\D6\D8\DA\DC\DE\E0\E2\E4\E6\E8\EA\EC\EE\F0\F2\F4\F6\F8\FA\FC\00\00\00\FE\B0\AF\AA\B1\00\00\B3\B5\B7\B9\BB\BD\BF\C1\C3\C5\C7\C9\CB\CD\CF\D1\D3\D5\D7\D9\DB\DD\DF\E1\E3\E5\E7\E9\EB\ED\EF\F1\F3\F5\F7\F9\FB\FD\A2\00\A3\AD\00\00\00\00\00\00\00\00\00\A8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\AE\00\00\00\00\00\00\00\00\00\A0\00\00\00\A4\00\A6\A7\00\A9\00\AB\AC\AD\AE\00\B0\B1\00\00\00\B5\B6\B7\00\00\00\BB\00\00\00\00\00\A8\80\81\AA\BD\B2\AF\A3\8A\8C\8E\8D\00\A1\8F\C0\C1\C2\C3\C4\C5\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\E0\E1\E2\E3\E4\E5\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\FD\FE\FF\00\B8\90\83\BA\BE\B3\BF\BC\9A\9C\9E\9D\00\A2\9F\A5\B4\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\96\97\00\00\00\91\92\82\00\93\94\84\00\86\87\95\00\00\00\85\00\00\00\00\00\00\00\00\00\89\00\00\00\00\00\00\00\00\8B\9B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\88\00\00\00\00\00\00\00\00\00\B9\00\00\00\00\00\00\00\00\00\00\00\99\00\00\00\00\00\00\00\00\00\00\00\00\00\A0\A1\A2\A3\00\A5\A6\A7\A8\A9\00\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\00\BB\BC\BD\BE\BF\00\00\00\00\00\00\00\AA\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\BA\00\00\00\00\00\00\00\00\00\00\83\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\88\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\98\00\00\00\C0\C1\C2\C3\C4\C5\C6\C7\C8\C9\00\CB\CC\CD\CE\CF\D0\D1\D2\D3\00\00\00\00\00\00\00\00\00\00\00\00\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\00\00\00\00\00\D4\D5\D6\D7\D8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\FD\FE\00\00\00\00\00\00\00\00\00\00\A4\00\80\00\00\00\80\81\00\00\00\00\00\00\00\00\00\00\00\8D\8E\8F\90\00\00\00\00\00\00\00\00\00\00\00\00\9D\9E\00\A0\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\BF\00\00\00\00\00\00\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\00\00\8C\9C\00\00\00\00\00\00\00\00\00\00\00\00\8A\9A\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\9F\00\00\00\00\00\00\00\C0\C1\C2\C3\C4\C5\C6\C8\C9\CA\CB\CC\CD\CF\D0\D1\D2\D3\D4\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\E0\E1\E3\E4\C7\CE\D5\E2\E5\00\00\00\00\00\00\00\00\00\00\A0\00\00\00\00\00\00\A7\00\00\00\00\00\AD\00\00\B0\00\00\00\00\00\00\B7\00\00\00\00\00\00\00\00\00\C1\C2\C3\C4\C5\C6\00\00\C9\00\CB\00\CD\CE\CF\D0\00\00\D3\D4\D5\D6\00\D8\00\DA\DB\DC\DD\DE\DF\00\E1\E2\E3\E4\E5\E6\00\00\E9\00\EB\00\ED\EE\EF\F0\00\00\F3\F4\F5\F6\00\F8\00\FA\FB\FC\FD\FE\00\C0\E0\00\00\A1\B1\00\00\00\00\00\00\C8\E8\00\00\A9\B9\A2\B2\00\00\CC\EC\CA\EA\00\00\00\00\00\00\00\00\A3\B3\00\00\00\00\A5\B5\A4\B4\00\00\C7\E7\00\00\00\00\00\00\A6\B6\FF\00\00\A8\B8\00\00\00\00\00\00\00\00\D1\F1\00\00\00\AF\BF\D2\F2\00\00\AA\BA\00\00\00\00\AB\BB\D7\F7\AE\BE\00\00\00\00\00\00\D9\F9\00\00\00\00\00\00\00\00\00\AC\BC\00\00\00\00\00\00\BD\00\00\00\00\00\00\00\00\00\00\A0\00\A2\A3\A4\00\A6\A7\00\A9\00\AB\AC\AD\AE\00\B0\B1\B2\B3\00\B5\B6\B7\00\B9\00\BB\BC\BD\BE\00\00\00\00\00\C4\C5\AF\00\00\C9\00\00\00\00\00\00\00\00\00\D3\00\D5\D6\D7\A8\00\00\00\DC\00\00\DF\00\00\00\00\E4\E5\BF\00\00\E9\00\00\00\00\00\00\00\00\00\F3\00\F5\F6\F7\B8\00\00\00\FC\00\00\00\C2\E2\00\00\C0\E0\C3\E3\00\00\00\00\C8\E8\00\00\00\00\C7\E7\00\00\CB\EB\C6\E6\00\00\00\00\00\00\00\00\CC\EC\00\00\00\00\00\00\CE\EE\00\00\C1\E1\00\00\00\00\00\00\CD\ED\00\00\00\CF\EF\00\00\00\00\D9\F9\D1\F1\D2\F2\00\00\00\00\00\D4\F4\00\00\00\00\00\00\00\00\AA\BA\00\00\DA\FA\00\00\00\00\D0\F0\00\00\00\00\00\00\00\00\DB\FB\00\00\00\00\00\00\D8\F8\00\00\00\00\00\CA\EA\DD\FD\DE\FE\00\00\00\00\00\00\00\00\00\00\FF\00\00\B4\A1\A5\00\A0\00\00\A3\00\00\00\A7\00\A9\00\00\00\AD\AE\00\00\00\00\00\00\00\B6\00\00\00\00\00\00\00\00\00\00\D1\D2\D3\D4\D5\D6\00\D8\D9\DA\DB\DC\DD\00\DF\00\F1\F2\F3\F4\F5\F6\00\F8\F9\FA\FB\FC\FD\00\FF\00\00\00\00\00\00\00\00\00\00\A4\A5\00\00\00\00\B2\B3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\D0\F0\DE\FE\AF\00\00\00\00\00\00\00\00\00\A1\A2\00\00\00\00\00\00\A6\AB\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B0\B1\B4\B5\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B7\B9\00\00\00\00\00\00\00\00\BB\BF\00\00\00\00\00\00\00\00\D7\F7\00\00\00\00\A8\B8\AA\BA\BD\BE\00\00\00\00\00\00\00\00\00\00\00\00\AC\BC\00\00\00\00\00\00\00\00\00\00\00\00\A0\A1\A2\A3\00\A5\00\A7\00\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B3\00\B5\B6\B7\00\B9\BA\BB\00\00\00\BF\00\00\BC\BD\00\00\00\00\00\00\00\00\00\00\00\00\A6\A8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\BE\00\00\00\00\B4\B8\00\00\00\00\00\00\00\00\00\00\00\00\00\A4\00\00\00\A0\00\00\00\00\00\00\A7\00\A9\00\A5\00\AD\00\00\B0\B1\00\00\00\00\B6\B7\00\00\00\BB\00\00\00\00\C0\C1\C2\00\C4\00\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\00\00\D2\D3\D4\00\D6\00\00\D9\DA\DB\DC\00\00\DF\E0\E1\E2\00\E4\00\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\00\00\F2\F3\F4\00\F6\00\00\F9\FA\FB\FC\00\00\FF\00\00\C3\E3\A1\A2\C5\E5\00\00\00\00\B2\B9\00\00\D0\F0\00\00\00\00\00\00\DD\FD\00\00\00\00\00\00\00\A3\B3\D1\F1\00\00\00\00\00\00\00\00\00\00\00\D5\F5\BC\BD\00\00\00\00\00\00\D7\F7\00\00\00\00\D8\F8\00\00\00\00\00\00\BE\AC\AE\AF\BF\B4\B8\00\00\00\00\00\00\00\00\00\AA\BA\DE\FE\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B5\AB\00\A0\00\00\00\A4\00\00\A7\A8\00\00\00\00\AD\00\00\B0\00\00\00\B4\00\00\00\B8\00\00\00\00\00\00\00\00\C1\C2\00\C4\00\00\C7\00\C9\00\CB\00\CD\CE\00\00\00\00\D3\D4\00\D6\D7\00\00\DA\00\DC\DD\00\DF\00\E1\E2\00\E4\00\00\E7\00\E9\00\EB\00\ED\EE\00\00\00\00\F3\F4\00\F6\F7\00\00\FA\00\FC\FD\00\00\00\00\C3\E3\A1\B1\C6\E6\00\00\00\00\C8\E8\CF\EF\D0\F0\00\00\00\00\00\00\CA\EA\CC\EC\00\00\00\00\00\00\00\00\00\00\00\00\00\C5\E5\00\00\A5\B5\00\00\A3\B3\D1\F1\00\00\D2\F2\00\00\00\00\00\00\00\D5\F5\00\00\C0\E0\00\00\D8\F8\A6\B6\00\00\AA\BA\A9\B9\DE\FE\AB\BB\00\00\00\00\00\00\00\00\D9\F9\DB\FB\00\00\00\00\00\00\00\AC\BC\AF\BF\AE\BE\00\00\00\00\00\00\00\00\B7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A2\FF\00\B2\00\BD\00\00\A0\00\00\A3\A4\00\00\A7\A8\00\00\00\00\AD\00\00\B0\00\B2\B3\B4\B5\00\B7\B8\00\00\00\00\BD\00\00\C0\C1\C2\00\C4\00\00\C7\C8\C9\CA\CB\CC\CD\CE\CF\00\D1\D2\D3\D4\00\D6\D7\00\D9\DA\DB\DC\00\00\DF\E0\E1\E2\00\E4\00\00\E7\E8\E9\EA\EB\EC\ED\EE\EF\00\F1\F2\F3\F4\00\F6\F7\00\F9\FA\FB\FC\00\00\00\00\00\00\00\00\00\00\00\C6\E6\C5\E5\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\D8\F8\AB\BB\D5\F5\00\00\A6\B6\A1\B1\00\00\00\00\00\00\00\00\A9\B9\00\00\AC\BC\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\DE\FE\AA\BA\00\00\00\00\00\00\00\00\00\00\00\00\DD\FD\00\00\00\00\00\00\00\00\00\00\00\00\00\AF\BF\00\00\00\00\00\00\00\00\00\00\00\A2\FF\00\00\00\00\00\00\A0\00\00\00\A4\00\00\A7\A8\00\00\00\00\AD\00\AF\00\C1\C2\C3\C4\C5\C6\00\00\C9\00\CB\00\CD\CE\00\00\00\00\00\D4\D5\D6\D7\D8\00\DA\DB\DC\00\00\DF\00\E1\E2\E3\E4\E5\E6\00\00\E9\00\EB\00\ED\EE\00\00\00\00\00\F4\F5\F6\F7\F8\00\FA\FB\FC\00\00\00\D0\F0\AA\BA\00\00\CC\EC\CA\EA\00\00\00\00\00\00\00\00\AB\BB\00\00\00\00\A5\B5\CF\EF\00\00\C7\E7\00\00\00\00\00\00\D3\F3\A2\00\00\A6\B6\00\00\00\00\00\00\00\00\D1\F1\00\00\00\BD\BF\D2\F2\00\00\00\00\00\00\00\00\A3\B3\00\00\00\00\00\00\00\00\A9\B9\00\00\00\00\AC\BC\DD\FD\DE\FE\00\00\00\00\00\00\D9\F9\00\00\00\00\00\00\00\00\00\AE\BE\00\00\00\00\00\00\00\00\00\00\FF\00\B2\00\00\00\00\A0\00\00\00\00\00\00\FD\00\00\00\00\00\AD\00\00\00\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\00\AE\AF\00\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\00\FE\FF\00\00\00\00\00\00\F0\00\00\00\00\00\00\00\00\00\A0\00\00\00\A4\00\00\00\00\00\00\00\00\AD\00\00\00\00\00\00\00\00\00\00\00\00\00\00\AC\00\00\00\00\00\00\00\00\00\00\00\00\00\00\BB\00\00\00\BF\00\C1\C2\C3\C4\C5\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\00\00\00\00\00\F0\F1\F2\00\00\00\00\00\00\00\00\00\00\00\00\00\A0\00\00\A3\00\00\A6\A7\A8\A9\00\AB\AC\AD\00\00\B0\B1\B2\B3\00\00\00\B7\00\00\00\BB\00\BD\00\00\00\00\00\00\B4\B5\B6\00\B8\B9\BA\00\BC\00\BE\BF\D0\D1\00\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\FD\FE\00\00\00\00\00\00\AF\00\00\A1\A2\00\00\00\00\00\00\A0\00\A2\A3\A4\A5\A6\A7\A8\A9\00\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\00\BB\BC\BD\BE\00\00\00\00\00\00\00\00\DF\00\00\00\00\00\00\00\00\00\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\00\00\DF\00\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\00\00\FF\00\00\00\00\00\00\00\00\00\00\00\00\00\00\D0\F0\DD\FD\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\DE\FE\9A\00\00\00\00\00\00\00\00\BF\00\00\00\00\00\00\9C\00\9D\00\00\00\00\9E\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\9F\00\00\00\00\00\00\00\00\00\B3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E1\E2\F7\E7\E4\E5\F6\FA\E9\EA\EB\EC\ED\EE\EF\F0\F2\F3\F4\F5\E6\E8\E3\FE\FB\FD\FF\F9\F8\FC\E0\F1\C1\C2\D7\C7\C4\C5\D6\DA\C9\CA\CB\CC\CD\CE\CF\D0\D2\D3\D4\D5\C6\C8\C3\DE\DB\DD\DF\D9\D8\DC\C0\D1\00\A3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\95\96\00\00\00\00\00\00\00\00\00\00\00\00\00\97\00\00\00\00\00\00\00\00\00\00\00\98\99\00\00\00\00\00\00\00\00\00\00\93\9B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\00\81\00\00\00\00\00\00\00\00\00\82\00\00\00\83\00\00\00\84\00\00\00\85\00\00\00\86\00\00\00\00\00\00\00\87\00\00\00\00\00\00\00\88\00\00\00\00\00\00\00\89\00\00\00\00\00\00\00\8A\00\00\00\A0\A1\A2\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\00\00\00\8B\00\00\00\8C\00\00\00\8D\00\00\00\8E\00\00\00\8F\90\91\92\00\00\00\00\00\00\00\00\00\00\00\00\94\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A4\00\A6\A7\00\BF\00\AB\AC\AD\AE\00\B0\B1\B2\00\00\00\B6\B7\00\00\00\BB\00\00\00\00\00\00\83\81\00\00\00\00\00\00\90\80\00\00\00\00\00\00\8C\8A\00\00\8E\8D\00\00\00\00\00\00\00\00\00\00\B5\A5\00\00\00\00\00\00\00\00\00\00\A2\A1\00\B3\00\00\B4\00\B6\B7\00\00\00\00\00\00\00\00\00\A3\00\00\A4\00\A6\A7\00\00\00\00\00\00\00\00\BD\AD\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A0\A1\A2\00\A5\00\00\A8\A9\AA\AB\AC\00\AE\AF\B0\B1\B2\00\B5\00\00\B8\B9\BA\BB\BC\00\BE\00\00\00\00\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\00\00\00\00\DF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\00\00\00\00", [3604 x i8] c":!\1F2#\1E\02,\00'\04%&\05\07)\0F\12\09\0C\06\19\1A\0B+\00\00\00\00\00 \1D9*7407.$777\00\00\00\0158\03/3\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\17\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\16\19\19\19\19\13\00\00\00\00\00\00\00\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\14\00\00\00\00\00\00\00\007777777777777777777777777\19\10\08\19\1B-(\00\00\00\0E\22\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0061\00\00\11\0A\15\1C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\18\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\19\19\0D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E4\E4\E4\CD\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\D0\00\00\07\00\1A5UU>Uj\DE\00UovUUUUUUUUUUUZ\E4\DA\DEU\\\08UUUUI5UUUUUUUUUUS\E4\E4UUU\00\00\00\00\00\00\00UU\12?#UU(%;\C4-\002\03U\C7\00\B6PGUU(&=\E3\CC\1F\00 U\00\00\1DL(UU(U:\D2.\04\009U\00\00\1DUS\17UUGOS\11\D5\E4\00\00\1C\005UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU5UUUUXUAVXUk\00\00\00\00/\22\0B54\16\BC\CBJ\DEU<\00\00\00\00S\00\14\09U\BBSJDUUUUUUUUUUUUU7\00\00\00\14UUUUUSUUUUUUUS'S'UUUUS'UUUS'S'SSUUSUUTBLLUUUFJ\17(UUUUUUUUUUUUUUUUUUUUUULm\00UUn\00UUk\00UL*\00UUUUUU`\E4\E4\E4\E2\D3U7\00\00US'SUUUUSUU>\B9vp\D4\00\00\00\00UUUUUUUUUUI\00UUUR\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00UUUS\D0\00UUU>\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00UUUUG1\C5\C0UpY\C0\00\00\00\00\00\00\00\00UUUUR\00UUUUU)UUUUURUUUUUUU>\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00UUUUUUUUUULUUUUUUUUL\103UE&UUUUUUUUUUUUUUUUUU8UUUUUUUU>UUUUUUUUUU7UUUUUUUUUUUUUUUUUI\E4\E4\E4\E4\E4\E4\E0\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUH\00\00\00\00\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUHUUU\BBUUhUUUhUUUUUUUUUUUUUUUUUUUUR\00\00\00\00\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUUUR\00\00\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUUUUUUUS\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU^S\00xUUgUUUUUUUUUi\1F\00UUUUUUUY\00\00UUUUUUUU\17UUUUUU\00\00\00\00\00UNUU]UUU]UUXUUUXUUU\BBUUU\BBUUh9UUUUUU\86\AA\83\A7\86\AA\86\AA\83\A7{\96\86\AA\86\83\86\AA\86\AA\86\AA\82\AE\C9\AF}\AC\7F\AF\19\AD\92\92\00\00\00\00\97\AA\AA\AA\A86y\86\86\86\85\B4\B9\E4\CD\E4\E4\CD\D4\00UUU>g\00\92\92\92\92+\92\8F\00\00\00ezq~bUqraUURU\BDp\E4p\E4_\DF\00\00\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\91d\92\92\92\92\92\92\92\92\92\92\92\8C\92\92\92\92\92\92\92\9A\9Fs\92\92\92\92\92\A5\99\A0\A4\8E\93\9C\A1\8D[\8B\9F\9D\92\92\98\92\AA\AA\AA\AA\A7\86\86\86\86\83\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\AA\AA\AA\AA\AA\AA\86\86\86\86\86\86\92\92\92\92\94\CA\92\92\92\92\92\92\9A\9E\92\92\92\92\90\8C\B5\C1\E4\E4\E4\B9\E4\E4\E4\DC\C3\E0\B9\E4\E4\E4\E4\E4\D4\E4\E4\E4\B9\E0\00\00\E4\E4\E4\D0\E4\E4\B6K#UU($=\D1-\05\0A9U,\00\18@'0\13@T:\C5.\04\00\02U\C2\00\B6L(UU(Q:\D7.\0C\009U\00\00\1DL(UU(Q:\D7.\0C\019U\00\00\B6UUUUUU=\E4\DE\BEUoU,\00\B6K#UU(!;\D6-\04\0AlUp\C2\B9\E4Up\B1\AA\AA\B0\95\86\86\88\E1UUUUUUUUUUS\17\17\17\15\E0\E0\00\B8\BF\E4\E4\E4Up\E4\E4U5UUU>\B9\E4\E4H\E4\B9\E4\E4\E4\D7\E4\D6\00\00\00\00\00\00\CE\C8Zw\DDfcC\D9k\1B\E4\AA\AA\86\86H\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E0U7UUUUUUUUUUU\00UUUUU\BA\00\00\00\00\00\00\00\00\00\00\E4\E3\BBUUI\E4\E4\E4\C2\00\00\00\00\00\00UUUUY\E4t\00\00\00\00\00\00\00\00\00\E4\E4\00\00\D0\00\E4\E4\E5\B9\C6\E4\E0\D0LUUUUUUUUUUUUUUUUM\E4\E4\D2\B9\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\E4\C0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E4\E4\E4\D4\E4\E4\E4\E4\D0\00\B9\E4\E4\E4\E4\D1\E4\E4\E4\E4\E4\E4\E4\E4\E4\D0\E4\E4\E4\E4\E4\E0\E4\E4\E4\E4\E0\00\00\00\E4\C2\00\00\E4\E4\E4\E4\E4\E4\E4\D8UUW\AA\AA\AA\86\86\86\8A\E4\E0\E4\E4\E4\E4\E0\1E\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\00\00\00\00\E4\E4\E4\E4\E4\E4\E4\E4\DB\E4\00\00\E4\E4\0D\0F\0E\A2\9B\AA\A3\A6|\86\86\84\80\92\92\92\81\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E0\1B\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\E4\E4\E4\E0\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E0\00\00\00\00\00\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\00\00\00\E4\D0\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E6\E4\E4\E4vpw_5UUUUUUUUUS\B7vUUUUUUUUUUh\E9\E8\E4\E4\E4\EA\E4\E4\E4\E4\C4\06\D0\1Eu\E2\E4\E0\00\00\E4\E4\C0\00\00\00\E4\E4\E4\C2\00\00\EC\EB\EC\EC\E7\E4\B2\B3\B1\AA\AA\B0\95\86\86\89\EC\EC\EC\EC\E4\CF\DB\CF\AA\AA\AB\A9\86\86\87\86\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\11\00\00\00`\00\00\00f\00\00\00\90\00\00\06\00\00\00\10\11\00\00\10\16\00\00\11\10\00\00\11\11\00\00`\06\00\00f\00\00\00fd\00\01\00\06\00\01\10\01\00\06\00`\00\06\10\11\00\10\01\00\00\10\11\11\00\11\01\00\00\11\10\11\00\11\11\11\00\16\10\11\00!\01\11\00`\00`\00`ff\00f\06\00\00f\10\11\00fff\01\00\00\00\01\00\00\11\01\01\00\11\01\01\10\00\01\10\11\11\01\11\00\11\01\11\10\01\01\11\10\11\01\11\11\00\01\11\11\11\01`\00\00\01f\00\00\04$$$\06\00\00\00\06`f\00\06ff\00\10\01\01\10\10\01\01\11\10\01ff\10\11\01\01\10\11\01\11\10\11\10\10\10\11\11\11\10fff\11\00\00\00\11\00\00\10\11\00\00\11\11\00\00f\11\00\06f\11\00\11\00\11\00\16f\11\01\00\00\11\01\00\10\11\01\00\11\11\01\00`\11\01\10\11\11\06\10\11\11\10\01\11\11\10\10\11\11\10\11\01\11\10\11\11\11\11\00\00\11\11\01\00\11\11\01\01\11\11\01\10\11\11\01\11\11\11\01`\11\11\06\00\11\11\10\00\11\11\10\10\11\11\10\11\11\11\11\00\11\11\11\01\11\11\11\10\11\11\11\11\11\11\11\16\11\11\11D\11\11\11a\11\11\11f\11\11\16f\11\114B\11\11a\06\11\11a\11\11\11a\16\11\11af\11\11ff\11\12\11\11\11\12!\11\11\16\11\11\11!\00\00\11!\12\22\11D\11\16\11a\06\00\11a\11\11\11af\11\11aff\11f\00\00\11f\00\11\11f\06\00\11ff\06\11ff\11\11fff\12!\11\11\12\22\11\11\12$$$\16\00\00\00\16\00ff\16\11\11\11\16\11\11f\19\11\11\11 \22\22\22!!\11\11!!!!!\22\22\22\22\11\00\11\22\11\11!\22\11!\11\22\11!\12\22\12$\06\22!\01\11\22\22\22\00\22\22\22\02\22\22\22\12\22\22\22\22\22\22\22b\22bff\22bf\E6\22fff#4BB$\00\00\00$\11$!$\11DB$$\00\00$$$\00$$$\11$$$$$$$D$ff\06&\22\22\22@@@@@DDDA#$DA$$DABBBADDDB\11$DBB\22$BBB\02BBBBBD\12DBDBBD\04\04DD@DDDB$DDBB\22DD\22\22DDD\00DDD\04DDD$DDDDDDDdDD`fDDd\06DDdbDDdfDdffFDDDUUUUUfff`\06\00\00`f\06f`f\10\11`f\16\11`ff\00`fffa\00\00\00a\11\11\11a\11ffa\16\11\11af\06\00affff\00\00\00f\00fff\06\00\00f\06\00\06f\06\00`f\06\00ff\06fff\11\01\00f\11\11\11f!\01\11f$$$f`\16\00f`f\00f`fffaf\16faffff\00\00ff\00`ff\00fff\01\00ff\06\00ff\06\06ff\06`ff\06fff\11\11ff\16\11ff\16aff&fff``ffadfff\00fff\01fff\06fff\11fff\16fff`ffffffv\07if\16\11ifff\99\99ff\99\99\99i\CCfff\DE\CC\CC\EE\EE\EE\EE\EE", [1680 x i8] c"\04\06\07\00\00\00\00\00\00\00\00\00\00\00\00\05\01\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\00\00\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\0D\00\00\00\00\00\00QQRR\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\1B\1B\19\0F\1F\1F\1D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\03SSSUUUT\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\1B\1B\19\0F\1F\1F\1D\00\00\00\00\00\00\04\00\1B\1B\1A\1A\1F\1F\1E ((((((1\10,*(((((2\11.3%)/0$\064,-((\12((((((((((((((((((('\08(((((((((((#GIFHGIGIFH\16\17GIMNGIGIGIEJ\09OCKDL\09P((((5(&\00\00\00\07\1367\0B\0089\0C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\01:\0E\1B\18\1C\0F\1F\22!;(((<\00>>\1B\1B\1B\1B\1F\1F\1F\1F==((((#\0A((((((\10+(((('#((\00\00\00\00\14@@@?\00\15BBBA\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00WWWWVYYYYX\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\001\00\00\00\00\00\00\00Y\00\00\00\00\00\00\00^^\00\00\00\00\00\03\00\00\00\00\00\00\000\00\00\00\00\00\00\1C\1D\1E\1C\00\00\00#$\00%%\00\00\00E\00\00\00\00\00\00\00N\00\00\00\00\00\00\05\06\05\06\05\06\00\00+\00\00,\00\00\00\00/\00\00\00\00\00\00\00Z[\00\00\00\00\00\01\01\01\01\01\01\01\00\02\02\02\02\02\02\02\00\05\06\05\06\05\06\05\00\0B\05\06\05\06\0C\05\00\1C\1D\1E\05\06 !\00&\00'\00\00\00\00\00CCCCCCC\00DDDDDDD\00F\00F\00F\00F\00G\00G\00G\00G\01\01\00\01\01\01\01\01\01\01\01\00\00\00\00\00\01\01\01\01\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\015666\02\02\02\00\00\00\00\00\02\02\02\02\02\02\02\00\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\04\02\02\02\02899\00\02\027\02\02\02\02\02\05\06\00\00\00\00\00\00\05\06\00\00\05\06\00\1B\05\06\00\00\13\15\16\17\05\06\05\06\00\00\00\00\05\06\05\06\05\06\00\00\05\06\05\06\05\06\05\06\05\06\05\06\05\06\18\05\06\00\05\06\05\06\05\06\06\05\06\05\06\05\06\00\06\05\06\05\06\05\06\05\06\05\06\05\06\1F\05\06\06\0D\0D\05\06\00\0E\0F\06\18\00\00\05\06\18\05\06\19\19\05\06\05\06\1A\07\08\05\06\05\06\05\06\09\05\06\05\06\05\06\0A\10\05\06\0D\11\12\13\14\1D\1E\1C\1D\1E\05\06\05\22\00\05\06\05\06\05\06%\00\00(\00\00\00\00)*\00\00\00\00\00*-\00\00-\00\00\00\00-\00..\00\00\00\00222\003\0044:;\00\00\00<=\00>?\1F\00@A\00\00????????BBBBBBBBCCCCCCC\00CCCCCCCCDDDDDDD\00DDDDDDDDFF\00\00\00\00\00\00FF\00\00\00T\00\00FF\00N\00\00\00\00FFFFFF\00\00FFFFFFFFGGGGGG\00\00GGGGGGGGGGOOP\00Q\00GGSS\00\00\00\00GGUUV\00\00\00HHIIIIJJKKLLMM\00\00RRRRP\00\00\00WWXXP\00\00\00\\\\\\\\\\\\\\\\]]]]]]]]^^^^^^^^__\00\00\00\00\00\00________``````\00\00````````aaaaaa\00\00aaaaaaaa", [196 x i16] [i16 0, i16 0, i16 0, i16 32, i16 -32, i16 0, i16 743, i16 0, i16 121, i16 0, i16 0, i16 1, i16 -1, i16 0, i16 0, i16 -199, i16 -232, i16 0, i16 0, i16 -121, i16 -300, i16 0, i16 0, i16 210, i16 0, i16 206, i16 0, i16 205, i16 0, i16 79, i16 0, i16 202, i16 0, i16 203, i16 0, i16 207, i16 97, i16 0, i16 0, i16 211, i16 0, i16 209, i16 0, i16 213, i16 130, i16 0, i16 0, i16 214, i16 0, i16 218, i16 0, i16 217, i16 0, i16 219, i16 56, i16 0, i16 0, i16 2, i16 -1, i16 1, i16 -2, i16 0, i16 -79, i16 0, i16 0, i16 -97, i16 0, i16 -56, i16 0, i16 -130, i16 -210, i16 0, i16 -206, i16 0, i16 -205, i16 0, i16 -202, i16 0, i16 -203, i16 0, i16 -207, i16 0, i16 -209, i16 0, i16 -211, i16 0, i16 -213, i16 0, i16 -214, i16 0, i16 -218, i16 0, i16 -217, i16 0, i16 -219, i16 0, i16 84, i16 0, i16 0, i16 38, i16 0, i16 37, i16 0, i16 64, i16 0, i16 63, i16 -38, i16 0, i16 -37, i16 0, i16 -31, i16 0, i16 -64, i16 0, i16 -63, i16 0, i16 -62, i16 0, i16 -57, i16 0, i16 -47, i16 0, i16 -54, i16 0, i16 -86, i16 0, i16 -80, i16 0, i16 0, i16 -60, i16 -96, i16 0, i16 0, i16 80, i16 0, i16 48, i16 -48, i16 0, i16 -59, i16 0, i16 8, i16 0, i16 0, i16 -8, i16 74, i16 0, i16 86, i16 0, i16 100, i16 0, i16 128, i16 0, i16 112, i16 0, i16 126, i16 0, i16 9, i16 0, i16 0, i16 -74, i16 0, i16 -9, i16 -7205, i16 0, i16 0, i16 -86, i16 0, i16 -100, i16 7, i16 0, i16 0, i16 -112, i16 0, i16 -7, i16 0, i16 -128, i16 0, i16 -126, i16 0, i16 -7517, i16 0, i16 -8383, i16 0, i16 -8262, i16 0, i16 16, i16 -16, i16 0, i16 0, i16 26, i16 -26, i16 0, i16 0, i16 40, i16 -40, i16 0], [51 x i8] c"\000\001\002\003\004\005\006\007\008\009\00\DB\B0\00\DB\B1\00\DB\B2\00\DB\B3\00\DB\B4\00\DB\B5\00\DB\B6\00\DB\B7\00\DB\B8\00\DB\B9\00", [28 x i8] c"\00.\00,\00\03\00\03\02\00\A0\00\C2\A0\00 \00\D9\AB\00\D9\AC\00'\00\02\03\00", [1646 x i8] c"\00\7F\00-\00ZAR \00R\00,\00.\00\03\00\02\00\01\00-R\00ETB \00$\00-$\00AED \00\CF.\C5.\00-\CF.\C5.\00\D8\AF.\D8\A5.\00-\D8\AF.\D8\A5.\00BHD \00\CF.\C8.\00-\CF.\C8.\00\D8\AF.\D8\A8.\00-\D8\AF.\D8\A8.\00DZD \00\CF.\CC.\00-\CF.\CC.\00\D8\AF.\D8\AC.\00-\D8\AF.\D8\AC.\00EGP \00\CC.\E5.\00-\CC.\E5.\00\D8\AC.\D9\85.\00-\D8\AC.\D9\85.\00INR \00\E2\82\A8\00\03\02\00-\E2\82\A8\00IQD \00\CF.\D9.\00-\CF.\D9.\00\D8\AF.\D8\B9.\00-\D8\AF.\D8\B9.\00JOD \00\CF.\C3.\00-\CF.\C3.\00\D8\AF.\D8\A3.\00-\D8\AF.\D8\A3.\00KWD \00\CF.\E3.\00-\CF.\E3.\00\D8\AF.\D9\83.\00-\D8\AF.\D9\83.\00LBP \00\E4.\E4.\00-\E4.\E4.\00\D9\84.\D9\84.\00-\D9\84.\D9\84.\00LYD \00\CF.\E4.\00-\CF.\E4.\00\D8\AF.\D9\84.\00-\D8\AF.\D9\84.\00MAD \00\CF.\E5.\00-\CF.\E5.\00\D8\AF.\D9\85.\00-\D8\AF.\D9\85.\00OMR \00\D1.\D9.\00-\D1.\D9.\00\D8\B1.\D8\B9.\00-\D8\B1.\D8\B9.\00QAR \00\D1.\E2.\00-\D1.\E2.\00\D8\B1.\D9\82.\00-\D8\B1.\D9\82.\00SAR \00\D1\EA\C7\E4\00+\D1\EA\C7\E4\00\D8\B1\D9\8A\D8\A7\D9\84\00+\D8\B1\D9\8A\D8\A7\D9\84\00SDP \00\CC.\D3.\00-\CC.\D3.\00\D8\AC.\D8\B3.\00-\D8\AC.\D8\B3.\00SYP \00\E4.\D3.\00-\E4.\D3.\00\D9\84.\D8\B3.\00-\D9\84.\D8\B3.\00TND \00\CF.\CA.\00-\CF.\CA.\00\D8\AF.\D8\AA.\00-\D8\AF.\D8\AA.\00YER \00\D1.\EA.\00-\D1.\EA.\00\D8\B1.\D9\8A.\00-\D8\B1.\D9\8A.\00AZM \00man.\00 \00+man.\00BYR \00\F0\F3\E1\00+\F0\F3\E1\00\D1\80\D1\83\D0\B1\00+\D1\80\D1\83\D0\B1\00BGL \00\EB\E2\00\A0\00+\EB\E2\00\D0\BB\D0\B2\00\C2\A0\00+\D0\BB\D0\B2\00\E0\A7\B3\00-\E0\A7\B3\00\E0\A6\9F\E0\A6\BE\E0\A6\95\E0\A6\BE\00\02\03\00-\E0\A6\9F\E0\A6\BE\E0\A6\95\E0\A6\BE\00EUR \00EUR\00+EUR\00\E2\82\AC\00+\E2\82\AC\00BAK \00KM\00-KM\00-EUR\00-\E2\82\AC\00\A4\00-\A4\00CZK \00K\E8\00+K\E8\00K\C4\8D\00+K\C4\8D\00GBP \00\A3\00-\A3\00\C2\A3\00-\C2\A3\00DKK \00kr\00\04\00-kr\00CHF \00Fr.\00-Fr.\00+\A4\00AUD \00BWP \00Pu\00-Pu\00CAD \00\C2\A4\00-\C2\A4\00HKD \00HK$\00-HK$\00NZD \00PHP \00Php\00-Php\00SGD \00USD \00ZWD \00Z$\00-Z$\00-EUR \00ARS \00BOB \00$b\00-$b\00CLP \00COP \00CRC \00C\00-C\00DOP \00ECS \00GTQ \00Q\00-Q\00HNL \00L.\00-L.\00MXP \00NIO \00$C\00-$C\00PAB \00B/\00-B/\00PEN \00S/\00-S/\00PYG \00Gs.\00-Gs.\00SVC \00\A2\00-\A2\00\C2\A2\00-\C2\A2\00UYU \00N$\00-N$\00VEB \00Bs.\00-Bs.\00EEK \00IRR \00\D8\B1\DB\8C\D8\A7\D9\84\00\D9\AB\00\D9\AC\00+\D8\B1\DB\8C\D8\A7\D9\84\00+$\00ILS \00\F9\E7\00-\F9\E7\00\D7\A9\D7\97\00-\D7\A9\D7\97\00\E0\A4\B0\E0\A5\82\00-\E0\A4\B0\E0\A5\82\00HRK \00Kn\00-Kn\00HUF \00Ft\00+Ft\00AMD \00\B8\00-\B8\00\D4\B4\00-\D4\B4\00IDR \00Rp\00-Rp\00ISK \00+kr\00JPY \00\EF\BF\A5\00-\EF\BF\A5\00GEL \00\CB\00-\CB\00\E1\83\9A\00-\E1\83\9A\00KRW \00\EF\BF\A6\00-\EF\BF\A6\00LTL \00Lt\00+Lt\00LVL \00Ls\00-Ls\00MKD \00\D4\D5\DD\00+\D4\D5\DD\00\D0\B4\D0\B5\D0\BD\00+\D0\B4\D0\B5\D0\BD\00\E0\A4\B0\E0\A5\81\00-\E0\A4\B0\E0\A5\81\00MYR \00RM\00-RM\00MTL \00Lm\00-Lm\00NOK \00PLN \00Z\B3\00-Z\B3\00Z\C5\82\00-Z\C5\82\00BRL \00R$\00+R$\00ROL \00Lei\00-Lei\00RUR \00\D2\D5\C2\00+\D2\D5\C2\00\E0\E3\D1\00+\E0\E3\D1\00UAH \00\C7\D2\00+\C7\D2\00\D0\B3\D1\80\00+\D0\B3\D1\80\00 ru\00- ru\00SKK \00Sk\00+Sk\00SIT \00SIT\00+SIT\00ALL \00Lek\00-Lek\00YUN \00din\00-din\00\D4\D8\DD\00-\D4\D8\DD\00\D0\B4\D0\B8\D0\BD\00-\D0\B4\D0\B8\D0\BD\00SEK \00THB \00\DF\00-\DF\00\E0\B8\BF\00-\E0\B8\BF\00ERB \00PhP\00-PhP\00TRL \00TL\00+TL\00PKR \00Rs\00-Rs\00UZS \00so'm\00-so'm\00VND \00\E2\82\AB\00+\E2\82\AB\00CNY \00TWD \00NT$\00-NT$\00", [28353 x i8] c"\00Sun\00Mon\00Tue\00Wed\00Thu\00Fri\00Sat\00Sunday\00Monday\00Tuesday\00Wednesday\00Thursday\00Friday\00Saturday\00Jan\00Feb\00Mar\00Apr\00May\00Jun\00Jul\00Aug\00Sep\00Oct\00Nov\00Dec\00January\00February\00March\00April\00June\00July\00August\00September\00October\00November\00December\00AM\00PM\00%a %b %e %H:%M:%S %Y\00%m/%d/%y\00%H:%M:%S\00%I:%M:%S %p\00So\00Ma\00Di\00Wo\00Do\00Vr\00Sa\00Sondag\00Maandag\00Dinsdag\00Woensdag\00Donderdag\00Vrydag\00Saterdag\00Mei\00Okt\00Des\00Januarie\00Februarie\00Maart\00Junie\00Julie\00Augustus\00Oktober\00Desember\00VM\00NM\00%a %d %b %Y %T %Z\00%d/%m/%y\00%T\00\E1\8A\A5\E1\88\91\E1\8B\B5\00\E1\88\B0\E1\8A\9E\00\E1\88\9B\E1\8A\AD\E1\88\B0\E1\8A\9E\00\E1\88\A8\E1\89\A1\E1\8B\95\00\E1\88\90\E1\88\99\E1\88\B5\00\E1\8B\93\E1\88\AD\E1\89\A5\00\E1\89\85\E1\8B\B3\E1\88\9C\00\E1\8C\83\E1\8A\95\E1\8B\A9\00\E1\8D\8C\E1\89\A5\E1\88\A9\00\E1\88\9B\E1\88\AD\E1\89\BD\00\E1\8A\A4\E1\8D\95\E1\88\A8\00\E1\88\9C\E1\8B\AD\00\E1\8C\81\E1\8A\95\00\E1\8C\81\E1\88\8B\E1\8B\AD\00\E1\8A\A6\E1\8C\88\E1\88\B5\00\E1\88\B4\E1\8D\95\E1\89\B4\00\E1\8A\A6\E1\8A\AD\E1\89\B0\00\E1\8A\96\E1\89\AC\E1\88\9D\00\E1\8B\B2\E1\88\B4\E1\88\9D\00\E1\8C\83\E1\8A\95\E1\8B\A9\E1\8B\88\E1\88\AA\00\E1\8D\8C\E1\89\A5\E1\88\A9\E1\8B\88\E1\88\AA\00\E1\8A\A4\E1\8D\95\E1\88\A8\E1\88\8D\00\E1\8A\A6\E1\8C\88\E1\88\B5\E1\89\B5\00\E1\88\B4\E1\8D\95\E1\89\B4\E1\88\9D\E1\89\A0\E1\88\AD\00\E1\8A\A6\E1\8A\AD\E1\89\B0\E1\8B\8D\E1\89\A0\E1\88\AD\00\E1\8A\96\E1\89\AC\E1\88\9D\E1\89\A0\E1\88\AD\00\E1\8B\B2\E1\88\B4\E1\88\9D\E1\89\A0\E1\88\AD\00\E1\8C\A0\E1\8B\8B\E1\89\B5\00\E1\8A\A8\E1\88\B3\E1\8B\93\E1\89\B5\00%A\E1\8D\A3 %b %e \E1\89\80\E1\8A\95 %l:%M:%S %Z %Y\00%d/%m/%Y\00%r\00\CD\00\E6\00\CB\00\D1\00\CE\00\CC\00\D3\00\C7\E4\C3\CD\CF\00\C7\E4\C7\CB\E6\EA\E6\00\C7\E4\CB\E4\C7\CB\C7\C1\00\C7\E4\C3\D1\C8\D9\C7\C1\00\C7\E4\CE\E5\EA\D3\00\C7\E4\CC\E5\D9\C9\00\C7\E4\D3\C8\CA \00\EA\E6\C7\00\E1\C8\D1\00\E5\C7\D1\00\C3\C8\D1\00\E5\C7\EA\00\EA\E8\E6\00\EA\E8\E4\00\C3\DA\D3\00\D3\C8\CA\00\C3\E3\CA\00\E6\E8\E1\00\CF\EA\D3\00\EA\E6\C7\EA\D1\00\E1\C8\D1\C7\EA\D1\00\E5\C7\D1\D3\00\C3\C8\D1\EA\E4\00\E5\C7\EA\E8\00\EA\E8\E6\EA\E8\00\EA\E8\E4\EA\E8\00\C3\DA\D3\D7\D3\00\D3\C8\CA\E5\C8\D1\00\C3\E3\CA\E8\C8\D1\00\E6\E8\E1\E5\C8\D1\00\CF\EA\D3\E5\C8\D1\00\D5\00\E5\00%d %b, %Y %Z %I:%M:%S %p\00%d %b, %Y\00%Z %I:%M:%S \00%Z %I:%M:%S %p\00\D8\AD\00\D9\86\00\D8\AB\00\D8\B1\00\D8\AE\00\D8\AC\00\D8\B3\00\D8\A7\D9\84\D8\A3\D8\AD\D8\AF\00\D8\A7\D9\84\D8\A7\D8\AB\D9\86\D9\8A\D9\86\00\D8\A7\D9\84\D8\AB\D9\84\D8\A7\D8\AB\D8\A7\D8\A1\00\D8\A7\D9\84\D8\A3\D8\B1\D8\A8\D8\B9\D8\A7\D8\A1\00\D8\A7\D9\84\D8\AE\D9\85\D9\8A\D8\B3\00\D8\A7\D9\84\D8\AC\D9\85\D8\B9\D8\A9\00\D8\A7\D9\84\D8\B3\D8\A8\D8\AA \00\D9\8A\D9\86\D8\A7\00\D9\81\D8\A8\D8\B1\00\D9\85\D8\A7\D8\B1\00\D8\A3\D8\A8\D8\B1\00\D9\85\D8\A7\D9\8A\00\D9\8A\D9\88\D9\86\00\D9\8A\D9\88\D9\84\00\D8\A3\D8\BA\D8\B3\00\D8\B3\D8\A8\D8\AA\00\D8\A3\D9\83\D8\AA\00\D9\86\D9\88\D9\81\00\D8\AF\D9\8A\D8\B3\00\D9\8A\D9\86\D8\A7\D9\8A\D8\B1\00\D9\81\D8\A8\D8\B1\D8\A7\D9\8A\D8\B1\00\D9\85\D8\A7\D8\B1\D8\B3\00\D8\A3\D8\A8\D8\B1\D9\8A\D9\84\00\D9\85\D8\A7\D9\8A\D9\88\00\D9\8A\D9\88\D9\86\D9\8A\D9\88\00\D9\8A\D9\88\D9\84\D9\8A\D9\88\00\D8\A3\D8\BA\D8\B3\D8\B7\D8\B3\00\D8\B3\D8\A8\D8\AA\D9\85\D8\A8\D8\B1\00\D8\A3\D9\83\D8\AA\D9\88\D8\A8\D8\B1\00\D9\86\D9\88\D9\81\D9\85\D8\A8\D8\B1\00\D8\AF\D9\8A\D8\B3\D9\85\D8\A8\D8\B1\00\D8\B5\00\D9\85\00\C7\E4\D3\C8\CA\00\D8\A7\D9\84\D8\B3\D8\A8\D8\AA\00%A %d %B %Y %I:%M:%S %p %Z\00%A %d %B %Y\00%I:%M:%S %Z\00%I:%M:%S %p %Z\00\E3\C7\E6\E8\E6 \C7\E4\CB\C7\E6\EA\00\D4\C8\C7\D7\00\C2\D0\C7\D1\00\E6\EA\D3\C7\E6\00\E6\E8\C7\D1\00\CD\D2\EA\D1\C7\E6\00\CA\E5\E8\D2\00\C2\C8\00\C3\EA\E4\E8\E4\00\CA\D4\D1\EA\E6 \C7\E4\C3\E8\E4\00\CA\D4\D1\EA\E6 \C7\E4\CB\C7\E6\EA\00\E3\C7\E6\E8\E6 \C7\E4\C3\E8\E4\00\D9\83\D8\A7\D9\86\D9\88\D9\86 \D8\A7\D9\84\D8\AB\D8\A7\D9\86\D9\8A\00\D8\B4\D8\A8\D8\A7\D8\B7\00\D8\A2\D8\B0\D8\A7\D8\B1\00\D9\86\D9\8A\D8\B3\D8\A7\D9\86\00\D9\86\D9\88\D8\A7\D8\B1\00\D8\AD\D8\B2\D9\8A\D8\B1\D8\A7\D9\86\00\D8\AA\D9\85\D9\88\D8\B2\00\D8\A2\D8\A8\00\D8\A3\D9\8A\D9\84\D9\88\D9\84\00\D8\AA\D8\B4\D8\B1\D9\8A\D9\86 \D8\A7\D9\84\D8\A3\D9\88\D9\84\00\D8\AA\D8\B4\D8\B1\D9\8A\D9\86 \D8\A7\D9\84\D8\AB\D8\A7\D9\86\D9\8A\00\D9\83\D8\A7\D9\86\D9\88\D9\86 \D8\A7\D9\84\D8\A3\D9\88\D9\84\00\C7\E4\C5\CB\E6\EA\E6\00\C7\E4\CC\E5\D9\E0\C9\00\E6\EA\D3\E0\C7\E6\00\C3\EA\C7\D1\00\CA\E0\E5\E0\E8\D2\00%A %.1d %B %Y %.1H:%M:%S\00%A %.1d %B %Y\00%.1H:%M:%S\00\D8\A7\D9\84\D8\A5\D8\AB\D9\86\D9\8A\D9\86\00\D8\A7\D9\84\D8\AC\D9\85\D8\B9\D9\80\D8\A9\00\D9\86\D9\8A\D8\B3\D9\80\D8\A7\D9\86\00\D8\A3\D9\8A\D8\A7\D8\B1\00\D8\AA\D9\80\D9\85\D9\80\D9\88\D8\B2\00\E6\E8\C7\D1\C7\E6\00\CD\D2\EA\D1\00\D9\86\D9\88\D8\A7\D8\B1\D8\A7\D9\86\00\D8\AD\D8\B2\D9\8A\D8\B1\00baz\00bir\00iki\00\FC\E7\FC\00d\F6r\00be\FE\00alt\00bazar g\FCn\FC\00birinci g\FCn\00ikinci g\FCn\00\FC\E7\FCnc\FC g\FCn\00d\F6rd\FCnc\FC g\FCn\00be\FEinci g\FCn\00alt\FDnc\FD g\FCn\00Yan\00Fev\00\DDyn\00\DDyl\00Avq\00Sen\00Noy\00Dek\00yanvar\00fevral\00mart\00aprel\00may\00iyun\00iyul\00avqust\00sentyabr\00oktyabr\00noyabr\00dekabr\00%A, %d %B %Y %T\00%d.%m.%Y\00\C3\BC\C3\A7\C3\BC\00d\C3\B6r\00be\C5\9F\00bazar g\C3\BCn\C3\BC\00birinci g\C3\BCn\00ikinci g\C3\BCn\00\C3\BC\C3\A7\C3\BCnc\C3\BC g\C3\BCn\00d\C3\B6rd\C3\BCnc\C3\BC g\C3\BCn\00be\C5\9Finci g\C3\BCn\00alt\C4\B1nc\C4\B1 g\C3\BCn\00\C4\B0yn\00\C4\B0yl\00\CD\FF\E4\00\CF\E0\ED\00\C0\A2\F2\00\D1\F0\E4\00\D7\F6\E2\00\CF\FF\F2\00\D1\F3\E1\00\CD\FF\E4\E7\E5\EB\FF\00\CF\E0\ED\FF\E4\E7\E5\EB\E0\EA\00\C0\A2\F2\EE\F0\E0\EA\00\D1\E5\F0\E0\E4\E0\00\D7\E0\F6\E2\E5\F0\00\CF\FF\F2\ED\B3\F6\E0\00\D1\F3\E1\EE\F2\E0\00\D1\F2\E4\00\CB\FE\F2\00\D1\E0\EA\00\CA\F0\F1\00\D2\F0\E0\00\D7\FD\F0\00\CB\B3\EF\00\C6\ED\E2\00\C2\F0\F1\00\CA\F1\F2\00\CB\B3\F1\00\D1\ED\E6\00\D1\F2\F3\E4\E7\E5\ED\FC\00\CB\FE\F2\FB\00\D1\E0\EA\E0\E2\B3\EA\00\CA\F0\E0\F1\E0\E2\B3\EA\00\D2\F0\E0\E2\E5\ED\FC\00\D7\FD\F0\E2\E5\ED\FC\00\CB\B3\EF\E5\ED\FC\00\C6\ED\B3\E2\E5\ED\FC\00\C2\E5\F0\E0\F1\E5\ED\FC\00\CA\E0\F1\F2\F0\FB\F7\ED\B3\EA\00\CB\B3\F1\F2\E0\EF\E0\E4\00\D1\ED\E5\E6\E0\ED\FC\00%a %d %b %Y %T\00\D0\9D\D1\8F\D0\B4\00\D0\9F\D0\B0\D0\BD\00\D0\90\D1\9E\D1\82\00\D0\A1\D1\80\D0\B4\00\D0\A7\D1\86\D0\B2\00\D0\9F\D1\8F\D1\82\00\D0\A1\D1\83\D0\B1\00\D0\9D\D1\8F\D0\B4\D0\B7\D0\B5\D0\BB\D1\8F\00\D0\9F\D0\B0\D0\BD\D1\8F\D0\B4\D0\B7\D0\B5\D0\BB\D0\B0\D0\BA\00\D0\90\D1\9E\D1\82\D0\BE\D1\80\D0\B0\D0\BA\00\D0\A1\D0\B5\D1\80\D0\B0\D0\B4\D0\B0\00\D0\A7\D0\B0\D1\86\D0\B2\D0\B5\D1\80\00\D0\9F\D1\8F\D1\82\D0\BD\D1\96\D1\86\D0\B0\00\D0\A1\D1\83\D0\B1\D0\BE\D1\82\D0\B0\00\D0\A1\D1\82\D0\B4\00\D0\9B\D1\8E\D1\82\00\D0\A1\D0\B0\D0\BA\00\D0\9A\D1\80\D1\81\00\D0\A2\D1\80\D0\B0\00\D0\A7\D1\8D\D1\80\00\D0\9B\D1\96\D0\BF\00\D0\96\D0\BD\D0\B2\00\D0\92\D1\80\D1\81\00\D0\9A\D1\81\D1\82\00\D0\9B\D1\96\D1\81\00\D0\A1\D0\BD\D0\B6\00\D0\A1\D1\82\D1\83\D0\B4\D0\B7\D0\B5\D0\BD\D1\8C\00\D0\9B\D1\8E\D1\82\D1\8B\00\D0\A1\D0\B0\D0\BA\D0\B0\D0\B2\D1\96\D0\BA\00\D0\9A\D1\80\D0\B0\D1\81\D0\B0\D0\B2\D1\96\D0\BA\00\D0\A2\D1\80\D0\B0\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\A7\D1\8D\D1\80\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\9B\D1\96\D0\BF\D0\B5\D0\BD\D1\8C\00\D0\96\D0\BD\D1\96\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\92\D0\B5\D1\80\D0\B0\D1\81\D0\B5\D0\BD\D1\8C\00\D0\9A\D0\B0\D1\81\D1\82\D1\80\D1\8B\D1\87\D0\BD\D1\96\D0\BA\00\D0\9B\D1\96\D1\81\D1\82\D0\B0\D0\BF\D0\B0\D0\B4\00\D0\A1\D0\BD\D0\B5\D0\B6\D0\B0\D0\BD\D1\8C\00\ED\E4\00\EF\ED\00\E2\F2\00\F1\F0\00\F7\F2\00\EF\F2\00\F1\E1\00\ED\E5\E4\E5\EB\FF\00\EF\EE\ED\E5\E4\E5\EB\ED\E8\EA\00\E2\F2\EE\F0\ED\E8\EA\00\F1\F0\FF\E4\E0\00\F7\E5\F2\E2\FA\F0\F2\FA\EA\00\EF\E5\F2\FA\EA\00\F1\FA\E1\EE\F2\E0\00\FF\ED\F3\00\F4\E5\E2\00\EC\E0\F0\00\E0\EF\F0\00\EC\E0\E9\00\FE\ED\E8\00\FE\EB\E8\00\E0\E2\E3\00\F1\E5\EF\00\EE\EA\F2\00\ED\EE\E5\00\E4\E5\EA\00\FF\ED\F3\E0\F0\E8\00\F4\E5\E2\F0\F3\E0\F0\E8\00\EC\E0\F0\F2\00\E0\EF\F0\E8\EB\00\E0\E2\E3\F3\F1\F2\00\F1\E5\EF\F2\E5\EC\E2\F0\E8\00\EE\EA\F2\EE\EC\E2\F0\E8\00\ED\EE\E5\EC\E2\F0\E8\00\E4\E5\EA\E5\EC\E2\F0\E8\00%x (%a) %X %Z\00%e.%m.%Y\00%k,%M,%S\00%l,%M,%S\00\D0\BD\D0\B4\00\D0\BF\D0\BD\00\D0\B2\D1\82\00\D1\81\D1\80\00\D1\87\D1\82\00\D0\BF\D1\82\00\D1\81\D0\B1\00\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D1\8F\00\D0\BF\D0\BE\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D0\BD\D0\B8\D0\BA\00\D0\B2\D1\82\D0\BE\D1\80\D0\BD\D0\B8\D0\BA\00\D1\81\D1\80\D1\8F\D0\B4\D0\B0\00\D1\87\D0\B5\D1\82\D0\B2\D1\8A\D1\80\D1\82\D1\8A\D0\BA\00\D0\BF\D0\B5\D1\82\D1\8A\D0\BA\00\D1\81\D1\8A\D0\B1\D0\BE\D1\82\D0\B0\00\D1\8F\D0\BD\D1\83\00\D1\84\D0\B5\D0\B2\00\D0\BC\D0\B0\D1\80\00\D0\B0\D0\BF\D1\80\00\D0\BC\D0\B0\D0\B9\00\D1\8E\D0\BD\D0\B8\00\D1\8E\D0\BB\D0\B8\00\D0\B0\D0\B2\D0\B3\00\D1\81\D0\B5\D0\BF\00\D0\BE\D0\BA\D1\82\00\D0\BD\D0\BE\D0\B5\00\D0\B4\D0\B5\D0\BA\00\D1\8F\D0\BD\D1\83\D0\B0\D1\80\D0\B8\00\D1\84\D0\B5\D0\B2\D1\80\D1\83\D0\B0\D1\80\D0\B8\00\D0\BC\D0\B0\D1\80\D1\82\00\D0\B0\D0\BF\D1\80\D0\B8\D0\BB\00\D0\B0\D0\B2\D0\B3\D1\83\D1\81\D1\82\00\D1\81\D0\B5\D0\BF\D1\82\D0\B5\D0\BC\D0\B2\D1\80\D0\B8\00\D0\BE\D0\BA\D1\82\D0\BE\D0\BC\D0\B2\D1\80\D0\B8\00\D0\BD\D0\BE\D0\B5\D0\BC\D0\B2\D1\80\D0\B8\00\D0\B4\D0\B5\D0\BA\D0\B5\D0\BC\D0\B2\D1\80\D0\B8\00\E0\A6\B0\E0\A6\AC\E0\A6\BF\00\E0\A6\B8\E0\A7\8B\E0\A6\AE\00\E0\A6\AE\E0\A6\99\E0\A6\97\E0\A6\B2\00\E0\A6\AC\E0\A7\81\E0\A6\A7\00\E0\A6\AC\E0\A7\83\E0\A6\B9\E0\A6\B8\E0\A7\8D\E0\A6\AA\E0\A6\A4\E0\A6\BF\00\E0\A6\B6\E0\A7\81\E0\A6\95\E0\A7\8D\E0\A6\B0\00\E0\A6\B6\E0\A6\A8\E0\A6\BF\00\E0\A6\B0\E0\A6\AC\E0\A6\BF\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B8\E0\A7\8B\E0\A6\AE\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\AE\E0\A6\99\E0\A6\97\E0\A6\B2\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\AC\E0\A7\81\E0\A6\A7\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\AC\E0\A7\83\E0\A6\B9\E0\A6\B8\E0\A7\8D\E0\A6\AA\E0\A6\A4\E0\A6\BF\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B6\E0\A7\81\E0\A6\95\E0\A7\8D\E0\A6\B0\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B6\E0\A6\A8\E0\A6\BF\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\9C\E0\A6\BE\E0\A6\A8\00\E0\A6\AB\E0\A7\87\E0\A6\AC\00\E0\A6\AE\E0\A6\BE\E0\A6\B0\00\E0\A6\8F\E0\A6\AA\E0\A7\8D\E0\A6\B0\00\E0\A6\AE\E0\A7\87\00\E0\A6\9C\E0\A7\81\E0\A6\A8\00\E0\A6\9C\E0\A7\81\E0\A6\B2\00\E0\A6\86\E0\A6\97\00\E0\A6\B8\E0\A7\87\E0\A6\AA\00\E0\A6\85\E0\A6\95\E0\A7\8D\E0\A6\9F\E0\A7\8B\E0\A6\AC\E0\A6\B0\00\E0\A6\A8\E0\A6\AD\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\B0\00\E0\A6\A1\E0\A6\BF\E0\A6\B8\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\B0\00\E0\A6\9C\E0\A6\BE\E0\A6\A8\E0\A7\81\E0\A7\9F\E0\A6\BE\E0\A6\B0\E0\A7\80\00\E0\A6\AB\E0\A7\87\E0\A6\AC\E0\A7\8D\E0\A6\B0\E0\A7\81\E0\A7\9F\E0\A6\BE\E0\A6\B0\E0\A7\80\00\E0\A6\AE\E0\A6\BE\E0\A6\B0\E0\A7\8D\E0\A6\9A\00\E0\A6\8F\E0\A6\AA\E0\A7\8D\E0\A6\B0\E0\A6\BF\E0\A6\B2\00\E0\A6\9C\E0\A7\81\E0\A6\B2\E0\A6\BE\E0\A6\87\00\E0\A6\86\E0\A6\97\E0\A6\B8\E0\A7\8D\E0\A6\9F\00\E0\A6\B8\E0\A7\87\E0\A6\AA\E0\A7\8D\E0\A6\9F\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\85\E0\A6\95\E0\A7\8D\E0\A6\9F\E0\A7\8B\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\A8\E0\A6\AD\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\A1\E0\A6\BF\E0\A6\B8\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B8\E0\A6\95\E0\A6\BE\E0\A6\B2\00\E0\A6\AC\E0\A6\BF\E0\A6\95\E0\A6\BE\E0\A6\B2\00%A %d %b %Y %I:%M:%S %p %Z\00%A %d %b %Y\00\E0\A6\B8\E0\A7\87\E0\A6\AA\E0\A7\8D\E0\A6\9F\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\B0\00\E0\A6\AA\E0\A7\82\E0\A6\B0\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B9\E0\A7\8D\E0\A6\A3\00\E0\A6\85\E0\A6\AA\E0\A6\B0\E0\A6\BE\E0\A6\B9\E0\A7\8D\E0\A6\A3\00sul\00lun\00meu\00mer\00yao\00gwe\00sad\00meurzh\00merc'her\00yaou\00gwener\00sadorn\00Gen \00C'hw\00Meu \00Ebr \00Mae \00Eve \00Gou \00Eos \00Gwe \00Her \00Du \00Ker \00Genver\00C'hwevrer\00Meurzh\00Ebrel\00Mae\00Mezheven\00Gouere\00Eost\00Gwengolo\00Here\00Du\00Kerzu\00 \00D'ar %A %d a viz %B %Y\00%Ie%M:%S %p\00Ned\00Pon\00Uto\00Sri\00\C8et\00Pet\00Sub\00Nedjelja\00Ponedjeljak\00Utorak\00Srijeda\00\C8etvrtak\00Petak\00Subota\00Maj\00Januar\00Februar\00Mart\00Juni\00Juli\00Septembar\00Oktobar\00Novembar\00Decembar\00\C4\8Cet\00\C4\8Cetvrtak\00dg\00dl\00dt\00dc\00dj\00dv\00ds\00diumenge\00dilluns\00dimarts\00dimecres\00dijous\00divendres\00dissabte\00gen\00feb\00mar\00abr\00mai\00jun\00jul\00ago\00set\00oct\00nov\00des\00gener\00febrer\00mar\E7\00abril\00maig\00juny\00juliol\00agost\00setembre\00octubre\00novembre\00desembre\00mar\C3\A7\00Ne\00Po\00\DAt\00St\00\C8t\00P\E1\00Ned\ECle\00Pond\ECl\ED\00\DAter\FD\00St\F8eda\00\C8tvrtek\00P\E1tek\00Sobota\00led\00\FAno\00b\F8e\00dub\00kv\EC\00\E8en\00\E8ec\00srp\00z\E1\F8\00\F8\EDj\00lis\00pro\00leden\00\FAnor\00b\F8ezen\00duben\00kv\ECten\00\E8erven\00\E8ervenec\00srpen\00z\E1\F8\ED\00\F8\EDjen\00listopad\00prosinec\00%a\A0%e.\A0%B\A0%Y,\A0%H:%M:%S\A0%Z\00%I:%M:%S\00\C3\9At\00\C4\8Ct\00P\C3\A1\00Ned\C4\9Ble\00Pond\C4\9Bl\C3\AD\00\C3\9Ater\C3\BD\00St\C5\99eda\00\C4\8Ctvrtek\00P\C3\A1tek\00\C3\BAno\00b\C5\99e\00kv\C4\9B\00\C4\8Den\00\C4\8Dec\00z\C3\A1\C5\99\00\C5\99\C3\ADj\00\C3\BAnor\00b\C5\99ezen\00kv\C4\9Bten\00\C4\8Derven\00\C4\8Dervenec\00z\C3\A1\C5\99\C3\AD\00\C5\99\C3\ADjen\00%a\C2\A0%e.\C2\A0%B\C2\A0%Y,\C2\A0%H:%M:%S\C2\A0%Z\00Sul\00Llu\00Maw\00Mer\00Iau\00Gwe\00Sad\00Llun\00Mawrth\00Mercher\00Gwener\00Sadwrn\00Ion\00Chw\00Ebr\00Mai\00Meh\00Gor\00Aws\00Med\00Hyd\00Tach\00Rha\00Ionawr\00Chwefror\00Ebrill\00Mehefin\00Gorffennaf\00Awst\00Medi\00Hydref\00Tachwedd\00Rhagfyr\00Dydd %A %d a viz %B %Y %T %Z\00%d.%m.%y\00s\F8n\00man\00tir\00ons\00tor\00fre\00l\F8r\00s\F8ndag\00mandag\00tirsdag\00onsdag\00torsdag\00fredag\00l\F8rdag\00jan\00apr\00maj\00aug\00sep\00okt\00dec\00januar\00februar\00marts\00april\00juni\00juli\00august\00september\00oktober\00november\00december\00%d-%m-%Y\00s\C3\B8n\00l\C3\B8r\00s\C3\B8ndag\00l\C3\B8rdag\00Son\00Die\00Mit\00Don\00Fre\00Sam\00Sonntag\00Montag\00Dienstag\00Mittwoch\00Donnerstag\00Freitag\00Samstag\00J\E4n\00M\E4r\00Dez\00J\E4nner\00Feber\00M\E4rz\00Dezember\00%Y-%m-%d\00J\C3\A4n\00M\C3\A4r\00J\C3\A4nner\00M\C3\A4rz\00\CA\F5\F1\00\C4\E5\F5\00\D4\F1\E9\00\D4\E5\F4\00\D0\E5\EC\00\D0\E1\F1\00\D3\E1\E2\00\CA\F5\F1\E9\E1\EA\DE\00\C4\E5\F5\F4\DD\F1\E1\00\D4\F1\DF\F4\E7\00\D4\E5\F4\DC\F1\F4\E7\00\D0\DD\EC\F0\F4\E7\00\D0\E1\F1\E1\F3\EA\E5\F5\DE\00\D3\DC\E2\E2\E1\F4\EF\00\C9\E1\ED\00\D6\E5\E2\00\CC\DC\F1\00\C1\F0\F1\00\CC\DC\E9\00\C9\EF\FD\ED\00\C9\EF\FD\EB\00\C1\FD\E3\00\D3\E5\F0\00\CF\EA\F4\00\CD\EF\DD\00\C4\E5\EA\00\C9\E1\ED\EF\F5\DC\F1\E9\EF\F2\00\D6\E5\E2\F1\EF\F5\DC\F1\E9\EF\F2\00\CC\DC\F1\F4\E9\EF\F2\00\C1\F0\F1\DF\EB\E9\EF\F2\00\CC\DC\E9\EF\F2\00\C9\EF\FD\ED\E9\EF\F2\00\C9\EF\FD\EB\E9\EF\F2\00\C1\FD\E3\EF\F5\F3\F4\EF\F2\00\D3\E5\F0\F4\DD\EC\E2\F1\E9\EF\F2\00\CF\EA\F4\FE\E2\F1\E9\EF\F2\00\CD\EF\DD\EC\E2\F1\E9\EF\F2\00\C4\E5\EA\DD\EC\E2\F1\E9\EF\F2\00\CE\9A\CF\85\CF\81\00\CE\94\CE\B5\CF\85\00\CE\A4\CF\81\CE\B9\00\CE\A4\CE\B5\CF\84\00\CE\A0\CE\B5\CE\BC\00\CE\A0\CE\B1\CF\81\00\CE\A3\CE\B1\CE\B2\00\CE\9A\CF\85\CF\81\CE\B9\CE\B1\CE\BA\CE\AE\00\CE\94\CE\B5\CF\85\CF\84\CE\AD\CF\81\CE\B1\00\CE\A4\CF\81\CE\AF\CF\84\CE\B7\00\CE\A4\CE\B5\CF\84\CE\AC\CF\81\CF\84\CE\B7\00\CE\A0\CE\AD\CE\BC\CF\80\CF\84\CE\B7\00\CE\A0\CE\B1\CF\81\CE\B1\CF\83\CE\BA\CE\B5\CF\85\CE\AE\00\CE\A3\CE\AC\CE\B2\CE\B2\CE\B1\CF\84\CE\BF\00\CE\99\CE\B1\CE\BD\00\CE\A6\CE\B5\CE\B2\00\CE\9C\CE\AC\CF\81\00\CE\91\CF\80\CF\81\00\CE\9C\CE\AC\CE\B9\00\CE\99\CE\BF\CF\8D\CE\BD\00\CE\99\CE\BF\CF\8D\CE\BB\00\CE\91\CF\8D\CE\B3\00\CE\A3\CE\B5\CF\80\00\CE\9F\CE\BA\CF\84\00\CE\9D\CE\BF\CE\AD\00\CE\94\CE\B5\CE\BA\00\CE\99\CE\B1\CE\BD\CE\BF\CF\85\CE\AC\CF\81\CE\B9\CE\BF\CF\82\00\CE\A6\CE\B5\CE\B2\CF\81\CE\BF\CF\85\CE\AC\CF\81\CE\B9\CE\BF\CF\82\00\CE\9C\CE\AC\CF\81\CF\84\CE\B9\CE\BF\CF\82\00\CE\91\CF\80\CF\81\CE\AF\CE\BB\CE\B9\CE\BF\CF\82\00\CE\9C\CE\AC\CE\B9\CE\BF\CF\82\00\CE\99\CE\BF\CF\8D\CE\BD\CE\B9\CE\BF\CF\82\00\CE\99\CE\BF\CF\8D\CE\BB\CE\B9\CE\BF\CF\82\00\CE\91\CF\8D\CE\B3\CE\BF\CF\85\CF\83\CF\84\CE\BF\CF\82\00\CE\A3\CE\B5\CF\80\CF\84\CE\AD\CE\BC\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00\CE\9F\CE\BA\CF\84\CF\8E\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00\CE\9D\CE\BF\CE\AD\CE\BC\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00\CE\94\CE\B5\CE\BA\CE\AD\CE\BC\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00%a %d %b %Y %r %Z\00%Y-%m-%dT%T %Z\00%A, %B %d, %Y %p%I:%M:%S %Z\00%A, %B %d, %Y\00%I:%M:%S %Z\00%p%I:%M:%S %Z\00%A, %d %B, %Y %I:%M:%S %p %Z\00%A, %d %B, %Y\00%A %d,%B,%Y %I:%M:%S %p %Z\00%A %d,%B,%Y\00%m/%d/%Y\00dim\00\C4\B5a\C5\AD\00ven\00sab\00diman\C4\89o\00lundo\00mardo\00merkredo\00\C4\B5a\C5\ADdo\00vendredo\00sabato\00A\C5\ADg\00Januaro\00Februaro\00Marto\00Aprilo\00Majo\00Junio\00Julio\00A\C5\ADgusto\00Septembro\00Oktobro\00Novembro\00Decembro\00%a %d %b %Y %T %z\00dom\00mi\E9\00jue\00vie\00s\E1b\00domingo\00lunes\00martes\00mi\E9rcoles\00jueves\00viernes\00s\E1bado\00ene\00dic\00enero\00febrero\00marzo\00mayo\00junio\00julio\00agosto\00septiembre\00noviembre\00diciembre\00mi\C3\A9\00s\C3\A1b\00mi\C3\A9rcoles\00s\C3\A1bado\00P\00E\00T\00K\00N\00R\00L\00p\FChap\E4ev\00esmasp\E4ev\00teisip\E4ev\00kolmap\E4ev\00neljap\E4ev\00reede\00laup\E4ev\00jaan \00veebr\00m\E4rts\00apr \00mai \00juuni\00juuli\00aug \00sept \00okt \00nov \00dets \00jaanuar\00veebruar\00aprill\00oktoober\00detsember\00p\C3\BChap\C3\A4ev\00esmasp\C3\A4ev\00teisip\C3\A4ev\00kolmap\C3\A4ev\00neljap\C3\A4ev\00laup\C3\A4ev\00m\C3\A4rts\00ig.\00al.\00ar.\00az.\00og.\00or.\00lr.\00igandea\00astelehena\00asteartea\00asteazkena\00osteguna\00ostirala\00larunbata\00urt\00ots\00api\00eka\00uzt\00abu\00ira\00urr\00aza\00abe\00urtarrila\00otsaila\00martxoa\00apirila\00maiatza\00ekaina\00uztaila\00abuztua\00iraila\00urria\00azaroa\00abendua\00%y-%m-%d %T %Z\00%a, %Y.eko %bren %da\00\DB\8C.\00\D8\AF.\00\D8\B3.\00\DA\86.\00\D9\BE.\00\D8\AC.\00\D8\B4.\00\DB\8C\DA\A9\E2\80\8C\D8\B4\D9\86\D8\A8\D9\87\00\D8\AF\D9\88\D8\B4\D9\86\D8\A8\D9\87\00\D8\B3\D9\87\E2\80\8C\D8\B4\D9\86\D8\A8\D9\87\00\DA\86\D9\87\D8\A7\D8\B1\D8\B4\D9\86\D8\A8\D9\87\00\D9\BE\D9\86\D8\AC\E2\80\8C\D8\B4\D9\86\D8\A8\D9\87\00\D8\AC\D9\85\D8\B9\D9\87\00\D8\B4\D9\86\D8\A8\D9\87\00\DA\98\D8\A7\D9\86\00\D9\81\D9\88\D8\B1\00\D8\A2\D9\88\D8\B1\00\D9\85\D9\80\D9\87\00\DA\98\D9\88\D9\86\00\DA\98\D9\88\DB\8C\00\D8\A7\D9\88\D8\AA\00\D8\B3\D9\BE\D8\AA\00\D8\A7\D9\83\D8\AA\00\D9\86\D9\88\D8\A7\00\D8\AF\D8\B3\D8\A7\00\DA\98\D8\A7\D9\86\D9\88\DB\8C\D9\87\00\D9\81\D9\88\D8\B1\DB\8C\D9\87\00\D8\A2\D9\88\D8\B1\DB\8C\D9\84\00\D9\85\D9\87\00\DA\98\D9\88\D8\A6\D9\86\00\DA\98\D9\88\D8\A6\DB\8C\D9\87\00\D8\B3\D9\BE\D8\AA\D8\A7\D9\85\D8\A8\D8\B1\00\D8\A7\D9\83\D8\AA\D8\A8\D8\B1\00\D9\86\D9\88\D8\A7\D9\85\D8\A8\D8\B1\00\D8\AF\D8\B3\D8\A7\D9\85\D8\A8\D8\B1\00\D8\B5\D8\A8\D8\AD\00\D8\B9\D8\B5\D8\B1\00\E2\80\AB%A %e %B %Y\D8\8C %I:%M:%S %p\E2\80\AC\00%Y/%m/%d\00\E2\80\AB%I:%M:%S %p\E2\80\AC\00su\00ma\00ti\00ke\00to\00pe\00la\00sunnuntai\00maanantai\00tiistai\00keskiviikko\00torstai\00perjantai\00lauantai\00tammi\A0\00helmi\A0\00maalis\00huhti\A0\00touko\A0\00kes\E4\A0\A0\00hein\E4\A0\00elo\A0\A0\A0\00syys\A0\A0\00loka\A0\A0\00marras\00joulu\A0\00tammikuu\00helmikuu\00maaliskuu\00huhtikuu\00toukokuu\00kes\E4kuu\00hein\E4kuu\00elokuu\00syyskuu\00lokakuu\00marraskuu\00joulukuu\00%a %e %B %Y %T\00tammi\C2\A0\00helmi\C2\A0\00huhti\C2\A0\00touko\C2\A0\00kes\C3\A4\C2\A0\C2\A0\00hein\C3\A4\C2\A0\00elo\C2\A0\C2\A0\C2\A0\00syys\C2\A0\C2\A0\00loka\C2\A0\C2\A0\00joulu\C2\A0\00kes\C3\A4kuu\00hein\C3\A4kuu\00sun\00m\E1n\00t\FDs\00mik\00h\F3s\00fr\ED\00ley\00sunnudagur\00m\E1nadagur\00t\FDsdagur\00mikudagur\00h\F3sdagur\00fr\EDggjadagur\00leygardagur\00mars\00apr\EDl\00desember\00%d/%m-%Y\00m\C3\A1n\00t\C3\BDs\00h\C3\B3s\00fr\C3\AD\00m\C3\A1nadagur\00t\C3\BDsdagur\00h\C3\B3sdagur\00fr\C3\ADggjadagur\00apr\C3\ADl\00jeu\00sam\00dimanche\00lundi\00mardi\00mercredi\00jeudi\00vendredi\00samedi\00f\E9v\00avr\00jui\00ao\FB\00d\E9c\00janvier\00f\E9vrier\00avril\00juin\00juillet\00ao\FBt\00septembre\00octobre\00d\E9cembre\00f\C3\A9v\00ao\C3\BB\00d\C3\A9c\00f\C3\A9vrier\00ao\C3\BBt\00d\C3\A9cembre\00%d. %m. %y\00Domh\00Luan\00M\E1irt\00C\E9ad\00D\E9ar\00Aoine\00Sath\00D\E9 Domhnaigh\00D\E9 Luain\00D\E9 M\E1irt\00D\E9 C\E9adaoin\00D\E9ardaoin\00D\E9 hAoine\00D\E9 Sathairn\00Ean\00Feabh\00M\E1rta\00Aib\00Beal\00Meith\00I\FAil\00L\FAn\00MF\F3mh\00DF\F3mh\00Samh\00Noll\00Ean\E1ir\00Feabhra\00Aibre\E1n\00M\ED na Bealtaine\00L\FAnasa\00Me\E1n F\F3mhair\00Deireadh F\F3mhair\00M\ED na Samhna\00M\ED na Nollag\00M\C3\A1irt\00C\C3\A9ad\00D\C3\A9ar\00D\C3\A9 Domhnaigh\00D\C3\A9 Luain\00D\C3\A9 M\C3\A1irt\00D\C3\A9 C\C3\A9adaoin\00D\C3\A9ardaoin\00D\C3\A9 hAoine\00D\C3\A9 Sathairn\00M\C3\A1rta\00I\C3\BAil\00L\C3\BAn\00MF\C3\B3mh\00DF\C3\B3mh\00Ean\C3\A1ir\00Aibre\C3\A1n\00M\C3\AD na Bealtaine\00L\C3\BAnasa\00Me\C3\A1n F\C3\B3mhair\00Deireadh F\C3\B3mhair\00M\C3\AD na Samhna\00M\C3\AD na Nollag\00Dido\00Dilu\00Dim\00Dic\00Diar\00Diha\00Disa\00Did\F2mhnaich\00Diluain\00Dim\E0irt\00Diciadain\00Diardaoin\00Dihaoine\00Disathairne\00Fao\00Gea\00M\E0r\00Gib\00Mh\E0\00OgM\00luc\00L\F9n\00Dam\00D\F9b\00Am Faoilteach\00An Gearran\00Am M\E0rt\00An Giblean\00A' Mh\E0igh\00An t-Mh\ECos\00An t-luchar\00An L\F9nasdal\00An t-Sultain\00An Damhair\00An t-Samhain\00An D\F9bhlachd\00Did\C3\B2mhnaich\00Dim\C3\A0irt\00M\C3\A0r\00Mh\C3\A0\00L\C3\B9n\00D\C3\B9b\00Am M\C3\A0rt\00A' Mh\C3\A0igh\00An t-Mh\C3\ACos\00An L\C3\B9nasdal\00An D\C3\B9bhlachd\00Dom\00Lun\00M\E9r\00Xov\00Ven\00S\E1b\00Domingo\00Luns\00Martes\00M\E9rcores\00Xoves\00Venres\00S\E1bado\00Xan\00Abr\00Xu\F1\00Xul\00Ago\00Set\00Out\00Xaneiro\00Febreiro\00Marzo\00Abril\00Maio\00Xu\F1o\00Xullo\00Agosto\00Setembro\00Outubro\00M\C3\A9r\00S\C3\A1b\00M\C3\A9rcores\00S\C3\A1bado\00Xu\C3\B1\00Xu\C3\B1o\00Jed\00Jel\00Jem\00Jerc\00Jerd\00Jeh\00Jes\00Jedoonee\00Jelhein\00Jemayrt\00Jercean\00Jerdein\00Jeheiney\00Jesarn\00J-guer\00T-arree\00Mayrnt\00Avrril\00Boaldyn\00M-souree\00J-souree\00Luanistyn\00M-fouyir\00J-fouyir\00M.Houney\00M.Nollick\00Jerrey-geuree\00Toshiaght-arree\00Averil\00Mean-souree\00Jerrey-souree\00Mean-fouyir\00Jerrey-fouyir\00Mee Houney\00Mee ny Nollick\00\E0'\00\E1'\00\E2'\00\E3'\00\E4'\00\E5'\00\F9'\00\F8\E0\F9\E5\EF\00\F9\F0\E9\00\F9\EC\E9\F9\E9\00\F8\E1\E9\F2\E9\00\E7\EE\E9\F9\E9\00\F9\E9\F9\E9\00\F9\E1\FA\00\E9\F0\E5\00\F4\E1\F8\00\EE\F8\F5\00\E0\F4\F8\00\EE\E0\E9\00\E9\E5\F0\00\E9\E5\EC\00\E0\E5\E2\00\F1\F4\E8\00\E0\E5\F7\00\F0\E5\E1\00\E3\F6\EE\00\E9\F0\E5\E0\F8\00\F4\E1\F8\E5\E0\F8\00\E0\F4\F8\E9\EC\00\E9\E5\F0\E9\00\E9\E5\EC\E9\00\E0\E5\E2\E5\F1\E8\00\F1\F4\E8\EE\E1\F8\00\E0\E5\F7\E8\E5\E1\F8\00\F0\E5\E1\EE\E1\F8\00\E3\F6\EE\E1\F8\00%Z %H:%M:%S %Y %b %d %a\00%I:%M:%S %P\00\D7\90'\00\D7\91'\00\D7\92'\00\D7\93'\00\D7\94'\00\D7\95'\00\D7\A9'\00\D7\A8\D7\90\D7\A9\D7\95\D7\9F\00\D7\A9\D7\A0\D7\99\00\D7\A9\D7\9C\D7\99\D7\A9\D7\99\00\D7\A8\D7\91\D7\99\D7\A2\D7\99\00\D7\97\D7\9E\D7\99\D7\A9\D7\99\00\D7\A9\D7\99\D7\A9\D7\99\00\D7\A9\D7\91\D7\AA\00\D7\99\D7\A0\D7\95\00\D7\A4\D7\91\D7\A8\00\D7\9E\D7\A8\D7\A5\00\D7\90\D7\A4\D7\A8\00\D7\9E\D7\90\D7\99\00\D7\99\D7\95\D7\A0\00\D7\99\D7\95\D7\9C\00\D7\90\D7\95\D7\92\00\D7\A1\D7\A4\D7\98\00\D7\90\D7\95\D7\A7\00\D7\A0\D7\95\D7\91\00\D7\93\D7\A6\D7\9E\00\D7\99\D7\A0\D7\95\D7\90\D7\A8\00\D7\A4\D7\91\D7\A8\D7\95\D7\90\D7\A8\00\D7\90\D7\A4\D7\A8\D7\99\D7\9C\00\D7\99\D7\95\D7\A0\D7\99\00\D7\99\D7\95\D7\9C\D7\99\00\D7\90\D7\95\D7\92\D7\95\D7\A1\D7\98\00\D7\A1\D7\A4\D7\98\D7\9E\D7\91\D7\A8\00\D7\90\D7\95\D7\A7\D7\98\D7\95\D7\91\D7\A8\00\D7\A0\D7\95\D7\91\D7\9E\D7\91\D7\A8\00\D7\93\D7\A6\D7\9E\D7\91\D7\A8\00\E0\A4\B0\E0\A4\B5\E0\A4\BF \00\E0\A4\B8\E0\A5\8B\E0\A4\AE \00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B2 \00\E0\A4\AC\E0\A5\81\E0\A4\A7 \00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81 \00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0 \00\E0\A4\B6\E0\A4\A8\E0\A4\BF \00\E0\A4\B0\E0\A4\B5\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\B8\E0\A5\8B\E0\A4\AE\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B2\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\AC\E0\A5\81\E0\A4\A7\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\B6\E0\A4\A8\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\9C\E0\A4\A8\E0\A4\B5\E0\A4\B0\E0\A5\80\00\E0\A4\AB\E0\A4\BC\E0\A4\B0\E0\A4\B5\E0\A4\B0\E0\A5\80\00\E0\A4\AE\E0\A4\BE\E0\A4\B0\E0\A5\8D\E0\A4\9A\00\E0\A4\85\E0\A4\AA\E0\A5\8D\E0\A4\B0\E0\A5\87\E0\A4\B2\00\E0\A4\AE\E0\A4\88\00\E0\A4\9C\E0\A5\82\E0\A4\A8\00\E0\A4\9C\E0\A5\81\E0\A4\B2\E0\A4\BE\E0\A4\88\00\E0\A4\85\E0\A4\97\E0\A4\B8\E0\A5\8D\E0\A4\A4\00\E0\A4\B8\E0\A4\BF\E0\A4\A4\E0\A4\AE\E0\A5\8D\E0\A4\AC\E0\A4\B0\00\E0\A4\85\E0\A4\95\E0\A5\8D\E0\A4\9F\E0\A5\82\E0\A4\AC\E0\A4\B0\00\E0\A4\A8\E0\A4\B5\E0\A4\AE\E0\A5\8D\E0\A4\AC\E0\A4\B0\00\E0\A4\A6\E0\A4\BF\E0\A4\B8\E0\A4\AE\E0\A5\8D\E0\A4\AC\E0\A4\B0\00\E0\A4\AA\E0\A5\82\E0\A4\B0\E0\A5\8D\E0\A4\B5\E0\A4\BE\E0\A4\B9\E0\A5\8D\E0\A4\A8\00\E0\A4\85\E0\A4\AA\E0\A4\B0\E0\A4\BE\E0\A4\B9\E0\A5\8D\E0\A4\A8\00Sij\00Vel\00O\BEu\00Tra\00Svi\00Lip\00Srp\00Kol\00Ruj\00Lis\00Stu\00Pro\00Sije\E8anj\00Velja\E8a\00O\BEujak\00Travanj\00Svibanj\00Lipanj\00Srpanj\00Kolovoz\00Rujan\00Listopad\00Studeni\00Prosinac\00O\C5\BEu\00Sije\C4\8Danj\00Velja\C4\8Da\00O\C5\BEujak\00v\00h\00k\00sze\00cs\00p\00szo\00vas\E1rnap\00h\E9tf\F5\00kedd\00szerda\00cs\FCt\F6rt\F6k\00p\E9ntek\00szombat\00m\E1r\00\E1pr\00m\E1j\00j\FAn\00j\FAl\00janu\E1r\00febru\E1r\00m\E1rcius\00\E1prilis\00m\E1jus\00j\FAnius\00j\FAlius\00augusztus\00szeptember\00okt\F3ber\00%Y. %b. %e., %A, %H.%M.%S %Z\00%H.%M.%S\00vas\C3\A1rnap\00h\C3\A9tf\C5\91\00cs\C3\BCt\C3\B6rt\C3\B6k\00p\C3\A9ntek\00m\C3\A1r\00\C3\A1pr\00m\C3\A1j\00j\C3\BAn\00j\C3\BAl\00janu\C3\A1r\00febru\C3\A1r\00m\C3\A1rcius\00\C3\A1prilis\00m\C3\A1jus\00j\C3\BAnius\00j\C3\BAlius\00okt\C3\B3ber\00\CE\F1\CF\00\BA\F1\CF\00\BA\F1\F9\00\E2\F1\F9\00\D0\DD\B7\00\E0\F5\F1\00\DE\B5\C3\00\CE\C7\F1\B3\CF\C7\00\BA\F1\CF\E1\F5\DF\B3\B5\C3\C7\00\BA\F1\BB\F9\DF\B3\B5\C3\C7\00\E2\E1\F1\BB\F9\DF\B3\B5\C3\C7\00\D0\C7\DD\B7\DF\B3\B5\C3\C7\00\E0\F5\F1\B5\B3\C3\00\DE\B3\B5\B3\C3\00\D0\DD\ED\00\F6\EF\F1\00\D8\B3\F1\00\B2\E5\F1\00\D8\B3\DB\00\D0\DD\EB\00\D0\C9\EB\00\FA\B7\EB\00\EA\BB\E5\00\D0\E1\CF\00\DC\D9\B5\00\B8\BB\CF\00\D0\E1\F5\DD\ED\B3\F1\C7\00\F6\BB\EF\F1\ED\B3\F1\C7\00\D8\B3\F1\EF\C7\00\B2\E5\F1\C7\C9\C7\00\D8\B3\DB\C7\EB\C7\00\D0\E1\F5\DD\C7\EB\C7\00\D0\E1\F5\C9\C7\EB\C7\00\FA\B7\E1\EB\EF\E1\EB\C7\00\EA\BB\E5\EF\BB\D9\B5\BB\F1\C7\00\D0\E1\CF\EF\BB\D9\B5\BB\F1\C7\00\DC\E1\DB\BB\D9\B5\BB\F1\C7\00\B8\BB\CF\EF\BB\D9\B5\BB\F1\C7\00\D4\BF\D6\80\D5\AF\00\D4\B5\D6\80\D5\AF\00\D4\B5\D6\80\D6\84\00\D5\89\D6\80\D6\84\00\D5\80\D5\B6\D5\A3\00\D5\88\D6\82\D6\80\00\D5\87\D5\A2\D5\A9\00\D4\BF\D5\AB\D6\80\D5\A1\D5\AF\D5\AB\00\D4\B5\D6\80\D5\AF\D5\B8\D6\82\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D4\B5\D6\80\D5\A5\D6\84\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D5\89\D5\B8\D6\80\D5\A5\D6\84\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D5\80\D5\AB\D5\B6\D5\A3\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D5\88\D6\82\D6\80\D5\A2\D5\A1\D5\A9\00\D5\87\D5\A1\D5\A2\D5\A1\D5\A9\00\D5\80\D5\B6\D5\BE\00\D5\93\D5\BF\D6\80\00\D5\84\D5\A1\D6\80\00\D4\B1\D5\BA\D6\80\00\D5\84\D5\A1\D5\B5\00\D5\80\D5\B6\D5\BD\00\D5\80\D5\AC\D5\BD\00\D5\95\D5\A3\D5\BD\00\D5\8D\D5\A5\D5\BA\00\D5\80\D5\B8\D5\AF\00\D5\86\D5\B4\D5\A2\00\D4\B4\D5\A5\D5\AF\00\D5\80\D5\B8\D6\82\D5\B6\D5\BE\D5\A1\D6\80\D5\AB\00\D5\93\D5\A5\D5\BF\D6\80\D5\BE\D5\A1\D6\80\D5\AB\00\D5\84\D5\A1\D6\80\D5\BF\D5\AB\00\D4\B1\D5\BA\D6\80\D5\AB\D5\AC\D5\AB\00\D5\84\D5\A1\D5\B5\D5\AB\D5\BD\D5\AB\00\D5\80\D5\B8\D6\82\D5\B6\D5\AB\D5\BD\D5\AB\00\D5\80\D5\B8\D6\82\D5\AC\D5\AB\D5\BD\D5\AB\00\D5\95\D5\A3\D5\B8\D5\BD\D5\BF\D5\B8\D5\BD\D5\AB\00\D5\8D\D5\A5\D5\BA\D5\BF\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00\D5\80\D5\B8\D5\AF\D5\BF\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00\D5\86\D5\B8\D5\B5\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00\D4\B4\D5\A5\D5\AF\D5\BF\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00Min\00Sel\00Rab\00Kam\00Jum\00Sab\00Minggu\00Senin\00Selasa\00Rabu\00Kamis\00Jumat\00Sabtu\00Peb\00Agu\00Januari\00Pebruari\00Maret\00Agustus\00M\E1n\00\DEri\00Mi\F0\00Fim\00F\F6s\00Lau\00Sunnudagur\00M\E1nudagur\00\DEri\F0judagur\00Mi\F0vikudagur\00Fimmtudagur\00F\F6studagur\00Laugardagur\00Ma\ED\00J\FAn\00J\FAl\00\C1g\FA\00N\F3v\00Jan\FAar\00Febr\FAar\00Mars\00Apr\EDl\00J\FAn\ED\00J\FAl\ED\00\C1g\FAst\00Okt\F3ber\00N\F3vember\00fh\00eh\00%a %e.%b %Y, %T %Z\00%a %e.%b %Y\00M\C3\A1n\00\C3\9Eri\00Mi\C3\B0\00F\C3\B6s\00M\C3\A1nudagur\00\C3\9Eri\C3\B0judagur\00Mi\C3\B0vikudagur\00F\C3\B6studagur\00Ma\C3\AD\00J\C3\BAn\00J\C3\BAl\00\C3\81g\C3\BA\00N\C3\B3v\00Jan\C3\BAar\00Febr\C3\BAar\00Apr\C3\ADl\00J\C3\BAn\C3\AD\00J\C3\BAl\C3\AD\00\C3\81g\C3\BAst\00Okt\C3\B3ber\00N\C3\B3vember\00gio\00domenica\00luned\EC\00marted\EC\00mercoled\EC\00gioved\EC\00venerd\EC\00mag\00giu\00lug\00ott\00gennaio\00febbraio\00aprile\00maggio\00giugno\00luglio\00settembre\00ottobre\00dicembre\00luned\C3\AC\00marted\C3\AC\00mercoled\C3\AC\00gioved\C3\AC\00venerd\C3\AC\00\E6\97\A5\00\E6\9C\88\00\E7\81\AB\00\E6\B0\B4\00\E6\9C\A8\00\E9\87\91\00\E5\9C\9F\00\E6\97\A5\E6\9B\9C\E6\97\A5\00\E6\9C\88\E6\9B\9C\E6\97\A5\00\E7\81\AB\E6\9B\9C\E6\97\A5\00\E6\B0\B4\E6\9B\9C\E6\97\A5\00\E6\9C\A8\E6\9B\9C\E6\97\A5\00\E9\87\91\E6\9B\9C\E6\97\A5\00\E5\9C\9F\E6\9B\9C\E6\97\A5\00 1\E6\9C\88\00 2\E6\9C\88\00 3\E6\9C\88\00 4\E6\9C\88\00 5\E6\9C\88\00 6\E6\9C\88\00 7\E6\9C\88\00 8\E6\9C\88\00 9\E6\9C\88\0010\E6\9C\88\0011\E6\9C\88\0012\E6\9C\88\001\E6\9C\88\002\E6\9C\88\003\E6\9C\88\004\E6\9C\88\005\E6\9C\88\006\E6\9C\88\007\E6\9C\88\008\E6\9C\88\009\E6\9C\88\00\E5\8D\88\E5\89\8D\00\E5\8D\88\E5\BE\8C\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %H\E6\99\82%M\E5\88\86%S\E7\A7\92\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5\00%H\E6\99\82%M\E5\88\86%S\E7\A7\92\00%p%I\E6\99\82%M\E5\88\86%S\E7\A7\92\00+:2:1990/01/01:+*:\E5\B9\B3\E6\88\90:%EC%Ey\E5\B9\B4\00+:1:1989/01/08:1989/12/31:\E5\B9\B3\E6\88\90:%EC\E5\85\83\E5\B9\B4\00+:2:1927/01/01:1989/01/07:\E6\98\AD\E5\92\8C:%EC%Ey\E5\B9\B4\00+:1:1926/12/25:1926/12/31:\E6\98\AD\E5\92\8C:%EC\E5\85\83\E5\B9\B4\00+:2:1913/01/01:1926/12/24:\E5\A4\A7\E6\AD\A3:%EC%Ey\E5\B9\B4\00+:2:1912/07/30:1912/12/31:\E5\A4\A7\E6\AD\A3:%EC\E5\85\83\E5\B9\B4\00+:6:1873/01/01:1912/07/29:\E6\98\8E\E6\B2\BB:%EC%Ey\E5\B9\B4\00+:1:0001/01/01:1872/12/31:\E8\A5\BF\E6\9A\A6:%EC%Ey\E5\B9\B4\00+:1:-0001/12/31:-*:\E7\B4\80\E5\85\83\E5\89\8D:%EC%Ey\E5\B9\B4\00\00%EY%m\E6\9C\88%d\E6\97\A5\00\E3\80\87\00\E4\B8\80\00\E4\BA\8C\00\E4\B8\89\00\E5\9B\9B\00\E4\BA\94\00\E5\85\AD\00\E4\B8\83\00\E5\85\AB\00\E4\B9\9D\00\E5\8D\81\00\E5\8D\81\E4\B8\80\00\E5\8D\81\E4\BA\8C\00\E5\8D\81\E4\B8\89\00\E5\8D\81\E5\9B\9B\00\E5\8D\81\E4\BA\94\00\E5\8D\81\E5\85\AD\00\E5\8D\81\E4\B8\83\00\E5\8D\81\E5\85\AB\00\E5\8D\81\E4\B9\9D\00\E4\BA\8C\E5\8D\81\00\E4\BA\8C\E5\8D\81\E4\B8\80\00\E4\BA\8C\E5\8D\81\E4\BA\8C\00\E4\BA\8C\E5\8D\81\E4\B8\89\00\E4\BA\8C\E5\8D\81\E5\9B\9B\00\E4\BA\8C\E5\8D\81\E4\BA\94\00\E4\BA\8C\E5\8D\81\E5\85\AD\00\E4\BA\8C\E5\8D\81\E4\B8\83\00\E4\BA\8C\E5\8D\81\E5\85\AB\00\E4\BA\8C\E5\8D\81\E4\B9\9D\00\E4\B8\89\E5\8D\81\00\E4\B8\89\E5\8D\81\E4\B8\80\00\E4\B8\89\E5\8D\81\E4\BA\8C\00\E4\B8\89\E5\8D\81\E4\B8\89\00\E4\B8\89\E5\8D\81\E5\9B\9B\00\E4\B8\89\E5\8D\81\E4\BA\94\00\E4\B8\89\E5\8D\81\E5\85\AD\00\E4\B8\89\E5\8D\81\E4\B8\83\00\E4\B8\89\E5\8D\81\E5\85\AB\00\E4\B8\89\E5\8D\81\E4\B9\9D\00\E5\9B\9B\E5\8D\81\00\E5\9B\9B\E5\8D\81\E4\B8\80\00\E5\9B\9B\E5\8D\81\E4\BA\8C\00\E5\9B\9B\E5\8D\81\E4\B8\89\00\E5\9B\9B\E5\8D\81\E5\9B\9B\00\E5\9B\9B\E5\8D\81\E4\BA\94\00\E5\9B\9B\E5\8D\81\E5\85\AD\00\E5\9B\9B\E5\8D\81\E4\B8\83\00\E5\9B\9B\E5\8D\81\E5\85\AB\00\E5\9B\9B\E5\8D\81\E4\B9\9D\00\E4\BA\94\E5\8D\81\00\E4\BA\94\E5\8D\81\E4\B8\80\00\E4\BA\94\E5\8D\81\E4\BA\8C\00\E4\BA\94\E5\8D\81\E4\B8\89\00\E4\BA\94\E5\8D\81\E5\9B\9B\00\E4\BA\94\E5\8D\81\E4\BA\94\00\E4\BA\94\E5\8D\81\E5\85\AD\00\E4\BA\94\E5\8D\81\E4\B8\83\00\E4\BA\94\E5\8D\81\E5\85\AB\00\E4\BA\94\E5\8D\81\E4\B9\9D\00\E5\85\AD\E5\8D\81\00\E5\85\AD\E5\8D\81\E4\B8\80\00\E5\85\AD\E5\8D\81\E4\BA\8C\00\E5\85\AD\E5\8D\81\E4\B8\89\00\E5\85\AD\E5\8D\81\E5\9B\9B\00\E5\85\AD\E5\8D\81\E4\BA\94\00\E5\85\AD\E5\8D\81\E5\85\AD\00\E5\85\AD\E5\8D\81\E4\B8\83\00\E5\85\AD\E5\8D\81\E5\85\AB\00\E5\85\AD\E5\8D\81\E4\B9\9D\00\E4\B8\83\E5\8D\81\00\E4\B8\83\E5\8D\81\E4\B8\80\00\E4\B8\83\E5\8D\81\E4\BA\8C\00\E4\B8\83\E5\8D\81\E4\B8\89\00\E4\B8\83\E5\8D\81\E5\9B\9B\00\E4\B8\83\E5\8D\81\E4\BA\94\00\E4\B8\83\E5\8D\81\E5\85\AD\00\E4\B8\83\E5\8D\81\E4\B8\83\00\E4\B8\83\E5\8D\81\E5\85\AB\00\E4\B8\83\E5\8D\81\E4\B9\9D\00\E5\85\AB\E5\8D\81\00\E5\85\AB\E5\8D\81\E4\B8\80\00\E5\85\AB\E5\8D\81\E4\BA\8C\00\E5\85\AB\E5\8D\81\E4\B8\89\00\E5\85\AB\E5\8D\81\E5\9B\9B\00\E5\85\AB\E5\8D\81\E4\BA\94\00\E5\85\AB\E5\8D\81\E5\85\AD\00\E5\85\AB\E5\8D\81\E4\B8\83\00\E5\85\AB\E5\8D\81\E5\85\AB\00\E5\85\AB\E5\8D\81\E4\B9\9D\00\E4\B9\9D\E5\8D\81\00\E4\B9\9D\E5\8D\81\E4\B8\80\00\E4\B9\9D\E5\8D\81\E4\BA\8C\00\E4\B9\9D\E5\8D\81\E4\B8\89\00\E4\B9\9D\E5\8D\81\E5\9B\9B\00\E4\B9\9D\E5\8D\81\E4\BA\94\00\E4\B9\9D\E5\8D\81\E5\85\AD\00\E4\B9\9D\E5\8D\81\E4\B8\83\00\E4\B9\9D\E5\8D\81\E5\85\AB\00\E4\B9\9D\E5\8D\81\E4\B9\9D\00%EY%m\E6\9C\88%d\E6\97\A5 %H\E6\99\82%M\E5\88\86%S\E7\A7\92\00\CA\C5\C9\00\CF\D2\DB\00\D3\C0\CC\00\CF\C8\E1\00\E1\D6\C8\00\D0\C0\D2\00\DB\C0\C1\00\CA\C5\C9\D2\C0\00\CF\D2\DB\C0\C1\C0\C8\C9\00\D3\C0\CC\DB\C0\C1\C0\C8\C9\00\CF\C8\E1\DB\C0\C1\C0\C8\C9\00\E1\D6\C8\DB\C0\C1\C0\C8\C9\00\D0\C0\D2\C0\D3\CA\C4\C5\C9\00\DB\C0\C1\C0\C8\C9\00\C9\C0\CD\00\C8\C4\C1\00\CC\C0\D2\00\C0\D0\D2\00\CC\C0\C9\00\C9\C5\CD\00\C9\C5\CB\00\C0\C2\C5\00\D3\C4\D8\00\CF\D8\D4\00\CD\CF\C4\00\C3\C4\CA\00\C9\C0\CD\C5\C0\D2\C9\00\C8\C4\C1\C4\D2\C5\C0\CB\C9\00\CC\C0\D2\D4\C9\00\C0\D0\D2\C9\CB\C9\00\CC\C0\C9\D3\C9\00\C9\C5\CD\C9\D3\C9\00\C9\C5\CB\C9\D3\C9\00\C0\C2\C5\C9\D3\D4\CF\00\D3\C4\D8\D4\C4\CC\C1\C4\D2\C9\00\CF\D8\D4\CF\CC\C1\C4\D2\C9\00\CD\CF\C4\CC\C1\C4\D2\C9\00\C3\C4\CA\C4\CC\C1\C4\D2\C9\00%Y \DF\CB\C9\D3 %d %B, %T %Z\00\E1\83\99\E1\83\95\E1\83\98\00\E1\83\9D\E1\83\A0\E1\83\A8\00\E1\83\A1\E1\83\90\E1\83\9B\00\E1\83\9D\E1\83\97\E1\83\AE\00\E1\83\AE\E1\83\A3\E1\83\97\00\E1\83\9E\E1\83\90\E1\83\A0\00\E1\83\A8\E1\83\90\E1\83\91\00\E1\83\99\E1\83\95\E1\83\98\E1\83\A0\E1\83\90\00\E1\83\9D\E1\83\A0\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\A1\E1\83\90\E1\83\9B\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\9D\E1\83\97\E1\83\AE\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\AE\E1\83\A3\E1\83\97\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\9E\E1\83\90\E1\83\A0\E1\83\90\E1\83\A1\E1\83\99\E1\83\94\E1\83\95\E1\83\98\00\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\98\E1\83\90\E1\83\9C\00\E1\83\97\E1\83\94\E1\83\91\00\E1\83\9B\E1\83\90\E1\83\A0\00\E1\83\90\E1\83\9E\E1\83\A0\00\E1\83\9B\E1\83\90\E1\83\98\00\E1\83\98\E1\83\95\E1\83\9C\00\E1\83\98\E1\83\95\E1\83\9A\00\E1\83\90\E1\83\92\E1\83\95\00\E1\83\A1\E1\83\94\E1\83\A5\00\E1\83\9D\E1\83\A5\E1\83\A2\00\E1\83\9C\E1\83\9D\E1\83\94\00\E1\83\93\E1\83\94\E1\83\99\00\E1\83\98\E1\83\90\E1\83\9C\E1\83\95\E1\83\90\E1\83\A0\E1\83\98\00\E1\83\97\E1\83\94\E1\83\91\E1\83\94\E1\83\A0\E1\83\95\E1\83\90\E1\83\9A\E1\83\98\00\E1\83\9B\E1\83\90\E1\83\A0\E1\83\A2\E1\83\98\00\E1\83\90\E1\83\9E\E1\83\A0\E1\83\98\E1\83\9A\E1\83\98\00\E1\83\9B\E1\83\90\E1\83\98\E1\83\A1\E1\83\98\00\E1\83\98\E1\83\95\E1\83\9C\E1\83\98\E1\83\A1\E1\83\98\00\E1\83\98\E1\83\95\E1\83\9A\E1\83\98\E1\83\A1\E1\83\98\00\E1\83\90\E1\83\92\E1\83\95\E1\83\98\E1\83\A1\E1\83\A2\E1\83\9D\00\E1\83\A1\E1\83\94\E1\83\A5\E1\83\A2\E1\83\94\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00\E1\83\9D\E1\83\A5\E1\83\A2\E1\83\9D\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00\E1\83\9C\E1\83\9D\E1\83\94\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00\E1\83\93\E1\83\94\E1\83\99\E1\83\94\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00%Y \E1\83\AC\E1\83\9A\E1\83\98\E1\83\A1 %d %B, %T %Z\00ata\00pin\00sis\00tal\00arf\00sabaat\00ataasinngorneq\00marlunngorneq\00pingasunngorneq\00sisamanngorneq\00tallimanngorneq\00arfininngorneq\00januari\00februari\00martsi\00aprili\00maji\00augustusi\00septemberi\00oktoberi\00novemberi\00decemberi\00%d %b %Y\00\EC\9D\BC\00\EC\9B\94\00\ED\99\94\00\EC\88\98\00\EB\AA\A9\00\EA\B8\88\00\ED\86\A0\00\EC\9D\BC\EC\9A\94\EC\9D\BC\00\EC\9B\94\EC\9A\94\EC\9D\BC\00\ED\99\94\EC\9A\94\EC\9D\BC\00\EC\88\98\EC\9A\94\EC\9D\BC\00\EB\AA\A9\EC\9A\94\EC\9D\BC\00\EA\B8\88\EC\9A\94\EC\9D\BC\00\ED\86\A0\EC\9A\94\EC\9D\BC\00 1\EC\9B\94\00 2\EC\9B\94\00 3\EC\9B\94\00 4\EC\9B\94\00 5\EC\9B\94\00 6\EC\9B\94\00 7\EC\9B\94\00 8\EC\9B\94\00 9\EC\9B\94\0010\EC\9B\94\0011\EC\9B\94\0012\EC\9B\94\00\EC\9D\BC\EC\9B\94\00\EC\9D\B4\EC\9B\94\00\EC\82\BC\EC\9B\94\00\EC\82\AC\EC\9B\94\00\EC\98\A4\EC\9B\94\00\EC\9C\A0\EC\9B\94\00\EC\B9\A0\EC\9B\94\00\ED\8C\94\EC\9B\94\00\EA\B5\AC\EC\9B\94\00\EC\8B\9C\EC\9B\94\00\EC\8B\AD\EC\9D\BC\EC\9B\94\00\EC\8B\AD\EC\9D\B4\EC\9B\94\00\EC\98\A4\EC\A0\84\00\EC\98\A4\ED\9B\84\00%x (%a) %r\00%Y\EB\85\84 %m\EC\9B\94 %d\EC\9D\BC\00%H\EC\8B\9C %M\EB\B6\84 %S\EC\B4\88\00%p %I\EC\8B\9C %M\EB\B6\84 %S\EC\B4\88\00Mth\00Mhr\00Yow\00De Sul\00De Lun\00De Merth\00De Merher\00De Yow\00De Gwener\00De Sadorn\00Gen\00Whe>\00Me\00Evn\00Est\00Gwn\00Hed\00Kev\00Mys Genver\00Mys Whevrel\00Mys Merth\00Mys Ebrel\00Mys Me\00Mys Evan\00Mys Gortheren\00Mye Est\00Mys Gwyngala\00Mys Hedra\00Mys Du\00Mys Kevardhu\00Sk\00Pr\00An\00Tr\00Kt\00Pn\00\D0t\00Sekmadienis\00Pirmadienis\00Antradienis\00Tre\E8iadienis\00Ketvirtadienis\00Penktadienis\00\D0e\F0tadienis\00Sau\00Vas\00Kov\00Bal\00Geg\00Bir\00Lie\00Rgp\00Rgs\00Spa\00Lap\00Grd\00sausio\00vasario\00kovo\00baland\FEio\00gegu\FE\EBs\00bir\FEelio\00liepos\00rugpj\FB\E8io\00rugs\EBjo\00spalio\00lapkri\E8io\00gruod\FEio\00%Y m. %B %d d. %T\00%Y.%m.%d\00\C5\A0t\00Tre\C4\8Diadienis\00\C5\A0e\C5\A1tadienis\00baland\C5\BEio\00gegu\C5\BE\C4\97s\00bir\C5\BEelio\00rugpj\C5\AB\C4\8Dio\00rugs\C4\97jo\00lapkri\C4\8Dio\00gruod\C5\BEio\00Sv\00P\A0\00O\A0\00T\A0\00C\A0\00Pk\00S\A0\00sv\E7tdiena\00pirmdiena\00otrdiena\00tre\F0diena\00ceturtdiena\00piektdiena\00sestdiena\00j\FBn\00j\FBl\00janv\E2ris\00febru\E2ris\00apr\EElis\00maijs\00j\FBnijs\00j\FBlijs\00augusts\00septembris\00oktobris\00novembris\00decembris\00%A, %Y. gada %e. %B, plkst. %H un %M\00%Y.%m.%d.\00P\C2\A0\00O\C2\A0\00T\C2\A0\00C\C2\A0\00S\C2\A0\00sv\C4\93tdiena\00tre\C5\A1diena\00j\C5\ABn\00j\C5\ABl\00janv\C4\81ris\00febru\C4\81ris\00apr\C4\ABlis\00j\C5\ABnijs\00j\C5\ABlijs\00Ta\00T\FB\00We\00T\E2i\00Pa\00H\E2\00R\E2tapu\00Mane\00T\FBrei\00Wenerei\00T\E2ite\00Paraire\00H\E2tarei\00Kohi\00Hui\00Pou\00Pae\00Hara\00Pipi\00H\F4ngoi\00Mahu\00Whi-nu\00Whi-ra\00Haki\00Kohi-t\E2tea\00Hui-tanguru\00Pout\FB-te-rangi\00Paenga-wh\E2wh\E2\00Haratua\00Pipiri\00H\F4ngoingoi\00Here-turi-k\F4k\E2\00Mahuru\00Whiringa-\E2-nuku\00Whiringa-\E2-rangi\00Hakihea\00Te %A, te %d o %B, %Y %T %Z\00T\C5\AB\00T\C4\81i\00H\C4\81\00R\C4\81tapu\00T\C5\ABrei\00T\C4\81ite\00H\C4\81tarei\00H\C5\8Dngoi\00Kohi-t\C4\81tea\00Pout\C5\AB-te-rangi\00Paenga-wh\C4\81wh\C4\81\00H\C5\8Dngoingoi\00Here-turi-k\C5\8Dk\C4\81\00Whiringa-\C4\81-nuku\00Whiringa-\C4\81-rangi\00\DD\D5\D4\00\DF\DE\DD\00\D2\E2\DE\00\E1\E0\D5\00\E7\D5\E2\00\DF\D5\E2\00\E1\D0\D1\00\DD\D5\D4\D5\DB\D0\00\DF\DE\DD\D5\D4\D5\DB\DD\D8\DA\00\D2\E2\DE\E0\DD\D8\DA\00\E1\E0\D5\D4\D0\00\E7\D5\E2\D2\E0\E2\DE\DA\00\DF\D5\E2\DE\DA\00\E1\D0\D1\DE\E2\D0\00\F8\D0\DD\00\E4\D5\D2\00\DC\D0\E0\00\D0\DF\E0\00\DC\D0\F8\00\F8\E3\DD\00\F8\E3\DB\00\D0\D2\D3\00\E1\D5\DF\00\DE\DA\E2\00\DD\DE\D5\00\D4\D5\DA\00\F8\D0\DD\E3\D0\E0\D8\00\E4\D5\D2\E0\E3\D0\E0\D8\00\DC\D0\E0\E2\00\D0\DF\E0\D8\DB\00\F8\E3\DD\D8\00\F8\E3\DB\D8\00\D0\D2\D3\E3\E1\E2\00\E1\D5\DF\E2\D5\DC\D2\E0\D8\00\DE\DA\E2\DE\DC\D2\E0\D8\00\DD\DE\D5\DC\D2\E0\D8\00\D4\D5\DA\D5\DC\D2\E0\D8\00%a, %d %b %Y %T %Z\00\D0\BD\D0\B5\D0\B4\00\D0\BF\D0\BE\D0\BD\00\D0\B2\D1\82\D0\BE\00\D1\81\D1\80\D0\B5\00\D1\87\D0\B5\D1\82\00\D0\BF\D0\B5\D1\82\00\D1\81\D0\B0\D0\B1\00\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D0\B0\00\D1\81\D1\80\D0\B5\D0\B4\D0\B0\00\D1\87\D0\B5\D1\82\D0\B2\D1\80\D1\82\D0\BE\D0\BA\00\D0\BF\D0\B5\D1\82\D0\BE\D0\BA\00\D1\81\D0\B0\D0\B1\D0\BE\D1\82\D0\B0\00\D1\98\D0\B0\D0\BD\00\D0\BC\D0\B0\D1\98\00\D1\98\D1\83\D0\BD\00\D1\98\D1\83\D0\BB\00\D1\98\D0\B0\D0\BD\D1\83\D0\B0\D1\80\D0\B8\00\D1\98\D1\83\D0\BD\D0\B8\00\D1\98\D1\83\D0\BB\D0\B8\00\E0\A4\B0\E0\A4\B5\E0\A4\BF\00\E0\A4\B8\E0\A5\8B\E0\A4\AE\00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B3\00\E0\A4\AC\E0\A5\81\E0\A4\A7\00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81\00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0\00\E0\A4\B6\E0\A4\A8\E0\A4\BF\00\E0\A4\B0\E0\A4\B5\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\B8\E0\A5\8B\E0\A4\AE\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B3\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\B6\E0\A4\A8\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\9C\E0\A4\BE\E0\A4\A8\E0\A5\87\E0\A4\B5\E0\A4\BE\E0\A4\B0\E0\A5\80\00\E0\A4\AB\E0\A5\87\E0\A4\AC\E0\A5\83\E0\A4\B5\E0\A4\BE\E0\A4\B0\E0\A5\80\00\E0\A4\8F\E0\A4\AA\E0\A5\8D\E0\A4\B0\E0\A4\BF\E0\A4\B2\00\E0\A4\AE\E0\A5\87\00\E0\A4\9C\E0\A5\81\E0\A4\B2\E0\A5\88\00\E0\A4\93\E0\A4\97\E0\A4\B8\E0\A5\8D\E0\A4\9F\00\E0\A4\B8\E0\A5\87\E0\A4\AA\E0\A5\8D\E0\A4\9F\E0\A5\87\E0\A4\82\E0\A4\AC\E0\A4\B0\00\E0\A4\93\E0\A4\95\E0\A5\8D\E0\A4\9F\E0\A5\8B\E0\A4\AC\E0\A4\B0\00\E0\A4\A8\E0\A5\8B\E0\A4\B5\E0\A5\8D\E0\A4\B9\E0\A5\87\E0\A4\82\E0\A4\AC\E0\A4\B0\00\E0\A4\A1\E0\A4\BF\E0\A4\B8\E0\A5\87\E0\A4\82\E0\A4\AC\E0\A4\B0\00\E0\A4\AE.\E0\A4\AA\E0\A5\82.\00\E0\A4\AE.\E0\A4\A8\E0\A4\82.\00Ahd\00Isn\00Kha\00Ahad\00Isnin\00Khamis\00Jumaat\00Mac\00Ogos\00Dis\00Februari\00Julai\00Disember\00\A1ad\00Tne\00Tli\00Erb\00\A1am\00\D5im\00Sib\00il-\A1add\00it-Tnejn\00it-Tlieta\00l-Erbg\B1a\00il-\A1amis\00il-\D5img\B1a\00is-Sibt\00Fra\00Mej\00\D5un\00Lul\00Awi\00Ott\00Di\E5\00Jannar\00Frar\00Marzu\00Mejju\00\D5unju\00Lulju\00Awissu\00Settembru\00Ottubru\00Novembru\00Di\E5embru \00%A, %d ta %b, %Y %I:%M:%S %p %Z\00%A, %d ta %b, %Y\00\C4\A6ad\00\C4\A6am\00\C4\A0im\00il-\C4\A6add\00l-Erbg\C4\A7a\00il-\C4\A6amis\00il-\C4\A0img\C4\A7a\00\C4\A0un\00Di\C4\8B\00\C4\A0unju\00Di\C4\8Bembru \00zo\00di\00wo\00do\00vr\00za\00zondag\00maandag\00dinsdag\00woensdag\00donderdag\00vrijdag\00zaterdag\00mrt\00mei\00maart\00augustus\00%d-%m-%y\00su \00m\E5 \00ty \00on \00to \00fr \00lau \00sundag \00m\E5ndag \00tysdag \00onsdag \00torsdag \00fredag \00laurdag \00%d. %b %Y kl %H.%M %Z\00%d. %b %Y\00kl %H.%M %Z\00m\C3\A5 \00m\C3\A5ndag \00%a %d-%m-%Y %T %Z\00mec\00j\F3u\00dimenge\00diluns\00dimars\00dij\F3us\00disabte\00ag\F3\00geni\E8r\00febri\E8r\00abrial\00junh\00julhet\00ag\F3st\00decembre\00j\C3\B3u\00dij\C3\B3us\00ag\C3\B3\00geni\C3\A8r\00febri\C3\A8r\00ag\C3\B3st\00nie\00pon\00wto\00\B6ro\00czw\00pi\B1\00sob\00niedziela\00poniedzia\B3ek\00wtorek\00\B6roda\00czwartek\00pi\B1tek\00sobota\00sty\00lut\00kwi\00cze\00lip\00sie\00wrz\00pa\BC\00gru\00stycze\F1\00luty\00marzec\00kwiecie\F1\00czerwiec\00lipiec\00sierpie\F1\00wrzesie\F1\00pa\BCdziernik\00grudzie\F1\00\C5\9Bro\00pi\C4\85\00poniedzia\C5\82ek\00\C5\9Broda\00pi\C4\85tek\00pa\C5\BA\00stycze\C5\84\00kwiecie\C5\84\00sierpie\C5\84\00wrzesie\C5\84\00pa\C5\BAdziernik\00grudzie\C5\84\00Seg\00Ter\00Qua\00Qui\00Sex\00segunda\00ter\E7a\00quarta\00quinta\00sexta\00janeiro\00fevereiro\00mar\E7o\00maio\00junho\00julho\00setembro\00outubro\00novembro\00dezembro\00ter\C3\A7a\00mar\C3\A7o\00Segunda\00Ter\E7a\00Quarta\00Quinta\00Sexta\00Janeiro\00Fevereiro\00Mar\E7o\00Junho\00Julho\00Dezembro\00Ter\C3\A7a\00Mar\C3\A7o\00Lu\00Mi\00Jo\00Vi\00S\EE\00Duminic\C3\00Luni\00Mar\FEi\00Miercuri\00Joi\00Vineri\00S\EEmb\C3t\C3\00ian\00iun\00iul\00Ianuarie\00Martie\00Aprilie\00Iunie\00Iulie\00Septembrie\00Octombrie\00Noiembrie\00Decembrie\00S\C3\AE\00Duminic\C4\82\00Mar\C5\A3i\00S\C3\AEmb\C4\82t\C4\82\00\F7\D3\CB\00\F0\CE\C4\00\F7\D4\D2\00\F3\D2\C4\00\FE\D4\D7\00\F0\D4\CE\00\F3\C2\D4\00\F7\CF\D3\CB\D2\C5\D3\C5\CE\D8\C5\00\F0\CF\CE\C5\C4\C5\CC\D8\CE\C9\CB\00\F7\D4\CF\D2\CE\C9\CB\00\F3\D2\C5\C4\C1\00\FE\C5\D4\D7\C5\D2\C7\00\F0\D1\D4\CE\C9\C3\C1\00\F3\D5\C2\C2\CF\D4\C1\00\F1\CE\D7\00\E6\C5\D7\00\ED\C1\D2\00\E1\D0\D2\00\ED\C1\CA\00\E9\C0\CE\00\E9\C0\CC\00\E1\D7\C7\00\F3\C5\CE\00\EF\CB\D4\00\EE\CF\D1\00\E4\C5\CB\00\F1\CE\D7\C1\D2\D1\00\E6\C5\D7\D2\C1\CC\D1\00\ED\C1\D2\D4\C1\00\E1\D0\D2\C5\CC\D1\00\ED\C1\D1\00\E9\C0\CE\D1\00\E9\C0\CC\D1\00\E1\D7\C7\D5\D3\D4\C1\00\F3\C5\CE\D4\D1\C2\D2\D1\00\EF\CB\D4\D1\C2\D2\D1\00\EE\CF\D1\C2\D2\D1\00\E4\C5\CB\C1\C2\D2\D1\00\B2\E1\DA\00\BF\DD\D4\00\B2\E2\E0\00\C1\E0\D4\00\C7\E2\D2\00\BF\E2\DD\00\C1\D1\E2\00\B2\DE\E1\DA\E0\D5\E1\D5\DD\EC\D5\00\BF\DE\DD\D5\D4\D5\DB\EC\DD\D8\DA\00\B2\E2\DE\E0\DD\D8\DA\00\C1\E0\D5\D4\D0\00\C7\D5\E2\D2\D5\E0\D3\00\BF\EF\E2\DD\D8\E6\D0\00\C1\E3\D1\D1\DE\E2\D0\00\CF\DD\D2\00\C4\D5\D2\00\BC\D0\E0\00\B0\DF\E0\00\BC\D0\D9\00\B8\EE\DD\00\B8\EE\DB\00\B0\D2\D3\00\C1\D5\DD\00\BE\DA\E2\00\BD\DE\EF\00\B4\D5\DA\00\CF\DD\D2\D0\E0\EF\00\C4\D5\D2\E0\D0\DB\EF\00\BC\D0\E0\E2\D0\00\B0\DF\E0\D5\DB\EF\00\BC\D0\EF\00\B8\EE\DD\EF\00\B8\EE\DB\EF\00\B0\D2\D3\E3\E1\E2\D0\00\C1\D5\DD\E2\EF\D1\E0\EF\00\BE\DA\E2\EF\D1\E0\EF\00\BD\DE\EF\D1\E0\EF\00\B4\D5\DA\D0\D1\E0\EF\00\D0\92\D1\81\D0\BA\00\D0\9F\D0\BD\D0\B4\00\D0\92\D1\82\D1\80\00\D0\A7\D1\82\D0\B2\00\D0\9F\D1\82\D0\BD\00\D0\A1\D0\B1\D1\82\00\D0\92\D0\BE\D1\81\D0\BA\D1\80\D0\B5\D1\81\D0\B5\D0\BD\D1\8C\D0\B5\00\D0\9F\D0\BE\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D1\8C\D0\BD\D0\B8\D0\BA\00\D0\92\D1\82\D0\BE\D1\80\D0\BD\D0\B8\D0\BA\00\D0\A1\D1\80\D0\B5\D0\B4\D0\B0\00\D0\A7\D0\B5\D1\82\D0\B2\D0\B5\D1\80\D0\B3\00\D0\9F\D1\8F\D1\82\D0\BD\D0\B8\D1\86\D0\B0\00\D0\A1\D1\83\D0\B1\D0\B1\D0\BE\D1\82\D0\B0\00\D0\AF\D0\BD\D0\B2\00\D0\A4\D0\B5\D0\B2\00\D0\9C\D0\B0\D1\80\00\D0\90\D0\BF\D1\80\00\D0\9C\D0\B0\D0\B9\00\D0\98\D1\8E\D0\BD\00\D0\98\D1\8E\D0\BB\00\D0\90\D0\B2\D0\B3\00\D0\A1\D0\B5\D0\BD\00\D0\9E\D0\BA\D1\82\00\D0\9D\D0\BE\D1\8F\00\D0\94\D0\B5\D0\BA\00\D0\AF\D0\BD\D0\B2\D0\B0\D1\80\D1\8F\00\D0\A4\D0\B5\D0\B2\D1\80\D0\B0\D0\BB\D1\8F\00\D0\9C\D0\B0\D1\80\D1\82\D0\B0\00\D0\90\D0\BF\D1\80\D0\B5\D0\BB\D1\8F\00\D0\9C\D0\B0\D1\8F\00\D0\98\D1\8E\D0\BD\D1\8F\00\D0\98\D1\8E\D0\BB\D1\8F\00\D0\90\D0\B2\D0\B3\D1\83\D1\81\D1\82\D0\B0\00\D0\A1\D0\B5\D0\BD\D1\82\D1\8F\D0\B1\D1\80\D1\8F\00\D0\9E\D0\BA\D1\82\D1\8F\D0\B1\D1\80\D1\8F\00\D0\9D\D0\BE\D1\8F\D0\B1\D1\80\D1\8F\00\D0\94\D0\B5\D0\BA\D0\B0\D0\B1\D1\80\D1\8F\00\F7\D4\CF\00\F3\D5\C2\00\F1\CE\D7\C1\D2\D8\00\E6\C5\D7\D2\C1\CC\D8\00\ED\C1\D2\D4\00\E1\D0\D2\C5\CC\D8\00\E9\C0\CE\D8\00\E9\C0\CC\D8\00\E1\D7\C7\D5\D3\D4\00\F3\C5\CE\D4\D1\C2\D2\D8\00\EF\CB\D4\D1\C2\D2\D8\00\EE\CF\D1\C2\D2\D8\00\E4\C5\CB\C1\C2\D2\D8\00\D0\92\D1\82\D0\BE\00\D0\AF\D0\BD\D0\B2\D0\B0\D1\80\D1\8C\00\D0\A4\D0\B5\D0\B2\D1\80\D0\B0\D0\BB\D1\8C\00\D0\9C\D0\B0\D1\80\D1\82\00\D0\90\D0\BF\D1\80\D0\B5\D0\BB\D1\8C\00\D0\98\D1\8E\D0\BD\D1\8C\00\D0\98\D1\8E\D0\BB\D1\8C\00\D0\90\D0\B2\D0\B3\D1\83\D1\81\D1\82\00\D0\A1\D0\B5\D0\BD\D1\82\D1\8F\D0\B1\D1\80\D1\8C\00\D0\9E\D0\BA\D1\82\D1\8F\D0\B1\D1\80\D1\8C\00\D0\9D\D0\BE\D1\8F\D0\B1\D1\80\D1\8C\00\D0\94\D0\B5\D0\BA\D0\B0\D0\B1\D1\80\D1\8C\00sotn\00vuos\00ma\C5\8B\00gask\00duor\00bear\00l\C3\A1v\00sotnabeaivi\00vuoss\C3\A1rga\00ma\C5\8B\C5\8Bebarga\00gaskavahkku\00duorasdat\00bearjadat\00l\C3\A1vvardat\00o\C4\91\C4\91j\00guov\00njuk\00cuo\C5\8B\00mies\00geas\00suoi\00borg\00\C4\8Dak\C4\8D\00golg\00sk\C3\A1b\00juov\00o\C4\91\C4\91ajagem\C3\A1nu\00guovvam\C3\A1nu\00njuk\C4\8Dam\C3\A1nu\00cuo\C5\8Bom\C3\A1nu\00miessem\C3\A1nu\00geassem\C3\A1nu\00suoidnem\C3\A1nu\00borgem\C3\A1nu\00\C4\8Dak\C4\8Dam\C3\A1nu\00golggotm\C3\A1nu\00sk\C3\A1bmam\C3\A1nu\00juovlam\C3\A1nu\00%a, %b %e. b. %Y %T %Z\00Ut\00\A9t\00Pi\00Nede\B5a\00Pondelok\00Utorok\00Streda\00\A9tvrtok\00Piatok\00marec\00Nede\C4\BEa\00\C5\A0tvrtok\00ned\00sre\00\E8et\00pet\00nedelja\00ponedeljek\00torek\00sreda\00\E8etrtek\00petek\00avg\00junij\00julij\00avgust\00\C4\8Det\00\C4\8Detrtek\00Die \00H\EBn \00Mar \00M\EBr \00Enj \00Pre \00Sht \00e diel \00e h\EBn\EB \00e mart\EB \00e m\EBrkur\EB \00e enjte \00e premte \00e shtun\EB \00Shk\00Pri\00Qer\00Kor\00Gsh\00Sht\00Tet\00N\EBn\00Dhj\00janar\00shkurt\00prill\00qershor\00korrik\00gusht\00shtator\00tetor\00n\EBntor\00dhjetor\00PD\00MD\00%Y-%b-%d %I.%M.%S.%p %Z\00%Y-%b-%d\00%I.%M.%S. %Z\00%I.%M.%S.%p %Z\00H\C3\ABn \00M\C3\ABr \00e h\C3\ABn\C3\AB \00e mart\C3\AB \00e m\C3\ABrkur\C3\AB \00e shtun\C3\AB \00N\C3\ABn\00n\C3\ABntor\00uto\00sub\00ponedeljak\00utorak\00\E8etvrtak\00petak\00subota\00septembar\00oktobar\00novembar\00decembar\00%d-%m-%Y.\00\C4\8Detvrtak\00\E3\E2\DE\00\E1\E3\D1\00\DD\D5\D4\D5\F9a\00\DF\DE\DD\D5\D4\D5\F9\D0\DA\00\E3\E2\DE\E0\D0\DA\00\E7\D5\E2\D2\E0\E2\D0\DA\00\DF\D5\E2\D0\DA\00\E1\E3\D1\DE\E2\D0\00\E4\D5\D1\00\DD\DE\D2\00\D4\D5\E6\00\F8\D0\DD\E3\D0\E0\00\E4\D5\D1\E0\E3\D0\E0\00\E1\D5\DF\E2\D5\DC\D1\D0\E0\00\DE\DA\E2\DE\D1\D0\E0\00\DD\DE\D2\D5\DC\D1\D0\E0\00\D4\D5\E6\D5\DC\D1\D0\E0\00+%a %d %b %Y %T %Z\00\D1\83\D1\82\D0\BE\00\D1\81\D1\83\D0\B1\00\D0\BD\D0\B5\D0\B4\D0\B5\D1\99a\00\D0\BF\D0\BE\D0\BD\D0\B5\D0\B4\D0\B5\D1\99\D0\B0\D0\BA\00\D1\83\D1\82\D0\BE\D1\80\D0\B0\D0\BA\00\D1\87\D0\B5\D1\82\D0\B2\D1\80\D1\82\D0\B0\D0\BA\00\D0\BF\D0\B5\D1\82\D0\B0\D0\BA\00\D1\81\D1\83\D0\B1\D0\BE\D1\82\D0\B0\00\D1\84\D0\B5\D0\B1\00\D0\BD\D0\BE\D0\B2\00\D0\B4\D0\B5\D1\86\00\D1\98\D0\B0\D0\BD\D1\83\D0\B0\D1\80\00\D1\84\D0\B5\D0\B1\D1\80\D1\83\D0\B0\D1\80\00\D1\81\D0\B5\D0\BF\D1\82\D0\B5\D0\BC\D0\B1\D0\B0\D1\80\00\D0\BE\D0\BA\D1\82\D0\BE\D0\B1\D0\B0\D1\80\00\D0\BD\D0\BE\D0\B2\D0\B5\D0\BC\D0\B1\D0\B0\D1\80\00\D0\B4\D0\B5\D1\86\D0\B5\D0\BC\D0\B1\D0\B0\D1\80\00s\F6n\00m\E5n\00tis\00l\F6r\00s\F6ndag\00m\E5ndag\00tisdag\00l\F6rdag\00augusti\00%a %e %b %Y %H.%M.%S\00s\C3\B6n\00m\C3\A5n\00l\C3\B6r\00s\C3\B6ndag\00m\C3\A5ndag\00l\C3\B6rdag\00\E0\AE\9E\00\E0\AE\A4\00\E0\AE\9A\00\E0\AE\AA\00\E0\AE\B5\00\E0\AE\9E\E0\AE\BE\E0\AE\AF\E0\AE\BF\E0\AE\B1\E0\AF\81\00\E0\AE\A4\E0\AE\BF\E0\AE\99\E0\AF\8D\E0\AE\95\E0\AE\B3\E0\AF\8D\00\E0\AE\9A\E0\AF\86\E0\AE\B5\E0\AF\8D\E0\AE\B5\E0\AE\BE\E0\AE\AF\E0\AF\8D\00\E0\AE\AA\E0\AF\81\E0\AE\A4\E0\AE\A9\E0\AF\8D\00\E0\AE\B5\E0\AE\BF\E0\AE\AF\E0\AE\BE\E0\AE\B4\E0\AE\A9\E0\AF\8D\00\E0\AE\B5\E0\AF\86\E0\AE\B3\E0\AF\8D\E0\AE\B3\E0\AE\BF\00\E0\AE\9A\E0\AE\A9\E0\AE\BF\00\E0\AE\9C\E0\AE\A9\E0\AE\B5\E0\AE\B0\E0\AE\BF\00\E0\AE\AA\E0\AF\86\E0\AE\AA\E0\AF\8D\E0\AE\B0\E0\AE\B5\E0\AE\B0\E0\AE\BF\00\E0\AE\AE\E0\AE\BE\E0\AE\B0\E0\AF\8D\E0\AE\9A\E0\AF\8D\00\E0\AE\8F\E0\AE\AA\E0\AF\8D\E0\AE\B0\E0\AE\B2\E0\AF\8D\00\E0\AE\AE\E0\AF\87\00\E0\AE\9C\E0\AF\82\E0\AE\A9\E0\AF\8D\00\E0\AE\9C\E0\AF\82\E0\AE\B2\E0\AF\88\00\E0\AE\86\E0\AE\95\E0\AE\B8\E0\AF\8D\E0\AE\9F\E0\AF\8D\00\E0\AE\9A\E0\AF\86\E0\AE\AA\E0\AF\8D\E0\AE\9F\E0\AE\AE\E0\AF\8D\E0\AE\AA\E0\AE\B0\E0\AF\8D\00\E0\AE\85\E0\AE\95\E0\AF\8D\E0\AE\9F\E0\AF\8B\E0\AE\AA\E0\AE\B0\E0\AF\8D\00\E0\AE\A8\E0\AE\B5\E0\AE\AE\E0\AF\8D\E0\AE\AA\E0\AE\B0\E0\AF\8D\00\E0\AE\9F\E0\AE\BF\E0\AE\9A\E0\AE\AE\E0\AF\8D\E0\AE\AA\E0\AE\B0\E0\AF\8Dr\00\E0\AE\95\E0\AE\BE\E0\AE\B2\E0\AF\88\00\E0\AE\AE\E0\AE\BE\E0\AE\B2\E0\AF\88\00\E0\B0\86\E0\B0\A6\E0\B0\BF\00\E0\B0\B8\E0\B1\8B\E0\B0\AE\00\E0\B0\AE\E0\B0\82\E0\B0\97\E0\B0\B3\00\E0\B0\AC\E0\B1\81\E0\B0\A7\00\E0\B0\97\E0\B1\81\E0\B0\B0\E0\B1\81\00\E0\B0\B6\E0\B1\81\E0\B0\95\E0\B1\8D\E0\B0\B0\00\E0\B0\B6\E0\B0\A8\E0\B0\BF\00\E0\B0\86\E0\B0\A6\E0\B0\BF\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\B8\E0\B1\8B\E0\B0\AE\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\AE\E0\B0\82\E0\B0\97\E0\B0\B3\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\AC\E0\B1\81\E0\B0\A7\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\97\E0\B1\81\E0\B0\B0\E0\B1\81\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\B6\E0\B1\81\E0\B0\95\E0\B1\8D\E0\B0\B0\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\B6\E0\B0\A8\E0\B0\BF\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\9C\E0\B0\A8\E0\B0\B5\E0\B0\B0\E0\B0\BF\00\E0\B0\AB\E0\B0\BF\E0\B0\AC\E0\B1\8D\E0\B0\B0\E0\B0\B5\E0\B0\B0\E0\B0\BF\00\E0\B0\AE\E0\B0\BE\E0\B0\B0\E0\B1\8D\E0\B0\9A\E0\B0\BF\00\E0\B0\8F\E0\B0\AA\E0\B1\8D\E0\B0\B0\E0\B0\BF\E0\B0\B2\E0\B1\8D\00\E0\B0\AE\E0\B1\87\00\E0\B0\9C\E0\B1\82\E0\B0\A8\E0\B1\8D\00\E0\B0\9C\E0\B1\82\E0\B0\B2\E0\B1\88\00\E0\B0\86\E0\B0\97\E0\B0\B8\E0\B1\8D\E0\B0\9F\E0\B1\81\00\E0\B0\B8\E0\B1\86\E0\B0\AA\E0\B1\8D\E0\B0\9F\E0\B1\86\E0\B0\82\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\85\E0\B0\95\E0\B1\8D\E0\B0\9F\E0\B1\8B\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\A8\E0\B0\B5\E0\B0\82\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\A1\E0\B0\BF\E0\B0\B8\E0\B1\86\E0\B0\82\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\AA\E0\B1\82\E0\B0\B0\E0\B1\8D\E0\B0\B5\E0\B0\BE\E0\B0\B9\E0\B1\8D\E0\B0\A8\00\E0\B0\85\E0\B0\AA\E0\B0\B0\E0\B0\BE\E0\B0\B9\E0\B1\8D\E0\B0\A8\00\CD\D2.\00\A8.\00\CD.\00\BE.\00\BE\C4.\00\C8.\00\CA.\00\CD\D2\B7\D4\B5\C2\EC\00\A8\D1\B9\B7\C3\EC\00\CD\D1\A7\A4\D2\C3\00\BE\D8\B8\00\BE\C4\CB\D1\CA\BA\B4\D5\00\C8\D8\A1\C3\EC\00\E0\CA\D2\C3\EC\00\C1.\A4.\00\A1.\BE.\00\C1\D5.\A4.\00\E0\C1.\C2.\00\BE.\A4.\00\C1\D4.\C2.\00\A1.\A4.\00\CA.\A4.\00\A1.\C2.\00\B5.\A4.\00\BE.\C2.\00\B8.\A4.\00\C1\A1\C3\D2\A4\C1\00\A1\D8\C1\C0\D2\BE\D1\B9\B8\EC\00\C1\D5\B9\D2\A4\C1\00\E0\C1\C9\D2\C2\B9\00\BE\C4\C9\C0\D2\A4\C1\00\C1\D4\B6\D8\B9\D2\C2\B9\00\A1\C3\A1\AE\D2\A4\C1\00\CA\D4\A7\CB\D2\A4\C1\00\A1\D1\B9\C2\D2\C2\B9\00\B5\D8\C5\D2\A4\C1\00\BE\C4\C8\A8\D4\A1\D2\C2\B9\00\B8\D1\B9\C7\D2\A4\C1\00%a %e %b %Ey, %H:%M:%S\00%d/%m/%Ey\00+:1:-543/01/01:+*:\BE.\C8.:%EC %Ey\00\00%e %b %Ey\00\C7\D1\B9%A\B7\D5\E8 %e %B %EC %Ey, %H.%M.%S \B9.\00%H.%M.%S \B9.\00\E0\B8\AD\E0\B8\B2.\00\E0\B8\88.\00\E0\B8\AD.\00\E0\B8\9E.\00\E0\B8\9E\E0\B8\A4.\00\E0\B8\A8.\00\E0\B8\AA.\00\E0\B8\AD\E0\B8\B2\E0\B8\97\E0\B8\B4\E0\B8\95\E0\B8\A2\E0\B9\8C\00\E0\B8\88\E0\B8\B1\E0\B8\99\E0\B8\97\E0\B8\A3\E0\B9\8C\00\E0\B8\AD\E0\B8\B1\E0\B8\87\E0\B8\84\E0\B8\B2\E0\B8\A3\00\E0\B8\9E\E0\B8\B8\E0\B8\98\00\E0\B8\9E\E0\B8\A4\E0\B8\AB\E0\B8\B1\E0\B8\AA\E0\B8\9A\E0\B8\94\E0\B8\B5\00\E0\B8\A8\E0\B8\B8\E0\B8\81\E0\B8\A3\E0\B9\8C\00\E0\B9\80\E0\B8\AA\E0\B8\B2\E0\B8\A3\E0\B9\8C\00\E0\B8\A1.\E0\B8\84.\00\E0\B8\81.\E0\B8\9E.\00\E0\B8\A1\E0\B8\B5.\E0\B8\84.\00\E0\B9\80\E0\B8\A1.\E0\B8\A2.\00\E0\B8\9E.\E0\B8\84.\00\E0\B8\A1\E0\B8\B4.\E0\B8\A2.\00\E0\B8\81.\E0\B8\84.\00\E0\B8\AA.\E0\B8\84.\00\E0\B8\81.\E0\B8\A2.\00\E0\B8\95.\E0\B8\84.\00\E0\B8\9E.\E0\B8\A2.\00\E0\B8\98.\E0\B8\84.\00\E0\B8\A1\E0\B8\81\E0\B8\A3\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\81\E0\B8\B8\E0\B8\A1\E0\B8\A0\E0\B8\B2\E0\B8\9E\E0\B8\B1\E0\B8\99\E0\B8\98\E0\B9\8C\00\E0\B8\A1\E0\B8\B5\E0\B8\99\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B9\80\E0\B8\A1\E0\B8\A9\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\9E\E0\B8\A4\E0\B8\A9\E0\B8\A0\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\A1\E0\B8\B4\E0\B8\96\E0\B8\B8\E0\B8\99\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\81\E0\B8\A3\E0\B8\81\E0\B8\8E\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\AA\E0\B8\B4\E0\B8\87\E0\B8\AB\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\81\E0\B8\B1\E0\B8\99\E0\B8\A2\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\95\E0\B8\B8\E0\B8\A5\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\9E\E0\B8\A4\E0\B8\A8\E0\B8\88\E0\B8\B4\E0\B8\81\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\98\E0\B8\B1\E0\B8\99\E0\B8\A7\E0\B8\B2\E0\B8\84\E0\B8\A1\00+:1:-543/01/01:+*:\E0\B8\9E.\E0\B8\A8.:%EC %Ey\00\00\E0\B8\A7\E0\B8\B1\E0\B8\99%A\E0\B8\97\E0\B8\B5\E0\B9\88 %e %B %EC %Ey, %H.%M.%S \E0\B8\99.\00%H.%M.%S \E0\B8\99.\00\E1\88\B0\E1\8A\95\E1\89\A0\E1\89\B5\00\E1\88\B0\E1\8A\91\E1\8B\AD\00\E1\88\B0\E1\88\89\E1\88\B5\00\E1\88\93\E1\88\99\E1\88\B5\00\E1\8B\93\E1\88\AD\E1\89\A2\00\E1\89\80\E1\8B\B3\E1\88\9D\00\E1\8C\A5\E1\88\AA\00\E1\88\88\E1\8A\AB\E1\89\B2\00\E1\88\98\E1\8C\8B\E1\89\A2\00\E1\88\9A\E1\8B\AB\E1\8B\9D\00\E1\8C\8D\E1\8A\95\E1\89\A6\00\E1\88\B0\E1\8A\90\00\E1\88\93\E1\88\9D\E1\88\88\00\E1\8A\90\E1\88\93\E1\88\B0\00\E1\88\98\E1\88\B5\E1\8A\A8\00\E1\8C\A5\E1\89\85\E1\88\9D\00\E1\88\95\E1\8B\B3\E1\88\AD\00\E1\89\B3\E1\88\95\E1\88\B3\00\E1\88\88\E1\8A\AB\E1\89\B2\E1\89\B5\00\E1\88\98\E1\8C\8B\E1\89\A2\E1\89\B5\00\E1\88\9A\E1\8B\AB\E1\8B\9D\E1\8B\AB\00\E1\8C\8D\E1\8A\95\E1\89\A6\E1\89\B5\00\E1\88\98\E1\88\B5\E1\8A\A8\E1\88\A8\E1\88\9D\00\E1\8C\A5\E1\89\85\E1\88\9D\E1\89\B2\00\E1\89\B3\E1\88\95\E1\88\B3\E1\88\B5\00\E1\8A\95\E1\8C\89\E1\88\86 \E1\88\B0\E1\8B\93\E1\89\B0\00\E1\8B\B5\E1\88\95\E1\88\AD \E1\88\B0\E1\8B\93\E1\89\B5\00%A\E1\8D\A3 %b %e \E1\88\98\E1\8B\93\E1\88\8D\E1\89\B2 %l:%M:%S %Z %Y\00Lin\00Miy\00Huw\00Biy\00Linggo\00Lunes\00Miyerkoles\00Huwebes\00Biyernes\00Sabado\00Ene\00Hun\00Hul\00Nob\00Enero\00Pebrero\00Marso\00Mayo\00Hunyo\00Hulyo\00Septiyembre\00Oktubre\00Nobiyembre\00Disyembre\00Paz\00Pzt\00Sal\00\C7r\FE\00Pr\FE\00Cum\00Cts\00Pazar\00Pazartesi\00Sal\FD\00\C7ar\FEamba\00Per\FEembe\00Cuma\00Cumartesi\00Oca\00\DEub\00Nis\00Haz\00Tem\00A\F0u\00Eyl\00Eki\00Kas\00Ara\00Ocak\00\DEubat\00Nisan\00May\FDs\00Haziran\00Temmuz\00A\F0ustos\00Eyl\FCl\00Ekim\00Kas\FDm\00Aral\FDk\00\D6\D6\00\D6S\00\C3\87r\C5\9F\00Pr\C5\9F\00Sal\C4\B1\00\C3\87ar\C5\9Famba\00Per\C5\9Fembe\00\C5\9Eub\00A\C4\9Fu\00\C5\9Eubat\00May\C4\B1s\00A\C4\9Fustos\00Eyl\C3\BCl\00Kas\C4\B1m\00Aral\C4\B1k\00\C3\96\C3\96\00\C3\96S\00\D0\AF\D0\BA\D1\88\00\D0\94\D1\8B\D1\88\00\D0\A1\D0\B8\D1\88\00\D0\A7\D3\99\D1\80\D1\88\00\D0\9F\D3\99\D0\BD\D2\97\00\D2\96\D0\BE\D0\BC\00\D0\A8\D0\B8\D0\BC\00\D0\AF\D0\BA\D1\88\D3\99\D0\BC\D0\B1\D0\B5\00\D0\94\D1\8B\D1\88\D3\99\D0\BC\D0\B1\D0\B5\00\D0\A1\D0\B8\D1\88\D3\99\D0\BC\D0\B1\D0\B5\00\D0\A7\D3\99\D1\80\D1\88\D3\99\D3\99\D0\BC\D0\B1\D0\B5\00\D0\9F\D3\99\D0\BD\D2\97\D0\B5\D1\88\D0\BC\D0\B1\D0\B5\00\D2\96\D0\BE\D0\BC\D0\B3\D0\B0\00\D0\A8\D0\B8\D0\BC\D0\B1\D3\99\00\EE\C4\CC\00\EE\C5\C4\A6\CC\D1\00\F0\CF\CE\C5\C4\A6\CC\CF\CB\00\F7\A6\D7\D4\CF\D2\CF\CB\00\F3\C5\D2\C5\C4\C1\00\FE\C5\D4\D7\C5\D2\00\F0'\D1\D4\CE\C9\C3\D1\00\F3\D5\C2\CF\D4\C1\00\F3\A6\DE\00\EC\C0\D4\00\E2\C5\D2\00\EB\D7\A6\00\F4\D2\C1\00\FE\C5\D2\00\EC\C9\D0\00\F3\C5\D2\00\F7\C5\D2\00\F6\CF\D7\00\EC\C9\D3\00\E7\D2\D5\00\F3\A6\DE\C5\CE\D8\00\EC\C0\D4\C9\CA\00\E2\C5\D2\C5\DA\C5\CE\D8\00\EB\D7\A6\D4\C5\CE\D8\00\F4\D2\C1\D7\C5\CE\D8\00\FE\C5\D2\D7\C5\CE\D8\00\EC\C9\D0\C5\CE\D8\00\F3\C5\D2\D0\C5\CE\D8\00\F7\C5\D2\C5\D3\C5\CE\D8\00\F6\CF\D7\D4\C5\CE\D8\00\EC\C9\D3\D4\CF\D0\C1\C4\00\E7\D2\D5\C4\C5\CE\D8\00\D0\9D\D0\B4\D0\BB\00\D0\9D\D0\B5\D0\B4\D1\96\D0\BB\D1\8F\00\D0\9F\D0\BE\D0\BD\D0\B5\D0\B4\D1\96\D0\BB\D0\BE\D0\BA\00\D0\92\D1\96\D0\B2\D1\82\D0\BE\D1\80\D0\BE\D0\BA\00\D0\A1\D0\B5\D1\80\D0\B5\D0\B4\D0\B0\00\D0\A7\D0\B5\D1\82\D0\B2\D0\B5\D1\80\00\D0\9F'\D1\8F\D1\82\D0\BD\D0\B8\D1\86\D1\8F\00\D0\A1\D1\96\D1\87\00\D0\91\D0\B5\D1\80\00\D0\9A\D0\B2\D1\96\00\D0\A7\D0\B5\D1\80\00\D0\9B\D0\B8\D0\BF\00\D0\A1\D0\B5\D1\80\00\D0\92\D0\B5\D1\80\00\D0\96\D0\BE\D0\B2\00\D0\9B\D0\B8\D1\81\00\D0\93\D1\80\D1\83\00\D0\A1\D1\96\D1\87\D0\B5\D0\BD\D1\8C\00\D0\9B\D1\8E\D1\82\D0\B8\D0\B9\00\D0\91\D0\B5\D1\80\D0\B5\D0\B7\D0\B5\D0\BD\D1\8C\00\D0\9A\D0\B2\D1\96\D1\82\D0\B5\D0\BD\D1\8C\00\D0\A7\D0\B5\D1\80\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\9B\D0\B8\D0\BF\D0\B5\D0\BD\D1\8C\00\D0\A1\D0\B5\D1\80\D0\BF\D0\B5\D0\BD\D1\8C\00\D0\92\D0\B5\D1\80\D0\B5\D1\81\D0\B5\D0\BD\D1\8C\00\D0\96\D0\BE\D0\B2\D1\82\D0\B5\D0\BD\D1\8C\00\D0\9B\D0\B8\D1\81\D1\82\D0\BE\D0\BF\D0\B0\D0\B4\00\D0\93\D1\80\D1\83\D0\B4\D0\B5\D0\BD\D1\8C\00\D8\A7\D8\AA\D9\88\D8\A7\D8\B1\00\D9\BE\D9\8A\D8\B1\00\D9\85\D9\86\DA\AF\D9\84\00\D8\A8\D8\AF\DA\BE\00\D8\AC\D9\85\D8\B9\D8\B1\D8\A7\D8\AA\00\D9\87\D9\81\D8\AA\D9\87\00\D8\AC\D9\86\D9\88\D8\B1\D9\8A\00\D9\81\D8\B1\D9\88\D8\B1\D9\8A\00\D9\85\D8\A7\D8\B1\DA\86\00\D8\A7\D9\BE\D8\B1\D9\8A\D9\84\00\D9\85\D9\93\DB\8C\00\D8\AC\D9\88\D9\86\00\D8\AC\D9\88\D9\84\D8\A7\D9\8A\00\D8\A7\DA\AF\D8\B3\D8\AA\00\D8\B3\D8\AA\D9\85\D8\A8\D8\B1\00\D8\A7\D9\83\D8\AA\D9\88\D8\A8\D8\B1\00\D9\86\D9\88\D9\85\D8\A8\D8\B1\00\D8\AF\D8\B3\D9\85\D8\A8\D8\B1\00\D8\B4\00\D9\88 %H:%M:%S %Z \D8\AA %d %B %Y\00%P %I:%M:%S\00Yak\00Se\00Cho\00Pay\00Ju\00Sha\00yakshanba\00dushanba\00seshanba\00chorshanba\00payshanba\00juma\00shanba\00Yav\00Iyn\00Iyl\00Avg\00senyabr\00%T, %d %B, %Y yil, %A\00CN \00Th 2 \00Th 3 \00Th 4 \00Th 5 \00Th 6 \00Th 7 \00Chu\CC\89 nh\C3\A2\CC\A3t \00Th\C6\B0\CC\81 hai \00Th\C6\B0\CC\81 ba \00Th\C6\B0\CC\81 t\C6\B0 \00Th\C6\B0\CC\81 n\C4\83m \00Th\C6\B0\CC\81 s\C3\A1u \00Th\C6\B0\CC\81 ba\CC\89y \00Thg 1\00Thg 2\00Thg 3\00Thg 4\00Thg 5\00Thg 6\00Thg 7\00Thg 8\00Thg 9\00Thg 10\00Thg 11\00Thg 12\00Th\C3\A1ng m\C3\B4\CC\A3t\00Th\C3\A1ng hai\00Th\C3\A1ng ba\00Th\C3\A1ng t\C6\B0\00Th\C3\A1ng n\C4\83m\00Th\C3\A1ng s\C3\A1u\00Th\C3\A1ng ba\CC\89y\00Th\C3\A1ng t\C3\A1m\00Th\C3\A1ng ch\C3\ADn\00Th\C3\A1ng m\C6\B0\C6\A1\CC\80i\00Th\C3\A1ng m\C6\B0\C6\A1\CC\80i m\C3\B4\CC\A3t\00Th\C3\A1ng m\C6\B0\C6\A1\CC\80i hai\00%H:%M:%S %Z %A %d %b %Y\00%H:%M:%S %Z\00d\EEm\00lon\00m\E5r\00dju\00vin\00sem\00d\EEmegne\00londi\00m\E5rdi\00merkidi\00djudi\00vinrdi\00semdi\00dja\00fev\00m\E5s\00djn\00djl\00awo\00n\F4v\00djanv\EE\00fevr\EE\00m\E5ss\00avri\00djun\00djulete\00awousse\00setimbe\00oct\F4be\00n\F4vimbe\00decimbe\00Li %A %d di %B %Y %T %Z\00d\C3\AEm\00m\C3\A5r\00d\C3\AEmegne\00m\C3\A5rdi\00m\C3\A5s\00n\C3\B4v\00djanv\C3\AE\00fevr\C3\AE\00m\C3\A5ss\00oct\C3\B4be\00n\C3\B4vimbe\00\E6\E5\F0'\00\EE\E0\C8\F0'\00\E3\E9\F0'\00\EE\E9\E8'\00\E3\E0\C8\F0'\00\F4\CF\F8\D6\C7'\00\E6\E5\F0\E8\E9\F7\00\EE\E0\C8\F0\E8\E9\F7\00\E3\E9\F0\F1\E8\E9\F7\00\EE\E9\E8\D4\E0\C8\EA\00\E3\E0\C8\F0\F2\F8\F9\E8\E9\F7\00\F4\CF\F8\D6\C7\E8\E9\F7\00\E9\E0\C7\F0'\00\F4\CF\F2\E1'\00\EE\E0\C7\F8'\00\E0\C7\F4\CC\F8'\00\EE\D6\C7\00\E9\E5\F0'\00\E9\E5\EC'\00\E0\D5\E2'\00\F1\F2\F4\CC'\00\E0\C8\F7\E8'\00\F0\E0\C8\D4'\00\E3\F2\F6'\00\E9\E0\C7\F0\E5\E0\C7\F8\00\F4\CF\F2\E1\F8\E5\E0\C7\F8\00\EE\E0\C7\F8\F5\00\E0\C7\F4\CC\F8\E9\EC\00\E0\D5\E2\F1\E8\00\F1\F2\F4\CC\E8\F2\EE\E1\F2\F8\00\E0\C8\F7\E8\E0\C8\E1\F2\F8\00\F0A\C8\D4\F2\EE\E1\F2\F8\00\D7\96\D7\95\D7\A0'\00\D7\9E\D7\90\D6\B8\D7\A0'\00\D7\93\D7\99\D7\A0'\00\D7\9E\D7\99\D7\98'\00\D7\93\D7\90\D6\B8\D7\A0'\00\D7\A4\D6\BF\D7\A8\D7\B2\D6\B7'\00\D7\96\D7\95\D7\A0\D7\98\D7\99\D7\A7\00\D7\9E\D7\90\D6\B8\D7\A0\D7\98\D7\99\D7\A7\00\D7\93\D7\99\D7\A0\D7\A1\D7\98\D7\99\D7\A7\00\D7\9E\D7\99\D7\98\D7\B0\D7\90\D6\B8\D7\9A\00\D7\93\D7\90\D6\B8\D7\A0\D7\A2\D7\A8\D7\A9\D7\98\D7\99\D7\A7\00\D7\A4\D6\BF\D7\A8\D7\B2\D6\B7\D7\98\D7\99\D7\A7\00\D7\99\D7\90\D6\B7\D7\A0'\00\D7\A4\D6\BF\D7\A2\D7\91'\00\D7\9E\D7\90\D6\B7\D7\A8'\00\D7\90\D6\B7\D7\A4\D6\BC\D7\A8'\00\D7\9E\D7\B2\D6\B7\00\D7\99\D7\95\D7\A0'\00\D7\99\D7\95\D7\9C'\00\D7\90\D7\B1\D7\92'\00\D7\A1\D7\A2\D7\A4\D6\BC'\00\D7\90\D6\B8\D7\A7\D7\98'\00\D7\A0\D7\90\D6\B8\D7\B0'\00\D7\93\D7\A2\D7\A6'\00\D7\99\D7\90\D6\B7\D7\A0\D7\95\D7\90\D6\B7\D7\A8\00\D7\A4\D6\BF\D7\A2\D7\91\D7\A8\D7\95\D7\90\D6\B7\D7\A8\00\D7\9E\D7\90\D6\B7\D7\A8\D7\A5\00\D7\90\D6\B7\D7\A4\D6\BC\D7\A8\D7\99\D7\9C\00\D7\90\D7\B1\D7\92\D7\A1\D7\98\00\D7\A1\D7\A2\D7\A4\D6\BC\D7\98\D7\A2\D7\9E\D7\91\D7\A2\D7\A8\00\D7\90\D6\B8\D7\A7\D7\98\D7\90\D6\B8\D7\91\D7\A2\D7\A8\00\D7\A0A\D6\B8\D7\B0\D7\A2\D7\9E\D7\91\D7\A2\D7\A8\00\E4\B8\80\00\E4\BA\8C\00\E4\B8\89\00\E5\9B\9B\00\E4\BA\94\00\E5\85\AD\00\E6\98\9F\E6\9C\9F\E6\97\A5\00\E6\98\9F\E6\9C\9F\E4\B8\80\00\E6\98\9F\E6\9C\9F\E4\BA\8C\00\E6\98\9F\E6\9C\9F\E4\B8\89\00\E6\98\9F\E6\9C\9F\E5\9B\9B\00\E6\98\9F\E6\9C\9F\E4\BA\94\00\E6\98\9F\E6\9C\9F\E5\85\AD\00\E4\B8\80\E6\9C\88\00\E4\BA\8C\E6\9C\88\00\E4\B8\89\E6\9C\88\00\E5\9B\9B\E6\9C\88\00\E4\BA\94\E6\9C\88\00\E5\85\AD\E6\9C\88\00\E4\B8\83\E6\9C\88\00\E5\85\AB\E6\9C\88\00\E4\B9\9D\E6\9C\88\00\E5\8D\81\E6\9C\88\00\E5\8D\81\E4\B8\80\E6\9C\88\00\E5\8D\81\E4\BA\8C\E6\9C\88\00\E4\B8\8A\E5\8D\88\00\E4\B8\8B\E5\8D\88\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %A %H\E6\97\B6%M\E5\88\86%S\E7\A7\92\00%H\E6\97\B6%M\E5\88\86%S\E7\A7\92\00%p %I\E6\97\B6%M\E5\88\86%S\E7\A7\92\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %A %H:%M:%S\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %A\00%I\E6\99\82%M\E5\88\86%S\E7\A7\92 %Z\00%p %I:%M:%S\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %H\E6\97\B6%M\E5\88\86%S\E7\A7\92 %Z\00%H\E6\97\B6%M\E5\88\86%S\E7\A7\92 %Z\00\E9\80\B1\E6\97\A5\00\E9\80\B1\E4\B8\80\00\E9\80\B1\E4\BA\8C\00\E9\80\B1\E4\B8\89\00\E9\80\B1\E5\9B\9B\00\E9\80\B1\E4\BA\94\00\E9\80\B1\E5\85\AD\00\E8\A5\BF\E5\85\83%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 (%A) %H\E6\99\82%M\E5\88\86%S\E7\A7\92\00\E8\A5\BF\E5\85\83%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5\00%p %I\E6\99\82%M\E5\88\86%S\E7\A7\92\00", [1804 x i8] c"\00^[yY]\00^[nN]\00[jJ].*\00[nN].*\00^[yY].*\00^[nN].*\00^[\E6].*\00^[\E4].*\00^[\D9\86].*\00^[\D9\84].*\00^[\D9\86]\00^[\D9\84]\00\D9\86\D8\B9\D9\85\00\D9\84\D8\A7\00^(\E6|\E6\D9\E5)\00^(\E4|\E4\C7)\00\E6\D9\E5\00\E4\C7\00^(\D9\86|\D9\86\D8\B9\D9\85)\00^(\D9\84|\D9\84\D8\A7)\00^[Bb].*\00^[YyNn].*\00yox\00b\C9\99li\00^[\C4\E4Yy].*\00^[\CD\EDNn].*\00^[\D0\94\D0\B4Yy].*\00^[\D0\9D\D0\BDNn].*\00^[+1\C4\E4DdYyOo].*\00^[-0\CD\EDNnKk].*\00^[+1\D0\94\D0\B4DdYyOo].*\00^[-0\D0\9D\D0\BDNnKk].*\00[yYsS\D5\A1\D4\B1].*\00[nN\D5\B8\D5\88].*\00\D5\A1\D5\B5\D5\B8\00\D5\B8\D5\B9\00^[\E0\A6\B9\E0\A7\8D\E0\A6\AF\E0\A6\BE\E0\A6\81]\00^[\E0\A6\A8\E0\A6\BE]\00\E0\A6\B9\E0\A7\8D\E0\A6\AF\E0\A6\BE\E0\A6\81\00\E0\A6\A8\E0\A6\BE\00[oOyY].*\00^[dDyY]*.\00^[nN]*.\00[sSyY].*\00^[aAyY].*\00ano\00ne\00[iItTyY].*\00ie\00na\00^[1JjYy].*\00^[0Nn].*\00^[jJyY].*\00^[\ED\CDyY].*\00^[\EF\CFnN].*\00^[\CE\BD\CE\9DyY].*\00^[\CE\BF\CE\9FnN].*\00[yY].*\00^[yYoO].*\00^[1JjsSyYoO].*\00^[0nN].*\00Yes\00No\00^[JjYy].*\00^[sSyY].*\00^[EeNn].*\00^[bBsSyY].*\00^[eEnN].*\00[yY\D8\A8f].*\00[nN\D8\AE\D9\86o].*\00^[KkJjYy].*\00^[NnEe].*\00^[Nn].*\00^[oOjJyY1].*\00^[nN0].*\00^[oOyY].*\00^[OojJsSyY].*\00^[tTyY].*\00^[Yy\EB].*\00^[Nn\EC].*\00^[Yy\D7\9B].*\00^[Nn\D7\9C].*\00^[dDyY].*\00^[IiYy].*\00[yYsS\B3\B2].*\00[nN\E1\E0].*\00\B3\DB\E1\00\E1\E3\00[tTnN].*\00^[sSjJoOyY].*\00^([yY\EF\BD\99\EF\BC\B9]|\E3\81\AF\E3\81\84|\E3\83\8F\E3\82\A4)\00^([nN\EF\BD\8E\EF\BC\AE]|\E3\81\84\E3\81\84\E3\81\88|\E3\82\A4\E3\82\A4\E3\82\A8)\00\E3\81\AF\E3\81\84\00\E3\81\84\E3\81\84\E3\81\88\00[1yYkKxX\E1].*\00[0nNaA\C0].*\00[1yYkKxX\E1\83\AE].*\00[0nNaA\E1\83\90].*\00^[JjYyAa].*\00^[yY\EC\98\88]\00^[nN\EC\95\84\EB\8B\88\EC\98\A4]\00[eE].*\00^[TtYy].*\00^[1yY\E2\C2\E4\C4aA].*\00^[0nNkK].*\00\E2e\00k\E2ore\00^[1yY\C4\81\C4\80\C3\A4\C3\84aA].*\00\C4\81e\00k\C4\81ore\00[\B4\D4DdYy1].*\00[\BD\DDNn0].*\00\D4\D0\00\DD\D5\00[\D0\94\D0\B4DdYy1].*\00[\D0\9D\D0\BDNn0].*\00\D0\B4\D0\B0\00\D0\BD\D0\B5\00^(Yes|[yY])\00^(No|[nN])\00^[tT]\00Ya\00Tidak\00[oOsS].*\00^[SsyY].*\00^[DdYy].*\00^[\E4\C4Yy].*\00^[\EE\CENn].*\00^[\B4\D4Yy].*\00^[\BD\DDNn].*\00[\E4\C4Yy].*\00[\EE\CENn].*\00[\D0\94\D0\B4Yy].*\00[\D0\9D\D0\BDNn].*\00^[Ii].*\00[aA\E1\C1yY].*\00\E1no\00nie\00[aA\C3\A1\C3\81yY].*\00\C3\A1no\00^[YyJj].*\00[dDyY1].*\00[nN0].*\00[\B4\D4Yy].*\00[\BD\DDNn].*\00^[\E0\AE\86\E0\AE\AE\E0\AF\8D]\00^[\E0\AE\87\E0\AE\B2\E0\AF\8D\E0\AE\B2\E0\AF\88]\00\E0\AE\86\E0\AE\AE\E0\AF\8D\00\E0\AE\87\E0\AE\B2\E0\AF\8D\E0\AE\B2\E0\AF\88\00^[\E0\B0\85]\00^[\E0\B0\95]\00\E0\B0\85\E0\B0\B5\E0\B0\A8\E0\B1\81\00\E0\B0\95\E0\B0\BE\E0\B0\A6\E0\B1\81\00\C4\C1\00\CE\C5\D4\00\D0\BD\D0\B5\D1\82\00^[yY\AA]\00^[nN\C1]\00\E3\AA\E8\00\E4\C1\E8\E3\AA\E8\00^[yY\E0\B8\8A]\00^[nN\E0\B8\A1]\00\E0\B9\83\E0\B8\8A\E0\B9\88\00\E0\B9\84\E0\B8\A1\E0\B9\88\E0\B9\83\E0\B8\8A\E0\B9\88\00^[eE].*\00^[hH].*\00evet\00hay\FDr\00hay\C4\B1r\00\D3\98\D0\B9\D0\B5\00\D0\AE\D0\BA\00[\F4\D4Yy].*\00[\D0\A2\D1\82Yy].*\00[yY\D9\87\D8\A8f].*\00[nN\D9\86o].*\00\D8\A8\D9\84\D9\83\D9\84\00\D9\86\D9\87\D9\8A\DA\BA\00^[YyHh].*\00^[JjNn].*\00Ha\00Yo'q\00[oOyYaAwW].*\00Oyi\00Neni\00^[Yy\E9].*\00^[Nn\F0\F7].*\00\E9\E0\C7\00\F7\D6\EF\00^[Yy\D7\99].*\00^[Nn\D7\A0\D7\A7].*\00\D7\99\D7\90\D6\B7\00\D7\A7\D7\B2\D7\9F\00^[yY\E6\98\AF]\00^[nN\E4\B8\8D\E5\90\A6]\00", [23 x %struct.__codeset_8_bit_t.202] [%struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\01\02\03\04\04\04\04\04\04\04\04\05", [16 x i8] c"\00\00\00\00\01\02\03\04\04\04\04\04\04\04\04\05", [16 x i8] c"\00\01\02\03\04\05\06\07\08\09\0A\0B\0C\0D\0E\0F", [38 x i8] c"\00\01\01\01\01\02\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\03\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06", [16 x i8] zeroinitializer, [16 x i8] c"\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10", [38 x i8] c"\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\07\08\09\0A\0B\0C\0D\0E\0F\0F\0F\0F\10\10\10\10", [16 x i8] c"\06\07\08\07\09\0A\0B\0C\0D\0D\0D\0D\0D\0D\0D\0D", [16 x i8] c"\11\12\13\14\15\16\17\18\19\1A\1B\1C\1D\1E\1F ", [38 x i8] c"\04\01\01\01\05\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\06\07\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\11\12\13\12\02\02\14\02\02\15\16\17\18\18\18\19", [16 x i8] zeroinitializer, [16 x i8] c"!\22#$%&'()*+,-./0", [38 x i8] c"\08\09\0A\01\01\0B\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\0C\0D\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\1A\1B\1C\1D\02\1E\14\1E\18\18\18\18\1F\10 \10", [16 x i8] c"\00\0E\00\0F\00\00\00\00\00\00\00\00\00\00\00\10", [16 x i8] c"123456'789:;<=>?", [38 x i8] c"\0E\0F\0A\01\01\01\01\01\01\01\01\01\01\01\01\01\10\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\11\0D\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\02\1E\14\1E\0F\0F!\22\10\10 \10", [16 x i8] c"\00\00\00\00\00\00\00\00\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\0356'7@ABCD=>?", [38 x i8] c"\12\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00#$%&\0F\0F\0F\22\10\10\10'", [16 x i8] c"\00\00\00\00\12\13\12\13\0D\0D\0D\11\0D\0D\0D\11", [16 x i8] c"\00\01\02\03EFGHIJKLMNOP", [38 x i8] c"\13\14\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\15\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\02\0C\14(\0F\0F!\22\10\10 ", [16 x i8] c"\00\00\00\00\00\0A\00\0A\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\03QRSTUVWXYZ[\\", [38 x i8] c"\16\17\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\18\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00)*+,\0F\0F\0F\22\10\10\10\10", [16 x i8] c"\00\00\00\00\14\15\16\17\0D\0D\0D\11\0D\0D\0D\18", [16 x i8] c"\00\01\02\03]^_`@AabD=cd", [38 x i8] c"\19\1A\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\1B\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00-./0\0F\0F!\22\10\10 \10", [16 x i8] c"\00\00\00\00\19\1A\1B\1C\0D\0D\11\11\0D\0D\11\1D", [16 x i8] c"\00\01\02\03efgh@ABCD=>?", [38 x i8] c"\1C\1D\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\1E\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\001234\0F\0F\0F\22\10\10\10\10", [16 x i8] c"\00\00\00\00\1E\1F !\0D\0D\0D\11\0D\0D\0D\1D", [16 x i8] c"\00\01\02\03ijklmAnop=qr", [38 x i8] c"\1F !\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\22\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\005678\0F\0F!\22\10\10 ", [16 x i8] c"\00\00\00\00\22#\22#\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\03stuvwxyz{|}~", [38 x i8] c"#$%\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\009:;<=\0F>\22?\10@ ", [16 x i8] c"\00\00\00\00$%$&'\0D(\11'\0D(\11", [16 x i8] c"\00\01\02\03\7F\80\81\82\83A\84\85\86=\87\88", [38 x i8] c"&'(\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00AB7C\0F\0F!\22\10\10 ", [16 x i8] c"\00\00\00\00\22)\22*\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\03\89\8A\8B\8CI\8D\8E\8FM\90\91\92", [38 x i8] c")*+\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00D$\0F\0F\0F\0F\10\10\10\10E&", [16 x i8] c"\00\00\00\00+,\0D\0D\0D\0D\0D\0D\0D\0D+,", [16 x i8] c"\00\01\02\03\93\94\19\1A\1B\1C\1D\1E\1F \95\96", [38 x i8] c",\01\01\01-\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01.\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00FG\06HI\18\18J\18KL\06", [16 x i8] zeroinitializer, [16 x i8] c"\00\01\02\03\97\98\10\99\9A\9B\9C\9D\9E\9F\A0\10", [38 x i8] c"/\01\01\01\01\010\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00MN-OP\0FQRS\10\10T", [16 x i8] c"\00\00\00\00\00\00-./\0D01/\0D23", [16 x i8] c"\00\01\02\03\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC", [38 x i8] c"1\01\012\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\013\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00U\02\14V\06\06\06W\18\18\18\19", [16 x i8] zeroinitializer, [16 x i8] c"\00\01\02\03\AD&'\AE\10\10\10\AF-./0", [38 x i8] c"4\01\01\01\015\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\016\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\02\1E\14\1E\0F\0F!\22\10\10 \10", [16 x i8] c"\00\00\00\00\00\00\00\00\0D\0D\114\0D\0D\115", [16 x i8] c"\00\01\02\0356'7@A\B0\B1D=\B2\B3", [38 x i8] c"78\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\02\02\02\02X\02Y\02\10\10\10\10\0F\0F\0F\0F", [16 x i8] c"\00\00\00\006\006\0077777777", [16 x i8] c"\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\BF\C0\C1\C2\C3", [38 x i8] c"9\01\01\01:\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01;<\01=" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"Z[\\]^_`a\10\10\10\10\0F\0F\0F\0F", [16 x i8] c"89:\00;\00<\0077777777", [16 x i8] c"\C4\C5\C6\C7\C8\C9\CA\CB\BC\BD\BE\BF\C0\C1\C2\C3", [38 x i8] c">\01\01\01?\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\11\07\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\02\02\02\02b\14cd\10\10\10\10\0F\0F\0F\0F", [16 x i8] c"\00\00\00\00=>=>77777777", [16 x i8] c"\B4\B5\B6\B7\CC\CD\CE\CF\BC\BD\BE\BF\C0\C1\C2\C3", [38 x i8] c"9\01\01\01@\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01;<\01A" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\06\06\06\06I\18\18\18\18e\18fge\18h", [16 x i8] zeroinitializer, [16 x i8] c"\10\10\10\10\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB", [38 x i8] c"\01\01\01\01\01\01\01\01\01\01\01\01\01\01B\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }], [20 x i8] c"\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\01\01\01\01\01", [10 x i16] [i16 0, i16 2, i16 4, i16 6, i16 8, i16 10, i16 12, i16 14, i16 16, i16 18], [20 x i16] [i16 1, i16 21, i16 3, i16 24, i16 5, i16 27, i16 7, i16 30, i16 9, i16 33, i16 11, i16 36, i16 13, i16 39, i16 15, i16 42, i16 17, i16 45, i16 19, i16 48], [45 x i8] c"\00\00\00\01\01\01\00\02\01\00\02\02\01\00\01\01\00\00\01\03\01\01\04\01\00\05\01\01\01\00\02\06\01\01\05\00\01\07\01\01\05\01\00\02\03", [3 x i16] [i16 0, i16 3, i16 11], [15 x i16] [i16 1, i16 3, i16 17, i16 0, i16 1, i16 3, i16 10, i16 12, i16 15, i16 20, i16 23, i16 0, i16 5, i16 7, i16 25], [3894 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\03\03\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\03\03\04\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\04\04\05\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\05\04\06\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\06\05\07\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\07\05\08\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\08\06\09\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\09\06\0A\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0A\07\0B\02\02\02\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\0B\08\0C\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0C\08\0D\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0D\09\0E\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0E\09\0F\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0F\0A\10\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\10\0A\11\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\11\0B\12\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\12\0B\13\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\13\0C\14\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\14\0C\15\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\15\0D\16\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\16\0D\17\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\17\0E\18\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\18\0E\19\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\19\0F\1A\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1A\0F\1B\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1B\10\1C\02\00\00\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01\1C\10\1D\02\00\00\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01\1D\11\1E\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1E\11\1F\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1F\12 \02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02 \12!\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02!\13\22\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\22\13#\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02#\14$\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02$\14%\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02%\15&\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01&\16'\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01'\16(\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01(\17)\01\04\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01)\17*\01\05\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01*\00+\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01+\07,\02\02\03\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01,\18-\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01-\18.\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01.\19/\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01/\18-\01\01\03\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\01\03\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\011\180\01\01\03\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\012\1A1\01\04\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\013\1A2\01\05\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\014\1B3\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\015\1B4\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\016\1C5\01\01\01\00\01\01\01\01\03\01\03\02\03\01\03\01\03\02\037\18-\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\011\180\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\012\18-\01\01\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\030\18.\01\01\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\031\180\01\01\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\032\1D6\02\03\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\038\18-\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01-\18.\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01.\180\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\019\18-\01\01\01\00\01\04\04\02\01\01\01\01\01\02\01\01\01\01\01-\18.\01\01\01\00\01\04\04\02\01\01\01\01\01\02\01\01\01\01\01.\1E\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\1F7\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01: \02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\1C0\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\012\1C8\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01;!9\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04<\18-\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\010\18.\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\011\180\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\012\22\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02#:\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04=$\02\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04\02%\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\01\01\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01&;\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01>\18<\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01?'\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02(=\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01@)\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02*\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02+>\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01A,\02\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02-\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02\18-\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\011\180\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\012.?\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01B/@\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01C0\02\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\021A\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01D2B\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01E3C\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01F%\02\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\024D\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01G5E\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01H5F\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01I6G\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01J7H\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01K85\01\04\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01785\01\05\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\017\18-\01\01\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\01\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\011\180\01\01\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\0129I\03\06\01\00\01\03\03\02\02\02\02\01\01\02\02\02\02\01\01L\18-\01\01\01\00\01\01\01\02\03\02\03\01\01\02\03\02\03\01\01-\18.\01\01\01\00\01\01\01\02\03\02\03\01\01\02\03\02\03\01\01.\180\01\01\01\00\01\01\01\02\03\02\03\01\01\02\03\02\03\01\019 \02\01\03\01\00\01\01\01\02\02\02\02\01\04\02\02\02\02\01\04M\180\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\019:J\02\02\01\00\01\01\01\01\02\01\02\03\02\01\02\01\02\03\02N:K\02\02\01\00\01\01\01\01\02\01\02\03\02\01\02\01\02\03\02O\07L\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01P;M\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01QQ\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01U?5\01\01\01\00\01\03\03\02\02\02\02\01\01\02\02\02\02\01\01V@R\02\02\01\00\01\03\03\01\01\01\01\01\03\01\01\01\01\01\03WAS\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01XAT\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01YBU\02\02\01\00\01\03\03\01\01\01\01\01\03\01\01\01\01\01\03ZCV\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01[DW\01\04\01\00\01\01\01\01\02\01\02\04\05\01\02\01\02\04\05\\DW\01\05\01\00\01\01\01\01\02\01\02\04\05\01\02\01\02\04\05\\EX\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01]EY\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01^\07Z\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01_F[\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04`G\\\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04a\18-\01\03\01\00\01\01\01\01\02\01\02\01\02\01\02\01\02\01\020\18.\01\03\01\00\01\01\01\01\02\01\02\01\02\01\02\01\02\01\021\180\01\03\01\00\01\01\01\01\02\01\02\01\02\01\02\01\02\01\022H5\01\04\01\00\01\01\01\01\02\01\01\01\05\01\02\01\01\01\057H5\01\05\01\00\01\01\01\01\02\01\01\01\05\01\02\01\01\01\057H5\01\01\01\00\01\01\01\01\01\01\01\02\03\01\01\01\01\02\037I]\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01bI^\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01cJ_\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01d\18-\04\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01-\18.\04\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01.\180\04\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\019K`\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01eLa\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01fLb\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01gL(\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01(Mc\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01hMd\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01iHe\01\01\01\00\01\01\01\01\01\01\01\02\03\01\01\01\01\02\03jNf\01\04\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01kNf\01\05\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01kOg\01\03\01\00\01\01\01\02\03\02\03\03\02\02\03\02\03\03\02lPh\01\01\01\00\01\02\02\01\01\01\01\01\01\01\01\01\01\01\01mQi\01\03\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\01nQj\01\03\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\01oQk\01\03\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\01pR5\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01V\07L\02\02\03\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01PSl\02\02\01\00\01\01\01\01\03\01\03\02\03\01\03\01\03\02\03qSm\02\02\01\00\01\01\01\01\03\01\03\02\03\01\03\01\03\02\03rT\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02#n\02\02\01\00\01\01\01\01\01\01\02\01\01\01\01\01\02\01\01sUo\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01tVp\02\02\01\00\01\01\01\01\02\01\01\03\01\01\02\01\01\03\01uWq\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01vXr\01\01\01\00\01\01\01\02\01\01\01\01\01\02\01\01\01\01\01w%\02\02\02\01\00\01\01\01\01\02\01\02\03\02\01\02\01\02\03\02\02YR\02\02\01\00\01\01\01\01\01\01\01\02\03\01\01\01\01\01\01WZs\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01x", [22 x i16] [i16 0, i16 91, i16 207, i16 212, i16 219, i16 223, i16 224, i16 226, i16 231, i16 236, i16 239, i16 243, i16 246, i16 250, i16 255, i16 261, i16 264, i16 268, i16 271, i16 275, i16 280, i16 286], [407 x i16] [i16 0, i16 5, i16 25, i16 35, i16 66, i16 97, i16 128, i16 159, i16 176, i16 207, i16 238, i16 269, i16 300, i16 331, i16 362, i16 393, i16 424, i16 459, i16 490, i16 521, i16 552, i16 583, i16 601, i16 630, i16 697, i16 720, i16 747, i16 768, i16 785, i16 799, i16 816, i16 821, i16 833, i16 845, i16 859, i16 864, i16 878, i16 883, i16 888, i16 906, i16 911, i16 923, i16 928, i16 933, i16 943, i16 948, i16 953, i16 963, i16 975, i16 980, i16 992, i16 1004, i16 1016, i16 1030, i16 1047, i16 1059, i16 1073, i16 1078, i16 1111, i16 1149, i16 1161, i16 1173, i16 1190, i16 1202, i16 1211, i16 1225, i16 1244, i16 1258, i16 1270, i16 1282, i16 1326, i16 1338, i16 1350, i16 1355, i16 1376, i16 1388, i16 1402, i16 1425, i16 1457, i16 1469, i16 1483, i16 1497, i16 1535, i16 1540, i16 1559, i16 1573, i16 1585, i16 1597, i16 1613, i16 1627, i16 1632, i16 0, i16 10, i16 30, i16 40, i16 51, i16 71, i16 82, i16 102, i16 113, i16 133, i16 144, i16 164, i16 181, i16 192, i16 212, i16 223, i16 243, i16 254, i16 274, i16 285, i16 305, i16 316, i16 336, i16 347, i16 367, i16 378, i16 398, i16 409, i16 429, i16 440, i16 464, i16 475, i16 495, i16 506, i16 526, i16 537, i16 557, i16 568, i16 588, i16 606, i16 615, i16 635, i16 644, i16 658, i16 667, i16 702, i16 711, i16 725, i16 742, i16 752, i16 759, i16 773, i16 778, i16 790, i16 804, i16 826, i16 838, i16 850, i16 869, i16 893, i16 697, i16 916, i16 938, i16 958, i16 968, i16 985, i16 997, i16 1009, i16 1021, i16 1035, i16 1040, i16 1052, i16 1064, i16 1083, i16 1116, i16 1123, i16 1134, i16 1154, i16 1166, i16 1178, i16 1183, i16 1195, i16 1216, i16 1230, i16 1235, i16 1249, i16 1263, i16 1275, i16 1287, i16 1296, i16 1311, i16 1331, i16 1343, i16 1360, i16 1367, i16 1381, i16 1393, i16 1407, i16 1416, i16 1430, i16 1437, i16 1448, i16 1462, i16 1474, i16 1488, i16 1502, i16 1511, i16 1520, i16 1545, i16 1550, i16 1564, i16 1578, i16 1590, i16 1602, i16 1618, i16 1637, i16 0, i16 12, i16 14, i16 1092, i16 30, i16 0, i16 14, i16 12, i16 593, i16 638, i16 649, i16 1095, i16 0, i16 16, i16 168, i16 680, i16 0, i16 0, i16 3, i16 1, i16 18, i16 16, i16 0, i16 793, i16 1, i16 18, i16 16, i16 0, i16 793, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 793, i16 18, i16 16, i16 1, i16 20, i16 18, i16 793, i16 0, i16 16, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 793, i16 18, i16 16, i16 1, i16 20, i16 18, i16 793, i16 0, i16 16, i16 3, i16 22, i16 32, i16 45, i16 58, i16 76, i16 89, i16 107, i16 120, i16 138, i16 151, i16 171, i16 186, i16 199, i16 217, i16 230, i16 248, i16 261, i16 279, i16 292, i16 310, i16 323, i16 341, i16 354, i16 372, i16 385, i16 403, i16 416, i16 434, i16 449, i16 469, i16 482, i16 500, i16 513, i16 531, i16 544, i16 562, i16 575, i16 595, i16 610, i16 622, i16 640, i16 652, i16 662, i16 683, i16 706, i16 715, i16 728, i16 732, i16 737, i16 744, i16 755, i16 763, i16 775, i16 781, i16 795, i16 808, i16 813, i16 829, i16 841, i16 854, i16 873, i16 896, i16 900, i16 919, i16 940, i16 960, i16 971, i16 988, i16 1000, i16 1012, i16 1025, i16 1037, i16 1043, i16 1055, i16 1068, i16 1098, i16 1108, i16 1119, i16 1128, i16 1141, i16 1157, i16 1169, i16 1180, i16 1186, i16 1198, i16 1207, i16 1220, i16 1232, i16 1239, i16 1253, i16 1266, i16 1278, i16 1291, i16 1303, i16 1318, i16 1334, i16 1346, i16 1363, i16 1371, i16 1384, i16 1397, i16 1411, i16 1420, i16 1433, i16 1442, i16 1452, i16 1465, i16 1478, i16 1492, i16 1506, i16 1515, i16 1527, i16 1547, i16 1554, i16 1568, i16 1581, i16 1593, i16 1607, i16 1622, i16 1641], [8250 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\00\00\00\00\01\00\00\00\00\01\00\01\01\01\01\00\01\01\01\01\00\01\00\01\01\01\01\01\01\01\00\00\00\00\00\00\02\02\02\02\02\02\02\02\02\02\02\02\02\02\01\01\01\01\02\01\01\01\01\02\01\02\02\02\02\01\02\02\02\02\01\02\01\02\02\02\02\02\02\00\00\00\00\00\00\00\03\03\03\03\03\03\03\03\03\03\03\03\03\03\02\02\02\02\03\02\02\02\02\03\02\03\03\03\03\02\03\03\03\03\02\03\02\03\03\03\03\03\03\02\00\00\00\00\00\00\04\04\04\04\04\04\04\04\04\04\04\04\04\04\03\03\03\03\04\03\03\03\03\04\03\04\04\04\04\03\04\04\04\04\03\04\03\04\04\04\03\03\03\02\00\00\00\00\00\00\03\03\03\03\03\03\03\03\03\03\03\03\03\05\02\02\02\02\03\02\02\02\02\03\02\03\03\03\03\02\03\03\03\03\02\03\02\03\03\03\03\03\03\02\00\00\00\00\00\00\04\04\04\04\04\04\04\04\04\04\04\04\04\06\03\03\03\03\04\03\03\03\03\04\03\04\04\04\04\03\04\04\04\04\03\04\03\04\04\04\03\03\03\02\00\00\00\00\00\00\04\04\04\04\04\04\04\04\04\04\04\04\04\06\03\03\03\03\04\03\03\03\03\04\03\04\04\04\04\03\04\04\04\04\03\04\03\04\04\04\04\04\04\03\00\00\00\00\00\00\05\05\05\05\05\05\05\03\03\03\03\03\03\05\04\04\04\04\05\04\04\04\04\05\04\05\05\05\05\04\05\05\05\05\04\05\04\05\03\03\03\03\03\02\00\00\00\00\00\00\06\06\06\06\06\06\06\04\04\04\04\04\04\06\05\05\05\05\06\05\05\05\05\06\05\06\06\06\06\05\06\06\06\06\05\06\05\06\04\04\03\03\03\02\00\00\00\00\00\00\00\00\00\00\00\00\00\03\05\03\03\03\05\05\00\00\00\00\00\00\00\00\00\00\00\00\05\05\05\06\07\05\07\05\04\05\04\05\05\05\05\05\05\04\00\00\00\00\00\00\00\00\00\00\00\00\00\04\06\04\04\04\06\06\00\00\00\00\00\00\00\00\00\00\00\00\06\06\06\07\08\06\08\06\05\06\05\06\05\05\05\05\05\04\00\00\00\00\00\00\05\05\05\05\05\05\05\03\03\03\03\03\03\05\04\04\04\04\05\04\04\04\04\05\04\05\05\05\05\04\09\07\05\05\04\05\04\05\03\03\03\03\03\02\00\00\00\00\00\00\06\06\06\06\06\06\06\04\04\04\04\04\04\06\05\05\05\05\06\05\05\05\05\06\05\06\06\06\06\05\0A\08\06\06\05\06\05\06\04\04\03\03\03\02\00\00\00\00\00\00\07\07\07\07\07\07\07\05\07\05\05\05\07\07\06\06\00\00\00\06\06\06\06\01\06\07\07\07\07\08\0B\09\09\07\06\07\06\07\05\05\06\06\01\01\00\00\00\00\00\00\07\07\07\08\08\08\07\06\08\06\06\06\08\08\06\06\00\00\00\07\07\06\06\01\06\07\07\07\07\08\0B\09\09\07\06\07\06\07\05\05\06\06\01\01\00\00\00\00\00\00\08\08\08\09\09\09\08\07\09\07\07\07\09\09\07\07\06\06\07\08\08\07\07\07\07\08\08\08\08\09\0C\0A\0A\08\07\08\07\08\05\05\07\06\01\01\00\00\00\00\00\00\09\09\09\0A\0A\0A\09\08\0A\08\08\08\0A\0A\08\08\07\07\08\09\09\08\08\08\08\09\09\09\09\0A\0D\0B\0B\09\08\09\08\09\05\05\07\06\01\01\00\00\00\00\00\00\0A\0A\0A\0B\0B\0B\0A\09\0B\09\09\09\0B\0B\09\09\08\08\09\0A\0A\09\09\09\09\0A\0A\0A\0A\0B\0E\0C\0C\0A\09\0A\09\0A\05\05\08\07\06\05\00\00\00\00\00\00\0B\0B\0B\0C\0C\0C\0B\0A\0C\0A\0A\0A\0C\0C\0A\0A\09\09\0A\0B\0B\0A\0A\0A\0A\0B\0B\0B\0B\0C\0F\0D\0D\0B\0A\0B\0A\0B\05\05\08\07\06\05\00\00\00\00\00\00\0C\0C\0C\0D\0D\0D\0C\0B\0D\0B\0B\0B\0D\0D\0B\0B\0A\0A\0B\0C\0C\0B\0B\0B\0B\0C\0C\0C\0C\0D\10\0E\0E\0C\0B\0C\0B\0C\06\06\09\08\04\03\00\00\00\00\00\00\0C\0C\0C\0D\0D\0D\0C\0B\0D\0B\0B\0B\0D\0D\0C\0C\0B\0B\0B\0C\0D\0C\0C\0B\0B\0C\0C\0C\0C\0D\10\0E\0E\0C\0C\0D\0C\0D\07\07\09\08\04\03\00\00\00\00\00\00\0D\0D\0D\0E\0E\0E\0D\0C\0E\0C\0C\0C\0E\0E\0D\0D\0C\0C\0C\0D\0E\0D\0D\0C\0C\0D\0D\0D\0D\0E\11\0F\0F\0D\0D\0E\0D\0E\08\08\0A\06\01\06\00\00\00\00\00\00\0E\0E\0E\0F\0F\0F\0E\0D\0F\0D\0D\0D\0F\0F\00\00\00\00\0D\00\00\00\00\01\00\00\0E\0E\0E\00\12\10\10\00\0E\0F\0E\0F\05\05\07\06\01\01\00\00\00\00\00\00\0E\0E\0E\0F\10\0F\0E\0D\0F\0D\0D\0E\0F\0F\00\00\00\00\0D\00\00\00\00\01\00\00\0E\0E\0E\00\12\10\10\00\0E\0F\0E\0F\05\05\07\06\01\01\00\00\00\00\00\00\0F\0F\0F\10\11\10\0F\0E\10\0E\0E\0F\10\10\0E\0E\0D\0D\0E\0E\0F\0E\0E\0D\0D\0E\0F\0F\0F\0F\13\11\11\0E\0F\10\0F\10\05\05\01\01\01\01\00\00\00\00\00\00\0F\0F\0F\10\11\10\0F\0E\10\0E\0E\0F\10\10\0E\0E\0D\0D\0E\0E\0F\0E\0E\0D\0D\0E\0F\0F\10\0F\13\11\11\0E\0F\10\0F\10\05\05\01\01\01\01\00\00\00\00\00\00\10\10\10\11\12\11\10\0F\11\0F\0F\10\11\11\0F\0F\0E\0E\0F\0F\10\0F\0F\0E\0E\0F\10\10\11\10\14\12\12\0F\10\11\10\11\05\05\0B\06\00\07\00\00\00\00\00\00\10\10\11\11\13\12\10\10\12\10\10\11\12\11\0F\10\0F\0E\10\10\11\0F\10\0F\0E\0F\10\11\12\10\15\13\13\0F\11\12\10\11\05\05\0C\06\00\07\00\00\00\00\00\00\11\11\12\12\14\13\11\11\13\11\11\12\13\12\10\11\10\0F\11\11\12\10\11\10\0F\10\11\12\13\11\16\14\14\10\12\13\11\12\05\05\0D\09\01\01\00\00\00\00\00\00\12\12\13\13\15\14\12\12\14\12\12\13\14\13\11\0E\0D\10\12\0E\0F\11\12\11\0D\11\12\13\14\12\17\15\15\11\13\14\12\13\05\05\01\0A\01\01\00\00\00\00\00\00\13\12\13\13\15\14\13\13\14\12\12\13\14\14\11\0E\0D\10\12\0E\0F\11\12\11\0D\11\12\13\14\12\17\15\15\11\13\14\12\13\05\05\01\0A\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\12\00\11\00\11\00\00\00\00\01\00\12\13\14\15\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\13\00\12\00\11\00\00\00\00\01\00\12\14\14\16\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\11\00\11\00\00\00\00\01\00\12\0E\0E\15\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\12\00\11\00\00\00\00\01\00\12\0E\0E\16\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\11\00\11\00\00\00\00\01\00\12\0E\0E\15\00\16\10\10\00\00\01\00\14\05\05\01\06\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\12\00\11\00\00\00\00\01\00\12\0E\0E\16\00\16\10\10\00\00\01\00\14\05\05\01\06\01\01\00\00\00\00\00\00\15\13\15\15\17\16\15\15\16\14\14\15\16\16\14\12\13\11\13\12\13\12\13\12\10\13\15\15\17\13\18\16\16\12\14\15\13\15\05\05\01\02\01\01\00\00\00\00\00\00\16\14\16\16\18\17\16\16\17\15\15\16\17\17\15\13\14\12\14\13\14\13\14\13\11\14\16\16\18\14\19\17\17\13\15\16\14\16\05\05\01\02\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\05\01\01\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\01\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\05\0F\0B\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\10\0C\07\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\04\04\04\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\11\0D\04\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\12\0E\04\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\0F\02\00\00\00\00\00\00\00\17\0D\17\0E\19\18\17\17\18\16\16\17\18\18\00\00\00\00\0D\00\00\14\00\01\00\00\17\17\19\15\1A\18\18\14\16\17\15\17\05\05\13\0B\01\01\00\00\00\00\00\00\18\0D\17\17\1A\19\18\18\19\17\17\18\19\19\16\0E\0D\0D\15\0E\0F\0E\12\0D\0D\15\18\18\1A\0F\1B\19\19\15\17\10\16\18\05\05\01\01\01\01\00\00\00\00\00\00\18\0D\17\18\1A\19\19\18\19\17\18\18\19\1A\16\0E\0D\0D\15\0E\0F\0E\12\0D\0D\15\18\18\1A\0F\1B\19\19\15\17\10\16\18\05\05\01\01\01\01\00\00\00\00\00\00\19\15\18\19\1B\1A\1A\19\1A\18\19\19\1A\1B\17\14\15\13\16\14\15\15\15\14\12\16\19\19\1B\16\1C\1A\1A\11\13\18\12\19\05\05\01\06\01\01\00\00\00\00\00\00\19\15\18\19\1B\1A\1A\1A\1B\19\1A\1A\1A\1C\17\14\16\13\16\14\15\15\15\14\12\16\19\19\1C\16\1C\1A\1A\11\13\18\12\19\05\05\01\06\01\01\00\00\00\00\00\00\1A\16\19\1A\1C\1B\1B\1B\1C\1A\1B\1B\1B\1D\18\15\0D\14\0E\15\16\16\16\15\13\17\1A\1A\1D\17\1D\1B\1B\16\18\19\17\1A\05\05\14\10\01\01\00\00\00\00\00\00\1B\17\1A\1B\1D\1C\1C\1C\1D\1B\1C\1C\1C\1E\19\16\03\15\17\16\17\17\17\16\14\18\1B\1B\04\18\1E\1C\1C\17\19\1A\18\1B\09\09\15\11\00\09\00\00\00\00\00\00\1C\18\1B\1C\1E\1D\1D\1D\1E\1C\1D\1D\1D\1F\1A\17\17\16\18\17\18\18\18\17\15\19\1C\1C\1E\19\1F\1D\1D\18\1A\1B\19\1C\05\05\16\06\01\01\00\00\00\00\00\00\1C\18\1B\1C\1E\1D\1D\1D\1E\1C\1D\1D\1D\1F\1B\18\17\17\19\18\19\19\19\18\15\1A\1C\1C\1E\19\1F\1E\1E\18\1A\1B\19\1C\05\05\16\06\01\01\00\00\00\00\00\00\1D\19\1C\1D\1F\1E\1E\1E\1F\1D\1E\1E\1E \11\0E\0D\10\0E\0E\0F\11\12\11\0D\0E\12\13\1F\1A\1C\15\15\11\13\14\12\1D\05\05\01\12\01\01\00\00\00\00\00\00\1D\1A\1D\1D \1F\1E\1E \1E\1E\1F\1F \11\0E\0D\10\0E\0E\0F\11\12\11\0D\0E\12\13\1F\1B\1C\15\15\11\13\14\12\1D\05\05\01\12\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\01\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\01\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\0B\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\0B\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\13\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\13\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\06\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\06\01\01\00\00\00\00\00\00\1E\1B\1E\1E\22 \22 !!\22\1C\1B\18\19\1A\19\1B\1C\1A\19\16\1D\1E\1F \1D \1B\1C\1D\1A \05\05\01\09\01\01\00\00\00\00\00\00\1E\1B\1F\1F# !#!!\22\22#\1C\1B\19\19\1A\19\1C\1D\1B\1A\16\1D\1F\1F!\1E! !\1C\1D\1E\1B!\05\05\01\09\01\01\00\00\00\00\00\00\1F\1C $!!\22$\22\22##$\1D\1C\1A\1A\1B\1A\1D\1E\1C\1B\17\1E \22\1F\22!\22\1D\1E\1F\1C\22\05\05\01\01\01\01\00\00\00\00\00\00\1F\1C $!!#$#\22##$\1D\1C\1B\1A\1C\1A\1D\1F\1C\1B\17\1F #\1F#\22\22\1E\1E\1F\1C#\05\05\01\01\01\01\00\00\00\00\00\00 \1D!!%\22\22$%$#$$%\1E\00\00\1B\11\1B\1E \1D\1C\00\00!!$ $##\1F\1F \15\17\05\05\01\01\01\01\00\00\00\00\00\00 \1D!\22%\22#$%$$$$&\1E\00\00\1B\11\1C\1E \1D\1C\00\00!!$ $$#\1F\1F \15\17\05\05\01\01\01\01\00\00\00\00\00\00!\1E\22#&#$%&%%%%'\1F\1D\1C\1C\1D\1D\1F!\1E\1D\18 \22\22%!%%$ !\1D$\05\05\01\01\01\01\00\00\00\00\00\00\22\1F#$'$%&'&&&&( \1E\1D\1D\1E\1E \22\1F\1E\19!##&\22&&%!!\22\1E%\00\00\17\01\00\0A\00\00\00\00\00\00# $%(%&'('''')!\1F\1E\1E\1F\1F!# \1F\1A\22$$'#''&\22\22#\1F&\00\00\17\01\00\0A\00\00\00\00\00\00$!%&)&'()((((*\22 \1F\1F \22$! \1B#%%($(('##$ '\0A\0A\09\08\04\03\00\00\00\00\00\00\0E\0E\0E\0F\0F\0F\0E\0D\0F\0D\0D\0D\0F\0F#! !!#%\22!\1C$&&)%))($$%!(\05\05\07\06\01\01\00\00\00\00\00\00\0E\0E\0E\0F\10\0F\0E\0D\0F\0D\0D\0E\0F\0F#!! !!#%\22!\1C$''*%))($$%!(\05\05\07\06\01\01\00\00\00\00\00\00%\22&'*'()*))))+\11\0E\22!\22\22$\11#\11\0D\11((+&**)%%&\12\13\05\05\18\0B\08\0B\00\00\00\00\00\00%\22&'*'(*+))**+\11\0E#\22##%\11#\11\0D\11)),'++*%%'\12\13\05\05\18\0B\08\0B\00\00\00\00\00\00&#'(+()+,**++,$\22$#$$&&$\22\1D%**-(,,+&&(\22)\05\05\0E\00\02\01\00\00\00\00\00\00'$(),)*,-++,,-%#%$%%''%#\1E&++.)--,'')#*\05\05\0E\00\02\01\00\00\00\00\00\00(%)*-*+-.,,--.\00$\00\00\01\00\00(\00\01\00\01,,/\00\01\10\10(\00\01\00\01\05\05\0E\01\01\01\00\00\00\00\00\00\00&*+.+,./--../\00\00\00\00&&()\00\01\1F\01--0*..-)\00*$\01\0B\0B\19\14\01\01\00\00\00\00\00\00\00'+,.,,.0...//\00\00\00\00'')*\00\01 \01..0+//.*\00+%\01\0B\0B\19\14\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/1///0\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\13\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/20001\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\13\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/1///0\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\02\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/20001\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\02\01\01\00\00\00\00\00\00)(,-0--0311120&%&%))++&%!'001-110+)-&,\0C\0C\1A\15\09\0C\01\00\01\01\01\00*)-.1..1422231'&'&**,,'&\22(112.221,*.'-\05\05\1B\0F\01\01\00\00\00\00\00\00+*./2//2533342('('++--('#)223/332-+/(.\05\05\1C\0F\01\01\00\00\00\00\00\00,+\1703003644453\11\0E\0D\10\12\0E\0F\11\12\11\0D\1133404\15\15.,0)/\05\05\01\16\01\01\00\00\00\00\00\00-,/14114755564)()(,,..)($*4451543/-1*0\0D\0D\1D\17\0A\0D\00\00\00\00\00\00\11\1D025\13\115866675*)*\0F--\12/*)%+55626540.2+1\05\05\01\01\01\01\00\00\00\00\00\00.-136226977786+*+)../0+*&,66737651/3,2\05\05\1E\18\01\01\00\00\00\00\00\00.-136236978787+*+)../0+*&,6674875203-3\05\05\1E\18\01\01\00\00\00\00\00\00/.247347:89898\11\0E\0D\10\0E/0\11\12\11\0D\1177\145986314.4\05\05\1F\19\01\01\00\00\00\00\00\00//358358:8:898\11\0E\0D\10\0E01\11\12\11\0D\1188\146997314.4\05\05\1F\19\01\01\00\00\00\00\00\000\01469469;9;9:9,+,*/121,+'-9987::8425/5\05\05 \01\01\01\00\00\00\00\00\000\0156:47:;:;:::,+,*/131,+'-:998::952605\05\05 \01\01\01\00\00\00\00\00\001067;58;<;<;;;-,-+0242-,(.;::9;;:63716\05\05!\06\01\01\00\00\00\00\00\002178<69<\0C\0A=<<<.\0A\09\09135\0A\0A\0A\0A\0B<\0B\0B\0C<<;\0B\0A\0B\0A\0B\05\05!\06\01\01\00\00\00\00\00\003289=7:==<>===/-\1F,2 63.-)/=;(:=(<74827\0E\0E\09\08\04\03\00\00\00\00\00\0043)*>*+>>,,>>.\00\00.\00\01\00\004\00\01\000,<;\00\01==8\00\01\008\05\05\09\08\04\03\00\00\00\00\00\00549:?8;??=???>\00.\00\003475\1D.\001>=<\00>>>95939\05\05\22\1A\04\03\00\00\00\00\00\00649:@9;@?=@@@>\00.\00\003575\1D.\002>=<\00>?>9593:\05\05\22\1A\04\03\00\00\00\00\00\007\18:;A:AAA?\11\0E/\104\0E\0F\11\12\11\0D\1133=\12?\15\15:\13\14\12\13\05\05\01\1B\01\01\00\00\00\00\00\0085;\0F;\1C@?;\0F\1C\0F;\05\05\01\06\01\01\00\00\00\00\00\00\17\0D\17=D\18\17CC@\0ED\10A\0E\0E\0D\0D\0E\0E\0F7\0E\0D\0D\11@?\10;\1C@?<\0F\1C\0F;\05\05\01\06\01\01\00\00\00\00\00\0097<>E<>DDACECB0/\0D-\12688//\0E3A@><\17A@=6:\10<\05\05\01\0B\01\01\00\00\00\00\00\0097DEADEDB0/\0D-\12688/0\0E3B@>=\17A@>7;\10=\05\05\01\0B\01\01\00\00\00\00\00\00 8=@F>\22\18FBEFE\19\00\06\00\1B\11\00\00 \1D\1C\00\12CA?\0F@BA\158<4>\05\05\01\0A\01\01\00\00\00\00\00\00 8=@F>#\18FCEFE\1A\00\06\00\1B\11\00\00 \1D\1C\00\12CA@\0F@BA\158<4>\05\05\01\0A\01\01\00\00\00\00\00\00 8=@F>\22$GDFGF%\00\06\00\1B\11\00\00 \1D\1C\00\12DBA $CB\1F\1F \15?\05\05\01\0A\01\01\00\00\00\00\00\00 8=@F>#$GEFGF&\00\06\00\1B\11\00\00 \1D\1C\00\12DBB $CB\1F\1F \15?\05\05\01\0A\01\01\00\00\00\00\00\00:9>AG??EHFGHGC1\0E\0D\10\0E79\11\12\0D\0D\11E\01C>\16DC\009=5@\05\05\01\0B\01\01\00\00\00\00\00\00:9>AG?@FHGGHGD1\0E\0D\10\0E79\11\12\0D\0D\11E\01C>\16DC\009=5@\05\05\01\0B\01\01\00\00\00\00\00\00;:?BH@AGIHHIHE200.58:901*4FCD?AED?:>6A\05\05\07\06\01\01\00\00\00\00\00\00<;@CIABHJIIJIF311/69;:12+5GDE@BFE@;?7B\05\05\07\06\01\01\00\00\00\00\00\00=B:E\05\05\07\06\01\01\00\00\00\00\00\00>=DDKCEJLKKLKH53318;=<34-7KHIDFJID?C;F\05\05%\0B\01\01\00\00\00\00\00\00\10\10E\11LD\10KMLLML\11\11\0E\0D\10\22\22$\11\12\11\0D\11((J\1AGKJ\11\13&\12\13\05\05\0B\06\00\07\00\00\00\00\00\00\10\10E\11MD\10LMLLNL\11\11\0E\0D\10##%\11\12\11\0D\11))J\1BHLK\11\13'\12\13\05\05\0C\06\00\07\00\00\00\00\00\00?7FENE>MNMMOMB\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13J\12\17MLE\13\14\12\13\05\05\01\06\01\01\00\00\00\00\00\00?7FEOE>MNMMPMB\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13J\12\17MLE\13\14\12\13\05\05\01\06\01\01\00\00\00\00\00\00@>GFPFFNONNQNI\004\002\0D<>>45.8LI\1FE\17NMF@D>45/8LI\1FE\17NMF@D=G\0F\0F&\1D\0C\0E\00\00\00\00\00\00?7HENEGMQPMROK\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13\07\12\17\15\15EAE>H\05\05\01\1E\01\01\00\00\00\00\00\00?7HEOEGMQPMSOK\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13\07\12\17\15\15EAE>H\05\05\01\1E\01\01\00\00\00\00\00\0010I7;5HORQ@@673RONILTSKGKDN\00\00)\1F\00\00\03\00\02\00\03\02GFP\02UKPWZX\02ZVT:;87=ACC9:6?SPOJMUTLHLEO\12\12*\02\02\00\00\00\00\00\00\00GFP\02UKPWZX\02ZVT\01\01\01\01\02\01\01\01\01\02\01\02\02\02\02\01\02\02\02\02\01\02\01\02\12\12*\02\02\00\00\00\00\00\00\00H\1D!LVL+X[$T[WU;$\00\1B\00BD \00\0170TQP NVU\1FIMFP\00\00\0E\00\02\00\00\00\00\00\00\00IGQMWMQY\\YU\\XV<<\008\00CED:;8@UR\0EKOWVMJNGQ\13\13\01\0A\01\00\00\00\00\00\00\00IGQNXMQY\\ZV]XV<=\008\00CEE:;8@US\0EKPWVNKNHR\14\14\01\0A\01\00\00\00\00\00\00\00JHROYNRZ][W^YW42207:<;23,6HEFACGFA<@8C\05\05\07\06\01\01\00\00\00\00\00\00K:?BH@A[^\\X_ZX=>99>DFF;<9AVTQLQXWOLOIS\05\05\07\06\01\01\00\00\00\00\00\00L\08::\08EGG<=:BWURM\0DYXPMPJT\05\05\07\06\01\01\00\00\00\00\00\00MISPZOS]`^Za\1CY??;;?FHH=>;CXVSNRZYQNQKU\04\15+\02\00\0F\00\00\00\00\00\00NJTQ[PT^a_[b\\Z@\06\00\00\00GII\06\01\06\07\07\07\07\08\0B\09\09EO\07\06\07\05\05,\01\01\01\00\00\00\00\00\00OKUR\\QU_b`\\c][A@<<@HJJ>?\18\15IKK\0E\0D>\11[YVP\0B\\[SQTNW\00\00.\02\00\00\00\00\00\00\00\00RMXS^SWbdc^e_(CB?=AJLL?@?E\\ZWQT&%TRUO%\00\00\17\01\00\0A\00\00\00\00\00\00SNYT_TXced_f`)DC@>BKMM@A@F][XRU'&USVP&\00\00\17\01\00\0A\00\00\00\00\00\00)OZU`UYdfe`ga]&%&%))++&%!'^\\YSV]\\VTWQX\15\16/\15\0E\10\00\00\00\00\00\00)OZU`UYdfe`ga]EDA?CLNNA%!'^\\YSV]\\VTWQX\15\160 \0F\11\00\00\00\00\00\00TP[VaVZdfe`ga]FEB@DMOOBBAG^\\YSV]\\VTWQX\15\161\15\10\01\00\00\00\00\00\00)OZU`UYegfahb^&%&%))++&%!'^\\YSV]\\VTWQX\15\162!\09\12\00\00\00\00\00\00", [50 x i16] [i16 0, i16 85, i16 166, i16 258, i16 345, i16 443, i16 530, i16 621, i16 723, i16 827, i16 930, i16 1028, i16 1133, i16 1232, i16 1327, i16 1398, i16 1468, i16 1535, i16 1600, i16 1669, i16 1747, i16 1827, i16 1907, i16 1974, i16 2041, i16 2107, i16 2179, i16 2274, i16 2367, i16 2457, i16 2541, i16 2628, i16 2722, i16 2815, i16 2902, i16 2987, i16 3075, i16 3157, i16 3246, i16 3268, i16 3291, i16 3342, i16 3376, i16 3393, i16 3412, i16 3416, i16 3417, i16 3420, i16 3422, i16 3426], [3429 x i16] [i16 1, i16 273, i16 463, i16 844, i16 1101, i16 858, i16 1122, i16 1977, i16 2348, i16 2594, i16 3018, i16 3253, i16 3606, i16 4397, i16 4635, i16 4806, i16 5023, i16 5441, i16 5662, i16 5858, i16 5884, i16 6040, i16 6288, i16 6938, i16 7125, i16 7310, i16 7573, i16 7838, i16 8226, i16 8624, i16 9025, i16 9539, i16 9921, i16 10130, i16 10434, i16 10640, i16 10937, i16 11606, i16 11946, i16 12190, i16 12640, i16 13317, i16 14931, i16 15189, i16 6952, i16 16066, i16 16636, i16 17024, i16 17365, i16 17819, i16 18049, i16 18224, i16 18661, i16 18735, i16 18983, i16 19067, i16 19176, i16 19479, i16 4589, i16 20213, i16 20433, i16 20653, i16 21280, i16 21712, i16 21810, i16 22607, i16 22680, i16 22719, i16 23133, i16 23665, i16 24019, i16 24674, i16 25025, i16 25183, i16 25483, i16 25641, i16 25844, i16 26175, i16 26395, i16 26524, i16 26932, i16 27130, i16 27204, i16 27426, i16 27844, i16 5, i16 276, i16 473, i16 846, i16 1104, i16 864, i16 1133, i16 1981, i16 2352, i16 2601, i16 3021, i16 3258, i16 3616, i16 4401, i16 4639, i16 4809, i16 5026, i16 5445, i16 5666, i16 6044, i16 6295, i16 7312, i16 7577, i16 7842, i16 8229, i16 8628, i16 8755, i16 9030, i16 9544, i16 9925, i16 10134, i16 10437, i16 10644, i16 10948, i16 11608, i16 11950, i16 12197, i16 2107, i16 12746, i16 12967, i16 13321, i16 14935, i16 15199, i16 15853, i16 16070, i16 16639, i16 17027, i16 17267, i16 17823, i16 18056, i16 18234, i16 18665, i16 18739, i16 19180, i16 19307, i16 19483, i16 19792, i16 20029, i16 20217, i16 20437, i16 20660, i16 21285, i16 21815, i16 22082, i16 22611, i16 22685, i16 22723, i16 23143, i16 23669, i16 24027, i16 24687, i16 25187, i16 25490, i16 26186, i16 4589, i16 26528, i16 26936, i16 27209, i16 27434, i16 27820, i16 27854, i16 9, i16 279, i16 480, i16 848, i16 1107, i16 872, i16 1148, i16 1985, i16 2356, i16 2608, i16 3024, i16 3263, i16 3626, i16 4405, i16 4643, i16 4812, i16 5029, i16 5255, i16 5449, i16 5670, i16 5888, i16 6048, i16 6302, i16 4895, i16 7314, i16 7581, i16 7846, i16 8232, i16 8632, i16 8760, i16 9035, i16 9301, i16 9549, i16 94, i16 10138, i16 10440, i16 10648, i16 10959, i16 11610, i16 11954, i16 12204, i16 12644, i16 12750, i16 12972, i16 13325, i16 14939, i16 15209, i16 16074, i16 16408, i16 16642, i16 17030, i16 17271, i16 17368, i16 17659, i16 17827, i16 18063, i16 18244, i16 18743, i16 19070, i16 19184, i16 19487, i16 19796, i16 276, i16 20221, i16 20441, i16 20667, i16 21048, i16 21132, i16 21290, i16 21635, i16 5678, i16 21820, i16 22151, i16 22255, i16 22391, i16 22615, i16 22727, i16 23153, i16 23672, i16 24032, i16 24697, i16 25191, i16 25497, i16 26193, i16 26399, i16 26534, i16 26940, i16 27135, i16 27215, i16 27444, i16 27824, i16 27864, i16 13, i16 282, i16 493, i16 850, i16 1110, i16 881, i16 1165, i16 1989, i16 2221, i16 2360, i16 2615, i16 3027, i16 3268, i16 3639, i16 4409, i16 4647, i16 4815, i16 5032, i16 5453, i16 5674, i16 5892, i16 6052, i16 6309, i16 7129, i16 7281, i16 7316, i16 7585, i16 7850, i16 8235, i16 8636, i16 9041, i16 9308, i16 9553, i16 9929, i16 10091, i16 10142, i16 10443, i16 10652, i16 10973, i16 11612, i16 11958, i16 12211, i16 12648, i16 12754, i16 12977, i16 13329, i16 14943, i16 15219, i16 15857, i16 16078, i16 16412, i16 16645, i16 17033, i16 17275, i16 17371, i16 17831, i16 18070, i16 18257, i16 18747, i16 19073, i16 19188, i16 19339, i16 19491, i16 19686, i16 19800, i16 20032, i16 20225, i16 20445, i16 21295, i16 21716, i16 21825, i16 22088, i16 22731, i16 23166, i16 23675, i16 24037, i16 25029, i16 25195, i16 25381, i16 25504, i16 26202, i16 26402, i16 26540, i16 27220, i16 27452, i16 27828, i16 27874, i16 17, i16 285, i16 503, i16 852, i16 1113, i16 890, i16 1182, i16 1993, i16 2228, i16 2364, i16 2622, i16 3030, i16 3273, i16 3649, i16 4413, i16 4651, i16 4791, i16 4818, i16 5035, i16 5259, i16 5457, i16 5678, i16 5896, i16 6056, i16 6316, i16 6942, i16 7133, i16 7318, i16 7589, i16 7854, i16 8238, i16 8640, i16 8765, i16 8827, i16 9046, i16 9314, i16 9557, i16 9933, i16 10147, i16 10446, i16 10656, i16 10984, i16 11616, i16 11962, i16 12218, i16 12652, i16 12758, i16 13129, i16 13333, i16 14947, i16 15229, i16 15861, i16 16082, i16 16416, i16 16648, i16 17036, i16 17279, i16 17374, i16 17663, i16 17835, i16 18077, i16 18267, i16 18669, i16 18751, i16 18988, i16 19076, i16 19192, i16 19343, i16 19437, i16 19495, i16 19804, i16 20035, i16 20229, i16 20449, i16 20674, i16 21300, i16 21638, i16 16919, i16 21720, i16 21796, i16 21830, i16 22735, i16 23176, i16 23678, i16 24042, i16 24707, i16 25033, i16 25199, i16 25387, i16 25513, i16 26209, i16 26406, i16 26546, i16 26944, i16 27225, i16 27460, i16 27832, i16 27884, i16 21, i16 288, i16 513, i16 854, i16 1116, i16 897, i16 1195, i16 1997, i16 2233, i16 2368, i16 2629, i16 3033, i16 3278, i16 3674, i16 4417, i16 4655, i16 4821, i16 5038, i16 5263, i16 5461, i16 5682, i16 5900, i16 6060, i16 6323, i16 6948, i16 7137, i16 7320, i16 7593, i16 7858, i16 8241, i16 8644, i16 8770, i16 9051, i16 9562, i16 9937, i16 10152, i16 10449, i16 10660, i16 10998, i16 11619, i16 11966, i16 12225, i16 12656, i16 12762, i16 12982, i16 13337, i16 14951, i16 15239, i16 15865, i16 16086, i16 16651, i16 17039, i16 17378, i16 17839, i16 18084, i16 18280, i16 18755, i16 18993, i16 19079, i16 19196, i16 19499, i16 19691, i16 19808, i16 20038, i16 20233, i16 20453, i16 20681, i16 21305, i16 21641, i16 21724, i16 21835, i16 22735, i16 23189, i16 23682, i16 24050, i16 24717, i16 25037, i16 25203, i16 25522, i16 7946, i16 26410, i16 26552, i16 26948, i16 27231, i16 27470, i16 27836, i16 27894, i16 25, i16 291, i16 523, i16 856, i16 1119, i16 1448, i16 1454, i16 2001, i16 2372, i16 2636, i16 3036, i16 3283, i16 3690, i16 4421, i16 4659, i16 4824, i16 273, i16 5465, i16 5686, i16 5863, i16 5904, i16 6064, i16 6330, i16 6952, i16 7141, i16 7286, i16 7322, i16 7597, i16 7862, i16 8244, i16 8648, i16 8831, i16 9057, i16 9567, i16 9941, i16 10096, i16 10156, i16 10452, i16 10664, i16 11015, i16 11621, i16 11970, i16 12232, i16 12660, i16 12766, i16 13341, i16 14955, i16 15249, i16 15869, i16 16090, i16 16654, i16 16919, i16 17042, i16 17283, i16 17381, i16 17668, i16 17843, i16 18091, i16 18296, i16 18759, i16 19082, i16 19200, i16 19503, i16 20041, i16 20181, i16 20237, i16 20457, i16 20688, i16 21052, i16 21310, i16 21840, i16 22155, i16 22259, i16 22398, i16 22619, i16 22690, i16 22727, i16 23205, i16 23685, i16 24055, i16 24727, i16 25207, i16 25529, i16 26222, i16 26413, i16 26558, i16 26952, i16 10488, i16 10728, i16 27840, i16 27904, i16 29, i16 294, i16 463, i16 858, i16 1122, i16 2005, i16 2238, i16 2376, i16 2643, i16 3039, i16 3288, i16 3700, i16 4397, i16 4663, i16 4827, i16 5041, i16 5267, i16 5441, i16 5690, i16 5868, i16 5908, i16 6068, i16 6337, i16 6956, i16 7145, i16 7324, i16 7502, i16 7601, i16 7866, i16 8247, i16 8652, i16 8835, i16 9062, i16 9320, i16 9572, i16 9820, i16 9945, i16 10160, i16 10455, i16 10668, i16 11026, i16 11625, i16 11815, i16 11974, i16 12239, i16 12664, i16 12770, i16 13133, i16 13345, i16 14959, i16 15259, i16 15873, i16 16094, i16 16420, i16 16657, i16 17045, i16 17287, i16 17384, i16 17672, i16 17847, i16 18098, i16 18306, i16 18673, i16 18763, i16 18998, i16 19085, i16 19205, i16 19347, i16 19507, i16 20044, i16 20185, i16 20241, i16 20461, i16 20695, i16 21315, i16 21644, i16 21695, i16 21728, i16 21845, i16 22263, i16 22405, i16 22623, i16 22695, i16 22739, i16 23215, i16 23688, i16 24060, i16 24674, i16 25041, i16 25211, i16 25536, i16 25645, i16 25851, i16 26175, i16 26417, i16 26564, i16 26956, i16 27140, i16 27238, i16 27482, i16 27844, i16 28220, i16 36, i16 301, i16 473, i16 864, i16 1133, i16 1792, i16 1878, i16 2016, i16 2251, i16 2384, i16 2658, i16 3046, i16 3301, i16 3719, i16 4401, i16 4672, i16 4836, i16 5048, i16 5275, i16 5469, i16 5697, i16 5916, i16 6076, i16 6352, i16 6965, i16 7153, i16 7333, i16 7513, i16 7609, i16 7882, i16 8257, i16 8663, i16 8775, i16 8844, i16 9075, i16 9334, i16 9584, i16 9953, i16 10169, i16 10461, i16 10679, i16 11046, i16 11634, i16 11825, i16 11981, i16 12252, i16 12671, i16 12781, i16 12987, i16 13142, i16 13271, i16 13355, i16 14965, i16 15275, i16 15880, i16 16104, i16 16427, i16 16669, i16 17055, i16 17391, i16 17854, i16 18325, i16 18678, i16 18771, i16 19092, i16 19213, i16 19312, i16 19355, i16 19517, i16 19696, i16 19812, i16 19936, i16 20053, i16 20253, i16 20473, i16 20718, i16 21327, i16 21651, i16 21736, i16 21853, i16 22094, i16 22159, i16 22270, i16 22417, i16 22630, i16 22703, i16 22758, i16 23237, i16 23696, i16 24082, i16 24687, i16 25048, i16 25217, i16 25551, i16 25652, i16 25864, i16 26186, i16 26427, i16 26579, i16 26964, i16 27245, i16 27495, i16 27854, i16 28227, i16 43, i16 309, i16 480, i16 872, i16 1148, i16 2028, i16 2264, i16 2395, i16 2679, i16 3057, i16 3322, i16 3738, i16 4425, i16 4684, i16 4844, i16 5056, i16 5285, i16 5474, i16 5704, i16 5923, i16 6084, i16 6367, i16 6971, i16 7159, i16 7343, i16 7524, i16 7620, i16 7895, i16 8267, i16 8673, i16 8786, i16 8850, i16 9084, i16 9344, i16 9592, i16 9833, i16 9958, i16 10177, i16 10465, i16 10686, i16 11066, i16 11640, i16 11992, i16 12273, i16 12677, i16 12791, i16 12998, i16 13149, i16 13279, i16 13365, i16 14974, i16 15300, i16 15895, i16 16114, i16 16434, i16 16681, i16 17065, i16 17396, i16 17680, i16 17865, i16 18344, i16 18780, i16 19100, i16 19221, i16 19362, i16 19530, i16 19820, i16 19922, i16 19944, i16 20015, i16 20058, i16 20195, i16 20265, i16 20485, i16 20741, i16 21338, i16 21660, i16 21747, i16 21861, i16 22104, i16 22170, i16 22280, i16 22436, i16 22637, i16 22780, i16 23259, i16 23703, i16 24101, i16 24697, i16 25227, i16 25392, i16 25566, i16 25662, i16 25883, i16 26193, i16 26436, i16 26591, i16 26970, i16 27149, i16 27253, i16 27510, i16 27864, i16 28234, i16 51, i16 317, i16 493, i16 881, i16 1165, i16 2039, i16 2276, i16 2403, i16 2694, i16 3065, i16 3337, i16 3760, i16 4432, i16 4691, i16 4852, i16 5062, i16 5293, i16 5481, i16 5712, i16 5932, i16 6090, i16 6378, i16 6977, i16 7166, i16 7291, i16 7353, i16 7535, i16 7630, i16 7911, i16 8275, i16 8682, i16 8856, i16 9093, i16 9355, i16 9600, i16 9965, i16 10101, i16 10185, i16 10471, i16 10697, i16 11089, i16 11645, i16 12002, i16 12292, i16 12684, i16 12803, i16 13012, i16 13157, i16 13288, i16 13375, i16 14984, i16 15328, i16 15909, i16 16124, i16 16443, i16 16693, i16 16923, i16 17074, i16 17298, i16 17402, i16 17873, i16 18111, i16 18344, i16 18790, i16 19007, i16 19108, i16 19229, i16 19537, i16 19710, i16 19826, i16 19950, i16 20064, i16 20273, i16 20493, i16 20756, i16 21351, i16 21667, i16 21753, i16 21870, i16 22114, i16 22805, i16 23284, i16 23710, i16 24120, i16 25054, i16 25232, i16 25398, i16 25581, i16 25671, i16 25900, i16 26202, i16 26445, i16 26602, i16 26976, i16 27261, i16 27525, i16 27874, i16 28241, i16 61, i16 326, i16 503, i16 890, i16 1182, i16 2050, i16 2292, i16 2410, i16 2707, i16 3071, i16 3348, i16 3779, i16 4441, i16 4699, i16 4796, i16 4861, i16 5069, i16 5301, i16 5457, i16 5719, i16 5941, i16 6098, i16 6393, i16 6986, i16 7176, i16 7363, i16 7546, i16 7641, i16 7928, i16 8287, i16 8692, i16 8796, i16 8865, i16 9105, i16 9369, i16 9610, i16 9974, i16 10193, i16 10477, i16 10708, i16 11109, i16 11652, i16 11833, i16 12013, i16 12313, i16 12689, i16 12816, i16 13167, i16 13299, i16 13385, i16 14994, i16 15356, i16 15925, i16 16134, i16 16453, i16 16706, i16 17084, i16 17410, i16 17687, i16 17879, i16 18122, i16 18366, i16 18684, i16 18799, i16 19017, i16 19117, i16 19237, i16 19369, i16 19442, i16 19543, i16 19833, i16 19957, i16 20073, i16 20279, i16 20499, i16 20767, i16 21363, i16 21674, i16 21703, i16 21759, i16 21801, i16 21881, i16 22177, i16 22245, i16 22287, i16 22449, i16 22821, i16 23306, i16 23714, i16 24130, i16 24707, i16 25065, i16 25241, i16 25409, i16 25600, i16 25678, i16 25913, i16 26209, i16 26456, i16 26614, i16 26984, i16 27269, i16 27540, i16 27884, i16 28248, i16 70, i16 336, i16 513, i16 897, i16 1195, i16 1800, i16 1893, i16 2063, i16 2309, i16 2417, i16 2720, i16 3081, i16 3367, i16 3813, i16 4446, i16 4708, i16 4868, i16 5077, i16 5310, i16 5489, i16 5727, i16 5952, i16 6105, i16 6406, i16 6994, i16 7183, i16 7373, i16 7650, i16 7946, i16 8295, i16 8701, i16 8806, i16 8871, i16 9115, i16 9380, i16 9620, i16 9980, i16 10201, i16 10483, i16 10719, i16 11132, i16 11662, i16 11846, i16 12023, i16 12332, i16 12695, i16 12828, i16 13026, i16 13175, i16 13308, i16 13395, i16 15004, i16 15384, i16 15940, i16 16144, i16 16460, i16 16721, i16 17096, i16 17416, i16 17888, i16 18139, i16 18388, i16 18691, i16 18808, i16 19027, i16 19127, i16 19246, i16 19552, i16 19717, i16 19840, i16 19964, i16 20077, i16 20287, i16 20507, i16 20782, i16 21373, i16 21682, i16 21767, i16 21890, i16 22186, i16 22296, i16 22466, i16 22843, i16 23331, i16 23723, i16 24155, i16 24717, i16 25073, i16 25250, i16 25619, i16 25685, i16 25926, i16 26466, i16 26627, i16 26990, i16 27280, i16 27561, i16 27894, i16 28255, i16 77, i16 343, i16 523, i16 904, i16 1208, i16 1448, i16 1454, i16 2075, i16 2323, i16 2425, i16 2735, i16 3087, i16 3378, i16 3838, i16 4453, i16 4714, i16 4878, i16 5083, i16 5496, i16 5734, i16 5876, i16 5960, i16 6115, i16 6425, i16 7003, i16 7191, i16 7302, i16 7379, i16 7557, i16 7659, i16 7955, i16 8305, i16 8714, i16 8880, i16 9125, i16 9391, i16 9629, i16 9987, i16 10111, i16 10210, i16 10488, i16 10728, i16 11158, i16 11669, i16 12030, i16 12345, i16 12701, i16 12839, i16 13405, i16 15014, i16 15412, i16 15956, i16 16154, i16 16470, i16 16734, i16 16937, i16 17107, i16 17424, i16 17694, i16 17894, i16 18150, i16 18413, i16 18818, i16 19135, i16 19254, i16 19376, i16 19559, i16 20084, i16 20202, i16 20295, i16 20515, i16 20797, i16 21383, i16 21900, i16 22127, i16 22192, i16 22302, i16 22477, i16 22644, i16 22711, i16 22862, i16 23359, i16 23729, i16 24171, i16 24727, i16 25082, i16 25255, i16 25630, i16 25694, i16 26222, i16 26471, i16 26640, i16 26997, i16 27904, i16 28262, i16 86, i16 533, i16 911, i16 1220, i16 1532, i16 1624, i16 2087, i16 2432, i16 2748, i16 3094, i16 3391, i16 3857, i16 4013, i16 4460, i16 4887, i16 5090, i16 5503, i16 5741, i16 5968, i16 6016, i16 6123, i16 6440, i16 7198, i16 7387, i16 7669, i16 7964, i16 8314, i16 8518, i16 9137, i16 9641, i16 9994, i16 10217, i16 10492, i16 10735, i16 11178, i16 11432, i16 12036, i16 12356, i16 13415, i16 15021, i16 15431, i16 16164, i16 16480, i16 16746, i16 17432, i16 17901, i16 18163, i16 18432, i16 19566, i16 20092, i16 20303, i16 20523, i16 20812, i16 21394, i16 22872, i16 23381, i16 23735, i16 24187, i16 24737, i16 25089, i16 25265, i16 25701, i16 25942, i16 26231, i16 26478, i16 26654, i16 27003, i16 27289, i16 27578, i16 13487, i16 27914, i16 90, i16 543, i16 915, i16 1227, i16 1545, i16 1648, i16 2091, i16 2436, i16 2755, i16 3098, i16 3398, i16 3867, i16 4038, i16 4465, i16 4891, i16 5094, i16 5317, i16 5507, i16 6127, i16 6447, i16 7393, i16 7673, i16 7971, i16 8321, i16 8526, i16 8887, i16 8974, i16 9141, i16 9645, i16 10224, i16 10496, i16 10742, i16 11194, i16 11436, i16 12040, i16 12363, i16 12707, i16 13421, i16 15025, i16 15441, i16 16170, i16 16484, i16 16750, i16 17437, i16 17905, i16 18457, i16 18826, i16 19570, i16 20307, i16 20527, i16 20819, i16 21401, i16 21910, i16 22309, i16 22490, i16 22888, i16 23397, i16 23740, i16 24196, i16 24744, i16 25269, i16 25419, i16 25705, i16 26242, i16 26660, i16 27007, i16 27295, i16 27588, i16 13492, i16 27921, i16 94, i16 553, i16 919, i16 1234, i16 1550, i16 1657, i16 2440, i16 2762, i16 3102, i16 3405, i16 3877, i16 4069, i16 4470, i16 4895, i16 5098, i16 5322, i16 5449, i16 5972, i16 6021, i16 6131, i16 6454, i16 7399, i16 7566, i16 8328, i16 9147, i16 9404, i16 9649, i16 9842, i16 10232, i16 10500, i16 10749, i16 11213, i16 11440, i16 11574, i16 11677, i16 11854, i16 12044, i16 12370, i16 13427, i16 15029, i16 15451, i16 16176, i16 5453, i16 16754, i16 17441, i16 17909, i16 18698, i16 19144, i16 20311, i16 20531, i16 20826, i16 21406, i16 22913, i16 23422, i16 23745, i16 24205, i16 24754, i16 25709, i16 25949, i16 26253, i16 26666, i16 27011, i16 27156, i16 27301, i16 27598, i16 13497, i16 27928, i16 98, i16 563, i16 923, i16 1241, i16 1555, i16 1666, i16 2444, i16 2769, i16 3106, i16 3412, i16 3887, i16 4085, i16 4475, i16 4899, i16 5102, i16 5511, i16 5745, i16 6135, i16 6461, i16 7405, i16 7677, i16 7978, i16 8335, i16 8534, i16 8891, i16 9153, i16 9653, i16 9998, i16 10239, i16 10504, i16 10756, i16 11229, i16 11444, i16 11681, i16 11859, i16 12048, i16 12377, i16 13433, i16 15033, i16 15461, i16 16182, i16 16758, i16 17445, i16 17913, i16 18482, i16 19574, i16 20315, i16 20535, i16 20833, i16 21411, i16 21914, i16 22932, i16 23441, i16 23751, i16 24217, i16 24764, i16 25273, i16 25713, i16 25956, i16 26262, i16 26672, i16 27307, i16 27608, i16 13502, i16 27935, i16 102, i16 352, i16 573, i16 927, i16 1248, i16 1561, i16 1677, i16 2448, i16 2776, i16 3110, i16 3419, i16 3900, i16 4480, i16 4721, i16 4903, i16 5106, i16 5327, i16 5515, i16 5749, i16 6139, i16 6468, i16 2144, i16 7411, i16 7985, i16 8342, i16 8542, i16 9157, i16 9657, i16 9847, i16 10246, i16 10508, i16 10763, i16 11248, i16 11448, i16 11685, i16 11864, i16 12052, i16 12384, i16 12851, i16 13038, i16 13183, i16 13439, i16 15037, i16 15471, i16 16188, i16 16489, i16 16762, i16 17449, i16 17917, i16 18170, i16 18501, i16 18830, i16 19148, i16 20319, i16 20539, i16 20840, i16 21417, i16 22951, i16 23463, i16 23757, i16 24229, i16 24774, i16 25717, i16 26273, i16 26678, i16 27314, i16 27620, i16 13507, i16 27942, i16 106, i16 580, i16 931, i16 1255, i16 1566, i16 1686, i16 2095, i16 2338, i16 2452, i16 2783, i16 3114, i16 3426, i16 3907, i16 4485, i16 4907, i16 5110, i16 5332, i16 5519, i16 6143, i16 6475, i16 7417, i16 7681, i16 7992, i16 8349, i16 8550, i16 9162, i16 9661, i16 10002, i16 10119, i16 10254, i16 10512, i16 10770, i16 11255, i16 11452, i16 11689, i16 11869, i16 12056, i16 12391, i16 12855, i16 13043, i16 13187, i16 13445, i16 15041, i16 15481, i16 16194, i16 16492, i16 16766, i16 17117, i16 17309, i16 17454, i16 17921, i16 18177, i16 18834, i16 19039, i16 19578, i16 20096, i16 20323, i16 20543, i16 20847, i16 21422, i16 21918, i16 22958, i16 23470, i16 23762, i16 24238, i16 24784, i16 25093, i16 25277, i16 25721, i16 25963, i16 26280, i16 26482, i16 26684, i16 27015, i16 27318, i16 27627, i16 13512, i16 27949, i16 110, i16 587, i16 935, i16 1262, i16 1573, i16 1699, i16 2099, i16 2343, i16 2456, i16 2790, i16 3118, i16 3433, i16 3917, i16 4104, i16 4490, i16 4911, i16 5114, i16 5337, i16 5523, i16 6148, i16 6484, i16 7423, i16 7685, i16 7999, i16 8356, i16 8560, i16 8895, i16 9168, i16 9411, i16 9665, i16 10006, i16 10263, i16 10516, i16 10777, i16 11265, i16 11456, i16 11693, i16 11874, i16 12060, i16 12398, i16 12859, i16 13048, i16 13191, i16 13451, i16 15045, i16 15491, i16 16200, i16 16770, i16 17121, i16 17314, i16 17459, i16 17703, i16 17925, i16 18184, i16 18508, i16 18838, i16 19582, i16 20100, i16 20327, i16 20547, i16 20854, i16 21427, i16 21922, i16 22971, i16 23483, i16 23768, i16 24250, i16 24791, i16 25097, i16 25281, i16 25725, i16 25970, i16 26287, i16 26486, i16 26690, i16 27019, i16 27323, i16 27635, i16 13517, i16 27956, i16 114, i16 597, i16 939, i16 1269, i16 1578, i16 1708, i16 2103, i16 2460, i16 2797, i16 3122, i16 3440, i16 3927, i16 4120, i16 4495, i16 4915, i16 5118, i16 5527, i16 5753, i16 6153, i16 6493, i16 7010, i16 7429, i16 7689, i16 8006, i16 8363, i16 8569, i16 8899, i16 8979, i16 9173, i16 9417, i16 9669, i16 9852, i16 10010, i16 10272, i16 10520, i16 10784, i16 11281, i16 11460, i16 12064, i16 12405, i16 12711, i16 12863, i16 13053, i16 13457, i16 15049, i16 15501, i16 16206, i16 16496, i16 16774, i16 4584, i16 17929, i16 18521, i16 18702, i16 18842, i16 19384, i16 19450, i16 19586, i16 20331, i16 20551, i16 20861, i16 21432, i16 21773, i16 21926, i16 22984, i16 23496, i16 23773, i16 24259, i16 24801, i16 25285, i16 25424, i16 25729, i16 25977, i16 26298, i16 26490, i16 26696, i16 27023, i16 27328, i16 27643, i16 13522, i16 27963, i16 118, i16 607, i16 943, i16 1276, i16 1581, i16 1713, i16 2107, i16 2464, i16 2804, i16 3126, i16 3447, i16 3934, i16 4316, i16 4500, i16 4919, i16 5122, i16 5342, i16 5531, i16 5757, i16 6157, i16 6500, i16 7435, i16 7693, i16 8013, i16 8370, i16 8579, i16 9177, i16 9422, i16 5441, i16 10014, i16 10282, i16 10524, i16 10791, i16 11297, i16 11464, i16 11612, i16 12068, i16 12412, i16 13463, i16 15053, i16 15511, i16 16212, i16 16500, i16 16778, i16 17466, i16 17933, i16 18537, i16 19590, i16 20335, i16 20555, i16 20868, i16 21437, i16 21930, i16 23003, i16 23515, i16 23778, i16 24268, i16 24811, i16 25289, i16 25733, i16 25984, i16 26307, i16 26702, i16 27333, i16 27651, i16 13527, i16 27970, i16 122, i16 356, i16 617, i16 947, i16 1283, i16 1587, i16 1724, i16 2468, i16 2811, i16 3130, i16 3454, i16 3944, i16 4505, i16 4923, i16 5126, i16 5348, i16 5535, i16 5761, i16 6161, i16 6507, i16 7441, i16 7697, i16 8020, i16 8377, i16 8588, i16 9183, i16 9429, i16 9673, i16 10018, i16 10291, i16 10528, i16 10798, i16 11319, i16 11468, i16 12072, i16 12419, i16 13195, i16 13469, i16 15057, i16 15521, i16 16218, i16 16504, i16 16782, i16 17471, i16 17937, i16 18565, i16 18846, i16 19594, i16 19725, i16 20339, i16 20559, i16 20875, i16 21444, i16 21934, i16 23034, i16 23546, i16 23783, i16 24277, i16 24821, i16 25293, i16 25737, i16 25991, i16 26318, i16 26708, i16 27339, i16 27661, i16 27977, i16 126, i16 627, i16 951, i16 1290, i16 1599, i16 1746, i16 2111, i16 2472, i16 2818, i16 3134, i16 3461, i16 3966, i16 4510, i16 4927, i16 5130, i16 5539, i16 6165, i16 6514, i16 7447, i16 7701, i16 8027, i16 8384, i16 9189, i16 5904, i16 10300, i16 10532, i16 10805, i16 11341, i16 11472, i16 12076, i16 12426, i16 12867, i16 13059, i16 13475, i16 15061, i16 15531, i16 16224, i16 4589, i16 16786, i16 17478, i16 17941, i16 18587, i16 20343, i16 20563, i16 20882, i16 21449, i16 21938, i16 22138, i16 22313, i16 22497, i16 23059, i16 23571, i16 23788, i16 24286, i16 24831, i16 25101, i16 25297, i16 25741, i16 25998, i16 26331, i16 26715, i16 27027, i16 27161, i16 27345, i16 27671, i16 27984, i16 130, i16 360, i16 637, i16 955, i16 1297, i16 1612, i16 1770, i16 2115, i16 2476, i16 2825, i16 3138, i16 3468, i16 3988, i16 4515, i16 4931, i16 5134, i16 5544, i16 5765, i16 5976, i16 6169, i16 6521, i16 7202, i16 7453, i16 7705, i16 8034, i16 8391, i16 8597, i16 8903, i16 8984, i16 9194, i16 9677, i16 9857, i16 10309, i16 10536, i16 10812, i16 11360, i16 11476, i16 12080, i16 12433, i16 13481, i16 15065, i16 15541, i16 16230, i16 16508, i16 16790, i16 17485, i16 17945, i16 18615, i16 18707, i16 18850, i16 19044, i16 19598, i16 20347, i16 20567, i16 20889, i16 21455, i16 21942, i16 22317, i16 22504, i16 23081, i16 23590, i16 23793, i16 24295, i16 24841, i16 25301, i16 25745, i16 26005, i16 26342, i16 26722, i16 27351, i16 27681, i16 27994, i16 134, i16 364, i16 647, i16 959, i16 1304, i16 1532, i16 1624, i16 2119, i16 2480, i16 2832, i16 3142, i16 3475, i16 4013, i16 4520, i16 4725, i16 4935, i16 5138, i16 5548, i16 5769, i16 5980, i16 6026, i16 6173, i16 6528, i16 7015, i16 7206, i16 7459, i16 7709, i16 8041, i16 8398, i16 8907, i16 9199, i16 9436, i16 9681, i16 10022, i16 10319, i16 10540, i16 10819, i16 11178, i16 11480, i16 11579, i16 11697, i16 11879, i16 12084, i16 12440, i16 12715, i16 12871, i16 13064, i16 13199, i16 13487, i16 15069, i16 15551, i16 15971, i16 16236, i16 16512, i16 16794, i16 17125, i16 17319, i16 17490, i16 17711, i16 17949, i16 18191, i16 18432, i16 18854, i16 19388, i16 19455, i16 19602, i16 19730, i16 19846, i16 19970, i16 20104, i16 20351, i16 20571, i16 20896, i16 21056, i16 21139, i16 21460, i16 21946, i16 22321, i16 22511, i16 22872, i16 23381, i16 23798, i16 24304, i16 24737, i16 25105, i16 25305, i16 25749, i16 26012, i16 26231, i16 26729, i16 27031, i16 27166, i16 27356, i16 27689, i16 27914, i16 142, i16 373, i16 663, i16 965, i16 1315, i16 1545, i16 1648, i16 2126, i16 2489, i16 2849, i16 3149, i16 3488, i16 4038, i16 4527, i16 4732, i16 4941, i16 5144, i16 5354, i16 5555, i16 5776, i16 5987, i16 6184, i16 6549, i16 7023, i16 7212, i16 7467, i16 7719, i16 8054, i16 8407, i16 8915, i16 8989, i16 9206, i16 9695, i16 10030, i16 10333, i16 10546, i16 10830, i16 11194, i16 11489, i16 11589, i16 11704, i16 11887, i16 12093, i16 12457, i16 12723, i16 12878, i16 13072, i16 13207, i16 13492, i16 15077, i16 15573, i16 15979, i16 16243, i16 16523, i16 16801, i16 17134, i16 17329, i16 17501, i16 17957, i16 18457, i16 18711, i16 18861, i16 19395, i16 19463, i16 19610, i16 19854, i16 19978, i16 20358, i16 20578, i16 20909, i16 21063, i16 21152, i16 21476, i16 21952, i16 22328, i16 22524, i16 22888, i16 23397, i16 23805, i16 24323, i16 24851, i16 25111, i16 25310, i16 25429, i16 25756, i16 26025, i16 26242, i16 26743, i16 27038, i16 27174, i16 27365, i16 27706, i16 27921, i16 151, i16 383, i16 553, i16 972, i16 1328, i16 1550, i16 1657, i16 2133, i16 2494, i16 2858, i16 3158, i16 3505, i16 4069, i16 4537, i16 4740, i16 4948, i16 5017, i16 5149, i16 5360, i16 5474, i16 5784, i16 5993, i16 6034, i16 6196, i16 6572, i16 7032, i16 7220, i16 7399, i16 7566, i16 7727, i16 8416, i16 8726, i16 9147, i16 9404, i16 9706, i16 9862, i16 10039, i16 10232, i16 10500, i16 10749, i16 11213, i16 11497, i16 11598, i16 11712, i16 11896, i16 12102, i16 12474, i16 12732, i16 12886, i16 13497, i16 15087, i16 15601, i16 15988, i16 16250, i16 16535, i16 16809, i16 17513, i16 17723, i16 17966, i16 18698, i16 18866, i16 19152, i16 19615, i16 19864, i16 19929, i16 19988, i16 20022, i16 20113, i16 20366, i16 20586, i16 20924, i16 21071, i16 21167, i16 21488, i16 21689, i16 22913, i16 23422, i16 23816, i16 24354, i16 24864, i16 25119, i16 25762, i16 26036, i16 26253, i16 26754, i16 27044, i16 27181, i16 27375, i16 27725, i16 27928, i16 157, i16 679, i16 977, i16 1337, i16 1555, i16 1666, i16 1808, i16 1908, i16 2138, i16 2502, i16 2873, i16 3163, i16 3514, i16 4085, i16 4544, i16 4953, i16 5156, i16 5564, i16 5790, i16 6204, i16 6587, i16 7038, i16 7476, i16 7735, i16 8065, i16 8426, i16 8731, i16 8820, i16 8923, i16 9214, i16 9444, i16 9714, i16 10045, i16 10349, i16 10553, i16 10843, i16 11229, i16 11504, i16 11720, i16 11905, i16 12108, i16 12485, i16 12891, i16 13081, i16 13216, i16 13502, i16 15093, i16 15617, i16 15995, i16 16257, i16 16545, i16 16814, i16 16951, i16 17144, i16 17340, i16 17528, i16 17739, i16 17971, i16 18482, i16 19403, i16 19622, i16 19739, i16 20120, i16 20372, i16 20592, i16 20935, i16 21076, i16 21176, i16 21501, i16 21959, i16 22932, i16 23441, i16 23823, i16 24373, i16 24877, i16 25316, i16 25771, i16 26053, i16 26262, i16 26764, i16 27049, i16 27381, i16 27736, i16 27935, i16 102, i16 352, i16 573, i16 983, i16 1348, i16 1561, i16 1677, i16 1815, i16 1921, i16 1943, i16 1955, i16 2144, i16 2511, i16 2890, i16 3110, i16 3419, i16 3900, i16 4550, i16 4721, i16 4959, i16 5162, i16 5368, i16 5515, i16 5749, i16 6213, i16 6604, i16 7045, i16 7226, i16 4903, i16 7743, i16 8076, i16 8435, i16 9222, i16 9453, i16 9725, i16 9871, i16 10051, i16 10246, i16 10508, i16 10763, i16 11248, i16 11512, i16 11728, i16 11914, i16 12115, i16 12498, i16 12851, i16 13038, i16 13223, i16 13507, i16 15100, i16 15636, i16 16002, i16 16264, i16 16555, i16 16824, i16 16962, i16 17152, i16 17542, i16 17917, i16 18170, i16 18501, i16 18872, i16 19148, i16 19870, i16 20379, i16 20599, i16 20948, i16 20319, i16 20840, i16 21513, i16 11685, i16 11864, i16 22951, i16 23463, i16 23830, i16 24392, i16 24890, i16 25125, i16 25322, i16 25436, i16 25779, i16 26273, i16 26775, i16 27314, i16 27620, i16 27942, i16 163, i16 389, i16 580, i16 988, i16 1357, i16 1566, i16 1686, i16 1950, i16 1968, i16 2148, i16 2519, i16 2905, i16 3114, i16 3426, i16 3907, i16 4554, i16 4745, i16 4964, i16 5169, i16 5376, i16 5571, i16 5796, i16 6219, i16 6615, i16 7050, i16 7231, i16 7417, i16 7751, i16 8081, i16 8444, i16 8605, i16 8929, i16 9162, i16 9735, i16 9882, i16 10056, i16 10124, i16 10356, i16 10559, i16 10854, i16 11255, i16 11520, i16 11734, i16 11921, i16 12122, i16 12511, i16 12897, i16 13088, i16 13230, i16 13512, i16 15106, i16 15652, i16 16271, i16 16562, i16 16832, i16 16972, i16 17158, i16 17349, i16 17550, i16 17977, i16 18206, i16 106, i16 18878, i16 19049, i16 19410, i16 19631, i16 19875, i16 19994, i16 20128, i16 20383, i16 20603, i16 20955, i16 21083, i16 21189, i16 21525, i16 11689, i16 11869, i16 21777, i16 21965, i16 17921, i16 18177, i16 22958, i16 23470, i16 23838, i16 24414, i16 24784, i16 25130, i16 25328, i16 25787, i16 26068, i16 26280, i16 26787, i16 27054, i16 27949, i16 168, i16 395, i16 587, i16 994, i16 1368, i16 1573, i16 1699, i16 1820, i16 1930, i16 2153, i16 2527, i16 2920, i16 3118, i16 3433, i16 4104, i16 4563, i16 4750, i16 4969, i16 5176, i16 5384, i16 5579, i16 5801, i16 6227, i16 6630, i16 7056, i16 7237, i16 7423, i16 7758, i16 8090, i16 8452, i16 8614, i16 8934, i16 9168, i16 9411, i16 9746, i16 10061, i16 10368, i16 10564, i16 10863, i16 11265, i16 11527, i16 11741, i16 11929, i16 12130, i16 12526, i16 12902, i16 13095, i16 13237, i16 13517, i16 15113, i16 15671, i16 16278, i16 16571, i16 16841, i16 17165, i16 17357, i16 17557, i16 17755, i16 17982, i16 18215, i16 18508, i16 18720, i16 18884, i16 19415, i16 19640, i16 19881, i16 20000, i16 20134, i16 20388, i16 20608, i16 20964, i16 21088, i16 21198, i16 21537, i16 11693, i16 11874, i16 21783, i16 21973, i16 17925, i16 18184, i16 22971, i16 23483, i16 23847, i16 24439, i16 24791, i16 25136, i16 25336, i16 25795, i16 26083, i16 26287, i16 26799, i16 27059, i16 27956, i16 173, i16 401, i16 692, i16 1000, i16 1379, i16 1578, i16 1708, i16 2158, i16 2534, i16 2933, i16 3169, i16 3525, i16 4120, i16 4570, i16 4976, i16 5185, i16 5590, i16 5806, i16 6235, i16 6645, i16 7062, i16 7243, i16 7766, i16 8006, i16 8461, i16 8942, i16 8998, i16 9238, i16 9470, i16 9758, i16 9894, i16 10067, i16 10272, i16 10569, i16 10872, i16 11281, i16 11534, i16 11748, i16 12138, i16 12541, i16 12738, i16 12907, i16 13102, i16 13522, i16 15120, i16 15690, i16 16007, i16 16285, i16 16585, i16 16848, i16 16982, i16 17172, i16 17568, i16 17767, i16 17987, i16 18521, i16 18702, i16 18890, i16 19158, i16 19422, i16 19472, i16 19647, i16 19749, i16 20393, i16 20613, i16 20973, i16 21093, i16 21207, i16 21550, i16 21789, i16 21980, i16 22651, i16 22984, i16 23496, i16 23855, i16 24461, i16 24801, i16 25343, i16 25443, i16 25802, i16 26096, i16 26298, i16 26812, i16 27067, i16 27389, i16 27751, i16 27963, i16 180, i16 705, i16 1006, i16 1390, i16 1581, i16 1713, i16 2165, i16 2542, i16 2948, i16 3176, i16 3538, i16 4136, i16 4316, i16 4575, i16 4755, i16 4982, i16 5191, i16 5394, i16 5595, i16 5813, i16 6245, i16 6664, i16 7071, i16 7250, i16 7774, i16 8101, i16 8468, i16 8947, i16 9245, i16 9478, i16 9770, i16 10074, i16 10382, i16 10576, i16 10885, i16 11297, i16 11542, i16 11758, i16 12147, i16 12558, i16 13244, i16 13527, i16 15128, i16 15712, i16 16017, i16 16292, i16 16593, i16 16858, i16 16994, i16 17180, i16 17583, i16 17994, i16 18537, i16 18897, i16 19656, i16 19759, i16 19887, i16 20140, i16 20401, i16 20621, i16 20988, i16 21100, i16 21220, i16 21561, i16 21986, i16 22199, i16 22336, i16 22539, i16 23003, i16 23515, i16 23863, i16 24483, i16 24903, i16 25142, i16 25351, i16 25452, i16 25810, i16 26111, i16 26307, i16 26494, i16 26824, i16 27075, i16 27395, i16 27762, i16 27970, i16 190, i16 410, i16 724, i16 1013, i16 1403, i16 1587, i16 1724, i16 2174, i16 2551, i16 2965, i16 3186, i16 3557, i16 4170, i16 3944, i16 4584, i16 4765, i16 4991, i16 5196, i16 5402, i16 5600, i16 5823, i16 6257, i16 6687, i16 7081, i16 7483, i16 7781, i16 8116, i16 8476, i16 8957, i16 9258, i16 9493, i16 9783, i16 10083, i16 10394, i16 10583, i16 10898, i16 11319, i16 11548, i16 11769, i16 11937, i16 12158, i16 12579, i16 12913, i16 13110, i16 13254, i16 13469, i16 15139, i16 15743, i16 16028, i16 16299, i16 16606, i16 16866, i16 17191, i16 17590, i16 17784, i16 18004, i16 18565, i16 18907, i16 19665, i16 19769, i16 19896, i16 20151, i16 20410, i16 20630, i16 21005, i16 21109, i16 21237, i16 21574, i16 21994, i16 22209, i16 22346, i16 22558, i16 23034, i16 23546, i16 23871, i16 24505, i16 24919, i16 25154, i16 25357, i16 25819, i16 26128, i16 26318, i16 26837, i16 27083, i16 27187, i16 27406, i16 27783, i16 27977, i16 198, i16 743, i16 1020, i16 1416, i16 1599, i16 1746, i16 2182, i16 2562, i16 2986, i16 3195, i16 3574, i16 4195, i16 3966, i16 4589, i16 4773, i16 4999, i16 5202, i16 5607, i16 5831, i16 6267, i16 6706, i16 7089, i16 7261, i16 7787, i16 8127, i16 8484, i16 9275, i16 9511, i16 9794, i16 10408, i16 10591, i16 10913, i16 11341, i16 11557, i16 12169, i16 12600, i16 12921, i16 13119, i16 13475, i16 15149, i16 15771, i16 16037, i16 16306, i16 16616, i16 16873, i16 17003, i16 17200, i16 17606, i16 17801, i16 18013, i16 18587, i16 18915, i16 19904, i16 20161, i16 20418, i16 20638, i16 21020, i16 21117, i16 21252, i16 21587, i16 22000, i16 22143, i16 22217, i16 22354, i16 22573, i16 23059, i16 23571, i16 23878, i16 24524, i16 24831, i16 25162, i16 25362, i16 25459, i16 25827, i16 26143, i16 26331, i16 26853, i16 27090, i16 27195, i16 27416, i16 27802, i16 27984, i16 207, i16 418, i16 759, i16 1027, i16 1429, i16 1612, i16 1770, i16 2189, i16 2571, i16 3003, i16 3203, i16 3589, i16 4220, i16 3988, i16 4592, i16 4782, i16 5008, i16 5211, i16 5616, i16 5840, i16 5998, i16 6277, i16 6725, i16 7098, i16 7271, i16 7492, i16 7794, i16 8140, i16 8494, i16 8737, i16 8965, i16 9004, i16 9288, i16 9525, i16 9807, i16 9907, i16 10419, i16 10598, i16 10926, i16 11360, i16 11565, i16 12179, i16 12619, i16 13262, i16 13481, i16 15158, i16 15796, i16 16047, i16 16316, i16 16623, i16 16883, i16 17014, i16 17210, i16 17623, i16 18021, i16 18615, i16 18726, i16 18924, i16 19056, i16 19428, i16 19677, i16 19782, i16 19913, i16 20006, i16 20171, i16 20425, i16 20645, i16 21033, i16 21124, i16 21265, i16 21600, i16 22007, i16 22226, i16 22363, i16 22590, i16 23081, i16 23590, i16 23888, i16 24552, i16 24932, i16 25173, i16 25368, i16 25466, i16 25836, i16 26160, i16 26342, i16 26876, i16 27098, i16 27994, i16 216, i16 427, i16 775, i16 1034, i16 1442, i16 0, i16 4248, i16 4347, i16 4598, i16 8153, i16 11382, i16 12930, i16 13532, i16 16326, i16 18637, i16 22015, i16 23107, i16 23615, i16 24945, i16 25375, i16 25474, i16 28004, i16 219, i16 430, i16 785, i16 1036, i16 1445, i16 0, i16 4261, i16 4375, i16 4598, i16 8160, i16 11410, i16 12933, i16 13539, i16 16333, i16 18649, i16 22018, i16 23120, i16 23643, i16 24965, i16 25378, i16 25479, i16 26353, i16 28011, i16 222, i16 433, i16 798, i16 1038, i16 1465, i16 1827, i16 2196, i16 2579, i16 3212, i16 4277, i16 4600, i16 5220, i16 5410, i16 5624, i16 6746, i16 6764, i16 6779, i16 6847, i16 6890, i16 7107, i16 7802, i16 8167, i16 8503, i16 10604, i16 11777, i16 12936, i16 13546, i16 15168, i16 15824, i16 16340, i16 16892, i16 17220, i16 17631, i16 18030, i16 18934, i16 19263, i16 19321, i16 21612, i16 22021, i16 22372, i16 22659, i16 23896, i16 24985, i16 26356, i16 26502, i16 26896, i16 27106, i16 28018, i16 28088, i16 28166, i16 28269, i16 243, i16 451, i16 832, i16 1063, i16 1492, i16 1853, i16 2212, i16 3226, i16 4304, i16 5653, i16 5849, i16 6007, i16 6807, i16 6876, i16 6917, i16 6929, i16 7817, i16 8199, i16 8746, i16 9014, i16 12955, i16 13578, i16 16057, i16 16351, i16 16910, i16 17257, i16 18966, i16 19167, i16 19285, i16 22045, i16 22235, i16 23919, i16 28116, i16 28312, i16 252, i16 460, i16 841, i16 1073, i16 1504, i16 1867, i16 3235, i16 6821, i16 11806, i16 13594, i16 16369, i16 19295, i16 22054, i16 26920, i16 28053, i16 28135, i16 28201, i16 261, i16 0, i16 1086, i16 1517, i16 1867, i16 3244, i16 4623, i16 5246, i16 6833, i16 8208, i16 10628, i16 11806, i16 13610, i16 16387, i16 22067, i16 26383, i16 28069, i16 28154, i16 28334, i16 0, i16 13628, i16 23929, i16 24574, i16 0, i16 0, i16 14004, i16 23961, i16 0, i16 14018, i16 0, i16 14901, i16 23971, i16 24610, i16 0, i16 24007, i16 24660], [372 x i8] c"\00\00\00\00\01\01\00\00\02\02\00\00\03\03\00\00\04\04\00\00\05\05\01\01\06\06\02\02\07\07\01\01\08\08\00\00\09\09\00\00\0A\0A\00\03\0A\0A\03\03\0B\0B\00\00\0C\0C\00\00\0D\0D\00\00\0E\0E\00\00\0F\0F\04\04\10\10\05\05\11\01\00\00\12\11\00\00\13\01\00\00\14\02\06\06\15\01\07\07\16\12\00\00\17\02\00\00\18\13\00\00\19\14\00\00\1A\01\00\00\1B\02\00\00\1C\15\00\00\00\00\08\08\1D\02\00\00\1E\02\00\00\1D\16\00\00\1F\17\00\00 \18\00\00!\19\00\00\1D\1A\00\00\22\1B\00\00#\02\00\00$\02\00\00%\02\00\00&\1C\00\00'\1D\00\00(\02\00\00)\02\00\00*\1E\09\09\1A\1F\00\00+\02\00\00, \0A\0A-!\00\00.\22\00\00/\1A\00\000#\00\001\01\00\002\1A\00\003$\0B\0B4$\0C\0C5%\0D\0D6&\0E\0E7'\00\00\00(\0F\0F8\01\00\002\02\00\009\02\00\00:\02\00\00;)\00\00<*\00\00=+\00\00>,\00\00\1D-\00\00?\01\10\10@\01\11\10A\1A\00\00B.\00\00C/\00\00D0\12\11E1\13\12;)\14\13\0C\0C\0E\14F2\15\15G3\16\16H4\17\17H4\17\18\0C\0C\18\19I+\00\00J,\00\00K5\19\1AL6\1A\1BM\01\1B\1CN7\1C\1DO8\1D\1EP9\00\00", [4 x i16] [i16 0, i16 81, i16 139, i16 169], [200 x i16] [i16 1, i16 13, i16 27, i16 43, i16 57, i16 73, i16 97, i16 121, i16 114, i16 85, i16 145, i16 173, i16 193, i16 217, i16 247, i16 281, i16 317, i16 369, i16 378, i16 396, i16 405, i16 422, i16 439, i16 459, i16 469, i16 489, i16 513, i16 520, i16 530, i16 561, i16 571, i16 591, i16 613, i16 635, i16 665, i16 687, i16 697, i16 711, i16 721, i16 739, i16 759, i16 769, i16 779, i16 815, i16 829, i16 908, i16 932, i16 960, i16 972, i16 996, i16 1003, i16 1013, i16 1048, i16 1078, i16 1106, i16 1142, i16 1180, i16 1189, i16 1199, i16 1209, i16 1229, i16 1249, i16 1267, i16 1297, i16 1316, i16 1334, i16 1344, i16 1362, i16 1380, i16 1438, i16 1492, i16 1517, i16 1564, i16 1610, i16 1619, i16 1630, i16 1670, i16 1698, i16 1720, i16 1747, i16 1783, i16 7, i16 20, i16 35, i16 50, i16 65, i16 79, i16 106, i16 134, i16 118, i16 92, i16 153, i16 183, i16 205, i16 233, i16 265, i16 294, i16 336, i16 388, i16 450, i16 479, i16 501, i16 545, i16 581, i16 603, i16 623, i16 647, i16 657, i16 678, i16 730, i16 749, i16 790, i16 806, i16 857, i16 921, i16 947, i16 981, i16 1028, i16 1090, i16 1120, i16 1154, i16 1165, i16 1219, i16 1239, i16 1258, i16 1278, i16 1289, i16 1354, i16 1371, i16 1393, i16 1445, i16 1499, i16 1526, i16 1572, i16 1642, i16 1680, i16 1729, i16 1757, i16 1792, i16 0, i16 85, i16 114, i16 167, i16 305, i16 346, i16 415, i16 433, i16 554, i16 799, i16 891, i16 1039, i16 1067, i16 1100, i16 1132, i16 1171, i16 1308, i16 1329, i16 1412, i16 1452, i16 1478, i16 1506, i16 1535, i16 1580, i16 1598, i16 1652, i16 1690, i16 1711, i16 1739, i16 1769, i16 0, i16 92, i16 118, i16 163, i16 312, i16 362, i16 419, i16 436, i16 558, i16 803, i16 898, i16 1042, i16 1071, i16 1103, i16 1137, i16 1174, i16 1312, i16 1422, i16 1465, i16 1481, i16 1485, i16 1510, i16 1545, i16 1585, i16 1591, i16 1605, i16 1661, i16 1693, i16 1715, i16 1743, i16 1776], [91141 x i16] [i16 7, i16 145, i16 4, i16 5352, i16 1159, i16 2868, i16 9485, i16 12504, i16 4, i16 38, i16 5, i16 3, i16 256, i16 576, i16 22623, i16 1154, i16 1623, i16 0, i16 19968, i16 20901, i16 1708, i16 747, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4, i16 10, i16 5, i16 4, i16 128, i16 480, i16 2038, i16 1693, i16 1947, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1154, i16 1154, i16 1986, i16 2440, i16 0, i16 4, i16 2, i16 5, i16 4, i16 128, i16 480, i16 1886, i16 1885, i16 1886, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2847, i16 2847, i16 2178, i16 5976, i16 0, i16 2, i16 0, i16 5, i16 6, i16 32, i16 64, i16 213, i16 212, i16 213, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4732, i16 4732, i16 0, i16 9496, i16 0, i16 4, i16 5, i16 5, i16 5, i16 64, i16 96, i16 409, i16 408, i16 409, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4944, i16 4944, i16 2193, i16 9976, i16 0, i16 1, i16 0, i16 4, i16 5, i16 128, i16 816, i16 13169, i16 13168, i16 13169, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5352, i16 5352, i16 0, i16 10360, i16 0, i16 1, i16 0, i16 5, i16 2, i16 512, i16 6176, i16 17172, i16 5999, i16 17172, i16 0, i16 -21504, i16 11171, i16 1111, i16 3125, i16 5352, i16 5352, i16 0, i16 -32216, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 5, i16 114, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 55, i16 246, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 92, i16 0, i16 0, i16 1155, i16 274, i16 372, i16 0, i16 1155, i16 300, i16 0, i16 0, i16 1155, i16 300, i16 0, i16 0, i16 1155, i16 331, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 390, i16 0, i16 0, i16 1155, i16 448, i16 498, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 547, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 730, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 798, i16 648, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 875, i16 786, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 916, i16 0, i16 0, i16 1155, i16 1075, i16 924, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 1433, i16 1502, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 1721, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 1780, i16 1634, i16 0, i16 1155, i16 1915, i16 498, i16 0, i16 1155, i16 2012, i16 1844, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 2049, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 2235, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 300, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 1, i16 680, i16 2383, i16 1986, i16 1, i16 680, i16 2880, i16 1986, i16 1, i16 680, i16 3369, i16 1986, i16 1, i16 680, i16 3871, i16 1986, i16 1, i16 680, i16 4373, i16 2016, i16 1, i16 680, i16 4869, i16 1986, i16 1, i16 680, i16 5366, i16 1986, i16 1, i16 680, i16 5868, i16 2016, i16 1, i16 680, i16 6369, i16 1986, i16 1, i16 680, i16 6952, i16 2058, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7976, i16 1986, i16 1, i16 680, i16 5868, i16 2016, i16 1, i16 680, i16 2880, i16 1986, i16 1, i16 680, i16 8476, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 8967, i16 2124, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 8967, i16 2124, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7976, i16 1986, i16 1, i16 680, i16 5868, i16 2016, i16 1, i16 680, i16 7478, i16 1986, i16 2, i16 1338, i16 3, i16 2178, i16 2, i16 1338, i16 3, i16 2178, i16 3, i16 212, i16 3, i16 0, i16 4, i16 6, i16 3, i16 2193, i16 5, i16 13168, i16 3, i16 0, i16 6, i16 17171, i16 3, i16 0, i16 1, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 21, i16 22, i16 23, i16 24, i16 30, i16 40, i16 44, i16 45, i16 50, i16 51, i16 52, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 120, i16 125, i16 126, i16 135, i16 137, i16 144, i16 157, i16 159, i16 160, i16 162, i16 167, i16 170, i16 172, i16 175, i16 177, i16 182, i16 183, i16 186, i16 188, i16 193, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 236, i16 237, i16 240, i16 241, i16 242, i16 243, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 458, i16 459, i16 460, i16 461, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 640, i16 651, i16 652, i16 654, i16 655, i16 669, i16 683, i16 685, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 698, i16 708, i16 711, i16 719, i16 720, i16 722, i16 724, i16 725, i16 726, i16 727, i16 728, i16 731, i16 732, i16 733, i16 735, i16 742, i16 743, i16 744, i16 745, i16 746, i16 747, i16 748, i16 756, i16 757, i16 758, i16 759, i16 761, i16 764, i16 765, i16 766, i16 767, i16 768, i16 774, i16 775, i16 776, i16 779, i16 780, i16 783, i16 784, i16 785, i16 786, i16 793, i16 798, i16 805, i16 806, i16 808, i16 810, i16 811, i16 812, i16 816, i16 818, i16 819, i16 820, i16 821, i16 826, i16 827, i16 828, i16 830, i16 831, i16 832, i16 833, i16 840, i16 843, i16 844, i16 859, i16 860, i16 862, i16 863, i16 877, i16 891, i16 893, i16 895, i16 896, i16 897, i16 898, i16 899, i16 900, i16 901, i16 902, i16 903, i16 906, i16 916, i16 919, i16 927, i16 928, i16 930, i16 932, i16 933, i16 934, i16 935, i16 936, i16 939, i16 940, i16 942, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 955, i16 963, i16 964, i16 965, i16 967, i16 970, i16 971, i16 972, i16 973, i16 979, i16 980, i16 981, i16 984, i16 985, i16 988, i16 989, i16 990, i16 991, i16 998, i16 1002, i16 1009, i16 1010, i16 1012, i16 1014, i16 1015, i16 1016, i16 1020, i16 1022, i16 1023, i16 1024, i16 1025, i16 1030, i16 1031, i16 1032, i16 1034, i16 1035, i16 1036, i16 1037, i16 1044, i16 1047, i16 1108, i16 1109, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 1117, i16 1118, i16 1119, i16 1120, i16 1121, i16 1122, i16 1123, i16 1124, i16 1125, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1132, i16 1133, i16 1134, i16 1139, i16 1140, i16 1141, i16 1142, i16 1143, i16 1147, i16 1157, i16 1158, i16 1183, i16 1184, i16 1185, i16 1186, i16 1187, i16 1188, i16 1189, i16 1190, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1206, i16 1207, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1235, i16 1236, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1242, i16 1243, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 1251, i16 1252, i16 1253, i16 1254, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1263, i16 1264, i16 1265, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1318, i16 1319, i16 1348, i16 1349, i16 1350, i16 1351, i16 1356, i16 1357, i16 1358, i16 1359, i16 1368, i16 1369, i16 1371, i16 1372, i16 1373, i16 1374, i16 1377, i16 1378, i16 1379, i16 1380, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 1390, i16 1391, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1400, i16 1403, i16 1404, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1418, i16 1419, i16 1420, i16 1421, i16 1422, i16 1423, i16 1424, i16 1425, i16 1426, i16 1427, i16 1428, i16 1429, i16 1430, i16 1431, i16 1432, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1440, i16 1441, i16 1442, i16 1443, i16 1444, i16 1445, i16 1446, i16 1447, i16 1448, i16 1449, i16 1450, i16 1451, i16 1452, i16 1453, i16 1454, i16 1455, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1481, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1507, i16 1513, i16 1520, i16 1521, i16 1523, i16 1529, i16 1530, i16 1531, i16 1533, i16 1536, i16 1537, i16 1540, i16 1542, i16 1543, i16 1544, i16 1545, i16 1548, i16 1551, i16 1552, i16 1554, i16 1555, i16 1558, i16 1559, i16 1560, i16 1562, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1571, i16 1578, i16 1584, i16 1585, i16 1587, i16 1593, i16 1596, i16 1598, i16 1601, i16 1602, i16 1605, i16 1607, i16 1608, i16 1609, i16 1610, i16 1613, i16 1616, i16 1617, i16 1619, i16 1620, i16 1623, i16 1624, i16 1625, i16 1627, i16 1629, i16 1630, i16 2, i16 25, i16 26, i16 27, i16 28, i16 29, i16 41, i16 48, i16 49, i16 132, i16 141, i16 151, i16 153, i16 155, i16 169, i16 185, i16 199, i16 200, i16 235, i16 299, i16 300, i16 301, i16 302, i16 304, i16 305, i16 307, i16 308, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 317, i16 318, i16 319, i16 320, i16 321, i16 323, i16 324, i16 325, i16 326, i16 328, i16 329, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 339, i16 341, i16 342, i16 344, i16 345, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 641, i16 642, i16 643, i16 644, i16 648, i16 649, i16 650, i16 653, i16 662, i16 663, i16 664, i16 665, i16 666, i16 682, i16 684, i16 705, i16 706, i16 707, i16 714, i16 715, i16 716, i16 721, i16 723, i16 730, i16 755, i16 760, i16 771, i16 772, i16 773, i16 794, i16 795, i16 796, i16 797, i16 807, i16 814, i16 815, i16 817, i16 823, i16 841, i16 842, i16 849, i16 850, i16 851, i16 852, i16 856, i16 857, i16 858, i16 861, i16 870, i16 871, i16 872, i16 873, i16 874, i16 890, i16 892, i16 913, i16 914, i16 915, i16 922, i16 923, i16 924, i16 929, i16 931, i16 938, i16 962, i16 966, i16 976, i16 977, i16 978, i16 999, i16 1000, i16 1001, i16 1011, i16 1018, i16 1019, i16 1021, i16 1027, i16 1045, i16 1046, i16 1048, i16 1084, i16 1085, i16 1086, i16 1087, i16 1088, i16 1089, i16 1090, i16 1091, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1099, i16 1100, i16 1101, i16 1102, i16 1103, i16 1104, i16 1105, i16 1106, i16 1107, i16 1110, i16 1137, i16 1138, i16 1144, i16 1145, i16 1146, i16 1154, i16 1155, i16 1156, i16 1159, i16 1175, i16 1176, i16 1177, i16 1178, i16 1179, i16 1180, i16 1181, i16 1182, i16 1191, i16 1192, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1310, i16 1311, i16 1312, i16 1313, i16 1314, i16 1315, i16 1316, i16 1317, i16 1346, i16 1347, i16 1352, i16 1353, i16 1354, i16 1355, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 1367, i16 1511, i16 1517, i16 1518, i16 1519, i16 1522, i16 1527, i16 1528, i16 1535, i16 1539, i16 1546, i16 1547, i16 1550, i16 1557, i16 1561, i16 1563, i16 1575, i16 1577, i16 1582, i16 1583, i16 1586, i16 1591, i16 1592, i16 1595, i16 1600, i16 1604, i16 1611, i16 1612, i16 1615, i16 1622, i16 1626, i16 1628, i16 4, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 322, i16 323, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 446, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 460, i16 464, i16 468, i16 472, i16 474, i16 475, i16 477, i16 478, i16 480, i16 482, i16 483, i16 485, i16 486, i16 488, i16 489, i16 490, i16 493, i16 494, i16 496, i16 497, i16 498, i16 501, i16 502, i16 504, i16 505, i16 506, i16 508, i16 509, i16 511, i16 512, i16 513, i16 514, i16 515, i16 516, i16 517, i16 518, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 714, i16 715, i16 716, i16 717, i16 718, i16 719, i16 720, i16 721, i16 722, i16 723, i16 724, i16 725, i16 726, i16 727, i16 728, i16 729, i16 730, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 737, i16 738, i16 739, i16 740, i16 741, i16 742, i16 743, i16 744, i16 745, i16 746, i16 747, i16 748, i16 749, i16 750, i16 751, i16 752, i16 755, i16 783, i16 784, i16 785, i16 788, i16 789, i16 790, i16 791, i16 792, i16 793, i16 794, i16 795, i16 796, i16 797, i16 798, i16 799, i16 800, i16 801, i16 802, i16 803, i16 804, i16 805, i16 806, i16 807, i16 808, i16 809, i16 810, i16 811, i16 812, i16 813, i16 814, i16 815, i16 816, i16 817, i16 818, i16 819, i16 824, i16 825, i16 828, i16 829, i16 830, i16 831, i16 832, i16 833, i16 834, i16 835, i16 840, i16 841, i16 842, i16 851, i16 852, i16 853, i16 854, i16 855, i16 856, i16 857, i16 858, i16 859, i16 860, i16 861, i16 864, i16 865, i16 868, i16 869, i16 870, i16 871, i16 874, i16 875, i16 876, i16 881, i16 882, i16 883, i16 884, i16 885, i16 886, i16 887, i16 888, i16 891, i16 892, i16 893, i16 894, i16 895, i16 896, i16 897, i16 904, i16 905, i16 908, i16 909, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 918, i16 919, i16 920, i16 921, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 929, i16 930, i16 931, i16 932, i16 933, i16 934, i16 935, i16 936, i16 937, i16 938, i16 939, i16 940, i16 941, i16 942, i16 943, i16 948, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 964, i16 965, i16 966, i16 967, i16 968, i16 969, i16 970, i16 971, i16 972, i16 977, i16 978, i16 979, i16 980, i16 981, i16 982, i16 983, i16 984, i16 987, i16 988, i16 989, i16 992, i16 993, i16 994, i16 995, i16 996, i16 997, i16 998, i16 999, i16 1000, i16 1001, i16 1002, i16 1003, i16 1004, i16 1005, i16 1006, i16 1007, i16 1008, i16 1012, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1023, i16 1024, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 1039, i16 1040, i16 1041, i16 1042, i16 1045, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 1058, i16 1059, i16 1060, i16 1061, i16 1062, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1072, i16 1073, i16 1074, i16 1078, i16 1079, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1103, i16 1104, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1112, i16 1113, i16 1116, i16 1117, i16 1120, i16 1121, i16 1122, i16 1123, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1138, i16 1139, i16 1140, i16 1143, i16 1144, i16 1145, i16 1146, i16 1147, i16 1148, i16 1149, i16 1150, i16 1151, i16 1152, i16 1153, i16 1154, i16 1155, i16 1156, i16 1157, i16 1158, i16 1159, i16 1160, i16 1161, i16 1162, i16 1163, i16 1164, i16 1169, i16 1170, i16 1173, i16 1174, i16 1175, i16 1176, i16 1177, i16 1178, i16 1183, i16 1184, i16 1185, i16 1186, i16 1189, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1244, i16 1245, i16 1246, i16 1249, i16 1250, i16 1251, i16 1252, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1265, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1281, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1298, i16 1299, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1314, i16 1315, i16 1318, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1328, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 1336, i16 1337, i16 1338, i16 1339, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 1360, i16 1369, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1404, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1427, i16 1428, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1481, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 1528, i16 1529, i16 1530, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 1539, i16 1540, i16 1541, i16 1542, i16 1543, i16 1544, i16 1545, i16 1546, i16 1547, i16 1548, i16 1549, i16 1550, i16 1551, i16 1552, i16 1553, i16 1554, i16 1555, i16 1556, i16 1557, i16 1558, i16 1559, i16 1560, i16 1561, i16 1562, i16 1563, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 1595, i16 1596, i16 1597, i16 1598, i16 1599, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1611, i16 1612, i16 1613, i16 1614, i16 1615, i16 1616, i16 1617, i16 1618, i16 1619, i16 1620, i16 1621, i16 1622, i16 1623, i16 1624, i16 1625, i16 1626, i16 1627, i16 1628, i16 1629, i16 1630, i16 1631, i16 1632, i16 1633, i16 1634, i16 1635, i16 1636, i16 1637, i16 1638, i16 1639, i16 1640, i16 1641, i16 1642, i16 1643, i16 1644, i16 1645, i16 1646, i16 1647, i16 1648, i16 1649, i16 1650, i16 1651, i16 1652, i16 1653, i16 1654, i16 1655, i16 1656, i16 1657, i16 1658, i16 1659, i16 1660, i16 1661, i16 1662, i16 1663, i16 1664, i16 1665, i16 1666, i16 1667, i16 1668, i16 1669, i16 1670, i16 1671, i16 1672, i16 1673, i16 1674, i16 1675, i16 1676, i16 1677, i16 1678, i16 1679, i16 1680, i16 1681, i16 1682, i16 1683, i16 1684, i16 1685, i16 1686, i16 1687, i16 1688, i16 1689, i16 1690, i16 1691, i16 1692, i16 1693, i16 1694, i16 1695, i16 1696, i16 1697, i16 1698, i16 1699, i16 1700, i16 1701, i16 1702, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 1717, i16 1718, i16 1719, i16 1720, i16 1721, i16 1722, i16 1723, i16 1724, i16 1725, i16 1726, i16 1727, i16 1728, i16 1729, i16 1730, i16 1731, i16 1732, i16 1733, i16 1734, i16 1735, i16 1736, i16 1737, i16 1738, i16 1739, i16 1740, i16 1741, i16 1742, i16 1743, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 1749, i16 1750, i16 1751, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 1758, i16 1759, i16 1760, i16 1761, i16 1762, i16 1763, i16 1764, i16 1765, i16 1766, i16 1767, i16 1768, i16 1769, i16 1770, i16 1771, i16 1772, i16 1773, i16 1774, i16 1775, i16 1776, i16 1777, i16 1778, i16 1779, i16 1780, i16 1781, i16 1782, i16 1783, i16 1784, i16 1785, i16 1786, i16 1787, i16 1788, i16 1789, i16 1790, i16 1791, i16 1792, i16 1793, i16 1794, i16 1795, i16 1796, i16 1797, i16 1798, i16 1799, i16 1800, i16 1801, i16 1802, i16 1803, i16 1804, i16 1805, i16 1806, i16 1807, i16 1808, i16 1809, i16 1810, i16 1811, i16 1812, i16 1813, i16 1814, i16 1815, i16 1816, i16 1817, i16 1818, i16 1819, i16 1820, i16 1821, i16 1822, i16 1823, i16 1824, i16 1825, i16 1826, i16 1827, i16 1828, i16 1829, i16 1830, i16 1831, i16 1832, i16 1833, i16 1834, i16 1835, i16 1836, i16 1837, i16 1838, i16 1839, i16 1840, i16 1841, i16 1842, i16 1843, i16 1844, i16 1845, i16 1846, i16 1847, i16 1848, i16 1849, i16 1850, i16 1851, i16 1852, i16 1853, i16 1854, i16 1855, i16 1856, i16 1857, i16 1858, i16 1859, i16 1860, i16 1861, i16 1862, i16 1863, i16 1864, i16 1865, i16 1866, i16 1867, i16 1868, i16 1869, i16 1870, i16 1871, i16 1872, i16 1873, i16 1874, i16 1875, i16 1876, i16 1877, i16 1878, i16 1879, i16 1880, i16 1881, i16 1882, i16 1883, i16 1884, i16 1885, i16 1886, i16 1887, i16 1888, i16 1889, i16 1890, i16 1891, i16 1892, i16 1893, i16 1894, i16 1895, i16 1896, i16 1897, i16 1898, i16 1899, i16 1900, i16 1901, i16 1902, i16 1903, i16 1904, i16 1905, i16 1906, i16 1907, i16 1908, i16 1909, i16 1910, i16 1911, i16 1912, i16 1913, i16 1914, i16 1915, i16 1916, i16 1917, i16 1918, i16 1919, i16 1920, i16 1921, i16 1922, i16 1923, i16 1924, i16 1925, i16 1926, i16 1927, i16 1928, i16 1929, i16 1930, i16 1931, i16 1932, i16 1933, i16 1934, i16 1935, i16 1936, i16 1937, i16 1938, i16 1939, i16 1940, i16 1941, i16 1942, i16 1943, i16 1944, i16 1945, i16 1946, i16 1947, i16 1948, i16 1949, i16 1950, i16 1951, i16 1952, i16 1953, i16 1954, i16 1955, i16 1956, i16 1957, i16 1958, i16 1959, i16 1960, i16 1961, i16 1962, i16 1963, i16 1964, i16 1965, i16 1966, i16 1967, i16 1968, i16 1969, i16 1970, i16 1971, i16 1972, i16 1973, i16 1974, i16 1975, i16 1976, i16 1977, i16 1978, i16 1979, i16 1980, i16 1981, i16 1982, i16 1983, i16 1984, i16 1985, i16 1986, i16 1987, i16 1988, i16 1989, i16 1990, i16 1991, i16 1992, i16 1993, i16 1994, i16 1995, i16 1996, i16 1997, i16 1998, i16 1999, i16 2000, i16 2001, i16 2002, i16 2003, i16 2004, i16 2005, i16 2006, i16 2007, i16 2008, i16 2009, i16 2010, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 458, i16 459, i16 460, i16 461, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 482, i16 483, i16 484, i16 485, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 494, i16 495, i16 496, i16 497, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 520, i16 521, i16 522, i16 523, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 714, i16 715, i16 716, i16 717, i16 718, i16 719, i16 720, i16 721, i16 722, i16 723, i16 724, i16 725, i16 726, i16 727, i16 728, i16 729, i16 730, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 737, i16 738, i16 739, i16 740, i16 741, i16 742, i16 743, i16 744, i16 745, i16 746, i16 747, i16 748, i16 749, i16 750, i16 751, i16 752, i16 753, i16 754, i16 755, i16 756, i16 757, i16 758, i16 759, i16 760, i16 761, i16 762, i16 763, i16 764, i16 765, i16 766, i16 767, i16 768, i16 769, i16 770, i16 771, i16 772, i16 773, i16 774, i16 775, i16 776, i16 777, i16 778, i16 779, i16 780, i16 781, i16 782, i16 783, i16 784, i16 785, i16 786, i16 787, i16 788, i16 789, i16 790, i16 791, i16 792, i16 793, i16 794, i16 795, i16 796, i16 797, i16 798, i16 799, i16 800, i16 801, i16 802, i16 803, i16 804, i16 805, i16 806, i16 807, i16 808, i16 809, i16 810, i16 811, i16 812, i16 813, i16 814, i16 815, i16 816, i16 817, i16 818, i16 819, i16 820, i16 821, i16 822, i16 823, i16 824, i16 825, i16 826, i16 827, i16 828, i16 829, i16 830, i16 831, i16 832, i16 833, i16 834, i16 835, i16 836, i16 837, i16 838, i16 839, i16 840, i16 841, i16 842, i16 843, i16 844, i16 845, i16 846, i16 847, i16 848, i16 849, i16 850, i16 851, i16 852, i16 853, i16 854, i16 855, i16 856, i16 857, i16 858, i16 859, i16 860, i16 861, i16 862, i16 863, i16 864, i16 865, i16 866, i16 867, i16 868, i16 869, i16 870, i16 871, i16 872, i16 873, i16 874, i16 875, i16 876, i16 877, i16 878, i16 879, i16 880, i16 881, i16 882, i16 883, i16 884, i16 885, i16 886, i16 887, i16 888, i16 889, i16 890, i16 891, i16 892, i16 893, i16 894, i16 895, i16 896, i16 897, i16 898, i16 899, i16 900, i16 901, i16 902, i16 903, i16 904, i16 905, i16 906, i16 907, i16 908, i16 909, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 918, i16 919, i16 920, i16 921, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 929, i16 930, i16 931, i16 932, i16 933, i16 934, i16 935, i16 936, i16 937, i16 938, i16 939, i16 940, i16 941, i16 942, i16 943, i16 944, i16 945, i16 946, i16 947, i16 948, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 964, i16 965, i16 966, i16 967, i16 968, i16 969, i16 970, i16 971, i16 972, i16 973, i16 974, i16 975, i16 976, i16 977, i16 978, i16 979, i16 980, i16 981, i16 982, i16 983, i16 984, i16 985, i16 986, i16 987, i16 988, i16 989, i16 990, i16 991, i16 992, i16 993, i16 994, i16 995, i16 996, i16 997, i16 998, i16 999, i16 1000, i16 1001, i16 1002, i16 1003, i16 1004, i16 1005, i16 1006, i16 1007, i16 1008, i16 1009, i16 1010, i16 1011, i16 1012, i16 1013, i16 1014, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1023, i16 1024, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 1037, i16 1038, i16 1039, i16 1040, i16 1041, i16 1042, i16 1043, i16 1044, i16 1045, i16 1046, i16 1047, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 1058, i16 1059, i16 1060, i16 1061, i16 1062, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1070, i16 1071, i16 1072, i16 1073, i16 1074, i16 1075, i16 1076, i16 1077, i16 1078, i16 1079, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1088, i16 1089, i16 1090, i16 1091, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1099, i16 1100, i16 1101, i16 1102, i16 1103, i16 1104, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 1117, i16 1118, i16 1119, i16 1120, i16 1121, i16 1122, i16 1123, i16 1124, i16 1125, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1132, i16 1133, i16 1134, i16 1135, i16 1136, i16 1137, i16 1138, i16 1139, i16 1140, i16 1141, i16 1142, i16 1143, i16 1144, i16 1145, i16 1146, i16 1147, i16 1148, i16 1149, i16 1150, i16 1151, i16 1152, i16 1153, i16 1154, i16 1155, i16 1156, i16 1157, i16 1158, i16 1159, i16 1160, i16 1161, i16 1162, i16 1163, i16 1164, i16 1165, i16 1166, i16 1167, i16 1168, i16 1169, i16 1170, i16 1171, i16 1172, i16 1173, i16 1174, i16 1175, i16 1176, i16 1177, i16 1178, i16 1179, i16 1180, i16 1181, i16 1182, i16 1183, i16 1184, i16 1185, i16 1186, i16 1187, i16 1188, i16 1189, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1206, i16 1207, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1235, i16 1236, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1242, i16 1243, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 1251, i16 1252, i16 1253, i16 1254, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1263, i16 1264, i16 1265, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1281, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1314, i16 1315, i16 1316, i16 1317, i16 1318, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 1367, i16 1368, i16 1369, i16 1370, i16 1371, i16 1372, i16 1373, i16 1374, i16 1375, i16 1376, i16 1377, i16 1378, i16 1379, i16 1380, i16 1381, i16 1382, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 1390, i16 1391, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1400, i16 1401, i16 1402, i16 1403, i16 1404, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1418, i16 1419, i16 1420, i16 1421, i16 1422, i16 1423, i16 1424, i16 1425, i16 1426, i16 1427, i16 1428, i16 1429, i16 1430, i16 1431, i16 1432, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1440, i16 1441, i16 1442, i16 1443, i16 1444, i16 1445, i16 1446, i16 1447, i16 1448, i16 1449, i16 1450, i16 1451, i16 1452, i16 1453, i16 1454, i16 1455, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1481, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 1528, i16 1529, i16 1530, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 1539, i16 1540, i16 1541, i16 1542, i16 1543, i16 1544, i16 1545, i16 1546, i16 1547, i16 1548, i16 1549, i16 1550, i16 1551, i16 1552, i16 1553, i16 1554, i16 1555, i16 1556, i16 1557, i16 1558, i16 1559, i16 1560, i16 1561, i16 1562, i16 1563, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 1595, i16 1596, i16 1597, i16 1598, i16 1599, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1611, i16 1612, i16 1613, i16 1614, i16 1615, i16 1616, i16 1617, i16 1618, i16 1619, i16 1620, i16 1621, i16 1622, i16 1623, i16 1624, i16 1625, i16 1626, i16 1627, i16 1628, i16 1629, i16 1630, i16 1631, i16 1632, i16 1633, i16 1634, i16 1635, i16 1636, i16 1637, i16 1638, i16 1639, i16 1640, i16 1641, i16 1642, i16 1643, i16 1644, i16 1645, i16 1646, i16 1647, i16 1648, i16 1649, i16 1650, i16 1651, i16 1652, i16 1653, i16 1654, i16 1655, i16 1656, i16 1657, i16 1658, i16 1659, i16 1660, i16 1661, i16 1662, i16 1663, i16 1664, i16 1665, i16 1666, i16 1667, i16 1668, i16 1669, i16 1670, i16 1671, i16 1672, i16 1673, i16 1674, i16 1675, i16 1676, i16 1677, i16 1678, i16 1679, i16 1680, i16 1681, i16 1682, i16 1683, i16 1684, i16 1685, i16 1686, i16 1687, i16 1688, i16 1689, i16 1690, i16 1691, i16 1692, i16 1693, i16 1694, i16 1695, i16 1696, i16 1697, i16 1698, i16 1699, i16 1700, i16 1701, i16 1702, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 1717, i16 1718, i16 1719, i16 1720, i16 1721, i16 1722, i16 1723, i16 1724, i16 1725, i16 1726, i16 1727, i16 1728, i16 1729, i16 1730, i16 1731, i16 1732, i16 1733, i16 1734, i16 1735, i16 1736, i16 1737, i16 1738, i16 1739, i16 1740, i16 1741, i16 1742, i16 1743, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 1749, i16 1750, i16 1751, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 1758, i16 1759, i16 1760, i16 1761, i16 1762, i16 1763, i16 1764, i16 1765, i16 1766, i16 1767, i16 1768, i16 1769, i16 1770, i16 1771, i16 1772, i16 1773, i16 1774, i16 1775, i16 1776, i16 1777, i16 1778, i16 1779, i16 1780, i16 1781, i16 1782, i16 1783, i16 1784, i16 1785, i16 1786, i16 1787, i16 1788, i16 1789, i16 1790, i16 1791, i16 1792, i16 1793, i16 1794, i16 1795, i16 1796, i16 1797, i16 1798, i16 1799, i16 1800, i16 1801, i16 1802, i16 1803, i16 1804, i16 1805, i16 1806, i16 1807, i16 1808, i16 1809, i16 1810, i16 1811, i16 1812, i16 1813, i16 1814, i16 1815, i16 1816, i16 1817, i16 1818, i16 1819, i16 1820, i16 1821, i16 1822, i16 1823, i16 1824, i16 1825, i16 1826, i16 1827, i16 1828, i16 1829, i16 1830, i16 1831, i16 1832, i16 1833, i16 1834, i16 1835, i16 1836, i16 1837, i16 1838, i16 1839, i16 1840, i16 1841, i16 1842, i16 1843, i16 1844, i16 1845, i16 1846, i16 1847, i16 1848, i16 1849, i16 1850, i16 1851, i16 1852, i16 1853, i16 1854, i16 1855, i16 1856, i16 1857, i16 1858, i16 1859, i16 1860, i16 1861, i16 1862, i16 1863, i16 1864, i16 1865, i16 1866, i16 1867, i16 1868, i16 1869, i16 1870, i16 1871, i16 1872, i16 1873, i16 1874, i16 1875, i16 1876, i16 1877, i16 1878, i16 1879, i16 1880, i16 1881, i16 1882, i16 1883, i16 1884, i16 1885, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 2, i16 1, i16 3, i16 1, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 457, i16 458, i16 459, i16 460, i16 461, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 482, i16 483, i16 484, i16 485, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 494, i16 495, i16 496, i16 497, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 520, i16 521, i16 522, i16 523, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 714, i16 715, i16 716, i16 717, i16 718, i16 719, i16 720, i16 721, i16 722, i16 723, i16 724, i16 725, i16 726, i16 727, i16 728, i16 729, i16 730, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 737, i16 738, i16 739, i16 740, i16 741, i16 742, i16 743, i16 744, i16 745, i16 746, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1188, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1206, i16 1207, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1235, i16 1236, i16 1187, i16 1190, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1242, i16 1243, i16 1187, i16 1190, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 1251, i16 1252, i16 1187, i16 1190, i16 1253, i16 1254, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1263, i16 1264, i16 1265, i16 1187, i16 1190, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1281, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1187, i16 1190, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1187, i16 1314, i16 1315, i16 1316, i16 1317, i16 1318, i16 1190, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1329, i16 1330, i16 1331, i16 1187, i16 1190, i16 1332, i16 1333, i16 1334, i16 1335, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 1187, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 1367, i16 1368, i16 1369, i16 1370, i16 1371, i16 1372, i16 1373, i16 1187, i16 1374, i16 1375, i16 1190, i16 1376, i16 1377, i16 1378, i16 1187, i16 1190, i16 1379, i16 1380, i16 1381, i16 1382, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 1187, i16 1190, i16 1390, i16 1391, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1400, i16 1401, i16 1402, i16 1403, i16 1404, i16 1187, i16 1190, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1187, i16 1190, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1418, i16 1419, i16 1420, i16 1421, i16 1422, i16 1423, i16 1187, i16 1190, i16 1424, i16 1425, i16 1426, i16 1427, i16 1428, i16 1429, i16 1430, i16 1431, i16 1432, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1440, i16 1441, i16 1442, i16 1443, i16 1444, i16 1445, i16 1446, i16 1447, i16 1448, i16 1449, i16 1450, i16 1451, i16 1452, i16 1453, i16 1454, i16 1455, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1187, i16 1190, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1187, i16 1190, i16 1481, i16 1187, i16 1190, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1187, i16 1190, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1187, i16 1513, i16 1514, i16 1515, i16 1190, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 1528, i16 1529, i16 1530, i16 1187, i16 1190, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 1539, i16 1540, i16 1541, i16 1542, i16 1543, i16 1544, i16 1545, i16 1546, i16 1547, i16 1548, i16 1549, i16 1550, i16 1551, i16 1552, i16 1553, i16 1554, i16 1555, i16 1556, i16 1557, i16 1558, i16 1559, i16 1560, i16 1561, i16 1562, i16 1563, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1187, i16 1187, i16 1187, i16 1190, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1187, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 1595, i16 1596, i16 1597, i16 1598, i16 1599, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1187, i16 1611, i16 1612, i16 1613, i16 1614, i16 1611, i16 1615, i16 1611, i16 1616, i16 1611, i16 1617, i16 1611, i16 1618, i16 1619, i16 1620, i16 1611, i16 1621, i16 1611, i16 1622, i16 1623, i16 1624, i16 1611, i16 1625, i16 1611, i16 1626, i16 1627, i16 1628, i16 1629, i16 1630, i16 1631, i16 1611, i16 1632, i16 1611, i16 1633, i16 1611, i16 1634, i16 1611, i16 1635, i16 1611, i16 1636, i16 1611, i16 1637, i16 1638, i16 1639, i16 1611, i16 1640, i16 1611, i16 1641, i16 1611, i16 1642, i16 1643, i16 1611, i16 1644, i16 1611, i16 1645, i16 1646, i16 1647, i16 1648, i16 1649, i16 1650, i16 1611, i16 1651, i16 1611, i16 1652, i16 1611, i16 1653, i16 1611, i16 1654, i16 1655, i16 1656, i16 1657, i16 1658, i16 1657, i16 1659, i16 1657, i16 1660, i16 1657, i16 1661, i16 1657, i16 1662, i16 1657, i16 1663, i16 1657, i16 1664, i16 1657, i16 1665, i16 1657, i16 1666, i16 1657, i16 1667, i16 1657, i16 1668, i16 1657, i16 1669, i16 1657, i16 1670, i16 1657, i16 1671, i16 1657, i16 1672, i16 1657, i16 1673, i16 1657, i16 1674, i16 1657, i16 1675, i16 1657, i16 1676, i16 1657, i16 1677, i16 1657, i16 1678, i16 1657, i16 1679, i16 1657, i16 1680, i16 1657, i16 1681, i16 1657, i16 1682, i16 1657, i16 1683, i16 1657, i16 1684, i16 1657, i16 1685, i16 1657, i16 1686, i16 1657, i16 1687, i16 1657, i16 1688, i16 1657, i16 1689, i16 1657, i16 1690, i16 1657, i16 1691, i16 1657, i16 1692, i16 1657, i16 1693, i16 1657, i16 1694, i16 1657, i16 1695, i16 1657, i16 1696, i16 1657, i16 1697, i16 1657, i16 1698, i16 1699, i16 1700, i16 1657, i16 1701, i16 1699, i16 1702, i16 1657, i16 1703, i16 1657, i16 1704, i16 1657, i16 1705, i16 1657, i16 1706, i16 1657, i16 1707, i16 1657, i16 1708, i16 1657, i16 1709, i16 1657, i16 1710, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1189, i16 1189, i16 1189, i16 1189, i16 1712, i16 1712, i16 1713, i16 1714, i16 1714, i16 1714, i16 1714, i16 1714, i16 1714, i16 1712, i16 1712, i16 1715, i16 1715, i16 1715, i16 1712, i16 1716, i16 1716, i16 1716, i16 1716, i16 1712, i16 1712, i16 1712, i16 1717, i16 1717, i16 1717, i16 1717, i16 1717, i16 1717, i16 1717, i16 1712, i16 1718, i16 1718, i16 1718, i16 1718, i16 1712, i16 1719, i16 1719, i16 1719, i16 1719, i16 1712, i16 1720, i16 1720, i16 1720, i16 1720, i16 1712, i16 1721, i16 1721, i16 1721, i16 1721, i16 1712, i16 1722, i16 1722, i16 1712, i16 1723, i16 1723, i16 1712, i16 1724, i16 1724, i16 1712, i16 1725, i16 1725, i16 1712, i16 1726, i16 1726, i16 1726, i16 1726, i16 1712, i16 1727, i16 1727, i16 1727, i16 1727, i16 1712, i16 1728, i16 1728, i16 1728, i16 1728, i16 1712, i16 1729, i16 1729, i16 1729, i16 1729, i16 1712, i16 1730, i16 1730, i16 1730, i16 1730, i16 1712, i16 1731, i16 1731, i16 1731, i16 1731, i16 1712, i16 1732, i16 1732, i16 1732, i16 1732, i16 1712, i16 1733, i16 1733, i16 1733, i16 1733, i16 1712, i16 1734, i16 1734, i16 1734, i16 1734, i16 1712, i16 1735, i16 1735, i16 1735, i16 1735, i16 1712, i16 1736, i16 1736, i16 1736, i16 1736, i16 1712, i16 1737, i16 1737, i16 1737, i16 1737, i16 1712, i16 1738, i16 1738, i16 1738, i16 1738, i16 1712, i16 1739, i16 1739, i16 1739, i16 1739, i16 1712, i16 1740, i16 1740, i16 1740, i16 1740, i16 1712, i16 1741, i16 1741, i16 1712, i16 1742, i16 1742, i16 1712, i16 1743, i16 1743, i16 1743, i16 1743, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 1749, i16 1750, i16 1751, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 1758, i16 1759, i16 1760, i16 1761, i16 1762, i16 1712, i16 1763, i16 1763, i16 1763, i16 1712, i16 1764, i16 1764, i16 1764, i16 1712, i16 1765, i16 1765, i16 1765, i16 1765, i16 1712, i16 1766, i16 1766, i16 1766, i16 1712, i16 1767, i16 1767, i16 1767, i16 1712, i16 1768, i16 1768, i16 1768, i16 1768, i16 1712, i16 1769, i16 1769, i16 1769, i16 1712, i16 1770, i16 1770, i16 1770, i16 1712, i16 1771, i16 1771, i16 1771, i16 1771, i16 1712, i16 1772, i16 1772, i16 1772, i16 1712, i16 1773, i16 1773, i16 1773, i16 1712, i16 1774, i16 1774, i16 1774, i16 1712, i16 1775, i16 1775, i16 1775, i16 1712, i16 1776, i16 1776, i16 1776, i16 1712, i16 1777, i16 1777, i16 1777, i16 1712, i16 1778, i16 1778, i16 1778, i16 1712, i16 1779, i16 1779, i16 1779, i16 1712, i16 1780, i16 1780, i16 1780, i16 1780, i16 1780, i16 1712, i16 1781, i16 1781, i16 1781, i16 1712, i16 1782, i16 1782, i16 1782, i16 1712, i16 1783, i16 1712, i16 1784, i16 1712, i16 1785, i16 1712, i16 1786, i16 1712, i16 1787, i16 1712, i16 1788, i16 1788, i16 1788, i16 1788, i16 1788, i16 1712, i16 1789, i16 1789, i16 1789, i16 1789, i16 1789, i16 1712, i16 1790, i16 1790, i16 1790, i16 1790, i16 1790, i16 1712, i16 1791, i16 1791, i16 1791, i16 1791, i16 1791, i16 1712, i16 1792, i16 1792, i16 1792, i16 1792, i16 1792, i16 1712, i16 1793, i16 1712, i16 1794, i16 1712, i16 1795, i16 1712, i16 1796, i16 1712, i16 1797, i16 1712, i16 1798, i16 1798, i16 1798, i16 1712, i16 1799, i16 1799, i16 1799, i16 1712, i16 1800, i16 1800, i16 1800, i16 1712, i16 1801, i16 1712, i16 1802, i16 1712, i16 1803, i16 1712, i16 1804, i16 1712, i16 1805, i16 1712, i16 1806, i16 1806, i16 1806, i16 1712, i16 1807, i16 1712, i16 1808, i16 1712, i16 1809, i16 1712, i16 1810, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2093, i16 2094, i16 2095, i16 2096, i16 2097, i16 2098, i16 2099, i16 2100, i16 2101, i16 2102, i16 2103, i16 2104, i16 2105, i16 2106, i16 2107, i16 2108, i16 2109, i16 2110, i16 2111, i16 2112, i16 2113, i16 2114, i16 2115, i16 2116, i16 2117, i16 2118, i16 2119, i16 2120, i16 2121, i16 2122, i16 2123, i16 2124, i16 2125, i16 2126, i16 2127, i16 2128, i16 2129, i16 2130, i16 2131, i16 2132, i16 2133, i16 2134, i16 2135, i16 2136, i16 2137, i16 2138, i16 2139, i16 2140, i16 2141, i16 2142, i16 2143, i16 2144, i16 2145, i16 2146, i16 2147, i16 2148, i16 2149, i16 2150, i16 2151, i16 2091, i16 2152, i16 2153, i16 2154, i16 2155, i16 2156, i16 2157, i16 2093, i16 2158, i16 2159, i16 2160, i16 2161, i16 2162, i16 2163, i16 2164, i16 2091, i16 2093, i16 2165, i16 2166, i16 2167, i16 2168, i16 2169, i16 2170, i16 2171, i16 2172, i16 2173, i16 2174, i16 2175, i16 2176, i16 2177, i16 2178, i16 2179, i16 2091, i16 2093, i16 2180, i16 2181, i16 2182, i16 2183, i16 2184, i16 2185, i16 2186, i16 2187, i16 2188, i16 2189, i16 2190, i16 2191, i16 2192, i16 2193, i16 2194, i16 2091, i16 2093, i16 2195, i16 2196, i16 2197, i16 2198, i16 2199, i16 2200, i16 2201, i16 2202, i16 2203, i16 2204, i16 2205, i16 2206, i16 2207, i16 2208, i16 2209, i16 2210, i16 2211, i16 2212, i16 2213, i16 2214, i16 2215, i16 2216, i16 2217, i16 2218, i16 2219, i16 2220, i16 2221, i16 2222, i16 2223, i16 2224, i16 2225, i16 2226, i16 2227, i16 2228, i16 2229, i16 2230, i16 2231, i16 2232, i16 2233, i16 2234, i16 2235, i16 2236, i16 2237, i16 2238, i16 2239, i16 2240, i16 2241, i16 2242, i16 2243, i16 2091, i16 2093, i16 2244, i16 2245, i16 2246, i16 2247, i16 2248, i16 2091, i16 2249, i16 2250, i16 2251, i16 2252, i16 2253, i16 2093, i16 2254, i16 2255, i16 2256, i16 2257, i16 2258, i16 2259, i16 2260, i16 2261, i16 2262, i16 2263, i16 2264, i16 2265, i16 2266, i16 2267, i16 2268, i16 2269, i16 2270, i16 2091, i16 2093, i16 2271, i16 2272, i16 2273, i16 2274, i16 2275, i16 2276, i16 2277, i16 2278, i16 2279, i16 2280, i16 2281, i16 2282, i16 2283, i16 2284, i16 2285, i16 2091, i16 2093, i16 2286, i16 2287, i16 2093, i16 2288, i16 2289, i16 2290, i16 2291, i16 2292, i16 2293, i16 2294, i16 2295, i16 2296, i16 2297, i16 2298, i16 2299, i16 2300, i16 2301, i16 2302, i16 2303, i16 2304, i16 2305, i16 2306, i16 2307, i16 2308, i16 2309, i16 2310, i16 2311, i16 2312, i16 2313, i16 2314, i16 2315, i16 2316, i16 2317, i16 2318, i16 2319, i16 2320, i16 2091, i16 2321, i16 2322, i16 2093, i16 2323, i16 2324, i16 2325, i16 2091, i16 2093, i16 2326, i16 2327, i16 2328, i16 2329, i16 2330, i16 2331, i16 2332, i16 2333, i16 2334, i16 2335, i16 2336, i16 2337, i16 2338, i16 2091, i16 2339, i16 2093, i16 2340, i16 2341, i16 2342, i16 2343, i16 2344, i16 2345, i16 2346, i16 2347, i16 2348, i16 2349, i16 2350, i16 2351, i16 2352, i16 2353, i16 2354, i16 2355, i16 2356, i16 2357, i16 2358, i16 2091, i16 2093, i16 2359, i16 2360, i16 2361, i16 2362, i16 2363, i16 2364, i16 2365, i16 2091, i16 2093, i16 2366, i16 2367, i16 2368, i16 2369, i16 2370, i16 2371, i16 2372, i16 2373, i16 2374, i16 2375, i16 2376, i16 2377, i16 2378, i16 2379, i16 2380, i16 2381, i16 2382, i16 2383, i16 2091, i16 2384, i16 2385, i16 2093, i16 2386, i16 2387, i16 2388, i16 2389, i16 2390, i16 2391, i16 2392, i16 2393, i16 2394, i16 2395, i16 2396, i16 2397, i16 2398, i16 2399, i16 2400, i16 2401, i16 2402, i16 2403, i16 2404, i16 2405, i16 2406, i16 2407, i16 2408, i16 2409, i16 2410, i16 2411, i16 2412, i16 2413, i16 2414, i16 2415, i16 2416, i16 2417, i16 2418, i16 2419, i16 2420, i16 2421, i16 2422, i16 2423, i16 2424, i16 2425, i16 2426, i16 2427, i16 2428, i16 2429, i16 2430, i16 2431, i16 2432, i16 2433, i16 2434, i16 2435, i16 2436, i16 2437, i16 2438, i16 2439, i16 2440, i16 2441, i16 2442, i16 2443, i16 2444, i16 2445, i16 2446, i16 2447, i16 2448, i16 2449, i16 2450, i16 2451, i16 2091, i16 2452, i16 2453, i16 2093, i16 2454, i16 2455, i16 2456, i16 2457, i16 2458, i16 2091, i16 2093, i16 2459, i16 2091, i16 2093, i16 2460, i16 2461, i16 2462, i16 2463, i16 2464, i16 2465, i16 2466, i16 2467, i16 2468, i16 2469, i16 2470, i16 2471, i16 2472, i16 2473, i16 2474, i16 2475, i16 2476, i16 2178, i16 2477, i16 2091, i16 2093, i16 2478, i16 2479, i16 2480, i16 2481, i16 2482, i16 2483, i16 2484, i16 2485, i16 2486, i16 2487, i16 2488, i16 2489, i16 2490, i16 2491, i16 2492, i16 2493, i16 2178, i16 2494, i16 2495, i16 2496, i16 2091, i16 2497, i16 2498, i16 2499, i16 2093, i16 2500, i16 2501, i16 2502, i16 2503, i16 2504, i16 2505, i16 2506, i16 2507, i16 2508, i16 2509, i16 2510, i16 2511, i16 2512, i16 2513, i16 2514, i16 2091, i16 2515, i16 2516, i16 2093, i16 2517, i16 2518, i16 2519, i16 2520, i16 2521, i16 2522, i16 2523, i16 2524, i16 2525, i16 2526, i16 2527, i16 2528, i16 2529, i16 2530, i16 2531, i16 2532, i16 2533, i16 2534, i16 2535, i16 2536, i16 2537, i16 2538, i16 2539, i16 2540, i16 2541, i16 2542, i16 2543, i16 2544, i16 2545, i16 2546, i16 2547, i16 2548, i16 2549, i16 2550, i16 2551, i16 2552, i16 2553, i16 2554, i16 2555, i16 2556, i16 2557, i16 2558, i16 2559, i16 2560, i16 2561, i16 2562, i16 2563, i16 2564, i16 2565, i16 2566, i16 2567, i16 2568, i16 2569, i16 2570, i16 2571, i16 2572, i16 2573, i16 2574, i16 2575, i16 2576, i16 2577, i16 2091, i16 2093, i16 2578, i16 2579, i16 2580, i16 2581, i16 2582, i16 2091, i16 2093, i16 2583, i16 2584, i16 2585, i16 2586, i16 2587, i16 2588, i16 2589, i16 2590, i16 2591, i16 2592, i16 2593, i16 2594, i16 2595, i16 2091, i16 2093, i16 2596, i16 2597, i16 2598, i16 2599, i16 2600, i16 2091, i16 2093, i16 2601, i16 2602, i16 2603, i16 2604, i16 2605, i16 2606, i16 2607, i16 2608, i16 2609, i16 2610, i16 2611, i16 2612, i16 2613, i16 2614, i16 2615, i16 2616, i16 2617, i16 2091, i16 2093, i16 2618, i16 2619, i16 2620, i16 2621, i16 2622, i16 2623, i16 2624, i16 2625, i16 2626, i16 2627, i16 2628, i16 2629, i16 2630, i16 2091, i16 2178, i16 2631, i16 2632, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2634, i16 2635, i16 2636, i16 2637, i16 2638, i16 2639, i16 2640, i16 2641, i16 2642, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2643, i16 2092, i16 2644, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2645, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2646, i16 2647, i16 2648, i16 2649, i16 2650, i16 2647, i16 2651, i16 2647, i16 2652, i16 2647, i16 2653, i16 2647, i16 2654, i16 2655, i16 2656, i16 2647, i16 2657, i16 2647, i16 2658, i16 2659, i16 2660, i16 2647, i16 2661, i16 2647, i16 2662, i16 2663, i16 2664, i16 2665, i16 2666, i16 2667, i16 2647, i16 2668, i16 2647, i16 2669, i16 2647, i16 2670, i16 2647, i16 2671, i16 2647, i16 2672, i16 2647, i16 2673, i16 2674, i16 2675, i16 2647, i16 2676, i16 2647, i16 2677, i16 2647, i16 2678, i16 2679, i16 2647, i16 2680, i16 2647, i16 2681, i16 2682, i16 2683, i16 2684, i16 2685, i16 2686, i16 2647, i16 2687, i16 2647, i16 2688, i16 2647, i16 2689, i16 2647, i16 2690, i16 2691, i16 2692, i16 2693, i16 2694, i16 2693, i16 2695, i16 2693, i16 2696, i16 2693, i16 2697, i16 2693, i16 2698, i16 2693, i16 2699, i16 2693, i16 2700, i16 2693, i16 2701, i16 2693, i16 2702, i16 2693, i16 2703, i16 2693, i16 2704, i16 2693, i16 2705, i16 2693, i16 2706, i16 2693, i16 2707, i16 2693, i16 2708, i16 2693, i16 2709, i16 2693, i16 2710, i16 2693, i16 2711, i16 2693, i16 2712, i16 2693, i16 2713, i16 2693, i16 2714, i16 2693, i16 2715, i16 2693, i16 2716, i16 2693, i16 2717, i16 2693, i16 2718, i16 2693, i16 2719, i16 2693, i16 2720, i16 2693, i16 2721, i16 2693, i16 2722, i16 2693, i16 2723, i16 2693, i16 2724, i16 2693, i16 2725, i16 2693, i16 2726, i16 2693, i16 2727, i16 2693, i16 2728, i16 2693, i16 2729, i16 2693, i16 2730, i16 2693, i16 2731, i16 2693, i16 2732, i16 2693, i16 2733, i16 2693, i16 2734, i16 2735, i16 2736, i16 2693, i16 2737, i16 2735, i16 2738, i16 2693, i16 2739, i16 2693, i16 2740, i16 2693, i16 2741, i16 2693, i16 2742, i16 2693, i16 2743, i16 2693, i16 2744, i16 2693, i16 2745, i16 2693, i16 2746, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2092, i16 2092, i16 2092, i16 2092, i16 2632, i16 2632, i16 2748, i16 2749, i16 2749, i16 2749, i16 2749, i16 2749, i16 2749, i16 2632, i16 2632, i16 2750, i16 2750, i16 2750, i16 2632, i16 2751, i16 2751, i16 2751, i16 2751, i16 2632, i16 2632, i16 2632, i16 2752, i16 2752, i16 2752, i16 2752, i16 2752, i16 2752, i16 2752, i16 2632, i16 2753, i16 2753, i16 2753, i16 2753, i16 2632, i16 2754, i16 2754, i16 2754, i16 2754, i16 2632, i16 2755, i16 2755, i16 2755, i16 2755, i16 2632, i16 2756, i16 2756, i16 2756, i16 2756, i16 2632, i16 2757, i16 2757, i16 2632, i16 2758, i16 2758, i16 2632, i16 2759, i16 2759, i16 2632, i16 2760, i16 2760, i16 2632, i16 2761, i16 2761, i16 2761, i16 2761, i16 2632, i16 2762, i16 2762, i16 2762, i16 2762, i16 2632, i16 2763, i16 2763, i16 2763, i16 2763, i16 2632, i16 2764, i16 2764, i16 2764, i16 2764, i16 2632, i16 2765, i16 2765, i16 2765, i16 2765, i16 2632, i16 2766, i16 2766, i16 2766, i16 2766, i16 2632, i16 2767, i16 2767, i16 2767, i16 2767, i16 2632, i16 2768, i16 2768, i16 2768, i16 2768, i16 2632, i16 2769, i16 2769, i16 2769, i16 2769, i16 2632, i16 2770, i16 2770, i16 2770, i16 2770, i16 2632, i16 2771, i16 2771, i16 2771, i16 2771, i16 2632, i16 2772, i16 2772, i16 2772, i16 2772, i16 2632, i16 2773, i16 2773, i16 2773, i16 2773, i16 2632, i16 2774, i16 2774, i16 2774, i16 2774, i16 2632, i16 2775, i16 2775, i16 2775, i16 2775, i16 2632, i16 2776, i16 2776, i16 2632, i16 2777, i16 2777, i16 2632, i16 2778, i16 2778, i16 2778, i16 2778, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2633, i16 2634, i16 2635, i16 2636, i16 2637, i16 2638, i16 2639, i16 2640, i16 2641, i16 2642, i16 2780, i16 2781, i16 2782, i16 2783, i16 2784, i16 2785, i16 2786, i16 2787, i16 2632, i16 2788, i16 2788, i16 2788, i16 2632, i16 2789, i16 2789, i16 2789, i16 2632, i16 2790, i16 2790, i16 2790, i16 2790, i16 2632, i16 2791, i16 2791, i16 2791, i16 2632, i16 2792, i16 2792, i16 2792, i16 2632, i16 2793, i16 2793, i16 2793, i16 2793, i16 2632, i16 2794, i16 2794, i16 2794, i16 2632, i16 2795, i16 2795, i16 2795, i16 2632, i16 2796, i16 2796, i16 2796, i16 2796, i16 2632, i16 2797, i16 2797, i16 2797, i16 2632, i16 2798, i16 2798, i16 2798, i16 2632, i16 2799, i16 2799, i16 2799, i16 2632, i16 2800, i16 2800, i16 2800, i16 2632, i16 2801, i16 2801, i16 2801, i16 2632, i16 2802, i16 2802, i16 2802, i16 2632, i16 2803, i16 2803, i16 2803, i16 2632, i16 2804, i16 2804, i16 2804, i16 2632, i16 2805, i16 2805, i16 2805, i16 2805, i16 2805, i16 2632, i16 2806, i16 2806, i16 2806, i16 2632, i16 2807, i16 2807, i16 2807, i16 2632, i16 2808, i16 2632, i16 2809, i16 2632, i16 2810, i16 2632, i16 2811, i16 2632, i16 2812, i16 2632, i16 2813, i16 2813, i16 2813, i16 2813, i16 2813, i16 2632, i16 2814, i16 2814, i16 2814, i16 2814, i16 2814, i16 2632, i16 2815, i16 2815, i16 2815, i16 2815, i16 2815, i16 2632, i16 2816, i16 2816, i16 2816, i16 2816, i16 2816, i16 2632, i16 2817, i16 2817, i16 2817, i16 2817, i16 2817, i16 2632, i16 2818, i16 2632, i16 2819, i16 2632, i16 2820, i16 2632, i16 2821, i16 2632, i16 2822, i16 2632, i16 2823, i16 2823, i16 2823, i16 2632, i16 2824, i16 2824, i16 2824, i16 2632, i16 2825, i16 2825, i16 2825, i16 2632, i16 2826, i16 2632, i16 2827, i16 2632, i16 2828, i16 2632, i16 2829, i16 2632, i16 2830, i16 2632, i16 2831, i16 2831, i16 2831, i16 2632, i16 2832, i16 2632, i16 2833, i16 2632, i16 2834, i16 2632, i16 2835, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2837, i16 2836, i16 2838, i16 2836, i16 2839, i16 2836, i16 2840, i16 2836, i16 2841, i16 2836, i16 2842, i16 2836, i16 2843, i16 2836, i16 2844, i16 2836, i16 2845, i16 2836, i16 2846, i16 2836, i16 2847, i16 2836, i16 2848, i16 2836, i16 2849, i16 2836, i16 2850, i16 2836, i16 2851, i16 2836, i16 2852, i16 2836, i16 2853, i16 2836, i16 2854, i16 2836, i16 2855, i16 2836, i16 2856, i16 2836, i16 2857, i16 2836, i16 2858, i16 2836, i16 2859, i16 2836, i16 2860, i16 2836, i16 2861, i16 2836, i16 2862, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2836, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2646, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2866, i16 2867, i16 2866, i16 2868, i16 2866, i16 2869, i16 2866, i16 2870, i16 2866, i16 2871, i16 2866, i16 2872, i16 2866, i16 2873, i16 2866, i16 2874, i16 2866, i16 2875, i16 2866, i16 2876, i16 2877, i16 2878, i16 2877, i16 2879, i16 2877, i16 2880, i16 2877, i16 2881, i16 2877, i16 2882, i16 2877, i16 2883, i16 2877, i16 2884, i16 2877, i16 2885, i16 2877, i16 2886, i16 2877, i16 2887, i16 2877, i16 2888, i16 2877, i16 2889, i16 2877, i16 2890, i16 2877, i16 2891, i16 2877, i16 2892, i16 2877, i16 2893, i16 2877, i16 2894, i16 2877, i16 2895, i16 2877, i16 2896, i16 2877, i16 2897, i16 2877, i16 2898, i16 2877, i16 2899, i16 2877, i16 2900, i16 2877, i16 2901, i16 2877, i16 2902, i16 2877, i16 2903, i16 2866, i16 2904, i16 2905, i16 2906, i16 2907, i16 2908, i16 2866, i16 2909, i16 2910, i16 2911, i16 2912, i16 2913, i16 2866, i16 2914, i16 2915, i16 2916, i16 2917, i16 2918, i16 2866, i16 2919, i16 2920, i16 2921, i16 2922, i16 2923, i16 2866, i16 2924, i16 2925, i16 2926, i16 2927, i16 2928, i16 2866, i16 2929, i16 2930, i16 2931, i16 2932, i16 2933, i16 2866, i16 2934, i16 2935, i16 2936, i16 2937, i16 2938, i16 2866, i16 2939, i16 2940, i16 2941, i16 2942, i16 2943, i16 2866, i16 2944, i16 2945, i16 2946, i16 2947, i16 2948, i16 2866, i16 2949, i16 2950, i16 2951, i16 2952, i16 2953, i16 2866, i16 2954, i16 2955, i16 2956, i16 2957, i16 2958, i16 2866, i16 2959, i16 2960, i16 2961, i16 2962, i16 2963, i16 2866, i16 2964, i16 2965, i16 2966, i16 2967, i16 2968, i16 2866, i16 2969, i16 2970, i16 2971, i16 2972, i16 2973, i16 2866, i16 2974, i16 2975, i16 2976, i16 2977, i16 2978, i16 2866, i16 2979, i16 2980, i16 2981, i16 2982, i16 2983, i16 2866, i16 2984, i16 2985, i16 2986, i16 2987, i16 2988, i16 2866, i16 2989, i16 2990, i16 2991, i16 2992, i16 2993, i16 2866, i16 2994, i16 2995, i16 2996, i16 2997, i16 2998, i16 2866, i16 2999, i16 3000, i16 3001, i16 3002, i16 3003, i16 2866, i16 3004, i16 3005, i16 3006, i16 3007, i16 3008, i16 2866, i16 3009, i16 3010, i16 3011, i16 3012, i16 3013, i16 2866, i16 3014, i16 3015, i16 3016, i16 3017, i16 3018, i16 2866, i16 3019, i16 3020, i16 3021, i16 3022, i16 3023, i16 2866, i16 3024, i16 3025, i16 3026, i16 3027, i16 3028, i16 2866, i16 3029, i16 3030, i16 3031, i16 3032, i16 3033, i16 2866, i16 3034, i16 3035, i16 3036, i16 3037, i16 3038, i16 2866, i16 3039, i16 3040, i16 3041, i16 3042, i16 3043, i16 2866, i16 3044, i16 3045, i16 3046, i16 3047, i16 3048, i16 2866, i16 3049, i16 3050, i16 3051, i16 3052, i16 3053, i16 2866, i16 3054, i16 3055, i16 3056, i16 3057, i16 3058, i16 2866, i16 3059, i16 3060, i16 3061, i16 3062, i16 3063, i16 2866, i16 3064, i16 3065, i16 3066, i16 3067, i16 3068, i16 2866, i16 3069, i16 3070, i16 3071, i16 3072, i16 3073, i16 2866, i16 3074, i16 3075, i16 3076, i16 3077, i16 3078, i16 2866, i16 2866, i16 3079, i16 3080, i16 3081, i16 3082, i16 3083, i16 2866, i16 2866, i16 3084, i16 3085, i16 3086, i16 3087, i16 3088, i16 2866, i16 3089, i16 3090, i16 3091, i16 3092, i16 3093, i16 2866, i16 3094, i16 3095, i16 3096, i16 3097, i16 3098, i16 2866, i16 3099, i16 3100, i16 3101, i16 3102, i16 3103, i16 2866, i16 3104, i16 3105, i16 3106, i16 3107, i16 3108, i16 2866, i16 3109, i16 3110, i16 3111, i16 3112, i16 3113, i16 2866, i16 3114, i16 3115, i16 3116, i16 3117, i16 3118, i16 2866, i16 3119, i16 3120, i16 3121, i16 3122, i16 3123, i16 2866, i16 2866, i16 2866, i16 2866, i16 3124, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 99, i16 104, i16 112, i16 117, i16 122, i16 124, i16 126, i16 128, i16 130, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 1162, i16 296, i16 0, i16 704, i16 0, i16 1166, i16 293, i16 0, i16 714, i16 0, i16 1168, i16 296, i16 0, i16 1167, i16 293, i16 0, i16 723, i16 0, i16 1169, i16 299, i16 0, i16 728, i16 0, i16 1170, i16 293, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 49, i16 51, i16 53, i16 55, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 83, i16 85, i16 87, i16 89, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 1174, i16 169, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 1176, i16 169, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 1173, i16 169, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 1175, i16 169, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 1222, i16 411, i16 0, i16 1221, i16 491, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 1219, i16 411, i16 0, i16 1220, i16 491, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 48, i16 50, i16 52, i16 54, i16 62, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 94, i16 96, i16 98, i16 100, i16 108, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 138, i16 140, i16 142, i16 144, i16 146, i16 148, i16 478, i16 0, i16 1265, i16 1008, i16 0, i16 1264, i16 1047, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 1269, i16 421, i16 0, i16 1268, i16 501, i16 0, i16 504, i16 0, i16 1273, i16 421, i16 0, i16 1272, i16 501, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 1262, i16 1008, i16 0, i16 1263, i16 1047, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 1266, i16 421, i16 0, i16 1267, i16 501, i16 0, i16 425, i16 0, i16 1270, i16 421, i16 0, i16 1271, i16 501, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 52, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 92, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 1318, i16 989, i16 0, i16 1317, i16 1029, i16 0, i16 491, i16 0, i16 1322, i16 401, i16 0, i16 1321, i16 481, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 1315, i16 989, i16 0, i16 1316, i16 1029, i16 0, i16 411, i16 0, i16 1319, i16 401, i16 0, i16 1320, i16 481, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 1222, i16 411, i16 0, i16 1221, i16 491, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1328, i16 413, i16 0, i16 1327, i16 493, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 1219, i16 411, i16 0, i16 1220, i16 491, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1325, i16 413, i16 0, i16 1326, i16 493, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 62, i16 142, i16 144, i16 168, i16 170, i16 194, i16 218, i16 220, i16 222, i16 224, i16 248, i16 272, i16 274, i16 298, i16 322, i16 402, i16 404, i16 428, i16 430, i16 454, i16 478, i16 480, i16 482, i16 484, i16 508, i16 532, i16 534, i16 558, i16 560, i16 562, i16 564, i16 566, i16 568, i16 570, i16 572, i16 574, i16 576, i16 1425, i16 451, i16 0, i16 1429, i16 398, i16 451, i16 0, i16 1428, i16 398, i16 528, i16 0, i16 1424, i16 528, i16 0, i16 1427, i16 478, i16 451, i16 0, i16 1426, i16 478, i16 528, i16 0, i16 478, i16 0, i16 1451, i16 471, i16 451, i16 0, i16 1450, i16 471, i16 528, i16 0, i16 1437, i16 471, i16 0, i16 1459, i16 399, i16 471, i16 451, i16 0, i16 1458, i16 399, i16 471, i16 528, i16 0, i16 1441, i16 399, i16 471, i16 0, i16 1457, i16 399, i16 548, i16 451, i16 0, i16 1456, i16 399, i16 548, i16 528, i16 0, i16 1440, i16 399, i16 548, i16 0, i16 1449, i16 548, i16 451, i16 0, i16 1448, i16 548, i16 528, i16 0, i16 1436, i16 548, i16 0, i16 1455, i16 479, i16 471, i16 451, i16 0, i16 1454, i16 479, i16 471, i16 528, i16 0, i16 1439, i16 479, i16 471, i16 0, i16 1453, i16 479, i16 548, i16 451, i16 0, i16 1452, i16 479, i16 548, i16 528, i16 0, i16 1438, i16 479, i16 548, i16 0, i16 479, i16 0, i16 490, i16 0, i16 1473, i16 467, i16 0, i16 1477, i16 411, i16 467, i16 0, i16 1476, i16 411, i16 544, i16 0, i16 1472, i16 544, i16 0, i16 1475, i16 491, i16 467, i16 0, i16 1474, i16 491, i16 544, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 1485, i16 467, i16 0, i16 1489, i16 425, i16 467, i16 0, i16 1488, i16 425, i16 544, i16 0, i16 1484, i16 544, i16 0, i16 1487, i16 504, i16 467, i16 0, i16 1486, i16 504, i16 544, i16 0, i16 504, i16 0, i16 1497, i16 467, i16 0, i16 1501, i16 432, i16 467, i16 0, i16 1500, i16 432, i16 544, i16 0, i16 1496, i16 544, i16 0, i16 1499, i16 511, i16 467, i16 0, i16 1498, i16 511, i16 544, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 1509, i16 471, i16 0, i16 1513, i16 451, i16 471, i16 0, i16 1512, i16 451, i16 548, i16 0, i16 1508, i16 548, i16 0, i16 1511, i16 528, i16 471, i16 0, i16 1510, i16 528, i16 548, i16 0, i16 528, i16 0, i16 1521, i16 467, i16 0, i16 1525, i16 453, i16 467, i16 0, i16 1524, i16 453, i16 544, i16 0, i16 1520, i16 544, i16 0, i16 1523, i16 530, i16 467, i16 0, i16 1522, i16 530, i16 544, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 1537, i16 471, i16 451, i16 0, i16 1536, i16 471, i16 528, i16 0, i16 1533, i16 451, i16 0, i16 1535, i16 548, i16 451, i16 0, i16 1534, i16 548, i16 528, i16 0, i16 1532, i16 528, i16 0, i16 548, i16 0, i16 1431, i16 451, i16 0, i16 1435, i16 398, i16 451, i16 0, i16 1434, i16 398, i16 528, i16 0, i16 1430, i16 528, i16 0, i16 1433, i16 478, i16 451, i16 0, i16 1432, i16 478, i16 528, i16 0, i16 398, i16 0, i16 1463, i16 471, i16 451, i16 0, i16 1462, i16 471, i16 528, i16 0, i16 1443, i16 471, i16 0, i16 1471, i16 399, i16 471, i16 451, i16 0, i16 1470, i16 399, i16 471, i16 528, i16 0, i16 1447, i16 399, i16 471, i16 0, i16 1469, i16 399, i16 548, i16 451, i16 0, i16 1468, i16 399, i16 548, i16 528, i16 0, i16 1446, i16 399, i16 548, i16 0, i16 1461, i16 548, i16 451, i16 0, i16 1460, i16 548, i16 528, i16 0, i16 1442, i16 548, i16 0, i16 1467, i16 479, i16 471, i16 451, i16 0, i16 1466, i16 479, i16 471, i16 528, i16 0, i16 1445, i16 479, i16 471, i16 0, i16 1465, i16 479, i16 548, i16 451, i16 0, i16 1464, i16 479, i16 548, i16 528, i16 0, i16 1444, i16 479, i16 548, i16 0, i16 399, i16 0, i16 410, i16 0, i16 1478, i16 467, i16 0, i16 1483, i16 411, i16 467, i16 0, i16 1482, i16 411, i16 544, i16 0, i16 1479, i16 544, i16 0, i16 1481, i16 491, i16 467, i16 0, i16 1480, i16 491, i16 544, i16 0, i16 411, i16 0, i16 990, i16 0, i16 1490, i16 467, i16 0, i16 1495, i16 425, i16 467, i16 0, i16 1494, i16 425, i16 544, i16 0, i16 1491, i16 544, i16 0, i16 1493, i16 504, i16 467, i16 0, i16 1492, i16 504, i16 544, i16 0, i16 425, i16 0, i16 1502, i16 467, i16 0, i16 1507, i16 432, i16 467, i16 0, i16 1506, i16 432, i16 544, i16 0, i16 1503, i16 544, i16 0, i16 1505, i16 511, i16 467, i16 0, i16 1504, i16 511, i16 544, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 1515, i16 471, i16 0, i16 1519, i16 451, i16 471, i16 0, i16 1518, i16 451, i16 548, i16 0, i16 1514, i16 548, i16 0, i16 1517, i16 528, i16 471, i16 0, i16 1516, i16 528, i16 548, i16 0, i16 451, i16 0, i16 1527, i16 467, i16 0, i16 1531, i16 453, i16 467, i16 0, i16 1530, i16 453, i16 544, i16 0, i16 1526, i16 544, i16 0, i16 1529, i16 530, i16 467, i16 0, i16 1528, i16 530, i16 544, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 1543, i16 471, i16 451, i16 0, i16 1542, i16 471, i16 528, i16 0, i16 1539, i16 451, i16 0, i16 1541, i16 548, i16 451, i16 0, i16 1540, i16 548, i16 528, i16 0, i16 1538, i16 528, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 112, i16 117, i16 122, i16 127, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1559, i16 1554, i16 0, i16 1556, i16 1552, i16 0, i16 1073, i16 0, i16 1560, i16 1553, i16 0, i16 582, i16 0, i16 1562, i16 1553, i16 0, i16 1080, i16 0, i16 1563, i16 1553, i16 0, i16 1082, i16 0, i16 1561, i16 1553, i16 0, i16 1564, i16 0, i16 38, i16 46, i16 54, i16 62, i16 64, i16 66, i16 74, i16 82, i16 84, i16 92, i16 100, i16 102, i16 110, i16 112, i16 114, i16 122, i16 130, i16 138, i16 140, i16 142, i16 150, i16 158, i16 160, i16 168, i16 176, i16 178, i16 186, i16 188, i16 190, i16 192, i16 194, i16 196, i16 198, i16 200, i16 202, i16 204, i16 206, i16 208, i16 1591, i16 413, i16 0, i16 1590, i16 493, i16 0, i16 478, i16 0, i16 1595, i16 399, i16 0, i16 1594, i16 479, i16 0, i16 479, i16 0, i16 1599, i16 410, i16 0, i16 1598, i16 490, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 1603, i16 425, i16 0, i16 1602, i16 504, i16 0, i16 504, i16 0, i16 1222, i16 411, i16 0, i16 1221, i16 491, i16 0, i16 511, i16 0, i16 515, i16 0, i16 1607, i16 413, i16 0, i16 1606, i16 493, i16 0, i16 522, i16 0, i16 1611, i16 413, i16 0, i16 1610, i16 493, i16 0, i16 524, i16 0, i16 528, i16 0, i16 1615, i16 413, i16 0, i16 1614, i16 493, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 1588, i16 413, i16 0, i16 1589, i16 493, i16 0, i16 398, i16 0, i16 1592, i16 399, i16 0, i16 1593, i16 479, i16 0, i16 399, i16 0, i16 1596, i16 410, i16 0, i16 1597, i16 490, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 1600, i16 425, i16 0, i16 1601, i16 504, i16 0, i16 425, i16 0, i16 1219, i16 411, i16 0, i16 1220, i16 491, i16 0, i16 432, i16 0, i16 437, i16 0, i16 1604, i16 413, i16 0, i16 1605, i16 493, i16 0, i16 445, i16 0, i16 1608, i16 413, i16 0, i16 1609, i16 493, i16 0, i16 447, i16 0, i16 451, i16 0, i16 1612, i16 413, i16 0, i16 1613, i16 493, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 138, i16 140, i16 1591, i16 413, i16 0, i16 1590, i16 493, i16 0, i16 1621, i16 169, i16 413, i16 0, i16 1620, i16 169, i16 493, i16 0, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 1588, i16 413, i16 0, i16 1589, i16 493, i16 0, i16 1618, i16 169, i16 413, i16 0, i16 1619, i16 169, i16 493, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 10, i16 12, i16 14, i16 16, i16 18, i16 20, i16 22, i16 24, i16 26, i16 28, i16 681, i16 0, i16 738, i16 0, i16 749, i16 0, i16 901, i16 0, i16 927, i16 0, i16 682, i16 0, i16 739, i16 0, i16 750, i16 0, i16 902, i16 0, i16 928, i16 0, i16 10, i16 18, i16 20, i16 22, i16 24, i16 26, i16 34, i16 36, i16 38, i16 40, i16 1884, i16 682, i16 0, i16 1883, i16 681, i16 0, i16 681, i16 0, i16 738, i16 0, i16 749, i16 0, i16 901, i16 0, i16 927, i16 0, i16 1886, i16 682, i16 0, i16 1885, i16 681, i16 0, i16 682, i16 0, i16 739, i16 0, i16 750, i16 0, i16 902, i16 0, i16 928, i16 0, i16 10, i16 12, i16 14, i16 22, i16 30, i16 38, i16 40, i16 42, i16 50, i16 58, i16 681, i16 0, i16 738, i16 0, i16 1928, i16 1880, i16 0, i16 1927, i16 1879, i16 0, i16 749, i16 0, i16 1932, i16 884, i16 0, i16 1931, i16 883, i16 0, i16 901, i16 0, i16 1936, i16 884, i16 0, i16 1935, i16 883, i16 0, i16 927, i16 0, i16 682, i16 0, i16 739, i16 0, i16 1930, i16 1880, i16 0, i16 1929, i16 1879, i16 0, i16 750, i16 0, i16 1934, i16 884, i16 0, i16 1933, i16 883, i16 0, i16 902, i16 0, i16 1938, i16 884, i16 0, i16 1937, i16 883, i16 0, i16 928, i16 0, i16 10, i16 12, i16 20, i16 22, i16 30, i16 32, i16 34, i16 42, i16 44, i16 52, i16 681, i16 0, i16 1940, i16 837, i16 0, i16 1939, i16 836, i16 0, i16 738, i16 0, i16 749, i16 0, i16 1944, i16 902, i16 0, i16 1943, i16 901, i16 0, i16 901, i16 0, i16 927, i16 0, i16 682, i16 0, i16 1942, i16 837, i16 0, i16 1941, i16 836, i16 0, i16 739, i16 0, i16 750, i16 0, i16 1946, i16 902, i16 0, i16 1945, i16 901, i16 0, i16 902, i16 0, i16 928, i16 0, i16 2, i16 10, i16 295, i16 278, i16 0, i16 294, i16 277, i16 0, i16 161, i16 0, i16 296, i16 278, i16 0, i16 162, i16 0, i16 5, i16 139, i16 273, i16 407, i16 541, i16 387, i16 386, i16 0, i16 381, i16 380, i16 0, i16 375, i16 374, i16 0, i16 369, i16 368, i16 0, i16 363, i16 362, i16 0, i16 357, i16 356, i16 0, i16 351, i16 350, i16 0, i16 345, i16 344, i16 0, i16 338, i16 337, i16 0, i16 331, i16 330, i16 0, i16 325, i16 324, i16 0, i16 319, i16 318, i16 0, i16 313, i16 312, i16 0, i16 307, i16 306, i16 0, i16 301, i16 300, i16 0, i16 295, i16 294, i16 0, i16 289, i16 288, i16 0, i16 283, i16 282, i16 0, i16 277, i16 276, i16 0, i16 271, i16 270, i16 0, i16 265, i16 264, i16 0, i16 259, i16 258, i16 0, i16 253, i16 252, i16 0, i16 247, i16 246, i16 0, i16 241, i16 240, i16 0, i16 235, i16 234, i16 0, i16 229, i16 228, i16 0, i16 223, i16 222, i16 0, i16 217, i16 216, i16 0, i16 211, i16 210, i16 0, i16 205, i16 204, i16 0, i16 199, i16 198, i16 0, i16 193, i16 192, i16 0, i16 187, i16 186, i16 0, i16 181, i16 180, i16 0, i16 175, i16 174, i16 0, i16 169, i16 168, i16 0, i16 163, i16 162, i16 0, i16 157, i16 156, i16 0, i16 151, i16 150, i16 0, i16 145, i16 144, i16 0, i16 139, i16 138, i16 0, i16 133, i16 132, i16 0, i16 127, i16 126, i16 0, i16 404, i16 0, i16 388, i16 386, i16 0, i16 382, i16 380, i16 0, i16 376, i16 374, i16 0, i16 370, i16 368, i16 0, i16 364, i16 362, i16 0, i16 358, i16 356, i16 0, i16 352, i16 350, i16 0, i16 346, i16 344, i16 0, i16 339, i16 337, i16 0, i16 332, i16 330, i16 0, i16 326, i16 324, i16 0, i16 320, i16 318, i16 0, i16 314, i16 312, i16 0, i16 308, i16 306, i16 0, i16 302, i16 300, i16 0, i16 296, i16 294, i16 0, i16 290, i16 288, i16 0, i16 284, i16 282, i16 0, i16 278, i16 276, i16 0, i16 272, i16 270, i16 0, i16 266, i16 264, i16 0, i16 260, i16 258, i16 0, i16 254, i16 252, i16 0, i16 248, i16 246, i16 0, i16 242, i16 240, i16 0, i16 236, i16 234, i16 0, i16 230, i16 228, i16 0, i16 224, i16 222, i16 0, i16 218, i16 216, i16 0, i16 212, i16 210, i16 0, i16 206, i16 204, i16 0, i16 200, i16 198, i16 0, i16 194, i16 192, i16 0, i16 188, i16 186, i16 0, i16 182, i16 180, i16 0, i16 176, i16 174, i16 0, i16 170, i16 168, i16 0, i16 164, i16 162, i16 0, i16 158, i16 156, i16 0, i16 152, i16 150, i16 0, i16 146, i16 144, i16 0, i16 140, i16 138, i16 0, i16 134, i16 132, i16 0, i16 128, i16 126, i16 0, i16 405, i16 0, i16 389, i16 386, i16 0, i16 383, i16 380, i16 0, i16 377, i16 374, i16 0, i16 371, i16 368, i16 0, i16 365, i16 362, i16 0, i16 359, i16 356, i16 0, i16 353, i16 350, i16 0, i16 347, i16 344, i16 0, i16 340, i16 337, i16 0, i16 333, i16 330, i16 0, i16 327, i16 324, i16 0, i16 321, i16 318, i16 0, i16 315, i16 312, i16 0, i16 309, i16 306, i16 0, i16 303, i16 300, i16 0, i16 297, i16 294, i16 0, i16 291, i16 288, i16 0, i16 285, i16 282, i16 0, i16 279, i16 276, i16 0, i16 273, i16 270, i16 0, i16 267, i16 264, i16 0, i16 261, i16 258, i16 0, i16 255, i16 252, i16 0, i16 249, i16 246, i16 0, i16 243, i16 240, i16 0, i16 237, i16 234, i16 0, i16 231, i16 228, i16 0, i16 225, i16 222, i16 0, i16 219, i16 216, i16 0, i16 213, i16 210, i16 0, i16 207, i16 204, i16 0, i16 201, i16 198, i16 0, i16 195, i16 192, i16 0, i16 189, i16 186, i16 0, i16 183, i16 180, i16 0, i16 177, i16 174, i16 0, i16 171, i16 168, i16 0, i16 165, i16 162, i16 0, i16 159, i16 156, i16 0, i16 153, i16 150, i16 0, i16 147, i16 144, i16 0, i16 141, i16 138, i16 0, i16 135, i16 132, i16 0, i16 129, i16 126, i16 0, i16 406, i16 0, i16 390, i16 386, i16 0, i16 384, i16 380, i16 0, i16 378, i16 374, i16 0, i16 372, i16 368, i16 0, i16 366, i16 362, i16 0, i16 360, i16 356, i16 0, i16 354, i16 350, i16 0, i16 348, i16 344, i16 0, i16 341, i16 337, i16 0, i16 334, i16 330, i16 0, i16 328, i16 324, i16 0, i16 322, i16 318, i16 0, i16 316, i16 312, i16 0, i16 310, i16 306, i16 0, i16 304, i16 300, i16 0, i16 298, i16 294, i16 0, i16 292, i16 288, i16 0, i16 286, i16 282, i16 0, i16 280, i16 276, i16 0, i16 274, i16 270, i16 0, i16 268, i16 264, i16 0, i16 262, i16 258, i16 0, i16 256, i16 252, i16 0, i16 250, i16 246, i16 0, i16 244, i16 240, i16 0, i16 238, i16 234, i16 0, i16 232, i16 228, i16 0, i16 226, i16 222, i16 0, i16 220, i16 216, i16 0, i16 214, i16 210, i16 0, i16 208, i16 204, i16 0, i16 202, i16 198, i16 0, i16 196, i16 192, i16 0, i16 190, i16 186, i16 0, i16 184, i16 180, i16 0, i16 178, i16 174, i16 0, i16 172, i16 168, i16 0, i16 166, i16 162, i16 0, i16 160, i16 156, i16 0, i16 154, i16 150, i16 0, i16 148, i16 144, i16 0, i16 142, i16 138, i16 0, i16 136, i16 132, i16 0, i16 130, i16 126, i16 0, i16 407, i16 0, i16 391, i16 386, i16 0, i16 385, i16 380, i16 0, i16 379, i16 374, i16 0, i16 373, i16 368, i16 0, i16 367, i16 362, i16 0, i16 361, i16 356, i16 0, i16 355, i16 350, i16 0, i16 349, i16 344, i16 0, i16 342, i16 337, i16 0, i16 335, i16 330, i16 0, i16 329, i16 324, i16 0, i16 323, i16 318, i16 0, i16 317, i16 312, i16 0, i16 311, i16 306, i16 0, i16 305, i16 300, i16 0, i16 299, i16 294, i16 0, i16 293, i16 288, i16 0, i16 287, i16 282, i16 0, i16 281, i16 276, i16 0, i16 275, i16 270, i16 0, i16 269, i16 264, i16 0, i16 263, i16 258, i16 0, i16 257, i16 252, i16 0, i16 251, i16 246, i16 0, i16 245, i16 240, i16 0, i16 239, i16 234, i16 0, i16 233, i16 228, i16 0, i16 227, i16 222, i16 0, i16 221, i16 216, i16 0, i16 215, i16 210, i16 0, i16 209, i16 204, i16 0, i16 203, i16 198, i16 0, i16 197, i16 192, i16 0, i16 191, i16 186, i16 0, i16 185, i16 180, i16 0, i16 179, i16 174, i16 0, i16 173, i16 168, i16 0, i16 167, i16 162, i16 0, i16 161, i16 156, i16 0, i16 155, i16 150, i16 0, i16 149, i16 144, i16 0, i16 143, i16 138, i16 0, i16 137, i16 132, i16 0, i16 131, i16 126, i16 0, i16 408, i16 0, i16 1, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 263, i16 1158, i16 0, i16 1159, i16 0, i16 2, i16 272, i16 1160, i16 0, i16 1161, i16 0, i16 2, i16 1375, i16 1163, i16 748, i16 1164, i16 749, i16 2, i16 1381, i16 1165, i16 750, i16 1166, i16 751, i16 2, i16 1392, i16 1167, i16 752, i16 1168, i16 753, i16 2, i16 1401, i16 1169, i16 754, i16 1170, i16 755, i16 1, i16 1156, i16 244, i16 0, i16 1157, i16 253, i16 0, i16 1162, i16 1370, i16 756, i16 1155, i16 22611, i16 1, i16 0, i16 1, i16 1171, i16 142, i16 0, i16 1172, i16 163, i16 0, i16 1173, i16 699, i16 757, i16 1174, i16 907, i16 758, i16 1175, i16 762, i16 759, i16 1176, i16 968, i16 760, i16 1155, i16 22611, i16 1, i16 0, i16 1, i16 1177, i16 306, i16 0, i16 1178, i16 1512, i16 761, i16 1179, i16 1576, i16 762, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 145, i16 900, i16 0, i16 1183, i16 0, i16 901, i16 0, i16 902, i16 0, i16 903, i16 0, i16 2, i16 636, i16 1196, i16 763, i16 974, i16 764, i16 2, i16 845, i16 1197, i16 765, i16 1014, i16 766, i16 2, i16 712, i16 992, i16 767, i16 990, i16 768, i16 2, i16 920, i16 1030, i16 769, i16 1032, i16 770, i16 2, i16 749, i16 995, i16 771, i16 994, i16 772, i16 2, i16 956, i16 1035, i16 773, i16 1034, i16 774, i16 2, i16 762, i16 1198, i16 775, i16 996, i16 775, i16 2, i16 968, i16 1199, i16 776, i16 1036, i16 776, i16 1, i16 1180, i16 121, i16 0, i16 1181, i16 127, i16 0, i16 1182, i16 142, i16 0, i16 1184, i16 161, i16 0, i16 1185, i16 163, i16 0, i16 1186, i16 173, i16 0, i16 1187, i16 178, i16 0, i16 1188, i16 303, i16 0, i16 1189, i16 309, i16 0, i16 1190, i16 322, i16 0, i16 1191, i16 327, i16 0, i16 1192, i16 330, i16 0, i16 1193, i16 340, i16 0, i16 1194, i16 343, i16 0, i16 1195, i16 346, i16 0, i16 978, i16 656, i16 777, i16 1018, i16 864, i16 778, i16 985, i16 699, i16 779, i16 1025, i16 907, i16 780, i16 1001, i16 787, i16 781, i16 1041, i16 992, i16 782, i16 1004, i16 809, i16 783, i16 1043, i16 1013, i16 784, i16 1200, i16 1506, i16 785, i16 1201, i16 1570, i16 786, i16 1202, i16 1514, i16 787, i16 1203, i16 1579, i16 788, i16 1204, i16 1532, i16 789, i16 1205, i16 1597, i16 790, i16 1206, i16 1538, i16 791, i16 1207, i16 1603, i16 792, i16 1208, i16 1541, i16 793, i16 1209, i16 1606, i16 794, i16 1210, i16 1549, i16 795, i16 1211, i16 1614, i16 796, i16 1212, i16 1553, i16 797, i16 1213, i16 1618, i16 798, i16 1214, i16 1556, i16 799, i16 1215, i16 1621, i16 800, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 749, i16 1219, i16 801, i16 1220, i16 802, i16 2, i16 956, i16 1221, i16 803, i16 1222, i16 804, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1218, i16 161, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 12, i16 22611, i16 1223, i16 805, i16 1224, i16 805, i16 1225, i16 805, i16 1226, i16 805, i16 1227, i16 805, i16 1228, i16 805, i16 1229, i16 805, i16 1230, i16 805, i16 1231, i16 805, i16 1232, i16 805, i16 1233, i16 805, i16 1234, i16 805, i16 1, i16 1155, i16 22623, i16 1, i16 0, i16 1, i16 1188, i16 303, i16 0, i16 1235, i16 316, i16 0, i16 1236, i16 322, i16 0, i16 1237, i16 338, i16 0, i16 1238, i16 343, i16 0, i16 1239, i16 346, i16 0, i16 1200, i16 1506, i16 785, i16 1201, i16 1570, i16 786, i16 1240, i16 1524, i16 806, i16 1241, i16 1588, i16 807, i16 1242, i16 1532, i16 808, i16 1243, i16 1597, i16 809, i16 1244, i16 1549, i16 810, i16 1245, i16 1614, i16 811, i16 1246, i16 1553, i16 812, i16 1247, i16 1618, i16 813, i16 1248, i16 1556, i16 814, i16 1249, i16 1621, i16 815, i16 1155, i16 22611, i16 1, i16 0, i16 4, i16 189, i16 1250, i16 0, i16 1251, i16 0, i16 1252, i16 0, i16 1253, i16 0, i16 3, i16 645, i16 974, i16 816, i16 975, i16 817, i16 977, i16 818, i16 2, i16 769, i16 996, i16 819, i16 997, i16 820, i16 3, i16 853, i16 1014, i16 821, i16 1015, i16 822, i16 1017, i16 823, i16 2, i16 974, i16 1036, i16 824, i16 1037, i16 825, i16 1, i16 895, i16 53, i16 0, i16 1046, i16 1026, i16 826, i16 1007, i16 822, i16 827, i16 1004, i16 813, i16 828, i16 1043, i16 1017, i16 829, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 127, i16 1254, i16 0, i16 1255, i16 0, i16 898, i16 0, i16 1256, i16 0, i16 1257, i16 0, i16 2, i16 656, i16 979, i16 830, i16 981, i16 831, i16 2, i16 864, i16 1019, i16 832, i16 1021, i16 833, i16 3, i16 670, i16 1262, i16 834, i16 1263, i16 835, i16 984, i16 836, i16 3, i16 878, i16 1264, i16 837, i16 1265, i16 838, i16 1024, i16 839, i16 2, i16 736, i16 1266, i16 840, i16 1267, i16 841, i16 2, i16 943, i16 1268, i16 842, i16 1269, i16 843, i16 2, i16 749, i16 1270, i16 844, i16 1271, i16 845, i16 2, i16 956, i16 1272, i16 846, i16 1273, i16 847, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1258, i16 158, i16 0, i16 1259, i16 161, i16 0, i16 1260, i16 173, i16 0, i16 1261, i16 189, i16 0, i16 1000, i16 787, i16 848, i16 1040, i16 992, i16 849, i16 1008, i16 834, i16 850, i16 1047, i16 1038, i16 851, i16 1155, i16 22611, i16 1, i16 0, i16 4, i16 121, i16 1274, i16 0, i16 1275, i16 0, i16 1276, i16 0, i16 1277, i16 0, i16 4, i16 127, i16 1255, i16 0, i16 1278, i16 0, i16 1279, i16 0, i16 1280, i16 0, i16 2, i16 133, i16 1281, i16 0, i16 1282, i16 0, i16 2, i16 142, i16 1284, i16 0, i16 1285, i16 0, i16 2, i16 173, i16 1287, i16 0, i16 1260, i16 0, i16 5, i16 194, i16 1288, i16 0, i16 1253, i16 0, i16 1250, i16 0, i16 1289, i16 0, i16 1252, i16 0, i16 4, i16 636, i16 971, i16 852, i16 970, i16 853, i16 972, i16 854, i16 973, i16 855, i16 4, i16 845, i16 1011, i16 856, i16 1010, i16 857, i16 1012, i16 858, i16 1013, i16 859, i16 2, i16 656, i16 978, i16 860, i16 981, i16 861, i16 2, i16 864, i16 1018, i16 862, i16 1021, i16 863, i16 2, i16 667, i16 1290, i16 864, i16 1291, i16 865, i16 2, i16 875, i16 1292, i16 864, i16 1293, i16 866, i16 2, i16 670, i16 983, i16 867, i16 984, i16 868, i16 2, i16 878, i16 1023, i16 869, i16 1024, i16 870, i16 2, i16 709, i16 1295, i16 871, i16 1296, i16 872, i16 2, i16 917, i16 1297, i16 871, i16 1298, i16 872, i16 3, i16 992, i16 1002, i16 873, i16 1000, i16 874, i16 1040, i16 875, i16 3, i16 645, i16 974, i16 876, i16 975, i16 817, i16 977, i16 877, i16 2, i16 769, i16 996, i16 819, i16 997, i16 820, i16 3, i16 853, i16 1014, i16 878, i16 1015, i16 822, i16 1017, i16 879, i16 2, i16 974, i16 1036, i16 824, i16 1037, i16 825, i16 1, i16 889, i16 16, i16 0, i16 1283, i16 138, i16 0, i16 1286, i16 156, i16 0, i16 1294, i16 696, i16 880, i16 1299, i16 734, i16 881, i16 1300, i16 941, i16 882, i16 1004, i16 813, i16 828, i16 1043, i16 1017, i16 829, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 46, i16 897, i16 0, i16 896, i16 0, i16 2, i16 121, i16 1301, i16 0, i16 1302, i16 0, i16 2, i16 636, i16 972, i16 883, i16 976, i16 884, i16 2, i16 845, i16 1012, i16 885, i16 1016, i16 886, i16 2, i16 787, i16 1305, i16 781, i16 1001, i16 781, i16 2, i16 992, i16 1306, i16 781, i16 1041, i16 782, i16 2, i16 799, i16 1307, i16 887, i16 1003, i16 887, i16 2, i16 1003, i16 1308, i16 887, i16 1042, i16 888, i16 1, i16 1303, i16 152, i16 0, i16 1186, i16 173, i16 0, i16 1304, i16 176, i16 0, i16 991, i16 717, i16 889, i16 1031, i16 925, i16 890, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 699, i16 1315, i16 891, i16 1316, i16 892, i16 2, i16 907, i16 1317, i16 893, i16 1318, i16 894, i16 2, i16 717, i16 1319, i16 895, i16 1320, i16 896, i16 2, i16 925, i16 1321, i16 897, i16 1322, i16 898, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1309, i16 127, i16 0, i16 1310, i16 138, i16 0, i16 1311, i16 142, i16 0, i16 1312, i16 145, i16 0, i16 1313, i16 152, i16 0, i16 1314, i16 187, i16 0, i16 982, i16 656, i16 899, i16 1022, i16 864, i16 900, i16 987, i16 696, i16 901, i16 1027, i16 904, i16 902, i16 989, i16 712, i16 903, i16 1029, i16 920, i16 904, i16 1009, i16 829, i16 905, i16 1048, i16 1033, i16 906, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 749, i16 1219, i16 907, i16 1220, i16 908, i16 2, i16 956, i16 1221, i16 909, i16 1222, i16 910, i16 2, i16 824, i16 1325, i16 911, i16 1326, i16 912, i16 2, i16 1028, i16 1327, i16 913, i16 1328, i16 914, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1323, i16 161, i16 0, i16 1324, i16 184, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 76, i16 1632, i16 1329, i16 915, i16 1330, i16 915, i16 1331, i16 915, i16 1332, i16 915, i16 1333, i16 915, i16 1334, i16 915, i16 1335, i16 915, i16 1336, i16 915, i16 1337, i16 915, i16 1338, i16 915, i16 1339, i16 915, i16 1340, i16 915, i16 1341, i16 915, i16 1342, i16 915, i16 1343, i16 915, i16 1344, i16 915, i16 1345, i16 915, i16 1346, i16 915, i16 1347, i16 915, i16 1348, i16 915, i16 1349, i16 915, i16 1350, i16 915, i16 1351, i16 915, i16 1352, i16 915, i16 1353, i16 915, i16 1354, i16 915, i16 1355, i16 915, i16 1356, i16 915, i16 1357, i16 915, i16 1358, i16 915, i16 1359, i16 915, i16 1360, i16 915, i16 1361, i16 915, i16 1362, i16 915, i16 1363, i16 915, i16 1364, i16 915, i16 1365, i16 915, i16 1366, i16 915, i16 1367, i16 916, i16 1368, i16 916, i16 1369, i16 916, i16 1370, i16 916, i16 1371, i16 916, i16 1372, i16 916, i16 1373, i16 916, i16 1374, i16 916, i16 1375, i16 916, i16 1376, i16 916, i16 1377, i16 916, i16 1378, i16 916, i16 1379, i16 916, i16 1380, i16 916, i16 1381, i16 916, i16 1382, i16 916, i16 1383, i16 916, i16 1384, i16 916, i16 1385, i16 916, i16 1386, i16 916, i16 1387, i16 916, i16 1388, i16 916, i16 1389, i16 916, i16 1390, i16 916, i16 1391, i16 916, i16 1392, i16 916, i16 1393, i16 916, i16 1394, i16 916, i16 1395, i16 916, i16 1396, i16 916, i16 1397, i16 916, i16 1398, i16 916, i16 1399, i16 916, i16 1400, i16 916, i16 1401, i16 916, i16 1402, i16 916, i16 1403, i16 916, i16 1404, i16 916, i16 1, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 3, i16 1216, i16 0, i16 1405, i16 0, i16 1406, i16 0, i16 1407, i16 0, i16 1408, i16 0, i16 5, i16 16, i16 1217, i16 0, i16 1409, i16 0, i16 1410, i16 0, i16 1411, i16 0, i16 1412, i16 0, i16 2, i16 133, i16 1414, i16 0, i16 1415, i16 0, i16 4, i16 163, i16 996, i16 917, i16 998, i16 918, i16 1036, i16 919, i16 1038, i16 920, i16 4, i16 178, i16 1004, i16 921, i16 1006, i16 922, i16 1043, i16 923, i16 1045, i16 924, i16 6, i16 864, i16 1424, i16 925, i16 1425, i16 926, i16 1426, i16 927, i16 1427, i16 928, i16 1428, i16 929, i16 1429, i16 930, i16 6, i16 656, i16 1430, i16 931, i16 1431, i16 932, i16 1432, i16 933, i16 1433, i16 934, i16 1434, i16 935, i16 1435, i16 936, i16 6, i16 878, i16 1436, i16 937, i16 1437, i16 938, i16 1438, i16 939, i16 1439, i16 940, i16 1440, i16 941, i16 1441, i16 942, i16 6, i16 670, i16 1442, i16 943, i16 1443, i16 944, i16 1444, i16 945, i16 1445, i16 946, i16 1446, i16 947, i16 1447, i16 948, i16 12, i16 878, i16 1448, i16 949, i16 1449, i16 950, i16 1450, i16 951, i16 1451, i16 952, i16 1452, i16 953, i16 1453, i16 954, i16 1454, i16 955, i16 1455, i16 956, i16 1456, i16 953, i16 1457, i16 954, i16 1458, i16 955, i16 1459, i16 956, i16 12, i16 670, i16 1460, i16 957, i16 1461, i16 958, i16 1462, i16 959, i16 1463, i16 960, i16 1464, i16 961, i16 1465, i16 962, i16 1466, i16 963, i16 1467, i16 964, i16 1468, i16 961, i16 1469, i16 962, i16 1470, i16 963, i16 1471, i16 964, i16 6, i16 907, i16 1472, i16 965, i16 1473, i16 966, i16 1474, i16 967, i16 1475, i16 968, i16 1476, i16 969, i16 1477, i16 970, i16 6, i16 699, i16 1478, i16 971, i16 1479, i16 972, i16 1480, i16 973, i16 1481, i16 974, i16 1482, i16 975, i16 1483, i16 976, i16 6, i16 943, i16 1484, i16 977, i16 1485, i16 978, i16 1486, i16 979, i16 1487, i16 980, i16 1488, i16 981, i16 1489, i16 982, i16 6, i16 736, i16 1490, i16 983, i16 1491, i16 984, i16 1492, i16 985, i16 1493, i16 986, i16 1494, i16 987, i16 1495, i16 988, i16 6, i16 956, i16 1496, i16 989, i16 1497, i16 990, i16 1498, i16 991, i16 1499, i16 992, i16 1500, i16 993, i16 1501, i16 994, i16 6, i16 749, i16 1502, i16 995, i16 1503, i16 996, i16 1504, i16 997, i16 1505, i16 998, i16 1506, i16 999, i16 1507, i16 1000, i16 6, i16 992, i16 1508, i16 1001, i16 1509, i16 1002, i16 1510, i16 1003, i16 1511, i16 1004, i16 1512, i16 1005, i16 1513, i16 1006, i16 6, i16 787, i16 1514, i16 1007, i16 1515, i16 1008, i16 1516, i16 1009, i16 1517, i16 1010, i16 1518, i16 1011, i16 1519, i16 1012, i16 6, i16 1003, i16 1520, i16 1013, i16 1521, i16 1014, i16 1522, i16 1015, i16 1523, i16 1016, i16 1524, i16 1017, i16 1525, i16 1018, i16 6, i16 799, i16 1526, i16 1019, i16 1527, i16 1020, i16 1528, i16 1021, i16 1529, i16 1022, i16 1530, i16 1023, i16 1531, i16 1024, i16 6, i16 1038, i16 1532, i16 1025, i16 1533, i16 1026, i16 1534, i16 1027, i16 1535, i16 1028, i16 1536, i16 1029, i16 1537, i16 1030, i16 6, i16 834, i16 1538, i16 1031, i16 1539, i16 1032, i16 1540, i16 1033, i16 1541, i16 1034, i16 1542, i16 1035, i16 1543, i16 1036, i16 1, i16 1413, i16 127, i16 0, i16 1416, i16 142, i16 0, i16 1417, i16 158, i16 0, i16 1418, i16 161, i16 0, i16 1419, i16 163, i16 0, i16 1420, i16 173, i16 0, i16 1421, i16 176, i16 0, i16 1422, i16 178, i16 0, i16 1423, i16 189, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 9, i16 31, i16 890, i16 0, i16 892, i16 0, i16 1544, i16 0, i16 891, i16 0, i16 1545, i16 0, i16 1546, i16 0, i16 1547, i16 0, i16 893, i16 0, i16 894, i16 0, i16 2, i16 42, i16 1548, i16 0, i16 1549, i16 0, i16 3, i16 194, i16 1550, i16 0, i16 906, i16 0, i16 905, i16 0, i16 2, i16 238, i16 907, i16 0, i16 1551, i16 0, i16 16, i16 482, i16 961, i16 1037, i16 962, i16 1037, i16 963, i16 1037, i16 967, i16 1037, i16 968, i16 1037, i16 969, i16 1037, i16 964, i16 1037, i16 965, i16 1037, i16 966, i16 1037, i16 954, i16 1037, i16 955, i16 1037, i16 956, i16 1037, i16 959, i16 1037, i16 960, i16 1037, i16 957, i16 1037, i16 958, i16 1037, i16 4, i16 520, i16 1552, i16 1037, i16 1553, i16 1037, i16 1554, i16 1037, i16 1555, i16 1037, i16 35, i16 1049, i16 1050, i16 641, i16 1049, i16 642, i16 1052, i16 643, i16 1051, i16 644, i16 1054, i16 645, i16 1053, i16 646, i16 1056, i16 647, i16 1055, i16 648, i16 1058, i16 649, i16 1057, i16 650, i16 1060, i16 651, i16 1059, i16 652, i16 1062, i16 653, i16 1061, i16 654, i16 1064, i16 655, i16 1063, i16 656, i16 1066, i16 657, i16 1065, i16 658, i16 1068, i16 659, i16 1067, i16 660, i16 1070, i16 1038, i16 1556, i16 1038, i16 1073, i16 665, i16 1557, i16 1039, i16 1069, i16 661, i16 1071, i16 1040, i16 1558, i16 1040, i16 1072, i16 1041, i16 1559, i16 1041, i16 1079, i16 1042, i16 1560, i16 1042, i16 1081, i16 1043, i16 1561, i16 1044, i16 1562, i16 1045, i16 1563, i16 1043, i16 2, i16 1135, i16 1076, i16 667, i16 1075, i16 1046, i16 6, i16 1148, i16 1077, i16 669, i16 1074, i16 1047, i16 1078, i16 1048, i16 1564, i16 1049, i16 1080, i16 1050, i16 1082, i16 1051, i16 15, i16 1160, i16 1084, i16 1052, i16 1085, i16 1053, i16 1090, i16 1054, i16 1091, i16 1055, i16 1565, i16 1056, i16 1566, i16 1057, i16 1083, i16 1058, i16 1086, i16 1059, i16 1087, i16 1060, i16 1088, i16 1061, i16 1089, i16 1062, i16 1108, i16 1063, i16 1109, i16 1064, i16 1567, i16 1065, i16 1568, i16 1066, i16 8, i16 1276, i16 1098, i16 1067, i16 1099, i16 1068, i16 1100, i16 1069, i16 1101, i16 1070, i16 1094, i16 1071, i16 1095, i16 1072, i16 1096, i16 1073, i16 1097, i16 1074, i16 26, i16 1320, i16 1102, i16 1075, i16 1103, i16 1076, i16 1104, i16 1077, i16 1105, i16 1078, i16 1092, i16 1079, i16 1093, i16 1080, i16 1106, i16 1081, i16 1107, i16 1082, i16 1570, i16 1083, i16 1571, i16 1084, i16 1572, i16 1085, i16 1573, i16 1086, i16 1110, i16 1087, i16 1111, i16 1088, i16 1112, i16 1089, i16 1113, i16 1090, i16 1114, i16 1091, i16 1115, i16 1092, i16 1116, i16 1093, i16 1117, i16 1094, i16 1118, i16 1095, i16 1119, i16 1096, i16 1120, i16 1097, i16 1121, i16 1098, i16 1122, i16 1099, i16 1123, i16 1100, i16 1, i16 1569, i16 1229, i16 1101, i16 1155, i16 22611, i16 1, i16 0, i16 1, i16 1574, i16 127, i16 0, i16 1575, i16 142, i16 0, i16 1576, i16 145, i16 0, i16 1577, i16 154, i16 0, i16 1578, i16 173, i16 0, i16 1579, i16 178, i16 0, i16 1020, i16 864, i16 1102, i16 980, i16 656, i16 1103, i16 1026, i16 907, i16 1104, i16 986, i16 699, i16 1105, i16 1028, i16 920, i16 1106, i16 988, i16 712, i16 1107, i16 1033, i16 937, i16 1108, i16 993, i16 729, i16 1109, i16 1039, i16 992, i16 1110, i16 999, i16 787, i16 1111, i16 1044, i16 1013, i16 1112, i16 1005, i16 809, i16 1113, i16 1155, i16 22611, i16 1, i16 0, i16 3, i16 127, i16 1580, i16 0, i16 898, i16 0, i16 1581, i16 0, i16 3, i16 138, i16 1582, i16 0, i16 899, i16 0, i16 1583, i16 0, i16 2, i16 656, i16 1588, i16 1114, i16 1589, i16 1115, i16 2, i16 864, i16 1590, i16 1116, i16 1591, i16 1117, i16 2, i16 670, i16 1592, i16 1118, i16 1593, i16 1119, i16 2, i16 878, i16 1594, i16 1120, i16 1595, i16 1121, i16 2, i16 696, i16 1596, i16 1122, i16 1597, i16 1123, i16 2, i16 904, i16 1598, i16 1124, i16 1599, i16 1125, i16 2, i16 699, i16 1219, i16 1126, i16 1220, i16 1127, i16 2, i16 907, i16 1221, i16 1128, i16 1222, i16 1129, i16 2, i16 736, i16 1600, i16 1130, i16 1601, i16 1131, i16 2, i16 943, i16 1602, i16 1132, i16 1603, i16 1133, i16 2, i16 777, i16 1604, i16 1134, i16 1605, i16 1135, i16 2, i16 982, i16 1606, i16 1136, i16 1607, i16 1137, i16 2, i16 781, i16 1608, i16 1138, i16 1609, i16 1139, i16 2, i16 986, i16 1610, i16 1140, i16 1611, i16 1141, i16 2, i16 799, i16 1612, i16 1142, i16 1613, i16 1143, i16 2, i16 1003, i16 1614, i16 1144, i16 1615, i16 1145, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1584, i16 158, i16 0, i16 1585, i16 168, i16 0, i16 1586, i16 171, i16 0, i16 1587, i16 176, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 127, i16 1254, i16 0, i16 1255, i16 0, i16 898, i16 0, i16 1256, i16 0, i16 1257, i16 0, i16 2, i16 656, i16 979, i16 830, i16 981, i16 831, i16 2, i16 864, i16 1019, i16 832, i16 1021, i16 833, i16 3, i16 670, i16 1262, i16 834, i16 1263, i16 835, i16 984, i16 836, i16 5, i16 878, i16 1264, i16 837, i16 1265, i16 838, i16 1024, i16 839, i16 1266, i16 840, i16 1267, i16 841, i16 2, i16 943, i16 1268, i16 842, i16 1269, i16 843, i16 2, i16 749, i16 1270, i16 844, i16 1271, i16 845, i16 2, i16 956, i16 1272, i16 846, i16 1273, i16 847, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1258, i16 158, i16 0, i16 1259, i16 161, i16 0, i16 1260, i16 173, i16 0, i16 1261, i16 189, i16 0, i16 1000, i16 787, i16 848, i16 1040, i16 992, i16 849, i16 1008, i16 834, i16 850, i16 1047, i16 1038, i16 851, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 127, i16 1616, i16 0, i16 1617, i16 0, i16 4, i16 656, i16 1588, i16 1146, i16 1589, i16 1147, i16 1618, i16 1148, i16 1619, i16 1149, i16 4, i16 864, i16 1590, i16 1150, i16 1591, i16 1151, i16 1620, i16 1152, i16 1621, i16 1153, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 46, i16 74, i16 908, i16 0, i16 909, i16 0, i16 910, i16 0, i16 911, i16 0, i16 912, i16 0, i16 913, i16 0, i16 914, i16 0, i16 915, i16 0, i16 916, i16 0, i16 917, i16 0, i16 918, i16 0, i16 919, i16 0, i16 920, i16 0, i16 921, i16 0, i16 922, i16 0, i16 923, i16 0, i16 924, i16 0, i16 925, i16 0, i16 926, i16 0, i16 927, i16 0, i16 928, i16 0, i16 929, i16 0, i16 930, i16 0, i16 931, i16 0, i16 932, i16 0, i16 933, i16 0, i16 934, i16 0, i16 935, i16 0, i16 936, i16 0, i16 937, i16 0, i16 938, i16 0, i16 939, i16 0, i16 940, i16 0, i16 941, i16 0, i16 942, i16 0, i16 943, i16 0, i16 944, i16 0, i16 945, i16 0, i16 946, i16 0, i16 947, i16 0, i16 948, i16 0, i16 949, i16 0, i16 950, i16 0, i16 951, i16 0, i16 952, i16 0, i16 953, i16 0, i16 3, i16 1508, i16 1125, i16 1154, i16 1136, i16 1155, i16 1128, i16 1156, i16 3, i16 1514, i16 1126, i16 1157, i16 1127, i16 1158, i16 1138, i16 1159, i16 3, i16 1524, i16 1144, i16 1160, i16 1130, i16 1161, i16 1137, i16 1162, i16 3, i16 1572, i16 1140, i16 1163, i16 1152, i16 1164, i16 1143, i16 1165, i16 3, i16 1579, i16 1141, i16 1166, i16 1142, i16 1167, i16 1154, i16 1168, i16 3, i16 1588, i16 1129, i16 1169, i16 1145, i16 1170, i16 1153, i16 1171, i16 1, i16 1124, i16 1506, i16 1172, i16 1133, i16 1532, i16 1173, i16 1131, i16 1534, i16 1174, i16 1132, i16 1538, i16 1175, i16 1135, i16 1549, i16 1176, i16 1134, i16 1556, i16 1177, i16 1139, i16 1570, i16 1178, i16 1146, i16 1594, i16 1179, i16 1149, i16 1597, i16 1180, i16 1147, i16 1599, i16 1181, i16 1148, i16 1603, i16 1182, i16 1151, i16 1614, i16 1183, i16 1150, i16 1621, i16 1184, i16 1155, i16 22611, i16 1, i16 0, i16 6, i16 145, i16 904, i16 0, i16 900, i16 0, i16 1183, i16 0, i16 901, i16 0, i16 902, i16 0, i16 903, i16 0, i16 2, i16 712, i16 992, i16 767, i16 990, i16 768, i16 2, i16 920, i16 1030, i16 769, i16 1032, i16 770, i16 1, i16 1181, i16 127, i16 0, i16 1180, i16 136, i16 0, i16 1182, i16 142, i16 0, i16 1622, i16 163, i16 0, i16 1186, i16 173, i16 0, i16 1187, i16 178, i16 0, i16 1188, i16 303, i16 0, i16 1189, i16 309, i16 0, i16 1190, i16 322, i16 0, i16 1192, i16 330, i16 0, i16 1193, i16 340, i16 0, i16 1194, i16 343, i16 0, i16 1195, i16 346, i16 0, i16 978, i16 656, i16 777, i16 1018, i16 864, i16 778, i16 1196, i16 686, i16 763, i16 1197, i16 894, i16 765, i16 985, i16 699, i16 779, i16 1025, i16 907, i16 780, i16 996, i16 762, i16 1185, i16 1036, i16 968, i16 1186, i16 1001, i16 787, i16 781, i16 1041, i16 992, i16 782, i16 1004, i16 809, i16 783, i16 1043, i16 1013, i16 784, i16 1200, i16 1506, i16 785, i16 1201, i16 1570, i16 786, i16 1202, i16 1514, i16 787, i16 1203, i16 1579, i16 788, i16 1204, i16 1532, i16 789, i16 1205, i16 1597, i16 790, i16 1208, i16 1541, i16 793, i16 1209, i16 1606, i16 794, i16 1210, i16 1549, i16 795, i16 1211, i16 1614, i16 796, i16 1212, i16 1553, i16 797, i16 1213, i16 1618, i16 798, i16 1214, i16 1556, i16 799, i16 1215, i16 1621, i16 800, i16 1155, i16 22611, i16 1, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 877, i16 1780, i16 1190, i16 1781, i16 1833, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 990, i16 1792, i16 1190, i16 1793, i16 1844, i16 3, i16 1009, i16 1794, i16 1845, i16 1795, i16 1846, i16 1796, i16 1847, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 4, i16 1206, i16 1828, i16 1190, i16 1829, i16 1878, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1266, i16 1838, i16 1190, i16 1839, i16 1887, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 8, i16 1361, i16 1848, i16 1190, i16 1849, i16 1896, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1803, i16 1075, i16 1925, i16 0, i16 2, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 20, i16 1370, i16 1850, i16 1934, i16 1851, i16 1935, i16 1852, i16 1936, i16 1853, i16 1937, i16 1854, i16 1938, i16 1855, i16 1939, i16 1856, i16 1934, i16 1857, i16 1940, i16 1858, i16 1941, i16 1859, i16 1942, i16 1860, i16 1943, i16 1861, i16 1944, i16 1862, i16 1945, i16 1863, i16 1946, i16 1864, i16 1947, i16 1865, i16 1948, i16 1866, i16 1949, i16 1867, i16 1950, i16 1868, i16 1951, i16 1869, i16 1952, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 7, i16 1418, i16 1874, i16 1187, i16 1848, i16 1953, i16 1849, i16 1954, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 20, i16 1440, i16 1760, i16 1190, i16 1761, i16 1955, i16 1762, i16 1956, i16 1763, i16 1957, i16 1764, i16 1190, i16 1765, i16 1958, i16 1770, i16 1959, i16 1771, i16 1960, i16 1772, i16 1959, i16 1773, i16 1961, i16 1774, i16 1959, i16 1775, i16 1962, i16 1828, i16 1190, i16 1829, i16 1878, i16 1822, i16 1963, i16 1823, i16 1964, i16 1824, i16 1963, i16 1825, i16 1965, i16 1820, i16 1966, i16 1821, i16 1967, i16 27, i16 2011, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 1, i16 1696, i16 1, i16 1187, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 877, i16 1778, i16 1968, i16 1779, i16 1846, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1836, i16 1971, i16 1837, i16 1846, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 2, i16 1429, i16 1881, i16 1923, i16 1882, i16 1924, i16 2, i16 1440, i16 1879, i16 1974, i16 1880, i16 1846, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 2, i16 836, i16 1768, i16 1821, i16 1769, i16 1822, i16 8, i16 843, i16 1766, i16 1190, i16 1767, i16 1975, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 877, i16 1776, i16 1190, i16 1777, i16 1976, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 2, i16 944, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 955, i16 1786, i16 1190, i16 1787, i16 1977, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 2, i16 1088, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1099, i16 1804, i16 1190, i16 1805, i16 1978, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 4, i16 1132, i16 1808, i16 1190, i16 1809, i16 1979, i16 1814, i16 1864, i16 1815, i16 1865, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 4, i16 1206, i16 1816, i16 1190, i16 1817, i16 1980, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1834, i16 1190, i16 1835, i16 1981, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 3, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 2, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 4, i16 1440, i16 1877, i16 1190, i16 1878, i16 1982, i16 1881, i16 1190, i16 1882, i16 1983, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 9, i16 1418, i16 1874, i16 1187, i16 1848, i16 1984, i16 1849, i16 1985, i16 1844, i16 1984, i16 1845, i16 1986, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 24, i16 1440, i16 1770, i16 1190, i16 1771, i16 1987, i16 1772, i16 1988, i16 1773, i16 1989, i16 1774, i16 1990, i16 1775, i16 1991, i16 1764, i16 1992, i16 1765, i16 1993, i16 1822, i16 1190, i16 1823, i16 1994, i16 1824, i16 1995, i16 1825, i16 1996, i16 1828, i16 1997, i16 1829, i16 1998, i16 1818, i16 1999, i16 1819, i16 2000, i16 1760, i16 1190, i16 1761, i16 1955, i16 1883, i16 2001, i16 1884, i16 2002, i16 1885, i16 2003, i16 1886, i16 2004, i16 1762, i16 2001, i16 1763, i16 2005, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 2, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 8, i16 843, i16 1768, i16 1190, i16 1769, i16 2006, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 877, i16 1778, i16 1190, i16 1779, i16 2007, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 2, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 2, i16 955, i16 1788, i16 1190, i16 1789, i16 2008, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 990, i16 1790, i16 1190, i16 1791, i16 2009, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 7, i16 1046, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 1874, i16 1187, i16 1799, i16 1190, i16 1800, i16 2010, i16 3, i16 1075, i16 1801, i16 1190, i16 1802, i16 2011, i16 1803, i16 1925, i16 2, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 2, i16 1099, i16 1806, i16 1190, i16 1807, i16 2012, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 4, i16 1132, i16 1812, i16 1190, i16 1813, i16 2013, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 4, i16 1206, i16 1826, i16 1190, i16 1827, i16 2014, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1242, i16 1832, i16 1190, i16 1833, i16 2015, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1836, i16 1190, i16 1837, i16 2016, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 8, i16 1361, i16 1846, i16 1190, i16 1847, i16 2017, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1418, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 2, i16 1429, i16 1881, i16 1923, i16 1882, i16 1924, i16 2, i16 1440, i16 1879, i16 1190, i16 1880, i16 2018, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1046, i16 1870, i16 1190, i16 1871, i16 1915, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 2, i16 1400, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 81, i16 1697, i16 1712, i16 1698, i16 2019, i16 1699, i16 2019, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 898, i16 1887, i16 2020, i16 1888, i16 2021, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 9, i16 1418, i16 1874, i16 1187, i16 1848, i16 1984, i16 1849, i16 1985, i16 1844, i16 1984, i16 1845, i16 1986, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 24, i16 1440, i16 1770, i16 1190, i16 1771, i16 1987, i16 1772, i16 1988, i16 1773, i16 1989, i16 1774, i16 1990, i16 1775, i16 1991, i16 1764, i16 1992, i16 1765, i16 1993, i16 1822, i16 1190, i16 1823, i16 1994, i16 1824, i16 1995, i16 1825, i16 1996, i16 1828, i16 1997, i16 1829, i16 1998, i16 1818, i16 1999, i16 1819, i16 2000, i16 1760, i16 1190, i16 1761, i16 1955, i16 1883, i16 2001, i16 1884, i16 2002, i16 1885, i16 2003, i16 1886, i16 2004, i16 1762, i16 2001, i16 1763, i16 2005, i16 1, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1220, i16 2022, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1892, i16 1189, i16 1893, i16 1189, i16 1894, i16 1189, i16 3, i16 461, i16 1895, i16 1189, i16 1896, i16 1189, i16 1897, i16 1189, i16 3, i16 465, i16 1898, i16 1189, i16 1899, i16 1189, i16 1900, i16 1189, i16 3, i16 469, i16 1901, i16 1189, i16 1902, i16 1189, i16 1903, i16 1189, i16 2, i16 491, i16 1910, i16 1189, i16 1911, i16 1189, i16 2, i16 499, i16 1913, i16 1189, i16 1914, i16 1189, i16 29, i16 519, i16 1918, i16 1189, i16 1703, i16 1189, i16 1704, i16 1189, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 1717, i16 1189, i16 1718, i16 1189, i16 1719, i16 1189, i16 1720, i16 1189, i16 1721, i16 1189, i16 1722, i16 1189, i16 1723, i16 1189, i16 1724, i16 1189, i16 1725, i16 1189, i16 1726, i16 1189, i16 1727, i16 1189, i16 1728, i16 1189, i16 1729, i16 1189, i16 1730, i16 1189, i16 2, i16 753, i16 1919, i16 1189, i16 1920, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1759, i16 1846, i16 1758, i16 2023, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 898, i16 1888, i16 1846, i16 1887, i16 2024, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 955, i16 1785, i16 1846, i16 1784, i16 2025, i16 4, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 1921, i16 2026, i16 1922, i16 2027, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1046, i16 1798, i16 1846, i16 1797, i16 2028, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 2029, i16 1815, i16 2030, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 2, i16 1179, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1817, i16 1846, i16 1816, i16 2031, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 8, i16 1361, i16 1843, i16 1846, i16 1842, i16 2032, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 2, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 7, i16 1418, i16 1874, i16 1187, i16 1873, i16 1846, i16 1872, i16 2033, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 10, i16 1440, i16 1841, i16 1846, i16 1840, i16 2034, i16 1771, i16 1846, i16 1770, i16 2035, i16 1831, i16 2036, i16 1830, i16 2037, i16 1829, i16 1846, i16 1828, i16 2038, i16 1823, i16 2039, i16 1822, i16 2040, i16 4, i16 2011, i16 1923, i16 1744, i16 1924, i16 2041, i16 1925, i16 2042, i16 1926, i16 2043, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1702, i16 205, i16 1189, i16 1701, i16 221, i16 1189, i16 1700, i16 324, i16 1189, i16 1889, i16 371, i16 1189, i16 1890, i16 445, i16 1189, i16 1891, i16 447, i16 1189, i16 1904, i16 473, i16 1189, i16 1905, i16 476, i16 1189, i16 1906, i16 479, i16 1189, i16 1907, i16 481, i16 1189, i16 1908, i16 484, i16 1189, i16 1909, i16 487, i16 1189, i16 1912, i16 495, i16 1189, i16 1915, i16 503, i16 1189, i16 1916, i16 507, i16 1189, i16 1917, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 4, i16 877, i16 1778, i16 1190, i16 1779, i16 2007, i16 1776, i16 1190, i16 1777, i16 1976, i16 6, i16 898, i16 1927, i16 1190, i16 1928, i16 2044, i16 1929, i16 2045, i16 1930, i16 2046, i16 1782, i16 1190, i16 1783, i16 2047, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 4, i16 1099, i16 1931, i16 1190, i16 1932, i16 2048, i16 1933, i16 2049, i16 1934, i16 2050, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 6, i16 1132, i16 1935, i16 1190, i16 1936, i16 2051, i16 1937, i16 2052, i16 1938, i16 2053, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1836, i16 1190, i16 1837, i16 2016, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 2, i16 1429, i16 1881, i16 1923, i16 1882, i16 1924, i16 2, i16 1440, i16 1879, i16 1190, i16 1880, i16 2018, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 4, i16 1132, i16 1810, i16 1190, i16 1811, i16 2054, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 10, i16 1266, i16 1836, i16 2055, i16 1837, i16 2056, i16 1875, i16 2057, i16 1876, i16 2058, i16 1877, i16 2059, i16 1878, i16 2060, i16 1881, i16 2061, i16 1882, i16 2062, i16 1879, i16 2063, i16 1880, i16 2064, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 22, i16 1370, i16 1856, i16 2065, i16 1857, i16 2066, i16 1858, i16 2067, i16 1859, i16 2068, i16 1860, i16 2069, i16 1861, i16 2070, i16 1862, i16 2071, i16 1863, i16 2072, i16 1868, i16 2073, i16 1869, i16 2074, i16 1866, i16 2075, i16 1867, i16 2076, i16 1864, i16 2077, i16 1865, i16 2078, i16 1820, i16 2079, i16 1821, i16 2080, i16 1764, i16 2081, i16 1765, i16 2082, i16 1828, i16 2081, i16 1829, i16 2083, i16 1848, i16 2081, i16 1849, i16 2084, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 1874, i16 1418, i16 1187, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 4, i16 877, i16 1939, i16 1190, i16 1940, i16 2085, i16 1941, i16 2086, i16 1942, i16 2087, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 4, i16 1099, i16 1943, i16 1190, i16 1944, i16 2088, i16 1945, i16 2089, i16 1946, i16 2090, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 4, i16 1132, i16 1810, i16 1190, i16 1811, i16 2054, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 32766, i16 32766, i16 32766, i16 -2, i16 16384, i16 0, i16 16384, i16 -2, i16 16384, i16 0, i16 16384, i16 -16206, i16 16384, i16 0, i16 16384, i16 -16204, i16 16384, i16 0, i16 16384, i16 -16353, i16 16384, i16 0, i16 16384, i16 -16352, i16 16384, i16 0, i16 16384, i16 -16351, i16 16384, i16 0, i16 16384, i16 -16350, i16 16384, i16 0, i16 16384, i16 -16349, i16 16384, i16 0, i16 16384, i16 -16348, i16 16384, i16 0, i16 16384, i16 -16347, i16 16384, i16 0, i16 16384, i16 -16346, i16 16384, i16 0, i16 16384, i16 -16345, i16 16384, i16 0, i16 16384, i16 -16344, i16 16384, i16 0, i16 16384, i16 -16343, i16 16384, i16 0, i16 16384, i16 -16342, i16 16384, i16 0, i16 16384, i16 -16341, i16 16384, i16 0, i16 16384, i16 -15486, i16 16384, i16 0, i16 16384, i16 -16340, i16 16384, i16 0, i16 16384, i16 -16339, i16 16384, i16 0, i16 16384, i16 -15485, i16 16384, i16 0, i16 16384, i16 -16338, i16 16384, i16 0, i16 16384, i16 -15484, i16 16384, i16 0, i16 16384, i16 -15483, i16 16384, i16 0, i16 16384, i16 -15482, i16 16384, i16 0, i16 16384, i16 -16337, i16 16384, i16 0, i16 16384, i16 -16336, i16 16384, i16 0, i16 16384, i16 -16335, i16 16384, i16 0, i16 16384, i16 -16334, i16 16384, i16 0, i16 16384, i16 -16333, i16 16384, i16 0, i16 16384, i16 -15481, i16 16384, i16 0, i16 16384, i16 -16332, i16 16384, i16 0, i16 16384, i16 -16331, i16 16384, i16 0, i16 16384, i16 -16330, i16 16384, i16 0, i16 16384, i16 -16329, i16 16384, i16 0, i16 16384, i16 -16328, i16 16384, i16 0, i16 16384, i16 -16327, i16 16384, i16 0, i16 16384, i16 -15480, i16 16384, i16 0, i16 16384, i16 -16326, i16 16384, i16 0, i16 16384, i16 -16325, i16 16534, i16 14, i16 17273, i16 -16384, i16 16415, i16 14, i16 17273, i16 -16384, i16 16416, i16 14, i16 17273, i16 -16384, i16 16417, i16 14, i16 17273, i16 -16384, i16 16418, i16 14, i16 17273, i16 -16384, i16 16419, i16 14, i16 17273, i16 -16384, i16 16420, i16 14, i16 17273, i16 -16384, i16 16421, i16 14, i16 17273, i16 -16384, i16 16422, i16 14, i16 17273, i16 -16384, i16 16423, i16 14, i16 17273, i16 -16384, i16 16424, i16 14, i16 17273, i16 -16384, i16 16415, i16 17, i16 17273, i16 -16384, i16 16415, i16 896, i16 17273, i16 -16384, i16 16415, i16 897, i16 17273, i16 -16384, i16 16415, i16 19, i16 17273, i16 -16384, i16 16415, i16 21, i16 17273, i16 -16384, i16 16415, i16 18, i16 17273, i16 -16384, i16 16415, i16 20, i16 17273, i16 -16384, i16 16415, i16 14, i16 16392, i16 -16384, i16 16416, i16 14, i16 16392, i16 -16384, i16 16417, i16 14, i16 16392, i16 -16384, i16 16418, i16 14, i16 16392, i16 -16384, i16 16419, i16 14, i16 16392, i16 -16384, i16 16420, i16 14, i16 16392, i16 -16384, i16 16421, i16 14, i16 16392, i16 -16384, i16 16422, i16 14, i16 16392, i16 -16384, i16 16423, i16 14, i16 16392, i16 -16384, i16 16424, i16 14, i16 16392, i16 -16384, i16 16425, i16 14, i16 17273, i16 -16384, i16 16425, i16 15, i16 16392, i16 -16384, i16 16425, i16 26, i16 17273, i16 -16384, i16 16425, i16 27, i16 17273, i16 -16384, i16 16426, i16 14, i16 17273, i16 -16384, i16 16427, i16 14, i16 17273, i16 -16384, i16 17282, i16 14, i16 17273, i16 -16384, i16 17282, i16 18, i16 17273, i16 -16384, i16 16428, i16 14, i16 17273, i16 -16384, i16 16428, i16 16, i16 17273, i16 -16384, i16 16428, i16 17, i16 17273, i16 -16384, i16 16428, i16 897, i16 17273, i16 -16384, i16 16428, i16 20, i16 17273, i16 -16384, i16 16428, i16 18, i16 17273, i16 -16384, i16 16428, i16 23, i16 17273, i16 -16384, i16 16428, i16 26, i16 17273, i16 -16384, i16 16428, i16 27, i16 17273, i16 -16384, i16 16429, i16 14, i16 17273, i16 -16384, i16 17283, i16 14, i16 17273, i16 -16384, i16 17283, i16 25, i16 17273, i16 -16384, i16 16430, i16 14, i16 17273, i16 -16384, i16 17284, i16 16, i16 17273, i16 -16384, i16 17284, i16 17, i16 17273, i16 -16384, i16 17284, i16 20, i16 17273, i16 -16384, i16 17284, i16 22, i16 17273, i16 -16384, i16 17284, i16 26, i16 17273, i16 -16384, i16 17284, i16 27, i16 17273, i16 -16384, i16 18009, i16 1628, i16 18015, i16 -16384, i16 17285, i16 14, i16 17273, i16 -16384, i16 17286, i16 14, i16 17273, i16 -16384, i16 17286, i16 15, i16 17273, i16 -16384, i16 17286, i16 25, i16 17273, i16 -16384, i16 16431, i16 14, i16 17273, i16 -16384, i16 16431, i16 16, i16 17273, i16 -16384, i16 16431, i16 18, i16 17273, i16 -16384, i16 16431, i16 24, i16 17273, i16 -16384, i16 16431, i16 25, i16 17273, i16 -16384, i16 16431, i16 23, i16 17273, i16 -16384, i16 16432, i16 14, i16 17273, i16 -16384, i16 16433, i16 14, i16 17273, i16 -16384, i16 16433, i16 15, i16 17273, i16 -16384, i16 16433, i16 16, i16 17273, i16 -16384, i16 16433, i16 18, i16 17273, i16 -16384, i16 16433, i16 25, i16 17273, i16 -16384, i16 16434, i16 14, i16 17273, i16 -16384, i16 16434, i16 15, i16 16392, i16 -16384, i16 16434, i16 16, i16 17273, i16 -16384, i16 16434, i16 17, i16 17273, i16 -16384, i16 16434, i16 897, i16 17273, i16 -16384, i16 16434, i16 22, i16 17273, i16 -16384, i16 16434, i16 27, i16 17273, i16 -16384, i16 18018, i16 1628, i16 18015, i16 -16384, i16 16435, i16 14, i16 17273, i16 -16384, i16 17287, i16 14, i16 17273, i16 -16384, i16 16436, i16 14, i16 17273, i16 -16384, i16 16436, i16 16, i16 17273, i16 -16384, i16 16436, i16 18, i16 17273, i16 -16384, i16 16436, i16 25, i16 17273, i16 -16384, i16 16437, i16 14, i16 17273, i16 -16384, i16 16437, i16 16, i16 17273, i16 -16384, i16 16438, i16 14, i16 17273, i16 -16384, i16 16438, i16 18, i16 17273, i16 -16384, i16 16438, i16 24, i16 17273, i16 -16384, i16 16439, i16 14, i16 17273, i16 -16384, i16 16439, i16 16, i16 17273, i16 -16384, i16 16439, i16 17, i16 17273, i16 -16384, i16 16439, i16 897, i16 17273, i16 -16384, i16 16439, i16 19, i16 17273, i16 -16384, i16 16439, i16 22, i16 17273, i16 -16384, i16 16439, i16 26, i16 17273, i16 -16384, i16 16439, i16 27, i16 17273, i16 -16384, i16 16440, i16 14, i16 17273, i16 -16384, i16 16441, i16 897, i16 17273, i16 -16384, i16 17288, i16 14, i16 17273, i16 -16384, i16 16442, i16 14, i16 17273, i16 -16384, i16 16442, i16 16, i16 17273, i16 -16384, i16 16442, i16 20, i16 17273, i16 -16384, i16 16442, i16 897, i16 17273, i16 -16384, i16 16443, i16 14, i16 17273, i16 -16384, i16 16443, i16 16, i16 17273, i16 -16384, i16 16444, i16 14, i16 17273, i16 -16384, i16 16425, i16 14, i16 16393, i16 -16384, i16 16425, i16 26, i16 16393, i16 -16384, i16 16425, i16 27, i16 16393, i16 -16384, i16 16426, i16 14, i16 16393, i16 -16384, i16 16427, i16 14, i16 16393, i16 -16384, i16 17282, i16 14, i16 16393, i16 -16384, i16 17282, i16 18, i16 16393, i16 -16384, i16 16428, i16 14, i16 16393, i16 -16384, i16 16428, i16 16, i16 16393, i16 -16384, i16 16428, i16 17, i16 16393, i16 -16384, i16 16428, i16 897, i16 16393, i16 -16384, i16 16428, i16 20, i16 16393, i16 -16384, i16 16428, i16 18, i16 16393, i16 -16384, i16 16428, i16 23, i16 16393, i16 -16384, i16 16428, i16 26, i16 16393, i16 -16384, i16 16428, i16 27, i16 16393, i16 -16384, i16 16429, i16 14, i16 16393, i16 -16384, i16 17283, i16 14, i16 16393, i16 -16384, i16 17283, i16 25, i16 16393, i16 -16384, i16 16430, i16 14, i16 16393, i16 -16384, i16 17284, i16 16, i16 16393, i16 -16384, i16 17284, i16 17, i16 16393, i16 -16384, i16 17284, i16 20, i16 16393, i16 -16384, i16 17284, i16 22, i16 16393, i16 -16384, i16 17284, i16 26, i16 16393, i16 -16384, i16 17284, i16 27, i16 16393, i16 -16384, i16 18009, i16 1628, i16 18021, i16 -16384, i16 17285, i16 14, i16 16393, i16 -16384, i16 17286, i16 14, i16 16393, i16 -16384, i16 17286, i16 25, i16 16393, i16 -16384, i16 16431, i16 14, i16 16393, i16 -16384, i16 16431, i16 16, i16 16393, i16 -16384, i16 16431, i16 18, i16 16393, i16 -16384, i16 16431, i16 24, i16 16393, i16 -16384, i16 16431, i16 25, i16 16393, i16 -16384, i16 16431, i16 23, i16 16393, i16 -16384, i16 16432, i16 14, i16 16393, i16 -16384, i16 16433, i16 14, i16 16393, i16 -16384, i16 16433, i16 16, i16 16393, i16 -16384, i16 16433, i16 18, i16 16393, i16 -16384, i16 16433, i16 25, i16 16393, i16 -16384, i16 16434, i16 14, i16 16393, i16 -16384, i16 16434, i16 16, i16 16393, i16 -16384, i16 16434, i16 17, i16 16393, i16 -16384, i16 16434, i16 897, i16 16393, i16 -16384, i16 16434, i16 22, i16 16393, i16 -16384, i16 16434, i16 27, i16 16393, i16 -16384, i16 18018, i16 1628, i16 18021, i16 -16384, i16 16435, i16 14, i16 16393, i16 -16384, i16 17287, i16 14, i16 16393, i16 -16384, i16 16436, i16 14, i16 16393, i16 -16384, i16 16436, i16 16, i16 16393, i16 -16384, i16 16436, i16 18, i16 16393, i16 -16384, i16 16436, i16 25, i16 16393, i16 -16384, i16 16437, i16 14, i16 16393, i16 -16384, i16 16437, i16 16, i16 16393, i16 -16384, i16 16438, i16 14, i16 16393, i16 -16384, i16 16438, i16 18, i16 16393, i16 -16384, i16 16438, i16 24, i16 16393, i16 -16384, i16 16439, i16 14, i16 16393, i16 -16384, i16 16439, i16 16, i16 16393, i16 -16384, i16 16439, i16 17, i16 16393, i16 -16384, i16 16439, i16 897, i16 16393, i16 -16384, i16 16439, i16 19, i16 16393, i16 -16384, i16 16439, i16 22, i16 16393, i16 -16384, i16 16439, i16 26, i16 16393, i16 -16384, i16 16439, i16 27, i16 16393, i16 -16384, i16 16440, i16 14, i16 16393, i16 -16384, i16 16441, i16 897, i16 16393, i16 -16384, i16 17288, i16 14, i16 16393, i16 -16384, i16 16442, i16 14, i16 16393, i16 -16384, i16 16442, i16 16, i16 16393, i16 -16384, i16 16442, i16 897, i16 16393, i16 -16384, i16 16442, i16 20, i16 16393, i16 -16384, i16 16443, i16 14, i16 16393, i16 -16384, i16 16443, i16 16, i16 16393, i16 -16384, i16 16444, i16 14, i16 16393, i16 -16384, i16 16445, i16 16398, i16 17273, i16 -16384, i16 16446, i16 16398, i16 17273, i16 -16384, i16 16448, i16 16398, i16 17273, i16 -16384, i16 16449, i16 16398, i16 17273, i16 -16384, i16 16450, i16 16398, i16 17273, i16 -16384, i16 16451, i16 16398, i16 17273, i16 -16384, i16 16452, i16 16398, i16 17273, i16 -16384, i16 16453, i16 16398, i16 17273, i16 -16384, i16 16454, i16 16398, i16 17273, i16 -16384, i16 16455, i16 16398, i16 17273, i16 -16384, i16 16456, i16 16398, i16 17273, i16 -16384, i16 16457, i16 16398, i16 17273, i16 -16384, i16 16458, i16 16398, i16 17273, i16 -16384, i16 16459, i16 16398, i16 17273, i16 -16384, i16 16460, i16 16398, i16 17273, i16 -16384, i16 16461, i16 16398, i16 17273, i16 -16384, i16 16462, i16 16398, i16 17273, i16 -16384, i16 16463, i16 16398, i16 17273, i16 -16384, i16 16464, i16 16398, i16 17273, i16 -16384, i16 16465, i16 16398, i16 17273, i16 -16384, i16 16466, i16 16398, i16 17273, i16 -16384, i16 16467, i16 16398, i16 17273, i16 -16384, i16 16468, i16 16398, i16 17273, i16 -16384, i16 16469, i16 16398, i16 17273, i16 -16384, i16 16470, i16 16398, i16 17273, i16 -16384, i16 16471, i16 16398, i16 17273, i16 -16384, i16 16474, i16 16398, i16 17273, i16 -16384, i16 16475, i16 16398, i16 17273, i16 -16384, i16 16476, i16 16398, i16 17273, i16 -16384, i16 16477, i16 16398, i16 17273, i16 -16384, i16 16478, i16 16398, i16 17273, i16 -16384, i16 16480, i16 16398, i16 17273, i16 -16384, i16 16482, i16 17278, i16 17273, i16 -16384, i16 16482, i16 16398, i16 17273, i16 -16384, i16 61, i16 14, i16 3, i16 -16384, i16 61, i16 14, i16 4, i16 -16384, i16 61, i16 14, i16 5, i16 -16384, i16 61, i16 14, i16 6, i16 -16384, i16 62, i16 14, i16 3, i16 -16384, i16 62, i16 14, i16 4, i16 -16384, i16 62, i16 14, i16 5, i16 -16384, i16 62, i16 14, i16 6, i16 -16384, i16 64, i16 14, i16 3, i16 -16384, i16 64, i16 14, i16 4, i16 -16384, i16 64, i16 14, i16 5, i16 -16384, i16 64, i16 14, i16 6, i16 -16384, i16 65, i16 14, i16 3, i16 -16384, i16 65, i16 14, i16 4, i16 -16384, i16 65, i16 14, i16 5, i16 -16384, i16 65, i16 14, i16 6, i16 -16384, i16 66, i16 14, i16 3, i16 -16384, i16 66, i16 14, i16 4, i16 -16384, i16 66, i16 14, i16 5, i16 -16384, i16 66, i16 14, i16 6, i16 -16384, i16 67, i16 14, i16 3, i16 -16384, i16 67, i16 14, i16 4, i16 -16384, i16 67, i16 14, i16 5, i16 -16384, i16 67, i16 14, i16 6, i16 -16384, i16 68, i16 14, i16 3, i16 -16384, i16 68, i16 14, i16 4, i16 -16384, i16 68, i16 14, i16 5, i16 -16384, i16 68, i16 14, i16 6, i16 -16384, i16 69, i16 14, i16 3, i16 -16384, i16 69, i16 14, i16 4, i16 -16384, i16 69, i16 14, i16 5, i16 -16384, i16 69, i16 14, i16 6, i16 -16384, i16 70, i16 14, i16 3, i16 -16384, i16 70, i16 14, i16 4, i16 -16384, i16 70, i16 14, i16 5, i16 -16384, i16 70, i16 14, i16 6, i16 -16384, i16 71, i16 14, i16 3, i16 -16384, i16 71, i16 14, i16 4, i16 -16384, i16 72, i16 14, i16 3, i16 -16384, i16 72, i16 14, i16 4, i16 -16384, i16 73, i16 14, i16 3, i16 -16384, i16 73, i16 14, i16 4, i16 -16384, i16 74, i16 14, i16 3, i16 -16384, i16 74, i16 14, i16 4, i16 -16384, i16 75, i16 14, i16 3, i16 -16384, i16 75, i16 14, i16 4, i16 -16384, i16 76, i16 14, i16 3, i16 -16384, i16 76, i16 14, i16 4, i16 -16384, i16 77, i16 14, i16 3, i16 -16384, i16 77, i16 14, i16 4, i16 -16384, i16 78, i16 14, i16 3, i16 -16384, i16 78, i16 14, i16 4, i16 -16384, i16 78, i16 14, i16 5, i16 -16384, i16 78, i16 14, i16 6, i16 -16384, i16 79, i16 14, i16 3, i16 -16384, i16 79, i16 14, i16 4, i16 -16384, i16 79, i16 14, i16 5, i16 -16384, i16 79, i16 14, i16 6, i16 -16384, i16 80, i16 14, i16 3, i16 -16384, i16 80, i16 14, i16 4, i16 -16384, i16 80, i16 14, i16 5, i16 -16384, i16 80, i16 14, i16 6, i16 -16384, i16 81, i16 14, i16 3, i16 -16384, i16 81, i16 14, i16 4, i16 -16384, i16 81, i16 14, i16 5, i16 -16384, i16 81, i16 14, i16 6, i16 -16384, i16 82, i16 14, i16 3, i16 -16384, i16 82, i16 14, i16 4, i16 -16384, i16 82, i16 14, i16 5, i16 -16384, i16 82, i16 14, i16 6, i16 -16384, i16 83, i16 14, i16 3, i16 -16384, i16 83, i16 14, i16 4, i16 -16384, i16 83, i16 14, i16 5, i16 -16384, i16 83, i16 14, i16 6, i16 -16384, i16 84, i16 14, i16 3, i16 -16384, i16 84, i16 14, i16 4, i16 -16384, i16 84, i16 14, i16 5, i16 -16384, i16 84, i16 14, i16 6, i16 -16384, i16 85, i16 14, i16 3, i16 -16384, i16 85, i16 14, i16 4, i16 -16384, i16 85, i16 14, i16 5, i16 -16384, i16 85, i16 14, i16 6, i16 -16384, i16 86, i16 14, i16 3, i16 -16384, i16 86, i16 14, i16 4, i16 -16384, i16 86, i16 14, i16 5, i16 -16384, i16 86, i16 14, i16 6, i16 -16384, i16 87, i16 14, i16 3, i16 -16384, i16 87, i16 14, i16 4, i16 -16384, i16 87, i16 14, i16 5, i16 -16384, i16 87, i16 14, i16 6, i16 -16384, i16 90, i16 14, i16 3, i16 -16384, i16 90, i16 14, i16 4, i16 -16384, i16 90, i16 14, i16 5, i16 -16384, i16 90, i16 14, i16 6, i16 -16384, i16 91, i16 14, i16 3, i16 -16384, i16 91, i16 14, i16 4, i16 -16384, i16 91, i16 14, i16 5, i16 -16384, i16 91, i16 14, i16 6, i16 -16384, i16 92, i16 14, i16 3, i16 -16384, i16 92, i16 14, i16 4, i16 -16384, i16 92, i16 14, i16 5, i16 -16384, i16 92, i16 14, i16 6, i16 -16384, i16 93, i16 14, i16 3, i16 -16384, i16 93, i16 14, i16 4, i16 -16384, i16 93, i16 14, i16 5, i16 -16384, i16 93, i16 14, i16 6, i16 -16384, i16 94, i16 14, i16 3, i16 -16384, i16 94, i16 14, i16 4, i16 -16384, i16 96, i16 14, i16 3, i16 -16384, i16 96, i16 14, i16 4, i16 -16384, i16 1640, i16 1643, i16 1646, i16 -16384, i16 1640, i16 1643, i16 1649, i16 -16384, i16 1640, i16 1643, i16 1652, i16 -16384, i16 1640, i16 1643, i16 1655, i16 -16384, i16 98, i16 894, i16 3, i16 -16384, i16 98, i16 894, i16 4, i16 -16384, i16 98, i16 14, i16 3, i16 -16384, i16 98, i16 14, i16 4, i16 -16384, i16 16483, i16 16398, i16 16384, i16 -16384, i16 16484, i16 16398, i16 16384, i16 -16384, i16 16485, i16 16398, i16 16384, i16 -16384, i16 16486, i16 16398, i16 16384, i16 -16384, i16 16487, i16 16398, i16 16384, i16 -16384, i16 16488, i16 16398, i16 16384, i16 -16384, i16 16489, i16 16398, i16 16384, i16 -16384, i16 16490, i16 16398, i16 16384, i16 -16384, i16 16491, i16 16398, i16 16384, i16 -16384, i16 16492, i16 16398, i16 16384, i16 -16384, i16 16493, i16 16398, i16 16384, i16 -16384, i16 16494, i16 16398, i16 16384, i16 -16384, i16 16495, i16 16398, i16 16384, i16 -16384, i16 16496, i16 16398, i16 16384, i16 -16384, i16 16497, i16 16398, i16 16384, i16 -16384, i16 16498, i16 16398, i16 16384, i16 -16384, i16 16499, i16 16398, i16 16384, i16 -16384, i16 16500, i16 16398, i16 16384, i16 -16384, i16 16501, i16 16398, i16 16384, i16 -16384, i16 16502, i16 16398, i16 16384, i16 -16384, i16 16503, i16 16398, i16 16384, i16 -16384, i16 16504, i16 16398, i16 16384, i16 -16384, i16 16505, i16 16398, i16 16384, i16 -16384, i16 16506, i16 16398, i16 16384, i16 -16384, i16 16507, i16 16398, i16 16384, i16 -16384, i16 16508, i16 16398, i16 16384, i16 -16384, i16 16509, i16 16398, i16 16384, i16 -16384, i16 16510, i16 14, i16 16393, i16 -16384, i16 16510, i16 28, i16 16393, i16 -16384, i16 16511, i16 14, i16 16393, i16 -16384, i16 16512, i16 14, i16 16393, i16 -16384, i16 16512, i16 15, i16 16393, i16 -16384, i16 16513, i16 14, i16 16393, i16 -16384, i16 16513, i16 15, i16 16393, i16 -16384, i16 16514, i16 14, i16 16393, i16 -16384, i16 16514, i16 28, i16 16393, i16 -16384, i16 16515, i16 14, i16 16393, i16 -16384, i16 16515, i16 15, i16 16393, i16 -16384, i16 16516, i16 14, i16 16393, i16 -16384, i16 16516, i16 28, i16 16393, i16 -16384, i16 16517, i16 14, i16 16393, i16 -16384, i16 16518, i16 14, i16 16393, i16 -16384, i16 16518, i16 28, i16 16393, i16 -16384, i16 16518, i16 29, i16 16393, i16 -16384, i16 16519, i16 14, i16 16393, i16 -16384, i16 16519, i16 15, i16 16393, i16 -16384, i16 16519, i16 895, i16 16393, i16 -16384, i16 16520, i16 14, i16 16393, i16 -16384, i16 16521, i16 14, i16 16393, i16 -16384, i16 16522, i16 14, i16 16393, i16 -16384, i16 16523, i16 14, i16 16393, i16 -16384, i16 16524, i16 14, i16 16393, i16 -16384, i16 16524, i16 28, i16 16393, i16 -16384, i16 16525, i16 14, i16 16393, i16 -16384, i16 16526, i16 14, i16 16393, i16 -16384, i16 16527, i16 14, i16 16393, i16 -16384, i16 16527, i16 15, i16 16393, i16 -16384, i16 16527, i16 895, i16 16393, i16 -16384, i16 16528, i16 14, i16 16393, i16 -16384, i16 16528, i16 15, i16 16393, i16 -16384, i16 16529, i16 14, i16 16393, i16 -16384, i16 16529, i16 28, i16 16393, i16 -16384, i16 16529, i16 29, i16 16393, i16 -16384, i16 16529, i16 30, i16 16393, i16 -16384, i16 16529, i16 26, i16 16393, i16 -16384, i16 16529, i16 27, i16 16393, i16 -16384, i16 16530, i16 14, i16 16393, i16 -16384, i16 16530, i16 895, i16 16393, i16 -16384, i16 16531, i16 14, i16 16393, i16 -16384, i16 16531, i16 15, i16 16393, i16 -16384, i16 16532, i16 14, i16 16393, i16 -16384, i16 16532, i16 15, i16 16393, i16 -16384, i16 16533, i16 14, i16 16393, i16 -16384, i16 16533, i16 28, i16 16393, i16 -16384, i16 16510, i16 14, i16 16396, i16 -16384, i16 16510, i16 28, i16 16396, i16 -16384, i16 16511, i16 14, i16 16396, i16 -16384, i16 16511, i16 15, i16 16396, i16 -16384, i16 16512, i16 14, i16 16396, i16 -16384, i16 16513, i16 14, i16 16396, i16 -16384, i16 16514, i16 14, i16 16396, i16 -16384, i16 16514, i16 28, i16 16396, i16 -16384, i16 16515, i16 14, i16 16396, i16 -16384, i16 16515, i16 15, i16 16396, i16 -16384, i16 16516, i16 14, i16 16396, i16 -16384, i16 16516, i16 28, i16 16396, i16 -16384, i16 16517, i16 14, i16 16396, i16 -16384, i16 16517, i16 15, i16 16396, i16 -16384, i16 16518, i16 14, i16 16396, i16 -16384, i16 16518, i16 28, i16 16396, i16 -16384, i16 16518, i16 29, i16 16396, i16 -16384, i16 16518, i16 30, i16 16396, i16 -16384, i16 16518, i16 26, i16 16396, i16 -16384, i16 16519, i16 14, i16 16396, i16 -16384, i16 16519, i16 15, i16 16396, i16 -16384, i16 16519, i16 895, i16 16396, i16 -16384, i16 16520, i16 14, i16 16396, i16 -16384, i16 16521, i16 14, i16 16396, i16 -16384, i16 16522, i16 14, i16 16396, i16 -16384, i16 16523, i16 14, i16 16396, i16 -16384, i16 16524, i16 14, i16 16396, i16 -16384, i16 16524, i16 28, i16 16396, i16 -16384, i16 16525, i16 14, i16 16396, i16 -16384, i16 16525, i16 15, i16 16396, i16 -16384, i16 16526, i16 15, i16 16396, i16 -16384, i16 16527, i16 14, i16 16396, i16 -16384, i16 16527, i16 15, i16 16396, i16 -16384, i16 16527, i16 895, i16 16396, i16 -16384, i16 16527, i16 26, i16 16396, i16 -16384, i16 16528, i16 14, i16 16396, i16 -16384, i16 16528, i16 15, i16 16396, i16 -16384, i16 16529, i16 14, i16 16396, i16 -16384, i16 16529, i16 28, i16 16396, i16 -16384, i16 16529, i16 29, i16 16396, i16 -16384, i16 16529, i16 30, i16 16396, i16 -16384, i16 16530, i16 14, i16 16396, i16 -16384, i16 16530, i16 15, i16 16396, i16 -16384, i16 16530, i16 895, i16 16396, i16 -16384, i16 16531, i16 14, i16 16396, i16 -16384, i16 16532, i16 14, i16 16396, i16 -16384, i16 16532, i16 15, i16 16396, i16 -16384, i16 16533, i16 14, i16 16396, i16 -16384, i16 16533, i16 28, i16 16396, i16 -16384, i16 17292, i16 16398, i16 17273, i16 -16384, i16 17293, i16 16398, i16 17273, i16 -16384, i16 17294, i16 16398, i16 17273, i16 -16384, i16 17295, i16 16398, i16 17273, i16 -16384, i16 17296, i16 16398, i16 17273, i16 -16384, i16 17299, i16 16398, i16 17273, i16 -16384, i16 17302, i16 16398, i16 17273, i16 -16384, i16 17303, i16 16398, i16 17273, i16 -16384, i16 17305, i16 16398, i16 17273, i16 -16384, i16 17308, i16 16398, i16 17273, i16 -16384, i16 17309, i16 16398, i16 17273, i16 -16384, i16 17310, i16 16398, i16 17273, i16 -16384, i16 17311, i16 16398, i16 17273, i16 -16384, i16 17313, i16 16398, i16 17273, i16 -16384, i16 17314, i16 16398, i16 17273, i16 -16384, i16 17316, i16 16398, i16 17273, i16 -16384, i16 17317, i16 16398, i16 17273, i16 -16384, i16 17318, i16 16398, i16 17273, i16 -16384, i16 17319, i16 16398, i16 17273, i16 -16384, i16 17320, i16 16398, i16 17273, i16 -16384, i16 17323, i16 16398, i16 17273, i16 -16384, i16 17325, i16 16398, i16 17273, i16 -16384, i16 17326, i16 16398, i16 17273, i16 -16384, i16 17327, i16 16398, i16 17273, i16 -16384, i16 17328, i16 16398, i16 17273, i16 -16384, i16 17330, i16 16398, i16 17273, i16 -16384, i16 17331, i16 16398, i16 17273, i16 -16384, i16 17332, i16 16398, i16 17273, i16 -16384, i16 17334, i16 16398, i16 17273, i16 -16384, i16 17336, i16 16398, i16 17273, i16 -16384, i16 17337, i16 16398, i16 17273, i16 -16384, i16 17292, i16 16398, i16 16393, i16 -16384, i16 17293, i16 16398, i16 16393, i16 -16384, i16 17294, i16 16398, i16 16393, i16 -16384, i16 17295, i16 16398, i16 16393, i16 -16384, i16 17296, i16 16398, i16 16393, i16 -16384, i16 17299, i16 16398, i16 16393, i16 -16384, i16 17302, i16 16398, i16 16393, i16 -16384, i16 17303, i16 16398, i16 16393, i16 -16384, i16 17305, i16 16398, i16 16393, i16 -16384, i16 17308, i16 16398, i16 16393, i16 -16384, i16 17310, i16 16398, i16 16393, i16 -16384, i16 17311, i16 16398, i16 16393, i16 -16384, i16 17313, i16 16398, i16 16393, i16 -16384, i16 17314, i16 16398, i16 16393, i16 -16384, i16 17316, i16 16398, i16 16393, i16 -16384, i16 17317, i16 16398, i16 16393, i16 -16384, i16 17318, i16 16398, i16 16393, i16 -16384, i16 17319, i16 16398, i16 16393, i16 -16384, i16 17320, i16 16398, i16 16393, i16 -16384, i16 17323, i16 16398, i16 16393, i16 -16384, i16 17325, i16 16398, i16 16393, i16 -16384, i16 17326, i16 16398, i16 16393, i16 -16384, i16 17327, i16 16398, i16 16393, i16 -16384, i16 17328, i16 16398, i16 16393, i16 -16384, i16 17330, i16 16398, i16 16393, i16 -16384, i16 17331, i16 16398, i16 16393, i16 -16384, i16 17332, i16 16398, i16 16393, i16 -16384, i16 17334, i16 16398, i16 16393, i16 -16384, i16 17336, i16 16398, i16 16393, i16 -16384, i16 17337, i16 16398, i16 16393, i16 -16384, i16 16425, i16 16, i16 17273, i16 -16384, i16 16425, i16 17, i16 17273, i16 -16384, i16 16425, i16 897, i16 17273, i16 -16384, i16 16425, i16 22, i16 17273, i16 -16384, i16 16425, i16 20, i16 17273, i16 -16384, i16 16425, i16 19, i16 17273, i16 -16384, i16 16425, i16 896, i16 17273, i16 -16384, i16 18042, i16 1628, i16 18015, i16 -16384, i16 16427, i16 25, i16 17273, i16 -16384, i16 16427, i16 16, i16 17273, i16 -16384, i16 16427, i16 897, i16 17273, i16 -16384, i16 16427, i16 18, i16 17273, i16 -16384, i16 16427, i16 23, i16 17273, i16 -16384, i16 17282, i16 15, i16 17273, i16 -16384, i16 17282, i16 24, i16 17273, i16 -16384, i16 17283, i16 896, i16 17273, i16 -16384, i16 17283, i16 897, i16 17273, i16 -16384, i16 17283, i16 23, i16 17273, i16 -16384, i16 16430, i16 897, i16 17273, i16 -16384, i16 16430, i16 24, i16 17273, i16 -16384, i16 17284, i16 14, i16 17273, i16 -16384, i16 17284, i16 897, i16 17273, i16 -16384, i16 17284, i16 15, i16 17273, i16 -16384, i16 17285, i16 897, i16 17273, i16 -16384, i16 16433, i16 22, i16 17273, i16 -16384, i16 18045, i16 1628, i16 18015, i16 -16384, i16 16434, i16 20, i16 17273, i16 -16384, i16 16434, i16 24, i16 17273, i16 -16384, i16 16434, i16 21, i16 17273, i16 -16384, i16 16437, i16 897, i16 17273, i16 -16384, i16 16437, i16 18, i16 17273, i16 -16384, i16 16437, i16 25, i16 17273, i16 -16384, i16 18048, i16 1628, i16 18015, i16 -16384, i16 16438, i16 25, i16 17273, i16 -16384, i16 16439, i16 20, i16 17273, i16 -16384, i16 16439, i16 896, i16 17273, i16 -16384, i16 16439, i16 21, i16 17273, i16 -16384, i16 16441, i16 14, i16 17273, i16 -16384, i16 16443, i16 18, i16 17273, i16 -16384, i16 16443, i16 23, i16 17273, i16 -16384, i16 16425, i16 16, i16 16393, i16 -16384, i16 16425, i16 17, i16 16393, i16 -16384, i16 16425, i16 897, i16 16393, i16 -16384, i16 16425, i16 22, i16 16393, i16 -16384, i16 16425, i16 20, i16 16393, i16 -16384, i16 16425, i16 19, i16 16393, i16 -16384, i16 16425, i16 896, i16 16393, i16 -16384, i16 18042, i16 1628, i16 18021, i16 -16384, i16 16427, i16 25, i16 16393, i16 -16384, i16 16427, i16 16, i16 16393, i16 -16384, i16 16427, i16 897, i16 16393, i16 -16384, i16 16427, i16 18, i16 16393, i16 -16384, i16 16427, i16 23, i16 16393, i16 -16384, i16 17282, i16 15, i16 16393, i16 -16384, i16 17282, i16 24, i16 16393, i16 -16384, i16 17283, i16 896, i16 16393, i16 -16384, i16 17283, i16 897, i16 16393, i16 -16384, i16 17283, i16 23, i16 16393, i16 -16384, i16 16430, i16 897, i16 16393, i16 -16384, i16 16430, i16 24, i16 16393, i16 -16384, i16 17284, i16 14, i16 16393, i16 -16384, i16 17284, i16 897, i16 16393, i16 -16384, i16 17284, i16 15, i16 16393, i16 -16384, i16 17285, i16 897, i16 16393, i16 -16384, i16 16433, i16 22, i16 16393, i16 -16384, i16 18045, i16 1628, i16 18021, i16 -16384, i16 16434, i16 20, i16 16393, i16 -16384, i16 16434, i16 24, i16 16393, i16 -16384, i16 16434, i16 21, i16 16393, i16 -16384, i16 16437, i16 897, i16 16393, i16 -16384, i16 16437, i16 18, i16 16393, i16 -16384, i16 16437, i16 25, i16 16393, i16 -16384, i16 16438, i16 25, i16 16393, i16 -16384, i16 16439, i16 20, i16 16393, i16 -16384, i16 16439, i16 896, i16 16393, i16 -16384, i16 16439, i16 21, i16 16393, i16 -16384, i16 16441, i16 14, i16 16393, i16 -16384, i16 16443, i16 18, i16 16393, i16 -16384, i16 16443, i16 23, i16 16393, i16 -16384, i16 16415, i16 16398, i16 17273, i16 -16384, i16 16415, i16 16399, i16 17273, i16 -16384, i16 16416, i16 16398, i16 17273, i16 -16384, i16 16416, i16 16399, i16 17273, i16 -16384, i16 16417, i16 16398, i16 17273, i16 -16384, i16 16417, i16 16399, i16 17273, i16 -16384, i16 16418, i16 16398, i16 17273, i16 -16384, i16 16418, i16 16399, i16 17273, i16 -16384, i16 16419, i16 16398, i16 17273, i16 -16384, i16 16419, i16 16399, i16 17273, i16 -16384, i16 16420, i16 16398, i16 17273, i16 -16384, i16 16420, i16 16399, i16 17273, i16 -16384, i16 16421, i16 16398, i16 17273, i16 -16384, i16 16421, i16 16399, i16 17273, i16 -16384, i16 16422, i16 16398, i16 17273, i16 -16384, i16 16422, i16 16399, i16 17273, i16 -16384, i16 16423, i16 16398, i16 17273, i16 -16384, i16 16423, i16 16399, i16 17273, i16 -16384, i16 16424, i16 16398, i16 17273, i16 -16384, i16 16424, i16 16399, i16 17273, i16 -16384, i16 17289, i16 16398, i16 17273, i16 -16384, i16 17290, i16 16397, i16 17273, i16 -16384, i16 17290, i16 17274, i16 17273, i16 -16384, i16 17290, i16 17276, i16 17273, i16 -16384, i16 17290, i16 16398, i16 17273, i16 -16384, i16 16447, i16 16398, i16 17273, i16 -16384, i16 16472, i16 16398, i16 17273, i16 -16384, i16 16473, i16 16398, i16 17273, i16 -16384, i16 17291, i16 16398, i16 17273, i16 -16384, i16 16479, i16 16398, i16 17273, i16 -16384, i16 16480, i16 17275, i16 17273, i16 -16384, i16 16481, i16 16398, i16 17273, i16 -16384, i16 18051, i16 18054, i16 18015, i16 -16384, i16 16481, i16 17277, i16 17273, i16 -16384, i16 905, i16 14, i16 3, i16 -16384, i16 906, i16 13, i16 3, i16 -16384, i16 906, i16 13, i16 4, i16 -16384, i16 906, i16 890, i16 3, i16 -16384, i16 906, i16 890, i16 4, i16 -16384, i16 906, i16 892, i16 3, i16 -16384, i16 906, i16 892, i16 4, i16 -16384, i16 906, i16 14, i16 3, i16 -16384, i16 906, i16 14, i16 4, i16 -16384, i16 63, i16 14, i16 3, i16 -16384, i16 63, i16 14, i16 4, i16 -16384, i16 88, i16 14, i16 3, i16 -16384, i16 88, i16 14, i16 4, i16 -16384, i16 88, i16 14, i16 5, i16 -16384, i16 88, i16 14, i16 6, i16 -16384, i16 89, i16 14, i16 3, i16 -16384, i16 89, i16 14, i16 4, i16 -16384, i16 89, i16 14, i16 5, i16 -16384, i16 89, i16 14, i16 6, i16 -16384, i16 907, i16 14, i16 3, i16 -16384, i16 907, i16 14, i16 4, i16 -16384, i16 907, i16 14, i16 5, i16 -16384, i16 907, i16 14, i16 6, i16 -16384, i16 95, i16 14, i16 3, i16 -16384, i16 95, i16 14, i16 4, i16 -16384, i16 96, i16 891, i16 3, i16 -16384, i16 96, i16 891, i16 4, i16 -16384, i16 97, i16 14, i16 3, i16 -16384, i16 97, i16 14, i16 4, i16 -16384, i16 97, i16 893, i16 3, i16 -16384, i16 97, i16 893, i16 4, i16 -16384, i16 97, i16 893, i16 5, i16 -16384, i16 97, i16 893, i16 6, i16 -16384, i16 1673, i16 1676, i16 1679, i16 -16384, i16 1673, i16 1676, i16 1682, i16 -16384, i16 1673, i16 1685, i16 1679, i16 -16384, i16 1673, i16 1685, i16 1682, i16 -16384, i16 1673, i16 1688, i16 1679, i16 -16384, i16 1673, i16 1688, i16 1682, i16 -16384, i16 1673, i16 1643, i16 1679, i16 -16384, i16 1673, i16 1643, i16 1682, i16 -16384, i16 17297, i16 16398, i16 17273, i16 -16384, i16 17298, i16 16398, i16 17273, i16 -16384, i16 17300, i16 16398, i16 17273, i16 -16384, i16 17301, i16 16398, i16 17273, i16 -16384, i16 17304, i16 16398, i16 17273, i16 -16384, i16 17306, i16 16398, i16 17273, i16 -16384, i16 17307, i16 16398, i16 17273, i16 -16384, i16 17312, i16 16398, i16 17273, i16 -16384, i16 17315, i16 16398, i16 17273, i16 -16384, i16 17321, i16 16398, i16 17273, i16 -16384, i16 17322, i16 16398, i16 17273, i16 -16384, i16 17324, i16 16398, i16 17273, i16 -16384, i16 17329, i16 16398, i16 17273, i16 -16384, i16 17333, i16 16398, i16 17273, i16 -16384, i16 17335, i16 16398, i16 17273, i16 -16384, i16 17297, i16 16398, i16 16393, i16 -16384, i16 17298, i16 16398, i16 16393, i16 -16384, i16 17300, i16 16398, i16 16393, i16 -16384, i16 17301, i16 16398, i16 16393, i16 -16384, i16 17304, i16 16398, i16 16393, i16 -16384, i16 17306, i16 16398, i16 16393, i16 -16384, i16 17307, i16 16398, i16 16393, i16 -16384, i16 17309, i16 16398, i16 16393, i16 -16384, i16 17312, i16 16398, i16 16393, i16 -16384, i16 17315, i16 16398, i16 16393, i16 -16384, i16 17321, i16 16398, i16 16393, i16 -16384, i16 17322, i16 16398, i16 16393, i16 -16384, i16 17324, i16 16398, i16 16393, i16 -16384, i16 17329, i16 16398, i16 16393, i16 -16384, i16 17333, i16 16398, i16 16393, i16 -16384, i16 17335, i16 16398, i16 16393, i16 -16384, i16 32767, i16 16384, i16 16384, i16 -16384, i16 18075, i16 18078, i16 16384, i16 -16384, i16 18081, i16 18078, i16 16384, i16 -16384, i16 18084, i16 18078, i16 16384, i16 -16384, i16 17541, i16 16407, i16 17273, i16 -16384, i16 17542, i16 16407, i16 17273, i16 -16384, i16 17543, i16 16407, i16 17273, i16 -16384, i16 17544, i16 16407, i16 17273, i16 -16384, i16 17545, i16 16407, i16 17273, i16 -16384, i16 17540, i16 16407, i16 17273, i16 -16384, i16 17555, i16 16399, i16 17273, i16 -16384, i16 17555, i16 16399, i16 16393, i16 -16384, i16 17556, i16 16399, i16 17273, i16 -16384, i16 17556, i16 16399, i16 16393, i16 -16384, i16 17561, i16 16398, i16 17273, i16 -16384, i16 17561, i16 16398, i16 16393, i16 -16384, i16 17564, i16 16399, i16 17273, i16 -16384, i16 17564, i16 16404, i16 17273, i16 -16384, i16 17564, i16 16399, i16 16393, i16 -16384, i16 17564, i16 16404, i16 16393, i16 -16384, i16 17284, i16 16398, i16 17273, i16 -16384, i16 17567, i16 16407, i16 17273, i16 -16384, i16 17284, i16 16398, i16 16393, i16 -16384, i16 17567, i16 16407, i16 16393, i16 -16384, i16 17568, i16 16399, i16 17273, i16 -16384, i16 17568, i16 16406, i16 17273, i16 -16384, i16 17568, i16 16399, i16 16393, i16 -16384, i16 17568, i16 16406, i16 16393, i16 -16384, i16 17569, i16 16404, i16 17273, i16 -16384, i16 17569, i16 16404, i16 16393, i16 -16384, i16 17565, i16 16409, i16 17273, i16 -16384, i16 17565, i16 16409, i16 16393, i16 -16384, i16 17566, i16 17280, i16 17273, i16 -16384, i16 17566, i16 17280, i16 16393, i16 -16384, i16 17570, i16 16409, i16 17273, i16 -16384, i16 17570, i16 16409, i16 16393, i16 -16384, i16 17571, i16 16404, i16 17273, i16 -16384, i16 17571, i16 16404, i16 16393, i16 -16384, i16 17572, i16 16399, i16 17273, i16 -16384, i16 17572, i16 16399, i16 16393, i16 -16384, i16 17573, i16 16399, i16 17273, i16 -16384, i16 17573, i16 16399, i16 16393, i16 -16384, i16 17574, i16 16399, i16 17273, i16 -16384, i16 17574, i16 16399, i16 16393, i16 -16384, i16 17575, i16 16399, i16 17273, i16 -16384, i16 17575, i16 16399, i16 16393, i16 -16384, i16 17576, i16 16399, i16 17273, i16 -16384, i16 17576, i16 16399, i16 16393, i16 -16384, i16 17577, i16 16399, i16 17273, i16 -16384, i16 17577, i16 16399, i16 16393, i16 -16384, i16 17578, i16 16399, i16 17273, i16 -16384, i16 17578, i16 16399, i16 16393, i16 -16384, i16 17579, i16 16399, i16 17273, i16 -16384, i16 17579, i16 16399, i16 16393, i16 -16384, i16 17602, i16 16407, i16 17273, i16 -16384, i16 17602, i16 16407, i16 17600, i16 -16384, i16 17602, i16 16407, i16 16393, i16 -16384, i16 17602, i16 16407, i16 17601, i16 -16384, i16 32766, i16 16384, i16 16384, i16 16384, i16 17619, i16 16399, i16 17273, i16 -16384, i16 17619, i16 16399, i16 16393, i16 -16384, i16 17620, i16 16399, i16 17273, i16 -16384, i16 17620, i16 16399, i16 16393, i16 -16384, i16 17621, i16 16399, i16 17273, i16 -16384, i16 17621, i16 16399, i16 16393, i16 -16384, i16 17622, i16 16399, i16 17273, i16 -16384, i16 17622, i16 16399, i16 16393, i16 -16384, i16 17623, i16 16399, i16 17273, i16 -16384, i16 17623, i16 16399, i16 16393, i16 -16384, i16 17635, i16 16404, i16 17273, i16 -16384, i16 17634, i16 16403, i16 17273, i16 -16384, i16 17635, i16 17279, i16 17273, i16 -16384, i16 17636, i16 16404, i16 17273, i16 -16384, i16 17637, i16 16408, i16 17273, i16 -16384, i16 17635, i16 16404, i16 16393, i16 -16384, i16 17634, i16 16403, i16 16393, i16 -16384, i16 17635, i16 17279, i16 16393, i16 -16384, i16 17636, i16 16404, i16 16393, i16 -16384, i16 17637, i16 16408, i16 16393, i16 -16384, i16 16440, i16 16398, i16 16393, i16 -16327, i16 16440, i16 16398, i16 17273, i16 -16327, i16 16442, i16 16404, i16 17273, i16 -16384, i16 16442, i16 16404, i16 16393, i16 -16384, i16 17638, i16 16407, i16 17273, i16 -16384, i16 17639, i16 16407, i16 17273, i16 -16384, i16 17638, i16 16407, i16 16393, i16 -16384, i16 17639, i16 16407, i16 16393, i16 -16384, i16 17640, i16 16407, i16 17273, i16 -16384, i16 17640, i16 16407, i16 17600, i16 -16384, i16 17641, i16 16407, i16 17273, i16 -16384, i16 17640, i16 16407, i16 16393, i16 -16384, i16 17640, i16 16407, i16 17601, i16 -16384, i16 17641, i16 16407, i16 16393, i16 -16384, i16 17642, i16 16407, i16 17273, i16 -16384, i16 17642, i16 16407, i16 17600, i16 -16384, i16 17642, i16 16407, i16 16393, i16 -16384, i16 17642, i16 16407, i16 17601, i16 -16384, i16 17643, i16 16407, i16 17273, i16 -16384, i16 17643, i16 16407, i16 17600, i16 -16384, i16 17643, i16 16407, i16 16393, i16 -16384, i16 17643, i16 16407, i16 17601, i16 -16384, i16 17644, i16 16407, i16 17273, i16 -16384, i16 17644, i16 16407, i16 16393, i16 -16384, i16 17645, i16 16407, i16 17273, i16 -16384, i16 17645, i16 16407, i16 16393, i16 -16384, i16 17658, i16 16401, i16 17273, i16 -16384, i16 17660, i16 16400, i16 17273, i16 -16384, i16 17661, i16 17281, i16 17273, i16 -16384, i16 17659, i16 16406, i16 17273, i16 -16384, i16 17658, i16 16401, i16 16393, i16 -16384, i16 17660, i16 16400, i16 16393, i16 -16384, i16 17661, i16 17281, i16 16393, i16 -16384, i16 17659, i16 16406, i16 16393, i16 -16384, i16 17662, i16 16409, i16 17273, i16 -16384, i16 17639, i16 16402, i16 17273, i16 -16384, i16 17662, i16 16409, i16 16393, i16 -16384, i16 17639, i16 16402, i16 16393, i16 -16384, i16 17663, i16 16398, i16 17273, i16 -16384, i16 17664, i16 16402, i16 17273, i16 -16384, i16 17664, i16 16402, i16 16393, i16 -16384, i16 17666, i16 16399, i16 17273, i16 -16384, i16 17665, i16 16408, i16 17273, i16 -16384, i16 17666, i16 16399, i16 16393, i16 -16384, i16 17665, i16 16408, i16 16393, i16 -16384, i16 17668, i16 16402, i16 17273, i16 -16384, i16 17669, i16 16408, i16 17273, i16 -16384, i16 17671, i16 18078, i16 18015, i16 -16384, i16 17644, i16 16402, i16 17273, i16 -16384, i16 17644, i16 16402, i16 16393, i16 -16384, i16 17673, i16 16404, i16 17273, i16 -16384, i16 17672, i16 17279, i16 17273, i16 -16384, i16 17673, i16 16404, i16 16393, i16 -16384, i16 17672, i16 17279, i16 16393, i16 -16384, i16 17667, i16 16398, i16 17273, i16 -16384, i16 17670, i16 16402, i16 17273, i16 -16384, i16 17670, i16 16402, i16 16393, i16 -16384, i16 17685, i16 17281, i16 17273, i16 -16384, i16 17686, i16 17280, i16 17273, i16 -16384, i16 17685, i16 17281, i16 16393, i16 -16384, i16 17686, i16 17280, i16 16393, i16 -16384, i16 17688, i16 16409, i16 17273, i16 -16384, i16 17688, i16 16409, i16 16393, i16 -16384, i16 17687, i16 17281, i16 17273, i16 -16384, i16 17687, i16 17281, i16 16393, i16 -16384, i16 17695, i16 16399, i16 17273, i16 -16384, i16 17695, i16 16399, i16 17600, i16 -16384, i16 17695, i16 16399, i16 16393, i16 -16384, i16 17695, i16 16399, i16 17601, i16 -16384, i16 17697, i16 16399, i16 17273, i16 -16384, i16 17697, i16 16399, i16 17600, i16 -16384, i16 17697, i16 16399, i16 16393, i16 -16384, i16 17697, i16 16399, i16 17601, i16 -16384, i16 17693, i16 16407, i16 17273, i16 -16384, i16 17693, i16 16407, i16 16393, i16 -16384, i16 17694, i16 16407, i16 17273, i16 -16384, i16 17694, i16 16407, i16 16393, i16 -16384, i16 17696, i16 16408, i16 17273, i16 -16384, i16 17696, i16 16408, i16 16393, i16 -16384, i16 17698, i16 16407, i16 17273, i16 -16384, i16 17698, i16 16407, i16 16393, i16 -16384, i16 17707, i16 16407, i16 17273, i16 -16384, i16 17707, i16 16407, i16 17600, i16 -16384, i16 17707, i16 16407, i16 16393, i16 -16384, i16 17707, i16 16407, i16 17601, i16 -16384, i16 17708, i16 16407, i16 17273, i16 -16384, i16 17708, i16 16407, i16 17600, i16 -16384, i16 17708, i16 16407, i16 16393, i16 -16384, i16 17708, i16 16407, i16 17601, i16 -16384, i16 32766, i16 16398, i16 17273, i16 -16384, i16 32766, i16 16398, i16 16393, i16 -16384, i16 17803, i16 16404, i16 17273, i16 -16384, i16 17803, i16 16405, i16 17273, i16 -16384, i16 17803, i16 16404, i16 16393, i16 -16384, i16 17803, i16 16405, i16 16393, i16 -16384, i16 17806, i16 16404, i16 17273, i16 -16384, i16 17806, i16 16405, i16 17273, i16 -16384, i16 17806, i16 16404, i16 16393, i16 -16384, i16 17806, i16 16405, i16 16393, i16 -16384, i16 17797, i16 16398, i16 16393, i16 -16384, i16 17797, i16 16398, i16 17601, i16 -16384, i16 18087, i16 18054, i16 18021, i16 -16384, i16 18087, i16 18054, i16 18090, i16 -16384, i16 18087, i16 18054, i16 18093, i16 -16384, i16 18087, i16 18054, i16 18096, i16 -16384, i16 17797, i16 16398, i16 17600, i16 -16384, i16 17797, i16 16398, i16 17273, i16 -16384, i16 18087, i16 18054, i16 18099, i16 -16384, i16 18087, i16 18054, i16 18102, i16 -16384, i16 18087, i16 18054, i16 18105, i16 -16384, i16 18087, i16 18054, i16 18015, i16 -16384, i16 17798, i16 16398, i16 16393, i16 -16384, i16 17798, i16 16398, i16 17601, i16 -16384, i16 18108, i16 18054, i16 18021, i16 -16384, i16 18108, i16 18054, i16 18090, i16 -16384, i16 18108, i16 18054, i16 18093, i16 -16384, i16 18108, i16 18054, i16 18096, i16 -16384, i16 17798, i16 16398, i16 17600, i16 -16384, i16 17798, i16 16398, i16 17273, i16 -16384, i16 18108, i16 18054, i16 18099, i16 -16384, i16 18108, i16 18054, i16 18102, i16 -16384, i16 18108, i16 18054, i16 18105, i16 -16384, i16 18108, i16 18054, i16 18015, i16 -16384, i16 17799, i16 16398, i16 17796, i16 -16384, i16 17799, i16 16398, i16 17795, i16 -16384, i16 17799, i16 16398, i16 17794, i16 -16384, i16 17799, i16 16398, i16 17793, i16 -16384, i16 18111, i16 18054, i16 18114, i16 -16384, i16 18111, i16 18054, i16 18117, i16 -16384, i16 18111, i16 18054, i16 18120, i16 -16384, i16 18111, i16 18054, i16 18123, i16 -16384, i16 17799, i16 16398, i16 17792, i16 -16384, i16 17799, i16 16398, i16 17791, i16 -16384, i16 17799, i16 16398, i16 17790, i16 -16384, i16 17799, i16 16398, i16 17789, i16 -16384, i16 18111, i16 18054, i16 18126, i16 -16384, i16 18111, i16 18054, i16 18129, i16 -16384, i16 18111, i16 18054, i16 18132, i16 -16384, i16 18111, i16 18054, i16 18135, i16 -16384, i16 17800, i16 16398, i16 16393, i16 -16384, i16 17800, i16 16398, i16 17601, i16 -16384, i16 18138, i16 18054, i16 18021, i16 -16384, i16 18138, i16 18054, i16 18090, i16 -16384, i16 18138, i16 18054, i16 18093, i16 -16384, i16 18138, i16 18054, i16 18096, i16 -16384, i16 17800, i16 16398, i16 17273, i16 -16384, i16 17800, i16 16398, i16 17600, i16 -16384, i16 18138, i16 18054, i16 18099, i16 -16384, i16 18138, i16 18054, i16 18102, i16 -16384, i16 18138, i16 18054, i16 18105, i16 -16384, i16 18138, i16 18054, i16 18015, i16 -16384, i16 17801, i16 16398, i16 16393, i16 -16384, i16 17801, i16 16398, i16 17601, i16 -16384, i16 18141, i16 18054, i16 18021, i16 -16384, i16 18141, i16 18054, i16 18090, i16 -16384, i16 18141, i16 18054, i16 18093, i16 -16384, i16 18141, i16 18054, i16 18096, i16 -16384, i16 17801, i16 16398, i16 17273, i16 -16384, i16 17801, i16 16398, i16 17600, i16 -16384, i16 18141, i16 18054, i16 18099, i16 -16384, i16 18141, i16 18054, i16 18102, i16 -16384, i16 18141, i16 18054, i16 18105, i16 -16384, i16 18141, i16 18054, i16 18015, i16 -16384, i16 17802, i16 16398, i16 16393, i16 -16384, i16 17802, i16 16398, i16 17601, i16 -16384, i16 18144, i16 18054, i16 18021, i16 -16384, i16 18144, i16 18054, i16 18090, i16 -16384, i16 18144, i16 18054, i16 18093, i16 -16384, i16 18144, i16 18054, i16 18096, i16 -16384, i16 17802, i16 16398, i16 17273, i16 -16384, i16 17802, i16 16398, i16 17600, i16 -16384, i16 18144, i16 18054, i16 18099, i16 -16384, i16 18144, i16 18054, i16 18102, i16 -16384, i16 18144, i16 18054, i16 18105, i16 -16384, i16 18144, i16 18054, i16 18015, i16 -16384, i16 17804, i16 16398, i16 16393, i16 -16384, i16 17804, i16 16398, i16 17601, i16 -16384, i16 18147, i16 18054, i16 18021, i16 -16384, i16 18147, i16 18054, i16 18090, i16 -16384, i16 18147, i16 18054, i16 18093, i16 -16384, i16 18147, i16 18054, i16 18096, i16 -16384, i16 17804, i16 16398, i16 17600, i16 -16384, i16 17804, i16 16398, i16 17273, i16 -16384, i16 18147, i16 18054, i16 18099, i16 -16384, i16 18147, i16 18054, i16 18102, i16 -16384, i16 18147, i16 18054, i16 18105, i16 -16384, i16 18147, i16 18054, i16 18015, i16 -16384, i16 17805, i16 16398, i16 16393, i16 -16384, i16 17805, i16 16398, i16 17601, i16 -16384, i16 18150, i16 18054, i16 18021, i16 -16384, i16 18150, i16 18054, i16 18090, i16 -16384, i16 18150, i16 18054, i16 18093, i16 -16384, i16 18150, i16 18054, i16 18096, i16 -16384, i16 17805, i16 16398, i16 17600, i16 -16384, i16 17805, i16 16398, i16 17273, i16 -16384, i16 18150, i16 18054, i16 18099, i16 -16384, i16 18150, i16 18054, i16 18102, i16 -16384, i16 18150, i16 18054, i16 18105, i16 -16384, i16 18150, i16 18054, i16 18015, i16 -16384, i16 17807, i16 16398, i16 16393, i16 -16384, i16 17807, i16 16398, i16 17601, i16 -16384, i16 18153, i16 18054, i16 18021, i16 -16384, i16 18153, i16 18054, i16 18090, i16 -16384, i16 18153, i16 18054, i16 18093, i16 -16384, i16 18153, i16 18054, i16 18096, i16 -16384, i16 17807, i16 16398, i16 17600, i16 -16384, i16 17807, i16 16398, i16 17273, i16 -16384, i16 18153, i16 18054, i16 18099, i16 -16384, i16 18153, i16 18054, i16 18102, i16 -16384, i16 18153, i16 18054, i16 18105, i16 -16384, i16 18153, i16 18054, i16 18015, i16 -16384, i16 16384, i16 16384, i16 16384, i16 -2, i16 17934, i16 16398, i16 17273, i16 -16384, i16 17290, i16 17928, i16 17273, i16 -16384, i16 17289, i16 17274, i16 17273, i16 -16384, i16 17289, i16 17276, i16 17273, i16 -16384, i16 17289, i16 17275, i16 17273, i16 -16384, i16 17289, i16 17929, i16 17273, i16 -16384, i16 17289, i16 17929, i16 17932, i16 -16384, i16 17289, i16 17929, i16 17933, i16 -16384, i16 16472, i16 16399, i16 17273, i16 -16384, i16 17291, i16 17931, i16 17273, i16 -16384, i16 17291, i16 17274, i16 17273, i16 -16384, i16 17935, i16 16398, i16 17273, i16 -16384, i16 17935, i16 17930, i16 17273, i16 -16384, i16 17935, i16 17277, i16 17273, i16 -16384, i16 17934, i16 16398, i16 16387, i16 -16384, i16 17934, i16 16398, i16 16388, i16 -16384, i16 17290, i16 16398, i16 16387, i16 -16384, i16 17290, i16 16398, i16 16388, i16 -16384, i16 17290, i16 17928, i16 16387, i16 -16384, i16 17290, i16 17928, i16 16388, i16 -16384, i16 17289, i16 16398, i16 16387, i16 -16384, i16 17289, i16 17274, i16 16387, i16 -16384, i16 17289, i16 17274, i16 16388, i16 -16384, i16 17289, i16 17276, i16 16387, i16 -16384, i16 17289, i16 17276, i16 16388, i16 -16384, i16 17289, i16 17275, i16 16387, i16 -16384, i16 17289, i16 17275, i16 16388, i16 -16384, i16 17289, i16 17929, i16 16387, i16 -16384, i16 17289, i16 17929, i16 16388, i16 -16384, i16 16472, i16 16398, i16 16387, i16 -16384, i16 16472, i16 16398, i16 16388, i16 -16384, i16 16472, i16 16398, i16 16389, i16 -16384, i16 16472, i16 16398, i16 16390, i16 -16384, i16 16472, i16 16399, i16 16387, i16 -16384, i16 16472, i16 16399, i16 16388, i16 -16384, i16 16472, i16 16399, i16 16389, i16 -16384, i16 16472, i16 16399, i16 16390, i16 -16384, i16 17291, i16 16398, i16 16387, i16 -16384, i16 17291, i16 16398, i16 16388, i16 -16384, i16 17291, i16 16398, i16 16389, i16 -16384, i16 17291, i16 16398, i16 16390, i16 -16384, i16 17291, i16 17931, i16 16387, i16 -16384, i16 17291, i16 17931, i16 16388, i16 -16384, i16 17291, i16 17274, i16 16387, i16 -16384, i16 17291, i16 17274, i16 16388, i16 -16384, i16 17935, i16 16398, i16 16387, i16 -16384, i16 17935, i16 16398, i16 16388, i16 -16384, i16 17935, i16 16398, i16 16389, i16 -16384, i16 17935, i16 16398, i16 16390, i16 -16384, i16 17935, i16 17930, i16 16387, i16 -16384, i16 17935, i16 17930, i16 16388, i16 -16384, i16 17935, i16 17277, i16 16387, i16 -16384, i16 17935, i16 17277, i16 16388, i16 -16384, i16 17935, i16 17277, i16 16389, i16 -16384, i16 17935, i16 17277, i16 16390, i16 -16384, i16 18156, i16 18054, i16 18159, i16 -16384, i16 18156, i16 18054, i16 18162, i16 -16384, i16 18165, i16 18168, i16 18159, i16 -16384, i16 18165, i16 18168, i16 18162, i16 -16384, i16 18165, i16 18171, i16 18159, i16 -16384, i16 18165, i16 18171, i16 18162, i16 -16384, i16 18174, i16 18054, i16 18159, i16 -16384, i16 18174, i16 18054, i16 18162, i16 -16384, i16 18177, i16 18182, i16 18187, i16 -16384, i16 17958, i16 17281, i16 16393, i16 -16384, i16 17958, i16 17281, i16 17273, i16 -16384, i16 17959, i16 17281, i16 16393, i16 -16384, i16 17959, i16 17281, i16 17273, i16 -16384, i16 17960, i16 17281, i16 16393, i16 -16384, i16 17960, i16 17281, i16 17273, i16 -16384, i16 17961, i16 17281, i16 16393, i16 -16384, i16 17961, i16 17281, i16 17273, i16 -16384, i16 17962, i16 17281, i16 16393, i16 -16384, i16 17962, i16 17281, i16 17273, i16 -16384, i16 17963, i16 17280, i16 16393, i16 -16384, i16 17963, i16 17280, i16 17273, i16 -16384, i16 17964, i16 16407, i16 17273, i16 -16384, i16 17964, i16 16407, i16 17600, i16 -16384, i16 17964, i16 16407, i16 16393, i16 -16384, i16 17964, i16 16407, i16 17601, i16 -16384, i16 17965, i16 16407, i16 17273, i16 -16384, i16 17965, i16 16407, i16 17600, i16 -16384, i16 17965, i16 16407, i16 16393, i16 -16384, i16 17965, i16 16407, i16 17601, i16 -16384, i16 17966, i16 16407, i16 17273, i16 -16384, i16 17966, i16 16407, i16 17600, i16 -16384, i16 17966, i16 16407, i16 16393, i16 -16384, i16 17966, i16 16407, i16 17601, i16 -16384, i16 17967, i16 16407, i16 17273, i16 -16384, i16 17967, i16 16407, i16 17600, i16 -16384, i16 17967, i16 16407, i16 16393, i16 -16384, i16 17967, i16 16407, i16 17601, i16 -16384, i16 17968, i16 16407, i16 17273, i16 -16384, i16 17968, i16 16407, i16 17600, i16 -16384, i16 17968, i16 16407, i16 16393, i16 -16384, i16 17968, i16 16407, i16 17601, i16 -16384, i16 17969, i16 16407, i16 17273, i16 -16384, i16 17969, i16 16407, i16 17600, i16 -16384, i16 17969, i16 16407, i16 16393, i16 -16384, i16 17969, i16 16407, i16 17601, i16 -16384, i16 17970, i16 16407, i16 17273, i16 -16384, i16 17970, i16 16407, i16 17600, i16 -16384, i16 17970, i16 16407, i16 16393, i16 -16384, i16 17970, i16 16407, i16 17601, i16 -16384, i16 17971, i16 16407, i16 17273, i16 -16384, i16 17971, i16 16407, i16 17600, i16 -16384, i16 17971, i16 16407, i16 16393, i16 -16384, i16 17971, i16 16407, i16 17601, i16 -16384, i16 18000, i16 16407, i16 17273, i16 -16384, i16 18000, i16 16407, i16 17600, i16 -16384, i16 18001, i16 16407, i16 17273, i16 -16384, i16 18001, i16 16407, i16 17600, i16 -16384, i16 18000, i16 16407, i16 16393, i16 -16384, i16 18000, i16 16407, i16 17601, i16 -16384, i16 18001, i16 16407, i16 16393, i16 -16384, i16 18001, i16 16407, i16 17601, i16 -16384, i16 18192, i16 18078, i16 18015, i16 -16384, i16 18192, i16 18195, i16 18015, i16 -16384, i16 18198, i16 18078, i16 18015, i16 -16384, i16 17299, i16 17300, i16 17273, i16 -16384, i16 17299, i16 17301, i16 17273, i16 -16384, i16 17299, i16 17335, i16 17273, i16 -16384, i16 17305, i16 17306, i16 17273, i16 -16384, i16 17305, i16 17307, i16 17273, i16 -16384, i16 17305, i16 17333, i16 17273, i16 -16384, i16 18192, i16 18078, i16 18021, i16 -16384, i16 18192, i16 18195, i16 18021, i16 -16384, i16 18198, i16 18078, i16 18021, i16 -16384, i16 17299, i16 17300, i16 16393, i16 -16384, i16 17299, i16 17301, i16 16393, i16 -16384, i16 17299, i16 17335, i16 16393, i16 -16384, i16 17305, i16 17306, i16 16393, i16 -16384, i16 17305, i16 17307, i16 16393, i16 -16384, i16 17305, i16 17333, i16 16393, i16 -16384, i16 17295, i16 17297, i16 17273, i16 -16384, i16 17310, i16 17321, i16 17273, i16 -16384, i16 18201, i16 18078, i16 18015, i16 -16384, i16 18204, i16 18078, i16 18015, i16 -16384, i16 17323, i16 17324, i16 17273, i16 -16384, i16 17328, i16 17322, i16 17273, i16 -16384, i16 17295, i16 17297, i16 16393, i16 -16384, i16 17308, i16 17309, i16 16393, i16 -16384, i16 17310, i16 17321, i16 16393, i16 -16384, i16 18201, i16 18078, i16 18021, i16 -16384, i16 18204, i16 18078, i16 18021, i16 -16384, i16 17323, i16 17324, i16 16393, i16 -16384, i16 17328, i16 17322, i16 16393, i16 -16384, i16 18006, i16 16404, i16 17273, i16 -16384, i16 18006, i16 16404, i16 16393, i16 -16384, i16 32766, i16 16382, i16 32766, i16 -16386, i16 32766, i16 16382, i16 32766, i16 -32768, i16 16384, i16 0, i16 16384, i16 -16386, i16 32766, i16 2, i16 16385, i16 -32768, i16 17065, i16 2, i16 18080, i16 -32768, i16 17065, i16 2, i16 32766, i16 -32768, i16 17065, i16 5, i16 16385, i16 -32768, i16 17065, i16 5, i16 18080, i16 -32768, i16 17065, i16 6, i16 16385, i16 -32768, i16 17065, i16 6, i16 18080, i16 -32768, i16 17065, i16 7, i16 16385, i16 -32768, i16 17065, i16 7, i16 18080, i16 -32768, i16 17065, i16 8, i16 16385, i16 -32768, i16 17065, i16 8, i16 18080, i16 -32768, i16 17065, i16 9, i16 16385, i16 -32768, i16 17065, i16 9, i16 18080, i16 -32768, i16 17065, i16 11, i16 16385, i16 -32768, i16 17065, i16 11, i16 18080, i16 -32768, i16 17065, i16 12, i16 16385, i16 -32768, i16 17065, i16 12, i16 18080, i16 -32768, i16 17065, i16 13, i16 16385, i16 -32768, i16 17065, i16 13, i16 18080, i16 -32768, i16 17065, i16 15, i16 16385, i16 -32768, i16 17065, i16 15, i16 18080, i16 -32768, i16 17065, i16 16, i16 16385, i16 -32768, i16 17065, i16 16, i16 18080, i16 -32768, i16 17065, i16 17, i16 16385, i16 -32768, i16 17065, i16 17, i16 18080, i16 -32768, i16 17065, i16 18, i16 16385, i16 -32768, i16 17065, i16 18, i16 18080, i16 -32768, i16 17065, i16 19, i16 16385, i16 -32768, i16 17065, i16 19, i16 18080, i16 -32768, i16 17065, i16 20, i16 16385, i16 -32768, i16 17065, i16 20, i16 18080, i16 -32768, i16 17065, i16 21, i16 16385, i16 -32768, i16 17065, i16 21, i16 18080, i16 -32768, i16 17065, i16 22, i16 16385, i16 -32768, i16 17065, i16 22, i16 18080, i16 -32768, i16 17065, i16 27, i16 16385, i16 -32768, i16 17065, i16 27, i16 18080, i16 -32768, i16 17065, i16 29, i16 16385, i16 -32768, i16 17065, i16 29, i16 18080, i16 -32768, i16 17065, i16 34, i16 16385, i16 -32768, i16 17065, i16 34, i16 18080, i16 -32768, i16 17065, i16 35, i16 16385, i16 -32768, i16 17065, i16 35, i16 18080, i16 -32768, i16 17065, i16 40, i16 16385, i16 -32768, i16 17065, i16 40, i16 18080, i16 -32768, i16 17065, i16 55, i16 16385, i16 -32768, i16 17065, i16 55, i16 18080, i16 -32768, i16 17113, i16 2, i16 18080, i16 -32768, i16 17113, i16 39, i16 16385, i16 -32768, i16 17113, i16 39, i16 18080, i16 -32768, i16 17113, i16 40, i16 16385, i16 -32768, i16 17113, i16 40, i16 18080, i16 -32768, i16 17113, i16 58, i16 16385, i16 -32768, i16 17113, i16 58, i16 18080, i16 -32768, i16 17122, i16 2, i16 18080, i16 -32768, i16 17122, i16 16, i16 16385, i16 -32768, i16 17122, i16 16, i16 18080, i16 -32768, i16 17122, i16 34, i16 16385, i16 -32768, i16 17122, i16 34, i16 18080, i16 -32768, i16 17122, i16 39, i16 16385, i16 -32768, i16 17122, i16 39, i16 18080, i16 -32768, i16 17122, i16 45, i16 16385, i16 -32768, i16 17122, i16 45, i16 18080, i16 -32768, i16 17133, i16 2, i16 18080, i16 -32768, i16 17133, i16 22, i16 16385, i16 -32768, i16 17133, i16 22, i16 18080, i16 -32768, i16 17133, i16 39, i16 16385, i16 -32768, i16 17133, i16 39, i16 18080, i16 -32768, i16 17133, i16 40, i16 16385, i16 -32768, i16 17133, i16 40, i16 18080, i16 -32768, i16 17133, i16 44, i16 16385, i16 -32768, i16 17133, i16 44, i16 18080, i16 -32768, i16 17133, i16 57, i16 16385, i16 -32768, i16 17133, i16 57, i16 18080, i16 -32768, i16 17133, i16 58, i16 16385, i16 -32768, i16 17133, i16 58, i16 18080, i16 -32768, i16 17148, i16 2, i16 18080, i16 -32768, i16 17148, i16 5, i16 16385, i16 -32768, i16 17148, i16 5, i16 18080, i16 -32768, i16 17148, i16 6, i16 16385, i16 -32768, i16 17148, i16 6, i16 18080, i16 -32768, i16 17148, i16 7, i16 16385, i16 -32768, i16 17148, i16 7, i16 18080, i16 -32768, i16 17148, i16 15, i16 16385, i16 -32768, i16 17148, i16 15, i16 18080, i16 -32768, i16 17148, i16 16, i16 16385, i16 -32768, i16 17148, i16 16, i16 18080, i16 -32768, i16 17148, i16 17, i16 16385, i16 -32768, i16 17148, i16 17, i16 18080, i16 -32768, i16 17148, i16 18, i16 16385, i16 -32768, i16 17148, i16 18, i16 18080, i16 -32768, i16 17148, i16 19, i16 16385, i16 -32768, i16 17148, i16 19, i16 18080, i16 -32768, i16 17148, i16 20, i16 16385, i16 -32768, i16 17148, i16 20, i16 18080, i16 -32768, i16 17148, i16 21, i16 16385, i16 -32768, i16 17148, i16 21, i16 18080, i16 -32768, i16 17148, i16 22, i16 16385, i16 -32768, i16 17148, i16 22, i16 18080, i16 -32768, i16 17148, i16 28, i16 16385, i16 -32768, i16 17148, i16 28, i16 18080, i16 -32768, i16 17148, i16 34, i16 16385, i16 -32768, i16 17148, i16 34, i16 18080, i16 -32768, i16 17148, i16 35, i16 16385, i16 -32768, i16 17148, i16 35, i16 18080, i16 -32768, i16 17148, i16 38, i16 16385, i16 -32768, i16 17148, i16 38, i16 18080, i16 -32768, i16 17148, i16 39, i16 16385, i16 -32768, i16 17148, i16 39, i16 18080, i16 -32768, i16 17148, i16 40, i16 16385, i16 -32768, i16 17148, i16 40, i16 18080, i16 -32768, i16 17148, i16 47, i16 16385, i16 -32768, i16 17148, i16 47, i16 18080, i16 -32768, i16 17148, i16 51, i16 16385, i16 -32768, i16 17148, i16 51, i16 18080, i16 -32768, i16 17148, i16 52, i16 16385, i16 -32768, i16 17148, i16 52, i16 18080, i16 -32768, i16 17148, i16 57, i16 16385, i16 -32768, i16 17148, i16 57, i16 18080, i16 -32768, i16 17193, i16 2, i16 18080, i16 -32768, i16 17193, i16 34, i16 16385, i16 -32768, i16 17193, i16 34, i16 18080, i16 -32768, i16 17193, i16 39, i16 16385, i16 -32768, i16 17193, i16 39, i16 18080, i16 -32768, i16 18531, i16 2150, i16 18537, i16 -32768, i16 18540, i16 2150, i16 18543, i16 -32768, i16 18546, i16 2150, i16 18549, i16 -32768, i16 18552, i16 2172, i16 18560, i16 -32768, i16 18564, i16 2172, i16 18568, i16 -32768, i16 17205, i16 2, i16 18080, i16 -32768, i16 17205, i16 3, i16 16385, i16 -32768, i16 17205, i16 3, i16 18080, i16 -32768, i16 17205, i16 16, i16 16385, i16 -32768, i16 17205, i16 16, i16 18080, i16 -32768, i16 17205, i16 22, i16 16385, i16 -32768, i16 17205, i16 22, i16 18080, i16 -32768, i16 17205, i16 39, i16 16385, i16 -32768, i16 17205, i16 39, i16 18080, i16 -32768, i16 17205, i16 42, i16 16385, i16 -32768, i16 17205, i16 42, i16 18080, i16 -32768, i16 17205, i16 50, i16 16385, i16 -32768, i16 17205, i16 50, i16 18080, i16 -32768, i16 17220, i16 2, i16 18080, i16 -32768, i16 17220, i16 14, i16 16385, i16 -32768, i16 17220, i16 14, i16 18080, i16 -32768, i16 17220, i16 16, i16 16385, i16 -32768, i16 17220, i16 16, i16 18080, i16 -32768, i16 17220, i16 28, i16 16385, i16 -32768, i16 17220, i16 28, i16 18080, i16 -32768, i16 17220, i16 39, i16 16385, i16 -32768, i16 17220, i16 39, i16 18080, i16 -32768, i16 17220, i16 40, i16 16385, i16 -32768, i16 17220, i16 40, i16 18080, i16 -32768, i16 17220, i16 42, i16 16385, i16 -32768, i16 17220, i16 42, i16 18080, i16 -32768, i16 17220, i16 44, i16 16385, i16 -32768, i16 17220, i16 44, i16 18080, i16 -32768, i16 18178, i16 2, i16 18080, i16 -32768, i16 18178, i16 5, i16 16385, i16 -32768, i16 18178, i16 5, i16 18080, i16 -32768, i16 18178, i16 6, i16 16385, i16 -32768, i16 18178, i16 6, i16 18080, i16 -32768, i16 18178, i16 7, i16 16385, i16 -32768, i16 18178, i16 7, i16 18080, i16 -32768, i16 18178, i16 15, i16 16385, i16 -32768, i16 18178, i16 15, i16 18080, i16 -32768, i16 18178, i16 16, i16 16385, i16 -32768, i16 18178, i16 16, i16 18080, i16 -32768, i16 18178, i16 22, i16 16385, i16 -32768, i16 18178, i16 22, i16 18080, i16 -32768, i16 18178, i16 28, i16 16385, i16 -32768, i16 18178, i16 28, i16 18080, i16 -32768, i16 18178, i16 30, i16 16385, i16 -32768, i16 18178, i16 30, i16 18080, i16 -32768, i16 18178, i16 34, i16 16385, i16 -32768, i16 18178, i16 34, i16 18080, i16 -32768, i16 18178, i16 35, i16 16385, i16 -32768, i16 18178, i16 35, i16 18080, i16 -32768, i16 18178, i16 38, i16 16385, i16 -32768, i16 18178, i16 38, i16 18080, i16 -32768, i16 18178, i16 40, i16 16385, i16 -32768, i16 18178, i16 40, i16 18080, i16 -32768, i16 18178, i16 48, i16 16385, i16 -32768, i16 18178, i16 48, i16 18080, i16 -32768, i16 18572, i16 2191, i16 18578, i16 -32768, i16 18572, i16 2191, i16 18581, i16 -32768, i16 17267, i16 2, i16 18080, i16 -32768, i16 17267, i16 16, i16 16385, i16 -32768, i16 17267, i16 16, i16 18080, i16 -32768, i16 17272, i16 2, i16 18080, i16 -32768, i16 17272, i16 3, i16 16385, i16 -32768, i16 17272, i16 3, i16 18080, i16 -32768, i16 17272, i16 22, i16 16385, i16 -32768, i16 17272, i16 22, i16 18080, i16 -32768, i16 17272, i16 34, i16 16385, i16 -32768, i16 17272, i16 34, i16 18080, i16 -32768, i16 17272, i16 40, i16 16385, i16 -32768, i16 17272, i16 40, i16 18080, i16 -32768, i16 17272, i16 58, i16 16385, i16 -32768, i16 17272, i16 58, i16 18080, i16 -32768, i16 17285, i16 2, i16 18080, i16 -32768, i16 17285, i16 3, i16 16385, i16 -32768, i16 17285, i16 3, i16 18080, i16 -32768, i16 17285, i16 22, i16 16385, i16 -32768, i16 17285, i16 22, i16 18080, i16 -32768, i16 17285, i16 39, i16 16385, i16 -32768, i16 17285, i16 39, i16 18080, i16 -32768, i16 17285, i16 40, i16 16385, i16 -32768, i16 17285, i16 40, i16 18080, i16 -32768, i16 17285, i16 56, i16 16385, i16 -32768, i16 17285, i16 56, i16 18080, i16 -32768, i16 17285, i16 57, i16 16385, i16 -32768, i16 17285, i16 57, i16 18080, i16 -32768, i16 17285, i16 58, i16 16385, i16 -32768, i16 17285, i16 58, i16 18080, i16 -32768, i16 17302, i16 2, i16 18080, i16 -32768, i16 17302, i16 3, i16 16385, i16 -32768, i16 17302, i16 3, i16 18080, i16 -32768, i16 17302, i16 39, i16 16385, i16 -32768, i16 17302, i16 39, i16 18080, i16 -32768, i16 17302, i16 40, i16 16385, i16 -32768, i16 17302, i16 40, i16 18080, i16 -32768, i16 17311, i16 2, i16 18080, i16 -32768, i16 17311, i16 22, i16 16385, i16 -32768, i16 17311, i16 22, i16 18080, i16 -32768, i16 17311, i16 39, i16 16385, i16 -32768, i16 17311, i16 39, i16 18080, i16 -32768, i16 17311, i16 40, i16 16385, i16 -32768, i16 17311, i16 40, i16 18080, i16 -32768, i16 17311, i16 57, i16 16385, i16 -32768, i16 17311, i16 57, i16 18080, i16 -32768, i16 17311, i16 58, i16 16385, i16 -32768, i16 17311, i16 58, i16 18080, i16 -32768, i16 17311, i16 65, i16 18080, i16 -32768, i16 17325, i16 2, i16 18080, i16 -32768, i16 17325, i16 2, i16 32766, i16 -32768, i16 17325, i16 5, i16 16385, i16 -32768, i16 17325, i16 5, i16 18080, i16 -32768, i16 17325, i16 6, i16 16385, i16 -32768, i16 17325, i16 6, i16 18080, i16 -32768, i16 17325, i16 7, i16 16385, i16 -32768, i16 17325, i16 7, i16 18080, i16 -32768, i16 17325, i16 15, i16 16385, i16 -32768, i16 17325, i16 15, i16 18080, i16 -32768, i16 17325, i16 16, i16 16385, i16 -32768, i16 17325, i16 16, i16 18080, i16 -32768, i16 17325, i16 17, i16 16385, i16 -32768, i16 17325, i16 17, i16 18080, i16 -32768, i16 17325, i16 18, i16 16385, i16 -32768, i16 17325, i16 18, i16 18080, i16 -32768, i16 17325, i16 19, i16 16385, i16 -32768, i16 17325, i16 19, i16 18080, i16 -32768, i16 17325, i16 20, i16 16385, i16 -32768, i16 17325, i16 20, i16 18080, i16 -32768, i16 17325, i16 21, i16 16385, i16 -32768, i16 17325, i16 21, i16 18080, i16 -32768, i16 17325, i16 22, i16 16385, i16 -32768, i16 17325, i16 22, i16 18080, i16 -32768, i16 17325, i16 34, i16 16385, i16 -32768, i16 17325, i16 34, i16 18080, i16 -32768, i16 17325, i16 36, i16 16385, i16 -32768, i16 17325, i16 36, i16 18080, i16 -32768, i16 17325, i16 37, i16 16385, i16 -32768, i16 17325, i16 37, i16 18080, i16 -32768, i16 17325, i16 40, i16 16385, i16 -32768, i16 17325, i16 40, i16 18080, i16 -32768, i16 17325, i16 48, i16 16385, i16 -32768, i16 17325, i16 48, i16 18080, i16 -32768, i16 17325, i16 49, i16 16385, i16 -32768, i16 17325, i16 49, i16 18080, i16 -32768, i16 17325, i16 51, i16 16385, i16 -32768, i16 17325, i16 51, i16 18080, i16 -32768, i16 17325, i16 52, i16 16385, i16 -32768, i16 17325, i16 52, i16 18080, i16 -32768, i16 17325, i16 59, i16 16385, i16 -32768, i16 17325, i16 59, i16 18080, i16 -32768, i16 17325, i16 60, i16 16385, i16 -32768, i16 17325, i16 60, i16 18080, i16 -32768, i16 17325, i16 61, i16 16385, i16 -32768, i16 17325, i16 61, i16 18080, i16 -32768, i16 17325, i16 62, i16 16385, i16 -32768, i16 17325, i16 62, i16 18080, i16 -32768, i16 17325, i16 63, i16 16385, i16 -32768, i16 17325, i16 63, i16 18080, i16 -32768, i16 17325, i16 64, i16 16385, i16 -32768, i16 17325, i16 64, i16 18080, i16 -32768, i16 17379, i16 2, i16 18080, i16 -32768, i16 17379, i16 3, i16 16385, i16 -32768, i16 17379, i16 3, i16 18080, i16 -32768, i16 17379, i16 39, i16 16385, i16 -32768, i16 17379, i16 39, i16 18080, i16 -32768, i16 17386, i16 2, i16 18080, i16 -32768, i16 17389, i16 2, i16 18080, i16 -32768, i16 17389, i16 3, i16 16385, i16 -32768, i16 17389, i16 3, i16 18080, i16 -32768, i16 17389, i16 6, i16 16385, i16 -32768, i16 17389, i16 6, i16 18080, i16 -32768, i16 17389, i16 15, i16 16385, i16 -32768, i16 17389, i16 15, i16 18080, i16 -32768, i16 17389, i16 22, i16 16385, i16 -32768, i16 17389, i16 22, i16 18080, i16 -32768, i16 17389, i16 39, i16 16385, i16 -32768, i16 17389, i16 39, i16 18080, i16 -32768, i16 17389, i16 40, i16 16385, i16 -32768, i16 17389, i16 40, i16 18080, i16 -32768, i16 17389, i16 56, i16 16385, i16 -32768, i16 17389, i16 56, i16 18080, i16 -32768, i16 17389, i16 58, i16 16385, i16 -32768, i16 17389, i16 58, i16 18080, i16 -32768, i16 17408, i16 2, i16 18080, i16 -32768, i16 18584, i16 2150, i16 18587, i16 -32768, i16 17408, i16 4, i16 16385, i16 -32768, i16 17408, i16 4, i16 18080, i16 -32768, i16 17408, i16 16, i16 16385, i16 -32768, i16 17408, i16 16, i16 18080, i16 -32768, i16 17408, i16 24, i16 16385, i16 -32768, i16 17408, i16 24, i16 18080, i16 -32768, i16 17408, i16 39, i16 16385, i16 -32768, i16 17408, i16 39, i16 18080, i16 -32768, i16 17408, i16 40, i16 16385, i16 -32768, i16 17408, i16 40, i16 18080, i16 -32768, i16 17408, i16 41, i16 16385, i16 -32768, i16 17408, i16 41, i16 18080, i16 -32768, i16 17408, i16 16382, i16 18080, i16 -32768, i16 18590, i16 2150, i16 18593, i16 -32768, i16 18584, i16 2150, i16 18596, i16 -32768, i16 17427, i16 2, i16 18080, i16 -32768, i16 17427, i16 22, i16 16385, i16 -32768, i16 17427, i16 22, i16 18080, i16 -32768, i16 17427, i16 39, i16 16385, i16 -32768, i16 17427, i16 39, i16 18080, i16 -32768, i16 17427, i16 40, i16 16385, i16 -32768, i16 17427, i16 40, i16 18080, i16 -32768, i16 17427, i16 42, i16 16385, i16 -32768, i16 17427, i16 42, i16 18080, i16 -32768, i16 17427, i16 44, i16 16385, i16 -32768, i16 17427, i16 44, i16 18080, i16 -32768, i16 17427, i16 57, i16 16385, i16 -32768, i16 17427, i16 57, i16 18080, i16 -32768, i16 17427, i16 58, i16 16385, i16 -32768, i16 17427, i16 58, i16 18080, i16 -32768, i16 17444, i16 2, i16 18080, i16 -32768, i16 17444, i16 5, i16 16385, i16 -32768, i16 17444, i16 5, i16 18080, i16 -32768, i16 17444, i16 6, i16 16385, i16 -32768, i16 17444, i16 6, i16 18080, i16 -32768, i16 17444, i16 7, i16 16385, i16 -32768, i16 17444, i16 7, i16 18080, i16 -32768, i16 17444, i16 15, i16 16385, i16 -32768, i16 17444, i16 15, i16 18080, i16 -32768, i16 17444, i16 16, i16 16385, i16 -32768, i16 17444, i16 16, i16 18080, i16 -32768, i16 17444, i16 22, i16 16385, i16 -32768, i16 17444, i16 22, i16 18080, i16 -32768, i16 17444, i16 25, i16 16385, i16 -32768, i16 17444, i16 25, i16 18080, i16 -32768, i16 17444, i16 29, i16 16385, i16 -32768, i16 17444, i16 29, i16 18080, i16 -32768, i16 17444, i16 30, i16 16385, i16 -32768, i16 17444, i16 30, i16 18080, i16 -32768, i16 17444, i16 31, i16 16385, i16 -32768, i16 17444, i16 31, i16 18080, i16 -32768, i16 17444, i16 32, i16 16385, i16 -32768, i16 17444, i16 32, i16 18080, i16 -32768, i16 17444, i16 34, i16 16385, i16 -32768, i16 17444, i16 34, i16 18080, i16 -32768, i16 17444, i16 35, i16 16385, i16 -32768, i16 17444, i16 35, i16 18080, i16 -32768, i16 17444, i16 36, i16 16385, i16 -32768, i16 17444, i16 36, i16 18080, i16 -32768, i16 17444, i16 38, i16 16385, i16 -32768, i16 17444, i16 38, i16 18080, i16 -32768, i16 17444, i16 40, i16 16385, i16 -32768, i16 17444, i16 40, i16 18080, i16 -32768, i16 17444, i16 48, i16 16385, i16 -32768, i16 17444, i16 48, i16 18080, i16 -32768, i16 17444, i16 53, i16 16385, i16 -32768, i16 17444, i16 53, i16 18080, i16 -32768, i16 17444, i16 54, i16 16385, i16 -32768, i16 17444, i16 54, i16 18080, i16 -32768, i16 17444, i16 57, i16 16385, i16 -32768, i16 17444, i16 57, i16 18080, i16 -32768, i16 17444, i16 59, i16 16385, i16 -32768, i16 17444, i16 59, i16 18080, i16 -32768, i16 17444, i16 60, i16 16385, i16 -32768, i16 17444, i16 60, i16 18080, i16 -32768, i16 17444, i16 61, i16 16385, i16 -32768, i16 17444, i16 61, i16 18080, i16 -32768, i16 17444, i16 62, i16 16385, i16 -32768, i16 17444, i16 62, i16 18080, i16 -32768, i16 17444, i16 63, i16 16385, i16 -32768, i16 17444, i16 63, i16 18080, i16 -32768, i16 17444, i16 64, i16 16385, i16 -32768, i16 17444, i16 64, i16 18080, i16 -32768, i16 17501, i16 2, i16 18080, i16 -32768, i16 17501, i16 28, i16 16385, i16 -32768, i16 17501, i16 28, i16 18080, i16 -32768, i16 17501, i16 39, i16 16385, i16 -32768, i16 17501, i16 39, i16 18080, i16 -32768, i16 18254, i16 5, i16 16385, i16 -32768, i16 18254, i16 5, i16 18080, i16 -32768, i16 18254, i16 16, i16 16385, i16 -32768, i16 18254, i16 16, i16 18080, i16 -32768, i16 18254, i16 28, i16 16385, i16 -32768, i16 18254, i16 28, i16 18080, i16 -32768, i16 18254, i16 34, i16 16385, i16 -32768, i16 18254, i16 34, i16 18080, i16 -32768, i16 18254, i16 35, i16 16385, i16 -32768, i16 18254, i16 35, i16 18080, i16 -32768, i16 18254, i16 39, i16 16385, i16 -32768, i16 18254, i16 39, i16 18080, i16 -32768, i16 18254, i16 40, i16 16385, i16 -32768, i16 18254, i16 40, i16 18080, i16 -32768, i16 18259, i16 16, i16 16385, i16 -32768, i16 18259, i16 16, i16 18080, i16 -32768, i16 18259, i16 40, i16 16385, i16 -32768, i16 18259, i16 40, i16 18080, i16 -32768, i16 18259, i16 42, i16 16385, i16 -32768, i16 18259, i16 42, i16 18080, i16 -32768, i16 18259, i16 58, i16 16385, i16 -32768, i16 18259, i16 58, i16 18080, i16 -32768, i16 32766, i16 1, i16 16450, i16 -32768, i16 17531, i16 1, i16 16451, i16 -32768, i16 17531, i16 1696, i16 16450, i16 -32768, i16 17531, i16 1696, i16 16451, i16 -32768, i16 17535, i16 1696, i16 16450, i16 -32768, i16 17537, i16 1696, i16 16450, i16 -32768, i16 17539, i16 1696, i16 16450, i16 -32768, i16 17541, i16 1, i16 16451, i16 -32768, i16 17541, i16 1696, i16 16450, i16 -32768, i16 17541, i16 1696, i16 16451, i16 -32768, i16 17545, i16 1696, i16 16450, i16 -32768, i16 17547, i16 1, i16 16451, i16 -32768, i16 17547, i16 1696, i16 16450, i16 -32768, i16 17547, i16 1696, i16 16451, i16 -32768, i16 17551, i16 1696, i16 16450, i16 -32768, i16 17553, i16 1, i16 16451, i16 -32768, i16 17553, i16 1, i16 16452, i16 -32768, i16 17553, i16 1696, i16 16450, i16 -32768, i16 17553, i16 1696, i16 16451, i16 -32768, i16 17553, i16 1696, i16 16452, i16 -32768, i16 17553, i16 1696, i16 16453, i16 -32768, i16 17560, i16 1696, i16 16450, i16 -32768, i16 17562, i16 1696, i16 16450, i16 -32768, i16 17564, i16 1696, i16 16450, i16 -32768, i16 17566, i16 1696, i16 16450, i16 -32768, i16 17568, i16 1696, i16 16450, i16 -32768, i16 17570, i16 1, i16 16451, i16 -32768, i16 17570, i16 1696, i16 16450, i16 -32768, i16 17570, i16 1696, i16 16451, i16 -32768, i16 17574, i16 1696, i16 16450, i16 -32768, i16 17576, i16 1696, i16 16450, i16 -32768, i16 17578, i16 1696, i16 16450, i16 -32768, i16 17578, i16 1696, i16 32766, i16 -32768, i16 17581, i16 1696, i16 16450, i16 -32768, i16 17583, i16 1, i16 16451, i16 -32768, i16 17583, i16 1, i16 16452, i16 -32768, i16 17583, i16 1696, i16 16450, i16 -32768, i16 17583, i16 1696, i16 16451, i16 -32768, i16 17583, i16 1696, i16 16452, i16 -32768, i16 17583, i16 1696, i16 16453, i16 -32768, i16 17590, i16 1696, i16 16450, i16 -32768, i16 17592, i16 1696, i16 16450, i16 -32768, i16 17594, i16 1696, i16 16450, i16 -32768, i16 17596, i16 1, i16 16451, i16 -32768, i16 17596, i16 1696, i16 16450, i16 -32768, i16 17596, i16 1696, i16 16451, i16 -32768, i16 32766, i16 70, i16 16385, i16 -32768, i16 17600, i16 70, i16 18080, i16 -32768, i16 17602, i16 70, i16 18080, i16 -32768, i16 17604, i16 70, i16 18080, i16 -32768, i16 17606, i16 70, i16 18080, i16 -32768, i16 17608, i16 70, i16 18080, i16 -32768, i16 17610, i16 70, i16 18080, i16 -32768, i16 17612, i16 70, i16 18080, i16 -32768, i16 17614, i16 70, i16 18080, i16 -32768, i16 17616, i16 70, i16 18080, i16 -32768, i16 17618, i16 70, i16 18080, i16 -32768, i16 17620, i16 70, i16 18080, i16 -32768, i16 17622, i16 70, i16 18080, i16 -32768, i16 17624, i16 70, i16 18080, i16 -32768, i16 17626, i16 70, i16 18080, i16 -32768, i16 17628, i16 70, i16 18080, i16 -32768, i16 17630, i16 70, i16 18080, i16 -32768, i16 17632, i16 70, i16 18080, i16 -32768, i16 17634, i16 70, i16 18080, i16 -32768, i16 17636, i16 70, i16 18080, i16 -32768, i16 17638, i16 70, i16 18080, i16 -32768, i16 17640, i16 70, i16 18080, i16 -32768, i16 17642, i16 70, i16 18080, i16 -32768, i16 17644, i16 70, i16 18080, i16 -32768, i16 17646, i16 70, i16 18080, i16 -32768, i16 17648, i16 70, i16 18080, i16 -32768, i16 17650, i16 70, i16 18080, i16 -32768, i16 17652, i16 70, i16 18080, i16 -32768, i16 17654, i16 70, i16 18080, i16 -32768, i16 17656, i16 70, i16 18080, i16 -32768, i16 17658, i16 70, i16 18080, i16 -32768, i16 17660, i16 70, i16 18080, i16 -32768, i16 17662, i16 70, i16 18080, i16 -32768, i16 17664, i16 70, i16 18080, i16 -32768, i16 17666, i16 70, i16 18080, i16 -32768, i16 17668, i16 70, i16 18080, i16 -32768, i16 17670, i16 70, i16 18080, i16 -32768, i16 17672, i16 70, i16 18080, i16 -32768, i16 17674, i16 70, i16 18080, i16 -32768, i16 17676, i16 70, i16 18080, i16 -32768, i16 17678, i16 70, i16 18080, i16 -32768, i16 17680, i16 70, i16 18080, i16 -32768, i16 32766, i16 70, i16 18080, i16 -32768, i16 17682, i16 70, i16 16385, i16 -32768, i16 17684, i16 70, i16 18080, i16 -32768, i16 17686, i16 70, i16 16385, i16 -32768, i16 17688, i16 70, i16 18080, i16 -32768, i16 17690, i16 70, i16 18080, i16 -32768, i16 17692, i16 70, i16 18080, i16 -32768, i16 17694, i16 70, i16 18080, i16 -32768, i16 17696, i16 70, i16 18080, i16 -32768, i16 17698, i16 70, i16 18080, i16 -32768, i16 17700, i16 70, i16 18080, i16 -32768, i16 17702, i16 70, i16 18080, i16 -32768, i16 32766, i16 0, i16 16384, i16 -32768, i16 32766, i16 16382, i16 16384, i16 -32768, i16 17736, i16 16382, i16 16384, i16 -32768, i16 17735, i16 16382, i16 16384, i16 -32768, i16 17745, i16 16382, i16 16384, i16 -32768, i16 17749, i16 16382, i16 16384, i16 -32768, i16 17756, i16 16382, i16 16384, i16 -32768, i16 17764, i16 16382, i16 16384, i16 -32768, i16 17769, i16 16382, i16 16384, i16 -32768, i16 17774, i16 16382, i16 16384, i16 -32768, i16 17779, i16 16382, i16 16384, i16 -32768, i16 17784, i16 16382, i16 16384, i16 -32768, i16 17787, i16 16382, i16 16384, i16 -32768, i16 17790, i16 16382, i16 16384, i16 -32768, i16 17793, i16 16382, i16 16384, i16 -32768, i16 17796, i16 16382, i16 16384, i16 -32768, i16 17801, i16 16382, i16 16384, i16 -32768, i16 17806, i16 16382, i16 16384, i16 -32768, i16 17811, i16 16382, i16 16384, i16 -32768, i16 17816, i16 16382, i16 16384, i16 -32768, i16 17821, i16 16382, i16 16384, i16 -32768, i16 17826, i16 16382, i16 16384, i16 -32768, i16 17831, i16 16382, i16 16384, i16 -32768, i16 17836, i16 16382, i16 16384, i16 -32768, i16 17841, i16 16382, i16 16384, i16 -32768, i16 17846, i16 16382, i16 16384, i16 -32768, i16 17851, i16 16382, i16 16384, i16 -32768, i16 17856, i16 16382, i16 16384, i16 -32768, i16 17861, i16 16382, i16 16384, i16 -32768, i16 17866, i16 16382, i16 16384, i16 -32768, i16 17871, i16 16382, i16 16384, i16 -32768, i16 17874, i16 16382, i16 16384, i16 -32768, i16 17877, i16 16382, i16 16384, i16 -32768, i16 16384, i16 0, i16 32766, i16 -32768, i16 18115, i16 16382, i16 16384, i16 -32768, i16 18124, i16 16382, i16 16384, i16 -32768, i16 18125, i16 16382, i16 16384, i16 -32768, i16 18126, i16 16382, i16 16384, i16 -32768, i16 18127, i16 16382, i16 16384, i16 -32768, i16 18128, i16 16382, i16 16384, i16 -32768, i16 18129, i16 16382, i16 16384, i16 -32768, i16 18130, i16 16382, i16 16384, i16 -32768, i16 18131, i16 16382, i16 16384, i16 -32768, i16 18132, i16 16382, i16 16384, i16 -32768, i16 18599, i16 2218, i16 18605, i16 -32768, i16 18599, i16 2224, i16 18611, i16 -32768, i16 18614, i16 2233, i16 18620, i16 -32768, i16 18614, i16 2239, i16 18626, i16 -32768, i16 18629, i16 2248, i16 18635, i16 -32768, i16 18629, i16 2254, i16 18641, i16 -32768, i16 18644, i16 2263, i16 18650, i16 -32768, i16 18644, i16 2269, i16 18656, i16 -32768, i16 17909, i16 16382, i16 16384, i16 -32768, i16 17913, i16 16382, i16 16384, i16 -32768, i16 17917, i16 16382, i16 16384, i16 -32768, i16 17922, i16 16382, i16 16384, i16 -32768, i16 17926, i16 16382, i16 16384, i16 -32768, i16 17930, i16 16382, i16 16384, i16 -32768, i16 17935, i16 16382, i16 16384, i16 -32768, i16 17939, i16 16382, i16 16384, i16 -32768, i16 17943, i16 16382, i16 16384, i16 -32768, i16 17948, i16 16382, i16 16384, i16 -32768, i16 17952, i16 16382, i16 16384, i16 -32768, i16 17956, i16 16382, i16 16384, i16 -32768, i16 17960, i16 16382, i16 16384, i16 -32768, i16 17964, i16 16382, i16 16384, i16 -32768, i16 17968, i16 16382, i16 16384, i16 -32768, i16 17972, i16 16382, i16 16384, i16 -32768, i16 17976, i16 16382, i16 16384, i16 -32768, i16 17980, i16 16382, i16 16384, i16 -32768, i16 17986, i16 16382, i16 16384, i16 -32768, i16 17990, i16 16382, i16 16384, i16 -32768, i16 17994, i16 16382, i16 16384, i16 -32768, i16 17996, i16 16382, i16 16384, i16 -32768, i16 17998, i16 16382, i16 16384, i16 -32768, i16 18000, i16 16382, i16 16384, i16 -32768, i16 18002, i16 16382, i16 16384, i16 -32768, i16 18004, i16 16382, i16 16384, i16 -32768, i16 18010, i16 16382, i16 16384, i16 -32768, i16 18016, i16 16382, i16 16384, i16 -32768, i16 18022, i16 16382, i16 16384, i16 -32768, i16 18028, i16 16382, i16 16384, i16 -32768, i16 18034, i16 16382, i16 16384, i16 -32768, i16 18036, i16 16382, i16 16384, i16 -32768, i16 18038, i16 16382, i16 16384, i16 -32768, i16 18040, i16 16382, i16 16384, i16 -32768, i16 18042, i16 16382, i16 16384, i16 -32768, i16 18044, i16 16382, i16 16384, i16 -32768, i16 18048, i16 16382, i16 16384, i16 -32768, i16 18052, i16 16382, i16 16384, i16 -32768, i16 18056, i16 16382, i16 16384, i16 -32768, i16 18058, i16 16382, i16 16384, i16 -32768, i16 18060, i16 16382, i16 16384, i16 -32768, i16 18062, i16 16382, i16 16384, i16 -32768, i16 18064, i16 16382, i16 16384, i16 -32768, i16 18066, i16 16382, i16 16384, i16 -32768, i16 18070, i16 16382, i16 16384, i16 -32768, i16 18072, i16 16382, i16 16384, i16 -32768, i16 18074, i16 16382, i16 16384, i16 -32768, i16 18076, i16 16382, i16 16384, i16 -32768, i16 17065, i16 3, i16 16385, i16 -32768, i16 17065, i16 3, i16 18080, i16 -32768, i16 17065, i16 25, i16 16385, i16 -32768, i16 17065, i16 25, i16 18080, i16 -32768, i16 17065, i16 26, i16 16385, i16 -32768, i16 17065, i16 26, i16 18080, i16 -32768, i16 17065, i16 28, i16 16385, i16 -32768, i16 17065, i16 28, i16 18080, i16 -32768, i16 17065, i16 48, i16 16385, i16 -32768, i16 17065, i16 48, i16 18080, i16 -32768, i16 17065, i16 50, i16 16385, i16 -32768, i16 17065, i16 50, i16 18080, i16 -32768, i16 18659, i16 2278, i16 18578, i16 -32768, i16 18659, i16 2278, i16 18581, i16 -32768, i16 18659, i16 2281, i16 18578, i16 -32768, i16 18659, i16 2281, i16 18581, i16 -32768, i16 18659, i16 2284, i16 18578, i16 -32768, i16 18659, i16 2284, i16 18581, i16 -32768, i16 17122, i16 3, i16 16385, i16 -32768, i16 17122, i16 3, i16 18080, i16 -32768, i16 17122, i16 22, i16 16385, i16 -32768, i16 17122, i16 22, i16 18080, i16 -32768, i16 18164, i16 2, i16 18080, i16 -32768, i16 17133, i16 42, i16 16385, i16 -32768, i16 17133, i16 42, i16 18080, i16 -32768, i16 17148, i16 3, i16 16385, i16 -32768, i16 17148, i16 3, i16 18080, i16 -32768, i16 17148, i16 48, i16 16385, i16 -32768, i16 17148, i16 48, i16 18080, i16 -32768, i16 17148, i16 50, i16 16385, i16 -32768, i16 17148, i16 50, i16 18080, i16 -32768, i16 17205, i16 44, i16 16385, i16 -32768, i16 17205, i16 44, i16 18080, i16 -32768, i16 18176, i16 2, i16 18080, i16 -32768, i16 18179, i16 2, i16 16385, i16 -32768, i16 32766, i16 2, i16 18080, i16 -32768, i16 18178, i16 2, i16 16385, i16 -32768, i16 18178, i16 3, i16 16385, i16 -32768, i16 18178, i16 3, i16 18080, i16 -32768, i16 18178, i16 50, i16 16385, i16 -32768, i16 18178, i16 50, i16 18080, i16 -32768, i16 17272, i16 44, i16 16385, i16 -32768, i16 17272, i16 44, i16 18080, i16 -32768, i16 17285, i16 42, i16 16385, i16 -32768, i16 17285, i16 42, i16 18080, i16 -32768, i16 17285, i16 44, i16 16385, i16 -32768, i16 17285, i16 44, i16 18080, i16 -32768, i16 17311, i16 3, i16 16385, i16 -32768, i16 17311, i16 3, i16 18080, i16 -32768, i16 17311, i16 35, i16 16385, i16 -32768, i16 17311, i16 35, i16 18080, i16 -32768, i16 17311, i16 44, i16 16385, i16 -32768, i16 17311, i16 44, i16 18080, i16 -32768, i16 18671, i16 2290, i16 18578, i16 -32768, i16 18671, i16 2290, i16 18581, i16 -32768, i16 17325, i16 3, i16 16385, i16 -32768, i16 17325, i16 3, i16 18080, i16 -32768, i16 17325, i16 33, i16 16385, i16 -32768, i16 17325, i16 33, i16 18080, i16 -32768, i16 17325, i16 35, i16 16385, i16 -32768, i16 17325, i16 35, i16 18080, i16 -32768, i16 17325, i16 42, i16 16385, i16 -32768, i16 17325, i16 42, i16 18080, i16 -32768, i16 17325, i16 43, i16 16385, i16 -32768, i16 17325, i16 43, i16 18080, i16 -32768, i16 17325, i16 50, i16 16385, i16 -32768, i16 17325, i16 50, i16 18080, i16 -32768, i16 18212, i16 2, i16 18080, i16 -32768, i16 18677, i16 2296, i16 18578, i16 -32768, i16 18677, i16 2296, i16 18581, i16 -32768, i16 17389, i16 44, i16 16385, i16 -32768, i16 17389, i16 44, i16 18080, i16 -32768, i16 17408, i16 3, i16 16385, i16 -32768, i16 17408, i16 3, i16 18080, i16 -32768, i16 17408, i16 22, i16 16385, i16 -32768, i16 17408, i16 22, i16 18080, i16 -32768, i16 18222, i16 2, i16 18080, i16 -32768, i16 18683, i16 2302, i16 18578, i16 -32768, i16 18683, i16 2302, i16 18581, i16 -32768, i16 17444, i16 3, i16 16385, i16 -32768, i16 17444, i16 3, i16 18080, i16 -32768, i16 17444, i16 33, i16 16385, i16 -32768, i16 17444, i16 33, i16 18080, i16 -32768, i16 17444, i16 50, i16 16385, i16 -32768, i16 17444, i16 50, i16 18080, i16 -32768, i16 18232, i16 2, i16 18080, i16 -32768, i16 18234, i16 2, i16 18080, i16 -32768, i16 18234, i16 35, i16 16385, i16 -32768, i16 18234, i16 35, i16 18080, i16 -32768, i16 18234, i16 40, i16 16385, i16 -32768, i16 18234, i16 40, i16 18080, i16 -32768, i16 18240, i16 2, i16 18080, i16 -32768, i16 18240, i16 3, i16 16385, i16 -32768, i16 18240, i16 3, i16 18080, i16 -32768, i16 18240, i16 5, i16 16385, i16 -32768, i16 18240, i16 5, i16 18080, i16 -32768, i16 18240, i16 16, i16 16385, i16 -32768, i16 18240, i16 16, i16 18080, i16 -32768, i16 18240, i16 28, i16 16385, i16 -32768, i16 18240, i16 28, i16 18080, i16 -32768, i16 18240, i16 39, i16 16385, i16 -32768, i16 18240, i16 39, i16 18080, i16 -32768, i16 18240, i16 40, i16 16385, i16 -32768, i16 18240, i16 40, i16 18080, i16 -32768, i16 18254, i16 2, i16 18080, i16 -32768, i16 18254, i16 3, i16 16385, i16 -32768, i16 18254, i16 3, i16 18080, i16 -32768, i16 18259, i16 2, i16 18080, i16 -32768, i16 18259, i16 3, i16 16385, i16 -32768, i16 18259, i16 3, i16 18080, i16 -32768, i16 18259, i16 22, i16 16385, i16 -32768, i16 18259, i16 22, i16 18080, i16 -32768, i16 18259, i16 39, i16 16385, i16 -32768, i16 18259, i16 39, i16 18080, i16 -32768, i16 17272, i16 16382, i16 18080, i16 -32768, i16 17122, i16 44, i16 16385, i16 -32768, i16 17122, i16 44, i16 18080, i16 -32768, i16 17205, i16 7, i16 16385, i16 -32768, i16 17205, i16 7, i16 18080, i16 -32768, i16 18178, i16 39, i16 16385, i16 -32768, i16 18178, i16 39, i16 18080, i16 -32768, i16 17408, i16 44, i16 16385, i16 -32768, i16 17408, i16 44, i16 18080, i16 -32768, i16 32766, i16 16382, i16 16386, i16 -32767, i16 18234, i16 1850, i16 16386, i16 -31072, i16 18234, i16 1850, i16 16419, i16 -32767, i16 18234, i16 1850, i16 16419, i16 -31072, i16 18234, i16 1850, i16 16424, i16 -32767, i16 18234, i16 1850, i16 16424, i16 -31072, i16 18240, i16 1856, i16 16386, i16 -31072, i16 18240, i16 1856, i16 16387, i16 -32767, i16 18240, i16 1856, i16 16387, i16 -31072, i16 18240, i16 1856, i16 16389, i16 -32767, i16 18240, i16 1856, i16 16389, i16 -31072, i16 18240, i16 1856, i16 16400, i16 -32767, i16 18240, i16 1856, i16 16400, i16 -31072, i16 18240, i16 1856, i16 16412, i16 -32767, i16 18240, i16 1856, i16 16412, i16 -31072, i16 18240, i16 1856, i16 16423, i16 -32767, i16 18240, i16 1856, i16 16423, i16 -31072, i16 18240, i16 1856, i16 16424, i16 -32767, i16 18240, i16 1856, i16 16424, i16 -31072, i16 18254, i16 73, i16 16385, i16 -32768, i16 18254, i16 73, i16 18080, i16 -32768, i16 18144, i16 2, i16 18080, i16 -32768, i16 18144, i16 3, i16 16385, i16 -32768, i16 18144, i16 3, i16 18080, i16 -32768, i16 18148, i16 2, i16 18080, i16 -32768, i16 18148, i16 16382, i16 16385, i16 -32768, i16 18148, i16 1770, i16 18080, i16 -32768, i16 18148, i16 1772, i16 18080, i16 -32768, i16 18148, i16 1774, i16 18080, i16 -32768, i16 18212, i16 16382, i16 16385, i16 -32768, i16 18212, i16 1822, i16 18080, i16 -32768, i16 18212, i16 1824, i16 18080, i16 -32768, i16 18212, i16 35, i16 16385, i16 -32768, i16 18212, i16 35, i16 18080, i16 -32768, i16 18163, i16 2, i16 16385, i16 -32768, i16 17325, i16 28, i16 16385, i16 -32768, i16 17325, i16 28, i16 18080, i16 -32768, i16 18221, i16 2, i16 16385, i16 -32768, i16 17444, i16 28, i16 16385, i16 -32768, i16 17444, i16 28, i16 18080, i16 -32768, i16 18264, i16 2, i16 16385, i16 -32768, i16 18150, i16 2, i16 18080, i16 -32768, i16 18160, i16 2, i16 18080, i16 -32768, i16 18170, i16 2, i16 18080, i16 -32768, i16 18188, i16 2, i16 18080, i16 -32768, i16 18192, i16 2, i16 18080, i16 -32768, i16 18200, i16 2, i16 18080, i16 -32768, i16 18218, i16 2, i16 18080, i16 -32768, i16 18261, i16 2, i16 18080, i16 -32768, i16 18265, i16 2, i16 18080, i16 -32768, i16 18254, i16 16382, i16 16385, i16 -32768, i16 18254, i16 1848, i16 18080, i16 -32768, i16 18254, i16 1844, i16 18080, i16 -32768, i16 18154, i16 2, i16 18080, i16 -32768, i16 18154, i16 3, i16 16385, i16 -32768, i16 18154, i16 3, i16 18080, i16 -32768, i16 18154, i16 50, i16 16385, i16 -32768, i16 18154, i16 50, i16 18080, i16 -32768, i16 18154, i16 73, i16 16385, i16 -32768, i16 18154, i16 73, i16 18080, i16 -32768, i16 18206, i16 2, i16 18080, i16 -32768, i16 18206, i16 3, i16 16385, i16 -32768, i16 18206, i16 3, i16 18080, i16 -32768, i16 18206, i16 28, i16 16385, i16 -32768, i16 18206, i16 28, i16 18080, i16 -32768, i16 18206, i16 33, i16 16385, i16 -32768, i16 18206, i16 33, i16 18080, i16 -32768, i16 18144, i16 16382, i16 16385, i16 -32768, i16 18144, i16 1883, i16 18078, i16 -32768, i16 18144, i16 1883, i16 18079, i16 -32768, i16 18144, i16 1883, i16 18080, i16 -32768, i16 18144, i16 1762, i16 18080, i16 -32768, i16 18152, i16 2, i16 18080, i16 -32768, i16 18162, i16 2, i16 18080, i16 -32768, i16 18172, i16 2, i16 18080, i16 -32768, i16 18174, i16 2, i16 18080, i16 -32768, i16 18183, i16 2, i16 18080, i16 -32768, i16 18185, i16 2, i16 18080, i16 -32768, i16 18190, i16 2, i16 18080, i16 -32768, i16 18196, i16 2, i16 18080, i16 -32768, i16 18210, i16 2, i16 18080, i16 -32768, i16 18216, i16 2, i16 18080, i16 -32768, i16 18220, i16 2, i16 18080, i16 -32768, i16 18230, i16 2, i16 18080, i16 -32768, i16 18263, i16 2, i16 18080, i16 -32768, i16 18081, i16 16382, i16 16384, i16 -32768, i16 17133, i16 16382, i16 16385, i16 -32768, i16 17133, i16 1887, i16 18080, i16 -32768, i16 17386, i16 73, i16 18080, i16 -32768, i16 18143, i16 2, i16 16385, i16 -32768, i16 18272, i16 2, i16 16385, i16 -32768, i16 18169, i16 2, i16 16385, i16 -32768, i16 17205, i16 8, i16 16385, i16 -32768, i16 17205, i16 8, i16 18080, i16 -32768, i16 18182, i16 2, i16 16385, i16 -32768, i16 17311, i16 16382, i16 16385, i16 -32768, i16 17311, i16 1814, i16 18080, i16 -32768, i16 18201, i16 2, i16 16385, i16 -32768, i16 18227, i16 2, i16 16385, i16 -32768, i16 18257, i16 2, i16 16385, i16 -32768, i16 18225, i16 2, i16 16385, i16 -32768, i16 18155, i16 2, i16 16385, i16 -32768, i16 18155, i16 73, i16 18080, i16 -32768, i16 18155, i16 73, i16 16385, i16 -32768, i16 18213, i16 2, i16 16385, i16 -32768, i16 18213, i16 73, i16 18080, i16 -32768, i16 18213, i16 73, i16 16385, i16 -32768, i16 16384, i16 0, i16 16400, i16 -32768, i16 16384, i16 0, i16 16434, i16 -32768, i16 16384, i16 0, i16 16389, i16 -32768, i16 18311, i16 2, i16 18078, i16 -32768, i16 18311, i16 2, i16 18079, i16 -32768, i16 18311, i16 2, i16 18080, i16 -32768, i16 18166, i16 2, i16 18080, i16 -32768, i16 18315, i16 2, i16 18078, i16 -32768, i16 18315, i16 2, i16 18079, i16 -32768, i16 18315, i16 2, i16 18080, i16 -32768, i16 18319, i16 2, i16 18078, i16 -32768, i16 18319, i16 2, i16 18079, i16 -32768, i16 18319, i16 2, i16 18080, i16 -32768, i16 18194, i16 2, i16 18080, i16 -32768, i16 32766, i16 22, i16 16385, i16 -16386, i16 18220, i16 22, i16 18080, i16 -16386, i16 32766, i16 2, i16 16385, i16 -16386, i16 18259, i16 2, i16 18080, i16 -16386, i16 18259, i16 3, i16 16385, i16 -16386, i16 18259, i16 3, i16 18080, i16 -16386, i16 18259, i16 39, i16 16385, i16 -16386, i16 18259, i16 39, i16 18080, i16 -16386, i16 18259, i16 22, i16 16385, i16 -16386, i16 18259, i16 22, i16 18080, i16 -16386, i16 18234, i16 16382, i16 16386, i16 -32767, i16 18234, i16 1856, i16 16386, i16 -31072, i16 18234, i16 1856, i16 16387, i16 -32767, i16 18234, i16 1856, i16 16387, i16 -31072, i16 18234, i16 1856, i16 16389, i16 -32767, i16 18234, i16 1856, i16 16389, i16 -31072, i16 18234, i16 1856, i16 16400, i16 -32767, i16 18234, i16 1856, i16 16400, i16 -31072, i16 18234, i16 1856, i16 16434, i16 -32767, i16 18234, i16 1856, i16 16434, i16 -31072, i16 18234, i16 1856, i16 16423, i16 -32767, i16 18234, i16 1856, i16 16423, i16 -31072, i16 18234, i16 1856, i16 16412, i16 -32767, i16 18234, i16 1856, i16 16412, i16 -31072, i16 32766, i16 35, i16 16385, i16 -16386, i16 18204, i16 35, i16 18080, i16 -16386, i16 32766, i16 28, i16 16385, i16 -16386, i16 18148, i16 28, i16 18080, i16 -16386, i16 18212, i16 28, i16 18080, i16 -16386, i16 18232, i16 28, i16 18080, i16 -16386, i16 18323, i16 2, i16 18078, i16 -32768, i16 18323, i16 2, i16 18079, i16 -32768, i16 18323, i16 2, i16 18080, i16 -32768, i16 18327, i16 2, i16 18078, i16 -32768, i16 18327, i16 2, i16 18079, i16 -32768, i16 18327, i16 2, i16 18080, i16 -32768, i16 32766, i16 32766, i16 32766, i16 32766, i16 16384, i16 16384, i16 16384, i16 32766, i16 32766, i16 16389, i16 16385, i16 32766, i16 16470, i16 16389, i16 16388, i16 16470, i16 16470, i16 16389, i16 32766, i16 16470, i16 16470, i16 16392, i16 16385, i16 16470, i16 16470, i16 16392, i16 16388, i16 16470, i16 16470, i16 16393, i16 16385, i16 16470, i16 16470, i16 16393, i16 16388, i16 16470, i16 16470, i16 16405, i16 16385, i16 16470, i16 16470, i16 16405, i16 16388, i16 16470, i16 16470, i16 16397, i16 16385, i16 16470, i16 16470, i16 16397, i16 16388, i16 16470, i16 16470, i16 16408, i16 16385, i16 16470, i16 16470, i16 16408, i16 16388, i16 16470, i16 16470, i16 16409, i16 16385, i16 16470, i16 16470, i16 16409, i16 16388, i16 16470, i16 16470, i16 16411, i16 16385, i16 16470, i16 16470, i16 16411, i16 16388, i16 16470, i16 16470, i16 16410, i16 16385, i16 16470, i16 16470, i16 16410, i16 16388, i16 16470, i16 16470, i16 16435, i16 16385, i16 16470, i16 16470, i16 16435, i16 16388, i16 16470, i16 16470, i16 16398, i16 16385, i16 16470, i16 16470, i16 16398, i16 16388, i16 16470, i16 16470, i16 16394, i16 16385, i16 16470, i16 16470, i16 16394, i16 16388, i16 16470, i16 16470, i16 16412, i16 16385, i16 16470, i16 16470, i16 16412, i16 16388, i16 16470, i16 16470, i16 16413, i16 16385, i16 16470, i16 16470, i16 16413, i16 16388, i16 16470, i16 16470, i16 16415, i16 16385, i16 16470, i16 16470, i16 16415, i16 16388, i16 16470, i16 16470, i16 16414, i16 16385, i16 16470, i16 16470, i16 16414, i16 16388, i16 16470, i16 16470, i16 16436, i16 16385, i16 16470, i16 16470, i16 16436, i16 16388, i16 16470, i16 16470, i16 16395, i16 16385, i16 16470, i16 16470, i16 16395, i16 16388, i16 16470, i16 16470, i16 16399, i16 16385, i16 16470, i16 16470, i16 16399, i16 16388, i16 16470, i16 16470, i16 16417, i16 16385, i16 16470, i16 16470, i16 16417, i16 16388, i16 16470, i16 16470, i16 16450, i16 16385, i16 16470, i16 16470, i16 16450, i16 16388, i16 16470, i16 16470, i16 16402, i16 16385, i16 16470, i16 16470, i16 16402, i16 16388, i16 16470, i16 16470, i16 16426, i16 16385, i16 16470, i16 16470, i16 16426, i16 16388, i16 16470, i16 16470, i16 16400, i16 16385, i16 16470, i16 16470, i16 16400, i16 16388, i16 16470, i16 16470, i16 16396, i16 16385, i16 16470, i16 16470, i16 16396, i16 16388, i16 16470, i16 16470, i16 16444, i16 16385, i16 16470, i16 16470, i16 16444, i16 16388, i16 16470, i16 16470, i16 16449, i16 16385, i16 16470, i16 16470, i16 16449, i16 16388, i16 16470, i16 16470, i16 16391, i16 16385, i16 16470, i16 16470, i16 16391, i16 16388, i16 16470, i16 16470, i16 16418, i16 16385, i16 16470, i16 16470, i16 16418, i16 16388, i16 16470, i16 18628, i16 18631, i16 18517, i16 18628, i16 18628, i16 18631, i16 18425, i16 18628, i16 18628, i16 18634, i16 18517, i16 18628, i16 18628, i16 18634, i16 18425, i16 18628, i16 18628, i16 18637, i16 18517, i16 18628, i16 18628, i16 18637, i16 18425, i16 18628, i16 16536, i16 16389, i16 16388, i16 16536, i16 16536, i16 16390, i16 16385, i16 16536, i16 16536, i16 16390, i16 16388, i16 16536, i16 16536, i16 16444, i16 16385, i16 16536, i16 16536, i16 16444, i16 16388, i16 16536, i16 16536, i16 16445, i16 16385, i16 16536, i16 16536, i16 16445, i16 16388, i16 16536, i16 16545, i16 16389, i16 16388, i16 16545, i16 16545, i16 16392, i16 16385, i16 16545, i16 16545, i16 16392, i16 16388, i16 16545, i16 16545, i16 16394, i16 16385, i16 16545, i16 16545, i16 16394, i16 16388, i16 16545, i16 16545, i16 16400, i16 16385, i16 16545, i16 16545, i16 16400, i16 16388, i16 16545, i16 16545, i16 16390, i16 16385, i16 16545, i16 16545, i16 16390, i16 16388, i16 16545, i16 16545, i16 16448, i16 16385, i16 16545, i16 16545, i16 16448, i16 16388, i16 16545, i16 16545, i16 16437, i16 16385, i16 16545, i16 16545, i16 16437, i16 16388, i16 16545, i16 32766, i16 16395, i16 16385, i16 32766, i16 16559, i16 16395, i16 16388, i16 16559, i16 16562, i16 16389, i16 16388, i16 16562, i16 16562, i16 16395, i16 16385, i16 16562, i16 16562, i16 16395, i16 16388, i16 16562, i16 16562, i16 16390, i16 16385, i16 16562, i16 16562, i16 16390, i16 16388, i16 16562, i16 16562, i16 16444, i16 16385, i16 16562, i16 16562, i16 16444, i16 16388, i16 16562, i16 16562, i16 16452, i16 16385, i16 16562, i16 16562, i16 16452, i16 16388, i16 16562, i16 16562, i16 16448, i16 16385, i16 16562, i16 16562, i16 16448, i16 16388, i16 16562, i16 16562, i16 16421, i16 16385, i16 16562, i16 16562, i16 16421, i16 16388, i16 16562, i16 16562, i16 16445, i16 16385, i16 16562, i16 16562, i16 16445, i16 16388, i16 16562, i16 16579, i16 16389, i16 16388, i16 16579, i16 16579, i16 16392, i16 16385, i16 16579, i16 16579, i16 16392, i16 16388, i16 16579, i16 16579, i16 16393, i16 16385, i16 16579, i16 16579, i16 16393, i16 16388, i16 16579, i16 16579, i16 16405, i16 16385, i16 16579, i16 16579, i16 16405, i16 16388, i16 16579, i16 16579, i16 16397, i16 16385, i16 16579, i16 16579, i16 16397, i16 16388, i16 16579, i16 16579, i16 16398, i16 16385, i16 16579, i16 16579, i16 16398, i16 16388, i16 16579, i16 16579, i16 16394, i16 16385, i16 16579, i16 16579, i16 16394, i16 16388, i16 16579, i16 16579, i16 16412, i16 16385, i16 16579, i16 16579, i16 16412, i16 16388, i16 16579, i16 16579, i16 16413, i16 16385, i16 16579, i16 16579, i16 16413, i16 16388, i16 16579, i16 16579, i16 16415, i16 16385, i16 16579, i16 16579, i16 16415, i16 16388, i16 16579, i16 16579, i16 16414, i16 16385, i16 16579, i16 16579, i16 16414, i16 16388, i16 16579, i16 16579, i16 16436, i16 16385, i16 16579, i16 16579, i16 16436, i16 16388, i16 16579, i16 16579, i16 16395, i16 16385, i16 16579, i16 16579, i16 16395, i16 16388, i16 16579, i16 16579, i16 16402, i16 16385, i16 16579, i16 16579, i16 16402, i16 16388, i16 16579, i16 16579, i16 16400, i16 16385, i16 16579, i16 16579, i16 16400, i16 16388, i16 16579, i16 16579, i16 16396, i16 16385, i16 16579, i16 16579, i16 16396, i16 16388, i16 16579, i16 16579, i16 16446, i16 16385, i16 16579, i16 16579, i16 16446, i16 16388, i16 16579, i16 16579, i16 16390, i16 16385, i16 16579, i16 16579, i16 16390, i16 16388, i16 16579, i16 16579, i16 16444, i16 16385, i16 16579, i16 16579, i16 16444, i16 16388, i16 16579, i16 16579, i16 16439, i16 16385, i16 16579, i16 16579, i16 16439, i16 16388, i16 16579, i16 16579, i16 16449, i16 16385, i16 16579, i16 16579, i16 16449, i16 16388, i16 16579, i16 16579, i16 16391, i16 16385, i16 16579, i16 16579, i16 16391, i16 16388, i16 16579, i16 16579, i16 16419, i16 16385, i16 16579, i16 16579, i16 16419, i16 16388, i16 16579, i16 16579, i16 16420, i16 16385, i16 16579, i16 16579, i16 16420, i16 16388, i16 16579, i16 16579, i16 16421, i16 16385, i16 16579, i16 16579, i16 16421, i16 16388, i16 16579, i16 16630, i16 16389, i16 16388, i16 16630, i16 16630, i16 16400, i16 16385, i16 16630, i16 16630, i16 16400, i16 16388, i16 16630, i16 16630, i16 16390, i16 16385, i16 16630, i16 16630, i16 16390, i16 16388, i16 16630, i16 18640, i16 18643, i16 18646, i16 18640, i16 18649, i16 18643, i16 18652, i16 18649, i16 18655, i16 18643, i16 18658, i16 18655, i16 18661, i16 18665, i16 18669, i16 18661, i16 18673, i16 18665, i16 18677, i16 18673, i16 16642, i16 16389, i16 16388, i16 16642, i16 16642, i16 16392, i16 16385, i16 16642, i16 16642, i16 16392, i16 16388, i16 16642, i16 16642, i16 16397, i16 16385, i16 16642, i16 16642, i16 16397, i16 16388, i16 16642, i16 16642, i16 16394, i16 16385, i16 16642, i16 16642, i16 16394, i16 16388, i16 16642, i16 16642, i16 16395, i16 16385, i16 16642, i16 16642, i16 16395, i16 16388, i16 16642, i16 16642, i16 16390, i16 16385, i16 16642, i16 16642, i16 16390, i16 16388, i16 16642, i16 16642, i16 16452, i16 16385, i16 16642, i16 16642, i16 16452, i16 16388, i16 16642, i16 16642, i16 16448, i16 16385, i16 16642, i16 16642, i16 16448, i16 16388, i16 16642, i16 16642, i16 16391, i16 16385, i16 16642, i16 16642, i16 16391, i16 16388, i16 16642, i16 16661, i16 16389, i16 16388, i16 16661, i16 16661, i16 16447, i16 16385, i16 16661, i16 16661, i16 16447, i16 16388, i16 16661, i16 16661, i16 16394, i16 16385, i16 16661, i16 16661, i16 16394, i16 16388, i16 16661, i16 16661, i16 16402, i16 16385, i16 16661, i16 16661, i16 16402, i16 16388, i16 16661, i16 16661, i16 16390, i16 16385, i16 16661, i16 16661, i16 16390, i16 16388, i16 16661, i16 16661, i16 16444, i16 16385, i16 16661, i16 16661, i16 16444, i16 16388, i16 16661, i16 16661, i16 16452, i16 16385, i16 16661, i16 16661, i16 16452, i16 16388, i16 16661, i16 16661, i16 16448, i16 16385, i16 16661, i16 16661, i16 16448, i16 16388, i16 16661, i16 16678, i16 16389, i16 16386, i16 16678, i16 16678, i16 16389, i16 16388, i16 16678, i16 16681, i16 16389, i16 16388, i16 16681, i16 16681, i16 16392, i16 16385, i16 16681, i16 16681, i16 16392, i16 16388, i16 16681, i16 16681, i16 16393, i16 16385, i16 16681, i16 16681, i16 16393, i16 16388, i16 16681, i16 16681, i16 16405, i16 16385, i16 16681, i16 16681, i16 16405, i16 16388, i16 16681, i16 16681, i16 16397, i16 16385, i16 16681, i16 16681, i16 16397, i16 16388, i16 16681, i16 16681, i16 16398, i16 16385, i16 16681, i16 16681, i16 16398, i16 16388, i16 16681, i16 16681, i16 16394, i16 16385, i16 16681, i16 16681, i16 16394, i16 16388, i16 16681, i16 16681, i16 16395, i16 16385, i16 16681, i16 16681, i16 16395, i16 16388, i16 16681, i16 16681, i16 16402, i16 16385, i16 16681, i16 16681, i16 16402, i16 16388, i16 16681, i16 16681, i16 16427, i16 16385, i16 16681, i16 16681, i16 16427, i16 16388, i16 16681, i16 16681, i16 16400, i16 16385, i16 16681, i16 16681, i16 16400, i16 16388, i16 16681, i16 16681, i16 16396, i16 16385, i16 16681, i16 16681, i16 16396, i16 16388, i16 16681, i16 16681, i16 16446, i16 16385, i16 16681, i16 16681, i16 16446, i16 16388, i16 16681, i16 16681, i16 16390, i16 16385, i16 16681, i16 16681, i16 16390, i16 16388, i16 16681, i16 16681, i16 16444, i16 16385, i16 16681, i16 16681, i16 16444, i16 16388, i16 16681, i16 16681, i16 16449, i16 16385, i16 16681, i16 16681, i16 16449, i16 16388, i16 16681, i16 16681, i16 16391, i16 16385, i16 16681, i16 16681, i16 16391, i16 16388, i16 16681, i16 18681, i16 18684, i16 18517, i16 18681, i16 18681, i16 18684, i16 18425, i16 18681, i16 16718, i16 16389, i16 16388, i16 16718, i16 16718, i16 16394, i16 16385, i16 16718, i16 16718, i16 16394, i16 16388, i16 16718, i16 16723, i16 16389, i16 16388, i16 16723, i16 16723, i16 16392, i16 16385, i16 16723, i16 16723, i16 16392, i16 16388, i16 16723, i16 16723, i16 16395, i16 16385, i16 16723, i16 16723, i16 16395, i16 16388, i16 16723, i16 16723, i16 16400, i16 16385, i16 16723, i16 16723, i16 16400, i16 16388, i16 16723, i16 16723, i16 16444, i16 16385, i16 16723, i16 16723, i16 16444, i16 16388, i16 16723, i16 16723, i16 16448, i16 16385, i16 16723, i16 16723, i16 16448, i16 16388, i16 16723, i16 16723, i16 16445, i16 16385, i16 16723, i16 16723, i16 16445, i16 16388, i16 16723, i16 16723, i16 32766, i16 16388, i16 16723, i16 16739, i16 16389, i16 16388, i16 16739, i16 16739, i16 16392, i16 16385, i16 16739, i16 16739, i16 16392, i16 16388, i16 16739, i16 16739, i16 16395, i16 16385, i16 16739, i16 16739, i16 16395, i16 16388, i16 16739, i16 16739, i16 16390, i16 16385, i16 16739, i16 16739, i16 16390, i16 16388, i16 16739, i16 16739, i16 16444, i16 16385, i16 16739, i16 16739, i16 16444, i16 16388, i16 16739, i16 16739, i16 16452, i16 16385, i16 16739, i16 16739, i16 16452, i16 16388, i16 16739, i16 16739, i16 16448, i16 16385, i16 16739, i16 16739, i16 16448, i16 16388, i16 16739, i16 16739, i16 16434, i16 16385, i16 16739, i16 16739, i16 16434, i16 16388, i16 16739, i16 16739, i16 16421, i16 16385, i16 16739, i16 16739, i16 16421, i16 16388, i16 16739, i16 16739, i16 16445, i16 16385, i16 16739, i16 16739, i16 16445, i16 16388, i16 16739, i16 16760, i16 16389, i16 16388, i16 16760, i16 16760, i16 16392, i16 16385, i16 16760, i16 16760, i16 16392, i16 16388, i16 16760, i16 16760, i16 16390, i16 16385, i16 16760, i16 16760, i16 16390, i16 16388, i16 16760, i16 16760, i16 16444, i16 16385, i16 16760, i16 16760, i16 16444, i16 16388, i16 16760, i16 16769, i16 16389, i16 16388, i16 16769, i16 16769, i16 16392, i16 16385, i16 16769, i16 16769, i16 16392, i16 16388, i16 16769, i16 16769, i16 16395, i16 16385, i16 16769, i16 16769, i16 16395, i16 16388, i16 16769, i16 16769, i16 16396, i16 16385, i16 16769, i16 16769, i16 16396, i16 16388, i16 16769, i16 16769, i16 16390, i16 16385, i16 16769, i16 16769, i16 16390, i16 16388, i16 16769, i16 16769, i16 16444, i16 16385, i16 16769, i16 16769, i16 16444, i16 16388, i16 16769, i16 16769, i16 16448, i16 16385, i16 16769, i16 16769, i16 16448, i16 16388, i16 16769, i16 16769, i16 16421, i16 16385, i16 16769, i16 16769, i16 16421, i16 16388, i16 16769, i16 16769, i16 16445, i16 16385, i16 16769, i16 16769, i16 16445, i16 16388, i16 16769, i16 16769, i16 16451, i16 16388, i16 16769, i16 18687, i16 18690, i16 18517, i16 18687, i16 18687, i16 18690, i16 18425, i16 18687, i16 16791, i16 16389, i16 16388, i16 16791, i16 16791, i16 16389, i16 32766, i16 16791, i16 16791, i16 16392, i16 16385, i16 16791, i16 16791, i16 16392, i16 16388, i16 16791, i16 16791, i16 16393, i16 16385, i16 16791, i16 16791, i16 16393, i16 16388, i16 16791, i16 16791, i16 16405, i16 16385, i16 16791, i16 16791, i16 16405, i16 16388, i16 16791, i16 16791, i16 16397, i16 16385, i16 16791, i16 16791, i16 16397, i16 16388, i16 16791, i16 16791, i16 16398, i16 16385, i16 16791, i16 16791, i16 16398, i16 16388, i16 16791, i16 16791, i16 16394, i16 16385, i16 16791, i16 16791, i16 16394, i16 16388, i16 16791, i16 16791, i16 16412, i16 16385, i16 16791, i16 16791, i16 16412, i16 16388, i16 16791, i16 16791, i16 16413, i16 16385, i16 16791, i16 16791, i16 16413, i16 16388, i16 16791, i16 16791, i16 16415, i16 16385, i16 16791, i16 16791, i16 16415, i16 16388, i16 16791, i16 16791, i16 16414, i16 16385, i16 16791, i16 16791, i16 16414, i16 16388, i16 16791, i16 16791, i16 16436, i16 16385, i16 16791, i16 16791, i16 16436, i16 16388, i16 16791, i16 16791, i16 16395, i16 16385, i16 16791, i16 16791, i16 16395, i16 16388, i16 16791, i16 16791, i16 16402, i16 16385, i16 16791, i16 16791, i16 16402, i16 16388, i16 16791, i16 16791, i16 16404, i16 16385, i16 16791, i16 16791, i16 16404, i16 16388, i16 16791, i16 16791, i16 16400, i16 16385, i16 16791, i16 16791, i16 16400, i16 16388, i16 16791, i16 16791, i16 16396, i16 16385, i16 16791, i16 16791, i16 16396, i16 16388, i16 16791, i16 16791, i16 16406, i16 16385, i16 16791, i16 16791, i16 16406, i16 16388, i16 16791, i16 16791, i16 16431, i16 16385, i16 16791, i16 16791, i16 16431, i16 16388, i16 16791, i16 16791, i16 16444, i16 16385, i16 16791, i16 16791, i16 16444, i16 16388, i16 16791, i16 16791, i16 16452, i16 16385, i16 16791, i16 16791, i16 16452, i16 16388, i16 16791, i16 16791, i16 16443, i16 16385, i16 16791, i16 16791, i16 16443, i16 16388, i16 16791, i16 16791, i16 16449, i16 16385, i16 16791, i16 16791, i16 16449, i16 16388, i16 16791, i16 16791, i16 16440, i16 16385, i16 16791, i16 16791, i16 16440, i16 16388, i16 16791, i16 16791, i16 16391, i16 16385, i16 16791, i16 16791, i16 16391, i16 16388, i16 16791, i16 16791, i16 16419, i16 16385, i16 16791, i16 16791, i16 16419, i16 16388, i16 16791, i16 16791, i16 16420, i16 16385, i16 16791, i16 16791, i16 16420, i16 16388, i16 16791, i16 16791, i16 16401, i16 16385, i16 16791, i16 16791, i16 16401, i16 16388, i16 16791, i16 16791, i16 16422, i16 16385, i16 16791, i16 16791, i16 16422, i16 16388, i16 16791, i16 16791, i16 16423, i16 16385, i16 16791, i16 16791, i16 16423, i16 16388, i16 16791, i16 16791, i16 16425, i16 16385, i16 16791, i16 16791, i16 16425, i16 16388, i16 16791, i16 16791, i16 16424, i16 16385, i16 16791, i16 16791, i16 16424, i16 16388, i16 16791, i16 16791, i16 16441, i16 16385, i16 16791, i16 16791, i16 16441, i16 16388, i16 16791, i16 18693, i16 18696, i16 18517, i16 18693, i16 18693, i16 18696, i16 18425, i16 18693, i16 16861, i16 16389, i16 16388, i16 16861, i16 16861, i16 16392, i16 16385, i16 16861, i16 16861, i16 16392, i16 16388, i16 16861, i16 16861, i16 16390, i16 16385, i16 16861, i16 16861, i16 16390, i16 16388, i16 16861, i16 16868, i16 16389, i16 16388, i16 16868, i16 16871, i16 16389, i16 16388, i16 16871, i16 16871, i16 16392, i16 16385, i16 16871, i16 16871, i16 16392, i16 16388, i16 16871, i16 16871, i16 16405, i16 16385, i16 16871, i16 16871, i16 16405, i16 16388, i16 16871, i16 16871, i16 16398, i16 16385, i16 16871, i16 16871, i16 16398, i16 16388, i16 16871, i16 16871, i16 16390, i16 16385, i16 16871, i16 16871, i16 16390, i16 16388, i16 16871, i16 16871, i16 16444, i16 16385, i16 16871, i16 16871, i16 16444, i16 16388, i16 16871, i16 16871, i16 16448, i16 16385, i16 16871, i16 16871, i16 16448, i16 16388, i16 16871, i16 16871, i16 16434, i16 16385, i16 16871, i16 16871, i16 16434, i16 16388, i16 16871, i16 16871, i16 16445, i16 16385, i16 16871, i16 16871, i16 16445, i16 16388, i16 16871, i16 16889, i16 16395, i16 16388, i16 16889, i16 16892, i16 16389, i16 16388, i16 16892, i16 18699, i16 18643, i16 18702, i16 18699, i16 16892, i16 16392, i16 16385, i16 16892, i16 16892, i16 16392, i16 16388, i16 16892, i16 16892, i16 16403, i16 16385, i16 16892, i16 16892, i16 16403, i16 16388, i16 16892, i16 16892, i16 16394, i16 16385, i16 16892, i16 16892, i16 16394, i16 16388, i16 16892, i16 16892, i16 16390, i16 16385, i16 16892, i16 16892, i16 16390, i16 16388, i16 16892, i16 16892, i16 16444, i16 16385, i16 16892, i16 16892, i16 16444, i16 16388, i16 16892, i16 16892, i16 16433, i16 16385, i16 16892, i16 16892, i16 16433, i16 16388, i16 16892, i16 16892, i16 16448, i16 16385, i16 16892, i16 16892, i16 16448, i16 16388, i16 16892, i16 16909, i16 16395, i16 16388, i16 16909, i16 16909, i16 16416, i16 16385, i16 16909, i16 16909, i16 16416, i16 16388, i16 16909, i16 16892, i16 32766, i16 16388, i16 16892, i16 18705, i16 18643, i16 18708, i16 18705, i16 18699, i16 18643, i16 18711, i16 16384, i16 16917, i16 16389, i16 16388, i16 16917, i16 16917, i16 16395, i16 16385, i16 16917, i16 16917, i16 16395, i16 16388, i16 16917, i16 16917, i16 16390, i16 16385, i16 16917, i16 16917, i16 16390, i16 16388, i16 16917, i16 16917, i16 16444, i16 16385, i16 16917, i16 16917, i16 16444, i16 16388, i16 16917, i16 16917, i16 16452, i16 16385, i16 16917, i16 16917, i16 16452, i16 16388, i16 16917, i16 16917, i16 16448, i16 16385, i16 16917, i16 16917, i16 16448, i16 16388, i16 16917, i16 16917, i16 16421, i16 16385, i16 16917, i16 16917, i16 16421, i16 16388, i16 16917, i16 16917, i16 16445, i16 16385, i16 16917, i16 16917, i16 16445, i16 16388, i16 16917, i16 18714, i16 18717, i16 18517, i16 18714, i16 18714, i16 18717, i16 18425, i16 18714, i16 16936, i16 16389, i16 16388, i16 16936, i16 16936, i16 16392, i16 16385, i16 16936, i16 16936, i16 16392, i16 16388, i16 16936, i16 16936, i16 16393, i16 16385, i16 16936, i16 16936, i16 16393, i16 16388, i16 16936, i16 16936, i16 16405, i16 16385, i16 16936, i16 16936, i16 16405, i16 16388, i16 16936, i16 16936, i16 16397, i16 16385, i16 16936, i16 16936, i16 16397, i16 16388, i16 16936, i16 16936, i16 16398, i16 16385, i16 16936, i16 16936, i16 16398, i16 16388, i16 16936, i16 16936, i16 16394, i16 16385, i16 16936, i16 16936, i16 16394, i16 16388, i16 16936, i16 16936, i16 16395, i16 16385, i16 16936, i16 16936, i16 16395, i16 16388, i16 16936, i16 16936, i16 16399, i16 16385, i16 16936, i16 16936, i16 16399, i16 16388, i16 16936, i16 16936, i16 16402, i16 16385, i16 16936, i16 16936, i16 16402, i16 16388, i16 16936, i16 16936, i16 16426, i16 16385, i16 16936, i16 16936, i16 16426, i16 16388, i16 16936, i16 16936, i16 16427, i16 16385, i16 16936, i16 16936, i16 16427, i16 16388, i16 16936, i16 16936, i16 16428, i16 16385, i16 16936, i16 16936, i16 16428, i16 16388, i16 16936, i16 16936, i16 16429, i16 16385, i16 16936, i16 16936, i16 16429, i16 16388, i16 16936, i16 16936, i16 16404, i16 16385, i16 16936, i16 16936, i16 16404, i16 16388, i16 16936, i16 16936, i16 16400, i16 16385, i16 16936, i16 16936, i16 16400, i16 16388, i16 16936, i16 16936, i16 16396, i16 16385, i16 16936, i16 16936, i16 16396, i16 16388, i16 16936, i16 16936, i16 16406, i16 16385, i16 16936, i16 16936, i16 16406, i16 16388, i16 16936, i16 16936, i16 16446, i16 16385, i16 16936, i16 16936, i16 16446, i16 16388, i16 16936, i16 16936, i16 16444, i16 16385, i16 16936, i16 16936, i16 16444, i16 16388, i16 16936, i16 16936, i16 16449, i16 16385, i16 16936, i16 16936, i16 16449, i16 16388, i16 16936, i16 16936, i16 16391, i16 16385, i16 16936, i16 16936, i16 16391, i16 16388, i16 16936, i16 16936, i16 16430, i16 16385, i16 16936, i16 16936, i16 16430, i16 16388, i16 16936, i16 16936, i16 16442, i16 16385, i16 16936, i16 16936, i16 16442, i16 16388, i16 16936, i16 16936, i16 16421, i16 16385, i16 16936, i16 16936, i16 16421, i16 16388, i16 16936, i16 16936, i16 16401, i16 16385, i16 16936, i16 16936, i16 16401, i16 16388, i16 16936, i16 16936, i16 16422, i16 16385, i16 16936, i16 16936, i16 16422, i16 16388, i16 16936, i16 16936, i16 16423, i16 16385, i16 16936, i16 16936, i16 16423, i16 16388, i16 16936, i16 16936, i16 16425, i16 16385, i16 16936, i16 16936, i16 16425, i16 16388, i16 16936, i16 16936, i16 16424, i16 16385, i16 16936, i16 16936, i16 16424, i16 16388, i16 16936, i16 16936, i16 16441, i16 16385, i16 16936, i16 16936, i16 16441, i16 16388, i16 16936, i16 16999, i16 16389, i16 16388, i16 16999, i16 16999, i16 16396, i16 16385, i16 16999, i16 16999, i16 16396, i16 16388, i16 16999, i16 16999, i16 16444, i16 16385, i16 16999, i16 16999, i16 16444, i16 16388, i16 16999, i16 17006, i16 16389, i16 16388, i16 17006, i16 17006, i16 16392, i16 16385, i16 17006, i16 17006, i16 16392, i16 16388, i16 17006, i16 17006, i16 16393, i16 16385, i16 17006, i16 17006, i16 16393, i16 16388, i16 17006, i16 17006, i16 16394, i16 16385, i16 17006, i16 17006, i16 16394, i16 16388, i16 17006, i16 17006, i16 16402, i16 16385, i16 17006, i16 17006, i16 16402, i16 16388, i16 17006, i16 17006, i16 16390, i16 16385, i16 17006, i16 17006, i16 16390, i16 16388, i16 17006, i16 17006, i16 16444, i16 16385, i16 17006, i16 17006, i16 16444, i16 16388, i16 17006, i16 17021, i16 16389, i16 16388, i16 17021, i16 17021, i16 16402, i16 16385, i16 17021, i16 17021, i16 16402, i16 16388, i16 17021, i16 17021, i16 16390, i16 16385, i16 17021, i16 17021, i16 16390, i16 16388, i16 17021, i16 17028, i16 16389, i16 16388, i16 17028, i16 17028, i16 16392, i16 16385, i16 17028, i16 17028, i16 16392, i16 16388, i16 17028, i16 17028, i16 16393, i16 16385, i16 17028, i16 17028, i16 16393, i16 16388, i16 17028, i16 17028, i16 16394, i16 16385, i16 17028, i16 17028, i16 16394, i16 16388, i16 17028, i16 17028, i16 16402, i16 16385, i16 17028, i16 17028, i16 16402, i16 16388, i16 17028, i16 17028, i16 16400, i16 16385, i16 17028, i16 17028, i16 16400, i16 16388, i16 17028, i16 17028, i16 16396, i16 16385, i16 17028, i16 17028, i16 16396, i16 16388, i16 17028, i16 17028, i16 16390, i16 16385, i16 17028, i16 17028, i16 16390, i16 16388, i16 17028, i16 17028, i16 16444, i16 16385, i16 17028, i16 17028, i16 16444, i16 16388, i16 17028, i16 17047, i16 16389, i16 16388, i16 17047, i16 17047, i16 16392, i16 16385, i16 17047, i16 17047, i16 16392, i16 16388, i16 17047, i16 17047, i16 16394, i16 16385, i16 17047, i16 17047, i16 16394, i16 16388, i16 17047, i16 17047, i16 16390, i16 16385, i16 17047, i16 17047, i16 16390, i16 16388, i16 17047, i16 17047, i16 16444, i16 16385, i16 17047, i16 17047, i16 16444, i16 16388, i16 17047, i16 17047, i16 16452, i16 16385, i16 17047, i16 17047, i16 16452, i16 16388, i16 17047, i16 17047, i16 16445, i16 16385, i16 17047, i16 17047, i16 16445, i16 16388, i16 17047, i16 17062, i16 16395, i16 16388, i16 17062, i16 32766, i16 32766, i16 16384, i16 32766, i16 17064, i16 32766, i16 16384, i16 17064, i16 17073, i16 32766, i16 16384, i16 17073, i16 17074, i16 32766, i16 16384, i16 17074, i16 17075, i16 32766, i16 16384, i16 17075, i16 17076, i16 32766, i16 16384, i16 17076, i16 17077, i16 32766, i16 16384, i16 17077, i16 17078, i16 32766, i16 16384, i16 17078, i16 17079, i16 32766, i16 16384, i16 17079, i16 17080, i16 32766, i16 16384, i16 17080, i16 17081, i16 32766, i16 16384, i16 17081, i16 16384, i16 16384, i16 16384, i16 17133, i16 16384, i16 16384, i16 16384, i16 17135, i16 16384, i16 16384, i16 16384, i16 17197, i16 16384, i16 16384, i16 16384, i16 16384, i16 32766, i16 16385, i16 16453, i16 32766, i16 17723, i16 16385, i16 16454, i16 17723, i16 17723, i16 16388, i16 16453, i16 17723, i16 17723, i16 16388, i16 16454, i16 17723, i16 17727, i16 16388, i16 16453, i16 17727, i16 17729, i16 16388, i16 16453, i16 17729, i16 17731, i16 16388, i16 16453, i16 17731, i16 17733, i16 16385, i16 16454, i16 17733, i16 17733, i16 16388, i16 16453, i16 17733, i16 17733, i16 16388, i16 16454, i16 17733, i16 17737, i16 16388, i16 16453, i16 17737, i16 17739, i16 16385, i16 16454, i16 17739, i16 17739, i16 16388, i16 16453, i16 17739, i16 17739, i16 16388, i16 16454, i16 17739, i16 17743, i16 16388, i16 16453, i16 17743, i16 17745, i16 16385, i16 16454, i16 17745, i16 17745, i16 16385, i16 16455, i16 17745, i16 17745, i16 16388, i16 16453, i16 17745, i16 17745, i16 16388, i16 16454, i16 17745, i16 17745, i16 16388, i16 16455, i16 17745, i16 17745, i16 16388, i16 16456, i16 17745, i16 17752, i16 16388, i16 16453, i16 17752, i16 17754, i16 16388, i16 16453, i16 17754, i16 17756, i16 16388, i16 16453, i16 17756, i16 17758, i16 16388, i16 16453, i16 17758, i16 17760, i16 16388, i16 16453, i16 17760, i16 17762, i16 16385, i16 16454, i16 17762, i16 17762, i16 16388, i16 16453, i16 17762, i16 17762, i16 16388, i16 16454, i16 17762, i16 17766, i16 16388, i16 16453, i16 17766, i16 17768, i16 16388, i16 16453, i16 17768, i16 17770, i16 16388, i16 16453, i16 17770, i16 17770, i16 16388, i16 32766, i16 17770, i16 17773, i16 16388, i16 16453, i16 17773, i16 17775, i16 16385, i16 16454, i16 17775, i16 17775, i16 16385, i16 16455, i16 17775, i16 17775, i16 16388, i16 16453, i16 17775, i16 17775, i16 16388, i16 16454, i16 17775, i16 17775, i16 16388, i16 16455, i16 17775, i16 17775, i16 16388, i16 16456, i16 17775, i16 17782, i16 16388, i16 16453, i16 17782, i16 17784, i16 16388, i16 16453, i16 17784, i16 17786, i16 16388, i16 16453, i16 17786, i16 17788, i16 16385, i16 16454, i16 17788, i16 17788, i16 16388, i16 16453, i16 17788, i16 17788, i16 16388, i16 16454, i16 17788, i16 32766, i16 16457, i16 16385, i16 32766, i16 17792, i16 16457, i16 16388, i16 17792, i16 17794, i16 16457, i16 16388, i16 17794, i16 17796, i16 16457, i16 16388, i16 17796, i16 17798, i16 16457, i16 16388, i16 17798, i16 17800, i16 16457, i16 16388, i16 17800, i16 17802, i16 16457, i16 16388, i16 17802, i16 17804, i16 16457, i16 16388, i16 17804, i16 17806, i16 16457, i16 16388, i16 17806, i16 17808, i16 16457, i16 16388, i16 17808, i16 17810, i16 16457, i16 16388, i16 17810, i16 17812, i16 16457, i16 16388, i16 17812, i16 17814, i16 16457, i16 16388, i16 17814, i16 17816, i16 16457, i16 16388, i16 17816, i16 17818, i16 16457, i16 16388, i16 17818, i16 17820, i16 16457, i16 16388, i16 17820, i16 17822, i16 16457, i16 16388, i16 17822, i16 17824, i16 16457, i16 16388, i16 17824, i16 17826, i16 16457, i16 16388, i16 17826, i16 17828, i16 16457, i16 16388, i16 17828, i16 17830, i16 16457, i16 16388, i16 17830, i16 17832, i16 16457, i16 16388, i16 17832, i16 17834, i16 16457, i16 16388, i16 17834, i16 17836, i16 16457, i16 16388, i16 17836, i16 17838, i16 16457, i16 16388, i16 17838, i16 17840, i16 16457, i16 16388, i16 17840, i16 17842, i16 16457, i16 16388, i16 17842, i16 17844, i16 16457, i16 16388, i16 17844, i16 17846, i16 16457, i16 16388, i16 17846, i16 17848, i16 16457, i16 16388, i16 17848, i16 17850, i16 16457, i16 16388, i16 17850, i16 17852, i16 16457, i16 16388, i16 17852, i16 17854, i16 16457, i16 16388, i16 17854, i16 17856, i16 16457, i16 16388, i16 17856, i16 17858, i16 16457, i16 16388, i16 17858, i16 17860, i16 16457, i16 16388, i16 17860, i16 17862, i16 16457, i16 16388, i16 17862, i16 17864, i16 16457, i16 16388, i16 17864, i16 17866, i16 16457, i16 16388, i16 17866, i16 17868, i16 16457, i16 16388, i16 17868, i16 17870, i16 16457, i16 16388, i16 17870, i16 17872, i16 16457, i16 16388, i16 17872, i16 32766, i16 16457, i16 16388, i16 32766, i16 17874, i16 16457, i16 16385, i16 17874, i16 17876, i16 16457, i16 16388, i16 17876, i16 17878, i16 16457, i16 16385, i16 17878, i16 17880, i16 16457, i16 16388, i16 17880, i16 17882, i16 16457, i16 16388, i16 17882, i16 17884, i16 16457, i16 16388, i16 17884, i16 17886, i16 16457, i16 16388, i16 17886, i16 17888, i16 16457, i16 16388, i16 17888, i16 17890, i16 16457, i16 16388, i16 17890, i16 17892, i16 16457, i16 16388, i16 17892, i16 17894, i16 16457, i16 16388, i16 17894, i16 32766, i16 16384, i16 16384, i16 32766, i16 17928, i16 32766, i16 16384, i16 17928, i16 17927, i16 32766, i16 16384, i16 17927, i16 17937, i16 32766, i16 16384, i16 17937, i16 17941, i16 32766, i16 16384, i16 17941, i16 17948, i16 32766, i16 16384, i16 17948, i16 17956, i16 32766, i16 16384, i16 17956, i16 17961, i16 32766, i16 16384, i16 17961, i16 17966, i16 32766, i16 16384, i16 17966, i16 17971, i16 32766, i16 16384, i16 17971, i16 17976, i16 32766, i16 16384, i16 17976, i16 17979, i16 32766, i16 16384, i16 17979, i16 17982, i16 32766, i16 16384, i16 17982, i16 17985, i16 32766, i16 16384, i16 17985, i16 17988, i16 32766, i16 16384, i16 17988, i16 17993, i16 32766, i16 16384, i16 17993, i16 17998, i16 32766, i16 16384, i16 17998, i16 18003, i16 32766, i16 16384, i16 18003, i16 18008, i16 32766, i16 16384, i16 18008, i16 18013, i16 32766, i16 16384, i16 18013, i16 18018, i16 32766, i16 16384, i16 18018, i16 18023, i16 32766, i16 16384, i16 18023, i16 18028, i16 32766, i16 16384, i16 18028, i16 18033, i16 32766, i16 16384, i16 18033, i16 18038, i16 32766, i16 16384, i16 18038, i16 18043, i16 32766, i16 16384, i16 18043, i16 18048, i16 32766, i16 16384, i16 18048, i16 18053, i16 32766, i16 16384, i16 18053, i16 18058, i16 32766, i16 16384, i16 18058, i16 18063, i16 32766, i16 16384, i16 18063, i16 18066, i16 32766, i16 16384, i16 18066, i16 18069, i16 32766, i16 16384, i16 18069, i16 16384, i16 16384, i16 32766, i16 32766, i16 18720, i16 18720, i16 18723, i16 18720, i16 18720, i16 18726, i16 18729, i16 18720, i16 18732, i16 18732, i16 18735, i16 18732, i16 18732, i16 18738, i16 18741, i16 18732, i16 18744, i16 18744, i16 18747, i16 18744, i16 18744, i16 18750, i16 18753, i16 18744, i16 18756, i16 18759, i16 18762, i16 18756, i16 18756, i16 18765, i16 18768, i16 18756, i16 18101, i16 32766, i16 16384, i16 18101, i16 18105, i16 32766, i16 16384, i16 18105, i16 18109, i16 32766, i16 16384, i16 18109, i16 18114, i16 32766, i16 16384, i16 18114, i16 18118, i16 32766, i16 16384, i16 18118, i16 18122, i16 32766, i16 16384, i16 18122, i16 18127, i16 32766, i16 16384, i16 18127, i16 18131, i16 32766, i16 16384, i16 18131, i16 18135, i16 32766, i16 16384, i16 18135, i16 18140, i16 32766, i16 16384, i16 18140, i16 18144, i16 32766, i16 16384, i16 18144, i16 18148, i16 32766, i16 16384, i16 18148, i16 18152, i16 32766, i16 16384, i16 18152, i16 18156, i16 32766, i16 16384, i16 18156, i16 18160, i16 32766, i16 16384, i16 18160, i16 18164, i16 32766, i16 16384, i16 18164, i16 18168, i16 32766, i16 16384, i16 18168, i16 18172, i16 32766, i16 16384, i16 18172, i16 18178, i16 32766, i16 16384, i16 18178, i16 18182, i16 32766, i16 16384, i16 18182, i16 18186, i16 32766, i16 16384, i16 18186, i16 18188, i16 32766, i16 16384, i16 18188, i16 18190, i16 32766, i16 16384, i16 18190, i16 18192, i16 32766, i16 16384, i16 18192, i16 18194, i16 32766, i16 16384, i16 18194, i16 18196, i16 32766, i16 16384, i16 18196, i16 18202, i16 32766, i16 16384, i16 18202, i16 18208, i16 32766, i16 16384, i16 18208, i16 18214, i16 32766, i16 16384, i16 18214, i16 18220, i16 32766, i16 16384, i16 18220, i16 18226, i16 32766, i16 16384, i16 18226, i16 18228, i16 32766, i16 16384, i16 18228, i16 18230, i16 32766, i16 16384, i16 18230, i16 18232, i16 32766, i16 16384, i16 18232, i16 18234, i16 32766, i16 16384, i16 18234, i16 18236, i16 32766, i16 16384, i16 18236, i16 18240, i16 32766, i16 16384, i16 18240, i16 18244, i16 32766, i16 16384, i16 18244, i16 18248, i16 32766, i16 16384, i16 18248, i16 18250, i16 32766, i16 16384, i16 18250, i16 18252, i16 32766, i16 16384, i16 18252, i16 18254, i16 32766, i16 16384, i16 18254, i16 18256, i16 32766, i16 16384, i16 18256, i16 18258, i16 32766, i16 16384, i16 18258, i16 18262, i16 32766, i16 16384, i16 18262, i16 18264, i16 32766, i16 16384, i16 18264, i16 18266, i16 32766, i16 16384, i16 18266, i16 18268, i16 32766, i16 16384, i16 18268, i16 32766, i16 32766, i16 16384, i16 16384, i16 16396, i16 32766, i16 16384, i16 16384, i16 16398, i16 32766, i16 16384, i16 16384, i16 16400, i16 32766, i16 16384, i16 16384, i16 16402, i16 32766, i16 16384, i16 16384, i16 16404, i16 32766, i16 16384, i16 16384, i16 16406, i16 32766, i16 16384, i16 16384, i16 16408, i16 32766, i16 16384, i16 16384, i16 16410, i16 32766, i16 16384, i16 16384, i16 16412, i16 32766, i16 16384, i16 16384, i16 16414, i16 32766, i16 16384, i16 16384, i16 16416, i16 32766, i16 16384, i16 16384, i16 16418, i16 32766, i16 16384, i16 16384, i16 16420, i16 32766, i16 16384, i16 16384, i16 16422, i16 32766, i16 16384, i16 16384, i16 16424, i16 32766, i16 16384, i16 16384, i16 16426, i16 32766, i16 16384, i16 16384, i16 16428, i16 32766, i16 16384, i16 16384, i16 16430, i16 32766, i16 16384, i16 16384, i16 16432, i16 32766, i16 16384, i16 16384, i16 16434, i16 32766, i16 16384, i16 16384, i16 16436, i16 32766, i16 16384, i16 16384, i16 16438, i16 32766, i16 16384, i16 16384, i16 16440, i16 32766, i16 16384, i16 16384, i16 16442, i16 32766, i16 16384, i16 16384, i16 16444, i16 32766, i16 16384, i16 16384, i16 16446, i16 32766, i16 16384, i16 16384, i16 16384, i16 32766, i16 16384, i16 16384, i16 16384, i16 16384, i16 32766, i16 16384, i16 16384, i16 32766, i16 16385, i16 16385, i16 32766, i16 16385, i16 16385, i16 16385, i16 16438, i16 16386, i16 16385, i16 16385, i16 16440, i16 16386, i16 16385, i16 16385, i16 16442, i16 16386, i16 16385, i16 16385, i16 16444, i16 16386, i16 16385, i16 16385, i16 16446, i16 16386, i16 16385, i16 16385, i16 16448, i16 16386, i16 16385, i16 16385, i16 16450, i16 16386, i16 16385, i16 16385, i16 16452, i16 16386, i16 16385, i16 16385, i16 16454, i16 16386, i16 16385, i16 16385, i16 16456, i16 16386, i16 16385, i16 16385, i16 32766, i16 16385, i16 16385, i16 16387, i16 16458, i16 16385, i16 16385, i16 16388, i16 16460, i16 16385, i16 16385, i16 16388, i16 16462, i16 16385, i16 16385, i16 16388, i16 16464, i16 16385, i16 16385, i16 16388, i16 16466, i16 16385, i16 16385, i16 16388, i16 16468, i16 16385, i16 16385, i16 16388, i16 16470, i16 16385, i16 16385, i16 16388, i16 16472, i16 16385, i16 16385, i16 16388, i16 16474, i16 16385, i16 16385, i16 16388, i16 16476, i16 16385, i16 16385, i16 16388, i16 16478, i16 16385, i16 16385, i16 16388, i16 16480, i16 16385, i16 16385, i16 16388, i16 16482, i16 16385, i16 16385, i16 16388, i16 16484, i16 16385, i16 16385, i16 16388, i16 16486, i16 16385, i16 16385, i16 16388, i16 16488, i16 16385, i16 16385, i16 16388, i16 16490, i16 16385, i16 16385, i16 16388, i16 16492, i16 16385, i16 16385, i16 16388, i16 16494, i16 16385, i16 16385, i16 16388, i16 16496, i16 16385, i16 16385, i16 16388, i16 16498, i16 16385, i16 16385, i16 16388, i16 16500, i16 16385, i16 16385, i16 16388, i16 16502, i16 16385, i16 16385, i16 16388, i16 16504, i16 16385, i16 16385, i16 16388, i16 16506, i16 16385, i16 16385, i16 16388, i16 16508, i16 16385, i16 16385, i16 16388, i16 17294, i16 16385, i16 16385, i16 16385, i16 17297, i16 16385, i16 16385, i16 16385, i16 17300, i16 16385, i16 16385, i16 16385, i16 17303, i16 16385, i16 16385, i16 16385, i16 17306, i16 16385, i16 16385, i16 16385, i16 17309, i16 16385, i16 16385, i16 16385, i16 17312, i16 16385, i16 16385, i16 16385, i16 17315, i16 16385, i16 16385, i16 16385, i16 17318, i16 16385, i16 16385, i16 16385, i16 17321, i16 16385, i16 16385, i16 16385, i16 17324, i16 16385, i16 16385, i16 16385, i16 17327, i16 16385, i16 16385, i16 16385, i16 17330, i16 16385, i16 16385, i16 16385, i16 17333, i16 16385, i16 16385, i16 16385, i16 17336, i16 16385, i16 16385, i16 16385, i16 17339, i16 16385, i16 16385, i16 16385, i16 17342, i16 16385, i16 16385, i16 16385, i16 17345, i16 16385, i16 16385, i16 16385, i16 17348, i16 16385, i16 16385, i16 16385, i16 17351, i16 16385, i16 16385, i16 16385, i16 17354, i16 16385, i16 16385, i16 16385, i16 17357, i16 16385, i16 16385, i16 16385, i16 17360, i16 16385, i16 16385, i16 16385, i16 17363, i16 16385, i16 16385, i16 16385, i16 17366, i16 16385, i16 16385, i16 16385, i16 17369, i16 16385, i16 16385, i16 16385, i16 17372, i16 16385, i16 16385, i16 16385, i16 17375, i16 16385, i16 16385, i16 16385, i16 17378, i16 16385, i16 16385, i16 16385, i16 17381, i16 16385, i16 16385, i16 16385, i16 17384, i16 16385, i16 16385, i16 16385, i16 17387, i16 16385, i16 16385, i16 16385, i16 17390, i16 16385, i16 16385, i16 16385, i16 17393, i16 16385, i16 16385, i16 16385, i16 17396, i16 16385, i16 16385, i16 16385, i16 17399, i16 16385, i16 16385, i16 16385, i16 17402, i16 16385, i16 16385, i16 16385, i16 17405, i16 16385, i16 16385, i16 16385, i16 17408, i16 16385, i16 16385, i16 16385, i16 17411, i16 16385, i16 16385, i16 16385, i16 17414, i16 16385, i16 16385, i16 16385, i16 17417, i16 16385, i16 16385, i16 16385, i16 17420, i16 16385, i16 16385, i16 16385, i16 17423, i16 16385, i16 16385, i16 16385, i16 17426, i16 16385, i16 16385, i16 16385, i16 17429, i16 16385, i16 16385, i16 16385, i16 17432, i16 16385, i16 16385, i16 16385, i16 17435, i16 16385, i16 16385, i16 16385, i16 17438, i16 16385, i16 16385, i16 16385, i16 17441, i16 16385, i16 16385, i16 16385, i16 17444, i16 16385, i16 16385, i16 16385, i16 17447, i16 16385, i16 16385, i16 16385, i16 17450, i16 16385, i16 16385, i16 16385, i16 17453, i16 16385, i16 16385, i16 16385, i16 17456, i16 16385, i16 16385, i16 16385, i16 17459, i16 16385, i16 16385, i16 16385, i16 17462, i16 16385, i16 16385, i16 16385, i16 17465, i16 16385, i16 16385, i16 16385, i16 17468, i16 16385, i16 16385, i16 16385, i16 17471, i16 16385, i16 16385, i16 16385, i16 17474, i16 16385, i16 16385, i16 16385, i16 17477, i16 16385, i16 16385, i16 16385, i16 17480, i16 16385, i16 16385, i16 16385, i16 17483, i16 16385, i16 16385, i16 16385, i16 17486, i16 16385, i16 16385, i16 16385, i16 17489, i16 16385, i16 16385, i16 16385, i16 17492, i16 16385, i16 16385, i16 16385, i16 17495, i16 16385, i16 16385, i16 16385, i16 17498, i16 16385, i16 16385, i16 16385, i16 17501, i16 16385, i16 16385, i16 16385, i16 17504, i16 16385, i16 16385, i16 16385, i16 17507, i16 16385, i16 16385, i16 16385, i16 17510, i16 16385, i16 16385, i16 16385, i16 17513, i16 16385, i16 16385, i16 16385, i16 17516, i16 16385, i16 16385, i16 16385, i16 17519, i16 16385, i16 16385, i16 16385, i16 17522, i16 16385, i16 16385, i16 16385, i16 17525, i16 16385, i16 16385, i16 16385, i16 17528, i16 16385, i16 16385, i16 16385, i16 17531, i16 16385, i16 16385, i16 16385, i16 17534, i16 16385, i16 16385, i16 16385, i16 17537, i16 16385, i16 16385, i16 16385, i16 17540, i16 16385, i16 16385, i16 16385, i16 17543, i16 16385, i16 16385, i16 16385, i16 17546, i16 16385, i16 16385, i16 16385, i16 17549, i16 16385, i16 16385, i16 16385, i16 17552, i16 16385, i16 16385, i16 16385, i16 17555, i16 16385, i16 16385, i16 16385, i16 17558, i16 16385, i16 16385, i16 16385, i16 17561, i16 16385, i16 16385, i16 16385, i16 17564, i16 16385, i16 16385, i16 16385, i16 17567, i16 16385, i16 16385, i16 16385, i16 17570, i16 16385, i16 16385, i16 16385, i16 17573, i16 16385, i16 16385, i16 16385, i16 17576, i16 16385, i16 16385, i16 16385, i16 17579, i16 16385, i16 16385, i16 16385, i16 17582, i16 16385, i16 16385, i16 16385, i16 17585, i16 16385, i16 16385, i16 16385, i16 17588, i16 16385, i16 16385, i16 16385, i16 17591, i16 16385, i16 16385, i16 16385, i16 17594, i16 16385, i16 16385, i16 16385, i16 17597, i16 16385, i16 16385, i16 16385, i16 17600, i16 16385, i16 16385, i16 16385, i16 17603, i16 16385, i16 16385, i16 16385, i16 17606, i16 16385, i16 16385, i16 16385, i16 17609, i16 16385, i16 16385, i16 16385, i16 17612, i16 16385, i16 16385, i16 16385, i16 17615, i16 16385, i16 16385, i16 16385, i16 17618, i16 16385, i16 16385, i16 16385, i16 17621, i16 16385, i16 16385, i16 16385, i16 17624, i16 16385, i16 16385, i16 16385, i16 17627, i16 16385, i16 16385, i16 16385, i16 17630, i16 16385, i16 16385, i16 16385, i16 17633, i16 16385, i16 16385, i16 16385, i16 17636, i16 16385, i16 16385, i16 16385, i16 17639, i16 16385, i16 16385, i16 16385, i16 17642, i16 16385, i16 16385, i16 16385, i16 17645, i16 16385, i16 16385, i16 16385, i16 17648, i16 16385, i16 16385, i16 16385, i16 17651, i16 16385, i16 16385, i16 16385, i16 17654, i16 16385, i16 16385, i16 16385, i16 17657, i16 16385, i16 16385, i16 16385, i16 17660, i16 16385, i16 16385, i16 16385, i16 17663, i16 16385, i16 16385, i16 16385, i16 17666, i16 16385, i16 16385, i16 16385, i16 17669, i16 16385, i16 16385, i16 16385, i16 17672, i16 16385, i16 16385, i16 16385, i16 17675, i16 16385, i16 16385, i16 16385, i16 17678, i16 16385, i16 16385, i16 16385, i16 17681, i16 16385, i16 16385, i16 16385, i16 17684, i16 16385, i16 16385, i16 16385, i16 17687, i16 16385, i16 16385, i16 16385, i16 17690, i16 16385, i16 16385, i16 16385, i16 17693, i16 16385, i16 16385, i16 16385, i16 17696, i16 16385, i16 16385, i16 16385, i16 17699, i16 16385, i16 16385, i16 16385, i16 17702, i16 16385, i16 16385, i16 16385, i16 17705, i16 16385, i16 16385, i16 16385, i16 17708, i16 16385, i16 16385, i16 16385, i16 17711, i16 16385, i16 16385, i16 16385, i16 17714, i16 16385, i16 16385, i16 16385, i16 17717, i16 16385, i16 16385, i16 16385, i16 17720, i16 16385, i16 16385, i16 16385, i16 17723, i16 16385, i16 16385, i16 16385, i16 17726, i16 16385, i16 16385, i16 16385, i16 17729, i16 16385, i16 16385, i16 16385, i16 17732, i16 16385, i16 16385, i16 16385, i16 17735, i16 16385, i16 16385, i16 16385, i16 17738, i16 16385, i16 16385, i16 16385, i16 17741, i16 16385, i16 16385, i16 16385, i16 17744, i16 16385, i16 16385, i16 16385, i16 17747, i16 16385, i16 16385, i16 16385, i16 17750, i16 16385, i16 16385, i16 16385, i16 17753, i16 16385, i16 16385, i16 16385, i16 17756, i16 16385, i16 16385, i16 16385, i16 17759, i16 16385, i16 16385, i16 16385, i16 17762, i16 16385, i16 16385, i16 16385, i16 17765, i16 16385, i16 16385, i16 16385, i16 17768, i16 16385, i16 16385, i16 16385, i16 17771, i16 16385, i16 16385, i16 16385, i16 17774, i16 16385, i16 16385, i16 16385, i16 17777, i16 16385, i16 16385, i16 16385, i16 17780, i16 16385, i16 16385, i16 16385, i16 17783, i16 16385, i16 16385, i16 16385, i16 17786, i16 16385, i16 16385, i16 16385, i16 17789, i16 16385, i16 16385, i16 16385, i16 17792, i16 16385, i16 16385, i16 16385, i16 17795, i16 16385, i16 16385, i16 16385, i16 17798, i16 16385, i16 16385, i16 16385, i16 17801, i16 16385, i16 16385, i16 16385, i16 17804, i16 16385, i16 16385, i16 16385, i16 17807, i16 16385, i16 16385, i16 16385, i16 17810, i16 16385, i16 16385, i16 16385, i16 17813, i16 16385, i16 16385, i16 16385, i16 17816, i16 16385, i16 16385, i16 16385, i16 17819, i16 16385, i16 16385, i16 16385, i16 17822, i16 16385, i16 16385, i16 16385, i16 17825, i16 16385, i16 16385, i16 16385, i16 17828, i16 16385, i16 16385, i16 16385, i16 17831, i16 16385, i16 16385, i16 16385, i16 17834, i16 16385, i16 16385, i16 16385, i16 17837, i16 16385, i16 16385, i16 16385, i16 17840, i16 16385, i16 16385, i16 16385, i16 17843, i16 16385, i16 16385, i16 16385, i16 17846, i16 16385, i16 16385, i16 16385, i16 17849, i16 16385, i16 16385, i16 16385, i16 17852, i16 16385, i16 16385, i16 16385, i16 17855, i16 16385, i16 16385, i16 16385, i16 17858, i16 16385, i16 16385, i16 16385, i16 17861, i16 16385, i16 16385, i16 16385, i16 17864, i16 16385, i16 16385, i16 16385, i16 17867, i16 16385, i16 16385, i16 16385, i16 17870, i16 16385, i16 16385, i16 16385, i16 17873, i16 16385, i16 16385, i16 16385, i16 17876, i16 16385, i16 16385, i16 16385, i16 17879, i16 16385, i16 16385, i16 16385, i16 17882, i16 16385, i16 16385, i16 16385, i16 17885, i16 16385, i16 16385, i16 16385, i16 17888, i16 16385, i16 16385, i16 16385, i16 17891, i16 16385, i16 16385, i16 16385, i16 17894, i16 16385, i16 16385, i16 16385, i16 17897, i16 16385, i16 16385, i16 16385, i16 17900, i16 16385, i16 16385, i16 16385, i16 17903, i16 16385, i16 16385, i16 16385, i16 17906, i16 16385, i16 16385, i16 16385, i16 17909, i16 16385, i16 16385, i16 16385, i16 17912, i16 16385, i16 16385, i16 16385, i16 17915, i16 16385, i16 16385, i16 16385, i16 17918, i16 16385, i16 16385, i16 16385, i16 17921, i16 16385, i16 16385, i16 16385, i16 17924, i16 16385, i16 16385, i16 16385, i16 17927, i16 16385, i16 16385, i16 16385, i16 17930, i16 16385, i16 16385, i16 16385, i16 17933, i16 16385, i16 16385, i16 16385, i16 17936, i16 16385, i16 16385, i16 16385, i16 17939, i16 16385, i16 16385, i16 16385, i16 17942, i16 16385, i16 16385, i16 16385, i16 17945, i16 16385, i16 16385, i16 16385, i16 17948, i16 16385, i16 16385, i16 16385, i16 17951, i16 16385, i16 16385, i16 16385, i16 16779, i16 16385, i16 16385, i16 16389, i16 32767, i16 16384, i16 16384, i16 16384, i16 17284, i16 17285, i16 0, i16 895, i16 895, i16 0, i16 17273, i16 17273, i16 0, i16 16434, i16 16428, i16 0, i16 16393, i16 16393, i16 0, i16 97, i16 905, i16 0, i16 14, i16 14, i16 0, i16 3, i16 3, i16 0, i16 4, i16 3, i16 0, i16 5, i16 3, i16 0, i16 6, i16 3, i16 0, i16 16425, i16 16428, i16 0, i16 16433, i16 17283, i16 0, i16 16437, i16 16437, i16 0, i16 16481, i16 17289, i16 0, i16 16398, i16 16398, i16 0, i16 91, i16 906, i16 0, i16 14, i16 13, i16 0, i16 3, i16 4, i16 0, i16 4, i16 4, i16 0, i16 14, i16 890, i16 0, i16 14, i16 892, i16 0, i16 16488, i16 16488, i16 0, i16 17279, i16 17279, i16 0, i16 16488, i16 16492, i16 0, i16 16492, i16 16492, i16 0, i16 17797, i16 17797, i16 0, i16 16393, i16 17601, i16 0, i16 16393, i16 17600, i16 0, i16 16393, i16 17273, i16 0, i16 17273, i16 16393, i16 0, i16 17273, i16 17601, i16 0, i16 17273, i16 17600, i16 0, i16 17798, i16 17798, i16 0, i16 17799, i16 17799, i16 0, i16 16393, i16 17796, i16 0, i16 16393, i16 17795, i16 0, i16 16393, i16 17794, i16 0, i16 16393, i16 17793, i16 0, i16 17273, i16 17796, i16 0, i16 17273, i16 17795, i16 0, i16 17273, i16 17794, i16 0, i16 17273, i16 17793, i16 0, i16 17800, i16 17800, i16 0, i16 17801, i16 17801, i16 0, i16 17802, i16 17802, i16 0, i16 17804, i16 17804, i16 0, i16 17805, i16 17805, i16 0, i16 17807, i16 17807, i16 0, i16 16475, i16 17934, i16 0, i16 16387, i16 16388, i16 0, i16 16388, i16 16388, i16 0, i16 16475, i16 17289, i16 0, i16 16398, i16 17274, i16 0, i16 16398, i16 17276, i16 0, i16 16475, i16 17290, i16 0, i16 16458, i16 17935, i16 17290, i16 16475, i16 0, i16 17279, i16 17279, i16 17279, i16 17279, i16 0, i16 16389, i16 16390, i16 16388, i16 16387, i16 0, i16 17296, i16 17302, i16 0, i16 17329, i16 17279, i16 0, i16 17296, i16 17303, i16 0, i16 17311, i16 17334, i16 0, i16 17314, i16 17334, i16 0, i16 17193, i16 17193, i16 0, i16 2, i16 2, i16 0, i16 17200, i16 17200, i16 0, i16 17193, i16 18178, i16 0, i16 17201, i16 17201, i16 0, i16 17193, i16 17285, i16 0, i16 17202, i16 17202, i16 0, i16 17193, i16 17193, i16 18178, i16 0, i16 2, i16 2, i16 2, i16 0, i16 17203, i16 17203, i16 17203, i16 0, i16 17193, i16 17193, i16 17285, i16 0, i16 17204, i16 17204, i16 17204, i16 0, i16 18178, i16 17267, i16 0, i16 881, i16 881, i16 0, i16 16385, i16 16385, i16 0, i16 18080, i16 18080, i16 0, i16 17408, i16 17427, i16 0, i16 17410, i16 17410, i16 0, i16 17408, i16 17408, i16 0, i16 18080, i16 17425, i16 0, i16 17426, i16 17426, i16 0, i16 17851, i16 17736, i16 0, i16 1467, i16 1352, i16 0, i16 17901, i16 17901, i16 0, i16 1467, i16 1353, i16 0, i16 17902, i16 17902, i16 0, i16 17851, i16 17738, i16 0, i16 1467, i16 1354, i16 0, i16 17903, i16 17903, i16 0, i16 1467, i16 1355, i16 0, i16 17904, i16 17904, i16 0, i16 17851, i16 17741, i16 0, i16 1467, i16 1357, i16 0, i16 17905, i16 17905, i16 0, i16 1467, i16 1358, i16 0, i16 17906, i16 17906, i16 0, i16 17851, i16 17745, i16 0, i16 1467, i16 1362, i16 0, i16 17907, i16 17907, i16 0, i16 1467, i16 1363, i16 0, i16 17908, i16 17908, i16 0, i16 17065, i16 17148, i16 0, i16 1770, i16 1770, i16 0, i16 1772, i16 1772, i16 0, i16 1774, i16 1774, i16 0, i16 17311, i16 17205, i16 0, i16 1814, i16 1814, i16 0, i16 17325, i16 17148, i16 0, i16 1830, i16 1830, i16 0, i16 17427, i16 17220, i16 0, i16 1840, i16 1840, i16 0, i16 16470, i16 16579, i16 0, i16 16530, i16 16530, i16 0, i16 16532, i16 16532, i16 0, i16 16534, i16 16534, i16 0, i16 16630, i16 16630, i16 0, i16 16389, i16 16389, i16 0, i16 16637, i16 16637, i16 0, i16 16630, i16 16681, i16 0, i16 16638, i16 16638, i16 0, i16 16630, i16 16739, i16 0, i16 16639, i16 16639, i16 0, i16 16630, i16 16630, i16 16681, i16 0, i16 16389, i16 16389, i16 16389, i16 0, i16 16640, i16 16640, i16 16640, i16 0, i16 16630, i16 16630, i16 16739, i16 0, i16 16641, i16 16641, i16 16641, i16 0, i16 16681, i16 16718, i16 0, i16 16716, i16 16716, i16 0, i16 16769, i16 16642, i16 0, i16 16789, i16 16789, i16 0, i16 16791, i16 16579, i16 0, i16 16859, i16 16859, i16 0, i16 16892, i16 16917, i16 0, i16 16894, i16 16894, i16 0, i16 16892, i16 16892, i16 0, i16 16388, i16 16915, i16 0, i16 16916, i16 16916, i16 0, i16 16917, i16 16661, i16 0, i16 16934, i16 16934, i16 0, i16 18043, i16 17928, i16 0, i16 18093, i16 18093, i16 0, i16 18043, i16 17929, i16 0, i16 18094, i16 18094, i16 0, i16 18043, i16 17930, i16 0, i16 18095, i16 18095, i16 0, i16 18043, i16 17931, i16 0, i16 18096, i16 18096, i16 0, i16 18043, i16 17933, i16 0, i16 18097, i16 18097, i16 0, i16 18043, i16 17934, i16 0, i16 18098, i16 18098, i16 0, i16 18043, i16 17937, i16 0, i16 18043, i16 17938, i16 0, i16 18099, i16 18099, i16 0, i16 18043, i16 17939, i16 0, i16 18100, i16 18100, i16 0, i16 16510, i16 16788, i16 0, i16 16510, i16 16789, i16 0, i16 16510, i16 16790, i16 0, i16 16510, i16 16791, i16 0, i16 16510, i16 16792, i16 0, i16 16516, i16 16788, i16 0, i16 16516, i16 16789, i16 0, i16 16516, i16 16790, i16 0, i16 16516, i16 16791, i16 0, i16 16516, i16 16792, i16 0, i16 16522, i16 16788, i16 0, i16 16522, i16 16789, i16 0, i16 16522, i16 16790, i16 0, i16 16522, i16 16791, i16 0, i16 16522, i16 16792, i16 0, i16 16528, i16 16788, i16 0, i16 16528, i16 16789, i16 0, i16 16528, i16 16790, i16 0, i16 16528, i16 16791, i16 0, i16 16528, i16 16792, i16 0, i16 16534, i16 16788, i16 0, i16 16534, i16 16789, i16 0, i16 16534, i16 16790, i16 0, i16 16534, i16 16791, i16 0, i16 16534, i16 16792, i16 0, i16 16540, i16 16788, i16 0, i16 16540, i16 16789, i16 0, i16 16540, i16 16790, i16 0, i16 16540, i16 16791, i16 0, i16 16540, i16 16792, i16 0, i16 16546, i16 16788, i16 0, i16 16546, i16 16789, i16 0, i16 16546, i16 16790, i16 0, i16 16546, i16 16791, i16 0, i16 16546, i16 16792, i16 0, i16 16552, i16 16788, i16 0, i16 16552, i16 16789, i16 0, i16 16552, i16 16790, i16 0, i16 16552, i16 16791, i16 0, i16 16552, i16 16792, i16 0, i16 16558, i16 16788, i16 0, i16 16558, i16 16789, i16 0, i16 16558, i16 16790, i16 0, i16 16558, i16 16791, i16 0, i16 16558, i16 16792, i16 0, i16 16564, i16 16788, i16 0, i16 16564, i16 16789, i16 0, i16 16564, i16 16790, i16 0, i16 16564, i16 16791, i16 0, i16 16564, i16 16792, i16 0, i16 16570, i16 16788, i16 0, i16 16570, i16 16789, i16 0, i16 16570, i16 16790, i16 0, i16 16570, i16 16791, i16 0, i16 16570, i16 16792, i16 0, i16 16576, i16 16788, i16 0, i16 16576, i16 16789, i16 0, i16 16576, i16 16790, i16 0, i16 16576, i16 16791, i16 0, i16 16576, i16 16792, i16 0, i16 16582, i16 16788, i16 0, i16 16582, i16 16789, i16 0, i16 16582, i16 16790, i16 0, i16 16582, i16 16791, i16 0, i16 16582, i16 16792, i16 0, i16 16588, i16 16788, i16 0, i16 16588, i16 16789, i16 0, i16 16588, i16 16790, i16 0, i16 16588, i16 16791, i16 0, i16 16588, i16 16792, i16 0, i16 16594, i16 16788, i16 0, i16 16594, i16 16789, i16 0, i16 16594, i16 16790, i16 0, i16 16594, i16 16791, i16 0, i16 16594, i16 16792, i16 0, i16 16600, i16 16788, i16 0, i16 16600, i16 16789, i16 0, i16 16600, i16 16790, i16 0, i16 16600, i16 16791, i16 0, i16 16600, i16 16792, i16 0, i16 16606, i16 16788, i16 0, i16 16606, i16 16789, i16 0, i16 16606, i16 16790, i16 0, i16 16606, i16 16791, i16 0, i16 16606, i16 16792, i16 0, i16 16612, i16 16788, i16 0, i16 16612, i16 16789, i16 0, i16 16612, i16 16790, i16 0, i16 16612, i16 16791, i16 0, i16 16612, i16 16792, i16 0, i16 16618, i16 16788, i16 0, i16 16618, i16 16789, i16 0, i16 16618, i16 16790, i16 0, i16 16618, i16 16791, i16 0, i16 16618, i16 16792, i16 0, i16 16624, i16 16788, i16 0, i16 16624, i16 16789, i16 0, i16 16624, i16 16790, i16 0, i16 16624, i16 16791, i16 0, i16 16624, i16 16792, i16 0, i16 16630, i16 16788, i16 0, i16 16630, i16 16789, i16 0, i16 16630, i16 16790, i16 0, i16 16630, i16 16791, i16 0, i16 16630, i16 16792, i16 0, i16 16636, i16 16788, i16 0, i16 16636, i16 16789, i16 0, i16 16636, i16 16790, i16 0, i16 16636, i16 16791, i16 0, i16 16636, i16 16792, i16 0, i16 16642, i16 16788, i16 0, i16 16642, i16 16789, i16 0, i16 16642, i16 16790, i16 0, i16 16642, i16 16791, i16 0, i16 16642, i16 16792, i16 0, i16 16648, i16 16788, i16 0, i16 16648, i16 16789, i16 0, i16 16648, i16 16790, i16 0, i16 16648, i16 16791, i16 0, i16 16648, i16 16792, i16 0, i16 16654, i16 16788, i16 0, i16 16654, i16 16789, i16 0, i16 16654, i16 16790, i16 0, i16 16654, i16 16791, i16 0, i16 16654, i16 16792, i16 0, i16 16660, i16 16788, i16 0, i16 16660, i16 16789, i16 0, i16 16660, i16 16790, i16 0, i16 16660, i16 16791, i16 0, i16 16660, i16 16792, i16 0, i16 16666, i16 16788, i16 0, i16 16666, i16 16789, i16 0, i16 16666, i16 16790, i16 0, i16 16666, i16 16791, i16 0, i16 16666, i16 16792, i16 0, i16 16672, i16 16788, i16 0, i16 16672, i16 16789, i16 0, i16 16672, i16 16790, i16 0, i16 16672, i16 16791, i16 0, i16 16672, i16 16792, i16 0, i16 16678, i16 16788, i16 0, i16 16678, i16 16789, i16 0, i16 16678, i16 16790, i16 0, i16 16678, i16 16791, i16 0, i16 16678, i16 16792, i16 0, i16 16684, i16 16788, i16 0, i16 16684, i16 16789, i16 0, i16 16684, i16 16790, i16 0, i16 16684, i16 16791, i16 0, i16 16684, i16 16792, i16 0, i16 16690, i16 16788, i16 0, i16 16690, i16 16789, i16 0, i16 16690, i16 16790, i16 0, i16 16690, i16 16791, i16 0, i16 16690, i16 16792, i16 0, i16 16696, i16 16788, i16 0, i16 16696, i16 16789, i16 0, i16 16696, i16 16790, i16 0, i16 16696, i16 16791, i16 0, i16 16696, i16 16792, i16 0, i16 16702, i16 16788, i16 0, i16 16702, i16 16789, i16 0, i16 16702, i16 16790, i16 0, i16 16702, i16 16791, i16 0, i16 16702, i16 16792, i16 0, i16 16708, i16 16788, i16 0, i16 16708, i16 16789, i16 0, i16 16708, i16 16790, i16 0, i16 16708, i16 16791, i16 0, i16 16708, i16 16792, i16 0, i16 16714, i16 16788, i16 0, i16 16714, i16 16789, i16 0, i16 16714, i16 16790, i16 0, i16 16714, i16 16791, i16 0, i16 16714, i16 16792, i16 0, i16 16721, i16 16788, i16 0, i16 16721, i16 16789, i16 0, i16 16721, i16 16790, i16 0, i16 16721, i16 16791, i16 0, i16 16721, i16 16792, i16 0, i16 16728, i16 16788, i16 0, i16 16728, i16 16789, i16 0, i16 16728, i16 16790, i16 0, i16 16728, i16 16791, i16 0, i16 16728, i16 16792, i16 0, i16 16734, i16 16788, i16 0, i16 16734, i16 16789, i16 0, i16 16734, i16 16790, i16 0, i16 16734, i16 16791, i16 0, i16 16734, i16 16792, i16 0, i16 16740, i16 16788, i16 0, i16 16740, i16 16789, i16 0, i16 16740, i16 16790, i16 0, i16 16740, i16 16791, i16 0, i16 16740, i16 16792, i16 0, i16 16746, i16 16788, i16 0, i16 16746, i16 16789, i16 0, i16 16746, i16 16790, i16 0, i16 16746, i16 16791, i16 0, i16 16746, i16 16792, i16 0, i16 16752, i16 16788, i16 0, i16 16752, i16 16789, i16 0, i16 16752, i16 16790, i16 0, i16 16752, i16 16791, i16 0, i16 16752, i16 16792, i16 0, i16 16758, i16 16788, i16 0, i16 16758, i16 16789, i16 0, i16 16758, i16 16790, i16 0, i16 16758, i16 16791, i16 0, i16 16758, i16 16792, i16 0, i16 16764, i16 16788, i16 0, i16 16764, i16 16789, i16 0, i16 16764, i16 16790, i16 0, i16 16764, i16 16791, i16 0, i16 16764, i16 16792, i16 0, i16 16770, i16 16788, i16 0, i16 16770, i16 16789, i16 0, i16 16770, i16 16790, i16 0, i16 16770, i16 16791, i16 0, i16 16770, i16 16792, i16 0, i16 14, i16 17, i16 8, i16 13, i16 15, i16 6, i16 12, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5, i16 10, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9, i16 7, i16 11, i16 0, i16 0, i16 16, i16 3, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4, i16 0, i16 1, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 15, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 168, i16 173, i16 100, i16 105, i16 110, i16 116, i16 125, i16 131, i16 140, i16 144, i16 146, i16 148, i16 151, i16 154, i16 160, i16 163, i16 120, i16 124, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 26, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 82, i16 114, i16 5, i16 119, i16 0, i16 32, i16 0, i16 136, i16 111, i16 6, i16 17, i16 8, i16 167, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 16, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 36, i16 0, i16 37, i16 0, i16 0, i16 0, i16 0, i16 0, i16 38, i16 0, i16 0, i16 0, i16 0, i16 39, i16 0, i16 40, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 55, i16 123, i16 129, i16 134, i16 139, i16 0, i16 52, i16 99, i16 104, i16 109, i16 115, i16 0, i16 0, i16 0, i16 0, i16 0, i16 77, i16 85, i16 89, i16 0, i16 170, i16 174, i16 178, i16 180, i16 147, i16 0, i16 0, i16 0, i16 0, i16 0, i16 35, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 25, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 61, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 80, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 58, i16 0, i16 0, i16 12, i16 0, i16 0, i16 0, i16 28, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 159, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 143, i16 145, i16 0, i16 0, i16 0, i16 0, i16 172, i16 177, i16 0, i16 0, i16 0, i16 0, i16 47, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 41, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 191, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 13, i16 0, i16 24, i16 51, i16 87, i16 93, i16 102, i16 70, i16 142, i16 175, i16 0, i16 76, i16 90, i16 72, i16 49, i16 4, i16 92, i16 53, i16 96, i16 0, i16 54, i16 0, i16 30, i16 97, i16 18, i16 31, i16 0, i16 0, i16 0, i16 79, i16 91, i16 10, i16 45, i16 0, i16 0, i16 0, i16 158, i16 33, i16 155, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9, i16 184, i16 81, i16 189, i16 196, i16 64, i16 94, i16 75, i16 88, i16 98, i16 66, i16 46, i16 63, i16 187, i16 84, i16 0, i16 50, i16 95, i16 101, i16 106, i16 150, i16 162, i16 133, i16 138, i16 169, i16 192, i16 126, i16 83, i16 183, i16 153, i16 135, i16 179, i16 112, i16 117, i16 122, i16 128, i16 132, i16 185, i16 194, i16 156, i16 195, i16 186, i16 200, i16 67, i16 176, i16 149, i16 181, i16 188, i16 57, i16 141, i16 121, i16 127, i16 130, i16 137, i16 103, i16 107, i16 113, i16 118, i16 56, i16 108, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 152, i16 43, i16 34, i16 7, i16 44, i16 171, i16 0, i16 0, i16 0, i16 165, i16 42, i16 166, i16 0, i16 0, i16 59, i16 19, i16 197, i16 199, i16 22, i16 20, i16 23, i16 21, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 48, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 27, i16 0, i16 0, i16 0, i16 182, i16 198, i16 60, i16 190, i16 62, i16 193, i16 65, i16 157, i16 161, i16 164, i16 69, i16 68, i16 71, i16 78, i16 74, i16 86, i16 0, i16 2, i16 29, i16 3, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 14, i16 73, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1292, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1197, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1199, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 557, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 597, i16 598, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 691, i16 692, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1211, i16 1210, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 701, i16 702, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 731, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 223, i16 230, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 245, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1198, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 268, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1298, i16 1296, i16 1297, i16 1295, i16 0, i16 0, i16 0, i16 0, i16 1569, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1570, i16 1571, i16 1572, i16 1573, i16 0, i16 0, i16 0, i16 0, i16 1106, i16 1107, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1661, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 246, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 247, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 250, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 251, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 253, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 269, i16 0, i16 0, i16 0, i16 270, i16 0, i16 0, i16 0, i16 376, i16 378, i16 379, i16 380, i16 0, i16 0, i16 0, i16 263, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 266, i16 267, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1290, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 581, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 584, i16 583, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 609, i16 610, i16 611, i16 612, i16 0, i16 0, i16 0, i16 0, i16 152, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1207, i16 1206, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 189, i16 0, i16 0, i16 0, i16 244, i16 0, i16 0, i16 0, i16 1224, i16 0, i16 0, i16 1223, i16 0, i16 0, i16 0, i16 0, i16 1226, i16 0, i16 0, i16 1225, i16 0, i16 0, i16 0, i16 0, i16 1228, i16 0, i16 0, i16 1227, i16 0, i16 0, i16 0, i16 0, i16 1230, i16 0, i16 0, i16 1229, i16 0, i16 0, i16 0, i16 0, i16 1232, i16 0, i16 0, i16 1231, i16 0, i16 0, i16 0, i16 0, i16 1234, i16 0, i16 0, i16 1233, i16 0, i16 0, i16 0, i16 0, i16 1241, i16 1240, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1243, i16 1242, i16 1205, i16 1204, i16 0, i16 0, i16 0, i16 0, i16 1247, i16 1246, i16 0, i16 0, i16 1249, i16 1248, i16 0, i16 0, i16 226, i16 228, i16 225, i16 0, i16 0, i16 0, i16 0, i16 0, i16 760, i16 0, i16 734, i16 0, i16 748, i16 0, i16 0, i16 260, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 264, i16 265, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 554, i16 0, i16 0, i16 0, i16 0, i16 552, i16 0, i16 0, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 0, i16 1069, i16 1070, i16 1071, i16 1079, i16 1072, i16 1081, i16 1657, i16 0, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 0, i16 564, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1076, i16 0, i16 0, i16 0, i16 0, i16 0, i16 577, i16 0, i16 1367, i16 1368, i16 1369, i16 1370, i16 1371, i16 1372, i16 1373, i16 0, i16 1127, i16 1125, i16 1124, i16 1126, i16 1128, i16 1129, i16 1130, i16 0, i16 1142, i16 1140, i16 1139, i16 1141, i16 1143, i16 1144, i16 1145, i16 0, i16 1196, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 256, i16 257, i16 255, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1024, i16 984, i16 489, i16 409, i16 0, i16 0, i16 487, i16 407, i16 258, i16 261, i16 259, i16 262, i16 0, i16 0, i16 0, i16 0, i16 1027, i16 987, i16 492, i16 412, i16 1028, i16 988, i16 1029, i16 989, i16 773, i16 0, i16 775, i16 825, i16 771, i16 822, i16 749, i16 800, i16 774, i16 776, i16 746, i16 766, i16 779, i16 786, i16 790, i16 794, i16 1032, i16 992, i16 500, i16 420, i16 1033, i16 993, i16 503, i16 424, i16 781, i16 792, i16 768, i16 769, i16 767, i16 821, i16 808, i16 0, i16 1037, i16 535, i16 534, i16 536, i16 1043, i16 545, i16 550, i16 1002, i16 526, i16 449, i16 529, i16 452, i16 1039, i16 999, i16 1041, i16 1001, i16 1038, i16 998, i16 521, i16 444, i16 525, i16 448, i16 527, i16 450, i16 271, i16 575, i16 576, i16 1075, i16 578, i16 579, i16 580, i16 1077, i16 1040, i16 1000, i16 1042, i16 1003, i16 531, i16 454, i16 532, i16 455, i16 1555, i16 1557, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1300, i16 1299, i16 0, i16 0, i16 0, i16 0, i16 1293, i16 1291, i16 1045, i16 1006, i16 539, i16 462, i16 542, i16 465, i16 546, i16 470, i16 791, i16 793, i16 798, i16 801, i16 802, i16 803, i16 804, i16 805, i16 1049, i16 1051, i16 1053, i16 1055, i16 1057, i16 1059, i16 1061, i16 1063, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 538, i16 461, i16 540, i16 463, i16 1044, i16 1005, i16 537, i16 460, i16 1050, i16 1052, i16 1054, i16 1056, i16 1058, i16 1060, i16 1062, i16 1064, i16 1306, i16 1305, i16 1308, i16 1307, i16 0, i16 0, i16 0, i16 0, i16 796, i16 730, i16 732, i16 733, i16 735, i16 737, i16 739, i16 741, i16 1565, i16 1566, i16 0, i16 0, i16 0, i16 0, i16 589, i16 590, i16 543, i16 544, i16 1637, i16 181, i16 213, i16 182, i16 224, i16 151, i16 799, i16 809, i16 813, i16 797, i16 0, i16 0, i16 0, i16 0, i16 290, i16 291, i16 0, i16 292, i16 293, i16 294, i16 295, i16 296, i16 547, i16 549, i16 472, i16 1048, i16 1009, i16 1047, i16 1008, i16 0, i16 551, i16 1074, i16 553, i16 555, i16 556, i16 558, i16 559, i16 560, i16 807, i16 758, i16 811, i16 810, i16 814, i16 816, i16 820, i16 823, i16 297, i16 298, i16 299, i16 300, i16 0, i16 0, i16 0, i16 0, i16 1065, i16 1067, i16 272, i16 273, i16 274, i16 275, i16 0, i16 0, i16 1066, i16 1068, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 561, i16 1567, i16 1568, i16 0, i16 0, i16 0, i16 0, i16 0, i16 562, i16 563, i16 565, i16 567, i16 568, i16 569, i16 570, i16 571, i16 819, i16 778, i16 780, i16 782, i16 783, i16 785, i16 787, i16 789, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 566, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1078, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 824, i16 826, i16 795, i16 818, i16 806, i16 817, i16 827, i16 0, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1108, i16 1109, i16 1088, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 572, i16 573, i16 574, i16 0, i16 0, i16 0, i16 0, i16 0, i16 828, i16 829, i16 830, i16 831, i16 832, i16 833, i16 834, i16 835, i16 1344, i16 1345, i16 1346, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1089, i16 695, i16 696, i16 697, i16 698, i16 1090, i16 1091, i16 585, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 836, i16 837, i16 839, i16 840, i16 841, i16 842, i16 843, i16 844, i16 838, i16 1131, i16 1132, i16 1134, i16 1133, i16 0, i16 1135, i16 1136, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 586, i16 587, i16 588, i16 1092, i16 1093, i16 593, i16 594, i16 595, i16 1100, i16 1101, i16 675, i16 676, i16 677, i16 678, i16 0, i16 0, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 845, i16 846, i16 847, i16 848, i16 849, i16 850, i16 851, i16 852, i16 591, i16 592, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 0, i16 596, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 853, i16 854, i16 855, i16 1137, i16 856, i16 1138, i16 857, i16 858, i16 599, i16 600, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 1117, i16 1118, i16 859, i16 860, i16 861, i16 862, i16 863, i16 864, i16 865, i16 866, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 1374, i16 1375, i16 1376, i16 1377, i16 1378, i16 1379, i16 1380, i16 1381, i16 1119, i16 1120, i16 1121, i16 1122, i16 1123, i16 0, i16 0, i16 0, i16 608, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 1632, i16 523, i16 1633, i16 1634, i16 1635, i16 533, i16 541, i16 1636, i16 867, i16 868, i16 869, i16 870, i16 871, i16 872, i16 873, i16 874, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 1382, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 875, i16 876, i16 877, i16 878, i16 879, i16 880, i16 881, i16 882, i16 620, i16 621, i16 622, i16 625, i16 626, i16 627, i16 628, i16 631, i16 365, i16 160, i16 192, i16 194, i16 191, i16 195, i16 241, i16 185, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 1390, i16 1391, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1646, i16 446, i16 1647, i16 1648, i16 1649, i16 456, i16 464, i16 1650, i16 623, i16 624, i16 633, i16 634, i16 629, i16 630, i16 1098, i16 1099, i16 883, i16 884, i16 885, i16 1153, i16 886, i16 1154, i16 887, i16 888, i16 374, i16 375, i16 158, i16 157, i16 234, i16 236, i16 238, i16 161, i16 1398, i16 1399, i16 1400, i16 1401, i16 1402, i16 1403, i16 1404, i16 0, i16 632, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 1146, i16 1147, i16 1148, i16 1150, i16 1149, i16 0, i16 1151, i16 1152, i16 1658, i16 1659, i16 1660, i16 954, i16 957, i16 959, i16 961, i16 964, i16 383, i16 0, i16 0, i16 0, i16 387, i16 388, i16 389, i16 390, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 391, i16 392, i16 219, i16 217, i16 0, i16 178, i16 180, i16 0, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 1163, i16 1164, i16 1165, i16 0, i16 0, i16 0, i16 0, i16 0, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 403, i16 402, i16 404, i16 405, i16 415, i16 414, i16 991, i16 416, i16 150, i16 159, i16 172, i16 215, i16 193, i16 216, i16 214, i16 169, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 1179, i16 1178, i16 1201, i16 1200, i16 0, i16 0, i16 0, i16 0, i16 413, i16 1642, i16 421, i16 422, i16 1643, i16 431, i16 1644, i16 1645, i16 674, i16 1094, i16 1095, i16 1096, i16 1097, i16 679, i16 680, i16 681, i16 164, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 167, i16 384, i16 438, i16 176, i16 377, i16 381, i16 382, i16 162, i16 423, i16 505, i16 426, i16 508, i16 429, i16 506, i16 427, i16 509, i16 168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 170, i16 171, i16 0, i16 0, i16 173, i16 174, i16 0, i16 0, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 430, i16 507, i16 428, i16 512, i16 434, i16 514, i16 436, i16 513, i16 177, i16 179, i16 212, i16 218, i16 156, i16 155, i16 165, i16 163, i16 690, i16 1102, i16 1103, i16 1104, i16 1105, i16 693, i16 694, i16 1110, i16 435, i16 433, i16 1035, i16 995, i16 520, i16 443, i16 0, i16 0, i16 1203, i16 1202, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1209, i16 1208, i16 0, i16 0, i16 0, i16 0, i16 1245, i16 1244, i16 699, i16 700, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 955, i16 956, i16 958, i16 0, i16 960, i16 0, i16 962, i16 963, i16 190, i16 474, i16 477, i16 1624, i16 1625, i16 481, i16 1626, i16 1627, i16 703, i16 1652, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 1215, i16 1214, i16 1213, i16 1212, i16 0, i16 0, i16 0, i16 0, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 965, i16 966, i16 968, i16 969, i16 277, i16 278, i16 280, i16 281, i16 711, i16 712, i16 713, i16 1653, i16 715, i16 716, i16 717, i16 718, i16 967, i16 276, i16 279, i16 1552, i16 1553, i16 1554, i16 0, i16 0, i16 971, i16 970, i16 972, i16 973, i16 974, i16 975, i16 977, i16 978, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 719, i16 720, i16 721, i16 722, i16 1654, i16 724, i16 725, i16 726, i16 466, i16 467, i16 1651, i16 183, i16 240, i16 184, i16 229, i16 332, i16 727, i16 1655, i16 1656, i16 0, i16 0, i16 0, i16 0, i16 0, i16 983, i16 994, i16 440, i16 439, i16 441, i16 442, i16 996, i16 231, i16 476, i16 396, i16 1016, i16 976, i16 475, i16 395, i16 1019, i16 979, i16 222, i16 393, i16 397, i16 1638, i16 1639, i16 401, i16 1640, i16 1641, i16 738, i16 742, i16 745, i16 0, i16 755, i16 0, i16 765, i16 777, i16 227, i16 187, i16 394, i16 175, i16 239, i16 154, i16 188, i16 153, i16 483, i16 482, i16 484, i16 485, i16 495, i16 494, i16 1031, i16 496, i16 740, i16 788, i16 736, i16 784, i16 761, i16 812, i16 763, i16 815, i16 997, i16 458, i16 457, i16 459, i16 1004, i16 468, i16 473, i16 469, i16 743, i16 744, i16 747, i16 750, i16 751, i16 752, i16 753, i16 754, i16 488, i16 408, i16 486, i16 406, i16 1026, i16 986, i16 1025, i16 985, i16 233, i16 0, i16 0, i16 0, i16 235, i16 237, i16 0, i16 0, i16 493, i16 1628, i16 501, i16 502, i16 1629, i16 510, i16 1630, i16 1631, i16 497, i16 417, i16 499, i16 419, i16 0, i16 0, i16 498, i16 418, i16 242, i16 220, i16 385, i16 386, i16 221, i16 243, i16 186, i16 166, i16 1011, i16 1010, i16 1012, i16 1013, i16 1014, i16 1015, i16 1017, i16 1018, i16 756, i16 757, i16 0, i16 759, i16 762, i16 764, i16 770, i16 772, i16 248, i16 0, i16 0, i16 0, i16 252, i16 0, i16 0, i16 0, i16 1020, i16 980, i16 1022, i16 982, i16 1021, i16 981, i16 480, i16 400, i16 254, i16 0, i16 0, i16 0, i16 249, i16 0, i16 0, i16 0, i16 1023, i16 1034, i16 517, i16 516, i16 518, i16 519, i16 1036, i16 232, i16 8, i16 13, i16 9, i16 5, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 14, i16 7, i16 11, i16 3, i16 6, i16 0, i16 0, i16 0, i16 0, i16 10, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 81, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8, i16 42, i16 98, i16 109, i16 122, i16 130, i16 140, i16 151, i16 164, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 35, i16 0, i16 108, i16 0, i16 110, i16 120, i16 125, i16 133, i16 0, i16 0, i16 0, i16 0, i16 15, i16 0, i16 141, i16 148, i16 112, i16 117, i16 160, i16 139, i16 149, i16 57, i16 167, i16 170, i16 174, i16 47, i16 60, i16 61, i16 39, i16 0, i16 0, i16 11, i16 92, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 43, i16 18, i16 0, i16 0, i16 10, i16 12, i16 51, i16 119, i16 93, i16 169, i16 172, i16 96, i16 0, i16 0, i16 28, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 23, i16 9, i16 0, i16 14, i16 66, i16 0, i16 67, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 32, i16 75, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 46, i16 147, i16 152, i16 156, i16 31, i16 0, i16 0, i16 157, i16 161, i16 0, i16 36, i16 0, i16 0, i16 0, i16 0, i16 0, i16 37, i16 22, i16 176, i16 0, i16 0, i16 38, i16 181, i16 63, i16 70, i16 48, i16 17, i16 0, i16 73, i16 74, i16 0, i16 0, i16 52, i16 102, i16 135, i16 155, i16 114, i16 171, i16 101, i16 173, i16 111, i16 121, i16 94, i16 127, i16 142, i16 103, i16 143, i16 104, i16 175, i16 180, i16 89, i16 62, i16 124, i16 71, i16 80, i16 83, i16 20, i16 49, i16 166, i16 95, i16 7, i16 106, i16 165, i16 26, i16 55, i16 153, i16 179, i16 154, i16 182, i16 56, i16 40, i16 41, i16 77, i16 158, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 79, i16 86, i16 0, i16 76, i16 82, i16 88, i16 0, i16 59, i16 69, i16 85, i16 99, i16 116, i16 131, i16 58, i16 68, i16 84, i16 97, i16 115, i16 128, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 78, i16 50, i16 87, i16 27, i16 33, i16 34, i16 123, i16 0, i16 44, i16 16, i16 24, i16 0, i16 25, i16 0, i16 3, i16 0, i16 45, i16 105, i16 107, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 126, i16 54, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 144, i16 177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 13, i16 21, i16 19, i16 0, i16 0, i16 53, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 29, i16 30, i16 129, i16 137, i16 146, i16 138, i16 134, i16 0, i16 0, i16 159, i16 178, i16 90, i16 118, i16 132, i16 163, i16 64, i16 72, i16 91, i16 113, i16 162, i16 145, i16 65, i16 150, i16 168, i16 100, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 136, i16 5, i16 6, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 592, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 161, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 172, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 167, i16 168, i16 169, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 170, i16 0, i16 171, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 714, i16 715, i16 864, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1505, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 524, i16 0, i16 525, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 581, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1348, i16 0, i16 0, i16 0, i16 1349, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1923, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 526, i16 527, i16 528, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 427, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 343, i16 344, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 290, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 594, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 742, i16 743, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1924, i16 146, i16 0, i16 1925, i16 0, i16 1926, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 232, i16 233, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 234, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 520, i16 521, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 522, i16 523, i16 0, i16 0, i16 0, i16 0, i16 0, i16 345, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 823, i16 824, i16 0, i16 0, i16 0, i16 0, i16 1762, i16 1763, i16 1772, i16 1773, i16 1824, i16 1825, i16 0, i16 0, i16 0, i16 0, i16 323, i16 324, i16 325, i16 326, i16 0, i16 0, i16 0, i16 0, i16 327, i16 0, i16 328, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1371, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 153, i16 154, i16 0, i16 0, i16 0, i16 0, i16 155, i16 0, i16 0, i16 0, i16 156, i16 0, i16 0, i16 0, i16 0, i16 0, i16 157, i16 158, i16 1148, i16 159, i16 1158, i16 1164, i16 1170, i16 0, i16 1187, i16 0, i16 1200, i16 1213, i16 0, i16 0, i16 0, i16 0, i16 1701, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 546, i16 0, i16 0, i16 0, i16 547, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 329, i16 0, i16 330, i16 0, i16 0, i16 331, i16 0, i16 0, i16 0, i16 332, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 333, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 358, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 225, i16 226, i16 0, i16 0, i16 227, i16 0, i16 228, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 229, i16 0, i16 230, i16 0, i16 0, i16 0, i16 231, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 1733, i16 1735, i16 1737, i16 1739, i16 0, i16 0, i16 0, i16 517, i16 518, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 519, i16 0, i16 0, i16 1310, i16 1311, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1312, i16 1313, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1314, i16 1315, i16 1316, i16 1317, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1353, i16 0, i16 1355, i16 0, i16 0, i16 0, i16 1358, i16 0, i16 0, i16 0, i16 0, i16 1362, i16 1363, i16 1366, i16 0, i16 0, i16 593, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 339, i16 340, i16 0, i16 0, i16 341, i16 342, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 348, i16 0, i16 0, i16 0, i16 0, i16 0, i16 349, i16 350, i16 351, i16 352, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 173, i16 174, i16 175, i16 176, i16 177, i16 0, i16 0, i16 180, i16 181, i16 0, i16 0, i16 0, i16 178, i16 179, i16 0, i16 0, i16 499, i16 500, i16 0, i16 0, i16 0, i16 501, i16 0, i16 0, i16 502, i16 0, i16 503, i16 504, i16 0, i16 0, i16 0, i16 282, i16 0, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 811, i16 812, i16 0, i16 0, i16 0, i16 0, i16 0, i16 894, i16 895, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 304, i16 305, i16 306, i16 307, i16 0, i16 0, i16 308, i16 309, i16 1700, i16 310, i16 0, i16 0, i16 311, i16 312, i16 313, i16 0, i16 1351, i16 1352, i16 1354, i16 1356, i16 1357, i16 1359, i16 1361, i16 1365, i16 1372, i16 1375, i16 1380, i16 1385, i16 1390, i16 1395, i16 1400, i16 0, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 75, i16 78, i16 76, i16 79, i16 77, i16 604, i16 605, i16 0, i16 658, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 672, i16 673, i16 674, i16 675, i16 676, i16 1364, i16 677, i16 678, i16 679, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1234, i16 1230, i16 1224, i16 1236, i16 1288, i16 1244, i16 1246, i16 1248, i16 1258, i16 1264, i16 1276, i16 1254, i16 0, i16 1280, i16 1292, i16 0, i16 1235, i16 1231, i16 1225, i16 1237, i16 1289, i16 1245, i16 1247, i16 1249, i16 1259, i16 1265, i16 1277, i16 1255, i16 0, i16 1281, i16 1293, i16 0, i16 476, i16 477, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1525, i16 1527, i16 1529, i16 1531, i16 1533, i16 1535, i16 1538, i16 1540, i16 1542, i16 1544, i16 1547, i16 1549, i16 1551, i16 1553, i16 1555, i16 0, i16 1526, i16 1528, i16 1530, i16 1532, i16 1534, i16 1536, i16 1539, i16 1541, i16 1543, i16 1545, i16 1548, i16 1550, i16 1552, i16 1554, i16 1556, i16 0, i16 505, i16 0, i16 0, i16 506, i16 0, i16 507, i16 508, i16 0, i16 0, i16 509, i16 510, i16 0, i16 0, i16 511, i16 512, i16 513, i16 514, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 515, i16 516, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1796, i16 1795, i16 881, i16 882, i16 885, i16 886, i16 1801, i16 1802, i16 1803, i16 903, i16 904, i16 1806, i16 1807, i16 905, i16 906, i16 907, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 1033, i16 1034, i16 1035, i16 1036, i16 1027, i16 1028, i16 1031, i16 1032, i16 1037, i16 1038, i16 1047, i16 1048, i16 1049, i16 1050, i16 1057, i16 1058, i16 778, i16 779, i16 780, i16 781, i16 782, i16 783, i16 784, i16 785, i16 870, i16 871, i16 876, i16 877, i16 972, i16 973, i16 966, i16 967, i16 529, i16 0, i16 530, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 0, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 1557, i16 1560, i16 1562, i16 1564, i16 1566, i16 1568, i16 1570, i16 1572, i16 1574, i16 1576, i16 1578, i16 1580, i16 1582, i16 1584, i16 1586, i16 1588, i16 1558, i16 1561, i16 1563, i16 1565, i16 1567, i16 1569, i16 1571, i16 1573, i16 1575, i16 1577, i16 1579, i16 1581, i16 1583, i16 1585, i16 1587, i16 1589, i16 279, i16 280, i16 281, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1818, i16 1819, i16 1830, i16 1831, i16 1007, i16 1008, i16 1832, i16 1833, i16 1013, i16 1014, i16 1834, i16 1835, i16 1029, i16 1030, i16 1838, i16 1839, i16 1055, i16 1056, i16 1098, i16 1099, i16 1090, i16 1091, i16 1100, i16 1101, i16 1088, i16 1089, i16 1096, i16 1097, i16 1852, i16 1853, i16 1854, i16 1855, i16 291, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 292, i16 0, i16 293, i16 0, i16 294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 548, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 0, i16 0, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 1318, i16 1319, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 295, i16 0, i16 296, i16 297, i16 0, i16 298, i16 299, i16 300, i16 301, i16 0, i16 0, i16 302, i16 0, i16 0, i16 0, i16 303, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 1836, i16 1837, i16 1053, i16 1054, i16 1045, i16 1046, i16 1051, i16 1052, i16 1086, i16 1087, i16 1846, i16 1847, i16 1066, i16 1067, i16 1074, i16 1075, i16 816, i16 817, i16 818, i16 819, i16 820, i16 1042, i16 1026, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 0, i16 0, i16 0, i16 0, i16 571, i16 0, i16 0, i16 0, i16 1844, i16 1845, i16 1094, i16 1095, i16 1862, i16 1863, i16 1126, i16 1127, i16 1128, i16 1877, i16 1878, i16 1881, i16 1882, i16 1879, i16 1880, i16 1040, i16 1590, i16 1592, i16 1594, i16 1596, i16 1598, i16 1600, i16 1602, i16 1604, i16 1606, i16 1608, i16 1610, i16 1612, i16 1614, i16 1616, i16 1618, i16 1620, i16 1591, i16 1593, i16 1595, i16 1597, i16 1599, i16 1601, i16 1603, i16 1605, i16 1607, i16 1609, i16 1611, i16 1613, i16 1615, i16 1617, i16 1619, i16 1621, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 314, i16 0, i16 0, i16 0, i16 0, i16 315, i16 0, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 0, i16 322, i16 0, i16 572, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 829, i16 830, i16 1790, i16 1791, i16 840, i16 841, i16 848, i16 849, i16 872, i16 873, i16 1799, i16 1800, i16 858, i16 859, i16 878, i16 879, i16 833, i16 834, i16 844, i16 845, i16 846, i16 847, i16 842, i16 843, i16 850, i16 851, i16 838, i16 839, i16 874, i16 875, i16 868, i16 869, i16 1860, i16 1861, i16 1858, i16 1859, i16 1864, i16 1865, i16 1866, i16 1867, i16 1868, i16 1869, i16 1121, i16 1122, i16 1119, i16 1120, i16 1134, i16 1135, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1350, i16 1452, i16 1457, i16 1462, i16 1467, i16 1472, i16 1477, i16 1482, i16 1487, i16 1490, i16 1493, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 74, i16 87, i16 120, i16 122, i16 119, i16 123, i16 143, i16 114, i16 94, i16 116, i16 683, i16 104, i16 141, i16 82, i16 117, i16 81, i16 1103, i16 0, i16 0, i16 0, i16 0, i16 1142, i16 1143, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1360, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1370, i16 0, i16 1622, i16 1624, i16 1626, i16 1628, i16 1630, i16 1632, i16 1634, i16 1636, i16 1638, i16 1640, i16 1642, i16 1644, i16 1646, i16 1648, i16 1650, i16 1652, i16 1367, i16 1368, i16 1369, i16 1373, i16 1374, i16 1376, i16 1377, i16 1378, i16 1379, i16 1381, i16 1382, i16 1383, i16 1384, i16 1386, i16 1387, i16 1388, i16 1623, i16 1625, i16 1627, i16 1629, i16 1631, i16 1633, i16 1635, i16 1637, i16 1639, i16 1641, i16 1643, i16 1645, i16 1647, i16 1649, i16 1651, i16 1653, i16 1112, i16 1113, i16 1124, i16 1125, i16 1136, i16 1137, i16 1130, i16 1131, i16 1132, i16 1133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 92, i16 1953, i16 730, i16 1954, i16 1955, i16 765, i16 810, i16 822, i16 837, i16 853, i16 884, i16 889, i16 1956, i16 919, i16 1957, i16 942, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 1887, i16 1810, i16 944, i16 1816, i16 952, i16 1820, i16 1828, i16 134, i16 1822, i16 1062, i16 1842, i16 1070, i16 1848, i16 1872, i16 1840, i16 1041, i16 1888, i16 1811, i16 945, i16 1817, i16 953, i16 1821, i16 1829, i16 133, i16 1823, i16 1063, i16 1843, i16 1071, i16 1849, i16 1873, i16 1841, i16 1129, i16 353, i16 0, i16 354, i16 0, i16 0, i16 355, i16 0, i16 0, i16 1889, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 865, i16 964, i16 965, i16 1072, i16 1073, i16 1076, i16 1077, i16 1078, i16 1079, i16 1082, i16 1083, i16 1080, i16 1081, i16 0, i16 718, i16 719, i16 356, i16 357, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 359, i16 360, i16 361, i16 362, i16 0, i16 0, i16 363, i16 364, i16 365, i16 366, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1389, i16 1391, i16 1392, i16 1393, i16 1394, i16 1396, i16 1397, i16 1398, i16 1399, i16 1401, i16 1402, i16 1404, i16 1405, i16 1407, i16 1408, i16 1410, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 1905, i16 445, i16 446, i16 1906, i16 447, i16 1907, i16 448, i16 449, i16 1908, i16 450, i16 451, i16 1909, i16 452, i16 453, i16 454, i16 1910, i16 1138, i16 1139, i16 1140, i16 1141, i16 1144, i16 1145, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 118, i16 1948, i16 729, i16 1949, i16 1950, i16 764, i16 809, i16 821, i16 836, i16 1794, i16 883, i16 888, i16 1951, i16 918, i16 1952, i16 941, i16 1654, i16 1656, i16 1658, i16 1660, i16 1662, i16 1664, i16 1666, i16 1668, i16 1670, i16 1672, i16 1674, i16 1676, i16 1678, i16 1680, i16 1682, i16 1684, i16 1655, i16 1657, i16 1659, i16 1661, i16 1663, i16 1665, i16 1667, i16 1669, i16 1671, i16 1673, i16 1675, i16 1677, i16 1679, i16 1681, i16 1683, i16 1685, i16 1911, i16 455, i16 456, i16 1912, i16 457, i16 458, i16 459, i16 1913, i16 1914, i16 460, i16 461, i16 1915, i16 462, i16 463, i16 464, i16 1916, i16 890, i16 891, i16 896, i16 897, i16 898, i16 899, i16 909, i16 910, i16 911, i16 912, i16 915, i16 916, i16 913, i16 914, i16 920, i16 921, i16 1403, i16 1406, i16 1409, i16 1412, i16 1417, i16 1422, i16 1427, i16 1432, i16 1437, i16 1442, i16 1447, i16 0, i16 0, i16 0, i16 0, i16 0, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 1411, i16 1413, i16 1414, i16 1415, i16 1416, i16 1418, i16 1419, i16 1420, i16 1421, i16 1423, i16 1424, i16 1425, i16 1426, i16 1428, i16 1429, i16 1430, i16 135, i16 334, i16 0, i16 0, i16 137, i16 139, i16 0, i16 0, i16 0, i16 0, i16 335, i16 336, i16 0, i16 0, i16 337, i16 338, i16 908, i16 1804, i16 1805, i16 1808, i16 1809, i16 1812, i16 1813, i16 929, i16 930, i16 939, i16 1814, i16 1815, i16 1826, i16 1827, i16 948, i16 949, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 655, i16 656, i16 657, i16 0, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 144, i16 132, i16 1750, i16 1751, i16 91, i16 145, i16 115, i16 96, i16 97, i16 1749, i16 943, i16 105, i16 1734, i16 1736, i16 1738, i16 89, i16 1686, i16 1688, i16 1690, i16 1692, i16 1537, i16 1546, i16 1559, i16 0, i16 0, i16 0, i16 0, i16 577, i16 578, i16 579, i16 580, i16 0, i16 1175, i16 1147, i16 1151, i16 1153, i16 1155, i16 1157, i16 1161, i16 1163, i16 1167, i16 1169, i16 1176, i16 1178, i16 1180, i16 1182, i16 1184, i16 1186, i16 1431, i16 1433, i16 1434, i16 1435, i16 1436, i16 1438, i16 1439, i16 1440, i16 1441, i16 1443, i16 1444, i16 1445, i16 1446, i16 1448, i16 1449, i16 1450, i16 1687, i16 1689, i16 1691, i16 1693, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 573, i16 574, i16 575, i16 576, i16 0, i16 922, i16 923, i16 924, i16 925, i16 931, i16 932, i16 933, i16 934, i16 937, i16 938, i16 935, i16 936, i16 968, i16 969, i16 970, i16 971, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 0, i16 0, i16 0, i16 0, i16 160, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1697, i16 86, i16 101, i16 127, i16 121, i16 128, i16 126, i16 98, i16 106, i16 108, i16 124, i16 130, i16 83, i16 1698, i16 90, i16 1699, i16 162, i16 163, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 164, i16 165, i16 166, i16 1190, i16 1192, i16 0, i16 1194, i16 1197, i16 1199, i16 1206, i16 1208, i16 1210, i16 1212, i16 1171, i16 1201, i16 1150, i16 1160, i16 1166, i16 1173, i16 1191, i16 1193, i16 1196, i16 1195, i16 1198, i16 1202, i16 1207, i16 1209, i16 1211, i16 1214, i16 1174, i16 1204, i16 1189, i16 1203, i16 1215, i16 0, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 1717, i16 1718, i16 1451, i16 1453, i16 1454, i16 1455, i16 1456, i16 1458, i16 1459, i16 1460, i16 1461, i16 1463, i16 1464, i16 1465, i16 1466, i16 1468, i16 1469, i16 1470, i16 428, i16 1890, i16 429, i16 1891, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 1892, i16 1893, i16 1894, i16 684, i16 1758, i16 702, i16 722, i16 1764, i16 1760, i16 1770, i16 1780, i16 766, i16 1784, i16 774, i16 788, i16 854, i16 1797, i16 862, i16 866, i16 685, i16 1759, i16 703, i16 723, i16 1765, i16 1761, i16 1771, i16 1781, i16 767, i16 1785, i16 775, i16 789, i16 855, i16 1798, i16 863, i16 867, i16 686, i16 687, i16 700, i16 701, i16 768, i16 769, i16 772, i16 773, i16 856, i16 857, i16 860, i16 861, i16 946, i16 947, i16 950, i16 951, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 798, i16 799, i16 790, i16 791, i16 792, i16 793, i16 776, i16 777, i16 1205, i16 1149, i16 1152, i16 1154, i16 1156, i16 1159, i16 1162, i16 1165, i16 1168, i16 1172, i16 1177, i16 1179, i16 1181, i16 1183, i16 1185, i16 1188, i16 182, i16 0, i16 0, i16 183, i16 184, i16 185, i16 186, i16 187, i16 99, i16 100, i16 188, i16 189, i16 102, i16 103, i16 190, i16 191, i16 439, i16 1895, i16 1896, i16 1897, i16 440, i16 1898, i16 1899, i16 1900, i16 441, i16 1901, i16 1902, i16 1903, i16 442, i16 1904, i16 443, i16 444, i16 1719, i16 1720, i16 1721, i16 1722, i16 1723, i16 1724, i16 1725, i16 1726, i16 1727, i16 1728, i16 1729, i16 1730, i16 475, i16 0, i16 0, i16 0, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 984, i16 985, i16 986, i16 987, i16 988, i16 989, i16 1471, i16 1473, i16 1474, i16 1475, i16 1476, i16 1478, i16 1479, i16 1480, i16 1481, i16 1483, i16 1484, i16 1485, i16 1486, i16 1488, i16 1489, i16 1491, i16 192, i16 193, i16 1702, i16 0, i16 0, i16 194, i16 195, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1216, i16 1218, i16 1220, i16 1222, i16 1228, i16 1232, i16 1238, i16 1240, i16 1242, i16 1250, i16 1252, i16 1256, i16 1260, i16 1262, i16 1266, i16 1268, i16 1217, i16 1219, i16 1221, i16 1223, i16 1229, i16 1233, i16 1239, i16 1241, i16 1243, i16 1251, i16 1253, i16 1257, i16 1261, i16 1263, i16 1267, i16 1269, i16 1731, i16 1740, i16 1741, i16 1742, i16 1743, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 85, i16 84, i16 136, i16 138, i16 140, i16 88, i16 196, i16 0, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 0, i16 208, i16 0, i16 1732, i16 0, i16 0, i16 0, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 131, i16 129, i16 209, i16 107, i16 109, i16 0, i16 1226, i16 1227, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 716, i16 717, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 746, i16 747, i16 753, i16 754, i16 755, i16 756, i16 761, i16 762, i16 465, i16 466, i16 1917, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 1918, i16 0, i16 0, i16 0, i16 0, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 0, i16 724, i16 725, i16 720, i16 721, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 690, i16 691, i16 980, i16 981, i16 978, i16 979, i16 997, i16 998, i16 999, i16 1000, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1492, i16 1494, i16 1495, i16 1496, i16 1497, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 0, i16 0, i16 0, i16 726, i16 727, i16 1774, i16 1775, i16 831, i16 832, i16 827, i16 828, i16 892, i16 893, i16 974, i16 975, i16 976, i16 977, i16 0, i16 0, i16 982, i16 983, i16 1921, i16 1922, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1102, i16 478, i16 0, i16 0, i16 0, i16 479, i16 0, i16 0, i16 0, i16 480, i16 0, i16 0, i16 0, i16 481, i16 0, i16 0, i16 0, i16 990, i16 991, i16 992, i16 993, i16 1092, i16 1093, i16 1084, i16 1085, i16 1104, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1503, i16 1504, i16 1506, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 482, i16 483, i16 484, i16 485, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 995, i16 1002, i16 1005, i16 1024, i16 1043, i16 1060, i16 1850, i16 1856, i16 1117, i16 1870, i16 1875, i16 110, i16 125, i16 111, i16 93, i16 80, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 996, i16 1003, i16 1006, i16 1025, i16 1044, i16 1061, i16 1851, i16 1857, i16 1118, i16 1871, i16 1876, i16 112, i16 142, i16 113, i16 95, i16 622, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 494, i16 495, i16 496, i16 0, i16 497, i16 498, i16 0, i16 0, i16 1768, i16 1769, i16 688, i16 689, i16 1766, i16 1767, i16 1776, i16 1777, i16 740, i16 741, i16 744, i16 745, i16 1778, i16 1779, i16 751, i16 752, i16 235, i16 0, i16 236, i16 0, i16 0, i16 0, i16 237, i16 0, i16 0, i16 0, i16 0, i16 238, i16 0, i16 0, i16 0, i16 0, i16 1009, i16 1010, i16 1011, i16 1012, i16 1064, i16 1065, i16 1068, i16 1069, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 757, i16 758, i16 759, i16 760, i16 804, i16 805, i16 802, i16 803, i16 806, i16 807, i16 794, i16 795, i16 800, i16 801, i16 813, i16 814, i16 1270, i16 1272, i16 1274, i16 1278, i16 1282, i16 1284, i16 1286, i16 1290, i16 1294, i16 1296, i16 1299, i16 1300, i16 1303, i16 1304, i16 1306, i16 1308, i16 1782, i16 1783, i16 1788, i16 1789, i16 770, i16 771, i16 796, i16 797, i16 1786, i16 1787, i16 786, i16 787, i16 825, i16 826, i16 1792, i16 1793, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 1271, i16 1273, i16 1275, i16 1279, i16 1283, i16 1285, i16 1287, i16 1291, i16 1295, i16 1297, i16 1298, i16 1301, i16 1302, i16 1305, i16 1307, i16 1309, i16 9, i16 11, i16 8, i16 5, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12, i16 7, i16 13, i16 3, i16 6, i16 0, i16 0, i16 0, i16 0, i16 14, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 181, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8, i16 38, i16 76, i16 84, i16 94, i16 104, i16 117, i16 126, i16 135, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 36, i16 0, i16 170, i16 0, i16 171, i16 176, i16 66, i16 74, i16 0, i16 0, i16 0, i16 0, i16 13, i16 0, i16 81, i16 86, i16 49, i16 50, i16 112, i16 82, i16 96, i16 51, i16 118, i16 120, i16 123, i16 40, i16 54, i16 134, i16 41, i16 0, i16 0, i16 11, i16 165, i16 0, i16 0, i16 0, i16 0, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 46, i16 18, i16 0, i16 0, i16 9, i16 12, i16 47, i16 90, i16 67, i16 138, i16 141, i16 71, i16 0, i16 0, i16 26, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 22, i16 10, i16 0, i16 14, i16 142, i16 0, i16 145, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 34, i16 150, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 39, i16 169, i16 98, i16 100, i16 29, i16 0, i16 0, i16 147, i16 110, i16 0, i16 37, i16 0, i16 0, i16 0, i16 0, i16 0, i16 32, i16 21, i16 65, i16 0, i16 0, i16 33, i16 122, i16 129, i16 136, i16 57, i16 17, i16 0, i16 139, i16 140, i16 0, i16 0, i16 55, i16 127, i16 149, i16 128, i16 151, i16 56, i16 44, i16 45, i16 172, i16 131, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 173, i16 179, i16 0, i16 61, i16 175, i16 99, i16 146, i16 180, i16 167, i16 160, i16 168, i16 63, i16 73, i16 97, i16 83, i16 106, i16 52, i16 108, i16 53, i16 132, i16 154, i16 68, i16 93, i16 116, i16 148, i16 70, i16 95, i16 20, i16 62, i16 158, i16 107, i16 7, i16 89, i16 133, i16 25, i16 80, i16 85, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 109, i16 174, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 19, i16 16, i16 0, i16 0, i16 48, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 27, i16 28, i16 103, i16 114, i16 121, i16 115, i16 91, i16 0, i16 0, i16 125, i16 155, i16 72, i16 101, i16 124, i16 157, i16 64, i16 79, i16 119, i16 137, i16 130, i16 111, i16 161, i16 143, i16 163, i16 113, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 92, i16 5, i16 6, i16 3, i16 144, i16 58, i16 152, i16 30, i16 31, i16 35, i16 78, i16 0, i16 42, i16 15, i16 23, i16 0, i16 24, i16 0, i16 4, i16 0, i16 43, i16 69, i16 166, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 153, i16 156, i16 159, i16 0, i16 60, i16 164, i16 178, i16 77, i16 88, i16 105, i16 59, i16 162, i16 177, i16 75, i16 87, i16 102, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 831, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1251, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 842, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 979, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 837, i16 838, i16 839, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 840, i16 0, i16 841, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 121, i16 122, i16 311, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1697, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1539, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1183, i16 0, i16 1184, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1240, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1540, i16 0, i16 0, i16 0, i16 1541, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1058, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1185, i16 1186, i16 1187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 975, i16 976, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 816, i16 811, i16 819, i16 818, i16 800, i16 821, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 929, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1253, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 815, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 167, i16 168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 771, i16 772, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 877, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1179, i16 1180, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1181, i16 1182, i16 0, i16 0, i16 0, i16 0, i16 0, i16 977, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 978, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 260, i16 261, i16 0, i16 0, i16 0, i16 0, i16 125, i16 126, i16 148, i16 149, i16 450, i16 451, i16 0, i16 0, i16 0, i16 0, i16 1563, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 823, i16 824, i16 0, i16 0, i16 0, i16 0, i16 825, i16 0, i16 0, i16 0, i16 826, i16 0, i16 0, i16 0, i16 0, i16 0, i16 827, i16 828, i16 1340, i16 829, i16 1350, i16 1356, i16 1362, i16 0, i16 1379, i16 0, i16 1392, i16 1405, i16 0, i16 0, i16 0, i16 0, i16 946, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 961, i16 962, i16 963, i16 964, i16 0, i16 0, i16 0, i16 0, i16 803, i16 0, i16 965, i16 0, i16 0, i16 0, i16 0, i16 804, i16 0, i16 805, i16 0, i16 0, i16 806, i16 0, i16 0, i16 0, i16 802, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 808, i16 0, i16 876, i16 0, i16 0, i16 0, i16 809, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 878, i16 879, i16 880, i16 881, i16 882, i16 883, i16 884, i16 885, i16 682, i16 684, i16 686, i16 688, i16 0, i16 0, i16 0, i16 0, i16 1205, i16 0, i16 0, i16 0, i16 1206, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 966, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 989, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 767, i16 768, i16 0, i16 0, i16 769, i16 0, i16 770, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1545, i16 0, i16 1547, i16 0, i16 0, i16 0, i16 1550, i16 0, i16 0, i16 0, i16 0, i16 1554, i16 1555, i16 1558, i16 0, i16 0, i16 79, i16 80, i16 81, i16 82, i16 83, i16 0, i16 0, i16 84, i16 85, i16 0, i16 0, i16 0, i16 843, i16 844, i16 0, i16 0, i16 1158, i16 1159, i16 0, i16 0, i16 0, i16 1160, i16 0, i16 0, i16 1161, i16 0, i16 1162, i16 1163, i16 0, i16 0, i16 0, i16 0, i16 1176, i16 1177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1178, i16 0, i16 0, i16 971, i16 972, i16 0, i16 0, i16 973, i16 974, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 980, i16 0, i16 0, i16 0, i16 0, i16 0, i16 981, i16 982, i16 983, i16 984, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1502, i16 1503, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1504, i16 1505, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1506, i16 1507, i16 1508, i16 1509, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1252, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1543, i16 1544, i16 1546, i16 1548, i16 1549, i16 1551, i16 1553, i16 1557, i16 1564, i16 1567, i16 1572, i16 1577, i16 1582, i16 1587, i16 1592, i16 0, i16 1317, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1092, i16 1093, i16 0, i16 1095, i16 0, i16 1097, i16 1098, i16 0, i16 1100, i16 1101, i16 0, i16 1103, i16 1104, i16 1105, i16 0, i16 0, i16 1108, i16 1109, i16 0, i16 1111, i16 1112, i16 1113, i16 0, i16 0, i16 1116, i16 1117, i16 0, i16 1119, i16 1120, i16 1121, i16 0, i16 0, i16 1135, i16 1136, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 391, i16 412, i16 410, i16 420, i16 440, i16 434, i16 791, i16 448, i16 556, i16 554, i16 564, i16 570, i16 646, i16 550, i16 531, i16 0, i16 392, i16 413, i16 411, i16 421, i16 441, i16 435, i16 787, i16 449, i16 557, i16 555, i16 565, i16 571, i16 647, i16 551, i16 653, i16 0, i16 1164, i16 0, i16 0, i16 1165, i16 0, i16 1166, i16 1167, i16 0, i16 0, i16 1168, i16 1169, i16 0, i16 0, i16 1170, i16 1171, i16 0, i16 1426, i16 1422, i16 1416, i16 1428, i16 1480, i16 1436, i16 1438, i16 1440, i16 1450, i16 1456, i16 1468, i16 1446, i16 0, i16 1472, i16 1484, i16 0, i16 1427, i16 1423, i16 1417, i16 1429, i16 1481, i16 1437, i16 1439, i16 1441, i16 1451, i16 1457, i16 1469, i16 1447, i16 0, i16 1473, i16 1485, i16 0, i16 921, i16 0, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 943, i16 735, i16 944, i16 945, i16 0, i16 0, i16 793, i16 947, i16 847, i16 788, i16 0, i16 0, i16 949, i16 950, i16 951, i16 0, i16 1717, i16 1719, i16 1721, i16 1723, i16 1725, i16 1727, i16 1730, i16 1732, i16 1734, i16 1736, i16 1739, i16 1741, i16 1743, i16 1745, i16 1747, i16 0, i16 1718, i16 1720, i16 1722, i16 1724, i16 1726, i16 1728, i16 1731, i16 1733, i16 1735, i16 1737, i16 1740, i16 1742, i16 1744, i16 1746, i16 1748, i16 0, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 707, i16 710, i16 708, i16 711, i16 709, i16 1263, i16 1264, i16 0, i16 248, i16 249, i16 0, i16 0, i16 0, i16 0, i16 0, i16 345, i16 346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 517, i16 518, i16 519, i16 520, i16 513, i16 514, i16 527, i16 528, i16 521, i16 522, i16 537, i16 538, i16 539, i16 540, i16 547, i16 548, i16 773, i16 0, i16 774, i16 0, i16 0, i16 0, i16 775, i16 0, i16 0, i16 0, i16 0, i16 776, i16 0, i16 0, i16 0, i16 0, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 1037, i16 1038, i16 1039, i16 1040, i16 1041, i16 1042, i16 1043, i16 1044, i16 1045, i16 1542, i16 1644, i16 1649, i16 1654, i16 1659, i16 1664, i16 1669, i16 1674, i16 1679, i16 1682, i16 1685, i16 1690, i16 1691, i16 1692, i16 1693, i16 1694, i16 268, i16 269, i16 272, i16 273, i16 281, i16 282, i16 289, i16 290, i16 319, i16 320, i16 329, i16 330, i16 305, i16 306, i16 327, i16 328, i16 780, i16 0, i16 985, i16 0, i16 0, i16 986, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 525, i16 526, i16 543, i16 544, i16 535, i16 536, i16 541, i16 542, i16 584, i16 585, i16 594, i16 595, i16 560, i16 561, i16 568, i16 569, i16 1552, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1562, i16 0, i16 274, i16 275, i16 285, i16 286, i16 287, i16 288, i16 283, i16 284, i16 291, i16 292, i16 279, i16 280, i16 321, i16 322, i16 315, i16 316, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1046, i16 1047, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 0, i16 0, i16 0, i16 0, i16 1814, i16 1816, i16 1818, i16 1820, i16 1822, i16 1824, i16 1826, i16 1828, i16 1830, i16 1832, i16 1834, i16 1836, i16 1838, i16 1840, i16 1842, i16 1844, i16 1559, i16 1560, i16 1561, i16 1565, i16 1566, i16 1568, i16 1569, i16 1570, i16 1571, i16 1573, i16 1574, i16 1575, i16 1576, i16 1578, i16 1579, i16 1580, i16 1815, i16 1817, i16 1819, i16 1821, i16 1823, i16 1825, i16 1827, i16 1829, i16 1831, i16 1833, i16 1835, i16 1837, i16 1839, i16 1841, i16 1843, i16 1845, i16 795, i16 784, i16 0, i16 0, i16 796, i16 797, i16 0, i16 0, i16 0, i16 0, i16 967, i16 968, i16 0, i16 0, i16 969, i16 970, i16 545, i16 546, i16 598, i16 599, i16 588, i16 589, i16 600, i16 601, i16 586, i16 587, i16 596, i16 597, i16 617, i16 618, i16 619, i16 620, i16 1314, i16 1315, i16 1316, i16 0, i16 1318, i16 801, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1059, i16 0, i16 1061, i16 0, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1070, i16 1071, i16 0, i16 0, i16 0, i16 1060, i16 1062, i16 1072, i16 1073, i16 1074, i16 1076, i16 1077, i16 1078, i16 1080, i16 1081, i16 1082, i16 1084, i16 1085, i16 1086, i16 1088, i16 1091, i16 807, i16 794, i16 699, i16 700, i16 814, i16 766, i16 762, i16 822, i16 817, i16 698, i16 409, i16 786, i16 683, i16 685, i16 687, i16 716, i16 1581, i16 1583, i16 1584, i16 1585, i16 1586, i16 1588, i16 1589, i16 1590, i16 1591, i16 1593, i16 1594, i16 1596, i16 1597, i16 1599, i16 1600, i16 1602, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1556, i16 1335, i16 1336, i16 1337, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1075, i16 0, i16 0, i16 0, i16 1079, i16 0, i16 0, i16 0, i16 1083, i16 0, i16 0, i16 0, i16 1087, i16 0, i16 1089, i16 1090, i16 1846, i16 1848, i16 1850, i16 1852, i16 1854, i16 1856, i16 1858, i16 1860, i16 1862, i16 1864, i16 1866, i16 1868, i16 1870, i16 1872, i16 1874, i16 1876, i16 1847, i16 1849, i16 1851, i16 1853, i16 1855, i16 1857, i16 1859, i16 1861, i16 1863, i16 1865, i16 1867, i16 1869, i16 1871, i16 1873, i16 1875, i16 1877, i16 312, i16 432, i16 433, i16 566, i16 567, i16 572, i16 573, i16 574, i16 575, i16 578, i16 579, i16 576, i16 577, i16 0, i16 131, i16 132, i16 1595, i16 1598, i16 1601, i16 1604, i16 1609, i16 1614, i16 1619, i16 1624, i16 1629, i16 1634, i16 1639, i16 0, i16 0, i16 0, i16 0, i16 0, i16 830, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 832, i16 833, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 834, i16 835, i16 836, i16 323, i16 324, i16 332, i16 333, i16 336, i16 337, i16 349, i16 350, i16 354, i16 357, i16 358, i16 367, i16 368, i16 359, i16 360, i16 361, i16 1603, i16 1605, i16 1606, i16 1607, i16 1608, i16 1610, i16 1611, i16 1612, i16 1613, i16 1615, i16 1616, i16 1617, i16 1618, i16 1620, i16 1621, i16 1622, i16 580, i16 581, i16 592, i16 593, i16 628, i16 629, i16 650, i16 651, i16 652, i16 665, i16 666, i16 669, i16 670, i16 678, i16 679, i16 530, i16 1094, i16 1096, i16 1099, i16 1102, i16 1106, i16 1107, i16 1110, i16 1114, i16 1115, i16 1118, i16 1122, i16 1125, i16 1134, i16 0, i16 0, i16 0, i16 77, i16 718, i16 764, i16 756, i16 810, i16 765, i16 739, i16 757, i16 820, i16 761, i16 88, i16 785, i16 781, i16 733, i16 760, i16 812, i16 845, i16 846, i16 948, i16 0, i16 0, i16 848, i16 849, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 78, i16 717, i16 720, i16 798, i16 759, i16 758, i16 755, i16 721, i16 743, i16 745, i16 792, i16 789, i16 713, i16 731, i16 712, i16 741, i16 850, i16 0, i16 851, i16 852, i16 853, i16 854, i16 855, i16 856, i16 857, i16 750, i16 752, i16 858, i16 859, i16 0, i16 813, i16 0, i16 341, i16 342, i16 347, i16 348, i16 351, i16 352, i16 363, i16 364, i16 369, i16 370, i16 373, i16 374, i16 371, i16 372, i16 378, i16 379, i16 1878, i16 1880, i16 1882, i16 1884, i16 1729, i16 1738, i16 1751, i16 0, i16 0, i16 0, i16 0, i16 1236, i16 1237, i16 1238, i16 1239, i16 0, i16 1367, i16 1339, i16 1343, i16 1345, i16 1347, i16 1349, i16 1353, i16 1355, i16 1359, i16 1361, i16 1368, i16 1370, i16 1372, i16 1374, i16 1376, i16 1378, i16 1623, i16 1625, i16 1626, i16 1627, i16 1628, i16 1630, i16 1631, i16 1632, i16 1633, i16 1635, i16 1636, i16 1637, i16 1638, i16 1640, i16 1641, i16 1642, i16 1879, i16 1881, i16 1883, i16 1885, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1232, i16 1233, i16 1234, i16 1235, i16 0, i16 91, i16 89, i16 109, i16 135, i16 129, i16 123, i16 146, i16 171, i16 199, i16 197, i16 207, i16 221, i16 301, i16 299, i16 309, i16 313, i16 603, i16 0, i16 0, i16 0, i16 0, i16 673, i16 674, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 92, i16 90, i16 110, i16 136, i16 130, i16 124, i16 147, i16 172, i16 200, i16 198, i16 208, i16 222, i16 302, i16 300, i16 310, i16 314, i16 93, i16 94, i16 107, i16 108, i16 201, i16 202, i16 205, i16 206, i16 303, i16 304, i16 307, i16 308, i16 414, i16 415, i16 418, i16 419, i16 861, i16 862, i16 863, i16 864, i16 865, i16 866, i16 867, i16 868, i16 869, i16 870, i16 871, i16 872, i16 873, i16 874, i16 875, i16 0, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 231, i16 232, i16 223, i16 224, i16 225, i16 226, i16 209, i16 210, i16 1123, i16 1124, i16 0, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1132, i16 1133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 612, i16 613, i16 648, i16 649, i16 660, i16 661, i16 654, i16 655, i16 656, i16 657, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1382, i16 1384, i16 0, i16 1386, i16 1389, i16 1391, i16 1398, i16 1400, i16 1402, i16 1404, i16 1363, i16 1393, i16 1342, i16 1352, i16 1358, i16 1365, i16 1383, i16 1385, i16 1388, i16 1387, i16 1390, i16 1394, i16 1399, i16 1401, i16 1403, i16 1406, i16 1366, i16 1396, i16 1381, i16 1395, i16 1407, i16 0, i16 362, i16 365, i16 366, i16 387, i16 388, i16 397, i16 398, i16 389, i16 390, i16 403, i16 405, i16 406, i16 456, i16 457, i16 416, i16 417, i16 1643, i16 1645, i16 1646, i16 1647, i16 1648, i16 1650, i16 1651, i16 1652, i16 1653, i16 1655, i16 1656, i16 1657, i16 1658, i16 1660, i16 1661, i16 1662, i16 1137, i16 0, i16 0, i16 0, i16 1138, i16 0, i16 0, i16 0, i16 1139, i16 0, i16 0, i16 0, i16 1140, i16 0, i16 0, i16 0, i16 626, i16 627, i16 624, i16 625, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 641, i16 642, i16 639, i16 640, i16 658, i16 659, i16 1141, i16 1142, i16 1143, i16 1144, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1397, i16 1341, i16 1344, i16 1346, i16 1348, i16 1351, i16 1354, i16 1357, i16 1360, i16 1364, i16 1369, i16 1371, i16 1373, i16 1375, i16 1377, i16 1380, i16 886, i16 887, i16 888, i16 889, i16 890, i16 891, i16 892, i16 893, i16 894, i16 895, i16 896, i16 897, i16 898, i16 899, i16 900, i16 901, i16 1145, i16 1146, i16 1147, i16 1148, i16 1149, i16 1150, i16 1151, i16 1152, i16 1153, i16 1154, i16 1155, i16 0, i16 1156, i16 1157, i16 0, i16 0, i16 380, i16 381, i16 382, i16 383, i16 393, i16 394, i16 395, i16 396, i16 401, i16 402, i16 399, i16 400, i16 442, i16 443, i16 444, i16 445, i16 127, i16 128, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 173, i16 174, i16 182, i16 183, i16 184, i16 185, i16 192, i16 193, i16 1663, i16 1665, i16 1666, i16 1667, i16 1668, i16 1670, i16 1671, i16 1672, i16 1673, i16 1675, i16 1676, i16 1677, i16 1678, i16 1680, i16 1681, i16 1683, i16 1408, i16 1410, i16 1412, i16 1414, i16 1420, i16 1424, i16 1430, i16 1432, i16 1434, i16 1442, i16 1444, i16 1448, i16 1452, i16 1454, i16 1458, i16 1460, i16 1409, i16 1411, i16 1413, i16 1415, i16 1421, i16 1425, i16 1431, i16 1433, i16 1435, i16 1443, i16 1445, i16 1449, i16 1453, i16 1455, i16 1459, i16 1461, i16 902, i16 903, i16 904, i16 905, i16 906, i16 907, i16 908, i16 909, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 137, i16 138, i16 133, i16 134, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 97, i16 98, i16 1418, i16 1419, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 141, i16 142, i16 95, i16 96, i16 139, i16 140, i16 163, i16 164, i16 165, i16 166, i16 169, i16 170, i16 175, i16 176, i16 180, i16 181, i16 143, i16 144, i16 150, i16 151, i16 270, i16 271, i16 266, i16 267, i16 343, i16 344, i16 452, i16 453, i16 454, i16 455, i16 0, i16 0, i16 1172, i16 1173, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1174, i16 1175, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1684, i16 1686, i16 1687, i16 1688, i16 1689, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 0, i16 0, i16 0, i16 918, i16 919, i16 920, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 667, i16 668, i16 671, i16 672, i16 675, i16 676, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1695, i16 1696, i16 1698, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 930, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 931, i16 0, i16 932, i16 0, i16 933, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1699, i16 1700, i16 1701, i16 1702, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1188, i16 0, i16 1189, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 934, i16 0, i16 935, i16 936, i16 0, i16 937, i16 938, i16 939, i16 940, i16 0, i16 0, i16 941, i16 0, i16 0, i16 0, i16 942, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 0, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 680, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 719, i16 714, i16 749, i16 778, i16 751, i16 715, i16 681, i16 0, i16 0, i16 0, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 790, i16 732, i16 860, i16 744, i16 746, i16 0, i16 436, i16 437, i16 475, i16 476, i16 489, i16 490, i16 499, i16 500, i16 505, i16 506, i16 511, i16 512, i16 515, i16 516, i16 523, i16 524, i16 1462, i16 1464, i16 1466, i16 1470, i16 1474, i16 1476, i16 1478, i16 1482, i16 1486, i16 1488, i16 1491, i16 1492, i16 1495, i16 1496, i16 1498, i16 1500, i16 1207, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1463, i16 1465, i16 1467, i16 1471, i16 1475, i16 1477, i16 1479, i16 1483, i16 1487, i16 1489, i16 1490, i16 1493, i16 1494, i16 1497, i16 1499, i16 1501, i16 952, i16 0, i16 0, i16 0, i16 0, i16 953, i16 0, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 0, i16 960, i16 0, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 0, i16 0, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 186, i16 187, i16 237, i16 238, i16 203, i16 204, i16 229, i16 230, i16 235, i16 236, i16 219, i16 220, i16 264, i16 265, i16 262, i16 263, i16 188, i16 189, i16 190, i16 191, i16 241, i16 242, i16 239, i16 240, i16 243, i16 244, i16 227, i16 228, i16 233, i16 234, i16 250, i16 251, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 0, i16 0, i16 0, i16 0, i16 1230, i16 0, i16 0, i16 0, i16 460, i16 461, i16 458, i16 459, i16 479, i16 480, i16 481, i16 482, i16 495, i16 496, i16 497, i16 498, i16 501, i16 502, i16 503, i16 504, i16 462, i16 463, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 602, i16 1231, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 722, i16 87, i16 153, i16 1888, i16 179, i16 196, i16 247, i16 259, i16 278, i16 298, i16 335, i16 340, i16 356, i16 377, i16 386, i16 408, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 317, i16 318, i16 325, i16 326, i16 446, i16 447, i16 438, i16 439, i16 1749, i16 1752, i16 1754, i16 1756, i16 1758, i16 1760, i16 1762, i16 1764, i16 1766, i16 1768, i16 1770, i16 1772, i16 1774, i16 1776, i16 1778, i16 1780, i16 470, i16 471, i16 472, i16 473, i16 590, i16 591, i16 582, i16 583, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 1750, i16 1753, i16 1755, i16 1757, i16 1759, i16 1761, i16 1763, i16 1765, i16 1767, i16 1769, i16 1771, i16 1773, i16 1775, i16 1777, i16 1779, i16 1781, i16 1241, i16 1242, i16 1243, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 987, i16 988, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 477, i16 484, i16 487, i16 508, i16 533, i16 552, i16 615, i16 622, i16 637, i16 644, i16 663, i16 747, i16 742, i16 748, i16 779, i16 777, i16 478, i16 485, i16 488, i16 509, i16 534, i16 553, i16 616, i16 623, i16 638, i16 645, i16 664, i16 753, i16 740, i16 754, i16 799, i16 1281, i16 734, i16 0, i16 0, i16 736, i16 737, i16 738, i16 782, i16 783, i16 729, i16 730, i16 723, i16 728, i16 726, i16 727, i16 724, i16 725, i16 990, i16 991, i16 992, i16 993, i16 0, i16 0, i16 994, i16 995, i16 996, i16 997, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 998, i16 999, i16 1000, i16 1001, i16 1002, i16 1003, i16 1004, i16 1005, i16 1006, i16 1007, i16 1008, i16 1009, i16 1010, i16 1011, i16 1012, i16 1013, i16 1510, i16 1511, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 491, i16 492, i16 493, i16 494, i16 558, i16 559, i16 562, i16 563, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1265, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1014, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1023, i16 1024, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1782, i16 1784, i16 1786, i16 1788, i16 1790, i16 1792, i16 1794, i16 1796, i16 1798, i16 1800, i16 1802, i16 1804, i16 1806, i16 1808, i16 1810, i16 1812, i16 1783, i16 1785, i16 1787, i16 1789, i16 1791, i16 1793, i16 1795, i16 1797, i16 1799, i16 1801, i16 1803, i16 1805, i16 1807, i16 1809, i16 1811, i16 1813, i16 1528, i16 1529, i16 1530, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 0, i16 0, i16 0, i16 0, i16 0, i16 763, i16 86, i16 152, i16 1887, i16 178, i16 195, i16 246, i16 258, i16 277, i16 297, i16 334, i16 339, i16 355, i16 376, i16 385, i16 407, i16 253, i16 254, i16 255, i16 256, i16 257, i16 532, i16 510, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 3, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 5, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 134, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 136, i16 0, i16 0, i16 0, i16 137, i16 0, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 1, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 12, i16 14, i16 16, i16 18, i16 20, i16 22, i16 24, i16 26, i16 28, i16 30, i16 32, i16 34, i16 36, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 13, i16 15, i16 17, i16 19, i16 21, i16 23, i16 25, i16 27, i16 29, i16 31, i16 33, i16 35, i16 37, i16 39, i16 41, i16 43, i16 45, i16 47, i16 49, i16 51, i16 53, i16 55, i16 57, i16 59, i16 61, i16 63, i16 92, i16 93, i16 94, i16 95, i16 202, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 96, i16 0, i16 0, i16 0, i16 133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 135, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 203, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 5, i16 6, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 4, i16 3, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 126, i16 132, i16 138, i16 144, i16 150, i16 156, i16 162, i16 168, i16 174, i16 180, i16 186, i16 192, i16 198, i16 204, i16 210, i16 216, i16 222, i16 228, i16 234, i16 240, i16 246, i16 252, i16 258, i16 264, i16 270, i16 276, i16 282, i16 288, i16 294, i16 300, i16 306, i16 7, i16 13, i16 23, i16 39, i16 32, i16 40, i16 38, i16 22, i16 24, i16 29, i16 36, i16 41, i16 10, i16 9, i16 16, i16 15, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 12, i16 11, i16 42, i16 43, i16 44, i16 14, i16 19, i16 75, i16 77, i16 79, i16 81, i16 83, i16 85, i16 87, i16 89, i16 91, i16 93, i16 95, i16 97, i16 99, i16 101, i16 103, i16 105, i16 107, i16 109, i16 111, i16 113, i16 115, i16 117, i16 119, i16 121, i16 123, i16 125, i16 26, i16 45, i16 27, i16 21, i16 0, i16 30, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 25, i16 37, i16 28, i16 20, i16 8, i16 312, i16 318, i16 324, i16 330, i16 336, i16 337, i16 343, i16 344, i16 350, i16 356, i16 362, i16 368, i16 374, i16 380, i16 386, i16 17, i16 393, i16 394, i16 395, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 47, i16 0, i16 0, i16 0, i16 0, i16 31, i16 410, i16 411, i16 412, i16 413, i16 414, i16 396, i16 18, i16 49, i16 50, i16 51, i16 52, i16 53, i16 48, i16 392, i16 46, i16 33, i16 55, i16 57, i16 59, i16 61, i16 63, i16 65, i16 67, i16 69, i16 71, i16 73, i16 34, i16 35, i16 0, i16 0, i16 0, i16 0, i16 32, i16 3, i16 45, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7, i16 37, i16 2, i16 12, i16 0, i16 0, i16 0, i16 0, i16 27, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 25, i16 33, i16 28, i16 44, i16 11, i16 14, i16 29, i16 40, i16 23, i16 9, i16 20, i16 10, i16 38, i16 22, i16 42, i16 31, i16 49, i16 36, i16 43, i16 16, i16 15, i16 26, i16 21, i16 35, i16 17, i16 18, i16 13, i16 47, i16 24, i16 6, i16 34, i16 4, i16 39, i16 19, i16 8, i16 41, i16 5, i16 48, i16 50, i16 46, i16 30, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 266, i16 373, i16 661, i16 236, i16 595, i16 0, i16 0, i16 94, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 615, i16 647, i16 136, i16 0, i16 0, i16 390, i16 36, i16 15, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 31, i16 0, i16 0, i16 0, i16 0, i16 0, i16 60, i16 455, i16 499, i16 0, i16 0, i16 4, i16 259, i16 192, i16 133, i16 445, i16 669, i16 550, i16 172, i16 0, i16 0, i16 62, i16 153, i16 389, i16 409, i16 145, i16 1, i16 180, i16 570, i16 258, i16 261, i16 414, i16 610, i16 140, i16 566, i16 280, i16 150, i16 468, i16 333, i16 655, i16 176, i16 402, i16 260, i16 173, i16 607, i16 281, i16 293, i16 306, i16 319, i16 267, i16 168, i16 368, i16 382, i16 456, i16 249, i16 437, i16 500, i16 95, i16 14, i16 465, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 68, i16 129, i16 0, i16 0, i16 12, i16 0, i16 9, i16 0, i16 533, i16 84, i16 587, i16 606, i16 447, i16 652, i16 668, i16 291, i16 318, i16 459, i16 61, i16 659, i16 395, i16 195, i16 202, i16 186, i16 30, i16 590, i16 617, i16 422, i16 209, i16 535, i16 137, i16 485, i16 511, i16 222, i16 165, i16 337, i16 355, i16 371, i16 385, i16 190, i16 35, i16 627, i16 98, i16 660, i16 85, i16 278, i16 244, i16 376, i16 391, i16 101, i16 69, i16 377, i16 185, i16 401, i16 205, i16 453, i16 38, i16 24, i16 331, i16 352, i16 644, i16 649, i16 662, i16 398, i16 673, i16 454, i16 287, i16 152, i16 223, i16 307, i16 294, i16 419, i16 39, i16 0, i16 357, i16 22, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 296, i16 160, i16 363, i16 342, i16 360, i16 378, i16 42, i16 415, i16 434, i16 206, i16 431, i16 13, i16 490, i16 462, i16 521, i16 486, i16 304, i16 593, i16 525, i16 253, i16 622, i16 645, i16 234, i16 269, i16 104, i16 279, i16 63, i16 425, i16 199, i16 78, i16 174, i16 72, i16 569, i16 295, i16 620, i16 161, i16 340, i16 658, i16 273, i16 680, i16 289, i16 404, i16 361, i16 359, i16 372, i16 423, i16 73, i16 417, i16 315, i16 132, i16 356, i16 362, i16 381, i16 412, i16 26, i16 594, i16 87, i16 471, i16 497, i16 601, i16 227, i16 118, i16 542, i16 557, i16 317, i16 353, i16 265, i16 182, i16 188, i16 0, i16 0, i16 0, i16 0, i16 5, i16 74, i16 544, i16 448, i16 211, i16 475, i16 575, i16 599, i16 524, i16 545, i16 552, i16 239, i16 157, i16 66, i16 585, i16 103, i16 614, i16 48, i16 632, i16 687, i16 282, i16 308, i16 329, i16 604, i16 514, i16 183, i16 537, i16 530, i16 326, i16 177, i16 226, i16 380, i16 406, i16 76, i16 204, i16 208, i16 215, i16 584, i16 247, i16 605, i16 428, i16 679, i16 634, i16 637, i16 37, i16 138, i16 316, i16 196, i16 34, i16 230, i16 44, i16 286, i16 676, i16 312, i16 603, i16 609, i16 549, i16 513, i16 310, i16 325, i16 346, i16 77, i16 388, i16 128, i16 399, i16 411, i16 418, i16 54, i16 444, i16 299, i16 480, i16 113, i16 197, i16 602, i16 89, i16 158, i16 635, i16 59, i16 670, i16 493, i16 276, i16 105, i16 416, i16 429, i16 334, i16 159, i16 110, i16 370, i16 384, i16 684, i16 248, i16 424, i16 301, i16 156, i16 343, i16 242, i16 214, i16 504, i16 515, i16 556, i16 403, i16 81, i16 364, i16 374, i16 189, i16 413, i16 427, i16 28, i16 207, i16 473, i16 494, i16 672, i16 228, i16 540, i16 283, i16 100, i16 586, i16 323, i16 344, i16 375, i16 155, i16 630, i16 124, i16 626, i16 526, i16 613, i16 665, i16 677, i16 16, i16 305, i16 290, i16 167, i16 339, i16 383, i16 408, i16 122, i16 449, i16 80, i16 467, i16 169, i16 218, i16 200, i16 532, i16 543, i16 561, i16 508, i16 510, i16 553, i16 256, i16 582, i16 653, i16 643, i16 0, i16 241, i16 619, i16 666, i16 147, i16 348, i16 397, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 648, i16 141, i16 82, i16 292, i16 309, i16 608, i16 354, i16 410, i16 386, i16 311, i16 439, i16 321, i16 109, i16 460, i16 481, i16 498, i16 394, i16 495, i16 461, i16 112, i16 19, i16 457, i16 254, i16 489, i16 503, i16 221, i16 512, i16 86, i16 527, i16 139, i16 568, i16 580, i16 143, i16 0, i16 0, i16 7, i16 300, i16 49, i16 57, i16 528, i16 102, i16 430, i16 194, i16 564, i16 17, i16 579, i16 0, i16 0, i16 144, i16 83, i16 531, i16 324, i16 229, i16 154, i16 179, i16 387, i16 53, i16 43, i16 277, i16 201, i16 108, i16 21, i16 625, i16 483, i16 146, i16 347, i16 396, i16 446, i16 505, i16 252, i16 336, i16 477, i16 351, i16 379, i16 322, i16 436, i16 0, i16 0, i16 18, i16 8, i16 420, i16 250, i16 450, i16 472, i16 633, i16 518, i16 529, i16 119, i16 631, i16 268, i16 674, i16 142, i16 686, i16 458, i16 134, i16 328, i16 678, i16 488, i16 509, i16 491, i16 541, i16 657, i16 120, i16 563, i16 675, i16 583, i16 245, i16 91, i16 618, i16 0, i16 0, i16 0, i16 683, i16 516, i16 314, i16 681, i16 193, i16 572, i16 358, i16 443, i16 611, i16 421, i16 646, i16 262, i16 272, i16 107, i16 99, i16 538, i16 685, i16 288, i16 64, i16 70, i16 166, i16 50, i16 25, i16 52, i16 71, i16 392, i16 191, i16 426, i16 433, i16 442, i16 451, i16 441, i16 435, i16 438, i16 11, i16 338, i16 106, i16 40, i16 0, i16 0, i16 10, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 440, i16 466, i16 478, i16 501, i16 523, i16 536, i16 554, i16 522, i16 592, i16 581, i16 233, i16 555, i16 251, i16 476, i16 636, i16 264, i16 203, i16 452, i16 474, i16 365, i16 178, i16 187, i16 539, i16 126, i16 565, i16 578, i16 600, i16 220, i16 2, i16 624, i16 639, i16 654, i16 212, i16 562, i16 407, i16 616, i16 33, i16 650, i16 47, i16 332, i16 271, i16 131, i16 97, i16 298, i16 162, i16 341, i16 65, i16 367, i16 213, i16 149, i16 151, i16 302, i16 163, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3, i16 484, i16 345, i16 67, i16 591, i16 469, i16 487, i16 51, i16 171, i16 303, i16 400, i16 175, i16 58, i16 125, i16 598, i16 79, i16 628, i16 463, i16 651, i16 350, i16 274, i16 470, i16 56, i16 464, i16 520, i16 612, i16 640, i16 238, i16 507, i16 123, i16 127, i16 88, i16 623, i16 642, i16 664, i16 548, i16 547, i16 216, i16 682, i16 492, i16 116, i16 519, i16 240, i16 667, i16 588, i16 597, i16 23, i16 559, i16 641, i16 577, i16 93, i16 270, i16 96, i16 225, i16 534, i16 589, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 482, i16 184, i16 224, i16 393, i16 0, i16 0, i16 0, i16 41, i16 121, i16 75, i16 198, i16 517, i16 90, i16 263, i16 210, i16 671, i16 231, i16 496, i16 45, i16 574, i16 246, i16 235, i16 621, i16 32, i16 479, i16 237, i16 560, i16 284, i16 571, i16 327, i16 217, i16 366, i16 232, i16 432, i16 55, i16 111, i16 0, i16 27, i16 114, i16 219, i16 115, i16 573, i16 546, i16 567, i16 6, i16 46, i16 243, i16 130, i16 502, i16 320, i16 92, i16 117, i16 369, i16 551, i16 558, i16 20, i16 164, i16 576, i16 275, i16 257, i16 297, i16 656, i16 596, i16 506, i16 255, i16 629, i16 638, i16 135, i16 0, i16 29, i16 663, i16 285, i16 313, i16 349, i16 148, i16 181, i16 405, i16 330, i16 335, i16 170, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3171, i16 12478, i16 12479, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2196, i16 6503, i16 11985, i16 1886, i16 6504, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2650, i16 12441, i16 12442, i16 0, i16 0, i16 0, i16 0, i16 12443, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2542, i16 11756, i16 11757, i16 6356, i16 0, i16 0, i16 11758, i16 11759, i16 6358, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1165, i16 0, i16 5777, i16 0, i16 5778, i16 10826, i16 10825, i16 10827, i16 10828, i16 10829, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1956, i16 6848, i16 6849, i16 1656, i16 0, i16 12717, i16 0, i16 12718, i16 0, i16 12719, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7035, i16 0, i16 0, i16 1517, i16 7036, i16 13063, i16 13064, i16 13065, i16 7037, i16 0, i16 1888, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7306, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 341, i16 0, i16 342, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 351, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 326, i16 327, i16 325, i16 328, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11125, i16 0, i16 0, i16 5992, i16 0, i16 5993, i16 0, i16 990, i16 11126, i16 0, i16 0, i16 947, i16 5990, i16 11127, i16 0, i16 11128, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 251, i16 0, i16 0, i16 0, i16 0, i16 250, i16 255, i16 0, i16 259, i16 260, i16 0, i16 0, i16 261, i16 262, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 368, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7427, i16 2983, i16 3748, i16 7428, i16 0, i16 7430, i16 3029, i16 7431, i16 3631, i16 7432, i16 2168, i16 7433, i16 1818, i16 7434, i16 1866, i16 965, i16 7435, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3587, i16 0, i16 13156, i16 13157, i16 13158, i16 13159, i16 0, i16 13160, i16 7092, i16 13161, i16 13162, i16 0, i16 0, i16 0, i16 0, i16 7093, i16 5548, i16 13163, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7201, i16 7287, i16 7229, i16 7315, i16 7247, i16 7332, i16 7265, i16 7350, i16 7274, i16 7359, i16 7271, i16 7356, i16 7273, i16 7358, i16 7272, i16 7357, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8287, i16 0, i16 0, i16 0, i16 0, i16 8288, i16 0, i16 2969, i16 8289, i16 0, i16 0, i16 8290, i16 0, i16 0, i16 8291, i16 4207, i16 3113, i16 8292, i16 0, i16 8293, i16 8294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9649, i16 5112, i16 9650, i16 9651, i16 5118, i16 0, i16 0, i16 5116, i16 0, i16 2728, i16 0, i16 0, i16 5123, i16 5113, i16 9652, i16 0, i16 9653, i16 0, i16 9654, i16 5114, i16 5090, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9574, i16 0, i16 9575, i16 0, i16 0, i16 1049, i16 0, i16 0, i16 892, i16 0, i16 9576, i16 5056, i16 0, i16 9577, i16 5059, i16 9578, i16 0, i16 0, i16 3600, i16 9579, i16 0, i16 9580, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 364, i16 0, i16 0, i16 363, i16 0, i16 362, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7882, i16 7883, i16 0, i16 0, i16 4012, i16 3474, i16 0, i16 2068, i16 7884, i16 4018, i16 0, i16 7885, i16 7886, i16 0, i16 4017, i16 4008, i16 0, i16 7887, i16 7888, i16 7889, i16 2472, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 995, i16 0, i16 0, i16 7950, i16 0, i16 0, i16 4058, i16 7951, i16 2153, i16 4054, i16 7952, i16 4052, i16 7953, i16 4053, i16 7954, i16 4055, i16 7955, i16 0, i16 7956, i16 7957, i16 7958, i16 0, i16 7959, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3650, i16 0, i16 9772, i16 5182, i16 0, i16 0, i16 0, i16 847, i16 0, i16 9773, i16 0, i16 9774, i16 9775, i16 9776, i16 9777, i16 0, i16 9778, i16 5184, i16 0, i16 0, i16 9779, i16 5183, i16 0, i16 5181, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10072, i16 10073, i16 5305, i16 0, i16 10074, i16 0, i16 0, i16 5306, i16 10075, i16 0, i16 0, i16 10076, i16 5307, i16 0, i16 0, i16 0, i16 10077, i16 0, i16 10078, i16 10079, i16 866, i16 0, i16 10080, i16 10081, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3182, i16 0, i16 6816, i16 12656, i16 0, i16 12657, i16 12658, i16 6817, i16 12659, i16 6818, i16 0, i16 0, i16 12660, i16 0, i16 6819, i16 12661, i16 12662, i16 0, i16 12663, i16 12664, i16 0, i16 0, i16 0, i16 12665, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11391, i16 0, i16 1000, i16 6110, i16 6111, i16 11358, i16 0, i16 0, i16 0, i16 11359, i16 0, i16 6106, i16 0, i16 1808, i16 11360, i16 0, i16 11361, i16 0, i16 11362, i16 0, i16 11363, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1683, i16 0, i16 12778, i16 0, i16 12779, i16 6888, i16 12780, i16 12781, i16 6889, i16 0, i16 12782, i16 0, i16 12783, i16 12784, i16 12785, i16 0, i16 1055, i16 12786, i16 0, i16 12787, i16 6890, i16 0, i16 12788, i16 12789, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8637, i16 0, i16 0, i16 8638, i16 0, i16 0, i16 8639, i16 4435, i16 4441, i16 4433, i16 0, i16 2779, i16 8640, i16 8641, i16 4438, i16 3156, i16 8642, i16 8643, i16 4432, i16 8644, i16 4437, i16 3636, i16 1834, i16 0, i16 8645, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7102, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7101, i16 7104, i16 7108, i16 7107, i16 0, i16 7105, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11222, i16 0, i16 0, i16 11223, i16 0, i16 3292, i16 0, i16 3660, i16 11224, i16 11225, i16 11226, i16 11227, i16 0, i16 6049, i16 0, i16 0, i16 11228, i16 0, i16 0, i16 11230, i16 11231, i16 6056, i16 11232, i16 0, i16 6048, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8409, i16 8410, i16 0, i16 8411, i16 0, i16 4283, i16 0, i16 0, i16 8412, i16 1205, i16 4284, i16 8413, i16 0, i16 4285, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8414, i16 0, i16 8415, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4599, i16 752, i16 8844, i16 8845, i16 1720, i16 0, i16 8846, i16 0, i16 2177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8847, i16 8848, i16 0, i16 0, i16 8849, i16 2707, i16 0, i16 8850, i16 3053, i16 4605, i16 2405, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4632, i16 0, i16 0, i16 8909, i16 8910, i16 0, i16 0, i16 2464, i16 0, i16 4639, i16 8911, i16 0, i16 8912, i16 4633, i16 8913, i16 0, i16 4630, i16 4637, i16 8914, i16 0, i16 0, i16 0, i16 4607, i16 0, i16 8915, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 316, i16 315, i16 0, i16 0, i16 0, i16 312, i16 0, i16 0, i16 314, i16 313, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8817, i16 0, i16 8818, i16 0, i16 0, i16 3069, i16 4663, i16 0, i16 0, i16 0, i16 0, i16 3279, i16 0, i16 8819, i16 0, i16 2706, i16 8820, i16 8821, i16 0, i16 3368, i16 8822, i16 4583, i16 934, i16 2605, i16 8823, i16 8824, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7940, i16 2549, i16 0, i16 7941, i16 970, i16 7942, i16 0, i16 0, i16 7943, i16 7944, i16 7945, i16 7946, i16 7947, i16 7948, i16 0, i16 4042, i16 0, i16 4044, i16 2069, i16 858, i16 7949, i16 0, i16 4047, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 311, i16 310, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2652, i16 12969, i16 6980, i16 0, i16 3024, i16 0, i16 6985, i16 6981, i16 0, i16 0, i16 0, i16 6982, i16 0, i16 12970, i16 3300, i16 3413, i16 0, i16 2861, i16 12971, i16 0, i16 12972, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1124, i16 11078, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11079, i16 920, i16 5954, i16 3639, i16 2498, i16 11080, i16 0, i16 3131, i16 0, i16 5966, i16 11081, i16 988, i16 5964, i16 0, i16 5962, i16 5953, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2662, i16 9547, i16 9548, i16 9549, i16 883, i16 1622, i16 5035, i16 0, i16 0, i16 9551, i16 9552, i16 0, i16 9553, i16 1974, i16 5040, i16 0, i16 5039, i16 5034, i16 0, i16 5037, i16 9554, i16 0, i16 1099, i16 9555, i16 5036, i16 2948, i16 9556, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8864, i16 8865, i16 3280, i16 1919, i16 4620, i16 0, i16 4619, i16 8866, i16 8867, i16 2243, i16 0, i16 0, i16 8868, i16 1497, i16 0, i16 8869, i16 8870, i16 4613, i16 2086, i16 8871, i16 0, i16 2885, i16 2924, i16 8872, i16 8873, i16 0, i16 8874, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11173, i16 6028, i16 11174, i16 11175, i16 3524, i16 11176, i16 0, i16 0, i16 11177, i16 3575, i16 11178, i16 0, i16 11179, i16 11180, i16 0, i16 0, i16 0, i16 11181, i16 2619, i16 11182, i16 11183, i16 11184, i16 1102, i16 11185, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6850, i16 12720, i16 0, i16 1057, i16 0, i16 0, i16 0, i16 2954, i16 6851, i16 6852, i16 0, i16 12721, i16 12722, i16 12723, i16 2589, i16 2888, i16 12724, i16 0, i16 0, i16 0, i16 12725, i16 12726, i16 0, i16 6853, i16 12727, i16 0, i16 12728, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4292, i16 0, i16 4294, i16 0, i16 8425, i16 0, i16 8426, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8427, i16 0, i16 0, i16 0, i16 0, i16 8429, i16 0, i16 4295, i16 0, i16 0, i16 0, i16 8428, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10961, i16 5874, i16 10962, i16 0, i16 0, i16 10963, i16 5872, i16 10964, i16 0, i16 2208, i16 0, i16 3164, i16 5877, i16 10965, i16 5876, i16 1639, i16 3710, i16 0, i16 10966, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5893, i16 0, i16 0, i16 0, i16 0, i16 13078, i16 7046, i16 3001, i16 0, i16 13079, i16 7047, i16 7049, i16 0, i16 13080, i16 7050, i16 13081, i16 13082, i16 13083, i16 0, i16 0, i16 13084, i16 13085, i16 13086, i16 0, i16 0, i16 7048, i16 1668, i16 3422, i16 3350, i16 4361, i16 0, i16 4996, i16 3374, i16 0, i16 0, i16 0, i16 0, i16 9766, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9767, i16 5177, i16 2557, i16 5180, i16 5175, i16 9768, i16 9769, i16 0, i16 5179, i16 9770, i16 0, i16 0, i16 9771, i16 5178, i16 2751, i16 802, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4915, i16 9346, i16 9347, i16 4920, i16 4924, i16 9348, i16 9349, i16 1331, i16 0, i16 0, i16 9350, i16 0, i16 9351, i16 9352, i16 9353, i16 0, i16 0, i16 9354, i16 9355, i16 0, i16 1259, i16 4922, i16 0, i16 9356, i16 0, i16 0, i16 0, i16 1216, i16 0, i16 0, i16 0, i16 0, i16 9780, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5176, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3286, i16 9781, i16 0, i16 0, i16 5186, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9539, i16 0, i16 0, i16 9540, i16 0, i16 0, i16 9541, i16 3517, i16 5042, i16 0, i16 9542, i16 9543, i16 0, i16 9544, i16 5041, i16 9545, i16 0, i16 0, i16 0, i16 2335, i16 0, i16 5038, i16 9546, i16 3547, i16 0, i16 0, i16 2835, i16 5032, i16 0, i16 0, i16 0, i16 0, i16 10582, i16 0, i16 3236, i16 986, i16 0, i16 10583, i16 0, i16 5611, i16 0, i16 5608, i16 10584, i16 5613, i16 10585, i16 10586, i16 5612, i16 0, i16 2990, i16 3384, i16 10587, i16 1806, i16 5606, i16 5615, i16 5610, i16 10588, i16 5609, i16 5605, i16 10589, i16 5607, i16 0, i16 0, i16 0, i16 0, i16 12640, i16 0, i16 6807, i16 12641, i16 0, i16 0, i16 12642, i16 6809, i16 2511, i16 1086, i16 1087, i16 6808, i16 0, i16 12643, i16 12644, i16 12645, i16 1194, i16 1515, i16 12646, i16 12647, i16 1195, i16 12648, i16 12649, i16 2750, i16 0, i16 0, i16 3629, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9849, i16 0, i16 0, i16 0, i16 5220, i16 0, i16 2687, i16 9850, i16 5222, i16 5221, i16 0, i16 9851, i16 5223, i16 0, i16 5224, i16 0, i16 9852, i16 1936, i16 3162, i16 0, i16 9853, i16 9854, i16 3453, i16 5225, i16 5226, i16 2397, i16 1877, i16 5227, i16 0, i16 0, i16 0, i16 0, i16 944, i16 0, i16 13087, i16 0, i16 13088, i16 0, i16 0, i16 13089, i16 7052, i16 1263, i16 7053, i16 7054, i16 7055, i16 0, i16 1676, i16 0, i16 7056, i16 13090, i16 0, i16 0, i16 5266, i16 3436, i16 0, i16 2504, i16 7057, i16 7059, i16 7058, i16 13091, i16 0, i16 0, i16 0, i16 0, i16 9393, i16 0, i16 0, i16 9394, i16 3008, i16 0, i16 4946, i16 0, i16 9395, i16 0, i16 0, i16 0, i16 9396, i16 9397, i16 9398, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4950, i16 4947, i16 9399, i16 9400, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1215, i16 9243, i16 4856, i16 0, i16 9244, i16 3418, i16 4831, i16 1214, i16 9245, i16 4838, i16 0, i16 9246, i16 9247, i16 9248, i16 3315, i16 9249, i16 4839, i16 4841, i16 9250, i16 4845, i16 4833, i16 9251, i16 2541, i16 0, i16 9252, i16 9253, i16 0, i16 2798, i16 0, i16 0, i16 0, i16 0, i16 7110, i16 7111, i16 7122, i16 0, i16 7123, i16 7124, i16 7125, i16 0, i16 7127, i16 0, i16 7128, i16 7130, i16 7136, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 0, i16 0, i16 0, i16 0, i16 6623, i16 0, i16 0, i16 12326, i16 12327, i16 12328, i16 0, i16 2886, i16 0, i16 2772, i16 0, i16 0, i16 12329, i16 12330, i16 12331, i16 0, i16 2680, i16 12332, i16 6636, i16 12333, i16 12334, i16 0, i16 12335, i16 2566, i16 6632, i16 0, i16 12336, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2303, i16 11822, i16 1920, i16 6405, i16 0, i16 11823, i16 0, i16 1077, i16 11824, i16 6406, i16 11825, i16 0, i16 2429, i16 6407, i16 0, i16 6408, i16 3170, i16 0, i16 0, i16 1230, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11826, i16 0, i16 0, i16 0, i16 8200, i16 905, i16 0, i16 8201, i16 1202, i16 2877, i16 3273, i16 0, i16 0, i16 0, i16 0, i16 4173, i16 2396, i16 4172, i16 1435, i16 8202, i16 8203, i16 3342, i16 4171, i16 0, i16 2788, i16 4175, i16 8204, i16 4174, i16 8205, i16 0, i16 8206, i16 8207, i16 8208, i16 0, i16 0, i16 0, i16 9739, i16 9740, i16 0, i16 0, i16 0, i16 9741, i16 9742, i16 9743, i16 9744, i16 5111, i16 0, i16 9749, i16 0, i16 0, i16 5171, i16 0, i16 0, i16 9745, i16 9746, i16 0, i16 0, i16 2884, i16 0, i16 0, i16 0, i16 0, i16 9747, i16 9748, i16 0, i16 0, i16 0, i16 0, i16 8486, i16 0, i16 0, i16 0, i16 8487, i16 0, i16 4332, i16 0, i16 8488, i16 1185, i16 4333, i16 8490, i16 0, i16 8489, i16 0, i16 4335, i16 4334, i16 0, i16 0, i16 4336, i16 0, i16 8491, i16 8492, i16 0, i16 4337, i16 0, i16 2327, i16 1970, i16 0, i16 0, i16 0, i16 0, i16 808, i16 5862, i16 0, i16 2563, i16 0, i16 10928, i16 0, i16 0, i16 0, i16 2963, i16 10929, i16 2496, i16 10930, i16 0, i16 0, i16 10931, i16 0, i16 10932, i16 10933, i16 5864, i16 10934, i16 10935, i16 5860, i16 5863, i16 5858, i16 0, i16 5861, i16 3289, i16 0, i16 0, i16 0, i16 0, i16 6698, i16 0, i16 0, i16 12462, i16 784, i16 12463, i16 12464, i16 6696, i16 12465, i16 6700, i16 6699, i16 0, i16 0, i16 12466, i16 12467, i16 12468, i16 12469, i16 6702, i16 6701, i16 6703, i16 0, i16 2827, i16 12470, i16 12471, i16 0, i16 6704, i16 12472, i16 12473, i16 12474, i16 0, i16 0, i16 0, i16 299, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7121, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9006, i16 0, i16 1543, i16 0, i16 9007, i16 4685, i16 9008, i16 0, i16 0, i16 0, i16 4688, i16 0, i16 3145, i16 9009, i16 1278, i16 9010, i16 0, i16 9011, i16 4687, i16 4686, i16 2959, i16 4689, i16 1330, i16 0, i16 0, i16 0, i16 4691, i16 4690, i16 9012, i16 0, i16 0, i16 0, i16 5172, i16 9750, i16 9751, i16 0, i16 0, i16 0, i16 0, i16 0, i16 981, i16 9752, i16 0, i16 9753, i16 2803, i16 1032, i16 0, i16 0, i16 0, i16 0, i16 9754, i16 9755, i16 0, i16 1283, i16 0, i16 0, i16 0, i16 1935, i16 1735, i16 9756, i16 0, i16 0, i16 0, i16 0, i16 9782, i16 9783, i16 9784, i16 9785, i16 9786, i16 0, i16 5185, i16 0, i16 9787, i16 9788, i16 0, i16 0, i16 9789, i16 0, i16 0, i16 0, i16 0, i16 914, i16 0, i16 0, i16 0, i16 0, i16 5188, i16 3207, i16 0, i16 5187, i16 0, i16 9790, i16 0, i16 0, i16 0, i16 0, i16 8247, i16 8248, i16 863, i16 1136, i16 8249, i16 4189, i16 0, i16 3414, i16 3112, i16 0, i16 0, i16 8250, i16 8251, i16 0, i16 8252, i16 8253, i16 0, i16 8254, i16 0, i16 753, i16 8255, i16 0, i16 0, i16 0, i16 834, i16 0, i16 0, i16 0, i16 1828, i16 0, i16 0, i16 0, i16 10308, i16 0, i16 0, i16 0, i16 5464, i16 0, i16 10309, i16 0, i16 0, i16 0, i16 5465, i16 0, i16 0, i16 0, i16 10310, i16 10311, i16 0, i16 0, i16 10312, i16 0, i16 5466, i16 0, i16 10313, i16 5467, i16 3400, i16 5468, i16 0, i16 10314, i16 10315, i16 0, i16 0, i16 0, i16 10830, i16 10831, i16 5779, i16 0, i16 10832, i16 0, i16 0, i16 0, i16 0, i16 5780, i16 5781, i16 5782, i16 10833, i16 5783, i16 5784, i16 10834, i16 10835, i16 5786, i16 5785, i16 0, i16 0, i16 5787, i16 0, i16 0, i16 10836, i16 10837, i16 10838, i16 0, i16 5788, i16 0, i16 0, i16 0, i16 6991, i16 0, i16 0, i16 6989, i16 0, i16 1118, i16 0, i16 6988, i16 1891, i16 942, i16 0, i16 0, i16 12981, i16 12982, i16 0, i16 12983, i16 12984, i16 12985, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12986, i16 1658, i16 12987, i16 12989, i16 6998, i16 6997, i16 0, i16 0, i16 0, i16 12117, i16 0, i16 0, i16 0, i16 12118, i16 12119, i16 2864, i16 6566, i16 1989, i16 1937, i16 2966, i16 2612, i16 12120, i16 0, i16 0, i16 1955, i16 12121, i16 2231, i16 0, i16 6567, i16 12122, i16 6568, i16 12123, i16 12124, i16 12125, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1113, i16 5562, i16 5561, i16 10536, i16 5565, i16 5558, i16 10537, i16 5566, i16 3574, i16 10538, i16 5567, i16 10539, i16 5568, i16 0, i16 10540, i16 4170, i16 5570, i16 0, i16 5569, i16 0, i16 0, i16 0, i16 5571, i16 5572, i16 10541, i16 3586, i16 5573, i16 0, i16 6797, i16 0, i16 0, i16 0, i16 4186, i16 8227, i16 2474, i16 0, i16 8228, i16 3307, i16 0, i16 0, i16 0, i16 2761, i16 8229, i16 8230, i16 8231, i16 8232, i16 0, i16 4187, i16 8233, i16 0, i16 0, i16 0, i16 8234, i16 0, i16 3352, i16 8235, i16 1727, i16 8236, i16 0, i16 2071, i16 0, i16 0, i16 0, i16 0, i16 4961, i16 0, i16 0, i16 9421, i16 4960, i16 0, i16 4962, i16 9422, i16 0, i16 979, i16 9423, i16 2554, i16 0, i16 4963, i16 0, i16 9424, i16 1152, i16 4965, i16 0, i16 9425, i16 0, i16 9426, i16 4964, i16 0, i16 4966, i16 0, i16 9427, i16 0, i16 4967, i16 0, i16 0, i16 0, i16 10341, i16 10342, i16 5477, i16 0, i16 10343, i16 10344, i16 0, i16 0, i16 0, i16 10345, i16 0, i16 10346, i16 0, i16 0, i16 0, i16 10347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10348, i16 2104, i16 10349, i16 0, i16 0, i16 0, i16 0, i16 2175, i16 8612, i16 3107, i16 0, i16 8613, i16 8614, i16 8615, i16 0, i16 8616, i16 1208, i16 2913, i16 0, i16 0, i16 8617, i16 8618, i16 8619, i16 8620, i16 8621, i16 0, i16 4422, i16 1833, i16 3309, i16 3310, i16 0, i16 0, i16 933, i16 4427, i16 8622, i16 0, i16 0, i16 0, i16 0, i16 2695, i16 3881, i16 7678, i16 0, i16 2444, i16 0, i16 7679, i16 1764, i16 3882, i16 3883, i16 2359, i16 0, i16 3880, i16 0, i16 0, i16 0, i16 0, i16 3885, i16 7680, i16 3305, i16 7681, i16 7682, i16 0, i16 7683, i16 1659, i16 7684, i16 0, i16 3884, i16 7685, i16 0, i16 0, i16 0, i16 5002, i16 5001, i16 0, i16 9479, i16 9480, i16 9481, i16 0, i16 0, i16 0, i16 9482, i16 0, i16 9483, i16 0, i16 0, i16 0, i16 0, i16 9484, i16 2224, i16 9485, i16 9486, i16 3120, i16 881, i16 0, i16 9487, i16 9488, i16 0, i16 0, i16 3038, i16 9489, i16 0, i16 0, i16 0, i16 12200, i16 12201, i16 12202, i16 12203, i16 0, i16 12204, i16 6671, i16 0, i16 0, i16 6599, i16 0, i16 12205, i16 12206, i16 12207, i16 0, i16 0, i16 12208, i16 3640, i16 12209, i16 12210, i16 1555, i16 12211, i16 12212, i16 12213, i16 0, i16 12214, i16 0, i16 12215, i16 6609, i16 0, i16 0, i16 0, i16 1469, i16 0, i16 8946, i16 0, i16 8947, i16 4649, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8948, i16 8949, i16 8950, i16 1800, i16 4646, i16 0, i16 4645, i16 0, i16 0, i16 8951, i16 8952, i16 2925, i16 8953, i16 0, i16 8954, i16 2834, i16 8955, i16 0, i16 0, i16 0, i16 1223, i16 1538, i16 4235, i16 1083, i16 0, i16 8338, i16 4236, i16 0, i16 2462, i16 0, i16 0, i16 8339, i16 8340, i16 4237, i16 4277, i16 0, i16 4238, i16 0, i16 4239, i16 0, i16 0, i16 4240, i16 0, i16 4242, i16 0, i16 8341, i16 8342, i16 8343, i16 8344, i16 0, i16 0, i16 0, i16 5320, i16 5319, i16 5321, i16 10092, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5322, i16 5324, i16 5323, i16 0, i16 0, i16 1680, i16 10093, i16 5326, i16 0, i16 5325, i16 10094, i16 10095, i16 1158, i16 0, i16 2206, i16 0, i16 2747, i16 0, i16 5327, i16 2273, i16 0, i16 0, i16 0, i16 9928, i16 1677, i16 1845, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9929, i16 5264, i16 5265, i16 9930, i16 0, i16 9931, i16 0, i16 0, i16 0, i16 9932, i16 5267, i16 9933, i16 0, i16 0, i16 0, i16 0, i16 9934, i16 9935, i16 9936, i16 0, i16 0, i16 0, i16 4811, i16 0, i16 0, i16 0, i16 3111, i16 0, i16 0, i16 0, i16 9216, i16 0, i16 0, i16 9217, i16 9218, i16 9219, i16 9220, i16 9221, i16 0, i16 4823, i16 9222, i16 952, i16 4812, i16 0, i16 9223, i16 9224, i16 9225, i16 9226, i16 0, i16 4829, i16 4813, i16 0, i16 0, i16 0, i16 13009, i16 13010, i16 0, i16 13011, i16 7009, i16 0, i16 7008, i16 13012, i16 0, i16 0, i16 13013, i16 13014, i16 1463, i16 0, i16 0, i16 13015, i16 13016, i16 0, i16 13017, i16 13018, i16 13019, i16 13020, i16 0, i16 7013, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11738, i16 0, i16 0, i16 1460, i16 0, i16 0, i16 0, i16 0, i16 6342, i16 6344, i16 11739, i16 0, i16 6345, i16 1251, i16 5811, i16 2150, i16 0, i16 6346, i16 0, i16 11740, i16 1575, i16 11741, i16 11742, i16 0, i16 0, i16 11743, i16 6347, i16 11744, i16 0, i16 0, i16 0, i16 0, i16 5086, i16 9609, i16 9610, i16 0, i16 0, i16 9611, i16 9612, i16 3388, i16 9613, i16 0, i16 5084, i16 5088, i16 9614, i16 0, i16 9615, i16 9616, i16 9617, i16 9618, i16 0, i16 1545, i16 9619, i16 2098, i16 0, i16 0, i16 2556, i16 9620, i16 9621, i16 9622, i16 5078, i16 0, i16 0, i16 0, i16 7917, i16 7918, i16 0, i16 0, i16 1489, i16 4034, i16 4032, i16 2394, i16 1257, i16 1321, i16 7919, i16 4029, i16 0, i16 1393, i16 0, i16 7920, i16 0, i16 0, i16 0, i16 875, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7921, i16 0, i16 0, i16 0, i16 238, i16 0, i16 300, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1015, i16 0, i16 11621, i16 2163, i16 6275, i16 0, i16 11622, i16 0, i16 11623, i16 0, i16 11624, i16 0, i16 0, i16 0, i16 11625, i16 0, i16 11626, i16 6276, i16 0, i16 11627, i16 0, i16 6277, i16 11628, i16 0, i16 0, i16 0, i16 11629, i16 0, i16 11630, i16 0, i16 0, i16 7936, i16 1823, i16 4040, i16 0, i16 0, i16 0, i16 0, i16 7937, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7938, i16 4043, i16 0, i16 4048, i16 0, i16 0, i16 0, i16 4046, i16 4045, i16 7939, i16 0, i16 0, i16 8448, i16 8449, i16 0, i16 0, i16 8450, i16 0, i16 8451, i16 0, i16 8455, i16 4317, i16 4314, i16 0, i16 4316, i16 0, i16 3553, i16 8453, i16 4315, i16 0, i16 0, i16 8452, i16 0, i16 0, i16 0, i16 8454, i16 0, i16 0, i16 4305, i16 0, i16 0, i16 8456, i16 0, i16 0, i16 2310, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8927, i16 0, i16 0, i16 4643, i16 8928, i16 0, i16 8929, i16 8930, i16 8931, i16 8932, i16 0, i16 0, i16 0, i16 2725, i16 0, i16 8933, i16 8934, i16 8935, i16 8936, i16 0, i16 8937, i16 0, i16 0, i16 10759, i16 10760, i16 10761, i16 10762, i16 10763, i16 5714, i16 0, i16 0, i16 1368, i16 3077, i16 10764, i16 10765, i16 10766, i16 2420, i16 0, i16 3613, i16 2046, i16 0, i16 0, i16 5762, i16 0, i16 10767, i16 5724, i16 10768, i16 2343, i16 0, i16 5720, i16 5725, i16 5727, i16 0, i16 0, i16 0, i16 6161, i16 11432, i16 11433, i16 11434, i16 11435, i16 11436, i16 11437, i16 11438, i16 0, i16 11439, i16 11440, i16 3498, i16 0, i16 0, i16 11441, i16 0, i16 0, i16 11442, i16 0, i16 11443, i16 0, i16 11444, i16 11445, i16 11446, i16 0, i16 0, i16 0, i16 0, i16 11447, i16 6160, i16 0, i16 0, i16 8998, i16 4677, i16 4676, i16 0, i16 8999, i16 0, i16 0, i16 9000, i16 4644, i16 4678, i16 4666, i16 0, i16 9001, i16 1836, i16 0, i16 9002, i16 0, i16 0, i16 4679, i16 4680, i16 4682, i16 4681, i16 4683, i16 1027, i16 9003, i16 1613, i16 9004, i16 9005, i16 3281, i16 2264, i16 0, i16 0, i16 13103, i16 13104, i16 0, i16 0, i16 0, i16 7071, i16 7072, i16 13105, i16 0, i16 0, i16 0, i16 0, i16 2723, i16 13106, i16 13107, i16 13108, i16 13109, i16 1558, i16 13110, i16 7074, i16 13111, i16 13112, i16 0, i16 13113, i16 13114, i16 13115, i16 0, i16 0, i16 0, i16 13116, i16 0, i16 0, i16 1852, i16 10946, i16 0, i16 1337, i16 2289, i16 3697, i16 3391, i16 5865, i16 2301, i16 10947, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10948, i16 10949, i16 10950, i16 0, i16 1266, i16 5868, i16 10951, i16 0, i16 10952, i16 0, i16 0, i16 0, i16 4159, i16 0, i16 0, i16 8181, i16 8182, i16 0, i16 0, i16 3238, i16 4160, i16 8183, i16 8184, i16 0, i16 0, i16 971, i16 4161, i16 0, i16 8185, i16 8186, i16 8187, i16 3499, i16 1043, i16 0, i16 3939, i16 2007, i16 2468, i16 4162, i16 3452, i16 8189, i16 0, i16 0, i16 0, i16 0, i16 9280, i16 0, i16 0, i16 9281, i16 0, i16 0, i16 0, i16 9282, i16 3515, i16 0, i16 0, i16 0, i16 9283, i16 0, i16 0, i16 0, i16 0, i16 3181, i16 4862, i16 2479, i16 0, i16 9284, i16 0, i16 4868, i16 2374, i16 9285, i16 4859, i16 4872, i16 4871, i16 0, i16 0, i16 0, i16 334, i16 335, i16 0, i16 0, i16 332, i16 333, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5718, i16 5712, i16 0, i16 0, i16 10752, i16 10753, i16 0, i16 0, i16 10754, i16 5716, i16 1963, i16 806, i16 5711, i16 5719, i16 5723, i16 1634, i16 3431, i16 10755, i16 2679, i16 5713, i16 10756, i16 10757, i16 5721, i16 10758, i16 5710, i16 2561, i16 0, i16 5715, i16 774, i16 3419, i16 0, i16 0, i16 9566, i16 0, i16 0, i16 5052, i16 0, i16 9567, i16 2096, i16 0, i16 0, i16 0, i16 3487, i16 0, i16 5049, i16 0, i16 0, i16 9568, i16 9569, i16 5044, i16 9570, i16 5050, i16 9571, i16 9572, i16 9573, i16 3627, i16 0, i16 2802, i16 2847, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3942, i16 7777, i16 3458, i16 0, i16 0, i16 7778, i16 7779, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7780, i16 0, i16 0, i16 0, i16 0, i16 7781, i16 7782, i16 0, i16 3943, i16 0, i16 3615, i16 7783, i16 1589, i16 0, i16 0, i16 7784, i16 0, i16 1519, i16 0, i16 0, i16 9320, i16 0, i16 0, i16 9321, i16 0, i16 4903, i16 4896, i16 0, i16 0, i16 4909, i16 0, i16 4907, i16 9322, i16 9323, i16 0, i16 9324, i16 4902, i16 9325, i16 0, i16 9326, i16 0, i16 0, i16 0, i16 4901, i16 0, i16 2673, i16 0, i16 2412, i16 9327, i16 4899, i16 0, i16 0, i16 12650, i16 12651, i16 0, i16 12652, i16 12653, i16 1557, i16 0, i16 0, i16 12654, i16 6810, i16 12655, i16 0, i16 0, i16 6811, i16 6812, i16 6813, i16 0, i16 6815, i16 6814, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4205, i16 8279, i16 0, i16 8280, i16 3151, i16 8281, i16 0, i16 0, i16 4206, i16 0, i16 4201, i16 8282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8283, i16 0, i16 0, i16 8284, i16 8285, i16 0, i16 0, i16 8286, i16 3404, i16 0, i16 0, i16 2671, i16 2855, i16 880, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2331, i16 9194, i16 0, i16 2269, i16 1413, i16 0, i16 9195, i16 0, i16 0, i16 0, i16 9196, i16 4801, i16 9197, i16 0, i16 0, i16 12666, i16 6821, i16 6820, i16 12667, i16 6822, i16 0, i16 12668, i16 0, i16 0, i16 0, i16 12669, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3085, i16 5822, i16 0, i16 0, i16 2164, i16 0, i16 0, i16 12678, i16 6825, i16 0, i16 3440, i16 0, i16 12679, i16 12680, i16 6826, i16 3531, i16 0, i16 873, i16 0, i16 0, i16 0, i16 1812, i16 12681, i16 6827, i16 1011, i16 6828, i16 12682, i16 12683, i16 12684, i16 6829, i16 0, i16 12685, i16 12686, i16 12687, i16 6831, i16 6832, i16 12688, i16 0, i16 0, i16 7827, i16 0, i16 7828, i16 0, i16 7829, i16 7830, i16 1967, i16 7831, i16 1959, i16 7832, i16 0, i16 7833, i16 7834, i16 0, i16 3977, i16 3975, i16 0, i16 3380, i16 7835, i16 3972, i16 3981, i16 3976, i16 0, i16 0, i16 0, i16 3979, i16 1535, i16 3408, i16 0, i16 7836, i16 0, i16 0, i16 9623, i16 9624, i16 0, i16 0, i16 0, i16 3486, i16 9625, i16 0, i16 0, i16 5081, i16 0, i16 0, i16 5074, i16 2801, i16 0, i16 0, i16 5077, i16 9626, i16 0, i16 0, i16 5083, i16 0, i16 0, i16 0, i16 0, i16 9627, i16 0, i16 9628, i16 3708, i16 1903, i16 0, i16 0, i16 10135, i16 5355, i16 10136, i16 5354, i16 0, i16 0, i16 0, i16 0, i16 0, i16 893, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5363, i16 3073, i16 5357, i16 10137, i16 5359, i16 0, i16 0, i16 5361, i16 2185, i16 10138, i16 0, i16 5362, i16 5360, i16 1905, i16 10139, i16 0, i16 0, i16 7585, i16 3813, i16 7586, i16 3811, i16 7587, i16 2389, i16 7588, i16 7589, i16 0, i16 0, i16 0, i16 3812, i16 3814, i16 7590, i16 0, i16 7591, i16 7603, i16 0, i16 0, i16 3816, i16 7592, i16 0, i16 0, i16 3815, i16 7593, i16 3229, i16 0, i16 0, i16 7594, i16 0, i16 0, i16 0, i16 6307, i16 11695, i16 6305, i16 0, i16 11696, i16 2575, i16 11697, i16 11698, i16 11699, i16 2282, i16 1171, i16 6306, i16 0, i16 2214, i16 0, i16 11700, i16 3607, i16 11701, i16 11702, i16 11703, i16 3691, i16 11704, i16 0, i16 0, i16 6308, i16 6319, i16 2646, i16 11705, i16 6318, i16 11706, i16 0, i16 0, i16 12974, i16 6986, i16 0, i16 0, i16 6987, i16 2843, i16 6984, i16 6983, i16 0, i16 12973, i16 0, i16 0, i16 943, i16 0, i16 0, i16 12975, i16 6995, i16 0, i16 0, i16 6994, i16 0, i16 12976, i16 12977, i16 0, i16 0, i16 924, i16 12978, i16 12979, i16 12980, i16 6992, i16 0, i16 0, i16 1714, i16 0, i16 0, i16 10326, i16 10327, i16 0, i16 0, i16 10328, i16 0, i16 0, i16 5472, i16 10329, i16 10330, i16 0, i16 0, i16 10331, i16 5473, i16 0, i16 1503, i16 1738, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10332, i16 0, i16 0, i16 0, i16 0, i16 9906, i16 0, i16 9907, i16 9908, i16 0, i16 9909, i16 0, i16 0, i16 5255, i16 9910, i16 0, i16 9911, i16 0, i16 0, i16 0, i16 0, i16 9912, i16 9913, i16 0, i16 0, i16 5257, i16 5254, i16 9914, i16 9915, i16 0, i16 3429, i16 5256, i16 5258, i16 9916, i16 3601, i16 0, i16 0, i16 4280, i16 7388, i16 0, i16 0, i16 0, i16 0, i16 7389, i16 7390, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3551, i16 0, i16 2906, i16 7391, i16 7392, i16 0, i16 0, i16 0, i16 7393, i16 0, i16 0, i16 0, i16 0, i16 1126, i16 7394, i16 0, i16 0, i16 9401, i16 9402, i16 3554, i16 4948, i16 9403, i16 9404, i16 0, i16 9405, i16 4900, i16 0, i16 0, i16 0, i16 0, i16 9406, i16 9407, i16 9408, i16 4951, i16 0, i16 0, i16 0, i16 4952, i16 9409, i16 0, i16 0, i16 0, i16 9410, i16 0, i16 860, i16 9411, i16 4954, i16 0, i16 0, i16 2749, i16 6472, i16 0, i16 0, i16 0, i16 0, i16 11939, i16 0, i16 0, i16 6475, i16 0, i16 11946, i16 11940, i16 0, i16 11941, i16 11942, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11943, i16 1893, i16 11944, i16 11945, i16 6474, i16 6473, i16 1461, i16 6476, i16 0, i16 0, i16 0, i16 9917, i16 0, i16 9918, i16 5262, i16 0, i16 9919, i16 9920, i16 5261, i16 2617, i16 2920, i16 9921, i16 0, i16 1502, i16 5260, i16 0, i16 9922, i16 9923, i16 0, i16 5259, i16 9924, i16 3488, i16 3489, i16 0, i16 0, i16 9925, i16 9926, i16 0, i16 9927, i16 5263, i16 917, i16 0, i16 0, i16 5579, i16 0, i16 5592, i16 0, i16 5582, i16 10551, i16 1287, i16 0, i16 5581, i16 5594, i16 0, i16 0, i16 0, i16 5580, i16 0, i16 2109, i16 0, i16 0, i16 10552, i16 0, i16 0, i16 0, i16 5584, i16 5585, i16 0, i16 2730, i16 0, i16 0, i16 5586, i16 10553, i16 0, i16 0, i16 7119, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 360, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6868, i16 0, i16 0, i16 0, i16 0, i16 12737, i16 0, i16 0, i16 12738, i16 12739, i16 12740, i16 6859, i16 6860, i16 0, i16 12741, i16 6861, i16 6862, i16 0, i16 12742, i16 12743, i16 0, i16 0, i16 6864, i16 12744, i16 0, i16 6863, i16 0, i16 12745, i16 12746, i16 2024, i16 0, i16 0, i16 4310, i16 8439, i16 8440, i16 0, i16 8441, i16 8442, i16 0, i16 3277, i16 0, i16 8438, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8443, i16 0, i16 0, i16 8444, i16 0, i16 0, i16 0, i16 0, i16 8445, i16 0, i16 0, i16 0, i16 8446, i16 0, i16 8447, i16 0, i16 0, i16 2523, i16 0, i16 10008, i16 5286, i16 10009, i16 0, i16 10010, i16 10011, i16 10012, i16 10013, i16 10014, i16 10015, i16 10016, i16 10017, i16 10018, i16 10019, i16 5288, i16 3619, i16 1364, i16 3093, i16 2949, i16 0, i16 0, i16 10020, i16 5289, i16 0, i16 0, i16 0, i16 0, i16 5291, i16 0, i16 0, i16 6368, i16 0, i16 0, i16 6370, i16 11784, i16 11785, i16 0, i16 6369, i16 6371, i16 11786, i16 3321, i16 6372, i16 6373, i16 0, i16 11787, i16 0, i16 11788, i16 11789, i16 6374, i16 0, i16 0, i16 0, i16 6376, i16 11790, i16 0, i16 11791, i16 11792, i16 1040, i16 2696, i16 0, i16 0, i16 0, i16 7648, i16 0, i16 2257, i16 3861, i16 2025, i16 0, i16 7649, i16 3862, i16 0, i16 2623, i16 3596, i16 2783, i16 0, i16 7650, i16 0, i16 7651, i16 7652, i16 7653, i16 0, i16 7654, i16 3935, i16 0, i16 7655, i16 0, i16 0, i16 3863, i16 7099, i16 1346, i16 7656, i16 0, i16 0, i16 0, i16 6882, i16 0, i16 6884, i16 6883, i16 0, i16 0, i16 0, i16 6885, i16 6887, i16 6886, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 745, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 735, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8685, i16 0, i16 8686, i16 2141, i16 4477, i16 2868, i16 8687, i16 8688, i16 8689, i16 8690, i16 0, i16 0, i16 8691, i16 8692, i16 0, i16 3698, i16 0, i16 4473, i16 8693, i16 8694, i16 0, i16 0, i16 4479, i16 8695, i16 1682, i16 8696, i16 2292, i16 8697, i16 8698, i16 797, i16 0, i16 0, i16 4592, i16 0, i16 8825, i16 2551, i16 4586, i16 4593, i16 4588, i16 4595, i16 4591, i16 0, i16 4590, i16 2986, i16 8826, i16 4584, i16 1026, i16 4582, i16 1296, i16 2520, i16 4578, i16 8827, i16 8828, i16 4581, i16 1611, i16 2308, i16 8829, i16 2084, i16 4589, i16 2957, i16 0, i16 0, i16 0, i16 0, i16 1265, i16 2324, i16 1901, i16 3479, i16 4245, i16 0, i16 8355, i16 8356, i16 0, i16 0, i16 8357, i16 8358, i16 1275, i16 8359, i16 1728, i16 8360, i16 8361, i16 1045, i16 906, i16 2073, i16 973, i16 8362, i16 4246, i16 3509, i16 8363, i16 0, i16 8364, i16 0, i16 0, i16 2008, i16 0, i16 0, i16 3570, i16 2894, i16 0, i16 0, i16 0, i16 0, i16 850, i16 12532, i16 2316, i16 1895, i16 0, i16 0, i16 0, i16 12533, i16 3212, i16 12534, i16 871, i16 0, i16 0, i16 0, i16 3642, i16 3546, i16 0, i16 6745, i16 12535, i16 2756, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7672, i16 0, i16 3030, i16 3233, i16 0, i16 3875, i16 7673, i16 3559, i16 3876, i16 0, i16 0, i16 0, i16 3877, i16 0, i16 2813, i16 7674, i16 7675, i16 3878, i16 0, i16 7676, i16 2258, i16 1779, i16 1487, i16 3879, i16 1820, i16 1670, i16 7677, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3834, i16 0, i16 7631, i16 2907, i16 7632, i16 0, i16 2363, i16 3836, i16 3837, i16 3013, i16 1585, i16 3686, i16 3838, i16 0, i16 0, i16 1315, i16 0, i16 0, i16 0, i16 3217, i16 2459, i16 1390, i16 2740, i16 0, i16 0, i16 0, i16 1486, i16 0, i16 7633, i16 0, i16 0, i16 0, i16 13052, i16 0, i16 0, i16 0, i16 0, i16 13053, i16 0, i16 0, i16 13051, i16 0, i16 0, i16 0, i16 13054, i16 0, i16 13055, i16 13056, i16 13057, i16 0, i16 0, i16 13058, i16 13059, i16 0, i16 0, i16 13060, i16 7032, i16 7033, i16 13061, i16 13062, i16 7034, i16 0, i16 0, i16 0, i16 9469, i16 0, i16 9470, i16 9471, i16 0, i16 0, i16 4997, i16 9472, i16 0, i16 0, i16 0, i16 9473, i16 9474, i16 1844, i16 9475, i16 3394, i16 9476, i16 4998, i16 4999, i16 0, i16 0, i16 1219, i16 0, i16 9477, i16 0, i16 5000, i16 0, i16 0, i16 0, i16 9478, i16 0, i16 2304, i16 0, i16 6423, i16 11858, i16 11859, i16 0, i16 11860, i16 1554, i16 0, i16 6420, i16 6421, i16 11861, i16 0, i16 0, i16 3668, i16 11862, i16 11864, i16 11865, i16 2648, i16 11866, i16 2352, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6424, i16 11867, i16 0, i16 6427, i16 0, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 0, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 520, i16 521, i16 522, i16 523, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 0, i16 1028, i16 1703, i16 6923, i16 6922, i16 3382, i16 0, i16 0, i16 12844, i16 0, i16 0, i16 12845, i16 12846, i16 6925, i16 6926, i16 6924, i16 0, i16 6927, i16 0, i16 0, i16 3349, i16 12847, i16 12848, i16 12849, i16 6928, i16 0, i16 1306, i16 12850, i16 0, i16 0, i16 12851, i16 0, i16 0, i16 6661, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6659, i16 0, i16 0, i16 12412, i16 12413, i16 0, i16 12414, i16 12415, i16 12416, i16 12417, i16 6660, i16 6658, i16 0, i16 2525, i16 0, i16 6662, i16 12418, i16 0, i16 12420, i16 0, i16 12419, i16 0, i16 12549, i16 6764, i16 12550, i16 6761, i16 0, i16 6762, i16 0, i16 6763, i16 6765, i16 12551, i16 0, i16 0, i16 0, i16 12552, i16 12553, i16 0, i16 0, i16 2285, i16 0, i16 0, i16 12554, i16 3464, i16 12555, i16 12556, i16 2286, i16 12557, i16 12558, i16 6766, i16 0, i16 3084, i16 0, i16 0, i16 6663, i16 0, i16 12421, i16 6665, i16 12422, i16 0, i16 0, i16 12423, i16 0, i16 12424, i16 0, i16 12425, i16 0, i16 0, i16 0, i16 0, i16 1174, i16 6664, i16 3467, i16 0, i16 12426, i16 0, i16 0, i16 0, i16 12427, i16 6676, i16 6666, i16 12428, i16 0, i16 6669, i16 12429, i16 0, i16 4105, i16 8057, i16 0, i16 1690, i16 8058, i16 2550, i16 8059, i16 8060, i16 4102, i16 2683, i16 8061, i16 0, i16 8062, i16 8063, i16 8064, i16 8065, i16 8066, i16 0, i16 8067, i16 8068, i16 8069, i16 0, i16 8070, i16 0, i16 8071, i16 8072, i16 8073, i16 8074, i16 0, i16 8075, i16 4106, i16 0, i16 6409, i16 11827, i16 0, i16 11828, i16 2647, i16 0, i16 0, i16 11829, i16 0, i16 898, i16 0, i16 0, i16 11830, i16 0, i16 0, i16 11831, i16 11832, i16 0, i16 0, i16 0, i16 11833, i16 0, i16 0, i16 0, i16 6410, i16 0, i16 0, i16 0, i16 0, i16 11834, i16 11835, i16 0, i16 3338, i16 2521, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3370, i16 0, i16 0, i16 5024, i16 0, i16 9517, i16 5025, i16 9518, i16 980, i16 9519, i16 0, i16 0, i16 0, i16 3197, i16 3470, i16 5027, i16 1876, i16 2095, i16 5020, i16 5026, i16 911, i16 0, i16 3595, i16 0, i16 7373, i16 7374, i16 0, i16 3223, i16 0, i16 7375, i16 0, i16 3714, i16 7376, i16 0, i16 2601, i16 7377, i16 7378, i16 7379, i16 3715, i16 1399, i16 0, i16 0, i16 7380, i16 3716, i16 0, i16 1182, i16 2547, i16 0, i16 1944, i16 3717, i16 0, i16 0, i16 3718, i16 0, i16 4364, i16 4365, i16 2956, i16 0, i16 0, i16 8542, i16 0, i16 4366, i16 3652, i16 3672, i16 8544, i16 8543, i16 0, i16 8545, i16 4368, i16 4367, i16 8546, i16 8547, i16 1066, i16 8548, i16 8549, i16 4369, i16 0, i16 0, i16 0, i16 4372, i16 4373, i16 8550, i16 4371, i16 8551, i16 3127, i16 0, i16 1549, i16 1851, i16 0, i16 0, i16 3079, i16 10923, i16 10924, i16 0, i16 1507, i16 3318, i16 10925, i16 5857, i16 5855, i16 0, i16 1637, i16 0, i16 1638, i16 818, i16 0, i16 1757, i16 0, i16 0, i16 0, i16 10926, i16 10927, i16 2964, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3599, i16 9227, i16 4820, i16 9228, i16 2970, i16 9229, i16 0, i16 9230, i16 0, i16 0, i16 0, i16 0, i16 4828, i16 0, i16 4815, i16 0, i16 0, i16 0, i16 765, i16 4817, i16 0, i16 9231, i16 1619, i16 9232, i16 0, i16 9233, i16 4819, i16 9234, i16 4818, i16 0, i16 4814, i16 0, i16 4879, i16 0, i16 4887, i16 0, i16 9315, i16 0, i16 7096, i16 9316, i16 0, i16 4884, i16 1620, i16 2665, i16 2411, i16 4882, i16 0, i16 4877, i16 9317, i16 0, i16 4880, i16 0, i16 0, i16 9318, i16 9319, i16 3516, i16 3357, i16 0, i16 0, i16 0, i16 4885, i16 4895, i16 0, i16 0, i16 11023, i16 11024, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11025, i16 5925, i16 1641, i16 5926, i16 3045, i16 0, i16 5940, i16 0, i16 0, i16 0, i16 11026, i16 5928, i16 11027, i16 2478, i16 2992, i16 1528, i16 5927, i16 2348, i16 11028, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5395, i16 5396, i16 0, i16 10200, i16 10201, i16 0, i16 5400, i16 5397, i16 5398, i16 5399, i16 0, i16 5401, i16 10202, i16 10203, i16 10204, i16 5402, i16 10205, i16 5403, i16 0, i16 10206, i16 0, i16 5404, i16 0, i16 5405, i16 0, i16 3016, i16 2767, i16 5406, i16 2989, i16 3115, i16 0, i16 0, i16 8468, i16 4323, i16 8469, i16 4322, i16 0, i16 0, i16 4321, i16 8470, i16 0, i16 8471, i16 2791, i16 4300, i16 0, i16 0, i16 0, i16 4329, i16 0, i16 8472, i16 8473, i16 8474, i16 8475, i16 0, i16 0, i16 0, i16 8476, i16 0, i16 8477, i16 0, i16 4325, i16 0, i16 8478, i16 0, i16 6679, i16 0, i16 12440, i16 12439, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1304, i16 3121, i16 0, i16 9655, i16 0, i16 1904, i16 0, i16 9656, i16 1678, i16 9657, i16 0, i16 9658, i16 9659, i16 0, i16 3678, i16 0, i16 5110, i16 0, i16 5122, i16 912, i16 2413, i16 9660, i16 0, i16 9661, i16 0, i16 9662, i16 9663, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8729, i16 4504, i16 0, i16 4505, i16 8730, i16 8731, i16 4494, i16 1871, i16 8732, i16 4498, i16 2491, i16 1609, i16 4480, i16 2176, i16 0, i16 0, i16 0, i16 0, i16 4518, i16 0, i16 3262, i16 0, i16 0, i16 4508, i16 4509, i16 4510, i16 0, i16 0, i16 4517, i16 8733, i16 4516, i16 0, i16 9757, i16 0, i16 0, i16 0, i16 9758, i16 9759, i16 0, i16 0, i16 3666, i16 2225, i16 0, i16 0, i16 0, i16 913, i16 0, i16 0, i16 0, i16 5174, i16 0, i16 9760, i16 9761, i16 9762, i16 9763, i16 9764, i16 5173, i16 0, i16 9765, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7458, i16 7459, i16 1127, i16 7460, i16 7461, i16 3762, i16 0, i16 3754, i16 7462, i16 7463, i16 3632, i16 7464, i16 1867, i16 7465, i16 3755, i16 7466, i16 3760, i16 7467, i16 7468, i16 7469, i16 0, i16 3763, i16 7470, i16 3756, i16 7471, i16 7472, i16 1310, i16 0, i16 790, i16 7473, i16 7474, i16 0, i16 11555, i16 6226, i16 0, i16 6231, i16 0, i16 11556, i16 3192, i16 0, i16 0, i16 6233, i16 0, i16 6232, i16 11557, i16 11558, i16 11559, i16 1103, i16 0, i16 3294, i16 6234, i16 0, i16 11560, i16 11561, i16 0, i16 11562, i16 11563, i16 11564, i16 0, i16 11565, i16 6246, i16 6236, i16 0, i16 0, i16 1572, i16 0, i16 0, i16 0, i16 0, i16 5480, i16 2711, i16 0, i16 0, i16 10359, i16 0, i16 5483, i16 1050, i16 5478, i16 10360, i16 0, i16 3075, i16 0, i16 855, i16 10361, i16 1761, i16 0, i16 3709, i16 10362, i16 0, i16 5482, i16 0, i16 0, i16 10364, i16 10365, i16 10366, i16 0, i16 6950, i16 6947, i16 6946, i16 6948, i16 12905, i16 0, i16 12906, i16 1466, i16 0, i16 12907, i16 12908, i16 0, i16 0, i16 0, i16 12909, i16 6954, i16 6953, i16 6952, i16 12910, i16 0, i16 764, i16 0, i16 12911, i16 12912, i16 12913, i16 12914, i16 0, i16 0, i16 12915, i16 0, i16 12916, i16 0, i16 2856, i16 4921, i16 0, i16 9357, i16 0, i16 4923, i16 9358, i16 0, i16 0, i16 9359, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9360, i16 4917, i16 9361, i16 0, i16 0, i16 0, i16 0, i16 4919, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9362, i16 1091, i16 0, i16 11816, i16 0, i16 11817, i16 6393, i16 6394, i16 0, i16 6396, i16 2440, i16 11818, i16 6395, i16 1191, i16 0, i16 6398, i16 0, i16 6397, i16 6399, i16 0, i16 11819, i16 6401, i16 6403, i16 0, i16 6404, i16 11820, i16 0, i16 0, i16 0, i16 11821, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6188, i16 6187, i16 6118, i16 0, i16 0, i16 0, i16 6192, i16 11497, i16 0, i16 0, i16 0, i16 0, i16 11498, i16 11499, i16 0, i16 11500, i16 6189, i16 11501, i16 0, i16 0, i16 11502, i16 6190, i16 0, i16 0, i16 6191, i16 11503, i16 6193, i16 11504, i16 0, i16 0, i16 0, i16 0, i16 8237, i16 0, i16 8238, i16 8239, i16 0, i16 4188, i16 0, i16 8240, i16 1827, i16 8241, i16 1826, i16 0, i16 8242, i16 0, i16 0, i16 770, i16 1537, i16 8243, i16 2260, i16 794, i16 0, i16 0, i16 0, i16 0, i16 4192, i16 4193, i16 0, i16 4190, i16 8244, i16 8245, i16 8246, i16 0, i16 4912, i16 4937, i16 4936, i16 0, i16 0, i16 9383, i16 0, i16 9385, i16 9384, i16 0, i16 0, i16 9386, i16 0, i16 0, i16 0, i16 9387, i16 4942, i16 0, i16 3665, i16 9388, i16 9389, i16 9390, i16 0, i16 0, i16 0, i16 4945, i16 1400, i16 9391, i16 9392, i16 4941, i16 4943, i16 0, i16 12592, i16 0, i16 6789, i16 12593, i16 12594, i16 6790, i16 12595, i16 6791, i16 12596, i16 12597, i16 6792, i16 12598, i16 12599, i16 12600, i16 0, i16 12601, i16 12602, i16 0, i16 1179, i16 12603, i16 0, i16 0, i16 12604, i16 12605, i16 12606, i16 0, i16 12610, i16 6793, i16 12607, i16 12608, i16 0, i16 0, i16 819, i16 0, i16 12066, i16 12067, i16 12068, i16 0, i16 12069, i16 12070, i16 0, i16 1648, i16 0, i16 12064, i16 0, i16 3685, i16 0, i16 0, i16 0, i16 12079, i16 0, i16 0, i16 12071, i16 0, i16 12072, i16 12073, i16 12074, i16 0, i16 6560, i16 12075, i16 12076, i16 0, i16 12077, i16 0, i16 6451, i16 11911, i16 11912, i16 6454, i16 6453, i16 0, i16 6452, i16 0, i16 11913, i16 6456, i16 6455, i16 0, i16 3463, i16 0, i16 0, i16 11914, i16 6458, i16 11915, i16 6457, i16 6459, i16 11916, i16 0, i16 0, i16 0, i16 6460, i16 11917, i16 11918, i16 0, i16 11919, i16 11920, i16 0, i16 0, i16 1332, i16 9520, i16 0, i16 5017, i16 5022, i16 9521, i16 0, i16 0, i16 2333, i16 2988, i16 0, i16 3072, i16 9522, i16 0, i16 9523, i16 9524, i16 9525, i16 9526, i16 5019, i16 9527, i16 3284, i16 9528, i16 5021, i16 0, i16 5030, i16 9529, i16 5028, i16 9530, i16 5023, i16 0, i16 0, i16 0, i16 6708, i16 12480, i16 0, i16 12481, i16 12482, i16 12483, i16 0, i16 6709, i16 0, i16 1754, i16 0, i16 12484, i16 0, i16 6710, i16 6711, i16 0, i16 12485, i16 3324, i16 12486, i16 0, i16 0, i16 0, i16 12487, i16 12488, i16 12489, i16 12490, i16 2386, i16 12491, i16 12492, i16 0, i16 749, i16 0, i16 12852, i16 0, i16 12853, i16 0, i16 12854, i16 12855, i16 0, i16 12856, i16 0, i16 12857, i16 12858, i16 12859, i16 12860, i16 12861, i16 3664, i16 0, i16 0, i16 0, i16 12862, i16 6929, i16 12863, i16 0, i16 12864, i16 12865, i16 12866, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12867, i16 0, i16 10805, i16 10806, i16 0, i16 0, i16 10807, i16 5742, i16 5750, i16 0, i16 5758, i16 5757, i16 10808, i16 0, i16 3373, i16 10809, i16 10810, i16 1414, i16 0, i16 0, i16 10811, i16 0, i16 0, i16 0, i16 0, i16 10812, i16 5756, i16 0, i16 5760, i16 5759, i16 5763, i16 10813, i16 5765, i16 0, i16 2872, i16 2230, i16 12031, i16 12032, i16 2588, i16 0, i16 1397, i16 0, i16 6536, i16 3494, i16 870, i16 12033, i16 3244, i16 998, i16 6531, i16 6532, i16 6533, i16 6534, i16 2840, i16 2534, i16 812, i16 6538, i16 0, i16 6539, i16 7097, i16 0, i16 12034, i16 2466, i16 12035, i16 6540, i16 0, i16 0, i16 6969, i16 12928, i16 12929, i16 6968, i16 6967, i16 12930, i16 12931, i16 12932, i16 12933, i16 12934, i16 0, i16 0, i16 3136, i16 6965, i16 828, i16 6970, i16 12935, i16 6972, i16 0, i16 0, i16 12936, i16 12937, i16 12938, i16 0, i16 1106, i16 6951, i16 862, i16 0, i16 12939, i16 6974, i16 0, i16 0, i16 9018, i16 4694, i16 4695, i16 0, i16 9019, i16 0, i16 3213, i16 4241, i16 2287, i16 9020, i16 0, i16 3139, i16 0, i16 1741, i16 0, i16 3070, i16 3036, i16 9021, i16 0, i16 0, i16 9022, i16 0, i16 2764, i16 9023, i16 3598, i16 0, i16 4697, i16 1921, i16 9024, i16 0, i16 4698, i16 0, i16 1341, i16 12391, i16 0, i16 6651, i16 6645, i16 12392, i16 12393, i16 6644, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12395, i16 12396, i16 12394, i16 12397, i16 12398, i16 0, i16 12399, i16 0, i16 0, i16 0, i16 6462, i16 11921, i16 0, i16 0, i16 0, i16 0, i16 11922, i16 0, i16 11923, i16 6461, i16 2195, i16 6463, i16 11924, i16 11925, i16 1386, i16 6464, i16 6466, i16 0, i16 11926, i16 0, i16 11927, i16 0, i16 0, i16 0, i16 0, i16 11928, i16 11929, i16 0, i16 0, i16 6467, i16 0, i16 0, i16 10814, i16 1807, i16 5761, i16 0, i16 0, i16 10815, i16 10816, i16 5766, i16 5767, i16 10817, i16 0, i16 5768, i16 10818, i16 5774, i16 2746, i16 5770, i16 10819, i16 5769, i16 5771, i16 5772, i16 10820, i16 5773, i16 0, i16 10821, i16 0, i16 10822, i16 5775, i16 5776, i16 10823, i16 10824, i16 0, i16 0, i16 11328, i16 6096, i16 0, i16 0, i16 0, i16 0, i16 11329, i16 0, i16 11330, i16 0, i16 0, i16 0, i16 3557, i16 0, i16 5430, i16 6098, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11331, i16 0, i16 11332, i16 0, i16 11333, i16 0, i16 11334, i16 11335, i16 0, i16 6099, i16 0, i16 8772, i16 8773, i16 4542, i16 0, i16 8776, i16 4541, i16 8774, i16 0, i16 8775, i16 0, i16 0, i16 8777, i16 8778, i16 0, i16 8779, i16 0, i16 0, i16 2633, i16 0, i16 4545, i16 0, i16 4543, i16 4533, i16 1495, i16 0, i16 4544, i16 0, i16 4548, i16 4547, i16 4549, i16 4546, i16 0, i16 9798, i16 0, i16 0, i16 0, i16 9799, i16 9800, i16 9801, i16 0, i16 3656, i16 9802, i16 9803, i16 5194, i16 0, i16 2338, i16 0, i16 9804, i16 0, i16 9805, i16 0, i16 0, i16 5190, i16 5195, i16 9806, i16 0, i16 915, i16 9807, i16 0, i16 9808, i16 0, i16 9809, i16 0, i16 0, i16 2122, i16 6364, i16 11773, i16 11774, i16 0, i16 11775, i16 0, i16 11776, i16 11777, i16 1666, i16 3724, i16 6365, i16 11778, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11779, i16 0, i16 11780, i16 11781, i16 0, i16 6366, i16 3126, i16 6367, i16 11782, i16 6375, i16 0, i16 11783, i16 0, i16 0, i16 1355, i16 1412, i16 5657, i16 0, i16 0, i16 10668, i16 10669, i16 0, i16 3209, i16 0, i16 2227, i16 0, i16 3393, i16 0, i16 10670, i16 5658, i16 0, i16 3584, i16 0, i16 10671, i16 2991, i16 0, i16 2381, i16 2927, i16 0, i16 0, i16 2012, i16 0, i16 0, i16 10672, i16 777, i16 0, i16 13131, i16 0, i16 13132, i16 13133, i16 13134, i16 13135, i16 13136, i16 0, i16 0, i16 7078, i16 5519, i16 0, i16 0, i16 6400, i16 6795, i16 0, i16 0, i16 7079, i16 13137, i16 7080, i16 13138, i16 13139, i16 13140, i16 13141, i16 0, i16 13142, i16 0, i16 0, i16 13143, i16 13144, i16 7082, i16 0, i16 12365, i16 0, i16 12366, i16 12367, i16 0, i16 12368, i16 1054, i16 12369, i16 12375, i16 0, i16 12370, i16 6638, i16 6639, i16 2660, i16 0, i16 6637, i16 0, i16 0, i16 0, i16 12371, i16 12372, i16 12373, i16 0, i16 0, i16 6641, i16 12374, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1872, i16 4600, i16 8835, i16 8836, i16 0, i16 0, i16 1835, i16 4601, i16 781, i16 8837, i16 8838, i16 4596, i16 8839, i16 0, i16 0, i16 8840, i16 2634, i16 0, i16 8841, i16 0, i16 0, i16 8842, i16 0, i16 8843, i16 1298, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1329, i16 0, i16 1618, i16 1119, i16 0, i16 0, i16 0, i16 0, i16 9199, i16 9198, i16 4803, i16 1111, i16 4809, i16 9200, i16 9201, i16 0, i16 9202, i16 9203, i16 9204, i16 4806, i16 9205, i16 2332, i16 0, i16 0, i16 0, i16 1070, i16 1697, i16 0, i16 9206, i16 1069, i16 1732, i16 0, i16 9207, i16 0, i16 6996, i16 12990, i16 12991, i16 6993, i16 12988, i16 6999, i16 12992, i16 7000, i16 0, i16 12993, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7005, i16 7004, i16 0, i16 12994, i16 12995, i16 0, i16 0, i16 0, i16 0, i16 7006, i16 0, i16 0, i16 852, i16 7001, i16 7002, i16 12996, i16 0, i16 4182, i16 2908, i16 3063, i16 3426, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2912, i16 8220, i16 8221, i16 4191, i16 8222, i16 0, i16 0, i16 0, i16 8223, i16 1239, i16 0, i16 8224, i16 3508, i16 8225, i16 0, i16 3392, i16 0, i16 4286, i16 0, i16 4183, i16 0, i16 8226, i16 0, i16 1880, i16 0, i16 0, i16 0, i16 5494, i16 5489, i16 10378, i16 10379, i16 10380, i16 5495, i16 5490, i16 10381, i16 0, i16 10382, i16 0, i16 3057, i16 5488, i16 10383, i16 10384, i16 5491, i16 10385, i16 10386, i16 0, i16 0, i16 0, i16 5498, i16 10388, i16 0, i16 0, i16 0, i16 10389, i16 0, i16 9560, i16 0, i16 5043, i16 5045, i16 9561, i16 865, i16 9562, i16 0, i16 1623, i16 3677, i16 0, i16 1056, i16 0, i16 3161, i16 9563, i16 9564, i16 0, i16 0, i16 0, i16 3536, i16 0, i16 0, i16 1031, i16 2182, i16 5047, i16 0, i16 0, i16 9565, i16 0, i16 0, i16 0, i16 0, i16 12376, i16 0, i16 6647, i16 12377, i16 12378, i16 12379, i16 12380, i16 6650, i16 12381, i16 12382, i16 12383, i16 12384, i16 12385, i16 0, i16 0, i16 6649, i16 2732, i16 0, i16 12386, i16 0, i16 0, i16 6642, i16 6643, i16 6646, i16 12387, i16 0, i16 0, i16 12388, i16 6648, i16 12389, i16 12390, i16 0, i16 11868, i16 0, i16 0, i16 11869, i16 11870, i16 11871, i16 0, i16 6425, i16 6426, i16 3528, i16 11872, i16 0, i16 0, i16 0, i16 2820, i16 6430, i16 11873, i16 0, i16 0, i16 11874, i16 0, i16 11875, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6428, i16 6429, i16 6431, i16 0, i16 12126, i16 2216, i16 6569, i16 12127, i16 6570, i16 0, i16 12128, i16 0, i16 6571, i16 3550, i16 0, i16 1990, i16 12129, i16 0, i16 0, i16 0, i16 0, i16 6573, i16 6572, i16 12130, i16 1649, i16 0, i16 1674, i16 1811, i16 12131, i16 12132, i16 12133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4703, i16 9033, i16 4701, i16 4704, i16 3590, i16 4702, i16 0, i16 9034, i16 9035, i16 0, i16 2340, i16 4705, i16 0, i16 9036, i16 2455, i16 9037, i16 0, i16 4706, i16 0, i16 9038, i16 0, i16 9039, i16 1211, i16 9040, i16 4708, i16 0, i16 4707, i16 0, i16 0, i16 0, i16 9041, i16 0, i16 11104, i16 11105, i16 5986, i16 0, i16 0, i16 0, i16 0, i16 826, i16 0, i16 0, i16 5977, i16 11106, i16 11107, i16 11108, i16 5976, i16 11109, i16 5971, i16 5970, i16 11110, i16 5968, i16 5967, i16 2598, i16 11111, i16 2528, i16 5973, i16 11112, i16 0, i16 11113, i16 11114, i16 0, i16 0, i16 0, i16 11364, i16 0, i16 6107, i16 2941, i16 0, i16 11365, i16 11366, i16 11367, i16 6108, i16 6109, i16 6119, i16 0, i16 11368, i16 0, i16 6113, i16 6116, i16 11369, i16 0, i16 11370, i16 11371, i16 11372, i16 6112, i16 11373, i16 11374, i16 11375, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11376, i16 0, i16 12134, i16 6576, i16 12135, i16 0, i16 12136, i16 12137, i16 2037, i16 0, i16 6575, i16 12138, i16 6574, i16 0, i16 2510, i16 12139, i16 0, i16 1576, i16 12140, i16 2284, i16 12141, i16 12142, i16 12143, i16 0, i16 3017, i16 12144, i16 0, i16 0, i16 0, i16 1992, i16 0, i16 12145, i16 0, i16 0, i16 4458, i16 8665, i16 4461, i16 4463, i16 0, i16 8666, i16 0, i16 8667, i16 1902, i16 8668, i16 4469, i16 2705, i16 4459, i16 8669, i16 0, i16 0, i16 8670, i16 4467, i16 8671, i16 1022, i16 8672, i16 4465, i16 4466, i16 8673, i16 0, i16 4462, i16 4464, i16 0, i16 8674, i16 8675, i16 1568, i16 0, i16 7018, i16 7024, i16 13030, i16 7017, i16 0, i16 7022, i16 13031, i16 0, i16 13032, i16 13033, i16 0, i16 0, i16 0, i16 0, i16 7023, i16 0, i16 0, i16 0, i16 7026, i16 13034, i16 13035, i16 13036, i16 13037, i16 0, i16 7025, i16 13038, i16 0, i16 0, i16 0, i16 13039, i16 13040, i16 0, i16 10858, i16 10859, i16 5804, i16 1421, i16 0, i16 10860, i16 0, i16 2345, i16 1248, i16 10861, i16 0, i16 0, i16 10862, i16 5808, i16 5805, i16 0, i16 0, i16 5806, i16 0, i16 10863, i16 0, i16 5809, i16 0, i16 5810, i16 5807, i16 0, i16 0, i16 10864, i16 848, i16 0, i16 10865, i16 0, i16 3180, i16 2325, i16 0, i16 1918, i16 4261, i16 2074, i16 4262, i16 4263, i16 796, i16 2463, i16 2205, i16 8379, i16 4264, i16 2832, i16 2075, i16 0, i16 2076, i16 0, i16 4265, i16 0, i16 0, i16 2326, i16 8380, i16 0, i16 0, i16 2077, i16 0, i16 0, i16 0, i16 8381, i16 8382, i16 0, i16 12400, i16 12401, i16 6655, i16 12402, i16 0, i16 0, i16 6656, i16 12403, i16 12404, i16 0, i16 0, i16 0, i16 12405, i16 12406, i16 12407, i16 6657, i16 0, i16 0, i16 6654, i16 6653, i16 12408, i16 12409, i16 12410, i16 2127, i16 2823, i16 6652, i16 0, i16 0, i16 0, i16 0, i16 12411, i16 0, i16 8562, i16 8563, i16 8564, i16 8565, i16 3456, i16 1522, i16 1541, i16 8566, i16 4392, i16 0, i16 8567, i16 8568, i16 4393, i16 8569, i16 4399, i16 8570, i16 1942, i16 0, i16 0, i16 8571, i16 2630, i16 8572, i16 1324, i16 4394, i16 0, i16 0, i16 8573, i16 3106, i16 8574, i16 2569, i16 8575, i16 0, i16 12146, i16 6577, i16 0, i16 2124, i16 0, i16 12147, i16 0, i16 12148, i16 0, i16 6580, i16 6578, i16 12149, i16 12150, i16 12151, i16 6579, i16 12152, i16 12153, i16 12154, i16 12155, i16 6582, i16 6581, i16 12156, i16 0, i16 2151, i16 0, i16 6583, i16 12157, i16 12158, i16 12159, i16 0, i16 12160, i16 0, i16 3960, i16 7810, i16 1256, i16 1065, i16 0, i16 0, i16 0, i16 1662, i16 1255, i16 2688, i16 844, i16 2830, i16 3407, i16 1592, i16 3560, i16 2758, i16 1591, i16 0, i16 7811, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7812, i16 1418, i16 0, i16 3969, i16 0, i16 1376, i16 0, i16 3705, i16 11299, i16 0, i16 0, i16 0, i16 0, i16 11300, i16 0, i16 6080, i16 11301, i16 11302, i16 0, i16 3556, i16 11303, i16 6082, i16 6084, i16 0, i16 0, i16 0, i16 0, i16 6085, i16 0, i16 0, i16 11305, i16 0, i16 11306, i16 0, i16 6088, i16 6086, i16 0, i16 11307, i16 0, i16 10363, i16 0, i16 5484, i16 10367, i16 0, i16 0, i16 3232, i16 10368, i16 2306, i16 5486, i16 0, i16 10369, i16 10370, i16 0, i16 5487, i16 10371, i16 10372, i16 10373, i16 10374, i16 0, i16 5485, i16 0, i16 0, i16 0, i16 0, i16 1073, i16 10375, i16 5493, i16 10376, i16 5492, i16 10377, i16 0, i16 12670, i16 1233, i16 12671, i16 0, i16 12672, i16 12673, i16 12674, i16 0, i16 6823, i16 12675, i16 6824, i16 0, i16 3910, i16 4959, i16 3052, i16 0, i16 0, i16 836, i16 12676, i16 772, i16 0, i16 12677, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1863, i16 3299, i16 2155, i16 0, i16 0, i16 1408, i16 6500, i16 6501, i16 6502, i16 11984, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8328, i16 2139, i16 0, i16 0, i16 8329, i16 0, i16 0, i16 0, i16 0, i16 4225, i16 0, i16 2685, i16 8330, i16 0, i16 0, i16 876, i16 0, i16 4223, i16 0, i16 8324, i16 0, i16 4226, i16 0, i16 8331, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4227, i16 0, i16 0, i16 4489, i16 8720, i16 0, i16 0, i16 0, i16 0, i16 4497, i16 4496, i16 0, i16 8721, i16 8722, i16 4501, i16 0, i16 0, i16 0, i16 8723, i16 8724, i16 0, i16 0, i16 4502, i16 8725, i16 8726, i16 8727, i16 0, i16 8728, i16 0, i16 0, i16 4500, i16 4503, i16 4495, i16 4499, i16 0, i16 8076, i16 2221, i16 8077, i16 0, i16 0, i16 0, i16 0, i16 4104, i16 4107, i16 0, i16 1434, i16 8078, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4108, i16 8079, i16 8088, i16 0, i16 8080, i16 0, i16 8081, i16 8082, i16 0, i16 8083, i16 8084, i16 8085, i16 8086, i16 0, i16 12940, i16 0, i16 12941, i16 12942, i16 12943, i16 6973, i16 6971, i16 2544, i16 12944, i16 12945, i16 0, i16 0, i16 0, i16 12946, i16 12947, i16 12948, i16 0, i16 3363, i16 12949, i16 12950, i16 0, i16 12951, i16 3623, i16 12952, i16 0, i16 6975, i16 12953, i16 12960, i16 12954, i16 12955, i16 12956, i16 0, i16 654, i16 7143, i16 7144, i16 7145, i16 7146, i16 7147, i16 7148, i16 7149, i16 7150, i16 7151, i16 7152, i16 7153, i16 0, i16 7154, i16 7155, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 0, i16 1423, i16 6557, i16 0, i16 6558, i16 12078, i16 0, i16 0, i16 3179, i16 0, i16 0, i16 12081, i16 0, i16 1079, i16 0, i16 12082, i16 12083, i16 0, i16 0, i16 0, i16 12084, i16 3496, i16 12080, i16 1340, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2771, i16 12085, i16 12086, i16 0, i16 10127, i16 5350, i16 0, i16 0, i16 10128, i16 5345, i16 5346, i16 0, i16 5349, i16 5348, i16 3100, i16 0, i16 0, i16 2377, i16 2376, i16 10129, i16 1246, i16 10130, i16 10131, i16 5351, i16 10132, i16 0, i16 0, i16 0, i16 10133, i16 5352, i16 0, i16 10134, i16 5353, i16 0, i16 0, i16 0, i16 11407, i16 0, i16 11408, i16 0, i16 6142, i16 0, i16 0, i16 11409, i16 6143, i16 0, i16 0, i16 0, i16 0, i16 11410, i16 11411, i16 0, i16 11412, i16 11413, i16 0, i16 6138, i16 0, i16 0, i16 6140, i16 0, i16 11414, i16 11415, i16 6141, i16 11416, i16 11417, i16 11418, i16 6139, i16 0, i16 5010, i16 5007, i16 3535, i16 0, i16 9507, i16 9508, i16 9509, i16 2657, i16 9510, i16 0, i16 0, i16 2870, i16 5008, i16 0, i16 0, i16 5016, i16 0, i16 5015, i16 1406, i16 9511, i16 9512, i16 946, i16 9513, i16 9514, i16 1712, i16 5009, i16 5011, i16 9515, i16 0, i16 0, i16 9516, i16 0, i16 8851, i16 8852, i16 8853, i16 8854, i16 0, i16 8855, i16 0, i16 0, i16 2447, i16 8856, i16 8857, i16 1790, i16 4606, i16 8858, i16 4608, i16 4604, i16 0, i16 8859, i16 8860, i16 8861, i16 3254, i16 0, i16 2654, i16 8862, i16 0, i16 0, i16 8863, i16 2403, i16 0, i16 0, i16 0, i16 0, i16 11163, i16 0, i16 6002, i16 2839, i16 0, i16 11164, i16 6007, i16 0, i16 0, i16 11165, i16 6004, i16 3291, i16 6010, i16 809, i16 11166, i16 0, i16 11167, i16 0, i16 5998, i16 0, i16 11168, i16 0, i16 0, i16 0, i16 11169, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3228, i16 2651, i16 1687, i16 0, i16 1655, i16 2038, i16 12619, i16 2215, i16 0, i16 12620, i16 0, i16 6801, i16 12622, i16 12623, i16 6800, i16 3505, i16 1193, i16 3051, i16 2873, i16 12624, i16 0, i16 12625, i16 2247, i16 3611, i16 12621, i16 1462, i16 0, i16 12626, i16 0, i16 12627, i16 0, i16 0, i16 4765, i16 0, i16 0, i16 0, i16 9146, i16 4768, i16 9147, i16 9148, i16 2244, i16 0, i16 0, i16 9149, i16 0, i16 3562, i16 786, i16 1749, i16 2465, i16 0, i16 1934, i16 9150, i16 9151, i16 2144, i16 0, i16 0, i16 4771, i16 0, i16 0, i16 2765, i16 9152, i16 4769, i16 2448, i16 0, i16 3230, i16 8167, i16 0, i16 8165, i16 4143, i16 0, i16 2568, i16 8168, i16 0, i16 1018, i16 0, i16 2138, i16 8169, i16 8170, i16 0, i16 8171, i16 4145, i16 8172, i16 4144, i16 8173, i16 1663, i16 8174, i16 4146, i16 4148, i16 4147, i16 8175, i16 0, i16 4150, i16 8176, i16 4139, i16 4152, i16 0, i16 6046, i16 0, i16 0, i16 0, i16 0, i16 11204, i16 0, i16 11205, i16 11206, i16 11207, i16 0, i16 0, i16 6024, i16 0, i16 11208, i16 0, i16 11209, i16 1114, i16 0, i16 11210, i16 0, i16 0, i16 0, i16 2149, i16 6035, i16 11211, i16 6040, i16 2426, i16 11212, i16 11213, i16 6036, i16 0, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 0, i16 6047, i16 11241, i16 11242, i16 11243, i16 11244, i16 2678, i16 11245, i16 0, i16 0, i16 11246, i16 11247, i16 6052, i16 839, i16 0, i16 11248, i16 0, i16 0, i16 11229, i16 11249, i16 11250, i16 2439, i16 11251, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3224, i16 0, i16 11252, i16 0, i16 9892, i16 1333, i16 5243, i16 5245, i16 0, i16 5244, i16 9893, i16 0, i16 9894, i16 0, i16 0, i16 9895, i16 0, i16 5246, i16 0, i16 1546, i16 0, i16 5247, i16 0, i16 0, i16 9896, i16 9897, i16 1382, i16 9898, i16 2375, i16 0, i16 1684, i16 0, i16 0, i16 0, i16 9899, i16 0, i16 10918, i16 0, i16 0, i16 5849, i16 5851, i16 5850, i16 3006, i16 10919, i16 2902, i16 0, i16 3689, i16 3010, i16 0, i16 10920, i16 0, i16 0, i16 0, i16 0, i16 5853, i16 0, i16 0, i16 2112, i16 0, i16 3105, i16 0, i16 5854, i16 5852, i16 10921, i16 1167, i16 10922, i16 0, i16 0, i16 7848, i16 3986, i16 0, i16 3995, i16 3988, i16 7849, i16 7850, i16 3992, i16 7851, i16 7852, i16 3993, i16 3989, i16 7853, i16 7854, i16 4022, i16 0, i16 7855, i16 1758, i16 1044, i16 0, i16 0, i16 0, i16 7856, i16 3987, i16 7857, i16 7858, i16 7859, i16 3997, i16 831, i16 3996, i16 7860, i16 0, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 458, i16 459, i16 460, i16 461, i16 0, i16 3248, i16 8554, i16 4385, i16 3673, i16 0, i16 8555, i16 8556, i16 8557, i16 4386, i16 3221, i16 4389, i16 3711, i16 3727, i16 8558, i16 1889, i16 2898, i16 4390, i16 0, i16 1276, i16 2629, i16 835, i16 4391, i16 3195, i16 1607, i16 8559, i16 0, i16 2579, i16 8560, i16 8561, i16 0, i16 2704, i16 0, i16 3000, i16 0, i16 12729, i16 2481, i16 895, i16 1387, i16 0, i16 1388, i16 12730, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2614, i16 6858, i16 1389, i16 12731, i16 12732, i16 1012, i16 0, i16 0, i16 6857, i16 12733, i16 12734, i16 6855, i16 12735, i16 6856, i16 12736, i16 6854, i16 0, i16 3513, i16 4657, i16 0, i16 8965, i16 4653, i16 0, i16 4654, i16 0, i16 8966, i16 8967, i16 8968, i16 8969, i16 2407, i16 8970, i16 0, i16 8971, i16 8972, i16 4652, i16 0, i16 4587, i16 8973, i16 0, i16 8974, i16 4656, i16 0, i16 4651, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6334, i16 11726, i16 11727, i16 11728, i16 11729, i16 11730, i16 0, i16 11731, i16 6338, i16 0, i16 0, i16 6335, i16 11736, i16 6337, i16 6336, i16 0, i16 0, i16 11732, i16 11733, i16 11734, i16 0, i16 6339, i16 0, i16 1890, i16 11735, i16 6341, i16 6340, i16 3167, i16 0, i16 11737, i16 6343, i16 0, i16 11198, i16 6026, i16 0, i16 6021, i16 11199, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2114, i16 0, i16 0, i16 0, i16 0, i16 1982, i16 0, i16 11200, i16 11201, i16 1885, i16 11202, i16 0, i16 0, i16 0, i16 3433, i16 0, i16 0, i16 3134, i16 0, i16 11203, i16 6037, i16 0, i16 6591, i16 0, i16 2689, i16 12170, i16 12171, i16 3336, i16 1401, i16 0, i16 12172, i16 12173, i16 0, i16 12174, i16 12175, i16 12176, i16 12177, i16 12178, i16 12179, i16 0, i16 0, i16 0, i16 6594, i16 6595, i16 12180, i16 0, i16 12181, i16 0, i16 12182, i16 6593, i16 12183, i16 0, i16 6597, i16 0, i16 3009, i16 4355, i16 3219, i16 4356, i16 0, i16 0, i16 0, i16 8521, i16 0, i16 8522, i16 8523, i16 8524, i16 8525, i16 8526, i16 0, i16 8527, i16 0, i16 1140, i16 3220, i16 2922, i16 4358, i16 4359, i16 0, i16 1603, i16 1141, i16 4360, i16 1521, i16 3507, i16 3480, i16 1207, i16 4362, i16 0, i16 3526, i16 0, i16 6257, i16 0, i16 0, i16 3193, i16 2945, i16 6258, i16 11600, i16 6259, i16 1508, i16 0, i16 11601, i16 0, i16 1227, i16 11602, i16 0, i16 0, i16 6260, i16 11603, i16 11604, i16 1854, i16 2940, i16 6261, i16 0, i16 1075, i16 11605, i16 11606, i16 0, i16 0, i16 11607, i16 0, i16 3783, i16 7516, i16 3268, i16 2576, i16 3779, i16 1484, i16 7517, i16 3776, i16 3784, i16 3778, i16 3614, i16 3785, i16 3692, i16 7518, i16 0, i16 7519, i16 0, i16 7520, i16 7521, i16 0, i16 7522, i16 1379, i16 0, i16 0, i16 1483, i16 0, i16 7546, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9159, i16 0, i16 0, i16 9160, i16 4783, i16 0, i16 3091, i16 0, i16 4774, i16 0, i16 4780, i16 4779, i16 0, i16 9161, i16 9162, i16 2296, i16 9163, i16 0, i16 9164, i16 0, i16 3360, i16 9165, i16 3616, i16 9166, i16 9167, i16 3354, i16 9168, i16 977, i16 1841, i16 0, i16 0, i16 0, i16 7112, i16 302, i16 303, i16 7120, i16 0, i16 7113, i16 309, i16 236, i16 7117, i16 7116, i16 0, i16 340, i16 0, i16 7118, i16 7106, i16 296, i16 283, i16 0, i16 0, i16 234, i16 0, i16 367, i16 0, i16 7103, i16 0, i16 7115, i16 0, i16 0, i16 0, i16 0, i16 7114, i16 0, i16 8138, i16 4127, i16 0, i16 8139, i16 0, i16 0, i16 8140, i16 8141, i16 925, i16 0, i16 2741, i16 0, i16 0, i16 0, i16 0, i16 4129, i16 0, i16 4125, i16 0, i16 0, i16 2203, i16 0, i16 0, i16 8142, i16 4133, i16 0, i16 0, i16 8143, i16 0, i16 2013, i16 8144, i16 0, i16 972, i16 4211, i16 0, i16 8307, i16 0, i16 8308, i16 0, i16 8309, i16 1900, i16 0, i16 4210, i16 1492, i16 0, i16 0, i16 8310, i16 4224, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4217, i16 4214, i16 0, i16 0, i16 8311, i16 0, i16 8312, i16 0, i16 0, i16 0, i16 0, i16 6865, i16 12747, i16 12748, i16 12749, i16 6867, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12750, i16 12751, i16 0, i16 1234, i16 6866, i16 12752, i16 12753, i16 2434, i16 1516, i16 0, i16 0, i16 12754, i16 0, i16 0, i16 6869, i16 0, i16 0, i16 0, i16 0, i16 12755, i16 0, i16 0, i16 10449, i16 0, i16 0, i16 0, i16 0, i16 1305, i16 5518, i16 10450, i16 10451, i16 5520, i16 10452, i16 0, i16 0, i16 5521, i16 10453, i16 2916, i16 10454, i16 0, i16 5522, i16 10455, i16 0, i16 0, i16 0, i16 10456, i16 5523, i16 5524, i16 10457, i16 0, i16 1366, i16 984, i16 2850, i16 0, i16 9683, i16 9684, i16 0, i16 2032, i16 0, i16 5139, i16 0, i16 9685, i16 0, i16 0, i16 0, i16 9686, i16 5132, i16 2637, i16 5129, i16 2682, i16 0, i16 0, i16 0, i16 5164, i16 0, i16 0, i16 0, i16 5126, i16 0, i16 5125, i16 0, i16 5134, i16 9687, i16 9688, i16 0, i16 0, i16 12499, i16 840, i16 2211, i16 2059, i16 1178, i16 6721, i16 0, i16 0, i16 0, i16 2977, i16 0, i16 6723, i16 0, i16 12500, i16 0, i16 841, i16 0, i16 6722, i16 2661, i16 12501, i16 3610, i16 2824, i16 6716, i16 3571, i16 0, i16 1514, i16 12502, i16 12503, i16 3530, i16 12504, i16 12505, i16 0, i16 6357, i16 0, i16 0, i16 0, i16 11760, i16 2819, i16 11761, i16 6359, i16 11762, i16 3296, i16 11763, i16 6360, i16 0, i16 6361, i16 11764, i16 6362, i16 11765, i16 0, i16 11766, i16 11767, i16 6363, i16 0, i16 11768, i16 11769, i16 11772, i16 2871, i16 11770, i16 0, i16 11771, i16 0, i16 0, i16 0, i16 11480, i16 0, i16 11481, i16 0, i16 6158, i16 11482, i16 0, i16 0, i16 11483, i16 11484, i16 11485, i16 0, i16 6178, i16 6182, i16 6177, i16 11486, i16 6184, i16 11488, i16 11489, i16 11490, i16 6186, i16 6185, i16 0, i16 11491, i16 11487, i16 11492, i16 11493, i16 11494, i16 0, i16 11495, i16 11496, i16 0, i16 12506, i16 12507, i16 12508, i16 12509, i16 1398, i16 3585, i16 0, i16 1411, i16 12510, i16 2503, i16 5873, i16 0, i16 6724, i16 1039, i16 2234, i16 0, i16 12511, i16 0, i16 0, i16 1081, i16 6726, i16 12512, i16 6727, i16 6725, i16 1471, i16 12513, i16 1746, i16 2128, i16 12514, i16 0, i16 12515, i16 0, i16 3548, i16 773, i16 5703, i16 0, i16 10730, i16 1290, i16 10731, i16 5700, i16 0, i16 10732, i16 0, i16 0, i16 0, i16 5701, i16 0, i16 10733, i16 2812, i16 5699, i16 5696, i16 0, i16 1035, i16 2317, i16 0, i16 10734, i16 1505, i16 10735, i16 10736, i16 0, i16 5708, i16 0, i16 10737, i16 0, i16 13021, i16 0, i16 0, i16 7014, i16 0, i16 0, i16 0, i16 0, i16 7015, i16 13022, i16 7010, i16 13023, i16 0, i16 13024, i16 6990, i16 0, i16 13025, i16 7016, i16 0, i16 2690, i16 13026, i16 0, i16 0, i16 7020, i16 13027, i16 7021, i16 7019, i16 13028, i16 0, i16 0, i16 13029, i16 0, i16 9187, i16 4794, i16 0, i16 4791, i16 0, i16 9188, i16 4799, i16 0, i16 4789, i16 0, i16 0, i16 4787, i16 0, i16 4795, i16 4785, i16 9189, i16 2607, i16 9190, i16 3465, i16 1911, i16 1769, i16 9191, i16 9192, i16 0, i16 9176, i16 0, i16 1711, i16 0, i16 0, i16 3362, i16 1060, i16 0, i16 3044, i16 0, i16 5746, i16 10797, i16 10798, i16 5741, i16 10799, i16 0, i16 0, i16 2344, i16 1453, i16 0, i16 1978, i16 10800, i16 0, i16 10801, i16 0, i16 10802, i16 0, i16 2160, i16 2365, i16 5752, i16 0, i16 10803, i16 5754, i16 5755, i16 0, i16 0, i16 5751, i16 5753, i16 10804, i16 0, i16 231, i16 0, i16 305, i16 301, i16 304, i16 306, i16 0, i16 263, i16 264, i16 307, i16 281, i16 225, i16 0, i16 226, i16 252, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 228, i16 229, i16 288, i16 286, i16 289, i16 230, i16 0, i16 3568, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11549, i16 6229, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11550, i16 11551, i16 11552, i16 6230, i16 2117, i16 6228, i16 11553, i16 0, i16 11554, i16 3542, i16 6225, i16 0, i16 0, i16 6227, i16 2278, i16 2249, i16 0, i16 0, i16 3824, i16 0, i16 7611, i16 0, i16 0, i16 0, i16 7612, i16 7613, i16 0, i16 3476, i16 0, i16 7614, i16 7615, i16 0, i16 7616, i16 0, i16 7617, i16 3434, i16 7618, i16 7619, i16 7620, i16 0, i16 3826, i16 7621, i16 7622, i16 3825, i16 3828, i16 3827, i16 0, i16 0, i16 3829, i16 0, i16 8177, i16 8178, i16 0, i16 4151, i16 4149, i16 0, i16 0, i16 0, i16 8179, i16 0, i16 1825, i16 2204, i16 0, i16 2395, i16 4153, i16 2277, i16 822, i16 2975, i16 8180, i16 0, i16 0, i16 0, i16 2684, i16 0, i16 4155, i16 4154, i16 4156, i16 4157, i16 4158, i16 0, i16 0, i16 0, i16 7922, i16 0, i16 7923, i16 4038, i16 4036, i16 7924, i16 4093, i16 0, i16 7925, i16 0, i16 7926, i16 7927, i16 0, i16 7928, i16 0, i16 0, i16 7929, i16 7930, i16 7931, i16 4041, i16 0, i16 0, i16 7932, i16 7933, i16 0, i16 4035, i16 7934, i16 4039, i16 0, i16 7935, i16 4037, i16 0, i16 8434, i16 0, i16 0, i16 0, i16 0, i16 8435, i16 2237, i16 0, i16 0, i16 0, i16 4302, i16 0, i16 8436, i16 1759, i16 0, i16 0, i16 4308, i16 8437, i16 0, i16 4309, i16 4303, i16 1046, i16 4304, i16 4313, i16 4312, i16 4311, i16 4307, i16 0, i16 0, i16 0, i16 4306, i16 0, i16 10738, i16 10739, i16 10740, i16 0, i16 10741, i16 10742, i16 0, i16 10743, i16 5705, i16 0, i16 10744, i16 10745, i16 10746, i16 0, i16 5707, i16 0, i16 10747, i16 0, i16 5704, i16 0, i16 0, i16 10748, i16 10749, i16 0, i16 1452, i16 2456, i16 5709, i16 2421, i16 10750, i16 10751, i16 5722, i16 0, i16 10227, i16 5421, i16 2961, i16 0, i16 10228, i16 3346, i16 0, i16 885, i16 10229, i16 894, i16 10230, i16 10231, i16 5422, i16 10232, i16 0, i16 0, i16 0, i16 5424, i16 0, i16 10233, i16 0, i16 5423, i16 2799, i16 0, i16 10234, i16 0, i16 2274, i16 4957, i16 0, i16 5425, i16 3410, i16 0, i16 9460, i16 0, i16 9461, i16 0, i16 0, i16 9462, i16 9463, i16 0, i16 0, i16 0, i16 4993, i16 4992, i16 0, i16 9464, i16 4995, i16 0, i16 9465, i16 0, i16 4994, i16 0, i16 0, i16 0, i16 9466, i16 0, i16 9467, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9468, i16 0, i16 5109, i16 0, i16 0, i16 0, i16 1156, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9674, i16 0, i16 9675, i16 9676, i16 9677, i16 1476, i16 0, i16 0, i16 9678, i16 5135, i16 9679, i16 9680, i16 5130, i16 2337, i16 9681, i16 9682, i16 1094, i16 0, i16 4855, i16 4834, i16 4854, i16 0, i16 4847, i16 4835, i16 0, i16 4851, i16 0, i16 4852, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4869, i16 9275, i16 0, i16 9276, i16 2859, i16 9277, i16 4842, i16 0, i16 9278, i16 4865, i16 0, i16 9279, i16 0, i16 4867, i16 0, i16 2681, i16 0, i16 3579, i16 0, i16 0, i16 2145, i16 2334, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9557, i16 0, i16 5048, i16 5046, i16 0, i16 3140, i16 0, i16 9558, i16 9559, i16 0, i16 8956, i16 0, i16 8957, i16 2736, i16 4647, i16 8958, i16 0, i16 8959, i16 4648, i16 0, i16 3174, i16 8960, i16 2944, i16 1782, i16 0, i16 2330, i16 0, i16 3331, i16 8961, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1068, i16 0, i16 4655, i16 4650, i16 8962, i16 8963, i16 8964, i16 0, i16 8190, i16 3397, i16 8191, i16 8192, i16 4164, i16 0, i16 2508, i16 8193, i16 2742, i16 2469, i16 3150, i16 4165, i16 4166, i16 930, i16 8194, i16 8195, i16 1899, i16 4167, i16 8196, i16 0, i16 8197, i16 8198, i16 793, i16 4168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4169, i16 8199, i16 0, i16 12543, i16 12544, i16 12545, i16 6755, i16 0, i16 0, i16 3401, i16 12546, i16 0, i16 6756, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6757, i16 12547, i16 3669, i16 12548, i16 0, i16 0, i16 0, i16 0, i16 4761, i16 6758, i16 0, i16 0, i16 0, i16 6759, i16 6760, i16 0, i16 11520, i16 1644, i16 6199, i16 810, i16 11521, i16 0, i16 0, i16 0, i16 3124, i16 11522, i16 0, i16 6200, i16 0, i16 0, i16 0, i16 0, i16 2229, i16 11523, i16 6207, i16 0, i16 0, i16 6204, i16 0, i16 2610, i16 0, i16 11524, i16 0, i16 11525, i16 0, i16 6205, i16 6202, i16 1371, i16 5889, i16 0, i16 10986, i16 5892, i16 5891, i16 0, i16 0, i16 0, i16 3319, i16 5895, i16 0, i16 0, i16 0, i16 0, i16 10987, i16 0, i16 5896, i16 0, i16 10988, i16 2366, i16 10989, i16 5897, i16 0, i16 0, i16 5899, i16 0, i16 5903, i16 10990, i16 0, i16 5900, i16 5898, i16 2938, i16 6145, i16 11425, i16 0, i16 6156, i16 11426, i16 11427, i16 993, i16 0, i16 6152, i16 0, i16 6157, i16 0, i16 0, i16 0, i16 6153, i16 11428, i16 0, i16 11429, i16 11430, i16 0, i16 6150, i16 0, i16 2644, i16 0, i16 6147, i16 0, i16 0, i16 11431, i16 0, i16 0, i16 0, i16 2979, i16 11265, i16 11266, i16 11267, i16 6058, i16 11268, i16 0, i16 0, i16 0, i16 3706, i16 2815, i16 3178, i16 11269, i16 0, i16 6071, i16 0, i16 11270, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6077, i16 0, i16 11271, i16 11272, i16 11273, i16 0, i16 11274, i16 6078, i16 11275, i16 12802, i16 0, i16 6898, i16 6899, i16 12803, i16 12804, i16 6900, i16 12805, i16 0, i16 12806, i16 3018, i16 6902, i16 12807, i16 3101, i16 6903, i16 6901, i16 0, i16 6905, i16 12808, i16 12809, i16 6904, i16 12810, i16 0, i16 6906, i16 0, i16 12811, i16 12812, i16 6907, i16 0, i16 12813, i16 0, i16 12814, i16 4611, i16 0, i16 8875, i16 2404, i16 8876, i16 0, i16 0, i16 8877, i16 1961, i16 4616, i16 8878, i16 0, i16 2085, i16 0, i16 4610, i16 4615, i16 8879, i16 0, i16 2958, i16 0, i16 8880, i16 8881, i16 4609, i16 0, i16 1404, i16 8882, i16 8883, i16 1088, i16 0, i16 0, i16 8884, i16 4617, i16 4100, i16 0, i16 1753, i16 0, i16 0, i16 8052, i16 8053, i16 1358, i16 0, i16 0, i16 3306, i16 0, i16 8054, i16 8055, i16 4098, i16 4101, i16 1718, i16 1594, i16 8056, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9732, i16 0, i16 0, i16 9733, i16 0, i16 0, i16 2616, i16 2514, i16 0, i16 0, i16 0, i16 0, i16 2254, i16 0, i16 0, i16 9734, i16 5168, i16 0, i16 5170, i16 0, i16 9735, i16 0, i16 0, i16 9736, i16 0, i16 9737, i16 0, i16 0, i16 9738, i16 0, i16 5169, i16 0, i16 10244, i16 2103, i16 0, i16 0, i16 5434, i16 0, i16 10245, i16 5433, i16 5432, i16 3094, i16 10246, i16 1160, i16 1506, i16 0, i16 10247, i16 0, i16 0, i16 0, i16 10248, i16 0, i16 10249, i16 10250, i16 0, i16 10251, i16 0, i16 10252, i16 10253, i16 5440, i16 10254, i16 0, i16 5437, i16 2186, i16 7429, i16 0, i16 0, i16 7447, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3758, i16 7448, i16 0, i16 7449, i16 0, i16 7450, i16 3761, i16 3759, i16 7451, i16 0, i16 967, i16 0, i16 3216, i16 3753, i16 7452, i16 7453, i16 7454, i16 7455, i16 3757, i16 1580, i16 7456, i16 7457, i16 1819, i16 12293, i16 12294, i16 0, i16 12295, i16 2058, i16 12296, i16 0, i16 12297, i16 12298, i16 6620, i16 3252, i16 0, i16 12299, i16 891, i16 12300, i16 0, i16 12301, i16 0, i16 3133, i16 2613, i16 0, i16 0, i16 0, i16 0, i16 1303, i16 12302, i16 6622, i16 12303, i16 1652, i16 0, i16 0, i16 12304, i16 7686, i16 7687, i16 0, i16 1488, i16 1747, i16 2984, i16 7688, i16 0, i16 0, i16 3888, i16 3886, i16 0, i16 0, i16 0, i16 7689, i16 3186, i16 2135, i16 3895, i16 1095, i16 3889, i16 3887, i16 2390, i16 0, i16 7690, i16 7691, i16 7692, i16 0, i16 0, i16 0, i16 3891, i16 0, i16 3890, i16 11526, i16 6201, i16 6208, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1425, i16 0, i16 0, i16 2499, i16 0, i16 6214, i16 0, i16 0, i16 0, i16 0, i16 6210, i16 0, i16 0, i16 0, i16 2458, i16 6209, i16 11527, i16 6212, i16 11528, i16 11529, i16 11530, i16 0, i16 6203, i16 11531, i16 4103, i16 0, i16 0, i16 4114, i16 0, i16 0, i16 4115, i16 8095, i16 8096, i16 0, i16 0, i16 3351, i16 8097, i16 0, i16 2136, i16 8098, i16 0, i16 0, i16 4117, i16 4118, i16 4116, i16 8099, i16 4120, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2931, i16 8100, i16 8101, i16 817, i16 5383, i16 5384, i16 5385, i16 10177, i16 5386, i16 10178, i16 10179, i16 5382, i16 0, i16 10180, i16 0, i16 0, i16 0, i16 10181, i16 0, i16 0, i16 5388, i16 0, i16 10182, i16 10183, i16 5387, i16 10184, i16 0, i16 0, i16 10185, i16 10186, i16 10187, i16 5389, i16 10188, i16 0, i16 0, i16 0, i16 11015, i16 5917, i16 5918, i16 11016, i16 0, i16 5919, i16 0, i16 5920, i16 1338, i16 4660, i16 5921, i16 0, i16 2318, i16 5922, i16 1916, i16 11017, i16 5923, i16 0, i16 3726, i16 11018, i16 11019, i16 0, i16 5924, i16 3251, i16 1181, i16 11020, i16 11021, i16 2347, i16 2023, i16 11022, i16 3176, i16 1981, i16 5128, i16 5127, i16 5133, i16 9689, i16 2250, i16 0, i16 5124, i16 9690, i16 9691, i16 0, i16 0, i16 9692, i16 9693, i16 9694, i16 5136, i16 0, i16 9695, i16 5137, i16 9696, i16 9697, i16 9698, i16 0, i16 9699, i16 1155, i16 0, i16 0, i16 9700, i16 0, i16 0, i16 0, i16 0, i16 9701, i16 8457, i16 8458, i16 8459, i16 0, i16 8460, i16 0, i16 0, i16 0, i16 0, i16 2238, i16 8461, i16 0, i16 4318, i16 8462, i16 0, i16 1708, i16 8463, i16 0, i16 0, i16 4319, i16 0, i16 0, i16 4320, i16 0, i16 0, i16 8464, i16 8465, i16 0, i16 0, i16 0, i16 8466, i16 8467, i16 2314, i16 5617, i16 10602, i16 0, i16 3048, i16 10603, i16 5621, i16 3240, i16 10604, i16 2590, i16 10605, i16 5616, i16 5618, i16 0, i16 0, i16 5619, i16 0, i16 0, i16 0, i16 0, i16 10606, i16 0, i16 10607, i16 10608, i16 0, i16 10609, i16 10610, i16 10611, i16 0, i16 5622, i16 0, i16 0, i16 13066, i16 7038, i16 13067, i16 13068, i16 13069, i16 13070, i16 0, i16 13071, i16 7039, i16 0, i16 0, i16 7040, i16 7041, i16 0, i16 13072, i16 13073, i16 0, i16 7044, i16 7042, i16 3687, i16 0, i16 7043, i16 13074, i16 3644, i16 13075, i16 0, i16 0, i16 13076, i16 0, i16 7045, i16 13077, i16 3624, i16 4363, i16 0, i16 8531, i16 0, i16 8532, i16 8533, i16 2776, i16 1719, i16 8534, i16 0, i16 8535, i16 1540, i16 8536, i16 2702, i16 0, i16 0, i16 0, i16 8537, i16 0, i16 8538, i16 0, i16 780, i16 2045, i16 1606, i16 3510, i16 0, i16 0, i16 0, i16 0, i16 8539, i16 8540, i16 8541, i16 6667, i16 12430, i16 6668, i16 12431, i16 0, i16 0, i16 0, i16 0, i16 12432, i16 0, i16 6670, i16 12433, i16 0, i16 12434, i16 12435, i16 12436, i16 6672, i16 12437, i16 12438, i16 0, i16 0, i16 6673, i16 0, i16 6674, i16 0, i16 0, i16 0, i16 0, i16 6677, i16 6675, i16 6678, i16 6680, i16 2572, i16 9363, i16 0, i16 9364, i16 4930, i16 0, i16 9365, i16 9366, i16 0, i16 9367, i16 0, i16 9368, i16 0, i16 4928, i16 1570, i16 0, i16 4927, i16 9369, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4933, i16 0, i16 0, i16 0, i16 9370, i16 4800, i16 9371, i16 9372, i16 9373, i16 3340, i16 0, i16 2831, i16 8114, i16 8115, i16 1491, i16 2484, i16 0, i16 8116, i16 8117, i16 4119, i16 4122, i16 8119, i16 8120, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2473, i16 0, i16 0, i16 0, i16 4123, i16 0, i16 8121, i16 0, i16 4124, i16 8122, i16 8123, i16 7436, i16 0, i16 7437, i16 2674, i16 0, i16 0, i16 2533, i16 3752, i16 7438, i16 7439, i16 0, i16 7440, i16 7441, i16 789, i16 2692, i16 1994, i16 1705, i16 3475, i16 7442, i16 2483, i16 7443, i16 964, i16 7444, i16 3751, i16 7445, i16 3501, i16 3747, i16 3749, i16 1763, i16 3750, i16 4184, i16 7446, i16 11532, i16 0, i16 6213, i16 0, i16 6215, i16 0, i16 0, i16 0, i16 11533, i16 0, i16 11534, i16 3080, i16 0, i16 0, i16 6211, i16 0, i16 6216, i16 6218, i16 0, i16 0, i16 1548, i16 6206, i16 0, i16 778, i16 0, i16 0, i16 11535, i16 0, i16 0, i16 11536, i16 11537, i16 6217, i16 4109, i16 8087, i16 1595, i16 1059, i16 4111, i16 0, i16 0, i16 8089, i16 8090, i16 8091, i16 4112, i16 0, i16 8092, i16 0, i16 0, i16 0, i16 4113, i16 0, i16 0, i16 4110, i16 0, i16 0, i16 0, i16 0, i16 8093, i16 0, i16 0, i16 0, i16 0, i16 8094, i16 0, i16 0, i16 5901, i16 0, i16 5902, i16 10992, i16 0, i16 10993, i16 951, i16 0, i16 5909, i16 5904, i16 10994, i16 10991, i16 0, i16 5905, i16 10995, i16 10996, i16 0, i16 5906, i16 0, i16 2438, i16 0, i16 10997, i16 0, i16 10998, i16 5908, i16 5907, i16 5910, i16 10999, i16 0, i16 11000, i16 11001, i16 5911, i16 7693, i16 0, i16 7694, i16 1063, i16 0, i16 7695, i16 0, i16 1467, i16 3896, i16 3578, i16 7696, i16 0, i16 7697, i16 3892, i16 0, i16 0, i16 0, i16 3897, i16 3894, i16 7698, i16 3893, i16 7699, i16 7700, i16 7701, i16 7702, i16 0, i16 7703, i16 3612, i16 7704, i16 0, i16 0, i16 1586, i16 10510, i16 5545, i16 5546, i16 2148, i16 0, i16 10511, i16 0, i16 10512, i16 0, i16 5547, i16 10513, i16 1074, i16 0, i16 10514, i16 0, i16 0, i16 5549, i16 0, i16 0, i16 0, i16 1477, i16 10515, i16 1285, i16 0, i16 10516, i16 5550, i16 1394, i16 0, i16 0, i16 5551, i16 10517, i16 2341, i16 2063, i16 1318, i16 0, i16 3924, i16 0, i16 7751, i16 0, i16 7752, i16 7753, i16 7754, i16 3060, i16 7755, i16 7756, i16 7757, i16 0, i16 3925, i16 7758, i16 3926, i16 7759, i16 3927, i16 0, i16 7760, i16 0, i16 0, i16 3928, i16 3099, i16 1381, i16 814, i16 7761, i16 7762, i16 7763, i16 2844, i16 4623, i16 8891, i16 0, i16 2460, i16 4629, i16 8892, i16 4624, i16 0, i16 8893, i16 4626, i16 0, i16 0, i16 0, i16 0, i16 8894, i16 3128, i16 2708, i16 8895, i16 4627, i16 8896, i16 8897, i16 8898, i16 3483, i16 0, i16 0, i16 0, i16 3511, i16 1146, i16 8899, i16 0, i16 0, i16 0, i16 12815, i16 12816, i16 12817, i16 12818, i16 12819, i16 12820, i16 6908, i16 0, i16 12821, i16 12822, i16 0, i16 12823, i16 12824, i16 12825, i16 12826, i16 0, i16 12827, i16 0, i16 12828, i16 0, i16 0, i16 0, i16 12829, i16 0, i16 6909, i16 12830, i16 6910, i16 12831, i16 12832, i16 0, i16 0, i16 6911, i16 5648, i16 0, i16 0, i16 5645, i16 0, i16 0, i16 10645, i16 0, i16 0, i16 0, i16 10646, i16 0, i16 5644, i16 2299, i16 0, i16 5647, i16 5649, i16 10648, i16 10649, i16 10650, i16 5646, i16 10647, i16 5653, i16 0, i16 5650, i16 10651, i16 10652, i16 10653, i16 10654, i16 10655, i16 10656, i16 5651, i16 10000, i16 10001, i16 0, i16 1284, i16 10002, i16 5284, i16 3564, i16 10003, i16 0, i16 3581, i16 10004, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10005, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10006, i16 10007, i16 0, i16 0, i16 0, i16 0, i16 1297, i16 1067, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8830, i16 0, i16 1098, i16 2156, i16 4597, i16 4602, i16 0, i16 4598, i16 8831, i16 1496, i16 8832, i16 4603, i16 1781, i16 1664, i16 0, i16 0, i16 0, i16 0, i16 8833, i16 8834, i16 1973, i16 4585, i16 10769, i16 918, i16 0, i16 0, i16 2889, i16 5731, i16 0, i16 0, i16 10781, i16 5738, i16 5732, i16 5739, i16 0, i16 0, i16 0, i16 0, i16 10782, i16 10783, i16 5735, i16 0, i16 0, i16 10784, i16 0, i16 10785, i16 0, i16 0, i16 0, i16 2998, i16 10786, i16 10787, i16 1915, i16 5737, i16 12305, i16 0, i16 12306, i16 0, i16 0, i16 0, i16 1791, i16 0, i16 12307, i16 0, i16 0, i16 0, i16 0, i16 12308, i16 0, i16 6621, i16 2232, i16 12309, i16 0, i16 0, i16 12310, i16 12311, i16 0, i16 0, i16 2233, i16 6625, i16 6627, i16 0, i16 12312, i16 12313, i16 12314, i16 12315, i16 11538, i16 1744, i16 3651, i16 6219, i16 6220, i16 2428, i16 0, i16 0, i16 0, i16 0, i16 11539, i16 11540, i16 11541, i16 11542, i16 11543, i16 3567, i16 0, i16 11544, i16 11545, i16 11546, i16 6221, i16 3492, i16 0, i16 0, i16 6222, i16 6223, i16 0, i16 11547, i16 3257, i16 6224, i16 11548, i16 1717, i16 1299, i16 2766, i16 9602, i16 5080, i16 5089, i16 760, i16 857, i16 9603, i16 0, i16 958, i16 0, i16 5082, i16 2449, i16 5073, i16 5075, i16 1624, i16 0, i16 0, i16 9604, i16 0, i16 0, i16 0, i16 9605, i16 0, i16 5092, i16 9606, i16 5087, i16 9607, i16 9608, i16 0, i16 5079, i16 0, i16 2323, i16 7769, i16 0, i16 7770, i16 0, i16 7771, i16 1424, i16 0, i16 0, i16 3937, i16 0, i16 0, i16 7772, i16 7773, i16 3938, i16 851, i16 830, i16 1198, i16 7774, i16 2445, i16 1264, i16 3552, i16 0, i16 3941, i16 956, i16 7775, i16 0, i16 3940, i16 0, i16 0, i16 7776, i16 1319, i16 7188, i16 7173, i16 7187, i16 7239, i16 7324, i16 7241, i16 7326, i16 7240, i16 7325, i16 7189, i16 7175, i16 7190, i16 7249, i16 7334, i16 0, i16 0, i16 7248, i16 7333, i16 7177, i16 7192, i16 7251, i16 7336, i16 7253, i16 7338, i16 7252, i16 7337, i16 7254, i16 7339, i16 7255, i16 7340, i16 7257, i16 7342, i16 6165, i16 11458, i16 0, i16 0, i16 6169, i16 0, i16 6172, i16 6171, i16 11459, i16 11460, i16 11461, i16 6163, i16 0, i16 0, i16 11462, i16 0, i16 6166, i16 0, i16 6183, i16 0, i16 0, i16 11463, i16 11464, i16 0, i16 0, i16 11465, i16 11466, i16 0, i16 11467, i16 0, i16 0, i16 11468, i16 2582, i16 0, i16 5005, i16 0, i16 0, i16 0, i16 0, i16 9550, i16 5013, i16 0, i16 5006, i16 9499, i16 0, i16 9500, i16 0, i16 9501, i16 2470, i16 0, i16 1281, i16 5014, i16 9502, i16 0, i16 9503, i16 0, i16 9504, i16 9505, i16 1475, i16 9506, i16 0, i16 1220, i16 5012, i16 0, i16 10518, i16 2858, i16 10519, i16 2313, i16 1770, i16 10520, i16 10521, i16 0, i16 5552, i16 0, i16 10522, i16 10523, i16 0, i16 0, i16 0, i16 0, i16 10524, i16 10525, i16 2597, i16 2418, i16 10526, i16 5554, i16 5556, i16 5553, i16 5555, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10527, i16 1405, i16 12054, i16 12055, i16 12056, i16 2878, i16 0, i16 12057, i16 3297, i16 0, i16 6553, i16 0, i16 1930, i16 0, i16 0, i16 0, i16 0, i16 6554, i16 12058, i16 6555, i16 12059, i16 12060, i16 12061, i16 6556, i16 12062, i16 0, i16 2720, i16 0, i16 0, i16 0, i16 0, i16 12063, i16 12065, i16 0, i16 11287, i16 0, i16 11288, i16 0, i16 6066, i16 11289, i16 2349, i16 11290, i16 6070, i16 1786, i16 2192, i16 1419, i16 3461, i16 11304, i16 3466, i16 2049, i16 0, i16 0, i16 0, i16 0, i16 11291, i16 0, i16 11292, i16 11293, i16 11294, i16 6083, i16 6081, i16 0, i16 11295, i16 11296, i16 11297, i16 11298, i16 3864, i16 3345, i16 7657, i16 0, i16 0, i16 7658, i16 2039, i16 2529, i16 0, i16 3866, i16 2881, i16 0, i16 0, i16 3867, i16 7659, i16 0, i16 3868, i16 1041, i16 7660, i16 7661, i16 7662, i16 3869, i16 1316, i16 7663, i16 2857, i16 929, i16 2015, i16 0, i16 0, i16 3002, i16 3870, i16 0, i16 5912, i16 11002, i16 0, i16 2190, i16 11003, i16 1006, i16 0, i16 5913, i16 3620, i16 0, i16 1884, i16 11004, i16 11005, i16 1980, i16 0, i16 0, i16 11006, i16 11007, i16 11008, i16 1853, i16 2586, i16 11009, i16 11010, i16 0, i16 11011, i16 11012, i16 5914, i16 5915, i16 856, i16 11013, i16 5916, i16 11014, i16 6936, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12883, i16 12884, i16 6937, i16 12885, i16 3361, i16 1792, i16 12886, i16 1775, i16 2358, i16 0, i16 12887, i16 12888, i16 12889, i16 0, i16 6938, i16 0, i16 0, i16 12890, i16 12891, i16 6941, i16 0, i16 12892, i16 12893, i16 0, i16 12894, i16 12895, i16 7960, i16 7961, i16 868, i16 7962, i16 7963, i16 0, i16 7964, i16 0, i16 0, i16 7965, i16 0, i16 7966, i16 2368, i16 7967, i16 4049, i16 7968, i16 4050, i16 0, i16 0, i16 0, i16 7969, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1117, i16 0, i16 0, i16 7970, i16 0, i16 2842, i16 1323, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1002, i16 4296, i16 4301, i16 0, i16 0, i16 4299, i16 8430, i16 3276, i16 3275, i16 8431, i16 8432, i16 0, i16 8433, i16 0, i16 2790, i16 0, i16 0, i16 0, i16 4298, i16 2019, i16 0, i16 4297, i16 0, i16 0, i16 12570, i16 6777, i16 0, i16 0, i16 1110, i16 6775, i16 6779, i16 0, i16 0, i16 12571, i16 0, i16 6780, i16 0, i16 785, i16 0, i16 6781, i16 6782, i16 0, i16 0, i16 0, i16 0, i16 12572, i16 12573, i16 12574, i16 2129, i16 12575, i16 12576, i16 0, i16 6783, i16 0, i16 12577, i16 12578, i16 4891, i16 9304, i16 0, i16 0, i16 0, i16 9305, i16 9306, i16 4888, i16 9307, i16 0, i16 0, i16 9308, i16 0, i16 9309, i16 4876, i16 9310, i16 0, i16 4905, i16 4875, i16 0, i16 4894, i16 0, i16 0, i16 9311, i16 9312, i16 0, i16 9313, i16 4886, i16 9314, i16 0, i16 4881, i16 4878, i16 6939, i16 12896, i16 0, i16 0, i16 0, i16 0, i16 6942, i16 12897, i16 12898, i16 1578, i16 6940, i16 0, i16 0, i16 0, i16 12899, i16 6943, i16 12900, i16 6944, i16 6945, i16 0, i16 6949, i16 0, i16 1789, i16 12901, i16 12902, i16 0, i16 0, i16 2505, i16 0, i16 12903, i16 0, i16 12904, i16 7197, i16 7196, i16 7199, i16 7205, i16 7198, i16 7204, i16 7169, i16 7209, i16 7213, i16 7212, i16 7215, i16 7214, i16 7226, i16 7225, i16 7228, i16 7227, i16 0, i16 7242, i16 7244, i16 7243, i16 7246, i16 7250, i16 7245, i16 284, i16 7176, i16 7261, i16 7260, i16 7263, i16 7262, i16 7276, i16 7179, i16 7193, i16 8734, i16 0, i16 3376, i16 1144, i16 0, i16 4514, i16 0, i16 1440, i16 1047, i16 0, i16 0, i16 4511, i16 8735, i16 0, i16 3589, i16 4513, i16 799, i16 4515, i16 8736, i16 4506, i16 4512, i16 4519, i16 1439, i16 4507, i16 8737, i16 0, i16 0, i16 8738, i16 8739, i16 0, i16 3532, i16 8740, i16 287, i16 350, i16 0, i16 0, i16 0, i16 0, i16 290, i16 291, i16 0, i16 0, i16 352, i16 353, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1311, i16 966, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4185, i16 0, i16 3372, i16 3173, i16 1581, i16 0, i16 0, i16 7475, i16 0, i16 0, i16 2170, i16 3588, i16 7476, i16 0, i16 7477, i16 0, i16 7478, i16 7479, i16 7480, i16 7481, i16 3245, i16 5407, i16 10207, i16 0, i16 5408, i16 2729, i16 10208, i16 1034, i16 1627, i16 5409, i16 0, i16 0, i16 5410, i16 10209, i16 10210, i16 5411, i16 0, i16 1788, i16 0, i16 0, i16 5413, i16 0, i16 10211, i16 5412, i16 0, i16 0, i16 5414, i16 5415, i16 10212, i16 10213, i16 10214, i16 0, i16 10215, i16 8479, i16 0, i16 4324, i16 0, i16 0, i16 0, i16 0, i16 8480, i16 0, i16 0, i16 0, i16 8481, i16 4326, i16 0, i16 4327, i16 0, i16 8482, i16 0, i16 12526, i16 0, i16 8483, i16 0, i16 0, i16 4330, i16 8484, i16 8485, i16 3635, i16 0, i16 4331, i16 4328, i16 0, i16 0, i16 11039, i16 0, i16 5936, i16 11040, i16 5935, i16 0, i16 1168, i16 11041, i16 5937, i16 0, i16 5938, i16 5939, i16 0, i16 11042, i16 1702, i16 3606, i16 0, i16 5941, i16 2162, i16 0, i16 11043, i16 0, i16 919, i16 5942, i16 5943, i16 0, i16 0, i16 11044, i16 0, i16 11045, i16 5944, i16 11046, i16 2080, i16 4375, i16 4374, i16 4370, i16 0, i16 8552, i16 0, i16 0, i16 4376, i16 4377, i16 0, i16 8553, i16 4378, i16 0, i16 0, i16 0, i16 4381, i16 4379, i16 0, i16 4380, i16 4382, i16 0, i16 907, i16 2703, i16 4383, i16 0, i16 1493, i16 1019, i16 2929, i16 0, i16 4384, i16 2904, i16 6176, i16 0, i16 11469, i16 11470, i16 11471, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11472, i16 11473, i16 0, i16 11474, i16 0, i16 6174, i16 0, i16 11475, i16 6175, i16 11476, i16 0, i16 0, i16 6180, i16 6181, i16 11477, i16 1037, i16 11478, i16 1249, i16 0, i16 0, i16 6179, i16 11479, i16 6688, i16 12452, i16 1177, i16 1080, i16 1653, i16 3023, i16 12453, i16 6690, i16 6689, i16 12454, i16 0, i16 12455, i16 12456, i16 6691, i16 0, i16 0, i16 0, i16 0, i16 899, i16 0, i16 12457, i16 0, i16 12458, i16 0, i16 0, i16 6694, i16 12459, i16 6693, i16 6692, i16 12460, i16 6695, i16 12461, i16 10528, i16 0, i16 0, i16 10529, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5557, i16 1409, i16 0, i16 10530, i16 0, i16 1286, i16 3521, i16 5559, i16 0, i16 0, i16 10531, i16 0, i16 10532, i16 5560, i16 0, i16 0, i16 10533, i16 853, i16 10534, i16 10535, i16 0, i16 0, i16 5563, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 12833, i16 0, i16 6912, i16 6913, i16 0, i16 6914, i16 12834, i16 6915, i16 6916, i16 6917, i16 6918, i16 12835, i16 0, i16 12836, i16 6919, i16 6920, i16 0, i16 4953, i16 6921, i16 12837, i16 12838, i16 12839, i16 0, i16 12840, i16 0, i16 12841, i16 12842, i16 5678, i16 1235, i16 12843, i16 0, i16 0, i16 4130, i16 0, i16 0, i16 9454, i16 9455, i16 1218, i16 4988, i16 0, i16 0, i16 9456, i16 0, i16 4989, i16 9457, i16 3265, i16 3355, i16 0, i16 0, i16 0, i16 2852, i16 4990, i16 3071, i16 0, i16 9458, i16 0, i16 3092, i16 0, i16 9459, i16 3428, i16 0, i16 0, i16 0, i16 4991, i16 7202, i16 7288, i16 7200, i16 7286, i16 7203, i16 7289, i16 7206, i16 7292, i16 7207, i16 7293, i16 7210, i16 7296, i16 7208, i16 7294, i16 7211, i16 7297, i16 7170, i16 7181, i16 7218, i16 7304, i16 0, i16 0, i16 7217, i16 7303, i16 7219, i16 7305, i16 7216, i16 7302, i16 7220, i16 7307, i16 7221, i16 7308, i16 7971, i16 7972, i16 7973, i16 7974, i16 4057, i16 0, i16 7975, i16 0, i16 1200, i16 7976, i16 4060, i16 4056, i16 4059, i16 7977, i16 0, i16 7978, i16 0, i16 7979, i16 7980, i16 0, i16 3203, i16 7981, i16 0, i16 0, i16 2866, i16 0, i16 3025, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10788, i16 5734, i16 5740, i16 5733, i16 0, i16 0, i16 2003, i16 10789, i16 10790, i16 0, i16 0, i16 3288, i16 10791, i16 10792, i16 2011, i16 10793, i16 0, i16 5736, i16 5748, i16 10794, i16 0, i16 5744, i16 10795, i16 5747, i16 0, i16 5745, i16 5749, i16 5743, i16 0, i16 5717, i16 2300, i16 10796, i16 7717, i16 3904, i16 0, i16 3337, i16 7718, i16 2653, i16 7719, i16 3477, i16 7720, i16 3246, i16 0, i16 0, i16 7721, i16 3905, i16 0, i16 7722, i16 0, i16 7723, i16 6771, i16 0, i16 7724, i16 2829, i16 7725, i16 3906, i16 1131, i16 3396, i16 0, i16 7726, i16 7727, i16 2062, i16 3907, i16 3260, i16 8741, i16 8742, i16 3482, i16 8743, i16 8744, i16 0, i16 0, i16 4522, i16 0, i16 0, i16 4526, i16 8745, i16 0, i16 8746, i16 2437, i16 0, i16 3654, i16 4527, i16 8747, i16 8748, i16 4524, i16 0, i16 4521, i16 8749, i16 8750, i16 4520, i16 4525, i16 0, i16 8751, i16 8752, i16 0, i16 8753, i16 10021, i16 5294, i16 0, i16 10022, i16 10023, i16 0, i16 10024, i16 10025, i16 0, i16 0, i16 0, i16 10026, i16 0, i16 10027, i16 0, i16 0, i16 0, i16 10028, i16 10029, i16 0, i16 0, i16 5290, i16 0, i16 10030, i16 0, i16 5293, i16 1571, i16 884, i16 5295, i16 10031, i16 2235, i16 5292, i16 295, i16 0, i16 294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5671, i16 0, i16 5673, i16 0, i16 10682, i16 5672, i16 0, i16 10683, i16 10684, i16 10685, i16 1547, i16 0, i16 0, i16 10686, i16 2367, i16 10687, i16 0, i16 0, i16 5675, i16 10688, i16 10689, i16 10690, i16 2811, i16 10691, i16 5674, i16 10692, i16 10693, i16 0, i16 5676, i16 10694, i16 3210, i16 2419, i16 10279, i16 2226, i16 10280, i16 2849, i16 10281, i16 5448, i16 3334, i16 10282, i16 5445, i16 0, i16 10283, i16 5446, i16 10284, i16 0, i16 0, i16 0, i16 10285, i16 0, i16 10286, i16 10287, i16 10288, i16 0, i16 0, i16 0, i16 0, i16 5451, i16 10289, i16 0, i16 0, i16 10290, i16 5450, i16 5449, i16 11047, i16 11048, i16 0, i16 11049, i16 11050, i16 0, i16 0, i16 11051, i16 0, i16 11052, i16 11053, i16 827, i16 0, i16 5945, i16 11054, i16 0, i16 0, i16 11055, i16 5946, i16 0, i16 11056, i16 0, i16 11057, i16 0, i16 11058, i16 3166, i16 11059, i16 11060, i16 0, i16 1912, i16 0, i16 5948, i16 2600, i16 0, i16 10266, i16 0, i16 0, i16 10267, i16 10268, i16 5443, i16 0, i16 0, i16 10269, i16 0, i16 0, i16 10270, i16 10271, i16 10272, i16 0, i16 0, i16 10273, i16 0, i16 0, i16 0, i16 10274, i16 10275, i16 0, i16 0, i16 5444, i16 5447, i16 10276, i16 0, i16 10277, i16 10278, i16 3625, i16 0, i16 10032, i16 5298, i16 7098, i16 0, i16 10033, i16 10034, i16 10035, i16 5296, i16 5299, i16 10036, i16 0, i16 10037, i16 10038, i16 5285, i16 5297, i16 10039, i16 10040, i16 1713, i16 0, i16 0, i16 5300, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5301, i16 0, i16 5929, i16 0, i16 0, i16 11029, i16 11030, i16 11031, i16 11032, i16 2715, i16 0, i16 0, i16 0, i16 11033, i16 0, i16 0, i16 11034, i16 11035, i16 0, i16 11036, i16 0, i16 0, i16 0, i16 0, i16 11037, i16 0, i16 5931, i16 5930, i16 5933, i16 0, i16 11038, i16 5932, i16 0, i16 5934, i16 2604, i16 8623, i16 8624, i16 0, i16 4424, i16 0, i16 0, i16 0, i16 8625, i16 8626, i16 8627, i16 1020, i16 8628, i16 8629, i16 8630, i16 8631, i16 4475, i16 4426, i16 8632, i16 8633, i16 0, i16 2923, i16 8634, i16 0, i16 4425, i16 0, i16 8635, i16 4423, i16 8636, i16 1681, i16 0, i16 4429, i16 6444, i16 11900, i16 11901, i16 6446, i16 6443, i16 0, i16 0, i16 0, i16 0, i16 11902, i16 0, i16 0, i16 11903, i16 11904, i16 0, i16 11905, i16 11906, i16 11907, i16 6449, i16 0, i16 1986, i16 0, i16 6448, i16 0, i16 0, i16 11908, i16 11909, i16 11910, i16 6450, i16 0, i16 0, i16 0, i16 11308, i16 0, i16 0, i16 0, i16 2816, i16 6087, i16 11309, i16 0, i16 11310, i16 3046, i16 6074, i16 0, i16 0, i16 11311, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11312, i16 0, i16 0, i16 11313, i16 2050, i16 0, i16 6089, i16 6094, i16 2427, i16 11314, i16 0, i16 6093, i16 11315, i16 8493, i16 2035, i16 0, i16 2410, i16 8494, i16 1600, i16 1709, i16 1601, i16 1295, i16 8495, i16 0, i16 4338, i16 0, i16 0, i16 1710, i16 0, i16 0, i16 1539, i16 4339, i16 3383, i16 2942, i16 4340, i16 0, i16 1602, i16 8496, i16 8497, i16 0, i16 1133, i16 0, i16 2538, i16 1359, i16 0, i16 11566, i16 0, i16 0, i16 0, i16 0, i16 6237, i16 11567, i16 11568, i16 11569, i16 0, i16 6238, i16 6239, i16 0, i16 0, i16 0, i16 0, i16 11570, i16 11571, i16 11572, i16 0, i16 0, i16 11573, i16 6243, i16 0, i16 6244, i16 11574, i16 11575, i16 6242, i16 0, i16 0, i16 11576, i16 0, i16 3377, i16 0, i16 5093, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3015, i16 9629, i16 0, i16 5105, i16 1524, i16 0, i16 0, i16 9630, i16 0, i16 0, i16 2031, i16 0, i16 5095, i16 9631, i16 0, i16 0, i16 3580, i16 1625, i16 0, i16 5108, i16 8498, i16 0, i16 1831, i16 3154, i16 0, i16 0, i16 3034, i16 8499, i16 0, i16 0, i16 0, i16 4341, i16 1206, i16 8500, i16 0, i16 0, i16 0, i16 4344, i16 8501, i16 0, i16 8502, i16 8503, i16 2626, i16 0, i16 8504, i16 4343, i16 4342, i16 4345, i16 0, i16 2700, i16 0, i16 8505, i16 8754, i16 0, i16 0, i16 0, i16 3205, i16 8755, i16 0, i16 2833, i16 8756, i16 1441, i16 8757, i16 4528, i16 4523, i16 8758, i16 4529, i16 0, i16 0, i16 0, i16 1494, i16 0, i16 0, i16 0, i16 950, i16 0, i16 8759, i16 8760, i16 4537, i16 0, i16 8761, i16 0, i16 1145, i16 0, i16 10291, i16 0, i16 0, i16 0, i16 10292, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5453, i16 10293, i16 10294, i16 5452, i16 0, i16 0, i16 5454, i16 0, i16 0, i16 10295, i16 10296, i16 10297, i16 0, i16 0, i16 0, i16 10298, i16 0, i16 0, i16 0, i16 5456, i16 10299, i16 308, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 267, i16 253, i16 268, i16 237, i16 239, i16 11316, i16 0, i16 6062, i16 0, i16 11317, i16 11318, i16 6095, i16 2384, i16 0, i16 0, i16 6090, i16 6092, i16 0, i16 11319, i16 11320, i16 0, i16 11321, i16 11322, i16 11323, i16 6091, i16 0, i16 0, i16 4949, i16 4934, i16 11324, i16 11325, i16 6097, i16 11326, i16 0, i16 0, i16 11327, i16 0, i16 821, i16 2621, i16 7367, i16 1896, i16 7368, i16 7369, i16 0, i16 3375, i16 2131, i16 1795, i16 2130, i16 961, i16 7370, i16 3147, i16 3502, i16 0, i16 3712, i16 854, i16 7371, i16 0, i16 1105, i16 3713, i16 2253, i16 3932, i16 1269, i16 3215, i16 0, i16 0, i16 0, i16 0, i16 2132, i16 7372, i16 4661, i16 4662, i16 2726, i16 4664, i16 8975, i16 8976, i16 1783, i16 4659, i16 0, i16 8977, i16 8978, i16 0, i16 1243, i16 8979, i16 0, i16 4665, i16 8980, i16 4658, i16 4669, i16 0, i16 4668, i16 8981, i16 4667, i16 8982, i16 0, i16 0, i16 4670, i16 8983, i16 0, i16 4672, i16 2142, i16 8984, i16 9013, i16 0, i16 1147, i16 1801, i16 0, i16 0, i16 2869, i16 9014, i16 0, i16 0, i16 0, i16 9015, i16 1444, i16 0, i16 0, i16 0, i16 2239, i16 0, i16 4692, i16 0, i16 2265, i16 2727, i16 0, i16 3158, i16 4693, i16 0, i16 9016, i16 0, i16 0, i16 9017, i16 0, i16 0, i16 11061, i16 11062, i16 0, i16 11063, i16 11064, i16 1036, i16 763, i16 11065, i16 11066, i16 11067, i16 11068, i16 5947, i16 5950, i16 2953, i16 11069, i16 2191, i16 11070, i16 987, i16 11071, i16 3290, i16 11072, i16 0, i16 0, i16 11073, i16 1464, i16 1369, i16 11074, i16 5949, i16 11075, i16 1007, i16 11076, i16 11077, i16 7223, i16 7309, i16 7222, i16 0, i16 7224, i16 7310, i16 7171, i16 7183, i16 7233, i16 7318, i16 7231, i16 7316, i16 0, i16 0, i16 7232, i16 7317, i16 7230, i16 7184, i16 7172, i16 7185, i16 7234, i16 7319, i16 7235, i16 7320, i16 7186, i16 7236, i16 7321, i16 7238, i16 7323, i16 7237, i16 7322, i16 7174, i16 12087, i16 0, i16 6561, i16 0, i16 12088, i16 12089, i16 12090, i16 0, i16 12091, i16 0, i16 0, i16 0, i16 0, i16 12092, i16 0, i16 0, i16 12093, i16 0, i16 6562, i16 0, i16 12094, i16 0, i16 12095, i16 12096, i16 12097, i16 6563, i16 12098, i16 0, i16 12099, i16 0, i16 12100, i16 0, i16 10041, i16 10042, i16 0, i16 3565, i16 0, i16 10043, i16 10044, i16 10045, i16 0, i16 10046, i16 0, i16 5302, i16 0, i16 0, i16 0, i16 10047, i16 10048, i16 10049, i16 10050, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10051, i16 10052, i16 10053, i16 0, i16 10054, i16 0, i16 5303, i16 10055, i16 11577, i16 6240, i16 11578, i16 6235, i16 6241, i16 11579, i16 11580, i16 0, i16 0, i16 11581, i16 0, i16 0, i16 6245, i16 6741, i16 0, i16 11582, i16 0, i16 0, i16 11583, i16 0, i16 0, i16 0, i16 941, i16 11584, i16 0, i16 0, i16 11585, i16 11586, i16 11587, i16 0, i16 6248, i16 1372, i16 7482, i16 7483, i16 1427, i16 2442, i16 1001, i16 7484, i16 7485, i16 0, i16 7486, i16 7487, i16 2018, i16 7488, i16 7489, i16 7490, i16 3767, i16 7491, i16 3772, i16 3770, i16 7492, i16 0, i16 3765, i16 0, i16 0, i16 2452, i16 3768, i16 0, i16 3771, i16 3769, i16 7493, i16 3250, i16 0, i16 3766, i16 8506, i16 0, i16 0, i16 0, i16 0, i16 2222, i16 0, i16 0, i16 8508, i16 0, i16 0, i16 1832, i16 0, i16 2291, i16 8507, i16 2488, i16 1217, i16 0, i16 8509, i16 2627, i16 0, i16 8510, i16 4346, i16 4347, i16 2140, i16 0, i16 0, i16 0, i16 0, i16 3308, i16 8511, i16 0, i16 8762, i16 8763, i16 8764, i16 4535, i16 0, i16 0, i16 4536, i16 1694, i16 4534, i16 4532, i16 4531, i16 4538, i16 4530, i16 4540, i16 8765, i16 8766, i16 1024, i16 0, i16 0, i16 0, i16 0, i16 8767, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8768, i16 8769, i16 8770, i16 8771, i16 7739, i16 3449, i16 2900, i16 7740, i16 0, i16 3270, i16 3916, i16 0, i16 3917, i16 0, i16 7741, i16 7742, i16 7743, i16 3919, i16 0, i16 3921, i16 3920, i16 7744, i16 0, i16 7745, i16 0, i16 3922, i16 962, i16 3327, i16 7746, i16 1777, i16 3923, i16 7747, i16 7748, i16 2400, i16 7749, i16 7750, i16 9531, i16 3285, i16 2947, i16 1282, i16 0, i16 2724, i16 0, i16 9532, i16 2608, i16 9533, i16 5031, i16 9534, i16 9535, i16 0, i16 9536, i16 5029, i16 2494, i16 5018, i16 9537, i16 882, i16 9538, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2108, i16 5574, i16 5575, i16 2022, i16 0, i16 2837, i16 5576, i16 0, i16 10542, i16 10543, i16 2539, i16 10544, i16 10545, i16 5577, i16 0, i16 2559, i16 5578, i16 10546, i16 0, i16 0, i16 10547, i16 0, i16 1314, i16 0, i16 3835, i16 2592, i16 1892, i16 10548, i16 0, i16 10549, i16 10550, i16 1161, i16 11836, i16 0, i16 0, i16 1954, i16 0, i16 0, i16 11837, i16 0, i16 2241, i16 0, i16 0, i16 11838, i16 11839, i16 0, i16 0, i16 11840, i16 0, i16 0, i16 11841, i16 2450, i16 0, i16 11842, i16 0, i16 11843, i16 0, i16 11844, i16 6413, i16 11845, i16 11863, i16 0, i16 6412, i16 0, i16 318, i16 317, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 320, i16 319, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 322, i16 321, i16 0, i16 0, i16 4671, i16 8985, i16 0, i16 0, i16 8986, i16 4675, i16 0, i16 0, i16 8987, i16 8988, i16 8989, i16 0, i16 0, i16 0, i16 0, i16 8990, i16 0, i16 0, i16 0, i16 8991, i16 8992, i16 0, i16 8993, i16 0, i16 4673, i16 8994, i16 0, i16 8995, i16 4674, i16 4636, i16 8996, i16 8997, i16 9791, i16 3398, i16 0, i16 0, i16 0, i16 0, i16 2100, i16 0, i16 0, i16 0, i16 0, i16 9792, i16 0, i16 9793, i16 0, i16 9794, i16 9795, i16 9796, i16 0, i16 0, i16 0, i16 0, i16 2362, i16 0, i16 9797, i16 0, i16 0, i16 0, i16 2099, i16 0, i16 0, i16 0, i16 6976, i16 0, i16 0, i16 12957, i16 0, i16 0, i16 0, i16 6977, i16 12962, i16 12958, i16 12959, i16 12961, i16 0, i16 0, i16 12963, i16 0, i16 12964, i16 0, i16 12965, i16 0, i16 0, i16 12966, i16 6978, i16 12967, i16 6979, i16 0, i16 0, i16 12968, i16 0, i16 0, i16 0, i16 0, i16 8256, i16 795, i16 0, i16 748, i16 8257, i16 0, i16 0, i16 0, i16 0, i16 4198, i16 0, i16 0, i16 8258, i16 8259, i16 8260, i16 0, i16 0, i16 4196, i16 8261, i16 8262, i16 0, i16 0, i16 0, i16 0, i16 3405, i16 0, i16 4199, i16 0, i16 4197, i16 0, i16 8263, i16 4195, i16 12352, i16 12353, i16 12354, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12355, i16 0, i16 12356, i16 12357, i16 1116, i16 12358, i16 0, i16 12359, i16 0, i16 0, i16 12360, i16 0, i16 6640, i16 12361, i16 1716, i16 2432, i16 12362, i16 0, i16 2667, i16 12363, i16 0, i16 0, i16 12364, i16 0, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 0, i16 0, i16 0, i16 0, i16 227, i16 249, i16 240, i16 241, i16 0, i16 833, i16 8016, i16 0, i16 2567, i16 8017, i16 8018, i16 8019, i16 8020, i16 8021, i16 0, i16 0, i16 8023, i16 0, i16 8024, i16 4081, i16 0, i16 1689, i16 8022, i16 792, i16 2217, i16 0, i16 0, i16 8025, i16 8026, i16 0, i16 4082, i16 1536, i16 0, i16 0, i16 1672, i16 0, i16 4084, i16 1089, i16 0, i16 0, i16 10554, i16 0, i16 2213, i16 3163, i16 10555, i16 5588, i16 10556, i16 10557, i16 10558, i16 2509, i16 10559, i16 10560, i16 10561, i16 10562, i16 10563, i16 0, i16 5583, i16 10564, i16 5587, i16 5589, i16 0, i16 0, i16 1776, i16 0, i16 0, i16 0, i16 10565, i16 0, i16 10566, i16 4929, i16 0, i16 4931, i16 4932, i16 0, i16 9374, i16 0, i16 0, i16 0, i16 0, i16 4944, i16 9375, i16 4940, i16 0, i16 4821, i16 9376, i16 9377, i16 9378, i16 0, i16 4939, i16 9379, i16 0, i16 0, i16 0, i16 4938, i16 0, i16 0, i16 4935, i16 0, i16 9380, i16 9381, i16 9382, i16 9025, i16 767, i16 0, i16 9026, i16 1361, i16 2294, i16 9027, i16 3159, i16 0, i16 0, i16 0, i16 4699, i16 1813, i16 2570, i16 9028, i16 1838, i16 2178, i16 0, i16 9029, i16 9030, i16 9031, i16 0, i16 0, i16 4700, i16 0, i16 3282, i16 0, i16 0, i16 926, i16 1839, i16 0, i16 9032, i16 12609, i16 12611, i16 0, i16 0, i16 12612, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6794, i16 2910, i16 12613, i16 0, i16 12614, i16 6796, i16 960, i16 12615, i16 6799, i16 6798, i16 12616, i16 12617, i16 0, i16 12618, i16 843, i16 0, i16 0, i16 0, i16 1342, i16 4418, i16 1567, i16 8603, i16 0, i16 8606, i16 0, i16 0, i16 8604, i16 4419, i16 3187, i16 2026, i16 8605, i16 8607, i16 4420, i16 3090, i16 8608, i16 8609, i16 8610, i16 0, i16 2846, i16 2632, i16 0, i16 0, i16 0, i16 8611, i16 2735, i16 0, i16 0, i16 4421, i16 1226, i16 0, i16 0, i16 3395, i16 0, i16 10255, i16 0, i16 5436, i16 5438, i16 5439, i16 0, i16 10256, i16 5435, i16 0, i16 0, i16 0, i16 10257, i16 10258, i16 10259, i16 0, i16 0, i16 0, i16 0, i16 10260, i16 10261, i16 10262, i16 5441, i16 5442, i16 10263, i16 2640, i16 0, i16 1188, i16 10264, i16 10265, i16 0, i16 12868, i16 0, i16 0, i16 6931, i16 12869, i16 12870, i16 12871, i16 12872, i16 0, i16 12873, i16 12874, i16 12875, i16 0, i16 12876, i16 775, i16 12877, i16 12878, i16 6932, i16 3200, i16 6930, i16 12879, i16 0, i16 6933, i16 6934, i16 0, i16 0, i16 12880, i16 0, i16 0, i16 12881, i16 12882, i16 6935, i16 12101, i16 0, i16 12103, i16 12104, i16 0, i16 12102, i16 0, i16 12105, i16 0, i16 12106, i16 0, i16 0, i16 0, i16 2721, i16 12107, i16 12108, i16 6565, i16 12109, i16 6564, i16 0, i16 12110, i16 0, i16 12111, i16 12112, i16 0, i16 12113, i16 12114, i16 0, i16 12115, i16 12116, i16 0, i16 0, i16 1350, i16 4271, i16 0, i16 0, i16 0, i16 1294, i16 4272, i16 0, i16 1403, i16 0, i16 2860, i16 949, i16 0, i16 1830, i16 4273, i16 4276, i16 4275, i16 1402, i16 0, i16 4274, i16 0, i16 2743, i16 0, i16 0, i16 0, i16 8393, i16 8394, i16 0, i16 8395, i16 0, i16 2453, i16 0, i16 7494, i16 2169, i16 7495, i16 3366, i16 3773, i16 3774, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1971, i16 3787, i16 7496, i16 0, i16 7497, i16 2955, i16 0, i16 3117, i16 3782, i16 0, i16 3269, i16 0, i16 955, i16 0, i16 7498, i16 7499, i16 3786, i16 7500, i16 11846, i16 0, i16 6411, i16 0, i16 0, i16 11847, i16 11848, i16 11849, i16 11850, i16 0, i16 11851, i16 6419, i16 6417, i16 0, i16 11852, i16 6414, i16 0, i16 11853, i16 0, i16 0, i16 11854, i16 11855, i16 6416, i16 11856, i16 0, i16 11857, i16 6415, i16 6418, i16 0, i16 1302, i16 0, i16 6422, i16 3911, i16 7728, i16 2259, i16 3908, i16 1357, i16 7729, i16 3909, i16 1132, i16 7730, i16 7731, i16 7732, i16 0, i16 7733, i16 0, i16 0, i16 0, i16 7734, i16 7735, i16 1417, i16 3912, i16 7736, i16 3913, i16 7737, i16 7738, i16 3914, i16 3915, i16 1932, i16 0, i16 0, i16 0, i16 1588, i16 3439, i16 10567, i16 10568, i16 0, i16 0, i16 0, i16 5596, i16 3109, i16 10569, i16 3007, i16 2808, i16 0, i16 1367, i16 5595, i16 5593, i16 10570, i16 3022, i16 5590, i16 2593, i16 2810, i16 0, i16 2809, i16 10571, i16 1771, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5614, i16 0, i16 0, i16 10056, i16 10057, i16 5283, i16 10058, i16 0, i16 0, i16 10059, i16 5304, i16 10060, i16 10061, i16 10062, i16 10063, i16 0, i16 0, i16 10064, i16 10065, i16 1157, i16 10066, i16 10067, i16 0, i16 0, i16 10068, i16 0, i16 0, i16 0, i16 10069, i16 0, i16 10070, i16 0, i16 1878, i16 0, i16 10071, i16 11336, i16 8188, i16 11337, i16 0, i16 0, i16 0, i16 11338, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6100, i16 1552, i16 0, i16 1267, i16 0, i16 11339, i16 11340, i16 6102, i16 3865, i16 11341, i16 11342, i16 11343, i16 11344, i16 1300, i16 0, i16 3591, i16 11345, i16 1392, i16 6103, i16 842, i16 0, i16 0, i16 3622, i16 12516, i16 12517, i16 12518, i16 6729, i16 6544, i16 12519, i16 6728, i16 0, i16 0, i16 0, i16 12520, i16 12521, i16 6732, i16 6730, i16 6731, i16 12522, i16 6733, i16 0, i16 6734, i16 3641, i16 6735, i16 6736, i16 12523, i16 2290, i16 3028, i16 0, i16 0, i16 0, i16 11082, i16 5951, i16 11083, i16 5952, i16 11084, i16 1940, i16 1385, i16 2618, i16 11085, i16 0, i16 11086, i16 2862, i16 0, i16 11087, i16 0, i16 11088, i16 0, i16 888, i16 0, i16 5956, i16 5955, i16 0, i16 11089, i16 11090, i16 0, i16 5961, i16 5957, i16 5960, i16 0, i16 11091, i16 11092, i16 0, i16 2892, i16 4870, i16 2887, i16 9286, i16 9287, i16 9288, i16 9289, i16 0, i16 9290, i16 9291, i16 4874, i16 4861, i16 9292, i16 1349, i16 4864, i16 2028, i16 9293, i16 9294, i16 9295, i16 2971, i16 4866, i16 1352, i16 0, i16 4858, i16 4860, i16 4857, i16 9296, i16 9297, i16 3675, i16 1085, i16 4863, i16 9298, i16 10316, i16 0, i16 3457, i16 5469, i16 10317, i16 2577, i16 10318, i16 2981, i16 0, i16 1384, i16 10319, i16 0, i16 10320, i16 2558, i16 5470, i16 1335, i16 10321, i16 10322, i16 0, i16 2297, i16 10323, i16 0, i16 0, i16 0, i16 10324, i16 0, i16 0, i16 10325, i16 5471, i16 0, i16 0, i16 0, i16 10572, i16 0, i16 0, i16 0, i16 10573, i16 5598, i16 10574, i16 5600, i16 0, i16 10575, i16 10576, i16 0, i16 5603, i16 10577, i16 5604, i16 10578, i16 5601, i16 5602, i16 10579, i16 10580, i16 5599, i16 5597, i16 0, i16 10581, i16 0, i16 0, i16 5591, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3149, i16 8118, i16 0, i16 4121, i16 8102, i16 0, i16 8103, i16 8104, i16 0, i16 8105, i16 0, i16 0, i16 0, i16 8106, i16 0, i16 0, i16 8107, i16 0, i16 0, i16 0, i16 2154, i16 8108, i16 8109, i16 1898, i16 8110, i16 2968, i16 1201, i16 0, i16 1760, i16 8111, i16 8112, i16 8113, i16 7501, i16 7502, i16 0, i16 0, i16 7503, i16 3780, i16 3789, i16 7504, i16 0, i16 2393, i16 7505, i16 1533, i16 7506, i16 2967, i16 7507, i16 5253, i16 7508, i16 3788, i16 2780, i16 7509, i16 3777, i16 0, i16 1583, i16 7510, i16 7511, i16 1582, i16 3775, i16 7512, i16 7513, i16 7514, i16 7515, i16 1931, i16 2382, i16 3317, i16 1772, i16 10710, i16 0, i16 0, i16 10711, i16 0, i16 0, i16 0, i16 10712, i16 1850, i16 2686, i16 10713, i16 5691, i16 3628, i16 1742, i16 10714, i16 5692, i16 2189, i16 0, i16 5694, i16 0, i16 0, i16 0, i16 2111, i16 1701, i16 0, i16 10715, i16 10716, i16 10717, i16 5693, i16 4431, i16 8660, i16 1023, i16 4451, i16 4453, i16 2580, i16 0, i16 8661, i16 1693, i16 957, i16 4445, i16 4456, i16 4455, i16 1328, i16 0, i16 2446, i16 1097, i16 8662, i16 0, i16 0, i16 0, i16 1438, i16 0, i16 4446, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8663, i16 8664, i16 5455, i16 0, i16 10300, i16 0, i16 0, i16 3234, i16 0, i16 10301, i16 0, i16 0, i16 10302, i16 0, i16 2021, i16 3603, i16 10303, i16 10304, i16 5457, i16 10305, i16 0, i16 2836, i16 0, i16 10306, i16 5458, i16 0, i16 0, i16 5459, i16 0, i16 5463, i16 5461, i16 5462, i16 10307, i16 5460, i16 8528, i16 2628, i16 0, i16 1604, i16 2078, i16 0, i16 0, i16 3064, i16 0, i16 0, i16 2079, i16 8529, i16 0, i16 0, i16 8530, i16 2055, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2701, i16 3278, i16 2744, i16 0, i16 0, i16 1605, i16 0, i16 3155, i16 0, i16 0, i16 0, i16 4177, i16 8209, i16 4176, i16 8210, i16 0, i16 931, i16 0, i16 4178, i16 2070, i16 4180, i16 2536, i16 8211, i16 4179, i16 8212, i16 3208, i16 8213, i16 0, i16 0, i16 8214, i16 2054, i16 2778, i16 8215, i16 8216, i16 0, i16 4181, i16 8217, i16 0, i16 8218, i16 8219, i16 1596, i16 0, i16 0, i16 9810, i16 0, i16 5193, i16 0, i16 2972, i16 5189, i16 5192, i16 2101, i16 9811, i16 3050, i16 0, i16 0, i16 5196, i16 0, i16 1922, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9812, i16 0, i16 0, i16 0, i16 2339, i16 0, i16 0, i16 11346, i16 11347, i16 11348, i16 11349, i16 11350, i16 0, i16 0, i16 6104, i16 0, i16 11351, i16 0, i16 2609, i16 11352, i16 0, i16 0, i16 11353, i16 0, i16 6105, i16 0, i16 0, i16 0, i16 11354, i16 11355, i16 11356, i16 0, i16 2903, i16 11357, i16 771, i16 0, i16 0, i16 0, i16 0, i16 8787, i16 4558, i16 8788, i16 8789, i16 0, i16 0, i16 2328, i16 8790, i16 0, i16 8791, i16 4559, i16 8792, i16 0, i16 0, i16 4560, i16 1241, i16 4561, i16 0, i16 4562, i16 4563, i16 2492, i16 0, i16 0, i16 0, i16 1542, i16 8793, i16 0, i16 3442, i16 0, i16 8794, i16 0, i16 3311, i16 9299, i16 4873, i16 1048, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1756, i16 0, i16 0, i16 9300, i16 900, i16 0, i16 0, i16 4890, i16 9301, i16 0, i16 3676, i16 4893, i16 9302, i16 0, i16 9303, i16 0, i16 0, i16 2181, i16 4892, i16 0, i16 0, i16 0, i16 2388, i16 7075, i16 13117, i16 0, i16 0, i16 0, i16 13118, i16 0, i16 0, i16 0, i16 13119, i16 13120, i16 7076, i16 0, i16 0, i16 13121, i16 0, i16 13122, i16 13123, i16 0, i16 13124, i16 0, i16 0, i16 13125, i16 0, i16 13126, i16 13127, i16 3096, i16 13128, i16 13129, i16 7077, i16 13130, i16 5972, i16 0, i16 11115, i16 11116, i16 11117, i16 5975, i16 0, i16 11118, i16 0, i16 2423, i16 1456, i16 0, i16 0, i16 11119, i16 11120, i16 872, i16 5974, i16 11121, i16 1642, i16 11156, i16 11099, i16 11122, i16 11123, i16 11124, i16 2424, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12628, i16 6804, i16 0, i16 12629, i16 6803, i16 12638, i16 12630, i16 0, i16 0, i16 0, i16 0, i16 12631, i16 3326, i16 2825, i16 12632, i16 12633, i16 12634, i16 0, i16 12635, i16 12636, i16 887, i16 12637, i16 0, i16 6805, i16 6802, i16 0, i16 0, i16 3144, i16 3545, i16 6806, i16 12639, i16 0, i16 9813, i16 0, i16 0, i16 0, i16 5199, i16 9814, i16 0, i16 9815, i16 5191, i16 0, i16 1410, i16 0, i16 9816, i16 0, i16 0, i16 5197, i16 0, i16 0, i16 9817, i16 0, i16 3519, i16 5200, i16 0, i16 0, i16 0, i16 7100, i16 9818, i16 9819, i16 0, i16 0, i16 0, i16 2014, i16 11093, i16 11094, i16 3425, i16 5959, i16 989, i16 1120, i16 5963, i16 11095, i16 11096, i16 5965, i16 11097, i16 11098, i16 0, i16 0, i16 1455, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5969, i16 5978, i16 5979, i16 0, i16 0, i16 11100, i16 756, i16 11101, i16 11102, i16 11103, i16 343, i16 0, i16 348, i16 344, i16 0, i16 0, i16 0, i16 349, i16 330, i16 0, i16 0, i16 331, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 354, i16 0, i16 0, i16 356, i16 292, i16 0, i16 7256, i16 7341, i16 7259, i16 7344, i16 7258, i16 7343, i16 7178, i16 7194, i16 7270, i16 7355, i16 7267, i16 7352, i16 7264, i16 7349, i16 7269, i16 7354, i16 7266, i16 7351, i16 7268, i16 7353, i16 7275, i16 7360, i16 7278, i16 7363, i16 7277, i16 7279, i16 7364, i16 7281, i16 7366, i16 7280, i16 7365, i16 0, i16 11608, i16 6262, i16 0, i16 0, i16 0, i16 11609, i16 6264, i16 3558, i16 0, i16 6263, i16 2193, i16 0, i16 6265, i16 0, i16 0, i16 6266, i16 11610, i16 0, i16 6267, i16 1170, i16 11611, i16 11612, i16 11613, i16 11614, i16 0, i16 0, i16 6268, i16 0, i16 11615, i16 6269, i16 0, i16 6270, i16 345, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 338, i16 339, i16 337, i16 336, i16 358, i16 359, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 293, i16 357, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 355, i16 0, i16 0, i16 3929, i16 1996, i16 7764, i16 2322, i16 0, i16 3931, i16 3930, i16 2064, i16 1562, i16 3933, i16 3031, i16 7766, i16 7765, i16 3934, i16 0, i16 0, i16 0, i16 3061, i16 2457, i16 2515, i16 1317, i16 0, i16 0, i16 2891, i16 2548, i16 7767, i16 2985, i16 7768, i16 3329, i16 0, i16 3936, i16 0, i16 9049, i16 0, i16 1614, i16 4714, i16 9050, i16 0, i16 1696, i16 2087, i16 9051, i16 9052, i16 4713, i16 0, i16 2088, i16 9053, i16 3409, i16 1695, i16 0, i16 9054, i16 9055, i16 800, i16 2295, i16 9056, i16 9057, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4720, i16 9058, i16 9059, i16 2266, i16 5210, i16 0, i16 0, i16 0, i16 0, i16 2414, i16 1803, i16 5212, i16 0, i16 0, i16 0, i16 0, i16 5211, i16 2159, i16 3955, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5213, i16 0, i16 0, i16 9838, i16 5215, i16 0, i16 5198, i16 5214, i16 0, i16 9839, i16 5216, i16 9820, i16 0, i16 9821, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5201, i16 0, i16 0, i16 0, i16 5202, i16 0, i16 0, i16 9822, i16 9823, i16 2921, i16 9824, i16 9825, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5204, i16 9826, i16 0, i16 0, i16 0, i16 5205, i16 9827, i16 1630, i16 0, i16 5677, i16 0, i16 0, i16 0, i16 10695, i16 3605, i16 0, i16 10696, i16 0, i16 10697, i16 0, i16 0, i16 0, i16 5679, i16 0, i16 0, i16 5680, i16 0, i16 5681, i16 10698, i16 5682, i16 0, i16 1848, i16 0, i16 5683, i16 1450, i16 0, i16 0, i16 1289, i16 0, i16 10590, i16 1162, i16 0, i16 0, i16 0, i16 10591, i16 0, i16 0, i16 0, i16 0, i16 2560, i16 0, i16 10592, i16 2342, i16 0, i16 10593, i16 10594, i16 3003, i16 10595, i16 0, i16 5620, i16 10596, i16 10597, i16 0, i16 3005, i16 0, i16 10598, i16 10599, i16 10600, i16 10601, i16 0, i16 0, i16 3168, i16 1751, i16 1646, i16 0, i16 11793, i16 0, i16 0, i16 3142, i16 996, i16 3047, i16 6379, i16 1172, i16 2302, i16 6378, i16 6383, i16 2620, i16 3444, i16 0, i16 6381, i16 6382, i16 1229, i16 0, i16 6384, i16 2974, i16 2500, i16 11794, i16 11795, i16 3082, i16 2748, i16 6380, i16 0, i16 3322, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 1377, i16 0, i16 0, i16 2005, i16 0, i16 2841, i16 0, i16 0, i16 12248, i16 12249, i16 12250, i16 0, i16 0, i16 12251, i16 12252, i16 0, i16 0, i16 2356, i16 12253, i16 6614, i16 0, i16 6608, i16 6613, i16 12254, i16 3412, i16 12255, i16 2649, i16 6615, i16 6612, i16 0, i16 0, i16 12256, i16 10849, i16 0, i16 5794, i16 5796, i16 0, i16 3540, i16 5795, i16 5798, i16 5797, i16 0, i16 3522, i16 10850, i16 5799, i16 10851, i16 3095, i16 10852, i16 10853, i16 10854, i16 0, i16 0, i16 5800, i16 0, i16 10855, i16 10856, i16 0, i16 0, i16 5803, i16 0, i16 10857, i16 5802, i16 5801, i16 0, i16 5475, i16 10333, i16 10334, i16 10335, i16 0, i16 2773, i16 1739, i16 1261, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10336, i16 10337, i16 0, i16 10338, i16 0, i16 3287, i16 0, i16 2950, i16 10339, i16 0, i16 10340, i16 0, i16 0, i16 2774, i16 0, i16 0, i16 0, i16 0, i16 1651, i16 7523, i16 7524, i16 7525, i16 3790, i16 0, i16 7526, i16 7527, i16 3791, i16 3795, i16 791, i16 7528, i16 0, i16 7529, i16 0, i16 7530, i16 3237, i16 3794, i16 7531, i16 7532, i16 7533, i16 0, i16 3793, i16 3797, i16 7534, i16 0, i16 7535, i16 3796, i16 0, i16 2693, i16 0, i16 0, i16 7536, i16 9828, i16 9829, i16 0, i16 2926, i16 9830, i16 0, i16 0, i16 0, i16 2804, i16 5207, i16 0, i16 9831, i16 9832, i16 0, i16 5209, i16 0, i16 3618, i16 0, i16 5206, i16 9833, i16 5208, i16 916, i16 9834, i16 5203, i16 0, i16 9835, i16 9836, i16 0, i16 9837, i16 0, i16 0, i16 4051, i16 11876, i16 11877, i16 11878, i16 11879, i16 0, i16 0, i16 11880, i16 11881, i16 0, i16 0, i16 6445, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6434, i16 11882, i16 0, i16 11883, i16 6435, i16 6433, i16 11884, i16 11885, i16 11886, i16 11887, i16 0, i16 0, i16 0, i16 11888, i16 0, i16 0, i16 4709, i16 4710, i16 1212, i16 0, i16 0, i16 2905, i16 2553, i16 1291, i16 1840, i16 2408, i16 0, i16 0, i16 2027, i16 761, i16 0, i16 0, i16 9042, i16 4711, i16 9043, i16 0, i16 9044, i16 9045, i16 0, i16 0, i16 0, i16 9046, i16 935, i16 4715, i16 0, i16 0, i16 9047, i16 9048, i16 8037, i16 0, i16 8038, i16 8039, i16 8040, i16 8041, i16 4095, i16 766, i16 1748, i16 8042, i16 8043, i16 0, i16 8044, i16 1432, i16 8045, i16 8046, i16 2578, i16 0, i16 0, i16 8047, i16 8048, i16 0, i16 0, i16 4096, i16 4097, i16 0, i16 0, i16 4099, i16 0, i16 8049, i16 8050, i16 8051, i16 615, i16 616, i16 0, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 7126, i16 7129, i16 7131, i16 7132, i16 7133, i16 7134, i16 7141, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 6247, i16 11588, i16 11589, i16 11590, i16 6250, i16 0, i16 6249, i16 0, i16 0, i16 0, i16 6252, i16 11591, i16 0, i16 6251, i16 11592, i16 6253, i16 11593, i16 0, i16 1984, i16 11594, i16 6254, i16 11595, i16 0, i16 6255, i16 0, i16 0, i16 11596, i16 11597, i16 11598, i16 11599, i16 6256, i16 2279, i16 8295, i16 0, i16 8296, i16 0, i16 0, i16 0, i16 0, i16 8297, i16 0, i16 0, i16 0, i16 0, i16 8298, i16 0, i16 0, i16 0, i16 0, i16 8299, i16 8300, i16 8301, i16 0, i16 8302, i16 0, i16 0, i16 8303, i16 0, i16 8304, i16 8305, i16 4208, i16 4212, i16 4209, i16 8306, i16 1128, i16 7640, i16 3851, i16 7641, i16 3849, i16 3406, i16 3850, i16 0, i16 3153, i16 3852, i16 3853, i16 3854, i16 2782, i16 7642, i16 0, i16 0, i16 3858, i16 3856, i16 3857, i16 3855, i16 1752, i16 3859, i16 3451, i16 3633, i16 7643, i16 0, i16 7644, i16 0, i16 7645, i16 3860, i16 7646, i16 7647, i16 2152, i16 12316, i16 6626, i16 6628, i16 12317, i16 12318, i16 1360, i16 12319, i16 3132, i16 12320, i16 12321, i16 1939, i16 3662, i16 0, i16 6624, i16 1773, i16 0, i16 0, i16 3690, i16 12322, i16 12323, i16 6630, i16 12324, i16 12325, i16 0, i16 0, i16 6629, i16 6631, i16 0, i16 0, i16 0, i16 0, i16 3944, i16 7785, i16 0, i16 0, i16 7786, i16 3946, i16 3945, i16 0, i16 2218, i16 864, i16 7787, i16 7788, i16 0, i16 901, i16 3947, i16 7789, i16 3948, i16 0, i16 7790, i16 1520, i16 7791, i16 7792, i16 3949, i16 7793, i16 7794, i16 0, i16 7795, i16 1293, i16 0, i16 7796, i16 0, i16 0, i16 4200, i16 3671, i16 0, i16 0, i16 8271, i16 8272, i16 2951, i16 8273, i16 8274, i16 4202, i16 0, i16 0, i16 8275, i16 0, i16 0, i16 0, i16 8276, i16 0, i16 0, i16 0, i16 0, i16 8277, i16 0, i16 0, i16 0, i16 0, i16 1692, i16 0, i16 0, i16 0, i16 8278, i16 0, i16 5994, i16 0, i16 5984, i16 0, i16 0, i16 0, i16 11142, i16 11143, i16 5996, i16 11144, i16 5982, i16 2999, i16 11145, i16 11170, i16 0, i16 0, i16 0, i16 3544, i16 0, i16 0, i16 0, i16 5991, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6013, i16 11146, i16 11147, i16 4972, i16 0, i16 9436, i16 4974, i16 4973, i16 9437, i16 3339, i16 0, i16 0, i16 2029, i16 1949, i16 1815, i16 0, i16 4975, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4977, i16 2158, i16 9438, i16 4976, i16 0, i16 0, i16 9439, i16 0, i16 0, i16 4978, i16 9440, i16 5228, i16 9855, i16 9856, i16 9857, i16 0, i16 9858, i16 5229, i16 3239, i16 3040, i16 0, i16 0, i16 5230, i16 2962, i16 0, i16 9859, i16 9860, i16 9861, i16 0, i16 2638, i16 9862, i16 0, i16 9863, i16 9864, i16 0, i16 5231, i16 1004, i16 9865, i16 1292, i16 9866, i16 3415, i16 9867, i16 3399, i16 365, i16 366, i16 0, i16 0, i16 0, i16 258, i16 257, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 361, i16 0, i16 297, i16 298, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 323, i16 0, i16 0, i16 0, i16 0, i16 878, i16 9060, i16 9061, i16 9062, i16 9063, i16 2020, i16 9064, i16 3353, i16 1767, i16 9065, i16 9066, i16 9067, i16 9068, i16 2089, i16 9069, i16 2256, i16 9070, i16 9071, i16 0, i16 9072, i16 4719, i16 4717, i16 4718, i16 9074, i16 0, i16 9073, i16 0, i16 0, i16 2606, i16 0, i16 0, i16 4750, i16 10350, i16 10351, i16 0, i16 10352, i16 10353, i16 0, i16 0, i16 0, i16 10354, i16 0, i16 10355, i16 3583, i16 1628, i16 0, i16 10356, i16 1504, i16 0, i16 0, i16 3004, i16 0, i16 5479, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10357, i16 0, i16 5481, i16 0, i16 10358, i16 0, i16 6767, i16 7051, i16 3421, i16 12559, i16 6768, i16 0, i16 6769, i16 12560, i16 6770, i16 1082, i16 12561, i16 6772, i16 0, i16 2212, i16 12562, i16 0, i16 0, i16 6773, i16 0, i16 12563, i16 1407, i16 0, i16 12564, i16 12565, i16 12566, i16 6774, i16 6778, i16 12567, i16 6776, i16 12568, i16 0, i16 12569, i16 9328, i16 9329, i16 4897, i16 9330, i16 0, i16 4904, i16 0, i16 0, i16 0, i16 0, i16 4910, i16 3086, i16 4916, i16 0, i16 0, i16 9331, i16 0, i16 9332, i16 4911, i16 4914, i16 4908, i16 9333, i16 0, i16 2615, i16 0, i16 3119, i16 9334, i16 4898, i16 0, i16 9335, i16 4906, i16 2093, i16 9840, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2997, i16 9841, i16 9842, i16 9843, i16 0, i16 0, i16 0, i16 5217, i16 0, i16 0, i16 5218, i16 0, i16 0, i16 9844, i16 0, i16 0, i16 0, i16 9845, i16 0, i16 0, i16 9846, i16 5219, i16 0, i16 9847, i16 0, i16 9848, i16 10096, i16 10097, i16 0, i16 1805, i16 10098, i16 928, i16 5328, i16 10099, i16 3520, i16 10100, i16 10101, i16 3256, i16 5329, i16 0, i16 0, i16 10102, i16 2755, i16 3490, i16 1626, i16 2184, i16 0, i16 0, i16 10103, i16 2574, i16 3918, i16 10104, i16 2639, i16 1005, i16 5330, i16 10105, i16 10106, i16 10107, i16 7537, i16 0, i16 7538, i16 7539, i16 0, i16 1485, i16 7540, i16 7541, i16 0, i16 0, i16 7542, i16 0, i16 3798, i16 7543, i16 0, i16 0, i16 7544, i16 7545, i16 1910, i16 0, i16 2443, i16 2694, i16 1395, i16 0, i16 3799, i16 0, i16 0, i16 0, i16 0, i16 1237, i16 0, i16 0, i16 11377, i16 11378, i16 0, i16 11379, i16 6114, i16 11380, i16 6115, i16 1929, i16 0, i16 6117, i16 0, i16 2564, i16 0, i16 1457, i16 1061, i16 0, i16 0, i16 11381, i16 11382, i16 0, i16 6120, i16 11383, i16 0, i16 11384, i16 0, i16 1058, i16 11385, i16 6125, i16 11386, i16 0, i16 6121, i16 6124, i16 11889, i16 11890, i16 6432, i16 0, i16 2718, i16 0, i16 0, i16 6437, i16 6441, i16 6438, i16 6436, i16 11891, i16 6439, i16 11892, i16 11893, i16 11894, i16 6440, i16 0, i16 0, i16 0, i16 11895, i16 6447, i16 0, i16 0, i16 0, i16 6442, i16 0, i16 11896, i16 11897, i16 11898, i16 11899, i16 2305, i16 10866, i16 940, i16 0, i16 10867, i16 0, i16 5812, i16 5813, i16 0, i16 10868, i16 0, i16 5814, i16 0, i16 3537, i16 0, i16 10869, i16 10870, i16 0, i16 0, i16 1979, i16 0, i16 5816, i16 5815, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10871, i16 0, i16 0, i16 0, i16 10872, i16 3699, i16 4782, i16 2240, i16 0, i16 0, i16 0, i16 4781, i16 0, i16 0, i16 4776, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1544, i16 9169, i16 9170, i16 9171, i16 4788, i16 4786, i16 9172, i16 978, i16 4784, i16 4790, i16 4796, i16 0, i16 9173, i16 9174, i16 9175, i16 0, i16 0, i16 7283, i16 7282, i16 7285, i16 7291, i16 7284, i16 7290, i16 7180, i16 7295, i16 7299, i16 7298, i16 7301, i16 7300, i16 7312, i16 7311, i16 7314, i16 7313, i16 7182, i16 7327, i16 7329, i16 7328, i16 7331, i16 7335, i16 7330, i16 285, i16 7191, i16 7346, i16 7345, i16 7348, i16 7347, i16 7361, i16 7195, i16 7362, i16 9075, i16 4724, i16 1873, i16 1615, i16 4722, i16 9076, i16 9077, i16 0, i16 0, i16 4723, i16 9078, i16 2179, i16 9079, i16 0, i16 9081, i16 4721, i16 0, i16 9080, i16 1794, i16 0, i16 0, i16 0, i16 0, i16 9082, i16 9083, i16 9084, i16 0, i16 9085, i16 9086, i16 4726, i16 4725, i16 4730, i16 1908, i16 0, i16 11233, i16 11234, i16 0, i16 0, i16 6015, i16 11235, i16 0, i16 0, i16 0, i16 0, i16 11236, i16 0, i16 11237, i16 0, i16 11238, i16 3235, i16 0, i16 3379, i16 6055, i16 6054, i16 0, i16 6050, i16 6051, i16 0, i16 861, i16 0, i16 11239, i16 0, i16 11240, i16 6053, i16 1909, i16 0, i16 0, i16 0, i16 2851, i16 5627, i16 5626, i16 0, i16 10612, i16 5623, i16 10613, i16 0, i16 0, i16 3681, i16 0, i16 0, i16 0, i16 0, i16 10614, i16 5632, i16 10615, i16 10616, i16 5636, i16 5633, i16 10617, i16 10618, i16 10619, i16 0, i16 10620, i16 0, i16 10621, i16 0, i16 7797, i16 0, i16 1797, i16 3950, i16 0, i16 7798, i16 0, i16 0, i16 3367, i16 1706, i16 1273, i16 3478, i16 2391, i16 3032, i16 1966, i16 7799, i16 0, i16 0, i16 7800, i16 7801, i16 2006, i16 7802, i16 1945, i16 1958, i16 0, i16 2053, i16 7803, i16 3033, i16 0, i16 7804, i16 7805, i16 3953, i16 12917, i16 0, i16 12918, i16 0, i16 6964, i16 0, i16 6960, i16 0, i16 6961, i16 6957, i16 6963, i16 12919, i16 6959, i16 1093, i16 0, i16 12920, i16 3703, i16 12921, i16 6962, i16 6958, i16 6956, i16 6955, i16 12922, i16 0, i16 12923, i16 12924, i16 12925, i16 6966, i16 12926, i16 0, i16 12927, i16 0, i16 9590, i16 2555, i16 9591, i16 0, i16 5069, i16 9592, i16 5058, i16 0, i16 5064, i16 9593, i16 5071, i16 837, i16 5061, i16 0, i16 5072, i16 9594, i16 9595, i16 2183, i16 0, i16 2030, i16 9596, i16 3194, i16 9597, i16 1699, i16 0, i16 5053, i16 5067, i16 2745, i16 9598, i16 0, i16 0, i16 0, i16 3448, i16 0, i16 6681, i16 2357, i16 12444, i16 0, i16 0, i16 6682, i16 12445, i16 3225, i16 6683, i16 1038, i16 12446, i16 12447, i16 12448, i16 867, i16 0, i16 1176, i16 0, i16 1175, i16 6684, i16 0, i16 6685, i16 0, i16 6686, i16 6687, i16 0, i16 0, i16 0, i16 12449, i16 12450, i16 12451, i16 4472, i16 4470, i16 8699, i16 2401, i16 0, i16 8700, i16 0, i16 4460, i16 1799, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2475, i16 4491, i16 8701, i16 2402, i16 4486, i16 8702, i16 4483, i16 4484, i16 8703, i16 1943, i16 4487, i16 4490, i16 8704, i16 8705, i16 0, i16 0, i16 6008, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11157, i16 3267, i16 11158, i16 5999, i16 0, i16 0, i16 0, i16 991, i16 1551, i16 3104, i16 6009, i16 0, i16 5997, i16 0, i16 11159, i16 6006, i16 11160, i16 11161, i16 0, i16 6016, i16 11162, i16 6001, i16 0, i16 0, i16 9336, i16 3424, i16 4926, i16 4913, i16 9337, i16 0, i16 0, i16 0, i16 9338, i16 1499, i16 936, i16 1090, i16 0, i16 0, i16 4889, i16 0, i16 9339, i16 0, i16 9340, i16 0, i16 9341, i16 2094, i16 4918, i16 9342, i16 4925, i16 1962, i16 1109, i16 9343, i16 0, i16 2545, i16 9344, i16 9345, i16 11640, i16 0, i16 11641, i16 1480, i16 11642, i16 6284, i16 11643, i16 0, i16 0, i16 0, i16 3295, i16 11644, i16 11645, i16 2312, i16 0, i16 11646, i16 0, i16 1301, i16 0, i16 3462, i16 2385, i16 11647, i16 6285, i16 11648, i16 0, i16 0, i16 2194, i16 2611, i16 2119, i16 11649, i16 11650, i16 0, i16 8313, i16 2599, i16 0, i16 4213, i16 0, i16 8314, i16 4215, i16 0, i16 0, i16 4216, i16 8315, i16 0, i16 0, i16 0, i16 8316, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8317, i16 8318, i16 0, i16 0, i16 0, i16 4218, i16 4219, i16 0, i16 8319, i16 0, i16 0, i16 11129, i16 0, i16 11130, i16 0, i16 11131, i16 5980, i16 11132, i16 5988, i16 0, i16 5995, i16 5989, i16 0, i16 0, i16 11133, i16 5987, i16 0, i16 0, i16 0, i16 11134, i16 5958, i16 11135, i16 11136, i16 5985, i16 0, i16 11137, i16 11138, i16 5981, i16 11139, i16 11140, i16 11141, i16 1169, i16 5983, i16 890, i16 11664, i16 6294, i16 1459, i16 0, i16 11665, i16 1857, i16 11666, i16 0, i16 1856, i16 0, i16 3704, i16 6293, i16 6292, i16 2350, i16 0, i16 1260, i16 3694, i16 1053, i16 2121, i16 0, i16 11667, i16 11668, i16 11669, i16 0, i16 11670, i16 11671, i16 11672, i16 6291, i16 0, i16 11673, i16 11674, i16 3962, i16 0, i16 3663, i16 7821, i16 7822, i16 0, i16 3271, i16 7823, i16 2697, i16 1563, i16 1671, i16 0, i16 0, i16 7824, i16 3970, i16 7825, i16 0, i16 2874, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7826, i16 3974, i16 3707, i16 4830, i16 0, i16 0, i16 4844, i16 801, i16 9267, i16 0, i16 4832, i16 9268, i16 9269, i16 3403, i16 4837, i16 2157, i16 2664, i16 4827, i16 9270, i16 9271, i16 4843, i16 9272, i16 0, i16 0, i16 9273, i16 9274, i16 0, i16 2245, i16 4853, i16 1108, i16 1498, i16 0, i16 0, i16 0, i16 11387, i16 0, i16 0, i16 11388, i16 3027, i16 11389, i16 0, i16 11390, i16 0, i16 6122, i16 0, i16 0, i16 6123, i16 3135, i16 3059, i16 6126, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2530, i16 6136, i16 11392, i16 6132, i16 11393, i16 11394, i16 1008, i16 0, i16 2172, i16 0, i16 0, i16 8264, i16 8265, i16 4194, i16 0, i16 8266, i16 8267, i16 3247, i16 8268, i16 0, i16 0, i16 8269, i16 0, i16 1565, i16 8270, i16 0, i16 0, i16 0, i16 0, i16 4203, i16 4204, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2072, i16 0, i16 0, i16 0, i16 6012, i16 0, i16 6011, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2982, i16 6018, i16 0, i16 6029, i16 0, i16 0, i16 11171, i16 0, i16 1121, i16 0, i16 0, i16 0, i16 6032, i16 0, i16 0, i16 6014, i16 11172, i16 0, i16 0, i16 6019, i16 3549, i16 0, i16 0, i16 10108, i16 0, i16 0, i16 10109, i16 5331, i16 0, i16 5336, i16 10110, i16 10111, i16 5334, i16 5333, i16 4684, i16 1033, i16 5332, i16 10112, i16 803, i16 10113, i16 3011, i16 10114, i16 0, i16 3043, i16 0, i16 0, i16 10115, i16 0, i16 3582, i16 5337, i16 5335, i16 2591, i16 2255, i16 10116, i16 10117, i16 7806, i16 874, i16 2392, i16 1590, i16 1534, i16 1380, i16 7807, i16 7808, i16 3957, i16 2532, i16 2531, i16 1320, i16 2065, i16 3958, i16 3956, i16 969, i16 2507, i16 1897, i16 1822, i16 845, i16 0, i16 7809, i16 1107, i16 1661, i16 1821, i16 0, i16 3959, i16 0, i16 0, i16 0, i16 0, i16 0, i16 639, i16 640, i16 7138, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 7135, i16 7140, i16 7137, i16 7139, i16 7142, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6271, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1076, i16 0, i16 11616, i16 11617, i16 11618, i16 11619, i16 11620, i16 0, i16 6272, i16 0, i16 6273, i16 6274, i16 0, i16 0, i16 9087, i16 9088, i16 4731, i16 0, i16 4727, i16 0, i16 1029, i16 4728, i16 4729, i16 3054, i16 9090, i16 9091, i16 9092, i16 0, i16 3160, i16 1445, i16 4732, i16 0, i16 0, i16 9094, i16 2267, i16 9095, i16 2090, i16 9097, i16 9098, i16 9099, i16 2581, i16 9100, i16 9102, i16 0, i16 9093, i16 9096, i16 9599, i16 0, i16 0, i16 0, i16 9600, i16 2271, i16 0, i16 1100, i16 1734, i16 2097, i16 5055, i16 2001, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1447, i16 0, i16 5054, i16 0, i16 0, i16 0, i16 5076, i16 2044, i16 1523, i16 0, i16 5091, i16 9601, i16 5085, i16 8320, i16 8321, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8322, i16 1203, i16 0, i16 4221, i16 4220, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4222, i16 8323, i16 0, i16 8325, i16 0, i16 8326, i16 0, i16 8327, i16 0, i16 0, i16 8576, i16 4395, i16 0, i16 0, i16 8577, i16 8578, i16 0, i16 8579, i16 4396, i16 0, i16 1325, i16 0, i16 4397, i16 8580, i16 4398, i16 0, i16 8581, i16 4400, i16 0, i16 2805, i16 8582, i16 0, i16 4401, i16 4402, i16 8583, i16 4403, i16 0, i16 8584, i16 4388, i16 4387, i16 0, i16 0, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 0, i16 0, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 1665, i16 2915, i16 0, i16 0, i16 5051, i16 0, i16 0, i16 0, i16 9719, i16 9720, i16 0, i16 3555, i16 5149, i16 0, i16 5153, i16 2522, i16 9721, i16 5152, i16 0, i16 5131, i16 0, i16 9722, i16 6697, i16 0, i16 0, i16 9723, i16 5157, i16 0, i16 9724, i16 9725, i16 5161, i16 0, i16 5249, i16 5250, i16 5248, i16 0, i16 0, i16 9900, i16 0, i16 0, i16 0, i16 1950, i16 0, i16 0, i16 2853, i16 1334, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9901, i16 9902, i16 0, i16 0, i16 5252, i16 2543, i16 5251, i16 9903, i16 9904, i16 3680, i16 2973, i16 9905, i16 0, i16 5507, i16 1426, i16 0, i16 0, i16 10420, i16 10421, i16 10422, i16 1247, i16 1222, i16 1846, i16 10423, i16 10424, i16 0, i16 0, i16 0, i16 10425, i16 3491, i16 10426, i16 0, i16 5513, i16 10427, i16 5512, i16 2379, i16 5509, i16 10428, i16 0, i16 5511, i16 10429, i16 10430, i16 2010, i16 2187, i16 5510, i16 11651, i16 6286, i16 0, i16 11652, i16 0, i16 11653, i16 6289, i16 11654, i16 6290, i16 11655, i16 0, i16 0, i16 0, i16 11656, i16 11657, i16 0, i16 1715, i16 2471, i16 6288, i16 11658, i16 2120, i16 3125, i16 11659, i16 11660, i16 11661, i16 0, i16 0, i16 6287, i16 11662, i16 11663, i16 1855, i16 0, i16 5508, i16 0, i16 2917, i16 0, i16 0, i16 2106, i16 0, i16 10431, i16 3123, i16 10432, i16 0, i16 10433, i16 0, i16 1740, i16 0, i16 0, i16 0, i16 0, i16 10434, i16 0, i16 0, i16 0, i16 0, i16 2807, i16 0, i16 10435, i16 5514, i16 10436, i16 10437, i16 0, i16 10438, i16 5515, i16 4485, i16 1972, i16 8706, i16 4488, i16 0, i16 0, i16 4482, i16 8707, i16 3469, i16 3468, i16 8708, i16 0, i16 8709, i16 4492, i16 4493, i16 798, i16 8710, i16 8711, i16 8712, i16 8713, i16 8714, i16 4481, i16 8715, i16 8716, i16 0, i16 8717, i16 1391, i16 751, i16 8718, i16 0, i16 8719, i16 1143, i16 4230, i16 8332, i16 0, i16 4228, i16 0, i16 4229, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8333, i16 8334, i16 0, i16 0, i16 0, i16 1829, i16 4231, i16 8335, i16 0, i16 1597, i16 4232, i16 8336, i16 1869, i16 2461, i16 0, i16 4233, i16 4234, i16 1837, i16 1598, i16 8337, i16 3427, i16 1673, i16 0, i16 3259, i16 5542, i16 10499, i16 10500, i16 3335, i16 10501, i16 10502, i16 5544, i16 0, i16 0, i16 10503, i16 2298, i16 886, i16 959, i16 757, i16 0, i16 0, i16 0, i16 0, i16 10504, i16 10505, i16 5543, i16 0, i16 10506, i16 0, i16 0, i16 10507, i16 10508, i16 0, i16 10509, i16 2441, i16 6521, i16 754, i16 3661, i16 0, i16 0, i16 0, i16 6526, i16 12021, i16 12022, i16 12024, i16 0, i16 12025, i16 12026, i16 2502, i16 12023, i16 0, i16 1988, i16 2197, i16 12027, i16 12028, i16 6528, i16 6527, i16 12029, i16 824, i16 6529, i16 0, i16 0, i16 3110, i16 0, i16 6537, i16 12030, i16 8585, i16 4404, i16 1436, i16 8586, i16 8587, i16 0, i16 3102, i16 8588, i16 0, i16 1729, i16 3118, i16 2631, i16 3138, i16 4405, i16 0, i16 8589, i16 2081, i16 877, i16 8590, i16 4406, i16 8591, i16 8592, i16 0, i16 4407, i16 8593, i16 3459, i16 8594, i16 0, i16 3065, i16 8595, i16 8596, i16 4410, i16 10634, i16 1163, i16 0, i16 5637, i16 0, i16 10635, i16 10636, i16 5638, i16 10637, i16 0, i16 5639, i16 5642, i16 10638, i16 0, i16 0, i16 0, i16 0, i16 10639, i16 0, i16 10640, i16 10641, i16 0, i16 10642, i16 5641, i16 3087, i16 10643, i16 10644, i16 0, i16 0, i16 5643, i16 3657, i16 3266, i16 1675, i16 3402, i16 12998, i16 12997, i16 7003, i16 12999, i16 0, i16 0, i16 0, i16 13000, i16 13001, i16 13002, i16 3301, i16 0, i16 0, i16 7011, i16 13003, i16 0, i16 7007, i16 0, i16 0, i16 0, i16 13004, i16 13005, i16 0, i16 0, i16 7012, i16 13006, i16 13007, i16 0, i16 13008, i16 0, i16 7563, i16 7564, i16 7565, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7566, i16 0, i16 1722, i16 3506, i16 0, i16 7567, i16 7568, i16 0, i16 3804, i16 3807, i16 3803, i16 1721, i16 0, i16 2060, i16 0, i16 7569, i16 7570, i16 0, i16 0, i16 7571, i16 1428, i16 0, i16 3980, i16 7837, i16 0, i16 7838, i16 3982, i16 7839, i16 3984, i16 0, i16 7840, i16 7841, i16 0, i16 1765, i16 3693, i16 7842, i16 3973, i16 3971, i16 3983, i16 7843, i16 3978, i16 0, i16 0, i16 7844, i16 7845, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7846, i16 0, i16 0, i16 7847, i16 9868, i16 953, i16 3679, i16 9869, i16 0, i16 0, i16 0, i16 3333, i16 9870, i16 3199, i16 0, i16 9871, i16 0, i16 0, i16 9872, i16 9873, i16 0, i16 9874, i16 2272, i16 0, i16 5232, i16 0, i16 0, i16 9875, i16 9876, i16 2848, i16 0, i16 9877, i16 9878, i16 1500, i16 5233, i16 9879, i16 11148, i16 6005, i16 0, i16 0, i16 0, i16 2246, i16 0, i16 11149, i16 0, i16 11150, i16 1253, i16 0, i16 1370, i16 0, i16 6000, i16 11151, i16 11152, i16 11153, i16 0, i16 992, i16 11154, i16 0, i16 2113, i16 0, i16 6003, i16 0, i16 0, i16 0, i16 1743, i16 11155, i16 0, i16 2768, i16 4749, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4751, i16 0, i16 9131, i16 4752, i16 0, i16 9132, i16 9133, i16 0, i16 9134, i16 0, i16 4753, i16 0, i16 1351, i16 879, i16 1616, i16 4754, i16 0, i16 4755, i16 2048, i16 2409, i16 9135, i16 9089, i16 3954, i16 2373, i16 2372, i16 2493, i16 9101, i16 1348, i16 0, i16 4733, i16 4737, i16 0, i16 0, i16 976, i16 4734, i16 4736, i16 0, i16 9103, i16 9104, i16 9105, i16 4735, i16 0, i16 9106, i16 2042, i16 9107, i16 0, i16 0, i16 0, i16 2571, i16 782, i16 4738, i16 9108, i16 9109, i16 9110, i16 9111, i16 4739, i16 0, i16 9112, i16 10897, i16 5830, i16 0, i16 0, i16 10898, i16 0, i16 10899, i16 0, i16 5831, i16 0, i16 0, i16 0, i16 10900, i16 0, i16 10901, i16 0, i16 10902, i16 0, i16 0, i16 1883, i16 10903, i16 10904, i16 3454, i16 10905, i16 0, i16 10906, i16 10907, i16 5833, i16 10908, i16 2562, i16 10909, i16 5832, i16 3218, i16 3626, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8131, i16 1017, i16 4128, i16 8132, i16 8133, i16 0, i16 8134, i16 8135, i16 2369, i16 4131, i16 0, i16 2786, i16 8136, i16 0, i16 2760, i16 2787, i16 3026, i16 2670, i16 0, i16 0, i16 0, i16 1726, i16 8137, i16 3731, i16 3303, i16 3732, i16 0, i16 1579, i16 816, i16 3365, i16 0, i16 1307, i16 0, i16 0, i16 1308, i16 1309, i16 2691, i16 3593, i16 7399, i16 3733, i16 0, i16 0, i16 3734, i16 0, i16 0, i16 3735, i16 0, i16 0, i16 7400, i16 2200, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4243, i16 8345, i16 0, i16 4244, i16 8346, i16 2517, i16 8347, i16 846, i16 1946, i16 779, i16 8348, i16 2398, i16 1137, i16 1894, i16 8349, i16 1599, i16 8350, i16 8351, i16 0, i16 8352, i16 8353, i16 2789, i16 8354, i16 1968, i16 1138, i16 2603, i16 2699, i16 769, i16 1240, i16 3274, i16 0, i16 1907, i16 7060, i16 0, i16 0, i16 0, i16 13092, i16 7061, i16 0, i16 13093, i16 7062, i16 0, i16 0, i16 0, i16 13094, i16 13095, i16 13096, i16 7063, i16 13097, i16 13098, i16 13099, i16 0, i16 7064, i16 13100, i16 7065, i16 7066, i16 13101, i16 7067, i16 0, i16 7068, i16 7069, i16 7070, i16 0, i16 13102, i16 7572, i16 0, i16 3808, i16 7573, i16 7574, i16 1356, i16 0, i16 7575, i16 0, i16 3805, i16 3806, i16 0, i16 7576, i16 2828, i16 7577, i16 2435, i16 7578, i16 1312, i16 0, i16 7579, i16 7580, i16 3328, i16 3809, i16 0, i16 7581, i16 0, i16 3594, i16 0, i16 7582, i16 7583, i16 3810, i16 7584, i16 6549, i16 6548, i16 6546, i16 5564, i16 1173, i16 12043, i16 0, i16 6514, i16 12044, i16 6551, i16 6550, i16 12045, i16 12046, i16 0, i16 12047, i16 6552, i16 12048, i16 3495, i16 0, i16 0, i16 0, i16 12049, i16 0, i16 12050, i16 12051, i16 12052, i16 0, i16 12053, i16 0, i16 0, i16 0, i16 0, i16 2710, i16 2000, i16 1280, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9490, i16 9491, i16 0, i16 9492, i16 3039, i16 9493, i16 1887, i16 0, i16 9494, i16 0, i16 9495, i16 5004, i16 0, i16 1153, i16 0, i16 9496, i16 927, i16 9497, i16 9498, i16 2895, i16 5003, i16 1621, i16 10390, i16 10391, i16 0, i16 0, i16 10387, i16 0, i16 10392, i16 5497, i16 3348, i16 0, i16 10393, i16 0, i16 5496, i16 0, i16 0, i16 820, i16 0, i16 0, i16 10394, i16 10395, i16 5500, i16 0, i16 10397, i16 10398, i16 0, i16 0, i16 10399, i16 10400, i16 0, i16 5499, i16 0, i16 10401, i16 12184, i16 12185, i16 0, i16 0, i16 12186, i16 12187, i16 12188, i16 12189, i16 0, i16 12190, i16 12191, i16 0, i16 12192, i16 2876, i16 1062, i16 0, i16 12193, i16 6601, i16 12194, i16 12195, i16 6598, i16 6600, i16 12196, i16 0, i16 12197, i16 0, i16 0, i16 0, i16 12198, i16 12199, i16 6596, i16 0, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 3481, i16 0, i16 8676, i16 1142, i16 8677, i16 8678, i16 896, i16 4468, i16 8679, i16 2933, i16 758, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8680, i16 8681, i16 3066, i16 4428, i16 4474, i16 4478, i16 3446, i16 8682, i16 4471, i16 0, i16 0, i16 8683, i16 2792, i16 4476, i16 8684, i16 0, i16 9113, i16 0, i16 2635, i16 0, i16 9114, i16 0, i16 3646, i16 0, i16 0, i16 0, i16 0, i16 1814, i16 0, i16 9115, i16 3264, i16 0, i16 0, i16 9116, i16 9117, i16 0, i16 3312, i16 9118, i16 0, i16 0, i16 4746, i16 4741, i16 0, i16 9119, i16 4744, i16 0, i16 4743, i16 9120, i16 922, i16 2387, i16 12036, i16 1512, i16 0, i16 3529, i16 12037, i16 12038, i16 6541, i16 2731, i16 0, i16 0, i16 12039, i16 2431, i16 1928, i16 6542, i16 12040, i16 0, i16 6545, i16 0, i16 12041, i16 2036, i16 6543, i16 2354, i16 2353, i16 12042, i16 813, i16 0, i16 3608, i16 6547, i16 0, i16 3083, i16 2714, i16 5730, i16 10770, i16 0, i16 5726, i16 10771, i16 10772, i16 0, i16 3241, i16 1164, i16 10773, i16 10774, i16 3420, i16 10775, i16 0, i16 807, i16 0, i16 10776, i16 5729, i16 0, i16 3658, i16 10777, i16 10778, i16 0, i16 0, i16 10779, i16 10780, i16 5728, i16 0, i16 0, i16 0, i16 0, i16 11930, i16 11931, i16 0, i16 11932, i16 11933, i16 6468, i16 6465, i16 11934, i16 6469, i16 0, i16 1927, i16 6470, i16 1231, i16 1422, i16 0, i16 11935, i16 0, i16 11936, i16 1511, i16 0, i16 11937, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6471, i16 11938, i16 0, i16 0, i16 2893, i16 11419, i16 0, i16 0, i16 11420, i16 0, i16 11421, i16 0, i16 0, i16 0, i16 2319, i16 0, i16 3684, i16 6148, i16 11422, i16 6149, i16 0, i16 0, i16 0, i16 0, i16 6155, i16 0, i16 2165, i16 0, i16 6151, i16 11423, i16 6154, i16 0, i16 0, i16 0, i16 11424, i16 0, i16 6146, i16 11675, i16 0, i16 6296, i16 11676, i16 6297, i16 6295, i16 11677, i16 1553, i16 0, i16 3503, i16 0, i16 11678, i16 1858, i16 2914, i16 0, i16 11679, i16 11680, i16 6300, i16 11681, i16 2281, i16 0, i16 2565, i16 11682, i16 11683, i16 3493, i16 11684, i16 6303, i16 0, i16 0, i16 0, i16 1573, i16 11685, i16 10140, i16 10141, i16 5356, i16 5358, i16 10142, i16 3129, i16 10143, i16 2102, i16 0, i16 0, i16 5365, i16 0, i16 10144, i16 5364, i16 10145, i16 10146, i16 0, i16 0, i16 5366, i16 0, i16 1879, i16 1700, i16 0, i16 10147, i16 2806, i16 5367, i16 0, i16 2668, i16 10148, i16 0, i16 5369, i16 10149, i16 10396, i16 2105, i16 0, i16 0, i16 0, i16 0, i16 10402, i16 5501, i16 0, i16 0, i16 0, i16 0, i16 10403, i16 0, i16 2378, i16 0, i16 10404, i16 5503, i16 5502, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5504, i16 10405, i16 0, i16 10406, i16 0, i16 10407, i16 10408, i16 5789, i16 10839, i16 0, i16 10840, i16 10841, i16 10842, i16 10843, i16 5792, i16 5790, i16 5791, i16 1750, i16 1454, i16 0, i16 10844, i16 2585, i16 0, i16 3020, i16 10845, i16 2047, i16 0, i16 0, i16 2952, i16 0, i16 3078, i16 5793, i16 4539, i16 0, i16 0, i16 0, i16 10846, i16 10847, i16 10848, i16 10910, i16 0, i16 0, i16 0, i16 10911, i16 0, i16 5835, i16 0, i16 0, i16 0, i16 5834, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5836, i16 0, i16 0, i16 0, i16 2276, i16 0, i16 5837, i16 0, i16 5838, i16 0, i16 0, i16 0, i16 3214, i16 5839, i16 12702, i16 12703, i16 6839, i16 0, i16 0, i16 6841, i16 12704, i16 12705, i16 12706, i16 6840, i16 0, i16 6843, i16 6846, i16 12707, i16 12708, i16 0, i16 6842, i16 6844, i16 6845, i16 0, i16 12709, i16 6847, i16 0, i16 1343, i16 12710, i16 12711, i16 0, i16 12712, i16 12713, i16 0, i16 12714, i16 12715, i16 1951, i16 9987, i16 0, i16 9988, i16 0, i16 5280, i16 9989, i16 9990, i16 0, i16 9991, i16 1433, i16 0, i16 0, i16 3042, i16 5281, i16 0, i16 0, i16 5308, i16 0, i16 0, i16 9992, i16 9993, i16 0, i16 9994, i16 5287, i16 9995, i16 9996, i16 9997, i16 0, i16 9998, i16 1526, i16 9999, i16 5279, i16 0, i16 982, i16 0, i16 0, i16 9976, i16 9977, i16 0, i16 5275, i16 9978, i16 1804, i16 9979, i16 9980, i16 2658, i16 5277, i16 9981, i16 0, i16 0, i16 9982, i16 9983, i16 0, i16 0, i16 9984, i16 0, i16 0, i16 9985, i16 0, i16 0, i16 0, i16 9986, i16 5282, i16 0, i16 5535, i16 10488, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10489, i16 0, i16 0, i16 0, i16 10490, i16 0, i16 10491, i16 1952, i16 10492, i16 10493, i16 5538, i16 825, i16 0, i16 10494, i16 10495, i16 0, i16 5541, i16 10496, i16 10497, i16 10498, i16 5539, i16 985, i16 1449, i16 5540, i16 1629, i16 2976, i16 11805, i16 1510, i16 6388, i16 6387, i16 0, i16 3169, i16 0, i16 11806, i16 0, i16 1906, i16 0, i16 11807, i16 2769, i16 0, i16 11808, i16 11809, i16 0, i16 11810, i16 0, i16 0, i16 11811, i16 0, i16 11812, i16 11813, i16 0, i16 6391, i16 6392, i16 1647, i16 6390, i16 11814, i16 11815, i16 9632, i16 0, i16 823, i16 0, i16 0, i16 5106, i16 0, i16 9633, i16 0, i16 0, i16 5094, i16 0, i16 0, i16 9634, i16 9635, i16 5100, i16 0, i16 9636, i16 5102, i16 9637, i16 0, i16 0, i16 3518, i16 5097, i16 0, i16 0, i16 2733, i16 9638, i16 0, i16 5099, i16 0, i16 9639, i16 10912, i16 2422, i16 5840, i16 0, i16 10913, i16 0, i16 10914, i16 0, i16 5841, i16 0, i16 0, i16 0, i16 0, i16 10915, i16 0, i16 3659, i16 5844, i16 10916, i16 5843, i16 5842, i16 2641, i16 10917, i16 5845, i16 2161, i16 0, i16 5846, i16 0, i16 0, i16 0, i16 5847, i16 3683, i16 5848, i16 5537, i16 1365, i16 0, i16 0, i16 3688, i16 2364, i16 0, i16 0, i16 0, i16 0, i16 5516, i16 10439, i16 10440, i16 983, i16 2712, i16 3190, i16 0, i16 10441, i16 0, i16 10442, i16 10443, i16 10444, i16 10445, i16 0, i16 10446, i16 0, i16 0, i16 10447, i16 10448, i16 5517, i16 0, i16 0, i16 9121, i16 4740, i16 9122, i16 9123, i16 4745, i16 0, i16 0, i16 2875, i16 9124, i16 4742, i16 0, i16 0, i16 9125, i16 0, i16 9126, i16 9127, i16 0, i16 0, i16 0, i16 0, i16 9128, i16 0, i16 4747, i16 0, i16 0, i16 2043, i16 4748, i16 9129, i16 3514, i16 2995, i16 0, i16 9130, i16 4770, i16 2143, i16 3438, i16 4772, i16 4773, i16 3543, i16 9153, i16 0, i16 0, i16 0, i16 4778, i16 0, i16 9154, i16 1617, i16 9155, i16 2960, i16 4775, i16 2795, i16 4712, i16 4716, i16 9156, i16 1262, i16 9157, i16 2946, i16 0, i16 0, i16 0, i16 9158, i16 4777, i16 0, i16 2091, i16 3037, i16 932, i16 2261, i16 4409, i16 4408, i16 1437, i16 2489, i16 0, i16 4414, i16 4412, i16 8597, i16 4411, i16 3572, i16 1566, i16 8598, i16 0, i16 8599, i16 2056, i16 4413, i16 2763, i16 1997, i16 0, i16 0, i16 8600, i16 2845, i16 4417, i16 4416, i16 0, i16 0, i16 8601, i16 8602, i16 4415, i16 0, i16 10150, i16 10151, i16 3566, i16 5368, i16 10152, i16 0, i16 0, i16 10153, i16 0, i16 2416, i16 0, i16 0, i16 10154, i16 0, i16 10155, i16 10156, i16 5374, i16 10157, i16 5376, i16 5377, i16 2583, i16 0, i16 0, i16 0, i16 0, i16 10158, i16 5375, i16 0, i16 5372, i16 0, i16 5370, i16 5371, i16 9640, i16 9641, i16 5107, i16 9642, i16 5101, i16 3416, i16 0, i16 9643, i16 9644, i16 5096, i16 9645, i16 1875, i16 5120, i16 9646, i16 9647, i16 9648, i16 0, i16 1101, i16 0, i16 5098, i16 5103, i16 5104, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2513, i16 2495, i16 0, i16 4009, i16 7890, i16 0, i16 0, i16 2516, i16 4014, i16 2067, i16 7891, i16 0, i16 7892, i16 7893, i16 0, i16 4011, i16 7894, i16 0, i16 3445, i16 7895, i16 7896, i16 0, i16 1431, i16 0, i16 0, i16 4015, i16 4016, i16 7897, i16 0, i16 7898, i16 7899, i16 4013, i16 4019, i16 7900, i16 0, i16 6057, i16 6061, i16 0, i16 3058, i16 0, i16 0, i16 11253, i16 0, i16 6060, i16 2115, i16 1914, i16 6063, i16 0, i16 0, i16 1339, i16 11254, i16 11255, i16 11256, i16 11257, i16 11258, i16 0, i16 6064, i16 11259, i16 3184, i16 6059, i16 11260, i16 6020, i16 0, i16 11261, i16 11262, i16 11263, i16 11264, i16 10409, i16 0, i16 0, i16 0, i16 0, i16 10410, i16 5474, i16 10411, i16 0, i16 10412, i16 5476, i16 5506, i16 5505, i16 10413, i16 0, i16 0, i16 0, i16 10414, i16 0, i16 0, i16 10415, i16 10416, i16 0, i16 0, i16 0, i16 0, i16 1881, i16 10417, i16 3638, i16 10418, i16 1923, i16 10419, i16 4266, i16 0, i16 4267, i16 8383, i16 3441, i16 0, i16 8384, i16 0, i16 4268, i16 8385, i16 0, i16 8386, i16 8387, i16 1347, i16 8388, i16 0, i16 8389, i16 1969, i16 8390, i16 0, i16 0, i16 8391, i16 8392, i16 0, i16 4269, i16 4270, i16 1933, i16 2167, i16 2897, i16 2207, i16 3089, i16 2909, i16 6315, i16 6323, i16 6316, i16 0, i16 6312, i16 0, i16 2717, i16 6311, i16 0, i16 0, i16 0, i16 6309, i16 11707, i16 3472, i16 1859, i16 0, i16 11708, i16 6313, i16 0, i16 6310, i16 11709, i16 11710, i16 11711, i16 6317, i16 2051, i16 0, i16 1530, i16 0, i16 11712, i16 0, i16 2527, i16 11713, i16 7083, i16 7084, i16 3645, i16 7081, i16 0, i16 0, i16 7085, i16 7086, i16 13145, i16 13146, i16 7088, i16 0, i16 7087, i16 13147, i16 13148, i16 13149, i16 13150, i16 13151, i16 7090, i16 13152, i16 0, i16 13153, i16 7091, i16 7089, i16 0, i16 0, i16 13154, i16 0, i16 0, i16 13155, i16 0, i16 0, i16 11947, i16 0, i16 11948, i16 1078, i16 0, i16 6478, i16 0, i16 11949, i16 11950, i16 1745, i16 6477, i16 0, i16 6486, i16 0, i16 0, i16 11951, i16 11952, i16 0, i16 6480, i16 6482, i16 3258, i16 6479, i16 11953, i16 11954, i16 11955, i16 6481, i16 0, i16 6485, i16 6483, i16 1232, i16 11956, i16 6484, i16 1964, i16 0, i16 12536, i16 12537, i16 6746, i16 12538, i16 6747, i16 2199, i16 6748, i16 12539, i16 3643, i16 0, i16 0, i16 6743, i16 6750, i16 6752, i16 0, i16 6751, i16 0, i16 6749, i16 0, i16 0, i16 6753, i16 0, i16 0, i16 6754, i16 12540, i16 12541, i16 2433, i16 12542, i16 999, i16 0, i16 12716, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8365, i16 8366, i16 1941, i16 4247, i16 1204, i16 2863, i16 3386, i16 4248, i16 0, i16 4249, i16 0, i16 0, i16 3152, i16 8367, i16 0, i16 8368, i16 4251, i16 0, i16 1129, i16 1396, i16 4250, i16 0, i16 8369, i16 8370, i16 8371, i16 8372, i16 8373, i16 1139, i16 0, i16 2173, i16 4255, i16 1780, i16 10159, i16 5373, i16 10160, i16 10161, i16 10162, i16 0, i16 0, i16 10163, i16 10164, i16 5380, i16 10165, i16 5378, i16 10166, i16 5379, i16 0, i16 10167, i16 0, i16 0, i16 10168, i16 10169, i16 0, i16 10170, i16 10171, i16 0, i16 0, i16 10172, i16 0, i16 10173, i16 10174, i16 10175, i16 10176, i16 5381, i16 2480, i16 12493, i16 6712, i16 0, i16 3172, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6715, i16 6713, i16 1654, i16 0, i16 6714, i16 1531, i16 0, i16 12494, i16 0, i16 12495, i16 0, i16 12496, i16 12497, i16 12498, i16 0, i16 0, i16 3226, i16 6717, i16 6719, i16 6718, i16 6720, i16 6065, i16 11276, i16 0, i16 0, i16 2993, i16 11277, i16 11278, i16 6075, i16 6067, i16 11279, i16 6069, i16 11280, i16 11281, i16 0, i16 0, i16 11282, i16 6079, i16 6068, i16 0, i16 11283, i16 6072, i16 0, i16 0, i16 921, i16 11284, i16 2882, i16 0, i16 6073, i16 6076, i16 11285, i16 0, i16 11286, i16 10673, i16 5663, i16 5661, i16 0, i16 5659, i16 1122, i16 10674, i16 2110, i16 5664, i16 0, i16 0, i16 5662, i16 0, i16 5660, i16 5668, i16 0, i16 10675, i16 5667, i16 5666, i16 5665, i16 0, i16 0, i16 10676, i16 10677, i16 0, i16 5669, i16 10678, i16 10679, i16 10680, i16 5670, i16 2275, i16 10681, i16 6834, i16 6830, i16 12689, i16 0, i16 6833, i16 0, i16 12690, i16 12691, i16 1180, i16 0, i16 0, i16 12692, i16 6835, i16 0, i16 6836, i16 0, i16 0, i16 12693, i16 12694, i16 12695, i16 12696, i16 12697, i16 0, i16 0, i16 0, i16 12698, i16 12699, i16 12700, i16 12701, i16 6837, i16 6838, i16 0, i16 11186, i16 3177, i16 6034, i16 2814, i16 11187, i16 11188, i16 762, i16 11189, i16 0, i16 6027, i16 11190, i16 6023, i16 2425, i16 6017, i16 6025, i16 6030, i16 11191, i16 2919, i16 0, i16 11192, i16 11193, i16 755, i16 11194, i16 6022, i16 11195, i16 6031, i16 3183, i16 0, i16 11196, i16 11197, i16 0, i16 0, i16 2228, i16 5817, i16 0, i16 10873, i16 0, i16 10874, i16 5818, i16 0, i16 10875, i16 5819, i16 0, i16 1190, i16 10876, i16 0, i16 10877, i16 10878, i16 1166, i16 0, i16 10879, i16 5820, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5821, i16 10880, i16 3344, i16 3538, i16 10881, i16 10882, i16 10883, i16 2996, i16 0, i16 1154, i16 3655, i16 0, i16 0, i16 9664, i16 0, i16 0, i16 9665, i16 9666, i16 3378, i16 2675, i16 9673, i16 0, i16 9667, i16 9668, i16 5117, i16 5119, i16 9669, i16 0, i16 0, i16 9670, i16 0, i16 2361, i16 0, i16 0, i16 9671, i16 9672, i16 0, i16 5121, i16 5115, i16 4021, i16 7906, i16 7907, i16 4031, i16 2360, i16 0, i16 7908, i16 4033, i16 7909, i16 1593, i16 4023, i16 2624, i16 0, i16 0, i16 7910, i16 7911, i16 0, i16 7912, i16 7913, i16 7914, i16 7915, i16 0, i16 0, i16 7916, i16 4027, i16 4020, i16 1134, i16 0, i16 1199, i16 1096, i16 4028, i16 4024, i16 11957, i16 11958, i16 0, i16 11959, i16 0, i16 11960, i16 6487, i16 11961, i16 11962, i16 2965, i16 3621, i16 0, i16 11963, i16 11964, i16 11965, i16 1987, i16 0, i16 0, i16 0, i16 6488, i16 11966, i16 11967, i16 11968, i16 11969, i16 3473, i16 6490, i16 11970, i16 6489, i16 0, i16 0, i16 6493, i16 3504, i16 7094, i16 13164, i16 13165, i16 13166, i16 0, i16 13167, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8374, i16 974, i16 4254, i16 0, i16 4252, i16 4256, i16 4253, i16 2918, i16 4883, i16 2174, i16 0, i16 4257, i16 0, i16 0, i16 3597, i16 8375, i16 4258, i16 8376, i16 0, i16 4260, i16 8377, i16 2625, i16 4259, i16 0, i16 2252, i16 0, i16 1870, i16 0, i16 0, i16 8378, i16 2485, i16 1960, i16 9142, i16 0, i16 9143, i16 0, i16 0, i16 0, i16 4759, i16 4760, i16 3435, i16 0, i16 3381, i16 3369, i16 3343, i16 1784, i16 4762, i16 0, i16 0, i16 1948, i16 0, i16 9144, i16 3332, i16 0, i16 4764, i16 4767, i16 4766, i16 0, i16 1210, i16 0, i16 0, i16 1279, i16 9145, i16 4763, i16 1975, i16 1847, i16 10458, i16 0, i16 10459, i16 0, i16 0, i16 10460, i16 10461, i16 5525, i16 10462, i16 1976, i16 0, i16 0, i16 0, i16 10463, i16 0, i16 975, i16 3130, i16 0, i16 10464, i16 5526, i16 10465, i16 0, i16 3076, i16 0, i16 10466, i16 0, i16 0, i16 10467, i16 10468, i16 2380, i16 6327, i16 3527, i16 0, i16 0, i16 0, i16 0, i16 6330, i16 0, i16 6333, i16 0, i16 0, i16 6331, i16 3116, i16 11722, i16 0, i16 0, i16 11723, i16 0, i16 0, i16 6328, i16 0, i16 0, i16 0, i16 11724, i16 0, i16 1373, i16 0, i16 0, i16 11725, i16 0, i16 6332, i16 0, i16 6584, i16 6585, i16 12161, i16 12162, i16 0, i16 12163, i16 3049, i16 1736, i16 1938, i16 6586, i16 0, i16 6587, i16 3569, i16 2004, i16 3455, i16 3609, i16 6588, i16 1375, i16 0, i16 12164, i16 12165, i16 0, i16 6589, i16 12166, i16 2722, i16 12167, i16 12168, i16 6592, i16 1115, i16 2198, i16 12169, i16 6590, i16 10936, i16 1550, i16 0, i16 0, i16 838, i16 5859, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10937, i16 10938, i16 5866, i16 10939, i16 5867, i16 10940, i16 10941, i16 2838, i16 0, i16 10942, i16 0, i16 1336, i16 10943, i16 10944, i16 0, i16 5878, i16 2936, i16 10945, i16 0, i16 11448, i16 0, i16 6159, i16 11449, i16 0, i16 0, i16 0, i16 11450, i16 0, i16 0, i16 0, i16 6168, i16 11451, i16 11452, i16 11453, i16 6162, i16 0, i16 11454, i16 0, i16 6170, i16 0, i16 11455, i16 0, i16 0, i16 0, i16 0, i16 3541, i16 6173, i16 0, i16 6164, i16 11456, i16 11457, i16 12216, i16 0, i16 12217, i16 12218, i16 2739, i16 6604, i16 12219, i16 12220, i16 6607, i16 6605, i16 12221, i16 6610, i16 0, i16 12222, i16 12223, i16 12224, i16 6611, i16 12225, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6603, i16 12226, i16 12227, i16 6616, i16 923, i16 12228, i16 12229, i16 6602, i16 0, i16 7865, i16 832, i16 4007, i16 0, i16 0, i16 3999, i16 4000, i16 0, i16 2066, i16 3356, i16 7866, i16 0, i16 7867, i16 4005, i16 4004, i16 7868, i16 0, i16 0, i16 2734, i16 0, i16 0, i16 0, i16 7869, i16 0, i16 0, i16 0, i16 4006, i16 0, i16 7870, i16 4003, i16 7871, i16 7872, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 0, i16 687, i16 7156, i16 7157, i16 7158, i16 7159, i16 7160, i16 7161, i16 7162, i16 7163, i16 7164, i16 7165, i16 7166, i16 0, i16 7167, i16 7168, i16 2490, i16 4430, i16 0, i16 0, i16 8646, i16 1277, i16 4440, i16 2262, i16 908, i16 4434, i16 1021, i16 4439, i16 0, i16 8647, i16 0, i16 1326, i16 0, i16 4436, i16 0, i16 8648, i16 0, i16 8649, i16 0, i16 0, i16 0, i16 0, i16 4442, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12475, i16 6705, i16 6707, i16 0, i16 12476, i16 6706, i16 12477, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1724, i16 0, i16 0, i16 3792, i16 0, i16 9136, i16 0, i16 9137, i16 1481, i16 3484, i16 0, i16 3283, i16 0, i16 3189, i16 9138, i16 4756, i16 0, i16 0, i16 0, i16 9139, i16 1768, i16 2656, i16 4757, i16 3674, i16 0, i16 9140, i16 0, i16 3313, i16 9141, i16 2636, i16 4758, i16 1213, i16 8124, i16 4126, i16 0, i16 0, i16 2698, i16 0, i16 8125, i16 8126, i16 0, i16 0, i16 1135, i16 0, i16 0, i16 8127, i16 0, i16 7095, i16 904, i16 3272, i16 8128, i16 0, i16 2137, i16 2759, i16 0, i16 0, i16 0, i16 8129, i16 1755, i16 0, i16 0, i16 4132, i16 0, i16 8130, i16 5309, i16 0, i16 3122, i16 5310, i16 10082, i16 0, i16 1125, i16 5311, i16 10083, i16 5312, i16 10084, i16 10085, i16 0, i16 0, i16 5313, i16 10086, i16 5315, i16 5316, i16 5314, i16 0, i16 10087, i16 0, i16 3146, i16 5318, i16 5317, i16 0, i16 10088, i16 10089, i16 10090, i16 0, i16 0, i16 10091, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 1470, i16 2526, i16 5138, i16 2934, i16 0, i16 9713, i16 5145, i16 9714, i16 9715, i16 0, i16 9716, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5150, i16 5148, i16 0, i16 0, i16 5151, i16 0, i16 9717, i16 5154, i16 0, i16 0, i16 9718, i16 5147, i16 7873, i16 7874, i16 0, i16 0, i16 859, i16 7875, i16 1707, i16 2171, i16 7876, i16 7877, i16 0, i16 0, i16 7878, i16 7879, i16 7880, i16 4001, i16 2785, i16 0, i16 0, i16 0, i16 4002, i16 7881, i16 747, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1474, i16 1874, i16 0, i16 1362, i16 9412, i16 0, i16 0, i16 937, i16 9413, i16 0, i16 0, i16 9414, i16 9415, i16 0, i16 0, i16 9416, i16 0, i16 0, i16 3534, i16 0, i16 0, i16 9417, i16 9418, i16 4956, i16 4955, i16 4958, i16 1244, i16 9419, i16 0, i16 1363, i16 1151, i16 9420, i16 3523, i16 3682, i16 0, i16 1636, i16 5824, i16 1925, i16 5823, i16 10884, i16 10885, i16 0, i16 10886, i16 5825, i16 1882, i16 10887, i16 10888, i16 10889, i16 2486, i16 10890, i16 5826, i16 10891, i16 10892, i16 1635, i16 10893, i16 3432, i16 5827, i16 5828, i16 0, i16 0, i16 5829, i16 10894, i16 10895, i16 10896, i16 11971, i16 11972, i16 6492, i16 11973, i16 1104, i16 6491, i16 6496, i16 11974, i16 0, i16 6495, i16 0, i16 0, i16 6494, i16 2737, i16 6497, i16 11975, i16 0, i16 11976, i16 11977, i16 11978, i16 11979, i16 11980, i16 0, i16 6498, i16 11981, i16 0, i16 0, i16 0, i16 6499, i16 11982, i16 11983, i16 1667, i16 3012, i16 10118, i16 3108, i16 0, i16 5339, i16 3577, i16 1448, i16 5340, i16 0, i16 5338, i16 3055, i16 5341, i16 0, i16 5342, i16 0, i16 10119, i16 804, i16 10120, i16 0, i16 2147, i16 5347, i16 0, i16 5344, i16 2890, i16 5343, i16 10121, i16 10122, i16 10123, i16 10124, i16 10125, i16 10126, i16 1221, i16 4804, i16 1472, i16 1446, i16 2796, i16 9208, i16 9209, i16 4802, i16 0, i16 783, i16 0, i16 9210, i16 0, i16 9211, i16 4805, i16 4807, i16 0, i16 1354, i16 1415, i16 9193, i16 1149, i16 1258, i16 9212, i16 0, i16 9213, i16 9214, i16 4810, i16 0, i16 9215, i16 1774, i16 3364, i16 0, i16 1802, i16 8900, i16 759, i16 0, i16 4625, i16 0, i16 8901, i16 0, i16 0, i16 0, i16 4622, i16 8902, i16 0, i16 8903, i16 0, i16 1209, i16 0, i16 0, i16 0, i16 8904, i16 8905, i16 910, i16 8906, i16 4628, i16 0, i16 8907, i16 8908, i16 3512, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2501, i16 2430, i16 12015, i16 2821, i16 12016, i16 6516, i16 1268, i16 0, i16 12017, i16 0, i16 0, i16 6525, i16 12018, i16 6522, i16 6535, i16 2822, i16 2595, i16 6519, i16 0, i16 2719, i16 2770, i16 6520, i16 6524, i16 2219, i16 12019, i16 2978, i16 2669, i16 12020, i16 0, i16 2283, i16 6523, i16 2451, i16 4550, i16 8780, i16 0, i16 8781, i16 8782, i16 0, i16 0, i16 8783, i16 4551, i16 4552, i16 3263, i16 0, i16 4554, i16 4553, i16 1998, i16 0, i16 2263, i16 1003, i16 1025, i16 8784, i16 4555, i16 8785, i16 776, i16 0, i16 0, i16 0, i16 2293, i16 4556, i16 8786, i16 6377, i16 4557, i16 1468, i16 12230, i16 12231, i16 3014, i16 0, i16 6606, i16 12232, i16 2125, i16 12233, i16 12234, i16 12235, i16 0, i16 0, i16 0, i16 0, i16 12236, i16 12237, i16 12238, i16 1650, i16 0, i16 0, i16 0, i16 12239, i16 12240, i16 12241, i16 12242, i16 12243, i16 0, i16 12244, i16 12245, i16 12246, i16 3323, i16 12247, i16 1479, i16 11505, i16 6195, i16 11506, i16 6194, i16 11507, i16 1983, i16 0, i16 11508, i16 11509, i16 11510, i16 11511, i16 1643, i16 5033, i16 11512, i16 0, i16 0, i16 11513, i16 6196, i16 2016, i16 0, i16 11514, i16 11515, i16 1052, i16 11516, i16 6197, i16 11517, i16 889, i16 11518, i16 2116, i16 6198, i16 11519, i16 968, i16 0, i16 0, i16 3649, i16 7705, i16 7706, i16 7707, i16 7708, i16 0, i16 2052, i16 2775, i16 1660, i16 3900, i16 3901, i16 0, i16 7709, i16 7710, i16 3634, i16 0, i16 0, i16 3670, i16 3903, i16 7711, i16 7712, i16 7713, i16 1587, i16 7714, i16 7715, i16 3902, i16 7716, i16 1042, i16 0, i16 1224, i16 0, i16 10478, i16 10479, i16 0, i16 0, i16 0, i16 10480, i16 5531, i16 10481, i16 10482, i16 2713, i16 10483, i16 5532, i16 2288, i16 0, i16 0, i16 10484, i16 0, i16 0, i16 3390, i16 10485, i16 0, i16 3098, i16 5533, i16 5534, i16 2584, i16 10486, i16 3604, i16 0, i16 10487, i16 5536, i16 2248, i16 1192, i16 0, i16 0, i16 3497, i16 1010, i16 1991, i16 1556, i16 0, i16 6739, i16 12524, i16 6738, i16 1862, i16 6740, i16 6737, i16 0, i16 0, i16 1787, i16 12525, i16 0, i16 0, i16 6744, i16 6167, i16 0, i16 12527, i16 3952, i16 12528, i16 2242, i16 6742, i16 12529, i16 12530, i16 12531, i16 1225, i16 0, i16 5685, i16 10699, i16 3460, i16 1631, i16 5684, i16 10700, i16 10701, i16 10702, i16 5688, i16 3447, i16 0, i16 2935, i16 0, i16 10703, i16 3114, i16 10704, i16 10705, i16 10706, i16 2034, i16 5687, i16 10707, i16 1924, i16 1632, i16 1849, i16 1288, i16 3211, i16 5686, i16 10708, i16 10709, i16 0, i16 1737, i16 5235, i16 5234, i16 0, i16 9880, i16 0, i16 0, i16 5236, i16 0, i16 9881, i16 0, i16 0, i16 0, i16 9882, i16 9883, i16 0, i16 0, i16 0, i16 5237, i16 9884, i16 0, i16 0, i16 5238, i16 0, i16 0, i16 0, i16 0, i16 9885, i16 0, i16 0, i16 0, i16 0, i16 1993, i16 2201, i16 3740, i16 7401, i16 3738, i16 0, i16 3739, i16 1271, i16 0, i16 0, i16 1688, i16 1013, i16 0, i16 3737, i16 3736, i16 3198, i16 7402, i16 0, i16 0, i16 0, i16 1817, i16 1816, i16 2467, i16 3741, i16 3148, i16 2320, i16 7403, i16 7404, i16 0, i16 245, i16 3742, i16 3744, i16 10953, i16 0, i16 0, i16 5870, i16 10954, i16 0, i16 0, i16 10955, i16 0, i16 5869, i16 0, i16 0, i16 10956, i16 0, i16 0, i16 5871, i16 10957, i16 2537, i16 0, i16 2937, i16 0, i16 10958, i16 0, i16 0, i16 0, i16 2642, i16 10959, i16 0, i16 10960, i16 0, i16 5875, i16 0, i16 714, i16 725, i16 715, i16 726, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 716, i16 0, i16 0, i16 727, i16 717, i16 0, i16 0, i16 728, i16 719, i16 0, i16 0, i16 730, i16 718, i16 0, i16 0, i16 729, i16 720, i16 741, i16 0, i16 0, i16 2762, i16 1913, i16 8396, i16 8397, i16 2399, i16 3561, i16 0, i16 8398, i16 8399, i16 8400, i16 0, i16 0, i16 4278, i16 8401, i16 4279, i16 2867, i16 8402, i16 1798, i16 0, i16 0, i16 8403, i16 8404, i16 4281, i16 0, i16 0, i16 4282, i16 8405, i16 8406, i16 8407, i16 8408, i16 0, i16 0, i16 8650, i16 4444, i16 4454, i16 4452, i16 0, i16 0, i16 4449, i16 8651, i16 8652, i16 8653, i16 4448, i16 3653, i16 8654, i16 4450, i16 0, i16 0, i16 1327, i16 8655, i16 1608, i16 0, i16 8656, i16 2057, i16 8657, i16 8658, i16 0, i16 4457, i16 4443, i16 0, i16 0, i16 8659, i16 0, i16 4447, i16 6348, i16 11745, i16 0, i16 1809, i16 11746, i16 11747, i16 0, i16 0, i16 0, i16 0, i16 4696, i16 11748, i16 6349, i16 11749, i16 6350, i16 11750, i16 1985, i16 0, i16 6351, i16 6352, i16 11751, i16 11752, i16 6353, i16 0, i16 0, i16 6354, i16 6355, i16 0, i16 11753, i16 0, i16 11754, i16 11755, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 482, i16 483, i16 484, i16 485, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 10190, i16 10191, i16 3602, i16 10192, i16 10193, i16 10194, i16 5392, i16 5390, i16 5391, i16 10195, i16 10189, i16 10196, i16 1187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3471, i16 0, i16 0, i16 10197, i16 3231, i16 0, i16 5394, i16 10198, i16 0, i16 0, i16 5393, i16 0, i16 0, i16 10199, i16 11214, i16 6043, i16 11215, i16 0, i16 2594, i16 0, i16 6044, i16 11216, i16 11217, i16 3525, i16 6033, i16 1051, i16 11218, i16 6039, i16 0, i16 11219, i16 6042, i16 3389, i16 0, i16 11220, i16 0, i16 0, i16 6045, i16 0, i16 0, i16 6038, i16 6041, i16 0, i16 11221, i16 0, i16 0, i16 0, i16 8145, i16 8146, i16 0, i16 1322, i16 0, i16 4134, i16 0, i16 8147, i16 8148, i16 8149, i16 8150, i16 0, i16 8151, i16 8152, i16 0, i16 8153, i16 8154, i16 0, i16 0, i16 3261, i16 8155, i16 0, i16 8156, i16 2436, i16 0, i16 0, i16 0, i16 0, i16 2663, i16 8157, i16 0, i16 4136, i16 9937, i16 0, i16 0, i16 2002, i16 0, i16 0, i16 9938, i16 9939, i16 5269, i16 9940, i16 5268, i16 9941, i16 9942, i16 0, i16 9943, i16 9944, i16 5270, i16 9945, i16 1072, i16 0, i16 0, i16 5272, i16 0, i16 9946, i16 5271, i16 9947, i16 5274, i16 5273, i16 9948, i16 0, i16 0, i16 0, i16 11986, i16 11987, i16 0, i16 6505, i16 11988, i16 11989, i16 11990, i16 3899, i16 3898, i16 0, i16 0, i16 0, i16 0, i16 6506, i16 5764, i16 6507, i16 2535, i16 2166, i16 2939, i16 0, i16 0, i16 11991, i16 11992, i16 6508, i16 11993, i16 0, i16 3242, i16 2677, i16 1685, i16 0, i16 11994, i16 2540, i16 3539, i16 0, i16 0, i16 0, i16 9581, i16 5066, i16 5060, i16 5057, i16 9582, i16 0, i16 9583, i16 3617, i16 5063, i16 0, i16 9584, i16 9585, i16 0, i16 2009, i16 5065, i16 0, i16 0, i16 5070, i16 9586, i16 0, i16 2800, i16 5068, i16 0, i16 9587, i16 0, i16 9588, i16 5062, i16 9589, i16 1236, i16 0, i16 3722, i16 0, i16 0, i16 3723, i16 3592, i16 0, i16 3500, i16 2415, i16 3725, i16 1865, i16 2896, i16 7395, i16 3728, i16 0, i16 0, i16 869, i16 1560, i16 0, i16 1559, i16 815, i16 7396, i16 7397, i16 3702, i16 3701, i16 0, i16 1704, i16 746, i16 7398, i16 3729, i16 3730, i16 8916, i16 0, i16 8917, i16 0, i16 8918, i16 8919, i16 4634, i16 0, i16 4638, i16 8920, i16 8921, i16 0, i16 3035, i16 2794, i16 0, i16 8922, i16 8923, i16 0, i16 0, i16 0, i16 4631, i16 8924, i16 4635, i16 0, i16 0, i16 0, i16 1443, i16 0, i16 0, i16 8925, i16 1766, i16 8926, i16 9428, i16 4968, i16 1842, i16 2270, i16 1686, i16 0, i16 3175, i16 9429, i16 0, i16 3255, i16 3695, i16 9430, i16 0, i16 0, i16 9431, i16 1864, i16 9432, i16 0, i16 0, i16 1733, i16 3647, i16 9433, i16 0, i16 0, i16 4969, i16 4970, i16 0, i16 1843, i16 0, i16 9434, i16 9435, i16 4971, i16 12756, i16 0, i16 12757, i16 12758, i16 12759, i16 0, i16 0, i16 12760, i16 2482, i16 0, i16 0, i16 6870, i16 0, i16 12761, i16 12762, i16 0, i16 2826, i16 0, i16 0, i16 12763, i16 0, i16 12764, i16 12765, i16 6871, i16 12766, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6876, i16 0, i16 7381, i16 7382, i16 3719, i16 2928, i16 7383, i16 1270, i16 0, i16 7384, i16 0, i16 0, i16 0, i16 2930, i16 0, i16 2880, i16 1532, i16 3302, i16 0, i16 7385, i16 0, i16 0, i16 0, i16 6101, i16 3720, i16 2133, i16 3721, i16 954, i16 7386, i16 0, i16 7387, i16 1378, i16 1577, i16 3450, i16 1238, i16 3818, i16 3819, i16 7595, i16 948, i16 0, i16 7596, i16 7597, i16 7598, i16 3817, i16 0, i16 7599, i16 7600, i16 7601, i16 7602, i16 0, i16 7604, i16 0, i16 1957, i16 0, i16 3822, i16 3821, i16 3820, i16 7605, i16 3764, i16 7606, i16 3823, i16 7607, i16 7608, i16 7609, i16 7610, i16 2061, i16 10967, i16 10968, i16 0, i16 0, i16 0, i16 5881, i16 5882, i16 10969, i16 10970, i16 10971, i16 0, i16 1953, i16 0, i16 10972, i16 5880, i16 10973, i16 1679, i16 5879, i16 0, i16 0, i16 5883, i16 0, i16 0, i16 10974, i16 2643, i16 3191, i16 2346, i16 0, i16 0, i16 0, i16 0, i16 2497, i16 3800, i16 7547, i16 0, i16 7548, i16 7549, i16 3802, i16 7550, i16 0, i16 0, i16 0, i16 7551, i16 0, i16 0, i16 3304, i16 7552, i16 7553, i16 7554, i16 1473, i16 7555, i16 7556, i16 7557, i16 0, i16 7558, i16 0, i16 1796, i16 3088, i16 3801, i16 7559, i16 7560, i16 0, i16 7561, i16 7562, i16 4569, i16 0, i16 0, i16 4567, i16 8807, i16 0, i16 0, i16 0, i16 4570, i16 0, i16 0, i16 0, i16 0, i16 8808, i16 3206, i16 8809, i16 0, i16 768, i16 0, i16 8810, i16 0, i16 0, i16 3157, i16 0, i16 0, i16 3068, i16 8811, i16 0, i16 4571, i16 8812, i16 4574, i16 2082, i16 4825, i16 9235, i16 2092, i16 9236, i16 0, i16 9237, i16 4163, i16 1569, i16 3563, i16 9238, i16 9239, i16 0, i16 0, i16 4816, i16 9240, i16 2709, i16 1030, i16 1698, i16 9241, i16 4808, i16 0, i16 4824, i16 1092, i16 0, i16 0, i16 4822, i16 4826, i16 9242, i16 2797, i16 0, i16 0, i16 0, i16 9177, i16 2477, i16 9178, i16 9179, i16 3222, i16 9180, i16 4798, i16 0, i16 9181, i16 9182, i16 3097, i16 0, i16 0, i16 0, i16 4797, i16 2987, i16 3314, i16 1148, i16 9183, i16 2336, i16 1999, i16 0, i16 0, i16 9184, i16 2676, i16 9185, i16 3485, i16 0, i16 9186, i16 4793, i16 4792, i16 0, i16 1242, i16 0, i16 4572, i16 4579, i16 2083, i16 0, i16 0, i16 0, i16 0, i16 4573, i16 2943, i16 0, i16 0, i16 8813, i16 8814, i16 8815, i16 8816, i16 3533, i16 4575, i16 4576, i16 4580, i16 2793, i16 4577, i16 1610, i16 2311, i16 0, i16 0, i16 4594, i16 3021, i16 0, i16 2519, i16 0, i16 6874, i16 12768, i16 6873, i16 6875, i16 12769, i16 6872, i16 0, i16 12767, i16 0, i16 0, i16 12770, i16 12771, i16 12772, i16 6878, i16 12773, i16 0, i16 0, i16 12774, i16 0, i16 0, i16 12775, i16 6877, i16 12776, i16 6880, i16 0, i16 0, i16 1344, i16 6879, i16 0, i16 12777, i16 0, i16 6881, i16 11995, i16 11996, i16 849, i16 0, i16 3371, i16 2210, i16 11997, i16 0, i16 0, i16 0, i16 11998, i16 11999, i16 0, i16 12000, i16 1465, i16 0, i16 12001, i16 1374, i16 12002, i16 12003, i16 3243, i16 12004, i16 0, i16 0, i16 0, i16 0, i16 6509, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1245, i16 0, i16 5239, i16 0, i16 0, i16 0, i16 0, i16 5240, i16 9886, i16 0, i16 0, i16 0, i16 1501, i16 9887, i16 9888, i16 3041, i16 0, i16 9889, i16 5242, i16 0, i16 9890, i16 0, i16 2146, i16 0, i16 0, i16 5241, i16 0, i16 0, i16 0, i16 0, i16 9891, i16 0, i16 7901, i16 7902, i16 0, i16 4010, i16 7903, i16 0, i16 7904, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4025, i16 4030, i16 0, i16 4026, i16 7905, i16 9949, i16 9950, i16 0, i16 9951, i16 1525, i16 9952, i16 9953, i16 3573, i16 0, i16 1353, i16 0, i16 939, i16 0, i16 0, i16 9954, i16 0, i16 9955, i16 0, i16 0, i16 9956, i16 0, i16 9957, i16 1383, i16 9958, i16 9959, i16 0, i16 0, i16 0, i16 9960, i16 0, i16 9961, i16 9962, i16 222, i16 223, i16 224, i16 244, i16 0, i16 246, i16 247, i16 248, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 324, i16 329, i16 265, i16 266, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 254, i16 0, i16 0, i16 0, i16 4062, i16 0, i16 0, i16 0, i16 7982, i16 7983, i16 4061, i16 1064, i16 7984, i16 0, i16 4063, i16 7985, i16 7986, i16 0, i16 0, i16 4066, i16 0, i16 0, i16 0, i16 0, i16 4065, i16 7987, i16 0, i16 0, i16 0, i16 7988, i16 7989, i16 0, i16 0, i16 7990, i16 7991, i16 7992, i16 8158, i16 8159, i16 8160, i16 0, i16 0, i16 0, i16 8161, i16 0, i16 3330, i16 8162, i16 0, i16 4137, i16 0, i16 0, i16 4142, i16 0, i16 0, i16 8163, i16 8164, i16 3204, i16 0, i16 0, i16 0, i16 0, i16 4141, i16 4135, i16 4138, i16 4140, i16 8166, i16 0, i16 1691, i16 0, i16 10718, i16 10719, i16 1977, i16 1527, i16 2383, i16 5689, i16 5695, i16 10720, i16 10721, i16 0, i16 0, i16 5690, i16 1451, i16 10722, i16 5698, i16 5702, i16 1478, i16 10723, i16 0, i16 10724, i16 0, i16 0, i16 5697, i16 10725, i16 0, i16 10726, i16 10727, i16 5706, i16 10728, i16 10729, i16 1633, i16 0, i16 736, i16 0, i16 0, i16 731, i16 722, i16 743, i16 0, i16 0, i16 738, i16 0, i16 0, i16 733, i16 721, i16 0, i16 0, i16 737, i16 742, i16 0, i16 0, i16 732, i16 723, i16 0, i16 0, i16 739, i16 744, i16 0, i16 0, i16 734, i16 724, i16 0, i16 0, i16 740, i16 2784, i16 7664, i16 7665, i16 2202, i16 3871, i16 7666, i16 3201, i16 2307, i16 1123, i16 0, i16 1130, i16 3872, i16 0, i16 0, i16 3874, i16 0, i16 0, i16 1429, i16 7667, i16 7668, i16 3873, i16 7669, i16 7670, i16 3648, i16 7671, i16 0, i16 0, i16 0, i16 0, i16 2040, i16 0, i16 0, i16 4064, i16 0, i16 2932, i16 0, i16 0, i16 4067, i16 7993, i16 7994, i16 7995, i16 7996, i16 0, i16 7997, i16 7998, i16 7999, i16 4068, i16 0, i16 0, i16 8000, i16 0, i16 8001, i16 4070, i16 0, i16 4069, i16 8002, i16 0, i16 0, i16 0, i16 0, i16 4072, i16 0, i16 8003, i16 0, i16 8416, i16 945, i16 8417, i16 8418, i16 0, i16 0, i16 8419, i16 0, i16 2370, i16 1189, i16 8420, i16 4287, i16 3385, i16 0, i16 0, i16 0, i16 0, i16 2487, i16 8421, i16 1084, i16 8422, i16 8423, i16 4289, i16 4291, i16 1184, i16 0, i16 8424, i16 4288, i16 4290, i16 0, i16 4293, i16 0, i16 9441, i16 0, i16 9442, i16 9443, i16 4979, i16 0, i16 0, i16 0, i16 9444, i16 9445, i16 4980, i16 4981, i16 9446, i16 9447, i16 9448, i16 4982, i16 9449, i16 4984, i16 4983, i16 4985, i16 938, i16 2573, i16 0, i16 4986, i16 9450, i16 9451, i16 1785, i16 1071, i16 4987, i16 9452, i16 9453, i16 2753, i16 12257, i16 0, i16 0, i16 0, i16 12258, i16 12259, i16 0, i16 12260, i16 12261, i16 0, i16 0, i16 12262, i16 0, i16 2355, i16 0, i16 12263, i16 0, i16 0, i16 12264, i16 0, i16 0, i16 0, i16 12265, i16 6619, i16 12266, i16 6618, i16 12267, i16 12268, i16 12269, i16 12270, i16 0, i16 12271, i16 10469, i16 5529, i16 10470, i16 5530, i16 2980, i16 10471, i16 2188, i16 5527, i16 0, i16 2596, i16 10472, i16 10473, i16 5528, i16 10474, i16 0, i16 0, i16 2107, i16 10475, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10476, i16 0, i16 0, i16 805, i16 10477, i16 0, i16 0, i16 0, i16 12005, i16 0, i16 6511, i16 12006, i16 12007, i16 6510, i16 997, i16 0, i16 12008, i16 2899, i16 6512, i16 2994, i16 0, i16 2738, i16 12009, i16 6513, i16 2017, i16 12010, i16 0, i16 0, i16 6515, i16 12011, i16 12012, i16 3411, i16 6530, i16 6517, i16 6518, i16 12013, i16 0, i16 2666, i16 12014, i16 0, i16 1254, i16 0, i16 12579, i16 6786, i16 0, i16 0, i16 6785, i16 0, i16 6784, i16 0, i16 0, i16 6329, i16 12580, i16 3249, i16 12581, i16 0, i16 0, i16 12582, i16 12583, i16 6787, i16 6788, i16 12584, i16 12585, i16 0, i16 12586, i16 12587, i16 12588, i16 0, i16 12589, i16 0, i16 12590, i16 12591, i16 9702, i16 5142, i16 0, i16 5141, i16 5143, i16 9703, i16 9704, i16 9705, i16 9706, i16 0, i16 5146, i16 0, i16 0, i16 0, i16 9707, i16 9708, i16 9709, i16 2754, i16 0, i16 5140, i16 0, i16 9710, i16 9711, i16 0, i16 0, i16 5144, i16 0, i16 0, i16 9712, i16 0, i16 0, i16 0, i16 2280, i16 6299, i16 0, i16 6304, i16 1574, i16 6301, i16 6302, i16 11686, i16 6298, i16 11687, i16 0, i16 0, i16 2315, i16 2854, i16 11688, i16 11689, i16 2546, i16 0, i16 994, i16 11690, i16 0, i16 0, i16 11691, i16 11692, i16 0, i16 3081, i16 0, i16 11693, i16 1250, i16 0, i16 11694, i16 2645, i16 10216, i16 0, i16 10217, i16 10218, i16 10219, i16 10220, i16 10221, i16 10222, i16 10223, i16 0, i16 10224, i16 0, i16 0, i16 10225, i16 3074, i16 0, i16 5416, i16 0, i16 0, i16 0, i16 5417, i16 0, i16 0, i16 7073, i16 5418, i16 5419, i16 5420, i16 0, i16 0, i16 10226, i16 0, i16 1793, i16 6633, i16 0, i16 0, i16 0, i16 12337, i16 12338, i16 0, i16 12339, i16 0, i16 12340, i16 12341, i16 0, i16 1416, i16 12342, i16 6635, i16 12343, i16 12344, i16 12345, i16 0, i16 12346, i16 12347, i16 1513, i16 12348, i16 0, i16 0, i16 0, i16 12349, i16 0, i16 6634, i16 12350, i16 2126, i16 12351, i16 8938, i16 8939, i16 0, i16 8940, i16 0, i16 0, i16 0, i16 4640, i16 0, i16 3347, i16 0, i16 0, i16 0, i16 8941, i16 0, i16 4641, i16 0, i16 0, i16 0, i16 8942, i16 8943, i16 0, i16 4642, i16 0, i16 3423, i16 0, i16 2251, i16 8944, i16 0, i16 8945, i16 0, i16 0, i16 235, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 269, i16 256, i16 270, i16 7109, i16 0, i16 4075, i16 4073, i16 4071, i16 4074, i16 0, i16 8004, i16 0, i16 0, i16 4076, i16 8005, i16 8006, i16 8007, i16 8010, i16 8011, i16 4077, i16 8008, i16 8009, i16 4078, i16 0, i16 4079, i16 0, i16 0, i16 0, i16 4080, i16 3841, i16 8012, i16 1965, i16 1824, i16 8013, i16 8014, i16 1016, i16 8015, i16 6891, i16 12790, i16 0, i16 12791, i16 2236, i16 0, i16 12792, i16 0, i16 12793, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12794, i16 6892, i16 12795, i16 6893, i16 12796, i16 6894, i16 6895, i16 12797, i16 12798, i16 12799, i16 1657, i16 0, i16 0, i16 12800, i16 12801, i16 0, i16 6896, i16 6897, i16 9963, i16 0, i16 9964, i16 0, i16 0, i16 9965, i16 9966, i16 0, i16 0, i16 1186, i16 9967, i16 9968, i16 0, i16 9969, i16 0, i16 0, i16 0, i16 0, i16 3637, i16 5276, i16 0, i16 9970, i16 0, i16 9971, i16 0, i16 9972, i16 0, i16 5278, i16 9973, i16 9974, i16 0, i16 9975, i16 7405, i16 7406, i16 7407, i16 2506, i16 3630, i16 787, i16 0, i16 0, i16 7408, i16 0, i16 0, i16 0, i16 0, i16 3743, i16 963, i16 7409, i16 1345, i16 7410, i16 2602, i16 7411, i16 0, i16 7412, i16 1482, i16 3745, i16 0, i16 0, i16 0, i16 2911, i16 0, i16 7413, i16 7414, i16 7415, i16 494, i16 495, i16 496, i16 497, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 232, i16 233, i16 242, i16 243, i16 0, i16 750, i16 3137, i16 3994, i16 0, i16 3990, i16 0, i16 7861, i16 3985, i16 3991, i16 1725, i16 7862, i16 0, i16 0, i16 7863, i16 7864, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3998, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12272, i16 12273, i16 12274, i16 12275, i16 0, i16 12276, i16 12277, i16 12278, i16 12279, i16 0, i16 0, i16 12280, i16 12281, i16 12282, i16 12283, i16 6617, i16 12284, i16 0, i16 3298, i16 12285, i16 0, i16 12286, i16 0, i16 12287, i16 12288, i16 12289, i16 0, i16 0, i16 12290, i16 12291, i16 0, i16 12292, i16 1009, i16 6386, i16 3667, i16 2659, i16 3696, i16 11796, i16 11797, i16 1860, i16 6385, i16 11798, i16 2454, i16 11799, i16 0, i16 6402, i16 2351, i16 11800, i16 0, i16 2901, i16 0, i16 3143, i16 0, i16 11802, i16 11801, i16 0, i16 0, i16 11803, i16 6389, i16 1810, i16 1861, i16 11804, i16 2123, i16 0, i16 4849, i16 4836, i16 0, i16 4846, i16 0, i16 9254, i16 0, i16 4840, i16 9255, i16 0, i16 9256, i16 9257, i16 9258, i16 9259, i16 2180, i16 4850, i16 9260, i16 9261, i16 2268, i16 0, i16 0, i16 9262, i16 9263, i16 0, i16 0, i16 4848, i16 1150, i16 9264, i16 9265, i16 9266, i16 0, i16 0, i16 13041, i16 0, i16 0, i16 0, i16 0, i16 13042, i16 7028, i16 13043, i16 0, i16 13044, i16 0, i16 13045, i16 0, i16 7029, i16 13046, i16 7030, i16 13047, i16 0, i16 3700, i16 13048, i16 13049, i16 0, i16 0, i16 0, i16 7027, i16 2512, i16 1762, i16 0, i16 0, i16 7031, i16 13050, i16 0, i16 6130, i16 0, i16 3293, i16 6131, i16 11395, i16 11396, i16 6128, i16 11397, i16 6129, i16 6134, i16 6137, i16 11398, i16 0, i16 6135, i16 11399, i16 11400, i16 11401, i16 6133, i16 6127, i16 11402, i16 11403, i16 0, i16 0, i16 0, i16 2587, i16 11404, i16 6144, i16 0, i16 3387, i16 0, i16 11405, i16 11406, i16 4083, i16 8027, i16 8028, i16 3253, i16 4085, i16 0, i16 0, i16 8029, i16 4087, i16 4086, i16 8030, i16 4088, i16 8031, i16 4089, i16 0, i16 1490, i16 0, i16 8032, i16 903, i16 4090, i16 0, i16 8033, i16 4092, i16 0, i16 4091, i16 0, i16 8034, i16 8035, i16 4094, i16 8036, i16 0, i16 2777, i16 3830, i16 829, i16 7623, i16 1518, i16 1430, i16 1995, i16 2622, i16 1313, i16 2321, i16 1584, i16 7624, i16 1669, i16 3832, i16 3417, i16 2757, i16 7625, i16 1868, i16 0, i16 3831, i16 7626, i16 3833, i16 7627, i16 0, i16 7628, i16 7629, i16 0, i16 2781, i16 0, i16 1112, i16 0, i16 0, i16 7630, i16 3320, i16 897, i16 811, i16 0, i16 2818, i16 11714, i16 11715, i16 6321, i16 0, i16 0, i16 11721, i16 11716, i16 6320, i16 0, i16 2883, i16 0, i16 6325, i16 11717, i16 0, i16 0, i16 6314, i16 0, i16 6324, i16 6326, i16 0, i16 1509, i16 6322, i16 1645, i16 11718, i16 1926, i16 11719, i16 11720, i16 3576, i16 1731, i16 2552, i16 4614, i16 8885, i16 2309, i16 8886, i16 1612, i16 2223, i16 909, i16 2371, i16 4612, i16 1252, i16 8887, i16 8888, i16 8889, i16 0, i16 0, i16 1442, i16 0, i16 2672, i16 4618, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2406, i16 0, i16 8890, i16 4621, i16 0, i16 7416, i16 1196, i16 7417, i16 7418, i16 0, i16 0, i16 0, i16 0, i16 7419, i16 3746, i16 788, i16 7420, i16 7421, i16 1561, i16 1197, i16 3185, i16 3019, i16 1272, i16 7422, i16 0, i16 0, i16 7423, i16 7424, i16 7425, i16 0, i16 7426, i16 1014, i16 0, i16 3781, i16 2752, i16 0, i16 0, i16 1529, i16 0, i16 2716, i16 6278, i16 11631, i16 11632, i16 0, i16 11633, i16 1458, i16 0, i16 2209, i16 0, i16 6281, i16 0, i16 2817, i16 11634, i16 6280, i16 11635, i16 11636, i16 1420, i16 11637, i16 11638, i16 6279, i16 2524, i16 1228, i16 0, i16 0, i16 6282, i16 0, i16 6283, i16 11639, i16 2118, i16 2041, i16 4564, i16 8795, i16 8796, i16 8797, i16 0, i16 8798, i16 2329, i16 6559, i16 3067, i16 0, i16 1947, i16 8799, i16 1730, i16 4565, i16 0, i16 8800, i16 8801, i16 8802, i16 2476, i16 8803, i16 3196, i16 8804, i16 0, i16 2518, i16 0, i16 8805, i16 4568, i16 8806, i16 0, i16 4566, i16 0, i16 10235, i16 5426, i16 0, i16 1159, i16 3056, i16 5427, i16 10236, i16 5428, i16 10237, i16 0, i16 5429, i16 0, i16 10238, i16 0, i16 3437, i16 0, i16 10239, i16 10240, i16 3430, i16 0, i16 2655, i16 0, i16 10241, i16 0, i16 2417, i16 10242, i16 0, i16 5431, i16 10243, i16 0, i16 2033, i16 0, i16 5628, i16 10657, i16 0, i16 10658, i16 5652, i16 5654, i16 0, i16 10659, i16 0, i16 10660, i16 0, i16 0, i16 5655, i16 10661, i16 10662, i16 0, i16 10663, i16 0, i16 10664, i16 3227, i16 0, i16 5656, i16 0, i16 0, i16 0, i16 10665, i16 0, i16 0, i16 10666, i16 10667, i16 3443, i16 0, i16 3325, i16 7813, i16 0, i16 0, i16 0, i16 0, i16 3062, i16 7814, i16 7815, i16 3968, i16 7816, i16 1183, i16 3963, i16 3964, i16 3966, i16 7817, i16 0, i16 7818, i16 0, i16 0, i16 7819, i16 7820, i16 3967, i16 0, i16 1274, i16 2220, i16 0, i16 3202, i16 3965, i16 3961, i16 1564, i16 0, i16 5629, i16 10622, i16 10623, i16 10624, i16 10625, i16 0, i16 10626, i16 5630, i16 0, i16 10627, i16 0, i16 10628, i16 10629, i16 5635, i16 10630, i16 10631, i16 0, i16 5624, i16 3951, i16 5631, i16 5625, i16 0, i16 0, i16 5634, i16 0, i16 10632, i16 0, i16 10633, i16 0, i16 0, i16 0, i16 5640, i16 4350, i16 0, i16 0, i16 4349, i16 4348, i16 3188, i16 0, i16 4357, i16 0, i16 8514, i16 0, i16 8512, i16 3341, i16 0, i16 4351, i16 0, i16 8513, i16 8515, i16 0, i16 0, i16 4353, i16 3358, i16 8516, i16 4352, i16 8517, i16 0, i16 0, i16 8518, i16 8519, i16 0, i16 8520, i16 4354, i16 9726, i16 5159, i16 0, i16 0, i16 0, i16 9727, i16 9728, i16 9729, i16 0, i16 5155, i16 0, i16 5156, i16 0, i16 9730, i16 0, i16 5160, i16 0, i16 5158, i16 0, i16 0, i16 0, i16 3141, i16 0, i16 9731, i16 5166, i16 0, i16 5163, i16 5162, i16 0, i16 5165, i16 2865, i16 5167, i16 3839, i16 0, i16 3840, i16 7634, i16 7635, i16 2879, i16 902, i16 0, i16 0, i16 3843, i16 1778, i16 7636, i16 3842, i16 1723, i16 7637, i16 3844, i16 5856, i16 3845, i16 3316, i16 3846, i16 0, i16 3847, i16 3848, i16 2134, i16 7638, i16 1917, i16 0, i16 0, i16 0, i16 7639, i16 0, i16 0, i16 5887, i16 10975, i16 5888, i16 5884, i16 10977, i16 10978, i16 10979, i16 0, i16 5885, i16 0, i16 5886, i16 10980, i16 0, i16 0, i16 10981, i16 1640, i16 10976, i16 0, i16 0, i16 5894, i16 0, i16 5890, i16 10982, i16 0, i16 10983, i16 0, i16 3165, i16 10984, i16 3359, i16 3103, i16 10985, i16 0, i16 120, i16 12, i16 25, i16 0, i16 0, i16 5, i16 0, i16 23, i16 156, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 17, i16 157, i16 107, i16 21, i16 147, i16 174, i16 24, i16 0, i16 3, i16 173, i16 137, i16 30, i16 88, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 143, i16 145, i16 8, i16 117, i16 132, i16 0, i16 0, i16 177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 187, i16 95, i16 182, i16 161, i16 129, i16 127, i16 97, i16 135, i16 103, i16 108, i16 83, i16 86, i16 166, i16 139, i16 89, i16 172, i16 56, i16 77, i16 106, i16 162, i16 189, i16 155, i16 41, i16 141, i16 124, i16 28, i16 74, i16 68, i16 113, i16 27, i16 67, i16 85, i16 144, i16 70, i16 126, i16 96, i16 35, i16 61, i16 190, i16 123, i16 176, i16 171, i16 148, i16 183, i16 38, i16 54, i16 142, i16 186, i16 87, i16 75, i16 94, i16 76, i16 32, i16 98, i16 163, i16 20, i16 133, i16 154, i16 66, i16 138, i16 52, i16 101, i16 44, i16 63, i16 19, i16 22, i16 164, i16 191, i16 136, i16 80, i16 65, i16 91, i16 114, i16 181, i16 51, i16 79, i16 184, i16 116, i16 151, i16 92, i16 140, i16 64, i16 167, i16 50, i16 110, i16 130, i16 192, i16 152, i16 100, i16 99, i16 36, i16 93, i16 72, i16 146, i16 131, i16 33, i16 47, i16 119, i16 7, i16 73, i16 185, i16 57, i16 160, i16 150, i16 78, i16 45, i16 118, i16 49, i16 115, i16 29, i16 31, i16 69, i16 188, i16 53, i16 149, i16 121, i16 55, i16 109, i16 82, i16 153, i16 178, i16 90, i16 122, i16 104, i16 6, i16 175, i16 60, i16 59, i16 43, i16 180, i16 125, i16 16, i16 179, i16 102, i16 134, i16 62, i16 37, i16 158, i16 71, i16 40, i16 84, i16 0, i16 1, i16 159, i16 13, i16 81, i16 111, i16 46, i16 105, i16 9, i16 128, i16 18, i16 170, i16 11, i16 15, i16 39, i16 34, i16 2, i16 48, i16 10, i16 14, i16 26, i16 58, i16 42, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 169, i16 112, i16 168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 165, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 84, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1270, i16 1950, i16 0, i16 426, i16 2786, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3365, i16 3389, i16 3410, i16 1975, i16 0, i16 2471, i16 2480, i16 2502, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2924, i16 1668, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 408, i16 0, i16 0, i16 3296, i16 0, i16 3249, i16 1864, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 141, i16 0, i16 51, i16 1513, i16 1049, i16 2968, i16 2294, i16 0, i16 1390, i16 979, i16 0, i16 1886, i16 0, i16 617, i16 0, i16 0, i16 0, i16 1282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 471, i16 2852, i16 0, i16 0, i16 0, i16 0, i16 3275, i16 2769, i16 2449, i16 0, i16 0, i16 0, i16 0, i16 693, i16 657, i16 2725, i16 1421, i16 1123, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1524, i16 2708, i16 2736, i16 2762, i16 2793, i16 2808, i16 2834, i16 2854, i16 2870, i16 2890, i16 2909, i16 2932, i16 2958, i16 2983, i16 3003, i16 3025, i16 3042, i16 3062, i16 3085, i16 3108, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2374, i16 367, i16 1664, i16 0, i16 0, i16 0, i16 0, i16 2342, i16 0, i16 0, i16 0, i16 0, i16 165, i16 2704, i16 1683, i16 0, i16 0, i16 1370, i16 0, i16 2875, i16 0, i16 2939, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1678, i16 423, i16 0, i16 2585, i16 0, i16 0, i16 0, i16 2178, i16 0, i16 0, i16 0, i16 463, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 603, i16 0, i16 3282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2510, i16 0, i16 0, i16 0, i16 2978, i16 0, i16 0, i16 0, i16 0, i16 0, i16 454, i16 3047, i16 2404, i16 0, i16 0, i16 1652, i16 0, i16 628, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1882, i16 3318, i16 2723, i16 1548, i16 2895, i16 3235, i16 3268, i16 2013, i16 0, i16 899, i16 0, i16 0, i16 2999, i16 270, i16 3031, i16 926, i16 0, i16 511, i16 0, i16 0, i16 2064, i16 271, i16 2107, i16 537, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2071, i16 1576, i16 0, i16 1014, i16 610, i16 703, i16 0, i16 89, i16 277, i16 2618, i16 2078, i16 373, i16 2562, i16 2653, i16 0, i16 20, i16 2792, i16 1006, i16 1991, i16 745, i16 0, i16 2504, i16 1920, i16 3246, i16 1187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1040, i16 538, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1639, i16 1552, i16 1656, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1084, i16 0, i16 0, i16 343, i16 947, i16 0, i16 1748, i16 0, i16 0, i16 2269, i16 1677, i16 2648, i16 0, i16 455, i16 0, i16 2224, i16 572, i16 0, i16 0, i16 0, i16 0, i16 272, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 218, i16 2385, i16 42, i16 1008, i16 2883, i16 1666, i16 3317, i16 0, i16 0, i16 0, i16 845, i16 1527, i16 0, i16 966, i16 1411, i16 2278, i16 0, i16 0, i16 0, i16 529, i16 764, i16 1103, i16 2200, i16 446, i16 1517, i16 1958, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1554, i16 2767, i16 2782, i16 2040, i16 1538, i16 0, i16 0, i16 3329, i16 0, i16 320, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2561, i16 0, i16 183, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1077, i16 1744, i16 1381, i16 0, i16 1821, i16 2017, i16 2216, i16 1487, i16 2180, i16 1772, i16 0, i16 1191, i16 0, i16 0, i16 0, i16 2697, i16 1177, i16 1167, i16 1491, i16 0, i16 0, i16 0, i16 1684, i16 1161, i16 0, i16 0, i16 261, i16 0, i16 0, i16 0, i16 0, i16 0, i16 353, i16 1482, i16 385, i16 2859, i16 2317, i16 136, i16 2314, i16 598, i16 2350, i16 2114, i16 3321, i16 177, i16 3325, i16 740, i16 1376, i16 0, i16 564, i16 3237, i16 2522, i16 0, i16 220, i16 451, i16 896, i16 985, i16 0, i16 931, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1514, i16 391, i16 2423, i16 0, i16 1547, i16 0, i16 904, i16 0, i16 3173, i16 265, i16 0, i16 1255, i16 0, i16 406, i16 3030, i16 2947, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2682, i16 0, i16 0, i16 0, i16 90, i16 1190, i16 0, i16 0, i16 0, i16 0, i16 3076, i16 3092, i16 2084, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1002, i16 3212, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3169, i16 789, i16 0, i16 3187, i16 948, i16 1953, i16 530, i16 245, i16 1845, i16 769, i16 646, i16 0, i16 670, i16 2443, i16 1563, i16 2644, i16 1508, i16 2949, i16 0, i16 0, i16 0, i16 0, i16 0, i16 330, i16 0, i16 2594, i16 2182, i16 696, i16 0, i16 0, i16 0, i16 0, i16 1906, i16 3349, i16 3372, i16 3395, i16 3415, i16 1974, i16 1997, i16 0, i16 1128, i16 2030, i16 2057, i16 2085, i16 2106, i16 2126, i16 2152, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 884, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1151, i16 0, i16 0, i16 0, i16 0, i16 907, i16 0, i16 0, i16 1164, i16 0, i16 2089, i16 328, i16 2093, i16 0, i16 1196, i16 0, i16 921, i16 0, i16 0, i16 0, i16 0, i16 929, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 910, i16 152, i16 0, i16 1679, i16 0, i16 1452, i16 0, i16 0, i16 0, i16 1992, i16 65, i16 1016, i16 259, i16 0, i16 0, i16 1174, i16 1900, i16 3026, i16 3184, i16 2125, i16 0, i16 0, i16 2720, i16 0, i16 0, i16 3373, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2737, i16 0, i16 0, i16 0, i16 1427, i16 0, i16 1750, i16 2491, i16 1564, i16 1184, i16 2996, i16 889, i16 3105, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1290, i16 0, i16 3191, i16 0, i16 2844, i16 401, i16 3231, i16 3156, i16 241, i16 1896, i16 0, i16 0, i16 0, i16 0, i16 699, i16 0, i16 1035, i16 0, i16 0, i16 2360, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1115, i16 3123, i16 1925, i16 3287, i16 0, i16 0, i16 0, i16 0, i16 1450, i16 803, i16 1267, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3280, i16 2450, i16 1696, i16 3032, i16 1377, i16 0, i16 0, i16 0, i16 568, i16 0, i16 2921, i16 2479, i16 2955, i16 2063, i16 1546, i16 1367, i16 1641, i16 0, i16 1039, i16 0, i16 0, i16 0, i16 0, i16 3264, i16 0, i16 2136, i16 0, i16 3056, i16 0, i16 0, i16 0, i16 0, i16 467, i16 0, i16 0, i16 0, i16 3041, i16 1967, i16 1980, i16 0, i16 932, i16 1066, i16 0, i16 3061, i16 3344, i16 920, i16 3399, i16 915, i16 3409, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1520, i16 3160, i16 3104, i16 973, i16 1426, i16 1893, i16 0, i16 2838, i16 0, i16 0, i16 0, i16 1137, i16 1473, i16 0, i16 1810, i16 942, i16 331, i16 0, i16 1150, i16 0, i16 43, i16 0, i16 2179, i16 1614, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 508, i16 487, i16 0, i16 0, i16 1726, i16 0, i16 734, i16 308, i16 0, i16 0, i16 2990, i16 3063, i16 2991, i16 0, i16 3011, i16 1074, i16 3210, i16 3037, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1827, i16 0, i16 897, i16 0, i16 75, i16 0, i16 0, i16 0, i16 1030, i16 462, i16 0, i16 0, i16 2414, i16 2898, i16 0, i16 0, i16 3253, i16 1468, i16 2833, i16 3273, i16 1955, i16 0, i16 127, i16 913, i16 0, i16 0, i16 507, i16 2716, i16 1126, i16 3029, i16 0, i16 3382, i16 2668, i16 0, i16 2555, i16 128, i16 0, i16 0, i16 0, i16 0, i16 1127, i16 2981, i16 1437, i16 0, i16 0, i16 0, i16 1500, i16 0, i16 0, i16 480, i16 0, i16 114, i16 0, i16 0, i16 205, i16 1655, i16 0, i16 0, i16 34, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 370, i16 500, i16 528, i16 0, i16 2690, i16 2876, i16 1477, i16 3133, i16 333, i16 0, i16 0, i16 0, i16 0, i16 1793, i16 0, i16 0, i16 1529, i16 2550, i16 1096, i16 1112, i16 1588, i16 820, i16 3267, i16 2595, i16 1977, i16 3394, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 125, i16 1589, i16 0, i16 1933, i16 847, i16 2168, i16 468, i16 0, i16 3405, i16 0, i16 0, i16 1506, i16 0, i16 0, i16 683, i16 1939, i16 2846, i16 2878, i16 2642, i16 0, i16 0, i16 2377, i16 0, i16 0, i16 2596, i16 0, i16 1532, i16 0, i16 1107, i16 0, i16 0, i16 0, i16 1919, i16 3021, i16 120, i16 0, i16 644, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2732, i16 501, i16 279, i16 2509, i16 1644, i16 1863, i16 0, i16 0, i16 395, i16 246, i16 1025, i16 626, i16 3384, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1675, i16 0, i16 2734, i16 0, i16 3140, i16 990, i16 0, i16 0, i16 2169, i16 0, i16 0, i16 1027, i16 552, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2583, i16 0, i16 3286, i16 0, i16 1212, i16 316, i16 0, i16 0, i16 2830, i16 0, i16 0, i16 0, i16 0, i16 909, i16 1229, i16 0, i16 0, i16 335, i16 0, i16 0, i16 359, i16 647, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1153, i16 0, i16 0, i16 901, i16 0, i16 0, i16 0, i16 2492, i16 2027, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3219, i16 0, i16 2744, i16 476, i16 0, i16 11, i16 243, i16 0, i16 2327, i16 3098, i16 0, i16 0, i16 0, i16 97, i16 0, i16 0, i16 0, i16 1523, i16 0, i16 0, i16 783, i16 1121, i16 3144, i16 0, i16 0, i16 0, i16 496, i16 0, i16 0, i16 0, i16 0, i16 0, i16 158, i16 0, i16 2711, i16 1954, i16 3311, i16 886, i16 239, i16 1528, i16 1343, i16 1531, i16 225, i16 0, i16 1047, i16 0, i16 2311, i16 3385, i16 607, i16 2571, i16 2130, i16 848, i16 0, i16 2750, i16 440, i16 794, i16 2102, i16 460, i16 2018, i16 2208, i16 1181, i16 0, i16 0, i16 0, i16 1755, i16 2493, i16 1397, i16 0, i16 3417, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 780, i16 206, i16 2759, i16 0, i16 0, i16 834, i16 0, i16 0, i16 672, i16 0, i16 2241, i16 1359, i16 0, i16 0, i16 584, i16 1978, i16 3009, i16 0, i16 0, i16 0, i16 1160, i16 211, i16 2666, i16 0, i16 0, i16 0, i16 0, i16 2074, i16 0, i16 0, i16 0, i16 0, i16 17, i16 2606, i16 1737, i16 202, i16 1812, i16 1007, i16 0, i16 1841, i16 1345, i16 0, i16 738, i16 1162, i16 2860, i16 1943, i16 1814, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1674, i16 2556, i16 66, i16 542, i16 1205, i16 3419, i16 0, i16 2603, i16 2500, i16 425, i16 0, i16 0, i16 278, i16 1961, i16 680, i16 0, i16 1124, i16 1758, i16 0, i16 1555, i16 1446, i16 2210, i16 1405, i16 350, i16 3028, i16 2892, i16 0, i16 0, i16 0, i16 0, i16 1826, i16 2907, i16 21, i16 558, i16 1600, i16 1932, i16 0, i16 0, i16 1779, i16 0, i16 0, i16 1295, i16 0, i16 0, i16 28, i16 1725, i16 0, i16 0, i16 0, i16 0, i16 1981, i16 0, i16 2384, i16 1942, i16 0, i16 0, i16 0, i16 0, i16 0, i16 795, i16 452, i16 0, i16 208, i16 0, i16 0, i16 3044, i16 0, i16 0, i16 0, i16 0, i16 166, i16 836, i16 340, i16 337, i16 0, i16 0, i16 1875, i16 0, i16 0, i16 1159, i16 32, i16 1879, i16 1304, i16 0, i16 414, i16 515, i16 1347, i16 365, i16 0, i16 1884, i16 1521, i16 970, i16 0, i16 0, i16 858, i16 3141, i16 0, i16 717, i16 1866, i16 0, i16 1280, i16 1791, i16 2234, i16 0, i16 1414, i16 2147, i16 0, i16 0, i16 1645, i16 0, i16 0, i16 0, i16 404, i16 0, i16 0, i16 984, i16 3122, i16 0, i16 0, i16 0, i16 145, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1803, i16 0, i16 0, i16 1651, i16 2447, i16 0, i16 0, i16 2291, i16 472, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1134, i16 838, i16 0, i16 470, i16 2650, i16 606, i16 1065, i16 0, i16 1130, i16 0, i16 0, i16 0, i16 0, i16 1374, i16 1694, i16 1572, i16 1648, i16 2386, i16 200, i16 694, i16 0, i16 2530, i16 0, i16 0, i16 1752, i16 159, i16 2351, i16 3097, i16 1410, i16 1125, i16 0, i16 0, i16 412, i16 0, i16 1556, i16 0, i16 0, i16 625, i16 0, i16 1649, i16 0, i16 2100, i16 2469, i16 0, i16 273, i16 3016, i16 0, i16 0, i16 0, i16 0, i16 0, i16 399, i16 276, i16 2646, i16 671, i16 1732, i16 1888, i16 1382, i16 57, i16 0, i16 0, i16 0, i16 0, i16 0, i16 999, i16 0, i16 0, i16 681, i16 190, i16 2424, i16 0, i16 1319, i16 1454, i16 0, i16 0, i16 539, i16 0, i16 761, i16 0, i16 2021, i16 0, i16 0, i16 2189, i16 54, i16 0, i16 0, i16 0, i16 0, i16 3073, i16 0, i16 3049, i16 1501, i16 3198, i16 0, i16 0, i16 0, i16 2802, i16 255, i16 1960, i16 0, i16 0, i16 0, i16 263, i16 0, i16 0, i16 0, i16 0, i16 3168, i16 3007, i16 784, i16 3164, i16 0, i16 0, i16 788, i16 2164, i16 1711, i16 1088, i16 1328, i16 3024, i16 0, i16 2497, i16 1825, i16 2888, i16 1003, i16 986, i16 1603, i16 0, i16 0, i16 1012, i16 2473, i16 329, i16 0, i16 0, i16 0, i16 189, i16 2254, i16 1348, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 283, i16 155, i16 0, i16 0, i16 2908, i16 1209, i16 346, i16 0, i16 2765, i16 0, i16 1957, i16 0, i16 0, i16 0, i16 828, i16 0, i16 0, i16 2807, i16 0, i16 1676, i16 0, i16 1091, i16 768, i16 0, i16 2818, i16 349, i16 1789, i16 2193, i16 0, i16 164, i16 0, i16 1171, i16 2810, i16 938, i16 1163, i16 719, i16 2554, i16 2822, i16 0, i16 1575, i16 1200, i16 0, i16 2598, i16 753, i16 2532, i16 972, i16 689, i16 0, i16 1284, i16 0, i16 0, i16 0, i16 0, i16 0, i16 64, i16 800, i16 0, i16 0, i16 0, i16 1307, i16 509, i16 106, i16 0, i16 3278, i16 819, i16 0, i16 3013, i16 1015, i16 26, i16 1631, i16 1202, i16 1117, i16 0, i16 2326, i16 0, i16 3046, i16 49, i16 0, i16 736, i16 0, i16 776, i16 1109, i16 0, i16 0, i16 3182, i16 0, i16 0, i16 0, i16 0, i16 0, i16 217, i16 510, i16 2212, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 341, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2689, i16 0, i16 0, i16 2117, i16 0, i16 0, i16 0, i16 2825, i16 1273, i16 2948, i16 0, i16 977, i16 268, i16 1266, i16 1283, i16 1369, i16 1795, i16 207, i16 1685, i16 3014, i16 497, i16 0, i16 437, i16 2505, i16 0, i16 2563, i16 0, i16 0, i16 732, i16 553, i16 1247, i16 2372, i16 0, i16 0, i16 1637, i16 3251, i16 3313, i16 1308, i16 0, i16 10, i16 2912, i16 1061, i16 131, i16 0, i16 0, i16 0, i16 2111, i16 0, i16 0, i16 0, i16 0, i16 0, i16 169, i16 0, i16 0, i16 0, i16 490, i16 642, i16 677, i16 0, i16 0, i16 180, i16 1565, i16 148, i16 569, i16 2201, i16 0, i16 315, i16 0, i16 0, i16 0, i16 1818, i16 1021, i16 0, i16 0, i16 0, i16 1244, i16 0, i16 76, i16 0, i16 3406, i16 0, i16 93, i16 0, i16 513, i16 960, i16 0, i16 859, i16 96, i16 1964, i16 0, i16 0, i16 386, i16 1629, i16 1510, i16 0, i16 2656, i16 269, i16 321, i16 0, i16 0, i16 0, i16 0, i16 3106, i16 2930, i16 1402, i16 80, i16 867, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2660, i16 368, i16 0, i16 2661, i16 2045, i16 0, i16 0, i16 0, i16 1581, i16 1544, i16 3381, i16 0, i16 2853, i16 891, i16 449, i16 2010, i16 3277, i16 0, i16 0, i16 2382, i16 2172, i16 2069, i16 2897, i16 0, i16 1773, i16 0, i16 0, i16 1291, i16 0, i16 645, i16 2135, i16 2034, i16 0, i16 0, i16 0, i16 2584, i16 772, i16 1898, i16 0, i16 0, i16 48, i16 1245, i16 1113, i16 747, i16 0, i16 0, i16 1973, i16 0, i16 0, i16 209, i16 2281, i16 1289, i16 2785, i16 0, i16 0, i16 2118, i16 176, i16 1248, i16 2037, i16 2043, i16 339, i16 3293, i16 2066, i16 86, i16 248, i16 857, i16 0, i16 0, i16 1433, i16 0, i16 0, i16 0, i16 1585, i16 2756, i16 2680, i16 1650, i16 1718, i16 0, i16 0, i16 0, i16 0, i16 0, i16 394, i16 1024, i16 1537, i16 0, i16 0, i16 3170, i16 2362, i16 40, i16 53, i16 1101, i16 0, i16 2933, i16 900, i16 1447, i16 0, i16 3179, i16 833, i16 1566, i16 1494, i16 2973, i16 0, i16 0, i16 2609, i16 0, i16 927, i16 2303, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 650, i16 0, i16 0, i16 1075, i16 235, i16 823, i16 565, i16 3079, i16 0, i16 785, i16 777, i16 186, i16 2969, i16 1860, i16 2232, i16 0, i16 873, i16 741, i16 3125, i16 3257, i16 2239, i16 0, i16 3121, i16 1242, i16 2791, i16 0, i16 0, i16 1435, i16 974, i16 1780, i16 961, i16 0, i16 0, i16 2874, i16 757, i16 0, i16 0, i16 0, i16 400, i16 1432, i16 2766, i16 3039, i16 1001, i16 1507, i16 2972, i16 0, i16 2514, i16 1512, i16 2046, i16 0, i16 0, i16 0, i16 1253, i16 0, i16 2098, i16 545, i16 2165, i16 531, i16 555, i16 0, i16 0, i16 3371, i16 0, i16 0, i16 0, i16 742, i16 0, i16 807, i16 1931, i16 0, i16 1076, i16 0, i16 2026, i16 3245, i16 0, i16 0, i16 117, i16 1467, i16 2104, i16 631, i16 0, i16 754, i16 156, i16 2258, i16 307, i16 0, i16 60, i16 0, i16 1260, i16 1371, i16 3328, i16 1870, i16 0, i16 0, i16 61, i16 1241, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 424, i16 2403, i16 2148, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1231, i16 2367, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1596, i16 3096, i16 2202, i16 363, i16 1609, i16 2710, i16 2582, i16 791, i16 2705, i16 0, i16 2543, i16 2319, i16 2558, i16 2597, i16 1, i16 2495, i16 2730, i16 0, i16 3374, i16 2485, i16 2487, i16 0, i16 581, i16 1476, i16 3359, i16 2499, i16 2719, i16 0, i16 1876, i16 3240, i16 0, i16 0, i16 2110, i16 0, i16 198, i16 1488, i16 2262, i16 140, i16 0, i16 0, i16 782, i16 3157, i16 27, i16 3136, i16 0, i16 1092, i16 0, i16 1302, i16 0, i16 1912, i16 1217, i16 0, i16 1642, i16 0, i16 2457, i16 0, i16 3400, i16 1530, i16 0, i16 0, i16 167, i16 524, i16 221, i16 0, i16 2119, i16 998, i16 461, i16 0, i16 1358, i16 1037, i16 3378, i16 3206, i16 841, i16 68, i16 1762, i16 0, i16 1756, i16 2665, i16 482, i16 1004, i16 0, i16 2501, i16 0, i16 3204, i16 918, i16 724, i16 322, i16 2401, i16 0, i16 0, i16 2412, i16 306, i16 733, i16 863, i16 0, i16 0, i16 2904, i16 0, i16 0, i16 1979, i16 0, i16 1985, i16 556, i16 3312, i16 2987, i16 3045, i16 643, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3128, i16 1729, i16 0, i16 2970, i16 161, i16 0, i16 0, i16 0, i16 0, i16 602, i16 0, i16 1682, i16 0, i16 2523, i16 0, i16 92, i16 0, i16 0, i16 583, i16 0, i16 0, i16 697, i16 1263, i16 253, i16 504, i16 0, i16 0, i16 0, i16 0, i16 1636, i16 56, i16 0, i16 0, i16 2617, i16 0, i16 0, i16 0, i16 0, i16 2960, i16 2884, i16 0, i16 1999, i16 438, i16 0, i16 0, i16 0, i16 0, i16 1116, i16 2929, i16 2605, i16 0, i16 2323, i16 774, i16 1032, i16 0, i16 2015, i16 2336, i16 0, i16 520, i16 0, i16 2016, i16 1634, i16 1182, i16 1362, i16 850, i16 2906, i16 596, i16 3274, i16 0, i16 199, i16 2242, i16 0, i16 1934, i16 0, i16 2635, i16 0, i16 1746, i16 2915, i16 0, i16 1375, i16 1118, i16 3004, i16 0, i16 477, i16 0, i16 0, i16 0, i16 0, i16 715, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3185, i16 0, i16 0, i16 0, i16 3248, i16 2541, i16 2340, i16 3258, i16 24, i16 2230, i16 1654, i16 0, i16 3421, i16 1923, i16 2565, i16 2280, i16 0, i16 3167, i16 3149, i16 895, i16 3306, i16 994, i16 2009, i16 1543, i16 2273, i16 0, i16 14, i16 814, i16 540, i16 2243, i16 1384, i16 969, i16 0, i16 2914, i16 1698, i16 0, i16 0, i16 995, i16 1119, i16 2474, i16 2855, i16 498, i16 0, i16 0, i16 2312, i16 3331, i16 2002, i16 2324, i16 0, i16 111, i16 1281, i16 410, i16 2158, i16 1404, i16 708, i16 2625, i16 0, i16 0, i16 0, i16 82, i16 1965, i16 486, i16 3228, i16 661, i16 0, i16 2961, i16 0, i16 197, i16 2842, i16 2060, i16 517, i16 1518, i16 0, i16 0, i16 1853, i16 2257, i16 3392, i16 2419, i16 251, i16 975, i16 0, i16 883, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1423, i16 0, i16 2521, i16 0, i16 2305, i16 0, i16 3380, i16 0, i16 0, i16 1054, i16 1108, i16 1842, i16 0, i16 943, i16 811, i16 2963, i16 0, i16 0, i16 0, i16 2455, i16 0, i16 1511, i16 0, i16 0, i16 1907, i16 3408, i16 2431, i16 516, i16 0, i16 238, i16 2124, i16 1483, i16 0, i16 825, i16 2271, i16 0, i16 1475, i16 1297, i16 0, i16 2001, i16 1346, i16 0, i16 0, i16 0, i16 0, i16 1387, i16 0, i16 0, i16 2629, i16 0, i16 614, i16 1274, i16 839, i16 3154, i16 1005, i16 0, i16 3189, i16 1136, i16 1000, i16 0, i16 2727, i16 2848, i16 3, i16 0, i16 112, i16 1234, i16 1459, i16 770, i16 0, i16 1828, i16 0, i16 2065, i16 0, i16 1106, i16 2444, i16 0, i16 830, i16 1457, i16 1764, i16 2604, i16 3057, i16 1098, i16 1223, i16 0, i16 362, i16 1460, i16 1840, i16 0, i16 1913, i16 580, i16 829, i16 958, i16 0, i16 3337, i16 0, i16 1833, i16 2778, i16 387, i16 2865, i16 310, i16 193, i16 3403, i16 0, i16 0, i16 0, i16 2614, i16 466, i16 0, i16 0, i16 2428, i16 1646, i16 0, i16 0, i16 0, i16 0, i16 1917, i16 0, i16 1908, i16 1859, i16 0, i16 1660, i16 804, i16 1592, i16 0, i16 3094, i16 3216, i16 2295, i16 33, i16 443, i16 3358, i16 0, i16 1394, i16 250, i16 213, i16 0, i16 1971, i16 3080, i16 1354, i16 3360, i16 0, i16 1265, i16 1584, i16 2053, i16 512, i16 0, i16 2928, i16 409, i16 2225, i16 779, i16 1186, i16 0, i16 0, i16 381, i16 0, i16 0, i16 2369, i16 0, i16 3368, i16 0, i16 0, i16 1479, i16 924, i16 0, i16 0, i16 599, i16 3139, i16 0, i16 1492, i16 2101, i16 0, i16 0, i16 0, i16 0, i16 0, i16 184, i16 0, i16 2197, i16 651, i16 0, i16 601, i16 0, i16 0, i16 29, i16 0, i16 1149, i16 3302, i16 1156, i16 3111, i16 1269, i16 1298, i16 0, i16 2073, i16 0, i16 615, i16 262, i16 0, i16 0, i16 1349, i16 118, i16 3159, i16 3178, i16 3316, i16 1252, i16 1277, i16 3301, i16 493, i16 3119, i16 2977, i16 842, i16 2399, i16 318, i16 2940, i16 2123, i16 0, i16 1620, i16 0, i16 2951, i16 0, i16 0, i16 0, i16 0, i16 2453, i16 0, i16 0, i16 1323, i16 288, i16 0, i16 0, i16 1615, i16 2715, i16 0, i16 0, i16 2691, i16 0, i16 0, i16 1388, i16 0, i16 280, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1250, i16 0, i16 392, i16 275, i16 0, i16 0, i16 0, i16 0, i16 1926, i16 3008, i16 0, i16 620, i16 0, i16 0, i16 0, i16 2971, i16 3401, i16 0, i16 0, i16 0, i16 1314, i16 608, i16 944, i16 0, i16 1534, i16 1131, i16 1430, i16 2835, i16 525, i16 1559, i16 3115, i16 0, i16 1672, i16 0, i16 3232, i16 0, i16 0, i16 382, i16 0, i16 3377, i16 352, i16 2301, i16 1207, i16 0, i16 1611, i16 0, i16 0, i16 260, i16 0, i16 94, i16 0, i16 2795, i16 1197, i16 0, i16 3402, i16 45, i16 0, i16 1816, i16 2185, i16 1216, i16 2678, i16 2866, i16 0, i16 2677, i16 0, i16 0, i16 687, i16 1342, i16 2420, i16 2163, i16 2142, i16 0, i16 876, i16 2989, i16 1172, i16 3393, i16 1550, i16 2506, i16 3017, i16 879, i16 0, i16 1169, i16 2729, i16 1817, i16 323, i16 0, i16 0, i16 1562, i16 1436, i16 0, i16 3397, i16 2616, i16 922, i16 44, i16 2966, i16 3135, i16 0, i16 0, i16 1713, i16 0, i16 491, i16 0, i16 0, i16 0, i16 2024, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2943, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3364, i16 3355, i16 2004, i16 2105, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3262, i16 0, i16 1082, i16 2663, i16 0, i16 0, i16 2379, i16 0, i16 0, i16 0, i16 2, i16 1330, i16 1747, i16 0, i16 731, i16 0, i16 2639, i16 0, i16 393, i16 18, i16 722, i16 0, i16 813, i16 223, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3353, i16 0, i16 1504, i16 0, i16 3099, i16 30, i16 1574, i16 2218, i16 566, i16 2621, i16 1989, i16 2917, i16 0, i16 3305, i16 0, i16 1398, i16 2651, i16 843, i16 2159, i16 317, i16 1335, i16 640, i16 865, i16 62, i16 2937, i16 1385, i16 919, i16 1034, i16 1233, i16 1850, i16 792, i16 1972, i16 987, i16 0, i16 2529, i16 1717, i16 364, i16 1095, i16 2696, i16 1142, i16 5, i16 1029, i16 0, i16 0, i16 1962, i16 1595, i16 0, i16 1145, i16 637, i16 1662, i16 0, i16 3386, i16 925, i16 2076, i16 2672, i16 0, i16 338, i16 0, i16 1198, i16 0, i16 1846, i16 0, i16 0, i16 366, i16 2622, i16 0, i16 739, i16 869, i16 799, i16 1480, i16 0, i16 0, i16 1721, i16 0, i16 1542, i16 160, i16 0, i16 1195, i16 1891, i16 2526, i16 3236, i16 502, i16 1697, i16 0, i16 1577, i16 514, i16 2373, i16 3289, i16 0, i16 478, i16 0, i16 0, i16 0, i16 2591, i16 2383, i16 660, i16 2297, i16 0, i16 234, i16 267, i16 124, i16 0, i16 2077, i16 534, i16 1838, i16 1568, i16 0, i16 0, i16 1619, i16 1873, i16 2033, i16 2484, i16 0, i16 2964, i16 2787, i16 1147, i16 0, i16 721, i16 0, i16 0, i16 0, i16 2815, i16 3086, i16 1622, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3336, i16 0, i16 3239, i16 1796, i16 0, i16 2976, i16 139, i16 1176, i16 0, i16 888, i16 2919, i16 3196, i16 1440, i16 2044, i16 574, i16 1754, i16 0, i16 586, i16 1760, i16 1087, i16 2331, i16 544, i16 0, i16 3279, i16 0, i16 0, i16 0, i16 1602, i16 2985, i16 1366, i16 91, i16 894, i16 523, i16 911, i16 2345, i16 2669, i16 3067, i16 3292, i16 2638, i16 806, i16 1341, i16 2986, i16 3363, i16 3227, i16 0, i16 659, i16 868, i16 0, i16 2794, i16 2296, i16 713, i16 1832, i16 0, i16 3217, i16 3304, i16 1811, i16 231, i16 2657, i16 0, i16 0, i16 3127, i16 852, i16 358, i16 0, i16 2318, i16 1570, i16 817, i16 3069, i16 3420, i16 447, i16 2520, i16 638, i16 2299, i16 0, i16 2693, i16 1043, i16 0, i16 1140, i16 1591, i16 1837, i16 236, i16 1355, i16 0, i16 2763, i16 0, i16 1022, i16 2422, i16 0, i16 2138, i16 0, i16 179, i16 0, i16 0, i16 1100, i16 0, i16 1326, i16 2574, i16 2211, i16 1702, i16 0, i16 1089, i16 0, i16 0, i16 377, i16 1687, i16 0, i16 793, i16 0, i16 667, i16 126, i16 934, i16 2300, i16 2079, i16 3370, i16 2233, i16 2862, i16 810, i16 0, i16 0, i16 3263, i16 756, i16 1809, i16 2714, i16 2518, i16 1422, i16 1665, i16 2722, i16 3194, i16 1296, i16 1412, i16 0, i16 138, i16 101, i16 2353, i16 0, i16 1179, i16 1225, i16 458, i16 3413, i16 1579, i16 2090, i16 1561, i16 0, i16 0, i16 0, i16 2809, i16 1497, i16 1389, i16 1019, i16 1329, i16 2421, i16 396, i16 2695, i16 6, i16 2095, i16 950, i16 489, i16 0, i16 1661, i16 0, i16 1808, i16 2171, i16 2511, i16 0, i16 1086, i16 1219, i16 2006, i16 25, i16 0, i16 0, i16 1201, i16 522, i16 0, i16 0, i16 618, i16 0, i16 0, i16 2235, i16 880, i16 0, i16 0, i16 334, i16 1305, i16 1705, i16 2204, i16 1858, i16 1013, i16 1306, i16 0, i16 1085, i16 1533, i16 87, i16 2067, i16 1502, i16 2290, i16 1799, i16 0, i16 3146, i16 1794, i16 3346, i16 2192, i16 0, i16 0, i16 653, i16 1429, i16 887, i16 314, i16 2041, i16 2436, i16 875, i16 1331, i16 1481, i16 0, i16 403, i16 0, i16 0, i16 1910, i16 0, i16 1155, i16 0, i16 2072, i16 3266, i16 1165, i16 1857, i16 1557, i16 1801, i16 2496, i16 3131, i16 2926, i16 2643, i16 1582, i16 0, i16 0, i16 0, i16 122, i16 686, i16 168, i16 0, i16 2398, i16 2749, i16 1553, i16 2413, i16 1541, i16 2440, i16 134, i16 1578, i16 247, i16 0, i16 1193, i16 1321, i16 2575, i16 570, i16 2894, i16 0, i16 0, i16 0, i16 2581, i16 2636, i16 2270, i16 12, i16 1424, i16 1188, i16 1383, i16 0, i16 485, i16 700, i16 3254, i16 149, i16 2922, i16 1627, i16 2545, i16 0, i16 1693, i16 0, i16 953, i16 0, i16 0, i16 0, i16 0, i16 600, i16 1138, i16 0, i16 2059, i16 1525, i16 0, i16 1657, i16 0, i16 1727, i16 2841, i16 532, i16 3176, i16 993, i16 1930, i16 192, i16 0, i16 1740, i16 0, i16 3192, i16 1927, i16 802, i16 2849, i16 1064, i16 2109, i16 0, i16 324, i16 144, i16 881, i16 2133, i16 0, i16 2610, i16 171, i16 1129, i16 1378, i16 0, i16 1835, i16 435, i16 760, i16 1324, i16 0, i16 1251, i16 3100, i16 0, i16 835, i16 0, i16 3310, i16 636, i16 594, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2333, i16 1632, i16 3379, i16 3018, i16 3285, i16 388, i16 2748, i16 0, i16 0, i16 0, i16 0, i16 1905, i16 3354, i16 0, i16 2014, i16 0, i16 0, i16 763, i16 0, i16 2011, i16 0, i16 3033, i16 3223, i16 1009, i16 0, i16 1287, i16 292, i16 413, i16 0, i16 0, i16 0, i16 0, i16 31, i16 2143, i16 2128, i16 1878, i16 956, i16 822, i16 2430, i16 311, i16 0, i16 0, i16 2313, i16 1256, i16 2956, i16 0, i16 224, i16 0, i16 2965, i16 109, i16 634, i16 1431, i16 2465, i16 0, i16 0, i16 0, i16 1775, i16 2462, i16 1090, i16 778, i16 3271, i16 1819, i16 0, i16 2645, i16 291, i16 0, i16 1904, i16 0, i16 182, i16 536, i16 0, i16 0, i16 1203, i16 827, i16 294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8, i16 2005, i16 15, i16 2031, i16 3269, i16 3297, i16 3319, i16 0, i16 3213, i16 3241, i16 3259, i16 0, i16 295, i16 133, i16 2811, i16 1707, i16 1915, i16 0, i16 154, i16 174, i16 3416, i16 2448, i16 1144, i16 0, i16 0, i16 0, i16 0, i16 890, i16 1865, i16 1368, i16 1496, i16 1868, i16 1050, i16 1823, i16 2389, i16 1264, i16 752, i16 2456, i16 0, i16 0, i16 356, i16 1336, i16 2116, i16 978, i16 1831, i16 0, i16 2068, i16 1215, i16 705, i16 1044, i16 0, i16 702, i16 0, i16 0, i16 129, i16 0, i16 0, i16 2364, i16 0, i16 0, i16 1312, i16 0, i16 0, i16 16, i16 0, i16 3244, i16 1133, i16 3078, i16 1139, i16 0, i16 2478, i16 0, i16 422, i16 2573, i16 2007, i16 1097, i16 812, i16 0, i16 0, i16 0, i16 665, i16 0, i16 0, i16 0, i16 0, i16 1736, i16 0, i16 2157, i16 549, i16 3165, i16 0, i16 0, i16 0, i16 1271, i16 0, i16 219, i16 0, i16 0, i16 0, i16 1783, i16 0, i16 0, i16 397, i16 3383, i16 0, i16 0, i16 0, i16 2279, i16 3375, i16 1052, i16 0, i16 0, i16 1712, i16 546, i16 1798, i16 3309, i16 0, i16 380, i16 0, i16 0, i16 3038, i16 0, i16 1621, i16 1122, i16 711, i16 3222, i16 2742, i16 0, i16 1701, i16 1053, i16 0, i16 3327, i16 1922, i16 0, i16 1800, i16 1731, i16 0, i16 2516, i16 655, i16 0, i16 2358, i16 2393, i16 2464, i16 2494, i16 2580, i16 2679, i16 2743, i16 2788, i16 2824, i16 2858, i16 2935, i16 2982, i16 3101, i16 3153, i16 3276, i16 2438, i16 2488, i16 2757, i16 2052, i16 2144, i16 2286, i16 2337, i16 2400, i16 2452, i16 2738, i16 2779, i16 2845, i16 2887, i16 3020, i16 3134, i16 3188, i16 3102, i16 1847, i16 2733, i16 2758, i16 1560, i16 1535, i16 824, i16 1822, i16 0, i16 0, i16 2816, i16 2380, i16 0, i16 1228, i16 0, i16 2366, i16 2378, i16 1968, i16 1599, i16 2042, i16 1318, i16 1338, i16 1569, i16 300, i16 0, i16 2873, i16 2320, i16 0, i16 2893, i16 1706, i16 0, i16 1916, i16 0, i16 3129, i16 590, i16 0, i16 0, i16 2836, i16 0, i16 37, i16 0, i16 0, i16 0, i16 551, i16 3155, i16 3177, i16 1951, i16 1056, i16 1855, i16 3247, i16 562, i16 3208, i16 3294, i16 862, i16 0, i16 3055, i16 1453, i16 1626, i16 296, i16 1871, i16 0, i16 1069, i16 0, i16 1767, i16 1776, i16 58, i16 2992, i16 611, i16 2607, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1941, i16 2347, i16 1813, i16 0, i16 2203, i16 1148, i16 0, i16 0, i16 1667, i16 0, i16 0, i16 162, i16 108, i16 0, i16 1211, i16 1063, i16 83, i16 2249, i16 0, i16 1288, i16 832, i16 0, i16 826, i16 88, i16 1434, i16 0, i16 0, i16 0, i16 2087, i16 2773, i16 1852, i16 1921, i16 2220, i16 0, i16 2627, i16 1333, i16 1120, i16 1902, i16 0, i16 1079, i16 1073, i16 305, i16 0, i16 3074, i16 2755, i16 2628, i16 2244, i16 547, i16 0, i16 527, i16 0, i16 428, i16 0, i16 0, i16 3130, i16 3158, i16 3180, i16 3200, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1601, i16 2058, i16 1332, i16 0, i16 0, i16 242, i16 0, i16 0, i16 0, i16 0, i16 3335, i16 374, i16 1877, i16 2903, i16 2726, i16 0, i16 2131, i16 325, i16 1807, i16 378, i16 1606, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 429, i16 172, i16 201, i16 0, i16 585, i16 0, i16 0, i16 2913, i16 351, i16 698, i16 2264, i16 2187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1104, i16 1114, i16 2003, i16 2029, i16 2056, i16 2083, i16 2103, i16 2120, i16 2145, i16 2173, i16 2195, i16 2228, i16 2256, i16 2277, i16 2302, i16 2328, i16 2346, i16 2363, i16 2388, i16 2408, i16 2429, i16 2454, i16 2472, i16 1406, i16 2507, i16 2533, i16 2553, i16 2578, i16 2601, i16 2623, i16 2640, i16 2667, i16 597, i16 0, i16 0, i16 1363, i16 0, i16 0, i16 0, i16 244, i16 474, i16 0, i16 0, i16 0, i16 229, i16 0, i16 481, i16 0, i16 0, i16 2531, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2275, i16 0, i16 0, i16 2357, i16 548, i16 0, i16 1670, i16 701, i16 2901, i16 3404, i16 0, i16 1067, i16 2008, i16 2577, i16 1844, i16 1659, i16 2564, i16 0, i16 2905, i16 3220, i16 442, i16 0, i16 1407, i16 0, i16 1416, i16 0, i16 1663, i16 1036, i16 0, i16 0, i16 2548, i16 3088, i16 0, i16 473, i16 0, i16 2486, i16 2659, i16 3143, i16 0, i16 1861, i16 1881, i16 0, i16 629, i16 840, i16 2519, i16 3068, i16 2012, i16 0, i16 0, i16 2149, i16 1739, i16 3303, i16 949, i16 577, i16 725, i16 658, i16 146, i16 67, i16 2916, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 945, i16 0, i16 0, i16 505, i16 469, i16 3166, i16 3209, i16 1883, i16 0, i16 0, i16 0, i16 1540, i16 0, i16 3332, i16 3072, i16 2593, i16 1610, i16 1257, i16 0, i16 0, i16 578, i16 0, i16 2394, i16 1766, i16 959, i16 1218, i16 0, i16 0, i16 0, i16 632, i16 0, i16 623, i16 1068, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 348, i16 1624, i16 1315, i16 0, i16 878, i16 3095, i16 116, i16 2426, i16 0, i16 737, i16 1466, i16 13, i16 212, i16 0, i16 3315, i16 831, i16 0, i16 2670, i16 1635, i16 1612, i16 0, i16 0, i16 0, i16 1357, i16 709, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1630, i16 2934, i16 488, i16 157, i16 1327, i16 2054, i16 2407, i16 450, i16 0, i16 981, i16 1135, i16 0, i16 1918, i16 1189, i16 729, i16 2427, i16 0, i16 0, i16 2739, i16 3291, i16 0, i16 675, i16 1834, i16 0, i16 1080, i16 589, i16 1415, i16 2537, i16 2406, i16 119, i16 1393, i16 2387, i16 2910, i16 1897, i16 0, i16 1310, i16 1690, i16 0, i16 2988, i16 0, i16 0, i16 0, i16 0, i16 3322, i16 1048, i16 1399, i16 0, i16 1023, i16 0, i16 1361, i16 1617, i16 375, i16 1699, i16 1778, i16 914, i16 1033, i16 0, i16 1334, i16 0, i16 1279, i16 0, i16 0, i16 1952, i16 210, i16 354, i16 0, i16 1738, i16 2881, i16 2283, i16 0, i16 2451, i16 861, i16 3006, i16 0, i16 2800, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1313, i16 1417, i16 2287, i16 1703, i16 2137, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 866, i16 622, i16 1316, i16 1408, i16 1820, i16 898, i16 1728, i16 2600, i16 1320, i16 2332, i16 2813, i16 2630, i16 0, i16 0, i16 427, i16 0, i16 69, i16 459, i16 3043, i16 445, i16 0, i16 1640, i16 706, i16 3050, i16 0, i16 1658, i16 0, i16 0, i16 0, i16 2288, i16 3051, i16 0, i16 1638, i16 402, i16 0, i16 2886, i16 1350, i16 74, i16 0, i16 0, i16 105, i16 266, i16 1214, i16 0, i16 0, i16 0, i16 723, i16 2198, i16 1895, i16 1356, i16 893, i16 535, i16 2248, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2209, i16 3391, i16 0, i16 1254, i16 72, i16 0, i16 2918, i16 3376, i16 2631, i16 1889, i16 2329, i16 2112, i16 2967, i16 0, i16 2831, i16 0, i16 433, i16 2626, i16 2664, i16 1403, i16 1604, i16 0, i16 656, i16 2227, i16 0, i16 0, i16 3181, i16 0, i16 0, i16 933, i16 1146, i16 750, i16 2439, i16 503, i16 1715, i16 885, i16 1784, i16 432, i16 2153, i16 2176, i16 2206, i16 2237, i16 2265, i16 2284, i16 2308, i16 2121, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3054, i16 3082, i16 3103, i16 3126, i16 3151, i16 3171, i16 3193, i16 36, i16 877, i16 0, i16 758, i16 0, i16 1301, i16 147, i16 1262, i16 1072, i16 1616, i16 0, i16 0, i16 0, i16 0, i16 1774, i16 2051, i16 1567, i16 0, i16 2435, i16 2483, i16 0, i16 905, i16 0, i16 2397, i16 256, i16 1851, i16 0, i16 303, i16 0, i16 0, i16 0, i16 0, i16 0, i16 882, i16 0, i16 0, i16 0, i16 1094, i16 1733, i16 1409, i16 0, i16 0, i16 464, i16 0, i16 1880, i16 707, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1243, i16 1963, i16 767, i16 0, i16 0, i16 0, i16 992, i16 0, i16 1571, i16 3334, i16 0, i16 1719, i16 3036, i16 0, i16 2676, i16 624, i16 728, i16 1261, i16 798, i16 1493, i16 0, i16 0, i16 2702, i16 1526, i16 746, i16 3183, i16 0, i16 1046, i16 0, i16 1462, i16 0, i16 2576, i16 1293, i16 3333, i16 0, i16 0, i16 0, i16 3324, i16 1549, i16 0, i16 0, i16 0, i16 2681, i16 1041, i16 2798, i16 1516, i16 1143, i16 1949, i16 1598, i16 390, i16 1236, i16 1448, i16 2829, i16 2432, i16 298, i16 304, i16 2980, i16 336, i16 0, i16 284, i16 0, i16 533, i16 0, i16 0, i16 0, i16 2741, i16 3407, i16 0, i16 2760, i16 1224, i16 100, i16 0, i16 151, i16 0, i16 2885, i16 0, i16 3272, i16 3398, i16 2167, i16 0, i16 0, i16 2175, i16 2184, i16 2196, i16 2191, i16 2205, i16 2307, i16 2222, i16 2322, i16 2214, i16 2343, i16 2229, i16 2348, i16 2236, i16 2490, i16 2508, i16 2534, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 376, i16 3202, i16 1158, i16 0, i16 0, i16 712, i16 1994, i16 906, i16 0, i16 0, i16 0, i16 751, i16 692, i16 1372, i16 936, i16 2146, i16 1829, i16 1474, i16 357, i16 1618, i16 930, i16 2381, i16 2392, i16 0, i16 0, i16 0, i16 46, i16 3256, i16 0, i16 0, i16 0, i16 0, i16 2425, i16 519, i16 0, i16 2466, i16 3340, i16 0, i16 0, i16 0, i16 0, i16 2559, i16 3233, i16 2995, i16 281, i16 0, i16 2685, i16 1680, i16 3175, i16 2402, i16 2752, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1770, i16 1105, i16 3059, i16 1340, i16 801, i16 0, i16 521, i16 0, i16 2170, i16 0, i16 0, i16 1154, i16 0, i16 0, i16 1583, i16 22, i16 2652, i16 3211, i16 0, i16 0, i16 0, i16 0, i16 361, i16 0, i16 928, i16 0, i16 0, i16 3089, i16 557, i16 815, i16 0, i16 0, i16 1325, i16 2950, i16 1110, i16 2310, i16 2113, i16 0, i16 2115, i16 2330, i16 635, i16 2418, i16 967, i16 0, i16 230, i16 666, i16 1709, i16 0, i16 0, i16 1456, i16 2370, i16 3060, i16 0, i16 0, i16 1392, i16 851, i16 342, i16 805, i16 1854, i16 0, i16 2433, i16 3281, i16 1787, i16 2535, i16 0, i16 576, i16 2700, i16 1987, i16 0, i16 0, i16 2549, i16 407, i16 2174, i16 2957, i16 0, i16 0, i16 0, i16 0, i16 1993, i16 1413, i16 175, i16 0, i16 912, i16 2161, i16 0, i16 976, i16 2039, i16 649, i16 0, i16 1239, i16 2979, i16 1111, i16 1849, i16 1078, i16 0, i16 662, i16 668, i16 964, i16 0, i16 3314, i16 595, i16 3120, i16 3152, i16 592, i16 2687, i16 0, i16 2804, i16 2828, i16 2847, i16 2796, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1465, i16 2612, i16 2633, i16 2655, i16 2675, i16 2699, i16 2724, i16 2747, i16 2774, i16 2799, i16 2821, i16 2840, i16 2864, i16 2882, i16 2899, i16 2925, i16 641, i16 781, i16 0, i16 1996, i16 1613, i16 856, i16 1929, i16 1924, i16 0, i16 1781, i16 240, i16 1192, i16 35, i16 787, i16 3197, i16 1593, i16 3081, i16 2927, i16 0, i16 2686, i16 0, i16 1235, i16 0, i16 104, i16 1505, i16 0, i16 0, i16 0, i16 579, i16 3412, i16 2998, i16 1990, i16 2945, i16 2975, i16 2994, i16 3015, i16 3035, i16 0, i16 0, i16 0, i16 1742, i16 3070, i16 3093, i16 3116, i16 3137, i16 3162, i16 3186, i16 3203, i16 3226, i16 3250, i16 3270, i16 3298, i16 3320, i16 3345, i16 3366, i16 3390, i16 3411, i16 1976, i16 1998, i16 2025, i16 2049, i16 2075, i16 0, i16 0, i16 142, i16 0, i16 1213, i16 0, i16 560, i16 1166, i16 3001, i16 290, i16 0, i16 1536, i16 0, i16 633, i16 1309, i16 0, i16 1856, i16 1026, i16 0, i16 0, i16 591, i16 0, i16 0, i16 773, i16 0, i16 571, i16 2590, i16 110, i16 0, i16 0, i16 0, i16 0, i16 41, i16 621, i16 3218, i16 312, i16 3150, i16 431, i16 1894, i16 0, i16 963, i16 1790, i16 2952, i16 1558, i16 3199, i16 3142, i16 0, i16 2889, i16 0, i16 2761, i16 0, i16 0, i16 0, i16 0, i16 892, i16 0, i16 0, i16 0, i16 2869, i16 2877, i16 955, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1688, i16 313, i16 1710, i16 0, i16 1647, i16 0, i16 0, i16 0, i16 0, i16 0, i16 150, i16 383, i16 0, i16 0, i16 957, i16 1268, i16 0, i16 0, i16 1199, i16 3255, i16 2586, i16 1183, i16 0, i16 0, i16 0, i16 405, i16 2764, i16 818, i16 543, i16 293, i16 1017, i16 4, i16 3225, i16 0, i16 1984, i16 0, i16 0, i16 0, i16 3091, i16 2000, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 639, i16 0, i16 1428, i16 0, i16 444, i16 0, i16 718, i16 2251, i16 0, i16 0, i16 2306, i16 2181, i16 0, i16 2458, i16 0, i16 3083, i16 99, i16 0, i16 0, i16 479, i16 2260, i16 3064, i16 0, i16 3343, i16 0, i16 103, i16 1210, i16 727, i16 1469, i16 3339, i16 582, i16 0, i16 1956, i16 0, i16 0, i16 2223, i16 63, i16 203, i16 1208, i16 2141, i16 1238, i16 344, i16 2415, i16 796, i16 3323, i16 1692, i16 3117, i16 0, i16 0, i16 1653, i16 1175, i16 2446, i16 448, i16 327, i16 1928, i16 2706, i16 2713, i16 2826, i16 421, i16 2832, i16 0, i16 0, i16 113, i16 0, i16 2108, i16 1607, i16 2217, i16 1839, i16 2023, i16 679, i16 1275, i16 766, i16 252, i16 2789, i16 1391, i16 2872, i16 274, i16 1438, i16 0, i16 0, i16 1396, i16 1625, i16 0, i16 0, i16 0, i16 0, i16 561, i16 616, i16 790, i16 1691, i16 0, i16 1628, i16 1443, i16 3221, i16 0, i16 1700, i16 0, i16 1495, i16 1353, i16 2437, i16 59, i16 0, i16 2539, i16 1940, i16 0, i16 0, i16 0, i16 254, i16 0, i16 1439, i16 988, i16 369, i16 102, i16 195, i16 682, i16 0, i16 0, i16 1765, i16 0, i16 1704, i16 0, i16 704, i16 0, i16 554, i16 1222, i16 2784, i16 0, i16 0, i16 0, i16 559, i16 0, i16 0, i16 0, i16 302, i16 0, i16 0, i16 0, i16 0, i16 3284, i16 3234, i16 0, i16 2463, i16 3071, i16 1802, i16 1232, i16 0, i16 264, i16 0, i16 2868, i16 908, i16 0, i16 0, i16 0, i16 178, i16 0, i16 228, i16 0, i16 871, i16 0, i16 0, i16 0, i16 257, i16 0, i16 673, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 952, i16 416, i16 0, i16 419, i16 1936, i16 1503, i16 0, i16 319, i16 0, i16 0, i16 3342, i16 0, i16 0, i16 3174, i16 735, i16 39, i16 0, i16 1062, i16 573, i16 1594, i16 1168, i16 0, i16 962, i16 1441, i16 1173, i16 3084, i16 864, i16 0, i16 1970, i16 227, i16 3114, i16 0, i16 0, i16 1753, i16 1761, i16 1194, i16 0, i16 0, i16 0, i16 2094, i16 2122, i16 2154, i16 2177, i16 2207, i16 2238, i16 2266, i16 2285, i16 2309, i16 2335, i16 2355, i16 2376, i16 2396, i16 2417, i16 2442, i16 2468, i16 1292, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1451, i16 2589, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1401, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2475, i16 1869, i16 0, i16 0, i16 1317, i16 1059, i16 2777, i16 2728, i16 0, i16 0, i16 0, i16 0, i16 417, i16 1081, i16 1911, i16 0, i16 0, i16 0, i16 0, i16 3307, i16 1038, i16 0, i16 0, i16 0, i16 0, i16 2099, i16 575, i16 0, i16 0, i16 0, i16 2896, i16 2637, i16 3243, i16 0, i16 1141, i16 123, i16 1498, i16 1988, i16 2513, i16 0, i16 55, i16 2772, i16 2356, i16 1373, i16 1605, i16 0, i16 287, i16 3052, i16 0, i16 355, i16 765, i16 0, i16 0, i16 2781, i16 0, i16 2797, i16 1573, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 941, i16 1909, i16 2552, i16 0, i16 0, i16 0, i16 2276, i16 0, i16 38, i16 0, i16 1874, i16 50, i16 0, i16 0, i16 1380, i16 684, i16 0, i16 0, i16 411, i16 755, i16 1983, i16 2613, i16 0, i16 0, i16 0, i16 1478, i16 137, i16 0, i16 2544, i16 0, i16 2219, i16 332, i16 1455, i16 3350, i16 2325, i16 1294, i16 1946, i16 1028, i16 2062, i16 1445, i16 0, i16 0, i16 0, i16 797, i16 0, i16 1395, i16 0, i16 441, i16 499, i16 2823, i16 1890, i16 495, i16 1490, i16 3148, i16 1071, i16 1716, i16 3295, i16 0, i16 0, i16 937, i16 1797, i16 1246, i16 3205, i16 0, i16 946, i16 0, i16 2731, i16 0, i16 285, i16 0, i16 0, i16 0, i16 2459, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 384, i16 204, i16 2735, i16 716, i16 0, i16 0, i16 0, i16 153, i16 3347, i16 0, i16 0, i16 0, i16 2489, i16 2482, i16 1419, i16 2703, i16 2226, i16 1471, i16 0, i16 1418, i16 951, i16 0, i16 0, i16 0, i16 0, i16 232, i16 0, i16 0, i16 3326, i16 0, i16 0, i16 1470, i16 0, i16 0, i16 494, i16 0, i16 107, i16 2409, i16 1769, i16 1058, i16 3261, i16 0, i16 3147, i16 1285, i16 0, i16 1351, i16 3362, i16 0, i16 1204, i16 695, i16 0, i16 360, i16 1539, i16 2634, i16 0, i16 0, i16 2250, i16 0, i16 95, i16 3034, i16 1815, i16 0, i16 2993, i16 52, i16 1722, i16 0, i16 0, i16 0, i16 1276, i16 3172, i16 2199, i16 808, i16 786, i16 2361, i16 0, i16 1458, i16 2215, i16 0, i16 483, i16 3230, i16 1206, i16 2183, i16 2213, i16 2245, i16 2268, i16 2289, i16 2315, i16 2339, i16 2354, i16 2375, i16 2395, i16 2416, i16 2441, i16 2467, i16 2477, i16 2753, i16 2517, i16 2547, i16 2566, i16 2587, i16 2611, i16 2632, i16 2654, i16 2674, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 439, i16 2127, i16 2746, i16 3195, i16 2974, i16 0, i16 9, i16 1157, i16 1986, i16 1055, i16 1178, i16 0, i16 436, i16 0, i16 3388, i16 3048, i16 654, i16 0, i16 3058, i16 0, i16 1545, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2515, i16 0, i16 1221, i16 1099, i16 187, i16 2092, i16 1463, i16 2647, i16 2803, i16 0, i16 0, i16 0, i16 0, i16 1031, i16 2658, i16 0, i16 1836, i16 0, i16 0, i16 47, i16 2879, i16 3019, i16 2166, i16 0, i16 0, i16 1843, i16 0, i16 0, i16 398, i16 0, i16 1848, i16 874, i16 297, i16 0, i16 0, i16 0, i16 1686, i16 613, i16 3002, i16 2931, i16 2867, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2754, i16 2503, i16 2391, i16 3065, i16 3110, i16 3138, i16 3163, i16 3190, i16 3229, i16 3288, i16 3338, i16 3357, i16 2036, i16 2070, i16 2097, i16 2129, i16 2156, i16 2186, i16 2247, i16 2274, i16 2298, i16 2344, i16 2365, i16 2019, i16 2801, i16 2684, i16 2405, i16 3341, i16 3027, i16 3348, i16 3422, i16 2091, i16 1485, i16 0, i16 3010, i16 902, i16 0, i16 0, i16 1948, i16 0, i16 0, i16 0, i16 309, i16 0, i16 3418, i16 484, i16 0, i16 0, i16 2567, i16 1944, i16 0, i16 1724, i16 0, i16 1777, i16 492, i16 81, i16 688, i16 1714, i16 1499, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2770, i16 3075, i16 1804, i16 0, i16 1227, i16 1751, i16 2936, i16 0, i16 0, i16 0, i16 121, i16 0, i16 1180, i16 1364, i16 1322, i16 3112, i16 588, i16 347, i16 1982, i16 2162, i16 2938, i16 2304, i16 3215, i16 2528, i16 0, i16 0, i16 0, i16 2814, i16 1442, i16 71, i16 0, i16 593, i16 2775, i16 2240, i16 1741, i16 0, i16 0, i16 0, i16 2692, i16 1966, i16 0, i16 379, i16 1102, i16 3000, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1745, i16 0, i16 0, i16 0, i16 3161, i16 1057, i16 2683, i16 222, i16 2338, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1749, i16 2524, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2334, i16 2349, i16 2368, i16 2390, i16 2411, i16 2434, i16 2461, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3214, i16 3242, i16 3260, i16 3283, i16 3308, i16 3330, i16 3352, i16 0, i16 0, i16 0, i16 0, i16 0, i16 989, i16 982, i16 0, i16 0, i16 0, i16 0, i16 1938, i16 0, i16 0, i16 1681, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 991, i16 0, i16 730, i16 2911, i16 0, i16 0, i16 0, i16 1899, i16 2028, i16 185, i16 2512, i16 2569, i16 2673, i16 2267, i16 2806, i16 2941, i16 2540, i16 2923, i16 2086, i16 0, i16 1892, i16 0, i16 903, i16 2920, i16 2592, i16 2751, i16 1093, i16 1708, i16 0, i16 3005, i16 19, i16 3356, i16 2527, i16 216, i16 2619, i16 2188, i16 2557, i16 627, i16 748, i16 135, i16 1344, i16 0, i16 872, i16 1018, i16 2790, i16 2776, i16 0, i16 669, i16 2721, i16 73, i16 2139, i16 1278, i16 188, i16 0, i16 2662, i16 0, i16 0, i16 0, i16 0, i16 550, i16 1484, i16 1083, i16 1303, i16 3238, i16 2783, i16 2805, i16 2688, i16 2891, i16 2839, i16 2863, i16 2572, i16 2624, i16 2641, i16 2588, i16 2709, i16 2944, i16 2718, i16 2740, i16 2768, i16 2820, i16 2871, i16 2579, i16 2698, i16 215, i16 2959, i16 844, i16 2151, i16 2984, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2272, i16 0, i16 2155, i16 2445, i16 371, i16 1070, i16 2953, i16 1633, i16 389, i16 1272, i16 691, i16 1365, i16 1759, i16 2857, i16 1045, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2902, i16 2263, i16 170, i16 855, i16 3113, i16 685, i16 1379, i16 1226, i16 2082, i16 1311, i16 1643, i16 0, i16 3040, i16 1768, i16 1995, i16 1623, i16 2088, i16 3022, i16 1425, i16 1170, i16 2282, i16 0, i16 0, i16 923, i16 1515, i16 1300, i16 3090, i16 2476, i16 1914, i16 289, i16 587, i16 1937, i16 2546, i16 2536, i16 1449, i16 2962, i16 3207, i16 0, i16 1519, i16 1259, i16 968, i16 1590, i16 2371, i16 3066, i16 1249, i16 173, i16 759, i16 1945, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 526, i16 2096, i16 0, i16 0, i16 0, i16 0, i16 3367, i16 0, i16 541, i16 2231, i16 954, i16 0, i16 0, i16 237, i16 0, i16 0, i16 430, i16 0, i16 0, i16 0, i16 2081, i16 726, i16 2020, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 939, i16 23, i16 0, i16 3109, i16 0, i16 0, i16 0, i16 0, i16 3252, i16 2599, i16 0, i16 965, i16 2221, i16 420, i16 1386, i16 0, i16 1734, i16 0, i16 1824, i16 0, i16 0, i16 0, i16 1969, i16 2259, i16 1509, i16 0, i16 1580, i16 1887, i16 2712, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 194, i16 0, i16 2134, i16 2568, i16 2649, i16 226, i16 663, i16 2048, i16 1862, i16 2460, i16 1400, i16 1299, i16 3369, i16 0, i16 0, i16 1867, i16 465, i16 2620, i16 916, i16 771, i16 940, i16 233, i16 0, i16 3132, i16 2132, i16 720, i16 1020, i16 2050, i16 0, i16 2316, i16 1723, i16 3351, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2246, i16 2032, i16 0, i16 326, i16 3387, i16 714, i16 475, i16 0, i16 1673, i16 0, i16 0, i16 1743, i16 0, i16 3145, i16 0, i16 0, i16 1258, i16 1240, i16 1830, i16 0, i16 70, i16 0, i16 163, i16 0, i16 2817, i16 1230, i16 2481, i16 2253, i16 2880, i16 2551, i16 2701, i16 115, i16 2851, i16 2292, i16 434, i16 0, i16 0, i16 1420, i16 1152, i16 2150, i16 3201, i16 2498, i16 3224, i16 77, i16 0, i16 0, i16 0, i16 690, i16 2538, i16 1903, i16 1901, i16 2812, i16 3396, i16 1959, i16 3023, i16 0, i16 0, i16 0, i16 0, i16 1671, i16 258, i16 1060, i16 0, i16 1587, i16 191, i16 775, i16 935, i16 0, i16 0, i16 743, i16 2615, i16 1010, i16 0, i16 0, i16 0, i16 181, i16 3300, i16 372, i16 0, i16 1689, i16 749, i16 1695, i16 0, i16 2542, i16 2359, i16 418, i16 1730, i16 2771, i16 1735, i16 2470, i16 453, i16 2352, i16 2608, i16 143, i16 1337, i16 2160, i16 1339, i16 1352, i16 78, i16 3124, i16 983, i16 249, i16 0, i16 0, i16 3087, i16 1757, i16 2997, i16 2038, i16 1472, i16 2837, i16 619, i16 3414, i16 3053, i16 79, i16 2061, i16 1885, i16 1132, i16 2055, i16 3118, i16 604, i16 0, i16 0, i16 0, i16 1608, i16 744, i16 0, i16 2560, i16 0, i16 980, i16 1785, i16 301, i16 1489, i16 0, i16 853, i16 2293, i16 1792, i16 0, i16 0, i16 98, i16 1805, i16 456, i16 997, i16 0, i16 849, i16 1011, i16 821, i16 518, i16 0, i16 0, i16 605, i16 630, i16 0, i16 0, i16 0, i16 0, i16 1185, i16 0, i16 0, i16 0, i16 7, i16 0, i16 0, i16 0, i16 609, i16 2570, i16 2946, i16 345, i16 2856, i16 0, i16 415, i16 0, i16 0, i16 0, i16 0, i16 1360, i16 0, i16 2035, i16 1771, i16 2525, i16 0, i16 0, i16 0, i16 0, i16 846, i16 1720, i16 3361, i16 648, i16 132, i16 2252, i16 2080, i16 506, i16 0, i16 0, i16 0, i16 860, i16 214, i16 1522, i16 2819, i16 2671, i16 1051, i16 1551, i16 3107, i16 0, i16 0, i16 0, i16 1806, i16 1286, i16 2745, i16 1782, i16 870, i16 2022, i16 1935, i16 0, i16 1669, i16 809, i16 130, i16 0, i16 299, i16 0, i16 0, i16 2707, i16 2410, i16 0, i16 2602, i16 762, i16 3290, i16 3265, i16 2717, i16 85, i16 1597, i16 2341, i16 1763, i16 612, i16 2140, i16 2694, i16 664, i16 3299, i16 1042, i16 0, i16 1486, i16 1786, i16 2047, i16 2827, i16 1464, i16 3012, i16 2190, i16 0, i16 0, i16 196, i16 2942, i16 0, i16 837, i16 1586, i16 0, i16 1461, i16 710, i16 3077, i16 0, i16 996, i16 0, i16 0, i16 1237, i16 917, i16 457, i16 2194, i16 2954, i16 1220, i16 2780, i16 1444, i16 0, i16 0, i16 676, i16 1788, i16 0, i16 0, i16 971, i16 0, i16 652, i16 0, i16 0, i16 0, i16 0, i16 678, i16 2261, i16 0, i16 0, i16 674, i16 816, i16 2843, i16 286, i16 2900, i16 0, i16 2861, i16 563, i16 567, i16 2255, i16 2850, i16 1872, i16 2321, i16 1947, i16 0, i16 0, i16 854, i16 282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 14592, i16 0, i16 0, i16 0, i16 15360, i16 0, i16 0, i16 0, i16 13825, i16 0, i16 0, i16 0, i16 14338, i16 0, i16 0, i16 0, i16 14595, i16 0, i16 0, i16 0, i16 15620, i16 0, i16 0, i16 0, i16 13317, i16 0, i16 0, i16 0, i16 774, i16 0, i16 0, i16 0, i16 12806, i16 0, i16 0, i16 0, i16 15110, i16 0, i16 0, i16 0, i16 16903, i16 0, i16 0, i16 0, i16 13320, i16 0, i16 0, i16 0, i16 16136, i16 0, i16 0, i16 0, i16 15625, i16 0, i16 0, i16 0, i16 778, i16 0, i16 0, i16 0, i16 13578, i16 0, i16 0, i16 0, i16 14859, i16 0, i16 0, i16 0, i16 12556, i16 0, i16 0, i16 0, i16 14092, i16 0, i16 0, i16 0, i16 16652, i16 0, i16 0, i16 0, i16 12302, i16 0, i16 0, i16 0, i16 15118, i16 0, i16 0, i16 0, i16 17166, i16 0, i16 0, i16 0, i16 12559, i16 0, i16 0, i16 0, i16 12815, i16 0, i16 0, i16 0, i16 12304, i16 0, i16 0, i16 0, i16 14353, i16 0, i16 0, i16 0, i16 16913, i16 0, i16 0, i16 0, i16 14354, i16 0, i16 0, i16 0, i16 14355, i16 0, i16 0, i16 0, i16 16659, i16 0, i16 0, i16 0, i16 13844, i16 0, i16 0, i16 0, i16 13590, i16 0, i16 0, i16 0, i16 13591, i16 0, i16 0, i16 0, i16 15639, i16 0, i16 0, i16 0, i16 280, i16 0, i16 0, i16 0, i16 13336, i16 0, i16 0, i16 0, i16 14616, i16 0, i16 0, i16 0, i16 14105, i16 0, i16 0, i16 0, i16 13594, i16 0, i16 0, i16 0, i16 12571, i16 0, i16 0, i16 0, i16 13340, i16 0, i16 0, i16 0, i16 14620, i16 0, i16 0, i16 0, i16 14365, i16 0, i16 0, i16 0, i16 13854, i16 0, i16 0, i16 0, i16 16926, i16 0, i16 0, i16 0, i16 12831, i16 0, i16 0, i16 0, i16 14623, i16 0, i16 0, i16 0, i16 16415, i16 0, i16 0, i16 0, i16 16671, i16 0, i16 0, i16 0, i16 12576, i16 0, i16 0, i16 0, i16 15648, i16 0, i16 0, i16 0, i16 16928, i16 0, i16 0, i16 0, i16 12833, i16 0, i16 0, i16 0, i16 12322, i16 0, i16 0, i16 0, i16 13346, i16 0, i16 0, i16 0, i16 14370, i16 0, i16 0, i16 0, i16 16418, i16 0, i16 0, i16 0, i16 15907, i16 0, i16 0, i16 0, i16 14631, i16 0, i16 0, i16 0, i16 14632, i16 0, i16 0, i16 0, i16 15400, i16 0, i16 0, i16 0, i16 15656, i16 0, i16 0, i16 0, i16 13353, i16 0, i16 0, i16 0, i16 13609, i16 0, i16 0, i16 0, i16 15145, i16 0, i16 0, i16 0, i16 12330, i16 0, i16 0, i16 0, i16 12587, i16 0, i16 0, i16 0, i16 14891, i16 0, i16 0, i16 0, i16 15147, i16 0, i16 0, i16 0, i16 12588, i16 0, i16 0, i16 0, i16 13868, i16 0, i16 0, i16 0, i16 14381, i16 0, i16 0, i16 0, i16 15149, i16 0, i16 0, i16 0, i16 12334, i16 0, i16 0, i16 0, i16 16430, i16 0, i16 0, i16 0, i16 13359, i16 0, i16 0, i16 0, i16 14383, i16 0, i16 0, i16 0, i16 13616, i16 0, i16 0, i16 0, i16 15664, i16 0, i16 0, i16 0, i16 16432, i16 0, i16 0, i16 0, i16 12593, i16 0, i16 0, i16 0, i16 16945, i16 0, i16 0, i16 0, i16 15666, i16 0, i16 0, i16 0, i16 16690, i16 0, i16 0, i16 0, i16 15923, i16 0, i16 0, i16 0, i16 12340, i16 0, i16 0, i16 0, i16 14388, i16 0, i16 0, i16 0, i16 15924, i16 0, i16 0, i16 0, i16 12853, i16 0, i16 0, i16 0, i16 13112, i16 0, i16 0, i16 0, i16 15928, i16 0, i16 0, i16 0, i16 15929, i16 0, i16 0, i16 0, i16 16185, i16 0, i16 0, i16 0, i16 13626, i16 0, i16 0, i16 0, i16 13882, i16 0, i16 0, i16 0, i16 15930, i16 0, i16 0, i16 0, i16 12347, i16 0, i16 0, i16 0, i16 12603, i16 0, i16 0, i16 0, i16 13627, i16 0, i16 0, i16 0, i16 15675, i16 0, i16 0, i16 0, i16 12860, i16 0, i16 0, i16 0, i16 14396, i16 0, i16 0, i16 0, i16 16444, i16 0, i16 0, i16 0, i16 12351, i16 0, i16 0, i16 0, i16 13631, i16 0, i16 0, i16 0, i16 16703, i16 0, i16 0, i16 0, i16 12353, i16 0, i16 0, i16 0, i16 12865, i16 0, i16 0, i16 0, i16 13377, i16 0, i16 0, i16 0, i16 14145, i16 0, i16 0, i16 0, i16 15425, i16 0, i16 0, i16 0, i16 12866, i16 0, i16 0, i16 0, i16 13634, i16 0, i16 0, i16 0, i16 16962, i16 0, i16 0, i16 0, i16 13380, i16 0, i16 0, i16 0, i16 14916, i16 0, i16 0, i16 0, i16 13125, i16 0, i16 0, i16 0, i16 13893, i16 0, i16 0, i16 0, i16 15429, i16 0, i16 0, i16 0, i16 16709, i16 0, i16 0, i16 0, i16 13638, i16 0, i16 0, i16 0, i16 15430, i16 0, i16 0, i16 0, i16 15686, i16 0, i16 0, i16 0, i16 16966, i16 0, i16 0, i16 0, i16 13383, i16 0, i16 0, i16 0, i16 16455, i16 0, i16 0, i16 0, i16 16456, i16 0, i16 0, i16 0, i16 16712, i16 0, i16 0, i16 0, i16 12361, i16 0, i16 0, i16 0, i16 12617, i16 0, i16 0, i16 0, i16 15177, i16 0, i16 0, i16 0, i16 12874, i16 0, i16 0, i16 0, i16 16970, i16 0, i16 0, i16 0, i16 12875, i16 0, i16 0, i16 0, i16 14412, i16 0, i16 0, i16 0, i16 15948, i16 0, i16 0, i16 0, i16 12621, i16 0, i16 0, i16 0, i16 13646, i16 0, i16 0, i16 0, i16 14414, i16 0, i16 0, i16 0, i16 12623, i16 0, i16 0, i16 0, i16 14159, i16 0, i16 0, i16 0, i16 13136, i16 0, i16 0, i16 0, i16 16464, i16 0, i16 0, i16 0, i16 16976, i16 0, i16 0, i16 0, i16 12882, i16 0, i16 0, i16 0, i16 15698, i16 0, i16 0, i16 0, i16 14419, i16 0, i16 0, i16 0, i16 12373, i16 0, i16 0, i16 0, i16 15957, i16 0, i16 0, i16 0, i16 16981, i16 0, i16 0, i16 0, i16 13398, i16 0, i16 0, i16 0, i16 14934, i16 0, i16 0, i16 0, i16 13400, i16 0, i16 0, i16 0, i16 13145, i16 0, i16 0, i16 0, i16 13402, i16 0, i16 0, i16 0, i16 14682, i16 0, i16 0, i16 0, i16 16730, i16 0, i16 0, i16 0, i16 16986, i16 0, i16 0, i16 0, i16 14939, i16 0, i16 0, i16 0, i16 13148, i16 0, i16 0, i16 0, i16 15708, i16 0, i16 0, i16 0, i16 16476, i16 0, i16 0, i16 0, i16 13149, i16 0, i16 0, i16 0, i16 14173, i16 0, i16 0, i16 0, i16 15453, i16 0, i16 0, i16 0, i16 15709, i16 0, i16 0, i16 0, i16 16733, i16 0, i16 0, i16 0, i16 14174, i16 0, i16 0, i16 0, i16 15710, i16 0, i16 0, i16 0, i16 12383, i16 0, i16 0, i16 0, i16 16735, i16 0, i16 0, i16 0, i16 15712, i16 0, i16 0, i16 0, i16 12641, i16 0, i16 0, i16 0, i16 13409, i16 0, i16 0, i16 0, i16 16226, i16 0, i16 0, i16 0, i16 13923, i16 0, i16 0, i16 0, i16 14179, i16 0, i16 0, i16 0, i16 16483, i16 0, i16 0, i16 0, i16 15716, i16 0, i16 0, i16 0, i16 13414, i16 0, i16 0, i16 0, i16 615, i16 0, i16 0, i16 0, i16 871, i16 0, i16 0, i16 0, i16 12906, i16 0, i16 0, i16 0, i16 14186, i16 0, i16 0, i16 0, i16 14442, i16 0, i16 0, i16 0, i16 14698, i16 0, i16 0, i16 0, i16 16490, i16 0, i16 0, i16 0, i16 12651, i16 0, i16 0, i16 0, i16 13675, i16 0, i16 0, i16 0, i16 13164, i16 0, i16 0, i16 0, i16 13420, i16 0, i16 0, i16 0, i16 15980, i16 0, i16 0, i16 0, i16 13935, i16 0, i16 0, i16 0, i16 13680, i16 0, i16 0, i16 0, i16 16752, i16 0, i16 0, i16 0, i16 13938, i16 0, i16 0, i16 0, i16 15475, i16 0, i16 0, i16 0, i16 15731, i16 0, i16 0, i16 0, i16 12660, i16 0, i16 0, i16 0, i16 15732, i16 0, i16 0, i16 0, i16 14453, i16 0, i16 0, i16 0, i16 14709, i16 0, i16 0, i16 0, i16 15221, i16 0, i16 0, i16 0, i16 12406, i16 0, i16 0, i16 0, i16 13174, i16 0, i16 0, i16 0, i16 12919, i16 0, i16 0, i16 0, i16 16759, i16 0, i16 0, i16 0, i16 15480, i16 0, i16 0, i16 0, i16 14201, i16 0, i16 0, i16 0, i16 15737, i16 0, i16 0, i16 0, i16 15993, i16 0, i16 0, i16 0, i16 16250, i16 0, i16 0, i16 0, i16 12411, i16 0, i16 0, i16 0, i16 636, i16 0, i16 0, i16 0, i16 13180, i16 0, i16 0, i16 0, i16 14460, i16 0, i16 0, i16 0, i16 14716, i16 0, i16 0, i16 0, i16 14972, i16 0, i16 0, i16 0, i16 15228, i16 0, i16 0, i16 0, i16 12669, i16 0, i16 0, i16 0, i16 14205, i16 0, i16 0, i16 0, i16 16765, i16 0, i16 0, i16 0, i16 12926, i16 0, i16 0, i16 0, i16 15486, i16 0, i16 0, i16 0, i16 15742, i16 0, i16 0, i16 0, i16 14207, i16 0, i16 0, i16 0, i16 16767, i16 0, i16 0, i16 0, i16 13185, i16 0, i16 0, i16 0, i16 12931, i16 0, i16 0, i16 0, i16 13187, i16 0, i16 0, i16 0, i16 13699, i16 0, i16 0, i16 0, i16 14467, i16 0, i16 0, i16 0, i16 12421, i16 0, i16 0, i16 0, i16 13701, i16 0, i16 0, i16 0, i16 14725, i16 0, i16 0, i16 0, i16 14981, i16 0, i16 0, i16 0, i16 16261, i16 0, i16 0, i16 0, i16 13190, i16 0, i16 0, i16 0, i16 14214, i16 0, i16 0, i16 0, i16 16006, i16 0, i16 0, i16 0, i16 13703, i16 0, i16 0, i16 0, i16 12425, i16 0, i16 0, i16 0, i16 13705, i16 0, i16 0, i16 0, i16 14473, i16 0, i16 0, i16 0, i16 14985, i16 0, i16 0, i16 0, i16 13962, i16 0, i16 0, i16 0, i16 16266, i16 0, i16 0, i16 0, i16 12939, i16 0, i16 0, i16 0, i16 13453, i16 0, i16 0, i16 0, i16 14221, i16 0, i16 0, i16 0, i16 16013, i16 0, i16 0, i16 0, i16 17037, i16 0, i16 0, i16 0, i16 15503, i16 0, i16 0, i16 0, i16 14737, i16 0, i16 0, i16 0, i16 12946, i16 0, i16 0, i16 0, i16 13458, i16 0, i16 0, i16 0, i16 15506, i16 0, i16 0, i16 0, i16 17042, i16 0, i16 0, i16 0, i16 12435, i16 0, i16 0, i16 0, i16 16019, i16 0, i16 0, i16 0, i16 17043, i16 0, i16 0, i16 0, i16 12948, i16 0, i16 0, i16 0, i16 13972, i16 0, i16 0, i16 0, i16 16532, i16 0, i16 0, i16 0, i16 13975, i16 0, i16 0, i16 0, i16 15768, i16 0, i16 0, i16 0, i16 16793, i16 0, i16 0, i16 0, i16 13466, i16 0, i16 0, i16 0, i16 155, i16 0, i16 0, i16 0, i16 156, i16 0, i16 0, i16 0, i16 13469, i16 0, i16 0, i16 0, i16 16285, i16 0, i16 0, i16 0, i16 12958, i16 0, i16 0, i16 0, i16 13215, i16 0, i16 0, i16 0, i16 13727, i16 0, i16 0, i16 0, i16 14751, i16 0, i16 0, i16 0, i16 15263, i16 0, i16 0, i16 0, i16 15775, i16 0, i16 0, i16 0, i16 12704, i16 0, i16 0, i16 0, i16 16800, i16 0, i16 0, i16 0, i16 13473, i16 0, i16 0, i16 0, i16 14241, i16 0, i16 0, i16 0, i16 15521, i16 0, i16 0, i16 0, i16 16801, i16 0, i16 0, i16 0, i16 12962, i16 0, i16 0, i16 0, i16 15010, i16 0, i16 0, i16 0, i16 15778, i16 0, i16 0, i16 0, i16 15267, i16 0, i16 0, i16 0, i16 14500, i16 0, i16 0, i16 0, i16 165, i16 0, i16 0, i16 0, i16 15781, i16 0, i16 0, i16 0, i16 16293, i16 0, i16 0, i16 0, i16 166, i16 0, i16 0, i16 0, i16 17063, i16 0, i16 0, i16 0, i16 13736, i16 0, i16 0, i16 0, i16 16296, i16 0, i16 0, i16 0, i16 16808, i16 0, i16 0, i16 0, i16 12713, i16 0, i16 0, i16 0, i16 13993, i16 0, i16 0, i16 0, i16 16041, i16 0, i16 0, i16 0, i16 16810, i16 0, i16 0, i16 0, i16 17066, i16 0, i16 0, i16 0, i16 13483, i16 0, i16 0, i16 0, i16 13484, i16 0, i16 0, i16 0, i16 16300, i16 0, i16 0, i16 0, i16 13741, i16 0, i16 0, i16 0, i16 15277, i16 0, i16 0, i16 0, i16 12462, i16 0, i16 0, i16 0, i16 13999, i16 0, i16 0, i16 0, i16 16559, i16 0, i16 0, i16 0, i16 176, i16 0, i16 0, i16 0, i16 16048, i16 0, i16 0, i16 0, i16 13233, i16 0, i16 0, i16 0, i16 14769, i16 0, i16 0, i16 0, i16 16049, i16 0, i16 0, i16 0, i16 16305, i16 0, i16 0, i16 0, i16 13746, i16 0, i16 0, i16 0, i16 13747, i16 0, i16 0, i16 0, i16 180, i16 0, i16 0, i16 0, i16 13237, i16 0, i16 0, i16 0, i16 13749, i16 0, i16 0, i16 0, i16 14773, i16 0, i16 0, i16 0, i16 16309, i16 0, i16 0, i16 0, i16 16821, i16 0, i16 0, i16 0, i16 13750, i16 0, i16 0, i16 0, i16 14263, i16 0, i16 0, i16 0, i16 696, i16 0, i16 0, i16 0, i16 15544, i16 0, i16 0, i16 0, i16 16312, i16 0, i16 0, i16 0, i16 15290, i16 0, i16 0, i16 0, i16 16570, i16 0, i16 0, i16 0, i16 12475, i16 0, i16 0, i16 0, i16 13755, i16 0, i16 0, i16 0, i16 14779, i16 0, i16 0, i16 0, i16 15035, i16 0, i16 0, i16 0, i16 16828, i16 0, i16 0, i16 0, i16 15037, i16 0, i16 0, i16 0, i16 14526, i16 0, i16 0, i16 0, i16 15294, i16 0, i16 0, i16 0, i16 16832, i16 0, i16 0, i16 0, i16 15809, i16 0, i16 0, i16 0, i16 13506, i16 0, i16 0, i16 0, i16 16066, i16 0, i16 0, i16 0, i16 16834, i16 0, i16 0, i16 0, i16 12739, i16 0, i16 0, i16 0, i16 13763, i16 0, i16 0, i16 0, i16 12740, i16 0, i16 0, i16 0, i16 13764, i16 0, i16 0, i16 0, i16 16068, i16 0, i16 0, i16 0, i16 15045, i16 0, i16 0, i16 0, i16 15301, i16 0, i16 0, i16 0, i16 14278, i16 0, i16 0, i16 0, i16 12743, i16 0, i16 0, i16 0, i16 14791, i16 0, i16 0, i16 0, i16 17095, i16 0, i16 0, i16 0, i16 13768, i16 0, i16 0, i16 0, i16 15560, i16 0, i16 0, i16 0, i16 12745, i16 0, i16 0, i16 0, i16 13513, i16 0, i16 0, i16 0, i16 13514, i16 0, i16 0, i16 0, i16 13770, i16 0, i16 0, i16 0, i16 14027, i16 0, i16 0, i16 0, i16 17099, i16 0, i16 0, i16 0, i16 13516, i16 0, i16 0, i16 0, i16 17100, i16 0, i16 0, i16 0, i16 14285, i16 0, i16 0, i16 0, i16 16845, i16 0, i16 0, i16 0, i16 12494, i16 0, i16 0, i16 0, i16 14798, i16 0, i16 0, i16 0, i16 17102, i16 0, i16 0, i16 0, i16 16079, i16 0, i16 0, i16 0, i16 13520, i16 0, i16 0, i16 0, i16 14032, i16 0, i16 0, i16 0, i16 14288, i16 0, i16 0, i16 0, i16 14800, i16 0, i16 0, i16 0, i16 14289, i16 0, i16 0, i16 0, i16 15569, i16 0, i16 0, i16 0, i16 17105, i16 0, i16 0, i16 0, i16 13778, i16 0, i16 0, i16 0, i16 14034, i16 0, i16 0, i16 0, i16 14803, i16 0, i16 0, i16 0, i16 16083, i16 0, i16 0, i16 0, i16 14805, i16 0, i16 0, i16 0, i16 15829, i16 0, i16 0, i16 0, i16 16597, i16 0, i16 0, i16 0, i16 16853, i16 0, i16 0, i16 0, i16 16598, i16 0, i16 0, i16 0, i16 12503, i16 0, i16 0, i16 0, i16 13527, i16 0, i16 0, i16 0, i16 16088, i16 0, i16 0, i16 0, i16 12761, i16 0, i16 0, i16 0, i16 13785, i16 0, i16 0, i16 0, i16 14809, i16 0, i16 0, i16 0, i16 12508, i16 0, i16 0, i16 0, i16 13276, i16 0, i16 0, i16 0, i16 13532, i16 0, i16 0, i16 0, i16 15836, i16 0, i16 0, i16 0, i16 16348, i16 0, i16 0, i16 0, i16 17116, i16 0, i16 0, i16 0, i16 14045, i16 0, i16 0, i16 0, i16 15837, i16 0, i16 0, i16 0, i16 14558, i16 0, i16 0, i16 0, i16 15326, i16 0, i16 0, i16 0, i16 14047, i16 0, i16 0, i16 0, i16 12768, i16 0, i16 0, i16 0, i16 15584, i16 0, i16 0, i16 0, i16 225, i16 0, i16 0, i16 0, i16 13793, i16 0, i16 0, i16 0, i16 13027, i16 0, i16 0, i16 0, i16 14819, i16 0, i16 0, i16 0, i16 16099, i16 0, i16 0, i16 0, i16 16867, i16 0, i16 0, i16 0, i16 14052, i16 0, i16 0, i16 0, i16 17124, i16 0, i16 0, i16 0, i16 14821, i16 0, i16 0, i16 0, i16 15077, i16 0, i16 0, i16 0, i16 13286, i16 0, i16 0, i16 0, i16 12519, i16 0, i16 0, i16 0, i16 12775, i16 0, i16 0, i16 0, i16 13031, i16 0, i16 0, i16 0, i16 14311, i16 0, i16 0, i16 0, i16 14823, i16 0, i16 0, i16 0, i16 13800, i16 0, i16 0, i16 0, i16 16616, i16 0, i16 0, i16 0, i16 14057, i16 0, i16 0, i16 0, i16 14826, i16 0, i16 0, i16 0, i16 15594, i16 0, i16 0, i16 0, i16 13291, i16 0, i16 0, i16 0, i16 16108, i16 0, i16 0, i16 0, i16 237, i16 0, i16 0, i16 0, i16 12781, i16 0, i16 0, i16 0, i16 15597, i16 0, i16 0, i16 0, i16 15342, i16 0, i16 0, i16 0, i16 14063, i16 0, i16 0, i16 0, i16 15087, i16 0, i16 0, i16 0, i16 15344, i16 0, i16 0, i16 0, i16 13809, i16 0, i16 0, i16 0, i16 17138, i16 0, i16 0, i16 0, i16 15091, i16 0, i16 0, i16 0, i16 16627, i16 0, i16 0, i16 0, i16 12788, i16 0, i16 0, i16 0, i16 14580, i16 0, i16 0, i16 0, i16 15348, i16 0, i16 0, i16 0, i16 16628, i16 0, i16 0, i16 0, i16 13813, i16 0, i16 0, i16 0, i16 13302, i16 0, i16 0, i16 0, i16 14326, i16 0, i16 0, i16 0, i16 15094, i16 0, i16 0, i16 0, i16 15863, i16 0, i16 0, i16 0, i16 16375, i16 0, i16 0, i16 0, i16 15353, i16 0, i16 0, i16 0, i16 15609, i16 0, i16 0, i16 0, i16 14586, i16 0, i16 0, i16 0, i16 15354, i16 0, i16 0, i16 0, i16 15355, i16 0, i16 0, i16 0, i16 15867, i16 0, i16 0, i16 0, i16 15100, i16 0, i16 0, i16 0, i16 12285, i16 0, i16 0, i16 0, i16 13053, i16 0, i16 0, i16 0, i16 14333, i16 0, i16 0, i16 0, i16 12542, i16 0, i16 0, i16 0, i16 12798, i16 0, i16 0, i16 0, i16 13310, i16 0, i16 0, i16 0, i16 14846, i16 0, i16 0, i16 0, i16 15103, i16 0, i16 0, i16 256, i16 0, i16 0, i16 0, i16 14080, i16 0, i16 0, i16 0, i16 13313, i16 17049, i16 0, i16 0, i16 12546, i16 0, i16 0, i16 0, i16 14082, i16 0, i16 0, i16 0, i16 15618, i16 0, i16 0, i16 0, i16 12547, i16 0, i16 0, i16 0, i16 16899, i16 0, i16 0, i16 0, i16 14852, i16 17003, i16 0, i16 0, i16 16388, i16 0, i16 0, i16 0, i16 16644, i16 0, i16 0, i16 0, i16 13573, i16 0, i16 0, i16 0, i16 14085, i16 0, i16 0, i16 0, i16 15109, i16 0, i16 0, i16 0, i16 13318, i16 0, i16 0, i16 0, i16 15366, i16 0, i16 0, i16 0, i16 15622, i16 0, i16 0, i16 0, i16 16390, i16 14495, i16 0, i16 0, i16 16902, i16 13005, i16 0, i16 0, i16 12295, i16 12296, i16 0, i16 0, i16 14343, i16 13546, i16 0, i16 0, i16 16647, i16 0, i16 0, i16 0, i16 14344, i16 0, i16 0, i16 0, i16 15880, i16 15683, i16 0, i16 0, i16 265, i16 264, i16 0, i16 0, i16 12553, i16 14944, i16 0, i16 0, i16 13833, i16 0, i16 0, i16 0, i16 14857, i16 0, i16 0, i16 0, i16 15881, i16 0, i16 0, i16 0, i16 16137, i16 0, i16 0, i16 0, i16 16649, i16 0, i16 0, i16 0, i16 17162, i16 0, i16 0, i16 0, i16 12555, i16 16345, i16 0, i16 0, i16 13067, i16 0, i16 0, i16 0, i16 15115, i16 0, i16 0, i16 0, i16 12300, i16 0, i16 0, i16 0, i16 14348, i16 0, i16 0, i16 0, i16 15628, i16 14483, i16 0, i16 0, i16 16140, i16 0, i16 0, i16 0, i16 12557, i16 0, i16 0, i16 0, i16 14349, i16 0, i16 0, i16 0, i16 14605, i16 15757, i16 0, i16 0, i16 15629, i16 0, i16 0, i16 0, i16 15885, i16 0, i16 0, i16 0, i16 782, i16 0, i16 0, i16 0, i16 13582, i16 13021, i16 0, i16 0, i16 14094, i16 0, i16 0, i16 0, i16 14862, i16 0, i16 0, i16 0, i16 16398, i16 14978, i16 0, i16 0, i16 14352, i16 0, i16 0, i16 0, i16 15376, i16 0, i16 0, i16 0, i16 15121, i16 0, i16 0, i16 0, i16 16657, i16 0, i16 0, i16 0, i16 17169, i16 0, i16 0, i16 0, i16 16658, i16 0, i16 0, i16 0, i16 12819, i16 15198, i16 0, i16 0, i16 13331, i16 0, i16 0, i16 0, i16 13588, i16 15915, i16 0, i16 0, i16 16148, i16 0, i16 0, i16 0, i16 13589, i16 14715, i16 0, i16 0, i16 15125, i16 0, i16 0, i16 0, i16 16661, i16 0, i16 0, i16 0, i16 12310, i16 0, i16 0, i16 0, i16 12566, i16 15116, i16 0, i16 0, i16 13334, i16 0, i16 0, i16 0, i16 14102, i16 15783, i16 0, i16 0, i16 13335, i16 0, i16 0, i16 0, i16 16152, i16 0, i16 0, i16 0, i16 12569, i16 0, i16 0, i16 0, i16 282, i16 0, i16 0, i16 0, i16 794, i16 0, i16 0, i16 0, i16 13338, i16 0, i16 0, i16 0, i16 15386, i16 15387, i16 0, i16 0, i16 15643, i16 16909, i16 0, i16 0, i16 16155, i16 14782, i16 0, i16 0, i16 16667, i16 0, i16 0, i16 0, i16 12828, i16 0, i16 0, i16 0, i16 15644, i16 0, i16 0, i16 0, i16 12829, i16 0, i16 0, i16 0, i16 13597, i16 0, i16 0, i16 0, i16 15133, i16 0, i16 0, i16 0, i16 16413, i16 0, i16 0, i16 0, i16 16669, i16 0, i16 0, i16 0, i16 14110, i16 0, i16 0, i16 0, i16 15902, i16 0, i16 0, i16 0, i16 16158, i16 0, i16 0, i16 0, i16 16670, i16 0, i16 0, i16 0, i16 12320, i16 0, i16 0, i16 0, i16 13344, i16 0, i16 0, i16 0, i16 14624, i16 13170, i16 0, i16 0, i16 15392, i16 0, i16 0, i16 0, i16 16672, i16 12786, i16 0, i16 0, i16 12321, i16 0, i16 0, i16 0, i16 13601, i16 0, i16 0, i16 0, i16 14881, i16 17167, i16 0, i16 0, i16 15649, i16 16630, i16 0, i16 0, i16 15905, i16 16062, i16 0, i16 0, i16 16929, i16 0, i16 0, i16 0, i16 14114, i16 0, i16 0, i16 0, i16 14882, i16 0, i16 0, i16 0, i16 15906, i16 12444, i16 0, i16 0, i16 16674, i16 0, i16 0, i16 0, i16 16163, i16 0, i16 0, i16 0, i16 13860, i16 13824, i16 0, i16 0, i16 14116, i16 15911, i16 0, i16 0, i16 14884, i16 0, i16 0, i16 0, i16 12325, i16 0, i16 0, i16 0, i16 12837, i16 0, i16 0, i16 0, i16 16678, i16 0, i16 0, i16 0, i16 12327, i16 0, i16 0, i16 0, i16 14887, i16 0, i16 0, i16 0, i16 16423, i16 0, i16 0, i16 0, i16 12328, i16 16639, i16 0, i16 0, i16 16425, i16 0, i16 0, i16 0, i16 13610, i16 16180, i16 0, i16 0, i16 14890, i16 0, i16 0, i16 0, i16 16170, i16 0, i16 0, i16 0, i16 15403, i16 0, i16 0, i16 0, i16 16171, i16 0, i16 0, i16 0, i16 12332, i16 0, i16 0, i16 0, i16 15404, i16 15291, i16 0, i16 0, i16 14125, i16 0, i16 0, i16 0, i16 14893, i16 15274, i16 0, i16 0, i16 16685, i16 0, i16 0, i16 0, i16 16941, i16 0, i16 0, i16 0, i16 14382, i16 0, i16 0, i16 0, i16 14638, i16 12998, i16 0, i16 0, i16 16174, i16 0, i16 0, i16 0, i16 12591, i16 0, i16 0, i16 0, i16 14639, i16 0, i16 0, i16 0, i16 13360, i16 0, i16 0, i16 0, i16 14384, i16 0, i16 0, i16 0, i16 14640, i16 0, i16 0, i16 0, i16 13361, i16 0, i16 0, i16 0, i16 14641, i16 0, i16 0, i16 0, i16 15409, i16 0, i16 0, i16 0, i16 16433, i16 0, i16 0, i16 0, i16 14642, i16 0, i16 0, i16 0, i16 14898, i16 13976, i16 0, i16 0, i16 15154, i16 0, i16 0, i16 0, i16 12851, i16 15968, i16 0, i16 0, i16 13619, i16 0, i16 0, i16 0, i16 16947, i16 0, i16 0, i16 0, i16 15156, i16 0, i16 0, i16 0, i16 13365, i16 0, i16 0, i16 0, i16 13621, i16 12675, i16 0, i16 0, i16 12598, i16 15066, i16 0, i16 0, i16 12343, i16 13378, i16 0, i16 0, i16 14135, i16 0, i16 0, i16 0, i16 14391, i16 0, i16 0, i16 0, i16 16951, i16 15075, i16 0, i16 0, i16 12856, i16 0, i16 0, i16 0, i16 15160, i16 13821, i16 0, i16 0, i16 14905, i16 0, i16 0, i16 0, i16 12858, i16 0, i16 0, i16 0, i16 13370, i16 0, i16 0, i16 0, i16 14138, i16 0, i16 0, i16 0, i16 14907, i16 0, i16 0, i16 0, i16 13628, i16 0, i16 0, i16 0, i16 13884, i16 0, i16 0, i16 0, i16 16956, i16 0, i16 0, i16 0, i16 13885, i16 0, i16 0, i16 0, i16 14141, i16 0, i16 0, i16 0, i16 14398, i16 0, i16 0, i16 0, i16 15166, i16 0, i16 0, i16 0, i16 16958, i16 0, i16 0, i16 0, i16 13375, i16 0, i16 0, i16 0, i16 13889, i16 0, i16 0, i16 0, i16 14913, i16 14137, i16 0, i16 0, i16 16193, i16 0, i16 0, i16 0, i16 16449, i16 0, i16 0, i16 0, i16 15938, i16 0, i16 0, i16 0, i16 12355, i16 0, i16 0, i16 0, i16 13379, i16 0, i16 0, i16 0, i16 14660, i16 16660, i16 0, i16 0, i16 15684, i16 0, i16 0, i16 0, i16 12613, i16 16161, i16 0, i16 0, i16 12869, i16 0, i16 0, i16 0, i16 16965, i16 0, i16 0, i16 0, i16 13126, i16 0, i16 0, i16 0, i16 14406, i16 0, i16 0, i16 0, i16 12359, i16 0, i16 0, i16 0, i16 13895, i16 15817, i16 0, i16 0, i16 16711, i16 0, i16 0, i16 0, i16 13640, i16 0, i16 0, i16 0, i16 14920, i16 0, i16 0, i16 0, i16 15944, i16 0, i16 0, i16 0, i16 13385, i16 0, i16 0, i16 0, i16 13641, i16 0, i16 0, i16 0, i16 15945, i16 16859, i16 0, i16 0, i16 16457, i16 0, i16 0, i16 0, i16 12362, i16 0, i16 0, i16 0, i16 13130, i16 0, i16 0, i16 0, i16 14154, i16 0, i16 0, i16 0, i16 14666, i16 0, i16 0, i16 0, i16 16202, i16 0, i16 0, i16 0, i16 13131, i16 15689, i16 0, i16 0, i16 13387, i16 0, i16 0, i16 0, i16 14155, i16 0, i16 0, i16 0, i16 15179, i16 12896, i16 0, i16 0, i16 15691, i16 0, i16 0, i16 0, i16 12364, i16 14260, i16 0, i16 0, i16 13388, i16 13894, i16 0, i16 0, i16 13901, i16 0, i16 0, i16 0, i16 14669, i16 15472, i16 0, i16 0, i16 15949, i16 0, i16 0, i16 0, i16 13390, i16 16026, i16 0, i16 0, i16 14670, i16 0, i16 0, i16 0, i16 13135, i16 16906, i16 0, i16 0, i16 13391, i16 0, i16 0, i16 0, i16 16463, i16 0, i16 0, i16 0, i16 13392, i16 13404, i16 0, i16 0, i16 16720, i16 0, i16 0, i16 0, i16 13649, i16 0, i16 0, i16 0, i16 16209, i16 0, i16 0, i16 0, i16 14674, i16 0, i16 0, i16 0, i16 16722, i16 0, i16 0, i16 0, i16 14163, i16 0, i16 0, i16 0, i16 14675, i16 0, i16 0, i16 0, i16 15699, i16 0, i16 0, i16 0, i16 12628, i16 14648, i16 0, i16 0, i16 13396, i16 0, i16 0, i16 0, i16 15188, i16 0, i16 0, i16 0, i16 12886, i16 0, i16 0, i16 0, i16 13910, i16 0, i16 0, i16 0, i16 14422, i16 0, i16 0, i16 0, i16 15958, i16 12707, i16 0, i16 0, i16 16214, i16 0, i16 0, i16 0, i16 16470, i16 0, i16 0, i16 0, i16 12631, i16 13625, i16 0, i16 0, i16 13143, i16 0, i16 0, i16 0, i16 14423, i16 0, i16 0, i16 0, i16 13656, i16 0, i16 0, i16 0, i16 13912, i16 0, i16 0, i16 0, i16 14424, i16 0, i16 0, i16 0, i16 12633, i16 0, i16 0, i16 0, i16 13913, i16 0, i16 0, i16 0, i16 12890, i16 0, i16 0, i16 0, i16 13146, i16 0, i16 0, i16 0, i16 15962, i16 0, i16 0, i16 0, i16 13147, i16 0, i16 0, i16 0, i16 13659, i16 0, i16 0, i16 0, i16 13405, i16 0, i16 0, i16 0, i16 13150, i16 0, i16 0, i16 0, i16 13406, i16 0, i16 0, i16 0, i16 14686, i16 0, i16 0, i16 0, i16 12895, i16 12407, i16 0, i16 0, i16 15455, i16 0, i16 0, i16 0, i16 14176, i16 0, i16 0, i16 0, i16 14432, i16 0, i16 0, i16 0, i16 15200, i16 0, i16 0, i16 0, i16 16736, i16 0, i16 0, i16 0, i16 12897, i16 0, i16 0, i16 0, i16 13921, i16 0, i16 0, i16 0, i16 14689, i16 0, i16 0, i16 0, i16 13154, i16 0, i16 0, i16 0, i16 16994, i16 16995, i16 0, i16 0, i16 15971, i16 15754, i16 0, i16 0, i16 13156, i16 0, i16 0, i16 0, i16 14692, i16 0, i16 0, i16 0, i16 15460, i16 0, i16 0, i16 0, i16 16228, i16 0, i16 0, i16 0, i16 12389, i16 0, i16 0, i16 0, i16 13669, i16 0, i16 0, i16 0, i16 16486, i16 0, i16 0, i16 0, i16 13927, i16 12380, i16 0, i16 0, i16 14951, i16 15813, i16 0, i16 0, i16 15975, i16 0, i16 0, i16 0, i16 16487, i16 0, i16 0, i16 0, i16 12904, i16 12905, i16 0, i16 0, i16 13416, i16 14004, i16 0, i16 0, i16 15977, i16 0, i16 0, i16 0, i16 12394, i16 15982, i16 0, i16 0, i16 15978, i16 0, i16 0, i16 0, i16 13676, i16 0, i16 0, i16 0, i16 15212, i16 0, i16 0, i16 0, i16 14445, i16 0, i16 0, i16 0, i16 12654, i16 0, i16 0, i16 0, i16 13934, i16 0, i16 0, i16 0, i16 13679, i16 0, i16 0, i16 0, i16 14449, i16 0, i16 0, i16 0, i16 16241, i16 0, i16 0, i16 0, i16 13426, i16 16648, i16 0, i16 0, i16 12915, i16 0, i16 0, i16 0, i16 13427, i16 14180, i16 0, i16 0, i16 14451, i16 15717, i16 0, i16 0, i16 16243, i16 0, i16 0, i16 0, i16 14452, i16 0, i16 0, i16 0, i16 14708, i16 0, i16 0, i16 0, i16 12917, i16 0, i16 0, i16 0, i16 14966, i16 0, i16 0, i16 0, i16 13944, i16 0, i16 0, i16 0, i16 15992, i16 0, i16 0, i16 0, i16 16760, i16 0, i16 0, i16 0, i16 17016, i16 15317, i16 0, i16 0, i16 15225, i16 0, i16 0, i16 0, i16 12666, i16 0, i16 0, i16 0, i16 15738, i16 13848, i16 0, i16 0, i16 17018, i16 0, i16 0, i16 0, i16 13947, i16 0, i16 0, i16 0, i16 15996, i16 0, i16 0, i16 0, i16 13181, i16 0, i16 0, i16 0, i16 15229, i16 0, i16 0, i16 0, i16 13438, i16 13197, i16 0, i16 0, i16 15743, i16 0, i16 0, i16 0, i16 17023, i16 0, i16 0, i16 0, i16 13184, i16 0, i16 0, i16 0, i16 13440, i16 0, i16 0, i16 0, i16 13442, i16 0, i16 0, i16 0, i16 16515, i16 0, i16 0, i16 0, i16 12420, i16 0, i16 0, i16 0, i16 13189, i16 0, i16 0, i16 0, i16 13445, i16 13494, i16 0, i16 0, i16 15237, i16 0, i16 0, i16 0, i16 13958, i16 0, i16 0, i16 0, i16 16262, i16 0, i16 0, i16 0, i16 15239, i16 0, i16 0, i16 0, i16 13960, i16 0, i16 0, i16 0, i16 16776, i16 0, i16 0, i16 0, i16 17032, i16 0, i16 0, i16 0, i16 13193, i16 0, i16 0, i16 0, i16 13961, i16 0, i16 0, i16 0, i16 16010, i16 0, i16 0, i16 0, i16 13451, i16 0, i16 0, i16 0, i16 12428, i16 14380, i16 0, i16 0, i16 14732, i16 16704, i16 0, i16 0, i16 15244, i16 0, i16 0, i16 0, i16 16524, i16 15420, i16 0, i16 0, i16 16269, i16 0, i16 0, i16 0, i16 13198, i16 16103, i16 0, i16 0, i16 13710, i16 17081, i16 0, i16 0, i16 13711, i16 0, i16 0, i16 0, i16 14479, i16 14478, i16 0, i16 0, i16 16015, i16 13394, i16 0, i16 0, i16 16271, i16 0, i16 0, i16 0, i16 12688, i16 0, i16 0, i16 0, i16 16784, i16 0, i16 0, i16 0, i16 13201, i16 14579, i16 0, i16 0, i16 13713, i16 0, i16 0, i16 0, i16 14738, i16 0, i16 0, i16 0, i16 12947, i16 0, i16 0, i16 0, i16 13459, i16 14369, i16 0, i16 0, i16 15251, i16 14807, i16 0, i16 0, i16 14740, i16 0, i16 0, i16 0, i16 17044, i16 0, i16 0, i16 0, i16 14229, i16 0, i16 0, i16 0, i16 14741, i16 0, i16 0, i16 0, i16 13718, i16 0, i16 0, i16 0, i16 13974, i16 0, i16 0, i16 0, i16 14230, i16 0, i16 0, i16 0, i16 17046, i16 13544, i16 0, i16 0, i16 12439, i16 0, i16 0, i16 0, i16 16023, i16 0, i16 0, i16 0, i16 17047, i16 15588, i16 0, i16 0, i16 13464, i16 14488, i16 0, i16 0, i16 13209, i16 0, i16 0, i16 0, i16 15257, i16 13925, i16 0, i16 0, i16 16281, i16 0, i16 0, i16 0, i16 16794, i16 13906, i16 0, i16 0, i16 12955, i16 13571, i16 0, i16 0, i16 668, i16 0, i16 0, i16 0, i16 14748, i16 0, i16 0, i16 0, i16 15004, i16 0, i16 0, i16 0, i16 12701, i16 0, i16 0, i16 0, i16 15773, i16 14925, i16 0, i16 0, i16 16029, i16 0, i16 0, i16 0, i16 17053, i16 0, i16 0, i16 0, i16 12446, i16 0, i16 0, i16 0, i16 13982, i16 0, i16 0, i16 0, i16 14494, i16 0, i16 0, i16 0, i16 17054, i16 16165, i16 0, i16 0, i16 14239, i16 0, i16 0, i16 0, i16 15007, i16 0, i16 0, i16 0, i16 16031, i16 0, i16 0, i16 0, i16 13216, i16 15956, i16 0, i16 0, i16 12705, i16 0, i16 0, i16 0, i16 16289, i16 0, i16 0, i16 0, i16 674, i16 0, i16 0, i16 0, i16 15266, i16 0, i16 0, i16 0, i16 16290, i16 0, i16 0, i16 0, i16 16546, i16 0, i16 0, i16 0, i16 16802, i16 0, i16 0, i16 0, i16 12451, i16 0, i16 0, i16 0, i16 15523, i16 0, i16 0, i16 0, i16 16291, i16 0, i16 0, i16 0, i16 12452, i16 12408, i16 0, i16 0, i16 12708, i16 0, i16 0, i16 0, i16 12964, i16 0, i16 0, i16 0, i16 14244, i16 0, i16 0, i16 0, i16 16292, i16 0, i16 0, i16 0, i16 15269, i16 0, i16 0, i16 0, i16 16037, i16 0, i16 0, i16 0, i16 16549, i16 0, i16 0, i16 0, i16 12710, i16 15019, i16 0, i16 0, i16 15782, i16 0, i16 0, i16 0, i16 16294, i16 0, i16 0, i16 0, i16 12455, i16 17045, i16 0, i16 0, i16 12711, i16 13480, i16 0, i16 0, i16 13479, i16 0, i16 0, i16 0, i16 13991, i16 0, i16 0, i16 0, i16 14503, i16 0, i16 0, i16 0, i16 15527, i16 0, i16 0, i16 0, i16 16295, i16 16721, i16 0, i16 0, i16 12456, i16 0, i16 0, i16 0, i16 13224, i16 12838, i16 0, i16 0, i16 15784, i16 0, i16 0, i16 0, i16 13737, i16 0, i16 0, i16 0, i16 13738, i16 0, i16 0, i16 0, i16 13739, i16 0, i16 0, i16 0, i16 13995, i16 14438, i16 0, i16 0, i16 14763, i16 0, i16 0, i16 0, i16 16299, i16 13632, i16 0, i16 0, i16 13996, i16 14799, i16 0, i16 0, i16 15788, i16 13599, i16 0, i16 0, i16 14253, i16 12873, i16 0, i16 0, i16 14765, i16 0, i16 0, i16 0, i16 17069, i16 0, i16 0, i16 0, i16 174, i16 0, i16 0, i16 0, i16 15790, i16 0, i16 0, i16 0, i16 13743, i16 0, i16 0, i16 0, i16 15279, i16 16077, i16 0, i16 0, i16 13744, i16 13482, i16 0, i16 0, i16 15792, i16 0, i16 0, i16 0, i16 16816, i16 0, i16 0, i16 0, i16 14513, i16 15755, i16 0, i16 0, i16 178, i16 0, i16 0, i16 0, i16 13490, i16 16151, i16 0, i16 0, i16 14514, i16 16601, i16 0, i16 0, i16 15026, i16 0, i16 0, i16 0, i16 15538, i16 16535, i16 0, i16 0, i16 16562, i16 0, i16 0, i16 0, i16 16818, i16 0, i16 0, i16 0, i16 691, i16 0, i16 0, i16 0, i16 14515, i16 0, i16 0, i16 0, i16 16307, i16 0, i16 0, i16 0, i16 12980, i16 12981, i16 0, i16 0, i16 13492, i16 0, i16 0, i16 0, i16 15028, i16 0, i16 0, i16 0, i16 15284, i16 14607, i16 0, i16 0, i16 15285, i16 0, i16 0, i16 0, i16 694, i16 785, i16 0, i16 0, i16 12470, i16 15646, i16 0, i16 0, i16 15798, i16 0, i16 0, i16 0, i16 12983, i16 13478, i16 0, i16 0, i16 13495, i16 0, i16 0, i16 0, i16 12728, i16 16993, i16 0, i16 0, i16 12984, i16 14160, i16 0, i16 0, i16 13496, i16 0, i16 0, i16 0, i16 185, i16 184, i16 0, i16 0, i16 12985, i16 0, i16 0, i16 0, i16 15033, i16 0, i16 0, i16 0, i16 13498, i16 0, i16 0, i16 0, i16 16314, i16 16812, i16 0, i16 0, i16 187, i16 186, i16 0, i16 0, i16 699, i16 792, i16 0, i16 0, i16 14011, i16 12526, i16 0, i16 0, i16 16315, i16 0, i16 0, i16 0, i16 16571, i16 0, i16 0, i16 0, i16 13500, i16 0, i16 0, i16 0, i16 701, i16 793, i16 0, i16 0, i16 12733, i16 0, i16 0, i16 0, i16 13501, i16 0, i16 0, i16 0, i16 702, i16 795, i16 0, i16 0, i16 13246, i16 15414, i16 0, i16 0, i16 14014, i16 0, i16 0, i16 0, i16 191, i16 190, i16 0, i16 0, i16 12735, i16 0, i16 0, i16 0, i16 12991, i16 0, i16 0, i16 0, i16 13503, i16 0, i16 0, i16 0, i16 14271, i16 0, i16 0, i16 0, i16 14527, i16 14060, i16 0, i16 0, i16 12480, i16 0, i16 0, i16 0, i16 13249, i16 0, i16 0, i16 0, i16 15553, i16 14199, i16 0, i16 0, i16 16065, i16 0, i16 0, i16 0, i16 12738, i16 0, i16 0, i16 0, i16 14530, i16 14206, i16 0, i16 0, i16 14786, i16 0, i16 0, i16 0, i16 12995, i16 0, i16 0, i16 0, i16 14531, i16 0, i16 0, i16 0, i16 16579, i16 0, i16 0, i16 0, i16 15556, i16 0, i16 0, i16 0, i16 16836, i16 0, i16 0, i16 0, i16 14277, i16 0, i16 0, i16 0, i16 16325, i16 0, i16 0, i16 0, i16 16837, i16 0, i16 0, i16 0, i16 12742, i16 0, i16 0, i16 0, i16 16839, i16 0, i16 0, i16 0, i16 200, i16 201, i16 0, i16 0, i16 15304, i16 15303, i16 0, i16 0, i16 15816, i16 14955, i16 0, i16 0, i16 16328, i16 0, i16 0, i16 0, i16 16584, i16 0, i16 0, i16 0, i16 16073, i16 0, i16 0, i16 0, i16 16329, i16 0, i16 0, i16 0, i16 17097, i16 0, i16 0, i16 0, i16 202, i16 0, i16 0, i16 0, i16 13258, i16 0, i16 0, i16 0, i16 14794, i16 0, i16 0, i16 0, i16 15050, i16 0, i16 0, i16 0, i16 15562, i16 0, i16 0, i16 0, i16 16074, i16 0, i16 0, i16 0, i16 13260, i16 0, i16 0, i16 0, i16 13772, i16 15199, i16 0, i16 0, i16 16332, i16 0, i16 0, i16 0, i16 16588, i16 0, i16 0, i16 0, i16 13517, i16 0, i16 0, i16 0, i16 13262, i16 0, i16 0, i16 0, i16 15822, i16 0, i16 0, i16 0, i16 14543, i16 12589, i16 0, i16 0, i16 16335, i16 0, i16 0, i16 0, i16 12752, i16 13794, i16 0, i16 0, i16 13264, i16 0, i16 0, i16 0, i16 15057, i16 13046, i16 0, i16 0, i16 16849, i16 16921, i16 0, i16 0, i16 210, i16 211, i16 0, i16 0, i16 13522, i16 0, i16 0, i16 0, i16 14802, i16 0, i16 0, i16 0, i16 15314, i16 13029, i16 0, i16 0, i16 12499, i16 0, i16 0, i16 0, i16 13011, i16 0, i16 0, i16 0, i16 14035, i16 16620, i16 0, i16 0, i16 212, i16 213, i16 0, i16 0, i16 16084, i16 0, i16 0, i16 0, i16 16340, i16 0, i16 0, i16 0, i16 16342, i16 0, i16 0, i16 0, i16 13783, i16 0, i16 0, i16 0, i16 13016, i16 14788, i16 0, i16 0, i16 14808, i16 0, i16 0, i16 0, i16 15064, i16 0, i16 0, i16 0, i16 14041, i16 14269, i16 0, i16 0, i16 14297, i16 0, i16 0, i16 0, i16 15065, i16 0, i16 0, i16 0, i16 15833, i16 0, i16 0, i16 0, i16 13018, i16 0, i16 0, i16 0, i16 219, i16 0, i16 0, i16 0, i16 13787, i16 0, i16 0, i16 0, i16 14299, i16 0, i16 0, i16 0, i16 14811, i16 0, i16 0, i16 0, i16 15324, i16 16112, i16 0, i16 0, i16 13277, i16 0, i16 0, i16 0, i16 16605, i16 0, i16 0, i16 0, i16 13534, i16 0, i16 0, i16 0, i16 13790, i16 0, i16 0, i16 0, i16 15070, i16 0, i16 0, i16 0, i16 13791, i16 0, i16 0, i16 0, i16 14559, i16 0, i16 0, i16 0, i16 16607, i16 0, i16 0, i16 0, i16 16863, i16 14628, i16 0, i16 0, i16 17119, i16 0, i16 0, i16 0, i16 13024, i16 13060, i16 0, i16 0, i16 13536, i16 0, i16 0, i16 0, i16 14048, i16 0, i16 0, i16 0, i16 14816, i16 0, i16 0, i16 0, i16 15328, i16 0, i16 0, i16 0, i16 16352, i16 16046, i16 0, i16 0, i16 12513, i16 0, i16 0, i16 0, i16 14817, i16 0, i16 0, i16 0, i16 15329, i16 0, i16 0, i16 0, i16 15841, i16 0, i16 0, i16 0, i16 17121, i16 0, i16 0, i16 0, i16 13538, i16 0, i16 0, i16 0, i16 14050, i16 0, i16 0, i16 0, i16 15842, i16 14561, i16 0, i16 0, i16 16098, i16 0, i16 0, i16 0, i16 14564, i16 0, i16 0, i16 0, i16 15332, i16 0, i16 0, i16 0, i16 15845, i16 12345, i16 0, i16 0, i16 13798, i16 15306, i16 0, i16 0, i16 17126, i16 12973, i16 0, i16 0, i16 12520, i16 0, i16 0, i16 0, i16 14056, i16 0, i16 0, i16 0, i16 14568, i16 0, i16 0, i16 0, i16 14824, i16 0, i16 0, i16 0, i16 17129, i16 0, i16 0, i16 0, i16 12522, i16 12391, i16 0, i16 0, i16 13802, i16 0, i16 0, i16 0, i16 14570, i16 16105, i16 0, i16 0, i16 16106, i16 15989, i16 0, i16 0, i16 14827, i16 13366, i16 0, i16 0, i16 16875, i16 0, i16 0, i16 0, i16 15084, i16 15744, i16 0, i16 0, i16 13293, i16 0, i16 0, i16 0, i16 13549, i16 0, i16 0, i16 0, i16 14317, i16 0, i16 0, i16 0, i16 15853, i16 16114, i16 0, i16 0, i16 15854, i16 0, i16 0, i16 0, i16 13039, i16 0, i16 0, i16 0, i16 14064, i16 0, i16 0, i16 0, i16 14832, i16 17077, i16 0, i16 0, i16 15088, i16 0, i16 0, i16 0, i16 13553, i16 0, i16 0, i16 0, i16 14577, i16 0, i16 0, i16 0, i16 14833, i16 0, i16 0, i16 0, i16 15857, i16 0, i16 0, i16 0, i16 15090, i16 15635, i16 0, i16 0, i16 15346, i16 0, i16 0, i16 0, i16 15858, i16 14520, i16 0, i16 0, i16 16882, i16 0, i16 0, i16 0, i16 244, i16 243, i16 0, i16 0, i16 13812, i16 0, i16 0, i16 0, i16 14068, i16 0, i16 0, i16 0, i16 14325, i16 0, i16 0, i16 0, i16 17141, i16 16512, i16 0, i16 0, i16 13558, i16 0, i16 0, i16 0, i16 16374, i16 15645, i16 0, i16 0, i16 12535, i16 0, i16 0, i16 0, i16 16120, i16 0, i16 0, i16 0, i16 16376, i16 0, i16 0, i16 0, i16 17144, i16 16840, i16 0, i16 0, i16 14585, i16 0, i16 0, i16 0, i16 15097, i16 16614, i16 0, i16 0, i16 16121, i16 0, i16 0, i16 0, i16 16889, i16 0, i16 0, i16 0, i16 12794, i16 14493, i16 0, i16 0, i16 13562, i16 0, i16 0, i16 0, i16 14074, i16 0, i16 0, i16 0, i16 14587, i16 0, i16 0, i16 0, i16 12540, i16 0, i16 0, i16 0, i16 16124, i16 16211, i16 0, i16 0, i16 13565, i16 16820, i16 0, i16 0, i16 15101, i16 0, i16 0, i16 0, i16 15357, i16 0, i16 0, i16 0, i16 16638, i16 0, i16 0, i16 0, i16 13055, i16 0, i16 0, i16 0, i16 15871, i16 0, i16 0, i16 0, i16 16127, i16 0, i16 0, i16 0, i16 16383, i16 0, i16 0, i16 0, i16 16895, i16 0, i16 0, i16 14336, i16 0, i16 0, i16 0, i16 15872, i16 0, i16 0, i16 0, i16 16896, i16 12854, i16 0, i16 0, i16 12289, i16 0, i16 0, i16 0, i16 13057, i16 0, i16 0, i16 0, i16 14593, i16 0, i16 0, i16 0, i16 15361, i16 14291, i16 12990, i16 0, i16 16129, i16 0, i16 0, i16 0, i16 2, i16 3, i16 0, i16 0, i16 12290, i16 0, i16 0, i16 0, i16 13826, i16 14262, i16 0, i16 0, i16 15106, i16 0, i16 0, i16 0, i16 17154, i16 0, i16 0, i16 0, i16 12291, i16 0, i16 0, i16 0, i16 13315, i16 0, i16 0, i16 0, i16 14339, i16 12729, i16 13820, i16 0, i16 14851, i16 0, i16 0, i16 0, i16 15875, i16 0, i16 0, i16 0, i16 4, i16 5, i16 6, i16 0, i16 12292, i16 14533, i16 0, i16 0, i16 13316, i16 0, i16 0, i16 0, i16 16900, i16 12787, i16 15477, i16 0, i16 17156, i16 0, i16 14379, i16 0, i16 14341, i16 0, i16 0, i16 0, i16 14597, i16 0, i16 0, i16 0, i16 12550, i16 0, i16 0, i16 0, i16 15878, i16 0, i16 0, i16 0, i16 13575, i16 0, i16 0, i16 0, i16 14087, i16 13298, i16 0, i16 0, i16 14599, i16 0, i16 0, i16 0, i16 16135, i16 13144, i16 0, i16 0, i16 16391, i16 0, i16 0, i16 0, i16 520, i16 521, i16 522, i16 0, i16 13832, i16 0, i16 0, i16 0, i16 14088, i16 14747, i16 13614, i16 0, i16 14600, i16 14465, i16 0, i16 0, i16 16392, i16 0, i16 0, i16 0, i16 12809, i16 0, i16 0, i16 0, i16 13577, i16 15658, i16 0, i16 0, i16 13066, i16 0, i16 0, i16 0, i16 15114, i16 0, i16 15163, i16 0, i16 16650, i16 0, i16 15347, i16 0, i16 12811, i16 0, i16 0, i16 0, i16 13579, i16 0, i16 0, i16 0, i16 16139, i16 0, i16 13204, i16 0, i16 16651, i16 0, i16 12426, i16 0, i16 17163, i16 0, i16 0, i16 0, i16 14860, i16 0, i16 0, i16 0, i16 15884, i16 13063, i16 12474, i16 0, i16 17164, i16 17165, i16 0, i16 0, i16 13325, i16 16860, i16 0, i16 0, i16 16397, i16 0, i16 0, i16 0, i16 13326, i16 0, i16 0, i16 0, i16 16654, i16 0, i16 0, i16 0, i16 16910, i16 0, i16 0, i16 0, i16 783, i16 0, i16 0, i16 0, i16 13071, i16 16937, i16 15040, i16 0, i16 13583, i16 0, i16 0, i16 0, i16 14863, i16 0, i16 0, i16 0, i16 15119, i16 0, i16 16996, i16 0, i16 16655, i16 0, i16 16656, i16 0, i16 13584, i16 0, i16 15449, i16 0, i16 14608, i16 14546, i16 0, i16 0, i16 15120, i16 0, i16 0, i16 0, i16 16400, i16 0, i16 0, i16 0, i16 13329, i16 0, i16 0, i16 0, i16 14609, i16 17131, i16 0, i16 0, i16 15889, i16 12524, i16 0, i16 0, i16 786, i16 695, i16 787, i16 0, i16 12818, i16 12650, i16 0, i16 0, i16 13843, i16 0, i16 15910, i16 0, i16 14099, i16 0, i16 0, i16 0, i16 15123, i16 0, i16 13134, i16 0, i16 15891, i16 14665, i16 17026, i16 0, i16 14356, i16 13443, i16 14504, i16 0, i16 15124, i16 0, i16 0, i16 0, i16 16404, i16 0, i16 13658, i16 0, i16 16917, i16 0, i16 0, i16 0, i16 14358, i16 13399, i16 0, i16 0, i16 15126, i16 0, i16 0, i16 0, i16 15894, i16 12941, i16 12942, i16 0, i16 12311, i16 0, i16 0, i16 0, i16 14103, i16 0, i16 16763, i16 0, i16 15895, i16 0, i16 17074, i16 0, i16 16663, i16 0, i16 0, i16 0, i16 16919, i16 0, i16 0, i16 0, i16 15128, i16 0, i16 0, i16 0, i16 16664, i16 0, i16 0, i16 0, i16 16920, i16 0, i16 13816, i16 0, i16 13337, i16 0, i16 0, i16 0, i16 13849, i16 0, i16 15779, i16 0, i16 14873, i16 0, i16 0, i16 0, i16 15129, i16 0, i16 0, i16 0, i16 15641, i16 0, i16 0, i16 0, i16 15897, i16 0, i16 12885, i16 0, i16 13850, i16 0, i16 0, i16 0, i16 14362, i16 0, i16 0, i16 0, i16 16666, i16 16590, i16 15456, i16 0, i16 1051, i16 0, i16 0, i16 0, i16 16668, i16 16710, i16 12369, i16 0, i16 797, i16 703, i16 796, i16 0, i16 13853, i16 0, i16 0, i16 0, i16 15901, i16 16166, i16 14550, i16 0, i16 16157, i16 0, i16 0, i16 0, i16 13342, i16 16181, i16 12441, i16 0, i16 15134, i16 15135, i16 0, i16 0, i16 16414, i16 0, i16 0, i16 0, i16 287, i16 284, i16 0, i16 0, i16 14879, i16 16693, i16 0, i16 0, i16 16927, i16 13356, i16 0, i16 0, i16 288, i16 289, i16 290, i16 0, i16 12832, i16 16729, i16 0, i16 0, i16 15136, i16 0, i16 15657, i16 0, i16 15137, i16 0, i16 15988, i16 0, i16 16417, i16 0, i16 0, i16 0, i16 16673, i16 0, i16 13283, i16 0, i16 13602, i16 0, i16 0, i16 0, i16 14115, i16 0, i16 0, i16 0, i16 14371, i16 0, i16 0, i16 0, i16 16675, i16 0, i16 0, i16 0, i16 12580, i16 16042, i16 12849, i16 0, i16 13348, i16 14712, i16 15662, i16 0, i16 15140, i16 0, i16 0, i16 0, i16 15909, i16 0, i16 0, i16 0, i16 16933, i16 0, i16 13345, i16 0, i16 12582, i16 0, i16 13797, i16 0, i16 13350, i16 0, i16 0, i16 0, i16 13862, i16 0, i16 0, i16 0, i16 16934, i16 0, i16 0, i16 0, i16 15143, i16 16324, i16 0, i16 0, i16 12840, i16 15772, i16 0, i16 0, i16 14888, i16 14337, i16 0, i16 0, i16 16424, i16 0, i16 0, i16 0, i16 16680, i16 0, i16 0, i16 0, i16 16936, i16 12953, i16 0, i16 0, i16 14633, i16 0, i16 0, i16 0, i16 14889, i16 12899, i16 0, i16 0, i16 15401, i16 15603, i16 0, i16 0, i16 15146, i16 0, i16 0, i16 0, i16 13611, i16 0, i16 0, i16 0, i16 16684, i16 0, i16 0, i16 0, i16 14637, i16 0, i16 0, i16 0, i16 16429, i16 0, i16 0, i16 0, i16 12590, i16 0, i16 0, i16 0, i16 13358, i16 13570, i16 14553, i16 0, i16 14126, i16 0, i16 0, i16 0, i16 14894, i16 0, i16 0, i16 0, i16 15407, i16 15848, i16 16384, i16 0, i16 15919, i16 0, i16 0, i16 0, i16 16431, i16 0, i16 16343, i16 0, i16 16687, i16 0, i16 0, i16 0, i16 16943, i16 0, i16 0, i16 0, i16 15408, i16 0, i16 14373, i16 0, i16 15920, i16 0, i16 0, i16 0, i16 16176, i16 0, i16 16162, i16 0, i16 16688, i16 0, i16 16319, i16 0, i16 13617, i16 0, i16 0, i16 0, i16 14385, i16 0, i16 0, i16 0, i16 12338, i16 0, i16 0, i16 0, i16 12594, i16 0, i16 13859, i16 0, i16 12850, i16 0, i16 0, i16 0, i16 13618, i16 0, i16 0, i16 0, i16 14386, i16 0, i16 12777, i16 0, i16 15922, i16 16156, i16 13300, i16 0, i16 13363, i16 12934, i16 0, i16 0, i16 15668, i16 0, i16 0, i16 0, i16 16692, i16 0, i16 0, i16 0, i16 12341, i16 0, i16 0, i16 0, i16 14645, i16 13454, i16 13712, i16 0, i16 15925, i16 14582, i16 0, i16 0, i16 12342, i16 0, i16 0, i16 0, i16 13110, i16 0, i16 0, i16 0, i16 13622, i16 16877, i16 0, i16 0, i16 14134, i16 16977, i16 14101, i16 0, i16 15926, i16 0, i16 14100, i16 0, i16 12855, i16 0, i16 0, i16 0, i16 13111, i16 0, i16 0, i16 0, i16 15415, i16 0, i16 13550, i16 0, i16 12344, i16 14324, i16 0, i16 0, i16 13368, i16 17123, i16 0, i16 0, i16 13880, i16 0, i16 0, i16 0, i16 14136, i16 15933, i16 16499, i16 0, i16 15672, i16 0, i16 0, i16 0, i16 16184, i16 0, i16 0, i16 0, i16 14649, i16 17057, i16 12572, i16 0, i16 15161, i16 0, i16 13899, i16 0, i16 16697, i16 14679, i16 0, i16 0, i16 12602, i16 16064, i16 0, i16 0, i16 14650, i16 0, i16 0, i16 0, i16 14906, i16 15697, i16 14606, i16 0, i16 16186, i16 0, i16 0, i16 0, i16 16954, i16 0, i16 12615, i16 0, i16 12859, i16 0, i16 0, i16 0, i16 13883, i16 0, i16 0, i16 0, i16 16443, i16 0, i16 0, i16 0, i16 16955, i16 0, i16 0, i16 0, i16 1084, i16 0, i16 0, i16 0, i16 13372, i16 0, i16 15883, i16 0, i16 14652, i16 0, i16 15961, i16 0, i16 12605, i16 16723, i16 0, i16 0, i16 13373, i16 0, i16 0, i16 0, i16 14397, i16 0, i16 0, i16 0, i16 14653, i16 0, i16 0, i16 0, i16 14909, i16 15552, i16 14122, i16 0, i16 12862, i16 0, i16 0, i16 0, i16 13374, i16 0, i16 13511, i16 0, i16 12607, i16 0, i16 0, i16 0, i16 14143, i16 0, i16 0, i16 0, i16 15679, i16 0, i16 16861, i16 0, i16 16191, i16 0, i16 0, i16 0, i16 12352, i16 0, i16 13142, i16 0, i16 12608, i16 0, i16 0, i16 0, i16 13120, i16 0, i16 0, i16 0, i16 13376, i16 16172, i16 12431, i16 0, i16 13888, i16 0, i16 0, i16 0, i16 14400, i16 0, i16 0, i16 0, i16 15680, i16 13424, i16 0, i16 0, i16 13633, i16 0, i16 0, i16 0, i16 15170, i16 0, i16 0, i16 0, i16 15682, i16 0, i16 0, i16 0, i16 16194, i16 0, i16 12409, i16 0, i16 14403, i16 0, i16 15776, i16 0, i16 14659, i16 14658, i16 0, i16 0, i16 15171, i16 0, i16 0, i16 0, i16 16195, i16 0, i16 13887, i16 0, i16 13124, i16 0, i16 0, i16 0, i16 13636, i16 0, i16 0, i16 0, i16 14404, i16 0, i16 0, i16 0, i16 16196, i16 0, i16 0, i16 0, i16 16452, i16 0, i16 0, i16 0, i16 16964, i16 0, i16 14108, i16 0, i16 14661, i16 0, i16 12817, i16 0, i16 14917, i16 16969, i16 12392, i16 0, i16 15941, i16 0, i16 15896, i16 0, i16 16197, i16 0, i16 0, i16 0, i16 16454, i16 0, i16 0, i16 0, i16 13639, i16 0, i16 0, i16 0, i16 14919, i16 0, i16 0, i16 0, i16 15175, i16 0, i16 14644, i16 0, i16 15687, i16 0, i16 16380, i16 0, i16 13384, i16 0, i16 0, i16 0, i16 13896, i16 0, i16 0, i16 0, i16 14408, i16 0, i16 0, i16 0, i16 13897, i16 0, i16 0, i16 0, i16 12618, i16 17068, i16 0, i16 0, i16 13642, i16 16781, i16 0, i16 0, i16 13898, i16 16924, i16 0, i16 0, i16 15178, i16 14797, i16 0, i16 0, i16 12363, i16 0, i16 0, i16 0, i16 14411, i16 16971, i16 0, i16 0, i16 14923, i16 0, i16 15843, i16 0, i16 15947, i16 0, i16 0, i16 0, i16 16459, i16 0, i16 0, i16 0, i16 16715, i16 0, i16 0, i16 0, i16 14156, i16 0, i16 0, i16 0, i16 12877, i16 0, i16 16806, i16 0, i16 13389, i16 0, i16 0, i16 0, i16 14157, i16 0, i16 0, i16 0, i16 16461, i16 0, i16 16018, i16 0, i16 16717, i16 0, i16 0, i16 0, i16 13902, i16 0, i16 0, i16 0, i16 14926, i16 0, i16 12720, i16 0, i16 15694, i16 0, i16 15793, i16 0, i16 15950, i16 0, i16 0, i16 0, i16 16974, i16 0, i16 0, i16 0, i16 12879, i16 0, i16 0, i16 0, i16 14671, i16 0, i16 0, i16 0, i16 15439, i16 0, i16 0, i16 0, i16 15695, i16 0, i16 0, i16 0, i16 14416, i16 0, i16 0, i16 0, i16 15696, i16 0, i16 16589, i16 0, i16 14673, i16 0, i16 0, i16 0, i16 16465, i16 0, i16 15220, i16 0, i16 14162, i16 0, i16 0, i16 0, i16 16466, i16 15454, i16 13875, i16 0, i16 12627, i16 0, i16 0, i16 0, i16 13139, i16 0, i16 15444, i16 0, i16 13395, i16 0, i16 0, i16 0, i16 13651, i16 0, i16 0, i16 0, i16 16979, i16 0, i16 0, i16 0, i16 13140, i16 0, i16 0, i16 0, i16 13908, i16 0, i16 0, i16 0, i16 14420, i16 0, i16 0, i16 0, i16 14676, i16 0, i16 0, i16 0, i16 16212, i16 0, i16 0, i16 0, i16 16724, i16 0, i16 0, i16 0, i16 13141, i16 15167, i16 12734, i16 0, i16 13653, i16 0, i16 0, i16 0, i16 14421, i16 0, i16 12527, i16 0, i16 14677, i16 0, i16 0, i16 0, i16 15701, i16 0, i16 0, i16 0, i16 16213, i16 0, i16 0, i16 0, i16 12374, i16 12375, i16 0, i16 0, i16 12630, i16 0, i16 0, i16 0, i16 14678, i16 0, i16 0, i16 0, i16 16982, i16 13183, i16 0, i16 0, i16 13655, i16 0, i16 16233, i16 0, i16 14935, i16 0, i16 0, i16 0, i16 15447, i16 0, i16 0, i16 0, i16 16471, i16 13382, i16 0, i16 0, i16 16983, i16 15838, i16 14030, i16 0, i16 12376, i16 0, i16 0, i16 0, i16 14168, i16 0, i16 0, i16 0, i16 16216, i16 0, i16 14287, i16 0, i16 16728, i16 0, i16 0, i16 0, i16 89, i16 0, i16 0, i16 0, i16 14425, i16 0, i16 0, i16 0, i16 15705, i16 0, i16 0, i16 0, i16 16473, i16 0, i16 13593, i16 0, i16 16985, i16 0, i16 13907, i16 0, i16 90, i16 91, i16 92, i16 0, i16 12891, i16 0, i16 0, i16 0, i16 13915, i16 0, i16 0, i16 0, i16 14171, i16 0, i16 0, i16 0, i16 15707, i16 0, i16 0, i16 0, i16 12892, i16 0, i16 0, i16 0, i16 13660, i16 0, i16 0, i16 0, i16 14428, i16 0, i16 0, i16 0, i16 14940, i16 0, i16 0, i16 0, i16 16220, i16 16689, i16 15887, i16 0, i16 16988, i16 0, i16 0, i16 0, i16 12893, i16 0, i16 12842, i16 0, i16 14685, i16 16372, i16 0, i16 0, i16 13918, i16 12927, i16 0, i16 0, i16 16734, i16 0, i16 15318, i16 0, i16 13663, i16 0, i16 16595, i16 0, i16 12640, i16 0, i16 0, i16 0, i16 14945, i16 0, i16 0, i16 0, i16 15457, i16 0, i16 0, i16 0, i16 15713, i16 16567, i16 0, i16 0, i16 16225, i16 0, i16 15660, i16 0, i16 12386, i16 0, i16 0, i16 0, i16 14690, i16 0, i16 17039, i16 0, i16 16482, i16 0, i16 0, i16 0, i16 12643, i16 15955, i16 12727, i16 0, i16 13155, i16 12358, i16 0, i16 0, i16 13411, i16 17107, i16 0, i16 0, i16 16227, i16 0, i16 0, i16 0, i16 13412, i16 0, i16 15652, i16 0, i16 13924, i16 14113, i16 0, i16 0, i16 15972, i16 17161, i16 14439, i16 0, i16 16740, i16 0, i16 0, i16 0, i16 12901, i16 0, i16 0, i16 0, i16 15205, i16 0, i16 13167, i16 0, i16 15973, i16 0, i16 0, i16 0, i16 16741, i16 0, i16 14792, i16 0, i16 12646, i16 0, i16 12827, i16 0, i16 12902, i16 16984, i16 13252, i16 0, i16 14182, i16 0, i16 0, i16 0, i16 15462, i16 0, i16 0, i16 0, i16 12903, i16 0, i16 0, i16 0, i16 13159, i16 0, i16 0, i16 0, i16 14183, i16 0, i16 0, i16 0, i16 15207, i16 0, i16 0, i16 0, i16 15719, i16 0, i16 0, i16 0, i16 872, i16 873, i16 874, i16 0, i16 13672, i16 0, i16 0, i16 0, i16 14184, i16 0, i16 13723, i16 0, i16 14440, i16 15702, i16 13754, i16 0, i16 14696, i16 0, i16 12323, i16 0, i16 16488, i16 0, i16 0, i16 0, i16 12649, i16 0, i16 0, i16 0, i16 13161, i16 15899, i16 0, i16 0, i16 14185, i16 0, i16 0, i16 0, i16 14441, i16 0, i16 0, i16 0, i16 13162, i16 0, i16 0, i16 0, i16 13419, i16 0, i16 0, i16 0, i16 14443, i16 0, i16 0, i16 0, i16 15979, i16 16623, i16 0, i16 0, i16 876, i16 877, i16 878, i16 0, i16 13932, i16 13543, i16 0, i16 0, i16 17004, i16 16055, i16 15825, i16 0, i16 12397, i16 13647, i16 0, i16 0, i16 13165, i16 17058, i16 13093, i16 0, i16 14957, i16 0, i16 16405, i16 0, i16 15469, i16 0, i16 0, i16 0, i16 16749, i16 0, i16 0, i16 0, i16 13166, i16 0, i16 13950, i16 0, i16 15470, i16 12770, i16 0, i16 0, i16 16494, i16 13846, i16 16862, i16 0, i16 12655, i16 16472, i16 0, i16 0, i16 12911, i16 0, i16 14435, i16 0, i16 14447, i16 13098, i16 0, i16 0, i16 15215, i16 0, i16 0, i16 0, i16 15471, i16 0, i16 0, i16 0, i16 15727, i16 15044, i16 0, i16 0, i16 17007, i16 15700, i16 12367, i16 0, i16 12400, i16 0, i16 0, i16 0, i16 12912, i16 0, i16 0, i16 0, i16 14192, i16 0, i16 0, i16 0, i16 16240, i16 15211, i16 0, i16 0, i16 16496, i16 0, i16 16462, i16 0, i16 12401, i16 0, i16 0, i16 0, i16 14193, i16 16914, i16 16725, i16 0, i16 15217, i16 0, i16 12511, i16 0, i16 16497, i16 0, i16 14251, i16 0, i16 12402, i16 0, i16 0, i16 0, i16 13682, i16 0, i16 15219, i16 0, i16 14962, i16 0, i16 16960, i16 0, i16 12659, i16 16333, i16 0, i16 0, i16 13683, i16 0, i16 0, i16 0, i16 13684, i16 0, i16 12944, i16 0, i16 16756, i16 16757, i16 12346, i16 0, i16 17012, i16 13397, i16 0, i16 0, i16 17013, i16 0, i16 0, i16 0, i16 13430, i16 0, i16 0, i16 0, i16 14454, i16 0, i16 0, i16 0, i16 15222, i16 0, i16 0, i16 0, i16 15990, i16 0, i16 12661, i16 0, i16 13943, i16 13179, i16 16645, i16 0, i16 14455, i16 0, i16 0, i16 0, i16 14967, i16 0, i16 0, i16 0, i16 17015, i16 0, i16 15677, i16 0, i16 12920, i16 0, i16 0, i16 0, i16 15736, i16 0, i16 14401, i16 0, i16 13433, i16 12583, i16 0, i16 0, i16 13945, i16 0, i16 0, i16 0, i16 17017, i16 0, i16 0, i16 0, i16 15226, i16 0, i16 0, i16 0, i16 15994, i16 16110, i16 0, i16 0, i16 16762, i16 0, i16 0, i16 0, i16 15739, i16 0, i16 0, i16 0, i16 16507, i16 0, i16 0, i16 0, i16 15740, i16 0, i16 0, i16 0, i16 13693, i16 0, i16 13630, i16 0, i16 13949, i16 0, i16 14130, i16 0, i16 14461, i16 0, i16 0, i16 0, i16 15741, i16 0, i16 0, i16 0, i16 382, i16 383, i16 384, i16 0, i16 12670, i16 0, i16 0, i16 0, i16 13694, i16 0, i16 0, i16 0, i16 14718, i16 0, i16 0, i16 0, i16 16254, i16 16540, i16 14067, i16 0, i16 17022, i16 0, i16 0, i16 0, i16 13951, i16 14569, i16 0, i16 0, i16 14719, i16 0, i16 0, i16 0, i16 14975, i16 0, i16 0, i16 0, i16 15999, i16 16395, i16 0, i16 0, i16 16255, i16 15970, i16 0, i16 0, i16 14464, i16 0, i16 0, i16 0, i16 16000, i16 0, i16 15654, i16 0, i16 16768, i16 0, i16 0, i16 0, i16 129, i16 130, i16 0, i16 0, i16 12417, i16 0, i16 0, i16 0, i16 14209, i16 0, i16 0, i16 0, i16 16257, i16 13839, i16 0, i16 0, i16 12418, i16 0, i16 0, i16 0, i16 13698, i16 0, i16 0, i16 0, i16 14722, i16 0, i16 0, i16 0, i16 16514, i16 0, i16 0, i16 0, i16 15236, i16 0, i16 12423, i16 0, i16 17028, i16 0, i16 14146, i16 0, i16 133, i16 0, i16 0, i16 0, i16 13957, i16 0, i16 0, i16 0, i16 14469, i16 0, i16 14664, i16 0, i16 15749, i16 15089, i16 0, i16 0, i16 16773, i16 0, i16 0, i16 0, i16 17029, i16 16890, i16 0, i16 0, i16 134, i16 0, i16 0, i16 0, i16 12422, i16 16944, i16 0, i16 0, i16 13702, i16 0, i16 0, i16 0, i16 14726, i16 12950, i16 15112, i16 0, i16 135, i16 0, i16 216, i16 0, i16 12935, i16 15489, i16 14213, i16 0, i16 13191, i16 13212, i16 14463, i16 0, i16 13959, i16 13804, i16 0, i16 0, i16 16007, i16 0, i16 16851, i16 0, i16 17031, i16 0, i16 15590, i16 0, i16 13192, i16 0, i16 14757, i16 0, i16 13448, i16 0, i16 0, i16 0, i16 14728, i16 0, i16 14610, i16 0, i16 16008, i16 0, i16 0, i16 0, i16 12681, i16 0, i16 0, i16 0, i16 15753, i16 0, i16 0, i16 0, i16 13194, i16 0, i16 14601, i16 0, i16 13706, i16 13328, i16 0, i16 0, i16 12683, i16 0, i16 0, i16 0, i16 16267, i16 13977, i16 0, i16 0, i16 16523, i16 0, i16 0, i16 0, i16 13196, i16 16505, i16 0, i16 0, i16 16268, i16 0, i16 0, i16 0, i16 15501, i16 0, i16 0, i16 0, i16 13966, i16 0, i16 14225, i16 0, i16 14222, i16 0, i16 15866, i16 0, i16 16782, i16 15483, i16 12909, i16 0, i16 14991, i16 0, i16 0, i16 0, i16 14224, i16 16057, i16 16615, i16 0, i16 14480, i16 0, i16 0, i16 0, i16 14736, i16 0, i16 16389, i16 0, i16 14992, i16 0, i16 12530, i16 0, i16 15760, i16 0, i16 15102, i16 0, i16 16528, i16 0, i16 12544, i16 0, i16 12689, i16 0, i16 0, i16 0, i16 14481, i16 0, i16 0, i16 0, i16 16017, i16 0, i16 16265, i16 0, i16 16273, i16 0, i16 0, i16 0, i16 17041, i16 12577, i16 0, i16 0, i16 13714, i16 0, i16 17088, i16 0, i16 13970, i16 0, i16 0, i16 0, i16 14994, i16 0, i16 0, i16 0, i16 13203, i16 0, i16 15248, i16 0, i16 13715, i16 0, i16 0, i16 0, i16 14227, i16 0, i16 14729, i16 0, i16 12436, i16 12560, i16 0, i16 0, i16 15508, i16 0, i16 0, i16 0, i16 16020, i16 13774, i16 13965, i16 0, i16 16788, i16 0, i16 13922, i16 0, i16 12949, i16 14112, i16 0, i16 0, i16 14485, i16 12372, i16 0, i16 0, i16 14997, i16 0, i16 0, i16 0, i16 15509, i16 17038, i16 0, i16 0, i16 15765, i16 0, i16 13172, i16 0, i16 16021, i16 0, i16 0, i16 0, i16 16533, i16 17065, i16 15937, i16 0, i16 14742, i16 0, i16 0, i16 0, i16 14998, i16 0, i16 0, i16 0, i16 16278, i16 12741, i16 0, i16 0, i16 16534, i16 0, i16 0, i16 0, i16 14487, i16 0, i16 0, i16 0, i16 16279, i16 0, i16 0, i16 0, i16 13720, i16 0, i16 14858, i16 0, i16 16280, i16 14376, i16 0, i16 0, i16 13721, i16 0, i16 13661, i16 0, i16 15769, i16 0, i16 0, i16 0, i16 16025, i16 0, i16 12517, i16 0, i16 13978, i16 0, i16 0, i16 0, i16 14234, i16 0, i16 0, i16 0, i16 14490, i16 0, i16 16578, i16 0, i16 13467, i16 0, i16 0, i16 0, i16 15259, i16 0, i16 0, i16 0, i16 13724, i16 13489, i16 0, i16 0, i16 14492, i16 0, i16 0, i16 0, i16 15260, i16 0, i16 0, i16 0, i16 12445, i16 0, i16 0, i16 0, i16 13981, i16 0, i16 0, i16 0, i16 14749, i16 0, i16 15349, i16 0, i16 16797, i16 14625, i16 0, i16 0, i16 14750, i16 0, i16 14516, i16 0, i16 15262, i16 0, i16 0, i16 0, i16 15774, i16 0, i16 0, i16 0, i16 16286, i16 13429, i16 14081, i16 0, i16 12703, i16 0, i16 0, i16 0, i16 12959, i16 0, i16 0, i16 0, i16 13471, i16 0, i16 0, i16 0, i16 16799, i16 0, i16 0, i16 0, i16 14240, i16 0, i16 0, i16 0, i16 15264, i16 0, i16 0, i16 0, i16 16288, i16 0, i16 0, i16 0, i16 12449, i16 0, i16 0, i16 0, i16 14754, i16 0, i16 0, i16 0, i16 16034, i16 0, i16 14965, i16 0, i16 13219, i16 0, i16 0, i16 0, i16 13475, i16 12802, i16 0, i16 0, i16 13987, i16 0, i16 0, i16 0, i16 14499, i16 0, i16 14961, i16 0, i16 14755, i16 0, i16 0, i16 0, i16 15011, i16 0, i16 0, i16 0, i16 16035, i16 0, i16 0, i16 0, i16 16803, i16 0, i16 14505, i16 0, i16 13988, i16 0, i16 0, i16 0, i16 15012, i16 0, i16 13477, i16 0, i16 15268, i16 0, i16 0, i16 0, i16 12453, i16 0, i16 0, i16 0, i16 14245, i16 0, i16 0, i16 0, i16 15270, i16 13548, i16 0, i16 0, i16 13223, i16 12676, i16 0, i16 0, i16 15015, i16 0, i16 14969, i16 0, i16 16039, i16 0, i16 0, i16 0, i16 16551, i16 0, i16 0, i16 0, i16 13992, i16 12922, i16 12751, i16 0, i16 14248, i16 0, i16 13984, i16 0, i16 15016, i16 0, i16 0, i16 0, i16 169, i16 347, i16 0, i16 0, i16 14761, i16 0, i16 0, i16 0, i16 16809, i16 0, i16 15476, i16 0, i16 12970, i16 0, i16 0, i16 0, i16 14506, i16 12454, i16 0, i16 0, i16 14762, i16 0, i16 0, i16 0, i16 15786, i16 16009, i16 0, i16 0, i16 14507, i16 0, i16 13835, i16 0, i16 16555, i16 14270, i16 15187, i16 0, i16 12716, i16 16963, i16 13886, i16 0, i16 13740, i16 0, i16 0, i16 0, i16 14252, i16 0, i16 13592, i16 0, i16 15532, i16 0, i16 0, i16 0, i16 173, i16 0, i16 0, i16 0, i16 12461, i16 0, i16 0, i16 0, i16 14510, i16 12978, i16 0, i16 0, i16 16814, i16 0, i16 0, i16 0, i16 12719, i16 15416, i16 0, i16 0, i16 13231, i16 0, i16 0, i16 0, i16 13487, i16 0, i16 0, i16 0, i16 16047, i16 0, i16 0, i16 0, i16 16303, i16 13486, i16 15435, i16 0, i16 12464, i16 0, i16 0, i16 0, i16 13232, i16 0, i16 14864, i16 0, i16 14000, i16 0, i16 0, i16 0, i16 15280, i16 0, i16 0, i16 0, i16 16304, i16 0, i16 0, i16 0, i16 17072, i16 0, i16 13786, i16 0, i16 13745, i16 0, i16 0, i16 0, i16 14001, i16 0, i16 16036, i16 0, i16 17073, i16 0, i16 0, i16 0, i16 12722, i16 0, i16 0, i16 0, i16 14002, i16 13056, i16 16377, i16 0, i16 16306, i16 0, i16 0, i16 0, i16 12467, i16 0, i16 0, i16 0, i16 12979, i16 15210, i16 0, i16 0, i16 13235, i16 16467, i16 0, i16 0, i16 14003, i16 0, i16 12539, i16 0, i16 14259, i16 0, i16 0, i16 0, i16 12468, i16 0, i16 0, i16 0, i16 13236, i16 0, i16 0, i16 0, i16 13748, i16 0, i16 0, i16 0, i16 14772, i16 0, i16 0, i16 0, i16 14261, i16 0, i16 16750, i16 0, i16 15797, i16 0, i16 15079, i16 0, i16 182, i16 181, i16 0, i16 0, i16 12982, i16 0, i16 0, i16 0, i16 16566, i16 14236, i16 12396, i16 0, i16 14007, i16 0, i16 14200, i16 0, i16 15287, i16 15298, i16 0, i16 0, i16 16311, i16 0, i16 0, i16 0, i16 17079, i16 0, i16 16957, i16 0, i16 14008, i16 0, i16 0, i16 0, i16 14264, i16 0, i16 0, i16 0, i16 15032, i16 0, i16 0, i16 0, i16 15800, i16 0, i16 12647, i16 0, i16 17080, i16 0, i16 0, i16 0, i16 14777, i16 0, i16 12653, i16 0, i16 12730, i16 13939, i16 0, i16 0, i16 13242, i16 0, i16 0, i16 0, i16 17082, i16 15463, i16 0, i16 0, i16 13243, i16 0, i16 0, i16 0, i16 13499, i16 0, i16 12619, i16 0, i16 15547, i16 0, i16 0, i16 0, i16 16059, i16 0, i16 0, i16 0, i16 16827, i16 0, i16 0, i16 0, i16 12732, i16 0, i16 0, i16 0, i16 14780, i16 0, i16 0, i16 0, i16 16060, i16 16222, i16 16477, i16 0, i16 14013, i16 0, i16 0, i16 0, i16 16829, i16 14875, i16 0, i16 0, i16 12478, i16 0, i16 13819, i16 0, i16 16318, i16 0, i16 0, i16 0, i16 17086, i16 16766, i16 0, i16 0, i16 959, i16 960, i16 961, i16 0, i16 12479, i16 17114, i16 0, i16 0, i16 16831, i16 0, i16 0, i16 0, i16 17087, i16 0, i16 14320, i16 0, i16 12736, i16 0, i16 0, i16 0, i16 14784, i16 0, i16 0, i16 0, i16 15296, i16 0, i16 0, i16 0, i16 14529, i16 15967, i16 0, i16 0, i16 14785, i16 0, i16 14535, i16 0, i16 16577, i16 0, i16 16787, i16 0, i16 14018, i16 0, i16 12889, i16 0, i16 15554, i16 16918, i16 14331, i16 0, i16 17090, i16 0, i16 0, i16 0, i16 13507, i16 0, i16 0, i16 0, i16 14787, i16 14334, i16 12388, i16 0, i16 15555, i16 13137, i16 0, i16 0, i16 16067, i16 0, i16 14279, i16 0, i16 16835, i16 0, i16 0, i16 0, i16 14276, i16 0, i16 0, i16 0, i16 14532, i16 0, i16 0, i16 0, i16 15812, i16 0, i16 0, i16 0, i16 16580, i16 0, i16 16561, i16 0, i16 17092, i16 13324, i16 0, i16 0, i16 12485, i16 0, i16 0, i16 0, i16 13509, i16 0, i16 0, i16 0, i16 16581, i16 0, i16 0, i16 0, i16 17093, i16 14943, i16 0, i16 0, i16 13766, i16 16326, i16 0, i16 0, i16 15302, i16 0, i16 0, i16 0, i16 12487, i16 16568, i16 0, i16 0, i16 15559, i16 0, i16 0, i16 0, i16 15815, i16 0, i16 13257, i16 0, i16 16327, i16 0, i16 0, i16 0, i16 16583, i16 0, i16 0, i16 0, i16 12488, i16 0, i16 0, i16 0, i16 12744, i16 0, i16 16842, i16 0, i16 14024, i16 17150, i16 0, i16 0, i16 15048, i16 0, i16 0, i16 0, i16 13769, i16 0, i16 0, i16 0, i16 14537, i16 0, i16 0, i16 0, i16 14538, i16 0, i16 0, i16 0, i16 16330, i16 0, i16 0, i16 0, i16 12491, i16 0, i16 0, i16 0, i16 12747, i16 0, i16 0, i16 0, i16 14283, i16 0, i16 0, i16 0, i16 15563, i16 15180, i16 0, i16 0, i16 16331, i16 0, i16 0, i16 0, i16 16587, i16 16365, i16 0, i16 0, i16 204, i16 160, i16 0, i16 0, i16 12492, i16 0, i16 0, i16 0, i16 12748, i16 12463, i16 14825, i16 0, i16 15564, i16 14603, i16 14662, i16 0, i16 16076, i16 16453, i16 0, i16 0, i16 12493, i16 13904, i16 0, i16 0, i16 14029, i16 0, i16 0, i16 0, i16 12750, i16 0, i16 13916, i16 0, i16 15054, i16 0, i16 0, i16 0, i16 16334, i16 0, i16 0, i16 0, i16 16846, i16 0, i16 0, i16 0, i16 15312, i16 16790, i16 14958, i16 0, i16 15824, i16 0, i16 0, i16 0, i16 12497, i16 0, i16 0, i16 0, i16 12498, i16 16586, i16 0, i16 0, i16 13266, i16 0, i16 0, i16 0, i16 16082, i16 0, i16 0, i16 0, i16 16338, i16 16898, i16 0, i16 0, i16 13267, i16 0, i16 0, i16 0, i16 15571, i16 0, i16 13048, i16 0, i16 16339, i16 0, i16 0, i16 0, i16 13268, i16 0, i16 16251, i16 0, i16 14548, i16 0, i16 13322, i16 0, i16 17108, i16 0, i16 0, i16 0, i16 13525, i16 0, i16 0, i16 0, i16 14549, i16 16208, i16 0, i16 0, i16 15061, i16 16355, i16 12754, i16 0, i16 16085, i16 0, i16 16086, i16 0, i16 16341, i16 0, i16 0, i16 0, i16 12758, i16 0, i16 0, i16 0, i16 13782, i16 13206, i16 0, i16 0, i16 14038, i16 0, i16 0, i16 0, i16 14294, i16 0, i16 0, i16 0, i16 13271, i16 15273, i16 0, i16 0, i16 14551, i16 0, i16 0, i16 0, i16 15063, i16 0, i16 0, i16 0, i16 15319, i16 15008, i16 0, i16 0, i16 16087, i16 0, i16 0, i16 0, i16 16855, i16 0, i16 0, i16 0, i16 17111, i16 0, i16 0, i16 0, i16 13528, i16 0, i16 0, i16 0, i16 15320, i16 13709, i16 0, i16 0, i16 15576, i16 0, i16 0, i16 0, i16 15832, i16 0, i16 0, i16 0, i16 17112, i16 0, i16 15491, i16 0, i16 15577, i16 15748, i16 0, i16 0, i16 16857, i16 0, i16 0, i16 0, i16 17113, i16 0, i16 0, i16 0, i16 12506, i16 0, i16 0, i16 0, i16 13530, i16 0, i16 16095, i16 0, i16 15834, i16 16856, i16 0, i16 0, i16 16090, i16 0, i16 15381, i16 0, i16 16346, i16 0, i16 0, i16 0, i16 16858, i16 0, i16 0, i16 0, i16 12507, i16 15526, i16 12403, i16 0, i16 16091, i16 0, i16 0, i16 0, i16 16347, i16 14430, i16 0, i16 0, i16 14044, i16 0, i16 0, i16 0, i16 14556, i16 0, i16 13251, i16 0, i16 12765, i16 0, i16 0, i16 0, i16 17117, i16 0, i16 0, i16 0, i16 14302, i16 0, i16 0, i16 0, i16 16094, i16 0, i16 12956, i16 0, i16 12767, i16 0, i16 0, i16 0, i16 15583, i16 0, i16 14655, i16 0, i16 14304, i16 15497, i16 0, i16 0, i16 14560, i16 0, i16 0, i16 0, i16 15840, i16 0, i16 16260, i16 0, i16 13281, i16 0, i16 0, i16 0, i16 14049, i16 0, i16 0, i16 0, i16 16097, i16 0, i16 12370, i16 0, i16 15074, i16 0, i16 0, i16 0, i16 15330, i16 15690, i16 15960, i16 0, i16 16866, i16 0, i16 0, i16 0, i16 227, i16 0, i16 0, i16 0, i16 12515, i16 0, i16 13876, i16 0, i16 14563, i16 0, i16 0, i16 0, i16 16611, i16 0, i16 0, i16 0, i16 12516, i16 0, i16 0, i16 0, i16 13284, i16 0, i16 0, i16 0, i16 13540, i16 0, i16 0, i16 0, i16 13796, i16 0, i16 0, i16 0, i16 14308, i16 0, i16 0, i16 0, i16 14309, i16 0, i16 0, i16 0, i16 14565, i16 0, i16 16525, i16 0, i16 16101, i16 14818, i16 0, i16 0, i16 16357, i16 14010, i16 0, i16 0, i16 14566, i16 0, i16 0, i16 0, i16 15334, i16 0, i16 0, i16 0, i16 16102, i16 16942, i16 15214, i16 0, i16 15847, i16 0, i16 0, i16 0, i16 16359, i16 15252, i16 0, i16 0, i16 232, i16 0, i16 0, i16 0, i16 15336, i16 0, i16 15165, i16 0, i16 16361, i16 15730, i16 0, i16 0, i16 14058, i16 0, i16 0, i16 0, i16 14314, i16 0, i16 0, i16 0, i16 15082, i16 12921, i16 14023, i16 0, i16 12779, i16 0, i16 0, i16 0, i16 13035, i16 0, i16 0, i16 0, i16 15083, i16 16001, i16 0, i16 0, i16 15595, i16 0, i16 0, i16 0, i16 16107, i16 0, i16 14187, i16 0, i16 16363, i16 0, i16 0, i16 0, i16 236, i16 0, i16 0, i16 0, i16 15596, i16 0, i16 0, i16 0, i16 16876, i16 0, i16 0, i16 0, i16 14061, i16 0, i16 0, i16 0, i16 14829, i16 14436, i16 16437, i16 0, i16 16621, i16 15846, i16 0, i16 0, i16 17133, i16 0, i16 0, i16 0, i16 12782, i16 0, i16 0, i16 0, i16 14318, i16 0, i16 14389, i16 0, i16 15598, i16 12969, i16 0, i16 0, i16 239, i16 0, i16 0, i16 0, i16 13295, i16 0, i16 0, i16 0, i16 496, i16 497, i16 498, i16 0, i16 12784, i16 0, i16 14922, i16 0, i16 16624, i16 0, i16 0, i16 0, i16 16880, i16 16428, i16 16881, i16 0, i16 14322, i16 15067, i16 0, i16 0, i16 14578, i16 0, i16 0, i16 0, i16 15602, i16 0, i16 0, i16 0, i16 12531, i16 0, i16 0, i16 0, i16 13299, i16 14574, i16 0, i16 0, i16 15859, i16 12469, i16 0, i16 0, i16 17139, i16 0, i16 0, i16 0, i16 12532, i16 0, i16 0, i16 0, i16 14836, i16 0, i16 0, i16 0, i16 13301, i16 0, i16 0, i16 0, i16 13557, i16 13244, i16 16772, i16 0, i16 12534, i16 0, i16 13973, i16 0, i16 13814, i16 13690, i16 0, i16 0, i16 14070, i16 0, i16 0, i16 0, i16 15862, i16 0, i16 0, i16 0, i16 16118, i16 0, i16 0, i16 0, i16 13303, i16 0, i16 0, i16 0, i16 13559, i16 14258, i16 0, i16 0, i16 14327, i16 14477, i16 0, i16 0, i16 16119, i16 0, i16 13937, i16 0, i16 16887, i16 0, i16 0, i16 0, i16 17143, i16 12677, i16 0, i16 0, i16 14840, i16 12604, i16 15706, i16 0, i16 14329, i16 0, i16 15728, i16 0, i16 16633, i16 0, i16 15151, i16 0, i16 13818, i16 16626, i16 15466, i16 0, i16 14330, i16 0, i16 0, i16 0, i16 16634, i16 12664, i16 0, i16 0, i16 251, i16 0, i16 0, i16 0, i16 13307, i16 0, i16 12887, i16 0, i16 16123, i16 0, i16 0, i16 0, i16 16379, i16 0, i16 0, i16 0, i16 16635, i16 0, i16 0, i16 0, i16 17147, i16 16591, i16 0, i16 0, i16 12796, i16 0, i16 0, i16 0, i16 14844, i16 0, i16 0, i16 0, i16 15356, i16 0, i16 0, i16 0, i16 15868, i16 0, i16 0, i16 0, i16 16636, i16 0, i16 0, i16 0, i16 16892, i16 13247, i16 0, i16 0, i16 12797, i16 0, i16 0, i16 0, i16 15613, i16 14079, i16 0, i16 0, i16 12286, i16 0, i16 13968, i16 0, i16 14078, i16 0, i16 0, i16 0, i16 14590, i16 13127, i16 0, i16 0, i16 15614, i16 13555, i16 13688, i16 0, i16 15870, i16 0, i16 0, i16 0, i16 16126, i16 0, i16 0, i16 0, i16 16382, i16 0, i16 0, i16 0, i16 12543, i16 0, i16 13728, i16 0, i16 13823, i16 0, i16 13674, i16 0, i16 15615, i16 12820, i16 0, i16 15104, i16 0, i16 0, i16 0, i16 15616, i16 13933, i16 15995, i16 0, i16 16128, i16 0, i16 0, i16 12308, i16 16640, i16 0, i16 0, i16 16054, i16 17152, i16 12348, i16 0, i16 0, i16 257, i16 258, i16 261, i16 260, i16 12801, i16 0, i16 0, i16 0, i16 13569, i16 16879, i16 0, i16 0, i16 14849, i16 0, i16 0, i16 0, i16 15617, i16 14776, i16 0, i16 0, i16 15873, i16 0, i16 14896, i16 0, i16 16385, i16 0, i16 0, i16 0, i16 514, i16 515, i16 516, i16 517, i16 770, i16 771, i16 772, i16 0, i16 1026, i16 1027, i16 1028, i16 1029, i16 13058, i16 12645, i16 0, i16 14683, i16 15874, i16 0, i16 0, i16 12460, i16 16386, i16 0, i16 0, i16 0, i16 259, i16 262, i16 0, i16 0, i16 12803, i16 0, i16 0, i16 0, i16 13059, i16 13351, i16 0, i16 0, i16 14083, i16 14084, i16 0, i16 0, i16 15107, i16 0, i16 0, i16 0, i16 16387, i16 0, i16 15688, i16 0, i16 16643, i16 0, i16 0, i16 0, i16 17155, i16 0, i16 16783, i16 0, i16 13828, i16 0, i16 0, i16 0, i16 15108, i16 12610, i16 14517, i16 0, i16 15364, i16 15365, i16 12936, i16 0, i16 15876, i16 0, i16 0, i16 0, i16 12805, i16 13691, i16 0, i16 0, i16 14853, i16 0, i16 0, i16 0, i16 15621, i16 0, i16 0, i16 0, i16 16901, i16 0, i16 0, i16 16677, i16 17157, i16 0, i16 0, i16 0, i16 518, i16 519, i16 0, i16 0, i16 1030, i16 1031, i16 1032, i16 1033, i16 13574, i16 0, i16 0, i16 0, i16 13830, i16 0, i16 0, i16 0, i16 14086, i16 0, i16 0, i16 0, i16 14342, i16 15893, i16 15892, i16 0, i16 7, i16 8, i16 9, i16 10, i16 263, i16 277, i16 278, i16 0, i16 775, i16 0, i16 0, i16 0, i16 12807, i16 0, i16 0, i16 0, i16 13319, i16 0, i16 0, i16 0, i16 13831, i16 0, i16 0, i16 0, i16 14855, i16 0, i16 0, i16 0, i16 15367, i16 0, i16 0, i16 17002, i16 15879, i16 14820, i16 14767, i16 0, i16 17159, i16 17158, i16 16518, i16 0, i16 776, i16 773, i16 777, i16 233, i16 12552, i16 16573, i16 0, i16 14188, i16 12808, i16 0, i16 0, i16 0, i16 13576, i16 12432, i16 0, i16 0, i16 16904, i16 0, i16 0, i16 0, i16 13065, i16 0, i16 0, i16 0, i16 13321, i16 13327, i16 13330, i16 13434, i16 14345, i16 13568, i16 0, i16 0, i16 15113, i16 14228, i16 0, i16 0, i16 15369, i16 15370, i16 0, i16 0, i16 16393, i16 13771, i16 0, i16 0, i16 266, i16 0, i16 267, i16 0, i16 1034, i16 1035, i16 1036, i16 1037, i16 12298, i16 0, i16 16519, i16 0, i16 12554, i16 0, i16 0, i16 0, i16 14090, i16 15681, i16 12652, i16 0, i16 11, i16 12, i16 13, i16 14, i16 523, i16 524, i16 525, i16 526, i16 779, i16 780, i16 781, i16 0, i16 15371, i16 0, i16 12852, i16 0, i16 15627, i16 0, i16 0, i16 0, i16 16907, i16 14760, i16 0, i16 0, i16 12812, i16 0, i16 13177, i16 0, i16 13068, i16 13069, i16 13070, i16 13072, i16 13580, i16 16024, i16 14835, i16 13381, i16 14604, i16 15275, i16 0, i16 0, i16 15372, i16 12415, i16 0, i16 12648, i16 269, i16 270, i16 0, i16 0, i16 12301, i16 12570, i16 0, i16 12599, i16 12813, i16 0, i16 0, i16 15111, i16 13581, i16 12989, i16 0, i16 0, i16 13837, i16 0, i16 16492, i16 0, i16 14093, i16 0, i16 0, i16 12975, i16 14861, i16 0, i16 15592, i16 0, i16 16141, i16 0, i16 0, i16 0, i16 16653, i16 0, i16 0, i16 0, i16 1038, i16 1039, i16 1040, i16 1041, i16 12814, i16 0, i16 0, i16 12706, i16 13838, i16 14545, i16 16980, i16 0, i16 15374, i16 15377, i16 15382, i16 15384, i16 15630, i16 0, i16 0, i16 0, i16 15886, i16 15536, i16 0, i16 14123, i16 16142, i16 14132, i16 14450, i16 0, i16 15, i16 16, i16 17, i16 18, i16 527, i16 528, i16 529, i16 530, i16 12303, i16 13730, i16 0, i16 0, i16 14095, i16 0, i16 0, i16 0, i16 15375, i16 0, i16 0, i16 0, i16 15631, i16 14274, i16 14286, i16 16727, i16 16143, i16 0, i16 0, i16 12638, i16 16399, i16 0, i16 14372, i16 0, i16 784, i16 0, i16 0, i16 0, i16 13840, i16 0, i16 12299, i16 0, i16 14096, i16 16478, i16 0, i16 0, i16 17168, i16 0, i16 0, i16 0, i16 12305, i16 0, i16 0, i16 13199, i16 12561, i16 0, i16 0, i16 0, i16 13073, i16 13074, i16 13075, i16 13076, i16 14097, i16 0, i16 0, i16 0, i16 14865, i16 0, i16 0, i16 0, i16 15633, i16 12694, i16 0, i16 12377, i16 16401, i16 0, i16 12835, i16 0, i16 1042, i16 1043, i16 1044, i16 0, i16 13586, i16 0, i16 14476, i16 0, i16 13842, i16 12965, i16 0, i16 14265, i16 14098, i16 0, i16 0, i16 0, i16 15122, i16 15419, i16 0, i16 15300, i16 15634, i16 13210, i16 0, i16 0, i16 16402, i16 0, i16 0, i16 12309, i16 17170, i16 16987, i16 16811, i16 14313, i16 19, i16 20, i16 21, i16 0, i16 275, i16 273, i16 0, i16 0, i16 531, i16 532, i16 533, i16 534, i16 12307, i16 0, i16 15734, i16 0, i16 13587, i16 0, i16 0, i16 0, i16 16403, i16 12791, i16 0, i16 0, i16 788, i16 0, i16 0, i16 0, i16 12564, i16 12629, i16 0, i16 14470, i16 14868, i16 14870, i16 14874, i16 14910, i16 16916, i16 13696, i16 0, i16 0, i16 789, i16 697, i16 790, i16 0, i16 1045, i16 1046, i16 1047, i16 1048, i16 12565, i16 0, i16 0, i16 0, i16 12821, i16 0, i16 0, i16 0, i16 13077, i16 13079, i16 13080, i16 13081, i16 13333, i16 0, i16 0, i16 0, i16 14357, i16 0, i16 0, i16 0, i16 14613, i16 13502, i16 0, i16 0, i16 14869, i16 0, i16 0, i16 0, i16 15637, i16 14361, i16 14107, i16 0, i16 22, i16 0, i16 23, i16 24, i16 16150, i16 14012, i16 13767, i16 0, i16 279, i16 276, i16 0, i16 0, i16 535, i16 536, i16 0, i16 537, i16 791, i16 0, i16 0, i16 0, i16 12567, i16 0, i16 0, i16 15172, i16 12823, i16 16179, i16 15581, i16 12312, i16 13847, i16 0, i16 0, i16 13811, i16 14359, i16 0, i16 0, i16 0, i16 14615, i16 0, i16 0, i16 14235, i16 15127, i16 0, i16 15766, i16 0, i16 15383, i16 0, i16 13753, i16 0, i16 12568, i16 0, i16 0, i16 13306, i16 12824, i16 0, i16 15607, i16 12864, i16 14104, i16 0, i16 0, i16 0, i16 14872, i16 0, i16 0, i16 0, i16 15640, i16 0, i16 0, i16 14139, i16 25, i16 26, i16 27, i16 28, i16 281, i16 0, i16 0, i16 0, i16 1049, i16 1050, i16 1052, i16 1053, i16 12313, i16 13332, i16 0, i16 12825, i16 14617, i16 0, i16 13773, i16 15987, i16 16409, i16 0, i16 15799, i16 0, i16 538, i16 539, i16 540, i16 541, i16 12314, i16 0, i16 0, i16 0, i16 12826, i16 0, i16 0, i16 12800, i16 13082, i16 13083, i16 13084, i16 13085, i16 14106, i16 16843, i16 0, i16 16575, i16 14618, i16 0, i16 0, i16 0, i16 15642, i16 0, i16 0, i16 0, i16 13339, i16 15747, i16 0, i16 0, i16 13851, i16 0, i16 13432, i16 0, i16 14363, i16 0, i16 0, i16 15368, i16 14619, i16 0, i16 0, i16 0, i16 15131, i16 0, i16 0, i16 16830, i16 16411, i16 0, i16 0, i16 0, i16 16923, i16 14142, i16 0, i16 14540, i16 12316, i16 0, i16 0, i16 16908, i16 13596, i16 0, i16 15599, i16 0, i16 14364, i16 17134, i16 0, i16 0, i16 14876, i16 0, i16 0, i16 0, i16 15388, i16 15391, i16 15393, i16 15394, i16 29, i16 30, i16 31, i16 32, i16 12317, i16 0, i16 0, i16 15758, i16 12573, i16 0, i16 0, i16 0, i16 13341, i16 0, i16 0, i16 0, i16 14109, i16 0, i16 0, i16 13273, i16 15389, i16 0, i16 14346, i16 14634, i16 286, i16 0, i16 0, i16 679, i16 542, i16 543, i16 0, i16 0, i16 798, i16 799, i16 800, i16 801, i16 1054, i16 1055, i16 1056, i16 1057, i16 12574, i16 0, i16 14714, i16 0, i16 13086, i16 13087, i16 13088, i16 13089, i16 13598, i16 0, i16 0, i16 0, i16 14366, i16 0, i16 0, i16 13288, i16 14622, i16 0, i16 0, i16 13168, i16 14878, i16 14663, i16 0, i16 0, i16 13343, i16 0, i16 0, i16 16050, i16 13855, i16 13834, i16 0, i16 12997, i16 14111, i16 12898, i16 0, i16 14936, i16 14367, i16 0, i16 0, i16 0, i16 15647, i16 0, i16 0, i16 0, i16 16159, i16 0, i16 0, i16 0, i16 544, i16 555, i16 545, i16 556, i16 13600, i16 0, i16 0, i16 0, i16 13856, i16 16531, i16 0, i16 0, i16 14880, i16 0, i16 0, i16 0, i16 16160, i16 0, i16 0, i16 0, i16 16416, i16 0, i16 13817, i16 0, i16 33, i16 34, i16 35, i16 36, i16 13857, i16 0, i16 0, i16 0, i16 546, i16 583, i16 582, i16 557, i16 802, i16 803, i16 804, i16 805, i16 1058, i16 1059, i16 1060, i16 1061, i16 12578, i16 0, i16 0, i16 0, i16 12834, i16 16537, i16 13775, i16 0, i16 14626, i16 0, i16 0, i16 0, i16 15138, i16 0, i16 0, i16 0, i16 16930, i16 0, i16 0, i16 0, i16 291, i16 292, i16 293, i16 294, i16 547, i16 577, i16 576, i16 558, i16 12579, i16 12755, i16 0, i16 0, i16 13091, i16 13092, i16 13096, i16 13097, i16 13347, i16 0, i16 0, i16 0, i16 14627, i16 14539, i16 15436, i16 0, i16 15651, i16 0, i16 15105, i16 0, i16 16931, i16 0, i16 0, i16 12335, i16 548, i16 579, i16 578, i16 559, i16 15908, i16 0, i16 0, i16 0, i16 16164, i16 0, i16 13836, i16 0, i16 16932, i16 15385, i16 0, i16 0, i16 37, i16 38, i16 39, i16 40, i16 549, i16 581, i16 580, i16 560, i16 13349, i16 0, i16 0, i16 0, i16 13605, i16 0, i16 0, i16 0, i16 13861, i16 0, i16 14594, i16 15626, i16 14629, i16 0, i16 12476, i16 0, i16 14885, i16 0, i16 0, i16 0, i16 15141, i16 0, i16 0, i16 12717, i16 15397, i16 0, i16 0, i16 0, i16 15653, i16 0, i16 0, i16 16014, i16 550, i16 571, i16 584, i16 585, i16 806, i16 807, i16 808, i16 809, i16 1062, i16 1063, i16 1064, i16 1065, i16 12326, i16 0, i16 0, i16 0, i16 13606, i16 0, i16 0, i16 0, i16 14118, i16 16596, i16 15068, i16 14731, i16 14886, i16 0, i16 12514, i16 0, i16 16422, i16 0, i16 14654, i16 0, i16 295, i16 296, i16 297, i16 298, i16 551, i16 592, i16 593, i16 567, i16 12839, i16 0, i16 0, i16 0, i16 13607, i16 14883, i16 16707, i16 0, i16 13863, i16 0, i16 0, i16 0, i16 15399, i16 0, i16 0, i16 0, i16 15655, i16 14031, i16 14395, i16 0, i16 16167, i16 0, i16 15903, i16 0, i16 16935, i16 0, i16 0, i16 0, i16 552, i16 573, i16 588, i16 589, i16 13352, i16 0, i16 0, i16 0, i16 13608, i16 0, i16 0, i16 0, i16 14120, i16 0, i16 15293, i16 0, i16 15144, i16 0, i16 0, i16 0, i16 15912, i16 12541, i16 13870, i16 0, i16 41, i16 42, i16 43, i16 44, i16 553, i16 596, i16 597, i16 569, i16 12585, i16 0, i16 0, i16 0, i16 12841, i16 12810, i16 0, i16 0, i16 13865, i16 0, i16 0, i16 13462, i16 14377, i16 12693, i16 0, i16 12872, i16 15913, i16 0, i16 0, i16 0, i16 16169, i16 12857, i16 0, i16 13290, i16 554, i16 600, i16 601, i16 570, i16 810, i16 811, i16 812, i16 813, i16 1066, i16 1067, i16 1068, i16 1069, i16 13866, i16 0, i16 14612, i16 0, i16 14378, i16 0, i16 16272, i16 13312, i16 15402, i16 0, i16 0, i16 0, i16 16426, i16 14161, i16 0, i16 0, i16 16682, i16 0, i16 0, i16 0, i16 16938, i16 0, i16 16694, i16 16603, i16 299, i16 300, i16 301, i16 302, i16 12331, i16 0, i16 0, i16 0, i16 13099, i16 13100, i16 13102, i16 13103, i16 13867, i16 0, i16 0, i16 0, i16 15659, i16 0, i16 0, i16 14841, i16 13612, i16 0, i16 16751, i16 13410, i16 14636, i16 0, i16 0, i16 0, i16 14892, i16 14009, i16 0, i16 0, i16 15148, i16 0, i16 15943, i16 12679, i16 15916, i16 0, i16 0, i16 0, i16 16940, i16 16394, i16 14706, i16 0, i16 45, i16 46, i16 47, i16 48, i16 12333, i16 0, i16 0, i16 12297, i16 12845, i16 0, i16 0, i16 14223, i16 13357, i16 16618, i16 0, i16 0, i16 13613, i16 14635, i16 0, i16 0, i16 13869, i16 0, i16 0, i16 0, i16 15661, i16 0, i16 0, i16 0, i16 15917, i16 16642, i16 0, i16 0, i16 16173, i16 0, i16 0, i16 13254, i16 814, i16 815, i16 816, i16 817, i16 1070, i16 1071, i16 1072, i16 1073, i16 12846, i16 0, i16 16637, i16 13664, i16 303, i16 304, i16 305, i16 306, i16 12847, i16 0, i16 0, i16 0, i16 13615, i16 0, i16 13985, i16 0, i16 13871, i16 0, i16 0, i16 0, i16 14895, i16 0, i16 15844, i16 14089, i16 12592, i16 0, i16 16205, i16 0, i16 13104, i16 13105, i16 13106, i16 13107, i16 13872, i16 0, i16 0, i16 0, i16 15152, i16 0, i16 12319, i16 12545, i16 49, i16 50, i16 51, i16 52, i16 13873, i16 0, i16 0, i16 0, i16 14129, i16 0, i16 0, i16 0, i16 14897, i16 0, i16 0, i16 0, i16 15665, i16 0, i16 16344, i16 16912, i16 15921, i16 16016, i16 14055, i16 13417, i16 16177, i16 0, i16 0, i16 14753, i16 818, i16 819, i16 820, i16 821, i16 1074, i16 1075, i16 1076, i16 1077, i16 15410, i16 15411, i16 15413, i16 15417, i16 16178, i16 14405, i16 0, i16 0, i16 16434, i16 15807, i16 15243, i16 0, i16 307, i16 308, i16 309, i16 310, i16 12339, i16 0, i16 0, i16 15839, i16 14131, i16 0, i16 0, i16 0, i16 14387, i16 0, i16 0, i16 0, i16 14643, i16 15448, i16 0, i16 0, i16 15155, i16 0, i16 0, i16 0, i16 15667, i16 0, i16 0, i16 0, i16 16435, i16 0, i16 0, i16 12749, i16 12596, i16 0, i16 0, i16 0, i16 13108, i16 13109, i16 13114, i16 13115, i16 13364, i16 14877, i16 0, i16 0, i16 14900, i16 0, i16 0, i16 0, i16 16436, i16 0, i16 0, i16 0, i16 53, i16 54, i16 55, i16 56, i16 12597, i16 0, i16 0, i16 16939, i16 13877, i16 0, i16 16491, i16 15185, i16 14901, i16 0, i16 0, i16 0, i16 16949, i16 0, i16 15802, i16 0, i16 566, i16 586, i16 587, i16 561, i16 822, i16 823, i16 824, i16 825, i16 1078, i16 1079, i16 1080, i16 1081, i16 14390, i16 0, i16 0, i16 0, i16 14902, i16 0, i16 0, i16 12930, i16 15158, i16 0, i16 12620, i16 15062, i16 15670, i16 0, i16 0, i16 0, i16 16438, i16 15340, i16 0, i16 16791, i16 311, i16 312, i16 313, i16 314, i16 13367, i16 16221, i16 16526, i16 0, i16 13879, i16 14764, i16 15132, i16 0, i16 15159, i16 15814, i16 0, i16 0, i16 15671, i16 0, i16 0, i16 16804, i16 16439, i16 13563, i16 0, i16 0, i16 16695, i16 0, i16 0, i16 0, i16 568, i16 590, i16 591, i16 563, i16 12600, i16 0, i16 0, i16 0, i16 13624, i16 0, i16 16032, i16 16310, i16 16440, i16 0, i16 12692, i16 13449, i16 16696, i16 0, i16 0, i16 14281, i16 16952, i16 16111, i16 0, i16 0, i16 57, i16 58, i16 59, i16 60, i16 13113, i16 0, i16 0, i16 0, i16 13881, i16 13940, i16 13941, i16 0, i16 15673, i16 16353, i16 0, i16 16691, i16 16441, i16 0, i16 12822, i16 15936, i16 16953, i16 16871, i16 15856, i16 12551, i16 826, i16 827, i16 828, i16 829, i16 1082, i16 1083, i16 1085, i16 1086, i16 14394, i16 15473, i16 0, i16 0, i16 15418, i16 15422, i16 15423, i16 15428, i16 16442, i16 0, i16 0, i16 0, i16 315, i16 316, i16 317, i16 318, i16 15931, i16 0, i16 14069, i16 0, i16 16187, i16 16188, i16 0, i16 0, i16 16699, i16 0, i16 0, i16 16698, i16 572, i16 594, i16 595, i16 562, i16 13116, i16 13117, i16 13118, i16 13119, i16 14908, i16 0, i16 0, i16 14194, i16 61, i16 62, i16 63, i16 64, i16 13629, i16 0, i16 0, i16 0, i16 574, i16 598, i16 599, i16 564, i16 830, i16 831, i16 832, i16 833, i16 12350, i16 0, i16 15031, i16 0, i16 12606, i16 13556, i16 14165, i16 0, i16 16190, i16 0, i16 0, i16 14219, i16 16446, i16 0, i16 0, i16 12529, i16 319, i16 320, i16 321, i16 322, i16 1087, i16 1088, i16 1089, i16 1090, i16 12863, i16 0, i16 0, i16 0, i16 14399, i16 0, i16 0, i16 15204, i16 14911, i16 14912, i16 14914, i16 14915, i16 14144, i16 13858, i16 0, i16 0, i16 14656, i16 0, i16 0, i16 0, i16 15424, i16 0, i16 0, i16 0, i16 16448, i16 14368, i16 17076, i16 12951, i16 65, i16 66, i16 67, i16 68, i16 12609, i16 0, i16 0, i16 0, i16 13121, i16 13122, i16 13292, i16 13314, i16 14657, i16 15421, i16 16239, i16 12586, i16 15169, i16 0, i16 0, i16 16147, i16 834, i16 835, i16 836, i16 837, i16 12354, i16 0, i16 16676, i16 14020, i16 13890, i16 0, i16 0, i16 0, i16 14402, i16 0, i16 15406, i16 0, i16 15426, i16 14351, i16 0, i16 0, i16 16450, i16 17137, i16 0, i16 0, i16 16706, i16 0, i16 0, i16 0, i16 323, i16 324, i16 325, i16 326, i16 1091, i16 1092, i16 1093, i16 1094, i16 12867, i16 0, i16 0, i16 0, i16 13123, i16 0, i16 13799, i16 13101, i16 13635, i16 0, i16 0, i16 0, i16 13891, i16 0, i16 0, i16 0, i16 14147, i16 0, i16 14148, i16 14149, i16 15939, i16 0, i16 14140, i16 13205, i16 16451, i16 0, i16 0, i16 0, i16 12356, i16 0, i16 0, i16 12804, i16 12612, i16 0, i16 0, i16 0, i16 12868, i16 0, i16 0, i16 0, i16 16708, i16 0, i16 0, i16 14124, i16 69, i16 70, i16 71, i16 72, i16 12357, i16 13758, i16 0, i16 17094, i16 838, i16 839, i16 840, i16 841, i16 12870, i16 12894, i16 12907, i16 12992, i16 14150, i16 0, i16 0, i16 13722, i16 14918, i16 14921, i16 14927, i16 14929, i16 16198, i16 0, i16 0, i16 0, i16 327, i16 328, i16 329, i16 330, i16 1095, i16 1096, i16 1097, i16 1098, i16 12871, i16 13304, i16 0, i16 0, i16 14151, i16 15380, i16 0, i16 16447, i16 14407, i16 0, i16 0, i16 0, i16 15431, i16 15432, i16 15433, i16 15434, i16 16199, i16 0, i16 16646, i16 12696, i16 16967, i16 0, i16 0, i16 0, i16 12360, i16 0, i16 0, i16 0, i16 12616, i16 0, i16 0, i16 0, i16 14152, i16 14254, i16 14256, i16 14275, i16 16200, i16 15023, i16 0, i16 0, i16 16968, i16 0, i16 0, i16 15490, i16 73, i16 74, i16 75, i16 76, i16 14409, i16 16493, i16 0, i16 12457, i16 16201, i16 0, i16 0, i16 12412, i16 842, i16 843, i16 844, i16 845, i16 13386, i16 0, i16 0, i16 0, i16 14410, i16 0, i16 0, i16 0, i16 15946, i16 0, i16 0, i16 0, i16 16458, i16 0, i16 0, i16 0, i16 331, i16 332, i16 333, i16 334, i16 1099, i16 1100, i16 1101, i16 1102, i16 13643, i16 0, i16 0, i16 0, i16 14667, i16 16229, i16 14220, i16 0, i16 16203, i16 0, i16 13697, i16 16959, i16 12876, i16 0, i16 14128, i16 0, i16 13644, i16 13645, i16 0, i16 0, i16 13900, i16 0, i16 0, i16 0, i16 14668, i16 15935, i16 0, i16 0, i16 15692, i16 0, i16 0, i16 0, i16 16460, i16 17118, i16 13652, i16 16277, i16 16716, i16 0, i16 0, i16 0, i16 16972, i16 13323, i16 0, i16 0, i16 77, i16 78, i16 79, i16 80, i16 13133, i16 0, i16 0, i16 0, i16 14413, i16 14238, i16 0, i16 0, i16 15437, i16 13403, i16 15831, i16 14474, i16 15693, i16 12584, i16 0, i16 14433, i16 846, i16 847, i16 848, i16 849, i16 12366, i16 0, i16 0, i16 0, i16 12622, i16 0, i16 0, i16 0, i16 14158, i16 0, i16 0, i16 0, i16 15182, i16 15183, i16 15189, i16 15191, i16 15438, i16 0, i16 15541, i16 0, i16 16718, i16 0, i16 0, i16 0, i16 335, i16 336, i16 337, i16 338, i16 1103, i16 1104, i16 1105, i16 1106, i16 16207, i16 13692, i16 0, i16 0, i16 16719, i16 16092, i16 0, i16 12318, i16 16975, i16 0, i16 16560, i16 0, i16 12368, i16 0, i16 14730, i16 16284, i16 12624, i16 13779, i16 0, i16 0, i16 12880, i16 0, i16 0, i16 0, i16 13648, i16 16754, i16 0, i16 0, i16 14672, i16 0, i16 0, i16 0, i16 14928, i16 0, i16 0, i16 0, i16 15440, i16 15484, i16 15485, i16 15488, i16 15952, i16 0, i16 0, i16 0, i16 81, i16 82, i16 83, i16 84, i16 12625, i16 0, i16 0, i16 0, i16 12881, i16 0, i16 0, i16 0, i16 13393, i16 15069, i16 0, i16 0, i16 13905, i16 0, i16 0, i16 0, i16 15441, i16 0, i16 12759, i16 15305, i16 15953, i16 15242, i16 0, i16 0, i16 850, i16 851, i16 0, i16 0, i16 12626, i16 0, i16 16516, i16 0, i16 13138, i16 0, i16 0, i16 0, i16 14930, i16 14931, i16 14933, i16 14937, i16 15954, i16 12429, i16 0, i16 0, i16 16978, i16 0, i16 12756, i16 0, i16 339, i16 340, i16 341, i16 342, i16 1107, i16 1108, i16 1109, i16 1110, i16 12371, i16 0, i16 0, i16 13280, i16 12883, i16 16244, i16 0, i16 14076, i16 852, i16 853, i16 854, i16 855, i16 85, i16 86, i16 87, i16 88, i16 13909, i16 0, i16 0, i16 0, i16 15190, i16 16683, i16 0, i16 0, i16 15446, i16 0, i16 0, i16 16364, i16 16726, i16 0, i16 15405, i16 0, i16 343, i16 344, i16 345, i16 346, i16 14167, i16 0, i16 0, i16 0, i16 16215, i16 0, i16 0, i16 16946, i16 856, i16 857, i16 858, i16 859, i16 12632, i16 0, i16 12954, i16 14051, i16 14680, i16 0, i16 0, i16 16133, i16 15192, i16 0, i16 0, i16 12731, i16 15704, i16 0, i16 0, i16 0, i16 13657, i16 0, i16 16746, i16 15249, i16 14169, i16 0, i16 0, i16 14941, i16 14681, i16 0, i16 0, i16 13062, i16 15193, i16 15196, i16 15203, i16 15208, i16 16217, i16 0, i16 0, i16 0, i16 602, i16 603, i16 575, i16 604, i16 12378, i16 0, i16 0, i16 0, i16 12634, i16 0, i16 0, i16 0, i16 13914, i16 0, i16 0, i16 0, i16 14938, i16 14942, i16 14950, i16 14952, i16 16218, i16 0, i16 15720, i16 15308, i16 16474, i16 0, i16 0, i16 0, i16 12635, i16 0, i16 15162, i16 0, i16 15195, i16 15117, i16 0, i16 0, i16 16219, i16 14723, i16 0, i16 14210, i16 16475, i16 16878, i16 0, i16 0, i16 16731, i16 13425, i16 13354, i16 0, i16 860, i16 861, i16 862, i16 863, i16 12636, i16 12671, i16 12843, i16 12848, i16 15452, i16 0, i16 0, i16 16113, i16 15964, i16 0, i16 0, i16 0, i16 16732, i16 15276, i16 0, i16 0, i16 93, i16 94, i16 95, i16 96, i16 605, i16 606, i16 607, i16 608, i16 12381, i16 0, i16 0, i16 0, i16 12637, i16 0, i16 0, i16 0, i16 15197, i16 0, i16 0, i16 0, i16 16989, i16 16604, i16 16529, i16 12685, i16 12382, i16 0, i16 0, i16 0, i16 13662, i16 17008, i16 17091, i16 15900, i16 15966, i16 0, i16 15965, i16 0, i16 16990, i16 0, i16 0, i16 15548, i16 351, i16 352, i16 353, i16 354, i16 12639, i16 13535, i16 16905, i16 0, i16 13407, i16 14189, i16 0, i16 0, i16 13919, i16 14215, i16 0, i16 0, i16 14175, i16 0, i16 16825, i16 0, i16 14687, i16 0, i16 15830, i16 17030, i16 16479, i16 0, i16 15951, i16 0, i16 864, i16 865, i16 866, i16 0, i16 12384, i16 15412, i16 14756, i16 0, i16 13152, i16 16096, i16 0, i16 0, i16 13408, i16 0, i16 0, i16 0, i16 13920, i16 0, i16 0, i16 0, i16 14688, i16 0, i16 0, i16 0, i16 16224, i16 0, i16 0, i16 0, i16 16480, i16 0, i16 0, i16 0, i16 16992, i16 0, i16 0, i16 0, i16 97, i16 98, i16 99, i16 100, i16 609, i16 610, i16 611, i16 565, i16 12385, i16 15963, i16 0, i16 0, i16 13153, i16 15352, i16 0, i16 0, i16 14177, i16 16622, i16 0, i16 0, i16 15201, i16 13463, i16 0, i16 12601, i16 16481, i16 0, i16 16100, i16 14801, i16 16737, i16 14119, i16 13491, i16 15570, i16 12642, i16 15578, i16 0, i16 15586, i16 14178, i16 0, i16 0, i16 0, i16 14434, i16 0, i16 12816, i16 0, i16 15202, i16 12458, i16 0, i16 0, i16 15714, i16 0, i16 0, i16 0, i16 16738, i16 17040, i16 0, i16 13241, i16 355, i16 356, i16 357, i16 358, i16 14691, i16 0, i16 13169, i16 0, i16 14947, i16 0, i16 0, i16 15534, i16 12644, i16 0, i16 16786, i16 0, i16 12900, i16 14153, i16 16593, i16 0, i16 13668, i16 0, i16 16247, i16 0, i16 101, i16 102, i16 103, i16 104, i16 13157, i16 0, i16 0, i16 0, i16 13413, i16 0, i16 0, i16 0, i16 14181, i16 0, i16 0, i16 0, i16 14437, i16 14744, i16 12562, i16 0, i16 14949, i16 14462, i16 12293, i16 0, i16 16485, i16 0, i16 0, i16 0, i16 16997, i16 13129, i16 0, i16 15959, i16 870, i16 0, i16 0, i16 0, i16 13670, i16 12405, i16 0, i16 0, i16 13926, i16 0, i16 16547, i16 0, i16 15206, i16 0, i16 0, i16 0, i16 16742, i16 0, i16 15362, i16 0, i16 359, i16 360, i16 361, i16 362, i16 13671, i16 0, i16 0, i16 16700, i16 14695, i16 0, i16 14197, i16 0, i16 16231, i16 0, i16 0, i16 15711, i16 16743, i16 0, i16 0, i16 0, i16 16999, i16 12558, i16 0, i16 0, i16 616, i16 622, i16 623, i16 624, i16 13928, i16 13929, i16 0, i16 0, i16 15464, i16 16002, i16 0, i16 0, i16 15976, i16 0, i16 0, i16 16852, i16 16232, i16 0, i16 16003, i16 0, i16 16744, i16 0, i16 14502, i16 13911, i16 105, i16 106, i16 107, i16 108, i16 617, i16 675, i16 690, i16 283, i16 14953, i16 14956, i16 14964, i16 14968, i16 15209, i16 13666, i16 16813, i16 14575, i16 15465, i16 0, i16 0, i16 0, i16 15721, i16 0, i16 0, i16 0, i16 16489, i16 13095, i16 0, i16 14300, i16 16745, i16 0, i16 0, i16 0, i16 14954, i16 0, i16 0, i16 0, i16 363, i16 364, i16 365, i16 366, i16 619, i16 620, i16 621, i16 640, i16 875, i16 0, i16 0, i16 0, i16 12395, i16 0, i16 0, i16 0, i16 13163, i16 0, i16 13604, i16 0, i16 13931, i16 0, i16 16865, i16 13665, i16 14699, i16 0, i16 0, i16 0, i16 15723, i16 0, i16 0, i16 0, i16 16747, i16 15442, i16 12315, i16 0, i16 14444, i16 0, i16 14347, i16 0, i16 14700, i16 15223, i16 0, i16 0, i16 15468, i16 0, i16 0, i16 0, i16 15724, i16 0, i16 0, i16 0, i16 16236, i16 0, i16 12512, i16 16144, i16 109, i16 110, i16 111, i16 112, i16 14701, i16 0, i16 12413, i16 15310, i16 15213, i16 0, i16 0, i16 16807, i16 15981, i16 0, i16 0, i16 14611, i16 12398, i16 0, i16 13810, i16 0, i16 13422, i16 0, i16 0, i16 0, i16 13678, i16 16641, i16 15345, i16 0, i16 14702, i16 0, i16 0, i16 0, i16 15726, i16 0, i16 12419, i16 17035, i16 16238, i16 0, i16 14062, i16 0, i16 367, i16 368, i16 369, i16 370, i16 879, i16 880, i16 881, i16 882, i16 12399, i16 15153, i16 0, i16 0, i16 13423, i16 0, i16 0, i16 17122, i16 14191, i16 0, i16 16427, i16 0, i16 14703, i16 13623, i16 0, i16 16506, i16 15983, i16 15729, i16 0, i16 0, i16 16495, i16 0, i16 16714, i16 0, i16 12656, i16 0, i16 13762, i16 0, i16 13936, i16 0, i16 0, i16 12284, i16 14448, i16 12575, i16 0, i16 13776, i16 14704, i16 0, i16 13229, i16 15194, i16 113, i16 114, i16 115, i16 116, i16 625, i16 626, i16 627, i16 628, i16 12657, i16 16053, i16 0, i16 0, i16 15985, i16 0, i16 16183, i16 13515, i16 17009, i16 0, i16 14554, i16 0, i16 12658, i16 0, i16 0, i16 0, i16 15474, i16 0, i16 16770, i16 0, i16 16498, i16 15164, i16 0, i16 0, i16 17010, i16 0, i16 13788, i16 13789, i16 371, i16 372, i16 373, i16 374, i16 883, i16 884, i16 885, i16 886, i16 14963, i16 15898, i16 0, i16 0, i16 16755, i16 0, i16 0, i16 0, i16 17011, i16 0, i16 0, i16 15514, i16 12404, i16 0, i16 0, i16 0, i16 12916, i16 0, i16 0, i16 14195, i16 16500, i16 0, i16 14290, i16 0, i16 117, i16 118, i16 119, i16 120, i16 629, i16 630, i16 631, i16 618, i16 13173, i16 0, i16 16230, i16 0, i16 13685, i16 13795, i16 16412, i16 0, i16 16245, i16 0, i16 16891, i16 0, i16 16501, i16 0, i16 0, i16 0, i16 12918, i16 0, i16 0, i16 0, i16 13686, i16 0, i16 0, i16 0, i16 13942, i16 13667, i16 0, i16 0, i16 14198, i16 12283, i16 0, i16 0, i16 14710, i16 0, i16 0, i16 0, i16 15478, i16 0, i16 15445, i16 15918, i16 16246, i16 16210, i16 13864, i16 0, i16 16758, i16 0, i16 0, i16 0, i16 375, i16 376, i16 377, i16 378, i16 887, i16 888, i16 889, i16 890, i16 12663, i16 0, i16 0, i16 0, i16 13431, i16 15482, i16 0, i16 0, i16 13687, i16 0, i16 0, i16 0, i16 15479, i16 0, i16 0, i16 0, i16 15735, i16 0, i16 14247, i16 0, i16 15991, i16 0, i16 0, i16 12861, i16 16503, i16 0, i16 0, i16 0, i16 13176, i16 0, i16 0, i16 0, i16 14456, i16 0, i16 0, i16 14707, i16 15224, i16 0, i16 0, i16 0, i16 16248, i16 0, i16 0, i16 0, i16 121, i16 122, i16 123, i16 124, i16 13689, i16 0, i16 0, i16 15343, i16 15481, i16 0, i16 15241, i16 0, i16 16761, i16 15321, i16 0, i16 0, i16 13178, i16 0, i16 16356, i16 0, i16 13946, i16 14970, i16 0, i16 0, i16 14458, i16 0, i16 0, i16 15513, i16 379, i16 380, i16 224, i16 0, i16 891, i16 892, i16 893, i16 894, i16 12923, i16 0, i16 0, i16 0, i16 14203, i16 0, i16 0, i16 0, i16 14459, i16 16609, i16 0, i16 12288, i16 14971, i16 14974, i16 14977, i16 14979, i16 15227, i16 17075, i16 14960, i16 0, i16 17019, i16 12410, i16 0, i16 0, i16 12668, i16 0, i16 12416, i16 0, i16 12924, i16 0, i16 0, i16 16146, i16 13948, i16 13979, i16 14073, i16 14121, i16 16764, i16 0, i16 0, i16 0, i16 17020, i16 0, i16 0, i16 0, i16 125, i16 126, i16 127, i16 132, i16 637, i16 638, i16 671, i16 672, i16 12925, i16 0, i16 0, i16 17153, i16 13437, i16 14216, i16 0, i16 0, i16 15997, i16 0, i16 0, i16 0, i16 16253, i16 17110, i16 16998, i16 0, i16 17021, i16 14028, i16 14602, i16 0, i16 12414, i16 0, i16 0, i16 15940, i16 13182, i16 0, i16 0, i16 0, i16 15230, i16 0, i16 0, i16 0, i16 15998, i16 13078, i16 12795, i16 0, i16 639, i16 688, i16 632, i16 0, i16 895, i16 896, i16 897, i16 898, i16 15487, i16 0, i16 16117, i16 0, i16 16511, i16 0, i16 13967, i16 0, i16 12672, i16 0, i16 0, i16 0, i16 12928, i16 0, i16 0, i16 0, i16 13952, i16 0, i16 0, i16 14693, i16 14720, i16 15363, i16 17000, i16 0, i16 15232, i16 0, i16 0, i16 14017, i16 17024, i16 0, i16 0, i16 0, i16 385, i16 386, i16 387, i16 388, i16 641, i16 680, i16 681, i16 682, i16 12673, i16 15969, i16 15810, i16 15142, i16 12929, i16 14360, i16 15168, i16 0, i16 13953, i16 17120, i16 0, i16 0, i16 15233, i16 0, i16 0, i16 0, i16 15745, i16 13371, i16 15358, i16 16608, i16 16513, i16 0, i16 0, i16 0, i16 16769, i16 0, i16 14392, i16 0, i16 17025, i16 0, i16 0, i16 0, i16 642, i16 643, i16 644, i16 645, i16 12674, i16 0, i16 13497, i16 16005, i16 13186, i16 0, i16 0, i16 0, i16 14466, i16 16629, i16 0, i16 0, i16 15746, i16 0, i16 0, i16 0, i16 131, i16 0, i16 693, i16 0, i16 899, i16 900, i16 901, i16 902, i16 13955, i16 0, i16 14350, i16 0, i16 15235, i16 14924, i16 0, i16 0, i16 16259, i16 0, i16 12776, i16 15255, i16 16771, i16 0, i16 0, i16 0, i16 17027, i16 0, i16 0, i16 0, i16 12932, i16 15535, i16 13829, i16 12760, i16 13188, i16 0, i16 0, i16 16888, i16 13444, i16 0, i16 0, i16 0, i16 14212, i16 0, i16 0, i16 15638, i16 14468, i16 0, i16 15186, i16 13221, i16 16004, i16 0, i16 0, i16 13654, i16 389, i16 390, i16 391, i16 392, i16 12933, i16 15624, i16 0, i16 0, i16 15493, i16 15494, i16 15495, i16 15496, i16 16517, i16 0, i16 12390, i16 0, i16 646, i16 647, i16 648, i16 649, i16 12678, i16 0, i16 0, i16 0, i16 13446, i16 0, i16 0, i16 0, i16 14982, i16 14983, i16 14984, i16 14986, i16 15238, i16 0, i16 14524, i16 0, i16 15750, i16 0, i16 14589, i16 0, i16 16774, i16 12986, i16 15718, i16 0, i16 903, i16 904, i16 905, i16 906, i16 13447, i16 0, i16 0, i16 0, i16 14471, i16 12595, i16 16282, i16 14959, i16 15751, i16 0, i16 14208, i16 0, i16 16263, i16 0, i16 14091, i16 0, i16 16775, i16 15669, i16 0, i16 0, i16 136, i16 348, i16 349, i16 350, i16 12424, i16 12430, i16 12447, i16 12611, i16 12680, i16 0, i16 16168, i16 0, i16 14472, i16 14429, i16 0, i16 0, i16 15240, i16 15283, i16 15323, i16 15359, i16 15752, i16 15337, i16 15932, i16 14724, i16 16264, i16 0, i16 0, i16 0, i16 16520, i16 0, i16 0, i16 0, i16 137, i16 203, i16 0, i16 0, i16 393, i16 394, i16 395, i16 396, i16 12937, i16 15537, i16 0, i16 0, i16 14217, i16 0, i16 0, i16 0, i16 16777, i16 0, i16 0, i16 0, i16 17033, i16 0, i16 15761, i16 0, i16 138, i16 139, i16 0, i16 0, i16 650, i16 651, i16 657, i16 658, i16 12682, i16 0, i16 0, i16 0, i16 12938, i16 0, i16 0, i16 0, i16 14218, i16 0, i16 0, i16 16130, i16 16778, i16 13956, i16 0, i16 0, i16 17034, i16 0, i16 13841, i16 12533, i16 907, i16 908, i16 909, i16 910, i16 12427, i16 0, i16 0, i16 0, i16 13195, i16 0, i16 16922, i16 0, i16 13707, i16 0, i16 0, i16 0, i16 14475, i16 0, i16 0, i16 0, i16 15499, i16 15502, i16 15504, i16 15510, i16 16011, i16 0, i16 0, i16 16509, i16 16779, i16 12836, i16 16582, i16 0, i16 140, i16 141, i16 0, i16 0, i16 652, i16 653, i16 654, i16 655, i16 12684, i16 0, i16 0, i16 0, i16 13452, i16 12433, i16 0, i16 0, i16 13708, i16 0, i16 14987, i16 0, i16 13964, i16 0, i16 15770, i16 16631, i16 14988, i16 14989, i16 14990, i16 14993, i16 15500, i16 0, i16 0, i16 0, i16 15756, i16 17160, i16 0, i16 0, i16 16012, i16 0, i16 0, i16 0, i16 16780, i16 14427, i16 14651, i16 16249, i16 397, i16 398, i16 399, i16 400, i16 14733, i16 15528, i16 0, i16 0, i16 15245, i16 16145, i16 12910, i16 15246, i16 142, i16 143, i16 0, i16 0, i16 12686, i16 0, i16 0, i16 0, i16 16270, i16 15176, i16 16407, i16 0, i16 911, i16 912, i16 913, i16 914, i16 12687, i16 0, i16 0, i16 0, i16 13455, i16 13547, i16 13572, i16 13917, i16 15759, i16 0, i16 0, i16 0, i16 16527, i16 13808, i16 0, i16 12337, i16 144, i16 145, i16 146, i16 147, i16 656, i16 0, i16 0, i16 0, i16 13200, i16 0, i16 0, i16 14170, i16 13456, i16 0, i16 0, i16 0, i16 401, i16 402, i16 403, i16 404, i16 12945, i16 13998, i16 0, i16 0, i16 13457, i16 16256, i16 0, i16 16553, i16 13969, i16 13521, i16 0, i16 0, i16 15505, i16 0, i16 0, i16 0, i16 12434, i16 0, i16 15058, i16 13539, i16 12690, i16 14684, i16 12987, i16 16033, i16 14482, i16 0, i16 0, i16 0, i16 15250, i16 0, i16 0, i16 0, i16 15762, i16 14596, i16 16510, i16 0, i16 16274, i16 13878, i16 0, i16 0, i16 16530, i16 0, i16 0, i16 13211, i16 659, i16 660, i16 661, i16 662, i16 915, i16 916, i16 917, i16 918, i16 13971, i16 0, i16 12440, i16 0, i16 14739, i16 0, i16 0, i16 0, i16 14995, i16 14996, i16 14999, i16 15000, i16 15507, i16 14598, i16 14237, i16 15914, i16 15763, i16 15390, i16 12379, i16 14705, i16 16275, i16 0, i16 0, i16 0, i16 148, i16 149, i16 150, i16 151, i16 13460, i16 0, i16 16753, i16 15034, i16 13716, i16 13717, i16 15801, i16 0, i16 14484, i16 13903, i16 14323, i16 0, i16 15764, i16 0, i16 15835, i16 0, i16 16276, i16 16223, i16 0, i16 0, i16 405, i16 406, i16 407, i16 408, i16 12437, i16 0, i16 0, i16 13759, i16 13461, i16 0, i16 0, i16 0, i16 15253, i16 0, i16 0, i16 0, i16 14486, i16 15451, i16 0, i16 16104, i16 663, i16 664, i16 665, i16 666, i16 919, i16 920, i16 921, i16 922, i16 13207, i16 0, i16 0, i16 15529, i16 13719, i16 12365, i16 16469, i16 15002, i16 14231, i16 12961, i16 0, i16 0, i16 14743, i16 0, i16 0, i16 0, i16 15511, i16 15515, i16 15516, i16 15519, i16 15767, i16 14614, i16 0, i16 13954, i16 152, i16 153, i16 0, i16 199, i16 12952, i16 0, i16 0, i16 0, i16 13208, i16 0, i16 0, i16 0, i16 14232, i16 0, i16 0, i16 0, i16 15256, i16 13725, i16 0, i16 16406, i16 16792, i16 0, i16 12502, i16 0, i16 17048, i16 0, i16 16613, i16 0, i16 409, i16 410, i16 411, i16 412, i16 12697, i16 0, i16 0, i16 0, i16 13465, i16 0, i16 15265, i16 16948, i16 14489, i16 0, i16 12306, i16 0, i16 15001, i16 15003, i16 15009, i16 15014, i16 12442, i16 13226, i16 0, i16 14226, i16 12698, i16 15313, i16 0, i16 17014, i16 15258, i16 0, i16 0, i16 0, i16 16538, i16 13681, i16 16557, i16 0, i16 667, i16 612, i16 613, i16 614, i16 923, i16 924, i16 925, i16 926, i16 12443, i16 16521, i16 0, i16 16894, i16 16539, i16 16116, i16 14202, i16 15247, i16 16795, i16 16796, i16 16864, i16 16991, i16 17052, i16 0, i16 0, i16 0, i16 157, i16 177, i16 0, i16 0, i16 413, i16 414, i16 415, i16 416, i16 669, i16 670, i16 285, i16 687, i16 12957, i16 0, i16 12393, i16 0, i16 13213, i16 0, i16 13510, i16 0, i16 15005, i16 0, i16 0, i16 0, i16 15517, i16 0, i16 0, i16 0, i16 16541, i16 15492, i16 0, i16 0, i16 158, i16 159, i16 0, i16 0, i16 12702, i16 16396, i16 16565, i16 0, i16 13726, i16 0, i16 15904, i16 0, i16 15006, i16 0, i16 0, i16 13595, i16 15518, i16 0, i16 0, i16 0, i16 927, i16 928, i16 929, i16 930, i16 13983, i16 0, i16 0, i16 0, i16 16287, i16 0, i16 0, i16 0, i16 17055, i16 0, i16 0, i16 0, i16 13472, i16 14810, i16 14523, i16 0, i16 15520, i16 15531, i16 15539, i16 15540, i16 16544, i16 0, i16 12913, i16 0, i16 161, i16 205, i16 0, i16 0, i16 417, i16 418, i16 419, i16 420, i16 673, i16 633, i16 634, i16 635, i16 13729, i16 14746, i16 0, i16 15579, i16 14497, i16 0, i16 0, i16 13296, i16 16545, i16 0, i16 0, i16 15030, i16 162, i16 154, i16 868, i16 869, i16 12450, i16 0, i16 0, i16 0, i16 13218, i16 16234, i16 0, i16 0, i16 13474, i16 0, i16 15986, i16 0, i16 931, i16 932, i16 933, i16 934, i16 12963, i16 16061, i16 0, i16 0, i16 13731, i16 14781, i16 15351, i16 0, i16 14243, i16 0, i16 0, i16 0, i16 17059, i16 15542, i16 13128, i16 0, i16 13476, i16 0, i16 0, i16 0, i16 13732, i16 0, i16 0, i16 15733, i16 15524, i16 0, i16 13441, i16 0, i16 16548, i16 16337, i16 0, i16 13756, i16 17060, i16 0, i16 0, i16 0, i16 421, i16 422, i16 423, i16 424, i16 12709, i16 0, i16 0, i16 0, i16 13733, i16 0, i16 0, i16 0, i16 13989, i16 0, i16 0, i16 0, i16 14501, i16 0, i16 0, i16 15771, i16 15013, i16 0, i16 13401, i16 13158, i16 15525, i16 0, i16 0, i16 0, i16 16805, i16 15459, i16 15096, i16 13761, i16 17061, i16 0, i16 14417, i16 0, i16 12966, i16 0, i16 15984, i16 0, i16 13734, i16 0, i16 13803, i16 13637, i16 14246, i16 0, i16 14315, i16 0, i16 16038, i16 0, i16 0, i16 14842, i16 16550, i16 12792, i16 0, i16 0, i16 17062, i16 0, i16 0, i16 15604, i16 167, i16 168, i16 218, i16 381, i16 935, i16 936, i16 937, i16 938, i16 13735, i16 0, i16 13742, i16 13171, i16 14759, i16 16681, i16 0, i16 13892, i16 15271, i16 15272, i16 14418, i16 0, i16 12968, i16 0, i16 14867, i16 0, i16 16040, i16 0, i16 16175, i16 0, i16 16552, i16 16563, i16 16665, i16 16686, i16 425, i16 426, i16 427, i16 428, i16 13225, i16 15942, i16 13512, i16 0, i16 13481, i16 0, i16 0, i16 0, i16 15017, i16 15018, i16 15020, i16 15021, i16 15785, i16 0, i16 0, i16 16662, i16 16297, i16 0, i16 0, i16 0, i16 12714, i16 0, i16 12438, i16 16242, i16 14250, i16 16679, i16 14694, i16 0, i16 15530, i16 15333, i16 0, i16 0, i16 16298, i16 15512, i16 0, i16 13777, i16 16554, i16 0, i16 0, i16 13450, i16 171, i16 0, i16 170, i16 0, i16 683, i16 676, i16 677, i16 678, i16 939, i16 940, i16 941, i16 942, i16 12459, i16 16235, i16 0, i16 0, i16 12715, i16 0, i16 0, i16 0, i16 12971, i16 0, i16 0, i16 0, i16 13227, i16 0, i16 0, i16 0, i16 15787, i16 0, i16 0, i16 0, i16 17067, i16 0, i16 0, i16 0, i16 172, i16 0, i16 0, i16 0, i16 12972, i16 0, i16 0, i16 15139, i16 13228, i16 0, i16 0, i16 0, i16 14508, i16 0, i16 13704, i16 0, i16 16044, i16 0, i16 0, i16 0, i16 16556, i16 0, i16 0, i16 0, i16 429, i16 430, i16 431, i16 432, i16 685, i16 0, i16 0, i16 686, i16 13485, i16 0, i16 0, i16 0, i16 13997, i16 0, i16 0, i16 0, i16 14509, i16 13175, i16 16316, i16 0, i16 15533, i16 0, i16 0, i16 0, i16 15789, i16 17036, i16 0, i16 0, i16 16045, i16 0, i16 16600, i16 0, i16 16301, i16 0, i16 15820, i16 12844, i16 12718, i16 16063, i16 12914, i16 14117, i16 12974, i16 0, i16 16705, i16 0, i16 13230, i16 0, i16 15623, i16 13677, i16 14766, i16 0, i16 0, i16 0, i16 15022, i16 0, i16 13436, i16 0, i16 15278, i16 0, i16 14272, i16 0, i16 16302, i16 14904, i16 16258, i16 16283, i16 16558, i16 16824, i16 0, i16 0, i16 943, i16 944, i16 945, i16 946, i16 14255, i16 16131, i16 0, i16 13355, i16 15791, i16 0, i16 0, i16 0, i16 16815, i16 0, i16 0, i16 0, i16 17071, i16 0, i16 0, i16 0, i16 13488, i16 0, i16 0, i16 0, i16 14768, i16 0, i16 14039, i16 0, i16 15024, i16 15039, i16 15041, i16 15046, i16 433, i16 434, i16 435, i16 436, i16 689, i16 684, i16 0, i16 0, i16 12465, i16 13274, i16 0, i16 13752, i16 12721, i16 16798, i16 14932, i16 0, i16 12977, i16 0, i16 12908, i16 0, i16 14257, i16 14133, i16 0, i16 0, i16 15025, i16 0, i16 0, i16 0, i16 16817, i16 12884, i16 0, i16 0, i16 12466, i16 16789, i16 12563, i16 13222, i16 13234, i16 0, i16 0, i16 0, i16 15794, i16 0, i16 0, i16 0, i16 947, i16 948, i16 949, i16 950, i16 12723, i16 0, i16 0, i16 0, i16 14771, i16 0, i16 13435, i16 0, i16 16051, i16 15890, i16 0, i16 0, i16 16819, i16 12329, i16 0, i16 17001, i16 692, i16 0, i16 0, i16 0, i16 12724, i16 0, i16 13132, i16 0, i16 15796, i16 0, i16 0, i16 0, i16 16308, i16 16502, i16 16504, i16 16536, i16 437, i16 438, i16 439, i16 440, i16 12725, i16 0, i16 0, i16 0, i16 13493, i16 0, i16 0, i16 0, i16 14005, i16 0, i16 0, i16 0, i16 15029, i16 0, i16 0, i16 0, i16 12726, i16 0, i16 15184, i16 0, i16 13238, i16 16154, i16 16911, i16 0, i16 14006, i16 0, i16 0, i16 0, i16 14774, i16 0, i16 0, i16 0, i16 15286, i16 0, i16 0, i16 0, i16 16822, i16 14980, i16 0, i16 0, i16 17078, i16 0, i16 0, i16 0, i16 951, i16 952, i16 953, i16 954, i16 12471, i16 0, i16 0, i16 12778, i16 13751, i16 0, i16 16204, i16 0, i16 14519, i16 0, i16 0, i16 0, i16 14775, i16 0, i16 0, i16 0, i16 15543, i16 15546, i16 15549, i16 15550, i16 12472, i16 16606, i16 14284, i16 0, i16 13240, i16 12549, i16 0, i16 13294, i16 15288, i16 0, i16 0, i16 0, i16 16056, i16 0, i16 0, i16 0, i16 441, i16 442, i16 443, i16 444, i16 12473, i16 0, i16 0, i16 0, i16 14521, i16 14717, i16 14727, i16 14735, i16 15289, i16 12888, i16 0, i16 16378, i16 16313, i16 13827, i16 0, i16 14976, i16 16569, i16 16206, i16 0, i16 0, i16 698, i16 0, i16 0, i16 0, i16 14266, i16 0, i16 0, i16 0, i16 14778, i16 0, i16 0, i16 0, i16 16058, i16 0, i16 0, i16 0, i16 955, i16 956, i16 957, i16 958, i16 14267, i16 0, i16 0, i16 0, i16 12988, i16 0, i16 0, i16 0, i16 14268, i16 0, i16 13468, i16 0, i16 15036, i16 0, i16 0, i16 0, i16 16572, i16 14518, i16 12691, i16 13239, i16 189, i16 188, i16 0, i16 253, i16 445, i16 446, i16 447, i16 448, i16 12477, i16 15331, i16 0, i16 0, i16 13245, i16 0, i16 0, i16 0, i16 13757, i16 0, i16 0, i16 14374, i16 14525, i16 0, i16 13038, i16 0, i16 16317, i16 0, i16 0, i16 0, i16 17085, i16 0, i16 15086, i16 0, i16 15038, i16 0, i16 17064, i16 0, i16 15806, i16 0, i16 0, i16 0, i16 16574, i16 0, i16 0, i16 0, i16 14783, i16 0, i16 0, i16 0, i16 15551, i16 15803, i16 0, i16 16468, i16 704, i16 705, i16 706, i16 707, i16 13248, i16 14745, i16 0, i16 15254, i16 13504, i16 0, i16 0, i16 0, i16 14016, i16 15498, i16 16826, i16 0, i16 15808, i16 0, i16 12581, i16 0, i16 16320, i16 0, i16 0, i16 0, i16 16576, i16 0, i16 0, i16 0, i16 193, i16 192, i16 0, i16 0, i16 449, i16 450, i16 451, i16 452, i16 12481, i16 15674, i16 0, i16 0, i16 12737, i16 0, i16 0, i16 16125, i16 12993, i16 12996, i16 12999, i16 13000, i16 13505, i16 12448, i16 0, i16 16713, i16 15297, i16 15282, i16 16915, i16 0, i16 16321, i16 0, i16 0, i16 0, i16 17089, i16 0, i16 0, i16 0, i16 962, i16 963, i16 964, i16 965, i16 12482, i16 0, i16 0, i16 0, i16 12994, i16 0, i16 0, i16 14948, i16 13250, i16 0, i16 17056, i16 0, i16 15042, i16 0, i16 0, i16 0, i16 16322, i16 0, i16 0, i16 0, i16 195, i16 196, i16 194, i16 197, i16 12483, i16 16508, i16 13428, i16 13090, i16 14019, i16 15663, i16 0, i16 14242, i16 15043, i16 0, i16 15522, i16 0, i16 15299, i16 14752, i16 16138, i16 12614, i16 15811, i16 0, i16 0, i16 0, i16 708, i16 709, i16 710, i16 711, i16 12484, i16 0, i16 13845, i16 0, i16 13508, i16 12695, i16 0, i16 0, i16 453, i16 454, i16 455, i16 456, i16 13253, i16 0, i16 0, i16 0, i16 13765, i16 0, i16 0, i16 12940, i16 14021, i16 0, i16 0, i16 0, i16 14789, i16 0, i16 12336, i16 0, i16 15557, i16 0, i16 0, i16 0, i16 16069, i16 0, i16 14166, i16 0, i16 198, i16 271, i16 274, i16 272, i16 966, i16 967, i16 968, i16 969, i16 12486, i16 15292, i16 0, i16 0, i16 14022, i16 12548, i16 0, i16 0, i16 14534, i16 14770, i16 0, i16 14512, i16 14790, i16 0, i16 0, i16 0, i16 15558, i16 0, i16 0, i16 0, i16 16070, i16 15545, i16 0, i16 0, i16 13255, i16 0, i16 0, i16 0, i16 15047, i16 15051, i16 15053, i16 15055, i16 16071, i16 16132, i16 16153, i16 16237, i16 712, i16 713, i16 714, i16 715, i16 14280, i16 0, i16 15295, i16 0, i16 14536, i16 0, i16 0, i16 0, i16 16072, i16 16419, i16 0, i16 15427, i16 17096, i16 0, i16 0, i16 0, i16 457, i16 458, i16 459, i16 460, i16 12489, i16 0, i16 0, i16 13963, i16 13001, i16 13002, i16 13003, i16 13004, i16 14025, i16 0, i16 0, i16 0, i16 14793, i16 16370, i16 0, i16 0, i16 15049, i16 0, i16 14621, i16 15073, i16 15561, i16 0, i16 0, i16 15636, i16 16585, i16 0, i16 0, i16 16785, i16 970, i16 971, i16 972, i16 973, i16 12490, i16 0, i16 0, i16 0, i16 12746, i16 13990, i16 0, i16 0, i16 14026, i16 0, i16 13980, i16 0, i16 15818, i16 15722, i16 0, i16 14075, i16 17098, i16 0, i16 0, i16 0, i16 14795, i16 0, i16 0, i16 0, i16 15307, i16 0, i16 0, i16 0, i16 15819, i16 0, i16 0, i16 15927, i16 16075, i16 0, i16 0, i16 0, i16 716, i16 717, i16 718, i16 719, i16 14796, i16 0, i16 16022, i16 0, i16 15052, i16 0, i16 13418, i16 12665, i16 16844, i16 0, i16 0, i16 0, i16 461, i16 462, i16 463, i16 464, i16 13261, i16 0, i16 0, i16 0, i16 14541, i16 13220, i16 0, i16 0, i16 15309, i16 0, i16 12712, i16 0, i16 15565, i16 15566, i16 15568, i16 15573, i16 15821, i16 0, i16 16052, i16 0, i16 17101, i16 0, i16 0, i16 0, i16 974, i16 975, i16 976, i16 977, i16 13006, i16 13007, i16 13008, i16 13009, i16 13518, i16 0, i16 0, i16 14415, i16 14542, i16 0, i16 0, i16 0, i16 16078, i16 14393, i16 0, i16 0, i16 207, i16 0, i16 235, i16 0, i16 12495, i16 0, i16 0, i16 16950, i16 13519, i16 0, i16 0, i16 0, i16 15311, i16 0, i16 14830, i16 14282, i16 15567, i16 0, i16 0, i16 16619, i16 15823, i16 0, i16 0, i16 16027, i16 16847, i16 0, i16 0, i16 14496, i16 17103, i16 17115, i16 0, i16 0, i16 208, i16 0, i16 0, i16 209, i16 720, i16 721, i16 722, i16 723, i16 14544, i16 0, i16 0, i16 0, i16 15056, i16 15059, i16 15071, i16 15076, i16 16336, i16 0, i16 0, i16 0, i16 16592, i16 15685, i16 0, i16 0, i16 16848, i16 0, i16 13214, i16 0, i16 17104, i16 14273, i16 14711, i16 0, i16 465, i16 466, i16 467, i16 468, i16 12753, i16 14734, i16 0, i16 16252, i16 14033, i16 0, i16 0, i16 15601, i16 16081, i16 0, i16 0, i16 0, i16 978, i16 979, i16 980, i16 981, i16 13010, i16 13012, i16 13013, i16 13014, i16 15826, i16 16028, i16 12772, i16 0, i16 16594, i16 0, i16 0, i16 0, i16 16850, i16 0, i16 16189, i16 0, i16 17106, i16 0, i16 0, i16 12294, i16 14547, i16 0, i16 0, i16 14190, i16 15315, i16 0, i16 0, i16 0, i16 15827, i16 0, i16 0, i16 12830, i16 724, i16 725, i16 726, i16 727, i16 12500, i16 0, i16 0, i16 16134, i16 13524, i16 0, i16 0, i16 0, i16 13780, i16 13256, i16 0, i16 0, i16 14804, i16 16701, i16 0, i16 0, i16 15060, i16 0, i16 12324, i16 0, i16 15316, i16 0, i16 15341, i16 0, i16 15572, i16 0, i16 0, i16 14646, i16 15828, i16 0, i16 13541, i16 15450, i16 469, i16 470, i16 471, i16 472, i16 12501, i16 0, i16 0, i16 0, i16 12757, i16 0, i16 0, i16 14292, i16 13269, i16 0, i16 0, i16 0, i16 13781, i16 0, i16 0, i16 13202, i16 14293, i16 0, i16 0, i16 14850, i16 982, i16 983, i16 984, i16 985, i16 13526, i16 12773, i16 0, i16 13700, i16 15574, i16 15575, i16 15650, i16 15725, i16 16854, i16 0, i16 15593, i16 14511, i16 13015, i16 13017, i16 13019, i16 13020, i16 14295, i16 0, i16 0, i16 0, i16 16599, i16 13986, i16 0, i16 0, i16 728, i16 729, i16 730, i16 731, i16 12504, i16 0, i16 0, i16 0, i16 13272, i16 13695, i16 17084, i16 13561, i16 14040, i16 16182, i16 16408, i16 0, i16 14296, i16 0, i16 0, i16 0, i16 14552, i16 0, i16 13151, i16 16838, i16 217, i16 215, i16 214, i16 206, i16 473, i16 474, i16 475, i16 0, i16 13529, i16 0, i16 15231, i16 0, i16 16089, i16 0, i16 16543, i16 0, i16 986, i16 987, i16 988, i16 989, i16 12762, i16 0, i16 0, i16 12667, i16 14042, i16 0, i16 14899, i16 0, i16 14298, i16 0, i16 0, i16 0, i16 15322, i16 14491, i16 0, i16 12496, i16 16602, i16 0, i16 0, i16 0, i16 12763, i16 0, i16 0, i16 15467, i16 13275, i16 14301, i16 0, i16 17006, i16 13531, i16 0, i16 14555, i16 0, i16 220, i16 0, i16 0, i16 0, i16 476, i16 477, i16 478, i16 479, i16 732, i16 733, i16 734, i16 735, i16 12764, i16 15934, i16 0, i16 16323, i16 14812, i16 12878, i16 0, i16 15877, i16 15580, i16 14196, i16 16484, i16 15632, i16 221, i16 0, i16 175, i16 222, i16 12509, i16 0, i16 0, i16 0, i16 13533, i16 0, i16 0, i16 0, i16 14557, i16 14233, i16 0, i16 0, i16 14813, i16 0, i16 0, i16 0, i16 15325, i16 0, i16 15780, i16 0, i16 16093, i16 16897, i16 13603, i16 0, i16 16349, i16 0, i16 14054, i16 14713, i16 990, i16 991, i16 992, i16 993, i16 12510, i16 15805, i16 13369, i16 0, i16 12766, i16 0, i16 0, i16 0, i16 13022, i16 13026, i16 13030, i16 13032, i16 13278, i16 14015, i16 13585, i16 0, i16 14046, i16 0, i16 0, i16 0, i16 14814, i16 0, i16 0, i16 0, i16 15582, i16 0, i16 0, i16 16043, i16 16350, i16 0, i16 0, i16 0, i16 223, i16 0, i16 268, i16 128, i16 13279, i16 15703, i16 16122, i16 0, i16 14303, i16 0, i16 0, i16 13160, i16 14815, i16 0, i16 0, i16 14647, i16 15327, i16 15373, i16 0, i16 14127, i16 16351, i16 0, i16 14211, i16 0, i16 480, i16 481, i16 482, i16 483, i16 736, i16 737, i16 738, i16 739, i16 13792, i16 0, i16 0, i16 14426, i16 15072, i16 15398, i16 0, i16 0, i16 12769, i16 0, i16 0, i16 0, i16 13537, i16 0, i16 0, i16 0, i16 14305, i16 0, i16 0, i16 0, i16 15585, i16 16868, i16 0, i16 0, i16 226, i16 229, i16 228, i16 231, i16 994, i16 995, i16 996, i16 997, i16 13282, i16 0, i16 0, i16 0, i16 14306, i16 0, i16 12700, i16 0, i16 14562, i16 15395, i16 0, i16 0, i16 16354, i16 0, i16 14249, i16 0, i16 16610, i16 0, i16 0, i16 13023, i16 12771, i16 0, i16 0, i16 0, i16 14307, i16 0, i16 0, i16 0, i16 15587, i16 17070, i16 0, i16 13673, i16 484, i16 485, i16 0, i16 0, i16 740, i16 741, i16 742, i16 743, i16 13028, i16 15378, i16 15379, i16 13805, i16 16612, i16 0, i16 14204, i16 16080, i16 13285, i16 0, i16 0, i16 0, i16 14053, i16 0, i16 13415, i16 0, i16 15589, i16 0, i16 12505, i16 16542, i16 16869, i16 0, i16 12780, i16 0, i16 17125, i16 16445, i16 0, i16 0, i16 230, i16 867, i16 700, i16 0, i16 486, i16 487, i16 488, i16 489, i16 998, i16 999, i16 1000, i16 1001, i16 12518, i16 0, i16 0, i16 0, i16 12774, i16 0, i16 0, i16 0, i16 13542, i16 0, i16 12967, i16 16522, i16 14310, i16 17148, i16 0, i16 0, i16 14822, i16 0, i16 0, i16 0, i16 15078, i16 15095, i16 15173, i16 15174, i16 16358, i16 0, i16 0, i16 13564, i16 16870, i16 0, i16 0, i16 0, i16 13287, i16 0, i16 12943, i16 14498, i16 14567, i16 0, i16 0, i16 0, i16 15335, i16 0, i16 0, i16 0, i16 17127, i16 15461, i16 13470, i16 0, i16 744, i16 745, i16 746, i16 747, i16 14312, i16 0, i16 0, i16 0, i16 15080, i16 15157, i16 13874, i16 13265, i16 16360, i16 0, i16 0, i16 0, i16 16872, i16 0, i16 0, i16 0, i16 13033, i16 13034, i16 13036, i16 13037, i16 13289, i16 12536, i16 0, i16 16564, i16 13545, i16 0, i16 0, i16 15443, i16 13801, i16 0, i16 13620, i16 0, i16 15081, i16 15804, i16 0, i16 0, i16 15849, i16 0, i16 0, i16 0, i16 16617, i16 0, i16 0, i16 0, i16 16873, i16 14697, i16 0, i16 0, i16 234, i16 0, i16 0, i16 0, i16 490, i16 491, i16 492, i16 493, i16 1002, i16 1003, i16 1004, i16 1005, i16 15338, i16 0, i16 0, i16 0, i16 16362, i16 0, i16 14446, i16 15234, i16 16874, i16 0, i16 0, i16 13025, i16 17130, i16 0, i16 0, i16 0, i16 12523, i16 0, i16 13760, i16 0, i16 14059, i16 14375, i16 0, i16 0, i16 14571, i16 0, i16 12662, i16 0, i16 15339, i16 14340, i16 0, i16 0, i16 15851, i16 0, i16 0, i16 16883, i16 748, i16 749, i16 750, i16 751, i16 14316, i16 0, i16 16739, i16 0, i16 14572, i16 0, i16 16192, i16 14871, i16 14828, i16 0, i16 0, i16 0, i16 15852, i16 12976, i16 15777, i16 0, i16 17132, i16 0, i16 0, i16 0, i16 12525, i16 14854, i16 0, i16 0, i16 14573, i16 14036, i16 0, i16 14037, i16 15085, i16 17109, i16 13852, i16 0, i16 16109, i16 15216, i16 13094, i16 0, i16 238, i16 0, i16 0, i16 179, i16 494, i16 495, i16 0, i16 0, i16 1006, i16 1007, i16 1008, i16 1009, i16 13806, i16 15676, i16 16961, i16 0, i16 16366, i16 15218, i16 0, i16 0, i16 12783, i16 0, i16 15396, i16 0, i16 13551, i16 15458, i16 17151, i16 0, i16 13807, i16 0, i16 0, i16 0, i16 14831, i16 0, i16 0, i16 0, i16 15855, i16 0, i16 14172, i16 0, i16 16367, i16 0, i16 14806, i16 12387, i16 240, i16 0, i16 163, i16 164, i16 752, i16 753, i16 754, i16 755, i16 12528, i16 0, i16 0, i16 12349, i16 13040, i16 0, i16 0, i16 15092, i16 13552, i16 13270, i16 0, i16 0, i16 14576, i16 0, i16 0, i16 0, i16 15600, i16 0, i16 0, i16 13650, i16 16368, i16 0, i16 0, i16 17051, i16 17136, i16 15591, i16 12699, i16 0, i16 13041, i16 13042, i16 13043, i16 13044, i16 13297, i16 0, i16 14164, i16 0, i16 14065, i16 0, i16 0, i16 0, i16 14321, i16 14328, i16 14431, i16 14457, i16 16369, i16 0, i16 16030, i16 16833, i16 16625, i16 0, i16 0, i16 0, i16 242, i16 241, i16 0, i16 0, i16 1010, i16 1011, i16 1012, i16 1013, i16 13554, i16 0, i16 0, i16 16702, i16 14066, i16 0, i16 0, i16 0, i16 14834, i16 14837, i16 14838, i16 14845, i16 499, i16 500, i16 501, i16 502, i16 16115, i16 0, i16 13362, i16 0, i16 16371, i16 14903, i16 15888, i16 0, i16 756, i16 757, i16 0, i16 0, i16 15860, i16 0, i16 0, i16 0, i16 16884, i16 0, i16 0, i16 0, i16 245, i16 248, i16 0, i16 249, i16 12789, i16 14319, i16 0, i16 0, i16 13045, i16 13047, i16 13052, i16 13064, i16 14581, i16 0, i16 16841, i16 0, i16 15093, i16 15181, i16 14721, i16 13061, i16 15605, i16 15130, i16 15715, i16 0, i16 15861, i16 0, i16 0, i16 14946, i16 16373, i16 15027, i16 0, i16 0, i16 16885, i16 0, i16 0, i16 16823, i16 246, i16 247, i16 0, i16 250, i16 758, i16 759, i16 760, i16 761, i16 1014, i16 1015, i16 1016, i16 1017, i16 12790, i16 0, i16 0, i16 0, i16 15350, i16 13930, i16 0, i16 0, i16 15606, i16 0, i16 0, i16 0, i16 16886, i16 16410, i16 15882, i16 17128, i16 17142, i16 16149, i16 0, i16 17135, i16 503, i16 504, i16 505, i16 506, i16 13815, i16 0, i16 0, i16 0, i16 14071, i16 0, i16 0, i16 0, i16 14583, i16 0, i16 0, i16 0, i16 14839, i16 16973, i16 15261, i16 17140, i16 13560, i16 0, i16 17083, i16 0, i16 14072, i16 0, i16 0, i16 0, i16 14584, i16 0, i16 15281, i16 0, i16 15608, i16 0, i16 0, i16 0, i16 15864, i16 16748, i16 0, i16 0, i16 16632, i16 15150, i16 0, i16 0, i16 12537, i16 0, i16 0, i16 14973, i16 12793, i16 14630, i16 15850, i16 0, i16 13049, i16 14043, i16 0, i16 0, i16 13305, i16 13263, i16 0, i16 0, i16 15865, i16 0, i16 0, i16 0, i16 17145, i16 16421, i16 0, i16 13784, i16 762, i16 763, i16 764, i16 765, i16 1018, i16 1019, i16 1020, i16 1021, i16 12538, i16 0, i16 0, i16 12960, i16 13050, i16 15974, i16 0, i16 13523, i16 15610, i16 0, i16 0, i16 0, i16 17146, i16 0, i16 0, i16 0, i16 507, i16 508, i16 509, i16 510, i16 13051, i16 0, i16 0, i16 0, i16 15099, i16 17005, i16 17050, i16 16925, i16 15611, i16 15678, i16 0, i16 0, i16 252, i16 0, i16 0, i16 183, i16 13308, i16 14843, i16 0, i16 0, i16 14332, i16 14758, i16 0, i16 0, i16 14588, i16 0, i16 16420, i16 14528, i16 15612, i16 15795, i16 0, i16 0, i16 13309, i16 0, i16 0, i16 0, i16 15869, i16 13439, i16 0, i16 0, i16 16381, i16 0, i16 0, i16 0, i16 16893, i16 14522, i16 0, i16 0, i16 17149, i16 0, i16 12785, i16 0, i16 254, i16 255, i16 0, i16 0, i16 766, i16 767, i16 768, i16 769, i16 1022, i16 1023, i16 1024, i16 1025, i16 13054, i16 0, i16 0, i16 13994, i16 13566, i16 0, i16 0, i16 0, i16 13822, i16 13259, i16 0, i16 15098, i16 511, i16 512, i16 0, i16 513, i16 12287, i16 0, i16 0, i16 13421, i16 12799, i16 0, i16 0, i16 0, i16 13311, i16 0, i16 0, i16 0, i16 13567, i16 0, i16 14077, i16 0, i16 14335, i16 12521, i16 13217, i16 0, i16 14591, i16 15619, i16 0, i16 0, i16 14847, i16 14848, i16 14856, i16 14866], [6 x i8] c"\0A\03\162\00\04", [24 x i64] [i64 48508, i64 48528, i64 48548, i64 14648, i64 48588, i64 48634, i64 48640, i64 14699, i64 48670, i64 52564, i64 52608, i64 14727, i64 53422, i64 61672, i64 61772, i64 16373, i64 0, i64 0, i64 0, i64 0, i64 68630, i64 69002, i64 69010, i64 44726], [2826 x i8] c"\00\00\01\00\00\00\00\00\00\01\00\08\00\01\01\01e\01\01\02\02\00\01\01\01e\01\02\00\02\00\02\02\02d\02\03\00\12\00\02\03\03c\03\03\02\02\00\02\04\04c\04\04\00\12\00\02\05\05b\03\04\02\02\00\02\06\06b\04\05\00\12\00\02\07\05a\03\05\02\02\00\02\08\06a\04\06\00\12\00\02\09\05`\03\06\02\02\00\02\0A\06`\04\07\00\02\00\03\0B\07_\05\08\00\12\00\02\0C\05^\03\08\02\02\00\02\0D\06^\04\09\00\12\00\02\0E\08]\03\09\02\02\00\02\0F\09]\04\0A\00\12\00\02\10\05\\\03\0A\02\02\00\02\11\06\\\04\0B\00\12\00\02\12\08[\03\0B\02\02\00\02\13\09[\04\0C\00\12\00\02\14\05Z\03\0C\02\02\00\02\15\06Z\04\0D\00\12\00\02\16\05Y\03\0D\02\02\00\02\17\06Y\04\0E\00\12\00\02\18\05X\03\0E\02\02\00\02\19\06X\04\0F\00\12\00\02\1A\05W\03\0F\02\02\00\02\1B\06W\04\10\00\12\00\00\1C\0A\8E\06\10\02\02\00\00\1D\0B\8E\07\11\00\12\00\02\1E\05V\03\11\02\02\00\02\1F\06V\04\12\00\12\00\02 \0CU\03\12\02\02\00\02!\0DU\04\13\00\12\00\02\22\05T\08\13\02\02\00\02#\06T\09\14\00\12\00\02$\05S\08\14\02\02\00\02%\06S\09\15\00\15\00\01&\0ER\0A\15\02\02\00\01&\0FR\0B\16\00\05\00\01'\10Q\0C\16\02\02\00\01(\11Q\0D\17\00\05\00\04)\12P\0E\17\02\02\00\04*\13P\0F\18\00\02\00\02+\14O\10\19\00\02\00\03,\15N\11\1A\00\08\00\05-\16M\12\1A\02\02\00\05.\16M\12\1B\00\0E\00\05/\17L\13\1B\02\02\00\05/\18L\13\1C\00\08\00\050\19\8B\14\1C\02\02\00\051\1A\8B\14\1D\00\0C\00\052\19\8B\14\1D\02\02\00\051\1A\8B\14\1E\00\0E\00\063\1B\8C\15\1E\02\02\00\074\1C\8C\15\1F\00\0B\00\025\1DK\16\1F\02\02\00\026\1DK\16 \00\08\00\017\1E\8A\17 \02\02\00\017\1F\8A\17!\00\08\00\058 J\18!\02\02\00\059!J\18\22\00\0C\00\05: J\18\22\02\02\00\059!J\18#\00\08\00\01;\22I\18#\02\02\00\01<#I\18$\00\0C\00\01=\22I\18$\02\02\00\01<#I\18%\00\08\00\08>$H\18%\02\02\00\08>%H\18&\00\08\00\01?$G\18&\02\02\00\01@%G\18'\00\0C\00\01A$G\18'\02\02\00\01@%G\18(\00\08\00\01;\22F\18(\02\02\00\01<#F\18)\00\0C\00\01=\22F\18)\02\02\00\01<#F\18*\00\13\00\09B&E\19*\02\02\00\09C'E\1A+\00\08\00\02D(D\02+\02\02\00\02D(D\02,\00\08\00\02E)C\1B,\02\02\00\02E)C\1B-\00\08\00\02F*\89\1C-\02\02\00\02F*\89\1C.\00\08\00\01G+B\1D.\02\02\00\01H+B\1D/\00\08\00\025)A\02/\02\02\00\026)A\020\00\08\00\02I,@\1E0\02\02\00\02I,@\1E1\00\08\00\02J)?\021\02\02\00\02K)?\022\00\0C\00\02L)?\022\02\02\00\02K)?\023\00\02\00\03\0B->\1E4\00\08\00\02M)=\024\02\02\00\02M)=\025\00\08\00\02N.<\1E5\02\02\00\02N.<\1E6\00\08\00\02O/;\1E6\02\02\00\02O/;\1E7\00\08\00\02P0:\027\02\02\00\02P0:\028\00\08\00\02Q)9\1B8\02\02\00\02Q)9\1B9\00\08\00\02R)8\1B9\02\02\00\02R)8\1B:\02\02\00\05S17\1F;\00\08\00\01T2\88 ;\02\02\00\01T3\88 <\00\08\00\05U2\87 <\02\02\00\05U3\87 =\00\08\00\05V2\86 =\02\02\00\05V3\86 >\00\08\00\05W2\85 >\02\02\00\05W3\85 ?\00\08\00\00X2\84 ?\02\02\00\00X3\84 @\00\08\00\00Y2\83 @\02\02\00\00Y3\83 A\00\08\00\05Z2\82 A\02\02\00\05Z3\82 B\00\08\00\05[2\81 B\02\02\00\05\\3\81 C\00\0C\00\05]2\81 C\02\02\00\05\\3\81 D\00\08\00\00^2\80 D\02\02\00\00^3\80 E\00\08\00\00_2\7F E\02\02\00\00_3\7F F\00\08\00\00`2~ F\02\02\00\00`3~ G\00\08\00\00a2} G\02\02\00\00a3} H\00\08\00\00b2| H\02\02\00\00b3| I\00\08\00\00c2{ I\02\02\00\00c3{ J\00\08\00\00d2z J\02\02\00\00d3z K\00\08\00\05e2y K\02\02\00\05e3y L\00\08\00\00f2x L\02\02\00\00g3x M\00\08\00\02P2w M\02\02\00\02P3w N\00\08\00\05h2v N\02\02\00\05h3v O\00\08\00\05i2u O\02\02\00\05i3u P\00\08\00\06j4t!P\02\02\00\07k5t!Q\00\08\00\05l66\22Q\02\02\00\05m66\22R\00\0C\00\05n66\22R\02\02\00\05m66\22S\02\02\01\0Ao75#S\00\02\01\0Ao75#T\00\08\00\01p8s$T\02\02\00\01q9s$U\00\0C\00\01r8s$U\02\02\00\01q9s$V\00\08\00\017:r%V\02\02\00\017;r%W\00\08\00\09?<4&W\02\02\00\09@=4&X\00\0C\00\09A<4&X\02\02\00\09@=4&Y\00\08\00\0Bs>q'Y\02\02\00\0Bs?q'Z\00\08\00\05>@3(Z\02\02\00\05>A3([\00\08\00\05-B2'[\02\02\00\05.C2'\\\00\0C\00\05tB2'\\\02\02\00\05.C2']\00\08\00\05-B1']\02\02\00\05.C1'^\00\0C\00\05tB1'^\02\02\00\05.C1'_\00\08\00\02JD0)_\02\02\00\02KE0)`\00\0C\00\02LD0)`\02\02\00\02KE0)a\00\0C\00\025F/\1Ba\02\02\00\026G/\1Bb\00\08\00\05lHp b\02\02\00\05mIp c\00\0C\00\05nHp c\02\02\00\05mIp d\00\08\00\025J.\1Bd\02\02\00\026J.\1Be\00\14\00\02uK-*e\02\02\00\02vL-+f\02\02\00\02wM,\02f\00\02\00\02wM,\02g\00\0E\00\05xNo,g\02\02\00\05xOo,h\00\0E\00\01yP+-h\02\02\00\01yQ+-i\00\03\00\02zR*.i\02\02\00\02{S*\10j\00\08\00\01|T)/j\02\02\00\01|T)/k\00\08\00\01}Un\18k\02\02\00\01}Vn\18l\00\08\00\0C>W(0l\02\02\00\0C>X(0m\00\08\00\05lY' m\02\02\00\05mZ' n\00\0C\00\05nY' n\02\02\00\05mZ' o\00\14\00\02uK&*o\02\02\00\02vL&+p\02\02\00\02~[\901q\00\07\00\01\7F\\%2q\02\02\00\01\80]%3r\00\08\00\017^m4r\02\02\00\017^m4s\02\02\00\02\81_\915t\00\08\00\025`$6t\02\02\00\026`$6u\00\0A\00\01\82al7u\02\02\00\01\82bl7v\00\0A\00\06\83ck%v\02\02\00\07\84dk%w\00\0A\00\02Me#8w\02\02\00\02Mf#9x\00\11\00\0D\85g\22:x\02\02\00\0D\86h\22;y\02\02\00\02\87i!\82\02\02\00\05.s\1B>\83\00\0E\00\05\90ti?\83\02\02\00\05\91ui?\84\00\08\00\05\92v\1A@\84\02\02\00\05\92w\1A@\85\00\08\00\05\93x\19@\85\02\02\00\05\94y\19@\86\00\0C\00\05\95x\19@\86\02\02\00\05\94y\19@\87\00\0E\00\05\96z\18A\87\02\02\00\05\96{\18A\88\16\16\00\01\97|\17B\88\00\11\00\01\98}\17C\88\02\02\00\01\99~\17\0D\89\00\18\00\01\9A\7F\16D\89\02\02\00\01\9B\80\16E\8A\00\02\00\01\9C\81\15F\8B\00\0E\00\06\9D\82\8DG\8B\02\02\00\07\9E\83\8DH\8C\00\0E\00\0B\9F\84hI\8C\02\02\00\0B\9F\85hI\8D\00\08\00\01\A0\86\14\02\8D\02\02\00\01\A0\87\14\02\8E\00\0E\00\05\A1\88\13J\8E\02\02\00\05\A1\89\13J\8F\00\11\00\05\A2\8A\13K\8F\02\02\00\05\A3\8B\13E\90\00\08\00\01p\8Cg\18\90\02\02\00\01q\8Dg\18\91\00\0C\00\01r\8Cg\18\91\02\02\00\01q\8Dg\18\92\00\08\00\0D\A4\8C\12\18\92\02\02\00\0D\A4\8D\12\18\93\00\02\00\03\0B\8E\11L\94\00\02\00\0E\A5\8F\10M\95\00\17\00\01\97|\0FN\95\02\02\00\01\99~\0FO\96\00\19\00\02\A6\90\8FP\96\02\02\00\02\A7\91\8FQ\97\00\02\00\02\A8\92\0E\02\98\00\02\00\02\02\93\0D\02\99\00\08\00\02\A9\94\0C\02\99\02\02\00\02\A9\94\0C\02\9A\00\15\00\00\AA\95fR\9A\02\02\00\00\AA\96fS\9B\02\02\00\01\99\97\0BT\9C\00\18\00\01\9A\98\0AU\9C\02\02\00\01\9B\99\0AV\9D\00\02\00\02\AB\9A\09W\9E\00\08\00\02\AC\9B\08X\9E\02\02\00\02\AC\9B\08X\9F\02\02\00\01\AD\9C\07\02\9F\00\02\00\01\AD\9C\07\02\A0\00\08\00\09?\9D\06Y\A0\02\02\00\09@\9E\06Y\A1\00\0C\00\09A\9D\06Y\A2\00\06\00\02\AE\9F\05Z\A2\02\02\00\02\AE\A0\05[\A3\02\02\00\02\AF\A1\04\\\A4\02\02\00\02I\A2\03\\\A5\00\02\00\02O\A3\02\1E\A6\02\02\00\02\B0\A4\01\\", [835 x i8] c"af_ZAam_ETar_AEar_BHar_DZar_EGar_INar_IQar_JOar_KWar_LBar_LYar_MAar_OMar_QAar_SAar_SDar_SYar_TNar_YEaz_AZbe_BYbg_BGbn_BDbn_INbr_FRbs_BAca_EScaeEScs_CZcy_GBda_DKde_ATdeeATde_BEdeeBEde_CHde_DEdeeDEde_LUdeeLUel_GRen_AUen_BWen_CAen_DKen_GBen_HKen_IEeneIEen_INen_NZen_PHen_SGen_USen_ZAen_ZWeo_EOes_ARes_BOes_CLes_COes_CRes_DOes_ECes_ESeseESes_GTes_HNes_MXes_NIes_PAes_PEes_PRes_PYes_SVes_USes_UYes_VEet_EEeu_ESeueESfa_IRfi_FIfieFIfo_FOfr_BEfreBEfr_CAfr_CHfr_FRfreFRfr_LUfreLUga_IEgaeIEgd_GBgl_ESgleESgv_GBhe_ILhi_INhr_HRhu_HUhy_AMid_IDis_ISit_CHit_ITiteITiw_ILja_JPka_GEkl_GLko_KRkw_GBlt_LTlv_LVmi_NZmk_MKmr_INms_MYmt_MTnl_BEnleBEnl_NLnleNLnn_NOno_NOoc_FRpl_PLpt_BRpt_PTptePTro_ROru_RUru_UAse_NOsk_SKsl_SIsq_ALsr_YUsrcYUsv_FIsveFIsv_SEta_INte_INtg_TJth_THti_ERti_ETtl_PHtr_TRtt_RUuk_UAur_PKuz_UZvi_VNwa_BEwaeBEyi_USzh_CNzh_HKzh_SGzh_TW\00\00\00\00\00", [18 x i8] c"\05eeuro\00\09ccyrillic\00", [69 x i8] c"\06\0F\1A&.9LC_CTYPE\00LC_NUMERIC\00LC_MONETARY\00LC_TIME\00LC_COLLATE\00LC_MESSAGES\00", [255 x i8] c"\18\22(/6BMYeq}\89\94\9F\AA\B5\C0\CB\D6\E1\E8\EF\F6\00ARMSCII-8\00ASCII\00CP1251\00CP1255\00GEORGIAN-PS\00ISO-8859-1\00ISO-8859-10\00ISO-8859-13\00ISO-8859-14\00ISO-8859-15\00ISO-8859-16\00ISO-8859-2\00ISO-8859-3\00ISO-8859-4\00ISO-8859-5\00ISO-8859-6\00ISO-8859-7\00ISO-8859-8\00ISO-8859-9\00KOI8-R\00KOI8-T\00KOI8-U\00TIS-620\00\00" }, align 8 +@__C_ctype_b_data = constant <{ [256 x i16], [128 x i16] }> <{ [256 x i16] [i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 8195, i16 8194, i16 8194, i16 8194, i16 8194, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 24577, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -11000, i16 -11000, i16 -11000, i16 -11000, i16 -11000, i16 -11000, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -10744, i16 -10744, i16 -10744, i16 -10744, i16 -10744, i16 -10744, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 2], [128 x i16] zeroinitializer }>, align 16 +@__C_ctype_b = global i16* bitcast (i8* getelementptr (i8, i8* bitcast (<{ [256 x i16], [128 x i16] }>* @__C_ctype_b_data to i8*), i64 256) to i16*), align 8 +@__C_ctype_tolower_data = constant [384 x i16] [i16 -128, i16 -127, i16 -126, i16 -125, i16 -124, i16 -123, i16 -122, i16 -121, i16 -120, i16 -119, i16 -118, i16 -117, i16 -116, i16 -115, i16 -114, i16 -113, i16 -112, i16 -111, i16 -110, i16 -109, i16 -108, i16 -107, i16 -106, i16 -105, i16 -104, i16 -103, i16 -102, i16 -101, i16 -100, i16 -99, i16 -98, i16 -97, i16 -96, i16 -95, i16 -94, i16 -93, i16 -92, i16 -91, i16 -90, i16 -89, i16 -88, i16 -87, i16 -86, i16 -85, i16 -84, i16 -83, i16 -82, i16 -81, i16 -80, i16 -79, i16 -78, i16 -77, i16 -76, i16 -75, i16 -74, i16 -73, i16 -72, i16 -71, i16 -70, i16 -69, i16 -68, i16 -67, i16 -66, i16 -65, i16 -64, i16 -63, i16 -62, i16 -61, i16 -60, i16 -59, i16 -58, i16 -57, i16 -56, i16 -55, i16 -54, i16 -53, i16 -52, i16 -51, i16 -50, i16 -49, i16 -48, i16 -47, i16 -46, i16 -45, i16 -44, i16 -43, i16 -42, i16 -41, i16 -40, i16 -39, i16 -38, i16 -37, i16 -36, i16 -35, i16 -34, i16 -33, i16 -32, i16 -31, i16 -30, i16 -29, i16 -28, i16 -27, i16 -26, i16 -25, i16 -24, i16 -23, i16 -22, i16 -21, i16 -20, i16 -19, i16 -18, i16 -17, i16 -16, i16 -15, i16 -14, i16 -13, i16 -12, i16 -11, i16 -10, i16 -9, i16 -8, i16 -7, i16 -6, i16 -5, i16 -4, i16 -3, i16 -2, i16 -1, i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255], align 16 +@__C_ctype_tolower = global i16* bitcast (i8* getelementptr (i8, i8* bitcast ([384 x i16]* @__C_ctype_tolower_data to i8*), i64 256) to i16*), align 8 +@__C_ctype_toupper_data = constant [384 x i16] [i16 -128, i16 -127, i16 -126, i16 -125, i16 -124, i16 -123, i16 -122, i16 -121, i16 -120, i16 -119, i16 -118, i16 -117, i16 -116, i16 -115, i16 -114, i16 -113, i16 -112, i16 -111, i16 -110, i16 -109, i16 -108, i16 -107, i16 -106, i16 -105, i16 -104, i16 -103, i16 -102, i16 -101, i16 -100, i16 -99, i16 -98, i16 -97, i16 -96, i16 -95, i16 -94, i16 -93, i16 -92, i16 -91, i16 -90, i16 -89, i16 -88, i16 -87, i16 -86, i16 -85, i16 -84, i16 -83, i16 -82, i16 -81, i16 -80, i16 -79, i16 -78, i16 -77, i16 -76, i16 -75, i16 -74, i16 -73, i16 -72, i16 -71, i16 -70, i16 -69, i16 -68, i16 -67, i16 -66, i16 -65, i16 -64, i16 -63, i16 -62, i16 -61, i16 -60, i16 -59, i16 -58, i16 -57, i16 -56, i16 -55, i16 -54, i16 -53, i16 -52, i16 -51, i16 -50, i16 -49, i16 -48, i16 -47, i16 -46, i16 -45, i16 -44, i16 -43, i16 -42, i16 -41, i16 -40, i16 -39, i16 -38, i16 -37, i16 -36, i16 -35, i16 -34, i16 -33, i16 -32, i16 -31, i16 -30, i16 -29, i16 -28, i16 -27, i16 -26, i16 -25, i16 -24, i16 -23, i16 -22, i16 -21, i16 -20, i16 -19, i16 -18, i16 -17, i16 -16, i16 -15, i16 -14, i16 -13, i16 -12, i16 -11, i16 -10, i16 -9, i16 -8, i16 -7, i16 -6, i16 -5, i16 -4, i16 -3, i16 -2, i16 -1, i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255], align 16 +@__C_ctype_toupper = global i16* bitcast (i8* getelementptr (i8, i8* bitcast ([384 x i16]* @__C_ctype_toupper_data to i8*), i64 256) to i16*), align 8 +@errno = global i32 0, align 4 +@h_errno = global i32 0, align 4 +@.str.217 = private unnamed_addr constant [17 x i8] c"ignoring (EPERM)\00", align 1 +@.str.7.219 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.1.220 = private unnamed_addr constant [9 x i8] c"ignoring\00", align 1 +@.str.2.221 = private unnamed_addr constant [82 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/illegal.c\00", align 1 +@.str.3.222 = private unnamed_addr constant [20 x i8] c"longjmp unsupported\00", align 1 +@.str.4.223 = private unnamed_addr constant [8 x i8] c"xxx.err\00", align 1 +@.str.5.225 = private unnamed_addr constant [18 x i8] c"ignoring (EACCES)\00", align 1 +@.str.6.226 = private unnamed_addr constant [18 x i8] c"ignoring (ENOMEM)\00", align 1 +@error_message_count = global i32 0, align 4 +@error_one_per_line = global i32 0, align 4 +@.str.229 = private unnamed_addr constant [5 x i8] c": %s\00", align 1 +@__error_at_line.old_line_number = internal global i32 0, align 4 +@__error_at_line.old_file_name = internal global i8* null, align 8 +@.str.1.230 = private unnamed_addr constant [8 x i8] c"%s:%d: \00", align 1 +@hr_locale = internal global [448 x i8] zeroinitializer, align 16 +@utf8.237 = internal constant [6 x i8] c"UTF-8\00", align 1 +@static_fd = internal global i32 -1, align 4 +@static_ut_name = internal global i8* getelementptr inbounds ([14 x i8], [14 x i8]* @default_file_name, i32 0, i32 0), align 8 +@default_file_name = internal constant [14 x i8] c"/var/run/utmp\00", align 1 +@static_utmp = internal global %struct.utmp.323 zeroinitializer, align 8 +@mbrtowc.mbstate = internal global %struct.__mbstate_t.512 zeroinitializer, align 4 +@__dso_handle = extern_weak global i8*, align 8 +@optind = global i32 1, align 4 +@opterr = global i32 1, align 4 +@optopt = global i32 63, align 4 +@optarg = global i8* null, align 8 +@getopt_data = internal global %struct._getopt_data zeroinitializer, align 8 +@.str.308 = private unnamed_addr constant [3 x i8] c"--\00", align 1 +@.str.1.309 = private unnamed_addr constant [30 x i8] c"%s: option `%s' is ambiguous\0A\00", align 1 +@.str.2.310 = private unnamed_addr constant [45 x i8] c"%s: option `--%s' doesn't allow an argument\0A\00", align 1 +@.str.3.311 = private unnamed_addr constant [45 x i8] c"%s: option `%c%s' doesn't allow an argument\0A\00", align 1 +@.str.4.312 = private unnamed_addr constant [38 x i8] c"%s: option `%s' requires an argument\0A\00", align 1 +@.str.5.313 = private unnamed_addr constant [32 x i8] c"%s: unrecognized option `--%s'\0A\00", align 1 +@.str.6.314 = private unnamed_addr constant [32 x i8] c"%s: unrecognized option `%c%s'\0A\00", align 1 +@.str.7.315 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@.str.8.316 = private unnamed_addr constant [26 x i8] c"%s: illegal option -- %c\0A\00", align 1 +@.str.9.317 = private unnamed_addr constant [26 x i8] c"%s: invalid option -- %c\0A\00", align 1 +@.str.10.318 = private unnamed_addr constant [39 x i8] c"%s: option requires an argument -- %c\0A\00", align 1 +@.str.11.319 = private unnamed_addr constant [16 x i8] c"POSIXLY_CORRECT\00", align 1 +@.str.324 = private unnamed_addr constant [14 x i8] c"#\80\80\80\80\80\80\80\80\80\80\80\80\00", align 1 +@newlocale.envstr = internal global [4 x i8*] [i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.328, i32 0, i32 0), i8* null, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.2.329, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @posix, i32 0, i32 0)], align 16 +@.str.3.325 = private unnamed_addr constant [2 x i8] c"=\00", align 1 +@.str.4.326 = private unnamed_addr constant [2 x i8] c";\00", align 1 +@posix = internal constant [6 x i8] c"POSIX\00", align 1 +@utf8.327 = internal constant [6 x i8] c"UTF-8\00", align 1 +@.str.1.328 = private unnamed_addr constant [7 x i8] c"LC_ALL\00", align 1 +@.str.2.329 = private unnamed_addr constant [5 x i8] c"LANG\00", align 1 +@empty = internal constant [1 x i8] zeroinitializer, align 1 +@mbsnrtowcs.mbstate = internal global %struct.__mbstate_t.512 zeroinitializer, align 4 +@_do_one_spec.spec_base = internal constant [7 x i8] c"\10\10\10\08\0A\0A\0A", align 1 +@.str.346 = private unnamed_addr constant [6 x i8] c"(nil)\00", align 1 +@.str.1.347 = private unnamed_addr constant [7 x i8] c"(null)\00", align 1 +@_do_one_spec.prefix = internal constant [12 x i8] c"+\00-\00 \000x\000X\00", align 1 +@strerror.buf = internal global [50 x i8] zeroinitializer, align 16 +@desc2flag = internal constant [13 x i16] [i16 0, i16 2048, i16 4, i16 256, i16 512, i16 8, i16 128, i16 2, i16 64, i16 1024, i16 32, i16 1, i16 16], align 16 +@fmt = internal constant [20 x i8] c"inf\00INF\00nan\00NAN\00.\00,\00", align 16 +@exp10_table = internal constant [9 x double] [double 1.000000e+01, double 1.000000e+02, double 1.000000e+04, double 1.000000e+08, double 1.000000e+16, double 1.000000e+32, double 1.000000e+64, double 1.000000e+128, double 1.000000e+256], align 16 +@_ppfs_init.invalid_mbs = internal constant [33 x i8] c"Invalid multibyte format string.\00", align 16 +@_ppfs_parsespec.spec_flags = internal constant [8 x i8] c" +0-#'I\00", align 1 +@_ppfs_parsespec.qual_chars = internal constant [20 x i8] c"hlLjztqZ\00\02\04\08\04\04\04\08\04\00\01\08", align 16 +@_ppfs_parsespec.spec_chars = internal constant [21 x i8] c"npxXoudifFeEgGaACScs\00", align 16 +@_ppfs_parsespec.spec_ranges = internal constant [9 x i8] c"\00\01\07\0F\10\11\12\13\14", align 1 +@_ppfs_parsespec.spec_or_mask = internal constant [8 x i16] [i16 4096, i16 5, i16 0, i16 7, i16 2, i16 4, i16 1, i16 3], align 16 +@_ppfs_parsespec.spec_and_mask = internal constant [8 x i16] [i16 7936, i16 5, i16 3840, i16 2055, i16 2, i16 4, i16 1, i16 3], align 16 +@type_codes = internal constant [12 x i16] [i16 8, i16 5, i16 3, i16 4, i16 1, i16 512, i16 0, i16 1024, i16 2048, i16 2, i16 7, i16 2055], align 16 +@type_sizes = internal constant [12 x i8] c"\00\01\01\01\04\02\01\01\01\01\01\01", align 1 +@__exit_count = hidden global i32 0, align 4 +@__exit_function_table = hidden global %struct.exit_function* null, align 8 +@__exit_slots = hidden global i32 0, align 4 +@__xpg_strerror_r.unknown = internal constant [14 x i8] c"Unknown error ", align 1 +@mbsrtowcs.mbstate = internal global %struct.__mbstate_t.512 zeroinitializer, align 4 +@_string_syserrmsgs = hidden constant [2906 x i8] c"Success\00Operation not permitted\00No such file or directory\00No such process\00Interrupted system call\00Input/output error\00No such device or address\00Argument list too long\00Exec format error\00Bad file descriptor\00No child processes\00Resource temporarily unavailable\00Cannot allocate memory\00Permission denied\00Bad address\00Block device required\00Device or resource busy\00File exists\00Invalid cross-device link\00No such device\00Not a directory\00Is a directory\00Invalid argument\00Too many open files in system\00Too many open files\00Inappropriate ioctl for device\00Text file busy\00File too large\00No space left on device\00Illegal seek\00Read-only file system\00Too many links\00Broken pipe\00Numerical argument out of domain\00Numerical result out of range\00Resource deadlock avoided\00File name too long\00No locks available\00Function not implemented\00Directory not empty\00Too many levels of symbolic links\00\00No message of desired type\00Identifier removed\00Channel number out of range\00Level 2 not synchronized\00Level 3 halted\00Level 3 reset\00Link number out of range\00Protocol driver not attached\00No CSI structure available\00Level 2 halted\00Invalid exchange\00Invalid request descriptor\00Exchange full\00No anode\00Invalid request code\00Invalid slot\00\00Bad font file format\00Device not a stream\00No data available\00Timer expired\00Out of streams resources\00Machine is not on the network\00Package not installed\00Object is remote\00Link has been severed\00Advertise error\00Srmount error\00Communication error on send\00Protocol error\00Multihop attempted\00RFS specific error\00Bad message\00Value too large for defined data type\00Name not unique on network\00File descriptor in bad state\00Remote address changed\00Can not access a needed shared library\00Accessing a corrupted shared library\00.lib section in a.out corrupted\00Attempting to link in too many shared libraries\00Cannot exec a shared library directly\00Invalid or incomplete multibyte or wide character\00Interrupted system call should be restarted\00Streams pipe error\00Too many users\00Socket operation on non-socket\00Destination address required\00Message too long\00Protocol wrong type for socket\00Protocol not available\00Protocol not supported\00Socket type not supported\00Operation not supported\00Protocol family not supported\00Address family not supported by protocol\00Address already in use\00Cannot assign requested address\00Network is down\00Network is unreachable\00Network dropped connection on reset\00Software caused connection abort\00Connection reset by peer\00No buffer space available\00Transport endpoint is already connected\00Transport endpoint is not connected\00Cannot send after transport endpoint shutdown\00Too many references: cannot splice\00Connection timed out\00Connection refused\00Host is down\00No route to host\00Operation already in progress\00Operation now in progress\00Stale NFS file handle\00Structure needs cleaning\00Not a XENIX named type file\00No XENIX semaphores available\00Is a named type file\00Remote I/O error\00Disk quota exceeded\00No medium found\00Wrong medium type\00", align 16 + +@__progname = weak alias i8*, i8** @program_invocation_short_name +@__progname_full = weak alias i8*, i8** @program_invocation_name +@environ = weak alias i8**, i8*** @__environ +@__getdents = dso_local alias i64 (i32, %struct.dirent64*, i64), i64 (i32, %struct.dirent64*, i64)* @getdents +@getchar = alias i32 (), i32 ()* @getchar_unlocked +@raise = weak alias i32 (i32), i32 (i32)* @__raise +@fgetc_unlocked = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@getc_unlocked = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@fgetc = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@getc = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@__getdents64 = dso_local alias i64 (i32, i8*, i64), i64 (i32, i8*, i64)* @getdents64 +@error = weak alias void (i32, i32, i8*, ...), void (i32, i32, i8*, ...)* @__error +@error_at_line = weak alias void (i32, i32, i8*, i32, i8*, ...), void (i32, i32, i8*, i32, i8*, ...)* @__error_at_line +@clearerr = alias void (%struct.__STDIO_FILE_STRUCT.581*), void (%struct.__STDIO_FILE_STRUCT.581*)* @clearerr_unlocked +@ferror = alias i32 (%struct.__STDIO_FILE_STRUCT.592*), i32 (%struct.__STDIO_FILE_STRUCT.592*)* @ferror_unlocked +@fflush = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fflush_unlocked +@fileno = alias i32 (%struct.__STDIO_FILE_STRUCT.608*), i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno_unlocked +@fputc_unlocked = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@putc_unlocked = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@fputc = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@putc = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@fputs = alias i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*), i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked +@fseeko = alias i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32), i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32)* @fseek +@putchar = alias i32 (i32), i32 (i32)* @putchar_unlocked +@fwrite = alias i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.621*), i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.621*)* @fwrite_unlocked +@strerror_r = weak alias i32 (i32, i8*, i64), i32 (i32, i8*, i64)* @__xpg_strerror_r + +; Function Attrs: noinline nounwind uwtable +define void @__uClibc_init() #0 { +entry: + %0 = load i32, i32* @__uClibc_init.been_there_done_that, align 4 + %tobool = icmp ne i32 %0, 0 + br i1 %tobool, label %if.end4, label %if.end + +if.end: ; preds = %entry + %1 = load i32, i32* @__uClibc_init.been_there_done_that, align 4 + %inc = add nsw i32 %1, 1 + store i32 %inc, i32* @__uClibc_init.been_there_done_that, align 4 + store i64 4096, i64* @__pagesize, align 8 + call void @_locale_init() #18 + call void @_stdio_init() #18 + br label %if.end4 + +if.end4: ; preds = %entry, %if.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define void @__uClibc_fini() #0 { +entry: + %0 = load void ()*, void ()** @__app_fini, align 8 + %cmp = icmp ne void ()* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load void ()*, void ()** @__app_fini, align 8 + call void %1() #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %2 = load void ()*, void ()** @__rtld_fini, align 8 + %cmp1 = icmp ne void ()* %2, null + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + %3 = load void ()*, void ()** @__rtld_fini, align 8 + call void %3() #18 + br label %if.end3 + +if.end3: ; preds = %if.then2, %if.end + ret void +} + +; Function Attrs: noinline noreturn nounwind uwtable +define void @__uClibc_main(i32 (i32, i8**, i8**)* %main, i32 %argc, i8** %argv, void ()* %app_init, void ()* %app_fini, void ()* %rtld_fini, i8* %stack_end) #1 { +entry: + %main.addr = alloca i32 (i32, i8**, i8**)*, align 8 + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %app_init.addr = alloca void ()*, align 8 + %app_fini.addr = alloca void ()*, align 8 + %rtld_fini.addr = alloca void ()*, align 8 + %stack_end.addr = alloca i8*, align 8 + %aux_dat = alloca i64*, align 8 + %auxvt = alloca [15 x %struct.Elf64_auxv_t], align 16 + %auxv_entry = alloca %struct.Elf64_auxv_t*, align 8 + store i32 (i32, i8**, i8**)* %main, i32 (i32, i8**, i8**)** %main.addr, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store void ()* %app_init, void ()** %app_init.addr, align 8 + store void ()* %app_fini, void ()** %app_fini.addr, align 8 + store void ()* %rtld_fini, void ()** %rtld_fini.addr, align 8 + store i8* %stack_end, i8** %stack_end.addr, align 8 + %0 = load i8*, i8** %stack_end.addr, align 8 + store i8* %0, i8** @__libc_stack_end, align 8 + %1 = load void ()*, void ()** %rtld_fini.addr, align 8 + store void ()* %1, void ()** @__rtld_fini, align 8 + %2 = load i8**, i8*** %argv.addr, align 8 + %3 = load i32, i32* %argc.addr, align 4 + %add = add nsw i32 %3, 1 + %idxprom = sext i32 %add to i64 + %arrayidx = getelementptr inbounds i8*, i8** %2, i64 %idxprom + store i8** %arrayidx, i8*** @__environ, align 8 + %4 = load i8**, i8*** @__environ, align 8 + %5 = bitcast i8** %4 to i8* + %6 = load i8**, i8*** %argv.addr, align 8 + %7 = load i8*, i8** %6, align 8 + %cmp = icmp eq i8* %5, %7 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %8 = load i8**, i8*** %argv.addr, align 8 + %9 = load i32, i32* %argc.addr, align 4 + %idxprom1 = sext i32 %9 to i64 + %arrayidx2 = getelementptr inbounds i8*, i8** %8, i64 %idxprom1 + store i8** %arrayidx2, i8*** @__environ, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %arraydecay = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 0 + %10 = bitcast %struct.Elf64_auxv_t* %arraydecay to i8* + %call = call i8* @memset(i8* %10, i32 0, i64 240) #19 + %11 = load i8**, i8*** @__environ, align 8 + %12 = bitcast i8** %11 to i64* + store i64* %12, i64** %aux_dat, align 8 + br label %while.cond + +while.cond: ; preds = %while.cond, %if.end + %13 = load i64*, i64** %aux_dat, align 8 + %14 = load i64, i64* %13, align 8 + %tobool = icmp ne i64 %14, 0 + %15 = load i64*, i64** %aux_dat, align 8 + %incdec.ptr = getelementptr inbounds i64, i64* %15, i32 1 + store i64* %incdec.ptr, i64** %aux_dat, align 8 + br i1 %tobool, label %while.cond, label %while.cond4 + +while.cond4: ; preds = %while.cond, %if.end12 + %16 = load i64*, i64** %aux_dat, align 8 + %17 = load i64, i64* %16, align 8 + %tobool5 = icmp ne i64 %17, 0 + br i1 %tobool5, label %while.body6, label %while.end13 + +while.body6: ; preds = %while.cond4 + %18 = load i64*, i64** %aux_dat, align 8 + %19 = bitcast i64* %18 to %struct.Elf64_auxv_t* + store %struct.Elf64_auxv_t* %19, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %20 = load %struct.Elf64_auxv_t*, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %a_type = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %20, i32 0, i32 0 + %21 = load i64, i64* %a_type, align 8 + %cmp7 = icmp ule i64 %21, 14 + br i1 %cmp7, label %if.then8, label %if.end12 + +if.then8: ; preds = %while.body6 + %22 = load %struct.Elf64_auxv_t*, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %a_type9 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %22, i32 0, i32 0 + %23 = load i64, i64* %a_type9, align 8 + %arrayidx10 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 %23 + %24 = bitcast %struct.Elf64_auxv_t* %arrayidx10 to i8* + %25 = load %struct.Elf64_auxv_t*, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %26 = bitcast %struct.Elf64_auxv_t* %25 to i8* + %call11 = call i8* @memcpy(i8* %24, i8* %26, i64 16) #19 + br label %if.end12 + +if.end12: ; preds = %if.then8, %while.body6 + %27 = load i64*, i64** %aux_dat, align 8 + %add.ptr = getelementptr inbounds i64, i64* %27, i64 2 + store i64* %add.ptr, i64** %aux_dat, align 8 + br label %while.cond4 + +while.end13: ; preds = %while.cond4 + call void @__uClibc_init() #18 + %arrayidx14 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 6 + %a_un = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx14, i32 0, i32 1 + %a_val = bitcast %union.anon.193* %a_un to i64* + %28 = load i64, i64* %a_val, align 8 + %tobool15 = icmp ne i64 %28, 0 + %arrayidx16 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 6 + %a_un17 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx16, i32 0, i32 1 + %a_val18 = bitcast %union.anon.193* %a_un17 to i64* + %29 = load i64, i64* %a_val18, align 8 + %cond = select i1 %tobool15, i64 %29, i64 4096 + store i64 %cond, i64* @__pagesize, align 8 + %arrayidx19 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 11 + %a_un20 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx19, i32 0, i32 1 + %a_val21 = bitcast %union.anon.193* %a_un20 to i64* + %30 = load i64, i64* %a_val21, align 8 + %cmp22 = icmp eq i64 %30, -1 + br i1 %cmp22, label %land.lhs.true, label %lor.lhs.false + +land.lhs.true: ; preds = %while.end13 + %call23 = call i32 @__check_suid() #18 + %tobool24 = icmp ne i32 %call23, 0 + br i1 %tobool24, label %if.then45, label %lor.lhs.false + +lor.lhs.false: ; preds = %land.lhs.true, %while.end13 + %arrayidx25 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 11 + %a_un26 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx25, i32 0, i32 1 + %a_val27 = bitcast %union.anon.193* %a_un26 to i64* + %31 = load i64, i64* %a_val27, align 8 + %cmp28 = icmp ne i64 %31, -1 + br i1 %cmp28, label %land.lhs.true29, label %if.end46 + +land.lhs.true29: ; preds = %lor.lhs.false + %arrayidx30 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 11 + %a_un31 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx30, i32 0, i32 1 + %a_val32 = bitcast %union.anon.193* %a_un31 to i64* + %32 = load i64, i64* %a_val32, align 8 + %arrayidx33 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 12 + %a_un34 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx33, i32 0, i32 1 + %a_val35 = bitcast %union.anon.193* %a_un34 to i64* + %33 = load i64, i64* %a_val35, align 8 + %cmp36 = icmp ne i64 %32, %33 + br i1 %cmp36, label %if.then45, label %lor.lhs.false37 + +lor.lhs.false37: ; preds = %land.lhs.true29 + %arrayidx38 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 13 + %a_un39 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx38, i32 0, i32 1 + %a_val40 = bitcast %union.anon.193* %a_un39 to i64* + %34 = load i64, i64* %a_val40, align 8 + %arrayidx41 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 14 + %a_un42 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx41, i32 0, i32 1 + %a_val43 = bitcast %union.anon.193* %a_un42 to i64* + %35 = load i64, i64* %a_val43, align 8 + %cmp44 = icmp ne i64 %34, %35 + br i1 %cmp44, label %if.then45, label %if.end46 + +if.then45: ; preds = %lor.lhs.false37, %land.lhs.true29, %land.lhs.true + call void @__check_one_fd(i32 0, i32 131072) #18 + call void @__check_one_fd(i32 1, i32 131074) #18 + call void @__check_one_fd(i32 2, i32 131074) #18 + br label %if.end46 + +if.end46: ; preds = %if.then45, %lor.lhs.false37, %lor.lhs.false + %36 = load i8**, i8*** %argv.addr, align 8 + %37 = load i8*, i8** %36, align 8 + store i8* %37, i8** @__uclibc_progname, align 8 + %38 = load i8**, i8*** %argv.addr, align 8 + %39 = load i8*, i8** %38, align 8 + store i8* %39, i8** @program_invocation_name, align 8 + %40 = load i8**, i8*** %argv.addr, align 8 + %41 = load i8*, i8** %40, align 8 + %call47 = call i8* @strrchr(i8* %41, i32 47) #20 + store i8* %call47, i8** @program_invocation_short_name, align 8 + %42 = load i8*, i8** @program_invocation_short_name, align 8 + %cmp48 = icmp ne i8* %42, null + br i1 %cmp48, label %if.then49, label %if.else + +if.then49: ; preds = %if.end46 + %43 = load i8*, i8** @program_invocation_short_name, align 8 + %incdec.ptr50 = getelementptr inbounds i8, i8* %43, i32 1 + store i8* %incdec.ptr50, i8** @program_invocation_short_name, align 8 + br label %if.end51 + +if.else: ; preds = %if.end46 + %44 = load i8*, i8** @program_invocation_name, align 8 + store i8* %44, i8** @program_invocation_short_name, align 8 + br label %if.end51 + +if.end51: ; preds = %if.else, %if.then49 + %45 = load void ()*, void ()** %app_fini.addr, align 8 + store void ()* %45, void ()** @__app_fini, align 8 + %46 = load void ()*, void ()** %app_init.addr, align 8 + %cmp52 = icmp ne void ()* %46, null + br i1 %cmp52, label %if.then53, label %if.then55 + +if.then53: ; preds = %if.end51 + %47 = load void ()*, void ()** %app_init.addr, align 8 + call void %47() #18 + br label %if.then55 + +if.then55: ; preds = %if.end51, %if.then53 + %call56 = call i32* @__errno_location() #21 + store i32 0, i32* %call56, align 4 + %call59 = call i32* @__h_errno_location() #21 + store i32 0, i32* %call59, align 4 + %48 = load i32 (i32, i8**, i8**)*, i32 (i32, i8**, i8**)** %main.addr, align 8 + %49 = load i32, i32* %argc.addr, align 4 + %50 = load i8**, i8*** %argv.addr, align 8 + %51 = load i8**, i8*** @__environ, align 8 + %call61 = call i32 %48(i32 %49, i8** %50, i8** %51) #18 + call void @exit(i32 %call61) #22 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__check_suid() #0 { +entry: + %retval = alloca i32, align 4 + %uid = alloca i32, align 4 + %euid = alloca i32, align 4 + %gid = alloca i32, align 4 + %egid = alloca i32, align 4 + %call = call i32 @getuid() #19 + store i32 %call, i32* %uid, align 4 + %call1 = call i32 @geteuid() #19 + store i32 %call1, i32* %euid, align 4 + %call2 = call i32 @getgid() #19 + store i32 %call2, i32* %gid, align 4 + %call3 = call i32 @getegid() #19 + store i32 %call3, i32* %egid, align 4 + %0 = load i32, i32* %uid, align 4 + %1 = load i32, i32* %euid, align 4 + %cmp = icmp eq i32 %0, %1 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %2 = load i32, i32* %gid, align 4 + %3 = load i32, i32* %egid, align 4 + %cmp4 = icmp eq i32 %2, %3 + br i1 %cmp4, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__check_one_fd(i32 %fd, i32 %mode) #0 { +entry: + %fd.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %st = alloca %struct.stat.192, align 8 + %nullfd = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 (i32, i32, ...) @fcntl(i32 %0, i32 1) #18 + %cmp = icmp eq i32 %call, -1 + br i1 %cmp, label %land.rhs, label %land.end + +land.rhs: ; preds = %entry + %call1 = call i32* @__errno_location() #21 + %1 = load i32, i32* %call1, align 4 + %cmp2 = icmp eq i32 %1, 9 + br label %land.end + +land.end: ; preds = %land.rhs, %entry + %2 = phi i1 [ false, %entry ], [ %cmp2, %land.rhs ] + %lnot = xor i1 %2, true + %lnot3 = xor i1 %lnot, true + %lnot.ext = zext i1 %lnot3 to i32 + %conv = sext i32 %lnot.ext to i64 + %tobool = icmp ne i64 %conv, 0 + br i1 %tobool, label %if.then, label %if.end17 + +if.then: ; preds = %land.end + %3 = load i32, i32* %mode.addr, align 4 + %call4 = call i32 (i8*, i32, ...) @open(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.1, i64 0, i64 0), i32 %3) #18 + store i32 %call4, i32* %nullfd, align 4 + %4 = load i32, i32* %nullfd, align 4 + %5 = load i32, i32* %fd.addr, align 4 + %cmp5 = icmp ne i32 %4, %5 + br i1 %cmp5, label %if.then16, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then + %6 = load i32, i32* %fd.addr, align 4 + %call7 = call i32 bitcast (i32 (i32, %struct.stat64*)* @fstat to i32 (i32, %struct.stat.192*)*)(i32 %6, %struct.stat.192* %st) #19 + %tobool8 = icmp ne i32 %call7, 0 + br i1 %tobool8, label %if.then16, label %lor.lhs.false9 + +lor.lhs.false9: ; preds = %lor.lhs.false + %st_mode = getelementptr inbounds %struct.stat.192, %struct.stat.192* %st, i32 0, i32 3 + %7 = load i32, i32* %st_mode, align 8 + %and = and i32 %7, 61440 + %cmp10 = icmp eq i32 %and, 8192 + br i1 %cmp10, label %lor.lhs.false12, label %if.then16 + +lor.lhs.false12: ; preds = %lor.lhs.false9 + %st_rdev = getelementptr inbounds %struct.stat.192, %struct.stat.192* %st, i32 0, i32 7 + %8 = load i64, i64* %st_rdev, align 8 + %call13 = call i64 @gnu_dev_makedev.173(i32 1, i32 3) #19 + %cmp14 = icmp ne i64 %8, %call13 + br i1 %cmp14, label %if.then16, label %if.end17 + +if.then16: ; preds = %lor.lhs.false12, %lor.lhs.false9, %lor.lhs.false, %if.then + call void @abort() #22 + unreachable + +if.end17: ; preds = %lor.lhs.false12, %land.end + ret void +} + +; Function Attrs: nounwind +declare i32 @getuid() #2 + +; Function Attrs: nounwind +declare i32 @geteuid() #2 + +; Function Attrs: nounwind +declare i32 @getgid() #2 + +; Function Attrs: nounwind +declare i32 @getegid() #2 + +; Function Attrs: noinline nounwind uwtable +define internal i64 @gnu_dev_makedev.173(i32 %__major, i32 %__minor) #0 { +entry: + %__major.addr = alloca i32, align 4 + %__minor.addr = alloca i32, align 4 + store i32 %__major, i32* %__major.addr, align 4 + store i32 %__minor, i32* %__minor.addr, align 4 + %0 = load i32, i32* %__minor.addr, align 4 + %and = and i32 %0, 255 + %1 = load i32, i32* %__major.addr, align 4 + %and1 = and i32 %1, 4095 + %shl = shl i32 %and1, 8 + %or = or i32 %and, %shl + %conv = zext i32 %or to i64 + %2 = load i32, i32* %__minor.addr, align 4 + %and2 = and i32 %2, -256 + %conv3 = zext i32 %and2 to i64 + %shl4 = shl i64 %conv3, 12 + %or5 = or i64 %conv, %shl4 + %3 = load i32, i32* %__major.addr, align 4 + %and6 = and i32 %3, -4096 + %conv7 = zext i32 %and6 to i64 + %shl8 = shl i64 %conv7, 32 + %or9 = or i64 %or5, %shl8 + ret i64 %or9 +} + +define i32 @main(i32 %argc, i8** %argv) { +entry: + call void @__uClibc_main(i32 (i32, i8**, i8**)* @__user_main, i32 %argc, i8** %argv, void ()* null, void ()* null, void ()* null, i8* null) + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define i32 @siggetmask() #0 { +entry: + %call = call i32 @sigblock(i32 0) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i64 @__fpending(%struct.__STDIO_FILE_STRUCT.513* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.513*, align 8 + store %struct.__STDIO_FILE_STRUCT.513* %stream, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.513*, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.513, %struct.__STDIO_FILE_STRUCT.513* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %cond.true, label %cond.end + +cond.true: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.513*, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.513, %struct.__STDIO_FILE_STRUCT.513* %2, i32 0, i32 5 + %3 = load i8*, i8** %__bufpos, align 8 + %4 = load %struct.__STDIO_FILE_STRUCT.513*, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.513, %struct.__STDIO_FILE_STRUCT.513* %4, i32 0, i32 3 + %5 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %3 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + br label %cond.end + +cond.end: ; preds = %entry, %cond.true + %cond = phi i64 [ %sub.ptr.sub, %cond.true ], [ 0, %entry ] + ret i64 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i8* @gets(i8* %s) #0 { +entry: + %s.addr = alloca i8*, align 8 + %p = alloca i8*, align 8 + %c = alloca i32, align 4 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %call = call i32 @getchar_unlocked() #18 + store i32 %call, i32* %c, align 4 + %cmp = icmp ne i32 %call, -1 + br i1 %cmp, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %1 = load i32, i32* %c, align 4 + %conv = trunc i32 %1 to i8 + %2 = load i8*, i8** %p, align 8 + store i8 %conv, i8* %2, align 1 + %conv1 = sext i8 %conv to i32 + %cmp2 = icmp ne i32 %conv1, 10 + br i1 %cmp2, label %while.body, label %while.end + +while.body: ; preds = %land.rhs + %3 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + br label %while.cond + +while.end: ; preds = %while.cond, %land.rhs + %4 = load i32, i32* %c, align 4 + %cmp4 = icmp eq i32 %4, -1 + br i1 %cmp4, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.end + %5 = load i8*, i8** %s.addr, align 8 + %6 = load i8*, i8** %p, align 8 + %cmp6 = icmp eq i8* %5, %6 + br i1 %cmp6, label %if.then, label %if.else + +if.then: ; preds = %lor.lhs.false, %while.end + store i8* null, i8** %s.addr, align 8 + br label %if.end + +if.else: ; preds = %lor.lhs.false + %7 = load i8*, i8** %p, align 8 + store i8 0, i8* %7, align 1 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %8 = load i8*, i8** %s.addr, align 8 + ret i8* %8 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @tmpnam(i8* %s) #0 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %tmpbufmem = alloca [20 x i8], align 16 + %tmpbuf = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %tobool = icmp ne i8* %0, null + %arraydecay = getelementptr inbounds [20 x i8], [20 x i8]* %tmpbufmem, i64 0, i64 0 + %cond = select i1 %tobool, i8* %0, i8* %arraydecay + store i8* %cond, i8** %tmpbuf, align 8 + %1 = load i8*, i8** %tmpbuf, align 8 + %call = call i32 @___path_search(i8* %1, i64 20, i8* null, i8* null) #18 + %conv = sext i32 %call to i64 + %tobool1 = icmp ne i64 %conv, 0 + br i1 %tobool1, label %if.then, label %if.end + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %tmpbuf, align 8 + %call2 = call i32 @__gen_tempname(i8* %2, i32 3) #18 + %conv3 = sext i32 %call2 to i64 + %tobool4 = icmp ne i64 %conv3, 0 + br i1 %tobool4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end + store i8* null, i8** %retval, align 8 + br label %return + +if.end6: ; preds = %if.end + %3 = load i8*, i8** %s.addr, align 8 + %cmp = icmp eq i8* %3, null + br i1 %cmp, label %if.then8, label %if.end10 + +if.then8: ; preds = %if.end6 + %4 = load i8*, i8** %tmpbuf, align 8 + %call9 = call i8* @memcpy(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @tmpnam_buffer, i64 0, i64 0), i8* %4, i64 20) #19 + store i8* %call9, i8** %retval, align 8 + br label %return + +if.end10: ; preds = %if.end6 + %5 = load i8*, i8** %s.addr, align 8 + store i8* %5, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end10, %if.then8, %if.then5, %if.then + %6 = load i8*, i8** %retval, align 8 + ret i8* %6 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @mktemp(i8* nonnull %template) #0 { +entry: + %template.addr = alloca i8*, align 8 + store i8* %template, i8** %template.addr, align 8 + %0 = load i8*, i8** %template.addr, align 8 + %call = call i32 @__gen_tempname(i8* %0, i32 3) #18 + %cmp = icmp slt i32 %call, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load i8*, i8** %template.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + store i8 0, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then, %entry + %2 = load i8*, i8** %template.addr, align 8 + ret i8* %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @access(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %pathname.addr, align 8 + %call1 = call i8* @__concretize_string(i8* %2) + %3 = load i32, i32* %mode.addr, align 4 + %call2 = call i64 (i64, ...) @syscall(i64 21, i8* %call1, i32 %3) #11 + %conv = trunc i64 %call2 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.exe_disk_file_t* @__get_sym_file(i8* %pathname) #3 { +entry: + %retval = alloca %struct.exe_disk_file_t*, align 8 + %pathname.addr = alloca i8*, align 8 + %cwd = alloca [1024 x i8], align 16 + %cwd_len = alloca i64, align 8 + %c = alloca i8, align 1 + %i = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + %0 = load i8*, i8** %pathname.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %pathname.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %2 to i32 + %cmp = icmp eq i32 %conv, 47 + br i1 %cmp, label %if.then2, label %if.end29 + +if.then2: ; preds = %if.end + %3 = bitcast [1024 x i8]* %cwd to i8* + %4 = call i8* @memset(i8* %3, i32 0, i64 1024) + %arraydecay = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 0 + %call = call i8* @getcwd(i8* %arraydecay, i64 1024) #11 + %tobool3 = icmp ne i8* %call, null + br i1 %tobool3, label %if.then4, label %if.end29 + +if.then4: ; preds = %if.then2 + %arraydecay5 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 0 + %call6 = call i64 @strlen(i8* %arraydecay5) #23 + store i64 %call6, i64* %cwd_len, align 8 + %5 = load i64, i64* %cwd_len, align 8 + %cmp7 = icmp ugt i64 %5, 0 + br i1 %cmp7, label %land.lhs.true, label %if.end15 + +land.lhs.true: ; preds = %if.then4 + %6 = load i64, i64* %cwd_len, align 8 + %sub = sub i64 %6, 1 + %arrayidx9 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 %sub + %7 = load i8, i8* %arrayidx9, align 1 + %conv10 = sext i8 %7 to i32 + %cmp11 = icmp eq i32 %conv10, 47 + br i1 %cmp11, label %if.then13, label %if.end15 + +if.then13: ; preds = %land.lhs.true + %8 = load i64, i64* %cwd_len, align 8 + %dec = add i64 %8, -1 + store i64 %dec, i64* %cwd_len, align 8 + %arrayidx14 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 %dec + store i8 0, i8* %arrayidx14, align 1 + br label %if.end15 + +if.end15: ; preds = %if.then13, %land.lhs.true, %if.then4 + %9 = load i8*, i8** %pathname.addr, align 8 + %arraydecay16 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 0 + %10 = load i64, i64* %cwd_len, align 8 + %call17 = call i32 @strncmp(i8* %9, i8* %arraydecay16, i64 %10) #23 + %cmp18 = icmp eq i32 %call17, 0 + br i1 %cmp18, label %if.then20, label %if.end29 + +if.then20: ; preds = %if.end15 + %11 = load i8*, i8** %pathname.addr, align 8 + %12 = load i64, i64* %cwd_len, align 8 + %arrayidx21 = getelementptr inbounds i8, i8* %11, i64 %12 + %13 = load i8, i8* %arrayidx21, align 1 + %conv22 = sext i8 %13 to i32 + %cmp23 = icmp ne i32 %conv22, 0 + br i1 %cmp23, label %if.then25, label %if.end29 + +if.then25: ; preds = %if.then20 + %14 = load i64, i64* %cwd_len, align 8 + %add = add i64 %14, 1 + %15 = load i8*, i8** %pathname.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %15, i64 %add + store i8* %add.ptr, i8** %pathname.addr, align 8 + br label %if.end29 + +if.end29: ; preds = %if.then2, %if.then20, %if.then25, %if.end15, %if.end + %16 = load i8*, i8** %pathname.addr, align 8 + %arrayidx30 = getelementptr inbounds i8, i8* %16, i64 0 + %17 = load i8, i8* %arrayidx30, align 1 + store i8 %17, i8* %c, align 1 + %18 = load i8, i8* %c, align 1 + %conv31 = sext i8 %18 to i32 + %cmp32 = icmp eq i32 %conv31, 0 + br i1 %cmp32, label %if.then38, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end29 + %19 = load i8*, i8** %pathname.addr, align 8 + %arrayidx34 = getelementptr inbounds i8, i8* %19, i64 1 + %20 = load i8, i8* %arrayidx34, align 1 + %conv35 = sext i8 %20 to i32 + %cmp36 = icmp ne i32 %conv35, 0 + br i1 %cmp36, label %if.then38, label %if.end39 + +if.then38: ; preds = %lor.lhs.false, %if.end29 + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +if.end39: ; preds = %lor.lhs.false + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end39 + %21 = load i32, i32* %i, align 4 + %22 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %cmp40 = icmp ult i32 %21, %22 + br i1 %cmp40, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %23 = load i8, i8* %c, align 1 + %conv42 = sext i8 %23 to i32 + %24 = load i32, i32* %i, align 4 + %conv43 = trunc i32 %24 to i8 + %conv44 = sext i8 %conv43 to i32 + %add45 = add nsw i32 65, %conv44 + %cmp46 = icmp eq i32 %conv42, %add45 + br i1 %cmp46, label %if.then48, label %for.inc + +if.then48: ; preds = %for.body + %25 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %26 = load i32, i32* %i, align 4 + %idxprom = zext i32 %26 to i64 + %arrayidx49 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %25, i64 %idxprom + store %struct.exe_disk_file_t* %arrayidx49, %struct.exe_disk_file_t** %df, align 8 + %27 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %27, i32 0, i32 2 + %28 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %28, i32 0, i32 1 + %29 = load i64, i64* %st_ino, align 8 + %cmp50 = icmp eq i64 %29, 0 + br i1 %cmp50, label %if.then52, label %if.end53 + +if.then52: ; preds = %if.then48 + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +if.end53: ; preds = %if.then48 + %30 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + store %struct.exe_disk_file_t* %30, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +for.inc: ; preds = %for.body + %31 = load i32, i32* %i, align 4 + %inc = add i32 %31, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +return: ; preds = %for.end, %if.end53, %if.then52, %if.then38, %if.then + %32 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %retval, align 8 + ret %struct.exe_disk_file_t* %32 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @__concretize_string(i8* %s) #3 { +entry: + %s.addr = alloca i8*, align 8 + %sc = alloca i8*, align 8 + %i = alloca i32, align 4 + %c = alloca i8, align 1 + %cc = alloca i8, align 1 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %call = call i8* @__concretize_ptr(i8* %0) + store i8* %call, i8** %sc, align 8 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load i8*, i8** %sc, align 8 + %2 = load i8, i8* %1, align 1 + store i8 %2, i8* %c, align 1 + %3 = load i8, i8* %c, align 1 + %conv = sext i8 %3 to i64 + %call1 = call i32 @gs_is_symbolic(i64 %conv) + %tobool = icmp ne i32 %call1, 0 + br i1 %tobool, label %if.end4, label %if.then + +if.then: ; preds = %for.cond + %4 = load i8, i8* %c, align 1 + %tobool2 = icmp ne i8 %4, 0 + br i1 %tobool2, label %for.inc, label %for.end + +if.end4: ; preds = %for.cond + %5 = load i32, i32* %i, align 4 + %6 = load i32, i32* %i, align 4 + %sub = sub i32 %6, 1 + %and = and i32 %5, %sub + %tobool5 = icmp ne i32 %and, 0 + %7 = load i8, i8* %c, align 1 + br i1 %tobool5, label %if.else14, label %if.then6 + +if.then6: ; preds = %if.end4 + %tobool7 = icmp ne i8 %7, 0 + br i1 %tobool7, label %if.else, label %if.then8 + +if.then8: ; preds = %if.then6 + %8 = load i8*, i8** %sc, align 8 + store i8 0, i8* %8, align 1 + br label %for.end + +if.else: ; preds = %if.then6 + %9 = load i8, i8* %c, align 1 + %conv9 = sext i8 %9 to i32 + %cmp = icmp eq i32 %conv9, 47 + br i1 %cmp, label %if.then11, label %for.inc + +if.then11: ; preds = %if.else + %10 = load i8*, i8** %sc, align 8 + store i8 47, i8* %10, align 1 + br label %for.inc + +if.else14: ; preds = %if.end4 + %conv15 = sext i8 %7 to i64 + %call16 = call i64 @gs_get_valuel(i64 %conv15) + %conv17 = trunc i64 %call16 to i8 + store i8 %conv17, i8* %cc, align 1 + %11 = load i8, i8* %cc, align 1 + %conv18 = sext i8 %11 to i32 + %12 = load i8, i8* %c, align 1 + %conv19 = sext i8 %12 to i32 + %cmp20 = icmp eq i32 %conv18, %conv19 + call void @gs_assume(i1 zeroext %cmp20) + %13 = load i8, i8* %cc, align 1 + %14 = load i8*, i8** %sc, align 8 + store i8 %13, i8* %14, align 1 + %15 = load i8, i8* %cc, align 1 + %tobool22 = icmp ne i8 %15, 0 + br i1 %tobool22, label %for.inc, label %for.end + +for.inc: ; preds = %if.else, %if.then11, %if.else14, %if.then + %16 = load i32, i32* %i, align 4 + %inc = add i32 %16, 1 + store i32 %inc, i32* %i, align 4 + %17 = load i8*, i8** %sc, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %17, i32 1 + store i8* %incdec.ptr, i8** %sc, align 8 + br label %for.cond + +for.end: ; preds = %if.else14, %if.then, %if.then8 + %18 = load i8*, i8** %s.addr, align 8 + ret i8* %18 +} + +; Function Attrs: nounwind +declare dso_local i64 @syscall(i64, ...) #4 + +; Function Attrs: noinline nounwind uwtable +define internal i8* @__concretize_ptr(i8* %p) #3 { +entry: + %p.addr = alloca i8*, align 8 + store i8* %p, i8** %p.addr, align 8 + %0 = load i8*, i8** %p.addr, align 8 + %1 = ptrtoint i8* %0 to i64 + %call = call i32 @gs_is_symbolic(i64 %1) + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @gs_report_error(i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 1386, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.27, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.28, i64 0, i64 0)) #24 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %p.addr, align 8 + ret i8* %2 +} + +declare dso_local i32 @gs_is_symbolic(i64) #5 + +declare dso_local i64 @gs_get_valuel(i64) #5 + +declare dso_local void @gs_assume(i1 zeroext) #5 + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.25, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +declare dso_local void @print_string(i8*) #5 + +declare dso_local void @sym_print(i32, ...) #5 + +; Function Attrs: noreturn +declare dso_local void @stop(i32) #7 + +; Function Attrs: argmemonly nounwind willreturn writeonly +declare void @llvm.memset.p0i8.i64(i8* nocapture writeonly, i8, i64, i1 immarg) #8 + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @getcwd(i8* %buf, i64 %size) #3 { +entry: + %retval = alloca i8*, align 8 + %buf.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %r = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + %0 = load i32, i32* @getcwd.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @getcwd.n_calls, align 4 + %1 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool = icmp ne i32 %1, 0 + br i1 %tobool, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %2 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %3 = load i32, i32* %2, align 4 + %4 = load i32, i32* @getcwd.n_calls, align 4 + %cmp = icmp eq i32 %3, %4 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %5 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %5, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call = call i32* @__errno_location() #25 + store i32 34, i32* %call, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + %6 = load i8*, i8** %buf.addr, align 8 + %tobool1 = icmp ne i8* %6, null + br i1 %tobool1, label %if.else, label %if.then2 + +if.then2: ; preds = %if.end + store i64 1024, i64* %size.addr, align 8 + %7 = load i64, i64* %size.addr, align 8 + %call3 = call noalias i8* @malloc(i64 %7) #11 + store i8* %call3, i8** %buf.addr, align 8 + %8 = load i8*, i8** %buf.addr, align 8 + %tobool4 = icmp ne i8* %8, null + br i1 %tobool4, label %if.end12, label %if.then5 + +if.then5: ; preds = %if.then2 + %call6 = call i32* @__errno_location() #25 + store i32 12, i32* %call6, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.else: ; preds = %if.end + %9 = load i64, i64* %size.addr, align 8 + %tobool8 = icmp ne i64 %9, 0 + br i1 %tobool8, label %if.end12, label %if.then9 + +if.then9: ; preds = %if.else + %call10 = call i32* @__errno_location() #25 + store i32 22, i32* %call10, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end12: ; preds = %if.else, %if.then2 + %10 = load i8*, i8** %buf.addr, align 8 + %call13 = call i8* @__concretize_ptr(i8* %10) + store i8* %call13, i8** %buf.addr, align 8 + %11 = load i64, i64* %size.addr, align 8 + %call14 = call i64 @__concretize_size(i64 %11) + store i64 %call14, i64* %size.addr, align 8 + %12 = load i8*, i8** %buf.addr, align 8 + %13 = load i64, i64* %size.addr, align 8 + %call15 = call i64 (i64, ...) @syscall(i64 79, i8* %12, i64 %13) #11 + %conv = trunc i64 %call15 to i32 + store i32 %conv, i32* %r, align 4 + %14 = load i32, i32* %r, align 4 + %cmp16 = icmp eq i32 %14, -1 + br i1 %cmp16, label %if.then18, label %if.end19 + +if.then18: ; preds = %if.end12 + store i8* null, i8** %retval, align 8 + br label %return + +if.end19: ; preds = %if.end12 + %15 = load i8*, i8** %buf.addr, align 8 + store i8* %15, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end19, %if.then18, %if.then9, %if.then5, %if.then + %16 = load i8*, i8** %retval, align 8 + ret i8* %16 +} + +; Function Attrs: nounwind +declare dso_local noalias i8* @malloc(i64) #4 + +; Function Attrs: noinline nounwind uwtable +define internal i64 @__concretize_size(i64 %s) #3 { +entry: + %s.addr = alloca i64, align 8 + %sc = alloca i64, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %call = call i64 @gs_get_valuel(i64 %0) + store i64 %call, i64* %sc, align 8 + %1 = load i64, i64* %sc, align 8 + %2 = load i64, i64* %s.addr, align 8 + %cmp = icmp eq i64 %1, %2 + call void @gs_assume(i1 zeroext %cmp) + %3 = load i64, i64* %sc, align 8 + ret i64 %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @umask(i32 %mask) #3 { +entry: + %mask.addr = alloca i32, align 4 + %r = alloca i32, align 4 + store i32 %mask, i32* %mask.addr, align 4 + %0 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 1), align 8 + store i32 %0, i32* %r, align 4 + %1 = load i32, i32* %mask.addr, align 4 + %and = and i32 %1, 511 + store i32 %and, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 1), align 8 + %2 = load i32, i32* %r, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_open(i8* %pathname, i32 %flags, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %fd = alloca i32, align 4 + %os_fd = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + store i32 0, i32* %fd, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %0, 32 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %1 = load i32, i32* %fd, align 4 + %idxprom = sext i32 %1 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + %flags1 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %arrayidx, i32 0, i32 1 + %2 = load i32, i32* %flags1, align 4 + %and = and i32 %2, 1 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %for.inc, label %for.end + +for.inc: ; preds = %for.body + %3 = load i32, i32* %fd, align 4 + %inc = add nsw i32 %3, 1 + store i32 %inc, i32* %fd, align 4 + br label %for.cond + +for.end: ; preds = %for.body, %for.cond + %4 = load i32, i32* %fd, align 4 + %cmp2 = icmp eq i32 %4, 32 + br i1 %cmp2, label %if.then3, label %if.end4 + +if.then3: ; preds = %for.end + %call = call i32* @__errno_location() #25 + store i32 24, i32* %call, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %for.end + %5 = load i32, i32* %fd, align 4 + %idxprom5 = sext i32 %5 to i64 + %arrayidx6 = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom5 + store %struct.exe_file_t* %arrayidx6, %struct.exe_file_t** %f, align 8 + %6 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %7 = bitcast %struct.exe_file_t* %6 to i8* + %8 = call i8* @memset(i8* %7, i32 0, i64 24) + %9 = load i8*, i8** %pathname.addr, align 8 + %call7 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %9) + store %struct.exe_disk_file_t* %call7, %struct.exe_disk_file_t** %df, align 8 + %10 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %tobool8 = icmp ne %struct.exe_disk_file_t* %10, null + br i1 %tobool8, label %if.then9, label %if.else45 + +if.then9: ; preds = %if.end4 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %12 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %12, i32 0, i32 3 + store %struct.exe_disk_file_t* %11, %struct.exe_disk_file_t** %dfile, align 8 + %13 = load i32, i32* %flags.addr, align 4 + %and10 = and i32 %13, 64 + %tobool11 = icmp ne i32 %and10, 0 + br i1 %tobool11, label %land.lhs.true, label %if.end16 + +land.lhs.true: ; preds = %if.then9 + %14 = load i32, i32* %flags.addr, align 4 + %and12 = and i32 %14, 128 + %tobool13 = icmp ne i32 %and12, 0 + br i1 %tobool13, label %if.then14, label %if.end16 + +if.then14: ; preds = %land.lhs.true + %call15 = call i32* @__errno_location() #25 + store i32 17, i32* %call15, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end16: ; preds = %land.lhs.true, %if.then9 + %15 = load i32, i32* %flags.addr, align 4 + %and17 = and i32 %15, 512 + %tobool18 = icmp ne i32 %and17, 0 + br i1 %tobool18, label %land.lhs.true19, label %if.end24 + +land.lhs.true19: ; preds = %if.end16 + %16 = load i32, i32* %flags.addr, align 4 + %and20 = and i32 %16, 0 + %tobool21 = icmp ne i32 %and20, 0 + br i1 %tobool21, label %if.then22, label %if.end24 + +if.then22: ; preds = %land.lhs.true19 + call void @gs_warning(i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.5, i64 0, i64 0)) + %call23 = call i32* @__errno_location() #25 + store i32 13, i32* %call23, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end24: ; preds = %land.lhs.true19, %if.end16 + %17 = load i32, i32* %flags.addr, align 4 + %and25 = and i32 %17, 128 + %tobool26 = icmp ne i32 %and25, 0 + br i1 %tobool26, label %land.lhs.true27, label %if.end32 + +land.lhs.true27: ; preds = %if.end24 + %18 = load i32, i32* %flags.addr, align 4 + %and28 = and i32 %18, 64 + %tobool29 = icmp ne i32 %and28, 0 + br i1 %tobool29, label %if.end32, label %if.then30 + +if.then30: ; preds = %land.lhs.true27 + call void @gs_warning(i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.1.6, i64 0, i64 0)) + %call31 = call i32* @__errno_location() #25 + store i32 13, i32* %call31, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end32: ; preds = %land.lhs.true27, %if.end24 + %19 = load i32, i32* %flags.addr, align 4 + %20 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %20, i32 0, i32 2 + %21 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %call33 = call i32 @has_permission(i32 %19, %struct.stat64* %21) + %tobool34 = icmp ne i32 %call33, 0 + br i1 %tobool34, label %if.else, label %if.then35 + +if.then35: ; preds = %if.end32 + %call36 = call i32* @__errno_location() #25 + store i32 13, i32* %call36, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.end32 + %22 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile37 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %22, i32 0, i32 3 + %23 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile37, align 8 + %stat38 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %23, i32 0, i32 2 + %24 = load %struct.stat64*, %struct.stat64** %stat38, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %24, i32 0, i32 3 + %25 = load i32, i32* %st_mode, align 8 + %and39 = and i32 %25, -512 + %26 = load i32, i32* %mode.addr, align 4 + %27 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 1), align 8 + %neg = xor i32 %27, -1 + %and40 = and i32 %26, %neg + %or = or i32 %and39, %and40 + %28 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile41 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %28, i32 0, i32 3 + %29 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile41, align 8 + %stat42 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %29, i32 0, i32 2 + %30 = load %struct.stat64*, %struct.stat64** %stat42, align 8 + %st_mode43 = getelementptr inbounds %struct.stat64, %struct.stat64* %30, i32 0, i32 3 + store i32 %or, i32* %st_mode43, align 8 + br label %if.end53 + +if.else45: ; preds = %if.end4 + %31 = load i8*, i8** %pathname.addr, align 8 + %call46 = call i8* @__concretize_string(i8* %31) + %32 = load i32, i32* %flags.addr, align 4 + %33 = load i32, i32* %mode.addr, align 4 + %call47 = call i64 (i64, ...) @syscall(i64 2, i8* %call46, i32 %32, i32 %33) #11 + %conv = trunc i64 %call47 to i32 + store i32 %conv, i32* %os_fd, align 4 + %34 = load i32, i32* %os_fd, align 4 + %cmp48 = icmp eq i32 %34, -1 + br i1 %cmp48, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.else45 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end51: ; preds = %if.else45 + %35 = load i32, i32* %os_fd, align 4 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd52 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 0 + store i32 %35, i32* %fd52, align 8 + br label %if.end53 + +if.end53: ; preds = %if.end51, %if.else + %37 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %37, i32 0, i32 1 + store i32 1, i32* %flags54, align 4 + %38 = load i32, i32* %flags.addr, align 4 + %and55 = and i32 %38, 3 + %cmp56 = icmp eq i32 %and55, 0 + br i1 %cmp56, label %if.then58, label %if.else61 + +if.then58: ; preds = %if.end53 + %39 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags59 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %39, i32 0, i32 1 + %40 = load i32, i32* %flags59, align 4 + %or60 = or i32 %40, 4 + store i32 %or60, i32* %flags59, align 4 + br label %if.end72 + +if.else61: ; preds = %if.end53 + %41 = load i32, i32* %flags.addr, align 4 + %and62 = and i32 %41, 3 + %cmp63 = icmp eq i32 %and62, 1 + %42 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags66 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %42, i32 0, i32 1 + %43 = load i32, i32* %flags66, align 4 + br i1 %cmp63, label %if.then65, label %if.else68 + +if.then65: ; preds = %if.else61 + %or67 = or i32 %43, 8 + store i32 %or67, i32* %flags66, align 4 + br label %if.end72 + +if.else68: ; preds = %if.else61 + %or70 = or i32 %43, 12 + store i32 %or70, i32* %flags66, align 4 + br label %if.end72 + +if.end72: ; preds = %if.then65, %if.else68, %if.then58 + %44 = load i32, i32* %fd, align 4 + store i32 %44, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end72, %if.then50, %if.then35, %if.then30, %if.then22, %if.then14, %if.then3 + %45 = load i32, i32* %retval, align 4 + ret i32 %45 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @gs_warning(i8* %message) #3 { +entry: + %message.addr = alloca i8*, align 8 + store i8* %message, i8** %message.addr, align 8 + %0 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %0) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.25, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @has_permission(i32 %flags, %struct.stat64* %s) #3 { +entry: + %retval = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %s.addr = alloca %struct.stat64*, align 8 + %write_access = alloca i32, align 4 + %read_access = alloca i32, align 4 + %mode = alloca i32, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store %struct.stat64* %s, %struct.stat64** %s.addr, align 8 + %0 = load %struct.stat64*, %struct.stat64** %s.addr, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %0, i32 0, i32 3 + %1 = load i32, i32* %st_mode, align 8 + store i32 %1, i32* %mode, align 4 + %2 = load i32, i32* %flags.addr, align 4 + %and = and i32 %2, 0 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %3 = load i32, i32* %flags.addr, align 4 + %and1 = and i32 %3, 2 + %tobool2 = icmp ne i32 %and1, 0 + br i1 %tobool2, label %if.then, label %if.else + +if.then: ; preds = %lor.lhs.false, %entry + store i32 1, i32* %read_access, align 4 + br label %if.end + +if.else: ; preds = %lor.lhs.false + store i32 0, i32* %read_access, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %4 = load i32, i32* %flags.addr, align 4 + %and3 = and i32 %4, 1 + %tobool4 = icmp ne i32 %and3, 0 + br i1 %tobool4, label %if.then8, label %lor.lhs.false5 + +lor.lhs.false5: ; preds = %if.end + %5 = load i32, i32* %flags.addr, align 4 + %and6 = and i32 %5, 2 + %tobool7 = icmp ne i32 %and6, 0 + br i1 %tobool7, label %if.then8, label %if.else9 + +if.then8: ; preds = %lor.lhs.false5, %if.end + store i32 1, i32* %write_access, align 4 + br label %if.end10 + +if.else9: ; preds = %lor.lhs.false5 + store i32 0, i32* %write_access, align 4 + br label %if.end10 + +if.end10: ; preds = %if.else9, %if.then8 + %6 = load i32, i32* %read_access, align 4 + %tobool11 = icmp ne i32 %6, 0 + br i1 %tobool11, label %land.lhs.true, label %if.end18 + +land.lhs.true: ; preds = %if.end10 + %7 = load i32, i32* %mode, align 4 + %and12 = and i32 %7, 256 + %8 = load i32, i32* %mode, align 4 + %and13 = and i32 %8, 32 + %or = or i32 %and12, %and13 + %9 = load i32, i32* %mode, align 4 + %and14 = and i32 %9, 4 + %or15 = or i32 %or, %and14 + %tobool16 = icmp ne i32 %or15, 0 + br i1 %tobool16, label %if.then17, label %if.end18 + +if.then17: ; preds = %land.lhs.true + store i32 0, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %land.lhs.true, %if.end10 + %10 = load i32, i32* %write_access, align 4 + %tobool19 = icmp ne i32 %10, 0 + br i1 %tobool19, label %land.lhs.true20, label %if.end28 + +land.lhs.true20: ; preds = %if.end18 + %11 = load i32, i32* %mode, align 4 + %and21 = and i32 %11, 128 + %12 = load i32, i32* %mode, align 4 + %and22 = and i32 %12, 16 + %or23 = or i32 %and21, %and22 + %13 = load i32, i32* %mode, align 4 + %and24 = and i32 %13, 2 + %or25 = or i32 %or23, %and24 + %tobool26 = icmp ne i32 %or25, 0 + br i1 %tobool26, label %if.end28, label %if.then27 + +if.then27: ; preds = %land.lhs.true20 + store i32 0, i32* %retval, align 4 + br label %return + +if.end28: ; preds = %land.lhs.true20, %if.end18 + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end28, %if.then27, %if.then17 + %14 = load i32, i32* %retval, align 4 + ret i32 %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_openat(i32 %basefd, i8* %pathname, i32 %flags, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %basefd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %fd = alloca i32, align 4 + %bf = alloca %struct.exe_file_t*, align 8 + %os_fd = alloca i32, align 4 + store i32 %basefd, i32* %basefd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %basefd.addr, align 4 + %cmp = icmp ne i32 %0, -100 + br i1 %cmp, label %if.then, label %if.end8 + +if.then: ; preds = %entry + %1 = load i32, i32* %basefd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %bf, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %bf, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.else, label %if.then1 + +if.then1: ; preds = %if.then + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %bf, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 3 + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool3 = icmp ne %struct.exe_disk_file_t* %4, null + br i1 %tobool3, label %if.then4, label %if.end6 + +if.then4: ; preds = %if.else + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0)) + %call5 = call i32* @__errno_location() #25 + store i32 2, i32* %call5, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.else + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %bf, align 8 + %fd7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd7, align 8 + store i32 %6, i32* %basefd.addr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end6, %entry + %7 = load i8*, i8** %pathname.addr, align 8 + %call9 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %7) + %tobool10 = icmp ne %struct.exe_disk_file_t* %call9, null + br i1 %tobool10, label %if.then11, label %if.end13 + +if.then11: ; preds = %if.end8 + %8 = load i8*, i8** %pathname.addr, align 8 + %9 = load i32, i32* %flags.addr, align 4 + %10 = load i32, i32* %mode.addr, align 4 + %call12 = call i32 @__fd_open(i8* %8, i32 %9, i32 %10) + store i32 %call12, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.end8 + store i32 0, i32* %fd, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end13 + %11 = load i32, i32* %fd, align 4 + %cmp14 = icmp slt i32 %11, 32 + br i1 %cmp14, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %12 = load i32, i32* %fd, align 4 + %idxprom = sext i32 %12 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + %flags15 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %arrayidx, i32 0, i32 1 + %13 = load i32, i32* %flags15, align 4 + %and = and i32 %13, 1 + %tobool16 = icmp ne i32 %and, 0 + br i1 %tobool16, label %for.inc, label %for.end + +for.inc: ; preds = %for.body + %14 = load i32, i32* %fd, align 4 + %inc = add nsw i32 %14, 1 + store i32 %inc, i32* %fd, align 4 + br label %for.cond + +for.end: ; preds = %for.body, %for.cond + %15 = load i32, i32* %fd, align 4 + %cmp19 = icmp eq i32 %15, 32 + br i1 %cmp19, label %if.then20, label %if.end22 + +if.then20: ; preds = %for.end + %call21 = call i32* @__errno_location() #25 + store i32 24, i32* %call21, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end22: ; preds = %for.end + %16 = load i32, i32* %fd, align 4 + %idxprom23 = sext i32 %16 to i64 + %arrayidx24 = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom23 + store %struct.exe_file_t* %arrayidx24, %struct.exe_file_t** %f, align 8 + %17 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %18 = bitcast %struct.exe_file_t* %17 to i8* + %19 = call i8* @memset(i8* %18, i32 0, i64 24) + %20 = load i32, i32* %basefd.addr, align 4 + %conv = sext i32 %20 to i64 + %21 = load i8*, i8** %pathname.addr, align 8 + %call25 = call i8* @__concretize_string(i8* %21) + %22 = load i32, i32* %flags.addr, align 4 + %conv26 = sext i32 %22 to i64 + %23 = load i32, i32* %mode.addr, align 4 + %call27 = call i64 (i64, ...) @syscall(i64 257, i64 %conv, i8* %call25, i64 %conv26, i32 %23) #11 + %conv28 = trunc i64 %call27 to i32 + store i32 %conv28, i32* %os_fd, align 4 + %24 = load i32, i32* %os_fd, align 4 + %cmp29 = icmp eq i32 %24, -1 + br i1 %cmp29, label %if.then31, label %if.end32 + +if.then31: ; preds = %if.end22 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end32: ; preds = %if.end22 + %25 = load i32, i32* %os_fd, align 4 + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd33 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 0 + store i32 %25, i32* %fd33, align 8 + %27 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags34 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %27, i32 0, i32 1 + store i32 1, i32* %flags34, align 4 + %28 = load i32, i32* %flags.addr, align 4 + %and35 = and i32 %28, 3 + %cmp36 = icmp eq i32 %and35, 0 + br i1 %cmp36, label %if.then38, label %if.else40 + +if.then38: ; preds = %if.end32 + %29 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags39 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %29, i32 0, i32 1 + %30 = load i32, i32* %flags39, align 4 + %or = or i32 %30, 4 + store i32 %or, i32* %flags39, align 4 + br label %if.end51 + +if.else40: ; preds = %if.end32 + %31 = load i32, i32* %flags.addr, align 4 + %and41 = and i32 %31, 3 + %cmp42 = icmp eq i32 %and41, 1 + %32 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags45 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %32, i32 0, i32 1 + %33 = load i32, i32* %flags45, align 4 + br i1 %cmp42, label %if.then44, label %if.else47 + +if.then44: ; preds = %if.else40 + %or46 = or i32 %33, 8 + store i32 %or46, i32* %flags45, align 4 + br label %if.end51 + +if.else47: ; preds = %if.else40 + %or49 = or i32 %33, 12 + store i32 %or49, i32* %flags45, align 4 + br label %if.end51 + +if.end51: ; preds = %if.then44, %if.else47, %if.then38 + %34 = load i32, i32* %fd, align 4 + store i32 %34, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end51, %if.then31, %if.then20, %if.then11, %if.then4, %if.then1 + %35 = load i32, i32* %retval, align 4 + ret i32 %35 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.exe_file_t* @__get_file(i32 %fd) #3 { +entry: + %retval = alloca %struct.exe_file_t*, align 8 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %cmp = icmp sge i32 %0, 0 + %1 = load i32, i32* %fd.addr, align 4 + %cmp1 = icmp slt i32 %1, 32 + %or.cond = and i1 %cmp, %cmp1 + br i1 %or.cond, label %if.then, label %if.end3 + +if.then: ; preds = %entry + %2 = load i32, i32* %fd.addr, align 4 + %idxprom = sext i32 %2 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + store %struct.exe_file_t* %arrayidx, %struct.exe_file_t** %f, align 8 + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 1 + %4 = load i32, i32* %flags, align 4 + %and = and i32 %4, 1 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.then + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + store %struct.exe_file_t* %5, %struct.exe_file_t** %retval, align 8 + br label %return + +if.end3: ; preds = %if.then, %entry + store %struct.exe_file_t* null, %struct.exe_file_t** %retval, align 8 + br label %return + +return: ; preds = %if.end3, %if.then2 + %6 = load %struct.exe_file_t*, %struct.exe_file_t** %retval, align 8 + ret %struct.exe_file_t* %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @utimes(i8* nonnull %path, %struct.timespec* %times) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %times.addr = alloca %struct.timespec*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + %newTimes = alloca [2 x %struct.timespec], align 16 + store i8* %path, i8** %path.addr, align 8 + store %struct.timespec* %times, %struct.timespec** %times.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end12 + +if.then: ; preds = %entry + %2 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %tobool1 = icmp ne %struct.timespec* %2, null + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + %arrayidx = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 0 + %call3 = call i32 @gettimeofday(%struct.timespec* %arrayidx, i8* null) #11 + %arrayidx4 = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 1 + %arrayidx5 = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 0 + %3 = bitcast %struct.timespec* %arrayidx4 to i8* + %4 = bitcast %struct.timespec* %arrayidx5 to i8* + %5 = call i8* @memcpy(i8* %3, i8* %4, i64 16) + %arraydecay = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 0 + store %struct.timespec* %arraydecay, %struct.timespec** %times.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %6 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %arrayidx6 = getelementptr inbounds %struct.timespec, %struct.timespec* %6, i64 0 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %arrayidx6, i32 0, i32 0 + %7 = load i64, i64* %tv_sec, align 8 + %8 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %8, i32 0, i32 2 + %9 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_atim = getelementptr inbounds %struct.stat64, %struct.stat64* %9, i32 0, i32 11 + %tv_sec7 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim, i32 0, i32 0 + store i64 %7, i64* %tv_sec7, align 8 + %10 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %arrayidx8 = getelementptr inbounds %struct.timespec, %struct.timespec* %10, i64 1 + %tv_sec9 = getelementptr inbounds %struct.timespec, %struct.timespec* %arrayidx8, i32 0, i32 0 + %11 = load i64, i64* %tv_sec9, align 8 + %12 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat10 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %12, i32 0, i32 2 + %13 = load %struct.stat64*, %struct.stat64** %stat10, align 8 + %st_mtim = getelementptr inbounds %struct.stat64, %struct.stat64* %13, i32 0, i32 12 + %tv_sec11 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim, i32 0, i32 0 + store i64 %11, i64* %tv_sec11, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.end12: ; preds = %entry + %14 = load i8*, i8** %path.addr, align 8 + %call13 = call i8* @__concretize_string(i8* %14) + %15 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %call14 = call i64 (i64, ...) @syscall(i64 235, i8* %call13, %struct.timespec* %15) #11 + %conv = trunc i64 %call14 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end12, %if.end + %16 = load i32, i32* %retval, align 4 + ret i32 %16 +} + +; Function Attrs: nounwind +declare dso_local i32 @gettimeofday(%struct.timespec*, i8*) #4 + +; Function Attrs: argmemonly nounwind willreturn +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* noalias nocapture writeonly, i8* noalias nocapture readonly, i64, i1 immarg) #9 + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @futimesat(i32 %fd, i8* %path, %struct.timespec* %times) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %times.addr = alloca %struct.timespec*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.timespec* %times, %struct.timespec** %times.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %cmp = icmp ne i32 %0, -100 + br i1 %cmp, label %if.then, label %if.end8 + +if.then: ; preds = %entry + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.else, label %if.then1 + +if.then1: ; preds = %if.then + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 3 + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool3 = icmp ne %struct.exe_disk_file_t* %4, null + br i1 %tobool3, label %if.then4, label %if.end6 + +if.then4: ; preds = %if.else + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0)) + %call5 = call i32* @__errno_location() #25 + store i32 2, i32* %call5, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.else + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd7, align 8 + store i32 %6, i32* %fd.addr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end6, %entry + %7 = load i8*, i8** %path.addr, align 8 + %call9 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %7) + %tobool10 = icmp ne %struct.exe_disk_file_t* %call9, null + br i1 %tobool10, label %if.then11, label %if.end13 + +if.then11: ; preds = %if.end8 + %8 = load i8*, i8** %path.addr, align 8 + %9 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %call12 = call i32 @utimes(i8* %8, %struct.timespec* %9) #11 + store i32 %call12, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.end8 + %10 = load i32, i32* %fd.addr, align 4 + %conv = sext i32 %10 to i64 + %11 = load i8*, i8** %path.addr, align 8 + %tobool14 = icmp ne i8* %11, null + br i1 %tobool14, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end13 + %12 = load i8*, i8** %path.addr, align 8 + %call15 = call i8* @__concretize_string(i8* %12) + br label %cond.end + +cond.end: ; preds = %if.end13, %cond.true + %cond = phi i8* [ %call15, %cond.true ], [ null, %if.end13 ] + %13 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %call16 = call i64 (i64, ...) @syscall(i64 261, i64 %conv, i8* %cond, %struct.timespec* %13) #11 + %conv17 = trunc i64 %call16 to i32 + store i32 %conv17, i32* %retval, align 4 + br label %return + +return: ; preds = %cond.end, %if.then11, %if.then4, %if.then1 + %14 = load i32, i32* %retval, align 4 + ret i32 %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @close(i32 %fd) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %r = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 0, i32* %r, align 4 + %0 = load i32, i32* @close.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @close.n_calls, align 4 + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @close.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %9 = bitcast %struct.exe_file_t* %8 to i8* + %10 = call i8* @memset(i8* %9, i32 0, i64 24) + %11 = load i32, i32* %r, align 4 + store i32 %11, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %12 = load i32, i32* %retval, align 4 + ret i32 %12 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @read(i32 %fd, i8* %buf, i64 %count) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %r = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + %0 = load i32, i32* @read.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @read.n_calls, align 4 + %1 = load i64, i64* %count.addr, align 8 + %cmp = icmp eq i64 %1, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i64 0, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %buf.addr, align 8 + %cmp1 = icmp eq i8* %2, null + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + %call = call i32* @__errno_location() #25 + store i32 14, i32* %call, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %3 = load i32, i32* %fd.addr, align 4 + %call4 = call %struct.exe_file_t* @__get_file(i32 %3) + store %struct.exe_file_t* %call4, %struct.exe_file_t** %f, align 8 + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %4, null + br i1 %tobool, label %if.end7, label %if.then5 + +if.then5: ; preds = %if.end3 + %call6 = call i32* @__errno_location() #25 + store i32 9, i32* %call6, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end7: ; preds = %if.end3 + %5 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool8 = icmp ne i32 %5, 0 + br i1 %tobool8, label %land.lhs.true, label %if.end12 + +land.lhs.true: ; preds = %if.end7 + %6 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %7 = load i32, i32* %6, align 4 + %8 = load i32, i32* @read.n_calls, align 4 + %cmp9 = icmp eq i32 %7, %8 + br i1 %cmp9, label %if.then10, label %if.end12 + +if.then10: ; preds = %land.lhs.true + %9 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %9, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call11 = call i32* @__errno_location() #25 + store i32 5, i32* %call11, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end12: ; preds = %land.lhs.true, %if.end7 + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 3 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool13 = icmp ne %struct.exe_disk_file_t* %11, null + br i1 %tobool13, label %if.else38, label %if.then14 + +if.then14: ; preds = %if.end12 + %12 = load i8*, i8** %buf.addr, align 8 + %call15 = call i8* @__concretize_ptr(i8* %12) + store i8* %call15, i8** %buf.addr, align 8 + %13 = load i64, i64* %count.addr, align 8 + %call16 = call i64 @__concretize_size(i64 %13) + store i64 %call16, i64* %count.addr, align 8 + %14 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd17 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %14, i32 0, i32 0 + %15 = load i32, i32* %fd17, align 8 + %cmp18 = icmp eq i32 %15, 0 + %16 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd20 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %16, i32 0, i32 0 + %17 = load i32, i32* %fd20, align 8 + %18 = load i8*, i8** %buf.addr, align 8 + %19 = load i64, i64* %count.addr, align 8 + br i1 %cmp18, label %if.then19, label %if.else + +if.then19: ; preds = %if.then14 + %call21 = call i64 (i64, ...) @syscall(i64 0, i32 %17, i8* %18, i64 %19) #11 + %conv = trunc i64 %call21 to i32 + store i32 %conv, i32* %r, align 4 + br label %if.end25 + +if.else: ; preds = %if.then14 + %20 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %20, i32 0, i32 2 + %21 = load i64, i64* %off, align 8 + %call23 = call i64 (i64, ...) @syscall(i64 17, i32 %17, i8* %18, i64 %19, i64 %21) #11 + %conv24 = trunc i64 %call23 to i32 + store i32 %conv24, i32* %r, align 4 + br label %if.end25 + +if.end25: ; preds = %if.else, %if.then19 + %22 = load i32, i32* %r, align 4 + %cmp26 = icmp eq i32 %22, -1 + br i1 %cmp26, label %if.then28, label %if.end29 + +if.then28: ; preds = %if.end25 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end29: ; preds = %if.end25 + %23 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd30 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %23, i32 0, i32 0 + %24 = load i32, i32* %fd30, align 8 + %cmp31 = icmp ne i32 %24, 0 + br i1 %cmp31, label %if.then33, label %if.end36 + +if.then33: ; preds = %if.end29 + %25 = load i32, i32* %r, align 4 + %conv34 = sext i32 %25 to i64 + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off35 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 2 + %27 = load i64, i64* %off35, align 8 + %add = add nsw i64 %27, %conv34 + store i64 %add, i64* %off35, align 8 + br label %if.end36 + +if.end36: ; preds = %if.then33, %if.end29 + %28 = load i32, i32* %r, align 4 + %conv37 = sext i32 %28 to i64 + store i64 %conv37, i64* %retval, align 8 + br label %return + +if.else38: ; preds = %if.end12 + %29 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off39 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %29, i32 0, i32 2 + %30 = load i64, i64* %off39, align 8 + %cmp40 = icmp sge i64 %30, 0 + br i1 %cmp40, label %if.end44, label %if.else43 + +if.else43: ; preds = %if.else38 + call void @__assert_fail(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.3, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 393, i8* getelementptr inbounds ([34 x i8], [34 x i8]* @__PRETTY_FUNCTION__.read, i64 0, i64 0)) #26 + unreachable + +if.end44: ; preds = %if.else38 + %31 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile45 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %31, i32 0, i32 3 + %32 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile45, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %32, i32 0, i32 0 + %33 = load i32, i32* %size, align 8 + %conv46 = zext i32 %33 to i64 + %34 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off47 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %34, i32 0, i32 2 + %35 = load i64, i64* %off47, align 8 + %cmp48 = icmp slt i64 %conv46, %35 + br i1 %cmp48, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.end44 + store i64 0, i64* %retval, align 8 + br label %return + +if.end51: ; preds = %if.end44 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off52 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 2 + %37 = load i64, i64* %off52, align 8 + %38 = load i64, i64* %count.addr, align 8 + %add53 = add i64 %37, %38 + %39 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %39, i32 0, i32 3 + %40 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile54, align 8 + %size55 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %40, i32 0, i32 0 + %41 = load i32, i32* %size55, align 8 + %conv56 = zext i32 %41 to i64 + %cmp57 = icmp ugt i64 %add53, %conv56 + br i1 %cmp57, label %if.then59, label %if.end64 + +if.then59: ; preds = %if.end51 + %42 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile60 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %42, i32 0, i32 3 + %43 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile60, align 8 + %size61 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %43, i32 0, i32 0 + %44 = load i32, i32* %size61, align 8 + %conv62 = zext i32 %44 to i64 + %45 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off63 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %45, i32 0, i32 2 + %46 = load i64, i64* %off63, align 8 + %sub = sub nsw i64 %conv62, %46 + store i64 %sub, i64* %count.addr, align 8 + br label %if.end64 + +if.end64: ; preds = %if.then59, %if.end51 + %47 = load i8*, i8** %buf.addr, align 8 + %48 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile65 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %48, i32 0, i32 3 + %49 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile65, align 8 + %contents = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %49, i32 0, i32 1 + %50 = load i8*, i8** %contents, align 8 + %51 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off66 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %51, i32 0, i32 2 + %52 = load i64, i64* %off66, align 8 + %add.ptr = getelementptr inbounds i8, i8* %50, i64 %52 + %53 = load i64, i64* %count.addr, align 8 + %54 = call i8* @memcpy(i8* %47, i8* %add.ptr, i64 %53) + %55 = load i64, i64* %count.addr, align 8 + %56 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off67 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %56, i32 0, i32 2 + %57 = load i64, i64* %off67, align 8 + %add68 = add i64 %57, %55 + store i64 %add68, i64* %off67, align 8 + %58 = load i64, i64* %count.addr, align 8 + store i64 %58, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end64, %if.then50, %if.end36, %if.then28, %if.then10, %if.then5, %if.then2, %if.then + %59 = load i64, i64* %retval, align 8 + ret i64 %59 +} + +; Function Attrs: noreturn nounwind +declare dso_local void @__assert_fail(i8*, i8*, i32, i8*) #10 + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @write(i32 %fd, i8* %buf, i64 %count) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %r = alloca i32, align 4 + %actual_count = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + %0 = load i32, i32* @write.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @write.n_calls, align 4 + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @write.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + br i1 %tobool6, label %if.else42, label %if.then7 + +if.then7: ; preds = %if.end5 + %10 = load i8*, i8** %buf.addr, align 8 + %call8 = call i8* @__concretize_ptr(i8* %10) + store i8* %call8, i8** %buf.addr, align 8 + %11 = load i64, i64* %count.addr, align 8 + %call9 = call i64 @__concretize_size(i64 %11) + store i64 %call9, i64* %count.addr, align 8 + %12 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd10 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %12, i32 0, i32 0 + %13 = load i32, i32* %fd10, align 8 + %cmp11 = icmp eq i32 %13, 1 + br i1 %cmp11, label %if.then14, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then7 + %14 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd12 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %14, i32 0, i32 0 + %15 = load i32, i32* %fd12, align 8 + %cmp13 = icmp eq i32 %15, 2 + br i1 %cmp13, label %if.then14, label %if.else + +if.then14: ; preds = %lor.lhs.false, %if.then7 + %16 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd15 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %16, i32 0, i32 0 + %17 = load i32, i32* %fd15, align 8 + %18 = load i8*, i8** %buf.addr, align 8 + %19 = load i64, i64* %count.addr, align 8 + %call16 = call i64 (i64, ...) @syscall(i64 1, i32 %17, i8* %18, i64 %19) #11 + %conv = trunc i64 %call16 to i32 + store i32 %conv, i32* %r, align 4 + br label %if.end20 + +if.else: ; preds = %lor.lhs.false + %20 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd17 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %20, i32 0, i32 0 + %21 = load i32, i32* %fd17, align 8 + %22 = load i8*, i8** %buf.addr, align 8 + %23 = load i64, i64* %count.addr, align 8 + %24 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %24, i32 0, i32 2 + %25 = load i64, i64* %off, align 8 + %call18 = call i64 (i64, ...) @syscall(i64 18, i32 %21, i8* %22, i64 %23, i64 %25) #11 + %conv19 = trunc i64 %call18 to i32 + store i32 %conv19, i32* %r, align 4 + br label %if.end20 + +if.end20: ; preds = %if.else, %if.then14 + %26 = load i32, i32* %r, align 4 + %cmp21 = icmp eq i32 %26, -1 + br i1 %cmp21, label %if.then23, label %if.end24 + +if.then23: ; preds = %if.end20 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end24: ; preds = %if.end20 + %27 = load i32, i32* %r, align 4 + %cmp25 = icmp sge i32 %27, 0 + br i1 %cmp25, label %if.end29, label %if.else28 + +if.else28: ; preds = %if.end24 + call void @__assert_fail(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.5.7, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 445, i8* getelementptr inbounds ([41 x i8], [41 x i8]* @__PRETTY_FUNCTION__.write, i64 0, i64 0)) #26 + unreachable + +if.end29: ; preds = %if.end24 + %28 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd30 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %28, i32 0, i32 0 + %29 = load i32, i32* %fd30, align 8 + %cmp31 = icmp ne i32 %29, 1 + br i1 %cmp31, label %land.lhs.true33, label %if.end40 + +land.lhs.true33: ; preds = %if.end29 + %30 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd34 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %30, i32 0, i32 0 + %31 = load i32, i32* %fd34, align 8 + %cmp35 = icmp ne i32 %31, 2 + br i1 %cmp35, label %if.then37, label %if.end40 + +if.then37: ; preds = %land.lhs.true33 + %32 = load i32, i32* %r, align 4 + %conv38 = sext i32 %32 to i64 + %33 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off39 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %33, i32 0, i32 2 + %34 = load i64, i64* %off39, align 8 + %add = add nsw i64 %34, %conv38 + store i64 %add, i64* %off39, align 8 + br label %if.end40 + +if.end40: ; preds = %if.then37, %land.lhs.true33, %if.end29 + %35 = load i32, i32* %r, align 4 + %conv41 = sext i32 %35 to i64 + store i64 %conv41, i64* %retval, align 8 + br label %return + +if.else42: ; preds = %if.end5 + store i64 0, i64* %actual_count, align 8 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off43 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 2 + %37 = load i64, i64* %off43, align 8 + %38 = load i64, i64* %count.addr, align 8 + %add44 = add i64 %37, %38 + %39 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile45 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %39, i32 0, i32 3 + %40 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile45, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %40, i32 0, i32 0 + %41 = load i32, i32* %size, align 8 + %conv46 = zext i32 %41 to i64 + %cmp47 = icmp ule i64 %add44, %conv46 + br i1 %cmp47, label %if.then49, label %if.else50 + +if.then49: ; preds = %if.else42 + %42 = load i64, i64* %count.addr, align 8 + store i64 %42, i64* %actual_count, align 8 + br label %if.end67 + +if.else50: ; preds = %if.else42 + %43 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 3), align 8 + %tobool51 = icmp ne i32 %43, 0 + br i1 %tobool51, label %if.then52, label %if.else53 + +if.then52: ; preds = %if.else50 + call void @__assert_fail(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.6, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 458, i8* getelementptr inbounds ([41 x i8], [41 x i8]* @__PRETTY_FUNCTION__.write, i64 0, i64 0)) #26 + unreachable + +if.else53: ; preds = %if.else50 + %44 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %44, i32 0, i32 2 + %45 = load i64, i64* %off54, align 8 + %46 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile55 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %46, i32 0, i32 3 + %47 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile55, align 8 + %size56 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %47, i32 0, i32 0 + %48 = load i32, i32* %size56, align 8 + %conv57 = zext i32 %48 to i64 + %cmp58 = icmp slt i64 %45, %conv57 + br i1 %cmp58, label %if.then60, label %if.end67 + +if.then60: ; preds = %if.else53 + %49 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile61 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %49, i32 0, i32 3 + %50 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile61, align 8 + %size62 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %50, i32 0, i32 0 + %51 = load i32, i32* %size62, align 8 + %conv63 = zext i32 %51 to i64 + %52 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off64 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %52, i32 0, i32 2 + %53 = load i64, i64* %off64, align 8 + %sub = sub nsw i64 %conv63, %53 + store i64 %sub, i64* %actual_count, align 8 + br label %if.end67 + +if.end67: ; preds = %if.then60, %if.else53, %if.then49 + %54 = load i64, i64* %actual_count, align 8 + %tobool68 = icmp ne i64 %54, 0 + br i1 %tobool68, label %if.then69, label %if.end72 + +if.then69: ; preds = %if.end67 + %55 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile70 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %55, i32 0, i32 3 + %56 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile70, align 8 + %contents = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %56, i32 0, i32 1 + %57 = load i8*, i8** %contents, align 8 + %58 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off71 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %58, i32 0, i32 2 + %59 = load i64, i64* %off71, align 8 + %add.ptr = getelementptr inbounds i8, i8* %57, i64 %59 + %60 = load i8*, i8** %buf.addr, align 8 + %61 = load i64, i64* %actual_count, align 8 + %62 = call i8* @memcpy(i8* %add.ptr, i8* %60, i64 %61) + br label %if.end72 + +if.end72: ; preds = %if.then69, %if.end67 + %63 = load i64, i64* %count.addr, align 8 + %64 = load i64, i64* %actual_count, align 8 + %cmp73 = icmp ne i64 %63, %64 + br i1 %cmp73, label %if.then75, label %if.end76 + +if.then75: ; preds = %if.end72 + call void @gs_warning(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.7, i64 0, i64 0)) + br label %if.end76 + +if.end76: ; preds = %if.then75, %if.end72 + %65 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile77 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %65, i32 0, i32 3 + %66 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile77, align 8 + %67 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + %cmp78 = icmp eq %struct.exe_disk_file_t* %66, %67 + br i1 %cmp78, label %if.then80, label %if.end84 + +if.then80: ; preds = %if.end76 + %68 = load i64, i64* %actual_count, align 8 + %69 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 3), align 8 + %conv81 = zext i32 %69 to i64 + %add82 = add i64 %conv81, %68 + %conv83 = trunc i64 %add82 to i32 + store i32 %conv83, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 3), align 8 + br label %if.end84 + +if.end84: ; preds = %if.then80, %if.end76 + %70 = load i64, i64* %count.addr, align 8 + %71 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off85 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %71, i32 0, i32 2 + %72 = load i64, i64* %off85, align 8 + %add86 = add i64 %72, %70 + store i64 %add86, i64* %off85, align 8 + %73 = load i64, i64* %count.addr, align 8 + store i64 %73, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end84, %if.end40, %if.then23, %if.then3, %if.then + %74 = load i64, i64* %retval, align 8 + ret i64 %74 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @__fd_lseek(i32 %fd, i64 %offset, i32 %whence) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + %new_off = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + %4 = load i32, i32* %whence.addr, align 4 + br i1 %tobool2, label %if.end24, label %if.then3 + +if.then3: ; preds = %if.end + %cmp = icmp eq i32 %4, 0 + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd5 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd5, align 8 + br i1 %cmp, label %if.then4, label %if.else + +if.then4: ; preds = %if.then3 + %7 = load i64, i64* %offset.addr, align 8 + %call6 = call i64 (i64, ...) @syscall(i64 8, i32 %6, i64 %7, i32 0) #11 + store i64 %call6, i64* %new_off, align 8 + br label %if.end19 + +if.else: ; preds = %if.then3 + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 2 + %9 = load i64, i64* %off, align 8 + %call8 = call i64 (i64, ...) @syscall(i64 8, i32 %6, i64 %9, i32 0) #11 + store i64 %call8, i64* %new_off, align 8 + %10 = load i64, i64* %new_off, align 8 + %cmp9 = icmp ne i64 %10, -1 + br i1 %cmp9, label %if.then10, label %if.end19 + +if.then10: ; preds = %if.else + %11 = load i64, i64* %new_off, align 8 + %12 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off11 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %12, i32 0, i32 2 + %13 = load i64, i64* %off11, align 8 + %cmp12 = icmp eq i64 %11, %13 + br i1 %cmp12, label %if.end15, label %if.else14 + +if.else14: ; preds = %if.then10 + call void @__assert_fail(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.8, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 504, i8* getelementptr inbounds ([38 x i8], [38 x i8]* @__PRETTY_FUNCTION__.__fd_lseek, i64 0, i64 0)) #26 + unreachable + +if.end15: ; preds = %if.then10 + %14 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd16 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %14, i32 0, i32 0 + %15 = load i32, i32* %fd16, align 8 + %16 = load i64, i64* %offset.addr, align 8 + %17 = load i32, i32* %whence.addr, align 4 + %call17 = call i64 (i64, ...) @syscall(i64 8, i32 %15, i64 %16, i32 %17) #11 + store i64 %call17, i64* %new_off, align 8 + br label %if.end19 + +if.end19: ; preds = %if.else, %if.end15, %if.then4 + %18 = load i64, i64* %new_off, align 8 + %cmp20 = icmp eq i64 %18, -1 + br i1 %cmp20, label %if.then21, label %if.end22 + +if.then21: ; preds = %if.end19 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end22: ; preds = %if.end19 + %19 = load i64, i64* %new_off, align 8 + %20 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off23 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %20, i32 0, i32 2 + store i64 %19, i64* %off23, align 8 + %21 = load i64, i64* %new_off, align 8 + store i64 %21, i64* %retval, align 8 + br label %return + +if.end24: ; preds = %if.end + br label %NodeBlock3 + +NodeBlock3: ; preds = %if.end24 + %case.cmp4 = icmp eq i32 %4, 0 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %4, 1 + br i1 %case.cmp2, label %sw.bb25, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %4, 2 + br i1 %case.cmp, label %sw.bb27, label %newDefault + +sw.bb: ; preds = %NodeBlock3 + %22 = load i64, i64* %offset.addr, align 8 + store i64 %22, i64* %new_off, align 8 + br label %sw.epilog + +sw.bb25: ; preds = %NodeBlock1 + %23 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off26 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %23, i32 0, i32 2 + %24 = load i64, i64* %off26, align 8 + %25 = load i64, i64* %offset.addr, align 8 + %add = add nsw i64 %24, %25 + store i64 %add, i64* %new_off, align 8 + br label %sw.epilog + +sw.bb27: ; preds = %NodeBlock + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile28 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 3 + %27 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile28, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %27, i32 0, i32 0 + %28 = load i32, i32* %size, align 8 + %conv = zext i32 %28 to i64 + %29 = load i64, i64* %offset.addr, align 8 + %add29 = add nsw i64 %conv, %29 + store i64 %add29, i64* %new_off, align 8 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + %call30 = call i32* @__errno_location() #25 + store i32 22, i32* %call30, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +sw.epilog: ; preds = %sw.bb27, %sw.bb25, %sw.bb + %30 = load i64, i64* %new_off, align 8 + %cmp31 = icmp slt i64 %30, 0 + br i1 %cmp31, label %if.then33, label %if.end35 + +if.then33: ; preds = %sw.epilog + %call34 = call i32* @__errno_location() #25 + store i32 22, i32* %call34, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end35: ; preds = %sw.epilog + %31 = load i64, i64* %new_off, align 8 + %32 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off36 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %32, i32 0, i32 2 + store i64 %31, i64* %off36, align 8 + %33 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off37 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %33, i32 0, i32 2 + %34 = load i64, i64* %off37, align 8 + store i64 %34, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end35, %if.then33, %sw.default, %if.end22, %if.then21, %if.then + %35 = load i64, i64* %retval, align 8 + ret i64 %35 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_stat(i8* %path, %struct.stat64* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %3 = bitcast %struct.stat64* %2 to i8* + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %4, i32 0, i32 2 + %5 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %6 = bitcast %struct.stat64* %5 to i8* + %7 = call i8* @memcpy(i8* %3, i8* %6, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load i8*, i8** %path.addr, align 8 + %call1 = call i8* @__concretize_string(i8* %8) + %9 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %call2 = call i64 (i64, ...) @syscall(i64 4, i8* %call1, %struct.stat64* %9) #11 + %conv = trunc i64 %call2 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %10 = load i32, i32* %retval, align 4 + ret i32 %10 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstatat(i32 %fd, i8* nonnull %path, %struct.stat64* nonnull %buf, i32 %flags) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %flags.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %dfile9 = alloca %struct.exe_disk_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %cmp = icmp ne i32 %0, -100 + br i1 %cmp, label %if.then, label %if.end8 + +if.then: ; preds = %entry + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.else, label %if.then1 + +if.then1: ; preds = %if.then + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 3 + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool3 = icmp ne %struct.exe_disk_file_t* %4, null + br i1 %tobool3, label %if.then4, label %if.end6 + +if.then4: ; preds = %if.else + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0)) + %call5 = call i32* @__errno_location() #25 + store i32 2, i32* %call5, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.else + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd7, align 8 + store i32 %6, i32* %fd.addr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end6, %entry + %7 = load i8*, i8** %path.addr, align 8 + %call10 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %7) + store %struct.exe_disk_file_t* %call10, %struct.exe_disk_file_t** %dfile9, align 8 + %8 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile9, align 8 + %tobool11 = icmp ne %struct.exe_disk_file_t* %8, null + br i1 %tobool11, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.end8 + %9 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %10 = bitcast %struct.stat64* %9 to i8* + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile9, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %11, i32 0, i32 2 + %12 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %13 = bitcast %struct.stat64* %12 to i8* + %14 = call i8* @memcpy(i8* %10, i8* %13, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.end8 + %15 = load i32, i32* %fd.addr, align 4 + %conv = sext i32 %15 to i64 + %16 = load i8*, i8** %path.addr, align 8 + %tobool14 = icmp ne i8* %16, null + br i1 %tobool14, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end13 + %17 = load i8*, i8** %path.addr, align 8 + %call15 = call i8* @__concretize_string(i8* %17) + br label %cond.end + +cond.end: ; preds = %if.end13, %cond.true + %cond = phi i8* [ %call15, %cond.true ], [ null, %if.end13 ] + %18 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %19 = load i32, i32* %flags.addr, align 4 + %conv16 = sext i32 %19 to i64 + %call17 = call i64 (i64, ...) @syscall(i64 262, i64 %conv, i8* %cond, %struct.stat64* %18, i64 %conv16) #11 + %conv18 = trunc i64 %call17 to i32 + store i32 %conv18, i32* %retval, align 4 + br label %return + +return: ; preds = %cond.end, %if.then12, %if.then4, %if.then1 + %20 = load i32, i32* %retval, align 4 + ret i32 %20 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_lstat(i8* %path, %struct.stat64* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %3 = bitcast %struct.stat64* %2 to i8* + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %4, i32 0, i32 2 + %5 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %6 = bitcast %struct.stat64* %5 to i8* + %7 = call i8* @memcpy(i8* %3, i8* %6, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load i8*, i8** %path.addr, align 8 + %call1 = call i8* @__concretize_string(i8* %8) + %9 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %call2 = call i64 (i64, ...) @syscall(i64 6, i8* %call1, %struct.stat64* %9) #11 + %conv = trunc i64 %call2 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %10 = load i32, i32* %retval, align 4 + ret i32 %10 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chdir(i8* nonnull %path) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0)) + %call1 = call i32* @__errno_location() #25 + store i32 2, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %2) + %call3 = call i64 (i64, ...) @syscall(i64 80, i8* %call2) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %3 = load i32, i32* %retval, align 4 + ret i32 %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fchdir(i32 %fd) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %if.end + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 2, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd6, align 8 + %call7 = call i64 (i64, ...) @syscall(i64 81, i32 %5) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chmod(i8* nonnull %path, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load i32, i32* @chmod.n_calls, align 4 + %inc = add nsw i32 %1, 1 + store i32 %inc, i32* @chmod.n_calls, align 4 + %2 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool = icmp ne i32 %2, 0 + br i1 %tobool, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %3 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 11), align 8 + %4 = load i32, i32* %3, align 4 + %5 = load i32, i32* @chmod.n_calls, align 4 + %cmp = icmp eq i32 %4, %5 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %6 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %6, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call1 = call i32* @__errno_location() #25 + store i32 5, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + %7 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %7, null + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %if.end + %8 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %9 = load i32, i32* %mode.addr, align 4 + %call4 = call i32 @__df_chmod(%struct.exe_disk_file_t* %8, i32 %9) + store i32 %call4, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %if.end + %10 = load i8*, i8** %path.addr, align 8 + %call6 = call i8* @__concretize_string(i8* %10) + %11 = load i32, i32* %mode.addr, align 4 + %call7 = call i64 (i64, ...) @syscall(i64 90, i8* %call6, i32 %11) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %12 = load i32, i32* %retval, align 4 + ret i32 %12 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__df_chmod(%struct.exe_disk_file_t* %df, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %df.addr = alloca %struct.exe_disk_file_t*, align 8 + %mode.addr = alloca i32, align 4 + store %struct.exe_disk_file_t* %df, %struct.exe_disk_file_t** %df.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %call = call i32 @geteuid() #11 + %0 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %0, i32 0, i32 2 + %1 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_uid = getelementptr inbounds %struct.stat64, %struct.stat64* %1, i32 0, i32 4 + %2 = load i32, i32* %st_uid, align 4 + %cmp = icmp eq i32 %call, %2 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %call1 = call i32 @getgid() #11 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %3, i32 0, i32 2 + %4 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + %st_gid = getelementptr inbounds %struct.stat64, %struct.stat64* %4, i32 0, i32 5 + %5 = load i32, i32* %st_gid, align 8 + %cmp3 = icmp ne i32 %call1, %5 + br i1 %cmp3, label %if.then4, label %if.end + +if.then4: ; preds = %if.then + %6 = load i32, i32* %mode.addr, align 4 + %and = and i32 %6, -1025 + store i32 %and, i32* %mode.addr, align 4 + br label %if.end + +if.end: ; preds = %if.then4, %if.then + %7 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat5 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %7, i32 0, i32 2 + %8 = load %struct.stat64*, %struct.stat64** %stat5, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %8, i32 0, i32 3 + %9 = load i32, i32* %st_mode, align 8 + %and6 = and i32 %9, -4096 + %10 = load i32, i32* %mode.addr, align 4 + %and7 = and i32 %10, 4095 + %or = or i32 %and6, %and7 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat8 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %11, i32 0, i32 2 + %12 = load %struct.stat64*, %struct.stat64** %stat8, align 8 + %st_mode9 = getelementptr inbounds %struct.stat64, %struct.stat64* %12, i32 0, i32 3 + store i32 %or, i32* %st_mode9, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %call10 = call i32* @__errno_location() #25 + store i32 1, i32* %call10, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.else, %if.end + %13 = load i32, i32* %retval, align 4 + ret i32 %13 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fchmod(i32 %fd, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i32, i32* @fchmod.n_calls, align 4 + %inc = add nsw i32 %2, 1 + store i32 %inc, i32* @fchmod.n_calls, align 4 + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 12), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @fchmod.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + br i1 %tobool6, label %if.then7, label %if.end10 + +if.then7: ; preds = %if.end5 + %dfile8 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 3 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile8, align 8 + %12 = load i32, i32* %mode.addr, align 4 + %call9 = call i32 @__df_chmod(%struct.exe_disk_file_t* %11, i32 %12) + store i32 %call9, i32* %retval, align 4 + br label %return + +if.end10: ; preds = %if.end5 + %fd11 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 0 + %13 = load i32, i32* %fd11, align 8 + %14 = load i32, i32* %mode.addr, align 4 + %call12 = call i64 (i64, ...) @syscall(i64 91, i32 %13, i32 %14) #11 + %conv = trunc i64 %call12 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end10, %if.then7, %if.then3, %if.then + %15 = load i32, i32* %retval, align 4 + ret i32 %15 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chown(i8* nonnull %path, i32 %owner, i32 %group) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %df, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %3 = load i32, i32* %owner.addr, align 4 + %4 = load i32, i32* %group.addr, align 4 + %call1 = call i32 @__df_chown(%struct.exe_disk_file_t* %2, i32 %3, i32 %4) + store i32 %call1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %5 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %5) + %6 = load i32, i32* %owner.addr, align 4 + %7 = load i32, i32* %group.addr, align 4 + %call3 = call i64 (i64, ...) @syscall(i64 92, i8* %call2, i32 %6, i32 %7) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__df_chown(%struct.exe_disk_file_t* %df, i32 %owner, i32 %group) #3 { +entry: + %df.addr = alloca %struct.exe_disk_file_t*, align 8 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + store %struct.exe_disk_file_t* %df, %struct.exe_disk_file_t** %df.addr, align 8 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + call void @gs_warning(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.26, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fchown(i32 %fd, i32 %owner, i32 %group) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end6 + +if.then3: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile4 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 3 + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile4, align 8 + %6 = load i32, i32* %owner.addr, align 4 + %7 = load i32, i32* %group.addr, align 4 + %call5 = call i32 @__df_chown(%struct.exe_disk_file_t* %5, i32 %6, i32 %7) + store i32 %call5, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.end + %8 = load i32, i32* %fd.addr, align 4 + %9 = load i32, i32* %owner.addr, align 4 + %10 = load i32, i32* %group.addr, align 4 + %call7 = call i64 (i64, ...) @syscall(i64 93, i32 %8, i32 %9, i32 %10) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end6, %if.then3, %if.then + %11 = load i32, i32* %retval, align 4 + ret i32 %11 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @lchown(i8* nonnull %path, i32 %owner, i32 %group) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %df, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %3 = load i32, i32* %owner.addr, align 4 + %4 = load i32, i32* %group.addr, align 4 + %call1 = call i32 @__df_chown(%struct.exe_disk_file_t* %2, i32 %3, i32 %4) + store i32 %call1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %5 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %5) + %6 = load i32, i32* %owner.addr, align 4 + %7 = load i32, i32* %group.addr, align 4 + %call3 = call i64 (i64, ...) @syscall(i64 92, i8* %call2, i32 %6, i32 %7) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_fstat(i32 %fd, %struct.stat64* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.end6, label %if.then3 + +if.then3: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd4 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd4, align 8 + %6 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %call5 = call i64 (i64, ...) @syscall(i64 5, i32 %5, %struct.stat64* %6) #11 + %conv = trunc i64 %call5 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.end + %7 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %8 = bitcast %struct.stat64* %7 to i8* + %9 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %9, i32 0, i32 3 + %10 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile7, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %10, i32 0, i32 2 + %11 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %12 = bitcast %struct.stat64* %11 to i8* + %13 = call i8* @memcpy(i8* %8, i8* %12, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end6, %if.then3, %if.then + %14 = load i32, i32* %retval, align 4 + ret i32 %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_ftruncate(i32 %fd, i64 %length) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %length.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %length, i64* %length.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load i32, i32* @__fd_ftruncate.n_calls, align 4 + %inc = add nsw i32 %1, 1 + store i32 %inc, i32* @__fd_ftruncate.n_calls, align 4 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @__fd_ftruncate.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + br i1 %tobool6, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end5 + call void @gs_warning(i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.10, i64 0, i64 0)) + %call8 = call i32* @__errno_location() #25 + store i32 5, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end9: ; preds = %if.end5 + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd10 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 0 + %11 = load i32, i32* %fd10, align 8 + %12 = load i64, i64* %length.addr, align 8 + %call11 = call i64 (i64, ...) @syscall(i64 77, i32 %11, i64 %12) #11 + %conv = trunc i64 %call11 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end9, %if.then7, %if.then3, %if.then + %13 = load i32, i32* %retval, align 4 + ret i32 %13 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_getdents(i32 %fd, %struct.dirent64* %dirp, i32 %count) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %dirp.addr = alloca %struct.dirent64*, align 8 + %count.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %i = alloca i64, align 8 + %pad = alloca i64, align 8 + %bytes = alloca i64, align 8 + %df = alloca %struct.exe_disk_file_t*, align 8 + %os_pos = alloca i64, align 8 + %res = alloca i32, align 4 + %s = alloca i64, align 8 + %pos = alloca i32, align 4 + %dp = alloca %struct.dirent64*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.dirent64* %dirp, %struct.dirent64** %dirp.addr, align 8 + store i32 %count, i32* %count.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.else + +if.then3: ; preds = %if.end + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 22, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 2 + %5 = load i64, i64* %off, align 8 + %cmp = icmp ult i64 %5, 4096 + br i1 %cmp, label %if.then5, label %if.else43 + +if.then5: ; preds = %if.else + store i64 0, i64* %bytes, align 8 + %6 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %6, i32 0, i32 2 + %7 = load i64, i64* %off6, align 8 + %div = udiv i64 %7, 280 + store i64 %div, i64* %i, align 8 + %8 = load i64, i64* %i, align 8 + %mul = mul i64 %8, 280 + %9 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %9, i32 0, i32 2 + %10 = load i64, i64* %off7, align 8 + %cmp8 = icmp ne i64 %mul, %10 + br i1 %cmp8, label %if.then11, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then5 + %11 = load i64, i64* %i, align 8 + %12 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %conv = zext i32 %12 to i64 + %cmp9 = icmp sgt i64 %11, %conv + br i1 %cmp9, label %if.then11, label %for.cond + +if.then11: ; preds = %lor.lhs.false, %if.then5 + %call12 = call i32* @__errno_location() #25 + store i32 22, i32* %call12, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +for.cond: ; preds = %lor.lhs.false, %for.body + %13 = load i64, i64* %i, align 8 + %14 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %conv14 = zext i32 %14 to i64 + %cmp15 = icmp slt i64 %13, %conv14 + br i1 %cmp15, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %15 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %16 = load i64, i64* %i, align 8 + %arrayidx = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %15, i64 %16 + store %struct.exe_disk_file_t* %arrayidx, %struct.exe_disk_file_t** %df, align 8 + %17 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %17, i32 0, i32 2 + %18 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %18, i32 0, i32 1 + %19 = load i64, i64* %st_ino, align 8 + %20 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_ino = getelementptr inbounds %struct.dirent64, %struct.dirent64* %20, i32 0, i32 0 + store i64 %19, i64* %d_ino, align 8 + %21 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen = getelementptr inbounds %struct.dirent64, %struct.dirent64* %21, i32 0, i32 2 + store i16 280, i16* %d_reclen, align 8 + %22 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat17 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %22, i32 0, i32 2 + %23 = load %struct.stat64*, %struct.stat64** %stat17, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %23, i32 0, i32 3 + %24 = load i32, i32* %st_mode, align 8 + %and = and i32 %24, 61440 + %shr = lshr i32 %and, 12 + %conv18 = trunc i32 %shr to i8 + %25 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_type = getelementptr inbounds %struct.dirent64, %struct.dirent64* %25, i32 0, i32 3 + store i8 %conv18, i8* %d_type, align 2 + %26 = load i64, i64* %i, align 8 + %add = add nsw i64 65, %26 + %conv19 = trunc i64 %add to i8 + %27 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_name = getelementptr inbounds %struct.dirent64, %struct.dirent64* %27, i32 0, i32 4 + %arrayidx20 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name, i64 0, i64 0 + store i8 %conv19, i8* %arrayidx20, align 1 + %28 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_name21 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %28, i32 0, i32 4 + %arrayidx22 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name21, i64 0, i64 1 + store i8 0, i8* %arrayidx22, align 1 + %29 = load i64, i64* %i, align 8 + %add23 = add nsw i64 %29, 1 + %mul24 = mul i64 %add23, 280 + %30 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_off = getelementptr inbounds %struct.dirent64, %struct.dirent64* %30, i32 0, i32 1 + store i64 %mul24, i64* %d_off, align 8 + %31 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen25 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %31, i32 0, i32 2 + %32 = load i16, i16* %d_reclen25, align 8 + %conv26 = zext i16 %32 to i64 + %33 = load i64, i64* %bytes, align 8 + %add27 = add nsw i64 %33, %conv26 + store i64 %add27, i64* %bytes, align 8 + %34 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %incdec.ptr = getelementptr inbounds %struct.dirent64, %struct.dirent64* %34, i32 1 + store %struct.dirent64* %incdec.ptr, %struct.dirent64** %dirp.addr, align 8 + %35 = load i64, i64* %i, align 8 + %inc = add nsw i64 %35, 1 + store i64 %inc, i64* %i, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %36 = load i32, i32* %count.addr, align 4 + %cmp28 = icmp uge i32 %36, 4096 + %37 = load i32, i32* %count.addr, align 4 + %cond = select i1 %cmp28, i32 4096, i32 %37 + %conv30 = zext i32 %cond to i64 + store i64 %conv30, i64* %pad, align 8 + %38 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_ino31 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %38, i32 0, i32 0 + store i64 0, i64* %d_ino31, align 8 + %39 = load i64, i64* %pad, align 8 + %40 = load i64, i64* %bytes, align 8 + %sub = sub nsw i64 %39, %40 + %conv32 = trunc i64 %sub to i16 + %41 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen33 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %41, i32 0, i32 2 + store i16 %conv32, i16* %d_reclen33, align 8 + %42 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_type34 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %42, i32 0, i32 3 + store i8 0, i8* %d_type34, align 2 + %43 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_name35 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %43, i32 0, i32 4 + %arrayidx36 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name35, i64 0, i64 0 + store i8 0, i8* %arrayidx36, align 1 + %44 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_off37 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %44, i32 0, i32 1 + store i64 4096, i64* %d_off37, align 8 + %45 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen38 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %45, i32 0, i32 2 + %46 = load i16, i16* %d_reclen38, align 8 + %conv39 = zext i16 %46 to i64 + %47 = load i64, i64* %bytes, align 8 + %add40 = add nsw i64 %47, %conv39 + store i64 %add40, i64* %bytes, align 8 + %48 = load i64, i64* %pad, align 8 + %49 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off41 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %49, i32 0, i32 2 + store i64 %48, i64* %off41, align 8 + %50 = load i64, i64* %bytes, align 8 + %conv42 = trunc i64 %50 to i32 + store i32 %conv42, i32* %retval, align 4 + br label %return + +if.else43: ; preds = %if.else + %51 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off44 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %51, i32 0, i32 2 + %52 = load i64, i64* %off44, align 8 + %sub45 = sub nsw i64 %52, 4096 + store i64 %sub45, i64* %os_pos, align 8 + store i64 0, i64* %s, align 8 + %53 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %54 = bitcast %struct.dirent64* %53 to i8* + %55 = load i32, i32* %count.addr, align 4 + %conv46 = zext i32 %55 to i64 + %56 = call i8* @memset(i8* %54, i32 0, i64 %conv46) + %57 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd47 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %57, i32 0, i32 0 + %58 = load i32, i32* %fd47, align 8 + %59 = load i64, i64* %os_pos, align 8 + %call48 = call i64 (i64, ...) @syscall(i64 8, i32 %58, i64 %59, i32 0) #11 + store i64 %call48, i64* %s, align 8 + %60 = load i64, i64* %s, align 8 + %cmp49 = icmp ne i64 %60, -1 + br i1 %cmp49, label %if.end53, label %if.else52 + +if.else52: ; preds = %if.else43 + call void @__assert_fail(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.12, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 840, i8* getelementptr inbounds ([65 x i8], [65 x i8]* @__PRETTY_FUNCTION__.__fd_getdents, i64 0, i64 0)) #26 + unreachable + +if.end53: ; preds = %if.else43 + %61 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %61, i32 0, i32 0 + %62 = load i32, i32* %fd54, align 8 + %63 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %64 = load i32, i32* %count.addr, align 4 + %call55 = call i64 (i64, ...) @syscall(i64 217, i32 %62, %struct.dirent64* %63, i32 %64) #11 + %conv56 = trunc i64 %call55 to i32 + store i32 %conv56, i32* %res, align 4 + %65 = load i32, i32* %res, align 4 + %cmp57 = icmp sgt i32 %65, -1 + br i1 %cmp57, label %if.then59, label %if.end78 + +if.then59: ; preds = %if.end53 + store i32 0, i32* %pos, align 4 + %66 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd60 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %66, i32 0, i32 0 + %67 = load i32, i32* %fd60, align 8 + %call61 = call i64 (i64, ...) @syscall(i64 8, i32 %67, i32 0, i32 1) #11 + %68 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off62 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %68, i32 0, i32 2 + store i64 %call61, i64* %off62, align 8 + %69 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off63 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %69, i32 0, i32 2 + %70 = load i64, i64* %off63, align 8 + %cmp64 = icmp ne i64 %70, -1 + br i1 %cmp64, label %if.end68, label %if.else67 + +if.else67: ; preds = %if.then59 + call void @__assert_fail(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.13, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 845, i8* getelementptr inbounds ([65 x i8], [65 x i8]* @__PRETTY_FUNCTION__.__fd_getdents, i64 0, i64 0)) #26 + unreachable + +if.end68: ; preds = %if.then59 + %71 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off69 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %71, i32 0, i32 2 + %72 = load i64, i64* %off69, align 8 + %add70 = add nsw i64 %72, 4096 + store i64 %add70, i64* %off69, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end68 + %73 = load i32, i32* %pos, align 4 + %74 = load i32, i32* %res, align 4 + %cmp71 = icmp slt i32 %73, %74 + br i1 %cmp71, label %while.body, label %if.end78 + +while.body: ; preds = %while.cond + %75 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %76 = bitcast %struct.dirent64* %75 to i8* + %77 = load i32, i32* %pos, align 4 + %idx.ext = sext i32 %77 to i64 + %add.ptr = getelementptr inbounds i8, i8* %76, i64 %idx.ext + %78 = bitcast i8* %add.ptr to %struct.dirent64* + store %struct.dirent64* %78, %struct.dirent64** %dp, align 8 + %79 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_off73 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %79, i32 0, i32 1 + %80 = load i64, i64* %d_off73, align 8 + %add74 = add nsw i64 %80, 4096 + store i64 %add74, i64* %d_off73, align 8 + %81 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_reclen75 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %81, i32 0, i32 2 + %82 = load i16, i16* %d_reclen75, align 8 + %conv76 = zext i16 %82 to i32 + %83 = load i32, i32* %pos, align 4 + %add77 = add nsw i32 %83, %conv76 + store i32 %add77, i32* %pos, align 4 + br label %while.cond + +if.end78: ; preds = %while.cond, %if.end53 + %84 = load i32, i32* %res, align 4 + store i32 %84, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end78, %for.end, %if.then11, %if.then3, %if.then + %85 = load i32, i32* %retval, align 4 + ret i32 %85 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @ioctl(i32 %fd, i64 %request, ...) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %request.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + %buf = alloca i8*, align 8 + %stat = alloca %struct.stat64*, align 8 + %ts = alloca %struct.termios*, align 8 + %ws = alloca %struct.winsize*, align 8 + %res = alloca i32*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %request, i64* %request.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay2 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay2) + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.end + %2 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 3 + %reg_save_area = load i8*, i8** %2, align 16 + %3 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %4 = bitcast i8* %3 to i8** + %5 = add i32 %gp_offset, 8 + store i32 %5, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.end + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %6 = bitcast i8* %overflow_arg_area to i8** + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i8** [ %4, %vaarg.in_reg ], [ %6, %vaarg.in_mem ] + %7 = load i8*, i8** %vaarg.addr, align 8 + store i8* %7, i8** %buf, align 8 + %arraydecay4 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay45 = bitcast %struct.__va_list_tag.0* %arraydecay4 to i8* + call void @llvm.va_end(i8* %arraydecay45) + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + br i1 %tobool6, label %if.then7, label %if.end103 + +if.then7: ; preds = %vaarg.end + %dfile8 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 3 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile8, align 8 + %stat9 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %11, i32 0, i32 2 + %12 = load %struct.stat64*, %struct.stat64** %stat9, align 8 + %13 = bitcast %struct.stat64* %12 to %struct.stat64* + store %struct.stat64* %13, %struct.stat64** %stat, align 8 + %14 = load i64, i64* %request.addr, align 8 + br label %NodeBlock13 + +NodeBlock13: ; preds = %if.then7 + %case.cmp14 = icmp eq i64 %14, 21505 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i64 %14, 21506 + br i1 %case.cmp12, label %sw.bb48, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i64 %14, 21507 + br i1 %case.cmp10, label %sw.bb55, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i64 %14, 21508 + br i1 %case.cmp8, label %sw.bb60, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i64 %14, 21523 + br i1 %case.cmp6, label %sw.bb67, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i64 %14, 21524 + br i1 %case.cmp4, label %sw.bb74, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i64 %14, 21531 + br i1 %case.cmp2, label %sw.bb82, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i64 %14, 2150657282 + br i1 %case.cmp, label %sw.bb100, label %newDefault + +sw.bb: ; preds = %NodeBlock13 + %15 = load i8*, i8** %buf, align 8 + %16 = bitcast i8* %15 to %struct.termios* + store %struct.termios* %16, %struct.termios** %ts, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.14, i64 0, i64 0)) + %17 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %17, i32 0, i32 3 + %18 = load i32, i32* %st_mode, align 8 + %and = and i32 %18, 61440 + %cmp = icmp eq i32 %and, 8192 + br i1 %cmp, label %if.then10, label %if.else + +if.then10: ; preds = %sw.bb + %19 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_iflag = getelementptr inbounds %struct.termios, %struct.termios* %19, i32 0, i32 0 + store i32 27906, i32* %c_iflag, align 4 + %20 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_oflag = getelementptr inbounds %struct.termios, %struct.termios* %20, i32 0, i32 1 + store i32 5, i32* %c_oflag, align 4 + %21 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cflag = getelementptr inbounds %struct.termios, %struct.termios* %21, i32 0, i32 2 + store i32 1215, i32* %c_cflag, align 4 + %22 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_lflag = getelementptr inbounds %struct.termios, %struct.termios* %22, i32 0, i32 3 + store i32 35287, i32* %c_lflag, align 4 + %23 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_line = getelementptr inbounds %struct.termios, %struct.termios* %23, i32 0, i32 4 + store i8 0, i8* %c_line, align 4 + %24 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc = getelementptr inbounds %struct.termios, %struct.termios* %24, i32 0, i32 5 + %arrayidx = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc, i64 0, i64 0 + store i8 3, i8* %arrayidx, align 1 + %25 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc11 = getelementptr inbounds %struct.termios, %struct.termios* %25, i32 0, i32 5 + %arrayidx12 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc11, i64 0, i64 1 + store i8 28, i8* %arrayidx12, align 1 + %26 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc13 = getelementptr inbounds %struct.termios, %struct.termios* %26, i32 0, i32 5 + %arrayidx14 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc13, i64 0, i64 2 + store i8 127, i8* %arrayidx14, align 1 + %27 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc15 = getelementptr inbounds %struct.termios, %struct.termios* %27, i32 0, i32 5 + %arrayidx16 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc15, i64 0, i64 3 + store i8 21, i8* %arrayidx16, align 1 + %28 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc17 = getelementptr inbounds %struct.termios, %struct.termios* %28, i32 0, i32 5 + %arrayidx18 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc17, i64 0, i64 4 + store i8 4, i8* %arrayidx18, align 1 + %29 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc19 = getelementptr inbounds %struct.termios, %struct.termios* %29, i32 0, i32 5 + %arrayidx20 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc19, i64 0, i64 5 + store i8 0, i8* %arrayidx20, align 1 + %30 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc21 = getelementptr inbounds %struct.termios, %struct.termios* %30, i32 0, i32 5 + %arrayidx22 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc21, i64 0, i64 6 + store i8 1, i8* %arrayidx22, align 1 + %31 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc23 = getelementptr inbounds %struct.termios, %struct.termios* %31, i32 0, i32 5 + %arrayidx24 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc23, i64 0, i64 7 + store i8 -1, i8* %arrayidx24, align 1 + %32 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc25 = getelementptr inbounds %struct.termios, %struct.termios* %32, i32 0, i32 5 + %arrayidx26 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc25, i64 0, i64 8 + store i8 17, i8* %arrayidx26, align 1 + %33 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc27 = getelementptr inbounds %struct.termios, %struct.termios* %33, i32 0, i32 5 + %arrayidx28 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc27, i64 0, i64 9 + store i8 19, i8* %arrayidx28, align 1 + %34 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc29 = getelementptr inbounds %struct.termios, %struct.termios* %34, i32 0, i32 5 + %arrayidx30 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc29, i64 0, i64 10 + store i8 26, i8* %arrayidx30, align 1 + %35 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc31 = getelementptr inbounds %struct.termios, %struct.termios* %35, i32 0, i32 5 + %arrayidx32 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc31, i64 0, i64 11 + store i8 -1, i8* %arrayidx32, align 1 + %36 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc33 = getelementptr inbounds %struct.termios, %struct.termios* %36, i32 0, i32 5 + %arrayidx34 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc33, i64 0, i64 12 + store i8 18, i8* %arrayidx34, align 1 + %37 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc35 = getelementptr inbounds %struct.termios, %struct.termios* %37, i32 0, i32 5 + %arrayidx36 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc35, i64 0, i64 13 + store i8 15, i8* %arrayidx36, align 1 + %38 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc37 = getelementptr inbounds %struct.termios, %struct.termios* %38, i32 0, i32 5 + %arrayidx38 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc37, i64 0, i64 14 + store i8 23, i8* %arrayidx38, align 1 + %39 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc39 = getelementptr inbounds %struct.termios, %struct.termios* %39, i32 0, i32 5 + %arrayidx40 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc39, i64 0, i64 15 + store i8 22, i8* %arrayidx40, align 1 + %40 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc41 = getelementptr inbounds %struct.termios, %struct.termios* %40, i32 0, i32 5 + %arrayidx42 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc41, i64 0, i64 16 + store i8 -1, i8* %arrayidx42, align 1 + %41 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc43 = getelementptr inbounds %struct.termios, %struct.termios* %41, i32 0, i32 5 + %arrayidx44 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc43, i64 0, i64 17 + store i8 0, i8* %arrayidx44, align 1 + %42 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc45 = getelementptr inbounds %struct.termios, %struct.termios* %42, i32 0, i32 5 + %arrayidx46 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc45, i64 0, i64 18 + store i8 0, i8* %arrayidx46, align 1 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %sw.bb + %call47 = call i32* @__errno_location() #25 + store i32 25, i32* %call47, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb48: ; preds = %NodeBlock11 + call void @gs_warning_once(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.15, i64 0, i64 0)) + %43 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode49 = getelementptr inbounds %struct.stat64, %struct.stat64* %43, i32 0, i32 3 + %44 = load i32, i32* %st_mode49, align 8 + %and50 = and i32 %44, 61440 + %cmp51 = icmp eq i32 %and50, 8192 + br i1 %cmp51, label %if.then52, label %if.else53 + +if.then52: ; preds = %sw.bb48 + store i32 0, i32* %retval, align 4 + br label %return + +if.else53: ; preds = %sw.bb48 + %call54 = call i32* @__errno_location() #25 + store i32 25, i32* %call54, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb55: ; preds = %NodeBlock9 + call void @gs_warning_once(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.16, i64 0, i64 0)) + %45 = load i32, i32* %fd.addr, align 4 + %cmp56 = icmp eq i32 %45, 0 + br i1 %cmp56, label %if.then57, label %if.else58 + +if.then57: ; preds = %sw.bb55 + store i32 0, i32* %retval, align 4 + br label %return + +if.else58: ; preds = %sw.bb55 + %call59 = call i32* @__errno_location() #25 + store i32 25, i32* %call59, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb60: ; preds = %NodeBlock7 + call void @gs_warning_once(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.17, i64 0, i64 0)) + %46 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode61 = getelementptr inbounds %struct.stat64, %struct.stat64* %46, i32 0, i32 3 + %47 = load i32, i32* %st_mode61, align 8 + %and62 = and i32 %47, 61440 + %cmp63 = icmp eq i32 %and62, 8192 + br i1 %cmp63, label %if.then64, label %if.else65 + +if.then64: ; preds = %sw.bb60 + store i32 0, i32* %retval, align 4 + br label %return + +if.else65: ; preds = %sw.bb60 + %call66 = call i32* @__errno_location() #25 + store i32 25, i32* %call66, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb67: ; preds = %NodeBlock5 + %48 = load i8*, i8** %buf, align 8 + %49 = bitcast i8* %48 to %struct.winsize* + store %struct.winsize* %49, %struct.winsize** %ws, align 8 + %50 = load %struct.winsize*, %struct.winsize** %ws, align 8 + %ws_row = getelementptr inbounds %struct.winsize, %struct.winsize* %50, i32 0, i32 0 + store i16 24, i16* %ws_row, align 2 + %51 = load %struct.winsize*, %struct.winsize** %ws, align 8 + %ws_col = getelementptr inbounds %struct.winsize, %struct.winsize* %51, i32 0, i32 1 + store i16 80, i16* %ws_col, align 2 + call void @gs_warning_once(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.18, i64 0, i64 0)) + %52 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode68 = getelementptr inbounds %struct.stat64, %struct.stat64* %52, i32 0, i32 3 + %53 = load i32, i32* %st_mode68, align 8 + %and69 = and i32 %53, 61440 + %cmp70 = icmp eq i32 %and69, 8192 + br i1 %cmp70, label %if.then71, label %if.else72 + +if.then71: ; preds = %sw.bb67 + store i32 0, i32* %retval, align 4 + br label %return + +if.else72: ; preds = %sw.bb67 + %call73 = call i32* @__errno_location() #25 + store i32 25, i32* %call73, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb74: ; preds = %NodeBlock3 + call void @gs_warning_once(i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.19, i64 0, i64 0)) + %54 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode75 = getelementptr inbounds %struct.stat64, %struct.stat64* %54, i32 0, i32 3 + %55 = load i32, i32* %st_mode75, align 8 + %and76 = and i32 %55, 61440 + %cmp77 = icmp eq i32 %and76, 8192 + %call79 = call i32* @__errno_location() #25 + br i1 %cmp77, label %if.then78, label %if.else80 + +if.then78: ; preds = %sw.bb74 + store i32 22, i32* %call79, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else80: ; preds = %sw.bb74 + store i32 25, i32* %call79, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb82: ; preds = %NodeBlock1 + %56 = load i8*, i8** %buf, align 8 + %57 = bitcast i8* %56 to i32* + store i32* %57, i32** %res, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.20, i64 0, i64 0)) + %58 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode83 = getelementptr inbounds %struct.stat64, %struct.stat64* %58, i32 0, i32 3 + %59 = load i32, i32* %st_mode83, align 8 + %and84 = and i32 %59, 61440 + %cmp85 = icmp eq i32 %and84, 8192 + br i1 %cmp85, label %if.then86, label %if.else98 + +if.then86: ; preds = %sw.bb82 + %60 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %60, i32 0, i32 2 + %61 = load i64, i64* %off, align 8 + %62 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile87 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %62, i32 0, i32 3 + %63 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile87, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %63, i32 0, i32 0 + %64 = load i32, i32* %size, align 8 + %conv = zext i32 %64 to i64 + %cmp88 = icmp slt i64 %61, %conv + br i1 %cmp88, label %if.then90, label %if.else96 + +if.then90: ; preds = %if.then86 + %65 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile91 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %65, i32 0, i32 3 + %66 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile91, align 8 + %size92 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %66, i32 0, i32 0 + %67 = load i32, i32* %size92, align 8 + %conv93 = zext i32 %67 to i64 + %68 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off94 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %68, i32 0, i32 2 + %69 = load i64, i64* %off94, align 8 + %sub = sub nsw i64 %conv93, %69 + %conv95 = trunc i64 %sub to i32 + %70 = load i32*, i32** %res, align 8 + store i32 %conv95, i32* %70, align 4 + br label %if.end97 + +if.else96: ; preds = %if.then86 + %71 = load i32*, i32** %res, align 8 + store i32 0, i32* %71, align 4 + br label %if.end97 + +if.end97: ; preds = %if.else96, %if.then90 + store i32 0, i32* %retval, align 4 + br label %return + +if.else98: ; preds = %sw.bb82 + %call99 = call i32* @__errno_location() #25 + store i32 25, i32* %call99, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb100: ; preds = %NodeBlock + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.21, i64 0, i64 0)) + %call101 = call i32* @__errno_location() #25 + store i32 22, i32* %call101, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0)) + %call102 = call i32* @__errno_location() #25 + store i32 22, i32* %call102, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end103: ; preds = %vaarg.end + %fd104 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 0 + %72 = load i32, i32* %fd104, align 8 + %73 = load i64, i64* %request.addr, align 8 + %74 = load i8*, i8** %buf, align 8 + %call105 = call i64 (i64, ...) @syscall(i64 16, i32 %72, i64 %73, i8* %74) #11 + %conv106 = trunc i64 %call105 to i32 + store i32 %conv106, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end103, %sw.default, %sw.bb100, %if.else98, %if.end97, %if.else80, %if.then78, %if.else72, %if.then71, %if.else65, %if.then64, %if.else58, %if.then57, %if.else53, %if.then52, %if.else, %if.then10, %if.then + %75 = load i32, i32* %retval, align 4 + ret i32 %75 +} + +; Function Attrs: nounwind +declare void @llvm.va_start(i8*) #11 + +; Function Attrs: nounwind +declare void @llvm.va_end(i8*) #11 + +declare dso_local void @gs_warning_once(i8*) #5 + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fcntl(i32 %fd, i32 %cmd, ...) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %cmd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + %arg = alloca i32, align 4 + %lock = alloca %struct.flock*, align 8 + %flags = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %cmd, i32* %cmd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i32, i32* %cmd.addr, align 4 + %cmp = icmp eq i32 %2, 1 + %3 = load i32, i32* %cmd.addr, align 4 + %cmp2 = icmp eq i32 %3, 3 + %or.cond = or i1 %cmp, %cmp2 + %4 = load i32, i32* %cmd.addr, align 4 + %cmp4 = icmp eq i32 %4, 9 + %or.cond1 = or i1 %or.cond, %cmp4 + %5 = load i32, i32* %cmd.addr, align 4 + %cmp6 = icmp eq i32 %5, 11 + %or.cond2 = or i1 %or.cond1, %cmp6 + %6 = load i32, i32* %cmd.addr, align 4 + %cmp8 = icmp eq i32 %6, 1025 + %or.cond3 = or i1 %or.cond2, %cmp8 + %7 = load i32, i32* %cmd.addr, align 4 + %cmp10 = icmp eq i32 %7, 1026 + %or.cond4 = or i1 %or.cond3, %cmp10 + br i1 %or.cond4, label %if.then11, label %if.else + +if.then11: ; preds = %if.end + store i32 0, i32* %arg, align 4 + br label %if.end40 + +if.else: ; preds = %if.end + %8 = load i32, i32* %cmd.addr, align 4 + %cmp12 = icmp eq i32 %8, 5 + %9 = load i32, i32* %cmd.addr, align 4 + %cmp14 = icmp eq i32 %9, 6 + %or.cond5 = or i1 %cmp12, %cmp14 + %10 = load i32, i32* %cmd.addr, align 4 + %cmp16 = icmp eq i32 %10, 7 + %or.cond6 = or i1 %or.cond5, %cmp16 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay18 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay18) + %arraydecay19 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %or.cond6, label %if.then17, label %if.else22 + +if.then17: ; preds = %if.else + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then17 + %11 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 3 + %reg_save_area = load i8*, i8** %11, align 16 + %12 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %13 = bitcast i8* %12 to %struct.flock** + %14 = add i32 %gp_offset, 8 + store i32 %14, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then17 + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %15 = bitcast i8* %overflow_arg_area to %struct.flock** + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi %struct.flock** [ %13, %vaarg.in_reg ], [ %15, %vaarg.in_mem ] + %16 = load %struct.flock*, %struct.flock** %vaarg.addr, align 8 + store %struct.flock* %16, %struct.flock** %lock, align 8 + %arraydecay20 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay2021 = bitcast %struct.__va_list_tag.0* %arraydecay20 to i8* + call void @llvm.va_end(i8* %arraydecay2021) + br label %if.end40 + +if.else22: ; preds = %if.else + br i1 %fits_in_gp, label %vaarg.in_reg29, label %vaarg.in_mem31 + +vaarg.in_reg29: ; preds = %if.else22 + %17 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 3 + %reg_save_area30 = load i8*, i8** %17, align 16 + %18 = getelementptr i8, i8* %reg_save_area30, i32 %gp_offset + %19 = bitcast i8* %18 to i32* + %20 = add i32 %gp_offset, 8 + store i32 %20, i32* %gp_offset_p, align 16 + br label %vaarg.end35 + +vaarg.in_mem31: ; preds = %if.else22 + %overflow_arg_area_p32 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 2 + %overflow_arg_area33 = load i8*, i8** %overflow_arg_area_p32, align 8 + %21 = bitcast i8* %overflow_arg_area33 to i32* + %overflow_arg_area.next34 = getelementptr i8, i8* %overflow_arg_area33, i32 8 + store i8* %overflow_arg_area.next34, i8** %overflow_arg_area_p32, align 8 + br label %vaarg.end35 + +vaarg.end35: ; preds = %vaarg.in_mem31, %vaarg.in_reg29 + %vaarg.addr36 = phi i32* [ %19, %vaarg.in_reg29 ], [ %21, %vaarg.in_mem31 ] + %22 = load i32, i32* %vaarg.addr36, align 4 + store i32 %22, i32* %arg, align 4 + %arraydecay37 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay3738 = bitcast %struct.__va_list_tag.0* %arraydecay37 to i8* + call void @llvm.va_end(i8* %arraydecay3738) + br label %if.end40 + +if.end40: ; preds = %vaarg.end, %vaarg.end35, %if.then11 + %23 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %23, i32 0, i32 3 + %24 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool41 = icmp ne %struct.exe_disk_file_t* %24, null + br i1 %tobool41, label %if.then42, label %if.end60 + +if.then42: ; preds = %if.end40 + %25 = load i32, i32* %cmd.addr, align 4 + br label %NodeBlock13 + +NodeBlock13: ; preds = %if.then42 + %case.cmp14 = icmp eq i32 %25, 1 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %25, 2 + br i1 %case.cmp12, label %sw.bb47, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %25, 3 + br i1 %case.cmp10, label %sw.bb56, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %25, 5 + br i1 %case.cmp8, label %sw.bb57, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock7 + %case.cmp = icmp eq i32 %25, 6 + br i1 %case.cmp, label %sw.bb58, label %newDefault + +sw.bb: ; preds = %NodeBlock13 + store i32 0, i32* %flags, align 4 + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags43 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 1 + %27 = load i32, i32* %flags43, align 4 + %and = and i32 %27, 2 + %tobool44 = icmp ne i32 %and, 0 + br i1 %tobool44, label %if.then45, label %if.end46 + +if.then45: ; preds = %sw.bb + %28 = load i32, i32* %flags, align 4 + %or = or i32 %28, 1 + store i32 %or, i32* %flags, align 4 + br label %if.end46 + +if.end46: ; preds = %if.then45, %sw.bb + %29 = load i32, i32* %flags, align 4 + store i32 %29, i32* %retval, align 4 + br label %return + +sw.bb47: ; preds = %NodeBlock11 + %30 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags48 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %30, i32 0, i32 1 + %31 = load i32, i32* %flags48, align 4 + %and49 = and i32 %31, -3 + store i32 %and49, i32* %flags48, align 4 + %32 = load i32, i32* %arg, align 4 + %and50 = and i32 %32, 1 + %tobool51 = icmp ne i32 %and50, 0 + br i1 %tobool51, label %if.then52, label %if.end55 + +if.then52: ; preds = %sw.bb47 + %33 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags53 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %33, i32 0, i32 1 + %34 = load i32, i32* %flags53, align 4 + %or54 = or i32 %34, 2 + store i32 %or54, i32* %flags53, align 4 + br label %if.end55 + +if.end55: ; preds = %if.then52, %sw.bb47 + store i32 0, i32* %retval, align 4 + br label %return + +sw.bb56: ; preds = %NodeBlock9 + store i32 0, i32* %retval, align 4 + br label %return + +sw.bb57: ; preds = %NodeBlock7 + %35 = load %struct.flock*, %struct.flock** %lock, align 8 + %l_type = getelementptr inbounds %struct.flock, %struct.flock* %35, i32 0, i32 0 + store i16 2, i16* %l_type, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +sw.bb58: ; preds = %NodeBlock + store i32 0, i32* %retval, align 4 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0)) + %call59 = call i32* @__errno_location() #25 + store i32 22, i32* %call59, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end60: ; preds = %if.end40 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd61 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 0 + %37 = load i32, i32* %fd61, align 8 + %38 = load i32, i32* %cmd.addr, align 4 + %39 = load i32, i32* %arg, align 4 + %call62 = call i64 (i64, ...) @syscall(i64 72, i32 %37, i32 %38, i32 %39) #11 + %conv = trunc i64 %call62 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end60, %sw.default, %sw.bb58, %sw.bb57, %sw.bb56, %if.end55, %if.end46, %if.then + %40 = load i32, i32* %retval, align 4 + ret i32 %40 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_statfs(i8* %path, %struct.statfs* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.statfs*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.statfs* %buf, %struct.statfs** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0)) + %call1 = call i32* @__errno_location() #25 + store i32 2, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %2) + %3 = load %struct.statfs*, %struct.statfs** %buf.addr, align 8 + %call3 = call i64 (i64, ...) @syscall(i64 137, i8* %call2, %struct.statfs* %3) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstatfs(i32 %fd, %struct.statfs* nonnull %buf) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.statfs*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.statfs* %buf, %struct.statfs** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %if.end + call void @gs_warning(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.22, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 9, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd6, align 8 + %6 = load %struct.statfs*, %struct.statfs** %buf.addr, align 8 + %call7 = call i64 (i64, ...) @syscall(i64 138, i32 %5, %struct.statfs* %6) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %7 = load i32, i32* %retval, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fsync(i32 %fd) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.else + store i32 0, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %if.else + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd5 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd5, align 8 + %call6 = call i64 (i64, ...) @syscall(i64 74, i32 %5) #11 + %conv = trunc i64 %call6 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @dup2(i32 %oldfd, i32 %newfd) #3 { +entry: + %retval = alloca i32, align 4 + %oldfd.addr = alloca i32, align 4 + %newfd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %f2 = alloca %struct.exe_file_t*, align 8 + store i32 %oldfd, i32* %oldfd.addr, align 4 + store i32 %newfd, i32* %newfd.addr, align 4 + %0 = load i32, i32* %oldfd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + %2 = load i32, i32* %newfd.addr, align 4 + %cmp = icmp sge i32 %2, 0 + %or.cond = and i1 %tobool, %cmp + %3 = load i32, i32* %newfd.addr, align 4 + %cmp1 = icmp slt i32 %3, 32 + %or.cond1 = and i1 %or.cond, %cmp1 + br i1 %or.cond1, label %if.else, label %if.then + +if.then: ; preds = %entry + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %4 = load i32, i32* %newfd.addr, align 4 + %idxprom = sext i32 %4 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + store %struct.exe_file_t* %arrayidx, %struct.exe_file_t** %f2, align 8 + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f2, align 8 + %flags = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 1 + %6 = load i32, i32* %flags, align 4 + %and = and i32 %6, 1 + %tobool3 = icmp ne i32 %and, 0 + br i1 %tobool3, label %if.then4, label %if.end + +if.then4: ; preds = %if.else + %7 = load i32, i32* %newfd.addr, align 4 + %call5 = call i32 @close(i32 %7) + br label %if.end + +if.end: ; preds = %if.then4, %if.else + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f2, align 8 + %9 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %10 = bitcast %struct.exe_file_t* %8 to i8* + %11 = bitcast %struct.exe_file_t* %9 to i8* + %12 = call i8* @memcpy(i8* %10, i8* %11, i64 24) + %13 = load %struct.exe_file_t*, %struct.exe_file_t** %f2, align 8 + %flags6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %13, i32 0, i32 1 + %14 = load i32, i32* %flags6, align 4 + %and7 = and i32 %14, -3 + store i32 %and7, i32* %flags6, align 4 + %15 = load i32, i32* %newfd.addr, align 4 + store i32 %15, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %16 = load i32, i32* %retval, align 4 + ret i32 %16 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @dup(i32 %oldfd) #3 { +entry: + %retval = alloca i32, align 4 + %oldfd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %fd = alloca i32, align 4 + store i32 %oldfd, i32* %oldfd.addr, align 4 + %0 = load i32, i32* %oldfd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + store i32 0, i32* %fd, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.else + %2 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %2, 32 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %3 = load i32, i32* %fd, align 4 + %idxprom = sext i32 %3 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + %flags = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %arrayidx, i32 0, i32 1 + %4 = load i32, i32* %flags, align 4 + %and = and i32 %4, 1 + %tobool2 = icmp ne i32 %and, 0 + br i1 %tobool2, label %for.inc, label %for.end + +for.inc: ; preds = %for.body + %5 = load i32, i32* %fd, align 4 + %inc = add nsw i32 %5, 1 + store i32 %inc, i32* %fd, align 4 + br label %for.cond + +for.end: ; preds = %for.body, %for.cond + %6 = load i32, i32* %fd, align 4 + %cmp4 = icmp eq i32 %6, 32 + br i1 %cmp4, label %if.then5, label %if.else7 + +if.then5: ; preds = %for.end + %call6 = call i32* @__errno_location() #25 + store i32 24, i32* %call6, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else7: ; preds = %for.end + %7 = load i32, i32* %oldfd.addr, align 4 + %8 = load i32, i32* %fd, align 4 + %call8 = call i32 @dup2(i32 %7, i32 %8) #11 + store i32 %call8, i32* %retval, align 4 + br label %return + +return: ; preds = %if.else7, %if.then5, %if.then + %9 = load i32, i32* %retval, align 4 + ret i32 %9 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rmdir(i8* nonnull %pathname) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 16384 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %5, i32 0, i32 2 + %6 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 1 + store i64 0, i64* %st_ino, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %call3 = call i32* @__errno_location() #25 + store i32 20, i32* %call3, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 1, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.else, %if.then1 + %7 = load i32, i32* %retval, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @unlink(i8* nonnull %pathname) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 32768 + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %5, i32 0, i32 2 + %6 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 1 + store i64 0, i64* %st_ino, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %st_mode4 = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 3 + %7 = load i32, i32* %st_mode4, align 8 + %and5 = and i32 %7, 61440 + %cmp6 = icmp eq i32 %and5, 16384 + %call8 = call i32* @__errno_location() #25 + br i1 %cmp6, label %if.then7, label %if.else9 + +if.then7: ; preds = %if.else + store i32 21, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else9: ; preds = %if.else + store i32 1, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0)) + %call11 = call i32* @__errno_location() #25 + store i32 1, i32* %call11, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.else9, %if.then7, %if.then1 + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @unlinkat(i32 %dirfd, i8* nonnull %pathname, i32 %flags) #3 { +entry: + %retval = alloca i32, align 4 + %dirfd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i32 %dirfd, i32* %dirfd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 32768 + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %5, i32 0, i32 2 + %6 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 1 + store i64 0, i64* %st_ino, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %st_mode4 = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 3 + %7 = load i32, i32* %st_mode4, align 8 + %and5 = and i32 %7, 61440 + %cmp6 = icmp eq i32 %and5, 16384 + %call8 = call i32* @__errno_location() #25 + br i1 %cmp6, label %if.then7, label %if.else9 + +if.then7: ; preds = %if.else + store i32 21, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else9: ; preds = %if.else + store i32 1, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0)) + %call11 = call i32* @__errno_location() #25 + store i32 1, i32* %call11, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.else9, %if.then7, %if.then1 + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @readlink(i8* nonnull %path, i8* nonnull %buf, i64 %bufsize) #3 { +entry: + %retval = alloca i64, align 8 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end20 + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 40960 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %5 = load i8*, i8** %path.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 0 + %6 = load i8, i8* %arrayidx, align 1 + %7 = load i8*, i8** %buf.addr, align 8 + %arrayidx2 = getelementptr inbounds i8, i8* %7, i64 0 + store i8 %6, i8* %arrayidx2, align 1 + %8 = load i64, i64* %bufsize.addr, align 8 + %cmp3 = icmp ugt i64 %8, 1 + br i1 %cmp3, label %if.then4, label %if.end + +if.then4: ; preds = %if.then1 + %9 = load i8*, i8** %buf.addr, align 8 + %arrayidx5 = getelementptr inbounds i8, i8* %9, i64 1 + store i8 46, i8* %arrayidx5, align 1 + br label %if.end + +if.end: ; preds = %if.then4, %if.then1 + %10 = load i64, i64* %bufsize.addr, align 8 + %cmp6 = icmp ugt i64 %10, 2 + br i1 %cmp6, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end + %11 = load i8*, i8** %buf.addr, align 8 + %arrayidx8 = getelementptr inbounds i8, i8* %11, i64 2 + store i8 108, i8* %arrayidx8, align 1 + br label %if.end9 + +if.end9: ; preds = %if.then7, %if.end + %12 = load i64, i64* %bufsize.addr, align 8 + %cmp10 = icmp ugt i64 %12, 3 + br i1 %cmp10, label %if.then11, label %if.end13 + +if.then11: ; preds = %if.end9 + %13 = load i8*, i8** %buf.addr, align 8 + %arrayidx12 = getelementptr inbounds i8, i8* %13, i64 3 + store i8 110, i8* %arrayidx12, align 1 + br label %if.end13 + +if.end13: ; preds = %if.then11, %if.end9 + %14 = load i64, i64* %bufsize.addr, align 8 + %cmp14 = icmp ugt i64 %14, 4 + br i1 %cmp14, label %if.then15, label %if.end17 + +if.then15: ; preds = %if.end13 + %15 = load i8*, i8** %buf.addr, align 8 + %arrayidx16 = getelementptr inbounds i8, i8* %15, i64 4 + store i8 107, i8* %arrayidx16, align 1 + br label %if.end17 + +if.end17: ; preds = %if.then15, %if.end13 + %16 = load i64, i64* %bufsize.addr, align 8 + %cmp18 = icmp ugt i64 %16, 5 + %17 = load i64, i64* %bufsize.addr, align 8 + %cond = select i1 %cmp18, i64 5, i64 %17 + store i64 %cond, i64* %retval, align 8 + br label %return + +if.else: ; preds = %if.then + %call19 = call i32* @__errno_location() #25 + store i32 22, i32* %call19, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end20: ; preds = %entry + %18 = load i8*, i8** %path.addr, align 8 + %19 = load i8*, i8** %buf.addr, align 8 + %20 = load i64, i64* %bufsize.addr, align 8 + %call21 = call i64 (i64, ...) @syscall(i64 89, i8* %18, i8* %19, i64 %20) #11 + store i64 %call21, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end20, %if.else, %if.end17 + %21 = load i64, i64* %retval, align 8 + ret i64 %21 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @select(i32 %nfds, %struct.fd_set* %read, %struct.fd_set* %write, %struct.fd_set* %except, %struct.timespec* %timeout) #3 { +entry: + %retval = alloca i32, align 4 + %nfds.addr = alloca i32, align 4 + %read.addr = alloca %struct.fd_set*, align 8 + %write.addr = alloca %struct.fd_set*, align 8 + %except.addr = alloca %struct.fd_set*, align 8 + %timeout.addr = alloca %struct.timespec*, align 8 + %in_read = alloca %struct.fd_set, align 8 + %in_write = alloca %struct.fd_set, align 8 + %in_except = alloca %struct.fd_set, align 8 + %os_read = alloca %struct.fd_set, align 8 + %os_write = alloca %struct.fd_set, align 8 + %os_except = alloca %struct.fd_set, align 8 + %i = alloca i32, align 4 + %count = alloca i32, align 4 + %os_nfds = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %tv = alloca %struct.timespec, align 8 + %r = alloca i32, align 4 + %f182 = alloca %struct.exe_file_t*, align 8 + store i32 %nfds, i32* %nfds.addr, align 4 + store %struct.fd_set* %read, %struct.fd_set** %read.addr, align 8 + store %struct.fd_set* %write, %struct.fd_set** %write.addr, align 8 + store %struct.fd_set* %except, %struct.fd_set** %except.addr, align 8 + store %struct.timespec* %timeout, %struct.timespec** %timeout.addr, align 8 + store i32 0, i32* %count, align 4 + store i32 0, i32* %os_nfds, align 4 + %0 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %tobool = icmp ne %struct.fd_set* %0, null + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %entry + %1 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %2 = bitcast %struct.fd_set* %in_read to i8* + %3 = bitcast %struct.fd_set* %1 to i8* + %4 = call i8* @memcpy(i8* %2, i8* %3, i64 128) + %5 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %6 = bitcast %struct.fd_set* %5 to i8* + %7 = call i8* @memset(i8* %6, i32 0, i64 128) + br label %if.end + +if.else: ; preds = %entry + %8 = bitcast %struct.fd_set* %in_read to i8* + %9 = call i8* @memset(i8* %8, i32 0, i64 128) + br label %if.end + +if.end: ; preds = %if.else, %if.then + %10 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %tobool1 = icmp ne %struct.fd_set* %10, null + br i1 %tobool1, label %if.then2, label %if.else3 + +if.then2: ; preds = %if.end + %11 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %12 = bitcast %struct.fd_set* %in_write to i8* + %13 = bitcast %struct.fd_set* %11 to i8* + %14 = call i8* @memcpy(i8* %12, i8* %13, i64 128) + %15 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %16 = bitcast %struct.fd_set* %15 to i8* + %17 = call i8* @memset(i8* %16, i32 0, i64 128) + br label %if.end4 + +if.else3: ; preds = %if.end + %18 = bitcast %struct.fd_set* %in_write to i8* + %19 = call i8* @memset(i8* %18, i32 0, i64 128) + br label %if.end4 + +if.end4: ; preds = %if.else3, %if.then2 + %20 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %tobool5 = icmp ne %struct.fd_set* %20, null + br i1 %tobool5, label %if.then6, label %if.else7 + +if.then6: ; preds = %if.end4 + %21 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %22 = bitcast %struct.fd_set* %in_except to i8* + %23 = bitcast %struct.fd_set* %21 to i8* + %24 = call i8* @memcpy(i8* %22, i8* %23, i64 128) + %25 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %26 = bitcast %struct.fd_set* %25 to i8* + %27 = call i8* @memset(i8* %26, i32 0, i64 128) + br label %if.end8 + +if.else7: ; preds = %if.end4 + %28 = bitcast %struct.fd_set* %in_except to i8* + %29 = call i8* @memset(i8* %28, i32 0, i64 128) + br label %if.end8 + +if.end8: ; preds = %if.else7, %if.then6 + %30 = bitcast %struct.fd_set* %os_read to i8* + %31 = call i8* @memset(i8* %30, i32 0, i64 128) + %32 = bitcast %struct.fd_set* %os_write to i8* + %33 = call i8* @memset(i8* %32, i32 0, i64 128) + %34 = bitcast %struct.fd_set* %os_except to i8* + %35 = call i8* @memset(i8* %34, i32 0, i64 128) + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end8 + %36 = load i32, i32* %i, align 4 + %37 = load i32, i32* %nfds.addr, align 4 + %cmp = icmp slt i32 %36, %37 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %fds_bits = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_read, i32 0, i32 0 + %38 = load i32, i32* %i, align 4 + %div = sdiv i32 %38, 64 + %idxprom = sext i32 %div to i64 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits, i64 0, i64 %idxprom + %39 = load i64, i64* %arrayidx, align 8 + %40 = load i32, i32* %i, align 4 + %rem = srem i32 %40, 64 + %shl = shl i32 1, %rem + %conv = sext i32 %shl to i64 + %and = and i64 %39, %conv + %tobool9 = icmp ne i64 %and, 0 + br i1 %tobool9, label %if.then29, label %lor.lhs.false + +lor.lhs.false: ; preds = %for.body + %fds_bits10 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_write, i32 0, i32 0 + %41 = load i32, i32* %i, align 4 + %div11 = sdiv i32 %41, 64 + %idxprom12 = sext i32 %div11 to i64 + %arrayidx13 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits10, i64 0, i64 %idxprom12 + %42 = load i64, i64* %arrayidx13, align 8 + %43 = load i32, i32* %i, align 4 + %rem14 = srem i32 %43, 64 + %shl15 = shl i32 1, %rem14 + %conv16 = sext i32 %shl15 to i64 + %and17 = and i64 %42, %conv16 + %tobool18 = icmp ne i64 %and17, 0 + br i1 %tobool18, label %if.then29, label %lor.lhs.false19 + +lor.lhs.false19: ; preds = %lor.lhs.false + %fds_bits20 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_except, i32 0, i32 0 + %44 = load i32, i32* %i, align 4 + %div21 = sdiv i32 %44, 64 + %idxprom22 = sext i32 %div21 to i64 + %arrayidx23 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits20, i64 0, i64 %idxprom22 + %45 = load i64, i64* %arrayidx23, align 8 + %46 = load i32, i32* %i, align 4 + %rem24 = srem i32 %46, 64 + %shl25 = shl i32 1, %rem24 + %conv26 = sext i32 %shl25 to i64 + %and27 = and i64 %45, %conv26 + %tobool28 = icmp ne i64 %and27, 0 + br i1 %tobool28, label %if.then29, label %for.inc + +if.then29: ; preds = %lor.lhs.false19, %lor.lhs.false, %for.body + %47 = load i32, i32* %i, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %47) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %48 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool30 = icmp ne %struct.exe_file_t* %48, null + br i1 %tobool30, label %if.else33, label %if.then31 + +if.then31: ; preds = %if.then29 + %call32 = call i32* @__errno_location() #25 + store i32 9, i32* %call32, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else33: ; preds = %if.then29 + %49 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %49, i32 0, i32 3 + %50 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool34 = icmp ne %struct.exe_disk_file_t* %50, null + %fds_bits36 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_read, i32 0, i32 0 + %51 = load i32, i32* %i, align 4 + %div37 = sdiv i32 %51, 64 + %idxprom38 = sext i32 %div37 to i64 + %arrayidx39 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits36, i64 0, i64 %idxprom38 + %52 = load i64, i64* %arrayidx39, align 8 + %53 = load i32, i32* %i, align 4 + %rem40 = srem i32 %53, 64 + %shl41 = shl i32 1, %rem40 + %conv42 = sext i32 %shl41 to i64 + %and43 = and i64 %52, %conv42 + %tobool44 = icmp ne i64 %and43, 0 + br i1 %tobool34, label %if.then35, label %if.else92 + +if.then35: ; preds = %if.else33 + br i1 %tobool44, label %if.then45, label %if.end53 + +if.then45: ; preds = %if.then35 + %54 = load i32, i32* %i, align 4 + %rem46 = srem i32 %54, 64 + %shl47 = shl i32 1, %rem46 + %conv48 = sext i32 %shl47 to i64 + %55 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %fds_bits49 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %55, i32 0, i32 0 + %56 = load i32, i32* %i, align 4 + %div50 = sdiv i32 %56, 64 + %idxprom51 = sext i32 %div50 to i64 + %arrayidx52 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits49, i64 0, i64 %idxprom51 + %57 = load i64, i64* %arrayidx52, align 8 + %or = or i64 %57, %conv48 + store i64 %or, i64* %arrayidx52, align 8 + br label %if.end53 + +if.end53: ; preds = %if.then45, %if.then35 + %fds_bits54 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_write, i32 0, i32 0 + %58 = load i32, i32* %i, align 4 + %div55 = sdiv i32 %58, 64 + %idxprom56 = sext i32 %div55 to i64 + %arrayidx57 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits54, i64 0, i64 %idxprom56 + %59 = load i64, i64* %arrayidx57, align 8 + %60 = load i32, i32* %i, align 4 + %rem58 = srem i32 %60, 64 + %shl59 = shl i32 1, %rem58 + %conv60 = sext i32 %shl59 to i64 + %and61 = and i64 %59, %conv60 + %tobool62 = icmp ne i64 %and61, 0 + br i1 %tobool62, label %if.then63, label %if.end72 + +if.then63: ; preds = %if.end53 + %61 = load i32, i32* %i, align 4 + %rem64 = srem i32 %61, 64 + %shl65 = shl i32 1, %rem64 + %conv66 = sext i32 %shl65 to i64 + %62 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %fds_bits67 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %62, i32 0, i32 0 + %63 = load i32, i32* %i, align 4 + %div68 = sdiv i32 %63, 64 + %idxprom69 = sext i32 %div68 to i64 + %arrayidx70 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits67, i64 0, i64 %idxprom69 + %64 = load i64, i64* %arrayidx70, align 8 + %or71 = or i64 %64, %conv66 + store i64 %or71, i64* %arrayidx70, align 8 + br label %if.end72 + +if.end72: ; preds = %if.then63, %if.end53 + %fds_bits73 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_except, i32 0, i32 0 + %65 = load i32, i32* %i, align 4 + %div74 = sdiv i32 %65, 64 + %idxprom75 = sext i32 %div74 to i64 + %arrayidx76 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits73, i64 0, i64 %idxprom75 + %66 = load i64, i64* %arrayidx76, align 8 + %67 = load i32, i32* %i, align 4 + %rem77 = srem i32 %67, 64 + %shl78 = shl i32 1, %rem77 + %conv79 = sext i32 %shl78 to i64 + %and80 = and i64 %66, %conv79 + %tobool81 = icmp ne i64 %and80, 0 + br i1 %tobool81, label %if.then82, label %if.end91 + +if.then82: ; preds = %if.end72 + %68 = load i32, i32* %i, align 4 + %rem83 = srem i32 %68, 64 + %shl84 = shl i32 1, %rem83 + %conv85 = sext i32 %shl84 to i64 + %69 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %fds_bits86 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %69, i32 0, i32 0 + %70 = load i32, i32* %i, align 4 + %div87 = sdiv i32 %70, 64 + %idxprom88 = sext i32 %div87 to i64 + %arrayidx89 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits86, i64 0, i64 %idxprom88 + %71 = load i64, i64* %arrayidx89, align 8 + %or90 = or i64 %71, %conv85 + store i64 %or90, i64* %arrayidx89, align 8 + br label %if.end91 + +if.end91: ; preds = %if.then82, %if.end72 + %72 = load i32, i32* %count, align 4 + %inc = add nsw i32 %72, 1 + store i32 %inc, i32* %count, align 4 + br label %for.inc + +if.else92: ; preds = %if.else33 + br i1 %tobool44, label %if.then102, label %if.end112 + +if.then102: ; preds = %if.else92 + %73 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %73, i32 0, i32 0 + %74 = load i32, i32* %fd, align 8 + %rem103 = srem i32 %74, 64 + %shl104 = shl i32 1, %rem103 + %conv105 = sext i32 %shl104 to i64 + %fds_bits106 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_read, i32 0, i32 0 + %75 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd107 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %75, i32 0, i32 0 + %76 = load i32, i32* %fd107, align 8 + %div108 = sdiv i32 %76, 64 + %idxprom109 = sext i32 %div108 to i64 + %arrayidx110 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits106, i64 0, i64 %idxprom109 + %77 = load i64, i64* %arrayidx110, align 8 + %or111 = or i64 %77, %conv105 + store i64 %or111, i64* %arrayidx110, align 8 + br label %if.end112 + +if.end112: ; preds = %if.then102, %if.else92 + %fds_bits113 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_write, i32 0, i32 0 + %78 = load i32, i32* %i, align 4 + %div114 = sdiv i32 %78, 64 + %idxprom115 = sext i32 %div114 to i64 + %arrayidx116 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits113, i64 0, i64 %idxprom115 + %79 = load i64, i64* %arrayidx116, align 8 + %80 = load i32, i32* %i, align 4 + %rem117 = srem i32 %80, 64 + %shl118 = shl i32 1, %rem117 + %conv119 = sext i32 %shl118 to i64 + %and120 = and i64 %79, %conv119 + %tobool121 = icmp ne i64 %and120, 0 + br i1 %tobool121, label %if.then122, label %if.end133 + +if.then122: ; preds = %if.end112 + %81 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd123 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %81, i32 0, i32 0 + %82 = load i32, i32* %fd123, align 8 + %rem124 = srem i32 %82, 64 + %shl125 = shl i32 1, %rem124 + %conv126 = sext i32 %shl125 to i64 + %fds_bits127 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_write, i32 0, i32 0 + %83 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd128 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %83, i32 0, i32 0 + %84 = load i32, i32* %fd128, align 8 + %div129 = sdiv i32 %84, 64 + %idxprom130 = sext i32 %div129 to i64 + %arrayidx131 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits127, i64 0, i64 %idxprom130 + %85 = load i64, i64* %arrayidx131, align 8 + %or132 = or i64 %85, %conv126 + store i64 %or132, i64* %arrayidx131, align 8 + br label %if.end133 + +if.end133: ; preds = %if.then122, %if.end112 + %fds_bits134 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_except, i32 0, i32 0 + %86 = load i32, i32* %i, align 4 + %div135 = sdiv i32 %86, 64 + %idxprom136 = sext i32 %div135 to i64 + %arrayidx137 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits134, i64 0, i64 %idxprom136 + %87 = load i64, i64* %arrayidx137, align 8 + %88 = load i32, i32* %i, align 4 + %rem138 = srem i32 %88, 64 + %shl139 = shl i32 1, %rem138 + %conv140 = sext i32 %shl139 to i64 + %and141 = and i64 %87, %conv140 + %tobool142 = icmp ne i64 %and141, 0 + br i1 %tobool142, label %if.then143, label %if.end154 + +if.then143: ; preds = %if.end133 + %89 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd144 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %89, i32 0, i32 0 + %90 = load i32, i32* %fd144, align 8 + %rem145 = srem i32 %90, 64 + %shl146 = shl i32 1, %rem145 + %conv147 = sext i32 %shl146 to i64 + %fds_bits148 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_except, i32 0, i32 0 + %91 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd149 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %91, i32 0, i32 0 + %92 = load i32, i32* %fd149, align 8 + %div150 = sdiv i32 %92, 64 + %idxprom151 = sext i32 %div150 to i64 + %arrayidx152 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits148, i64 0, i64 %idxprom151 + %93 = load i64, i64* %arrayidx152, align 8 + %or153 = or i64 %93, %conv147 + store i64 %or153, i64* %arrayidx152, align 8 + br label %if.end154 + +if.end154: ; preds = %if.then143, %if.end133 + %94 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd155 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %94, i32 0, i32 0 + %95 = load i32, i32* %fd155, align 8 + %96 = load i32, i32* %os_nfds, align 4 + %cmp156 = icmp sge i32 %95, %96 + br i1 %cmp156, label %if.then158, label %for.inc + +if.then158: ; preds = %if.end154 + %97 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd159 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %97, i32 0, i32 0 + %98 = load i32, i32* %fd159, align 8 + %add = add nsw i32 %98, 1 + store i32 %add, i32* %os_nfds, align 4 + br label %for.inc + +for.inc: ; preds = %lor.lhs.false19, %if.end91, %if.then158, %if.end154 + %99 = load i32, i32* %i, align 4 + %inc164 = add nsw i32 %99, 1 + store i32 %inc164, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %100 = load i32, i32* %os_nfds, align 4 + %cmp165 = icmp sgt i32 %100, 0 + br i1 %cmp165, label %if.then167, label %if.end262 + +if.then167: ; preds = %for.end + %101 = bitcast %struct.timespec* %tv to i8* + %102 = call i8* @memset(i8* %101, i32 0, i64 16) + %103 = load i32, i32* %os_nfds, align 4 + %call168 = call i64 (i64, ...) @syscall(i64 23, i32 %103, %struct.fd_set* %os_read, %struct.fd_set* %os_write, %struct.fd_set* %os_except, %struct.timespec* %tv) #11 + %conv169 = trunc i64 %call168 to i32 + store i32 %conv169, i32* %r, align 4 + %104 = load i32, i32* %r, align 4 + %cmp170 = icmp eq i32 %104, -1 + br i1 %cmp170, label %if.then172, label %if.else176 + +if.then172: ; preds = %if.then167 + %105 = load i32, i32* %count, align 4 + %tobool173 = icmp ne i32 %105, 0 + br i1 %tobool173, label %if.end262, label %if.then174 + +if.then174: ; preds = %if.then172 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else176: ; preds = %if.then167 + %106 = load i32, i32* %r, align 4 + %107 = load i32, i32* %count, align 4 + %add177 = add nsw i32 %107, %106 + store i32 %add177, i32* %count, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond178 + +for.cond178: ; preds = %for.inc258, %if.else176 + %108 = load i32, i32* %i, align 4 + %109 = load i32, i32* %nfds.addr, align 4 + %cmp179 = icmp slt i32 %108, %109 + br i1 %cmp179, label %for.body181, label %if.end262 + +for.body181: ; preds = %for.cond178 + %110 = load i32, i32* %i, align 4 + %call183 = call %struct.exe_file_t* @__get_file(i32 %110) + store %struct.exe_file_t* %call183, %struct.exe_file_t** %f182, align 8 + %111 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %tobool184 = icmp ne %struct.exe_file_t* %111, null + br i1 %tobool184, label %land.lhs.true, label %for.inc258 + +land.lhs.true: ; preds = %for.body181 + %112 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %dfile185 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %112, i32 0, i32 3 + %113 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile185, align 8 + %tobool186 = icmp ne %struct.exe_disk_file_t* %113, null + br i1 %tobool186, label %for.inc258, label %if.then187 + +if.then187: ; preds = %land.lhs.true + %114 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %tobool188 = icmp ne %struct.fd_set* %114, null + br i1 %tobool188, label %land.lhs.true189, label %if.end210 + +land.lhs.true189: ; preds = %if.then187 + %fds_bits190 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_read, i32 0, i32 0 + %115 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd191 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %115, i32 0, i32 0 + %116 = load i32, i32* %fd191, align 8 + %div192 = sdiv i32 %116, 64 + %idxprom193 = sext i32 %div192 to i64 + %arrayidx194 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits190, i64 0, i64 %idxprom193 + %117 = load i64, i64* %arrayidx194, align 8 + %118 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd195 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %118, i32 0, i32 0 + %119 = load i32, i32* %fd195, align 8 + %rem196 = srem i32 %119, 64 + %shl197 = shl i32 1, %rem196 + %conv198 = sext i32 %shl197 to i64 + %and199 = and i64 %117, %conv198 + %tobool200 = icmp ne i64 %and199, 0 + br i1 %tobool200, label %if.then201, label %if.end210 + +if.then201: ; preds = %land.lhs.true189 + %120 = load i32, i32* %i, align 4 + %rem202 = srem i32 %120, 64 + %shl203 = shl i32 1, %rem202 + %conv204 = sext i32 %shl203 to i64 + %121 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %fds_bits205 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %121, i32 0, i32 0 + %122 = load i32, i32* %i, align 4 + %div206 = sdiv i32 %122, 64 + %idxprom207 = sext i32 %div206 to i64 + %arrayidx208 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits205, i64 0, i64 %idxprom207 + %123 = load i64, i64* %arrayidx208, align 8 + %or209 = or i64 %123, %conv204 + store i64 %or209, i64* %arrayidx208, align 8 + br label %if.end210 + +if.end210: ; preds = %if.then201, %land.lhs.true189, %if.then187 + %124 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %tobool211 = icmp ne %struct.fd_set* %124, null + br i1 %tobool211, label %land.lhs.true212, label %if.end233 + +land.lhs.true212: ; preds = %if.end210 + %fds_bits213 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_write, i32 0, i32 0 + %125 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd214 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %125, i32 0, i32 0 + %126 = load i32, i32* %fd214, align 8 + %div215 = sdiv i32 %126, 64 + %idxprom216 = sext i32 %div215 to i64 + %arrayidx217 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits213, i64 0, i64 %idxprom216 + %127 = load i64, i64* %arrayidx217, align 8 + %128 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd218 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %128, i32 0, i32 0 + %129 = load i32, i32* %fd218, align 8 + %rem219 = srem i32 %129, 64 + %shl220 = shl i32 1, %rem219 + %conv221 = sext i32 %shl220 to i64 + %and222 = and i64 %127, %conv221 + %tobool223 = icmp ne i64 %and222, 0 + br i1 %tobool223, label %if.then224, label %if.end233 + +if.then224: ; preds = %land.lhs.true212 + %130 = load i32, i32* %i, align 4 + %rem225 = srem i32 %130, 64 + %shl226 = shl i32 1, %rem225 + %conv227 = sext i32 %shl226 to i64 + %131 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %fds_bits228 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %131, i32 0, i32 0 + %132 = load i32, i32* %i, align 4 + %div229 = sdiv i32 %132, 64 + %idxprom230 = sext i32 %div229 to i64 + %arrayidx231 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits228, i64 0, i64 %idxprom230 + %133 = load i64, i64* %arrayidx231, align 8 + %or232 = or i64 %133, %conv227 + store i64 %or232, i64* %arrayidx231, align 8 + br label %if.end233 + +if.end233: ; preds = %if.then224, %land.lhs.true212, %if.end210 + %134 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %tobool234 = icmp ne %struct.fd_set* %134, null + br i1 %tobool234, label %land.lhs.true235, label %for.inc258 + +land.lhs.true235: ; preds = %if.end233 + %fds_bits236 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_except, i32 0, i32 0 + %135 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd237 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %135, i32 0, i32 0 + %136 = load i32, i32* %fd237, align 8 + %div238 = sdiv i32 %136, 64 + %idxprom239 = sext i32 %div238 to i64 + %arrayidx240 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits236, i64 0, i64 %idxprom239 + %137 = load i64, i64* %arrayidx240, align 8 + %138 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd241 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %138, i32 0, i32 0 + %139 = load i32, i32* %fd241, align 8 + %rem242 = srem i32 %139, 64 + %shl243 = shl i32 1, %rem242 + %conv244 = sext i32 %shl243 to i64 + %and245 = and i64 %137, %conv244 + %tobool246 = icmp ne i64 %and245, 0 + br i1 %tobool246, label %if.then247, label %for.inc258 + +if.then247: ; preds = %land.lhs.true235 + %140 = load i32, i32* %i, align 4 + %rem248 = srem i32 %140, 64 + %shl249 = shl i32 1, %rem248 + %conv250 = sext i32 %shl249 to i64 + %141 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %fds_bits251 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %141, i32 0, i32 0 + %142 = load i32, i32* %i, align 4 + %div252 = sdiv i32 %142, 64 + %idxprom253 = sext i32 %div252 to i64 + %arrayidx254 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits251, i64 0, i64 %idxprom253 + %143 = load i64, i64* %arrayidx254, align 8 + %or255 = or i64 %143, %conv250 + store i64 %or255, i64* %arrayidx254, align 8 + br label %for.inc258 + +for.inc258: ; preds = %for.body181, %land.lhs.true, %if.then247, %land.lhs.true235, %if.end233 + %144 = load i32, i32* %i, align 4 + %inc259 = add nsw i32 %144, 1 + store i32 %inc259, i32* %i, align 4 + br label %for.cond178 + +if.end262: ; preds = %if.then172, %for.cond178, %for.end + %145 = load i32, i32* %count, align 4 + store i32 %145, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end262, %if.then174, %if.then31 + %146 = load i32, i32* %retval, align 4 + ret i32 %146 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chroot(i8* nonnull %path) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %0, i64 0 + %1 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call = call i32* @__errno_location() #25 + store i32 2, i32* %call, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %path.addr, align 8 + %arrayidx2 = getelementptr inbounds i8, i8* %2, i64 0 + %3 = load i8, i8* %arrayidx2, align 1 + %conv3 = sext i8 %3 to i32 + %cmp4 = icmp eq i32 %conv3, 47 + br i1 %cmp4, label %land.lhs.true, label %if.end11 + +land.lhs.true: ; preds = %if.end + %4 = load i8*, i8** %path.addr, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %4, i64 1 + %5 = load i8, i8* %arrayidx6, align 1 + %conv7 = sext i8 %5 to i32 + %cmp8 = icmp eq i32 %conv7, 0 + br i1 %cmp8, label %if.then10, label %if.end11 + +if.then10: ; preds = %land.lhs.true + store i32 0, i32* %retval, align 4 + br label %return + +if.end11: ; preds = %land.lhs.true, %if.end + call void @gs_warning(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.24, i64 0, i64 0)) + %call12 = call i32* @__errno_location() #25 + store i32 2, i32* %call12, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end11, %if.then10, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @open(i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i8*, i8** %pathname.addr, align 8 + %8 = load i32, i32* %flags.addr, align 4 + %9 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_open(i8* %7, i32 %8, i32 %9) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @openat(i32 %fd, i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %fd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i32, i32* %fd.addr, align 4 + %8 = load i8*, i8** %pathname.addr, align 8 + %9 = load i32, i32* %flags.addr, align 4 + %10 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_openat(i32 %7, i8* %8, i32 %9, i32 %10) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @lseek(i32 %fd, i64 %off, i32 %whence) #3 { +entry: + %fd.addr = alloca i32, align 4 + %off.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %off, i64* %off.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %off.addr, align 8 + %2 = load i32, i32* %whence.addr, align 4 + %call = call i64 @__fd_lseek(i32 %0, i64 %1, i32 %2) + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__xstat(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__stat64_to_stat(%struct.stat64* %a, %struct.stat64* %b) #3 { +entry: + %a.addr = alloca %struct.stat64*, align 8 + %b.addr = alloca %struct.stat64*, align 8 + store %struct.stat64* %a, %struct.stat64** %a.addr, align 8 + store %struct.stat64* %b, %struct.stat64** %b.addr, align 8 + %0 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_dev = getelementptr inbounds %struct.stat64, %struct.stat64* %0, i32 0, i32 0 + %1 = load i64, i64* %st_dev, align 8 + %2 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_dev1 = getelementptr inbounds %struct.stat64, %struct.stat64* %2, i32 0, i32 0 + store i64 %1, i64* %st_dev1, align 8 + %3 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 1 + %4 = load i64, i64* %st_ino, align 8 + %5 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_ino2 = getelementptr inbounds %struct.stat64, %struct.stat64* %5, i32 0, i32 1 + store i64 %4, i64* %st_ino2, align 8 + %6 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 3 + %7 = load i32, i32* %st_mode, align 8 + %8 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_mode3 = getelementptr inbounds %struct.stat64, %struct.stat64* %8, i32 0, i32 3 + store i32 %7, i32* %st_mode3, align 8 + %9 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_nlink = getelementptr inbounds %struct.stat64, %struct.stat64* %9, i32 0, i32 2 + %10 = load i64, i64* %st_nlink, align 8 + %11 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_nlink4 = getelementptr inbounds %struct.stat64, %struct.stat64* %11, i32 0, i32 2 + store i64 %10, i64* %st_nlink4, align 8 + %12 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_uid = getelementptr inbounds %struct.stat64, %struct.stat64* %12, i32 0, i32 4 + %13 = load i32, i32* %st_uid, align 4 + %14 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_uid5 = getelementptr inbounds %struct.stat64, %struct.stat64* %14, i32 0, i32 4 + store i32 %13, i32* %st_uid5, align 4 + %15 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_gid = getelementptr inbounds %struct.stat64, %struct.stat64* %15, i32 0, i32 5 + %16 = load i32, i32* %st_gid, align 8 + %17 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_gid6 = getelementptr inbounds %struct.stat64, %struct.stat64* %17, i32 0, i32 5 + store i32 %16, i32* %st_gid6, align 8 + %18 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_rdev = getelementptr inbounds %struct.stat64, %struct.stat64* %18, i32 0, i32 7 + %19 = load i64, i64* %st_rdev, align 8 + %20 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_rdev7 = getelementptr inbounds %struct.stat64, %struct.stat64* %20, i32 0, i32 7 + store i64 %19, i64* %st_rdev7, align 8 + %21 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_size = getelementptr inbounds %struct.stat64, %struct.stat64* %21, i32 0, i32 8 + %22 = load i64, i64* %st_size, align 8 + %23 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_size8 = getelementptr inbounds %struct.stat64, %struct.stat64* %23, i32 0, i32 8 + store i64 %22, i64* %st_size8, align 8 + %24 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_atim = getelementptr inbounds %struct.stat64, %struct.stat64* %24, i32 0, i32 11 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim, i32 0, i32 0 + %25 = load i64, i64* %tv_sec, align 8 + %26 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_atim9 = getelementptr inbounds %struct.stat64, %struct.stat64* %26, i32 0, i32 11 + %tv_sec10 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim9, i32 0, i32 0 + store i64 %25, i64* %tv_sec10, align 8 + %27 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_mtim = getelementptr inbounds %struct.stat64, %struct.stat64* %27, i32 0, i32 12 + %tv_sec11 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim, i32 0, i32 0 + %28 = load i64, i64* %tv_sec11, align 8 + %29 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_mtim12 = getelementptr inbounds %struct.stat64, %struct.stat64* %29, i32 0, i32 12 + %tv_sec13 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim12, i32 0, i32 0 + store i64 %28, i64* %tv_sec13, align 8 + %30 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_ctim = getelementptr inbounds %struct.stat64, %struct.stat64* %30, i32 0, i32 13 + %tv_sec14 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim, i32 0, i32 0 + %31 = load i64, i64* %tv_sec14, align 8 + %32 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_ctim15 = getelementptr inbounds %struct.stat64, %struct.stat64* %32, i32 0, i32 13 + %tv_sec16 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim15, i32 0, i32 0 + store i64 %31, i64* %tv_sec16, align 8 + %33 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_blksize = getelementptr inbounds %struct.stat64, %struct.stat64* %33, i32 0, i32 9 + %34 = load i64, i64* %st_blksize, align 8 + %35 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_blksize17 = getelementptr inbounds %struct.stat64, %struct.stat64* %35, i32 0, i32 9 + store i64 %34, i64* %st_blksize17, align 8 + %36 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_blocks = getelementptr inbounds %struct.stat64, %struct.stat64* %36, i32 0, i32 10 + %37 = load i64, i64* %st_blocks, align 8 + %38 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_blocks18 = getelementptr inbounds %struct.stat64, %struct.stat64* %38, i32 0, i32 10 + store i64 %37, i64* %st_blocks18, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @stat(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__lxstat(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @lstat(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fxstat(i32 %vers, i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %vers, i32* %vers.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstat(i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @ftruncate(i32 %fd, i64 %length) #3 { +entry: + %fd.addr = alloca i32, align 4 + %length.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %length, i64* %length.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %length.addr, align 8 + %call = call i32 @__fd_ftruncate(i32 %0, i64 %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @statfs(i8* nonnull %path, %struct.statfs* nonnull %buf32) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf32.addr = alloca %struct.statfs*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.statfs* %buf32, %struct.statfs** %buf32.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.statfs*, %struct.statfs** %buf32.addr, align 8 + %call = call i32 @__fd_statfs(i8* %0, %struct.statfs* %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @getdents(i32 %fd, %struct.dirent64* %dirp, i64 %nbytes) #3 { +entry: + %fd.addr = alloca i32, align 4 + %dirp.addr = alloca %struct.dirent64*, align 8 + %nbytes.addr = alloca i64, align 8 + %dp64 = alloca %struct.dirent64*, align 8 + %res = alloca i64, align 8 + %end = alloca %struct.dirent64*, align 8 + %dp = alloca %struct.dirent64*, align 8 + %name_len = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.dirent64* %dirp, %struct.dirent64** %dirp.addr, align 8 + store i64 %nbytes, i64* %nbytes.addr, align 8 + %0 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %1 = bitcast %struct.dirent64* %0 to %struct.dirent64* + store %struct.dirent64* %1, %struct.dirent64** %dp64, align 8 + %2 = load i32, i32* %fd.addr, align 4 + %3 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %4 = load i64, i64* %nbytes.addr, align 8 + %conv = trunc i64 %4 to i32 + %call = call i32 @__fd_getdents(i32 %2, %struct.dirent64* %3, i32 %conv) + %conv1 = sext i32 %call to i64 + store i64 %conv1, i64* %res, align 8 + %5 = load i64, i64* %res, align 8 + %cmp = icmp sgt i64 %5, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %6 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %7 = bitcast %struct.dirent64* %6 to i8* + %8 = load i64, i64* %res, align 8 + %add.ptr = getelementptr inbounds i8, i8* %7, i64 %8 + %9 = bitcast i8* %add.ptr to %struct.dirent64* + store %struct.dirent64* %9, %struct.dirent64** %end, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.then + %10 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %11 = load %struct.dirent64*, %struct.dirent64** %end, align 8 + %cmp3 = icmp ult %struct.dirent64* %10, %11 + br i1 %cmp3, label %while.body, label %if.end + +while.body: ; preds = %while.cond + %12 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %13 = bitcast %struct.dirent64* %12 to %struct.dirent64* + store %struct.dirent64* %13, %struct.dirent64** %dp, align 8 + %14 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_reclen = getelementptr inbounds %struct.dirent64, %struct.dirent64* %14, i32 0, i32 2 + %15 = load i16, i16* %d_reclen, align 8 + %conv5 = zext i16 %15 to i64 + %sub = sub i64 %conv5, ptrtoint ([256 x i8]* getelementptr inbounds (%struct.dirent64, %struct.dirent64* null, i32 0, i32 4) to i64) + store i64 %sub, i64* %name_len, align 8 + %16 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_ino = getelementptr inbounds %struct.dirent64, %struct.dirent64* %16, i32 0, i32 0 + %17 = load i64, i64* %d_ino, align 8 + %18 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_ino6 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %18, i32 0, i32 0 + store i64 %17, i64* %d_ino6, align 8 + %19 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_off = getelementptr inbounds %struct.dirent64, %struct.dirent64* %19, i32 0, i32 1 + %20 = load i64, i64* %d_off, align 8 + %21 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_off7 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %21, i32 0, i32 1 + store i64 %20, i64* %d_off7, align 8 + %22 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_reclen8 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %22, i32 0, i32 2 + %23 = load i16, i16* %d_reclen8, align 8 + %24 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_reclen9 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %24, i32 0, i32 2 + store i16 %23, i16* %d_reclen9, align 8 + %25 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_type = getelementptr inbounds %struct.dirent64, %struct.dirent64* %25, i32 0, i32 3 + %26 = load i8, i8* %d_type, align 2 + %27 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_type10 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %27, i32 0, i32 3 + store i8 %26, i8* %d_type10, align 2 + %28 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_name = getelementptr inbounds %struct.dirent64, %struct.dirent64* %28, i32 0, i32 4 + %arraydecay = getelementptr inbounds [256 x i8], [256 x i8]* %d_name, i64 0, i64 0 + %29 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_name11 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %29, i32 0, i32 4 + %arraydecay12 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name11, i64 0, i64 0 + %30 = load i64, i64* %name_len, align 8 + %31 = call i8* @memmove(i8* %arraydecay, i8* %arraydecay12, i64 %30) + %32 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %33 = bitcast %struct.dirent64* %32 to i8* + %34 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_reclen13 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %34, i32 0, i32 2 + %35 = load i16, i16* %d_reclen13, align 8 + %conv14 = zext i16 %35 to i32 + %idx.ext = sext i32 %conv14 to i64 + %add.ptr15 = getelementptr inbounds i8, i8* %33, i64 %idx.ext + %36 = bitcast i8* %add.ptr15 to %struct.dirent64* + store %struct.dirent64* %36, %struct.dirent64** %dp64, align 8 + br label %while.cond + +if.end: ; preds = %while.cond, %entry + %37 = load i64, i64* %res, align 8 + ret i64 %37 +} + +; Function Attrs: argmemonly nounwind willreturn +declare void @llvm.memmove.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i1 immarg) #9 + +; Function Attrs: noinline nounwind uwtable +define dso_local void @klee_init_env(i32* %argcPtr, i8*** %argvPtr) #3 { +entry: + %argcPtr.addr = alloca i32*, align 8 + %argvPtr.addr = alloca i8***, align 8 + %argc = alloca i32, align 4 + %argv = alloca i8**, align 8 + %new_argc = alloca i32, align 4 + %n_args = alloca i32, align 4 + %new_argv = alloca [1024 x i8*], align 16 + %max_len = alloca i32, align 4 + %min_argvs = alloca i32, align 4 + %max_argvs = alloca i32, align 4 + %sym_files = alloca i32, align 4 + %sym_file_len = alloca i32, align 4 + %sym_stdin_len = alloca i32, align 4 + %sym_stdout_flag = alloca i32, align 4 + %save_all_writes_flag = alloca i32, align 4 + %fd_fail = alloca i32, align 4 + %final_argv = alloca i8**, align 8 + %sym_arg_name = alloca [6 x i8], align 1 + %sym_arg_num = alloca i32, align 4 + %k = alloca i32, align 4 + %i = alloca i32, align 4 + %msg = alloca i8*, align 8 + %msg40 = alloca i8*, align 8 + %msg105 = alloca i8*, align 8 + %msg145 = alloca i8*, align 8 + %msg215 = alloca i8*, align 8 + store i32* %argcPtr, i32** %argcPtr.addr, align 8 + store i8*** %argvPtr, i8**** %argvPtr.addr, align 8 + %0 = load i32*, i32** %argcPtr.addr, align 8 + %1 = load i32, i32* %0, align 4 + store i32 %1, i32* %argc, align 4 + %2 = load i8***, i8**** %argvPtr.addr, align 8 + %3 = load i8**, i8*** %2, align 8 + store i8** %3, i8*** %argv, align 8 + store i32 0, i32* %new_argc, align 4 + store i32 0, i32* %sym_files, align 4 + store i32 0, i32* %sym_file_len, align 4 + store i32 0, i32* %sym_stdin_len, align 4 + store i32 0, i32* %sym_stdout_flag, align 4 + store i32 0, i32* %save_all_writes_flag, align 4 + store i32 0, i32* %fd_fail, align 4 + %4 = bitcast [6 x i8]* %sym_arg_name to i8* + %5 = call i8* @memcpy(i8* %4, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @__const.klee_init_env.sym_arg_name, i32 0, i32 0), i64 6) + store i32 0, i32* %sym_arg_num, align 4 + store i32 0, i32* %k, align 4 + %arrayidx = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 5 + store i8 0, i8* %arrayidx, align 1 + %6 = load i32, i32* %argc, align 4 + %cmp = icmp eq i32 %6, 2 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %7 = load i8**, i8*** %argv, align 8 + %arrayidx1 = getelementptr inbounds i8*, i8** %7, i64 1 + %8 = load i8*, i8** %arrayidx1, align 8 + %call = call i32 @__streq(i8* %8, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.29, i64 0, i64 0)) + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + call void @__emit_error(i8* getelementptr inbounds ([964 x i8], [964 x i8]* @.str.1.30, i64 0, i64 0)) + br label %if.end + +if.end: ; preds = %if.then, %land.lhs.true, %entry + br label %while.cond + +while.cond: ; preds = %if.end239, %if.end + %9 = load i32, i32* %k, align 4 + %10 = load i32, i32* %argc, align 4 + %cmp2 = icmp slt i32 %9, %10 + br i1 %cmp2, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %11 = load i8**, i8*** %argv, align 8 + %12 = load i32, i32* %k, align 4 + %idxprom = sext i32 %12 to i64 + %arrayidx3 = getelementptr inbounds i8*, i8** %11, i64 %idxprom + %13 = load i8*, i8** %arrayidx3, align 8 + %call4 = call i32 @__streq(i8* %13, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.2.31, i64 0, i64 0)) + %tobool5 = icmp ne i32 %call4, 0 + br i1 %tobool5, label %if.then10, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.body + %14 = load i8**, i8*** %argv, align 8 + %15 = load i32, i32* %k, align 4 + %idxprom6 = sext i32 %15 to i64 + %arrayidx7 = getelementptr inbounds i8*, i8** %14, i64 %idxprom6 + %16 = load i8*, i8** %arrayidx7, align 8 + %call8 = call i32 @__streq(i8* %16, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.32, i64 0, i64 0)) + %tobool9 = icmp ne i32 %call8, 0 + br i1 %tobool9, label %if.then10, label %if.else + +if.then10: ; preds = %lor.lhs.false, %while.body + store i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.4.33, i64 0, i64 0), i8** %msg, align 8 + %17 = load i32, i32* %k, align 4 + %inc = add nsw i32 %17, 1 + store i32 %inc, i32* %k, align 4 + %18 = load i32, i32* %argc, align 4 + %cmp11 = icmp eq i32 %inc, %18 + br i1 %cmp11, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.then10 + %19 = load i8*, i8** %msg, align 8 + call void @__emit_error(i8* %19) + br label %if.end13 + +if.end13: ; preds = %if.then12, %if.then10 + %20 = load i8**, i8*** %argv, align 8 + %21 = load i32, i32* %k, align 4 + %inc14 = add nsw i32 %21, 1 + store i32 %inc14, i32* %k, align 4 + %idxprom15 = sext i32 %21 to i64 + %arrayidx16 = getelementptr inbounds i8*, i8** %20, i64 %idxprom15 + %22 = load i8*, i8** %arrayidx16, align 8 + %23 = load i8*, i8** %msg, align 8 + %call17 = call i64 @__str_to_int(i8* %22, i8* %23) + %conv = trunc i64 %call17 to i32 + store i32 %conv, i32* %max_len, align 4 + %24 = load i32, i32* %sym_arg_num, align 4 + %cmp18 = icmp ugt i32 %24, 99 + br i1 %cmp18, label %if.then20, label %if.end21 + +if.then20: ; preds = %if.end13 + call void @__emit_error(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.5.34, i64 0, i64 0)) + br label %if.end21 + +if.end21: ; preds = %if.then20, %if.end13 + %25 = load i32, i32* %sym_arg_num, align 4 + %div = udiv i32 %25, 10 + %add = add i32 48, %div + %conv22 = trunc i32 %add to i8 + %arrayidx23 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 3 + store i8 %conv22, i8* %arrayidx23, align 1 + %26 = load i32, i32* %sym_arg_num, align 4 + %rem = urem i32 %26, 10 + %add24 = add i32 48, %rem + %conv25 = trunc i32 %add24 to i8 + %arrayidx26 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 4 + store i8 %conv25, i8* %arrayidx26, align 1 + %27 = load i32, i32* %sym_arg_num, align 4 + %inc27 = add i32 %27, 1 + store i32 %inc27, i32* %sym_arg_num, align 4 + %arraydecay = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %28 = load i32, i32* %max_len, align 4 + %arraydecay28 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 0 + %call29 = call i8* @__get_sym_str(i32 %28, i8* %arraydecay28) + call void @__add_arg(i32* %new_argc, i8** %arraydecay, i8* %call29, i32 1024) + br label %if.end239 + +if.else: ; preds = %lor.lhs.false + %29 = load i8**, i8*** %argv, align 8 + %30 = load i32, i32* %k, align 4 + %idxprom30 = sext i32 %30 to i64 + %arrayidx31 = getelementptr inbounds i8*, i8** %29, i64 %idxprom30 + %31 = load i8*, i8** %arrayidx31, align 8 + %call32 = call i32 @__streq(i8* %31, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.6.35, i64 0, i64 0)) + %tobool33 = icmp ne i32 %call32, 0 + br i1 %tobool33, label %if.then39, label %lor.lhs.false34 + +lor.lhs.false34: ; preds = %if.else + %32 = load i8**, i8*** %argv, align 8 + %33 = load i32, i32* %k, align 4 + %idxprom35 = sext i32 %33 to i64 + %arrayidx36 = getelementptr inbounds i8*, i8** %32, i64 %idxprom35 + %34 = load i8*, i8** %arrayidx36, align 8 + %call37 = call i32 @__streq(i8* %34, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.7.36, i64 0, i64 0)) + %tobool38 = icmp ne i32 %call37, 0 + br i1 %tobool38, label %if.then39, label %if.else94 + +if.then39: ; preds = %lor.lhs.false34, %if.else + store i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.8.37, i64 0, i64 0), i8** %msg40, align 8 + %35 = load i32, i32* %k, align 4 + %add41 = add nsw i32 %35, 3 + %36 = load i32, i32* %argc, align 4 + %cmp42 = icmp sge i32 %add41, %36 + br i1 %cmp42, label %if.then44, label %if.end45 + +if.then44: ; preds = %if.then39 + %37 = load i8*, i8** %msg40, align 8 + call void @__emit_error(i8* %37) + br label %if.end45 + +if.end45: ; preds = %if.then44, %if.then39 + %38 = load i32, i32* %k, align 4 + %inc46 = add nsw i32 %38, 1 + store i32 %inc46, i32* %k, align 4 + %39 = load i8**, i8*** %argv, align 8 + %40 = load i32, i32* %k, align 4 + %inc47 = add nsw i32 %40, 1 + store i32 %inc47, i32* %k, align 4 + %idxprom48 = sext i32 %40 to i64 + %arrayidx49 = getelementptr inbounds i8*, i8** %39, i64 %idxprom48 + %41 = load i8*, i8** %arrayidx49, align 8 + %42 = load i8*, i8** %msg40, align 8 + %call50 = call i64 @__str_to_int(i8* %41, i8* %42) + %conv51 = trunc i64 %call50 to i32 + store i32 %conv51, i32* %min_argvs, align 4 + %43 = load i8**, i8*** %argv, align 8 + %44 = load i32, i32* %k, align 4 + %inc52 = add nsw i32 %44, 1 + store i32 %inc52, i32* %k, align 4 + %idxprom53 = sext i32 %44 to i64 + %arrayidx54 = getelementptr inbounds i8*, i8** %43, i64 %idxprom53 + %45 = load i8*, i8** %arrayidx54, align 8 + %46 = load i8*, i8** %msg40, align 8 + %call55 = call i64 @__str_to_int(i8* %45, i8* %46) + %conv56 = trunc i64 %call55 to i32 + store i32 %conv56, i32* %max_argvs, align 4 + %47 = load i8**, i8*** %argv, align 8 + %48 = load i32, i32* %k, align 4 + %inc57 = add nsw i32 %48, 1 + store i32 %inc57, i32* %k, align 4 + %idxprom58 = sext i32 %48 to i64 + %arrayidx59 = getelementptr inbounds i8*, i8** %47, i64 %idxprom58 + %49 = load i8*, i8** %arrayidx59, align 8 + %50 = load i8*, i8** %msg40, align 8 + %call60 = call i64 @__str_to_int(i8* %49, i8* %50) + %conv61 = trunc i64 %call60 to i32 + store i32 %conv61, i32* %max_len, align 4 + %51 = load i32, i32* %min_argvs, align 4 + %52 = load i32, i32* %max_argvs, align 4 + %cmp62 = icmp ugt i32 %51, %52 + br i1 %cmp62, label %if.then70, label %lor.lhs.false64 + +lor.lhs.false64: ; preds = %if.end45 + %53 = load i32, i32* %min_argvs, align 4 + %cmp65 = icmp eq i32 %53, 0 + %54 = load i32, i32* %max_argvs, align 4 + %cmp68 = icmp eq i32 %54, 0 + %or.cond = and i1 %cmp65, %cmp68 + br i1 %or.cond, label %if.then70, label %if.end71 + +if.then70: ; preds = %lor.lhs.false64, %if.end45 + call void @__emit_error(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.9.38, i64 0, i64 0)) + br label %if.end71 + +if.end71: ; preds = %if.then70, %lor.lhs.false64 + %55 = load i32, i32* %min_argvs, align 4 + %56 = load i32, i32* %max_argvs, align 4 + %add72 = add i32 %56, 1 + %call73 = call i32 @gs_range(i32 %55, i32 %add72, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.10.39, i64 0, i64 0)) + store i32 %call73, i32* %n_args, align 4 + %57 = load i32, i32* %sym_arg_num, align 4 + %58 = load i32, i32* %max_argvs, align 4 + %add74 = add i32 %57, %58 + %cmp75 = icmp ugt i32 %add74, 99 + br i1 %cmp75, label %if.then77, label %if.end78 + +if.then77: ; preds = %if.end71 + call void @__emit_error(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.5.34, i64 0, i64 0)) + br label %if.end78 + +if.end78: ; preds = %if.then77, %if.end71 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end78 + %59 = load i32, i32* %i, align 4 + %60 = load i32, i32* %n_args, align 4 + %cmp79 = icmp slt i32 %59, %60 + br i1 %cmp79, label %for.body, label %if.end239 + +for.body: ; preds = %for.cond + %61 = load i32, i32* %sym_arg_num, align 4 + %div81 = udiv i32 %61, 10 + %add82 = add i32 48, %div81 + %conv83 = trunc i32 %add82 to i8 + %arrayidx84 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 3 + store i8 %conv83, i8* %arrayidx84, align 1 + %62 = load i32, i32* %sym_arg_num, align 4 + %rem85 = urem i32 %62, 10 + %add86 = add i32 48, %rem85 + %conv87 = trunc i32 %add86 to i8 + %arrayidx88 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 4 + store i8 %conv87, i8* %arrayidx88, align 1 + %63 = load i32, i32* %sym_arg_num, align 4 + %inc89 = add i32 %63, 1 + store i32 %inc89, i32* %sym_arg_num, align 4 + %arraydecay90 = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %64 = load i32, i32* %max_len, align 4 + %arraydecay91 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 0 + %call92 = call i8* @__get_sym_str(i32 %64, i8* %arraydecay91) + call void @__add_arg(i32* %new_argc, i8** %arraydecay90, i8* %call92, i32 1024) + %65 = load i32, i32* %i, align 4 + %inc93 = add nsw i32 %65, 1 + store i32 %inc93, i32* %i, align 4 + br label %for.cond + +if.else94: ; preds = %lor.lhs.false34 + %66 = load i8**, i8*** %argv, align 8 + %67 = load i32, i32* %k, align 4 + %idxprom95 = sext i32 %67 to i64 + %arrayidx96 = getelementptr inbounds i8*, i8** %66, i64 %idxprom95 + %68 = load i8*, i8** %arrayidx96, align 8 + %call97 = call i32 @__streq(i8* %68, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.11.40, i64 0, i64 0)) + %tobool98 = icmp ne i32 %call97, 0 + br i1 %tobool98, label %if.then104, label %lor.lhs.false99 + +lor.lhs.false99: ; preds = %if.else94 + %69 = load i8**, i8*** %argv, align 8 + %70 = load i32, i32* %k, align 4 + %idxprom100 = sext i32 %70 to i64 + %arrayidx101 = getelementptr inbounds i8*, i8** %69, i64 %idxprom100 + %71 = load i8*, i8** %arrayidx101, align 8 + %call102 = call i32 @__streq(i8* %71, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.12.41, i64 0, i64 0)) + %tobool103 = icmp ne i32 %call102, 0 + br i1 %tobool103, label %if.then104, label %if.else134 + +if.then104: ; preds = %lor.lhs.false99, %if.else94 + store i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.13.42, i64 0, i64 0), i8** %msg105, align 8 + %72 = load i32, i32* %k, align 4 + %add106 = add nsw i32 %72, 2 + %73 = load i32, i32* %argc, align 4 + %cmp107 = icmp sge i32 %add106, %73 + br i1 %cmp107, label %if.then109, label %if.end110 + +if.then109: ; preds = %if.then104 + %74 = load i8*, i8** %msg105, align 8 + call void @__emit_error(i8* %74) + br label %if.end110 + +if.end110: ; preds = %if.then109, %if.then104 + %75 = load i32, i32* %sym_files, align 4 + %cmp111 = icmp ne i32 %75, 0 + br i1 %cmp111, label %if.then113, label %if.end114 + +if.then113: ; preds = %if.end110 + call void @__emit_error(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.14.43, i64 0, i64 0)) + br label %if.end114 + +if.end114: ; preds = %if.then113, %if.end110 + %76 = load i32, i32* %k, align 4 + %inc115 = add nsw i32 %76, 1 + store i32 %inc115, i32* %k, align 4 + %77 = load i8**, i8*** %argv, align 8 + %78 = load i32, i32* %k, align 4 + %inc116 = add nsw i32 %78, 1 + store i32 %inc116, i32* %k, align 4 + %idxprom117 = sext i32 %78 to i64 + %arrayidx118 = getelementptr inbounds i8*, i8** %77, i64 %idxprom117 + %79 = load i8*, i8** %arrayidx118, align 8 + %80 = load i8*, i8** %msg105, align 8 + %call119 = call i64 @__str_to_int(i8* %79, i8* %80) + %conv120 = trunc i64 %call119 to i32 + store i32 %conv120, i32* %sym_files, align 4 + %81 = load i8**, i8*** %argv, align 8 + %82 = load i32, i32* %k, align 4 + %inc121 = add nsw i32 %82, 1 + store i32 %inc121, i32* %k, align 4 + %idxprom122 = sext i32 %82 to i64 + %arrayidx123 = getelementptr inbounds i8*, i8** %81, i64 %idxprom122 + %83 = load i8*, i8** %arrayidx123, align 8 + %84 = load i8*, i8** %msg105, align 8 + %call124 = call i64 @__str_to_int(i8* %83, i8* %84) + %conv125 = trunc i64 %call124 to i32 + store i32 %conv125, i32* %sym_file_len, align 4 + %85 = load i32, i32* %sym_files, align 4 + %cmp126 = icmp eq i32 %85, 0 + br i1 %cmp126, label %if.then128, label %if.end129 + +if.then128: ; preds = %if.end114 + call void @__emit_error(i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.15.44, i64 0, i64 0)) + br label %if.end129 + +if.end129: ; preds = %if.then128, %if.end114 + %86 = load i32, i32* %sym_file_len, align 4 + %cmp130 = icmp eq i32 %86, 0 + br i1 %cmp130, label %if.then132, label %if.end239 + +if.then132: ; preds = %if.end129 + call void @__emit_error(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.16.45, i64 0, i64 0)) + br label %if.end239 + +if.else134: ; preds = %lor.lhs.false99 + %87 = load i8**, i8*** %argv, align 8 + %88 = load i32, i32* %k, align 4 + %idxprom135 = sext i32 %88 to i64 + %arrayidx136 = getelementptr inbounds i8*, i8** %87, i64 %idxprom135 + %89 = load i8*, i8** %arrayidx136, align 8 + %call137 = call i32 @__streq(i8* %89, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.17.46, i64 0, i64 0)) + %tobool138 = icmp ne i32 %call137, 0 + br i1 %tobool138, label %if.then144, label %lor.lhs.false139 + +lor.lhs.false139: ; preds = %if.else134 + %90 = load i8**, i8*** %argv, align 8 + %91 = load i32, i32* %k, align 4 + %idxprom140 = sext i32 %91 to i64 + %arrayidx141 = getelementptr inbounds i8*, i8** %90, i64 %idxprom140 + %92 = load i8*, i8** %arrayidx141, align 8 + %call142 = call i32 @__streq(i8* %92, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.18.47, i64 0, i64 0)) + %tobool143 = icmp ne i32 %call142, 0 + br i1 %tobool143, label %if.then144, label %if.else156 + +if.then144: ; preds = %lor.lhs.false139, %if.else134 + store i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.19.48, i64 0, i64 0), i8** %msg145, align 8 + %93 = load i32, i32* %k, align 4 + %inc146 = add nsw i32 %93, 1 + store i32 %inc146, i32* %k, align 4 + %94 = load i32, i32* %argc, align 4 + %cmp147 = icmp eq i32 %inc146, %94 + br i1 %cmp147, label %if.then149, label %if.end150 + +if.then149: ; preds = %if.then144 + %95 = load i8*, i8** %msg145, align 8 + call void @__emit_error(i8* %95) + br label %if.end150 + +if.end150: ; preds = %if.then149, %if.then144 + %96 = load i8**, i8*** %argv, align 8 + %97 = load i32, i32* %k, align 4 + %inc151 = add nsw i32 %97, 1 + store i32 %inc151, i32* %k, align 4 + %idxprom152 = sext i32 %97 to i64 + %arrayidx153 = getelementptr inbounds i8*, i8** %96, i64 %idxprom152 + %98 = load i8*, i8** %arrayidx153, align 8 + %99 = load i8*, i8** %msg145, align 8 + %call154 = call i64 @__str_to_int(i8* %98, i8* %99) + %conv155 = trunc i64 %call154 to i32 + store i32 %conv155, i32* %sym_stdin_len, align 4 + br label %if.end239 + +if.else156: ; preds = %lor.lhs.false139 + %100 = load i8**, i8*** %argv, align 8 + %101 = load i32, i32* %k, align 4 + %idxprom157 = sext i32 %101 to i64 + %arrayidx158 = getelementptr inbounds i8*, i8** %100, i64 %idxprom157 + %102 = load i8*, i8** %arrayidx158, align 8 + %call159 = call i32 @__streq(i8* %102, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.20.49, i64 0, i64 0)) + %tobool160 = icmp ne i32 %call159, 0 + br i1 %tobool160, label %if.then166, label %lor.lhs.false161 + +lor.lhs.false161: ; preds = %if.else156 + %103 = load i8**, i8*** %argv, align 8 + %104 = load i32, i32* %k, align 4 + %idxprom162 = sext i32 %104 to i64 + %arrayidx163 = getelementptr inbounds i8*, i8** %103, i64 %idxprom162 + %105 = load i8*, i8** %arrayidx163, align 8 + %call164 = call i32 @__streq(i8* %105, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.21.50, i64 0, i64 0)) + %tobool165 = icmp ne i32 %call164, 0 + br i1 %tobool165, label %if.then166, label %if.else168 + +if.then166: ; preds = %lor.lhs.false161, %if.else156 + store i32 1, i32* %sym_stdout_flag, align 4 + %106 = load i32, i32* %k, align 4 + %inc167 = add nsw i32 %106, 1 + store i32 %inc167, i32* %k, align 4 + br label %if.end239 + +if.else168: ; preds = %lor.lhs.false161 + %107 = load i8**, i8*** %argv, align 8 + %108 = load i32, i32* %k, align 4 + %idxprom169 = sext i32 %108 to i64 + %arrayidx170 = getelementptr inbounds i8*, i8** %107, i64 %idxprom169 + %109 = load i8*, i8** %arrayidx170, align 8 + %call171 = call i32 @__streq(i8* %109, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.22.51, i64 0, i64 0)) + %tobool172 = icmp ne i32 %call171, 0 + br i1 %tobool172, label %if.then178, label %lor.lhs.false173 + +lor.lhs.false173: ; preds = %if.else168 + %110 = load i8**, i8*** %argv, align 8 + %111 = load i32, i32* %k, align 4 + %idxprom174 = sext i32 %111 to i64 + %arrayidx175 = getelementptr inbounds i8*, i8** %110, i64 %idxprom174 + %112 = load i8*, i8** %arrayidx175, align 8 + %call176 = call i32 @__streq(i8* %112, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23.52, i64 0, i64 0)) + %tobool177 = icmp ne i32 %call176, 0 + br i1 %tobool177, label %if.then178, label %if.else180 + +if.then178: ; preds = %lor.lhs.false173, %if.else168 + store i32 1, i32* %save_all_writes_flag, align 4 + %113 = load i32, i32* %k, align 4 + %inc179 = add nsw i32 %113, 1 + store i32 %inc179, i32* %k, align 4 + br label %if.end239 + +if.else180: ; preds = %lor.lhs.false173 + %114 = load i8**, i8*** %argv, align 8 + %115 = load i32, i32* %k, align 4 + %idxprom181 = sext i32 %115 to i64 + %arrayidx182 = getelementptr inbounds i8*, i8** %114, i64 %idxprom181 + %116 = load i8*, i8** %arrayidx182, align 8 + %call183 = call i32 @__streq(i8* %116, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.24.53, i64 0, i64 0)) + %tobool184 = icmp ne i32 %call183, 0 + br i1 %tobool184, label %if.then190, label %lor.lhs.false185 + +lor.lhs.false185: ; preds = %if.else180 + %117 = load i8**, i8*** %argv, align 8 + %118 = load i32, i32* %k, align 4 + %idxprom186 = sext i32 %118 to i64 + %arrayidx187 = getelementptr inbounds i8*, i8** %117, i64 %idxprom186 + %119 = load i8*, i8** %arrayidx187, align 8 + %call188 = call i32 @__streq(i8* %119, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.25.54, i64 0, i64 0)) + %tobool189 = icmp ne i32 %call188, 0 + br i1 %tobool189, label %if.then190, label %if.else192 + +if.then190: ; preds = %lor.lhs.false185, %if.else180 + store i32 1, i32* %fd_fail, align 4 + %120 = load i32, i32* %k, align 4 + %inc191 = add nsw i32 %120, 1 + store i32 %inc191, i32* %k, align 4 + br label %if.end239 + +if.else192: ; preds = %lor.lhs.false185 + %121 = load i8**, i8*** %argv, align 8 + %122 = load i32, i32* %k, align 4 + %idxprom193 = sext i32 %122 to i64 + %arrayidx194 = getelementptr inbounds i8*, i8** %121, i64 %idxprom193 + %123 = load i8*, i8** %arrayidx194, align 8 + %call195 = call i32 @__streq(i8* %123, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.26.55, i64 0, i64 0)) + %tobool196 = icmp ne i32 %call195, 0 + br i1 %tobool196, label %if.then202, label %lor.lhs.false197 + +lor.lhs.false197: ; preds = %if.else192 + %124 = load i8**, i8*** %argv, align 8 + %125 = load i32, i32* %k, align 4 + %idxprom198 = sext i32 %125 to i64 + %arrayidx199 = getelementptr inbounds i8*, i8** %124, i64 %idxprom198 + %126 = load i8*, i8** %arrayidx199, align 8 + %call200 = call i32 @__streq(i8* %126, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.27.56, i64 0, i64 0)) + %tobool201 = icmp ne i32 %call200, 0 + br i1 %tobool201, label %if.then202, label %if.else204 + +if.then202: ; preds = %lor.lhs.false197, %if.else192 + %127 = load i32, i32* %k, align 4 + %add203 = add nsw i32 %127, 2 + store i32 %add203, i32* %k, align 4 + br label %if.end239 + +if.else204: ; preds = %lor.lhs.false197 + %128 = load i8**, i8*** %argv, align 8 + %129 = load i32, i32* %k, align 4 + %idxprom205 = sext i32 %129 to i64 + %arrayidx206 = getelementptr inbounds i8*, i8** %128, i64 %idxprom205 + %130 = load i8*, i8** %arrayidx206, align 8 + %call207 = call i32 @__streq(i8* %130, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.28.57, i64 0, i64 0)) + %tobool208 = icmp ne i32 %call207, 0 + br i1 %tobool208, label %if.then214, label %lor.lhs.false209 + +lor.lhs.false209: ; preds = %if.else204 + %131 = load i8**, i8*** %argv, align 8 + %132 = load i32, i32* %k, align 4 + %idxprom210 = sext i32 %132 to i64 + %arrayidx211 = getelementptr inbounds i8*, i8** %131, i64 %idxprom210 + %133 = load i8*, i8** %arrayidx211, align 8 + %call212 = call i32 @__streq(i8* %133, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.29.58, i64 0, i64 0)) + %tobool213 = icmp ne i32 %call212, 0 + br i1 %tobool213, label %if.then214, label %if.else226 + +if.then214: ; preds = %lor.lhs.false209, %if.else204 + store i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.30, i64 0, i64 0), i8** %msg215, align 8 + %134 = load i32, i32* %k, align 4 + %inc216 = add nsw i32 %134, 1 + store i32 %inc216, i32* %k, align 4 + %135 = load i32, i32* %argc, align 4 + %cmp217 = icmp eq i32 %inc216, %135 + br i1 %cmp217, label %if.then219, label %if.end220 + +if.then219: ; preds = %if.then214 + %136 = load i8*, i8** %msg215, align 8 + call void @__emit_error(i8* %136) + br label %if.end220 + +if.end220: ; preds = %if.then219, %if.then214 + %137 = load i8**, i8*** %argv, align 8 + %138 = load i32, i32* %k, align 4 + %inc221 = add nsw i32 %138, 1 + store i32 %inc221, i32* %k, align 4 + %idxprom222 = sext i32 %138 to i64 + %arrayidx223 = getelementptr inbounds i8*, i8** %137, i64 %idxprom222 + %139 = load i8*, i8** %arrayidx223, align 8 + %140 = load i8*, i8** %msg215, align 8 + %call224 = call i64 @__str_to_int(i8* %139, i8* %140) + %conv225 = trunc i64 %call224 to i32 + store i32 %conv225, i32* %fd_fail, align 4 + br label %if.end239 + +if.else226: ; preds = %lor.lhs.false209 + %arraydecay227 = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %141 = load i8**, i8*** %argv, align 8 + %142 = load i32, i32* %k, align 4 + %inc228 = add nsw i32 %142, 1 + store i32 %inc228, i32* %k, align 4 + %idxprom229 = sext i32 %142 to i64 + %arrayidx230 = getelementptr inbounds i8*, i8** %141, i64 %idxprom229 + %143 = load i8*, i8** %arrayidx230, align 8 + call void @__add_arg(i32* %new_argc, i8** %arraydecay227, i8* %143, i32 1024) + br label %if.end239 + +if.end239: ; preds = %for.cond, %if.end150, %if.then178, %if.then202, %if.else226, %if.end220, %if.then190, %if.then166, %if.end129, %if.then132, %if.end21 + br label %while.cond + +while.end: ; preds = %while.cond + %144 = load i32, i32* %new_argc, align 4 + %add240 = add nsw i32 %144, 1 + %conv241 = sext i32 %add240 to i64 + %mul = mul i64 %conv241, 8 + %call242 = call noalias i8* @malloc(i64 %mul) #11 + %145 = bitcast i8* %call242 to i8** + store i8** %145, i8*** %final_argv, align 8 + %146 = load i8**, i8*** %final_argv, align 8 + %tobool243 = icmp ne i8** %146, null + br i1 %tobool243, label %if.end245, label %if.then244 + +if.then244: ; preds = %while.end + call void @__emit_error(i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.31, i64 0, i64 0)) + br label %if.end245 + +if.end245: ; preds = %if.then244, %while.end + %147 = load i8**, i8*** %final_argv, align 8 + %148 = bitcast i8** %147 to i8* + %arraydecay246 = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %149 = bitcast i8** %arraydecay246 to i8* + %150 = load i32, i32* %new_argc, align 4 + %conv247 = sext i32 %150 to i64 + %mul248 = mul i64 %conv247, 8 + %151 = call i8* @memcpy(i8* %148, i8* %149, i64 %mul248) + %152 = load i8**, i8*** %final_argv, align 8 + %153 = load i32, i32* %new_argc, align 4 + %idxprom249 = sext i32 %153 to i64 + %arrayidx250 = getelementptr inbounds i8*, i8** %152, i64 %idxprom249 + store i8* null, i8** %arrayidx250, align 8 + %154 = load i32, i32* %new_argc, align 4 + %155 = load i32*, i32** %argcPtr.addr, align 8 + store i32 %154, i32* %155, align 4 + %156 = load i8**, i8*** %final_argv, align 8 + %157 = load i8***, i8**** %argvPtr.addr, align 8 + store i8** %156, i8*** %157, align 8 + %158 = load i32, i32* %sym_files, align 4 + %159 = load i32, i32* %sym_file_len, align 4 + %160 = load i32, i32* %sym_stdin_len, align 4 + %161 = load i32, i32* %sym_stdout_flag, align 4 + %162 = load i32, i32* %save_all_writes_flag, align 4 + %163 = load i32, i32* %fd_fail, align 4 + call void @klee_init_fds(i32 %158, i32 %159, i32 %160, i32 %161, i32 %162, i32 %163) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__streq(i8* %a, i8* %b) #3 { +entry: + %retval = alloca i32, align 4 + %a.addr = alloca i8*, align 8 + %b.addr = alloca i8*, align 8 + store i8* %a, i8** %a.addr, align 8 + store i8* %b, i8** %b.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %0 = load i8*, i8** %a.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %2 = load i8*, i8** %b.addr, align 8 + %3 = load i8, i8* %2, align 1 + %conv1 = sext i8 %3 to i32 + %cmp = icmp eq i32 %conv, %conv1 + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i8*, i8** %a.addr, align 8 + %5 = load i8, i8* %4, align 1 + %tobool = icmp ne i8 %5, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %while.body + store i32 1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %while.body + %6 = load i8*, i8** %a.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %a.addr, align 8 + %7 = load i8*, i8** %b.addr, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %7, i32 1 + store i8* %incdec.ptr3, i8** %b.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %while.end, %if.then + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__emit_error(i8* %msg) #3 { +entry: + %msg.addr = alloca i8*, align 8 + store i8* %msg, i8** %msg.addr, align 8 + %0 = load i8*, i8** %msg.addr, align 8 + call void @gs_report_error.59(i8* getelementptr inbounds ([88 x i8], [88 x i8]* @.str.32, i64 0, i64 0), i32 21, i8* %0, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.33, i64 0, i64 0)) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @__str_to_int(i8* %s, i8* %error_msg) #3 { +entry: + %s.addr = alloca i8*, align 8 + %error_msg.addr = alloca i8*, align 8 + %res = alloca i64, align 8 + %c = alloca i8, align 1 + store i8* %s, i8** %s.addr, align 8 + store i8* %error_msg, i8** %error_msg.addr, align 8 + store i64 0, i64* %res, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i8, i8* %0, align 1 + %tobool = icmp ne i8 %1, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %2 = load i8*, i8** %error_msg.addr, align 8 + call void @__emit_error(i8* %2) + br label %if.end + +if.end: ; preds = %if.then, %entry + br label %while.cond + +while.cond: ; preds = %if.end9, %if.end + %3 = load i8*, i8** %s.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %s.addr, align 8 + %4 = load i8, i8* %3, align 1 + store i8 %4, i8* %c, align 1 + %tobool1 = icmp ne i8 %4, 0 + br i1 %tobool1, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %5 = load i8, i8* %c, align 1 + %conv = sext i8 %5 to i32 + %cmp = icmp sge i32 %conv, 48 + br i1 %cmp, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %while.body + %6 = load i8, i8* %c, align 1 + %conv3 = sext i8 %6 to i32 + %cmp4 = icmp sle i32 %conv3, 57 + br i1 %cmp4, label %if.then6, label %if.else + +if.then6: ; preds = %land.lhs.true + %7 = load i64, i64* %res, align 8 + %mul = mul nsw i64 %7, 10 + %8 = load i8, i8* %c, align 1 + %conv7 = sext i8 %8 to i32 + %sub = sub nsw i32 %conv7, 48 + %conv8 = sext i32 %sub to i64 + %add = add nsw i64 %mul, %conv8 + store i64 %add, i64* %res, align 8 + br label %if.end9 + +if.else: ; preds = %land.lhs.true, %while.body + %9 = load i8*, i8** %error_msg.addr, align 8 + call void @__emit_error(i8* %9) + br label %if.end9 + +if.end9: ; preds = %if.else, %if.then6 + br label %while.cond + +while.end: ; preds = %while.cond + %10 = load i64, i64* %res, align 8 + ret i64 %10 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @__get_sym_str(i32 %numChars, i8* %name) #3 { +entry: + %numChars.addr = alloca i32, align 4 + %name.addr = alloca i8*, align 8 + %i = alloca i32, align 4 + %s = alloca i8*, align 8 + store i32 %numChars, i32* %numChars.addr, align 4 + store i8* %name, i8** %name.addr, align 8 + %0 = load i32, i32* %numChars.addr, align 4 + %add = add nsw i32 %0, 1 + %conv = sext i32 %add to i64 + %call = call noalias i8* @malloc(i64 %conv) #11 + store i8* %call, i8** %s, align 8 + %1 = load i8*, i8** %s, align 8 + %tobool = icmp ne i8* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @__emit_error(i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.31, i64 0, i64 0)) + br label %if.end + +if.end: ; preds = %if.then, %entry + %2 = load i8*, i8** %s, align 8 + %3 = load i32, i32* %numChars.addr, align 4 + %add1 = add nsw i32 %3, 1 + %conv2 = sext i32 %add1 to i64 + %4 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %2, i64 %conv2, i8* %4) + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %5 = load i32, i32* %i, align 4 + %6 = load i32, i32* %numChars.addr, align 4 + %cmp = icmp slt i32 %5, %6 + %7 = load i8*, i8** %s, align 8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %8 = load i8*, i8** %s, align 8 + %9 = load i32, i32* %i, align 4 + %idxprom = sext i32 %9 to i64 + %arrayidx = getelementptr inbounds i8, i8* %8, i64 %idxprom + %10 = load i8, i8* %arrayidx, align 1 + %call4 = call i32 @__isprint(i8 signext %10) + %tobool5 = icmp ne i32 %call4, 0 + call void @gs_posix_prefer_cex(i8* %7, i1 zeroext %tobool5) + %11 = load i32, i32* %i, align 4 + %inc = add nsw i32 %11, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %12 = load i32, i32* %numChars.addr, align 4 + %idxprom6 = sext i32 %12 to i64 + %arrayidx7 = getelementptr inbounds i8, i8* %7, i64 %idxprom6 + store i8 0, i8* %arrayidx7, align 1 + %13 = load i8*, i8** %s, align 8 + ret i8* %13 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__add_arg(i32* %argc, i8** %argv, i8* %arg, i32 %argcMax) #3 { +entry: + %argc.addr = alloca i32*, align 8 + %argv.addr = alloca i8**, align 8 + %arg.addr = alloca i8*, align 8 + %argcMax.addr = alloca i32, align 4 + store i32* %argc, i32** %argc.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i32 %argcMax, i32* %argcMax.addr, align 4 + %0 = load i32*, i32** %argc.addr, align 8 + %1 = load i32, i32* %0, align 4 + %2 = load i32, i32* %argcMax.addr, align 4 + %cmp = icmp eq i32 %1, %2 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + call void @__emit_error(i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.35, i64 0, i64 0)) + br label %if.end + +if.else: ; preds = %entry + %3 = load i8*, i8** %arg.addr, align 8 + %4 = load i8**, i8*** %argv.addr, align 8 + %5 = load i32*, i32** %argc.addr, align 8 + %6 = load i32, i32* %5, align 4 + %idxprom = sext i32 %6 to i64 + %arrayidx = getelementptr inbounds i8*, i8** %4, i64 %idxprom + store i8* %3, i8** %arrayidx, align 8 + %7 = load i32*, i32** %argc.addr, align 8 + %8 = load i32, i32* %7, align 4 + %inc = add nsw i32 %8, 1 + store i32 %inc, i32* %7, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @gs_range(i32 %begin, i32 %end, i8* %name) #3 { +entry: + %begin.addr = alloca i32, align 4 + %end.addr = alloca i32, align 4 + %name.addr = alloca i8*, align 8 + %x = alloca i32, align 4 + store i32 %begin, i32* %begin.addr, align 4 + store i32 %end, i32* %end.addr, align 4 + store i8* %name, i8** %name.addr, align 8 + %0 = bitcast i32* %x to i8* + %1 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %0, i64 4, i8* %1) + %2 = load i32, i32* %x, align 4 + %3 = load i32, i32* %begin.addr, align 4 + %cmp = icmp sge i32 %2, %3 + call void @gs_assume(i1 zeroext %cmp) + %4 = load i32, i32* %x, align 4 + %5 = load i32, i32* %end.addr, align 4 + %cmp1 = icmp slt i32 %4, %5 + call void @gs_assume(i1 zeroext %cmp1) + %6 = load i32, i32* %x, align 4 + ret i32 %6 +} + +declare dso_local void @make_symbolic(i8*, i64, ...) #5 + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__isprint(i8 signext %c) #3 { +entry: + %c.addr = alloca i8, align 1 + store i8 %c, i8* %c.addr, align 1 + %0 = load i8, i8* %c.addr, align 1 + %conv = sext i8 %0 to i32 + %cmp = icmp sle i32 32, %conv + %conv1 = zext i1 %cmp to i32 + %1 = load i8, i8* %c.addr, align 1 + %conv2 = sext i8 %1 to i32 + %cmp3 = icmp sle i32 %conv2, 126 + %conv4 = zext i1 %cmp3 to i32 + %and = and i32 %conv1, %conv4 + ret i32 %and +} + +declare dso_local void @gs_posix_prefer_cex(i8*, i1 zeroext) #5 + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error.59(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.34, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__user_main(i32 %argcPtr, i8** %argvPtr, i8** %envp) #3 { +entry: + %argcPtr.addr = alloca i32, align 4 + %argvPtr.addr = alloca i8**, align 8 + %envp.addr = alloca i8**, align 8 + store i32 %argcPtr, i32* %argcPtr.addr, align 4 + store i8** %argvPtr, i8*** %argvPtr.addr, align 8 + store i8** %envp, i8*** %envp.addr, align 8 + call void @klee_init_env(i32* %argcPtr.addr, i8*** %argvPtr.addr) + %0 = load i32, i32* %argcPtr.addr, align 4 + %1 = load i8**, i8*** %argvPtr.addr, align 8 + %2 = load i8**, i8*** %envp.addr, align 8 + %call = call i32 bitcast (i32 (i32, i8**)* @__klee_posix_wrapped_main to i32 (i32, i8**, i8**)*)(i32 %0, i8** %1, i8** %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind readnone uwtable +declare i32* @__errno_location() #12 + +; Function Attrs: noinline nounwind readnone uwtable +define weak i32* @__h_errno_location() #12 { +entry: + ret i32* @h_errno +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @___path_search(i8* %tmpl, i64 %tmpl_len, i8* %dir, i8* %pfx) #0 { +entry: + %retval = alloca i32, align 4 + %tmpl.addr = alloca i8*, align 8 + %tmpl_len.addr = alloca i64, align 8 + %dir.addr = alloca i8*, align 8 + %pfx.addr = alloca i8*, align 8 + %dlen = alloca i64, align 8 + %plen = alloca i64, align 8 + store i8* %tmpl, i8** %tmpl.addr, align 8 + store i64 %tmpl_len, i64* %tmpl_len.addr, align 8 + store i8* %dir, i8** %dir.addr, align 8 + store i8* %pfx, i8** %pfx.addr, align 8 + %0 = load i8*, i8** %pfx.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %lor.lhs.false, label %if.then + +lor.lhs.false: ; preds = %entry + %1 = load i8*, i8** %pfx.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %tobool1 = icmp ne i8 %2, 0 + br i1 %tobool1, label %if.else, label %if.then + +if.then: ; preds = %lor.lhs.false, %entry + store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.68, i64 0, i64 0), i8** %pfx.addr, align 8 + store i64 4, i64* %plen, align 8 + br label %if.end3 + +if.else: ; preds = %lor.lhs.false + %3 = load i8*, i8** %pfx.addr, align 8 + %call = call i64 @strlen(i8* %3) #20 + store i64 %call, i64* %plen, align 8 + %4 = load i64, i64* %plen, align 8 + %cmp = icmp ugt i64 %4, 5 + %spec.store.select = select i1 %cmp, i64 5, i64 %call + store i64 %spec.store.select, i64* %plen, align 8 + br label %if.end3 + +if.end3: ; preds = %if.else, %if.then + %5 = load i8*, i8** %dir.addr, align 8 + %cmp4 = icmp eq i8* %5, null + br i1 %cmp4, label %if.then5, label %if.end18 + +if.then5: ; preds = %if.end3 + %call6 = call i32 @direxists(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0)) #18 + %tobool7 = icmp ne i32 %call6, 0 + br i1 %tobool7, label %if.then8, label %if.else9 + +if.then8: ; preds = %if.then5 + store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0), i8** %dir.addr, align 8 + br label %if.end18 + +if.else9: ; preds = %if.then5 + %call10 = call i32 @strcmp(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0)) #20 + %cmp11 = icmp ne i32 %call10, 0 + br i1 %cmp11, label %land.lhs.true, label %if.else15 + +land.lhs.true: ; preds = %if.else9 + %call12 = call i32 @direxists(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0)) #18 + %tobool13 = icmp ne i32 %call12, 0 + br i1 %tobool13, label %if.then14, label %if.else15 + +if.then14: ; preds = %land.lhs.true + store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0), i8** %dir.addr, align 8 + br label %if.end18 + +if.else15: ; preds = %land.lhs.true, %if.else9 + store i32 2, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %if.then8, %if.then14, %if.end3 + %6 = load i8*, i8** %dir.addr, align 8 + %call19 = call i64 @strlen(i8* %6) #20 + store i64 %call19, i64* %dlen, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end18 + %7 = load i64, i64* %dlen, align 8 + %cmp20 = icmp ugt i64 %7, 1 + br i1 %cmp20, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %8 = load i8*, i8** %dir.addr, align 8 + %9 = load i64, i64* %dlen, align 8 + %sub = sub i64 %9, 1 + %arrayidx21 = getelementptr inbounds i8, i8* %8, i64 %sub + %10 = load i8, i8* %arrayidx21, align 1 + %conv = sext i8 %10 to i32 + %cmp22 = icmp eq i32 %conv, 47 + br i1 %cmp22, label %while.body, label %while.end + +while.body: ; preds = %land.rhs + %11 = load i64, i64* %dlen, align 8 + %dec = add i64 %11, -1 + store i64 %dec, i64* %dlen, align 8 + br label %while.cond + +while.end: ; preds = %while.cond, %land.rhs + %12 = load i64, i64* %tmpl_len.addr, align 8 + %13 = load i64, i64* %dlen, align 8 + %add = add i64 %13, 1 + %14 = load i64, i64* %plen, align 8 + %add24 = add i64 %add, %14 + %add25 = add i64 %add24, 6 + %add26 = add i64 %add25, 1 + %cmp27 = icmp ult i64 %12, %add26 + br i1 %cmp27, label %if.then29, label %if.end30 + +if.then29: ; preds = %while.end + store i32 22, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end30: ; preds = %while.end + %15 = load i8*, i8** %tmpl.addr, align 8 + %16 = load i64, i64* %dlen, align 8 + %17 = load i8*, i8** %dir.addr, align 8 + %18 = load i64, i64* %plen, align 8 + %19 = load i8*, i8** %pfx.addr, align 8 + %call31 = call i32 (i8*, i8*, ...) @sprintf(i8* %15, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.2.70, i64 0, i64 0), i64 %16, i8* %17, i64 %18, i8* %19) #19 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end30, %if.then29, %if.else15 + %20 = load i32, i32* %retval, align 4 + ret i32 %20 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @direxists(i8* %dir) #0 { +entry: + %dir.addr = alloca i8*, align 8 + %buf = alloca %struct.stat.192, align 8 + store i8* %dir, i8** %dir.addr, align 8 + %0 = load i8*, i8** %dir.addr, align 8 + %call = call i32 bitcast (i32 (i8*, %struct.stat64*)* @stat to i32 (i8*, %struct.stat.192*)*)(i8* %0, %struct.stat.192* %buf) #19 + %cmp = icmp eq i32 %call, 0 + %st_mode = getelementptr inbounds %struct.stat.192, %struct.stat.192* %buf, i32 0, i32 3 + %1 = load i32, i32* %st_mode, align 8 + %and = and i32 %1, 61440 + %cmp1 = icmp eq i32 %and, 16384 + %2 = select i1 %cmp, i1 %cmp1, i1 false + %land.ext = zext i1 %2 to i32 + ret i32 %land.ext +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__gen_tempname(i8* %tmpl, i32 %kind) #0 { +entry: + %retval = alloca i32, align 4 + %tmpl.addr = alloca i8*, align 8 + %kind.addr = alloca i32, align 4 + %XXXXXX = alloca i8*, align 8 + %i = alloca i32, align 4 + %fd = alloca i32, align 4 + %save_errno = alloca i32, align 4 + %randomness = alloca [6 x i8], align 1 + %len = alloca i64, align 8 + %j = alloca i32, align 4 + %st = alloca %struct.stat.192, align 8 + store i8* %tmpl, i8** %tmpl.addr, align 8 + store i32 %kind, i32* %kind.addr, align 4 + %0 = load i32, i32* @errno, align 4 + store i32 %0, i32* %save_errno, align 4 + %1 = load i8*, i8** %tmpl.addr, align 8 + %call = call i64 @strlen(i8* %1) #20 + store i64 %call, i64* %len, align 8 + %2 = load i8*, i8** %tmpl.addr, align 8 + %3 = load i64, i64* %len, align 8 + %add.ptr = getelementptr inbounds i8, i8* %2, i64 %3 + %add.ptr1 = getelementptr inbounds i8, i8* %add.ptr, i64 -6 + store i8* %add.ptr1, i8** %XXXXXX, align 8 + %4 = load i64, i64* %len, align 8 + %cmp = icmp ult i64 %4, 6 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %5 = load i8*, i8** %XXXXXX, align 8 + %call2 = call i32 @strcmp(i8* %5, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.3.73, i64 0, i64 0)) #20 + %tobool = icmp ne i32 %call2, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %lor.lhs.false, %entry + store i32 22, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %lor.lhs.false + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc44, %if.end + %6 = load i32, i32* %i, align 4 + %cmp3 = icmp ult i32 %6, 238328 + br i1 %cmp3, label %for.body, label %for.end46 + +for.body: ; preds = %for.cond + %arraydecay = getelementptr inbounds [6 x i8], [6 x i8]* %randomness, i64 0, i64 0 + %call4 = call i32 @fillrand(i8* %arraydecay, i32 6) #18 + %conv = zext i32 %call4 to i64 + %cmp5 = icmp ne i64 %conv, 6 + br i1 %cmp5, label %if.then7, label %if.end9 + +if.then7: ; preds = %for.body + %arraydecay8 = getelementptr inbounds [6 x i8], [6 x i8]* %randomness, i64 0, i64 0 + call void @brain_damaged_fillrand(i8* %arraydecay8, i32 6) #18 + br label %if.end9 + +if.end9: ; preds = %if.then7, %for.body + store i32 0, i32* %j, align 4 + br label %for.cond10 + +for.cond10: ; preds = %for.body14, %if.end9 + %7 = load i32, i32* %j, align 4 + %conv11 = sext i32 %7 to i64 + %cmp12 = icmp ult i64 %conv11, 6 + br i1 %cmp12, label %for.body14, label %for.end + +for.body14: ; preds = %for.cond10 + %8 = load i32, i32* %j, align 4 + %idxprom = sext i32 %8 to i64 + %arrayidx = getelementptr inbounds [6 x i8], [6 x i8]* %randomness, i64 0, i64 %idxprom + %9 = load i8, i8* %arrayidx, align 1 + %conv15 = zext i8 %9 to i32 + %rem = srem i32 %conv15, 62 + %idxprom16 = sext i32 %rem to i64 + %arrayidx17 = getelementptr inbounds [63 x i8], [63 x i8]* @letters, i64 0, i64 %idxprom16 + %10 = load i8, i8* %arrayidx17, align 1 + %11 = load i8*, i8** %XXXXXX, align 8 + %12 = load i32, i32* %j, align 4 + %idxprom18 = sext i32 %12 to i64 + %arrayidx19 = getelementptr inbounds i8, i8* %11, i64 %idxprom18 + store i8 %10, i8* %arrayidx19, align 1 + %13 = load i32, i32* %j, align 4 + %inc = add nsw i32 %13, 1 + store i32 %inc, i32* %j, align 4 + br label %for.cond10 + +for.end: ; preds = %for.cond10 + %14 = load i32, i32* %kind.addr, align 4 + br label %NodeBlock5 + +NodeBlock5: ; preds = %for.end + %case.cmp6 = icmp eq i32 %14, 3 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %14, 0 + br i1 %case.cmp4, label %sw.bb29, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %14, 1 + br i1 %case.cmp2, label %sw.bb31, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %14, 2 + br i1 %case.cmp, label %sw.bb33, label %newDefault + +sw.bb: ; preds = %NodeBlock5 + %15 = load i8*, i8** %tmpl.addr, align 8 + %call20 = call i32 bitcast (i32 (i8*, %struct.stat64*)* @stat to i32 (i8*, %struct.stat.192*)*)(i8* %15, %struct.stat.192* %st) #19 + %cmp21 = icmp slt i32 %call20, 0 + br i1 %cmp21, label %if.then23, label %if.else27 + +if.then23: ; preds = %sw.bb + %16 = load i32, i32* @errno, align 4 + %cmp24 = icmp eq i32 %16, 2 + br i1 %cmp24, label %if.then26, label %if.else + +if.then26: ; preds = %if.then23 + store i32 0, i32* %fd, align 4 + br label %restore_and_ret + +if.else: ; preds = %if.then23 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else27: ; preds = %sw.bb + store i32 0, i32* %fd, align 4 + br label %sw.bb29 + +sw.bb29: ; preds = %NodeBlock3, %if.else27 + %17 = load i8*, i8** %tmpl.addr, align 8 + %call30 = call i32 (i8*, i32, ...) @open(i8* %17, i32 194, i32 384) #18 + store i32 %call30, i32* %fd, align 4 + br label %sw.epilog + +sw.bb31: ; preds = %NodeBlock1 + %18 = load i8*, i8** %tmpl.addr, align 8 + %call32 = call i32 (i8*, i32, ...) @open64(i8* %18, i32 194, i32 384) #18 + store i32 %call32, i32* %fd, align 4 + br label %sw.epilog + +sw.bb33: ; preds = %NodeBlock + %19 = load i8*, i8** %tmpl.addr, align 8 + %call34 = call i32 @mkdir(i8* %19, i32 448) #19 + store i32 %call34, i32* %fd, align 4 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i32 -1, i32* %fd, align 4 + br label %sw.epilog + +sw.epilog: ; preds = %sw.default, %sw.bb33, %sw.bb31, %sw.bb29 + %20 = load i32, i32* %fd, align 4 + %cmp35 = icmp sge i32 %20, 0 + br i1 %cmp35, label %restore_and_ret, label %if.else38 + +restore_and_ret: ; preds = %sw.epilog, %if.then26 + %21 = load i32, i32* %save_errno, align 4 + store i32 %21, i32* @errno, align 4 + %22 = load i32, i32* %fd, align 4 + store i32 %22, i32* %retval, align 4 + br label %return + +if.else38: ; preds = %sw.epilog + %23 = load i32, i32* @errno, align 4 + %cmp39 = icmp ne i32 %23, 17 + br i1 %cmp39, label %if.then41, label %for.inc44 + +if.then41: ; preds = %if.else38 + store i32 -1, i32* %retval, align 4 + br label %return + +for.inc44: ; preds = %if.else38 + %24 = load i32, i32* %i, align 4 + %inc45 = add i32 %24, 1 + store i32 %inc45, i32* %i, align 4 + br label %for.cond + +for.end46: ; preds = %for.cond + store i32 17, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %for.end46, %if.then41, %restore_and_ret, %if.else, %if.then + %25 = load i32, i32* %retval, align 4 + ret i32 %25 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @fillrand(i8* %buf, i32 %len) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %len.addr = alloca i32, align 4 + %fd = alloca i32, align 4 + %result = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i32 %len, i32* %len.addr, align 4 + store i32 -1, i32* %result, align 4 + %call = call i32 (i8*, i32, ...) @open(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.4.74, i64 0, i64 0), i32 0) #18 + store i32 %call, i32* %fd, align 4 + %0 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %0, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call1 = call i32 (i8*, i32, ...) @open(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.5.75, i64 0, i64 0), i32 2048) #18 + store i32 %call1, i32* %fd, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i32, i32* %fd, align 4 + %cmp2 = icmp sge i32 %1, 0 + br i1 %cmp2, label %if.then3, label %if.end7 + +if.then3: ; preds = %if.end + %2 = load i32, i32* %fd, align 4 + %3 = load i8*, i8** %buf.addr, align 8 + %4 = load i32, i32* %len.addr, align 4 + %conv = zext i32 %4 to i64 + %call4 = call i64 @read(i32 %2, i8* %3, i64 %conv) #18 + %conv5 = trunc i64 %call4 to i32 + store i32 %conv5, i32* %result, align 4 + %5 = load i32, i32* %fd, align 4 + %call6 = call i32 @close(i32 %5) #18 + br label %if.end7 + +if.end7: ; preds = %if.then3, %if.end + %6 = load i32, i32* %result, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @brain_damaged_fillrand(i8* %buf, i32 %len) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %len.addr = alloca i32, align 4 + %i = alloca i32, align 4 + %k = alloca i32, align 4 + %tv = alloca %struct.timespec, align 8 + %high = alloca i32, align 4 + %low = alloca i32, align 4 + %rh = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i32 %len, i32* %len.addr, align 4 + %call = call i32 bitcast (i32 (%struct.timespec*, i8*)* @gettimeofday to i32 (%struct.timespec*, %struct.__mbstate_t.512*)*)(%struct.timespec* %tv, %struct.__mbstate_t.512* null) #19 + %tv_usec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 1 + %0 = load i64, i64* %tv_usec, align 8 + %shl = shl i64 %0, 16 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %1 = load i64, i64* %tv_sec, align 8 + %xor = xor i64 %shl, %1 + %call1 = call i32 @getpid() #19 + %conv = sext i32 %call1 to i64 + %xor2 = xor i64 %xor, %conv + %2 = load i64, i64* @brain_damaged_fillrand.value, align 8 + %add = add i64 %2, %xor2 + store i64 %add, i64* @brain_damaged_fillrand.value, align 8 + %3 = load i64, i64* @brain_damaged_fillrand.value, align 8 + %and = and i64 %3, 4294967295 + %conv3 = trunc i64 %and to i32 + store i32 %conv3, i32* %low, align 4 + %4 = load i64, i64* @brain_damaged_fillrand.value, align 8 + %shr = lshr i64 %4, 32 + %conv4 = trunc i64 %shr to i32 + store i32 %conv4, i32* %high, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %5 = load i32, i32* %i, align 4 + %6 = load i32, i32* %len.addr, align 4 + %cmp = icmp ult i32 %5, %6 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %7 = load i32, i32* %high, align 4 + %rem = urem i32 %7, 62 + store i32 %rem, i32* %rh, align 4 + %8 = load i32, i32* %high, align 4 + %div = udiv i32 %8, 62 + store i32 %div, i32* %high, align 4 + %9 = load i32, i32* %low, align 4 + %rem6 = urem i32 %9, 62 + %10 = load i32, i32* %rh, align 4 + %mul = mul i32 4, %10 + %add7 = add i32 %rem6, %mul + store i32 %add7, i32* %k, align 4 + %11 = load i32, i32* %low, align 4 + %div8 = udiv i32 %11, 62 + %12 = load i32, i32* %rh, align 4 + %mul9 = mul i32 69273666, %12 + %add10 = add i32 %div8, %mul9 + %13 = load i32, i32* %k, align 4 + %div11 = udiv i32 %13, 62 + %add12 = add i32 %add10, %div11 + store i32 %add12, i32* %low, align 4 + %14 = load i32, i32* %k, align 4 + %rem13 = urem i32 %14, 62 + store i32 %rem13, i32* %k, align 4 + %15 = load i32, i32* %k, align 4 + %idxprom = zext i32 %15 to i64 + %arrayidx = getelementptr inbounds [63 x i8], [63 x i8]* @letters, i64 0, i64 %idxprom + %16 = load i8, i8* %arrayidx, align 1 + %17 = load i8*, i8** %buf.addr, align 8 + %18 = load i32, i32* %i, align 4 + %idxprom14 = zext i32 %18 to i64 + %arrayidx15 = getelementptr inbounds i8, i8* %17, i64 %idxprom14 + store i8 %16, i8* %arrayidx15, align 1 + %19 = load i32, i32* %i, align 4 + %inc = add i32 %19, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + ret void +} + +; Function Attrs: nounwind +declare i32 @getpid() #2 + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_locale_set_l(i8* %p, %struct.__uclibc_locale_struct.201* %base) #0 { +entry: + %retval = alloca i32, align 4 + %p.addr = alloca i8*, align 8 + %base.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %x = alloca i8**, align 8 + %s = alloca i8*, align 8 + %stp = alloca i64*, align 8 + %r = alloca i8*, align 8 + %io = alloca i16*, align 8 + %ii = alloca i16*, align 8 + %d = alloca i8*, align 8 + %row = alloca i32, align 4 + %crow = alloca i32, align 4 + %len = alloca i32, align 4 + %c = alloca i32, align 4 + %i = alloca i32, align 4 + %newcol = alloca %struct.__collate_t.200, align 8 + %c8b = alloca %struct.__codeset_8_bit_t.202*, align 8 + %u = alloca i32, align 4 + %m = alloca i16, align 2 + store i8* %p, i8** %p.addr, align 8 + store %struct.__uclibc_locale_struct.201* %base, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 6 + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 1 + store i8* %add.ptr, i8** %s, align 8 + store i32 0, i32* %i, align 4 + %1 = load i8*, i8** %p.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %1, i32 1 + store i8* %incdec.ptr, i8** %p.addr, align 8 + %index2weight = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %newcol, i32 0, i32 23 + store i16* null, i16** %index2weight, align 8 + %2 = load i8*, i8** %p.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %2, i64 8 + %3 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %3 to i32 + %4 = load i8*, i8** %s, align 8 + %arrayidx1 = getelementptr inbounds i8, i8* %4, i64 8 + %5 = load i8, i8* %arrayidx1, align 1 + %conv2 = zext i8 %5 to i32 + %cmp = icmp ne i32 %conv, %conv2 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %6 = load i8*, i8** %p.addr, align 8 + %arrayidx4 = getelementptr inbounds i8, i8* %6, i64 9 + %7 = load i8, i8* %arrayidx4, align 1 + %conv5 = zext i8 %7 to i32 + %8 = load i8*, i8** %s, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %8, i64 9 + %9 = load i8, i8* %arrayidx6, align 1 + %conv7 = zext i8 %9 to i32 + %cmp8 = icmp ne i32 %conv5, %conv7 + br i1 %cmp8, label %if.then, label %if.end22 + +if.then: ; preds = %lor.lhs.false, %entry + %10 = load i8*, i8** %p.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv10 = zext i8 %11 to i32 + %and = and i32 %conv10, 127 + %shl = shl i32 %and, 7 + %12 = load i8*, i8** %p.addr, align 8 + %arrayidx11 = getelementptr inbounds i8, i8* %12, i64 1 + %13 = load i8, i8* %arrayidx11, align 1 + %conv12 = zext i8 %13 to i32 + %and13 = and i32 %conv12, 127 + %add = add nsw i32 %shl, %and13 + store i32 %add, i32* %row, align 4 + %14 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %14, i32 0, i32 31 + %15 = load i32, i32* %row, align 4 + %mul = mul nsw i32 9, %15 + %add14 = add nsw i32 %mul, 3 + %add15 = add nsw i32 %add14, 4 + %idxprom = sext i32 %add15 to i64 + %arrayidx16 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales, i64 0, i64 %idxprom + %16 = load i8, i8* %arrayidx16, align 1 + %conv17 = zext i8 %16 to i32 + %call = call i32 @init_cur_collate(i32 %conv17, %struct.__collate_t.200* %newcol) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end, label %if.then18 + +if.then18: ; preds = %if.then + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %if.then + %17 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %collate = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %17, i32 0, i32 118 + %index2weight19 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate, i32 0, i32 23 + %18 = load i16*, i16** %index2weight19, align 8 + %19 = bitcast i16* %18 to i8* + call void @free(i8* %19) #19 + %20 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %collate20 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %20, i32 0, i32 118 + %21 = bitcast %struct.__collate_t.200* %collate20 to i8* + %22 = bitcast %struct.__collate_t.200* %newcol to i8* + %call21 = call i8* @memcpy(i8* %21, i8* %22, i64 112) #19 + br label %if.end22 + +if.end22: ; preds = %if.end, %lor.lhs.false + br label %do.body + +do.body: ; preds = %if.end313, %if.end22 + %23 = load i8*, i8** %p.addr, align 8 + %24 = load i8, i8* %23, align 1 + %conv23 = zext i8 %24 to i32 + %25 = load i8*, i8** %s, align 8 + %26 = load i8, i8* %25, align 1 + %conv24 = zext i8 %26 to i32 + %cmp25 = icmp ne i32 %conv23, %conv24 + br i1 %cmp25, label %if.then34, label %lor.lhs.false27 + +lor.lhs.false27: ; preds = %do.body + %27 = load i8*, i8** %p.addr, align 8 + %arrayidx28 = getelementptr inbounds i8, i8* %27, i64 1 + %28 = load i8, i8* %arrayidx28, align 1 + %conv29 = zext i8 %28 to i32 + %29 = load i8*, i8** %s, align 8 + %arrayidx30 = getelementptr inbounds i8, i8* %29, i64 1 + %30 = load i8, i8* %arrayidx30, align 1 + %conv31 = zext i8 %30 to i32 + %cmp32 = icmp ne i32 %conv29, %conv31 + br i1 %cmp32, label %if.then34, label %if.end313 + +if.then34: ; preds = %lor.lhs.false27, %do.body + %31 = load i8*, i8** %p.addr, align 8 + %32 = load i8, i8* %31, align 1 + %conv35 = zext i8 %32 to i32 + %and36 = and i32 %conv35, 127 + %shl37 = shl i32 %and36, 7 + %33 = load i8*, i8** %p.addr, align 8 + %arrayidx38 = getelementptr inbounds i8, i8* %33, i64 1 + %34 = load i8, i8* %arrayidx38, align 1 + %conv39 = zext i8 %34 to i32 + %and40 = and i32 %conv39, 127 + %add41 = add nsw i32 %shl37, %and40 + store i32 %add41, i32* %row, align 4 + %35 = load i8*, i8** %p.addr, align 8 + %36 = load i8, i8* %35, align 1 + %37 = load i8*, i8** %s, align 8 + store i8 %36, i8* %37, align 1 + %38 = load i8*, i8** %p.addr, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %38, i64 1 + %39 = load i8, i8* %arrayidx42, align 1 + %40 = load i8*, i8** %s, align 8 + %arrayidx43 = getelementptr inbounds i8, i8* %40, i64 1 + store i8 %39, i8* %arrayidx43, align 1 + %41 = load i32, i32* %i, align 4 + %cmp44 = icmp ne i32 %41, 4 + br i1 %cmp44, label %land.lhs.true, label %if.end92 + +land.lhs.true: ; preds = %if.then34 + %42 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_common_item_offsets_LEN = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %42, i32 0, i32 29 + %43 = load i32, i32* %i, align 4 + %idxprom46 = sext i32 %43 to i64 + %arrayidx47 = getelementptr inbounds [6 x i8], [6 x i8]* %lc_common_item_offsets_LEN, i64 0, i64 %idxprom46 + %44 = load i8, i8* %arrayidx47, align 1 + %conv48 = zext i8 %44 to i32 + store i32 %conv48, i32* %len, align 4 + %cmp49 = icmp ne i32 %conv48, 0 + br i1 %cmp49, label %if.then51, label %if.end92 + +if.then51: ; preds = %land.lhs.true + %45 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales52 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %45, i32 0, i32 31 + %46 = load i32, i32* %row, align 4 + %mul53 = mul nsw i32 9, %46 + %add54 = add nsw i32 %mul53, 3 + %47 = load i32, i32* %i, align 4 + %add55 = add nsw i32 %add54, %47 + %idxprom56 = sext i32 %add55 to i64 + %arrayidx57 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales52, i64 0, i64 %idxprom56 + %48 = load i8, i8* %arrayidx57, align 1 + %conv58 = zext i8 %48 to i32 + %49 = load i32, i32* %len, align 4 + %mul59 = mul nsw i32 %conv58, %49 + store i32 %mul59, i32* %crow, align 4 + %50 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %51 = bitcast %struct.__uclibc_locale_struct.201* %50 to i8* + %52 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %52, i32 0, i32 7 + %53 = load i32, i32* %i, align 4 + %idxprom60 = sext i32 %53 to i64 + %arrayidx61 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets, i64 0, i64 %idxprom60 + %54 = load i16, i16* %arrayidx61, align 2 + %conv62 = zext i16 %54 to i32 + %idx.ext = sext i32 %conv62 to i64 + %add.ptr63 = getelementptr inbounds i8, i8* %51, i64 %idx.ext + %55 = bitcast i8* %add.ptr63 to i8** + store i8** %55, i8*** %x, align 8 + %56 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_common_tbl_offsets = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %56, i32 0, i32 30 + %arraydecay64 = getelementptr inbounds [24 x i64], [24 x i64]* %lc_common_tbl_offsets, i64 0, i64 0 + %57 = load i32, i32* %i, align 4 + %mul65 = mul nsw i32 4, %57 + %idx.ext66 = sext i32 %mul65 to i64 + %add.ptr67 = getelementptr inbounds i64, i64* %arraydecay64, i64 %idx.ext66 + store i64* %add.ptr67, i64** %stp, align 8 + %58 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %59 = bitcast %struct.__locale_mmap_t.203* %58 to i8* + %60 = load i64*, i64** %stp, align 8 + %61 = load i64, i64* %60, align 8 + %add.ptr68 = getelementptr inbounds i8, i8* %59, i64 %61 + store i8* %add.ptr68, i8** %r, align 8 + %62 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %63 = bitcast %struct.__locale_mmap_t.203* %62 to i8* + %64 = load i64*, i64** %stp, align 8 + %incdec.ptr69 = getelementptr inbounds i64, i64* %64, i32 1 + store i64* %incdec.ptr69, i64** %stp, align 8 + %65 = load i64, i64* %incdec.ptr69, align 8 + %add.ptr70 = getelementptr inbounds i8, i8* %63, i64 %65 + %66 = bitcast i8* %add.ptr70 to i16* + store i16* %66, i16** %io, align 8 + %67 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %68 = bitcast %struct.__locale_mmap_t.203* %67 to i8* + %69 = load i64*, i64** %stp, align 8 + %incdec.ptr71 = getelementptr inbounds i64, i64* %69, i32 1 + store i64* %incdec.ptr71, i64** %stp, align 8 + %70 = load i64, i64* %incdec.ptr71, align 8 + %add.ptr72 = getelementptr inbounds i8, i8* %68, i64 %70 + %71 = bitcast i8* %add.ptr72 to i16* + store i16* %71, i16** %ii, align 8 + %72 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %73 = bitcast %struct.__locale_mmap_t.203* %72 to i8* + %74 = load i64*, i64** %stp, align 8 + %incdec.ptr73 = getelementptr inbounds i64, i64* %74, i32 1 + store i64* %incdec.ptr73, i64** %stp, align 8 + %75 = load i64, i64* %incdec.ptr73, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %73, i64 %75 + store i8* %add.ptr74, i8** %d, align 8 + store i32 0, i32* %c, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.then51 + %76 = load i32, i32* %c, align 4 + %77 = load i32, i32* %len, align 4 + %cmp75 = icmp slt i32 %76, %77 + br i1 %cmp75, label %for.body, label %if.end92 + +for.body: ; preds = %for.cond + %78 = load i8*, i8** %d, align 8 + %79 = load i16*, i16** %ii, align 8 + %80 = load i8*, i8** %r, align 8 + %81 = load i32, i32* %crow, align 4 + %82 = load i32, i32* %c, align 4 + %add77 = add nsw i32 %81, %82 + %idxprom78 = sext i32 %add77 to i64 + %arrayidx79 = getelementptr inbounds i8, i8* %80, i64 %idxprom78 + %83 = load i8, i8* %arrayidx79, align 1 + %conv80 = zext i8 %83 to i32 + %84 = load i16*, i16** %io, align 8 + %85 = load i32, i32* %c, align 4 + %idxprom81 = sext i32 %85 to i64 + %arrayidx82 = getelementptr inbounds i16, i16* %84, i64 %idxprom81 + %86 = load i16, i16* %arrayidx82, align 2 + %conv83 = zext i16 %86 to i32 + %add84 = add nsw i32 %conv80, %conv83 + %idxprom85 = sext i32 %add84 to i64 + %arrayidx86 = getelementptr inbounds i16, i16* %79, i64 %idxprom85 + %87 = load i16, i16* %arrayidx86, align 2 + %conv87 = zext i16 %87 to i32 + %idx.ext88 = sext i32 %conv87 to i64 + %add.ptr89 = getelementptr inbounds i8, i8* %78, i64 %idx.ext88 + %88 = load i8**, i8*** %x, align 8 + %89 = load i32, i32* %c, align 4 + %idx.ext90 = sext i32 %89 to i64 + %add.ptr91 = getelementptr inbounds i8*, i8** %88, i64 %idx.ext90 + store i8* %add.ptr89, i8** %add.ptr91, align 8 + %90 = load i32, i32* %c, align 4 + %inc = add nsw i32 %90, 1 + store i32 %inc, i32* %c, align 4 + br label %for.cond + +if.end92: ; preds = %for.cond, %land.lhs.true, %if.then34 + %91 = load i32, i32* %i, align 4 + %cmp93 = icmp eq i32 %91, 0 + br i1 %cmp93, label %if.then95, label %if.else295 + +if.then95: ; preds = %if.end92 + %92 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales96 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %92, i32 0, i32 31 + %93 = load i32, i32* %row, align 4 + %mul97 = mul nsw i32 9, %93 + %add98 = add nsw i32 %mul97, 2 + %idxprom99 = sext i32 %add98 to i64 + %arrayidx100 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales96, i64 0, i64 %idxprom99 + %94 = load i8, i8* %arrayidx100, align 1 + %conv101 = zext i8 %94 to i32 + store i32 %conv101, i32* %c, align 4 + %95 = load i32, i32* %c, align 4 + %cmp102 = icmp sle i32 %95, 2 + br i1 %cmp102, label %if.then104, label %if.else112 + +if.then104: ; preds = %if.then95 + %96 = load i32, i32* %c, align 4 + %cmp105 = icmp eq i32 %96, 2 + %97 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %codeset = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %97, i32 0, i32 38 + br i1 %cmp105, label %if.then107, label %if.else + +if.then107: ; preds = %if.then104 + store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf8, i64 0, i64 0), i8** %codeset, align 8 + %98 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %98, i32 0, i32 9 + store i8 1, i8* %encoding, align 8 + %99 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %mb_cur_max = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %99, i32 0, i32 10 + store i8 6, i8* %mb_cur_max, align 1 + br label %if.end280 + +if.else: ; preds = %if.then104 + store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @ascii, i64 0, i64 0), i8** %codeset, align 8 + %100 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %encoding109 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %100, i32 0, i32 9 + store i8 0, i8* %encoding109, align 8 + %101 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %mb_cur_max110 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %101, i32 0, i32 10 + store i8 1, i8* %mb_cur_max110, align 1 + br label %if.end280 + +if.else112: ; preds = %if.then95 + %102 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %102, i32 0, i32 35 + %arraydecay113 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list, i64 0, i64 0 + store i8* %arraydecay113, i8** %r, align 8 + %103 = load i8*, i8** %r, align 8 + %104 = load i8*, i8** %r, align 8 + %105 = load i32, i32* %c, align 4 + %sub = sub nsw i32 %105, 3 + store i32 %sub, i32* %c, align 4 + %idxprom114 = sext i32 %sub to i64 + %arrayidx115 = getelementptr inbounds i8, i8* %104, i64 %idxprom114 + %106 = load i8, i8* %arrayidx115, align 1 + %conv116 = zext i8 %106 to i32 + %idx.ext117 = sext i32 %conv116 to i64 + %add.ptr118 = getelementptr inbounds i8, i8* %103, i64 %idx.ext117 + %107 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %codeset119 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %107, i32 0, i32 38 + store i8* %add.ptr118, i8** %codeset119, align 8 + %108 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %encoding120 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %108, i32 0, i32 9 + store i8 2, i8* %encoding120, align 8 + %109 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %mb_cur_max121 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %109, i32 0, i32 10 + store i8 1, i8* %mb_cur_max121, align 1 + %110 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_8_bit = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %110, i32 0, i32 12 + %arraydecay122 = getelementptr inbounds [23 x %struct.__codeset_8_bit_t.202], [23 x %struct.__codeset_8_bit_t.202]* %codeset_8_bit, i64 0, i64 0 + %111 = load i32, i32* %c, align 4 + %idx.ext123 = sext i32 %111 to i64 + %add.ptr124 = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %arraydecay122, i64 %idx.ext123 + store %struct.__codeset_8_bit_t.202* %add.ptr124, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %112 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8ctype = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %112, i32 0, i32 0 + %arraydecay125 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8ctype, i64 0, i64 0 + %113 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8ctype126 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %113, i32 0, i32 12 + store i8* %arraydecay125, i8** %idx8ctype126, align 8 + %114 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8uplow = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %114, i32 0, i32 1 + %arraydecay127 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8uplow, i64 0, i64 0 + %115 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8uplow128 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %115, i32 0, i32 14 + store i8* %arraydecay127, i8** %idx8uplow128, align 8 + %116 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8c2wc = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %116, i32 0, i32 2 + %arraydecay129 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8c2wc, i64 0, i64 0 + %117 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8c2wc130 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %117, i32 0, i32 16 + store i8* %arraydecay129, i8** %idx8c2wc130, align 8 + %118 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8wc2c = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %118, i32 0, i32 3 + %arraydecay131 = getelementptr inbounds [38 x i8], [38 x i8]* %idx8wc2c, i64 0, i64 0 + %119 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8wc2c132 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %119, i32 0, i32 18 + store i8* %arraydecay131, i8** %idx8wc2c132, align 8 + %120 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b_data = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %120, i32 0, i32 3 + %arraydecay133 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data, i64 0, i64 0 + %121 = bitcast i16* %arraydecay133 to i8* + %122 = load i16*, i16** @__C_ctype_b, align 8 + %add.ptr134 = getelementptr inbounds i16, i16* %122, i64 -128 + %123 = bitcast i16* %add.ptr134 to i8* + %call135 = call i8* @memcpy(i8* %121, i8* %123, i64 768) #19 + %124 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %124, i32 0, i32 4 + %arraydecay136 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data, i64 0, i64 0 + %125 = bitcast i16* %arraydecay136 to i8* + %126 = load i16*, i16** @__C_ctype_tolower, align 8 + %add.ptr137 = getelementptr inbounds i16, i16* %126, i64 -128 + %127 = bitcast i16* %add.ptr137 to i8* + %call138 = call i8* @memcpy(i8* %125, i8* %127, i64 768) #19 + %128 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %128, i32 0, i32 5 + %arraydecay139 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data, i64 0, i64 0 + %129 = bitcast i16* %arraydecay139 to i8* + %130 = load i16*, i16** @__C_ctype_toupper, align 8 + %add.ptr140 = getelementptr inbounds i16, i16* %130, i64 -128 + %131 = bitcast i16* %add.ptr140 to i8* + %call141 = call i8* @memcpy(i8* %129, i8* %131, i64 768) #19 + store i32 0, i32* %u, align 4 + br label %for.cond142 + +for.cond142: ; preds = %for.inc268, %if.else112 + %132 = load i32, i32* %u, align 4 + %cmp143 = icmp slt i32 %132, 128 + %133 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + br i1 %cmp143, label %for.body145, label %for.end270 + +for.body145: ; preds = %for.cond142 + %tbl8ctype = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %133, i32 0, i32 13 + %134 = load i8*, i8** %tbl8ctype, align 8 + %135 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8ctype146 = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %135, i32 0, i32 0 + %136 = load i32, i32* %u, align 4 + %shr = ashr i32 %136, 3 + %idxprom147 = sext i32 %shr to i64 + %arrayidx148 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8ctype146, i64 0, i64 %idxprom147 + %137 = load i8, i8* %arrayidx148, align 1 + %conv149 = zext i8 %137 to i32 + %shl150 = shl i32 %conv149, 2 + %138 = load i32, i32* %u, align 4 + %and151 = and i32 %138, 7 + %shr152 = ashr i32 %and151, 1 + %add153 = add nsw i32 %shl150, %shr152 + %idxprom154 = sext i32 %add153 to i64 + %arrayidx155 = getelementptr inbounds i8, i8* %134, i64 %idxprom154 + %139 = load i8, i8* %arrayidx155, align 1 + %conv156 = zext i8 %139 to i32 + store i32 %conv156, i32* %c, align 4 + %140 = load i32, i32* %u, align 4 + %and157 = and i32 %140, 1 + %tobool158 = icmp ne i32 %and157, 0 + %141 = load i32, i32* %c, align 4 + %shr159 = ashr i32 %141, 4 + %and160 = and i32 %141, 15 + %cond = select i1 %tobool158, i32 %shr159, i32 %and160 + store i32 %cond, i32* %c, align 4 + %142 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %code2flag = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %142, i32 0, i32 20 + %143 = load i16*, i16** %code2flag, align 8 + %144 = load i32, i32* %c, align 4 + %idxprom161 = sext i32 %144 to i64 + %arrayidx162 = getelementptr inbounds i16, i16* %143, i64 %idxprom161 + %145 = load i16, i16* %arrayidx162, align 2 + store i16 %145, i16* %m, align 2 + %146 = load i16, i16* %m, align 2 + %147 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b_data163 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %147, i32 0, i32 3 + %148 = load i32, i32* %u, align 4 + %add164 = add nsw i32 256, %148 + %idxprom165 = sext i32 %add164 to i64 + %arrayidx166 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data163, i64 0, i64 %idxprom165 + store i16 %146, i16* %arrayidx166, align 2 + %149 = load i32, i32* %u, align 4 + %add167 = add nsw i32 128, %149 + %conv168 = trunc i32 %add167 to i8 + %conv169 = sext i8 %conv168 to i32 + %cmp170 = icmp ne i32 %conv169, -1 + br i1 %cmp170, label %if.then172, label %if.end180 + +if.then172: ; preds = %for.body145 + %150 = load i16, i16* %m, align 2 + %151 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b_data173 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %151, i32 0, i32 3 + %152 = load i32, i32* %u, align 4 + %add174 = add nsw i32 128, %152 + %conv175 = trunc i32 %add174 to i8 + %conv176 = sext i8 %conv175 to i32 + %add177 = add nsw i32 128, %conv176 + %idxprom178 = sext i32 %add177 to i64 + %arrayidx179 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data173, i64 0, i64 %idxprom178 + store i16 %150, i16* %arrayidx179, align 2 + br label %if.end180 + +if.end180: ; preds = %if.then172, %for.body145 + %153 = load i32, i32* %u, align 4 + %add181 = add nsw i32 128, %153 + %conv182 = trunc i32 %add181 to i16 + %154 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data183 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %154, i32 0, i32 4 + %155 = load i32, i32* %u, align 4 + %add184 = add nsw i32 256, %155 + %idxprom185 = sext i32 %add184 to i64 + %arrayidx186 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data183, i64 0, i64 %idxprom185 + store i16 %conv182, i16* %arrayidx186, align 2 + %156 = load i32, i32* %u, align 4 + %add187 = add nsw i32 128, %156 + %conv188 = trunc i32 %add187 to i16 + %157 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data189 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %157, i32 0, i32 5 + %158 = load i32, i32* %u, align 4 + %add190 = add nsw i32 256, %158 + %idxprom191 = sext i32 %add190 to i64 + %arrayidx192 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data189, i64 0, i64 %idxprom191 + store i16 %conv188, i16* %arrayidx192, align 2 + %159 = load i16, i16* %m, align 2 + %conv193 = zext i16 %159 to i32 + %and194 = and i32 %conv193, 768 + %tobool195 = icmp ne i32 %and194, 0 + br i1 %tobool195, label %if.then196, label %for.inc268 + +if.then196: ; preds = %if.end180 + %160 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8uplow = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %160, i32 0, i32 15 + %161 = load i8*, i8** %tbl8uplow, align 8 + %162 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8uplow197 = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %162, i32 0, i32 1 + %163 = load i32, i32* %u, align 4 + %shr198 = ashr i32 %163, 3 + %idxprom199 = sext i32 %shr198 to i64 + %arrayidx200 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8uplow197, i64 0, i64 %idxprom199 + %164 = load i8, i8* %arrayidx200, align 1 + %conv201 = zext i8 %164 to i32 + %shl202 = shl i32 %conv201, 3 + %165 = load i32, i32* %u, align 4 + %add203 = add nsw i32 128, %165 + %and204 = and i32 %add203, 7 + %add205 = add nsw i32 %shl202, %and204 + %idxprom206 = sext i32 %add205 to i64 + %arrayidx207 = getelementptr inbounds i8, i8* %161, i64 %idxprom206 + %166 = load i8, i8* %arrayidx207, align 1 + %conv208 = zext i8 %166 to i32 + store i32 %conv208, i32* %c, align 4 + %167 = load i16, i16* %m, align 2 + %conv209 = zext i16 %167 to i32 + %and210 = and i32 %conv209, 512 + %tobool211 = icmp ne i32 %and210, 0 + %168 = load i32, i32* %u, align 4 + %add213 = add nsw i32 128, %168 + %169 = load i32, i32* %c, align 4 + br i1 %tobool211, label %if.then212, label %if.else239 + +if.then212: ; preds = %if.then196 + %add214 = add nsw i32 %add213, %169 + %conv215 = trunc i32 %add214 to i8 + %conv216 = zext i8 %conv215 to i16 + %170 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data217 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %170, i32 0, i32 5 + %171 = load i32, i32* %u, align 4 + %add218 = add nsw i32 256, %171 + %idxprom219 = sext i32 %add218 to i64 + %arrayidx220 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data217, i64 0, i64 %idxprom219 + store i16 %conv216, i16* %arrayidx220, align 2 + %172 = load i32, i32* %u, align 4 + %add221 = add nsw i32 128, %172 + %conv222 = trunc i32 %add221 to i8 + %conv223 = sext i8 %conv222 to i32 + %cmp224 = icmp ne i32 %conv223, -1 + br i1 %cmp224, label %if.then226, label %for.inc268 + +if.then226: ; preds = %if.then212 + %173 = load i32, i32* %u, align 4 + %add227 = add nsw i32 128, %173 + %174 = load i32, i32* %c, align 4 + %add228 = add nsw i32 %add227, %174 + %conv229 = trunc i32 %add228 to i8 + %conv230 = zext i8 %conv229 to i16 + %175 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data231 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %175, i32 0, i32 5 + %176 = load i32, i32* %u, align 4 + %add232 = add nsw i32 128, %176 + %conv233 = trunc i32 %add232 to i8 + %conv234 = sext i8 %conv233 to i32 + %add235 = add nsw i32 128, %conv234 + %idxprom236 = sext i32 %add235 to i64 + %arrayidx237 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data231, i64 0, i64 %idxprom236 + store i16 %conv230, i16* %arrayidx237, align 2 + br label %for.inc268 + +if.else239: ; preds = %if.then196 + %sub241 = sub nsw i32 %add213, %169 + %conv242 = trunc i32 %sub241 to i8 + %conv243 = zext i8 %conv242 to i16 + %177 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data244 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %177, i32 0, i32 4 + %178 = load i32, i32* %u, align 4 + %add245 = add nsw i32 256, %178 + %idxprom246 = sext i32 %add245 to i64 + %arrayidx247 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data244, i64 0, i64 %idxprom246 + store i16 %conv243, i16* %arrayidx247, align 2 + %179 = load i32, i32* %u, align 4 + %add248 = add nsw i32 128, %179 + %conv249 = trunc i32 %add248 to i8 + %conv250 = sext i8 %conv249 to i32 + %cmp251 = icmp ne i32 %conv250, -1 + br i1 %cmp251, label %if.then253, label %for.inc268 + +if.then253: ; preds = %if.else239 + %180 = load i32, i32* %u, align 4 + %add254 = add nsw i32 128, %180 + %181 = load i32, i32* %c, align 4 + %sub255 = sub nsw i32 %add254, %181 + %conv256 = trunc i32 %sub255 to i8 + %conv257 = zext i8 %conv256 to i16 + %182 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data258 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %182, i32 0, i32 4 + %183 = load i32, i32* %u, align 4 + %add259 = add nsw i32 128, %183 + %conv260 = trunc i32 %add259 to i8 + %conv261 = sext i8 %conv260 to i32 + %add262 = add nsw i32 128, %conv261 + %idxprom263 = sext i32 %add262 to i64 + %arrayidx264 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data258, i64 0, i64 %idxprom263 + store i16 %conv257, i16* %arrayidx264, align 2 + br label %for.inc268 + +for.inc268: ; preds = %if.end180, %if.else239, %if.then253, %if.then212, %if.then226 + %184 = load i32, i32* %u, align 4 + %inc269 = add nsw i32 %184, 1 + store i32 %inc269, i32* %u, align 4 + br label %for.cond142 + +for.end270: ; preds = %for.cond142 + %__ctype_b_data271 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %133, i32 0, i32 3 + %arraydecay272 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data271, i64 0, i64 0 + %add.ptr273 = getelementptr inbounds i16, i16* %arraydecay272, i64 128 + %185 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %185, i32 0, i32 0 + store i16* %add.ptr273, i16** %__ctype_b, align 8 + %186 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data274 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %186, i32 0, i32 4 + %arraydecay275 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data274, i64 0, i64 0 + %add.ptr276 = getelementptr inbounds i16, i16* %arraydecay275, i64 128 + %187 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %187, i32 0, i32 1 + store i16* %add.ptr276, i16** %__ctype_tolower, align 8 + %188 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data277 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %188, i32 0, i32 5 + %arraydecay278 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data277, i64 0, i64 0 + %add.ptr279 = getelementptr inbounds i16, i16* %arraydecay278, i64 128 + %189 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %189, i32 0, i32 2 + store i16* %add.ptr279, i16** %__ctype_toupper, align 8 + br label %if.end280 + +if.end280: ; preds = %if.then107, %if.else, %for.end270 + %190 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %outdigit_length = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %190, i32 0, i32 11 + %arraydecay281 = getelementptr inbounds [10 x i8], [10 x i8]* %outdigit_length, i64 0, i64 0 + store i8* %arraydecay281, i8** %d, align 8 + %191 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %outdigit0_mb = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %191, i32 0, i32 28 + store i8** %outdigit0_mb, i8*** %x, align 8 + store i32 0, i32* %c, align 4 + br label %for.cond282 + +for.cond282: ; preds = %for.body285, %if.end280 + %192 = load i32, i32* %c, align 4 + %cmp283 = icmp slt i32 %192, 10 + br i1 %cmp283, label %for.body285, label %if.end313 + +for.body285: ; preds = %for.cond282 + %193 = load i8**, i8*** %x, align 8 + %194 = load i32, i32* %c, align 4 + %idxprom286 = sext i32 %194 to i64 + %arrayidx287 = getelementptr inbounds i8*, i8** %193, i64 %idxprom286 + %195 = load i8*, i8** %arrayidx287, align 8 + %call288 = call i64 @strlen(i8* %195) #20 + %conv289 = trunc i64 %call288 to i8 + %196 = load i8*, i8** %d, align 8 + %197 = load i32, i32* %c, align 4 + %idxprom290 = sext i32 %197 to i64 + %arrayidx291 = getelementptr inbounds i8, i8* %196, i64 %idxprom290 + store i8 %conv289, i8* %arrayidx291, align 1 + %198 = load i32, i32* %c, align 4 + %inc293 = add nsw i32 %198, 1 + store i32 %inc293, i32* %c, align 4 + br label %for.cond282 + +if.else295: ; preds = %if.end92 + %199 = load i32, i32* %i, align 4 + %cmp296 = icmp eq i32 %199, 1 + br i1 %cmp296, label %if.then298, label %if.end313 + +if.then298: ; preds = %if.else295 + %200 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %decimal_point_wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %200, i32 0, i32 24 + %201 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %decimal_point = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %201, i32 0, i32 39 + %202 = load i8*, i8** %decimal_point, align 8 + %203 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call299 = call i32 @__locale_mbrtowc_l(i32* %decimal_point_wc, i8* %202, %struct.__uclibc_locale_struct.201* %203) #18 + %204 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %decimal_point_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %204, i32 0, i32 26 + store i32 %call299, i32* %decimal_point_len, align 8 + %205 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %grouping = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %205, i32 0, i32 41 + %206 = load i8*, i8** %grouping, align 8 + %207 = load i8, i8* %206, align 1 + %tobool300 = icmp ne i8 %207, 0 + br i1 %tobool300, label %if.then301, label %if.end313 + +if.then301: ; preds = %if.then298 + %208 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep_wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %208, i32 0, i32 25 + %209 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %209, i32 0, i32 40 + %210 = load i8*, i8** %thousands_sep, align 8 + %211 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call302 = call i32 @__locale_mbrtowc_l(i32* %thousands_sep_wc, i8* %210, %struct.__uclibc_locale_struct.201* %211) #18 + %212 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %212, i32 0, i32 27 + store i32 %call302, i32* %thousands_sep_len, align 4 + %213 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep_len303 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %213, i32 0, i32 27 + %214 = load i32, i32* %thousands_sep_len303, align 4 + %cmp304 = icmp eq i32 %214, 0 + br i1 %cmp304, label %if.then306, label %if.end313 + +if.then306: ; preds = %if.then301 + %215 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep307 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %215, i32 0, i32 40 + %216 = load i8*, i8** %thousands_sep307, align 8 + %217 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %grouping308 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %217, i32 0, i32 41 + store i8* %216, i8** %grouping308, align 8 + br label %if.end313 + +if.end313: ; preds = %for.cond282, %if.then298, %if.then306, %if.then301, %if.else295, %lor.lhs.false27 + %218 = load i32, i32* %i, align 4 + %inc314 = add nsw i32 %218, 1 + store i32 %inc314, i32* %i, align 4 + %219 = load i8*, i8** %p.addr, align 8 + %add.ptr315 = getelementptr inbounds i8, i8* %219, i64 2 + store i8* %add.ptr315, i8** %p.addr, align 8 + %220 = load i8*, i8** %s, align 8 + %add.ptr316 = getelementptr inbounds i8, i8* %220, i64 2 + store i8* %add.ptr316, i8** %s, align 8 + %221 = load i32, i32* %i, align 4 + %cmp317 = icmp slt i32 %221, 6 + br i1 %cmp317, label %do.body, label %do.end + +do.end: ; preds = %if.end313 + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end, %if.then18 + %222 = load i32, i32* %retval, align 4 + ret i32 %222 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @init_cur_collate(i32 %der_num, %struct.__collate_t.200* %cur_collate) #0 { +entry: + %retval = alloca i32, align 4 + %der_num.addr = alloca i32, align 4 + %cur_collate.addr = alloca %struct.__collate_t.200*, align 8 + %__locale_collate_tbl = alloca i16*, align 8 + %cdh = alloca %struct.coldata_header_t*, align 8 + %cdb = alloca %struct.coldata_base_t*, align 8 + %cdd = alloca %struct.winsize*, align 8 + %p = alloca i16*, align 8 + %n = alloca i64, align 8 + %i = alloca i16, align 2 + %w = alloca i16, align 2 + store i32 %der_num, i32* %der_num.addr, align 4 + store %struct.__collate_t.200* %cur_collate, %struct.__collate_t.200** %cur_collate.addr, align 8 + %0 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %collate_data = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %0, i32 0, i32 28 + %arraydecay = getelementptr inbounds [91141 x i16], [91141 x i16]* %collate_data, i64 0, i64 0 + store i16* %arraydecay, i16** %__locale_collate_tbl, align 8 + %1 = load i32, i32* %der_num.addr, align 4 + %tobool = icmp ne i32 %1, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %2 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %num_weights = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %2, i32 0, i32 0 + store i16 0, i16* %num_weights, align 8 + store i32 1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* %der_num.addr, align 4 + %dec = add nsw i32 %3, -1 + store i32 %dec, i32* %der_num.addr, align 4 + %4 = load i16*, i16** %__locale_collate_tbl, align 8 + %5 = bitcast i16* %4 to %struct.coldata_header_t* + store %struct.coldata_header_t* %5, %struct.coldata_header_t** %cdh, align 8 + %6 = load i16*, i16** %__locale_collate_tbl, align 8 + %7 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_base = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %7, i32 0, i32 0 + %8 = load i16, i16* %num_base, align 2 + %conv = zext i16 %8 to i64 + %mul = mul i64 %conv, 38 + %add = add i64 16, %mul + %9 = load i32, i32* %der_num.addr, align 4 + %conv1 = sext i32 %9 to i64 + %mul2 = mul i64 %conv1, 8 + %add3 = add i64 %add, %mul2 + %div = udiv i64 %add3, 2 + %add.ptr = getelementptr inbounds i16, i16* %6, i64 %div + %10 = bitcast i16* %add.ptr to %struct.winsize* + store %struct.winsize* %10, %struct.winsize** %cdd, align 8 + %11 = load i16*, i16** %__locale_collate_tbl, align 8 + %12 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %base_idx = getelementptr inbounds %struct.winsize, %struct.winsize* %12, i32 0, i32 0 + %13 = load i16, i16* %base_idx, align 2 + %conv4 = zext i16 %13 to i64 + %mul5 = mul i64 %conv4, 38 + %add6 = add i64 16, %mul5 + %div7 = udiv i64 %add6, 2 + %add.ptr8 = getelementptr inbounds i16, i16* %11, i64 %div7 + %14 = bitcast i16* %add.ptr8 to %struct.coldata_base_t* + store %struct.coldata_base_t* %14, %struct.coldata_base_t** %cdb, align 8 + %15 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %16 = bitcast %struct.__collate_t.200* %15 to i8* + %17 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %18 = bitcast %struct.coldata_base_t* %17 to i8* + %call = call i8* @memcpy(i8* %16, i8* %18, i64 28) #19 + %19 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %undefined_idx = getelementptr inbounds %struct.winsize, %struct.winsize* %19, i32 0, i32 1 + %20 = load i16, i16* %undefined_idx, align 2 + %21 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %undefined_idx9 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %21, i32 0, i32 9 + store i16 %20, i16* %undefined_idx9, align 2 + %22 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ti_shift = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %22, i32 0, i32 3 + %23 = load i16, i16* %ti_shift, align 2 + %conv10 = zext i16 %23 to i32 + %shl = shl i32 1, %conv10 + %sub = sub nsw i32 %shl, 1 + %conv11 = trunc i32 %sub to i16 + %24 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ti_mask = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %24, i32 0, i32 15 + store i16 %conv11, i16* %ti_mask, align 2 + %25 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ii_shift = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %25, i32 0, i32 2 + %26 = load i16, i16* %ii_shift, align 4 + %conv12 = zext i16 %26 to i32 + %shl13 = shl i32 1, %conv12 + %sub14 = sub nsw i32 %shl13, 1 + %conv15 = trunc i32 %sub14 to i16 + %27 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ii_mask = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %27, i32 0, i32 14 + store i16 %conv15, i16* %ii_mask, align 4 + %28 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_base16 = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %28, i32 0, i32 0 + %29 = load i16, i16* %num_base16, align 2 + %conv17 = zext i16 %29 to i64 + %mul18 = mul i64 %conv17, 38 + %add19 = add i64 16, %mul18 + %30 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_der = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %30, i32 0, i32 1 + %31 = load i16, i16* %num_der, align 2 + %conv20 = zext i16 %31 to i64 + %mul21 = mul i64 %conv20, 8 + %add22 = add i64 %add19, %mul21 + %div23 = udiv i64 %add22, 2 + store i64 %div23, i64* %n, align 8 + %32 = load i16*, i16** %__locale_collate_tbl, align 8 + %33 = load i64, i64* %n, align 8 + %add.ptr24 = getelementptr inbounds i16, i16* %32, i64 %33 + %34 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %index2weight_offset = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %34, i32 0, i32 14 + %35 = load i16, i16* %index2weight_offset, align 2 + %conv25 = zext i16 %35 to i32 + %idx.ext = sext i32 %conv25 to i64 + %add.ptr26 = getelementptr inbounds i16, i16* %add.ptr24, i64 %idx.ext + %36 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %36, i32 0, i32 16 + store i16* %add.ptr26, i16** %index2weight_tbl, align 8 + %37 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_index2weight = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %37, i32 0, i32 3 + %38 = load i16, i16* %num_index2weight, align 2 + %conv27 = zext i16 %38 to i64 + %39 = load i64, i64* %n, align 8 + %add28 = add i64 %39, %conv27 + store i64 %add28, i64* %n, align 8 + %40 = load i16*, i16** %__locale_collate_tbl, align 8 + %41 = load i64, i64* %n, align 8 + %add.ptr29 = getelementptr inbounds i16, i16* %40, i64 %41 + %42 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %index2ruleidx_offset = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %42, i32 0, i32 15 + %43 = load i16, i16* %index2ruleidx_offset, align 2 + %conv30 = zext i16 %43 to i32 + %idx.ext31 = sext i32 %conv30 to i64 + %add.ptr32 = getelementptr inbounds i16, i16* %add.ptr29, i64 %idx.ext31 + %44 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %44, i32 0, i32 17 + store i16* %add.ptr32, i16** %index2ruleidx_tbl, align 8 + %45 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_index2weight33 = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %45, i32 0, i32 3 + %46 = load i16, i16* %num_index2weight33, align 2 + %conv34 = zext i16 %46 to i64 + %47 = load i64, i64* %n, align 8 + %add35 = add i64 %47, %conv34 + store i64 %add35, i64* %n, align 8 + %48 = load i16*, i16** %__locale_collate_tbl, align 8 + %49 = load i64, i64* %n, align 8 + %add.ptr36 = getelementptr inbounds i16, i16* %48, i64 %49 + %50 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %multistart_offset = getelementptr inbounds %struct.winsize, %struct.winsize* %50, i32 0, i32 3 + %51 = load i16, i16* %multistart_offset, align 2 + %conv37 = zext i16 %51 to i32 + %idx.ext38 = sext i32 %conv37 to i64 + %add.ptr39 = getelementptr inbounds i16, i16* %add.ptr36, i64 %idx.ext38 + %52 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %multistart_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %52, i32 0, i32 18 + store i16* %add.ptr39, i16** %multistart_tbl, align 8 + %53 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_multistart = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %53, i32 0, i32 5 + %54 = load i16, i16* %num_multistart, align 2 + %conv40 = zext i16 %54 to i64 + %55 = load i64, i64* %n, align 8 + %add41 = add i64 %55, %conv40 + store i64 %add41, i64* %n, align 8 + %56 = load i16*, i16** %__locale_collate_tbl, align 8 + %57 = load i64, i64* %n, align 8 + %add.ptr42 = getelementptr inbounds i16, i16* %56, i64 %57 + %58 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %overrides_offset = getelementptr inbounds %struct.winsize, %struct.winsize* %58, i32 0, i32 2 + %59 = load i16, i16* %overrides_offset, align 2 + %conv43 = zext i16 %59 to i32 + %idx.ext44 = sext i32 %conv43 to i64 + %add.ptr45 = getelementptr inbounds i16, i16* %add.ptr42, i64 %idx.ext44 + %60 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %overrides_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %60, i32 0, i32 20 + store i16* %add.ptr45, i16** %overrides_tbl, align 8 + %61 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_override = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %61, i32 0, i32 6 + %62 = load i16, i16* %num_override, align 2 + %conv46 = zext i16 %62 to i64 + %63 = load i64, i64* %n, align 8 + %add47 = add i64 %63, %conv46 + store i64 %add47, i64* %n, align 8 + %64 = load i16*, i16** %__locale_collate_tbl, align 8 + %65 = load i64, i64* %n, align 8 + %add.ptr48 = getelementptr inbounds i16, i16* %64, i64 %65 + %66 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ruletable = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %66, i32 0, i32 22 + store i16* %add.ptr48, i16** %ruletable, align 8 + %67 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_ruletable = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %67, i32 0, i32 7 + %68 = load i16, i16* %num_ruletable, align 2 + %conv49 = zext i16 %68 to i64 + %69 = load i64, i64* %n, align 8 + %add50 = add i64 %69, %conv49 + store i64 %add50, i64* %n, align 8 + %70 = load i16*, i16** %__locale_collate_tbl, align 8 + %71 = load i64, i64* %n, align 8 + %add.ptr51 = getelementptr inbounds i16, i16* %70, i64 %71 + %72 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %weightstr = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %72, i32 0, i32 21 + store i16* %add.ptr51, i16** %weightstr, align 8 + %73 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_weightstr = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %73, i32 0, i32 4 + %74 = load i16, i16* %num_weightstr, align 2 + %conv52 = zext i16 %74 to i64 + %75 = load i64, i64* %n, align 8 + %add53 = add i64 %75, %conv52 + store i64 %add53, i64* %n, align 8 + %76 = load i16*, i16** %__locale_collate_tbl, align 8 + %77 = load i64, i64* %n, align 8 + %add.ptr54 = getelementptr inbounds i16, i16* %76, i64 %77 + %78 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %wcs2colidt_offset_hi = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %78, i32 0, i32 18 + %79 = load i16, i16* %wcs2colidt_offset_hi, align 2 + %conv55 = zext i16 %79 to i64 + %shl56 = shl i64 %conv55, 16 + %add.ptr57 = getelementptr inbounds i16, i16* %add.ptr54, i64 %shl56 + %80 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %wcs2colidt_offset_low = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %80, i32 0, i32 17 + %81 = load i16, i16* %wcs2colidt_offset_low, align 2 + %conv58 = zext i16 %81 to i32 + %idx.ext59 = sext i32 %conv58 to i64 + %add.ptr60 = getelementptr inbounds i16, i16* %add.ptr57, i64 %idx.ext59 + %82 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %wcs2colidt_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %82, i32 0, i32 19 + store i16* %add.ptr60, i16** %wcs2colidt_tbl, align 8 + %83 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %MAX_WEIGHTS = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %83, i32 0, i32 2 + %84 = load i16, i16* %MAX_WEIGHTS, align 2 + %85 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %MAX_WEIGHTS61 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %85, i32 0, i32 25 + store i16 %84, i16* %MAX_WEIGHTS61, align 8 + %86 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %max_col_index = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %86, i32 0, i32 8 + %87 = load i16, i16* %max_col_index, align 8 + %conv62 = zext i16 %87 to i32 + %mul63 = mul nsw i32 2, %conv62 + %add64 = add nsw i32 %mul63, 2 + %conv65 = sext i32 %add64 to i64 + %call66 = call noalias i8* @calloc(i64 %conv65, i64 2) #19 + %88 = bitcast i8* %call66 to i16* + %89 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %89, i32 0, i32 23 + store i16* %88, i16** %index2weight, align 8 + %90 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight67 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %90, i32 0, i32 23 + %91 = load i16*, i16** %index2weight67, align 8 + %tobool68 = icmp ne i16* %91, null + br i1 %tobool68, label %if.end70, label %if.then69 + +if.then69: ; preds = %if.end + store i32 0, i32* %retval, align 4 + br label %return + +if.end70: ; preds = %if.end + %92 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight71 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %92, i32 0, i32 23 + %93 = load i16*, i16** %index2weight71, align 8 + %94 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %max_col_index72 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %94, i32 0, i32 8 + %95 = load i16, i16* %max_col_index72, align 8 + %conv73 = zext i16 %95 to i32 + %idx.ext74 = sext i32 %conv73 to i64 + %add.ptr75 = getelementptr inbounds i16, i16* %93, i64 %idx.ext74 + %add.ptr76 = getelementptr inbounds i16, i16* %add.ptr75, i64 1 + %96 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %96, i32 0, i32 24 + store i16* %add.ptr76, i16** %index2ruleidx, align 8 + %97 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight77 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %97, i32 0, i32 23 + %98 = load i16*, i16** %index2weight77, align 8 + %99 = bitcast i16* %98 to i8* + %100 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight_tbl78 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %100, i32 0, i32 16 + %101 = load i16*, i16** %index2weight_tbl78, align 8 + %102 = bitcast i16* %101 to i8* + %103 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %num_col_base = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %103, i32 0, i32 7 + %104 = load i16, i16* %num_col_base, align 2 + %conv79 = zext i16 %104 to i64 + %mul80 = mul i64 %conv79, 2 + %call81 = call i8* @memcpy(i8* %99, i8* %102, i64 %mul80) #19 + %105 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx82 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %105, i32 0, i32 24 + %106 = load i16*, i16** %index2ruleidx82, align 8 + %107 = bitcast i16* %106 to i8* + %108 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx_tbl83 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %108, i32 0, i32 17 + %109 = load i16*, i16** %index2ruleidx_tbl83, align 8 + %110 = bitcast i16* %109 to i8* + %111 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %num_col_base84 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %111, i32 0, i32 7 + %112 = load i16, i16* %num_col_base84, align 2 + %conv85 = zext i16 %112 to i64 + %mul86 = mul i64 %conv85, 2 + %call87 = call i8* @memcpy(i8* %107, i8* %110, i64 %mul86) #19 + %113 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %overrides_tbl88 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %113, i32 0, i32 20 + %114 = load i16*, i16** %overrides_tbl88, align 8 + store i16* %114, i16** %p, align 8 + br label %while.cond + +while.cond: ; preds = %do.body, %if.end70 + %115 = load i16*, i16** %p, align 8 + %116 = load i16, i16* %115, align 2 + %conv89 = zext i16 %116 to i32 + %cmp = icmp sgt i32 %conv89, 1 + br i1 %cmp, label %while.body, label %while.cond105 + +while.body: ; preds = %while.cond + %117 = load i16*, i16** %p, align 8 + %incdec.ptr = getelementptr inbounds i16, i16* %117, i32 1 + store i16* %incdec.ptr, i16** %p, align 8 + %118 = load i16, i16* %117, align 2 + %conv91 = zext i16 %118 to i64 + store i64 %conv91, i64* %n, align 8 + %119 = load i16*, i16** %p, align 8 + %incdec.ptr92 = getelementptr inbounds i16, i16* %119, i32 1 + store i16* %incdec.ptr92, i16** %p, align 8 + %120 = load i16, i16* %119, align 2 + store i16 %120, i16* %w, align 2 + br label %do.body + +do.body: ; preds = %do.body, %while.body + %121 = load i16*, i16** %p, align 8 + %incdec.ptr93 = getelementptr inbounds i16, i16* %121, i32 1 + store i16* %incdec.ptr93, i16** %p, align 8 + %122 = load i16, i16* %121, align 2 + store i16 %122, i16* %i, align 2 + %123 = load i16, i16* %w, align 2 + %inc = add i16 %123, 1 + store i16 %inc, i16* %w, align 2 + %124 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight94 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %124, i32 0, i32 23 + %125 = load i16*, i16** %index2weight94, align 8 + %126 = load i16, i16* %i, align 2 + %conv95 = zext i16 %126 to i32 + %sub96 = sub nsw i32 %conv95, 1 + %idxprom = sext i32 %sub96 to i64 + %arrayidx = getelementptr inbounds i16, i16* %125, i64 %idxprom + store i16 %123, i16* %arrayidx, align 2 + %127 = load i16*, i16** %p, align 8 + %incdec.ptr97 = getelementptr inbounds i16, i16* %127, i32 1 + store i16* %incdec.ptr97, i16** %p, align 8 + %128 = load i16, i16* %127, align 2 + %129 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx98 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %129, i32 0, i32 24 + %130 = load i16*, i16** %index2ruleidx98, align 8 + %131 = load i16, i16* %i, align 2 + %conv99 = zext i16 %131 to i32 + %sub100 = sub nsw i32 %conv99, 1 + %idxprom101 = sext i32 %sub100 to i64 + %arrayidx102 = getelementptr inbounds i16, i16* %130, i64 %idxprom101 + store i16 %128, i16* %arrayidx102, align 2 + %132 = load i64, i64* %n, align 8 + %dec103 = add i64 %132, -1 + store i64 %dec103, i64* %n, align 8 + %tobool104 = icmp ne i64 %dec103, 0 + br i1 %tobool104, label %do.body, label %while.cond + +while.cond105: ; preds = %while.cond, %while.body108 + %133 = load i16*, i16** %p, align 8 + %incdec.ptr106 = getelementptr inbounds i16, i16* %133, i32 1 + store i16* %incdec.ptr106, i16** %p, align 8 + %134 = load i16, i16* %incdec.ptr106, align 2 + %tobool107 = icmp ne i16 %134, 0 + br i1 %tobool107, label %while.body108, label %while.end121 + +while.body108: ; preds = %while.cond105 + %135 = load i16*, i16** %p, align 8 + %136 = load i16, i16* %135, align 2 + store i16 %136, i16* %i, align 2 + %137 = load i16*, i16** %p, align 8 + %incdec.ptr109 = getelementptr inbounds i16, i16* %137, i32 1 + store i16* %incdec.ptr109, i16** %p, align 8 + %138 = load i16, i16* %incdec.ptr109, align 2 + %139 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight110 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %139, i32 0, i32 23 + %140 = load i16*, i16** %index2weight110, align 8 + %141 = load i16, i16* %i, align 2 + %conv111 = zext i16 %141 to i32 + %sub112 = sub nsw i32 %conv111, 1 + %idxprom113 = sext i32 %sub112 to i64 + %arrayidx114 = getelementptr inbounds i16, i16* %140, i64 %idxprom113 + store i16 %138, i16* %arrayidx114, align 2 + %142 = load i16*, i16** %p, align 8 + %incdec.ptr115 = getelementptr inbounds i16, i16* %142, i32 1 + store i16* %incdec.ptr115, i16** %p, align 8 + %143 = load i16, i16* %incdec.ptr115, align 2 + %144 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx116 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %144, i32 0, i32 24 + %145 = load i16*, i16** %index2ruleidx116, align 8 + %146 = load i16, i16* %i, align 2 + %conv117 = zext i16 %146 to i32 + %sub118 = sub nsw i32 %conv117, 1 + %idxprom119 = sext i32 %sub118 to i64 + %arrayidx120 = getelementptr inbounds i16, i16* %145, i64 %idxprom119 + store i16 %143, i16* %arrayidx120, align 2 + br label %while.cond105 + +while.end121: ; preds = %while.cond105 + store i16 0, i16* %i, align 2 + br label %for.cond + +for.cond: ; preds = %for.inc, %while.end121 + %147 = load i16, i16* %i, align 2 + %conv122 = zext i16 %147 to i32 + %148 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %multistart_tbl123 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %148, i32 0, i32 18 + %149 = load i16*, i16** %multistart_tbl123, align 8 + %arrayidx124 = getelementptr inbounds i16, i16* %149, i64 0 + %150 = load i16, i16* %arrayidx124, align 2 + %conv125 = zext i16 %150 to i32 + %cmp126 = icmp slt i32 %conv122, %conv125 + br i1 %cmp126, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %151 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %multistart_tbl128 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %151, i32 0, i32 18 + %152 = load i16*, i16** %multistart_tbl128, align 8 + store i16* %152, i16** %p, align 8 + %153 = load i16*, i16** %p, align 8 + %154 = load i16, i16* %i, align 2 + %idxprom129 = zext i16 %154 to i64 + %arrayidx130 = getelementptr inbounds i16, i16* %153, i64 %idxprom129 + %155 = load i16, i16* %arrayidx130, align 2 + %conv131 = zext i16 %155 to i32 + %156 = load i16*, i16** %p, align 8 + %idx.ext132 = sext i32 %conv131 to i64 + %add.ptr133 = getelementptr inbounds i16, i16* %156, i64 %idx.ext132 + store i16* %add.ptr133, i16** %p, align 8 + br label %do.body134 + +do.body134: ; preds = %do.body141, %for.body + %157 = load i16*, i16** %p, align 8 + %incdec.ptr135 = getelementptr inbounds i16, i16* %157, i32 1 + store i16* %incdec.ptr135, i16** %p, align 8 + %158 = load i16, i16* %157, align 2 + %conv136 = zext i16 %158 to i64 + store i64 %conv136, i64* %n, align 8 + %159 = load i16*, i16** %p, align 8 + %160 = load i16, i16* %159, align 2 + %tobool138 = icmp ne i16 %160, 0 + br i1 %tobool138, label %do.body141, label %for.inc + +do.body141: ; preds = %do.body134, %do.body141 + %161 = load i16*, i16** %p, align 8 + %incdec.ptr143 = getelementptr inbounds i16, i16* %161, i32 1 + store i16* %incdec.ptr143, i16** %p, align 8 + %162 = load i16, i16* %161, align 2 + %tobool144 = icmp ne i16 %162, 0 + br i1 %tobool144, label %do.body141, label %do.body134 + +for.inc: ; preds = %do.body134 + %163 = load i16, i16* %i, align 2 + %inc150 = add i16 %163, 1 + store i16 %inc150, i16* %i, align 2 + br label %for.cond + +for.end: ; preds = %for.cond + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %for.end, %if.then69, %if.then + %164 = load i32, i32* %retval, align 4 + ret i32 %164 +} + +; Function Attrs: nounwind +declare void @free(i8*) #2 + +; Function Attrs: nounwind +declare noalias i8* @calloc(i64, i64) #2 + +; Function Attrs: noinline nounwind uwtable +define hidden void @_locale_init_l(%struct.__uclibc_locale_struct.201* %base) #0 { +entry: + %base.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + store %struct.__uclibc_locale_struct.201* %base, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 6 + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + %call = call i8* @memset(i8* %arraydecay, i32 0, i64 14) #19 + %1 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale1 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %1, i32 0, i32 6 + %arrayidx = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale1, i64 0, i64 0 + store i8 35, i8* %arrayidx, align 8 + %2 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_item_count = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %2, i32 0, i32 8 + %arraydecay2 = getelementptr inbounds [6 x i8], [6 x i8]* %category_item_count, i64 0, i64 0 + %3 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_common_item_offsets_LEN = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %3, i32 0, i32 29 + %arraydecay3 = getelementptr inbounds [6 x i8], [6 x i8]* %lc_common_item_offsets_LEN, i64 0, i64 0 + %call4 = call i8* @memcpy(i8* %arraydecay2, i8* %arraydecay3, i64 6) #19 + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_item_count5 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %4, i32 0, i32 8 + %arrayidx6 = getelementptr inbounds [6 x i8], [6 x i8]* %category_item_count5, i64 0, i64 0 + %5 = load i8, i8* %arrayidx6, align 2 + %inc = add i8 %5, 1 + store i8 %inc, i8* %arrayidx6, align 2 + %6 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %6, i32 0, i32 7 + %arrayidx7 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets, i64 0, i64 0 + store i16 2488, i16* %arrayidx7, align 2 + %7 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets8 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %7, i32 0, i32 7 + %arrayidx9 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets8, i64 0, i64 1 + store i16 2576, i16* %arrayidx9, align 2 + %8 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets10 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %8, i32 0, i32 7 + %arrayidx11 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets10, i64 0, i64 2 + store i16 2600, i16* %arrayidx11, align 2 + %9 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets12 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %9, i32 0, i32 7 + %arrayidx13 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets12, i64 0, i64 3 + store i16 2776, i16* %arrayidx13, align 2 + %10 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets14 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %10, i32 0, i32 7 + %arrayidx15 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets14, i64 0, i64 5 + store i16 3176, i16* %arrayidx15, align 2 + %11 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8ctype = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %11, i32 0, i32 0 + %12 = bitcast [420 x i8]* %tbl8ctype to i8* + %13 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8ctype16 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %13, i32 0, i32 13 + store i8* %12, i8** %tbl8ctype16, align 8 + %14 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8uplow = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %14, i32 0, i32 1 + %15 = bitcast [504 x i8]* %tbl8uplow to i8* + %16 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8uplow17 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %16, i32 0, i32 15 + store i8* %15, i8** %tbl8uplow17, align 8 + %17 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8c2wc = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %17, i32 0, i32 2 + %18 = bitcast [1760 x i16]* %tbl8c2wc to i16* + %19 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8c2wc18 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %19, i32 0, i32 17 + store i16* %18, i16** %tbl8c2wc18, align 8 + %20 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8wc2c = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %20, i32 0, i32 3 + %21 = bitcast [4528 x i8]* %tbl8wc2c to i8* + %22 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8wc2c19 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %22, i32 0, i32 19 + store i8* %21, i8** %tbl8wc2c19, align 8 + %23 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tblwctype = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %23, i32 0, i32 4 + %24 = bitcast [3604 x i8]* %tblwctype to i8* + %25 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tblwctype20 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %25, i32 0, i32 21 + store i8* %24, i8** %tblwctype20, align 8 + %26 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tblwuplow = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %26, i32 0, i32 5 + %27 = bitcast [1680 x i8]* %tblwuplow to i8* + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tblwuplow21 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %28, i32 0, i32 22 + store i8* %27, i8** %tblwuplow21, align 8 + %29 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tblwuplow_diff = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %29, i32 0, i32 6 + %30 = bitcast [196 x i16]* %tblwuplow_diff to i16* + %31 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tblwuplow_diff22 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %31, i32 0, i32 23 + store i16* %30, i16** %tblwuplow_diff22, align 8 + %32 = load i16*, i16** @__C_ctype_b, align 8 + %33 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %33, i32 0, i32 0 + store i16* %32, i16** %__ctype_b, align 8 + %34 = load i16*, i16** @__C_ctype_tolower, align 8 + %35 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %35, i32 0, i32 1 + store i16* %34, i16** %__ctype_tolower, align 8 + %36 = load i16*, i16** @__C_ctype_toupper, align 8 + %37 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %37, i32 0, i32 2 + store i16* %36, i16** %__ctype_toupper, align 8 + %38 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %code2flag = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %38, i32 0, i32 20 + store i16* getelementptr inbounds ([16 x i16], [16 x i16]* @__code2flag, i64 0, i64 0), i16** %code2flag, align 8 + %39 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call23 = call i32 @_locale_set_l(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.76, i64 0, i64 0), %struct.__uclibc_locale_struct.201* %39) #18 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_locale_init() #0 { +entry: + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__global_locale, align 8 + call void @_locale_init_l(%struct.__uclibc_locale_struct.201* %0) #18 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @sigblock(i32 %mask) #0 { +entry: + %retval = alloca i32, align 4 + %mask.addr = alloca i32, align 4 + %set = alloca %struct.fd_set, align 8 + %oset = alloca %struct.fd_set, align 8 + store i32 %mask, i32* %mask.addr, align 4 + %0 = load i32, i32* %mask.addr, align 4 + %call = call i32 @sigset_set_old_mask(%struct.fd_set* %set, i32 %0) #18 + %cmp = icmp slt i32 %call, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %call1 = call i32 @sigprocmask(i32 0, %struct.fd_set* %set, %struct.fd_set* %oset) #19 + %cmp2 = icmp slt i32 %call1, 0 + br i1 %cmp2, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.end + store i32 -1, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %if.end + %call5 = call i32 @sigset_get_old_mask(%struct.fd_set* %oset) #18 + store i32 %call5, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %1 = load i32, i32* %retval, align 4 + ret i32 %1 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @sigset_set_old_mask(%struct.fd_set* %set, i32 %mask) #0 { +entry: + %set.addr = alloca %struct.fd_set*, align 8 + %mask.addr = alloca i32, align 4 + %ptr = alloca i64*, align 8 + %cnt = alloca i32, align 4 + store %struct.fd_set* %set, %struct.fd_set** %set.addr, align 8 + store i32 %mask, i32* %mask.addr, align 4 + %0 = load %struct.fd_set*, %struct.fd_set** %set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %0, i32 0, i32 0 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 0 + store i64* %arrayidx, i64** %ptr, align 8 + %1 = load i32, i32* %mask.addr, align 4 + %conv = zext i32 %1 to i64 + %2 = load i64*, i64** %ptr, align 8 + %incdec.ptr = getelementptr inbounds i64, i64* %2, i32 1 + store i64* %incdec.ptr, i64** %ptr, align 8 + store i64 %conv, i64* %2, align 8 + store i32 14, i32* %cnt, align 4 + br label %do.body + +do.body: ; preds = %do.body, %entry + %3 = load i64*, i64** %ptr, align 8 + %incdec.ptr1 = getelementptr inbounds i64, i64* %3, i32 1 + store i64* %incdec.ptr1, i64** %ptr, align 8 + store i64 0, i64* %3, align 8 + %4 = load i32, i32* %cnt, align 4 + %dec = add nsw i32 %4, -1 + store i32 %dec, i32* %cnt, align 4 + %cmp = icmp sge i32 %dec, 0 + br i1 %cmp, label %do.body, label %do.end + +do.end: ; preds = %do.body + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @sigset_get_old_mask(%struct.fd_set* %set) #0 { +entry: + %set.addr = alloca %struct.fd_set*, align 8 + store %struct.fd_set* %set, %struct.fd_set** %set.addr, align 8 + %0 = load %struct.fd_set*, %struct.fd_set** %set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %0, i32 0, i32 0 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 0 + %1 = load i64, i64* %arrayidx, align 8 + %conv = trunc i64 %1 to i32 + ret i32 %conv +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_stdio_term() #0 { +entry: + %ptr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %0, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %1, null + br i1 %tobool, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 0 + %3 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %3 to i32 + %and = and i32 %conv, 64 + %tobool1 = icmp ne i32 %and, 0 + br i1 %tobool1, label %if.then, label %for.inc + +if.then: ; preds = %for.body + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %call = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %4) #18 + br label %for.inc + +for.inc: ; preds = %for.body, %if.then + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 9 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %6, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_stdio_init() #0 { +entry: + %old_errno = alloca i32, align 4 + %0 = load i32, i32* @errno, align 4 + store i32 %0, i32* %old_errno, align 4 + %call = call i32 @isatty(i32 0) #19 + %sub = sub nsw i32 1, %call + %mul = mul i32 %sub, 256 + %1 = load i16, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 0, i32 0), align 16 + %conv = zext i16 %1 to i32 + %xor = xor i32 %conv, %mul + %conv1 = trunc i32 %xor to i16 + store i16 %conv1, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 0, i32 0), align 16 + %call2 = call i32 @isatty(i32 1) #19 + %sub3 = sub nsw i32 1, %call2 + %mul4 = mul i32 %sub3, 256 + %2 = load i16, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 1, i32 0), align 8 + %conv5 = zext i16 %2 to i32 + %xor6 = xor i32 %conv5, %mul4 + %conv7 = trunc i32 %xor6 to i16 + store i16 %conv7, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 1, i32 0), align 8 + %3 = load i32, i32* %old_errno, align 4 + store i32 %3, i32* @errno, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getchar_unlocked() #0 { +entry: + %stream = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdin, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %0, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %1, i32 0, i32 5 + %2 = load i8*, i8** %__bufpos, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 7 + %4 = load i8*, i8** %__bufgetc_u, align 8 + %cmp = icmp ult i8* %2, %4 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %entry + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 5 + %6 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + %7 = load i8, i8* %6, align 1 + %conv = zext i8 %7 to i32 + br label %cond.end + +cond.false: ; preds = %entry + %call = call i32 @__fgetc_unlocked(%struct.__STDIO_FILE_STRUCT.568* %5) #18 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ %conv, %cond.true ], [ %call, %cond.false ] + ret i32 %cond +} + +; Function Attrs: noinline noreturn nounwind uwtable +declare void @abort() #1 + +; Function Attrs: noreturn +declare void @_exit(i32) #13 + +; Function Attrs: noinline noreturn nounwind uwtable +define void @exit(i32 %rv) #1 { +entry: + %rv.addr = alloca i32, align 4 + store i32 %rv, i32* %rv.addr, align 4 + %0 = load void (i32)*, void (i32)** @__exit_cleanup, align 8 + %tobool = icmp ne void (i32)* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load void (i32)*, void (i32)** @__exit_cleanup, align 8 + %2 = load i32, i32* %rv.addr, align 4 + call void %1(i32 %2) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + call void @__uClibc_fini() #18 + call void @_stdio_term() #18 + %3 = load i32, i32* %rv.addr, align 4 + call void @_exit(i32 %3) #27 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define i8* @memcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r1 = alloca i8*, align 8 + %r2 = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %r1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %r2, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %2 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load i8*, i8** %r2, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %r2, align 8 + %4 = load i8, i8* %3, align 1 + %5 = load i8*, i8** %r1, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr1, i8** %r1, align 8 + store i8 %4, i8* %5, align 1 + %6 = load i64, i64* %n.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %7 = load i8*, i8** %s1.addr, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @memset(i8* nonnull %s, i32 %c, i64 %n) #0 { +entry: + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %n.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %1 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %2 = load i32, i32* %c.addr, align 4 + %conv = trunc i32 %2 to i8 + %3 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + store i8 %conv, i8* %3, align 1 + %4 = load i64, i64* %n.addr, align 8 + %dec = add i64 %4, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %5 = load i8*, i8** %s.addr, align 8 + ret i8* %5 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @strrchr(i8* nonnull %s, i32 %c) #14 { +entry: + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i8* null, i8** %p, align 8 + br label %do.body + +do.body: ; preds = %do.cond, %entry + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %2 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %2 to i8 + %conv2 = sext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + br i1 %cmp, label %if.then, label %do.cond + +if.then: ; preds = %do.body + %3 = load i8*, i8** %s.addr, align 8 + store i8* %3, i8** %p, align 8 + br label %do.cond + +do.cond: ; preds = %do.body, %if.then + %4 = load i8*, i8** %s.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr, i8** %s.addr, align 8 + %5 = load i8, i8* %4, align 1 + %tobool = icmp ne i8 %5, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %6 = load i8*, i8** %p, align 8 + ret i8* %6 +} + +; Function Attrs: noinline noreturn nounwind uwtable +define dso_local void @usage(i32 %status) #6 { +entry: + %status.addr = alloca i32, align 4 + store i32 %status, i32* %status.addr, align 4 + %0 = load i32, i32* %status.addr, align 4 + %cmp = icmp ne i32 %0, 0 + br i1 %cmp, label %do.body, label %if.else + +do.body: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stderr to %struct._IO_FILE**), align 8 + %2 = load i8*, i8** @program_name, align 8 + %call = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %1, i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.96, i64 0, i64 0), i8* %2) + br label %if.end + +if.else: ; preds = %entry + %3 = load i8*, i8** @program_name, align 8 + %call1 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.1.97, i64 0, i64 0), i8* %3) + %4 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call2 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([66 x i8], [66 x i8]* @.str.2.98, i64 0, i64 0), %struct._IO_FILE* %4) + call void @emit_stdin_note() + call void @emit_mandatory_arg_note() + %5 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call3 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([112 x i8], [112 x i8]* @.str.3.99, i64 0, i64 0), %struct._IO_FILE* %5) + call void @emit_tab_list_info() + %6 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call4 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.4.100, i64 0, i64 0), %struct._IO_FILE* %6) + %7 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call5 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.5.101, i64 0, i64 0), %struct._IO_FILE* %7) + call void @emit_ancillary_info(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.6.102, i64 0, i64 0)) + br label %if.end + +if.end: ; preds = %if.else, %do.body + %8 = load i32, i32* %status.addr, align 4 + call void @exit(i32 %8) #26 + unreachable +} + +declare dso_local i32 @printf(i8*, ...) #5 + +; Function Attrs: noinline nounwind uwtable +define internal void @emit_stdin_note() #3 { +entry: + %0 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.10.122, i64 0, i64 0), %struct._IO_FILE* %0) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @emit_mandatory_arg_note() #3 { +entry: + %0 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([75 x i8], [75 x i8]* @.str.11.121, i64 0, i64 0), %struct._IO_FILE* %0) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @emit_tab_list_info() #3 { +entry: + %0 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([62 x i8], [62 x i8]* @.str.11.64, i64 0, i64 0), %struct._IO_FILE* %0) + %1 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call1 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([365 x i8], [365 x i8]* @.str.12.65, i64 0, i64 0), %struct._IO_FILE* %1) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @emit_ancillary_info(i8* %program) #3 { +entry: + %program.addr = alloca i8*, align 8 + %infomap = alloca [7 x %struct.infomap], align 16 + %node = alloca i8*, align 8 + %map_prog = alloca %struct.infomap*, align 8 + %lc_messages = alloca i8*, align 8 + store i8* %program, i8** %program.addr, align 8 + %0 = bitcast [7 x %struct.infomap]* %infomap to i8* + %1 = call i8* @memcpy(i8* %0, i8* bitcast ([7 x %struct.infomap]* @__const.emit_ancillary_info.infomap to i8*), i64 112) + %2 = load i8*, i8** %program.addr, align 8 + store i8* %2, i8** %node, align 8 + %arraydecay = getelementptr inbounds [7 x %struct.infomap], [7 x %struct.infomap]* %infomap, i64 0, i64 0 + store %struct.infomap* %arraydecay, %struct.infomap** %map_prog, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %3 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + %program1 = getelementptr inbounds %struct.infomap, %struct.infomap* %3, i32 0, i32 0 + %4 = load i8*, i8** %program1, align 8 + %tobool = icmp ne i8* %4, null + br i1 %tobool, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %5 = load i8*, i8** %program.addr, align 8 + %6 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + %program2 = getelementptr inbounds %struct.infomap, %struct.infomap* %6, i32 0, i32 0 + %7 = load i8*, i8** %program2, align 8 + %call = call i32 @strcmp(i8* %5, i8* %7) #23 + %cmp = icmp eq i32 %call, 0 + %lnot = xor i1 %cmp, true + br label %land.end + +land.end: ; preds = %land.rhs, %while.cond + %8 = phi i1 [ false, %while.cond ], [ %lnot, %land.rhs ] + %9 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + br i1 %8, label %while.body, label %while.end + +while.body: ; preds = %land.end + %incdec.ptr = getelementptr inbounds %struct.infomap, %struct.infomap* %9, i32 1 + store %struct.infomap* %incdec.ptr, %struct.infomap** %map_prog, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %node3 = getelementptr inbounds %struct.infomap, %struct.infomap* %9, i32 0, i32 1 + %10 = load i8*, i8** %node3, align 8 + %tobool4 = icmp ne i8* %10, null + br i1 %tobool4, label %if.then, label %if.end + +if.then: ; preds = %while.end + %11 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + %node5 = getelementptr inbounds %struct.infomap, %struct.infomap* %11, i32 0, i32 1 + %12 = load i8*, i8** %node5, align 8 + store i8* %12, i8** %node, align 8 + br label %if.end + +if.end: ; preds = %if.then, %while.end + %call6 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.21.103, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.8.104, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.22.105, i64 0, i64 0)) + %call7 = call i8* @setlocale(i32 5, i8* null) #11 + store i8* %call7, i8** %lc_messages, align 8 + %13 = load i8*, i8** %lc_messages, align 8 + %tobool8 = icmp ne i8* %13, null + br i1 %tobool8, label %land.lhs.true, label %if.end13 + +land.lhs.true: ; preds = %if.end + %14 = load i8*, i8** %lc_messages, align 8 + %call9 = call i32 @strncmp(i8* %14, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.23.106, i64 0, i64 0), i64 3) #23 + %tobool10 = icmp ne i32 %call9, 0 + br i1 %tobool10, label %if.then11, label %if.end13 + +if.then11: ; preds = %land.lhs.true + %15 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call12 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.24.107, i64 0, i64 0), %struct._IO_FILE* %15) + br label %if.end13 + +if.end13: ; preds = %if.then11, %land.lhs.true, %if.end + %16 = load i8*, i8** %program.addr, align 8 + %call14 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.25.108, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.22.105, i64 0, i64 0), i8* %16) + %17 = load i8*, i8** %node, align 8 + %18 = load i8*, i8** %node, align 8 + %19 = load i8*, i8** %program.addr, align 8 + %cmp15 = icmp eq i8* %18, %19 + %20 = zext i1 %cmp15 to i64 + %cond = select i1 %cmp15, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.27.109, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.7.110, i64 0, i64 0) + %call16 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([51 x i8], [51 x i8]* @.str.26.111, i64 0, i64 0), i8* %17, i8* %cond) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__klee_posix_wrapped_main(i32 %argc, i8** %argv) #3 { +entry: + %retval = alloca i32, align 4 + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %c = alloca i32, align 4 + %tab_stop = alloca [2 x i8], align 1 + store i32 0, i32* %retval, align 4 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + %0 = load i8**, i8*** %argv.addr, align 8 + %arrayidx = getelementptr inbounds i8*, i8** %0, i64 0 + %1 = load i8*, i8** %arrayidx, align 8 + call void @set_program_name(i8* %1) + %call = call i8* @setlocale(i32 6, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.7.110, i64 0, i64 0)) #11 + %call1 = call i32 @atexit(void ()* @close_stdout) #11 + store i8 1, i8* @convert_entire_line, align 1 + br label %while.cond + +while.cond: ; preds = %sw.epilog, %entry + %2 = load i32, i32* %argc.addr, align 4 + %3 = load i8**, i8*** %argv.addr, align 8 + %call2 = call i32 @getopt_long(i32 %2, i8** %3, i8* getelementptr inbounds ([34 x i8], [34 x i8]* @shortopts, i64 0, i64 0), %struct.option* getelementptr inbounds ([5 x %struct.option], [5 x %struct.option]* @longopts, i64 0, i64 0), i32* null) #11 + store i32 %call2, i32* %c, align 4 + %cmp = icmp ne i32 %call2, -1 + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i32, i32* %c, align 4 + br label %NodeBlock25 + +NodeBlock25: ; preds = %while.body + %case.cmp26 = icmp eq i32 %4, 105 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %4, 116 + br i1 %case.cmp24, label %sw.bb3, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %4, 48 + br i1 %case.cmp22, label %sw.bb4, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %4, 49 + br i1 %case.cmp20, label %sw.bb4, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %4, 50 + br i1 %case.cmp18, label %sw.bb4, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %4, 51 + br i1 %case.cmp16, label %sw.bb4, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %4, 52 + br i1 %case.cmp14, label %sw.bb4, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %4, 53 + br i1 %case.cmp12, label %sw.bb4, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %4, 54 + br i1 %case.cmp10, label %sw.bb4, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %4, 55 + br i1 %case.cmp8, label %sw.bb4, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %4, 56 + br i1 %case.cmp6, label %sw.bb4, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %4, 57 + br i1 %case.cmp4, label %sw.bb4, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %4, -130 + br i1 %case.cmp2, label %sw.bb7, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %4, -131 + br i1 %case.cmp, label %sw.bb8, label %newDefault + +sw.bb: ; preds = %NodeBlock25 + store i8 0, i8* @convert_entire_line, align 1 + br label %sw.epilog + +sw.bb3: ; preds = %NodeBlock23 + %5 = load i8*, i8** @optarg, align 8 + call void @parse_tab_stops(i8* %5) + br label %sw.epilog + +sw.bb4: ; preds = %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3 + %6 = load i8*, i8** @optarg, align 8 + %tobool = icmp ne i8* %6, null + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %sw.bb4 + %7 = load i8*, i8** @optarg, align 8 + %add.ptr = getelementptr inbounds i8, i8* %7, i64 -1 + call void @parse_tab_stops(i8* %add.ptr) + br label %sw.epilog + +if.else: ; preds = %sw.bb4 + %8 = load i32, i32* %c, align 4 + %conv = trunc i32 %8 to i8 + %arrayidx5 = getelementptr inbounds [2 x i8], [2 x i8]* %tab_stop, i64 0, i64 0 + store i8 %conv, i8* %arrayidx5, align 1 + %arrayidx6 = getelementptr inbounds [2 x i8], [2 x i8]* %tab_stop, i64 0, i64 1 + store i8 0, i8* %arrayidx6, align 1 + %arraydecay = getelementptr inbounds [2 x i8], [2 x i8]* %tab_stop, i64 0, i64 0 + call void @parse_tab_stops(i8* %arraydecay) + br label %sw.epilog + +sw.bb7: ; preds = %NodeBlock1 + call void @usage(i32 0) #24 + unreachable + +sw.bb8: ; preds = %NodeBlock + %9 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %10 = load i8*, i8** @Version, align 8 + call void (%struct._IO_FILE*, i8*, i8*, i8*, ...) @version_etc(%struct._IO_FILE* %9, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.6.102, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.8.104, i64 0, i64 0), i8* %10, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.9.125, i64 0, i64 0), i8* null) + call void @exit(i32 0) #26 + unreachable + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @usage(i32 1) #24 + unreachable + +sw.epilog: ; preds = %if.then, %if.else, %sw.bb3, %sw.bb + br label %while.cond + +while.end: ; preds = %while.cond + call void @finalize_tab_stops() + %11 = load i32, i32* @optind, align 4 + %12 = load i32, i32* %argc.addr, align 4 + %cmp9 = icmp slt i32 %11, %12 + %13 = load i8**, i8*** %argv.addr, align 8 + %14 = load i32, i32* @optind, align 4 + %idxprom = sext i32 %14 to i64 + %arrayidx11 = getelementptr inbounds i8*, i8** %13, i64 %idxprom + %cond = select i1 %cmp9, i8** %arrayidx11, i8** null + call void @set_file_list(i8** %cond) + call void @expand() + call void @cleanup_file_list_stdin() + %15 = load i32, i32* @exit_status, align 4 + ret i32 %15 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_program_name(i8* %argv0) #3 { +entry: + %argv0.addr = alloca i8*, align 8 + %slash = alloca i8*, align 8 + %base = alloca i8*, align 8 + store i8* %argv0, i8** %argv0.addr, align 8 + %0 = load i8*, i8** %argv0.addr, align 8 + %cmp = icmp eq i8* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stderr to %struct._IO_FILE**), align 8 + %call = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.82, i64 0, i64 0), %struct._IO_FILE* %1) + call void @abort() #26 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %argv0.addr, align 8 + %call1 = call i8* @strrchr(i8* %2, i32 47) #23 + store i8* %call1, i8** %slash, align 8 + %3 = load i8*, i8** %slash, align 8 + %cmp2 = icmp ne i8* %3, null + %4 = load i8*, i8** %slash, align 8 + %add.ptr = getelementptr inbounds i8, i8* %4, i64 1 + %5 = load i8*, i8** %argv0.addr, align 8 + %cond = select i1 %cmp2, i8* %add.ptr, i8* %5 + store i8* %cond, i8** %base, align 8 + %6 = load i8*, i8** %base, align 8 + %7 = load i8*, i8** %argv0.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %6 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %cmp3 = icmp sge i64 %sub.ptr.sub, 7 + br i1 %cmp3, label %land.lhs.true, label %if.end13 + +land.lhs.true: ; preds = %if.end + %8 = load i8*, i8** %base, align 8 + %add.ptr4 = getelementptr inbounds i8, i8* %8, i64 -7 + %call5 = call i32 @strncmp(i8* %add.ptr4, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1.83, i64 0, i64 0), i64 7) #23 + %cmp6 = icmp eq i32 %call5, 0 + br i1 %cmp6, label %if.then7, label %if.end13 + +if.then7: ; preds = %land.lhs.true + %9 = load i8*, i8** %base, align 8 + store i8* %9, i8** %argv0.addr, align 8 + %10 = load i8*, i8** %base, align 8 + %call8 = call i32 @strncmp(i8* %10, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2.84, i64 0, i64 0), i64 3) #23 + %cmp9 = icmp eq i32 %call8, 0 + br i1 %cmp9, label %if.then10, label %if.end13 + +if.then10: ; preds = %if.then7 + %11 = load i8*, i8** %base, align 8 + %add.ptr11 = getelementptr inbounds i8, i8* %11, i64 3 + store i8* %add.ptr11, i8** %argv0.addr, align 8 + %12 = load i8*, i8** %argv0.addr, align 8 + store i8* %12, i8** @program_invocation_short_name, align 8 + br label %if.end13 + +if.end13: ; preds = %if.then7, %if.then10, %land.lhs.true, %if.end + %13 = load i8*, i8** %argv0.addr, align 8 + store i8* %13, i8** @program_name, align 8 + %14 = load i8*, i8** %argv0.addr, align 8 + store i8* %14, i8** @program_invocation_name, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @close_stdout() #3 { +entry: + %write_error = alloca i8*, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call = call i32 @close_stream(%struct._IO_FILE* %0) + %cmp = icmp ne i32 %call, 0 + br i1 %cmp, label %land.lhs.true, label %if.end9 + +land.lhs.true: ; preds = %entry + %1 = load i8, i8* @ignore_EPIPE, align 1 + %tobool = trunc i8 %1 to i1 + br i1 %tobool, label %land.lhs.true1, label %if.then + +land.lhs.true1: ; preds = %land.lhs.true + %call2 = call i32* @__errno_location() #25 + %2 = load i32, i32* %call2, align 4 + %cmp3 = icmp eq i32 %2, 32 + br i1 %cmp3, label %if.end9, label %if.then + +if.then: ; preds = %land.lhs.true1, %land.lhs.true + store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.71, i64 0, i64 0), i8** %write_error, align 8 + %3 = load i8*, i8** @file_name, align 8 + %tobool4 = icmp ne i8* %3, null + %call6 = call i32* @__errno_location() #25 + %4 = load i32, i32* %call6, align 4 + br i1 %tobool4, label %if.then5, label %if.else + +if.then5: ; preds = %if.then + %5 = load i8*, i8** @file_name, align 8 + %call7 = call i8* @quotearg_colon(i8* %5) + %6 = load i8*, i8** %write_error, align 8 + call void (i32, i32, i8*, ...) @error(i32 0, i32 %4, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.72, i64 0, i64 0), i8* %call7, i8* %6) + br label %if.end + +if.else: ; preds = %if.then + %7 = load i8*, i8** %write_error, align 8 + call void (i32, i32, i8*, ...) @error(i32 0, i32 %4, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2.73, i64 0, i64 0), i8* %7) + br label %if.end + +if.end: ; preds = %if.else, %if.then5 + %8 = load volatile i32, i32* @exit_failure, align 4 + call void @_exit(i32 %8) #24 + unreachable + +if.end9: ; preds = %land.lhs.true1, %entry + %9 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stderr to %struct._IO_FILE**), align 8 + %call10 = call i32 @close_stream(%struct._IO_FILE* %9) + %cmp11 = icmp ne i32 %call10, 0 + br i1 %cmp11, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.end9 + %10 = load volatile i32, i32* @exit_failure, align 4 + call void @_exit(i32 %10) #24 + unreachable + +if.end13: ; preds = %if.end9 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @parse_tab_stops(i8* %stops) #3 { +entry: + %stops.addr = alloca i8*, align 8 + %have_tabval = alloca i8, align 1 + %tabval = alloca i64, align 8 + %extend_tabval = alloca i8, align 1 + %increment_tabval = alloca i8, align 1 + %num_start = alloca i8*, align 8 + %ok = alloca i8, align 1 + %len = alloca i64, align 8 + %bad_num = alloca i8*, align 8 + store i8* %stops, i8** %stops.addr, align 8 + store i8 0, i8* %have_tabval, align 1 + store i64 0, i64* %tabval, align 8 + store i8 0, i8* %extend_tabval, align 1 + store i8 0, i8* %increment_tabval, align 1 + store i8* null, i8** %num_start, align 8 + store i8 1, i8* %ok, align 1 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i8*, i8** %stops.addr, align 8 + %1 = load i8, i8* %0, align 1 + %tobool = icmp ne i8 %1, 0 + br i1 %tobool, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %2 = load i8*, i8** %stops.addr, align 8 + %3 = load i8, i8* %2, align 1 + %conv = sext i8 %3 to i32 + %cmp = icmp eq i32 %conv, 44 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %for.body + %call = call i16** @__ctype_b_loc() #25 + %4 = load i16*, i16** %call, align 8 + %5 = load i8*, i8** %stops.addr, align 8 + %6 = load i8, i8* %5, align 1 + %call2 = call zeroext i8 @to_uchar(i8 signext %6) + %conv3 = zext i8 %call2 to i32 + %idxprom = sext i32 %conv3 to i64 + %arrayidx = getelementptr inbounds i16, i16* %4, i64 %idxprom + %7 = load i16, i16* %arrayidx, align 2 + %conv4 = zext i16 %7 to i32 + %and = and i32 %conv4, 1 + %tobool5 = icmp ne i32 %and, 0 + br i1 %tobool5, label %if.then, label %if.else21 + +if.then: ; preds = %lor.lhs.false, %for.body + %8 = load i8, i8* %have_tabval, align 1 + %tobool6 = trunc i8 %8 to i1 + br i1 %tobool6, label %if.then7, label %if.end20 + +if.then7: ; preds = %if.then + %9 = load i8, i8* %extend_tabval, align 1 + %tobool8 = trunc i8 %9 to i1 + br i1 %tobool8, label %if.then9, label %if.else + +if.then9: ; preds = %if.then7 + %10 = load i64, i64* %tabval, align 8 + %call10 = call zeroext i1 @set_extend_size(i64 %10) + br i1 %call10, label %if.end20, label %if.then11 + +if.then11: ; preds = %if.then9 + store i8 0, i8* %ok, align 1 + br label %for.end + +if.else: ; preds = %if.then7 + %11 = load i8, i8* %increment_tabval, align 1 + %tobool12 = trunc i8 %11 to i1 + %12 = load i64, i64* %tabval, align 8 + br i1 %tobool12, label %if.then13, label %if.else17 + +if.then13: ; preds = %if.else + %call14 = call zeroext i1 @set_increment_size(i64 %12) + br i1 %call14, label %if.end20, label %if.then15 + +if.then15: ; preds = %if.then13 + store i8 0, i8* %ok, align 1 + br label %for.end + +if.else17: ; preds = %if.else + call void @add_tab_stop(i64 %12) + br label %if.end20 + +if.end20: ; preds = %if.then9, %if.then13, %if.else17, %if.then + store i8 0, i8* %have_tabval, align 1 + br label %for.inc + +if.else21: ; preds = %lor.lhs.false + %13 = load i8*, i8** %stops.addr, align 8 + %14 = load i8, i8* %13, align 1 + %conv22 = sext i8 %14 to i32 + %cmp23 = icmp eq i32 %conv22, 47 + br i1 %cmp23, label %if.then25, label %if.else30 + +if.then25: ; preds = %if.else21 + %15 = load i8, i8* %have_tabval, align 1 + %tobool26 = trunc i8 %15 to i1 + br i1 %tobool26, label %if.then27, label %if.end29 + +if.then27: ; preds = %if.then25 + %16 = load i8*, i8** %stops.addr, align 8 + %call28 = call i8* @quote(i8* %16) + call void (i32, i32, i8*, ...) @error(i32 0, i32 0, i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.1.37, i64 0, i64 0), i8* %call28) + store i8 0, i8* %ok, align 1 + br label %if.end29 + +if.end29: ; preds = %if.then27, %if.then25 + store i8 1, i8* %extend_tabval, align 1 + store i8 0, i8* %increment_tabval, align 1 + br label %for.inc + +if.else30: ; preds = %if.else21 + %17 = load i8*, i8** %stops.addr, align 8 + %18 = load i8, i8* %17, align 1 + %conv31 = sext i8 %18 to i32 + %cmp32 = icmp eq i32 %conv31, 43 + br i1 %cmp32, label %if.then34, label %if.else39 + +if.then34: ; preds = %if.else30 + %19 = load i8, i8* %have_tabval, align 1 + %tobool35 = trunc i8 %19 to i1 + br i1 %tobool35, label %if.then36, label %if.end38 + +if.then36: ; preds = %if.then34 + %20 = load i8*, i8** %stops.addr, align 8 + %call37 = call i8* @quote(i8* %20) + call void (i32, i32, i8*, ...) @error(i32 0, i32 0, i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.2.38, i64 0, i64 0), i8* %call37) + store i8 0, i8* %ok, align 1 + br label %if.end38 + +if.end38: ; preds = %if.then36, %if.then34 + store i8 1, i8* %increment_tabval, align 1 + store i8 0, i8* %extend_tabval, align 1 + br label %for.inc + +if.else39: ; preds = %if.else30 + %21 = load i8*, i8** %stops.addr, align 8 + %22 = load i8, i8* %21, align 1 + %conv40 = sext i8 %22 to i32 + %sub = sub i32 %conv40, 48 + %cmp41 = icmp ule i32 %sub, 9 + br i1 %cmp41, label %if.then43, label %if.else69 + +if.then43: ; preds = %if.else39 + %23 = load i8, i8* %have_tabval, align 1 + %tobool44 = trunc i8 %23 to i1 + br i1 %tobool44, label %if.end46, label %if.then45 + +if.then45: ; preds = %if.then43 + store i64 0, i64* %tabval, align 8 + store i8 1, i8* %have_tabval, align 1 + %24 = load i8*, i8** %stops.addr, align 8 + store i8* %24, i8** %num_start, align 8 + br label %if.end46 + +if.end46: ; preds = %if.then45, %if.then43 + %cmp47 = icmp eq i64* %tabval, null + %conv48 = zext i1 %cmp47 to i32 + %25 = load i64, i64* %tabval, align 8 + %cmp49 = icmp ult i64 1844674407370955161, %25 + br i1 %cmp49, label %cond.end, label %lor.lhs.false51 + +lor.lhs.false51: ; preds = %if.end46 + %26 = load i64, i64* %tabval, align 8 + %mul = mul i64 %26, 10 + %27 = load i8*, i8** %stops.addr, align 8 + %28 = load i8, i8* %27, align 1 + %conv52 = sext i8 %28 to i32 + %sub53 = sub nsw i32 %conv52, 48 + %conv54 = sext i32 %sub53 to i64 + %add = add i64 %mul, %conv54 + %29 = load i64, i64* %tabval, align 8 + %cmp55 = icmp ult i64 %add, %29 + br i1 %cmp55, label %cond.end, label %cond.false + +cond.false: ; preds = %lor.lhs.false51 + %30 = load i64, i64* %tabval, align 8 + %mul57 = mul i64 %30, 10 + %31 = load i8*, i8** %stops.addr, align 8 + %32 = load i8, i8* %31, align 1 + %conv58 = sext i8 %32 to i32 + %sub59 = sub nsw i32 %conv58, 48 + %conv60 = sext i32 %sub59 to i64 + %add61 = add i64 %mul57, %conv60 + store i64 %add61, i64* %tabval, align 8 + br label %cond.end + +cond.end: ; preds = %if.end46, %lor.lhs.false51, %cond.false + %cond = phi i32 [ 1, %cond.false ], [ 0, %lor.lhs.false51 ], [ 0, %if.end46 ] + %tobool62 = icmp ne i32 %cond, 0 + br i1 %tobool62, label %for.inc, label %if.then63 + +if.then63: ; preds = %cond.end + %33 = load i8*, i8** %num_start, align 8 + %call64 = call i64 @strspn(i8* %33, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.3.39, i64 0, i64 0)) #23 + store i64 %call64, i64* %len, align 8 + %34 = load i8*, i8** %num_start, align 8 + %35 = load i64, i64* %len, align 8 + %call65 = call noalias i8* @xstrndup(i8* %34, i64 %35) + store i8* %call65, i8** %bad_num, align 8 + %36 = load i8*, i8** %bad_num, align 8 + %call66 = call i8* @quote(i8* %36) + call void (i32, i32, i8*, ...) @error(i32 0, i32 0, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.4.40, i64 0, i64 0), i8* %call66) + %37 = load i8*, i8** %bad_num, align 8 + call void @free(i8* %37) #11 + store i8 0, i8* %ok, align 1 + %38 = load i8*, i8** %num_start, align 8 + %39 = load i64, i64* %len, align 8 + %add.ptr = getelementptr inbounds i8, i8* %38, i64 %39 + %add.ptr67 = getelementptr inbounds i8, i8* %add.ptr, i64 -1 + store i8* %add.ptr67, i8** %stops.addr, align 8 + br label %for.inc + +if.else69: ; preds = %if.else39 + %40 = load i8*, i8** %stops.addr, align 8 + %call70 = call i8* @quote(i8* %40) + call void (i32, i32, i8*, ...) @error(i32 0, i32 0, i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.5.41, i64 0, i64 0), i8* %call70) + store i8 0, i8* %ok, align 1 + br label %for.end + +for.inc: ; preds = %if.end20, %if.end38, %cond.end, %if.then63, %if.end29 + %41 = load i8*, i8** %stops.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %41, i32 1 + store i8* %incdec.ptr, i8** %stops.addr, align 8 + br label %for.cond + +for.end: ; preds = %if.else69, %if.then15, %if.then11, %for.cond + %42 = load i8, i8* %ok, align 1 + %tobool75 = trunc i8 %42 to i1 + br i1 %tobool75, label %land.lhs.true, label %if.end101 + +land.lhs.true: ; preds = %for.end + %43 = load i8, i8* %have_tabval, align 1 + %tobool77 = trunc i8 %43 to i1 + br i1 %tobool77, label %if.then79, label %if.end101 + +if.then79: ; preds = %land.lhs.true + %44 = load i8, i8* %extend_tabval, align 1 + %tobool80 = trunc i8 %44 to i1 + br i1 %tobool80, label %if.then81, label %if.else88 + +if.then81: ; preds = %if.then79 + %45 = load i64, i64* %tabval, align 8 + %call82 = call zeroext i1 @set_extend_size(i64 %45) + %conv83 = zext i1 %call82 to i32 + %46 = load i8, i8* %ok, align 1 + %tobool84 = trunc i8 %46 to i1 + %conv85 = zext i1 %tobool84 to i32 + %and86 = and i32 %conv85, %conv83 + %tobool87 = icmp ne i32 %and86, 0 + %frombool = zext i1 %tobool87 to i8 + store i8 %frombool, i8* %ok, align 1 + br label %if.end101 + +if.else88: ; preds = %if.then79 + %47 = load i8, i8* %increment_tabval, align 1 + %tobool89 = trunc i8 %47 to i1 + %48 = load i64, i64* %tabval, align 8 + br i1 %tobool89, label %if.then90, label %if.else98 + +if.then90: ; preds = %if.else88 + %call91 = call zeroext i1 @set_increment_size(i64 %48) + %conv92 = zext i1 %call91 to i32 + %49 = load i8, i8* %ok, align 1 + %tobool93 = trunc i8 %49 to i1 + %conv94 = zext i1 %tobool93 to i32 + %and95 = and i32 %conv94, %conv92 + %tobool96 = icmp ne i32 %and95, 0 + %frombool97 = zext i1 %tobool96 to i8 + store i8 %frombool97, i8* %ok, align 1 + br label %if.end101 + +if.else98: ; preds = %if.else88 + call void @add_tab_stop(i64 %48) + br label %if.end101 + +if.end101: ; preds = %if.then81, %if.else98, %if.then90, %land.lhs.true, %for.end + %50 = load i8, i8* %ok, align 1 + %tobool102 = trunc i8 %50 to i1 + br i1 %tobool102, label %if.end104, label %if.then103 + +if.then103: ; preds = %if.end101 + call void @exit(i32 1) #26 + unreachable + +if.end104: ; preds = %if.end101 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, ...) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors = alloca [1 x %struct.__va_list_tag.0], align 16 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %authors, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %1 = load i8*, i8** %command_name.addr, align 8 + %2 = load i8*, i8** %package.addr, align 8 + %3 = load i8*, i8** %version.addr, align 8 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %authors, i64 0, i64 0 + call void @version_etc_va(%struct._IO_FILE* %0, i8* %1, i8* %2, i8* %3, %struct.__va_list_tag.0* %arraydecay2) + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %authors, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @finalize_tab_stops() #3 { +entry: + %0 = load i64*, i64** @tab_list, align 8 + %1 = load i64, i64* @first_free_tab, align 8 + call void @validate_tab_stops(i64* %0, i64 %1) + %2 = load i64, i64* @first_free_tab, align 8 + %cmp = icmp eq i64 %2, 0 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %3 = load i64, i64* @extend_size, align 8 + %tobool = icmp ne i64 %3, 0 + br i1 %tobool, label %cond.true, label %cond.false + +cond.true: ; preds = %if.then + %4 = load i64, i64* @extend_size, align 8 + br label %cond.end4 + +cond.false: ; preds = %if.then + %5 = load i64, i64* @increment_size, align 8 + %tobool1 = icmp ne i64 %5, 0 + %6 = load i64, i64* @increment_size, align 8 + %cond = select i1 %tobool1, i64 %6, i64 8 + br label %cond.end4 + +cond.end4: ; preds = %cond.false, %cond.true + %cond5 = phi i64 [ %4, %cond.true ], [ %cond, %cond.false ] + store i64 %cond5, i64* @max_column_width, align 8 + store i64 %cond5, i64* @tab_size, align 8 + br label %if.end12 + +if.else: ; preds = %entry + %7 = load i64, i64* @first_free_tab, align 8 + %cmp6 = icmp ne i64 %7, 1 + %8 = load i64, i64* @extend_size, align 8 + %tobool7 = icmp ne i64 %8, 0 + %or.cond = or i1 %cmp6, %tobool7 + %9 = load i64, i64* @increment_size, align 8 + %tobool9 = icmp ne i64 %9, 0 + %or.cond1 = or i1 %or.cond, %tobool9 + br i1 %or.cond1, label %if.else11, label %if.then10 + +if.then10: ; preds = %if.else + %10 = load i64*, i64** @tab_list, align 8 + %arrayidx = getelementptr inbounds i64, i64* %10, i64 0 + %11 = load i64, i64* %arrayidx, align 8 + store i64 %11, i64* @tab_size, align 8 + br label %if.end12 + +if.else11: ; preds = %if.else + store i64 0, i64* @tab_size, align 8 + br label %if.end12 + +if.end12: ; preds = %if.then10, %if.else11, %cond.end4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_file_list(i8** %list) #3 { +entry: + %list.addr = alloca i8**, align 8 + store i8** %list, i8*** %list.addr, align 8 + store i8 0, i8* @have_read_stdin, align 1 + %0 = load i8**, i8*** %list.addr, align 8 + %tobool = icmp ne i8** %0, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + store i8** getelementptr inbounds ([2 x i8*], [2 x i8*]* @stdin_argv, i64 0, i64 0), i8*** @file_list, align 8 + br label %if.end + +if.else: ; preds = %entry + %1 = load i8**, i8*** %list.addr, align 8 + store i8** %1, i8*** @file_list, align 8 + br label %if.end + +if.end: ; preds = %if.else, %if.then + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @expand() #3 { +entry: + %fp = alloca %struct._IO_FILE*, align 8 + %c = alloca i32, align 4 + %convert = alloca i8, align 1 + %column = alloca i64, align 8 + %tab_index = alloca i64, align 8 + %next_tab_column = alloca i64, align 8 + %last_tab = alloca i8, align 1 + %call = call %struct._IO_FILE* @next_file(%struct._IO_FILE* null) + store %struct._IO_FILE* %call, %struct._IO_FILE** %fp, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp, align 8 + %tobool = icmp ne %struct._IO_FILE* %0, null + br i1 %tobool, label %while.body, label %return + +while.body: ; preds = %do.cond, %entry + store i8 1, i8* %convert, align 1 + store i64 0, i64* %column, align 8 + store i64 0, i64* %tab_index, align 8 + br label %do.body + +do.body: ; preds = %do.cond, %while.body + br label %while.cond1 + +while.cond1: ; preds = %land.rhs, %do.body + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %fp, align 8 + %call2 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @getc_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %1) + store i32 %call2, i32* %c, align 4 + %cmp = icmp slt i32 %call2, 0 + br i1 %cmp, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond1 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp, align 8 + %call3 = call %struct._IO_FILE* @next_file(%struct._IO_FILE* %2) + store %struct._IO_FILE* %call3, %struct._IO_FILE** %fp, align 8 + %tobool4 = icmp ne %struct._IO_FILE* %call3, null + br i1 %tobool4, label %while.cond1, label %while.end + +while.end: ; preds = %while.cond1, %land.rhs + %3 = load i8, i8* %convert, align 1 + %tobool6 = trunc i8 %3 to i1 + br i1 %tobool6, label %if.then7, label %if.end57 + +if.then7: ; preds = %while.end + %4 = load i32, i32* %c, align 4 + %cmp8 = icmp eq i32 %4, 9 + br i1 %cmp8, label %if.then9, label %if.else + +if.then9: ; preds = %if.then7 + %5 = load i64, i64* %column, align 8 + %call10 = call i64 @get_next_tab_column(i64 %5, i64* %tab_index, i8* %last_tab) + store i64 %call10, i64* %next_tab_column, align 8 + %6 = load i8, i8* %last_tab, align 1 + %tobool11 = trunc i8 %6 to i1 + br i1 %tobool11, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.then9 + %7 = load i64, i64* %column, align 8 + %add = add i64 %7, 1 + store i64 %add, i64* %next_tab_column, align 8 + br label %if.end13 + +if.end13: ; preds = %if.then12, %if.then9 + %8 = load i64, i64* %next_tab_column, align 8 + %9 = load i64, i64* %column, align 8 + %cmp14 = icmp ult i64 %8, %9 + br i1 %cmp14, label %if.then15, label %while.cond17 + +if.then15: ; preds = %if.end13 + call void (i32, i32, i8*, ...) @error(i32 1, i32 0, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.32.126, i64 0, i64 0)) + unreachable + +while.cond17: ; preds = %while.body19, %if.end13 + %10 = load i64, i64* %column, align 8 + %inc = add i64 %10, 1 + store i64 %inc, i64* %column, align 8 + %11 = load i64, i64* %next_tab_column, align 8 + %cmp18 = icmp ult i64 %inc, %11 + br i1 %cmp18, label %while.body19, label %while.end25 + +while.body19: ; preds = %while.cond17 + %call20 = call i32 @putchar_unlocked(i32 32) + %cmp21 = icmp slt i32 %call20, 0 + br i1 %cmp21, label %if.then22, label %while.cond17 + +if.then22: ; preds = %while.body19 + %call23 = call i32* @__errno_location() #25 + %12 = load i32, i32* %call23, align 4 + call void (i32, i32, i8*, ...) @error(i32 1, i32 %12, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.33.127, i64 0, i64 0)) + unreachable + +while.end25: ; preds = %while.cond17 + store i32 32, i32* %c, align 4 + br label %if.end43 + +if.else: ; preds = %if.then7 + %13 = load i32, i32* %c, align 4 + %cmp26 = icmp eq i32 %13, 8 + %14 = load i64, i64* %column, align 8 + br i1 %cmp26, label %if.then27, label %if.else37 + +if.then27: ; preds = %if.else + %tobool28 = icmp ne i64 %14, 0 + %lnot = xor i1 %tobool28, true + %lnot29 = xor i1 %lnot, true + %lnot.ext = zext i1 %lnot29 to i32 + %conv = sext i32 %lnot.ext to i64 + %15 = load i64, i64* %column, align 8 + %sub = sub i64 %15, %conv + store i64 %sub, i64* %column, align 8 + %16 = load i64, i64* %tab_index, align 8 + %tobool30 = icmp ne i64 %16, 0 + %lnot31 = xor i1 %tobool30, true + %lnot33 = xor i1 %lnot31, true + %lnot.ext34 = zext i1 %lnot33 to i32 + %conv35 = sext i32 %lnot.ext34 to i64 + %17 = load i64, i64* %tab_index, align 8 + %sub36 = sub i64 %17, %conv35 + store i64 %sub36, i64* %tab_index, align 8 + br label %if.end43 + +if.else37: ; preds = %if.else + %inc38 = add i64 %14, 1 + store i64 %inc38, i64* %column, align 8 + %18 = load i64, i64* %column, align 8 + %tobool39 = icmp ne i64 %18, 0 + br i1 %tobool39, label %if.end43, label %if.then40 + +if.then40: ; preds = %if.else37 + call void (i32, i32, i8*, ...) @error(i32 1, i32 0, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.32.126, i64 0, i64 0)) + unreachable + +if.end43: ; preds = %if.then27, %if.else37, %while.end25 + %19 = load i8, i8* @convert_entire_line, align 1 + %tobool44 = trunc i8 %19 to i1 + br i1 %tobool44, label %lor.end, label %lor.rhs + +lor.rhs: ; preds = %if.end43 + %call46 = call i16** @__ctype_b_loc() #25 + %20 = load i16*, i16** %call46, align 8 + %21 = load i32, i32* %c, align 4 + %idxprom = sext i32 %21 to i64 + %arrayidx = getelementptr inbounds i16, i16* %20, i64 %idxprom + %22 = load i16, i16* %arrayidx, align 2 + %conv47 = zext i16 %22 to i32 + %and = and i32 %conv47, 1 + %tobool48 = icmp ne i32 %and, 0 + %lnot49 = xor i1 %tobool48, true + %lnot51 = xor i1 %lnot49, true + br label %lor.end + +lor.end: ; preds = %lor.rhs, %if.end43 + %23 = phi i1 [ true, %if.end43 ], [ %lnot51, %lor.rhs ] + %lor.ext = zext i1 %23 to i32 + %24 = load i8, i8* %convert, align 1 + %tobool53 = trunc i8 %24 to i1 + %conv54 = zext i1 %tobool53 to i32 + %and55 = and i32 %conv54, %lor.ext + %tobool56 = icmp ne i32 %and55, 0 + %frombool = zext i1 %tobool56 to i8 + store i8 %frombool, i8* %convert, align 1 + br label %if.end57 + +if.end57: ; preds = %lor.end, %while.end + %25 = load i32, i32* %c, align 4 + %cmp58 = icmp slt i32 %25, 0 + br i1 %cmp58, label %return, label %if.end61 + +if.end61: ; preds = %if.end57 + %26 = load i32, i32* %c, align 4 + %call62 = call i32 @putchar_unlocked(i32 %26) + %cmp63 = icmp slt i32 %call62, 0 + br i1 %cmp63, label %if.then65, label %do.cond + +if.then65: ; preds = %if.end61 + %call66 = call i32* @__errno_location() #25 + %27 = load i32, i32* %call66, align 4 + call void (i32, i32, i8*, ...) @error(i32 1, i32 %27, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.33.127, i64 0, i64 0)) + unreachable + +do.cond: ; preds = %if.end61 + %28 = load i32, i32* %c, align 4 + %cmp68 = icmp ne i32 %28, 10 + br i1 %cmp68, label %do.body, label %while.body + +return: ; preds = %if.end57, %entry + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @cleanup_file_list_stdin() #3 { +entry: + %0 = load i8, i8* @have_read_stdin, align 1 + %tobool = trunc i8 %0 to i1 + br i1 %tobool, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdin to %struct._IO_FILE**), align 8 + %call = call i32 @rpl_fclose(%struct._IO_FILE* %1) + %cmp = icmp ne i32 %call, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %call1 = call i32* @__errno_location() #25 + %2 = load i32, i32* %call1, align 4 + call void (i32, i32, i8*, ...) @error(i32 1, i32 %2, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.9.53, i64 0, i64 0)) + unreachable + +if.end: ; preds = %land.lhs.true, %entry + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fclose(%struct._IO_FILE* nonnull %fp) #3 { +entry: + %retval = alloca i32, align 4 + %fp.addr = alloca %struct._IO_FILE*, align 8 + %saved_errno = alloca i32, align 4 + %fd = alloca i32, align 4 + %result = alloca i32, align 4 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + store i32 0, i32* %saved_errno, align 4 + store i32 0, i32* %result, align 4 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %0) #11 + store i32 %call, i32* %fd, align 4 + %1 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %1, 0 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call1 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fclose to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %2) + store i32 %call1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %call2 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.519*)* @__freading to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %2) #11 + %cmp3 = icmp ne i32 %call2, 0 + br i1 %cmp3, label %lor.lhs.false, label %land.lhs.true + +lor.lhs.false: ; preds = %if.end + %3 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call4 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %3) #11 + %call5 = call i64 @lseek(i32 %call4, i64 0, i32 1) #11 + %cmp6 = icmp ne i64 %call5, -1 + br i1 %cmp6, label %land.lhs.true, label %if.end10 + +land.lhs.true: ; preds = %lor.lhs.false, %if.end + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call7 = call i32 @rpl_fflush(%struct._IO_FILE* %4) + %tobool = icmp ne i32 %call7, 0 + br i1 %tobool, label %if.then8, label %if.end10 + +if.then8: ; preds = %land.lhs.true + %call9 = call i32* @__errno_location() #25 + %5 = load i32, i32* %call9, align 4 + store i32 %5, i32* %saved_errno, align 4 + br label %if.end10 + +if.end10: ; preds = %if.then8, %land.lhs.true, %lor.lhs.false + %6 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call11 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fclose to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %6) + store i32 %call11, i32* %result, align 4 + %7 = load i32, i32* %saved_errno, align 4 + %cmp12 = icmp ne i32 %7, 0 + br i1 %cmp12, label %if.then13, label %if.end15 + +if.then13: ; preds = %if.end10 + %8 = load i32, i32* %saved_errno, align 4 + %call14 = call i32* @__errno_location() #25 + store i32 %8, i32* %call14, align 4 + store i32 -1, i32* %result, align 4 + br label %if.end15 + +if.end15: ; preds = %if.then13, %if.end10 + %9 = load i32, i32* %result, align 4 + store i32 %9, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end15, %if.then + %10 = load i32, i32* %retval, align 4 + ret i32 %10 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fflush(%struct._IO_FILE* %stream) #3 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %cmp = icmp eq %struct._IO_FILE* %0, null + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.519*)* @__freading to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %1) #11 + %cmp1 = icmp ne i32 %call, 0 + br i1 %cmp1, label %if.end, label %if.then + +if.then: ; preds = %lor.lhs.false, %entry + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call2 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fflush to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %2) + store i32 %call2, i32* %retval, align 4 + br label %return + +if.end: ; preds = %lor.lhs.false + %3 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + call void @clear_ungetc_buffer_preserving_position(%struct._IO_FILE* %3) + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call3 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fflush to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %4) + store i32 %call3, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %5 = load i32, i32* %retval, align 4 + ret i32 %5 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @clear_ungetc_buffer_preserving_position(%struct._IO_FILE* %fp) #3 { +entry: + %fp.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_flags = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %0, i32 0, i32 0 + %1 = load i32, i32* %_flags, align 8 + %and = and i32 %1, 256 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 @rpl_fseeko(%struct._IO_FILE* %2, i64 0, i32 1) + br label %if.end + +if.end: ; preds = %if.then, %entry + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fseeko(%struct._IO_FILE* nonnull %fp, i64 %offset, i32 %whence) #3 { +entry: + %retval = alloca i32, align 4 + %fp.addr = alloca %struct._IO_FILE*, align 8 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + %pos = alloca i64, align 8 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_read_end = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %0, i32 0, i32 2 + %1 = load i8*, i8** %_IO_read_end, align 8 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_read_ptr = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %2, i32 0, i32 1 + %3 = load i8*, i8** %_IO_read_ptr, align 8 + %cmp = icmp eq i8* %1, %3 + br i1 %cmp, label %land.lhs.true, label %if.end7 + +land.lhs.true: ; preds = %entry + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_write_ptr = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %4, i32 0, i32 5 + %5 = load i8*, i8** %_IO_write_ptr, align 8 + %6 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_write_base = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %6, i32 0, i32 4 + %7 = load i8*, i8** %_IO_write_base, align 8 + %cmp1 = icmp eq i8* %5, %7 + br i1 %cmp1, label %land.lhs.true2, label %if.end7 + +land.lhs.true2: ; preds = %land.lhs.true + %8 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_save_base = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %8, i32 0, i32 9 + %9 = load i8*, i8** %_IO_save_base, align 8 + %cmp3 = icmp eq i8* %9, null + br i1 %cmp3, label %if.then, label %if.end7 + +if.then: ; preds = %land.lhs.true2 + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %10) #11 + %11 = load i64, i64* %offset.addr, align 8 + %12 = load i32, i32* %whence.addr, align 4 + %call4 = call i64 @lseek(i32 %call, i64 %11, i32 %12) #11 + store i64 %call4, i64* %pos, align 8 + %13 = load i64, i64* %pos, align 8 + %cmp5 = icmp eq i64 %13, -1 + br i1 %cmp5, label %if.then6, label %if.end + +if.then6: ; preds = %if.then + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %if.then + %14 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_flags = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %14, i32 0, i32 0 + %15 = load i32, i32* %_flags, align 8 + %and = and i32 %15, -17 + store i32 %and, i32* %_flags, align 8 + %16 = load i64, i64* %pos, align 8 + %17 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_offset = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %17, i32 0, i32 21 + store i64 %16, i64* %_offset, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.end7: ; preds = %land.lhs.true2, %land.lhs.true, %entry + %18 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %19 = load i64, i64* %offset.addr, align 8 + %20 = load i32, i32* %whence.addr, align 4 + %call8 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32)* @fseeko to i32 (%struct._IO_FILE*, i64, i32)*)(%struct._IO_FILE* %18, i64 %19, i32 %20) + store i32 %call8, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end7, %if.end, %if.then6 + %21 = load i32, i32* %retval, align 4 + ret i32 %21 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local %struct._IO_FILE* @next_file(%struct._IO_FILE* %fp) #3 { +entry: + %retval = alloca %struct._IO_FILE*, align 8 + %fp.addr = alloca %struct._IO_FILE*, align 8 + %file = alloca i8*, align 8 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %tobool = icmp ne %struct._IO_FILE* %0, null + br i1 %tobool, label %if.then, label %if.end18 + +if.then: ; preds = %entry + %1 = load i8*, i8** @next_file.prev_file, align 8 + %tobool1 = icmp ne i8* %1, null + br i1 %tobool1, label %if.end, label %if.else + +if.else: ; preds = %if.then + call void @__assert_fail(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.6.56, i64 0, i64 0), i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.7.57, i64 0, i64 0), i32 341, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @__PRETTY_FUNCTION__.next_file, i64 0, i64 0)) #26 + unreachable + +if.end: ; preds = %if.then + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.592*)* @ferror_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %2) #11 + %tobool3 = icmp ne i32 %call, 0 + br i1 %tobool3, label %if.then4, label %if.end7 + +if.then4: ; preds = %if.end + %call5 = call i32* @__errno_location() #25 + %3 = load i32, i32* %call5, align 4 + %4 = load i8*, i8** @next_file.prev_file, align 8 + %call6 = call i8* @quotearg_n_style_colon(i32 0, i32 3, i8* %4) + call void (i32, i32, i8*, ...) @error(i32 0, i32 %3, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.8.58, i64 0, i64 0), i8* %call6) + store i32 1, i32* @exit_status, align 4 + br label %if.end7 + +if.end7: ; preds = %if.then4, %if.end + %5 = load i8*, i8** @next_file.prev_file, align 8 + %call8 = call i32 @strcmp(i8* %5, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.9.53, i64 0, i64 0)) #23 + %cmp = icmp eq i32 %call8, 0 + %6 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + br i1 %cmp, label %if.then9, label %if.else10 + +if.then9: ; preds = %if.end7 + call void bitcast (void (%struct.__STDIO_FILE_STRUCT.581*)* @clearerr_unlocked to void (%struct._IO_FILE*)*)(%struct._IO_FILE* %6) #11 + br label %if.end18 + +if.else10: ; preds = %if.end7 + %call11 = call i32 @rpl_fclose(%struct._IO_FILE* %6) + %cmp12 = icmp ne i32 %call11, 0 + br i1 %cmp12, label %if.then13, label %if.end18 + +if.then13: ; preds = %if.else10 + %call14 = call i32* @__errno_location() #25 + %7 = load i32, i32* %call14, align 4 + %8 = load i8*, i8** @next_file.prev_file, align 8 + %call15 = call i8* @quotearg_n_style_colon(i32 0, i32 3, i8* %8) + call void (i32, i32, i8*, ...) @error(i32 0, i32 %7, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.8.58, i64 0, i64 0), i8* %call15) + store i32 1, i32* @exit_status, align 4 + br label %if.end18 + +if.end18: ; preds = %if.then9, %if.then13, %if.else10, %entry + br label %while.cond + +while.cond: ; preds = %if.end28, %if.end18 + %9 = load i8**, i8*** @file_list, align 8 + %incdec.ptr = getelementptr inbounds i8*, i8** %9, i32 1 + store i8** %incdec.ptr, i8*** @file_list, align 8 + %10 = load i8*, i8** %9, align 8 + store i8* %10, i8** %file, align 8 + %cmp19 = icmp ne i8* %10, null + br i1 %cmp19, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %11 = load i8*, i8** %file, align 8 + %call20 = call i32 @strcmp(i8* %11, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.9.53, i64 0, i64 0)) #23 + %cmp21 = icmp eq i32 %call20, 0 + br i1 %cmp21, label %if.then22, label %if.else23 + +if.then22: ; preds = %while.body + store i8 1, i8* @have_read_stdin, align 1 + %12 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdin to %struct._IO_FILE**), align 8 + store %struct._IO_FILE* %12, %struct._IO_FILE** %fp.addr, align 8 + br label %if.end25 + +if.else23: ; preds = %while.body + %13 = load i8*, i8** %file, align 8 + %call24 = call %struct._IO_FILE* bitcast (%struct.__STDIO_FILE_STRUCT.612* (i8*, i8*)* @fopen to %struct._IO_FILE* (i8*, i8*)*)(i8* %13, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10.59, i64 0, i64 0)) + store %struct._IO_FILE* %call24, %struct._IO_FILE** %fp.addr, align 8 + br label %if.end25 + +if.end25: ; preds = %if.else23, %if.then22 + %14 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %tobool26 = icmp ne %struct._IO_FILE* %14, null + br i1 %tobool26, label %if.then27, label %if.end28 + +if.then27: ; preds = %if.end25 + %15 = load i8*, i8** %file, align 8 + store i8* %15, i8** @next_file.prev_file, align 8 + %16 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + call void @fadvise(%struct._IO_FILE* %16, i32 2) + %17 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + store %struct._IO_FILE* %17, %struct._IO_FILE** %retval, align 8 + br label %return + +if.end28: ; preds = %if.end25 + %call29 = call i32* @__errno_location() #25 + %18 = load i32, i32* %call29, align 4 + %19 = load i8*, i8** %file, align 8 + %call30 = call i8* @quotearg_n_style_colon(i32 0, i32 3, i8* %19) + call void (i32, i32, i8*, ...) @error(i32 0, i32 %18, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.8.58, i64 0, i64 0), i8* %call30) + store i32 1, i32* @exit_status, align 4 + br label %while.cond + +while.end: ; preds = %while.cond + store %struct._IO_FILE* null, %struct._IO_FILE** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then27 + %20 = load %struct._IO_FILE*, %struct._IO_FILE** %retval, align 8 + ret %struct._IO_FILE* %20 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @get_next_tab_column(i64 %column, i64* %tab_index, i8* %last_tab) #3 { +entry: + %retval = alloca i64, align 8 + %column.addr = alloca i64, align 8 + %tab_index.addr = alloca i64*, align 8 + %last_tab.addr = alloca i8*, align 8 + %tab = alloca i64, align 8 + %end_tab = alloca i64, align 8 + store i64 %column, i64* %column.addr, align 8 + store i64* %tab_index, i64** %tab_index.addr, align 8 + store i8* %last_tab, i8** %last_tab.addr, align 8 + %0 = load i8*, i8** %last_tab.addr, align 8 + store i8 0, i8* %0, align 1 + %1 = load i64, i64* @tab_size, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %if.then, label %for.cond + +if.then: ; preds = %entry + %2 = load i64, i64* %column.addr, align 8 + %3 = load i64, i64* @tab_size, align 8 + %4 = load i64, i64* %column.addr, align 8 + %5 = load i64, i64* @tab_size, align 8 + %rem = urem i64 %4, %5 + %sub = sub i64 %3, %rem + %add = add i64 %2, %sub + store i64 %add, i64* %retval, align 8 + br label %return + +for.cond: ; preds = %entry, %for.inc + %6 = load i64*, i64** %tab_index.addr, align 8 + %7 = load i64, i64* %6, align 8 + %8 = load i64, i64* @first_free_tab, align 8 + %cmp = icmp ult i64 %7, %8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %9 = load i64*, i64** @tab_list, align 8 + %10 = load i64*, i64** %tab_index.addr, align 8 + %11 = load i64, i64* %10, align 8 + %arrayidx = getelementptr inbounds i64, i64* %9, i64 %11 + %12 = load i64, i64* %arrayidx, align 8 + store i64 %12, i64* %tab, align 8 + %13 = load i64, i64* %column.addr, align 8 + %14 = load i64, i64* %tab, align 8 + %cmp1 = icmp ult i64 %13, %14 + br i1 %cmp1, label %if.then2, label %for.inc + +if.then2: ; preds = %for.body + %15 = load i64, i64* %tab, align 8 + store i64 %15, i64* %retval, align 8 + br label %return + +for.inc: ; preds = %for.body + %16 = load i64*, i64** %tab_index.addr, align 8 + %17 = load i64, i64* %16, align 8 + %inc = add i64 %17, 1 + store i64 %inc, i64* %16, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %18 = load i64, i64* @extend_size, align 8 + %tobool4 = icmp ne i64 %18, 0 + br i1 %tobool4, label %if.then5, label %if.end9 + +if.then5: ; preds = %for.end + %19 = load i64, i64* %column.addr, align 8 + %20 = load i64, i64* @extend_size, align 8 + %21 = load i64, i64* %column.addr, align 8 + %22 = load i64, i64* @extend_size, align 8 + %rem6 = urem i64 %21, %22 + %sub7 = sub i64 %20, %rem6 + %add8 = add i64 %19, %sub7 + store i64 %add8, i64* %retval, align 8 + br label %return + +if.end9: ; preds = %for.end + %23 = load i64, i64* @increment_size, align 8 + %tobool10 = icmp ne i64 %23, 0 + br i1 %tobool10, label %if.then11, label %if.end18 + +if.then11: ; preds = %if.end9 + %24 = load i64*, i64** @tab_list, align 8 + %25 = load i64, i64* @first_free_tab, align 8 + %sub12 = sub i64 %25, 1 + %arrayidx13 = getelementptr inbounds i64, i64* %24, i64 %sub12 + %26 = load i64, i64* %arrayidx13, align 8 + store i64 %26, i64* %end_tab, align 8 + %27 = load i64, i64* %column.addr, align 8 + %28 = load i64, i64* @increment_size, align 8 + %29 = load i64, i64* %column.addr, align 8 + %30 = load i64, i64* %end_tab, align 8 + %sub14 = sub i64 %29, %30 + %31 = load i64, i64* @increment_size, align 8 + %rem15 = urem i64 %sub14, %31 + %sub16 = sub i64 %28, %rem15 + %add17 = add i64 %27, %sub16 + store i64 %add17, i64* %retval, align 8 + br label %return + +if.end18: ; preds = %if.end9 + %32 = load i8*, i8** %last_tab.addr, align 8 + store i8 1, i8* %32, align 1 + store i64 0, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end18, %if.then11, %if.then5, %if.then2, %if.then + %33 = load i64, i64* %retval, align 8 + ret i64 %33 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_style_colon(i32 %n, i32 %s, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %options = alloca %struct.quoting_options, align 8 + %tmp = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + call void @quoting_options_from_style(%struct.quoting_options* sret align 8 %tmp, i32 %0) + %1 = bitcast %struct.quoting_options* %options to i8* + %2 = bitcast %struct.quoting_options* %tmp to i8* + %3 = call i8* @memcpy(i8* %1, i8* %2, i64 56) + %call = call i32 @set_char_quoting(%struct.quoting_options* %options, i8 signext 58, i32 1) + %4 = load i32, i32* %n.addr, align 4 + %5 = load i8*, i8** %arg.addr, align 8 + %call1 = call i8* @quotearg_n_options(i32 %4, i8* %5, i64 -1, %struct.quoting_options* %options) + ret i8* %call1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @fadvise(%struct._IO_FILE* %fp, i32 %advice) #3 { +entry: + %fp.addr = alloca %struct._IO_FILE*, align 8 + %advice.addr = alloca i32, align 4 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + store i32 %advice, i32* %advice.addr, align 4 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %tobool = icmp ne %struct._IO_FILE* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %1) #11 + %2 = load i32, i32* %advice.addr, align 4 + call void @fdadvise(i32 %call, i64 0, i64 0, i32 %2) + br label %if.end + +if.end: ; preds = %if.then, %entry + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @fdadvise(i32 %fd, i64 %offset, i64 %len, i32 %advice) #3 { +entry: + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %advice.addr = alloca i32, align 4 + %__x = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store i32 %advice, i32* %advice.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %offset.addr, align 8 + %2 = load i64, i64* %len.addr, align 8 + %3 = load i32, i32* %advice.addr, align 4 + %call = call i32 @posix_fadvise(i32 %0, i64 %1, i64 %2, i32 %3) #11 + store i32 %call, i32* %__x, align 4 + %4 = load i32, i32* %__x, align 4 + ret void +} + +; Function Attrs: nounwind +declare dso_local i32 @posix_fadvise(i32, i64, i64, i32) #4 + +; Function Attrs: noinline nounwind uwtable +define internal void @quoting_options_from_style(%struct.quoting_options* noalias sret align 8 %agg.result, i32 %style) #3 { +entry: + %style.addr = alloca i32, align 4 + store i32 %style, i32* %style.addr, align 4 + %0 = bitcast %struct.quoting_options* %agg.result to i8* + %1 = call i8* @memset(i8* %0, i32 0, i64 56) + %2 = load i32, i32* %style.addr, align 4 + %cmp = icmp eq i32 %2, 10 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @abort() #26 + unreachable + +if.end: ; preds = %entry + %3 = load i32, i32* %style.addr, align 4 + %style1 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %agg.result, i32 0, i32 0 + store i32 %3, i32* %style1, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @set_char_quoting(%struct.quoting_options* %o, i8 signext %c, i32 %i) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %c.addr = alloca i8, align 1 + %i.addr = alloca i32, align 4 + %uc = alloca i8, align 1 + %p = alloca i32*, align 8 + %shift = alloca i32, align 4 + %r = alloca i32, align 4 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i8 %c, i8* %c.addr, align 1 + store i32 %i, i32* %i.addr, align 4 + %0 = load i8, i8* %c.addr, align 1 + store i8 %0, i8* %uc, align 1 + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %1, null + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %2, %struct.quoting_options* @default_quoting_options + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %cond, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %3 = load i8, i8* %uc, align 1 + %conv = zext i8 %3 to i64 + %div = udiv i64 %conv, 32 + %add.ptr = getelementptr inbounds i32, i32* %arraydecay, i64 %div + store i32* %add.ptr, i32** %p, align 8 + %4 = load i8, i8* %uc, align 1 + %conv1 = zext i8 %4 to i64 + %rem = urem i64 %conv1, 32 + %conv2 = trunc i64 %rem to i32 + store i32 %conv2, i32* %shift, align 4 + %5 = load i32*, i32** %p, align 8 + %6 = load i32, i32* %5, align 4 + %7 = load i32, i32* %shift, align 4 + %shr = lshr i32 %6, %7 + %and = and i32 %shr, 1 + store i32 %and, i32* %r, align 4 + %8 = load i32, i32* %i.addr, align 4 + %and3 = and i32 %8, 1 + %9 = load i32, i32* %r, align 4 + %xor = xor i32 %and3, %9 + %10 = load i32, i32* %shift, align 4 + %shl = shl i32 %xor, %10 + %11 = load i32*, i32** %p, align 8 + %12 = load i32, i32* %11, align 4 + %xor4 = xor i32 %12, %shl + store i32 %xor4, i32* %11, align 4 + %13 = load i32, i32* %r, align 4 + ret i32 %13 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @quotearg_n_options(i32 %n, i8* %arg, i64 %argsize, %struct.quoting_options* %options) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %options.addr = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %sv = alloca %struct.slotvec*, align 8 + %preallocated = alloca i8, align 1 + %nmax = alloca i32, align 4 + %size = alloca i64, align 8 + %val = alloca i8*, align 8 + %flags = alloca i32, align 4 + %qsize = alloca i64, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store %struct.quoting_options* %options, %struct.quoting_options** %options.addr, align 8 + %call = call i32* @__errno_location() #25 + %0 = load i32, i32* %call, align 4 + store i32 %0, i32* %e, align 4 + %1 = load %struct.slotvec*, %struct.slotvec** @slotvec, align 8 + store %struct.slotvec* %1, %struct.slotvec** %sv, align 8 + %2 = load i32, i32* %n.addr, align 4 + %cmp = icmp slt i32 %2, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @abort() #26 + unreachable + +if.end: ; preds = %entry + %3 = load i32, i32* @nslots, align 4 + %4 = load i32, i32* %n.addr, align 4 + %cmp1 = icmp sle i32 %3, %4 + br i1 %cmp1, label %if.then2, label %if.end15 + +if.then2: ; preds = %if.end + %5 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %cmp3 = icmp eq %struct.slotvec* %5, @slotvec0 + %frombool = zext i1 %cmp3 to i8 + store i8 %frombool, i8* %preallocated, align 1 + store i32 2147483646, i32* %nmax, align 4 + %6 = load i32, i32* %nmax, align 4 + %7 = load i32, i32* %n.addr, align 4 + %cmp4 = icmp slt i32 %6, %7 + br i1 %cmp4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.then2 + call void @xalloc_die() #24 + unreachable + +if.end6: ; preds = %if.then2 + %8 = load i8, i8* %preallocated, align 1 + %tobool = trunc i8 %8 to i1 + %9 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %cond = select i1 %tobool, %struct.slotvec* null, %struct.slotvec* %9 + %10 = bitcast %struct.slotvec* %cond to i8* + %11 = load i32, i32* %n.addr, align 4 + %add = add nsw i32 %11, 1 + %conv = sext i32 %add to i64 + %mul = mul i64 %conv, 16 + %call7 = call i8* @xrealloc(i8* %10, i64 %mul) + %12 = bitcast i8* %call7 to %struct.slotvec* + store %struct.slotvec* %12, %struct.slotvec** %sv, align 8 + store %struct.slotvec* %12, %struct.slotvec** @slotvec, align 8 + %13 = load i8, i8* %preallocated, align 1 + %tobool8 = trunc i8 %13 to i1 + br i1 %tobool8, label %if.then9, label %if.end10 + +if.then9: ; preds = %if.end6 + %14 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %15 = bitcast %struct.slotvec* %14 to i8* + %16 = call i8* @memcpy(i8* %15, i8* bitcast (%struct.slotvec* @slotvec0 to i8*), i64 16) + br label %if.end10 + +if.end10: ; preds = %if.then9, %if.end6 + %17 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %18 = load i32, i32* @nslots, align 4 + %idx.ext = sext i32 %18 to i64 + %add.ptr = getelementptr inbounds %struct.slotvec, %struct.slotvec* %17, i64 %idx.ext + %19 = bitcast %struct.slotvec* %add.ptr to i8* + %20 = load i32, i32* %n.addr, align 4 + %add11 = add nsw i32 %20, 1 + %21 = load i32, i32* @nslots, align 4 + %sub = sub nsw i32 %add11, %21 + %conv12 = sext i32 %sub to i64 + %mul13 = mul i64 %conv12, 16 + %22 = call i8* @memset(i8* %19, i32 0, i64 %mul13) + %23 = load i32, i32* %n.addr, align 4 + %add14 = add nsw i32 %23, 1 + store i32 %add14, i32* @nslots, align 4 + br label %if.end15 + +if.end15: ; preds = %if.end10, %if.end + %24 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %25 = load i32, i32* %n.addr, align 4 + %idxprom = sext i32 %25 to i64 + %arrayidx = getelementptr inbounds %struct.slotvec, %struct.slotvec* %24, i64 %idxprom + %size16 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx, i32 0, i32 0 + %26 = load i64, i64* %size16, align 8 + store i64 %26, i64* %size, align 8 + %27 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %28 = load i32, i32* %n.addr, align 4 + %idxprom17 = sext i32 %28 to i64 + %arrayidx18 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %27, i64 %idxprom17 + %val19 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx18, i32 0, i32 1 + %29 = load i8*, i8** %val19, align 8 + store i8* %29, i8** %val, align 8 + %30 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %flags20 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %30, i32 0, i32 1 + %31 = load i32, i32* %flags20, align 4 + %or = or i32 %31, 1 + store i32 %or, i32* %flags, align 4 + %32 = load i8*, i8** %val, align 8 + %33 = load i64, i64* %size, align 8 + %34 = load i8*, i8** %arg.addr, align 8 + %35 = load i64, i64* %argsize.addr, align 8 + %36 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %36, i32 0, i32 0 + %37 = load i32, i32* %style, align 8 + %38 = load i32, i32* %flags, align 4 + %39 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %39, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %40 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %left_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %40, i32 0, i32 3 + %41 = load i8*, i8** %left_quote, align 8 + %42 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %right_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %42, i32 0, i32 4 + %43 = load i8*, i8** %right_quote, align 8 + %call21 = call i64 @quotearg_buffer_restyled(i8* %32, i64 %33, i8* %34, i64 %35, i32 %37, i32 %38, i32* %arraydecay, i8* %41, i8* %43) + store i64 %call21, i64* %qsize, align 8 + %44 = load i64, i64* %size, align 8 + %45 = load i64, i64* %qsize, align 8 + %cmp22 = icmp ule i64 %44, %45 + br i1 %cmp22, label %if.then24, label %if.end43 + +if.then24: ; preds = %if.end15 + %46 = load i64, i64* %qsize, align 8 + %add25 = add i64 %46, 1 + store i64 %add25, i64* %size, align 8 + %47 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %48 = load i32, i32* %n.addr, align 4 + %idxprom26 = sext i32 %48 to i64 + %arrayidx27 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %47, i64 %idxprom26 + %size28 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx27, i32 0, i32 0 + store i64 %add25, i64* %size28, align 8 + %49 = load i8*, i8** %val, align 8 + %cmp29 = icmp ne i8* %49, getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i64 0, i64 0) + br i1 %cmp29, label %if.then31, label %if.end32 + +if.then31: ; preds = %if.then24 + %50 = load i8*, i8** %val, align 8 + call void @free(i8* %50) #11 + br label %if.end32 + +if.end32: ; preds = %if.then31, %if.then24 + %51 = load i64, i64* %size, align 8 + %call33 = call noalias i8* @xcharalloc(i64 %51) + store i8* %call33, i8** %val, align 8 + %52 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %53 = load i32, i32* %n.addr, align 4 + %idxprom34 = sext i32 %53 to i64 + %arrayidx35 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %52, i64 %idxprom34 + %val36 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx35, i32 0, i32 1 + store i8* %call33, i8** %val36, align 8 + %54 = load i8*, i8** %val, align 8 + %55 = load i64, i64* %size, align 8 + %56 = load i8*, i8** %arg.addr, align 8 + %57 = load i64, i64* %argsize.addr, align 8 + %58 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %style37 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %58, i32 0, i32 0 + %59 = load i32, i32* %style37, align 8 + %60 = load i32, i32* %flags, align 4 + %61 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %quote_these_too38 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %61, i32 0, i32 2 + %arraydecay39 = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too38, i64 0, i64 0 + %62 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %left_quote40 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %62, i32 0, i32 3 + %63 = load i8*, i8** %left_quote40, align 8 + %64 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %right_quote41 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %64, i32 0, i32 4 + %65 = load i8*, i8** %right_quote41, align 8 + %call42 = call i64 @quotearg_buffer_restyled(i8* %54, i64 %55, i8* %56, i64 %57, i32 %59, i32 %60, i32* %arraydecay39, i8* %63, i8* %65) + br label %if.end43 + +if.end43: ; preds = %if.end32, %if.end15 + %66 = load i32, i32* %e, align 4 + %call44 = call i32* @__errno_location() #25 + store i32 %66, i32* %call44, align 4 + %67 = load i8*, i8** %val, align 8 + ret i8* %67 +} + +; Function Attrs: noinline noreturn nounwind uwtable +define dso_local void @xalloc_die() #6 { +entry: + %0 = load volatile i32, i32* @exit_failure, align 4 + call void (i32, i32, i8*, ...) @error(i32 %0, i32 0, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.147, i64 0, i64 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.1.148, i64 0, i64 0)) + call void @abort() #26 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @xrealloc(i8* %p, i64 %n) #3 { +entry: + %retval = alloca i8*, align 8 + %p.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %tobool = icmp eq i64 %0, 0 + %1 = load i8*, i8** %p.addr, align 8 + %tobool1 = icmp ne i8* %1, null + %or.cond = and i1 %tobool, %tobool1 + %2 = load i8*, i8** %p.addr, align 8 + br i1 %or.cond, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @free(i8* %2) #11 + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %3 = load i64, i64* %n.addr, align 8 + %call = call i8* @realloc(i8* %2, i64 %3) #11 + store i8* %call, i8** %p.addr, align 8 + %4 = load i8*, i8** %p.addr, align 8 + %tobool2 = icmp eq i8* %4, null + %5 = load i64, i64* %n.addr, align 8 + %tobool4 = icmp ne i64 %5, 0 + %or.cond1 = and i1 %tobool2, %tobool4 + br i1 %or.cond1, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end + call void @xalloc_die() #24 + unreachable + +if.end6: ; preds = %if.end + %6 = load i8*, i8** %p.addr, align 8 + store i8* %6, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end6, %if.then + %7 = load i8*, i8** %retval, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @quotearg_buffer_restyled(i8* %buffer, i64 %buffersize, i8* %arg, i64 %argsize, i32 %quoting_style, i32 %flags, i32* %quote_these_too, i8* %left_quote, i8* %right_quote) #3 { +entry: + %retval = alloca i64, align 8 + %buffer.addr = alloca i8*, align 8 + %buffersize.addr = alloca i64, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %quoting_style.addr = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %quote_these_too.addr = alloca i32*, align 8 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %i = alloca i64, align 8 + %len = alloca i64, align 8 + %orig_buffersize = alloca i64, align 8 + %quote_string = alloca i8*, align 8 + %quote_string_len = alloca i64, align 8 + %backslash_escapes = alloca i8, align 1 + %unibyte_locale = alloca i8, align 1 + %elide_outer_quotes = alloca i8, align 1 + %pending_shell_escape_end = alloca i8, align 1 + %encountered_single_quote = alloca i8, align 1 + %all_c_and_shell_quote_compat = alloca i8, align 1 + %c = alloca i8, align 1 + %esc = alloca i8, align 1 + %is_right_quote = alloca i8, align 1 + %escaping = alloca i8, align 1 + %c_and_shell_quote_compat = alloca i8, align 1 + %m = alloca i64, align 8 + %printable = alloca i8, align 1 + %mbstate = alloca %struct.__mbstate_t, align 4 + %w = alloca i32, align 4 + %bytes = alloca i64, align 8 + %j = alloca i64, align 8 + %ilim = alloca i64, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %buffersize, i64* %buffersize.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store i32 %quoting_style, i32* %quoting_style.addr, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store i32* %quote_these_too, i32** %quote_these_too.addr, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i64 0, i64* %len, align 8 + store i64 0, i64* %orig_buffersize, align 8 + store i8* null, i8** %quote_string, align 8 + store i64 0, i64* %quote_string_len, align 8 + store i8 0, i8* %backslash_escapes, align 1 + %call = call i64 @__ctype_get_mb_cur_max() #11 + %cmp = icmp eq i64 %call, 1 + %frombool = zext i1 %cmp to i8 + store i8 %frombool, i8* %unibyte_locale, align 1 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 2 + %cmp1 = icmp ne i32 %and, 0 + %frombool2 = zext i1 %cmp1 to i8 + store i8 %frombool2, i8* %elide_outer_quotes, align 1 + store i8 0, i8* %pending_shell_escape_end, align 1 + store i8 0, i8* %encountered_single_quote, align 1 + store i8 1, i8* %all_c_and_shell_quote_compat, align 1 + br label %process_input + +process_input: ; preds = %if.then701, %entry + %1 = load i32, i32* %quoting_style.addr, align 4 + br label %NodeBlock27 + +NodeBlock27: ; preds = %process_input + %case.cmp28 = icmp eq i32 %1, 6 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %1, 5 + br i1 %case.cmp26, label %sw.bb3, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %1, 7 + br i1 %case.cmp24, label %sw.bb7, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %1, 8 + br i1 %case.cmp22, label %sw.bb8, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %1, 9 + br i1 %case.cmp20, label %sw.bb8, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %1, 10 + br i1 %case.cmp18, label %sw.bb8, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %1, 3 + br i1 %case.cmp16, label %sw.bb26, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %1, 1 + br i1 %case.cmp14, label %sw.bb27, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %1, 4 + br i1 %case.cmp12, label %sw.bb28, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %1, 2 + br i1 %case.cmp10, label %sw.bb32, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock9 + %case.cmp = icmp eq i32 %1, 0 + br i1 %case.cmp, label %sw.bb43, label %newDefault + +sw.bb: ; preds = %NodeBlock27 + store i32 5, i32* %quoting_style.addr, align 4 + store i8 1, i8* %elide_outer_quotes, align 1 + br label %sw.bb3 + +sw.bb3: ; preds = %NodeBlock25, %sw.bb + %2 = load i8, i8* %elide_outer_quotes, align 1 + %tobool = trunc i8 %2 to i1 + br i1 %tobool, label %if.end6, label %do.body + +do.body: ; preds = %sw.bb3 + %3 = load i64, i64* %len, align 8 + %4 = load i64, i64* %buffersize.addr, align 8 + %cmp4 = icmp ult i64 %3, %4 + br i1 %cmp4, label %if.then5, label %if.end + +if.then5: ; preds = %do.body + %5 = load i8*, i8** %buffer.addr, align 8 + %6 = load i64, i64* %len, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 %6 + store i8 34, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then5, %do.body + %7 = load i64, i64* %len, align 8 + %inc = add i64 %7, 1 + store i64 %inc, i64* %len, align 8 + br label %if.end6 + +if.end6: ; preds = %if.end, %sw.bb3 + store i8 1, i8* %backslash_escapes, align 1 + store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10.95, i64 0, i64 0), i8** %quote_string, align 8 + store i64 1, i64* %quote_string_len, align 8 + br label %sw.epilog + +sw.bb7: ; preds = %NodeBlock23 + store i8 1, i8* %backslash_escapes, align 1 + store i8 0, i8* %elide_outer_quotes, align 1 + br label %sw.epilog + +sw.bb8: ; preds = %NodeBlock21, %NodeBlock19, %NodeBlock17 + %8 = load i32, i32* %quoting_style.addr, align 4 + %cmp9 = icmp ne i32 %8, 10 + br i1 %cmp9, label %if.then10, label %if.end13 + +if.then10: ; preds = %sw.bb8 + %9 = load i32, i32* %quoting_style.addr, align 4 + %call11 = call i8* @gettext_quote(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.11.96, i64 0, i64 0), i32 %9) + store i8* %call11, i8** %left_quote.addr, align 8 + %10 = load i32, i32* %quoting_style.addr, align 4 + %call12 = call i8* @gettext_quote(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.97, i64 0, i64 0), i32 %10) + store i8* %call12, i8** %right_quote.addr, align 8 + br label %if.end13 + +if.end13: ; preds = %if.then10, %sw.bb8 + %11 = load i8, i8* %elide_outer_quotes, align 1 + %tobool14 = trunc i8 %11 to i1 + br i1 %tobool14, label %if.end24, label %if.then15 + +if.then15: ; preds = %if.end13 + %12 = load i8*, i8** %left_quote.addr, align 8 + store i8* %12, i8** %quote_string, align 8 + br label %for.cond + +for.cond: ; preds = %if.end21, %if.then15 + %13 = load i8*, i8** %quote_string, align 8 + %14 = load i8, i8* %13, align 1 + %tobool16 = icmp ne i8 %14, 0 + br i1 %tobool16, label %do.body17, label %if.end24 + +do.body17: ; preds = %for.cond + %15 = load i64, i64* %len, align 8 + %16 = load i64, i64* %buffersize.addr, align 8 + %cmp18 = icmp ult i64 %15, %16 + br i1 %cmp18, label %if.then19, label %if.end21 + +if.then19: ; preds = %do.body17 + %17 = load i8*, i8** %quote_string, align 8 + %18 = load i8, i8* %17, align 1 + %19 = load i8*, i8** %buffer.addr, align 8 + %20 = load i64, i64* %len, align 8 + %arrayidx20 = getelementptr inbounds i8, i8* %19, i64 %20 + store i8 %18, i8* %arrayidx20, align 1 + br label %if.end21 + +if.end21: ; preds = %if.then19, %do.body17 + %21 = load i64, i64* %len, align 8 + %inc22 = add i64 %21, 1 + store i64 %inc22, i64* %len, align 8 + %22 = load i8*, i8** %quote_string, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %22, i32 1 + store i8* %incdec.ptr, i8** %quote_string, align 8 + br label %for.cond + +if.end24: ; preds = %for.cond, %if.end13 + store i8 1, i8* %backslash_escapes, align 1 + %23 = load i8*, i8** %right_quote.addr, align 8 + store i8* %23, i8** %quote_string, align 8 + %24 = load i8*, i8** %quote_string, align 8 + %call25 = call i64 @strlen(i8* %24) #23 + store i64 %call25, i64* %quote_string_len, align 8 + br label %sw.epilog + +sw.bb26: ; preds = %NodeBlock15 + store i8 1, i8* %backslash_escapes, align 1 + br label %sw.bb27 + +sw.bb27: ; preds = %NodeBlock13, %sw.bb26 + store i8 1, i8* %elide_outer_quotes, align 1 + br label %sw.bb28 + +sw.bb28: ; preds = %NodeBlock11, %sw.bb27 + %25 = load i8, i8* %elide_outer_quotes, align 1 + %tobool29 = trunc i8 %25 to i1 + br i1 %tobool29, label %sw.bb32, label %if.then30 + +if.then30: ; preds = %sw.bb28 + store i8 1, i8* %backslash_escapes, align 1 + br label %sw.bb32 + +sw.bb32: ; preds = %NodeBlock9, %sw.bb28, %if.then30 + store i32 2, i32* %quoting_style.addr, align 4 + %26 = load i8, i8* %elide_outer_quotes, align 1 + %tobool33 = trunc i8 %26 to i1 + br i1 %tobool33, label %if.end42, label %do.body35 + +do.body35: ; preds = %sw.bb32 + %27 = load i64, i64* %len, align 8 + %28 = load i64, i64* %buffersize.addr, align 8 + %cmp36 = icmp ult i64 %27, %28 + br i1 %cmp36, label %if.then37, label %if.end39 + +if.then37: ; preds = %do.body35 + %29 = load i8*, i8** %buffer.addr, align 8 + %30 = load i64, i64* %len, align 8 + %arrayidx38 = getelementptr inbounds i8, i8* %29, i64 %30 + store i8 39, i8* %arrayidx38, align 1 + br label %if.end39 + +if.end39: ; preds = %if.then37, %do.body35 + %31 = load i64, i64* %len, align 8 + %inc40 = add i64 %31, 1 + store i64 %inc40, i64* %len, align 8 + br label %if.end42 + +if.end42: ; preds = %if.end39, %sw.bb32 + store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.97, i64 0, i64 0), i8** %quote_string, align 8 + store i64 1, i64* %quote_string_len, align 8 + br label %sw.epilog + +sw.bb43: ; preds = %NodeBlock + store i8 0, i8* %elide_outer_quotes, align 1 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @abort() #26 + unreachable + +sw.epilog: ; preds = %sw.bb43, %if.end42, %if.end24, %sw.bb7, %if.end6 + store i64 0, i64* %i, align 8 + br label %for.cond44 + +for.cond44: ; preds = %for.inc673, %sw.epilog + %32 = load i64, i64* %argsize.addr, align 8 + %cmp45 = icmp eq i64 %32, -1 + br i1 %cmp45, label %cond.true, label %cond.false + +cond.true: ; preds = %for.cond44 + %33 = load i8*, i8** %arg.addr, align 8 + %34 = load i64, i64* %i, align 8 + %arrayidx46 = getelementptr inbounds i8, i8* %33, i64 %34 + %35 = load i8, i8* %arrayidx46, align 1 + %conv = sext i8 %35 to i32 + %cmp47 = icmp eq i32 %conv, 0 + %conv48 = zext i1 %cmp47 to i32 + br label %cond.end + +cond.false: ; preds = %for.cond44 + %36 = load i64, i64* %i, align 8 + %37 = load i64, i64* %argsize.addr, align 8 + %cmp49 = icmp eq i64 %36, %37 + %conv50 = zext i1 %cmp49 to i32 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ %conv48, %cond.true ], [ %conv50, %cond.false ] + %tobool51 = icmp ne i32 %cond, 0 + %lnot = xor i1 %tobool51, true + br i1 %lnot, label %for.body52, label %for.end675 + +for.body52: ; preds = %cond.end + store i8 0, i8* %is_right_quote, align 1 + store i8 0, i8* %escaping, align 1 + store i8 0, i8* %c_and_shell_quote_compat, align 1 + %38 = load i8, i8* %backslash_escapes, align 1 + %tobool53 = trunc i8 %38 to i1 + %39 = load i32, i32* %quoting_style.addr, align 4 + %cmp55 = icmp ne i32 %39, 2 + %or.cond = and i1 %tobool53, %cmp55 + %40 = load i64, i64* %quote_string_len, align 8 + %tobool58 = icmp ne i64 %40, 0 + %or.cond1 = and i1 %or.cond, %tobool58 + br i1 %or.cond1, label %land.lhs.true59, label %if.end80 + +land.lhs.true59: ; preds = %for.body52 + %41 = load i64, i64* %i, align 8 + %42 = load i64, i64* %quote_string_len, align 8 + %add = add i64 %41, %42 + %43 = load i64, i64* %argsize.addr, align 8 + %cmp60 = icmp eq i64 %43, -1 + %44 = load i64, i64* %quote_string_len, align 8 + %cmp63 = icmp ult i64 1, %44 + %or.cond2 = and i1 %cmp60, %cmp63 + br i1 %or.cond2, label %cond.true65, label %cond.false67 + +cond.true65: ; preds = %land.lhs.true59 + %45 = load i8*, i8** %arg.addr, align 8 + %call66 = call i64 @strlen(i8* %45) #23 + store i64 %call66, i64* %argsize.addr, align 8 + br label %cond.end68 + +cond.false67: ; preds = %land.lhs.true59 + %46 = load i64, i64* %argsize.addr, align 8 + br label %cond.end68 + +cond.end68: ; preds = %cond.false67, %cond.true65 + %cond69 = phi i64 [ %call66, %cond.true65 ], [ %46, %cond.false67 ] + %cmp70 = icmp ule i64 %add, %cond69 + br i1 %cmp70, label %land.lhs.true72, label %if.end80 + +land.lhs.true72: ; preds = %cond.end68 + %47 = load i8*, i8** %arg.addr, align 8 + %48 = load i64, i64* %i, align 8 + %add.ptr = getelementptr inbounds i8, i8* %47, i64 %48 + %49 = load i8*, i8** %quote_string, align 8 + %50 = load i64, i64* %quote_string_len, align 8 + %call73 = call i32 @memcmp(i8* %add.ptr, i8* %49, i64 %50) #23 + %cmp74 = icmp eq i32 %call73, 0 + br i1 %cmp74, label %if.then76, label %if.end80 + +if.then76: ; preds = %land.lhs.true72 + %51 = load i8, i8* %elide_outer_quotes, align 1 + %tobool77 = trunc i8 %51 to i1 + br i1 %tobool77, label %force_outer_quoting_style, label %if.end79 + +if.end79: ; preds = %if.then76 + store i8 1, i8* %is_right_quote, align 1 + br label %if.end80 + +if.end80: ; preds = %if.end79, %land.lhs.true72, %cond.end68, %for.body52 + %52 = load i8*, i8** %arg.addr, align 8 + %53 = load i64, i64* %i, align 8 + %arrayidx81 = getelementptr inbounds i8, i8* %52, i64 %53 + %54 = load i8, i8* %arrayidx81, align 1 + store i8 %54, i8* %c, align 1 + %55 = load i8, i8* %c, align 1 + %conv82 = zext i8 %55 to i32 + br label %NodeBlock232 + +NodeBlock232: ; preds = %if.end80 + %case.cmp233 = icmp eq i32 %conv82, 0 + br i1 %case.cmp233, label %sw.bb83, label %NodeBlock230 + +NodeBlock230: ; preds = %NodeBlock232 + %case.cmp231 = icmp eq i32 %conv82, 63 + br i1 %case.cmp231, label %sw.bb170, label %NodeBlock228 + +NodeBlock228: ; preds = %NodeBlock230 + %case.cmp229 = icmp eq i32 %conv82, 7 + br i1 %case.cmp229, label %sw.bb236, label %NodeBlock226 + +NodeBlock226: ; preds = %NodeBlock228 + %case.cmp227 = icmp eq i32 %conv82, 8 + br i1 %case.cmp227, label %sw.bb237, label %NodeBlock224 + +NodeBlock224: ; preds = %NodeBlock226 + %case.cmp225 = icmp eq i32 %conv82, 12 + br i1 %case.cmp225, label %sw.bb238, label %NodeBlock222 + +NodeBlock222: ; preds = %NodeBlock224 + %case.cmp223 = icmp eq i32 %conv82, 10 + br i1 %case.cmp223, label %sw.bb239, label %NodeBlock220 + +NodeBlock220: ; preds = %NodeBlock222 + %case.cmp221 = icmp eq i32 %conv82, 13 + br i1 %case.cmp221, label %sw.bb240, label %NodeBlock218 + +NodeBlock218: ; preds = %NodeBlock220 + %case.cmp219 = icmp eq i32 %conv82, 9 + br i1 %case.cmp219, label %sw.bb241, label %NodeBlock216 + +NodeBlock216: ; preds = %NodeBlock218 + %case.cmp217 = icmp eq i32 %conv82, 11 + br i1 %case.cmp217, label %sw.bb242, label %NodeBlock214 + +NodeBlock214: ; preds = %NodeBlock216 + %case.cmp215 = icmp eq i32 %conv82, 92 + br i1 %case.cmp215, label %sw.bb243, label %NodeBlock212 + +NodeBlock212: ; preds = %NodeBlock214 + %case.cmp213 = icmp eq i32 %conv82, 123 + br i1 %case.cmp213, label %sw.bb270, label %NodeBlock210 + +NodeBlock210: ; preds = %NodeBlock212 + %case.cmp211 = icmp eq i32 %conv82, 125 + br i1 %case.cmp211, label %sw.bb270, label %NodeBlock208 + +NodeBlock208: ; preds = %NodeBlock210 + %case.cmp209 = icmp eq i32 %conv82, 35 + br i1 %case.cmp209, label %sw.bb283, label %NodeBlock206 + +NodeBlock206: ; preds = %NodeBlock208 + %case.cmp207 = icmp eq i32 %conv82, 126 + br i1 %case.cmp207, label %sw.bb283, label %NodeBlock204 + +NodeBlock204: ; preds = %NodeBlock206 + %case.cmp205 = icmp eq i32 %conv82, 32 + br i1 %case.cmp205, label %sw.bb288, label %NodeBlock202 + +NodeBlock202: ; preds = %NodeBlock204 + %case.cmp203 = icmp eq i32 %conv82, 33 + br i1 %case.cmp203, label %sw.bb289, label %NodeBlock200 + +NodeBlock200: ; preds = %NodeBlock202 + %case.cmp201 = icmp eq i32 %conv82, 34 + br i1 %case.cmp201, label %sw.bb289, label %NodeBlock198 + +NodeBlock198: ; preds = %NodeBlock200 + %case.cmp199 = icmp eq i32 %conv82, 36 + br i1 %case.cmp199, label %sw.bb289, label %NodeBlock196 + +NodeBlock196: ; preds = %NodeBlock198 + %case.cmp197 = icmp eq i32 %conv82, 38 + br i1 %case.cmp197, label %sw.bb289, label %NodeBlock194 + +NodeBlock194: ; preds = %NodeBlock196 + %case.cmp195 = icmp eq i32 %conv82, 40 + br i1 %case.cmp195, label %sw.bb289, label %NodeBlock192 + +NodeBlock192: ; preds = %NodeBlock194 + %case.cmp193 = icmp eq i32 %conv82, 41 + br i1 %case.cmp193, label %sw.bb289, label %NodeBlock190 + +NodeBlock190: ; preds = %NodeBlock192 + %case.cmp191 = icmp eq i32 %conv82, 42 + br i1 %case.cmp191, label %sw.bb289, label %NodeBlock188 + +NodeBlock188: ; preds = %NodeBlock190 + %case.cmp189 = icmp eq i32 %conv82, 59 + br i1 %case.cmp189, label %sw.bb289, label %NodeBlock186 + +NodeBlock186: ; preds = %NodeBlock188 + %case.cmp187 = icmp eq i32 %conv82, 60 + br i1 %case.cmp187, label %sw.bb289, label %NodeBlock184 + +NodeBlock184: ; preds = %NodeBlock186 + %case.cmp185 = icmp eq i32 %conv82, 61 + br i1 %case.cmp185, label %sw.bb289, label %NodeBlock182 + +NodeBlock182: ; preds = %NodeBlock184 + %case.cmp183 = icmp eq i32 %conv82, 62 + br i1 %case.cmp183, label %sw.bb289, label %NodeBlock180 + +NodeBlock180: ; preds = %NodeBlock182 + %case.cmp181 = icmp eq i32 %conv82, 91 + br i1 %case.cmp181, label %sw.bb289, label %NodeBlock178 + +NodeBlock178: ; preds = %NodeBlock180 + %case.cmp179 = icmp eq i32 %conv82, 94 + br i1 %case.cmp179, label %sw.bb289, label %NodeBlock176 + +NodeBlock176: ; preds = %NodeBlock178 + %case.cmp177 = icmp eq i32 %conv82, 96 + br i1 %case.cmp177, label %sw.bb289, label %NodeBlock174 + +NodeBlock174: ; preds = %NodeBlock176 + %case.cmp175 = icmp eq i32 %conv82, 124 + br i1 %case.cmp175, label %sw.bb289, label %NodeBlock172 + +NodeBlock172: ; preds = %NodeBlock174 + %case.cmp173 = icmp eq i32 %conv82, 39 + br i1 %case.cmp173, label %sw.bb297, label %NodeBlock170 + +NodeBlock170: ; preds = %NodeBlock172 + %case.cmp171 = icmp eq i32 %conv82, 37 + br i1 %case.cmp171, label %sw.bb334, label %NodeBlock168 + +NodeBlock168: ; preds = %NodeBlock170 + %case.cmp169 = icmp eq i32 %conv82, 43 + br i1 %case.cmp169, label %sw.bb334, label %NodeBlock166 + +NodeBlock166: ; preds = %NodeBlock168 + %case.cmp167 = icmp eq i32 %conv82, 44 + br i1 %case.cmp167, label %sw.bb334, label %NodeBlock164 + +NodeBlock164: ; preds = %NodeBlock166 + %case.cmp165 = icmp eq i32 %conv82, 45 + br i1 %case.cmp165, label %sw.bb334, label %NodeBlock162 + +NodeBlock162: ; preds = %NodeBlock164 + %case.cmp163 = icmp eq i32 %conv82, 46 + br i1 %case.cmp163, label %sw.bb334, label %NodeBlock160 + +NodeBlock160: ; preds = %NodeBlock162 + %case.cmp161 = icmp eq i32 %conv82, 47 + br i1 %case.cmp161, label %sw.bb334, label %NodeBlock158 + +NodeBlock158: ; preds = %NodeBlock160 + %case.cmp159 = icmp eq i32 %conv82, 48 + br i1 %case.cmp159, label %sw.bb334, label %NodeBlock156 + +NodeBlock156: ; preds = %NodeBlock158 + %case.cmp157 = icmp eq i32 %conv82, 49 + br i1 %case.cmp157, label %sw.bb334, label %NodeBlock154 + +NodeBlock154: ; preds = %NodeBlock156 + %case.cmp155 = icmp eq i32 %conv82, 50 + br i1 %case.cmp155, label %sw.bb334, label %NodeBlock152 + +NodeBlock152: ; preds = %NodeBlock154 + %case.cmp153 = icmp eq i32 %conv82, 51 + br i1 %case.cmp153, label %sw.bb334, label %NodeBlock150 + +NodeBlock150: ; preds = %NodeBlock152 + %case.cmp151 = icmp eq i32 %conv82, 52 + br i1 %case.cmp151, label %sw.bb334, label %NodeBlock148 + +NodeBlock148: ; preds = %NodeBlock150 + %case.cmp149 = icmp eq i32 %conv82, 53 + br i1 %case.cmp149, label %sw.bb334, label %NodeBlock146 + +NodeBlock146: ; preds = %NodeBlock148 + %case.cmp147 = icmp eq i32 %conv82, 54 + br i1 %case.cmp147, label %sw.bb334, label %NodeBlock144 + +NodeBlock144: ; preds = %NodeBlock146 + %case.cmp145 = icmp eq i32 %conv82, 55 + br i1 %case.cmp145, label %sw.bb334, label %NodeBlock142 + +NodeBlock142: ; preds = %NodeBlock144 + %case.cmp143 = icmp eq i32 %conv82, 56 + br i1 %case.cmp143, label %sw.bb334, label %NodeBlock140 + +NodeBlock140: ; preds = %NodeBlock142 + %case.cmp141 = icmp eq i32 %conv82, 57 + br i1 %case.cmp141, label %sw.bb334, label %NodeBlock138 + +NodeBlock138: ; preds = %NodeBlock140 + %case.cmp139 = icmp eq i32 %conv82, 58 + br i1 %case.cmp139, label %sw.bb334, label %NodeBlock136 + +NodeBlock136: ; preds = %NodeBlock138 + %case.cmp137 = icmp eq i32 %conv82, 65 + br i1 %case.cmp137, label %sw.bb334, label %NodeBlock134 + +NodeBlock134: ; preds = %NodeBlock136 + %case.cmp135 = icmp eq i32 %conv82, 66 + br i1 %case.cmp135, label %sw.bb334, label %NodeBlock132 + +NodeBlock132: ; preds = %NodeBlock134 + %case.cmp133 = icmp eq i32 %conv82, 67 + br i1 %case.cmp133, label %sw.bb334, label %NodeBlock130 + +NodeBlock130: ; preds = %NodeBlock132 + %case.cmp131 = icmp eq i32 %conv82, 68 + br i1 %case.cmp131, label %sw.bb334, label %NodeBlock128 + +NodeBlock128: ; preds = %NodeBlock130 + %case.cmp129 = icmp eq i32 %conv82, 69 + br i1 %case.cmp129, label %sw.bb334, label %NodeBlock126 + +NodeBlock126: ; preds = %NodeBlock128 + %case.cmp127 = icmp eq i32 %conv82, 70 + br i1 %case.cmp127, label %sw.bb334, label %NodeBlock124 + +NodeBlock124: ; preds = %NodeBlock126 + %case.cmp125 = icmp eq i32 %conv82, 71 + br i1 %case.cmp125, label %sw.bb334, label %NodeBlock122 + +NodeBlock122: ; preds = %NodeBlock124 + %case.cmp123 = icmp eq i32 %conv82, 72 + br i1 %case.cmp123, label %sw.bb334, label %NodeBlock120 + +NodeBlock120: ; preds = %NodeBlock122 + %case.cmp121 = icmp eq i32 %conv82, 73 + br i1 %case.cmp121, label %sw.bb334, label %NodeBlock118 + +NodeBlock118: ; preds = %NodeBlock120 + %case.cmp119 = icmp eq i32 %conv82, 74 + br i1 %case.cmp119, label %sw.bb334, label %NodeBlock116 + +NodeBlock116: ; preds = %NodeBlock118 + %case.cmp117 = icmp eq i32 %conv82, 75 + br i1 %case.cmp117, label %sw.bb334, label %NodeBlock114 + +NodeBlock114: ; preds = %NodeBlock116 + %case.cmp115 = icmp eq i32 %conv82, 76 + br i1 %case.cmp115, label %sw.bb334, label %NodeBlock112 + +NodeBlock112: ; preds = %NodeBlock114 + %case.cmp113 = icmp eq i32 %conv82, 77 + br i1 %case.cmp113, label %sw.bb334, label %NodeBlock110 + +NodeBlock110: ; preds = %NodeBlock112 + %case.cmp111 = icmp eq i32 %conv82, 78 + br i1 %case.cmp111, label %sw.bb334, label %NodeBlock108 + +NodeBlock108: ; preds = %NodeBlock110 + %case.cmp109 = icmp eq i32 %conv82, 79 + br i1 %case.cmp109, label %sw.bb334, label %NodeBlock106 + +NodeBlock106: ; preds = %NodeBlock108 + %case.cmp107 = icmp eq i32 %conv82, 80 + br i1 %case.cmp107, label %sw.bb334, label %NodeBlock104 + +NodeBlock104: ; preds = %NodeBlock106 + %case.cmp105 = icmp eq i32 %conv82, 81 + br i1 %case.cmp105, label %sw.bb334, label %NodeBlock102 + +NodeBlock102: ; preds = %NodeBlock104 + %case.cmp103 = icmp eq i32 %conv82, 82 + br i1 %case.cmp103, label %sw.bb334, label %NodeBlock100 + +NodeBlock100: ; preds = %NodeBlock102 + %case.cmp101 = icmp eq i32 %conv82, 83 + br i1 %case.cmp101, label %sw.bb334, label %NodeBlock98 + +NodeBlock98: ; preds = %NodeBlock100 + %case.cmp99 = icmp eq i32 %conv82, 84 + br i1 %case.cmp99, label %sw.bb334, label %NodeBlock96 + +NodeBlock96: ; preds = %NodeBlock98 + %case.cmp97 = icmp eq i32 %conv82, 85 + br i1 %case.cmp97, label %sw.bb334, label %NodeBlock94 + +NodeBlock94: ; preds = %NodeBlock96 + %case.cmp95 = icmp eq i32 %conv82, 86 + br i1 %case.cmp95, label %sw.bb334, label %NodeBlock92 + +NodeBlock92: ; preds = %NodeBlock94 + %case.cmp93 = icmp eq i32 %conv82, 87 + br i1 %case.cmp93, label %sw.bb334, label %NodeBlock90 + +NodeBlock90: ; preds = %NodeBlock92 + %case.cmp91 = icmp eq i32 %conv82, 88 + br i1 %case.cmp91, label %sw.bb334, label %NodeBlock88 + +NodeBlock88: ; preds = %NodeBlock90 + %case.cmp89 = icmp eq i32 %conv82, 89 + br i1 %case.cmp89, label %sw.bb334, label %NodeBlock86 + +NodeBlock86: ; preds = %NodeBlock88 + %case.cmp87 = icmp eq i32 %conv82, 90 + br i1 %case.cmp87, label %sw.bb334, label %NodeBlock84 + +NodeBlock84: ; preds = %NodeBlock86 + %case.cmp85 = icmp eq i32 %conv82, 93 + br i1 %case.cmp85, label %sw.bb334, label %NodeBlock82 + +NodeBlock82: ; preds = %NodeBlock84 + %case.cmp83 = icmp eq i32 %conv82, 95 + br i1 %case.cmp83, label %sw.bb334, label %NodeBlock80 + +NodeBlock80: ; preds = %NodeBlock82 + %case.cmp81 = icmp eq i32 %conv82, 97 + br i1 %case.cmp81, label %sw.bb334, label %NodeBlock78 + +NodeBlock78: ; preds = %NodeBlock80 + %case.cmp79 = icmp eq i32 %conv82, 98 + br i1 %case.cmp79, label %sw.bb334, label %NodeBlock76 + +NodeBlock76: ; preds = %NodeBlock78 + %case.cmp77 = icmp eq i32 %conv82, 99 + br i1 %case.cmp77, label %sw.bb334, label %NodeBlock74 + +NodeBlock74: ; preds = %NodeBlock76 + %case.cmp75 = icmp eq i32 %conv82, 100 + br i1 %case.cmp75, label %sw.bb334, label %NodeBlock72 + +NodeBlock72: ; preds = %NodeBlock74 + %case.cmp73 = icmp eq i32 %conv82, 101 + br i1 %case.cmp73, label %sw.bb334, label %NodeBlock70 + +NodeBlock70: ; preds = %NodeBlock72 + %case.cmp71 = icmp eq i32 %conv82, 102 + br i1 %case.cmp71, label %sw.bb334, label %NodeBlock68 + +NodeBlock68: ; preds = %NodeBlock70 + %case.cmp69 = icmp eq i32 %conv82, 103 + br i1 %case.cmp69, label %sw.bb334, label %NodeBlock66 + +NodeBlock66: ; preds = %NodeBlock68 + %case.cmp67 = icmp eq i32 %conv82, 104 + br i1 %case.cmp67, label %sw.bb334, label %NodeBlock64 + +NodeBlock64: ; preds = %NodeBlock66 + %case.cmp65 = icmp eq i32 %conv82, 105 + br i1 %case.cmp65, label %sw.bb334, label %NodeBlock62 + +NodeBlock62: ; preds = %NodeBlock64 + %case.cmp63 = icmp eq i32 %conv82, 106 + br i1 %case.cmp63, label %sw.bb334, label %NodeBlock60 + +NodeBlock60: ; preds = %NodeBlock62 + %case.cmp61 = icmp eq i32 %conv82, 107 + br i1 %case.cmp61, label %sw.bb334, label %NodeBlock58 + +NodeBlock58: ; preds = %NodeBlock60 + %case.cmp59 = icmp eq i32 %conv82, 108 + br i1 %case.cmp59, label %sw.bb334, label %NodeBlock56 + +NodeBlock56: ; preds = %NodeBlock58 + %case.cmp57 = icmp eq i32 %conv82, 109 + br i1 %case.cmp57, label %sw.bb334, label %NodeBlock54 + +NodeBlock54: ; preds = %NodeBlock56 + %case.cmp55 = icmp eq i32 %conv82, 110 + br i1 %case.cmp55, label %sw.bb334, label %NodeBlock52 + +NodeBlock52: ; preds = %NodeBlock54 + %case.cmp53 = icmp eq i32 %conv82, 111 + br i1 %case.cmp53, label %sw.bb334, label %NodeBlock50 + +NodeBlock50: ; preds = %NodeBlock52 + %case.cmp51 = icmp eq i32 %conv82, 112 + br i1 %case.cmp51, label %sw.bb334, label %NodeBlock48 + +NodeBlock48: ; preds = %NodeBlock50 + %case.cmp49 = icmp eq i32 %conv82, 113 + br i1 %case.cmp49, label %sw.bb334, label %NodeBlock46 + +NodeBlock46: ; preds = %NodeBlock48 + %case.cmp47 = icmp eq i32 %conv82, 114 + br i1 %case.cmp47, label %sw.bb334, label %NodeBlock44 + +NodeBlock44: ; preds = %NodeBlock46 + %case.cmp45 = icmp eq i32 %conv82, 115 + br i1 %case.cmp45, label %sw.bb334, label %NodeBlock42 + +NodeBlock42: ; preds = %NodeBlock44 + %case.cmp43 = icmp eq i32 %conv82, 116 + br i1 %case.cmp43, label %sw.bb334, label %NodeBlock40 + +NodeBlock40: ; preds = %NodeBlock42 + %case.cmp41 = icmp eq i32 %conv82, 117 + br i1 %case.cmp41, label %sw.bb334, label %NodeBlock38 + +NodeBlock38: ; preds = %NodeBlock40 + %case.cmp39 = icmp eq i32 %conv82, 118 + br i1 %case.cmp39, label %sw.bb334, label %NodeBlock36 + +NodeBlock36: ; preds = %NodeBlock38 + %case.cmp37 = icmp eq i32 %conv82, 119 + br i1 %case.cmp37, label %sw.bb334, label %NodeBlock34 + +NodeBlock34: ; preds = %NodeBlock36 + %case.cmp35 = icmp eq i32 %conv82, 120 + br i1 %case.cmp35, label %sw.bb334, label %NodeBlock32 + +NodeBlock32: ; preds = %NodeBlock34 + %case.cmp33 = icmp eq i32 %conv82, 121 + br i1 %case.cmp33, label %sw.bb334, label %NodeBlock30 + +NodeBlock30: ; preds = %NodeBlock32 + %case.cmp31 = icmp eq i32 %conv82, 122 + br i1 %case.cmp31, label %sw.bb334, label %newDefault29 + +sw.bb83: ; preds = %NodeBlock232 + %56 = load i8, i8* %backslash_escapes, align 1 + %tobool84 = trunc i8 %56 to i1 + br i1 %tobool84, label %do.body86, label %if.else + +do.body86: ; preds = %sw.bb83 + %57 = load i8, i8* %elide_outer_quotes, align 1 + %tobool87 = trunc i8 %57 to i1 + br i1 %tobool87, label %force_outer_quoting_style, label %if.end89 + +if.end89: ; preds = %do.body86 + store i8 1, i8* %escaping, align 1 + %58 = load i32, i32* %quoting_style.addr, align 4 + %cmp90 = icmp eq i32 %58, 2 + br i1 %cmp90, label %land.lhs.true92, label %do.body120 + +land.lhs.true92: ; preds = %if.end89 + %59 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool93 = trunc i8 %59 to i1 + br i1 %tobool93, label %do.body120, label %do.body95 + +do.body95: ; preds = %land.lhs.true92 + %60 = load i64, i64* %len, align 8 + %61 = load i64, i64* %buffersize.addr, align 8 + %cmp96 = icmp ult i64 %60, %61 + br i1 %cmp96, label %if.then98, label %if.end100 + +if.then98: ; preds = %do.body95 + %62 = load i8*, i8** %buffer.addr, align 8 + %63 = load i64, i64* %len, align 8 + %arrayidx99 = getelementptr inbounds i8, i8* %62, i64 %63 + store i8 39, i8* %arrayidx99, align 1 + br label %if.end100 + +if.end100: ; preds = %if.then98, %do.body95 + %64 = load i64, i64* %len, align 8 + %inc101 = add i64 %64, 1 + store i64 %inc101, i64* %len, align 8 + %65 = load i64, i64* %len, align 8 + %66 = load i64, i64* %buffersize.addr, align 8 + %cmp104 = icmp ult i64 %65, %66 + br i1 %cmp104, label %if.then106, label %if.end108 + +if.then106: ; preds = %if.end100 + %67 = load i8*, i8** %buffer.addr, align 8 + %68 = load i64, i64* %len, align 8 + %arrayidx107 = getelementptr inbounds i8, i8* %67, i64 %68 + store i8 36, i8* %arrayidx107, align 1 + br label %if.end108 + +if.end108: ; preds = %if.then106, %if.end100 + %69 = load i64, i64* %len, align 8 + %inc109 = add i64 %69, 1 + store i64 %inc109, i64* %len, align 8 + %70 = load i64, i64* %len, align 8 + %71 = load i64, i64* %buffersize.addr, align 8 + %cmp112 = icmp ult i64 %70, %71 + br i1 %cmp112, label %if.then114, label %if.end116 + +if.then114: ; preds = %if.end108 + %72 = load i8*, i8** %buffer.addr, align 8 + %73 = load i64, i64* %len, align 8 + %arrayidx115 = getelementptr inbounds i8, i8* %72, i64 %73 + store i8 39, i8* %arrayidx115, align 1 + br label %if.end116 + +if.end116: ; preds = %if.then114, %if.end108 + %74 = load i64, i64* %len, align 8 + %inc117 = add i64 %74, 1 + store i64 %inc117, i64* %len, align 8 + store i8 1, i8* %pending_shell_escape_end, align 1 + br label %do.body120 + +do.body120: ; preds = %if.end89, %land.lhs.true92, %if.end116 + %75 = load i64, i64* %len, align 8 + %76 = load i64, i64* %buffersize.addr, align 8 + %cmp121 = icmp ult i64 %75, %76 + br i1 %cmp121, label %if.then123, label %if.end125 + +if.then123: ; preds = %do.body120 + %77 = load i8*, i8** %buffer.addr, align 8 + %78 = load i64, i64* %len, align 8 + %arrayidx124 = getelementptr inbounds i8, i8* %77, i64 %78 + store i8 92, i8* %arrayidx124, align 1 + br label %if.end125 + +if.end125: ; preds = %if.then123, %do.body120 + %79 = load i64, i64* %len, align 8 + %inc126 = add i64 %79, 1 + store i64 %inc126, i64* %len, align 8 + %80 = load i32, i32* %quoting_style.addr, align 4 + %cmp129 = icmp ne i32 %80, 2 + br i1 %cmp129, label %land.lhs.true131, label %if.end164 + +land.lhs.true131: ; preds = %if.end125 + %81 = load i64, i64* %i, align 8 + %add132 = add i64 %81, 1 + %82 = load i64, i64* %argsize.addr, align 8 + %cmp133 = icmp ult i64 %add132, %82 + br i1 %cmp133, label %land.lhs.true135, label %if.end164 + +land.lhs.true135: ; preds = %land.lhs.true131 + %83 = load i8*, i8** %arg.addr, align 8 + %84 = load i64, i64* %i, align 8 + %add136 = add i64 %84, 1 + %arrayidx137 = getelementptr inbounds i8, i8* %83, i64 %add136 + %85 = load i8, i8* %arrayidx137, align 1 + %conv138 = sext i8 %85 to i32 + %cmp139 = icmp sle i32 48, %conv138 + br i1 %cmp139, label %land.lhs.true141, label %if.end164 + +land.lhs.true141: ; preds = %land.lhs.true135 + %86 = load i8*, i8** %arg.addr, align 8 + %87 = load i64, i64* %i, align 8 + %add142 = add i64 %87, 1 + %arrayidx143 = getelementptr inbounds i8, i8* %86, i64 %add142 + %88 = load i8, i8* %arrayidx143, align 1 + %conv144 = sext i8 %88 to i32 + %cmp145 = icmp sle i32 %conv144, 57 + br i1 %cmp145, label %do.body148, label %if.end164 + +do.body148: ; preds = %land.lhs.true141 + %89 = load i64, i64* %len, align 8 + %90 = load i64, i64* %buffersize.addr, align 8 + %cmp149 = icmp ult i64 %89, %90 + br i1 %cmp149, label %if.then151, label %if.end153 + +if.then151: ; preds = %do.body148 + %91 = load i8*, i8** %buffer.addr, align 8 + %92 = load i64, i64* %len, align 8 + %arrayidx152 = getelementptr inbounds i8, i8* %91, i64 %92 + store i8 48, i8* %arrayidx152, align 1 + br label %if.end153 + +if.end153: ; preds = %if.then151, %do.body148 + %93 = load i64, i64* %len, align 8 + %inc154 = add i64 %93, 1 + store i64 %inc154, i64* %len, align 8 + %94 = load i64, i64* %len, align 8 + %95 = load i64, i64* %buffersize.addr, align 8 + %cmp157 = icmp ult i64 %94, %95 + br i1 %cmp157, label %if.then159, label %if.end161 + +if.then159: ; preds = %if.end153 + %96 = load i8*, i8** %buffer.addr, align 8 + %97 = load i64, i64* %len, align 8 + %arrayidx160 = getelementptr inbounds i8, i8* %96, i64 %97 + store i8 48, i8* %arrayidx160, align 1 + br label %if.end161 + +if.end161: ; preds = %if.then159, %if.end153 + %98 = load i64, i64* %len, align 8 + %inc162 = add i64 %98, 1 + store i64 %inc162, i64* %len, align 8 + br label %if.end164 + +if.end164: ; preds = %if.end161, %land.lhs.true141, %land.lhs.true135, %land.lhs.true131, %if.end125 + store i8 48, i8* %c, align 1 + br label %sw.epilog564 + +if.else: ; preds = %sw.bb83 + %99 = load i32, i32* %flags.addr, align 4 + %and165 = and i32 %99, 1 + %tobool166 = icmp ne i32 %and165, 0 + br i1 %tobool166, label %for.inc673, label %sw.epilog564 + +sw.bb170: ; preds = %NodeBlock230 + %100 = load i32, i32* %quoting_style.addr, align 4 + br label %NodeBlock237 + +NodeBlock237: ; preds = %sw.bb170 + %case.cmp238 = icmp eq i32 %100, 2 + br i1 %case.cmp238, label %sw.bb171, label %NodeBlock235 + +NodeBlock235: ; preds = %NodeBlock237 + %case.cmp236 = icmp eq i32 %100, 5 + br i1 %case.cmp236, label %sw.bb175, label %newDefault234 + +sw.bb171: ; preds = %NodeBlock237 + %101 = load i8, i8* %elide_outer_quotes, align 1 + %tobool172 = trunc i8 %101 to i1 + br i1 %tobool172, label %force_outer_quoting_style, label %sw.epilog564 + +sw.bb175: ; preds = %NodeBlock235 + %102 = load i32, i32* %flags.addr, align 4 + %and176 = and i32 %102, 4 + %tobool177 = icmp ne i32 %and176, 0 + br i1 %tobool177, label %land.lhs.true178, label %sw.epilog564 + +land.lhs.true178: ; preds = %sw.bb175 + %103 = load i64, i64* %i, align 8 + %add179 = add i64 %103, 2 + %104 = load i64, i64* %argsize.addr, align 8 + %cmp180 = icmp ult i64 %add179, %104 + br i1 %cmp180, label %land.lhs.true182, label %sw.epilog564 + +land.lhs.true182: ; preds = %land.lhs.true178 + %105 = load i8*, i8** %arg.addr, align 8 + %106 = load i64, i64* %i, align 8 + %add183 = add i64 %106, 1 + %arrayidx184 = getelementptr inbounds i8, i8* %105, i64 %add183 + %107 = load i8, i8* %arrayidx184, align 1 + %conv185 = sext i8 %107 to i32 + %cmp186 = icmp eq i32 %conv185, 63 + br i1 %cmp186, label %if.then188, label %sw.epilog564 + +if.then188: ; preds = %land.lhs.true182 + %108 = load i8*, i8** %arg.addr, align 8 + %109 = load i64, i64* %i, align 8 + %add189 = add i64 %109, 2 + %arrayidx190 = getelementptr inbounds i8, i8* %108, i64 %add189 + %110 = load i8, i8* %arrayidx190, align 1 + %conv191 = sext i8 %110 to i32 + br label %NodeBlock256 + +NodeBlock256: ; preds = %if.then188 + %case.cmp257 = icmp eq i32 %conv191, 33 + br i1 %case.cmp257, label %sw.bb192, label %NodeBlock254 + +NodeBlock254: ; preds = %NodeBlock256 + %case.cmp255 = icmp eq i32 %conv191, 39 + br i1 %case.cmp255, label %sw.bb192, label %NodeBlock252 + +NodeBlock252: ; preds = %NodeBlock254 + %case.cmp253 = icmp eq i32 %conv191, 40 + br i1 %case.cmp253, label %sw.bb192, label %NodeBlock250 + +NodeBlock250: ; preds = %NodeBlock252 + %case.cmp251 = icmp eq i32 %conv191, 41 + br i1 %case.cmp251, label %sw.bb192, label %NodeBlock248 + +NodeBlock248: ; preds = %NodeBlock250 + %case.cmp249 = icmp eq i32 %conv191, 45 + br i1 %case.cmp249, label %sw.bb192, label %NodeBlock246 + +NodeBlock246: ; preds = %NodeBlock248 + %case.cmp247 = icmp eq i32 %conv191, 47 + br i1 %case.cmp247, label %sw.bb192, label %NodeBlock244 + +NodeBlock244: ; preds = %NodeBlock246 + %case.cmp245 = icmp eq i32 %conv191, 60 + br i1 %case.cmp245, label %sw.bb192, label %NodeBlock242 + +NodeBlock242: ; preds = %NodeBlock244 + %case.cmp243 = icmp eq i32 %conv191, 61 + br i1 %case.cmp243, label %sw.bb192, label %NodeBlock240 + +NodeBlock240: ; preds = %NodeBlock242 + %case.cmp241 = icmp eq i32 %conv191, 62 + br i1 %case.cmp241, label %sw.bb192, label %newDefault239 + +sw.bb192: ; preds = %NodeBlock256, %NodeBlock254, %NodeBlock252, %NodeBlock250, %NodeBlock248, %NodeBlock246, %NodeBlock244, %NodeBlock242, %NodeBlock240 + %111 = load i8, i8* %elide_outer_quotes, align 1 + %tobool193 = trunc i8 %111 to i1 + br i1 %tobool193, label %force_outer_quoting_style, label %if.end195 + +if.end195: ; preds = %sw.bb192 + %112 = load i8*, i8** %arg.addr, align 8 + %113 = load i64, i64* %i, align 8 + %add196 = add i64 %113, 2 + %arrayidx197 = getelementptr inbounds i8, i8* %112, i64 %add196 + %114 = load i8, i8* %arrayidx197, align 1 + store i8 %114, i8* %c, align 1 + %115 = load i64, i64* %i, align 8 + %add198 = add i64 %115, 2 + store i64 %add198, i64* %i, align 8 + %116 = load i64, i64* %len, align 8 + %117 = load i64, i64* %buffersize.addr, align 8 + %cmp200 = icmp ult i64 %116, %117 + br i1 %cmp200, label %if.then202, label %if.end204 + +if.then202: ; preds = %if.end195 + %118 = load i8*, i8** %buffer.addr, align 8 + %119 = load i64, i64* %len, align 8 + %arrayidx203 = getelementptr inbounds i8, i8* %118, i64 %119 + store i8 63, i8* %arrayidx203, align 1 + br label %if.end204 + +if.end204: ; preds = %if.then202, %if.end195 + %120 = load i64, i64* %len, align 8 + %inc205 = add i64 %120, 1 + store i64 %inc205, i64* %len, align 8 + %121 = load i64, i64* %len, align 8 + %122 = load i64, i64* %buffersize.addr, align 8 + %cmp208 = icmp ult i64 %121, %122 + br i1 %cmp208, label %if.then210, label %if.end212 + +if.then210: ; preds = %if.end204 + %123 = load i8*, i8** %buffer.addr, align 8 + %124 = load i64, i64* %len, align 8 + %arrayidx211 = getelementptr inbounds i8, i8* %123, i64 %124 + store i8 34, i8* %arrayidx211, align 1 + br label %if.end212 + +if.end212: ; preds = %if.then210, %if.end204 + %125 = load i64, i64* %len, align 8 + %inc213 = add i64 %125, 1 + store i64 %inc213, i64* %len, align 8 + %126 = load i64, i64* %len, align 8 + %127 = load i64, i64* %buffersize.addr, align 8 + %cmp216 = icmp ult i64 %126, %127 + br i1 %cmp216, label %if.then218, label %if.end220 + +if.then218: ; preds = %if.end212 + %128 = load i8*, i8** %buffer.addr, align 8 + %129 = load i64, i64* %len, align 8 + %arrayidx219 = getelementptr inbounds i8, i8* %128, i64 %129 + store i8 34, i8* %arrayidx219, align 1 + br label %if.end220 + +if.end220: ; preds = %if.then218, %if.end212 + %130 = load i64, i64* %len, align 8 + %inc221 = add i64 %130, 1 + store i64 %inc221, i64* %len, align 8 + %131 = load i64, i64* %len, align 8 + %132 = load i64, i64* %buffersize.addr, align 8 + %cmp224 = icmp ult i64 %131, %132 + br i1 %cmp224, label %if.then226, label %if.end228 + +if.then226: ; preds = %if.end220 + %133 = load i8*, i8** %buffer.addr, align 8 + %134 = load i64, i64* %len, align 8 + %arrayidx227 = getelementptr inbounds i8, i8* %133, i64 %134 + store i8 63, i8* %arrayidx227, align 1 + br label %if.end228 + +if.end228: ; preds = %if.then226, %if.end220 + %135 = load i64, i64* %len, align 8 + %inc229 = add i64 %135, 1 + store i64 %inc229, i64* %len, align 8 + br label %sw.epilog564 + +sw.bb236: ; preds = %NodeBlock228 + store i8 97, i8* %esc, align 1 + br label %c_escape + +sw.bb237: ; preds = %NodeBlock226 + store i8 98, i8* %esc, align 1 + br label %c_escape + +sw.bb238: ; preds = %NodeBlock224 + store i8 102, i8* %esc, align 1 + br label %c_escape + +sw.bb239: ; preds = %NodeBlock222 + store i8 110, i8* %esc, align 1 + br label %c_and_shell_escape + +sw.bb240: ; preds = %NodeBlock220 + store i8 114, i8* %esc, align 1 + br label %c_and_shell_escape + +sw.bb241: ; preds = %NodeBlock218 + store i8 116, i8* %esc, align 1 + br label %c_and_shell_escape + +sw.bb242: ; preds = %NodeBlock216 + store i8 118, i8* %esc, align 1 + br label %c_escape + +sw.bb243: ; preds = %NodeBlock214 + %136 = load i8, i8* %c, align 1 + store i8 %136, i8* %esc, align 1 + %137 = load i32, i32* %quoting_style.addr, align 4 + %cmp244 = icmp eq i32 %137, 2 + br i1 %cmp244, label %if.then246, label %if.end250 + +if.then246: ; preds = %sw.bb243 + %138 = load i8, i8* %elide_outer_quotes, align 1 + %tobool247 = trunc i8 %138 to i1 + br i1 %tobool247, label %force_outer_quoting_style, label %do.body634 + +if.end250: ; preds = %sw.bb243 + %139 = load i8, i8* %backslash_escapes, align 1 + %tobool251 = trunc i8 %139 to i1 + br i1 %tobool251, label %land.lhs.true253, label %c_and_shell_escape + +land.lhs.true253: ; preds = %if.end250 + %140 = load i8, i8* %elide_outer_quotes, align 1 + %tobool254 = trunc i8 %140 to i1 + %141 = load i64, i64* %quote_string_len, align 8 + %tobool257 = icmp ne i64 %141, 0 + %or.cond3 = and i1 %tobool254, %tobool257 + br i1 %or.cond3, label %do.body634, label %c_and_shell_escape + +c_and_shell_escape: ; preds = %if.end250, %land.lhs.true253, %sw.bb241, %sw.bb240, %sw.bb239 + %142 = load i32, i32* %quoting_style.addr, align 4 + %cmp260 = icmp eq i32 %142, 2 + br i1 %cmp260, label %land.lhs.true262, label %c_escape + +land.lhs.true262: ; preds = %c_and_shell_escape + %143 = load i8, i8* %elide_outer_quotes, align 1 + %tobool263 = trunc i8 %143 to i1 + br i1 %tobool263, label %force_outer_quoting_style, label %c_escape + +c_escape: ; preds = %c_and_shell_escape, %land.lhs.true262, %sw.bb242, %sw.bb238, %sw.bb237, %sw.bb236 + %144 = load i8, i8* %backslash_escapes, align 1 + %tobool267 = trunc i8 %144 to i1 + br i1 %tobool267, label %if.then268, label %sw.epilog564 + +if.then268: ; preds = %c_escape + %145 = load i8, i8* %esc, align 1 + store i8 %145, i8* %c, align 1 + br label %do.body586 + +sw.bb270: ; preds = %NodeBlock212, %NodeBlock210 + %146 = load i64, i64* %argsize.addr, align 8 + %cmp271 = icmp eq i64 %146, -1 + br i1 %cmp271, label %cond.true273, label %cond.false278 + +cond.true273: ; preds = %sw.bb270 + %147 = load i8*, i8** %arg.addr, align 8 + %arrayidx274 = getelementptr inbounds i8, i8* %147, i64 1 + %148 = load i8, i8* %arrayidx274, align 1 + %conv275 = sext i8 %148 to i32 + %cmp276 = icmp eq i32 %conv275, 0 + br i1 %cmp276, label %sw.bb283, label %sw.epilog564 + +cond.false278: ; preds = %sw.bb270 + %149 = load i64, i64* %argsize.addr, align 8 + %cmp279 = icmp eq i64 %149, 1 + br i1 %cmp279, label %sw.bb283, label %sw.epilog564 + +sw.bb283: ; preds = %NodeBlock208, %NodeBlock206, %cond.true273, %cond.false278 + %150 = load i64, i64* %i, align 8 + %cmp284 = icmp ne i64 %150, 0 + br i1 %cmp284, label %sw.epilog564, label %sw.bb288 + +sw.bb288: ; preds = %NodeBlock204, %sw.bb283 + store i8 1, i8* %c_and_shell_quote_compat, align 1 + br label %sw.bb289 + +sw.bb289: ; preds = %NodeBlock202, %NodeBlock200, %NodeBlock198, %NodeBlock196, %NodeBlock194, %NodeBlock192, %NodeBlock190, %NodeBlock188, %NodeBlock186, %NodeBlock184, %NodeBlock182, %NodeBlock180, %NodeBlock178, %NodeBlock176, %NodeBlock174, %sw.bb288 + %151 = load i32, i32* %quoting_style.addr, align 4 + %cmp290 = icmp eq i32 %151, 2 + br i1 %cmp290, label %land.lhs.true292, label %sw.epilog564 + +land.lhs.true292: ; preds = %sw.bb289 + %152 = load i8, i8* %elide_outer_quotes, align 1 + %tobool293 = trunc i8 %152 to i1 + br i1 %tobool293, label %force_outer_quoting_style, label %sw.epilog564 + +sw.bb297: ; preds = %NodeBlock172 + store i8 1, i8* %encountered_single_quote, align 1 + store i8 1, i8* %c_and_shell_quote_compat, align 1 + %153 = load i32, i32* %quoting_style.addr, align 4 + %cmp298 = icmp eq i32 %153, 2 + br i1 %cmp298, label %if.then300, label %sw.epilog564 + +if.then300: ; preds = %sw.bb297 + %154 = load i8, i8* %elide_outer_quotes, align 1 + %tobool301 = trunc i8 %154 to i1 + br i1 %tobool301, label %force_outer_quoting_style, label %if.end303 + +if.end303: ; preds = %if.then300 + %155 = load i64, i64* %buffersize.addr, align 8 + %tobool304 = icmp eq i64 %155, 0 + %156 = load i64, i64* %orig_buffersize, align 8 + %tobool306 = icmp ne i64 %156, 0 + %or.cond4 = or i1 %tobool304, %tobool306 + br i1 %or.cond4, label %do.body309, label %if.then307 + +if.then307: ; preds = %if.end303 + %157 = load i64, i64* %buffersize.addr, align 8 + store i64 %157, i64* %orig_buffersize, align 8 + store i64 0, i64* %buffersize.addr, align 8 + br label %do.body309 + +do.body309: ; preds = %if.then307, %if.end303 + %158 = load i64, i64* %len, align 8 + %159 = load i64, i64* %buffersize.addr, align 8 + %cmp310 = icmp ult i64 %158, %159 + br i1 %cmp310, label %if.then312, label %if.end314 + +if.then312: ; preds = %do.body309 + %160 = load i8*, i8** %buffer.addr, align 8 + %161 = load i64, i64* %len, align 8 + %arrayidx313 = getelementptr inbounds i8, i8* %160, i64 %161 + store i8 39, i8* %arrayidx313, align 1 + br label %if.end314 + +if.end314: ; preds = %if.then312, %do.body309 + %162 = load i64, i64* %len, align 8 + %inc315 = add i64 %162, 1 + store i64 %inc315, i64* %len, align 8 + %163 = load i64, i64* %len, align 8 + %164 = load i64, i64* %buffersize.addr, align 8 + %cmp318 = icmp ult i64 %163, %164 + br i1 %cmp318, label %if.then320, label %if.end322 + +if.then320: ; preds = %if.end314 + %165 = load i8*, i8** %buffer.addr, align 8 + %166 = load i64, i64* %len, align 8 + %arrayidx321 = getelementptr inbounds i8, i8* %165, i64 %166 + store i8 92, i8* %arrayidx321, align 1 + br label %if.end322 + +if.end322: ; preds = %if.then320, %if.end314 + %167 = load i64, i64* %len, align 8 + %inc323 = add i64 %167, 1 + store i64 %inc323, i64* %len, align 8 + %168 = load i64, i64* %len, align 8 + %169 = load i64, i64* %buffersize.addr, align 8 + %cmp326 = icmp ult i64 %168, %169 + br i1 %cmp326, label %if.then328, label %if.end330 + +if.then328: ; preds = %if.end322 + %170 = load i8*, i8** %buffer.addr, align 8 + %171 = load i64, i64* %len, align 8 + %arrayidx329 = getelementptr inbounds i8, i8* %170, i64 %171 + store i8 39, i8* %arrayidx329, align 1 + br label %if.end330 + +if.end330: ; preds = %if.then328, %if.end322 + %172 = load i64, i64* %len, align 8 + %inc331 = add i64 %172, 1 + store i64 %inc331, i64* %len, align 8 + store i8 0, i8* %pending_shell_escape_end, align 1 + br label %sw.epilog564 + +sw.bb334: ; preds = %NodeBlock170, %NodeBlock168, %NodeBlock166, %NodeBlock164, %NodeBlock162, %NodeBlock160, %NodeBlock158, %NodeBlock156, %NodeBlock154, %NodeBlock152, %NodeBlock150, %NodeBlock148, %NodeBlock146, %NodeBlock144, %NodeBlock142, %NodeBlock140, %NodeBlock138, %NodeBlock136, %NodeBlock134, %NodeBlock132, %NodeBlock130, %NodeBlock128, %NodeBlock126, %NodeBlock124, %NodeBlock122, %NodeBlock120, %NodeBlock118, %NodeBlock116, %NodeBlock114, %NodeBlock112, %NodeBlock110, %NodeBlock108, %NodeBlock106, %NodeBlock104, %NodeBlock102, %NodeBlock100, %NodeBlock98, %NodeBlock96, %NodeBlock94, %NodeBlock92, %NodeBlock90, %NodeBlock88, %NodeBlock86, %NodeBlock84, %NodeBlock82, %NodeBlock80, %NodeBlock78, %NodeBlock76, %NodeBlock74, %NodeBlock72, %NodeBlock70, %NodeBlock68, %NodeBlock66, %NodeBlock64, %NodeBlock62, %NodeBlock60, %NodeBlock58, %NodeBlock56, %NodeBlock54, %NodeBlock52, %NodeBlock50, %NodeBlock48, %NodeBlock46, %NodeBlock44, %NodeBlock42, %NodeBlock40, %NodeBlock38, %NodeBlock36, %NodeBlock34, %NodeBlock32, %NodeBlock30 + store i8 1, i8* %c_and_shell_quote_compat, align 1 + br label %sw.epilog564 + +newDefault29: ; preds = %NodeBlock30 + br label %sw.default335 + +sw.default335: ; preds = %newDefault29 + %173 = load i8, i8* %unibyte_locale, align 1 + %tobool336 = trunc i8 %173 to i1 + br i1 %tobool336, label %if.then337, label %if.else346 + +if.then337: ; preds = %sw.default335 + store i64 1, i64* %m, align 8 + %call338 = call i16** @__ctype_b_loc() #25 + %174 = load i16*, i16** %call338, align 8 + %175 = load i8, i8* %c, align 1 + %conv339 = zext i8 %175 to i32 + %idxprom = sext i32 %conv339 to i64 + %arrayidx340 = getelementptr inbounds i16, i16* %174, i64 %idxprom + %176 = load i16, i16* %arrayidx340, align 2 + %conv341 = zext i16 %176 to i32 + %and342 = and i32 %conv341, 16384 + %cmp343 = icmp ne i32 %and342, 0 + %frombool345 = zext i1 %cmp343 to i8 + store i8 %frombool345, i8* %printable, align 1 + br label %if.end410 + +if.else346: ; preds = %sw.default335 + %177 = bitcast %struct.__mbstate_t* %mbstate to i8* + %178 = call i8* @memset(i8* %177, i32 0, i64 8) + store i64 0, i64* %m, align 8 + store i8 1, i8* %printable, align 1 + %179 = load i64, i64* %argsize.addr, align 8 + %cmp347 = icmp eq i64 %179, -1 + br i1 %cmp347, label %if.then349, label %if.end351 + +if.then349: ; preds = %if.else346 + %180 = load i8*, i8** %arg.addr, align 8 + %call350 = call i64 @strlen(i8* %180) #23 + store i64 %call350, i64* %argsize.addr, align 8 + br label %if.end351 + +if.end351: ; preds = %if.then349, %if.else346 + br label %do.body352 + +do.body352: ; preds = %if.end401, %if.end351 + %181 = load i8*, i8** %arg.addr, align 8 + %182 = load i64, i64* %i, align 8 + %183 = load i64, i64* %m, align 8 + %add353 = add i64 %182, %183 + %arrayidx354 = getelementptr inbounds i8, i8* %181, i64 %add353 + %184 = load i64, i64* %argsize.addr, align 8 + %185 = load i64, i64* %i, align 8 + %186 = load i64, i64* %m, align 8 + %add355 = add i64 %185, %186 + %sub = sub i64 %184, %add355 + %call356 = call i64 @rpl_mbrtowc(i32* %w, i8* %arrayidx354, i64 %sub, %struct.__mbstate_t* %mbstate) + store i64 %call356, i64* %bytes, align 8 + %187 = load i64, i64* %bytes, align 8 + %cmp357 = icmp eq i64 %187, 0 + br i1 %cmp357, label %if.end410, label %if.else360 + +if.else360: ; preds = %do.body352 + %188 = load i64, i64* %bytes, align 8 + %cmp361 = icmp eq i64 %188, -1 + br i1 %cmp361, label %if.then363, label %if.else364 + +if.then363: ; preds = %if.else360 + store i8 0, i8* %printable, align 1 + br label %if.end410 + +if.else364: ; preds = %if.else360 + %189 = load i64, i64* %bytes, align 8 + %cmp365 = icmp eq i64 %189, -2 + br i1 %cmp365, label %if.then367, label %if.else376 + +if.then367: ; preds = %if.else364 + store i8 0, i8* %printable, align 1 + br label %while.cond + +while.cond: ; preds = %while.body, %if.then367 + %190 = load i64, i64* %i, align 8 + %191 = load i64, i64* %m, align 8 + %add368 = add i64 %190, %191 + %192 = load i64, i64* %argsize.addr, align 8 + %cmp369 = icmp ult i64 %add368, %192 + br i1 %cmp369, label %land.rhs, label %if.end410 + +land.rhs: ; preds = %while.cond + %193 = load i8*, i8** %arg.addr, align 8 + %194 = load i64, i64* %i, align 8 + %195 = load i64, i64* %m, align 8 + %add371 = add i64 %194, %195 + %arrayidx372 = getelementptr inbounds i8, i8* %193, i64 %add371 + %196 = load i8, i8* %arrayidx372, align 1 + %conv373 = sext i8 %196 to i32 + %tobool374 = icmp ne i32 %conv373, 0 + br i1 %tobool374, label %while.body, label %if.end410 + +while.body: ; preds = %land.rhs + %197 = load i64, i64* %m, align 8 + %inc375 = add i64 %197, 1 + store i64 %inc375, i64* %m, align 8 + br label %while.cond + +if.else376: ; preds = %if.else364 + %198 = load i8, i8* %elide_outer_quotes, align 1 + %tobool377 = trunc i8 %198 to i1 + %199 = load i32, i32* %quoting_style.addr, align 4 + %cmp380 = icmp eq i32 %199, 2 + %or.cond5 = and i1 %tobool377, %cmp380 + br i1 %or.cond5, label %if.then382, label %if.end397 + +if.then382: ; preds = %if.else376 + store i64 1, i64* %j, align 8 + br label %for.cond383 + +for.cond383: ; preds = %for.inc394, %if.then382 + %200 = load i64, i64* %j, align 8 + %201 = load i64, i64* %bytes, align 8 + %cmp384 = icmp ult i64 %200, %201 + br i1 %cmp384, label %for.body386, label %if.end397 + +for.body386: ; preds = %for.cond383 + %202 = load i8*, i8** %arg.addr, align 8 + %203 = load i64, i64* %i, align 8 + %204 = load i64, i64* %m, align 8 + %add387 = add i64 %203, %204 + %205 = load i64, i64* %j, align 8 + %add388 = add i64 %add387, %205 + %arrayidx389 = getelementptr inbounds i8, i8* %202, i64 %add388 + %206 = load i8, i8* %arrayidx389, align 1 + %conv390 = sext i8 %206 to i32 + br label %NodeBlock267 + +NodeBlock267: ; preds = %for.body386 + %case.cmp268 = icmp eq i32 %conv390, 91 + br i1 %case.cmp268, label %force_outer_quoting_style, label %NodeBlock265 + +NodeBlock265: ; preds = %NodeBlock267 + %case.cmp266 = icmp eq i32 %conv390, 92 + br i1 %case.cmp266, label %force_outer_quoting_style, label %NodeBlock263 + +NodeBlock263: ; preds = %NodeBlock265 + %case.cmp264 = icmp eq i32 %conv390, 94 + br i1 %case.cmp264, label %force_outer_quoting_style, label %NodeBlock261 + +NodeBlock261: ; preds = %NodeBlock263 + %case.cmp262 = icmp eq i32 %conv390, 96 + br i1 %case.cmp262, label %force_outer_quoting_style, label %NodeBlock259 + +NodeBlock259: ; preds = %NodeBlock261 + %case.cmp260 = icmp eq i32 %conv390, 124 + br i1 %case.cmp260, label %force_outer_quoting_style, label %newDefault258 + +newDefault258: ; preds = %NodeBlock259 + br label %for.inc394 + +for.inc394: ; preds = %newDefault258 + %207 = load i64, i64* %j, align 8 + %inc395 = add i64 %207, 1 + store i64 %inc395, i64* %j, align 8 + br label %for.cond383 + +if.end397: ; preds = %for.cond383, %if.else376 + %208 = load i32, i32* %w, align 4 + %call398 = call i32 @iswprint(i32 %208) #11 + %tobool399 = icmp ne i32 %call398, 0 + br i1 %tobool399, label %if.end401, label %if.then400 + +if.then400: ; preds = %if.end397 + store i8 0, i8* %printable, align 1 + br label %if.end401 + +if.end401: ; preds = %if.then400, %if.end397 + %209 = load i64, i64* %bytes, align 8 + %210 = load i64, i64* %m, align 8 + %add402 = add i64 %210, %209 + store i64 %add402, i64* %m, align 8 + %call406 = call i32 bitcast (i32 (%struct.__mbstate_t.512*)* @mbsinit to i32 (%struct.__mbstate_t*)*)(%struct.__mbstate_t* %mbstate) #23 + %tobool407 = icmp ne i32 %call406, 0 + %lnot408 = xor i1 %tobool407, true + br i1 %lnot408, label %do.body352, label %if.end410 + +if.end410: ; preds = %if.then363, %if.end401, %do.body352, %while.cond, %land.rhs, %if.then337 + %211 = load i8, i8* %printable, align 1 + %tobool411 = trunc i8 %211 to i1 + %frombool412 = zext i1 %tobool411 to i8 + store i8 %frombool412, i8* %c_and_shell_quote_compat, align 1 + %212 = load i64, i64* %m, align 8 + %cmp413 = icmp ult i64 1, %212 + br i1 %cmp413, label %if.then419, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end410 + %213 = load i8, i8* %backslash_escapes, align 1 + %tobool415 = trunc i8 %213 to i1 + br i1 %tobool415, label %land.lhs.true417, label %sw.epilog564 + +land.lhs.true417: ; preds = %lor.lhs.false + %214 = load i8, i8* %printable, align 1 + %tobool418 = trunc i8 %214 to i1 + br i1 %tobool418, label %sw.epilog564, label %if.then419 + +if.then419: ; preds = %land.lhs.true417, %if.end410 + %215 = load i64, i64* %i, align 8 + %216 = load i64, i64* %m, align 8 + %add420 = add i64 %215, %216 + store i64 %add420, i64* %ilim, align 8 + br label %for.cond421 + +for.cond421: ; preds = %if.end556, %if.then419 + %217 = load i8, i8* %backslash_escapes, align 1 + %tobool422 = trunc i8 %217 to i1 + br i1 %tobool422, label %land.lhs.true424, label %if.else505 + +land.lhs.true424: ; preds = %for.cond421 + %218 = load i8, i8* %printable, align 1 + %tobool425 = trunc i8 %218 to i1 + br i1 %tobool425, label %if.else505, label %do.body427 + +do.body427: ; preds = %land.lhs.true424 + %219 = load i8, i8* %elide_outer_quotes, align 1 + %tobool428 = trunc i8 %219 to i1 + br i1 %tobool428, label %force_outer_quoting_style, label %if.end430 + +if.end430: ; preds = %do.body427 + store i8 1, i8* %escaping, align 1 + %220 = load i32, i32* %quoting_style.addr, align 4 + %cmp431 = icmp eq i32 %220, 2 + br i1 %cmp431, label %land.lhs.true433, label %do.body464 + +land.lhs.true433: ; preds = %if.end430 + %221 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool434 = trunc i8 %221 to i1 + br i1 %tobool434, label %do.body464, label %do.body436 + +do.body436: ; preds = %land.lhs.true433 + %222 = load i64, i64* %len, align 8 + %223 = load i64, i64* %buffersize.addr, align 8 + %cmp437 = icmp ult i64 %222, %223 + br i1 %cmp437, label %if.then439, label %if.end441 + +if.then439: ; preds = %do.body436 + %224 = load i8*, i8** %buffer.addr, align 8 + %225 = load i64, i64* %len, align 8 + %arrayidx440 = getelementptr inbounds i8, i8* %224, i64 %225 + store i8 39, i8* %arrayidx440, align 1 + br label %if.end441 + +if.end441: ; preds = %if.then439, %do.body436 + %226 = load i64, i64* %len, align 8 + %inc442 = add i64 %226, 1 + store i64 %inc442, i64* %len, align 8 + %227 = load i64, i64* %len, align 8 + %228 = load i64, i64* %buffersize.addr, align 8 + %cmp446 = icmp ult i64 %227, %228 + br i1 %cmp446, label %if.then448, label %if.end450 + +if.then448: ; preds = %if.end441 + %229 = load i8*, i8** %buffer.addr, align 8 + %230 = load i64, i64* %len, align 8 + %arrayidx449 = getelementptr inbounds i8, i8* %229, i64 %230 + store i8 36, i8* %arrayidx449, align 1 + br label %if.end450 + +if.end450: ; preds = %if.then448, %if.end441 + %231 = load i64, i64* %len, align 8 + %inc451 = add i64 %231, 1 + store i64 %inc451, i64* %len, align 8 + %232 = load i64, i64* %len, align 8 + %233 = load i64, i64* %buffersize.addr, align 8 + %cmp455 = icmp ult i64 %232, %233 + br i1 %cmp455, label %if.then457, label %if.end459 + +if.then457: ; preds = %if.end450 + %234 = load i8*, i8** %buffer.addr, align 8 + %235 = load i64, i64* %len, align 8 + %arrayidx458 = getelementptr inbounds i8, i8* %234, i64 %235 + store i8 39, i8* %arrayidx458, align 1 + br label %if.end459 + +if.end459: ; preds = %if.then457, %if.end450 + %236 = load i64, i64* %len, align 8 + %inc460 = add i64 %236, 1 + store i64 %inc460, i64* %len, align 8 + store i8 1, i8* %pending_shell_escape_end, align 1 + br label %do.body464 + +do.body464: ; preds = %if.end430, %land.lhs.true433, %if.end459 + %237 = load i64, i64* %len, align 8 + %238 = load i64, i64* %buffersize.addr, align 8 + %cmp465 = icmp ult i64 %237, %238 + br i1 %cmp465, label %if.then467, label %if.end469 + +if.then467: ; preds = %do.body464 + %239 = load i8*, i8** %buffer.addr, align 8 + %240 = load i64, i64* %len, align 8 + %arrayidx468 = getelementptr inbounds i8, i8* %239, i64 %240 + store i8 92, i8* %arrayidx468, align 1 + br label %if.end469 + +if.end469: ; preds = %if.then467, %do.body464 + %241 = load i64, i64* %len, align 8 + %inc470 = add i64 %241, 1 + store i64 %inc470, i64* %len, align 8 + %242 = load i64, i64* %len, align 8 + %243 = load i64, i64* %buffersize.addr, align 8 + %cmp476 = icmp ult i64 %242, %243 + br i1 %cmp476, label %if.then478, label %if.end483 + +if.then478: ; preds = %if.end469 + %244 = load i8, i8* %c, align 1 + %conv479 = zext i8 %244 to i32 + %shr = ashr i32 %conv479, 6 + %add480 = add nsw i32 48, %shr + %conv481 = trunc i32 %add480 to i8 + %245 = load i8*, i8** %buffer.addr, align 8 + %246 = load i64, i64* %len, align 8 + %arrayidx482 = getelementptr inbounds i8, i8* %245, i64 %246 + store i8 %conv481, i8* %arrayidx482, align 1 + br label %if.end483 + +if.end483: ; preds = %if.then478, %if.end469 + %247 = load i64, i64* %len, align 8 + %inc484 = add i64 %247, 1 + store i64 %inc484, i64* %len, align 8 + %248 = load i64, i64* %len, align 8 + %249 = load i64, i64* %buffersize.addr, align 8 + %cmp488 = icmp ult i64 %248, %249 + br i1 %cmp488, label %if.then490, label %if.end497 + +if.then490: ; preds = %if.end483 + %250 = load i8, i8* %c, align 1 + %conv491 = zext i8 %250 to i32 + %shr492 = ashr i32 %conv491, 3 + %and493 = and i32 %shr492, 7 + %add494 = add nsw i32 48, %and493 + %conv495 = trunc i32 %add494 to i8 + %251 = load i8*, i8** %buffer.addr, align 8 + %252 = load i64, i64* %len, align 8 + %arrayidx496 = getelementptr inbounds i8, i8* %251, i64 %252 + store i8 %conv495, i8* %arrayidx496, align 1 + br label %if.end497 + +if.end497: ; preds = %if.then490, %if.end483 + %253 = load i64, i64* %len, align 8 + %inc498 = add i64 %253, 1 + store i64 %inc498, i64* %len, align 8 + %254 = load i8, i8* %c, align 1 + %conv501 = zext i8 %254 to i32 + %and502 = and i32 %conv501, 7 + %add503 = add nsw i32 48, %and502 + %conv504 = trunc i32 %add503 to i8 + store i8 %conv504, i8* %c, align 1 + br label %if.end518 + +if.else505: ; preds = %land.lhs.true424, %for.cond421 + %255 = load i8, i8* %is_right_quote, align 1 + %tobool506 = trunc i8 %255 to i1 + br i1 %tobool506, label %do.body508, label %if.end518 + +do.body508: ; preds = %if.else505 + %256 = load i64, i64* %len, align 8 + %257 = load i64, i64* %buffersize.addr, align 8 + %cmp509 = icmp ult i64 %256, %257 + br i1 %cmp509, label %if.then511, label %if.end513 + +if.then511: ; preds = %do.body508 + %258 = load i8*, i8** %buffer.addr, align 8 + %259 = load i64, i64* %len, align 8 + %arrayidx512 = getelementptr inbounds i8, i8* %258, i64 %259 + store i8 92, i8* %arrayidx512, align 1 + br label %if.end513 + +if.end513: ; preds = %if.then511, %do.body508 + %260 = load i64, i64* %len, align 8 + %inc514 = add i64 %260, 1 + store i64 %inc514, i64* %len, align 8 + store i8 0, i8* %is_right_quote, align 1 + br label %if.end518 + +if.end518: ; preds = %if.else505, %if.end513, %if.end497 + %261 = load i64, i64* %ilim, align 8 + %262 = load i64, i64* %i, align 8 + %add519 = add i64 %262, 1 + %cmp520 = icmp ule i64 %261, %add519 + br i1 %cmp520, label %do.body634, label %do.body524 + +do.body524: ; preds = %if.end518 + %263 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool525 = trunc i8 %263 to i1 + br i1 %tobool525, label %land.lhs.true527, label %do.body551 + +land.lhs.true527: ; preds = %do.body524 + %264 = load i8, i8* %escaping, align 1 + %tobool528 = trunc i8 %264 to i1 + br i1 %tobool528, label %do.body551, label %do.body530 + +do.body530: ; preds = %land.lhs.true527 + %265 = load i64, i64* %len, align 8 + %266 = load i64, i64* %buffersize.addr, align 8 + %cmp531 = icmp ult i64 %265, %266 + br i1 %cmp531, label %if.then533, label %if.end535 + +if.then533: ; preds = %do.body530 + %267 = load i8*, i8** %buffer.addr, align 8 + %268 = load i64, i64* %len, align 8 + %arrayidx534 = getelementptr inbounds i8, i8* %267, i64 %268 + store i8 39, i8* %arrayidx534, align 1 + br label %if.end535 + +if.end535: ; preds = %if.then533, %do.body530 + %269 = load i64, i64* %len, align 8 + %inc536 = add i64 %269, 1 + store i64 %inc536, i64* %len, align 8 + %270 = load i64, i64* %len, align 8 + %271 = load i64, i64* %buffersize.addr, align 8 + %cmp540 = icmp ult i64 %270, %271 + br i1 %cmp540, label %if.then542, label %if.end544 + +if.then542: ; preds = %if.end535 + %272 = load i8*, i8** %buffer.addr, align 8 + %273 = load i64, i64* %len, align 8 + %arrayidx543 = getelementptr inbounds i8, i8* %272, i64 %273 + store i8 39, i8* %arrayidx543, align 1 + br label %if.end544 + +if.end544: ; preds = %if.then542, %if.end535 + %274 = load i64, i64* %len, align 8 + %inc545 = add i64 %274, 1 + store i64 %inc545, i64* %len, align 8 + store i8 0, i8* %pending_shell_escape_end, align 1 + br label %do.body551 + +do.body551: ; preds = %if.end544, %land.lhs.true527, %do.body524 + %275 = load i64, i64* %len, align 8 + %276 = load i64, i64* %buffersize.addr, align 8 + %cmp552 = icmp ult i64 %275, %276 + br i1 %cmp552, label %if.then554, label %if.end556 + +if.then554: ; preds = %do.body551 + %277 = load i8, i8* %c, align 1 + %278 = load i8*, i8** %buffer.addr, align 8 + %279 = load i64, i64* %len, align 8 + %arrayidx555 = getelementptr inbounds i8, i8* %278, i64 %279 + store i8 %277, i8* %arrayidx555, align 1 + br label %if.end556 + +if.end556: ; preds = %if.then554, %do.body551 + %280 = load i64, i64* %len, align 8 + %inc557 = add i64 %280, 1 + store i64 %inc557, i64* %len, align 8 + %281 = load i8*, i8** %arg.addr, align 8 + %282 = load i64, i64* %i, align 8 + %inc560 = add i64 %282, 1 + store i64 %inc560, i64* %i, align 8 + %arrayidx561 = getelementptr inbounds i8, i8* %281, i64 %inc560 + %283 = load i8, i8* %arrayidx561, align 1 + store i8 %283, i8* %c, align 1 + br label %for.cond421 + +newDefault234: ; preds = %NodeBlock235 + br label %sw.epilog564 + +newDefault239: ; preds = %NodeBlock240 + br label %sw.epilog564 + +sw.epilog564: ; preds = %newDefault239, %newDefault234, %lor.lhs.false, %land.lhs.true417, %sw.bb297, %if.end330, %sw.bb289, %land.lhs.true292, %sw.bb283, %cond.true273, %cond.false278, %c_escape, %sw.bb171, %if.end228, %land.lhs.true182, %land.lhs.true178, %sw.bb175, %if.end164, %if.else, %sw.bb334 + %284 = load i8, i8* %backslash_escapes, align 1 + %tobool565 = trunc i8 %284 to i1 + %285 = load i32, i32* %quoting_style.addr, align 4 + %cmp568 = icmp ne i32 %285, 2 + %or.cond6 = and i1 %tobool565, %cmp568 + br i1 %or.cond6, label %land.lhs.true573, label %lor.lhs.false570 + +lor.lhs.false570: ; preds = %sw.epilog564 + %286 = load i8, i8* %elide_outer_quotes, align 1 + %tobool571 = trunc i8 %286 to i1 + br i1 %tobool571, label %land.lhs.true573, label %land.lhs.true582 + +land.lhs.true573: ; preds = %sw.epilog564, %lor.lhs.false570 + %287 = load i32*, i32** %quote_these_too.addr, align 8 + %tobool574 = icmp ne i32* %287, null + br i1 %tobool574, label %land.lhs.true575, label %land.lhs.true582 + +land.lhs.true575: ; preds = %land.lhs.true573 + %288 = load i32*, i32** %quote_these_too.addr, align 8 + %289 = load i8, i8* %c, align 1 + %conv576 = zext i8 %289 to i64 + %div = udiv i64 %conv576, 32 + %arrayidx577 = getelementptr inbounds i32, i32* %288, i64 %div + %290 = load i32, i32* %arrayidx577, align 4 + %291 = load i8, i8* %c, align 1 + %conv578 = zext i8 %291 to i64 + %rem = urem i64 %conv578, 32 + %sh_prom = trunc i64 %rem to i32 + %shr579 = lshr i32 %290, %sh_prom + %and580 = and i32 %shr579, 1 + %tobool581 = icmp ne i32 %and580, 0 + br i1 %tobool581, label %do.body586, label %land.lhs.true582 + +land.lhs.true582: ; preds = %land.lhs.true575, %land.lhs.true573, %lor.lhs.false570 + %292 = load i8, i8* %is_right_quote, align 1 + %tobool583 = trunc i8 %292 to i1 + br i1 %tobool583, label %do.body586, label %do.body634 + +do.body586: ; preds = %if.then268, %land.lhs.true582, %land.lhs.true575 + %293 = load i8, i8* %elide_outer_quotes, align 1 + %tobool587 = trunc i8 %293 to i1 + br i1 %tobool587, label %force_outer_quoting_style, label %if.end589 + +if.end589: ; preds = %do.body586 + store i8 1, i8* %escaping, align 1 + %294 = load i32, i32* %quoting_style.addr, align 4 + %cmp590 = icmp eq i32 %294, 2 + br i1 %cmp590, label %land.lhs.true592, label %do.body623 + +land.lhs.true592: ; preds = %if.end589 + %295 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool593 = trunc i8 %295 to i1 + br i1 %tobool593, label %do.body623, label %do.body595 + +do.body595: ; preds = %land.lhs.true592 + %296 = load i64, i64* %len, align 8 + %297 = load i64, i64* %buffersize.addr, align 8 + %cmp596 = icmp ult i64 %296, %297 + br i1 %cmp596, label %if.then598, label %if.end600 + +if.then598: ; preds = %do.body595 + %298 = load i8*, i8** %buffer.addr, align 8 + %299 = load i64, i64* %len, align 8 + %arrayidx599 = getelementptr inbounds i8, i8* %298, i64 %299 + store i8 39, i8* %arrayidx599, align 1 + br label %if.end600 + +if.end600: ; preds = %if.then598, %do.body595 + %300 = load i64, i64* %len, align 8 + %inc601 = add i64 %300, 1 + store i64 %inc601, i64* %len, align 8 + %301 = load i64, i64* %len, align 8 + %302 = load i64, i64* %buffersize.addr, align 8 + %cmp605 = icmp ult i64 %301, %302 + br i1 %cmp605, label %if.then607, label %if.end609 + +if.then607: ; preds = %if.end600 + %303 = load i8*, i8** %buffer.addr, align 8 + %304 = load i64, i64* %len, align 8 + %arrayidx608 = getelementptr inbounds i8, i8* %303, i64 %304 + store i8 36, i8* %arrayidx608, align 1 + br label %if.end609 + +if.end609: ; preds = %if.then607, %if.end600 + %305 = load i64, i64* %len, align 8 + %inc610 = add i64 %305, 1 + store i64 %inc610, i64* %len, align 8 + %306 = load i64, i64* %len, align 8 + %307 = load i64, i64* %buffersize.addr, align 8 + %cmp614 = icmp ult i64 %306, %307 + br i1 %cmp614, label %if.then616, label %if.end618 + +if.then616: ; preds = %if.end609 + %308 = load i8*, i8** %buffer.addr, align 8 + %309 = load i64, i64* %len, align 8 + %arrayidx617 = getelementptr inbounds i8, i8* %308, i64 %309 + store i8 39, i8* %arrayidx617, align 1 + br label %if.end618 + +if.end618: ; preds = %if.then616, %if.end609 + %310 = load i64, i64* %len, align 8 + %inc619 = add i64 %310, 1 + store i64 %inc619, i64* %len, align 8 + store i8 1, i8* %pending_shell_escape_end, align 1 + br label %do.body623 + +do.body623: ; preds = %if.end589, %land.lhs.true592, %if.end618 + %311 = load i64, i64* %len, align 8 + %312 = load i64, i64* %buffersize.addr, align 8 + %cmp624 = icmp ult i64 %311, %312 + br i1 %cmp624, label %if.then626, label %if.end628 + +if.then626: ; preds = %do.body623 + %313 = load i8*, i8** %buffer.addr, align 8 + %314 = load i64, i64* %len, align 8 + %arrayidx627 = getelementptr inbounds i8, i8* %313, i64 %314 + store i8 92, i8* %arrayidx627, align 1 + br label %if.end628 + +if.end628: ; preds = %if.then626, %do.body623 + %315 = load i64, i64* %len, align 8 + %inc629 = add i64 %315, 1 + store i64 %inc629, i64* %len, align 8 + br label %do.body634 + +do.body634: ; preds = %if.end628, %if.then246, %land.lhs.true253, %if.end518, %land.lhs.true582 + %316 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool635 = trunc i8 %316 to i1 + br i1 %tobool635, label %land.lhs.true637, label %do.body661 + +land.lhs.true637: ; preds = %do.body634 + %317 = load i8, i8* %escaping, align 1 + %tobool638 = trunc i8 %317 to i1 + br i1 %tobool638, label %do.body661, label %do.body640 + +do.body640: ; preds = %land.lhs.true637 + %318 = load i64, i64* %len, align 8 + %319 = load i64, i64* %buffersize.addr, align 8 + %cmp641 = icmp ult i64 %318, %319 + br i1 %cmp641, label %if.then643, label %if.end645 + +if.then643: ; preds = %do.body640 + %320 = load i8*, i8** %buffer.addr, align 8 + %321 = load i64, i64* %len, align 8 + %arrayidx644 = getelementptr inbounds i8, i8* %320, i64 %321 + store i8 39, i8* %arrayidx644, align 1 + br label %if.end645 + +if.end645: ; preds = %if.then643, %do.body640 + %322 = load i64, i64* %len, align 8 + %inc646 = add i64 %322, 1 + store i64 %inc646, i64* %len, align 8 + %323 = load i64, i64* %len, align 8 + %324 = load i64, i64* %buffersize.addr, align 8 + %cmp650 = icmp ult i64 %323, %324 + br i1 %cmp650, label %if.then652, label %if.end654 + +if.then652: ; preds = %if.end645 + %325 = load i8*, i8** %buffer.addr, align 8 + %326 = load i64, i64* %len, align 8 + %arrayidx653 = getelementptr inbounds i8, i8* %325, i64 %326 + store i8 39, i8* %arrayidx653, align 1 + br label %if.end654 + +if.end654: ; preds = %if.then652, %if.end645 + %327 = load i64, i64* %len, align 8 + %inc655 = add i64 %327, 1 + store i64 %inc655, i64* %len, align 8 + store i8 0, i8* %pending_shell_escape_end, align 1 + br label %do.body661 + +do.body661: ; preds = %if.end654, %land.lhs.true637, %do.body634 + %328 = load i64, i64* %len, align 8 + %329 = load i64, i64* %buffersize.addr, align 8 + %cmp662 = icmp ult i64 %328, %329 + br i1 %cmp662, label %if.then664, label %if.end666 + +if.then664: ; preds = %do.body661 + %330 = load i8, i8* %c, align 1 + %331 = load i8*, i8** %buffer.addr, align 8 + %332 = load i64, i64* %len, align 8 + %arrayidx665 = getelementptr inbounds i8, i8* %331, i64 %332 + store i8 %330, i8* %arrayidx665, align 1 + br label %if.end666 + +if.end666: ; preds = %if.then664, %do.body661 + %333 = load i64, i64* %len, align 8 + %inc667 = add i64 %333, 1 + store i64 %inc667, i64* %len, align 8 + %334 = load i8, i8* %c_and_shell_quote_compat, align 1 + %tobool670 = trunc i8 %334 to i1 + br i1 %tobool670, label %for.inc673, label %if.then671 + +if.then671: ; preds = %if.end666 + store i8 0, i8* %all_c_and_shell_quote_compat, align 1 + br label %for.inc673 + +for.inc673: ; preds = %if.end666, %if.then671, %if.else + %335 = load i64, i64* %i, align 8 + %inc674 = add i64 %335, 1 + store i64 %inc674, i64* %i, align 8 + br label %for.cond44 + +for.end675: ; preds = %cond.end + %336 = load i64, i64* %len, align 8 + %cmp676 = icmp eq i64 %336, 0 + %337 = load i32, i32* %quoting_style.addr, align 4 + %cmp679 = icmp eq i32 %337, 2 + %or.cond7 = and i1 %cmp676, %cmp679 + br i1 %or.cond7, label %land.lhs.true681, label %if.end685 + +land.lhs.true681: ; preds = %for.end675 + %338 = load i8, i8* %elide_outer_quotes, align 1 + %tobool682 = trunc i8 %338 to i1 + br i1 %tobool682, label %force_outer_quoting_style, label %if.end685 + +if.end685: ; preds = %land.lhs.true681, %for.end675 + %339 = load i32, i32* %quoting_style.addr, align 4 + %cmp686 = icmp eq i32 %339, 2 + br i1 %cmp686, label %land.lhs.true688, label %if.end704 + +land.lhs.true688: ; preds = %if.end685 + %340 = load i8, i8* %elide_outer_quotes, align 1 + %tobool689 = trunc i8 %340 to i1 + br i1 %tobool689, label %if.end704, label %land.lhs.true690 + +land.lhs.true690: ; preds = %land.lhs.true688 + %341 = load i8, i8* %encountered_single_quote, align 1 + %tobool691 = trunc i8 %341 to i1 + br i1 %tobool691, label %if.then693, label %if.end704 + +if.then693: ; preds = %land.lhs.true690 + %342 = load i8, i8* %all_c_and_shell_quote_compat, align 1 + %tobool694 = trunc i8 %342 to i1 + br i1 %tobool694, label %if.then695, label %if.else697 + +if.then695: ; preds = %if.then693 + %343 = load i8*, i8** %buffer.addr, align 8 + %344 = load i64, i64* %orig_buffersize, align 8 + %345 = load i8*, i8** %arg.addr, align 8 + %346 = load i64, i64* %argsize.addr, align 8 + %347 = load i32, i32* %flags.addr, align 4 + %348 = load i32*, i32** %quote_these_too.addr, align 8 + %349 = load i8*, i8** %left_quote.addr, align 8 + %350 = load i8*, i8** %right_quote.addr, align 8 + %call696 = call i64 @quotearg_buffer_restyled(i8* %343, i64 %344, i8* %345, i64 %346, i32 5, i32 %347, i32* %348, i8* %349, i8* %350) + store i64 %call696, i64* %retval, align 8 + br label %return + +if.else697: ; preds = %if.then693 + %351 = load i64, i64* %buffersize.addr, align 8 + %tobool698 = icmp eq i64 %351, 0 + %352 = load i64, i64* %orig_buffersize, align 8 + %tobool700 = icmp ne i64 %352, 0 + %or.cond8 = and i1 %tobool698, %tobool700 + br i1 %or.cond8, label %if.then701, label %if.end704 + +if.then701: ; preds = %if.else697 + %353 = load i64, i64* %orig_buffersize, align 8 + store i64 %353, i64* %buffersize.addr, align 8 + store i64 0, i64* %len, align 8 + br label %process_input + +if.end704: ; preds = %if.else697, %land.lhs.true690, %land.lhs.true688, %if.end685 + %354 = load i8*, i8** %quote_string, align 8 + %tobool705 = icmp ne i8* %354, null + br i1 %tobool705, label %land.lhs.true706, label %if.end724 + +land.lhs.true706: ; preds = %if.end704 + %355 = load i8, i8* %elide_outer_quotes, align 1 + %tobool707 = trunc i8 %355 to i1 + br i1 %tobool707, label %if.end724, label %for.cond709 + +for.cond709: ; preds = %land.lhs.true706, %if.end717 + %356 = load i8*, i8** %quote_string, align 8 + %357 = load i8, i8* %356, align 1 + %tobool710 = icmp ne i8 %357, 0 + br i1 %tobool710, label %do.body712, label %if.end724 + +do.body712: ; preds = %for.cond709 + %358 = load i64, i64* %len, align 8 + %359 = load i64, i64* %buffersize.addr, align 8 + %cmp713 = icmp ult i64 %358, %359 + br i1 %cmp713, label %if.then715, label %if.end717 + +if.then715: ; preds = %do.body712 + %360 = load i8*, i8** %quote_string, align 8 + %361 = load i8, i8* %360, align 1 + %362 = load i8*, i8** %buffer.addr, align 8 + %363 = load i64, i64* %len, align 8 + %arrayidx716 = getelementptr inbounds i8, i8* %362, i64 %363 + store i8 %361, i8* %arrayidx716, align 1 + br label %if.end717 + +if.end717: ; preds = %if.then715, %do.body712 + %364 = load i64, i64* %len, align 8 + %inc718 = add i64 %364, 1 + store i64 %inc718, i64* %len, align 8 + %365 = load i8*, i8** %quote_string, align 8 + %incdec.ptr722 = getelementptr inbounds i8, i8* %365, i32 1 + store i8* %incdec.ptr722, i8** %quote_string, align 8 + br label %for.cond709 + +if.end724: ; preds = %for.cond709, %land.lhs.true706, %if.end704 + %366 = load i64, i64* %len, align 8 + %367 = load i64, i64* %buffersize.addr, align 8 + %cmp725 = icmp ult i64 %366, %367 + br i1 %cmp725, label %if.then727, label %if.end729 + +if.then727: ; preds = %if.end724 + %368 = load i8*, i8** %buffer.addr, align 8 + %369 = load i64, i64* %len, align 8 + %arrayidx728 = getelementptr inbounds i8, i8* %368, i64 %369 + store i8 0, i8* %arrayidx728, align 1 + br label %if.end729 + +if.end729: ; preds = %if.then727, %if.end724 + %370 = load i64, i64* %len, align 8 + store i64 %370, i64* %retval, align 8 + br label %return + +force_outer_quoting_style: ; preds = %NodeBlock267, %NodeBlock265, %NodeBlock263, %NodeBlock261, %NodeBlock259, %land.lhs.true681, %do.body586, %do.body427, %if.then300, %land.lhs.true292, %land.lhs.true262, %if.then246, %sw.bb192, %sw.bb171, %do.body86, %if.then76 + %371 = load i32, i32* %quoting_style.addr, align 4 + %cmp730 = icmp eq i32 %371, 2 + br i1 %cmp730, label %land.lhs.true732, label %if.end736 + +land.lhs.true732: ; preds = %force_outer_quoting_style + %372 = load i8, i8* %backslash_escapes, align 1 + %tobool733 = trunc i8 %372 to i1 + br i1 %tobool733, label %if.then735, label %if.end736 + +if.then735: ; preds = %land.lhs.true732 + store i32 4, i32* %quoting_style.addr, align 4 + br label %if.end736 + +if.end736: ; preds = %if.then735, %land.lhs.true732, %force_outer_quoting_style + %373 = load i8*, i8** %buffer.addr, align 8 + %374 = load i64, i64* %buffersize.addr, align 8 + %375 = load i8*, i8** %arg.addr, align 8 + %376 = load i64, i64* %argsize.addr, align 8 + %377 = load i32, i32* %quoting_style.addr, align 4 + %378 = load i32, i32* %flags.addr, align 4 + %and737 = and i32 %378, -3 + %379 = load i8*, i8** %left_quote.addr, align 8 + %380 = load i8*, i8** %right_quote.addr, align 8 + %call738 = call i64 @quotearg_buffer_restyled(i8* %373, i64 %374, i8* %375, i64 %376, i32 %377, i32 %and737, i32* null, i8* %379, i8* %380) + store i64 %call738, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end736, %if.end729, %if.then695 + %381 = load i64, i64* %retval, align 8 + ret i64 %381 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xcharalloc(i64 %n) #3 { +entry: + %n.addr = alloca i64, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @xmalloc(i64 %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xmalloc(i64 %n) #3 { +entry: + %n.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @malloc(i64 %0) #11 + store i8* %call, i8** %p, align 8 + %1 = load i8*, i8** %p, align 8 + %tobool = icmp eq i8* %1, null + %2 = load i64, i64* %n.addr, align 8 + %cmp = icmp ne i64 %2, 0 + %or.cond = and i1 %tobool, %cmp + br i1 %or.cond, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %entry + %3 = load i8*, i8** %p, align 8 + ret i8* %3 +} + +; Function Attrs: nounwind +declare dso_local i64 @__ctype_get_mb_cur_max() #4 + +; Function Attrs: noinline nounwind uwtable +define internal i8* @gettext_quote(i8* %msgid, i32 %s) #3 { +entry: + %retval = alloca i8*, align 8 + %msgid.addr = alloca i8*, align 8 + %s.addr = alloca i32, align 4 + %translation = alloca i8*, align 8 + %locale_code = alloca i8*, align 8 + store i8* %msgid, i8** %msgid.addr, align 8 + store i32 %s, i32* %s.addr, align 4 + %0 = load i8*, i8** %msgid.addr, align 8 + store i8* %0, i8** %translation, align 8 + %1 = load i8*, i8** %translation, align 8 + %2 = load i8*, i8** %msgid.addr, align 8 + %cmp = icmp ne i8* %1, %2 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %3 = load i8*, i8** %translation, align 8 + store i8* %3, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %call = call i8* @locale_charset() + store i8* %call, i8** %locale_code, align 8 + %4 = load i8*, i8** %locale_code, align 8 + %call1 = call i32 @c_strcasecmp(i8* %4, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.13.98, i64 0, i64 0)) #23 + %cmp2 = icmp eq i32 %call1, 0 + br i1 %cmp2, label %if.then3, label %if.end6 + +if.then3: ; preds = %if.end + %5 = load i8*, i8** %msgid.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 0 + %6 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %6 to i32 + %cmp4 = icmp eq i32 %conv, 96 + %7 = zext i1 %cmp4 to i64 + %cond = select i1 %cmp4, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.14.99, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.15.100, i64 0, i64 0) + store i8* %cond, i8** %retval, align 8 + br label %return + +if.end6: ; preds = %if.end + %8 = load i8*, i8** %locale_code, align 8 + %call7 = call i32 @c_strcasecmp(i8* %8, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.16.101, i64 0, i64 0)) #23 + %cmp8 = icmp eq i32 %call7, 0 + br i1 %cmp8, label %if.then10, label %if.end16 + +if.then10: ; preds = %if.end6 + %9 = load i8*, i8** %msgid.addr, align 8 + %arrayidx11 = getelementptr inbounds i8, i8* %9, i64 0 + %10 = load i8, i8* %arrayidx11, align 1 + %conv12 = sext i8 %10 to i32 + %cmp13 = icmp eq i32 %conv12, 96 + %11 = zext i1 %cmp13 to i64 + %cond15 = select i1 %cmp13, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.17.102, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.18.103, i64 0, i64 0) + store i8* %cond15, i8** %retval, align 8 + br label %return + +if.end16: ; preds = %if.end6 + %12 = load i32, i32* %s.addr, align 4 + %cmp17 = icmp eq i32 %12, 9 + %13 = zext i1 %cmp17 to i64 + %cond19 = select i1 %cmp17, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10.95, i64 0, i64 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.97, i64 0, i64 0) + store i8* %cond19, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end16, %if.then10, %if.then3, %if.then + %14 = load i8*, i8** %retval, align 8 + ret i8* %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @rpl_mbrtowc(i32* %pwc, i8* %s, i64 %n, %struct.__mbstate_t* %ps) #3 { +entry: + %retval = alloca i64, align 8 + %pwc.addr = alloca i32*, align 8 + %s.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t*, align 8 + %ret = alloca i64, align 8 + %wc = alloca i32, align 4 + %uc = alloca i8, align 1 + store i32* %pwc, i32** %pwc.addr, align 8 + store i8* %s, i8** %s.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__mbstate_t* %ps, %struct.__mbstate_t** %ps.addr, align 8 + %0 = load i32*, i32** %pwc.addr, align 8 + %tobool = icmp ne i32* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i32* %wc, i32** %pwc.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i32*, i32** %pwc.addr, align 8 + %2 = load i8*, i8** %s.addr, align 8 + %3 = load i64, i64* %n.addr, align 8 + %4 = load %struct.__mbstate_t*, %struct.__mbstate_t** %ps.addr, align 8 + %call = call i64 bitcast (i64 (i32*, i8*, i64, %struct.__mbstate_t.512*)* @mbrtowc to i64 (i32*, i8*, i64, %struct.__mbstate_t*)*)(i32* %1, i8* %2, i64 %3, %struct.__mbstate_t* %4) #11 + store i64 %call, i64* %ret, align 8 + %5 = load i64, i64* %ret, align 8 + %cmp = icmp ule i64 -2, %5 + %6 = load i64, i64* %n.addr, align 8 + %cmp1 = icmp ne i64 %6, 0 + %or.cond = and i1 %cmp, %cmp1 + br i1 %or.cond, label %land.lhs.true2, label %if.end5 + +land.lhs.true2: ; preds = %if.end + %call3 = call zeroext i1 @hard_locale(i32 0) + br i1 %call3, label %if.end5, label %if.then4 + +if.then4: ; preds = %land.lhs.true2 + %7 = load i8*, i8** %s.addr, align 8 + %8 = load i8, i8* %7, align 1 + store i8 %8, i8* %uc, align 1 + %9 = load i8, i8* %uc, align 1 + %conv = zext i8 %9 to i32 + %10 = load i32*, i32** %pwc.addr, align 8 + store i32 %conv, i32* %10, align 4 + store i64 1, i64* %retval, align 8 + br label %return + +if.end5: ; preds = %land.lhs.true2, %if.end + %11 = load i64, i64* %ret, align 8 + store i64 %11, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end5, %if.then4 + %12 = load i64, i64* %retval, align 8 + ret i64 %12 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @hard_locale(i32 %category) #3 { +entry: + %retval = alloca i1, align 1 + %category.addr = alloca i32, align 4 + %locale = alloca [257 x i8], align 16 + store i32 %category, i32* %category.addr, align 4 + %0 = load i32, i32* %category.addr, align 4 + %arraydecay = getelementptr inbounds [257 x i8], [257 x i8]* %locale, i64 0, i64 0 + %call = call i32 @setlocale_null_r(i32 %0, i8* %arraydecay, i64 257) + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +if.end: ; preds = %entry + %arraydecay1 = getelementptr inbounds [257 x i8], [257 x i8]* %locale, i64 0, i64 0 + %call2 = call i32 @strcmp(i8* %arraydecay1, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.165, i64 0, i64 0)) #23 + %cmp = icmp eq i32 %call2, 0 + br i1 %cmp, label %lor.end, label %lor.rhs + +lor.rhs: ; preds = %if.end + %arraydecay3 = getelementptr inbounds [257 x i8], [257 x i8]* %locale, i64 0, i64 0 + %call4 = call i32 @strcmp(i8* %arraydecay3, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1.166, i64 0, i64 0)) #23 + %cmp5 = icmp eq i32 %call4, 0 + br label %lor.end + +lor.end: ; preds = %lor.rhs, %if.end + %1 = phi i1 [ true, %if.end ], [ %cmp5, %lor.rhs ] + %lnot = xor i1 %1, true + store i1 %lnot, i1* %retval, align 1 + br label %return + +return: ; preds = %lor.end, %if.then + %2 = load i1, i1* %retval, align 1 + ret i1 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @setlocale_null_r(i32 %category, i8* nonnull %buf, i64 %bufsize) #3 { +entry: + %category.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + store i32 %category, i32* %category.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i32, i32* %category.addr, align 4 + %1 = load i8*, i8** %buf.addr, align 8 + %2 = load i64, i64* %bufsize.addr, align 8 + %call = call i32 @setlocale_null_unlocked(i32 %0, i8* %1, i64 %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @setlocale_null_unlocked(i32 %category, i8* %buf, i64 %bufsize) #3 { +entry: + %retval = alloca i32, align 4 + %category.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %result = alloca i8*, align 8 + %length = alloca i64, align 8 + store i32 %category, i32* %category.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i32, i32* %category.addr, align 4 + %call = call i8* @setlocale_null_androidfix(i32 %0) + store i8* %call, i8** %result, align 8 + %1 = load i8*, i8** %result, align 8 + %cmp = icmp eq i8* %1, null + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %2 = load i64, i64* %bufsize.addr, align 8 + %cmp1 = icmp ugt i64 %2, 0 + br i1 %cmp1, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + %3 = load i8*, i8** %buf.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %3, i64 0 + store i8 0, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + store i32 22, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %4 = load i8*, i8** %result, align 8 + %call3 = call i64 @strlen(i8* %4) #23 + store i64 %call3, i64* %length, align 8 + %5 = load i64, i64* %length, align 8 + %6 = load i64, i64* %bufsize.addr, align 8 + %cmp4 = icmp ult i64 %5, %6 + br i1 %cmp4, label %if.then5, label %if.else6 + +if.then5: ; preds = %if.else + %7 = load i8*, i8** %buf.addr, align 8 + %8 = load i8*, i8** %result, align 8 + %9 = load i64, i64* %length, align 8 + %add = add i64 %9, 1 + %10 = call i8* @memcpy(i8* %7, i8* %8, i64 %add) + store i32 0, i32* %retval, align 4 + br label %return + +if.else6: ; preds = %if.else + %11 = load i64, i64* %bufsize.addr, align 8 + %cmp7 = icmp ugt i64 %11, 0 + br i1 %cmp7, label %if.then8, label %if.end11 + +if.then8: ; preds = %if.else6 + %12 = load i8*, i8** %buf.addr, align 8 + %13 = load i8*, i8** %result, align 8 + %14 = load i64, i64* %bufsize.addr, align 8 + %sub = sub i64 %14, 1 + %15 = call i8* @memcpy(i8* %12, i8* %13, i64 %sub) + %16 = load i8*, i8** %buf.addr, align 8 + %17 = load i64, i64* %bufsize.addr, align 8 + %sub9 = sub i64 %17, 1 + %arrayidx10 = getelementptr inbounds i8, i8* %16, i64 %sub9 + store i8 0, i8* %arrayidx10, align 1 + br label %if.end11 + +if.end11: ; preds = %if.then8, %if.else6 + store i32 34, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end11, %if.then5, %if.end + %18 = load i32, i32* %retval, align 4 + ret i32 %18 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @setlocale_null_androidfix(i32 %category) #3 { +entry: + %category.addr = alloca i32, align 4 + %result = alloca i8*, align 8 + store i32 %category, i32* %category.addr, align 4 + %0 = load i32, i32* %category.addr, align 4 + %call = call i8* @setlocale(i32 %0, i8* null) #11 + store i8* %call, i8** %result, align 8 + %1 = load i8*, i8** %result, align 8 + ret i8* %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @locale_charset() #3 { +entry: + %codeset = alloca i8*, align 8 + %call = call i8* @nl_langinfo(i32 14) #11 + store i8* %call, i8** %codeset, align 8 + %0 = load i8*, i8** %codeset, align 8 + %cmp = icmp eq i8* %0, null + %spec.store.select = select i1 %cmp, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.169, i64 0, i64 0), i8* %call + store i8* %spec.store.select, i8** %codeset, align 8 + %1 = load i8*, i8** %codeset, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %2 to i32 + %cmp1 = icmp eq i32 %conv, 0 + %spec.store.select1 = select i1 %cmp1, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1.170, i64 0, i64 0), i8* %spec.store.select + store i8* %spec.store.select1, i8** %codeset, align 8 + %3 = load i8*, i8** %codeset, align 8 + ret i8* %3 +} + +; Function Attrs: noinline nounwind readonly uwtable +define dso_local i32 @c_strcasecmp(i8* %s1, i8* %s2) #15 { +entry: + %retval = alloca i32, align 4 + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %p1 = alloca i8*, align 8 + %p2 = alloca i8*, align 8 + %c1 = alloca i8, align 1 + %c2 = alloca i8, align 1 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %p1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %p2, align 8 + %2 = load i8*, i8** %p1, align 8 + %3 = load i8*, i8** %p2, align 8 + %cmp = icmp eq i8* %2, %3 + br i1 %cmp, label %if.then, label %do.body + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +do.body: ; preds = %entry, %if.end9 + %4 = load i8*, i8** %p1, align 8 + %5 = load i8, i8* %4, align 1 + %conv = zext i8 %5 to i32 + %call = call i32 @c_tolower(i32 %conv) + %conv1 = trunc i32 %call to i8 + store i8 %conv1, i8* %c1, align 1 + %6 = load i8*, i8** %p2, align 8 + %7 = load i8, i8* %6, align 1 + %conv2 = zext i8 %7 to i32 + %call3 = call i32 @c_tolower(i32 %conv2) + %conv4 = trunc i32 %call3 to i8 + store i8 %conv4, i8* %c2, align 1 + %8 = load i8, i8* %c1, align 1 + %conv5 = zext i8 %8 to i32 + %cmp6 = icmp eq i32 %conv5, 0 + br i1 %cmp6, label %do.end, label %if.end9 + +if.end9: ; preds = %do.body + %9 = load i8*, i8** %p1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %p1, align 8 + %10 = load i8*, i8** %p2, align 8 + %incdec.ptr10 = getelementptr inbounds i8, i8* %10, i32 1 + store i8* %incdec.ptr10, i8** %p2, align 8 + %11 = load i8, i8* %c1, align 1 + %conv11 = zext i8 %11 to i32 + %12 = load i8, i8* %c2, align 1 + %conv12 = zext i8 %12 to i32 + %cmp13 = icmp eq i32 %conv11, %conv12 + br i1 %cmp13, label %do.body, label %do.end + +do.end: ; preds = %do.body, %if.end9 + %13 = load i8, i8* %c1, align 1 + %conv15 = zext i8 %13 to i32 + %14 = load i8, i8* %c2, align 1 + %conv16 = zext i8 %14 to i32 + %sub = sub nsw i32 %conv15, %conv16 + store i32 %sub, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end, %if.then + %15 = load i32, i32* %retval, align 4 + ret i32 %15 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @c_tolower(i32 %c) #3 { +entry: + %retval = alloca i32, align 4 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -65 + %switch = icmp ult i32 %.off, 26 + %1 = load i32, i32* %c.addr, align 4 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + %sub = sub nsw i32 %1, 65 + %add = add nsw i32 %sub, 97 + store i32 %add, i32* %retval, align 4 + br label %return + +sw.default: ; preds = %entry + store i32 %1, i32* %retval, align 4 + br label %return + +return: ; preds = %sw.default, %sw.bb + %2 = load i32, i32* %retval, align 4 + ret i32 %2 +} + +; Function Attrs: nounwind +declare dso_local i8* @realloc(i8*, i64) #4 + +; Function Attrs: noinline nounwind uwtable +define internal void @validate_tab_stops(i64* %tabs, i64 %entries) #3 { +entry: + %tabs.addr = alloca i64*, align 8 + %entries.addr = alloca i64, align 8 + %prev_tab = alloca i64, align 8 + %i = alloca i64, align 8 + store i64* %tabs, i64** %tabs.addr, align 8 + store i64 %entries, i64* %entries.addr, align 8 + store i64 0, i64* %prev_tab, align 8 + store i64 0, i64* %i, align 8 + br label %for.cond + +for.cond: ; preds = %if.end5, %entry + %0 = load i64, i64* %i, align 8 + %1 = load i64, i64* %entries.addr, align 8 + %cmp = icmp ult i64 %0, %1 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %2 = load i64*, i64** %tabs.addr, align 8 + %3 = load i64, i64* %i, align 8 + %arrayidx = getelementptr inbounds i64, i64* %2, i64 %3 + %4 = load i64, i64* %arrayidx, align 8 + %cmp1 = icmp eq i64 %4, 0 + br i1 %cmp1, label %if.then, label %if.end + +if.then: ; preds = %for.body + call void (i32, i32, i8*, ...) @error(i32 1, i32 0, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.15.46, i64 0, i64 0)) + unreachable + +if.end: ; preds = %for.body + %5 = load i64*, i64** %tabs.addr, align 8 + %6 = load i64, i64* %i, align 8 + %arrayidx2 = getelementptr inbounds i64, i64* %5, i64 %6 + %7 = load i64, i64* %arrayidx2, align 8 + %8 = load i64, i64* %prev_tab, align 8 + %cmp3 = icmp ule i64 %7, %8 + br i1 %cmp3, label %if.then4, label %if.end5 + +if.then4: ; preds = %if.end + call void (i32, i32, i8*, ...) @error(i32 1, i32 0, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.16.47, i64 0, i64 0)) + unreachable + +if.end5: ; preds = %if.end + %9 = load i64*, i64** %tabs.addr, align 8 + %10 = load i64, i64* %i, align 8 + %arrayidx6 = getelementptr inbounds i64, i64* %9, i64 %10 + %11 = load i64, i64* %arrayidx6, align 8 + store i64 %11, i64* %prev_tab, align 8 + %12 = load i64, i64* %i, align 8 + %inc = add i64 %12, 1 + store i64 %inc, i64* %i, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %13 = load i64, i64* @increment_size, align 8 + %tobool = icmp ne i64 %13, 0 + %14 = load i64, i64* @extend_size, align 8 + %tobool7 = icmp ne i64 %14, 0 + %or.cond = and i1 %tobool, %tobool7 + br i1 %or.cond, label %if.then8, label %if.end9 + +if.then8: ; preds = %for.end + call void (i32, i32, i8*, ...) @error(i32 1, i32 0, i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.17.48, i64 0, i64 0)) + unreachable + +if.end9: ; preds = %for.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc_va(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, %struct.__va_list_tag.0* %authors) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors.addr = alloca %struct.__va_list_tag.0*, align 8 + %n_authors = alloca i64, align 8 + %authtab = alloca [10 x i8*], align 16 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + store %struct.__va_list_tag.0* %authors, %struct.__va_list_tag.0** %authors.addr, align 8 + store i64 0, i64* %n_authors, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i64, i64* %n_authors, align 8 + %cmp = icmp ult i64 %0, 10 + br i1 %cmp, label %land.rhs, label %for.end + +land.rhs: ; preds = %for.cond + %1 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %authors.addr, align 8 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %1, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 8 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %land.rhs + %2 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %1, i32 0, i32 3 + %reg_save_area = load i8*, i8** %2, align 8 + %3 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %4 = bitcast i8* %3 to i8** + %5 = add i32 %gp_offset, 8 + store i32 %5, i32* %gp_offset_p, align 8 + br label %vaarg.end + +vaarg.in_mem: ; preds = %land.rhs + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %1, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %6 = bitcast i8* %overflow_arg_area to i8** + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i8** [ %4, %vaarg.in_reg ], [ %6, %vaarg.in_mem ] + %7 = load i8*, i8** %vaarg.addr, align 8 + %8 = load i64, i64* %n_authors, align 8 + %arrayidx = getelementptr inbounds [10 x i8*], [10 x i8*]* %authtab, i64 0, i64 %8 + store i8* %7, i8** %arrayidx, align 8 + %cmp1 = icmp ne i8* %7, null + br i1 %cmp1, label %for.inc, label %for.end + +for.inc: ; preds = %vaarg.end + %9 = load i64, i64* %n_authors, align 8 + %inc = add i64 %9, 1 + store i64 %inc, i64* %n_authors, align 8 + br label %for.cond + +for.end: ; preds = %for.cond, %vaarg.end + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %11 = load i8*, i8** %command_name.addr, align 8 + %12 = load i8*, i8** %package.addr, align 8 + %13 = load i8*, i8** %version.addr, align 8 + %arraydecay = getelementptr inbounds [10 x i8*], [10 x i8*]* %authtab, i64 0, i64 0 + %14 = load i64, i64* %n_authors, align 8 + call void @version_etc_arn(%struct._IO_FILE* %10, i8* %11, i8* %12, i8* %13, i8** %arraydecay, i64 %14) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc_arn(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, i8** %authors, i64 %n_authors) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors.addr = alloca i8**, align 8 + %n_authors.addr = alloca i64, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + store i8** %authors, i8*** %authors.addr, align 8 + store i64 %n_authors, i64* %n_authors.addr, align 8 + %0 = load i8*, i8** %command_name.addr, align 8 + %tobool = icmp ne i8* %0, null + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %entry + %2 = load i8*, i8** %command_name.addr, align 8 + %3 = load i8*, i8** %package.addr, align 8 + %4 = load i8*, i8** %version.addr, align 8 + %call = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %1, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.110, i64 0, i64 0), i8* %2, i8* %3, i8* %4) + br label %if.end + +if.else: ; preds = %entry + %5 = load i8*, i8** %package.addr, align 8 + %6 = load i8*, i8** %version.addr, align 8 + %call1 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %1, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.111, i64 0, i64 0), i8* %5, i8* %6) + br label %if.end + +if.end: ; preds = %if.else, %if.then + %7 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call2 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %7, i8* getelementptr inbounds ([47 x i8], [47 x i8]* @version_etc_copyright, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2.112, i64 0, i64 0), i32 2020) + %8 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call3 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.113, i64 0, i64 0), %struct._IO_FILE* %8) + %9 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call4 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %9, i8* getelementptr inbounds ([171 x i8], [171 x i8]* @.str.4.114, i64 0, i64 0), i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.5.115, i64 0, i64 0)) + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call5 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.113, i64 0, i64 0), %struct._IO_FILE* %10) + %11 = load i64, i64* %n_authors.addr, align 8 + br label %NodeBlock17 + +NodeBlock17: ; preds = %if.end + %case.cmp18 = icmp eq i64 %11, 0 + br i1 %case.cmp18, label %sw.epilog, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i64 %11, 1 + br i1 %case.cmp16, label %sw.bb6, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i64 %11, 2 + br i1 %case.cmp14, label %sw.bb8, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i64 %11, 3 + br i1 %case.cmp12, label %sw.bb12, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i64 %11, 4 + br i1 %case.cmp10, label %sw.bb17, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i64 %11, 5 + br i1 %case.cmp8, label %sw.bb23, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i64 %11, 6 + br i1 %case.cmp6, label %sw.bb30, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i64 %11, 7 + br i1 %case.cmp4, label %sw.bb38, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i64 %11, 8 + br i1 %case.cmp2, label %sw.bb47, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i64 %11, 9 + br i1 %case.cmp, label %sw.bb57, label %newDefault + +sw.bb6: ; preds = %NodeBlock15 + %12 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %13 = load i8**, i8*** %authors.addr, align 8 + %arrayidx = getelementptr inbounds i8*, i8** %13, i64 0 + %14 = load i8*, i8** %arrayidx, align 8 + %call7 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %12, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.6.116, i64 0, i64 0), i8* %14) + br label %sw.epilog + +sw.bb8: ; preds = %NodeBlock13 + %15 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %16 = load i8**, i8*** %authors.addr, align 8 + %arrayidx9 = getelementptr inbounds i8*, i8** %16, i64 0 + %17 = load i8*, i8** %arrayidx9, align 8 + %18 = load i8**, i8*** %authors.addr, align 8 + %arrayidx10 = getelementptr inbounds i8*, i8** %18, i64 1 + %19 = load i8*, i8** %arrayidx10, align 8 + %call11 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %15, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.7.117, i64 0, i64 0), i8* %17, i8* %19) + br label %sw.epilog + +sw.bb12: ; preds = %NodeBlock11 + %20 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %21 = load i8**, i8*** %authors.addr, align 8 + %arrayidx13 = getelementptr inbounds i8*, i8** %21, i64 0 + %22 = load i8*, i8** %arrayidx13, align 8 + %23 = load i8**, i8*** %authors.addr, align 8 + %arrayidx14 = getelementptr inbounds i8*, i8** %23, i64 1 + %24 = load i8*, i8** %arrayidx14, align 8 + %25 = load i8**, i8*** %authors.addr, align 8 + %arrayidx15 = getelementptr inbounds i8*, i8** %25, i64 2 + %26 = load i8*, i8** %arrayidx15, align 8 + %call16 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %20, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.8.118, i64 0, i64 0), i8* %22, i8* %24, i8* %26) + br label %sw.epilog + +sw.bb17: ; preds = %NodeBlock9 + %27 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %28 = load i8**, i8*** %authors.addr, align 8 + %arrayidx18 = getelementptr inbounds i8*, i8** %28, i64 0 + %29 = load i8*, i8** %arrayidx18, align 8 + %30 = load i8**, i8*** %authors.addr, align 8 + %arrayidx19 = getelementptr inbounds i8*, i8** %30, i64 1 + %31 = load i8*, i8** %arrayidx19, align 8 + %32 = load i8**, i8*** %authors.addr, align 8 + %arrayidx20 = getelementptr inbounds i8*, i8** %32, i64 2 + %33 = load i8*, i8** %arrayidx20, align 8 + %34 = load i8**, i8*** %authors.addr, align 8 + %arrayidx21 = getelementptr inbounds i8*, i8** %34, i64 3 + %35 = load i8*, i8** %arrayidx21, align 8 + %call22 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %27, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.9.119, i64 0, i64 0), i8* %29, i8* %31, i8* %33, i8* %35) + br label %sw.epilog + +sw.bb23: ; preds = %NodeBlock7 + %36 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %37 = load i8**, i8*** %authors.addr, align 8 + %arrayidx24 = getelementptr inbounds i8*, i8** %37, i64 0 + %38 = load i8*, i8** %arrayidx24, align 8 + %39 = load i8**, i8*** %authors.addr, align 8 + %arrayidx25 = getelementptr inbounds i8*, i8** %39, i64 1 + %40 = load i8*, i8** %arrayidx25, align 8 + %41 = load i8**, i8*** %authors.addr, align 8 + %arrayidx26 = getelementptr inbounds i8*, i8** %41, i64 2 + %42 = load i8*, i8** %arrayidx26, align 8 + %43 = load i8**, i8*** %authors.addr, align 8 + %arrayidx27 = getelementptr inbounds i8*, i8** %43, i64 3 + %44 = load i8*, i8** %arrayidx27, align 8 + %45 = load i8**, i8*** %authors.addr, align 8 + %arrayidx28 = getelementptr inbounds i8*, i8** %45, i64 4 + %46 = load i8*, i8** %arrayidx28, align 8 + %call29 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %36, i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.10.120, i64 0, i64 0), i8* %38, i8* %40, i8* %42, i8* %44, i8* %46) + br label %sw.epilog + +sw.bb30: ; preds = %NodeBlock5 + %47 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %48 = load i8**, i8*** %authors.addr, align 8 + %arrayidx31 = getelementptr inbounds i8*, i8** %48, i64 0 + %49 = load i8*, i8** %arrayidx31, align 8 + %50 = load i8**, i8*** %authors.addr, align 8 + %arrayidx32 = getelementptr inbounds i8*, i8** %50, i64 1 + %51 = load i8*, i8** %arrayidx32, align 8 + %52 = load i8**, i8*** %authors.addr, align 8 + %arrayidx33 = getelementptr inbounds i8*, i8** %52, i64 2 + %53 = load i8*, i8** %arrayidx33, align 8 + %54 = load i8**, i8*** %authors.addr, align 8 + %arrayidx34 = getelementptr inbounds i8*, i8** %54, i64 3 + %55 = load i8*, i8** %arrayidx34, align 8 + %56 = load i8**, i8*** %authors.addr, align 8 + %arrayidx35 = getelementptr inbounds i8*, i8** %56, i64 4 + %57 = load i8*, i8** %arrayidx35, align 8 + %58 = load i8**, i8*** %authors.addr, align 8 + %arrayidx36 = getelementptr inbounds i8*, i8** %58, i64 5 + %59 = load i8*, i8** %arrayidx36, align 8 + %call37 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %47, i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.11.121.128, i64 0, i64 0), i8* %49, i8* %51, i8* %53, i8* %55, i8* %57, i8* %59) + br label %sw.epilog + +sw.bb38: ; preds = %NodeBlock3 + %60 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %61 = load i8**, i8*** %authors.addr, align 8 + %arrayidx39 = getelementptr inbounds i8*, i8** %61, i64 0 + %62 = load i8*, i8** %arrayidx39, align 8 + %63 = load i8**, i8*** %authors.addr, align 8 + %arrayidx40 = getelementptr inbounds i8*, i8** %63, i64 1 + %64 = load i8*, i8** %arrayidx40, align 8 + %65 = load i8**, i8*** %authors.addr, align 8 + %arrayidx41 = getelementptr inbounds i8*, i8** %65, i64 2 + %66 = load i8*, i8** %arrayidx41, align 8 + %67 = load i8**, i8*** %authors.addr, align 8 + %arrayidx42 = getelementptr inbounds i8*, i8** %67, i64 3 + %68 = load i8*, i8** %arrayidx42, align 8 + %69 = load i8**, i8*** %authors.addr, align 8 + %arrayidx43 = getelementptr inbounds i8*, i8** %69, i64 4 + %70 = load i8*, i8** %arrayidx43, align 8 + %71 = load i8**, i8*** %authors.addr, align 8 + %arrayidx44 = getelementptr inbounds i8*, i8** %71, i64 5 + %72 = load i8*, i8** %arrayidx44, align 8 + %73 = load i8**, i8*** %authors.addr, align 8 + %arrayidx45 = getelementptr inbounds i8*, i8** %73, i64 6 + %74 = load i8*, i8** %arrayidx45, align 8 + %call46 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %60, i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.12.122, i64 0, i64 0), i8* %62, i8* %64, i8* %66, i8* %68, i8* %70, i8* %72, i8* %74) + br label %sw.epilog + +sw.bb47: ; preds = %NodeBlock1 + %75 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %76 = load i8**, i8*** %authors.addr, align 8 + %arrayidx48 = getelementptr inbounds i8*, i8** %76, i64 0 + %77 = load i8*, i8** %arrayidx48, align 8 + %78 = load i8**, i8*** %authors.addr, align 8 + %arrayidx49 = getelementptr inbounds i8*, i8** %78, i64 1 + %79 = load i8*, i8** %arrayidx49, align 8 + %80 = load i8**, i8*** %authors.addr, align 8 + %arrayidx50 = getelementptr inbounds i8*, i8** %80, i64 2 + %81 = load i8*, i8** %arrayidx50, align 8 + %82 = load i8**, i8*** %authors.addr, align 8 + %arrayidx51 = getelementptr inbounds i8*, i8** %82, i64 3 + %83 = load i8*, i8** %arrayidx51, align 8 + %84 = load i8**, i8*** %authors.addr, align 8 + %arrayidx52 = getelementptr inbounds i8*, i8** %84, i64 4 + %85 = load i8*, i8** %arrayidx52, align 8 + %86 = load i8**, i8*** %authors.addr, align 8 + %arrayidx53 = getelementptr inbounds i8*, i8** %86, i64 5 + %87 = load i8*, i8** %arrayidx53, align 8 + %88 = load i8**, i8*** %authors.addr, align 8 + %arrayidx54 = getelementptr inbounds i8*, i8** %88, i64 6 + %89 = load i8*, i8** %arrayidx54, align 8 + %90 = load i8**, i8*** %authors.addr, align 8 + %arrayidx55 = getelementptr inbounds i8*, i8** %90, i64 7 + %91 = load i8*, i8** %arrayidx55, align 8 + %call56 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %75, i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.13.123, i64 0, i64 0), i8* %77, i8* %79, i8* %81, i8* %83, i8* %85, i8* %87, i8* %89, i8* %91) + br label %sw.epilog + +sw.bb57: ; preds = %NodeBlock + %92 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %93 = load i8**, i8*** %authors.addr, align 8 + %arrayidx58 = getelementptr inbounds i8*, i8** %93, i64 0 + %94 = load i8*, i8** %arrayidx58, align 8 + %95 = load i8**, i8*** %authors.addr, align 8 + %arrayidx59 = getelementptr inbounds i8*, i8** %95, i64 1 + %96 = load i8*, i8** %arrayidx59, align 8 + %97 = load i8**, i8*** %authors.addr, align 8 + %arrayidx60 = getelementptr inbounds i8*, i8** %97, i64 2 + %98 = load i8*, i8** %arrayidx60, align 8 + %99 = load i8**, i8*** %authors.addr, align 8 + %arrayidx61 = getelementptr inbounds i8*, i8** %99, i64 3 + %100 = load i8*, i8** %arrayidx61, align 8 + %101 = load i8**, i8*** %authors.addr, align 8 + %arrayidx62 = getelementptr inbounds i8*, i8** %101, i64 4 + %102 = load i8*, i8** %arrayidx62, align 8 + %103 = load i8**, i8*** %authors.addr, align 8 + %arrayidx63 = getelementptr inbounds i8*, i8** %103, i64 5 + %104 = load i8*, i8** %arrayidx63, align 8 + %105 = load i8**, i8*** %authors.addr, align 8 + %arrayidx64 = getelementptr inbounds i8*, i8** %105, i64 6 + %106 = load i8*, i8** %arrayidx64, align 8 + %107 = load i8**, i8*** %authors.addr, align 8 + %arrayidx65 = getelementptr inbounds i8*, i8** %107, i64 7 + %108 = load i8*, i8** %arrayidx65, align 8 + %109 = load i8**, i8*** %authors.addr, align 8 + %arrayidx66 = getelementptr inbounds i8*, i8** %109, i64 8 + %110 = load i8*, i8** %arrayidx66, align 8 + %call67 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %92, i8* getelementptr inbounds ([52 x i8], [52 x i8]* @.str.14.124, i64 0, i64 0), i8* %94, i8* %96, i8* %98, i8* %100, i8* %102, i8* %104, i8* %106, i8* %108, i8* %110) + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + %111 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %112 = load i8**, i8*** %authors.addr, align 8 + %arrayidx68 = getelementptr inbounds i8*, i8** %112, i64 0 + %113 = load i8*, i8** %arrayidx68, align 8 + %114 = load i8**, i8*** %authors.addr, align 8 + %arrayidx69 = getelementptr inbounds i8*, i8** %114, i64 1 + %115 = load i8*, i8** %arrayidx69, align 8 + %116 = load i8**, i8*** %authors.addr, align 8 + %arrayidx70 = getelementptr inbounds i8*, i8** %116, i64 2 + %117 = load i8*, i8** %arrayidx70, align 8 + %118 = load i8**, i8*** %authors.addr, align 8 + %arrayidx71 = getelementptr inbounds i8*, i8** %118, i64 3 + %119 = load i8*, i8** %arrayidx71, align 8 + %120 = load i8**, i8*** %authors.addr, align 8 + %arrayidx72 = getelementptr inbounds i8*, i8** %120, i64 4 + %121 = load i8*, i8** %arrayidx72, align 8 + %122 = load i8**, i8*** %authors.addr, align 8 + %arrayidx73 = getelementptr inbounds i8*, i8** %122, i64 5 + %123 = load i8*, i8** %arrayidx73, align 8 + %124 = load i8**, i8*** %authors.addr, align 8 + %arrayidx74 = getelementptr inbounds i8*, i8** %124, i64 6 + %125 = load i8*, i8** %arrayidx74, align 8 + %126 = load i8**, i8*** %authors.addr, align 8 + %arrayidx75 = getelementptr inbounds i8*, i8** %126, i64 7 + %127 = load i8*, i8** %arrayidx75, align 8 + %128 = load i8**, i8*** %authors.addr, align 8 + %arrayidx76 = getelementptr inbounds i8*, i8** %128, i64 8 + %129 = load i8*, i8** %arrayidx76, align 8 + %call77 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %111, i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.15.125, i64 0, i64 0), i8* %113, i8* %115, i8* %117, i8* %119, i8* %121, i8* %123, i8* %125, i8* %127, i8* %129) + br label %sw.epilog + +sw.epilog: ; preds = %NodeBlock17, %sw.default, %sw.bb57, %sw.bb47, %sw.bb38, %sw.bb30, %sw.bb23, %sw.bb17, %sw.bb12, %sw.bb8, %sw.bb6 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal zeroext i8 @to_uchar(i8 signext %ch) #3 { +entry: + %ch.addr = alloca i8, align 1 + store i8 %ch, i8* %ch.addr, align 1 + %0 = load i8, i8* %ch.addr, align 1 + ret i8 %0 +} + +; Function Attrs: noinline nounwind uwtable +define internal zeroext i1 @set_extend_size(i64 %tabval) #3 { +entry: + %tabval.addr = alloca i64, align 8 + %ok = alloca i8, align 1 + store i64 %tabval, i64* %tabval.addr, align 8 + store i8 1, i8* %ok, align 1 + %0 = load i64, i64* @extend_size, align 8 + %tobool = icmp ne i64 %0, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void (i32, i32, i8*, ...) @error(i32 0, i32 0, i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.13.43, i64 0, i64 0)) + store i8 0, i8* %ok, align 1 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i64, i64* %tabval.addr, align 8 + store i64 %1, i64* @extend_size, align 8 + %2 = load i8, i8* %ok, align 1 + %tobool1 = trunc i8 %2 to i1 + ret i1 %tobool1 +} + +; Function Attrs: noinline nounwind uwtable +define internal zeroext i1 @set_increment_size(i64 %tabval) #3 { +entry: + %tabval.addr = alloca i64, align 8 + %ok = alloca i8, align 1 + store i64 %tabval, i64* %tabval.addr, align 8 + store i8 1, i8* %ok, align 1 + %0 = load i64, i64* @increment_size, align 8 + %tobool = icmp ne i64 %0, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void (i32, i32, i8*, ...) @error(i32 0, i32 0, i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.14.42, i64 0, i64 0)) + store i8 0, i8* %ok, align 1 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i64, i64* %tabval.addr, align 8 + store i64 %1, i64* @increment_size, align 8 + %2 = load i8, i8* %ok, align 1 + %tobool1 = trunc i8 %2 to i1 + ret i1 %tobool1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @add_tab_stop(i64 %tabval) #3 { +entry: + %tabval.addr = alloca i64, align 8 + %prev_column = alloca i64, align 8 + %column_width = alloca i64, align 8 + store i64 %tabval, i64* %tabval.addr, align 8 + %0 = load i64, i64* @first_free_tab, align 8 + %tobool = icmp ne i64 %0, 0 + br i1 %tobool, label %cond.true, label %cond.end + +cond.true: ; preds = %entry + %1 = load i64*, i64** @tab_list, align 8 + %2 = load i64, i64* @first_free_tab, align 8 + %sub = sub i64 %2, 1 + %arrayidx = getelementptr inbounds i64, i64* %1, i64 %sub + %3 = load i64, i64* %arrayidx, align 8 + br label %cond.end + +cond.end: ; preds = %entry, %cond.true + %cond = phi i64 [ %3, %cond.true ], [ 0, %entry ] + store i64 %cond, i64* %prev_column, align 8 + %4 = load i64, i64* %prev_column, align 8 + %5 = load i64, i64* %tabval.addr, align 8 + %cmp = icmp ule i64 %4, %5 + %6 = load i64, i64* %tabval.addr, align 8 + %7 = load i64, i64* %prev_column, align 8 + %sub2 = sub i64 %6, %7 + %cond5 = select i1 %cmp, i64 %sub2, i64 0 + store i64 %cond5, i64* %column_width, align 8 + %8 = load i64, i64* @first_free_tab, align 8 + %9 = load i64, i64* @n_tabs_allocated, align 8 + %cmp6 = icmp eq i64 %8, %9 + br i1 %cmp6, label %if.then, label %if.end + +if.then: ; preds = %cond.end + %10 = load i64*, i64** @tab_list, align 8 + %11 = bitcast i64* %10 to i8* + %call = call i8* @x2nrealloc(i8* %11, i64* @n_tabs_allocated, i64 8) + %12 = bitcast i8* %call to i64* + store i64* %12, i64** @tab_list, align 8 + br label %if.end + +if.end: ; preds = %if.then, %cond.end + %13 = load i64, i64* %tabval.addr, align 8 + %14 = load i64*, i64** @tab_list, align 8 + %15 = load i64, i64* @first_free_tab, align 8 + %inc = add i64 %15, 1 + store i64 %inc, i64* @first_free_tab, align 8 + %arrayidx7 = getelementptr inbounds i64, i64* %14, i64 %15 + store i64 %13, i64* %arrayidx7, align 8 + %16 = load i64, i64* @max_column_width, align 8 + %17 = load i64, i64* %column_width, align 8 + %cmp8 = icmp ult i64 %16, %17 + br i1 %cmp8, label %if.then9, label %if.end13 + +if.then9: ; preds = %if.end + %18 = load i64, i64* %column_width, align 8 + %cmp10 = icmp ult i64 -1, %18 + br i1 %cmp10, label %if.then11, label %if.end12 + +if.then11: ; preds = %if.then9 + call void (i32, i32, i8*, ...) @error(i32 1, i32 0, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.34.129, i64 0, i64 0)) + unreachable + +if.end12: ; preds = %if.then9 + %19 = load i64, i64* %column_width, align 8 + store i64 %19, i64* @max_column_width, align 8 + br label %if.end13 + +if.end13: ; preds = %if.end12, %if.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote(i8* %arg) #3 { +entry: + %arg.addr = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quote_n(i32 0, i8* %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xstrndup(i8* %string, i64 %n) #3 { +entry: + %string.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %s = alloca i8*, align 8 + store i8* %string, i8** %string.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %string.addr, align 8 + %1 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @strndup(i8* %0, i64 %1) #11 + store i8* %call, i8** %s, align 8 + %2 = load i8*, i8** %s, align 8 + %tobool = icmp ne i8* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %entry + %3 = load i8*, i8** %s, align 8 + ret i8* %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote_n(i32 %n, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quote_n_mem(i32 %0, i8* %1, i64 -1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote_n_mem(i32 %n, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %2 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %0, i8* %1, i64 %2, %struct.quoting_options* @quote_quoting_options) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @x2nrealloc(i8* %p, i64* %pn, i64 %s) #3 { +entry: + %p.addr = alloca i8*, align 8 + %pn.addr = alloca i64*, align 8 + %s.addr = alloca i64, align 8 + %n = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64* %pn, i64** %pn.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64*, i64** %pn.addr, align 8 + %1 = load i64, i64* %0, align 8 + store i64 %1, i64* %n, align 8 + %2 = load i8*, i8** %p.addr, align 8 + %tobool = icmp ne i8* %2, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %3 = load i64, i64* %n, align 8 + %tobool1 = icmp ne i64 %3, 0 + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + %4 = load i64, i64* %s.addr, align 8 + %div = udiv i64 128, %4 + store i64 %div, i64* %n, align 8 + %5 = load i64, i64* %n, align 8 + %tobool3 = icmp ne i64 %5, 0 + %lnot = xor i1 %tobool3, true + %lnot.ext = zext i1 %lnot to i32 + %conv = sext i32 %lnot.ext to i64 + %6 = load i64, i64* %n, align 8 + %add = add i64 %6, %conv + store i64 %add, i64* %n, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %7 = load i64, i64* %s.addr, align 8 + %div4 = udiv i64 9223372036854775807, %7 + %8 = load i64, i64* %n, align 8 + %cmp = icmp ult i64 %div4, %8 + br i1 %cmp, label %if.then6, label %if.end16 + +if.then6: ; preds = %if.end + call void @xalloc_die() #24 + unreachable + +if.else: ; preds = %entry + %9 = load i64, i64* %s.addr, align 8 + %div8 = udiv i64 6148914691236517204, %9 + %10 = load i64, i64* %n, align 8 + %cmp9 = icmp ule i64 %div8, %10 + br i1 %cmp9, label %if.then11, label %if.end12 + +if.then11: ; preds = %if.else + call void @xalloc_die() #24 + unreachable + +if.end12: ; preds = %if.else + %11 = load i64, i64* %n, align 8 + %div13 = udiv i64 %11, 2 + %add14 = add i64 %div13, 1 + %12 = load i64, i64* %n, align 8 + %add15 = add i64 %12, %add14 + store i64 %add15, i64* %n, align 8 + br label %if.end16 + +if.end16: ; preds = %if.end, %if.end12 + %13 = load i64, i64* %n, align 8 + %14 = load i64*, i64** %pn.addr, align 8 + store i64 %13, i64* %14, align 8 + %15 = load i8*, i8** %p.addr, align 8 + %16 = load i64, i64* %n, align 8 + %17 = load i64, i64* %s.addr, align 8 + %mul = mul i64 %16, %17 + %call = call i8* @xrealloc(i8* %15, i64 %mul) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @close_stream(%struct._IO_FILE* %stream) #3 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct._IO_FILE*, align 8 + %some_pending = alloca i8, align 1 + %prev_fail = alloca i8, align 1 + %fclose_fail = alloca i8, align 1 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.513*)* @__fpending to i64 (%struct._IO_FILE*)*)(%struct._IO_FILE* %0) #11 + %cmp = icmp ne i64 %call, 0 + %frombool = zext i1 %cmp to i8 + store i8 %frombool, i8* %some_pending, align 1 + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call1 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.592*)* @ferror_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %1) #11 + %cmp2 = icmp ne i32 %call1, 0 + %frombool3 = zext i1 %cmp2 to i8 + store i8 %frombool3, i8* %prev_fail, align 1 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call4 = call i32 @rpl_fclose(%struct._IO_FILE* %2) + %cmp5 = icmp ne i32 %call4, 0 + %frombool6 = zext i1 %cmp5 to i8 + store i8 %frombool6, i8* %fclose_fail, align 1 + %3 = load i8, i8* %prev_fail, align 1 + %tobool = trunc i8 %3 to i1 + br i1 %tobool, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %4 = load i8, i8* %fclose_fail, align 1 + %tobool7 = trunc i8 %4 to i1 + br i1 %tobool7, label %land.lhs.true, label %if.end15 + +land.lhs.true: ; preds = %lor.lhs.false + %5 = load i8, i8* %some_pending, align 1 + %tobool8 = trunc i8 %5 to i1 + br i1 %tobool8, label %if.then, label %lor.lhs.false9 + +lor.lhs.false9: ; preds = %land.lhs.true + %call10 = call i32* @__errno_location() #25 + %6 = load i32, i32* %call10, align 4 + %cmp11 = icmp ne i32 %6, 9 + br i1 %cmp11, label %if.then, label %if.end15 + +if.then: ; preds = %lor.lhs.false9, %land.lhs.true, %entry + %7 = load i8, i8* %fclose_fail, align 1 + %tobool12 = trunc i8 %7 to i1 + br i1 %tobool12, label %if.end, label %if.then13 + +if.then13: ; preds = %if.then + %call14 = call i32* @__errno_location() #25 + store i32 0, i32* %call14, align 4 + br label %if.end + +if.end: ; preds = %if.then13, %if.then + store i32 -1, i32* %retval, align 4 + br label %return + +if.end15: ; preds = %lor.lhs.false9, %lor.lhs.false + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end15, %if.end + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_colon(i8* %arg) #3 { +entry: + %arg.addr = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_char(i8* %0, i8 signext 58) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_char(i8* %arg, i8 signext %ch) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %ch.addr = alloca i8, align 1 + store i8* %arg, i8** %arg.addr, align 8 + store i8 %ch, i8* %ch.addr, align 1 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i8, i8* %ch.addr, align 1 + %call = call i8* @quotearg_char_mem(i8* %0, i64 -1, i8 signext %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_char_mem(i8* %arg, i64 %argsize, i8 signext %ch) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %ch.addr = alloca i8, align 1 + %options = alloca %struct.quoting_options, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store i8 %ch, i8* %ch.addr, align 1 + %0 = bitcast %struct.quoting_options* %options to i8* + %1 = call i8* @memcpy(i8* %0, i8* bitcast (%struct.quoting_options* @default_quoting_options to i8*), i64 56) + %2 = load i8, i8* %ch.addr, align 1 + %call = call i32 @set_char_quoting(%struct.quoting_options* %options, i8 signext %2, i32 1) + %3 = load i8*, i8** %arg.addr, align 8 + %4 = load i64, i64* %argsize.addr, align 8 + %call1 = call i8* @quotearg_n_options(i32 0, i8* %3, i64 %4, %struct.quoting_options* %options) + ret i8* %call1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @close_stdout_set_file_name(i8* %file) #3 { +entry: + %file.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + store i8* %0, i8** @file_name, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @close_stdout_set_ignore_EPIPE(i1 zeroext %ignore) #3 { +entry: + %ignore.addr = alloca i8, align 1 + %frombool = zext i1 %ignore to i8 + store i8 %frombool, i8* %ignore.addr, align 1 + %0 = load i8, i8* %ignore.addr, align 1 + %tobool = trunc i8 %0 to i1 + %frombool1 = zext i1 %tobool to i8 + store i8 %frombool1, i8* @ignore_EPIPE, align 1 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local %struct.quoting_options* @clone_quoting_options(%struct.quoting_options* %o) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %p = alloca %struct.quoting_options*, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %call = call i32* @__errno_location() #25 + %0 = load i32, i32* %call, align 4 + store i32 %0, i32* %e, align 4 + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %1, null + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %2, %struct.quoting_options* @default_quoting_options + %3 = bitcast %struct.quoting_options* %cond to i8* + %call1 = call i8* @xmemdup(i8* %3, i64 56) + %4 = bitcast i8* %call1 to %struct.quoting_options* + store %struct.quoting_options* %4, %struct.quoting_options** %p, align 8 + %5 = load i32, i32* %e, align 4 + %call2 = call i32* @__errno_location() #25 + store i32 %5, i32* %call2, align 4 + %6 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + ret %struct.quoting_options* %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @xmemdup(i8* %p, i64 %s) #3 { +entry: + %p.addr = alloca i8*, align 8 + %s.addr = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %call = call noalias i8* @xmalloc(i64 %0) + %1 = load i8*, i8** %p.addr, align 8 + %2 = load i64, i64* %s.addr, align 8 + %3 = call i8* @memcpy(i8* %call, i8* %1, i64 %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @get_quoting_style(%struct.quoting_options* %o) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %1, %struct.quoting_options* @default_quoting_options + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %cond, i32 0, i32 0 + %2 = load i32, i32* %style, align 8 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_quoting_style(%struct.quoting_options* %o, i32 %s) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %s.addr = alloca i32, align 4 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i32 %s, i32* %s.addr, align 4 + %0 = load i32, i32* %s.addr, align 4 + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %1, null + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %2, %struct.quoting_options* @default_quoting_options + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %cond, i32 0, i32 0 + store i32 %0, i32* %style, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @set_quoting_flags(%struct.quoting_options* %o, i32 %i) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %i.addr = alloca i32, align 4 + %r = alloca i32, align 4 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i32 %i, i32* %i.addr, align 4 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store %struct.quoting_options* @default_quoting_options, %struct.quoting_options** %o.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %flags = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %1, i32 0, i32 1 + %2 = load i32, i32* %flags, align 4 + store i32 %2, i32* %r, align 4 + %3 = load i32, i32* %i.addr, align 4 + %4 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %flags1 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %4, i32 0, i32 1 + store i32 %3, i32* %flags1, align 4 + %5 = load i32, i32* %r, align 4 + ret i32 %5 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_custom_quoting(%struct.quoting_options* %o, i8* %left_quote, i8* %right_quote) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store %struct.quoting_options* @default_quoting_options, %struct.quoting_options** %o.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %1, i32 0, i32 0 + store i32 10, i32* %style, align 8 + %2 = load i8*, i8** %left_quote.addr, align 8 + %tobool1 = icmp ne i8* %2, null + %3 = load i8*, i8** %right_quote.addr, align 8 + %tobool2 = icmp ne i8* %3, null + %or.cond = and i1 %tobool1, %tobool2 + br i1 %or.cond, label %if.end4, label %if.then3 + +if.then3: ; preds = %if.end + call void @abort() #26 + unreachable + +if.end4: ; preds = %if.end + %4 = load i8*, i8** %left_quote.addr, align 8 + %5 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %left_quote5 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %5, i32 0, i32 3 + store i8* %4, i8** %left_quote5, align 8 + %6 = load i8*, i8** %right_quote.addr, align 8 + %7 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %right_quote6 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %7, i32 0, i32 4 + store i8* %6, i8** %right_quote6, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @quotearg_buffer(i8* %buffer, i64 %buffersize, i8* %arg, i64 %argsize, %struct.quoting_options* %o) #3 { +entry: + %buffer.addr = alloca i8*, align 8 + %buffersize.addr = alloca i64, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o.addr = alloca %struct.quoting_options*, align 8 + %p = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %r = alloca i64, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %buffersize, i64* %buffersize.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %1, %struct.quoting_options* @default_quoting_options + store %struct.quoting_options* %cond, %struct.quoting_options** %p, align 8 + %call = call i32* @__errno_location() #25 + %2 = load i32, i32* %call, align 4 + store i32 %2, i32* %e, align 4 + %3 = load i8*, i8** %buffer.addr, align 8 + %4 = load i64, i64* %buffersize.addr, align 8 + %5 = load i8*, i8** %arg.addr, align 8 + %6 = load i64, i64* %argsize.addr, align 8 + %7 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %7, i32 0, i32 0 + %8 = load i32, i32* %style, align 8 + %9 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %flags = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %9, i32 0, i32 1 + %10 = load i32, i32* %flags, align 4 + %11 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %11, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %12 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %left_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %12, i32 0, i32 3 + %13 = load i8*, i8** %left_quote, align 8 + %14 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %right_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %14, i32 0, i32 4 + %15 = load i8*, i8** %right_quote, align 8 + %call1 = call i64 @quotearg_buffer_restyled(i8* %3, i64 %4, i8* %5, i64 %6, i32 %8, i32 %10, i32* %arraydecay, i8* %13, i8* %15) + store i64 %call1, i64* %r, align 8 + %16 = load i32, i32* %e, align 4 + %call2 = call i32* @__errno_location() #25 + store i32 %16, i32* %call2, align 4 + %17 = load i64, i64* %r, align 8 + ret i64 %17 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_alloc(i8* %arg, i64 %argsize, %struct.quoting_options* %o) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o.addr = alloca %struct.quoting_options*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %call = call i8* @quotearg_alloc_mem(i8* %0, i64 %1, i64* null, %struct.quoting_options* %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_alloc_mem(i8* %arg, i64 %argsize, i64* %size, %struct.quoting_options* %o) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %size.addr = alloca i64*, align 8 + %o.addr = alloca %struct.quoting_options*, align 8 + %p = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %flags = alloca i32, align 4 + %bufsize = alloca i64, align 8 + %buf = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store i64* %size, i64** %size.addr, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %1, %struct.quoting_options* @default_quoting_options + store %struct.quoting_options* %cond, %struct.quoting_options** %p, align 8 + %call = call i32* @__errno_location() #25 + %2 = load i32, i32* %call, align 4 + store i32 %2, i32* %e, align 4 + %3 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %flags1 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %3, i32 0, i32 1 + %4 = load i32, i32* %flags1, align 4 + %5 = load i64*, i64** %size.addr, align 8 + %tobool2 = icmp ne i64* %5, null + %6 = zext i1 %tobool2 to i64 + %cond3 = select i1 %tobool2, i32 0, i32 1 + %or = or i32 %4, %cond3 + store i32 %or, i32* %flags, align 4 + %7 = load i8*, i8** %arg.addr, align 8 + %8 = load i64, i64* %argsize.addr, align 8 + %9 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %9, i32 0, i32 0 + %10 = load i32, i32* %style, align 8 + %11 = load i32, i32* %flags, align 4 + %12 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %12, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %13 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %left_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %13, i32 0, i32 3 + %14 = load i8*, i8** %left_quote, align 8 + %15 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %right_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %15, i32 0, i32 4 + %16 = load i8*, i8** %right_quote, align 8 + %call4 = call i64 @quotearg_buffer_restyled(i8* null, i64 0, i8* %7, i64 %8, i32 %10, i32 %11, i32* %arraydecay, i8* %14, i8* %16) + %add = add i64 %call4, 1 + store i64 %add, i64* %bufsize, align 8 + %17 = load i64, i64* %bufsize, align 8 + %call5 = call noalias i8* @xcharalloc(i64 %17) + store i8* %call5, i8** %buf, align 8 + %18 = load i8*, i8** %buf, align 8 + %19 = load i64, i64* %bufsize, align 8 + %20 = load i8*, i8** %arg.addr, align 8 + %21 = load i64, i64* %argsize.addr, align 8 + %22 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %style6 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %22, i32 0, i32 0 + %23 = load i32, i32* %style6, align 8 + %24 = load i32, i32* %flags, align 4 + %25 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %quote_these_too7 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %25, i32 0, i32 2 + %arraydecay8 = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too7, i64 0, i64 0 + %26 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %left_quote9 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %26, i32 0, i32 3 + %27 = load i8*, i8** %left_quote9, align 8 + %28 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %right_quote10 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %28, i32 0, i32 4 + %29 = load i8*, i8** %right_quote10, align 8 + %call11 = call i64 @quotearg_buffer_restyled(i8* %18, i64 %19, i8* %20, i64 %21, i32 %23, i32 %24, i32* %arraydecay8, i8* %27, i8* %29) + %30 = load i32, i32* %e, align 4 + %call12 = call i32* @__errno_location() #25 + store i32 %30, i32* %call12, align 4 + %31 = load i64*, i64** %size.addr, align 8 + %tobool13 = icmp ne i64* %31, null + br i1 %tobool13, label %if.then, label %if.end + +if.then: ; preds = %entry + %32 = load i64, i64* %bufsize, align 8 + %sub = sub i64 %32, 1 + %33 = load i64*, i64** %size.addr, align 8 + store i64 %sub, i64* %33, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %34 = load i8*, i8** %buf, align 8 + ret i8* %34 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @quotearg_free() #3 { +entry: + %sv = alloca %struct.slotvec*, align 8 + %i = alloca i32, align 4 + %0 = load %struct.slotvec*, %struct.slotvec** @slotvec, align 8 + store %struct.slotvec* %0, %struct.slotvec** %sv, align 8 + store i32 1, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %1 = load i32, i32* %i, align 4 + %2 = load i32, i32* @nslots, align 4 + %cmp = icmp slt i32 %1, %2 + %3 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %4 = load i32, i32* %i, align 4 + %idxprom = sext i32 %4 to i64 + %arrayidx = getelementptr inbounds %struct.slotvec, %struct.slotvec* %3, i64 %idxprom + %val = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx, i32 0, i32 1 + %5 = load i8*, i8** %val, align 8 + call void @free(i8* %5) #11 + %6 = load i32, i32* %i, align 4 + %inc = add nsw i32 %6, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %arrayidx1 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %3, i64 0 + %val2 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx1, i32 0, i32 1 + %7 = load i8*, i8** %val2, align 8 + %cmp3 = icmp ne i8* %7, getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i64 0, i64 0) + br i1 %cmp3, label %if.then, label %if.end + +if.then: ; preds = %for.end + %8 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %arrayidx4 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %8, i64 0 + %val5 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx4, i32 0, i32 1 + %9 = load i8*, i8** %val5, align 8 + call void @free(i8* %9) #11 + store i64 256, i64* getelementptr inbounds (%struct.slotvec, %struct.slotvec* @slotvec0, i32 0, i32 0), align 8 + store i8* getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i64 0, i64 0), i8** getelementptr inbounds (%struct.slotvec, %struct.slotvec* @slotvec0, i32 0, i32 1), align 8 + br label %if.end + +if.end: ; preds = %if.then, %for.end + %10 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %cmp6 = icmp ne %struct.slotvec* %10, @slotvec0 + br i1 %cmp6, label %if.then7, label %if.end8 + +if.then7: ; preds = %if.end + %11 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %12 = bitcast %struct.slotvec* %11 to i8* + call void @free(i8* %12) #11 + store %struct.slotvec* @slotvec0, %struct.slotvec** @slotvec, align 8 + br label %if.end8 + +if.end8: ; preds = %if.then7, %if.end + store i32 1, i32* @nslots, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n(i32 %n, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %0, i8* %1, i64 -1, %struct.quoting_options* @default_quoting_options) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_mem(i32 %n, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %2 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %0, i8* %1, i64 %2, %struct.quoting_options* @default_quoting_options) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg(i8* %arg) #3 { +entry: + %arg.addr = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n(i32 0, i8* %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_mem(i8* %arg, i64 %argsize) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_mem(i32 0, i8* %0, i64 %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_style(i32 %n, i32 %s, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %o = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + call void @quoting_options_from_style(%struct.quoting_options* sret align 8 %o, i32 %0) + %1 = load i32, i32* %n.addr, align 4 + %2 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %1, i8* %2, i64 -1, %struct.quoting_options* %o) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_style_mem(i32 %n, i32 %s, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + call void @quoting_options_from_style(%struct.quoting_options* sret align 8 %o, i32 %0) + %1 = load i32, i32* %n.addr, align 4 + %2 = load i8*, i8** %arg.addr, align 8 + %3 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %1, i8* %2, i64 %3, %struct.quoting_options* %o) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_style(i32 %s, i8* %arg) #3 { +entry: + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_style(i32 0, i32 %0, i8* %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_style_mem(i32 %s, i8* %arg, i64 %argsize) #3 { +entry: + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %2 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_style_mem(i32 0, i32 %0, i8* %1, i64 %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_colon_mem(i8* %arg, i64 %argsize) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_char_mem(i8* %0, i64 %1, i8 signext 58) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_custom(i32 %n, i8* %left_quote, i8* %right_quote, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %left_quote.addr, align 8 + %2 = load i8*, i8** %right_quote.addr, align 8 + %3 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_custom_mem(i32 %0, i8* %1, i8* %2, i8* %3, i64 -1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_custom_mem(i32 %n, i8* %left_quote, i8* %right_quote, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = bitcast %struct.quoting_options* %o to i8* + %1 = call i8* @memcpy(i8* %0, i8* bitcast (%struct.quoting_options* @default_quoting_options to i8*), i64 56) + %2 = load i8*, i8** %left_quote.addr, align 8 + %3 = load i8*, i8** %right_quote.addr, align 8 + call void @set_custom_quoting(%struct.quoting_options* %o, i8* %2, i8* %3) + %4 = load i32, i32* %n.addr, align 4 + %5 = load i8*, i8** %arg.addr, align 8 + %6 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %4, i8* %5, i64 %6, %struct.quoting_options* %o) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_custom(i8* %left_quote, i8* %right_quote, i8* %arg) #3 { +entry: + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %left_quote.addr, align 8 + %1 = load i8*, i8** %right_quote.addr, align 8 + %2 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_custom(i32 0, i8* %0, i8* %1, i8* %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_custom_mem(i8* %left_quote, i8* %right_quote, i8* %arg, i64 %argsize) #3 { +entry: + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %left_quote.addr, align 8 + %1 = load i8*, i8** %right_quote.addr, align 8 + %2 = load i8*, i8** %arg.addr, align 8 + %3 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_custom_mem(i32 0, i8* %0, i8* %1, i8* %2, i64 %3) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote_mem(i8* %arg, i64 %argsize) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quote_n_mem(i32 0, i8* %0, i64 %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc_ar(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, i8** %authors) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors.addr = alloca i8**, align 8 + %n_authors = alloca i64, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + store i8** %authors, i8*** %authors.addr, align 8 + store i64 0, i64* %n_authors, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i8**, i8*** %authors.addr, align 8 + %1 = load i64, i64* %n_authors, align 8 + %arrayidx = getelementptr inbounds i8*, i8** %0, i64 %1 + %2 = load i8*, i8** %arrayidx, align 8 + %tobool = icmp ne i8* %2, null + br i1 %tobool, label %for.inc, label %for.end + +for.inc: ; preds = %for.cond + %3 = load i64, i64* %n_authors, align 8 + %inc = add i64 %3, 1 + store i64 %inc, i64* %n_authors, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %5 = load i8*, i8** %command_name.addr, align 8 + %6 = load i8*, i8** %package.addr, align 8 + %7 = load i8*, i8** %version.addr, align 8 + %8 = load i8**, i8*** %authors.addr, align 8 + %9 = load i64, i64* %n_authors, align 8 + call void @version_etc_arn(%struct._IO_FILE* %4, i8* %5, i8* %6, i8* %7, i8** %8, i64 %9) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @emit_bug_reporting_address() #3 { +entry: + %0 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.113, i64 0, i64 0), %struct._IO_FILE* %0) + %call1 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.16.128, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.17.129, i64 0, i64 0)) + %call2 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.18.130, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.19.131, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.20.132, i64 0, i64 0)) + %call3 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.21.133, i64 0, i64 0), i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.22.134, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xnmalloc(i64 %n, i64 %s) #3 { +entry: + %n.addr = alloca i64, align 8 + %s.addr = alloca i64, align 8 + store i64 %n, i64* %n.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %div = udiv i64 9223372036854775807, %0 + %1 = load i64, i64* %n.addr, align 8 + %cmp = icmp ult i64 %div, %1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %entry + %2 = load i64, i64* %n.addr, align 8 + %3 = load i64, i64* %s.addr, align 8 + %mul = mul i64 %2, %3 + %call = call noalias i8* @xmalloc(i64 %mul) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @xnrealloc(i8* %p, i64 %n, i64 %s) #3 { +entry: + %p.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %s.addr = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %div = udiv i64 9223372036854775807, %0 + %1 = load i64, i64* %n.addr, align 8 + %cmp = icmp ult i64 %div, %1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %p.addr, align 8 + %3 = load i64, i64* %n.addr, align 8 + %4 = load i64, i64* %s.addr, align 8 + %mul = mul i64 %3, %4 + %call = call i8* @xrealloc(i8* %2, i64 %mul) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @x2realloc(i8* %p, i64* %pn) #3 { +entry: + %p.addr = alloca i8*, align 8 + %pn.addr = alloca i64*, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64* %pn, i64** %pn.addr, align 8 + %0 = load i8*, i8** %p.addr, align 8 + %1 = load i64*, i64** %pn.addr, align 8 + %call = call i8* @x2nrealloc(i8* %0, i64* %1, i64 1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xzalloc(i64 %n) #3 { +entry: + %n.addr = alloca i64, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @xcalloc(i64 %0, i64 1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xcalloc(i64 %n, i64 %s) #3 { +entry: + %n.addr = alloca i64, align 8 + %s.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i64 %n, i64* %n.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %div = udiv i64 9223372036854775807, %0 + %1 = load i64, i64* %n.addr, align 8 + %cmp = icmp ult i64 %div, %1 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load i64, i64* %n.addr, align 8 + %3 = load i64, i64* %s.addr, align 8 + %call = call noalias i8* @calloc(i64 %2, i64 %3) #11 + store i8* %call, i8** %p, align 8 + %tobool = icmp ne i8* %call, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %lor.lhs.false, %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %lor.lhs.false + %4 = load i8*, i8** %p, align 8 + ret i8* %4 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xstrdup(i8* %string) #3 { +entry: + %string.addr = alloca i8*, align 8 + store i8* %string, i8** %string.addr, align 8 + %0 = load i8*, i8** %string.addr, align 8 + %1 = load i8*, i8** %string.addr, align 8 + %call = call i64 @strlen(i8* %1) #23 + %add = add i64 %call, 1 + %call1 = call i8* @xmemdup(i8* %0, i64 %add) + ret i8* %call1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @setlocale_null(i32 %category) #3 { +entry: + %category.addr = alloca i32, align 4 + store i32 %category, i32* %category.addr, align 4 + %0 = load i32, i32* %category.addr, align 4 + %call = call i8* @setlocale_null_androidfix(i32 %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isalnum(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock121 + +NodeBlock121: ; preds = %entry + %case.cmp122 = icmp eq i32 %0, 48 + br i1 %case.cmp122, label %sw.bb, label %NodeBlock119 + +NodeBlock119: ; preds = %NodeBlock121 + %case.cmp120 = icmp eq i32 %0, 49 + br i1 %case.cmp120, label %sw.bb, label %NodeBlock117 + +NodeBlock117: ; preds = %NodeBlock119 + %case.cmp118 = icmp eq i32 %0, 50 + br i1 %case.cmp118, label %sw.bb, label %NodeBlock115 + +NodeBlock115: ; preds = %NodeBlock117 + %case.cmp116 = icmp eq i32 %0, 51 + br i1 %case.cmp116, label %sw.bb, label %NodeBlock113 + +NodeBlock113: ; preds = %NodeBlock115 + %case.cmp114 = icmp eq i32 %0, 52 + br i1 %case.cmp114, label %sw.bb, label %NodeBlock111 + +NodeBlock111: ; preds = %NodeBlock113 + %case.cmp112 = icmp eq i32 %0, 53 + br i1 %case.cmp112, label %sw.bb, label %NodeBlock109 + +NodeBlock109: ; preds = %NodeBlock111 + %case.cmp110 = icmp eq i32 %0, 54 + br i1 %case.cmp110, label %sw.bb, label %NodeBlock107 + +NodeBlock107: ; preds = %NodeBlock109 + %case.cmp108 = icmp eq i32 %0, 55 + br i1 %case.cmp108, label %sw.bb, label %NodeBlock105 + +NodeBlock105: ; preds = %NodeBlock107 + %case.cmp106 = icmp eq i32 %0, 56 + br i1 %case.cmp106, label %sw.bb, label %NodeBlock103 + +NodeBlock103: ; preds = %NodeBlock105 + %case.cmp104 = icmp eq i32 %0, 57 + br i1 %case.cmp104, label %sw.bb, label %NodeBlock101 + +NodeBlock101: ; preds = %NodeBlock103 + %case.cmp102 = icmp eq i32 %0, 97 + br i1 %case.cmp102, label %sw.bb, label %NodeBlock99 + +NodeBlock99: ; preds = %NodeBlock101 + %case.cmp100 = icmp eq i32 %0, 98 + br i1 %case.cmp100, label %sw.bb, label %NodeBlock97 + +NodeBlock97: ; preds = %NodeBlock99 + %case.cmp98 = icmp eq i32 %0, 99 + br i1 %case.cmp98, label %sw.bb, label %NodeBlock95 + +NodeBlock95: ; preds = %NodeBlock97 + %case.cmp96 = icmp eq i32 %0, 100 + br i1 %case.cmp96, label %sw.bb, label %NodeBlock93 + +NodeBlock93: ; preds = %NodeBlock95 + %case.cmp94 = icmp eq i32 %0, 101 + br i1 %case.cmp94, label %sw.bb, label %NodeBlock91 + +NodeBlock91: ; preds = %NodeBlock93 + %case.cmp92 = icmp eq i32 %0, 102 + br i1 %case.cmp92, label %sw.bb, label %NodeBlock89 + +NodeBlock89: ; preds = %NodeBlock91 + %case.cmp90 = icmp eq i32 %0, 103 + br i1 %case.cmp90, label %sw.bb, label %NodeBlock87 + +NodeBlock87: ; preds = %NodeBlock89 + %case.cmp88 = icmp eq i32 %0, 104 + br i1 %case.cmp88, label %sw.bb, label %NodeBlock85 + +NodeBlock85: ; preds = %NodeBlock87 + %case.cmp86 = icmp eq i32 %0, 105 + br i1 %case.cmp86, label %sw.bb, label %NodeBlock83 + +NodeBlock83: ; preds = %NodeBlock85 + %case.cmp84 = icmp eq i32 %0, 106 + br i1 %case.cmp84, label %sw.bb, label %NodeBlock81 + +NodeBlock81: ; preds = %NodeBlock83 + %case.cmp82 = icmp eq i32 %0, 107 + br i1 %case.cmp82, label %sw.bb, label %NodeBlock79 + +NodeBlock79: ; preds = %NodeBlock81 + %case.cmp80 = icmp eq i32 %0, 108 + br i1 %case.cmp80, label %sw.bb, label %NodeBlock77 + +NodeBlock77: ; preds = %NodeBlock79 + %case.cmp78 = icmp eq i32 %0, 109 + br i1 %case.cmp78, label %sw.bb, label %NodeBlock75 + +NodeBlock75: ; preds = %NodeBlock77 + %case.cmp76 = icmp eq i32 %0, 110 + br i1 %case.cmp76, label %sw.bb, label %NodeBlock73 + +NodeBlock73: ; preds = %NodeBlock75 + %case.cmp74 = icmp eq i32 %0, 111 + br i1 %case.cmp74, label %sw.bb, label %NodeBlock71 + +NodeBlock71: ; preds = %NodeBlock73 + %case.cmp72 = icmp eq i32 %0, 112 + br i1 %case.cmp72, label %sw.bb, label %NodeBlock69 + +NodeBlock69: ; preds = %NodeBlock71 + %case.cmp70 = icmp eq i32 %0, 113 + br i1 %case.cmp70, label %sw.bb, label %NodeBlock67 + +NodeBlock67: ; preds = %NodeBlock69 + %case.cmp68 = icmp eq i32 %0, 114 + br i1 %case.cmp68, label %sw.bb, label %NodeBlock65 + +NodeBlock65: ; preds = %NodeBlock67 + %case.cmp66 = icmp eq i32 %0, 115 + br i1 %case.cmp66, label %sw.bb, label %NodeBlock63 + +NodeBlock63: ; preds = %NodeBlock65 + %case.cmp64 = icmp eq i32 %0, 116 + br i1 %case.cmp64, label %sw.bb, label %NodeBlock61 + +NodeBlock61: ; preds = %NodeBlock63 + %case.cmp62 = icmp eq i32 %0, 117 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 118 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 119 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 120 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 121 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 122 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 65 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 66 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 67 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 68 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 69 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 70 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 71 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 72 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 73 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 74 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 75 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 76 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 77 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 78 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 79 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 80 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 81 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 82 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 83 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 84 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 85 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 86 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 87 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 88 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 89 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 90 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock121, %NodeBlock119, %NodeBlock117, %NodeBlock115, %NodeBlock113, %NodeBlock111, %NodeBlock109, %NodeBlock107, %NodeBlock105, %NodeBlock103, %NodeBlock101, %NodeBlock99, %NodeBlock97, %NodeBlock95, %NodeBlock93, %NodeBlock91, %NodeBlock89, %NodeBlock87, %NodeBlock85, %NodeBlock83, %NodeBlock81, %NodeBlock79, %NodeBlock77, %NodeBlock75, %NodeBlock73, %NodeBlock71, %NodeBlock69, %NodeBlock67, %NodeBlock65, %NodeBlock63, %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isalpha(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock101 + +NodeBlock101: ; preds = %entry + %case.cmp102 = icmp eq i32 %0, 97 + br i1 %case.cmp102, label %sw.bb, label %NodeBlock99 + +NodeBlock99: ; preds = %NodeBlock101 + %case.cmp100 = icmp eq i32 %0, 98 + br i1 %case.cmp100, label %sw.bb, label %NodeBlock97 + +NodeBlock97: ; preds = %NodeBlock99 + %case.cmp98 = icmp eq i32 %0, 99 + br i1 %case.cmp98, label %sw.bb, label %NodeBlock95 + +NodeBlock95: ; preds = %NodeBlock97 + %case.cmp96 = icmp eq i32 %0, 100 + br i1 %case.cmp96, label %sw.bb, label %NodeBlock93 + +NodeBlock93: ; preds = %NodeBlock95 + %case.cmp94 = icmp eq i32 %0, 101 + br i1 %case.cmp94, label %sw.bb, label %NodeBlock91 + +NodeBlock91: ; preds = %NodeBlock93 + %case.cmp92 = icmp eq i32 %0, 102 + br i1 %case.cmp92, label %sw.bb, label %NodeBlock89 + +NodeBlock89: ; preds = %NodeBlock91 + %case.cmp90 = icmp eq i32 %0, 103 + br i1 %case.cmp90, label %sw.bb, label %NodeBlock87 + +NodeBlock87: ; preds = %NodeBlock89 + %case.cmp88 = icmp eq i32 %0, 104 + br i1 %case.cmp88, label %sw.bb, label %NodeBlock85 + +NodeBlock85: ; preds = %NodeBlock87 + %case.cmp86 = icmp eq i32 %0, 105 + br i1 %case.cmp86, label %sw.bb, label %NodeBlock83 + +NodeBlock83: ; preds = %NodeBlock85 + %case.cmp84 = icmp eq i32 %0, 106 + br i1 %case.cmp84, label %sw.bb, label %NodeBlock81 + +NodeBlock81: ; preds = %NodeBlock83 + %case.cmp82 = icmp eq i32 %0, 107 + br i1 %case.cmp82, label %sw.bb, label %NodeBlock79 + +NodeBlock79: ; preds = %NodeBlock81 + %case.cmp80 = icmp eq i32 %0, 108 + br i1 %case.cmp80, label %sw.bb, label %NodeBlock77 + +NodeBlock77: ; preds = %NodeBlock79 + %case.cmp78 = icmp eq i32 %0, 109 + br i1 %case.cmp78, label %sw.bb, label %NodeBlock75 + +NodeBlock75: ; preds = %NodeBlock77 + %case.cmp76 = icmp eq i32 %0, 110 + br i1 %case.cmp76, label %sw.bb, label %NodeBlock73 + +NodeBlock73: ; preds = %NodeBlock75 + %case.cmp74 = icmp eq i32 %0, 111 + br i1 %case.cmp74, label %sw.bb, label %NodeBlock71 + +NodeBlock71: ; preds = %NodeBlock73 + %case.cmp72 = icmp eq i32 %0, 112 + br i1 %case.cmp72, label %sw.bb, label %NodeBlock69 + +NodeBlock69: ; preds = %NodeBlock71 + %case.cmp70 = icmp eq i32 %0, 113 + br i1 %case.cmp70, label %sw.bb, label %NodeBlock67 + +NodeBlock67: ; preds = %NodeBlock69 + %case.cmp68 = icmp eq i32 %0, 114 + br i1 %case.cmp68, label %sw.bb, label %NodeBlock65 + +NodeBlock65: ; preds = %NodeBlock67 + %case.cmp66 = icmp eq i32 %0, 115 + br i1 %case.cmp66, label %sw.bb, label %NodeBlock63 + +NodeBlock63: ; preds = %NodeBlock65 + %case.cmp64 = icmp eq i32 %0, 116 + br i1 %case.cmp64, label %sw.bb, label %NodeBlock61 + +NodeBlock61: ; preds = %NodeBlock63 + %case.cmp62 = icmp eq i32 %0, 117 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 118 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 119 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 120 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 121 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 122 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 65 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 66 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 67 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 68 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 69 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 70 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 71 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 72 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 73 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 74 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 75 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 76 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 77 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 78 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 79 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 80 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 81 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 82 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 83 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 84 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 85 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 86 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 87 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 88 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 89 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 90 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock101, %NodeBlock99, %NodeBlock97, %NodeBlock95, %NodeBlock93, %NodeBlock91, %NodeBlock89, %NodeBlock87, %NodeBlock85, %NodeBlock83, %NodeBlock81, %NodeBlock79, %NodeBlock77, %NodeBlock75, %NodeBlock73, %NodeBlock71, %NodeBlock69, %NodeBlock67, %NodeBlock65, %NodeBlock63, %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isascii(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %switch = icmp ult i32 %0, 128 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isblank(i32 %c) #3 { +entry: + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %cmp = icmp eq i32 %0, 32 + %1 = load i32, i32* %c.addr, align 4 + %cmp1 = icmp eq i32 %1, 9 + %2 = select i1 %cmp, i1 true, i1 %cmp1 + ret i1 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_iscntrl(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock63 + +NodeBlock63: ; preds = %entry + %case.cmp64 = icmp eq i32 %0, 7 + br i1 %case.cmp64, label %sw.bb, label %NodeBlock61 + +NodeBlock61: ; preds = %NodeBlock63 + %case.cmp62 = icmp eq i32 %0, 8 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 12 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 10 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 13 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 9 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 11 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 0 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 1 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 2 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 3 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 4 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 5 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 6 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 14 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 15 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 16 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 17 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 18 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 19 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 20 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 21 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 22 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 23 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 24 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 25 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 26 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 27 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 28 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 29 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 30 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 31 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 127 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock63, %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isdigit(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -48 + %switch = icmp ult i32 %.off, 10 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isgraph(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -33 + %switch = icmp ult i32 %.off, 94 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_islower(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -97 + %switch = icmp ult i32 %.off, 26 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isprint(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -32 + %switch = icmp ult i32 %.off, 95 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_ispunct(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock61 + +NodeBlock61: ; preds = %entry + %case.cmp62 = icmp eq i32 %0, 33 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 34 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 35 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 36 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 37 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 38 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 39 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 40 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 41 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 42 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 43 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 44 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 45 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 46 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 47 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 58 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 59 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 60 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 61 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 62 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 63 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 64 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 91 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 92 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 93 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 94 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 95 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 96 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 123 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 124 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 125 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 126 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isspace(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock9 + +NodeBlock9: ; preds = %entry + %case.cmp10 = icmp eq i32 %0, 32 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 9 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 10 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 11 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 12 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 13 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isupper(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -65 + %switch = icmp ult i32 %.off, 26 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isxdigit(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock41 + +NodeBlock41: ; preds = %entry + %case.cmp42 = icmp eq i32 %0, 48 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 49 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 50 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 51 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 52 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 53 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 54 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 55 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 56 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 57 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 97 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 98 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 99 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 100 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 101 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 102 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 65 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 66 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 67 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 68 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 69 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 70 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @c_toupper(i32 %c) #3 { +entry: + %retval = alloca i32, align 4 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -97 + %switch = icmp ult i32 %.off, 26 + %1 = load i32, i32* %c.addr, align 4 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + %sub = sub nsw i32 %1, 97 + %add = add nsw i32 %sub, 65 + store i32 %add, i32* %retval, align 4 + br label %return + +sw.default: ; preds = %entry + store i32 %1, i32* %retval, align 4 + br label %return + +return: ; preds = %sw.default, %sw.bb + %2 = load i32, i32* %retval, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @klee_init_fds(i32 %n_files, i32 %file_length, i32 %stdin_length, i32 %sym_stdout_flag, i32 %save_all_writes_flag, i32 %max_failures) #3 { +entry: + %n_files.addr = alloca i32, align 4 + %file_length.addr = alloca i32, align 4 + %stdin_length.addr = alloca i32, align 4 + %sym_stdout_flag.addr = alloca i32, align 4 + %save_all_writes_flag.addr = alloca i32, align 4 + %max_failures.addr = alloca i32, align 4 + %k = alloca i32, align 4 + %name = alloca [7 x i8], align 1 + %s = alloca %struct.stat64, align 8 + store i32 %n_files, i32* %n_files.addr, align 4 + store i32 %file_length, i32* %file_length.addr, align 4 + store i32 %stdin_length, i32* %stdin_length.addr, align 4 + store i32 %sym_stdout_flag, i32* %sym_stdout_flag.addr, align 4 + store i32 %save_all_writes_flag, i32* %save_all_writes_flag.addr, align 4 + store i32 %max_failures, i32* %max_failures.addr, align 4 + %0 = bitcast [7 x i8]* %name to i8* + %1 = call i8* @memcpy(i8* %0, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @__const.klee_init_fds.name, i32 0, i32 0), i64 7) + %call = call i32 @stat64(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.140, i64 0, i64 0), %struct.stat64* %s) #11 + %2 = load i32, i32* %n_files.addr, align 4 + store i32 %2, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %3 = load i32, i32* %n_files.addr, align 4 + %conv = zext i32 %3 to i64 + %mul = mul i64 24, %conv + %call1 = call noalias i8* @malloc(i64 %mul) #11 + %4 = bitcast i8* %call1 to %struct.exe_disk_file_t* + store %struct.exe_disk_file_t* %4, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %5 = load i32, i32* %n_files.addr, align 4 + %tobool = icmp eq i32 %5, 0 + %6 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %6, null + %or.cond = or i1 %tobool, %tobool2 + br i1 %or.cond, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @gs_report_error.144(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.141, i64 0, i64 0), i32 124, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.142, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.143, i64 0, i64 0)) #24 + unreachable + +if.end: ; preds = %entry + store i32 0, i32* %k, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %7 = load i32, i32* %k, align 4 + %8 = load i32, i32* %n_files.addr, align 4 + %cmp = icmp ult i32 %7, %8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %9 = load i32, i32* %k, align 4 + %add = add i32 65, %9 + %conv4 = trunc i32 %add to i8 + %arrayidx = getelementptr inbounds [7 x i8], [7 x i8]* %name, i64 0, i64 0 + store i8 %conv4, i8* %arrayidx, align 1 + %10 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %11 = load i32, i32* %k, align 4 + %idxprom = zext i32 %11 to i64 + %arrayidx5 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %10, i64 %idxprom + %12 = load i32, i32* %file_length.addr, align 4 + %arraydecay = getelementptr inbounds [7 x i8], [7 x i8]* %name, i64 0, i64 0 + call void @__create_new_dfile(%struct.exe_disk_file_t* %arrayidx5, i32 %12, i8* %arraydecay, %struct.stat64* %s) + %13 = load i32, i32* %k, align 4 + %inc = add i32 %13, 1 + store i32 %inc, i32* %k, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %14 = load i32, i32* %stdin_length.addr, align 4 + %tobool6 = icmp ne i32 %14, 0 + br i1 %tobool6, label %if.then7, label %if.else + +if.then7: ; preds = %for.end + %call8 = call noalias i8* @malloc(i64 24) #11 + %15 = bitcast i8* %call8 to %struct.exe_disk_file_t* + store %struct.exe_disk_file_t* %15, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + %16 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + %tobool9 = icmp ne %struct.exe_disk_file_t* %16, null + br i1 %tobool9, label %if.end11, label %if.then10 + +if.then10: ; preds = %if.then7 + call void @gs_report_error.144(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.141, i64 0, i64 0), i32 135, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.142, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.143, i64 0, i64 0)) #24 + unreachable + +if.end11: ; preds = %if.then7 + %17 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + %18 = load i32, i32* %stdin_length.addr, align 4 + call void @__create_new_dfile(%struct.exe_disk_file_t* %17, i32 %18, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.4.145, i64 0, i64 0), %struct.stat64* %s) + %19 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + store %struct.exe_disk_file_t* %19, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0, i64 0, i32 3), align 8 + br label %if.end12 + +if.else: ; preds = %for.end + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + br label %if.end12 + +if.end12: ; preds = %if.else, %if.end11 + %20 = load i32, i32* %max_failures.addr, align 4 + store i32 %20, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %21 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool13 = icmp ne i32 %21, 0 + br i1 %tobool13, label %if.then14, label %if.end31 + +if.then14: ; preds = %if.end12 + %call15 = call noalias i8* @malloc(i64 4) #11 + %22 = bitcast i8* %call15 to i32* + store i32* %22, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %call16 = call noalias i8* @malloc(i64 4) #11 + %23 = bitcast i8* %call16 to i32* + store i32* %23, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %call17 = call noalias i8* @malloc(i64 4) #11 + %24 = bitcast i8* %call17 to i32* + store i32* %24, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %call18 = call noalias i8* @malloc(i64 4) #11 + %25 = bitcast i8* %call18 to i32* + store i32* %25, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %call19 = call noalias i8* @malloc(i64 4) #11 + %26 = bitcast i8* %call19 to i32* + store i32* %26, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %27 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %tobool20 = icmp ne i32* %27, null + %28 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %tobool22 = icmp ne i32* %28, null + %or.cond1 = and i1 %tobool20, %tobool22 + %29 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %tobool24 = icmp ne i32* %29, null + %or.cond2 = and i1 %or.cond1, %tobool24 + %30 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %tobool26 = icmp ne i32* %30, null + %or.cond3 = and i1 %or.cond2, %tobool26 + %31 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %tobool28 = icmp ne i32* %31, null + %or.cond4 = and i1 %or.cond3, %tobool28 + br i1 %or.cond4, label %if.end30, label %if.then29 + +if.then29: ; preds = %if.then14 + call void @gs_report_error.144(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.141, i64 0, i64 0), i32 150, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.142, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.143, i64 0, i64 0)) #24 + unreachable + +if.end30: ; preds = %if.then14 + %32 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %33 = bitcast i32* %32 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %33, i64 4, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.5.146, i64 0, i64 0)) + %34 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %35 = bitcast i32* %34 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %35, i64 4, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.6.147, i64 0, i64 0)) + %36 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %37 = bitcast i32* %36 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %37, i64 4, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.7.148, i64 0, i64 0)) + %38 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %39 = bitcast i32* %38 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %39, i64 4, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.8.149, i64 0, i64 0)) + %40 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %41 = bitcast i32* %40 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %41, i64 4, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.9.150, i64 0, i64 0)) + br label %if.end31 + +if.end31: ; preds = %if.end30, %if.end12 + %42 = load i32, i32* %sym_stdout_flag.addr, align 4 + %tobool32 = icmp ne i32 %42, 0 + br i1 %tobool32, label %if.then33, label %if.else38 + +if.then33: ; preds = %if.end31 + %call34 = call noalias i8* @malloc(i64 24) #11 + %43 = bitcast i8* %call34 to %struct.exe_disk_file_t* + store %struct.exe_disk_file_t* %43, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + %44 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + %tobool35 = icmp ne %struct.exe_disk_file_t* %44, null + br i1 %tobool35, label %if.end37, label %if.then36 + +if.then36: ; preds = %if.then33 + call void @gs_report_error.144(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.141, i64 0, i64 0), i32 163, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.142, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.143, i64 0, i64 0)) #24 + unreachable + +if.end37: ; preds = %if.then33 + %45 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + call void @__create_new_dfile(%struct.exe_disk_file_t* %45, i32 1024, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.10.151, i64 0, i64 0), %struct.stat64* %s) + %46 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + store %struct.exe_disk_file_t* %46, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0, i64 1, i32 3), align 8 + store i32 0, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 3), align 8 + br label %if.end39 + +if.else38: ; preds = %if.end31 + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + br label %if.end39 + +if.end39: ; preds = %if.else38, %if.end37 + %47 = load i32, i32* %save_all_writes_flag.addr, align 4 + store i32 %47, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 3), align 8 + %call40 = call i32 @__sym_uint32(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.11.152, i64 0, i64 0)) + store i32 %call40, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 2), align 4 + %48 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 2), align 4 + %cmp41 = icmp eq i32 %48, 1 + call void @gs_assume(i1 zeroext %cmp41) + ret void +} + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error.144(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.155, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__create_new_dfile(%struct.exe_disk_file_t* %dfile, i32 %size, i8* %name, %struct.stat64* %defaults) #3 { +entry: + %dfile.addr = alloca %struct.exe_disk_file_t*, align 8 + %size.addr = alloca i32, align 4 + %name.addr = alloca i8*, align 8 + %defaults.addr = alloca %struct.stat64*, align 8 + %s = alloca %struct.stat64*, align 8 + %sp = alloca i8*, align 8 + %sname = alloca [64 x i8], align 16 + store %struct.exe_disk_file_t* %dfile, %struct.exe_disk_file_t** %dfile.addr, align 8 + store i32 %size, i32* %size.addr, align 4 + store i8* %name, i8** %name.addr, align 8 + store %struct.stat64* %defaults, %struct.stat64** %defaults.addr, align 8 + %call = call noalias i8* @malloc(i64 144) #11 + %0 = bitcast i8* %call to %struct.stat64* + store %struct.stat64* %0, %struct.stat64** %s, align 8 + %1 = load %struct.stat64*, %struct.stat64** %s, align 8 + %tobool = icmp ne %struct.stat64* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @gs_report_error.144(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.141, i64 0, i64 0), i32 47, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.142, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.143, i64 0, i64 0)) #24 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %name.addr, align 8 + store i8* %2, i8** %sp, align 8 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %3 = load i8*, i8** %sp, align 8 + %4 = load i8, i8* %3, align 1 + %tobool1 = icmp ne i8 %4, 0 + %5 = load i8*, i8** %sp, align 8 + br i1 %tobool1, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %6 = load i8, i8* %5, align 1 + %7 = load i8*, i8** %sp, align 8 + %8 = load i8*, i8** %name.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %8 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %arrayidx = getelementptr inbounds [64 x i8], [64 x i8]* %sname, i64 0, i64 %sub.ptr.sub + store i8 %6, i8* %arrayidx, align 1 + %9 = load i8*, i8** %sp, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %sp, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %10 = load i8*, i8** %name.addr, align 8 + %sub.ptr.lhs.cast2 = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast3 = ptrtoint i8* %10 to i64 + %sub.ptr.sub4 = sub i64 %sub.ptr.lhs.cast2, %sub.ptr.rhs.cast3 + %arrayidx5 = getelementptr inbounds [64 x i8], [64 x i8]* %sname, i64 0, i64 %sub.ptr.sub4 + %11 = call i8* @memcpy(i8* %arrayidx5, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.13.153, i64 0, i64 0), i64 6) + %12 = load i32, i32* %size.addr, align 4 + %tobool6 = icmp ne i32 %12, 0 + br i1 %tobool6, label %if.end8, label %if.else + +if.else: ; preds = %for.end + call void @__assert_fail(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.14.154, i64 0, i64 0), i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.141, i64 0, i64 0), i32 55, i8* getelementptr inbounds ([88 x i8], [88 x i8]* @__PRETTY_FUNCTION__.__create_new_dfile, i64 0, i64 0)) #26 + unreachable + +if.end8: ; preds = %for.end + %13 = load i32, i32* %size.addr, align 4 + %14 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size9 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %14, i32 0, i32 0 + store i32 %13, i32* %size9, align 8 + %15 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size10 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %15, i32 0, i32 0 + %16 = load i32, i32* %size10, align 8 + %conv = zext i32 %16 to i64 + %call11 = call noalias i8* @malloc(i64 %conv) #11 + %17 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %contents = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %17, i32 0, i32 1 + store i8* %call11, i8** %contents, align 8 + %18 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %contents12 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %18, i32 0, i32 1 + %19 = load i8*, i8** %contents12, align 8 + %tobool13 = icmp ne i8* %19, null + br i1 %tobool13, label %if.end15, label %if.then14 + +if.then14: ; preds = %if.end8 + call void @gs_report_error.144(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.141, i64 0, i64 0), i32 60, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.142, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.143, i64 0, i64 0)) #24 + unreachable + +if.end15: ; preds = %if.end8 + %20 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %contents16 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %20, i32 0, i32 1 + %21 = load i8*, i8** %contents16, align 8 + %22 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size17 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %22, i32 0, i32 0 + %23 = load i32, i32* %size17, align 8 + %conv18 = zext i32 %23 to i64 + %24 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %21, i64 %conv18, i8* %24) + %25 = load %struct.stat64*, %struct.stat64** %s, align 8 + %26 = bitcast %struct.stat64* %25 to i8* + %arraydecay = getelementptr inbounds [64 x i8], [64 x i8]* %sname, i64 0, i64 0 + call void (i8*, i64, ...) @make_symbolic(i8* %26, i64 144, i8* %arraydecay) + %27 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %27, i32 0, i32 1 + %28 = load i64, i64* %st_ino, align 8 + %call19 = call i32 @gs_is_symbolic(i64 %28) + %tobool20 = icmp ne i32 %call19, 0 + br i1 %tobool20, label %if.end26, label %land.lhs.true + +land.lhs.true: ; preds = %if.end15 + %29 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino21 = getelementptr inbounds %struct.stat64, %struct.stat64* %29, i32 0, i32 1 + %30 = load i64, i64* %st_ino21, align 8 + %and = and i64 %30, 2147483647 + %cmp = icmp eq i64 %and, 0 + br i1 %cmp, label %if.then23, label %if.end26 + +if.then23: ; preds = %land.lhs.true + %31 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_ino24 = getelementptr inbounds %struct.stat64, %struct.stat64* %31, i32 0, i32 1 + %32 = load i64, i64* %st_ino24, align 8 + %33 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino25 = getelementptr inbounds %struct.stat64, %struct.stat64* %33, i32 0, i32 1 + store i64 %32, i64* %st_ino25, align 8 + br label %if.end26 + +if.end26: ; preds = %if.then23, %land.lhs.true, %if.end15 + %34 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino27 = getelementptr inbounds %struct.stat64, %struct.stat64* %34, i32 0, i32 1 + %35 = load i64, i64* %st_ino27, align 8 + %and28 = and i64 %35, 2147483647 + %cmp29 = icmp ne i64 %and28, 0 + call void @gs_assume(i1 zeroext %cmp29) + %36 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_blksize = getelementptr inbounds %struct.stat64, %struct.stat64* %36, i32 0, i32 9 + %37 = load i64, i64* %st_blksize, align 8 + %and31 = and i64 %37, -65536 + %cmp32 = icmp eq i64 %and31, 0 + call void @gs_assume(i1 zeroext %cmp32) + %38 = load %struct.stat64*, %struct.stat64** %s, align 8 + %39 = bitcast %struct.stat64* %38 to i8* + %40 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %40, i32 0, i32 3 + %41 = load i32, i32* %st_mode, align 8 + %and34 = and i32 %41, -61952 + %tobool35 = icmp ne i32 %and34, 0 + %lnot = xor i1 %tobool35, true + call void @gs_prefer_cex(i8* %39, i1 zeroext %lnot) + %42 = load %struct.stat64*, %struct.stat64** %s, align 8 + %43 = bitcast %struct.stat64* %42 to i8* + %44 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_dev = getelementptr inbounds %struct.stat64, %struct.stat64* %44, i32 0, i32 0 + %45 = load i64, i64* %st_dev, align 8 + %46 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_dev36 = getelementptr inbounds %struct.stat64, %struct.stat64* %46, i32 0, i32 0 + %47 = load i64, i64* %st_dev36, align 8 + %cmp37 = icmp eq i64 %45, %47 + call void @gs_prefer_cex(i8* %43, i1 zeroext %cmp37) + %48 = load %struct.stat64*, %struct.stat64** %s, align 8 + %49 = bitcast %struct.stat64* %48 to i8* + %50 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_rdev = getelementptr inbounds %struct.stat64, %struct.stat64* %50, i32 0, i32 7 + %51 = load i64, i64* %st_rdev, align 8 + %52 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_rdev39 = getelementptr inbounds %struct.stat64, %struct.stat64* %52, i32 0, i32 7 + %53 = load i64, i64* %st_rdev39, align 8 + %cmp40 = icmp eq i64 %51, %53 + call void @gs_prefer_cex(i8* %49, i1 zeroext %cmp40) + %54 = load %struct.stat64*, %struct.stat64** %s, align 8 + %55 = bitcast %struct.stat64* %54 to i8* + %56 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode42 = getelementptr inbounds %struct.stat64, %struct.stat64* %56, i32 0, i32 3 + %57 = load i32, i32* %st_mode42, align 8 + %and43 = and i32 %57, 448 + %cmp44 = icmp eq i32 %and43, 384 + call void @gs_prefer_cex(i8* %55, i1 zeroext %cmp44) + %58 = load %struct.stat64*, %struct.stat64** %s, align 8 + %59 = bitcast %struct.stat64* %58 to i8* + %60 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode46 = getelementptr inbounds %struct.stat64, %struct.stat64* %60, i32 0, i32 3 + %61 = load i32, i32* %st_mode46, align 8 + %and47 = and i32 %61, 56 + %cmp48 = icmp eq i32 %and47, 32 + call void @gs_prefer_cex(i8* %59, i1 zeroext %cmp48) + %62 = load %struct.stat64*, %struct.stat64** %s, align 8 + %63 = bitcast %struct.stat64* %62 to i8* + %64 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode50 = getelementptr inbounds %struct.stat64, %struct.stat64* %64, i32 0, i32 3 + %65 = load i32, i32* %st_mode50, align 8 + %and51 = and i32 %65, 7 + %cmp52 = icmp eq i32 %and51, 4 + call void @gs_prefer_cex(i8* %63, i1 zeroext %cmp52) + %66 = load %struct.stat64*, %struct.stat64** %s, align 8 + %67 = bitcast %struct.stat64* %66 to i8* + %68 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode54 = getelementptr inbounds %struct.stat64, %struct.stat64* %68, i32 0, i32 3 + %69 = load i32, i32* %st_mode54, align 8 + %and55 = and i32 %69, 61440 + %cmp56 = icmp eq i32 %and55, 32768 + call void @gs_prefer_cex(i8* %67, i1 zeroext %cmp56) + %70 = load %struct.stat64*, %struct.stat64** %s, align 8 + %71 = bitcast %struct.stat64* %70 to i8* + %72 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_nlink = getelementptr inbounds %struct.stat64, %struct.stat64* %72, i32 0, i32 2 + %73 = load i64, i64* %st_nlink, align 8 + %cmp58 = icmp eq i64 %73, 1 + call void @gs_prefer_cex(i8* %71, i1 zeroext %cmp58) + %74 = load %struct.stat64*, %struct.stat64** %s, align 8 + %75 = bitcast %struct.stat64* %74 to i8* + %76 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_uid = getelementptr inbounds %struct.stat64, %struct.stat64* %76, i32 0, i32 4 + %77 = load i32, i32* %st_uid, align 4 + %78 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_uid60 = getelementptr inbounds %struct.stat64, %struct.stat64* %78, i32 0, i32 4 + %79 = load i32, i32* %st_uid60, align 4 + %cmp61 = icmp eq i32 %77, %79 + call void @gs_prefer_cex(i8* %75, i1 zeroext %cmp61) + %80 = load %struct.stat64*, %struct.stat64** %s, align 8 + %81 = bitcast %struct.stat64* %80 to i8* + %82 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_gid = getelementptr inbounds %struct.stat64, %struct.stat64* %82, i32 0, i32 5 + %83 = load i32, i32* %st_gid, align 8 + %84 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_gid63 = getelementptr inbounds %struct.stat64, %struct.stat64* %84, i32 0, i32 5 + %85 = load i32, i32* %st_gid63, align 8 + %cmp64 = icmp eq i32 %83, %85 + call void @gs_prefer_cex(i8* %81, i1 zeroext %cmp64) + %86 = load %struct.stat64*, %struct.stat64** %s, align 8 + %87 = bitcast %struct.stat64* %86 to i8* + %88 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_blksize66 = getelementptr inbounds %struct.stat64, %struct.stat64* %88, i32 0, i32 9 + %89 = load i64, i64* %st_blksize66, align 8 + %cmp67 = icmp eq i64 %89, 4096 + call void @gs_prefer_cex(i8* %87, i1 zeroext %cmp67) + %90 = load %struct.stat64*, %struct.stat64** %s, align 8 + %91 = bitcast %struct.stat64* %90 to i8* + %92 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_atim = getelementptr inbounds %struct.stat64, %struct.stat64* %92, i32 0, i32 11 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim, i32 0, i32 0 + %93 = load i64, i64* %tv_sec, align 8 + %94 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_atim69 = getelementptr inbounds %struct.stat64, %struct.stat64* %94, i32 0, i32 11 + %tv_sec70 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim69, i32 0, i32 0 + %95 = load i64, i64* %tv_sec70, align 8 + %cmp71 = icmp eq i64 %93, %95 + call void @gs_prefer_cex(i8* %91, i1 zeroext %cmp71) + %96 = load %struct.stat64*, %struct.stat64** %s, align 8 + %97 = bitcast %struct.stat64* %96 to i8* + %98 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mtim = getelementptr inbounds %struct.stat64, %struct.stat64* %98, i32 0, i32 12 + %tv_sec73 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim, i32 0, i32 0 + %99 = load i64, i64* %tv_sec73, align 8 + %100 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_mtim74 = getelementptr inbounds %struct.stat64, %struct.stat64* %100, i32 0, i32 12 + %tv_sec75 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim74, i32 0, i32 0 + %101 = load i64, i64* %tv_sec75, align 8 + %cmp76 = icmp eq i64 %99, %101 + call void @gs_prefer_cex(i8* %97, i1 zeroext %cmp76) + %102 = load %struct.stat64*, %struct.stat64** %s, align 8 + %103 = bitcast %struct.stat64* %102 to i8* + %104 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ctim = getelementptr inbounds %struct.stat64, %struct.stat64* %104, i32 0, i32 13 + %tv_sec78 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim, i32 0, i32 0 + %105 = load i64, i64* %tv_sec78, align 8 + %106 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_ctim79 = getelementptr inbounds %struct.stat64, %struct.stat64* %106, i32 0, i32 13 + %tv_sec80 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim79, i32 0, i32 0 + %107 = load i64, i64* %tv_sec80, align 8 + %cmp81 = icmp eq i64 %105, %107 + call void @gs_prefer_cex(i8* %103, i1 zeroext %cmp81) + %108 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size83 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %108, i32 0, i32 0 + %109 = load i32, i32* %size83, align 8 + %conv84 = zext i32 %109 to i64 + %110 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_size = getelementptr inbounds %struct.stat64, %struct.stat64* %110, i32 0, i32 8 + store i64 %conv84, i64* %st_size, align 8 + %111 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_blocks = getelementptr inbounds %struct.stat64, %struct.stat64* %111, i32 0, i32 10 + store i64 8, i64* %st_blocks, align 8 + %112 = load %struct.stat64*, %struct.stat64** %s, align 8 + %113 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %113, i32 0, i32 2 + store %struct.stat64* %112, %struct.stat64** %stat, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__sym_uint32(i8* %name) #3 { +entry: + %name.addr = alloca i8*, align 8 + %x = alloca i32, align 4 + store i8* %name, i8** %name.addr, align 8 + %0 = bitcast i32* %x to i8* + %1 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %0, i64 4, i8* %1) + %2 = load i32, i32* %x, align 4 + ret i32 %2 +} + +declare dso_local void @gs_prefer_cex(i8*, i1 zeroext) #5 + +; Function Attrs: noinline nounwind uwtable +define weak hidden i32 @__syscall_rt_sigaction(i32 %signum, %struct.sigaction.800* %act, %struct.sigaction.800* %oldact, i64 %_something) #3 { +entry: + %signum.addr = alloca i32, align 4 + %act.addr = alloca %struct.sigaction.800*, align 8 + %oldact.addr = alloca %struct.sigaction.800*, align 8 + %_something.addr = alloca i64, align 8 + store i32 %signum, i32* %signum.addr, align 4 + store %struct.sigaction.800* %act, %struct.sigaction.800** %act.addr, align 8 + store %struct.sigaction.800* %oldact, %struct.sigaction.800** %oldact.addr, align 8 + store i64 %_something, i64* %_something.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.156, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @sigaction(i32 %signum, %struct.sigaction.800* %act, %struct.sigaction.800* %oldact) #3 { +entry: + %signum.addr = alloca i32, align 4 + %act.addr = alloca %struct.sigaction.800*, align 8 + %oldact.addr = alloca %struct.sigaction.800*, align 8 + store i32 %signum, i32* %signum.addr, align 4 + store %struct.sigaction.800* %act, %struct.sigaction.800** %act.addr, align 8 + store %struct.sigaction.800* %oldact, %struct.sigaction.800** %oldact.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.156, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @sigprocmask(i32 %how, %struct.fd_set* %set, %struct.fd_set* %oldset) #3 { +entry: + %how.addr = alloca i32, align 4 + %set.addr = alloca %struct.fd_set*, align 8 + %oldset.addr = alloca %struct.fd_set*, align 8 + store i32 %how, i32* %how.addr, align 4 + store %struct.fd_set* %set, %struct.fd_set** %set.addr, align 8 + store %struct.fd_set* %oldset, %struct.fd_set** %oldset.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.156, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @fdatasync(i32 %fd) #3 { +entry: + %fd.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local void @sync() #3 { +entry: + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @__socketcall(i32 %type, i32* %args) #3 { +entry: + %type.addr = alloca i32, align 4 + %args.addr = alloca i32*, align 8 + store i32 %type, i32* %type.addr, align 4 + store i32* %args, i32** %args.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.1.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 97, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @gs_warning.162(i8* %message) #3 { +entry: + %message.addr = alloca i8*, align 8 + store i8* %message, i8** %message.addr, align 8 + %0 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %0) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.11.163, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @_IO_getc(%struct._IO_FILE* %f) #3 { +entry: + %f.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %f, %struct._IO_FILE** %f.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %f.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %0) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @_IO_putc(i32 %c, %struct._IO_FILE* %f) #3 { +entry: + %c.addr = alloca i32, align 4 + %f.addr = alloca %struct._IO_FILE*, align 8 + store i32 %c, i32* %c.addr, align 4 + store %struct._IO_FILE* %f, %struct._IO_FILE** %f.addr, align 8 + %0 = load i32, i32* %c.addr, align 4 + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %f.addr, align 8 + %call = call i32 bitcast (i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked to i32 (i32, %struct._IO_FILE*)*)(i32 %0, %struct._IO_FILE* %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mkdir(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2.166, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 5, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mkfifo(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2.166, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 5, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mknod(i8* nonnull %pathname, i32 %mode, i64 %dev) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + %dev.addr = alloca i64, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + store i64 %dev, i64* %dev.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2.166, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 5, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @pipe(i32* %filedes) #3 { +entry: + %filedes.addr = alloca i32*, align 8 + store i32* %filedes, i32** %filedes.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.3.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 23, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @link(i8* nonnull %oldpath, i8* nonnull %newpath) #3 { +entry: + %oldpath.addr = alloca i8*, align 8 + %newpath.addr = alloca i8*, align 8 + store i8* %oldpath, i8** %oldpath.addr, align 8 + store i8* %newpath, i8** %newpath.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @symlink(i8* nonnull %oldpath, i8* nonnull %newpath) #3 { +entry: + %oldpath.addr = alloca i8*, align 8 + %newpath.addr = alloca i8*, align 8 + store i8* %oldpath, i8** %oldpath.addr, align 8 + store i8* %newpath, i8** %newpath.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @rename(i8* %oldpath, i8* %newpath) #3 { +entry: + %oldpath.addr = alloca i8*, align 8 + %newpath.addr = alloca i8*, align 8 + store i8* %oldpath, i8** %oldpath.addr, align 8 + store i8* %newpath, i8** %newpath.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @nanosleep(%struct.timespec* %req, %struct.timespec* %rem) #3 { +entry: + %req.addr = alloca %struct.timespec*, align 8 + %rem.addr = alloca %struct.timespec*, align 8 + store %struct.timespec* %req, %struct.timespec** %req.addr, align 8 + store %struct.timespec* %rem, %struct.timespec** %rem.addr, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @clock_gettime(i32 %clk_id, %struct.timespec* %res) #3 { +entry: + %clk_id.addr = alloca i32, align 4 + %res.addr = alloca %struct.timespec*, align 8 + %tv = alloca %struct.timespec, align 8 + store i32 %clk_id, i32* %clk_id.addr, align 4 + store %struct.timespec* %res, %struct.timespec** %res.addr, align 8 + %call = call i32 @gettimeofday(%struct.timespec* %tv, i8* null) #11 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %0 = load i64, i64* %tv_sec, align 8 + %1 = load %struct.timespec*, %struct.timespec** %res.addr, align 8 + %tv_sec1 = getelementptr inbounds %struct.timespec, %struct.timespec* %1, i32 0, i32 0 + store i64 %0, i64* %tv_sec1, align 8 + %tv_usec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 1 + %2 = load i64, i64* %tv_usec, align 8 + %mul = mul nsw i64 %2, 1000 + %3 = load %struct.timespec*, %struct.timespec** %res.addr, align 8 + %tv_nsec = getelementptr inbounds %struct.timespec, %struct.timespec* %3, i32 0, i32 1 + store i64 %mul, i64* %tv_nsec, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @clock_settime(i32 %clk_id, %struct.timespec* %res) #3 { +entry: + %clk_id.addr = alloca i32, align 4 + %res.addr = alloca %struct.timespec*, align 8 + store i32 %clk_id, i32* %clk_id.addr, align 4 + store %struct.timespec* %res, %struct.timespec** %res.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @time(i64* %t) #3 { +entry: + %t.addr = alloca i64*, align 8 + %tv = alloca %struct.timespec, align 8 + store i64* %t, i64** %t.addr, align 8 + %call = call i32 @gettimeofday(%struct.timespec* %tv, i8* null) #11 + %0 = load i64*, i64** %t.addr, align 8 + %tobool = icmp ne i64* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %1 = load i64, i64* %tv_sec, align 8 + %2 = load i64*, i64** %t.addr, align 8 + store i64 %1, i64* %2, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %tv_sec1 = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %3 = load i64, i64* %tv_sec1, align 8 + ret i64 %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @times(%struct.tms* %buf) #3 { +entry: + %buf.addr = alloca %struct.tms*, align 8 + store %struct.tms* %buf, %struct.tms** %buf.addr, align 8 + %0 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tobool = icmp ne %struct.tms* %0, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + call void @gs_warning.162(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.5.169, i64 0, i64 0)) + br label %if.end + +if.else: ; preds = %entry + call void @gs_warning.162(i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.6.170, i64 0, i64 0)) + %1 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_utime = getelementptr inbounds %struct.tms, %struct.tms* %1, i32 0, i32 0 + store i64 0, i64* %tms_utime, align 8 + %2 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_stime = getelementptr inbounds %struct.tms, %struct.tms* %2, i32 0, i32 1 + store i64 0, i64* %tms_stime, align 8 + %3 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_cutime = getelementptr inbounds %struct.tms, %struct.tms* %3, i32 0, i32 2 + store i64 0, i64* %tms_cutime, align 8 + %4 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_cstime = getelementptr inbounds %struct.tms, %struct.tms* %4, i32 0, i32 3 + store i64 0, i64* %tms_cstime, align 8 + br label %if.end + +if.end: ; preds = %if.else, %if.then + ret i64 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local %struct.utmpx* @getutxent() #3 { +entry: + %call = call %struct.utmp* bitcast (%struct.utmp.323* ()* @getutent to %struct.utmp* ()*)() #11 + %0 = bitcast %struct.utmp* %call to %struct.utmpx* + ret %struct.utmpx* %0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local void @setutxent() #3 { +entry: + call void @setutent() #11 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local void @endutxent() #3 { +entry: + call void @endutent() #11 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @utmpxname(i8* %file) #3 { +entry: + %file.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + %call = call i32 @utmpname(i8* %0) #11 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @euidaccess(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %1 = load i32, i32* %mode.addr, align 4 + %call = call i32 @access(i8* %0, i32 %1) #11 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @eaccess(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %1 = load i32, i32* %mode.addr, align 4 + %call = call i32 @euidaccess(i8* %0, i32 %1) #11 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @group_member(i32 %__gid) #3 { +entry: + %__gid.addr = alloca i32, align 4 + store i32 %__gid, i32* %__gid.addr, align 4 + %0 = load i32, i32* %__gid.addr, align 4 + %call = call i32 @getgid() #11 + %cmp = icmp eq i32 %0, %call + br i1 %cmp, label %lor.end, label %lor.rhs + +lor.rhs: ; preds = %entry + %1 = load i32, i32* %__gid.addr, align 4 + %call1 = call i32 @getegid() #11 + %cmp2 = icmp eq i32 %1, %call1 + br label %lor.end + +lor.end: ; preds = %lor.rhs, %entry + %2 = phi i1 [ true, %entry ], [ %cmp2, %lor.rhs ] + %lor.ext = zext i1 %2 to i32 + ret i32 %lor.ext +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @utime(i8* nonnull %filename, %struct.timespec* %buf) #3 { +entry: + %filename.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.timespec*, align 8 + store i8* %filename, i8** %filename.addr, align 8 + store %struct.timespec* %buf, %struct.timespec** %buf.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @futimes(i32 %fd, %struct.timespec* %times) #3 { +entry: + %fd.addr = alloca i32, align 4 + %times.addr = alloca %struct.timespec*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.timespec* %times, %struct.timespec** %times.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.7.171, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 9, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind readonly uwtable +define dso_local i32 @strverscmp(i8* nonnull %__s1, i8* nonnull %__s2) #15 { +entry: + %__s1.addr = alloca i8*, align 8 + %__s2.addr = alloca i8*, align 8 + store i8* %__s1, i8** %__s1.addr, align 8 + store i8* %__s2, i8** %__s2.addr, align 8 + %0 = load i8*, i8** %__s1.addr, align 8 + %1 = load i8*, i8** %__s2.addr, align 8 + %call = call i32 @strcmp(i8* %0, i8* %1) #23 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @gnu_dev_major(i64 %__dev) #3 { +entry: + %__dev.addr = alloca i64, align 8 + store i64 %__dev, i64* %__dev.addr, align 8 + %0 = load i64, i64* %__dev.addr, align 8 + %shr = lshr i64 %0, 8 + %and = and i64 %shr, 4095 + %1 = load i64, i64* %__dev.addr, align 8 + %shr1 = lshr i64 %1, 32 + %conv = trunc i64 %shr1 to i32 + %and2 = and i32 %conv, -4096 + %conv3 = zext i32 %and2 to i64 + %or = or i64 %and, %conv3 + %conv4 = trunc i64 %or to i32 + ret i32 %conv4 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @gnu_dev_minor(i64 %__dev) #3 { +entry: + %__dev.addr = alloca i64, align 8 + store i64 %__dev, i64* %__dev.addr, align 8 + %0 = load i64, i64* %__dev.addr, align 8 + %and = and i64 %0, 255 + %1 = load i64, i64* %__dev.addr, align 8 + %shr = lshr i64 %1, 12 + %conv = trunc i64 %shr to i32 + %and1 = and i32 %conv, -256 + %conv2 = zext i32 %and1 to i64 + %or = or i64 %and, %conv2 + %conv3 = trunc i64 %or to i32 + ret i32 %conv3 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i64 @gnu_dev_makedev(i32 %__major, i32 %__minor) #3 { +entry: + %__major.addr = alloca i32, align 4 + %__minor.addr = alloca i32, align 4 + store i32 %__major, i32* %__major.addr, align 4 + store i32 %__minor, i32* %__minor.addr, align 4 + %0 = load i32, i32* %__minor.addr, align 4 + %and = and i32 %0, 255 + %1 = load i32, i32* %__major.addr, align 4 + %and1 = and i32 %1, 4095 + %shl = shl i32 %and1, 8 + %or = or i32 %and, %shl + %conv = zext i32 %or to i64 + %2 = load i32, i32* %__minor.addr, align 4 + %and2 = and i32 %2, -256 + %conv3 = zext i32 %and2 to i64 + %shl4 = shl i64 %conv3, 12 + %or5 = or i64 %conv, %shl4 + %3 = load i32, i32* %__major.addr, align 4 + %and6 = and i32 %3, -4096 + %conv7 = zext i32 %and6 to i64 + %shl8 = shl i64 %conv7, 32 + %or9 = or i64 %or5, %shl8 + ret i64 %or9 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i8* @canonicalize_file_name(i8* nonnull %name) #3 { +entry: + %retval = alloca i8*, align 8 + %name.addr = alloca i8*, align 8 + %resolved_name = alloca i8*, align 8 + store i8* %name, i8** %name.addr, align 8 + %call = call noalias i8* @malloc(i64 4096) #11 + store i8* %call, i8** %resolved_name, align 8 + %0 = load i8*, i8** %resolved_name, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %name.addr, align 8 + %2 = load i8*, i8** %resolved_name, align 8 + %call1 = call i8* @realpath(i8* %1, i8* %2) #11 + %tobool2 = icmp ne i8* %call1, null + %3 = load i8*, i8** %resolved_name, align 8 + br i1 %tobool2, label %if.end4, label %if.then3 + +if.then3: ; preds = %if.end + call void @free(i8* %3) #11 + store i8* null, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %if.end + store i8* %3, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %4 = load i8*, i8** %retval, align 8 + ret i8* %4 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @getloadavg(double* nonnull %loadavg, i32 %nelem) #3 { +entry: + %loadavg.addr = alloca double*, align 8 + %nelem.addr = alloca i32, align 4 + store double* %loadavg, double** %loadavg.addr, align 8 + store i32 %nelem, i32* %nelem.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.8.174, i64 0, i64 0)) + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @wait(i32* %status) #3 { +entry: + %status.addr = alloca i32*, align 8 + store i32* %status, i32** %status.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.175, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @wait3(i32* %status, i32 %options, %struct.rusage* %rusage) #3 { +entry: + %status.addr = alloca i32*, align 8 + %options.addr = alloca i32, align 4 + %rusage.addr = alloca %struct.rusage*, align 8 + store i32* %status, i32** %status.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + store %struct.rusage* %rusage, %struct.rusage** %rusage.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.175, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @wait4(i32 %pid, i32* %status, i32 %options, %struct.rusage* %rusage) #3 { +entry: + %pid.addr = alloca i32, align 4 + %status.addr = alloca i32*, align 8 + %options.addr = alloca i32, align 4 + %rusage.addr = alloca %struct.rusage*, align 8 + store i32 %pid, i32* %pid.addr, align 4 + store i32* %status, i32** %status.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + store %struct.rusage* %rusage, %struct.rusage** %rusage.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.175, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @waitpid(i32 %pid, i32* %status, i32 %options) #3 { +entry: + %pid.addr = alloca i32, align 4 + %status.addr = alloca i32*, align 8 + %options.addr = alloca i32, align 4 + store i32 %pid, i32* %pid.addr, align 4 + store i32* %status, i32** %status.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.175, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @waitid(i32 %idtype, i32 %id, %struct.siginfo_t* %infop, i32 %options) #3 { +entry: + %idtype.addr = alloca i32, align 4 + %id.addr = alloca i32, align 4 + %infop.addr = alloca %struct.siginfo_t*, align 8 + %options.addr = alloca i32, align 4 + store i32 %idtype, i32* %idtype.addr, align 4 + store i32 %id, i32* %id.addr, align 4 + store %struct.siginfo_t* %infop, %struct.siginfo_t** %infop.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.175, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mount(i8* %source, i8* %target, i8* %filesystemtype, i64 %mountflags, i8* %data) #3 { +entry: + %source.addr = alloca i8*, align 8 + %target.addr = alloca i8*, align 8 + %filesystemtype.addr = alloca i8*, align 8 + %mountflags.addr = alloca i64, align 8 + %data.addr = alloca i8*, align 8 + store i8* %source, i8** %source.addr, align 8 + store i8* %target, i8** %target.addr, align 8 + store i8* %filesystemtype, i8** %filesystemtype.addr, align 8 + store i64 %mountflags, i64* %mountflags.addr, align 8 + store i8* %data, i8** %data.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @umount(i8* %target) #3 { +entry: + %target.addr = alloca i8*, align 8 + store i8* %target, i8** %target.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @umount2(i8* %target, i32 %flags) #3 { +entry: + %target.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + store i8* %target, i8** %target.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @swapon(i8* %path, i32 %swapflags) #3 { +entry: + %path.addr = alloca i8*, align 8 + %swapflags.addr = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store i32 %swapflags, i32* %swapflags.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @swapoff(i8* %path) #3 { +entry: + %path.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setgid(i32 %gid) #3 { +entry: + %gid.addr = alloca i32, align 4 + store i32 %gid, i32* %gid.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.10.176, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setgroups(i64 %size, i32* %list) #3 { +entry: + %size.addr = alloca i64, align 8 + %list.addr = alloca i32*, align 8 + store i64 %size, i64* %size.addr, align 8 + store i32* %list, i32** %list.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @sethostname(i8* nonnull %name, i64 %len) #3 { +entry: + %name.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + store i8* %name, i8** %name.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setpgid(i32 %pid, i32 %pgid) #3 { +entry: + %pid.addr = alloca i32, align 4 + %pgid.addr = alloca i32, align 4 + store i32 %pid, i32* %pid.addr, align 4 + store i32 %pgid, i32* %pgid.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setpgrp() #3 { +entry: + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setpriority(i32 %which, i32 %who, i32 %prio) #3 { +entry: + %which.addr = alloca i32, align 4 + %who.addr = alloca i32, align 4 + %prio.addr = alloca i32, align 4 + store i32 %which, i32* %which.addr, align 4 + store i32 %who, i32* %who.addr, align 4 + store i32 %prio, i32* %prio.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setresgid(i32 %rgid, i32 %egid, i32 %sgid) #3 { +entry: + %rgid.addr = alloca i32, align 4 + %egid.addr = alloca i32, align 4 + %sgid.addr = alloca i32, align 4 + store i32 %rgid, i32* %rgid.addr, align 4 + store i32 %egid, i32* %egid.addr, align 4 + store i32 %sgid, i32* %sgid.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setresuid(i32 %ruid, i32 %euid, i32 %suid) #3 { +entry: + %ruid.addr = alloca i32, align 4 + %euid.addr = alloca i32, align 4 + %suid.addr = alloca i32, align 4 + store i32 %ruid, i32* %ruid.addr, align 4 + store i32 %euid, i32* %euid.addr, align 4 + store i32 %suid, i32* %suid.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setrlimit(i32 %resource, %struct.timespec* %rlim) #3 { +entry: + %resource.addr = alloca i32, align 4 + %rlim.addr = alloca %struct.timespec*, align 8 + store i32 %resource, i32* %resource.addr, align 4 + store %struct.timespec* %rlim, %struct.timespec** %rlim.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setrlimit64(i32 %resource, %struct.timespec* %rlim) #3 { +entry: + %resource.addr = alloca i32, align 4 + %rlim.addr = alloca %struct.timespec*, align 8 + store i32 %resource, i32* %resource.addr, align 4 + store %struct.timespec* %rlim, %struct.timespec** %rlim.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setsid() #3 { +entry: + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @settimeofday(%struct.timespec* %tv, %struct.__mbstate_t.512* %tz) #3 { +entry: + %tv.addr = alloca %struct.timespec*, align 8 + %tz.addr = alloca %struct.__mbstate_t.512*, align 8 + store %struct.timespec* %tv, %struct.timespec** %tv.addr, align 8 + store %struct.__mbstate_t.512* %tz, %struct.__mbstate_t.512** %tz.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setuid(i32 %uid) #3 { +entry: + %uid.addr = alloca i32, align 4 + store i32 %uid, i32* %uid.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.10.176, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @reboot(i32 %flag) #3 { +entry: + %flag.addr = alloca i32, align 4 + store i32 %flag, i32* %flag.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mlock(i8* %addr, i64 %len) #3 { +entry: + %addr.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + store i8* %addr, i8** %addr.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @munlock(i8* %addr, i64 %len) #3 { +entry: + %addr.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + store i8* %addr, i8** %addr.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @pause() #3 { +entry: + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i64 @readahead(i32 %fd, i64* %offset, i64 %count) #3 { +entry: + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64*, align 8 + %count.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64* %offset, i64** %offset.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i64 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i8* @mmap(i8* %start, i64 %length, i32 %prot, i32 %flags, i32 %fd, i64 %offset) #3 { +entry: + %start.addr = alloca i8*, align 8 + %length.addr = alloca i64, align 8 + %prot.addr = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + store i8* %start, i8** %start.addr, align 8 + store i64 %length, i64* %length.addr, align 8 + store i32 %prot, i32* %prot.addr, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i8* inttoptr (i64 -1 to i8*) +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i8* @mmap64(i8* %start, i64 %length, i32 %prot, i32 %flags, i32 %fd, i64 %offset) #3 { +entry: + %start.addr = alloca i8*, align 8 + %length.addr = alloca i64, align 8 + %prot.addr = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + store i8* %start, i8** %start.addr, align 8 + store i64 %length, i64* %length.addr, align 8 + store i32 %prot, i32* %prot.addr, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i8* inttoptr (i64 -1 to i8*) +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @munmap(i8* %start, i64 %length) #3 { +entry: + %start.addr = alloca i8*, align 8 + %length.addr = alloca i64, align 8 + store i8* %start, i8** %start.addr, align 8 + store i64 %length, i64* %length.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__locale_mbrtowc_l(i32* noalias %dst, i8* noalias %src, %struct.__uclibc_locale_struct.201* %loc) #0 { +entry: + %retval = alloca i32, align 4 + %dst.addr = alloca i32*, align 8 + %src.addr = alloca i8*, align 8 + %loc.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %ps = alloca %struct.__mbstate_t.512, align 4 + %p = alloca i8*, align 8 + %r = alloca i64, align 8 + %wc = alloca i32, align 4 + store i32* %dst, i32** %dst.addr, align 8 + store i8* %src, i8** %src.addr, align 8 + store %struct.__uclibc_locale_struct.201* %loc, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 9 + %1 = load i8, i8* %encoding, align 8 + %conv = zext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 1 + %2 = load i8*, i8** %src.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i8* %2, i8** %p, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %ps, i32 0, i32 0 + store i32 0, i32* %__mask, align 4 + %3 = load i32*, i32** %dst.addr, align 8 + %call = call i64 @_wchar_utf8sntowcs(i32* %3, i64 1, i8** %p, i64 -1, %struct.__mbstate_t.512* %ps, i32 1) #18 + store i64 %call, i64* %r, align 8 + %4 = load i64, i64* %r, align 8 + %cmp2 = icmp eq i64 %4, 1 + %5 = load i8*, i8** %p, align 8 + %6 = load i8*, i8** %src.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %6 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %7 = load i64, i64* %r, align 8 + %cond = select i1 %cmp2, i64 %sub.ptr.sub, i64 %7 + %conv4 = trunc i64 %cond to i32 + store i32 %conv4, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load i8, i8* %2, align 1 + %conv5 = zext i8 %8 to i32 + %9 = load i32*, i32** %dst.addr, align 8 + store i32 %conv5, i32* %9, align 4 + %cmp6 = icmp slt i32 %conv5, 128 + br i1 %cmp6, label %if.then8, label %if.end12 + +if.then8: ; preds = %if.end + %10 = load i8*, i8** %src.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv9 = sext i8 %11 to i32 + %cmp10 = icmp ne i32 %conv9, 0 + %conv11 = zext i1 %cmp10 to i32 + store i32 %conv11, i32* %retval, align 4 + br label %return + +if.end12: ; preds = %if.end + %12 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %encoding13 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %12, i32 0, i32 9 + %13 = load i8, i8* %encoding13, align 8 + %conv14 = zext i8 %13 to i32 + %cmp15 = icmp eq i32 %conv14, 2 + br i1 %cmp15, label %if.then17, label %if.end24 + +if.then17: ; preds = %if.end12 + %14 = load i32*, i32** %dst.addr, align 8 + %15 = load i32, i32* %14, align 4 + %sub = sub nsw i32 %15, 128 + store i32 %sub, i32* %wc, align 4 + %16 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %tbl8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %16, i32 0, i32 17 + %17 = load i16*, i16** %tbl8c2wc, align 8 + %18 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %idx8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %18, i32 0, i32 16 + %19 = load i8*, i8** %idx8c2wc, align 8 + %20 = load i32, i32* %wc, align 4 + %shr = ashr i32 %20, 3 + %idxprom = sext i32 %shr to i64 + %arrayidx = getelementptr inbounds i8, i8* %19, i64 %idxprom + %21 = load i8, i8* %arrayidx, align 1 + %conv18 = zext i8 %21 to i32 + %shl = shl i32 %conv18, 3 + %22 = load i32, i32* %wc, align 4 + %and = and i32 %22, 7 + %add = add nsw i32 %shl, %and + %idxprom19 = sext i32 %add to i64 + %arrayidx20 = getelementptr inbounds i16, i16* %17, i64 %idxprom19 + %23 = load i16, i16* %arrayidx20, align 2 + %conv21 = zext i16 %23 to i32 + %24 = load i32*, i32** %dst.addr, align 8 + store i32 %conv21, i32* %24, align 4 + %25 = load i32*, i32** %dst.addr, align 8 + %26 = load i32, i32* %25, align 4 + %tobool = icmp ne i32 %26, 0 + br i1 %tobool, label %if.then22, label %if.end24 + +if.then22: ; preds = %if.then17 + store i32 1, i32* %retval, align 4 + br label %return + +if.end24: ; preds = %if.then17, %if.end12 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end24, %if.then22, %if.then8, %if.then + %27 = load i32, i32* %retval, align 4 + ret i32 %27 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__raise(i32 %signo) #0 { +entry: + %signo.addr = alloca i32, align 4 + store i32 %signo, i32* %signo.addr, align 4 + %call = call i32 @getpid() #19 + %0 = load i32, i32* %signo.addr, align 4 + %call1 = call i32 @kill(i32 %call, i32 %0) #19 + ret i32 %call1 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__libc_sigaction(i32 %sig, %struct.sigaction.800* %act, %struct.sigaction.800* %oact) #0 { +entry: + %sig.addr = alloca i32, align 4 + %act.addr = alloca %struct.sigaction.800*, align 8 + %oact.addr = alloca %struct.sigaction.800*, align 8 + %result = alloca i32, align 4 + %kact = alloca %struct.kernel_sigaction, align 8 + %koact = alloca %struct.kernel_sigaction, align 8 + store i32 %sig, i32* %sig.addr, align 4 + store %struct.sigaction.800* %act, %struct.sigaction.800** %act.addr, align 8 + store %struct.sigaction.800* %oact, %struct.sigaction.800** %oact.addr, align 8 + %0 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %tobool = icmp ne %struct.sigaction.800* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %__sigaction_handler = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %1, i32 0, i32 0 + %sa_handler = bitcast %union.anon.799* %__sigaction_handler to void (i32)** + %2 = load void (i32)*, void (i32)** %sa_handler, align 8 + %k_sa_handler = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 0 + store void (i32)* %2, void (i32)** %k_sa_handler, align 8 + %sa_mask = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 3 + %3 = bitcast %struct.fd_set* %sa_mask to i8* + %4 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %sa_mask1 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %4, i32 0, i32 1 + %5 = bitcast %struct.fd_set* %sa_mask1 to i8* + %call = call i8* @memcpy(i8* %3, i8* %5, i64 128) #19 + %6 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %sa_flags = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %6, i32 0, i32 2 + %7 = load i32, i32* %sa_flags, align 8 + %conv = sext i32 %7 to i64 + %sa_flags2 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 1 + store i64 %conv, i64* %sa_flags2, align 8 + %8 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %sa_restorer = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %8, i32 0, i32 3 + %9 = load void ()*, void ()** %sa_restorer, align 8 + %sa_restorer3 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 2 + store void ()* %9, void ()** %sa_restorer3, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %10 = load i32, i32* %sig.addr, align 4 + %11 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %tobool4 = icmp ne %struct.sigaction.800* %11, null + %kact. = select i1 %tobool4, %struct.kernel_sigaction* %kact, %struct.kernel_sigaction* null + %12 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %tobool5 = icmp ne %struct.sigaction.800* %12, null + %cond9 = select i1 %tobool5, %struct.kernel_sigaction* %koact, %struct.kernel_sigaction* null + %call10 = call i32 bitcast (i32 (i32, %struct.sigaction.800*, %struct.sigaction.800*, i64)* @__syscall_rt_sigaction to i32 (i32, %struct.kernel_sigaction*, %struct.kernel_sigaction*, i64)*)(i32 %10, %struct.kernel_sigaction* %kact., %struct.kernel_sigaction* %cond9, i64 8) #18 + store i32 %call10, i32* %result, align 4 + %13 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %tobool11 = icmp ne %struct.sigaction.800* %13, null + %14 = load i32, i32* %result, align 4 + %cmp = icmp sge i32 %14, 0 + %or.cond = and i1 %tobool11, %cmp + br i1 %or.cond, label %if.then13, label %if.end25 + +if.then13: ; preds = %if.end + %k_sa_handler14 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 0 + %15 = load void (i32)*, void (i32)** %k_sa_handler14, align 8 + %16 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %__sigaction_handler15 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %16, i32 0, i32 0 + %sa_handler16 = bitcast %union.anon.799* %__sigaction_handler15 to void (i32)** + store void (i32)* %15, void (i32)** %sa_handler16, align 8 + %17 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %sa_mask17 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %17, i32 0, i32 1 + %18 = bitcast %struct.fd_set* %sa_mask17 to i8* + %sa_mask18 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 3 + %19 = bitcast %struct.fd_set* %sa_mask18 to i8* + %call19 = call i8* @memcpy(i8* %18, i8* %19, i64 128) #19 + %sa_flags20 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 1 + %20 = load i64, i64* %sa_flags20, align 8 + %conv21 = trunc i64 %20 to i32 + %21 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %sa_flags22 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %21, i32 0, i32 2 + store i32 %conv21, i32* %sa_flags22, align 8 + %sa_restorer23 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 2 + %22 = load void ()*, void ()** %sa_restorer23, align 8 + %23 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %sa_restorer24 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %23, i32 0, i32 3 + store void ()* %22, void ()** %sa_restorer24, align 8 + br label %if.end25 + +if.end25: ; preds = %if.then13, %if.end + %24 = load i32, i32* %result, align 4 + ret i32 %24 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__sigismember(%struct.fd_set* %__set, i32 %__sig) #0 { +entry: + %__set.addr = alloca %struct.fd_set*, align 8 + %__sig.addr = alloca i32, align 4 + %__mask = alloca i64, align 8 + %__word = alloca i64, align 8 + store %struct.fd_set* %__set, %struct.fd_set** %__set.addr, align 8 + store i32 %__sig, i32* %__sig.addr, align 4 + %0 = load i32, i32* %__sig.addr, align 4 + %sub = sub nsw i32 %0, 1 + %conv = sext i32 %sub to i64 + %rem = urem i64 %conv, 64 + %shl = shl i64 1, %rem + store i64 %shl, i64* %__mask, align 8 + %1 = load i32, i32* %__sig.addr, align 4 + %sub1 = sub nsw i32 %1, 1 + %conv2 = sext i32 %sub1 to i64 + %div = udiv i64 %conv2, 64 + store i64 %div, i64* %__word, align 8 + %2 = load %struct.fd_set*, %struct.fd_set** %__set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %2, i32 0, i32 0 + %3 = load i64, i64* %__word, align 8 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 %3 + %4 = load i64, i64* %arrayidx, align 8 + %5 = load i64, i64* %__mask, align 8 + %and = and i64 %4, %5 + %tobool = icmp ne i64 %and, 0 + %6 = zext i1 %tobool to i64 + %cond = select i1 %tobool, i32 1, i32 0 + ret i32 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__sigaddset(%struct.fd_set* %__set, i32 %__sig) #0 { +entry: + %__set.addr = alloca %struct.fd_set*, align 8 + %__sig.addr = alloca i32, align 4 + %__mask = alloca i64, align 8 + %__word = alloca i64, align 8 + store %struct.fd_set* %__set, %struct.fd_set** %__set.addr, align 8 + store i32 %__sig, i32* %__sig.addr, align 4 + %0 = load i32, i32* %__sig.addr, align 4 + %sub = sub nsw i32 %0, 1 + %conv = sext i32 %sub to i64 + %rem = urem i64 %conv, 64 + %shl = shl i64 1, %rem + store i64 %shl, i64* %__mask, align 8 + %1 = load i32, i32* %__sig.addr, align 4 + %sub1 = sub nsw i32 %1, 1 + %conv2 = sext i32 %sub1 to i64 + %div = udiv i64 %conv2, 64 + store i64 %div, i64* %__word, align 8 + %2 = load i64, i64* %__mask, align 8 + %3 = load %struct.fd_set*, %struct.fd_set** %__set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %3, i32 0, i32 0 + %4 = load i64, i64* %__word, align 8 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 %4 + %5 = load i64, i64* %arrayidx, align 8 + %or = or i64 %5, %2 + store i64 %or, i64* %arrayidx, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__sigdelset(%struct.fd_set* %__set, i32 %__sig) #0 { +entry: + %__set.addr = alloca %struct.fd_set*, align 8 + %__sig.addr = alloca i32, align 4 + %__mask = alloca i64, align 8 + %__word = alloca i64, align 8 + store %struct.fd_set* %__set, %struct.fd_set** %__set.addr, align 8 + store i32 %__sig, i32* %__sig.addr, align 4 + %0 = load i32, i32* %__sig.addr, align 4 + %sub = sub nsw i32 %0, 1 + %conv = sext i32 %sub to i64 + %rem = urem i64 %conv, 64 + %shl = shl i64 1, %rem + store i64 %shl, i64* %__mask, align 8 + %1 = load i32, i32* %__sig.addr, align 4 + %sub1 = sub nsw i32 %1, 1 + %conv2 = sext i32 %sub1 to i64 + %div = udiv i64 %conv2, 64 + store i64 %div, i64* %__word, align 8 + %2 = load i64, i64* %__mask, align 8 + %neg = xor i64 %2, -1 + %3 = load %struct.fd_set*, %struct.fd_set** %__set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %3, i32 0, i32 0 + %4 = load i64, i64* %__word, align 8 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 %4 + %5 = load i64, i64* %arrayidx, align 8 + %and = and i64 %5, %neg + store i64 %and, i64* %arrayidx, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %bufsize = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 5 + %1 = load i8*, i8** %__bufpos, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 3 + %3 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %1 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %3 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %bufsize, align 8 + %cmp = icmp ne i64 %sub.ptr.sub, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 3 + %5 = load i8*, i8** %__bufstart1, align 8 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 5 + store i8* %5, i8** %__bufpos2, align 8 + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart3 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 3 + %9 = load i8*, i8** %__bufstart3, align 8 + %10 = load i64, i64* %bufsize, align 8 + %call = call i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %7, i8* %9, i64 %10) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos4 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 5 + %12 = load i8*, i8** %__bufpos4, align 8 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart5 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 3 + %14 = load i8*, i8** %__bufstart5, align 8 + %sub.ptr.lhs.cast6 = ptrtoint i8* %12 to i64 + %sub.ptr.rhs.cast7 = ptrtoint i8* %14 to i64 + %sub.ptr.sub8 = sub i64 %sub.ptr.lhs.cast6, %sub.ptr.rhs.cast7 + ret i64 %sub.ptr.sub8 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__fgetc_unlocked(%struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %uc = alloca i8, align 1 + %uc56 = alloca i8, align 1 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 5 + %1 = load i8*, i8** %__bufpos, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 7 + %3 = load i8*, i8** %__bufgetc_u, align 8 + %cmp = icmp ult i8* %1, %3 + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 5 + %5 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + %6 = load i8, i8* %5, align 1 + %conv = zext i8 %6 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 0 + %7 = load i16, i16* %__modeflags, align 8 + %conv2 = zext i16 %7 to i32 + %and = and i32 %conv2, 131 + %cmp3 = icmp ugt i32 %and, 128 + br i1 %cmp3, label %if.then5, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2r_o(%struct.__STDIO_FILE_STRUCT.568* %8, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end63, label %if.then5 + +if.then5: ; preds = %lor.lhs.false, %if.end + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %9, i32 0, i32 0 + %10 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %10 to i32 + %and8 = and i32 %conv7, 2 + %tobool9 = icmp ne i32 %and8, 0 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %tobool9, label %if.then10, label %if.end18 + +if.then10: ; preds = %if.then5 + %__ungot = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 10 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags11 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags11, align 8 + %dec = add i16 %13, -1 + store i16 %dec, i16* %__modeflags11, align 8 + %conv12 = zext i16 %13 to i32 + %and13 = and i32 %conv12, 1 + %idxprom = sext i32 %and13 to i64 + %arrayidx = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot, i64 0, i64 %idxprom + %14 = load i32, i32* %arrayidx, align 4 + %conv14 = trunc i32 %14 to i8 + store i8 %conv14, i8* %uc, align 1 + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__ungot15 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 10 + %arrayidx16 = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot15, i64 0, i64 1 + store i32 0, i32* %arrayidx16, align 4 + %16 = load i8, i8* %uc, align 1 + %conv17 = zext i8 %16 to i32 + store i32 %conv17, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %if.then5 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 6 + %17 = load i8*, i8** %__bufread, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos19 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 5 + %19 = load i8*, i8** %__bufpos19, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %17 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool20 = icmp ne i64 %sub.ptr.sub, 0 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %tobool20, label %if.then21, label %if.end25 + +if.then21: ; preds = %if.end18 + %__bufpos22 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 5 + %21 = load i8*, i8** %__bufpos22, align 8 + %incdec.ptr23 = getelementptr inbounds i8, i8* %21, i32 1 + store i8* %incdec.ptr23, i8** %__bufpos22, align 8 + %22 = load i8, i8* %21, align 1 + %conv24 = zext i8 %22 to i32 + store i32 %conv24, i32* %retval, align 4 + br label %return + +if.end25: ; preds = %if.end18 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 2 + %23 = load i32, i32* %__filedes, align 4 + %cmp26 = icmp eq i32 %23, -2 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags29 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 0 + %25 = load i16, i16* %__modeflags29, align 8 + %conv30 = zext i16 %25 to i32 + br i1 %cmp26, label %if.then28, label %if.end32 + +if.then28: ; preds = %if.end25 + %or = or i32 %conv30, 4 + %conv31 = trunc i32 %or to i16 + store i16 %conv31, i16* %__modeflags29, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end32: ; preds = %if.end25 + %and35 = and i32 %conv30, 768 + %tobool36 = icmp ne i32 %and35, 0 + br i1 %tobool36, label %if.then37, label %if.end39 + +if.then37: ; preds = %if.end32 + %call38 = call i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.568* bitcast (%struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist to %struct.__STDIO_FILE_STRUCT.568*)) #18 + br label %if.end39 + +if.end39: ; preds = %if.then37, %if.end32 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 4 + %27 = load i8*, i8** %__bufend, align 8 + %28 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %28, i32 0, i32 3 + %29 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast40 = ptrtoint i8* %27 to i64 + %sub.ptr.rhs.cast41 = ptrtoint i8* %29 to i64 + %sub.ptr.sub42 = sub i64 %sub.ptr.lhs.cast40, %sub.ptr.rhs.cast41 + %tobool43 = icmp ne i64 %sub.ptr.sub42, 0 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %tobool43, label %if.then44, label %if.else + +if.then44: ; preds = %if.end39 + %__bufstart45 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %30, i32 0, i32 3 + %31 = load i8*, i8** %__bufstart45, align 8 + %32 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u46 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %32, i32 0, i32 7 + store i8* %31, i8** %__bufgetc_u46, align 8 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call47 = call i64 @__stdio_rfill(%struct.__STDIO_FILE_STRUCT.568* %33) #18 + %tobool48 = icmp ne i64 %call47, 0 + br i1 %tobool48, label %if.then49, label %if.end63 + +if.then49: ; preds = %if.then44 + %34 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread50 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %34, i32 0, i32 6 + %35 = load i8*, i8** %__bufread50, align 8 + %36 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u51 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %36, i32 0, i32 7 + store i8* %35, i8** %__bufgetc_u51, align 8 + %37 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos52 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %37, i32 0, i32 5 + %38 = load i8*, i8** %__bufpos52, align 8 + %incdec.ptr53 = getelementptr inbounds i8, i8* %38, i32 1 + store i8* %incdec.ptr53, i8** %__bufpos52, align 8 + %39 = load i8, i8* %38, align 1 + %conv54 = zext i8 %39 to i32 + store i32 %conv54, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.end39 + %call57 = call i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.568* %30, i8* %uc56, i64 1) #18 + %tobool58 = icmp ne i64 %call57, 0 + br i1 %tobool58, label %if.then59, label %if.end63 + +if.then59: ; preds = %if.else + %40 = load i8, i8* %uc56, align 1 + %conv60 = zext i8 %40 to i32 + store i32 %conv60, i32* %retval, align 4 + br label %return + +if.end63: ; preds = %if.then44, %if.else, %lor.lhs.false + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end63, %if.then59, %if.then49, %if.then28, %if.then21, %if.then10, %if.then + %41 = load i32, i32* %retval, align 4 + ret i32 %41 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @sprintf(i8* noalias %buf, i8* noalias %format, ...) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %format.addr = alloca i8*, align 8 + %arg = alloca [1 x %struct.__va_list_tag.0], align 16 + %rv = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load i8*, i8** %buf.addr, align 8 + %1 = load i8*, i8** %format.addr, align 8 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %call = call i32 @vsnprintf(i8* %0, i64 -1, i8* %1, %struct.__va_list_tag.0* %arraydecay2) #19 + store i32 %call, i32* %rv, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + %2 = load i32, i32* %rv, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @strcmp(i8* nonnull %s1, i8* nonnull %s2) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %r = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + br label %while.cond + +while.cond: ; preds = %land.rhs, %entry + %0 = load i8*, i8** %s1.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = zext i8 %1 to i32 + %2 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %2, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %3 = load i8, i8* %2, align 1 + %conv1 = zext i8 %3 to i32 + %sub = sub nsw i32 %conv, %conv1 + store i32 %sub, i32* %r, align 4 + %cmp = icmp eq i32 %sub, 0 + br i1 %cmp, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %4 = load i8*, i8** %s1.addr, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr3, i8** %s1.addr, align 8 + %5 = load i8, i8* %4, align 1 + %conv4 = sext i8 %5 to i32 + %tobool = icmp ne i32 %conv4, 0 + br i1 %tobool, label %while.cond, label %while.end + +while.end: ; preds = %while.cond, %land.rhs + %6 = load i32, i32* %r, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i64 @strlen(i8* nonnull %s) #14 { +entry: + %s.addr = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load i8*, i8** %p, align 8 + %2 = load i8, i8* %1, align 1 + %tobool = icmp ne i8 %2, 0 + %3 = load i8*, i8** %p, align 8 + br i1 %tobool, label %for.inc, label %for.end + +for.inc: ; preds = %for.cond + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %4 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %3 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %4 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @strncmp(i8* nonnull %s1, i8* nonnull %s2, i64 %n) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i32 0, i32* %r, align 4 + br label %while.cond + +while.cond: ; preds = %land.rhs, %entry + %0 = load i64, i64* %n.addr, align 8 + %dec = add i64 %0, -1 + store i64 %dec, i64* %n.addr, align 8 + %tobool = icmp ne i64 %0, 0 + br i1 %tobool, label %land.lhs.true, label %while.end + +land.lhs.true: ; preds = %while.cond + %1 = load i8*, i8** %s1.addr, align 8 + %2 = load i8, i8* %1, align 1 + %conv = zext i8 %2 to i32 + %3 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %4 = load i8, i8* %3, align 1 + %conv1 = zext i8 %4 to i32 + %sub = sub nsw i32 %conv, %conv1 + store i32 %sub, i32* %r, align 4 + %cmp = icmp eq i32 %sub, 0 + br i1 %cmp, label %land.rhs, label %while.end + +land.rhs: ; preds = %land.lhs.true + %5 = load i8*, i8** %s1.addr, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr3, i8** %s1.addr, align 8 + %6 = load i8, i8* %5, align 1 + %conv4 = sext i8 %6 to i32 + %tobool5 = icmp ne i32 %conv4, 0 + br i1 %tobool5, label %while.cond, label %while.end + +while.end: ; preds = %while.cond, %land.lhs.true, %land.rhs + %7 = load i32, i32* %r, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @isatty(i32 %fd) #0 { +entry: + %fd.addr = alloca i32, align 4 + %term = alloca %struct.termios, align 4 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 @tcgetattr(i32 %0, %struct.termios* %term) #19 + %cmp = icmp eq i32 %call, 0 + %conv = zext i1 %cmp to i32 + ret i32 %conv +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @open64(i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i8*, i8** %pathname.addr, align 8 + %8 = load i32, i32* %flags.addr, align 4 + %9 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_open(i8* %7, i32 %8, i32 %9) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @openat64(i32 %fd, i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %fd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i32, i32* %fd.addr, align 4 + %8 = load i8*, i8** %pathname.addr, align 8 + %9 = load i32, i32* %flags.addr, align 4 + %10 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_openat(i32 %7, i8* %8, i32 %9, i32 %10) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @lseek64(i32 %fd, i64 %offset, i32 %whence) #3 { +entry: + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %offset.addr, align 8 + %2 = load i32, i32* %whence.addr, align 4 + %call = call i64 @__fd_lseek(i32 %0, i64 %1, i32 %2) + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__xstat64(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @stat64(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__lxstat64(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @lstat64(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fxstat64(i32 %vers, i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %vers, i32* %vers.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstat64(i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @ftruncate64(i32 %fd, i64 %length) #3 { +entry: + %fd.addr = alloca i32, align 4 + %length.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %length, i64* %length.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %length.addr, align 8 + %call = call i32 @__fd_ftruncate(i32 %0, i64 %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @statfs64(i8* nonnull %path, %struct.statfs* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.statfs*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.statfs* %buf, %struct.statfs** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.statfs*, %struct.statfs** %buf.addr, align 8 + %call = call i32 @__fd_statfs(i8* %0, %struct.statfs* %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @getdents64(i32 %fd, i8* nonnull %dirp, i64 %count) #3 { +entry: + %fd.addr = alloca i32, align 4 + %dirp.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %dirp, i8** %dirp.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i8*, i8** %dirp.addr, align 8 + %2 = bitcast i8* %1 to %struct.dirent64* + %3 = load i64, i64* %count.addr, align 8 + %conv = trunc i64 %3 to i32 + %call = call i32 @__fd_getdents(i32 %0, %struct.dirent64* %2, i32 %conv) + %conv1 = sext i32 %call to i64 + ret i64 %conv1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @kill(i32 %pid, i32 %sig) #3 { +entry: + %pid.addr = alloca i32, align 4 + %sig.addr = alloca i32, align 4 + store i32 %pid, i32* %pid.addr, align 4 + store i32 %sig, i32* %sig.addr, align 4 + call void @gs_warning.218(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.217, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @gs_warning.218(i8* %message) #3 { +entry: + %message.addr = alloca i8*, align 8 + store i8* %message, i8** %message.addr, align 8 + %0 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %0) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.7.219, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind returns_twice uwtable +define weak dso_local i32 @_setjmp(%struct.__jmp_buf_tag* %__env) #16 { +entry: + %__env.addr = alloca %struct.__jmp_buf_tag*, align 8 + store %struct.__jmp_buf_tag* %__env, %struct.__jmp_buf_tag** %__env.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1.220, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline noreturn nounwind uwtable +define dso_local void @longjmp(%struct.__jmp_buf_tag* %env, i32 %val) #6 { +entry: + %env.addr = alloca %struct.__jmp_buf_tag*, align 8 + %val.addr = alloca i32, align 4 + store %struct.__jmp_buf_tag* %env, %struct.__jmp_buf_tag** %env.addr, align 8 + store i32 %val, i32* %val.addr, align 4 + call void @gs_report_error.224(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.2.221, i64 0, i64 0), i32 37, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.3.222, i64 0, i64 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.4.223, i64 0, i64 0)) #24 + unreachable +} + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error.224(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.7.219, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execl(i8* nonnull %path, i8* nonnull %arg, ...) #3 { +entry: + %path.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + call void @gs_warning.218(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.225, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execlp(i8* nonnull %file, i8* nonnull %arg, ...) #3 { +entry: + %file.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + call void @gs_warning.218(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.225, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execle(i8* nonnull %path, i8* nonnull %arg, ...) #3 { +entry: + %path.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + call void @gs_warning.218(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.225, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execv(i8* nonnull %path, i8** nonnull %argv) #3 { +entry: + %path.addr = alloca i8*, align 8 + %argv.addr = alloca i8**, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + call void @gs_warning.218(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.225, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execvp(i8* nonnull %file, i8** nonnull %argv) #3 { +entry: + %file.addr = alloca i8*, align 8 + %argv.addr = alloca i8**, align 8 + store i8* %file, i8** %file.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + call void @gs_warning.218(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.225, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execve(i8* nonnull %file, i8** nonnull %argv, i8** %envp) #3 { +entry: + %file.addr = alloca i8*, align 8 + %argv.addr = alloca i8**, align 8 + %envp.addr = alloca i8**, align 8 + store i8* %file, i8** %file.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + store i8** %envp, i8*** %envp.addr, align 8 + call void @gs_warning.218(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.225, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fork() #3 { +entry: + call void @gs_warning.218(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.6.226, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 12, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind returns_twice uwtable +define dso_local i32 @vfork() #16 { +entry: + %call = call i32 @fork() #11 + ret i32 %call +} + +; Function Attrs: noinline nounwind readnone uwtable +define i16** @__ctype_b_loc() #12 { +entry: + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 0 + ret i16** %__ctype_b +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @__error(i32 %status, i32 %errnum, i8* %message, ...) #0 { +entry: + %status.addr = alloca i32, align 4 + %errnum.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %args = alloca [1 x %struct.__va_list_tag.0], align 16 + %__S = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %tmp = alloca i32, align 4 + store i32 %status, i32* %status.addr, align 4 + store i32 %errnum, i32* %errnum.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdout, align 8 + %call = call i32 @fflush(%struct.__STDIO_FILE_STRUCT.568* %0) #18 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %2 = load i8*, i8** %message.addr, align 8 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %call3 = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %1, i8* %2, %struct.__va_list_tag.0* %arraydecay2) #18 + %arraydecay4 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay45 = bitcast %struct.__va_list_tag.0* %arraydecay4 to i8* + call void @llvm.va_end(i8* %arraydecay45) + %3 = load i32, i32* @error_message_count, align 4 + %inc = add i32 %3, 1 + store i32 %inc, i32* @error_message_count, align 4 + %4 = load i32, i32* %errnum.addr, align 4 + %tobool = icmp ne i32 %4, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %6 = load i32, i32* %errnum.addr, align 4 + %call6 = call i8* @strerror(i32 %6) #19 + %call7 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %5, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.229, i64 0, i64 0), i8* %call6) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %7, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 5 + %9 = load i8*, i8** %__bufpos, align 8 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 8 + %11 = load i8*, i8** %__bufputc_u, align 8 + %cmp = icmp ult i8* %9, %11 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %if.end + %__bufpos8 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 5 + %13 = load i8*, i8** %__bufpos8, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %13, i32 1 + store i8* %incdec.ptr, i8** %__bufpos8, align 8 + store i8 10, i8* %13, align 1 + br label %cond.end + +cond.false: ; preds = %if.end + %call9 = call i32 @__fputc_unlocked(i32 10, %struct.__STDIO_FILE_STRUCT.568* %12) #18 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ 10, %cond.true ], [ %call9, %cond.false ] + store i32 %cond, i32* %tmp, align 4 + %14 = load i32, i32* %tmp, align 4 + %15 = load i32, i32* %status.addr, align 4 + %tobool10 = icmp ne i32 %15, 0 + br i1 %tobool10, label %if.then11, label %if.end12 + +if.then11: ; preds = %cond.end + %16 = load i32, i32* %status.addr, align 4 + call void @exit(i32 %16) #22 + unreachable + +if.end12: ; preds = %cond.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @__error_at_line(i32 %status, i32 %errnum, i8* %file_name, i32 %line_number, i8* %message, ...) #0 { +entry: + %status.addr = alloca i32, align 4 + %errnum.addr = alloca i32, align 4 + %file_name.addr = alloca i8*, align 8 + %line_number.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %args = alloca [1 x %struct.__va_list_tag.0], align 16 + %__S = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %tmp = alloca i32, align 4 + store i32 %status, i32* %status.addr, align 4 + store i32 %errnum, i32* %errnum.addr, align 4 + store i8* %file_name, i8** %file_name.addr, align 8 + store i32 %line_number, i32* %line_number.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + %0 = load i32, i32* @error_one_per_line, align 4 + %tobool = icmp ne i32 %0, 0 + br i1 %tobool, label %if.then, label %if.end4 + +if.then: ; preds = %entry + %1 = load i32, i32* @__error_at_line.old_line_number, align 4 + %2 = load i32, i32* %line_number.addr, align 4 + %cmp = icmp eq i32 %1, %2 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %if.then + %3 = load i8*, i8** %file_name.addr, align 8 + %4 = load i8*, i8** @__error_at_line.old_file_name, align 8 + %cmp1 = icmp eq i8* %3, %4 + br i1 %cmp1, label %if.end25, label %lor.lhs.false + +lor.lhs.false: ; preds = %land.lhs.true + %5 = load i8*, i8** @__error_at_line.old_file_name, align 8 + %6 = load i8*, i8** %file_name.addr, align 8 + %call = call i32 @strcmp(i8* %5, i8* %6) #20 + %tobool2 = icmp ne i32 %call, 0 + br i1 %tobool2, label %if.end, label %if.end25 + +if.end: ; preds = %lor.lhs.false, %if.then + %7 = load i8*, i8** %file_name.addr, align 8 + store i8* %7, i8** @__error_at_line.old_file_name, align 8 + %8 = load i32, i32* %line_number.addr, align 4 + store i32 %8, i32* @__error_at_line.old_line_number, align 4 + br label %if.end4 + +if.end4: ; preds = %if.end, %entry + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdout, align 8 + %call5 = call i32 @fflush(%struct.__STDIO_FILE_STRUCT.568* %9) #18 + %10 = load i8*, i8** %file_name.addr, align 8 + %cmp6 = icmp ne i8* %10, null + br i1 %cmp6, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end4 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %12 = load i8*, i8** %file_name.addr, align 8 + %13 = load i32, i32* %line_number.addr, align 4 + %call8 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %11, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1.230, i64 0, i64 0), i8* %12, i32 %13) #18 + br label %if.end9 + +if.end9: ; preds = %if.then7, %if.end4 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay10 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay10) + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %15 = load i8*, i8** %message.addr, align 8 + %arraydecay11 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %call12 = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %14, i8* %15, %struct.__va_list_tag.0* %arraydecay11) #18 + %arraydecay13 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay1314 = bitcast %struct.__va_list_tag.0* %arraydecay13 to i8* + call void @llvm.va_end(i8* %arraydecay1314) + %16 = load i32, i32* @error_message_count, align 4 + %inc = add i32 %16, 1 + store i32 %inc, i32* @error_message_count, align 4 + %17 = load i32, i32* %errnum.addr, align 4 + %tobool15 = icmp ne i32 %17, 0 + br i1 %tobool15, label %if.then16, label %if.end19 + +if.then16: ; preds = %if.end9 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %19 = load i32, i32* %errnum.addr, align 4 + %call17 = call i8* @strerror(i32 %19) #19 + %call18 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %18, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.229, i64 0, i64 0), i8* %call17) #18 + br label %if.end19 + +if.end19: ; preds = %if.then16, %if.end9 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %20, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %21 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %21, i32 0, i32 5 + %22 = load i8*, i8** %__bufpos, align 8 + %23 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %23, i32 0, i32 8 + %24 = load i8*, i8** %__bufputc_u, align 8 + %cmp20 = icmp ult i8* %22, %24 + %25 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + br i1 %cmp20, label %cond.true, label %cond.false + +cond.true: ; preds = %if.end19 + %__bufpos21 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %25, i32 0, i32 5 + %26 = load i8*, i8** %__bufpos21, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %26, i32 1 + store i8* %incdec.ptr, i8** %__bufpos21, align 8 + store i8 10, i8* %26, align 1 + br label %cond.end + +cond.false: ; preds = %if.end19 + %call22 = call i32 @__fputc_unlocked(i32 10, %struct.__STDIO_FILE_STRUCT.568* %25) #18 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ 10, %cond.true ], [ %call22, %cond.false ] + store i32 %cond, i32* %tmp, align 4 + %27 = load i32, i32* %tmp, align 4 + %28 = load i32, i32* %status.addr, align 4 + %tobool23 = icmp ne i32 %28, 0 + br i1 %tobool23, label %if.then24, label %if.end25 + +if.then24: ; preds = %cond.end + %29 = load i32, i32* %status.addr, align 4 + call void @exit(i32 %29) #22 + unreachable + +if.end25: ; preds = %land.lhs.true, %lor.lhs.false, %cond.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i8* @nl_langinfo(i32 %item) #0 { +entry: + %item.addr = alloca i32, align 4 + store i32 %item, i32* %item.addr, align 4 + %0 = load i32, i32* %item.addr, align 4 + %1 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %call = call i8* @nl_langinfo_l(i32 %0, %struct.__uclibc_locale_struct.201* %1) #18 + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define i8* @setlocale(i32 %category, i8* %locale) #0 { +entry: + %retval = alloca i8*, align 8 + %category.addr = alloca i32, align 4 + %locale.addr = alloca i8*, align 8 + store i32 %category, i32* %category.addr, align 4 + store i8* %locale, i8** %locale.addr, align 8 + %0 = load i32, i32* %category.addr, align 4 + %cmp = icmp ugt i32 %0, 6 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %locale.addr, align 8 + %cmp1 = icmp ne i8* %1, null + br i1 %cmp1, label %if.then2, label %if.end5 + +if.then2: ; preds = %if.end + %2 = load i32, i32* %category.addr, align 4 + %shl = shl i32 1, %2 + %3 = load i8*, i8** %locale.addr, align 8 + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__global_locale, align 8 + %call = call %struct.__uclibc_locale_struct.201* @newlocale(i32 %shl, i8* %3, %struct.__uclibc_locale_struct.201* %4) #19 + %tobool = icmp ne %struct.__uclibc_locale_struct.201* %call, null + br i1 %tobool, label %if.end4, label %if.then3 + +if.then3: ; preds = %if.then2 + store i8* null, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %if.then2 + %5 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__global_locale, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %5, i32 0, i32 6 + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + call void @update_hr_locale(i8* %arraydecay) #18 + br label %if.end5 + +if.end5: ; preds = %if.end4, %if.end + %6 = load i32, i32* %category.addr, align 4 + %mul = mul nsw i32 %6, 32 + %idx.ext = sext i32 %mul to i64 + %add.ptr = getelementptr inbounds i8, i8* getelementptr inbounds ([448 x i8], [448 x i8]* @hr_locale, i64 0, i64 0), i64 %idx.ext + store i8* %add.ptr, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %7 = load i8*, i8** %retval, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @update_hr_locale(i8* %spec) #0 { +entry: + %spec.addr = alloca i8*, align 8 + %loc = alloca i8*, align 8 + %s = alloca i8*, align 8 + %n = alloca i8*, align 8 + %i = alloca i32, align 4 + %category = alloca i32, align 4 + %done = alloca i32, align 4 + %at = alloca i8, align 1 + %q = alloca i8*, align 8 + store i8* %spec, i8** %spec.addr, align 8 + store i32 0, i32* %category, align 4 + store i32 0, i32* %done, align 4 + br label %do.body + +do.body: ; preds = %do.end127, %entry + %0 = load i8*, i8** %spec.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %0, i64 1 + store i8* %add.ptr, i8** %s, align 8 + %1 = load i32, i32* %category, align 4 + %mul = mul nsw i32 %1, 32 + %idx.ext = sext i32 %mul to i64 + %add.ptr1 = getelementptr inbounds i8, i8* getelementptr inbounds ([448 x i8], [448 x i8]* @hr_locale, i64 0, i64 0), i64 %idx.ext + store i8* %add.ptr1, i8** %n, align 8 + %2 = load i32, i32* %category, align 4 + %cmp = icmp eq i32 %2, 6 + br i1 %cmp, label %if.then, label %SKIP + +if.then: ; preds = %do.body + store i32 1, i32* %done, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.then + %3 = load i32, i32* %i, align 4 + %cmp2 = icmp slt i32 %3, 5 + br i1 %cmp2, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %4 = load i8*, i8** %s, align 8 + %5 = load i32, i32* %i, align 4 + %idxprom = sext i32 %5 to i64 + %arrayidx = getelementptr inbounds i8, i8* %4, i64 %idxprom + %6 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %6 to i32 + %7 = load i8*, i8** %s, align 8 + %8 = load i32, i32* %i, align 4 + %add = add nsw i32 %8, 2 + %idxprom3 = sext i32 %add to i64 + %arrayidx4 = getelementptr inbounds i8, i8* %7, i64 %idxprom3 + %9 = load i8, i8* %arrayidx4, align 1 + %conv5 = zext i8 %9 to i32 + %cmp6 = icmp ne i32 %conv, %conv5 + br i1 %cmp6, label %SKIP, label %lor.lhs.false + +lor.lhs.false: ; preds = %for.body + %10 = load i8*, i8** %s, align 8 + %11 = load i32, i32* %i, align 4 + %add8 = add nsw i32 %11, 1 + %idxprom9 = sext i32 %add8 to i64 + %arrayidx10 = getelementptr inbounds i8, i8* %10, i64 %idxprom9 + %12 = load i8, i8* %arrayidx10, align 1 + %conv11 = zext i8 %12 to i32 + %13 = load i8*, i8** %s, align 8 + %14 = load i32, i32* %i, align 4 + %add12 = add nsw i32 %14, 3 + %idxprom13 = sext i32 %add12 to i64 + %arrayidx14 = getelementptr inbounds i8, i8* %13, i64 %idxprom13 + %15 = load i8, i8* %arrayidx14, align 1 + %conv15 = zext i8 %15 to i32 + %cmp16 = icmp ne i32 %conv11, %conv15 + br i1 %cmp16, label %SKIP, label %for.inc + +for.inc: ; preds = %lor.lhs.false + %16 = load i32, i32* %i, align 4 + %add19 = add nsw i32 %16, 2 + store i32 %add19, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + store i32 0, i32* %category, align 4 + br label %SKIP + +SKIP: ; preds = %do.body, %for.end, %for.body, %lor.lhs.false + %17 = load i32, i32* %category, align 4 + %cmp21 = icmp eq i32 %17, 6 + %18 = load i32, i32* %category, align 4 + %cond = select i1 %cmp21, i32 0, i32 %18 + store i32 %cond, i32* %i, align 4 + %19 = load i32, i32* %i, align 4 + %mul23 = mul nsw i32 2, %19 + %20 = load i8*, i8** %s, align 8 + %idx.ext24 = sext i32 %mul23 to i64 + %add.ptr25 = getelementptr inbounds i8, i8* %20, i64 %idx.ext24 + store i8* %add.ptr25, i8** %s, align 8 + br label %do.body26 + +do.body26: ; preds = %if.end122, %SKIP + %21 = load i8*, i8** %s, align 8 + %22 = load i8, i8* %21, align 1 + %conv27 = zext i8 %22 to i32 + %cmp28 = icmp ne i32 %conv27, 255 + br i1 %cmp28, label %if.then35, label %lor.lhs.false30 + +lor.lhs.false30: ; preds = %do.body26 + %23 = load i8*, i8** %s, align 8 + %arrayidx31 = getelementptr inbounds i8, i8* %23, i64 1 + %24 = load i8, i8* %arrayidx31, align 1 + %conv32 = zext i8 %24 to i32 + %cmp33 = icmp ne i32 %conv32, 255 + br i1 %cmp33, label %if.then35, label %if.end122 + +if.then35: ; preds = %lor.lhs.false30, %do.body26 + %25 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %25, i32 0, i32 31 + %arraydecay = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales, i64 0, i64 0 + %26 = load i8*, i8** %s, align 8 + %27 = load i8, i8* %26, align 1 + %conv36 = zext i8 %27 to i32 + %and = and i32 %conv36, 127 + %shl = shl i32 %and, 7 + %28 = load i8*, i8** %s, align 8 + %arrayidx37 = getelementptr inbounds i8, i8* %28, i64 1 + %29 = load i8, i8* %arrayidx37, align 1 + %conv38 = zext i8 %29 to i32 + %and39 = and i32 %conv38, 127 + %add40 = add nsw i32 %shl, %and39 + %mul41 = mul nsw i32 9, %add40 + %idx.ext42 = sext i32 %mul41 to i64 + %add.ptr43 = getelementptr inbounds i8, i8* %arraydecay, i64 %idx.ext42 + store i8* %add.ptr43, i8** %loc, align 8 + %30 = load i32, i32* %category, align 4 + %cmp44 = icmp eq i32 %30, 6 + br i1 %cmp44, label %if.then46, label %if.end54 + +if.then46: ; preds = %if.then35 + %31 = load i8*, i8** %n, align 8 + %32 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %32, i32 0, i32 34 + %arraydecay47 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names, i64 0, i64 0 + %33 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names48 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %33, i32 0, i32 34 + %34 = load i32, i32* %i, align 4 + %idxprom49 = sext i32 %34 to i64 + %arrayidx50 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names48, i64 0, i64 %idxprom49 + %35 = load i8, i8* %arrayidx50, align 1 + %conv51 = zext i8 %35 to i32 + %idx.ext52 = sext i32 %conv51 to i64 + %add.ptr53 = getelementptr inbounds i8, i8* %arraydecay47, i64 %idx.ext52 + %call = call i8* @stpcpy(i8* %31, i8* %add.ptr53) #19 + store i8* %call, i8** %n, align 8 + %36 = load i8*, i8** %n, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %36, i32 1 + store i8* %incdec.ptr, i8** %n, align 8 + store i8 61, i8* %36, align 1 + br label %if.end54 + +if.end54: ; preds = %if.then46, %if.then35 + %37 = load i8*, i8** %loc, align 8 + %38 = load i8, i8* %37, align 1 + %conv55 = zext i8 %38 to i32 + %cmp56 = icmp eq i32 %conv55, 0 + br i1 %cmp56, label %if.then58, label %if.else + +if.then58: ; preds = %if.end54 + %39 = load i8*, i8** %n, align 8 + %incdec.ptr59 = getelementptr inbounds i8, i8* %39, i32 1 + store i8* %incdec.ptr59, i8** %n, align 8 + store i8 67, i8* %39, align 1 + %40 = load i8*, i8** %n, align 8 + store i8 0, i8* %40, align 1 + br label %if.end120 + +if.else: ; preds = %if.end54 + store i8 0, i8* %at, align 1 + %41 = load i8*, i8** %n, align 8 + %42 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_names5 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %42, i32 0, i32 32 + %arraydecay60 = getelementptr inbounds [835 x i8], [835 x i8]* %locale_names5, i64 0, i64 0 + %43 = load i8*, i8** %loc, align 8 + %44 = load i8, i8* %43, align 1 + %conv61 = zext i8 %44 to i32 + %sub = sub nsw i32 %conv61, 1 + %mul62 = mul nsw i32 5, %sub + %idx.ext63 = sext i32 %mul62 to i64 + %add.ptr64 = getelementptr inbounds i8, i8* %arraydecay60, i64 %idx.ext63 + %call65 = call i8* @memcpy(i8* %41, i8* %add.ptr64, i64 5) #19 + %45 = load i8*, i8** %n, align 8 + %arrayidx66 = getelementptr inbounds i8, i8* %45, i64 2 + %46 = load i8, i8* %arrayidx66, align 1 + %conv67 = sext i8 %46 to i32 + %cmp68 = icmp ne i32 %conv67, 95 + br i1 %cmp68, label %if.then70, label %if.end73 + +if.then70: ; preds = %if.else + %47 = load i8*, i8** %n, align 8 + %arrayidx71 = getelementptr inbounds i8, i8* %47, i64 2 + %48 = load i8, i8* %arrayidx71, align 1 + store i8 %48, i8* %at, align 1 + %49 = load i8*, i8** %n, align 8 + %arrayidx72 = getelementptr inbounds i8, i8* %49, i64 2 + store i8 95, i8* %arrayidx72, align 1 + br label %if.end73 + +if.end73: ; preds = %if.then70, %if.else + %50 = load i8*, i8** %n, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %50, i64 5 + store i8* %add.ptr74, i8** %n, align 8 + %51 = load i8*, i8** %n, align 8 + %incdec.ptr75 = getelementptr inbounds i8, i8* %51, i32 1 + store i8* %incdec.ptr75, i8** %n, align 8 + store i8 46, i8* %51, align 1 + %52 = load i8*, i8** %loc, align 8 + %arrayidx76 = getelementptr inbounds i8, i8* %52, i64 2 + %53 = load i8, i8* %arrayidx76, align 1 + %conv77 = zext i8 %53 to i32 + %cmp78 = icmp eq i32 %conv77, 2 + br i1 %cmp78, label %if.then80, label %if.else82 + +if.then80: ; preds = %if.end73 + %54 = load i8*, i8** %n, align 8 + %call81 = call i8* @stpcpy(i8* %54, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf8.237, i64 0, i64 0)) #19 + store i8* %call81, i8** %n, align 8 + br label %if.end100 + +if.else82: ; preds = %if.end73 + %55 = load i8*, i8** %loc, align 8 + %arrayidx83 = getelementptr inbounds i8, i8* %55, i64 2 + %56 = load i8, i8* %arrayidx83, align 1 + %conv84 = zext i8 %56 to i32 + %cmp85 = icmp sge i32 %conv84, 3 + br i1 %cmp85, label %if.then87, label %if.end100 + +if.then87: ; preds = %if.else82 + %57 = load i8*, i8** %n, align 8 + %58 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %58, i32 0, i32 35 + %arraydecay88 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list, i64 0, i64 0 + %59 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list89 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %59, i32 0, i32 35 + %60 = load i8*, i8** %loc, align 8 + %arrayidx90 = getelementptr inbounds i8, i8* %60, i64 2 + %61 = load i8, i8* %arrayidx90, align 1 + %conv91 = zext i8 %61 to i32 + %sub92 = sub nsw i32 %conv91, 3 + %idxprom93 = sext i32 %sub92 to i64 + %arrayidx94 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list89, i64 0, i64 %idxprom93 + %62 = load i8, i8* %arrayidx94, align 1 + %conv95 = zext i8 %62 to i32 + %idx.ext96 = sext i32 %conv95 to i64 + %add.ptr97 = getelementptr inbounds i8, i8* %arraydecay88, i64 %idx.ext96 + %call98 = call i8* @stpcpy(i8* %57, i8* %add.ptr97) #19 + store i8* %call98, i8** %n, align 8 + br label %if.end100 + +if.end100: ; preds = %if.else82, %if.then87, %if.then80 + %63 = load i8, i8* %at, align 1 + %tobool = icmp ne i8 %63, 0 + br i1 %tobool, label %if.then101, label %if.end120 + +if.then101: ; preds = %if.end100 + %64 = load i8*, i8** %n, align 8 + %incdec.ptr102 = getelementptr inbounds i8, i8* %64, i32 1 + store i8* %incdec.ptr102, i8** %n, align 8 + store i8 64, i8* %64, align 1 + %65 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_at_modifiers = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %65, i32 0, i32 33 + %arraydecay103 = getelementptr inbounds [18 x i8], [18 x i8]* %locale_at_modifiers, i64 0, i64 0 + store i8* %arraydecay103, i8** %q, align 8 + br label %do.body104 + +do.body104: ; preds = %if.end113, %if.then101 + %66 = load i8*, i8** %q, align 8 + %arrayidx105 = getelementptr inbounds i8, i8* %66, i64 1 + %67 = load i8, i8* %arrayidx105, align 1 + %conv106 = sext i8 %67 to i32 + %68 = load i8, i8* %at, align 1 + %conv107 = sext i8 %68 to i32 + %cmp108 = icmp eq i32 %conv106, %conv107 + br i1 %cmp108, label %if.then110, label %if.end113 + +if.then110: ; preds = %do.body104 + %69 = load i8*, i8** %n, align 8 + %70 = load i8*, i8** %q, align 8 + %add.ptr111 = getelementptr inbounds i8, i8* %70, i64 2 + %call112 = call i8* @stpcpy(i8* %69, i8* %add.ptr111) #19 + store i8* %call112, i8** %n, align 8 + br label %if.end120 + +if.end113: ; preds = %do.body104 + %71 = load i8*, i8** %q, align 8 + %72 = load i8, i8* %71, align 1 + %conv114 = sext i8 %72 to i32 + %add115 = add nsw i32 2, %conv114 + %73 = load i8*, i8** %q, align 8 + %idx.ext116 = sext i32 %add115 to i64 + %add.ptr117 = getelementptr inbounds i8, i8* %73, i64 %idx.ext116 + store i8* %add.ptr117, i8** %q, align 8 + %74 = load i8*, i8** %q, align 8 + %75 = load i8, i8* %74, align 1 + %tobool118 = icmp ne i8 %75, 0 + br i1 %tobool118, label %do.body104, label %if.end120 + +if.end120: ; preds = %if.end100, %if.end113, %if.then110, %if.then58 + %76 = load i8*, i8** %n, align 8 + %incdec.ptr121 = getelementptr inbounds i8, i8* %76, i32 1 + store i8* %incdec.ptr121, i8** %n, align 8 + store i8 59, i8* %76, align 1 + br label %if.end122 + +if.end122: ; preds = %if.end120, %lor.lhs.false30 + %77 = load i8*, i8** %s, align 8 + %add.ptr123 = getelementptr inbounds i8, i8* %77, i64 2 + store i8* %add.ptr123, i8** %s, align 8 + %78 = load i32, i32* %i, align 4 + %inc = add nsw i32 %78, 1 + store i32 %inc, i32* %i, align 4 + %79 = load i32, i32* %category, align 4 + %cmp125 = icmp slt i32 %inc, %79 + br i1 %cmp125, label %do.body26, label %do.end127 + +do.end127: ; preds = %if.end122 + %80 = load i8*, i8** %n, align 8 + %incdec.ptr128 = getelementptr inbounds i8, i8* %80, i32 -1 + store i8* %incdec.ptr128, i8** %n, align 8 + store i8 0, i8* %incdec.ptr128, align 1 + %81 = load i32, i32* %category, align 4 + %inc129 = add nsw i32 %81, 1 + store i32 %inc129, i32* %category, align 4 + %82 = load i32, i32* %done, align 4 + %tobool131 = icmp ne i32 %82, 0 + %lnot = xor i1 %tobool131, true + br i1 %lnot, label %do.body, label %do.end132 + +do.end132: ; preds = %do.end127 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define void @setutent() #0 { +entry: + call void @__setutent() #18 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__setutent() #0 { +entry: + %ret = alloca i32, align 4 + %0 = load i32, i32* @static_fd, align 4 + %cmp = icmp eq i32 %0, -1 + br i1 %cmp, label %if.then, label %if.end16 + +if.then: ; preds = %entry + %1 = load i8*, i8** @static_ut_name, align 8 + %call = call i32 (i8*, i32, ...) @open(i8* %1, i32 2) #18 + store i32 %call, i32* @static_fd, align 4 + %cmp1 = icmp slt i32 %call, 0 + br i1 %cmp1, label %if.then2, label %if.end6 + +if.then2: ; preds = %if.then + %2 = load i8*, i8** @static_ut_name, align 8 + %call3 = call i32 (i8*, i32, ...) @open(i8* %2, i32 0) #18 + store i32 %call3, i32* @static_fd, align 4 + %cmp4 = icmp slt i32 %call3, 0 + br i1 %cmp4, label %bummer, label %if.end6 + +if.end6: ; preds = %if.then2, %if.then + %3 = load i32, i32* @static_fd, align 4 + %call7 = call i32 (i32, i32, ...) @fcntl(i32 %3, i32 1, i32 0) #18 + store i32 %call7, i32* %ret, align 4 + %4 = load i32, i32* %ret, align 4 + %cmp8 = icmp sge i32 %4, 0 + br i1 %cmp8, label %if.then9, label %if.end11 + +if.then9: ; preds = %if.end6 + %5 = load i32, i32* @static_fd, align 4 + %6 = load i32, i32* %ret, align 4 + %or = or i32 %6, 1 + %call10 = call i32 (i32, i32, ...) @fcntl(i32 %5, i32 2, i32 %or) #18 + store i32 %call10, i32* %ret, align 4 + br label %if.end11 + +if.end11: ; preds = %if.then9, %if.end6 + %7 = load i32, i32* %ret, align 4 + %cmp12 = icmp slt i32 %7, 0 + br i1 %cmp12, label %bummer, label %if.end16 + +bummer: ; preds = %if.end11, %if.then2 + store i32 -1, i32* @static_fd, align 4 + %8 = load i32, i32* @static_fd, align 4 + %call14 = call i32 @close(i32 %8) #18 + br label %return + +if.end16: ; preds = %if.end11, %entry + %9 = load i32, i32* @static_fd, align 4 + %call17 = call i64 @lseek(i32 %9, i64 0, i32 0) #19 + br label %return + +return: ; preds = %if.end16, %bummer + ret void +} + +; Function Attrs: noinline nounwind uwtable +define void @endutent() #0 { +entry: + %0 = load i32, i32* @static_fd, align 4 + %cmp = icmp ne i32 %0, -1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load i32, i32* @static_fd, align 4 + %call = call i32 @close(i32 %1) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + store i32 -1, i32* @static_fd, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @getutent() #0 { +entry: + %ret = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* null, %struct.utmp.323** %ret, align 8 + %0 = load i32, i32* @static_fd, align 4 + %call = call %struct.utmp.323* @__getutent(i32 %0) #18 + store %struct.utmp.323* %call, %struct.utmp.323** %ret, align 8 + %1 = load %struct.utmp.323*, %struct.utmp.323** %ret, align 8 + ret %struct.utmp.323* %1 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.utmp.323* @__getutent(i32 %utmp_fd) #0 { +entry: + %retval = alloca %struct.utmp.323*, align 8 + %utmp_fd.addr = alloca i32, align 4 + %ret = alloca %struct.utmp.323*, align 8 + store i32 %utmp_fd, i32* %utmp_fd.addr, align 4 + store %struct.utmp.323* null, %struct.utmp.323** %ret, align 8 + %0 = load i32, i32* %utmp_fd.addr, align 4 + %cmp = icmp eq i32 %0, -1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @__setutent() #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i32, i32* %utmp_fd.addr, align 4 + %cmp1 = icmp eq i32 %1, -1 + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + store %struct.utmp.323* null, %struct.utmp.323** %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %2 = load i32, i32* %utmp_fd.addr, align 4 + %call = call i64 @read(i32 %2, i8* bitcast (%struct.utmp.323* @static_utmp to i8*), i64 400) #18 + %cmp4 = icmp eq i64 %call, 400 + br i1 %cmp4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end3 + store %struct.utmp.323* @static_utmp, %struct.utmp.323** %ret, align 8 + br label %if.end6 + +if.end6: ; preds = %if.then5, %if.end3 + %3 = load %struct.utmp.323*, %struct.utmp.323** %ret, align 8 + store %struct.utmp.323* %3, %struct.utmp.323** %retval, align 8 + br label %return + +return: ; preds = %if.end6, %if.then2 + %4 = load %struct.utmp.323*, %struct.utmp.323** %retval, align 8 + ret %struct.utmp.323* %4 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @getutid(%struct.utmp.323* %utmp_entry) #0 { +entry: + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + %ret = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + store %struct.utmp.323* null, %struct.utmp.323** %ret, align 8 + %0 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %call = call %struct.utmp.323* @__getutid(%struct.utmp.323* %0) #18 + store %struct.utmp.323* %call, %struct.utmp.323** %ret, align 8 + %1 = load %struct.utmp.323*, %struct.utmp.323** %ret, align 8 + ret %struct.utmp.323* %1 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.utmp.323* @__getutid(%struct.utmp.323* %utmp_entry) #0 { +entry: + %retval = alloca %struct.utmp.323*, align 8 + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + %lutmp = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end47, %entry + %0 = load i32, i32* @static_fd, align 4 + %call = call %struct.utmp.323* @__getutent(i32 %0) #18 + store %struct.utmp.323* %call, %struct.utmp.323** %lutmp, align 8 + %cmp = icmp ne %struct.utmp.323* %call, null + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %1 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %1, i32 0, i32 0 + %2 = load i16, i16* %ut_type, align 8 + %conv = sext i16 %2 to i32 + %cmp1 = icmp eq i32 %conv, 1 + br i1 %cmp1, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.body + %3 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type3 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %3, i32 0, i32 0 + %4 = load i16, i16* %ut_type3, align 8 + %conv4 = sext i16 %4 to i32 + %cmp5 = icmp eq i32 %conv4, 2 + br i1 %cmp5, label %land.lhs.true, label %lor.lhs.false7 + +lor.lhs.false7: ; preds = %lor.lhs.false + %5 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type8 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %5, i32 0, i32 0 + %6 = load i16, i16* %ut_type8, align 8 + %conv9 = sext i16 %6 to i32 + %cmp10 = icmp eq i32 %conv9, 3 + br i1 %cmp10, label %land.lhs.true, label %lor.lhs.false12 + +lor.lhs.false12: ; preds = %lor.lhs.false7 + %7 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type13 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %7, i32 0, i32 0 + %8 = load i16, i16* %ut_type13, align 8 + %conv14 = sext i16 %8 to i32 + %cmp15 = icmp eq i32 %conv14, 4 + br i1 %cmp15, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %lor.lhs.false12, %lor.lhs.false7, %lor.lhs.false, %while.body + %9 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_type17 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %9, i32 0, i32 0 + %10 = load i16, i16* %ut_type17, align 8 + %conv18 = sext i16 %10 to i32 + %11 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type19 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %11, i32 0, i32 0 + %12 = load i16, i16* %ut_type19, align 8 + %conv20 = sext i16 %12 to i32 + %cmp21 = icmp eq i32 %conv18, %conv20 + br i1 %cmp21, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %13 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + store %struct.utmp.323* %13, %struct.utmp.323** %retval, align 8 + br label %return + +if.end: ; preds = %land.lhs.true, %lor.lhs.false12 + %14 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type23 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %14, i32 0, i32 0 + %15 = load i16, i16* %ut_type23, align 8 + %conv24 = sext i16 %15 to i32 + %cmp25 = icmp eq i32 %conv24, 5 + br i1 %cmp25, label %land.lhs.true42, label %lor.lhs.false27 + +lor.lhs.false27: ; preds = %if.end + %16 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type28 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %16, i32 0, i32 0 + %17 = load i16, i16* %ut_type28, align 8 + %conv29 = sext i16 %17 to i32 + %cmp30 = icmp eq i32 %conv29, 8 + br i1 %cmp30, label %land.lhs.true42, label %lor.lhs.false32 + +lor.lhs.false32: ; preds = %lor.lhs.false27 + %18 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type33 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %18, i32 0, i32 0 + %19 = load i16, i16* %ut_type33, align 8 + %conv34 = sext i16 %19 to i32 + %cmp35 = icmp eq i32 %conv34, 6 + br i1 %cmp35, label %land.lhs.true42, label %lor.lhs.false37 + +lor.lhs.false37: ; preds = %lor.lhs.false32 + %20 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type38 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %20, i32 0, i32 0 + %21 = load i16, i16* %ut_type38, align 8 + %conv39 = sext i16 %21 to i32 + %cmp40 = icmp eq i32 %conv39, 7 + br i1 %cmp40, label %land.lhs.true42, label %if.end47 + +land.lhs.true42: ; preds = %lor.lhs.false37, %lor.lhs.false32, %lor.lhs.false27, %if.end + %22 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_id = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %22, i32 0, i32 3 + %arraydecay = getelementptr inbounds [4 x i8], [4 x i8]* %ut_id, i64 0, i64 0 + %23 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_id43 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %23, i32 0, i32 3 + %arraydecay44 = getelementptr inbounds [4 x i8], [4 x i8]* %ut_id43, i64 0, i64 0 + %call45 = call i32 @strncmp(i8* %arraydecay, i8* %arraydecay44, i64 4) #20 + %tobool = icmp ne i32 %call45, 0 + br i1 %tobool, label %if.end47, label %if.then46 + +if.then46: ; preds = %land.lhs.true42 + %24 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + store %struct.utmp.323* %24, %struct.utmp.323** %retval, align 8 + br label %return + +if.end47: ; preds = %land.lhs.true42, %lor.lhs.false37 + br label %while.cond + +while.end: ; preds = %while.cond + store %struct.utmp.323* null, %struct.utmp.323** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then46, %if.then + %25 = load %struct.utmp.323*, %struct.utmp.323** %retval, align 8 + ret %struct.utmp.323* %25 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @getutline(%struct.utmp.323* %utmp_entry) #0 { +entry: + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + %lutmp = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + store %struct.utmp.323* null, %struct.utmp.323** %lutmp, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %0 = load i32, i32* @static_fd, align 4 + %call = call %struct.utmp.323* @__getutent(i32 %0) #18 + store %struct.utmp.323* %call, %struct.utmp.323** %lutmp, align 8 + %cmp = icmp ne %struct.utmp.323* %call, null + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %1 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_type = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %1, i32 0, i32 0 + %2 = load i16, i16* %ut_type, align 8 + %conv = sext i16 %2 to i32 + %cmp1 = icmp eq i32 %conv, 7 + br i1 %cmp1, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.body + %3 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_type3 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %3, i32 0, i32 0 + %4 = load i16, i16* %ut_type3, align 8 + %conv4 = sext i16 %4 to i32 + %cmp5 = icmp eq i32 %conv4, 6 + br i1 %cmp5, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %lor.lhs.false, %while.body + %5 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_line = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %5, i32 0, i32 2 + %arraydecay = getelementptr inbounds [32 x i8], [32 x i8]* %ut_line, i64 0, i64 0 + %6 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_line7 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %6, i32 0, i32 2 + %arraydecay8 = getelementptr inbounds [32 x i8], [32 x i8]* %ut_line7, i64 0, i64 0 + %call9 = call i32 @strcmp(i8* %arraydecay, i8* %arraydecay8) #20 + %tobool = icmp ne i32 %call9, 0 + br i1 %tobool, label %if.end, label %while.end + +if.end: ; preds = %land.lhs.true, %lor.lhs.false + br label %while.cond + +while.end: ; preds = %land.lhs.true, %while.cond + %7 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + ret %struct.utmp.323* %7 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @pututline(%struct.utmp.323* %utmp_entry) #0 { +entry: + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + %0 = load i32, i32* @static_fd, align 4 + %call = call i64 @lseek(i32 %0, i64 -400, i32 1) #19 + %1 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %call1 = call %struct.utmp.323* @__getutid(%struct.utmp.323* %1) #18 + %cmp = icmp ne %struct.utmp.323* %call1, null + %2 = load i32, i32* @static_fd, align 4 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %call2 = call i64 @lseek(i32 %2, i64 -400, i32 1) #19 + br label %if.end + +if.else: ; preds = %entry + %call3 = call i64 @lseek(i32 %2, i64 0, i32 2) #19 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %3 = load i32, i32* @static_fd, align 4 + %4 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %5 = bitcast %struct.utmp.323* %4 to i8* + %call4 = call i64 @write(i32 %3, i8* %5, i64 400) #18 + %cmp5 = icmp ne i64 %call4, 400 + br i1 %cmp5, label %if.then6, label %if.end7 + +if.then6: ; preds = %if.end + store %struct.utmp.323* null, %struct.utmp.323** %utmp_entry.addr, align 8 + br label %if.end7 + +if.end7: ; preds = %if.then6, %if.end + %6 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + ret %struct.utmp.323* %6 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @utmpname(i8* %new_ut_name) #0 { +entry: + %new_ut_name.addr = alloca i8*, align 8 + store i8* %new_ut_name, i8** %new_ut_name.addr, align 8 + %0 = load i8*, i8** %new_ut_name.addr, align 8 + %cmp = icmp ne i8* %0, null + br i1 %cmp, label %if.then, label %if.end6 + +if.then: ; preds = %entry + %1 = load i8*, i8** @static_ut_name, align 8 + %cmp1 = icmp ne i8* %1, getelementptr inbounds ([14 x i8], [14 x i8]* @default_file_name, i64 0, i64 0) + br i1 %cmp1, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + %2 = load i8*, i8** @static_ut_name, align 8 + call void @free(i8* %2) #19 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %3 = load i8*, i8** %new_ut_name.addr, align 8 + %call = call noalias i8* @strdup(i8* %3) #19 + store i8* %call, i8** @static_ut_name, align 8 + %4 = load i8*, i8** @static_ut_name, align 8 + %cmp3 = icmp eq i8* %4, null + %spec.store.select = select i1 %cmp3, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @default_file_name, i64 0, i64 0), i8* %call + store i8* %spec.store.select, i8** @static_ut_name, align 8 + br label %if.end6 + +if.end6: ; preds = %if.end, %entry + %5 = load i32, i32* @static_fd, align 4 + %cmp7 = icmp ne i32 %5, -1 + br i1 %cmp7, label %if.then8, label %if.end10 + +if.then8: ; preds = %if.end6 + %6 = load i32, i32* @static_fd, align 4 + %call9 = call i32 @close(i32 %6) #18 + br label %if.end10 + +if.end10: ; preds = %if.then8, %if.end6 + store i32 -1, i32* @static_fd, align 4 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_wchar_utf8sntowcs(i32* noalias %pwc, i64 %wn, i8** noalias %src, i64 %n, %struct.__mbstate_t.512* %ps, i32 %allow_continuation) #0 { +entry: + %retval = alloca i64, align 8 + %pwc.addr = alloca i32*, align 8 + %wn.addr = alloca i64, align 8 + %src.addr = alloca i8**, align 8 + %n.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %allow_continuation.addr = alloca i32, align 4 + %s = alloca i8*, align 8 + %mask = alloca i32, align 4 + %wc = alloca i32, align 4 + %wcbuf = alloca [1 x i32], align 4 + %count = alloca i64, align 8 + %incr = alloca i32, align 4 + store i32* %pwc, i32** %pwc.addr, align 8 + store i64 %wn, i64* %wn.addr, align 8 + store i8** %src, i8*** %src.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + store i32 %allow_continuation, i32* %allow_continuation.addr, align 4 + %0 = load i8**, i8*** %src.addr, align 8 + %1 = load i8*, i8** %0, align 8 + store i8* %1, i8** %s, align 8 + store i32 1, i32* %incr, align 4 + %2 = load i32*, i32** %pwc.addr, align 8 + %tobool = icmp ne i32* %2, null + br i1 %tobool, label %lor.lhs.false, label %if.then + +lor.lhs.false: ; preds = %entry + %3 = load i32*, i32** %pwc.addr, align 8 + %4 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %5 = bitcast %struct.__mbstate_t.512* %4 to i32* + %cmp = icmp eq i32* %3, %5 + br i1 %cmp, label %if.then, label %if.end3 + +if.then: ; preds = %lor.lhs.false, %entry + %6 = load i32*, i32** %pwc.addr, align 8 + %tobool1 = icmp ne i32* %6, null + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + store i64 -1, i64* %wn.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %arraydecay = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay, i32** %pwc.addr, align 8 + store i32 0, i32* %incr, align 4 + br label %if.end3 + +if.end3: ; preds = %if.end, %lor.lhs.false + %7 = load i64, i64* %wn.addr, align 8 + store i64 %7, i64* %count, align 8 + %tobool4 = icmp ne i64 %7, 0 + br i1 %tobool4, label %if.end6, label %if.then5 + +if.then5: ; preds = %if.end3 + store i64 0, i64* %retval, align 8 + br label %return + +if.end6: ; preds = %if.end3 + %8 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %8, i32 0, i32 0 + %9 = load i32, i32* %__mask, align 4 + store i32 %9, i32* %mask, align 4 + %cmp7 = icmp ne i32 %9, 0 + br i1 %cmp7, label %if.then8, label %do.body + +if.then8: ; preds = %if.end6 + %10 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %10, i32 0, i32 1 + %11 = load i32, i32* %__wc, align 4 + store i32 %11, i32* %wc, align 4 + %cmp9 = icmp ne i32 %11, 65535 + br i1 %cmp9, label %if.then10, label %if.end14 + +if.then10: ; preds = %if.then8 + %12 = load i64, i64* %n.addr, align 8 + %tobool11 = icmp ne i64 %12, 0 + br i1 %tobool11, label %while.cond, label %DONE + +if.end14: ; preds = %if.then8 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +do.body: ; preds = %if.end6, %land.rhs + %13 = load i64, i64* %n.addr, align 8 + %tobool16 = icmp ne i64 %13, 0 + br i1 %tobool16, label %if.end18, label %DONE + +if.end18: ; preds = %do.body + %14 = load i64, i64* %n.addr, align 8 + %dec = add i64 %14, -1 + store i64 %dec, i64* %n.addr, align 8 + %15 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %15, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %16 = load i8, i8* %15, align 1 + %conv = zext i8 %16 to i32 + store i32 %conv, i32* %wc, align 4 + %cmp19 = icmp uge i32 %conv, 128 + br i1 %cmp19, label %if.then21, label %COMPLETE + +if.then21: ; preds = %if.end18 + store i32 64, i32* %mask, align 4 + %17 = load i8*, i8** %s, align 8 + %arrayidx = getelementptr inbounds i8, i8* %17, i64 -1 + %18 = load i8, i8* %arrayidx, align 1 + %conv22 = sext i8 %18 to i32 + %sub = sub nsw i32 %conv22, 192 + %conv23 = trunc i32 %sub to i8 + %conv24 = zext i8 %conv23 to i32 + %cmp25 = icmp slt i32 %conv24, 62 + br i1 %cmp25, label %START, label %BAD + +BAD: ; preds = %if.end52, %lor.lhs.false55, %lor.lhs.false59, %while.body, %if.then21 + %19 = load i32, i32* %mask, align 4 + %20 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask29 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %20, i32 0, i32 0 + store i32 %19, i32* %__mask29, align 4 + %21 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc30 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %21, i32 0, i32 1 + store i32 65535, i32* %__wc30, align 4 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +while.cond: ; preds = %START, %if.then10 + %22 = load i64, i64* %n.addr, align 8 + %tobool31 = icmp ne i64 %22, 0 + br i1 %tobool31, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %23 = load i64, i64* %n.addr, align 8 + %dec32 = add i64 %23, -1 + store i64 %dec32, i64* %n.addr, align 8 + %24 = load i8*, i8** %s, align 8 + %25 = load i8, i8* %24, align 1 + %conv33 = sext i8 %25 to i32 + %and = and i32 %conv33, 192 + %cmp34 = icmp ne i32 %and, 128 + br i1 %cmp34, label %BAD, label %if.end37 + +if.end37: ; preds = %while.body + %26 = load i32, i32* %mask, align 4 + %shl = shl i32 %26, 5 + store i32 %shl, i32* %mask, align 4 + %27 = load i32, i32* %wc, align 4 + %shl38 = shl i32 %27, 6 + store i32 %shl38, i32* %wc, align 4 + %28 = load i8*, i8** %s, align 8 + %29 = load i8, i8* %28, align 1 + %conv39 = sext i8 %29 to i32 + %and40 = and i32 %conv39, 63 + %30 = load i32, i32* %wc, align 4 + %add = add i32 %30, %and40 + store i32 %add, i32* %wc, align 4 + %31 = load i8*, i8** %s, align 8 + %incdec.ptr41 = getelementptr inbounds i8, i8* %31, i32 1 + store i8* %incdec.ptr41, i8** %s, align 8 + br label %START + +START: ; preds = %if.then21, %if.end37 + %32 = load i32, i32* %mask, align 4 + %shl42 = shl i32 %32, 1 + %neg = xor i32 %shl42, -1 + %33 = load i32, i32* %wc, align 4 + %and43 = and i32 %33, %neg + store i32 %and43, i32* %wc, align 4 + %34 = load i32, i32* %wc, align 4 + %35 = load i32, i32* %mask, align 4 + %and44 = and i32 %34, %35 + %cmp45 = icmp eq i32 %and44, 0 + br i1 %cmp45, label %if.then47, label %while.cond + +if.then47: ; preds = %START + %36 = load i32, i32* %mask, align 4 + %shr = lshr i32 %36, 5 + store i32 %shr, i32* %mask, align 4 + %cmp48 = icmp eq i32 %shr, 64 + br i1 %cmp48, label %if.then50, label %if.end52 + +if.then50: ; preds = %if.then47 + %37 = load i32, i32* %mask, align 4 + %38 = load i32, i32* %mask, align 4 + %add51 = add i32 %38, %37 + store i32 %add51, i32* %mask, align 4 + br label %if.end52 + +if.end52: ; preds = %if.then50, %if.then47 + %39 = load i32, i32* %wc, align 4 + %40 = load i32, i32* %mask, align 4 + %cmp53 = icmp ult i32 %39, %40 + br i1 %cmp53, label %BAD, label %lor.lhs.false55 + +lor.lhs.false55: ; preds = %if.end52 + %41 = load i32, i32* %wc, align 4 + %sub56 = sub i32 %41, 65534 + %cmp57 = icmp ult i32 %sub56, 2 + br i1 %cmp57, label %BAD, label %lor.lhs.false59 + +lor.lhs.false59: ; preds = %lor.lhs.false55 + %42 = load i32, i32* %wc, align 4 + %sub60 = sub i32 %42, 55296 + %cmp61 = icmp ult i32 %sub60, 2048 + br i1 %cmp61, label %BAD, label %COMPLETE + +while.end: ; preds = %while.cond + %43 = load i32, i32* %allow_continuation.addr, align 4 + %tobool66 = icmp ne i32 %43, 0 + br i1 %tobool66, label %if.end77, label %if.then67 + +if.then67: ; preds = %while.end + %44 = load i64, i64* %count, align 8 + %45 = load i64, i64* %wn.addr, align 8 + %cmp68 = icmp ne i64 %44, %45 + br i1 %cmp68, label %if.then70, label %do.body72 + +if.then70: ; preds = %if.then67 + store i64 0, i64* %retval, align 8 + br label %return + +do.body72: ; preds = %if.then67, %do.body72 + %46 = load i8*, i8** %s, align 8 + %incdec.ptr73 = getelementptr inbounds i8, i8* %46, i32 -1 + store i8* %incdec.ptr73, i8** %s, align 8 + %47 = load i32, i32* %mask, align 4 + %shr74 = lshr i32 %47, 5 + store i32 %shr74, i32* %mask, align 4 + %cmp75 = icmp uge i32 %shr74, 64 + br i1 %cmp75, label %do.body72, label %DONE + +if.end77: ; preds = %while.end + %48 = load i32, i32* %mask, align 4 + %49 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask78 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %49, i32 0, i32 0 + store i32 %48, i32* %__mask78, align 4 + %50 = load i32, i32* %wc, align 4 + %51 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc79 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %51, i32 0, i32 1 + store i32 %50, i32* %__wc79, align 4 + %52 = load i8*, i8** %s, align 8 + %53 = load i8**, i8*** %src.addr, align 8 + store i8* %52, i8** %53, align 8 + store i64 -2, i64* %retval, align 8 + br label %return + +COMPLETE: ; preds = %if.end18, %lor.lhs.false59 + %54 = load i32, i32* %wc, align 4 + %55 = load i32*, i32** %pwc.addr, align 8 + store i32 %54, i32* %55, align 4 + %56 = load i32, i32* %incr, align 4 + %57 = load i32*, i32** %pwc.addr, align 8 + %idx.ext = sext i32 %56 to i64 + %add.ptr = getelementptr inbounds i32, i32* %57, i64 %idx.ext + store i32* %add.ptr, i32** %pwc.addr, align 8 + %58 = load i32, i32* %wc, align 4 + %tobool82 = icmp ne i32 %58, 0 + br i1 %tobool82, label %land.rhs, label %do.end85 + +land.rhs: ; preds = %COMPLETE + %59 = load i64, i64* %count, align 8 + %dec83 = add i64 %59, -1 + store i64 %dec83, i64* %count, align 8 + %tobool84 = icmp ne i64 %dec83, 0 + br i1 %tobool84, label %do.body, label %do.end85 + +do.end85: ; preds = %COMPLETE, %land.rhs + %60 = load i32, i32* %wc, align 4 + %tobool86 = icmp ne i32 %60, 0 + br i1 %tobool86, label %DONE, label %if.then87 + +if.then87: ; preds = %do.end85 + store i8* null, i8** %s, align 8 + br label %DONE + +DONE: ; preds = %do.end85, %if.then87, %do.body72, %do.body, %if.then10 + %61 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask89 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %61, i32 0, i32 0 + store i32 0, i32* %__mask89, align 4 + %62 = load i32*, i32** %pwc.addr, align 8 + %arraydecay90 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %cmp91 = icmp ne i32* %62, %arraydecay90 + br i1 %cmp91, label %if.then93, label %if.end94 + +if.then93: ; preds = %DONE + %63 = load i8*, i8** %s, align 8 + %64 = load i8**, i8*** %src.addr, align 8 + store i8* %63, i8** %64, align 8 + br label %if.end94 + +if.end94: ; preds = %if.then93, %DONE + %65 = load i64, i64* %wn.addr, align 8 + %66 = load i64, i64* %count, align 8 + %sub95 = sub i64 %65, %66 + store i64 %sub95, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end94, %if.end77, %if.then70, %BAD, %if.end14, %if.then5 + %67 = load i64, i64* %retval, align 8 + ret i64 %67 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @mbrtowc(i32* noalias %pwc, i8* noalias %s, i64 %n, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %retval = alloca i64, align 8 + %pwc.addr = alloca i32*, align 8 + %s.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %wcbuf = alloca [1 x i32], align 4 + %p = alloca i8*, align 8 + %r = alloca i64, align 8 + %empty_string = alloca [1 x i8], align 1 + store i32* %pwc, i32** %pwc.addr, align 8 + store i8* %s, i8** %s.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %tobool = icmp ne %struct.__mbstate_t.512* %0, null + %spec.store.select = select i1 %tobool, %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512* @mbrtowc.mbstate + store %struct.__mbstate_t.512* %spec.store.select, %struct.__mbstate_t.512** %ps.addr, align 8 + %1 = load i8*, i8** %s.addr, align 8 + %tobool1 = icmp ne i8* %1, null + br i1 %tobool1, label %if.else, label %if.then2 + +if.then2: ; preds = %entry + %2 = load i8*, i8** %s.addr, align 8 + %3 = bitcast i8* %2 to i32* + store i32* %3, i32** %pwc.addr, align 8 + %arrayidx = getelementptr inbounds [1 x i8], [1 x i8]* %empty_string, i64 0, i64 0 + store i8 0, i8* %arrayidx, align 1 + %arraydecay = getelementptr inbounds [1 x i8], [1 x i8]* %empty_string, i64 0, i64 0 + store i8* %arraydecay, i8** %s.addr, align 8 + store i64 1, i64* %n.addr, align 8 + br label %if.end7 + +if.else: ; preds = %entry + %4 = load i64, i64* %n.addr, align 8 + %tobool3 = icmp ne i64 %4, 0 + br i1 %tobool3, label %if.end7, label %if.then4 + +if.then4: ; preds = %if.else + %5 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %5, i32 0, i32 0 + %6 = load i32, i32* %__mask, align 4 + %tobool5 = icmp ne i32 %6, 0 + br i1 %tobool5, label %land.rhs, label %land.end + +land.rhs: ; preds = %if.then4 + %7 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %7, i32 0, i32 1 + %8 = load i32, i32* %__wc, align 4 + %cmp = icmp eq i32 %8, 65535 + br label %land.end + +land.end: ; preds = %land.rhs, %if.then4 + %9 = phi i1 [ false, %if.then4 ], [ %cmp, %land.rhs ] + %10 = zext i1 %9 to i64 + %cond = select i1 %9, i64 -1, i64 -2 + store i64 %cond, i64* %retval, align 8 + br label %return + +if.end7: ; preds = %if.else, %if.then2 + %11 = load i8*, i8** %s.addr, align 8 + store i8* %11, i8** %p, align 8 + %12 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %12, i32 0, i32 9 + %13 = load i8, i8* %encoding, align 8 + %conv = zext i8 %13 to i32 + %cmp8 = icmp eq i32 %conv, 1 + br i1 %cmp8, label %if.then10, label %if.end18 + +if.then10: ; preds = %if.end7 + %14 = load i32*, i32** %pwc.addr, align 8 + %tobool11 = icmp ne i32* %14, null + br i1 %tobool11, label %if.end14, label %if.then12 + +if.then12: ; preds = %if.then10 + %arraydecay13 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay13, i32** %pwc.addr, align 8 + br label %if.end14 + +if.end14: ; preds = %if.then12, %if.then10 + %15 = load i32*, i32** %pwc.addr, align 8 + %16 = load i64, i64* %n.addr, align 8 + %17 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @_wchar_utf8sntowcs(i32* %15, i64 1, i8** %p, i64 %16, %struct.__mbstate_t.512* %17, i32 1) #18 + store i64 %call, i64* %r, align 8 + %18 = load i64, i64* %r, align 8 + %cmp15 = icmp eq i64 %18, 1 + %19 = load i8*, i8** %p, align 8 + %20 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %20 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %21 = load i64, i64* %r, align 8 + %cond17 = select i1 %cmp15, i64 %sub.ptr.sub, i64 %21 + store i64 %cond17, i64* %retval, align 8 + br label %return + +if.end18: ; preds = %if.end7 + %arraydecay19 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %22 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call20 = call i64 @mbsnrtowcs(i32* %arraydecay19, i8** %p, i64 -1, i64 1, %struct.__mbstate_t.512* %22) #19 + store i64 %call20, i64* %r, align 8 + %23 = load i64, i64* %r, align 8 + %cmp21 = icmp sge i64 %23, 0 + %24 = load i32*, i32** %pwc.addr, align 8 + %tobool24 = icmp ne i32* %24, null + %or.cond = and i1 %cmp21, %tobool24 + br i1 %or.cond, label %if.then25, label %if.end28 + +if.then25: ; preds = %if.end18 + %arraydecay26 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %25 = load i32, i32* %arraydecay26, align 4 + %26 = load i32*, i32** %pwc.addr, align 8 + store i32 %25, i32* %26, align 4 + br label %if.end28 + +if.end28: ; preds = %if.then25, %if.end18 + %27 = load i64, i64* %r, align 8 + store i64 %27, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end28, %if.end14, %land.end + %28 = load i64, i64* %retval, align 8 + ret i64 %28 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @mbsinit(%struct.__mbstate_t.512* %ps) #14 { +entry: + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %tobool = icmp ne %struct.__mbstate_t.512* %0, null + br i1 %tobool, label %lor.rhs, label %lor.end + +lor.rhs: ; preds = %entry + %1 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %1, i32 0, i32 0 + %2 = load i32, i32* %__mask, align 4 + %tobool1 = icmp ne i32 %2, 0 + %lnot = xor i1 %tobool1, true + br label %lor.end + +lor.end: ; preds = %lor.rhs, %entry + %3 = phi i1 [ true, %entry ], [ %lnot, %lor.rhs ] + %lor.ext = zext i1 %3 to i32 + ret i32 %lor.ext +} + +; Function Attrs: noinline nounwind uwtable +define i32 @iswprint(i32 %wc) #0 { +entry: + %wc.addr = alloca i32, align 4 + store i32 %wc, i32* %wc.addr, align 4 + %0 = load i32, i32* %wc.addr, align 4 + %call = call i32 @iswctype(i32 %0, i32 8) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.568* %stream, i8* %buf, i64 %bufsize) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %rv = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + store i64 0, i64* %rv, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 4 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end18, label %if.then + +if.then: ; preds = %entry + %2 = load i64, i64* %bufsize.addr, align 8 + %cmp = icmp ugt i64 %2, 9223372036854775807 + br i1 %cmp, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + store i64 9223372036854775807, i64* %bufsize.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 2 + %4 = load i32, i32* %__filedes, align 4 + %5 = load i8*, i8** %buf.addr, align 8 + %6 = load i64, i64* %bufsize.addr, align 8 + %call = call i64 @read(i32 %4, i8* %5, i64 %6) #18 + store i64 %call, i64* %rv, align 8 + %cmp3 = icmp sle i64 %call, 0 + br i1 %cmp3, label %if.then5, label %if.end18 + +if.then5: ; preds = %if.end + %7 = load i64, i64* %rv, align 8 + %cmp6 = icmp eq i64 %7, 0 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags9 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags9, align 8 + %conv10 = zext i16 %9 to i32 + br i1 %cmp6, label %if.then8, label %if.else + +if.then8: ; preds = %if.then5 + %or = or i32 %conv10, 4 + %conv11 = trunc i32 %or to i16 + store i16 %conv11, i16* %__modeflags9, align 8 + br label %if.end18 + +if.else: ; preds = %if.then5 + %or14 = or i32 %conv10, 8 + %conv15 = trunc i32 %or14 to i16 + store i16 %conv15, i16* %__modeflags9, align 8 + store i64 0, i64* %rv, align 8 + br label %if.end18 + +if.end18: ; preds = %if.end, %if.else, %if.then8, %entry + %10 = load i64, i64* %rv, align 8 + ret i64 %10 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %stream, i8* %buf, i64 %bufsize) #0 { +entry: + %retval = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %todo = alloca i64, align 8 + %rv = alloca i64, align 8 + %stodo = alloca i64, align 8 + %s = alloca i8*, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i64, i64* %bufsize.addr, align 8 + store i64 %0, i64* %todo, align 8 + br label %do.body + +do.body: ; preds = %if.then3, %entry + %1 = load i64, i64* %todo, align 8 + %cmp = icmp eq i64 %1, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %do.body + %2 = load i64, i64* %bufsize.addr, align 8 + store i64 %2, i64* %retval, align 8 + br label %do.end32 + +if.end: ; preds = %do.body + %3 = load i64, i64* %todo, align 8 + %cmp1 = icmp ule i64 %3, 9223372036854775807 + %4 = load i64, i64* %todo, align 8 + %cond = select i1 %cmp1, i64 %4, i64 9223372036854775807 + store i64 %cond, i64* %stodo, align 8 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 2 + %6 = load i32, i32* %__filedes, align 4 + %7 = load i8*, i8** %buf.addr, align 8 + %8 = load i64, i64* %stodo, align 8 + %call = call i64 @write(i32 %6, i8* %7, i64 %8) #18 + store i64 %call, i64* %rv, align 8 + %cmp2 = icmp sge i64 %call, 0 + br i1 %cmp2, label %if.then3, label %if.else + +if.then3: ; preds = %if.end + %9 = load i64, i64* %rv, align 8 + %10 = load i64, i64* %todo, align 8 + %sub = sub i64 %10, %9 + store i64 %sub, i64* %todo, align 8 + %11 = load i64, i64* %rv, align 8 + %12 = load i8*, i8** %buf.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %12, i64 %11 + store i8* %add.ptr, i8** %buf.addr, align 8 + br label %do.body + +if.else: ; preds = %if.end + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 0 + %14 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %14 to i32 + %or = or i32 %conv, 8 + %conv4 = trunc i32 %or to i16 + store i16 %conv4, i16* %__modeflags, align 8 + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 4 + %16 = load i8*, i8** %__bufend, align 8 + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 3 + %18 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %16 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %18 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %stodo, align 8 + %cmp5 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %cmp5, label %if.then7, label %if.end28 + +if.then7: ; preds = %if.else + %19 = load i64, i64* %stodo, align 8 + %20 = load i64, i64* %todo, align 8 + %cmp8 = icmp ugt i64 %19, %20 + br i1 %cmp8, label %if.then10, label %if.end11 + +if.then10: ; preds = %if.then7 + %21 = load i64, i64* %todo, align 8 + store i64 %21, i64* %stodo, align 8 + br label %if.end11 + +if.end11: ; preds = %if.then10, %if.then7 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart12 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 3 + %23 = load i8*, i8** %__bufstart12, align 8 + store i8* %23, i8** %s, align 8 + br label %do.body13 + +do.body13: ; preds = %if.end20, %if.end11 + %24 = load i8*, i8** %buf.addr, align 8 + %25 = load i8, i8* %24, align 1 + %26 = load i8*, i8** %s, align 8 + store i8 %25, i8* %26, align 1 + %conv14 = zext i8 %25 to i32 + %cmp15 = icmp eq i32 %conv14, 10 + br i1 %cmp15, label %land.lhs.true, label %if.end20 + +land.lhs.true: ; preds = %do.body13 + %27 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %27, i32 0, i32 0 + %28 = load i16, i16* %__modeflags17, align 8 + %conv18 = zext i16 %28 to i32 + %and = and i32 %conv18, 256 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %do.end, label %if.end20 + +if.end20: ; preds = %land.lhs.true, %do.body13 + %29 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %29, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %30 = load i8*, i8** %buf.addr, align 8 + %incdec.ptr21 = getelementptr inbounds i8, i8* %30, i32 1 + store i8* %incdec.ptr21, i8** %buf.addr, align 8 + %31 = load i64, i64* %stodo, align 8 + %dec = add nsw i64 %31, -1 + store i64 %dec, i64* %stodo, align 8 + %tobool22 = icmp ne i64 %dec, 0 + br i1 %tobool22, label %do.body13, label %do.end + +do.end: ; preds = %land.lhs.true, %if.end20 + %32 = load i8*, i8** %s, align 8 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %33, i32 0, i32 5 + store i8* %32, i8** %__bufpos, align 8 + %34 = load i8*, i8** %s, align 8 + %35 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart23 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %35, i32 0, i32 3 + %36 = load i8*, i8** %__bufstart23, align 8 + %sub.ptr.lhs.cast24 = ptrtoint i8* %34 to i64 + %sub.ptr.rhs.cast25 = ptrtoint i8* %36 to i64 + %sub.ptr.sub26 = sub i64 %sub.ptr.lhs.cast24, %sub.ptr.rhs.cast25 + %37 = load i64, i64* %todo, align 8 + %sub27 = sub i64 %37, %sub.ptr.sub26 + store i64 %sub27, i64* %todo, align 8 + br label %if.end28 + +if.end28: ; preds = %do.end, %if.else + %38 = load i64, i64* %bufsize.addr, align 8 + %39 = load i64, i64* %todo, align 8 + %sub29 = sub i64 %38, %39 + store i64 %sub29, i64* %retval, align 8 + br label %do.end32 + +do.end32: ; preds = %if.then, %if.end28 + %40 = load i64, i64* %retval, align 8 + ret i64 %40 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__freading(%struct.__STDIO_FILE_STRUCT.519* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.519*, align 8 + store %struct.__STDIO_FILE_STRUCT.519* %stream, %struct.__STDIO_FILE_STRUCT.519** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.519*, %struct.__STDIO_FILE_STRUCT.519** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.519, %struct.__STDIO_FILE_STRUCT.519* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 35 + ret i32 %and +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_rfill(%struct.__STDIO_FILE_STRUCT.568* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %rv = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %1, i32 0, i32 3 + %2 = load i8*, i8** %__bufstart, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 4 + %4 = load i8*, i8** %__bufend, align 8 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 3 + %6 = load i8*, i8** %__bufstart1, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %4 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %6 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %call = call i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.568* %0, i8* %2, i64 %sub.ptr.sub) #18 + store i64 %call, i64* %rv, align 8 + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %7, i32 0, i32 3 + %8 = load i8*, i8** %__bufstart2, align 8 + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %9, i32 0, i32 5 + store i8* %8, i8** %__bufpos, align 8 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart3 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 3 + %11 = load i8*, i8** %__bufstart3, align 8 + %12 = load i64, i64* %rv, align 8 + %add.ptr = getelementptr inbounds i8, i8* %11, i64 %12 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 6 + store i8* %add.ptr, i8** %__bufread, align 8 + %14 = load i64, i64* %rv, align 8 + ret i64 %14 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_trans2r_o(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %oflag) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %oflag.addr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %oflag, i32* %oflag.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %2 = load i32, i32* %oflag.addr, align 4 + %and = and i32 %conv, %2 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end9, label %if.then + +if.then: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 0 + %4 = load i16, i16* %__modeflags1, align 8 + %conv2 = zext i16 %4 to i32 + %and3 = and i32 %conv2, 2176 + %tobool4 = icmp ne i32 %and3, 0 + br i1 %tobool4, label %DO_EBADF, label %if.end + +if.end: ; preds = %if.then + %5 = load i32, i32* %oflag.addr, align 4 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 0 + %7 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %7 to i32 + %or = or i32 %conv7, %5 + %conv8 = trunc i32 %or to i16 + store i16 %conv8, i16* %__modeflags6, align 8 + br label %if.end9 + +if.end9: ; preds = %if.end, %entry + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags10, align 8 + %conv11 = zext i16 %9 to i32 + %and12 = and i32 %conv11, 16 + %tobool13 = icmp ne i32 %and12, 0 + br i1 %tobool13, label %DO_EBADF, label %if.end19 + +DO_EBADF: ; preds = %if.end9, %if.then + store i32 9, i32* @errno, align 4 + br label %ERROR + +ERROR: ; preds = %if.then24, %DO_EBADF + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags15 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 0 + %11 = load i16, i16* %__modeflags15, align 8 + %conv16 = zext i16 %11 to i32 + %or17 = or i32 %conv16, 8 + %conv18 = trunc i32 %or17 to i16 + store i16 %conv18, i16* %__modeflags15, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end19: ; preds = %if.end9 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags20 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags20, align 8 + %conv21 = zext i16 %13 to i32 + %and22 = and i32 %conv21, 64 + %tobool23 = icmp ne i32 %and22, 0 + br i1 %tobool23, label %if.then24, label %if.end32 + +if.then24: ; preds = %if.end19 + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %14) #18 + %tobool25 = icmp ne i64 %call, 0 + br i1 %tobool25, label %ERROR, label %if.end27 + +if.end27: ; preds = %if.then24 + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 3 + %16 = load i8*, i8** %__bufstart, align 8 + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 8 + store i8* %16, i8** %__bufputc_u, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags28 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 0 + %19 = load i16, i16* %__modeflags28, align 8 + %conv29 = zext i16 %19 to i32 + %and30 = and i32 %conv29, -65 + %conv31 = trunc i32 %and30 to i16 + store i16 %conv31, i16* %__modeflags28, align 8 + br label %if.end32 + +if.end32: ; preds = %if.end27, %if.end19 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags33 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 0 + %21 = load i16, i16* %__modeflags33, align 8 + %conv34 = zext i16 %21 to i32 + %or35 = or i32 %conv34, 1 + %conv36 = trunc i32 %or35 to i16 + store i16 %conv36, i16* %__modeflags33, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end32, %ERROR + %22 = load i32, i32* %retval, align 4 + ret i32 %22 +} + +; Function Attrs: noinline nounwind uwtable +define void @clearerr_unlocked(%struct.__STDIO_FILE_STRUCT.581* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.581*, align 8 + store %struct.__STDIO_FILE_STRUCT.581* %stream, %struct.__STDIO_FILE_STRUCT.581** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.581*, %struct.__STDIO_FILE_STRUCT.581** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.581, %struct.__STDIO_FILE_STRUCT.581* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, -13 + %conv1 = trunc i32 %and to i16 + store i16 %conv1, i16* %__modeflags, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fclose(%struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %rv = alloca i32, align 4 + %ptr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 0, i32* %rv, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %0, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %1, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp = icmp eq %struct.__STDIO_FILE_STRUCT.568* %1, %2 + br i1 %cmp, label %if.then, label %while.cond + +if.then: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 9 + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %4, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + br label %if.end7 + +while.cond: ; preds = %entry, %if.end + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %5, null + br i1 %tobool, label %while.body, label %if.end7 + +while.body: ; preds = %while.cond + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 9 + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen1, align 8 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp2 = icmp eq %struct.__STDIO_FILE_STRUCT.568* %7, %8 + br i1 %cmp2, label %if.then3, label %if.end + +if.then3: ; preds = %while.body + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen4 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %9, i32 0, i32 9 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen4, align 8 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen5 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 9 + store %struct.__STDIO_FILE_STRUCT.568* %10, %struct.__STDIO_FILE_STRUCT.568** %__nextopen5, align 8 + br label %if.end7 + +if.end: ; preds = %while.body + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 9 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen6, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %13, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + br label %while.cond + +if.end7: ; preds = %while.cond, %if.then3, %if.then + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %14, i32 0, i32 0 + %15 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %15 to i32 + %and = and i32 %conv, 64 + %tobool8 = icmp ne i32 %and, 0 + br i1 %tobool8, label %if.then9, label %if.end10 + +if.then9: ; preds = %if.end7 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.568* %16) #18 + store i32 %call, i32* %rv, align 4 + br label %if.end10 + +if.end10: ; preds = %if.then9, %if.end7 + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 2 + %18 = load i32, i32* %__filedes, align 4 + %call11 = call i32 @close(i32 %18) #18 + %cmp12 = icmp slt i32 %call11, 0 + br i1 %cmp12, label %if.then14, label %if.end15 + +if.then14: ; preds = %if.end10 + store i32 -1, i32* %rv, align 4 + br label %if.end15 + +if.end15: ; preds = %if.then14, %if.end10 + %19 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes16 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %19, i32 0, i32 2 + store i32 -1, i32* %__filedes16, align 4 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 0 + %21 = load i16, i16* %__modeflags17, align 8 + %conv18 = zext i16 %21 to i32 + %and19 = and i32 %conv18, 24576 + %conv20 = trunc i32 %and19 to i16 + store i16 %conv20, i16* %__modeflags17, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags21 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 0 + %23 = load i16, i16* %__modeflags21, align 8 + %conv22 = zext i16 %23 to i32 + %or = or i32 %conv22, 48 + %conv23 = trunc i32 %or to i16 + store i16 %conv23, i16* %__modeflags21, align 8 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags24 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 0 + %25 = load i16, i16* %__modeflags24, align 8 + %conv25 = zext i16 %25 to i32 + %and26 = and i32 %conv25, 16384 + %tobool27 = icmp ne i32 %and26, 0 + br i1 %tobool27, label %if.then28, label %do.body30 + +if.then28: ; preds = %if.end15 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 3 + %27 = load i8*, i8** %__bufstart, align 8 + call void @free(i8* %27) #19 + br label %do.body30 + +do.body30: ; preds = %if.then28, %if.end15 + %28 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags31 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %28, i32 0, i32 0 + %29 = load i16, i16* %__modeflags31, align 8 + %conv32 = zext i16 %29 to i32 + %and33 = and i32 %conv32, 8192 + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %if.then35, label %do.end37 + +if.then35: ; preds = %do.body30 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %31 = bitcast %struct.__STDIO_FILE_STRUCT.568* %30 to i8* + call void @free(i8* %31) #19 + br label %do.end37 + +do.end37: ; preds = %do.body30, %if.then35 + %32 = load i32, i32* %rv, align 4 + ret i32 %32 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @ferror_unlocked(%struct.__STDIO_FILE_STRUCT.592* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.592*, align 8 + store %struct.__STDIO_FILE_STRUCT.592* %stream, %struct.__STDIO_FILE_STRUCT.592** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.592*, %struct.__STDIO_FILE_STRUCT.592** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.592, %struct.__STDIO_FILE_STRUCT.592* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 8 + ret i32 %and +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %retval1 = alloca i32, align 4 + %bufmask = alloca i16, align 2 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 0, i32* %retval1, align 4 + store i16 256, i16* %bufmask, align 2 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp = icmp eq %struct.__STDIO_FILE_STRUCT.568* %0, bitcast (%struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist to %struct.__STDIO_FILE_STRUCT.568*) + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store %struct.__STDIO_FILE_STRUCT.568* null, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i16 0, i16* %bufmask, align 2 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %1, null + br i1 %tobool, label %if.else21, label %if.then2 + +if.then2: ; preds = %if.end + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %2, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end20, %if.then2 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %tobool3 = icmp ne %struct.__STDIO_FILE_STRUCT.568* %3, null + br i1 %tobool3, label %while.body, label %if.end39 + +while.body: ; preds = %while.cond + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 0 + %5 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %5 to i32 + %and = and i32 %conv, 64 + %tobool4 = icmp ne i32 %and, 0 + br i1 %tobool4, label %if.then5, label %if.end20 + +if.then5: ; preds = %while.body + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 0 + %7 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %7 to i32 + %8 = load i16, i16* %bufmask, align 2 + %conv8 = zext i16 %8 to i32 + %or = or i32 %conv7, %conv8 + %xor = xor i32 %or, 320 + %and9 = and i32 %xor, 832 + %tobool10 = icmp ne i32 %and9, 0 + br i1 %tobool10, label %if.end20, label %if.then11 + +if.then11: ; preds = %if.then5 + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %9) #18 + %tobool12 = icmp ne i64 %call, 0 + br i1 %tobool12, label %if.else, label %if.then13 + +if.then13: ; preds = %if.then11 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 3 + %11 = load i8*, i8** %__bufstart, align 8 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 8 + store i8* %11, i8** %__bufputc_u, align 8 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags14 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 0 + %14 = load i16, i16* %__modeflags14, align 8 + %conv15 = zext i16 %14 to i32 + %and16 = and i32 %conv15, -65 + %conv17 = trunc i32 %and16 to i16 + store i16 %conv17, i16* %__modeflags14, align 8 + br label %if.end20 + +if.else: ; preds = %if.then11 + store i32 -1, i32* %retval1, align 4 + br label %if.end20 + +if.end20: ; preds = %if.then5, %if.else, %if.then13, %while.body + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 9 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %16, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br label %while.cond + +if.else21: ; preds = %if.end + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags22 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 0 + %18 = load i16, i16* %__modeflags22, align 8 + %conv23 = zext i16 %18 to i32 + %and24 = and i32 %conv23, 64 + %tobool25 = icmp ne i32 %and24, 0 + br i1 %tobool25, label %if.then26, label %if.end39 + +if.then26: ; preds = %if.else21 + %19 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call27 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %19) #18 + %tobool28 = icmp ne i64 %call27, 0 + br i1 %tobool28, label %if.else36, label %if.then29 + +if.then29: ; preds = %if.then26 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart30 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 3 + %21 = load i8*, i8** %__bufstart30, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u31 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 8 + store i8* %21, i8** %__bufputc_u31, align 8 + %23 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags32 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %23, i32 0, i32 0 + %24 = load i16, i16* %__modeflags32, align 8 + %conv33 = zext i16 %24 to i32 + %and34 = and i32 %conv33, -65 + %conv35 = trunc i32 %and34 to i16 + store i16 %conv35, i16* %__modeflags32, align 8 + br label %if.end39 + +if.else36: ; preds = %if.then26 + store i32 -1, i32* %retval1, align 4 + br label %if.end39 + +if.end39: ; preds = %if.else21, %if.else36, %if.then29, %while.cond + %25 = load i32, i32* %retval1, align 4 + ret i32 %25 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fileno_unlocked(%struct.__STDIO_FILE_STRUCT.608* %stream) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.608*, align 8 + store %struct.__STDIO_FILE_STRUCT.608* %stream, %struct.__STDIO_FILE_STRUCT.608** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.608*, %struct.__STDIO_FILE_STRUCT.608** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.608, %struct.__STDIO_FILE_STRUCT.608* %0, i32 0, i32 2 + %1 = load i32, i32* %__filedes, align 4 + %cmp = icmp sge i32 %1, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.608*, %struct.__STDIO_FILE_STRUCT.608** %stream.addr, align 8 + %__filedes1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.608, %struct.__STDIO_FILE_STRUCT.608* %2, i32 0, i32 2 + %3 = load i32, i32* %__filedes1, align 4 + store i32 %3, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + store i32 9, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.__STDIO_FILE_STRUCT.612* @fopen(i8* noalias %filename, i8* noalias %mode) #0 { +entry: + %filename.addr = alloca i8*, align 8 + %mode.addr = alloca i8*, align 8 + store i8* %filename, i8** %filename.addr, align 8 + store i8* %mode, i8** %mode.addr, align 8 + %0 = load i8*, i8** %filename.addr, align 8 + %1 = ptrtoint i8* %0 to i64 + %2 = load i8*, i8** %mode.addr, align 8 + %call = call %struct.__STDIO_FILE_STRUCT.612* bitcast (%struct.__STDIO_FILE_STRUCT.568* (i64, i8*, %struct.__STDIO_FILE_STRUCT.568*, i32)* @_stdio_fopen to %struct.__STDIO_FILE_STRUCT.612* (i64, i8*, %struct.__STDIO_FILE_STRUCT.612*, i32)*)(i64 %1, i8* %2, %struct.__STDIO_FILE_STRUCT.612* null, i32 -1) #18 + ret %struct.__STDIO_FILE_STRUCT.612* %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fprintf(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i8* noalias %format, ...) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %format.addr = alloca i8*, align 8 + %arg = alloca [1 x %struct.__va_list_tag.0], align 16 + %rv = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdout, align 8 + %cmp = icmp eq %struct.__STDIO_FILE_STRUCT.568* %0, %1 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %cmp2 = icmp eq %struct.__STDIO_FILE_STRUCT.568* %2, %3 + br i1 %cmp2, label %if.then, label %if.else + +if.then: ; preds = %lor.lhs.false, %entry + %4 = load i8*, i8** %format.addr, align 8 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %call = call i32 @vprintf(i8* %4, %struct.__va_list_tag.0* %arraydecay3) #18 + store i32 %call, i32* %rv, align 4 + br label %if.end + +if.else: ; preds = %lor.lhs.false + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %6 = load i8*, i8** %format.addr, align 8 + %arraydecay4 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %call5 = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %5, i8* %6, %struct.__va_list_tag.0* %arraydecay4) #18 + store i32 %call5, i32* %rv, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %arraydecay6 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay67 = bitcast %struct.__va_list_tag.0* %arraydecay6 to i8* + call void @llvm.va_end(i8* %arraydecay67) + %7 = load i32, i32* %rv, align 4 + ret i32 %7 +} + +declare i32 @vprintf(i8*, %struct.__va_list_tag.0*) #17 + +; Function Attrs: noinline nounwind uwtable +define i32 @__fputc_unlocked(i32 %c, %struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %retval = alloca i32, align 4 + %c.addr = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %uc = alloca i8, align 1 + store i32 %c, i32* %c.addr, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 5 + %1 = load i8*, i8** %__bufpos, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 8 + %3 = load i8*, i8** %__bufputc_u, align 8 + %cmp = icmp ult i8* %1, %3 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %4 = load i32, i32* %c.addr, align 4 + %conv = trunc i32 %4 to i8 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 5 + %6 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + store i8 %conv, i8* %6, align 1 + %7 = load i32, i32* %c.addr, align 4 + %conv2 = trunc i32 %7 to i8 + %conv3 = zext i8 %conv2 to i32 + store i32 %conv3, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags, align 8 + %conv4 = zext i16 %9 to i32 + %and = and i32 %conv4, 192 + %cmp5 = icmp eq i32 %and, 192 + br i1 %cmp5, label %if.then7, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* %10, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %BAD, label %if.then7 + +if.then7: ; preds = %lor.lhs.false, %if.end + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 2 + %12 = load i32, i32* %__filedes, align 4 + %cmp8 = icmp eq i32 %12, -2 + br i1 %cmp8, label %if.then10, label %if.end13 + +if.then10: ; preds = %if.then7 + %13 = load i32, i32* %c.addr, align 4 + %conv11 = trunc i32 %13 to i8 + %conv12 = zext i8 %conv11 to i32 + store i32 %conv12, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.then7 + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %14, i32 0, i32 4 + %15 = load i8*, i8** %__bufend, align 8 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %16, i32 0, i32 3 + %17 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %15 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %17 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool14 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %tobool14, label %if.then15, label %if.else + +if.then15: ; preds = %if.end13 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend16 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 4 + %19 = load i8*, i8** %__bufend16, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 5 + %21 = load i8*, i8** %__bufpos17, align 8 + %sub.ptr.lhs.cast18 = ptrtoint i8* %19 to i64 + %sub.ptr.rhs.cast19 = ptrtoint i8* %21 to i64 + %sub.ptr.sub20 = sub i64 %sub.ptr.lhs.cast18, %sub.ptr.rhs.cast19 + %tobool21 = icmp ne i64 %sub.ptr.sub20, 0 + br i1 %tobool21, label %if.end25, label %land.lhs.true + +land.lhs.true: ; preds = %if.then15 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call22 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %22) #18 + %tobool23 = icmp ne i64 %call22, 0 + br i1 %tobool23, label %BAD, label %if.end25 + +if.end25: ; preds = %land.lhs.true, %if.then15 + %23 = load i32, i32* %c.addr, align 4 + %conv26 = trunc i32 %23 to i8 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos27 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 5 + %25 = load i8*, i8** %__bufpos27, align 8 + %incdec.ptr28 = getelementptr inbounds i8, i8* %25, i32 1 + store i8* %incdec.ptr28, i8** %__bufpos27, align 8 + store i8 %conv26, i8* %25, align 1 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags29 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 0 + %27 = load i16, i16* %__modeflags29, align 8 + %conv30 = zext i16 %27 to i32 + %and31 = and i32 %conv30, 256 + %tobool32 = icmp ne i32 %and31, 0 + br i1 %tobool32, label %if.then33, label %if.end51 + +if.then33: ; preds = %if.end25 + %28 = load i32, i32* %c.addr, align 4 + %conv34 = trunc i32 %28 to i8 + %conv35 = zext i8 %conv34 to i32 + %cmp36 = icmp eq i32 %conv35, 10 + br i1 %cmp36, label %land.lhs.true38, label %if.end51 + +land.lhs.true38: ; preds = %if.then33 + %29 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call39 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %29) #18 + %tobool40 = icmp ne i64 %call39, 0 + br i1 %tobool40, label %if.then41, label %if.end51 + +if.then41: ; preds = %land.lhs.true38 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos42 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %30, i32 0, i32 5 + %31 = load i8*, i8** %__bufpos42, align 8 + %incdec.ptr43 = getelementptr inbounds i8, i8* %31, i32 -1 + store i8* %incdec.ptr43, i8** %__bufpos42, align 8 + br label %BAD + +if.else: ; preds = %if.end13 + %32 = load i32, i32* %c.addr, align 4 + %conv46 = trunc i32 %32 to i8 + store i8 %conv46, i8* %uc, align 1 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call47 = call i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %33, i8* %uc, i64 1) #18 + %tobool48 = icmp ne i64 %call47, 0 + br i1 %tobool48, label %if.end51, label %BAD + +if.end51: ; preds = %if.else, %if.end25, %land.lhs.true38, %if.then33 + %34 = load i32, i32* %c.addr, align 4 + %conv52 = trunc i32 %34 to i8 + %conv53 = zext i8 %conv52 to i32 + store i32 %conv53, i32* %retval, align 4 + br label %return + +BAD: ; preds = %lor.lhs.false, %if.else, %land.lhs.true, %if.then41 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %BAD, %if.end51, %if.then10, %if.then + %35 = load i32, i32* %retval, align 4 + ret i32 %35 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fputs_unlocked(i8* noalias %s, %struct.__STDIO_FILE_STRUCT.621* noalias %stream) #0 { +entry: + %s.addr = alloca i8*, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.621*, align 8 + %n = alloca i64, align 8 + store i8* %s, i8** %s.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.621* %stream, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %call = call i64 @strlen(i8* %0) #20 + store i64 %call, i64* %n, align 8 + %1 = load i8*, i8** %s.addr, align 8 + %2 = load i64, i64* %n, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %call1 = call i64 @fwrite_unlocked(i8* %1, i64 1, i64 %2, %struct.__STDIO_FILE_STRUCT.621* %3) #18 + %4 = load i64, i64* %n, align 8 + %cmp = icmp eq i64 %call1, %4 + %5 = load i64, i64* %n, align 8 + %cond = select i1 %cmp, i64 %5, i64 -1 + %conv = trunc i64 %cond to i32 + ret i32 %conv +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fseek(%struct.__STDIO_FILE_STRUCT.636* %stream, i64 %offset, i32 %whence) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %1 = load i64, i64* %offset.addr, align 8 + %2 = load i32, i32* %whence.addr, align 4 + %call = call i32 @fseeko64(%struct.__STDIO_FILE_STRUCT.636* %0, i64 %1, i32 %2) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @putchar_unlocked(i32 %c) #0 { +entry: + %c.addr = alloca i32, align 4 + %stream = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + store i32 %c, i32* %c.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdout, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %0, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %1, i32 0, i32 5 + %2 = load i8*, i8** %__bufpos, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 8 + %4 = load i8*, i8** %__bufputc_u, align 8 + %cmp = icmp ult i8* %2, %4 + %5 = load i32, i32* %c.addr, align 4 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %entry + %conv = trunc i32 %5 to i8 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 5 + %7 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %7, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + store i8 %conv, i8* %7, align 1 + %conv2 = zext i8 %conv to i32 + br label %cond.end + +cond.false: ; preds = %entry + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %call = call i32 @__fputc_unlocked(i32 %5, %struct.__STDIO_FILE_STRUCT.568* %8) #18 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ %conv2, %cond.true ], [ %call, %cond.false ] + ret i32 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i32 @vsnprintf(i8* noalias %buf, i64 %size, i8* noalias %format, %struct.__va_list_tag.0* %arg) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %format.addr = alloca i8*, align 8 + %arg.addr = alloca %struct.__va_list_tag.0*, align 8 + %f = alloca %struct.__STDIO_FILE_STRUCT.568, align 8 + %rv = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + store %struct.__va_list_tag.0* %arg, %struct.__va_list_tag.0** %arg.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 2 + store i32 -2, i32* %__filedes, align 4 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 0 + store i16 208, i16* %__modeflags, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 1 + %arrayidx = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 0 + store i8 0, i8* %arrayidx, align 2 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + store i32 0, i32* %__mask, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 9 + store %struct.__STDIO_FILE_STRUCT.568* null, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + %0 = load i64, i64* %size.addr, align 8 + %1 = load i8*, i8** %buf.addr, align 8 + %2 = ptrtoint i8* %1 to i64 + %sub = sub i64 -1, %2 + %cmp = icmp ugt i64 %0, %sub + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %3 = load i8*, i8** %buf.addr, align 8 + %4 = ptrtoint i8* %3 to i64 + %sub1 = sub i64 -1, %4 + store i64 %sub1, i64* %size.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %5 = load i8*, i8** %buf.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 3 + store i8* %5, i8** %__bufstart, align 8 + %6 = load i8*, i8** %buf.addr, align 8 + %7 = load i64, i64* %size.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %6, i64 %7 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 4 + store i8* %add.ptr, i8** %__bufend, align 8 + %__bufstart2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 3 + %8 = load i8*, i8** %__bufstart2, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + store i8* %8, i8** %__bufpos, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 6 + store i8* %8, i8** %__bufread, align 8 + %__bufstart3 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 3 + %9 = load i8*, i8** %__bufstart3, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 7 + store i8* %9, i8** %__bufgetc_u, align 8 + %__bufend4 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 4 + %10 = load i8*, i8** %__bufend4, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 8 + store i8* %10, i8** %__bufputc_u, align 8 + %11 = load i8*, i8** %format.addr, align 8 + %12 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %arg.addr, align 8 + %call = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %f, i8* %11, %struct.__va_list_tag.0* %12) #18 + store i32 %call, i32* %rv, align 4 + %13 = load i64, i64* %size.addr, align 8 + %tobool = icmp ne i64 %13, 0 + br i1 %tobool, label %if.then5, label %if.end13 + +if.then5: ; preds = %if.end + %__bufpos6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + %14 = load i8*, i8** %__bufpos6, align 8 + %__bufend7 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 4 + %15 = load i8*, i8** %__bufend7, align 8 + %cmp8 = icmp eq i8* %14, %15 + br i1 %cmp8, label %if.then9, label %if.end11 + +if.then9: ; preds = %if.then5 + %__bufpos10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + %16 = load i8*, i8** %__bufpos10, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %16, i32 -1 + store i8* %incdec.ptr, i8** %__bufpos10, align 8 + br label %if.end11 + +if.end11: ; preds = %if.then9, %if.then5 + %__bufpos12 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + %17 = load i8*, i8** %__bufpos12, align 8 + store i8 0, i8* %17, align 1 + br label %if.end13 + +if.end13: ; preds = %if.end11, %if.end + %18 = load i32, i32* %rv, align 4 + ret i32 %18 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @atexit(void ()* nonnull %func) #0 { +entry: + %func.addr = alloca void ()*, align 8 + store void ()* %func, void ()** %func.addr, align 8 + %0 = load void ()*, void ()** %func.addr, align 8 + %1 = bitcast void ()* %0 to void (i8*)* + br i1 icmp eq (i8** @__dso_handle, i8** null), label %cond.end, label %cond.false + +cond.false: ; preds = %entry + %2 = load i8*, i8** @__dso_handle, align 8 + br label %cond.end + +cond.end: ; preds = %entry, %cond.false + %cond = phi i8* [ %2, %cond.false ], [ null, %entry ] + %call = call i32 @__cxa_atexit(void (i8*)* %1, i8* null, i8* %cond) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i8* @realpath(i8* %path, i8* nonnull %got_path) #0 { +entry: + %retval = alloca i8*, align 8 + %path.addr = alloca i8*, align 8 + %got_path.addr = alloca i8*, align 8 + %copy_path = alloca [4096 x i8], align 16 + %max_path = alloca i8*, align 8 + %new_path = alloca i8*, align 8 + %path_len = alloca i64, align 8 + %readlinks = alloca i32, align 4 + %link_len = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store i8* %got_path, i8** %got_path.addr, align 8 + store i32 0, i32* %readlinks, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %cmp = icmp eq i8* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 22, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %path.addr, align 8 + %2 = load i8, i8* %1, align 1 + %conv = sext i8 %2 to i32 + %cmp1 = icmp eq i32 %conv, 0 + br i1 %cmp1, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.end + store i32 2, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %if.end + %3 = load i8*, i8** %path.addr, align 8 + %call = call i64 @strlen(i8* %3) #20 + store i64 %call, i64* %path_len, align 8 + %4 = load i64, i64* %path_len, align 8 + %cmp5 = icmp uge i64 %4, 4094 + br i1 %cmp5, label %if.then7, label %if.end8 + +if.then7: ; preds = %if.end4 + store i32 36, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end8: ; preds = %if.end4 + %arraydecay = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 4095 + %5 = load i64, i64* %path_len, align 8 + %idx.neg = sub i64 0, %5 + %add.ptr9 = getelementptr inbounds i8, i8* %add.ptr, i64 %idx.neg + %6 = load i8*, i8** %path.addr, align 8 + %call10 = call i8* @strcpy(i8* %add.ptr9, i8* %6) #19 + %arraydecay11 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr12 = getelementptr inbounds i8, i8* %arraydecay11, i64 4095 + %7 = load i64, i64* %path_len, align 8 + %idx.neg13 = sub i64 0, %7 + %add.ptr14 = getelementptr inbounds i8, i8* %add.ptr12, i64 %idx.neg13 + store i8* %add.ptr14, i8** %path.addr, align 8 + %8 = load i8*, i8** %got_path.addr, align 8 + %add.ptr15 = getelementptr inbounds i8, i8* %8, i64 4096 + %add.ptr16 = getelementptr inbounds i8, i8* %add.ptr15, i64 -2 + store i8* %add.ptr16, i8** %max_path, align 8 + %9 = load i8*, i8** %got_path.addr, align 8 + store i8* %9, i8** %new_path, align 8 + %10 = load i8*, i8** %path.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv17 = sext i8 %11 to i32 + %cmp18 = icmp ne i32 %conv17, 47 + %12 = load i8*, i8** %new_path, align 8 + br i1 %cmp18, label %if.then20, label %if.else + +if.then20: ; preds = %if.end8 + %call21 = call i8* @getcwd(i8* %12, i64 4095) #19 + %tobool = icmp ne i8* %call21, null + br i1 %tobool, label %if.end23, label %if.then22 + +if.then22: ; preds = %if.then20 + store i8* null, i8** %retval, align 8 + br label %return + +if.end23: ; preds = %if.then20 + %13 = load i8*, i8** %new_path, align 8 + %call24 = call i64 @strlen(i8* %13) #20 + %14 = load i8*, i8** %new_path, align 8 + %add.ptr25 = getelementptr inbounds i8, i8* %14, i64 %call24 + store i8* %add.ptr25, i8** %new_path, align 8 + %15 = load i8*, i8** %new_path, align 8 + %arrayidx = getelementptr inbounds i8, i8* %15, i64 -1 + %16 = load i8, i8* %arrayidx, align 1 + %conv26 = sext i8 %16 to i32 + %cmp27 = icmp ne i32 %conv26, 47 + br i1 %cmp27, label %if.then29, label %if.end33 + +if.then29: ; preds = %if.end23 + %17 = load i8*, i8** %new_path, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %17, i32 1 + store i8* %incdec.ptr, i8** %new_path, align 8 + store i8 47, i8* %17, align 1 + br label %if.end33 + +if.else: ; preds = %if.end8 + %incdec.ptr31 = getelementptr inbounds i8, i8* %12, i32 1 + store i8* %incdec.ptr31, i8** %new_path, align 8 + store i8 47, i8* %12, align 1 + %18 = load i8*, i8** %path.addr, align 8 + %incdec.ptr32 = getelementptr inbounds i8, i8* %18, i32 1 + store i8* %incdec.ptr32, i8** %path.addr, align 8 + br label %if.end33 + +if.end33: ; preds = %if.end23, %if.then29, %if.else + br label %while.cond + +while.cond: ; preds = %while.cond79, %if.then72, %if.end155, %if.then55, %if.then40, %if.end33 + %19 = load i8*, i8** %path.addr, align 8 + %20 = load i8, i8* %19, align 1 + %conv34 = sext i8 %20 to i32 + %cmp35 = icmp ne i32 %conv34, 0 + br i1 %cmp35, label %while.body, label %while.end157 + +while.body: ; preds = %while.cond + %21 = load i8*, i8** %path.addr, align 8 + %22 = load i8, i8* %21, align 1 + %conv37 = sext i8 %22 to i32 + %cmp38 = icmp eq i32 %conv37, 47 + %23 = load i8*, i8** %path.addr, align 8 + br i1 %cmp38, label %if.then40, label %if.end42 + +if.then40: ; preds = %while.body + %incdec.ptr41 = getelementptr inbounds i8, i8* %23, i32 1 + store i8* %incdec.ptr41, i8** %path.addr, align 8 + br label %while.cond + +if.end42: ; preds = %while.body + %24 = load i8, i8* %23, align 1 + %conv43 = sext i8 %24 to i32 + %cmp44 = icmp eq i32 %conv43, 46 + br i1 %cmp44, label %if.then46, label %if.end88 + +if.then46: ; preds = %if.end42 + %25 = load i8*, i8** %path.addr, align 8 + %arrayidx47 = getelementptr inbounds i8, i8* %25, i64 1 + %26 = load i8, i8* %arrayidx47, align 1 + %conv48 = sext i8 %26 to i32 + %cmp49 = icmp eq i32 %conv48, 0 + br i1 %cmp49, label %if.then55, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then46 + %27 = load i8*, i8** %path.addr, align 8 + %arrayidx51 = getelementptr inbounds i8, i8* %27, i64 1 + %28 = load i8, i8* %arrayidx51, align 1 + %conv52 = sext i8 %28 to i32 + %cmp53 = icmp eq i32 %conv52, 47 + br i1 %cmp53, label %if.then55, label %if.end57 + +if.then55: ; preds = %lor.lhs.false, %if.then46 + %29 = load i8*, i8** %path.addr, align 8 + %incdec.ptr56 = getelementptr inbounds i8, i8* %29, i32 1 + store i8* %incdec.ptr56, i8** %path.addr, align 8 + br label %while.cond + +if.end57: ; preds = %lor.lhs.false + %30 = load i8*, i8** %path.addr, align 8 + %arrayidx58 = getelementptr inbounds i8, i8* %30, i64 1 + %31 = load i8, i8* %arrayidx58, align 1 + %conv59 = sext i8 %31 to i32 + %cmp60 = icmp eq i32 %conv59, 46 + br i1 %cmp60, label %if.then62, label %if.end88 + +if.then62: ; preds = %if.end57 + %32 = load i8*, i8** %path.addr, align 8 + %arrayidx63 = getelementptr inbounds i8, i8* %32, i64 2 + %33 = load i8, i8* %arrayidx63, align 1 + %conv64 = sext i8 %33 to i32 + %cmp65 = icmp eq i32 %conv64, 0 + br i1 %cmp65, label %if.then72, label %lor.lhs.false67 + +lor.lhs.false67: ; preds = %if.then62 + %34 = load i8*, i8** %path.addr, align 8 + %arrayidx68 = getelementptr inbounds i8, i8* %34, i64 2 + %35 = load i8, i8* %arrayidx68, align 1 + %conv69 = sext i8 %35 to i32 + %cmp70 = icmp eq i32 %conv69, 47 + br i1 %cmp70, label %if.then72, label %if.end88 + +if.then72: ; preds = %lor.lhs.false67, %if.then62 + %36 = load i8*, i8** %path.addr, align 8 + %add.ptr73 = getelementptr inbounds i8, i8* %36, i64 2 + store i8* %add.ptr73, i8** %path.addr, align 8 + %37 = load i8*, i8** %new_path, align 8 + %38 = load i8*, i8** %got_path.addr, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %38, i64 1 + %cmp75 = icmp eq i8* %37, %add.ptr74 + br i1 %cmp75, label %while.cond, label %while.cond79 + +while.cond79: ; preds = %while.cond79, %if.then72 + %39 = load i8*, i8** %new_path, align 8 + %incdec.ptr80 = getelementptr inbounds i8, i8* %39, i32 -1 + store i8* %incdec.ptr80, i8** %new_path, align 8 + %arrayidx81 = getelementptr inbounds i8, i8* %incdec.ptr80, i64 -1 + %40 = load i8, i8* %arrayidx81, align 1 + %conv82 = sext i8 %40 to i32 + %cmp83 = icmp ne i32 %conv82, 47 + br i1 %cmp83, label %while.cond79, label %while.cond + +if.end88: ; preds = %if.end57, %lor.lhs.false67, %if.end42 + br label %while.cond89 + +while.cond89: ; preds = %if.end100, %if.end88 + %41 = load i8*, i8** %path.addr, align 8 + %42 = load i8, i8* %41, align 1 + %conv90 = sext i8 %42 to i32 + %cmp91 = icmp ne i32 %conv90, 0 + br i1 %cmp91, label %land.rhs, label %while.end103 + +land.rhs: ; preds = %while.cond89 + %43 = load i8*, i8** %path.addr, align 8 + %44 = load i8, i8* %43, align 1 + %conv93 = sext i8 %44 to i32 + %cmp94 = icmp ne i32 %conv93, 47 + br i1 %cmp94, label %while.body96, label %while.end103 + +while.body96: ; preds = %land.rhs + %45 = load i8*, i8** %new_path, align 8 + %46 = load i8*, i8** %max_path, align 8 + %cmp97 = icmp ugt i8* %45, %46 + br i1 %cmp97, label %if.then99, label %if.end100 + +if.then99: ; preds = %while.body96 + store i32 36, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end100: ; preds = %while.body96 + %47 = load i8*, i8** %path.addr, align 8 + %incdec.ptr101 = getelementptr inbounds i8, i8* %47, i32 1 + store i8* %incdec.ptr101, i8** %path.addr, align 8 + %48 = load i8, i8* %47, align 1 + %49 = load i8*, i8** %new_path, align 8 + %incdec.ptr102 = getelementptr inbounds i8, i8* %49, i32 1 + store i8* %incdec.ptr102, i8** %new_path, align 8 + store i8 %48, i8* %49, align 1 + br label %while.cond89 + +while.end103: ; preds = %while.cond89, %land.rhs + %50 = load i32, i32* %readlinks, align 4 + %inc = add nsw i32 %50, 1 + store i32 %inc, i32* %readlinks, align 4 + %cmp104 = icmp sgt i32 %50, 32 + br i1 %cmp104, label %if.then106, label %if.end107 + +if.then106: ; preds = %while.end103 + store i32 40, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end107: ; preds = %while.end103 + %51 = load i8*, i8** %path.addr, align 8 + %call108 = call i64 @strlen(i8* %51) #20 + store i64 %call108, i64* %path_len, align 8 + %52 = load i8*, i8** %new_path, align 8 + store i8 0, i8* %52, align 1 + %53 = load i8*, i8** %got_path.addr, align 8 + %arraydecay109 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %call110 = call i64 @readlink(i8* %53, i8* %arraydecay109, i64 4095) #19 + %conv111 = trunc i64 %call110 to i32 + store i32 %conv111, i32* %link_len, align 4 + %54 = load i32, i32* %link_len, align 4 + %cmp112 = icmp slt i32 %54, 0 + br i1 %cmp112, label %if.then114, label %if.else119 + +if.then114: ; preds = %if.end107 + %55 = load i32, i32* @errno, align 4 + %cmp115 = icmp ne i32 %55, 22 + br i1 %cmp115, label %if.then117, label %if.end155 + +if.then117: ; preds = %if.then114 + store i8* null, i8** %retval, align 8 + br label %return + +if.else119: ; preds = %if.end107 + %56 = load i64, i64* %path_len, align 8 + %57 = load i32, i32* %link_len, align 4 + %conv120 = sext i32 %57 to i64 + %add = add i64 %56, %conv120 + %cmp121 = icmp uge i64 %add, 4094 + br i1 %cmp121, label %if.then123, label %if.end124 + +if.then123: ; preds = %if.else119 + store i32 36, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end124: ; preds = %if.else119 + %arraydecay125 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %58 = load i8, i8* %arraydecay125, align 16 + %conv126 = sext i8 %58 to i32 + %cmp127 = icmp eq i32 %conv126, 47 + br i1 %cmp127, label %if.then129, label %while.cond131 + +if.then129: ; preds = %if.end124 + %59 = load i8*, i8** %got_path.addr, align 8 + store i8* %59, i8** %new_path, align 8 + br label %if.end138 + +while.cond131: ; preds = %while.cond131, %if.end124 + %60 = load i8*, i8** %new_path, align 8 + %incdec.ptr132 = getelementptr inbounds i8, i8* %60, i32 -1 + store i8* %incdec.ptr132, i8** %new_path, align 8 + %61 = load i8, i8* %incdec.ptr132, align 1 + %conv133 = sext i8 %61 to i32 + %cmp134 = icmp ne i32 %conv133, 47 + br i1 %cmp134, label %while.cond131, label %if.end138 + +if.end138: ; preds = %while.cond131, %if.then129 + %arraydecay139 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr140 = getelementptr inbounds i8, i8* %arraydecay139, i64 4095 + %62 = load i32, i32* %link_len, align 4 + %idx.ext = sext i32 %62 to i64 + %idx.neg141 = sub i64 0, %idx.ext + %add.ptr142 = getelementptr inbounds i8, i8* %add.ptr140, i64 %idx.neg141 + %63 = load i64, i64* %path_len, align 8 + %idx.neg143 = sub i64 0, %63 + %add.ptr144 = getelementptr inbounds i8, i8* %add.ptr142, i64 %idx.neg143 + %arraydecay145 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %64 = load i32, i32* %link_len, align 4 + %conv146 = sext i32 %64 to i64 + %call147 = call i8* @memmove(i8* %add.ptr144, i8* %arraydecay145, i64 %conv146) #19 + %arraydecay148 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr149 = getelementptr inbounds i8, i8* %arraydecay148, i64 4095 + %65 = load i32, i32* %link_len, align 4 + %idx.ext150 = sext i32 %65 to i64 + %idx.neg151 = sub i64 0, %idx.ext150 + %add.ptr152 = getelementptr inbounds i8, i8* %add.ptr149, i64 %idx.neg151 + %66 = load i64, i64* %path_len, align 8 + %idx.neg153 = sub i64 0, %66 + %add.ptr154 = getelementptr inbounds i8, i8* %add.ptr152, i64 %idx.neg153 + store i8* %add.ptr154, i8** %path.addr, align 8 + br label %if.end155 + +if.end155: ; preds = %if.then114, %if.end138 + %67 = load i8*, i8** %new_path, align 8 + %incdec.ptr156 = getelementptr inbounds i8, i8* %67, i32 1 + store i8* %incdec.ptr156, i8** %new_path, align 8 + store i8 47, i8* %67, align 1 + br label %while.cond + +while.end157: ; preds = %while.cond + %68 = load i8*, i8** %new_path, align 8 + %69 = load i8*, i8** %got_path.addr, align 8 + %add.ptr158 = getelementptr inbounds i8, i8* %69, i64 1 + %cmp159 = icmp ne i8* %68, %add.ptr158 + br i1 %cmp159, label %land.lhs.true, label %if.end167 + +land.lhs.true: ; preds = %while.end157 + %70 = load i8*, i8** %new_path, align 8 + %arrayidx161 = getelementptr inbounds i8, i8* %70, i64 -1 + %71 = load i8, i8* %arrayidx161, align 1 + %conv162 = sext i8 %71 to i32 + %cmp163 = icmp eq i32 %conv162, 47 + br i1 %cmp163, label %if.then165, label %if.end167 + +if.then165: ; preds = %land.lhs.true + %72 = load i8*, i8** %new_path, align 8 + %incdec.ptr166 = getelementptr inbounds i8, i8* %72, i32 -1 + store i8* %incdec.ptr166, i8** %new_path, align 8 + br label %if.end167 + +if.end167: ; preds = %if.then165, %land.lhs.true, %while.end157 + %73 = load i8*, i8** %new_path, align 8 + store i8 0, i8* %73, align 1 + %74 = load i8*, i8** %got_path.addr, align 8 + store i8* %74, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end167, %if.then123, %if.then117, %if.then106, %if.then99, %if.then22, %if.then7, %if.then3, %if.then + %75 = load i8*, i8** %retval, align 8 + ret i8* %75 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @memcmp(i8* nonnull %s1, i8* nonnull %s2, i64 %n) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r1 = alloca i8*, align 8 + %r2 = alloca i8*, align 8 + %r = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %r1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %r2, align 8 + store i32 0, i32* %r, align 4 + br label %while.cond + +while.cond: ; preds = %land.rhs, %entry + %2 = load i64, i64* %n.addr, align 8 + %dec = add i64 %2, -1 + store i64 %dec, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %3 = load i8*, i8** %r1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %r1, align 8 + %4 = load i8, i8* %3, align 1 + %conv = zext i8 %4 to i32 + %5 = load i8*, i8** %r2, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr1, i8** %r2, align 8 + %6 = load i8, i8* %5, align 1 + %conv2 = zext i8 %6 to i32 + %sub = sub nsw i32 %conv, %conv2 + store i32 %sub, i32* %r, align 4 + %cmp = icmp eq i32 %sub, 0 + br i1 %cmp, label %while.cond, label %while.end + +while.end: ; preds = %while.cond, %land.rhs + %7 = load i32, i32* %r, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define noalias i8* @strndup(i8* nonnull %s1, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %s = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + %1 = load i64, i64* %n.addr, align 8 + %call = call i64 @strnlen(i8* %0, i64 %1) #20 + store i64 %call, i64* %n.addr, align 8 + %2 = load i64, i64* %n.addr, align 8 + %add = add i64 %2, 1 + %call1 = call noalias i8* @malloc(i64 %add) #19 + store i8* %call1, i8** %s, align 8 + %cmp = icmp ne i8* %call1, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %3 = load i8*, i8** %s, align 8 + %4 = load i8*, i8** %s1.addr, align 8 + %5 = load i64, i64* %n.addr, align 8 + %call2 = call i8* @memcpy(i8* %3, i8* %4, i64 %5) #19 + %6 = load i8*, i8** %s, align 8 + %7 = load i64, i64* %n.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %6, i64 %7 + store i8 0, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then, %entry + %8 = load i8*, i8** %s, align 8 + ret i8* %8 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i64 @strspn(i8* nonnull %s1, i8* nonnull %s2) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %2 = load i8*, i8** %p, align 8 + %3 = load i8, i8* %2, align 1 + %tobool = icmp ne i8 %3, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %5 = load i8, i8* %4, align 1 + %conv = sext i8 %5 to i32 + %6 = load i8*, i8** %s, align 8 + %7 = load i8, i8* %6, align 1 + %conv1 = sext i8 %7 to i32 + %cmp = icmp eq i32 %conv, %conv1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + %8 = load i8*, i8** %s, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %8, i32 1 + store i8* %incdec.ptr3, i8** %s, align 8 + %9 = load i8*, i8** %s2.addr, align 8 + store i8* %9, i8** %p, align 8 + br label %if.end + +if.end: ; preds = %if.then, %while.body + br label %while.cond + +while.end: ; preds = %while.cond + %10 = load i8*, i8** %s, align 8 + %11 = load i8*, i8** %s1.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %10 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %11 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind uwtable +define i32 @tcgetattr(i32 %fd, %struct.termios* %termios_p) #0 { +entry: + %fd.addr = alloca i32, align 4 + %termios_p.addr = alloca %struct.termios*, align 8 + %k_termios = alloca %struct.__kernel_termios, align 4 + %retval1 = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.termios* %termios_p, %struct.termios** %termios_p.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 (i32, i64, ...) @ioctl(i32 %0, i64 21505, %struct.__kernel_termios* %k_termios) #19 + store i32 %call, i32* %retval1, align 4 + %c_iflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 0 + %1 = load i32, i32* %c_iflag, align 4 + %2 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_iflag2 = getelementptr inbounds %struct.termios, %struct.termios* %2, i32 0, i32 0 + store i32 %1, i32* %c_iflag2, align 4 + %c_oflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 1 + %3 = load i32, i32* %c_oflag, align 4 + %4 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_oflag3 = getelementptr inbounds %struct.termios, %struct.termios* %4, i32 0, i32 1 + store i32 %3, i32* %c_oflag3, align 4 + %c_cflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 2 + %5 = load i32, i32* %c_cflag, align 4 + %6 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_cflag4 = getelementptr inbounds %struct.termios, %struct.termios* %6, i32 0, i32 2 + store i32 %5, i32* %c_cflag4, align 4 + %c_lflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 3 + %7 = load i32, i32* %c_lflag, align 4 + %8 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_lflag5 = getelementptr inbounds %struct.termios, %struct.termios* %8, i32 0, i32 3 + store i32 %7, i32* %c_lflag5, align 4 + %c_line = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 4 + %9 = load i8, i8* %c_line, align 4 + %10 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_line6 = getelementptr inbounds %struct.termios, %struct.termios* %10, i32 0, i32 4 + store i8 %9, i8* %c_line6, align 4 + %11 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_cc = getelementptr inbounds %struct.termios, %struct.termios* %11, i32 0, i32 5 + %arrayidx = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc, i64 0, i64 0 + %c_cc7 = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 5 + %arrayidx8 = getelementptr inbounds [19 x i8], [19 x i8]* %c_cc7, i64 0, i64 0 + %call9 = call i8* @mempcpy(i8* %arrayidx, i8* %arrayidx8, i64 19) #19 + %call10 = call i8* @memset(i8* %call9, i32 0, i64 13) #19 + %12 = load i32, i32* %retval1, align 4 + ret i32 %12 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_getopt_internal(i32 %argc, i8** %argv, i8* %optstring, %struct.option* %longopts, i32* %longind, i32 %long_only) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + %longopts.addr = alloca %struct.option*, align 8 + %longind.addr = alloca i32*, align 8 + %long_only.addr = alloca i32, align 4 + %result = alloca i32, align 4 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + store %struct.option* %longopts, %struct.option** %longopts.addr, align 8 + store i32* %longind, i32** %longind.addr, align 8 + store i32 %long_only, i32* %long_only.addr, align 4 + %0 = load i32, i32* @optind, align 4 + store i32 %0, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 0), align 8 + %1 = load i32, i32* @opterr, align 4 + store i32 %1, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 1), align 4 + %2 = load i32, i32* %argc.addr, align 4 + %3 = load i8**, i8*** %argv.addr, align 8 + %4 = load i8*, i8** %optstring.addr, align 8 + %5 = load %struct.option*, %struct.option** %longopts.addr, align 8 + %6 = load i32*, i32** %longind.addr, align 8 + %7 = load i32, i32* %long_only.addr, align 4 + %call = call i32 @_getopt_internal_r(i32 %2, i8** %3, i8* %4, %struct.option* %5, i32* %6, i32 %7, %struct._getopt_data* @getopt_data) #18 + store i32 %call, i32* %result, align 4 + %8 = load i32, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 0), align 8 + store i32 %8, i32* @optind, align 4 + %9 = load i8*, i8** getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 3), align 8 + store i8* %9, i8** @optarg, align 8 + %10 = load i32, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 2), align 8 + store i32 %10, i32* @optopt, align 4 + %11 = load i32, i32* %result, align 4 + ret i32 %11 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_getopt_internal_r(i32 %argc, i8** %argv, i8* %optstring, %struct.option* %longopts, i32* %longind, i32 %long_only, %struct._getopt_data* %d) #0 { +entry: + %retval = alloca i32, align 4 + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + %longopts.addr = alloca %struct.option*, align 8 + %longind.addr = alloca i32*, align 8 + %long_only.addr = alloca i32, align 4 + %d.addr = alloca %struct._getopt_data*, align 8 + %print_errors = alloca i32, align 4 + %nameend = alloca i8*, align 8 + %p = alloca %struct.option*, align 8 + %pfound = alloca %struct.option*, align 8 + %exact = alloca i32, align 4 + %ambig = alloca i32, align 4 + %indfound = alloca i32, align 4 + %option_index = alloca i32, align 4 + %c = alloca i8, align 1 + %temp = alloca i8*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + store %struct.option* %longopts, %struct.option** %longopts.addr, align 8 + store i32* %longind, i32** %longind.addr, align 8 + store i32 %long_only, i32* %long_only.addr, align 4 + store %struct._getopt_data* %d, %struct._getopt_data** %d.addr, align 8 + %0 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %opterr = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %0, i32 0, i32 1 + %1 = load i32, i32* %opterr, align 4 + store i32 %1, i32* %print_errors, align 4 + %2 = load i8*, i8** %optstring.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %2, i64 0 + %3 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %3 to i32 + %cmp = icmp eq i32 %conv, 58 + %spec.store.select = select i1 %cmp, i32 0, i32 %1 + store i32 %spec.store.select, i32* %print_errors, align 4 + %4 = load i32, i32* %argc.addr, align 4 + %cmp2 = icmp slt i32 %4, 1 + br i1 %cmp2, label %if.then4, label %if.end5 + +if.then4: ; preds = %entry + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %entry + %5 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %5, i32 0, i32 3 + store i8* null, i8** %optarg, align 8 + %6 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %6, i32 0, i32 0 + %7 = load i32, i32* %optind, align 8 + %cmp6 = icmp eq i32 %7, 0 + br i1 %cmp6, label %if.then8, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end5 + %8 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__initialized = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %8, i32 0, i32 4 + %9 = load i32, i32* %__initialized, align 8 + %tobool = icmp ne i32 %9, 0 + br i1 %tobool, label %if.end16, label %if.then8 + +if.then8: ; preds = %lor.lhs.false, %if.end5 + %10 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind9 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %10, i32 0, i32 0 + %11 = load i32, i32* %optind9, align 8 + %cmp10 = icmp eq i32 %11, 0 + br i1 %cmp10, label %if.then12, label %if.end14 + +if.then12: ; preds = %if.then8 + %12 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind13 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %12, i32 0, i32 0 + store i32 1, i32* %optind13, align 8 + br label %if.end14 + +if.end14: ; preds = %if.then12, %if.then8 + %13 = load i32, i32* %argc.addr, align 4 + %14 = load i8**, i8*** %argv.addr, align 8 + %15 = load i8*, i8** %optstring.addr, align 8 + %16 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %call = call i8* @_getopt_initialize(i32 %13, i8** %14, i8* %15, %struct._getopt_data* %16) #18 + store i8* %call, i8** %optstring.addr, align 8 + %17 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__initialized15 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %17, i32 0, i32 4 + store i32 1, i32* %__initialized15, align 8 + br label %if.end16 + +if.end16: ; preds = %if.end14, %lor.lhs.false + %18 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %18, i32 0, i32 5 + %19 = load i8*, i8** %__nextchar, align 8 + %cmp17 = icmp eq i8* %19, null + br i1 %cmp17, label %if.then24, label %lor.lhs.false19 + +lor.lhs.false19: ; preds = %if.end16 + %20 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar20 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %20, i32 0, i32 5 + %21 = load i8*, i8** %__nextchar20, align 8 + %22 = load i8, i8* %21, align 1 + %conv21 = sext i8 %22 to i32 + %cmp22 = icmp eq i32 %conv21, 0 + br i1 %cmp22, label %if.then24, label %if.end171 + +if.then24: ; preds = %lor.lhs.false19, %if.end16 + %23 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %23, i32 0, i32 9 + %24 = load i32, i32* %__last_nonopt, align 4 + %25 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind25 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %25, i32 0, i32 0 + %26 = load i32, i32* %optind25, align 8 + %cmp26 = icmp sgt i32 %24, %26 + br i1 %cmp26, label %if.then28, label %if.end31 + +if.then28: ; preds = %if.then24 + %27 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind29 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %27, i32 0, i32 0 + %28 = load i32, i32* %optind29, align 8 + %29 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt30 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %29, i32 0, i32 9 + store i32 %28, i32* %__last_nonopt30, align 4 + br label %if.end31 + +if.end31: ; preds = %if.then28, %if.then24 + %30 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %30, i32 0, i32 8 + %31 = load i32, i32* %__first_nonopt, align 8 + %32 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind32 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %32, i32 0, i32 0 + %33 = load i32, i32* %optind32, align 8 + %cmp33 = icmp sgt i32 %31, %33 + br i1 %cmp33, label %if.then35, label %if.end38 + +if.then35: ; preds = %if.end31 + %34 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind36 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %34, i32 0, i32 0 + %35 = load i32, i32* %optind36, align 8 + %36 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt37 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %36, i32 0, i32 8 + store i32 %35, i32* %__first_nonopt37, align 8 + br label %if.end38 + +if.end38: ; preds = %if.then35, %if.end31 + %37 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %37, i32 0, i32 6 + %38 = load i32, i32* %__ordering, align 8 + %cmp39 = icmp eq i32 %38, 1 + br i1 %cmp39, label %if.then41, label %if.end79 + +if.then41: ; preds = %if.end38 + %39 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt42 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %39, i32 0, i32 8 + %40 = load i32, i32* %__first_nonopt42, align 8 + %41 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt43 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %41, i32 0, i32 9 + %42 = load i32, i32* %__last_nonopt43, align 4 + %cmp44 = icmp ne i32 %40, %42 + br i1 %cmp44, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %if.then41 + %43 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt46 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %43, i32 0, i32 9 + %44 = load i32, i32* %__last_nonopt46, align 4 + %45 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind47 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %45, i32 0, i32 0 + %46 = load i32, i32* %optind47, align 8 + %cmp48 = icmp ne i32 %44, %46 + br i1 %cmp48, label %if.then50, label %if.else + +if.then50: ; preds = %land.lhs.true + %47 = load i8**, i8*** %argv.addr, align 8 + %48 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + call void @exchange(i8** %47, %struct._getopt_data* %48) #18 + br label %if.end59 + +if.else: ; preds = %land.lhs.true, %if.then41 + %49 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt51 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %49, i32 0, i32 9 + %50 = load i32, i32* %__last_nonopt51, align 4 + %51 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind52 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %51, i32 0, i32 0 + %52 = load i32, i32* %optind52, align 8 + %cmp53 = icmp ne i32 %50, %52 + br i1 %cmp53, label %if.then55, label %if.end59 + +if.then55: ; preds = %if.else + %53 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind56 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %53, i32 0, i32 0 + %54 = load i32, i32* %optind56, align 8 + %55 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt57 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %55, i32 0, i32 8 + store i32 %54, i32* %__first_nonopt57, align 8 + br label %if.end59 + +if.end59: ; preds = %if.else, %if.then55, %if.then50 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end59 + %56 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind60 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %56, i32 0, i32 0 + %57 = load i32, i32* %optind60, align 8 + %58 = load i32, i32* %argc.addr, align 4 + %cmp61 = icmp slt i32 %57, %58 + br i1 %cmp61, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %59 = load i8**, i8*** %argv.addr, align 8 + %60 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind63 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %60, i32 0, i32 0 + %61 = load i32, i32* %optind63, align 8 + %idxprom = sext i32 %61 to i64 + %arrayidx64 = getelementptr inbounds i8*, i8** %59, i64 %idxprom + %62 = load i8*, i8** %arrayidx64, align 8 + %arrayidx65 = getelementptr inbounds i8, i8* %62, i64 0 + %63 = load i8, i8* %arrayidx65, align 1 + %conv66 = sext i8 %63 to i32 + %cmp67 = icmp ne i32 %conv66, 45 + br i1 %cmp67, label %land.end, label %lor.rhs + +lor.rhs: ; preds = %land.rhs + %64 = load i8**, i8*** %argv.addr, align 8 + %65 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind69 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %65, i32 0, i32 0 + %66 = load i32, i32* %optind69, align 8 + %idxprom70 = sext i32 %66 to i64 + %arrayidx71 = getelementptr inbounds i8*, i8** %64, i64 %idxprom70 + %67 = load i8*, i8** %arrayidx71, align 8 + %arrayidx72 = getelementptr inbounds i8, i8* %67, i64 1 + %68 = load i8, i8* %arrayidx72, align 1 + %conv73 = sext i8 %68 to i32 + %cmp74 = icmp eq i32 %conv73, 0 + br label %land.end + +land.end: ; preds = %land.rhs, %lor.rhs, %while.cond + %69 = phi i1 [ false, %while.cond ], [ true, %land.rhs ], [ %cmp74, %lor.rhs ] + %70 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind76 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %70, i32 0, i32 0 + %71 = load i32, i32* %optind76, align 8 + br i1 %69, label %while.body, label %while.end + +while.body: ; preds = %land.end + %inc = add nsw i32 %71, 1 + store i32 %inc, i32* %optind76, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %72 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt78 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %72, i32 0, i32 9 + store i32 %71, i32* %__last_nonopt78, align 4 + br label %if.end79 + +if.end79: ; preds = %while.end, %if.end38 + %73 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind80 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %73, i32 0, i32 0 + %74 = load i32, i32* %optind80, align 8 + %75 = load i32, i32* %argc.addr, align 4 + %cmp81 = icmp ne i32 %74, %75 + br i1 %cmp81, label %land.lhs.true83, label %if.end114 + +land.lhs.true83: ; preds = %if.end79 + %76 = load i8**, i8*** %argv.addr, align 8 + %77 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind84 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %77, i32 0, i32 0 + %78 = load i32, i32* %optind84, align 8 + %idxprom85 = sext i32 %78 to i64 + %arrayidx86 = getelementptr inbounds i8*, i8** %76, i64 %idxprom85 + %79 = load i8*, i8** %arrayidx86, align 8 + %call87 = call i32 @strcmp(i8* %79, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.308, i64 0, i64 0)) #20 + %tobool88 = icmp ne i32 %call87, 0 + br i1 %tobool88, label %if.end114, label %if.then89 + +if.then89: ; preds = %land.lhs.true83 + %80 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind90 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %80, i32 0, i32 0 + %81 = load i32, i32* %optind90, align 8 + %inc91 = add nsw i32 %81, 1 + store i32 %inc91, i32* %optind90, align 8 + %82 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt92 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %82, i32 0, i32 8 + %83 = load i32, i32* %__first_nonopt92, align 8 + %84 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt93 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %84, i32 0, i32 9 + %85 = load i32, i32* %__last_nonopt93, align 4 + %cmp94 = icmp ne i32 %83, %85 + br i1 %cmp94, label %land.lhs.true96, label %if.else102 + +land.lhs.true96: ; preds = %if.then89 + %86 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt97 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %86, i32 0, i32 9 + %87 = load i32, i32* %__last_nonopt97, align 4 + %88 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind98 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %88, i32 0, i32 0 + %89 = load i32, i32* %optind98, align 8 + %cmp99 = icmp ne i32 %87, %89 + br i1 %cmp99, label %if.then101, label %if.else102 + +if.then101: ; preds = %land.lhs.true96 + %90 = load i8**, i8*** %argv.addr, align 8 + %91 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + call void @exchange(i8** %90, %struct._getopt_data* %91) #18 + br label %if.end111 + +if.else102: ; preds = %land.lhs.true96, %if.then89 + %92 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt103 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %92, i32 0, i32 8 + %93 = load i32, i32* %__first_nonopt103, align 8 + %94 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt104 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %94, i32 0, i32 9 + %95 = load i32, i32* %__last_nonopt104, align 4 + %cmp105 = icmp eq i32 %93, %95 + br i1 %cmp105, label %if.then107, label %if.end111 + +if.then107: ; preds = %if.else102 + %96 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind108 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %96, i32 0, i32 0 + %97 = load i32, i32* %optind108, align 8 + %98 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt109 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %98, i32 0, i32 8 + store i32 %97, i32* %__first_nonopt109, align 8 + br label %if.end111 + +if.end111: ; preds = %if.else102, %if.then107, %if.then101 + %99 = load i32, i32* %argc.addr, align 4 + %100 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt112 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %100, i32 0, i32 9 + store i32 %99, i32* %__last_nonopt112, align 4 + %101 = load i32, i32* %argc.addr, align 4 + %102 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind113 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %102, i32 0, i32 0 + store i32 %101, i32* %optind113, align 8 + br label %if.end114 + +if.end114: ; preds = %if.end111, %land.lhs.true83, %if.end79 + %103 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind115 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %103, i32 0, i32 0 + %104 = load i32, i32* %optind115, align 8 + %105 = load i32, i32* %argc.addr, align 4 + %cmp116 = icmp eq i32 %104, %105 + br i1 %cmp116, label %if.then118, label %if.end127 + +if.then118: ; preds = %if.end114 + %106 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt119 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %106, i32 0, i32 8 + %107 = load i32, i32* %__first_nonopt119, align 8 + %108 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt120 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %108, i32 0, i32 9 + %109 = load i32, i32* %__last_nonopt120, align 4 + %cmp121 = icmp ne i32 %107, %109 + br i1 %cmp121, label %if.then123, label %if.end126 + +if.then123: ; preds = %if.then118 + %110 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt124 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %110, i32 0, i32 8 + %111 = load i32, i32* %__first_nonopt124, align 8 + %112 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind125 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %112, i32 0, i32 0 + store i32 %111, i32* %optind125, align 8 + br label %if.end126 + +if.end126: ; preds = %if.then123, %if.then118 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end127: ; preds = %if.end114 + %113 = load i8**, i8*** %argv.addr, align 8 + %114 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind128 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %114, i32 0, i32 0 + %115 = load i32, i32* %optind128, align 8 + %idxprom129 = sext i32 %115 to i64 + %arrayidx130 = getelementptr inbounds i8*, i8** %113, i64 %idxprom129 + %116 = load i8*, i8** %arrayidx130, align 8 + %arrayidx131 = getelementptr inbounds i8, i8* %116, i64 0 + %117 = load i8, i8* %arrayidx131, align 1 + %conv132 = sext i8 %117 to i32 + %cmp133 = icmp ne i32 %conv132, 45 + br i1 %cmp133, label %if.then143, label %lor.lhs.false135 + +lor.lhs.false135: ; preds = %if.end127 + %118 = load i8**, i8*** %argv.addr, align 8 + %119 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind136 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %119, i32 0, i32 0 + %120 = load i32, i32* %optind136, align 8 + %idxprom137 = sext i32 %120 to i64 + %arrayidx138 = getelementptr inbounds i8*, i8** %118, i64 %idxprom137 + %121 = load i8*, i8** %arrayidx138, align 8 + %arrayidx139 = getelementptr inbounds i8, i8* %121, i64 1 + %122 = load i8, i8* %arrayidx139, align 1 + %conv140 = sext i8 %122 to i32 + %cmp141 = icmp eq i32 %conv140, 0 + br i1 %cmp141, label %if.then143, label %if.end154 + +if.then143: ; preds = %lor.lhs.false135, %if.end127 + %123 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering144 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %123, i32 0, i32 6 + %124 = load i32, i32* %__ordering144, align 8 + %cmp145 = icmp eq i32 %124, 0 + br i1 %cmp145, label %if.then147, label %if.end148 + +if.then147: ; preds = %if.then143 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end148: ; preds = %if.then143 + %125 = load i8**, i8*** %argv.addr, align 8 + %126 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind149 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %126, i32 0, i32 0 + %127 = load i32, i32* %optind149, align 8 + %inc150 = add nsw i32 %127, 1 + store i32 %inc150, i32* %optind149, align 8 + %idxprom151 = sext i32 %127 to i64 + %arrayidx152 = getelementptr inbounds i8*, i8** %125, i64 %idxprom151 + %128 = load i8*, i8** %arrayidx152, align 8 + %129 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg153 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %129, i32 0, i32 3 + store i8* %128, i8** %optarg153, align 8 + store i32 1, i32* %retval, align 4 + br label %return + +if.end154: ; preds = %lor.lhs.false135 + %130 = load i8**, i8*** %argv.addr, align 8 + %131 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind155 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %131, i32 0, i32 0 + %132 = load i32, i32* %optind155, align 8 + %idxprom156 = sext i32 %132 to i64 + %arrayidx157 = getelementptr inbounds i8*, i8** %130, i64 %idxprom156 + %133 = load i8*, i8** %arrayidx157, align 8 + %add.ptr = getelementptr inbounds i8, i8* %133, i64 1 + %134 = load %struct.option*, %struct.option** %longopts.addr, align 8 + %cmp158 = icmp ne %struct.option* %134, null + br i1 %cmp158, label %land.rhs160, label %land.end168 + +land.rhs160: ; preds = %if.end154 + %135 = load i8**, i8*** %argv.addr, align 8 + %136 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind161 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %136, i32 0, i32 0 + %137 = load i32, i32* %optind161, align 8 + %idxprom162 = sext i32 %137 to i64 + %arrayidx163 = getelementptr inbounds i8*, i8** %135, i64 %idxprom162 + %138 = load i8*, i8** %arrayidx163, align 8 + %arrayidx164 = getelementptr inbounds i8, i8* %138, i64 1 + %139 = load i8, i8* %arrayidx164, align 1 + %conv165 = sext i8 %139 to i32 + %cmp166 = icmp eq i32 %conv165, 45 + br label %land.end168 + +land.end168: ; preds = %land.rhs160, %if.end154 + %140 = phi i1 [ false, %if.end154 ], [ %cmp166, %land.rhs160 ] + %land.ext = zext i1 %140 to i32 + %idx.ext = sext i32 %land.ext to i64 + %add.ptr169 = getelementptr inbounds i8, i8* %add.ptr, i64 %idx.ext + %141 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar170 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %141, i32 0, i32 5 + store i8* %add.ptr169, i8** %__nextchar170, align 8 + br label %if.end171 + +if.end171: ; preds = %land.end168, %lor.lhs.false19 + %142 = load %struct.option*, %struct.option** %longopts.addr, align 8 + %cmp172 = icmp ne %struct.option* %142, null + br i1 %cmp172, label %land.lhs.true174, label %if.end418 + +land.lhs.true174: ; preds = %if.end171 + %143 = load i8**, i8*** %argv.addr, align 8 + %144 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind175 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %144, i32 0, i32 0 + %145 = load i32, i32* %optind175, align 8 + %idxprom176 = sext i32 %145 to i64 + %arrayidx177 = getelementptr inbounds i8*, i8** %143, i64 %idxprom176 + %146 = load i8*, i8** %arrayidx177, align 8 + %arrayidx178 = getelementptr inbounds i8, i8* %146, i64 1 + %147 = load i8, i8* %arrayidx178, align 1 + %conv179 = sext i8 %147 to i32 + %cmp180 = icmp eq i32 %conv179, 45 + br i1 %cmp180, label %if.then199, label %lor.lhs.false182 + +lor.lhs.false182: ; preds = %land.lhs.true174 + %148 = load i32, i32* %long_only.addr, align 4 + %tobool183 = icmp ne i32 %148, 0 + br i1 %tobool183, label %land.lhs.true184, label %if.end418 + +land.lhs.true184: ; preds = %lor.lhs.false182 + %149 = load i8**, i8*** %argv.addr, align 8 + %150 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind185 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %150, i32 0, i32 0 + %151 = load i32, i32* %optind185, align 8 + %idxprom186 = sext i32 %151 to i64 + %arrayidx187 = getelementptr inbounds i8*, i8** %149, i64 %idxprom186 + %152 = load i8*, i8** %arrayidx187, align 8 + %arrayidx188 = getelementptr inbounds i8, i8* %152, i64 2 + %153 = load i8, i8* %arrayidx188, align 1 + %conv189 = sext i8 %153 to i32 + %tobool190 = icmp ne i32 %conv189, 0 + br i1 %tobool190, label %if.then199, label %lor.lhs.false191 + +lor.lhs.false191: ; preds = %land.lhs.true184 + %154 = load i8*, i8** %optstring.addr, align 8 + %155 = load i8**, i8*** %argv.addr, align 8 + %156 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind192 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %156, i32 0, i32 0 + %157 = load i32, i32* %optind192, align 8 + %idxprom193 = sext i32 %157 to i64 + %arrayidx194 = getelementptr inbounds i8*, i8** %155, i64 %idxprom193 + %158 = load i8*, i8** %arrayidx194, align 8 + %arrayidx195 = getelementptr inbounds i8, i8* %158, i64 1 + %159 = load i8, i8* %arrayidx195, align 1 + %conv196 = sext i8 %159 to i32 + %call197 = call i8* @strchr(i8* %154, i32 %conv196) #20 + %tobool198 = icmp ne i8* %call197, null + br i1 %tobool198, label %if.end418, label %if.then199 + +if.then199: ; preds = %lor.lhs.false191, %land.lhs.true184, %land.lhs.true174 + store %struct.option* null, %struct.option** %pfound, align 8 + store i32 0, i32* %exact, align 4 + store i32 0, i32* %ambig, align 4 + store i32 -1, i32* %indfound, align 4 + %160 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar200 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %160, i32 0, i32 5 + %161 = load i8*, i8** %__nextchar200, align 8 + store i8* %161, i8** %nameend, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.then199 + %162 = load i8*, i8** %nameend, align 8 + %163 = load i8, i8* %162, align 1 + %conv201 = sext i8 %163 to i32 + %tobool202 = icmp ne i32 %conv201, 0 + br i1 %tobool202, label %land.rhs203, label %for.end + +land.rhs203: ; preds = %for.cond + %164 = load i8*, i8** %nameend, align 8 + %165 = load i8, i8* %164, align 1 + %conv204 = sext i8 %165 to i32 + %cmp205 = icmp ne i32 %conv204, 61 + br i1 %cmp205, label %for.inc, label %for.end + +for.inc: ; preds = %land.rhs203 + %166 = load i8*, i8** %nameend, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %166, i32 1 + store i8* %incdec.ptr, i8** %nameend, align 8 + br label %for.cond + +for.end: ; preds = %for.cond, %land.rhs203 + %167 = load %struct.option*, %struct.option** %longopts.addr, align 8 + store %struct.option* %167, %struct.option** %p, align 8 + store i32 0, i32* %option_index, align 4 + br label %for.cond209 + +for.cond209: ; preds = %for.inc252, %for.end + %168 = load %struct.option*, %struct.option** %p, align 8 + %name = getelementptr inbounds %struct.option, %struct.option* %168, i32 0, i32 0 + %169 = load i8*, i8** %name, align 8 + %tobool210 = icmp ne i8* %169, null + br i1 %tobool210, label %for.body211, label %for.end255 + +for.body211: ; preds = %for.cond209 + %170 = load %struct.option*, %struct.option** %p, align 8 + %name212 = getelementptr inbounds %struct.option, %struct.option* %170, i32 0, i32 0 + %171 = load i8*, i8** %name212, align 8 + %172 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar213 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %172, i32 0, i32 5 + %173 = load i8*, i8** %__nextchar213, align 8 + %174 = load i8*, i8** %nameend, align 8 + %175 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar214 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %175, i32 0, i32 5 + %176 = load i8*, i8** %__nextchar214, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %174 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %176 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %call215 = call i32 @strncmp(i8* %171, i8* %173, i64 %sub.ptr.sub) #20 + %tobool216 = icmp ne i32 %call215, 0 + br i1 %tobool216, label %for.inc252, label %if.then217 + +if.then217: ; preds = %for.body211 + %177 = load i8*, i8** %nameend, align 8 + %178 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar218 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %178, i32 0, i32 5 + %179 = load i8*, i8** %__nextchar218, align 8 + %sub.ptr.lhs.cast219 = ptrtoint i8* %177 to i64 + %sub.ptr.rhs.cast220 = ptrtoint i8* %179 to i64 + %sub.ptr.sub221 = sub i64 %sub.ptr.lhs.cast219, %sub.ptr.rhs.cast220 + %conv222 = trunc i64 %sub.ptr.sub221 to i32 + %180 = load %struct.option*, %struct.option** %p, align 8 + %name223 = getelementptr inbounds %struct.option, %struct.option* %180, i32 0, i32 0 + %181 = load i8*, i8** %name223, align 8 + %call224 = call i64 @strlen(i8* %181) #20 + %conv225 = trunc i64 %call224 to i32 + %cmp226 = icmp eq i32 %conv222, %conv225 + br i1 %cmp226, label %if.then228, label %if.else229 + +if.then228: ; preds = %if.then217 + %182 = load %struct.option*, %struct.option** %p, align 8 + store %struct.option* %182, %struct.option** %pfound, align 8 + %183 = load i32, i32* %option_index, align 4 + store i32 %183, i32* %indfound, align 4 + store i32 1, i32* %exact, align 4 + br label %for.end255 + +if.else229: ; preds = %if.then217 + %184 = load %struct.option*, %struct.option** %pfound, align 8 + %cmp230 = icmp eq %struct.option* %184, null + br i1 %cmp230, label %if.then232, label %if.else233 + +if.then232: ; preds = %if.else229 + %185 = load %struct.option*, %struct.option** %p, align 8 + store %struct.option* %185, %struct.option** %pfound, align 8 + %186 = load i32, i32* %option_index, align 4 + store i32 %186, i32* %indfound, align 4 + br label %for.inc252 + +if.else233: ; preds = %if.else229 + %187 = load i32, i32* %long_only.addr, align 4 + %tobool234 = icmp ne i32 %187, 0 + br i1 %tobool234, label %if.then247, label %lor.lhs.false235 + +lor.lhs.false235: ; preds = %if.else233 + %188 = load %struct.option*, %struct.option** %pfound, align 8 + %has_arg = getelementptr inbounds %struct.option, %struct.option* %188, i32 0, i32 1 + %189 = load i32, i32* %has_arg, align 8 + %190 = load %struct.option*, %struct.option** %p, align 8 + %has_arg236 = getelementptr inbounds %struct.option, %struct.option* %190, i32 0, i32 1 + %191 = load i32, i32* %has_arg236, align 8 + %cmp237 = icmp ne i32 %189, %191 + br i1 %cmp237, label %if.then247, label %lor.lhs.false239 + +lor.lhs.false239: ; preds = %lor.lhs.false235 + %192 = load %struct.option*, %struct.option** %pfound, align 8 + %flag = getelementptr inbounds %struct.option, %struct.option* %192, i32 0, i32 2 + %193 = load i32*, i32** %flag, align 8 + %194 = load %struct.option*, %struct.option** %p, align 8 + %flag240 = getelementptr inbounds %struct.option, %struct.option* %194, i32 0, i32 2 + %195 = load i32*, i32** %flag240, align 8 + %cmp241 = icmp ne i32* %193, %195 + br i1 %cmp241, label %if.then247, label %lor.lhs.false243 + +lor.lhs.false243: ; preds = %lor.lhs.false239 + %196 = load %struct.option*, %struct.option** %pfound, align 8 + %val = getelementptr inbounds %struct.option, %struct.option* %196, i32 0, i32 3 + %197 = load i32, i32* %val, align 8 + %198 = load %struct.option*, %struct.option** %p, align 8 + %val244 = getelementptr inbounds %struct.option, %struct.option* %198, i32 0, i32 3 + %199 = load i32, i32* %val244, align 8 + %cmp245 = icmp ne i32 %197, %199 + br i1 %cmp245, label %if.then247, label %for.inc252 + +if.then247: ; preds = %lor.lhs.false243, %lor.lhs.false239, %lor.lhs.false235, %if.else233 + store i32 1, i32* %ambig, align 4 + br label %for.inc252 + +for.inc252: ; preds = %for.body211, %if.then232, %if.then247, %lor.lhs.false243 + %200 = load %struct.option*, %struct.option** %p, align 8 + %incdec.ptr253 = getelementptr inbounds %struct.option, %struct.option* %200, i32 1 + store %struct.option* %incdec.ptr253, %struct.option** %p, align 8 + %201 = load i32, i32* %option_index, align 4 + %inc254 = add nsw i32 %201, 1 + store i32 %inc254, i32* %option_index, align 4 + br label %for.cond209 + +for.end255: ; preds = %if.then228, %for.cond209 + %202 = load i32, i32* %ambig, align 4 + %tobool256 = icmp eq i32 %202, 0 + %203 = load i32, i32* %exact, align 4 + %tobool258 = icmp ne i32 %203, 0 + %or.cond = or i1 %tobool256, %tobool258 + br i1 %or.cond, label %if.end274, label %if.then259 + +if.then259: ; preds = %for.end255 + %204 = load i32, i32* %print_errors, align 4 + %tobool260 = icmp ne i32 %204, 0 + br i1 %tobool260, label %if.then261, label %if.end267 + +if.then261: ; preds = %if.then259 + %205 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %206 = load i8**, i8*** %argv.addr, align 8 + %arrayidx262 = getelementptr inbounds i8*, i8** %206, i64 0 + %207 = load i8*, i8** %arrayidx262, align 8 + %208 = load i8**, i8*** %argv.addr, align 8 + %209 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind263 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %209, i32 0, i32 0 + %210 = load i32, i32* %optind263, align 8 + %idxprom264 = sext i32 %210 to i64 + %arrayidx265 = getelementptr inbounds i8*, i8** %208, i64 %idxprom264 + %211 = load i8*, i8** %arrayidx265, align 8 + %call266 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %205, i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.1.309, i64 0, i64 0), i8* %207, i8* %211) #18 + br label %if.end267 + +if.end267: ; preds = %if.then261, %if.then259 + %212 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar268 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %212, i32 0, i32 5 + %213 = load i8*, i8** %__nextchar268, align 8 + %call269 = call i64 @strlen(i8* %213) #20 + %214 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar270 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %214, i32 0, i32 5 + %215 = load i8*, i8** %__nextchar270, align 8 + %add.ptr271 = getelementptr inbounds i8, i8* %215, i64 %call269 + store i8* %add.ptr271, i8** %__nextchar270, align 8 + %216 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind272 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %216, i32 0, i32 0 + %217 = load i32, i32* %optind272, align 8 + %inc273 = add nsw i32 %217, 1 + store i32 %inc273, i32* %optind272, align 8 + %218 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %218, i32 0, i32 2 + store i32 0, i32* %optopt, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.end274: ; preds = %for.end255 + %219 = load %struct.option*, %struct.option** %pfound, align 8 + %cmp275 = icmp ne %struct.option* %219, null + br i1 %cmp275, label %if.then277, label %if.end372 + +if.then277: ; preds = %if.end274 + %220 = load i32, i32* %indfound, align 4 + store i32 %220, i32* %option_index, align 4 + %221 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind278 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %221, i32 0, i32 0 + %222 = load i32, i32* %optind278, align 8 + %inc279 = add nsw i32 %222, 1 + store i32 %inc279, i32* %optind278, align 8 + %223 = load i8*, i8** %nameend, align 8 + %224 = load i8, i8* %223, align 1 + %tobool280 = icmp ne i8 %224, 0 + %225 = load %struct.option*, %struct.option** %pfound, align 8 + %has_arg282 = getelementptr inbounds %struct.option, %struct.option* %225, i32 0, i32 1 + %226 = load i32, i32* %has_arg282, align 8 + br i1 %tobool280, label %if.then281, label %if.else320 + +if.then281: ; preds = %if.then277 + %tobool283 = icmp ne i32 %226, 0 + br i1 %tobool283, label %if.then284, label %if.else287 + +if.then284: ; preds = %if.then281 + %227 = load i8*, i8** %nameend, align 8 + %add.ptr285 = getelementptr inbounds i8, i8* %227, i64 1 + %228 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg286 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %228, i32 0, i32 3 + store i8* %add.ptr285, i8** %optarg286, align 8 + br label %if.end356 + +if.else287: ; preds = %if.then281 + %229 = load i32, i32* %print_errors, align 4 + %tobool288 = icmp ne i32 %229, 0 + br i1 %tobool288, label %if.then289, label %if.end312 + +if.then289: ; preds = %if.else287 + %230 = load i8**, i8*** %argv.addr, align 8 + %231 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind290 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %231, i32 0, i32 0 + %232 = load i32, i32* %optind290, align 8 + %sub = sub nsw i32 %232, 1 + %idxprom291 = sext i32 %sub to i64 + %arrayidx292 = getelementptr inbounds i8*, i8** %230, i64 %idxprom291 + %233 = load i8*, i8** %arrayidx292, align 8 + %arrayidx293 = getelementptr inbounds i8, i8* %233, i64 1 + %234 = load i8, i8* %arrayidx293, align 1 + %conv294 = sext i8 %234 to i32 + %cmp295 = icmp eq i32 %conv294, 45 + %235 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %236 = load i8**, i8*** %argv.addr, align 8 + %arrayidx298 = getelementptr inbounds i8*, i8** %236, i64 0 + %237 = load i8*, i8** %arrayidx298, align 8 + br i1 %cmp295, label %if.then297, label %if.else301 + +if.then297: ; preds = %if.then289 + %238 = load %struct.option*, %struct.option** %pfound, align 8 + %name299 = getelementptr inbounds %struct.option, %struct.option* %238, i32 0, i32 0 + %239 = load i8*, i8** %name299, align 8 + %call300 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %235, i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.2.310, i64 0, i64 0), i8* %237, i8* %239) #18 + br label %if.end312 + +if.else301: ; preds = %if.then289 + %240 = load i8**, i8*** %argv.addr, align 8 + %241 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind303 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %241, i32 0, i32 0 + %242 = load i32, i32* %optind303, align 8 + %sub304 = sub nsw i32 %242, 1 + %idxprom305 = sext i32 %sub304 to i64 + %arrayidx306 = getelementptr inbounds i8*, i8** %240, i64 %idxprom305 + %243 = load i8*, i8** %arrayidx306, align 8 + %arrayidx307 = getelementptr inbounds i8, i8* %243, i64 0 + %244 = load i8, i8* %arrayidx307, align 1 + %conv308 = sext i8 %244 to i32 + %245 = load %struct.option*, %struct.option** %pfound, align 8 + %name309 = getelementptr inbounds %struct.option, %struct.option* %245, i32 0, i32 0 + %246 = load i8*, i8** %name309, align 8 + %call310 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %235, i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.3.311, i64 0, i64 0), i8* %237, i32 %conv308, i8* %246) #18 + br label %if.end312 + +if.end312: ; preds = %if.then297, %if.else301, %if.else287 + %247 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar313 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %247, i32 0, i32 5 + %248 = load i8*, i8** %__nextchar313, align 8 + %call314 = call i64 @strlen(i8* %248) #20 + %249 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar315 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %249, i32 0, i32 5 + %250 = load i8*, i8** %__nextchar315, align 8 + %add.ptr316 = getelementptr inbounds i8, i8* %250, i64 %call314 + store i8* %add.ptr316, i8** %__nextchar315, align 8 + %251 = load %struct.option*, %struct.option** %pfound, align 8 + %val317 = getelementptr inbounds %struct.option, %struct.option* %251, i32 0, i32 3 + %252 = load i32, i32* %val317, align 8 + %253 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt318 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %253, i32 0, i32 2 + store i32 %252, i32* %optopt318, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.else320: ; preds = %if.then277 + %cmp322 = icmp eq i32 %226, 1 + br i1 %cmp322, label %if.then324, label %if.end356 + +if.then324: ; preds = %if.else320 + %254 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind325 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %254, i32 0, i32 0 + %255 = load i32, i32* %optind325, align 8 + %256 = load i32, i32* %argc.addr, align 4 + %cmp326 = icmp slt i32 %255, %256 + br i1 %cmp326, label %if.then328, label %if.else334 + +if.then328: ; preds = %if.then324 + %257 = load i8**, i8*** %argv.addr, align 8 + %258 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind329 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %258, i32 0, i32 0 + %259 = load i32, i32* %optind329, align 8 + %inc330 = add nsw i32 %259, 1 + store i32 %inc330, i32* %optind329, align 8 + %idxprom331 = sext i32 %259 to i64 + %arrayidx332 = getelementptr inbounds i8*, i8** %257, i64 %idxprom331 + %260 = load i8*, i8** %arrayidx332, align 8 + %261 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg333 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %261, i32 0, i32 3 + store i8* %260, i8** %optarg333, align 8 + br label %if.end356 + +if.else334: ; preds = %if.then324 + %262 = load i32, i32* %print_errors, align 4 + %tobool335 = icmp ne i32 %262, 0 + br i1 %tobool335, label %if.then336, label %if.end343 + +if.then336: ; preds = %if.else334 + %263 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %264 = load i8**, i8*** %argv.addr, align 8 + %arrayidx337 = getelementptr inbounds i8*, i8** %264, i64 0 + %265 = load i8*, i8** %arrayidx337, align 8 + %266 = load i8**, i8*** %argv.addr, align 8 + %267 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind338 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %267, i32 0, i32 0 + %268 = load i32, i32* %optind338, align 8 + %sub339 = sub nsw i32 %268, 1 + %idxprom340 = sext i32 %sub339 to i64 + %arrayidx341 = getelementptr inbounds i8*, i8** %266, i64 %idxprom340 + %269 = load i8*, i8** %arrayidx341, align 8 + %call342 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %263, i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.4.312, i64 0, i64 0), i8* %265, i8* %269) #18 + br label %if.end343 + +if.end343: ; preds = %if.then336, %if.else334 + %270 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar344 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %270, i32 0, i32 5 + %271 = load i8*, i8** %__nextchar344, align 8 + %call345 = call i64 @strlen(i8* %271) #20 + %272 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar346 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %272, i32 0, i32 5 + %273 = load i8*, i8** %__nextchar346, align 8 + %add.ptr347 = getelementptr inbounds i8, i8* %273, i64 %call345 + store i8* %add.ptr347, i8** %__nextchar346, align 8 + %274 = load %struct.option*, %struct.option** %pfound, align 8 + %val348 = getelementptr inbounds %struct.option, %struct.option* %274, i32 0, i32 3 + %275 = load i32, i32* %val348, align 8 + %276 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt349 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %276, i32 0, i32 2 + store i32 %275, i32* %optopt349, align 8 + %277 = load i8*, i8** %optstring.addr, align 8 + %arrayidx350 = getelementptr inbounds i8, i8* %277, i64 0 + %278 = load i8, i8* %arrayidx350, align 1 + %conv351 = sext i8 %278 to i32 + %cmp352 = icmp eq i32 %conv351, 58 + %279 = zext i1 %cmp352 to i64 + %cond = select i1 %cmp352, i32 58, i32 63 + store i32 %cond, i32* %retval, align 4 + br label %return + +if.end356: ; preds = %if.else320, %if.then328, %if.then284 + %280 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar357 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %280, i32 0, i32 5 + %281 = load i8*, i8** %__nextchar357, align 8 + %call358 = call i64 @strlen(i8* %281) #20 + %282 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar359 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %282, i32 0, i32 5 + %283 = load i8*, i8** %__nextchar359, align 8 + %add.ptr360 = getelementptr inbounds i8, i8* %283, i64 %call358 + store i8* %add.ptr360, i8** %__nextchar359, align 8 + %284 = load i32*, i32** %longind.addr, align 8 + %cmp361 = icmp ne i32* %284, null + br i1 %cmp361, label %if.then363, label %if.end364 + +if.then363: ; preds = %if.end356 + %285 = load i32, i32* %option_index, align 4 + %286 = load i32*, i32** %longind.addr, align 8 + store i32 %285, i32* %286, align 4 + br label %if.end364 + +if.end364: ; preds = %if.then363, %if.end356 + %287 = load %struct.option*, %struct.option** %pfound, align 8 + %flag365 = getelementptr inbounds %struct.option, %struct.option* %287, i32 0, i32 2 + %288 = load i32*, i32** %flag365, align 8 + %tobool366 = icmp ne i32* %288, null + %289 = load %struct.option*, %struct.option** %pfound, align 8 + %val368 = getelementptr inbounds %struct.option, %struct.option* %289, i32 0, i32 3 + %290 = load i32, i32* %val368, align 8 + br i1 %tobool366, label %if.then367, label %if.end370 + +if.then367: ; preds = %if.end364 + %291 = load %struct.option*, %struct.option** %pfound, align 8 + %flag369 = getelementptr inbounds %struct.option, %struct.option* %291, i32 0, i32 2 + %292 = load i32*, i32** %flag369, align 8 + store i32 %290, i32* %292, align 4 + store i32 0, i32* %retval, align 4 + br label %return + +if.end370: ; preds = %if.end364 + store i32 %290, i32* %retval, align 4 + br label %return + +if.end372: ; preds = %if.end274 + %293 = load i32, i32* %long_only.addr, align 4 + %tobool373 = icmp ne i32 %293, 0 + br i1 %tobool373, label %lor.lhs.false374, label %if.then388 + +lor.lhs.false374: ; preds = %if.end372 + %294 = load i8**, i8*** %argv.addr, align 8 + %295 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind375 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %295, i32 0, i32 0 + %296 = load i32, i32* %optind375, align 8 + %idxprom376 = sext i32 %296 to i64 + %arrayidx377 = getelementptr inbounds i8*, i8** %294, i64 %idxprom376 + %297 = load i8*, i8** %arrayidx377, align 8 + %arrayidx378 = getelementptr inbounds i8, i8* %297, i64 1 + %298 = load i8, i8* %arrayidx378, align 1 + %conv379 = sext i8 %298 to i32 + %cmp380 = icmp eq i32 %conv379, 45 + br i1 %cmp380, label %if.then388, label %lor.lhs.false382 + +lor.lhs.false382: ; preds = %lor.lhs.false374 + %299 = load i8*, i8** %optstring.addr, align 8 + %300 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar383 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %300, i32 0, i32 5 + %301 = load i8*, i8** %__nextchar383, align 8 + %302 = load i8, i8* %301, align 1 + %conv384 = sext i8 %302 to i32 + %call385 = call i8* @strchr(i8* %299, i32 %conv384) #20 + %cmp386 = icmp eq i8* %call385, null + br i1 %cmp386, label %if.then388, label %if.end418 + +if.then388: ; preds = %lor.lhs.false382, %lor.lhs.false374, %if.end372 + %303 = load i32, i32* %print_errors, align 4 + %tobool389 = icmp ne i32 %303, 0 + br i1 %tobool389, label %if.then390, label %if.end412 + +if.then390: ; preds = %if.then388 + %304 = load i8**, i8*** %argv.addr, align 8 + %305 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind391 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %305, i32 0, i32 0 + %306 = load i32, i32* %optind391, align 8 + %idxprom392 = sext i32 %306 to i64 + %arrayidx393 = getelementptr inbounds i8*, i8** %304, i64 %idxprom392 + %307 = load i8*, i8** %arrayidx393, align 8 + %arrayidx394 = getelementptr inbounds i8, i8* %307, i64 1 + %308 = load i8, i8* %arrayidx394, align 1 + %conv395 = sext i8 %308 to i32 + %cmp396 = icmp eq i32 %conv395, 45 + %309 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %310 = load i8**, i8*** %argv.addr, align 8 + %arrayidx399 = getelementptr inbounds i8*, i8** %310, i64 0 + %311 = load i8*, i8** %arrayidx399, align 8 + br i1 %cmp396, label %if.then398, label %if.else402 + +if.then398: ; preds = %if.then390 + %312 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar400 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %312, i32 0, i32 5 + %313 = load i8*, i8** %__nextchar400, align 8 + %call401 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %309, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.5.313, i64 0, i64 0), i8* %311, i8* %313) #18 + br label %if.end412 + +if.else402: ; preds = %if.then390 + %314 = load i8**, i8*** %argv.addr, align 8 + %315 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind404 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %315, i32 0, i32 0 + %316 = load i32, i32* %optind404, align 8 + %idxprom405 = sext i32 %316 to i64 + %arrayidx406 = getelementptr inbounds i8*, i8** %314, i64 %idxprom405 + %317 = load i8*, i8** %arrayidx406, align 8 + %arrayidx407 = getelementptr inbounds i8, i8* %317, i64 0 + %318 = load i8, i8* %arrayidx407, align 1 + %conv408 = sext i8 %318 to i32 + %319 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar409 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %319, i32 0, i32 5 + %320 = load i8*, i8** %__nextchar409, align 8 + %call410 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %309, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.6.314, i64 0, i64 0), i8* %311, i32 %conv408, i8* %320) #18 + br label %if.end412 + +if.end412: ; preds = %if.then398, %if.else402, %if.then388 + %321 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar413 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %321, i32 0, i32 5 + store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.7.315, i64 0, i64 0), i8** %__nextchar413, align 8 + %322 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind414 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %322, i32 0, i32 0 + %323 = load i32, i32* %optind414, align 8 + %inc415 = add nsw i32 %323, 1 + store i32 %inc415, i32* %optind414, align 8 + %324 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt416 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %324, i32 0, i32 2 + store i32 0, i32* %optopt416, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.end418: ; preds = %lor.lhs.false382, %lor.lhs.false191, %lor.lhs.false182, %if.end171 + %325 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar419 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %325, i32 0, i32 5 + %326 = load i8*, i8** %__nextchar419, align 8 + %incdec.ptr420 = getelementptr inbounds i8, i8* %326, i32 1 + store i8* %incdec.ptr420, i8** %__nextchar419, align 8 + %327 = load i8, i8* %326, align 1 + store i8 %327, i8* %c, align 1 + %328 = load i8*, i8** %optstring.addr, align 8 + %329 = load i8, i8* %c, align 1 + %conv421 = sext i8 %329 to i32 + %call422 = call i8* @strchr(i8* %328, i32 %conv421) #20 + store i8* %call422, i8** %temp, align 8 + %330 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar423 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %330, i32 0, i32 5 + %331 = load i8*, i8** %__nextchar423, align 8 + %332 = load i8, i8* %331, align 1 + %conv424 = sext i8 %332 to i32 + %cmp425 = icmp eq i32 %conv424, 0 + br i1 %cmp425, label %if.then427, label %if.end430 + +if.then427: ; preds = %if.end418 + %333 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind428 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %333, i32 0, i32 0 + %334 = load i32, i32* %optind428, align 8 + %inc429 = add nsw i32 %334, 1 + store i32 %inc429, i32* %optind428, align 8 + br label %if.end430 + +if.end430: ; preds = %if.then427, %if.end418 + %335 = load i8*, i8** %temp, align 8 + %cmp431 = icmp eq i8* %335, null + br i1 %cmp431, label %if.then437, label %lor.lhs.false433 + +lor.lhs.false433: ; preds = %if.end430 + %336 = load i8, i8* %c, align 1 + %conv434 = sext i8 %336 to i32 + %cmp435 = icmp eq i32 %conv434, 58 + br i1 %cmp435, label %if.then437, label %if.end453 + +if.then437: ; preds = %lor.lhs.false433, %if.end430 + %337 = load i32, i32* %print_errors, align 4 + %tobool438 = icmp ne i32 %337, 0 + br i1 %tobool438, label %if.then439, label %if.end450 + +if.then439: ; preds = %if.then437 + %338 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__posixly_correct = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %338, i32 0, i32 7 + %339 = load i32, i32* %__posixly_correct, align 4 + %tobool440 = icmp ne i32 %339, 0 + %340 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %341 = load i8**, i8*** %argv.addr, align 8 + %arrayidx442 = getelementptr inbounds i8*, i8** %341, i64 0 + %342 = load i8*, i8** %arrayidx442, align 8 + %343 = load i8, i8* %c, align 1 + %conv443 = sext i8 %343 to i32 + br i1 %tobool440, label %if.then441, label %if.else445 + +if.then441: ; preds = %if.then439 + %call444 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %340, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.8.316, i64 0, i64 0), i8* %342, i32 %conv443) #18 + br label %if.end450 + +if.else445: ; preds = %if.then439 + %call448 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %340, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.9.317, i64 0, i64 0), i8* %342, i32 %conv443) #18 + br label %if.end450 + +if.end450: ; preds = %if.then441, %if.else445, %if.then437 + %344 = load i8, i8* %c, align 1 + %conv451 = sext i8 %344 to i32 + %345 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt452 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %345, i32 0, i32 2 + store i32 %conv451, i32* %optopt452, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.end453: ; preds = %lor.lhs.false433 + %346 = load i8*, i8** %temp, align 8 + %arrayidx454 = getelementptr inbounds i8, i8* %346, i64 1 + %347 = load i8, i8* %arrayidx454, align 1 + %conv455 = sext i8 %347 to i32 + %cmp456 = icmp eq i32 %conv455, 58 + br i1 %cmp456, label %if.then458, label %if.end517 + +if.then458: ; preds = %if.end453 + %348 = load i8*, i8** %temp, align 8 + %arrayidx459 = getelementptr inbounds i8, i8* %348, i64 2 + %349 = load i8, i8* %arrayidx459, align 1 + %conv460 = sext i8 %349 to i32 + %cmp461 = icmp eq i32 %conv460, 58 + %350 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar464 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %350, i32 0, i32 5 + %351 = load i8*, i8** %__nextchar464, align 8 + %352 = load i8, i8* %351, align 1 + %conv465 = sext i8 %352 to i32 + %cmp466 = icmp ne i32 %conv465, 0 + %353 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + br i1 %cmp461, label %if.then463, label %if.else477 + +if.then463: ; preds = %if.then458 + br i1 %cmp466, label %if.then468, label %if.else473 + +if.then468: ; preds = %if.then463 + %__nextchar469 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 5 + %354 = load i8*, i8** %__nextchar469, align 8 + %355 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg470 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %355, i32 0, i32 3 + store i8* %354, i8** %optarg470, align 8 + %356 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind471 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %356, i32 0, i32 0 + %357 = load i32, i32* %optind471, align 8 + %inc472 = add nsw i32 %357, 1 + store i32 %inc472, i32* %optind471, align 8 + br label %if.end475 + +if.else473: ; preds = %if.then463 + %optarg474 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 3 + store i8* null, i8** %optarg474, align 8 + br label %if.end475 + +if.end475: ; preds = %if.else473, %if.then468 + %358 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar476 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %358, i32 0, i32 5 + store i8* null, i8** %__nextchar476, align 8 + br label %if.end517 + +if.else477: ; preds = %if.then458 + br i1 %cmp466, label %if.then482, label %if.else487 + +if.then482: ; preds = %if.else477 + %__nextchar483 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 5 + %359 = load i8*, i8** %__nextchar483, align 8 + %360 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg484 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %360, i32 0, i32 3 + store i8* %359, i8** %optarg484, align 8 + %361 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind485 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %361, i32 0, i32 0 + %362 = load i32, i32* %optind485, align 8 + %inc486 = add nsw i32 %362, 1 + store i32 %inc486, i32* %optind485, align 8 + br label %if.end514 + +if.else487: ; preds = %if.else477 + %optind488 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 0 + %363 = load i32, i32* %optind488, align 8 + %364 = load i32, i32* %argc.addr, align 4 + %cmp489 = icmp eq i32 %363, %364 + br i1 %cmp489, label %if.then491, label %if.else507 + +if.then491: ; preds = %if.else487 + %365 = load i32, i32* %print_errors, align 4 + %tobool492 = icmp ne i32 %365, 0 + br i1 %tobool492, label %if.then493, label %if.end497 + +if.then493: ; preds = %if.then491 + %366 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %367 = load i8**, i8*** %argv.addr, align 8 + %arrayidx494 = getelementptr inbounds i8*, i8** %367, i64 0 + %368 = load i8*, i8** %arrayidx494, align 8 + %369 = load i8, i8* %c, align 1 + %conv495 = sext i8 %369 to i32 + %call496 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %366, i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.10.318, i64 0, i64 0), i8* %368, i32 %conv495) #18 + br label %if.end497 + +if.end497: ; preds = %if.then493, %if.then491 + %370 = load i8, i8* %c, align 1 + %conv498 = sext i8 %370 to i32 + %371 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt499 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %371, i32 0, i32 2 + store i32 %conv498, i32* %optopt499, align 8 + %372 = load i8*, i8** %optstring.addr, align 8 + %arrayidx500 = getelementptr inbounds i8, i8* %372, i64 0 + %373 = load i8, i8* %arrayidx500, align 1 + %conv501 = sext i8 %373 to i32 + %cmp502 = icmp eq i32 %conv501, 58 + br i1 %cmp502, label %if.then504, label %if.else505 + +if.then504: ; preds = %if.end497 + store i8 58, i8* %c, align 1 + br label %if.end514 + +if.else505: ; preds = %if.end497 + store i8 63, i8* %c, align 1 + br label %if.end514 + +if.else507: ; preds = %if.else487 + %374 = load i8**, i8*** %argv.addr, align 8 + %375 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind508 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %375, i32 0, i32 0 + %376 = load i32, i32* %optind508, align 8 + %inc509 = add nsw i32 %376, 1 + store i32 %inc509, i32* %optind508, align 8 + %idxprom510 = sext i32 %376 to i64 + %arrayidx511 = getelementptr inbounds i8*, i8** %374, i64 %idxprom510 + %377 = load i8*, i8** %arrayidx511, align 8 + %378 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg512 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %378, i32 0, i32 3 + store i8* %377, i8** %optarg512, align 8 + br label %if.end514 + +if.end514: ; preds = %if.else507, %if.else505, %if.then504, %if.then482 + %379 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar515 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %379, i32 0, i32 5 + store i8* null, i8** %__nextchar515, align 8 + br label %if.end517 + +if.end517: ; preds = %if.end475, %if.end514, %if.end453 + %380 = load i8, i8* %c, align 1 + %conv518 = sext i8 %380 to i32 + store i32 %conv518, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end517, %if.end450, %if.end412, %if.end370, %if.then367, %if.end343, %if.end312, %if.end267, %if.end148, %if.then147, %if.end126, %if.then4 + %381 = load i32, i32* %retval, align 4 + ret i32 %381 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @_getopt_initialize(i32 %argc, i8** %argv, i8* %optstring, %struct._getopt_data* %d) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + %d.addr = alloca %struct._getopt_data*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + store %struct._getopt_data* %d, %struct._getopt_data** %d.addr, align 8 + %0 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %0, i32 0, i32 0 + %1 = load i32, i32* %optind, align 8 + %2 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %2, i32 0, i32 9 + store i32 %1, i32* %__last_nonopt, align 4 + %3 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %3, i32 0, i32 8 + store i32 %1, i32* %__first_nonopt, align 8 + %4 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %4, i32 0, i32 5 + store i8* null, i8** %__nextchar, align 8 + %call = call i8* @getenv(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.11.319, i64 0, i64 0)) #19 + %tobool = icmp ne i8* %call, null + %lnot = xor i1 %tobool, true + %lnot1 = xor i1 %lnot, true + %lnot.ext = zext i1 %lnot1 to i32 + %5 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__posixly_correct = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %5, i32 0, i32 7 + store i32 %lnot.ext, i32* %__posixly_correct, align 4 + %6 = load i8*, i8** %optstring.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %6, i64 0 + %7 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %7 to i32 + %cmp = icmp eq i32 %conv, 45 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %8 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %8, i32 0, i32 6 + store i32 2, i32* %__ordering, align 8 + %9 = load i8*, i8** %optstring.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %optstring.addr, align 8 + br label %if.end18 + +if.else: ; preds = %entry + %10 = load i8*, i8** %optstring.addr, align 8 + %arrayidx3 = getelementptr inbounds i8, i8* %10, i64 0 + %11 = load i8, i8* %arrayidx3, align 1 + %conv4 = sext i8 %11 to i32 + %cmp5 = icmp eq i32 %conv4, 43 + %12 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + br i1 %cmp5, label %if.then7, label %if.else10 + +if.then7: ; preds = %if.else + %__ordering8 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %12, i32 0, i32 6 + store i32 0, i32* %__ordering8, align 8 + %13 = load i8*, i8** %optstring.addr, align 8 + %incdec.ptr9 = getelementptr inbounds i8, i8* %13, i32 1 + store i8* %incdec.ptr9, i8** %optstring.addr, align 8 + br label %if.end18 + +if.else10: ; preds = %if.else + %__posixly_correct11 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %12, i32 0, i32 7 + %14 = load i32, i32* %__posixly_correct11, align 4 + %tobool12 = icmp ne i32 %14, 0 + %15 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering14 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %15, i32 0, i32 6 + br i1 %tobool12, label %if.then13, label %if.else15 + +if.then13: ; preds = %if.else10 + store i32 0, i32* %__ordering14, align 8 + br label %if.end18 + +if.else15: ; preds = %if.else10 + store i32 1, i32* %__ordering14, align 8 + br label %if.end18 + +if.end18: ; preds = %if.then7, %if.else15, %if.then13, %if.then + %16 = load i8*, i8** %optstring.addr, align 8 + ret i8* %16 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @exchange(i8** %argv, %struct._getopt_data* %d) #0 { +entry: + %argv.addr = alloca i8**, align 8 + %d.addr = alloca %struct._getopt_data*, align 8 + %bottom = alloca i32, align 4 + %middle = alloca i32, align 4 + %top = alloca i32, align 4 + %tem = alloca i8*, align 8 + %len = alloca i32, align 4 + %i = alloca i32, align 4 + %len20 = alloca i32, align 4 + %i22 = alloca i32, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store %struct._getopt_data* %d, %struct._getopt_data** %d.addr, align 8 + %0 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %0, i32 0, i32 8 + %1 = load i32, i32* %__first_nonopt, align 8 + store i32 %1, i32* %bottom, align 4 + %2 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %2, i32 0, i32 9 + %3 = load i32, i32* %__last_nonopt, align 4 + store i32 %3, i32* %middle, align 4 + %4 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %4, i32 0, i32 0 + %5 = load i32, i32* %optind, align 8 + store i32 %5, i32* %top, align 4 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %6 = load i32, i32* %top, align 4 + %7 = load i32, i32* %middle, align 4 + %cmp = icmp sgt i32 %6, %7 + %8 = load i32, i32* %middle, align 4 + %9 = load i32, i32* %bottom, align 4 + %cmp1 = icmp sgt i32 %8, %9 + %10 = select i1 %cmp, i1 %cmp1, i1 false + br i1 %10, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %11 = load i32, i32* %top, align 4 + %12 = load i32, i32* %middle, align 4 + %sub = sub nsw i32 %11, %12 + %13 = load i32, i32* %middle, align 4 + %14 = load i32, i32* %bottom, align 4 + %sub2 = sub nsw i32 %13, %14 + %cmp3 = icmp sgt i32 %sub, %sub2 + br i1 %cmp3, label %if.then, label %if.else + +if.then: ; preds = %while.body + %15 = load i32, i32* %middle, align 4 + %16 = load i32, i32* %bottom, align 4 + %sub4 = sub nsw i32 %15, %16 + store i32 %sub4, i32* %len, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.then + %17 = load i32, i32* %i, align 4 + %18 = load i32, i32* %len, align 4 + %cmp5 = icmp slt i32 %17, %18 + br i1 %cmp5, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %19 = load i8**, i8*** %argv.addr, align 8 + %20 = load i32, i32* %bottom, align 4 + %21 = load i32, i32* %i, align 4 + %add = add nsw i32 %20, %21 + %idxprom = sext i32 %add to i64 + %arrayidx = getelementptr inbounds i8*, i8** %19, i64 %idxprom + %22 = load i8*, i8** %arrayidx, align 8 + store i8* %22, i8** %tem, align 8 + %23 = load i8**, i8*** %argv.addr, align 8 + %24 = load i32, i32* %top, align 4 + %25 = load i32, i32* %middle, align 4 + %26 = load i32, i32* %bottom, align 4 + %sub6 = sub nsw i32 %25, %26 + %sub7 = sub nsw i32 %24, %sub6 + %27 = load i32, i32* %i, align 4 + %add8 = add nsw i32 %sub7, %27 + %idxprom9 = sext i32 %add8 to i64 + %arrayidx10 = getelementptr inbounds i8*, i8** %23, i64 %idxprom9 + %28 = load i8*, i8** %arrayidx10, align 8 + %29 = load i8**, i8*** %argv.addr, align 8 + %30 = load i32, i32* %bottom, align 4 + %31 = load i32, i32* %i, align 4 + %add11 = add nsw i32 %30, %31 + %idxprom12 = sext i32 %add11 to i64 + %arrayidx13 = getelementptr inbounds i8*, i8** %29, i64 %idxprom12 + store i8* %28, i8** %arrayidx13, align 8 + %32 = load i8*, i8** %tem, align 8 + %33 = load i8**, i8*** %argv.addr, align 8 + %34 = load i32, i32* %top, align 4 + %35 = load i32, i32* %middle, align 4 + %36 = load i32, i32* %bottom, align 4 + %sub14 = sub nsw i32 %35, %36 + %sub15 = sub nsw i32 %34, %sub14 + %37 = load i32, i32* %i, align 4 + %add16 = add nsw i32 %sub15, %37 + %idxprom17 = sext i32 %add16 to i64 + %arrayidx18 = getelementptr inbounds i8*, i8** %33, i64 %idxprom17 + store i8* %32, i8** %arrayidx18, align 8 + %38 = load i32, i32* %i, align 4 + %inc = add nsw i32 %38, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %39 = load i32, i32* %len, align 4 + %40 = load i32, i32* %top, align 4 + %sub19 = sub nsw i32 %40, %39 + store i32 %sub19, i32* %top, align 4 + br label %if.end + +if.else: ; preds = %while.body + %41 = load i32, i32* %top, align 4 + %42 = load i32, i32* %middle, align 4 + %sub21 = sub nsw i32 %41, %42 + store i32 %sub21, i32* %len20, align 4 + store i32 0, i32* %i22, align 4 + br label %for.cond23 + +for.cond23: ; preds = %for.body25, %if.else + %43 = load i32, i32* %i22, align 4 + %44 = load i32, i32* %len20, align 4 + %cmp24 = icmp slt i32 %43, %44 + br i1 %cmp24, label %for.body25, label %for.end40 + +for.body25: ; preds = %for.cond23 + %45 = load i8**, i8*** %argv.addr, align 8 + %46 = load i32, i32* %bottom, align 4 + %47 = load i32, i32* %i22, align 4 + %add26 = add nsw i32 %46, %47 + %idxprom27 = sext i32 %add26 to i64 + %arrayidx28 = getelementptr inbounds i8*, i8** %45, i64 %idxprom27 + %48 = load i8*, i8** %arrayidx28, align 8 + store i8* %48, i8** %tem, align 8 + %49 = load i8**, i8*** %argv.addr, align 8 + %50 = load i32, i32* %middle, align 4 + %51 = load i32, i32* %i22, align 4 + %add29 = add nsw i32 %50, %51 + %idxprom30 = sext i32 %add29 to i64 + %arrayidx31 = getelementptr inbounds i8*, i8** %49, i64 %idxprom30 + %52 = load i8*, i8** %arrayidx31, align 8 + %53 = load i8**, i8*** %argv.addr, align 8 + %54 = load i32, i32* %bottom, align 4 + %55 = load i32, i32* %i22, align 4 + %add32 = add nsw i32 %54, %55 + %idxprom33 = sext i32 %add32 to i64 + %arrayidx34 = getelementptr inbounds i8*, i8** %53, i64 %idxprom33 + store i8* %52, i8** %arrayidx34, align 8 + %56 = load i8*, i8** %tem, align 8 + %57 = load i8**, i8*** %argv.addr, align 8 + %58 = load i32, i32* %middle, align 4 + %59 = load i32, i32* %i22, align 4 + %add35 = add nsw i32 %58, %59 + %idxprom36 = sext i32 %add35 to i64 + %arrayidx37 = getelementptr inbounds i8*, i8** %57, i64 %idxprom36 + store i8* %56, i8** %arrayidx37, align 8 + %60 = load i32, i32* %i22, align 4 + %inc39 = add nsw i32 %60, 1 + store i32 %inc39, i32* %i22, align 4 + br label %for.cond23 + +for.end40: ; preds = %for.cond23 + %61 = load i32, i32* %len20, align 4 + %62 = load i32, i32* %bottom, align 4 + %add41 = add nsw i32 %62, %61 + store i32 %add41, i32* %bottom, align 4 + br label %if.end + +if.end: ; preds = %for.end40, %for.end + br label %while.cond + +while.end: ; preds = %while.cond + %63 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind42 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %63, i32 0, i32 0 + %64 = load i32, i32* %optind42, align 8 + %65 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt43 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %65, i32 0, i32 9 + %66 = load i32, i32* %__last_nonopt43, align 4 + %sub44 = sub nsw i32 %64, %66 + %67 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt45 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %67, i32 0, i32 8 + %68 = load i32, i32* %__first_nonopt45, align 8 + %add46 = add nsw i32 %68, %sub44 + store i32 %add46, i32* %__first_nonopt45, align 8 + %69 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind47 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %69, i32 0, i32 0 + %70 = load i32, i32* %optind47, align 8 + %71 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt48 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %71, i32 0, i32 9 + store i32 %70, i32* %__last_nonopt48, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getopt(i32 %argc, i8** %argv, i8* %optstring) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + %0 = load i32, i32* %argc.addr, align 4 + %1 = load i8**, i8*** %argv.addr, align 8 + %2 = load i8*, i8** %optstring.addr, align 8 + %call = call i32 @_getopt_internal(i32 %0, i8** %1, i8* %2, %struct.option* null, i32* null, i32 0) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getopt_long(i32 %argc, i8** %argv, i8* %options, %struct.option* %long_options, i32* %opt_index) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %options.addr = alloca i8*, align 8 + %long_options.addr = alloca %struct.option*, align 8 + %opt_index.addr = alloca i32*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %options, i8** %options.addr, align 8 + store %struct.option* %long_options, %struct.option** %long_options.addr, align 8 + store i32* %opt_index, i32** %opt_index.addr, align 8 + %0 = load i32, i32* %argc.addr, align 4 + %1 = load i8**, i8*** %argv.addr, align 8 + %2 = load i8*, i8** %options.addr, align 8 + %3 = load %struct.option*, %struct.option** %long_options.addr, align 8 + %4 = load i32*, i32** %opt_index.addr, align 8 + %call = call i32 @_getopt_internal(i32 %0, i8** %1, i8* %2, %struct.option* %3, i32* %4, i32 0) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getopt_long_only(i32 %argc, i8** %argv, i8* %options, %struct.option* %long_options, i32* %opt_index) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %options.addr = alloca i8*, align 8 + %long_options.addr = alloca %struct.option*, align 8 + %opt_index.addr = alloca i32*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %options, i8** %options.addr, align 8 + store %struct.option* %long_options, %struct.option** %long_options.addr, align 8 + store i32* %opt_index, i32** %opt_index.addr, align 8 + %0 = load i32, i32* %argc.addr, align 4 + %1 = load i8**, i8*** %argv.addr, align 8 + %2 = load i8*, i8** %options.addr, align 8 + %3 = load %struct.option*, %struct.option** %long_options.addr, align 8 + %4 = load i32*, i32** %opt_index.addr, align 8 + %call = call i32 @_getopt_internal(i32 %0, i8** %1, i8* %2, %struct.option* %3, i32* %4, i32 1) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define %struct.__uclibc_locale_struct.201* @newlocale(i32 %category_mask, i8* %locale, %struct.__uclibc_locale_struct.201* %base) #0 { +entry: + %retval = alloca %struct.__uclibc_locale_struct.201*, align 8 + %category_mask.addr = alloca i32, align 4 + %locale.addr = alloca i8*, align 8 + %base.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %p = alloca i8*, align 8 + %i = alloca i32, align 4 + %j = alloca i32, align 4 + %k = alloca i32, align 4 + %new_selector = alloca [14 x i8], align 1 + store i32 %category_mask, i32* %category_mask.addr, align 4 + store i8* %locale, i8** %locale.addr, align 8 + store %struct.__uclibc_locale_struct.201* %base, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %0 = load i32, i32* %category_mask.addr, align 4 + %cmp = icmp eq i32 %0, 64 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 8127, i32* %category_mask.addr, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i8*, i8** %locale.addr, align 8 + %tobool = icmp eq i8* %1, null + %2 = load i32, i32* %category_mask.addr, align 4 + %cmp1 = icmp ugt i32 %2, 8127 + %or.cond = or i1 %tobool, %cmp1 + br i1 %or.cond, label %INVALID, label %if.end3 + +INVALID: ; preds = %if.else, %do.end, %if.end + store i32 22, i32* @errno, align 4 + store %struct.__uclibc_locale_struct.201* null, %struct.__uclibc_locale_struct.201** %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %3 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tobool4 = icmp ne %struct.__uclibc_locale_struct.201* %3, null + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %4, i32 0, i32 6 + %arraydecay5 = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + %cond = select i1 %tobool4, i8* %arraydecay5, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.324, i64 0, i64 0) + %call = call i8* @strcpy(i8* %arraydecay, i8* %cond) #19 + %5 = load i8*, i8** %locale.addr, align 8 + %6 = load i8, i8* %5, align 1 + %tobool6 = icmp ne i8 %6, 0 + br i1 %tobool6, label %if.else, label %if.then7 + +if.then7: ; preds = %if.end3 + store i32 1, i32* %i, align 4 + store i32 0, i32* %k, align 4 + br label %do.body + +do.body: ; preds = %if.end25, %if.then7 + %7 = load i32, i32* %category_mask.addr, align 4 + %8 = load i32, i32* %i, align 4 + %and = and i32 %7, %8 + %tobool8 = icmp ne i32 %and, 0 + br i1 %tobool8, label %if.then9, label %if.end25 + +if.then9: ; preds = %do.body + %9 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %9, i32 0, i32 34 + %arraydecay10 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names, i64 0, i64 0 + %10 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names11 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %10, i32 0, i32 34 + %11 = load i32, i32* %k, align 4 + %idxprom = sext i32 %11 to i64 + %arrayidx = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names11, i64 0, i64 %idxprom + %12 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %12 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay10, i64 %idx.ext + store i8* %add.ptr, i8** getelementptr inbounds ([4 x i8*], [4 x i8*]* @newlocale.envstr, i64 0, i64 1), align 8 + store i32 0, i32* %j, align 4 + br label %do.body12 + +do.body12: ; preds = %land.rhs, %lor.rhs, %if.then9 + %13 = load i32, i32* %j, align 4 + %idxprom13 = sext i32 %13 to i64 + %arrayidx14 = getelementptr inbounds [4 x i8*], [4 x i8*]* @newlocale.envstr, i64 0, i64 %idxprom13 + %14 = load i8*, i8** %arrayidx14, align 8 + store i8* %14, i8** %p, align 8 + %15 = load i32, i32* %j, align 4 + %inc = add nsw i32 %15, 1 + store i32 %inc, i32* %j, align 4 + %cmp15 = icmp slt i32 %inc, 4 + br i1 %cmp15, label %land.rhs, label %do.end + +land.rhs: ; preds = %do.body12 + %16 = load i8*, i8** %p, align 8 + %call17 = call i8* @getenv(i8* %16) #19 + store i8* %call17, i8** %p, align 8 + %tobool18 = icmp ne i8* %call17, null + br i1 %tobool18, label %lor.rhs, label %do.body12 + +lor.rhs: ; preds = %land.rhs + %17 = load i8*, i8** %p, align 8 + %18 = load i8, i8* %17, align 1 + %tobool19 = icmp ne i8 %18, 0 + %lnot = xor i1 %tobool19, true + br i1 %lnot, label %do.body12, label %do.end + +do.end: ; preds = %do.body12, %lor.rhs + %19 = load i32, i32* %i, align 4 + %20 = load i8*, i8** %p, align 8 + %arraydecay20 = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %call21 = call i32 @find_locale(i32 %19, i8* %20, i8* %arraydecay20) #18 + %tobool22 = icmp ne i32 %call21, 0 + br i1 %tobool22, label %if.end25, label %INVALID + +if.end25: ; preds = %do.end, %do.body + %21 = load i32, i32* %i, align 4 + %22 = load i32, i32* %i, align 4 + %add = add nsw i32 %22, %21 + store i32 %add, i32* %i, align 4 + %23 = load i32, i32* %k, align 4 + %inc27 = add nsw i32 %23, 1 + store i32 %inc27, i32* %k, align 4 + %cmp28 = icmp slt i32 %inc27, 6 + br i1 %cmp28, label %do.body, label %if.end36 + +if.else: ; preds = %if.end3 + %24 = load i32, i32* %category_mask.addr, align 4 + %25 = load i8*, i8** %locale.addr, align 8 + %arraydecay31 = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %call32 = call i8* @composite_locale(i32 %24, i8* %25, i8* %arraydecay31) #18 + %tobool33 = icmp ne i8* %call32, null + br i1 %tobool33, label %if.end36, label %INVALID + +if.end36: ; preds = %if.else, %if.end25 + %26 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tobool37 = icmp ne %struct.__uclibc_locale_struct.201* %26, null + br i1 %tobool37, label %if.end44, label %if.then38 + +if.then38: ; preds = %if.end36 + %call39 = call noalias i8* @calloc(i64 1, i64 3320) #19 + %27 = bitcast i8* %call39 to %struct.__uclibc_locale_struct.201* + store %struct.__uclibc_locale_struct.201* %27, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cmp40 = icmp eq %struct.__uclibc_locale_struct.201* %27, null + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + br i1 %cmp40, label %if.then42, label %if.end43 + +if.then42: ; preds = %if.then38 + store %struct.__uclibc_locale_struct.201* %28, %struct.__uclibc_locale_struct.201** %retval, align 8 + br label %return + +if.end43: ; preds = %if.then38 + call void @_locale_init_l(%struct.__uclibc_locale_struct.201* %28) #18 + br label %if.end44 + +if.end44: ; preds = %if.end43, %if.end36 + %arraydecay45 = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %29 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call46 = call i32 @_locale_set_l(i8* %arraydecay45, %struct.__uclibc_locale_struct.201* %29) #18 + %30 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + store %struct.__uclibc_locale_struct.201* %30, %struct.__uclibc_locale_struct.201** %retval, align 8 + br label %return + +return: ; preds = %if.end44, %if.then42, %INVALID + %31 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %retval, align 8 + ret %struct.__uclibc_locale_struct.201* %31 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @find_locale(i32 %category_mask, i8* %p, i8* %new_locale) #0 { +entry: + %retval = alloca i32, align 4 + %category_mask.addr = alloca i32, align 4 + %p.addr = alloca i8*, align 8 + %new_locale.addr = alloca i8*, align 8 + %i = alloca i32, align 4 + %s = alloca i8*, align 8 + %n = alloca i16, align 2 + %lang_cult = alloca i8, align 1 + %codeset = alloca i8, align 1 + %buf = alloca [18 x i8], align 16 + %q = alloca i8*, align 8 + store i32 %category_mask, i32* %category_mask.addr, align 4 + store i8* %p, i8** %p.addr, align 8 + store i8* %new_locale, i8** %new_locale.addr, align 8 + %0 = load i8*, i8** %p.addr, align 8 + %call = call i8* @strchr(i8* %0, i32 64) #20 + store i8* %call, i8** %q, align 8 + %cmp = icmp ne i8* %call, null + br i1 %cmp, label %if.then, label %if.end27 + +if.then: ; preds = %entry + %1 = load i8*, i8** %q, align 8 + %2 = load i8*, i8** %p.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %1 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %2 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %sub = sub nsw i64 %sub.ptr.sub, 5 + %cmp1 = icmp ugt i64 %sub, 13 + br i1 %cmp1, label %if.then4, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then + %3 = load i8*, i8** %p.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %3, i64 2 + %4 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %4 to i32 + %cmp2 = icmp ne i32 %conv, 95 + br i1 %cmp2, label %if.then4, label %if.end + +if.then4: ; preds = %lor.lhs.false, %if.then + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %lor.lhs.false + %5 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_at_modifiers = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %5, i32 0, i32 33 + %arraydecay = getelementptr inbounds [18 x i8], [18 x i8]* %locale_at_modifiers, i64 0, i64 0 + store i8* %arraydecay, i8** %s, align 8 + br label %do.body + +do.body: ; preds = %if.end8, %if.end + %6 = load i8*, i8** %s, align 8 + %add.ptr = getelementptr inbounds i8, i8* %6, i64 2 + %7 = load i8*, i8** %q, align 8 + %add.ptr5 = getelementptr inbounds i8, i8* %7, i64 1 + %call6 = call i32 @strcmp(i8* %add.ptr, i8* %add.ptr5) #20 + %tobool = icmp ne i32 %call6, 0 + br i1 %tobool, label %if.end8, label %do.end + +if.end8: ; preds = %do.body + %8 = load i8*, i8** %s, align 8 + %9 = load i8, i8* %8, align 1 + %conv9 = zext i8 %9 to i32 + %add = add nsw i32 2, %conv9 + %10 = load i8*, i8** %s, align 8 + %idx.ext = sext i32 %add to i64 + %add.ptr10 = getelementptr inbounds i8, i8* %10, i64 %idx.ext + store i8* %add.ptr10, i8** %s, align 8 + %11 = load i8*, i8** %s, align 8 + %12 = load i8, i8* %11, align 1 + %tobool11 = icmp ne i8 %12, 0 + br i1 %tobool11, label %do.body, label %do.end + +do.end: ; preds = %do.body, %if.end8 + %13 = load i8*, i8** %s, align 8 + %14 = load i8, i8* %13, align 1 + %tobool12 = icmp ne i8 %14, 0 + br i1 %tobool12, label %if.end14, label %if.then13 + +if.then13: ; preds = %do.end + store i32 0, i32* %retval, align 4 + br label %return + +if.end14: ; preds = %do.end + %arraydecay15 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 0 + %15 = load i8*, i8** %p.addr, align 8 + %16 = load i8*, i8** %q, align 8 + %17 = load i8*, i8** %p.addr, align 8 + %sub.ptr.lhs.cast16 = ptrtoint i8* %16 to i64 + %sub.ptr.rhs.cast17 = ptrtoint i8* %17 to i64 + %sub.ptr.sub18 = sub i64 %sub.ptr.lhs.cast16, %sub.ptr.rhs.cast17 + %call19 = call i8* @memcpy(i8* %arraydecay15, i8* %15, i64 %sub.ptr.sub18) #19 + %18 = load i8*, i8** %q, align 8 + %19 = load i8*, i8** %p.addr, align 8 + %sub.ptr.lhs.cast20 = ptrtoint i8* %18 to i64 + %sub.ptr.rhs.cast21 = ptrtoint i8* %19 to i64 + %sub.ptr.sub22 = sub i64 %sub.ptr.lhs.cast20, %sub.ptr.rhs.cast21 + %arrayidx23 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 %sub.ptr.sub22 + store i8 0, i8* %arrayidx23, align 1 + %20 = load i8*, i8** %s, align 8 + %arrayidx24 = getelementptr inbounds i8, i8* %20, i64 1 + %21 = load i8, i8* %arrayidx24, align 1 + %arrayidx25 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 2 + store i8 %21, i8* %arrayidx25, align 2 + %arraydecay26 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay26, i8** %p.addr, align 8 + br label %if.end27 + +if.end27: ; preds = %if.end14, %entry + store i8 0, i8* %codeset, align 1 + store i8 0, i8* %lang_cult, align 1 + %22 = load i8*, i8** %p.addr, align 8 + %23 = load i8, i8* %22, align 1 + %conv28 = sext i8 %23 to i32 + %cmp29 = icmp eq i32 %conv28, 67 + br i1 %cmp29, label %land.lhs.true, label %lor.lhs.false33 + +land.lhs.true: ; preds = %if.end27 + %24 = load i8*, i8** %p.addr, align 8 + %arrayidx31 = getelementptr inbounds i8, i8* %24, i64 1 + %25 = load i8, i8* %arrayidx31, align 1 + %tobool32 = icmp ne i8 %25, 0 + br i1 %tobool32, label %lor.lhs.false33, label %FIND_LOCALE + +lor.lhs.false33: ; preds = %land.lhs.true, %if.end27 + %26 = load i8*, i8** %p.addr, align 8 + %call34 = call i32 @strcmp(i8* %26, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @posix, i64 0, i64 0)) #20 + %tobool35 = icmp ne i32 %call34, 0 + br i1 %tobool35, label %if.end37, label %FIND_LOCALE + +if.end37: ; preds = %lor.lhs.false33 + %27 = load i8*, i8** %p.addr, align 8 + %call38 = call i64 @strlen(i8* %27) #20 + %cmp39 = icmp ugt i64 %call38, 5 + br i1 %cmp39, label %land.lhs.true41, label %FIND_LANG_CULT + +land.lhs.true41: ; preds = %if.end37 + %28 = load i8*, i8** %p.addr, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %28, i64 5 + %29 = load i8, i8* %arrayidx42, align 1 + %conv43 = sext i8 %29 to i32 + %cmp44 = icmp eq i32 %conv43, 46 + br i1 %cmp44, label %if.then46, label %FIND_LANG_CULT + +if.then46: ; preds = %land.lhs.true41 + store i8 2, i8* %codeset, align 1 + %30 = load i8*, i8** %p.addr, align 8 + %add.ptr47 = getelementptr inbounds i8, i8* %30, i64 6 + %call48 = call i32 @strcmp(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf8.327, i64 0, i64 0), i8* %add.ptr47) #20 + %cmp49 = icmp ne i32 %call48, 0 + br i1 %cmp49, label %if.then51, label %FIND_LANG_CULT + +if.then51: ; preds = %if.then46 + %31 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %31, i32 0, i32 35 + %arraydecay52 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list, i64 0, i64 0 + store i8* %arraydecay52, i8** %s, align 8 + br label %do.body53 + +do.body53: ; preds = %do.cond64, %if.then51 + %32 = load i8, i8* %codeset, align 1 + %inc = add i8 %32, 1 + store i8 %inc, i8* %codeset, align 1 + %33 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list54 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %33, i32 0, i32 35 + %arraydecay55 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list54, i64 0, i64 0 + %34 = load i8*, i8** %s, align 8 + %35 = load i8, i8* %34, align 1 + %conv56 = zext i8 %35 to i32 + %idx.ext57 = sext i32 %conv56 to i64 + %add.ptr58 = getelementptr inbounds i8, i8* %arraydecay55, i64 %idx.ext57 + %36 = load i8*, i8** %p.addr, align 8 + %add.ptr59 = getelementptr inbounds i8, i8* %36, i64 6 + %call60 = call i32 @strcmp(i8* %add.ptr58, i8* %add.ptr59) #20 + %tobool61 = icmp ne i32 %call60, 0 + br i1 %tobool61, label %do.cond64, label %FIND_LANG_CULT + +do.cond64: ; preds = %do.body53 + %37 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %37, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %38 = load i8, i8* %incdec.ptr, align 1 + %tobool65 = icmp ne i8 %38, 0 + br i1 %tobool65, label %do.body53, label %do.end66 + +do.end66: ; preds = %do.cond64 + store i32 0, i32* %retval, align 4 + br label %return + +FIND_LANG_CULT: ; preds = %if.end37, %land.lhs.true41, %if.then46, %do.body53 + %39 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_names5 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %39, i32 0, i32 32 + %arraydecay69 = getelementptr inbounds [835 x i8], [835 x i8]* %locale_names5, i64 0, i64 0 + store i8* %arraydecay69, i8** %s, align 8 + br label %do.body70 + +do.body70: ; preds = %if.end75, %FIND_LANG_CULT + %40 = load i8, i8* %lang_cult, align 1 + %inc71 = add i8 %40, 1 + store i8 %inc71, i8* %lang_cult, align 1 + %41 = load i8*, i8** %s, align 8 + %42 = load i8*, i8** %p.addr, align 8 + %call72 = call i32 @strncmp(i8* %41, i8* %42, i64 5) #20 + %tobool73 = icmp ne i32 %call72, 0 + br i1 %tobool73, label %if.end75, label %FIND_LOCALE + +if.end75: ; preds = %do.body70 + %43 = load i8*, i8** %s, align 8 + %add.ptr76 = getelementptr inbounds i8, i8* %43, i64 5 + store i8* %add.ptr76, i8** %s, align 8 + %44 = load i8, i8* %lang_cult, align 1 + %conv78 = zext i8 %44 to i32 + %cmp79 = icmp slt i32 %conv78, 167 + br i1 %cmp79, label %do.body70, label %do.end81 + +do.end81: ; preds = %if.end75 + store i32 0, i32* %retval, align 4 + br label %return + +FIND_LOCALE: ; preds = %do.body70, %land.lhs.true, %lor.lhs.false33 + %45 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %45, i32 0, i32 31 + %arraydecay82 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales, i64 0, i64 0 + store i8* %arraydecay82, i8** %s, align 8 + store i16 0, i16* %n, align 2 + br label %do.body83 + +do.body83: ; preds = %if.end120, %FIND_LOCALE + %46 = load i8, i8* %lang_cult, align 1 + %conv84 = zext i8 %46 to i32 + %47 = load i8*, i8** %s, align 8 + %48 = load i8, i8* %47, align 1 + %conv85 = zext i8 %48 to i32 + %cmp86 = icmp eq i32 %conv84, %conv85 + br i1 %cmp86, label %land.lhs.true88, label %if.end120 + +land.lhs.true88: ; preds = %do.body83 + %49 = load i8, i8* %codeset, align 1 + %conv89 = zext i8 %49 to i32 + %50 = load i8*, i8** %s, align 8 + %arrayidx90 = getelementptr inbounds i8, i8* %50, i64 1 + %51 = load i8, i8* %arrayidx90, align 1 + %conv91 = zext i8 %51 to i32 + %cmp92 = icmp eq i32 %conv89, %conv91 + br i1 %cmp92, label %if.then100, label %lor.lhs.false94 + +lor.lhs.false94: ; preds = %land.lhs.true88 + %52 = load i8, i8* %codeset, align 1 + %conv95 = zext i8 %52 to i32 + %53 = load i8*, i8** %s, align 8 + %arrayidx96 = getelementptr inbounds i8, i8* %53, i64 2 + %54 = load i8, i8* %arrayidx96, align 1 + %conv97 = zext i8 %54 to i32 + %cmp98 = icmp eq i32 %conv95, %conv97 + br i1 %cmp98, label %if.then100, label %if.end120 + +if.then100: ; preds = %lor.lhs.false94, %land.lhs.true88 + store i32 1, i32* %i, align 4 + %55 = load i8*, i8** %new_locale.addr, align 8 + %add.ptr101 = getelementptr inbounds i8, i8* %55, i64 1 + store i8* %add.ptr101, i8** %s, align 8 + br label %do.body102 + +do.body102: ; preds = %if.end113, %if.then100 + %56 = load i32, i32* %category_mask.addr, align 4 + %57 = load i32, i32* %i, align 4 + %and = and i32 %56, %57 + %tobool103 = icmp ne i32 %and, 0 + br i1 %tobool103, label %if.then104, label %if.end113 + +if.then104: ; preds = %do.body102 + %58 = load i16, i16* %n, align 2 + %conv105 = zext i16 %58 to i32 + %shr = ashr i32 %conv105, 7 + %or = or i32 %shr, 128 + %conv106 = trunc i32 %or to i8 + %59 = load i8*, i8** %s, align 8 + %arrayidx107 = getelementptr inbounds i8, i8* %59, i64 0 + store i8 %conv106, i8* %arrayidx107, align 1 + %60 = load i16, i16* %n, align 2 + %conv108 = zext i16 %60 to i32 + %and109 = and i32 %conv108, 127 + %or110 = or i32 %and109, 128 + %conv111 = trunc i32 %or110 to i8 + %61 = load i8*, i8** %s, align 8 + %arrayidx112 = getelementptr inbounds i8, i8* %61, i64 1 + store i8 %conv111, i8* %arrayidx112, align 1 + br label %if.end113 + +if.end113: ; preds = %if.then104, %do.body102 + %62 = load i8*, i8** %s, align 8 + %add.ptr114 = getelementptr inbounds i8, i8* %62, i64 2 + store i8* %add.ptr114, i8** %s, align 8 + %63 = load i32, i32* %i, align 4 + %64 = load i32, i32* %i, align 4 + %add115 = add nsw i32 %64, %63 + store i32 %add115, i32* %i, align 4 + %65 = load i32, i32* %i, align 4 + %cmp117 = icmp slt i32 %65, 64 + br i1 %cmp117, label %do.body102, label %do.end119 + +do.end119: ; preds = %if.end113 + %66 = load i32, i32* %i, align 4 + store i32 %66, i32* %retval, align 4 + br label %return + +if.end120: ; preds = %lor.lhs.false94, %do.body83 + %67 = load i8*, i8** %s, align 8 + %add.ptr121 = getelementptr inbounds i8, i8* %67, i64 9 + store i8* %add.ptr121, i8** %s, align 8 + %68 = load i16, i16* %n, align 2 + %inc122 = add i16 %68, 1 + store i16 %inc122, i16* %n, align 2 + %69 = load i16, i16* %n, align 2 + %conv124 = zext i16 %69 to i32 + %cmp125 = icmp sle i32 %conv124, 314 + br i1 %cmp125, label %do.body83, label %do.end127 + +do.end127: ; preds = %if.end120 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end127, %do.end119, %do.end81, %do.end66, %if.then13, %if.then4 + %70 = load i32, i32* %retval, align 4 + ret i32 %70 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @composite_locale(i32 %category_mask, i8* %locale, i8* %new_locale) #0 { +entry: + %retval = alloca i8*, align 8 + %category_mask.addr = alloca i32, align 4 + %locale.addr = alloca i8*, align 8 + %new_locale.addr = alloca i8*, align 8 + %buf = alloca [256 x i8], align 16 + %t = alloca i8*, align 8 + %e = alloca i8*, align 8 + %c = alloca i32, align 4 + %component_mask = alloca i32, align 4 + store i32 %category_mask, i32* %category_mask.addr, align 4 + store i8* %locale, i8** %locale.addr, align 8 + store i8* %new_locale, i8** %new_locale.addr, align 8 + %0 = load i8*, i8** %locale.addr, align 8 + %call = call i8* @strchr(i8* %0, i32 61) #20 + %tobool = icmp ne i8* %call, null + br i1 %tobool, label %if.end4, label %if.then + +if.then: ; preds = %entry + %1 = load i32, i32* %category_mask.addr, align 4 + %2 = load i8*, i8** %locale.addr, align 8 + %3 = load i8*, i8** %new_locale.addr, align 8 + %call1 = call i32 @find_locale(i32 %1, i8* %2, i8* %3) #18 + %tobool2 = icmp ne i32 %call1, 0 + br i1 %tobool2, label %if.end, label %if.then3 + +if.then3: ; preds = %if.then + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %if.then + %4 = load i8*, i8** %new_locale.addr, align 8 + store i8* %4, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %entry + %5 = load i8*, i8** %locale.addr, align 8 + %call5 = call i64 @strlen(i8* %5) #20 + %cmp = icmp uge i64 %call5, 256 + br i1 %cmp, label %if.then6, label %if.end7 + +if.then6: ; preds = %if.end4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end7: ; preds = %if.end4 + %arraydecay = getelementptr inbounds [256 x i8], [256 x i8]* %buf, i64 0, i64 0 + %6 = load i8*, i8** %locale.addr, align 8 + %call8 = call i8* @stpcpy(i8* %arraydecay, i8* %6) #19 + store i32 0, i32* %component_mask, align 4 + %arraydecay9 = getelementptr inbounds [256 x i8], [256 x i8]* %buf, i64 0, i64 0 + %call10 = call i8* @strtok_r(i8* %arraydecay9, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.325, i64 0, i64 0), i8** %e) #19 + store i8* %call10, i8** %t, align 8 + br label %do.body + +do.body: ; preds = %do.cond, %if.end7 + store i32 0, i32* %c, align 4 + br label %while.cond + +while.cond: ; preds = %while.body, %do.body + %7 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %7, i32 0, i32 34 + %arraydecay11 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names, i64 0, i64 0 + %8 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names12 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %8, i32 0, i32 34 + %9 = load i32, i32* %c, align 4 + %idxprom = sext i32 %9 to i64 + %arrayidx = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names12, i64 0, i64 %idxprom + %10 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %10 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay11, i64 %idx.ext + %11 = load i8*, i8** %t, align 8 + %call13 = call i32 @strcmp(i8* %add.ptr, i8* %11) #20 + %tobool14 = icmp ne i32 %call13, 0 + br i1 %tobool14, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %12 = load i32, i32* %c, align 4 + %inc = add nsw i32 %12, 1 + store i32 %inc, i32* %c, align 4 + %cmp15 = icmp eq i32 %inc, 6 + br i1 %cmp15, label %if.then17, label %while.cond + +if.then17: ; preds = %while.body + store i8* null, i8** %retval, align 8 + br label %return + +while.end: ; preds = %while.cond + %call19 = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.4.326, i64 0, i64 0), i8** %e) #19 + store i8* %call19, i8** %t, align 8 + %13 = load i32, i32* %c, align 4 + %shl = shl i32 1, %13 + store i32 %shl, i32* %c, align 4 + %14 = load i32, i32* %component_mask, align 4 + %15 = load i32, i32* %c, align 4 + %and = and i32 %14, %15 + %tobool20 = icmp ne i32 %and, 0 + br i1 %tobool20, label %if.then21, label %if.end22 + +if.then21: ; preds = %while.end + store i8* null, i8** %retval, align 8 + br label %return + +if.end22: ; preds = %while.end + %16 = load i32, i32* %c, align 4 + %17 = load i32, i32* %component_mask, align 4 + %or = or i32 %17, %16 + store i32 %or, i32* %component_mask, align 4 + %18 = load i32, i32* %category_mask.addr, align 4 + %19 = load i32, i32* %c, align 4 + %and23 = and i32 %18, %19 + %tobool24 = icmp ne i32 %and23, 0 + br i1 %tobool24, label %land.lhs.true, label %do.cond + +land.lhs.true: ; preds = %if.end22 + %20 = load i8*, i8** %t, align 8 + %tobool25 = icmp ne i8* %20, null + br i1 %tobool25, label %lor.lhs.false, label %if.then28 + +lor.lhs.false: ; preds = %land.lhs.true + %21 = load i32, i32* %c, align 4 + %22 = load i8*, i8** %t, align 8 + %23 = load i8*, i8** %new_locale.addr, align 8 + %call26 = call i32 @find_locale(i32 %21, i8* %22, i8* %23) #18 + %tobool27 = icmp ne i32 %call26, 0 + br i1 %tobool27, label %do.cond, label %if.then28 + +if.then28: ; preds = %lor.lhs.false, %land.lhs.true + store i8* null, i8** %retval, align 8 + br label %return + +do.cond: ; preds = %if.end22, %lor.lhs.false + %call30 = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.325, i64 0, i64 0), i8** %e) #19 + store i8* %call30, i8** %t, align 8 + %cmp31 = icmp ne i8* %call30, null + br i1 %cmp31, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %24 = load i32, i32* %category_mask.addr, align 4 + %25 = load i32, i32* %component_mask, align 4 + %neg = xor i32 %25, -1 + %and33 = and i32 %24, %neg + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %if.then35, label %if.end36 + +if.then35: ; preds = %do.end + store i8* null, i8** %retval, align 8 + br label %return + +if.end36: ; preds = %do.end + %26 = load i8*, i8** %new_locale.addr, align 8 + store i8* %26, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end36, %if.then35, %if.then28, %if.then21, %if.then17, %if.then6, %if.end, %if.then3 + %27 = load i8*, i8** %retval, align 8 + ret i8* %27 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @nl_langinfo_l(i32 %item, %struct.__uclibc_locale_struct.201* %locale_arg) #0 { +entry: + %retval = alloca i8*, align 8 + %item.addr = alloca i32, align 4 + %locale_arg.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %c = alloca i32, align 4 + %i = alloca i32, align 4 + store i32 %item, i32* %item.addr, align 4 + store %struct.__uclibc_locale_struct.201* %locale_arg, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %0 = load i32, i32* %item.addr, align 4 + %shr = ashr i32 %0, 8 + store i32 %shr, i32* %c, align 4 + %1 = load i32, i32* %item.addr, align 4 + %and = and i32 %1, 255 + store i32 %and, i32* %i, align 4 + %2 = load i32, i32* %c, align 4 + %cmp = icmp ult i32 %2, 6 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %3 = load i32, i32* %i, align 4 + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %category_item_count = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %4, i32 0, i32 8 + %5 = load i32, i32* %c, align 4 + %idxprom = zext i32 %5 to i64 + %arrayidx = getelementptr inbounds [6 x i8], [6 x i8]* %category_item_count, i64 0, i64 %idxprom + %6 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %6 to i32 + %cmp1 = icmp ult i32 %3, %conv + br i1 %cmp1, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %7 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %8 = bitcast %struct.__uclibc_locale_struct.201* %7 to i8* + %9 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %category_offsets = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %9, i32 0, i32 7 + %10 = load i32, i32* %c, align 4 + %idxprom3 = zext i32 %10 to i64 + %arrayidx4 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets, i64 0, i64 %idxprom3 + %11 = load i16, i16* %arrayidx4, align 2 + %conv5 = zext i16 %11 to i32 + %idx.ext = sext i32 %conv5 to i64 + %add.ptr = getelementptr inbounds i8, i8* %8, i64 %idx.ext + %12 = bitcast i8* %add.ptr to i8** + %13 = load i32, i32* %i, align 4 + %idxprom6 = zext i32 %13 to i64 + %arrayidx7 = getelementptr inbounds i8*, i8** %12, i64 %idxprom6 + %14 = load i8*, i8** %arrayidx7, align 8 + store i8* %14, i8** %retval, align 8 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @empty, i64 0, i64 0), i8** %retval, align 8 + br label %return + +return: ; preds = %if.end, %if.then + %15 = load i8*, i8** %retval, align 8 + ret i8* %15 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @mbsnrtowcs(i32* noalias %dst, i8** noalias %src, i64 %NMC, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %retval = alloca i64, align 8 + %dst.addr = alloca i32*, align 8 + %src.addr = alloca i8**, align 8 + %NMC.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %wcbuf = alloca [1 x i32], align 4 + %s = alloca i8*, align 8 + %count = alloca i64, align 8 + %incr = alloca i32, align 4 + %r = alloca i64, align 8 + %wc = alloca i32, align 4 + store i32* %dst, i32** %dst.addr, align 8 + store i8** %src, i8*** %src.addr, align 8 + store i64 %NMC, i64* %NMC.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %tobool = icmp ne %struct.__mbstate_t.512* %0, null + %spec.store.select = select i1 %tobool, %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512* @mbsnrtowcs.mbstate + store %struct.__mbstate_t.512* %spec.store.select, %struct.__mbstate_t.512** %ps.addr, align 8 + %1 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %1, i32 0, i32 9 + %2 = load i8, i8* %encoding, align 8 + %conv = zext i8 %2 to i32 + %cmp = icmp eq i32 %conv, 1 + br i1 %cmp, label %if.then2, label %if.end5 + +if.then2: ; preds = %entry + %3 = load i32*, i32** %dst.addr, align 8 + %4 = load i64, i64* %len.addr, align 8 + %5 = load i8**, i8*** %src.addr, align 8 + %6 = load i64, i64* %NMC.addr, align 8 + %7 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @_wchar_utf8sntowcs(i32* %3, i64 %4, i8** %5, i64 %6, %struct.__mbstate_t.512* %7, i32 1) #18 + store i64 %call, i64* %r, align 8 + %cmp3 = icmp ne i64 %call, -2 + %8 = load i64, i64* %r, align 8 + %cond = select i1 %cmp3, i64 %8, i64 0 + store i64 %cond, i64* %retval, align 8 + br label %return + +if.end5: ; preds = %entry + store i32 1, i32* %incr, align 4 + %9 = load i32*, i32** %dst.addr, align 8 + %tobool6 = icmp ne i32* %9, null + br i1 %tobool6, label %lor.lhs.false, label %if.then9 + +lor.lhs.false: ; preds = %if.end5 + %10 = load i32*, i32** %dst.addr, align 8 + %11 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %12 = bitcast %struct.__mbstate_t.512* %11 to i32* + %cmp7 = icmp eq i32* %10, %12 + br i1 %cmp7, label %if.then9, label %if.end13 + +if.then9: ; preds = %lor.lhs.false, %if.end5 + %13 = load i32*, i32** %dst.addr, align 8 + %tobool10 = icmp ne i32* %13, null + br i1 %tobool10, label %if.end12, label %if.then11 + +if.then11: ; preds = %if.then9 + store i64 -1, i64* %len.addr, align 8 + br label %if.end12 + +if.end12: ; preds = %if.then11, %if.then9 + %arraydecay = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay, i32** %dst.addr, align 8 + store i32 0, i32* %incr, align 4 + br label %if.end13 + +if.end13: ; preds = %if.end12, %lor.lhs.false + %14 = load i64, i64* %len.addr, align 8 + %15 = load i64, i64* %NMC.addr, align 8 + %cmp14 = icmp ugt i64 %14, %15 + br i1 %cmp14, label %if.then16, label %if.end17 + +if.then16: ; preds = %if.end13 + %16 = load i64, i64* %NMC.addr, align 8 + store i64 %16, i64* %len.addr, align 8 + br label %if.end17 + +if.end17: ; preds = %if.then16, %if.end13 + %17 = load i64, i64* %len.addr, align 8 + store i64 %17, i64* %count, align 8 + %18 = load i8**, i8*** %src.addr, align 8 + %19 = load i8*, i8** %18, align 8 + store i8* %19, i8** %s, align 8 + %20 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding18 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %20, i32 0, i32 9 + %21 = load i8, i8* %encoding18, align 8 + %conv19 = zext i8 %21 to i32 + %cmp20 = icmp eq i32 %conv19, 2 + br i1 %cmp20, label %while.cond, label %while.cond46 + +while.cond: ; preds = %if.end17, %if.end38 + %22 = load i64, i64* %count, align 8 + %tobool23 = icmp ne i64 %22, 0 + br i1 %tobool23, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %23 = load i8*, i8** %s, align 8 + %24 = load i8, i8* %23, align 1 + %conv24 = zext i8 %24 to i32 + store i32 %conv24, i32* %wc, align 4 + %cmp25 = icmp sge i32 %conv24, 128 + br i1 %cmp25, label %if.then27, label %if.end35 + +if.then27: ; preds = %while.body + %25 = load i32, i32* %wc, align 4 + %sub = sub nsw i32 %25, 128 + store i32 %sub, i32* %wc, align 4 + %26 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %tbl8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %26, i32 0, i32 17 + %27 = load i16*, i16** %tbl8c2wc, align 8 + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %idx8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %28, i32 0, i32 16 + %29 = load i8*, i8** %idx8c2wc, align 8 + %30 = load i32, i32* %wc, align 4 + %shr = ashr i32 %30, 3 + %idxprom = sext i32 %shr to i64 + %arrayidx = getelementptr inbounds i8, i8* %29, i64 %idxprom + %31 = load i8, i8* %arrayidx, align 1 + %conv28 = zext i8 %31 to i32 + %shl = shl i32 %conv28, 3 + %32 = load i32, i32* %wc, align 4 + %and = and i32 %32, 7 + %add = add nsw i32 %shl, %and + %idxprom29 = sext i32 %add to i64 + %arrayidx30 = getelementptr inbounds i16, i16* %27, i64 %idxprom29 + %33 = load i16, i16* %arrayidx30, align 2 + %conv31 = zext i16 %33 to i32 + store i32 %conv31, i32* %wc, align 4 + %34 = load i32, i32* %wc, align 4 + %tobool32 = icmp ne i32 %34, 0 + br i1 %tobool32, label %if.end35, label %BAD + +if.end35: ; preds = %if.then27, %while.body + %35 = load i32, i32* %wc, align 4 + %36 = load i32*, i32** %dst.addr, align 8 + store i32 %35, i32* %36, align 4 + %tobool36 = icmp ne i32 %35, 0 + br i1 %tobool36, label %if.end38, label %if.then37 + +if.then37: ; preds = %if.end35 + store i8* null, i8** %s, align 8 + br label %while.end + +if.end38: ; preds = %if.end35 + %37 = load i32, i32* %incr, align 4 + %38 = load i32*, i32** %dst.addr, align 8 + %idx.ext = sext i32 %37 to i64 + %add.ptr = getelementptr inbounds i32, i32* %38, i64 %idx.ext + store i32* %add.ptr, i32** %dst.addr, align 8 + %39 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %39, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %40 = load i64, i64* %count, align 8 + %dec = add i64 %40, -1 + store i64 %dec, i64* %count, align 8 + br label %while.cond + +while.end: ; preds = %if.then37, %while.cond + %41 = load i32*, i32** %dst.addr, align 8 + %arraydecay39 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %cmp40 = icmp ne i32* %41, %arraydecay39 + br i1 %cmp40, label %if.then42, label %if.end43 + +if.then42: ; preds = %while.end + %42 = load i8*, i8** %s, align 8 + %43 = load i8**, i8*** %src.addr, align 8 + store i8* %42, i8** %43, align 8 + br label %if.end43 + +if.end43: ; preds = %if.then42, %while.end + %44 = load i64, i64* %len.addr, align 8 + %45 = load i64, i64* %count, align 8 + %sub44 = sub i64 %44, %45 + store i64 %sub44, i64* %retval, align 8 + br label %return + +while.cond46: ; preds = %if.end17, %if.end57 + %46 = load i64, i64* %count, align 8 + %tobool47 = icmp ne i64 %46, 0 + br i1 %tobool47, label %while.body48, label %while.end62 + +while.body48: ; preds = %while.cond46 + %47 = load i8*, i8** %s, align 8 + %48 = load i8, i8* %47, align 1 + %conv49 = zext i8 %48 to i32 + %49 = load i32*, i32** %dst.addr, align 8 + store i32 %conv49, i32* %49, align 4 + %cmp50 = icmp eq i32 %conv49, 0 + br i1 %cmp50, label %if.then52, label %if.end53 + +if.then52: ; preds = %while.body48 + store i8* null, i8** %s, align 8 + br label %while.end62 + +if.end53: ; preds = %while.body48 + %50 = load i32*, i32** %dst.addr, align 8 + %51 = load i32, i32* %50, align 4 + %cmp54 = icmp sge i32 %51, 128 + br i1 %cmp54, label %BAD, label %if.end57 + +BAD: ; preds = %if.end53, %if.then27 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end57: ; preds = %if.end53 + %52 = load i8*, i8** %s, align 8 + %incdec.ptr58 = getelementptr inbounds i8, i8* %52, i32 1 + store i8* %incdec.ptr58, i8** %s, align 8 + %53 = load i32, i32* %incr, align 4 + %54 = load i32*, i32** %dst.addr, align 8 + %idx.ext59 = sext i32 %53 to i64 + %add.ptr60 = getelementptr inbounds i32, i32* %54, i64 %idx.ext59 + store i32* %add.ptr60, i32** %dst.addr, align 8 + %55 = load i64, i64* %count, align 8 + %dec61 = add i64 %55, -1 + store i64 %dec61, i64* %count, align 8 + br label %while.cond46 + +while.end62: ; preds = %if.then52, %while.cond46 + %56 = load i32*, i32** %dst.addr, align 8 + %arraydecay63 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %cmp64 = icmp ne i32* %56, %arraydecay63 + br i1 %cmp64, label %if.then66, label %if.end67 + +if.then66: ; preds = %while.end62 + %57 = load i8*, i8** %s, align 8 + %58 = load i8**, i8*** %src.addr, align 8 + store i8* %57, i8** %58, align 8 + br label %if.end67 + +if.end67: ; preds = %if.then66, %while.end62 + %59 = load i64, i64* %len.addr, align 8 + %60 = load i64, i64* %count, align 8 + %sub68 = sub i64 %59, %60 + store i64 %sub68, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end67, %BAD, %if.end43, %if.then2 + %61 = load i64, i64* %retval, align 8 + ret i64 %61 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @iswctype(i32 %wc, i32 %desc) #0 { +entry: + %wc.addr = alloca i32, align 4 + %desc.addr = alloca i32, align 4 + store i32 %wc, i32* %wc.addr, align 4 + store i32 %desc, i32* %desc.addr, align 4 + %0 = load i32, i32* %wc.addr, align 4 + %1 = load i32, i32* %desc.addr, align 4 + %2 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %call = call i32 @iswctype_l(i32 %0, i32 %1, %struct.__uclibc_locale_struct.201* %2) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define hidden %struct.__STDIO_FILE_STRUCT.568* @_stdio_fopen(i64 %fname_or_mode, i8* noalias %mode, %struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %filedes) #0 { +entry: + %retval = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %fname_or_mode.addr = alloca i64, align 8 + %mode.addr = alloca i8*, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %filedes.addr = alloca i32, align 4 + %open_mode = alloca i32, align 4 + %i = alloca i32, align 4 + store i64 %fname_or_mode, i64* %fname_or_mode.addr, align 8 + store i8* %mode, i8** %mode.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %filedes, i32* %filedes.addr, align 4 + store i32 0, i32* %open_mode, align 4 + %0 = load i8*, i8** %mode.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %cmp = icmp ne i32 %conv, 114 + br i1 %cmp, label %if.then, label %if.end17 + +if.then: ; preds = %entry + store i32 577, i32* %open_mode, align 4 + %2 = load i8*, i8** %mode.addr, align 8 + %3 = load i8, i8* %2, align 1 + %conv2 = sext i8 %3 to i32 + %cmp3 = icmp ne i32 %conv2, 119 + br i1 %cmp3, label %if.then5, label %if.end17 + +if.then5: ; preds = %if.then + store i32 1089, i32* %open_mode, align 4 + %4 = load i8*, i8** %mode.addr, align 8 + %5 = load i8, i8* %4, align 1 + %conv6 = sext i8 %5 to i32 + %cmp7 = icmp ne i32 %conv6, 97 + br i1 %cmp7, label %DO_EINVAL, label %if.end17 + +DO_EINVAL: ; preds = %if.then40, %land.lhs.true, %if.then5 + store i32 22, i32* @errno, align 4 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %6, null + br i1 %tobool, label %do.body, label %if.end14 + +do.body: ; preds = %if.end62, %DO_EINVAL + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %7, i32 0, i32 0 + %8 = load i16, i16* %__modeflags, align 8 + %conv11 = zext i16 %8 to i32 + %and = and i32 %conv11, 8192 + %tobool12 = icmp ne i32 %and, 0 + br i1 %tobool12, label %if.then13, label %if.end14 + +if.then13: ; preds = %do.body + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %10 = bitcast %struct.__STDIO_FILE_STRUCT.568* %9 to i8* + call void @free(i8* %10) #19 + br label %if.end14 + +if.end14: ; preds = %if.then13, %do.body, %DO_EINVAL + store %struct.__STDIO_FILE_STRUCT.568* null, %struct.__STDIO_FILE_STRUCT.568** %retval, align 8 + br label %return + +if.end17: ; preds = %if.then, %if.then5, %entry + %11 = load i8*, i8** %mode.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %11, i64 1 + %12 = load i8, i8* %arrayidx, align 1 + %conv18 = sext i8 %12 to i32 + %cmp19 = icmp eq i32 %conv18, 98 + br i1 %cmp19, label %if.then21, label %if.end22 + +if.then21: ; preds = %if.end17 + %13 = load i8*, i8** %mode.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %13, i32 1 + store i8* %incdec.ptr, i8** %mode.addr, align 8 + br label %if.end22 + +if.end22: ; preds = %if.then21, %if.end17 + %14 = load i8*, i8** %mode.addr, align 8 + %arrayidx23 = getelementptr inbounds i8, i8* %14, i64 1 + %15 = load i8, i8* %arrayidx23, align 1 + %conv24 = sext i8 %15 to i32 + %cmp25 = icmp eq i32 %conv24, 43 + br i1 %cmp25, label %if.then27, label %if.end29 + +if.then27: ; preds = %if.end22 + %16 = load i8*, i8** %mode.addr, align 8 + %incdec.ptr28 = getelementptr inbounds i8, i8* %16, i32 1 + store i8* %incdec.ptr28, i8** %mode.addr, align 8 + %17 = load i32, i32* %open_mode, align 4 + %or = or i32 %17, 1 + store i32 %or, i32* %open_mode, align 4 + %18 = load i32, i32* %open_mode, align 4 + %add = add i32 %18, 1 + store i32 %add, i32* %open_mode, align 4 + br label %if.end29 + +if.end29: ; preds = %if.then27, %if.end22 + %19 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %tobool30 = icmp ne %struct.__STDIO_FILE_STRUCT.568* %19, null + br i1 %tobool30, label %if.end37, label %if.then31 + +if.then31: ; preds = %if.end29 + %call = call noalias i8* @malloc(i64 88) #19 + %20 = bitcast i8* %call to %struct.__STDIO_FILE_STRUCT.568* + store %struct.__STDIO_FILE_STRUCT.568* %20, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp32 = icmp eq %struct.__STDIO_FILE_STRUCT.568* %20, null + %21 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %cmp32, label %if.then34, label %if.end35 + +if.then34: ; preds = %if.then31 + store %struct.__STDIO_FILE_STRUCT.568* %21, %struct.__STDIO_FILE_STRUCT.568** %retval, align 8 + br label %return + +if.end35: ; preds = %if.then31 + %__modeflags36 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %21, i32 0, i32 0 + store i16 8192, i16* %__modeflags36, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 3 + store i8* null, i8** %__bufstart, align 8 + br label %if.end37 + +if.end37: ; preds = %if.end35, %if.end29 + %23 = load i32, i32* %filedes.addr, align 4 + %cmp38 = icmp sge i32 %23, 0 + %24 = load i32, i32* %filedes.addr, align 4 + br i1 %cmp38, label %if.then40, label %if.else + +if.then40: ; preds = %if.end37 + %25 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %25, i32 0, i32 2 + store i32 %24, i32* %__filedes, align 4 + %26 = load i32, i32* %open_mode, align 4 + %and41 = and i32 %26, 3 + %add42 = add i32 %and41, 1 + store i32 %add42, i32* %i, align 4 + %27 = load i32, i32* %i, align 4 + %28 = load i64, i64* %fname_or_mode.addr, align 8 + %conv43 = trunc i64 %28 to i32 + %add44 = add nsw i32 %conv43, 1 + %and45 = and i32 %27, %add44 + %29 = load i32, i32* %i, align 4 + %cmp46 = icmp ne i32 %and45, %29 + br i1 %cmp46, label %DO_EINVAL, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then40 + %30 = load i32, i32* %open_mode, align 4 + %31 = load i64, i64* %fname_or_mode.addr, align 8 + %conv48 = trunc i64 %31 to i32 + %neg = xor i32 %conv48, -1 + %and49 = and i32 %30, %neg + %and50 = and i32 %and49, 1024 + %tobool51 = icmp ne i32 %and50, 0 + br i1 %tobool51, label %land.lhs.true, label %if.end55 + +land.lhs.true: ; preds = %lor.lhs.false + %32 = load i32, i32* %filedes.addr, align 4 + %call52 = call i32 (i32, i32, ...) @fcntl(i32 %32, i32 4, i32 1024) #18 + %tobool53 = icmp ne i32 %call52, 0 + br i1 %tobool53, label %DO_EINVAL, label %if.end55 + +if.end55: ; preds = %land.lhs.true, %lor.lhs.false + %33 = load i64, i64* %fname_or_mode.addr, align 8 + %conv56 = trunc i64 %33 to i32 + %and57 = and i32 %conv56, 0 + %34 = load i32, i32* %open_mode, align 4 + %or58 = or i32 %34, %and57 + store i32 %or58, i32* %open_mode, align 4 + br label %if.end69 + +if.else: ; preds = %if.end37 + %cmp59 = icmp slt i32 %24, -1 + br i1 %cmp59, label %if.then61, label %if.end62 + +if.then61: ; preds = %if.else + %35 = load i32, i32* %open_mode, align 4 + store i32 %35, i32* %open_mode, align 4 + br label %if.end62 + +if.end62: ; preds = %if.then61, %if.else + %36 = load i64, i64* %fname_or_mode.addr, align 8 + %37 = inttoptr i64 %36 to i8* + %38 = load i32, i32* %open_mode, align 4 + %call63 = call i32 (i8*, i32, ...) @open(i8* %37, i32 %38, i32 438) #18 + %39 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes64 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %39, i32 0, i32 2 + store i32 %call63, i32* %__filedes64, align 4 + %cmp65 = icmp slt i32 %call63, 0 + br i1 %cmp65, label %do.body, label %if.end69 + +if.end69: ; preds = %if.end62, %if.end55 + %40 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags70 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %40, i32 0, i32 0 + %41 = load i16, i16* %__modeflags70, align 8 + %conv71 = zext i16 %41 to i32 + %and72 = and i32 %conv71, 8192 + %conv73 = trunc i32 %and72 to i16 + store i16 %conv73, i16* %__modeflags70, align 8 + %42 = load i32, i32* %open_mode, align 4 + %and74 = and i32 %42, 1024 + %43 = load i32, i32* %open_mode, align 4 + %and75 = and i32 %43, 3 + %add76 = add i32 %and75, 1 + %xor = xor i32 %add76, 3 + %mul = mul i32 %xor, 16 + %or77 = or i32 %and74, %mul + %44 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags78 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %44, i32 0, i32 0 + %45 = load i16, i16* %__modeflags78, align 8 + %conv79 = zext i16 %45 to i32 + %or80 = or i32 %conv79, %or77 + %conv81 = trunc i32 %or80 to i16 + store i16 %conv81, i16* %__modeflags78, align 8 + %46 = load i32, i32* @errno, align 4 + store i32 %46, i32* %i, align 4 + %47 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes82 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %47, i32 0, i32 2 + %48 = load i32, i32* %__filedes82, align 4 + %call83 = call i32 @isatty(i32 %48) #19 + %mul84 = mul i32 %call83, 256 + %49 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags85 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %49, i32 0, i32 0 + %50 = load i16, i16* %__modeflags85, align 8 + %conv86 = zext i16 %50 to i32 + %or87 = or i32 %conv86, %mul84 + %conv88 = trunc i32 %or87 to i16 + store i16 %conv88, i16* %__modeflags85, align 8 + %51 = load i32, i32* %i, align 4 + store i32 %51, i32* @errno, align 4 + %52 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart89 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %52, i32 0, i32 3 + %53 = load i8*, i8** %__bufstart89, align 8 + %tobool90 = icmp ne i8* %53, null + br i1 %tobool90, label %if.end106, label %if.then91 + +if.then91: ; preds = %if.end69 + %call92 = call noalias i8* @malloc(i64 4096) #19 + %54 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart93 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %54, i32 0, i32 3 + store i8* %call92, i8** %__bufstart93, align 8 + %cmp94 = icmp ne i8* %call92, null + %55 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart97 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %55, i32 0, i32 3 + %56 = load i8*, i8** %__bufstart97, align 8 + br i1 %cmp94, label %if.then96, label %if.else102 + +if.then96: ; preds = %if.then91 + %add.ptr = getelementptr inbounds i8, i8* %56, i64 4096 + %57 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %57, i32 0, i32 4 + store i8* %add.ptr, i8** %__bufend, align 8 + %58 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags98 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %58, i32 0, i32 0 + %59 = load i16, i16* %__modeflags98, align 8 + %conv99 = zext i16 %59 to i32 + %or100 = or i32 %conv99, 16384 + %conv101 = trunc i32 %or100 to i16 + store i16 %conv101, i16* %__modeflags98, align 8 + br label %if.end106 + +if.else102: ; preds = %if.then91 + %60 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend104 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %60, i32 0, i32 4 + store i8* %56, i8** %__bufend104, align 8 + br label %if.end106 + +if.end106: ; preds = %if.then96, %if.else102, %if.end69 + %61 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart107 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %61, i32 0, i32 3 + %62 = load i8*, i8** %__bufstart107, align 8 + %63 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %63, i32 0, i32 7 + store i8* %62, i8** %__bufgetc_u, align 8 + %64 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart108 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %64, i32 0, i32 3 + %65 = load i8*, i8** %__bufstart108, align 8 + %66 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %66, i32 0, i32 8 + store i8* %65, i8** %__bufputc_u, align 8 + %67 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart109 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %67, i32 0, i32 3 + %68 = load i8*, i8** %__bufstart109, align 8 + %69 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %69, i32 0, i32 5 + store i8* %68, i8** %__bufpos, align 8 + %70 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %70, i32 0, i32 6 + store i8* %68, i8** %__bufread, align 8 + %71 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %71, i32 0, i32 1 + %arrayidx110 = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 0 + store i8 0, i8* %arrayidx110, align 2 + %72 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %72, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + store i32 0, i32* %__mask, align 8 + %73 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + %74 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %74, i32 0, i32 9 + store %struct.__STDIO_FILE_STRUCT.568* %73, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + %75 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %75, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + %76 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %76, %struct.__STDIO_FILE_STRUCT.568** %retval, align 8 + br label %return + +return: ; preds = %if.end106, %if.then34, %if.end14 + %77 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %retval, align 8 + ret %struct.__STDIO_FILE_STRUCT.568* %77 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %oflag) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %oflag.addr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %oflag, i32* %oflag.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %2 = load i32, i32* %oflag.addr, align 4 + %and = and i32 %conv, %2 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end9, label %if.then + +if.then: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 0 + %4 = load i16, i16* %__modeflags1, align 8 + %conv2 = zext i16 %4 to i32 + %and3 = and i32 %conv2, 2176 + %tobool4 = icmp ne i32 %and3, 0 + br i1 %tobool4, label %DO_EBADF, label %if.end + +if.end: ; preds = %if.then + %5 = load i32, i32* %oflag.addr, align 4 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 0 + %7 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %7 to i32 + %or = or i32 %conv7, %5 + %conv8 = trunc i32 %or to i16 + store i16 %conv8, i16* %__modeflags6, align 8 + br label %if.end9 + +if.end9: ; preds = %if.end, %entry + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags10, align 8 + %conv11 = zext i16 %9 to i32 + %and12 = and i32 %conv11, 32 + %tobool13 = icmp ne i32 %and12, 0 + br i1 %tobool13, label %DO_EBADF, label %if.end19 + +DO_EBADF: ; preds = %if.end9, %if.then + store i32 9, i32* @errno, align 4 + br label %ERROR + +ERROR: ; preds = %land.lhs.true, %DO_EBADF + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags15 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 0 + %11 = load i16, i16* %__modeflags15, align 8 + %conv16 = zext i16 %11 to i32 + %or17 = or i32 %conv16, 8 + %conv18 = trunc i32 %or17 to i16 + store i16 %conv18, i16* %__modeflags15, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end19: ; preds = %if.end9 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags20 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags20, align 8 + %conv21 = zext i16 %13 to i32 + %and22 = and i32 %conv21, 3 + %tobool23 = icmp ne i32 %and22, 0 + br i1 %tobool23, label %if.then24, label %if.end50 + +if.then24: ; preds = %if.end19 + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags25 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %14, i32 0, i32 0 + %15 = load i16, i16* %__modeflags25, align 8 + %conv26 = zext i16 %15 to i32 + %and27 = and i32 %conv26, 4 + %tobool28 = icmp ne i32 %and27, 0 + br i1 %tobool28, label %if.end42, label %if.then29 + +if.then29: ; preds = %if.then24 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %16, i32 0, i32 6 + %17 = load i8*, i8** %__bufread, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 5 + %19 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %17 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool30 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %tobool30, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then29 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags31 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 0 + %21 = load i16, i16* %__modeflags31, align 8 + %conv32 = zext i16 %21 to i32 + %and33 = and i32 %conv32, 2 + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %land.lhs.true, label %if.end42 + +land.lhs.true: ; preds = %lor.lhs.false, %if.then29 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %23 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags35 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %23, i32 0, i32 0 + %24 = load i16, i16* %__modeflags35, align 8 + %conv36 = zext i16 %24 to i32 + %and37 = and i32 %conv36, 1024 + %tobool38 = icmp ne i32 %and37, 0 + %25 = zext i1 %tobool38 to i64 + %cond = select i1 %tobool38, i32 2, i32 1 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32)* @fseek to i32 (%struct.__STDIO_FILE_STRUCT.568*, i64, i32)*)(%struct.__STDIO_FILE_STRUCT.568* %22, i64 0, i32 %cond) #18 + %tobool39 = icmp ne i32 %call, 0 + br i1 %tobool39, label %ERROR, label %if.end42 + +if.end42: ; preds = %lor.lhs.false, %land.lhs.true, %if.then24 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags43 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 0 + %27 = load i16, i16* %__modeflags43, align 8 + %conv44 = zext i16 %27 to i32 + %and45 = and i32 %conv44, -4 + %conv46 = trunc i32 %and45 to i16 + store i16 %conv46, i16* %__modeflags43, align 8 + %28 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %28, i32 0, i32 3 + %29 = load i8*, i8** %__bufstart, align 8 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %30, i32 0, i32 7 + store i8* %29, i8** %__bufgetc_u, align 8 + %31 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart47 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %31, i32 0, i32 3 + %32 = load i8*, i8** %__bufstart47, align 8 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos48 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %33, i32 0, i32 5 + store i8* %32, i8** %__bufpos48, align 8 + %34 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread49 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %34, i32 0, i32 6 + store i8* %32, i8** %__bufread49, align 8 + br label %if.end50 + +if.end50: ; preds = %if.end42, %if.end19 + %35 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags51 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %35, i32 0, i32 0 + %36 = load i16, i16* %__modeflags51, align 8 + %conv52 = zext i16 %36 to i32 + %or53 = or i32 %conv52, 64 + %conv54 = trunc i32 %or53 to i16 + store i16 %conv54, i16* %__modeflags51, align 8 + %37 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags55 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %37, i32 0, i32 0 + %38 = load i16, i16* %__modeflags55, align 8 + %conv56 = zext i16 %38 to i32 + %and57 = and i32 %conv56, 2816 + %tobool58 = icmp ne i32 %and57, 0 + br i1 %tobool58, label %if.end60, label %if.then59 + +if.then59: ; preds = %if.end50 + %39 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %39, i32 0, i32 4 + %40 = load i8*, i8** %__bufend, align 8 + %41 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %41, i32 0, i32 8 + store i8* %40, i8** %__bufputc_u, align 8 + br label %if.end60 + +if.end60: ; preds = %if.then59, %if.end50 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end60, %ERROR + %42 = load i32, i32* %retval, align 4 + ret i32 %42 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fseeko64(%struct.__STDIO_FILE_STRUCT.636* %stream, i64 %offset, i32 %whence) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + %pos = alloca i64, align 8 + %retval1 = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i64, i64* %offset.addr, align 8 + store i64 %0, i64* %pos, align 8 + store i32 -1, i32* %retval1, align 4 + %1 = load i32, i32* %whence.addr, align 4 + %cmp = icmp ugt i32 %1, 2 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + store i32 22, i32* @errno, align 4 + br label %if.end20 + +if.else: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %2, i32 0, i32 0 + %3 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %3 to i32 + %and = and i32 %conv, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %lor.lhs.false, label %land.lhs.true + +lor.lhs.false: ; preds = %if.else + %4 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %call = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.568*)* @__stdio_wcommit to i64 (%struct.__STDIO_FILE_STRUCT.636*)*)(%struct.__STDIO_FILE_STRUCT.636* %4) #18 + %tobool2 = icmp ne i64 %call, 0 + br i1 %tobool2, label %if.end20, label %land.lhs.true + +land.lhs.true: ; preds = %lor.lhs.false, %if.else + %5 = load i32, i32* %whence.addr, align 4 + %cmp3 = icmp ne i32 %5, 1 + br i1 %cmp3, label %land.lhs.true9, label %lor.lhs.false5 + +lor.lhs.false5: ; preds = %land.lhs.true + %6 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %call6 = call i32 @__stdio_adjust_position(%struct.__STDIO_FILE_STRUCT.636* %6, i64* %pos) #18 + %cmp7 = icmp sge i32 %call6, 0 + br i1 %cmp7, label %land.lhs.true9, label %if.end20 + +land.lhs.true9: ; preds = %lor.lhs.false5, %land.lhs.true + %7 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %8 = load i32, i32* %whence.addr, align 4 + %call10 = call i32 @__stdio_seek(%struct.__STDIO_FILE_STRUCT.636* %7, i64* %pos, i32 %8) #18 + %cmp11 = icmp sge i32 %call10, 0 + br i1 %cmp11, label %if.then13, label %if.end20 + +if.then13: ; preds = %land.lhs.true9 + %9 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags14 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %9, i32 0, i32 0 + %10 = load i16, i16* %__modeflags14, align 8 + %conv15 = zext i16 %10 to i32 + %and16 = and i32 %conv15, -72 + %conv17 = trunc i32 %and16 to i16 + store i16 %conv17, i16* %__modeflags14, align 8 + %11 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %11, i32 0, i32 3 + %12 = load i8*, i8** %__bufstart, align 8 + %13 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %13, i32 0, i32 5 + store i8* %12, i8** %__bufpos, align 8 + %14 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %14, i32 0, i32 6 + store i8* %12, i8** %__bufread, align 8 + %15 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufstart18 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %15, i32 0, i32 3 + %16 = load i8*, i8** %__bufstart18, align 8 + %17 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %17, i32 0, i32 7 + store i8* %16, i8** %__bufgetc_u, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufstart19 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %18, i32 0, i32 3 + %19 = load i8*, i8** %__bufstart19, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %20, i32 0, i32 8 + store i8* %19, i8** %__bufputc_u, align 8 + %21 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %21, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + store i32 0, i32* %__mask, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %22, i32 0, i32 1 + %arrayidx = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 0 + store i8 0, i8* %arrayidx, align 2 + store i32 0, i32* %retval1, align 4 + br label %if.end20 + +if.end20: ; preds = %lor.lhs.false, %lor.lhs.false5, %land.lhs.true9, %if.then13, %if.then + %23 = load i32, i32* %retval1, align 4 + ret i32 %23 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @fwrite_unlocked(i8* noalias %ptr, i64 %size, i64 %nmemb, %struct.__STDIO_FILE_STRUCT.621* noalias %stream) #0 { +entry: + %retval = alloca i64, align 8 + %ptr.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %nmemb.addr = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.621*, align 8 + store i8* %ptr, i8** %ptr.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + store i64 %nmemb, i64* %nmemb.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.621* %stream, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 192 + %cmp = icmp eq i32 %and, 192 + br i1 %cmp, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i32)* @__stdio_trans2w_o to i32 (%struct.__STDIO_FILE_STRUCT.621*, i32)*)(%struct.__STDIO_FILE_STRUCT.621* %2, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end13, label %land.lhs.true + +land.lhs.true: ; preds = %lor.lhs.false, %entry + %3 = load i64, i64* %size.addr, align 8 + %tobool2 = icmp ne i64 %3, 0 + %4 = load i64, i64* %nmemb.addr, align 8 + %tobool4 = icmp ne i64 %4, 0 + %or.cond = and i1 %tobool2, %tobool4 + br i1 %or.cond, label %if.then, label %if.end13 + +if.then: ; preds = %land.lhs.true + %5 = load i64, i64* %nmemb.addr, align 8 + %6 = load i64, i64* %size.addr, align 8 + %div = udiv i64 -1, %6 + %cmp5 = icmp ule i64 %5, %div + br i1 %cmp5, label %if.then7, label %if.end + +if.then7: ; preds = %if.then + %7 = load i8*, i8** %ptr.addr, align 8 + %8 = load i64, i64* %size.addr, align 8 + %9 = load i64, i64* %nmemb.addr, align 8 + %mul = mul i64 %8, %9 + %10 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %call8 = call i64 @__stdio_fwrite(i8* %7, i64 %mul, %struct.__STDIO_FILE_STRUCT.621* %10) #18 + %11 = load i64, i64* %size.addr, align 8 + %div9 = udiv i64 %call8, %11 + store i64 %div9, i64* %retval, align 8 + br label %return + +if.end: ; preds = %if.then + %12 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__modeflags10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags10, align 8 + %conv11 = zext i16 %13 to i32 + %or = or i32 %conv11, 8 + %conv12 = trunc i32 %or to i16 + store i16 %conv12, i16* %__modeflags10, align 8 + store i32 22, i32* @errno, align 4 + br label %if.end13 + +if.end13: ; preds = %if.end, %land.lhs.true, %lor.lhs.false + store i64 0, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end13, %if.then7 + %14 = load i64, i64* %retval, align 8 + ret i64 %14 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i8* noalias %format, %struct.__va_list_tag.0* %arg) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %format.addr = alloca i8*, align 8 + %arg.addr = alloca %struct.__va_list_tag.0*, align 8 + %ppfs = alloca %struct.ppfs_t.722, align 8 + %count = alloca i32, align 4 + %r = alloca i32, align 4 + %s = alloca i8*, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + store %struct.__va_list_tag.0* %arg, %struct.__va_list_tag.0** %arg.addr, align 8 + store i32 0, i32* %count, align 4 + %0 = load i8*, i8** %format.addr, align 8 + store i8* %0, i8** %s, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %1, i32 0, i32 0 + %2 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %2 to i32 + %and = and i32 %conv, 192 + %cmp = icmp eq i32 %and, 192 + br i1 %cmp, label %if.else, label %land.lhs.true + +land.lhs.true: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* %3, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %land.lhs.true + store i32 -1, i32* %count, align 4 + br label %if.end65 + +if.else: ; preds = %land.lhs.true, %entry + %4 = load i8*, i8** %format.addr, align 8 + %call2 = call i32 @_ppfs_init(%struct.ppfs_t.722* %ppfs, i8* %4) #18 + %cmp3 = icmp slt i32 %call2, 0 + br i1 %cmp3, label %if.then5, label %if.else13 + +if.then5: ; preds = %if.else + %fmtpos = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %5 = load i8*, i8** %fmtpos, align 8 + %call6 = call i64 @strlen(i8* %5) #20 + %cmp7 = icmp ugt i64 %call6, 0 + br i1 %cmp7, label %cond.true, label %cond.end + +cond.true: ; preds = %if.then5 + %fmtpos9 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %6 = load i8*, i8** %fmtpos9, align 8 + %fmtpos10 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %7 = load i8*, i8** %fmtpos10, align 8 + %call11 = call i64 @strlen(i8* %7) #20 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call12 = call i64 bitcast (i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.621*)* @__stdio_fwrite to i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.568*)*)(i8* %6, i64 %call11, %struct.__STDIO_FILE_STRUCT.568* %8) #18 + br label %cond.end + +cond.end: ; preds = %if.then5, %cond.true + %cond = phi i64 [ %call12, %cond.true ], [ 0, %if.then5 ] + store i32 -1, i32* %count, align 4 + br label %if.end65 + +if.else13: ; preds = %if.else + %9 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %arg.addr, align 8 + call void @_ppfs_prepargs(%struct.ppfs_t.722* %ppfs, %struct.__va_list_tag.0* %9) #18 + br label %do.body + +do.body: ; preds = %do.cond, %if.else13 + br label %while.cond + +while.cond: ; preds = %while.body, %do.body + %10 = load i8*, i8** %format.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv14 = sext i8 %11 to i32 + %tobool15 = icmp ne i32 %conv14, 0 + br i1 %tobool15, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %12 = load i8*, i8** %format.addr, align 8 + %13 = load i8, i8* %12, align 1 + %conv16 = sext i8 %13 to i32 + %cmp17 = icmp ne i32 %conv16, 37 + br label %land.end + +land.end: ; preds = %land.rhs, %while.cond + %14 = phi i1 [ false, %while.cond ], [ %cmp17, %land.rhs ] + %15 = load i8*, i8** %format.addr, align 8 + br i1 %14, label %while.body, label %while.end + +while.body: ; preds = %land.end + %incdec.ptr = getelementptr inbounds i8, i8* %15, i32 1 + store i8* %incdec.ptr, i8** %format.addr, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %16 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %15 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %16 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool19 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %tobool19, label %if.then20, label %if.end42 + +if.then20: ; preds = %while.end + %17 = load i8*, i8** %format.addr, align 8 + %18 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast21 = ptrtoint i8* %17 to i64 + %sub.ptr.rhs.cast22 = ptrtoint i8* %18 to i64 + %sub.ptr.sub23 = sub i64 %sub.ptr.lhs.cast21, %sub.ptr.rhs.cast22 + %cmp24 = icmp sgt i64 %sub.ptr.sub23, 0 + br i1 %cmp24, label %cond.true26, label %cond.end32 + +cond.true26: ; preds = %if.then20 + %19 = load i8*, i8** %s, align 8 + %20 = load i8*, i8** %format.addr, align 8 + %21 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast27 = ptrtoint i8* %20 to i64 + %sub.ptr.rhs.cast28 = ptrtoint i8* %21 to i64 + %sub.ptr.sub29 = sub i64 %sub.ptr.lhs.cast27, %sub.ptr.rhs.cast28 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call30 = call i64 bitcast (i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.621*)* @__stdio_fwrite to i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.568*)*)(i8* %19, i64 %sub.ptr.sub29, %struct.__STDIO_FILE_STRUCT.568* %22) #18 + br label %cond.end32 + +cond.end32: ; preds = %if.then20, %cond.true26 + %cond33 = phi i64 [ %call30, %cond.true26 ], [ 0, %if.then20 ] + %conv34 = trunc i64 %cond33 to i32 + store i32 %conv34, i32* %r, align 4 + %conv35 = sext i32 %conv34 to i64 + %23 = load i8*, i8** %format.addr, align 8 + %24 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast36 = ptrtoint i8* %23 to i64 + %sub.ptr.rhs.cast37 = ptrtoint i8* %24 to i64 + %sub.ptr.sub38 = sub i64 %sub.ptr.lhs.cast36, %sub.ptr.rhs.cast37 + %cmp39 = icmp ne i64 %conv35, %sub.ptr.sub38 + br i1 %cmp39, label %if.then41, label %if.end + +if.then41: ; preds = %cond.end32 + store i32 -1, i32* %count, align 4 + br label %do.end + +if.end: ; preds = %cond.end32 + %25 = load i32, i32* %r, align 4 + %26 = load i32, i32* %count, align 4 + %add = add nsw i32 %26, %25 + store i32 %add, i32* %count, align 4 + br label %if.end42 + +if.end42: ; preds = %if.end, %while.end + %27 = load i8*, i8** %format.addr, align 8 + %28 = load i8, i8* %27, align 1 + %tobool43 = icmp ne i8 %28, 0 + br i1 %tobool43, label %if.end45, label %do.end + +if.end45: ; preds = %if.end42 + %29 = load i8*, i8** %format.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %29, i64 1 + %30 = load i8, i8* %arrayidx, align 1 + %conv46 = sext i8 %30 to i32 + %cmp47 = icmp ne i32 %conv46, 37 + %31 = load i8*, i8** %format.addr, align 8 + %incdec.ptr50 = getelementptr inbounds i8, i8* %31, i32 1 + store i8* %incdec.ptr50, i8** %format.addr, align 8 + br i1 %cmp47, label %if.then49, label %if.else58 + +if.then49: ; preds = %if.end45 + %fmtpos51 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + store i8* %incdec.ptr50, i8** %fmtpos51, align 8 + %32 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call52 = call i32 @_do_one_spec(%struct.__STDIO_FILE_STRUCT.568* %32, %struct.ppfs_t.722* %ppfs, i32* %count) #18 + store i32 %call52, i32* %r, align 4 + %cmp53 = icmp slt i32 %call52, 0 + br i1 %cmp53, label %if.then55, label %if.end56 + +if.then55: ; preds = %if.then49 + store i32 -1, i32* %count, align 4 + br label %do.end + +if.end56: ; preds = %if.then49 + %fmtpos57 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %33 = load i8*, i8** %fmtpos57, align 8 + store i8* %33, i8** %format.addr, align 8 + store i8* %33, i8** %s, align 8 + br label %do.cond + +if.else58: ; preds = %if.end45 + store i8* %incdec.ptr50, i8** %s, align 8 + %34 = load i8*, i8** %format.addr, align 8 + %incdec.ptr60 = getelementptr inbounds i8, i8* %34, i32 1 + store i8* %incdec.ptr60, i8** %format.addr, align 8 + br label %do.cond + +do.cond: ; preds = %if.end56, %if.else58 + br label %do.body + +do.end: ; preds = %if.end42, %if.then55, %if.then41 + %arg62 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 7 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg62, i64 0, i64 0 + %arraydecay63 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_end(i8* %arraydecay63) + br label %if.end65 + +if.end65: ; preds = %cond.end, %do.end, %if.then + %35 = load i32, i32* %count, align 4 + ret i32 %35 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_do_one_spec(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, %struct.ppfs_t.722* %ppfs, i32* %count) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %count.addr = alloca i32*, align 8 + %argptr = alloca [1 x i8*], align 8 + %argtype = alloca i32*, align 8 + %ws = alloca i32*, align 8 + %mbstate = alloca %struct.__mbstate_t.512, align 4 + %slen = alloca i64, align 8 + %base = alloca i32, align 4 + %numpad = alloca i32, align 4 + %alphacase = alloca i32, align 4 + %numfill = alloca i32, align 4 + %prefix_num = alloca i32, align 4 + %padchar = alloca i8, align 1 + %buf = alloca [128 x i8], align 16 + %p = alloca %union.anon.193*, align 8 + %i = alloca i32, align 4 + %s = alloca i8*, align 8 + %nf = alloca i64, align 8 + %t = alloca i64, align 8 + %t351 = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store i32* %count, i32** %count.addr, align 8 + store i32* null, i32** %ws, align 8 + store i32 0, i32* %numfill, align 4 + store i32 11, i32* %prefix_num, align 4 + store i8 32, i8* %padchar, align 1 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %call = call i32 @_ppfs_parsespec(%struct.ppfs_t.722* %0) #18 + %1 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + call void @_ppfs_setargs(%struct.ppfs_t.722* %1) #18 + %2 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype1 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %2, i32 0, i32 6 + %arraydecay = getelementptr inbounds [9 x i32], [9 x i32]* %argtype1, i64 0, i64 0 + %3 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %3, i32 0, i32 5 + %arrayidx = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber, i64 0, i64 2 + %4 = load i8, i8* %arrayidx, align 2 + %conv = zext i8 %4 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds i32, i32* %arraydecay, i64 %idx.ext + %add.ptr2 = getelementptr inbounds i32, i32* %add.ptr, i64 -1 + store i32* %add.ptr2, i32** %argtype, align 8 + %5 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argvalue = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %5, i32 0, i32 8 + %arraydecay3 = getelementptr inbounds [9 x %union.anon.193], [9 x %union.anon.193]* %argvalue, i64 0, i64 0 + store %union.anon.193* %arraydecay3, %union.anon.193** %p, align 8 + %6 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %6, i32 0, i32 2 + %7 = load i32, i32* %maxposarg, align 4 + %cmp = icmp sgt i32 %7, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %8 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber5 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %8, i32 0, i32 5 + %arrayidx6 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber5, i64 0, i64 2 + %9 = load i8, i8* %arrayidx6, align 2 + %conv7 = zext i8 %9 to i32 + %sub = sub nsw i32 %conv7, 1 + %10 = load %union.anon.193*, %union.anon.193** %p, align 8 + %idx.ext8 = sext i32 %sub to i64 + %add.ptr9 = getelementptr inbounds %union.anon.193, %union.anon.193* %10, i64 %idx.ext8 + store %union.anon.193* %add.ptr9, %union.anon.193** %p, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %11 = load i32, i32* %i, align 4 + %12 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %12, i32 0, i32 3 + %13 = load i32, i32* %num_data_args, align 8 + %cmp10 = icmp slt i32 %11, %13 + br i1 %cmp10, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %14 = load %union.anon.193*, %union.anon.193** %p, align 8 + %incdec.ptr = getelementptr inbounds %union.anon.193, %union.anon.193* %14, i32 1 + store %union.anon.193* %incdec.ptr, %union.anon.193** %p, align 8 + %15 = bitcast %union.anon.193* %14 to i8* + %16 = load i32, i32* %i, align 4 + %idxprom = sext i32 %16 to i64 + %arrayidx12 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 %idxprom + store i8* %15, i8** %arrayidx12, align 8 + %17 = load i32, i32* %i, align 4 + %inc = add nsw i32 %17, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + store i8* null, i8** %s, align 8 + %18 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %18, i32 0, i32 4 + %19 = load i32, i32* %conv_num, align 4 + %cmp13 = icmp eq i32 %19, 0 + br i1 %cmp13, label %if.then15, label %if.end18 + +if.then15: ; preds = %for.end + %arraydecay16 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %20 = load i8*, i8** %arraydecay16, align 8 + %21 = bitcast i8* %20 to i8** + %22 = load i8*, i8** %21, align 8 + %23 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %23, i32 0, i32 1 + %_flags = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 3 + %24 = load i32, i32* %_flags, align 4 + %and = and i32 %24, 3840 + %25 = load i32*, i32** %count.addr, align 8 + %26 = load i32, i32* %25, align 4 + %conv17 = sext i32 %26 to i64 + call void @_store_inttype(i8* %22, i32 %and, i64 %conv17) #18 + store i32 0, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %for.end + %27 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num19 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %27, i32 0, i32 4 + %28 = load i32, i32* %conv_num19, align 4 + %cmp20 = icmp ule i32 %28, 7 + br i1 %cmp20, label %if.then22, label %if.else179 + +if.then22: ; preds = %if.end18 + store i32 87, i32* %alphacase, align 4 + %29 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num23 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %29, i32 0, i32 4 + %30 = load i32, i32* %conv_num23, align 4 + %sub24 = sub i32 %30, 1 + %idxprom25 = sext i32 %sub24 to i64 + %arrayidx26 = getelementptr inbounds [7 x i8], [7 x i8]* @_do_one_spec.spec_base, i64 0, i64 %idxprom25 + %31 = load i8, i8* %arrayidx26, align 1 + %conv27 = sext i8 %31 to i32 + store i32 %conv27, i32* %base, align 4 + %cmp28 = icmp eq i32 %conv27, 10 + br i1 %cmp28, label %if.then30, label %if.end42 + +if.then30: ; preds = %if.then22 + %32 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info31 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %32, i32 0, i32 1 + %_flags32 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info31, i32 0, i32 3 + %33 = load i32, i32* %_flags32, align 4 + %and33 = and i32 %33, 32 + %tobool = icmp ne i32 %and33, 0 + br i1 %tobool, label %if.then34, label %if.end35 + +if.then34: ; preds = %if.then30 + store i32 44, i32* %alphacase, align 4 + br label %if.end35 + +if.end35: ; preds = %if.then34, %if.then30 + %34 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info36 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %34, i32 0, i32 1 + %_flags37 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info36, i32 0, i32 3 + %35 = load i32, i32* %_flags37, align 4 + %and38 = and i32 %35, 64 + %tobool39 = icmp ne i32 %and38, 0 + br i1 %tobool39, label %if.then40, label %if.end42 + +if.then40: ; preds = %if.end35 + %36 = load i32, i32* %alphacase, align 4 + %or = or i32 %36, 128 + store i32 %or, i32* %alphacase, align 4 + br label %if.end42 + +if.end42: ; preds = %if.end35, %if.then40, %if.then22 + %37 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num43 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %37, i32 0, i32 4 + %38 = load i32, i32* %conv_num43, align 4 + %cmp44 = icmp ule i32 %38, 5 + br i1 %cmp44, label %if.then46, label %if.else57 + +if.then46: ; preds = %if.end42 + %39 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num47 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %39, i32 0, i32 4 + %40 = load i32, i32* %conv_num47, align 4 + %cmp48 = icmp eq i32 %40, 3 + br i1 %cmp48, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.then46 + store i32 55, i32* %alphacase, align 4 + br label %if.end51 + +if.end51: ; preds = %if.then50, %if.then46 + %41 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num52 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %41, i32 0, i32 4 + %42 = load i32, i32* %conv_num52, align 4 + %cmp53 = icmp eq i32 %42, 1 + br i1 %cmp53, label %if.then55, label %if.end59 + +if.then55: ; preds = %if.end51 + store i32 6, i32* %prefix_num, align 4 + br label %if.end59 + +if.else57: ; preds = %if.end42 + %43 = load i32, i32* %base, align 4 + %sub58 = sub nsw i32 0, %43 + store i32 %sub58, i32* %base, align 4 + br label %if.end59 + +if.end59: ; preds = %if.then55, %if.end51, %if.else57 + %44 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info60 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %44, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info60, i32 0, i32 0 + %45 = load i32, i32* %prec, align 8 + %cmp61 = icmp slt i32 %45, 0 + br i1 %cmp61, label %if.then63, label %if.end66 + +if.then63: ; preds = %if.end59 + %46 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info64 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %46, i32 0, i32 1 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info64, i32 0, i32 4 + %47 = load i32, i32* %pad, align 8 + %conv65 = trunc i32 %47 to i8 + store i8 %conv65, i8* %padchar, align 1 + br label %if.end66 + +if.end66: ; preds = %if.then63, %if.end59 + %arraydecay67 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %add.ptr68 = getelementptr inbounds i8, i8* %arraydecay67, i64 128 + %add.ptr69 = getelementptr inbounds i8, i8* %add.ptr68, i64 -1 + %48 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num70 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %48, i32 0, i32 4 + %49 = load i32, i32* %conv_num70, align 4 + %cmp71 = icmp eq i32 %49, 1 + br i1 %cmp71, label %cond.end, label %cond.false + +cond.false: ; preds = %if.end66 + %50 = load i32*, i32** %argtype, align 8 + %51 = load i32, i32* %50, align 4 + %and73 = and i32 %51, 3840 + br label %cond.end + +cond.end: ; preds = %if.end66, %cond.false + %cond = phi i32 [ %and73, %cond.false ], [ 1024, %if.end66 ] + %arraydecay74 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %52 = load i8*, i8** %arraydecay74, align 8 + %53 = load i32, i32* %base, align 4 + %call75 = call i64 @_load_inttype(i32 %cond, i8* %52, i32 %53) #18 + %54 = load i32, i32* %base, align 4 + %55 = load i32, i32* %alphacase, align 4 + %call76 = call i8* @_uintmaxtostr(i8* %add.ptr69, i64 %call75, i32 %54, i32 %55) #18 + store i8* %call76, i8** %s, align 8 + %56 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num77 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %56, i32 0, i32 4 + %57 = load i32, i32* %conv_num77, align 4 + %cmp78 = icmp ugt i32 %57, 5 + br i1 %cmp78, label %if.then80, label %if.end104 + +if.then80: ; preds = %cond.end + %58 = load i8*, i8** %s, align 8 + %59 = load i8, i8* %58, align 1 + %conv81 = sext i8 %59 to i32 + %cmp82 = icmp eq i32 %conv81, 45 + %60 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info85 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %60, i32 0, i32 1 + %_flags86 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info85, i32 0, i32 3 + %61 = load i32, i32* %_flags86, align 4 + br i1 %cmp82, label %if.then84, label %if.else89 + +if.then84: ; preds = %if.then80 + %or87 = or i32 %61, 2 + store i32 %or87, i32* %_flags86, align 4 + %62 = load i8*, i8** %s, align 8 + %incdec.ptr88 = getelementptr inbounds i8, i8* %62, i32 1 + store i8* %incdec.ptr88, i8** %s, align 8 + store i32 2, i32* %prefix_num, align 4 + br label %if.end104 + +if.else89: ; preds = %if.then80 + %and92 = and i32 %61, 2 + %tobool93 = icmp ne i32 %and92, 0 + br i1 %tobool93, label %if.then94, label %if.else95 + +if.then94: ; preds = %if.else89 + store i32 0, i32* %prefix_num, align 4 + br label %if.end104 + +if.else95: ; preds = %if.else89 + %63 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info96 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %63, i32 0, i32 1 + %_flags97 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info96, i32 0, i32 3 + %64 = load i32, i32* %_flags97, align 4 + %and98 = and i32 %64, 1 + %tobool99 = icmp ne i32 %and98, 0 + br i1 %tobool99, label %if.then100, label %if.end104 + +if.then100: ; preds = %if.else95 + store i32 4, i32* %prefix_num, align 4 + br label %if.end104 + +if.end104: ; preds = %if.then84, %if.else95, %if.then100, %if.then94, %cond.end + %arraydecay105 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %add.ptr106 = getelementptr inbounds i8, i8* %arraydecay105, i64 128 + %add.ptr107 = getelementptr inbounds i8, i8* %add.ptr106, i64 -1 + %65 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %add.ptr107 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %65 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %slen, align 8 + %66 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info108 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %66, i32 0, i32 1 + %prec109 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info108, i32 0, i32 0 + %67 = load i32, i32* %prec109, align 8 + %cmp110 = icmp slt i32 %67, 0 + br i1 %cmp110, label %cond.end116, label %cond.false113 + +cond.false113: ; preds = %if.end104 + %68 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info114 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %68, i32 0, i32 1 + %prec115 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info114, i32 0, i32 0 + %69 = load i32, i32* %prec115, align 8 + br label %cond.end116 + +cond.end116: ; preds = %if.end104, %cond.false113 + %cond117 = phi i32 [ %69, %cond.false113 ], [ 1, %if.end104 ] + store i32 %cond117, i32* %numfill, align 4 + %70 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info118 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %70, i32 0, i32 1 + %_flags119 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info118, i32 0, i32 3 + %71 = load i32, i32* %_flags119, align 4 + %and120 = and i32 %71, 16 + %tobool121 = icmp ne i32 %and120, 0 + br i1 %tobool121, label %if.then122, label %if.end149 + +if.then122: ; preds = %cond.end116 + %72 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num123 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %72, i32 0, i32 4 + %73 = load i32, i32* %conv_num123, align 4 + %cmp124 = icmp ule i32 %73, 2 + br i1 %cmp124, label %if.then126, label %if.end127 + +if.then126: ; preds = %if.then122 + store i32 6, i32* %prefix_num, align 4 + br label %if.end127 + +if.end127: ; preds = %if.then126, %if.then122 + %74 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num128 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %74, i32 0, i32 4 + %75 = load i32, i32* %conv_num128, align 4 + %cmp129 = icmp eq i32 %75, 3 + br i1 %cmp129, label %if.then131, label %if.end132 + +if.then131: ; preds = %if.end127 + store i32 9, i32* %prefix_num, align 4 + br label %if.end132 + +if.end132: ; preds = %if.then131, %if.end127 + %76 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num133 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %76, i32 0, i32 4 + %77 = load i32, i32* %conv_num133, align 4 + %cmp134 = icmp eq i32 %77, 4 + br i1 %cmp134, label %land.lhs.true, label %if.end149 + +land.lhs.true: ; preds = %if.end132 + %78 = load i32, i32* %numfill, align 4 + %conv136 = sext i32 %78 to i64 + %79 = load i64, i64* %slen, align 8 + %cmp137 = icmp ule i64 %conv136, %79 + br i1 %cmp137, label %if.then139, label %if.end149 + +if.then139: ; preds = %land.lhs.true + %80 = load i8*, i8** %s, align 8 + %81 = load i8, i8* %80, align 1 + %conv140 = sext i8 %81 to i32 + %cmp141 = icmp eq i32 %conv140, 48 + %82 = load i64, i64* %slen, align 8 + %add = add i64 %82, 1 + %cond146 = select i1 %cmp141, i64 1, i64 %add + %conv147 = trunc i64 %cond146 to i32 + store i32 %conv147, i32* %numfill, align 4 + br label %if.end149 + +if.end149: ; preds = %if.end132, %land.lhs.true, %if.then139, %cond.end116 + %83 = load i8*, i8** %s, align 8 + %84 = load i8, i8* %83, align 1 + %conv150 = sext i8 %84 to i32 + %cmp151 = icmp eq i32 %conv150, 48 + br i1 %cmp151, label %if.then153, label %if.end168 + +if.then153: ; preds = %if.end149 + %85 = load i32, i32* %prefix_num, align 4 + %cmp154 = icmp sge i32 %85, 6 + br i1 %cmp154, label %if.then156, label %if.end157 + +if.then156: ; preds = %if.then153 + store i32 11, i32* %prefix_num, align 4 + br label %if.end157 + +if.end157: ; preds = %if.then156, %if.then153 + %86 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num158 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %86, i32 0, i32 4 + %87 = load i32, i32* %conv_num158, align 4 + %cmp159 = icmp eq i32 %87, 1 + br i1 %cmp159, label %if.then161, label %if.else162 + +if.then161: ; preds = %if.end157 + store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.346, i64 0, i64 0), i8** %s, align 8 + store i64 5, i64* %slen, align 8 + store i32 0, i32* %numfill, align 4 + br label %if.end168 + +if.else162: ; preds = %if.end157 + %88 = load i32, i32* %numfill, align 4 + %cmp163 = icmp eq i32 %88, 0 + br i1 %cmp163, label %if.then165, label %if.end168 + +if.then165: ; preds = %if.else162 + store i64 0, i64* %slen, align 8 + br label %if.end168 + +if.end168: ; preds = %if.then161, %if.then165, %if.else162, %if.end149 + %89 = load i32, i32* %numfill, align 4 + %conv169 = sext i32 %89 to i64 + %90 = load i64, i64* %slen, align 8 + %cmp170 = icmp ugt i64 %conv169, %90 + %91 = load i32, i32* %numfill, align 4 + %conv173 = sext i32 %91 to i64 + %92 = load i64, i64* %slen, align 8 + %sub174 = sub i64 %conv173, %92 + %cond177 = select i1 %cmp170, i64 %sub174, i64 0 + %conv178 = trunc i64 %cond177 to i32 + store i32 %conv178, i32* %numfill, align 4 + br label %if.end278 + +if.else179: ; preds = %if.end18 + %93 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num180 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %93, i32 0, i32 4 + %94 = load i32, i32* %conv_num180, align 4 + %cmp181 = icmp ule i32 %94, 15 + br i1 %cmp181, label %if.then183, label %if.else203 + +if.then183: ; preds = %if.else179 + %95 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %arraydecay189 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %96 = load i8*, i8** %arraydecay189, align 8 + %97 = bitcast i8* %96 to double* + %98 = load double, double* %97, align 8 + %99 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info194 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %99, i32 0, i32 1 + %call195 = call i64 @_fpmaxtostr(%struct.__STDIO_FILE_STRUCT.568* %95, double %98, %struct.printf_info.720* %info194, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)* @_fp_out_narrow) #18 + store i64 %call195, i64* %nf, align 8 + %100 = load i64, i64* %nf, align 8 + %cmp196 = icmp slt i64 %100, 0 + br i1 %cmp196, label %if.then198, label %if.end199 + +if.then198: ; preds = %if.then183 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end199: ; preds = %if.then183 + %101 = load i64, i64* %nf, align 8 + %102 = load i32*, i32** %count.addr, align 8 + %103 = load i32, i32* %102, align 4 + %conv200 = sext i32 %103 to i64 + %add201 = add nsw i64 %conv200, %101 + %conv202 = trunc i64 %add201 to i32 + store i32 %conv202, i32* %102, align 4 + store i32 0, i32* %retval, align 4 + br label %return + +if.else203: ; preds = %if.else179 + %104 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num204 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %104, i32 0, i32 4 + %105 = load i32, i32* %conv_num204, align 4 + %cmp205 = icmp ule i32 %105, 17 + br i1 %cmp205, label %if.then207, label %if.else242 + +if.then207: ; preds = %if.else203 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %mbstate, i32 0, i32 0 + store i32 0, i32* %__mask, align 4 + %106 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num208 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %106, i32 0, i32 4 + %107 = load i32, i32* %conv_num208, align 4 + %cmp209 = icmp eq i32 %107, 17 + br i1 %cmp209, label %if.then211, label %if.else232 + +if.then211: ; preds = %if.then207 + %arraydecay212 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %108 = load i8*, i8** %arraydecay212, align 8 + %109 = bitcast i8* %108 to i32** + %110 = load i32*, i32** %109, align 8 + store i32* %110, i32** %ws, align 8 + %tobool213 = icmp ne i32* %110, null + br i1 %tobool213, label %if.end215, label %NULL_STRING + +if.end215: ; preds = %if.then211 + %111 = bitcast i32** %ws to i8* + %112 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info216 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %112, i32 0, i32 1 + %prec217 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info216, i32 0, i32 0 + %113 = load i32, i32* %prec217, align 8 + %cmp218 = icmp sge i32 %113, 0 + br i1 %cmp218, label %cond.true220, label %cond.end225 + +cond.true220: ; preds = %if.end215 + %114 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info221 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %114, i32 0, i32 1 + %prec222 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info221, i32 0, i32 0 + %115 = load i32, i32* %prec222, align 8 + %conv223 = sext i32 %115 to i64 + br label %cond.end225 + +cond.end225: ; preds = %if.end215, %cond.true220 + %cond226 = phi i64 [ %conv223, %cond.true220 ], [ -1, %if.end215 ] + %call227 = call i64 @wcsrtombs(i8* %111, i32** %ws, i64 %cond226, %struct.__mbstate_t.512* %mbstate) #19 + store i64 %call227, i64* %slen, align 8 + %cmp228 = icmp eq i64 %call227, -1 + br i1 %cmp228, label %if.then230, label %if.end278 + +if.then230: ; preds = %cond.end225 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else232: ; preds = %if.then207 + %arraydecay233 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay233, i8** %s, align 8 + %116 = load i8*, i8** %s, align 8 + %arraydecay234 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %117 = load i8*, i8** %arraydecay234, align 8 + %118 = bitcast i8* %117 to i32* + %119 = load i32, i32* %118, align 4 + %call235 = call i64 @wcrtomb(i8* %116, i32 %119, %struct.__mbstate_t.512* %mbstate) #19 + store i64 %call235, i64* %slen, align 8 + %120 = load i64, i64* %slen, align 8 + %cmp236 = icmp eq i64 %120, -1 + br i1 %cmp236, label %if.then238, label %if.end239 + +if.then238: ; preds = %if.else232 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end239: ; preds = %if.else232 + %121 = load i8*, i8** %s, align 8 + %122 = load i64, i64* %slen, align 8 + %arrayidx240 = getelementptr inbounds i8, i8* %121, i64 %122 + store i8 0, i8* %arrayidx240, align 1 + br label %if.end278 + +if.else242: ; preds = %if.else203 + %123 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num243 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %123, i32 0, i32 4 + %124 = load i32, i32* %conv_num243, align 4 + %cmp244 = icmp ule i32 %124, 19 + br i1 %cmp244, label %if.then246, label %if.else274 + +if.then246: ; preds = %if.else242 + %125 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num247 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %125, i32 0, i32 4 + %126 = load i32, i32* %conv_num247, align 4 + %cmp248 = icmp eq i32 %126, 19 + br i1 %cmp248, label %if.then250, label %if.else268 + +if.then250: ; preds = %if.then246 + %arraydecay251 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %127 = load i8*, i8** %arraydecay251, align 8 + %128 = bitcast i8* %127 to i8** + %129 = load i8*, i8** %128, align 8 + store i8* %129, i8** %s, align 8 + %130 = load i8*, i8** %s, align 8 + %tobool252 = icmp ne i8* %130, null + br i1 %tobool252, label %if.then253, label %NULL_STRING + +if.then253: ; preds = %if.then250 + %131 = load i8*, i8** %s, align 8 + %132 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info254 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %132, i32 0, i32 1 + %prec255 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info254, i32 0, i32 0 + %133 = load i32, i32* %prec255, align 8 + %cmp256 = icmp sge i32 %133, 0 + br i1 %cmp256, label %cond.true258, label %cond.end263 + +cond.true258: ; preds = %if.then253 + %134 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info259 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %134, i32 0, i32 1 + %prec260 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info259, i32 0, i32 0 + %135 = load i32, i32* %prec260, align 8 + %conv261 = sext i32 %135 to i64 + br label %cond.end263 + +cond.end263: ; preds = %if.then253, %cond.true258 + %cond264 = phi i64 [ %conv261, %cond.true258 ], [ -1, %if.then253 ] + %call265 = call i64 @strnlen(i8* %131, i64 %cond264) #20 + store i64 %call265, i64* %slen, align 8 + br label %if.end278 + +NULL_STRING: ; preds = %if.then250, %if.then211 + store i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.347, i64 0, i64 0), i8** %s, align 8 + store i64 6, i64* %slen, align 8 + br label %if.end278 + +if.else268: ; preds = %if.then246 + %arraydecay269 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay269, i8** %s, align 8 + %arraydecay270 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %136 = load i8*, i8** %arraydecay270, align 8 + %137 = bitcast i8* %136 to i32* + %138 = load i32, i32* %137, align 4 + %conv271 = trunc i32 %138 to i8 + %139 = load i8*, i8** %s, align 8 + store i8 %conv271, i8* %139, align 1 + %140 = load i8*, i8** %s, align 8 + %arrayidx272 = getelementptr inbounds i8, i8* %140, i64 1 + store i8 0, i8* %arrayidx272, align 1 + store i64 1, i64* %slen, align 8 + br label %if.end278 + +if.else274: ; preds = %if.else242 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end278: ; preds = %cond.end263, %NULL_STRING, %if.else268, %if.end239, %cond.end225, %if.end168 + %141 = load i64, i64* %slen, align 8 + %142 = load i32, i32* %numfill, align 4 + %conv279 = sext i32 %142 to i64 + %add280 = add i64 %141, %conv279 + store i64 %add280, i64* %t, align 8 + %143 = load i32, i32* %prefix_num, align 4 + %cmp281 = icmp ne i32 %143, 11 + br i1 %cmp281, label %if.then283, label %if.end289 + +if.then283: ; preds = %if.end278 + %144 = load i32, i32* %prefix_num, align 4 + %cmp284 = icmp slt i32 %144, 6 + %145 = zext i1 %cmp284 to i64 + %cond286 = select i1 %cmp284, i32 1, i32 2 + %conv287 = sext i32 %cond286 to i64 + %146 = load i64, i64* %t, align 8 + %add288 = add i64 %146, %conv287 + store i64 %add288, i64* %t, align 8 + br label %if.end289 + +if.end289: ; preds = %if.then283, %if.end278 + %147 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info290 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %147, i32 0, i32 1 + %width = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info290, i32 0, i32 1 + %148 = load i32, i32* %width, align 4 + %conv291 = sext i32 %148 to i64 + %149 = load i64, i64* %t, align 8 + %cmp292 = icmp ugt i64 %conv291, %149 + br i1 %cmp292, label %cond.true294, label %cond.end300 + +cond.true294: ; preds = %if.end289 + %150 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info295 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %150, i32 0, i32 1 + %width296 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info295, i32 0, i32 1 + %151 = load i32, i32* %width296, align 4 + %conv297 = sext i32 %151 to i64 + %152 = load i64, i64* %t, align 8 + %sub298 = sub i64 %conv297, %152 + br label %cond.end300 + +cond.end300: ; preds = %if.end289, %cond.true294 + %cond301 = phi i64 [ %sub298, %cond.true294 ], [ 0, %if.end289 ] + %conv302 = trunc i64 %cond301 to i32 + store i32 %conv302, i32* %numpad, align 4 + %153 = load i64, i64* %t, align 8 + %154 = load i32, i32* %numpad, align 4 + %conv303 = sext i32 %154 to i64 + %add304 = add i64 %153, %conv303 + %155 = load i32*, i32** %count.addr, align 8 + %156 = load i32, i32* %155, align 4 + %conv305 = sext i32 %156 to i64 + %add306 = add i64 %conv305, %add304 + %conv307 = trunc i64 %add306 to i32 + store i32 %conv307, i32* %155, align 4 + %157 = load i8, i8* %padchar, align 1 + %conv308 = sext i8 %157 to i32 + %cmp309 = icmp eq i32 %conv308, 48 + br i1 %cmp309, label %if.then311, label %if.end313 + +if.then311: ; preds = %cond.end300 + %158 = load i32, i32* %numpad, align 4 + %159 = load i32, i32* %numfill, align 4 + %add312 = add nsw i32 %159, %158 + store i32 %add312, i32* %numfill, align 4 + store i32 0, i32* %numpad, align 4 + br label %if.end313 + +if.end313: ; preds = %if.then311, %cond.end300 + %160 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info314 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %160, i32 0, i32 1 + %_flags315 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info314, i32 0, i32 3 + %161 = load i32, i32* %_flags315, align 4 + %and316 = and i32 %161, 8 + %tobool317 = icmp ne i32 %and316, 0 + br i1 %tobool317, label %if.end326, label %if.then318 + +if.then318: ; preds = %if.end313 + %162 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %163 = load i32, i32* %numpad, align 4 + %conv319 = sext i32 %163 to i64 + %call320 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %162, i32 32, i64 %conv319) #18 + %164 = load i32, i32* %numpad, align 4 + %conv321 = sext i32 %164 to i64 + %cmp322 = icmp ne i64 %call320, %conv321 + br i1 %cmp322, label %if.then324, label %if.end325 + +if.then324: ; preds = %if.then318 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end325: ; preds = %if.then318 + store i32 0, i32* %numpad, align 4 + br label %if.end326 + +if.end326: ; preds = %if.end325, %if.end313 + %165 = load i32, i32* %prefix_num, align 4 + %idx.ext327 = sext i32 %165 to i64 + %add.ptr328 = getelementptr inbounds i8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @_do_one_spec.prefix, i64 0, i64 0), i64 %idx.ext327 + %166 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call329 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct.__STDIO_FILE_STRUCT.568*)*)(i8* %add.ptr328, %struct.__STDIO_FILE_STRUCT.568* %166) #18 + %167 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %168 = load i32, i32* %numfill, align 4 + %conv330 = sext i32 %168 to i64 + %call331 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %167, i32 48, i64 %conv330) #18 + %169 = load i32, i32* %numfill, align 4 + %conv332 = sext i32 %169 to i64 + %cmp333 = icmp ne i64 %call331, %conv332 + br i1 %cmp333, label %if.then335, label %if.end336 + +if.then335: ; preds = %if.end326 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end336: ; preds = %if.end326 + %170 = load i32*, i32** %ws, align 8 + %tobool337 = icmp ne i32* %170, null + br i1 %tobool337, label %if.else350, label %if.then338 + +if.then338: ; preds = %if.end336 + %171 = load i64, i64* %slen, align 8 + %cmp339 = icmp ugt i64 %171, 0 + br i1 %cmp339, label %cond.true341, label %cond.end344 + +cond.true341: ; preds = %if.then338 + %172 = load i8*, i8** %s, align 8 + %173 = load i64, i64* %slen, align 8 + %174 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call342 = call i64 bitcast (i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.621*)* @__stdio_fwrite to i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.568*)*)(i8* %172, i64 %173, %struct.__STDIO_FILE_STRUCT.568* %174) #18 + br label %cond.end344 + +cond.end344: ; preds = %if.then338, %cond.true341 + %cond345 = phi i64 [ %call342, %cond.true341 ], [ 0, %if.then338 ] + %175 = load i64, i64* %slen, align 8 + %cmp346 = icmp ne i64 %cond345, %175 + br i1 %cmp346, label %if.then348, label %if.end375 + +if.then348: ; preds = %cond.end344 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else350: ; preds = %if.end336 + %__mask352 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %mbstate, i32 0, i32 0 + store i32 0, i32* %__mask352, align 4 + br label %while.cond + +while.cond: ; preds = %if.end373, %if.else350 + %176 = load i64, i64* %slen, align 8 + %tobool353 = icmp ne i64 %176, 0 + br i1 %tobool353, label %while.body, label %if.end375 + +while.body: ; preds = %while.cond + %177 = load i64, i64* %slen, align 8 + %cmp354 = icmp ule i64 %177, 128 + %178 = load i64, i64* %slen, align 8 + %cond359 = select i1 %cmp354, i64 %178, i64 128 + store i64 %cond359, i64* %t351, align 8 + %arraydecay360 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %179 = load i64, i64* %t351, align 8 + %call361 = call i64 @wcsrtombs(i8* %arraydecay360, i32** %ws, i64 %179, %struct.__mbstate_t.512* %mbstate) #19 + store i64 %call361, i64* %t351, align 8 + %180 = load i64, i64* %t351, align 8 + %cmp362 = icmp ugt i64 %180, 0 + br i1 %cmp362, label %cond.true364, label %cond.end368 + +cond.true364: ; preds = %while.body + %arraydecay365 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %181 = load i64, i64* %t351, align 8 + %182 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call366 = call i64 bitcast (i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.621*)* @__stdio_fwrite to i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.568*)*)(i8* %arraydecay365, i64 %181, %struct.__STDIO_FILE_STRUCT.568* %182) #18 + br label %cond.end368 + +cond.end368: ; preds = %while.body, %cond.true364 + %cond369 = phi i64 [ %call366, %cond.true364 ], [ 0, %while.body ] + %183 = load i64, i64* %t351, align 8 + %cmp370 = icmp ne i64 %cond369, %183 + br i1 %cmp370, label %if.then372, label %if.end373 + +if.then372: ; preds = %cond.end368 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end373: ; preds = %cond.end368 + %184 = load i64, i64* %t351, align 8 + %185 = load i64, i64* %slen, align 8 + %sub374 = sub i64 %185, %184 + store i64 %sub374, i64* %slen, align 8 + br label %while.cond + +if.end375: ; preds = %while.cond, %cond.end344 + %186 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %187 = load i32, i32* %numpad, align 4 + %conv376 = sext i32 %187 to i64 + %call377 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %186, i32 32, i64 %conv376) #18 + %188 = load i32, i32* %numpad, align 4 + %conv378 = sext i32 %188 to i64 + %cmp379 = icmp ne i64 %call377, %conv378 + br i1 %cmp379, label %if.then381, label %if.end382 + +if.then381: ; preds = %if.end375 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end382: ; preds = %if.end375 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end382, %if.then381, %if.then372, %if.then348, %if.then335, %if.then324, %if.else274, %if.then238, %if.then230, %if.end199, %if.then198, %if.then15 + %189 = load i32, i32* %retval, align 4 + ret i32 %189 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @_fp_out_narrow(%struct.__STDIO_FILE_STRUCT.568* %fp, i64 %type, i64 %len, i64 %buf) #0 { +entry: + %retval = alloca i64, align 8 + %fp.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %type.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %buf.addr = alloca i64, align 8 + %r = alloca i64, align 8 + %buflen = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %fp, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + store i64 %type, i64* %type.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store i64 %buf, i64* %buf.addr, align 8 + store i64 0, i64* %r, align 8 + %0 = load i64, i64* %type.addr, align 8 + %and = and i64 %0, 128 + %tobool = icmp ne i64 %and, 0 + br i1 %tobool, label %if.then, label %if.end12 + +if.then: ; preds = %entry + %1 = load i64, i64* %buf.addr, align 8 + %2 = inttoptr i64 %1 to i8* + %call = call i64 @strlen(i8* %2) #20 + %conv = trunc i64 %call to i32 + store i32 %conv, i32* %buflen, align 4 + %3 = load i32, i32* %buflen, align 4 + %conv1 = sext i32 %3 to i64 + %4 = load i64, i64* %len.addr, align 8 + %sub = sub nsw i64 %4, %conv1 + store i64 %sub, i64* %len.addr, align 8 + %cmp = icmp sgt i64 %sub, 0 + br i1 %cmp, label %if.then3, label %if.end10 + +if.then3: ; preds = %if.then + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + %6 = load i64, i64* %type.addr, align 8 + %and4 = and i64 %6, 127 + %conv5 = trunc i64 %and4 to i32 + %7 = load i64, i64* %len.addr, align 8 + %call6 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %5, i32 %conv5, i64 %7) #18 + store i64 %call6, i64* %r, align 8 + %8 = load i64, i64* %len.addr, align 8 + %cmp7 = icmp ne i64 %call6, %8 + br i1 %cmp7, label %if.then9, label %if.end10 + +if.then9: ; preds = %if.then3 + %9 = load i64, i64* %r, align 8 + store i64 %9, i64* %retval, align 8 + br label %return + +if.end10: ; preds = %if.then3, %if.then + %10 = load i32, i32* %buflen, align 4 + %conv11 = sext i32 %10 to i64 + store i64 %conv11, i64* %len.addr, align 8 + br label %if.end12 + +if.end12: ; preds = %if.end10, %entry + %11 = load i64, i64* %r, align 8 + %12 = load i64, i64* %len.addr, align 8 + %cmp13 = icmp sgt i64 %12, 0 + br i1 %cmp13, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end12 + %13 = load i64, i64* %buf.addr, align 8 + %14 = inttoptr i64 %13 to i8* + %15 = load i64, i64* %len.addr, align 8 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + %call15 = call i64 bitcast (i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.621*)* @__stdio_fwrite to i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.568*)*)(i8* %14, i64 %15, %struct.__STDIO_FILE_STRUCT.568* %16) #18 + br label %cond.end + +cond.end: ; preds = %if.end12, %cond.true + %cond = phi i64 [ %call15, %cond.true ], [ 0, %if.end12 ] + %add = add i64 %11, %cond + store i64 %add, i64* %retval, align 8 + br label %return + +return: ; preds = %cond.end, %if.then9 + %17 = load i64, i64* %retval, align 8 + ret i64 %17 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %padchar, i64 %numpad) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %padchar.addr = alloca i32, align 4 + %numpad.addr = alloca i64, align 8 + %todo = alloca i64, align 8 + %pad = alloca [1 x i8], align 1 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %padchar, i32* %padchar.addr, align 4 + store i64 %numpad, i64* %numpad.addr, align 8 + %0 = load i64, i64* %numpad.addr, align 8 + store i64 %0, i64* %todo, align 8 + %1 = load i32, i32* %padchar.addr, align 4 + %conv = trunc i32 %1 to i8 + %arraydecay = getelementptr inbounds [1 x i8], [1 x i8]* %pad, i64 0, i64 0 + store i8 %conv, i8* %arraydecay, align 1 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %2 = load i64, i64* %todo, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %arraydecay1 = getelementptr inbounds [1 x i8], [1 x i8]* %pad, i64 0, i64 0 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i64 bitcast (i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.621*)* @__stdio_fwrite to i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.568*)*)(i8* %arraydecay1, i64 1, %struct.__STDIO_FILE_STRUCT.568* %3) #18 + %cmp = icmp eq i64 %call, 1 + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %land.rhs + %4 = load i64, i64* %todo, align 8 + %dec = add i64 %4, -1 + store i64 %dec, i64* %todo, align 8 + br label %while.cond + +while.end: ; preds = %while.cond, %land.rhs + %5 = load i64, i64* %numpad.addr, align 8 + %6 = load i64, i64* %todo, align 8 + %sub = sub i64 %5, %6 + ret i64 %sub +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__cxa_atexit(void (i8*)* %func, i8* %arg, i8* %dso_handle) #0 { +entry: + %retval = alloca i32, align 4 + %func.addr = alloca void (i8*)*, align 8 + %arg.addr = alloca i8*, align 8 + %dso_handle.addr = alloca i8*, align 8 + %efp = alloca %struct.exit_function*, align 8 + store void (i8*)* %func, void (i8*)** %func.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i8* %dso_handle, i8** %dso_handle.addr, align 8 + %0 = load void (i8*)*, void (i8*)** %func.addr, align 8 + %cmp = icmp eq void (i8*)* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %call = call %struct.exit_function* @__new_exitfn() #18 + store %struct.exit_function* %call, %struct.exit_function** %efp, align 8 + %1 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %cmp1 = icmp eq %struct.exit_function* %1, null + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + store i32 -1, i32* %retval, align 4 + br label %return + +if.end3: ; preds = %if.end + %2 = load void (i8*)*, void (i8*)** %func.addr, align 8 + %3 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs = getelementptr inbounds %struct.exit_function, %struct.exit_function* %3, i32 0, i32 1 + %cxa_atexit = bitcast %union.anon.772* %funcs to %struct.anon.0.771* + %func4 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit, i32 0, i32 0 + store void (i8*)* %2, void (i8*)** %func4, align 8 + %4 = load i8*, i8** %arg.addr, align 8 + %5 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs5 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %5, i32 0, i32 1 + %cxa_atexit6 = bitcast %union.anon.772* %funcs5 to %struct.anon.0.771* + %arg7 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit6, i32 0, i32 1 + store i8* %4, i8** %arg7, align 8 + %6 = load i8*, i8** %dso_handle.addr, align 8 + %7 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs8 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %7, i32 0, i32 1 + %cxa_atexit9 = bitcast %union.anon.772* %funcs8 to %struct.anon.0.771* + %dso_handle10 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit9, i32 0, i32 2 + store i8* %6, i8** %dso_handle10, align 8 + %8 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %type = getelementptr inbounds %struct.exit_function, %struct.exit_function* %8, i32 0, i32 0 + store i64 3, i64* %type, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end3, %if.then2, %if.then + %9 = load i32, i32* %retval, align 4 + ret i32 %9 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @getenv(i8* nonnull %var) #0 { +entry: + %retval = alloca i8*, align 8 + %var.addr = alloca i8*, align 8 + %len = alloca i32, align 4 + %ep = alloca i8**, align 8 + store i8* %var, i8** %var.addr, align 8 + %0 = load i8**, i8*** @__environ, align 8 + store i8** %0, i8*** %ep, align 8 + %tobool = icmp ne i8** %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %var.addr, align 8 + %call = call i64 @strlen(i8* %1) #20 + %conv = trunc i64 %call to i32 + store i32 %conv, i32* %len, align 4 + br label %while.cond + +while.cond: ; preds = %if.end10, %if.end + %2 = load i8**, i8*** %ep, align 8 + %3 = load i8*, i8** %2, align 8 + %tobool1 = icmp ne i8* %3, null + br i1 %tobool1, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i8*, i8** %var.addr, align 8 + %5 = load i8**, i8*** %ep, align 8 + %6 = load i8*, i8** %5, align 8 + %7 = load i32, i32* %len, align 4 + %conv2 = sext i32 %7 to i64 + %call3 = call i32 @memcmp(i8* %4, i8* %6, i64 %conv2) #20 + %cmp = icmp eq i32 %call3, 0 + br i1 %cmp, label %land.lhs.true, label %if.end10 + +land.lhs.true: ; preds = %while.body + %8 = load i8**, i8*** %ep, align 8 + %9 = load i8*, i8** %8, align 8 + %10 = load i32, i32* %len, align 4 + %idxprom = sext i32 %10 to i64 + %arrayidx = getelementptr inbounds i8, i8* %9, i64 %idxprom + %11 = load i8, i8* %arrayidx, align 1 + %conv5 = sext i8 %11 to i32 + %cmp6 = icmp eq i32 %conv5, 61 + br i1 %cmp6, label %if.then8, label %if.end10 + +if.then8: ; preds = %land.lhs.true + %12 = load i8**, i8*** %ep, align 8 + %13 = load i8*, i8** %12, align 8 + %14 = load i32, i32* %len, align 4 + %idx.ext = sext i32 %14 to i64 + %add.ptr = getelementptr inbounds i8, i8* %13, i64 %idx.ext + %add.ptr9 = getelementptr inbounds i8, i8* %add.ptr, i64 1 + store i8* %add.ptr9, i8** %retval, align 8 + br label %return + +if.end10: ; preds = %land.lhs.true, %while.body + %15 = load i8**, i8*** %ep, align 8 + %incdec.ptr = getelementptr inbounds i8*, i8** %15, i32 1 + store i8** %incdec.ptr, i8*** %ep, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then8, %if.then + %16 = load i8*, i8** %retval, align 8 + ret i8* %16 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @memmove(i8* nonnull %s1, i8* nonnull %s2, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %p, align 8 + %2 = load i8*, i8** %p, align 8 + %3 = load i8*, i8** %s, align 8 + %cmp = icmp uge i8* %2, %3 + br i1 %cmp, label %while.cond, label %while.cond2 + +while.cond: ; preds = %entry, %while.body + %4 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %4, 0 + br i1 %tobool, label %while.body, label %if.end + +while.body: ; preds = %while.cond + %5 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %6 = load i8, i8* %5, align 1 + %7 = load i8*, i8** %s, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %7, i32 1 + store i8* %incdec.ptr1, i8** %s, align 8 + store i8 %6, i8* %7, align 1 + %8 = load i64, i64* %n.addr, align 8 + %dec = add i64 %8, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.cond2: ; preds = %entry, %while.body4 + %9 = load i64, i64* %n.addr, align 8 + %tobool3 = icmp ne i64 %9, 0 + br i1 %tobool3, label %while.body4, label %if.end + +while.body4: ; preds = %while.cond2 + %10 = load i64, i64* %n.addr, align 8 + %dec5 = add i64 %10, -1 + store i64 %dec5, i64* %n.addr, align 8 + %11 = load i8*, i8** %p, align 8 + %12 = load i64, i64* %n.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %11, i64 %12 + %13 = load i8, i8* %arrayidx, align 1 + %14 = load i8*, i8** %s, align 8 + %15 = load i64, i64* %n.addr, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %14, i64 %15 + store i8 %13, i8* %arrayidx6, align 1 + br label %while.cond2 + +if.end: ; preds = %while.cond2, %while.cond + %16 = load i8*, i8** %s1.addr, align 8 + ret i8* %16 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @mempcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r1 = alloca i8*, align 8 + %r2 = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %r1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %r2, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %2 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load i8*, i8** %r2, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %r2, align 8 + %4 = load i8, i8* %3, align 1 + %5 = load i8*, i8** %r1, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr1, i8** %r1, align 8 + store i8 %4, i8* %5, align 1 + %6 = load i64, i64* %n.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %7 = load i8*, i8** %r1, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @stpcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + br label %while.cond + +while.cond: ; preds = %while.cond, %entry + %0 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %0, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %1 = load i8, i8* %0, align 1 + %2 = load i8*, i8** %s1.addr, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %2, i32 1 + store i8* %incdec.ptr1, i8** %s1.addr, align 8 + store i8 %1, i8* %2, align 1 + %conv = sext i8 %1 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %while.cond, label %while.end + +while.end: ; preds = %while.cond + %3 = load i8*, i8** %s1.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %3, i64 -1 + ret i8* %add.ptr +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @strchr(i8* nonnull %s, i32 %c) #14 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %entry + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %2 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %2 to i8 + %conv2 = sext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + %3 = load i8*, i8** %s.addr, align 8 + br i1 %cmp, label %if.then, label %do.cond + +if.then: ; preds = %do.body + store i8* %3, i8** %retval, align 8 + br label %return + +do.cond: ; preds = %do.body + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %s.addr, align 8 + %4 = load i8, i8* %3, align 1 + %tobool = icmp ne i8 %4, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %do.end, %if.then + %5 = load i8*, i8** %retval, align 8 + ret i8* %5 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @strcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + br label %while.cond + +while.cond: ; preds = %while.cond, %entry + %1 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %1, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %2 = load i8, i8* %1, align 1 + %3 = load i8*, i8** %s, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr1, i8** %s, align 8 + store i8 %2, i8* %3, align 1 + %conv = sext i8 %2 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %while.cond, label %while.end + +while.end: ; preds = %while.cond + %4 = load i8*, i8** %s1.addr, align 8 + ret i8* %4 +} + +; Function Attrs: noinline nounwind uwtable +define noalias i8* @strdup(i8* nonnull %s1) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + %l = alloca i64, align 8 + store i8* %s1, i8** %s1.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + %call = call i64 @strlen(i8* %0) #20 + %add = add i64 %call, 1 + %mul = mul i64 %add, 1 + store i64 %mul, i64* %l, align 8 + %1 = load i64, i64* %l, align 8 + %call1 = call noalias i8* @malloc(i64 %1) #19 + store i8* %call1, i8** %s, align 8 + %cmp = icmp ne i8* %call1, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load i8*, i8** %s, align 8 + %3 = load i8*, i8** %s1.addr, align 8 + %4 = load i64, i64* %l, align 8 + %call2 = call i8* @memcpy(i8* %2, i8* %3, i64 %4) #19 + br label %if.end + +if.end: ; preds = %if.then, %entry + %5 = load i8*, i8** %s, align 8 + ret i8* %5 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @strerror(i32 %errnum) #0 { +entry: + %errnum.addr = alloca i32, align 4 + store i32 %errnum, i32* %errnum.addr, align 4 + %0 = load i32, i32* %errnum.addr, align 4 + %call = call i32 @__xpg_strerror_r(i32 %0, i8* getelementptr inbounds ([50 x i8], [50 x i8]* @strerror.buf, i64 0, i64 0), i64 50) #18 + ret i8* getelementptr inbounds ([50 x i8], [50 x i8]* @strerror.buf, i64 0, i64 0) +} + +; Function Attrs: noinline nounwind readonly uwtable +define i64 @strnlen(i8* nonnull %s, i64 %max) #14 { +entry: + %s.addr = alloca i8*, align 8 + %max.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i64 %max, i64* %max.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %1 = load i64, i64* %max.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %2 = load i8*, i8** %p, align 8 + %3 = load i8, i8* %2, align 1 + %conv = sext i8 %3 to i32 + %tobool1 = icmp ne i32 %conv, 0 + br label %land.end + +land.end: ; preds = %land.rhs, %while.cond + %4 = phi i1 [ false, %while.cond ], [ %tobool1, %land.rhs ] + %5 = load i8*, i8** %p, align 8 + br i1 %4, label %while.body, label %while.end + +while.body: ; preds = %land.end + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %6 = load i64, i64* %max.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %max.addr, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %7 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind uwtable +define i64 @wcrtomb(i8* noalias %s, i32 %wc, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %s.addr = alloca i8*, align 8 + %wc.addr = alloca i32, align 4 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %wcbuf = alloca [1 x i32], align 4 + %pwc = alloca i32*, align 8 + %r = alloca i64, align 8 + %buf = alloca [16 x i8], align 16 + store i8* %s, i8** %s.addr, align 8 + store i32 %wc, i32* %wc.addr, align 4 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay, i8** %s.addr, align 8 + store i32 0, i32* %wc.addr, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %arraydecay1 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay1, i32** %pwc, align 8 + %1 = load i32, i32* %wc.addr, align 4 + %arrayidx = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32 %1, i32* %arrayidx, align 4 + %2 = load i8*, i8** %s.addr, align 8 + %3 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @wcsnrtombs(i8* %2, i32** %pwc, i64 1, i64 16, %struct.__mbstate_t.512* %3) #19 + store i64 %call, i64* %r, align 8 + %4 = load i64, i64* %r, align 8 + %cmp = icmp ne i64 %4, 0 + %5 = load i64, i64* %r, align 8 + %cond = select i1 %cmp, i64 %5, i64 1 + ret i64 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i64 @wcsrtombs(i8* noalias %dst, i32** noalias %src, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %dst.addr = alloca i8*, align 8 + %src.addr = alloca i32**, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + store i8* %dst, i8** %dst.addr, align 8 + store i32** %src, i32*** %src.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load i8*, i8** %dst.addr, align 8 + %1 = load i32**, i32*** %src.addr, align 8 + %2 = load i64, i64* %len.addr, align 8 + %3 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @wcsnrtombs(i8* %0, i32** %1, i64 -1, i64 %2, %struct.__mbstate_t.512* %3) #19 + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @iswctype_l(i32 %wc, i32 %desc, %struct.__uclibc_locale_struct.201* %locale) #0 { +entry: + %retval = alloca i32, align 4 + %wc.addr = alloca i32, align 4 + %desc.addr = alloca i32, align 4 + %locale.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %sc = alloca i32, align 4 + %n = alloca i32, align 4 + %i0 = alloca i32, align 4 + %i1 = alloca i32, align 4 + %d = alloca i8, align 1 + store i32 %wc, i32* %wc.addr, align 4 + store i32 %desc, i32* %desc.addr, align 4 + store %struct.__uclibc_locale_struct.201* %locale, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + store i8 0, i8* %d, align 1 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 9 + %1 = load i8, i8* %encoding, align 8 + %conv = zext i8 %1 to i32 + %cmp = icmp ne i32 %conv, 0 + %2 = load i32, i32* %wc.addr, align 4 + %cmp2 = icmp ule i32 %2, 127 + %or.cond = or i1 %cmp, %cmp2 + br i1 %or.cond, label %if.then, label %if.end78 + +if.then: ; preds = %entry + %3 = load i32, i32* %desc.addr, align 4 + %cmp4 = icmp ult i32 %3, 12 + br i1 %cmp4, label %if.then6, label %if.end58 + +if.then6: ; preds = %if.then + %4 = load i32, i32* %wc.addr, align 4 + %cmp7 = icmp ule i32 %4, 196607 + %5 = load i32, i32* %wc.addr, align 4 + br i1 %cmp7, label %if.then9, label %if.else + +if.then9: ; preds = %if.then6 + %and = and i32 %5, 7 + store i32 %and, i32* %sc, align 4 + %6 = load i32, i32* %wc.addr, align 4 + %shr = lshr i32 %6, 3 + store i32 %shr, i32* %wc.addr, align 4 + %7 = load i32, i32* %wc.addr, align 4 + %and10 = and i32 %7, 31 + store i32 %and10, i32* %n, align 4 + %8 = load i32, i32* %wc.addr, align 4 + %shr11 = lshr i32 %8, 5 + store i32 %shr11, i32* %wc.addr, align 4 + %9 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %tblwctype = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %9, i32 0, i32 21 + %10 = load i8*, i8** %tblwctype, align 8 + %11 = load i32, i32* %wc.addr, align 4 + %idxprom = zext i32 %11 to i64 + %arrayidx = getelementptr inbounds i8, i8* %10, i64 %idxprom + %12 = load i8, i8* %arrayidx, align 1 + %conv12 = zext i8 %12 to i32 + store i32 %conv12, i32* %i0, align 4 + %13 = load i32, i32* %i0, align 4 + %shl = shl i32 %13, 5 + store i32 %shl, i32* %i0, align 4 + %14 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %tblwctype13 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %14, i32 0, i32 21 + %15 = load i8*, i8** %tblwctype13, align 8 + %16 = load i32, i32* %i0, align 4 + %add = add i32 768, %16 + %17 = load i32, i32* %n, align 4 + %add14 = add i32 %add, %17 + %idxprom15 = zext i32 %add14 to i64 + %arrayidx16 = getelementptr inbounds i8, i8* %15, i64 %idxprom15 + %18 = load i8, i8* %arrayidx16, align 1 + %conv17 = zext i8 %18 to i32 + store i32 %conv17, i32* %i1, align 4 + %19 = load i32, i32* %i1, align 4 + %shl18 = shl i32 %19, 2 + store i32 %shl18, i32* %i1, align 4 + %20 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %tblwctype19 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %20, i32 0, i32 21 + %21 = load i8*, i8** %tblwctype19, align 8 + %22 = load i32, i32* %i1, align 4 + %add20 = add i32 2656, %22 + %23 = load i32, i32* %sc, align 4 + %shr21 = lshr i32 %23, 1 + %add22 = add i32 %add20, %shr21 + %idxprom23 = zext i32 %add22 to i64 + %arrayidx24 = getelementptr inbounds i8, i8* %21, i64 %idxprom23 + %24 = load i8, i8* %arrayidx24, align 1 + store i8 %24, i8* %d, align 1 + %25 = load i32, i32* %sc, align 4 + %and25 = and i32 %25, 1 + %tobool = icmp ne i32 %and25, 0 + %26 = load i8, i8* %d, align 1 + %conv26 = zext i8 %26 to i32 + %shr27 = ashr i32 %conv26, 4 + %and29 = and i32 %conv26, 15 + %cond = select i1 %tobool, i32 %shr27, i32 %and29 + %conv30 = trunc i32 %cond to i8 + store i8 %conv30, i8* %d, align 1 + br label %if.end50 + +if.else: ; preds = %if.then6 + %conv31 = zext i32 %5 to i64 + %sub = sub i64 %conv31, 917536 + %conv32 = trunc i64 %sub to i32 + %cmp33 = icmp ule i32 %conv32, 95 + br i1 %cmp33, label %if.then49, label %lor.lhs.false35 + +lor.lhs.false35: ; preds = %if.else + %27 = load i32, i32* %wc.addr, align 4 + %conv36 = zext i32 %27 to i64 + %cmp37 = icmp eq i64 %conv36, 917505 + br i1 %cmp37, label %if.then49, label %lor.lhs.false39 + +lor.lhs.false39: ; preds = %lor.lhs.false35 + %28 = load i32, i32* %wc.addr, align 4 + %conv40 = zext i32 %28 to i64 + %sub41 = sub i64 %conv40, 983040 + %conv42 = trunc i64 %sub41 to i32 + %conv43 = zext i32 %conv42 to i64 + %cmp44 = icmp ult i64 %conv43, 131072 + br i1 %cmp44, label %land.lhs.true, label %if.end50 + +land.lhs.true: ; preds = %lor.lhs.false39 + %29 = load i32, i32* %wc.addr, align 4 + %and46 = and i32 %29, 65535 + %cmp47 = icmp ule i32 %and46, 65533 + br i1 %cmp47, label %if.then49, label %if.end50 + +if.then49: ; preds = %land.lhs.true, %lor.lhs.false35, %if.else + store i8 6, i8* %d, align 1 + br label %if.end50 + +if.end50: ; preds = %lor.lhs.false39, %land.lhs.true, %if.then49, %if.then9 + %30 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %code2flag = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %30, i32 0, i32 20 + %31 = load i16*, i16** %code2flag, align 8 + %32 = load i8, i8* %d, align 1 + %idxprom51 = zext i8 %32 to i64 + %arrayidx52 = getelementptr inbounds i16, i16* %31, i64 %idxprom51 + %33 = load i16, i16* %arrayidx52, align 2 + %conv53 = zext i16 %33 to i32 + %34 = load i32, i32* %desc.addr, align 4 + %idxprom54 = zext i32 %34 to i64 + %arrayidx55 = getelementptr inbounds [13 x i16], [13 x i16]* @desc2flag, i64 0, i64 %idxprom54 + %35 = load i16, i16* %arrayidx55, align 2 + %conv56 = zext i16 %35 to i32 + %and57 = and i32 %conv53, %conv56 + store i32 %and57, i32* %retval, align 4 + br label %return + +if.end58: ; preds = %if.then + %36 = load i32, i32* %desc.addr, align 4 + %cmp59 = icmp eq i32 %36, 12 + br i1 %cmp59, label %cond.false68, label %cond.end76 + +cond.false68: ; preds = %if.end58 + %37 = load i32, i32* %wc.addr, align 4 + %sub69 = sub i32 %37, 48 + %cmp70 = icmp ult i32 %sub69, 10 + %38 = load i32, i32* %wc.addr, align 4 + %or = or i32 %38, 32 + %sub72 = sub i32 %or, 97 + %cmp73 = icmp ult i32 %sub72, 6 + %39 = select i1 %cmp70, i1 true, i1 %cmp73 + %lor.ext = zext i1 %39 to i32 + br label %cond.end76 + +cond.end76: ; preds = %if.end58, %cond.false68 + %cond77 = phi i32 [ %lor.ext, %cond.false68 ], [ 0, %if.end58 ] + store i32 %cond77, i32* %retval, align 4 + br label %return + +if.end78: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end78, %cond.end76, %if.end50 + %40 = load i32, i32* %retval, align 4 + ret i32 %40 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_adjust_position(%struct.__STDIO_FILE_STRUCT.636* noalias %stream, i64* %pos) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %pos.addr = alloca i64*, align 8 + %oldpos = alloca i64, align 8 + %corr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64* %pos, i64** %pos.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 3 + store i32 %and, i32* %corr, align 4 + %cmp = icmp ne i32 %and, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load i32, i32* %corr, align 4 + %dec = add nsw i32 %2, -1 + store i32 %dec, i32* %corr, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %3 = load i32, i32* %corr, align 4 + %tobool = icmp ne i32 %3, 0 + br i1 %tobool, label %land.lhs.true, label %if.end22 + +land.lhs.true: ; preds = %if.end + %4 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %4, i32 0, i32 0 + %5 = load i16, i16* %__modeflags2, align 8 + %conv3 = zext i16 %5 to i32 + %and4 = and i32 %conv3, 2048 + %tobool5 = icmp ne i32 %and4, 0 + br i1 %tobool5, label %if.then6, label %if.end22 + +if.then6: ; preds = %land.lhs.true + %6 = load i32, i32* %corr, align 4 + %cmp7 = icmp sgt i32 %6, 1 + br i1 %cmp7, label %if.then10, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then6 + %7 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %7, i32 0, i32 10 + %arrayidx = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot, i64 0, i64 1 + %8 = load i32, i32* %arrayidx, align 4 + %tobool9 = icmp ne i32 %8, 0 + br i1 %tobool9, label %if.then10, label %if.end11 + +if.then10: ; preds = %lor.lhs.false, %if.then6 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end11: ; preds = %lor.lhs.false + %9 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %9, i32 0, i32 1 + %arrayidx12 = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 1 + %10 = load i8, i8* %arrayidx12, align 1 + %conv13 = zext i8 %10 to i32 + %add = add nsw i32 1, %conv13 + %11 = load i32, i32* %corr, align 4 + %sub = sub nsw i32 %11, %add + store i32 %sub, i32* %corr, align 4 + %12 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %12, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + %13 = load i32, i32* %__mask, align 8 + %cmp14 = icmp sgt i32 %13, 0 + br i1 %cmp14, label %if.then16, label %if.end22 + +if.then16: ; preds = %if.end11 + %14 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot_width17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %14, i32 0, i32 1 + %arrayidx18 = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width17, i64 0, i64 0 + %15 = load i8, i8* %arrayidx18, align 2 + %conv19 = zext i8 %15 to i32 + %16 = load i32, i32* %corr, align 4 + %sub20 = sub nsw i32 %16, %conv19 + store i32 %sub20, i32* %corr, align 4 + br label %if.end22 + +if.end22: ; preds = %if.end11, %if.then16, %land.lhs.true, %if.end + %17 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags23 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %17, i32 0, i32 0 + %18 = load i16, i16* %__modeflags23, align 8 + %conv24 = zext i16 %18 to i32 + %and25 = and i32 %conv24, 64 + %tobool26 = icmp ne i32 %and25, 0 + %19 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + br i1 %tobool26, label %cond.true, label %cond.false + +cond.true: ; preds = %if.end22 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %19, i32 0, i32 3 + %20 = load i8*, i8** %__bufstart, align 8 + br label %cond.end + +cond.false: ; preds = %if.end22 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %19, i32 0, i32 6 + %21 = load i8*, i8** %__bufread, align 8 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i8* [ %20, %cond.true ], [ %21, %cond.false ] + %22 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %22, i32 0, i32 5 + %23 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %cond to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %23 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %24 = load i32, i32* %corr, align 4 + %conv27 = sext i32 %24 to i64 + %add28 = add nsw i64 %conv27, %sub.ptr.sub + %conv29 = trunc i64 %add28 to i32 + store i32 %conv29, i32* %corr, align 4 + %25 = load i64*, i64** %pos.addr, align 8 + %26 = load i64, i64* %25, align 8 + store i64 %26, i64* %oldpos, align 8 + %27 = load i32, i32* %corr, align 4 + %conv30 = sext i32 %27 to i64 + %28 = load i64*, i64** %pos.addr, align 8 + %29 = load i64, i64* %28, align 8 + %sub31 = sub nsw i64 %29, %conv30 + store i64 %sub31, i64* %28, align 8 + %30 = load i64, i64* %oldpos, align 8 + %cmp32 = icmp sgt i64 %sub31, %30 + br i1 %cmp32, label %if.then34, label %if.end36 + +if.then34: ; preds = %cond.end + %31 = load i32, i32* %corr, align 4 + %sub35 = sub nsw i32 0, %31 + store i32 %sub35, i32* %corr, align 4 + br label %if.end36 + +if.end36: ; preds = %if.then34, %cond.end + %32 = load i32, i32* %corr, align 4 + %cmp37 = icmp slt i32 %32, 0 + br i1 %cmp37, label %if.then39, label %if.end40 + +if.then39: ; preds = %if.end36 + store i32 75, i32* @errno, align 4 + br label %if.end40 + +if.end40: ; preds = %if.then39, %if.end36 + %33 = load i32, i32* %corr, align 4 + store i32 %33, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end40, %if.then10 + %34 = load i32, i32* %retval, align 4 + ret i32 %34 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_seek(%struct.__STDIO_FILE_STRUCT.636* %stream, i64* %pos, i32 %whence) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %pos.addr = alloca i64*, align 8 + %whence.addr = alloca i32, align 4 + %res = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64* %pos, i64** %pos.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %0, i32 0, i32 2 + %1 = load i32, i32* %__filedes, align 4 + %2 = load i64*, i64** %pos.addr, align 8 + %3 = load i64, i64* %2, align 8 + %4 = load i32, i32* %whence.addr, align 4 + %call = call i64 @lseek64(i32 %1, i64 %3, i32 %4) #19 + store i64 %call, i64* %res, align 8 + %5 = load i64, i64* %res, align 8 + %cmp = icmp sge i64 %5, 0 + %6 = load i64, i64* %res, align 8 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %entry + %7 = load i64*, i64** %pos.addr, align 8 + store i64 %6, i64* %7, align 8 + br label %cond.end + +cond.false: ; preds = %entry + %conv = trunc i64 %6 to i32 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ 0, %cond.true ], [ %conv, %cond.false ] + ret i32 %cond +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_fpmaxtostr(%struct.__STDIO_FILE_STRUCT.568* %fp, double %x, %struct.printf_info.720* %info, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)* %fp_outfunc) #0 { +entry: + %retval = alloca i64, align 8 + %fp.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %x.addr = alloca double, align 8 + %info.addr = alloca %struct.printf_info.720*, align 8 + %fp_outfunc.addr = alloca i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)*, align 8 + %round = alloca i32, align 4 + %o_exp = alloca i32, align 4 + %exp = alloca i32, align 4 + %width = alloca i32, align 4 + %preci = alloca i32, align 4 + %cnt = alloca i32, align 4 + %s = alloca i8*, align 8 + %e = alloca i8*, align 8 + %pc_fwi = alloca [24 x i64], align 16 + %ppc = alloca i64*, align 8 + %ppc_last = alloca i64*, align 8 + %exp_buf = alloca [16 x i8], align 16 + %buf = alloca [21 x i8], align 16 + %sign_str = alloca [6 x i8], align 1 + %o_mode = alloca i8, align 1 + %mode = alloca i8, align 1 + %i = alloca i32, align 4 + %j = alloca i32, align 4 + %exp_neg = alloca i32, align 4 + %i92 = alloca i32, align 4 + %j93 = alloca i32, align 4 + %digit_block = alloca i64, align 8 + %i151 = alloca i32, align 4 + %i218 = alloca i32, align 4 + %p = alloca i8*, align 8 + %j329 = alloca i32, align 4 + %exp_char = alloca i8, align 1 + %exp_sign = alloca i8, align 1 + %i359 = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %fp, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + store double %x, double* %x.addr, align 8 + store %struct.printf_info.720* %info, %struct.printf_info.720** %info.addr, align 8 + store i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)* %fp_outfunc, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)** %fp_outfunc.addr, align 8 + %0 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %width1 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %0, i32 0, i32 1 + %1 = load i32, i32* %width1, align 4 + store i32 %1, i32* %width, align 4 + %2 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %2, i32 0, i32 0 + %3 = load i32, i32* %prec, align 4 + store i32 %3, i32* %preci, align 4 + %4 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %spec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %4, i32 0, i32 2 + %5 = load i32, i32* %spec, align 4 + %conv = trunc i32 %5 to i8 + store i8 %conv, i8* %mode, align 1 + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + store i8 101, i8* %arraydecay, align 16 + %6 = load i8, i8* %mode, align 1 + %conv2 = sext i8 %6 to i32 + %or = or i32 %conv2, 32 + %cmp = icmp eq i32 %or, 97 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %7 = load i8, i8* %mode, align 1 + %conv4 = sext i8 %7 to i32 + %add = add nsw i32 %conv4, 6 + %conv5 = trunc i32 %add to i8 + store i8 %conv5, i8* %mode, align 1 + br label %if.end + +if.end: ; preds = %if.then, %entry + %8 = load i32, i32* %preci, align 4 + %cmp6 = icmp slt i32 %8, 0 + br i1 %cmp6, label %if.then8, label %if.end9 + +if.then8: ; preds = %if.end + store i32 6, i32* %preci, align 4 + br label %if.end9 + +if.end9: ; preds = %if.then8, %if.end + %arraydecay10 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 0, i8* %arraydecay10, align 1 + %9 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %showsign = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %9, i32 0, i32 3 + %bf.load = load i32, i32* %showsign, align 4 + %bf.lshr = lshr i32 %bf.load, 1 + %bf.clear = and i32 %bf.lshr, 1 + %tobool = icmp ne i32 %bf.clear, 0 + br i1 %tobool, label %if.then11, label %if.else + +if.then11: ; preds = %if.end9 + %arraydecay12 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 43, i8* %arraydecay12, align 1 + br label %if.end19 + +if.else: ; preds = %if.end9 + %10 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %space = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %10, i32 0, i32 3 + %bf.load13 = load i32, i32* %space, align 4 + %bf.clear14 = and i32 %bf.load13, 1 + %tobool15 = icmp ne i32 %bf.clear14, 0 + br i1 %tobool15, label %if.then16, label %if.end19 + +if.then16: ; preds = %if.else + %arraydecay17 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 32, i8* %arraydecay17, align 1 + br label %if.end19 + +if.end19: ; preds = %if.else, %if.then16, %if.then11 + %arraydecay20 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay20, i64 1 + store i8 0, i8* %add.ptr, align 1 + %arrayidx = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 0, i64* %arrayidx, align 8 + %11 = load double, double* %x.addr, align 8 + %12 = load double, double* %x.addr, align 8 + %cmp21 = fcmp une double %11, %12 + br i1 %cmp21, label %if.then23, label %if.end25 + +if.then23: ; preds = %if.end19 + %arrayidx24 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 8, i64* %arrayidx24, align 8 + br label %INF_NAN + +if.end25: ; preds = %if.end19 + %13 = load double, double* %x.addr, align 8 + %cmp26 = fcmp oeq double %13, 0.000000e+00 + %14 = load double, double* %x.addr, align 8 + br i1 %cmp26, label %if.then28, label %if.end34 + +if.then28: ; preds = %if.end25 + %div = fdiv double 1.000000e+00, %14 + %cmp29 = fcmp olt double %div, 0.000000e+00 + br i1 %cmp29, label %if.then31, label %if.end33 + +if.then31: ; preds = %if.then28 + %arraydecay32 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 45, i8* %arraydecay32, align 1 + br label %if.end33 + +if.end33: ; preds = %if.then31, %if.then28 + store i32 -1, i32* %exp, align 4 + br label %GENERATE_DIGITS + +if.end34: ; preds = %if.end25 + %cmp35 = fcmp olt double %14, 0.000000e+00 + br i1 %cmp35, label %if.then37, label %if.end39 + +if.then37: ; preds = %if.end34 + %arraydecay38 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 45, i8* %arraydecay38, align 1 + %15 = load double, double* %x.addr, align 8 + %fneg = fneg double %15 + store double %fneg, double* %x.addr, align 8 + br label %if.end39 + +if.end39: ; preds = %if.then37, %if.end34 + %16 = load double, double* %x.addr, align 8 + %17 = load double, double* %x.addr, align 8 + %div40 = fdiv double %17, 4.000000e+00 + %cmp41 = fcmp oeq double %16, %div40 + br i1 %cmp41, label %INF_NAN, label %if.end58 + +INF_NAN: ; preds = %if.end39, %if.then23 + %18 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %18, i32 0, i32 4 + store i32 32, i32* %pad, align 4 + %arraydecay44 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + %add.ptr45 = getelementptr inbounds i64, i64* %arraydecay44, i64 6 + store i64* %add.ptr45, i64** %ppc, align 8 + %arrayidx46 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 3 + store i64 112, i64* %arrayidx46, align 8 + %arrayidx47 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 4 + store i64 3, i64* %arrayidx47, align 16 + %19 = load i8, i8* %mode, align 1 + %conv48 = sext i8 %19 to i32 + %cmp49 = icmp slt i32 %conv48, 97 + br i1 %cmp49, label %if.then51, label %if.end54 + +if.then51: ; preds = %INF_NAN + %arrayidx52 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + %20 = load i64, i64* %arrayidx52, align 8 + %add53 = add nsw i64 %20, 4 + store i64 %add53, i64* %arrayidx52, align 8 + br label %if.end54 + +if.end54: ; preds = %if.then51, %INF_NAN + %arrayidx55 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + %21 = load i64, i64* %arrayidx55, align 8 + %add.ptr56 = getelementptr inbounds i8, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 0), i64 %21 + %22 = ptrtoint i8* %add.ptr56 to i64 + %arrayidx57 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 %22, i64* %arrayidx57, align 8 + br label %EXIT_SPECIAL + +if.end58: ; preds = %if.end39 + store i32 8, i32* %exp, align 4 + store i32 9, i32* %i, align 4 + store i32 256, i32* %j, align 4 + store i32 0, i32* %exp_neg, align 4 + %23 = load double, double* %x.addr, align 8 + %cmp59 = fcmp olt double %23, 1.000000e+08 + br i1 %cmp59, label %if.then61, label %if.end62 + +if.then61: ; preds = %if.end58 + store i32 1, i32* %exp_neg, align 4 + br label %if.end62 + +if.end62: ; preds = %if.then61, %if.end58 + br label %do.body + +do.body: ; preds = %if.end85, %if.end62 + %24 = load i32, i32* %i, align 4 + %dec = add nsw i32 %24, -1 + store i32 %dec, i32* %i, align 4 + %25 = load i32, i32* %exp_neg, align 4 + %tobool63 = icmp ne i32 %25, 0 + %26 = load double, double* %x.addr, align 8 + %27 = load i32, i32* %i, align 4 + %idxprom = sext i32 %27 to i64 + %arrayidx65 = getelementptr inbounds [9 x double], [9 x double]* @exp10_table, i64 0, i64 %idxprom + %28 = load double, double* %arrayidx65, align 8 + br i1 %tobool63, label %if.then64, label %if.else73 + +if.then64: ; preds = %do.body + %mul = fmul double %26, %28 + %cmp66 = fcmp olt double %mul, 1.000000e+09 + br i1 %cmp66, label %if.then68, label %if.end85 + +if.then68: ; preds = %if.then64 + %29 = load i32, i32* %i, align 4 + %idxprom69 = sext i32 %29 to i64 + %arrayidx70 = getelementptr inbounds [9 x double], [9 x double]* @exp10_table, i64 0, i64 %idxprom69 + %30 = load double, double* %arrayidx70, align 8 + %31 = load double, double* %x.addr, align 8 + %mul71 = fmul double %31, %30 + store double %mul71, double* %x.addr, align 8 + %32 = load i32, i32* %j, align 4 + %33 = load i32, i32* %exp, align 4 + %sub = sub nsw i32 %33, %32 + store i32 %sub, i32* %exp, align 4 + br label %if.end85 + +if.else73: ; preds = %do.body + %div76 = fdiv double %26, %28 + %cmp77 = fcmp oge double %div76, 1.000000e+08 + br i1 %cmp77, label %if.then79, label %if.end85 + +if.then79: ; preds = %if.else73 + %34 = load i32, i32* %i, align 4 + %idxprom80 = sext i32 %34 to i64 + %arrayidx81 = getelementptr inbounds [9 x double], [9 x double]* @exp10_table, i64 0, i64 %idxprom80 + %35 = load double, double* %arrayidx81, align 8 + %36 = load double, double* %x.addr, align 8 + %div82 = fdiv double %36, %35 + store double %div82, double* %x.addr, align 8 + %37 = load i32, i32* %j, align 4 + %38 = load i32, i32* %exp, align 4 + %add83 = add nsw i32 %38, %37 + store i32 %add83, i32* %exp, align 4 + br label %if.end85 + +if.end85: ; preds = %if.else73, %if.then79, %if.then64, %if.then68 + %39 = load i32, i32* %j, align 4 + %shr = ashr i32 %39, 1 + store i32 %shr, i32* %j, align 4 + %40 = load i32, i32* %i, align 4 + %tobool86 = icmp ne i32 %40, 0 + br i1 %tobool86, label %do.body, label %do.end + +do.end: ; preds = %if.end85 + %41 = load double, double* %x.addr, align 8 + %cmp87 = fcmp oge double %41, 1.000000e+09 + br i1 %cmp87, label %if.then89, label %GENERATE_DIGITS + +if.then89: ; preds = %do.end + %42 = load double, double* getelementptr inbounds ([9 x double], [9 x double]* @exp10_table, i64 0, i64 0), align 16 + %43 = load double, double* %x.addr, align 8 + %div90 = fdiv double %43, %42 + store double %div90, double* %x.addr, align 8 + %44 = load i32, i32* %exp, align 4 + %inc = add nsw i32 %44, 1 + store i32 %inc, i32* %exp, align 4 + br label %GENERATE_DIGITS + +GENERATE_DIGITS: ; preds = %do.end, %if.then89, %if.end33 + %arraydecay94 = getelementptr inbounds [21 x i8], [21 x i8]* %buf, i64 0, i64 0 + %add.ptr95 = getelementptr inbounds i8, i8* %arraydecay94, i64 2 + store i8* %add.ptr95, i8** %s, align 8 + store i32 0, i32* %i92, align 4 + br label %do.body96 + +do.body96: ; preds = %do.cond114, %GENERATE_DIGITS + %45 = load double, double* %x.addr, align 8 + %conv97 = fptoui double %45 to i64 + store i64 %conv97, i64* %digit_block, align 8 + %46 = load double, double* %x.addr, align 8 + %47 = load i64, i64* %digit_block, align 8 + %conv98 = uitofp i64 %47 to double + %sub99 = fsub double %46, %conv98 + %mul100 = fmul double %sub99, 1.000000e+09 + store double %mul100, double* %x.addr, align 8 + %48 = load i8*, i8** %s, align 8 + %add.ptr101 = getelementptr inbounds i8, i8* %48, i64 9 + store i8* %add.ptr101, i8** %s, align 8 + store i32 0, i32* %j93, align 4 + br label %do.body102 + +do.body102: ; preds = %do.body102, %do.body96 + %49 = load i64, i64* %digit_block, align 8 + %rem = urem i64 %49, 10 + %add103 = add i64 48, %rem + %conv104 = trunc i64 %add103 to i8 + %50 = load i8*, i8** %s, align 8 + %51 = load i32, i32* %j93, align 4 + %inc105 = add nsw i32 %51, 1 + store i32 %inc105, i32* %j93, align 4 + %sub106 = sub nsw i32 0, %inc105 + %idxprom107 = sext i32 %sub106 to i64 + %arrayidx108 = getelementptr inbounds i8, i8* %50, i64 %idxprom107 + store i8 %conv104, i8* %arrayidx108, align 1 + %52 = load i64, i64* %digit_block, align 8 + %div109 = udiv i64 %52, 10 + store i64 %div109, i64* %digit_block, align 8 + %53 = load i32, i32* %j93, align 4 + %cmp111 = icmp slt i32 %53, 9 + br i1 %cmp111, label %do.body102, label %do.cond114 + +do.cond114: ; preds = %do.body102 + %54 = load i32, i32* %i92, align 4 + %inc115 = add nsw i32 %54, 1 + store i32 %inc115, i32* %i92, align 4 + %cmp116 = icmp slt i32 %inc115, 2 + br i1 %cmp116, label %do.body96, label %do.end118 + +do.end118: ; preds = %do.cond114 + %55 = load i8, i8* %mode, align 1 + %conv119 = sext i8 %55 to i32 + %cmp120 = icmp slt i32 %conv119, 97 + br i1 %cmp120, label %if.then122, label %if.end130 + +if.then122: ; preds = %do.end118 + %arraydecay123 = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + %56 = load i8, i8* %arraydecay123, align 16 + %conv124 = sext i8 %56 to i32 + %sub125 = sub nsw i32 %conv124, 32 + %conv126 = trunc i32 %sub125 to i8 + store i8 %conv126, i8* %arraydecay123, align 16 + %57 = load i8, i8* %mode, align 1 + %conv127 = sext i8 %57 to i32 + %add128 = add nsw i32 %conv127, 32 + %conv129 = trunc i32 %add128 to i8 + store i8 %conv129, i8* %mode, align 1 + br label %if.end130 + +if.end130: ; preds = %if.then122, %do.end118 + %58 = load i8, i8* %mode, align 1 + store i8 %58, i8* %o_mode, align 1 + %59 = load i8, i8* %mode, align 1 + %conv131 = sext i8 %59 to i32 + %cmp132 = icmp eq i32 %conv131, 103 + %60 = load i32, i32* %preci, align 4 + %cmp134 = icmp sgt i32 %60, 0 + %or.cond = and i1 %cmp132, %cmp134 + br i1 %or.cond, label %if.then136, label %if.end138 + +if.then136: ; preds = %if.end130 + %61 = load i32, i32* %preci, align 4 + %dec137 = add nsw i32 %61, -1 + store i32 %dec137, i32* %preci, align 4 + br label %if.end138 + +if.end138: ; preds = %if.then136, %if.end130 + %62 = load i32, i32* %preci, align 4 + store i32 %62, i32* %round, align 4 + %63 = load i8, i8* %mode, align 1 + %conv139 = sext i8 %63 to i32 + %cmp140 = icmp eq i32 %conv139, 102 + br i1 %cmp140, label %if.then142, label %if.end149 + +if.then142: ; preds = %if.end138 + %64 = load i32, i32* %exp, align 4 + %65 = load i32, i32* %round, align 4 + %add143 = add nsw i32 %65, %64 + store i32 %add143, i32* %round, align 4 + %66 = load i32, i32* %round, align 4 + %cmp144 = icmp slt i32 %66, -1 + br i1 %cmp144, label %if.then146, label %if.end149 + +if.then146: ; preds = %if.then142 + %arraydecay147 = getelementptr inbounds [21 x i8], [21 x i8]* %buf, i64 0, i64 0 + %call = call i8* @memset(i8* %arraydecay147, i32 48, i64 17) #19 + store i32 -1, i32* %exp, align 4 + store i32 -1, i32* %round, align 4 + br label %if.end149 + +if.end149: ; preds = %if.then142, %if.then146, %if.end138 + %arraydecay150 = getelementptr inbounds [21 x i8], [21 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay150, i8** %s, align 8 + %67 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %67, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + store i8 0, i8* %67, align 1 + %68 = load i8*, i8** %s, align 8 + store i8 48, i8* %68, align 1 + store i32 0, i32* %i151, align 4 + %69 = load i8*, i8** %s, align 8 + %add.ptr152 = getelementptr inbounds i8, i8* %69, i64 17 + %add.ptr153 = getelementptr inbounds i8, i8* %add.ptr152, i64 1 + store i8* %add.ptr153, i8** %e, align 8 + %70 = load i32, i32* %round, align 4 + %cmp154 = icmp slt i32 %70, 17 + br i1 %cmp154, label %if.then156, label %if.end164 + +if.then156: ; preds = %if.end149 + %71 = load i8*, i8** %s, align 8 + %72 = load i32, i32* %round, align 4 + %idx.ext = sext i32 %72 to i64 + %add.ptr157 = getelementptr inbounds i8, i8* %71, i64 %idx.ext + %add.ptr158 = getelementptr inbounds i8, i8* %add.ptr157, i64 2 + store i8* %add.ptr158, i8** %e, align 8 + %73 = load i8*, i8** %e, align 8 + %74 = load i8, i8* %73, align 1 + %conv159 = sext i8 %74 to i32 + %cmp160 = icmp sge i32 %conv159, 53 + br i1 %cmp160, label %if.then162, label %if.end164 + +if.then162: ; preds = %if.then156 + store i32 1, i32* %i151, align 4 + br label %if.end164 + +if.end164: ; preds = %if.then156, %if.then162, %if.end149 + br label %do.body165 + +do.body165: ; preds = %do.body165, %lor.rhs, %if.end164 + %75 = load i32, i32* %i151, align 4 + %76 = load i8*, i8** %e, align 8 + %incdec.ptr166 = getelementptr inbounds i8, i8* %76, i32 -1 + store i8* %incdec.ptr166, i8** %e, align 8 + %77 = load i8, i8* %incdec.ptr166, align 1 + %conv167 = sext i8 %77 to i32 + %add168 = add nsw i32 %conv167, %75 + %conv169 = trunc i32 %add168 to i8 + store i8 %conv169, i8* %incdec.ptr166, align 1 + %78 = load i8*, i8** %e, align 8 + %79 = load i8, i8* %78, align 1 + %conv171 = sext i8 %79 to i32 + %cmp172 = icmp eq i32 %conv171, 48 + br i1 %cmp172, label %do.body165, label %lor.rhs + +lor.rhs: ; preds = %do.body165 + %80 = load i8*, i8** %e, align 8 + %81 = load i8, i8* %80, align 1 + %conv174 = sext i8 %81 to i32 + %cmp175 = icmp sgt i32 %conv174, 57 + br i1 %cmp175, label %do.body165, label %do.end177 + +do.end177: ; preds = %lor.rhs + %82 = load i32, i32* %exp, align 4 + store i32 %82, i32* %o_exp, align 4 + %83 = load i8*, i8** %e, align 8 + %84 = load i8*, i8** %s, align 8 + %cmp178 = icmp ule i8* %83, %84 + br i1 %cmp178, label %if.then180, label %if.else182 + +if.then180: ; preds = %do.end177 + %85 = load i32, i32* %o_exp, align 4 + %inc181 = add nsw i32 %85, 1 + store i32 %inc181, i32* %o_exp, align 4 + %86 = load i8*, i8** %s, align 8 + store i8* %86, i8** %e, align 8 + br label %if.end184 + +if.else182: ; preds = %do.end177 + %87 = load i8*, i8** %s, align 8 + %incdec.ptr183 = getelementptr inbounds i8, i8* %87, i32 1 + store i8* %incdec.ptr183, i8** %s, align 8 + br label %if.end184 + +if.end184: ; preds = %if.else182, %if.then180 + %88 = load i8*, i8** %e, align 8 + %incdec.ptr185 = getelementptr inbounds i8, i8* %88, i32 1 + store i8* %incdec.ptr185, i8** %e, align 8 + store i8 0, i8* %incdec.ptr185, align 1 + %89 = load i8, i8* %mode, align 1 + %conv186 = sext i8 %89 to i32 + %cmp187 = icmp eq i32 %conv186, 103 + %90 = load i32, i32* %o_exp, align 4 + %cmp190 = icmp sge i32 %90, -4 + %or.cond1 = and i1 %cmp187, %cmp190 + br i1 %or.cond1, label %land.lhs.true192, label %if.end197 + +land.lhs.true192: ; preds = %if.end184 + %91 = load i32, i32* %o_exp, align 4 + %92 = load i32, i32* %round, align 4 + %cmp193 = icmp sle i32 %91, %92 + br i1 %cmp193, label %if.then195, label %if.end197 + +if.then195: ; preds = %land.lhs.true192 + store i8 102, i8* %mode, align 1 + %93 = load i32, i32* %round, align 4 + %94 = load i32, i32* %o_exp, align 4 + %sub196 = sub nsw i32 %93, %94 + store i32 %sub196, i32* %preci, align 4 + br label %if.end197 + +if.end197: ; preds = %if.then195, %land.lhs.true192, %if.end184 + %95 = load i32, i32* %o_exp, align 4 + store i32 %95, i32* %exp, align 4 + %96 = load i8, i8* %mode, align 1 + %conv198 = sext i8 %96 to i32 + %cmp199 = icmp ne i32 %conv198, 102 + br i1 %cmp199, label %if.then201, label %if.end202 + +if.then201: ; preds = %if.end197 + store i32 0, i32* %o_exp, align 4 + br label %if.end202 + +if.end202: ; preds = %if.then201, %if.end197 + %97 = load i32, i32* %o_exp, align 4 + %cmp203 = icmp slt i32 %97, 0 + br i1 %cmp203, label %if.then205, label %if.end207 + +if.then205: ; preds = %if.end202 + %98 = load i8*, i8** %s, align 8 + %incdec.ptr206 = getelementptr inbounds i8, i8* %98, i32 -1 + store i8* %incdec.ptr206, i8** %s, align 8 + store i8 48, i8* %incdec.ptr206, align 1 + br label %if.end207 + +if.end207: ; preds = %if.then205, %if.end202 + %arrayidx208 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 3 + store i64 176, i64* %arrayidx208, align 8 + %arrayidx209 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 4 + store i64 1, i64* %arrayidx209, align 16 + %arraydecay210 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %add.ptr211 = getelementptr inbounds i8, i8* %arraydecay210, i64 4 + %99 = ptrtoint i8* %add.ptr211 to i64 + %arrayidx212 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 %99, i64* %arrayidx212, align 8 + %100 = load i8*, i8** %s, align 8 + %incdec.ptr213 = getelementptr inbounds i8, i8* %100, i32 1 + store i8* %incdec.ptr213, i8** %s, align 8 + %101 = load i8, i8* %100, align 1 + %arrayidx214 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 4 + store i8 %101, i8* %arrayidx214, align 1 + %arrayidx215 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 5 + store i8 0, i8* %arrayidx215, align 1 + %arraydecay216 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + %add.ptr217 = getelementptr inbounds i64, i64* %arraydecay216, i64 6 + store i64* %add.ptr217, i64** %ppc, align 8 + %102 = load i8*, i8** %e, align 8 + %103 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %102 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %103 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %conv219 = trunc i64 %sub.ptr.sub to i32 + store i32 %conv219, i32* %i218, align 4 + %104 = load i32, i32* %o_exp, align 4 + %cmp220 = icmp sge i32 %104, 0 + br i1 %cmp220, label %if.then222, label %if.end253 + +if.then222: ; preds = %if.end207 + %105 = load i64*, i64** %ppc, align 8 + %arrayidx223 = getelementptr inbounds i64, i64* %105, i64 0 + store i64 112, i64* %arrayidx223, align 8 + %106 = load i8*, i8** %s, align 8 + %107 = ptrtoint i8* %106 to i64 + %108 = load i64*, i64** %ppc, align 8 + %arrayidx224 = getelementptr inbounds i64, i64* %108, i64 2 + store i64 %107, i64* %arrayidx224, align 8 + %109 = load i32, i32* %o_exp, align 4 + %110 = load i32, i32* %i218, align 4 + %cmp225 = icmp sge i32 %109, %110 + br i1 %cmp225, label %if.then227, label %if.else241 + +if.then227: ; preds = %if.then222 + %111 = load i32, i32* %i218, align 4 + %conv228 = sext i32 %111 to i64 + %112 = load i64*, i64** %ppc, align 8 + %arrayidx229 = getelementptr inbounds i64, i64* %112, i64 1 + store i64 %conv228, i64* %arrayidx229, align 8 + %113 = load i64*, i64** %ppc, align 8 + %add.ptr230 = getelementptr inbounds i64, i64* %113, i64 3 + store i64* %add.ptr230, i64** %ppc, align 8 + %114 = load i32, i32* %i218, align 4 + %115 = load i32, i32* %o_exp, align 4 + %sub231 = sub nsw i32 %115, %114 + store i32 %sub231, i32* %o_exp, align 4 + store i32 0, i32* %i218, align 4 + %116 = load i32, i32* %o_exp, align 4 + %cmp232 = icmp sgt i32 %116, 0 + br i1 %cmp232, label %if.then234, label %if.end252 + +if.then234: ; preds = %if.then227 + %117 = load i64*, i64** %ppc, align 8 + %arrayidx235 = getelementptr inbounds i64, i64* %117, i64 0 + store i64 176, i64* %arrayidx235, align 8 + %118 = load i32, i32* %o_exp, align 4 + %conv236 = sext i32 %118 to i64 + %119 = load i64*, i64** %ppc, align 8 + %arrayidx237 = getelementptr inbounds i64, i64* %119, i64 1 + store i64 %conv236, i64* %arrayidx237, align 8 + %120 = load i64*, i64** %ppc, align 8 + %arrayidx238 = getelementptr inbounds i64, i64* %120, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx238, align 8 + %121 = load i64*, i64** %ppc, align 8 + %add.ptr239 = getelementptr inbounds i64, i64* %121, i64 3 + store i64* %add.ptr239, i64** %ppc, align 8 + br label %if.end252 + +if.else241: ; preds = %if.then222 + %122 = load i32, i32* %o_exp, align 4 + %cmp242 = icmp sgt i32 %122, 0 + br i1 %cmp242, label %if.then244, label %if.end252 + +if.then244: ; preds = %if.else241 + %123 = load i32, i32* %o_exp, align 4 + %conv245 = sext i32 %123 to i64 + %124 = load i64*, i64** %ppc, align 8 + %arrayidx246 = getelementptr inbounds i64, i64* %124, i64 1 + store i64 %conv245, i64* %arrayidx246, align 8 + %125 = load i64*, i64** %ppc, align 8 + %add.ptr247 = getelementptr inbounds i64, i64* %125, i64 3 + store i64* %add.ptr247, i64** %ppc, align 8 + %126 = load i32, i32* %o_exp, align 4 + %127 = load i8*, i8** %s, align 8 + %idx.ext248 = sext i32 %126 to i64 + %add.ptr249 = getelementptr inbounds i8, i8* %127, i64 %idx.ext248 + store i8* %add.ptr249, i8** %s, align 8 + %128 = load i32, i32* %o_exp, align 4 + %129 = load i32, i32* %i218, align 4 + %sub250 = sub nsw i32 %129, %128 + store i32 %sub250, i32* %i218, align 4 + br label %if.end252 + +if.end252: ; preds = %if.else241, %if.then244, %if.then227, %if.then234 + store i32 -1, i32* %o_exp, align 4 + br label %if.end253 + +if.end253: ; preds = %if.end252, %if.end207 + %130 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %alt = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %130, i32 0, i32 3 + %bf.load254 = load i32, i32* %alt, align 4 + %bf.lshr255 = lshr i32 %bf.load254, 4 + %bf.clear256 = and i32 %bf.lshr255, 1 + %tobool257 = icmp ne i32 %bf.clear256, 0 + %131 = load i32, i32* %i218, align 4 + %tobool258 = icmp ne i32 %131, 0 + %or.cond2 = or i1 %tobool257, %tobool258 + br i1 %or.cond2, label %if.then266, label %lor.lhs.false259 + +lor.lhs.false259: ; preds = %if.end253 + %132 = load i8, i8* %o_mode, align 1 + %conv260 = sext i8 %132 to i32 + %cmp261 = icmp ne i32 %conv260, 103 + %133 = load i32, i32* %preci, align 4 + %cmp264 = icmp sgt i32 %133, 0 + %or.cond3 = and i1 %cmp261, %cmp264 + br i1 %or.cond3, label %if.then266, label %if.end281 + +if.then266: ; preds = %lor.lhs.false259, %if.end253 + %134 = load i64*, i64** %ppc, align 8 + %arrayidx267 = getelementptr inbounds i64, i64* %134, i64 0 + store i64 112, i64* %arrayidx267, align 8 + %135 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %wide = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %135, i32 0, i32 3 + %bf.load268 = load i32, i32* %wide, align 4 + %bf.lshr269 = lshr i32 %bf.load268, 7 + %bf.clear270 = and i32 %bf.lshr269, 1 + %tobool271 = icmp ne i32 %bf.clear270, 0 + br i1 %tobool271, label %if.then272, label %if.else275 + +if.then272: ; preds = %if.then266 + %136 = load i64*, i64** %ppc, align 8 + %arrayidx273 = getelementptr inbounds i64, i64* %136, i64 1 + store i64 1, i64* %arrayidx273, align 8 + %137 = load i64*, i64** %ppc, align 8 + %arrayidx274 = getelementptr inbounds i64, i64* %137, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 16) to i64), i64* %arrayidx274, align 8 + br label %if.end279 + +if.else275: ; preds = %if.then266 + %138 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %decimal_point_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %138, i32 0, i32 26 + %139 = load i32, i32* %decimal_point_len, align 8 + %conv276 = sext i32 %139 to i64 + %140 = load i64*, i64** %ppc, align 8 + %arrayidx277 = getelementptr inbounds i64, i64* %140, i64 1 + store i64 %conv276, i64* %arrayidx277, align 8 + %141 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %decimal_point = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %141, i32 0, i32 39 + %142 = load i8*, i8** %decimal_point, align 8 + %143 = ptrtoint i8* %142 to i64 + %144 = load i64*, i64** %ppc, align 8 + %arrayidx278 = getelementptr inbounds i64, i64* %144, i64 2 + store i64 %143, i64* %arrayidx278, align 8 + br label %if.end279 + +if.end279: ; preds = %if.else275, %if.then272 + %145 = load i64*, i64** %ppc, align 8 + %add.ptr280 = getelementptr inbounds i64, i64* %145, i64 3 + store i64* %add.ptr280, i64** %ppc, align 8 + br label %if.end281 + +if.end281: ; preds = %if.end279, %lor.lhs.false259 + %146 = load i32, i32* %o_exp, align 4 + %inc282 = add nsw i32 %146, 1 + store i32 %inc282, i32* %o_exp, align 4 + %cmp283 = icmp slt i32 %inc282, 0 + br i1 %cmp283, label %if.then285, label %if.end292 + +if.then285: ; preds = %if.end281 + %147 = load i64*, i64** %ppc, align 8 + %arrayidx286 = getelementptr inbounds i64, i64* %147, i64 0 + store i64 176, i64* %arrayidx286, align 8 + %148 = load i32, i32* %o_exp, align 4 + %sub287 = sub nsw i32 0, %148 + %conv288 = sext i32 %sub287 to i64 + %149 = load i64*, i64** %ppc, align 8 + %arrayidx289 = getelementptr inbounds i64, i64* %149, i64 1 + store i64 %conv288, i64* %arrayidx289, align 8 + %150 = load i64*, i64** %ppc, align 8 + %arrayidx290 = getelementptr inbounds i64, i64* %150, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx290, align 8 + %151 = load i64*, i64** %ppc, align 8 + %add.ptr291 = getelementptr inbounds i64, i64* %151, i64 3 + store i64* %add.ptr291, i64** %ppc, align 8 + br label %if.end292 + +if.end292: ; preds = %if.then285, %if.end281 + %152 = load i32, i32* %i218, align 4 + %tobool293 = icmp ne i32 %152, 0 + br i1 %tobool293, label %if.then294, label %if.end300 + +if.then294: ; preds = %if.end292 + %153 = load i64*, i64** %ppc, align 8 + %arrayidx295 = getelementptr inbounds i64, i64* %153, i64 0 + store i64 112, i64* %arrayidx295, align 8 + %154 = load i32, i32* %i218, align 4 + %conv296 = sext i32 %154 to i64 + %155 = load i64*, i64** %ppc, align 8 + %arrayidx297 = getelementptr inbounds i64, i64* %155, i64 1 + store i64 %conv296, i64* %arrayidx297, align 8 + %156 = load i8*, i8** %s, align 8 + %157 = ptrtoint i8* %156 to i64 + %158 = load i64*, i64** %ppc, align 8 + %arrayidx298 = getelementptr inbounds i64, i64* %158, i64 2 + store i64 %157, i64* %arrayidx298, align 8 + %159 = load i64*, i64** %ppc, align 8 + %add.ptr299 = getelementptr inbounds i64, i64* %159, i64 3 + store i64* %add.ptr299, i64** %ppc, align 8 + br label %if.end300 + +if.end300: ; preds = %if.then294, %if.end292 + %160 = load i8, i8* %o_mode, align 1 + %conv301 = sext i8 %160 to i32 + %cmp302 = icmp ne i32 %conv301, 103 + br i1 %cmp302, label %if.then310, label %lor.lhs.false304 + +lor.lhs.false304: ; preds = %if.end300 + %161 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %alt305 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %161, i32 0, i32 3 + %bf.load306 = load i32, i32* %alt305, align 4 + %bf.lshr307 = lshr i32 %bf.load306, 4 + %bf.clear308 = and i32 %bf.lshr307, 1 + %tobool309 = icmp ne i32 %bf.clear308, 0 + br i1 %tobool309, label %if.then310, label %if.end322 + +if.then310: ; preds = %lor.lhs.false304, %if.end300 + %162 = load i32, i32* %o_exp, align 4 + %163 = load i32, i32* %i218, align 4 + %sub311 = sub nsw i32 %163, %162 + store i32 %sub311, i32* %i218, align 4 + %164 = load i32, i32* %i218, align 4 + %165 = load i32, i32* %preci, align 4 + %cmp312 = icmp slt i32 %164, %165 + br i1 %cmp312, label %if.then314, label %if.end322 + +if.then314: ; preds = %if.then310 + %166 = load i32, i32* %preci, align 4 + %167 = load i32, i32* %i218, align 4 + %sub315 = sub nsw i32 %166, %167 + store i32 %sub315, i32* %i218, align 4 + %168 = load i64*, i64** %ppc, align 8 + %arrayidx316 = getelementptr inbounds i64, i64* %168, i64 0 + store i64 176, i64* %arrayidx316, align 8 + %169 = load i32, i32* %i218, align 4 + %conv317 = sext i32 %169 to i64 + %170 = load i64*, i64** %ppc, align 8 + %arrayidx318 = getelementptr inbounds i64, i64* %170, i64 1 + store i64 %conv317, i64* %arrayidx318, align 8 + %171 = load i64*, i64** %ppc, align 8 + %arrayidx319 = getelementptr inbounds i64, i64* %171, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx319, align 8 + %172 = load i64*, i64** %ppc, align 8 + %add.ptr320 = getelementptr inbounds i64, i64* %172, i64 3 + store i64* %add.ptr320, i64** %ppc, align 8 + br label %if.end322 + +if.end322: ; preds = %if.then310, %if.then314, %lor.lhs.false304 + %173 = load i8, i8* %mode, align 1 + %conv323 = sext i8 %173 to i32 + %cmp324 = icmp ne i32 %conv323, 102 + br i1 %cmp324, label %if.then326, label %EXIT_SPECIAL + +if.then326: ; preds = %if.end322 + %arraydecay327 = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + %add.ptr328 = getelementptr inbounds i8, i8* %arraydecay327, i64 16 + store i8* %add.ptr328, i8** %p, align 8 + %arraydecay330 = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + %174 = load i8, i8* %arraydecay330, align 16 + store i8 %174, i8* %exp_char, align 1 + store i8 43, i8* %exp_sign, align 1 + %175 = load i32, i32* %exp, align 4 + %cmp331 = icmp slt i32 %175, 0 + br i1 %cmp331, label %if.then333, label %if.end335 + +if.then333: ; preds = %if.then326 + store i8 45, i8* %exp_sign, align 1 + %176 = load i32, i32* %exp, align 4 + %sub334 = sub nsw i32 0, %176 + store i32 %sub334, i32* %exp, align 4 + br label %if.end335 + +if.end335: ; preds = %if.then333, %if.then326 + %177 = load i8*, i8** %p, align 8 + %incdec.ptr336 = getelementptr inbounds i8, i8* %177, i32 -1 + store i8* %incdec.ptr336, i8** %p, align 8 + store i8 0, i8* %incdec.ptr336, align 1 + store i32 2, i32* %j329, align 4 + br label %do.body337 + +do.body337: ; preds = %do.body337, %if.end335 + %178 = load i32, i32* %exp, align 4 + %rem338 = srem i32 %178, 10 + %add339 = add nsw i32 48, %rem338 + %conv340 = trunc i32 %add339 to i8 + %179 = load i8*, i8** %p, align 8 + %incdec.ptr341 = getelementptr inbounds i8, i8* %179, i32 -1 + store i8* %incdec.ptr341, i8** %p, align 8 + store i8 %conv340, i8* %incdec.ptr341, align 1 + %180 = load i32, i32* %exp, align 4 + %div342 = sdiv i32 %180, 10 + store i32 %div342, i32* %exp, align 4 + %181 = load i32, i32* %j329, align 4 + %inc344 = add nsw i32 %181, 1 + store i32 %inc344, i32* %j329, align 4 + %cmp345 = icmp slt i32 %inc344, 4 + %182 = load i32, i32* %exp, align 4 + %tobool348 = icmp ne i32 %182, 0 + %183 = select i1 %cmp345, i1 true, i1 %tobool348 + br i1 %183, label %do.body337, label %do.end350 + +do.end350: ; preds = %do.body337 + %184 = load i8, i8* %exp_sign, align 1 + %185 = load i8*, i8** %p, align 8 + %incdec.ptr351 = getelementptr inbounds i8, i8* %185, i32 -1 + store i8* %incdec.ptr351, i8** %p, align 8 + store i8 %184, i8* %incdec.ptr351, align 1 + %186 = load i8, i8* %exp_char, align 1 + %187 = load i8*, i8** %p, align 8 + %incdec.ptr352 = getelementptr inbounds i8, i8* %187, i32 -1 + store i8* %incdec.ptr352, i8** %p, align 8 + store i8 %186, i8* %incdec.ptr352, align 1 + %188 = load i64*, i64** %ppc, align 8 + %arrayidx353 = getelementptr inbounds i64, i64* %188, i64 0 + store i64 112, i64* %arrayidx353, align 8 + %189 = load i32, i32* %j329, align 4 + %conv354 = sext i32 %189 to i64 + %190 = load i64*, i64** %ppc, align 8 + %arrayidx355 = getelementptr inbounds i64, i64* %190, i64 1 + store i64 %conv354, i64* %arrayidx355, align 8 + %191 = load i8*, i8** %p, align 8 + %192 = ptrtoint i8* %191 to i64 + %193 = load i64*, i64** %ppc, align 8 + %arrayidx356 = getelementptr inbounds i64, i64* %193, i64 2 + store i64 %192, i64* %arrayidx356, align 8 + %194 = load i64*, i64** %ppc, align 8 + %add.ptr357 = getelementptr inbounds i64, i64* %194, i64 3 + store i64* %add.ptr357, i64** %ppc, align 8 + br label %EXIT_SPECIAL + +EXIT_SPECIAL: ; preds = %if.end322, %do.end350, %if.end54 + %195 = load i64*, i64** %ppc, align 8 + store i64* %195, i64** %ppc_last, align 8 + %arraydecay360 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + %add.ptr361 = getelementptr inbounds i64, i64* %arraydecay360, i64 4 + store i64* %add.ptr361, i64** %ppc, align 8 + br label %do.body362 + +do.body362: ; preds = %do.body362, %EXIT_SPECIAL + %196 = load i64*, i64** %ppc, align 8 + %197 = load i64, i64* %196, align 8 + %198 = load i32, i32* %width, align 4 + %conv363 = sext i32 %198 to i64 + %sub364 = sub nsw i64 %conv363, %197 + %conv365 = trunc i64 %sub364 to i32 + store i32 %conv365, i32* %width, align 4 + %199 = load i64*, i64** %ppc, align 8 + %add.ptr366 = getelementptr inbounds i64, i64* %199, i64 3 + store i64* %add.ptr366, i64** %ppc, align 8 + %200 = load i64*, i64** %ppc, align 8 + %201 = load i64*, i64** %ppc_last, align 8 + %cmp368 = icmp ult i64* %200, %201 + br i1 %cmp368, label %do.body362, label %do.end370 + +do.end370: ; preds = %do.body362 + %arraydecay371 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + store i64* %arraydecay371, i64** %ppc, align 8 + %202 = load i64*, i64** %ppc, align 8 + %arrayidx372 = getelementptr inbounds i64, i64* %202, i64 0 + store i64 160, i64* %arrayidx372, align 8 + %arraydecay373 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %203 = load i8, i8* %arraydecay373, align 1 + %conv374 = sext i8 %203 to i32 + %cmp375 = icmp ne i32 %conv374, 0 + %conv376 = zext i1 %cmp375 to i32 + store i32 %conv376, i32* %i359, align 4 + %conv377 = sext i32 %conv376 to i64 + %204 = load i64*, i64** %ppc, align 8 + %arrayidx378 = getelementptr inbounds i64, i64* %204, i64 1 + store i64 %conv377, i64* %arrayidx378, align 8 + %arraydecay379 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %205 = ptrtoint i8* %arraydecay379 to i64 + %206 = load i64*, i64** %ppc, align 8 + %arrayidx380 = getelementptr inbounds i64, i64* %206, i64 2 + store i64 %205, i64* %arrayidx380, align 8 + %207 = load i32, i32* %i359, align 4 + %208 = load i32, i32* %width, align 4 + %sub381 = sub nsw i32 %208, %207 + store i32 %sub381, i32* %width, align 4 + %cmp382 = icmp sgt i32 %sub381, 0 + br i1 %cmp382, label %if.then384, label %if.end409 + +if.then384: ; preds = %do.end370 + %209 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %left = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %209, i32 0, i32 3 + %bf.load385 = load i32, i32* %left, align 4 + %bf.lshr386 = lshr i32 %bf.load385, 3 + %bf.clear387 = and i32 %bf.lshr386, 1 + %tobool388 = icmp ne i32 %bf.clear387, 0 + br i1 %tobool388, label %if.then389, label %if.else395 + +if.then389: ; preds = %if.then384 + %210 = load i64*, i64** %ppc_last, align 8 + %arrayidx390 = getelementptr inbounds i64, i64* %210, i64 0 + store i64 160, i64* %arrayidx390, align 8 + %211 = load i32, i32* %width, align 4 + %conv391 = sext i32 %211 to i64 + %212 = load i64*, i64** %ppc_last, align 8 + %arrayidx392 = getelementptr inbounds i64, i64* %212, i64 1 + store i64 %conv391, i64* %arrayidx392, align 8 + %213 = load i64*, i64** %ppc_last, align 8 + %arrayidx393 = getelementptr inbounds i64, i64* %213, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx393, align 8 + %214 = load i64*, i64** %ppc_last, align 8 + %add.ptr394 = getelementptr inbounds i64, i64* %214, i64 3 + store i64* %add.ptr394, i64** %ppc_last, align 8 + br label %if.end409 + +if.else395: ; preds = %if.then384 + %215 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %pad396 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %215, i32 0, i32 4 + %216 = load i32, i32* %pad396, align 4 + %cmp397 = icmp eq i32 %216, 48 + %217 = load i32, i32* %width, align 4 + %conv400 = sext i32 %217 to i64 + %218 = load i64*, i64** %ppc, align 8 + br i1 %cmp397, label %if.then399, label %if.else403 + +if.then399: ; preds = %if.else395 + %arrayidx401 = getelementptr inbounds i64, i64* %218, i64 4 + %219 = load i64, i64* %arrayidx401, align 8 + %add402 = add nsw i64 %219, %conv400 + store i64 %add402, i64* %arrayidx401, align 8 + br label %if.end409 + +if.else403: ; preds = %if.else395 + %arrayidx405 = getelementptr inbounds i64, i64* %218, i64 1 + %220 = load i64, i64* %arrayidx405, align 8 + %add406 = add nsw i64 %220, %conv400 + store i64 %add406, i64* %arrayidx405, align 8 + br label %if.end409 + +if.end409: ; preds = %if.then389, %if.else403, %if.then399, %do.end370 + store i32 0, i32* %cnt, align 4 + br label %do.body410 + +do.body410: ; preds = %if.end418, %if.end409 + %221 = load i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)*, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)** %fp_outfunc.addr, align 8 + %222 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + %223 = load i64*, i64** %ppc, align 8 + %224 = load i64, i64* %223, align 8 + %225 = load i64*, i64** %ppc, align 8 + %arrayidx411 = getelementptr inbounds i64, i64* %225, i64 1 + %226 = load i64, i64* %arrayidx411, align 8 + %227 = load i64*, i64** %ppc, align 8 + %arrayidx412 = getelementptr inbounds i64, i64* %227, i64 2 + %228 = load i64, i64* %arrayidx412, align 8 + %call413 = call i64 %221(%struct.__STDIO_FILE_STRUCT.568* %222, i64 %224, i64 %226, i64 %228) #18 + %229 = load i64*, i64** %ppc, align 8 + %arrayidx414 = getelementptr inbounds i64, i64* %229, i64 1 + %230 = load i64, i64* %arrayidx414, align 8 + %cmp415 = icmp ne i64 %call413, %230 + br i1 %cmp415, label %if.then417, label %if.end418 + +if.then417: ; preds = %do.body410 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end418: ; preds = %do.body410 + %231 = load i64*, i64** %ppc, align 8 + %arrayidx419 = getelementptr inbounds i64, i64* %231, i64 1 + %232 = load i64, i64* %arrayidx419, align 8 + %233 = load i32, i32* %cnt, align 4 + %conv420 = sext i32 %233 to i64 + %add421 = add nsw i64 %conv420, %232 + %conv422 = trunc i64 %add421 to i32 + store i32 %conv422, i32* %cnt, align 4 + %234 = load i64*, i64** %ppc, align 8 + %add.ptr423 = getelementptr inbounds i64, i64* %234, i64 3 + store i64* %add.ptr423, i64** %ppc, align 8 + %235 = load i64*, i64** %ppc, align 8 + %236 = load i64*, i64** %ppc_last, align 8 + %cmp425 = icmp ult i64* %235, %236 + br i1 %cmp425, label %do.body410, label %do.end427 + +do.end427: ; preds = %if.end418 + %237 = load i32, i32* %cnt, align 4 + %conv428 = sext i32 %237 to i64 + store i64 %conv428, i64* %retval, align 8 + br label %return + +return: ; preds = %do.end427, %if.then417 + %238 = load i64, i64* %retval, align 8 + ret i64 %238 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_fwrite(i8* noalias %buffer, i64 %bytes, %struct.__STDIO_FILE_STRUCT.621* noalias %stream) #0 { +entry: + %retval = alloca i64, align 8 + %buffer.addr = alloca i8*, align 8 + %bytes.addr = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.621*, align 8 + %pending = alloca i64, align 8 + %p = alloca i8*, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %bytes, i64* %bytes.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.621* %stream, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 512 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end63, label %if.then + +if.then: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %2, i32 0, i32 2 + %3 = load i32, i32* %__filedes, align 4 + %cmp = icmp eq i32 %3, -2 + br i1 %cmp, label %if.then2, label %if.end8 + +if.then2: ; preds = %if.then + %4 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %4, i32 0, i32 4 + %5 = load i8*, i8** %__bufend, align 8 + %6 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %6, i32 0, i32 5 + %7 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %pending, align 8 + %8 = load i64, i64* %pending, align 8 + %9 = load i64, i64* %bytes.addr, align 8 + %cmp3 = icmp ugt i64 %8, %9 + br i1 %cmp3, label %if.then5, label %if.end + +if.then5: ; preds = %if.then2 + %10 = load i64, i64* %bytes.addr, align 8 + store i64 %10, i64* %pending, align 8 + br label %if.end + +if.end: ; preds = %if.then5, %if.then2 + %11 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufpos6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %11, i32 0, i32 5 + %12 = load i8*, i8** %__bufpos6, align 8 + %13 = load i8*, i8** %buffer.addr, align 8 + %14 = load i64, i64* %pending, align 8 + %call = call i8* @memcpy(i8* %12, i8* %13, i64 %14) #19 + %15 = load i64, i64* %pending, align 8 + %16 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufpos7 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %16, i32 0, i32 5 + %17 = load i8*, i8** %__bufpos7, align 8 + %add.ptr = getelementptr inbounds i8, i8* %17, i64 %15 + store i8* %add.ptr, i8** %__bufpos7, align 8 + %18 = load i64, i64* %bytes.addr, align 8 + store i64 %18, i64* %retval, align 8 + br label %return + +if.end8: ; preds = %if.then + %19 = load i64, i64* %bytes.addr, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufend9 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %20, i32 0, i32 4 + %21 = load i8*, i8** %__bufend9, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufpos10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %22, i32 0, i32 5 + %23 = load i8*, i8** %__bufpos10, align 8 + %sub.ptr.lhs.cast11 = ptrtoint i8* %21 to i64 + %sub.ptr.rhs.cast12 = ptrtoint i8* %23 to i64 + %sub.ptr.sub13 = sub i64 %sub.ptr.lhs.cast11, %sub.ptr.rhs.cast12 + %cmp14 = icmp ule i64 %19, %sub.ptr.sub13 + %24 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufpos17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %24, i32 0, i32 5 + %25 = load i8*, i8** %__bufpos17, align 8 + br i1 %cmp14, label %if.then16, label %if.end51 + +if.then16: ; preds = %if.end8 + %26 = load i8*, i8** %buffer.addr, align 8 + %27 = load i64, i64* %bytes.addr, align 8 + %call18 = call i8* @memcpy(i8* %25, i8* %26, i64 %27) #19 + %28 = load i64, i64* %bytes.addr, align 8 + %29 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufpos19 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %29, i32 0, i32 5 + %30 = load i8*, i8** %__bufpos19, align 8 + %add.ptr20 = getelementptr inbounds i8, i8* %30, i64 %28 + store i8* %add.ptr20, i8** %__bufpos19, align 8 + %31 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__modeflags21 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %31, i32 0, i32 0 + %32 = load i16, i16* %__modeflags21, align 8 + %conv22 = zext i16 %32 to i32 + %and23 = and i32 %conv22, 256 + %tobool24 = icmp ne i32 %and23, 0 + br i1 %tobool24, label %land.lhs.true, label %if.end50 + +land.lhs.true: ; preds = %if.then16 + %33 = load i8*, i8** %buffer.addr, align 8 + %34 = load i64, i64* %bytes.addr, align 8 + %call25 = call i8* @memrchr(i8* %33, i32 10, i64 %34) #20 + %tobool26 = icmp ne i8* %call25, null + br i1 %tobool26, label %if.then27, label %if.end50 + +if.then27: ; preds = %land.lhs.true + %35 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %call28 = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.568*)* @__stdio_wcommit to i64 (%struct.__STDIO_FILE_STRUCT.621*)*)(%struct.__STDIO_FILE_STRUCT.621* %35) #18 + store i64 %call28, i64* %pending, align 8 + %cmp29 = icmp ugt i64 %call28, 0 + br i1 %cmp29, label %if.then31, label %if.end50 + +if.then31: ; preds = %if.then27 + %36 = load i64, i64* %pending, align 8 + %37 = load i64, i64* %bytes.addr, align 8 + %cmp32 = icmp ugt i64 %36, %37 + br i1 %cmp32, label %if.then34, label %if.end35 + +if.then34: ; preds = %if.then31 + %38 = load i64, i64* %bytes.addr, align 8 + store i64 %38, i64* %pending, align 8 + br label %if.end35 + +if.end35: ; preds = %if.then34, %if.then31 + %39 = load i64, i64* %bytes.addr, align 8 + %40 = load i64, i64* %pending, align 8 + %sub = sub i64 %39, %40 + %41 = load i8*, i8** %buffer.addr, align 8 + %add.ptr36 = getelementptr inbounds i8, i8* %41, i64 %sub + store i8* %add.ptr36, i8** %buffer.addr, align 8 + %42 = load i8*, i8** %buffer.addr, align 8 + %43 = load i64, i64* %pending, align 8 + %call37 = call i8* @memchr(i8* %42, i32 10, i64 %43) #20 + store i8* %call37, i8** %p, align 8 + %cmp38 = icmp ne i8* %call37, null + br i1 %cmp38, label %if.then40, label %if.end50 + +if.then40: ; preds = %if.end35 + %44 = load i8*, i8** %buffer.addr, align 8 + %45 = load i64, i64* %pending, align 8 + %add.ptr41 = getelementptr inbounds i8, i8* %44, i64 %45 + %46 = load i8*, i8** %p, align 8 + %sub.ptr.lhs.cast42 = ptrtoint i8* %add.ptr41 to i64 + %sub.ptr.rhs.cast43 = ptrtoint i8* %46 to i64 + %sub.ptr.sub44 = sub i64 %sub.ptr.lhs.cast42, %sub.ptr.rhs.cast43 + store i64 %sub.ptr.sub44, i64* %pending, align 8 + %47 = load i64, i64* %pending, align 8 + %48 = load i64, i64* %bytes.addr, align 8 + %sub45 = sub i64 %48, %47 + store i64 %sub45, i64* %bytes.addr, align 8 + %49 = load i64, i64* %pending, align 8 + %50 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufpos46 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %50, i32 0, i32 5 + %51 = load i8*, i8** %__bufpos46, align 8 + %idx.neg = sub i64 0, %49 + %add.ptr47 = getelementptr inbounds i8, i8* %51, i64 %idx.neg + store i8* %add.ptr47, i8** %__bufpos46, align 8 + br label %if.end50 + +if.end50: ; preds = %if.then27, %if.then40, %if.end35, %land.lhs.true, %if.then16 + %52 = load i64, i64* %bytes.addr, align 8 + store i64 %52, i64* %retval, align 8 + br label %return + +if.end51: ; preds = %if.end8 + %53 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %53, i32 0, i32 3 + %54 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast53 = ptrtoint i8* %25 to i64 + %sub.ptr.rhs.cast54 = ptrtoint i8* %54 to i64 + %sub.ptr.sub55 = sub i64 %sub.ptr.lhs.cast53, %sub.ptr.rhs.cast54 + %tobool56 = icmp ne i64 %sub.ptr.sub55, 0 + br i1 %tobool56, label %if.then57, label %if.end63 + +if.then57: ; preds = %if.end51 + %55 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %call58 = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.568*)* @__stdio_wcommit to i64 (%struct.__STDIO_FILE_STRUCT.621*)*)(%struct.__STDIO_FILE_STRUCT.621* %55) #18 + %tobool59 = icmp ne i64 %call58, 0 + br i1 %tobool59, label %if.then60, label %if.end63 + +if.then60: ; preds = %if.then57 + store i64 0, i64* %retval, align 8 + br label %return + +if.end63: ; preds = %if.end51, %if.then57, %entry + %56 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %57 = load i8*, i8** %buffer.addr, align 8 + %58 = load i64, i64* %bytes.addr, align 8 + %call64 = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.568*, i8*, i64)* @__stdio_WRITE to i64 (%struct.__STDIO_FILE_STRUCT.621*, i8*, i64)*)(%struct.__STDIO_FILE_STRUCT.621* %56, i8* %57, i64 %58) #18 + store i64 %call64, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end63, %if.then60, %if.end50, %if.end + %59 = load i64, i64* %retval, align 8 + ret i64 %59 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_load_inttype(i32 %desttype, i8* %src, i32 %uflag) #0 { +entry: + %retval = alloca i64, align 8 + %desttype.addr = alloca i32, align 4 + %src.addr = alloca i8*, align 8 + %uflag.addr = alloca i32, align 4 + %x = alloca i32, align 4 + %x24 = alloca i32, align 4 + store i32 %desttype, i32* %desttype.addr, align 4 + store i8* %src, i8** %src.addr, align 8 + store i32 %uflag, i32* %uflag.addr, align 4 + %0 = load i32, i32* %uflag.addr, align 4 + %cmp = icmp sge i32 %0, 0 + %1 = load i32, i32* %desttype.addr, align 4 + %and = and i32 %1, 3072 + %tobool = icmp ne i32 %and, 0 + %2 = load i8*, i8** %src.addr, align 8 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + br i1 %tobool, label %if.then1, label %if.end4 + +if.then1: ; preds = %if.then + %3 = bitcast i8* %2 to i64* + %4 = load i64, i64* %3, align 8 + store i64 %4, i64* %retval, align 8 + br label %return + +if.end4: ; preds = %if.then + %5 = bitcast i8* %2 to i32* + %6 = load i32, i32* %5, align 4 + store i32 %6, i32* %x, align 4 + %7 = load i32, i32* %desttype.addr, align 4 + %cmp5 = icmp eq i32 %7, 256 + br i1 %cmp5, label %if.then6, label %if.end8 + +if.then6: ; preds = %if.end4 + %8 = load i32, i32* %x, align 4 + %conv = trunc i32 %8 to i8 + %conv7 = zext i8 %conv to i32 + store i32 %conv7, i32* %x, align 4 + br label %if.end8 + +if.end8: ; preds = %if.then6, %if.end4 + %9 = load i32, i32* %desttype.addr, align 4 + %cmp9 = icmp eq i32 %9, 512 + br i1 %cmp9, label %if.then11, label %if.end14 + +if.then11: ; preds = %if.end8 + %10 = load i32, i32* %x, align 4 + %conv12 = trunc i32 %10 to i16 + %conv13 = zext i16 %conv12 to i32 + store i32 %conv13, i32* %x, align 4 + br label %if.end14 + +if.end14: ; preds = %if.then11, %if.end8 + %11 = load i32, i32* %x, align 4 + %conv15 = zext i32 %11 to i64 + store i64 %conv15, i64* %retval, align 8 + br label %return + +if.else: ; preds = %entry + br i1 %tobool, label %if.then18, label %if.end23 + +if.then18: ; preds = %if.else + %12 = bitcast i8* %2 to i64* + %13 = load i64, i64* %12, align 8 + store i64 %13, i64* %retval, align 8 + br label %return + +if.end23: ; preds = %if.else + %14 = bitcast i8* %2 to i32* + %15 = load i32, i32* %14, align 4 + store i32 %15, i32* %x24, align 4 + %16 = load i32, i32* %desttype.addr, align 4 + %cmp25 = icmp eq i32 %16, 256 + br i1 %cmp25, label %if.then27, label %if.end30 + +if.then27: ; preds = %if.end23 + %17 = load i32, i32* %x24, align 4 + %conv28 = trunc i32 %17 to i8 + %conv29 = sext i8 %conv28 to i32 + store i32 %conv29, i32* %x24, align 4 + br label %if.end30 + +if.end30: ; preds = %if.then27, %if.end23 + %18 = load i32, i32* %desttype.addr, align 4 + %cmp31 = icmp eq i32 %18, 512 + br i1 %cmp31, label %if.then33, label %if.end36 + +if.then33: ; preds = %if.end30 + %19 = load i32, i32* %x24, align 4 + %conv34 = trunc i32 %19 to i16 + %conv35 = sext i16 %conv34 to i32 + store i32 %conv35, i32* %x24, align 4 + br label %if.end36 + +if.end36: ; preds = %if.then33, %if.end30 + %20 = load i32, i32* %x24, align 4 + %conv37 = sext i32 %20 to i64 + store i64 %conv37, i64* %retval, align 8 + br label %return + +return: ; preds = %if.then18, %if.then1, %if.end36, %if.end14 + %21 = load i64, i64* %retval, align 8 + ret i64 %21 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_ppfs_init(%struct.ppfs_t.722* %ppfs, i8* %fmt0) #0 { +entry: + %retval = alloca i32, align 4 + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %fmt0.addr = alloca i8*, align 8 + %r = alloca i32, align 4 + %mbstate = alloca %struct.__mbstate_t.512, align 4 + %p = alloca i8*, align 8 + %p8 = alloca i32*, align 8 + %fmt = alloca i8*, align 8 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store i8* %fmt0, i8** %fmt0.addr, align 8 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %1 = bitcast %struct.ppfs_t.722* %0 to i8* + %call = call i8* @memset(i8* %1, i32 0, i64 176) #19 + %2 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %2, i32 0, i32 2 + %3 = load i32, i32* %maxposarg, align 4 + %dec = add nsw i32 %3, -1 + store i32 %dec, i32* %maxposarg, align 4 + %4 = load i8*, i8** %fmt0.addr, align 8 + %5 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %5, i32 0, i32 0 + store i8* %4, i8** %fmtpos, align 8 + %6 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %6, i32 0, i32 9 + %7 = load i8, i8* %encoding, align 8 + %conv = zext i8 %7 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %if.then, label %if.end7 + +if.then: ; preds = %entry + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %mbstate, i32 0, i32 0 + store i32 0, i32* %__mask, align 4 + %8 = load i8*, i8** %fmt0.addr, align 8 + store i8* %8, i8** %p, align 8 + %call2 = call i64 @mbsrtowcs(i32* null, i8** %p, i64 -1, %struct.__mbstate_t.512* %mbstate) #19 + %cmp3 = icmp eq i64 %call2, -1 + br i1 %cmp3, label %if.then5, label %if.end7 + +if.then5: ; preds = %if.then + %9 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos6 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %9, i32 0, i32 0 + store i8* getelementptr inbounds ([33 x i8], [33 x i8]* @_ppfs_init.invalid_mbs, i64 0, i64 0), i8** %fmtpos6, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end7: ; preds = %if.then, %entry + %10 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %10, i32 0, i32 6 + %arraydecay = getelementptr inbounds [9 x i32], [9 x i32]* %argtype, i64 0, i64 0 + store i32* %arraydecay, i32** %p8, align 8 + store i32 9, i32* %r, align 4 + br label %do.body + +do.body: ; preds = %do.body, %if.end7 + %11 = load i32*, i32** %p8, align 8 + %incdec.ptr = getelementptr inbounds i32, i32* %11, i32 1 + store i32* %incdec.ptr, i32** %p8, align 8 + store i32 8, i32* %11, align 4 + %12 = load i32, i32* %r, align 4 + %dec9 = add nsw i32 %12, -1 + store i32 %dec9, i32* %r, align 4 + %tobool = icmp ne i32 %dec9, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.body + %13 = load i8*, i8** %fmt0.addr, align 8 + store i8* %13, i8** %fmt, align 8 + br label %while.cond + +while.cond: ; preds = %if.end27, %do.end + %14 = load i8*, i8** %fmt, align 8 + %15 = load i8, i8* %14, align 1 + %tobool10 = icmp ne i8 %15, 0 + br i1 %tobool10, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %16 = load i8*, i8** %fmt, align 8 + %17 = load i8, i8* %16, align 1 + %conv11 = sext i8 %17 to i32 + %cmp12 = icmp eq i32 %conv11, 37 + br i1 %cmp12, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %while.body + %18 = load i8*, i8** %fmt, align 8 + %incdec.ptr14 = getelementptr inbounds i8, i8* %18, i32 1 + store i8* %incdec.ptr14, i8** %fmt, align 8 + %19 = load i8, i8* %incdec.ptr14, align 1 + %conv15 = sext i8 %19 to i32 + %cmp16 = icmp ne i32 %conv15, 37 + br i1 %cmp16, label %if.then18, label %if.else + +if.then18: ; preds = %land.lhs.true + %20 = load i8*, i8** %fmt, align 8 + %21 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos19 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %21, i32 0, i32 0 + store i8* %20, i8** %fmtpos19, align 8 + %22 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %call20 = call i32 @_ppfs_parsespec(%struct.ppfs_t.722* %22) #18 + store i32 %call20, i32* %r, align 4 + %cmp21 = icmp slt i32 %call20, 0 + br i1 %cmp21, label %if.then23, label %if.end24 + +if.then23: ; preds = %if.then18 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end24: ; preds = %if.then18 + %23 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos25 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %23, i32 0, i32 0 + %24 = load i8*, i8** %fmtpos25, align 8 + store i8* %24, i8** %fmt, align 8 + br label %if.end27 + +if.else: ; preds = %land.lhs.true, %while.body + %25 = load i8*, i8** %fmt, align 8 + %incdec.ptr26 = getelementptr inbounds i8, i8* %25, i32 1 + store i8* %incdec.ptr26, i8** %fmt, align 8 + br label %if.end27 + +if.end27: ; preds = %if.else, %if.end24 + br label %while.cond + +while.end: ; preds = %while.cond + %26 = load i8*, i8** %fmt0.addr, align 8 + %27 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos28 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %27, i32 0, i32 0 + store i8* %26, i8** %fmtpos28, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %while.end, %if.then23, %if.then5 + %28 = load i32, i32* %retval, align 4 + ret i32 %28 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_ppfs_parsespec(%struct.ppfs_t.722* %ppfs) #0 { +entry: + %retval = alloca i32, align 4 + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %fmt = alloca i8*, align 8 + %p = alloca i8*, align 8 + %preci = alloca i32, align 4 + %width = alloca i32, align 4 + %flags = alloca i32, align 4 + %dataargtype = alloca i32, align 4 + %i = alloca i32, align 4 + %dpoint = alloca i32, align 4 + %maxposarg = alloca i32, align 4 + %p_m_spec_chars = alloca i32, align 4 + %n = alloca i32, align 4 + %argtype = alloca [3 x i32], align 4 + %argnumber = alloca [3 x i32], align 4 + %buf = alloca [32 x i8], align 16 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store i32 -1, i32* %preci, align 4 + %arrayidx = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 0 + store i32 0, i32* %arrayidx, align 4 + %arrayidx1 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 1 + store i32 0, i32* %arrayidx1, align 4 + %arrayidx2 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 0 + store i32 8, i32* %arrayidx2, align 4 + %arrayidx3 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 1 + store i32 8, i32* %arrayidx3, align 4 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg4 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %0, i32 0, i32 2 + %1 = load i32, i32* %maxposarg4, align 4 + store i32 %1, i32* %maxposarg, align 4 + store i32 0, i32* %dpoint, align 4 + store i32 0, i32* %width, align 4 + %2 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %2, i32 0, i32 1 + %_flags = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 3 + %3 = load i32, i32* %_flags, align 4 + %and = and i32 %3, 128 + store i32 %and, i32* %flags, align 4 + %cmp = icmp eq i32 %and, 0 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %4 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %4, i32 0, i32 0 + %5 = load i8*, i8** %fmtpos, align 8 + store i8* %5, i8** %fmt, align 8 + br label %if.end20 + +if.else: ; preds = %entry + %arraydecay = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 1 + store i8* %add.ptr, i8** %fmt, align 8 + store i32 0, i32* %i, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %if.else + %6 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos5 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %6, i32 0, i32 0 + %7 = load i8*, i8** %fmtpos5, align 8 + %8 = bitcast i8* %7 to i32* + %9 = load i32, i32* %i, align 4 + %sub = sub nsw i32 %9, 1 + %idxprom = sext i32 %sub to i64 + %arrayidx6 = getelementptr inbounds i32, i32* %8, i64 %idxprom + %10 = load i32, i32* %arrayidx6, align 4 + %conv = trunc i32 %10 to i8 + %11 = load i32, i32* %i, align 4 + %idxprom7 = sext i32 %11 to i64 + %arrayidx8 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 %idxprom7 + store i8 %conv, i8* %arrayidx8, align 1 + %conv9 = sext i8 %conv to i32 + %12 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos10 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %12, i32 0, i32 0 + %13 = load i8*, i8** %fmtpos10, align 8 + %14 = bitcast i8* %13 to i32* + %15 = load i32, i32* %i, align 4 + %sub11 = sub nsw i32 %15, 1 + %idxprom12 = sext i32 %sub11 to i64 + %arrayidx13 = getelementptr inbounds i32, i32* %14, i64 %idxprom12 + %16 = load i32, i32* %arrayidx13, align 4 + %cmp14 = icmp ne i32 %conv9, %16 + br i1 %cmp14, label %if.then16, label %do.cond + +if.then16: ; preds = %do.body + store i32 -1, i32* %retval, align 4 + br label %return + +do.cond: ; preds = %do.body + %17 = load i32, i32* %i, align 4 + %inc = add nsw i32 %17, 1 + store i32 %inc, i32* %i, align 4 + %idxprom17 = sext i32 %17 to i64 + %arrayidx18 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 %idxprom17 + %18 = load i8, i8* %arrayidx18, align 1 + %tobool = icmp ne i8 %18, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %arrayidx19 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 31 + store i8 0, i8* %arrayidx19, align 1 + br label %if.end20 + +if.end20: ; preds = %do.end, %if.then + br label %width_precision + +width_precision: ; preds = %do.end89, %if.then129, %if.end20 + %19 = load i8*, i8** %fmt, align 8 + store i8* %19, i8** %p, align 8 + %20 = load i8*, i8** %fmt, align 8 + %21 = load i8, i8* %20, align 1 + %conv21 = sext i8 %21 to i32 + %cmp22 = icmp eq i32 %conv21, 42 + br i1 %cmp22, label %if.then24, label %if.end28 + +if.then24: ; preds = %width_precision + %22 = load i32, i32* %dpoint, align 4 + %sub25 = sub nsw i32 0, %22 + %idxprom26 = sext i32 %sub25 to i64 + %arrayidx27 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 %idxprom26 + store i32 0, i32* %arrayidx27, align 4 + %23 = load i8*, i8** %fmt, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %23, i32 1 + store i8* %incdec.ptr, i8** %fmt, align 8 + br label %if.end28 + +if.end28: ; preds = %if.then24, %width_precision + store i32 0, i32* %i, align 4 + br label %while.cond + +while.cond: ; preds = %if.end40, %if.end28 + %call = call i16** @__ctype_b_loc() #21 + %24 = load i16*, i16** %call, align 8 + %25 = load i8*, i8** %fmt, align 8 + %26 = load i8, i8* %25, align 1 + %conv29 = sext i8 %26 to i32 + %idxprom30 = sext i32 %conv29 to i64 + %arrayidx31 = getelementptr inbounds i16, i16* %24, i64 %idxprom30 + %27 = load i16, i16* %arrayidx31, align 2 + %conv32 = zext i16 %27 to i32 + %and33 = and i32 %conv32, 2048 + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %28 = load i32, i32* %i, align 4 + %cmp35 = icmp slt i32 %28, 4095 + br i1 %cmp35, label %if.then37, label %if.end40 + +if.then37: ; preds = %while.body + %29 = load i32, i32* %i, align 4 + %mul = mul nsw i32 %29, 10 + %30 = load i8*, i8** %fmt, align 8 + %31 = load i8, i8* %30, align 1 + %conv38 = sext i8 %31 to i32 + %sub39 = sub nsw i32 %conv38, 48 + %add = add nsw i32 %mul, %sub39 + store i32 %add, i32* %i, align 4 + br label %if.end40 + +if.end40: ; preds = %if.then37, %while.body + %32 = load i8*, i8** %fmt, align 8 + %incdec.ptr41 = getelementptr inbounds i8, i8* %32, i32 1 + store i8* %incdec.ptr41, i8** %fmt, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %33 = load i8*, i8** %p, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %33, i64 -1 + %34 = load i8, i8* %arrayidx42, align 1 + %conv43 = sext i8 %34 to i32 + %cmp44 = icmp eq i32 %conv43, 37 + br i1 %cmp44, label %if.then46, label %PREC_WIDTH + +if.then46: ; preds = %while.end + %35 = load i8*, i8** %fmt, align 8 + %36 = load i8, i8* %35, align 1 + %conv47 = sext i8 %36 to i32 + %cmp48 = icmp eq i32 %conv47, 36 + %37 = load i32, i32* %i, align 4 + %cmp50 = icmp sgt i32 %37, 0 + %or.cond = and i1 %cmp48, %cmp50 + br i1 %or.cond, label %if.then52, label %if.else63 + +if.then52: ; preds = %if.then46 + %38 = load i8*, i8** %fmt, align 8 + %incdec.ptr53 = getelementptr inbounds i8, i8* %38, i32 1 + store i8* %incdec.ptr53, i8** %fmt, align 8 + %39 = load i32, i32* %maxposarg, align 4 + %cmp54 = icmp eq i32 %39, 0 + br i1 %cmp54, label %if.then56, label %if.end57 + +if.then56: ; preds = %if.then52 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end57: ; preds = %if.then52 + %40 = load i32, i32* %i, align 4 + %arrayidx58 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 2 + store i32 %40, i32* %arrayidx58, align 4 + %41 = load i32, i32* %maxposarg, align 4 + %cmp59 = icmp sgt i32 %40, %41 + br i1 %cmp59, label %if.then61, label %if.end76 + +if.then61: ; preds = %if.end57 + %42 = load i32, i32* %i, align 4 + store i32 %42, i32* %maxposarg, align 4 + br label %if.end76 + +if.else63: ; preds = %if.then46 + %43 = load i32, i32* %maxposarg, align 4 + %cmp64 = icmp sgt i32 %43, 0 + br i1 %cmp64, label %if.then66, label %if.end67 + +if.then66: ; preds = %if.else63 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end67: ; preds = %if.else63 + store i32 0, i32* %maxposarg, align 4 + %44 = load i8*, i8** %fmt, align 8 + %45 = load i8*, i8** %p, align 8 + %cmp68 = icmp ugt i8* %44, %45 + br i1 %cmp68, label %land.lhs.true70, label %if.end75 + +land.lhs.true70: ; preds = %if.end67 + %46 = load i8*, i8** %p, align 8 + %47 = load i8, i8* %46, align 1 + %conv71 = sext i8 %47 to i32 + %cmp72 = icmp ne i32 %conv71, 48 + br i1 %cmp72, label %PREC_WIDTH, label %if.end75 + +if.end75: ; preds = %land.lhs.true70, %if.end67 + %48 = load i8*, i8** %p, align 8 + store i8* %48, i8** %fmt, align 8 + br label %if.end76 + +if.end76: ; preds = %if.end57, %if.then61, %if.end75 + br label %restart_flags + +restart_flags: ; preds = %if.then83, %if.end76 + store i32 1, i32* %i, align 4 + store i8* getelementptr inbounds ([8 x i8], [8 x i8]* @_ppfs_parsespec.spec_flags, i64 0, i64 0), i8** %p, align 8 + br label %do.body77 + +do.body77: ; preds = %if.end85, %restart_flags + %49 = load i8*, i8** %fmt, align 8 + %50 = load i8, i8* %49, align 1 + %conv78 = sext i8 %50 to i32 + %51 = load i8*, i8** %p, align 8 + %incdec.ptr79 = getelementptr inbounds i8, i8* %51, i32 1 + store i8* %incdec.ptr79, i8** %p, align 8 + %52 = load i8, i8* %51, align 1 + %conv80 = sext i8 %52 to i32 + %cmp81 = icmp eq i32 %conv78, %conv80 + br i1 %cmp81, label %if.then83, label %if.end85 + +if.then83: ; preds = %do.body77 + %53 = load i8*, i8** %fmt, align 8 + %incdec.ptr84 = getelementptr inbounds i8, i8* %53, i32 1 + store i8* %incdec.ptr84, i8** %fmt, align 8 + %54 = load i32, i32* %i, align 4 + %55 = load i32, i32* %flags, align 4 + %or = or i32 %55, %54 + store i32 %or, i32* %flags, align 4 + br label %restart_flags + +if.end85: ; preds = %do.body77 + %56 = load i32, i32* %i, align 4 + %57 = load i32, i32* %i, align 4 + %add86 = add nsw i32 %57, %56 + store i32 %add86, i32* %i, align 4 + %58 = load i8*, i8** %p, align 8 + %59 = load i8, i8* %58, align 1 + %tobool88 = icmp ne i8 %59, 0 + br i1 %tobool88, label %do.body77, label %do.end89 + +do.end89: ; preds = %if.end85 + store i32 0, i32* %i, align 4 + %60 = load i32, i32* %flags, align 4 + %and90 = and i32 %60, 10 + %shr = ashr i32 %and90, 1 + %neg = xor i32 %shr, -1 + %61 = load i32, i32* %flags, align 4 + %and91 = and i32 %61, %neg + store i32 %and91, i32* %flags, align 4 + %62 = load i8*, i8** %fmt, align 8 + %arrayidx92 = getelementptr inbounds i8, i8* %62, i64 -1 + %63 = load i8, i8* %arrayidx92, align 1 + %conv93 = sext i8 %63 to i32 + %cmp94 = icmp ne i32 %conv93, 37 + br i1 %cmp94, label %width_precision, label %PREC_WIDTH + +PREC_WIDTH: ; preds = %while.end, %do.end89, %land.lhs.true70 + %64 = load i8*, i8** %p, align 8 + %65 = load i8, i8* %64, align 1 + %conv99 = sext i8 %65 to i32 + %cmp100 = icmp eq i32 %conv99, 42 + br i1 %cmp100, label %if.then102, label %if.end123 + +if.then102: ; preds = %PREC_WIDTH + %66 = load i32, i32* %maxposarg, align 4 + %tobool103 = icmp ne i32 %66, 0 + br i1 %tobool103, label %if.then104, label %if.else116 + +if.then104: ; preds = %if.then102 + %67 = load i8*, i8** %fmt, align 8 + %incdec.ptr105 = getelementptr inbounds i8, i8* %67, i32 1 + store i8* %incdec.ptr105, i8** %fmt, align 8 + %68 = load i8, i8* %67, align 1 + %conv106 = sext i8 %68 to i32 + %cmp107 = icmp ne i32 %conv106, 36 + %69 = load i32, i32* %i, align 4 + %cmp109 = icmp sle i32 %69, 0 + %or.cond1 = or i1 %cmp107, %cmp109 + br i1 %or.cond1, label %if.then111, label %if.end112 + +if.then111: ; preds = %if.then104 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end112: ; preds = %if.then104 + %70 = load i32, i32* %i, align 4 + %71 = load i32, i32* %dpoint, align 4 + %sub113 = sub nsw i32 0, %71 + %idxprom114 = sext i32 %sub113 to i64 + %arrayidx115 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 %idxprom114 + store i32 %70, i32* %arrayidx115, align 4 + br label %if.end122 + +if.else116: ; preds = %if.then102 + %72 = load i8*, i8** %p, align 8 + %incdec.ptr117 = getelementptr inbounds i8, i8* %72, i32 1 + store i8* %incdec.ptr117, i8** %p, align 8 + %73 = load i8*, i8** %fmt, align 8 + %cmp118 = icmp ne i8* %incdec.ptr117, %73 + br i1 %cmp118, label %if.then120, label %if.end122 + +if.then120: ; preds = %if.else116 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end122: ; preds = %if.else116, %if.end112 + store i32 -2147483648, i32* %i, align 4 + br label %if.end123 + +if.end123: ; preds = %if.end122, %PREC_WIDTH + %74 = load i32, i32* %dpoint, align 4 + %tobool124 = icmp ne i32 %74, 0 + %75 = load i32, i32* %i, align 4 + br i1 %tobool124, label %if.else132, label %if.then125 + +if.then125: ; preds = %if.end123 + store i32 %75, i32* %width, align 4 + %76 = load i8*, i8** %fmt, align 8 + %77 = load i8, i8* %76, align 1 + %conv126 = sext i8 %77 to i32 + %cmp127 = icmp eq i32 %conv126, 46 + br i1 %cmp127, label %if.then129, label %if.end133 + +if.then129: ; preds = %if.then125 + %78 = load i8*, i8** %fmt, align 8 + %incdec.ptr130 = getelementptr inbounds i8, i8* %78, i32 1 + store i8* %incdec.ptr130, i8** %fmt, align 8 + store i32 -1, i32* %dpoint, align 4 + br label %width_precision + +if.else132: ; preds = %if.end123 + store i32 %75, i32* %preci, align 4 + br label %if.end133 + +if.end133: ; preds = %if.then125, %if.else132 + store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @_ppfs_parsespec.qual_chars, i64 0, i64 0), i8** %p, align 8 + br label %do.body134 + +do.body134: ; preds = %do.cond142, %if.end133 + %79 = load i8*, i8** %fmt, align 8 + %80 = load i8, i8* %79, align 1 + %conv135 = sext i8 %80 to i32 + %81 = load i8*, i8** %p, align 8 + %82 = load i8, i8* %81, align 1 + %conv136 = sext i8 %82 to i32 + %cmp137 = icmp eq i32 %conv135, %conv136 + br i1 %cmp137, label %if.then139, label %do.cond142 + +if.then139: ; preds = %do.body134 + %83 = load i8*, i8** %fmt, align 8 + %incdec.ptr140 = getelementptr inbounds i8, i8* %83, i32 1 + store i8* %incdec.ptr140, i8** %fmt, align 8 + br label %do.end145 + +do.cond142: ; preds = %do.body134 + %84 = load i8*, i8** %p, align 8 + %incdec.ptr143 = getelementptr inbounds i8, i8* %84, i32 1 + store i8* %incdec.ptr143, i8** %p, align 8 + %85 = load i8, i8* %incdec.ptr143, align 1 + %tobool144 = icmp ne i8 %85, 0 + br i1 %tobool144, label %do.body134, label %do.end145 + +do.end145: ; preds = %do.cond142, %if.then139 + %86 = load i8*, i8** %p, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %86 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, ptrtoint ([20 x i8]* @_ppfs_parsespec.qual_chars to i64) + %cmp146 = icmp slt i64 %sub.ptr.sub, 2 + br i1 %cmp146, label %land.lhs.true148, label %if.end156 + +land.lhs.true148: ; preds = %do.end145 + %87 = load i8*, i8** %fmt, align 8 + %88 = load i8, i8* %87, align 1 + %conv149 = sext i8 %88 to i32 + %89 = load i8*, i8** %p, align 8 + %90 = load i8, i8* %89, align 1 + %conv150 = sext i8 %90 to i32 + %cmp151 = icmp eq i32 %conv149, %conv150 + br i1 %cmp151, label %if.then153, label %if.end156 + +if.then153: ; preds = %land.lhs.true148 + %91 = load i8*, i8** %p, align 8 + %add.ptr154 = getelementptr inbounds i8, i8* %91, i64 9 + store i8* %add.ptr154, i8** %p, align 8 + %92 = load i8*, i8** %fmt, align 8 + %incdec.ptr155 = getelementptr inbounds i8, i8* %92, i32 1 + store i8* %incdec.ptr155, i8** %fmt, align 8 + br label %if.end156 + +if.end156: ; preds = %if.then153, %land.lhs.true148, %do.end145 + %93 = load i8*, i8** %p, align 8 + %arrayidx157 = getelementptr inbounds i8, i8* %93, i64 9 + %94 = load i8, i8* %arrayidx157, align 1 + %conv158 = sext i8 %94 to i32 + %shl = shl i32 %conv158, 8 + store i32 %shl, i32* %dataargtype, align 4 + %95 = load i8*, i8** %fmt, align 8 + %96 = load i8, i8* %95, align 1 + %tobool159 = icmp ne i8 %96, 0 + br i1 %tobool159, label %if.end161, label %if.then160 + +if.then160: ; preds = %if.end156 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end161: ; preds = %if.end156 + store i8* getelementptr inbounds ([21 x i8], [21 x i8]* @_ppfs_parsespec.spec_chars, i64 0, i64 0), i8** %p, align 8 + br label %do.body162 + +do.body162: ; preds = %do.cond199, %if.end161 + %97 = load i8*, i8** %fmt, align 8 + %98 = load i8, i8* %97, align 1 + %conv163 = sext i8 %98 to i32 + %99 = load i8*, i8** %p, align 8 + %100 = load i8, i8* %99, align 1 + %conv164 = sext i8 %100 to i32 + %cmp165 = icmp eq i32 %conv163, %conv164 + %101 = load i8*, i8** %p, align 8 + br i1 %cmp165, label %if.then167, label %do.cond199 + +if.then167: ; preds = %do.body162 + %sub.ptr.lhs.cast168 = ptrtoint i8* %101 to i64 + %sub.ptr.sub169 = sub i64 %sub.ptr.lhs.cast168, ptrtoint ([21 x i8]* @_ppfs_parsespec.spec_chars to i64) + %conv170 = trunc i64 %sub.ptr.sub169 to i32 + store i32 %conv170, i32* %p_m_spec_chars, align 4 + %102 = load i32, i32* %p_m_spec_chars, align 4 + %cmp171 = icmp sge i32 %102, 18 + br i1 %cmp171, label %land.lhs.true173, label %if.end178 + +land.lhs.true173: ; preds = %if.then167 + %103 = load i32, i32* %dataargtype, align 4 + %and174 = and i32 %103, 1024 + %tobool175 = icmp ne i32 %and174, 0 + br i1 %tobool175, label %if.then176, label %if.end178 + +if.then176: ; preds = %land.lhs.true173 + %104 = load i32, i32* %p_m_spec_chars, align 4 + %sub177 = sub nsw i32 %104, 2 + store i32 %sub177, i32* %p_m_spec_chars, align 4 + br label %if.end178 + +if.end178: ; preds = %if.then176, %land.lhs.true173, %if.then167 + %105 = load i32, i32* %p_m_spec_chars, align 4 + %106 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %106, i32 0, i32 4 + store i32 %105, i32* %conv_num, align 4 + store i8* getelementptr inbounds (i8, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @_ppfs_parsespec.spec_ranges, i64 0, i64 0), i64 -1), i8** %p, align 8 + br label %while.cond179 + +while.cond179: ; preds = %while.cond179, %if.end178 + %107 = load i32, i32* %p_m_spec_chars, align 4 + %108 = load i8*, i8** %p, align 8 + %incdec.ptr180 = getelementptr inbounds i8, i8* %108, i32 1 + store i8* %incdec.ptr180, i8** %p, align 8 + %109 = load i8, i8* %incdec.ptr180, align 1 + %conv181 = sext i8 %109 to i32 + %cmp182 = icmp sgt i32 %107, %conv181 + br i1 %cmp182, label %while.cond179, label %while.end185 + +while.end185: ; preds = %while.cond179 + %110 = load i8*, i8** %p, align 8 + %sub.ptr.lhs.cast186 = ptrtoint i8* %110 to i64 + %sub.ptr.sub187 = sub i64 %sub.ptr.lhs.cast186, ptrtoint ([9 x i8]* @_ppfs_parsespec.spec_ranges to i64) + %conv188 = trunc i64 %sub.ptr.sub187 to i32 + store i32 %conv188, i32* %i, align 4 + %111 = load i32, i32* %dataargtype, align 4 + %112 = load i32, i32* %i, align 4 + %idxprom189 = sext i32 %112 to i64 + %arrayidx190 = getelementptr inbounds [8 x i16], [8 x i16]* @_ppfs_parsespec.spec_or_mask, i64 0, i64 %idxprom189 + %113 = load i16, i16* %arrayidx190, align 2 + %conv191 = sext i16 %113 to i32 + %or192 = or i32 %111, %conv191 + %114 = load i32, i32* %i, align 4 + %idxprom193 = sext i32 %114 to i64 + %arrayidx194 = getelementptr inbounds [8 x i16], [8 x i16]* @_ppfs_parsespec.spec_and_mask, i64 0, i64 %idxprom193 + %115 = load i16, i16* %arrayidx194, align 2 + %conv195 = sext i16 %115 to i32 + %and196 = and i32 %or192, %conv195 + %arrayidx197 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 2 + store i32 %and196, i32* %arrayidx197, align 4 + store i8* getelementptr inbounds ([21 x i8], [21 x i8]* @_ppfs_parsespec.spec_chars, i64 0, i64 0), i8** %p, align 8 + br label %do.end202 + +do.cond199: ; preds = %do.body162 + %incdec.ptr200 = getelementptr inbounds i8, i8* %101, i32 1 + store i8* %incdec.ptr200, i8** %p, align 8 + %116 = load i8, i8* %incdec.ptr200, align 1 + %tobool201 = icmp ne i8 %116, 0 + br i1 %tobool201, label %do.body162, label %do.end202 + +do.end202: ; preds = %do.cond199, %while.end185 + %117 = load i8*, i8** %fmt, align 8 + %118 = load i8, i8* %117, align 1 + %conv203 = sext i8 %118 to i32 + %119 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info204 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %119, i32 0, i32 1 + %spec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info204, i32 0, i32 2 + store i32 %conv203, i32* %spec, align 8 + %120 = load i32, i32* %preci, align 4 + %121 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info205 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %121, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info205, i32 0, i32 0 + store i32 %120, i32* %prec, align 8 + %122 = load i32, i32* %width, align 4 + %123 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info206 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %123, i32 0, i32 1 + %width207 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info206, i32 0, i32 1 + store i32 %122, i32* %width207, align 4 + %124 = load i32, i32* %flags, align 4 + %and208 = and i32 %124, 4 + %tobool209 = icmp ne i32 %and208, 0 + %125 = zext i1 %tobool209 to i64 + %cond = select i1 %tobool209, i32 48, i32 32 + %126 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info210 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %126, i32 0, i32 1 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info210, i32 0, i32 4 + store i32 %cond, i32* %pad, align 8 + %127 = load i32, i32* %flags, align 4 + %and211 = and i32 %127, -5 + %128 = load i32, i32* %dataargtype, align 4 + %and212 = and i32 %128, 3840 + %or213 = or i32 %and211, %and212 + %129 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info214 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %129, i32 0, i32 1 + %_flags215 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info214, i32 0, i32 3 + store i32 %or213, i32* %_flags215, align 4 + %130 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %130, i32 0, i32 3 + store i32 1, i32* %num_data_args, align 8 + %131 = load i8*, i8** %p, align 8 + %132 = load i8, i8* %131, align 1 + %tobool216 = icmp ne i8 %132, 0 + br i1 %tobool216, label %if.end218, label %if.then217 + +if.then217: ; preds = %do.end202 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end218: ; preds = %do.end202 + %133 = load i32, i32* %maxposarg, align 4 + %cmp219 = icmp sgt i32 %133, 0 + br i1 %cmp219, label %if.then221, label %if.else265 + +if.then221: ; preds = %if.end218 + store i32 0, i32* %i, align 4 + br label %do.body222 + +do.body222: ; preds = %do.cond258, %if.then221 + %134 = load i32, i32* %i, align 4 + %cmp223 = icmp sle i32 %134, 2 + br i1 %cmp223, label %cond.true, label %cond.false + +cond.true: ; preds = %do.body222 + %135 = load i32, i32* %i, align 4 + %idxprom225 = sext i32 %135 to i64 + %arrayidx226 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 %idxprom225 + %136 = load i32, i32* %arrayidx226, align 4 + %conv227 = trunc i32 %136 to i8 + %137 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber228 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %137, i32 0, i32 5 + %138 = load i32, i32* %i, align 4 + %idxprom229 = sext i32 %138 to i64 + %arrayidx230 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber228, i64 0, i64 %idxprom229 + store i8 %conv227, i8* %arrayidx230, align 1 + %conv231 = zext i8 %conv227 to i32 + br label %cond.end + +cond.false: ; preds = %do.body222 + %arrayidx232 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 2 + %139 = load i32, i32* %arrayidx232, align 4 + %140 = load i32, i32* %i, align 4 + %sub233 = sub nsw i32 %140, 2 + %add234 = add nsw i32 %139, %sub233 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond235 = phi i32 [ %conv231, %cond.true ], [ %add234, %cond.false ] + store i32 %cond235, i32* %n, align 4 + %141 = load i32, i32* %n, align 4 + %142 = load i32, i32* %maxposarg, align 4 + %cmp236 = icmp sgt i32 %141, %142 + br i1 %cmp236, label %if.then238, label %if.end243 + +if.then238: ; preds = %cond.end + %143 = load i32, i32* %n, align 4 + store i32 %143, i32* %maxposarg, align 4 + %cmp239 = icmp sgt i32 %143, 9 + br i1 %cmp239, label %if.then241, label %if.end243 + +if.then241: ; preds = %if.then238 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end243: ; preds = %if.then238, %cond.end + %144 = load i32, i32* %n, align 4 + %dec = add nsw i32 %144, -1 + store i32 %dec, i32* %n, align 4 + %145 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype244 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %145, i32 0, i32 6 + %146 = load i32, i32* %n, align 4 + %idxprom245 = sext i32 %146 to i64 + %arrayidx246 = getelementptr inbounds [9 x i32], [9 x i32]* %argtype244, i64 0, i64 %idxprom245 + %147 = load i32, i32* %arrayidx246, align 4 + %148 = load i32, i32* %i, align 4 + %idxprom247 = sext i32 %148 to i64 + %arrayidx248 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 %idxprom247 + %149 = load i32, i32* %arrayidx248, align 4 + %call249 = call i32 @_is_equal_or_bigger_arg(i32 %147, i32 %149) #18 + %tobool250 = icmp ne i32 %call249, 0 + br i1 %tobool250, label %if.then251, label %do.cond258 + +if.then251: ; preds = %if.end243 + %150 = load i32, i32* %i, align 4 + %idxprom252 = sext i32 %150 to i64 + %arrayidx253 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 %idxprom252 + %151 = load i32, i32* %arrayidx253, align 4 + %152 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype254 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %152, i32 0, i32 6 + %153 = load i32, i32* %n, align 4 + %idxprom255 = sext i32 %153 to i64 + %arrayidx256 = getelementptr inbounds [9 x i32], [9 x i32]* %argtype254, i64 0, i64 %idxprom255 + store i32 %151, i32* %arrayidx256, align 4 + br label %do.cond258 + +do.cond258: ; preds = %if.end243, %if.then251 + %154 = load i32, i32* %i, align 4 + %inc259 = add nsw i32 %154, 1 + store i32 %inc259, i32* %i, align 4 + %155 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args260 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %155, i32 0, i32 3 + %156 = load i32, i32* %num_data_args260, align 8 + %add261 = add nsw i32 %156, 2 + %cmp262 = icmp slt i32 %inc259, %add261 + br i1 %cmp262, label %do.body222, label %if.end276 + +if.else265: ; preds = %if.end218 + %157 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber266 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %157, i32 0, i32 5 + %arrayidx267 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber266, i64 0, i64 2 + store i8 1, i8* %arrayidx267, align 2 + %158 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype268 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %158, i32 0, i32 6 + %arraydecay269 = getelementptr inbounds [9 x i32], [9 x i32]* %argtype268, i64 0, i64 0 + %159 = bitcast i32* %arraydecay269 to i8* + %arraydecay270 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 0 + %add.ptr271 = getelementptr inbounds i32, i32* %arraydecay270, i64 2 + %160 = bitcast i32* %add.ptr271 to i8* + %161 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args272 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %161, i32 0, i32 3 + %162 = load i32, i32* %num_data_args272, align 8 + %conv273 = sext i32 %162 to i64 + %mul274 = mul i64 %conv273, 4 + %call275 = call i8* @memcpy(i8* %159, i8* %160, i64 %mul274) #19 + br label %if.end276 + +if.end276: ; preds = %do.cond258, %if.else265 + %163 = load i32, i32* %maxposarg, align 4 + %164 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg277 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %164, i32 0, i32 2 + store i32 %163, i32* %maxposarg277, align 4 + %165 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info278 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %165, i32 0, i32 1 + %_flags279 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info278, i32 0, i32 3 + %166 = load i32, i32* %_flags279, align 4 + %and280 = and i32 %166, 128 + store i32 %and280, i32* %flags, align 4 + %cmp281 = icmp eq i32 %and280, 0 + br i1 %cmp281, label %if.then283, label %if.else286 + +if.then283: ; preds = %if.end276 + %167 = load i8*, i8** %fmt, align 8 + %incdec.ptr284 = getelementptr inbounds i8, i8* %167, i32 1 + store i8* %incdec.ptr284, i8** %fmt, align 8 + %168 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos285 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %168, i32 0, i32 0 + store i8* %incdec.ptr284, i8** %fmtpos285, align 8 + br label %if.end293 + +if.else286: ; preds = %if.end276 + %169 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos287 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %169, i32 0, i32 0 + %170 = load i8*, i8** %fmtpos287, align 8 + %171 = bitcast i8* %170 to i32* + %172 = load i8*, i8** %fmt, align 8 + %arraydecay288 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 0 + %sub.ptr.lhs.cast289 = ptrtoint i8* %172 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %arraydecay288 to i64 + %sub.ptr.sub290 = sub i64 %sub.ptr.lhs.cast289, %sub.ptr.rhs.cast + %add.ptr291 = getelementptr inbounds i32, i32* %171, i64 %sub.ptr.sub290 + %173 = bitcast i32* %add.ptr291 to i8* + %174 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos292 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %174, i32 0, i32 0 + store i8* %173, i8** %fmtpos292, align 8 + br label %if.end293 + +if.end293: ; preds = %if.else286, %if.then283 + %175 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args294 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %175, i32 0, i32 3 + %176 = load i32, i32* %num_data_args294, align 8 + %add295 = add nsw i32 %176, 2 + store i32 %add295, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end293, %if.then241, %if.then217, %if.then160, %if.then120, %if.then111, %if.then66, %if.then56, %if.then16 + %177 = load i32, i32* %retval, align 4 + ret i32 %177 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_is_equal_or_bigger_arg(i32 %curtype, i32 %newtype) #0 { +entry: + %retval = alloca i32, align 4 + %curtype.addr = alloca i32, align 4 + %newtype.addr = alloca i32, align 4 + store i32 %curtype, i32* %curtype.addr, align 4 + store i32 %newtype, i32* %newtype.addr, align 4 + %0 = load i32, i32* %newtype.addr, align 4 + %cmp = icmp eq i32 %0, 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %1 = load i32, i32* %curtype.addr, align 4 + %cmp1 = icmp eq i32 %1, 8 + br i1 %cmp1, label %if.then3, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %2 = load i32, i32* %curtype.addr, align 4 + %3 = load i32, i32* %newtype.addr, align 4 + %cmp2 = icmp eq i32 %2, %3 + br i1 %cmp2, label %if.then3, label %if.end4 + +if.then3: ; preds = %lor.lhs.false, %if.end + store i32 1, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %lor.lhs.false + %4 = load i32, i32* %curtype.addr, align 4 + %call = call i32 @_promoted_size(i32 %4) #18 + %5 = load i32, i32* %newtype.addr, align 4 + %call5 = call i32 @_promoted_size(i32 %5) #18 + %cmp6 = icmp sle i32 %call, %call5 + %conv = zext i1 %cmp6 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_promoted_size(i32 %argtype) #0 { +entry: + %argtype.addr = alloca i32, align 4 + %p = alloca i16*, align 8 + store i32 %argtype, i32* %argtype.addr, align 4 + store i16* getelementptr inbounds (i16, i16* getelementptr inbounds ([12 x i16], [12 x i16]* @type_codes, i64 0, i64 0), i64 12), i16** %p, align 8 + br label %do.body + +do.body: ; preds = %do.body, %entry + %0 = load i16*, i16** %p, align 8 + %incdec.ptr = getelementptr inbounds i16, i16* %0, i32 -1 + store i16* %incdec.ptr, i16** %p, align 8 + %1 = load i16, i16* %incdec.ptr, align 2 + %conv = sext i16 %1 to i32 + %2 = load i32, i32* %argtype.addr, align 4 + %cmp = icmp ne i32 %conv, %2 + %3 = load i16*, i16** %p, align 8 + %cmp2 = icmp ugt i16* %3, getelementptr inbounds ([12 x i16], [12 x i16]* @type_codes, i64 0, i64 0) + %or.cond = and i1 %cmp, %cmp2 + br i1 %or.cond, label %do.body, label %do.end + +do.end: ; preds = %do.body + %4 = load i16*, i16** %p, align 8 + %sub.ptr.lhs.cast = ptrtoint i16* %4 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, ptrtoint ([12 x i16]* @type_codes to i64) + %sub.ptr.div = sdiv exact i64 %sub.ptr.sub, 2 + %conv4 = trunc i64 %sub.ptr.div to i32 + %idxprom = sext i32 %conv4 to i64 + %arrayidx = getelementptr inbounds [12 x i8], [12 x i8]* @type_sizes, i64 0, i64 %idxprom + %5 = load i8, i8* %arrayidx, align 1 + %conv5 = zext i8 %5 to i32 + ret i32 %conv5 +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_ppfs_prepargs(%struct.ppfs_t.722* %ppfs, %struct.__va_list_tag.0* %arg) #0 { +entry: + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %arg.addr = alloca %struct.__va_list_tag.0*, align 8 + %i = alloca i32, align 4 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store %struct.__va_list_tag.0* %arg, %struct.__va_list_tag.0** %arg.addr, align 8 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg1 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %0, i32 0, i32 7 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg1, i64 0, i64 0 + %1 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %arg.addr, align 8 + %2 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + %3 = bitcast %struct.__va_list_tag.0* %1 to i8* + %vacopy.cast.dst = bitcast i8* %2 to i64* + %vacopy.cast.src = bitcast i8* %3 to i64* + %4 = load i64, i64* %vacopy.cast.src, align 8 + store volatile i64 %4, i64* %vacopy.cast.dst, align 8 + %5 = getelementptr i64, i64* %vacopy.cast.dst, i64 1 + %6 = getelementptr i64, i64* %vacopy.cast.src, i64 1 + %7 = load i64, i64* %6, align 8 + store i64 %7, i64* %5, align 8 + %8 = getelementptr i64, i64* %5, i64 1 + %9 = getelementptr i64, i64* %6, i64 1 + %10 = load i64, i64* %9, align 8 + store i64 %10, i64* %8, align 8 + %11 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %11, i32 0, i32 2 + %12 = load i32, i32* %maxposarg, align 4 + store i32 %12, i32* %i, align 4 + %cmp = icmp sgt i32 %12, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %13 = load i32, i32* %i, align 4 + %14 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %14, i32 0, i32 3 + store i32 %13, i32* %num_data_args, align 8 + %15 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg2 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %15, i32 0, i32 2 + store i32 0, i32* %maxposarg2, align 4 + %16 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %16, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 0 + store i32 0, i32* %prec, align 8 + %17 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info3 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %17, i32 0, i32 1 + %width = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info3, i32 0, i32 1 + store i32 0, i32* %width, align 4 + %18 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + call void @_ppfs_setargs(%struct.ppfs_t.722* %18) #18 + %19 = load i32, i32* %i, align 4 + %20 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg4 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %20, i32 0, i32 2 + store i32 %19, i32* %maxposarg4, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + ret void +} + +; Function Attrs: nounwind +declare void @llvm.va_copy(i8*, i8*) #11 + +; Function Attrs: noinline nounwind uwtable +define hidden void @_ppfs_setargs(%struct.ppfs_t.722* %ppfs) #0 { +entry: + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %p = alloca %union.anon.193*, align 8 + %i = alloca i32, align 4 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argvalue = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %0, i32 0, i32 8 + %arraydecay = getelementptr inbounds [9 x %union.anon.193], [9 x %union.anon.193]* %argvalue, i64 0, i64 0 + store %union.anon.193* %arraydecay, %union.anon.193** %p, align 8 + %1 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %1, i32 0, i32 2 + %2 = load i32, i32* %maxposarg, align 4 + %cmp = icmp eq i32 %2, 0 + %3 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %3, i32 0, i32 1 + %width = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 1 + %4 = load i32, i32* %width, align 4 + %cmp1 = icmp eq i32 %4, -2147483648 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + br i1 %cmp1, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + %5 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %5, i32 0, i32 7 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 8 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then2 + %6 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 3 + %reg_save_area = load i8*, i8** %6, align 8 + %7 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %8 = bitcast i8* %7 to i32* + %9 = add i32 %gp_offset, 8 + store i32 %9, i32* %gp_offset_p, align 8 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then2 + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %10 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %8, %vaarg.in_reg ], [ %10, %vaarg.in_mem ] + %11 = load i32, i32* %vaarg.addr, align 4 + %12 = load %union.anon.193*, %union.anon.193** %p, align 8 + %u = bitcast %union.anon.193* %12 to i32* + store i32 %11, i32* %u, align 8 + %13 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info4 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %13, i32 0, i32 1 + %width5 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info4, i32 0, i32 1 + store i32 %11, i32* %width5, align 4 + br label %if.end + +if.end: ; preds = %vaarg.end, %if.then + %14 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info6 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %14, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info6, i32 0, i32 0 + %15 = load i32, i32* %prec, align 8 + %cmp7 = icmp eq i32 %15, -2147483648 + br i1 %cmp7, label %if.then8, label %if.end25 + +if.then8: ; preds = %if.end + %16 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg9 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %16, i32 0, i32 7 + %arraydecay10 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg9, i64 0, i64 0 + %gp_offset_p11 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay10, i32 0, i32 0 + %gp_offset12 = load i32, i32* %gp_offset_p11, align 8 + %fits_in_gp13 = icmp ule i32 %gp_offset12, 40 + br i1 %fits_in_gp13, label %vaarg.in_reg14, label %vaarg.in_mem16 + +vaarg.in_reg14: ; preds = %if.then8 + %17 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay10, i32 0, i32 3 + %reg_save_area15 = load i8*, i8** %17, align 8 + %18 = getelementptr i8, i8* %reg_save_area15, i32 %gp_offset12 + %19 = bitcast i8* %18 to i32* + %20 = add i32 %gp_offset12, 8 + store i32 %20, i32* %gp_offset_p11, align 8 + br label %vaarg.end20 + +vaarg.in_mem16: ; preds = %if.then8 + %overflow_arg_area_p17 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay10, i32 0, i32 2 + %overflow_arg_area18 = load i8*, i8** %overflow_arg_area_p17, align 8 + %21 = bitcast i8* %overflow_arg_area18 to i32* + %overflow_arg_area.next19 = getelementptr i8, i8* %overflow_arg_area18, i32 8 + store i8* %overflow_arg_area.next19, i8** %overflow_arg_area_p17, align 8 + br label %vaarg.end20 + +vaarg.end20: ; preds = %vaarg.in_mem16, %vaarg.in_reg14 + %vaarg.addr21 = phi i32* [ %19, %vaarg.in_reg14 ], [ %21, %vaarg.in_mem16 ] + %22 = load i32, i32* %vaarg.addr21, align 4 + %23 = load %union.anon.193*, %union.anon.193** %p, align 8 + %u22 = bitcast %union.anon.193* %23 to i32* + store i32 %22, i32* %u22, align 8 + %24 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info23 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %24, i32 0, i32 1 + %prec24 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info23, i32 0, i32 0 + store i32 %22, i32* %prec24, align 8 + br label %if.end25 + +if.end25: ; preds = %vaarg.end20, %if.end + store i32 0, i32* %i, align 4 + br label %while.cond + +while.cond: ; preds = %NodeBlock, %sw.epilog, %if.end25 + %25 = load i32, i32* %i, align 4 + %26 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %26, i32 0, i32 3 + %27 = load i32, i32* %num_data_args, align 8 + %cmp26 = icmp slt i32 %25, %27 + br i1 %cmp26, label %while.body, label %if.end149 + +while.body: ; preds = %while.cond + %28 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %28, i32 0, i32 6 + %29 = load i32, i32* %i, align 4 + %inc = add nsw i32 %29, 1 + store i32 %inc, i32* %i, align 4 + %idxprom = sext i32 %29 to i64 + %arrayidx = getelementptr inbounds [9 x i32], [9 x i32]* %argtype, i64 0, i64 %idxprom + %30 = load i32, i32* %arrayidx, align 4 + br label %NodeBlock17 + +NodeBlock17: ; preds = %while.body + %case.cmp18 = icmp eq i32 %30, 2048 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %30, 1024 + br i1 %case.cmp16, label %sw.bb40, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %30, 1 + br i1 %case.cmp14, label %sw.bb54, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %30, 256 + br i1 %case.cmp12, label %sw.bb54, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %30, 512 + br i1 %case.cmp10, label %sw.bb54, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %30, 0 + br i1 %case.cmp8, label %sw.bb54, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %30, 2 + br i1 %case.cmp6, label %sw.bb69, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %30, 7 + br i1 %case.cmp4, label %sw.bb83, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %30, 2055 + br i1 %case.cmp2, label %sw.bb94, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %30, 8 + br i1 %case.cmp, label %while.cond, label %newDefault + +sw.bb: ; preds = %NodeBlock17 + %31 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg27 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %31, i32 0, i32 7 + %arraydecay28 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg27, i64 0, i64 0 + %gp_offset_p29 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay28, i32 0, i32 0 + %gp_offset30 = load i32, i32* %gp_offset_p29, align 8 + %fits_in_gp31 = icmp ule i32 %gp_offset30, 40 + br i1 %fits_in_gp31, label %vaarg.in_reg32, label %vaarg.in_mem34 + +vaarg.in_reg32: ; preds = %sw.bb + %32 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay28, i32 0, i32 3 + %reg_save_area33 = load i8*, i8** %32, align 8 + %33 = getelementptr i8, i8* %reg_save_area33, i32 %gp_offset30 + %34 = bitcast i8* %33 to i64* + %35 = add i32 %gp_offset30, 8 + store i32 %35, i32* %gp_offset_p29, align 8 + br label %vaarg.end38 + +vaarg.in_mem34: ; preds = %sw.bb + %overflow_arg_area_p35 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay28, i32 0, i32 2 + %overflow_arg_area36 = load i8*, i8** %overflow_arg_area_p35, align 8 + %36 = bitcast i8* %overflow_arg_area36 to i64* + %overflow_arg_area.next37 = getelementptr i8, i8* %overflow_arg_area36, i32 8 + store i8* %overflow_arg_area.next37, i8** %overflow_arg_area_p35, align 8 + br label %vaarg.end38 + +vaarg.end38: ; preds = %vaarg.in_mem34, %vaarg.in_reg32 + %vaarg.addr39 = phi i64* [ %34, %vaarg.in_reg32 ], [ %36, %vaarg.in_mem34 ] + %37 = load i64, i64* %vaarg.addr39, align 8 + %38 = load %union.anon.193*, %union.anon.193** %p, align 8 + %ull = bitcast %union.anon.193* %38 to i64* + store i64 %37, i64* %ull, align 8 + br label %sw.epilog + +sw.bb40: ; preds = %NodeBlock15 + %39 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg41 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %39, i32 0, i32 7 + %arraydecay42 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg41, i64 0, i64 0 + %gp_offset_p43 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay42, i32 0, i32 0 + %gp_offset44 = load i32, i32* %gp_offset_p43, align 8 + %fits_in_gp45 = icmp ule i32 %gp_offset44, 40 + br i1 %fits_in_gp45, label %vaarg.in_reg46, label %vaarg.in_mem48 + +vaarg.in_reg46: ; preds = %sw.bb40 + %40 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay42, i32 0, i32 3 + %reg_save_area47 = load i8*, i8** %40, align 8 + %41 = getelementptr i8, i8* %reg_save_area47, i32 %gp_offset44 + %42 = bitcast i8* %41 to i64* + %43 = add i32 %gp_offset44, 8 + store i32 %43, i32* %gp_offset_p43, align 8 + br label %vaarg.end52 + +vaarg.in_mem48: ; preds = %sw.bb40 + %overflow_arg_area_p49 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay42, i32 0, i32 2 + %overflow_arg_area50 = load i8*, i8** %overflow_arg_area_p49, align 8 + %44 = bitcast i8* %overflow_arg_area50 to i64* + %overflow_arg_area.next51 = getelementptr i8, i8* %overflow_arg_area50, i32 8 + store i8* %overflow_arg_area.next51, i8** %overflow_arg_area_p49, align 8 + br label %vaarg.end52 + +vaarg.end52: ; preds = %vaarg.in_mem48, %vaarg.in_reg46 + %vaarg.addr53 = phi i64* [ %42, %vaarg.in_reg46 ], [ %44, %vaarg.in_mem48 ] + %45 = load i64, i64* %vaarg.addr53, align 8 + %46 = load %union.anon.193*, %union.anon.193** %p, align 8 + %ul = bitcast %union.anon.193* %46 to i64* + store i64 %45, i64* %ul, align 8 + br label %sw.epilog + +sw.bb54: ; preds = %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7 + %47 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg55 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %47, i32 0, i32 7 + %arraydecay56 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg55, i64 0, i64 0 + %gp_offset_p57 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay56, i32 0, i32 0 + %gp_offset58 = load i32, i32* %gp_offset_p57, align 8 + %fits_in_gp59 = icmp ule i32 %gp_offset58, 40 + br i1 %fits_in_gp59, label %vaarg.in_reg60, label %vaarg.in_mem62 + +vaarg.in_reg60: ; preds = %sw.bb54 + %48 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay56, i32 0, i32 3 + %reg_save_area61 = load i8*, i8** %48, align 8 + %49 = getelementptr i8, i8* %reg_save_area61, i32 %gp_offset58 + %50 = bitcast i8* %49 to i32* + %51 = add i32 %gp_offset58, 8 + store i32 %51, i32* %gp_offset_p57, align 8 + br label %vaarg.end66 + +vaarg.in_mem62: ; preds = %sw.bb54 + %overflow_arg_area_p63 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay56, i32 0, i32 2 + %overflow_arg_area64 = load i8*, i8** %overflow_arg_area_p63, align 8 + %52 = bitcast i8* %overflow_arg_area64 to i32* + %overflow_arg_area.next65 = getelementptr i8, i8* %overflow_arg_area64, i32 8 + store i8* %overflow_arg_area.next65, i8** %overflow_arg_area_p63, align 8 + br label %vaarg.end66 + +vaarg.end66: ; preds = %vaarg.in_mem62, %vaarg.in_reg60 + %vaarg.addr67 = phi i32* [ %50, %vaarg.in_reg60 ], [ %52, %vaarg.in_mem62 ] + %53 = load i32, i32* %vaarg.addr67, align 4 + %54 = load %union.anon.193*, %union.anon.193** %p, align 8 + %u68 = bitcast %union.anon.193* %54 to i32* + store i32 %53, i32* %u68, align 8 + br label %sw.epilog + +sw.bb69: ; preds = %NodeBlock5 + %55 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg70 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %55, i32 0, i32 7 + %arraydecay71 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg70, i64 0, i64 0 + %gp_offset_p72 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay71, i32 0, i32 0 + %gp_offset73 = load i32, i32* %gp_offset_p72, align 8 + %fits_in_gp74 = icmp ule i32 %gp_offset73, 40 + br i1 %fits_in_gp74, label %vaarg.in_reg75, label %vaarg.in_mem77 + +vaarg.in_reg75: ; preds = %sw.bb69 + %56 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay71, i32 0, i32 3 + %reg_save_area76 = load i8*, i8** %56, align 8 + %57 = getelementptr i8, i8* %reg_save_area76, i32 %gp_offset73 + %58 = bitcast i8* %57 to i32* + %59 = add i32 %gp_offset73, 8 + store i32 %59, i32* %gp_offset_p72, align 8 + br label %vaarg.end81 + +vaarg.in_mem77: ; preds = %sw.bb69 + %overflow_arg_area_p78 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay71, i32 0, i32 2 + %overflow_arg_area79 = load i8*, i8** %overflow_arg_area_p78, align 8 + %60 = bitcast i8* %overflow_arg_area79 to i32* + %overflow_arg_area.next80 = getelementptr i8, i8* %overflow_arg_area79, i32 8 + store i8* %overflow_arg_area.next80, i8** %overflow_arg_area_p78, align 8 + br label %vaarg.end81 + +vaarg.end81: ; preds = %vaarg.in_mem77, %vaarg.in_reg75 + %vaarg.addr82 = phi i32* [ %58, %vaarg.in_reg75 ], [ %60, %vaarg.in_mem77 ] + %61 = load i32, i32* %vaarg.addr82, align 4 + %62 = load %union.anon.193*, %union.anon.193** %p, align 8 + %wc = bitcast %union.anon.193* %62 to i32* + store i32 %61, i32* %wc, align 8 + br label %sw.epilog + +sw.bb83: ; preds = %NodeBlock3 + %63 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg84 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %63, i32 0, i32 7 + %arraydecay85 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg84, i64 0, i64 0 + %fp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay85, i32 0, i32 1 + %fp_offset = load i32, i32* %fp_offset_p, align 4 + %fits_in_fp = icmp ule i32 %fp_offset, 160 + br i1 %fits_in_fp, label %vaarg.in_reg86, label %vaarg.in_mem88 + +vaarg.in_reg86: ; preds = %sw.bb83 + %64 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay85, i32 0, i32 3 + %reg_save_area87 = load i8*, i8** %64, align 8 + %65 = getelementptr i8, i8* %reg_save_area87, i32 %fp_offset + %66 = bitcast i8* %65 to double* + %67 = add i32 %fp_offset, 16 + store i32 %67, i32* %fp_offset_p, align 4 + br label %vaarg.end92 + +vaarg.in_mem88: ; preds = %sw.bb83 + %overflow_arg_area_p89 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay85, i32 0, i32 2 + %overflow_arg_area90 = load i8*, i8** %overflow_arg_area_p89, align 8 + %68 = bitcast i8* %overflow_arg_area90 to double* + %overflow_arg_area.next91 = getelementptr i8, i8* %overflow_arg_area90, i32 8 + store i8* %overflow_arg_area.next91, i8** %overflow_arg_area_p89, align 8 + br label %vaarg.end92 + +vaarg.end92: ; preds = %vaarg.in_mem88, %vaarg.in_reg86 + %vaarg.addr93 = phi double* [ %66, %vaarg.in_reg86 ], [ %68, %vaarg.in_mem88 ] + %69 = load double, double* %vaarg.addr93, align 8 + %70 = load %union.anon.193*, %union.anon.193** %p, align 8 + %d = bitcast %union.anon.193* %70 to double* + store double %69, double* %d, align 8 + br label %sw.epilog + +sw.bb94: ; preds = %NodeBlock1 + %71 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg95 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %71, i32 0, i32 7 + %arraydecay96 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg95, i64 0, i64 0 + %fp_offset_p97 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay96, i32 0, i32 1 + %fp_offset98 = load i32, i32* %fp_offset_p97, align 4 + %fits_in_fp99 = icmp ule i32 %fp_offset98, 160 + br i1 %fits_in_fp99, label %vaarg.in_reg100, label %vaarg.in_mem102 + +vaarg.in_reg100: ; preds = %sw.bb94 + %72 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay96, i32 0, i32 3 + %reg_save_area101 = load i8*, i8** %72, align 8 + %73 = getelementptr i8, i8* %reg_save_area101, i32 %fp_offset98 + %74 = bitcast i8* %73 to double* + %75 = add i32 %fp_offset98, 16 + store i32 %75, i32* %fp_offset_p97, align 4 + br label %vaarg.end106 + +vaarg.in_mem102: ; preds = %sw.bb94 + %overflow_arg_area_p103 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay96, i32 0, i32 2 + %overflow_arg_area104 = load i8*, i8** %overflow_arg_area_p103, align 8 + %76 = bitcast i8* %overflow_arg_area104 to double* + %overflow_arg_area.next105 = getelementptr i8, i8* %overflow_arg_area104, i32 8 + store i8* %overflow_arg_area.next105, i8** %overflow_arg_area_p103, align 8 + br label %vaarg.end106 + +vaarg.end106: ; preds = %vaarg.in_mem102, %vaarg.in_reg100 + %vaarg.addr107 = phi double* [ %74, %vaarg.in_reg100 ], [ %76, %vaarg.in_mem102 ] + %77 = load double, double* %vaarg.addr107, align 8 + %78 = load %union.anon.193*, %union.anon.193** %p, align 8 + %ld = bitcast %union.anon.193* %78 to double* + store double %77, double* %ld, align 8 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.bb108 + +sw.bb108: ; preds = %newDefault + %79 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg109 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %79, i32 0, i32 7 + %arraydecay110 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg109, i64 0, i64 0 + %gp_offset_p111 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay110, i32 0, i32 0 + %gp_offset112 = load i32, i32* %gp_offset_p111, align 8 + %fits_in_gp113 = icmp ule i32 %gp_offset112, 40 + br i1 %fits_in_gp113, label %vaarg.in_reg114, label %vaarg.in_mem116 + +vaarg.in_reg114: ; preds = %sw.bb108 + %80 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay110, i32 0, i32 3 + %reg_save_area115 = load i8*, i8** %80, align 8 + %81 = getelementptr i8, i8* %reg_save_area115, i32 %gp_offset112 + %82 = bitcast i8* %81 to i8** + %83 = add i32 %gp_offset112, 8 + store i32 %83, i32* %gp_offset_p111, align 8 + br label %vaarg.end120 + +vaarg.in_mem116: ; preds = %sw.bb108 + %overflow_arg_area_p117 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay110, i32 0, i32 2 + %overflow_arg_area118 = load i8*, i8** %overflow_arg_area_p117, align 8 + %84 = bitcast i8* %overflow_arg_area118 to i8** + %overflow_arg_area.next119 = getelementptr i8, i8* %overflow_arg_area118, i32 8 + store i8* %overflow_arg_area.next119, i8** %overflow_arg_area_p117, align 8 + br label %vaarg.end120 + +vaarg.end120: ; preds = %vaarg.in_mem116, %vaarg.in_reg114 + %vaarg.addr121 = phi i8** [ %82, %vaarg.in_reg114 ], [ %84, %vaarg.in_mem116 ] + %85 = load i8*, i8** %vaarg.addr121, align 8 + %86 = load %union.anon.193*, %union.anon.193** %p, align 8 + %p122 = bitcast %union.anon.193* %86 to i8** + store i8* %85, i8** %p122, align 8 + br label %sw.epilog + +sw.epilog: ; preds = %vaarg.end120, %vaarg.end106, %vaarg.end92, %vaarg.end81, %vaarg.end66, %vaarg.end52, %vaarg.end38 + %87 = load %union.anon.193*, %union.anon.193** %p, align 8 + %incdec.ptr = getelementptr inbounds %union.anon.193, %union.anon.193* %87, i32 1 + store %union.anon.193* %incdec.ptr, %union.anon.193** %p, align 8 + br label %while.cond + +if.else: ; preds = %entry + br i1 %cmp1, label %if.then127, label %if.end133 + +if.then127: ; preds = %if.else + %88 = load %union.anon.193*, %union.anon.193** %p, align 8 + %89 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %89, i32 0, i32 5 + %arrayidx128 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber, i64 0, i64 0 + %90 = load i8, i8* %arrayidx128, align 8 + %conv = zext i8 %90 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds %union.anon.193, %union.anon.193* %88, i64 %idx.ext + %add.ptr129 = getelementptr inbounds %union.anon.193, %union.anon.193* %add.ptr, i64 -1 + %u130 = bitcast %union.anon.193* %add.ptr129 to i32* + %91 = load i32, i32* %u130, align 8 + %92 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info131 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %92, i32 0, i32 1 + %width132 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info131, i32 0, i32 1 + store i32 %91, i32* %width132, align 4 + br label %if.end133 + +if.end133: ; preds = %if.then127, %if.else + %93 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info134 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %93, i32 0, i32 1 + %prec135 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info134, i32 0, i32 0 + %94 = load i32, i32* %prec135, align 8 + %cmp136 = icmp eq i32 %94, -2147483648 + br i1 %cmp136, label %if.then138, label %if.end149 + +if.then138: ; preds = %if.end133 + %95 = load %union.anon.193*, %union.anon.193** %p, align 8 + %96 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber139 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %96, i32 0, i32 5 + %arrayidx140 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber139, i64 0, i64 1 + %97 = load i8, i8* %arrayidx140, align 1 + %conv141 = zext i8 %97 to i32 + %idx.ext142 = sext i32 %conv141 to i64 + %add.ptr143 = getelementptr inbounds %union.anon.193, %union.anon.193* %95, i64 %idx.ext142 + %add.ptr144 = getelementptr inbounds %union.anon.193, %union.anon.193* %add.ptr143, i64 -1 + %u145 = bitcast %union.anon.193* %add.ptr144 to i32* + %98 = load i32, i32* %u145, align 8 + %99 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info146 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %99, i32 0, i32 1 + %prec147 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info146, i32 0, i32 0 + store i32 %98, i32* %prec147, align 8 + br label %if.end149 + +if.end149: ; preds = %if.end133, %if.then138, %while.cond + %100 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info150 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %100, i32 0, i32 1 + %width151 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info150, i32 0, i32 1 + %101 = load i32, i32* %width151, align 4 + %cmp152 = icmp slt i32 %101, 0 + br i1 %cmp152, label %if.then154, label %if.end163 + +if.then154: ; preds = %if.end149 + %102 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info155 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %102, i32 0, i32 1 + %width156 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info155, i32 0, i32 1 + %103 = load i32, i32* %width156, align 4 + %sub = sub nsw i32 0, %103 + %104 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info157 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %104, i32 0, i32 1 + %width158 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info157, i32 0, i32 1 + store i32 %sub, i32* %width158, align 4 + %105 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info159 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %105, i32 0, i32 1 + %_flags = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info159, i32 0, i32 3 + %106 = load i32, i32* %_flags, align 4 + %or = or i32 %106, 8 + store i32 %or, i32* %_flags, align 4 + %107 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info160 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %107, i32 0, i32 1 + %_flags161 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info160, i32 0, i32 3 + %108 = load i32, i32* %_flags161, align 4 + %and = and i32 %108, -2 + store i32 %and, i32* %_flags161, align 4 + %109 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info162 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %109, i32 0, i32 1 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info162, i32 0, i32 4 + store i32 32, i32* %pad, align 8 + br label %if.end163 + +if.end163: ; preds = %if.then154, %if.end149 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_store_inttype(i8* %dest, i32 %desttype, i64 %val) #0 { +entry: + %dest.addr = alloca i8*, align 8 + %desttype.addr = alloca i32, align 4 + %val.addr = alloca i64, align 8 + store i8* %dest, i8** %dest.addr, align 8 + store i32 %desttype, i32* %desttype.addr, align 4 + store i64 %val, i64* %val.addr, align 8 + %0 = load i32, i32* %desttype.addr, align 4 + %cmp = icmp eq i32 %0, 256 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load i64, i64* %val.addr, align 8 + %conv = trunc i64 %1 to i8 + %2 = load i8*, i8** %dest.addr, align 8 + store i8 %conv, i8* %2, align 1 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* %desttype.addr, align 4 + %cmp1 = icmp eq i32 %3, 2048 + br i1 %cmp1, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.end + %4 = load i64, i64* %val.addr, align 8 + %5 = load i8*, i8** %dest.addr, align 8 + %6 = bitcast i8* %5 to i64* + store i64 %4, i64* %6, align 8 + br label %return + +if.end4: ; preds = %if.end + %7 = load i32, i32* %desttype.addr, align 4 + %cmp5 = icmp eq i32 %7, 512 + br i1 %cmp5, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end4 + %8 = load i64, i64* %val.addr, align 8 + %conv8 = trunc i64 %8 to i16 + %9 = load i8*, i8** %dest.addr, align 8 + %10 = bitcast i8* %9 to i16* + store i16 %conv8, i16* %10, align 2 + br label %return + +if.end9: ; preds = %if.end4 + %11 = load i32, i32* %desttype.addr, align 4 + %cmp10 = icmp eq i32 %11, 1024 + %12 = load i64, i64* %val.addr, align 8 + br i1 %cmp10, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.end9 + %13 = load i8*, i8** %dest.addr, align 8 + %14 = bitcast i8* %13 to i64* + store i64 %12, i64* %14, align 8 + br label %return + +if.end13: ; preds = %if.end9 + %conv14 = trunc i64 %12 to i32 + %15 = load i8*, i8** %dest.addr, align 8 + %16 = bitcast i8* %15 to i32* + store i32 %conv14, i32* %16, align 4 + br label %return + +return: ; preds = %if.end13, %if.then12, %if.then7, %if.then3, %if.then + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden i8* @_uintmaxtostr(i8* noalias %bufend, i64 %uval, i32 %base, i32 %alphacase) #0 { +entry: + %bufend.addr = alloca i8*, align 8 + %uval.addr = alloca i64, align 8 + %base.addr = alloca i32, align 4 + %alphacase.addr = alloca i32, align 4 + %negative = alloca i32, align 4 + %digit = alloca i32, align 4 + %H = alloca i32, align 4 + %L = alloca i32, align 4 + %high = alloca i32, align 4 + %low = alloca i32, align 4 + %rh = alloca i32, align 4 + %grouping = alloca i32, align 4 + %outdigit = alloca i32, align 4 + %g = alloca i8*, align 8 + store i8* %bufend, i8** %bufend.addr, align 8 + store i64 %uval, i64* %uval.addr, align 8 + store i32 %base, i32* %base.addr, align 4 + store i32 %alphacase, i32* %alphacase.addr, align 4 + store i32 0, i32* %negative, align 4 + %0 = load i32, i32* %base.addr, align 4 + %cmp = icmp slt i32 %0, 0 + br i1 %cmp, label %if.then, label %if.end4 + +if.then: ; preds = %entry + %1 = load i32, i32* %base.addr, align 4 + %sub = sub nsw i32 0, %1 + store i32 %sub, i32* %base.addr, align 4 + %2 = load i64, i64* %uval.addr, align 8 + %cmp1 = icmp ugt i64 %2, 9223372036854775807 + br i1 %cmp1, label %if.then2, label %if.end4 + +if.then2: ; preds = %if.then + %3 = load i64, i64* %uval.addr, align 8 + %sub3 = sub i64 0, %3 + store i64 %sub3, i64* %uval.addr, align 8 + store i32 1, i32* %negative, align 4 + br label %if.end4 + +if.end4: ; preds = %if.then, %if.then2, %entry + store i32 -1, i32* %grouping, align 4 + %4 = load i32, i32* %alphacase.addr, align 4 + %and = and i32 128, %4 + store i32 %and, i32* %outdigit, align 4 + %5 = load i32, i32* %outdigit, align 4 + %6 = load i32, i32* %alphacase.addr, align 4 + %xor = xor i32 %6, %5 + store i32 %xor, i32* %alphacase.addr, align 4 + %7 = load i32, i32* %alphacase.addr, align 4 + %cmp5 = icmp eq i32 %7, 44 + br i1 %cmp5, label %if.then6, label %if.end10 + +if.then6: ; preds = %if.end4 + %8 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %grouping7 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %8, i32 0, i32 41 + %9 = load i8*, i8** %grouping7, align 8 + store i8* %9, i8** %g, align 8 + %10 = load i8, i8* %9, align 1 + %tobool = icmp ne i8 %10, 0 + br i1 %tobool, label %if.then8, label %if.end10 + +if.then8: ; preds = %if.then6 + %11 = load i8*, i8** %g, align 8 + %12 = load i8, i8* %11, align 1 + %conv = sext i8 %12 to i32 + store i32 %conv, i32* %grouping, align 4 + br label %if.end10 + +if.end10: ; preds = %if.then6, %if.then8, %if.end4 + %13 = load i8*, i8** %bufend.addr, align 8 + store i8 0, i8* %13, align 1 + %14 = load i32, i32* %base.addr, align 4 + %div = udiv i32 -1, %14 + store i32 %div, i32* %H, align 4 + %15 = load i32, i32* %base.addr, align 4 + %rem = urem i32 -1, %15 + %add = add i32 %rem, 1 + store i32 %add, i32* %L, align 4 + %16 = load i32, i32* %L, align 4 + %17 = load i32, i32* %base.addr, align 4 + %cmp11 = icmp eq i32 %16, %17 + br i1 %cmp11, label %if.then13, label %if.end14 + +if.then13: ; preds = %if.end10 + %18 = load i32, i32* %H, align 4 + %inc = add i32 %18, 1 + store i32 %inc, i32* %H, align 4 + store i32 0, i32* %L, align 4 + br label %if.end14 + +if.end14: ; preds = %if.then13, %if.end10 + %19 = load i64, i64* %uval.addr, align 8 + %conv15 = trunc i64 %19 to i32 + store i32 %conv15, i32* %low, align 4 + %20 = load i64, i64* %uval.addr, align 8 + %shr = lshr i64 %20, 32 + %conv16 = trunc i64 %shr to i32 + store i32 %conv16, i32* %high, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %if.end14 + %21 = load i32, i32* %grouping, align 4 + %tobool17 = icmp ne i32 %21, 0 + br i1 %tobool17, label %if.end27, label %if.then18 + +if.then18: ; preds = %do.body + %22 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %thousands_sep_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %22, i32 0, i32 27 + %23 = load i32, i32* %thousands_sep_len, align 4 + %24 = load i8*, i8** %bufend.addr, align 8 + %idx.ext = sext i32 %23 to i64 + %idx.neg = sub i64 0, %idx.ext + %add.ptr = getelementptr inbounds i8, i8* %24, i64 %idx.neg + store i8* %add.ptr, i8** %bufend.addr, align 8 + %25 = load i8*, i8** %bufend.addr, align 8 + %26 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %thousands_sep = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %26, i32 0, i32 40 + %27 = load i8*, i8** %thousands_sep, align 8 + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %thousands_sep_len19 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %28, i32 0, i32 27 + %29 = load i32, i32* %thousands_sep_len19, align 4 + %conv20 = sext i32 %29 to i64 + %call = call i8* @memcpy(i8* %25, i8* %27, i64 %conv20) #19 + %30 = load i8*, i8** %g, align 8 + %arrayidx = getelementptr inbounds i8, i8* %30, i64 1 + %31 = load i8, i8* %arrayidx, align 1 + %conv21 = sext i8 %31 to i32 + %cmp22 = icmp ne i32 %conv21, 0 + br i1 %cmp22, label %if.then24, label %if.end25 + +if.then24: ; preds = %if.then18 + %32 = load i8*, i8** %g, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %32, i32 1 + store i8* %incdec.ptr, i8** %g, align 8 + br label %if.end25 + +if.end25: ; preds = %if.then24, %if.then18 + %33 = load i8*, i8** %g, align 8 + %34 = load i8, i8* %33, align 1 + %conv26 = sext i8 %34 to i32 + store i32 %conv26, i32* %grouping, align 4 + br label %if.end27 + +if.end27: ; preds = %if.end25, %do.body + %35 = load i32, i32* %grouping, align 4 + %dec = add nsw i32 %35, -1 + store i32 %dec, i32* %grouping, align 4 + %36 = load i32, i32* %high, align 4 + %tobool28 = icmp ne i32 %36, 0 + %lnot = xor i1 %tobool28, true + %lnot29 = xor i1 %lnot, true + %lnot.ext = zext i1 %lnot29 to i32 + %conv30 = sext i32 %lnot.ext to i64 + %tobool31 = icmp ne i64 %conv30, 0 + br i1 %tobool31, label %if.then32, label %if.else + +if.then32: ; preds = %if.end27 + %37 = load i32, i32* %high, align 4 + %38 = load i32, i32* %base.addr, align 4 + %rem33 = urem i32 %37, %38 + store i32 %rem33, i32* %rh, align 4 + %39 = load i32, i32* %base.addr, align 4 + %40 = load i32, i32* %high, align 4 + %div34 = udiv i32 %40, %39 + store i32 %div34, i32* %high, align 4 + %41 = load i32, i32* %low, align 4 + %42 = load i32, i32* %base.addr, align 4 + %rem35 = urem i32 %41, %42 + %43 = load i32, i32* %L, align 4 + %44 = load i32, i32* %rh, align 4 + %mul = mul i32 %43, %44 + %add36 = add i32 %rem35, %mul + store i32 %add36, i32* %digit, align 4 + %45 = load i32, i32* %low, align 4 + %46 = load i32, i32* %base.addr, align 4 + %div37 = udiv i32 %45, %46 + %47 = load i32, i32* %H, align 4 + %48 = load i32, i32* %rh, align 4 + %mul38 = mul i32 %47, %48 + %add39 = add i32 %div37, %mul38 + %49 = load i32, i32* %digit, align 4 + %50 = load i32, i32* %base.addr, align 4 + %div40 = udiv i32 %49, %50 + %add41 = add i32 %add39, %div40 + store i32 %add41, i32* %low, align 4 + %51 = load i32, i32* %base.addr, align 4 + %52 = load i32, i32* %digit, align 4 + %rem42 = urem i32 %52, %51 + store i32 %rem42, i32* %digit, align 4 + br label %if.end45 + +if.else: ; preds = %if.end27 + %53 = load i32, i32* %low, align 4 + %54 = load i32, i32* %base.addr, align 4 + %rem43 = urem i32 %53, %54 + store i32 %rem43, i32* %digit, align 4 + %55 = load i32, i32* %base.addr, align 4 + %56 = load i32, i32* %low, align 4 + %div44 = udiv i32 %56, %55 + store i32 %div44, i32* %low, align 4 + br label %if.end45 + +if.end45: ; preds = %if.else, %if.then32 + %57 = load i32, i32* %outdigit, align 4 + %tobool46 = icmp ne i32 %57, 0 + %lnot47 = xor i1 %tobool46, true + %lnot49 = xor i1 %lnot47, true + %lnot.ext50 = zext i1 %lnot49 to i32 + %conv51 = sext i32 %lnot.ext50 to i64 + %tobool52 = icmp ne i64 %conv51, 0 + br i1 %tobool52, label %if.then53, label %if.else66 + +if.then53: ; preds = %if.end45 + %58 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %outdigit_length = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %58, i32 0, i32 11 + %59 = load i32, i32* %digit, align 4 + %idxprom = zext i32 %59 to i64 + %arrayidx54 = getelementptr inbounds [10 x i8], [10 x i8]* %outdigit_length, i64 0, i64 %idxprom + %60 = load i8, i8* %arrayidx54, align 1 + %conv55 = zext i8 %60 to i32 + %61 = load i8*, i8** %bufend.addr, align 8 + %idx.ext56 = sext i32 %conv55 to i64 + %idx.neg57 = sub i64 0, %idx.ext56 + %add.ptr58 = getelementptr inbounds i8, i8* %61, i64 %idx.neg57 + store i8* %add.ptr58, i8** %bufend.addr, align 8 + %62 = load i8*, i8** %bufend.addr, align 8 + %63 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %outdigit0_mb = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %63, i32 0, i32 28 + %64 = load i32, i32* %digit, align 4 + %idxprom59 = zext i32 %64 to i64 + %arrayidx60 = getelementptr inbounds i8*, i8** %outdigit0_mb, i64 %idxprom59 + %65 = load i8*, i8** %arrayidx60, align 8 + %66 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %outdigit_length61 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %66, i32 0, i32 11 + %67 = load i32, i32* %digit, align 4 + %idxprom62 = zext i32 %67 to i64 + %arrayidx63 = getelementptr inbounds [10 x i8], [10 x i8]* %outdigit_length61, i64 0, i64 %idxprom62 + %68 = load i8, i8* %arrayidx63, align 1 + %conv64 = zext i8 %68 to i64 + %call65 = call i8* @memcpy(i8* %62, i8* %65, i64 %conv64) #19 + br label %do.cond + +if.else66: ; preds = %if.end45 + %69 = load i32, i32* %digit, align 4 + %cmp67 = icmp ult i32 %69, 10 + %70 = load i32, i32* %digit, align 4 + %add69 = add i32 %70, 48 + %71 = load i32, i32* %alphacase.addr, align 4 + %add70 = add i32 %70, %71 + %cond = select i1 %cmp67, i32 %add69, i32 %add70 + %conv71 = trunc i32 %cond to i8 + %72 = load i8*, i8** %bufend.addr, align 8 + %incdec.ptr72 = getelementptr inbounds i8, i8* %72, i32 -1 + store i8* %incdec.ptr72, i8** %bufend.addr, align 8 + store i8 %conv71, i8* %incdec.ptr72, align 1 + br label %do.cond + +do.cond: ; preds = %if.then53, %if.else66 + %73 = load i32, i32* %low, align 4 + %74 = load i32, i32* %high, align 4 + %or = or i32 %73, %74 + %tobool74 = icmp ne i32 %or, 0 + br i1 %tobool74, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %75 = load i32, i32* %negative, align 4 + %tobool75 = icmp ne i32 %75, 0 + br i1 %tobool75, label %if.then76, label %if.end78 + +if.then76: ; preds = %do.end + %76 = load i8*, i8** %bufend.addr, align 8 + %incdec.ptr77 = getelementptr inbounds i8, i8* %76, i32 -1 + store i8* %incdec.ptr77, i8** %bufend.addr, align 8 + store i8 45, i8* %incdec.ptr77, align 1 + br label %if.end78 + +if.end78: ; preds = %if.then76, %do.end + %77 = load i8*, i8** %bufend.addr, align 8 + ret i8* %77 +} + +; Function Attrs: noinline nounwind uwtable +define hidden %struct.exit_function* @__new_exitfn() #0 { +entry: + %efp = alloca %struct.exit_function*, align 8 + %0 = load i32, i32* @__exit_slots, align 4 + %1 = load i32, i32* @__exit_count, align 4 + %add = add nsw i32 %1, 1 + %cmp = icmp slt i32 %0, %add + br i1 %cmp, label %if.then, label %if.end6 + +if.then: ; preds = %entry + %2 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + %3 = bitcast %struct.exit_function* %2 to i8* + %4 = load i32, i32* @__exit_slots, align 4 + %add1 = add nsw i32 %4, 20 + %conv = sext i32 %add1 to i64 + %mul = mul i64 %conv, 32 + %call = call noalias i8* @realloc(i8* %3, i64 %mul) #19 + %5 = bitcast i8* %call to %struct.exit_function* + store %struct.exit_function* %5, %struct.exit_function** %efp, align 8 + %6 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %cmp2 = icmp eq %struct.exit_function* %6, null + br i1 %cmp2, label %if.then4, label %if.end + +if.then4: ; preds = %if.then + store i32 12, i32* @errno, align 4 + br label %DONE + +if.end: ; preds = %if.then + %7 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + store %struct.exit_function* %7, %struct.exit_function** @__exit_function_table, align 8 + %8 = load i32, i32* @__exit_slots, align 4 + %add5 = add nsw i32 %8, 20 + store i32 %add5, i32* @__exit_slots, align 4 + br label %if.end6 + +if.end6: ; preds = %if.end, %entry + store void (i32)* @__exit_handler, void (i32)** @__exit_cleanup, align 8 + %9 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + %10 = load i32, i32* @__exit_count, align 4 + %inc = add nsw i32 %10, 1 + store i32 %inc, i32* @__exit_count, align 4 + %idxprom = sext i32 %10 to i64 + %arrayidx = getelementptr inbounds %struct.exit_function, %struct.exit_function* %9, i64 %idxprom + store %struct.exit_function* %arrayidx, %struct.exit_function** %efp, align 8 + %11 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %type = getelementptr inbounds %struct.exit_function, %struct.exit_function* %11, i32 0, i32 0 + store i64 1, i64* %type, align 8 + br label %DONE + +DONE: ; preds = %if.end6, %if.then4 + %12 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + ret %struct.exit_function* %12 +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @__exit_handler(i32 %status) #0 { +entry: + %status.addr = alloca i32, align 4 + %efp = alloca %struct.exit_function*, align 8 + store i32 %status, i32* %status.addr, align 4 + br label %while.cond + +while.cond: ; preds = %sw.epilog, %entry + %0 = load i32, i32* @__exit_count, align 4 + %tobool = icmp ne i32 %0, 0 + %1 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %2 = load i32, i32* @__exit_count, align 4 + %dec = add nsw i32 %2, -1 + store i32 %dec, i32* @__exit_count, align 4 + %idxprom = sext i32 %dec to i64 + %arrayidx = getelementptr inbounds %struct.exit_function, %struct.exit_function* %1, i64 %idxprom + store %struct.exit_function* %arrayidx, %struct.exit_function** %efp, align 8 + %3 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %type = getelementptr inbounds %struct.exit_function, %struct.exit_function* %3, i32 0, i32 0 + %4 = load i64, i64* %type, align 8 + br label %NodeBlock1 + +NodeBlock1: ; preds = %while.body + %case.cmp2 = icmp eq i64 %4, 2 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i64 %4, 3 + br i1 %case.cmp, label %sw.bb7, label %newDefault + +sw.bb: ; preds = %NodeBlock1 + %5 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs = getelementptr inbounds %struct.exit_function, %struct.exit_function* %5, i32 0, i32 1 + %on_exit = bitcast %union.anon.772* %funcs to %struct.anon.779* + %func = getelementptr inbounds %struct.anon.779, %struct.anon.779* %on_exit, i32 0, i32 0 + %6 = load void (i32, i8*)*, void (i32, i8*)** %func, align 8 + %tobool1 = icmp ne void (i32, i8*)* %6, null + br i1 %tobool1, label %if.then, label %sw.epilog + +if.then: ; preds = %sw.bb + %7 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs2 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %7, i32 0, i32 1 + %on_exit3 = bitcast %union.anon.772* %funcs2 to %struct.anon.779* + %func4 = getelementptr inbounds %struct.anon.779, %struct.anon.779* %on_exit3, i32 0, i32 0 + %8 = load void (i32, i8*)*, void (i32, i8*)** %func4, align 8 + %9 = load i32, i32* %status.addr, align 4 + %10 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs5 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %10, i32 0, i32 1 + %on_exit6 = bitcast %union.anon.772* %funcs5 to %struct.anon.779* + %arg = getelementptr inbounds %struct.anon.779, %struct.anon.779* %on_exit6, i32 0, i32 1 + %11 = load i8*, i8** %arg, align 8 + call void %8(i32 %9, i8* %11) #18 + br label %sw.epilog + +sw.bb7: ; preds = %NodeBlock + %12 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs8 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %12, i32 0, i32 1 + %cxa_atexit = bitcast %union.anon.772* %funcs8 to %struct.anon.0.771* + %func9 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit, i32 0, i32 0 + %13 = load void (i8*)*, void (i8*)** %func9, align 8 + %tobool10 = icmp ne void (i8*)* %13, null + br i1 %tobool10, label %if.then11, label %sw.epilog + +if.then11: ; preds = %sw.bb7 + %14 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs12 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %14, i32 0, i32 1 + %cxa_atexit13 = bitcast %union.anon.772* %funcs12 to %struct.anon.0.771* + %func14 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit13, i32 0, i32 0 + %15 = load void (i8*)*, void (i8*)** %func14, align 8 + %16 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs15 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %16, i32 0, i32 1 + %cxa_atexit16 = bitcast %union.anon.772* %funcs15 to %struct.anon.0.771* + %arg17 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit16, i32 0, i32 1 + %17 = load i8*, i8** %arg17, align 8 + call void %15(i8* %17) #18 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.epilog + +sw.epilog: ; preds = %newDefault, %sw.bb7, %if.then11, %sw.bb, %if.then + br label %while.cond + +while.end: ; preds = %while.cond + %tobool19 = icmp ne %struct.exit_function* %1, null + br i1 %tobool19, label %if.then20, label %if.end21 + +if.then20: ; preds = %while.end + %18 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + %19 = bitcast %struct.exit_function* %18 to i8* + call void @free(i8* %19) #19 + br label %if.end21 + +if.end21: ; preds = %if.then20, %while.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__xpg_strerror_r(i32 %errnum, i8* %strerrbuf, i64 %buflen) #0 { +entry: + %errnum.addr = alloca i32, align 4 + %strerrbuf.addr = alloca i8*, align 8 + %buflen.addr = alloca i64, align 8 + %s = alloca i8*, align 8 + %i = alloca i32, align 4 + %retval1 = alloca i32, align 4 + %buf = alloca [50 x i8], align 16 + store i32 %errnum, i32* %errnum.addr, align 4 + store i8* %strerrbuf, i8** %strerrbuf.addr, align 8 + store i64 %buflen, i64* %buflen.addr, align 8 + store i32 22, i32* %retval1, align 4 + %0 = load i32, i32* %errnum.addr, align 4 + store i32 %0, i32* %i, align 4 + %1 = load i32, i32* %i, align 4 + %cmp = icmp ult i32 %1, 125 + br i1 %cmp, label %if.then, label %if.end7 + +if.then: ; preds = %entry + store i8* getelementptr inbounds ([2906 x i8], [2906 x i8]* @_string_syserrmsgs, i64 0, i64 0), i8** %s, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.then + %2 = load i32, i32* %i, align 4 + %tobool = icmp ne i32 %2, 0 + %3 = load i8*, i8** %s, align 8 + %4 = load i8, i8* %3, align 1 + %tobool2 = icmp ne i8 %4, 0 + br i1 %tobool, label %for.body, label %for.end + +for.body: ; preds = %for.cond + br i1 %tobool2, label %for.inc, label %if.then3 + +if.then3: ; preds = %for.body + %5 = load i32, i32* %i, align 4 + %dec = add nsw i32 %5, -1 + store i32 %dec, i32* %i, align 4 + br label %for.inc + +for.inc: ; preds = %for.body, %if.then3 + %6 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + br i1 %tobool2, label %if.then5, label %if.end7 + +if.then5: ; preds = %for.end + store i32 0, i32* %retval1, align 4 + br label %GOT_MESG + +if.end7: ; preds = %for.end, %entry + %arraydecay = getelementptr inbounds [50 x i8], [50 x i8]* %buf, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 50 + %add.ptr8 = getelementptr inbounds i8, i8* %add.ptr, i64 -1 + %7 = load i32, i32* %errnum.addr, align 4 + %conv = sext i32 %7 to i64 + %call = call i8* @_uintmaxtostr(i8* %add.ptr8, i64 %conv, i32 -10, i32 0) #18 + %add.ptr9 = getelementptr inbounds i8, i8* %call, i64 -14 + store i8* %add.ptr9, i8** %s, align 8 + %8 = load i8*, i8** %s, align 8 + %call10 = call i8* @memcpy(i8* %8, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @__xpg_strerror_r.unknown, i64 0, i64 0), i64 14) #19 + br label %GOT_MESG + +GOT_MESG: ; preds = %if.end7, %if.then5 + %9 = load i8*, i8** %strerrbuf.addr, align 8 + %tobool11 = icmp ne i8* %9, null + br i1 %tobool11, label %if.end13, label %if.then12 + +if.then12: ; preds = %GOT_MESG + store i64 0, i64* %buflen.addr, align 8 + br label %if.end13 + +if.end13: ; preds = %if.then12, %GOT_MESG + %10 = load i8*, i8** %s, align 8 + %call14 = call i64 @strlen(i8* %10) #20 + %add = add i64 %call14, 1 + %conv15 = trunc i64 %add to i32 + store i32 %conv15, i32* %i, align 4 + %11 = load i32, i32* %i, align 4 + %conv16 = sext i32 %11 to i64 + %12 = load i64, i64* %buflen.addr, align 8 + %cmp17 = icmp ugt i64 %conv16, %12 + br i1 %cmp17, label %if.then19, label %if.end21 + +if.then19: ; preds = %if.end13 + %13 = load i64, i64* %buflen.addr, align 8 + %conv20 = trunc i64 %13 to i32 + store i32 %conv20, i32* %i, align 4 + store i32 34, i32* %retval1, align 4 + br label %if.end21 + +if.end21: ; preds = %if.then19, %if.end13 + %14 = load i32, i32* %i, align 4 + %tobool22 = icmp ne i32 %14, 0 + br i1 %tobool22, label %if.then23, label %if.end26 + +if.then23: ; preds = %if.end21 + %15 = load i8*, i8** %strerrbuf.addr, align 8 + %16 = load i8*, i8** %s, align 8 + %17 = load i32, i32* %i, align 4 + %conv24 = sext i32 %17 to i64 + %call25 = call i8* @memcpy(i8* %15, i8* %16, i64 %conv24) #19 + %18 = load i8*, i8** %strerrbuf.addr, align 8 + %19 = load i32, i32* %i, align 4 + %sub = sub nsw i32 %19, 1 + %idxprom = sext i32 %sub to i64 + %arrayidx = getelementptr inbounds i8, i8* %18, i64 %idxprom + store i8 0, i8* %arrayidx, align 1 + br label %if.end26 + +if.end26: ; preds = %if.then23, %if.end21 + %20 = load i32, i32* %retval1, align 4 + %tobool27 = icmp ne i32 %20, 0 + br i1 %tobool27, label %if.then28, label %if.end29 + +if.then28: ; preds = %if.end26 + %21 = load i32, i32* %retval1, align 4 + store i32 %21, i32* @errno, align 4 + br label %if.end29 + +if.end29: ; preds = %if.then28, %if.end26 + %22 = load i32, i32* %retval1, align 4 + ret i32 %22 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @strtok_r(i8* noalias %s1, i8* noalias nonnull %s2, i8** noalias nonnull %next_start) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %next_start.addr = alloca i8**, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i8** %next_start, i8*** %next_start.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + %cmp = icmp ne i8* %0, null + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %1 = load i8**, i8*** %next_start.addr, align 8 + %2 = load i8*, i8** %1, align 8 + store i8* %2, i8** %s, align 8 + %cmp1 = icmp ne i8* %2, null + br i1 %cmp1, label %if.then, label %if.end7 + +if.then: ; preds = %lor.lhs.false, %entry + %3 = load i8*, i8** %s, align 8 + %4 = load i8*, i8** %s2.addr, align 8 + %call = call i64 @strspn(i8* %3, i8* %4) #20 + %5 = load i8*, i8** %s, align 8 + %add.ptr = getelementptr inbounds i8, i8* %5, i64 %call + store i8* %add.ptr, i8** %s, align 8 + %6 = load i8, i8* %add.ptr, align 1 + %tobool = icmp ne i8 %6, 0 + br i1 %tobool, label %if.then2, label %if.else + +if.then2: ; preds = %if.then + %7 = load i8*, i8** %s, align 8 + %8 = load i8*, i8** %s2.addr, align 8 + %call3 = call i8* @strpbrk(i8* %7, i8* %8) #20 + store i8* %call3, i8** %p, align 8 + %cmp4 = icmp ne i8* %call3, null + br i1 %cmp4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.then2 + %9 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + store i8 0, i8* %9, align 1 + br label %if.end6 + +if.else: ; preds = %if.then + store i8* null, i8** %s, align 8 + store i8* null, i8** %p, align 8 + br label %if.end6 + +if.end6: ; preds = %if.then2, %if.then5, %if.else + %10 = load i8*, i8** %p, align 8 + %11 = load i8**, i8*** %next_start.addr, align 8 + store i8* %10, i8** %11, align 8 + br label %if.end7 + +if.end7: ; preds = %if.end6, %lor.lhs.false + %12 = load i8*, i8** %s, align 8 + ret i8* %12 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @mbsrtowcs(i32* noalias %dst, i8** noalias %src, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %dst.addr = alloca i32*, align 8 + %src.addr = alloca i8**, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + store i32* %dst, i32** %dst.addr, align 8 + store i8** %src, i8*** %src.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load i32*, i32** %dst.addr, align 8 + %1 = load i8**, i8*** %src.addr, align 8 + %2 = load i64, i64* %len.addr, align 8 + %3 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %cmp = icmp ne %struct.__mbstate_t.512* %3, null + %4 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %cond = select i1 %cmp, %struct.__mbstate_t.512* %4, %struct.__mbstate_t.512* @mbsrtowcs.mbstate + %call = call i64 @mbsnrtowcs(i32* %0, i8** %1, i64 -1, i64 %2, %struct.__mbstate_t.512* %cond) #19 + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define i64 @wcsnrtombs(i8* noalias %dst, i32** noalias %src, i64 %NWC, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %retval = alloca i64, align 8 + %dst.addr = alloca i8*, align 8 + %src.addr = alloca i32**, align 8 + %NWC.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %s = alloca i32*, align 8 + %count = alloca i64, align 8 + %incr = alloca i32, align 4 + %buf = alloca [16 x i8], align 16 + %wc = alloca i32, align 4 + %u = alloca i32, align 4 + store i8* %dst, i8** %dst.addr, align 8 + store i32** %src, i32*** %src.addr, align 8 + store i64 %NWC, i64* %NWC.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 9 + %1 = load i8, i8* %encoding, align 8 + %conv = zext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load i8*, i8** %dst.addr, align 8 + %3 = load i64, i64* %len.addr, align 8 + %4 = load i32**, i32*** %src.addr, align 8 + %5 = load i64, i64* %NWC.addr, align 8 + %call = call i64 @_wchar_wcsntoutf8s(i8* %2, i64 %3, i32** %4, i64 %5) #18 + store i64 %call, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + store i32 1, i32* %incr, align 4 + %6 = load i8*, i8** %dst.addr, align 8 + %tobool = icmp ne i8* %6, null + br i1 %tobool, label %lor.lhs.false, label %if.then4 + +lor.lhs.false: ; preds = %if.end + %7 = load i8*, i8** %dst.addr, align 8 + %8 = load i32**, i32*** %src.addr, align 8 + %9 = bitcast i32** %8 to i8* + %cmp2 = icmp eq i8* %7, %9 + br i1 %cmp2, label %if.then4, label %if.end8 + +if.then4: ; preds = %lor.lhs.false, %if.end + %10 = load i8*, i8** %dst.addr, align 8 + %tobool5 = icmp ne i8* %10, null + br i1 %tobool5, label %if.end7, label %if.then6 + +if.then6: ; preds = %if.then4 + store i64 -1, i64* %len.addr, align 8 + br label %if.end7 + +if.end7: ; preds = %if.then6, %if.then4 + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay, i8** %dst.addr, align 8 + store i32 0, i32* %incr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end7, %lor.lhs.false + %11 = load i64, i64* %len.addr, align 8 + %12 = load i64, i64* %NWC.addr, align 8 + %cmp9 = icmp ugt i64 %11, %12 + br i1 %cmp9, label %if.then11, label %if.end12 + +if.then11: ; preds = %if.end8 + %13 = load i64, i64* %NWC.addr, align 8 + store i64 %13, i64* %len.addr, align 8 + br label %if.end12 + +if.end12: ; preds = %if.then11, %if.end8 + %14 = load i64, i64* %len.addr, align 8 + store i64 %14, i64* %count, align 8 + %15 = load i32**, i32*** %src.addr, align 8 + %16 = load i32*, i32** %15, align 8 + store i32* %16, i32** %s, align 8 + %17 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding13 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %17, i32 0, i32 9 + %18 = load i8, i8* %encoding13, align 8 + %conv14 = zext i8 %18 to i32 + %cmp15 = icmp eq i32 %conv14, 2 + br i1 %cmp15, label %while.cond, label %while.cond52 + +while.cond: ; preds = %if.end12, %if.end45 + %19 = load i64, i64* %count, align 8 + %tobool18 = icmp ne i64 %19, 0 + br i1 %tobool18, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %20 = load i32*, i32** %s, align 8 + %21 = load i32, i32* %20, align 4 + store i32 %21, i32* %wc, align 4 + %cmp19 = icmp ule i32 %21, 127 + br i1 %cmp19, label %if.then21, label %if.else + +if.then21: ; preds = %while.body + %22 = load i32, i32* %wc, align 4 + %conv22 = trunc i32 %22 to i8 + %23 = load i8*, i8** %dst.addr, align 8 + store i8 %conv22, i8* %23, align 1 + %tobool23 = icmp ne i8 %conv22, 0 + br i1 %tobool23, label %if.end45, label %if.then24 + +if.then24: ; preds = %if.then21 + store i32* null, i32** %s, align 8 + br label %while.end + +if.else: ; preds = %while.body + store i32 0, i32* %u, align 4 + %24 = load i32, i32* %wc, align 4 + %cmp26 = icmp ule i32 %24, 9727 + br i1 %cmp26, label %if.then28, label %if.end42 + +if.then28: ; preds = %if.else + %25 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %idx8wc2c = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %25, i32 0, i32 18 + %26 = load i8*, i8** %idx8wc2c, align 8 + %27 = load i32, i32* %wc, align 4 + %shr = lshr i32 %27, 8 + %idxprom = zext i32 %shr to i64 + %arrayidx = getelementptr inbounds i8, i8* %26, i64 %idxprom + %28 = load i8, i8* %arrayidx, align 1 + %conv29 = zext i8 %28 to i32 + store i32 %conv29, i32* %u, align 4 + %29 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %tbl8wc2c = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %29, i32 0, i32 19 + %30 = load i8*, i8** %tbl8wc2c, align 8 + %31 = load i32, i32* %u, align 4 + %shl = shl i32 %31, 4 + %32 = load i32, i32* %wc, align 4 + %shr30 = lshr i32 %32, 4 + %and = and i32 %shr30, 15 + %add = add i32 %shl, %and + %idxprom31 = zext i32 %add to i64 + %arrayidx32 = getelementptr inbounds i8, i8* %30, i64 %idxprom31 + %33 = load i8, i8* %arrayidx32, align 1 + %conv33 = zext i8 %33 to i32 + store i32 %conv33, i32* %u, align 4 + %34 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %tbl8wc2c34 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %34, i32 0, i32 19 + %35 = load i8*, i8** %tbl8wc2c34, align 8 + %36 = load i32, i32* %u, align 4 + %shl35 = shl i32 %36, 4 + %add36 = add i32 1072, %shl35 + %37 = load i32, i32* %wc, align 4 + %and37 = and i32 %37, 15 + %add38 = add i32 %add36, %and37 + %idxprom39 = zext i32 %add38 to i64 + %arrayidx40 = getelementptr inbounds i8, i8* %35, i64 %idxprom39 + %38 = load i8, i8* %arrayidx40, align 1 + %conv41 = zext i8 %38 to i32 + store i32 %conv41, i32* %u, align 4 + br label %if.end42 + +if.end42: ; preds = %if.then28, %if.else + %39 = load i32, i32* %u, align 4 + %tobool43 = icmp ne i32 %39, 0 + %40 = load i32, i32* %u, align 4 + %cond = select i1 %tobool43, i32 %40, i32 63 + %conv44 = trunc i32 %cond to i8 + %41 = load i8*, i8** %dst.addr, align 8 + store i8 %conv44, i8* %41, align 1 + br label %if.end45 + +if.end45: ; preds = %if.then21, %if.end42 + %42 = load i32*, i32** %s, align 8 + %incdec.ptr = getelementptr inbounds i32, i32* %42, i32 1 + store i32* %incdec.ptr, i32** %s, align 8 + %43 = load i32, i32* %incr, align 4 + %44 = load i8*, i8** %dst.addr, align 8 + %idx.ext = sext i32 %43 to i64 + %add.ptr = getelementptr inbounds i8, i8* %44, i64 %idx.ext + store i8* %add.ptr, i8** %dst.addr, align 8 + %45 = load i64, i64* %count, align 8 + %dec = add i64 %45, -1 + store i64 %dec, i64* %count, align 8 + br label %while.cond + +while.end: ; preds = %if.then24, %while.cond + %46 = load i8*, i8** %dst.addr, align 8 + %arraydecay46 = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + %cmp47 = icmp ne i8* %46, %arraydecay46 + br i1 %cmp47, label %if.then49, label %if.end50 + +if.then49: ; preds = %while.end + %47 = load i32*, i32** %s, align 8 + %48 = load i32**, i32*** %src.addr, align 8 + store i32* %47, i32** %48, align 8 + br label %if.end50 + +if.end50: ; preds = %if.then49, %while.end + %49 = load i64, i64* %len.addr, align 8 + %50 = load i64, i64* %count, align 8 + %sub = sub i64 %49, %50 + store i64 %sub, i64* %retval, align 8 + br label %return + +while.cond52: ; preds = %if.end12, %if.end64 + %51 = load i64, i64* %count, align 8 + %tobool53 = icmp ne i64 %51, 0 + br i1 %tobool53, label %while.body54, label %while.end69 + +while.body54: ; preds = %while.cond52 + %52 = load i32*, i32** %s, align 8 + %53 = load i32, i32* %52, align 4 + %cmp55 = icmp uge i32 %53, 128 + br i1 %cmp55, label %if.then57, label %if.end58 + +if.then57: ; preds = %while.body54 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end58: ; preds = %while.body54 + %54 = load i32*, i32** %s, align 8 + %55 = load i32, i32* %54, align 4 + %conv59 = trunc i32 %55 to i8 + %56 = load i8*, i8** %dst.addr, align 8 + store i8 %conv59, i8* %56, align 1 + %conv60 = sext i8 %conv59 to i32 + %cmp61 = icmp eq i32 %conv60, 0 + br i1 %cmp61, label %if.then63, label %if.end64 + +if.then63: ; preds = %if.end58 + store i32* null, i32** %s, align 8 + br label %while.end69 + +if.end64: ; preds = %if.end58 + %57 = load i32*, i32** %s, align 8 + %incdec.ptr65 = getelementptr inbounds i32, i32* %57, i32 1 + store i32* %incdec.ptr65, i32** %s, align 8 + %58 = load i32, i32* %incr, align 4 + %59 = load i8*, i8** %dst.addr, align 8 + %idx.ext66 = sext i32 %58 to i64 + %add.ptr67 = getelementptr inbounds i8, i8* %59, i64 %idx.ext66 + store i8* %add.ptr67, i8** %dst.addr, align 8 + %60 = load i64, i64* %count, align 8 + %dec68 = add i64 %60, -1 + store i64 %dec68, i64* %count, align 8 + br label %while.cond52 + +while.end69: ; preds = %if.then63, %while.cond52 + %61 = load i8*, i8** %dst.addr, align 8 + %arraydecay70 = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + %cmp71 = icmp ne i8* %61, %arraydecay70 + br i1 %cmp71, label %if.then73, label %if.end74 + +if.then73: ; preds = %while.end69 + %62 = load i32*, i32** %s, align 8 + %63 = load i32**, i32*** %src.addr, align 8 + store i32* %62, i32** %63, align 8 + br label %if.end74 + +if.end74: ; preds = %if.then73, %while.end69 + %64 = load i64, i64* %len.addr, align 8 + %65 = load i64, i64* %count, align 8 + %sub75 = sub i64 %64, %65 + store i64 %sub75, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end74, %if.then57, %if.end50, %if.then + %66 = load i64, i64* %retval, align 8 + ret i64 %66 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @memchr(i8* nonnull %s, i32 %c, i64 %n) #14 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %n.addr = alloca i64, align 8 + %r = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %r, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %1 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %2 = load i8*, i8** %r, align 8 + %3 = load i8, i8* %2, align 1 + %conv = zext i8 %3 to i32 + %4 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %4 to i8 + %conv2 = zext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + %5 = load i8*, i8** %r, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + store i8* %5, i8** %retval, align 8 + br label %return + +if.end: ; preds = %while.body + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %r, align 8 + %6 = load i64, i64* %n.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then + %7 = load i8*, i8** %retval, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @memrchr(i8* nonnull %s, i32 %c, i64 %n) #14 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %n.addr = alloca i64, align 8 + %r = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i64, i64* %n.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %0, i64 %1 + store i8* %add.ptr, i8** %r, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %2 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load i8*, i8** %r, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 -1 + store i8* %incdec.ptr, i8** %r, align 8 + %4 = load i8, i8* %incdec.ptr, align 1 + %conv = zext i8 %4 to i32 + %5 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %5 to i8 + %conv2 = zext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + %6 = load i8*, i8** %r, align 8 + store i8* %6, i8** %retval, align 8 + br label %return + +if.end: ; preds = %while.body + %7 = load i64, i64* %n.addr, align 8 + %dec = add i64 %7, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then + %8 = load i8*, i8** %retval, align 8 + ret i8* %8 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @strpbrk(i8* nonnull %s1, i8* nonnull %s2) #14 { +entry: + %retval = alloca i8*, align 8 + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc6, %entry + %1 = load i8*, i8** %s, align 8 + %2 = load i8, i8* %1, align 1 + %tobool = icmp ne i8 %2, 0 + br i1 %tobool, label %for.body, label %for.end8 + +for.body: ; preds = %for.cond + %3 = load i8*, i8** %s2.addr, align 8 + store i8* %3, i8** %p, align 8 + br label %for.cond1 + +for.cond1: ; preds = %for.inc, %for.body + %4 = load i8*, i8** %p, align 8 + %5 = load i8, i8* %4, align 1 + %tobool2 = icmp ne i8 %5, 0 + br i1 %tobool2, label %for.body3, label %for.inc6 + +for.body3: ; preds = %for.cond1 + %6 = load i8*, i8** %p, align 8 + %7 = load i8, i8* %6, align 1 + %conv = sext i8 %7 to i32 + %8 = load i8*, i8** %s, align 8 + %9 = load i8, i8* %8, align 1 + %conv4 = sext i8 %9 to i32 + %cmp = icmp eq i32 %conv, %conv4 + br i1 %cmp, label %if.then, label %for.inc + +if.then: ; preds = %for.body3 + %10 = load i8*, i8** %s, align 8 + store i8* %10, i8** %retval, align 8 + br label %return + +for.inc: ; preds = %for.body3 + %11 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %11, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + br label %for.cond1 + +for.inc6: ; preds = %for.cond1 + %12 = load i8*, i8** %s, align 8 + %incdec.ptr7 = getelementptr inbounds i8, i8* %12, i32 1 + store i8* %incdec.ptr7, i8** %s, align 8 + br label %for.cond + +for.end8: ; preds = %for.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %for.end8, %if.then + %13 = load i8*, i8** %retval, align 8 + ret i8* %13 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_wchar_wcsntoutf8s(i8* noalias %s, i64 %n, i32** noalias %src, i64 %wn) #0 { +entry: + %retval = alloca i64, align 8 + %s.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %src.addr = alloca i32**, align 8 + %wn.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + %len = alloca i64, align 8 + %t = alloca i64, align 8 + %wc = alloca i32, align 4 + %swc = alloca i32*, align 8 + %store = alloca i32, align 4 + %buf = alloca [16 x i8], align 16 + %m = alloca i8, align 1 + store i8* %s, i8** %s.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i32** %src, i32*** %src.addr, align 8 + store i64 %wn, i64* %wn.addr, align 8 + store i32 1, i32* %store, align 4 + %0 = load i8*, i8** %s.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %lor.lhs.false, label %if.then + +lor.lhs.false: ; preds = %entry + %1 = load i8*, i8** %s.addr, align 8 + %2 = load i32**, i32*** %src.addr, align 8 + %3 = bitcast i32** %2 to i8* + %cmp = icmp eq i8* %1, %3 + br i1 %cmp, label %if.then, label %if.end3 + +if.then: ; preds = %lor.lhs.false, %entry + %4 = load i8*, i8** %s.addr, align 8 + %tobool1 = icmp ne i8* %4, null + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + store i64 -1, i64* %n.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay, i8** %s.addr, align 8 + store i32 0, i32* %store, align 4 + br label %if.end3 + +if.end3: ; preds = %if.end, %lor.lhs.false + %5 = load i64, i64* %n.addr, align 8 + store i64 %5, i64* %t, align 8 + %6 = load i32**, i32*** %src.addr, align 8 + %7 = load i32*, i32** %6, align 8 + store i32* %7, i32** %swc, align 8 + br label %while.cond + +while.cond: ; preds = %if.end51, %if.end3 + %8 = load i64, i64* %wn.addr, align 8 + %tobool4 = icmp ne i64 %8, 0 + %9 = load i64, i64* %t, align 8 + %tobool5 = icmp ne i64 %9, 0 + %10 = select i1 %tobool4, i1 %tobool5, i1 false + br i1 %10, label %while.body, label %while.end52 + +while.body: ; preds = %while.cond + %11 = load i32*, i32** %swc, align 8 + %12 = load i32, i32* %11, align 4 + store i32 %12, i32* %wc, align 4 + %13 = load i32, i32* %wc, align 4 + %conv = trunc i32 %13 to i8 + %14 = load i8*, i8** %s.addr, align 8 + store i8 %conv, i8* %14, align 1 + store i64 1, i64* %len, align 8 + %15 = load i32, i32* %wc, align 4 + %cmp6 = icmp uge i32 %15, 128 + %16 = load i32, i32* %wc, align 4 + br i1 %cmp6, label %if.then8, label %if.else + +if.then8: ; preds = %while.body + %conv9 = zext i32 %16 to i64 + %cmp10 = icmp ugt i64 %conv9, 2147483647 + br i1 %cmp10, label %if.then19, label %lor.lhs.false12 + +lor.lhs.false12: ; preds = %if.then8 + %17 = load i32, i32* %wc, align 4 + %sub = sub i32 %17, 65534 + %cmp13 = icmp ult i32 %sub, 2 + br i1 %cmp13, label %if.then19, label %lor.lhs.false15 + +lor.lhs.false15: ; preds = %lor.lhs.false12 + %18 = load i32, i32* %wc, align 4 + %sub16 = sub i32 %18, 55296 + %cmp17 = icmp ult i32 %sub16, 2048 + br i1 %cmp17, label %if.then19, label %if.end20 + +if.then19: ; preds = %lor.lhs.false15, %lor.lhs.false12, %if.then8 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end20: ; preds = %lor.lhs.false15 + %19 = load i32, i32* %wc, align 4 + %shr = lshr i32 %19, 1 + store i32 %shr, i32* %wc, align 4 + %20 = load i8*, i8** %s.addr, align 8 + store i8* %20, i8** %p, align 8 + br label %do.body + +do.body: ; preds = %do.body, %if.end20 + %21 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %21, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %22 = load i32, i32* %wc, align 4 + %shr21 = lshr i32 %22, 5 + store i32 %shr21, i32* %wc, align 4 + %tobool22 = icmp ne i32 %shr21, 0 + br i1 %tobool22, label %do.body, label %do.end + +do.end: ; preds = %do.body + %23 = load i32*, i32** %swc, align 8 + %24 = load i32, i32* %23, align 4 + store i32 %24, i32* %wc, align 4 + %25 = load i8*, i8** %p, align 8 + %26 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %25 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %26 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %len, align 8 + %27 = load i64, i64* %t, align 8 + %cmp23 = icmp ugt i64 %sub.ptr.sub, %27 + br i1 %cmp23, label %while.end52, label %if.end26 + +if.end26: ; preds = %do.end + store i8 -128, i8* %m, align 1 + br label %while.cond27 + +while.cond27: ; preds = %while.body30, %if.end26 + %28 = load i8*, i8** %p, align 8 + %29 = load i8*, i8** %s.addr, align 8 + %cmp28 = icmp ugt i8* %28, %29 + %30 = load i8, i8* %m, align 1 + %conv31 = sext i8 %30 to i32 + br i1 %cmp28, label %while.body30, label %while.end + +while.body30: ; preds = %while.cond27 + %shr32 = ashr i32 %conv31, 1 + %or = or i32 %shr32, 128 + %conv33 = trunc i32 %or to i8 + store i8 %conv33, i8* %m, align 1 + %31 = load i32, i32* %wc, align 4 + %and = and i32 %31, 63 + %or34 = or i32 %and, 128 + %conv35 = trunc i32 %or34 to i8 + %32 = load i8*, i8** %p, align 8 + %incdec.ptr36 = getelementptr inbounds i8, i8* %32, i32 -1 + store i8* %incdec.ptr36, i8** %p, align 8 + store i8 %conv35, i8* %incdec.ptr36, align 1 + %33 = load i32, i32* %wc, align 4 + %shr37 = lshr i32 %33, 6 + store i32 %shr37, i32* %wc, align 4 + br label %while.cond27 + +while.end: ; preds = %while.cond27 + %shl = shl i32 %conv31, 1 + %34 = load i8*, i8** %s.addr, align 8 + %35 = load i8, i8* %34, align 1 + %conv39 = sext i8 %35 to i32 + %or40 = or i32 %conv39, %shl + %conv41 = trunc i32 %or40 to i8 + store i8 %conv41, i8* %34, align 1 + br label %if.end46 + +if.else: ; preds = %while.body + %cmp42 = icmp eq i32 %16, 0 + br i1 %cmp42, label %if.then44, label %if.end46 + +if.then44: ; preds = %if.else + store i32* null, i32** %swc, align 8 + br label %while.end52 + +if.end46: ; preds = %if.else, %while.end + %36 = load i32*, i32** %swc, align 8 + %incdec.ptr47 = getelementptr inbounds i32, i32* %36, i32 1 + store i32* %incdec.ptr47, i32** %swc, align 8 + %37 = load i64, i64* %wn.addr, align 8 + %dec = add i64 %37, -1 + store i64 %dec, i64* %wn.addr, align 8 + %38 = load i64, i64* %len, align 8 + %39 = load i64, i64* %t, align 8 + %sub48 = sub i64 %39, %38 + store i64 %sub48, i64* %t, align 8 + %40 = load i32, i32* %store, align 4 + %tobool49 = icmp ne i32 %40, 0 + br i1 %tobool49, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.end46 + %41 = load i64, i64* %len, align 8 + %42 = load i8*, i8** %s.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %42, i64 %41 + store i8* %add.ptr, i8** %s.addr, align 8 + br label %if.end51 + +if.end51: ; preds = %if.then50, %if.end46 + br label %while.cond + +while.end52: ; preds = %do.end, %if.then44, %while.cond + %43 = load i32, i32* %store, align 4 + %tobool53 = icmp ne i32 %43, 0 + br i1 %tobool53, label %if.then54, label %if.end55 + +if.then54: ; preds = %while.end52 + %44 = load i32*, i32** %swc, align 8 + %45 = load i32**, i32*** %src.addr, align 8 + store i32* %44, i32** %45, align 8 + br label %if.end55 + +if.end55: ; preds = %if.then54, %while.end52 + %46 = load i64, i64* %n.addr, align 8 + %47 = load i64, i64* %t, align 8 + %sub56 = sub i64 %46, %47 + store i64 %sub56, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end55, %if.then19 + %48 = load i64, i64* %retval, align 8 + ret i64 %48 +} + +attributes #0 = { noinline nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #1 = { noinline noreturn nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #2 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #3 = { noinline nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #4 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #5 = { "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #6 = { noinline noreturn nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #7 = { noreturn "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #8 = { argmemonly nounwind willreturn writeonly } +attributes #9 = { argmemonly nounwind willreturn } +attributes #10 = { noreturn nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #11 = { nounwind } +attributes #12 = { noinline nounwind readnone uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #13 = { noreturn "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #14 = { noinline nounwind readonly uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #15 = { noinline nounwind readonly uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #16 = { noinline nounwind returns_twice uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #17 = { "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #18 = { nobuiltin "no-builtins" } +attributes #19 = { nobuiltin nounwind "no-builtins" } +attributes #20 = { nobuiltin nounwind readonly "no-builtins" } +attributes #21 = { nobuiltin nounwind readnone "no-builtins" } +attributes #22 = { nobuiltin noreturn nounwind "no-builtins" } +attributes #23 = { nounwind readonly } +attributes #24 = { noreturn } +attributes #25 = { nounwind readnone } +attributes #26 = { noreturn nounwind } +attributes #27 = { nobuiltin noreturn "no-builtins" } + +!llvm.module.flags = !{!0, !1} +!llvm.ident = !{!2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2} + +!0 = !{i32 1, !"wchar_size", i32 4} +!1 = !{i32 7, !"PIC Level", i32 2} +!2 = !{!"clang version 11.1.0 (https://github.com/llvm/llvm-project.git 1fdec59bffc11ae37eb51a1b9869f0696bfd5312)"} diff --git a/benchmarks/coreutils/gensym_posix/false.ll b/benchmarks/coreutils/gensym_posix/false.ll new file mode 100644 index 000000000..00f0d3e2d --- /dev/null +++ b/benchmarks/coreutils/gensym_posix/false.ll @@ -0,0 +1,28735 @@ +; ModuleID = '__uClibc_main.os' +source_filename = "libc/misc/internals/__uClibc_main.c" +target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" +target triple = "x86_64-unknown-linux-gnu" + +module asm ".section .gnu.warning.siggetmask" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.__fpending" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.gets" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.tmpnam" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.mktemp" +module asm "\09.previous" + +%struct.__uclibc_locale_struct.201 = type { i16*, i16*, i16*, [384 x i16], [384 x i16], [384 x i16], [14 x i8], [6 x i16], [6 x i8], i8, i8, [10 x i8], i8*, i8*, i8*, i8*, i8*, i16*, i8*, i8*, i16*, i8*, i8*, i16*, i32, i32, i32, i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__collate_t.200 } +%struct.__collate_t.200 = type { i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16*, i16*, i16*, i16*, i16*, i16*, i16*, i16*, i16*, i16 } +%struct.__STDIO_FILE_STRUCT.568 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.568*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__mbstate_t.512 = type { i32, i32 } +%struct.quoting_options = type { i32, i32, [8 x i32], i8*, i8* } +%struct.infomap = type { i8*, i8* } +%struct.slotvec = type { i64, i8* } +%struct.exe_file_t = type { i32, i32, i64, %struct.exe_disk_file_t* } +%struct.exe_disk_file_t = type { i32, i8*, %struct.stat64* } +%struct.stat64 = type { i64, i64, i64, i32, i32, i32, i32, i64, i64, i64, i64, %struct.timespec, %struct.timespec, %struct.timespec, [3 x i64] } +%struct.timespec = type { i64, i64 } +%struct.exe_file_system_t = type { i32, %struct.exe_disk_file_t*, %struct.exe_disk_file_t*, i32, %struct.exe_disk_file_t*, i32, i32*, i32*, i32*, i32*, i32*, i32*, i32* } +%struct.__locale_mmap_t.203 = type { [420 x i8], [504 x i8], [1760 x i16], [4528 x i8], [3604 x i8], [1680 x i8], [196 x i16], [51 x i8], [28 x i8], [1646 x i8], [28353 x i8], [1804 x i8], [23 x %struct.__codeset_8_bit_t.202], [20 x i8], [10 x i16], [20 x i16], [45 x i8], [3 x i16], [15 x i16], [3894 x i8], [22 x i16], [407 x i16], [8250 x i8], [50 x i16], [3429 x i16], [372 x i8], [4 x i16], [200 x i16], [91141 x i16], [6 x i8], [24 x i64], [2826 x i8], [835 x i8], [18 x i8], [69 x i8], [255 x i8] } +%struct.__codeset_8_bit_t.202 = type { [16 x i8], [16 x i8], [16 x i8], [38 x i8] } +%struct.utmp.323 = type { i16, i32, [32 x i8], [4 x i8], [32 x i8], [256 x i8], %struct.exit_status, i64, %struct.timespec, [4 x i32], [20 x i8] } +%struct.exit_status = type { i16, i16 } +%struct.exit_function = type { i64, %union.anon.772 } +%union.anon.772 = type { %struct.anon.0.771 } +%struct.anon.0.771 = type { void (i8*)*, i8*, i8* } +%struct.dirent64 = type { i64, i64, i16, i8, [256 x i8] } +%struct.__STDIO_FILE_STRUCT.592 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.592*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.608 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.608*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.621 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.621*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.636 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.636*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.Elf64_auxv_t = type { i64, %union.anon.193 } +%union.anon.193 = type { i64 } +%struct.stat.192 = type { i64, i64, i64, i32, i32, i32, i32, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, [3 x i64] } +%struct.__STDIO_FILE_STRUCT.513 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.513*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.exe_sym_env_t = type { [32 x %struct.exe_file_t], i32, i32, i32 } +%struct.__va_list_tag.0 = type { i32, i32, i8*, i8* } +%struct.termios = type { i32, i32, i32, i32, i8, [32 x i8], i32, i32 } +%struct.winsize = type { i16, i16, i16, i16 } +%struct.flock = type { i16, i16, i64, i64, i32 } +%struct.statfs = type { i64, i64, i64, i64, i64, i64, i64, %struct.__fsid_t, i64, i64, i64, [4 x i64] } +%struct.__fsid_t = type { [2 x i32] } +%struct.fd_set = type { [16 x i64] } +%struct.coldata_header_t = type { i16, i16, i16, i16, i16, i16, i16, i16 } +%struct.coldata_base_t = type { i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16 } +%struct._IO_FILE = type { i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct._IO_marker*, %struct._IO_FILE*, i32, i32, i64, i16, i8, [1 x i8], i8*, i64, %struct._IO_codecvt*, %struct._IO_wide_data*, %struct._IO_FILE*, i8*, i64, i32, [20 x i8] } +%struct._IO_marker = type opaque +%struct._IO_codecvt = type opaque +%struct._IO_wide_data = type opaque +%struct.__mbstate_t = type { i32, %union.anon } +%union.anon = type { i32 } +%struct.sigaction.800 = type { %union.anon.799, %struct.fd_set, i32, void ()* } +%union.anon.799 = type { void (i32)* } +%struct.tms = type { i64, i64, i64, i64 } +%struct.utmpx = type opaque +%struct.utmp = type { i16, i32, [32 x i8], [4 x i8], [32 x i8], [256 x i8], %struct.exit_status, i32, %struct.__mbstate_t.512, [4 x i32], [20 x i8] } +%struct.rusage = type { %struct.timespec, %struct.timespec, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193 } +%struct.siginfo_t = type { i32, i32, i32, i32, %union.anon.0 } +%union.anon.0 = type { %struct.anon.3, [80 x i8] } +%struct.anon.3 = type { i32, i32, i32, i64, i64 } +%struct.kernel_sigaction = type { void (i32)*, i64, void ()*, %struct.fd_set } +%struct.__jmp_buf_tag = type { [8 x i64], i32, %struct.fd_set } +%struct.__STDIO_FILE_STRUCT.519 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.519*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__kernel_termios = type { i32, i32, i32, i32, i8, [19 x i8] } +%struct.ppfs_t.722 = type { i8*, %struct.printf_info.720, i32, i32, i32, [4 x i8], [9 x i32], [1 x %struct.__va_list_tag.0], [9 x %union.anon.193] } +%struct.printf_info.720 = type { i32, i32, i32, i32, i32 } +%struct.anon.779 = type { void (i32, i8*)*, i8* } + +@__libc_stack_end = global i8* null, align 8 +@.str = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@__uclibc_progname = hidden global i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i32 0, i32 0), align 8 +@program_invocation_short_name = global i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i32 0, i32 0), align 8 +@program_invocation_name = global i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i32 0, i32 0), align 8 +@__environ = global i8** null, align 8 +@__pagesize = global i64 0, align 8 +@__uClibc_init.been_there_done_that = internal global i32 0, align 4 +@__app_fini = hidden global void ()* null, align 8 +@__rtld_fini = hidden global void ()* null, align 8 +@.str.1 = private unnamed_addr constant [10 x i8] c"/dev/null\00", align 1 +@llvm.used = appending global [5 x i8*] [i8* getelementptr inbounds ([57 x i8], [57 x i8]* @__evoke_link_warning_siggetmask, i32 0, i32 0), i8* getelementptr inbounds ([167 x i8], [167 x i8]* @__evoke_link_warning___fpending, i32 0, i32 0), i8* getelementptr inbounds ([57 x i8], [57 x i8]* @__evoke_link_warning_gets, i32 0, i32 0), i8* getelementptr inbounds ([55 x i8], [55 x i8]* @__evoke_link_warning_tmpnam, i32 0, i32 0), i8* getelementptr inbounds ([55 x i8], [55 x i8]* @__evoke_link_warning_mktemp, i32 0, i32 0)], section "llvm.metadata" +@__evoke_link_warning_siggetmask = internal constant [57 x i8] c"warning: `siggetmask' is obsolete; `sigprocmask' is best\00", section ".gnu.warning.siggetmask\0A#APP\0A\09#", align 16 +@__evoke_link_warning___fpending = internal constant [167 x i8] c"This version of __fpending returns bytes remaining in buffer for both narrow and wide streams. glibc's version returns wide chars in buffer for the wide stream case.\00", section ".gnu.warning.__fpending\0A#APP\0A\09#", align 16 +@__evoke_link_warning_gets = internal constant [57 x i8] c"the 'gets' function is dangerous and should not be used.\00", section ".gnu.warning.gets\0A#APP\0A\09#", align 16 +@__evoke_link_warning_tmpnam = internal constant [55 x i8] c"the use of `tmpnam' is dangerous, better use `mkstemp'\00", section ".gnu.warning.tmpnam\0A#APP\0A\09#", align 16 +@tmpnam_buffer = internal global [20 x i8] zeroinitializer, align 16 +@__evoke_link_warning_mktemp = internal constant [55 x i8] c"the use of `mktemp' is dangerous, better use `mkstemp'\00", section ".gnu.warning.mktemp\0A#APP\0A\09#", align 16 +@.str.4 = private unnamed_addr constant [77 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/fd.c\00", align 1 +@.str.27 = private unnamed_addr constant [37 x i8] c"ERROR: concretizing symbolic pointer\00", align 1 +@.str.28 = private unnamed_addr constant [9 x i8] c"user.err\00", align 1 +@.str.25 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@getcwd.n_calls = internal global i32 0, align 4 +@.str.5 = private unnamed_addr constant [46 x i8] c"Undefined call to open(): O_TRUNC | O_RDONLY\0A\00", align 1 +@.str.1.6 = private unnamed_addr constant [47 x i8] c"Undefined call to open(): O_EXCL w/o O_RDONLY\0A\00", align 1 +@.str.2 = private unnamed_addr constant [44 x i8] c"symbolic file descriptor, ignoring (ENOENT)\00", align 1 +@close.n_calls = internal global i32 0, align 4 +@read.n_calls = internal global i32 0, align 4 +@.str.3 = private unnamed_addr constant [12 x i8] c"f->off >= 0\00", align 1 +@__PRETTY_FUNCTION__.read = private unnamed_addr constant [34 x i8] c"ssize_t read(int, void *, size_t)\00", align 1 +@write.n_calls = internal global i32 0, align 4 +@.str.5.7 = private unnamed_addr constant [7 x i8] c"r >= 0\00", align 1 +@__PRETTY_FUNCTION__.write = private unnamed_addr constant [41 x i8] c"ssize_t write(int, const void *, size_t)\00", align 1 +@.str.6 = private unnamed_addr constant [2 x i8] c"0\00", align 1 +@.str.7 = private unnamed_addr constant [24 x i8] c"write() ignores bytes.\0A\00", align 1 +@.str.8 = private unnamed_addr constant [18 x i8] c"new_off == f->off\00", align 1 +@__PRETTY_FUNCTION__.__fd_lseek = private unnamed_addr constant [38 x i8] c"off64_t __fd_lseek(int, off64_t, int)\00", align 1 +@.str.9 = private unnamed_addr constant [33 x i8] c"symbolic file, ignoring (ENOENT)\00", align 1 +@chmod.n_calls = internal global i32 0, align 4 +@fchmod.n_calls = internal global i32 0, align 4 +@.str.26 = private unnamed_addr constant [32 x i8] c"symbolic file, ignoring (EPERM)\00", align 1 +@__fd_ftruncate.n_calls = internal global i32 0, align 4 +@.str.10 = private unnamed_addr constant [30 x i8] c"symbolic file, ignoring (EIO)\00", align 1 +@.str.11 = private unnamed_addr constant [33 x i8] c"symbolic file, ignoring (EINVAL)\00", align 1 +@.str.12 = private unnamed_addr constant [18 x i8] c"s != (off64_t) -1\00", align 1 +@__PRETTY_FUNCTION__.__fd_getdents = private unnamed_addr constant [65 x i8] c"int __fd_getdents(unsigned int, struct dirent64 *, unsigned int)\00", align 1 +@.str.13 = private unnamed_addr constant [22 x i8] c"f->off != (off64_t)-1\00", align 1 +@.str.14 = private unnamed_addr constant [41 x i8] c"(TCGETS) symbolic file, incomplete model\00", align 1 +@.str.15 = private unnamed_addr constant [42 x i8] c"(TCSETS) symbolic file, silently ignoring\00", align 1 +@.str.16 = private unnamed_addr constant [43 x i8] c"(TCSETSW) symbolic file, silently ignoring\00", align 1 +@.str.17 = private unnamed_addr constant [43 x i8] c"(TCSETSF) symbolic file, silently ignoring\00", align 1 +@.str.18 = private unnamed_addr constant [45 x i8] c"(TIOCGWINSZ) symbolic file, incomplete model\00", align 1 +@.str.19 = private unnamed_addr constant [46 x i8] c"(TIOCSWINSZ) symbolic file, ignoring (EINVAL)\00", align 1 +@.str.20 = private unnamed_addr constant [43 x i8] c"(FIONREAD) symbolic file, incomplete model\00", align 1 +@.str.21 = private unnamed_addr constant [44 x i8] c"(MTIOCGET) symbolic file, ignoring (EINVAL)\00", align 1 +@.str.22 = private unnamed_addr constant [32 x i8] c"symbolic file, ignoring (EBADF)\00", align 1 +@.str.23 = private unnamed_addr constant [17 x i8] c"ignoring (EPERM)\00", align 1 +@.str.24 = private unnamed_addr constant [18 x i8] c"ignoring (ENOENT)\00", align 1 +@__const.klee_init_env.sym_arg_name = private unnamed_addr constant [6 x i8] c"arg\00\00\00", align 1 +@.str.29 = private unnamed_addr constant [7 x i8] c"--help\00", align 1 +@.str.1.30 = private unnamed_addr constant [964 x i8] c"klee_init_env\0A\0Ausage: (klee_init_env) [options] [program arguments]\0A -sym-arg - Replace by a symbolic argument with length N\0A -sym-args - Replace by at least MIN arguments and at most\0A MAX arguments, each with maximum length N\0A -sym-files - Make NUM symbolic files ('A', 'B', 'C', etc.),\0A each with size N\0A -sym-stdin - Make stdin symbolic with size N.\0A -sym-stdout - Make stdout symbolic.\0A -save-all-writes - Allow write operations to execute as expected\0A even if they exceed the file size. If set to 0, all\0A writes exceeding the initial file size are discarded.\0A Note: file offset is always incremented.\0A -max-fail - Allow up to N injected failures\0A -fd-fail - Shortcut for '-max-fail 1'\0A\0A\00", align 1 +@.str.2.31 = private unnamed_addr constant [10 x i8] c"--sym-arg\00", align 1 +@.str.3.32 = private unnamed_addr constant [9 x i8] c"-sym-arg\00", align 1 +@.str.4.33 = private unnamed_addr constant [48 x i8] c"--sym-arg expects an integer argument \00", align 1 +@.str.5.34 = private unnamed_addr constant [45 x i8] c"No more than 100 symbolic arguments allowed.\00", align 1 +@.str.6.35 = private unnamed_addr constant [11 x i8] c"--sym-args\00", align 1 +@.str.7.36 = private unnamed_addr constant [10 x i8] c"-sym-args\00", align 1 +@.str.8.37 = private unnamed_addr constant [77 x i8] c"--sym-args expects three integer arguments \00", align 1 +@.str.9.38 = private unnamed_addr constant [28 x i8] c"Invalid range to --sym-args\00", align 1 +@.str.10.39 = private unnamed_addr constant [7 x i8] c"n_args\00", align 1 +@.str.11.40 = private unnamed_addr constant [12 x i8] c"--sym-files\00", align 1 +@.str.12.41 = private unnamed_addr constant [11 x i8] c"-sym-files\00", align 1 +@.str.13.42 = private unnamed_addr constant [72 x i8] c"--sym-files expects two integer arguments \00", align 1 +@.str.14.43 = private unnamed_addr constant [39 x i8] c"Multiple --sym-files are not allowed.\0A\00", align 1 +@.str.15.44 = private unnamed_addr constant [65 x i8] c"The first argument to --sym-files (number of files) cannot be 0\0A\00", align 1 +@.str.16.45 = private unnamed_addr constant [60 x i8] c"The second argument to --sym-files (file size) cannot be 0\0A\00", align 1 +@.str.17.46 = private unnamed_addr constant [12 x i8] c"--sym-stdin\00", align 1 +@.str.18.47 = private unnamed_addr constant [11 x i8] c"-sym-stdin\00", align 1 +@.str.19.48 = private unnamed_addr constant [57 x i8] c"--sym-stdin expects one integer argument \00", align 1 +@.str.20.49 = private unnamed_addr constant [13 x i8] c"--sym-stdout\00", align 1 +@.str.21.50 = private unnamed_addr constant [12 x i8] c"-sym-stdout\00", align 1 +@.str.22.51 = private unnamed_addr constant [18 x i8] c"--save-all-writes\00", align 1 +@.str.23.52 = private unnamed_addr constant [17 x i8] c"-save-all-writes\00", align 1 +@.str.24.53 = private unnamed_addr constant [10 x i8] c"--fd-fail\00", align 1 +@.str.25.54 = private unnamed_addr constant [9 x i8] c"-fd-fail\00", align 1 +@.str.26.55 = private unnamed_addr constant [12 x i8] c"--bout-file\00", align 1 +@.str.27.56 = private unnamed_addr constant [11 x i8] c"-bout-file\00", align 1 +@.str.28.57 = private unnamed_addr constant [11 x i8] c"--max-fail\00", align 1 +@.str.29.58 = private unnamed_addr constant [10 x i8] c"-max-fail\00", align 1 +@.str.30 = private unnamed_addr constant [54 x i8] c"--max-fail expects an integer argument \00", align 1 +@.str.31 = private unnamed_addr constant [31 x i8] c"out of memory in klee_init_env\00", align 1 +@.str.35 = private unnamed_addr constant [37 x i8] c"too many arguments for klee_init_env\00", align 1 +@.str.32 = private unnamed_addr constant [88 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/klee_init_env.c\00", align 1 +@.str.33 = private unnamed_addr constant [9 x i8] c"user.err\00", align 1 +@.str.34 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.68 = private unnamed_addr constant [5 x i8] c"file\00", align 1 +@.str.1.69 = private unnamed_addr constant [5 x i8] c"/tmp\00", align 1 +@.str.2.70 = private unnamed_addr constant [16 x i8] c"%.*s/%.*sXXXXXX\00", align 1 +@.str.3.73 = private unnamed_addr constant [7 x i8] c"XXXXXX\00", align 1 +@letters = internal constant [63 x i8] c"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\00", align 16 +@brain_damaged_fillrand.value = internal global i64 0, align 8 +@.str.4.74 = private unnamed_addr constant [13 x i8] c"/dev/urandom\00", align 1 +@.str.5.75 = private unnamed_addr constant [12 x i8] c"/dev/random\00", align 1 +@__global_locale_data = global %struct.__uclibc_locale_struct.201 zeroinitializer, align 8 +@__global_locale = global %struct.__uclibc_locale_struct.201* @__global_locale_data, align 8 +@__curlocale_var = global %struct.__uclibc_locale_struct.201* @__global_locale_data, align 8 +@utf8 = internal constant [6 x i8] c"UTF-8\00", align 1 +@ascii = internal constant [6 x i8] c"ASCII\00", align 1 +@__code2flag = internal constant [16 x i16] [i16 0, i16 -15352, i16 -14840, i16 -14584, i16 -15096, i16 -14328, i16 -16380, i16 -16384, i16 24576, i16 24577, i16 8192, i16 8193, i16 8194, i16 8195, i16 2, i16 0], align 16 +@.str.76 = private unnamed_addr constant [14 x i8] c"#\80\80\80\80\80\80\80\80\80\80\80\80\00", align 1 +@stdin = global %struct.__STDIO_FILE_STRUCT.568* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i32 0, i32 0), align 8 +@_stdio_streams = internal global [3 x %struct.__STDIO_FILE_STRUCT.568] [%struct.__STDIO_FILE_STRUCT.568 { i16 544, [2 x i8] zeroinitializer, i32 0, i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 88) to %struct.__STDIO_FILE_STRUCT.568*), [2 x i32] zeroinitializer, %struct.__mbstate_t.512 zeroinitializer, i8* null }, %struct.__STDIO_FILE_STRUCT.568 { i16 528, [2 x i8] zeroinitializer, i32 1, i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 176) to %struct.__STDIO_FILE_STRUCT.568*), [2 x i32] zeroinitializer, %struct.__mbstate_t.512 zeroinitializer, i8* null }, %struct.__STDIO_FILE_STRUCT.568 { i16 528, [2 x i8] zeroinitializer, i32 2, i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, %struct.__STDIO_FILE_STRUCT.568* null, [2 x i32] zeroinitializer, %struct.__mbstate_t.512 zeroinitializer, i8* null }], align 16 +@stdout = global %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 88) to %struct.__STDIO_FILE_STRUCT.568*), align 8 +@stderr = global %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 176) to %struct.__STDIO_FILE_STRUCT.568*), align 8 +@__stdin = global %struct.__STDIO_FILE_STRUCT.568* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i32 0, i32 0), align 8 +@__stdout = global %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 88) to %struct.__STDIO_FILE_STRUCT.568*), align 8 +@_stdio_openlist = global %struct.__STDIO_FILE_STRUCT.568* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i32 0, i32 0), align 8 +@been_there_done_that = internal global i32 0, align 4 +@__exit_cleanup = hidden global void (i32)* null, align 8 +@Version = dso_local global i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.28.95, i32 0, i32 0), align 8 +@.str.28.95 = private unnamed_addr constant [5 x i8] c"8.32\00", align 1 +@exit_failure = dso_local global i32 1, align 4 +@program_name = dso_local global i8* null, align 8 +@quoting_style_args = dso_local constant [11 x i8*] [i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.43, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1.44, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2.45, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.3.46, i32 0, i32 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.4.47, i32 0, i32 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.5.48, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.6.49, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.7.50, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.8.51, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.9.52, i32 0, i32 0), i8* null], align 16 +@.str.43 = private unnamed_addr constant [8 x i8] c"literal\00", align 1 +@.str.1.44 = private unnamed_addr constant [6 x i8] c"shell\00", align 1 +@.str.2.45 = private unnamed_addr constant [13 x i8] c"shell-always\00", align 1 +@.str.3.46 = private unnamed_addr constant [13 x i8] c"shell-escape\00", align 1 +@.str.4.47 = private unnamed_addr constant [20 x i8] c"shell-escape-always\00", align 1 +@.str.5.48 = private unnamed_addr constant [2 x i8] c"c\00", align 1 +@.str.6.49 = private unnamed_addr constant [8 x i8] c"c-maybe\00", align 1 +@.str.7.50 = private unnamed_addr constant [7 x i8] c"escape\00", align 1 +@.str.8.51 = private unnamed_addr constant [7 x i8] c"locale\00", align 1 +@.str.9.52 = private unnamed_addr constant [8 x i8] c"clocale\00", align 1 +@quoting_style_vals = dso_local constant [10 x i32] [i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9], align 16 +@quote_quoting_options = dso_local global %struct.quoting_options { i32 8, i32 0, [8 x i32] zeroinitializer, i8* null, i8* null }, align 8 +@version_etc_copyright = dso_local constant [47 x i8] c"Copyright %s %d Free Software Foundation, Inc.\00", align 16 +@.str.96 = private unnamed_addr constant [61 x i8] c"Usage: %s [ignored command line arguments]\0A or: %s OPTION\0A\00", align 1 +@.str.1.97 = private unnamed_addr constant [5 x i8] c"%s\0A\0A\00", align 1 +@.str.2.98 = private unnamed_addr constant [44 x i8] c"Exit with a status code indicating failure.\00", align 1 +@.str.3.99 = private unnamed_addr constant [45 x i8] c" --help display this help and exit\0A\00", align 1 +@.str.4.100 = private unnamed_addr constant [54 x i8] c" --version output version information and exit\0A\00", align 1 +@.str.5.101 = private unnamed_addr constant [191 x i8] c"\0ANOTE: your shell may have its own version of %s, which usually supersedes\0Athe version described here. Please refer to your shell's documentation\0Afor details about the options it supports.\0A\00", align 1 +@.str.6.102 = private unnamed_addr constant [6 x i8] c"false\00", align 1 +@__const.emit_ancillary_info.infomap = private unnamed_addr constant [7 x %struct.infomap] [%struct.infomap { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.112, i32 0, i32 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.13.113, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.14.114, i32 0, i32 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.15.115, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.16.116, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.17.117, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.18.118, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.17.117, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.19.119, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.17.117, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.20.120, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.17.117, i32 0, i32 0) }, %struct.infomap zeroinitializer], align 16 +@.str.21.103 = private unnamed_addr constant [23 x i8] c"\0A%s online help: <%s>\0A\00", align 1 +@.str.10.104 = private unnamed_addr constant [14 x i8] c"GNU coreutils\00", align 1 +@.str.22.105 = private unnamed_addr constant [40 x i8] c"https://www.gnu.org/software/coreutils/\00", align 1 +@.str.23.106 = private unnamed_addr constant [4 x i8] c"en_\00", align 1 +@.str.24.107 = private unnamed_addr constant [71 x i8] c"Report any translation bugs to \0A\00", align 1 +@.str.25.108 = private unnamed_addr constant [27 x i8] c"Full documentation <%s%s>\0A\00", align 1 +@.str.27.109 = private unnamed_addr constant [12 x i8] c" invocation\00", align 1 +@.str.7.110 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@.str.26.111 = private unnamed_addr constant [51 x i8] c"or available locally via: info '(coreutils) %s%s'\0A\00", align 1 +@.str.12.112 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@.str.13.113 = private unnamed_addr constant [16 x i8] c"test invocation\00", align 1 +@.str.14.114 = private unnamed_addr constant [10 x i8] c"coreutils\00", align 1 +@.str.15.115 = private unnamed_addr constant [22 x i8] c"Multi-call invocation\00", align 1 +@.str.16.116 = private unnamed_addr constant [10 x i8] c"sha224sum\00", align 1 +@.str.17.117 = private unnamed_addr constant [15 x i8] c"sha2 utilities\00", align 1 +@.str.18.118 = private unnamed_addr constant [10 x i8] c"sha256sum\00", align 1 +@.str.19.119 = private unnamed_addr constant [10 x i8] c"sha384sum\00", align 1 +@.str.20.120 = private unnamed_addr constant [10 x i8] c"sha512sum\00", align 1 +@.str.8.123 = private unnamed_addr constant [7 x i8] c"--help\00", align 1 +@.str.9.124 = private unnamed_addr constant [10 x i8] c"--version\00", align 1 +@.str.11.125 = private unnamed_addr constant [13 x i8] c"Jim Meyering\00", align 1 +@.str.64 = private unnamed_addr constant [12 x i8] c"%s (%s) %s\0A\00", align 1 +@.str.1.65 = private unnamed_addr constant [7 x i8] c"%s %s\0A\00", align 1 +@.str.2.66 = private unnamed_addr constant [4 x i8] c"(C)\00", align 1 +@.str.3.67 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.4.68 = private unnamed_addr constant [171 x i8] c"License GPLv3+: GNU GPL version 3 or later <%s>.\0AThis is free software: you are free to change and redistribute it.\0AThere is NO WARRANTY, to the extent permitted by law.\0A\00", align 1 +@.str.5.69 = private unnamed_addr constant [34 x i8] c"https://gnu.org/licenses/gpl.html\00", align 1 +@.str.6.70 = private unnamed_addr constant [16 x i8] c"Written by %s.\0A\00", align 1 +@.str.7.71 = private unnamed_addr constant [23 x i8] c"Written by %s and %s.\0A\00", align 1 +@.str.8.72 = private unnamed_addr constant [28 x i8] c"Written by %s, %s, and %s.\0A\00", align 1 +@.str.9.73 = private unnamed_addr constant [32 x i8] c"Written by %s, %s, %s,\0Aand %s.\0A\00", align 1 +@.str.10.74 = private unnamed_addr constant [36 x i8] c"Written by %s, %s, %s,\0A%s, and %s.\0A\00", align 1 +@.str.11.75 = private unnamed_addr constant [40 x i8] c"Written by %s, %s, %s,\0A%s, %s, and %s.\0A\00", align 1 +@.str.12.76 = private unnamed_addr constant [44 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, and %s.\0A\00", align 1 +@.str.13.77 = private unnamed_addr constant [48 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, %s,\0Aand %s.\0A\00", align 1 +@.str.14.78 = private unnamed_addr constant [52 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, %s,\0A%s, and %s.\0A\00", align 1 +@.str.15.79 = private unnamed_addr constant [60 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, %s,\0A%s, %s, and others.\0A\00", align 1 +@ignore_EPIPE = internal global i8 0, align 1 +@.str.31.126 = private unnamed_addr constant [12 x i8] c"write error\00", align 1 +@file_name = internal global i8* null, align 8 +@.str.1.32 = private unnamed_addr constant [7 x i8] c"%s: %s\00", align 1 +@.str.2.33 = private unnamed_addr constant [3 x i8] c"%s\00", align 1 +@default_quoting_options = internal global %struct.quoting_options zeroinitializer, align 8 +@slotvec = internal global %struct.slotvec* @slotvec0, align 8 +@nslots = internal global i32 1, align 4 +@slotvec0 = internal global %struct.slotvec { i64 256, i8* getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i32 0, i32 0) }, align 8 +@slot0 = internal global [256 x i8] zeroinitializer, align 16 +@.str.10.53 = private unnamed_addr constant [2 x i8] c"\22\00", align 1 +@.str.11.54 = private unnamed_addr constant [2 x i8] c"`\00", align 1 +@.str.12.55 = private unnamed_addr constant [2 x i8] c"'\00", align 1 +@.str.109 = private unnamed_addr constant [2 x i8] c"C\00", align 1 +@.str.1.110 = private unnamed_addr constant [6 x i8] c"POSIX\00", align 1 +@.str.13.56 = private unnamed_addr constant [6 x i8] c"UTF-8\00", align 1 +@.str.14.57 = private unnamed_addr constant [4 x i8] c"\E2\80\98\00", align 1 +@.str.15.58 = private unnamed_addr constant [4 x i8] c"\E2\80\99\00", align 1 +@.str.16.59 = private unnamed_addr constant [8 x i8] c"GB18030\00", align 1 +@.str.17.60 = private unnamed_addr constant [4 x i8] c"\A1\07e\00", align 1 +@.str.18.61 = private unnamed_addr constant [3 x i8] c"\A1\AF\00", align 1 +@.str.113 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@.str.1.114 = private unnamed_addr constant [6 x i8] c"ASCII\00", align 1 +@.str.99 = private unnamed_addr constant [3 x i8] c"%s\00", align 1 +@.str.1.100 = private unnamed_addr constant [17 x i8] c"memory exhausted\00", align 1 +@.str.40 = private unnamed_addr constant [56 x i8] c"A NULL argv[0] was passed through an exec system call.\0A\00", align 1 +@.str.1.41 = private unnamed_addr constant [8 x i8] c"/.libs/\00", align 1 +@.str.2.42 = private unnamed_addr constant [4 x i8] c"lt-\00", align 1 +@.str.16.82 = private unnamed_addr constant [20 x i8] c"Report bugs to: %s\0A\00", align 1 +@.str.17.83 = private unnamed_addr constant [22 x i8] c"bug-coreutils@gnu.org\00", align 1 +@.str.18.84 = private unnamed_addr constant [20 x i8] c"%s home page: <%s>\0A\00", align 1 +@.str.19.85 = private unnamed_addr constant [14 x i8] c"GNU coreutils\00", align 1 +@.str.20.86 = private unnamed_addr constant [40 x i8] c"https://www.gnu.org/software/coreutils/\00", align 1 +@.str.21.87 = private unnamed_addr constant [39 x i8] c"General help using GNU software: <%s>\0A\00", align 1 +@.str.22.88 = private unnamed_addr constant [29 x i8] c"https://www.gnu.org/gethelp/\00", align 1 +@__exe_env = dso_local global { <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] } { <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }> <{ %struct.exe_file_t { i32 0, i32 5, i64 0, %struct.exe_disk_file_t* null }, %struct.exe_file_t { i32 1, i32 9, i64 0, %struct.exe_disk_file_t* null }, %struct.exe_file_t { i32 2, i32 9, i64 0, %struct.exe_disk_file_t* null }, [29 x %struct.exe_file_t] zeroinitializer }>, i32 18, i32 0, i32 0, [4 x i8] undef }, align 8 +@__exe_fs = dso_local global %struct.exe_file_system_t zeroinitializer, align 8 +@__const.klee_init_fds.name = private unnamed_addr constant [7 x i8] c"?-data\00", align 1 +@.str.133 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@.str.1.134 = private unnamed_addr constant [82 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/fd_init.c\00", align 1 +@.str.2.135 = private unnamed_addr constant [31 x i8] c"out of memory in klee_init_env\00", align 1 +@.str.3.136 = private unnamed_addr constant [9 x i8] c"user.err\00", align 1 +@.str.4.138 = private unnamed_addr constant [6 x i8] c"stdin\00", align 1 +@.str.5.139 = private unnamed_addr constant [10 x i8] c"read_fail\00", align 1 +@.str.6.140 = private unnamed_addr constant [11 x i8] c"write_fail\00", align 1 +@.str.7.141 = private unnamed_addr constant [11 x i8] c"close_fail\00", align 1 +@.str.8.142 = private unnamed_addr constant [15 x i8] c"ftruncate_fail\00", align 1 +@.str.9.143 = private unnamed_addr constant [12 x i8] c"getcwd_fail\00", align 1 +@.str.10.144 = private unnamed_addr constant [7 x i8] c"stdout\00", align 1 +@.str.11.145 = private unnamed_addr constant [14 x i8] c"model_version\00", align 1 +@.str.13.146 = private unnamed_addr constant [6 x i8] c"-stat\00", align 1 +@.str.14.147 = private unnamed_addr constant [5 x i8] c"size\00", align 1 +@__PRETTY_FUNCTION__.__create_new_dfile = private unnamed_addr constant [88 x i8] c"void __create_new_dfile(exe_disk_file_t *, unsigned int, const char *, struct stat64 *)\00", align 1 +@.str.12.148 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.149 = private unnamed_addr constant [18 x i8] c"silently ignoring\00", align 1 +@.str.1.154 = private unnamed_addr constant [24 x i8] c"ignoring (EAFNOSUPPORT)\00", align 1 +@.str.11.156 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.2.159 = private unnamed_addr constant [15 x i8] c"ignoring (EIO)\00", align 1 +@.str.3.160 = private unnamed_addr constant [18 x i8] c"ignoring (ENFILE)\00", align 1 +@.str.4.161 = private unnamed_addr constant [17 x i8] c"ignoring (EPERM)\00", align 1 +@.str.5.162 = private unnamed_addr constant [13 x i8] c"returning 0\0A\00", align 1 +@.str.6.163 = private unnamed_addr constant [40 x i8] c"setting all times to 0 and returning 0\0A\00", align 1 +@.str.7.164 = private unnamed_addr constant [17 x i8] c"ignoring (EBADF)\00", align 1 +@.str.8.167 = private unnamed_addr constant [21 x i8] c"ignoring (-1 result)\00", align 1 +@.str.9.168 = private unnamed_addr constant [18 x i8] c"ignoring (ECHILD)\00", align 1 +@.str.10.169 = private unnamed_addr constant [32 x i8] c"silently ignoring (returning 0)\00", align 1 +@__locale_mmap = global %struct.__locale_mmap_t.203* @locale_mmap, align 8 +@locale_mmap = internal constant %struct.__locale_mmap_t.203 { [420 x i8] c"\EE\EE\EE\EE\06afffffff$$$$$$$$$$\06\00\00\00\00D&fffdDDbfff`b\22\22FBFfddfFf$\22fbbB\22DDDD\22\22\22\22\06&fff`\00\00`fffff&ff`ffff\11a\06\00\00\00\11\11\11\11\11\01`\06\EE&fffd\E4\EEnffffb\E2Nfaff\11\11\11\22\22\22\22bDDDdDDD$FDDdDDdD&\22\22b\22\22b\22\22\22\22\12bbf&Fb$dd$dF$$$F\22BB\22fffdbaffff$fba$dFBfdbddBf$df\22b$$FFFdFDdD&&&b&\22b\22Ff\06dFDd@&f&b&\22b D\04DD@DDd\22\02\22\22 \22\22bFAFdFDdd&\22B\22FDDD&\22\22\22\06\00\06\00\00\00f\00\00`\00`\10\11\11\11\11\01\00\00\11afff\06\00\00ff\00ff`f`DddDADDDD@DDDD\22\22!\22\22\22\22\22\22\02\06ffffff\06\00\00\00`f&fffFff\22Fff`b$\04dfff``\00\00 $&f\00`f\06fF@f``\00`f&b\22fFdDffFf\11\11\11a\11\01\00`\11\11\11\16\11f\00\00", [504 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00{}\00\00\00{\00\7F\7F\00\00\00\00\00\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\00\00\F0\FE\00\FE\00\00\00\00\00\00\F0\00\F0\F0\F0\F0\F0\00\00\00\00\00\00\00\00\FF\FF\E7\00\F1\00\00\F0\00\F0\00\00\00\00\F0\00\00\FF\FF\F1\00\00\00\F0\00\F0\00\E7\FF\FF\F0\E0\E0\E0\E0\E0\E0\E0\E0\00\00\F0\00\F0\00\00\00\00\00\F0\00\F0\00\00\A0\00\00\00\00\00\00\00\A0\E0\E0\E0\E0\E0\E0\E0\00\00\F0\F0\F0\F0\F0\F0\00\F0\F0\F0\F0\F0\00\F0\F0\00\FF\FF\00\FF\FF\FB\00\F0\00\F0\FB\F0\00\00\B0\FF\FF\FF\FF\FF\FF\00\FE\F0\FE\F0\FC\F0\FF\FF\FC\E0\E0\E0\E0\E0\E0\E0\B0\00\00\00\00\00\00\FE\00\FE\00\00\00\00\00\00\00\00\00\00\00\FC\00\00\00\FC\00\00\00\FF\FF\BF\00\E0\E0\E0\E0\E0\E0\E0\BF\00\FF\FF\F0\00\00\FE\00\FE\00\F0\00\FE\00\FE\F0\00\00\F9\F0\FC\00\00\00\FC\F9\F0\00\FF\FF\BF\F0\00\F0\00\F0\00\F0\F0\00\00\F0\F0\F0\F0\00\F0\F0\00\F0\00\00\00\00\F0\00\00@\F0\F0\F0\00\00\F0\00\90\F0\F0\F0\00\00\F0\E0\E0\E0\00\E0\E0\E0\E0\00\E0\E0\E0\E0\E0\E0\00\00\F0\F0\F0\F0\00\F0\00\00\F0\F0\F0\F0\FE\F0\FE\00\B0\B0\B0\B0\B0\B0\B0\B0\B0\B0\B0\B0\00\B0\B0\00\00\00\00\00\00\DA\00\DB\DB\DB\00\C0\00\C1\C1\00\E0\E0\E0\E0\E0\E0\E0\E0\E0\00\E0\E0\E0\E0\E0\E0\E0\E0\E0\DA\DB\DB\DB\E0\E0\E1\E0\E0\E0\E0\E0\E0\E0\E0\E0\C0\C1\C1\00\E0\E0\E0\E0\E0t\E0\00\E0\E0\E0\E0\E0L\E0\00\00\00\00\10\00\00\00\00 \10\02\00\02\00\00\00\00\00\00\02\00\02\01\01\00\10\00\00\00\00\00\00\00\00\01\01\10\00\10\00\00\00\00\00\10\00\10\00\00\00\00\00\10\10\00\10\10\00\00\00\00\00\10\00\00", [1760 x i16] [i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 0, i16 1415, i16 1417, i16 41, i16 40, i16 187, i16 171, i16 8212, i16 46, i16 1373, i16 44, i16 45, i16 1418, i16 8230, i16 1372, i16 1371, i16 1374, i16 1329, i16 1377, i16 1330, i16 1378, i16 1331, i16 1379, i16 1332, i16 1380, i16 1333, i16 1381, i16 1334, i16 1382, i16 1335, i16 1383, i16 1336, i16 1384, i16 1337, i16 1385, i16 1338, i16 1386, i16 1339, i16 1387, i16 1340, i16 1388, i16 1341, i16 1389, i16 1342, i16 1390, i16 1343, i16 1391, i16 1344, i16 1392, i16 1345, i16 1393, i16 1346, i16 1394, i16 1347, i16 1395, i16 1348, i16 1396, i16 1349, i16 1397, i16 1350, i16 1398, i16 1351, i16 1399, i16 1352, i16 1400, i16 1353, i16 1401, i16 1354, i16 1402, i16 1355, i16 1403, i16 1356, i16 1404, i16 1357, i16 1405, i16 1358, i16 1406, i16 1359, i16 1407, i16 1360, i16 1408, i16 1361, i16 1409, i16 1362, i16 1410, i16 1363, i16 1411, i16 1364, i16 1412, i16 1365, i16 1413, i16 1366, i16 1414, i16 1370, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1026, i16 1027, i16 8218, i16 1107, i16 8222, i16 8230, i16 8224, i16 8225, i16 8364, i16 8240, i16 1033, i16 8249, i16 1034, i16 1036, i16 1035, i16 1039, i16 1106, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 0, i16 8482, i16 1113, i16 8250, i16 1114, i16 1116, i16 1115, i16 1119, i16 160, i16 1038, i16 1118, i16 1032, i16 164, i16 1168, i16 166, i16 167, i16 1025, i16 169, i16 1028, i16 171, i16 172, i16 173, i16 174, i16 1031, i16 176, i16 177, i16 1030, i16 1110, i16 1169, i16 181, i16 182, i16 183, i16 1105, i16 8470, i16 1108, i16 187, i16 1112, i16 1029, i16 1109, i16 1111, i16 1040, i16 1041, i16 1042, i16 1043, i16 1044, i16 1045, i16 1046, i16 1047, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 1058, i16 1059, i16 1060, i16 1061, i16 1062, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1070, i16 1071, i16 1072, i16 1073, i16 1074, i16 1075, i16 1076, i16 1077, i16 1078, i16 1079, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1088, i16 1089, i16 1090, i16 1091, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1099, i16 1100, i16 1101, i16 1102, i16 1103, i16 8364, i16 0, i16 8218, i16 402, i16 8222, i16 8230, i16 8224, i16 8225, i16 710, i16 8240, i16 0, i16 8249, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 732, i16 8482, i16 0, i16 8250, i16 0, i16 0, i16 0, i16 0, i16 160, i16 161, i16 162, i16 163, i16 8362, i16 165, i16 166, i16 167, i16 168, i16 169, i16 215, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 247, i16 187, i16 188, i16 189, i16 190, i16 191, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 0, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 0, i16 0, i16 8206, i16 8207, i16 0, i16 128, i16 129, i16 8218, i16 402, i16 8222, i16 8230, i16 8224, i16 8225, i16 710, i16 8240, i16 352, i16 8249, i16 338, i16 141, i16 142, i16 143, i16 144, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 732, i16 8482, i16 353, i16 8250, i16 339, i16 157, i16 158, i16 376, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 4304, i16 4305, i16 4306, i16 4307, i16 4308, i16 4309, i16 4310, i16 4337, i16 4311, i16 4312, i16 4313, i16 4314, i16 4315, i16 4316, i16 4338, i16 4317, i16 4318, i16 4319, i16 4320, i16 4321, i16 4322, i16 4339, i16 4323, i16 4324, i16 4325, i16 4326, i16 4327, i16 4328, i16 4329, i16 4330, i16 4331, i16 4332, i16 4333, i16 4334, i16 4340, i16 4335, i16 4336, i16 4341, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 160, i16 260, i16 274, i16 290, i16 298, i16 296, i16 310, i16 167, i16 315, i16 272, i16 352, i16 358, i16 381, i16 173, i16 362, i16 330, i16 176, i16 261, i16 275, i16 291, i16 299, i16 297, i16 311, i16 183, i16 316, i16 273, i16 353, i16 359, i16 382, i16 8213, i16 363, i16 331, i16 256, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 302, i16 268, i16 201, i16 280, i16 203, i16 278, i16 205, i16 206, i16 207, i16 208, i16 325, i16 332, i16 211, i16 212, i16 213, i16 214, i16 360, i16 216, i16 370, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 257, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 303, i16 269, i16 233, i16 281, i16 235, i16 279, i16 237, i16 238, i16 239, i16 240, i16 326, i16 333, i16 243, i16 244, i16 245, i16 246, i16 361, i16 248, i16 371, i16 250, i16 251, i16 252, i16 253, i16 254, i16 312, i16 160, i16 8221, i16 162, i16 163, i16 164, i16 8222, i16 166, i16 167, i16 216, i16 169, i16 342, i16 171, i16 172, i16 173, i16 174, i16 198, i16 176, i16 177, i16 178, i16 179, i16 8220, i16 181, i16 182, i16 183, i16 248, i16 185, i16 343, i16 187, i16 188, i16 189, i16 190, i16 230, i16 260, i16 302, i16 256, i16 262, i16 196, i16 197, i16 280, i16 274, i16 268, i16 201, i16 377, i16 278, i16 290, i16 310, i16 298, i16 315, i16 352, i16 323, i16 325, i16 211, i16 332, i16 213, i16 214, i16 215, i16 370, i16 321, i16 346, i16 362, i16 220, i16 379, i16 381, i16 223, i16 261, i16 303, i16 257, i16 263, i16 228, i16 229, i16 281, i16 275, i16 269, i16 233, i16 378, i16 279, i16 291, i16 311, i16 299, i16 316, i16 353, i16 324, i16 326, i16 243, i16 333, i16 245, i16 246, i16 247, i16 371, i16 322, i16 347, i16 363, i16 252, i16 380, i16 382, i16 8217, i16 160, i16 7682, i16 7683, i16 163, i16 266, i16 267, i16 7690, i16 167, i16 7808, i16 169, i16 7810, i16 7691, i16 7922, i16 173, i16 174, i16 376, i16 7710, i16 7711, i16 288, i16 289, i16 7744, i16 7745, i16 182, i16 7766, i16 7809, i16 7767, i16 7811, i16 7776, i16 7923, i16 7812, i16 7813, i16 7777, i16 372, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 7786, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 374, i16 223, i16 373, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 7787, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 375, i16 255, i16 160, i16 161, i16 162, i16 163, i16 8364, i16 165, i16 352, i16 167, i16 353, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 381, i16 181, i16 182, i16 183, i16 382, i16 185, i16 186, i16 187, i16 338, i16 339, i16 376, i16 191, i16 160, i16 260, i16 261, i16 321, i16 8364, i16 171, i16 352, i16 167, i16 353, i16 169, i16 536, i16 8222, i16 377, i16 173, i16 378, i16 379, i16 176, i16 177, i16 268, i16 322, i16 381, i16 8221, i16 182, i16 183, i16 382, i16 269, i16 537, i16 187, i16 338, i16 339, i16 376, i16 380, i16 192, i16 193, i16 194, i16 258, i16 196, i16 262, i16 198, i16 199, i16 272, i16 323, i16 210, i16 211, i16 212, i16 336, i16 214, i16 346, i16 368, i16 217, i16 218, i16 219, i16 220, i16 280, i16 538, i16 223, i16 224, i16 225, i16 226, i16 259, i16 228, i16 263, i16 230, i16 231, i16 273, i16 324, i16 242, i16 243, i16 244, i16 337, i16 246, i16 347, i16 369, i16 249, i16 250, i16 251, i16 252, i16 281, i16 539, i16 255, i16 160, i16 260, i16 728, i16 321, i16 164, i16 317, i16 346, i16 167, i16 168, i16 352, i16 350, i16 356, i16 377, i16 173, i16 381, i16 379, i16 176, i16 261, i16 731, i16 322, i16 180, i16 318, i16 347, i16 711, i16 184, i16 353, i16 351, i16 357, i16 378, i16 733, i16 382, i16 380, i16 340, i16 193, i16 194, i16 258, i16 196, i16 313, i16 262, i16 199, i16 268, i16 201, i16 280, i16 203, i16 282, i16 205, i16 206, i16 270, i16 272, i16 323, i16 327, i16 211, i16 212, i16 336, i16 214, i16 215, i16 344, i16 366, i16 218, i16 368, i16 220, i16 221, i16 354, i16 223, i16 341, i16 225, i16 226, i16 259, i16 228, i16 314, i16 263, i16 231, i16 269, i16 233, i16 281, i16 235, i16 283, i16 237, i16 238, i16 271, i16 273, i16 324, i16 328, i16 243, i16 244, i16 337, i16 246, i16 247, i16 345, i16 367, i16 250, i16 369, i16 252, i16 253, i16 355, i16 729, i16 160, i16 294, i16 728, i16 163, i16 164, i16 0, i16 292, i16 167, i16 168, i16 304, i16 350, i16 286, i16 308, i16 173, i16 0, i16 379, i16 176, i16 295, i16 178, i16 179, i16 180, i16 181, i16 293, i16 183, i16 184, i16 305, i16 351, i16 287, i16 309, i16 189, i16 0, i16 380, i16 192, i16 193, i16 194, i16 0, i16 196, i16 266, i16 264, i16 199, i16 0, i16 209, i16 210, i16 211, i16 212, i16 288, i16 214, i16 215, i16 284, i16 217, i16 218, i16 219, i16 220, i16 364, i16 348, i16 223, i16 224, i16 225, i16 226, i16 0, i16 228, i16 267, i16 265, i16 231, i16 0, i16 241, i16 242, i16 243, i16 244, i16 289, i16 246, i16 247, i16 285, i16 249, i16 250, i16 251, i16 252, i16 365, i16 349, i16 729, i16 160, i16 260, i16 312, i16 342, i16 164, i16 296, i16 315, i16 167, i16 168, i16 352, i16 274, i16 290, i16 358, i16 173, i16 381, i16 175, i16 176, i16 261, i16 731, i16 343, i16 180, i16 297, i16 316, i16 711, i16 184, i16 353, i16 275, i16 291, i16 359, i16 330, i16 382, i16 331, i16 268, i16 201, i16 280, i16 203, i16 278, i16 205, i16 206, i16 298, i16 272, i16 325, i16 332, i16 310, i16 212, i16 213, i16 214, i16 215, i16 216, i16 370, i16 218, i16 219, i16 220, i16 360, i16 362, i16 223, i16 269, i16 233, i16 281, i16 235, i16 279, i16 237, i16 238, i16 299, i16 273, i16 326, i16 333, i16 311, i16 244, i16 245, i16 246, i16 247, i16 248, i16 371, i16 250, i16 251, i16 252, i16 361, i16 363, i16 729, i16 160, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 173, i16 1038, i16 1039, i16 8470, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 167, i16 1118, i16 1119, i16 160, i16 0, i16 0, i16 0, i16 164, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1548, i16 173, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1563, i16 0, i16 0, i16 0, i16 1567, i16 0, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1611, i16 1612, i16 1613, i16 1614, i16 1615, i16 1616, i16 1617, i16 1618, i16 0, i16 0, i16 0, i16 0, i16 0, i16 160, i16 8216, i16 8217, i16 163, i16 0, i16 0, i16 166, i16 167, i16 168, i16 169, i16 0, i16 171, i16 172, i16 173, i16 0, i16 8213, i16 176, i16 177, i16 178, i16 179, i16 900, i16 901, i16 902, i16 183, i16 904, i16 905, i16 906, i16 187, i16 908, i16 189, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 918, i16 919, i16 920, i16 921, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 929, i16 0, i16 931, i16 932, i16 933, i16 934, i16 935, i16 936, i16 937, i16 938, i16 939, i16 940, i16 941, i16 942, i16 943, i16 944, i16 945, i16 946, i16 947, i16 948, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 964, i16 965, i16 966, i16 967, i16 968, i16 969, i16 970, i16 971, i16 972, i16 973, i16 974, i16 0, i16 160, i16 0, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 184, i16 185, i16 247, i16 187, i16 188, i16 189, i16 190, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8215, i16 286, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 304, i16 350, i16 223, i16 287, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 305, i16 351, i16 255, i16 9472, i16 9474, i16 9484, i16 9488, i16 9492, i16 9496, i16 9500, i16 9508, i16 9516, i16 9524, i16 9532, i16 9600, i16 9604, i16 9608, i16 9612, i16 9616, i16 9617, i16 9618, i16 9619, i16 8992, i16 9632, i16 8729, i16 8730, i16 8776, i16 8804, i16 8805, i16 160, i16 8993, i16 176, i16 178, i16 183, i16 247, i16 9552, i16 9553, i16 9554, i16 1105, i16 9555, i16 9556, i16 9557, i16 9558, i16 9559, i16 9560, i16 9561, i16 9562, i16 9563, i16 9564, i16 9565, i16 9566, i16 9567, i16 9568, i16 9569, i16 1025, i16 9570, i16 9571, i16 9572, i16 9573, i16 9574, i16 9575, i16 9576, i16 9577, i16 9578, i16 9579, i16 9580, i16 169, i16 1102, i16 1072, i16 1073, i16 1094, i16 1076, i16 1077, i16 1092, i16 1075, i16 1093, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1103, i16 1088, i16 1089, i16 1090, i16 1091, i16 1078, i16 1074, i16 1100, i16 1099, i16 1079, i16 1096, i16 1101, i16 1097, i16 1095, i16 1098, i16 1070, i16 1040, i16 1041, i16 1062, i16 1044, i16 1045, i16 1060, i16 1043, i16 1061, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1071, i16 1056, i16 1057, i16 1058, i16 1059, i16 1046, i16 1042, i16 1068, i16 1067, i16 1047, i16 1064, i16 1069, i16 1065, i16 1063, i16 1066, i16 1179, i16 1171, i16 8218, i16 1170, i16 8222, i16 8230, i16 8224, i16 8225, i16 0, i16 8240, i16 1203, i16 8249, i16 1202, i16 1207, i16 1206, i16 0, i16 1178, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 0, i16 8482, i16 0, i16 8250, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1263, i16 1262, i16 1105, i16 164, i16 1251, i16 166, i16 167, i16 0, i16 0, i16 0, i16 171, i16 172, i16 173, i16 174, i16 0, i16 176, i16 177, i16 178, i16 1025, i16 0, i16 1250, i16 182, i16 183, i16 0, i16 8470, i16 0, i16 187, i16 0, i16 0, i16 0, i16 169, i16 9552, i16 9553, i16 9554, i16 1105, i16 1108, i16 9556, i16 1110, i16 1111, i16 9559, i16 9560, i16 9561, i16 9562, i16 9563, i16 1169, i16 9565, i16 9566, i16 9567, i16 9568, i16 9569, i16 1025, i16 1028, i16 9571, i16 1030, i16 1031, i16 9574, i16 9575, i16 9576, i16 9577, i16 9578, i16 1168, i16 9580, i16 169, i16 0, i16 3585, i16 3586, i16 3587, i16 3588, i16 3589, i16 3590, i16 3591, i16 3592, i16 3593, i16 3594, i16 3595, i16 3596, i16 3597, i16 3598, i16 3599, i16 3600, i16 3601, i16 3602, i16 3603, i16 3604, i16 3605, i16 3606, i16 3607, i16 3608, i16 3609, i16 3610, i16 3611, i16 3612, i16 3613, i16 3614, i16 3615, i16 3616, i16 3617, i16 3618, i16 3619, i16 3620, i16 3621, i16 3622, i16 3623, i16 3624, i16 3625, i16 3626, i16 3627, i16 3628, i16 3629, i16 3630, i16 3631, i16 3632, i16 3633, i16 3634, i16 3635, i16 3636, i16 3637, i16 3638, i16 3639, i16 3640, i16 3641, i16 3642, i16 0, i16 0, i16 0, i16 0, i16 3647, i16 3648, i16 3649, i16 3650, i16 3651, i16 3652, i16 3653, i16 3654, i16 3655, i16 3656, i16 3657, i16 3658, i16 3659, i16 3660, i16 3661, i16 3662, i16 3663, i16 3664, i16 3665, i16 3666, i16 3667, i16 3668, i16 3669, i16 3670, i16 3671, i16 3672, i16 3673, i16 3674, i16 3675, i16 0, i16 0, i16 0, i16 0], [4528 x i8] c"\00\00\01\00\00\00\00\00\02\03\04\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\06\07\08\09\0A\0B\00\00\00\00\00\00\00\00\0C\0D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\0F\00\00\00\00\10\11\12\13\14\15\00\00\00\16\00\00\00\00\00\00\00\17\18\19\00\00\00\00\00\00\1A\00\00\00\00\00\00\1B\1C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\1D\1E\00\1F\00 \00\00\00\00\00\00\00\00\00!\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\22#\00\00\00\00\00\00\00\00\00\00\00\00\00$%\13&'(\17\18\19\00\00\00\00\00\00)\00\00\00\00\00\00\00\1C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00*+,-\00\00.\14\00\00\00\00\00/01\00!\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00234\00\17\18\19\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03,-\11\12\13\14\00\00\00\00\00\00\00\00\02\0356789:;<=>?\00@A\00\00\00\00\00\00\00\00\00B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03CDEFGHIJKLMNOP\00\00\00\00\00\00\00\00\00Q\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03RS\11T\13UV\00W\00\00\00\00X\00\00\00\00\00\00\00\00YZ\00\00[\\]\00^\00\00\00\00\00\00_\00\00\00\00\00\00\00\00\02\03`a\11\12\13\14\00\00\00\00\00bcd\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00e\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03fghijklm\00\00nocp\00\00\00\00\00\00\00\00\00q\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00r\00\00\00\00\00\00\00\00e\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03stuvwxyz\00{|}~\7F\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\81\00\00\00\00\00\00\00\00\00\00\02\03\82\83\84\85\86\87\88\89\8A\8B\00\8C\8D\8E\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\8F\00\00\00\00\00\00\00\00\00\00\02\03\90t\91\92\93\94;\95\96\97\98\99\9A\9B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\9C\00\00\00\00\00\00\00\00\00\00\02\03\9D\00\00\00\00\00\9E-\11\12\13\9F\00\00\00\00\00\00\00\00\00\00\00\A0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03\A1\00\00\00\00\00\A2\A3\A4\A5\13\A6\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03\A7\A8\00\00\00\00\00\00\00\00\00\00\00\00\A9\11\AA\13\AB\00\00\00\00\AC\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03\AD\AE\00\1F\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\13&\00(\AF\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03,-\11\B0\13\B1\00\B2\00\B3\00\B4\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B5\B6\00\00\00\B7\B8\B9\BA\BB\BC\BD\00\00\00\00\00\00\00\00\00\00\00\BE\00\00\BF\00\C0\00\00\00\00\00\00\00\00\00\00\00\C1\00\00\00\00\00\00\00\00\00\00\00\00\00\C2\C3\C4\C5\00\C6\C7\00\C8\C9\CA\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\CB\CC\00\00\00\00\B8\B9\BA\BB\BC\BD\00\00\00\CD\00\CE\00\00\CF\00\D0\B9\BA\BB\BC\D1\00\00\00\D2\00\00\00\00\00\00\C2\C3\C4\C5\00\D3\D4\00\C8\C9\CA\00\00\00\00\00\D5-\11\D6\13\D7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A5\A4\00\00\AB\AC\A9\00\80\81\82\83\84\85\86\87\88\89\8A\8B\8C\8D\8E\8F\90\91\92\93\94\95\96\97\98\99\9A\9B\9C\9D\9E\9F\A0\00\00\00\00\00\00\00\00\00\00\A7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A6\00\00\00\00\00\B2\B4\B6\B8\BA\BC\BE\C0\C2\C4\C6\C8\CA\CC\CE\D0\D2\D4\D6\D8\DA\DC\DE\E0\E2\E4\E6\E8\EA\EC\EE\F0\F2\F4\F6\F8\FA\FC\00\00\00\FE\B0\AF\AA\B1\00\00\B3\B5\B7\B9\BB\BD\BF\C1\C3\C5\C7\C9\CB\CD\CF\D1\D3\D5\D7\D9\DB\DD\DF\E1\E3\E5\E7\E9\EB\ED\EF\F1\F3\F5\F7\F9\FB\FD\A2\00\A3\AD\00\00\00\00\00\00\00\00\00\A8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\AE\00\00\00\00\00\00\00\00\00\A0\00\00\00\A4\00\A6\A7\00\A9\00\AB\AC\AD\AE\00\B0\B1\00\00\00\B5\B6\B7\00\00\00\BB\00\00\00\00\00\A8\80\81\AA\BD\B2\AF\A3\8A\8C\8E\8D\00\A1\8F\C0\C1\C2\C3\C4\C5\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\E0\E1\E2\E3\E4\E5\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\FD\FE\FF\00\B8\90\83\BA\BE\B3\BF\BC\9A\9C\9E\9D\00\A2\9F\A5\B4\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\96\97\00\00\00\91\92\82\00\93\94\84\00\86\87\95\00\00\00\85\00\00\00\00\00\00\00\00\00\89\00\00\00\00\00\00\00\00\8B\9B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\88\00\00\00\00\00\00\00\00\00\B9\00\00\00\00\00\00\00\00\00\00\00\99\00\00\00\00\00\00\00\00\00\00\00\00\00\A0\A1\A2\A3\00\A5\A6\A7\A8\A9\00\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\00\BB\BC\BD\BE\BF\00\00\00\00\00\00\00\AA\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\BA\00\00\00\00\00\00\00\00\00\00\83\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\88\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\98\00\00\00\C0\C1\C2\C3\C4\C5\C6\C7\C8\C9\00\CB\CC\CD\CE\CF\D0\D1\D2\D3\00\00\00\00\00\00\00\00\00\00\00\00\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\00\00\00\00\00\D4\D5\D6\D7\D8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\FD\FE\00\00\00\00\00\00\00\00\00\00\A4\00\80\00\00\00\80\81\00\00\00\00\00\00\00\00\00\00\00\8D\8E\8F\90\00\00\00\00\00\00\00\00\00\00\00\00\9D\9E\00\A0\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\BF\00\00\00\00\00\00\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\00\00\8C\9C\00\00\00\00\00\00\00\00\00\00\00\00\8A\9A\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\9F\00\00\00\00\00\00\00\C0\C1\C2\C3\C4\C5\C6\C8\C9\CA\CB\CC\CD\CF\D0\D1\D2\D3\D4\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\E0\E1\E3\E4\C7\CE\D5\E2\E5\00\00\00\00\00\00\00\00\00\00\A0\00\00\00\00\00\00\A7\00\00\00\00\00\AD\00\00\B0\00\00\00\00\00\00\B7\00\00\00\00\00\00\00\00\00\C1\C2\C3\C4\C5\C6\00\00\C9\00\CB\00\CD\CE\CF\D0\00\00\D3\D4\D5\D6\00\D8\00\DA\DB\DC\DD\DE\DF\00\E1\E2\E3\E4\E5\E6\00\00\E9\00\EB\00\ED\EE\EF\F0\00\00\F3\F4\F5\F6\00\F8\00\FA\FB\FC\FD\FE\00\C0\E0\00\00\A1\B1\00\00\00\00\00\00\C8\E8\00\00\A9\B9\A2\B2\00\00\CC\EC\CA\EA\00\00\00\00\00\00\00\00\A3\B3\00\00\00\00\A5\B5\A4\B4\00\00\C7\E7\00\00\00\00\00\00\A6\B6\FF\00\00\A8\B8\00\00\00\00\00\00\00\00\D1\F1\00\00\00\AF\BF\D2\F2\00\00\AA\BA\00\00\00\00\AB\BB\D7\F7\AE\BE\00\00\00\00\00\00\D9\F9\00\00\00\00\00\00\00\00\00\AC\BC\00\00\00\00\00\00\BD\00\00\00\00\00\00\00\00\00\00\A0\00\A2\A3\A4\00\A6\A7\00\A9\00\AB\AC\AD\AE\00\B0\B1\B2\B3\00\B5\B6\B7\00\B9\00\BB\BC\BD\BE\00\00\00\00\00\C4\C5\AF\00\00\C9\00\00\00\00\00\00\00\00\00\D3\00\D5\D6\D7\A8\00\00\00\DC\00\00\DF\00\00\00\00\E4\E5\BF\00\00\E9\00\00\00\00\00\00\00\00\00\F3\00\F5\F6\F7\B8\00\00\00\FC\00\00\00\C2\E2\00\00\C0\E0\C3\E3\00\00\00\00\C8\E8\00\00\00\00\C7\E7\00\00\CB\EB\C6\E6\00\00\00\00\00\00\00\00\CC\EC\00\00\00\00\00\00\CE\EE\00\00\C1\E1\00\00\00\00\00\00\CD\ED\00\00\00\CF\EF\00\00\00\00\D9\F9\D1\F1\D2\F2\00\00\00\00\00\D4\F4\00\00\00\00\00\00\00\00\AA\BA\00\00\DA\FA\00\00\00\00\D0\F0\00\00\00\00\00\00\00\00\DB\FB\00\00\00\00\00\00\D8\F8\00\00\00\00\00\CA\EA\DD\FD\DE\FE\00\00\00\00\00\00\00\00\00\00\FF\00\00\B4\A1\A5\00\A0\00\00\A3\00\00\00\A7\00\A9\00\00\00\AD\AE\00\00\00\00\00\00\00\B6\00\00\00\00\00\00\00\00\00\00\D1\D2\D3\D4\D5\D6\00\D8\D9\DA\DB\DC\DD\00\DF\00\F1\F2\F3\F4\F5\F6\00\F8\F9\FA\FB\FC\FD\00\FF\00\00\00\00\00\00\00\00\00\00\A4\A5\00\00\00\00\B2\B3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\D0\F0\DE\FE\AF\00\00\00\00\00\00\00\00\00\A1\A2\00\00\00\00\00\00\A6\AB\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B0\B1\B4\B5\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B7\B9\00\00\00\00\00\00\00\00\BB\BF\00\00\00\00\00\00\00\00\D7\F7\00\00\00\00\A8\B8\AA\BA\BD\BE\00\00\00\00\00\00\00\00\00\00\00\00\AC\BC\00\00\00\00\00\00\00\00\00\00\00\00\A0\A1\A2\A3\00\A5\00\A7\00\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B3\00\B5\B6\B7\00\B9\BA\BB\00\00\00\BF\00\00\BC\BD\00\00\00\00\00\00\00\00\00\00\00\00\A6\A8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\BE\00\00\00\00\B4\B8\00\00\00\00\00\00\00\00\00\00\00\00\00\A4\00\00\00\A0\00\00\00\00\00\00\A7\00\A9\00\A5\00\AD\00\00\B0\B1\00\00\00\00\B6\B7\00\00\00\BB\00\00\00\00\C0\C1\C2\00\C4\00\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\00\00\D2\D3\D4\00\D6\00\00\D9\DA\DB\DC\00\00\DF\E0\E1\E2\00\E4\00\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\00\00\F2\F3\F4\00\F6\00\00\F9\FA\FB\FC\00\00\FF\00\00\C3\E3\A1\A2\C5\E5\00\00\00\00\B2\B9\00\00\D0\F0\00\00\00\00\00\00\DD\FD\00\00\00\00\00\00\00\A3\B3\D1\F1\00\00\00\00\00\00\00\00\00\00\00\D5\F5\BC\BD\00\00\00\00\00\00\D7\F7\00\00\00\00\D8\F8\00\00\00\00\00\00\BE\AC\AE\AF\BF\B4\B8\00\00\00\00\00\00\00\00\00\AA\BA\DE\FE\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B5\AB\00\A0\00\00\00\A4\00\00\A7\A8\00\00\00\00\AD\00\00\B0\00\00\00\B4\00\00\00\B8\00\00\00\00\00\00\00\00\C1\C2\00\C4\00\00\C7\00\C9\00\CB\00\CD\CE\00\00\00\00\D3\D4\00\D6\D7\00\00\DA\00\DC\DD\00\DF\00\E1\E2\00\E4\00\00\E7\00\E9\00\EB\00\ED\EE\00\00\00\00\F3\F4\00\F6\F7\00\00\FA\00\FC\FD\00\00\00\00\C3\E3\A1\B1\C6\E6\00\00\00\00\C8\E8\CF\EF\D0\F0\00\00\00\00\00\00\CA\EA\CC\EC\00\00\00\00\00\00\00\00\00\00\00\00\00\C5\E5\00\00\A5\B5\00\00\A3\B3\D1\F1\00\00\D2\F2\00\00\00\00\00\00\00\D5\F5\00\00\C0\E0\00\00\D8\F8\A6\B6\00\00\AA\BA\A9\B9\DE\FE\AB\BB\00\00\00\00\00\00\00\00\D9\F9\DB\FB\00\00\00\00\00\00\00\AC\BC\AF\BF\AE\BE\00\00\00\00\00\00\00\00\B7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A2\FF\00\B2\00\BD\00\00\A0\00\00\A3\A4\00\00\A7\A8\00\00\00\00\AD\00\00\B0\00\B2\B3\B4\B5\00\B7\B8\00\00\00\00\BD\00\00\C0\C1\C2\00\C4\00\00\C7\C8\C9\CA\CB\CC\CD\CE\CF\00\D1\D2\D3\D4\00\D6\D7\00\D9\DA\DB\DC\00\00\DF\E0\E1\E2\00\E4\00\00\E7\E8\E9\EA\EB\EC\ED\EE\EF\00\F1\F2\F3\F4\00\F6\F7\00\F9\FA\FB\FC\00\00\00\00\00\00\00\00\00\00\00\C6\E6\C5\E5\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\D8\F8\AB\BB\D5\F5\00\00\A6\B6\A1\B1\00\00\00\00\00\00\00\00\A9\B9\00\00\AC\BC\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\DE\FE\AA\BA\00\00\00\00\00\00\00\00\00\00\00\00\DD\FD\00\00\00\00\00\00\00\00\00\00\00\00\00\AF\BF\00\00\00\00\00\00\00\00\00\00\00\A2\FF\00\00\00\00\00\00\A0\00\00\00\A4\00\00\A7\A8\00\00\00\00\AD\00\AF\00\C1\C2\C3\C4\C5\C6\00\00\C9\00\CB\00\CD\CE\00\00\00\00\00\D4\D5\D6\D7\D8\00\DA\DB\DC\00\00\DF\00\E1\E2\E3\E4\E5\E6\00\00\E9\00\EB\00\ED\EE\00\00\00\00\00\F4\F5\F6\F7\F8\00\FA\FB\FC\00\00\00\D0\F0\AA\BA\00\00\CC\EC\CA\EA\00\00\00\00\00\00\00\00\AB\BB\00\00\00\00\A5\B5\CF\EF\00\00\C7\E7\00\00\00\00\00\00\D3\F3\A2\00\00\A6\B6\00\00\00\00\00\00\00\00\D1\F1\00\00\00\BD\BF\D2\F2\00\00\00\00\00\00\00\00\A3\B3\00\00\00\00\00\00\00\00\A9\B9\00\00\00\00\AC\BC\DD\FD\DE\FE\00\00\00\00\00\00\D9\F9\00\00\00\00\00\00\00\00\00\AE\BE\00\00\00\00\00\00\00\00\00\00\FF\00\B2\00\00\00\00\A0\00\00\00\00\00\00\FD\00\00\00\00\00\AD\00\00\00\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\00\AE\AF\00\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\00\FE\FF\00\00\00\00\00\00\F0\00\00\00\00\00\00\00\00\00\A0\00\00\00\A4\00\00\00\00\00\00\00\00\AD\00\00\00\00\00\00\00\00\00\00\00\00\00\00\AC\00\00\00\00\00\00\00\00\00\00\00\00\00\00\BB\00\00\00\BF\00\C1\C2\C3\C4\C5\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\00\00\00\00\00\F0\F1\F2\00\00\00\00\00\00\00\00\00\00\00\00\00\A0\00\00\A3\00\00\A6\A7\A8\A9\00\AB\AC\AD\00\00\B0\B1\B2\B3\00\00\00\B7\00\00\00\BB\00\BD\00\00\00\00\00\00\B4\B5\B6\00\B8\B9\BA\00\BC\00\BE\BF\D0\D1\00\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\FD\FE\00\00\00\00\00\00\AF\00\00\A1\A2\00\00\00\00\00\00\A0\00\A2\A3\A4\A5\A6\A7\A8\A9\00\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\00\BB\BC\BD\BE\00\00\00\00\00\00\00\00\DF\00\00\00\00\00\00\00\00\00\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\00\00\DF\00\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\00\00\FF\00\00\00\00\00\00\00\00\00\00\00\00\00\00\D0\F0\DD\FD\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\DE\FE\9A\00\00\00\00\00\00\00\00\BF\00\00\00\00\00\00\9C\00\9D\00\00\00\00\9E\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\9F\00\00\00\00\00\00\00\00\00\B3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E1\E2\F7\E7\E4\E5\F6\FA\E9\EA\EB\EC\ED\EE\EF\F0\F2\F3\F4\F5\E6\E8\E3\FE\FB\FD\FF\F9\F8\FC\E0\F1\C1\C2\D7\C7\C4\C5\D6\DA\C9\CA\CB\CC\CD\CE\CF\D0\D2\D3\D4\D5\C6\C8\C3\DE\DB\DD\DF\D9\D8\DC\C0\D1\00\A3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\95\96\00\00\00\00\00\00\00\00\00\00\00\00\00\97\00\00\00\00\00\00\00\00\00\00\00\98\99\00\00\00\00\00\00\00\00\00\00\93\9B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\00\81\00\00\00\00\00\00\00\00\00\82\00\00\00\83\00\00\00\84\00\00\00\85\00\00\00\86\00\00\00\00\00\00\00\87\00\00\00\00\00\00\00\88\00\00\00\00\00\00\00\89\00\00\00\00\00\00\00\8A\00\00\00\A0\A1\A2\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\00\00\00\8B\00\00\00\8C\00\00\00\8D\00\00\00\8E\00\00\00\8F\90\91\92\00\00\00\00\00\00\00\00\00\00\00\00\94\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A4\00\A6\A7\00\BF\00\AB\AC\AD\AE\00\B0\B1\B2\00\00\00\B6\B7\00\00\00\BB\00\00\00\00\00\00\83\81\00\00\00\00\00\00\90\80\00\00\00\00\00\00\8C\8A\00\00\8E\8D\00\00\00\00\00\00\00\00\00\00\B5\A5\00\00\00\00\00\00\00\00\00\00\A2\A1\00\B3\00\00\B4\00\B6\B7\00\00\00\00\00\00\00\00\00\A3\00\00\A4\00\A6\A7\00\00\00\00\00\00\00\00\BD\AD\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A0\A1\A2\00\A5\00\00\A8\A9\AA\AB\AC\00\AE\AF\B0\B1\B2\00\B5\00\00\B8\B9\BA\BB\BC\00\BE\00\00\00\00\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\00\00\00\00\DF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\00\00\00\00", [3604 x i8] c":!\1F2#\1E\02,\00'\04%&\05\07)\0F\12\09\0C\06\19\1A\0B+\00\00\00\00\00 \1D9*7407.$777\00\00\00\0158\03/3\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\17\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\16\19\19\19\19\13\00\00\00\00\00\00\00\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\14\00\00\00\00\00\00\00\007777777777777777777777777\19\10\08\19\1B-(\00\00\00\0E\22\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0061\00\00\11\0A\15\1C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\18\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\19\19\0D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E4\E4\E4\CD\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\D0\00\00\07\00\1A5UU>Uj\DE\00UovUUUUUUUUUUUZ\E4\DA\DEU\\\08UUUUI5UUUUUUUUUUS\E4\E4UUU\00\00\00\00\00\00\00UU\12?#UU(%;\C4-\002\03U\C7\00\B6PGUU(&=\E3\CC\1F\00 U\00\00\1DL(UU(U:\D2.\04\009U\00\00\1DUS\17UUGOS\11\D5\E4\00\00\1C\005UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU5UUUUXUAVXUk\00\00\00\00/\22\0B54\16\BC\CBJ\DEU<\00\00\00\00S\00\14\09U\BBSJDUUUUUUUUUUUUU7\00\00\00\14UUUUUSUUUUUUUS'S'UUUUS'UUUS'S'SSUUSUUTBLLUUUFJ\17(UUUUUUUUUUUUUUUUUUUUUULm\00UUn\00UUk\00UL*\00UUUUUU`\E4\E4\E4\E2\D3U7\00\00US'SUUUUSUU>\B9vp\D4\00\00\00\00UUUUUUUUUUI\00UUUR\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00UUUS\D0\00UUU>\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00UUUUG1\C5\C0UpY\C0\00\00\00\00\00\00\00\00UUUUR\00UUUUU)UUUUURUUUUUUU>\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00UUUUUUUUUULUUUUUUUUL\103UE&UUUUUUUUUUUUUUUUUU8UUUUUUUU>UUUUUUUUUU7UUUUUUUUUUUUUUUUUI\E4\E4\E4\E4\E4\E4\E0\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUH\00\00\00\00\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUHUUU\BBUUhUUUhUUUUUUUUUUUUUUUUUUUUR\00\00\00\00\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUUUR\00\00\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUUUUUUUS\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU^S\00xUUgUUUUUUUUUi\1F\00UUUUUUUY\00\00UUUUUUUU\17UUUUUU\00\00\00\00\00UNUU]UUU]UUXUUUXUUU\BBUUU\BBUUh9UUUUUU\86\AA\83\A7\86\AA\86\AA\83\A7{\96\86\AA\86\83\86\AA\86\AA\86\AA\82\AE\C9\AF}\AC\7F\AF\19\AD\92\92\00\00\00\00\97\AA\AA\AA\A86y\86\86\86\85\B4\B9\E4\CD\E4\E4\CD\D4\00UUU>g\00\92\92\92\92+\92\8F\00\00\00ezq~bUqraUURU\BDp\E4p\E4_\DF\00\00\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\91d\92\92\92\92\92\92\92\92\92\92\92\8C\92\92\92\92\92\92\92\9A\9Fs\92\92\92\92\92\A5\99\A0\A4\8E\93\9C\A1\8D[\8B\9F\9D\92\92\98\92\AA\AA\AA\AA\A7\86\86\86\86\83\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\AA\AA\AA\AA\AA\AA\86\86\86\86\86\86\92\92\92\92\94\CA\92\92\92\92\92\92\9A\9E\92\92\92\92\90\8C\B5\C1\E4\E4\E4\B9\E4\E4\E4\DC\C3\E0\B9\E4\E4\E4\E4\E4\D4\E4\E4\E4\B9\E0\00\00\E4\E4\E4\D0\E4\E4\B6K#UU($=\D1-\05\0A9U,\00\18@'0\13@T:\C5.\04\00\02U\C2\00\B6L(UU(Q:\D7.\0C\009U\00\00\1DL(UU(Q:\D7.\0C\019U\00\00\B6UUUUUU=\E4\DE\BEUoU,\00\B6K#UU(!;\D6-\04\0AlUp\C2\B9\E4Up\B1\AA\AA\B0\95\86\86\88\E1UUUUUUUUUUS\17\17\17\15\E0\E0\00\B8\BF\E4\E4\E4Up\E4\E4U5UUU>\B9\E4\E4H\E4\B9\E4\E4\E4\D7\E4\D6\00\00\00\00\00\00\CE\C8Zw\DDfcC\D9k\1B\E4\AA\AA\86\86H\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E0U7UUUUUUUUUUU\00UUUUU\BA\00\00\00\00\00\00\00\00\00\00\E4\E3\BBUUI\E4\E4\E4\C2\00\00\00\00\00\00UUUUY\E4t\00\00\00\00\00\00\00\00\00\E4\E4\00\00\D0\00\E4\E4\E5\B9\C6\E4\E0\D0LUUUUUUUUUUUUUUUUM\E4\E4\D2\B9\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\E4\C0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E4\E4\E4\D4\E4\E4\E4\E4\D0\00\B9\E4\E4\E4\E4\D1\E4\E4\E4\E4\E4\E4\E4\E4\E4\D0\E4\E4\E4\E4\E4\E0\E4\E4\E4\E4\E0\00\00\00\E4\C2\00\00\E4\E4\E4\E4\E4\E4\E4\D8UUW\AA\AA\AA\86\86\86\8A\E4\E0\E4\E4\E4\E4\E0\1E\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\00\00\00\00\E4\E4\E4\E4\E4\E4\E4\E4\DB\E4\00\00\E4\E4\0D\0F\0E\A2\9B\AA\A3\A6|\86\86\84\80\92\92\92\81\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E0\1B\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\E4\E4\E4\E0\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E0\00\00\00\00\00\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\00\00\00\E4\D0\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E6\E4\E4\E4vpw_5UUUUUUUUUS\B7vUUUUUUUUUUh\E9\E8\E4\E4\E4\EA\E4\E4\E4\E4\C4\06\D0\1Eu\E2\E4\E0\00\00\E4\E4\C0\00\00\00\E4\E4\E4\C2\00\00\EC\EB\EC\EC\E7\E4\B2\B3\B1\AA\AA\B0\95\86\86\89\EC\EC\EC\EC\E4\CF\DB\CF\AA\AA\AB\A9\86\86\87\86\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\11\00\00\00`\00\00\00f\00\00\00\90\00\00\06\00\00\00\10\11\00\00\10\16\00\00\11\10\00\00\11\11\00\00`\06\00\00f\00\00\00fd\00\01\00\06\00\01\10\01\00\06\00`\00\06\10\11\00\10\01\00\00\10\11\11\00\11\01\00\00\11\10\11\00\11\11\11\00\16\10\11\00!\01\11\00`\00`\00`ff\00f\06\00\00f\10\11\00fff\01\00\00\00\01\00\00\11\01\01\00\11\01\01\10\00\01\10\11\11\01\11\00\11\01\11\10\01\01\11\10\11\01\11\11\00\01\11\11\11\01`\00\00\01f\00\00\04$$$\06\00\00\00\06`f\00\06ff\00\10\01\01\10\10\01\01\11\10\01ff\10\11\01\01\10\11\01\11\10\11\10\10\10\11\11\11\10fff\11\00\00\00\11\00\00\10\11\00\00\11\11\00\00f\11\00\06f\11\00\11\00\11\00\16f\11\01\00\00\11\01\00\10\11\01\00\11\11\01\00`\11\01\10\11\11\06\10\11\11\10\01\11\11\10\10\11\11\10\11\01\11\10\11\11\11\11\00\00\11\11\01\00\11\11\01\01\11\11\01\10\11\11\01\11\11\11\01`\11\11\06\00\11\11\10\00\11\11\10\10\11\11\10\11\11\11\11\00\11\11\11\01\11\11\11\10\11\11\11\11\11\11\11\16\11\11\11D\11\11\11a\11\11\11f\11\11\16f\11\114B\11\11a\06\11\11a\11\11\11a\16\11\11af\11\11ff\11\12\11\11\11\12!\11\11\16\11\11\11!\00\00\11!\12\22\11D\11\16\11a\06\00\11a\11\11\11af\11\11aff\11f\00\00\11f\00\11\11f\06\00\11ff\06\11ff\11\11fff\12!\11\11\12\22\11\11\12$$$\16\00\00\00\16\00ff\16\11\11\11\16\11\11f\19\11\11\11 \22\22\22!!\11\11!!!!!\22\22\22\22\11\00\11\22\11\11!\22\11!\11\22\11!\12\22\12$\06\22!\01\11\22\22\22\00\22\22\22\02\22\22\22\12\22\22\22\22\22\22\22b\22bff\22bf\E6\22fff#4BB$\00\00\00$\11$!$\11DB$$\00\00$$$\00$$$\11$$$$$$$D$ff\06&\22\22\22@@@@@DDDA#$DA$$DABBBADDDB\11$DBB\22$BBB\02BBBBBD\12DBDBBD\04\04DD@DDDB$DDBB\22DD\22\22DDD\00DDD\04DDD$DDDDDDDdDD`fDDd\06DDdbDDdfDdffFDDDUUUUUfff`\06\00\00`f\06f`f\10\11`f\16\11`ff\00`fffa\00\00\00a\11\11\11a\11ffa\16\11\11af\06\00affff\00\00\00f\00fff\06\00\00f\06\00\06f\06\00`f\06\00ff\06fff\11\01\00f\11\11\11f!\01\11f$$$f`\16\00f`f\00f`fffaf\16faffff\00\00ff\00`ff\00fff\01\00ff\06\00ff\06\06ff\06`ff\06fff\11\11ff\16\11ff\16aff&fff``ffadfff\00fff\01fff\06fff\11fff\16fff`ffffffv\07if\16\11ifff\99\99ff\99\99\99i\CCfff\DE\CC\CC\EE\EE\EE\EE\EE", [1680 x i8] c"\04\06\07\00\00\00\00\00\00\00\00\00\00\00\00\05\01\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\00\00\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\0D\00\00\00\00\00\00QQRR\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\1B\1B\19\0F\1F\1F\1D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\03SSSUUUT\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\1B\1B\19\0F\1F\1F\1D\00\00\00\00\00\00\04\00\1B\1B\1A\1A\1F\1F\1E ((((((1\10,*(((((2\11.3%)/0$\064,-((\12((((((((((((((((((('\08(((((((((((#GIFHGIGIFH\16\17GIMNGIGIGIEJ\09OCKDL\09P((((5(&\00\00\00\07\1367\0B\0089\0C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\01:\0E\1B\18\1C\0F\1F\22!;(((<\00>>\1B\1B\1B\1B\1F\1F\1F\1F==((((#\0A((((((\10+(((('#((\00\00\00\00\14@@@?\00\15BBBA\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00WWWWVYYYYX\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\001\00\00\00\00\00\00\00Y\00\00\00\00\00\00\00^^\00\00\00\00\00\03\00\00\00\00\00\00\000\00\00\00\00\00\00\1C\1D\1E\1C\00\00\00#$\00%%\00\00\00E\00\00\00\00\00\00\00N\00\00\00\00\00\00\05\06\05\06\05\06\00\00+\00\00,\00\00\00\00/\00\00\00\00\00\00\00Z[\00\00\00\00\00\01\01\01\01\01\01\01\00\02\02\02\02\02\02\02\00\05\06\05\06\05\06\05\00\0B\05\06\05\06\0C\05\00\1C\1D\1E\05\06 !\00&\00'\00\00\00\00\00CCCCCCC\00DDDDDDD\00F\00F\00F\00F\00G\00G\00G\00G\01\01\00\01\01\01\01\01\01\01\01\00\00\00\00\00\01\01\01\01\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\015666\02\02\02\00\00\00\00\00\02\02\02\02\02\02\02\00\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\04\02\02\02\02899\00\02\027\02\02\02\02\02\05\06\00\00\00\00\00\00\05\06\00\00\05\06\00\1B\05\06\00\00\13\15\16\17\05\06\05\06\00\00\00\00\05\06\05\06\05\06\00\00\05\06\05\06\05\06\05\06\05\06\05\06\05\06\18\05\06\00\05\06\05\06\05\06\06\05\06\05\06\05\06\00\06\05\06\05\06\05\06\05\06\05\06\05\06\1F\05\06\06\0D\0D\05\06\00\0E\0F\06\18\00\00\05\06\18\05\06\19\19\05\06\05\06\1A\07\08\05\06\05\06\05\06\09\05\06\05\06\05\06\0A\10\05\06\0D\11\12\13\14\1D\1E\1C\1D\1E\05\06\05\22\00\05\06\05\06\05\06%\00\00(\00\00\00\00)*\00\00\00\00\00*-\00\00-\00\00\00\00-\00..\00\00\00\00222\003\0044:;\00\00\00<=\00>?\1F\00@A\00\00????????BBBBBBBBCCCCCCC\00CCCCCCCCDDDDDDD\00DDDDDDDDFF\00\00\00\00\00\00FF\00\00\00T\00\00FF\00N\00\00\00\00FFFFFF\00\00FFFFFFFFGGGGGG\00\00GGGGGGGGGGOOP\00Q\00GGSS\00\00\00\00GGUUV\00\00\00HHIIIIJJKKLLMM\00\00RRRRP\00\00\00WWXXP\00\00\00\\\\\\\\\\\\\\\\]]]]]]]]^^^^^^^^__\00\00\00\00\00\00________``````\00\00````````aaaaaa\00\00aaaaaaaa", [196 x i16] [i16 0, i16 0, i16 0, i16 32, i16 -32, i16 0, i16 743, i16 0, i16 121, i16 0, i16 0, i16 1, i16 -1, i16 0, i16 0, i16 -199, i16 -232, i16 0, i16 0, i16 -121, i16 -300, i16 0, i16 0, i16 210, i16 0, i16 206, i16 0, i16 205, i16 0, i16 79, i16 0, i16 202, i16 0, i16 203, i16 0, i16 207, i16 97, i16 0, i16 0, i16 211, i16 0, i16 209, i16 0, i16 213, i16 130, i16 0, i16 0, i16 214, i16 0, i16 218, i16 0, i16 217, i16 0, i16 219, i16 56, i16 0, i16 0, i16 2, i16 -1, i16 1, i16 -2, i16 0, i16 -79, i16 0, i16 0, i16 -97, i16 0, i16 -56, i16 0, i16 -130, i16 -210, i16 0, i16 -206, i16 0, i16 -205, i16 0, i16 -202, i16 0, i16 -203, i16 0, i16 -207, i16 0, i16 -209, i16 0, i16 -211, i16 0, i16 -213, i16 0, i16 -214, i16 0, i16 -218, i16 0, i16 -217, i16 0, i16 -219, i16 0, i16 84, i16 0, i16 0, i16 38, i16 0, i16 37, i16 0, i16 64, i16 0, i16 63, i16 -38, i16 0, i16 -37, i16 0, i16 -31, i16 0, i16 -64, i16 0, i16 -63, i16 0, i16 -62, i16 0, i16 -57, i16 0, i16 -47, i16 0, i16 -54, i16 0, i16 -86, i16 0, i16 -80, i16 0, i16 0, i16 -60, i16 -96, i16 0, i16 0, i16 80, i16 0, i16 48, i16 -48, i16 0, i16 -59, i16 0, i16 8, i16 0, i16 0, i16 -8, i16 74, i16 0, i16 86, i16 0, i16 100, i16 0, i16 128, i16 0, i16 112, i16 0, i16 126, i16 0, i16 9, i16 0, i16 0, i16 -74, i16 0, i16 -9, i16 -7205, i16 0, i16 0, i16 -86, i16 0, i16 -100, i16 7, i16 0, i16 0, i16 -112, i16 0, i16 -7, i16 0, i16 -128, i16 0, i16 -126, i16 0, i16 -7517, i16 0, i16 -8383, i16 0, i16 -8262, i16 0, i16 16, i16 -16, i16 0, i16 0, i16 26, i16 -26, i16 0, i16 0, i16 40, i16 -40, i16 0], [51 x i8] c"\000\001\002\003\004\005\006\007\008\009\00\DB\B0\00\DB\B1\00\DB\B2\00\DB\B3\00\DB\B4\00\DB\B5\00\DB\B6\00\DB\B7\00\DB\B8\00\DB\B9\00", [28 x i8] c"\00.\00,\00\03\00\03\02\00\A0\00\C2\A0\00 \00\D9\AB\00\D9\AC\00'\00\02\03\00", [1646 x i8] c"\00\7F\00-\00ZAR \00R\00,\00.\00\03\00\02\00\01\00-R\00ETB \00$\00-$\00AED \00\CF.\C5.\00-\CF.\C5.\00\D8\AF.\D8\A5.\00-\D8\AF.\D8\A5.\00BHD \00\CF.\C8.\00-\CF.\C8.\00\D8\AF.\D8\A8.\00-\D8\AF.\D8\A8.\00DZD \00\CF.\CC.\00-\CF.\CC.\00\D8\AF.\D8\AC.\00-\D8\AF.\D8\AC.\00EGP \00\CC.\E5.\00-\CC.\E5.\00\D8\AC.\D9\85.\00-\D8\AC.\D9\85.\00INR \00\E2\82\A8\00\03\02\00-\E2\82\A8\00IQD \00\CF.\D9.\00-\CF.\D9.\00\D8\AF.\D8\B9.\00-\D8\AF.\D8\B9.\00JOD \00\CF.\C3.\00-\CF.\C3.\00\D8\AF.\D8\A3.\00-\D8\AF.\D8\A3.\00KWD \00\CF.\E3.\00-\CF.\E3.\00\D8\AF.\D9\83.\00-\D8\AF.\D9\83.\00LBP \00\E4.\E4.\00-\E4.\E4.\00\D9\84.\D9\84.\00-\D9\84.\D9\84.\00LYD \00\CF.\E4.\00-\CF.\E4.\00\D8\AF.\D9\84.\00-\D8\AF.\D9\84.\00MAD \00\CF.\E5.\00-\CF.\E5.\00\D8\AF.\D9\85.\00-\D8\AF.\D9\85.\00OMR \00\D1.\D9.\00-\D1.\D9.\00\D8\B1.\D8\B9.\00-\D8\B1.\D8\B9.\00QAR \00\D1.\E2.\00-\D1.\E2.\00\D8\B1.\D9\82.\00-\D8\B1.\D9\82.\00SAR \00\D1\EA\C7\E4\00+\D1\EA\C7\E4\00\D8\B1\D9\8A\D8\A7\D9\84\00+\D8\B1\D9\8A\D8\A7\D9\84\00SDP \00\CC.\D3.\00-\CC.\D3.\00\D8\AC.\D8\B3.\00-\D8\AC.\D8\B3.\00SYP \00\E4.\D3.\00-\E4.\D3.\00\D9\84.\D8\B3.\00-\D9\84.\D8\B3.\00TND \00\CF.\CA.\00-\CF.\CA.\00\D8\AF.\D8\AA.\00-\D8\AF.\D8\AA.\00YER \00\D1.\EA.\00-\D1.\EA.\00\D8\B1.\D9\8A.\00-\D8\B1.\D9\8A.\00AZM \00man.\00 \00+man.\00BYR \00\F0\F3\E1\00+\F0\F3\E1\00\D1\80\D1\83\D0\B1\00+\D1\80\D1\83\D0\B1\00BGL \00\EB\E2\00\A0\00+\EB\E2\00\D0\BB\D0\B2\00\C2\A0\00+\D0\BB\D0\B2\00\E0\A7\B3\00-\E0\A7\B3\00\E0\A6\9F\E0\A6\BE\E0\A6\95\E0\A6\BE\00\02\03\00-\E0\A6\9F\E0\A6\BE\E0\A6\95\E0\A6\BE\00EUR \00EUR\00+EUR\00\E2\82\AC\00+\E2\82\AC\00BAK \00KM\00-KM\00-EUR\00-\E2\82\AC\00\A4\00-\A4\00CZK \00K\E8\00+K\E8\00K\C4\8D\00+K\C4\8D\00GBP \00\A3\00-\A3\00\C2\A3\00-\C2\A3\00DKK \00kr\00\04\00-kr\00CHF \00Fr.\00-Fr.\00+\A4\00AUD \00BWP \00Pu\00-Pu\00CAD \00\C2\A4\00-\C2\A4\00HKD \00HK$\00-HK$\00NZD \00PHP \00Php\00-Php\00SGD \00USD \00ZWD \00Z$\00-Z$\00-EUR \00ARS \00BOB \00$b\00-$b\00CLP \00COP \00CRC \00C\00-C\00DOP \00ECS \00GTQ \00Q\00-Q\00HNL \00L.\00-L.\00MXP \00NIO \00$C\00-$C\00PAB \00B/\00-B/\00PEN \00S/\00-S/\00PYG \00Gs.\00-Gs.\00SVC \00\A2\00-\A2\00\C2\A2\00-\C2\A2\00UYU \00N$\00-N$\00VEB \00Bs.\00-Bs.\00EEK \00IRR \00\D8\B1\DB\8C\D8\A7\D9\84\00\D9\AB\00\D9\AC\00+\D8\B1\DB\8C\D8\A7\D9\84\00+$\00ILS \00\F9\E7\00-\F9\E7\00\D7\A9\D7\97\00-\D7\A9\D7\97\00\E0\A4\B0\E0\A5\82\00-\E0\A4\B0\E0\A5\82\00HRK \00Kn\00-Kn\00HUF \00Ft\00+Ft\00AMD \00\B8\00-\B8\00\D4\B4\00-\D4\B4\00IDR \00Rp\00-Rp\00ISK \00+kr\00JPY \00\EF\BF\A5\00-\EF\BF\A5\00GEL \00\CB\00-\CB\00\E1\83\9A\00-\E1\83\9A\00KRW \00\EF\BF\A6\00-\EF\BF\A6\00LTL \00Lt\00+Lt\00LVL \00Ls\00-Ls\00MKD \00\D4\D5\DD\00+\D4\D5\DD\00\D0\B4\D0\B5\D0\BD\00+\D0\B4\D0\B5\D0\BD\00\E0\A4\B0\E0\A5\81\00-\E0\A4\B0\E0\A5\81\00MYR \00RM\00-RM\00MTL \00Lm\00-Lm\00NOK \00PLN \00Z\B3\00-Z\B3\00Z\C5\82\00-Z\C5\82\00BRL \00R$\00+R$\00ROL \00Lei\00-Lei\00RUR \00\D2\D5\C2\00+\D2\D5\C2\00\E0\E3\D1\00+\E0\E3\D1\00UAH \00\C7\D2\00+\C7\D2\00\D0\B3\D1\80\00+\D0\B3\D1\80\00 ru\00- ru\00SKK \00Sk\00+Sk\00SIT \00SIT\00+SIT\00ALL \00Lek\00-Lek\00YUN \00din\00-din\00\D4\D8\DD\00-\D4\D8\DD\00\D0\B4\D0\B8\D0\BD\00-\D0\B4\D0\B8\D0\BD\00SEK \00THB \00\DF\00-\DF\00\E0\B8\BF\00-\E0\B8\BF\00ERB \00PhP\00-PhP\00TRL \00TL\00+TL\00PKR \00Rs\00-Rs\00UZS \00so'm\00-so'm\00VND \00\E2\82\AB\00+\E2\82\AB\00CNY \00TWD \00NT$\00-NT$\00", [28353 x i8] c"\00Sun\00Mon\00Tue\00Wed\00Thu\00Fri\00Sat\00Sunday\00Monday\00Tuesday\00Wednesday\00Thursday\00Friday\00Saturday\00Jan\00Feb\00Mar\00Apr\00May\00Jun\00Jul\00Aug\00Sep\00Oct\00Nov\00Dec\00January\00February\00March\00April\00June\00July\00August\00September\00October\00November\00December\00AM\00PM\00%a %b %e %H:%M:%S %Y\00%m/%d/%y\00%H:%M:%S\00%I:%M:%S %p\00So\00Ma\00Di\00Wo\00Do\00Vr\00Sa\00Sondag\00Maandag\00Dinsdag\00Woensdag\00Donderdag\00Vrydag\00Saterdag\00Mei\00Okt\00Des\00Januarie\00Februarie\00Maart\00Junie\00Julie\00Augustus\00Oktober\00Desember\00VM\00NM\00%a %d %b %Y %T %Z\00%d/%m/%y\00%T\00\E1\8A\A5\E1\88\91\E1\8B\B5\00\E1\88\B0\E1\8A\9E\00\E1\88\9B\E1\8A\AD\E1\88\B0\E1\8A\9E\00\E1\88\A8\E1\89\A1\E1\8B\95\00\E1\88\90\E1\88\99\E1\88\B5\00\E1\8B\93\E1\88\AD\E1\89\A5\00\E1\89\85\E1\8B\B3\E1\88\9C\00\E1\8C\83\E1\8A\95\E1\8B\A9\00\E1\8D\8C\E1\89\A5\E1\88\A9\00\E1\88\9B\E1\88\AD\E1\89\BD\00\E1\8A\A4\E1\8D\95\E1\88\A8\00\E1\88\9C\E1\8B\AD\00\E1\8C\81\E1\8A\95\00\E1\8C\81\E1\88\8B\E1\8B\AD\00\E1\8A\A6\E1\8C\88\E1\88\B5\00\E1\88\B4\E1\8D\95\E1\89\B4\00\E1\8A\A6\E1\8A\AD\E1\89\B0\00\E1\8A\96\E1\89\AC\E1\88\9D\00\E1\8B\B2\E1\88\B4\E1\88\9D\00\E1\8C\83\E1\8A\95\E1\8B\A9\E1\8B\88\E1\88\AA\00\E1\8D\8C\E1\89\A5\E1\88\A9\E1\8B\88\E1\88\AA\00\E1\8A\A4\E1\8D\95\E1\88\A8\E1\88\8D\00\E1\8A\A6\E1\8C\88\E1\88\B5\E1\89\B5\00\E1\88\B4\E1\8D\95\E1\89\B4\E1\88\9D\E1\89\A0\E1\88\AD\00\E1\8A\A6\E1\8A\AD\E1\89\B0\E1\8B\8D\E1\89\A0\E1\88\AD\00\E1\8A\96\E1\89\AC\E1\88\9D\E1\89\A0\E1\88\AD\00\E1\8B\B2\E1\88\B4\E1\88\9D\E1\89\A0\E1\88\AD\00\E1\8C\A0\E1\8B\8B\E1\89\B5\00\E1\8A\A8\E1\88\B3\E1\8B\93\E1\89\B5\00%A\E1\8D\A3 %b %e \E1\89\80\E1\8A\95 %l:%M:%S %Z %Y\00%d/%m/%Y\00%r\00\CD\00\E6\00\CB\00\D1\00\CE\00\CC\00\D3\00\C7\E4\C3\CD\CF\00\C7\E4\C7\CB\E6\EA\E6\00\C7\E4\CB\E4\C7\CB\C7\C1\00\C7\E4\C3\D1\C8\D9\C7\C1\00\C7\E4\CE\E5\EA\D3\00\C7\E4\CC\E5\D9\C9\00\C7\E4\D3\C8\CA \00\EA\E6\C7\00\E1\C8\D1\00\E5\C7\D1\00\C3\C8\D1\00\E5\C7\EA\00\EA\E8\E6\00\EA\E8\E4\00\C3\DA\D3\00\D3\C8\CA\00\C3\E3\CA\00\E6\E8\E1\00\CF\EA\D3\00\EA\E6\C7\EA\D1\00\E1\C8\D1\C7\EA\D1\00\E5\C7\D1\D3\00\C3\C8\D1\EA\E4\00\E5\C7\EA\E8\00\EA\E8\E6\EA\E8\00\EA\E8\E4\EA\E8\00\C3\DA\D3\D7\D3\00\D3\C8\CA\E5\C8\D1\00\C3\E3\CA\E8\C8\D1\00\E6\E8\E1\E5\C8\D1\00\CF\EA\D3\E5\C8\D1\00\D5\00\E5\00%d %b, %Y %Z %I:%M:%S %p\00%d %b, %Y\00%Z %I:%M:%S \00%Z %I:%M:%S %p\00\D8\AD\00\D9\86\00\D8\AB\00\D8\B1\00\D8\AE\00\D8\AC\00\D8\B3\00\D8\A7\D9\84\D8\A3\D8\AD\D8\AF\00\D8\A7\D9\84\D8\A7\D8\AB\D9\86\D9\8A\D9\86\00\D8\A7\D9\84\D8\AB\D9\84\D8\A7\D8\AB\D8\A7\D8\A1\00\D8\A7\D9\84\D8\A3\D8\B1\D8\A8\D8\B9\D8\A7\D8\A1\00\D8\A7\D9\84\D8\AE\D9\85\D9\8A\D8\B3\00\D8\A7\D9\84\D8\AC\D9\85\D8\B9\D8\A9\00\D8\A7\D9\84\D8\B3\D8\A8\D8\AA \00\D9\8A\D9\86\D8\A7\00\D9\81\D8\A8\D8\B1\00\D9\85\D8\A7\D8\B1\00\D8\A3\D8\A8\D8\B1\00\D9\85\D8\A7\D9\8A\00\D9\8A\D9\88\D9\86\00\D9\8A\D9\88\D9\84\00\D8\A3\D8\BA\D8\B3\00\D8\B3\D8\A8\D8\AA\00\D8\A3\D9\83\D8\AA\00\D9\86\D9\88\D9\81\00\D8\AF\D9\8A\D8\B3\00\D9\8A\D9\86\D8\A7\D9\8A\D8\B1\00\D9\81\D8\A8\D8\B1\D8\A7\D9\8A\D8\B1\00\D9\85\D8\A7\D8\B1\D8\B3\00\D8\A3\D8\A8\D8\B1\D9\8A\D9\84\00\D9\85\D8\A7\D9\8A\D9\88\00\D9\8A\D9\88\D9\86\D9\8A\D9\88\00\D9\8A\D9\88\D9\84\D9\8A\D9\88\00\D8\A3\D8\BA\D8\B3\D8\B7\D8\B3\00\D8\B3\D8\A8\D8\AA\D9\85\D8\A8\D8\B1\00\D8\A3\D9\83\D8\AA\D9\88\D8\A8\D8\B1\00\D9\86\D9\88\D9\81\D9\85\D8\A8\D8\B1\00\D8\AF\D9\8A\D8\B3\D9\85\D8\A8\D8\B1\00\D8\B5\00\D9\85\00\C7\E4\D3\C8\CA\00\D8\A7\D9\84\D8\B3\D8\A8\D8\AA\00%A %d %B %Y %I:%M:%S %p %Z\00%A %d %B %Y\00%I:%M:%S %Z\00%I:%M:%S %p %Z\00\E3\C7\E6\E8\E6 \C7\E4\CB\C7\E6\EA\00\D4\C8\C7\D7\00\C2\D0\C7\D1\00\E6\EA\D3\C7\E6\00\E6\E8\C7\D1\00\CD\D2\EA\D1\C7\E6\00\CA\E5\E8\D2\00\C2\C8\00\C3\EA\E4\E8\E4\00\CA\D4\D1\EA\E6 \C7\E4\C3\E8\E4\00\CA\D4\D1\EA\E6 \C7\E4\CB\C7\E6\EA\00\E3\C7\E6\E8\E6 \C7\E4\C3\E8\E4\00\D9\83\D8\A7\D9\86\D9\88\D9\86 \D8\A7\D9\84\D8\AB\D8\A7\D9\86\D9\8A\00\D8\B4\D8\A8\D8\A7\D8\B7\00\D8\A2\D8\B0\D8\A7\D8\B1\00\D9\86\D9\8A\D8\B3\D8\A7\D9\86\00\D9\86\D9\88\D8\A7\D8\B1\00\D8\AD\D8\B2\D9\8A\D8\B1\D8\A7\D9\86\00\D8\AA\D9\85\D9\88\D8\B2\00\D8\A2\D8\A8\00\D8\A3\D9\8A\D9\84\D9\88\D9\84\00\D8\AA\D8\B4\D8\B1\D9\8A\D9\86 \D8\A7\D9\84\D8\A3\D9\88\D9\84\00\D8\AA\D8\B4\D8\B1\D9\8A\D9\86 \D8\A7\D9\84\D8\AB\D8\A7\D9\86\D9\8A\00\D9\83\D8\A7\D9\86\D9\88\D9\86 \D8\A7\D9\84\D8\A3\D9\88\D9\84\00\C7\E4\C5\CB\E6\EA\E6\00\C7\E4\CC\E5\D9\E0\C9\00\E6\EA\D3\E0\C7\E6\00\C3\EA\C7\D1\00\CA\E0\E5\E0\E8\D2\00%A %.1d %B %Y %.1H:%M:%S\00%A %.1d %B %Y\00%.1H:%M:%S\00\D8\A7\D9\84\D8\A5\D8\AB\D9\86\D9\8A\D9\86\00\D8\A7\D9\84\D8\AC\D9\85\D8\B9\D9\80\D8\A9\00\D9\86\D9\8A\D8\B3\D9\80\D8\A7\D9\86\00\D8\A3\D9\8A\D8\A7\D8\B1\00\D8\AA\D9\80\D9\85\D9\80\D9\88\D8\B2\00\E6\E8\C7\D1\C7\E6\00\CD\D2\EA\D1\00\D9\86\D9\88\D8\A7\D8\B1\D8\A7\D9\86\00\D8\AD\D8\B2\D9\8A\D8\B1\00baz\00bir\00iki\00\FC\E7\FC\00d\F6r\00be\FE\00alt\00bazar g\FCn\FC\00birinci g\FCn\00ikinci g\FCn\00\FC\E7\FCnc\FC g\FCn\00d\F6rd\FCnc\FC g\FCn\00be\FEinci g\FCn\00alt\FDnc\FD g\FCn\00Yan\00Fev\00\DDyn\00\DDyl\00Avq\00Sen\00Noy\00Dek\00yanvar\00fevral\00mart\00aprel\00may\00iyun\00iyul\00avqust\00sentyabr\00oktyabr\00noyabr\00dekabr\00%A, %d %B %Y %T\00%d.%m.%Y\00\C3\BC\C3\A7\C3\BC\00d\C3\B6r\00be\C5\9F\00bazar g\C3\BCn\C3\BC\00birinci g\C3\BCn\00ikinci g\C3\BCn\00\C3\BC\C3\A7\C3\BCnc\C3\BC g\C3\BCn\00d\C3\B6rd\C3\BCnc\C3\BC g\C3\BCn\00be\C5\9Finci g\C3\BCn\00alt\C4\B1nc\C4\B1 g\C3\BCn\00\C4\B0yn\00\C4\B0yl\00\CD\FF\E4\00\CF\E0\ED\00\C0\A2\F2\00\D1\F0\E4\00\D7\F6\E2\00\CF\FF\F2\00\D1\F3\E1\00\CD\FF\E4\E7\E5\EB\FF\00\CF\E0\ED\FF\E4\E7\E5\EB\E0\EA\00\C0\A2\F2\EE\F0\E0\EA\00\D1\E5\F0\E0\E4\E0\00\D7\E0\F6\E2\E5\F0\00\CF\FF\F2\ED\B3\F6\E0\00\D1\F3\E1\EE\F2\E0\00\D1\F2\E4\00\CB\FE\F2\00\D1\E0\EA\00\CA\F0\F1\00\D2\F0\E0\00\D7\FD\F0\00\CB\B3\EF\00\C6\ED\E2\00\C2\F0\F1\00\CA\F1\F2\00\CB\B3\F1\00\D1\ED\E6\00\D1\F2\F3\E4\E7\E5\ED\FC\00\CB\FE\F2\FB\00\D1\E0\EA\E0\E2\B3\EA\00\CA\F0\E0\F1\E0\E2\B3\EA\00\D2\F0\E0\E2\E5\ED\FC\00\D7\FD\F0\E2\E5\ED\FC\00\CB\B3\EF\E5\ED\FC\00\C6\ED\B3\E2\E5\ED\FC\00\C2\E5\F0\E0\F1\E5\ED\FC\00\CA\E0\F1\F2\F0\FB\F7\ED\B3\EA\00\CB\B3\F1\F2\E0\EF\E0\E4\00\D1\ED\E5\E6\E0\ED\FC\00%a %d %b %Y %T\00\D0\9D\D1\8F\D0\B4\00\D0\9F\D0\B0\D0\BD\00\D0\90\D1\9E\D1\82\00\D0\A1\D1\80\D0\B4\00\D0\A7\D1\86\D0\B2\00\D0\9F\D1\8F\D1\82\00\D0\A1\D1\83\D0\B1\00\D0\9D\D1\8F\D0\B4\D0\B7\D0\B5\D0\BB\D1\8F\00\D0\9F\D0\B0\D0\BD\D1\8F\D0\B4\D0\B7\D0\B5\D0\BB\D0\B0\D0\BA\00\D0\90\D1\9E\D1\82\D0\BE\D1\80\D0\B0\D0\BA\00\D0\A1\D0\B5\D1\80\D0\B0\D0\B4\D0\B0\00\D0\A7\D0\B0\D1\86\D0\B2\D0\B5\D1\80\00\D0\9F\D1\8F\D1\82\D0\BD\D1\96\D1\86\D0\B0\00\D0\A1\D1\83\D0\B1\D0\BE\D1\82\D0\B0\00\D0\A1\D1\82\D0\B4\00\D0\9B\D1\8E\D1\82\00\D0\A1\D0\B0\D0\BA\00\D0\9A\D1\80\D1\81\00\D0\A2\D1\80\D0\B0\00\D0\A7\D1\8D\D1\80\00\D0\9B\D1\96\D0\BF\00\D0\96\D0\BD\D0\B2\00\D0\92\D1\80\D1\81\00\D0\9A\D1\81\D1\82\00\D0\9B\D1\96\D1\81\00\D0\A1\D0\BD\D0\B6\00\D0\A1\D1\82\D1\83\D0\B4\D0\B7\D0\B5\D0\BD\D1\8C\00\D0\9B\D1\8E\D1\82\D1\8B\00\D0\A1\D0\B0\D0\BA\D0\B0\D0\B2\D1\96\D0\BA\00\D0\9A\D1\80\D0\B0\D1\81\D0\B0\D0\B2\D1\96\D0\BA\00\D0\A2\D1\80\D0\B0\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\A7\D1\8D\D1\80\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\9B\D1\96\D0\BF\D0\B5\D0\BD\D1\8C\00\D0\96\D0\BD\D1\96\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\92\D0\B5\D1\80\D0\B0\D1\81\D0\B5\D0\BD\D1\8C\00\D0\9A\D0\B0\D1\81\D1\82\D1\80\D1\8B\D1\87\D0\BD\D1\96\D0\BA\00\D0\9B\D1\96\D1\81\D1\82\D0\B0\D0\BF\D0\B0\D0\B4\00\D0\A1\D0\BD\D0\B5\D0\B6\D0\B0\D0\BD\D1\8C\00\ED\E4\00\EF\ED\00\E2\F2\00\F1\F0\00\F7\F2\00\EF\F2\00\F1\E1\00\ED\E5\E4\E5\EB\FF\00\EF\EE\ED\E5\E4\E5\EB\ED\E8\EA\00\E2\F2\EE\F0\ED\E8\EA\00\F1\F0\FF\E4\E0\00\F7\E5\F2\E2\FA\F0\F2\FA\EA\00\EF\E5\F2\FA\EA\00\F1\FA\E1\EE\F2\E0\00\FF\ED\F3\00\F4\E5\E2\00\EC\E0\F0\00\E0\EF\F0\00\EC\E0\E9\00\FE\ED\E8\00\FE\EB\E8\00\E0\E2\E3\00\F1\E5\EF\00\EE\EA\F2\00\ED\EE\E5\00\E4\E5\EA\00\FF\ED\F3\E0\F0\E8\00\F4\E5\E2\F0\F3\E0\F0\E8\00\EC\E0\F0\F2\00\E0\EF\F0\E8\EB\00\E0\E2\E3\F3\F1\F2\00\F1\E5\EF\F2\E5\EC\E2\F0\E8\00\EE\EA\F2\EE\EC\E2\F0\E8\00\ED\EE\E5\EC\E2\F0\E8\00\E4\E5\EA\E5\EC\E2\F0\E8\00%x (%a) %X %Z\00%e.%m.%Y\00%k,%M,%S\00%l,%M,%S\00\D0\BD\D0\B4\00\D0\BF\D0\BD\00\D0\B2\D1\82\00\D1\81\D1\80\00\D1\87\D1\82\00\D0\BF\D1\82\00\D1\81\D0\B1\00\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D1\8F\00\D0\BF\D0\BE\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D0\BD\D0\B8\D0\BA\00\D0\B2\D1\82\D0\BE\D1\80\D0\BD\D0\B8\D0\BA\00\D1\81\D1\80\D1\8F\D0\B4\D0\B0\00\D1\87\D0\B5\D1\82\D0\B2\D1\8A\D1\80\D1\82\D1\8A\D0\BA\00\D0\BF\D0\B5\D1\82\D1\8A\D0\BA\00\D1\81\D1\8A\D0\B1\D0\BE\D1\82\D0\B0\00\D1\8F\D0\BD\D1\83\00\D1\84\D0\B5\D0\B2\00\D0\BC\D0\B0\D1\80\00\D0\B0\D0\BF\D1\80\00\D0\BC\D0\B0\D0\B9\00\D1\8E\D0\BD\D0\B8\00\D1\8E\D0\BB\D0\B8\00\D0\B0\D0\B2\D0\B3\00\D1\81\D0\B5\D0\BF\00\D0\BE\D0\BA\D1\82\00\D0\BD\D0\BE\D0\B5\00\D0\B4\D0\B5\D0\BA\00\D1\8F\D0\BD\D1\83\D0\B0\D1\80\D0\B8\00\D1\84\D0\B5\D0\B2\D1\80\D1\83\D0\B0\D1\80\D0\B8\00\D0\BC\D0\B0\D1\80\D1\82\00\D0\B0\D0\BF\D1\80\D0\B8\D0\BB\00\D0\B0\D0\B2\D0\B3\D1\83\D1\81\D1\82\00\D1\81\D0\B5\D0\BF\D1\82\D0\B5\D0\BC\D0\B2\D1\80\D0\B8\00\D0\BE\D0\BA\D1\82\D0\BE\D0\BC\D0\B2\D1\80\D0\B8\00\D0\BD\D0\BE\D0\B5\D0\BC\D0\B2\D1\80\D0\B8\00\D0\B4\D0\B5\D0\BA\D0\B5\D0\BC\D0\B2\D1\80\D0\B8\00\E0\A6\B0\E0\A6\AC\E0\A6\BF\00\E0\A6\B8\E0\A7\8B\E0\A6\AE\00\E0\A6\AE\E0\A6\99\E0\A6\97\E0\A6\B2\00\E0\A6\AC\E0\A7\81\E0\A6\A7\00\E0\A6\AC\E0\A7\83\E0\A6\B9\E0\A6\B8\E0\A7\8D\E0\A6\AA\E0\A6\A4\E0\A6\BF\00\E0\A6\B6\E0\A7\81\E0\A6\95\E0\A7\8D\E0\A6\B0\00\E0\A6\B6\E0\A6\A8\E0\A6\BF\00\E0\A6\B0\E0\A6\AC\E0\A6\BF\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B8\E0\A7\8B\E0\A6\AE\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\AE\E0\A6\99\E0\A6\97\E0\A6\B2\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\AC\E0\A7\81\E0\A6\A7\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\AC\E0\A7\83\E0\A6\B9\E0\A6\B8\E0\A7\8D\E0\A6\AA\E0\A6\A4\E0\A6\BF\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B6\E0\A7\81\E0\A6\95\E0\A7\8D\E0\A6\B0\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B6\E0\A6\A8\E0\A6\BF\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\9C\E0\A6\BE\E0\A6\A8\00\E0\A6\AB\E0\A7\87\E0\A6\AC\00\E0\A6\AE\E0\A6\BE\E0\A6\B0\00\E0\A6\8F\E0\A6\AA\E0\A7\8D\E0\A6\B0\00\E0\A6\AE\E0\A7\87\00\E0\A6\9C\E0\A7\81\E0\A6\A8\00\E0\A6\9C\E0\A7\81\E0\A6\B2\00\E0\A6\86\E0\A6\97\00\E0\A6\B8\E0\A7\87\E0\A6\AA\00\E0\A6\85\E0\A6\95\E0\A7\8D\E0\A6\9F\E0\A7\8B\E0\A6\AC\E0\A6\B0\00\E0\A6\A8\E0\A6\AD\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\B0\00\E0\A6\A1\E0\A6\BF\E0\A6\B8\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\B0\00\E0\A6\9C\E0\A6\BE\E0\A6\A8\E0\A7\81\E0\A7\9F\E0\A6\BE\E0\A6\B0\E0\A7\80\00\E0\A6\AB\E0\A7\87\E0\A6\AC\E0\A7\8D\E0\A6\B0\E0\A7\81\E0\A7\9F\E0\A6\BE\E0\A6\B0\E0\A7\80\00\E0\A6\AE\E0\A6\BE\E0\A6\B0\E0\A7\8D\E0\A6\9A\00\E0\A6\8F\E0\A6\AA\E0\A7\8D\E0\A6\B0\E0\A6\BF\E0\A6\B2\00\E0\A6\9C\E0\A7\81\E0\A6\B2\E0\A6\BE\E0\A6\87\00\E0\A6\86\E0\A6\97\E0\A6\B8\E0\A7\8D\E0\A6\9F\00\E0\A6\B8\E0\A7\87\E0\A6\AA\E0\A7\8D\E0\A6\9F\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\85\E0\A6\95\E0\A7\8D\E0\A6\9F\E0\A7\8B\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\A8\E0\A6\AD\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\A1\E0\A6\BF\E0\A6\B8\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B8\E0\A6\95\E0\A6\BE\E0\A6\B2\00\E0\A6\AC\E0\A6\BF\E0\A6\95\E0\A6\BE\E0\A6\B2\00%A %d %b %Y %I:%M:%S %p %Z\00%A %d %b %Y\00\E0\A6\B8\E0\A7\87\E0\A6\AA\E0\A7\8D\E0\A6\9F\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\B0\00\E0\A6\AA\E0\A7\82\E0\A6\B0\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B9\E0\A7\8D\E0\A6\A3\00\E0\A6\85\E0\A6\AA\E0\A6\B0\E0\A6\BE\E0\A6\B9\E0\A7\8D\E0\A6\A3\00sul\00lun\00meu\00mer\00yao\00gwe\00sad\00meurzh\00merc'her\00yaou\00gwener\00sadorn\00Gen \00C'hw\00Meu \00Ebr \00Mae \00Eve \00Gou \00Eos \00Gwe \00Her \00Du \00Ker \00Genver\00C'hwevrer\00Meurzh\00Ebrel\00Mae\00Mezheven\00Gouere\00Eost\00Gwengolo\00Here\00Du\00Kerzu\00 \00D'ar %A %d a viz %B %Y\00%Ie%M:%S %p\00Ned\00Pon\00Uto\00Sri\00\C8et\00Pet\00Sub\00Nedjelja\00Ponedjeljak\00Utorak\00Srijeda\00\C8etvrtak\00Petak\00Subota\00Maj\00Januar\00Februar\00Mart\00Juni\00Juli\00Septembar\00Oktobar\00Novembar\00Decembar\00\C4\8Cet\00\C4\8Cetvrtak\00dg\00dl\00dt\00dc\00dj\00dv\00ds\00diumenge\00dilluns\00dimarts\00dimecres\00dijous\00divendres\00dissabte\00gen\00feb\00mar\00abr\00mai\00jun\00jul\00ago\00set\00oct\00nov\00des\00gener\00febrer\00mar\E7\00abril\00maig\00juny\00juliol\00agost\00setembre\00octubre\00novembre\00desembre\00mar\C3\A7\00Ne\00Po\00\DAt\00St\00\C8t\00P\E1\00Ned\ECle\00Pond\ECl\ED\00\DAter\FD\00St\F8eda\00\C8tvrtek\00P\E1tek\00Sobota\00led\00\FAno\00b\F8e\00dub\00kv\EC\00\E8en\00\E8ec\00srp\00z\E1\F8\00\F8\EDj\00lis\00pro\00leden\00\FAnor\00b\F8ezen\00duben\00kv\ECten\00\E8erven\00\E8ervenec\00srpen\00z\E1\F8\ED\00\F8\EDjen\00listopad\00prosinec\00%a\A0%e.\A0%B\A0%Y,\A0%H:%M:%S\A0%Z\00%I:%M:%S\00\C3\9At\00\C4\8Ct\00P\C3\A1\00Ned\C4\9Ble\00Pond\C4\9Bl\C3\AD\00\C3\9Ater\C3\BD\00St\C5\99eda\00\C4\8Ctvrtek\00P\C3\A1tek\00\C3\BAno\00b\C5\99e\00kv\C4\9B\00\C4\8Den\00\C4\8Dec\00z\C3\A1\C5\99\00\C5\99\C3\ADj\00\C3\BAnor\00b\C5\99ezen\00kv\C4\9Bten\00\C4\8Derven\00\C4\8Dervenec\00z\C3\A1\C5\99\C3\AD\00\C5\99\C3\ADjen\00%a\C2\A0%e.\C2\A0%B\C2\A0%Y,\C2\A0%H:%M:%S\C2\A0%Z\00Sul\00Llu\00Maw\00Mer\00Iau\00Gwe\00Sad\00Llun\00Mawrth\00Mercher\00Gwener\00Sadwrn\00Ion\00Chw\00Ebr\00Mai\00Meh\00Gor\00Aws\00Med\00Hyd\00Tach\00Rha\00Ionawr\00Chwefror\00Ebrill\00Mehefin\00Gorffennaf\00Awst\00Medi\00Hydref\00Tachwedd\00Rhagfyr\00Dydd %A %d a viz %B %Y %T %Z\00%d.%m.%y\00s\F8n\00man\00tir\00ons\00tor\00fre\00l\F8r\00s\F8ndag\00mandag\00tirsdag\00onsdag\00torsdag\00fredag\00l\F8rdag\00jan\00apr\00maj\00aug\00sep\00okt\00dec\00januar\00februar\00marts\00april\00juni\00juli\00august\00september\00oktober\00november\00december\00%d-%m-%Y\00s\C3\B8n\00l\C3\B8r\00s\C3\B8ndag\00l\C3\B8rdag\00Son\00Die\00Mit\00Don\00Fre\00Sam\00Sonntag\00Montag\00Dienstag\00Mittwoch\00Donnerstag\00Freitag\00Samstag\00J\E4n\00M\E4r\00Dez\00J\E4nner\00Feber\00M\E4rz\00Dezember\00%Y-%m-%d\00J\C3\A4n\00M\C3\A4r\00J\C3\A4nner\00M\C3\A4rz\00\CA\F5\F1\00\C4\E5\F5\00\D4\F1\E9\00\D4\E5\F4\00\D0\E5\EC\00\D0\E1\F1\00\D3\E1\E2\00\CA\F5\F1\E9\E1\EA\DE\00\C4\E5\F5\F4\DD\F1\E1\00\D4\F1\DF\F4\E7\00\D4\E5\F4\DC\F1\F4\E7\00\D0\DD\EC\F0\F4\E7\00\D0\E1\F1\E1\F3\EA\E5\F5\DE\00\D3\DC\E2\E2\E1\F4\EF\00\C9\E1\ED\00\D6\E5\E2\00\CC\DC\F1\00\C1\F0\F1\00\CC\DC\E9\00\C9\EF\FD\ED\00\C9\EF\FD\EB\00\C1\FD\E3\00\D3\E5\F0\00\CF\EA\F4\00\CD\EF\DD\00\C4\E5\EA\00\C9\E1\ED\EF\F5\DC\F1\E9\EF\F2\00\D6\E5\E2\F1\EF\F5\DC\F1\E9\EF\F2\00\CC\DC\F1\F4\E9\EF\F2\00\C1\F0\F1\DF\EB\E9\EF\F2\00\CC\DC\E9\EF\F2\00\C9\EF\FD\ED\E9\EF\F2\00\C9\EF\FD\EB\E9\EF\F2\00\C1\FD\E3\EF\F5\F3\F4\EF\F2\00\D3\E5\F0\F4\DD\EC\E2\F1\E9\EF\F2\00\CF\EA\F4\FE\E2\F1\E9\EF\F2\00\CD\EF\DD\EC\E2\F1\E9\EF\F2\00\C4\E5\EA\DD\EC\E2\F1\E9\EF\F2\00\CE\9A\CF\85\CF\81\00\CE\94\CE\B5\CF\85\00\CE\A4\CF\81\CE\B9\00\CE\A4\CE\B5\CF\84\00\CE\A0\CE\B5\CE\BC\00\CE\A0\CE\B1\CF\81\00\CE\A3\CE\B1\CE\B2\00\CE\9A\CF\85\CF\81\CE\B9\CE\B1\CE\BA\CE\AE\00\CE\94\CE\B5\CF\85\CF\84\CE\AD\CF\81\CE\B1\00\CE\A4\CF\81\CE\AF\CF\84\CE\B7\00\CE\A4\CE\B5\CF\84\CE\AC\CF\81\CF\84\CE\B7\00\CE\A0\CE\AD\CE\BC\CF\80\CF\84\CE\B7\00\CE\A0\CE\B1\CF\81\CE\B1\CF\83\CE\BA\CE\B5\CF\85\CE\AE\00\CE\A3\CE\AC\CE\B2\CE\B2\CE\B1\CF\84\CE\BF\00\CE\99\CE\B1\CE\BD\00\CE\A6\CE\B5\CE\B2\00\CE\9C\CE\AC\CF\81\00\CE\91\CF\80\CF\81\00\CE\9C\CE\AC\CE\B9\00\CE\99\CE\BF\CF\8D\CE\BD\00\CE\99\CE\BF\CF\8D\CE\BB\00\CE\91\CF\8D\CE\B3\00\CE\A3\CE\B5\CF\80\00\CE\9F\CE\BA\CF\84\00\CE\9D\CE\BF\CE\AD\00\CE\94\CE\B5\CE\BA\00\CE\99\CE\B1\CE\BD\CE\BF\CF\85\CE\AC\CF\81\CE\B9\CE\BF\CF\82\00\CE\A6\CE\B5\CE\B2\CF\81\CE\BF\CF\85\CE\AC\CF\81\CE\B9\CE\BF\CF\82\00\CE\9C\CE\AC\CF\81\CF\84\CE\B9\CE\BF\CF\82\00\CE\91\CF\80\CF\81\CE\AF\CE\BB\CE\B9\CE\BF\CF\82\00\CE\9C\CE\AC\CE\B9\CE\BF\CF\82\00\CE\99\CE\BF\CF\8D\CE\BD\CE\B9\CE\BF\CF\82\00\CE\99\CE\BF\CF\8D\CE\BB\CE\B9\CE\BF\CF\82\00\CE\91\CF\8D\CE\B3\CE\BF\CF\85\CF\83\CF\84\CE\BF\CF\82\00\CE\A3\CE\B5\CF\80\CF\84\CE\AD\CE\BC\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00\CE\9F\CE\BA\CF\84\CF\8E\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00\CE\9D\CE\BF\CE\AD\CE\BC\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00\CE\94\CE\B5\CE\BA\CE\AD\CE\BC\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00%a %d %b %Y %r %Z\00%Y-%m-%dT%T %Z\00%A, %B %d, %Y %p%I:%M:%S %Z\00%A, %B %d, %Y\00%I:%M:%S %Z\00%p%I:%M:%S %Z\00%A, %d %B, %Y %I:%M:%S %p %Z\00%A, %d %B, %Y\00%A %d,%B,%Y %I:%M:%S %p %Z\00%A %d,%B,%Y\00%m/%d/%Y\00dim\00\C4\B5a\C5\AD\00ven\00sab\00diman\C4\89o\00lundo\00mardo\00merkredo\00\C4\B5a\C5\ADdo\00vendredo\00sabato\00A\C5\ADg\00Januaro\00Februaro\00Marto\00Aprilo\00Majo\00Junio\00Julio\00A\C5\ADgusto\00Septembro\00Oktobro\00Novembro\00Decembro\00%a %d %b %Y %T %z\00dom\00mi\E9\00jue\00vie\00s\E1b\00domingo\00lunes\00martes\00mi\E9rcoles\00jueves\00viernes\00s\E1bado\00ene\00dic\00enero\00febrero\00marzo\00mayo\00junio\00julio\00agosto\00septiembre\00noviembre\00diciembre\00mi\C3\A9\00s\C3\A1b\00mi\C3\A9rcoles\00s\C3\A1bado\00P\00E\00T\00K\00N\00R\00L\00p\FChap\E4ev\00esmasp\E4ev\00teisip\E4ev\00kolmap\E4ev\00neljap\E4ev\00reede\00laup\E4ev\00jaan \00veebr\00m\E4rts\00apr \00mai \00juuni\00juuli\00aug \00sept \00okt \00nov \00dets \00jaanuar\00veebruar\00aprill\00oktoober\00detsember\00p\C3\BChap\C3\A4ev\00esmasp\C3\A4ev\00teisip\C3\A4ev\00kolmap\C3\A4ev\00neljap\C3\A4ev\00laup\C3\A4ev\00m\C3\A4rts\00ig.\00al.\00ar.\00az.\00og.\00or.\00lr.\00igandea\00astelehena\00asteartea\00asteazkena\00osteguna\00ostirala\00larunbata\00urt\00ots\00api\00eka\00uzt\00abu\00ira\00urr\00aza\00abe\00urtarrila\00otsaila\00martxoa\00apirila\00maiatza\00ekaina\00uztaila\00abuztua\00iraila\00urria\00azaroa\00abendua\00%y-%m-%d %T %Z\00%a, %Y.eko %bren %da\00\DB\8C.\00\D8\AF.\00\D8\B3.\00\DA\86.\00\D9\BE.\00\D8\AC.\00\D8\B4.\00\DB\8C\DA\A9\E2\80\8C\D8\B4\D9\86\D8\A8\D9\87\00\D8\AF\D9\88\D8\B4\D9\86\D8\A8\D9\87\00\D8\B3\D9\87\E2\80\8C\D8\B4\D9\86\D8\A8\D9\87\00\DA\86\D9\87\D8\A7\D8\B1\D8\B4\D9\86\D8\A8\D9\87\00\D9\BE\D9\86\D8\AC\E2\80\8C\D8\B4\D9\86\D8\A8\D9\87\00\D8\AC\D9\85\D8\B9\D9\87\00\D8\B4\D9\86\D8\A8\D9\87\00\DA\98\D8\A7\D9\86\00\D9\81\D9\88\D8\B1\00\D8\A2\D9\88\D8\B1\00\D9\85\D9\80\D9\87\00\DA\98\D9\88\D9\86\00\DA\98\D9\88\DB\8C\00\D8\A7\D9\88\D8\AA\00\D8\B3\D9\BE\D8\AA\00\D8\A7\D9\83\D8\AA\00\D9\86\D9\88\D8\A7\00\D8\AF\D8\B3\D8\A7\00\DA\98\D8\A7\D9\86\D9\88\DB\8C\D9\87\00\D9\81\D9\88\D8\B1\DB\8C\D9\87\00\D8\A2\D9\88\D8\B1\DB\8C\D9\84\00\D9\85\D9\87\00\DA\98\D9\88\D8\A6\D9\86\00\DA\98\D9\88\D8\A6\DB\8C\D9\87\00\D8\B3\D9\BE\D8\AA\D8\A7\D9\85\D8\A8\D8\B1\00\D8\A7\D9\83\D8\AA\D8\A8\D8\B1\00\D9\86\D9\88\D8\A7\D9\85\D8\A8\D8\B1\00\D8\AF\D8\B3\D8\A7\D9\85\D8\A8\D8\B1\00\D8\B5\D8\A8\D8\AD\00\D8\B9\D8\B5\D8\B1\00\E2\80\AB%A %e %B %Y\D8\8C %I:%M:%S %p\E2\80\AC\00%Y/%m/%d\00\E2\80\AB%I:%M:%S %p\E2\80\AC\00su\00ma\00ti\00ke\00to\00pe\00la\00sunnuntai\00maanantai\00tiistai\00keskiviikko\00torstai\00perjantai\00lauantai\00tammi\A0\00helmi\A0\00maalis\00huhti\A0\00touko\A0\00kes\E4\A0\A0\00hein\E4\A0\00elo\A0\A0\A0\00syys\A0\A0\00loka\A0\A0\00marras\00joulu\A0\00tammikuu\00helmikuu\00maaliskuu\00huhtikuu\00toukokuu\00kes\E4kuu\00hein\E4kuu\00elokuu\00syyskuu\00lokakuu\00marraskuu\00joulukuu\00%a %e %B %Y %T\00tammi\C2\A0\00helmi\C2\A0\00huhti\C2\A0\00touko\C2\A0\00kes\C3\A4\C2\A0\C2\A0\00hein\C3\A4\C2\A0\00elo\C2\A0\C2\A0\C2\A0\00syys\C2\A0\C2\A0\00loka\C2\A0\C2\A0\00joulu\C2\A0\00kes\C3\A4kuu\00hein\C3\A4kuu\00sun\00m\E1n\00t\FDs\00mik\00h\F3s\00fr\ED\00ley\00sunnudagur\00m\E1nadagur\00t\FDsdagur\00mikudagur\00h\F3sdagur\00fr\EDggjadagur\00leygardagur\00mars\00apr\EDl\00desember\00%d/%m-%Y\00m\C3\A1n\00t\C3\BDs\00h\C3\B3s\00fr\C3\AD\00m\C3\A1nadagur\00t\C3\BDsdagur\00h\C3\B3sdagur\00fr\C3\ADggjadagur\00apr\C3\ADl\00jeu\00sam\00dimanche\00lundi\00mardi\00mercredi\00jeudi\00vendredi\00samedi\00f\E9v\00avr\00jui\00ao\FB\00d\E9c\00janvier\00f\E9vrier\00avril\00juin\00juillet\00ao\FBt\00septembre\00octobre\00d\E9cembre\00f\C3\A9v\00ao\C3\BB\00d\C3\A9c\00f\C3\A9vrier\00ao\C3\BBt\00d\C3\A9cembre\00%d. %m. %y\00Domh\00Luan\00M\E1irt\00C\E9ad\00D\E9ar\00Aoine\00Sath\00D\E9 Domhnaigh\00D\E9 Luain\00D\E9 M\E1irt\00D\E9 C\E9adaoin\00D\E9ardaoin\00D\E9 hAoine\00D\E9 Sathairn\00Ean\00Feabh\00M\E1rta\00Aib\00Beal\00Meith\00I\FAil\00L\FAn\00MF\F3mh\00DF\F3mh\00Samh\00Noll\00Ean\E1ir\00Feabhra\00Aibre\E1n\00M\ED na Bealtaine\00L\FAnasa\00Me\E1n F\F3mhair\00Deireadh F\F3mhair\00M\ED na Samhna\00M\ED na Nollag\00M\C3\A1irt\00C\C3\A9ad\00D\C3\A9ar\00D\C3\A9 Domhnaigh\00D\C3\A9 Luain\00D\C3\A9 M\C3\A1irt\00D\C3\A9 C\C3\A9adaoin\00D\C3\A9ardaoin\00D\C3\A9 hAoine\00D\C3\A9 Sathairn\00M\C3\A1rta\00I\C3\BAil\00L\C3\BAn\00MF\C3\B3mh\00DF\C3\B3mh\00Ean\C3\A1ir\00Aibre\C3\A1n\00M\C3\AD na Bealtaine\00L\C3\BAnasa\00Me\C3\A1n F\C3\B3mhair\00Deireadh F\C3\B3mhair\00M\C3\AD na Samhna\00M\C3\AD na Nollag\00Dido\00Dilu\00Dim\00Dic\00Diar\00Diha\00Disa\00Did\F2mhnaich\00Diluain\00Dim\E0irt\00Diciadain\00Diardaoin\00Dihaoine\00Disathairne\00Fao\00Gea\00M\E0r\00Gib\00Mh\E0\00OgM\00luc\00L\F9n\00Dam\00D\F9b\00Am Faoilteach\00An Gearran\00Am M\E0rt\00An Giblean\00A' Mh\E0igh\00An t-Mh\ECos\00An t-luchar\00An L\F9nasdal\00An t-Sultain\00An Damhair\00An t-Samhain\00An D\F9bhlachd\00Did\C3\B2mhnaich\00Dim\C3\A0irt\00M\C3\A0r\00Mh\C3\A0\00L\C3\B9n\00D\C3\B9b\00Am M\C3\A0rt\00A' Mh\C3\A0igh\00An t-Mh\C3\ACos\00An L\C3\B9nasdal\00An D\C3\B9bhlachd\00Dom\00Lun\00M\E9r\00Xov\00Ven\00S\E1b\00Domingo\00Luns\00Martes\00M\E9rcores\00Xoves\00Venres\00S\E1bado\00Xan\00Abr\00Xu\F1\00Xul\00Ago\00Set\00Out\00Xaneiro\00Febreiro\00Marzo\00Abril\00Maio\00Xu\F1o\00Xullo\00Agosto\00Setembro\00Outubro\00M\C3\A9r\00S\C3\A1b\00M\C3\A9rcores\00S\C3\A1bado\00Xu\C3\B1\00Xu\C3\B1o\00Jed\00Jel\00Jem\00Jerc\00Jerd\00Jeh\00Jes\00Jedoonee\00Jelhein\00Jemayrt\00Jercean\00Jerdein\00Jeheiney\00Jesarn\00J-guer\00T-arree\00Mayrnt\00Avrril\00Boaldyn\00M-souree\00J-souree\00Luanistyn\00M-fouyir\00J-fouyir\00M.Houney\00M.Nollick\00Jerrey-geuree\00Toshiaght-arree\00Averil\00Mean-souree\00Jerrey-souree\00Mean-fouyir\00Jerrey-fouyir\00Mee Houney\00Mee ny Nollick\00\E0'\00\E1'\00\E2'\00\E3'\00\E4'\00\E5'\00\F9'\00\F8\E0\F9\E5\EF\00\F9\F0\E9\00\F9\EC\E9\F9\E9\00\F8\E1\E9\F2\E9\00\E7\EE\E9\F9\E9\00\F9\E9\F9\E9\00\F9\E1\FA\00\E9\F0\E5\00\F4\E1\F8\00\EE\F8\F5\00\E0\F4\F8\00\EE\E0\E9\00\E9\E5\F0\00\E9\E5\EC\00\E0\E5\E2\00\F1\F4\E8\00\E0\E5\F7\00\F0\E5\E1\00\E3\F6\EE\00\E9\F0\E5\E0\F8\00\F4\E1\F8\E5\E0\F8\00\E0\F4\F8\E9\EC\00\E9\E5\F0\E9\00\E9\E5\EC\E9\00\E0\E5\E2\E5\F1\E8\00\F1\F4\E8\EE\E1\F8\00\E0\E5\F7\E8\E5\E1\F8\00\F0\E5\E1\EE\E1\F8\00\E3\F6\EE\E1\F8\00%Z %H:%M:%S %Y %b %d %a\00%I:%M:%S %P\00\D7\90'\00\D7\91'\00\D7\92'\00\D7\93'\00\D7\94'\00\D7\95'\00\D7\A9'\00\D7\A8\D7\90\D7\A9\D7\95\D7\9F\00\D7\A9\D7\A0\D7\99\00\D7\A9\D7\9C\D7\99\D7\A9\D7\99\00\D7\A8\D7\91\D7\99\D7\A2\D7\99\00\D7\97\D7\9E\D7\99\D7\A9\D7\99\00\D7\A9\D7\99\D7\A9\D7\99\00\D7\A9\D7\91\D7\AA\00\D7\99\D7\A0\D7\95\00\D7\A4\D7\91\D7\A8\00\D7\9E\D7\A8\D7\A5\00\D7\90\D7\A4\D7\A8\00\D7\9E\D7\90\D7\99\00\D7\99\D7\95\D7\A0\00\D7\99\D7\95\D7\9C\00\D7\90\D7\95\D7\92\00\D7\A1\D7\A4\D7\98\00\D7\90\D7\95\D7\A7\00\D7\A0\D7\95\D7\91\00\D7\93\D7\A6\D7\9E\00\D7\99\D7\A0\D7\95\D7\90\D7\A8\00\D7\A4\D7\91\D7\A8\D7\95\D7\90\D7\A8\00\D7\90\D7\A4\D7\A8\D7\99\D7\9C\00\D7\99\D7\95\D7\A0\D7\99\00\D7\99\D7\95\D7\9C\D7\99\00\D7\90\D7\95\D7\92\D7\95\D7\A1\D7\98\00\D7\A1\D7\A4\D7\98\D7\9E\D7\91\D7\A8\00\D7\90\D7\95\D7\A7\D7\98\D7\95\D7\91\D7\A8\00\D7\A0\D7\95\D7\91\D7\9E\D7\91\D7\A8\00\D7\93\D7\A6\D7\9E\D7\91\D7\A8\00\E0\A4\B0\E0\A4\B5\E0\A4\BF \00\E0\A4\B8\E0\A5\8B\E0\A4\AE \00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B2 \00\E0\A4\AC\E0\A5\81\E0\A4\A7 \00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81 \00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0 \00\E0\A4\B6\E0\A4\A8\E0\A4\BF \00\E0\A4\B0\E0\A4\B5\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\B8\E0\A5\8B\E0\A4\AE\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B2\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\AC\E0\A5\81\E0\A4\A7\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\B6\E0\A4\A8\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\9C\E0\A4\A8\E0\A4\B5\E0\A4\B0\E0\A5\80\00\E0\A4\AB\E0\A4\BC\E0\A4\B0\E0\A4\B5\E0\A4\B0\E0\A5\80\00\E0\A4\AE\E0\A4\BE\E0\A4\B0\E0\A5\8D\E0\A4\9A\00\E0\A4\85\E0\A4\AA\E0\A5\8D\E0\A4\B0\E0\A5\87\E0\A4\B2\00\E0\A4\AE\E0\A4\88\00\E0\A4\9C\E0\A5\82\E0\A4\A8\00\E0\A4\9C\E0\A5\81\E0\A4\B2\E0\A4\BE\E0\A4\88\00\E0\A4\85\E0\A4\97\E0\A4\B8\E0\A5\8D\E0\A4\A4\00\E0\A4\B8\E0\A4\BF\E0\A4\A4\E0\A4\AE\E0\A5\8D\E0\A4\AC\E0\A4\B0\00\E0\A4\85\E0\A4\95\E0\A5\8D\E0\A4\9F\E0\A5\82\E0\A4\AC\E0\A4\B0\00\E0\A4\A8\E0\A4\B5\E0\A4\AE\E0\A5\8D\E0\A4\AC\E0\A4\B0\00\E0\A4\A6\E0\A4\BF\E0\A4\B8\E0\A4\AE\E0\A5\8D\E0\A4\AC\E0\A4\B0\00\E0\A4\AA\E0\A5\82\E0\A4\B0\E0\A5\8D\E0\A4\B5\E0\A4\BE\E0\A4\B9\E0\A5\8D\E0\A4\A8\00\E0\A4\85\E0\A4\AA\E0\A4\B0\E0\A4\BE\E0\A4\B9\E0\A5\8D\E0\A4\A8\00Sij\00Vel\00O\BEu\00Tra\00Svi\00Lip\00Srp\00Kol\00Ruj\00Lis\00Stu\00Pro\00Sije\E8anj\00Velja\E8a\00O\BEujak\00Travanj\00Svibanj\00Lipanj\00Srpanj\00Kolovoz\00Rujan\00Listopad\00Studeni\00Prosinac\00O\C5\BEu\00Sije\C4\8Danj\00Velja\C4\8Da\00O\C5\BEujak\00v\00h\00k\00sze\00cs\00p\00szo\00vas\E1rnap\00h\E9tf\F5\00kedd\00szerda\00cs\FCt\F6rt\F6k\00p\E9ntek\00szombat\00m\E1r\00\E1pr\00m\E1j\00j\FAn\00j\FAl\00janu\E1r\00febru\E1r\00m\E1rcius\00\E1prilis\00m\E1jus\00j\FAnius\00j\FAlius\00augusztus\00szeptember\00okt\F3ber\00%Y. %b. %e., %A, %H.%M.%S %Z\00%H.%M.%S\00vas\C3\A1rnap\00h\C3\A9tf\C5\91\00cs\C3\BCt\C3\B6rt\C3\B6k\00p\C3\A9ntek\00m\C3\A1r\00\C3\A1pr\00m\C3\A1j\00j\C3\BAn\00j\C3\BAl\00janu\C3\A1r\00febru\C3\A1r\00m\C3\A1rcius\00\C3\A1prilis\00m\C3\A1jus\00j\C3\BAnius\00j\C3\BAlius\00okt\C3\B3ber\00\CE\F1\CF\00\BA\F1\CF\00\BA\F1\F9\00\E2\F1\F9\00\D0\DD\B7\00\E0\F5\F1\00\DE\B5\C3\00\CE\C7\F1\B3\CF\C7\00\BA\F1\CF\E1\F5\DF\B3\B5\C3\C7\00\BA\F1\BB\F9\DF\B3\B5\C3\C7\00\E2\E1\F1\BB\F9\DF\B3\B5\C3\C7\00\D0\C7\DD\B7\DF\B3\B5\C3\C7\00\E0\F5\F1\B5\B3\C3\00\DE\B3\B5\B3\C3\00\D0\DD\ED\00\F6\EF\F1\00\D8\B3\F1\00\B2\E5\F1\00\D8\B3\DB\00\D0\DD\EB\00\D0\C9\EB\00\FA\B7\EB\00\EA\BB\E5\00\D0\E1\CF\00\DC\D9\B5\00\B8\BB\CF\00\D0\E1\F5\DD\ED\B3\F1\C7\00\F6\BB\EF\F1\ED\B3\F1\C7\00\D8\B3\F1\EF\C7\00\B2\E5\F1\C7\C9\C7\00\D8\B3\DB\C7\EB\C7\00\D0\E1\F5\DD\C7\EB\C7\00\D0\E1\F5\C9\C7\EB\C7\00\FA\B7\E1\EB\EF\E1\EB\C7\00\EA\BB\E5\EF\BB\D9\B5\BB\F1\C7\00\D0\E1\CF\EF\BB\D9\B5\BB\F1\C7\00\DC\E1\DB\BB\D9\B5\BB\F1\C7\00\B8\BB\CF\EF\BB\D9\B5\BB\F1\C7\00\D4\BF\D6\80\D5\AF\00\D4\B5\D6\80\D5\AF\00\D4\B5\D6\80\D6\84\00\D5\89\D6\80\D6\84\00\D5\80\D5\B6\D5\A3\00\D5\88\D6\82\D6\80\00\D5\87\D5\A2\D5\A9\00\D4\BF\D5\AB\D6\80\D5\A1\D5\AF\D5\AB\00\D4\B5\D6\80\D5\AF\D5\B8\D6\82\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D4\B5\D6\80\D5\A5\D6\84\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D5\89\D5\B8\D6\80\D5\A5\D6\84\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D5\80\D5\AB\D5\B6\D5\A3\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D5\88\D6\82\D6\80\D5\A2\D5\A1\D5\A9\00\D5\87\D5\A1\D5\A2\D5\A1\D5\A9\00\D5\80\D5\B6\D5\BE\00\D5\93\D5\BF\D6\80\00\D5\84\D5\A1\D6\80\00\D4\B1\D5\BA\D6\80\00\D5\84\D5\A1\D5\B5\00\D5\80\D5\B6\D5\BD\00\D5\80\D5\AC\D5\BD\00\D5\95\D5\A3\D5\BD\00\D5\8D\D5\A5\D5\BA\00\D5\80\D5\B8\D5\AF\00\D5\86\D5\B4\D5\A2\00\D4\B4\D5\A5\D5\AF\00\D5\80\D5\B8\D6\82\D5\B6\D5\BE\D5\A1\D6\80\D5\AB\00\D5\93\D5\A5\D5\BF\D6\80\D5\BE\D5\A1\D6\80\D5\AB\00\D5\84\D5\A1\D6\80\D5\BF\D5\AB\00\D4\B1\D5\BA\D6\80\D5\AB\D5\AC\D5\AB\00\D5\84\D5\A1\D5\B5\D5\AB\D5\BD\D5\AB\00\D5\80\D5\B8\D6\82\D5\B6\D5\AB\D5\BD\D5\AB\00\D5\80\D5\B8\D6\82\D5\AC\D5\AB\D5\BD\D5\AB\00\D5\95\D5\A3\D5\B8\D5\BD\D5\BF\D5\B8\D5\BD\D5\AB\00\D5\8D\D5\A5\D5\BA\D5\BF\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00\D5\80\D5\B8\D5\AF\D5\BF\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00\D5\86\D5\B8\D5\B5\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00\D4\B4\D5\A5\D5\AF\D5\BF\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00Min\00Sel\00Rab\00Kam\00Jum\00Sab\00Minggu\00Senin\00Selasa\00Rabu\00Kamis\00Jumat\00Sabtu\00Peb\00Agu\00Januari\00Pebruari\00Maret\00Agustus\00M\E1n\00\DEri\00Mi\F0\00Fim\00F\F6s\00Lau\00Sunnudagur\00M\E1nudagur\00\DEri\F0judagur\00Mi\F0vikudagur\00Fimmtudagur\00F\F6studagur\00Laugardagur\00Ma\ED\00J\FAn\00J\FAl\00\C1g\FA\00N\F3v\00Jan\FAar\00Febr\FAar\00Mars\00Apr\EDl\00J\FAn\ED\00J\FAl\ED\00\C1g\FAst\00Okt\F3ber\00N\F3vember\00fh\00eh\00%a %e.%b %Y, %T %Z\00%a %e.%b %Y\00M\C3\A1n\00\C3\9Eri\00Mi\C3\B0\00F\C3\B6s\00M\C3\A1nudagur\00\C3\9Eri\C3\B0judagur\00Mi\C3\B0vikudagur\00F\C3\B6studagur\00Ma\C3\AD\00J\C3\BAn\00J\C3\BAl\00\C3\81g\C3\BA\00N\C3\B3v\00Jan\C3\BAar\00Febr\C3\BAar\00Apr\C3\ADl\00J\C3\BAn\C3\AD\00J\C3\BAl\C3\AD\00\C3\81g\C3\BAst\00Okt\C3\B3ber\00N\C3\B3vember\00gio\00domenica\00luned\EC\00marted\EC\00mercoled\EC\00gioved\EC\00venerd\EC\00mag\00giu\00lug\00ott\00gennaio\00febbraio\00aprile\00maggio\00giugno\00luglio\00settembre\00ottobre\00dicembre\00luned\C3\AC\00marted\C3\AC\00mercoled\C3\AC\00gioved\C3\AC\00venerd\C3\AC\00\E6\97\A5\00\E6\9C\88\00\E7\81\AB\00\E6\B0\B4\00\E6\9C\A8\00\E9\87\91\00\E5\9C\9F\00\E6\97\A5\E6\9B\9C\E6\97\A5\00\E6\9C\88\E6\9B\9C\E6\97\A5\00\E7\81\AB\E6\9B\9C\E6\97\A5\00\E6\B0\B4\E6\9B\9C\E6\97\A5\00\E6\9C\A8\E6\9B\9C\E6\97\A5\00\E9\87\91\E6\9B\9C\E6\97\A5\00\E5\9C\9F\E6\9B\9C\E6\97\A5\00 1\E6\9C\88\00 2\E6\9C\88\00 3\E6\9C\88\00 4\E6\9C\88\00 5\E6\9C\88\00 6\E6\9C\88\00 7\E6\9C\88\00 8\E6\9C\88\00 9\E6\9C\88\0010\E6\9C\88\0011\E6\9C\88\0012\E6\9C\88\001\E6\9C\88\002\E6\9C\88\003\E6\9C\88\004\E6\9C\88\005\E6\9C\88\006\E6\9C\88\007\E6\9C\88\008\E6\9C\88\009\E6\9C\88\00\E5\8D\88\E5\89\8D\00\E5\8D\88\E5\BE\8C\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %H\E6\99\82%M\E5\88\86%S\E7\A7\92\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5\00%H\E6\99\82%M\E5\88\86%S\E7\A7\92\00%p%I\E6\99\82%M\E5\88\86%S\E7\A7\92\00+:2:1990/01/01:+*:\E5\B9\B3\E6\88\90:%EC%Ey\E5\B9\B4\00+:1:1989/01/08:1989/12/31:\E5\B9\B3\E6\88\90:%EC\E5\85\83\E5\B9\B4\00+:2:1927/01/01:1989/01/07:\E6\98\AD\E5\92\8C:%EC%Ey\E5\B9\B4\00+:1:1926/12/25:1926/12/31:\E6\98\AD\E5\92\8C:%EC\E5\85\83\E5\B9\B4\00+:2:1913/01/01:1926/12/24:\E5\A4\A7\E6\AD\A3:%EC%Ey\E5\B9\B4\00+:2:1912/07/30:1912/12/31:\E5\A4\A7\E6\AD\A3:%EC\E5\85\83\E5\B9\B4\00+:6:1873/01/01:1912/07/29:\E6\98\8E\E6\B2\BB:%EC%Ey\E5\B9\B4\00+:1:0001/01/01:1872/12/31:\E8\A5\BF\E6\9A\A6:%EC%Ey\E5\B9\B4\00+:1:-0001/12/31:-*:\E7\B4\80\E5\85\83\E5\89\8D:%EC%Ey\E5\B9\B4\00\00%EY%m\E6\9C\88%d\E6\97\A5\00\E3\80\87\00\E4\B8\80\00\E4\BA\8C\00\E4\B8\89\00\E5\9B\9B\00\E4\BA\94\00\E5\85\AD\00\E4\B8\83\00\E5\85\AB\00\E4\B9\9D\00\E5\8D\81\00\E5\8D\81\E4\B8\80\00\E5\8D\81\E4\BA\8C\00\E5\8D\81\E4\B8\89\00\E5\8D\81\E5\9B\9B\00\E5\8D\81\E4\BA\94\00\E5\8D\81\E5\85\AD\00\E5\8D\81\E4\B8\83\00\E5\8D\81\E5\85\AB\00\E5\8D\81\E4\B9\9D\00\E4\BA\8C\E5\8D\81\00\E4\BA\8C\E5\8D\81\E4\B8\80\00\E4\BA\8C\E5\8D\81\E4\BA\8C\00\E4\BA\8C\E5\8D\81\E4\B8\89\00\E4\BA\8C\E5\8D\81\E5\9B\9B\00\E4\BA\8C\E5\8D\81\E4\BA\94\00\E4\BA\8C\E5\8D\81\E5\85\AD\00\E4\BA\8C\E5\8D\81\E4\B8\83\00\E4\BA\8C\E5\8D\81\E5\85\AB\00\E4\BA\8C\E5\8D\81\E4\B9\9D\00\E4\B8\89\E5\8D\81\00\E4\B8\89\E5\8D\81\E4\B8\80\00\E4\B8\89\E5\8D\81\E4\BA\8C\00\E4\B8\89\E5\8D\81\E4\B8\89\00\E4\B8\89\E5\8D\81\E5\9B\9B\00\E4\B8\89\E5\8D\81\E4\BA\94\00\E4\B8\89\E5\8D\81\E5\85\AD\00\E4\B8\89\E5\8D\81\E4\B8\83\00\E4\B8\89\E5\8D\81\E5\85\AB\00\E4\B8\89\E5\8D\81\E4\B9\9D\00\E5\9B\9B\E5\8D\81\00\E5\9B\9B\E5\8D\81\E4\B8\80\00\E5\9B\9B\E5\8D\81\E4\BA\8C\00\E5\9B\9B\E5\8D\81\E4\B8\89\00\E5\9B\9B\E5\8D\81\E5\9B\9B\00\E5\9B\9B\E5\8D\81\E4\BA\94\00\E5\9B\9B\E5\8D\81\E5\85\AD\00\E5\9B\9B\E5\8D\81\E4\B8\83\00\E5\9B\9B\E5\8D\81\E5\85\AB\00\E5\9B\9B\E5\8D\81\E4\B9\9D\00\E4\BA\94\E5\8D\81\00\E4\BA\94\E5\8D\81\E4\B8\80\00\E4\BA\94\E5\8D\81\E4\BA\8C\00\E4\BA\94\E5\8D\81\E4\B8\89\00\E4\BA\94\E5\8D\81\E5\9B\9B\00\E4\BA\94\E5\8D\81\E4\BA\94\00\E4\BA\94\E5\8D\81\E5\85\AD\00\E4\BA\94\E5\8D\81\E4\B8\83\00\E4\BA\94\E5\8D\81\E5\85\AB\00\E4\BA\94\E5\8D\81\E4\B9\9D\00\E5\85\AD\E5\8D\81\00\E5\85\AD\E5\8D\81\E4\B8\80\00\E5\85\AD\E5\8D\81\E4\BA\8C\00\E5\85\AD\E5\8D\81\E4\B8\89\00\E5\85\AD\E5\8D\81\E5\9B\9B\00\E5\85\AD\E5\8D\81\E4\BA\94\00\E5\85\AD\E5\8D\81\E5\85\AD\00\E5\85\AD\E5\8D\81\E4\B8\83\00\E5\85\AD\E5\8D\81\E5\85\AB\00\E5\85\AD\E5\8D\81\E4\B9\9D\00\E4\B8\83\E5\8D\81\00\E4\B8\83\E5\8D\81\E4\B8\80\00\E4\B8\83\E5\8D\81\E4\BA\8C\00\E4\B8\83\E5\8D\81\E4\B8\89\00\E4\B8\83\E5\8D\81\E5\9B\9B\00\E4\B8\83\E5\8D\81\E4\BA\94\00\E4\B8\83\E5\8D\81\E5\85\AD\00\E4\B8\83\E5\8D\81\E4\B8\83\00\E4\B8\83\E5\8D\81\E5\85\AB\00\E4\B8\83\E5\8D\81\E4\B9\9D\00\E5\85\AB\E5\8D\81\00\E5\85\AB\E5\8D\81\E4\B8\80\00\E5\85\AB\E5\8D\81\E4\BA\8C\00\E5\85\AB\E5\8D\81\E4\B8\89\00\E5\85\AB\E5\8D\81\E5\9B\9B\00\E5\85\AB\E5\8D\81\E4\BA\94\00\E5\85\AB\E5\8D\81\E5\85\AD\00\E5\85\AB\E5\8D\81\E4\B8\83\00\E5\85\AB\E5\8D\81\E5\85\AB\00\E5\85\AB\E5\8D\81\E4\B9\9D\00\E4\B9\9D\E5\8D\81\00\E4\B9\9D\E5\8D\81\E4\B8\80\00\E4\B9\9D\E5\8D\81\E4\BA\8C\00\E4\B9\9D\E5\8D\81\E4\B8\89\00\E4\B9\9D\E5\8D\81\E5\9B\9B\00\E4\B9\9D\E5\8D\81\E4\BA\94\00\E4\B9\9D\E5\8D\81\E5\85\AD\00\E4\B9\9D\E5\8D\81\E4\B8\83\00\E4\B9\9D\E5\8D\81\E5\85\AB\00\E4\B9\9D\E5\8D\81\E4\B9\9D\00%EY%m\E6\9C\88%d\E6\97\A5 %H\E6\99\82%M\E5\88\86%S\E7\A7\92\00\CA\C5\C9\00\CF\D2\DB\00\D3\C0\CC\00\CF\C8\E1\00\E1\D6\C8\00\D0\C0\D2\00\DB\C0\C1\00\CA\C5\C9\D2\C0\00\CF\D2\DB\C0\C1\C0\C8\C9\00\D3\C0\CC\DB\C0\C1\C0\C8\C9\00\CF\C8\E1\DB\C0\C1\C0\C8\C9\00\E1\D6\C8\DB\C0\C1\C0\C8\C9\00\D0\C0\D2\C0\D3\CA\C4\C5\C9\00\DB\C0\C1\C0\C8\C9\00\C9\C0\CD\00\C8\C4\C1\00\CC\C0\D2\00\C0\D0\D2\00\CC\C0\C9\00\C9\C5\CD\00\C9\C5\CB\00\C0\C2\C5\00\D3\C4\D8\00\CF\D8\D4\00\CD\CF\C4\00\C3\C4\CA\00\C9\C0\CD\C5\C0\D2\C9\00\C8\C4\C1\C4\D2\C5\C0\CB\C9\00\CC\C0\D2\D4\C9\00\C0\D0\D2\C9\CB\C9\00\CC\C0\C9\D3\C9\00\C9\C5\CD\C9\D3\C9\00\C9\C5\CB\C9\D3\C9\00\C0\C2\C5\C9\D3\D4\CF\00\D3\C4\D8\D4\C4\CC\C1\C4\D2\C9\00\CF\D8\D4\CF\CC\C1\C4\D2\C9\00\CD\CF\C4\CC\C1\C4\D2\C9\00\C3\C4\CA\C4\CC\C1\C4\D2\C9\00%Y \DF\CB\C9\D3 %d %B, %T %Z\00\E1\83\99\E1\83\95\E1\83\98\00\E1\83\9D\E1\83\A0\E1\83\A8\00\E1\83\A1\E1\83\90\E1\83\9B\00\E1\83\9D\E1\83\97\E1\83\AE\00\E1\83\AE\E1\83\A3\E1\83\97\00\E1\83\9E\E1\83\90\E1\83\A0\00\E1\83\A8\E1\83\90\E1\83\91\00\E1\83\99\E1\83\95\E1\83\98\E1\83\A0\E1\83\90\00\E1\83\9D\E1\83\A0\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\A1\E1\83\90\E1\83\9B\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\9D\E1\83\97\E1\83\AE\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\AE\E1\83\A3\E1\83\97\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\9E\E1\83\90\E1\83\A0\E1\83\90\E1\83\A1\E1\83\99\E1\83\94\E1\83\95\E1\83\98\00\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\98\E1\83\90\E1\83\9C\00\E1\83\97\E1\83\94\E1\83\91\00\E1\83\9B\E1\83\90\E1\83\A0\00\E1\83\90\E1\83\9E\E1\83\A0\00\E1\83\9B\E1\83\90\E1\83\98\00\E1\83\98\E1\83\95\E1\83\9C\00\E1\83\98\E1\83\95\E1\83\9A\00\E1\83\90\E1\83\92\E1\83\95\00\E1\83\A1\E1\83\94\E1\83\A5\00\E1\83\9D\E1\83\A5\E1\83\A2\00\E1\83\9C\E1\83\9D\E1\83\94\00\E1\83\93\E1\83\94\E1\83\99\00\E1\83\98\E1\83\90\E1\83\9C\E1\83\95\E1\83\90\E1\83\A0\E1\83\98\00\E1\83\97\E1\83\94\E1\83\91\E1\83\94\E1\83\A0\E1\83\95\E1\83\90\E1\83\9A\E1\83\98\00\E1\83\9B\E1\83\90\E1\83\A0\E1\83\A2\E1\83\98\00\E1\83\90\E1\83\9E\E1\83\A0\E1\83\98\E1\83\9A\E1\83\98\00\E1\83\9B\E1\83\90\E1\83\98\E1\83\A1\E1\83\98\00\E1\83\98\E1\83\95\E1\83\9C\E1\83\98\E1\83\A1\E1\83\98\00\E1\83\98\E1\83\95\E1\83\9A\E1\83\98\E1\83\A1\E1\83\98\00\E1\83\90\E1\83\92\E1\83\95\E1\83\98\E1\83\A1\E1\83\A2\E1\83\9D\00\E1\83\A1\E1\83\94\E1\83\A5\E1\83\A2\E1\83\94\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00\E1\83\9D\E1\83\A5\E1\83\A2\E1\83\9D\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00\E1\83\9C\E1\83\9D\E1\83\94\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00\E1\83\93\E1\83\94\E1\83\99\E1\83\94\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00%Y \E1\83\AC\E1\83\9A\E1\83\98\E1\83\A1 %d %B, %T %Z\00ata\00pin\00sis\00tal\00arf\00sabaat\00ataasinngorneq\00marlunngorneq\00pingasunngorneq\00sisamanngorneq\00tallimanngorneq\00arfininngorneq\00januari\00februari\00martsi\00aprili\00maji\00augustusi\00septemberi\00oktoberi\00novemberi\00decemberi\00%d %b %Y\00\EC\9D\BC\00\EC\9B\94\00\ED\99\94\00\EC\88\98\00\EB\AA\A9\00\EA\B8\88\00\ED\86\A0\00\EC\9D\BC\EC\9A\94\EC\9D\BC\00\EC\9B\94\EC\9A\94\EC\9D\BC\00\ED\99\94\EC\9A\94\EC\9D\BC\00\EC\88\98\EC\9A\94\EC\9D\BC\00\EB\AA\A9\EC\9A\94\EC\9D\BC\00\EA\B8\88\EC\9A\94\EC\9D\BC\00\ED\86\A0\EC\9A\94\EC\9D\BC\00 1\EC\9B\94\00 2\EC\9B\94\00 3\EC\9B\94\00 4\EC\9B\94\00 5\EC\9B\94\00 6\EC\9B\94\00 7\EC\9B\94\00 8\EC\9B\94\00 9\EC\9B\94\0010\EC\9B\94\0011\EC\9B\94\0012\EC\9B\94\00\EC\9D\BC\EC\9B\94\00\EC\9D\B4\EC\9B\94\00\EC\82\BC\EC\9B\94\00\EC\82\AC\EC\9B\94\00\EC\98\A4\EC\9B\94\00\EC\9C\A0\EC\9B\94\00\EC\B9\A0\EC\9B\94\00\ED\8C\94\EC\9B\94\00\EA\B5\AC\EC\9B\94\00\EC\8B\9C\EC\9B\94\00\EC\8B\AD\EC\9D\BC\EC\9B\94\00\EC\8B\AD\EC\9D\B4\EC\9B\94\00\EC\98\A4\EC\A0\84\00\EC\98\A4\ED\9B\84\00%x (%a) %r\00%Y\EB\85\84 %m\EC\9B\94 %d\EC\9D\BC\00%H\EC\8B\9C %M\EB\B6\84 %S\EC\B4\88\00%p %I\EC\8B\9C %M\EB\B6\84 %S\EC\B4\88\00Mth\00Mhr\00Yow\00De Sul\00De Lun\00De Merth\00De Merher\00De Yow\00De Gwener\00De Sadorn\00Gen\00Whe>\00Me\00Evn\00Est\00Gwn\00Hed\00Kev\00Mys Genver\00Mys Whevrel\00Mys Merth\00Mys Ebrel\00Mys Me\00Mys Evan\00Mys Gortheren\00Mye Est\00Mys Gwyngala\00Mys Hedra\00Mys Du\00Mys Kevardhu\00Sk\00Pr\00An\00Tr\00Kt\00Pn\00\D0t\00Sekmadienis\00Pirmadienis\00Antradienis\00Tre\E8iadienis\00Ketvirtadienis\00Penktadienis\00\D0e\F0tadienis\00Sau\00Vas\00Kov\00Bal\00Geg\00Bir\00Lie\00Rgp\00Rgs\00Spa\00Lap\00Grd\00sausio\00vasario\00kovo\00baland\FEio\00gegu\FE\EBs\00bir\FEelio\00liepos\00rugpj\FB\E8io\00rugs\EBjo\00spalio\00lapkri\E8io\00gruod\FEio\00%Y m. %B %d d. %T\00%Y.%m.%d\00\C5\A0t\00Tre\C4\8Diadienis\00\C5\A0e\C5\A1tadienis\00baland\C5\BEio\00gegu\C5\BE\C4\97s\00bir\C5\BEelio\00rugpj\C5\AB\C4\8Dio\00rugs\C4\97jo\00lapkri\C4\8Dio\00gruod\C5\BEio\00Sv\00P\A0\00O\A0\00T\A0\00C\A0\00Pk\00S\A0\00sv\E7tdiena\00pirmdiena\00otrdiena\00tre\F0diena\00ceturtdiena\00piektdiena\00sestdiena\00j\FBn\00j\FBl\00janv\E2ris\00febru\E2ris\00apr\EElis\00maijs\00j\FBnijs\00j\FBlijs\00augusts\00septembris\00oktobris\00novembris\00decembris\00%A, %Y. gada %e. %B, plkst. %H un %M\00%Y.%m.%d.\00P\C2\A0\00O\C2\A0\00T\C2\A0\00C\C2\A0\00S\C2\A0\00sv\C4\93tdiena\00tre\C5\A1diena\00j\C5\ABn\00j\C5\ABl\00janv\C4\81ris\00febru\C4\81ris\00apr\C4\ABlis\00j\C5\ABnijs\00j\C5\ABlijs\00Ta\00T\FB\00We\00T\E2i\00Pa\00H\E2\00R\E2tapu\00Mane\00T\FBrei\00Wenerei\00T\E2ite\00Paraire\00H\E2tarei\00Kohi\00Hui\00Pou\00Pae\00Hara\00Pipi\00H\F4ngoi\00Mahu\00Whi-nu\00Whi-ra\00Haki\00Kohi-t\E2tea\00Hui-tanguru\00Pout\FB-te-rangi\00Paenga-wh\E2wh\E2\00Haratua\00Pipiri\00H\F4ngoingoi\00Here-turi-k\F4k\E2\00Mahuru\00Whiringa-\E2-nuku\00Whiringa-\E2-rangi\00Hakihea\00Te %A, te %d o %B, %Y %T %Z\00T\C5\AB\00T\C4\81i\00H\C4\81\00R\C4\81tapu\00T\C5\ABrei\00T\C4\81ite\00H\C4\81tarei\00H\C5\8Dngoi\00Kohi-t\C4\81tea\00Pout\C5\AB-te-rangi\00Paenga-wh\C4\81wh\C4\81\00H\C5\8Dngoingoi\00Here-turi-k\C5\8Dk\C4\81\00Whiringa-\C4\81-nuku\00Whiringa-\C4\81-rangi\00\DD\D5\D4\00\DF\DE\DD\00\D2\E2\DE\00\E1\E0\D5\00\E7\D5\E2\00\DF\D5\E2\00\E1\D0\D1\00\DD\D5\D4\D5\DB\D0\00\DF\DE\DD\D5\D4\D5\DB\DD\D8\DA\00\D2\E2\DE\E0\DD\D8\DA\00\E1\E0\D5\D4\D0\00\E7\D5\E2\D2\E0\E2\DE\DA\00\DF\D5\E2\DE\DA\00\E1\D0\D1\DE\E2\D0\00\F8\D0\DD\00\E4\D5\D2\00\DC\D0\E0\00\D0\DF\E0\00\DC\D0\F8\00\F8\E3\DD\00\F8\E3\DB\00\D0\D2\D3\00\E1\D5\DF\00\DE\DA\E2\00\DD\DE\D5\00\D4\D5\DA\00\F8\D0\DD\E3\D0\E0\D8\00\E4\D5\D2\E0\E3\D0\E0\D8\00\DC\D0\E0\E2\00\D0\DF\E0\D8\DB\00\F8\E3\DD\D8\00\F8\E3\DB\D8\00\D0\D2\D3\E3\E1\E2\00\E1\D5\DF\E2\D5\DC\D2\E0\D8\00\DE\DA\E2\DE\DC\D2\E0\D8\00\DD\DE\D5\DC\D2\E0\D8\00\D4\D5\DA\D5\DC\D2\E0\D8\00%a, %d %b %Y %T %Z\00\D0\BD\D0\B5\D0\B4\00\D0\BF\D0\BE\D0\BD\00\D0\B2\D1\82\D0\BE\00\D1\81\D1\80\D0\B5\00\D1\87\D0\B5\D1\82\00\D0\BF\D0\B5\D1\82\00\D1\81\D0\B0\D0\B1\00\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D0\B0\00\D1\81\D1\80\D0\B5\D0\B4\D0\B0\00\D1\87\D0\B5\D1\82\D0\B2\D1\80\D1\82\D0\BE\D0\BA\00\D0\BF\D0\B5\D1\82\D0\BE\D0\BA\00\D1\81\D0\B0\D0\B1\D0\BE\D1\82\D0\B0\00\D1\98\D0\B0\D0\BD\00\D0\BC\D0\B0\D1\98\00\D1\98\D1\83\D0\BD\00\D1\98\D1\83\D0\BB\00\D1\98\D0\B0\D0\BD\D1\83\D0\B0\D1\80\D0\B8\00\D1\98\D1\83\D0\BD\D0\B8\00\D1\98\D1\83\D0\BB\D0\B8\00\E0\A4\B0\E0\A4\B5\E0\A4\BF\00\E0\A4\B8\E0\A5\8B\E0\A4\AE\00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B3\00\E0\A4\AC\E0\A5\81\E0\A4\A7\00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81\00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0\00\E0\A4\B6\E0\A4\A8\E0\A4\BF\00\E0\A4\B0\E0\A4\B5\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\B8\E0\A5\8B\E0\A4\AE\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B3\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\B6\E0\A4\A8\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\9C\E0\A4\BE\E0\A4\A8\E0\A5\87\E0\A4\B5\E0\A4\BE\E0\A4\B0\E0\A5\80\00\E0\A4\AB\E0\A5\87\E0\A4\AC\E0\A5\83\E0\A4\B5\E0\A4\BE\E0\A4\B0\E0\A5\80\00\E0\A4\8F\E0\A4\AA\E0\A5\8D\E0\A4\B0\E0\A4\BF\E0\A4\B2\00\E0\A4\AE\E0\A5\87\00\E0\A4\9C\E0\A5\81\E0\A4\B2\E0\A5\88\00\E0\A4\93\E0\A4\97\E0\A4\B8\E0\A5\8D\E0\A4\9F\00\E0\A4\B8\E0\A5\87\E0\A4\AA\E0\A5\8D\E0\A4\9F\E0\A5\87\E0\A4\82\E0\A4\AC\E0\A4\B0\00\E0\A4\93\E0\A4\95\E0\A5\8D\E0\A4\9F\E0\A5\8B\E0\A4\AC\E0\A4\B0\00\E0\A4\A8\E0\A5\8B\E0\A4\B5\E0\A5\8D\E0\A4\B9\E0\A5\87\E0\A4\82\E0\A4\AC\E0\A4\B0\00\E0\A4\A1\E0\A4\BF\E0\A4\B8\E0\A5\87\E0\A4\82\E0\A4\AC\E0\A4\B0\00\E0\A4\AE.\E0\A4\AA\E0\A5\82.\00\E0\A4\AE.\E0\A4\A8\E0\A4\82.\00Ahd\00Isn\00Kha\00Ahad\00Isnin\00Khamis\00Jumaat\00Mac\00Ogos\00Dis\00Februari\00Julai\00Disember\00\A1ad\00Tne\00Tli\00Erb\00\A1am\00\D5im\00Sib\00il-\A1add\00it-Tnejn\00it-Tlieta\00l-Erbg\B1a\00il-\A1amis\00il-\D5img\B1a\00is-Sibt\00Fra\00Mej\00\D5un\00Lul\00Awi\00Ott\00Di\E5\00Jannar\00Frar\00Marzu\00Mejju\00\D5unju\00Lulju\00Awissu\00Settembru\00Ottubru\00Novembru\00Di\E5embru \00%A, %d ta %b, %Y %I:%M:%S %p %Z\00%A, %d ta %b, %Y\00\C4\A6ad\00\C4\A6am\00\C4\A0im\00il-\C4\A6add\00l-Erbg\C4\A7a\00il-\C4\A6amis\00il-\C4\A0img\C4\A7a\00\C4\A0un\00Di\C4\8B\00\C4\A0unju\00Di\C4\8Bembru \00zo\00di\00wo\00do\00vr\00za\00zondag\00maandag\00dinsdag\00woensdag\00donderdag\00vrijdag\00zaterdag\00mrt\00mei\00maart\00augustus\00%d-%m-%y\00su \00m\E5 \00ty \00on \00to \00fr \00lau \00sundag \00m\E5ndag \00tysdag \00onsdag \00torsdag \00fredag \00laurdag \00%d. %b %Y kl %H.%M %Z\00%d. %b %Y\00kl %H.%M %Z\00m\C3\A5 \00m\C3\A5ndag \00%a %d-%m-%Y %T %Z\00mec\00j\F3u\00dimenge\00diluns\00dimars\00dij\F3us\00disabte\00ag\F3\00geni\E8r\00febri\E8r\00abrial\00junh\00julhet\00ag\F3st\00decembre\00j\C3\B3u\00dij\C3\B3us\00ag\C3\B3\00geni\C3\A8r\00febri\C3\A8r\00ag\C3\B3st\00nie\00pon\00wto\00\B6ro\00czw\00pi\B1\00sob\00niedziela\00poniedzia\B3ek\00wtorek\00\B6roda\00czwartek\00pi\B1tek\00sobota\00sty\00lut\00kwi\00cze\00lip\00sie\00wrz\00pa\BC\00gru\00stycze\F1\00luty\00marzec\00kwiecie\F1\00czerwiec\00lipiec\00sierpie\F1\00wrzesie\F1\00pa\BCdziernik\00grudzie\F1\00\C5\9Bro\00pi\C4\85\00poniedzia\C5\82ek\00\C5\9Broda\00pi\C4\85tek\00pa\C5\BA\00stycze\C5\84\00kwiecie\C5\84\00sierpie\C5\84\00wrzesie\C5\84\00pa\C5\BAdziernik\00grudzie\C5\84\00Seg\00Ter\00Qua\00Qui\00Sex\00segunda\00ter\E7a\00quarta\00quinta\00sexta\00janeiro\00fevereiro\00mar\E7o\00maio\00junho\00julho\00setembro\00outubro\00novembro\00dezembro\00ter\C3\A7a\00mar\C3\A7o\00Segunda\00Ter\E7a\00Quarta\00Quinta\00Sexta\00Janeiro\00Fevereiro\00Mar\E7o\00Junho\00Julho\00Dezembro\00Ter\C3\A7a\00Mar\C3\A7o\00Lu\00Mi\00Jo\00Vi\00S\EE\00Duminic\C3\00Luni\00Mar\FEi\00Miercuri\00Joi\00Vineri\00S\EEmb\C3t\C3\00ian\00iun\00iul\00Ianuarie\00Martie\00Aprilie\00Iunie\00Iulie\00Septembrie\00Octombrie\00Noiembrie\00Decembrie\00S\C3\AE\00Duminic\C4\82\00Mar\C5\A3i\00S\C3\AEmb\C4\82t\C4\82\00\F7\D3\CB\00\F0\CE\C4\00\F7\D4\D2\00\F3\D2\C4\00\FE\D4\D7\00\F0\D4\CE\00\F3\C2\D4\00\F7\CF\D3\CB\D2\C5\D3\C5\CE\D8\C5\00\F0\CF\CE\C5\C4\C5\CC\D8\CE\C9\CB\00\F7\D4\CF\D2\CE\C9\CB\00\F3\D2\C5\C4\C1\00\FE\C5\D4\D7\C5\D2\C7\00\F0\D1\D4\CE\C9\C3\C1\00\F3\D5\C2\C2\CF\D4\C1\00\F1\CE\D7\00\E6\C5\D7\00\ED\C1\D2\00\E1\D0\D2\00\ED\C1\CA\00\E9\C0\CE\00\E9\C0\CC\00\E1\D7\C7\00\F3\C5\CE\00\EF\CB\D4\00\EE\CF\D1\00\E4\C5\CB\00\F1\CE\D7\C1\D2\D1\00\E6\C5\D7\D2\C1\CC\D1\00\ED\C1\D2\D4\C1\00\E1\D0\D2\C5\CC\D1\00\ED\C1\D1\00\E9\C0\CE\D1\00\E9\C0\CC\D1\00\E1\D7\C7\D5\D3\D4\C1\00\F3\C5\CE\D4\D1\C2\D2\D1\00\EF\CB\D4\D1\C2\D2\D1\00\EE\CF\D1\C2\D2\D1\00\E4\C5\CB\C1\C2\D2\D1\00\B2\E1\DA\00\BF\DD\D4\00\B2\E2\E0\00\C1\E0\D4\00\C7\E2\D2\00\BF\E2\DD\00\C1\D1\E2\00\B2\DE\E1\DA\E0\D5\E1\D5\DD\EC\D5\00\BF\DE\DD\D5\D4\D5\DB\EC\DD\D8\DA\00\B2\E2\DE\E0\DD\D8\DA\00\C1\E0\D5\D4\D0\00\C7\D5\E2\D2\D5\E0\D3\00\BF\EF\E2\DD\D8\E6\D0\00\C1\E3\D1\D1\DE\E2\D0\00\CF\DD\D2\00\C4\D5\D2\00\BC\D0\E0\00\B0\DF\E0\00\BC\D0\D9\00\B8\EE\DD\00\B8\EE\DB\00\B0\D2\D3\00\C1\D5\DD\00\BE\DA\E2\00\BD\DE\EF\00\B4\D5\DA\00\CF\DD\D2\D0\E0\EF\00\C4\D5\D2\E0\D0\DB\EF\00\BC\D0\E0\E2\D0\00\B0\DF\E0\D5\DB\EF\00\BC\D0\EF\00\B8\EE\DD\EF\00\B8\EE\DB\EF\00\B0\D2\D3\E3\E1\E2\D0\00\C1\D5\DD\E2\EF\D1\E0\EF\00\BE\DA\E2\EF\D1\E0\EF\00\BD\DE\EF\D1\E0\EF\00\B4\D5\DA\D0\D1\E0\EF\00\D0\92\D1\81\D0\BA\00\D0\9F\D0\BD\D0\B4\00\D0\92\D1\82\D1\80\00\D0\A7\D1\82\D0\B2\00\D0\9F\D1\82\D0\BD\00\D0\A1\D0\B1\D1\82\00\D0\92\D0\BE\D1\81\D0\BA\D1\80\D0\B5\D1\81\D0\B5\D0\BD\D1\8C\D0\B5\00\D0\9F\D0\BE\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D1\8C\D0\BD\D0\B8\D0\BA\00\D0\92\D1\82\D0\BE\D1\80\D0\BD\D0\B8\D0\BA\00\D0\A1\D1\80\D0\B5\D0\B4\D0\B0\00\D0\A7\D0\B5\D1\82\D0\B2\D0\B5\D1\80\D0\B3\00\D0\9F\D1\8F\D1\82\D0\BD\D0\B8\D1\86\D0\B0\00\D0\A1\D1\83\D0\B1\D0\B1\D0\BE\D1\82\D0\B0\00\D0\AF\D0\BD\D0\B2\00\D0\A4\D0\B5\D0\B2\00\D0\9C\D0\B0\D1\80\00\D0\90\D0\BF\D1\80\00\D0\9C\D0\B0\D0\B9\00\D0\98\D1\8E\D0\BD\00\D0\98\D1\8E\D0\BB\00\D0\90\D0\B2\D0\B3\00\D0\A1\D0\B5\D0\BD\00\D0\9E\D0\BA\D1\82\00\D0\9D\D0\BE\D1\8F\00\D0\94\D0\B5\D0\BA\00\D0\AF\D0\BD\D0\B2\D0\B0\D1\80\D1\8F\00\D0\A4\D0\B5\D0\B2\D1\80\D0\B0\D0\BB\D1\8F\00\D0\9C\D0\B0\D1\80\D1\82\D0\B0\00\D0\90\D0\BF\D1\80\D0\B5\D0\BB\D1\8F\00\D0\9C\D0\B0\D1\8F\00\D0\98\D1\8E\D0\BD\D1\8F\00\D0\98\D1\8E\D0\BB\D1\8F\00\D0\90\D0\B2\D0\B3\D1\83\D1\81\D1\82\D0\B0\00\D0\A1\D0\B5\D0\BD\D1\82\D1\8F\D0\B1\D1\80\D1\8F\00\D0\9E\D0\BA\D1\82\D1\8F\D0\B1\D1\80\D1\8F\00\D0\9D\D0\BE\D1\8F\D0\B1\D1\80\D1\8F\00\D0\94\D0\B5\D0\BA\D0\B0\D0\B1\D1\80\D1\8F\00\F7\D4\CF\00\F3\D5\C2\00\F1\CE\D7\C1\D2\D8\00\E6\C5\D7\D2\C1\CC\D8\00\ED\C1\D2\D4\00\E1\D0\D2\C5\CC\D8\00\E9\C0\CE\D8\00\E9\C0\CC\D8\00\E1\D7\C7\D5\D3\D4\00\F3\C5\CE\D4\D1\C2\D2\D8\00\EF\CB\D4\D1\C2\D2\D8\00\EE\CF\D1\C2\D2\D8\00\E4\C5\CB\C1\C2\D2\D8\00\D0\92\D1\82\D0\BE\00\D0\AF\D0\BD\D0\B2\D0\B0\D1\80\D1\8C\00\D0\A4\D0\B5\D0\B2\D1\80\D0\B0\D0\BB\D1\8C\00\D0\9C\D0\B0\D1\80\D1\82\00\D0\90\D0\BF\D1\80\D0\B5\D0\BB\D1\8C\00\D0\98\D1\8E\D0\BD\D1\8C\00\D0\98\D1\8E\D0\BB\D1\8C\00\D0\90\D0\B2\D0\B3\D1\83\D1\81\D1\82\00\D0\A1\D0\B5\D0\BD\D1\82\D1\8F\D0\B1\D1\80\D1\8C\00\D0\9E\D0\BA\D1\82\D1\8F\D0\B1\D1\80\D1\8C\00\D0\9D\D0\BE\D1\8F\D0\B1\D1\80\D1\8C\00\D0\94\D0\B5\D0\BA\D0\B0\D0\B1\D1\80\D1\8C\00sotn\00vuos\00ma\C5\8B\00gask\00duor\00bear\00l\C3\A1v\00sotnabeaivi\00vuoss\C3\A1rga\00ma\C5\8B\C5\8Bebarga\00gaskavahkku\00duorasdat\00bearjadat\00l\C3\A1vvardat\00o\C4\91\C4\91j\00guov\00njuk\00cuo\C5\8B\00mies\00geas\00suoi\00borg\00\C4\8Dak\C4\8D\00golg\00sk\C3\A1b\00juov\00o\C4\91\C4\91ajagem\C3\A1nu\00guovvam\C3\A1nu\00njuk\C4\8Dam\C3\A1nu\00cuo\C5\8Bom\C3\A1nu\00miessem\C3\A1nu\00geassem\C3\A1nu\00suoidnem\C3\A1nu\00borgem\C3\A1nu\00\C4\8Dak\C4\8Dam\C3\A1nu\00golggotm\C3\A1nu\00sk\C3\A1bmam\C3\A1nu\00juovlam\C3\A1nu\00%a, %b %e. b. %Y %T %Z\00Ut\00\A9t\00Pi\00Nede\B5a\00Pondelok\00Utorok\00Streda\00\A9tvrtok\00Piatok\00marec\00Nede\C4\BEa\00\C5\A0tvrtok\00ned\00sre\00\E8et\00pet\00nedelja\00ponedeljek\00torek\00sreda\00\E8etrtek\00petek\00avg\00junij\00julij\00avgust\00\C4\8Det\00\C4\8Detrtek\00Die \00H\EBn \00Mar \00M\EBr \00Enj \00Pre \00Sht \00e diel \00e h\EBn\EB \00e mart\EB \00e m\EBrkur\EB \00e enjte \00e premte \00e shtun\EB \00Shk\00Pri\00Qer\00Kor\00Gsh\00Sht\00Tet\00N\EBn\00Dhj\00janar\00shkurt\00prill\00qershor\00korrik\00gusht\00shtator\00tetor\00n\EBntor\00dhjetor\00PD\00MD\00%Y-%b-%d %I.%M.%S.%p %Z\00%Y-%b-%d\00%I.%M.%S. %Z\00%I.%M.%S.%p %Z\00H\C3\ABn \00M\C3\ABr \00e h\C3\ABn\C3\AB \00e mart\C3\AB \00e m\C3\ABrkur\C3\AB \00e shtun\C3\AB \00N\C3\ABn\00n\C3\ABntor\00uto\00sub\00ponedeljak\00utorak\00\E8etvrtak\00petak\00subota\00septembar\00oktobar\00novembar\00decembar\00%d-%m-%Y.\00\C4\8Detvrtak\00\E3\E2\DE\00\E1\E3\D1\00\DD\D5\D4\D5\F9a\00\DF\DE\DD\D5\D4\D5\F9\D0\DA\00\E3\E2\DE\E0\D0\DA\00\E7\D5\E2\D2\E0\E2\D0\DA\00\DF\D5\E2\D0\DA\00\E1\E3\D1\DE\E2\D0\00\E4\D5\D1\00\DD\DE\D2\00\D4\D5\E6\00\F8\D0\DD\E3\D0\E0\00\E4\D5\D1\E0\E3\D0\E0\00\E1\D5\DF\E2\D5\DC\D1\D0\E0\00\DE\DA\E2\DE\D1\D0\E0\00\DD\DE\D2\D5\DC\D1\D0\E0\00\D4\D5\E6\D5\DC\D1\D0\E0\00+%a %d %b %Y %T %Z\00\D1\83\D1\82\D0\BE\00\D1\81\D1\83\D0\B1\00\D0\BD\D0\B5\D0\B4\D0\B5\D1\99a\00\D0\BF\D0\BE\D0\BD\D0\B5\D0\B4\D0\B5\D1\99\D0\B0\D0\BA\00\D1\83\D1\82\D0\BE\D1\80\D0\B0\D0\BA\00\D1\87\D0\B5\D1\82\D0\B2\D1\80\D1\82\D0\B0\D0\BA\00\D0\BF\D0\B5\D1\82\D0\B0\D0\BA\00\D1\81\D1\83\D0\B1\D0\BE\D1\82\D0\B0\00\D1\84\D0\B5\D0\B1\00\D0\BD\D0\BE\D0\B2\00\D0\B4\D0\B5\D1\86\00\D1\98\D0\B0\D0\BD\D1\83\D0\B0\D1\80\00\D1\84\D0\B5\D0\B1\D1\80\D1\83\D0\B0\D1\80\00\D1\81\D0\B5\D0\BF\D1\82\D0\B5\D0\BC\D0\B1\D0\B0\D1\80\00\D0\BE\D0\BA\D1\82\D0\BE\D0\B1\D0\B0\D1\80\00\D0\BD\D0\BE\D0\B2\D0\B5\D0\BC\D0\B1\D0\B0\D1\80\00\D0\B4\D0\B5\D1\86\D0\B5\D0\BC\D0\B1\D0\B0\D1\80\00s\F6n\00m\E5n\00tis\00l\F6r\00s\F6ndag\00m\E5ndag\00tisdag\00l\F6rdag\00augusti\00%a %e %b %Y %H.%M.%S\00s\C3\B6n\00m\C3\A5n\00l\C3\B6r\00s\C3\B6ndag\00m\C3\A5ndag\00l\C3\B6rdag\00\E0\AE\9E\00\E0\AE\A4\00\E0\AE\9A\00\E0\AE\AA\00\E0\AE\B5\00\E0\AE\9E\E0\AE\BE\E0\AE\AF\E0\AE\BF\E0\AE\B1\E0\AF\81\00\E0\AE\A4\E0\AE\BF\E0\AE\99\E0\AF\8D\E0\AE\95\E0\AE\B3\E0\AF\8D\00\E0\AE\9A\E0\AF\86\E0\AE\B5\E0\AF\8D\E0\AE\B5\E0\AE\BE\E0\AE\AF\E0\AF\8D\00\E0\AE\AA\E0\AF\81\E0\AE\A4\E0\AE\A9\E0\AF\8D\00\E0\AE\B5\E0\AE\BF\E0\AE\AF\E0\AE\BE\E0\AE\B4\E0\AE\A9\E0\AF\8D\00\E0\AE\B5\E0\AF\86\E0\AE\B3\E0\AF\8D\E0\AE\B3\E0\AE\BF\00\E0\AE\9A\E0\AE\A9\E0\AE\BF\00\E0\AE\9C\E0\AE\A9\E0\AE\B5\E0\AE\B0\E0\AE\BF\00\E0\AE\AA\E0\AF\86\E0\AE\AA\E0\AF\8D\E0\AE\B0\E0\AE\B5\E0\AE\B0\E0\AE\BF\00\E0\AE\AE\E0\AE\BE\E0\AE\B0\E0\AF\8D\E0\AE\9A\E0\AF\8D\00\E0\AE\8F\E0\AE\AA\E0\AF\8D\E0\AE\B0\E0\AE\B2\E0\AF\8D\00\E0\AE\AE\E0\AF\87\00\E0\AE\9C\E0\AF\82\E0\AE\A9\E0\AF\8D\00\E0\AE\9C\E0\AF\82\E0\AE\B2\E0\AF\88\00\E0\AE\86\E0\AE\95\E0\AE\B8\E0\AF\8D\E0\AE\9F\E0\AF\8D\00\E0\AE\9A\E0\AF\86\E0\AE\AA\E0\AF\8D\E0\AE\9F\E0\AE\AE\E0\AF\8D\E0\AE\AA\E0\AE\B0\E0\AF\8D\00\E0\AE\85\E0\AE\95\E0\AF\8D\E0\AE\9F\E0\AF\8B\E0\AE\AA\E0\AE\B0\E0\AF\8D\00\E0\AE\A8\E0\AE\B5\E0\AE\AE\E0\AF\8D\E0\AE\AA\E0\AE\B0\E0\AF\8D\00\E0\AE\9F\E0\AE\BF\E0\AE\9A\E0\AE\AE\E0\AF\8D\E0\AE\AA\E0\AE\B0\E0\AF\8Dr\00\E0\AE\95\E0\AE\BE\E0\AE\B2\E0\AF\88\00\E0\AE\AE\E0\AE\BE\E0\AE\B2\E0\AF\88\00\E0\B0\86\E0\B0\A6\E0\B0\BF\00\E0\B0\B8\E0\B1\8B\E0\B0\AE\00\E0\B0\AE\E0\B0\82\E0\B0\97\E0\B0\B3\00\E0\B0\AC\E0\B1\81\E0\B0\A7\00\E0\B0\97\E0\B1\81\E0\B0\B0\E0\B1\81\00\E0\B0\B6\E0\B1\81\E0\B0\95\E0\B1\8D\E0\B0\B0\00\E0\B0\B6\E0\B0\A8\E0\B0\BF\00\E0\B0\86\E0\B0\A6\E0\B0\BF\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\B8\E0\B1\8B\E0\B0\AE\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\AE\E0\B0\82\E0\B0\97\E0\B0\B3\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\AC\E0\B1\81\E0\B0\A7\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\97\E0\B1\81\E0\B0\B0\E0\B1\81\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\B6\E0\B1\81\E0\B0\95\E0\B1\8D\E0\B0\B0\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\B6\E0\B0\A8\E0\B0\BF\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\9C\E0\B0\A8\E0\B0\B5\E0\B0\B0\E0\B0\BF\00\E0\B0\AB\E0\B0\BF\E0\B0\AC\E0\B1\8D\E0\B0\B0\E0\B0\B5\E0\B0\B0\E0\B0\BF\00\E0\B0\AE\E0\B0\BE\E0\B0\B0\E0\B1\8D\E0\B0\9A\E0\B0\BF\00\E0\B0\8F\E0\B0\AA\E0\B1\8D\E0\B0\B0\E0\B0\BF\E0\B0\B2\E0\B1\8D\00\E0\B0\AE\E0\B1\87\00\E0\B0\9C\E0\B1\82\E0\B0\A8\E0\B1\8D\00\E0\B0\9C\E0\B1\82\E0\B0\B2\E0\B1\88\00\E0\B0\86\E0\B0\97\E0\B0\B8\E0\B1\8D\E0\B0\9F\E0\B1\81\00\E0\B0\B8\E0\B1\86\E0\B0\AA\E0\B1\8D\E0\B0\9F\E0\B1\86\E0\B0\82\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\85\E0\B0\95\E0\B1\8D\E0\B0\9F\E0\B1\8B\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\A8\E0\B0\B5\E0\B0\82\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\A1\E0\B0\BF\E0\B0\B8\E0\B1\86\E0\B0\82\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\AA\E0\B1\82\E0\B0\B0\E0\B1\8D\E0\B0\B5\E0\B0\BE\E0\B0\B9\E0\B1\8D\E0\B0\A8\00\E0\B0\85\E0\B0\AA\E0\B0\B0\E0\B0\BE\E0\B0\B9\E0\B1\8D\E0\B0\A8\00\CD\D2.\00\A8.\00\CD.\00\BE.\00\BE\C4.\00\C8.\00\CA.\00\CD\D2\B7\D4\B5\C2\EC\00\A8\D1\B9\B7\C3\EC\00\CD\D1\A7\A4\D2\C3\00\BE\D8\B8\00\BE\C4\CB\D1\CA\BA\B4\D5\00\C8\D8\A1\C3\EC\00\E0\CA\D2\C3\EC\00\C1.\A4.\00\A1.\BE.\00\C1\D5.\A4.\00\E0\C1.\C2.\00\BE.\A4.\00\C1\D4.\C2.\00\A1.\A4.\00\CA.\A4.\00\A1.\C2.\00\B5.\A4.\00\BE.\C2.\00\B8.\A4.\00\C1\A1\C3\D2\A4\C1\00\A1\D8\C1\C0\D2\BE\D1\B9\B8\EC\00\C1\D5\B9\D2\A4\C1\00\E0\C1\C9\D2\C2\B9\00\BE\C4\C9\C0\D2\A4\C1\00\C1\D4\B6\D8\B9\D2\C2\B9\00\A1\C3\A1\AE\D2\A4\C1\00\CA\D4\A7\CB\D2\A4\C1\00\A1\D1\B9\C2\D2\C2\B9\00\B5\D8\C5\D2\A4\C1\00\BE\C4\C8\A8\D4\A1\D2\C2\B9\00\B8\D1\B9\C7\D2\A4\C1\00%a %e %b %Ey, %H:%M:%S\00%d/%m/%Ey\00+:1:-543/01/01:+*:\BE.\C8.:%EC %Ey\00\00%e %b %Ey\00\C7\D1\B9%A\B7\D5\E8 %e %B %EC %Ey, %H.%M.%S \B9.\00%H.%M.%S \B9.\00\E0\B8\AD\E0\B8\B2.\00\E0\B8\88.\00\E0\B8\AD.\00\E0\B8\9E.\00\E0\B8\9E\E0\B8\A4.\00\E0\B8\A8.\00\E0\B8\AA.\00\E0\B8\AD\E0\B8\B2\E0\B8\97\E0\B8\B4\E0\B8\95\E0\B8\A2\E0\B9\8C\00\E0\B8\88\E0\B8\B1\E0\B8\99\E0\B8\97\E0\B8\A3\E0\B9\8C\00\E0\B8\AD\E0\B8\B1\E0\B8\87\E0\B8\84\E0\B8\B2\E0\B8\A3\00\E0\B8\9E\E0\B8\B8\E0\B8\98\00\E0\B8\9E\E0\B8\A4\E0\B8\AB\E0\B8\B1\E0\B8\AA\E0\B8\9A\E0\B8\94\E0\B8\B5\00\E0\B8\A8\E0\B8\B8\E0\B8\81\E0\B8\A3\E0\B9\8C\00\E0\B9\80\E0\B8\AA\E0\B8\B2\E0\B8\A3\E0\B9\8C\00\E0\B8\A1.\E0\B8\84.\00\E0\B8\81.\E0\B8\9E.\00\E0\B8\A1\E0\B8\B5.\E0\B8\84.\00\E0\B9\80\E0\B8\A1.\E0\B8\A2.\00\E0\B8\9E.\E0\B8\84.\00\E0\B8\A1\E0\B8\B4.\E0\B8\A2.\00\E0\B8\81.\E0\B8\84.\00\E0\B8\AA.\E0\B8\84.\00\E0\B8\81.\E0\B8\A2.\00\E0\B8\95.\E0\B8\84.\00\E0\B8\9E.\E0\B8\A2.\00\E0\B8\98.\E0\B8\84.\00\E0\B8\A1\E0\B8\81\E0\B8\A3\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\81\E0\B8\B8\E0\B8\A1\E0\B8\A0\E0\B8\B2\E0\B8\9E\E0\B8\B1\E0\B8\99\E0\B8\98\E0\B9\8C\00\E0\B8\A1\E0\B8\B5\E0\B8\99\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B9\80\E0\B8\A1\E0\B8\A9\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\9E\E0\B8\A4\E0\B8\A9\E0\B8\A0\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\A1\E0\B8\B4\E0\B8\96\E0\B8\B8\E0\B8\99\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\81\E0\B8\A3\E0\B8\81\E0\B8\8E\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\AA\E0\B8\B4\E0\B8\87\E0\B8\AB\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\81\E0\B8\B1\E0\B8\99\E0\B8\A2\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\95\E0\B8\B8\E0\B8\A5\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\9E\E0\B8\A4\E0\B8\A8\E0\B8\88\E0\B8\B4\E0\B8\81\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\98\E0\B8\B1\E0\B8\99\E0\B8\A7\E0\B8\B2\E0\B8\84\E0\B8\A1\00+:1:-543/01/01:+*:\E0\B8\9E.\E0\B8\A8.:%EC %Ey\00\00\E0\B8\A7\E0\B8\B1\E0\B8\99%A\E0\B8\97\E0\B8\B5\E0\B9\88 %e %B %EC %Ey, %H.%M.%S \E0\B8\99.\00%H.%M.%S \E0\B8\99.\00\E1\88\B0\E1\8A\95\E1\89\A0\E1\89\B5\00\E1\88\B0\E1\8A\91\E1\8B\AD\00\E1\88\B0\E1\88\89\E1\88\B5\00\E1\88\93\E1\88\99\E1\88\B5\00\E1\8B\93\E1\88\AD\E1\89\A2\00\E1\89\80\E1\8B\B3\E1\88\9D\00\E1\8C\A5\E1\88\AA\00\E1\88\88\E1\8A\AB\E1\89\B2\00\E1\88\98\E1\8C\8B\E1\89\A2\00\E1\88\9A\E1\8B\AB\E1\8B\9D\00\E1\8C\8D\E1\8A\95\E1\89\A6\00\E1\88\B0\E1\8A\90\00\E1\88\93\E1\88\9D\E1\88\88\00\E1\8A\90\E1\88\93\E1\88\B0\00\E1\88\98\E1\88\B5\E1\8A\A8\00\E1\8C\A5\E1\89\85\E1\88\9D\00\E1\88\95\E1\8B\B3\E1\88\AD\00\E1\89\B3\E1\88\95\E1\88\B3\00\E1\88\88\E1\8A\AB\E1\89\B2\E1\89\B5\00\E1\88\98\E1\8C\8B\E1\89\A2\E1\89\B5\00\E1\88\9A\E1\8B\AB\E1\8B\9D\E1\8B\AB\00\E1\8C\8D\E1\8A\95\E1\89\A6\E1\89\B5\00\E1\88\98\E1\88\B5\E1\8A\A8\E1\88\A8\E1\88\9D\00\E1\8C\A5\E1\89\85\E1\88\9D\E1\89\B2\00\E1\89\B3\E1\88\95\E1\88\B3\E1\88\B5\00\E1\8A\95\E1\8C\89\E1\88\86 \E1\88\B0\E1\8B\93\E1\89\B0\00\E1\8B\B5\E1\88\95\E1\88\AD \E1\88\B0\E1\8B\93\E1\89\B5\00%A\E1\8D\A3 %b %e \E1\88\98\E1\8B\93\E1\88\8D\E1\89\B2 %l:%M:%S %Z %Y\00Lin\00Miy\00Huw\00Biy\00Linggo\00Lunes\00Miyerkoles\00Huwebes\00Biyernes\00Sabado\00Ene\00Hun\00Hul\00Nob\00Enero\00Pebrero\00Marso\00Mayo\00Hunyo\00Hulyo\00Septiyembre\00Oktubre\00Nobiyembre\00Disyembre\00Paz\00Pzt\00Sal\00\C7r\FE\00Pr\FE\00Cum\00Cts\00Pazar\00Pazartesi\00Sal\FD\00\C7ar\FEamba\00Per\FEembe\00Cuma\00Cumartesi\00Oca\00\DEub\00Nis\00Haz\00Tem\00A\F0u\00Eyl\00Eki\00Kas\00Ara\00Ocak\00\DEubat\00Nisan\00May\FDs\00Haziran\00Temmuz\00A\F0ustos\00Eyl\FCl\00Ekim\00Kas\FDm\00Aral\FDk\00\D6\D6\00\D6S\00\C3\87r\C5\9F\00Pr\C5\9F\00Sal\C4\B1\00\C3\87ar\C5\9Famba\00Per\C5\9Fembe\00\C5\9Eub\00A\C4\9Fu\00\C5\9Eubat\00May\C4\B1s\00A\C4\9Fustos\00Eyl\C3\BCl\00Kas\C4\B1m\00Aral\C4\B1k\00\C3\96\C3\96\00\C3\96S\00\D0\AF\D0\BA\D1\88\00\D0\94\D1\8B\D1\88\00\D0\A1\D0\B8\D1\88\00\D0\A7\D3\99\D1\80\D1\88\00\D0\9F\D3\99\D0\BD\D2\97\00\D2\96\D0\BE\D0\BC\00\D0\A8\D0\B8\D0\BC\00\D0\AF\D0\BA\D1\88\D3\99\D0\BC\D0\B1\D0\B5\00\D0\94\D1\8B\D1\88\D3\99\D0\BC\D0\B1\D0\B5\00\D0\A1\D0\B8\D1\88\D3\99\D0\BC\D0\B1\D0\B5\00\D0\A7\D3\99\D1\80\D1\88\D3\99\D3\99\D0\BC\D0\B1\D0\B5\00\D0\9F\D3\99\D0\BD\D2\97\D0\B5\D1\88\D0\BC\D0\B1\D0\B5\00\D2\96\D0\BE\D0\BC\D0\B3\D0\B0\00\D0\A8\D0\B8\D0\BC\D0\B1\D3\99\00\EE\C4\CC\00\EE\C5\C4\A6\CC\D1\00\F0\CF\CE\C5\C4\A6\CC\CF\CB\00\F7\A6\D7\D4\CF\D2\CF\CB\00\F3\C5\D2\C5\C4\C1\00\FE\C5\D4\D7\C5\D2\00\F0'\D1\D4\CE\C9\C3\D1\00\F3\D5\C2\CF\D4\C1\00\F3\A6\DE\00\EC\C0\D4\00\E2\C5\D2\00\EB\D7\A6\00\F4\D2\C1\00\FE\C5\D2\00\EC\C9\D0\00\F3\C5\D2\00\F7\C5\D2\00\F6\CF\D7\00\EC\C9\D3\00\E7\D2\D5\00\F3\A6\DE\C5\CE\D8\00\EC\C0\D4\C9\CA\00\E2\C5\D2\C5\DA\C5\CE\D8\00\EB\D7\A6\D4\C5\CE\D8\00\F4\D2\C1\D7\C5\CE\D8\00\FE\C5\D2\D7\C5\CE\D8\00\EC\C9\D0\C5\CE\D8\00\F3\C5\D2\D0\C5\CE\D8\00\F7\C5\D2\C5\D3\C5\CE\D8\00\F6\CF\D7\D4\C5\CE\D8\00\EC\C9\D3\D4\CF\D0\C1\C4\00\E7\D2\D5\C4\C5\CE\D8\00\D0\9D\D0\B4\D0\BB\00\D0\9D\D0\B5\D0\B4\D1\96\D0\BB\D1\8F\00\D0\9F\D0\BE\D0\BD\D0\B5\D0\B4\D1\96\D0\BB\D0\BE\D0\BA\00\D0\92\D1\96\D0\B2\D1\82\D0\BE\D1\80\D0\BE\D0\BA\00\D0\A1\D0\B5\D1\80\D0\B5\D0\B4\D0\B0\00\D0\A7\D0\B5\D1\82\D0\B2\D0\B5\D1\80\00\D0\9F'\D1\8F\D1\82\D0\BD\D0\B8\D1\86\D1\8F\00\D0\A1\D1\96\D1\87\00\D0\91\D0\B5\D1\80\00\D0\9A\D0\B2\D1\96\00\D0\A7\D0\B5\D1\80\00\D0\9B\D0\B8\D0\BF\00\D0\A1\D0\B5\D1\80\00\D0\92\D0\B5\D1\80\00\D0\96\D0\BE\D0\B2\00\D0\9B\D0\B8\D1\81\00\D0\93\D1\80\D1\83\00\D0\A1\D1\96\D1\87\D0\B5\D0\BD\D1\8C\00\D0\9B\D1\8E\D1\82\D0\B8\D0\B9\00\D0\91\D0\B5\D1\80\D0\B5\D0\B7\D0\B5\D0\BD\D1\8C\00\D0\9A\D0\B2\D1\96\D1\82\D0\B5\D0\BD\D1\8C\00\D0\A7\D0\B5\D1\80\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\9B\D0\B8\D0\BF\D0\B5\D0\BD\D1\8C\00\D0\A1\D0\B5\D1\80\D0\BF\D0\B5\D0\BD\D1\8C\00\D0\92\D0\B5\D1\80\D0\B5\D1\81\D0\B5\D0\BD\D1\8C\00\D0\96\D0\BE\D0\B2\D1\82\D0\B5\D0\BD\D1\8C\00\D0\9B\D0\B8\D1\81\D1\82\D0\BE\D0\BF\D0\B0\D0\B4\00\D0\93\D1\80\D1\83\D0\B4\D0\B5\D0\BD\D1\8C\00\D8\A7\D8\AA\D9\88\D8\A7\D8\B1\00\D9\BE\D9\8A\D8\B1\00\D9\85\D9\86\DA\AF\D9\84\00\D8\A8\D8\AF\DA\BE\00\D8\AC\D9\85\D8\B9\D8\B1\D8\A7\D8\AA\00\D9\87\D9\81\D8\AA\D9\87\00\D8\AC\D9\86\D9\88\D8\B1\D9\8A\00\D9\81\D8\B1\D9\88\D8\B1\D9\8A\00\D9\85\D8\A7\D8\B1\DA\86\00\D8\A7\D9\BE\D8\B1\D9\8A\D9\84\00\D9\85\D9\93\DB\8C\00\D8\AC\D9\88\D9\86\00\D8\AC\D9\88\D9\84\D8\A7\D9\8A\00\D8\A7\DA\AF\D8\B3\D8\AA\00\D8\B3\D8\AA\D9\85\D8\A8\D8\B1\00\D8\A7\D9\83\D8\AA\D9\88\D8\A8\D8\B1\00\D9\86\D9\88\D9\85\D8\A8\D8\B1\00\D8\AF\D8\B3\D9\85\D8\A8\D8\B1\00\D8\B4\00\D9\88 %H:%M:%S %Z \D8\AA %d %B %Y\00%P %I:%M:%S\00Yak\00Se\00Cho\00Pay\00Ju\00Sha\00yakshanba\00dushanba\00seshanba\00chorshanba\00payshanba\00juma\00shanba\00Yav\00Iyn\00Iyl\00Avg\00senyabr\00%T, %d %B, %Y yil, %A\00CN \00Th 2 \00Th 3 \00Th 4 \00Th 5 \00Th 6 \00Th 7 \00Chu\CC\89 nh\C3\A2\CC\A3t \00Th\C6\B0\CC\81 hai \00Th\C6\B0\CC\81 ba \00Th\C6\B0\CC\81 t\C6\B0 \00Th\C6\B0\CC\81 n\C4\83m \00Th\C6\B0\CC\81 s\C3\A1u \00Th\C6\B0\CC\81 ba\CC\89y \00Thg 1\00Thg 2\00Thg 3\00Thg 4\00Thg 5\00Thg 6\00Thg 7\00Thg 8\00Thg 9\00Thg 10\00Thg 11\00Thg 12\00Th\C3\A1ng m\C3\B4\CC\A3t\00Th\C3\A1ng hai\00Th\C3\A1ng ba\00Th\C3\A1ng t\C6\B0\00Th\C3\A1ng n\C4\83m\00Th\C3\A1ng s\C3\A1u\00Th\C3\A1ng ba\CC\89y\00Th\C3\A1ng t\C3\A1m\00Th\C3\A1ng ch\C3\ADn\00Th\C3\A1ng m\C6\B0\C6\A1\CC\80i\00Th\C3\A1ng m\C6\B0\C6\A1\CC\80i m\C3\B4\CC\A3t\00Th\C3\A1ng m\C6\B0\C6\A1\CC\80i hai\00%H:%M:%S %Z %A %d %b %Y\00%H:%M:%S %Z\00d\EEm\00lon\00m\E5r\00dju\00vin\00sem\00d\EEmegne\00londi\00m\E5rdi\00merkidi\00djudi\00vinrdi\00semdi\00dja\00fev\00m\E5s\00djn\00djl\00awo\00n\F4v\00djanv\EE\00fevr\EE\00m\E5ss\00avri\00djun\00djulete\00awousse\00setimbe\00oct\F4be\00n\F4vimbe\00decimbe\00Li %A %d di %B %Y %T %Z\00d\C3\AEm\00m\C3\A5r\00d\C3\AEmegne\00m\C3\A5rdi\00m\C3\A5s\00n\C3\B4v\00djanv\C3\AE\00fevr\C3\AE\00m\C3\A5ss\00oct\C3\B4be\00n\C3\B4vimbe\00\E6\E5\F0'\00\EE\E0\C8\F0'\00\E3\E9\F0'\00\EE\E9\E8'\00\E3\E0\C8\F0'\00\F4\CF\F8\D6\C7'\00\E6\E5\F0\E8\E9\F7\00\EE\E0\C8\F0\E8\E9\F7\00\E3\E9\F0\F1\E8\E9\F7\00\EE\E9\E8\D4\E0\C8\EA\00\E3\E0\C8\F0\F2\F8\F9\E8\E9\F7\00\F4\CF\F8\D6\C7\E8\E9\F7\00\E9\E0\C7\F0'\00\F4\CF\F2\E1'\00\EE\E0\C7\F8'\00\E0\C7\F4\CC\F8'\00\EE\D6\C7\00\E9\E5\F0'\00\E9\E5\EC'\00\E0\D5\E2'\00\F1\F2\F4\CC'\00\E0\C8\F7\E8'\00\F0\E0\C8\D4'\00\E3\F2\F6'\00\E9\E0\C7\F0\E5\E0\C7\F8\00\F4\CF\F2\E1\F8\E5\E0\C7\F8\00\EE\E0\C7\F8\F5\00\E0\C7\F4\CC\F8\E9\EC\00\E0\D5\E2\F1\E8\00\F1\F2\F4\CC\E8\F2\EE\E1\F2\F8\00\E0\C8\F7\E8\E0\C8\E1\F2\F8\00\F0A\C8\D4\F2\EE\E1\F2\F8\00\D7\96\D7\95\D7\A0'\00\D7\9E\D7\90\D6\B8\D7\A0'\00\D7\93\D7\99\D7\A0'\00\D7\9E\D7\99\D7\98'\00\D7\93\D7\90\D6\B8\D7\A0'\00\D7\A4\D6\BF\D7\A8\D7\B2\D6\B7'\00\D7\96\D7\95\D7\A0\D7\98\D7\99\D7\A7\00\D7\9E\D7\90\D6\B8\D7\A0\D7\98\D7\99\D7\A7\00\D7\93\D7\99\D7\A0\D7\A1\D7\98\D7\99\D7\A7\00\D7\9E\D7\99\D7\98\D7\B0\D7\90\D6\B8\D7\9A\00\D7\93\D7\90\D6\B8\D7\A0\D7\A2\D7\A8\D7\A9\D7\98\D7\99\D7\A7\00\D7\A4\D6\BF\D7\A8\D7\B2\D6\B7\D7\98\D7\99\D7\A7\00\D7\99\D7\90\D6\B7\D7\A0'\00\D7\A4\D6\BF\D7\A2\D7\91'\00\D7\9E\D7\90\D6\B7\D7\A8'\00\D7\90\D6\B7\D7\A4\D6\BC\D7\A8'\00\D7\9E\D7\B2\D6\B7\00\D7\99\D7\95\D7\A0'\00\D7\99\D7\95\D7\9C'\00\D7\90\D7\B1\D7\92'\00\D7\A1\D7\A2\D7\A4\D6\BC'\00\D7\90\D6\B8\D7\A7\D7\98'\00\D7\A0\D7\90\D6\B8\D7\B0'\00\D7\93\D7\A2\D7\A6'\00\D7\99\D7\90\D6\B7\D7\A0\D7\95\D7\90\D6\B7\D7\A8\00\D7\A4\D6\BF\D7\A2\D7\91\D7\A8\D7\95\D7\90\D6\B7\D7\A8\00\D7\9E\D7\90\D6\B7\D7\A8\D7\A5\00\D7\90\D6\B7\D7\A4\D6\BC\D7\A8\D7\99\D7\9C\00\D7\90\D7\B1\D7\92\D7\A1\D7\98\00\D7\A1\D7\A2\D7\A4\D6\BC\D7\98\D7\A2\D7\9E\D7\91\D7\A2\D7\A8\00\D7\90\D6\B8\D7\A7\D7\98\D7\90\D6\B8\D7\91\D7\A2\D7\A8\00\D7\A0A\D6\B8\D7\B0\D7\A2\D7\9E\D7\91\D7\A2\D7\A8\00\E4\B8\80\00\E4\BA\8C\00\E4\B8\89\00\E5\9B\9B\00\E4\BA\94\00\E5\85\AD\00\E6\98\9F\E6\9C\9F\E6\97\A5\00\E6\98\9F\E6\9C\9F\E4\B8\80\00\E6\98\9F\E6\9C\9F\E4\BA\8C\00\E6\98\9F\E6\9C\9F\E4\B8\89\00\E6\98\9F\E6\9C\9F\E5\9B\9B\00\E6\98\9F\E6\9C\9F\E4\BA\94\00\E6\98\9F\E6\9C\9F\E5\85\AD\00\E4\B8\80\E6\9C\88\00\E4\BA\8C\E6\9C\88\00\E4\B8\89\E6\9C\88\00\E5\9B\9B\E6\9C\88\00\E4\BA\94\E6\9C\88\00\E5\85\AD\E6\9C\88\00\E4\B8\83\E6\9C\88\00\E5\85\AB\E6\9C\88\00\E4\B9\9D\E6\9C\88\00\E5\8D\81\E6\9C\88\00\E5\8D\81\E4\B8\80\E6\9C\88\00\E5\8D\81\E4\BA\8C\E6\9C\88\00\E4\B8\8A\E5\8D\88\00\E4\B8\8B\E5\8D\88\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %A %H\E6\97\B6%M\E5\88\86%S\E7\A7\92\00%H\E6\97\B6%M\E5\88\86%S\E7\A7\92\00%p %I\E6\97\B6%M\E5\88\86%S\E7\A7\92\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %A %H:%M:%S\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %A\00%I\E6\99\82%M\E5\88\86%S\E7\A7\92 %Z\00%p %I:%M:%S\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %H\E6\97\B6%M\E5\88\86%S\E7\A7\92 %Z\00%H\E6\97\B6%M\E5\88\86%S\E7\A7\92 %Z\00\E9\80\B1\E6\97\A5\00\E9\80\B1\E4\B8\80\00\E9\80\B1\E4\BA\8C\00\E9\80\B1\E4\B8\89\00\E9\80\B1\E5\9B\9B\00\E9\80\B1\E4\BA\94\00\E9\80\B1\E5\85\AD\00\E8\A5\BF\E5\85\83%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 (%A) %H\E6\99\82%M\E5\88\86%S\E7\A7\92\00\E8\A5\BF\E5\85\83%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5\00%p %I\E6\99\82%M\E5\88\86%S\E7\A7\92\00", [1804 x i8] c"\00^[yY]\00^[nN]\00[jJ].*\00[nN].*\00^[yY].*\00^[nN].*\00^[\E6].*\00^[\E4].*\00^[\D9\86].*\00^[\D9\84].*\00^[\D9\86]\00^[\D9\84]\00\D9\86\D8\B9\D9\85\00\D9\84\D8\A7\00^(\E6|\E6\D9\E5)\00^(\E4|\E4\C7)\00\E6\D9\E5\00\E4\C7\00^(\D9\86|\D9\86\D8\B9\D9\85)\00^(\D9\84|\D9\84\D8\A7)\00^[Bb].*\00^[YyNn].*\00yox\00b\C9\99li\00^[\C4\E4Yy].*\00^[\CD\EDNn].*\00^[\D0\94\D0\B4Yy].*\00^[\D0\9D\D0\BDNn].*\00^[+1\C4\E4DdYyOo].*\00^[-0\CD\EDNnKk].*\00^[+1\D0\94\D0\B4DdYyOo].*\00^[-0\D0\9D\D0\BDNnKk].*\00[yYsS\D5\A1\D4\B1].*\00[nN\D5\B8\D5\88].*\00\D5\A1\D5\B5\D5\B8\00\D5\B8\D5\B9\00^[\E0\A6\B9\E0\A7\8D\E0\A6\AF\E0\A6\BE\E0\A6\81]\00^[\E0\A6\A8\E0\A6\BE]\00\E0\A6\B9\E0\A7\8D\E0\A6\AF\E0\A6\BE\E0\A6\81\00\E0\A6\A8\E0\A6\BE\00[oOyY].*\00^[dDyY]*.\00^[nN]*.\00[sSyY].*\00^[aAyY].*\00ano\00ne\00[iItTyY].*\00ie\00na\00^[1JjYy].*\00^[0Nn].*\00^[jJyY].*\00^[\ED\CDyY].*\00^[\EF\CFnN].*\00^[\CE\BD\CE\9DyY].*\00^[\CE\BF\CE\9FnN].*\00[yY].*\00^[yYoO].*\00^[1JjsSyYoO].*\00^[0nN].*\00Yes\00No\00^[JjYy].*\00^[sSyY].*\00^[EeNn].*\00^[bBsSyY].*\00^[eEnN].*\00[yY\D8\A8f].*\00[nN\D8\AE\D9\86o].*\00^[KkJjYy].*\00^[NnEe].*\00^[Nn].*\00^[oOjJyY1].*\00^[nN0].*\00^[oOyY].*\00^[OojJsSyY].*\00^[tTyY].*\00^[Yy\EB].*\00^[Nn\EC].*\00^[Yy\D7\9B].*\00^[Nn\D7\9C].*\00^[dDyY].*\00^[IiYy].*\00[yYsS\B3\B2].*\00[nN\E1\E0].*\00\B3\DB\E1\00\E1\E3\00[tTnN].*\00^[sSjJoOyY].*\00^([yY\EF\BD\99\EF\BC\B9]|\E3\81\AF\E3\81\84|\E3\83\8F\E3\82\A4)\00^([nN\EF\BD\8E\EF\BC\AE]|\E3\81\84\E3\81\84\E3\81\88|\E3\82\A4\E3\82\A4\E3\82\A8)\00\E3\81\AF\E3\81\84\00\E3\81\84\E3\81\84\E3\81\88\00[1yYkKxX\E1].*\00[0nNaA\C0].*\00[1yYkKxX\E1\83\AE].*\00[0nNaA\E1\83\90].*\00^[JjYyAa].*\00^[yY\EC\98\88]\00^[nN\EC\95\84\EB\8B\88\EC\98\A4]\00[eE].*\00^[TtYy].*\00^[1yY\E2\C2\E4\C4aA].*\00^[0nNkK].*\00\E2e\00k\E2ore\00^[1yY\C4\81\C4\80\C3\A4\C3\84aA].*\00\C4\81e\00k\C4\81ore\00[\B4\D4DdYy1].*\00[\BD\DDNn0].*\00\D4\D0\00\DD\D5\00[\D0\94\D0\B4DdYy1].*\00[\D0\9D\D0\BDNn0].*\00\D0\B4\D0\B0\00\D0\BD\D0\B5\00^(Yes|[yY])\00^(No|[nN])\00^[tT]\00Ya\00Tidak\00[oOsS].*\00^[SsyY].*\00^[DdYy].*\00^[\E4\C4Yy].*\00^[\EE\CENn].*\00^[\B4\D4Yy].*\00^[\BD\DDNn].*\00[\E4\C4Yy].*\00[\EE\CENn].*\00[\D0\94\D0\B4Yy].*\00[\D0\9D\D0\BDNn].*\00^[Ii].*\00[aA\E1\C1yY].*\00\E1no\00nie\00[aA\C3\A1\C3\81yY].*\00\C3\A1no\00^[YyJj].*\00[dDyY1].*\00[nN0].*\00[\B4\D4Yy].*\00[\BD\DDNn].*\00^[\E0\AE\86\E0\AE\AE\E0\AF\8D]\00^[\E0\AE\87\E0\AE\B2\E0\AF\8D\E0\AE\B2\E0\AF\88]\00\E0\AE\86\E0\AE\AE\E0\AF\8D\00\E0\AE\87\E0\AE\B2\E0\AF\8D\E0\AE\B2\E0\AF\88\00^[\E0\B0\85]\00^[\E0\B0\95]\00\E0\B0\85\E0\B0\B5\E0\B0\A8\E0\B1\81\00\E0\B0\95\E0\B0\BE\E0\B0\A6\E0\B1\81\00\C4\C1\00\CE\C5\D4\00\D0\BD\D0\B5\D1\82\00^[yY\AA]\00^[nN\C1]\00\E3\AA\E8\00\E4\C1\E8\E3\AA\E8\00^[yY\E0\B8\8A]\00^[nN\E0\B8\A1]\00\E0\B9\83\E0\B8\8A\E0\B9\88\00\E0\B9\84\E0\B8\A1\E0\B9\88\E0\B9\83\E0\B8\8A\E0\B9\88\00^[eE].*\00^[hH].*\00evet\00hay\FDr\00hay\C4\B1r\00\D3\98\D0\B9\D0\B5\00\D0\AE\D0\BA\00[\F4\D4Yy].*\00[\D0\A2\D1\82Yy].*\00[yY\D9\87\D8\A8f].*\00[nN\D9\86o].*\00\D8\A8\D9\84\D9\83\D9\84\00\D9\86\D9\87\D9\8A\DA\BA\00^[YyHh].*\00^[JjNn].*\00Ha\00Yo'q\00[oOyYaAwW].*\00Oyi\00Neni\00^[Yy\E9].*\00^[Nn\F0\F7].*\00\E9\E0\C7\00\F7\D6\EF\00^[Yy\D7\99].*\00^[Nn\D7\A0\D7\A7].*\00\D7\99\D7\90\D6\B7\00\D7\A7\D7\B2\D7\9F\00^[yY\E6\98\AF]\00^[nN\E4\B8\8D\E5\90\A6]\00", [23 x %struct.__codeset_8_bit_t.202] [%struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\01\02\03\04\04\04\04\04\04\04\04\05", [16 x i8] c"\00\00\00\00\01\02\03\04\04\04\04\04\04\04\04\05", [16 x i8] c"\00\01\02\03\04\05\06\07\08\09\0A\0B\0C\0D\0E\0F", [38 x i8] c"\00\01\01\01\01\02\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\03\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06", [16 x i8] zeroinitializer, [16 x i8] c"\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10", [38 x i8] c"\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\07\08\09\0A\0B\0C\0D\0E\0F\0F\0F\0F\10\10\10\10", [16 x i8] c"\06\07\08\07\09\0A\0B\0C\0D\0D\0D\0D\0D\0D\0D\0D", [16 x i8] c"\11\12\13\14\15\16\17\18\19\1A\1B\1C\1D\1E\1F ", [38 x i8] c"\04\01\01\01\05\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\06\07\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\11\12\13\12\02\02\14\02\02\15\16\17\18\18\18\19", [16 x i8] zeroinitializer, [16 x i8] c"!\22#$%&'()*+,-./0", [38 x i8] c"\08\09\0A\01\01\0B\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\0C\0D\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\1A\1B\1C\1D\02\1E\14\1E\18\18\18\18\1F\10 \10", [16 x i8] c"\00\0E\00\0F\00\00\00\00\00\00\00\00\00\00\00\10", [16 x i8] c"123456'789:;<=>?", [38 x i8] c"\0E\0F\0A\01\01\01\01\01\01\01\01\01\01\01\01\01\10\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\11\0D\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\02\1E\14\1E\0F\0F!\22\10\10 \10", [16 x i8] c"\00\00\00\00\00\00\00\00\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\0356'7@ABCD=>?", [38 x i8] c"\12\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00#$%&\0F\0F\0F\22\10\10\10'", [16 x i8] c"\00\00\00\00\12\13\12\13\0D\0D\0D\11\0D\0D\0D\11", [16 x i8] c"\00\01\02\03EFGHIJKLMNOP", [38 x i8] c"\13\14\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\15\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\02\0C\14(\0F\0F!\22\10\10 ", [16 x i8] c"\00\00\00\00\00\0A\00\0A\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\03QRSTUVWXYZ[\\", [38 x i8] c"\16\17\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\18\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00)*+,\0F\0F\0F\22\10\10\10\10", [16 x i8] c"\00\00\00\00\14\15\16\17\0D\0D\0D\11\0D\0D\0D\18", [16 x i8] c"\00\01\02\03]^_`@AabD=cd", [38 x i8] c"\19\1A\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\1B\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00-./0\0F\0F!\22\10\10 \10", [16 x i8] c"\00\00\00\00\19\1A\1B\1C\0D\0D\11\11\0D\0D\11\1D", [16 x i8] c"\00\01\02\03efgh@ABCD=>?", [38 x i8] c"\1C\1D\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\1E\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\001234\0F\0F\0F\22\10\10\10\10", [16 x i8] c"\00\00\00\00\1E\1F !\0D\0D\0D\11\0D\0D\0D\1D", [16 x i8] c"\00\01\02\03ijklmAnop=qr", [38 x i8] c"\1F !\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\22\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\005678\0F\0F!\22\10\10 ", [16 x i8] c"\00\00\00\00\22#\22#\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\03stuvwxyz{|}~", [38 x i8] c"#$%\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\009:;<=\0F>\22?\10@ ", [16 x i8] c"\00\00\00\00$%$&'\0D(\11'\0D(\11", [16 x i8] c"\00\01\02\03\7F\80\81\82\83A\84\85\86=\87\88", [38 x i8] c"&'(\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00AB7C\0F\0F!\22\10\10 ", [16 x i8] c"\00\00\00\00\22)\22*\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\03\89\8A\8B\8CI\8D\8E\8FM\90\91\92", [38 x i8] c")*+\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00D$\0F\0F\0F\0F\10\10\10\10E&", [16 x i8] c"\00\00\00\00+,\0D\0D\0D\0D\0D\0D\0D\0D+,", [16 x i8] c"\00\01\02\03\93\94\19\1A\1B\1C\1D\1E\1F \95\96", [38 x i8] c",\01\01\01-\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01.\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00FG\06HI\18\18J\18KL\06", [16 x i8] zeroinitializer, [16 x i8] c"\00\01\02\03\97\98\10\99\9A\9B\9C\9D\9E\9F\A0\10", [38 x i8] c"/\01\01\01\01\010\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00MN-OP\0FQRS\10\10T", [16 x i8] c"\00\00\00\00\00\00-./\0D01/\0D23", [16 x i8] c"\00\01\02\03\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC", [38 x i8] c"1\01\012\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\013\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00U\02\14V\06\06\06W\18\18\18\19", [16 x i8] zeroinitializer, [16 x i8] c"\00\01\02\03\AD&'\AE\10\10\10\AF-./0", [38 x i8] c"4\01\01\01\015\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\016\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\02\1E\14\1E\0F\0F!\22\10\10 \10", [16 x i8] c"\00\00\00\00\00\00\00\00\0D\0D\114\0D\0D\115", [16 x i8] c"\00\01\02\0356'7@A\B0\B1D=\B2\B3", [38 x i8] c"78\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\02\02\02\02X\02Y\02\10\10\10\10\0F\0F\0F\0F", [16 x i8] c"\00\00\00\006\006\0077777777", [16 x i8] c"\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\BF\C0\C1\C2\C3", [38 x i8] c"9\01\01\01:\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01;<\01=" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"Z[\\]^_`a\10\10\10\10\0F\0F\0F\0F", [16 x i8] c"89:\00;\00<\0077777777", [16 x i8] c"\C4\C5\C6\C7\C8\C9\CA\CB\BC\BD\BE\BF\C0\C1\C2\C3", [38 x i8] c">\01\01\01?\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\11\07\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\02\02\02\02b\14cd\10\10\10\10\0F\0F\0F\0F", [16 x i8] c"\00\00\00\00=>=>77777777", [16 x i8] c"\B4\B5\B6\B7\CC\CD\CE\CF\BC\BD\BE\BF\C0\C1\C2\C3", [38 x i8] c"9\01\01\01@\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01;<\01A" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\06\06\06\06I\18\18\18\18e\18fge\18h", [16 x i8] zeroinitializer, [16 x i8] c"\10\10\10\10\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB", [38 x i8] c"\01\01\01\01\01\01\01\01\01\01\01\01\01\01B\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }], [20 x i8] c"\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\01\01\01\01\01", [10 x i16] [i16 0, i16 2, i16 4, i16 6, i16 8, i16 10, i16 12, i16 14, i16 16, i16 18], [20 x i16] [i16 1, i16 21, i16 3, i16 24, i16 5, i16 27, i16 7, i16 30, i16 9, i16 33, i16 11, i16 36, i16 13, i16 39, i16 15, i16 42, i16 17, i16 45, i16 19, i16 48], [45 x i8] c"\00\00\00\01\01\01\00\02\01\00\02\02\01\00\01\01\00\00\01\03\01\01\04\01\00\05\01\01\01\00\02\06\01\01\05\00\01\07\01\01\05\01\00\02\03", [3 x i16] [i16 0, i16 3, i16 11], [15 x i16] [i16 1, i16 3, i16 17, i16 0, i16 1, i16 3, i16 10, i16 12, i16 15, i16 20, i16 23, i16 0, i16 5, i16 7, i16 25], [3894 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\03\03\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\03\03\04\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\04\04\05\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\05\04\06\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\06\05\07\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\07\05\08\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\08\06\09\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\09\06\0A\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0A\07\0B\02\02\02\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\0B\08\0C\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0C\08\0D\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0D\09\0E\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0E\09\0F\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0F\0A\10\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\10\0A\11\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\11\0B\12\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\12\0B\13\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\13\0C\14\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\14\0C\15\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\15\0D\16\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\16\0D\17\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\17\0E\18\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\18\0E\19\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\19\0F\1A\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1A\0F\1B\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1B\10\1C\02\00\00\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01\1C\10\1D\02\00\00\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01\1D\11\1E\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1E\11\1F\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1F\12 \02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02 \12!\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02!\13\22\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\22\13#\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02#\14$\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02$\14%\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02%\15&\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01&\16'\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01'\16(\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01(\17)\01\04\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01)\17*\01\05\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01*\00+\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01+\07,\02\02\03\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01,\18-\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01-\18.\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01.\19/\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01/\18-\01\01\03\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\01\03\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\011\180\01\01\03\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\012\1A1\01\04\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\013\1A2\01\05\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\014\1B3\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\015\1B4\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\016\1C5\01\01\01\00\01\01\01\01\03\01\03\02\03\01\03\01\03\02\037\18-\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\011\180\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\012\18-\01\01\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\030\18.\01\01\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\031\180\01\01\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\032\1D6\02\03\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\038\18-\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01-\18.\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01.\180\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\019\18-\01\01\01\00\01\04\04\02\01\01\01\01\01\02\01\01\01\01\01-\18.\01\01\01\00\01\04\04\02\01\01\01\01\01\02\01\01\01\01\01.\1E\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\1F7\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01: \02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\1C0\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\012\1C8\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01;!9\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04<\18-\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\010\18.\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\011\180\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\012\22\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02#:\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04=$\02\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04\02%\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\01\01\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01&;\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01>\18<\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01?'\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02(=\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01@)\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02*\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02+>\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01A,\02\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02-\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02\18-\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\011\180\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\012.?\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01B/@\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01C0\02\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\021A\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01D2B\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01E3C\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01F%\02\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\024D\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01G5E\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01H5F\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01I6G\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01J7H\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01K85\01\04\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01785\01\05\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\017\18-\01\01\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\01\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\011\180\01\01\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\0129I\03\06\01\00\01\03\03\02\02\02\02\01\01\02\02\02\02\01\01L\18-\01\01\01\00\01\01\01\02\03\02\03\01\01\02\03\02\03\01\01-\18.\01\01\01\00\01\01\01\02\03\02\03\01\01\02\03\02\03\01\01.\180\01\01\01\00\01\01\01\02\03\02\03\01\01\02\03\02\03\01\019 \02\01\03\01\00\01\01\01\02\02\02\02\01\04\02\02\02\02\01\04M\180\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\019:J\02\02\01\00\01\01\01\01\02\01\02\03\02\01\02\01\02\03\02N:K\02\02\01\00\01\01\01\01\02\01\02\03\02\01\02\01\02\03\02O\07L\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01P;M\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01QQ\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01U?5\01\01\01\00\01\03\03\02\02\02\02\01\01\02\02\02\02\01\01V@R\02\02\01\00\01\03\03\01\01\01\01\01\03\01\01\01\01\01\03WAS\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01XAT\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01YBU\02\02\01\00\01\03\03\01\01\01\01\01\03\01\01\01\01\01\03ZCV\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01[DW\01\04\01\00\01\01\01\01\02\01\02\04\05\01\02\01\02\04\05\\DW\01\05\01\00\01\01\01\01\02\01\02\04\05\01\02\01\02\04\05\\EX\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01]EY\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01^\07Z\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01_F[\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04`G\\\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04a\18-\01\03\01\00\01\01\01\01\02\01\02\01\02\01\02\01\02\01\020\18.\01\03\01\00\01\01\01\01\02\01\02\01\02\01\02\01\02\01\021\180\01\03\01\00\01\01\01\01\02\01\02\01\02\01\02\01\02\01\022H5\01\04\01\00\01\01\01\01\02\01\01\01\05\01\02\01\01\01\057H5\01\05\01\00\01\01\01\01\02\01\01\01\05\01\02\01\01\01\057H5\01\01\01\00\01\01\01\01\01\01\01\02\03\01\01\01\01\02\037I]\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01bI^\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01cJ_\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01d\18-\04\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01-\18.\04\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01.\180\04\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\019K`\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01eLa\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01fLb\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01gL(\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01(Mc\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01hMd\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01iHe\01\01\01\00\01\01\01\01\01\01\01\02\03\01\01\01\01\02\03jNf\01\04\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01kNf\01\05\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01kOg\01\03\01\00\01\01\01\02\03\02\03\03\02\02\03\02\03\03\02lPh\01\01\01\00\01\02\02\01\01\01\01\01\01\01\01\01\01\01\01mQi\01\03\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\01nQj\01\03\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\01oQk\01\03\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\01pR5\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01V\07L\02\02\03\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01PSl\02\02\01\00\01\01\01\01\03\01\03\02\03\01\03\01\03\02\03qSm\02\02\01\00\01\01\01\01\03\01\03\02\03\01\03\01\03\02\03rT\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02#n\02\02\01\00\01\01\01\01\01\01\02\01\01\01\01\01\02\01\01sUo\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01tVp\02\02\01\00\01\01\01\01\02\01\01\03\01\01\02\01\01\03\01uWq\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01vXr\01\01\01\00\01\01\01\02\01\01\01\01\01\02\01\01\01\01\01w%\02\02\02\01\00\01\01\01\01\02\01\02\03\02\01\02\01\02\03\02\02YR\02\02\01\00\01\01\01\01\01\01\01\02\03\01\01\01\01\01\01WZs\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01x", [22 x i16] [i16 0, i16 91, i16 207, i16 212, i16 219, i16 223, i16 224, i16 226, i16 231, i16 236, i16 239, i16 243, i16 246, i16 250, i16 255, i16 261, i16 264, i16 268, i16 271, i16 275, i16 280, i16 286], [407 x i16] [i16 0, i16 5, i16 25, i16 35, i16 66, i16 97, i16 128, i16 159, i16 176, i16 207, i16 238, i16 269, i16 300, i16 331, i16 362, i16 393, i16 424, i16 459, i16 490, i16 521, i16 552, i16 583, i16 601, i16 630, i16 697, i16 720, i16 747, i16 768, i16 785, i16 799, i16 816, i16 821, i16 833, i16 845, i16 859, i16 864, i16 878, i16 883, i16 888, i16 906, i16 911, i16 923, i16 928, i16 933, i16 943, i16 948, i16 953, i16 963, i16 975, i16 980, i16 992, i16 1004, i16 1016, i16 1030, i16 1047, i16 1059, i16 1073, i16 1078, i16 1111, i16 1149, i16 1161, i16 1173, i16 1190, i16 1202, i16 1211, i16 1225, i16 1244, i16 1258, i16 1270, i16 1282, i16 1326, i16 1338, i16 1350, i16 1355, i16 1376, i16 1388, i16 1402, i16 1425, i16 1457, i16 1469, i16 1483, i16 1497, i16 1535, i16 1540, i16 1559, i16 1573, i16 1585, i16 1597, i16 1613, i16 1627, i16 1632, i16 0, i16 10, i16 30, i16 40, i16 51, i16 71, i16 82, i16 102, i16 113, i16 133, i16 144, i16 164, i16 181, i16 192, i16 212, i16 223, i16 243, i16 254, i16 274, i16 285, i16 305, i16 316, i16 336, i16 347, i16 367, i16 378, i16 398, i16 409, i16 429, i16 440, i16 464, i16 475, i16 495, i16 506, i16 526, i16 537, i16 557, i16 568, i16 588, i16 606, i16 615, i16 635, i16 644, i16 658, i16 667, i16 702, i16 711, i16 725, i16 742, i16 752, i16 759, i16 773, i16 778, i16 790, i16 804, i16 826, i16 838, i16 850, i16 869, i16 893, i16 697, i16 916, i16 938, i16 958, i16 968, i16 985, i16 997, i16 1009, i16 1021, i16 1035, i16 1040, i16 1052, i16 1064, i16 1083, i16 1116, i16 1123, i16 1134, i16 1154, i16 1166, i16 1178, i16 1183, i16 1195, i16 1216, i16 1230, i16 1235, i16 1249, i16 1263, i16 1275, i16 1287, i16 1296, i16 1311, i16 1331, i16 1343, i16 1360, i16 1367, i16 1381, i16 1393, i16 1407, i16 1416, i16 1430, i16 1437, i16 1448, i16 1462, i16 1474, i16 1488, i16 1502, i16 1511, i16 1520, i16 1545, i16 1550, i16 1564, i16 1578, i16 1590, i16 1602, i16 1618, i16 1637, i16 0, i16 12, i16 14, i16 1092, i16 30, i16 0, i16 14, i16 12, i16 593, i16 638, i16 649, i16 1095, i16 0, i16 16, i16 168, i16 680, i16 0, i16 0, i16 3, i16 1, i16 18, i16 16, i16 0, i16 793, i16 1, i16 18, i16 16, i16 0, i16 793, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 793, i16 18, i16 16, i16 1, i16 20, i16 18, i16 793, i16 0, i16 16, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 793, i16 18, i16 16, i16 1, i16 20, i16 18, i16 793, i16 0, i16 16, i16 3, i16 22, i16 32, i16 45, i16 58, i16 76, i16 89, i16 107, i16 120, i16 138, i16 151, i16 171, i16 186, i16 199, i16 217, i16 230, i16 248, i16 261, i16 279, i16 292, i16 310, i16 323, i16 341, i16 354, i16 372, i16 385, i16 403, i16 416, i16 434, i16 449, i16 469, i16 482, i16 500, i16 513, i16 531, i16 544, i16 562, i16 575, i16 595, i16 610, i16 622, i16 640, i16 652, i16 662, i16 683, i16 706, i16 715, i16 728, i16 732, i16 737, i16 744, i16 755, i16 763, i16 775, i16 781, i16 795, i16 808, i16 813, i16 829, i16 841, i16 854, i16 873, i16 896, i16 900, i16 919, i16 940, i16 960, i16 971, i16 988, i16 1000, i16 1012, i16 1025, i16 1037, i16 1043, i16 1055, i16 1068, i16 1098, i16 1108, i16 1119, i16 1128, i16 1141, i16 1157, i16 1169, i16 1180, i16 1186, i16 1198, i16 1207, i16 1220, i16 1232, i16 1239, i16 1253, i16 1266, i16 1278, i16 1291, i16 1303, i16 1318, i16 1334, i16 1346, i16 1363, i16 1371, i16 1384, i16 1397, i16 1411, i16 1420, i16 1433, i16 1442, i16 1452, i16 1465, i16 1478, i16 1492, i16 1506, i16 1515, i16 1527, i16 1547, i16 1554, i16 1568, i16 1581, i16 1593, i16 1607, i16 1622, i16 1641], [8250 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\00\00\00\00\01\00\00\00\00\01\00\01\01\01\01\00\01\01\01\01\00\01\00\01\01\01\01\01\01\01\00\00\00\00\00\00\02\02\02\02\02\02\02\02\02\02\02\02\02\02\01\01\01\01\02\01\01\01\01\02\01\02\02\02\02\01\02\02\02\02\01\02\01\02\02\02\02\02\02\00\00\00\00\00\00\00\03\03\03\03\03\03\03\03\03\03\03\03\03\03\02\02\02\02\03\02\02\02\02\03\02\03\03\03\03\02\03\03\03\03\02\03\02\03\03\03\03\03\03\02\00\00\00\00\00\00\04\04\04\04\04\04\04\04\04\04\04\04\04\04\03\03\03\03\04\03\03\03\03\04\03\04\04\04\04\03\04\04\04\04\03\04\03\04\04\04\03\03\03\02\00\00\00\00\00\00\03\03\03\03\03\03\03\03\03\03\03\03\03\05\02\02\02\02\03\02\02\02\02\03\02\03\03\03\03\02\03\03\03\03\02\03\02\03\03\03\03\03\03\02\00\00\00\00\00\00\04\04\04\04\04\04\04\04\04\04\04\04\04\06\03\03\03\03\04\03\03\03\03\04\03\04\04\04\04\03\04\04\04\04\03\04\03\04\04\04\03\03\03\02\00\00\00\00\00\00\04\04\04\04\04\04\04\04\04\04\04\04\04\06\03\03\03\03\04\03\03\03\03\04\03\04\04\04\04\03\04\04\04\04\03\04\03\04\04\04\04\04\04\03\00\00\00\00\00\00\05\05\05\05\05\05\05\03\03\03\03\03\03\05\04\04\04\04\05\04\04\04\04\05\04\05\05\05\05\04\05\05\05\05\04\05\04\05\03\03\03\03\03\02\00\00\00\00\00\00\06\06\06\06\06\06\06\04\04\04\04\04\04\06\05\05\05\05\06\05\05\05\05\06\05\06\06\06\06\05\06\06\06\06\05\06\05\06\04\04\03\03\03\02\00\00\00\00\00\00\00\00\00\00\00\00\00\03\05\03\03\03\05\05\00\00\00\00\00\00\00\00\00\00\00\00\05\05\05\06\07\05\07\05\04\05\04\05\05\05\05\05\05\04\00\00\00\00\00\00\00\00\00\00\00\00\00\04\06\04\04\04\06\06\00\00\00\00\00\00\00\00\00\00\00\00\06\06\06\07\08\06\08\06\05\06\05\06\05\05\05\05\05\04\00\00\00\00\00\00\05\05\05\05\05\05\05\03\03\03\03\03\03\05\04\04\04\04\05\04\04\04\04\05\04\05\05\05\05\04\09\07\05\05\04\05\04\05\03\03\03\03\03\02\00\00\00\00\00\00\06\06\06\06\06\06\06\04\04\04\04\04\04\06\05\05\05\05\06\05\05\05\05\06\05\06\06\06\06\05\0A\08\06\06\05\06\05\06\04\04\03\03\03\02\00\00\00\00\00\00\07\07\07\07\07\07\07\05\07\05\05\05\07\07\06\06\00\00\00\06\06\06\06\01\06\07\07\07\07\08\0B\09\09\07\06\07\06\07\05\05\06\06\01\01\00\00\00\00\00\00\07\07\07\08\08\08\07\06\08\06\06\06\08\08\06\06\00\00\00\07\07\06\06\01\06\07\07\07\07\08\0B\09\09\07\06\07\06\07\05\05\06\06\01\01\00\00\00\00\00\00\08\08\08\09\09\09\08\07\09\07\07\07\09\09\07\07\06\06\07\08\08\07\07\07\07\08\08\08\08\09\0C\0A\0A\08\07\08\07\08\05\05\07\06\01\01\00\00\00\00\00\00\09\09\09\0A\0A\0A\09\08\0A\08\08\08\0A\0A\08\08\07\07\08\09\09\08\08\08\08\09\09\09\09\0A\0D\0B\0B\09\08\09\08\09\05\05\07\06\01\01\00\00\00\00\00\00\0A\0A\0A\0B\0B\0B\0A\09\0B\09\09\09\0B\0B\09\09\08\08\09\0A\0A\09\09\09\09\0A\0A\0A\0A\0B\0E\0C\0C\0A\09\0A\09\0A\05\05\08\07\06\05\00\00\00\00\00\00\0B\0B\0B\0C\0C\0C\0B\0A\0C\0A\0A\0A\0C\0C\0A\0A\09\09\0A\0B\0B\0A\0A\0A\0A\0B\0B\0B\0B\0C\0F\0D\0D\0B\0A\0B\0A\0B\05\05\08\07\06\05\00\00\00\00\00\00\0C\0C\0C\0D\0D\0D\0C\0B\0D\0B\0B\0B\0D\0D\0B\0B\0A\0A\0B\0C\0C\0B\0B\0B\0B\0C\0C\0C\0C\0D\10\0E\0E\0C\0B\0C\0B\0C\06\06\09\08\04\03\00\00\00\00\00\00\0C\0C\0C\0D\0D\0D\0C\0B\0D\0B\0B\0B\0D\0D\0C\0C\0B\0B\0B\0C\0D\0C\0C\0B\0B\0C\0C\0C\0C\0D\10\0E\0E\0C\0C\0D\0C\0D\07\07\09\08\04\03\00\00\00\00\00\00\0D\0D\0D\0E\0E\0E\0D\0C\0E\0C\0C\0C\0E\0E\0D\0D\0C\0C\0C\0D\0E\0D\0D\0C\0C\0D\0D\0D\0D\0E\11\0F\0F\0D\0D\0E\0D\0E\08\08\0A\06\01\06\00\00\00\00\00\00\0E\0E\0E\0F\0F\0F\0E\0D\0F\0D\0D\0D\0F\0F\00\00\00\00\0D\00\00\00\00\01\00\00\0E\0E\0E\00\12\10\10\00\0E\0F\0E\0F\05\05\07\06\01\01\00\00\00\00\00\00\0E\0E\0E\0F\10\0F\0E\0D\0F\0D\0D\0E\0F\0F\00\00\00\00\0D\00\00\00\00\01\00\00\0E\0E\0E\00\12\10\10\00\0E\0F\0E\0F\05\05\07\06\01\01\00\00\00\00\00\00\0F\0F\0F\10\11\10\0F\0E\10\0E\0E\0F\10\10\0E\0E\0D\0D\0E\0E\0F\0E\0E\0D\0D\0E\0F\0F\0F\0F\13\11\11\0E\0F\10\0F\10\05\05\01\01\01\01\00\00\00\00\00\00\0F\0F\0F\10\11\10\0F\0E\10\0E\0E\0F\10\10\0E\0E\0D\0D\0E\0E\0F\0E\0E\0D\0D\0E\0F\0F\10\0F\13\11\11\0E\0F\10\0F\10\05\05\01\01\01\01\00\00\00\00\00\00\10\10\10\11\12\11\10\0F\11\0F\0F\10\11\11\0F\0F\0E\0E\0F\0F\10\0F\0F\0E\0E\0F\10\10\11\10\14\12\12\0F\10\11\10\11\05\05\0B\06\00\07\00\00\00\00\00\00\10\10\11\11\13\12\10\10\12\10\10\11\12\11\0F\10\0F\0E\10\10\11\0F\10\0F\0E\0F\10\11\12\10\15\13\13\0F\11\12\10\11\05\05\0C\06\00\07\00\00\00\00\00\00\11\11\12\12\14\13\11\11\13\11\11\12\13\12\10\11\10\0F\11\11\12\10\11\10\0F\10\11\12\13\11\16\14\14\10\12\13\11\12\05\05\0D\09\01\01\00\00\00\00\00\00\12\12\13\13\15\14\12\12\14\12\12\13\14\13\11\0E\0D\10\12\0E\0F\11\12\11\0D\11\12\13\14\12\17\15\15\11\13\14\12\13\05\05\01\0A\01\01\00\00\00\00\00\00\13\12\13\13\15\14\13\13\14\12\12\13\14\14\11\0E\0D\10\12\0E\0F\11\12\11\0D\11\12\13\14\12\17\15\15\11\13\14\12\13\05\05\01\0A\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\12\00\11\00\11\00\00\00\00\01\00\12\13\14\15\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\13\00\12\00\11\00\00\00\00\01\00\12\14\14\16\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\11\00\11\00\00\00\00\01\00\12\0E\0E\15\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\12\00\11\00\00\00\00\01\00\12\0E\0E\16\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\11\00\11\00\00\00\00\01\00\12\0E\0E\15\00\16\10\10\00\00\01\00\14\05\05\01\06\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\12\00\11\00\00\00\00\01\00\12\0E\0E\16\00\16\10\10\00\00\01\00\14\05\05\01\06\01\01\00\00\00\00\00\00\15\13\15\15\17\16\15\15\16\14\14\15\16\16\14\12\13\11\13\12\13\12\13\12\10\13\15\15\17\13\18\16\16\12\14\15\13\15\05\05\01\02\01\01\00\00\00\00\00\00\16\14\16\16\18\17\16\16\17\15\15\16\17\17\15\13\14\12\14\13\14\13\14\13\11\14\16\16\18\14\19\17\17\13\15\16\14\16\05\05\01\02\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\05\01\01\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\01\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\05\0F\0B\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\10\0C\07\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\04\04\04\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\11\0D\04\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\12\0E\04\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\0F\02\00\00\00\00\00\00\00\17\0D\17\0E\19\18\17\17\18\16\16\17\18\18\00\00\00\00\0D\00\00\14\00\01\00\00\17\17\19\15\1A\18\18\14\16\17\15\17\05\05\13\0B\01\01\00\00\00\00\00\00\18\0D\17\17\1A\19\18\18\19\17\17\18\19\19\16\0E\0D\0D\15\0E\0F\0E\12\0D\0D\15\18\18\1A\0F\1B\19\19\15\17\10\16\18\05\05\01\01\01\01\00\00\00\00\00\00\18\0D\17\18\1A\19\19\18\19\17\18\18\19\1A\16\0E\0D\0D\15\0E\0F\0E\12\0D\0D\15\18\18\1A\0F\1B\19\19\15\17\10\16\18\05\05\01\01\01\01\00\00\00\00\00\00\19\15\18\19\1B\1A\1A\19\1A\18\19\19\1A\1B\17\14\15\13\16\14\15\15\15\14\12\16\19\19\1B\16\1C\1A\1A\11\13\18\12\19\05\05\01\06\01\01\00\00\00\00\00\00\19\15\18\19\1B\1A\1A\1A\1B\19\1A\1A\1A\1C\17\14\16\13\16\14\15\15\15\14\12\16\19\19\1C\16\1C\1A\1A\11\13\18\12\19\05\05\01\06\01\01\00\00\00\00\00\00\1A\16\19\1A\1C\1B\1B\1B\1C\1A\1B\1B\1B\1D\18\15\0D\14\0E\15\16\16\16\15\13\17\1A\1A\1D\17\1D\1B\1B\16\18\19\17\1A\05\05\14\10\01\01\00\00\00\00\00\00\1B\17\1A\1B\1D\1C\1C\1C\1D\1B\1C\1C\1C\1E\19\16\03\15\17\16\17\17\17\16\14\18\1B\1B\04\18\1E\1C\1C\17\19\1A\18\1B\09\09\15\11\00\09\00\00\00\00\00\00\1C\18\1B\1C\1E\1D\1D\1D\1E\1C\1D\1D\1D\1F\1A\17\17\16\18\17\18\18\18\17\15\19\1C\1C\1E\19\1F\1D\1D\18\1A\1B\19\1C\05\05\16\06\01\01\00\00\00\00\00\00\1C\18\1B\1C\1E\1D\1D\1D\1E\1C\1D\1D\1D\1F\1B\18\17\17\19\18\19\19\19\18\15\1A\1C\1C\1E\19\1F\1E\1E\18\1A\1B\19\1C\05\05\16\06\01\01\00\00\00\00\00\00\1D\19\1C\1D\1F\1E\1E\1E\1F\1D\1E\1E\1E \11\0E\0D\10\0E\0E\0F\11\12\11\0D\0E\12\13\1F\1A\1C\15\15\11\13\14\12\1D\05\05\01\12\01\01\00\00\00\00\00\00\1D\1A\1D\1D \1F\1E\1E \1E\1E\1F\1F \11\0E\0D\10\0E\0E\0F\11\12\11\0D\0E\12\13\1F\1B\1C\15\15\11\13\14\12\1D\05\05\01\12\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\01\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\01\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\0B\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\0B\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\13\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\13\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\06\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\06\01\01\00\00\00\00\00\00\1E\1B\1E\1E\22 \22 !!\22\1C\1B\18\19\1A\19\1B\1C\1A\19\16\1D\1E\1F \1D \1B\1C\1D\1A \05\05\01\09\01\01\00\00\00\00\00\00\1E\1B\1F\1F# !#!!\22\22#\1C\1B\19\19\1A\19\1C\1D\1B\1A\16\1D\1F\1F!\1E! !\1C\1D\1E\1B!\05\05\01\09\01\01\00\00\00\00\00\00\1F\1C $!!\22$\22\22##$\1D\1C\1A\1A\1B\1A\1D\1E\1C\1B\17\1E \22\1F\22!\22\1D\1E\1F\1C\22\05\05\01\01\01\01\00\00\00\00\00\00\1F\1C $!!#$#\22##$\1D\1C\1B\1A\1C\1A\1D\1F\1C\1B\17\1F #\1F#\22\22\1E\1E\1F\1C#\05\05\01\01\01\01\00\00\00\00\00\00 \1D!!%\22\22$%$#$$%\1E\00\00\1B\11\1B\1E \1D\1C\00\00!!$ $##\1F\1F \15\17\05\05\01\01\01\01\00\00\00\00\00\00 \1D!\22%\22#$%$$$$&\1E\00\00\1B\11\1C\1E \1D\1C\00\00!!$ $$#\1F\1F \15\17\05\05\01\01\01\01\00\00\00\00\00\00!\1E\22#&#$%&%%%%'\1F\1D\1C\1C\1D\1D\1F!\1E\1D\18 \22\22%!%%$ !\1D$\05\05\01\01\01\01\00\00\00\00\00\00\22\1F#$'$%&'&&&&( \1E\1D\1D\1E\1E \22\1F\1E\19!##&\22&&%!!\22\1E%\00\00\17\01\00\0A\00\00\00\00\00\00# $%(%&'('''')!\1F\1E\1E\1F\1F!# \1F\1A\22$$'#''&\22\22#\1F&\00\00\17\01\00\0A\00\00\00\00\00\00$!%&)&'()((((*\22 \1F\1F \22$! \1B#%%($(('##$ '\0A\0A\09\08\04\03\00\00\00\00\00\00\0E\0E\0E\0F\0F\0F\0E\0D\0F\0D\0D\0D\0F\0F#! !!#%\22!\1C$&&)%))($$%!(\05\05\07\06\01\01\00\00\00\00\00\00\0E\0E\0E\0F\10\0F\0E\0D\0F\0D\0D\0E\0F\0F#!! !!#%\22!\1C$''*%))($$%!(\05\05\07\06\01\01\00\00\00\00\00\00%\22&'*'()*))))+\11\0E\22!\22\22$\11#\11\0D\11((+&**)%%&\12\13\05\05\18\0B\08\0B\00\00\00\00\00\00%\22&'*'(*+))**+\11\0E#\22##%\11#\11\0D\11)),'++*%%'\12\13\05\05\18\0B\08\0B\00\00\00\00\00\00&#'(+()+,**++,$\22$#$$&&$\22\1D%**-(,,+&&(\22)\05\05\0E\00\02\01\00\00\00\00\00\00'$(),)*,-++,,-%#%$%%''%#\1E&++.)--,'')#*\05\05\0E\00\02\01\00\00\00\00\00\00(%)*-*+-.,,--.\00$\00\00\01\00\00(\00\01\00\01,,/\00\01\10\10(\00\01\00\01\05\05\0E\01\01\01\00\00\00\00\00\00\00&*+.+,./--../\00\00\00\00&&()\00\01\1F\01--0*..-)\00*$\01\0B\0B\19\14\01\01\00\00\00\00\00\00\00'+,.,,.0...//\00\00\00\00'')*\00\01 \01..0+//.*\00+%\01\0B\0B\19\14\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/1///0\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\13\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/20001\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\13\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/1///0\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\02\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/20001\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\02\01\01\00\00\00\00\00\00)(,-0--0311120&%&%))++&%!'001-110+)-&,\0C\0C\1A\15\09\0C\01\00\01\01\01\00*)-.1..1422231'&'&**,,'&\22(112.221,*.'-\05\05\1B\0F\01\01\00\00\00\00\00\00+*./2//2533342('('++--('#)223/332-+/(.\05\05\1C\0F\01\01\00\00\00\00\00\00,+\1703003644453\11\0E\0D\10\12\0E\0F\11\12\11\0D\1133404\15\15.,0)/\05\05\01\16\01\01\00\00\00\00\00\00-,/14114755564)()(,,..)($*4451543/-1*0\0D\0D\1D\17\0A\0D\00\00\00\00\00\00\11\1D025\13\115866675*)*\0F--\12/*)%+55626540.2+1\05\05\01\01\01\01\00\00\00\00\00\00.-136226977786+*+)../0+*&,66737651/3,2\05\05\1E\18\01\01\00\00\00\00\00\00.-136236978787+*+)../0+*&,6674875203-3\05\05\1E\18\01\01\00\00\00\00\00\00/.247347:89898\11\0E\0D\10\0E/0\11\12\11\0D\1177\145986314.4\05\05\1F\19\01\01\00\00\00\00\00\00//358358:8:898\11\0E\0D\10\0E01\11\12\11\0D\1188\146997314.4\05\05\1F\19\01\01\00\00\00\00\00\000\01469469;9;9:9,+,*/121,+'-9987::8425/5\05\05 \01\01\01\00\00\00\00\00\000\0156:47:;:;:::,+,*/131,+'-:998::952605\05\05 \01\01\01\00\00\00\00\00\001067;58;<;<;;;-,-+0242-,(.;::9;;:63716\05\05!\06\01\01\00\00\00\00\00\002178<69<\0C\0A=<<<.\0A\09\09135\0A\0A\0A\0A\0B<\0B\0B\0C<<;\0B\0A\0B\0A\0B\05\05!\06\01\01\00\00\00\00\00\003289=7:==<>===/-\1F,2 63.-)/=;(:=(<74827\0E\0E\09\08\04\03\00\00\00\00\00\0043)*>*+>>,,>>.\00\00.\00\01\00\004\00\01\000,<;\00\01==8\00\01\008\05\05\09\08\04\03\00\00\00\00\00\00549:?8;??=???>\00.\00\003475\1D.\001>=<\00>>>95939\05\05\22\1A\04\03\00\00\00\00\00\00649:@9;@?=@@@>\00.\00\003575\1D.\002>=<\00>?>9593:\05\05\22\1A\04\03\00\00\00\00\00\007\18:;A:AAA?\11\0E/\104\0E\0F\11\12\11\0D\1133=\12?\15\15:\13\14\12\13\05\05\01\1B\01\01\00\00\00\00\00\0085;\0F;\1C@?;\0F\1C\0F;\05\05\01\06\01\01\00\00\00\00\00\00\17\0D\17=D\18\17CC@\0ED\10A\0E\0E\0D\0D\0E\0E\0F7\0E\0D\0D\11@?\10;\1C@?<\0F\1C\0F;\05\05\01\06\01\01\00\00\00\00\00\0097<>E<>DDACECB0/\0D-\12688//\0E3A@><\17A@=6:\10<\05\05\01\0B\01\01\00\00\00\00\00\0097DEADEDB0/\0D-\12688/0\0E3B@>=\17A@>7;\10=\05\05\01\0B\01\01\00\00\00\00\00\00 8=@F>\22\18FBEFE\19\00\06\00\1B\11\00\00 \1D\1C\00\12CA?\0F@BA\158<4>\05\05\01\0A\01\01\00\00\00\00\00\00 8=@F>#\18FCEFE\1A\00\06\00\1B\11\00\00 \1D\1C\00\12CA@\0F@BA\158<4>\05\05\01\0A\01\01\00\00\00\00\00\00 8=@F>\22$GDFGF%\00\06\00\1B\11\00\00 \1D\1C\00\12DBA $CB\1F\1F \15?\05\05\01\0A\01\01\00\00\00\00\00\00 8=@F>#$GEFGF&\00\06\00\1B\11\00\00 \1D\1C\00\12DBB $CB\1F\1F \15?\05\05\01\0A\01\01\00\00\00\00\00\00:9>AG??EHFGHGC1\0E\0D\10\0E79\11\12\0D\0D\11E\01C>\16DC\009=5@\05\05\01\0B\01\01\00\00\00\00\00\00:9>AG?@FHGGHGD1\0E\0D\10\0E79\11\12\0D\0D\11E\01C>\16DC\009=5@\05\05\01\0B\01\01\00\00\00\00\00\00;:?BH@AGIHHIHE200.58:901*4FCD?AED?:>6A\05\05\07\06\01\01\00\00\00\00\00\00<;@CIABHJIIJIF311/69;:12+5GDE@BFE@;?7B\05\05\07\06\01\01\00\00\00\00\00\00=B:E\05\05\07\06\01\01\00\00\00\00\00\00>=DDKCEJLKKLKH53318;=<34-7KHIDFJID?C;F\05\05%\0B\01\01\00\00\00\00\00\00\10\10E\11LD\10KMLLML\11\11\0E\0D\10\22\22$\11\12\11\0D\11((J\1AGKJ\11\13&\12\13\05\05\0B\06\00\07\00\00\00\00\00\00\10\10E\11MD\10LMLLNL\11\11\0E\0D\10##%\11\12\11\0D\11))J\1BHLK\11\13'\12\13\05\05\0C\06\00\07\00\00\00\00\00\00?7FENE>MNMMOMB\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13J\12\17MLE\13\14\12\13\05\05\01\06\01\01\00\00\00\00\00\00?7FEOE>MNMMPMB\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13J\12\17MLE\13\14\12\13\05\05\01\06\01\01\00\00\00\00\00\00@>GFPFFNONNQNI\004\002\0D<>>45.8LI\1FE\17NMF@D>45/8LI\1FE\17NMF@D=G\0F\0F&\1D\0C\0E\00\00\00\00\00\00?7HENEGMQPMROK\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13\07\12\17\15\15EAE>H\05\05\01\1E\01\01\00\00\00\00\00\00?7HEOEGMQPMSOK\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13\07\12\17\15\15EAE>H\05\05\01\1E\01\01\00\00\00\00\00\0010I7;5HORQ@@673RONILTSKGKDN\00\00)\1F\00\00\03\00\02\00\03\02GFP\02UKPWZX\02ZVT:;87=ACC9:6?SPOJMUTLHLEO\12\12*\02\02\00\00\00\00\00\00\00GFP\02UKPWZX\02ZVT\01\01\01\01\02\01\01\01\01\02\01\02\02\02\02\01\02\02\02\02\01\02\01\02\12\12*\02\02\00\00\00\00\00\00\00H\1D!LVL+X[$T[WU;$\00\1B\00BD \00\0170TQP NVU\1FIMFP\00\00\0E\00\02\00\00\00\00\00\00\00IGQMWMQY\\YU\\XV<<\008\00CED:;8@UR\0EKOWVMJNGQ\13\13\01\0A\01\00\00\00\00\00\00\00IGQNXMQY\\ZV]XV<=\008\00CEE:;8@US\0EKPWVNKNHR\14\14\01\0A\01\00\00\00\00\00\00\00JHROYNRZ][W^YW42207:<;23,6HEFACGFA<@8C\05\05\07\06\01\01\00\00\00\00\00\00K:?BH@A[^\\X_ZX=>99>DFF;<9AVTQLQXWOLOIS\05\05\07\06\01\01\00\00\00\00\00\00L\08::\08EGG<=:BWURM\0DYXPMPJT\05\05\07\06\01\01\00\00\00\00\00\00MISPZOS]`^Za\1CY??;;?FHH=>;CXVSNRZYQNQKU\04\15+\02\00\0F\00\00\00\00\00\00NJTQ[PT^a_[b\\Z@\06\00\00\00GII\06\01\06\07\07\07\07\08\0B\09\09EO\07\06\07\05\05,\01\01\01\00\00\00\00\00\00OKUR\\QU_b`\\c][A@<<@HJJ>?\18\15IKK\0E\0D>\11[YVP\0B\\[SQTNW\00\00.\02\00\00\00\00\00\00\00\00RMXS^SWbdc^e_(CB?=AJLL?@?E\\ZWQT&%TRUO%\00\00\17\01\00\0A\00\00\00\00\00\00SNYT_TXced_f`)DC@>BKMM@A@F][XRU'&USVP&\00\00\17\01\00\0A\00\00\00\00\00\00)OZU`UYdfe`ga]&%&%))++&%!'^\\YSV]\\VTWQX\15\16/\15\0E\10\00\00\00\00\00\00)OZU`UYdfe`ga]EDA?CLNNA%!'^\\YSV]\\VTWQX\15\160 \0F\11\00\00\00\00\00\00TP[VaVZdfe`ga]FEB@DMOOBBAG^\\YSV]\\VTWQX\15\161\15\10\01\00\00\00\00\00\00)OZU`UYegfahb^&%&%))++&%!'^\\YSV]\\VTWQX\15\162!\09\12\00\00\00\00\00\00", [50 x i16] [i16 0, i16 85, i16 166, i16 258, i16 345, i16 443, i16 530, i16 621, i16 723, i16 827, i16 930, i16 1028, i16 1133, i16 1232, i16 1327, i16 1398, i16 1468, i16 1535, i16 1600, i16 1669, i16 1747, i16 1827, i16 1907, i16 1974, i16 2041, i16 2107, i16 2179, i16 2274, i16 2367, i16 2457, i16 2541, i16 2628, i16 2722, i16 2815, i16 2902, i16 2987, i16 3075, i16 3157, i16 3246, i16 3268, i16 3291, i16 3342, i16 3376, i16 3393, i16 3412, i16 3416, i16 3417, i16 3420, i16 3422, i16 3426], [3429 x i16] [i16 1, i16 273, i16 463, i16 844, i16 1101, i16 858, i16 1122, i16 1977, i16 2348, i16 2594, i16 3018, i16 3253, i16 3606, i16 4397, i16 4635, i16 4806, i16 5023, i16 5441, i16 5662, i16 5858, i16 5884, i16 6040, i16 6288, i16 6938, i16 7125, i16 7310, i16 7573, i16 7838, i16 8226, i16 8624, i16 9025, i16 9539, i16 9921, i16 10130, i16 10434, i16 10640, i16 10937, i16 11606, i16 11946, i16 12190, i16 12640, i16 13317, i16 14931, i16 15189, i16 6952, i16 16066, i16 16636, i16 17024, i16 17365, i16 17819, i16 18049, i16 18224, i16 18661, i16 18735, i16 18983, i16 19067, i16 19176, i16 19479, i16 4589, i16 20213, i16 20433, i16 20653, i16 21280, i16 21712, i16 21810, i16 22607, i16 22680, i16 22719, i16 23133, i16 23665, i16 24019, i16 24674, i16 25025, i16 25183, i16 25483, i16 25641, i16 25844, i16 26175, i16 26395, i16 26524, i16 26932, i16 27130, i16 27204, i16 27426, i16 27844, i16 5, i16 276, i16 473, i16 846, i16 1104, i16 864, i16 1133, i16 1981, i16 2352, i16 2601, i16 3021, i16 3258, i16 3616, i16 4401, i16 4639, i16 4809, i16 5026, i16 5445, i16 5666, i16 6044, i16 6295, i16 7312, i16 7577, i16 7842, i16 8229, i16 8628, i16 8755, i16 9030, i16 9544, i16 9925, i16 10134, i16 10437, i16 10644, i16 10948, i16 11608, i16 11950, i16 12197, i16 2107, i16 12746, i16 12967, i16 13321, i16 14935, i16 15199, i16 15853, i16 16070, i16 16639, i16 17027, i16 17267, i16 17823, i16 18056, i16 18234, i16 18665, i16 18739, i16 19180, i16 19307, i16 19483, i16 19792, i16 20029, i16 20217, i16 20437, i16 20660, i16 21285, i16 21815, i16 22082, i16 22611, i16 22685, i16 22723, i16 23143, i16 23669, i16 24027, i16 24687, i16 25187, i16 25490, i16 26186, i16 4589, i16 26528, i16 26936, i16 27209, i16 27434, i16 27820, i16 27854, i16 9, i16 279, i16 480, i16 848, i16 1107, i16 872, i16 1148, i16 1985, i16 2356, i16 2608, i16 3024, i16 3263, i16 3626, i16 4405, i16 4643, i16 4812, i16 5029, i16 5255, i16 5449, i16 5670, i16 5888, i16 6048, i16 6302, i16 4895, i16 7314, i16 7581, i16 7846, i16 8232, i16 8632, i16 8760, i16 9035, i16 9301, i16 9549, i16 94, i16 10138, i16 10440, i16 10648, i16 10959, i16 11610, i16 11954, i16 12204, i16 12644, i16 12750, i16 12972, i16 13325, i16 14939, i16 15209, i16 16074, i16 16408, i16 16642, i16 17030, i16 17271, i16 17368, i16 17659, i16 17827, i16 18063, i16 18244, i16 18743, i16 19070, i16 19184, i16 19487, i16 19796, i16 276, i16 20221, i16 20441, i16 20667, i16 21048, i16 21132, i16 21290, i16 21635, i16 5678, i16 21820, i16 22151, i16 22255, i16 22391, i16 22615, i16 22727, i16 23153, i16 23672, i16 24032, i16 24697, i16 25191, i16 25497, i16 26193, i16 26399, i16 26534, i16 26940, i16 27135, i16 27215, i16 27444, i16 27824, i16 27864, i16 13, i16 282, i16 493, i16 850, i16 1110, i16 881, i16 1165, i16 1989, i16 2221, i16 2360, i16 2615, i16 3027, i16 3268, i16 3639, i16 4409, i16 4647, i16 4815, i16 5032, i16 5453, i16 5674, i16 5892, i16 6052, i16 6309, i16 7129, i16 7281, i16 7316, i16 7585, i16 7850, i16 8235, i16 8636, i16 9041, i16 9308, i16 9553, i16 9929, i16 10091, i16 10142, i16 10443, i16 10652, i16 10973, i16 11612, i16 11958, i16 12211, i16 12648, i16 12754, i16 12977, i16 13329, i16 14943, i16 15219, i16 15857, i16 16078, i16 16412, i16 16645, i16 17033, i16 17275, i16 17371, i16 17831, i16 18070, i16 18257, i16 18747, i16 19073, i16 19188, i16 19339, i16 19491, i16 19686, i16 19800, i16 20032, i16 20225, i16 20445, i16 21295, i16 21716, i16 21825, i16 22088, i16 22731, i16 23166, i16 23675, i16 24037, i16 25029, i16 25195, i16 25381, i16 25504, i16 26202, i16 26402, i16 26540, i16 27220, i16 27452, i16 27828, i16 27874, i16 17, i16 285, i16 503, i16 852, i16 1113, i16 890, i16 1182, i16 1993, i16 2228, i16 2364, i16 2622, i16 3030, i16 3273, i16 3649, i16 4413, i16 4651, i16 4791, i16 4818, i16 5035, i16 5259, i16 5457, i16 5678, i16 5896, i16 6056, i16 6316, i16 6942, i16 7133, i16 7318, i16 7589, i16 7854, i16 8238, i16 8640, i16 8765, i16 8827, i16 9046, i16 9314, i16 9557, i16 9933, i16 10147, i16 10446, i16 10656, i16 10984, i16 11616, i16 11962, i16 12218, i16 12652, i16 12758, i16 13129, i16 13333, i16 14947, i16 15229, i16 15861, i16 16082, i16 16416, i16 16648, i16 17036, i16 17279, i16 17374, i16 17663, i16 17835, i16 18077, i16 18267, i16 18669, i16 18751, i16 18988, i16 19076, i16 19192, i16 19343, i16 19437, i16 19495, i16 19804, i16 20035, i16 20229, i16 20449, i16 20674, i16 21300, i16 21638, i16 16919, i16 21720, i16 21796, i16 21830, i16 22735, i16 23176, i16 23678, i16 24042, i16 24707, i16 25033, i16 25199, i16 25387, i16 25513, i16 26209, i16 26406, i16 26546, i16 26944, i16 27225, i16 27460, i16 27832, i16 27884, i16 21, i16 288, i16 513, i16 854, i16 1116, i16 897, i16 1195, i16 1997, i16 2233, i16 2368, i16 2629, i16 3033, i16 3278, i16 3674, i16 4417, i16 4655, i16 4821, i16 5038, i16 5263, i16 5461, i16 5682, i16 5900, i16 6060, i16 6323, i16 6948, i16 7137, i16 7320, i16 7593, i16 7858, i16 8241, i16 8644, i16 8770, i16 9051, i16 9562, i16 9937, i16 10152, i16 10449, i16 10660, i16 10998, i16 11619, i16 11966, i16 12225, i16 12656, i16 12762, i16 12982, i16 13337, i16 14951, i16 15239, i16 15865, i16 16086, i16 16651, i16 17039, i16 17378, i16 17839, i16 18084, i16 18280, i16 18755, i16 18993, i16 19079, i16 19196, i16 19499, i16 19691, i16 19808, i16 20038, i16 20233, i16 20453, i16 20681, i16 21305, i16 21641, i16 21724, i16 21835, i16 22735, i16 23189, i16 23682, i16 24050, i16 24717, i16 25037, i16 25203, i16 25522, i16 7946, i16 26410, i16 26552, i16 26948, i16 27231, i16 27470, i16 27836, i16 27894, i16 25, i16 291, i16 523, i16 856, i16 1119, i16 1448, i16 1454, i16 2001, i16 2372, i16 2636, i16 3036, i16 3283, i16 3690, i16 4421, i16 4659, i16 4824, i16 273, i16 5465, i16 5686, i16 5863, i16 5904, i16 6064, i16 6330, i16 6952, i16 7141, i16 7286, i16 7322, i16 7597, i16 7862, i16 8244, i16 8648, i16 8831, i16 9057, i16 9567, i16 9941, i16 10096, i16 10156, i16 10452, i16 10664, i16 11015, i16 11621, i16 11970, i16 12232, i16 12660, i16 12766, i16 13341, i16 14955, i16 15249, i16 15869, i16 16090, i16 16654, i16 16919, i16 17042, i16 17283, i16 17381, i16 17668, i16 17843, i16 18091, i16 18296, i16 18759, i16 19082, i16 19200, i16 19503, i16 20041, i16 20181, i16 20237, i16 20457, i16 20688, i16 21052, i16 21310, i16 21840, i16 22155, i16 22259, i16 22398, i16 22619, i16 22690, i16 22727, i16 23205, i16 23685, i16 24055, i16 24727, i16 25207, i16 25529, i16 26222, i16 26413, i16 26558, i16 26952, i16 10488, i16 10728, i16 27840, i16 27904, i16 29, i16 294, i16 463, i16 858, i16 1122, i16 2005, i16 2238, i16 2376, i16 2643, i16 3039, i16 3288, i16 3700, i16 4397, i16 4663, i16 4827, i16 5041, i16 5267, i16 5441, i16 5690, i16 5868, i16 5908, i16 6068, i16 6337, i16 6956, i16 7145, i16 7324, i16 7502, i16 7601, i16 7866, i16 8247, i16 8652, i16 8835, i16 9062, i16 9320, i16 9572, i16 9820, i16 9945, i16 10160, i16 10455, i16 10668, i16 11026, i16 11625, i16 11815, i16 11974, i16 12239, i16 12664, i16 12770, i16 13133, i16 13345, i16 14959, i16 15259, i16 15873, i16 16094, i16 16420, i16 16657, i16 17045, i16 17287, i16 17384, i16 17672, i16 17847, i16 18098, i16 18306, i16 18673, i16 18763, i16 18998, i16 19085, i16 19205, i16 19347, i16 19507, i16 20044, i16 20185, i16 20241, i16 20461, i16 20695, i16 21315, i16 21644, i16 21695, i16 21728, i16 21845, i16 22263, i16 22405, i16 22623, i16 22695, i16 22739, i16 23215, i16 23688, i16 24060, i16 24674, i16 25041, i16 25211, i16 25536, i16 25645, i16 25851, i16 26175, i16 26417, i16 26564, i16 26956, i16 27140, i16 27238, i16 27482, i16 27844, i16 28220, i16 36, i16 301, i16 473, i16 864, i16 1133, i16 1792, i16 1878, i16 2016, i16 2251, i16 2384, i16 2658, i16 3046, i16 3301, i16 3719, i16 4401, i16 4672, i16 4836, i16 5048, i16 5275, i16 5469, i16 5697, i16 5916, i16 6076, i16 6352, i16 6965, i16 7153, i16 7333, i16 7513, i16 7609, i16 7882, i16 8257, i16 8663, i16 8775, i16 8844, i16 9075, i16 9334, i16 9584, i16 9953, i16 10169, i16 10461, i16 10679, i16 11046, i16 11634, i16 11825, i16 11981, i16 12252, i16 12671, i16 12781, i16 12987, i16 13142, i16 13271, i16 13355, i16 14965, i16 15275, i16 15880, i16 16104, i16 16427, i16 16669, i16 17055, i16 17391, i16 17854, i16 18325, i16 18678, i16 18771, i16 19092, i16 19213, i16 19312, i16 19355, i16 19517, i16 19696, i16 19812, i16 19936, i16 20053, i16 20253, i16 20473, i16 20718, i16 21327, i16 21651, i16 21736, i16 21853, i16 22094, i16 22159, i16 22270, i16 22417, i16 22630, i16 22703, i16 22758, i16 23237, i16 23696, i16 24082, i16 24687, i16 25048, i16 25217, i16 25551, i16 25652, i16 25864, i16 26186, i16 26427, i16 26579, i16 26964, i16 27245, i16 27495, i16 27854, i16 28227, i16 43, i16 309, i16 480, i16 872, i16 1148, i16 2028, i16 2264, i16 2395, i16 2679, i16 3057, i16 3322, i16 3738, i16 4425, i16 4684, i16 4844, i16 5056, i16 5285, i16 5474, i16 5704, i16 5923, i16 6084, i16 6367, i16 6971, i16 7159, i16 7343, i16 7524, i16 7620, i16 7895, i16 8267, i16 8673, i16 8786, i16 8850, i16 9084, i16 9344, i16 9592, i16 9833, i16 9958, i16 10177, i16 10465, i16 10686, i16 11066, i16 11640, i16 11992, i16 12273, i16 12677, i16 12791, i16 12998, i16 13149, i16 13279, i16 13365, i16 14974, i16 15300, i16 15895, i16 16114, i16 16434, i16 16681, i16 17065, i16 17396, i16 17680, i16 17865, i16 18344, i16 18780, i16 19100, i16 19221, i16 19362, i16 19530, i16 19820, i16 19922, i16 19944, i16 20015, i16 20058, i16 20195, i16 20265, i16 20485, i16 20741, i16 21338, i16 21660, i16 21747, i16 21861, i16 22104, i16 22170, i16 22280, i16 22436, i16 22637, i16 22780, i16 23259, i16 23703, i16 24101, i16 24697, i16 25227, i16 25392, i16 25566, i16 25662, i16 25883, i16 26193, i16 26436, i16 26591, i16 26970, i16 27149, i16 27253, i16 27510, i16 27864, i16 28234, i16 51, i16 317, i16 493, i16 881, i16 1165, i16 2039, i16 2276, i16 2403, i16 2694, i16 3065, i16 3337, i16 3760, i16 4432, i16 4691, i16 4852, i16 5062, i16 5293, i16 5481, i16 5712, i16 5932, i16 6090, i16 6378, i16 6977, i16 7166, i16 7291, i16 7353, i16 7535, i16 7630, i16 7911, i16 8275, i16 8682, i16 8856, i16 9093, i16 9355, i16 9600, i16 9965, i16 10101, i16 10185, i16 10471, i16 10697, i16 11089, i16 11645, i16 12002, i16 12292, i16 12684, i16 12803, i16 13012, i16 13157, i16 13288, i16 13375, i16 14984, i16 15328, i16 15909, i16 16124, i16 16443, i16 16693, i16 16923, i16 17074, i16 17298, i16 17402, i16 17873, i16 18111, i16 18344, i16 18790, i16 19007, i16 19108, i16 19229, i16 19537, i16 19710, i16 19826, i16 19950, i16 20064, i16 20273, i16 20493, i16 20756, i16 21351, i16 21667, i16 21753, i16 21870, i16 22114, i16 22805, i16 23284, i16 23710, i16 24120, i16 25054, i16 25232, i16 25398, i16 25581, i16 25671, i16 25900, i16 26202, i16 26445, i16 26602, i16 26976, i16 27261, i16 27525, i16 27874, i16 28241, i16 61, i16 326, i16 503, i16 890, i16 1182, i16 2050, i16 2292, i16 2410, i16 2707, i16 3071, i16 3348, i16 3779, i16 4441, i16 4699, i16 4796, i16 4861, i16 5069, i16 5301, i16 5457, i16 5719, i16 5941, i16 6098, i16 6393, i16 6986, i16 7176, i16 7363, i16 7546, i16 7641, i16 7928, i16 8287, i16 8692, i16 8796, i16 8865, i16 9105, i16 9369, i16 9610, i16 9974, i16 10193, i16 10477, i16 10708, i16 11109, i16 11652, i16 11833, i16 12013, i16 12313, i16 12689, i16 12816, i16 13167, i16 13299, i16 13385, i16 14994, i16 15356, i16 15925, i16 16134, i16 16453, i16 16706, i16 17084, i16 17410, i16 17687, i16 17879, i16 18122, i16 18366, i16 18684, i16 18799, i16 19017, i16 19117, i16 19237, i16 19369, i16 19442, i16 19543, i16 19833, i16 19957, i16 20073, i16 20279, i16 20499, i16 20767, i16 21363, i16 21674, i16 21703, i16 21759, i16 21801, i16 21881, i16 22177, i16 22245, i16 22287, i16 22449, i16 22821, i16 23306, i16 23714, i16 24130, i16 24707, i16 25065, i16 25241, i16 25409, i16 25600, i16 25678, i16 25913, i16 26209, i16 26456, i16 26614, i16 26984, i16 27269, i16 27540, i16 27884, i16 28248, i16 70, i16 336, i16 513, i16 897, i16 1195, i16 1800, i16 1893, i16 2063, i16 2309, i16 2417, i16 2720, i16 3081, i16 3367, i16 3813, i16 4446, i16 4708, i16 4868, i16 5077, i16 5310, i16 5489, i16 5727, i16 5952, i16 6105, i16 6406, i16 6994, i16 7183, i16 7373, i16 7650, i16 7946, i16 8295, i16 8701, i16 8806, i16 8871, i16 9115, i16 9380, i16 9620, i16 9980, i16 10201, i16 10483, i16 10719, i16 11132, i16 11662, i16 11846, i16 12023, i16 12332, i16 12695, i16 12828, i16 13026, i16 13175, i16 13308, i16 13395, i16 15004, i16 15384, i16 15940, i16 16144, i16 16460, i16 16721, i16 17096, i16 17416, i16 17888, i16 18139, i16 18388, i16 18691, i16 18808, i16 19027, i16 19127, i16 19246, i16 19552, i16 19717, i16 19840, i16 19964, i16 20077, i16 20287, i16 20507, i16 20782, i16 21373, i16 21682, i16 21767, i16 21890, i16 22186, i16 22296, i16 22466, i16 22843, i16 23331, i16 23723, i16 24155, i16 24717, i16 25073, i16 25250, i16 25619, i16 25685, i16 25926, i16 26466, i16 26627, i16 26990, i16 27280, i16 27561, i16 27894, i16 28255, i16 77, i16 343, i16 523, i16 904, i16 1208, i16 1448, i16 1454, i16 2075, i16 2323, i16 2425, i16 2735, i16 3087, i16 3378, i16 3838, i16 4453, i16 4714, i16 4878, i16 5083, i16 5496, i16 5734, i16 5876, i16 5960, i16 6115, i16 6425, i16 7003, i16 7191, i16 7302, i16 7379, i16 7557, i16 7659, i16 7955, i16 8305, i16 8714, i16 8880, i16 9125, i16 9391, i16 9629, i16 9987, i16 10111, i16 10210, i16 10488, i16 10728, i16 11158, i16 11669, i16 12030, i16 12345, i16 12701, i16 12839, i16 13405, i16 15014, i16 15412, i16 15956, i16 16154, i16 16470, i16 16734, i16 16937, i16 17107, i16 17424, i16 17694, i16 17894, i16 18150, i16 18413, i16 18818, i16 19135, i16 19254, i16 19376, i16 19559, i16 20084, i16 20202, i16 20295, i16 20515, i16 20797, i16 21383, i16 21900, i16 22127, i16 22192, i16 22302, i16 22477, i16 22644, i16 22711, i16 22862, i16 23359, i16 23729, i16 24171, i16 24727, i16 25082, i16 25255, i16 25630, i16 25694, i16 26222, i16 26471, i16 26640, i16 26997, i16 27904, i16 28262, i16 86, i16 533, i16 911, i16 1220, i16 1532, i16 1624, i16 2087, i16 2432, i16 2748, i16 3094, i16 3391, i16 3857, i16 4013, i16 4460, i16 4887, i16 5090, i16 5503, i16 5741, i16 5968, i16 6016, i16 6123, i16 6440, i16 7198, i16 7387, i16 7669, i16 7964, i16 8314, i16 8518, i16 9137, i16 9641, i16 9994, i16 10217, i16 10492, i16 10735, i16 11178, i16 11432, i16 12036, i16 12356, i16 13415, i16 15021, i16 15431, i16 16164, i16 16480, i16 16746, i16 17432, i16 17901, i16 18163, i16 18432, i16 19566, i16 20092, i16 20303, i16 20523, i16 20812, i16 21394, i16 22872, i16 23381, i16 23735, i16 24187, i16 24737, i16 25089, i16 25265, i16 25701, i16 25942, i16 26231, i16 26478, i16 26654, i16 27003, i16 27289, i16 27578, i16 13487, i16 27914, i16 90, i16 543, i16 915, i16 1227, i16 1545, i16 1648, i16 2091, i16 2436, i16 2755, i16 3098, i16 3398, i16 3867, i16 4038, i16 4465, i16 4891, i16 5094, i16 5317, i16 5507, i16 6127, i16 6447, i16 7393, i16 7673, i16 7971, i16 8321, i16 8526, i16 8887, i16 8974, i16 9141, i16 9645, i16 10224, i16 10496, i16 10742, i16 11194, i16 11436, i16 12040, i16 12363, i16 12707, i16 13421, i16 15025, i16 15441, i16 16170, i16 16484, i16 16750, i16 17437, i16 17905, i16 18457, i16 18826, i16 19570, i16 20307, i16 20527, i16 20819, i16 21401, i16 21910, i16 22309, i16 22490, i16 22888, i16 23397, i16 23740, i16 24196, i16 24744, i16 25269, i16 25419, i16 25705, i16 26242, i16 26660, i16 27007, i16 27295, i16 27588, i16 13492, i16 27921, i16 94, i16 553, i16 919, i16 1234, i16 1550, i16 1657, i16 2440, i16 2762, i16 3102, i16 3405, i16 3877, i16 4069, i16 4470, i16 4895, i16 5098, i16 5322, i16 5449, i16 5972, i16 6021, i16 6131, i16 6454, i16 7399, i16 7566, i16 8328, i16 9147, i16 9404, i16 9649, i16 9842, i16 10232, i16 10500, i16 10749, i16 11213, i16 11440, i16 11574, i16 11677, i16 11854, i16 12044, i16 12370, i16 13427, i16 15029, i16 15451, i16 16176, i16 5453, i16 16754, i16 17441, i16 17909, i16 18698, i16 19144, i16 20311, i16 20531, i16 20826, i16 21406, i16 22913, i16 23422, i16 23745, i16 24205, i16 24754, i16 25709, i16 25949, i16 26253, i16 26666, i16 27011, i16 27156, i16 27301, i16 27598, i16 13497, i16 27928, i16 98, i16 563, i16 923, i16 1241, i16 1555, i16 1666, i16 2444, i16 2769, i16 3106, i16 3412, i16 3887, i16 4085, i16 4475, i16 4899, i16 5102, i16 5511, i16 5745, i16 6135, i16 6461, i16 7405, i16 7677, i16 7978, i16 8335, i16 8534, i16 8891, i16 9153, i16 9653, i16 9998, i16 10239, i16 10504, i16 10756, i16 11229, i16 11444, i16 11681, i16 11859, i16 12048, i16 12377, i16 13433, i16 15033, i16 15461, i16 16182, i16 16758, i16 17445, i16 17913, i16 18482, i16 19574, i16 20315, i16 20535, i16 20833, i16 21411, i16 21914, i16 22932, i16 23441, i16 23751, i16 24217, i16 24764, i16 25273, i16 25713, i16 25956, i16 26262, i16 26672, i16 27307, i16 27608, i16 13502, i16 27935, i16 102, i16 352, i16 573, i16 927, i16 1248, i16 1561, i16 1677, i16 2448, i16 2776, i16 3110, i16 3419, i16 3900, i16 4480, i16 4721, i16 4903, i16 5106, i16 5327, i16 5515, i16 5749, i16 6139, i16 6468, i16 2144, i16 7411, i16 7985, i16 8342, i16 8542, i16 9157, i16 9657, i16 9847, i16 10246, i16 10508, i16 10763, i16 11248, i16 11448, i16 11685, i16 11864, i16 12052, i16 12384, i16 12851, i16 13038, i16 13183, i16 13439, i16 15037, i16 15471, i16 16188, i16 16489, i16 16762, i16 17449, i16 17917, i16 18170, i16 18501, i16 18830, i16 19148, i16 20319, i16 20539, i16 20840, i16 21417, i16 22951, i16 23463, i16 23757, i16 24229, i16 24774, i16 25717, i16 26273, i16 26678, i16 27314, i16 27620, i16 13507, i16 27942, i16 106, i16 580, i16 931, i16 1255, i16 1566, i16 1686, i16 2095, i16 2338, i16 2452, i16 2783, i16 3114, i16 3426, i16 3907, i16 4485, i16 4907, i16 5110, i16 5332, i16 5519, i16 6143, i16 6475, i16 7417, i16 7681, i16 7992, i16 8349, i16 8550, i16 9162, i16 9661, i16 10002, i16 10119, i16 10254, i16 10512, i16 10770, i16 11255, i16 11452, i16 11689, i16 11869, i16 12056, i16 12391, i16 12855, i16 13043, i16 13187, i16 13445, i16 15041, i16 15481, i16 16194, i16 16492, i16 16766, i16 17117, i16 17309, i16 17454, i16 17921, i16 18177, i16 18834, i16 19039, i16 19578, i16 20096, i16 20323, i16 20543, i16 20847, i16 21422, i16 21918, i16 22958, i16 23470, i16 23762, i16 24238, i16 24784, i16 25093, i16 25277, i16 25721, i16 25963, i16 26280, i16 26482, i16 26684, i16 27015, i16 27318, i16 27627, i16 13512, i16 27949, i16 110, i16 587, i16 935, i16 1262, i16 1573, i16 1699, i16 2099, i16 2343, i16 2456, i16 2790, i16 3118, i16 3433, i16 3917, i16 4104, i16 4490, i16 4911, i16 5114, i16 5337, i16 5523, i16 6148, i16 6484, i16 7423, i16 7685, i16 7999, i16 8356, i16 8560, i16 8895, i16 9168, i16 9411, i16 9665, i16 10006, i16 10263, i16 10516, i16 10777, i16 11265, i16 11456, i16 11693, i16 11874, i16 12060, i16 12398, i16 12859, i16 13048, i16 13191, i16 13451, i16 15045, i16 15491, i16 16200, i16 16770, i16 17121, i16 17314, i16 17459, i16 17703, i16 17925, i16 18184, i16 18508, i16 18838, i16 19582, i16 20100, i16 20327, i16 20547, i16 20854, i16 21427, i16 21922, i16 22971, i16 23483, i16 23768, i16 24250, i16 24791, i16 25097, i16 25281, i16 25725, i16 25970, i16 26287, i16 26486, i16 26690, i16 27019, i16 27323, i16 27635, i16 13517, i16 27956, i16 114, i16 597, i16 939, i16 1269, i16 1578, i16 1708, i16 2103, i16 2460, i16 2797, i16 3122, i16 3440, i16 3927, i16 4120, i16 4495, i16 4915, i16 5118, i16 5527, i16 5753, i16 6153, i16 6493, i16 7010, i16 7429, i16 7689, i16 8006, i16 8363, i16 8569, i16 8899, i16 8979, i16 9173, i16 9417, i16 9669, i16 9852, i16 10010, i16 10272, i16 10520, i16 10784, i16 11281, i16 11460, i16 12064, i16 12405, i16 12711, i16 12863, i16 13053, i16 13457, i16 15049, i16 15501, i16 16206, i16 16496, i16 16774, i16 4584, i16 17929, i16 18521, i16 18702, i16 18842, i16 19384, i16 19450, i16 19586, i16 20331, i16 20551, i16 20861, i16 21432, i16 21773, i16 21926, i16 22984, i16 23496, i16 23773, i16 24259, i16 24801, i16 25285, i16 25424, i16 25729, i16 25977, i16 26298, i16 26490, i16 26696, i16 27023, i16 27328, i16 27643, i16 13522, i16 27963, i16 118, i16 607, i16 943, i16 1276, i16 1581, i16 1713, i16 2107, i16 2464, i16 2804, i16 3126, i16 3447, i16 3934, i16 4316, i16 4500, i16 4919, i16 5122, i16 5342, i16 5531, i16 5757, i16 6157, i16 6500, i16 7435, i16 7693, i16 8013, i16 8370, i16 8579, i16 9177, i16 9422, i16 5441, i16 10014, i16 10282, i16 10524, i16 10791, i16 11297, i16 11464, i16 11612, i16 12068, i16 12412, i16 13463, i16 15053, i16 15511, i16 16212, i16 16500, i16 16778, i16 17466, i16 17933, i16 18537, i16 19590, i16 20335, i16 20555, i16 20868, i16 21437, i16 21930, i16 23003, i16 23515, i16 23778, i16 24268, i16 24811, i16 25289, i16 25733, i16 25984, i16 26307, i16 26702, i16 27333, i16 27651, i16 13527, i16 27970, i16 122, i16 356, i16 617, i16 947, i16 1283, i16 1587, i16 1724, i16 2468, i16 2811, i16 3130, i16 3454, i16 3944, i16 4505, i16 4923, i16 5126, i16 5348, i16 5535, i16 5761, i16 6161, i16 6507, i16 7441, i16 7697, i16 8020, i16 8377, i16 8588, i16 9183, i16 9429, i16 9673, i16 10018, i16 10291, i16 10528, i16 10798, i16 11319, i16 11468, i16 12072, i16 12419, i16 13195, i16 13469, i16 15057, i16 15521, i16 16218, i16 16504, i16 16782, i16 17471, i16 17937, i16 18565, i16 18846, i16 19594, i16 19725, i16 20339, i16 20559, i16 20875, i16 21444, i16 21934, i16 23034, i16 23546, i16 23783, i16 24277, i16 24821, i16 25293, i16 25737, i16 25991, i16 26318, i16 26708, i16 27339, i16 27661, i16 27977, i16 126, i16 627, i16 951, i16 1290, i16 1599, i16 1746, i16 2111, i16 2472, i16 2818, i16 3134, i16 3461, i16 3966, i16 4510, i16 4927, i16 5130, i16 5539, i16 6165, i16 6514, i16 7447, i16 7701, i16 8027, i16 8384, i16 9189, i16 5904, i16 10300, i16 10532, i16 10805, i16 11341, i16 11472, i16 12076, i16 12426, i16 12867, i16 13059, i16 13475, i16 15061, i16 15531, i16 16224, i16 4589, i16 16786, i16 17478, i16 17941, i16 18587, i16 20343, i16 20563, i16 20882, i16 21449, i16 21938, i16 22138, i16 22313, i16 22497, i16 23059, i16 23571, i16 23788, i16 24286, i16 24831, i16 25101, i16 25297, i16 25741, i16 25998, i16 26331, i16 26715, i16 27027, i16 27161, i16 27345, i16 27671, i16 27984, i16 130, i16 360, i16 637, i16 955, i16 1297, i16 1612, i16 1770, i16 2115, i16 2476, i16 2825, i16 3138, i16 3468, i16 3988, i16 4515, i16 4931, i16 5134, i16 5544, i16 5765, i16 5976, i16 6169, i16 6521, i16 7202, i16 7453, i16 7705, i16 8034, i16 8391, i16 8597, i16 8903, i16 8984, i16 9194, i16 9677, i16 9857, i16 10309, i16 10536, i16 10812, i16 11360, i16 11476, i16 12080, i16 12433, i16 13481, i16 15065, i16 15541, i16 16230, i16 16508, i16 16790, i16 17485, i16 17945, i16 18615, i16 18707, i16 18850, i16 19044, i16 19598, i16 20347, i16 20567, i16 20889, i16 21455, i16 21942, i16 22317, i16 22504, i16 23081, i16 23590, i16 23793, i16 24295, i16 24841, i16 25301, i16 25745, i16 26005, i16 26342, i16 26722, i16 27351, i16 27681, i16 27994, i16 134, i16 364, i16 647, i16 959, i16 1304, i16 1532, i16 1624, i16 2119, i16 2480, i16 2832, i16 3142, i16 3475, i16 4013, i16 4520, i16 4725, i16 4935, i16 5138, i16 5548, i16 5769, i16 5980, i16 6026, i16 6173, i16 6528, i16 7015, i16 7206, i16 7459, i16 7709, i16 8041, i16 8398, i16 8907, i16 9199, i16 9436, i16 9681, i16 10022, i16 10319, i16 10540, i16 10819, i16 11178, i16 11480, i16 11579, i16 11697, i16 11879, i16 12084, i16 12440, i16 12715, i16 12871, i16 13064, i16 13199, i16 13487, i16 15069, i16 15551, i16 15971, i16 16236, i16 16512, i16 16794, i16 17125, i16 17319, i16 17490, i16 17711, i16 17949, i16 18191, i16 18432, i16 18854, i16 19388, i16 19455, i16 19602, i16 19730, i16 19846, i16 19970, i16 20104, i16 20351, i16 20571, i16 20896, i16 21056, i16 21139, i16 21460, i16 21946, i16 22321, i16 22511, i16 22872, i16 23381, i16 23798, i16 24304, i16 24737, i16 25105, i16 25305, i16 25749, i16 26012, i16 26231, i16 26729, i16 27031, i16 27166, i16 27356, i16 27689, i16 27914, i16 142, i16 373, i16 663, i16 965, i16 1315, i16 1545, i16 1648, i16 2126, i16 2489, i16 2849, i16 3149, i16 3488, i16 4038, i16 4527, i16 4732, i16 4941, i16 5144, i16 5354, i16 5555, i16 5776, i16 5987, i16 6184, i16 6549, i16 7023, i16 7212, i16 7467, i16 7719, i16 8054, i16 8407, i16 8915, i16 8989, i16 9206, i16 9695, i16 10030, i16 10333, i16 10546, i16 10830, i16 11194, i16 11489, i16 11589, i16 11704, i16 11887, i16 12093, i16 12457, i16 12723, i16 12878, i16 13072, i16 13207, i16 13492, i16 15077, i16 15573, i16 15979, i16 16243, i16 16523, i16 16801, i16 17134, i16 17329, i16 17501, i16 17957, i16 18457, i16 18711, i16 18861, i16 19395, i16 19463, i16 19610, i16 19854, i16 19978, i16 20358, i16 20578, i16 20909, i16 21063, i16 21152, i16 21476, i16 21952, i16 22328, i16 22524, i16 22888, i16 23397, i16 23805, i16 24323, i16 24851, i16 25111, i16 25310, i16 25429, i16 25756, i16 26025, i16 26242, i16 26743, i16 27038, i16 27174, i16 27365, i16 27706, i16 27921, i16 151, i16 383, i16 553, i16 972, i16 1328, i16 1550, i16 1657, i16 2133, i16 2494, i16 2858, i16 3158, i16 3505, i16 4069, i16 4537, i16 4740, i16 4948, i16 5017, i16 5149, i16 5360, i16 5474, i16 5784, i16 5993, i16 6034, i16 6196, i16 6572, i16 7032, i16 7220, i16 7399, i16 7566, i16 7727, i16 8416, i16 8726, i16 9147, i16 9404, i16 9706, i16 9862, i16 10039, i16 10232, i16 10500, i16 10749, i16 11213, i16 11497, i16 11598, i16 11712, i16 11896, i16 12102, i16 12474, i16 12732, i16 12886, i16 13497, i16 15087, i16 15601, i16 15988, i16 16250, i16 16535, i16 16809, i16 17513, i16 17723, i16 17966, i16 18698, i16 18866, i16 19152, i16 19615, i16 19864, i16 19929, i16 19988, i16 20022, i16 20113, i16 20366, i16 20586, i16 20924, i16 21071, i16 21167, i16 21488, i16 21689, i16 22913, i16 23422, i16 23816, i16 24354, i16 24864, i16 25119, i16 25762, i16 26036, i16 26253, i16 26754, i16 27044, i16 27181, i16 27375, i16 27725, i16 27928, i16 157, i16 679, i16 977, i16 1337, i16 1555, i16 1666, i16 1808, i16 1908, i16 2138, i16 2502, i16 2873, i16 3163, i16 3514, i16 4085, i16 4544, i16 4953, i16 5156, i16 5564, i16 5790, i16 6204, i16 6587, i16 7038, i16 7476, i16 7735, i16 8065, i16 8426, i16 8731, i16 8820, i16 8923, i16 9214, i16 9444, i16 9714, i16 10045, i16 10349, i16 10553, i16 10843, i16 11229, i16 11504, i16 11720, i16 11905, i16 12108, i16 12485, i16 12891, i16 13081, i16 13216, i16 13502, i16 15093, i16 15617, i16 15995, i16 16257, i16 16545, i16 16814, i16 16951, i16 17144, i16 17340, i16 17528, i16 17739, i16 17971, i16 18482, i16 19403, i16 19622, i16 19739, i16 20120, i16 20372, i16 20592, i16 20935, i16 21076, i16 21176, i16 21501, i16 21959, i16 22932, i16 23441, i16 23823, i16 24373, i16 24877, i16 25316, i16 25771, i16 26053, i16 26262, i16 26764, i16 27049, i16 27381, i16 27736, i16 27935, i16 102, i16 352, i16 573, i16 983, i16 1348, i16 1561, i16 1677, i16 1815, i16 1921, i16 1943, i16 1955, i16 2144, i16 2511, i16 2890, i16 3110, i16 3419, i16 3900, i16 4550, i16 4721, i16 4959, i16 5162, i16 5368, i16 5515, i16 5749, i16 6213, i16 6604, i16 7045, i16 7226, i16 4903, i16 7743, i16 8076, i16 8435, i16 9222, i16 9453, i16 9725, i16 9871, i16 10051, i16 10246, i16 10508, i16 10763, i16 11248, i16 11512, i16 11728, i16 11914, i16 12115, i16 12498, i16 12851, i16 13038, i16 13223, i16 13507, i16 15100, i16 15636, i16 16002, i16 16264, i16 16555, i16 16824, i16 16962, i16 17152, i16 17542, i16 17917, i16 18170, i16 18501, i16 18872, i16 19148, i16 19870, i16 20379, i16 20599, i16 20948, i16 20319, i16 20840, i16 21513, i16 11685, i16 11864, i16 22951, i16 23463, i16 23830, i16 24392, i16 24890, i16 25125, i16 25322, i16 25436, i16 25779, i16 26273, i16 26775, i16 27314, i16 27620, i16 27942, i16 163, i16 389, i16 580, i16 988, i16 1357, i16 1566, i16 1686, i16 1950, i16 1968, i16 2148, i16 2519, i16 2905, i16 3114, i16 3426, i16 3907, i16 4554, i16 4745, i16 4964, i16 5169, i16 5376, i16 5571, i16 5796, i16 6219, i16 6615, i16 7050, i16 7231, i16 7417, i16 7751, i16 8081, i16 8444, i16 8605, i16 8929, i16 9162, i16 9735, i16 9882, i16 10056, i16 10124, i16 10356, i16 10559, i16 10854, i16 11255, i16 11520, i16 11734, i16 11921, i16 12122, i16 12511, i16 12897, i16 13088, i16 13230, i16 13512, i16 15106, i16 15652, i16 16271, i16 16562, i16 16832, i16 16972, i16 17158, i16 17349, i16 17550, i16 17977, i16 18206, i16 106, i16 18878, i16 19049, i16 19410, i16 19631, i16 19875, i16 19994, i16 20128, i16 20383, i16 20603, i16 20955, i16 21083, i16 21189, i16 21525, i16 11689, i16 11869, i16 21777, i16 21965, i16 17921, i16 18177, i16 22958, i16 23470, i16 23838, i16 24414, i16 24784, i16 25130, i16 25328, i16 25787, i16 26068, i16 26280, i16 26787, i16 27054, i16 27949, i16 168, i16 395, i16 587, i16 994, i16 1368, i16 1573, i16 1699, i16 1820, i16 1930, i16 2153, i16 2527, i16 2920, i16 3118, i16 3433, i16 4104, i16 4563, i16 4750, i16 4969, i16 5176, i16 5384, i16 5579, i16 5801, i16 6227, i16 6630, i16 7056, i16 7237, i16 7423, i16 7758, i16 8090, i16 8452, i16 8614, i16 8934, i16 9168, i16 9411, i16 9746, i16 10061, i16 10368, i16 10564, i16 10863, i16 11265, i16 11527, i16 11741, i16 11929, i16 12130, i16 12526, i16 12902, i16 13095, i16 13237, i16 13517, i16 15113, i16 15671, i16 16278, i16 16571, i16 16841, i16 17165, i16 17357, i16 17557, i16 17755, i16 17982, i16 18215, i16 18508, i16 18720, i16 18884, i16 19415, i16 19640, i16 19881, i16 20000, i16 20134, i16 20388, i16 20608, i16 20964, i16 21088, i16 21198, i16 21537, i16 11693, i16 11874, i16 21783, i16 21973, i16 17925, i16 18184, i16 22971, i16 23483, i16 23847, i16 24439, i16 24791, i16 25136, i16 25336, i16 25795, i16 26083, i16 26287, i16 26799, i16 27059, i16 27956, i16 173, i16 401, i16 692, i16 1000, i16 1379, i16 1578, i16 1708, i16 2158, i16 2534, i16 2933, i16 3169, i16 3525, i16 4120, i16 4570, i16 4976, i16 5185, i16 5590, i16 5806, i16 6235, i16 6645, i16 7062, i16 7243, i16 7766, i16 8006, i16 8461, i16 8942, i16 8998, i16 9238, i16 9470, i16 9758, i16 9894, i16 10067, i16 10272, i16 10569, i16 10872, i16 11281, i16 11534, i16 11748, i16 12138, i16 12541, i16 12738, i16 12907, i16 13102, i16 13522, i16 15120, i16 15690, i16 16007, i16 16285, i16 16585, i16 16848, i16 16982, i16 17172, i16 17568, i16 17767, i16 17987, i16 18521, i16 18702, i16 18890, i16 19158, i16 19422, i16 19472, i16 19647, i16 19749, i16 20393, i16 20613, i16 20973, i16 21093, i16 21207, i16 21550, i16 21789, i16 21980, i16 22651, i16 22984, i16 23496, i16 23855, i16 24461, i16 24801, i16 25343, i16 25443, i16 25802, i16 26096, i16 26298, i16 26812, i16 27067, i16 27389, i16 27751, i16 27963, i16 180, i16 705, i16 1006, i16 1390, i16 1581, i16 1713, i16 2165, i16 2542, i16 2948, i16 3176, i16 3538, i16 4136, i16 4316, i16 4575, i16 4755, i16 4982, i16 5191, i16 5394, i16 5595, i16 5813, i16 6245, i16 6664, i16 7071, i16 7250, i16 7774, i16 8101, i16 8468, i16 8947, i16 9245, i16 9478, i16 9770, i16 10074, i16 10382, i16 10576, i16 10885, i16 11297, i16 11542, i16 11758, i16 12147, i16 12558, i16 13244, i16 13527, i16 15128, i16 15712, i16 16017, i16 16292, i16 16593, i16 16858, i16 16994, i16 17180, i16 17583, i16 17994, i16 18537, i16 18897, i16 19656, i16 19759, i16 19887, i16 20140, i16 20401, i16 20621, i16 20988, i16 21100, i16 21220, i16 21561, i16 21986, i16 22199, i16 22336, i16 22539, i16 23003, i16 23515, i16 23863, i16 24483, i16 24903, i16 25142, i16 25351, i16 25452, i16 25810, i16 26111, i16 26307, i16 26494, i16 26824, i16 27075, i16 27395, i16 27762, i16 27970, i16 190, i16 410, i16 724, i16 1013, i16 1403, i16 1587, i16 1724, i16 2174, i16 2551, i16 2965, i16 3186, i16 3557, i16 4170, i16 3944, i16 4584, i16 4765, i16 4991, i16 5196, i16 5402, i16 5600, i16 5823, i16 6257, i16 6687, i16 7081, i16 7483, i16 7781, i16 8116, i16 8476, i16 8957, i16 9258, i16 9493, i16 9783, i16 10083, i16 10394, i16 10583, i16 10898, i16 11319, i16 11548, i16 11769, i16 11937, i16 12158, i16 12579, i16 12913, i16 13110, i16 13254, i16 13469, i16 15139, i16 15743, i16 16028, i16 16299, i16 16606, i16 16866, i16 17191, i16 17590, i16 17784, i16 18004, i16 18565, i16 18907, i16 19665, i16 19769, i16 19896, i16 20151, i16 20410, i16 20630, i16 21005, i16 21109, i16 21237, i16 21574, i16 21994, i16 22209, i16 22346, i16 22558, i16 23034, i16 23546, i16 23871, i16 24505, i16 24919, i16 25154, i16 25357, i16 25819, i16 26128, i16 26318, i16 26837, i16 27083, i16 27187, i16 27406, i16 27783, i16 27977, i16 198, i16 743, i16 1020, i16 1416, i16 1599, i16 1746, i16 2182, i16 2562, i16 2986, i16 3195, i16 3574, i16 4195, i16 3966, i16 4589, i16 4773, i16 4999, i16 5202, i16 5607, i16 5831, i16 6267, i16 6706, i16 7089, i16 7261, i16 7787, i16 8127, i16 8484, i16 9275, i16 9511, i16 9794, i16 10408, i16 10591, i16 10913, i16 11341, i16 11557, i16 12169, i16 12600, i16 12921, i16 13119, i16 13475, i16 15149, i16 15771, i16 16037, i16 16306, i16 16616, i16 16873, i16 17003, i16 17200, i16 17606, i16 17801, i16 18013, i16 18587, i16 18915, i16 19904, i16 20161, i16 20418, i16 20638, i16 21020, i16 21117, i16 21252, i16 21587, i16 22000, i16 22143, i16 22217, i16 22354, i16 22573, i16 23059, i16 23571, i16 23878, i16 24524, i16 24831, i16 25162, i16 25362, i16 25459, i16 25827, i16 26143, i16 26331, i16 26853, i16 27090, i16 27195, i16 27416, i16 27802, i16 27984, i16 207, i16 418, i16 759, i16 1027, i16 1429, i16 1612, i16 1770, i16 2189, i16 2571, i16 3003, i16 3203, i16 3589, i16 4220, i16 3988, i16 4592, i16 4782, i16 5008, i16 5211, i16 5616, i16 5840, i16 5998, i16 6277, i16 6725, i16 7098, i16 7271, i16 7492, i16 7794, i16 8140, i16 8494, i16 8737, i16 8965, i16 9004, i16 9288, i16 9525, i16 9807, i16 9907, i16 10419, i16 10598, i16 10926, i16 11360, i16 11565, i16 12179, i16 12619, i16 13262, i16 13481, i16 15158, i16 15796, i16 16047, i16 16316, i16 16623, i16 16883, i16 17014, i16 17210, i16 17623, i16 18021, i16 18615, i16 18726, i16 18924, i16 19056, i16 19428, i16 19677, i16 19782, i16 19913, i16 20006, i16 20171, i16 20425, i16 20645, i16 21033, i16 21124, i16 21265, i16 21600, i16 22007, i16 22226, i16 22363, i16 22590, i16 23081, i16 23590, i16 23888, i16 24552, i16 24932, i16 25173, i16 25368, i16 25466, i16 25836, i16 26160, i16 26342, i16 26876, i16 27098, i16 27994, i16 216, i16 427, i16 775, i16 1034, i16 1442, i16 0, i16 4248, i16 4347, i16 4598, i16 8153, i16 11382, i16 12930, i16 13532, i16 16326, i16 18637, i16 22015, i16 23107, i16 23615, i16 24945, i16 25375, i16 25474, i16 28004, i16 219, i16 430, i16 785, i16 1036, i16 1445, i16 0, i16 4261, i16 4375, i16 4598, i16 8160, i16 11410, i16 12933, i16 13539, i16 16333, i16 18649, i16 22018, i16 23120, i16 23643, i16 24965, i16 25378, i16 25479, i16 26353, i16 28011, i16 222, i16 433, i16 798, i16 1038, i16 1465, i16 1827, i16 2196, i16 2579, i16 3212, i16 4277, i16 4600, i16 5220, i16 5410, i16 5624, i16 6746, i16 6764, i16 6779, i16 6847, i16 6890, i16 7107, i16 7802, i16 8167, i16 8503, i16 10604, i16 11777, i16 12936, i16 13546, i16 15168, i16 15824, i16 16340, i16 16892, i16 17220, i16 17631, i16 18030, i16 18934, i16 19263, i16 19321, i16 21612, i16 22021, i16 22372, i16 22659, i16 23896, i16 24985, i16 26356, i16 26502, i16 26896, i16 27106, i16 28018, i16 28088, i16 28166, i16 28269, i16 243, i16 451, i16 832, i16 1063, i16 1492, i16 1853, i16 2212, i16 3226, i16 4304, i16 5653, i16 5849, i16 6007, i16 6807, i16 6876, i16 6917, i16 6929, i16 7817, i16 8199, i16 8746, i16 9014, i16 12955, i16 13578, i16 16057, i16 16351, i16 16910, i16 17257, i16 18966, i16 19167, i16 19285, i16 22045, i16 22235, i16 23919, i16 28116, i16 28312, i16 252, i16 460, i16 841, i16 1073, i16 1504, i16 1867, i16 3235, i16 6821, i16 11806, i16 13594, i16 16369, i16 19295, i16 22054, i16 26920, i16 28053, i16 28135, i16 28201, i16 261, i16 0, i16 1086, i16 1517, i16 1867, i16 3244, i16 4623, i16 5246, i16 6833, i16 8208, i16 10628, i16 11806, i16 13610, i16 16387, i16 22067, i16 26383, i16 28069, i16 28154, i16 28334, i16 0, i16 13628, i16 23929, i16 24574, i16 0, i16 0, i16 14004, i16 23961, i16 0, i16 14018, i16 0, i16 14901, i16 23971, i16 24610, i16 0, i16 24007, i16 24660], [372 x i8] c"\00\00\00\00\01\01\00\00\02\02\00\00\03\03\00\00\04\04\00\00\05\05\01\01\06\06\02\02\07\07\01\01\08\08\00\00\09\09\00\00\0A\0A\00\03\0A\0A\03\03\0B\0B\00\00\0C\0C\00\00\0D\0D\00\00\0E\0E\00\00\0F\0F\04\04\10\10\05\05\11\01\00\00\12\11\00\00\13\01\00\00\14\02\06\06\15\01\07\07\16\12\00\00\17\02\00\00\18\13\00\00\19\14\00\00\1A\01\00\00\1B\02\00\00\1C\15\00\00\00\00\08\08\1D\02\00\00\1E\02\00\00\1D\16\00\00\1F\17\00\00 \18\00\00!\19\00\00\1D\1A\00\00\22\1B\00\00#\02\00\00$\02\00\00%\02\00\00&\1C\00\00'\1D\00\00(\02\00\00)\02\00\00*\1E\09\09\1A\1F\00\00+\02\00\00, \0A\0A-!\00\00.\22\00\00/\1A\00\000#\00\001\01\00\002\1A\00\003$\0B\0B4$\0C\0C5%\0D\0D6&\0E\0E7'\00\00\00(\0F\0F8\01\00\002\02\00\009\02\00\00:\02\00\00;)\00\00<*\00\00=+\00\00>,\00\00\1D-\00\00?\01\10\10@\01\11\10A\1A\00\00B.\00\00C/\00\00D0\12\11E1\13\12;)\14\13\0C\0C\0E\14F2\15\15G3\16\16H4\17\17H4\17\18\0C\0C\18\19I+\00\00J,\00\00K5\19\1AL6\1A\1BM\01\1B\1CN7\1C\1DO8\1D\1EP9\00\00", [4 x i16] [i16 0, i16 81, i16 139, i16 169], [200 x i16] [i16 1, i16 13, i16 27, i16 43, i16 57, i16 73, i16 97, i16 121, i16 114, i16 85, i16 145, i16 173, i16 193, i16 217, i16 247, i16 281, i16 317, i16 369, i16 378, i16 396, i16 405, i16 422, i16 439, i16 459, i16 469, i16 489, i16 513, i16 520, i16 530, i16 561, i16 571, i16 591, i16 613, i16 635, i16 665, i16 687, i16 697, i16 711, i16 721, i16 739, i16 759, i16 769, i16 779, i16 815, i16 829, i16 908, i16 932, i16 960, i16 972, i16 996, i16 1003, i16 1013, i16 1048, i16 1078, i16 1106, i16 1142, i16 1180, i16 1189, i16 1199, i16 1209, i16 1229, i16 1249, i16 1267, i16 1297, i16 1316, i16 1334, i16 1344, i16 1362, i16 1380, i16 1438, i16 1492, i16 1517, i16 1564, i16 1610, i16 1619, i16 1630, i16 1670, i16 1698, i16 1720, i16 1747, i16 1783, i16 7, i16 20, i16 35, i16 50, i16 65, i16 79, i16 106, i16 134, i16 118, i16 92, i16 153, i16 183, i16 205, i16 233, i16 265, i16 294, i16 336, i16 388, i16 450, i16 479, i16 501, i16 545, i16 581, i16 603, i16 623, i16 647, i16 657, i16 678, i16 730, i16 749, i16 790, i16 806, i16 857, i16 921, i16 947, i16 981, i16 1028, i16 1090, i16 1120, i16 1154, i16 1165, i16 1219, i16 1239, i16 1258, i16 1278, i16 1289, i16 1354, i16 1371, i16 1393, i16 1445, i16 1499, i16 1526, i16 1572, i16 1642, i16 1680, i16 1729, i16 1757, i16 1792, i16 0, i16 85, i16 114, i16 167, i16 305, i16 346, i16 415, i16 433, i16 554, i16 799, i16 891, i16 1039, i16 1067, i16 1100, i16 1132, i16 1171, i16 1308, i16 1329, i16 1412, i16 1452, i16 1478, i16 1506, i16 1535, i16 1580, i16 1598, i16 1652, i16 1690, i16 1711, i16 1739, i16 1769, i16 0, i16 92, i16 118, i16 163, i16 312, i16 362, i16 419, i16 436, i16 558, i16 803, i16 898, i16 1042, i16 1071, i16 1103, i16 1137, i16 1174, i16 1312, i16 1422, i16 1465, i16 1481, i16 1485, i16 1510, i16 1545, i16 1585, i16 1591, i16 1605, i16 1661, i16 1693, i16 1715, i16 1743, i16 1776], [91141 x i16] [i16 7, i16 145, i16 4, i16 5352, i16 1159, i16 2868, i16 9485, i16 12504, i16 4, i16 38, i16 5, i16 3, i16 256, i16 576, i16 22623, i16 1154, i16 1623, i16 0, i16 19968, i16 20901, i16 1708, i16 747, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4, i16 10, i16 5, i16 4, i16 128, i16 480, i16 2038, i16 1693, i16 1947, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1154, i16 1154, i16 1986, i16 2440, i16 0, i16 4, i16 2, i16 5, i16 4, i16 128, i16 480, i16 1886, i16 1885, i16 1886, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2847, i16 2847, i16 2178, i16 5976, i16 0, i16 2, i16 0, i16 5, i16 6, i16 32, i16 64, i16 213, i16 212, i16 213, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4732, i16 4732, i16 0, i16 9496, i16 0, i16 4, i16 5, i16 5, i16 5, i16 64, i16 96, i16 409, i16 408, i16 409, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4944, i16 4944, i16 2193, i16 9976, i16 0, i16 1, i16 0, i16 4, i16 5, i16 128, i16 816, i16 13169, i16 13168, i16 13169, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5352, i16 5352, i16 0, i16 10360, i16 0, i16 1, i16 0, i16 5, i16 2, i16 512, i16 6176, i16 17172, i16 5999, i16 17172, i16 0, i16 -21504, i16 11171, i16 1111, i16 3125, i16 5352, i16 5352, i16 0, i16 -32216, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 5, i16 114, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 55, i16 246, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 92, i16 0, i16 0, i16 1155, i16 274, i16 372, i16 0, i16 1155, i16 300, i16 0, i16 0, i16 1155, i16 300, i16 0, i16 0, i16 1155, i16 331, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 390, i16 0, i16 0, i16 1155, i16 448, i16 498, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 547, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 730, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 798, i16 648, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 875, i16 786, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 916, i16 0, i16 0, i16 1155, i16 1075, i16 924, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 1433, i16 1502, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 1721, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 1780, i16 1634, i16 0, i16 1155, i16 1915, i16 498, i16 0, i16 1155, i16 2012, i16 1844, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 2049, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 2235, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 300, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 1, i16 680, i16 2383, i16 1986, i16 1, i16 680, i16 2880, i16 1986, i16 1, i16 680, i16 3369, i16 1986, i16 1, i16 680, i16 3871, i16 1986, i16 1, i16 680, i16 4373, i16 2016, i16 1, i16 680, i16 4869, i16 1986, i16 1, i16 680, i16 5366, i16 1986, i16 1, i16 680, i16 5868, i16 2016, i16 1, i16 680, i16 6369, i16 1986, i16 1, i16 680, i16 6952, i16 2058, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7976, i16 1986, i16 1, i16 680, i16 5868, i16 2016, i16 1, i16 680, i16 2880, i16 1986, i16 1, i16 680, i16 8476, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 8967, i16 2124, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 8967, i16 2124, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7976, i16 1986, i16 1, i16 680, i16 5868, i16 2016, i16 1, i16 680, i16 7478, i16 1986, i16 2, i16 1338, i16 3, i16 2178, i16 2, i16 1338, i16 3, i16 2178, i16 3, i16 212, i16 3, i16 0, i16 4, i16 6, i16 3, i16 2193, i16 5, i16 13168, i16 3, i16 0, i16 6, i16 17171, i16 3, i16 0, i16 1, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 21, i16 22, i16 23, i16 24, i16 30, i16 40, i16 44, i16 45, i16 50, i16 51, i16 52, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 120, i16 125, i16 126, i16 135, i16 137, i16 144, i16 157, i16 159, i16 160, i16 162, i16 167, i16 170, i16 172, i16 175, i16 177, i16 182, i16 183, i16 186, i16 188, i16 193, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 236, i16 237, i16 240, i16 241, i16 242, i16 243, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 458, i16 459, i16 460, i16 461, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 640, i16 651, i16 652, i16 654, i16 655, i16 669, i16 683, i16 685, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 698, i16 708, i16 711, i16 719, i16 720, i16 722, i16 724, i16 725, i16 726, i16 727, i16 728, i16 731, i16 732, i16 733, i16 735, i16 742, i16 743, i16 744, i16 745, i16 746, i16 747, i16 748, i16 756, i16 757, i16 758, i16 759, i16 761, i16 764, i16 765, i16 766, i16 767, i16 768, i16 774, i16 775, i16 776, i16 779, i16 780, i16 783, i16 784, i16 785, i16 786, i16 793, i16 798, i16 805, i16 806, i16 808, i16 810, i16 811, i16 812, i16 816, i16 818, i16 819, i16 820, i16 821, i16 826, i16 827, i16 828, i16 830, i16 831, i16 832, i16 833, i16 840, i16 843, i16 844, i16 859, i16 860, i16 862, i16 863, i16 877, i16 891, i16 893, i16 895, i16 896, i16 897, i16 898, i16 899, i16 900, i16 901, i16 902, i16 903, i16 906, i16 916, i16 919, i16 927, i16 928, i16 930, i16 932, i16 933, i16 934, i16 935, i16 936, i16 939, i16 940, i16 942, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 955, i16 963, i16 964, i16 965, i16 967, i16 970, i16 971, i16 972, i16 973, i16 979, i16 980, i16 981, i16 984, i16 985, i16 988, i16 989, i16 990, i16 991, i16 998, i16 1002, i16 1009, i16 1010, i16 1012, i16 1014, i16 1015, i16 1016, i16 1020, i16 1022, i16 1023, i16 1024, i16 1025, i16 1030, i16 1031, i16 1032, i16 1034, i16 1035, i16 1036, i16 1037, i16 1044, i16 1047, i16 1108, i16 1109, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 1117, i16 1118, i16 1119, i16 1120, i16 1121, i16 1122, i16 1123, i16 1124, i16 1125, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1132, i16 1133, i16 1134, i16 1139, i16 1140, i16 1141, i16 1142, i16 1143, i16 1147, i16 1157, i16 1158, i16 1183, i16 1184, i16 1185, i16 1186, i16 1187, i16 1188, i16 1189, i16 1190, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1206, i16 1207, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1235, i16 1236, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1242, i16 1243, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 1251, i16 1252, i16 1253, i16 1254, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1263, i16 1264, i16 1265, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1318, i16 1319, i16 1348, i16 1349, i16 1350, i16 1351, i16 1356, i16 1357, i16 1358, i16 1359, i16 1368, i16 1369, i16 1371, i16 1372, i16 1373, i16 1374, i16 1377, i16 1378, i16 1379, i16 1380, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 1390, i16 1391, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1400, i16 1403, i16 1404, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1418, i16 1419, i16 1420, i16 1421, i16 1422, i16 1423, i16 1424, i16 1425, i16 1426, i16 1427, i16 1428, i16 1429, i16 1430, i16 1431, i16 1432, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1440, i16 1441, i16 1442, i16 1443, i16 1444, i16 1445, i16 1446, i16 1447, i16 1448, i16 1449, i16 1450, i16 1451, i16 1452, i16 1453, i16 1454, i16 1455, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1481, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1507, i16 1513, i16 1520, i16 1521, i16 1523, i16 1529, i16 1530, i16 1531, i16 1533, i16 1536, i16 1537, i16 1540, i16 1542, i16 1543, i16 1544, i16 1545, i16 1548, i16 1551, i16 1552, i16 1554, i16 1555, i16 1558, i16 1559, i16 1560, i16 1562, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1571, i16 1578, i16 1584, i16 1585, i16 1587, i16 1593, i16 1596, i16 1598, i16 1601, i16 1602, i16 1605, i16 1607, i16 1608, i16 1609, i16 1610, i16 1613, i16 1616, i16 1617, i16 1619, i16 1620, i16 1623, i16 1624, i16 1625, i16 1627, i16 1629, i16 1630, i16 2, i16 25, i16 26, i16 27, i16 28, i16 29, i16 41, i16 48, i16 49, i16 132, i16 141, i16 151, i16 153, i16 155, i16 169, i16 185, i16 199, i16 200, i16 235, i16 299, i16 300, i16 301, i16 302, i16 304, i16 305, i16 307, i16 308, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 317, i16 318, i16 319, i16 320, i16 321, i16 323, i16 324, i16 325, i16 326, i16 328, i16 329, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 339, i16 341, i16 342, i16 344, i16 345, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 641, i16 642, i16 643, i16 644, i16 648, i16 649, i16 650, i16 653, i16 662, i16 663, i16 664, i16 665, i16 666, i16 682, i16 684, i16 705, i16 706, i16 707, i16 714, i16 715, i16 716, i16 721, i16 723, i16 730, i16 755, i16 760, i16 771, i16 772, i16 773, i16 794, i16 795, i16 796, i16 797, i16 807, i16 814, i16 815, i16 817, i16 823, i16 841, i16 842, i16 849, i16 850, i16 851, i16 852, i16 856, i16 857, i16 858, i16 861, i16 870, i16 871, i16 872, i16 873, i16 874, i16 890, i16 892, i16 913, i16 914, i16 915, i16 922, i16 923, i16 924, i16 929, i16 931, i16 938, i16 962, i16 966, i16 976, i16 977, i16 978, i16 999, i16 1000, i16 1001, i16 1011, i16 1018, i16 1019, i16 1021, i16 1027, i16 1045, i16 1046, i16 1048, i16 1084, i16 1085, i16 1086, i16 1087, i16 1088, i16 1089, i16 1090, i16 1091, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1099, i16 1100, i16 1101, i16 1102, i16 1103, i16 1104, i16 1105, i16 1106, i16 1107, i16 1110, i16 1137, i16 1138, i16 1144, i16 1145, i16 1146, i16 1154, i16 1155, i16 1156, i16 1159, i16 1175, i16 1176, i16 1177, i16 1178, i16 1179, i16 1180, i16 1181, i16 1182, i16 1191, i16 1192, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1310, i16 1311, i16 1312, i16 1313, i16 1314, i16 1315, i16 1316, i16 1317, i16 1346, i16 1347, i16 1352, i16 1353, i16 1354, i16 1355, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 1367, i16 1511, i16 1517, i16 1518, i16 1519, i16 1522, i16 1527, i16 1528, i16 1535, i16 1539, i16 1546, i16 1547, i16 1550, i16 1557, i16 1561, i16 1563, i16 1575, i16 1577, i16 1582, i16 1583, i16 1586, i16 1591, i16 1592, i16 1595, i16 1600, i16 1604, i16 1611, i16 1612, i16 1615, i16 1622, i16 1626, i16 1628, i16 4, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 322, i16 323, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 446, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 460, i16 464, i16 468, i16 472, i16 474, i16 475, i16 477, i16 478, i16 480, i16 482, i16 483, i16 485, i16 486, i16 488, i16 489, i16 490, i16 493, i16 494, i16 496, i16 497, i16 498, i16 501, i16 502, i16 504, i16 505, i16 506, i16 508, i16 509, i16 511, i16 512, i16 513, i16 514, i16 515, i16 516, i16 517, i16 518, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 714, i16 715, i16 716, i16 717, i16 718, i16 719, i16 720, i16 721, i16 722, i16 723, i16 724, i16 725, i16 726, i16 727, i16 728, i16 729, i16 730, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 737, i16 738, i16 739, i16 740, i16 741, i16 742, i16 743, i16 744, i16 745, i16 746, i16 747, i16 748, i16 749, i16 750, i16 751, i16 752, i16 755, i16 783, i16 784, i16 785, i16 788, i16 789, i16 790, i16 791, i16 792, i16 793, i16 794, i16 795, i16 796, i16 797, i16 798, i16 799, i16 800, i16 801, i16 802, i16 803, i16 804, i16 805, i16 806, i16 807, i16 808, i16 809, i16 810, i16 811, i16 812, i16 813, i16 814, i16 815, i16 816, i16 817, i16 818, i16 819, i16 824, i16 825, i16 828, i16 829, i16 830, i16 831, i16 832, i16 833, i16 834, i16 835, i16 840, i16 841, i16 842, i16 851, i16 852, i16 853, i16 854, i16 855, i16 856, i16 857, i16 858, i16 859, i16 860, i16 861, i16 864, i16 865, i16 868, i16 869, i16 870, i16 871, i16 874, i16 875, i16 876, i16 881, i16 882, i16 883, i16 884, i16 885, i16 886, i16 887, i16 888, i16 891, i16 892, i16 893, i16 894, i16 895, i16 896, i16 897, i16 904, i16 905, i16 908, i16 909, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 918, i16 919, i16 920, i16 921, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 929, i16 930, i16 931, i16 932, i16 933, i16 934, i16 935, i16 936, i16 937, i16 938, i16 939, i16 940, i16 941, i16 942, i16 943, i16 948, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 964, i16 965, i16 966, i16 967, i16 968, i16 969, i16 970, i16 971, i16 972, i16 977, i16 978, i16 979, i16 980, i16 981, i16 982, i16 983, i16 984, i16 987, i16 988, i16 989, i16 992, i16 993, i16 994, i16 995, i16 996, i16 997, i16 998, i16 999, i16 1000, i16 1001, i16 1002, i16 1003, i16 1004, i16 1005, i16 1006, i16 1007, i16 1008, i16 1012, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1023, i16 1024, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 1039, i16 1040, i16 1041, i16 1042, i16 1045, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 1058, i16 1059, i16 1060, i16 1061, i16 1062, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1072, i16 1073, i16 1074, i16 1078, i16 1079, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1103, i16 1104, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1112, i16 1113, i16 1116, i16 1117, i16 1120, i16 1121, i16 1122, i16 1123, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1138, i16 1139, i16 1140, i16 1143, i16 1144, i16 1145, i16 1146, i16 1147, i16 1148, i16 1149, i16 1150, i16 1151, i16 1152, i16 1153, i16 1154, i16 1155, i16 1156, i16 1157, i16 1158, i16 1159, i16 1160, i16 1161, i16 1162, i16 1163, i16 1164, i16 1169, i16 1170, i16 1173, i16 1174, i16 1175, i16 1176, i16 1177, i16 1178, i16 1183, i16 1184, i16 1185, i16 1186, i16 1189, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1244, i16 1245, i16 1246, i16 1249, i16 1250, i16 1251, i16 1252, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1265, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1281, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1298, i16 1299, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1314, i16 1315, i16 1318, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1328, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 1336, i16 1337, i16 1338, i16 1339, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 1360, i16 1369, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1404, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1427, i16 1428, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1481, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 1528, i16 1529, i16 1530, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 1539, i16 1540, i16 1541, i16 1542, i16 1543, i16 1544, i16 1545, i16 1546, i16 1547, i16 1548, i16 1549, i16 1550, i16 1551, i16 1552, i16 1553, i16 1554, i16 1555, i16 1556, i16 1557, i16 1558, i16 1559, i16 1560, i16 1561, i16 1562, i16 1563, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 1595, i16 1596, i16 1597, i16 1598, i16 1599, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1611, i16 1612, i16 1613, i16 1614, i16 1615, i16 1616, i16 1617, i16 1618, i16 1619, i16 1620, i16 1621, i16 1622, i16 1623, i16 1624, i16 1625, i16 1626, i16 1627, i16 1628, i16 1629, i16 1630, i16 1631, i16 1632, i16 1633, i16 1634, i16 1635, i16 1636, i16 1637, i16 1638, i16 1639, i16 1640, i16 1641, i16 1642, i16 1643, i16 1644, i16 1645, i16 1646, i16 1647, i16 1648, i16 1649, i16 1650, i16 1651, i16 1652, i16 1653, i16 1654, i16 1655, i16 1656, i16 1657, i16 1658, i16 1659, i16 1660, i16 1661, i16 1662, i16 1663, i16 1664, i16 1665, i16 1666, i16 1667, i16 1668, i16 1669, i16 1670, i16 1671, i16 1672, i16 1673, i16 1674, i16 1675, i16 1676, i16 1677, i16 1678, i16 1679, i16 1680, i16 1681, i16 1682, i16 1683, i16 1684, i16 1685, i16 1686, i16 1687, i16 1688, i16 1689, i16 1690, i16 1691, i16 1692, i16 1693, i16 1694, i16 1695, i16 1696, i16 1697, i16 1698, i16 1699, i16 1700, i16 1701, i16 1702, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 1717, i16 1718, i16 1719, i16 1720, i16 1721, i16 1722, i16 1723, i16 1724, i16 1725, i16 1726, i16 1727, i16 1728, i16 1729, i16 1730, i16 1731, i16 1732, i16 1733, i16 1734, i16 1735, i16 1736, i16 1737, i16 1738, i16 1739, i16 1740, i16 1741, i16 1742, i16 1743, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 1749, i16 1750, i16 1751, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 1758, i16 1759, i16 1760, i16 1761, i16 1762, i16 1763, i16 1764, i16 1765, i16 1766, i16 1767, i16 1768, i16 1769, i16 1770, i16 1771, i16 1772, i16 1773, i16 1774, i16 1775, i16 1776, i16 1777, i16 1778, i16 1779, i16 1780, i16 1781, i16 1782, i16 1783, i16 1784, i16 1785, i16 1786, i16 1787, i16 1788, i16 1789, i16 1790, i16 1791, i16 1792, i16 1793, i16 1794, i16 1795, i16 1796, i16 1797, i16 1798, i16 1799, i16 1800, i16 1801, i16 1802, i16 1803, i16 1804, i16 1805, i16 1806, i16 1807, i16 1808, i16 1809, i16 1810, i16 1811, i16 1812, i16 1813, i16 1814, i16 1815, i16 1816, i16 1817, i16 1818, i16 1819, i16 1820, i16 1821, i16 1822, i16 1823, i16 1824, i16 1825, i16 1826, i16 1827, i16 1828, i16 1829, i16 1830, i16 1831, i16 1832, i16 1833, i16 1834, i16 1835, i16 1836, i16 1837, i16 1838, i16 1839, i16 1840, i16 1841, i16 1842, i16 1843, i16 1844, i16 1845, i16 1846, i16 1847, i16 1848, i16 1849, i16 1850, i16 1851, i16 1852, i16 1853, i16 1854, i16 1855, i16 1856, i16 1857, i16 1858, i16 1859, i16 1860, i16 1861, i16 1862, i16 1863, i16 1864, i16 1865, i16 1866, i16 1867, i16 1868, i16 1869, i16 1870, i16 1871, i16 1872, i16 1873, i16 1874, i16 1875, i16 1876, i16 1877, i16 1878, i16 1879, i16 1880, i16 1881, i16 1882, i16 1883, i16 1884, i16 1885, i16 1886, i16 1887, i16 1888, i16 1889, i16 1890, i16 1891, i16 1892, i16 1893, i16 1894, i16 1895, i16 1896, i16 1897, i16 1898, i16 1899, i16 1900, i16 1901, i16 1902, i16 1903, i16 1904, i16 1905, i16 1906, i16 1907, i16 1908, i16 1909, i16 1910, i16 1911, i16 1912, i16 1913, i16 1914, i16 1915, i16 1916, i16 1917, i16 1918, i16 1919, i16 1920, i16 1921, i16 1922, i16 1923, i16 1924, i16 1925, i16 1926, i16 1927, i16 1928, i16 1929, i16 1930, i16 1931, i16 1932, i16 1933, i16 1934, i16 1935, i16 1936, i16 1937, i16 1938, i16 1939, i16 1940, i16 1941, i16 1942, i16 1943, i16 1944, i16 1945, i16 1946, i16 1947, i16 1948, i16 1949, i16 1950, i16 1951, i16 1952, i16 1953, i16 1954, i16 1955, i16 1956, i16 1957, i16 1958, i16 1959, i16 1960, i16 1961, i16 1962, i16 1963, i16 1964, i16 1965, i16 1966, i16 1967, i16 1968, i16 1969, i16 1970, i16 1971, i16 1972, i16 1973, i16 1974, i16 1975, i16 1976, i16 1977, i16 1978, i16 1979, i16 1980, i16 1981, i16 1982, i16 1983, i16 1984, i16 1985, i16 1986, i16 1987, i16 1988, i16 1989, i16 1990, i16 1991, i16 1992, i16 1993, i16 1994, i16 1995, i16 1996, i16 1997, i16 1998, i16 1999, i16 2000, i16 2001, i16 2002, i16 2003, i16 2004, i16 2005, i16 2006, i16 2007, i16 2008, i16 2009, i16 2010, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 458, i16 459, i16 460, i16 461, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 482, i16 483, i16 484, i16 485, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 494, i16 495, i16 496, i16 497, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 520, i16 521, i16 522, i16 523, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 714, i16 715, i16 716, i16 717, i16 718, i16 719, i16 720, i16 721, i16 722, i16 723, i16 724, i16 725, i16 726, i16 727, i16 728, i16 729, i16 730, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 737, i16 738, i16 739, i16 740, i16 741, i16 742, i16 743, i16 744, i16 745, i16 746, i16 747, i16 748, i16 749, i16 750, i16 751, i16 752, i16 753, i16 754, i16 755, i16 756, i16 757, i16 758, i16 759, i16 760, i16 761, i16 762, i16 763, i16 764, i16 765, i16 766, i16 767, i16 768, i16 769, i16 770, i16 771, i16 772, i16 773, i16 774, i16 775, i16 776, i16 777, i16 778, i16 779, i16 780, i16 781, i16 782, i16 783, i16 784, i16 785, i16 786, i16 787, i16 788, i16 789, i16 790, i16 791, i16 792, i16 793, i16 794, i16 795, i16 796, i16 797, i16 798, i16 799, i16 800, i16 801, i16 802, i16 803, i16 804, i16 805, i16 806, i16 807, i16 808, i16 809, i16 810, i16 811, i16 812, i16 813, i16 814, i16 815, i16 816, i16 817, i16 818, i16 819, i16 820, i16 821, i16 822, i16 823, i16 824, i16 825, i16 826, i16 827, i16 828, i16 829, i16 830, i16 831, i16 832, i16 833, i16 834, i16 835, i16 836, i16 837, i16 838, i16 839, i16 840, i16 841, i16 842, i16 843, i16 844, i16 845, i16 846, i16 847, i16 848, i16 849, i16 850, i16 851, i16 852, i16 853, i16 854, i16 855, i16 856, i16 857, i16 858, i16 859, i16 860, i16 861, i16 862, i16 863, i16 864, i16 865, i16 866, i16 867, i16 868, i16 869, i16 870, i16 871, i16 872, i16 873, i16 874, i16 875, i16 876, i16 877, i16 878, i16 879, i16 880, i16 881, i16 882, i16 883, i16 884, i16 885, i16 886, i16 887, i16 888, i16 889, i16 890, i16 891, i16 892, i16 893, i16 894, i16 895, i16 896, i16 897, i16 898, i16 899, i16 900, i16 901, i16 902, i16 903, i16 904, i16 905, i16 906, i16 907, i16 908, i16 909, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 918, i16 919, i16 920, i16 921, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 929, i16 930, i16 931, i16 932, i16 933, i16 934, i16 935, i16 936, i16 937, i16 938, i16 939, i16 940, i16 941, i16 942, i16 943, i16 944, i16 945, i16 946, i16 947, i16 948, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 964, i16 965, i16 966, i16 967, i16 968, i16 969, i16 970, i16 971, i16 972, i16 973, i16 974, i16 975, i16 976, i16 977, i16 978, i16 979, i16 980, i16 981, i16 982, i16 983, i16 984, i16 985, i16 986, i16 987, i16 988, i16 989, i16 990, i16 991, i16 992, i16 993, i16 994, i16 995, i16 996, i16 997, i16 998, i16 999, i16 1000, i16 1001, i16 1002, i16 1003, i16 1004, i16 1005, i16 1006, i16 1007, i16 1008, i16 1009, i16 1010, i16 1011, i16 1012, i16 1013, i16 1014, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1023, i16 1024, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 1037, i16 1038, i16 1039, i16 1040, i16 1041, i16 1042, i16 1043, i16 1044, i16 1045, i16 1046, i16 1047, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 1058, i16 1059, i16 1060, i16 1061, i16 1062, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1070, i16 1071, i16 1072, i16 1073, i16 1074, i16 1075, i16 1076, i16 1077, i16 1078, i16 1079, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1088, i16 1089, i16 1090, i16 1091, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1099, i16 1100, i16 1101, i16 1102, i16 1103, i16 1104, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 1117, i16 1118, i16 1119, i16 1120, i16 1121, i16 1122, i16 1123, i16 1124, i16 1125, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1132, i16 1133, i16 1134, i16 1135, i16 1136, i16 1137, i16 1138, i16 1139, i16 1140, i16 1141, i16 1142, i16 1143, i16 1144, i16 1145, i16 1146, i16 1147, i16 1148, i16 1149, i16 1150, i16 1151, i16 1152, i16 1153, i16 1154, i16 1155, i16 1156, i16 1157, i16 1158, i16 1159, i16 1160, i16 1161, i16 1162, i16 1163, i16 1164, i16 1165, i16 1166, i16 1167, i16 1168, i16 1169, i16 1170, i16 1171, i16 1172, i16 1173, i16 1174, i16 1175, i16 1176, i16 1177, i16 1178, i16 1179, i16 1180, i16 1181, i16 1182, i16 1183, i16 1184, i16 1185, i16 1186, i16 1187, i16 1188, i16 1189, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1206, i16 1207, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1235, i16 1236, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1242, i16 1243, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 1251, i16 1252, i16 1253, i16 1254, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1263, i16 1264, i16 1265, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1281, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1314, i16 1315, i16 1316, i16 1317, i16 1318, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 1367, i16 1368, i16 1369, i16 1370, i16 1371, i16 1372, i16 1373, i16 1374, i16 1375, i16 1376, i16 1377, i16 1378, i16 1379, i16 1380, i16 1381, i16 1382, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 1390, i16 1391, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1400, i16 1401, i16 1402, i16 1403, i16 1404, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1418, i16 1419, i16 1420, i16 1421, i16 1422, i16 1423, i16 1424, i16 1425, i16 1426, i16 1427, i16 1428, i16 1429, i16 1430, i16 1431, i16 1432, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1440, i16 1441, i16 1442, i16 1443, i16 1444, i16 1445, i16 1446, i16 1447, i16 1448, i16 1449, i16 1450, i16 1451, i16 1452, i16 1453, i16 1454, i16 1455, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1481, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 1528, i16 1529, i16 1530, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 1539, i16 1540, i16 1541, i16 1542, i16 1543, i16 1544, i16 1545, i16 1546, i16 1547, i16 1548, i16 1549, i16 1550, i16 1551, i16 1552, i16 1553, i16 1554, i16 1555, i16 1556, i16 1557, i16 1558, i16 1559, i16 1560, i16 1561, i16 1562, i16 1563, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 1595, i16 1596, i16 1597, i16 1598, i16 1599, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1611, i16 1612, i16 1613, i16 1614, i16 1615, i16 1616, i16 1617, i16 1618, i16 1619, i16 1620, i16 1621, i16 1622, i16 1623, i16 1624, i16 1625, i16 1626, i16 1627, i16 1628, i16 1629, i16 1630, i16 1631, i16 1632, i16 1633, i16 1634, i16 1635, i16 1636, i16 1637, i16 1638, i16 1639, i16 1640, i16 1641, i16 1642, i16 1643, i16 1644, i16 1645, i16 1646, i16 1647, i16 1648, i16 1649, i16 1650, i16 1651, i16 1652, i16 1653, i16 1654, i16 1655, i16 1656, i16 1657, i16 1658, i16 1659, i16 1660, i16 1661, i16 1662, i16 1663, i16 1664, i16 1665, i16 1666, i16 1667, i16 1668, i16 1669, i16 1670, i16 1671, i16 1672, i16 1673, i16 1674, i16 1675, i16 1676, i16 1677, i16 1678, i16 1679, i16 1680, i16 1681, i16 1682, i16 1683, i16 1684, i16 1685, i16 1686, i16 1687, i16 1688, i16 1689, i16 1690, i16 1691, i16 1692, i16 1693, i16 1694, i16 1695, i16 1696, i16 1697, i16 1698, i16 1699, i16 1700, i16 1701, i16 1702, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 1717, i16 1718, i16 1719, i16 1720, i16 1721, i16 1722, i16 1723, i16 1724, i16 1725, i16 1726, i16 1727, i16 1728, i16 1729, i16 1730, i16 1731, i16 1732, i16 1733, i16 1734, i16 1735, i16 1736, i16 1737, i16 1738, i16 1739, i16 1740, i16 1741, i16 1742, i16 1743, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 1749, i16 1750, i16 1751, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 1758, i16 1759, i16 1760, i16 1761, i16 1762, i16 1763, i16 1764, i16 1765, i16 1766, i16 1767, i16 1768, i16 1769, i16 1770, i16 1771, i16 1772, i16 1773, i16 1774, i16 1775, i16 1776, i16 1777, i16 1778, i16 1779, i16 1780, i16 1781, i16 1782, i16 1783, i16 1784, i16 1785, i16 1786, i16 1787, i16 1788, i16 1789, i16 1790, i16 1791, i16 1792, i16 1793, i16 1794, i16 1795, i16 1796, i16 1797, i16 1798, i16 1799, i16 1800, i16 1801, i16 1802, i16 1803, i16 1804, i16 1805, i16 1806, i16 1807, i16 1808, i16 1809, i16 1810, i16 1811, i16 1812, i16 1813, i16 1814, i16 1815, i16 1816, i16 1817, i16 1818, i16 1819, i16 1820, i16 1821, i16 1822, i16 1823, i16 1824, i16 1825, i16 1826, i16 1827, i16 1828, i16 1829, i16 1830, i16 1831, i16 1832, i16 1833, i16 1834, i16 1835, i16 1836, i16 1837, i16 1838, i16 1839, i16 1840, i16 1841, i16 1842, i16 1843, i16 1844, i16 1845, i16 1846, i16 1847, i16 1848, i16 1849, i16 1850, i16 1851, i16 1852, i16 1853, i16 1854, i16 1855, i16 1856, i16 1857, i16 1858, i16 1859, i16 1860, i16 1861, i16 1862, i16 1863, i16 1864, i16 1865, i16 1866, i16 1867, i16 1868, i16 1869, i16 1870, i16 1871, i16 1872, i16 1873, i16 1874, i16 1875, i16 1876, i16 1877, i16 1878, i16 1879, i16 1880, i16 1881, i16 1882, i16 1883, i16 1884, i16 1885, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 2, i16 1, i16 3, i16 1, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 457, i16 458, i16 459, i16 460, i16 461, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 482, i16 483, i16 484, i16 485, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 494, i16 495, i16 496, i16 497, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 520, i16 521, i16 522, i16 523, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 714, i16 715, i16 716, i16 717, i16 718, i16 719, i16 720, i16 721, i16 722, i16 723, i16 724, i16 725, i16 726, i16 727, i16 728, i16 729, i16 730, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 737, i16 738, i16 739, i16 740, i16 741, i16 742, i16 743, i16 744, i16 745, i16 746, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1188, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1206, i16 1207, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1235, i16 1236, i16 1187, i16 1190, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1242, i16 1243, i16 1187, i16 1190, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 1251, i16 1252, i16 1187, i16 1190, i16 1253, i16 1254, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1263, i16 1264, i16 1265, i16 1187, i16 1190, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1281, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1187, i16 1190, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1187, i16 1314, i16 1315, i16 1316, i16 1317, i16 1318, i16 1190, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1329, i16 1330, i16 1331, i16 1187, i16 1190, i16 1332, i16 1333, i16 1334, i16 1335, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 1187, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 1367, i16 1368, i16 1369, i16 1370, i16 1371, i16 1372, i16 1373, i16 1187, i16 1374, i16 1375, i16 1190, i16 1376, i16 1377, i16 1378, i16 1187, i16 1190, i16 1379, i16 1380, i16 1381, i16 1382, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 1187, i16 1190, i16 1390, i16 1391, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1400, i16 1401, i16 1402, i16 1403, i16 1404, i16 1187, i16 1190, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1187, i16 1190, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1418, i16 1419, i16 1420, i16 1421, i16 1422, i16 1423, i16 1187, i16 1190, i16 1424, i16 1425, i16 1426, i16 1427, i16 1428, i16 1429, i16 1430, i16 1431, i16 1432, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1440, i16 1441, i16 1442, i16 1443, i16 1444, i16 1445, i16 1446, i16 1447, i16 1448, i16 1449, i16 1450, i16 1451, i16 1452, i16 1453, i16 1454, i16 1455, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1187, i16 1190, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1187, i16 1190, i16 1481, i16 1187, i16 1190, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1187, i16 1190, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1187, i16 1513, i16 1514, i16 1515, i16 1190, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 1528, i16 1529, i16 1530, i16 1187, i16 1190, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 1539, i16 1540, i16 1541, i16 1542, i16 1543, i16 1544, i16 1545, i16 1546, i16 1547, i16 1548, i16 1549, i16 1550, i16 1551, i16 1552, i16 1553, i16 1554, i16 1555, i16 1556, i16 1557, i16 1558, i16 1559, i16 1560, i16 1561, i16 1562, i16 1563, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1187, i16 1187, i16 1187, i16 1190, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1187, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 1595, i16 1596, i16 1597, i16 1598, i16 1599, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1187, i16 1611, i16 1612, i16 1613, i16 1614, i16 1611, i16 1615, i16 1611, i16 1616, i16 1611, i16 1617, i16 1611, i16 1618, i16 1619, i16 1620, i16 1611, i16 1621, i16 1611, i16 1622, i16 1623, i16 1624, i16 1611, i16 1625, i16 1611, i16 1626, i16 1627, i16 1628, i16 1629, i16 1630, i16 1631, i16 1611, i16 1632, i16 1611, i16 1633, i16 1611, i16 1634, i16 1611, i16 1635, i16 1611, i16 1636, i16 1611, i16 1637, i16 1638, i16 1639, i16 1611, i16 1640, i16 1611, i16 1641, i16 1611, i16 1642, i16 1643, i16 1611, i16 1644, i16 1611, i16 1645, i16 1646, i16 1647, i16 1648, i16 1649, i16 1650, i16 1611, i16 1651, i16 1611, i16 1652, i16 1611, i16 1653, i16 1611, i16 1654, i16 1655, i16 1656, i16 1657, i16 1658, i16 1657, i16 1659, i16 1657, i16 1660, i16 1657, i16 1661, i16 1657, i16 1662, i16 1657, i16 1663, i16 1657, i16 1664, i16 1657, i16 1665, i16 1657, i16 1666, i16 1657, i16 1667, i16 1657, i16 1668, i16 1657, i16 1669, i16 1657, i16 1670, i16 1657, i16 1671, i16 1657, i16 1672, i16 1657, i16 1673, i16 1657, i16 1674, i16 1657, i16 1675, i16 1657, i16 1676, i16 1657, i16 1677, i16 1657, i16 1678, i16 1657, i16 1679, i16 1657, i16 1680, i16 1657, i16 1681, i16 1657, i16 1682, i16 1657, i16 1683, i16 1657, i16 1684, i16 1657, i16 1685, i16 1657, i16 1686, i16 1657, i16 1687, i16 1657, i16 1688, i16 1657, i16 1689, i16 1657, i16 1690, i16 1657, i16 1691, i16 1657, i16 1692, i16 1657, i16 1693, i16 1657, i16 1694, i16 1657, i16 1695, i16 1657, i16 1696, i16 1657, i16 1697, i16 1657, i16 1698, i16 1699, i16 1700, i16 1657, i16 1701, i16 1699, i16 1702, i16 1657, i16 1703, i16 1657, i16 1704, i16 1657, i16 1705, i16 1657, i16 1706, i16 1657, i16 1707, i16 1657, i16 1708, i16 1657, i16 1709, i16 1657, i16 1710, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1189, i16 1189, i16 1189, i16 1189, i16 1712, i16 1712, i16 1713, i16 1714, i16 1714, i16 1714, i16 1714, i16 1714, i16 1714, i16 1712, i16 1712, i16 1715, i16 1715, i16 1715, i16 1712, i16 1716, i16 1716, i16 1716, i16 1716, i16 1712, i16 1712, i16 1712, i16 1717, i16 1717, i16 1717, i16 1717, i16 1717, i16 1717, i16 1717, i16 1712, i16 1718, i16 1718, i16 1718, i16 1718, i16 1712, i16 1719, i16 1719, i16 1719, i16 1719, i16 1712, i16 1720, i16 1720, i16 1720, i16 1720, i16 1712, i16 1721, i16 1721, i16 1721, i16 1721, i16 1712, i16 1722, i16 1722, i16 1712, i16 1723, i16 1723, i16 1712, i16 1724, i16 1724, i16 1712, i16 1725, i16 1725, i16 1712, i16 1726, i16 1726, i16 1726, i16 1726, i16 1712, i16 1727, i16 1727, i16 1727, i16 1727, i16 1712, i16 1728, i16 1728, i16 1728, i16 1728, i16 1712, i16 1729, i16 1729, i16 1729, i16 1729, i16 1712, i16 1730, i16 1730, i16 1730, i16 1730, i16 1712, i16 1731, i16 1731, i16 1731, i16 1731, i16 1712, i16 1732, i16 1732, i16 1732, i16 1732, i16 1712, i16 1733, i16 1733, i16 1733, i16 1733, i16 1712, i16 1734, i16 1734, i16 1734, i16 1734, i16 1712, i16 1735, i16 1735, i16 1735, i16 1735, i16 1712, i16 1736, i16 1736, i16 1736, i16 1736, i16 1712, i16 1737, i16 1737, i16 1737, i16 1737, i16 1712, i16 1738, i16 1738, i16 1738, i16 1738, i16 1712, i16 1739, i16 1739, i16 1739, i16 1739, i16 1712, i16 1740, i16 1740, i16 1740, i16 1740, i16 1712, i16 1741, i16 1741, i16 1712, i16 1742, i16 1742, i16 1712, i16 1743, i16 1743, i16 1743, i16 1743, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 1749, i16 1750, i16 1751, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 1758, i16 1759, i16 1760, i16 1761, i16 1762, i16 1712, i16 1763, i16 1763, i16 1763, i16 1712, i16 1764, i16 1764, i16 1764, i16 1712, i16 1765, i16 1765, i16 1765, i16 1765, i16 1712, i16 1766, i16 1766, i16 1766, i16 1712, i16 1767, i16 1767, i16 1767, i16 1712, i16 1768, i16 1768, i16 1768, i16 1768, i16 1712, i16 1769, i16 1769, i16 1769, i16 1712, i16 1770, i16 1770, i16 1770, i16 1712, i16 1771, i16 1771, i16 1771, i16 1771, i16 1712, i16 1772, i16 1772, i16 1772, i16 1712, i16 1773, i16 1773, i16 1773, i16 1712, i16 1774, i16 1774, i16 1774, i16 1712, i16 1775, i16 1775, i16 1775, i16 1712, i16 1776, i16 1776, i16 1776, i16 1712, i16 1777, i16 1777, i16 1777, i16 1712, i16 1778, i16 1778, i16 1778, i16 1712, i16 1779, i16 1779, i16 1779, i16 1712, i16 1780, i16 1780, i16 1780, i16 1780, i16 1780, i16 1712, i16 1781, i16 1781, i16 1781, i16 1712, i16 1782, i16 1782, i16 1782, i16 1712, i16 1783, i16 1712, i16 1784, i16 1712, i16 1785, i16 1712, i16 1786, i16 1712, i16 1787, i16 1712, i16 1788, i16 1788, i16 1788, i16 1788, i16 1788, i16 1712, i16 1789, i16 1789, i16 1789, i16 1789, i16 1789, i16 1712, i16 1790, i16 1790, i16 1790, i16 1790, i16 1790, i16 1712, i16 1791, i16 1791, i16 1791, i16 1791, i16 1791, i16 1712, i16 1792, i16 1792, i16 1792, i16 1792, i16 1792, i16 1712, i16 1793, i16 1712, i16 1794, i16 1712, i16 1795, i16 1712, i16 1796, i16 1712, i16 1797, i16 1712, i16 1798, i16 1798, i16 1798, i16 1712, i16 1799, i16 1799, i16 1799, i16 1712, i16 1800, i16 1800, i16 1800, i16 1712, i16 1801, i16 1712, i16 1802, i16 1712, i16 1803, i16 1712, i16 1804, i16 1712, i16 1805, i16 1712, i16 1806, i16 1806, i16 1806, i16 1712, i16 1807, i16 1712, i16 1808, i16 1712, i16 1809, i16 1712, i16 1810, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2093, i16 2094, i16 2095, i16 2096, i16 2097, i16 2098, i16 2099, i16 2100, i16 2101, i16 2102, i16 2103, i16 2104, i16 2105, i16 2106, i16 2107, i16 2108, i16 2109, i16 2110, i16 2111, i16 2112, i16 2113, i16 2114, i16 2115, i16 2116, i16 2117, i16 2118, i16 2119, i16 2120, i16 2121, i16 2122, i16 2123, i16 2124, i16 2125, i16 2126, i16 2127, i16 2128, i16 2129, i16 2130, i16 2131, i16 2132, i16 2133, i16 2134, i16 2135, i16 2136, i16 2137, i16 2138, i16 2139, i16 2140, i16 2141, i16 2142, i16 2143, i16 2144, i16 2145, i16 2146, i16 2147, i16 2148, i16 2149, i16 2150, i16 2151, i16 2091, i16 2152, i16 2153, i16 2154, i16 2155, i16 2156, i16 2157, i16 2093, i16 2158, i16 2159, i16 2160, i16 2161, i16 2162, i16 2163, i16 2164, i16 2091, i16 2093, i16 2165, i16 2166, i16 2167, i16 2168, i16 2169, i16 2170, i16 2171, i16 2172, i16 2173, i16 2174, i16 2175, i16 2176, i16 2177, i16 2178, i16 2179, i16 2091, i16 2093, i16 2180, i16 2181, i16 2182, i16 2183, i16 2184, i16 2185, i16 2186, i16 2187, i16 2188, i16 2189, i16 2190, i16 2191, i16 2192, i16 2193, i16 2194, i16 2091, i16 2093, i16 2195, i16 2196, i16 2197, i16 2198, i16 2199, i16 2200, i16 2201, i16 2202, i16 2203, i16 2204, i16 2205, i16 2206, i16 2207, i16 2208, i16 2209, i16 2210, i16 2211, i16 2212, i16 2213, i16 2214, i16 2215, i16 2216, i16 2217, i16 2218, i16 2219, i16 2220, i16 2221, i16 2222, i16 2223, i16 2224, i16 2225, i16 2226, i16 2227, i16 2228, i16 2229, i16 2230, i16 2231, i16 2232, i16 2233, i16 2234, i16 2235, i16 2236, i16 2237, i16 2238, i16 2239, i16 2240, i16 2241, i16 2242, i16 2243, i16 2091, i16 2093, i16 2244, i16 2245, i16 2246, i16 2247, i16 2248, i16 2091, i16 2249, i16 2250, i16 2251, i16 2252, i16 2253, i16 2093, i16 2254, i16 2255, i16 2256, i16 2257, i16 2258, i16 2259, i16 2260, i16 2261, i16 2262, i16 2263, i16 2264, i16 2265, i16 2266, i16 2267, i16 2268, i16 2269, i16 2270, i16 2091, i16 2093, i16 2271, i16 2272, i16 2273, i16 2274, i16 2275, i16 2276, i16 2277, i16 2278, i16 2279, i16 2280, i16 2281, i16 2282, i16 2283, i16 2284, i16 2285, i16 2091, i16 2093, i16 2286, i16 2287, i16 2093, i16 2288, i16 2289, i16 2290, i16 2291, i16 2292, i16 2293, i16 2294, i16 2295, i16 2296, i16 2297, i16 2298, i16 2299, i16 2300, i16 2301, i16 2302, i16 2303, i16 2304, i16 2305, i16 2306, i16 2307, i16 2308, i16 2309, i16 2310, i16 2311, i16 2312, i16 2313, i16 2314, i16 2315, i16 2316, i16 2317, i16 2318, i16 2319, i16 2320, i16 2091, i16 2321, i16 2322, i16 2093, i16 2323, i16 2324, i16 2325, i16 2091, i16 2093, i16 2326, i16 2327, i16 2328, i16 2329, i16 2330, i16 2331, i16 2332, i16 2333, i16 2334, i16 2335, i16 2336, i16 2337, i16 2338, i16 2091, i16 2339, i16 2093, i16 2340, i16 2341, i16 2342, i16 2343, i16 2344, i16 2345, i16 2346, i16 2347, i16 2348, i16 2349, i16 2350, i16 2351, i16 2352, i16 2353, i16 2354, i16 2355, i16 2356, i16 2357, i16 2358, i16 2091, i16 2093, i16 2359, i16 2360, i16 2361, i16 2362, i16 2363, i16 2364, i16 2365, i16 2091, i16 2093, i16 2366, i16 2367, i16 2368, i16 2369, i16 2370, i16 2371, i16 2372, i16 2373, i16 2374, i16 2375, i16 2376, i16 2377, i16 2378, i16 2379, i16 2380, i16 2381, i16 2382, i16 2383, i16 2091, i16 2384, i16 2385, i16 2093, i16 2386, i16 2387, i16 2388, i16 2389, i16 2390, i16 2391, i16 2392, i16 2393, i16 2394, i16 2395, i16 2396, i16 2397, i16 2398, i16 2399, i16 2400, i16 2401, i16 2402, i16 2403, i16 2404, i16 2405, i16 2406, i16 2407, i16 2408, i16 2409, i16 2410, i16 2411, i16 2412, i16 2413, i16 2414, i16 2415, i16 2416, i16 2417, i16 2418, i16 2419, i16 2420, i16 2421, i16 2422, i16 2423, i16 2424, i16 2425, i16 2426, i16 2427, i16 2428, i16 2429, i16 2430, i16 2431, i16 2432, i16 2433, i16 2434, i16 2435, i16 2436, i16 2437, i16 2438, i16 2439, i16 2440, i16 2441, i16 2442, i16 2443, i16 2444, i16 2445, i16 2446, i16 2447, i16 2448, i16 2449, i16 2450, i16 2451, i16 2091, i16 2452, i16 2453, i16 2093, i16 2454, i16 2455, i16 2456, i16 2457, i16 2458, i16 2091, i16 2093, i16 2459, i16 2091, i16 2093, i16 2460, i16 2461, i16 2462, i16 2463, i16 2464, i16 2465, i16 2466, i16 2467, i16 2468, i16 2469, i16 2470, i16 2471, i16 2472, i16 2473, i16 2474, i16 2475, i16 2476, i16 2178, i16 2477, i16 2091, i16 2093, i16 2478, i16 2479, i16 2480, i16 2481, i16 2482, i16 2483, i16 2484, i16 2485, i16 2486, i16 2487, i16 2488, i16 2489, i16 2490, i16 2491, i16 2492, i16 2493, i16 2178, i16 2494, i16 2495, i16 2496, i16 2091, i16 2497, i16 2498, i16 2499, i16 2093, i16 2500, i16 2501, i16 2502, i16 2503, i16 2504, i16 2505, i16 2506, i16 2507, i16 2508, i16 2509, i16 2510, i16 2511, i16 2512, i16 2513, i16 2514, i16 2091, i16 2515, i16 2516, i16 2093, i16 2517, i16 2518, i16 2519, i16 2520, i16 2521, i16 2522, i16 2523, i16 2524, i16 2525, i16 2526, i16 2527, i16 2528, i16 2529, i16 2530, i16 2531, i16 2532, i16 2533, i16 2534, i16 2535, i16 2536, i16 2537, i16 2538, i16 2539, i16 2540, i16 2541, i16 2542, i16 2543, i16 2544, i16 2545, i16 2546, i16 2547, i16 2548, i16 2549, i16 2550, i16 2551, i16 2552, i16 2553, i16 2554, i16 2555, i16 2556, i16 2557, i16 2558, i16 2559, i16 2560, i16 2561, i16 2562, i16 2563, i16 2564, i16 2565, i16 2566, i16 2567, i16 2568, i16 2569, i16 2570, i16 2571, i16 2572, i16 2573, i16 2574, i16 2575, i16 2576, i16 2577, i16 2091, i16 2093, i16 2578, i16 2579, i16 2580, i16 2581, i16 2582, i16 2091, i16 2093, i16 2583, i16 2584, i16 2585, i16 2586, i16 2587, i16 2588, i16 2589, i16 2590, i16 2591, i16 2592, i16 2593, i16 2594, i16 2595, i16 2091, i16 2093, i16 2596, i16 2597, i16 2598, i16 2599, i16 2600, i16 2091, i16 2093, i16 2601, i16 2602, i16 2603, i16 2604, i16 2605, i16 2606, i16 2607, i16 2608, i16 2609, i16 2610, i16 2611, i16 2612, i16 2613, i16 2614, i16 2615, i16 2616, i16 2617, i16 2091, i16 2093, i16 2618, i16 2619, i16 2620, i16 2621, i16 2622, i16 2623, i16 2624, i16 2625, i16 2626, i16 2627, i16 2628, i16 2629, i16 2630, i16 2091, i16 2178, i16 2631, i16 2632, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2634, i16 2635, i16 2636, i16 2637, i16 2638, i16 2639, i16 2640, i16 2641, i16 2642, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2643, i16 2092, i16 2644, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2645, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2646, i16 2647, i16 2648, i16 2649, i16 2650, i16 2647, i16 2651, i16 2647, i16 2652, i16 2647, i16 2653, i16 2647, i16 2654, i16 2655, i16 2656, i16 2647, i16 2657, i16 2647, i16 2658, i16 2659, i16 2660, i16 2647, i16 2661, i16 2647, i16 2662, i16 2663, i16 2664, i16 2665, i16 2666, i16 2667, i16 2647, i16 2668, i16 2647, i16 2669, i16 2647, i16 2670, i16 2647, i16 2671, i16 2647, i16 2672, i16 2647, i16 2673, i16 2674, i16 2675, i16 2647, i16 2676, i16 2647, i16 2677, i16 2647, i16 2678, i16 2679, i16 2647, i16 2680, i16 2647, i16 2681, i16 2682, i16 2683, i16 2684, i16 2685, i16 2686, i16 2647, i16 2687, i16 2647, i16 2688, i16 2647, i16 2689, i16 2647, i16 2690, i16 2691, i16 2692, i16 2693, i16 2694, i16 2693, i16 2695, i16 2693, i16 2696, i16 2693, i16 2697, i16 2693, i16 2698, i16 2693, i16 2699, i16 2693, i16 2700, i16 2693, i16 2701, i16 2693, i16 2702, i16 2693, i16 2703, i16 2693, i16 2704, i16 2693, i16 2705, i16 2693, i16 2706, i16 2693, i16 2707, i16 2693, i16 2708, i16 2693, i16 2709, i16 2693, i16 2710, i16 2693, i16 2711, i16 2693, i16 2712, i16 2693, i16 2713, i16 2693, i16 2714, i16 2693, i16 2715, i16 2693, i16 2716, i16 2693, i16 2717, i16 2693, i16 2718, i16 2693, i16 2719, i16 2693, i16 2720, i16 2693, i16 2721, i16 2693, i16 2722, i16 2693, i16 2723, i16 2693, i16 2724, i16 2693, i16 2725, i16 2693, i16 2726, i16 2693, i16 2727, i16 2693, i16 2728, i16 2693, i16 2729, i16 2693, i16 2730, i16 2693, i16 2731, i16 2693, i16 2732, i16 2693, i16 2733, i16 2693, i16 2734, i16 2735, i16 2736, i16 2693, i16 2737, i16 2735, i16 2738, i16 2693, i16 2739, i16 2693, i16 2740, i16 2693, i16 2741, i16 2693, i16 2742, i16 2693, i16 2743, i16 2693, i16 2744, i16 2693, i16 2745, i16 2693, i16 2746, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2092, i16 2092, i16 2092, i16 2092, i16 2632, i16 2632, i16 2748, i16 2749, i16 2749, i16 2749, i16 2749, i16 2749, i16 2749, i16 2632, i16 2632, i16 2750, i16 2750, i16 2750, i16 2632, i16 2751, i16 2751, i16 2751, i16 2751, i16 2632, i16 2632, i16 2632, i16 2752, i16 2752, i16 2752, i16 2752, i16 2752, i16 2752, i16 2752, i16 2632, i16 2753, i16 2753, i16 2753, i16 2753, i16 2632, i16 2754, i16 2754, i16 2754, i16 2754, i16 2632, i16 2755, i16 2755, i16 2755, i16 2755, i16 2632, i16 2756, i16 2756, i16 2756, i16 2756, i16 2632, i16 2757, i16 2757, i16 2632, i16 2758, i16 2758, i16 2632, i16 2759, i16 2759, i16 2632, i16 2760, i16 2760, i16 2632, i16 2761, i16 2761, i16 2761, i16 2761, i16 2632, i16 2762, i16 2762, i16 2762, i16 2762, i16 2632, i16 2763, i16 2763, i16 2763, i16 2763, i16 2632, i16 2764, i16 2764, i16 2764, i16 2764, i16 2632, i16 2765, i16 2765, i16 2765, i16 2765, i16 2632, i16 2766, i16 2766, i16 2766, i16 2766, i16 2632, i16 2767, i16 2767, i16 2767, i16 2767, i16 2632, i16 2768, i16 2768, i16 2768, i16 2768, i16 2632, i16 2769, i16 2769, i16 2769, i16 2769, i16 2632, i16 2770, i16 2770, i16 2770, i16 2770, i16 2632, i16 2771, i16 2771, i16 2771, i16 2771, i16 2632, i16 2772, i16 2772, i16 2772, i16 2772, i16 2632, i16 2773, i16 2773, i16 2773, i16 2773, i16 2632, i16 2774, i16 2774, i16 2774, i16 2774, i16 2632, i16 2775, i16 2775, i16 2775, i16 2775, i16 2632, i16 2776, i16 2776, i16 2632, i16 2777, i16 2777, i16 2632, i16 2778, i16 2778, i16 2778, i16 2778, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2633, i16 2634, i16 2635, i16 2636, i16 2637, i16 2638, i16 2639, i16 2640, i16 2641, i16 2642, i16 2780, i16 2781, i16 2782, i16 2783, i16 2784, i16 2785, i16 2786, i16 2787, i16 2632, i16 2788, i16 2788, i16 2788, i16 2632, i16 2789, i16 2789, i16 2789, i16 2632, i16 2790, i16 2790, i16 2790, i16 2790, i16 2632, i16 2791, i16 2791, i16 2791, i16 2632, i16 2792, i16 2792, i16 2792, i16 2632, i16 2793, i16 2793, i16 2793, i16 2793, i16 2632, i16 2794, i16 2794, i16 2794, i16 2632, i16 2795, i16 2795, i16 2795, i16 2632, i16 2796, i16 2796, i16 2796, i16 2796, i16 2632, i16 2797, i16 2797, i16 2797, i16 2632, i16 2798, i16 2798, i16 2798, i16 2632, i16 2799, i16 2799, i16 2799, i16 2632, i16 2800, i16 2800, i16 2800, i16 2632, i16 2801, i16 2801, i16 2801, i16 2632, i16 2802, i16 2802, i16 2802, i16 2632, i16 2803, i16 2803, i16 2803, i16 2632, i16 2804, i16 2804, i16 2804, i16 2632, i16 2805, i16 2805, i16 2805, i16 2805, i16 2805, i16 2632, i16 2806, i16 2806, i16 2806, i16 2632, i16 2807, i16 2807, i16 2807, i16 2632, i16 2808, i16 2632, i16 2809, i16 2632, i16 2810, i16 2632, i16 2811, i16 2632, i16 2812, i16 2632, i16 2813, i16 2813, i16 2813, i16 2813, i16 2813, i16 2632, i16 2814, i16 2814, i16 2814, i16 2814, i16 2814, i16 2632, i16 2815, i16 2815, i16 2815, i16 2815, i16 2815, i16 2632, i16 2816, i16 2816, i16 2816, i16 2816, i16 2816, i16 2632, i16 2817, i16 2817, i16 2817, i16 2817, i16 2817, i16 2632, i16 2818, i16 2632, i16 2819, i16 2632, i16 2820, i16 2632, i16 2821, i16 2632, i16 2822, i16 2632, i16 2823, i16 2823, i16 2823, i16 2632, i16 2824, i16 2824, i16 2824, i16 2632, i16 2825, i16 2825, i16 2825, i16 2632, i16 2826, i16 2632, i16 2827, i16 2632, i16 2828, i16 2632, i16 2829, i16 2632, i16 2830, i16 2632, i16 2831, i16 2831, i16 2831, i16 2632, i16 2832, i16 2632, i16 2833, i16 2632, i16 2834, i16 2632, i16 2835, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2837, i16 2836, i16 2838, i16 2836, i16 2839, i16 2836, i16 2840, i16 2836, i16 2841, i16 2836, i16 2842, i16 2836, i16 2843, i16 2836, i16 2844, i16 2836, i16 2845, i16 2836, i16 2846, i16 2836, i16 2847, i16 2836, i16 2848, i16 2836, i16 2849, i16 2836, i16 2850, i16 2836, i16 2851, i16 2836, i16 2852, i16 2836, i16 2853, i16 2836, i16 2854, i16 2836, i16 2855, i16 2836, i16 2856, i16 2836, i16 2857, i16 2836, i16 2858, i16 2836, i16 2859, i16 2836, i16 2860, i16 2836, i16 2861, i16 2836, i16 2862, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2836, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2646, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2866, i16 2867, i16 2866, i16 2868, i16 2866, i16 2869, i16 2866, i16 2870, i16 2866, i16 2871, i16 2866, i16 2872, i16 2866, i16 2873, i16 2866, i16 2874, i16 2866, i16 2875, i16 2866, i16 2876, i16 2877, i16 2878, i16 2877, i16 2879, i16 2877, i16 2880, i16 2877, i16 2881, i16 2877, i16 2882, i16 2877, i16 2883, i16 2877, i16 2884, i16 2877, i16 2885, i16 2877, i16 2886, i16 2877, i16 2887, i16 2877, i16 2888, i16 2877, i16 2889, i16 2877, i16 2890, i16 2877, i16 2891, i16 2877, i16 2892, i16 2877, i16 2893, i16 2877, i16 2894, i16 2877, i16 2895, i16 2877, i16 2896, i16 2877, i16 2897, i16 2877, i16 2898, i16 2877, i16 2899, i16 2877, i16 2900, i16 2877, i16 2901, i16 2877, i16 2902, i16 2877, i16 2903, i16 2866, i16 2904, i16 2905, i16 2906, i16 2907, i16 2908, i16 2866, i16 2909, i16 2910, i16 2911, i16 2912, i16 2913, i16 2866, i16 2914, i16 2915, i16 2916, i16 2917, i16 2918, i16 2866, i16 2919, i16 2920, i16 2921, i16 2922, i16 2923, i16 2866, i16 2924, i16 2925, i16 2926, i16 2927, i16 2928, i16 2866, i16 2929, i16 2930, i16 2931, i16 2932, i16 2933, i16 2866, i16 2934, i16 2935, i16 2936, i16 2937, i16 2938, i16 2866, i16 2939, i16 2940, i16 2941, i16 2942, i16 2943, i16 2866, i16 2944, i16 2945, i16 2946, i16 2947, i16 2948, i16 2866, i16 2949, i16 2950, i16 2951, i16 2952, i16 2953, i16 2866, i16 2954, i16 2955, i16 2956, i16 2957, i16 2958, i16 2866, i16 2959, i16 2960, i16 2961, i16 2962, i16 2963, i16 2866, i16 2964, i16 2965, i16 2966, i16 2967, i16 2968, i16 2866, i16 2969, i16 2970, i16 2971, i16 2972, i16 2973, i16 2866, i16 2974, i16 2975, i16 2976, i16 2977, i16 2978, i16 2866, i16 2979, i16 2980, i16 2981, i16 2982, i16 2983, i16 2866, i16 2984, i16 2985, i16 2986, i16 2987, i16 2988, i16 2866, i16 2989, i16 2990, i16 2991, i16 2992, i16 2993, i16 2866, i16 2994, i16 2995, i16 2996, i16 2997, i16 2998, i16 2866, i16 2999, i16 3000, i16 3001, i16 3002, i16 3003, i16 2866, i16 3004, i16 3005, i16 3006, i16 3007, i16 3008, i16 2866, i16 3009, i16 3010, i16 3011, i16 3012, i16 3013, i16 2866, i16 3014, i16 3015, i16 3016, i16 3017, i16 3018, i16 2866, i16 3019, i16 3020, i16 3021, i16 3022, i16 3023, i16 2866, i16 3024, i16 3025, i16 3026, i16 3027, i16 3028, i16 2866, i16 3029, i16 3030, i16 3031, i16 3032, i16 3033, i16 2866, i16 3034, i16 3035, i16 3036, i16 3037, i16 3038, i16 2866, i16 3039, i16 3040, i16 3041, i16 3042, i16 3043, i16 2866, i16 3044, i16 3045, i16 3046, i16 3047, i16 3048, i16 2866, i16 3049, i16 3050, i16 3051, i16 3052, i16 3053, i16 2866, i16 3054, i16 3055, i16 3056, i16 3057, i16 3058, i16 2866, i16 3059, i16 3060, i16 3061, i16 3062, i16 3063, i16 2866, i16 3064, i16 3065, i16 3066, i16 3067, i16 3068, i16 2866, i16 3069, i16 3070, i16 3071, i16 3072, i16 3073, i16 2866, i16 3074, i16 3075, i16 3076, i16 3077, i16 3078, i16 2866, i16 2866, i16 3079, i16 3080, i16 3081, i16 3082, i16 3083, i16 2866, i16 2866, i16 3084, i16 3085, i16 3086, i16 3087, i16 3088, i16 2866, i16 3089, i16 3090, i16 3091, i16 3092, i16 3093, i16 2866, i16 3094, i16 3095, i16 3096, i16 3097, i16 3098, i16 2866, i16 3099, i16 3100, i16 3101, i16 3102, i16 3103, i16 2866, i16 3104, i16 3105, i16 3106, i16 3107, i16 3108, i16 2866, i16 3109, i16 3110, i16 3111, i16 3112, i16 3113, i16 2866, i16 3114, i16 3115, i16 3116, i16 3117, i16 3118, i16 2866, i16 3119, i16 3120, i16 3121, i16 3122, i16 3123, i16 2866, i16 2866, i16 2866, i16 2866, i16 3124, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 99, i16 104, i16 112, i16 117, i16 122, i16 124, i16 126, i16 128, i16 130, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 1162, i16 296, i16 0, i16 704, i16 0, i16 1166, i16 293, i16 0, i16 714, i16 0, i16 1168, i16 296, i16 0, i16 1167, i16 293, i16 0, i16 723, i16 0, i16 1169, i16 299, i16 0, i16 728, i16 0, i16 1170, i16 293, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 49, i16 51, i16 53, i16 55, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 83, i16 85, i16 87, i16 89, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 1174, i16 169, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 1176, i16 169, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 1173, i16 169, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 1175, i16 169, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 1222, i16 411, i16 0, i16 1221, i16 491, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 1219, i16 411, i16 0, i16 1220, i16 491, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 48, i16 50, i16 52, i16 54, i16 62, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 94, i16 96, i16 98, i16 100, i16 108, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 138, i16 140, i16 142, i16 144, i16 146, i16 148, i16 478, i16 0, i16 1265, i16 1008, i16 0, i16 1264, i16 1047, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 1269, i16 421, i16 0, i16 1268, i16 501, i16 0, i16 504, i16 0, i16 1273, i16 421, i16 0, i16 1272, i16 501, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 1262, i16 1008, i16 0, i16 1263, i16 1047, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 1266, i16 421, i16 0, i16 1267, i16 501, i16 0, i16 425, i16 0, i16 1270, i16 421, i16 0, i16 1271, i16 501, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 52, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 92, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 1318, i16 989, i16 0, i16 1317, i16 1029, i16 0, i16 491, i16 0, i16 1322, i16 401, i16 0, i16 1321, i16 481, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 1315, i16 989, i16 0, i16 1316, i16 1029, i16 0, i16 411, i16 0, i16 1319, i16 401, i16 0, i16 1320, i16 481, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 1222, i16 411, i16 0, i16 1221, i16 491, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1328, i16 413, i16 0, i16 1327, i16 493, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 1219, i16 411, i16 0, i16 1220, i16 491, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1325, i16 413, i16 0, i16 1326, i16 493, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 62, i16 142, i16 144, i16 168, i16 170, i16 194, i16 218, i16 220, i16 222, i16 224, i16 248, i16 272, i16 274, i16 298, i16 322, i16 402, i16 404, i16 428, i16 430, i16 454, i16 478, i16 480, i16 482, i16 484, i16 508, i16 532, i16 534, i16 558, i16 560, i16 562, i16 564, i16 566, i16 568, i16 570, i16 572, i16 574, i16 576, i16 1425, i16 451, i16 0, i16 1429, i16 398, i16 451, i16 0, i16 1428, i16 398, i16 528, i16 0, i16 1424, i16 528, i16 0, i16 1427, i16 478, i16 451, i16 0, i16 1426, i16 478, i16 528, i16 0, i16 478, i16 0, i16 1451, i16 471, i16 451, i16 0, i16 1450, i16 471, i16 528, i16 0, i16 1437, i16 471, i16 0, i16 1459, i16 399, i16 471, i16 451, i16 0, i16 1458, i16 399, i16 471, i16 528, i16 0, i16 1441, i16 399, i16 471, i16 0, i16 1457, i16 399, i16 548, i16 451, i16 0, i16 1456, i16 399, i16 548, i16 528, i16 0, i16 1440, i16 399, i16 548, i16 0, i16 1449, i16 548, i16 451, i16 0, i16 1448, i16 548, i16 528, i16 0, i16 1436, i16 548, i16 0, i16 1455, i16 479, i16 471, i16 451, i16 0, i16 1454, i16 479, i16 471, i16 528, i16 0, i16 1439, i16 479, i16 471, i16 0, i16 1453, i16 479, i16 548, i16 451, i16 0, i16 1452, i16 479, i16 548, i16 528, i16 0, i16 1438, i16 479, i16 548, i16 0, i16 479, i16 0, i16 490, i16 0, i16 1473, i16 467, i16 0, i16 1477, i16 411, i16 467, i16 0, i16 1476, i16 411, i16 544, i16 0, i16 1472, i16 544, i16 0, i16 1475, i16 491, i16 467, i16 0, i16 1474, i16 491, i16 544, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 1485, i16 467, i16 0, i16 1489, i16 425, i16 467, i16 0, i16 1488, i16 425, i16 544, i16 0, i16 1484, i16 544, i16 0, i16 1487, i16 504, i16 467, i16 0, i16 1486, i16 504, i16 544, i16 0, i16 504, i16 0, i16 1497, i16 467, i16 0, i16 1501, i16 432, i16 467, i16 0, i16 1500, i16 432, i16 544, i16 0, i16 1496, i16 544, i16 0, i16 1499, i16 511, i16 467, i16 0, i16 1498, i16 511, i16 544, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 1509, i16 471, i16 0, i16 1513, i16 451, i16 471, i16 0, i16 1512, i16 451, i16 548, i16 0, i16 1508, i16 548, i16 0, i16 1511, i16 528, i16 471, i16 0, i16 1510, i16 528, i16 548, i16 0, i16 528, i16 0, i16 1521, i16 467, i16 0, i16 1525, i16 453, i16 467, i16 0, i16 1524, i16 453, i16 544, i16 0, i16 1520, i16 544, i16 0, i16 1523, i16 530, i16 467, i16 0, i16 1522, i16 530, i16 544, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 1537, i16 471, i16 451, i16 0, i16 1536, i16 471, i16 528, i16 0, i16 1533, i16 451, i16 0, i16 1535, i16 548, i16 451, i16 0, i16 1534, i16 548, i16 528, i16 0, i16 1532, i16 528, i16 0, i16 548, i16 0, i16 1431, i16 451, i16 0, i16 1435, i16 398, i16 451, i16 0, i16 1434, i16 398, i16 528, i16 0, i16 1430, i16 528, i16 0, i16 1433, i16 478, i16 451, i16 0, i16 1432, i16 478, i16 528, i16 0, i16 398, i16 0, i16 1463, i16 471, i16 451, i16 0, i16 1462, i16 471, i16 528, i16 0, i16 1443, i16 471, i16 0, i16 1471, i16 399, i16 471, i16 451, i16 0, i16 1470, i16 399, i16 471, i16 528, i16 0, i16 1447, i16 399, i16 471, i16 0, i16 1469, i16 399, i16 548, i16 451, i16 0, i16 1468, i16 399, i16 548, i16 528, i16 0, i16 1446, i16 399, i16 548, i16 0, i16 1461, i16 548, i16 451, i16 0, i16 1460, i16 548, i16 528, i16 0, i16 1442, i16 548, i16 0, i16 1467, i16 479, i16 471, i16 451, i16 0, i16 1466, i16 479, i16 471, i16 528, i16 0, i16 1445, i16 479, i16 471, i16 0, i16 1465, i16 479, i16 548, i16 451, i16 0, i16 1464, i16 479, i16 548, i16 528, i16 0, i16 1444, i16 479, i16 548, i16 0, i16 399, i16 0, i16 410, i16 0, i16 1478, i16 467, i16 0, i16 1483, i16 411, i16 467, i16 0, i16 1482, i16 411, i16 544, i16 0, i16 1479, i16 544, i16 0, i16 1481, i16 491, i16 467, i16 0, i16 1480, i16 491, i16 544, i16 0, i16 411, i16 0, i16 990, i16 0, i16 1490, i16 467, i16 0, i16 1495, i16 425, i16 467, i16 0, i16 1494, i16 425, i16 544, i16 0, i16 1491, i16 544, i16 0, i16 1493, i16 504, i16 467, i16 0, i16 1492, i16 504, i16 544, i16 0, i16 425, i16 0, i16 1502, i16 467, i16 0, i16 1507, i16 432, i16 467, i16 0, i16 1506, i16 432, i16 544, i16 0, i16 1503, i16 544, i16 0, i16 1505, i16 511, i16 467, i16 0, i16 1504, i16 511, i16 544, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 1515, i16 471, i16 0, i16 1519, i16 451, i16 471, i16 0, i16 1518, i16 451, i16 548, i16 0, i16 1514, i16 548, i16 0, i16 1517, i16 528, i16 471, i16 0, i16 1516, i16 528, i16 548, i16 0, i16 451, i16 0, i16 1527, i16 467, i16 0, i16 1531, i16 453, i16 467, i16 0, i16 1530, i16 453, i16 544, i16 0, i16 1526, i16 544, i16 0, i16 1529, i16 530, i16 467, i16 0, i16 1528, i16 530, i16 544, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 1543, i16 471, i16 451, i16 0, i16 1542, i16 471, i16 528, i16 0, i16 1539, i16 451, i16 0, i16 1541, i16 548, i16 451, i16 0, i16 1540, i16 548, i16 528, i16 0, i16 1538, i16 528, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 112, i16 117, i16 122, i16 127, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1559, i16 1554, i16 0, i16 1556, i16 1552, i16 0, i16 1073, i16 0, i16 1560, i16 1553, i16 0, i16 582, i16 0, i16 1562, i16 1553, i16 0, i16 1080, i16 0, i16 1563, i16 1553, i16 0, i16 1082, i16 0, i16 1561, i16 1553, i16 0, i16 1564, i16 0, i16 38, i16 46, i16 54, i16 62, i16 64, i16 66, i16 74, i16 82, i16 84, i16 92, i16 100, i16 102, i16 110, i16 112, i16 114, i16 122, i16 130, i16 138, i16 140, i16 142, i16 150, i16 158, i16 160, i16 168, i16 176, i16 178, i16 186, i16 188, i16 190, i16 192, i16 194, i16 196, i16 198, i16 200, i16 202, i16 204, i16 206, i16 208, i16 1591, i16 413, i16 0, i16 1590, i16 493, i16 0, i16 478, i16 0, i16 1595, i16 399, i16 0, i16 1594, i16 479, i16 0, i16 479, i16 0, i16 1599, i16 410, i16 0, i16 1598, i16 490, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 1603, i16 425, i16 0, i16 1602, i16 504, i16 0, i16 504, i16 0, i16 1222, i16 411, i16 0, i16 1221, i16 491, i16 0, i16 511, i16 0, i16 515, i16 0, i16 1607, i16 413, i16 0, i16 1606, i16 493, i16 0, i16 522, i16 0, i16 1611, i16 413, i16 0, i16 1610, i16 493, i16 0, i16 524, i16 0, i16 528, i16 0, i16 1615, i16 413, i16 0, i16 1614, i16 493, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 1588, i16 413, i16 0, i16 1589, i16 493, i16 0, i16 398, i16 0, i16 1592, i16 399, i16 0, i16 1593, i16 479, i16 0, i16 399, i16 0, i16 1596, i16 410, i16 0, i16 1597, i16 490, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 1600, i16 425, i16 0, i16 1601, i16 504, i16 0, i16 425, i16 0, i16 1219, i16 411, i16 0, i16 1220, i16 491, i16 0, i16 432, i16 0, i16 437, i16 0, i16 1604, i16 413, i16 0, i16 1605, i16 493, i16 0, i16 445, i16 0, i16 1608, i16 413, i16 0, i16 1609, i16 493, i16 0, i16 447, i16 0, i16 451, i16 0, i16 1612, i16 413, i16 0, i16 1613, i16 493, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 138, i16 140, i16 1591, i16 413, i16 0, i16 1590, i16 493, i16 0, i16 1621, i16 169, i16 413, i16 0, i16 1620, i16 169, i16 493, i16 0, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 1588, i16 413, i16 0, i16 1589, i16 493, i16 0, i16 1618, i16 169, i16 413, i16 0, i16 1619, i16 169, i16 493, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 10, i16 12, i16 14, i16 16, i16 18, i16 20, i16 22, i16 24, i16 26, i16 28, i16 681, i16 0, i16 738, i16 0, i16 749, i16 0, i16 901, i16 0, i16 927, i16 0, i16 682, i16 0, i16 739, i16 0, i16 750, i16 0, i16 902, i16 0, i16 928, i16 0, i16 10, i16 18, i16 20, i16 22, i16 24, i16 26, i16 34, i16 36, i16 38, i16 40, i16 1884, i16 682, i16 0, i16 1883, i16 681, i16 0, i16 681, i16 0, i16 738, i16 0, i16 749, i16 0, i16 901, i16 0, i16 927, i16 0, i16 1886, i16 682, i16 0, i16 1885, i16 681, i16 0, i16 682, i16 0, i16 739, i16 0, i16 750, i16 0, i16 902, i16 0, i16 928, i16 0, i16 10, i16 12, i16 14, i16 22, i16 30, i16 38, i16 40, i16 42, i16 50, i16 58, i16 681, i16 0, i16 738, i16 0, i16 1928, i16 1880, i16 0, i16 1927, i16 1879, i16 0, i16 749, i16 0, i16 1932, i16 884, i16 0, i16 1931, i16 883, i16 0, i16 901, i16 0, i16 1936, i16 884, i16 0, i16 1935, i16 883, i16 0, i16 927, i16 0, i16 682, i16 0, i16 739, i16 0, i16 1930, i16 1880, i16 0, i16 1929, i16 1879, i16 0, i16 750, i16 0, i16 1934, i16 884, i16 0, i16 1933, i16 883, i16 0, i16 902, i16 0, i16 1938, i16 884, i16 0, i16 1937, i16 883, i16 0, i16 928, i16 0, i16 10, i16 12, i16 20, i16 22, i16 30, i16 32, i16 34, i16 42, i16 44, i16 52, i16 681, i16 0, i16 1940, i16 837, i16 0, i16 1939, i16 836, i16 0, i16 738, i16 0, i16 749, i16 0, i16 1944, i16 902, i16 0, i16 1943, i16 901, i16 0, i16 901, i16 0, i16 927, i16 0, i16 682, i16 0, i16 1942, i16 837, i16 0, i16 1941, i16 836, i16 0, i16 739, i16 0, i16 750, i16 0, i16 1946, i16 902, i16 0, i16 1945, i16 901, i16 0, i16 902, i16 0, i16 928, i16 0, i16 2, i16 10, i16 295, i16 278, i16 0, i16 294, i16 277, i16 0, i16 161, i16 0, i16 296, i16 278, i16 0, i16 162, i16 0, i16 5, i16 139, i16 273, i16 407, i16 541, i16 387, i16 386, i16 0, i16 381, i16 380, i16 0, i16 375, i16 374, i16 0, i16 369, i16 368, i16 0, i16 363, i16 362, i16 0, i16 357, i16 356, i16 0, i16 351, i16 350, i16 0, i16 345, i16 344, i16 0, i16 338, i16 337, i16 0, i16 331, i16 330, i16 0, i16 325, i16 324, i16 0, i16 319, i16 318, i16 0, i16 313, i16 312, i16 0, i16 307, i16 306, i16 0, i16 301, i16 300, i16 0, i16 295, i16 294, i16 0, i16 289, i16 288, i16 0, i16 283, i16 282, i16 0, i16 277, i16 276, i16 0, i16 271, i16 270, i16 0, i16 265, i16 264, i16 0, i16 259, i16 258, i16 0, i16 253, i16 252, i16 0, i16 247, i16 246, i16 0, i16 241, i16 240, i16 0, i16 235, i16 234, i16 0, i16 229, i16 228, i16 0, i16 223, i16 222, i16 0, i16 217, i16 216, i16 0, i16 211, i16 210, i16 0, i16 205, i16 204, i16 0, i16 199, i16 198, i16 0, i16 193, i16 192, i16 0, i16 187, i16 186, i16 0, i16 181, i16 180, i16 0, i16 175, i16 174, i16 0, i16 169, i16 168, i16 0, i16 163, i16 162, i16 0, i16 157, i16 156, i16 0, i16 151, i16 150, i16 0, i16 145, i16 144, i16 0, i16 139, i16 138, i16 0, i16 133, i16 132, i16 0, i16 127, i16 126, i16 0, i16 404, i16 0, i16 388, i16 386, i16 0, i16 382, i16 380, i16 0, i16 376, i16 374, i16 0, i16 370, i16 368, i16 0, i16 364, i16 362, i16 0, i16 358, i16 356, i16 0, i16 352, i16 350, i16 0, i16 346, i16 344, i16 0, i16 339, i16 337, i16 0, i16 332, i16 330, i16 0, i16 326, i16 324, i16 0, i16 320, i16 318, i16 0, i16 314, i16 312, i16 0, i16 308, i16 306, i16 0, i16 302, i16 300, i16 0, i16 296, i16 294, i16 0, i16 290, i16 288, i16 0, i16 284, i16 282, i16 0, i16 278, i16 276, i16 0, i16 272, i16 270, i16 0, i16 266, i16 264, i16 0, i16 260, i16 258, i16 0, i16 254, i16 252, i16 0, i16 248, i16 246, i16 0, i16 242, i16 240, i16 0, i16 236, i16 234, i16 0, i16 230, i16 228, i16 0, i16 224, i16 222, i16 0, i16 218, i16 216, i16 0, i16 212, i16 210, i16 0, i16 206, i16 204, i16 0, i16 200, i16 198, i16 0, i16 194, i16 192, i16 0, i16 188, i16 186, i16 0, i16 182, i16 180, i16 0, i16 176, i16 174, i16 0, i16 170, i16 168, i16 0, i16 164, i16 162, i16 0, i16 158, i16 156, i16 0, i16 152, i16 150, i16 0, i16 146, i16 144, i16 0, i16 140, i16 138, i16 0, i16 134, i16 132, i16 0, i16 128, i16 126, i16 0, i16 405, i16 0, i16 389, i16 386, i16 0, i16 383, i16 380, i16 0, i16 377, i16 374, i16 0, i16 371, i16 368, i16 0, i16 365, i16 362, i16 0, i16 359, i16 356, i16 0, i16 353, i16 350, i16 0, i16 347, i16 344, i16 0, i16 340, i16 337, i16 0, i16 333, i16 330, i16 0, i16 327, i16 324, i16 0, i16 321, i16 318, i16 0, i16 315, i16 312, i16 0, i16 309, i16 306, i16 0, i16 303, i16 300, i16 0, i16 297, i16 294, i16 0, i16 291, i16 288, i16 0, i16 285, i16 282, i16 0, i16 279, i16 276, i16 0, i16 273, i16 270, i16 0, i16 267, i16 264, i16 0, i16 261, i16 258, i16 0, i16 255, i16 252, i16 0, i16 249, i16 246, i16 0, i16 243, i16 240, i16 0, i16 237, i16 234, i16 0, i16 231, i16 228, i16 0, i16 225, i16 222, i16 0, i16 219, i16 216, i16 0, i16 213, i16 210, i16 0, i16 207, i16 204, i16 0, i16 201, i16 198, i16 0, i16 195, i16 192, i16 0, i16 189, i16 186, i16 0, i16 183, i16 180, i16 0, i16 177, i16 174, i16 0, i16 171, i16 168, i16 0, i16 165, i16 162, i16 0, i16 159, i16 156, i16 0, i16 153, i16 150, i16 0, i16 147, i16 144, i16 0, i16 141, i16 138, i16 0, i16 135, i16 132, i16 0, i16 129, i16 126, i16 0, i16 406, i16 0, i16 390, i16 386, i16 0, i16 384, i16 380, i16 0, i16 378, i16 374, i16 0, i16 372, i16 368, i16 0, i16 366, i16 362, i16 0, i16 360, i16 356, i16 0, i16 354, i16 350, i16 0, i16 348, i16 344, i16 0, i16 341, i16 337, i16 0, i16 334, i16 330, i16 0, i16 328, i16 324, i16 0, i16 322, i16 318, i16 0, i16 316, i16 312, i16 0, i16 310, i16 306, i16 0, i16 304, i16 300, i16 0, i16 298, i16 294, i16 0, i16 292, i16 288, i16 0, i16 286, i16 282, i16 0, i16 280, i16 276, i16 0, i16 274, i16 270, i16 0, i16 268, i16 264, i16 0, i16 262, i16 258, i16 0, i16 256, i16 252, i16 0, i16 250, i16 246, i16 0, i16 244, i16 240, i16 0, i16 238, i16 234, i16 0, i16 232, i16 228, i16 0, i16 226, i16 222, i16 0, i16 220, i16 216, i16 0, i16 214, i16 210, i16 0, i16 208, i16 204, i16 0, i16 202, i16 198, i16 0, i16 196, i16 192, i16 0, i16 190, i16 186, i16 0, i16 184, i16 180, i16 0, i16 178, i16 174, i16 0, i16 172, i16 168, i16 0, i16 166, i16 162, i16 0, i16 160, i16 156, i16 0, i16 154, i16 150, i16 0, i16 148, i16 144, i16 0, i16 142, i16 138, i16 0, i16 136, i16 132, i16 0, i16 130, i16 126, i16 0, i16 407, i16 0, i16 391, i16 386, i16 0, i16 385, i16 380, i16 0, i16 379, i16 374, i16 0, i16 373, i16 368, i16 0, i16 367, i16 362, i16 0, i16 361, i16 356, i16 0, i16 355, i16 350, i16 0, i16 349, i16 344, i16 0, i16 342, i16 337, i16 0, i16 335, i16 330, i16 0, i16 329, i16 324, i16 0, i16 323, i16 318, i16 0, i16 317, i16 312, i16 0, i16 311, i16 306, i16 0, i16 305, i16 300, i16 0, i16 299, i16 294, i16 0, i16 293, i16 288, i16 0, i16 287, i16 282, i16 0, i16 281, i16 276, i16 0, i16 275, i16 270, i16 0, i16 269, i16 264, i16 0, i16 263, i16 258, i16 0, i16 257, i16 252, i16 0, i16 251, i16 246, i16 0, i16 245, i16 240, i16 0, i16 239, i16 234, i16 0, i16 233, i16 228, i16 0, i16 227, i16 222, i16 0, i16 221, i16 216, i16 0, i16 215, i16 210, i16 0, i16 209, i16 204, i16 0, i16 203, i16 198, i16 0, i16 197, i16 192, i16 0, i16 191, i16 186, i16 0, i16 185, i16 180, i16 0, i16 179, i16 174, i16 0, i16 173, i16 168, i16 0, i16 167, i16 162, i16 0, i16 161, i16 156, i16 0, i16 155, i16 150, i16 0, i16 149, i16 144, i16 0, i16 143, i16 138, i16 0, i16 137, i16 132, i16 0, i16 131, i16 126, i16 0, i16 408, i16 0, i16 1, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 263, i16 1158, i16 0, i16 1159, i16 0, i16 2, i16 272, i16 1160, i16 0, i16 1161, i16 0, i16 2, i16 1375, i16 1163, i16 748, i16 1164, i16 749, i16 2, i16 1381, i16 1165, i16 750, i16 1166, i16 751, i16 2, i16 1392, i16 1167, i16 752, i16 1168, i16 753, i16 2, i16 1401, i16 1169, i16 754, i16 1170, i16 755, i16 1, i16 1156, i16 244, i16 0, i16 1157, i16 253, i16 0, i16 1162, i16 1370, i16 756, i16 1155, i16 22611, i16 1, i16 0, i16 1, i16 1171, i16 142, i16 0, i16 1172, i16 163, i16 0, i16 1173, i16 699, i16 757, i16 1174, i16 907, i16 758, i16 1175, i16 762, i16 759, i16 1176, i16 968, i16 760, i16 1155, i16 22611, i16 1, i16 0, i16 1, i16 1177, i16 306, i16 0, i16 1178, i16 1512, i16 761, i16 1179, i16 1576, i16 762, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 145, i16 900, i16 0, i16 1183, i16 0, i16 901, i16 0, i16 902, i16 0, i16 903, i16 0, i16 2, i16 636, i16 1196, i16 763, i16 974, i16 764, i16 2, i16 845, i16 1197, i16 765, i16 1014, i16 766, i16 2, i16 712, i16 992, i16 767, i16 990, i16 768, i16 2, i16 920, i16 1030, i16 769, i16 1032, i16 770, i16 2, i16 749, i16 995, i16 771, i16 994, i16 772, i16 2, i16 956, i16 1035, i16 773, i16 1034, i16 774, i16 2, i16 762, i16 1198, i16 775, i16 996, i16 775, i16 2, i16 968, i16 1199, i16 776, i16 1036, i16 776, i16 1, i16 1180, i16 121, i16 0, i16 1181, i16 127, i16 0, i16 1182, i16 142, i16 0, i16 1184, i16 161, i16 0, i16 1185, i16 163, i16 0, i16 1186, i16 173, i16 0, i16 1187, i16 178, i16 0, i16 1188, i16 303, i16 0, i16 1189, i16 309, i16 0, i16 1190, i16 322, i16 0, i16 1191, i16 327, i16 0, i16 1192, i16 330, i16 0, i16 1193, i16 340, i16 0, i16 1194, i16 343, i16 0, i16 1195, i16 346, i16 0, i16 978, i16 656, i16 777, i16 1018, i16 864, i16 778, i16 985, i16 699, i16 779, i16 1025, i16 907, i16 780, i16 1001, i16 787, i16 781, i16 1041, i16 992, i16 782, i16 1004, i16 809, i16 783, i16 1043, i16 1013, i16 784, i16 1200, i16 1506, i16 785, i16 1201, i16 1570, i16 786, i16 1202, i16 1514, i16 787, i16 1203, i16 1579, i16 788, i16 1204, i16 1532, i16 789, i16 1205, i16 1597, i16 790, i16 1206, i16 1538, i16 791, i16 1207, i16 1603, i16 792, i16 1208, i16 1541, i16 793, i16 1209, i16 1606, i16 794, i16 1210, i16 1549, i16 795, i16 1211, i16 1614, i16 796, i16 1212, i16 1553, i16 797, i16 1213, i16 1618, i16 798, i16 1214, i16 1556, i16 799, i16 1215, i16 1621, i16 800, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 749, i16 1219, i16 801, i16 1220, i16 802, i16 2, i16 956, i16 1221, i16 803, i16 1222, i16 804, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1218, i16 161, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 12, i16 22611, i16 1223, i16 805, i16 1224, i16 805, i16 1225, i16 805, i16 1226, i16 805, i16 1227, i16 805, i16 1228, i16 805, i16 1229, i16 805, i16 1230, i16 805, i16 1231, i16 805, i16 1232, i16 805, i16 1233, i16 805, i16 1234, i16 805, i16 1, i16 1155, i16 22623, i16 1, i16 0, i16 1, i16 1188, i16 303, i16 0, i16 1235, i16 316, i16 0, i16 1236, i16 322, i16 0, i16 1237, i16 338, i16 0, i16 1238, i16 343, i16 0, i16 1239, i16 346, i16 0, i16 1200, i16 1506, i16 785, i16 1201, i16 1570, i16 786, i16 1240, i16 1524, i16 806, i16 1241, i16 1588, i16 807, i16 1242, i16 1532, i16 808, i16 1243, i16 1597, i16 809, i16 1244, i16 1549, i16 810, i16 1245, i16 1614, i16 811, i16 1246, i16 1553, i16 812, i16 1247, i16 1618, i16 813, i16 1248, i16 1556, i16 814, i16 1249, i16 1621, i16 815, i16 1155, i16 22611, i16 1, i16 0, i16 4, i16 189, i16 1250, i16 0, i16 1251, i16 0, i16 1252, i16 0, i16 1253, i16 0, i16 3, i16 645, i16 974, i16 816, i16 975, i16 817, i16 977, i16 818, i16 2, i16 769, i16 996, i16 819, i16 997, i16 820, i16 3, i16 853, i16 1014, i16 821, i16 1015, i16 822, i16 1017, i16 823, i16 2, i16 974, i16 1036, i16 824, i16 1037, i16 825, i16 1, i16 895, i16 53, i16 0, i16 1046, i16 1026, i16 826, i16 1007, i16 822, i16 827, i16 1004, i16 813, i16 828, i16 1043, i16 1017, i16 829, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 127, i16 1254, i16 0, i16 1255, i16 0, i16 898, i16 0, i16 1256, i16 0, i16 1257, i16 0, i16 2, i16 656, i16 979, i16 830, i16 981, i16 831, i16 2, i16 864, i16 1019, i16 832, i16 1021, i16 833, i16 3, i16 670, i16 1262, i16 834, i16 1263, i16 835, i16 984, i16 836, i16 3, i16 878, i16 1264, i16 837, i16 1265, i16 838, i16 1024, i16 839, i16 2, i16 736, i16 1266, i16 840, i16 1267, i16 841, i16 2, i16 943, i16 1268, i16 842, i16 1269, i16 843, i16 2, i16 749, i16 1270, i16 844, i16 1271, i16 845, i16 2, i16 956, i16 1272, i16 846, i16 1273, i16 847, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1258, i16 158, i16 0, i16 1259, i16 161, i16 0, i16 1260, i16 173, i16 0, i16 1261, i16 189, i16 0, i16 1000, i16 787, i16 848, i16 1040, i16 992, i16 849, i16 1008, i16 834, i16 850, i16 1047, i16 1038, i16 851, i16 1155, i16 22611, i16 1, i16 0, i16 4, i16 121, i16 1274, i16 0, i16 1275, i16 0, i16 1276, i16 0, i16 1277, i16 0, i16 4, i16 127, i16 1255, i16 0, i16 1278, i16 0, i16 1279, i16 0, i16 1280, i16 0, i16 2, i16 133, i16 1281, i16 0, i16 1282, i16 0, i16 2, i16 142, i16 1284, i16 0, i16 1285, i16 0, i16 2, i16 173, i16 1287, i16 0, i16 1260, i16 0, i16 5, i16 194, i16 1288, i16 0, i16 1253, i16 0, i16 1250, i16 0, i16 1289, i16 0, i16 1252, i16 0, i16 4, i16 636, i16 971, i16 852, i16 970, i16 853, i16 972, i16 854, i16 973, i16 855, i16 4, i16 845, i16 1011, i16 856, i16 1010, i16 857, i16 1012, i16 858, i16 1013, i16 859, i16 2, i16 656, i16 978, i16 860, i16 981, i16 861, i16 2, i16 864, i16 1018, i16 862, i16 1021, i16 863, i16 2, i16 667, i16 1290, i16 864, i16 1291, i16 865, i16 2, i16 875, i16 1292, i16 864, i16 1293, i16 866, i16 2, i16 670, i16 983, i16 867, i16 984, i16 868, i16 2, i16 878, i16 1023, i16 869, i16 1024, i16 870, i16 2, i16 709, i16 1295, i16 871, i16 1296, i16 872, i16 2, i16 917, i16 1297, i16 871, i16 1298, i16 872, i16 3, i16 992, i16 1002, i16 873, i16 1000, i16 874, i16 1040, i16 875, i16 3, i16 645, i16 974, i16 876, i16 975, i16 817, i16 977, i16 877, i16 2, i16 769, i16 996, i16 819, i16 997, i16 820, i16 3, i16 853, i16 1014, i16 878, i16 1015, i16 822, i16 1017, i16 879, i16 2, i16 974, i16 1036, i16 824, i16 1037, i16 825, i16 1, i16 889, i16 16, i16 0, i16 1283, i16 138, i16 0, i16 1286, i16 156, i16 0, i16 1294, i16 696, i16 880, i16 1299, i16 734, i16 881, i16 1300, i16 941, i16 882, i16 1004, i16 813, i16 828, i16 1043, i16 1017, i16 829, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 46, i16 897, i16 0, i16 896, i16 0, i16 2, i16 121, i16 1301, i16 0, i16 1302, i16 0, i16 2, i16 636, i16 972, i16 883, i16 976, i16 884, i16 2, i16 845, i16 1012, i16 885, i16 1016, i16 886, i16 2, i16 787, i16 1305, i16 781, i16 1001, i16 781, i16 2, i16 992, i16 1306, i16 781, i16 1041, i16 782, i16 2, i16 799, i16 1307, i16 887, i16 1003, i16 887, i16 2, i16 1003, i16 1308, i16 887, i16 1042, i16 888, i16 1, i16 1303, i16 152, i16 0, i16 1186, i16 173, i16 0, i16 1304, i16 176, i16 0, i16 991, i16 717, i16 889, i16 1031, i16 925, i16 890, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 699, i16 1315, i16 891, i16 1316, i16 892, i16 2, i16 907, i16 1317, i16 893, i16 1318, i16 894, i16 2, i16 717, i16 1319, i16 895, i16 1320, i16 896, i16 2, i16 925, i16 1321, i16 897, i16 1322, i16 898, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1309, i16 127, i16 0, i16 1310, i16 138, i16 0, i16 1311, i16 142, i16 0, i16 1312, i16 145, i16 0, i16 1313, i16 152, i16 0, i16 1314, i16 187, i16 0, i16 982, i16 656, i16 899, i16 1022, i16 864, i16 900, i16 987, i16 696, i16 901, i16 1027, i16 904, i16 902, i16 989, i16 712, i16 903, i16 1029, i16 920, i16 904, i16 1009, i16 829, i16 905, i16 1048, i16 1033, i16 906, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 749, i16 1219, i16 907, i16 1220, i16 908, i16 2, i16 956, i16 1221, i16 909, i16 1222, i16 910, i16 2, i16 824, i16 1325, i16 911, i16 1326, i16 912, i16 2, i16 1028, i16 1327, i16 913, i16 1328, i16 914, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1323, i16 161, i16 0, i16 1324, i16 184, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 76, i16 1632, i16 1329, i16 915, i16 1330, i16 915, i16 1331, i16 915, i16 1332, i16 915, i16 1333, i16 915, i16 1334, i16 915, i16 1335, i16 915, i16 1336, i16 915, i16 1337, i16 915, i16 1338, i16 915, i16 1339, i16 915, i16 1340, i16 915, i16 1341, i16 915, i16 1342, i16 915, i16 1343, i16 915, i16 1344, i16 915, i16 1345, i16 915, i16 1346, i16 915, i16 1347, i16 915, i16 1348, i16 915, i16 1349, i16 915, i16 1350, i16 915, i16 1351, i16 915, i16 1352, i16 915, i16 1353, i16 915, i16 1354, i16 915, i16 1355, i16 915, i16 1356, i16 915, i16 1357, i16 915, i16 1358, i16 915, i16 1359, i16 915, i16 1360, i16 915, i16 1361, i16 915, i16 1362, i16 915, i16 1363, i16 915, i16 1364, i16 915, i16 1365, i16 915, i16 1366, i16 915, i16 1367, i16 916, i16 1368, i16 916, i16 1369, i16 916, i16 1370, i16 916, i16 1371, i16 916, i16 1372, i16 916, i16 1373, i16 916, i16 1374, i16 916, i16 1375, i16 916, i16 1376, i16 916, i16 1377, i16 916, i16 1378, i16 916, i16 1379, i16 916, i16 1380, i16 916, i16 1381, i16 916, i16 1382, i16 916, i16 1383, i16 916, i16 1384, i16 916, i16 1385, i16 916, i16 1386, i16 916, i16 1387, i16 916, i16 1388, i16 916, i16 1389, i16 916, i16 1390, i16 916, i16 1391, i16 916, i16 1392, i16 916, i16 1393, i16 916, i16 1394, i16 916, i16 1395, i16 916, i16 1396, i16 916, i16 1397, i16 916, i16 1398, i16 916, i16 1399, i16 916, i16 1400, i16 916, i16 1401, i16 916, i16 1402, i16 916, i16 1403, i16 916, i16 1404, i16 916, i16 1, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 3, i16 1216, i16 0, i16 1405, i16 0, i16 1406, i16 0, i16 1407, i16 0, i16 1408, i16 0, i16 5, i16 16, i16 1217, i16 0, i16 1409, i16 0, i16 1410, i16 0, i16 1411, i16 0, i16 1412, i16 0, i16 2, i16 133, i16 1414, i16 0, i16 1415, i16 0, i16 4, i16 163, i16 996, i16 917, i16 998, i16 918, i16 1036, i16 919, i16 1038, i16 920, i16 4, i16 178, i16 1004, i16 921, i16 1006, i16 922, i16 1043, i16 923, i16 1045, i16 924, i16 6, i16 864, i16 1424, i16 925, i16 1425, i16 926, i16 1426, i16 927, i16 1427, i16 928, i16 1428, i16 929, i16 1429, i16 930, i16 6, i16 656, i16 1430, i16 931, i16 1431, i16 932, i16 1432, i16 933, i16 1433, i16 934, i16 1434, i16 935, i16 1435, i16 936, i16 6, i16 878, i16 1436, i16 937, i16 1437, i16 938, i16 1438, i16 939, i16 1439, i16 940, i16 1440, i16 941, i16 1441, i16 942, i16 6, i16 670, i16 1442, i16 943, i16 1443, i16 944, i16 1444, i16 945, i16 1445, i16 946, i16 1446, i16 947, i16 1447, i16 948, i16 12, i16 878, i16 1448, i16 949, i16 1449, i16 950, i16 1450, i16 951, i16 1451, i16 952, i16 1452, i16 953, i16 1453, i16 954, i16 1454, i16 955, i16 1455, i16 956, i16 1456, i16 953, i16 1457, i16 954, i16 1458, i16 955, i16 1459, i16 956, i16 12, i16 670, i16 1460, i16 957, i16 1461, i16 958, i16 1462, i16 959, i16 1463, i16 960, i16 1464, i16 961, i16 1465, i16 962, i16 1466, i16 963, i16 1467, i16 964, i16 1468, i16 961, i16 1469, i16 962, i16 1470, i16 963, i16 1471, i16 964, i16 6, i16 907, i16 1472, i16 965, i16 1473, i16 966, i16 1474, i16 967, i16 1475, i16 968, i16 1476, i16 969, i16 1477, i16 970, i16 6, i16 699, i16 1478, i16 971, i16 1479, i16 972, i16 1480, i16 973, i16 1481, i16 974, i16 1482, i16 975, i16 1483, i16 976, i16 6, i16 943, i16 1484, i16 977, i16 1485, i16 978, i16 1486, i16 979, i16 1487, i16 980, i16 1488, i16 981, i16 1489, i16 982, i16 6, i16 736, i16 1490, i16 983, i16 1491, i16 984, i16 1492, i16 985, i16 1493, i16 986, i16 1494, i16 987, i16 1495, i16 988, i16 6, i16 956, i16 1496, i16 989, i16 1497, i16 990, i16 1498, i16 991, i16 1499, i16 992, i16 1500, i16 993, i16 1501, i16 994, i16 6, i16 749, i16 1502, i16 995, i16 1503, i16 996, i16 1504, i16 997, i16 1505, i16 998, i16 1506, i16 999, i16 1507, i16 1000, i16 6, i16 992, i16 1508, i16 1001, i16 1509, i16 1002, i16 1510, i16 1003, i16 1511, i16 1004, i16 1512, i16 1005, i16 1513, i16 1006, i16 6, i16 787, i16 1514, i16 1007, i16 1515, i16 1008, i16 1516, i16 1009, i16 1517, i16 1010, i16 1518, i16 1011, i16 1519, i16 1012, i16 6, i16 1003, i16 1520, i16 1013, i16 1521, i16 1014, i16 1522, i16 1015, i16 1523, i16 1016, i16 1524, i16 1017, i16 1525, i16 1018, i16 6, i16 799, i16 1526, i16 1019, i16 1527, i16 1020, i16 1528, i16 1021, i16 1529, i16 1022, i16 1530, i16 1023, i16 1531, i16 1024, i16 6, i16 1038, i16 1532, i16 1025, i16 1533, i16 1026, i16 1534, i16 1027, i16 1535, i16 1028, i16 1536, i16 1029, i16 1537, i16 1030, i16 6, i16 834, i16 1538, i16 1031, i16 1539, i16 1032, i16 1540, i16 1033, i16 1541, i16 1034, i16 1542, i16 1035, i16 1543, i16 1036, i16 1, i16 1413, i16 127, i16 0, i16 1416, i16 142, i16 0, i16 1417, i16 158, i16 0, i16 1418, i16 161, i16 0, i16 1419, i16 163, i16 0, i16 1420, i16 173, i16 0, i16 1421, i16 176, i16 0, i16 1422, i16 178, i16 0, i16 1423, i16 189, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 9, i16 31, i16 890, i16 0, i16 892, i16 0, i16 1544, i16 0, i16 891, i16 0, i16 1545, i16 0, i16 1546, i16 0, i16 1547, i16 0, i16 893, i16 0, i16 894, i16 0, i16 2, i16 42, i16 1548, i16 0, i16 1549, i16 0, i16 3, i16 194, i16 1550, i16 0, i16 906, i16 0, i16 905, i16 0, i16 2, i16 238, i16 907, i16 0, i16 1551, i16 0, i16 16, i16 482, i16 961, i16 1037, i16 962, i16 1037, i16 963, i16 1037, i16 967, i16 1037, i16 968, i16 1037, i16 969, i16 1037, i16 964, i16 1037, i16 965, i16 1037, i16 966, i16 1037, i16 954, i16 1037, i16 955, i16 1037, i16 956, i16 1037, i16 959, i16 1037, i16 960, i16 1037, i16 957, i16 1037, i16 958, i16 1037, i16 4, i16 520, i16 1552, i16 1037, i16 1553, i16 1037, i16 1554, i16 1037, i16 1555, i16 1037, i16 35, i16 1049, i16 1050, i16 641, i16 1049, i16 642, i16 1052, i16 643, i16 1051, i16 644, i16 1054, i16 645, i16 1053, i16 646, i16 1056, i16 647, i16 1055, i16 648, i16 1058, i16 649, i16 1057, i16 650, i16 1060, i16 651, i16 1059, i16 652, i16 1062, i16 653, i16 1061, i16 654, i16 1064, i16 655, i16 1063, i16 656, i16 1066, i16 657, i16 1065, i16 658, i16 1068, i16 659, i16 1067, i16 660, i16 1070, i16 1038, i16 1556, i16 1038, i16 1073, i16 665, i16 1557, i16 1039, i16 1069, i16 661, i16 1071, i16 1040, i16 1558, i16 1040, i16 1072, i16 1041, i16 1559, i16 1041, i16 1079, i16 1042, i16 1560, i16 1042, i16 1081, i16 1043, i16 1561, i16 1044, i16 1562, i16 1045, i16 1563, i16 1043, i16 2, i16 1135, i16 1076, i16 667, i16 1075, i16 1046, i16 6, i16 1148, i16 1077, i16 669, i16 1074, i16 1047, i16 1078, i16 1048, i16 1564, i16 1049, i16 1080, i16 1050, i16 1082, i16 1051, i16 15, i16 1160, i16 1084, i16 1052, i16 1085, i16 1053, i16 1090, i16 1054, i16 1091, i16 1055, i16 1565, i16 1056, i16 1566, i16 1057, i16 1083, i16 1058, i16 1086, i16 1059, i16 1087, i16 1060, i16 1088, i16 1061, i16 1089, i16 1062, i16 1108, i16 1063, i16 1109, i16 1064, i16 1567, i16 1065, i16 1568, i16 1066, i16 8, i16 1276, i16 1098, i16 1067, i16 1099, i16 1068, i16 1100, i16 1069, i16 1101, i16 1070, i16 1094, i16 1071, i16 1095, i16 1072, i16 1096, i16 1073, i16 1097, i16 1074, i16 26, i16 1320, i16 1102, i16 1075, i16 1103, i16 1076, i16 1104, i16 1077, i16 1105, i16 1078, i16 1092, i16 1079, i16 1093, i16 1080, i16 1106, i16 1081, i16 1107, i16 1082, i16 1570, i16 1083, i16 1571, i16 1084, i16 1572, i16 1085, i16 1573, i16 1086, i16 1110, i16 1087, i16 1111, i16 1088, i16 1112, i16 1089, i16 1113, i16 1090, i16 1114, i16 1091, i16 1115, i16 1092, i16 1116, i16 1093, i16 1117, i16 1094, i16 1118, i16 1095, i16 1119, i16 1096, i16 1120, i16 1097, i16 1121, i16 1098, i16 1122, i16 1099, i16 1123, i16 1100, i16 1, i16 1569, i16 1229, i16 1101, i16 1155, i16 22611, i16 1, i16 0, i16 1, i16 1574, i16 127, i16 0, i16 1575, i16 142, i16 0, i16 1576, i16 145, i16 0, i16 1577, i16 154, i16 0, i16 1578, i16 173, i16 0, i16 1579, i16 178, i16 0, i16 1020, i16 864, i16 1102, i16 980, i16 656, i16 1103, i16 1026, i16 907, i16 1104, i16 986, i16 699, i16 1105, i16 1028, i16 920, i16 1106, i16 988, i16 712, i16 1107, i16 1033, i16 937, i16 1108, i16 993, i16 729, i16 1109, i16 1039, i16 992, i16 1110, i16 999, i16 787, i16 1111, i16 1044, i16 1013, i16 1112, i16 1005, i16 809, i16 1113, i16 1155, i16 22611, i16 1, i16 0, i16 3, i16 127, i16 1580, i16 0, i16 898, i16 0, i16 1581, i16 0, i16 3, i16 138, i16 1582, i16 0, i16 899, i16 0, i16 1583, i16 0, i16 2, i16 656, i16 1588, i16 1114, i16 1589, i16 1115, i16 2, i16 864, i16 1590, i16 1116, i16 1591, i16 1117, i16 2, i16 670, i16 1592, i16 1118, i16 1593, i16 1119, i16 2, i16 878, i16 1594, i16 1120, i16 1595, i16 1121, i16 2, i16 696, i16 1596, i16 1122, i16 1597, i16 1123, i16 2, i16 904, i16 1598, i16 1124, i16 1599, i16 1125, i16 2, i16 699, i16 1219, i16 1126, i16 1220, i16 1127, i16 2, i16 907, i16 1221, i16 1128, i16 1222, i16 1129, i16 2, i16 736, i16 1600, i16 1130, i16 1601, i16 1131, i16 2, i16 943, i16 1602, i16 1132, i16 1603, i16 1133, i16 2, i16 777, i16 1604, i16 1134, i16 1605, i16 1135, i16 2, i16 982, i16 1606, i16 1136, i16 1607, i16 1137, i16 2, i16 781, i16 1608, i16 1138, i16 1609, i16 1139, i16 2, i16 986, i16 1610, i16 1140, i16 1611, i16 1141, i16 2, i16 799, i16 1612, i16 1142, i16 1613, i16 1143, i16 2, i16 1003, i16 1614, i16 1144, i16 1615, i16 1145, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1584, i16 158, i16 0, i16 1585, i16 168, i16 0, i16 1586, i16 171, i16 0, i16 1587, i16 176, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 127, i16 1254, i16 0, i16 1255, i16 0, i16 898, i16 0, i16 1256, i16 0, i16 1257, i16 0, i16 2, i16 656, i16 979, i16 830, i16 981, i16 831, i16 2, i16 864, i16 1019, i16 832, i16 1021, i16 833, i16 3, i16 670, i16 1262, i16 834, i16 1263, i16 835, i16 984, i16 836, i16 5, i16 878, i16 1264, i16 837, i16 1265, i16 838, i16 1024, i16 839, i16 1266, i16 840, i16 1267, i16 841, i16 2, i16 943, i16 1268, i16 842, i16 1269, i16 843, i16 2, i16 749, i16 1270, i16 844, i16 1271, i16 845, i16 2, i16 956, i16 1272, i16 846, i16 1273, i16 847, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1258, i16 158, i16 0, i16 1259, i16 161, i16 0, i16 1260, i16 173, i16 0, i16 1261, i16 189, i16 0, i16 1000, i16 787, i16 848, i16 1040, i16 992, i16 849, i16 1008, i16 834, i16 850, i16 1047, i16 1038, i16 851, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 127, i16 1616, i16 0, i16 1617, i16 0, i16 4, i16 656, i16 1588, i16 1146, i16 1589, i16 1147, i16 1618, i16 1148, i16 1619, i16 1149, i16 4, i16 864, i16 1590, i16 1150, i16 1591, i16 1151, i16 1620, i16 1152, i16 1621, i16 1153, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 46, i16 74, i16 908, i16 0, i16 909, i16 0, i16 910, i16 0, i16 911, i16 0, i16 912, i16 0, i16 913, i16 0, i16 914, i16 0, i16 915, i16 0, i16 916, i16 0, i16 917, i16 0, i16 918, i16 0, i16 919, i16 0, i16 920, i16 0, i16 921, i16 0, i16 922, i16 0, i16 923, i16 0, i16 924, i16 0, i16 925, i16 0, i16 926, i16 0, i16 927, i16 0, i16 928, i16 0, i16 929, i16 0, i16 930, i16 0, i16 931, i16 0, i16 932, i16 0, i16 933, i16 0, i16 934, i16 0, i16 935, i16 0, i16 936, i16 0, i16 937, i16 0, i16 938, i16 0, i16 939, i16 0, i16 940, i16 0, i16 941, i16 0, i16 942, i16 0, i16 943, i16 0, i16 944, i16 0, i16 945, i16 0, i16 946, i16 0, i16 947, i16 0, i16 948, i16 0, i16 949, i16 0, i16 950, i16 0, i16 951, i16 0, i16 952, i16 0, i16 953, i16 0, i16 3, i16 1508, i16 1125, i16 1154, i16 1136, i16 1155, i16 1128, i16 1156, i16 3, i16 1514, i16 1126, i16 1157, i16 1127, i16 1158, i16 1138, i16 1159, i16 3, i16 1524, i16 1144, i16 1160, i16 1130, i16 1161, i16 1137, i16 1162, i16 3, i16 1572, i16 1140, i16 1163, i16 1152, i16 1164, i16 1143, i16 1165, i16 3, i16 1579, i16 1141, i16 1166, i16 1142, i16 1167, i16 1154, i16 1168, i16 3, i16 1588, i16 1129, i16 1169, i16 1145, i16 1170, i16 1153, i16 1171, i16 1, i16 1124, i16 1506, i16 1172, i16 1133, i16 1532, i16 1173, i16 1131, i16 1534, i16 1174, i16 1132, i16 1538, i16 1175, i16 1135, i16 1549, i16 1176, i16 1134, i16 1556, i16 1177, i16 1139, i16 1570, i16 1178, i16 1146, i16 1594, i16 1179, i16 1149, i16 1597, i16 1180, i16 1147, i16 1599, i16 1181, i16 1148, i16 1603, i16 1182, i16 1151, i16 1614, i16 1183, i16 1150, i16 1621, i16 1184, i16 1155, i16 22611, i16 1, i16 0, i16 6, i16 145, i16 904, i16 0, i16 900, i16 0, i16 1183, i16 0, i16 901, i16 0, i16 902, i16 0, i16 903, i16 0, i16 2, i16 712, i16 992, i16 767, i16 990, i16 768, i16 2, i16 920, i16 1030, i16 769, i16 1032, i16 770, i16 1, i16 1181, i16 127, i16 0, i16 1180, i16 136, i16 0, i16 1182, i16 142, i16 0, i16 1622, i16 163, i16 0, i16 1186, i16 173, i16 0, i16 1187, i16 178, i16 0, i16 1188, i16 303, i16 0, i16 1189, i16 309, i16 0, i16 1190, i16 322, i16 0, i16 1192, i16 330, i16 0, i16 1193, i16 340, i16 0, i16 1194, i16 343, i16 0, i16 1195, i16 346, i16 0, i16 978, i16 656, i16 777, i16 1018, i16 864, i16 778, i16 1196, i16 686, i16 763, i16 1197, i16 894, i16 765, i16 985, i16 699, i16 779, i16 1025, i16 907, i16 780, i16 996, i16 762, i16 1185, i16 1036, i16 968, i16 1186, i16 1001, i16 787, i16 781, i16 1041, i16 992, i16 782, i16 1004, i16 809, i16 783, i16 1043, i16 1013, i16 784, i16 1200, i16 1506, i16 785, i16 1201, i16 1570, i16 786, i16 1202, i16 1514, i16 787, i16 1203, i16 1579, i16 788, i16 1204, i16 1532, i16 789, i16 1205, i16 1597, i16 790, i16 1208, i16 1541, i16 793, i16 1209, i16 1606, i16 794, i16 1210, i16 1549, i16 795, i16 1211, i16 1614, i16 796, i16 1212, i16 1553, i16 797, i16 1213, i16 1618, i16 798, i16 1214, i16 1556, i16 799, i16 1215, i16 1621, i16 800, i16 1155, i16 22611, i16 1, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 877, i16 1780, i16 1190, i16 1781, i16 1833, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 990, i16 1792, i16 1190, i16 1793, i16 1844, i16 3, i16 1009, i16 1794, i16 1845, i16 1795, i16 1846, i16 1796, i16 1847, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 4, i16 1206, i16 1828, i16 1190, i16 1829, i16 1878, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1266, i16 1838, i16 1190, i16 1839, i16 1887, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 8, i16 1361, i16 1848, i16 1190, i16 1849, i16 1896, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1803, i16 1075, i16 1925, i16 0, i16 2, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 20, i16 1370, i16 1850, i16 1934, i16 1851, i16 1935, i16 1852, i16 1936, i16 1853, i16 1937, i16 1854, i16 1938, i16 1855, i16 1939, i16 1856, i16 1934, i16 1857, i16 1940, i16 1858, i16 1941, i16 1859, i16 1942, i16 1860, i16 1943, i16 1861, i16 1944, i16 1862, i16 1945, i16 1863, i16 1946, i16 1864, i16 1947, i16 1865, i16 1948, i16 1866, i16 1949, i16 1867, i16 1950, i16 1868, i16 1951, i16 1869, i16 1952, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 7, i16 1418, i16 1874, i16 1187, i16 1848, i16 1953, i16 1849, i16 1954, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 20, i16 1440, i16 1760, i16 1190, i16 1761, i16 1955, i16 1762, i16 1956, i16 1763, i16 1957, i16 1764, i16 1190, i16 1765, i16 1958, i16 1770, i16 1959, i16 1771, i16 1960, i16 1772, i16 1959, i16 1773, i16 1961, i16 1774, i16 1959, i16 1775, i16 1962, i16 1828, i16 1190, i16 1829, i16 1878, i16 1822, i16 1963, i16 1823, i16 1964, i16 1824, i16 1963, i16 1825, i16 1965, i16 1820, i16 1966, i16 1821, i16 1967, i16 27, i16 2011, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 1, i16 1696, i16 1, i16 1187, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 877, i16 1778, i16 1968, i16 1779, i16 1846, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1836, i16 1971, i16 1837, i16 1846, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 2, i16 1429, i16 1881, i16 1923, i16 1882, i16 1924, i16 2, i16 1440, i16 1879, i16 1974, i16 1880, i16 1846, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 2, i16 836, i16 1768, i16 1821, i16 1769, i16 1822, i16 8, i16 843, i16 1766, i16 1190, i16 1767, i16 1975, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 877, i16 1776, i16 1190, i16 1777, i16 1976, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 2, i16 944, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 955, i16 1786, i16 1190, i16 1787, i16 1977, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 2, i16 1088, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1099, i16 1804, i16 1190, i16 1805, i16 1978, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 4, i16 1132, i16 1808, i16 1190, i16 1809, i16 1979, i16 1814, i16 1864, i16 1815, i16 1865, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 4, i16 1206, i16 1816, i16 1190, i16 1817, i16 1980, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1834, i16 1190, i16 1835, i16 1981, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 3, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 2, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 4, i16 1440, i16 1877, i16 1190, i16 1878, i16 1982, i16 1881, i16 1190, i16 1882, i16 1983, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 9, i16 1418, i16 1874, i16 1187, i16 1848, i16 1984, i16 1849, i16 1985, i16 1844, i16 1984, i16 1845, i16 1986, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 24, i16 1440, i16 1770, i16 1190, i16 1771, i16 1987, i16 1772, i16 1988, i16 1773, i16 1989, i16 1774, i16 1990, i16 1775, i16 1991, i16 1764, i16 1992, i16 1765, i16 1993, i16 1822, i16 1190, i16 1823, i16 1994, i16 1824, i16 1995, i16 1825, i16 1996, i16 1828, i16 1997, i16 1829, i16 1998, i16 1818, i16 1999, i16 1819, i16 2000, i16 1760, i16 1190, i16 1761, i16 1955, i16 1883, i16 2001, i16 1884, i16 2002, i16 1885, i16 2003, i16 1886, i16 2004, i16 1762, i16 2001, i16 1763, i16 2005, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 2, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 8, i16 843, i16 1768, i16 1190, i16 1769, i16 2006, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 877, i16 1778, i16 1190, i16 1779, i16 2007, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 2, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 2, i16 955, i16 1788, i16 1190, i16 1789, i16 2008, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 990, i16 1790, i16 1190, i16 1791, i16 2009, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 7, i16 1046, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 1874, i16 1187, i16 1799, i16 1190, i16 1800, i16 2010, i16 3, i16 1075, i16 1801, i16 1190, i16 1802, i16 2011, i16 1803, i16 1925, i16 2, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 2, i16 1099, i16 1806, i16 1190, i16 1807, i16 2012, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 4, i16 1132, i16 1812, i16 1190, i16 1813, i16 2013, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 4, i16 1206, i16 1826, i16 1190, i16 1827, i16 2014, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1242, i16 1832, i16 1190, i16 1833, i16 2015, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1836, i16 1190, i16 1837, i16 2016, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 8, i16 1361, i16 1846, i16 1190, i16 1847, i16 2017, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1418, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 2, i16 1429, i16 1881, i16 1923, i16 1882, i16 1924, i16 2, i16 1440, i16 1879, i16 1190, i16 1880, i16 2018, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1046, i16 1870, i16 1190, i16 1871, i16 1915, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 2, i16 1400, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 81, i16 1697, i16 1712, i16 1698, i16 2019, i16 1699, i16 2019, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 898, i16 1887, i16 2020, i16 1888, i16 2021, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 9, i16 1418, i16 1874, i16 1187, i16 1848, i16 1984, i16 1849, i16 1985, i16 1844, i16 1984, i16 1845, i16 1986, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 24, i16 1440, i16 1770, i16 1190, i16 1771, i16 1987, i16 1772, i16 1988, i16 1773, i16 1989, i16 1774, i16 1990, i16 1775, i16 1991, i16 1764, i16 1992, i16 1765, i16 1993, i16 1822, i16 1190, i16 1823, i16 1994, i16 1824, i16 1995, i16 1825, i16 1996, i16 1828, i16 1997, i16 1829, i16 1998, i16 1818, i16 1999, i16 1819, i16 2000, i16 1760, i16 1190, i16 1761, i16 1955, i16 1883, i16 2001, i16 1884, i16 2002, i16 1885, i16 2003, i16 1886, i16 2004, i16 1762, i16 2001, i16 1763, i16 2005, i16 1, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1220, i16 2022, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1892, i16 1189, i16 1893, i16 1189, i16 1894, i16 1189, i16 3, i16 461, i16 1895, i16 1189, i16 1896, i16 1189, i16 1897, i16 1189, i16 3, i16 465, i16 1898, i16 1189, i16 1899, i16 1189, i16 1900, i16 1189, i16 3, i16 469, i16 1901, i16 1189, i16 1902, i16 1189, i16 1903, i16 1189, i16 2, i16 491, i16 1910, i16 1189, i16 1911, i16 1189, i16 2, i16 499, i16 1913, i16 1189, i16 1914, i16 1189, i16 29, i16 519, i16 1918, i16 1189, i16 1703, i16 1189, i16 1704, i16 1189, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 1717, i16 1189, i16 1718, i16 1189, i16 1719, i16 1189, i16 1720, i16 1189, i16 1721, i16 1189, i16 1722, i16 1189, i16 1723, i16 1189, i16 1724, i16 1189, i16 1725, i16 1189, i16 1726, i16 1189, i16 1727, i16 1189, i16 1728, i16 1189, i16 1729, i16 1189, i16 1730, i16 1189, i16 2, i16 753, i16 1919, i16 1189, i16 1920, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1759, i16 1846, i16 1758, i16 2023, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 898, i16 1888, i16 1846, i16 1887, i16 2024, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 955, i16 1785, i16 1846, i16 1784, i16 2025, i16 4, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 1921, i16 2026, i16 1922, i16 2027, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1046, i16 1798, i16 1846, i16 1797, i16 2028, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 2029, i16 1815, i16 2030, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 2, i16 1179, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1817, i16 1846, i16 1816, i16 2031, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 8, i16 1361, i16 1843, i16 1846, i16 1842, i16 2032, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 2, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 7, i16 1418, i16 1874, i16 1187, i16 1873, i16 1846, i16 1872, i16 2033, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 10, i16 1440, i16 1841, i16 1846, i16 1840, i16 2034, i16 1771, i16 1846, i16 1770, i16 2035, i16 1831, i16 2036, i16 1830, i16 2037, i16 1829, i16 1846, i16 1828, i16 2038, i16 1823, i16 2039, i16 1822, i16 2040, i16 4, i16 2011, i16 1923, i16 1744, i16 1924, i16 2041, i16 1925, i16 2042, i16 1926, i16 2043, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1702, i16 205, i16 1189, i16 1701, i16 221, i16 1189, i16 1700, i16 324, i16 1189, i16 1889, i16 371, i16 1189, i16 1890, i16 445, i16 1189, i16 1891, i16 447, i16 1189, i16 1904, i16 473, i16 1189, i16 1905, i16 476, i16 1189, i16 1906, i16 479, i16 1189, i16 1907, i16 481, i16 1189, i16 1908, i16 484, i16 1189, i16 1909, i16 487, i16 1189, i16 1912, i16 495, i16 1189, i16 1915, i16 503, i16 1189, i16 1916, i16 507, i16 1189, i16 1917, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 4, i16 877, i16 1778, i16 1190, i16 1779, i16 2007, i16 1776, i16 1190, i16 1777, i16 1976, i16 6, i16 898, i16 1927, i16 1190, i16 1928, i16 2044, i16 1929, i16 2045, i16 1930, i16 2046, i16 1782, i16 1190, i16 1783, i16 2047, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 4, i16 1099, i16 1931, i16 1190, i16 1932, i16 2048, i16 1933, i16 2049, i16 1934, i16 2050, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 6, i16 1132, i16 1935, i16 1190, i16 1936, i16 2051, i16 1937, i16 2052, i16 1938, i16 2053, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1836, i16 1190, i16 1837, i16 2016, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 2, i16 1429, i16 1881, i16 1923, i16 1882, i16 1924, i16 2, i16 1440, i16 1879, i16 1190, i16 1880, i16 2018, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 4, i16 1132, i16 1810, i16 1190, i16 1811, i16 2054, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 10, i16 1266, i16 1836, i16 2055, i16 1837, i16 2056, i16 1875, i16 2057, i16 1876, i16 2058, i16 1877, i16 2059, i16 1878, i16 2060, i16 1881, i16 2061, i16 1882, i16 2062, i16 1879, i16 2063, i16 1880, i16 2064, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 22, i16 1370, i16 1856, i16 2065, i16 1857, i16 2066, i16 1858, i16 2067, i16 1859, i16 2068, i16 1860, i16 2069, i16 1861, i16 2070, i16 1862, i16 2071, i16 1863, i16 2072, i16 1868, i16 2073, i16 1869, i16 2074, i16 1866, i16 2075, i16 1867, i16 2076, i16 1864, i16 2077, i16 1865, i16 2078, i16 1820, i16 2079, i16 1821, i16 2080, i16 1764, i16 2081, i16 1765, i16 2082, i16 1828, i16 2081, i16 1829, i16 2083, i16 1848, i16 2081, i16 1849, i16 2084, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 1874, i16 1418, i16 1187, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 4, i16 877, i16 1939, i16 1190, i16 1940, i16 2085, i16 1941, i16 2086, i16 1942, i16 2087, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 4, i16 1099, i16 1943, i16 1190, i16 1944, i16 2088, i16 1945, i16 2089, i16 1946, i16 2090, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 4, i16 1132, i16 1810, i16 1190, i16 1811, i16 2054, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 32766, i16 32766, i16 32766, i16 -2, i16 16384, i16 0, i16 16384, i16 -2, i16 16384, i16 0, i16 16384, i16 -16206, i16 16384, i16 0, i16 16384, i16 -16204, i16 16384, i16 0, i16 16384, i16 -16353, i16 16384, i16 0, i16 16384, i16 -16352, i16 16384, i16 0, i16 16384, i16 -16351, i16 16384, i16 0, i16 16384, i16 -16350, i16 16384, i16 0, i16 16384, i16 -16349, i16 16384, i16 0, i16 16384, i16 -16348, i16 16384, i16 0, i16 16384, i16 -16347, i16 16384, i16 0, i16 16384, i16 -16346, i16 16384, i16 0, i16 16384, i16 -16345, i16 16384, i16 0, i16 16384, i16 -16344, i16 16384, i16 0, i16 16384, i16 -16343, i16 16384, i16 0, i16 16384, i16 -16342, i16 16384, i16 0, i16 16384, i16 -16341, i16 16384, i16 0, i16 16384, i16 -15486, i16 16384, i16 0, i16 16384, i16 -16340, i16 16384, i16 0, i16 16384, i16 -16339, i16 16384, i16 0, i16 16384, i16 -15485, i16 16384, i16 0, i16 16384, i16 -16338, i16 16384, i16 0, i16 16384, i16 -15484, i16 16384, i16 0, i16 16384, i16 -15483, i16 16384, i16 0, i16 16384, i16 -15482, i16 16384, i16 0, i16 16384, i16 -16337, i16 16384, i16 0, i16 16384, i16 -16336, i16 16384, i16 0, i16 16384, i16 -16335, i16 16384, i16 0, i16 16384, i16 -16334, i16 16384, i16 0, i16 16384, i16 -16333, i16 16384, i16 0, i16 16384, i16 -15481, i16 16384, i16 0, i16 16384, i16 -16332, i16 16384, i16 0, i16 16384, i16 -16331, i16 16384, i16 0, i16 16384, i16 -16330, i16 16384, i16 0, i16 16384, i16 -16329, i16 16384, i16 0, i16 16384, i16 -16328, i16 16384, i16 0, i16 16384, i16 -16327, i16 16384, i16 0, i16 16384, i16 -15480, i16 16384, i16 0, i16 16384, i16 -16326, i16 16384, i16 0, i16 16384, i16 -16325, i16 16534, i16 14, i16 17273, i16 -16384, i16 16415, i16 14, i16 17273, i16 -16384, i16 16416, i16 14, i16 17273, i16 -16384, i16 16417, i16 14, i16 17273, i16 -16384, i16 16418, i16 14, i16 17273, i16 -16384, i16 16419, i16 14, i16 17273, i16 -16384, i16 16420, i16 14, i16 17273, i16 -16384, i16 16421, i16 14, i16 17273, i16 -16384, i16 16422, i16 14, i16 17273, i16 -16384, i16 16423, i16 14, i16 17273, i16 -16384, i16 16424, i16 14, i16 17273, i16 -16384, i16 16415, i16 17, i16 17273, i16 -16384, i16 16415, i16 896, i16 17273, i16 -16384, i16 16415, i16 897, i16 17273, i16 -16384, i16 16415, i16 19, i16 17273, i16 -16384, i16 16415, i16 21, i16 17273, i16 -16384, i16 16415, i16 18, i16 17273, i16 -16384, i16 16415, i16 20, i16 17273, i16 -16384, i16 16415, i16 14, i16 16392, i16 -16384, i16 16416, i16 14, i16 16392, i16 -16384, i16 16417, i16 14, i16 16392, i16 -16384, i16 16418, i16 14, i16 16392, i16 -16384, i16 16419, i16 14, i16 16392, i16 -16384, i16 16420, i16 14, i16 16392, i16 -16384, i16 16421, i16 14, i16 16392, i16 -16384, i16 16422, i16 14, i16 16392, i16 -16384, i16 16423, i16 14, i16 16392, i16 -16384, i16 16424, i16 14, i16 16392, i16 -16384, i16 16425, i16 14, i16 17273, i16 -16384, i16 16425, i16 15, i16 16392, i16 -16384, i16 16425, i16 26, i16 17273, i16 -16384, i16 16425, i16 27, i16 17273, i16 -16384, i16 16426, i16 14, i16 17273, i16 -16384, i16 16427, i16 14, i16 17273, i16 -16384, i16 17282, i16 14, i16 17273, i16 -16384, i16 17282, i16 18, i16 17273, i16 -16384, i16 16428, i16 14, i16 17273, i16 -16384, i16 16428, i16 16, i16 17273, i16 -16384, i16 16428, i16 17, i16 17273, i16 -16384, i16 16428, i16 897, i16 17273, i16 -16384, i16 16428, i16 20, i16 17273, i16 -16384, i16 16428, i16 18, i16 17273, i16 -16384, i16 16428, i16 23, i16 17273, i16 -16384, i16 16428, i16 26, i16 17273, i16 -16384, i16 16428, i16 27, i16 17273, i16 -16384, i16 16429, i16 14, i16 17273, i16 -16384, i16 17283, i16 14, i16 17273, i16 -16384, i16 17283, i16 25, i16 17273, i16 -16384, i16 16430, i16 14, i16 17273, i16 -16384, i16 17284, i16 16, i16 17273, i16 -16384, i16 17284, i16 17, i16 17273, i16 -16384, i16 17284, i16 20, i16 17273, i16 -16384, i16 17284, i16 22, i16 17273, i16 -16384, i16 17284, i16 26, i16 17273, i16 -16384, i16 17284, i16 27, i16 17273, i16 -16384, i16 18009, i16 1628, i16 18015, i16 -16384, i16 17285, i16 14, i16 17273, i16 -16384, i16 17286, i16 14, i16 17273, i16 -16384, i16 17286, i16 15, i16 17273, i16 -16384, i16 17286, i16 25, i16 17273, i16 -16384, i16 16431, i16 14, i16 17273, i16 -16384, i16 16431, i16 16, i16 17273, i16 -16384, i16 16431, i16 18, i16 17273, i16 -16384, i16 16431, i16 24, i16 17273, i16 -16384, i16 16431, i16 25, i16 17273, i16 -16384, i16 16431, i16 23, i16 17273, i16 -16384, i16 16432, i16 14, i16 17273, i16 -16384, i16 16433, i16 14, i16 17273, i16 -16384, i16 16433, i16 15, i16 17273, i16 -16384, i16 16433, i16 16, i16 17273, i16 -16384, i16 16433, i16 18, i16 17273, i16 -16384, i16 16433, i16 25, i16 17273, i16 -16384, i16 16434, i16 14, i16 17273, i16 -16384, i16 16434, i16 15, i16 16392, i16 -16384, i16 16434, i16 16, i16 17273, i16 -16384, i16 16434, i16 17, i16 17273, i16 -16384, i16 16434, i16 897, i16 17273, i16 -16384, i16 16434, i16 22, i16 17273, i16 -16384, i16 16434, i16 27, i16 17273, i16 -16384, i16 18018, i16 1628, i16 18015, i16 -16384, i16 16435, i16 14, i16 17273, i16 -16384, i16 17287, i16 14, i16 17273, i16 -16384, i16 16436, i16 14, i16 17273, i16 -16384, i16 16436, i16 16, i16 17273, i16 -16384, i16 16436, i16 18, i16 17273, i16 -16384, i16 16436, i16 25, i16 17273, i16 -16384, i16 16437, i16 14, i16 17273, i16 -16384, i16 16437, i16 16, i16 17273, i16 -16384, i16 16438, i16 14, i16 17273, i16 -16384, i16 16438, i16 18, i16 17273, i16 -16384, i16 16438, i16 24, i16 17273, i16 -16384, i16 16439, i16 14, i16 17273, i16 -16384, i16 16439, i16 16, i16 17273, i16 -16384, i16 16439, i16 17, i16 17273, i16 -16384, i16 16439, i16 897, i16 17273, i16 -16384, i16 16439, i16 19, i16 17273, i16 -16384, i16 16439, i16 22, i16 17273, i16 -16384, i16 16439, i16 26, i16 17273, i16 -16384, i16 16439, i16 27, i16 17273, i16 -16384, i16 16440, i16 14, i16 17273, i16 -16384, i16 16441, i16 897, i16 17273, i16 -16384, i16 17288, i16 14, i16 17273, i16 -16384, i16 16442, i16 14, i16 17273, i16 -16384, i16 16442, i16 16, i16 17273, i16 -16384, i16 16442, i16 20, i16 17273, i16 -16384, i16 16442, i16 897, i16 17273, i16 -16384, i16 16443, i16 14, i16 17273, i16 -16384, i16 16443, i16 16, i16 17273, i16 -16384, i16 16444, i16 14, i16 17273, i16 -16384, i16 16425, i16 14, i16 16393, i16 -16384, i16 16425, i16 26, i16 16393, i16 -16384, i16 16425, i16 27, i16 16393, i16 -16384, i16 16426, i16 14, i16 16393, i16 -16384, i16 16427, i16 14, i16 16393, i16 -16384, i16 17282, i16 14, i16 16393, i16 -16384, i16 17282, i16 18, i16 16393, i16 -16384, i16 16428, i16 14, i16 16393, i16 -16384, i16 16428, i16 16, i16 16393, i16 -16384, i16 16428, i16 17, i16 16393, i16 -16384, i16 16428, i16 897, i16 16393, i16 -16384, i16 16428, i16 20, i16 16393, i16 -16384, i16 16428, i16 18, i16 16393, i16 -16384, i16 16428, i16 23, i16 16393, i16 -16384, i16 16428, i16 26, i16 16393, i16 -16384, i16 16428, i16 27, i16 16393, i16 -16384, i16 16429, i16 14, i16 16393, i16 -16384, i16 17283, i16 14, i16 16393, i16 -16384, i16 17283, i16 25, i16 16393, i16 -16384, i16 16430, i16 14, i16 16393, i16 -16384, i16 17284, i16 16, i16 16393, i16 -16384, i16 17284, i16 17, i16 16393, i16 -16384, i16 17284, i16 20, i16 16393, i16 -16384, i16 17284, i16 22, i16 16393, i16 -16384, i16 17284, i16 26, i16 16393, i16 -16384, i16 17284, i16 27, i16 16393, i16 -16384, i16 18009, i16 1628, i16 18021, i16 -16384, i16 17285, i16 14, i16 16393, i16 -16384, i16 17286, i16 14, i16 16393, i16 -16384, i16 17286, i16 25, i16 16393, i16 -16384, i16 16431, i16 14, i16 16393, i16 -16384, i16 16431, i16 16, i16 16393, i16 -16384, i16 16431, i16 18, i16 16393, i16 -16384, i16 16431, i16 24, i16 16393, i16 -16384, i16 16431, i16 25, i16 16393, i16 -16384, i16 16431, i16 23, i16 16393, i16 -16384, i16 16432, i16 14, i16 16393, i16 -16384, i16 16433, i16 14, i16 16393, i16 -16384, i16 16433, i16 16, i16 16393, i16 -16384, i16 16433, i16 18, i16 16393, i16 -16384, i16 16433, i16 25, i16 16393, i16 -16384, i16 16434, i16 14, i16 16393, i16 -16384, i16 16434, i16 16, i16 16393, i16 -16384, i16 16434, i16 17, i16 16393, i16 -16384, i16 16434, i16 897, i16 16393, i16 -16384, i16 16434, i16 22, i16 16393, i16 -16384, i16 16434, i16 27, i16 16393, i16 -16384, i16 18018, i16 1628, i16 18021, i16 -16384, i16 16435, i16 14, i16 16393, i16 -16384, i16 17287, i16 14, i16 16393, i16 -16384, i16 16436, i16 14, i16 16393, i16 -16384, i16 16436, i16 16, i16 16393, i16 -16384, i16 16436, i16 18, i16 16393, i16 -16384, i16 16436, i16 25, i16 16393, i16 -16384, i16 16437, i16 14, i16 16393, i16 -16384, i16 16437, i16 16, i16 16393, i16 -16384, i16 16438, i16 14, i16 16393, i16 -16384, i16 16438, i16 18, i16 16393, i16 -16384, i16 16438, i16 24, i16 16393, i16 -16384, i16 16439, i16 14, i16 16393, i16 -16384, i16 16439, i16 16, i16 16393, i16 -16384, i16 16439, i16 17, i16 16393, i16 -16384, i16 16439, i16 897, i16 16393, i16 -16384, i16 16439, i16 19, i16 16393, i16 -16384, i16 16439, i16 22, i16 16393, i16 -16384, i16 16439, i16 26, i16 16393, i16 -16384, i16 16439, i16 27, i16 16393, i16 -16384, i16 16440, i16 14, i16 16393, i16 -16384, i16 16441, i16 897, i16 16393, i16 -16384, i16 17288, i16 14, i16 16393, i16 -16384, i16 16442, i16 14, i16 16393, i16 -16384, i16 16442, i16 16, i16 16393, i16 -16384, i16 16442, i16 897, i16 16393, i16 -16384, i16 16442, i16 20, i16 16393, i16 -16384, i16 16443, i16 14, i16 16393, i16 -16384, i16 16443, i16 16, i16 16393, i16 -16384, i16 16444, i16 14, i16 16393, i16 -16384, i16 16445, i16 16398, i16 17273, i16 -16384, i16 16446, i16 16398, i16 17273, i16 -16384, i16 16448, i16 16398, i16 17273, i16 -16384, i16 16449, i16 16398, i16 17273, i16 -16384, i16 16450, i16 16398, i16 17273, i16 -16384, i16 16451, i16 16398, i16 17273, i16 -16384, i16 16452, i16 16398, i16 17273, i16 -16384, i16 16453, i16 16398, i16 17273, i16 -16384, i16 16454, i16 16398, i16 17273, i16 -16384, i16 16455, i16 16398, i16 17273, i16 -16384, i16 16456, i16 16398, i16 17273, i16 -16384, i16 16457, i16 16398, i16 17273, i16 -16384, i16 16458, i16 16398, i16 17273, i16 -16384, i16 16459, i16 16398, i16 17273, i16 -16384, i16 16460, i16 16398, i16 17273, i16 -16384, i16 16461, i16 16398, i16 17273, i16 -16384, i16 16462, i16 16398, i16 17273, i16 -16384, i16 16463, i16 16398, i16 17273, i16 -16384, i16 16464, i16 16398, i16 17273, i16 -16384, i16 16465, i16 16398, i16 17273, i16 -16384, i16 16466, i16 16398, i16 17273, i16 -16384, i16 16467, i16 16398, i16 17273, i16 -16384, i16 16468, i16 16398, i16 17273, i16 -16384, i16 16469, i16 16398, i16 17273, i16 -16384, i16 16470, i16 16398, i16 17273, i16 -16384, i16 16471, i16 16398, i16 17273, i16 -16384, i16 16474, i16 16398, i16 17273, i16 -16384, i16 16475, i16 16398, i16 17273, i16 -16384, i16 16476, i16 16398, i16 17273, i16 -16384, i16 16477, i16 16398, i16 17273, i16 -16384, i16 16478, i16 16398, i16 17273, i16 -16384, i16 16480, i16 16398, i16 17273, i16 -16384, i16 16482, i16 17278, i16 17273, i16 -16384, i16 16482, i16 16398, i16 17273, i16 -16384, i16 61, i16 14, i16 3, i16 -16384, i16 61, i16 14, i16 4, i16 -16384, i16 61, i16 14, i16 5, i16 -16384, i16 61, i16 14, i16 6, i16 -16384, i16 62, i16 14, i16 3, i16 -16384, i16 62, i16 14, i16 4, i16 -16384, i16 62, i16 14, i16 5, i16 -16384, i16 62, i16 14, i16 6, i16 -16384, i16 64, i16 14, i16 3, i16 -16384, i16 64, i16 14, i16 4, i16 -16384, i16 64, i16 14, i16 5, i16 -16384, i16 64, i16 14, i16 6, i16 -16384, i16 65, i16 14, i16 3, i16 -16384, i16 65, i16 14, i16 4, i16 -16384, i16 65, i16 14, i16 5, i16 -16384, i16 65, i16 14, i16 6, i16 -16384, i16 66, i16 14, i16 3, i16 -16384, i16 66, i16 14, i16 4, i16 -16384, i16 66, i16 14, i16 5, i16 -16384, i16 66, i16 14, i16 6, i16 -16384, i16 67, i16 14, i16 3, i16 -16384, i16 67, i16 14, i16 4, i16 -16384, i16 67, i16 14, i16 5, i16 -16384, i16 67, i16 14, i16 6, i16 -16384, i16 68, i16 14, i16 3, i16 -16384, i16 68, i16 14, i16 4, i16 -16384, i16 68, i16 14, i16 5, i16 -16384, i16 68, i16 14, i16 6, i16 -16384, i16 69, i16 14, i16 3, i16 -16384, i16 69, i16 14, i16 4, i16 -16384, i16 69, i16 14, i16 5, i16 -16384, i16 69, i16 14, i16 6, i16 -16384, i16 70, i16 14, i16 3, i16 -16384, i16 70, i16 14, i16 4, i16 -16384, i16 70, i16 14, i16 5, i16 -16384, i16 70, i16 14, i16 6, i16 -16384, i16 71, i16 14, i16 3, i16 -16384, i16 71, i16 14, i16 4, i16 -16384, i16 72, i16 14, i16 3, i16 -16384, i16 72, i16 14, i16 4, i16 -16384, i16 73, i16 14, i16 3, i16 -16384, i16 73, i16 14, i16 4, i16 -16384, i16 74, i16 14, i16 3, i16 -16384, i16 74, i16 14, i16 4, i16 -16384, i16 75, i16 14, i16 3, i16 -16384, i16 75, i16 14, i16 4, i16 -16384, i16 76, i16 14, i16 3, i16 -16384, i16 76, i16 14, i16 4, i16 -16384, i16 77, i16 14, i16 3, i16 -16384, i16 77, i16 14, i16 4, i16 -16384, i16 78, i16 14, i16 3, i16 -16384, i16 78, i16 14, i16 4, i16 -16384, i16 78, i16 14, i16 5, i16 -16384, i16 78, i16 14, i16 6, i16 -16384, i16 79, i16 14, i16 3, i16 -16384, i16 79, i16 14, i16 4, i16 -16384, i16 79, i16 14, i16 5, i16 -16384, i16 79, i16 14, i16 6, i16 -16384, i16 80, i16 14, i16 3, i16 -16384, i16 80, i16 14, i16 4, i16 -16384, i16 80, i16 14, i16 5, i16 -16384, i16 80, i16 14, i16 6, i16 -16384, i16 81, i16 14, i16 3, i16 -16384, i16 81, i16 14, i16 4, i16 -16384, i16 81, i16 14, i16 5, i16 -16384, i16 81, i16 14, i16 6, i16 -16384, i16 82, i16 14, i16 3, i16 -16384, i16 82, i16 14, i16 4, i16 -16384, i16 82, i16 14, i16 5, i16 -16384, i16 82, i16 14, i16 6, i16 -16384, i16 83, i16 14, i16 3, i16 -16384, i16 83, i16 14, i16 4, i16 -16384, i16 83, i16 14, i16 5, i16 -16384, i16 83, i16 14, i16 6, i16 -16384, i16 84, i16 14, i16 3, i16 -16384, i16 84, i16 14, i16 4, i16 -16384, i16 84, i16 14, i16 5, i16 -16384, i16 84, i16 14, i16 6, i16 -16384, i16 85, i16 14, i16 3, i16 -16384, i16 85, i16 14, i16 4, i16 -16384, i16 85, i16 14, i16 5, i16 -16384, i16 85, i16 14, i16 6, i16 -16384, i16 86, i16 14, i16 3, i16 -16384, i16 86, i16 14, i16 4, i16 -16384, i16 86, i16 14, i16 5, i16 -16384, i16 86, i16 14, i16 6, i16 -16384, i16 87, i16 14, i16 3, i16 -16384, i16 87, i16 14, i16 4, i16 -16384, i16 87, i16 14, i16 5, i16 -16384, i16 87, i16 14, i16 6, i16 -16384, i16 90, i16 14, i16 3, i16 -16384, i16 90, i16 14, i16 4, i16 -16384, i16 90, i16 14, i16 5, i16 -16384, i16 90, i16 14, i16 6, i16 -16384, i16 91, i16 14, i16 3, i16 -16384, i16 91, i16 14, i16 4, i16 -16384, i16 91, i16 14, i16 5, i16 -16384, i16 91, i16 14, i16 6, i16 -16384, i16 92, i16 14, i16 3, i16 -16384, i16 92, i16 14, i16 4, i16 -16384, i16 92, i16 14, i16 5, i16 -16384, i16 92, i16 14, i16 6, i16 -16384, i16 93, i16 14, i16 3, i16 -16384, i16 93, i16 14, i16 4, i16 -16384, i16 93, i16 14, i16 5, i16 -16384, i16 93, i16 14, i16 6, i16 -16384, i16 94, i16 14, i16 3, i16 -16384, i16 94, i16 14, i16 4, i16 -16384, i16 96, i16 14, i16 3, i16 -16384, i16 96, i16 14, i16 4, i16 -16384, i16 1640, i16 1643, i16 1646, i16 -16384, i16 1640, i16 1643, i16 1649, i16 -16384, i16 1640, i16 1643, i16 1652, i16 -16384, i16 1640, i16 1643, i16 1655, i16 -16384, i16 98, i16 894, i16 3, i16 -16384, i16 98, i16 894, i16 4, i16 -16384, i16 98, i16 14, i16 3, i16 -16384, i16 98, i16 14, i16 4, i16 -16384, i16 16483, i16 16398, i16 16384, i16 -16384, i16 16484, i16 16398, i16 16384, i16 -16384, i16 16485, i16 16398, i16 16384, i16 -16384, i16 16486, i16 16398, i16 16384, i16 -16384, i16 16487, i16 16398, i16 16384, i16 -16384, i16 16488, i16 16398, i16 16384, i16 -16384, i16 16489, i16 16398, i16 16384, i16 -16384, i16 16490, i16 16398, i16 16384, i16 -16384, i16 16491, i16 16398, i16 16384, i16 -16384, i16 16492, i16 16398, i16 16384, i16 -16384, i16 16493, i16 16398, i16 16384, i16 -16384, i16 16494, i16 16398, i16 16384, i16 -16384, i16 16495, i16 16398, i16 16384, i16 -16384, i16 16496, i16 16398, i16 16384, i16 -16384, i16 16497, i16 16398, i16 16384, i16 -16384, i16 16498, i16 16398, i16 16384, i16 -16384, i16 16499, i16 16398, i16 16384, i16 -16384, i16 16500, i16 16398, i16 16384, i16 -16384, i16 16501, i16 16398, i16 16384, i16 -16384, i16 16502, i16 16398, i16 16384, i16 -16384, i16 16503, i16 16398, i16 16384, i16 -16384, i16 16504, i16 16398, i16 16384, i16 -16384, i16 16505, i16 16398, i16 16384, i16 -16384, i16 16506, i16 16398, i16 16384, i16 -16384, i16 16507, i16 16398, i16 16384, i16 -16384, i16 16508, i16 16398, i16 16384, i16 -16384, i16 16509, i16 16398, i16 16384, i16 -16384, i16 16510, i16 14, i16 16393, i16 -16384, i16 16510, i16 28, i16 16393, i16 -16384, i16 16511, i16 14, i16 16393, i16 -16384, i16 16512, i16 14, i16 16393, i16 -16384, i16 16512, i16 15, i16 16393, i16 -16384, i16 16513, i16 14, i16 16393, i16 -16384, i16 16513, i16 15, i16 16393, i16 -16384, i16 16514, i16 14, i16 16393, i16 -16384, i16 16514, i16 28, i16 16393, i16 -16384, i16 16515, i16 14, i16 16393, i16 -16384, i16 16515, i16 15, i16 16393, i16 -16384, i16 16516, i16 14, i16 16393, i16 -16384, i16 16516, i16 28, i16 16393, i16 -16384, i16 16517, i16 14, i16 16393, i16 -16384, i16 16518, i16 14, i16 16393, i16 -16384, i16 16518, i16 28, i16 16393, i16 -16384, i16 16518, i16 29, i16 16393, i16 -16384, i16 16519, i16 14, i16 16393, i16 -16384, i16 16519, i16 15, i16 16393, i16 -16384, i16 16519, i16 895, i16 16393, i16 -16384, i16 16520, i16 14, i16 16393, i16 -16384, i16 16521, i16 14, i16 16393, i16 -16384, i16 16522, i16 14, i16 16393, i16 -16384, i16 16523, i16 14, i16 16393, i16 -16384, i16 16524, i16 14, i16 16393, i16 -16384, i16 16524, i16 28, i16 16393, i16 -16384, i16 16525, i16 14, i16 16393, i16 -16384, i16 16526, i16 14, i16 16393, i16 -16384, i16 16527, i16 14, i16 16393, i16 -16384, i16 16527, i16 15, i16 16393, i16 -16384, i16 16527, i16 895, i16 16393, i16 -16384, i16 16528, i16 14, i16 16393, i16 -16384, i16 16528, i16 15, i16 16393, i16 -16384, i16 16529, i16 14, i16 16393, i16 -16384, i16 16529, i16 28, i16 16393, i16 -16384, i16 16529, i16 29, i16 16393, i16 -16384, i16 16529, i16 30, i16 16393, i16 -16384, i16 16529, i16 26, i16 16393, i16 -16384, i16 16529, i16 27, i16 16393, i16 -16384, i16 16530, i16 14, i16 16393, i16 -16384, i16 16530, i16 895, i16 16393, i16 -16384, i16 16531, i16 14, i16 16393, i16 -16384, i16 16531, i16 15, i16 16393, i16 -16384, i16 16532, i16 14, i16 16393, i16 -16384, i16 16532, i16 15, i16 16393, i16 -16384, i16 16533, i16 14, i16 16393, i16 -16384, i16 16533, i16 28, i16 16393, i16 -16384, i16 16510, i16 14, i16 16396, i16 -16384, i16 16510, i16 28, i16 16396, i16 -16384, i16 16511, i16 14, i16 16396, i16 -16384, i16 16511, i16 15, i16 16396, i16 -16384, i16 16512, i16 14, i16 16396, i16 -16384, i16 16513, i16 14, i16 16396, i16 -16384, i16 16514, i16 14, i16 16396, i16 -16384, i16 16514, i16 28, i16 16396, i16 -16384, i16 16515, i16 14, i16 16396, i16 -16384, i16 16515, i16 15, i16 16396, i16 -16384, i16 16516, i16 14, i16 16396, i16 -16384, i16 16516, i16 28, i16 16396, i16 -16384, i16 16517, i16 14, i16 16396, i16 -16384, i16 16517, i16 15, i16 16396, i16 -16384, i16 16518, i16 14, i16 16396, i16 -16384, i16 16518, i16 28, i16 16396, i16 -16384, i16 16518, i16 29, i16 16396, i16 -16384, i16 16518, i16 30, i16 16396, i16 -16384, i16 16518, i16 26, i16 16396, i16 -16384, i16 16519, i16 14, i16 16396, i16 -16384, i16 16519, i16 15, i16 16396, i16 -16384, i16 16519, i16 895, i16 16396, i16 -16384, i16 16520, i16 14, i16 16396, i16 -16384, i16 16521, i16 14, i16 16396, i16 -16384, i16 16522, i16 14, i16 16396, i16 -16384, i16 16523, i16 14, i16 16396, i16 -16384, i16 16524, i16 14, i16 16396, i16 -16384, i16 16524, i16 28, i16 16396, i16 -16384, i16 16525, i16 14, i16 16396, i16 -16384, i16 16525, i16 15, i16 16396, i16 -16384, i16 16526, i16 15, i16 16396, i16 -16384, i16 16527, i16 14, i16 16396, i16 -16384, i16 16527, i16 15, i16 16396, i16 -16384, i16 16527, i16 895, i16 16396, i16 -16384, i16 16527, i16 26, i16 16396, i16 -16384, i16 16528, i16 14, i16 16396, i16 -16384, i16 16528, i16 15, i16 16396, i16 -16384, i16 16529, i16 14, i16 16396, i16 -16384, i16 16529, i16 28, i16 16396, i16 -16384, i16 16529, i16 29, i16 16396, i16 -16384, i16 16529, i16 30, i16 16396, i16 -16384, i16 16530, i16 14, i16 16396, i16 -16384, i16 16530, i16 15, i16 16396, i16 -16384, i16 16530, i16 895, i16 16396, i16 -16384, i16 16531, i16 14, i16 16396, i16 -16384, i16 16532, i16 14, i16 16396, i16 -16384, i16 16532, i16 15, i16 16396, i16 -16384, i16 16533, i16 14, i16 16396, i16 -16384, i16 16533, i16 28, i16 16396, i16 -16384, i16 17292, i16 16398, i16 17273, i16 -16384, i16 17293, i16 16398, i16 17273, i16 -16384, i16 17294, i16 16398, i16 17273, i16 -16384, i16 17295, i16 16398, i16 17273, i16 -16384, i16 17296, i16 16398, i16 17273, i16 -16384, i16 17299, i16 16398, i16 17273, i16 -16384, i16 17302, i16 16398, i16 17273, i16 -16384, i16 17303, i16 16398, i16 17273, i16 -16384, i16 17305, i16 16398, i16 17273, i16 -16384, i16 17308, i16 16398, i16 17273, i16 -16384, i16 17309, i16 16398, i16 17273, i16 -16384, i16 17310, i16 16398, i16 17273, i16 -16384, i16 17311, i16 16398, i16 17273, i16 -16384, i16 17313, i16 16398, i16 17273, i16 -16384, i16 17314, i16 16398, i16 17273, i16 -16384, i16 17316, i16 16398, i16 17273, i16 -16384, i16 17317, i16 16398, i16 17273, i16 -16384, i16 17318, i16 16398, i16 17273, i16 -16384, i16 17319, i16 16398, i16 17273, i16 -16384, i16 17320, i16 16398, i16 17273, i16 -16384, i16 17323, i16 16398, i16 17273, i16 -16384, i16 17325, i16 16398, i16 17273, i16 -16384, i16 17326, i16 16398, i16 17273, i16 -16384, i16 17327, i16 16398, i16 17273, i16 -16384, i16 17328, i16 16398, i16 17273, i16 -16384, i16 17330, i16 16398, i16 17273, i16 -16384, i16 17331, i16 16398, i16 17273, i16 -16384, i16 17332, i16 16398, i16 17273, i16 -16384, i16 17334, i16 16398, i16 17273, i16 -16384, i16 17336, i16 16398, i16 17273, i16 -16384, i16 17337, i16 16398, i16 17273, i16 -16384, i16 17292, i16 16398, i16 16393, i16 -16384, i16 17293, i16 16398, i16 16393, i16 -16384, i16 17294, i16 16398, i16 16393, i16 -16384, i16 17295, i16 16398, i16 16393, i16 -16384, i16 17296, i16 16398, i16 16393, i16 -16384, i16 17299, i16 16398, i16 16393, i16 -16384, i16 17302, i16 16398, i16 16393, i16 -16384, i16 17303, i16 16398, i16 16393, i16 -16384, i16 17305, i16 16398, i16 16393, i16 -16384, i16 17308, i16 16398, i16 16393, i16 -16384, i16 17310, i16 16398, i16 16393, i16 -16384, i16 17311, i16 16398, i16 16393, i16 -16384, i16 17313, i16 16398, i16 16393, i16 -16384, i16 17314, i16 16398, i16 16393, i16 -16384, i16 17316, i16 16398, i16 16393, i16 -16384, i16 17317, i16 16398, i16 16393, i16 -16384, i16 17318, i16 16398, i16 16393, i16 -16384, i16 17319, i16 16398, i16 16393, i16 -16384, i16 17320, i16 16398, i16 16393, i16 -16384, i16 17323, i16 16398, i16 16393, i16 -16384, i16 17325, i16 16398, i16 16393, i16 -16384, i16 17326, i16 16398, i16 16393, i16 -16384, i16 17327, i16 16398, i16 16393, i16 -16384, i16 17328, i16 16398, i16 16393, i16 -16384, i16 17330, i16 16398, i16 16393, i16 -16384, i16 17331, i16 16398, i16 16393, i16 -16384, i16 17332, i16 16398, i16 16393, i16 -16384, i16 17334, i16 16398, i16 16393, i16 -16384, i16 17336, i16 16398, i16 16393, i16 -16384, i16 17337, i16 16398, i16 16393, i16 -16384, i16 16425, i16 16, i16 17273, i16 -16384, i16 16425, i16 17, i16 17273, i16 -16384, i16 16425, i16 897, i16 17273, i16 -16384, i16 16425, i16 22, i16 17273, i16 -16384, i16 16425, i16 20, i16 17273, i16 -16384, i16 16425, i16 19, i16 17273, i16 -16384, i16 16425, i16 896, i16 17273, i16 -16384, i16 18042, i16 1628, i16 18015, i16 -16384, i16 16427, i16 25, i16 17273, i16 -16384, i16 16427, i16 16, i16 17273, i16 -16384, i16 16427, i16 897, i16 17273, i16 -16384, i16 16427, i16 18, i16 17273, i16 -16384, i16 16427, i16 23, i16 17273, i16 -16384, i16 17282, i16 15, i16 17273, i16 -16384, i16 17282, i16 24, i16 17273, i16 -16384, i16 17283, i16 896, i16 17273, i16 -16384, i16 17283, i16 897, i16 17273, i16 -16384, i16 17283, i16 23, i16 17273, i16 -16384, i16 16430, i16 897, i16 17273, i16 -16384, i16 16430, i16 24, i16 17273, i16 -16384, i16 17284, i16 14, i16 17273, i16 -16384, i16 17284, i16 897, i16 17273, i16 -16384, i16 17284, i16 15, i16 17273, i16 -16384, i16 17285, i16 897, i16 17273, i16 -16384, i16 16433, i16 22, i16 17273, i16 -16384, i16 18045, i16 1628, i16 18015, i16 -16384, i16 16434, i16 20, i16 17273, i16 -16384, i16 16434, i16 24, i16 17273, i16 -16384, i16 16434, i16 21, i16 17273, i16 -16384, i16 16437, i16 897, i16 17273, i16 -16384, i16 16437, i16 18, i16 17273, i16 -16384, i16 16437, i16 25, i16 17273, i16 -16384, i16 18048, i16 1628, i16 18015, i16 -16384, i16 16438, i16 25, i16 17273, i16 -16384, i16 16439, i16 20, i16 17273, i16 -16384, i16 16439, i16 896, i16 17273, i16 -16384, i16 16439, i16 21, i16 17273, i16 -16384, i16 16441, i16 14, i16 17273, i16 -16384, i16 16443, i16 18, i16 17273, i16 -16384, i16 16443, i16 23, i16 17273, i16 -16384, i16 16425, i16 16, i16 16393, i16 -16384, i16 16425, i16 17, i16 16393, i16 -16384, i16 16425, i16 897, i16 16393, i16 -16384, i16 16425, i16 22, i16 16393, i16 -16384, i16 16425, i16 20, i16 16393, i16 -16384, i16 16425, i16 19, i16 16393, i16 -16384, i16 16425, i16 896, i16 16393, i16 -16384, i16 18042, i16 1628, i16 18021, i16 -16384, i16 16427, i16 25, i16 16393, i16 -16384, i16 16427, i16 16, i16 16393, i16 -16384, i16 16427, i16 897, i16 16393, i16 -16384, i16 16427, i16 18, i16 16393, i16 -16384, i16 16427, i16 23, i16 16393, i16 -16384, i16 17282, i16 15, i16 16393, i16 -16384, i16 17282, i16 24, i16 16393, i16 -16384, i16 17283, i16 896, i16 16393, i16 -16384, i16 17283, i16 897, i16 16393, i16 -16384, i16 17283, i16 23, i16 16393, i16 -16384, i16 16430, i16 897, i16 16393, i16 -16384, i16 16430, i16 24, i16 16393, i16 -16384, i16 17284, i16 14, i16 16393, i16 -16384, i16 17284, i16 897, i16 16393, i16 -16384, i16 17284, i16 15, i16 16393, i16 -16384, i16 17285, i16 897, i16 16393, i16 -16384, i16 16433, i16 22, i16 16393, i16 -16384, i16 18045, i16 1628, i16 18021, i16 -16384, i16 16434, i16 20, i16 16393, i16 -16384, i16 16434, i16 24, i16 16393, i16 -16384, i16 16434, i16 21, i16 16393, i16 -16384, i16 16437, i16 897, i16 16393, i16 -16384, i16 16437, i16 18, i16 16393, i16 -16384, i16 16437, i16 25, i16 16393, i16 -16384, i16 16438, i16 25, i16 16393, i16 -16384, i16 16439, i16 20, i16 16393, i16 -16384, i16 16439, i16 896, i16 16393, i16 -16384, i16 16439, i16 21, i16 16393, i16 -16384, i16 16441, i16 14, i16 16393, i16 -16384, i16 16443, i16 18, i16 16393, i16 -16384, i16 16443, i16 23, i16 16393, i16 -16384, i16 16415, i16 16398, i16 17273, i16 -16384, i16 16415, i16 16399, i16 17273, i16 -16384, i16 16416, i16 16398, i16 17273, i16 -16384, i16 16416, i16 16399, i16 17273, i16 -16384, i16 16417, i16 16398, i16 17273, i16 -16384, i16 16417, i16 16399, i16 17273, i16 -16384, i16 16418, i16 16398, i16 17273, i16 -16384, i16 16418, i16 16399, i16 17273, i16 -16384, i16 16419, i16 16398, i16 17273, i16 -16384, i16 16419, i16 16399, i16 17273, i16 -16384, i16 16420, i16 16398, i16 17273, i16 -16384, i16 16420, i16 16399, i16 17273, i16 -16384, i16 16421, i16 16398, i16 17273, i16 -16384, i16 16421, i16 16399, i16 17273, i16 -16384, i16 16422, i16 16398, i16 17273, i16 -16384, i16 16422, i16 16399, i16 17273, i16 -16384, i16 16423, i16 16398, i16 17273, i16 -16384, i16 16423, i16 16399, i16 17273, i16 -16384, i16 16424, i16 16398, i16 17273, i16 -16384, i16 16424, i16 16399, i16 17273, i16 -16384, i16 17289, i16 16398, i16 17273, i16 -16384, i16 17290, i16 16397, i16 17273, i16 -16384, i16 17290, i16 17274, i16 17273, i16 -16384, i16 17290, i16 17276, i16 17273, i16 -16384, i16 17290, i16 16398, i16 17273, i16 -16384, i16 16447, i16 16398, i16 17273, i16 -16384, i16 16472, i16 16398, i16 17273, i16 -16384, i16 16473, i16 16398, i16 17273, i16 -16384, i16 17291, i16 16398, i16 17273, i16 -16384, i16 16479, i16 16398, i16 17273, i16 -16384, i16 16480, i16 17275, i16 17273, i16 -16384, i16 16481, i16 16398, i16 17273, i16 -16384, i16 18051, i16 18054, i16 18015, i16 -16384, i16 16481, i16 17277, i16 17273, i16 -16384, i16 905, i16 14, i16 3, i16 -16384, i16 906, i16 13, i16 3, i16 -16384, i16 906, i16 13, i16 4, i16 -16384, i16 906, i16 890, i16 3, i16 -16384, i16 906, i16 890, i16 4, i16 -16384, i16 906, i16 892, i16 3, i16 -16384, i16 906, i16 892, i16 4, i16 -16384, i16 906, i16 14, i16 3, i16 -16384, i16 906, i16 14, i16 4, i16 -16384, i16 63, i16 14, i16 3, i16 -16384, i16 63, i16 14, i16 4, i16 -16384, i16 88, i16 14, i16 3, i16 -16384, i16 88, i16 14, i16 4, i16 -16384, i16 88, i16 14, i16 5, i16 -16384, i16 88, i16 14, i16 6, i16 -16384, i16 89, i16 14, i16 3, i16 -16384, i16 89, i16 14, i16 4, i16 -16384, i16 89, i16 14, i16 5, i16 -16384, i16 89, i16 14, i16 6, i16 -16384, i16 907, i16 14, i16 3, i16 -16384, i16 907, i16 14, i16 4, i16 -16384, i16 907, i16 14, i16 5, i16 -16384, i16 907, i16 14, i16 6, i16 -16384, i16 95, i16 14, i16 3, i16 -16384, i16 95, i16 14, i16 4, i16 -16384, i16 96, i16 891, i16 3, i16 -16384, i16 96, i16 891, i16 4, i16 -16384, i16 97, i16 14, i16 3, i16 -16384, i16 97, i16 14, i16 4, i16 -16384, i16 97, i16 893, i16 3, i16 -16384, i16 97, i16 893, i16 4, i16 -16384, i16 97, i16 893, i16 5, i16 -16384, i16 97, i16 893, i16 6, i16 -16384, i16 1673, i16 1676, i16 1679, i16 -16384, i16 1673, i16 1676, i16 1682, i16 -16384, i16 1673, i16 1685, i16 1679, i16 -16384, i16 1673, i16 1685, i16 1682, i16 -16384, i16 1673, i16 1688, i16 1679, i16 -16384, i16 1673, i16 1688, i16 1682, i16 -16384, i16 1673, i16 1643, i16 1679, i16 -16384, i16 1673, i16 1643, i16 1682, i16 -16384, i16 17297, i16 16398, i16 17273, i16 -16384, i16 17298, i16 16398, i16 17273, i16 -16384, i16 17300, i16 16398, i16 17273, i16 -16384, i16 17301, i16 16398, i16 17273, i16 -16384, i16 17304, i16 16398, i16 17273, i16 -16384, i16 17306, i16 16398, i16 17273, i16 -16384, i16 17307, i16 16398, i16 17273, i16 -16384, i16 17312, i16 16398, i16 17273, i16 -16384, i16 17315, i16 16398, i16 17273, i16 -16384, i16 17321, i16 16398, i16 17273, i16 -16384, i16 17322, i16 16398, i16 17273, i16 -16384, i16 17324, i16 16398, i16 17273, i16 -16384, i16 17329, i16 16398, i16 17273, i16 -16384, i16 17333, i16 16398, i16 17273, i16 -16384, i16 17335, i16 16398, i16 17273, i16 -16384, i16 17297, i16 16398, i16 16393, i16 -16384, i16 17298, i16 16398, i16 16393, i16 -16384, i16 17300, i16 16398, i16 16393, i16 -16384, i16 17301, i16 16398, i16 16393, i16 -16384, i16 17304, i16 16398, i16 16393, i16 -16384, i16 17306, i16 16398, i16 16393, i16 -16384, i16 17307, i16 16398, i16 16393, i16 -16384, i16 17309, i16 16398, i16 16393, i16 -16384, i16 17312, i16 16398, i16 16393, i16 -16384, i16 17315, i16 16398, i16 16393, i16 -16384, i16 17321, i16 16398, i16 16393, i16 -16384, i16 17322, i16 16398, i16 16393, i16 -16384, i16 17324, i16 16398, i16 16393, i16 -16384, i16 17329, i16 16398, i16 16393, i16 -16384, i16 17333, i16 16398, i16 16393, i16 -16384, i16 17335, i16 16398, i16 16393, i16 -16384, i16 32767, i16 16384, i16 16384, i16 -16384, i16 18075, i16 18078, i16 16384, i16 -16384, i16 18081, i16 18078, i16 16384, i16 -16384, i16 18084, i16 18078, i16 16384, i16 -16384, i16 17541, i16 16407, i16 17273, i16 -16384, i16 17542, i16 16407, i16 17273, i16 -16384, i16 17543, i16 16407, i16 17273, i16 -16384, i16 17544, i16 16407, i16 17273, i16 -16384, i16 17545, i16 16407, i16 17273, i16 -16384, i16 17540, i16 16407, i16 17273, i16 -16384, i16 17555, i16 16399, i16 17273, i16 -16384, i16 17555, i16 16399, i16 16393, i16 -16384, i16 17556, i16 16399, i16 17273, i16 -16384, i16 17556, i16 16399, i16 16393, i16 -16384, i16 17561, i16 16398, i16 17273, i16 -16384, i16 17561, i16 16398, i16 16393, i16 -16384, i16 17564, i16 16399, i16 17273, i16 -16384, i16 17564, i16 16404, i16 17273, i16 -16384, i16 17564, i16 16399, i16 16393, i16 -16384, i16 17564, i16 16404, i16 16393, i16 -16384, i16 17284, i16 16398, i16 17273, i16 -16384, i16 17567, i16 16407, i16 17273, i16 -16384, i16 17284, i16 16398, i16 16393, i16 -16384, i16 17567, i16 16407, i16 16393, i16 -16384, i16 17568, i16 16399, i16 17273, i16 -16384, i16 17568, i16 16406, i16 17273, i16 -16384, i16 17568, i16 16399, i16 16393, i16 -16384, i16 17568, i16 16406, i16 16393, i16 -16384, i16 17569, i16 16404, i16 17273, i16 -16384, i16 17569, i16 16404, i16 16393, i16 -16384, i16 17565, i16 16409, i16 17273, i16 -16384, i16 17565, i16 16409, i16 16393, i16 -16384, i16 17566, i16 17280, i16 17273, i16 -16384, i16 17566, i16 17280, i16 16393, i16 -16384, i16 17570, i16 16409, i16 17273, i16 -16384, i16 17570, i16 16409, i16 16393, i16 -16384, i16 17571, i16 16404, i16 17273, i16 -16384, i16 17571, i16 16404, i16 16393, i16 -16384, i16 17572, i16 16399, i16 17273, i16 -16384, i16 17572, i16 16399, i16 16393, i16 -16384, i16 17573, i16 16399, i16 17273, i16 -16384, i16 17573, i16 16399, i16 16393, i16 -16384, i16 17574, i16 16399, i16 17273, i16 -16384, i16 17574, i16 16399, i16 16393, i16 -16384, i16 17575, i16 16399, i16 17273, i16 -16384, i16 17575, i16 16399, i16 16393, i16 -16384, i16 17576, i16 16399, i16 17273, i16 -16384, i16 17576, i16 16399, i16 16393, i16 -16384, i16 17577, i16 16399, i16 17273, i16 -16384, i16 17577, i16 16399, i16 16393, i16 -16384, i16 17578, i16 16399, i16 17273, i16 -16384, i16 17578, i16 16399, i16 16393, i16 -16384, i16 17579, i16 16399, i16 17273, i16 -16384, i16 17579, i16 16399, i16 16393, i16 -16384, i16 17602, i16 16407, i16 17273, i16 -16384, i16 17602, i16 16407, i16 17600, i16 -16384, i16 17602, i16 16407, i16 16393, i16 -16384, i16 17602, i16 16407, i16 17601, i16 -16384, i16 32766, i16 16384, i16 16384, i16 16384, i16 17619, i16 16399, i16 17273, i16 -16384, i16 17619, i16 16399, i16 16393, i16 -16384, i16 17620, i16 16399, i16 17273, i16 -16384, i16 17620, i16 16399, i16 16393, i16 -16384, i16 17621, i16 16399, i16 17273, i16 -16384, i16 17621, i16 16399, i16 16393, i16 -16384, i16 17622, i16 16399, i16 17273, i16 -16384, i16 17622, i16 16399, i16 16393, i16 -16384, i16 17623, i16 16399, i16 17273, i16 -16384, i16 17623, i16 16399, i16 16393, i16 -16384, i16 17635, i16 16404, i16 17273, i16 -16384, i16 17634, i16 16403, i16 17273, i16 -16384, i16 17635, i16 17279, i16 17273, i16 -16384, i16 17636, i16 16404, i16 17273, i16 -16384, i16 17637, i16 16408, i16 17273, i16 -16384, i16 17635, i16 16404, i16 16393, i16 -16384, i16 17634, i16 16403, i16 16393, i16 -16384, i16 17635, i16 17279, i16 16393, i16 -16384, i16 17636, i16 16404, i16 16393, i16 -16384, i16 17637, i16 16408, i16 16393, i16 -16384, i16 16440, i16 16398, i16 16393, i16 -16327, i16 16440, i16 16398, i16 17273, i16 -16327, i16 16442, i16 16404, i16 17273, i16 -16384, i16 16442, i16 16404, i16 16393, i16 -16384, i16 17638, i16 16407, i16 17273, i16 -16384, i16 17639, i16 16407, i16 17273, i16 -16384, i16 17638, i16 16407, i16 16393, i16 -16384, i16 17639, i16 16407, i16 16393, i16 -16384, i16 17640, i16 16407, i16 17273, i16 -16384, i16 17640, i16 16407, i16 17600, i16 -16384, i16 17641, i16 16407, i16 17273, i16 -16384, i16 17640, i16 16407, i16 16393, i16 -16384, i16 17640, i16 16407, i16 17601, i16 -16384, i16 17641, i16 16407, i16 16393, i16 -16384, i16 17642, i16 16407, i16 17273, i16 -16384, i16 17642, i16 16407, i16 17600, i16 -16384, i16 17642, i16 16407, i16 16393, i16 -16384, i16 17642, i16 16407, i16 17601, i16 -16384, i16 17643, i16 16407, i16 17273, i16 -16384, i16 17643, i16 16407, i16 17600, i16 -16384, i16 17643, i16 16407, i16 16393, i16 -16384, i16 17643, i16 16407, i16 17601, i16 -16384, i16 17644, i16 16407, i16 17273, i16 -16384, i16 17644, i16 16407, i16 16393, i16 -16384, i16 17645, i16 16407, i16 17273, i16 -16384, i16 17645, i16 16407, i16 16393, i16 -16384, i16 17658, i16 16401, i16 17273, i16 -16384, i16 17660, i16 16400, i16 17273, i16 -16384, i16 17661, i16 17281, i16 17273, i16 -16384, i16 17659, i16 16406, i16 17273, i16 -16384, i16 17658, i16 16401, i16 16393, i16 -16384, i16 17660, i16 16400, i16 16393, i16 -16384, i16 17661, i16 17281, i16 16393, i16 -16384, i16 17659, i16 16406, i16 16393, i16 -16384, i16 17662, i16 16409, i16 17273, i16 -16384, i16 17639, i16 16402, i16 17273, i16 -16384, i16 17662, i16 16409, i16 16393, i16 -16384, i16 17639, i16 16402, i16 16393, i16 -16384, i16 17663, i16 16398, i16 17273, i16 -16384, i16 17664, i16 16402, i16 17273, i16 -16384, i16 17664, i16 16402, i16 16393, i16 -16384, i16 17666, i16 16399, i16 17273, i16 -16384, i16 17665, i16 16408, i16 17273, i16 -16384, i16 17666, i16 16399, i16 16393, i16 -16384, i16 17665, i16 16408, i16 16393, i16 -16384, i16 17668, i16 16402, i16 17273, i16 -16384, i16 17669, i16 16408, i16 17273, i16 -16384, i16 17671, i16 18078, i16 18015, i16 -16384, i16 17644, i16 16402, i16 17273, i16 -16384, i16 17644, i16 16402, i16 16393, i16 -16384, i16 17673, i16 16404, i16 17273, i16 -16384, i16 17672, i16 17279, i16 17273, i16 -16384, i16 17673, i16 16404, i16 16393, i16 -16384, i16 17672, i16 17279, i16 16393, i16 -16384, i16 17667, i16 16398, i16 17273, i16 -16384, i16 17670, i16 16402, i16 17273, i16 -16384, i16 17670, i16 16402, i16 16393, i16 -16384, i16 17685, i16 17281, i16 17273, i16 -16384, i16 17686, i16 17280, i16 17273, i16 -16384, i16 17685, i16 17281, i16 16393, i16 -16384, i16 17686, i16 17280, i16 16393, i16 -16384, i16 17688, i16 16409, i16 17273, i16 -16384, i16 17688, i16 16409, i16 16393, i16 -16384, i16 17687, i16 17281, i16 17273, i16 -16384, i16 17687, i16 17281, i16 16393, i16 -16384, i16 17695, i16 16399, i16 17273, i16 -16384, i16 17695, i16 16399, i16 17600, i16 -16384, i16 17695, i16 16399, i16 16393, i16 -16384, i16 17695, i16 16399, i16 17601, i16 -16384, i16 17697, i16 16399, i16 17273, i16 -16384, i16 17697, i16 16399, i16 17600, i16 -16384, i16 17697, i16 16399, i16 16393, i16 -16384, i16 17697, i16 16399, i16 17601, i16 -16384, i16 17693, i16 16407, i16 17273, i16 -16384, i16 17693, i16 16407, i16 16393, i16 -16384, i16 17694, i16 16407, i16 17273, i16 -16384, i16 17694, i16 16407, i16 16393, i16 -16384, i16 17696, i16 16408, i16 17273, i16 -16384, i16 17696, i16 16408, i16 16393, i16 -16384, i16 17698, i16 16407, i16 17273, i16 -16384, i16 17698, i16 16407, i16 16393, i16 -16384, i16 17707, i16 16407, i16 17273, i16 -16384, i16 17707, i16 16407, i16 17600, i16 -16384, i16 17707, i16 16407, i16 16393, i16 -16384, i16 17707, i16 16407, i16 17601, i16 -16384, i16 17708, i16 16407, i16 17273, i16 -16384, i16 17708, i16 16407, i16 17600, i16 -16384, i16 17708, i16 16407, i16 16393, i16 -16384, i16 17708, i16 16407, i16 17601, i16 -16384, i16 32766, i16 16398, i16 17273, i16 -16384, i16 32766, i16 16398, i16 16393, i16 -16384, i16 17803, i16 16404, i16 17273, i16 -16384, i16 17803, i16 16405, i16 17273, i16 -16384, i16 17803, i16 16404, i16 16393, i16 -16384, i16 17803, i16 16405, i16 16393, i16 -16384, i16 17806, i16 16404, i16 17273, i16 -16384, i16 17806, i16 16405, i16 17273, i16 -16384, i16 17806, i16 16404, i16 16393, i16 -16384, i16 17806, i16 16405, i16 16393, i16 -16384, i16 17797, i16 16398, i16 16393, i16 -16384, i16 17797, i16 16398, i16 17601, i16 -16384, i16 18087, i16 18054, i16 18021, i16 -16384, i16 18087, i16 18054, i16 18090, i16 -16384, i16 18087, i16 18054, i16 18093, i16 -16384, i16 18087, i16 18054, i16 18096, i16 -16384, i16 17797, i16 16398, i16 17600, i16 -16384, i16 17797, i16 16398, i16 17273, i16 -16384, i16 18087, i16 18054, i16 18099, i16 -16384, i16 18087, i16 18054, i16 18102, i16 -16384, i16 18087, i16 18054, i16 18105, i16 -16384, i16 18087, i16 18054, i16 18015, i16 -16384, i16 17798, i16 16398, i16 16393, i16 -16384, i16 17798, i16 16398, i16 17601, i16 -16384, i16 18108, i16 18054, i16 18021, i16 -16384, i16 18108, i16 18054, i16 18090, i16 -16384, i16 18108, i16 18054, i16 18093, i16 -16384, i16 18108, i16 18054, i16 18096, i16 -16384, i16 17798, i16 16398, i16 17600, i16 -16384, i16 17798, i16 16398, i16 17273, i16 -16384, i16 18108, i16 18054, i16 18099, i16 -16384, i16 18108, i16 18054, i16 18102, i16 -16384, i16 18108, i16 18054, i16 18105, i16 -16384, i16 18108, i16 18054, i16 18015, i16 -16384, i16 17799, i16 16398, i16 17796, i16 -16384, i16 17799, i16 16398, i16 17795, i16 -16384, i16 17799, i16 16398, i16 17794, i16 -16384, i16 17799, i16 16398, i16 17793, i16 -16384, i16 18111, i16 18054, i16 18114, i16 -16384, i16 18111, i16 18054, i16 18117, i16 -16384, i16 18111, i16 18054, i16 18120, i16 -16384, i16 18111, i16 18054, i16 18123, i16 -16384, i16 17799, i16 16398, i16 17792, i16 -16384, i16 17799, i16 16398, i16 17791, i16 -16384, i16 17799, i16 16398, i16 17790, i16 -16384, i16 17799, i16 16398, i16 17789, i16 -16384, i16 18111, i16 18054, i16 18126, i16 -16384, i16 18111, i16 18054, i16 18129, i16 -16384, i16 18111, i16 18054, i16 18132, i16 -16384, i16 18111, i16 18054, i16 18135, i16 -16384, i16 17800, i16 16398, i16 16393, i16 -16384, i16 17800, i16 16398, i16 17601, i16 -16384, i16 18138, i16 18054, i16 18021, i16 -16384, i16 18138, i16 18054, i16 18090, i16 -16384, i16 18138, i16 18054, i16 18093, i16 -16384, i16 18138, i16 18054, i16 18096, i16 -16384, i16 17800, i16 16398, i16 17273, i16 -16384, i16 17800, i16 16398, i16 17600, i16 -16384, i16 18138, i16 18054, i16 18099, i16 -16384, i16 18138, i16 18054, i16 18102, i16 -16384, i16 18138, i16 18054, i16 18105, i16 -16384, i16 18138, i16 18054, i16 18015, i16 -16384, i16 17801, i16 16398, i16 16393, i16 -16384, i16 17801, i16 16398, i16 17601, i16 -16384, i16 18141, i16 18054, i16 18021, i16 -16384, i16 18141, i16 18054, i16 18090, i16 -16384, i16 18141, i16 18054, i16 18093, i16 -16384, i16 18141, i16 18054, i16 18096, i16 -16384, i16 17801, i16 16398, i16 17273, i16 -16384, i16 17801, i16 16398, i16 17600, i16 -16384, i16 18141, i16 18054, i16 18099, i16 -16384, i16 18141, i16 18054, i16 18102, i16 -16384, i16 18141, i16 18054, i16 18105, i16 -16384, i16 18141, i16 18054, i16 18015, i16 -16384, i16 17802, i16 16398, i16 16393, i16 -16384, i16 17802, i16 16398, i16 17601, i16 -16384, i16 18144, i16 18054, i16 18021, i16 -16384, i16 18144, i16 18054, i16 18090, i16 -16384, i16 18144, i16 18054, i16 18093, i16 -16384, i16 18144, i16 18054, i16 18096, i16 -16384, i16 17802, i16 16398, i16 17273, i16 -16384, i16 17802, i16 16398, i16 17600, i16 -16384, i16 18144, i16 18054, i16 18099, i16 -16384, i16 18144, i16 18054, i16 18102, i16 -16384, i16 18144, i16 18054, i16 18105, i16 -16384, i16 18144, i16 18054, i16 18015, i16 -16384, i16 17804, i16 16398, i16 16393, i16 -16384, i16 17804, i16 16398, i16 17601, i16 -16384, i16 18147, i16 18054, i16 18021, i16 -16384, i16 18147, i16 18054, i16 18090, i16 -16384, i16 18147, i16 18054, i16 18093, i16 -16384, i16 18147, i16 18054, i16 18096, i16 -16384, i16 17804, i16 16398, i16 17600, i16 -16384, i16 17804, i16 16398, i16 17273, i16 -16384, i16 18147, i16 18054, i16 18099, i16 -16384, i16 18147, i16 18054, i16 18102, i16 -16384, i16 18147, i16 18054, i16 18105, i16 -16384, i16 18147, i16 18054, i16 18015, i16 -16384, i16 17805, i16 16398, i16 16393, i16 -16384, i16 17805, i16 16398, i16 17601, i16 -16384, i16 18150, i16 18054, i16 18021, i16 -16384, i16 18150, i16 18054, i16 18090, i16 -16384, i16 18150, i16 18054, i16 18093, i16 -16384, i16 18150, i16 18054, i16 18096, i16 -16384, i16 17805, i16 16398, i16 17600, i16 -16384, i16 17805, i16 16398, i16 17273, i16 -16384, i16 18150, i16 18054, i16 18099, i16 -16384, i16 18150, i16 18054, i16 18102, i16 -16384, i16 18150, i16 18054, i16 18105, i16 -16384, i16 18150, i16 18054, i16 18015, i16 -16384, i16 17807, i16 16398, i16 16393, i16 -16384, i16 17807, i16 16398, i16 17601, i16 -16384, i16 18153, i16 18054, i16 18021, i16 -16384, i16 18153, i16 18054, i16 18090, i16 -16384, i16 18153, i16 18054, i16 18093, i16 -16384, i16 18153, i16 18054, i16 18096, i16 -16384, i16 17807, i16 16398, i16 17600, i16 -16384, i16 17807, i16 16398, i16 17273, i16 -16384, i16 18153, i16 18054, i16 18099, i16 -16384, i16 18153, i16 18054, i16 18102, i16 -16384, i16 18153, i16 18054, i16 18105, i16 -16384, i16 18153, i16 18054, i16 18015, i16 -16384, i16 16384, i16 16384, i16 16384, i16 -2, i16 17934, i16 16398, i16 17273, i16 -16384, i16 17290, i16 17928, i16 17273, i16 -16384, i16 17289, i16 17274, i16 17273, i16 -16384, i16 17289, i16 17276, i16 17273, i16 -16384, i16 17289, i16 17275, i16 17273, i16 -16384, i16 17289, i16 17929, i16 17273, i16 -16384, i16 17289, i16 17929, i16 17932, i16 -16384, i16 17289, i16 17929, i16 17933, i16 -16384, i16 16472, i16 16399, i16 17273, i16 -16384, i16 17291, i16 17931, i16 17273, i16 -16384, i16 17291, i16 17274, i16 17273, i16 -16384, i16 17935, i16 16398, i16 17273, i16 -16384, i16 17935, i16 17930, i16 17273, i16 -16384, i16 17935, i16 17277, i16 17273, i16 -16384, i16 17934, i16 16398, i16 16387, i16 -16384, i16 17934, i16 16398, i16 16388, i16 -16384, i16 17290, i16 16398, i16 16387, i16 -16384, i16 17290, i16 16398, i16 16388, i16 -16384, i16 17290, i16 17928, i16 16387, i16 -16384, i16 17290, i16 17928, i16 16388, i16 -16384, i16 17289, i16 16398, i16 16387, i16 -16384, i16 17289, i16 17274, i16 16387, i16 -16384, i16 17289, i16 17274, i16 16388, i16 -16384, i16 17289, i16 17276, i16 16387, i16 -16384, i16 17289, i16 17276, i16 16388, i16 -16384, i16 17289, i16 17275, i16 16387, i16 -16384, i16 17289, i16 17275, i16 16388, i16 -16384, i16 17289, i16 17929, i16 16387, i16 -16384, i16 17289, i16 17929, i16 16388, i16 -16384, i16 16472, i16 16398, i16 16387, i16 -16384, i16 16472, i16 16398, i16 16388, i16 -16384, i16 16472, i16 16398, i16 16389, i16 -16384, i16 16472, i16 16398, i16 16390, i16 -16384, i16 16472, i16 16399, i16 16387, i16 -16384, i16 16472, i16 16399, i16 16388, i16 -16384, i16 16472, i16 16399, i16 16389, i16 -16384, i16 16472, i16 16399, i16 16390, i16 -16384, i16 17291, i16 16398, i16 16387, i16 -16384, i16 17291, i16 16398, i16 16388, i16 -16384, i16 17291, i16 16398, i16 16389, i16 -16384, i16 17291, i16 16398, i16 16390, i16 -16384, i16 17291, i16 17931, i16 16387, i16 -16384, i16 17291, i16 17931, i16 16388, i16 -16384, i16 17291, i16 17274, i16 16387, i16 -16384, i16 17291, i16 17274, i16 16388, i16 -16384, i16 17935, i16 16398, i16 16387, i16 -16384, i16 17935, i16 16398, i16 16388, i16 -16384, i16 17935, i16 16398, i16 16389, i16 -16384, i16 17935, i16 16398, i16 16390, i16 -16384, i16 17935, i16 17930, i16 16387, i16 -16384, i16 17935, i16 17930, i16 16388, i16 -16384, i16 17935, i16 17277, i16 16387, i16 -16384, i16 17935, i16 17277, i16 16388, i16 -16384, i16 17935, i16 17277, i16 16389, i16 -16384, i16 17935, i16 17277, i16 16390, i16 -16384, i16 18156, i16 18054, i16 18159, i16 -16384, i16 18156, i16 18054, i16 18162, i16 -16384, i16 18165, i16 18168, i16 18159, i16 -16384, i16 18165, i16 18168, i16 18162, i16 -16384, i16 18165, i16 18171, i16 18159, i16 -16384, i16 18165, i16 18171, i16 18162, i16 -16384, i16 18174, i16 18054, i16 18159, i16 -16384, i16 18174, i16 18054, i16 18162, i16 -16384, i16 18177, i16 18182, i16 18187, i16 -16384, i16 17958, i16 17281, i16 16393, i16 -16384, i16 17958, i16 17281, i16 17273, i16 -16384, i16 17959, i16 17281, i16 16393, i16 -16384, i16 17959, i16 17281, i16 17273, i16 -16384, i16 17960, i16 17281, i16 16393, i16 -16384, i16 17960, i16 17281, i16 17273, i16 -16384, i16 17961, i16 17281, i16 16393, i16 -16384, i16 17961, i16 17281, i16 17273, i16 -16384, i16 17962, i16 17281, i16 16393, i16 -16384, i16 17962, i16 17281, i16 17273, i16 -16384, i16 17963, i16 17280, i16 16393, i16 -16384, i16 17963, i16 17280, i16 17273, i16 -16384, i16 17964, i16 16407, i16 17273, i16 -16384, i16 17964, i16 16407, i16 17600, i16 -16384, i16 17964, i16 16407, i16 16393, i16 -16384, i16 17964, i16 16407, i16 17601, i16 -16384, i16 17965, i16 16407, i16 17273, i16 -16384, i16 17965, i16 16407, i16 17600, i16 -16384, i16 17965, i16 16407, i16 16393, i16 -16384, i16 17965, i16 16407, i16 17601, i16 -16384, i16 17966, i16 16407, i16 17273, i16 -16384, i16 17966, i16 16407, i16 17600, i16 -16384, i16 17966, i16 16407, i16 16393, i16 -16384, i16 17966, i16 16407, i16 17601, i16 -16384, i16 17967, i16 16407, i16 17273, i16 -16384, i16 17967, i16 16407, i16 17600, i16 -16384, i16 17967, i16 16407, i16 16393, i16 -16384, i16 17967, i16 16407, i16 17601, i16 -16384, i16 17968, i16 16407, i16 17273, i16 -16384, i16 17968, i16 16407, i16 17600, i16 -16384, i16 17968, i16 16407, i16 16393, i16 -16384, i16 17968, i16 16407, i16 17601, i16 -16384, i16 17969, i16 16407, i16 17273, i16 -16384, i16 17969, i16 16407, i16 17600, i16 -16384, i16 17969, i16 16407, i16 16393, i16 -16384, i16 17969, i16 16407, i16 17601, i16 -16384, i16 17970, i16 16407, i16 17273, i16 -16384, i16 17970, i16 16407, i16 17600, i16 -16384, i16 17970, i16 16407, i16 16393, i16 -16384, i16 17970, i16 16407, i16 17601, i16 -16384, i16 17971, i16 16407, i16 17273, i16 -16384, i16 17971, i16 16407, i16 17600, i16 -16384, i16 17971, i16 16407, i16 16393, i16 -16384, i16 17971, i16 16407, i16 17601, i16 -16384, i16 18000, i16 16407, i16 17273, i16 -16384, i16 18000, i16 16407, i16 17600, i16 -16384, i16 18001, i16 16407, i16 17273, i16 -16384, i16 18001, i16 16407, i16 17600, i16 -16384, i16 18000, i16 16407, i16 16393, i16 -16384, i16 18000, i16 16407, i16 17601, i16 -16384, i16 18001, i16 16407, i16 16393, i16 -16384, i16 18001, i16 16407, i16 17601, i16 -16384, i16 18192, i16 18078, i16 18015, i16 -16384, i16 18192, i16 18195, i16 18015, i16 -16384, i16 18198, i16 18078, i16 18015, i16 -16384, i16 17299, i16 17300, i16 17273, i16 -16384, i16 17299, i16 17301, i16 17273, i16 -16384, i16 17299, i16 17335, i16 17273, i16 -16384, i16 17305, i16 17306, i16 17273, i16 -16384, i16 17305, i16 17307, i16 17273, i16 -16384, i16 17305, i16 17333, i16 17273, i16 -16384, i16 18192, i16 18078, i16 18021, i16 -16384, i16 18192, i16 18195, i16 18021, i16 -16384, i16 18198, i16 18078, i16 18021, i16 -16384, i16 17299, i16 17300, i16 16393, i16 -16384, i16 17299, i16 17301, i16 16393, i16 -16384, i16 17299, i16 17335, i16 16393, i16 -16384, i16 17305, i16 17306, i16 16393, i16 -16384, i16 17305, i16 17307, i16 16393, i16 -16384, i16 17305, i16 17333, i16 16393, i16 -16384, i16 17295, i16 17297, i16 17273, i16 -16384, i16 17310, i16 17321, i16 17273, i16 -16384, i16 18201, i16 18078, i16 18015, i16 -16384, i16 18204, i16 18078, i16 18015, i16 -16384, i16 17323, i16 17324, i16 17273, i16 -16384, i16 17328, i16 17322, i16 17273, i16 -16384, i16 17295, i16 17297, i16 16393, i16 -16384, i16 17308, i16 17309, i16 16393, i16 -16384, i16 17310, i16 17321, i16 16393, i16 -16384, i16 18201, i16 18078, i16 18021, i16 -16384, i16 18204, i16 18078, i16 18021, i16 -16384, i16 17323, i16 17324, i16 16393, i16 -16384, i16 17328, i16 17322, i16 16393, i16 -16384, i16 18006, i16 16404, i16 17273, i16 -16384, i16 18006, i16 16404, i16 16393, i16 -16384, i16 32766, i16 16382, i16 32766, i16 -16386, i16 32766, i16 16382, i16 32766, i16 -32768, i16 16384, i16 0, i16 16384, i16 -16386, i16 32766, i16 2, i16 16385, i16 -32768, i16 17065, i16 2, i16 18080, i16 -32768, i16 17065, i16 2, i16 32766, i16 -32768, i16 17065, i16 5, i16 16385, i16 -32768, i16 17065, i16 5, i16 18080, i16 -32768, i16 17065, i16 6, i16 16385, i16 -32768, i16 17065, i16 6, i16 18080, i16 -32768, i16 17065, i16 7, i16 16385, i16 -32768, i16 17065, i16 7, i16 18080, i16 -32768, i16 17065, i16 8, i16 16385, i16 -32768, i16 17065, i16 8, i16 18080, i16 -32768, i16 17065, i16 9, i16 16385, i16 -32768, i16 17065, i16 9, i16 18080, i16 -32768, i16 17065, i16 11, i16 16385, i16 -32768, i16 17065, i16 11, i16 18080, i16 -32768, i16 17065, i16 12, i16 16385, i16 -32768, i16 17065, i16 12, i16 18080, i16 -32768, i16 17065, i16 13, i16 16385, i16 -32768, i16 17065, i16 13, i16 18080, i16 -32768, i16 17065, i16 15, i16 16385, i16 -32768, i16 17065, i16 15, i16 18080, i16 -32768, i16 17065, i16 16, i16 16385, i16 -32768, i16 17065, i16 16, i16 18080, i16 -32768, i16 17065, i16 17, i16 16385, i16 -32768, i16 17065, i16 17, i16 18080, i16 -32768, i16 17065, i16 18, i16 16385, i16 -32768, i16 17065, i16 18, i16 18080, i16 -32768, i16 17065, i16 19, i16 16385, i16 -32768, i16 17065, i16 19, i16 18080, i16 -32768, i16 17065, i16 20, i16 16385, i16 -32768, i16 17065, i16 20, i16 18080, i16 -32768, i16 17065, i16 21, i16 16385, i16 -32768, i16 17065, i16 21, i16 18080, i16 -32768, i16 17065, i16 22, i16 16385, i16 -32768, i16 17065, i16 22, i16 18080, i16 -32768, i16 17065, i16 27, i16 16385, i16 -32768, i16 17065, i16 27, i16 18080, i16 -32768, i16 17065, i16 29, i16 16385, i16 -32768, i16 17065, i16 29, i16 18080, i16 -32768, i16 17065, i16 34, i16 16385, i16 -32768, i16 17065, i16 34, i16 18080, i16 -32768, i16 17065, i16 35, i16 16385, i16 -32768, i16 17065, i16 35, i16 18080, i16 -32768, i16 17065, i16 40, i16 16385, i16 -32768, i16 17065, i16 40, i16 18080, i16 -32768, i16 17065, i16 55, i16 16385, i16 -32768, i16 17065, i16 55, i16 18080, i16 -32768, i16 17113, i16 2, i16 18080, i16 -32768, i16 17113, i16 39, i16 16385, i16 -32768, i16 17113, i16 39, i16 18080, i16 -32768, i16 17113, i16 40, i16 16385, i16 -32768, i16 17113, i16 40, i16 18080, i16 -32768, i16 17113, i16 58, i16 16385, i16 -32768, i16 17113, i16 58, i16 18080, i16 -32768, i16 17122, i16 2, i16 18080, i16 -32768, i16 17122, i16 16, i16 16385, i16 -32768, i16 17122, i16 16, i16 18080, i16 -32768, i16 17122, i16 34, i16 16385, i16 -32768, i16 17122, i16 34, i16 18080, i16 -32768, i16 17122, i16 39, i16 16385, i16 -32768, i16 17122, i16 39, i16 18080, i16 -32768, i16 17122, i16 45, i16 16385, i16 -32768, i16 17122, i16 45, i16 18080, i16 -32768, i16 17133, i16 2, i16 18080, i16 -32768, i16 17133, i16 22, i16 16385, i16 -32768, i16 17133, i16 22, i16 18080, i16 -32768, i16 17133, i16 39, i16 16385, i16 -32768, i16 17133, i16 39, i16 18080, i16 -32768, i16 17133, i16 40, i16 16385, i16 -32768, i16 17133, i16 40, i16 18080, i16 -32768, i16 17133, i16 44, i16 16385, i16 -32768, i16 17133, i16 44, i16 18080, i16 -32768, i16 17133, i16 57, i16 16385, i16 -32768, i16 17133, i16 57, i16 18080, i16 -32768, i16 17133, i16 58, i16 16385, i16 -32768, i16 17133, i16 58, i16 18080, i16 -32768, i16 17148, i16 2, i16 18080, i16 -32768, i16 17148, i16 5, i16 16385, i16 -32768, i16 17148, i16 5, i16 18080, i16 -32768, i16 17148, i16 6, i16 16385, i16 -32768, i16 17148, i16 6, i16 18080, i16 -32768, i16 17148, i16 7, i16 16385, i16 -32768, i16 17148, i16 7, i16 18080, i16 -32768, i16 17148, i16 15, i16 16385, i16 -32768, i16 17148, i16 15, i16 18080, i16 -32768, i16 17148, i16 16, i16 16385, i16 -32768, i16 17148, i16 16, i16 18080, i16 -32768, i16 17148, i16 17, i16 16385, i16 -32768, i16 17148, i16 17, i16 18080, i16 -32768, i16 17148, i16 18, i16 16385, i16 -32768, i16 17148, i16 18, i16 18080, i16 -32768, i16 17148, i16 19, i16 16385, i16 -32768, i16 17148, i16 19, i16 18080, i16 -32768, i16 17148, i16 20, i16 16385, i16 -32768, i16 17148, i16 20, i16 18080, i16 -32768, i16 17148, i16 21, i16 16385, i16 -32768, i16 17148, i16 21, i16 18080, i16 -32768, i16 17148, i16 22, i16 16385, i16 -32768, i16 17148, i16 22, i16 18080, i16 -32768, i16 17148, i16 28, i16 16385, i16 -32768, i16 17148, i16 28, i16 18080, i16 -32768, i16 17148, i16 34, i16 16385, i16 -32768, i16 17148, i16 34, i16 18080, i16 -32768, i16 17148, i16 35, i16 16385, i16 -32768, i16 17148, i16 35, i16 18080, i16 -32768, i16 17148, i16 38, i16 16385, i16 -32768, i16 17148, i16 38, i16 18080, i16 -32768, i16 17148, i16 39, i16 16385, i16 -32768, i16 17148, i16 39, i16 18080, i16 -32768, i16 17148, i16 40, i16 16385, i16 -32768, i16 17148, i16 40, i16 18080, i16 -32768, i16 17148, i16 47, i16 16385, i16 -32768, i16 17148, i16 47, i16 18080, i16 -32768, i16 17148, i16 51, i16 16385, i16 -32768, i16 17148, i16 51, i16 18080, i16 -32768, i16 17148, i16 52, i16 16385, i16 -32768, i16 17148, i16 52, i16 18080, i16 -32768, i16 17148, i16 57, i16 16385, i16 -32768, i16 17148, i16 57, i16 18080, i16 -32768, i16 17193, i16 2, i16 18080, i16 -32768, i16 17193, i16 34, i16 16385, i16 -32768, i16 17193, i16 34, i16 18080, i16 -32768, i16 17193, i16 39, i16 16385, i16 -32768, i16 17193, i16 39, i16 18080, i16 -32768, i16 18531, i16 2150, i16 18537, i16 -32768, i16 18540, i16 2150, i16 18543, i16 -32768, i16 18546, i16 2150, i16 18549, i16 -32768, i16 18552, i16 2172, i16 18560, i16 -32768, i16 18564, i16 2172, i16 18568, i16 -32768, i16 17205, i16 2, i16 18080, i16 -32768, i16 17205, i16 3, i16 16385, i16 -32768, i16 17205, i16 3, i16 18080, i16 -32768, i16 17205, i16 16, i16 16385, i16 -32768, i16 17205, i16 16, i16 18080, i16 -32768, i16 17205, i16 22, i16 16385, i16 -32768, i16 17205, i16 22, i16 18080, i16 -32768, i16 17205, i16 39, i16 16385, i16 -32768, i16 17205, i16 39, i16 18080, i16 -32768, i16 17205, i16 42, i16 16385, i16 -32768, i16 17205, i16 42, i16 18080, i16 -32768, i16 17205, i16 50, i16 16385, i16 -32768, i16 17205, i16 50, i16 18080, i16 -32768, i16 17220, i16 2, i16 18080, i16 -32768, i16 17220, i16 14, i16 16385, i16 -32768, i16 17220, i16 14, i16 18080, i16 -32768, i16 17220, i16 16, i16 16385, i16 -32768, i16 17220, i16 16, i16 18080, i16 -32768, i16 17220, i16 28, i16 16385, i16 -32768, i16 17220, i16 28, i16 18080, i16 -32768, i16 17220, i16 39, i16 16385, i16 -32768, i16 17220, i16 39, i16 18080, i16 -32768, i16 17220, i16 40, i16 16385, i16 -32768, i16 17220, i16 40, i16 18080, i16 -32768, i16 17220, i16 42, i16 16385, i16 -32768, i16 17220, i16 42, i16 18080, i16 -32768, i16 17220, i16 44, i16 16385, i16 -32768, i16 17220, i16 44, i16 18080, i16 -32768, i16 18178, i16 2, i16 18080, i16 -32768, i16 18178, i16 5, i16 16385, i16 -32768, i16 18178, i16 5, i16 18080, i16 -32768, i16 18178, i16 6, i16 16385, i16 -32768, i16 18178, i16 6, i16 18080, i16 -32768, i16 18178, i16 7, i16 16385, i16 -32768, i16 18178, i16 7, i16 18080, i16 -32768, i16 18178, i16 15, i16 16385, i16 -32768, i16 18178, i16 15, i16 18080, i16 -32768, i16 18178, i16 16, i16 16385, i16 -32768, i16 18178, i16 16, i16 18080, i16 -32768, i16 18178, i16 22, i16 16385, i16 -32768, i16 18178, i16 22, i16 18080, i16 -32768, i16 18178, i16 28, i16 16385, i16 -32768, i16 18178, i16 28, i16 18080, i16 -32768, i16 18178, i16 30, i16 16385, i16 -32768, i16 18178, i16 30, i16 18080, i16 -32768, i16 18178, i16 34, i16 16385, i16 -32768, i16 18178, i16 34, i16 18080, i16 -32768, i16 18178, i16 35, i16 16385, i16 -32768, i16 18178, i16 35, i16 18080, i16 -32768, i16 18178, i16 38, i16 16385, i16 -32768, i16 18178, i16 38, i16 18080, i16 -32768, i16 18178, i16 40, i16 16385, i16 -32768, i16 18178, i16 40, i16 18080, i16 -32768, i16 18178, i16 48, i16 16385, i16 -32768, i16 18178, i16 48, i16 18080, i16 -32768, i16 18572, i16 2191, i16 18578, i16 -32768, i16 18572, i16 2191, i16 18581, i16 -32768, i16 17267, i16 2, i16 18080, i16 -32768, i16 17267, i16 16, i16 16385, i16 -32768, i16 17267, i16 16, i16 18080, i16 -32768, i16 17272, i16 2, i16 18080, i16 -32768, i16 17272, i16 3, i16 16385, i16 -32768, i16 17272, i16 3, i16 18080, i16 -32768, i16 17272, i16 22, i16 16385, i16 -32768, i16 17272, i16 22, i16 18080, i16 -32768, i16 17272, i16 34, i16 16385, i16 -32768, i16 17272, i16 34, i16 18080, i16 -32768, i16 17272, i16 40, i16 16385, i16 -32768, i16 17272, i16 40, i16 18080, i16 -32768, i16 17272, i16 58, i16 16385, i16 -32768, i16 17272, i16 58, i16 18080, i16 -32768, i16 17285, i16 2, i16 18080, i16 -32768, i16 17285, i16 3, i16 16385, i16 -32768, i16 17285, i16 3, i16 18080, i16 -32768, i16 17285, i16 22, i16 16385, i16 -32768, i16 17285, i16 22, i16 18080, i16 -32768, i16 17285, i16 39, i16 16385, i16 -32768, i16 17285, i16 39, i16 18080, i16 -32768, i16 17285, i16 40, i16 16385, i16 -32768, i16 17285, i16 40, i16 18080, i16 -32768, i16 17285, i16 56, i16 16385, i16 -32768, i16 17285, i16 56, i16 18080, i16 -32768, i16 17285, i16 57, i16 16385, i16 -32768, i16 17285, i16 57, i16 18080, i16 -32768, i16 17285, i16 58, i16 16385, i16 -32768, i16 17285, i16 58, i16 18080, i16 -32768, i16 17302, i16 2, i16 18080, i16 -32768, i16 17302, i16 3, i16 16385, i16 -32768, i16 17302, i16 3, i16 18080, i16 -32768, i16 17302, i16 39, i16 16385, i16 -32768, i16 17302, i16 39, i16 18080, i16 -32768, i16 17302, i16 40, i16 16385, i16 -32768, i16 17302, i16 40, i16 18080, i16 -32768, i16 17311, i16 2, i16 18080, i16 -32768, i16 17311, i16 22, i16 16385, i16 -32768, i16 17311, i16 22, i16 18080, i16 -32768, i16 17311, i16 39, i16 16385, i16 -32768, i16 17311, i16 39, i16 18080, i16 -32768, i16 17311, i16 40, i16 16385, i16 -32768, i16 17311, i16 40, i16 18080, i16 -32768, i16 17311, i16 57, i16 16385, i16 -32768, i16 17311, i16 57, i16 18080, i16 -32768, i16 17311, i16 58, i16 16385, i16 -32768, i16 17311, i16 58, i16 18080, i16 -32768, i16 17311, i16 65, i16 18080, i16 -32768, i16 17325, i16 2, i16 18080, i16 -32768, i16 17325, i16 2, i16 32766, i16 -32768, i16 17325, i16 5, i16 16385, i16 -32768, i16 17325, i16 5, i16 18080, i16 -32768, i16 17325, i16 6, i16 16385, i16 -32768, i16 17325, i16 6, i16 18080, i16 -32768, i16 17325, i16 7, i16 16385, i16 -32768, i16 17325, i16 7, i16 18080, i16 -32768, i16 17325, i16 15, i16 16385, i16 -32768, i16 17325, i16 15, i16 18080, i16 -32768, i16 17325, i16 16, i16 16385, i16 -32768, i16 17325, i16 16, i16 18080, i16 -32768, i16 17325, i16 17, i16 16385, i16 -32768, i16 17325, i16 17, i16 18080, i16 -32768, i16 17325, i16 18, i16 16385, i16 -32768, i16 17325, i16 18, i16 18080, i16 -32768, i16 17325, i16 19, i16 16385, i16 -32768, i16 17325, i16 19, i16 18080, i16 -32768, i16 17325, i16 20, i16 16385, i16 -32768, i16 17325, i16 20, i16 18080, i16 -32768, i16 17325, i16 21, i16 16385, i16 -32768, i16 17325, i16 21, i16 18080, i16 -32768, i16 17325, i16 22, i16 16385, i16 -32768, i16 17325, i16 22, i16 18080, i16 -32768, i16 17325, i16 34, i16 16385, i16 -32768, i16 17325, i16 34, i16 18080, i16 -32768, i16 17325, i16 36, i16 16385, i16 -32768, i16 17325, i16 36, i16 18080, i16 -32768, i16 17325, i16 37, i16 16385, i16 -32768, i16 17325, i16 37, i16 18080, i16 -32768, i16 17325, i16 40, i16 16385, i16 -32768, i16 17325, i16 40, i16 18080, i16 -32768, i16 17325, i16 48, i16 16385, i16 -32768, i16 17325, i16 48, i16 18080, i16 -32768, i16 17325, i16 49, i16 16385, i16 -32768, i16 17325, i16 49, i16 18080, i16 -32768, i16 17325, i16 51, i16 16385, i16 -32768, i16 17325, i16 51, i16 18080, i16 -32768, i16 17325, i16 52, i16 16385, i16 -32768, i16 17325, i16 52, i16 18080, i16 -32768, i16 17325, i16 59, i16 16385, i16 -32768, i16 17325, i16 59, i16 18080, i16 -32768, i16 17325, i16 60, i16 16385, i16 -32768, i16 17325, i16 60, i16 18080, i16 -32768, i16 17325, i16 61, i16 16385, i16 -32768, i16 17325, i16 61, i16 18080, i16 -32768, i16 17325, i16 62, i16 16385, i16 -32768, i16 17325, i16 62, i16 18080, i16 -32768, i16 17325, i16 63, i16 16385, i16 -32768, i16 17325, i16 63, i16 18080, i16 -32768, i16 17325, i16 64, i16 16385, i16 -32768, i16 17325, i16 64, i16 18080, i16 -32768, i16 17379, i16 2, i16 18080, i16 -32768, i16 17379, i16 3, i16 16385, i16 -32768, i16 17379, i16 3, i16 18080, i16 -32768, i16 17379, i16 39, i16 16385, i16 -32768, i16 17379, i16 39, i16 18080, i16 -32768, i16 17386, i16 2, i16 18080, i16 -32768, i16 17389, i16 2, i16 18080, i16 -32768, i16 17389, i16 3, i16 16385, i16 -32768, i16 17389, i16 3, i16 18080, i16 -32768, i16 17389, i16 6, i16 16385, i16 -32768, i16 17389, i16 6, i16 18080, i16 -32768, i16 17389, i16 15, i16 16385, i16 -32768, i16 17389, i16 15, i16 18080, i16 -32768, i16 17389, i16 22, i16 16385, i16 -32768, i16 17389, i16 22, i16 18080, i16 -32768, i16 17389, i16 39, i16 16385, i16 -32768, i16 17389, i16 39, i16 18080, i16 -32768, i16 17389, i16 40, i16 16385, i16 -32768, i16 17389, i16 40, i16 18080, i16 -32768, i16 17389, i16 56, i16 16385, i16 -32768, i16 17389, i16 56, i16 18080, i16 -32768, i16 17389, i16 58, i16 16385, i16 -32768, i16 17389, i16 58, i16 18080, i16 -32768, i16 17408, i16 2, i16 18080, i16 -32768, i16 18584, i16 2150, i16 18587, i16 -32768, i16 17408, i16 4, i16 16385, i16 -32768, i16 17408, i16 4, i16 18080, i16 -32768, i16 17408, i16 16, i16 16385, i16 -32768, i16 17408, i16 16, i16 18080, i16 -32768, i16 17408, i16 24, i16 16385, i16 -32768, i16 17408, i16 24, i16 18080, i16 -32768, i16 17408, i16 39, i16 16385, i16 -32768, i16 17408, i16 39, i16 18080, i16 -32768, i16 17408, i16 40, i16 16385, i16 -32768, i16 17408, i16 40, i16 18080, i16 -32768, i16 17408, i16 41, i16 16385, i16 -32768, i16 17408, i16 41, i16 18080, i16 -32768, i16 17408, i16 16382, i16 18080, i16 -32768, i16 18590, i16 2150, i16 18593, i16 -32768, i16 18584, i16 2150, i16 18596, i16 -32768, i16 17427, i16 2, i16 18080, i16 -32768, i16 17427, i16 22, i16 16385, i16 -32768, i16 17427, i16 22, i16 18080, i16 -32768, i16 17427, i16 39, i16 16385, i16 -32768, i16 17427, i16 39, i16 18080, i16 -32768, i16 17427, i16 40, i16 16385, i16 -32768, i16 17427, i16 40, i16 18080, i16 -32768, i16 17427, i16 42, i16 16385, i16 -32768, i16 17427, i16 42, i16 18080, i16 -32768, i16 17427, i16 44, i16 16385, i16 -32768, i16 17427, i16 44, i16 18080, i16 -32768, i16 17427, i16 57, i16 16385, i16 -32768, i16 17427, i16 57, i16 18080, i16 -32768, i16 17427, i16 58, i16 16385, i16 -32768, i16 17427, i16 58, i16 18080, i16 -32768, i16 17444, i16 2, i16 18080, i16 -32768, i16 17444, i16 5, i16 16385, i16 -32768, i16 17444, i16 5, i16 18080, i16 -32768, i16 17444, i16 6, i16 16385, i16 -32768, i16 17444, i16 6, i16 18080, i16 -32768, i16 17444, i16 7, i16 16385, i16 -32768, i16 17444, i16 7, i16 18080, i16 -32768, i16 17444, i16 15, i16 16385, i16 -32768, i16 17444, i16 15, i16 18080, i16 -32768, i16 17444, i16 16, i16 16385, i16 -32768, i16 17444, i16 16, i16 18080, i16 -32768, i16 17444, i16 22, i16 16385, i16 -32768, i16 17444, i16 22, i16 18080, i16 -32768, i16 17444, i16 25, i16 16385, i16 -32768, i16 17444, i16 25, i16 18080, i16 -32768, i16 17444, i16 29, i16 16385, i16 -32768, i16 17444, i16 29, i16 18080, i16 -32768, i16 17444, i16 30, i16 16385, i16 -32768, i16 17444, i16 30, i16 18080, i16 -32768, i16 17444, i16 31, i16 16385, i16 -32768, i16 17444, i16 31, i16 18080, i16 -32768, i16 17444, i16 32, i16 16385, i16 -32768, i16 17444, i16 32, i16 18080, i16 -32768, i16 17444, i16 34, i16 16385, i16 -32768, i16 17444, i16 34, i16 18080, i16 -32768, i16 17444, i16 35, i16 16385, i16 -32768, i16 17444, i16 35, i16 18080, i16 -32768, i16 17444, i16 36, i16 16385, i16 -32768, i16 17444, i16 36, i16 18080, i16 -32768, i16 17444, i16 38, i16 16385, i16 -32768, i16 17444, i16 38, i16 18080, i16 -32768, i16 17444, i16 40, i16 16385, i16 -32768, i16 17444, i16 40, i16 18080, i16 -32768, i16 17444, i16 48, i16 16385, i16 -32768, i16 17444, i16 48, i16 18080, i16 -32768, i16 17444, i16 53, i16 16385, i16 -32768, i16 17444, i16 53, i16 18080, i16 -32768, i16 17444, i16 54, i16 16385, i16 -32768, i16 17444, i16 54, i16 18080, i16 -32768, i16 17444, i16 57, i16 16385, i16 -32768, i16 17444, i16 57, i16 18080, i16 -32768, i16 17444, i16 59, i16 16385, i16 -32768, i16 17444, i16 59, i16 18080, i16 -32768, i16 17444, i16 60, i16 16385, i16 -32768, i16 17444, i16 60, i16 18080, i16 -32768, i16 17444, i16 61, i16 16385, i16 -32768, i16 17444, i16 61, i16 18080, i16 -32768, i16 17444, i16 62, i16 16385, i16 -32768, i16 17444, i16 62, i16 18080, i16 -32768, i16 17444, i16 63, i16 16385, i16 -32768, i16 17444, i16 63, i16 18080, i16 -32768, i16 17444, i16 64, i16 16385, i16 -32768, i16 17444, i16 64, i16 18080, i16 -32768, i16 17501, i16 2, i16 18080, i16 -32768, i16 17501, i16 28, i16 16385, i16 -32768, i16 17501, i16 28, i16 18080, i16 -32768, i16 17501, i16 39, i16 16385, i16 -32768, i16 17501, i16 39, i16 18080, i16 -32768, i16 18254, i16 5, i16 16385, i16 -32768, i16 18254, i16 5, i16 18080, i16 -32768, i16 18254, i16 16, i16 16385, i16 -32768, i16 18254, i16 16, i16 18080, i16 -32768, i16 18254, i16 28, i16 16385, i16 -32768, i16 18254, i16 28, i16 18080, i16 -32768, i16 18254, i16 34, i16 16385, i16 -32768, i16 18254, i16 34, i16 18080, i16 -32768, i16 18254, i16 35, i16 16385, i16 -32768, i16 18254, i16 35, i16 18080, i16 -32768, i16 18254, i16 39, i16 16385, i16 -32768, i16 18254, i16 39, i16 18080, i16 -32768, i16 18254, i16 40, i16 16385, i16 -32768, i16 18254, i16 40, i16 18080, i16 -32768, i16 18259, i16 16, i16 16385, i16 -32768, i16 18259, i16 16, i16 18080, i16 -32768, i16 18259, i16 40, i16 16385, i16 -32768, i16 18259, i16 40, i16 18080, i16 -32768, i16 18259, i16 42, i16 16385, i16 -32768, i16 18259, i16 42, i16 18080, i16 -32768, i16 18259, i16 58, i16 16385, i16 -32768, i16 18259, i16 58, i16 18080, i16 -32768, i16 32766, i16 1, i16 16450, i16 -32768, i16 17531, i16 1, i16 16451, i16 -32768, i16 17531, i16 1696, i16 16450, i16 -32768, i16 17531, i16 1696, i16 16451, i16 -32768, i16 17535, i16 1696, i16 16450, i16 -32768, i16 17537, i16 1696, i16 16450, i16 -32768, i16 17539, i16 1696, i16 16450, i16 -32768, i16 17541, i16 1, i16 16451, i16 -32768, i16 17541, i16 1696, i16 16450, i16 -32768, i16 17541, i16 1696, i16 16451, i16 -32768, i16 17545, i16 1696, i16 16450, i16 -32768, i16 17547, i16 1, i16 16451, i16 -32768, i16 17547, i16 1696, i16 16450, i16 -32768, i16 17547, i16 1696, i16 16451, i16 -32768, i16 17551, i16 1696, i16 16450, i16 -32768, i16 17553, i16 1, i16 16451, i16 -32768, i16 17553, i16 1, i16 16452, i16 -32768, i16 17553, i16 1696, i16 16450, i16 -32768, i16 17553, i16 1696, i16 16451, i16 -32768, i16 17553, i16 1696, i16 16452, i16 -32768, i16 17553, i16 1696, i16 16453, i16 -32768, i16 17560, i16 1696, i16 16450, i16 -32768, i16 17562, i16 1696, i16 16450, i16 -32768, i16 17564, i16 1696, i16 16450, i16 -32768, i16 17566, i16 1696, i16 16450, i16 -32768, i16 17568, i16 1696, i16 16450, i16 -32768, i16 17570, i16 1, i16 16451, i16 -32768, i16 17570, i16 1696, i16 16450, i16 -32768, i16 17570, i16 1696, i16 16451, i16 -32768, i16 17574, i16 1696, i16 16450, i16 -32768, i16 17576, i16 1696, i16 16450, i16 -32768, i16 17578, i16 1696, i16 16450, i16 -32768, i16 17578, i16 1696, i16 32766, i16 -32768, i16 17581, i16 1696, i16 16450, i16 -32768, i16 17583, i16 1, i16 16451, i16 -32768, i16 17583, i16 1, i16 16452, i16 -32768, i16 17583, i16 1696, i16 16450, i16 -32768, i16 17583, i16 1696, i16 16451, i16 -32768, i16 17583, i16 1696, i16 16452, i16 -32768, i16 17583, i16 1696, i16 16453, i16 -32768, i16 17590, i16 1696, i16 16450, i16 -32768, i16 17592, i16 1696, i16 16450, i16 -32768, i16 17594, i16 1696, i16 16450, i16 -32768, i16 17596, i16 1, i16 16451, i16 -32768, i16 17596, i16 1696, i16 16450, i16 -32768, i16 17596, i16 1696, i16 16451, i16 -32768, i16 32766, i16 70, i16 16385, i16 -32768, i16 17600, i16 70, i16 18080, i16 -32768, i16 17602, i16 70, i16 18080, i16 -32768, i16 17604, i16 70, i16 18080, i16 -32768, i16 17606, i16 70, i16 18080, i16 -32768, i16 17608, i16 70, i16 18080, i16 -32768, i16 17610, i16 70, i16 18080, i16 -32768, i16 17612, i16 70, i16 18080, i16 -32768, i16 17614, i16 70, i16 18080, i16 -32768, i16 17616, i16 70, i16 18080, i16 -32768, i16 17618, i16 70, i16 18080, i16 -32768, i16 17620, i16 70, i16 18080, i16 -32768, i16 17622, i16 70, i16 18080, i16 -32768, i16 17624, i16 70, i16 18080, i16 -32768, i16 17626, i16 70, i16 18080, i16 -32768, i16 17628, i16 70, i16 18080, i16 -32768, i16 17630, i16 70, i16 18080, i16 -32768, i16 17632, i16 70, i16 18080, i16 -32768, i16 17634, i16 70, i16 18080, i16 -32768, i16 17636, i16 70, i16 18080, i16 -32768, i16 17638, i16 70, i16 18080, i16 -32768, i16 17640, i16 70, i16 18080, i16 -32768, i16 17642, i16 70, i16 18080, i16 -32768, i16 17644, i16 70, i16 18080, i16 -32768, i16 17646, i16 70, i16 18080, i16 -32768, i16 17648, i16 70, i16 18080, i16 -32768, i16 17650, i16 70, i16 18080, i16 -32768, i16 17652, i16 70, i16 18080, i16 -32768, i16 17654, i16 70, i16 18080, i16 -32768, i16 17656, i16 70, i16 18080, i16 -32768, i16 17658, i16 70, i16 18080, i16 -32768, i16 17660, i16 70, i16 18080, i16 -32768, i16 17662, i16 70, i16 18080, i16 -32768, i16 17664, i16 70, i16 18080, i16 -32768, i16 17666, i16 70, i16 18080, i16 -32768, i16 17668, i16 70, i16 18080, i16 -32768, i16 17670, i16 70, i16 18080, i16 -32768, i16 17672, i16 70, i16 18080, i16 -32768, i16 17674, i16 70, i16 18080, i16 -32768, i16 17676, i16 70, i16 18080, i16 -32768, i16 17678, i16 70, i16 18080, i16 -32768, i16 17680, i16 70, i16 18080, i16 -32768, i16 32766, i16 70, i16 18080, i16 -32768, i16 17682, i16 70, i16 16385, i16 -32768, i16 17684, i16 70, i16 18080, i16 -32768, i16 17686, i16 70, i16 16385, i16 -32768, i16 17688, i16 70, i16 18080, i16 -32768, i16 17690, i16 70, i16 18080, i16 -32768, i16 17692, i16 70, i16 18080, i16 -32768, i16 17694, i16 70, i16 18080, i16 -32768, i16 17696, i16 70, i16 18080, i16 -32768, i16 17698, i16 70, i16 18080, i16 -32768, i16 17700, i16 70, i16 18080, i16 -32768, i16 17702, i16 70, i16 18080, i16 -32768, i16 32766, i16 0, i16 16384, i16 -32768, i16 32766, i16 16382, i16 16384, i16 -32768, i16 17736, i16 16382, i16 16384, i16 -32768, i16 17735, i16 16382, i16 16384, i16 -32768, i16 17745, i16 16382, i16 16384, i16 -32768, i16 17749, i16 16382, i16 16384, i16 -32768, i16 17756, i16 16382, i16 16384, i16 -32768, i16 17764, i16 16382, i16 16384, i16 -32768, i16 17769, i16 16382, i16 16384, i16 -32768, i16 17774, i16 16382, i16 16384, i16 -32768, i16 17779, i16 16382, i16 16384, i16 -32768, i16 17784, i16 16382, i16 16384, i16 -32768, i16 17787, i16 16382, i16 16384, i16 -32768, i16 17790, i16 16382, i16 16384, i16 -32768, i16 17793, i16 16382, i16 16384, i16 -32768, i16 17796, i16 16382, i16 16384, i16 -32768, i16 17801, i16 16382, i16 16384, i16 -32768, i16 17806, i16 16382, i16 16384, i16 -32768, i16 17811, i16 16382, i16 16384, i16 -32768, i16 17816, i16 16382, i16 16384, i16 -32768, i16 17821, i16 16382, i16 16384, i16 -32768, i16 17826, i16 16382, i16 16384, i16 -32768, i16 17831, i16 16382, i16 16384, i16 -32768, i16 17836, i16 16382, i16 16384, i16 -32768, i16 17841, i16 16382, i16 16384, i16 -32768, i16 17846, i16 16382, i16 16384, i16 -32768, i16 17851, i16 16382, i16 16384, i16 -32768, i16 17856, i16 16382, i16 16384, i16 -32768, i16 17861, i16 16382, i16 16384, i16 -32768, i16 17866, i16 16382, i16 16384, i16 -32768, i16 17871, i16 16382, i16 16384, i16 -32768, i16 17874, i16 16382, i16 16384, i16 -32768, i16 17877, i16 16382, i16 16384, i16 -32768, i16 16384, i16 0, i16 32766, i16 -32768, i16 18115, i16 16382, i16 16384, i16 -32768, i16 18124, i16 16382, i16 16384, i16 -32768, i16 18125, i16 16382, i16 16384, i16 -32768, i16 18126, i16 16382, i16 16384, i16 -32768, i16 18127, i16 16382, i16 16384, i16 -32768, i16 18128, i16 16382, i16 16384, i16 -32768, i16 18129, i16 16382, i16 16384, i16 -32768, i16 18130, i16 16382, i16 16384, i16 -32768, i16 18131, i16 16382, i16 16384, i16 -32768, i16 18132, i16 16382, i16 16384, i16 -32768, i16 18599, i16 2218, i16 18605, i16 -32768, i16 18599, i16 2224, i16 18611, i16 -32768, i16 18614, i16 2233, i16 18620, i16 -32768, i16 18614, i16 2239, i16 18626, i16 -32768, i16 18629, i16 2248, i16 18635, i16 -32768, i16 18629, i16 2254, i16 18641, i16 -32768, i16 18644, i16 2263, i16 18650, i16 -32768, i16 18644, i16 2269, i16 18656, i16 -32768, i16 17909, i16 16382, i16 16384, i16 -32768, i16 17913, i16 16382, i16 16384, i16 -32768, i16 17917, i16 16382, i16 16384, i16 -32768, i16 17922, i16 16382, i16 16384, i16 -32768, i16 17926, i16 16382, i16 16384, i16 -32768, i16 17930, i16 16382, i16 16384, i16 -32768, i16 17935, i16 16382, i16 16384, i16 -32768, i16 17939, i16 16382, i16 16384, i16 -32768, i16 17943, i16 16382, i16 16384, i16 -32768, i16 17948, i16 16382, i16 16384, i16 -32768, i16 17952, i16 16382, i16 16384, i16 -32768, i16 17956, i16 16382, i16 16384, i16 -32768, i16 17960, i16 16382, i16 16384, i16 -32768, i16 17964, i16 16382, i16 16384, i16 -32768, i16 17968, i16 16382, i16 16384, i16 -32768, i16 17972, i16 16382, i16 16384, i16 -32768, i16 17976, i16 16382, i16 16384, i16 -32768, i16 17980, i16 16382, i16 16384, i16 -32768, i16 17986, i16 16382, i16 16384, i16 -32768, i16 17990, i16 16382, i16 16384, i16 -32768, i16 17994, i16 16382, i16 16384, i16 -32768, i16 17996, i16 16382, i16 16384, i16 -32768, i16 17998, i16 16382, i16 16384, i16 -32768, i16 18000, i16 16382, i16 16384, i16 -32768, i16 18002, i16 16382, i16 16384, i16 -32768, i16 18004, i16 16382, i16 16384, i16 -32768, i16 18010, i16 16382, i16 16384, i16 -32768, i16 18016, i16 16382, i16 16384, i16 -32768, i16 18022, i16 16382, i16 16384, i16 -32768, i16 18028, i16 16382, i16 16384, i16 -32768, i16 18034, i16 16382, i16 16384, i16 -32768, i16 18036, i16 16382, i16 16384, i16 -32768, i16 18038, i16 16382, i16 16384, i16 -32768, i16 18040, i16 16382, i16 16384, i16 -32768, i16 18042, i16 16382, i16 16384, i16 -32768, i16 18044, i16 16382, i16 16384, i16 -32768, i16 18048, i16 16382, i16 16384, i16 -32768, i16 18052, i16 16382, i16 16384, i16 -32768, i16 18056, i16 16382, i16 16384, i16 -32768, i16 18058, i16 16382, i16 16384, i16 -32768, i16 18060, i16 16382, i16 16384, i16 -32768, i16 18062, i16 16382, i16 16384, i16 -32768, i16 18064, i16 16382, i16 16384, i16 -32768, i16 18066, i16 16382, i16 16384, i16 -32768, i16 18070, i16 16382, i16 16384, i16 -32768, i16 18072, i16 16382, i16 16384, i16 -32768, i16 18074, i16 16382, i16 16384, i16 -32768, i16 18076, i16 16382, i16 16384, i16 -32768, i16 17065, i16 3, i16 16385, i16 -32768, i16 17065, i16 3, i16 18080, i16 -32768, i16 17065, i16 25, i16 16385, i16 -32768, i16 17065, i16 25, i16 18080, i16 -32768, i16 17065, i16 26, i16 16385, i16 -32768, i16 17065, i16 26, i16 18080, i16 -32768, i16 17065, i16 28, i16 16385, i16 -32768, i16 17065, i16 28, i16 18080, i16 -32768, i16 17065, i16 48, i16 16385, i16 -32768, i16 17065, i16 48, i16 18080, i16 -32768, i16 17065, i16 50, i16 16385, i16 -32768, i16 17065, i16 50, i16 18080, i16 -32768, i16 18659, i16 2278, i16 18578, i16 -32768, i16 18659, i16 2278, i16 18581, i16 -32768, i16 18659, i16 2281, i16 18578, i16 -32768, i16 18659, i16 2281, i16 18581, i16 -32768, i16 18659, i16 2284, i16 18578, i16 -32768, i16 18659, i16 2284, i16 18581, i16 -32768, i16 17122, i16 3, i16 16385, i16 -32768, i16 17122, i16 3, i16 18080, i16 -32768, i16 17122, i16 22, i16 16385, i16 -32768, i16 17122, i16 22, i16 18080, i16 -32768, i16 18164, i16 2, i16 18080, i16 -32768, i16 17133, i16 42, i16 16385, i16 -32768, i16 17133, i16 42, i16 18080, i16 -32768, i16 17148, i16 3, i16 16385, i16 -32768, i16 17148, i16 3, i16 18080, i16 -32768, i16 17148, i16 48, i16 16385, i16 -32768, i16 17148, i16 48, i16 18080, i16 -32768, i16 17148, i16 50, i16 16385, i16 -32768, i16 17148, i16 50, i16 18080, i16 -32768, i16 17205, i16 44, i16 16385, i16 -32768, i16 17205, i16 44, i16 18080, i16 -32768, i16 18176, i16 2, i16 18080, i16 -32768, i16 18179, i16 2, i16 16385, i16 -32768, i16 32766, i16 2, i16 18080, i16 -32768, i16 18178, i16 2, i16 16385, i16 -32768, i16 18178, i16 3, i16 16385, i16 -32768, i16 18178, i16 3, i16 18080, i16 -32768, i16 18178, i16 50, i16 16385, i16 -32768, i16 18178, i16 50, i16 18080, i16 -32768, i16 17272, i16 44, i16 16385, i16 -32768, i16 17272, i16 44, i16 18080, i16 -32768, i16 17285, i16 42, i16 16385, i16 -32768, i16 17285, i16 42, i16 18080, i16 -32768, i16 17285, i16 44, i16 16385, i16 -32768, i16 17285, i16 44, i16 18080, i16 -32768, i16 17311, i16 3, i16 16385, i16 -32768, i16 17311, i16 3, i16 18080, i16 -32768, i16 17311, i16 35, i16 16385, i16 -32768, i16 17311, i16 35, i16 18080, i16 -32768, i16 17311, i16 44, i16 16385, i16 -32768, i16 17311, i16 44, i16 18080, i16 -32768, i16 18671, i16 2290, i16 18578, i16 -32768, i16 18671, i16 2290, i16 18581, i16 -32768, i16 17325, i16 3, i16 16385, i16 -32768, i16 17325, i16 3, i16 18080, i16 -32768, i16 17325, i16 33, i16 16385, i16 -32768, i16 17325, i16 33, i16 18080, i16 -32768, i16 17325, i16 35, i16 16385, i16 -32768, i16 17325, i16 35, i16 18080, i16 -32768, i16 17325, i16 42, i16 16385, i16 -32768, i16 17325, i16 42, i16 18080, i16 -32768, i16 17325, i16 43, i16 16385, i16 -32768, i16 17325, i16 43, i16 18080, i16 -32768, i16 17325, i16 50, i16 16385, i16 -32768, i16 17325, i16 50, i16 18080, i16 -32768, i16 18212, i16 2, i16 18080, i16 -32768, i16 18677, i16 2296, i16 18578, i16 -32768, i16 18677, i16 2296, i16 18581, i16 -32768, i16 17389, i16 44, i16 16385, i16 -32768, i16 17389, i16 44, i16 18080, i16 -32768, i16 17408, i16 3, i16 16385, i16 -32768, i16 17408, i16 3, i16 18080, i16 -32768, i16 17408, i16 22, i16 16385, i16 -32768, i16 17408, i16 22, i16 18080, i16 -32768, i16 18222, i16 2, i16 18080, i16 -32768, i16 18683, i16 2302, i16 18578, i16 -32768, i16 18683, i16 2302, i16 18581, i16 -32768, i16 17444, i16 3, i16 16385, i16 -32768, i16 17444, i16 3, i16 18080, i16 -32768, i16 17444, i16 33, i16 16385, i16 -32768, i16 17444, i16 33, i16 18080, i16 -32768, i16 17444, i16 50, i16 16385, i16 -32768, i16 17444, i16 50, i16 18080, i16 -32768, i16 18232, i16 2, i16 18080, i16 -32768, i16 18234, i16 2, i16 18080, i16 -32768, i16 18234, i16 35, i16 16385, i16 -32768, i16 18234, i16 35, i16 18080, i16 -32768, i16 18234, i16 40, i16 16385, i16 -32768, i16 18234, i16 40, i16 18080, i16 -32768, i16 18240, i16 2, i16 18080, i16 -32768, i16 18240, i16 3, i16 16385, i16 -32768, i16 18240, i16 3, i16 18080, i16 -32768, i16 18240, i16 5, i16 16385, i16 -32768, i16 18240, i16 5, i16 18080, i16 -32768, i16 18240, i16 16, i16 16385, i16 -32768, i16 18240, i16 16, i16 18080, i16 -32768, i16 18240, i16 28, i16 16385, i16 -32768, i16 18240, i16 28, i16 18080, i16 -32768, i16 18240, i16 39, i16 16385, i16 -32768, i16 18240, i16 39, i16 18080, i16 -32768, i16 18240, i16 40, i16 16385, i16 -32768, i16 18240, i16 40, i16 18080, i16 -32768, i16 18254, i16 2, i16 18080, i16 -32768, i16 18254, i16 3, i16 16385, i16 -32768, i16 18254, i16 3, i16 18080, i16 -32768, i16 18259, i16 2, i16 18080, i16 -32768, i16 18259, i16 3, i16 16385, i16 -32768, i16 18259, i16 3, i16 18080, i16 -32768, i16 18259, i16 22, i16 16385, i16 -32768, i16 18259, i16 22, i16 18080, i16 -32768, i16 18259, i16 39, i16 16385, i16 -32768, i16 18259, i16 39, i16 18080, i16 -32768, i16 17272, i16 16382, i16 18080, i16 -32768, i16 17122, i16 44, i16 16385, i16 -32768, i16 17122, i16 44, i16 18080, i16 -32768, i16 17205, i16 7, i16 16385, i16 -32768, i16 17205, i16 7, i16 18080, i16 -32768, i16 18178, i16 39, i16 16385, i16 -32768, i16 18178, i16 39, i16 18080, i16 -32768, i16 17408, i16 44, i16 16385, i16 -32768, i16 17408, i16 44, i16 18080, i16 -32768, i16 32766, i16 16382, i16 16386, i16 -32767, i16 18234, i16 1850, i16 16386, i16 -31072, i16 18234, i16 1850, i16 16419, i16 -32767, i16 18234, i16 1850, i16 16419, i16 -31072, i16 18234, i16 1850, i16 16424, i16 -32767, i16 18234, i16 1850, i16 16424, i16 -31072, i16 18240, i16 1856, i16 16386, i16 -31072, i16 18240, i16 1856, i16 16387, i16 -32767, i16 18240, i16 1856, i16 16387, i16 -31072, i16 18240, i16 1856, i16 16389, i16 -32767, i16 18240, i16 1856, i16 16389, i16 -31072, i16 18240, i16 1856, i16 16400, i16 -32767, i16 18240, i16 1856, i16 16400, i16 -31072, i16 18240, i16 1856, i16 16412, i16 -32767, i16 18240, i16 1856, i16 16412, i16 -31072, i16 18240, i16 1856, i16 16423, i16 -32767, i16 18240, i16 1856, i16 16423, i16 -31072, i16 18240, i16 1856, i16 16424, i16 -32767, i16 18240, i16 1856, i16 16424, i16 -31072, i16 18254, i16 73, i16 16385, i16 -32768, i16 18254, i16 73, i16 18080, i16 -32768, i16 18144, i16 2, i16 18080, i16 -32768, i16 18144, i16 3, i16 16385, i16 -32768, i16 18144, i16 3, i16 18080, i16 -32768, i16 18148, i16 2, i16 18080, i16 -32768, i16 18148, i16 16382, i16 16385, i16 -32768, i16 18148, i16 1770, i16 18080, i16 -32768, i16 18148, i16 1772, i16 18080, i16 -32768, i16 18148, i16 1774, i16 18080, i16 -32768, i16 18212, i16 16382, i16 16385, i16 -32768, i16 18212, i16 1822, i16 18080, i16 -32768, i16 18212, i16 1824, i16 18080, i16 -32768, i16 18212, i16 35, i16 16385, i16 -32768, i16 18212, i16 35, i16 18080, i16 -32768, i16 18163, i16 2, i16 16385, i16 -32768, i16 17325, i16 28, i16 16385, i16 -32768, i16 17325, i16 28, i16 18080, i16 -32768, i16 18221, i16 2, i16 16385, i16 -32768, i16 17444, i16 28, i16 16385, i16 -32768, i16 17444, i16 28, i16 18080, i16 -32768, i16 18264, i16 2, i16 16385, i16 -32768, i16 18150, i16 2, i16 18080, i16 -32768, i16 18160, i16 2, i16 18080, i16 -32768, i16 18170, i16 2, i16 18080, i16 -32768, i16 18188, i16 2, i16 18080, i16 -32768, i16 18192, i16 2, i16 18080, i16 -32768, i16 18200, i16 2, i16 18080, i16 -32768, i16 18218, i16 2, i16 18080, i16 -32768, i16 18261, i16 2, i16 18080, i16 -32768, i16 18265, i16 2, i16 18080, i16 -32768, i16 18254, i16 16382, i16 16385, i16 -32768, i16 18254, i16 1848, i16 18080, i16 -32768, i16 18254, i16 1844, i16 18080, i16 -32768, i16 18154, i16 2, i16 18080, i16 -32768, i16 18154, i16 3, i16 16385, i16 -32768, i16 18154, i16 3, i16 18080, i16 -32768, i16 18154, i16 50, i16 16385, i16 -32768, i16 18154, i16 50, i16 18080, i16 -32768, i16 18154, i16 73, i16 16385, i16 -32768, i16 18154, i16 73, i16 18080, i16 -32768, i16 18206, i16 2, i16 18080, i16 -32768, i16 18206, i16 3, i16 16385, i16 -32768, i16 18206, i16 3, i16 18080, i16 -32768, i16 18206, i16 28, i16 16385, i16 -32768, i16 18206, i16 28, i16 18080, i16 -32768, i16 18206, i16 33, i16 16385, i16 -32768, i16 18206, i16 33, i16 18080, i16 -32768, i16 18144, i16 16382, i16 16385, i16 -32768, i16 18144, i16 1883, i16 18078, i16 -32768, i16 18144, i16 1883, i16 18079, i16 -32768, i16 18144, i16 1883, i16 18080, i16 -32768, i16 18144, i16 1762, i16 18080, i16 -32768, i16 18152, i16 2, i16 18080, i16 -32768, i16 18162, i16 2, i16 18080, i16 -32768, i16 18172, i16 2, i16 18080, i16 -32768, i16 18174, i16 2, i16 18080, i16 -32768, i16 18183, i16 2, i16 18080, i16 -32768, i16 18185, i16 2, i16 18080, i16 -32768, i16 18190, i16 2, i16 18080, i16 -32768, i16 18196, i16 2, i16 18080, i16 -32768, i16 18210, i16 2, i16 18080, i16 -32768, i16 18216, i16 2, i16 18080, i16 -32768, i16 18220, i16 2, i16 18080, i16 -32768, i16 18230, i16 2, i16 18080, i16 -32768, i16 18263, i16 2, i16 18080, i16 -32768, i16 18081, i16 16382, i16 16384, i16 -32768, i16 17133, i16 16382, i16 16385, i16 -32768, i16 17133, i16 1887, i16 18080, i16 -32768, i16 17386, i16 73, i16 18080, i16 -32768, i16 18143, i16 2, i16 16385, i16 -32768, i16 18272, i16 2, i16 16385, i16 -32768, i16 18169, i16 2, i16 16385, i16 -32768, i16 17205, i16 8, i16 16385, i16 -32768, i16 17205, i16 8, i16 18080, i16 -32768, i16 18182, i16 2, i16 16385, i16 -32768, i16 17311, i16 16382, i16 16385, i16 -32768, i16 17311, i16 1814, i16 18080, i16 -32768, i16 18201, i16 2, i16 16385, i16 -32768, i16 18227, i16 2, i16 16385, i16 -32768, i16 18257, i16 2, i16 16385, i16 -32768, i16 18225, i16 2, i16 16385, i16 -32768, i16 18155, i16 2, i16 16385, i16 -32768, i16 18155, i16 73, i16 18080, i16 -32768, i16 18155, i16 73, i16 16385, i16 -32768, i16 18213, i16 2, i16 16385, i16 -32768, i16 18213, i16 73, i16 18080, i16 -32768, i16 18213, i16 73, i16 16385, i16 -32768, i16 16384, i16 0, i16 16400, i16 -32768, i16 16384, i16 0, i16 16434, i16 -32768, i16 16384, i16 0, i16 16389, i16 -32768, i16 18311, i16 2, i16 18078, i16 -32768, i16 18311, i16 2, i16 18079, i16 -32768, i16 18311, i16 2, i16 18080, i16 -32768, i16 18166, i16 2, i16 18080, i16 -32768, i16 18315, i16 2, i16 18078, i16 -32768, i16 18315, i16 2, i16 18079, i16 -32768, i16 18315, i16 2, i16 18080, i16 -32768, i16 18319, i16 2, i16 18078, i16 -32768, i16 18319, i16 2, i16 18079, i16 -32768, i16 18319, i16 2, i16 18080, i16 -32768, i16 18194, i16 2, i16 18080, i16 -32768, i16 32766, i16 22, i16 16385, i16 -16386, i16 18220, i16 22, i16 18080, i16 -16386, i16 32766, i16 2, i16 16385, i16 -16386, i16 18259, i16 2, i16 18080, i16 -16386, i16 18259, i16 3, i16 16385, i16 -16386, i16 18259, i16 3, i16 18080, i16 -16386, i16 18259, i16 39, i16 16385, i16 -16386, i16 18259, i16 39, i16 18080, i16 -16386, i16 18259, i16 22, i16 16385, i16 -16386, i16 18259, i16 22, i16 18080, i16 -16386, i16 18234, i16 16382, i16 16386, i16 -32767, i16 18234, i16 1856, i16 16386, i16 -31072, i16 18234, i16 1856, i16 16387, i16 -32767, i16 18234, i16 1856, i16 16387, i16 -31072, i16 18234, i16 1856, i16 16389, i16 -32767, i16 18234, i16 1856, i16 16389, i16 -31072, i16 18234, i16 1856, i16 16400, i16 -32767, i16 18234, i16 1856, i16 16400, i16 -31072, i16 18234, i16 1856, i16 16434, i16 -32767, i16 18234, i16 1856, i16 16434, i16 -31072, i16 18234, i16 1856, i16 16423, i16 -32767, i16 18234, i16 1856, i16 16423, i16 -31072, i16 18234, i16 1856, i16 16412, i16 -32767, i16 18234, i16 1856, i16 16412, i16 -31072, i16 32766, i16 35, i16 16385, i16 -16386, i16 18204, i16 35, i16 18080, i16 -16386, i16 32766, i16 28, i16 16385, i16 -16386, i16 18148, i16 28, i16 18080, i16 -16386, i16 18212, i16 28, i16 18080, i16 -16386, i16 18232, i16 28, i16 18080, i16 -16386, i16 18323, i16 2, i16 18078, i16 -32768, i16 18323, i16 2, i16 18079, i16 -32768, i16 18323, i16 2, i16 18080, i16 -32768, i16 18327, i16 2, i16 18078, i16 -32768, i16 18327, i16 2, i16 18079, i16 -32768, i16 18327, i16 2, i16 18080, i16 -32768, i16 32766, i16 32766, i16 32766, i16 32766, i16 16384, i16 16384, i16 16384, i16 32766, i16 32766, i16 16389, i16 16385, i16 32766, i16 16470, i16 16389, i16 16388, i16 16470, i16 16470, i16 16389, i16 32766, i16 16470, i16 16470, i16 16392, i16 16385, i16 16470, i16 16470, i16 16392, i16 16388, i16 16470, i16 16470, i16 16393, i16 16385, i16 16470, i16 16470, i16 16393, i16 16388, i16 16470, i16 16470, i16 16405, i16 16385, i16 16470, i16 16470, i16 16405, i16 16388, i16 16470, i16 16470, i16 16397, i16 16385, i16 16470, i16 16470, i16 16397, i16 16388, i16 16470, i16 16470, i16 16408, i16 16385, i16 16470, i16 16470, i16 16408, i16 16388, i16 16470, i16 16470, i16 16409, i16 16385, i16 16470, i16 16470, i16 16409, i16 16388, i16 16470, i16 16470, i16 16411, i16 16385, i16 16470, i16 16470, i16 16411, i16 16388, i16 16470, i16 16470, i16 16410, i16 16385, i16 16470, i16 16470, i16 16410, i16 16388, i16 16470, i16 16470, i16 16435, i16 16385, i16 16470, i16 16470, i16 16435, i16 16388, i16 16470, i16 16470, i16 16398, i16 16385, i16 16470, i16 16470, i16 16398, i16 16388, i16 16470, i16 16470, i16 16394, i16 16385, i16 16470, i16 16470, i16 16394, i16 16388, i16 16470, i16 16470, i16 16412, i16 16385, i16 16470, i16 16470, i16 16412, i16 16388, i16 16470, i16 16470, i16 16413, i16 16385, i16 16470, i16 16470, i16 16413, i16 16388, i16 16470, i16 16470, i16 16415, i16 16385, i16 16470, i16 16470, i16 16415, i16 16388, i16 16470, i16 16470, i16 16414, i16 16385, i16 16470, i16 16470, i16 16414, i16 16388, i16 16470, i16 16470, i16 16436, i16 16385, i16 16470, i16 16470, i16 16436, i16 16388, i16 16470, i16 16470, i16 16395, i16 16385, i16 16470, i16 16470, i16 16395, i16 16388, i16 16470, i16 16470, i16 16399, i16 16385, i16 16470, i16 16470, i16 16399, i16 16388, i16 16470, i16 16470, i16 16417, i16 16385, i16 16470, i16 16470, i16 16417, i16 16388, i16 16470, i16 16470, i16 16450, i16 16385, i16 16470, i16 16470, i16 16450, i16 16388, i16 16470, i16 16470, i16 16402, i16 16385, i16 16470, i16 16470, i16 16402, i16 16388, i16 16470, i16 16470, i16 16426, i16 16385, i16 16470, i16 16470, i16 16426, i16 16388, i16 16470, i16 16470, i16 16400, i16 16385, i16 16470, i16 16470, i16 16400, i16 16388, i16 16470, i16 16470, i16 16396, i16 16385, i16 16470, i16 16470, i16 16396, i16 16388, i16 16470, i16 16470, i16 16444, i16 16385, i16 16470, i16 16470, i16 16444, i16 16388, i16 16470, i16 16470, i16 16449, i16 16385, i16 16470, i16 16470, i16 16449, i16 16388, i16 16470, i16 16470, i16 16391, i16 16385, i16 16470, i16 16470, i16 16391, i16 16388, i16 16470, i16 16470, i16 16418, i16 16385, i16 16470, i16 16470, i16 16418, i16 16388, i16 16470, i16 18628, i16 18631, i16 18517, i16 18628, i16 18628, i16 18631, i16 18425, i16 18628, i16 18628, i16 18634, i16 18517, i16 18628, i16 18628, i16 18634, i16 18425, i16 18628, i16 18628, i16 18637, i16 18517, i16 18628, i16 18628, i16 18637, i16 18425, i16 18628, i16 16536, i16 16389, i16 16388, i16 16536, i16 16536, i16 16390, i16 16385, i16 16536, i16 16536, i16 16390, i16 16388, i16 16536, i16 16536, i16 16444, i16 16385, i16 16536, i16 16536, i16 16444, i16 16388, i16 16536, i16 16536, i16 16445, i16 16385, i16 16536, i16 16536, i16 16445, i16 16388, i16 16536, i16 16545, i16 16389, i16 16388, i16 16545, i16 16545, i16 16392, i16 16385, i16 16545, i16 16545, i16 16392, i16 16388, i16 16545, i16 16545, i16 16394, i16 16385, i16 16545, i16 16545, i16 16394, i16 16388, i16 16545, i16 16545, i16 16400, i16 16385, i16 16545, i16 16545, i16 16400, i16 16388, i16 16545, i16 16545, i16 16390, i16 16385, i16 16545, i16 16545, i16 16390, i16 16388, i16 16545, i16 16545, i16 16448, i16 16385, i16 16545, i16 16545, i16 16448, i16 16388, i16 16545, i16 16545, i16 16437, i16 16385, i16 16545, i16 16545, i16 16437, i16 16388, i16 16545, i16 32766, i16 16395, i16 16385, i16 32766, i16 16559, i16 16395, i16 16388, i16 16559, i16 16562, i16 16389, i16 16388, i16 16562, i16 16562, i16 16395, i16 16385, i16 16562, i16 16562, i16 16395, i16 16388, i16 16562, i16 16562, i16 16390, i16 16385, i16 16562, i16 16562, i16 16390, i16 16388, i16 16562, i16 16562, i16 16444, i16 16385, i16 16562, i16 16562, i16 16444, i16 16388, i16 16562, i16 16562, i16 16452, i16 16385, i16 16562, i16 16562, i16 16452, i16 16388, i16 16562, i16 16562, i16 16448, i16 16385, i16 16562, i16 16562, i16 16448, i16 16388, i16 16562, i16 16562, i16 16421, i16 16385, i16 16562, i16 16562, i16 16421, i16 16388, i16 16562, i16 16562, i16 16445, i16 16385, i16 16562, i16 16562, i16 16445, i16 16388, i16 16562, i16 16579, i16 16389, i16 16388, i16 16579, i16 16579, i16 16392, i16 16385, i16 16579, i16 16579, i16 16392, i16 16388, i16 16579, i16 16579, i16 16393, i16 16385, i16 16579, i16 16579, i16 16393, i16 16388, i16 16579, i16 16579, i16 16405, i16 16385, i16 16579, i16 16579, i16 16405, i16 16388, i16 16579, i16 16579, i16 16397, i16 16385, i16 16579, i16 16579, i16 16397, i16 16388, i16 16579, i16 16579, i16 16398, i16 16385, i16 16579, i16 16579, i16 16398, i16 16388, i16 16579, i16 16579, i16 16394, i16 16385, i16 16579, i16 16579, i16 16394, i16 16388, i16 16579, i16 16579, i16 16412, i16 16385, i16 16579, i16 16579, i16 16412, i16 16388, i16 16579, i16 16579, i16 16413, i16 16385, i16 16579, i16 16579, i16 16413, i16 16388, i16 16579, i16 16579, i16 16415, i16 16385, i16 16579, i16 16579, i16 16415, i16 16388, i16 16579, i16 16579, i16 16414, i16 16385, i16 16579, i16 16579, i16 16414, i16 16388, i16 16579, i16 16579, i16 16436, i16 16385, i16 16579, i16 16579, i16 16436, i16 16388, i16 16579, i16 16579, i16 16395, i16 16385, i16 16579, i16 16579, i16 16395, i16 16388, i16 16579, i16 16579, i16 16402, i16 16385, i16 16579, i16 16579, i16 16402, i16 16388, i16 16579, i16 16579, i16 16400, i16 16385, i16 16579, i16 16579, i16 16400, i16 16388, i16 16579, i16 16579, i16 16396, i16 16385, i16 16579, i16 16579, i16 16396, i16 16388, i16 16579, i16 16579, i16 16446, i16 16385, i16 16579, i16 16579, i16 16446, i16 16388, i16 16579, i16 16579, i16 16390, i16 16385, i16 16579, i16 16579, i16 16390, i16 16388, i16 16579, i16 16579, i16 16444, i16 16385, i16 16579, i16 16579, i16 16444, i16 16388, i16 16579, i16 16579, i16 16439, i16 16385, i16 16579, i16 16579, i16 16439, i16 16388, i16 16579, i16 16579, i16 16449, i16 16385, i16 16579, i16 16579, i16 16449, i16 16388, i16 16579, i16 16579, i16 16391, i16 16385, i16 16579, i16 16579, i16 16391, i16 16388, i16 16579, i16 16579, i16 16419, i16 16385, i16 16579, i16 16579, i16 16419, i16 16388, i16 16579, i16 16579, i16 16420, i16 16385, i16 16579, i16 16579, i16 16420, i16 16388, i16 16579, i16 16579, i16 16421, i16 16385, i16 16579, i16 16579, i16 16421, i16 16388, i16 16579, i16 16630, i16 16389, i16 16388, i16 16630, i16 16630, i16 16400, i16 16385, i16 16630, i16 16630, i16 16400, i16 16388, i16 16630, i16 16630, i16 16390, i16 16385, i16 16630, i16 16630, i16 16390, i16 16388, i16 16630, i16 18640, i16 18643, i16 18646, i16 18640, i16 18649, i16 18643, i16 18652, i16 18649, i16 18655, i16 18643, i16 18658, i16 18655, i16 18661, i16 18665, i16 18669, i16 18661, i16 18673, i16 18665, i16 18677, i16 18673, i16 16642, i16 16389, i16 16388, i16 16642, i16 16642, i16 16392, i16 16385, i16 16642, i16 16642, i16 16392, i16 16388, i16 16642, i16 16642, i16 16397, i16 16385, i16 16642, i16 16642, i16 16397, i16 16388, i16 16642, i16 16642, i16 16394, i16 16385, i16 16642, i16 16642, i16 16394, i16 16388, i16 16642, i16 16642, i16 16395, i16 16385, i16 16642, i16 16642, i16 16395, i16 16388, i16 16642, i16 16642, i16 16390, i16 16385, i16 16642, i16 16642, i16 16390, i16 16388, i16 16642, i16 16642, i16 16452, i16 16385, i16 16642, i16 16642, i16 16452, i16 16388, i16 16642, i16 16642, i16 16448, i16 16385, i16 16642, i16 16642, i16 16448, i16 16388, i16 16642, i16 16642, i16 16391, i16 16385, i16 16642, i16 16642, i16 16391, i16 16388, i16 16642, i16 16661, i16 16389, i16 16388, i16 16661, i16 16661, i16 16447, i16 16385, i16 16661, i16 16661, i16 16447, i16 16388, i16 16661, i16 16661, i16 16394, i16 16385, i16 16661, i16 16661, i16 16394, i16 16388, i16 16661, i16 16661, i16 16402, i16 16385, i16 16661, i16 16661, i16 16402, i16 16388, i16 16661, i16 16661, i16 16390, i16 16385, i16 16661, i16 16661, i16 16390, i16 16388, i16 16661, i16 16661, i16 16444, i16 16385, i16 16661, i16 16661, i16 16444, i16 16388, i16 16661, i16 16661, i16 16452, i16 16385, i16 16661, i16 16661, i16 16452, i16 16388, i16 16661, i16 16661, i16 16448, i16 16385, i16 16661, i16 16661, i16 16448, i16 16388, i16 16661, i16 16678, i16 16389, i16 16386, i16 16678, i16 16678, i16 16389, i16 16388, i16 16678, i16 16681, i16 16389, i16 16388, i16 16681, i16 16681, i16 16392, i16 16385, i16 16681, i16 16681, i16 16392, i16 16388, i16 16681, i16 16681, i16 16393, i16 16385, i16 16681, i16 16681, i16 16393, i16 16388, i16 16681, i16 16681, i16 16405, i16 16385, i16 16681, i16 16681, i16 16405, i16 16388, i16 16681, i16 16681, i16 16397, i16 16385, i16 16681, i16 16681, i16 16397, i16 16388, i16 16681, i16 16681, i16 16398, i16 16385, i16 16681, i16 16681, i16 16398, i16 16388, i16 16681, i16 16681, i16 16394, i16 16385, i16 16681, i16 16681, i16 16394, i16 16388, i16 16681, i16 16681, i16 16395, i16 16385, i16 16681, i16 16681, i16 16395, i16 16388, i16 16681, i16 16681, i16 16402, i16 16385, i16 16681, i16 16681, i16 16402, i16 16388, i16 16681, i16 16681, i16 16427, i16 16385, i16 16681, i16 16681, i16 16427, i16 16388, i16 16681, i16 16681, i16 16400, i16 16385, i16 16681, i16 16681, i16 16400, i16 16388, i16 16681, i16 16681, i16 16396, i16 16385, i16 16681, i16 16681, i16 16396, i16 16388, i16 16681, i16 16681, i16 16446, i16 16385, i16 16681, i16 16681, i16 16446, i16 16388, i16 16681, i16 16681, i16 16390, i16 16385, i16 16681, i16 16681, i16 16390, i16 16388, i16 16681, i16 16681, i16 16444, i16 16385, i16 16681, i16 16681, i16 16444, i16 16388, i16 16681, i16 16681, i16 16449, i16 16385, i16 16681, i16 16681, i16 16449, i16 16388, i16 16681, i16 16681, i16 16391, i16 16385, i16 16681, i16 16681, i16 16391, i16 16388, i16 16681, i16 18681, i16 18684, i16 18517, i16 18681, i16 18681, i16 18684, i16 18425, i16 18681, i16 16718, i16 16389, i16 16388, i16 16718, i16 16718, i16 16394, i16 16385, i16 16718, i16 16718, i16 16394, i16 16388, i16 16718, i16 16723, i16 16389, i16 16388, i16 16723, i16 16723, i16 16392, i16 16385, i16 16723, i16 16723, i16 16392, i16 16388, i16 16723, i16 16723, i16 16395, i16 16385, i16 16723, i16 16723, i16 16395, i16 16388, i16 16723, i16 16723, i16 16400, i16 16385, i16 16723, i16 16723, i16 16400, i16 16388, i16 16723, i16 16723, i16 16444, i16 16385, i16 16723, i16 16723, i16 16444, i16 16388, i16 16723, i16 16723, i16 16448, i16 16385, i16 16723, i16 16723, i16 16448, i16 16388, i16 16723, i16 16723, i16 16445, i16 16385, i16 16723, i16 16723, i16 16445, i16 16388, i16 16723, i16 16723, i16 32766, i16 16388, i16 16723, i16 16739, i16 16389, i16 16388, i16 16739, i16 16739, i16 16392, i16 16385, i16 16739, i16 16739, i16 16392, i16 16388, i16 16739, i16 16739, i16 16395, i16 16385, i16 16739, i16 16739, i16 16395, i16 16388, i16 16739, i16 16739, i16 16390, i16 16385, i16 16739, i16 16739, i16 16390, i16 16388, i16 16739, i16 16739, i16 16444, i16 16385, i16 16739, i16 16739, i16 16444, i16 16388, i16 16739, i16 16739, i16 16452, i16 16385, i16 16739, i16 16739, i16 16452, i16 16388, i16 16739, i16 16739, i16 16448, i16 16385, i16 16739, i16 16739, i16 16448, i16 16388, i16 16739, i16 16739, i16 16434, i16 16385, i16 16739, i16 16739, i16 16434, i16 16388, i16 16739, i16 16739, i16 16421, i16 16385, i16 16739, i16 16739, i16 16421, i16 16388, i16 16739, i16 16739, i16 16445, i16 16385, i16 16739, i16 16739, i16 16445, i16 16388, i16 16739, i16 16760, i16 16389, i16 16388, i16 16760, i16 16760, i16 16392, i16 16385, i16 16760, i16 16760, i16 16392, i16 16388, i16 16760, i16 16760, i16 16390, i16 16385, i16 16760, i16 16760, i16 16390, i16 16388, i16 16760, i16 16760, i16 16444, i16 16385, i16 16760, i16 16760, i16 16444, i16 16388, i16 16760, i16 16769, i16 16389, i16 16388, i16 16769, i16 16769, i16 16392, i16 16385, i16 16769, i16 16769, i16 16392, i16 16388, i16 16769, i16 16769, i16 16395, i16 16385, i16 16769, i16 16769, i16 16395, i16 16388, i16 16769, i16 16769, i16 16396, i16 16385, i16 16769, i16 16769, i16 16396, i16 16388, i16 16769, i16 16769, i16 16390, i16 16385, i16 16769, i16 16769, i16 16390, i16 16388, i16 16769, i16 16769, i16 16444, i16 16385, i16 16769, i16 16769, i16 16444, i16 16388, i16 16769, i16 16769, i16 16448, i16 16385, i16 16769, i16 16769, i16 16448, i16 16388, i16 16769, i16 16769, i16 16421, i16 16385, i16 16769, i16 16769, i16 16421, i16 16388, i16 16769, i16 16769, i16 16445, i16 16385, i16 16769, i16 16769, i16 16445, i16 16388, i16 16769, i16 16769, i16 16451, i16 16388, i16 16769, i16 18687, i16 18690, i16 18517, i16 18687, i16 18687, i16 18690, i16 18425, i16 18687, i16 16791, i16 16389, i16 16388, i16 16791, i16 16791, i16 16389, i16 32766, i16 16791, i16 16791, i16 16392, i16 16385, i16 16791, i16 16791, i16 16392, i16 16388, i16 16791, i16 16791, i16 16393, i16 16385, i16 16791, i16 16791, i16 16393, i16 16388, i16 16791, i16 16791, i16 16405, i16 16385, i16 16791, i16 16791, i16 16405, i16 16388, i16 16791, i16 16791, i16 16397, i16 16385, i16 16791, i16 16791, i16 16397, i16 16388, i16 16791, i16 16791, i16 16398, i16 16385, i16 16791, i16 16791, i16 16398, i16 16388, i16 16791, i16 16791, i16 16394, i16 16385, i16 16791, i16 16791, i16 16394, i16 16388, i16 16791, i16 16791, i16 16412, i16 16385, i16 16791, i16 16791, i16 16412, i16 16388, i16 16791, i16 16791, i16 16413, i16 16385, i16 16791, i16 16791, i16 16413, i16 16388, i16 16791, i16 16791, i16 16415, i16 16385, i16 16791, i16 16791, i16 16415, i16 16388, i16 16791, i16 16791, i16 16414, i16 16385, i16 16791, i16 16791, i16 16414, i16 16388, i16 16791, i16 16791, i16 16436, i16 16385, i16 16791, i16 16791, i16 16436, i16 16388, i16 16791, i16 16791, i16 16395, i16 16385, i16 16791, i16 16791, i16 16395, i16 16388, i16 16791, i16 16791, i16 16402, i16 16385, i16 16791, i16 16791, i16 16402, i16 16388, i16 16791, i16 16791, i16 16404, i16 16385, i16 16791, i16 16791, i16 16404, i16 16388, i16 16791, i16 16791, i16 16400, i16 16385, i16 16791, i16 16791, i16 16400, i16 16388, i16 16791, i16 16791, i16 16396, i16 16385, i16 16791, i16 16791, i16 16396, i16 16388, i16 16791, i16 16791, i16 16406, i16 16385, i16 16791, i16 16791, i16 16406, i16 16388, i16 16791, i16 16791, i16 16431, i16 16385, i16 16791, i16 16791, i16 16431, i16 16388, i16 16791, i16 16791, i16 16444, i16 16385, i16 16791, i16 16791, i16 16444, i16 16388, i16 16791, i16 16791, i16 16452, i16 16385, i16 16791, i16 16791, i16 16452, i16 16388, i16 16791, i16 16791, i16 16443, i16 16385, i16 16791, i16 16791, i16 16443, i16 16388, i16 16791, i16 16791, i16 16449, i16 16385, i16 16791, i16 16791, i16 16449, i16 16388, i16 16791, i16 16791, i16 16440, i16 16385, i16 16791, i16 16791, i16 16440, i16 16388, i16 16791, i16 16791, i16 16391, i16 16385, i16 16791, i16 16791, i16 16391, i16 16388, i16 16791, i16 16791, i16 16419, i16 16385, i16 16791, i16 16791, i16 16419, i16 16388, i16 16791, i16 16791, i16 16420, i16 16385, i16 16791, i16 16791, i16 16420, i16 16388, i16 16791, i16 16791, i16 16401, i16 16385, i16 16791, i16 16791, i16 16401, i16 16388, i16 16791, i16 16791, i16 16422, i16 16385, i16 16791, i16 16791, i16 16422, i16 16388, i16 16791, i16 16791, i16 16423, i16 16385, i16 16791, i16 16791, i16 16423, i16 16388, i16 16791, i16 16791, i16 16425, i16 16385, i16 16791, i16 16791, i16 16425, i16 16388, i16 16791, i16 16791, i16 16424, i16 16385, i16 16791, i16 16791, i16 16424, i16 16388, i16 16791, i16 16791, i16 16441, i16 16385, i16 16791, i16 16791, i16 16441, i16 16388, i16 16791, i16 18693, i16 18696, i16 18517, i16 18693, i16 18693, i16 18696, i16 18425, i16 18693, i16 16861, i16 16389, i16 16388, i16 16861, i16 16861, i16 16392, i16 16385, i16 16861, i16 16861, i16 16392, i16 16388, i16 16861, i16 16861, i16 16390, i16 16385, i16 16861, i16 16861, i16 16390, i16 16388, i16 16861, i16 16868, i16 16389, i16 16388, i16 16868, i16 16871, i16 16389, i16 16388, i16 16871, i16 16871, i16 16392, i16 16385, i16 16871, i16 16871, i16 16392, i16 16388, i16 16871, i16 16871, i16 16405, i16 16385, i16 16871, i16 16871, i16 16405, i16 16388, i16 16871, i16 16871, i16 16398, i16 16385, i16 16871, i16 16871, i16 16398, i16 16388, i16 16871, i16 16871, i16 16390, i16 16385, i16 16871, i16 16871, i16 16390, i16 16388, i16 16871, i16 16871, i16 16444, i16 16385, i16 16871, i16 16871, i16 16444, i16 16388, i16 16871, i16 16871, i16 16448, i16 16385, i16 16871, i16 16871, i16 16448, i16 16388, i16 16871, i16 16871, i16 16434, i16 16385, i16 16871, i16 16871, i16 16434, i16 16388, i16 16871, i16 16871, i16 16445, i16 16385, i16 16871, i16 16871, i16 16445, i16 16388, i16 16871, i16 16889, i16 16395, i16 16388, i16 16889, i16 16892, i16 16389, i16 16388, i16 16892, i16 18699, i16 18643, i16 18702, i16 18699, i16 16892, i16 16392, i16 16385, i16 16892, i16 16892, i16 16392, i16 16388, i16 16892, i16 16892, i16 16403, i16 16385, i16 16892, i16 16892, i16 16403, i16 16388, i16 16892, i16 16892, i16 16394, i16 16385, i16 16892, i16 16892, i16 16394, i16 16388, i16 16892, i16 16892, i16 16390, i16 16385, i16 16892, i16 16892, i16 16390, i16 16388, i16 16892, i16 16892, i16 16444, i16 16385, i16 16892, i16 16892, i16 16444, i16 16388, i16 16892, i16 16892, i16 16433, i16 16385, i16 16892, i16 16892, i16 16433, i16 16388, i16 16892, i16 16892, i16 16448, i16 16385, i16 16892, i16 16892, i16 16448, i16 16388, i16 16892, i16 16909, i16 16395, i16 16388, i16 16909, i16 16909, i16 16416, i16 16385, i16 16909, i16 16909, i16 16416, i16 16388, i16 16909, i16 16892, i16 32766, i16 16388, i16 16892, i16 18705, i16 18643, i16 18708, i16 18705, i16 18699, i16 18643, i16 18711, i16 16384, i16 16917, i16 16389, i16 16388, i16 16917, i16 16917, i16 16395, i16 16385, i16 16917, i16 16917, i16 16395, i16 16388, i16 16917, i16 16917, i16 16390, i16 16385, i16 16917, i16 16917, i16 16390, i16 16388, i16 16917, i16 16917, i16 16444, i16 16385, i16 16917, i16 16917, i16 16444, i16 16388, i16 16917, i16 16917, i16 16452, i16 16385, i16 16917, i16 16917, i16 16452, i16 16388, i16 16917, i16 16917, i16 16448, i16 16385, i16 16917, i16 16917, i16 16448, i16 16388, i16 16917, i16 16917, i16 16421, i16 16385, i16 16917, i16 16917, i16 16421, i16 16388, i16 16917, i16 16917, i16 16445, i16 16385, i16 16917, i16 16917, i16 16445, i16 16388, i16 16917, i16 18714, i16 18717, i16 18517, i16 18714, i16 18714, i16 18717, i16 18425, i16 18714, i16 16936, i16 16389, i16 16388, i16 16936, i16 16936, i16 16392, i16 16385, i16 16936, i16 16936, i16 16392, i16 16388, i16 16936, i16 16936, i16 16393, i16 16385, i16 16936, i16 16936, i16 16393, i16 16388, i16 16936, i16 16936, i16 16405, i16 16385, i16 16936, i16 16936, i16 16405, i16 16388, i16 16936, i16 16936, i16 16397, i16 16385, i16 16936, i16 16936, i16 16397, i16 16388, i16 16936, i16 16936, i16 16398, i16 16385, i16 16936, i16 16936, i16 16398, i16 16388, i16 16936, i16 16936, i16 16394, i16 16385, i16 16936, i16 16936, i16 16394, i16 16388, i16 16936, i16 16936, i16 16395, i16 16385, i16 16936, i16 16936, i16 16395, i16 16388, i16 16936, i16 16936, i16 16399, i16 16385, i16 16936, i16 16936, i16 16399, i16 16388, i16 16936, i16 16936, i16 16402, i16 16385, i16 16936, i16 16936, i16 16402, i16 16388, i16 16936, i16 16936, i16 16426, i16 16385, i16 16936, i16 16936, i16 16426, i16 16388, i16 16936, i16 16936, i16 16427, i16 16385, i16 16936, i16 16936, i16 16427, i16 16388, i16 16936, i16 16936, i16 16428, i16 16385, i16 16936, i16 16936, i16 16428, i16 16388, i16 16936, i16 16936, i16 16429, i16 16385, i16 16936, i16 16936, i16 16429, i16 16388, i16 16936, i16 16936, i16 16404, i16 16385, i16 16936, i16 16936, i16 16404, i16 16388, i16 16936, i16 16936, i16 16400, i16 16385, i16 16936, i16 16936, i16 16400, i16 16388, i16 16936, i16 16936, i16 16396, i16 16385, i16 16936, i16 16936, i16 16396, i16 16388, i16 16936, i16 16936, i16 16406, i16 16385, i16 16936, i16 16936, i16 16406, i16 16388, i16 16936, i16 16936, i16 16446, i16 16385, i16 16936, i16 16936, i16 16446, i16 16388, i16 16936, i16 16936, i16 16444, i16 16385, i16 16936, i16 16936, i16 16444, i16 16388, i16 16936, i16 16936, i16 16449, i16 16385, i16 16936, i16 16936, i16 16449, i16 16388, i16 16936, i16 16936, i16 16391, i16 16385, i16 16936, i16 16936, i16 16391, i16 16388, i16 16936, i16 16936, i16 16430, i16 16385, i16 16936, i16 16936, i16 16430, i16 16388, i16 16936, i16 16936, i16 16442, i16 16385, i16 16936, i16 16936, i16 16442, i16 16388, i16 16936, i16 16936, i16 16421, i16 16385, i16 16936, i16 16936, i16 16421, i16 16388, i16 16936, i16 16936, i16 16401, i16 16385, i16 16936, i16 16936, i16 16401, i16 16388, i16 16936, i16 16936, i16 16422, i16 16385, i16 16936, i16 16936, i16 16422, i16 16388, i16 16936, i16 16936, i16 16423, i16 16385, i16 16936, i16 16936, i16 16423, i16 16388, i16 16936, i16 16936, i16 16425, i16 16385, i16 16936, i16 16936, i16 16425, i16 16388, i16 16936, i16 16936, i16 16424, i16 16385, i16 16936, i16 16936, i16 16424, i16 16388, i16 16936, i16 16936, i16 16441, i16 16385, i16 16936, i16 16936, i16 16441, i16 16388, i16 16936, i16 16999, i16 16389, i16 16388, i16 16999, i16 16999, i16 16396, i16 16385, i16 16999, i16 16999, i16 16396, i16 16388, i16 16999, i16 16999, i16 16444, i16 16385, i16 16999, i16 16999, i16 16444, i16 16388, i16 16999, i16 17006, i16 16389, i16 16388, i16 17006, i16 17006, i16 16392, i16 16385, i16 17006, i16 17006, i16 16392, i16 16388, i16 17006, i16 17006, i16 16393, i16 16385, i16 17006, i16 17006, i16 16393, i16 16388, i16 17006, i16 17006, i16 16394, i16 16385, i16 17006, i16 17006, i16 16394, i16 16388, i16 17006, i16 17006, i16 16402, i16 16385, i16 17006, i16 17006, i16 16402, i16 16388, i16 17006, i16 17006, i16 16390, i16 16385, i16 17006, i16 17006, i16 16390, i16 16388, i16 17006, i16 17006, i16 16444, i16 16385, i16 17006, i16 17006, i16 16444, i16 16388, i16 17006, i16 17021, i16 16389, i16 16388, i16 17021, i16 17021, i16 16402, i16 16385, i16 17021, i16 17021, i16 16402, i16 16388, i16 17021, i16 17021, i16 16390, i16 16385, i16 17021, i16 17021, i16 16390, i16 16388, i16 17021, i16 17028, i16 16389, i16 16388, i16 17028, i16 17028, i16 16392, i16 16385, i16 17028, i16 17028, i16 16392, i16 16388, i16 17028, i16 17028, i16 16393, i16 16385, i16 17028, i16 17028, i16 16393, i16 16388, i16 17028, i16 17028, i16 16394, i16 16385, i16 17028, i16 17028, i16 16394, i16 16388, i16 17028, i16 17028, i16 16402, i16 16385, i16 17028, i16 17028, i16 16402, i16 16388, i16 17028, i16 17028, i16 16400, i16 16385, i16 17028, i16 17028, i16 16400, i16 16388, i16 17028, i16 17028, i16 16396, i16 16385, i16 17028, i16 17028, i16 16396, i16 16388, i16 17028, i16 17028, i16 16390, i16 16385, i16 17028, i16 17028, i16 16390, i16 16388, i16 17028, i16 17028, i16 16444, i16 16385, i16 17028, i16 17028, i16 16444, i16 16388, i16 17028, i16 17047, i16 16389, i16 16388, i16 17047, i16 17047, i16 16392, i16 16385, i16 17047, i16 17047, i16 16392, i16 16388, i16 17047, i16 17047, i16 16394, i16 16385, i16 17047, i16 17047, i16 16394, i16 16388, i16 17047, i16 17047, i16 16390, i16 16385, i16 17047, i16 17047, i16 16390, i16 16388, i16 17047, i16 17047, i16 16444, i16 16385, i16 17047, i16 17047, i16 16444, i16 16388, i16 17047, i16 17047, i16 16452, i16 16385, i16 17047, i16 17047, i16 16452, i16 16388, i16 17047, i16 17047, i16 16445, i16 16385, i16 17047, i16 17047, i16 16445, i16 16388, i16 17047, i16 17062, i16 16395, i16 16388, i16 17062, i16 32766, i16 32766, i16 16384, i16 32766, i16 17064, i16 32766, i16 16384, i16 17064, i16 17073, i16 32766, i16 16384, i16 17073, i16 17074, i16 32766, i16 16384, i16 17074, i16 17075, i16 32766, i16 16384, i16 17075, i16 17076, i16 32766, i16 16384, i16 17076, i16 17077, i16 32766, i16 16384, i16 17077, i16 17078, i16 32766, i16 16384, i16 17078, i16 17079, i16 32766, i16 16384, i16 17079, i16 17080, i16 32766, i16 16384, i16 17080, i16 17081, i16 32766, i16 16384, i16 17081, i16 16384, i16 16384, i16 16384, i16 17133, i16 16384, i16 16384, i16 16384, i16 17135, i16 16384, i16 16384, i16 16384, i16 17197, i16 16384, i16 16384, i16 16384, i16 16384, i16 32766, i16 16385, i16 16453, i16 32766, i16 17723, i16 16385, i16 16454, i16 17723, i16 17723, i16 16388, i16 16453, i16 17723, i16 17723, i16 16388, i16 16454, i16 17723, i16 17727, i16 16388, i16 16453, i16 17727, i16 17729, i16 16388, i16 16453, i16 17729, i16 17731, i16 16388, i16 16453, i16 17731, i16 17733, i16 16385, i16 16454, i16 17733, i16 17733, i16 16388, i16 16453, i16 17733, i16 17733, i16 16388, i16 16454, i16 17733, i16 17737, i16 16388, i16 16453, i16 17737, i16 17739, i16 16385, i16 16454, i16 17739, i16 17739, i16 16388, i16 16453, i16 17739, i16 17739, i16 16388, i16 16454, i16 17739, i16 17743, i16 16388, i16 16453, i16 17743, i16 17745, i16 16385, i16 16454, i16 17745, i16 17745, i16 16385, i16 16455, i16 17745, i16 17745, i16 16388, i16 16453, i16 17745, i16 17745, i16 16388, i16 16454, i16 17745, i16 17745, i16 16388, i16 16455, i16 17745, i16 17745, i16 16388, i16 16456, i16 17745, i16 17752, i16 16388, i16 16453, i16 17752, i16 17754, i16 16388, i16 16453, i16 17754, i16 17756, i16 16388, i16 16453, i16 17756, i16 17758, i16 16388, i16 16453, i16 17758, i16 17760, i16 16388, i16 16453, i16 17760, i16 17762, i16 16385, i16 16454, i16 17762, i16 17762, i16 16388, i16 16453, i16 17762, i16 17762, i16 16388, i16 16454, i16 17762, i16 17766, i16 16388, i16 16453, i16 17766, i16 17768, i16 16388, i16 16453, i16 17768, i16 17770, i16 16388, i16 16453, i16 17770, i16 17770, i16 16388, i16 32766, i16 17770, i16 17773, i16 16388, i16 16453, i16 17773, i16 17775, i16 16385, i16 16454, i16 17775, i16 17775, i16 16385, i16 16455, i16 17775, i16 17775, i16 16388, i16 16453, i16 17775, i16 17775, i16 16388, i16 16454, i16 17775, i16 17775, i16 16388, i16 16455, i16 17775, i16 17775, i16 16388, i16 16456, i16 17775, i16 17782, i16 16388, i16 16453, i16 17782, i16 17784, i16 16388, i16 16453, i16 17784, i16 17786, i16 16388, i16 16453, i16 17786, i16 17788, i16 16385, i16 16454, i16 17788, i16 17788, i16 16388, i16 16453, i16 17788, i16 17788, i16 16388, i16 16454, i16 17788, i16 32766, i16 16457, i16 16385, i16 32766, i16 17792, i16 16457, i16 16388, i16 17792, i16 17794, i16 16457, i16 16388, i16 17794, i16 17796, i16 16457, i16 16388, i16 17796, i16 17798, i16 16457, i16 16388, i16 17798, i16 17800, i16 16457, i16 16388, i16 17800, i16 17802, i16 16457, i16 16388, i16 17802, i16 17804, i16 16457, i16 16388, i16 17804, i16 17806, i16 16457, i16 16388, i16 17806, i16 17808, i16 16457, i16 16388, i16 17808, i16 17810, i16 16457, i16 16388, i16 17810, i16 17812, i16 16457, i16 16388, i16 17812, i16 17814, i16 16457, i16 16388, i16 17814, i16 17816, i16 16457, i16 16388, i16 17816, i16 17818, i16 16457, i16 16388, i16 17818, i16 17820, i16 16457, i16 16388, i16 17820, i16 17822, i16 16457, i16 16388, i16 17822, i16 17824, i16 16457, i16 16388, i16 17824, i16 17826, i16 16457, i16 16388, i16 17826, i16 17828, i16 16457, i16 16388, i16 17828, i16 17830, i16 16457, i16 16388, i16 17830, i16 17832, i16 16457, i16 16388, i16 17832, i16 17834, i16 16457, i16 16388, i16 17834, i16 17836, i16 16457, i16 16388, i16 17836, i16 17838, i16 16457, i16 16388, i16 17838, i16 17840, i16 16457, i16 16388, i16 17840, i16 17842, i16 16457, i16 16388, i16 17842, i16 17844, i16 16457, i16 16388, i16 17844, i16 17846, i16 16457, i16 16388, i16 17846, i16 17848, i16 16457, i16 16388, i16 17848, i16 17850, i16 16457, i16 16388, i16 17850, i16 17852, i16 16457, i16 16388, i16 17852, i16 17854, i16 16457, i16 16388, i16 17854, i16 17856, i16 16457, i16 16388, i16 17856, i16 17858, i16 16457, i16 16388, i16 17858, i16 17860, i16 16457, i16 16388, i16 17860, i16 17862, i16 16457, i16 16388, i16 17862, i16 17864, i16 16457, i16 16388, i16 17864, i16 17866, i16 16457, i16 16388, i16 17866, i16 17868, i16 16457, i16 16388, i16 17868, i16 17870, i16 16457, i16 16388, i16 17870, i16 17872, i16 16457, i16 16388, i16 17872, i16 32766, i16 16457, i16 16388, i16 32766, i16 17874, i16 16457, i16 16385, i16 17874, i16 17876, i16 16457, i16 16388, i16 17876, i16 17878, i16 16457, i16 16385, i16 17878, i16 17880, i16 16457, i16 16388, i16 17880, i16 17882, i16 16457, i16 16388, i16 17882, i16 17884, i16 16457, i16 16388, i16 17884, i16 17886, i16 16457, i16 16388, i16 17886, i16 17888, i16 16457, i16 16388, i16 17888, i16 17890, i16 16457, i16 16388, i16 17890, i16 17892, i16 16457, i16 16388, i16 17892, i16 17894, i16 16457, i16 16388, i16 17894, i16 32766, i16 16384, i16 16384, i16 32766, i16 17928, i16 32766, i16 16384, i16 17928, i16 17927, i16 32766, i16 16384, i16 17927, i16 17937, i16 32766, i16 16384, i16 17937, i16 17941, i16 32766, i16 16384, i16 17941, i16 17948, i16 32766, i16 16384, i16 17948, i16 17956, i16 32766, i16 16384, i16 17956, i16 17961, i16 32766, i16 16384, i16 17961, i16 17966, i16 32766, i16 16384, i16 17966, i16 17971, i16 32766, i16 16384, i16 17971, i16 17976, i16 32766, i16 16384, i16 17976, i16 17979, i16 32766, i16 16384, i16 17979, i16 17982, i16 32766, i16 16384, i16 17982, i16 17985, i16 32766, i16 16384, i16 17985, i16 17988, i16 32766, i16 16384, i16 17988, i16 17993, i16 32766, i16 16384, i16 17993, i16 17998, i16 32766, i16 16384, i16 17998, i16 18003, i16 32766, i16 16384, i16 18003, i16 18008, i16 32766, i16 16384, i16 18008, i16 18013, i16 32766, i16 16384, i16 18013, i16 18018, i16 32766, i16 16384, i16 18018, i16 18023, i16 32766, i16 16384, i16 18023, i16 18028, i16 32766, i16 16384, i16 18028, i16 18033, i16 32766, i16 16384, i16 18033, i16 18038, i16 32766, i16 16384, i16 18038, i16 18043, i16 32766, i16 16384, i16 18043, i16 18048, i16 32766, i16 16384, i16 18048, i16 18053, i16 32766, i16 16384, i16 18053, i16 18058, i16 32766, i16 16384, i16 18058, i16 18063, i16 32766, i16 16384, i16 18063, i16 18066, i16 32766, i16 16384, i16 18066, i16 18069, i16 32766, i16 16384, i16 18069, i16 16384, i16 16384, i16 32766, i16 32766, i16 18720, i16 18720, i16 18723, i16 18720, i16 18720, i16 18726, i16 18729, i16 18720, i16 18732, i16 18732, i16 18735, i16 18732, i16 18732, i16 18738, i16 18741, i16 18732, i16 18744, i16 18744, i16 18747, i16 18744, i16 18744, i16 18750, i16 18753, i16 18744, i16 18756, i16 18759, i16 18762, i16 18756, i16 18756, i16 18765, i16 18768, i16 18756, i16 18101, i16 32766, i16 16384, i16 18101, i16 18105, i16 32766, i16 16384, i16 18105, i16 18109, i16 32766, i16 16384, i16 18109, i16 18114, i16 32766, i16 16384, i16 18114, i16 18118, i16 32766, i16 16384, i16 18118, i16 18122, i16 32766, i16 16384, i16 18122, i16 18127, i16 32766, i16 16384, i16 18127, i16 18131, i16 32766, i16 16384, i16 18131, i16 18135, i16 32766, i16 16384, i16 18135, i16 18140, i16 32766, i16 16384, i16 18140, i16 18144, i16 32766, i16 16384, i16 18144, i16 18148, i16 32766, i16 16384, i16 18148, i16 18152, i16 32766, i16 16384, i16 18152, i16 18156, i16 32766, i16 16384, i16 18156, i16 18160, i16 32766, i16 16384, i16 18160, i16 18164, i16 32766, i16 16384, i16 18164, i16 18168, i16 32766, i16 16384, i16 18168, i16 18172, i16 32766, i16 16384, i16 18172, i16 18178, i16 32766, i16 16384, i16 18178, i16 18182, i16 32766, i16 16384, i16 18182, i16 18186, i16 32766, i16 16384, i16 18186, i16 18188, i16 32766, i16 16384, i16 18188, i16 18190, i16 32766, i16 16384, i16 18190, i16 18192, i16 32766, i16 16384, i16 18192, i16 18194, i16 32766, i16 16384, i16 18194, i16 18196, i16 32766, i16 16384, i16 18196, i16 18202, i16 32766, i16 16384, i16 18202, i16 18208, i16 32766, i16 16384, i16 18208, i16 18214, i16 32766, i16 16384, i16 18214, i16 18220, i16 32766, i16 16384, i16 18220, i16 18226, i16 32766, i16 16384, i16 18226, i16 18228, i16 32766, i16 16384, i16 18228, i16 18230, i16 32766, i16 16384, i16 18230, i16 18232, i16 32766, i16 16384, i16 18232, i16 18234, i16 32766, i16 16384, i16 18234, i16 18236, i16 32766, i16 16384, i16 18236, i16 18240, i16 32766, i16 16384, i16 18240, i16 18244, i16 32766, i16 16384, i16 18244, i16 18248, i16 32766, i16 16384, i16 18248, i16 18250, i16 32766, i16 16384, i16 18250, i16 18252, i16 32766, i16 16384, i16 18252, i16 18254, i16 32766, i16 16384, i16 18254, i16 18256, i16 32766, i16 16384, i16 18256, i16 18258, i16 32766, i16 16384, i16 18258, i16 18262, i16 32766, i16 16384, i16 18262, i16 18264, i16 32766, i16 16384, i16 18264, i16 18266, i16 32766, i16 16384, i16 18266, i16 18268, i16 32766, i16 16384, i16 18268, i16 32766, i16 32766, i16 16384, i16 16384, i16 16396, i16 32766, i16 16384, i16 16384, i16 16398, i16 32766, i16 16384, i16 16384, i16 16400, i16 32766, i16 16384, i16 16384, i16 16402, i16 32766, i16 16384, i16 16384, i16 16404, i16 32766, i16 16384, i16 16384, i16 16406, i16 32766, i16 16384, i16 16384, i16 16408, i16 32766, i16 16384, i16 16384, i16 16410, i16 32766, i16 16384, i16 16384, i16 16412, i16 32766, i16 16384, i16 16384, i16 16414, i16 32766, i16 16384, i16 16384, i16 16416, i16 32766, i16 16384, i16 16384, i16 16418, i16 32766, i16 16384, i16 16384, i16 16420, i16 32766, i16 16384, i16 16384, i16 16422, i16 32766, i16 16384, i16 16384, i16 16424, i16 32766, i16 16384, i16 16384, i16 16426, i16 32766, i16 16384, i16 16384, i16 16428, i16 32766, i16 16384, i16 16384, i16 16430, i16 32766, i16 16384, i16 16384, i16 16432, i16 32766, i16 16384, i16 16384, i16 16434, i16 32766, i16 16384, i16 16384, i16 16436, i16 32766, i16 16384, i16 16384, i16 16438, i16 32766, i16 16384, i16 16384, i16 16440, i16 32766, i16 16384, i16 16384, i16 16442, i16 32766, i16 16384, i16 16384, i16 16444, i16 32766, i16 16384, i16 16384, i16 16446, i16 32766, i16 16384, i16 16384, i16 16384, i16 32766, i16 16384, i16 16384, i16 16384, i16 16384, i16 32766, i16 16384, i16 16384, i16 32766, i16 16385, i16 16385, i16 32766, i16 16385, i16 16385, i16 16385, i16 16438, i16 16386, i16 16385, i16 16385, i16 16440, i16 16386, i16 16385, i16 16385, i16 16442, i16 16386, i16 16385, i16 16385, i16 16444, i16 16386, i16 16385, i16 16385, i16 16446, i16 16386, i16 16385, i16 16385, i16 16448, i16 16386, i16 16385, i16 16385, i16 16450, i16 16386, i16 16385, i16 16385, i16 16452, i16 16386, i16 16385, i16 16385, i16 16454, i16 16386, i16 16385, i16 16385, i16 16456, i16 16386, i16 16385, i16 16385, i16 32766, i16 16385, i16 16385, i16 16387, i16 16458, i16 16385, i16 16385, i16 16388, i16 16460, i16 16385, i16 16385, i16 16388, i16 16462, i16 16385, i16 16385, i16 16388, i16 16464, i16 16385, i16 16385, i16 16388, i16 16466, i16 16385, i16 16385, i16 16388, i16 16468, i16 16385, i16 16385, i16 16388, i16 16470, i16 16385, i16 16385, i16 16388, i16 16472, i16 16385, i16 16385, i16 16388, i16 16474, i16 16385, i16 16385, i16 16388, i16 16476, i16 16385, i16 16385, i16 16388, i16 16478, i16 16385, i16 16385, i16 16388, i16 16480, i16 16385, i16 16385, i16 16388, i16 16482, i16 16385, i16 16385, i16 16388, i16 16484, i16 16385, i16 16385, i16 16388, i16 16486, i16 16385, i16 16385, i16 16388, i16 16488, i16 16385, i16 16385, i16 16388, i16 16490, i16 16385, i16 16385, i16 16388, i16 16492, i16 16385, i16 16385, i16 16388, i16 16494, i16 16385, i16 16385, i16 16388, i16 16496, i16 16385, i16 16385, i16 16388, i16 16498, i16 16385, i16 16385, i16 16388, i16 16500, i16 16385, i16 16385, i16 16388, i16 16502, i16 16385, i16 16385, i16 16388, i16 16504, i16 16385, i16 16385, i16 16388, i16 16506, i16 16385, i16 16385, i16 16388, i16 16508, i16 16385, i16 16385, i16 16388, i16 17294, i16 16385, i16 16385, i16 16385, i16 17297, i16 16385, i16 16385, i16 16385, i16 17300, i16 16385, i16 16385, i16 16385, i16 17303, i16 16385, i16 16385, i16 16385, i16 17306, i16 16385, i16 16385, i16 16385, i16 17309, i16 16385, i16 16385, i16 16385, i16 17312, i16 16385, i16 16385, i16 16385, i16 17315, i16 16385, i16 16385, i16 16385, i16 17318, i16 16385, i16 16385, i16 16385, i16 17321, i16 16385, i16 16385, i16 16385, i16 17324, i16 16385, i16 16385, i16 16385, i16 17327, i16 16385, i16 16385, i16 16385, i16 17330, i16 16385, i16 16385, i16 16385, i16 17333, i16 16385, i16 16385, i16 16385, i16 17336, i16 16385, i16 16385, i16 16385, i16 17339, i16 16385, i16 16385, i16 16385, i16 17342, i16 16385, i16 16385, i16 16385, i16 17345, i16 16385, i16 16385, i16 16385, i16 17348, i16 16385, i16 16385, i16 16385, i16 17351, i16 16385, i16 16385, i16 16385, i16 17354, i16 16385, i16 16385, i16 16385, i16 17357, i16 16385, i16 16385, i16 16385, i16 17360, i16 16385, i16 16385, i16 16385, i16 17363, i16 16385, i16 16385, i16 16385, i16 17366, i16 16385, i16 16385, i16 16385, i16 17369, i16 16385, i16 16385, i16 16385, i16 17372, i16 16385, i16 16385, i16 16385, i16 17375, i16 16385, i16 16385, i16 16385, i16 17378, i16 16385, i16 16385, i16 16385, i16 17381, i16 16385, i16 16385, i16 16385, i16 17384, i16 16385, i16 16385, i16 16385, i16 17387, i16 16385, i16 16385, i16 16385, i16 17390, i16 16385, i16 16385, i16 16385, i16 17393, i16 16385, i16 16385, i16 16385, i16 17396, i16 16385, i16 16385, i16 16385, i16 17399, i16 16385, i16 16385, i16 16385, i16 17402, i16 16385, i16 16385, i16 16385, i16 17405, i16 16385, i16 16385, i16 16385, i16 17408, i16 16385, i16 16385, i16 16385, i16 17411, i16 16385, i16 16385, i16 16385, i16 17414, i16 16385, i16 16385, i16 16385, i16 17417, i16 16385, i16 16385, i16 16385, i16 17420, i16 16385, i16 16385, i16 16385, i16 17423, i16 16385, i16 16385, i16 16385, i16 17426, i16 16385, i16 16385, i16 16385, i16 17429, i16 16385, i16 16385, i16 16385, i16 17432, i16 16385, i16 16385, i16 16385, i16 17435, i16 16385, i16 16385, i16 16385, i16 17438, i16 16385, i16 16385, i16 16385, i16 17441, i16 16385, i16 16385, i16 16385, i16 17444, i16 16385, i16 16385, i16 16385, i16 17447, i16 16385, i16 16385, i16 16385, i16 17450, i16 16385, i16 16385, i16 16385, i16 17453, i16 16385, i16 16385, i16 16385, i16 17456, i16 16385, i16 16385, i16 16385, i16 17459, i16 16385, i16 16385, i16 16385, i16 17462, i16 16385, i16 16385, i16 16385, i16 17465, i16 16385, i16 16385, i16 16385, i16 17468, i16 16385, i16 16385, i16 16385, i16 17471, i16 16385, i16 16385, i16 16385, i16 17474, i16 16385, i16 16385, i16 16385, i16 17477, i16 16385, i16 16385, i16 16385, i16 17480, i16 16385, i16 16385, i16 16385, i16 17483, i16 16385, i16 16385, i16 16385, i16 17486, i16 16385, i16 16385, i16 16385, i16 17489, i16 16385, i16 16385, i16 16385, i16 17492, i16 16385, i16 16385, i16 16385, i16 17495, i16 16385, i16 16385, i16 16385, i16 17498, i16 16385, i16 16385, i16 16385, i16 17501, i16 16385, i16 16385, i16 16385, i16 17504, i16 16385, i16 16385, i16 16385, i16 17507, i16 16385, i16 16385, i16 16385, i16 17510, i16 16385, i16 16385, i16 16385, i16 17513, i16 16385, i16 16385, i16 16385, i16 17516, i16 16385, i16 16385, i16 16385, i16 17519, i16 16385, i16 16385, i16 16385, i16 17522, i16 16385, i16 16385, i16 16385, i16 17525, i16 16385, i16 16385, i16 16385, i16 17528, i16 16385, i16 16385, i16 16385, i16 17531, i16 16385, i16 16385, i16 16385, i16 17534, i16 16385, i16 16385, i16 16385, i16 17537, i16 16385, i16 16385, i16 16385, i16 17540, i16 16385, i16 16385, i16 16385, i16 17543, i16 16385, i16 16385, i16 16385, i16 17546, i16 16385, i16 16385, i16 16385, i16 17549, i16 16385, i16 16385, i16 16385, i16 17552, i16 16385, i16 16385, i16 16385, i16 17555, i16 16385, i16 16385, i16 16385, i16 17558, i16 16385, i16 16385, i16 16385, i16 17561, i16 16385, i16 16385, i16 16385, i16 17564, i16 16385, i16 16385, i16 16385, i16 17567, i16 16385, i16 16385, i16 16385, i16 17570, i16 16385, i16 16385, i16 16385, i16 17573, i16 16385, i16 16385, i16 16385, i16 17576, i16 16385, i16 16385, i16 16385, i16 17579, i16 16385, i16 16385, i16 16385, i16 17582, i16 16385, i16 16385, i16 16385, i16 17585, i16 16385, i16 16385, i16 16385, i16 17588, i16 16385, i16 16385, i16 16385, i16 17591, i16 16385, i16 16385, i16 16385, i16 17594, i16 16385, i16 16385, i16 16385, i16 17597, i16 16385, i16 16385, i16 16385, i16 17600, i16 16385, i16 16385, i16 16385, i16 17603, i16 16385, i16 16385, i16 16385, i16 17606, i16 16385, i16 16385, i16 16385, i16 17609, i16 16385, i16 16385, i16 16385, i16 17612, i16 16385, i16 16385, i16 16385, i16 17615, i16 16385, i16 16385, i16 16385, i16 17618, i16 16385, i16 16385, i16 16385, i16 17621, i16 16385, i16 16385, i16 16385, i16 17624, i16 16385, i16 16385, i16 16385, i16 17627, i16 16385, i16 16385, i16 16385, i16 17630, i16 16385, i16 16385, i16 16385, i16 17633, i16 16385, i16 16385, i16 16385, i16 17636, i16 16385, i16 16385, i16 16385, i16 17639, i16 16385, i16 16385, i16 16385, i16 17642, i16 16385, i16 16385, i16 16385, i16 17645, i16 16385, i16 16385, i16 16385, i16 17648, i16 16385, i16 16385, i16 16385, i16 17651, i16 16385, i16 16385, i16 16385, i16 17654, i16 16385, i16 16385, i16 16385, i16 17657, i16 16385, i16 16385, i16 16385, i16 17660, i16 16385, i16 16385, i16 16385, i16 17663, i16 16385, i16 16385, i16 16385, i16 17666, i16 16385, i16 16385, i16 16385, i16 17669, i16 16385, i16 16385, i16 16385, i16 17672, i16 16385, i16 16385, i16 16385, i16 17675, i16 16385, i16 16385, i16 16385, i16 17678, i16 16385, i16 16385, i16 16385, i16 17681, i16 16385, i16 16385, i16 16385, i16 17684, i16 16385, i16 16385, i16 16385, i16 17687, i16 16385, i16 16385, i16 16385, i16 17690, i16 16385, i16 16385, i16 16385, i16 17693, i16 16385, i16 16385, i16 16385, i16 17696, i16 16385, i16 16385, i16 16385, i16 17699, i16 16385, i16 16385, i16 16385, i16 17702, i16 16385, i16 16385, i16 16385, i16 17705, i16 16385, i16 16385, i16 16385, i16 17708, i16 16385, i16 16385, i16 16385, i16 17711, i16 16385, i16 16385, i16 16385, i16 17714, i16 16385, i16 16385, i16 16385, i16 17717, i16 16385, i16 16385, i16 16385, i16 17720, i16 16385, i16 16385, i16 16385, i16 17723, i16 16385, i16 16385, i16 16385, i16 17726, i16 16385, i16 16385, i16 16385, i16 17729, i16 16385, i16 16385, i16 16385, i16 17732, i16 16385, i16 16385, i16 16385, i16 17735, i16 16385, i16 16385, i16 16385, i16 17738, i16 16385, i16 16385, i16 16385, i16 17741, i16 16385, i16 16385, i16 16385, i16 17744, i16 16385, i16 16385, i16 16385, i16 17747, i16 16385, i16 16385, i16 16385, i16 17750, i16 16385, i16 16385, i16 16385, i16 17753, i16 16385, i16 16385, i16 16385, i16 17756, i16 16385, i16 16385, i16 16385, i16 17759, i16 16385, i16 16385, i16 16385, i16 17762, i16 16385, i16 16385, i16 16385, i16 17765, i16 16385, i16 16385, i16 16385, i16 17768, i16 16385, i16 16385, i16 16385, i16 17771, i16 16385, i16 16385, i16 16385, i16 17774, i16 16385, i16 16385, i16 16385, i16 17777, i16 16385, i16 16385, i16 16385, i16 17780, i16 16385, i16 16385, i16 16385, i16 17783, i16 16385, i16 16385, i16 16385, i16 17786, i16 16385, i16 16385, i16 16385, i16 17789, i16 16385, i16 16385, i16 16385, i16 17792, i16 16385, i16 16385, i16 16385, i16 17795, i16 16385, i16 16385, i16 16385, i16 17798, i16 16385, i16 16385, i16 16385, i16 17801, i16 16385, i16 16385, i16 16385, i16 17804, i16 16385, i16 16385, i16 16385, i16 17807, i16 16385, i16 16385, i16 16385, i16 17810, i16 16385, i16 16385, i16 16385, i16 17813, i16 16385, i16 16385, i16 16385, i16 17816, i16 16385, i16 16385, i16 16385, i16 17819, i16 16385, i16 16385, i16 16385, i16 17822, i16 16385, i16 16385, i16 16385, i16 17825, i16 16385, i16 16385, i16 16385, i16 17828, i16 16385, i16 16385, i16 16385, i16 17831, i16 16385, i16 16385, i16 16385, i16 17834, i16 16385, i16 16385, i16 16385, i16 17837, i16 16385, i16 16385, i16 16385, i16 17840, i16 16385, i16 16385, i16 16385, i16 17843, i16 16385, i16 16385, i16 16385, i16 17846, i16 16385, i16 16385, i16 16385, i16 17849, i16 16385, i16 16385, i16 16385, i16 17852, i16 16385, i16 16385, i16 16385, i16 17855, i16 16385, i16 16385, i16 16385, i16 17858, i16 16385, i16 16385, i16 16385, i16 17861, i16 16385, i16 16385, i16 16385, i16 17864, i16 16385, i16 16385, i16 16385, i16 17867, i16 16385, i16 16385, i16 16385, i16 17870, i16 16385, i16 16385, i16 16385, i16 17873, i16 16385, i16 16385, i16 16385, i16 17876, i16 16385, i16 16385, i16 16385, i16 17879, i16 16385, i16 16385, i16 16385, i16 17882, i16 16385, i16 16385, i16 16385, i16 17885, i16 16385, i16 16385, i16 16385, i16 17888, i16 16385, i16 16385, i16 16385, i16 17891, i16 16385, i16 16385, i16 16385, i16 17894, i16 16385, i16 16385, i16 16385, i16 17897, i16 16385, i16 16385, i16 16385, i16 17900, i16 16385, i16 16385, i16 16385, i16 17903, i16 16385, i16 16385, i16 16385, i16 17906, i16 16385, i16 16385, i16 16385, i16 17909, i16 16385, i16 16385, i16 16385, i16 17912, i16 16385, i16 16385, i16 16385, i16 17915, i16 16385, i16 16385, i16 16385, i16 17918, i16 16385, i16 16385, i16 16385, i16 17921, i16 16385, i16 16385, i16 16385, i16 17924, i16 16385, i16 16385, i16 16385, i16 17927, i16 16385, i16 16385, i16 16385, i16 17930, i16 16385, i16 16385, i16 16385, i16 17933, i16 16385, i16 16385, i16 16385, i16 17936, i16 16385, i16 16385, i16 16385, i16 17939, i16 16385, i16 16385, i16 16385, i16 17942, i16 16385, i16 16385, i16 16385, i16 17945, i16 16385, i16 16385, i16 16385, i16 17948, i16 16385, i16 16385, i16 16385, i16 17951, i16 16385, i16 16385, i16 16385, i16 16779, i16 16385, i16 16385, i16 16389, i16 32767, i16 16384, i16 16384, i16 16384, i16 17284, i16 17285, i16 0, i16 895, i16 895, i16 0, i16 17273, i16 17273, i16 0, i16 16434, i16 16428, i16 0, i16 16393, i16 16393, i16 0, i16 97, i16 905, i16 0, i16 14, i16 14, i16 0, i16 3, i16 3, i16 0, i16 4, i16 3, i16 0, i16 5, i16 3, i16 0, i16 6, i16 3, i16 0, i16 16425, i16 16428, i16 0, i16 16433, i16 17283, i16 0, i16 16437, i16 16437, i16 0, i16 16481, i16 17289, i16 0, i16 16398, i16 16398, i16 0, i16 91, i16 906, i16 0, i16 14, i16 13, i16 0, i16 3, i16 4, i16 0, i16 4, i16 4, i16 0, i16 14, i16 890, i16 0, i16 14, i16 892, i16 0, i16 16488, i16 16488, i16 0, i16 17279, i16 17279, i16 0, i16 16488, i16 16492, i16 0, i16 16492, i16 16492, i16 0, i16 17797, i16 17797, i16 0, i16 16393, i16 17601, i16 0, i16 16393, i16 17600, i16 0, i16 16393, i16 17273, i16 0, i16 17273, i16 16393, i16 0, i16 17273, i16 17601, i16 0, i16 17273, i16 17600, i16 0, i16 17798, i16 17798, i16 0, i16 17799, i16 17799, i16 0, i16 16393, i16 17796, i16 0, i16 16393, i16 17795, i16 0, i16 16393, i16 17794, i16 0, i16 16393, i16 17793, i16 0, i16 17273, i16 17796, i16 0, i16 17273, i16 17795, i16 0, i16 17273, i16 17794, i16 0, i16 17273, i16 17793, i16 0, i16 17800, i16 17800, i16 0, i16 17801, i16 17801, i16 0, i16 17802, i16 17802, i16 0, i16 17804, i16 17804, i16 0, i16 17805, i16 17805, i16 0, i16 17807, i16 17807, i16 0, i16 16475, i16 17934, i16 0, i16 16387, i16 16388, i16 0, i16 16388, i16 16388, i16 0, i16 16475, i16 17289, i16 0, i16 16398, i16 17274, i16 0, i16 16398, i16 17276, i16 0, i16 16475, i16 17290, i16 0, i16 16458, i16 17935, i16 17290, i16 16475, i16 0, i16 17279, i16 17279, i16 17279, i16 17279, i16 0, i16 16389, i16 16390, i16 16388, i16 16387, i16 0, i16 17296, i16 17302, i16 0, i16 17329, i16 17279, i16 0, i16 17296, i16 17303, i16 0, i16 17311, i16 17334, i16 0, i16 17314, i16 17334, i16 0, i16 17193, i16 17193, i16 0, i16 2, i16 2, i16 0, i16 17200, i16 17200, i16 0, i16 17193, i16 18178, i16 0, i16 17201, i16 17201, i16 0, i16 17193, i16 17285, i16 0, i16 17202, i16 17202, i16 0, i16 17193, i16 17193, i16 18178, i16 0, i16 2, i16 2, i16 2, i16 0, i16 17203, i16 17203, i16 17203, i16 0, i16 17193, i16 17193, i16 17285, i16 0, i16 17204, i16 17204, i16 17204, i16 0, i16 18178, i16 17267, i16 0, i16 881, i16 881, i16 0, i16 16385, i16 16385, i16 0, i16 18080, i16 18080, i16 0, i16 17408, i16 17427, i16 0, i16 17410, i16 17410, i16 0, i16 17408, i16 17408, i16 0, i16 18080, i16 17425, i16 0, i16 17426, i16 17426, i16 0, i16 17851, i16 17736, i16 0, i16 1467, i16 1352, i16 0, i16 17901, i16 17901, i16 0, i16 1467, i16 1353, i16 0, i16 17902, i16 17902, i16 0, i16 17851, i16 17738, i16 0, i16 1467, i16 1354, i16 0, i16 17903, i16 17903, i16 0, i16 1467, i16 1355, i16 0, i16 17904, i16 17904, i16 0, i16 17851, i16 17741, i16 0, i16 1467, i16 1357, i16 0, i16 17905, i16 17905, i16 0, i16 1467, i16 1358, i16 0, i16 17906, i16 17906, i16 0, i16 17851, i16 17745, i16 0, i16 1467, i16 1362, i16 0, i16 17907, i16 17907, i16 0, i16 1467, i16 1363, i16 0, i16 17908, i16 17908, i16 0, i16 17065, i16 17148, i16 0, i16 1770, i16 1770, i16 0, i16 1772, i16 1772, i16 0, i16 1774, i16 1774, i16 0, i16 17311, i16 17205, i16 0, i16 1814, i16 1814, i16 0, i16 17325, i16 17148, i16 0, i16 1830, i16 1830, i16 0, i16 17427, i16 17220, i16 0, i16 1840, i16 1840, i16 0, i16 16470, i16 16579, i16 0, i16 16530, i16 16530, i16 0, i16 16532, i16 16532, i16 0, i16 16534, i16 16534, i16 0, i16 16630, i16 16630, i16 0, i16 16389, i16 16389, i16 0, i16 16637, i16 16637, i16 0, i16 16630, i16 16681, i16 0, i16 16638, i16 16638, i16 0, i16 16630, i16 16739, i16 0, i16 16639, i16 16639, i16 0, i16 16630, i16 16630, i16 16681, i16 0, i16 16389, i16 16389, i16 16389, i16 0, i16 16640, i16 16640, i16 16640, i16 0, i16 16630, i16 16630, i16 16739, i16 0, i16 16641, i16 16641, i16 16641, i16 0, i16 16681, i16 16718, i16 0, i16 16716, i16 16716, i16 0, i16 16769, i16 16642, i16 0, i16 16789, i16 16789, i16 0, i16 16791, i16 16579, i16 0, i16 16859, i16 16859, i16 0, i16 16892, i16 16917, i16 0, i16 16894, i16 16894, i16 0, i16 16892, i16 16892, i16 0, i16 16388, i16 16915, i16 0, i16 16916, i16 16916, i16 0, i16 16917, i16 16661, i16 0, i16 16934, i16 16934, i16 0, i16 18043, i16 17928, i16 0, i16 18093, i16 18093, i16 0, i16 18043, i16 17929, i16 0, i16 18094, i16 18094, i16 0, i16 18043, i16 17930, i16 0, i16 18095, i16 18095, i16 0, i16 18043, i16 17931, i16 0, i16 18096, i16 18096, i16 0, i16 18043, i16 17933, i16 0, i16 18097, i16 18097, i16 0, i16 18043, i16 17934, i16 0, i16 18098, i16 18098, i16 0, i16 18043, i16 17937, i16 0, i16 18043, i16 17938, i16 0, i16 18099, i16 18099, i16 0, i16 18043, i16 17939, i16 0, i16 18100, i16 18100, i16 0, i16 16510, i16 16788, i16 0, i16 16510, i16 16789, i16 0, i16 16510, i16 16790, i16 0, i16 16510, i16 16791, i16 0, i16 16510, i16 16792, i16 0, i16 16516, i16 16788, i16 0, i16 16516, i16 16789, i16 0, i16 16516, i16 16790, i16 0, i16 16516, i16 16791, i16 0, i16 16516, i16 16792, i16 0, i16 16522, i16 16788, i16 0, i16 16522, i16 16789, i16 0, i16 16522, i16 16790, i16 0, i16 16522, i16 16791, i16 0, i16 16522, i16 16792, i16 0, i16 16528, i16 16788, i16 0, i16 16528, i16 16789, i16 0, i16 16528, i16 16790, i16 0, i16 16528, i16 16791, i16 0, i16 16528, i16 16792, i16 0, i16 16534, i16 16788, i16 0, i16 16534, i16 16789, i16 0, i16 16534, i16 16790, i16 0, i16 16534, i16 16791, i16 0, i16 16534, i16 16792, i16 0, i16 16540, i16 16788, i16 0, i16 16540, i16 16789, i16 0, i16 16540, i16 16790, i16 0, i16 16540, i16 16791, i16 0, i16 16540, i16 16792, i16 0, i16 16546, i16 16788, i16 0, i16 16546, i16 16789, i16 0, i16 16546, i16 16790, i16 0, i16 16546, i16 16791, i16 0, i16 16546, i16 16792, i16 0, i16 16552, i16 16788, i16 0, i16 16552, i16 16789, i16 0, i16 16552, i16 16790, i16 0, i16 16552, i16 16791, i16 0, i16 16552, i16 16792, i16 0, i16 16558, i16 16788, i16 0, i16 16558, i16 16789, i16 0, i16 16558, i16 16790, i16 0, i16 16558, i16 16791, i16 0, i16 16558, i16 16792, i16 0, i16 16564, i16 16788, i16 0, i16 16564, i16 16789, i16 0, i16 16564, i16 16790, i16 0, i16 16564, i16 16791, i16 0, i16 16564, i16 16792, i16 0, i16 16570, i16 16788, i16 0, i16 16570, i16 16789, i16 0, i16 16570, i16 16790, i16 0, i16 16570, i16 16791, i16 0, i16 16570, i16 16792, i16 0, i16 16576, i16 16788, i16 0, i16 16576, i16 16789, i16 0, i16 16576, i16 16790, i16 0, i16 16576, i16 16791, i16 0, i16 16576, i16 16792, i16 0, i16 16582, i16 16788, i16 0, i16 16582, i16 16789, i16 0, i16 16582, i16 16790, i16 0, i16 16582, i16 16791, i16 0, i16 16582, i16 16792, i16 0, i16 16588, i16 16788, i16 0, i16 16588, i16 16789, i16 0, i16 16588, i16 16790, i16 0, i16 16588, i16 16791, i16 0, i16 16588, i16 16792, i16 0, i16 16594, i16 16788, i16 0, i16 16594, i16 16789, i16 0, i16 16594, i16 16790, i16 0, i16 16594, i16 16791, i16 0, i16 16594, i16 16792, i16 0, i16 16600, i16 16788, i16 0, i16 16600, i16 16789, i16 0, i16 16600, i16 16790, i16 0, i16 16600, i16 16791, i16 0, i16 16600, i16 16792, i16 0, i16 16606, i16 16788, i16 0, i16 16606, i16 16789, i16 0, i16 16606, i16 16790, i16 0, i16 16606, i16 16791, i16 0, i16 16606, i16 16792, i16 0, i16 16612, i16 16788, i16 0, i16 16612, i16 16789, i16 0, i16 16612, i16 16790, i16 0, i16 16612, i16 16791, i16 0, i16 16612, i16 16792, i16 0, i16 16618, i16 16788, i16 0, i16 16618, i16 16789, i16 0, i16 16618, i16 16790, i16 0, i16 16618, i16 16791, i16 0, i16 16618, i16 16792, i16 0, i16 16624, i16 16788, i16 0, i16 16624, i16 16789, i16 0, i16 16624, i16 16790, i16 0, i16 16624, i16 16791, i16 0, i16 16624, i16 16792, i16 0, i16 16630, i16 16788, i16 0, i16 16630, i16 16789, i16 0, i16 16630, i16 16790, i16 0, i16 16630, i16 16791, i16 0, i16 16630, i16 16792, i16 0, i16 16636, i16 16788, i16 0, i16 16636, i16 16789, i16 0, i16 16636, i16 16790, i16 0, i16 16636, i16 16791, i16 0, i16 16636, i16 16792, i16 0, i16 16642, i16 16788, i16 0, i16 16642, i16 16789, i16 0, i16 16642, i16 16790, i16 0, i16 16642, i16 16791, i16 0, i16 16642, i16 16792, i16 0, i16 16648, i16 16788, i16 0, i16 16648, i16 16789, i16 0, i16 16648, i16 16790, i16 0, i16 16648, i16 16791, i16 0, i16 16648, i16 16792, i16 0, i16 16654, i16 16788, i16 0, i16 16654, i16 16789, i16 0, i16 16654, i16 16790, i16 0, i16 16654, i16 16791, i16 0, i16 16654, i16 16792, i16 0, i16 16660, i16 16788, i16 0, i16 16660, i16 16789, i16 0, i16 16660, i16 16790, i16 0, i16 16660, i16 16791, i16 0, i16 16660, i16 16792, i16 0, i16 16666, i16 16788, i16 0, i16 16666, i16 16789, i16 0, i16 16666, i16 16790, i16 0, i16 16666, i16 16791, i16 0, i16 16666, i16 16792, i16 0, i16 16672, i16 16788, i16 0, i16 16672, i16 16789, i16 0, i16 16672, i16 16790, i16 0, i16 16672, i16 16791, i16 0, i16 16672, i16 16792, i16 0, i16 16678, i16 16788, i16 0, i16 16678, i16 16789, i16 0, i16 16678, i16 16790, i16 0, i16 16678, i16 16791, i16 0, i16 16678, i16 16792, i16 0, i16 16684, i16 16788, i16 0, i16 16684, i16 16789, i16 0, i16 16684, i16 16790, i16 0, i16 16684, i16 16791, i16 0, i16 16684, i16 16792, i16 0, i16 16690, i16 16788, i16 0, i16 16690, i16 16789, i16 0, i16 16690, i16 16790, i16 0, i16 16690, i16 16791, i16 0, i16 16690, i16 16792, i16 0, i16 16696, i16 16788, i16 0, i16 16696, i16 16789, i16 0, i16 16696, i16 16790, i16 0, i16 16696, i16 16791, i16 0, i16 16696, i16 16792, i16 0, i16 16702, i16 16788, i16 0, i16 16702, i16 16789, i16 0, i16 16702, i16 16790, i16 0, i16 16702, i16 16791, i16 0, i16 16702, i16 16792, i16 0, i16 16708, i16 16788, i16 0, i16 16708, i16 16789, i16 0, i16 16708, i16 16790, i16 0, i16 16708, i16 16791, i16 0, i16 16708, i16 16792, i16 0, i16 16714, i16 16788, i16 0, i16 16714, i16 16789, i16 0, i16 16714, i16 16790, i16 0, i16 16714, i16 16791, i16 0, i16 16714, i16 16792, i16 0, i16 16721, i16 16788, i16 0, i16 16721, i16 16789, i16 0, i16 16721, i16 16790, i16 0, i16 16721, i16 16791, i16 0, i16 16721, i16 16792, i16 0, i16 16728, i16 16788, i16 0, i16 16728, i16 16789, i16 0, i16 16728, i16 16790, i16 0, i16 16728, i16 16791, i16 0, i16 16728, i16 16792, i16 0, i16 16734, i16 16788, i16 0, i16 16734, i16 16789, i16 0, i16 16734, i16 16790, i16 0, i16 16734, i16 16791, i16 0, i16 16734, i16 16792, i16 0, i16 16740, i16 16788, i16 0, i16 16740, i16 16789, i16 0, i16 16740, i16 16790, i16 0, i16 16740, i16 16791, i16 0, i16 16740, i16 16792, i16 0, i16 16746, i16 16788, i16 0, i16 16746, i16 16789, i16 0, i16 16746, i16 16790, i16 0, i16 16746, i16 16791, i16 0, i16 16746, i16 16792, i16 0, i16 16752, i16 16788, i16 0, i16 16752, i16 16789, i16 0, i16 16752, i16 16790, i16 0, i16 16752, i16 16791, i16 0, i16 16752, i16 16792, i16 0, i16 16758, i16 16788, i16 0, i16 16758, i16 16789, i16 0, i16 16758, i16 16790, i16 0, i16 16758, i16 16791, i16 0, i16 16758, i16 16792, i16 0, i16 16764, i16 16788, i16 0, i16 16764, i16 16789, i16 0, i16 16764, i16 16790, i16 0, i16 16764, i16 16791, i16 0, i16 16764, i16 16792, i16 0, i16 16770, i16 16788, i16 0, i16 16770, i16 16789, i16 0, i16 16770, i16 16790, i16 0, i16 16770, i16 16791, i16 0, i16 16770, i16 16792, i16 0, i16 14, i16 17, i16 8, i16 13, i16 15, i16 6, i16 12, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5, i16 10, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9, i16 7, i16 11, i16 0, i16 0, i16 16, i16 3, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4, i16 0, i16 1, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 15, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 168, i16 173, i16 100, i16 105, i16 110, i16 116, i16 125, i16 131, i16 140, i16 144, i16 146, i16 148, i16 151, i16 154, i16 160, i16 163, i16 120, i16 124, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 26, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 82, i16 114, i16 5, i16 119, i16 0, i16 32, i16 0, i16 136, i16 111, i16 6, i16 17, i16 8, i16 167, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 16, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 36, i16 0, i16 37, i16 0, i16 0, i16 0, i16 0, i16 0, i16 38, i16 0, i16 0, i16 0, i16 0, i16 39, i16 0, i16 40, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 55, i16 123, i16 129, i16 134, i16 139, i16 0, i16 52, i16 99, i16 104, i16 109, i16 115, i16 0, i16 0, i16 0, i16 0, i16 0, i16 77, i16 85, i16 89, i16 0, i16 170, i16 174, i16 178, i16 180, i16 147, i16 0, i16 0, i16 0, i16 0, i16 0, i16 35, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 25, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 61, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 80, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 58, i16 0, i16 0, i16 12, i16 0, i16 0, i16 0, i16 28, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 159, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 143, i16 145, i16 0, i16 0, i16 0, i16 0, i16 172, i16 177, i16 0, i16 0, i16 0, i16 0, i16 47, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 41, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 191, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 13, i16 0, i16 24, i16 51, i16 87, i16 93, i16 102, i16 70, i16 142, i16 175, i16 0, i16 76, i16 90, i16 72, i16 49, i16 4, i16 92, i16 53, i16 96, i16 0, i16 54, i16 0, i16 30, i16 97, i16 18, i16 31, i16 0, i16 0, i16 0, i16 79, i16 91, i16 10, i16 45, i16 0, i16 0, i16 0, i16 158, i16 33, i16 155, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9, i16 184, i16 81, i16 189, i16 196, i16 64, i16 94, i16 75, i16 88, i16 98, i16 66, i16 46, i16 63, i16 187, i16 84, i16 0, i16 50, i16 95, i16 101, i16 106, i16 150, i16 162, i16 133, i16 138, i16 169, i16 192, i16 126, i16 83, i16 183, i16 153, i16 135, i16 179, i16 112, i16 117, i16 122, i16 128, i16 132, i16 185, i16 194, i16 156, i16 195, i16 186, i16 200, i16 67, i16 176, i16 149, i16 181, i16 188, i16 57, i16 141, i16 121, i16 127, i16 130, i16 137, i16 103, i16 107, i16 113, i16 118, i16 56, i16 108, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 152, i16 43, i16 34, i16 7, i16 44, i16 171, i16 0, i16 0, i16 0, i16 165, i16 42, i16 166, i16 0, i16 0, i16 59, i16 19, i16 197, i16 199, i16 22, i16 20, i16 23, i16 21, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 48, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 27, i16 0, i16 0, i16 0, i16 182, i16 198, i16 60, i16 190, i16 62, i16 193, i16 65, i16 157, i16 161, i16 164, i16 69, i16 68, i16 71, i16 78, i16 74, i16 86, i16 0, i16 2, i16 29, i16 3, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 14, i16 73, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1292, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1197, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1199, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 557, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 597, i16 598, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 691, i16 692, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1211, i16 1210, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 701, i16 702, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 731, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 223, i16 230, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 245, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1198, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 268, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1298, i16 1296, i16 1297, i16 1295, i16 0, i16 0, i16 0, i16 0, i16 1569, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1570, i16 1571, i16 1572, i16 1573, i16 0, i16 0, i16 0, i16 0, i16 1106, i16 1107, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1661, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 246, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 247, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 250, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 251, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 253, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 269, i16 0, i16 0, i16 0, i16 270, i16 0, i16 0, i16 0, i16 376, i16 378, i16 379, i16 380, i16 0, i16 0, i16 0, i16 263, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 266, i16 267, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1290, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 581, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 584, i16 583, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 609, i16 610, i16 611, i16 612, i16 0, i16 0, i16 0, i16 0, i16 152, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1207, i16 1206, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 189, i16 0, i16 0, i16 0, i16 244, i16 0, i16 0, i16 0, i16 1224, i16 0, i16 0, i16 1223, i16 0, i16 0, i16 0, i16 0, i16 1226, i16 0, i16 0, i16 1225, i16 0, i16 0, i16 0, i16 0, i16 1228, i16 0, i16 0, i16 1227, i16 0, i16 0, i16 0, i16 0, i16 1230, i16 0, i16 0, i16 1229, i16 0, i16 0, i16 0, i16 0, i16 1232, i16 0, i16 0, i16 1231, i16 0, i16 0, i16 0, i16 0, i16 1234, i16 0, i16 0, i16 1233, i16 0, i16 0, i16 0, i16 0, i16 1241, i16 1240, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1243, i16 1242, i16 1205, i16 1204, i16 0, i16 0, i16 0, i16 0, i16 1247, i16 1246, i16 0, i16 0, i16 1249, i16 1248, i16 0, i16 0, i16 226, i16 228, i16 225, i16 0, i16 0, i16 0, i16 0, i16 0, i16 760, i16 0, i16 734, i16 0, i16 748, i16 0, i16 0, i16 260, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 264, i16 265, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 554, i16 0, i16 0, i16 0, i16 0, i16 552, i16 0, i16 0, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 0, i16 1069, i16 1070, i16 1071, i16 1079, i16 1072, i16 1081, i16 1657, i16 0, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 0, i16 564, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1076, i16 0, i16 0, i16 0, i16 0, i16 0, i16 577, i16 0, i16 1367, i16 1368, i16 1369, i16 1370, i16 1371, i16 1372, i16 1373, i16 0, i16 1127, i16 1125, i16 1124, i16 1126, i16 1128, i16 1129, i16 1130, i16 0, i16 1142, i16 1140, i16 1139, i16 1141, i16 1143, i16 1144, i16 1145, i16 0, i16 1196, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 256, i16 257, i16 255, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1024, i16 984, i16 489, i16 409, i16 0, i16 0, i16 487, i16 407, i16 258, i16 261, i16 259, i16 262, i16 0, i16 0, i16 0, i16 0, i16 1027, i16 987, i16 492, i16 412, i16 1028, i16 988, i16 1029, i16 989, i16 773, i16 0, i16 775, i16 825, i16 771, i16 822, i16 749, i16 800, i16 774, i16 776, i16 746, i16 766, i16 779, i16 786, i16 790, i16 794, i16 1032, i16 992, i16 500, i16 420, i16 1033, i16 993, i16 503, i16 424, i16 781, i16 792, i16 768, i16 769, i16 767, i16 821, i16 808, i16 0, i16 1037, i16 535, i16 534, i16 536, i16 1043, i16 545, i16 550, i16 1002, i16 526, i16 449, i16 529, i16 452, i16 1039, i16 999, i16 1041, i16 1001, i16 1038, i16 998, i16 521, i16 444, i16 525, i16 448, i16 527, i16 450, i16 271, i16 575, i16 576, i16 1075, i16 578, i16 579, i16 580, i16 1077, i16 1040, i16 1000, i16 1042, i16 1003, i16 531, i16 454, i16 532, i16 455, i16 1555, i16 1557, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1300, i16 1299, i16 0, i16 0, i16 0, i16 0, i16 1293, i16 1291, i16 1045, i16 1006, i16 539, i16 462, i16 542, i16 465, i16 546, i16 470, i16 791, i16 793, i16 798, i16 801, i16 802, i16 803, i16 804, i16 805, i16 1049, i16 1051, i16 1053, i16 1055, i16 1057, i16 1059, i16 1061, i16 1063, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 538, i16 461, i16 540, i16 463, i16 1044, i16 1005, i16 537, i16 460, i16 1050, i16 1052, i16 1054, i16 1056, i16 1058, i16 1060, i16 1062, i16 1064, i16 1306, i16 1305, i16 1308, i16 1307, i16 0, i16 0, i16 0, i16 0, i16 796, i16 730, i16 732, i16 733, i16 735, i16 737, i16 739, i16 741, i16 1565, i16 1566, i16 0, i16 0, i16 0, i16 0, i16 589, i16 590, i16 543, i16 544, i16 1637, i16 181, i16 213, i16 182, i16 224, i16 151, i16 799, i16 809, i16 813, i16 797, i16 0, i16 0, i16 0, i16 0, i16 290, i16 291, i16 0, i16 292, i16 293, i16 294, i16 295, i16 296, i16 547, i16 549, i16 472, i16 1048, i16 1009, i16 1047, i16 1008, i16 0, i16 551, i16 1074, i16 553, i16 555, i16 556, i16 558, i16 559, i16 560, i16 807, i16 758, i16 811, i16 810, i16 814, i16 816, i16 820, i16 823, i16 297, i16 298, i16 299, i16 300, i16 0, i16 0, i16 0, i16 0, i16 1065, i16 1067, i16 272, i16 273, i16 274, i16 275, i16 0, i16 0, i16 1066, i16 1068, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 561, i16 1567, i16 1568, i16 0, i16 0, i16 0, i16 0, i16 0, i16 562, i16 563, i16 565, i16 567, i16 568, i16 569, i16 570, i16 571, i16 819, i16 778, i16 780, i16 782, i16 783, i16 785, i16 787, i16 789, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 566, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1078, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 824, i16 826, i16 795, i16 818, i16 806, i16 817, i16 827, i16 0, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1108, i16 1109, i16 1088, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 572, i16 573, i16 574, i16 0, i16 0, i16 0, i16 0, i16 0, i16 828, i16 829, i16 830, i16 831, i16 832, i16 833, i16 834, i16 835, i16 1344, i16 1345, i16 1346, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1089, i16 695, i16 696, i16 697, i16 698, i16 1090, i16 1091, i16 585, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 836, i16 837, i16 839, i16 840, i16 841, i16 842, i16 843, i16 844, i16 838, i16 1131, i16 1132, i16 1134, i16 1133, i16 0, i16 1135, i16 1136, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 586, i16 587, i16 588, i16 1092, i16 1093, i16 593, i16 594, i16 595, i16 1100, i16 1101, i16 675, i16 676, i16 677, i16 678, i16 0, i16 0, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 845, i16 846, i16 847, i16 848, i16 849, i16 850, i16 851, i16 852, i16 591, i16 592, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 0, i16 596, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 853, i16 854, i16 855, i16 1137, i16 856, i16 1138, i16 857, i16 858, i16 599, i16 600, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 1117, i16 1118, i16 859, i16 860, i16 861, i16 862, i16 863, i16 864, i16 865, i16 866, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 1374, i16 1375, i16 1376, i16 1377, i16 1378, i16 1379, i16 1380, i16 1381, i16 1119, i16 1120, i16 1121, i16 1122, i16 1123, i16 0, i16 0, i16 0, i16 608, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 1632, i16 523, i16 1633, i16 1634, i16 1635, i16 533, i16 541, i16 1636, i16 867, i16 868, i16 869, i16 870, i16 871, i16 872, i16 873, i16 874, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 1382, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 875, i16 876, i16 877, i16 878, i16 879, i16 880, i16 881, i16 882, i16 620, i16 621, i16 622, i16 625, i16 626, i16 627, i16 628, i16 631, i16 365, i16 160, i16 192, i16 194, i16 191, i16 195, i16 241, i16 185, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 1390, i16 1391, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1646, i16 446, i16 1647, i16 1648, i16 1649, i16 456, i16 464, i16 1650, i16 623, i16 624, i16 633, i16 634, i16 629, i16 630, i16 1098, i16 1099, i16 883, i16 884, i16 885, i16 1153, i16 886, i16 1154, i16 887, i16 888, i16 374, i16 375, i16 158, i16 157, i16 234, i16 236, i16 238, i16 161, i16 1398, i16 1399, i16 1400, i16 1401, i16 1402, i16 1403, i16 1404, i16 0, i16 632, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 1146, i16 1147, i16 1148, i16 1150, i16 1149, i16 0, i16 1151, i16 1152, i16 1658, i16 1659, i16 1660, i16 954, i16 957, i16 959, i16 961, i16 964, i16 383, i16 0, i16 0, i16 0, i16 387, i16 388, i16 389, i16 390, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 391, i16 392, i16 219, i16 217, i16 0, i16 178, i16 180, i16 0, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 1163, i16 1164, i16 1165, i16 0, i16 0, i16 0, i16 0, i16 0, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 403, i16 402, i16 404, i16 405, i16 415, i16 414, i16 991, i16 416, i16 150, i16 159, i16 172, i16 215, i16 193, i16 216, i16 214, i16 169, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 1179, i16 1178, i16 1201, i16 1200, i16 0, i16 0, i16 0, i16 0, i16 413, i16 1642, i16 421, i16 422, i16 1643, i16 431, i16 1644, i16 1645, i16 674, i16 1094, i16 1095, i16 1096, i16 1097, i16 679, i16 680, i16 681, i16 164, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 167, i16 384, i16 438, i16 176, i16 377, i16 381, i16 382, i16 162, i16 423, i16 505, i16 426, i16 508, i16 429, i16 506, i16 427, i16 509, i16 168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 170, i16 171, i16 0, i16 0, i16 173, i16 174, i16 0, i16 0, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 430, i16 507, i16 428, i16 512, i16 434, i16 514, i16 436, i16 513, i16 177, i16 179, i16 212, i16 218, i16 156, i16 155, i16 165, i16 163, i16 690, i16 1102, i16 1103, i16 1104, i16 1105, i16 693, i16 694, i16 1110, i16 435, i16 433, i16 1035, i16 995, i16 520, i16 443, i16 0, i16 0, i16 1203, i16 1202, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1209, i16 1208, i16 0, i16 0, i16 0, i16 0, i16 1245, i16 1244, i16 699, i16 700, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 955, i16 956, i16 958, i16 0, i16 960, i16 0, i16 962, i16 963, i16 190, i16 474, i16 477, i16 1624, i16 1625, i16 481, i16 1626, i16 1627, i16 703, i16 1652, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 1215, i16 1214, i16 1213, i16 1212, i16 0, i16 0, i16 0, i16 0, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 965, i16 966, i16 968, i16 969, i16 277, i16 278, i16 280, i16 281, i16 711, i16 712, i16 713, i16 1653, i16 715, i16 716, i16 717, i16 718, i16 967, i16 276, i16 279, i16 1552, i16 1553, i16 1554, i16 0, i16 0, i16 971, i16 970, i16 972, i16 973, i16 974, i16 975, i16 977, i16 978, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 719, i16 720, i16 721, i16 722, i16 1654, i16 724, i16 725, i16 726, i16 466, i16 467, i16 1651, i16 183, i16 240, i16 184, i16 229, i16 332, i16 727, i16 1655, i16 1656, i16 0, i16 0, i16 0, i16 0, i16 0, i16 983, i16 994, i16 440, i16 439, i16 441, i16 442, i16 996, i16 231, i16 476, i16 396, i16 1016, i16 976, i16 475, i16 395, i16 1019, i16 979, i16 222, i16 393, i16 397, i16 1638, i16 1639, i16 401, i16 1640, i16 1641, i16 738, i16 742, i16 745, i16 0, i16 755, i16 0, i16 765, i16 777, i16 227, i16 187, i16 394, i16 175, i16 239, i16 154, i16 188, i16 153, i16 483, i16 482, i16 484, i16 485, i16 495, i16 494, i16 1031, i16 496, i16 740, i16 788, i16 736, i16 784, i16 761, i16 812, i16 763, i16 815, i16 997, i16 458, i16 457, i16 459, i16 1004, i16 468, i16 473, i16 469, i16 743, i16 744, i16 747, i16 750, i16 751, i16 752, i16 753, i16 754, i16 488, i16 408, i16 486, i16 406, i16 1026, i16 986, i16 1025, i16 985, i16 233, i16 0, i16 0, i16 0, i16 235, i16 237, i16 0, i16 0, i16 493, i16 1628, i16 501, i16 502, i16 1629, i16 510, i16 1630, i16 1631, i16 497, i16 417, i16 499, i16 419, i16 0, i16 0, i16 498, i16 418, i16 242, i16 220, i16 385, i16 386, i16 221, i16 243, i16 186, i16 166, i16 1011, i16 1010, i16 1012, i16 1013, i16 1014, i16 1015, i16 1017, i16 1018, i16 756, i16 757, i16 0, i16 759, i16 762, i16 764, i16 770, i16 772, i16 248, i16 0, i16 0, i16 0, i16 252, i16 0, i16 0, i16 0, i16 1020, i16 980, i16 1022, i16 982, i16 1021, i16 981, i16 480, i16 400, i16 254, i16 0, i16 0, i16 0, i16 249, i16 0, i16 0, i16 0, i16 1023, i16 1034, i16 517, i16 516, i16 518, i16 519, i16 1036, i16 232, i16 8, i16 13, i16 9, i16 5, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 14, i16 7, i16 11, i16 3, i16 6, i16 0, i16 0, i16 0, i16 0, i16 10, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 81, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8, i16 42, i16 98, i16 109, i16 122, i16 130, i16 140, i16 151, i16 164, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 35, i16 0, i16 108, i16 0, i16 110, i16 120, i16 125, i16 133, i16 0, i16 0, i16 0, i16 0, i16 15, i16 0, i16 141, i16 148, i16 112, i16 117, i16 160, i16 139, i16 149, i16 57, i16 167, i16 170, i16 174, i16 47, i16 60, i16 61, i16 39, i16 0, i16 0, i16 11, i16 92, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 43, i16 18, i16 0, i16 0, i16 10, i16 12, i16 51, i16 119, i16 93, i16 169, i16 172, i16 96, i16 0, i16 0, i16 28, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 23, i16 9, i16 0, i16 14, i16 66, i16 0, i16 67, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 32, i16 75, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 46, i16 147, i16 152, i16 156, i16 31, i16 0, i16 0, i16 157, i16 161, i16 0, i16 36, i16 0, i16 0, i16 0, i16 0, i16 0, i16 37, i16 22, i16 176, i16 0, i16 0, i16 38, i16 181, i16 63, i16 70, i16 48, i16 17, i16 0, i16 73, i16 74, i16 0, i16 0, i16 52, i16 102, i16 135, i16 155, i16 114, i16 171, i16 101, i16 173, i16 111, i16 121, i16 94, i16 127, i16 142, i16 103, i16 143, i16 104, i16 175, i16 180, i16 89, i16 62, i16 124, i16 71, i16 80, i16 83, i16 20, i16 49, i16 166, i16 95, i16 7, i16 106, i16 165, i16 26, i16 55, i16 153, i16 179, i16 154, i16 182, i16 56, i16 40, i16 41, i16 77, i16 158, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 79, i16 86, i16 0, i16 76, i16 82, i16 88, i16 0, i16 59, i16 69, i16 85, i16 99, i16 116, i16 131, i16 58, i16 68, i16 84, i16 97, i16 115, i16 128, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 78, i16 50, i16 87, i16 27, i16 33, i16 34, i16 123, i16 0, i16 44, i16 16, i16 24, i16 0, i16 25, i16 0, i16 3, i16 0, i16 45, i16 105, i16 107, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 126, i16 54, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 144, i16 177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 13, i16 21, i16 19, i16 0, i16 0, i16 53, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 29, i16 30, i16 129, i16 137, i16 146, i16 138, i16 134, i16 0, i16 0, i16 159, i16 178, i16 90, i16 118, i16 132, i16 163, i16 64, i16 72, i16 91, i16 113, i16 162, i16 145, i16 65, i16 150, i16 168, i16 100, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 136, i16 5, i16 6, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 592, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 161, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 172, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 167, i16 168, i16 169, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 170, i16 0, i16 171, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 714, i16 715, i16 864, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1505, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 524, i16 0, i16 525, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 581, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1348, i16 0, i16 0, i16 0, i16 1349, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1923, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 526, i16 527, i16 528, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 427, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 343, i16 344, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 290, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 594, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 742, i16 743, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1924, i16 146, i16 0, i16 1925, i16 0, i16 1926, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 232, i16 233, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 234, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 520, i16 521, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 522, i16 523, i16 0, i16 0, i16 0, i16 0, i16 0, i16 345, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 823, i16 824, i16 0, i16 0, i16 0, i16 0, i16 1762, i16 1763, i16 1772, i16 1773, i16 1824, i16 1825, i16 0, i16 0, i16 0, i16 0, i16 323, i16 324, i16 325, i16 326, i16 0, i16 0, i16 0, i16 0, i16 327, i16 0, i16 328, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1371, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 153, i16 154, i16 0, i16 0, i16 0, i16 0, i16 155, i16 0, i16 0, i16 0, i16 156, i16 0, i16 0, i16 0, i16 0, i16 0, i16 157, i16 158, i16 1148, i16 159, i16 1158, i16 1164, i16 1170, i16 0, i16 1187, i16 0, i16 1200, i16 1213, i16 0, i16 0, i16 0, i16 0, i16 1701, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 546, i16 0, i16 0, i16 0, i16 547, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 329, i16 0, i16 330, i16 0, i16 0, i16 331, i16 0, i16 0, i16 0, i16 332, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 333, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 358, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 225, i16 226, i16 0, i16 0, i16 227, i16 0, i16 228, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 229, i16 0, i16 230, i16 0, i16 0, i16 0, i16 231, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 1733, i16 1735, i16 1737, i16 1739, i16 0, i16 0, i16 0, i16 517, i16 518, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 519, i16 0, i16 0, i16 1310, i16 1311, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1312, i16 1313, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1314, i16 1315, i16 1316, i16 1317, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1353, i16 0, i16 1355, i16 0, i16 0, i16 0, i16 1358, i16 0, i16 0, i16 0, i16 0, i16 1362, i16 1363, i16 1366, i16 0, i16 0, i16 593, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 339, i16 340, i16 0, i16 0, i16 341, i16 342, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 348, i16 0, i16 0, i16 0, i16 0, i16 0, i16 349, i16 350, i16 351, i16 352, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 173, i16 174, i16 175, i16 176, i16 177, i16 0, i16 0, i16 180, i16 181, i16 0, i16 0, i16 0, i16 178, i16 179, i16 0, i16 0, i16 499, i16 500, i16 0, i16 0, i16 0, i16 501, i16 0, i16 0, i16 502, i16 0, i16 503, i16 504, i16 0, i16 0, i16 0, i16 282, i16 0, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 811, i16 812, i16 0, i16 0, i16 0, i16 0, i16 0, i16 894, i16 895, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 304, i16 305, i16 306, i16 307, i16 0, i16 0, i16 308, i16 309, i16 1700, i16 310, i16 0, i16 0, i16 311, i16 312, i16 313, i16 0, i16 1351, i16 1352, i16 1354, i16 1356, i16 1357, i16 1359, i16 1361, i16 1365, i16 1372, i16 1375, i16 1380, i16 1385, i16 1390, i16 1395, i16 1400, i16 0, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 75, i16 78, i16 76, i16 79, i16 77, i16 604, i16 605, i16 0, i16 658, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 672, i16 673, i16 674, i16 675, i16 676, i16 1364, i16 677, i16 678, i16 679, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1234, i16 1230, i16 1224, i16 1236, i16 1288, i16 1244, i16 1246, i16 1248, i16 1258, i16 1264, i16 1276, i16 1254, i16 0, i16 1280, i16 1292, i16 0, i16 1235, i16 1231, i16 1225, i16 1237, i16 1289, i16 1245, i16 1247, i16 1249, i16 1259, i16 1265, i16 1277, i16 1255, i16 0, i16 1281, i16 1293, i16 0, i16 476, i16 477, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1525, i16 1527, i16 1529, i16 1531, i16 1533, i16 1535, i16 1538, i16 1540, i16 1542, i16 1544, i16 1547, i16 1549, i16 1551, i16 1553, i16 1555, i16 0, i16 1526, i16 1528, i16 1530, i16 1532, i16 1534, i16 1536, i16 1539, i16 1541, i16 1543, i16 1545, i16 1548, i16 1550, i16 1552, i16 1554, i16 1556, i16 0, i16 505, i16 0, i16 0, i16 506, i16 0, i16 507, i16 508, i16 0, i16 0, i16 509, i16 510, i16 0, i16 0, i16 511, i16 512, i16 513, i16 514, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 515, i16 516, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1796, i16 1795, i16 881, i16 882, i16 885, i16 886, i16 1801, i16 1802, i16 1803, i16 903, i16 904, i16 1806, i16 1807, i16 905, i16 906, i16 907, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 1033, i16 1034, i16 1035, i16 1036, i16 1027, i16 1028, i16 1031, i16 1032, i16 1037, i16 1038, i16 1047, i16 1048, i16 1049, i16 1050, i16 1057, i16 1058, i16 778, i16 779, i16 780, i16 781, i16 782, i16 783, i16 784, i16 785, i16 870, i16 871, i16 876, i16 877, i16 972, i16 973, i16 966, i16 967, i16 529, i16 0, i16 530, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 0, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 1557, i16 1560, i16 1562, i16 1564, i16 1566, i16 1568, i16 1570, i16 1572, i16 1574, i16 1576, i16 1578, i16 1580, i16 1582, i16 1584, i16 1586, i16 1588, i16 1558, i16 1561, i16 1563, i16 1565, i16 1567, i16 1569, i16 1571, i16 1573, i16 1575, i16 1577, i16 1579, i16 1581, i16 1583, i16 1585, i16 1587, i16 1589, i16 279, i16 280, i16 281, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1818, i16 1819, i16 1830, i16 1831, i16 1007, i16 1008, i16 1832, i16 1833, i16 1013, i16 1014, i16 1834, i16 1835, i16 1029, i16 1030, i16 1838, i16 1839, i16 1055, i16 1056, i16 1098, i16 1099, i16 1090, i16 1091, i16 1100, i16 1101, i16 1088, i16 1089, i16 1096, i16 1097, i16 1852, i16 1853, i16 1854, i16 1855, i16 291, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 292, i16 0, i16 293, i16 0, i16 294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 548, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 0, i16 0, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 1318, i16 1319, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 295, i16 0, i16 296, i16 297, i16 0, i16 298, i16 299, i16 300, i16 301, i16 0, i16 0, i16 302, i16 0, i16 0, i16 0, i16 303, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 1836, i16 1837, i16 1053, i16 1054, i16 1045, i16 1046, i16 1051, i16 1052, i16 1086, i16 1087, i16 1846, i16 1847, i16 1066, i16 1067, i16 1074, i16 1075, i16 816, i16 817, i16 818, i16 819, i16 820, i16 1042, i16 1026, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 0, i16 0, i16 0, i16 0, i16 571, i16 0, i16 0, i16 0, i16 1844, i16 1845, i16 1094, i16 1095, i16 1862, i16 1863, i16 1126, i16 1127, i16 1128, i16 1877, i16 1878, i16 1881, i16 1882, i16 1879, i16 1880, i16 1040, i16 1590, i16 1592, i16 1594, i16 1596, i16 1598, i16 1600, i16 1602, i16 1604, i16 1606, i16 1608, i16 1610, i16 1612, i16 1614, i16 1616, i16 1618, i16 1620, i16 1591, i16 1593, i16 1595, i16 1597, i16 1599, i16 1601, i16 1603, i16 1605, i16 1607, i16 1609, i16 1611, i16 1613, i16 1615, i16 1617, i16 1619, i16 1621, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 314, i16 0, i16 0, i16 0, i16 0, i16 315, i16 0, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 0, i16 322, i16 0, i16 572, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 829, i16 830, i16 1790, i16 1791, i16 840, i16 841, i16 848, i16 849, i16 872, i16 873, i16 1799, i16 1800, i16 858, i16 859, i16 878, i16 879, i16 833, i16 834, i16 844, i16 845, i16 846, i16 847, i16 842, i16 843, i16 850, i16 851, i16 838, i16 839, i16 874, i16 875, i16 868, i16 869, i16 1860, i16 1861, i16 1858, i16 1859, i16 1864, i16 1865, i16 1866, i16 1867, i16 1868, i16 1869, i16 1121, i16 1122, i16 1119, i16 1120, i16 1134, i16 1135, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1350, i16 1452, i16 1457, i16 1462, i16 1467, i16 1472, i16 1477, i16 1482, i16 1487, i16 1490, i16 1493, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 74, i16 87, i16 120, i16 122, i16 119, i16 123, i16 143, i16 114, i16 94, i16 116, i16 683, i16 104, i16 141, i16 82, i16 117, i16 81, i16 1103, i16 0, i16 0, i16 0, i16 0, i16 1142, i16 1143, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1360, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1370, i16 0, i16 1622, i16 1624, i16 1626, i16 1628, i16 1630, i16 1632, i16 1634, i16 1636, i16 1638, i16 1640, i16 1642, i16 1644, i16 1646, i16 1648, i16 1650, i16 1652, i16 1367, i16 1368, i16 1369, i16 1373, i16 1374, i16 1376, i16 1377, i16 1378, i16 1379, i16 1381, i16 1382, i16 1383, i16 1384, i16 1386, i16 1387, i16 1388, i16 1623, i16 1625, i16 1627, i16 1629, i16 1631, i16 1633, i16 1635, i16 1637, i16 1639, i16 1641, i16 1643, i16 1645, i16 1647, i16 1649, i16 1651, i16 1653, i16 1112, i16 1113, i16 1124, i16 1125, i16 1136, i16 1137, i16 1130, i16 1131, i16 1132, i16 1133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 92, i16 1953, i16 730, i16 1954, i16 1955, i16 765, i16 810, i16 822, i16 837, i16 853, i16 884, i16 889, i16 1956, i16 919, i16 1957, i16 942, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 1887, i16 1810, i16 944, i16 1816, i16 952, i16 1820, i16 1828, i16 134, i16 1822, i16 1062, i16 1842, i16 1070, i16 1848, i16 1872, i16 1840, i16 1041, i16 1888, i16 1811, i16 945, i16 1817, i16 953, i16 1821, i16 1829, i16 133, i16 1823, i16 1063, i16 1843, i16 1071, i16 1849, i16 1873, i16 1841, i16 1129, i16 353, i16 0, i16 354, i16 0, i16 0, i16 355, i16 0, i16 0, i16 1889, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 865, i16 964, i16 965, i16 1072, i16 1073, i16 1076, i16 1077, i16 1078, i16 1079, i16 1082, i16 1083, i16 1080, i16 1081, i16 0, i16 718, i16 719, i16 356, i16 357, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 359, i16 360, i16 361, i16 362, i16 0, i16 0, i16 363, i16 364, i16 365, i16 366, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1389, i16 1391, i16 1392, i16 1393, i16 1394, i16 1396, i16 1397, i16 1398, i16 1399, i16 1401, i16 1402, i16 1404, i16 1405, i16 1407, i16 1408, i16 1410, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 1905, i16 445, i16 446, i16 1906, i16 447, i16 1907, i16 448, i16 449, i16 1908, i16 450, i16 451, i16 1909, i16 452, i16 453, i16 454, i16 1910, i16 1138, i16 1139, i16 1140, i16 1141, i16 1144, i16 1145, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 118, i16 1948, i16 729, i16 1949, i16 1950, i16 764, i16 809, i16 821, i16 836, i16 1794, i16 883, i16 888, i16 1951, i16 918, i16 1952, i16 941, i16 1654, i16 1656, i16 1658, i16 1660, i16 1662, i16 1664, i16 1666, i16 1668, i16 1670, i16 1672, i16 1674, i16 1676, i16 1678, i16 1680, i16 1682, i16 1684, i16 1655, i16 1657, i16 1659, i16 1661, i16 1663, i16 1665, i16 1667, i16 1669, i16 1671, i16 1673, i16 1675, i16 1677, i16 1679, i16 1681, i16 1683, i16 1685, i16 1911, i16 455, i16 456, i16 1912, i16 457, i16 458, i16 459, i16 1913, i16 1914, i16 460, i16 461, i16 1915, i16 462, i16 463, i16 464, i16 1916, i16 890, i16 891, i16 896, i16 897, i16 898, i16 899, i16 909, i16 910, i16 911, i16 912, i16 915, i16 916, i16 913, i16 914, i16 920, i16 921, i16 1403, i16 1406, i16 1409, i16 1412, i16 1417, i16 1422, i16 1427, i16 1432, i16 1437, i16 1442, i16 1447, i16 0, i16 0, i16 0, i16 0, i16 0, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 1411, i16 1413, i16 1414, i16 1415, i16 1416, i16 1418, i16 1419, i16 1420, i16 1421, i16 1423, i16 1424, i16 1425, i16 1426, i16 1428, i16 1429, i16 1430, i16 135, i16 334, i16 0, i16 0, i16 137, i16 139, i16 0, i16 0, i16 0, i16 0, i16 335, i16 336, i16 0, i16 0, i16 337, i16 338, i16 908, i16 1804, i16 1805, i16 1808, i16 1809, i16 1812, i16 1813, i16 929, i16 930, i16 939, i16 1814, i16 1815, i16 1826, i16 1827, i16 948, i16 949, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 655, i16 656, i16 657, i16 0, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 144, i16 132, i16 1750, i16 1751, i16 91, i16 145, i16 115, i16 96, i16 97, i16 1749, i16 943, i16 105, i16 1734, i16 1736, i16 1738, i16 89, i16 1686, i16 1688, i16 1690, i16 1692, i16 1537, i16 1546, i16 1559, i16 0, i16 0, i16 0, i16 0, i16 577, i16 578, i16 579, i16 580, i16 0, i16 1175, i16 1147, i16 1151, i16 1153, i16 1155, i16 1157, i16 1161, i16 1163, i16 1167, i16 1169, i16 1176, i16 1178, i16 1180, i16 1182, i16 1184, i16 1186, i16 1431, i16 1433, i16 1434, i16 1435, i16 1436, i16 1438, i16 1439, i16 1440, i16 1441, i16 1443, i16 1444, i16 1445, i16 1446, i16 1448, i16 1449, i16 1450, i16 1687, i16 1689, i16 1691, i16 1693, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 573, i16 574, i16 575, i16 576, i16 0, i16 922, i16 923, i16 924, i16 925, i16 931, i16 932, i16 933, i16 934, i16 937, i16 938, i16 935, i16 936, i16 968, i16 969, i16 970, i16 971, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 0, i16 0, i16 0, i16 0, i16 160, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1697, i16 86, i16 101, i16 127, i16 121, i16 128, i16 126, i16 98, i16 106, i16 108, i16 124, i16 130, i16 83, i16 1698, i16 90, i16 1699, i16 162, i16 163, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 164, i16 165, i16 166, i16 1190, i16 1192, i16 0, i16 1194, i16 1197, i16 1199, i16 1206, i16 1208, i16 1210, i16 1212, i16 1171, i16 1201, i16 1150, i16 1160, i16 1166, i16 1173, i16 1191, i16 1193, i16 1196, i16 1195, i16 1198, i16 1202, i16 1207, i16 1209, i16 1211, i16 1214, i16 1174, i16 1204, i16 1189, i16 1203, i16 1215, i16 0, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 1717, i16 1718, i16 1451, i16 1453, i16 1454, i16 1455, i16 1456, i16 1458, i16 1459, i16 1460, i16 1461, i16 1463, i16 1464, i16 1465, i16 1466, i16 1468, i16 1469, i16 1470, i16 428, i16 1890, i16 429, i16 1891, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 1892, i16 1893, i16 1894, i16 684, i16 1758, i16 702, i16 722, i16 1764, i16 1760, i16 1770, i16 1780, i16 766, i16 1784, i16 774, i16 788, i16 854, i16 1797, i16 862, i16 866, i16 685, i16 1759, i16 703, i16 723, i16 1765, i16 1761, i16 1771, i16 1781, i16 767, i16 1785, i16 775, i16 789, i16 855, i16 1798, i16 863, i16 867, i16 686, i16 687, i16 700, i16 701, i16 768, i16 769, i16 772, i16 773, i16 856, i16 857, i16 860, i16 861, i16 946, i16 947, i16 950, i16 951, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 798, i16 799, i16 790, i16 791, i16 792, i16 793, i16 776, i16 777, i16 1205, i16 1149, i16 1152, i16 1154, i16 1156, i16 1159, i16 1162, i16 1165, i16 1168, i16 1172, i16 1177, i16 1179, i16 1181, i16 1183, i16 1185, i16 1188, i16 182, i16 0, i16 0, i16 183, i16 184, i16 185, i16 186, i16 187, i16 99, i16 100, i16 188, i16 189, i16 102, i16 103, i16 190, i16 191, i16 439, i16 1895, i16 1896, i16 1897, i16 440, i16 1898, i16 1899, i16 1900, i16 441, i16 1901, i16 1902, i16 1903, i16 442, i16 1904, i16 443, i16 444, i16 1719, i16 1720, i16 1721, i16 1722, i16 1723, i16 1724, i16 1725, i16 1726, i16 1727, i16 1728, i16 1729, i16 1730, i16 475, i16 0, i16 0, i16 0, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 984, i16 985, i16 986, i16 987, i16 988, i16 989, i16 1471, i16 1473, i16 1474, i16 1475, i16 1476, i16 1478, i16 1479, i16 1480, i16 1481, i16 1483, i16 1484, i16 1485, i16 1486, i16 1488, i16 1489, i16 1491, i16 192, i16 193, i16 1702, i16 0, i16 0, i16 194, i16 195, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1216, i16 1218, i16 1220, i16 1222, i16 1228, i16 1232, i16 1238, i16 1240, i16 1242, i16 1250, i16 1252, i16 1256, i16 1260, i16 1262, i16 1266, i16 1268, i16 1217, i16 1219, i16 1221, i16 1223, i16 1229, i16 1233, i16 1239, i16 1241, i16 1243, i16 1251, i16 1253, i16 1257, i16 1261, i16 1263, i16 1267, i16 1269, i16 1731, i16 1740, i16 1741, i16 1742, i16 1743, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 85, i16 84, i16 136, i16 138, i16 140, i16 88, i16 196, i16 0, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 0, i16 208, i16 0, i16 1732, i16 0, i16 0, i16 0, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 131, i16 129, i16 209, i16 107, i16 109, i16 0, i16 1226, i16 1227, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 716, i16 717, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 746, i16 747, i16 753, i16 754, i16 755, i16 756, i16 761, i16 762, i16 465, i16 466, i16 1917, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 1918, i16 0, i16 0, i16 0, i16 0, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 0, i16 724, i16 725, i16 720, i16 721, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 690, i16 691, i16 980, i16 981, i16 978, i16 979, i16 997, i16 998, i16 999, i16 1000, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1492, i16 1494, i16 1495, i16 1496, i16 1497, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 0, i16 0, i16 0, i16 726, i16 727, i16 1774, i16 1775, i16 831, i16 832, i16 827, i16 828, i16 892, i16 893, i16 974, i16 975, i16 976, i16 977, i16 0, i16 0, i16 982, i16 983, i16 1921, i16 1922, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1102, i16 478, i16 0, i16 0, i16 0, i16 479, i16 0, i16 0, i16 0, i16 480, i16 0, i16 0, i16 0, i16 481, i16 0, i16 0, i16 0, i16 990, i16 991, i16 992, i16 993, i16 1092, i16 1093, i16 1084, i16 1085, i16 1104, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1503, i16 1504, i16 1506, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 482, i16 483, i16 484, i16 485, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 995, i16 1002, i16 1005, i16 1024, i16 1043, i16 1060, i16 1850, i16 1856, i16 1117, i16 1870, i16 1875, i16 110, i16 125, i16 111, i16 93, i16 80, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 996, i16 1003, i16 1006, i16 1025, i16 1044, i16 1061, i16 1851, i16 1857, i16 1118, i16 1871, i16 1876, i16 112, i16 142, i16 113, i16 95, i16 622, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 494, i16 495, i16 496, i16 0, i16 497, i16 498, i16 0, i16 0, i16 1768, i16 1769, i16 688, i16 689, i16 1766, i16 1767, i16 1776, i16 1777, i16 740, i16 741, i16 744, i16 745, i16 1778, i16 1779, i16 751, i16 752, i16 235, i16 0, i16 236, i16 0, i16 0, i16 0, i16 237, i16 0, i16 0, i16 0, i16 0, i16 238, i16 0, i16 0, i16 0, i16 0, i16 1009, i16 1010, i16 1011, i16 1012, i16 1064, i16 1065, i16 1068, i16 1069, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 757, i16 758, i16 759, i16 760, i16 804, i16 805, i16 802, i16 803, i16 806, i16 807, i16 794, i16 795, i16 800, i16 801, i16 813, i16 814, i16 1270, i16 1272, i16 1274, i16 1278, i16 1282, i16 1284, i16 1286, i16 1290, i16 1294, i16 1296, i16 1299, i16 1300, i16 1303, i16 1304, i16 1306, i16 1308, i16 1782, i16 1783, i16 1788, i16 1789, i16 770, i16 771, i16 796, i16 797, i16 1786, i16 1787, i16 786, i16 787, i16 825, i16 826, i16 1792, i16 1793, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 1271, i16 1273, i16 1275, i16 1279, i16 1283, i16 1285, i16 1287, i16 1291, i16 1295, i16 1297, i16 1298, i16 1301, i16 1302, i16 1305, i16 1307, i16 1309, i16 9, i16 11, i16 8, i16 5, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12, i16 7, i16 13, i16 3, i16 6, i16 0, i16 0, i16 0, i16 0, i16 14, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 181, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8, i16 38, i16 76, i16 84, i16 94, i16 104, i16 117, i16 126, i16 135, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 36, i16 0, i16 170, i16 0, i16 171, i16 176, i16 66, i16 74, i16 0, i16 0, i16 0, i16 0, i16 13, i16 0, i16 81, i16 86, i16 49, i16 50, i16 112, i16 82, i16 96, i16 51, i16 118, i16 120, i16 123, i16 40, i16 54, i16 134, i16 41, i16 0, i16 0, i16 11, i16 165, i16 0, i16 0, i16 0, i16 0, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 46, i16 18, i16 0, i16 0, i16 9, i16 12, i16 47, i16 90, i16 67, i16 138, i16 141, i16 71, i16 0, i16 0, i16 26, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 22, i16 10, i16 0, i16 14, i16 142, i16 0, i16 145, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 34, i16 150, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 39, i16 169, i16 98, i16 100, i16 29, i16 0, i16 0, i16 147, i16 110, i16 0, i16 37, i16 0, i16 0, i16 0, i16 0, i16 0, i16 32, i16 21, i16 65, i16 0, i16 0, i16 33, i16 122, i16 129, i16 136, i16 57, i16 17, i16 0, i16 139, i16 140, i16 0, i16 0, i16 55, i16 127, i16 149, i16 128, i16 151, i16 56, i16 44, i16 45, i16 172, i16 131, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 173, i16 179, i16 0, i16 61, i16 175, i16 99, i16 146, i16 180, i16 167, i16 160, i16 168, i16 63, i16 73, i16 97, i16 83, i16 106, i16 52, i16 108, i16 53, i16 132, i16 154, i16 68, i16 93, i16 116, i16 148, i16 70, i16 95, i16 20, i16 62, i16 158, i16 107, i16 7, i16 89, i16 133, i16 25, i16 80, i16 85, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 109, i16 174, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 19, i16 16, i16 0, i16 0, i16 48, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 27, i16 28, i16 103, i16 114, i16 121, i16 115, i16 91, i16 0, i16 0, i16 125, i16 155, i16 72, i16 101, i16 124, i16 157, i16 64, i16 79, i16 119, i16 137, i16 130, i16 111, i16 161, i16 143, i16 163, i16 113, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 92, i16 5, i16 6, i16 3, i16 144, i16 58, i16 152, i16 30, i16 31, i16 35, i16 78, i16 0, i16 42, i16 15, i16 23, i16 0, i16 24, i16 0, i16 4, i16 0, i16 43, i16 69, i16 166, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 153, i16 156, i16 159, i16 0, i16 60, i16 164, i16 178, i16 77, i16 88, i16 105, i16 59, i16 162, i16 177, i16 75, i16 87, i16 102, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 831, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1251, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 842, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 979, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 837, i16 838, i16 839, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 840, i16 0, i16 841, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 121, i16 122, i16 311, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1697, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1539, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1183, i16 0, i16 1184, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1240, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1540, i16 0, i16 0, i16 0, i16 1541, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1058, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1185, i16 1186, i16 1187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 975, i16 976, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 816, i16 811, i16 819, i16 818, i16 800, i16 821, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 929, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1253, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 815, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 167, i16 168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 771, i16 772, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 877, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1179, i16 1180, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1181, i16 1182, i16 0, i16 0, i16 0, i16 0, i16 0, i16 977, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 978, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 260, i16 261, i16 0, i16 0, i16 0, i16 0, i16 125, i16 126, i16 148, i16 149, i16 450, i16 451, i16 0, i16 0, i16 0, i16 0, i16 1563, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 823, i16 824, i16 0, i16 0, i16 0, i16 0, i16 825, i16 0, i16 0, i16 0, i16 826, i16 0, i16 0, i16 0, i16 0, i16 0, i16 827, i16 828, i16 1340, i16 829, i16 1350, i16 1356, i16 1362, i16 0, i16 1379, i16 0, i16 1392, i16 1405, i16 0, i16 0, i16 0, i16 0, i16 946, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 961, i16 962, i16 963, i16 964, i16 0, i16 0, i16 0, i16 0, i16 803, i16 0, i16 965, i16 0, i16 0, i16 0, i16 0, i16 804, i16 0, i16 805, i16 0, i16 0, i16 806, i16 0, i16 0, i16 0, i16 802, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 808, i16 0, i16 876, i16 0, i16 0, i16 0, i16 809, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 878, i16 879, i16 880, i16 881, i16 882, i16 883, i16 884, i16 885, i16 682, i16 684, i16 686, i16 688, i16 0, i16 0, i16 0, i16 0, i16 1205, i16 0, i16 0, i16 0, i16 1206, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 966, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 989, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 767, i16 768, i16 0, i16 0, i16 769, i16 0, i16 770, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1545, i16 0, i16 1547, i16 0, i16 0, i16 0, i16 1550, i16 0, i16 0, i16 0, i16 0, i16 1554, i16 1555, i16 1558, i16 0, i16 0, i16 79, i16 80, i16 81, i16 82, i16 83, i16 0, i16 0, i16 84, i16 85, i16 0, i16 0, i16 0, i16 843, i16 844, i16 0, i16 0, i16 1158, i16 1159, i16 0, i16 0, i16 0, i16 1160, i16 0, i16 0, i16 1161, i16 0, i16 1162, i16 1163, i16 0, i16 0, i16 0, i16 0, i16 1176, i16 1177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1178, i16 0, i16 0, i16 971, i16 972, i16 0, i16 0, i16 973, i16 974, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 980, i16 0, i16 0, i16 0, i16 0, i16 0, i16 981, i16 982, i16 983, i16 984, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1502, i16 1503, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1504, i16 1505, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1506, i16 1507, i16 1508, i16 1509, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1252, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1543, i16 1544, i16 1546, i16 1548, i16 1549, i16 1551, i16 1553, i16 1557, i16 1564, i16 1567, i16 1572, i16 1577, i16 1582, i16 1587, i16 1592, i16 0, i16 1317, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1092, i16 1093, i16 0, i16 1095, i16 0, i16 1097, i16 1098, i16 0, i16 1100, i16 1101, i16 0, i16 1103, i16 1104, i16 1105, i16 0, i16 0, i16 1108, i16 1109, i16 0, i16 1111, i16 1112, i16 1113, i16 0, i16 0, i16 1116, i16 1117, i16 0, i16 1119, i16 1120, i16 1121, i16 0, i16 0, i16 1135, i16 1136, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 391, i16 412, i16 410, i16 420, i16 440, i16 434, i16 791, i16 448, i16 556, i16 554, i16 564, i16 570, i16 646, i16 550, i16 531, i16 0, i16 392, i16 413, i16 411, i16 421, i16 441, i16 435, i16 787, i16 449, i16 557, i16 555, i16 565, i16 571, i16 647, i16 551, i16 653, i16 0, i16 1164, i16 0, i16 0, i16 1165, i16 0, i16 1166, i16 1167, i16 0, i16 0, i16 1168, i16 1169, i16 0, i16 0, i16 1170, i16 1171, i16 0, i16 1426, i16 1422, i16 1416, i16 1428, i16 1480, i16 1436, i16 1438, i16 1440, i16 1450, i16 1456, i16 1468, i16 1446, i16 0, i16 1472, i16 1484, i16 0, i16 1427, i16 1423, i16 1417, i16 1429, i16 1481, i16 1437, i16 1439, i16 1441, i16 1451, i16 1457, i16 1469, i16 1447, i16 0, i16 1473, i16 1485, i16 0, i16 921, i16 0, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 943, i16 735, i16 944, i16 945, i16 0, i16 0, i16 793, i16 947, i16 847, i16 788, i16 0, i16 0, i16 949, i16 950, i16 951, i16 0, i16 1717, i16 1719, i16 1721, i16 1723, i16 1725, i16 1727, i16 1730, i16 1732, i16 1734, i16 1736, i16 1739, i16 1741, i16 1743, i16 1745, i16 1747, i16 0, i16 1718, i16 1720, i16 1722, i16 1724, i16 1726, i16 1728, i16 1731, i16 1733, i16 1735, i16 1737, i16 1740, i16 1742, i16 1744, i16 1746, i16 1748, i16 0, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 707, i16 710, i16 708, i16 711, i16 709, i16 1263, i16 1264, i16 0, i16 248, i16 249, i16 0, i16 0, i16 0, i16 0, i16 0, i16 345, i16 346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 517, i16 518, i16 519, i16 520, i16 513, i16 514, i16 527, i16 528, i16 521, i16 522, i16 537, i16 538, i16 539, i16 540, i16 547, i16 548, i16 773, i16 0, i16 774, i16 0, i16 0, i16 0, i16 775, i16 0, i16 0, i16 0, i16 0, i16 776, i16 0, i16 0, i16 0, i16 0, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 1037, i16 1038, i16 1039, i16 1040, i16 1041, i16 1042, i16 1043, i16 1044, i16 1045, i16 1542, i16 1644, i16 1649, i16 1654, i16 1659, i16 1664, i16 1669, i16 1674, i16 1679, i16 1682, i16 1685, i16 1690, i16 1691, i16 1692, i16 1693, i16 1694, i16 268, i16 269, i16 272, i16 273, i16 281, i16 282, i16 289, i16 290, i16 319, i16 320, i16 329, i16 330, i16 305, i16 306, i16 327, i16 328, i16 780, i16 0, i16 985, i16 0, i16 0, i16 986, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 525, i16 526, i16 543, i16 544, i16 535, i16 536, i16 541, i16 542, i16 584, i16 585, i16 594, i16 595, i16 560, i16 561, i16 568, i16 569, i16 1552, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1562, i16 0, i16 274, i16 275, i16 285, i16 286, i16 287, i16 288, i16 283, i16 284, i16 291, i16 292, i16 279, i16 280, i16 321, i16 322, i16 315, i16 316, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1046, i16 1047, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 0, i16 0, i16 0, i16 0, i16 1814, i16 1816, i16 1818, i16 1820, i16 1822, i16 1824, i16 1826, i16 1828, i16 1830, i16 1832, i16 1834, i16 1836, i16 1838, i16 1840, i16 1842, i16 1844, i16 1559, i16 1560, i16 1561, i16 1565, i16 1566, i16 1568, i16 1569, i16 1570, i16 1571, i16 1573, i16 1574, i16 1575, i16 1576, i16 1578, i16 1579, i16 1580, i16 1815, i16 1817, i16 1819, i16 1821, i16 1823, i16 1825, i16 1827, i16 1829, i16 1831, i16 1833, i16 1835, i16 1837, i16 1839, i16 1841, i16 1843, i16 1845, i16 795, i16 784, i16 0, i16 0, i16 796, i16 797, i16 0, i16 0, i16 0, i16 0, i16 967, i16 968, i16 0, i16 0, i16 969, i16 970, i16 545, i16 546, i16 598, i16 599, i16 588, i16 589, i16 600, i16 601, i16 586, i16 587, i16 596, i16 597, i16 617, i16 618, i16 619, i16 620, i16 1314, i16 1315, i16 1316, i16 0, i16 1318, i16 801, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1059, i16 0, i16 1061, i16 0, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1070, i16 1071, i16 0, i16 0, i16 0, i16 1060, i16 1062, i16 1072, i16 1073, i16 1074, i16 1076, i16 1077, i16 1078, i16 1080, i16 1081, i16 1082, i16 1084, i16 1085, i16 1086, i16 1088, i16 1091, i16 807, i16 794, i16 699, i16 700, i16 814, i16 766, i16 762, i16 822, i16 817, i16 698, i16 409, i16 786, i16 683, i16 685, i16 687, i16 716, i16 1581, i16 1583, i16 1584, i16 1585, i16 1586, i16 1588, i16 1589, i16 1590, i16 1591, i16 1593, i16 1594, i16 1596, i16 1597, i16 1599, i16 1600, i16 1602, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1556, i16 1335, i16 1336, i16 1337, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1075, i16 0, i16 0, i16 0, i16 1079, i16 0, i16 0, i16 0, i16 1083, i16 0, i16 0, i16 0, i16 1087, i16 0, i16 1089, i16 1090, i16 1846, i16 1848, i16 1850, i16 1852, i16 1854, i16 1856, i16 1858, i16 1860, i16 1862, i16 1864, i16 1866, i16 1868, i16 1870, i16 1872, i16 1874, i16 1876, i16 1847, i16 1849, i16 1851, i16 1853, i16 1855, i16 1857, i16 1859, i16 1861, i16 1863, i16 1865, i16 1867, i16 1869, i16 1871, i16 1873, i16 1875, i16 1877, i16 312, i16 432, i16 433, i16 566, i16 567, i16 572, i16 573, i16 574, i16 575, i16 578, i16 579, i16 576, i16 577, i16 0, i16 131, i16 132, i16 1595, i16 1598, i16 1601, i16 1604, i16 1609, i16 1614, i16 1619, i16 1624, i16 1629, i16 1634, i16 1639, i16 0, i16 0, i16 0, i16 0, i16 0, i16 830, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 832, i16 833, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 834, i16 835, i16 836, i16 323, i16 324, i16 332, i16 333, i16 336, i16 337, i16 349, i16 350, i16 354, i16 357, i16 358, i16 367, i16 368, i16 359, i16 360, i16 361, i16 1603, i16 1605, i16 1606, i16 1607, i16 1608, i16 1610, i16 1611, i16 1612, i16 1613, i16 1615, i16 1616, i16 1617, i16 1618, i16 1620, i16 1621, i16 1622, i16 580, i16 581, i16 592, i16 593, i16 628, i16 629, i16 650, i16 651, i16 652, i16 665, i16 666, i16 669, i16 670, i16 678, i16 679, i16 530, i16 1094, i16 1096, i16 1099, i16 1102, i16 1106, i16 1107, i16 1110, i16 1114, i16 1115, i16 1118, i16 1122, i16 1125, i16 1134, i16 0, i16 0, i16 0, i16 77, i16 718, i16 764, i16 756, i16 810, i16 765, i16 739, i16 757, i16 820, i16 761, i16 88, i16 785, i16 781, i16 733, i16 760, i16 812, i16 845, i16 846, i16 948, i16 0, i16 0, i16 848, i16 849, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 78, i16 717, i16 720, i16 798, i16 759, i16 758, i16 755, i16 721, i16 743, i16 745, i16 792, i16 789, i16 713, i16 731, i16 712, i16 741, i16 850, i16 0, i16 851, i16 852, i16 853, i16 854, i16 855, i16 856, i16 857, i16 750, i16 752, i16 858, i16 859, i16 0, i16 813, i16 0, i16 341, i16 342, i16 347, i16 348, i16 351, i16 352, i16 363, i16 364, i16 369, i16 370, i16 373, i16 374, i16 371, i16 372, i16 378, i16 379, i16 1878, i16 1880, i16 1882, i16 1884, i16 1729, i16 1738, i16 1751, i16 0, i16 0, i16 0, i16 0, i16 1236, i16 1237, i16 1238, i16 1239, i16 0, i16 1367, i16 1339, i16 1343, i16 1345, i16 1347, i16 1349, i16 1353, i16 1355, i16 1359, i16 1361, i16 1368, i16 1370, i16 1372, i16 1374, i16 1376, i16 1378, i16 1623, i16 1625, i16 1626, i16 1627, i16 1628, i16 1630, i16 1631, i16 1632, i16 1633, i16 1635, i16 1636, i16 1637, i16 1638, i16 1640, i16 1641, i16 1642, i16 1879, i16 1881, i16 1883, i16 1885, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1232, i16 1233, i16 1234, i16 1235, i16 0, i16 91, i16 89, i16 109, i16 135, i16 129, i16 123, i16 146, i16 171, i16 199, i16 197, i16 207, i16 221, i16 301, i16 299, i16 309, i16 313, i16 603, i16 0, i16 0, i16 0, i16 0, i16 673, i16 674, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 92, i16 90, i16 110, i16 136, i16 130, i16 124, i16 147, i16 172, i16 200, i16 198, i16 208, i16 222, i16 302, i16 300, i16 310, i16 314, i16 93, i16 94, i16 107, i16 108, i16 201, i16 202, i16 205, i16 206, i16 303, i16 304, i16 307, i16 308, i16 414, i16 415, i16 418, i16 419, i16 861, i16 862, i16 863, i16 864, i16 865, i16 866, i16 867, i16 868, i16 869, i16 870, i16 871, i16 872, i16 873, i16 874, i16 875, i16 0, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 231, i16 232, i16 223, i16 224, i16 225, i16 226, i16 209, i16 210, i16 1123, i16 1124, i16 0, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1132, i16 1133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 612, i16 613, i16 648, i16 649, i16 660, i16 661, i16 654, i16 655, i16 656, i16 657, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1382, i16 1384, i16 0, i16 1386, i16 1389, i16 1391, i16 1398, i16 1400, i16 1402, i16 1404, i16 1363, i16 1393, i16 1342, i16 1352, i16 1358, i16 1365, i16 1383, i16 1385, i16 1388, i16 1387, i16 1390, i16 1394, i16 1399, i16 1401, i16 1403, i16 1406, i16 1366, i16 1396, i16 1381, i16 1395, i16 1407, i16 0, i16 362, i16 365, i16 366, i16 387, i16 388, i16 397, i16 398, i16 389, i16 390, i16 403, i16 405, i16 406, i16 456, i16 457, i16 416, i16 417, i16 1643, i16 1645, i16 1646, i16 1647, i16 1648, i16 1650, i16 1651, i16 1652, i16 1653, i16 1655, i16 1656, i16 1657, i16 1658, i16 1660, i16 1661, i16 1662, i16 1137, i16 0, i16 0, i16 0, i16 1138, i16 0, i16 0, i16 0, i16 1139, i16 0, i16 0, i16 0, i16 1140, i16 0, i16 0, i16 0, i16 626, i16 627, i16 624, i16 625, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 641, i16 642, i16 639, i16 640, i16 658, i16 659, i16 1141, i16 1142, i16 1143, i16 1144, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1397, i16 1341, i16 1344, i16 1346, i16 1348, i16 1351, i16 1354, i16 1357, i16 1360, i16 1364, i16 1369, i16 1371, i16 1373, i16 1375, i16 1377, i16 1380, i16 886, i16 887, i16 888, i16 889, i16 890, i16 891, i16 892, i16 893, i16 894, i16 895, i16 896, i16 897, i16 898, i16 899, i16 900, i16 901, i16 1145, i16 1146, i16 1147, i16 1148, i16 1149, i16 1150, i16 1151, i16 1152, i16 1153, i16 1154, i16 1155, i16 0, i16 1156, i16 1157, i16 0, i16 0, i16 380, i16 381, i16 382, i16 383, i16 393, i16 394, i16 395, i16 396, i16 401, i16 402, i16 399, i16 400, i16 442, i16 443, i16 444, i16 445, i16 127, i16 128, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 173, i16 174, i16 182, i16 183, i16 184, i16 185, i16 192, i16 193, i16 1663, i16 1665, i16 1666, i16 1667, i16 1668, i16 1670, i16 1671, i16 1672, i16 1673, i16 1675, i16 1676, i16 1677, i16 1678, i16 1680, i16 1681, i16 1683, i16 1408, i16 1410, i16 1412, i16 1414, i16 1420, i16 1424, i16 1430, i16 1432, i16 1434, i16 1442, i16 1444, i16 1448, i16 1452, i16 1454, i16 1458, i16 1460, i16 1409, i16 1411, i16 1413, i16 1415, i16 1421, i16 1425, i16 1431, i16 1433, i16 1435, i16 1443, i16 1445, i16 1449, i16 1453, i16 1455, i16 1459, i16 1461, i16 902, i16 903, i16 904, i16 905, i16 906, i16 907, i16 908, i16 909, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 137, i16 138, i16 133, i16 134, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 97, i16 98, i16 1418, i16 1419, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 141, i16 142, i16 95, i16 96, i16 139, i16 140, i16 163, i16 164, i16 165, i16 166, i16 169, i16 170, i16 175, i16 176, i16 180, i16 181, i16 143, i16 144, i16 150, i16 151, i16 270, i16 271, i16 266, i16 267, i16 343, i16 344, i16 452, i16 453, i16 454, i16 455, i16 0, i16 0, i16 1172, i16 1173, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1174, i16 1175, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1684, i16 1686, i16 1687, i16 1688, i16 1689, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 0, i16 0, i16 0, i16 918, i16 919, i16 920, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 667, i16 668, i16 671, i16 672, i16 675, i16 676, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1695, i16 1696, i16 1698, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 930, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 931, i16 0, i16 932, i16 0, i16 933, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1699, i16 1700, i16 1701, i16 1702, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1188, i16 0, i16 1189, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 934, i16 0, i16 935, i16 936, i16 0, i16 937, i16 938, i16 939, i16 940, i16 0, i16 0, i16 941, i16 0, i16 0, i16 0, i16 942, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 0, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 680, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 719, i16 714, i16 749, i16 778, i16 751, i16 715, i16 681, i16 0, i16 0, i16 0, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 790, i16 732, i16 860, i16 744, i16 746, i16 0, i16 436, i16 437, i16 475, i16 476, i16 489, i16 490, i16 499, i16 500, i16 505, i16 506, i16 511, i16 512, i16 515, i16 516, i16 523, i16 524, i16 1462, i16 1464, i16 1466, i16 1470, i16 1474, i16 1476, i16 1478, i16 1482, i16 1486, i16 1488, i16 1491, i16 1492, i16 1495, i16 1496, i16 1498, i16 1500, i16 1207, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1463, i16 1465, i16 1467, i16 1471, i16 1475, i16 1477, i16 1479, i16 1483, i16 1487, i16 1489, i16 1490, i16 1493, i16 1494, i16 1497, i16 1499, i16 1501, i16 952, i16 0, i16 0, i16 0, i16 0, i16 953, i16 0, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 0, i16 960, i16 0, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 0, i16 0, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 186, i16 187, i16 237, i16 238, i16 203, i16 204, i16 229, i16 230, i16 235, i16 236, i16 219, i16 220, i16 264, i16 265, i16 262, i16 263, i16 188, i16 189, i16 190, i16 191, i16 241, i16 242, i16 239, i16 240, i16 243, i16 244, i16 227, i16 228, i16 233, i16 234, i16 250, i16 251, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 0, i16 0, i16 0, i16 0, i16 1230, i16 0, i16 0, i16 0, i16 460, i16 461, i16 458, i16 459, i16 479, i16 480, i16 481, i16 482, i16 495, i16 496, i16 497, i16 498, i16 501, i16 502, i16 503, i16 504, i16 462, i16 463, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 602, i16 1231, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 722, i16 87, i16 153, i16 1888, i16 179, i16 196, i16 247, i16 259, i16 278, i16 298, i16 335, i16 340, i16 356, i16 377, i16 386, i16 408, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 317, i16 318, i16 325, i16 326, i16 446, i16 447, i16 438, i16 439, i16 1749, i16 1752, i16 1754, i16 1756, i16 1758, i16 1760, i16 1762, i16 1764, i16 1766, i16 1768, i16 1770, i16 1772, i16 1774, i16 1776, i16 1778, i16 1780, i16 470, i16 471, i16 472, i16 473, i16 590, i16 591, i16 582, i16 583, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 1750, i16 1753, i16 1755, i16 1757, i16 1759, i16 1761, i16 1763, i16 1765, i16 1767, i16 1769, i16 1771, i16 1773, i16 1775, i16 1777, i16 1779, i16 1781, i16 1241, i16 1242, i16 1243, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 987, i16 988, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 477, i16 484, i16 487, i16 508, i16 533, i16 552, i16 615, i16 622, i16 637, i16 644, i16 663, i16 747, i16 742, i16 748, i16 779, i16 777, i16 478, i16 485, i16 488, i16 509, i16 534, i16 553, i16 616, i16 623, i16 638, i16 645, i16 664, i16 753, i16 740, i16 754, i16 799, i16 1281, i16 734, i16 0, i16 0, i16 736, i16 737, i16 738, i16 782, i16 783, i16 729, i16 730, i16 723, i16 728, i16 726, i16 727, i16 724, i16 725, i16 990, i16 991, i16 992, i16 993, i16 0, i16 0, i16 994, i16 995, i16 996, i16 997, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 998, i16 999, i16 1000, i16 1001, i16 1002, i16 1003, i16 1004, i16 1005, i16 1006, i16 1007, i16 1008, i16 1009, i16 1010, i16 1011, i16 1012, i16 1013, i16 1510, i16 1511, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 491, i16 492, i16 493, i16 494, i16 558, i16 559, i16 562, i16 563, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1265, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1014, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1023, i16 1024, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1782, i16 1784, i16 1786, i16 1788, i16 1790, i16 1792, i16 1794, i16 1796, i16 1798, i16 1800, i16 1802, i16 1804, i16 1806, i16 1808, i16 1810, i16 1812, i16 1783, i16 1785, i16 1787, i16 1789, i16 1791, i16 1793, i16 1795, i16 1797, i16 1799, i16 1801, i16 1803, i16 1805, i16 1807, i16 1809, i16 1811, i16 1813, i16 1528, i16 1529, i16 1530, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 0, i16 0, i16 0, i16 0, i16 0, i16 763, i16 86, i16 152, i16 1887, i16 178, i16 195, i16 246, i16 258, i16 277, i16 297, i16 334, i16 339, i16 355, i16 376, i16 385, i16 407, i16 253, i16 254, i16 255, i16 256, i16 257, i16 532, i16 510, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 3, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 5, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 134, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 136, i16 0, i16 0, i16 0, i16 137, i16 0, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 1, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 12, i16 14, i16 16, i16 18, i16 20, i16 22, i16 24, i16 26, i16 28, i16 30, i16 32, i16 34, i16 36, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 13, i16 15, i16 17, i16 19, i16 21, i16 23, i16 25, i16 27, i16 29, i16 31, i16 33, i16 35, i16 37, i16 39, i16 41, i16 43, i16 45, i16 47, i16 49, i16 51, i16 53, i16 55, i16 57, i16 59, i16 61, i16 63, i16 92, i16 93, i16 94, i16 95, i16 202, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 96, i16 0, i16 0, i16 0, i16 133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 135, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 203, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 5, i16 6, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 4, i16 3, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 126, i16 132, i16 138, i16 144, i16 150, i16 156, i16 162, i16 168, i16 174, i16 180, i16 186, i16 192, i16 198, i16 204, i16 210, i16 216, i16 222, i16 228, i16 234, i16 240, i16 246, i16 252, i16 258, i16 264, i16 270, i16 276, i16 282, i16 288, i16 294, i16 300, i16 306, i16 7, i16 13, i16 23, i16 39, i16 32, i16 40, i16 38, i16 22, i16 24, i16 29, i16 36, i16 41, i16 10, i16 9, i16 16, i16 15, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 12, i16 11, i16 42, i16 43, i16 44, i16 14, i16 19, i16 75, i16 77, i16 79, i16 81, i16 83, i16 85, i16 87, i16 89, i16 91, i16 93, i16 95, i16 97, i16 99, i16 101, i16 103, i16 105, i16 107, i16 109, i16 111, i16 113, i16 115, i16 117, i16 119, i16 121, i16 123, i16 125, i16 26, i16 45, i16 27, i16 21, i16 0, i16 30, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 25, i16 37, i16 28, i16 20, i16 8, i16 312, i16 318, i16 324, i16 330, i16 336, i16 337, i16 343, i16 344, i16 350, i16 356, i16 362, i16 368, i16 374, i16 380, i16 386, i16 17, i16 393, i16 394, i16 395, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 47, i16 0, i16 0, i16 0, i16 0, i16 31, i16 410, i16 411, i16 412, i16 413, i16 414, i16 396, i16 18, i16 49, i16 50, i16 51, i16 52, i16 53, i16 48, i16 392, i16 46, i16 33, i16 55, i16 57, i16 59, i16 61, i16 63, i16 65, i16 67, i16 69, i16 71, i16 73, i16 34, i16 35, i16 0, i16 0, i16 0, i16 0, i16 32, i16 3, i16 45, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7, i16 37, i16 2, i16 12, i16 0, i16 0, i16 0, i16 0, i16 27, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 25, i16 33, i16 28, i16 44, i16 11, i16 14, i16 29, i16 40, i16 23, i16 9, i16 20, i16 10, i16 38, i16 22, i16 42, i16 31, i16 49, i16 36, i16 43, i16 16, i16 15, i16 26, i16 21, i16 35, i16 17, i16 18, i16 13, i16 47, i16 24, i16 6, i16 34, i16 4, i16 39, i16 19, i16 8, i16 41, i16 5, i16 48, i16 50, i16 46, i16 30, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 266, i16 373, i16 661, i16 236, i16 595, i16 0, i16 0, i16 94, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 615, i16 647, i16 136, i16 0, i16 0, i16 390, i16 36, i16 15, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 31, i16 0, i16 0, i16 0, i16 0, i16 0, i16 60, i16 455, i16 499, i16 0, i16 0, i16 4, i16 259, i16 192, i16 133, i16 445, i16 669, i16 550, i16 172, i16 0, i16 0, i16 62, i16 153, i16 389, i16 409, i16 145, i16 1, i16 180, i16 570, i16 258, i16 261, i16 414, i16 610, i16 140, i16 566, i16 280, i16 150, i16 468, i16 333, i16 655, i16 176, i16 402, i16 260, i16 173, i16 607, i16 281, i16 293, i16 306, i16 319, i16 267, i16 168, i16 368, i16 382, i16 456, i16 249, i16 437, i16 500, i16 95, i16 14, i16 465, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 68, i16 129, i16 0, i16 0, i16 12, i16 0, i16 9, i16 0, i16 533, i16 84, i16 587, i16 606, i16 447, i16 652, i16 668, i16 291, i16 318, i16 459, i16 61, i16 659, i16 395, i16 195, i16 202, i16 186, i16 30, i16 590, i16 617, i16 422, i16 209, i16 535, i16 137, i16 485, i16 511, i16 222, i16 165, i16 337, i16 355, i16 371, i16 385, i16 190, i16 35, i16 627, i16 98, i16 660, i16 85, i16 278, i16 244, i16 376, i16 391, i16 101, i16 69, i16 377, i16 185, i16 401, i16 205, i16 453, i16 38, i16 24, i16 331, i16 352, i16 644, i16 649, i16 662, i16 398, i16 673, i16 454, i16 287, i16 152, i16 223, i16 307, i16 294, i16 419, i16 39, i16 0, i16 357, i16 22, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 296, i16 160, i16 363, i16 342, i16 360, i16 378, i16 42, i16 415, i16 434, i16 206, i16 431, i16 13, i16 490, i16 462, i16 521, i16 486, i16 304, i16 593, i16 525, i16 253, i16 622, i16 645, i16 234, i16 269, i16 104, i16 279, i16 63, i16 425, i16 199, i16 78, i16 174, i16 72, i16 569, i16 295, i16 620, i16 161, i16 340, i16 658, i16 273, i16 680, i16 289, i16 404, i16 361, i16 359, i16 372, i16 423, i16 73, i16 417, i16 315, i16 132, i16 356, i16 362, i16 381, i16 412, i16 26, i16 594, i16 87, i16 471, i16 497, i16 601, i16 227, i16 118, i16 542, i16 557, i16 317, i16 353, i16 265, i16 182, i16 188, i16 0, i16 0, i16 0, i16 0, i16 5, i16 74, i16 544, i16 448, i16 211, i16 475, i16 575, i16 599, i16 524, i16 545, i16 552, i16 239, i16 157, i16 66, i16 585, i16 103, i16 614, i16 48, i16 632, i16 687, i16 282, i16 308, i16 329, i16 604, i16 514, i16 183, i16 537, i16 530, i16 326, i16 177, i16 226, i16 380, i16 406, i16 76, i16 204, i16 208, i16 215, i16 584, i16 247, i16 605, i16 428, i16 679, i16 634, i16 637, i16 37, i16 138, i16 316, i16 196, i16 34, i16 230, i16 44, i16 286, i16 676, i16 312, i16 603, i16 609, i16 549, i16 513, i16 310, i16 325, i16 346, i16 77, i16 388, i16 128, i16 399, i16 411, i16 418, i16 54, i16 444, i16 299, i16 480, i16 113, i16 197, i16 602, i16 89, i16 158, i16 635, i16 59, i16 670, i16 493, i16 276, i16 105, i16 416, i16 429, i16 334, i16 159, i16 110, i16 370, i16 384, i16 684, i16 248, i16 424, i16 301, i16 156, i16 343, i16 242, i16 214, i16 504, i16 515, i16 556, i16 403, i16 81, i16 364, i16 374, i16 189, i16 413, i16 427, i16 28, i16 207, i16 473, i16 494, i16 672, i16 228, i16 540, i16 283, i16 100, i16 586, i16 323, i16 344, i16 375, i16 155, i16 630, i16 124, i16 626, i16 526, i16 613, i16 665, i16 677, i16 16, i16 305, i16 290, i16 167, i16 339, i16 383, i16 408, i16 122, i16 449, i16 80, i16 467, i16 169, i16 218, i16 200, i16 532, i16 543, i16 561, i16 508, i16 510, i16 553, i16 256, i16 582, i16 653, i16 643, i16 0, i16 241, i16 619, i16 666, i16 147, i16 348, i16 397, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 648, i16 141, i16 82, i16 292, i16 309, i16 608, i16 354, i16 410, i16 386, i16 311, i16 439, i16 321, i16 109, i16 460, i16 481, i16 498, i16 394, i16 495, i16 461, i16 112, i16 19, i16 457, i16 254, i16 489, i16 503, i16 221, i16 512, i16 86, i16 527, i16 139, i16 568, i16 580, i16 143, i16 0, i16 0, i16 7, i16 300, i16 49, i16 57, i16 528, i16 102, i16 430, i16 194, i16 564, i16 17, i16 579, i16 0, i16 0, i16 144, i16 83, i16 531, i16 324, i16 229, i16 154, i16 179, i16 387, i16 53, i16 43, i16 277, i16 201, i16 108, i16 21, i16 625, i16 483, i16 146, i16 347, i16 396, i16 446, i16 505, i16 252, i16 336, i16 477, i16 351, i16 379, i16 322, i16 436, i16 0, i16 0, i16 18, i16 8, i16 420, i16 250, i16 450, i16 472, i16 633, i16 518, i16 529, i16 119, i16 631, i16 268, i16 674, i16 142, i16 686, i16 458, i16 134, i16 328, i16 678, i16 488, i16 509, i16 491, i16 541, i16 657, i16 120, i16 563, i16 675, i16 583, i16 245, i16 91, i16 618, i16 0, i16 0, i16 0, i16 683, i16 516, i16 314, i16 681, i16 193, i16 572, i16 358, i16 443, i16 611, i16 421, i16 646, i16 262, i16 272, i16 107, i16 99, i16 538, i16 685, i16 288, i16 64, i16 70, i16 166, i16 50, i16 25, i16 52, i16 71, i16 392, i16 191, i16 426, i16 433, i16 442, i16 451, i16 441, i16 435, i16 438, i16 11, i16 338, i16 106, i16 40, i16 0, i16 0, i16 10, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 440, i16 466, i16 478, i16 501, i16 523, i16 536, i16 554, i16 522, i16 592, i16 581, i16 233, i16 555, i16 251, i16 476, i16 636, i16 264, i16 203, i16 452, i16 474, i16 365, i16 178, i16 187, i16 539, i16 126, i16 565, i16 578, i16 600, i16 220, i16 2, i16 624, i16 639, i16 654, i16 212, i16 562, i16 407, i16 616, i16 33, i16 650, i16 47, i16 332, i16 271, i16 131, i16 97, i16 298, i16 162, i16 341, i16 65, i16 367, i16 213, i16 149, i16 151, i16 302, i16 163, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3, i16 484, i16 345, i16 67, i16 591, i16 469, i16 487, i16 51, i16 171, i16 303, i16 400, i16 175, i16 58, i16 125, i16 598, i16 79, i16 628, i16 463, i16 651, i16 350, i16 274, i16 470, i16 56, i16 464, i16 520, i16 612, i16 640, i16 238, i16 507, i16 123, i16 127, i16 88, i16 623, i16 642, i16 664, i16 548, i16 547, i16 216, i16 682, i16 492, i16 116, i16 519, i16 240, i16 667, i16 588, i16 597, i16 23, i16 559, i16 641, i16 577, i16 93, i16 270, i16 96, i16 225, i16 534, i16 589, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 482, i16 184, i16 224, i16 393, i16 0, i16 0, i16 0, i16 41, i16 121, i16 75, i16 198, i16 517, i16 90, i16 263, i16 210, i16 671, i16 231, i16 496, i16 45, i16 574, i16 246, i16 235, i16 621, i16 32, i16 479, i16 237, i16 560, i16 284, i16 571, i16 327, i16 217, i16 366, i16 232, i16 432, i16 55, i16 111, i16 0, i16 27, i16 114, i16 219, i16 115, i16 573, i16 546, i16 567, i16 6, i16 46, i16 243, i16 130, i16 502, i16 320, i16 92, i16 117, i16 369, i16 551, i16 558, i16 20, i16 164, i16 576, i16 275, i16 257, i16 297, i16 656, i16 596, i16 506, i16 255, i16 629, i16 638, i16 135, i16 0, i16 29, i16 663, i16 285, i16 313, i16 349, i16 148, i16 181, i16 405, i16 330, i16 335, i16 170, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3171, i16 12478, i16 12479, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2196, i16 6503, i16 11985, i16 1886, i16 6504, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2650, i16 12441, i16 12442, i16 0, i16 0, i16 0, i16 0, i16 12443, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2542, i16 11756, i16 11757, i16 6356, i16 0, i16 0, i16 11758, i16 11759, i16 6358, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1165, i16 0, i16 5777, i16 0, i16 5778, i16 10826, i16 10825, i16 10827, i16 10828, i16 10829, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1956, i16 6848, i16 6849, i16 1656, i16 0, i16 12717, i16 0, i16 12718, i16 0, i16 12719, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7035, i16 0, i16 0, i16 1517, i16 7036, i16 13063, i16 13064, i16 13065, i16 7037, i16 0, i16 1888, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7306, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 341, i16 0, i16 342, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 351, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 326, i16 327, i16 325, i16 328, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11125, i16 0, i16 0, i16 5992, i16 0, i16 5993, i16 0, i16 990, i16 11126, i16 0, i16 0, i16 947, i16 5990, i16 11127, i16 0, i16 11128, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 251, i16 0, i16 0, i16 0, i16 0, i16 250, i16 255, i16 0, i16 259, i16 260, i16 0, i16 0, i16 261, i16 262, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 368, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7427, i16 2983, i16 3748, i16 7428, i16 0, i16 7430, i16 3029, i16 7431, i16 3631, i16 7432, i16 2168, i16 7433, i16 1818, i16 7434, i16 1866, i16 965, i16 7435, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3587, i16 0, i16 13156, i16 13157, i16 13158, i16 13159, i16 0, i16 13160, i16 7092, i16 13161, i16 13162, i16 0, i16 0, i16 0, i16 0, i16 7093, i16 5548, i16 13163, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7201, i16 7287, i16 7229, i16 7315, i16 7247, i16 7332, i16 7265, i16 7350, i16 7274, i16 7359, i16 7271, i16 7356, i16 7273, i16 7358, i16 7272, i16 7357, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8287, i16 0, i16 0, i16 0, i16 0, i16 8288, i16 0, i16 2969, i16 8289, i16 0, i16 0, i16 8290, i16 0, i16 0, i16 8291, i16 4207, i16 3113, i16 8292, i16 0, i16 8293, i16 8294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9649, i16 5112, i16 9650, i16 9651, i16 5118, i16 0, i16 0, i16 5116, i16 0, i16 2728, i16 0, i16 0, i16 5123, i16 5113, i16 9652, i16 0, i16 9653, i16 0, i16 9654, i16 5114, i16 5090, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9574, i16 0, i16 9575, i16 0, i16 0, i16 1049, i16 0, i16 0, i16 892, i16 0, i16 9576, i16 5056, i16 0, i16 9577, i16 5059, i16 9578, i16 0, i16 0, i16 3600, i16 9579, i16 0, i16 9580, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 364, i16 0, i16 0, i16 363, i16 0, i16 362, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7882, i16 7883, i16 0, i16 0, i16 4012, i16 3474, i16 0, i16 2068, i16 7884, i16 4018, i16 0, i16 7885, i16 7886, i16 0, i16 4017, i16 4008, i16 0, i16 7887, i16 7888, i16 7889, i16 2472, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 995, i16 0, i16 0, i16 7950, i16 0, i16 0, i16 4058, i16 7951, i16 2153, i16 4054, i16 7952, i16 4052, i16 7953, i16 4053, i16 7954, i16 4055, i16 7955, i16 0, i16 7956, i16 7957, i16 7958, i16 0, i16 7959, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3650, i16 0, i16 9772, i16 5182, i16 0, i16 0, i16 0, i16 847, i16 0, i16 9773, i16 0, i16 9774, i16 9775, i16 9776, i16 9777, i16 0, i16 9778, i16 5184, i16 0, i16 0, i16 9779, i16 5183, i16 0, i16 5181, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10072, i16 10073, i16 5305, i16 0, i16 10074, i16 0, i16 0, i16 5306, i16 10075, i16 0, i16 0, i16 10076, i16 5307, i16 0, i16 0, i16 0, i16 10077, i16 0, i16 10078, i16 10079, i16 866, i16 0, i16 10080, i16 10081, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3182, i16 0, i16 6816, i16 12656, i16 0, i16 12657, i16 12658, i16 6817, i16 12659, i16 6818, i16 0, i16 0, i16 12660, i16 0, i16 6819, i16 12661, i16 12662, i16 0, i16 12663, i16 12664, i16 0, i16 0, i16 0, i16 12665, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11391, i16 0, i16 1000, i16 6110, i16 6111, i16 11358, i16 0, i16 0, i16 0, i16 11359, i16 0, i16 6106, i16 0, i16 1808, i16 11360, i16 0, i16 11361, i16 0, i16 11362, i16 0, i16 11363, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1683, i16 0, i16 12778, i16 0, i16 12779, i16 6888, i16 12780, i16 12781, i16 6889, i16 0, i16 12782, i16 0, i16 12783, i16 12784, i16 12785, i16 0, i16 1055, i16 12786, i16 0, i16 12787, i16 6890, i16 0, i16 12788, i16 12789, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8637, i16 0, i16 0, i16 8638, i16 0, i16 0, i16 8639, i16 4435, i16 4441, i16 4433, i16 0, i16 2779, i16 8640, i16 8641, i16 4438, i16 3156, i16 8642, i16 8643, i16 4432, i16 8644, i16 4437, i16 3636, i16 1834, i16 0, i16 8645, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7102, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7101, i16 7104, i16 7108, i16 7107, i16 0, i16 7105, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11222, i16 0, i16 0, i16 11223, i16 0, i16 3292, i16 0, i16 3660, i16 11224, i16 11225, i16 11226, i16 11227, i16 0, i16 6049, i16 0, i16 0, i16 11228, i16 0, i16 0, i16 11230, i16 11231, i16 6056, i16 11232, i16 0, i16 6048, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8409, i16 8410, i16 0, i16 8411, i16 0, i16 4283, i16 0, i16 0, i16 8412, i16 1205, i16 4284, i16 8413, i16 0, i16 4285, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8414, i16 0, i16 8415, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4599, i16 752, i16 8844, i16 8845, i16 1720, i16 0, i16 8846, i16 0, i16 2177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8847, i16 8848, i16 0, i16 0, i16 8849, i16 2707, i16 0, i16 8850, i16 3053, i16 4605, i16 2405, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4632, i16 0, i16 0, i16 8909, i16 8910, i16 0, i16 0, i16 2464, i16 0, i16 4639, i16 8911, i16 0, i16 8912, i16 4633, i16 8913, i16 0, i16 4630, i16 4637, i16 8914, i16 0, i16 0, i16 0, i16 4607, i16 0, i16 8915, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 316, i16 315, i16 0, i16 0, i16 0, i16 312, i16 0, i16 0, i16 314, i16 313, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8817, i16 0, i16 8818, i16 0, i16 0, i16 3069, i16 4663, i16 0, i16 0, i16 0, i16 0, i16 3279, i16 0, i16 8819, i16 0, i16 2706, i16 8820, i16 8821, i16 0, i16 3368, i16 8822, i16 4583, i16 934, i16 2605, i16 8823, i16 8824, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7940, i16 2549, i16 0, i16 7941, i16 970, i16 7942, i16 0, i16 0, i16 7943, i16 7944, i16 7945, i16 7946, i16 7947, i16 7948, i16 0, i16 4042, i16 0, i16 4044, i16 2069, i16 858, i16 7949, i16 0, i16 4047, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 311, i16 310, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2652, i16 12969, i16 6980, i16 0, i16 3024, i16 0, i16 6985, i16 6981, i16 0, i16 0, i16 0, i16 6982, i16 0, i16 12970, i16 3300, i16 3413, i16 0, i16 2861, i16 12971, i16 0, i16 12972, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1124, i16 11078, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11079, i16 920, i16 5954, i16 3639, i16 2498, i16 11080, i16 0, i16 3131, i16 0, i16 5966, i16 11081, i16 988, i16 5964, i16 0, i16 5962, i16 5953, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2662, i16 9547, i16 9548, i16 9549, i16 883, i16 1622, i16 5035, i16 0, i16 0, i16 9551, i16 9552, i16 0, i16 9553, i16 1974, i16 5040, i16 0, i16 5039, i16 5034, i16 0, i16 5037, i16 9554, i16 0, i16 1099, i16 9555, i16 5036, i16 2948, i16 9556, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8864, i16 8865, i16 3280, i16 1919, i16 4620, i16 0, i16 4619, i16 8866, i16 8867, i16 2243, i16 0, i16 0, i16 8868, i16 1497, i16 0, i16 8869, i16 8870, i16 4613, i16 2086, i16 8871, i16 0, i16 2885, i16 2924, i16 8872, i16 8873, i16 0, i16 8874, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11173, i16 6028, i16 11174, i16 11175, i16 3524, i16 11176, i16 0, i16 0, i16 11177, i16 3575, i16 11178, i16 0, i16 11179, i16 11180, i16 0, i16 0, i16 0, i16 11181, i16 2619, i16 11182, i16 11183, i16 11184, i16 1102, i16 11185, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6850, i16 12720, i16 0, i16 1057, i16 0, i16 0, i16 0, i16 2954, i16 6851, i16 6852, i16 0, i16 12721, i16 12722, i16 12723, i16 2589, i16 2888, i16 12724, i16 0, i16 0, i16 0, i16 12725, i16 12726, i16 0, i16 6853, i16 12727, i16 0, i16 12728, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4292, i16 0, i16 4294, i16 0, i16 8425, i16 0, i16 8426, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8427, i16 0, i16 0, i16 0, i16 0, i16 8429, i16 0, i16 4295, i16 0, i16 0, i16 0, i16 8428, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10961, i16 5874, i16 10962, i16 0, i16 0, i16 10963, i16 5872, i16 10964, i16 0, i16 2208, i16 0, i16 3164, i16 5877, i16 10965, i16 5876, i16 1639, i16 3710, i16 0, i16 10966, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5893, i16 0, i16 0, i16 0, i16 0, i16 13078, i16 7046, i16 3001, i16 0, i16 13079, i16 7047, i16 7049, i16 0, i16 13080, i16 7050, i16 13081, i16 13082, i16 13083, i16 0, i16 0, i16 13084, i16 13085, i16 13086, i16 0, i16 0, i16 7048, i16 1668, i16 3422, i16 3350, i16 4361, i16 0, i16 4996, i16 3374, i16 0, i16 0, i16 0, i16 0, i16 9766, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9767, i16 5177, i16 2557, i16 5180, i16 5175, i16 9768, i16 9769, i16 0, i16 5179, i16 9770, i16 0, i16 0, i16 9771, i16 5178, i16 2751, i16 802, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4915, i16 9346, i16 9347, i16 4920, i16 4924, i16 9348, i16 9349, i16 1331, i16 0, i16 0, i16 9350, i16 0, i16 9351, i16 9352, i16 9353, i16 0, i16 0, i16 9354, i16 9355, i16 0, i16 1259, i16 4922, i16 0, i16 9356, i16 0, i16 0, i16 0, i16 1216, i16 0, i16 0, i16 0, i16 0, i16 9780, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5176, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3286, i16 9781, i16 0, i16 0, i16 5186, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9539, i16 0, i16 0, i16 9540, i16 0, i16 0, i16 9541, i16 3517, i16 5042, i16 0, i16 9542, i16 9543, i16 0, i16 9544, i16 5041, i16 9545, i16 0, i16 0, i16 0, i16 2335, i16 0, i16 5038, i16 9546, i16 3547, i16 0, i16 0, i16 2835, i16 5032, i16 0, i16 0, i16 0, i16 0, i16 10582, i16 0, i16 3236, i16 986, i16 0, i16 10583, i16 0, i16 5611, i16 0, i16 5608, i16 10584, i16 5613, i16 10585, i16 10586, i16 5612, i16 0, i16 2990, i16 3384, i16 10587, i16 1806, i16 5606, i16 5615, i16 5610, i16 10588, i16 5609, i16 5605, i16 10589, i16 5607, i16 0, i16 0, i16 0, i16 0, i16 12640, i16 0, i16 6807, i16 12641, i16 0, i16 0, i16 12642, i16 6809, i16 2511, i16 1086, i16 1087, i16 6808, i16 0, i16 12643, i16 12644, i16 12645, i16 1194, i16 1515, i16 12646, i16 12647, i16 1195, i16 12648, i16 12649, i16 2750, i16 0, i16 0, i16 3629, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9849, i16 0, i16 0, i16 0, i16 5220, i16 0, i16 2687, i16 9850, i16 5222, i16 5221, i16 0, i16 9851, i16 5223, i16 0, i16 5224, i16 0, i16 9852, i16 1936, i16 3162, i16 0, i16 9853, i16 9854, i16 3453, i16 5225, i16 5226, i16 2397, i16 1877, i16 5227, i16 0, i16 0, i16 0, i16 0, i16 944, i16 0, i16 13087, i16 0, i16 13088, i16 0, i16 0, i16 13089, i16 7052, i16 1263, i16 7053, i16 7054, i16 7055, i16 0, i16 1676, i16 0, i16 7056, i16 13090, i16 0, i16 0, i16 5266, i16 3436, i16 0, i16 2504, i16 7057, i16 7059, i16 7058, i16 13091, i16 0, i16 0, i16 0, i16 0, i16 9393, i16 0, i16 0, i16 9394, i16 3008, i16 0, i16 4946, i16 0, i16 9395, i16 0, i16 0, i16 0, i16 9396, i16 9397, i16 9398, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4950, i16 4947, i16 9399, i16 9400, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1215, i16 9243, i16 4856, i16 0, i16 9244, i16 3418, i16 4831, i16 1214, i16 9245, i16 4838, i16 0, i16 9246, i16 9247, i16 9248, i16 3315, i16 9249, i16 4839, i16 4841, i16 9250, i16 4845, i16 4833, i16 9251, i16 2541, i16 0, i16 9252, i16 9253, i16 0, i16 2798, i16 0, i16 0, i16 0, i16 0, i16 7110, i16 7111, i16 7122, i16 0, i16 7123, i16 7124, i16 7125, i16 0, i16 7127, i16 0, i16 7128, i16 7130, i16 7136, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 0, i16 0, i16 0, i16 0, i16 6623, i16 0, i16 0, i16 12326, i16 12327, i16 12328, i16 0, i16 2886, i16 0, i16 2772, i16 0, i16 0, i16 12329, i16 12330, i16 12331, i16 0, i16 2680, i16 12332, i16 6636, i16 12333, i16 12334, i16 0, i16 12335, i16 2566, i16 6632, i16 0, i16 12336, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2303, i16 11822, i16 1920, i16 6405, i16 0, i16 11823, i16 0, i16 1077, i16 11824, i16 6406, i16 11825, i16 0, i16 2429, i16 6407, i16 0, i16 6408, i16 3170, i16 0, i16 0, i16 1230, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11826, i16 0, i16 0, i16 0, i16 8200, i16 905, i16 0, i16 8201, i16 1202, i16 2877, i16 3273, i16 0, i16 0, i16 0, i16 0, i16 4173, i16 2396, i16 4172, i16 1435, i16 8202, i16 8203, i16 3342, i16 4171, i16 0, i16 2788, i16 4175, i16 8204, i16 4174, i16 8205, i16 0, i16 8206, i16 8207, i16 8208, i16 0, i16 0, i16 0, i16 9739, i16 9740, i16 0, i16 0, i16 0, i16 9741, i16 9742, i16 9743, i16 9744, i16 5111, i16 0, i16 9749, i16 0, i16 0, i16 5171, i16 0, i16 0, i16 9745, i16 9746, i16 0, i16 0, i16 2884, i16 0, i16 0, i16 0, i16 0, i16 9747, i16 9748, i16 0, i16 0, i16 0, i16 0, i16 8486, i16 0, i16 0, i16 0, i16 8487, i16 0, i16 4332, i16 0, i16 8488, i16 1185, i16 4333, i16 8490, i16 0, i16 8489, i16 0, i16 4335, i16 4334, i16 0, i16 0, i16 4336, i16 0, i16 8491, i16 8492, i16 0, i16 4337, i16 0, i16 2327, i16 1970, i16 0, i16 0, i16 0, i16 0, i16 808, i16 5862, i16 0, i16 2563, i16 0, i16 10928, i16 0, i16 0, i16 0, i16 2963, i16 10929, i16 2496, i16 10930, i16 0, i16 0, i16 10931, i16 0, i16 10932, i16 10933, i16 5864, i16 10934, i16 10935, i16 5860, i16 5863, i16 5858, i16 0, i16 5861, i16 3289, i16 0, i16 0, i16 0, i16 0, i16 6698, i16 0, i16 0, i16 12462, i16 784, i16 12463, i16 12464, i16 6696, i16 12465, i16 6700, i16 6699, i16 0, i16 0, i16 12466, i16 12467, i16 12468, i16 12469, i16 6702, i16 6701, i16 6703, i16 0, i16 2827, i16 12470, i16 12471, i16 0, i16 6704, i16 12472, i16 12473, i16 12474, i16 0, i16 0, i16 0, i16 299, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7121, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9006, i16 0, i16 1543, i16 0, i16 9007, i16 4685, i16 9008, i16 0, i16 0, i16 0, i16 4688, i16 0, i16 3145, i16 9009, i16 1278, i16 9010, i16 0, i16 9011, i16 4687, i16 4686, i16 2959, i16 4689, i16 1330, i16 0, i16 0, i16 0, i16 4691, i16 4690, i16 9012, i16 0, i16 0, i16 0, i16 5172, i16 9750, i16 9751, i16 0, i16 0, i16 0, i16 0, i16 0, i16 981, i16 9752, i16 0, i16 9753, i16 2803, i16 1032, i16 0, i16 0, i16 0, i16 0, i16 9754, i16 9755, i16 0, i16 1283, i16 0, i16 0, i16 0, i16 1935, i16 1735, i16 9756, i16 0, i16 0, i16 0, i16 0, i16 9782, i16 9783, i16 9784, i16 9785, i16 9786, i16 0, i16 5185, i16 0, i16 9787, i16 9788, i16 0, i16 0, i16 9789, i16 0, i16 0, i16 0, i16 0, i16 914, i16 0, i16 0, i16 0, i16 0, i16 5188, i16 3207, i16 0, i16 5187, i16 0, i16 9790, i16 0, i16 0, i16 0, i16 0, i16 8247, i16 8248, i16 863, i16 1136, i16 8249, i16 4189, i16 0, i16 3414, i16 3112, i16 0, i16 0, i16 8250, i16 8251, i16 0, i16 8252, i16 8253, i16 0, i16 8254, i16 0, i16 753, i16 8255, i16 0, i16 0, i16 0, i16 834, i16 0, i16 0, i16 0, i16 1828, i16 0, i16 0, i16 0, i16 10308, i16 0, i16 0, i16 0, i16 5464, i16 0, i16 10309, i16 0, i16 0, i16 0, i16 5465, i16 0, i16 0, i16 0, i16 10310, i16 10311, i16 0, i16 0, i16 10312, i16 0, i16 5466, i16 0, i16 10313, i16 5467, i16 3400, i16 5468, i16 0, i16 10314, i16 10315, i16 0, i16 0, i16 0, i16 10830, i16 10831, i16 5779, i16 0, i16 10832, i16 0, i16 0, i16 0, i16 0, i16 5780, i16 5781, i16 5782, i16 10833, i16 5783, i16 5784, i16 10834, i16 10835, i16 5786, i16 5785, i16 0, i16 0, i16 5787, i16 0, i16 0, i16 10836, i16 10837, i16 10838, i16 0, i16 5788, i16 0, i16 0, i16 0, i16 6991, i16 0, i16 0, i16 6989, i16 0, i16 1118, i16 0, i16 6988, i16 1891, i16 942, i16 0, i16 0, i16 12981, i16 12982, i16 0, i16 12983, i16 12984, i16 12985, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12986, i16 1658, i16 12987, i16 12989, i16 6998, i16 6997, i16 0, i16 0, i16 0, i16 12117, i16 0, i16 0, i16 0, i16 12118, i16 12119, i16 2864, i16 6566, i16 1989, i16 1937, i16 2966, i16 2612, i16 12120, i16 0, i16 0, i16 1955, i16 12121, i16 2231, i16 0, i16 6567, i16 12122, i16 6568, i16 12123, i16 12124, i16 12125, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1113, i16 5562, i16 5561, i16 10536, i16 5565, i16 5558, i16 10537, i16 5566, i16 3574, i16 10538, i16 5567, i16 10539, i16 5568, i16 0, i16 10540, i16 4170, i16 5570, i16 0, i16 5569, i16 0, i16 0, i16 0, i16 5571, i16 5572, i16 10541, i16 3586, i16 5573, i16 0, i16 6797, i16 0, i16 0, i16 0, i16 4186, i16 8227, i16 2474, i16 0, i16 8228, i16 3307, i16 0, i16 0, i16 0, i16 2761, i16 8229, i16 8230, i16 8231, i16 8232, i16 0, i16 4187, i16 8233, i16 0, i16 0, i16 0, i16 8234, i16 0, i16 3352, i16 8235, i16 1727, i16 8236, i16 0, i16 2071, i16 0, i16 0, i16 0, i16 0, i16 4961, i16 0, i16 0, i16 9421, i16 4960, i16 0, i16 4962, i16 9422, i16 0, i16 979, i16 9423, i16 2554, i16 0, i16 4963, i16 0, i16 9424, i16 1152, i16 4965, i16 0, i16 9425, i16 0, i16 9426, i16 4964, i16 0, i16 4966, i16 0, i16 9427, i16 0, i16 4967, i16 0, i16 0, i16 0, i16 10341, i16 10342, i16 5477, i16 0, i16 10343, i16 10344, i16 0, i16 0, i16 0, i16 10345, i16 0, i16 10346, i16 0, i16 0, i16 0, i16 10347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10348, i16 2104, i16 10349, i16 0, i16 0, i16 0, i16 0, i16 2175, i16 8612, i16 3107, i16 0, i16 8613, i16 8614, i16 8615, i16 0, i16 8616, i16 1208, i16 2913, i16 0, i16 0, i16 8617, i16 8618, i16 8619, i16 8620, i16 8621, i16 0, i16 4422, i16 1833, i16 3309, i16 3310, i16 0, i16 0, i16 933, i16 4427, i16 8622, i16 0, i16 0, i16 0, i16 0, i16 2695, i16 3881, i16 7678, i16 0, i16 2444, i16 0, i16 7679, i16 1764, i16 3882, i16 3883, i16 2359, i16 0, i16 3880, i16 0, i16 0, i16 0, i16 0, i16 3885, i16 7680, i16 3305, i16 7681, i16 7682, i16 0, i16 7683, i16 1659, i16 7684, i16 0, i16 3884, i16 7685, i16 0, i16 0, i16 0, i16 5002, i16 5001, i16 0, i16 9479, i16 9480, i16 9481, i16 0, i16 0, i16 0, i16 9482, i16 0, i16 9483, i16 0, i16 0, i16 0, i16 0, i16 9484, i16 2224, i16 9485, i16 9486, i16 3120, i16 881, i16 0, i16 9487, i16 9488, i16 0, i16 0, i16 3038, i16 9489, i16 0, i16 0, i16 0, i16 12200, i16 12201, i16 12202, i16 12203, i16 0, i16 12204, i16 6671, i16 0, i16 0, i16 6599, i16 0, i16 12205, i16 12206, i16 12207, i16 0, i16 0, i16 12208, i16 3640, i16 12209, i16 12210, i16 1555, i16 12211, i16 12212, i16 12213, i16 0, i16 12214, i16 0, i16 12215, i16 6609, i16 0, i16 0, i16 0, i16 1469, i16 0, i16 8946, i16 0, i16 8947, i16 4649, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8948, i16 8949, i16 8950, i16 1800, i16 4646, i16 0, i16 4645, i16 0, i16 0, i16 8951, i16 8952, i16 2925, i16 8953, i16 0, i16 8954, i16 2834, i16 8955, i16 0, i16 0, i16 0, i16 1223, i16 1538, i16 4235, i16 1083, i16 0, i16 8338, i16 4236, i16 0, i16 2462, i16 0, i16 0, i16 8339, i16 8340, i16 4237, i16 4277, i16 0, i16 4238, i16 0, i16 4239, i16 0, i16 0, i16 4240, i16 0, i16 4242, i16 0, i16 8341, i16 8342, i16 8343, i16 8344, i16 0, i16 0, i16 0, i16 5320, i16 5319, i16 5321, i16 10092, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5322, i16 5324, i16 5323, i16 0, i16 0, i16 1680, i16 10093, i16 5326, i16 0, i16 5325, i16 10094, i16 10095, i16 1158, i16 0, i16 2206, i16 0, i16 2747, i16 0, i16 5327, i16 2273, i16 0, i16 0, i16 0, i16 9928, i16 1677, i16 1845, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9929, i16 5264, i16 5265, i16 9930, i16 0, i16 9931, i16 0, i16 0, i16 0, i16 9932, i16 5267, i16 9933, i16 0, i16 0, i16 0, i16 0, i16 9934, i16 9935, i16 9936, i16 0, i16 0, i16 0, i16 4811, i16 0, i16 0, i16 0, i16 3111, i16 0, i16 0, i16 0, i16 9216, i16 0, i16 0, i16 9217, i16 9218, i16 9219, i16 9220, i16 9221, i16 0, i16 4823, i16 9222, i16 952, i16 4812, i16 0, i16 9223, i16 9224, i16 9225, i16 9226, i16 0, i16 4829, i16 4813, i16 0, i16 0, i16 0, i16 13009, i16 13010, i16 0, i16 13011, i16 7009, i16 0, i16 7008, i16 13012, i16 0, i16 0, i16 13013, i16 13014, i16 1463, i16 0, i16 0, i16 13015, i16 13016, i16 0, i16 13017, i16 13018, i16 13019, i16 13020, i16 0, i16 7013, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11738, i16 0, i16 0, i16 1460, i16 0, i16 0, i16 0, i16 0, i16 6342, i16 6344, i16 11739, i16 0, i16 6345, i16 1251, i16 5811, i16 2150, i16 0, i16 6346, i16 0, i16 11740, i16 1575, i16 11741, i16 11742, i16 0, i16 0, i16 11743, i16 6347, i16 11744, i16 0, i16 0, i16 0, i16 0, i16 5086, i16 9609, i16 9610, i16 0, i16 0, i16 9611, i16 9612, i16 3388, i16 9613, i16 0, i16 5084, i16 5088, i16 9614, i16 0, i16 9615, i16 9616, i16 9617, i16 9618, i16 0, i16 1545, i16 9619, i16 2098, i16 0, i16 0, i16 2556, i16 9620, i16 9621, i16 9622, i16 5078, i16 0, i16 0, i16 0, i16 7917, i16 7918, i16 0, i16 0, i16 1489, i16 4034, i16 4032, i16 2394, i16 1257, i16 1321, i16 7919, i16 4029, i16 0, i16 1393, i16 0, i16 7920, i16 0, i16 0, i16 0, i16 875, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7921, i16 0, i16 0, i16 0, i16 238, i16 0, i16 300, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1015, i16 0, i16 11621, i16 2163, i16 6275, i16 0, i16 11622, i16 0, i16 11623, i16 0, i16 11624, i16 0, i16 0, i16 0, i16 11625, i16 0, i16 11626, i16 6276, i16 0, i16 11627, i16 0, i16 6277, i16 11628, i16 0, i16 0, i16 0, i16 11629, i16 0, i16 11630, i16 0, i16 0, i16 7936, i16 1823, i16 4040, i16 0, i16 0, i16 0, i16 0, i16 7937, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7938, i16 4043, i16 0, i16 4048, i16 0, i16 0, i16 0, i16 4046, i16 4045, i16 7939, i16 0, i16 0, i16 8448, i16 8449, i16 0, i16 0, i16 8450, i16 0, i16 8451, i16 0, i16 8455, i16 4317, i16 4314, i16 0, i16 4316, i16 0, i16 3553, i16 8453, i16 4315, i16 0, i16 0, i16 8452, i16 0, i16 0, i16 0, i16 8454, i16 0, i16 0, i16 4305, i16 0, i16 0, i16 8456, i16 0, i16 0, i16 2310, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8927, i16 0, i16 0, i16 4643, i16 8928, i16 0, i16 8929, i16 8930, i16 8931, i16 8932, i16 0, i16 0, i16 0, i16 2725, i16 0, i16 8933, i16 8934, i16 8935, i16 8936, i16 0, i16 8937, i16 0, i16 0, i16 10759, i16 10760, i16 10761, i16 10762, i16 10763, i16 5714, i16 0, i16 0, i16 1368, i16 3077, i16 10764, i16 10765, i16 10766, i16 2420, i16 0, i16 3613, i16 2046, i16 0, i16 0, i16 5762, i16 0, i16 10767, i16 5724, i16 10768, i16 2343, i16 0, i16 5720, i16 5725, i16 5727, i16 0, i16 0, i16 0, i16 6161, i16 11432, i16 11433, i16 11434, i16 11435, i16 11436, i16 11437, i16 11438, i16 0, i16 11439, i16 11440, i16 3498, i16 0, i16 0, i16 11441, i16 0, i16 0, i16 11442, i16 0, i16 11443, i16 0, i16 11444, i16 11445, i16 11446, i16 0, i16 0, i16 0, i16 0, i16 11447, i16 6160, i16 0, i16 0, i16 8998, i16 4677, i16 4676, i16 0, i16 8999, i16 0, i16 0, i16 9000, i16 4644, i16 4678, i16 4666, i16 0, i16 9001, i16 1836, i16 0, i16 9002, i16 0, i16 0, i16 4679, i16 4680, i16 4682, i16 4681, i16 4683, i16 1027, i16 9003, i16 1613, i16 9004, i16 9005, i16 3281, i16 2264, i16 0, i16 0, i16 13103, i16 13104, i16 0, i16 0, i16 0, i16 7071, i16 7072, i16 13105, i16 0, i16 0, i16 0, i16 0, i16 2723, i16 13106, i16 13107, i16 13108, i16 13109, i16 1558, i16 13110, i16 7074, i16 13111, i16 13112, i16 0, i16 13113, i16 13114, i16 13115, i16 0, i16 0, i16 0, i16 13116, i16 0, i16 0, i16 1852, i16 10946, i16 0, i16 1337, i16 2289, i16 3697, i16 3391, i16 5865, i16 2301, i16 10947, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10948, i16 10949, i16 10950, i16 0, i16 1266, i16 5868, i16 10951, i16 0, i16 10952, i16 0, i16 0, i16 0, i16 4159, i16 0, i16 0, i16 8181, i16 8182, i16 0, i16 0, i16 3238, i16 4160, i16 8183, i16 8184, i16 0, i16 0, i16 971, i16 4161, i16 0, i16 8185, i16 8186, i16 8187, i16 3499, i16 1043, i16 0, i16 3939, i16 2007, i16 2468, i16 4162, i16 3452, i16 8189, i16 0, i16 0, i16 0, i16 0, i16 9280, i16 0, i16 0, i16 9281, i16 0, i16 0, i16 0, i16 9282, i16 3515, i16 0, i16 0, i16 0, i16 9283, i16 0, i16 0, i16 0, i16 0, i16 3181, i16 4862, i16 2479, i16 0, i16 9284, i16 0, i16 4868, i16 2374, i16 9285, i16 4859, i16 4872, i16 4871, i16 0, i16 0, i16 0, i16 334, i16 335, i16 0, i16 0, i16 332, i16 333, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5718, i16 5712, i16 0, i16 0, i16 10752, i16 10753, i16 0, i16 0, i16 10754, i16 5716, i16 1963, i16 806, i16 5711, i16 5719, i16 5723, i16 1634, i16 3431, i16 10755, i16 2679, i16 5713, i16 10756, i16 10757, i16 5721, i16 10758, i16 5710, i16 2561, i16 0, i16 5715, i16 774, i16 3419, i16 0, i16 0, i16 9566, i16 0, i16 0, i16 5052, i16 0, i16 9567, i16 2096, i16 0, i16 0, i16 0, i16 3487, i16 0, i16 5049, i16 0, i16 0, i16 9568, i16 9569, i16 5044, i16 9570, i16 5050, i16 9571, i16 9572, i16 9573, i16 3627, i16 0, i16 2802, i16 2847, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3942, i16 7777, i16 3458, i16 0, i16 0, i16 7778, i16 7779, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7780, i16 0, i16 0, i16 0, i16 0, i16 7781, i16 7782, i16 0, i16 3943, i16 0, i16 3615, i16 7783, i16 1589, i16 0, i16 0, i16 7784, i16 0, i16 1519, i16 0, i16 0, i16 9320, i16 0, i16 0, i16 9321, i16 0, i16 4903, i16 4896, i16 0, i16 0, i16 4909, i16 0, i16 4907, i16 9322, i16 9323, i16 0, i16 9324, i16 4902, i16 9325, i16 0, i16 9326, i16 0, i16 0, i16 0, i16 4901, i16 0, i16 2673, i16 0, i16 2412, i16 9327, i16 4899, i16 0, i16 0, i16 12650, i16 12651, i16 0, i16 12652, i16 12653, i16 1557, i16 0, i16 0, i16 12654, i16 6810, i16 12655, i16 0, i16 0, i16 6811, i16 6812, i16 6813, i16 0, i16 6815, i16 6814, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4205, i16 8279, i16 0, i16 8280, i16 3151, i16 8281, i16 0, i16 0, i16 4206, i16 0, i16 4201, i16 8282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8283, i16 0, i16 0, i16 8284, i16 8285, i16 0, i16 0, i16 8286, i16 3404, i16 0, i16 0, i16 2671, i16 2855, i16 880, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2331, i16 9194, i16 0, i16 2269, i16 1413, i16 0, i16 9195, i16 0, i16 0, i16 0, i16 9196, i16 4801, i16 9197, i16 0, i16 0, i16 12666, i16 6821, i16 6820, i16 12667, i16 6822, i16 0, i16 12668, i16 0, i16 0, i16 0, i16 12669, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3085, i16 5822, i16 0, i16 0, i16 2164, i16 0, i16 0, i16 12678, i16 6825, i16 0, i16 3440, i16 0, i16 12679, i16 12680, i16 6826, i16 3531, i16 0, i16 873, i16 0, i16 0, i16 0, i16 1812, i16 12681, i16 6827, i16 1011, i16 6828, i16 12682, i16 12683, i16 12684, i16 6829, i16 0, i16 12685, i16 12686, i16 12687, i16 6831, i16 6832, i16 12688, i16 0, i16 0, i16 7827, i16 0, i16 7828, i16 0, i16 7829, i16 7830, i16 1967, i16 7831, i16 1959, i16 7832, i16 0, i16 7833, i16 7834, i16 0, i16 3977, i16 3975, i16 0, i16 3380, i16 7835, i16 3972, i16 3981, i16 3976, i16 0, i16 0, i16 0, i16 3979, i16 1535, i16 3408, i16 0, i16 7836, i16 0, i16 0, i16 9623, i16 9624, i16 0, i16 0, i16 0, i16 3486, i16 9625, i16 0, i16 0, i16 5081, i16 0, i16 0, i16 5074, i16 2801, i16 0, i16 0, i16 5077, i16 9626, i16 0, i16 0, i16 5083, i16 0, i16 0, i16 0, i16 0, i16 9627, i16 0, i16 9628, i16 3708, i16 1903, i16 0, i16 0, i16 10135, i16 5355, i16 10136, i16 5354, i16 0, i16 0, i16 0, i16 0, i16 0, i16 893, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5363, i16 3073, i16 5357, i16 10137, i16 5359, i16 0, i16 0, i16 5361, i16 2185, i16 10138, i16 0, i16 5362, i16 5360, i16 1905, i16 10139, i16 0, i16 0, i16 7585, i16 3813, i16 7586, i16 3811, i16 7587, i16 2389, i16 7588, i16 7589, i16 0, i16 0, i16 0, i16 3812, i16 3814, i16 7590, i16 0, i16 7591, i16 7603, i16 0, i16 0, i16 3816, i16 7592, i16 0, i16 0, i16 3815, i16 7593, i16 3229, i16 0, i16 0, i16 7594, i16 0, i16 0, i16 0, i16 6307, i16 11695, i16 6305, i16 0, i16 11696, i16 2575, i16 11697, i16 11698, i16 11699, i16 2282, i16 1171, i16 6306, i16 0, i16 2214, i16 0, i16 11700, i16 3607, i16 11701, i16 11702, i16 11703, i16 3691, i16 11704, i16 0, i16 0, i16 6308, i16 6319, i16 2646, i16 11705, i16 6318, i16 11706, i16 0, i16 0, i16 12974, i16 6986, i16 0, i16 0, i16 6987, i16 2843, i16 6984, i16 6983, i16 0, i16 12973, i16 0, i16 0, i16 943, i16 0, i16 0, i16 12975, i16 6995, i16 0, i16 0, i16 6994, i16 0, i16 12976, i16 12977, i16 0, i16 0, i16 924, i16 12978, i16 12979, i16 12980, i16 6992, i16 0, i16 0, i16 1714, i16 0, i16 0, i16 10326, i16 10327, i16 0, i16 0, i16 10328, i16 0, i16 0, i16 5472, i16 10329, i16 10330, i16 0, i16 0, i16 10331, i16 5473, i16 0, i16 1503, i16 1738, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10332, i16 0, i16 0, i16 0, i16 0, i16 9906, i16 0, i16 9907, i16 9908, i16 0, i16 9909, i16 0, i16 0, i16 5255, i16 9910, i16 0, i16 9911, i16 0, i16 0, i16 0, i16 0, i16 9912, i16 9913, i16 0, i16 0, i16 5257, i16 5254, i16 9914, i16 9915, i16 0, i16 3429, i16 5256, i16 5258, i16 9916, i16 3601, i16 0, i16 0, i16 4280, i16 7388, i16 0, i16 0, i16 0, i16 0, i16 7389, i16 7390, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3551, i16 0, i16 2906, i16 7391, i16 7392, i16 0, i16 0, i16 0, i16 7393, i16 0, i16 0, i16 0, i16 0, i16 1126, i16 7394, i16 0, i16 0, i16 9401, i16 9402, i16 3554, i16 4948, i16 9403, i16 9404, i16 0, i16 9405, i16 4900, i16 0, i16 0, i16 0, i16 0, i16 9406, i16 9407, i16 9408, i16 4951, i16 0, i16 0, i16 0, i16 4952, i16 9409, i16 0, i16 0, i16 0, i16 9410, i16 0, i16 860, i16 9411, i16 4954, i16 0, i16 0, i16 2749, i16 6472, i16 0, i16 0, i16 0, i16 0, i16 11939, i16 0, i16 0, i16 6475, i16 0, i16 11946, i16 11940, i16 0, i16 11941, i16 11942, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11943, i16 1893, i16 11944, i16 11945, i16 6474, i16 6473, i16 1461, i16 6476, i16 0, i16 0, i16 0, i16 9917, i16 0, i16 9918, i16 5262, i16 0, i16 9919, i16 9920, i16 5261, i16 2617, i16 2920, i16 9921, i16 0, i16 1502, i16 5260, i16 0, i16 9922, i16 9923, i16 0, i16 5259, i16 9924, i16 3488, i16 3489, i16 0, i16 0, i16 9925, i16 9926, i16 0, i16 9927, i16 5263, i16 917, i16 0, i16 0, i16 5579, i16 0, i16 5592, i16 0, i16 5582, i16 10551, i16 1287, i16 0, i16 5581, i16 5594, i16 0, i16 0, i16 0, i16 5580, i16 0, i16 2109, i16 0, i16 0, i16 10552, i16 0, i16 0, i16 0, i16 5584, i16 5585, i16 0, i16 2730, i16 0, i16 0, i16 5586, i16 10553, i16 0, i16 0, i16 7119, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 360, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6868, i16 0, i16 0, i16 0, i16 0, i16 12737, i16 0, i16 0, i16 12738, i16 12739, i16 12740, i16 6859, i16 6860, i16 0, i16 12741, i16 6861, i16 6862, i16 0, i16 12742, i16 12743, i16 0, i16 0, i16 6864, i16 12744, i16 0, i16 6863, i16 0, i16 12745, i16 12746, i16 2024, i16 0, i16 0, i16 4310, i16 8439, i16 8440, i16 0, i16 8441, i16 8442, i16 0, i16 3277, i16 0, i16 8438, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8443, i16 0, i16 0, i16 8444, i16 0, i16 0, i16 0, i16 0, i16 8445, i16 0, i16 0, i16 0, i16 8446, i16 0, i16 8447, i16 0, i16 0, i16 2523, i16 0, i16 10008, i16 5286, i16 10009, i16 0, i16 10010, i16 10011, i16 10012, i16 10013, i16 10014, i16 10015, i16 10016, i16 10017, i16 10018, i16 10019, i16 5288, i16 3619, i16 1364, i16 3093, i16 2949, i16 0, i16 0, i16 10020, i16 5289, i16 0, i16 0, i16 0, i16 0, i16 5291, i16 0, i16 0, i16 6368, i16 0, i16 0, i16 6370, i16 11784, i16 11785, i16 0, i16 6369, i16 6371, i16 11786, i16 3321, i16 6372, i16 6373, i16 0, i16 11787, i16 0, i16 11788, i16 11789, i16 6374, i16 0, i16 0, i16 0, i16 6376, i16 11790, i16 0, i16 11791, i16 11792, i16 1040, i16 2696, i16 0, i16 0, i16 0, i16 7648, i16 0, i16 2257, i16 3861, i16 2025, i16 0, i16 7649, i16 3862, i16 0, i16 2623, i16 3596, i16 2783, i16 0, i16 7650, i16 0, i16 7651, i16 7652, i16 7653, i16 0, i16 7654, i16 3935, i16 0, i16 7655, i16 0, i16 0, i16 3863, i16 7099, i16 1346, i16 7656, i16 0, i16 0, i16 0, i16 6882, i16 0, i16 6884, i16 6883, i16 0, i16 0, i16 0, i16 6885, i16 6887, i16 6886, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 745, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 735, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8685, i16 0, i16 8686, i16 2141, i16 4477, i16 2868, i16 8687, i16 8688, i16 8689, i16 8690, i16 0, i16 0, i16 8691, i16 8692, i16 0, i16 3698, i16 0, i16 4473, i16 8693, i16 8694, i16 0, i16 0, i16 4479, i16 8695, i16 1682, i16 8696, i16 2292, i16 8697, i16 8698, i16 797, i16 0, i16 0, i16 4592, i16 0, i16 8825, i16 2551, i16 4586, i16 4593, i16 4588, i16 4595, i16 4591, i16 0, i16 4590, i16 2986, i16 8826, i16 4584, i16 1026, i16 4582, i16 1296, i16 2520, i16 4578, i16 8827, i16 8828, i16 4581, i16 1611, i16 2308, i16 8829, i16 2084, i16 4589, i16 2957, i16 0, i16 0, i16 0, i16 0, i16 1265, i16 2324, i16 1901, i16 3479, i16 4245, i16 0, i16 8355, i16 8356, i16 0, i16 0, i16 8357, i16 8358, i16 1275, i16 8359, i16 1728, i16 8360, i16 8361, i16 1045, i16 906, i16 2073, i16 973, i16 8362, i16 4246, i16 3509, i16 8363, i16 0, i16 8364, i16 0, i16 0, i16 2008, i16 0, i16 0, i16 3570, i16 2894, i16 0, i16 0, i16 0, i16 0, i16 850, i16 12532, i16 2316, i16 1895, i16 0, i16 0, i16 0, i16 12533, i16 3212, i16 12534, i16 871, i16 0, i16 0, i16 0, i16 3642, i16 3546, i16 0, i16 6745, i16 12535, i16 2756, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7672, i16 0, i16 3030, i16 3233, i16 0, i16 3875, i16 7673, i16 3559, i16 3876, i16 0, i16 0, i16 0, i16 3877, i16 0, i16 2813, i16 7674, i16 7675, i16 3878, i16 0, i16 7676, i16 2258, i16 1779, i16 1487, i16 3879, i16 1820, i16 1670, i16 7677, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3834, i16 0, i16 7631, i16 2907, i16 7632, i16 0, i16 2363, i16 3836, i16 3837, i16 3013, i16 1585, i16 3686, i16 3838, i16 0, i16 0, i16 1315, i16 0, i16 0, i16 0, i16 3217, i16 2459, i16 1390, i16 2740, i16 0, i16 0, i16 0, i16 1486, i16 0, i16 7633, i16 0, i16 0, i16 0, i16 13052, i16 0, i16 0, i16 0, i16 0, i16 13053, i16 0, i16 0, i16 13051, i16 0, i16 0, i16 0, i16 13054, i16 0, i16 13055, i16 13056, i16 13057, i16 0, i16 0, i16 13058, i16 13059, i16 0, i16 0, i16 13060, i16 7032, i16 7033, i16 13061, i16 13062, i16 7034, i16 0, i16 0, i16 0, i16 9469, i16 0, i16 9470, i16 9471, i16 0, i16 0, i16 4997, i16 9472, i16 0, i16 0, i16 0, i16 9473, i16 9474, i16 1844, i16 9475, i16 3394, i16 9476, i16 4998, i16 4999, i16 0, i16 0, i16 1219, i16 0, i16 9477, i16 0, i16 5000, i16 0, i16 0, i16 0, i16 9478, i16 0, i16 2304, i16 0, i16 6423, i16 11858, i16 11859, i16 0, i16 11860, i16 1554, i16 0, i16 6420, i16 6421, i16 11861, i16 0, i16 0, i16 3668, i16 11862, i16 11864, i16 11865, i16 2648, i16 11866, i16 2352, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6424, i16 11867, i16 0, i16 6427, i16 0, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 0, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 520, i16 521, i16 522, i16 523, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 0, i16 1028, i16 1703, i16 6923, i16 6922, i16 3382, i16 0, i16 0, i16 12844, i16 0, i16 0, i16 12845, i16 12846, i16 6925, i16 6926, i16 6924, i16 0, i16 6927, i16 0, i16 0, i16 3349, i16 12847, i16 12848, i16 12849, i16 6928, i16 0, i16 1306, i16 12850, i16 0, i16 0, i16 12851, i16 0, i16 0, i16 6661, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6659, i16 0, i16 0, i16 12412, i16 12413, i16 0, i16 12414, i16 12415, i16 12416, i16 12417, i16 6660, i16 6658, i16 0, i16 2525, i16 0, i16 6662, i16 12418, i16 0, i16 12420, i16 0, i16 12419, i16 0, i16 12549, i16 6764, i16 12550, i16 6761, i16 0, i16 6762, i16 0, i16 6763, i16 6765, i16 12551, i16 0, i16 0, i16 0, i16 12552, i16 12553, i16 0, i16 0, i16 2285, i16 0, i16 0, i16 12554, i16 3464, i16 12555, i16 12556, i16 2286, i16 12557, i16 12558, i16 6766, i16 0, i16 3084, i16 0, i16 0, i16 6663, i16 0, i16 12421, i16 6665, i16 12422, i16 0, i16 0, i16 12423, i16 0, i16 12424, i16 0, i16 12425, i16 0, i16 0, i16 0, i16 0, i16 1174, i16 6664, i16 3467, i16 0, i16 12426, i16 0, i16 0, i16 0, i16 12427, i16 6676, i16 6666, i16 12428, i16 0, i16 6669, i16 12429, i16 0, i16 4105, i16 8057, i16 0, i16 1690, i16 8058, i16 2550, i16 8059, i16 8060, i16 4102, i16 2683, i16 8061, i16 0, i16 8062, i16 8063, i16 8064, i16 8065, i16 8066, i16 0, i16 8067, i16 8068, i16 8069, i16 0, i16 8070, i16 0, i16 8071, i16 8072, i16 8073, i16 8074, i16 0, i16 8075, i16 4106, i16 0, i16 6409, i16 11827, i16 0, i16 11828, i16 2647, i16 0, i16 0, i16 11829, i16 0, i16 898, i16 0, i16 0, i16 11830, i16 0, i16 0, i16 11831, i16 11832, i16 0, i16 0, i16 0, i16 11833, i16 0, i16 0, i16 0, i16 6410, i16 0, i16 0, i16 0, i16 0, i16 11834, i16 11835, i16 0, i16 3338, i16 2521, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3370, i16 0, i16 0, i16 5024, i16 0, i16 9517, i16 5025, i16 9518, i16 980, i16 9519, i16 0, i16 0, i16 0, i16 3197, i16 3470, i16 5027, i16 1876, i16 2095, i16 5020, i16 5026, i16 911, i16 0, i16 3595, i16 0, i16 7373, i16 7374, i16 0, i16 3223, i16 0, i16 7375, i16 0, i16 3714, i16 7376, i16 0, i16 2601, i16 7377, i16 7378, i16 7379, i16 3715, i16 1399, i16 0, i16 0, i16 7380, i16 3716, i16 0, i16 1182, i16 2547, i16 0, i16 1944, i16 3717, i16 0, i16 0, i16 3718, i16 0, i16 4364, i16 4365, i16 2956, i16 0, i16 0, i16 8542, i16 0, i16 4366, i16 3652, i16 3672, i16 8544, i16 8543, i16 0, i16 8545, i16 4368, i16 4367, i16 8546, i16 8547, i16 1066, i16 8548, i16 8549, i16 4369, i16 0, i16 0, i16 0, i16 4372, i16 4373, i16 8550, i16 4371, i16 8551, i16 3127, i16 0, i16 1549, i16 1851, i16 0, i16 0, i16 3079, i16 10923, i16 10924, i16 0, i16 1507, i16 3318, i16 10925, i16 5857, i16 5855, i16 0, i16 1637, i16 0, i16 1638, i16 818, i16 0, i16 1757, i16 0, i16 0, i16 0, i16 10926, i16 10927, i16 2964, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3599, i16 9227, i16 4820, i16 9228, i16 2970, i16 9229, i16 0, i16 9230, i16 0, i16 0, i16 0, i16 0, i16 4828, i16 0, i16 4815, i16 0, i16 0, i16 0, i16 765, i16 4817, i16 0, i16 9231, i16 1619, i16 9232, i16 0, i16 9233, i16 4819, i16 9234, i16 4818, i16 0, i16 4814, i16 0, i16 4879, i16 0, i16 4887, i16 0, i16 9315, i16 0, i16 7096, i16 9316, i16 0, i16 4884, i16 1620, i16 2665, i16 2411, i16 4882, i16 0, i16 4877, i16 9317, i16 0, i16 4880, i16 0, i16 0, i16 9318, i16 9319, i16 3516, i16 3357, i16 0, i16 0, i16 0, i16 4885, i16 4895, i16 0, i16 0, i16 11023, i16 11024, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11025, i16 5925, i16 1641, i16 5926, i16 3045, i16 0, i16 5940, i16 0, i16 0, i16 0, i16 11026, i16 5928, i16 11027, i16 2478, i16 2992, i16 1528, i16 5927, i16 2348, i16 11028, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5395, i16 5396, i16 0, i16 10200, i16 10201, i16 0, i16 5400, i16 5397, i16 5398, i16 5399, i16 0, i16 5401, i16 10202, i16 10203, i16 10204, i16 5402, i16 10205, i16 5403, i16 0, i16 10206, i16 0, i16 5404, i16 0, i16 5405, i16 0, i16 3016, i16 2767, i16 5406, i16 2989, i16 3115, i16 0, i16 0, i16 8468, i16 4323, i16 8469, i16 4322, i16 0, i16 0, i16 4321, i16 8470, i16 0, i16 8471, i16 2791, i16 4300, i16 0, i16 0, i16 0, i16 4329, i16 0, i16 8472, i16 8473, i16 8474, i16 8475, i16 0, i16 0, i16 0, i16 8476, i16 0, i16 8477, i16 0, i16 4325, i16 0, i16 8478, i16 0, i16 6679, i16 0, i16 12440, i16 12439, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1304, i16 3121, i16 0, i16 9655, i16 0, i16 1904, i16 0, i16 9656, i16 1678, i16 9657, i16 0, i16 9658, i16 9659, i16 0, i16 3678, i16 0, i16 5110, i16 0, i16 5122, i16 912, i16 2413, i16 9660, i16 0, i16 9661, i16 0, i16 9662, i16 9663, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8729, i16 4504, i16 0, i16 4505, i16 8730, i16 8731, i16 4494, i16 1871, i16 8732, i16 4498, i16 2491, i16 1609, i16 4480, i16 2176, i16 0, i16 0, i16 0, i16 0, i16 4518, i16 0, i16 3262, i16 0, i16 0, i16 4508, i16 4509, i16 4510, i16 0, i16 0, i16 4517, i16 8733, i16 4516, i16 0, i16 9757, i16 0, i16 0, i16 0, i16 9758, i16 9759, i16 0, i16 0, i16 3666, i16 2225, i16 0, i16 0, i16 0, i16 913, i16 0, i16 0, i16 0, i16 5174, i16 0, i16 9760, i16 9761, i16 9762, i16 9763, i16 9764, i16 5173, i16 0, i16 9765, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7458, i16 7459, i16 1127, i16 7460, i16 7461, i16 3762, i16 0, i16 3754, i16 7462, i16 7463, i16 3632, i16 7464, i16 1867, i16 7465, i16 3755, i16 7466, i16 3760, i16 7467, i16 7468, i16 7469, i16 0, i16 3763, i16 7470, i16 3756, i16 7471, i16 7472, i16 1310, i16 0, i16 790, i16 7473, i16 7474, i16 0, i16 11555, i16 6226, i16 0, i16 6231, i16 0, i16 11556, i16 3192, i16 0, i16 0, i16 6233, i16 0, i16 6232, i16 11557, i16 11558, i16 11559, i16 1103, i16 0, i16 3294, i16 6234, i16 0, i16 11560, i16 11561, i16 0, i16 11562, i16 11563, i16 11564, i16 0, i16 11565, i16 6246, i16 6236, i16 0, i16 0, i16 1572, i16 0, i16 0, i16 0, i16 0, i16 5480, i16 2711, i16 0, i16 0, i16 10359, i16 0, i16 5483, i16 1050, i16 5478, i16 10360, i16 0, i16 3075, i16 0, i16 855, i16 10361, i16 1761, i16 0, i16 3709, i16 10362, i16 0, i16 5482, i16 0, i16 0, i16 10364, i16 10365, i16 10366, i16 0, i16 6950, i16 6947, i16 6946, i16 6948, i16 12905, i16 0, i16 12906, i16 1466, i16 0, i16 12907, i16 12908, i16 0, i16 0, i16 0, i16 12909, i16 6954, i16 6953, i16 6952, i16 12910, i16 0, i16 764, i16 0, i16 12911, i16 12912, i16 12913, i16 12914, i16 0, i16 0, i16 12915, i16 0, i16 12916, i16 0, i16 2856, i16 4921, i16 0, i16 9357, i16 0, i16 4923, i16 9358, i16 0, i16 0, i16 9359, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9360, i16 4917, i16 9361, i16 0, i16 0, i16 0, i16 0, i16 4919, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9362, i16 1091, i16 0, i16 11816, i16 0, i16 11817, i16 6393, i16 6394, i16 0, i16 6396, i16 2440, i16 11818, i16 6395, i16 1191, i16 0, i16 6398, i16 0, i16 6397, i16 6399, i16 0, i16 11819, i16 6401, i16 6403, i16 0, i16 6404, i16 11820, i16 0, i16 0, i16 0, i16 11821, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6188, i16 6187, i16 6118, i16 0, i16 0, i16 0, i16 6192, i16 11497, i16 0, i16 0, i16 0, i16 0, i16 11498, i16 11499, i16 0, i16 11500, i16 6189, i16 11501, i16 0, i16 0, i16 11502, i16 6190, i16 0, i16 0, i16 6191, i16 11503, i16 6193, i16 11504, i16 0, i16 0, i16 0, i16 0, i16 8237, i16 0, i16 8238, i16 8239, i16 0, i16 4188, i16 0, i16 8240, i16 1827, i16 8241, i16 1826, i16 0, i16 8242, i16 0, i16 0, i16 770, i16 1537, i16 8243, i16 2260, i16 794, i16 0, i16 0, i16 0, i16 0, i16 4192, i16 4193, i16 0, i16 4190, i16 8244, i16 8245, i16 8246, i16 0, i16 4912, i16 4937, i16 4936, i16 0, i16 0, i16 9383, i16 0, i16 9385, i16 9384, i16 0, i16 0, i16 9386, i16 0, i16 0, i16 0, i16 9387, i16 4942, i16 0, i16 3665, i16 9388, i16 9389, i16 9390, i16 0, i16 0, i16 0, i16 4945, i16 1400, i16 9391, i16 9392, i16 4941, i16 4943, i16 0, i16 12592, i16 0, i16 6789, i16 12593, i16 12594, i16 6790, i16 12595, i16 6791, i16 12596, i16 12597, i16 6792, i16 12598, i16 12599, i16 12600, i16 0, i16 12601, i16 12602, i16 0, i16 1179, i16 12603, i16 0, i16 0, i16 12604, i16 12605, i16 12606, i16 0, i16 12610, i16 6793, i16 12607, i16 12608, i16 0, i16 0, i16 819, i16 0, i16 12066, i16 12067, i16 12068, i16 0, i16 12069, i16 12070, i16 0, i16 1648, i16 0, i16 12064, i16 0, i16 3685, i16 0, i16 0, i16 0, i16 12079, i16 0, i16 0, i16 12071, i16 0, i16 12072, i16 12073, i16 12074, i16 0, i16 6560, i16 12075, i16 12076, i16 0, i16 12077, i16 0, i16 6451, i16 11911, i16 11912, i16 6454, i16 6453, i16 0, i16 6452, i16 0, i16 11913, i16 6456, i16 6455, i16 0, i16 3463, i16 0, i16 0, i16 11914, i16 6458, i16 11915, i16 6457, i16 6459, i16 11916, i16 0, i16 0, i16 0, i16 6460, i16 11917, i16 11918, i16 0, i16 11919, i16 11920, i16 0, i16 0, i16 1332, i16 9520, i16 0, i16 5017, i16 5022, i16 9521, i16 0, i16 0, i16 2333, i16 2988, i16 0, i16 3072, i16 9522, i16 0, i16 9523, i16 9524, i16 9525, i16 9526, i16 5019, i16 9527, i16 3284, i16 9528, i16 5021, i16 0, i16 5030, i16 9529, i16 5028, i16 9530, i16 5023, i16 0, i16 0, i16 0, i16 6708, i16 12480, i16 0, i16 12481, i16 12482, i16 12483, i16 0, i16 6709, i16 0, i16 1754, i16 0, i16 12484, i16 0, i16 6710, i16 6711, i16 0, i16 12485, i16 3324, i16 12486, i16 0, i16 0, i16 0, i16 12487, i16 12488, i16 12489, i16 12490, i16 2386, i16 12491, i16 12492, i16 0, i16 749, i16 0, i16 12852, i16 0, i16 12853, i16 0, i16 12854, i16 12855, i16 0, i16 12856, i16 0, i16 12857, i16 12858, i16 12859, i16 12860, i16 12861, i16 3664, i16 0, i16 0, i16 0, i16 12862, i16 6929, i16 12863, i16 0, i16 12864, i16 12865, i16 12866, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12867, i16 0, i16 10805, i16 10806, i16 0, i16 0, i16 10807, i16 5742, i16 5750, i16 0, i16 5758, i16 5757, i16 10808, i16 0, i16 3373, i16 10809, i16 10810, i16 1414, i16 0, i16 0, i16 10811, i16 0, i16 0, i16 0, i16 0, i16 10812, i16 5756, i16 0, i16 5760, i16 5759, i16 5763, i16 10813, i16 5765, i16 0, i16 2872, i16 2230, i16 12031, i16 12032, i16 2588, i16 0, i16 1397, i16 0, i16 6536, i16 3494, i16 870, i16 12033, i16 3244, i16 998, i16 6531, i16 6532, i16 6533, i16 6534, i16 2840, i16 2534, i16 812, i16 6538, i16 0, i16 6539, i16 7097, i16 0, i16 12034, i16 2466, i16 12035, i16 6540, i16 0, i16 0, i16 6969, i16 12928, i16 12929, i16 6968, i16 6967, i16 12930, i16 12931, i16 12932, i16 12933, i16 12934, i16 0, i16 0, i16 3136, i16 6965, i16 828, i16 6970, i16 12935, i16 6972, i16 0, i16 0, i16 12936, i16 12937, i16 12938, i16 0, i16 1106, i16 6951, i16 862, i16 0, i16 12939, i16 6974, i16 0, i16 0, i16 9018, i16 4694, i16 4695, i16 0, i16 9019, i16 0, i16 3213, i16 4241, i16 2287, i16 9020, i16 0, i16 3139, i16 0, i16 1741, i16 0, i16 3070, i16 3036, i16 9021, i16 0, i16 0, i16 9022, i16 0, i16 2764, i16 9023, i16 3598, i16 0, i16 4697, i16 1921, i16 9024, i16 0, i16 4698, i16 0, i16 1341, i16 12391, i16 0, i16 6651, i16 6645, i16 12392, i16 12393, i16 6644, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12395, i16 12396, i16 12394, i16 12397, i16 12398, i16 0, i16 12399, i16 0, i16 0, i16 0, i16 6462, i16 11921, i16 0, i16 0, i16 0, i16 0, i16 11922, i16 0, i16 11923, i16 6461, i16 2195, i16 6463, i16 11924, i16 11925, i16 1386, i16 6464, i16 6466, i16 0, i16 11926, i16 0, i16 11927, i16 0, i16 0, i16 0, i16 0, i16 11928, i16 11929, i16 0, i16 0, i16 6467, i16 0, i16 0, i16 10814, i16 1807, i16 5761, i16 0, i16 0, i16 10815, i16 10816, i16 5766, i16 5767, i16 10817, i16 0, i16 5768, i16 10818, i16 5774, i16 2746, i16 5770, i16 10819, i16 5769, i16 5771, i16 5772, i16 10820, i16 5773, i16 0, i16 10821, i16 0, i16 10822, i16 5775, i16 5776, i16 10823, i16 10824, i16 0, i16 0, i16 11328, i16 6096, i16 0, i16 0, i16 0, i16 0, i16 11329, i16 0, i16 11330, i16 0, i16 0, i16 0, i16 3557, i16 0, i16 5430, i16 6098, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11331, i16 0, i16 11332, i16 0, i16 11333, i16 0, i16 11334, i16 11335, i16 0, i16 6099, i16 0, i16 8772, i16 8773, i16 4542, i16 0, i16 8776, i16 4541, i16 8774, i16 0, i16 8775, i16 0, i16 0, i16 8777, i16 8778, i16 0, i16 8779, i16 0, i16 0, i16 2633, i16 0, i16 4545, i16 0, i16 4543, i16 4533, i16 1495, i16 0, i16 4544, i16 0, i16 4548, i16 4547, i16 4549, i16 4546, i16 0, i16 9798, i16 0, i16 0, i16 0, i16 9799, i16 9800, i16 9801, i16 0, i16 3656, i16 9802, i16 9803, i16 5194, i16 0, i16 2338, i16 0, i16 9804, i16 0, i16 9805, i16 0, i16 0, i16 5190, i16 5195, i16 9806, i16 0, i16 915, i16 9807, i16 0, i16 9808, i16 0, i16 9809, i16 0, i16 0, i16 2122, i16 6364, i16 11773, i16 11774, i16 0, i16 11775, i16 0, i16 11776, i16 11777, i16 1666, i16 3724, i16 6365, i16 11778, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11779, i16 0, i16 11780, i16 11781, i16 0, i16 6366, i16 3126, i16 6367, i16 11782, i16 6375, i16 0, i16 11783, i16 0, i16 0, i16 1355, i16 1412, i16 5657, i16 0, i16 0, i16 10668, i16 10669, i16 0, i16 3209, i16 0, i16 2227, i16 0, i16 3393, i16 0, i16 10670, i16 5658, i16 0, i16 3584, i16 0, i16 10671, i16 2991, i16 0, i16 2381, i16 2927, i16 0, i16 0, i16 2012, i16 0, i16 0, i16 10672, i16 777, i16 0, i16 13131, i16 0, i16 13132, i16 13133, i16 13134, i16 13135, i16 13136, i16 0, i16 0, i16 7078, i16 5519, i16 0, i16 0, i16 6400, i16 6795, i16 0, i16 0, i16 7079, i16 13137, i16 7080, i16 13138, i16 13139, i16 13140, i16 13141, i16 0, i16 13142, i16 0, i16 0, i16 13143, i16 13144, i16 7082, i16 0, i16 12365, i16 0, i16 12366, i16 12367, i16 0, i16 12368, i16 1054, i16 12369, i16 12375, i16 0, i16 12370, i16 6638, i16 6639, i16 2660, i16 0, i16 6637, i16 0, i16 0, i16 0, i16 12371, i16 12372, i16 12373, i16 0, i16 0, i16 6641, i16 12374, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1872, i16 4600, i16 8835, i16 8836, i16 0, i16 0, i16 1835, i16 4601, i16 781, i16 8837, i16 8838, i16 4596, i16 8839, i16 0, i16 0, i16 8840, i16 2634, i16 0, i16 8841, i16 0, i16 0, i16 8842, i16 0, i16 8843, i16 1298, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1329, i16 0, i16 1618, i16 1119, i16 0, i16 0, i16 0, i16 0, i16 9199, i16 9198, i16 4803, i16 1111, i16 4809, i16 9200, i16 9201, i16 0, i16 9202, i16 9203, i16 9204, i16 4806, i16 9205, i16 2332, i16 0, i16 0, i16 0, i16 1070, i16 1697, i16 0, i16 9206, i16 1069, i16 1732, i16 0, i16 9207, i16 0, i16 6996, i16 12990, i16 12991, i16 6993, i16 12988, i16 6999, i16 12992, i16 7000, i16 0, i16 12993, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7005, i16 7004, i16 0, i16 12994, i16 12995, i16 0, i16 0, i16 0, i16 0, i16 7006, i16 0, i16 0, i16 852, i16 7001, i16 7002, i16 12996, i16 0, i16 4182, i16 2908, i16 3063, i16 3426, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2912, i16 8220, i16 8221, i16 4191, i16 8222, i16 0, i16 0, i16 0, i16 8223, i16 1239, i16 0, i16 8224, i16 3508, i16 8225, i16 0, i16 3392, i16 0, i16 4286, i16 0, i16 4183, i16 0, i16 8226, i16 0, i16 1880, i16 0, i16 0, i16 0, i16 5494, i16 5489, i16 10378, i16 10379, i16 10380, i16 5495, i16 5490, i16 10381, i16 0, i16 10382, i16 0, i16 3057, i16 5488, i16 10383, i16 10384, i16 5491, i16 10385, i16 10386, i16 0, i16 0, i16 0, i16 5498, i16 10388, i16 0, i16 0, i16 0, i16 10389, i16 0, i16 9560, i16 0, i16 5043, i16 5045, i16 9561, i16 865, i16 9562, i16 0, i16 1623, i16 3677, i16 0, i16 1056, i16 0, i16 3161, i16 9563, i16 9564, i16 0, i16 0, i16 0, i16 3536, i16 0, i16 0, i16 1031, i16 2182, i16 5047, i16 0, i16 0, i16 9565, i16 0, i16 0, i16 0, i16 0, i16 12376, i16 0, i16 6647, i16 12377, i16 12378, i16 12379, i16 12380, i16 6650, i16 12381, i16 12382, i16 12383, i16 12384, i16 12385, i16 0, i16 0, i16 6649, i16 2732, i16 0, i16 12386, i16 0, i16 0, i16 6642, i16 6643, i16 6646, i16 12387, i16 0, i16 0, i16 12388, i16 6648, i16 12389, i16 12390, i16 0, i16 11868, i16 0, i16 0, i16 11869, i16 11870, i16 11871, i16 0, i16 6425, i16 6426, i16 3528, i16 11872, i16 0, i16 0, i16 0, i16 2820, i16 6430, i16 11873, i16 0, i16 0, i16 11874, i16 0, i16 11875, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6428, i16 6429, i16 6431, i16 0, i16 12126, i16 2216, i16 6569, i16 12127, i16 6570, i16 0, i16 12128, i16 0, i16 6571, i16 3550, i16 0, i16 1990, i16 12129, i16 0, i16 0, i16 0, i16 0, i16 6573, i16 6572, i16 12130, i16 1649, i16 0, i16 1674, i16 1811, i16 12131, i16 12132, i16 12133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4703, i16 9033, i16 4701, i16 4704, i16 3590, i16 4702, i16 0, i16 9034, i16 9035, i16 0, i16 2340, i16 4705, i16 0, i16 9036, i16 2455, i16 9037, i16 0, i16 4706, i16 0, i16 9038, i16 0, i16 9039, i16 1211, i16 9040, i16 4708, i16 0, i16 4707, i16 0, i16 0, i16 0, i16 9041, i16 0, i16 11104, i16 11105, i16 5986, i16 0, i16 0, i16 0, i16 0, i16 826, i16 0, i16 0, i16 5977, i16 11106, i16 11107, i16 11108, i16 5976, i16 11109, i16 5971, i16 5970, i16 11110, i16 5968, i16 5967, i16 2598, i16 11111, i16 2528, i16 5973, i16 11112, i16 0, i16 11113, i16 11114, i16 0, i16 0, i16 0, i16 11364, i16 0, i16 6107, i16 2941, i16 0, i16 11365, i16 11366, i16 11367, i16 6108, i16 6109, i16 6119, i16 0, i16 11368, i16 0, i16 6113, i16 6116, i16 11369, i16 0, i16 11370, i16 11371, i16 11372, i16 6112, i16 11373, i16 11374, i16 11375, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11376, i16 0, i16 12134, i16 6576, i16 12135, i16 0, i16 12136, i16 12137, i16 2037, i16 0, i16 6575, i16 12138, i16 6574, i16 0, i16 2510, i16 12139, i16 0, i16 1576, i16 12140, i16 2284, i16 12141, i16 12142, i16 12143, i16 0, i16 3017, i16 12144, i16 0, i16 0, i16 0, i16 1992, i16 0, i16 12145, i16 0, i16 0, i16 4458, i16 8665, i16 4461, i16 4463, i16 0, i16 8666, i16 0, i16 8667, i16 1902, i16 8668, i16 4469, i16 2705, i16 4459, i16 8669, i16 0, i16 0, i16 8670, i16 4467, i16 8671, i16 1022, i16 8672, i16 4465, i16 4466, i16 8673, i16 0, i16 4462, i16 4464, i16 0, i16 8674, i16 8675, i16 1568, i16 0, i16 7018, i16 7024, i16 13030, i16 7017, i16 0, i16 7022, i16 13031, i16 0, i16 13032, i16 13033, i16 0, i16 0, i16 0, i16 0, i16 7023, i16 0, i16 0, i16 0, i16 7026, i16 13034, i16 13035, i16 13036, i16 13037, i16 0, i16 7025, i16 13038, i16 0, i16 0, i16 0, i16 13039, i16 13040, i16 0, i16 10858, i16 10859, i16 5804, i16 1421, i16 0, i16 10860, i16 0, i16 2345, i16 1248, i16 10861, i16 0, i16 0, i16 10862, i16 5808, i16 5805, i16 0, i16 0, i16 5806, i16 0, i16 10863, i16 0, i16 5809, i16 0, i16 5810, i16 5807, i16 0, i16 0, i16 10864, i16 848, i16 0, i16 10865, i16 0, i16 3180, i16 2325, i16 0, i16 1918, i16 4261, i16 2074, i16 4262, i16 4263, i16 796, i16 2463, i16 2205, i16 8379, i16 4264, i16 2832, i16 2075, i16 0, i16 2076, i16 0, i16 4265, i16 0, i16 0, i16 2326, i16 8380, i16 0, i16 0, i16 2077, i16 0, i16 0, i16 0, i16 8381, i16 8382, i16 0, i16 12400, i16 12401, i16 6655, i16 12402, i16 0, i16 0, i16 6656, i16 12403, i16 12404, i16 0, i16 0, i16 0, i16 12405, i16 12406, i16 12407, i16 6657, i16 0, i16 0, i16 6654, i16 6653, i16 12408, i16 12409, i16 12410, i16 2127, i16 2823, i16 6652, i16 0, i16 0, i16 0, i16 0, i16 12411, i16 0, i16 8562, i16 8563, i16 8564, i16 8565, i16 3456, i16 1522, i16 1541, i16 8566, i16 4392, i16 0, i16 8567, i16 8568, i16 4393, i16 8569, i16 4399, i16 8570, i16 1942, i16 0, i16 0, i16 8571, i16 2630, i16 8572, i16 1324, i16 4394, i16 0, i16 0, i16 8573, i16 3106, i16 8574, i16 2569, i16 8575, i16 0, i16 12146, i16 6577, i16 0, i16 2124, i16 0, i16 12147, i16 0, i16 12148, i16 0, i16 6580, i16 6578, i16 12149, i16 12150, i16 12151, i16 6579, i16 12152, i16 12153, i16 12154, i16 12155, i16 6582, i16 6581, i16 12156, i16 0, i16 2151, i16 0, i16 6583, i16 12157, i16 12158, i16 12159, i16 0, i16 12160, i16 0, i16 3960, i16 7810, i16 1256, i16 1065, i16 0, i16 0, i16 0, i16 1662, i16 1255, i16 2688, i16 844, i16 2830, i16 3407, i16 1592, i16 3560, i16 2758, i16 1591, i16 0, i16 7811, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7812, i16 1418, i16 0, i16 3969, i16 0, i16 1376, i16 0, i16 3705, i16 11299, i16 0, i16 0, i16 0, i16 0, i16 11300, i16 0, i16 6080, i16 11301, i16 11302, i16 0, i16 3556, i16 11303, i16 6082, i16 6084, i16 0, i16 0, i16 0, i16 0, i16 6085, i16 0, i16 0, i16 11305, i16 0, i16 11306, i16 0, i16 6088, i16 6086, i16 0, i16 11307, i16 0, i16 10363, i16 0, i16 5484, i16 10367, i16 0, i16 0, i16 3232, i16 10368, i16 2306, i16 5486, i16 0, i16 10369, i16 10370, i16 0, i16 5487, i16 10371, i16 10372, i16 10373, i16 10374, i16 0, i16 5485, i16 0, i16 0, i16 0, i16 0, i16 1073, i16 10375, i16 5493, i16 10376, i16 5492, i16 10377, i16 0, i16 12670, i16 1233, i16 12671, i16 0, i16 12672, i16 12673, i16 12674, i16 0, i16 6823, i16 12675, i16 6824, i16 0, i16 3910, i16 4959, i16 3052, i16 0, i16 0, i16 836, i16 12676, i16 772, i16 0, i16 12677, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1863, i16 3299, i16 2155, i16 0, i16 0, i16 1408, i16 6500, i16 6501, i16 6502, i16 11984, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8328, i16 2139, i16 0, i16 0, i16 8329, i16 0, i16 0, i16 0, i16 0, i16 4225, i16 0, i16 2685, i16 8330, i16 0, i16 0, i16 876, i16 0, i16 4223, i16 0, i16 8324, i16 0, i16 4226, i16 0, i16 8331, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4227, i16 0, i16 0, i16 4489, i16 8720, i16 0, i16 0, i16 0, i16 0, i16 4497, i16 4496, i16 0, i16 8721, i16 8722, i16 4501, i16 0, i16 0, i16 0, i16 8723, i16 8724, i16 0, i16 0, i16 4502, i16 8725, i16 8726, i16 8727, i16 0, i16 8728, i16 0, i16 0, i16 4500, i16 4503, i16 4495, i16 4499, i16 0, i16 8076, i16 2221, i16 8077, i16 0, i16 0, i16 0, i16 0, i16 4104, i16 4107, i16 0, i16 1434, i16 8078, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4108, i16 8079, i16 8088, i16 0, i16 8080, i16 0, i16 8081, i16 8082, i16 0, i16 8083, i16 8084, i16 8085, i16 8086, i16 0, i16 12940, i16 0, i16 12941, i16 12942, i16 12943, i16 6973, i16 6971, i16 2544, i16 12944, i16 12945, i16 0, i16 0, i16 0, i16 12946, i16 12947, i16 12948, i16 0, i16 3363, i16 12949, i16 12950, i16 0, i16 12951, i16 3623, i16 12952, i16 0, i16 6975, i16 12953, i16 12960, i16 12954, i16 12955, i16 12956, i16 0, i16 654, i16 7143, i16 7144, i16 7145, i16 7146, i16 7147, i16 7148, i16 7149, i16 7150, i16 7151, i16 7152, i16 7153, i16 0, i16 7154, i16 7155, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 0, i16 1423, i16 6557, i16 0, i16 6558, i16 12078, i16 0, i16 0, i16 3179, i16 0, i16 0, i16 12081, i16 0, i16 1079, i16 0, i16 12082, i16 12083, i16 0, i16 0, i16 0, i16 12084, i16 3496, i16 12080, i16 1340, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2771, i16 12085, i16 12086, i16 0, i16 10127, i16 5350, i16 0, i16 0, i16 10128, i16 5345, i16 5346, i16 0, i16 5349, i16 5348, i16 3100, i16 0, i16 0, i16 2377, i16 2376, i16 10129, i16 1246, i16 10130, i16 10131, i16 5351, i16 10132, i16 0, i16 0, i16 0, i16 10133, i16 5352, i16 0, i16 10134, i16 5353, i16 0, i16 0, i16 0, i16 11407, i16 0, i16 11408, i16 0, i16 6142, i16 0, i16 0, i16 11409, i16 6143, i16 0, i16 0, i16 0, i16 0, i16 11410, i16 11411, i16 0, i16 11412, i16 11413, i16 0, i16 6138, i16 0, i16 0, i16 6140, i16 0, i16 11414, i16 11415, i16 6141, i16 11416, i16 11417, i16 11418, i16 6139, i16 0, i16 5010, i16 5007, i16 3535, i16 0, i16 9507, i16 9508, i16 9509, i16 2657, i16 9510, i16 0, i16 0, i16 2870, i16 5008, i16 0, i16 0, i16 5016, i16 0, i16 5015, i16 1406, i16 9511, i16 9512, i16 946, i16 9513, i16 9514, i16 1712, i16 5009, i16 5011, i16 9515, i16 0, i16 0, i16 9516, i16 0, i16 8851, i16 8852, i16 8853, i16 8854, i16 0, i16 8855, i16 0, i16 0, i16 2447, i16 8856, i16 8857, i16 1790, i16 4606, i16 8858, i16 4608, i16 4604, i16 0, i16 8859, i16 8860, i16 8861, i16 3254, i16 0, i16 2654, i16 8862, i16 0, i16 0, i16 8863, i16 2403, i16 0, i16 0, i16 0, i16 0, i16 11163, i16 0, i16 6002, i16 2839, i16 0, i16 11164, i16 6007, i16 0, i16 0, i16 11165, i16 6004, i16 3291, i16 6010, i16 809, i16 11166, i16 0, i16 11167, i16 0, i16 5998, i16 0, i16 11168, i16 0, i16 0, i16 0, i16 11169, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3228, i16 2651, i16 1687, i16 0, i16 1655, i16 2038, i16 12619, i16 2215, i16 0, i16 12620, i16 0, i16 6801, i16 12622, i16 12623, i16 6800, i16 3505, i16 1193, i16 3051, i16 2873, i16 12624, i16 0, i16 12625, i16 2247, i16 3611, i16 12621, i16 1462, i16 0, i16 12626, i16 0, i16 12627, i16 0, i16 0, i16 4765, i16 0, i16 0, i16 0, i16 9146, i16 4768, i16 9147, i16 9148, i16 2244, i16 0, i16 0, i16 9149, i16 0, i16 3562, i16 786, i16 1749, i16 2465, i16 0, i16 1934, i16 9150, i16 9151, i16 2144, i16 0, i16 0, i16 4771, i16 0, i16 0, i16 2765, i16 9152, i16 4769, i16 2448, i16 0, i16 3230, i16 8167, i16 0, i16 8165, i16 4143, i16 0, i16 2568, i16 8168, i16 0, i16 1018, i16 0, i16 2138, i16 8169, i16 8170, i16 0, i16 8171, i16 4145, i16 8172, i16 4144, i16 8173, i16 1663, i16 8174, i16 4146, i16 4148, i16 4147, i16 8175, i16 0, i16 4150, i16 8176, i16 4139, i16 4152, i16 0, i16 6046, i16 0, i16 0, i16 0, i16 0, i16 11204, i16 0, i16 11205, i16 11206, i16 11207, i16 0, i16 0, i16 6024, i16 0, i16 11208, i16 0, i16 11209, i16 1114, i16 0, i16 11210, i16 0, i16 0, i16 0, i16 2149, i16 6035, i16 11211, i16 6040, i16 2426, i16 11212, i16 11213, i16 6036, i16 0, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 0, i16 6047, i16 11241, i16 11242, i16 11243, i16 11244, i16 2678, i16 11245, i16 0, i16 0, i16 11246, i16 11247, i16 6052, i16 839, i16 0, i16 11248, i16 0, i16 0, i16 11229, i16 11249, i16 11250, i16 2439, i16 11251, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3224, i16 0, i16 11252, i16 0, i16 9892, i16 1333, i16 5243, i16 5245, i16 0, i16 5244, i16 9893, i16 0, i16 9894, i16 0, i16 0, i16 9895, i16 0, i16 5246, i16 0, i16 1546, i16 0, i16 5247, i16 0, i16 0, i16 9896, i16 9897, i16 1382, i16 9898, i16 2375, i16 0, i16 1684, i16 0, i16 0, i16 0, i16 9899, i16 0, i16 10918, i16 0, i16 0, i16 5849, i16 5851, i16 5850, i16 3006, i16 10919, i16 2902, i16 0, i16 3689, i16 3010, i16 0, i16 10920, i16 0, i16 0, i16 0, i16 0, i16 5853, i16 0, i16 0, i16 2112, i16 0, i16 3105, i16 0, i16 5854, i16 5852, i16 10921, i16 1167, i16 10922, i16 0, i16 0, i16 7848, i16 3986, i16 0, i16 3995, i16 3988, i16 7849, i16 7850, i16 3992, i16 7851, i16 7852, i16 3993, i16 3989, i16 7853, i16 7854, i16 4022, i16 0, i16 7855, i16 1758, i16 1044, i16 0, i16 0, i16 0, i16 7856, i16 3987, i16 7857, i16 7858, i16 7859, i16 3997, i16 831, i16 3996, i16 7860, i16 0, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 458, i16 459, i16 460, i16 461, i16 0, i16 3248, i16 8554, i16 4385, i16 3673, i16 0, i16 8555, i16 8556, i16 8557, i16 4386, i16 3221, i16 4389, i16 3711, i16 3727, i16 8558, i16 1889, i16 2898, i16 4390, i16 0, i16 1276, i16 2629, i16 835, i16 4391, i16 3195, i16 1607, i16 8559, i16 0, i16 2579, i16 8560, i16 8561, i16 0, i16 2704, i16 0, i16 3000, i16 0, i16 12729, i16 2481, i16 895, i16 1387, i16 0, i16 1388, i16 12730, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2614, i16 6858, i16 1389, i16 12731, i16 12732, i16 1012, i16 0, i16 0, i16 6857, i16 12733, i16 12734, i16 6855, i16 12735, i16 6856, i16 12736, i16 6854, i16 0, i16 3513, i16 4657, i16 0, i16 8965, i16 4653, i16 0, i16 4654, i16 0, i16 8966, i16 8967, i16 8968, i16 8969, i16 2407, i16 8970, i16 0, i16 8971, i16 8972, i16 4652, i16 0, i16 4587, i16 8973, i16 0, i16 8974, i16 4656, i16 0, i16 4651, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6334, i16 11726, i16 11727, i16 11728, i16 11729, i16 11730, i16 0, i16 11731, i16 6338, i16 0, i16 0, i16 6335, i16 11736, i16 6337, i16 6336, i16 0, i16 0, i16 11732, i16 11733, i16 11734, i16 0, i16 6339, i16 0, i16 1890, i16 11735, i16 6341, i16 6340, i16 3167, i16 0, i16 11737, i16 6343, i16 0, i16 11198, i16 6026, i16 0, i16 6021, i16 11199, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2114, i16 0, i16 0, i16 0, i16 0, i16 1982, i16 0, i16 11200, i16 11201, i16 1885, i16 11202, i16 0, i16 0, i16 0, i16 3433, i16 0, i16 0, i16 3134, i16 0, i16 11203, i16 6037, i16 0, i16 6591, i16 0, i16 2689, i16 12170, i16 12171, i16 3336, i16 1401, i16 0, i16 12172, i16 12173, i16 0, i16 12174, i16 12175, i16 12176, i16 12177, i16 12178, i16 12179, i16 0, i16 0, i16 0, i16 6594, i16 6595, i16 12180, i16 0, i16 12181, i16 0, i16 12182, i16 6593, i16 12183, i16 0, i16 6597, i16 0, i16 3009, i16 4355, i16 3219, i16 4356, i16 0, i16 0, i16 0, i16 8521, i16 0, i16 8522, i16 8523, i16 8524, i16 8525, i16 8526, i16 0, i16 8527, i16 0, i16 1140, i16 3220, i16 2922, i16 4358, i16 4359, i16 0, i16 1603, i16 1141, i16 4360, i16 1521, i16 3507, i16 3480, i16 1207, i16 4362, i16 0, i16 3526, i16 0, i16 6257, i16 0, i16 0, i16 3193, i16 2945, i16 6258, i16 11600, i16 6259, i16 1508, i16 0, i16 11601, i16 0, i16 1227, i16 11602, i16 0, i16 0, i16 6260, i16 11603, i16 11604, i16 1854, i16 2940, i16 6261, i16 0, i16 1075, i16 11605, i16 11606, i16 0, i16 0, i16 11607, i16 0, i16 3783, i16 7516, i16 3268, i16 2576, i16 3779, i16 1484, i16 7517, i16 3776, i16 3784, i16 3778, i16 3614, i16 3785, i16 3692, i16 7518, i16 0, i16 7519, i16 0, i16 7520, i16 7521, i16 0, i16 7522, i16 1379, i16 0, i16 0, i16 1483, i16 0, i16 7546, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9159, i16 0, i16 0, i16 9160, i16 4783, i16 0, i16 3091, i16 0, i16 4774, i16 0, i16 4780, i16 4779, i16 0, i16 9161, i16 9162, i16 2296, i16 9163, i16 0, i16 9164, i16 0, i16 3360, i16 9165, i16 3616, i16 9166, i16 9167, i16 3354, i16 9168, i16 977, i16 1841, i16 0, i16 0, i16 0, i16 7112, i16 302, i16 303, i16 7120, i16 0, i16 7113, i16 309, i16 236, i16 7117, i16 7116, i16 0, i16 340, i16 0, i16 7118, i16 7106, i16 296, i16 283, i16 0, i16 0, i16 234, i16 0, i16 367, i16 0, i16 7103, i16 0, i16 7115, i16 0, i16 0, i16 0, i16 0, i16 7114, i16 0, i16 8138, i16 4127, i16 0, i16 8139, i16 0, i16 0, i16 8140, i16 8141, i16 925, i16 0, i16 2741, i16 0, i16 0, i16 0, i16 0, i16 4129, i16 0, i16 4125, i16 0, i16 0, i16 2203, i16 0, i16 0, i16 8142, i16 4133, i16 0, i16 0, i16 8143, i16 0, i16 2013, i16 8144, i16 0, i16 972, i16 4211, i16 0, i16 8307, i16 0, i16 8308, i16 0, i16 8309, i16 1900, i16 0, i16 4210, i16 1492, i16 0, i16 0, i16 8310, i16 4224, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4217, i16 4214, i16 0, i16 0, i16 8311, i16 0, i16 8312, i16 0, i16 0, i16 0, i16 0, i16 6865, i16 12747, i16 12748, i16 12749, i16 6867, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12750, i16 12751, i16 0, i16 1234, i16 6866, i16 12752, i16 12753, i16 2434, i16 1516, i16 0, i16 0, i16 12754, i16 0, i16 0, i16 6869, i16 0, i16 0, i16 0, i16 0, i16 12755, i16 0, i16 0, i16 10449, i16 0, i16 0, i16 0, i16 0, i16 1305, i16 5518, i16 10450, i16 10451, i16 5520, i16 10452, i16 0, i16 0, i16 5521, i16 10453, i16 2916, i16 10454, i16 0, i16 5522, i16 10455, i16 0, i16 0, i16 0, i16 10456, i16 5523, i16 5524, i16 10457, i16 0, i16 1366, i16 984, i16 2850, i16 0, i16 9683, i16 9684, i16 0, i16 2032, i16 0, i16 5139, i16 0, i16 9685, i16 0, i16 0, i16 0, i16 9686, i16 5132, i16 2637, i16 5129, i16 2682, i16 0, i16 0, i16 0, i16 5164, i16 0, i16 0, i16 0, i16 5126, i16 0, i16 5125, i16 0, i16 5134, i16 9687, i16 9688, i16 0, i16 0, i16 12499, i16 840, i16 2211, i16 2059, i16 1178, i16 6721, i16 0, i16 0, i16 0, i16 2977, i16 0, i16 6723, i16 0, i16 12500, i16 0, i16 841, i16 0, i16 6722, i16 2661, i16 12501, i16 3610, i16 2824, i16 6716, i16 3571, i16 0, i16 1514, i16 12502, i16 12503, i16 3530, i16 12504, i16 12505, i16 0, i16 6357, i16 0, i16 0, i16 0, i16 11760, i16 2819, i16 11761, i16 6359, i16 11762, i16 3296, i16 11763, i16 6360, i16 0, i16 6361, i16 11764, i16 6362, i16 11765, i16 0, i16 11766, i16 11767, i16 6363, i16 0, i16 11768, i16 11769, i16 11772, i16 2871, i16 11770, i16 0, i16 11771, i16 0, i16 0, i16 0, i16 11480, i16 0, i16 11481, i16 0, i16 6158, i16 11482, i16 0, i16 0, i16 11483, i16 11484, i16 11485, i16 0, i16 6178, i16 6182, i16 6177, i16 11486, i16 6184, i16 11488, i16 11489, i16 11490, i16 6186, i16 6185, i16 0, i16 11491, i16 11487, i16 11492, i16 11493, i16 11494, i16 0, i16 11495, i16 11496, i16 0, i16 12506, i16 12507, i16 12508, i16 12509, i16 1398, i16 3585, i16 0, i16 1411, i16 12510, i16 2503, i16 5873, i16 0, i16 6724, i16 1039, i16 2234, i16 0, i16 12511, i16 0, i16 0, i16 1081, i16 6726, i16 12512, i16 6727, i16 6725, i16 1471, i16 12513, i16 1746, i16 2128, i16 12514, i16 0, i16 12515, i16 0, i16 3548, i16 773, i16 5703, i16 0, i16 10730, i16 1290, i16 10731, i16 5700, i16 0, i16 10732, i16 0, i16 0, i16 0, i16 5701, i16 0, i16 10733, i16 2812, i16 5699, i16 5696, i16 0, i16 1035, i16 2317, i16 0, i16 10734, i16 1505, i16 10735, i16 10736, i16 0, i16 5708, i16 0, i16 10737, i16 0, i16 13021, i16 0, i16 0, i16 7014, i16 0, i16 0, i16 0, i16 0, i16 7015, i16 13022, i16 7010, i16 13023, i16 0, i16 13024, i16 6990, i16 0, i16 13025, i16 7016, i16 0, i16 2690, i16 13026, i16 0, i16 0, i16 7020, i16 13027, i16 7021, i16 7019, i16 13028, i16 0, i16 0, i16 13029, i16 0, i16 9187, i16 4794, i16 0, i16 4791, i16 0, i16 9188, i16 4799, i16 0, i16 4789, i16 0, i16 0, i16 4787, i16 0, i16 4795, i16 4785, i16 9189, i16 2607, i16 9190, i16 3465, i16 1911, i16 1769, i16 9191, i16 9192, i16 0, i16 9176, i16 0, i16 1711, i16 0, i16 0, i16 3362, i16 1060, i16 0, i16 3044, i16 0, i16 5746, i16 10797, i16 10798, i16 5741, i16 10799, i16 0, i16 0, i16 2344, i16 1453, i16 0, i16 1978, i16 10800, i16 0, i16 10801, i16 0, i16 10802, i16 0, i16 2160, i16 2365, i16 5752, i16 0, i16 10803, i16 5754, i16 5755, i16 0, i16 0, i16 5751, i16 5753, i16 10804, i16 0, i16 231, i16 0, i16 305, i16 301, i16 304, i16 306, i16 0, i16 263, i16 264, i16 307, i16 281, i16 225, i16 0, i16 226, i16 252, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 228, i16 229, i16 288, i16 286, i16 289, i16 230, i16 0, i16 3568, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11549, i16 6229, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11550, i16 11551, i16 11552, i16 6230, i16 2117, i16 6228, i16 11553, i16 0, i16 11554, i16 3542, i16 6225, i16 0, i16 0, i16 6227, i16 2278, i16 2249, i16 0, i16 0, i16 3824, i16 0, i16 7611, i16 0, i16 0, i16 0, i16 7612, i16 7613, i16 0, i16 3476, i16 0, i16 7614, i16 7615, i16 0, i16 7616, i16 0, i16 7617, i16 3434, i16 7618, i16 7619, i16 7620, i16 0, i16 3826, i16 7621, i16 7622, i16 3825, i16 3828, i16 3827, i16 0, i16 0, i16 3829, i16 0, i16 8177, i16 8178, i16 0, i16 4151, i16 4149, i16 0, i16 0, i16 0, i16 8179, i16 0, i16 1825, i16 2204, i16 0, i16 2395, i16 4153, i16 2277, i16 822, i16 2975, i16 8180, i16 0, i16 0, i16 0, i16 2684, i16 0, i16 4155, i16 4154, i16 4156, i16 4157, i16 4158, i16 0, i16 0, i16 0, i16 7922, i16 0, i16 7923, i16 4038, i16 4036, i16 7924, i16 4093, i16 0, i16 7925, i16 0, i16 7926, i16 7927, i16 0, i16 7928, i16 0, i16 0, i16 7929, i16 7930, i16 7931, i16 4041, i16 0, i16 0, i16 7932, i16 7933, i16 0, i16 4035, i16 7934, i16 4039, i16 0, i16 7935, i16 4037, i16 0, i16 8434, i16 0, i16 0, i16 0, i16 0, i16 8435, i16 2237, i16 0, i16 0, i16 0, i16 4302, i16 0, i16 8436, i16 1759, i16 0, i16 0, i16 4308, i16 8437, i16 0, i16 4309, i16 4303, i16 1046, i16 4304, i16 4313, i16 4312, i16 4311, i16 4307, i16 0, i16 0, i16 0, i16 4306, i16 0, i16 10738, i16 10739, i16 10740, i16 0, i16 10741, i16 10742, i16 0, i16 10743, i16 5705, i16 0, i16 10744, i16 10745, i16 10746, i16 0, i16 5707, i16 0, i16 10747, i16 0, i16 5704, i16 0, i16 0, i16 10748, i16 10749, i16 0, i16 1452, i16 2456, i16 5709, i16 2421, i16 10750, i16 10751, i16 5722, i16 0, i16 10227, i16 5421, i16 2961, i16 0, i16 10228, i16 3346, i16 0, i16 885, i16 10229, i16 894, i16 10230, i16 10231, i16 5422, i16 10232, i16 0, i16 0, i16 0, i16 5424, i16 0, i16 10233, i16 0, i16 5423, i16 2799, i16 0, i16 10234, i16 0, i16 2274, i16 4957, i16 0, i16 5425, i16 3410, i16 0, i16 9460, i16 0, i16 9461, i16 0, i16 0, i16 9462, i16 9463, i16 0, i16 0, i16 0, i16 4993, i16 4992, i16 0, i16 9464, i16 4995, i16 0, i16 9465, i16 0, i16 4994, i16 0, i16 0, i16 0, i16 9466, i16 0, i16 9467, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9468, i16 0, i16 5109, i16 0, i16 0, i16 0, i16 1156, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9674, i16 0, i16 9675, i16 9676, i16 9677, i16 1476, i16 0, i16 0, i16 9678, i16 5135, i16 9679, i16 9680, i16 5130, i16 2337, i16 9681, i16 9682, i16 1094, i16 0, i16 4855, i16 4834, i16 4854, i16 0, i16 4847, i16 4835, i16 0, i16 4851, i16 0, i16 4852, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4869, i16 9275, i16 0, i16 9276, i16 2859, i16 9277, i16 4842, i16 0, i16 9278, i16 4865, i16 0, i16 9279, i16 0, i16 4867, i16 0, i16 2681, i16 0, i16 3579, i16 0, i16 0, i16 2145, i16 2334, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9557, i16 0, i16 5048, i16 5046, i16 0, i16 3140, i16 0, i16 9558, i16 9559, i16 0, i16 8956, i16 0, i16 8957, i16 2736, i16 4647, i16 8958, i16 0, i16 8959, i16 4648, i16 0, i16 3174, i16 8960, i16 2944, i16 1782, i16 0, i16 2330, i16 0, i16 3331, i16 8961, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1068, i16 0, i16 4655, i16 4650, i16 8962, i16 8963, i16 8964, i16 0, i16 8190, i16 3397, i16 8191, i16 8192, i16 4164, i16 0, i16 2508, i16 8193, i16 2742, i16 2469, i16 3150, i16 4165, i16 4166, i16 930, i16 8194, i16 8195, i16 1899, i16 4167, i16 8196, i16 0, i16 8197, i16 8198, i16 793, i16 4168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4169, i16 8199, i16 0, i16 12543, i16 12544, i16 12545, i16 6755, i16 0, i16 0, i16 3401, i16 12546, i16 0, i16 6756, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6757, i16 12547, i16 3669, i16 12548, i16 0, i16 0, i16 0, i16 0, i16 4761, i16 6758, i16 0, i16 0, i16 0, i16 6759, i16 6760, i16 0, i16 11520, i16 1644, i16 6199, i16 810, i16 11521, i16 0, i16 0, i16 0, i16 3124, i16 11522, i16 0, i16 6200, i16 0, i16 0, i16 0, i16 0, i16 2229, i16 11523, i16 6207, i16 0, i16 0, i16 6204, i16 0, i16 2610, i16 0, i16 11524, i16 0, i16 11525, i16 0, i16 6205, i16 6202, i16 1371, i16 5889, i16 0, i16 10986, i16 5892, i16 5891, i16 0, i16 0, i16 0, i16 3319, i16 5895, i16 0, i16 0, i16 0, i16 0, i16 10987, i16 0, i16 5896, i16 0, i16 10988, i16 2366, i16 10989, i16 5897, i16 0, i16 0, i16 5899, i16 0, i16 5903, i16 10990, i16 0, i16 5900, i16 5898, i16 2938, i16 6145, i16 11425, i16 0, i16 6156, i16 11426, i16 11427, i16 993, i16 0, i16 6152, i16 0, i16 6157, i16 0, i16 0, i16 0, i16 6153, i16 11428, i16 0, i16 11429, i16 11430, i16 0, i16 6150, i16 0, i16 2644, i16 0, i16 6147, i16 0, i16 0, i16 11431, i16 0, i16 0, i16 0, i16 2979, i16 11265, i16 11266, i16 11267, i16 6058, i16 11268, i16 0, i16 0, i16 0, i16 3706, i16 2815, i16 3178, i16 11269, i16 0, i16 6071, i16 0, i16 11270, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6077, i16 0, i16 11271, i16 11272, i16 11273, i16 0, i16 11274, i16 6078, i16 11275, i16 12802, i16 0, i16 6898, i16 6899, i16 12803, i16 12804, i16 6900, i16 12805, i16 0, i16 12806, i16 3018, i16 6902, i16 12807, i16 3101, i16 6903, i16 6901, i16 0, i16 6905, i16 12808, i16 12809, i16 6904, i16 12810, i16 0, i16 6906, i16 0, i16 12811, i16 12812, i16 6907, i16 0, i16 12813, i16 0, i16 12814, i16 4611, i16 0, i16 8875, i16 2404, i16 8876, i16 0, i16 0, i16 8877, i16 1961, i16 4616, i16 8878, i16 0, i16 2085, i16 0, i16 4610, i16 4615, i16 8879, i16 0, i16 2958, i16 0, i16 8880, i16 8881, i16 4609, i16 0, i16 1404, i16 8882, i16 8883, i16 1088, i16 0, i16 0, i16 8884, i16 4617, i16 4100, i16 0, i16 1753, i16 0, i16 0, i16 8052, i16 8053, i16 1358, i16 0, i16 0, i16 3306, i16 0, i16 8054, i16 8055, i16 4098, i16 4101, i16 1718, i16 1594, i16 8056, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9732, i16 0, i16 0, i16 9733, i16 0, i16 0, i16 2616, i16 2514, i16 0, i16 0, i16 0, i16 0, i16 2254, i16 0, i16 0, i16 9734, i16 5168, i16 0, i16 5170, i16 0, i16 9735, i16 0, i16 0, i16 9736, i16 0, i16 9737, i16 0, i16 0, i16 9738, i16 0, i16 5169, i16 0, i16 10244, i16 2103, i16 0, i16 0, i16 5434, i16 0, i16 10245, i16 5433, i16 5432, i16 3094, i16 10246, i16 1160, i16 1506, i16 0, i16 10247, i16 0, i16 0, i16 0, i16 10248, i16 0, i16 10249, i16 10250, i16 0, i16 10251, i16 0, i16 10252, i16 10253, i16 5440, i16 10254, i16 0, i16 5437, i16 2186, i16 7429, i16 0, i16 0, i16 7447, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3758, i16 7448, i16 0, i16 7449, i16 0, i16 7450, i16 3761, i16 3759, i16 7451, i16 0, i16 967, i16 0, i16 3216, i16 3753, i16 7452, i16 7453, i16 7454, i16 7455, i16 3757, i16 1580, i16 7456, i16 7457, i16 1819, i16 12293, i16 12294, i16 0, i16 12295, i16 2058, i16 12296, i16 0, i16 12297, i16 12298, i16 6620, i16 3252, i16 0, i16 12299, i16 891, i16 12300, i16 0, i16 12301, i16 0, i16 3133, i16 2613, i16 0, i16 0, i16 0, i16 0, i16 1303, i16 12302, i16 6622, i16 12303, i16 1652, i16 0, i16 0, i16 12304, i16 7686, i16 7687, i16 0, i16 1488, i16 1747, i16 2984, i16 7688, i16 0, i16 0, i16 3888, i16 3886, i16 0, i16 0, i16 0, i16 7689, i16 3186, i16 2135, i16 3895, i16 1095, i16 3889, i16 3887, i16 2390, i16 0, i16 7690, i16 7691, i16 7692, i16 0, i16 0, i16 0, i16 3891, i16 0, i16 3890, i16 11526, i16 6201, i16 6208, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1425, i16 0, i16 0, i16 2499, i16 0, i16 6214, i16 0, i16 0, i16 0, i16 0, i16 6210, i16 0, i16 0, i16 0, i16 2458, i16 6209, i16 11527, i16 6212, i16 11528, i16 11529, i16 11530, i16 0, i16 6203, i16 11531, i16 4103, i16 0, i16 0, i16 4114, i16 0, i16 0, i16 4115, i16 8095, i16 8096, i16 0, i16 0, i16 3351, i16 8097, i16 0, i16 2136, i16 8098, i16 0, i16 0, i16 4117, i16 4118, i16 4116, i16 8099, i16 4120, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2931, i16 8100, i16 8101, i16 817, i16 5383, i16 5384, i16 5385, i16 10177, i16 5386, i16 10178, i16 10179, i16 5382, i16 0, i16 10180, i16 0, i16 0, i16 0, i16 10181, i16 0, i16 0, i16 5388, i16 0, i16 10182, i16 10183, i16 5387, i16 10184, i16 0, i16 0, i16 10185, i16 10186, i16 10187, i16 5389, i16 10188, i16 0, i16 0, i16 0, i16 11015, i16 5917, i16 5918, i16 11016, i16 0, i16 5919, i16 0, i16 5920, i16 1338, i16 4660, i16 5921, i16 0, i16 2318, i16 5922, i16 1916, i16 11017, i16 5923, i16 0, i16 3726, i16 11018, i16 11019, i16 0, i16 5924, i16 3251, i16 1181, i16 11020, i16 11021, i16 2347, i16 2023, i16 11022, i16 3176, i16 1981, i16 5128, i16 5127, i16 5133, i16 9689, i16 2250, i16 0, i16 5124, i16 9690, i16 9691, i16 0, i16 0, i16 9692, i16 9693, i16 9694, i16 5136, i16 0, i16 9695, i16 5137, i16 9696, i16 9697, i16 9698, i16 0, i16 9699, i16 1155, i16 0, i16 0, i16 9700, i16 0, i16 0, i16 0, i16 0, i16 9701, i16 8457, i16 8458, i16 8459, i16 0, i16 8460, i16 0, i16 0, i16 0, i16 0, i16 2238, i16 8461, i16 0, i16 4318, i16 8462, i16 0, i16 1708, i16 8463, i16 0, i16 0, i16 4319, i16 0, i16 0, i16 4320, i16 0, i16 0, i16 8464, i16 8465, i16 0, i16 0, i16 0, i16 8466, i16 8467, i16 2314, i16 5617, i16 10602, i16 0, i16 3048, i16 10603, i16 5621, i16 3240, i16 10604, i16 2590, i16 10605, i16 5616, i16 5618, i16 0, i16 0, i16 5619, i16 0, i16 0, i16 0, i16 0, i16 10606, i16 0, i16 10607, i16 10608, i16 0, i16 10609, i16 10610, i16 10611, i16 0, i16 5622, i16 0, i16 0, i16 13066, i16 7038, i16 13067, i16 13068, i16 13069, i16 13070, i16 0, i16 13071, i16 7039, i16 0, i16 0, i16 7040, i16 7041, i16 0, i16 13072, i16 13073, i16 0, i16 7044, i16 7042, i16 3687, i16 0, i16 7043, i16 13074, i16 3644, i16 13075, i16 0, i16 0, i16 13076, i16 0, i16 7045, i16 13077, i16 3624, i16 4363, i16 0, i16 8531, i16 0, i16 8532, i16 8533, i16 2776, i16 1719, i16 8534, i16 0, i16 8535, i16 1540, i16 8536, i16 2702, i16 0, i16 0, i16 0, i16 8537, i16 0, i16 8538, i16 0, i16 780, i16 2045, i16 1606, i16 3510, i16 0, i16 0, i16 0, i16 0, i16 8539, i16 8540, i16 8541, i16 6667, i16 12430, i16 6668, i16 12431, i16 0, i16 0, i16 0, i16 0, i16 12432, i16 0, i16 6670, i16 12433, i16 0, i16 12434, i16 12435, i16 12436, i16 6672, i16 12437, i16 12438, i16 0, i16 0, i16 6673, i16 0, i16 6674, i16 0, i16 0, i16 0, i16 0, i16 6677, i16 6675, i16 6678, i16 6680, i16 2572, i16 9363, i16 0, i16 9364, i16 4930, i16 0, i16 9365, i16 9366, i16 0, i16 9367, i16 0, i16 9368, i16 0, i16 4928, i16 1570, i16 0, i16 4927, i16 9369, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4933, i16 0, i16 0, i16 0, i16 9370, i16 4800, i16 9371, i16 9372, i16 9373, i16 3340, i16 0, i16 2831, i16 8114, i16 8115, i16 1491, i16 2484, i16 0, i16 8116, i16 8117, i16 4119, i16 4122, i16 8119, i16 8120, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2473, i16 0, i16 0, i16 0, i16 4123, i16 0, i16 8121, i16 0, i16 4124, i16 8122, i16 8123, i16 7436, i16 0, i16 7437, i16 2674, i16 0, i16 0, i16 2533, i16 3752, i16 7438, i16 7439, i16 0, i16 7440, i16 7441, i16 789, i16 2692, i16 1994, i16 1705, i16 3475, i16 7442, i16 2483, i16 7443, i16 964, i16 7444, i16 3751, i16 7445, i16 3501, i16 3747, i16 3749, i16 1763, i16 3750, i16 4184, i16 7446, i16 11532, i16 0, i16 6213, i16 0, i16 6215, i16 0, i16 0, i16 0, i16 11533, i16 0, i16 11534, i16 3080, i16 0, i16 0, i16 6211, i16 0, i16 6216, i16 6218, i16 0, i16 0, i16 1548, i16 6206, i16 0, i16 778, i16 0, i16 0, i16 11535, i16 0, i16 0, i16 11536, i16 11537, i16 6217, i16 4109, i16 8087, i16 1595, i16 1059, i16 4111, i16 0, i16 0, i16 8089, i16 8090, i16 8091, i16 4112, i16 0, i16 8092, i16 0, i16 0, i16 0, i16 4113, i16 0, i16 0, i16 4110, i16 0, i16 0, i16 0, i16 0, i16 8093, i16 0, i16 0, i16 0, i16 0, i16 8094, i16 0, i16 0, i16 5901, i16 0, i16 5902, i16 10992, i16 0, i16 10993, i16 951, i16 0, i16 5909, i16 5904, i16 10994, i16 10991, i16 0, i16 5905, i16 10995, i16 10996, i16 0, i16 5906, i16 0, i16 2438, i16 0, i16 10997, i16 0, i16 10998, i16 5908, i16 5907, i16 5910, i16 10999, i16 0, i16 11000, i16 11001, i16 5911, i16 7693, i16 0, i16 7694, i16 1063, i16 0, i16 7695, i16 0, i16 1467, i16 3896, i16 3578, i16 7696, i16 0, i16 7697, i16 3892, i16 0, i16 0, i16 0, i16 3897, i16 3894, i16 7698, i16 3893, i16 7699, i16 7700, i16 7701, i16 7702, i16 0, i16 7703, i16 3612, i16 7704, i16 0, i16 0, i16 1586, i16 10510, i16 5545, i16 5546, i16 2148, i16 0, i16 10511, i16 0, i16 10512, i16 0, i16 5547, i16 10513, i16 1074, i16 0, i16 10514, i16 0, i16 0, i16 5549, i16 0, i16 0, i16 0, i16 1477, i16 10515, i16 1285, i16 0, i16 10516, i16 5550, i16 1394, i16 0, i16 0, i16 5551, i16 10517, i16 2341, i16 2063, i16 1318, i16 0, i16 3924, i16 0, i16 7751, i16 0, i16 7752, i16 7753, i16 7754, i16 3060, i16 7755, i16 7756, i16 7757, i16 0, i16 3925, i16 7758, i16 3926, i16 7759, i16 3927, i16 0, i16 7760, i16 0, i16 0, i16 3928, i16 3099, i16 1381, i16 814, i16 7761, i16 7762, i16 7763, i16 2844, i16 4623, i16 8891, i16 0, i16 2460, i16 4629, i16 8892, i16 4624, i16 0, i16 8893, i16 4626, i16 0, i16 0, i16 0, i16 0, i16 8894, i16 3128, i16 2708, i16 8895, i16 4627, i16 8896, i16 8897, i16 8898, i16 3483, i16 0, i16 0, i16 0, i16 3511, i16 1146, i16 8899, i16 0, i16 0, i16 0, i16 12815, i16 12816, i16 12817, i16 12818, i16 12819, i16 12820, i16 6908, i16 0, i16 12821, i16 12822, i16 0, i16 12823, i16 12824, i16 12825, i16 12826, i16 0, i16 12827, i16 0, i16 12828, i16 0, i16 0, i16 0, i16 12829, i16 0, i16 6909, i16 12830, i16 6910, i16 12831, i16 12832, i16 0, i16 0, i16 6911, i16 5648, i16 0, i16 0, i16 5645, i16 0, i16 0, i16 10645, i16 0, i16 0, i16 0, i16 10646, i16 0, i16 5644, i16 2299, i16 0, i16 5647, i16 5649, i16 10648, i16 10649, i16 10650, i16 5646, i16 10647, i16 5653, i16 0, i16 5650, i16 10651, i16 10652, i16 10653, i16 10654, i16 10655, i16 10656, i16 5651, i16 10000, i16 10001, i16 0, i16 1284, i16 10002, i16 5284, i16 3564, i16 10003, i16 0, i16 3581, i16 10004, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10005, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10006, i16 10007, i16 0, i16 0, i16 0, i16 0, i16 1297, i16 1067, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8830, i16 0, i16 1098, i16 2156, i16 4597, i16 4602, i16 0, i16 4598, i16 8831, i16 1496, i16 8832, i16 4603, i16 1781, i16 1664, i16 0, i16 0, i16 0, i16 0, i16 8833, i16 8834, i16 1973, i16 4585, i16 10769, i16 918, i16 0, i16 0, i16 2889, i16 5731, i16 0, i16 0, i16 10781, i16 5738, i16 5732, i16 5739, i16 0, i16 0, i16 0, i16 0, i16 10782, i16 10783, i16 5735, i16 0, i16 0, i16 10784, i16 0, i16 10785, i16 0, i16 0, i16 0, i16 2998, i16 10786, i16 10787, i16 1915, i16 5737, i16 12305, i16 0, i16 12306, i16 0, i16 0, i16 0, i16 1791, i16 0, i16 12307, i16 0, i16 0, i16 0, i16 0, i16 12308, i16 0, i16 6621, i16 2232, i16 12309, i16 0, i16 0, i16 12310, i16 12311, i16 0, i16 0, i16 2233, i16 6625, i16 6627, i16 0, i16 12312, i16 12313, i16 12314, i16 12315, i16 11538, i16 1744, i16 3651, i16 6219, i16 6220, i16 2428, i16 0, i16 0, i16 0, i16 0, i16 11539, i16 11540, i16 11541, i16 11542, i16 11543, i16 3567, i16 0, i16 11544, i16 11545, i16 11546, i16 6221, i16 3492, i16 0, i16 0, i16 6222, i16 6223, i16 0, i16 11547, i16 3257, i16 6224, i16 11548, i16 1717, i16 1299, i16 2766, i16 9602, i16 5080, i16 5089, i16 760, i16 857, i16 9603, i16 0, i16 958, i16 0, i16 5082, i16 2449, i16 5073, i16 5075, i16 1624, i16 0, i16 0, i16 9604, i16 0, i16 0, i16 0, i16 9605, i16 0, i16 5092, i16 9606, i16 5087, i16 9607, i16 9608, i16 0, i16 5079, i16 0, i16 2323, i16 7769, i16 0, i16 7770, i16 0, i16 7771, i16 1424, i16 0, i16 0, i16 3937, i16 0, i16 0, i16 7772, i16 7773, i16 3938, i16 851, i16 830, i16 1198, i16 7774, i16 2445, i16 1264, i16 3552, i16 0, i16 3941, i16 956, i16 7775, i16 0, i16 3940, i16 0, i16 0, i16 7776, i16 1319, i16 7188, i16 7173, i16 7187, i16 7239, i16 7324, i16 7241, i16 7326, i16 7240, i16 7325, i16 7189, i16 7175, i16 7190, i16 7249, i16 7334, i16 0, i16 0, i16 7248, i16 7333, i16 7177, i16 7192, i16 7251, i16 7336, i16 7253, i16 7338, i16 7252, i16 7337, i16 7254, i16 7339, i16 7255, i16 7340, i16 7257, i16 7342, i16 6165, i16 11458, i16 0, i16 0, i16 6169, i16 0, i16 6172, i16 6171, i16 11459, i16 11460, i16 11461, i16 6163, i16 0, i16 0, i16 11462, i16 0, i16 6166, i16 0, i16 6183, i16 0, i16 0, i16 11463, i16 11464, i16 0, i16 0, i16 11465, i16 11466, i16 0, i16 11467, i16 0, i16 0, i16 11468, i16 2582, i16 0, i16 5005, i16 0, i16 0, i16 0, i16 0, i16 9550, i16 5013, i16 0, i16 5006, i16 9499, i16 0, i16 9500, i16 0, i16 9501, i16 2470, i16 0, i16 1281, i16 5014, i16 9502, i16 0, i16 9503, i16 0, i16 9504, i16 9505, i16 1475, i16 9506, i16 0, i16 1220, i16 5012, i16 0, i16 10518, i16 2858, i16 10519, i16 2313, i16 1770, i16 10520, i16 10521, i16 0, i16 5552, i16 0, i16 10522, i16 10523, i16 0, i16 0, i16 0, i16 0, i16 10524, i16 10525, i16 2597, i16 2418, i16 10526, i16 5554, i16 5556, i16 5553, i16 5555, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10527, i16 1405, i16 12054, i16 12055, i16 12056, i16 2878, i16 0, i16 12057, i16 3297, i16 0, i16 6553, i16 0, i16 1930, i16 0, i16 0, i16 0, i16 0, i16 6554, i16 12058, i16 6555, i16 12059, i16 12060, i16 12061, i16 6556, i16 12062, i16 0, i16 2720, i16 0, i16 0, i16 0, i16 0, i16 12063, i16 12065, i16 0, i16 11287, i16 0, i16 11288, i16 0, i16 6066, i16 11289, i16 2349, i16 11290, i16 6070, i16 1786, i16 2192, i16 1419, i16 3461, i16 11304, i16 3466, i16 2049, i16 0, i16 0, i16 0, i16 0, i16 11291, i16 0, i16 11292, i16 11293, i16 11294, i16 6083, i16 6081, i16 0, i16 11295, i16 11296, i16 11297, i16 11298, i16 3864, i16 3345, i16 7657, i16 0, i16 0, i16 7658, i16 2039, i16 2529, i16 0, i16 3866, i16 2881, i16 0, i16 0, i16 3867, i16 7659, i16 0, i16 3868, i16 1041, i16 7660, i16 7661, i16 7662, i16 3869, i16 1316, i16 7663, i16 2857, i16 929, i16 2015, i16 0, i16 0, i16 3002, i16 3870, i16 0, i16 5912, i16 11002, i16 0, i16 2190, i16 11003, i16 1006, i16 0, i16 5913, i16 3620, i16 0, i16 1884, i16 11004, i16 11005, i16 1980, i16 0, i16 0, i16 11006, i16 11007, i16 11008, i16 1853, i16 2586, i16 11009, i16 11010, i16 0, i16 11011, i16 11012, i16 5914, i16 5915, i16 856, i16 11013, i16 5916, i16 11014, i16 6936, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12883, i16 12884, i16 6937, i16 12885, i16 3361, i16 1792, i16 12886, i16 1775, i16 2358, i16 0, i16 12887, i16 12888, i16 12889, i16 0, i16 6938, i16 0, i16 0, i16 12890, i16 12891, i16 6941, i16 0, i16 12892, i16 12893, i16 0, i16 12894, i16 12895, i16 7960, i16 7961, i16 868, i16 7962, i16 7963, i16 0, i16 7964, i16 0, i16 0, i16 7965, i16 0, i16 7966, i16 2368, i16 7967, i16 4049, i16 7968, i16 4050, i16 0, i16 0, i16 0, i16 7969, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1117, i16 0, i16 0, i16 7970, i16 0, i16 2842, i16 1323, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1002, i16 4296, i16 4301, i16 0, i16 0, i16 4299, i16 8430, i16 3276, i16 3275, i16 8431, i16 8432, i16 0, i16 8433, i16 0, i16 2790, i16 0, i16 0, i16 0, i16 4298, i16 2019, i16 0, i16 4297, i16 0, i16 0, i16 12570, i16 6777, i16 0, i16 0, i16 1110, i16 6775, i16 6779, i16 0, i16 0, i16 12571, i16 0, i16 6780, i16 0, i16 785, i16 0, i16 6781, i16 6782, i16 0, i16 0, i16 0, i16 0, i16 12572, i16 12573, i16 12574, i16 2129, i16 12575, i16 12576, i16 0, i16 6783, i16 0, i16 12577, i16 12578, i16 4891, i16 9304, i16 0, i16 0, i16 0, i16 9305, i16 9306, i16 4888, i16 9307, i16 0, i16 0, i16 9308, i16 0, i16 9309, i16 4876, i16 9310, i16 0, i16 4905, i16 4875, i16 0, i16 4894, i16 0, i16 0, i16 9311, i16 9312, i16 0, i16 9313, i16 4886, i16 9314, i16 0, i16 4881, i16 4878, i16 6939, i16 12896, i16 0, i16 0, i16 0, i16 0, i16 6942, i16 12897, i16 12898, i16 1578, i16 6940, i16 0, i16 0, i16 0, i16 12899, i16 6943, i16 12900, i16 6944, i16 6945, i16 0, i16 6949, i16 0, i16 1789, i16 12901, i16 12902, i16 0, i16 0, i16 2505, i16 0, i16 12903, i16 0, i16 12904, i16 7197, i16 7196, i16 7199, i16 7205, i16 7198, i16 7204, i16 7169, i16 7209, i16 7213, i16 7212, i16 7215, i16 7214, i16 7226, i16 7225, i16 7228, i16 7227, i16 0, i16 7242, i16 7244, i16 7243, i16 7246, i16 7250, i16 7245, i16 284, i16 7176, i16 7261, i16 7260, i16 7263, i16 7262, i16 7276, i16 7179, i16 7193, i16 8734, i16 0, i16 3376, i16 1144, i16 0, i16 4514, i16 0, i16 1440, i16 1047, i16 0, i16 0, i16 4511, i16 8735, i16 0, i16 3589, i16 4513, i16 799, i16 4515, i16 8736, i16 4506, i16 4512, i16 4519, i16 1439, i16 4507, i16 8737, i16 0, i16 0, i16 8738, i16 8739, i16 0, i16 3532, i16 8740, i16 287, i16 350, i16 0, i16 0, i16 0, i16 0, i16 290, i16 291, i16 0, i16 0, i16 352, i16 353, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1311, i16 966, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4185, i16 0, i16 3372, i16 3173, i16 1581, i16 0, i16 0, i16 7475, i16 0, i16 0, i16 2170, i16 3588, i16 7476, i16 0, i16 7477, i16 0, i16 7478, i16 7479, i16 7480, i16 7481, i16 3245, i16 5407, i16 10207, i16 0, i16 5408, i16 2729, i16 10208, i16 1034, i16 1627, i16 5409, i16 0, i16 0, i16 5410, i16 10209, i16 10210, i16 5411, i16 0, i16 1788, i16 0, i16 0, i16 5413, i16 0, i16 10211, i16 5412, i16 0, i16 0, i16 5414, i16 5415, i16 10212, i16 10213, i16 10214, i16 0, i16 10215, i16 8479, i16 0, i16 4324, i16 0, i16 0, i16 0, i16 0, i16 8480, i16 0, i16 0, i16 0, i16 8481, i16 4326, i16 0, i16 4327, i16 0, i16 8482, i16 0, i16 12526, i16 0, i16 8483, i16 0, i16 0, i16 4330, i16 8484, i16 8485, i16 3635, i16 0, i16 4331, i16 4328, i16 0, i16 0, i16 11039, i16 0, i16 5936, i16 11040, i16 5935, i16 0, i16 1168, i16 11041, i16 5937, i16 0, i16 5938, i16 5939, i16 0, i16 11042, i16 1702, i16 3606, i16 0, i16 5941, i16 2162, i16 0, i16 11043, i16 0, i16 919, i16 5942, i16 5943, i16 0, i16 0, i16 11044, i16 0, i16 11045, i16 5944, i16 11046, i16 2080, i16 4375, i16 4374, i16 4370, i16 0, i16 8552, i16 0, i16 0, i16 4376, i16 4377, i16 0, i16 8553, i16 4378, i16 0, i16 0, i16 0, i16 4381, i16 4379, i16 0, i16 4380, i16 4382, i16 0, i16 907, i16 2703, i16 4383, i16 0, i16 1493, i16 1019, i16 2929, i16 0, i16 4384, i16 2904, i16 6176, i16 0, i16 11469, i16 11470, i16 11471, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11472, i16 11473, i16 0, i16 11474, i16 0, i16 6174, i16 0, i16 11475, i16 6175, i16 11476, i16 0, i16 0, i16 6180, i16 6181, i16 11477, i16 1037, i16 11478, i16 1249, i16 0, i16 0, i16 6179, i16 11479, i16 6688, i16 12452, i16 1177, i16 1080, i16 1653, i16 3023, i16 12453, i16 6690, i16 6689, i16 12454, i16 0, i16 12455, i16 12456, i16 6691, i16 0, i16 0, i16 0, i16 0, i16 899, i16 0, i16 12457, i16 0, i16 12458, i16 0, i16 0, i16 6694, i16 12459, i16 6693, i16 6692, i16 12460, i16 6695, i16 12461, i16 10528, i16 0, i16 0, i16 10529, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5557, i16 1409, i16 0, i16 10530, i16 0, i16 1286, i16 3521, i16 5559, i16 0, i16 0, i16 10531, i16 0, i16 10532, i16 5560, i16 0, i16 0, i16 10533, i16 853, i16 10534, i16 10535, i16 0, i16 0, i16 5563, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 12833, i16 0, i16 6912, i16 6913, i16 0, i16 6914, i16 12834, i16 6915, i16 6916, i16 6917, i16 6918, i16 12835, i16 0, i16 12836, i16 6919, i16 6920, i16 0, i16 4953, i16 6921, i16 12837, i16 12838, i16 12839, i16 0, i16 12840, i16 0, i16 12841, i16 12842, i16 5678, i16 1235, i16 12843, i16 0, i16 0, i16 4130, i16 0, i16 0, i16 9454, i16 9455, i16 1218, i16 4988, i16 0, i16 0, i16 9456, i16 0, i16 4989, i16 9457, i16 3265, i16 3355, i16 0, i16 0, i16 0, i16 2852, i16 4990, i16 3071, i16 0, i16 9458, i16 0, i16 3092, i16 0, i16 9459, i16 3428, i16 0, i16 0, i16 0, i16 4991, i16 7202, i16 7288, i16 7200, i16 7286, i16 7203, i16 7289, i16 7206, i16 7292, i16 7207, i16 7293, i16 7210, i16 7296, i16 7208, i16 7294, i16 7211, i16 7297, i16 7170, i16 7181, i16 7218, i16 7304, i16 0, i16 0, i16 7217, i16 7303, i16 7219, i16 7305, i16 7216, i16 7302, i16 7220, i16 7307, i16 7221, i16 7308, i16 7971, i16 7972, i16 7973, i16 7974, i16 4057, i16 0, i16 7975, i16 0, i16 1200, i16 7976, i16 4060, i16 4056, i16 4059, i16 7977, i16 0, i16 7978, i16 0, i16 7979, i16 7980, i16 0, i16 3203, i16 7981, i16 0, i16 0, i16 2866, i16 0, i16 3025, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10788, i16 5734, i16 5740, i16 5733, i16 0, i16 0, i16 2003, i16 10789, i16 10790, i16 0, i16 0, i16 3288, i16 10791, i16 10792, i16 2011, i16 10793, i16 0, i16 5736, i16 5748, i16 10794, i16 0, i16 5744, i16 10795, i16 5747, i16 0, i16 5745, i16 5749, i16 5743, i16 0, i16 5717, i16 2300, i16 10796, i16 7717, i16 3904, i16 0, i16 3337, i16 7718, i16 2653, i16 7719, i16 3477, i16 7720, i16 3246, i16 0, i16 0, i16 7721, i16 3905, i16 0, i16 7722, i16 0, i16 7723, i16 6771, i16 0, i16 7724, i16 2829, i16 7725, i16 3906, i16 1131, i16 3396, i16 0, i16 7726, i16 7727, i16 2062, i16 3907, i16 3260, i16 8741, i16 8742, i16 3482, i16 8743, i16 8744, i16 0, i16 0, i16 4522, i16 0, i16 0, i16 4526, i16 8745, i16 0, i16 8746, i16 2437, i16 0, i16 3654, i16 4527, i16 8747, i16 8748, i16 4524, i16 0, i16 4521, i16 8749, i16 8750, i16 4520, i16 4525, i16 0, i16 8751, i16 8752, i16 0, i16 8753, i16 10021, i16 5294, i16 0, i16 10022, i16 10023, i16 0, i16 10024, i16 10025, i16 0, i16 0, i16 0, i16 10026, i16 0, i16 10027, i16 0, i16 0, i16 0, i16 10028, i16 10029, i16 0, i16 0, i16 5290, i16 0, i16 10030, i16 0, i16 5293, i16 1571, i16 884, i16 5295, i16 10031, i16 2235, i16 5292, i16 295, i16 0, i16 294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5671, i16 0, i16 5673, i16 0, i16 10682, i16 5672, i16 0, i16 10683, i16 10684, i16 10685, i16 1547, i16 0, i16 0, i16 10686, i16 2367, i16 10687, i16 0, i16 0, i16 5675, i16 10688, i16 10689, i16 10690, i16 2811, i16 10691, i16 5674, i16 10692, i16 10693, i16 0, i16 5676, i16 10694, i16 3210, i16 2419, i16 10279, i16 2226, i16 10280, i16 2849, i16 10281, i16 5448, i16 3334, i16 10282, i16 5445, i16 0, i16 10283, i16 5446, i16 10284, i16 0, i16 0, i16 0, i16 10285, i16 0, i16 10286, i16 10287, i16 10288, i16 0, i16 0, i16 0, i16 0, i16 5451, i16 10289, i16 0, i16 0, i16 10290, i16 5450, i16 5449, i16 11047, i16 11048, i16 0, i16 11049, i16 11050, i16 0, i16 0, i16 11051, i16 0, i16 11052, i16 11053, i16 827, i16 0, i16 5945, i16 11054, i16 0, i16 0, i16 11055, i16 5946, i16 0, i16 11056, i16 0, i16 11057, i16 0, i16 11058, i16 3166, i16 11059, i16 11060, i16 0, i16 1912, i16 0, i16 5948, i16 2600, i16 0, i16 10266, i16 0, i16 0, i16 10267, i16 10268, i16 5443, i16 0, i16 0, i16 10269, i16 0, i16 0, i16 10270, i16 10271, i16 10272, i16 0, i16 0, i16 10273, i16 0, i16 0, i16 0, i16 10274, i16 10275, i16 0, i16 0, i16 5444, i16 5447, i16 10276, i16 0, i16 10277, i16 10278, i16 3625, i16 0, i16 10032, i16 5298, i16 7098, i16 0, i16 10033, i16 10034, i16 10035, i16 5296, i16 5299, i16 10036, i16 0, i16 10037, i16 10038, i16 5285, i16 5297, i16 10039, i16 10040, i16 1713, i16 0, i16 0, i16 5300, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5301, i16 0, i16 5929, i16 0, i16 0, i16 11029, i16 11030, i16 11031, i16 11032, i16 2715, i16 0, i16 0, i16 0, i16 11033, i16 0, i16 0, i16 11034, i16 11035, i16 0, i16 11036, i16 0, i16 0, i16 0, i16 0, i16 11037, i16 0, i16 5931, i16 5930, i16 5933, i16 0, i16 11038, i16 5932, i16 0, i16 5934, i16 2604, i16 8623, i16 8624, i16 0, i16 4424, i16 0, i16 0, i16 0, i16 8625, i16 8626, i16 8627, i16 1020, i16 8628, i16 8629, i16 8630, i16 8631, i16 4475, i16 4426, i16 8632, i16 8633, i16 0, i16 2923, i16 8634, i16 0, i16 4425, i16 0, i16 8635, i16 4423, i16 8636, i16 1681, i16 0, i16 4429, i16 6444, i16 11900, i16 11901, i16 6446, i16 6443, i16 0, i16 0, i16 0, i16 0, i16 11902, i16 0, i16 0, i16 11903, i16 11904, i16 0, i16 11905, i16 11906, i16 11907, i16 6449, i16 0, i16 1986, i16 0, i16 6448, i16 0, i16 0, i16 11908, i16 11909, i16 11910, i16 6450, i16 0, i16 0, i16 0, i16 11308, i16 0, i16 0, i16 0, i16 2816, i16 6087, i16 11309, i16 0, i16 11310, i16 3046, i16 6074, i16 0, i16 0, i16 11311, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11312, i16 0, i16 0, i16 11313, i16 2050, i16 0, i16 6089, i16 6094, i16 2427, i16 11314, i16 0, i16 6093, i16 11315, i16 8493, i16 2035, i16 0, i16 2410, i16 8494, i16 1600, i16 1709, i16 1601, i16 1295, i16 8495, i16 0, i16 4338, i16 0, i16 0, i16 1710, i16 0, i16 0, i16 1539, i16 4339, i16 3383, i16 2942, i16 4340, i16 0, i16 1602, i16 8496, i16 8497, i16 0, i16 1133, i16 0, i16 2538, i16 1359, i16 0, i16 11566, i16 0, i16 0, i16 0, i16 0, i16 6237, i16 11567, i16 11568, i16 11569, i16 0, i16 6238, i16 6239, i16 0, i16 0, i16 0, i16 0, i16 11570, i16 11571, i16 11572, i16 0, i16 0, i16 11573, i16 6243, i16 0, i16 6244, i16 11574, i16 11575, i16 6242, i16 0, i16 0, i16 11576, i16 0, i16 3377, i16 0, i16 5093, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3015, i16 9629, i16 0, i16 5105, i16 1524, i16 0, i16 0, i16 9630, i16 0, i16 0, i16 2031, i16 0, i16 5095, i16 9631, i16 0, i16 0, i16 3580, i16 1625, i16 0, i16 5108, i16 8498, i16 0, i16 1831, i16 3154, i16 0, i16 0, i16 3034, i16 8499, i16 0, i16 0, i16 0, i16 4341, i16 1206, i16 8500, i16 0, i16 0, i16 0, i16 4344, i16 8501, i16 0, i16 8502, i16 8503, i16 2626, i16 0, i16 8504, i16 4343, i16 4342, i16 4345, i16 0, i16 2700, i16 0, i16 8505, i16 8754, i16 0, i16 0, i16 0, i16 3205, i16 8755, i16 0, i16 2833, i16 8756, i16 1441, i16 8757, i16 4528, i16 4523, i16 8758, i16 4529, i16 0, i16 0, i16 0, i16 1494, i16 0, i16 0, i16 0, i16 950, i16 0, i16 8759, i16 8760, i16 4537, i16 0, i16 8761, i16 0, i16 1145, i16 0, i16 10291, i16 0, i16 0, i16 0, i16 10292, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5453, i16 10293, i16 10294, i16 5452, i16 0, i16 0, i16 5454, i16 0, i16 0, i16 10295, i16 10296, i16 10297, i16 0, i16 0, i16 0, i16 10298, i16 0, i16 0, i16 0, i16 5456, i16 10299, i16 308, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 267, i16 253, i16 268, i16 237, i16 239, i16 11316, i16 0, i16 6062, i16 0, i16 11317, i16 11318, i16 6095, i16 2384, i16 0, i16 0, i16 6090, i16 6092, i16 0, i16 11319, i16 11320, i16 0, i16 11321, i16 11322, i16 11323, i16 6091, i16 0, i16 0, i16 4949, i16 4934, i16 11324, i16 11325, i16 6097, i16 11326, i16 0, i16 0, i16 11327, i16 0, i16 821, i16 2621, i16 7367, i16 1896, i16 7368, i16 7369, i16 0, i16 3375, i16 2131, i16 1795, i16 2130, i16 961, i16 7370, i16 3147, i16 3502, i16 0, i16 3712, i16 854, i16 7371, i16 0, i16 1105, i16 3713, i16 2253, i16 3932, i16 1269, i16 3215, i16 0, i16 0, i16 0, i16 0, i16 2132, i16 7372, i16 4661, i16 4662, i16 2726, i16 4664, i16 8975, i16 8976, i16 1783, i16 4659, i16 0, i16 8977, i16 8978, i16 0, i16 1243, i16 8979, i16 0, i16 4665, i16 8980, i16 4658, i16 4669, i16 0, i16 4668, i16 8981, i16 4667, i16 8982, i16 0, i16 0, i16 4670, i16 8983, i16 0, i16 4672, i16 2142, i16 8984, i16 9013, i16 0, i16 1147, i16 1801, i16 0, i16 0, i16 2869, i16 9014, i16 0, i16 0, i16 0, i16 9015, i16 1444, i16 0, i16 0, i16 0, i16 2239, i16 0, i16 4692, i16 0, i16 2265, i16 2727, i16 0, i16 3158, i16 4693, i16 0, i16 9016, i16 0, i16 0, i16 9017, i16 0, i16 0, i16 11061, i16 11062, i16 0, i16 11063, i16 11064, i16 1036, i16 763, i16 11065, i16 11066, i16 11067, i16 11068, i16 5947, i16 5950, i16 2953, i16 11069, i16 2191, i16 11070, i16 987, i16 11071, i16 3290, i16 11072, i16 0, i16 0, i16 11073, i16 1464, i16 1369, i16 11074, i16 5949, i16 11075, i16 1007, i16 11076, i16 11077, i16 7223, i16 7309, i16 7222, i16 0, i16 7224, i16 7310, i16 7171, i16 7183, i16 7233, i16 7318, i16 7231, i16 7316, i16 0, i16 0, i16 7232, i16 7317, i16 7230, i16 7184, i16 7172, i16 7185, i16 7234, i16 7319, i16 7235, i16 7320, i16 7186, i16 7236, i16 7321, i16 7238, i16 7323, i16 7237, i16 7322, i16 7174, i16 12087, i16 0, i16 6561, i16 0, i16 12088, i16 12089, i16 12090, i16 0, i16 12091, i16 0, i16 0, i16 0, i16 0, i16 12092, i16 0, i16 0, i16 12093, i16 0, i16 6562, i16 0, i16 12094, i16 0, i16 12095, i16 12096, i16 12097, i16 6563, i16 12098, i16 0, i16 12099, i16 0, i16 12100, i16 0, i16 10041, i16 10042, i16 0, i16 3565, i16 0, i16 10043, i16 10044, i16 10045, i16 0, i16 10046, i16 0, i16 5302, i16 0, i16 0, i16 0, i16 10047, i16 10048, i16 10049, i16 10050, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10051, i16 10052, i16 10053, i16 0, i16 10054, i16 0, i16 5303, i16 10055, i16 11577, i16 6240, i16 11578, i16 6235, i16 6241, i16 11579, i16 11580, i16 0, i16 0, i16 11581, i16 0, i16 0, i16 6245, i16 6741, i16 0, i16 11582, i16 0, i16 0, i16 11583, i16 0, i16 0, i16 0, i16 941, i16 11584, i16 0, i16 0, i16 11585, i16 11586, i16 11587, i16 0, i16 6248, i16 1372, i16 7482, i16 7483, i16 1427, i16 2442, i16 1001, i16 7484, i16 7485, i16 0, i16 7486, i16 7487, i16 2018, i16 7488, i16 7489, i16 7490, i16 3767, i16 7491, i16 3772, i16 3770, i16 7492, i16 0, i16 3765, i16 0, i16 0, i16 2452, i16 3768, i16 0, i16 3771, i16 3769, i16 7493, i16 3250, i16 0, i16 3766, i16 8506, i16 0, i16 0, i16 0, i16 0, i16 2222, i16 0, i16 0, i16 8508, i16 0, i16 0, i16 1832, i16 0, i16 2291, i16 8507, i16 2488, i16 1217, i16 0, i16 8509, i16 2627, i16 0, i16 8510, i16 4346, i16 4347, i16 2140, i16 0, i16 0, i16 0, i16 0, i16 3308, i16 8511, i16 0, i16 8762, i16 8763, i16 8764, i16 4535, i16 0, i16 0, i16 4536, i16 1694, i16 4534, i16 4532, i16 4531, i16 4538, i16 4530, i16 4540, i16 8765, i16 8766, i16 1024, i16 0, i16 0, i16 0, i16 0, i16 8767, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8768, i16 8769, i16 8770, i16 8771, i16 7739, i16 3449, i16 2900, i16 7740, i16 0, i16 3270, i16 3916, i16 0, i16 3917, i16 0, i16 7741, i16 7742, i16 7743, i16 3919, i16 0, i16 3921, i16 3920, i16 7744, i16 0, i16 7745, i16 0, i16 3922, i16 962, i16 3327, i16 7746, i16 1777, i16 3923, i16 7747, i16 7748, i16 2400, i16 7749, i16 7750, i16 9531, i16 3285, i16 2947, i16 1282, i16 0, i16 2724, i16 0, i16 9532, i16 2608, i16 9533, i16 5031, i16 9534, i16 9535, i16 0, i16 9536, i16 5029, i16 2494, i16 5018, i16 9537, i16 882, i16 9538, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2108, i16 5574, i16 5575, i16 2022, i16 0, i16 2837, i16 5576, i16 0, i16 10542, i16 10543, i16 2539, i16 10544, i16 10545, i16 5577, i16 0, i16 2559, i16 5578, i16 10546, i16 0, i16 0, i16 10547, i16 0, i16 1314, i16 0, i16 3835, i16 2592, i16 1892, i16 10548, i16 0, i16 10549, i16 10550, i16 1161, i16 11836, i16 0, i16 0, i16 1954, i16 0, i16 0, i16 11837, i16 0, i16 2241, i16 0, i16 0, i16 11838, i16 11839, i16 0, i16 0, i16 11840, i16 0, i16 0, i16 11841, i16 2450, i16 0, i16 11842, i16 0, i16 11843, i16 0, i16 11844, i16 6413, i16 11845, i16 11863, i16 0, i16 6412, i16 0, i16 318, i16 317, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 320, i16 319, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 322, i16 321, i16 0, i16 0, i16 4671, i16 8985, i16 0, i16 0, i16 8986, i16 4675, i16 0, i16 0, i16 8987, i16 8988, i16 8989, i16 0, i16 0, i16 0, i16 0, i16 8990, i16 0, i16 0, i16 0, i16 8991, i16 8992, i16 0, i16 8993, i16 0, i16 4673, i16 8994, i16 0, i16 8995, i16 4674, i16 4636, i16 8996, i16 8997, i16 9791, i16 3398, i16 0, i16 0, i16 0, i16 0, i16 2100, i16 0, i16 0, i16 0, i16 0, i16 9792, i16 0, i16 9793, i16 0, i16 9794, i16 9795, i16 9796, i16 0, i16 0, i16 0, i16 0, i16 2362, i16 0, i16 9797, i16 0, i16 0, i16 0, i16 2099, i16 0, i16 0, i16 0, i16 6976, i16 0, i16 0, i16 12957, i16 0, i16 0, i16 0, i16 6977, i16 12962, i16 12958, i16 12959, i16 12961, i16 0, i16 0, i16 12963, i16 0, i16 12964, i16 0, i16 12965, i16 0, i16 0, i16 12966, i16 6978, i16 12967, i16 6979, i16 0, i16 0, i16 12968, i16 0, i16 0, i16 0, i16 0, i16 8256, i16 795, i16 0, i16 748, i16 8257, i16 0, i16 0, i16 0, i16 0, i16 4198, i16 0, i16 0, i16 8258, i16 8259, i16 8260, i16 0, i16 0, i16 4196, i16 8261, i16 8262, i16 0, i16 0, i16 0, i16 0, i16 3405, i16 0, i16 4199, i16 0, i16 4197, i16 0, i16 8263, i16 4195, i16 12352, i16 12353, i16 12354, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12355, i16 0, i16 12356, i16 12357, i16 1116, i16 12358, i16 0, i16 12359, i16 0, i16 0, i16 12360, i16 0, i16 6640, i16 12361, i16 1716, i16 2432, i16 12362, i16 0, i16 2667, i16 12363, i16 0, i16 0, i16 12364, i16 0, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 0, i16 0, i16 0, i16 0, i16 227, i16 249, i16 240, i16 241, i16 0, i16 833, i16 8016, i16 0, i16 2567, i16 8017, i16 8018, i16 8019, i16 8020, i16 8021, i16 0, i16 0, i16 8023, i16 0, i16 8024, i16 4081, i16 0, i16 1689, i16 8022, i16 792, i16 2217, i16 0, i16 0, i16 8025, i16 8026, i16 0, i16 4082, i16 1536, i16 0, i16 0, i16 1672, i16 0, i16 4084, i16 1089, i16 0, i16 0, i16 10554, i16 0, i16 2213, i16 3163, i16 10555, i16 5588, i16 10556, i16 10557, i16 10558, i16 2509, i16 10559, i16 10560, i16 10561, i16 10562, i16 10563, i16 0, i16 5583, i16 10564, i16 5587, i16 5589, i16 0, i16 0, i16 1776, i16 0, i16 0, i16 0, i16 10565, i16 0, i16 10566, i16 4929, i16 0, i16 4931, i16 4932, i16 0, i16 9374, i16 0, i16 0, i16 0, i16 0, i16 4944, i16 9375, i16 4940, i16 0, i16 4821, i16 9376, i16 9377, i16 9378, i16 0, i16 4939, i16 9379, i16 0, i16 0, i16 0, i16 4938, i16 0, i16 0, i16 4935, i16 0, i16 9380, i16 9381, i16 9382, i16 9025, i16 767, i16 0, i16 9026, i16 1361, i16 2294, i16 9027, i16 3159, i16 0, i16 0, i16 0, i16 4699, i16 1813, i16 2570, i16 9028, i16 1838, i16 2178, i16 0, i16 9029, i16 9030, i16 9031, i16 0, i16 0, i16 4700, i16 0, i16 3282, i16 0, i16 0, i16 926, i16 1839, i16 0, i16 9032, i16 12609, i16 12611, i16 0, i16 0, i16 12612, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6794, i16 2910, i16 12613, i16 0, i16 12614, i16 6796, i16 960, i16 12615, i16 6799, i16 6798, i16 12616, i16 12617, i16 0, i16 12618, i16 843, i16 0, i16 0, i16 0, i16 1342, i16 4418, i16 1567, i16 8603, i16 0, i16 8606, i16 0, i16 0, i16 8604, i16 4419, i16 3187, i16 2026, i16 8605, i16 8607, i16 4420, i16 3090, i16 8608, i16 8609, i16 8610, i16 0, i16 2846, i16 2632, i16 0, i16 0, i16 0, i16 8611, i16 2735, i16 0, i16 0, i16 4421, i16 1226, i16 0, i16 0, i16 3395, i16 0, i16 10255, i16 0, i16 5436, i16 5438, i16 5439, i16 0, i16 10256, i16 5435, i16 0, i16 0, i16 0, i16 10257, i16 10258, i16 10259, i16 0, i16 0, i16 0, i16 0, i16 10260, i16 10261, i16 10262, i16 5441, i16 5442, i16 10263, i16 2640, i16 0, i16 1188, i16 10264, i16 10265, i16 0, i16 12868, i16 0, i16 0, i16 6931, i16 12869, i16 12870, i16 12871, i16 12872, i16 0, i16 12873, i16 12874, i16 12875, i16 0, i16 12876, i16 775, i16 12877, i16 12878, i16 6932, i16 3200, i16 6930, i16 12879, i16 0, i16 6933, i16 6934, i16 0, i16 0, i16 12880, i16 0, i16 0, i16 12881, i16 12882, i16 6935, i16 12101, i16 0, i16 12103, i16 12104, i16 0, i16 12102, i16 0, i16 12105, i16 0, i16 12106, i16 0, i16 0, i16 0, i16 2721, i16 12107, i16 12108, i16 6565, i16 12109, i16 6564, i16 0, i16 12110, i16 0, i16 12111, i16 12112, i16 0, i16 12113, i16 12114, i16 0, i16 12115, i16 12116, i16 0, i16 0, i16 1350, i16 4271, i16 0, i16 0, i16 0, i16 1294, i16 4272, i16 0, i16 1403, i16 0, i16 2860, i16 949, i16 0, i16 1830, i16 4273, i16 4276, i16 4275, i16 1402, i16 0, i16 4274, i16 0, i16 2743, i16 0, i16 0, i16 0, i16 8393, i16 8394, i16 0, i16 8395, i16 0, i16 2453, i16 0, i16 7494, i16 2169, i16 7495, i16 3366, i16 3773, i16 3774, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1971, i16 3787, i16 7496, i16 0, i16 7497, i16 2955, i16 0, i16 3117, i16 3782, i16 0, i16 3269, i16 0, i16 955, i16 0, i16 7498, i16 7499, i16 3786, i16 7500, i16 11846, i16 0, i16 6411, i16 0, i16 0, i16 11847, i16 11848, i16 11849, i16 11850, i16 0, i16 11851, i16 6419, i16 6417, i16 0, i16 11852, i16 6414, i16 0, i16 11853, i16 0, i16 0, i16 11854, i16 11855, i16 6416, i16 11856, i16 0, i16 11857, i16 6415, i16 6418, i16 0, i16 1302, i16 0, i16 6422, i16 3911, i16 7728, i16 2259, i16 3908, i16 1357, i16 7729, i16 3909, i16 1132, i16 7730, i16 7731, i16 7732, i16 0, i16 7733, i16 0, i16 0, i16 0, i16 7734, i16 7735, i16 1417, i16 3912, i16 7736, i16 3913, i16 7737, i16 7738, i16 3914, i16 3915, i16 1932, i16 0, i16 0, i16 0, i16 1588, i16 3439, i16 10567, i16 10568, i16 0, i16 0, i16 0, i16 5596, i16 3109, i16 10569, i16 3007, i16 2808, i16 0, i16 1367, i16 5595, i16 5593, i16 10570, i16 3022, i16 5590, i16 2593, i16 2810, i16 0, i16 2809, i16 10571, i16 1771, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5614, i16 0, i16 0, i16 10056, i16 10057, i16 5283, i16 10058, i16 0, i16 0, i16 10059, i16 5304, i16 10060, i16 10061, i16 10062, i16 10063, i16 0, i16 0, i16 10064, i16 10065, i16 1157, i16 10066, i16 10067, i16 0, i16 0, i16 10068, i16 0, i16 0, i16 0, i16 10069, i16 0, i16 10070, i16 0, i16 1878, i16 0, i16 10071, i16 11336, i16 8188, i16 11337, i16 0, i16 0, i16 0, i16 11338, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6100, i16 1552, i16 0, i16 1267, i16 0, i16 11339, i16 11340, i16 6102, i16 3865, i16 11341, i16 11342, i16 11343, i16 11344, i16 1300, i16 0, i16 3591, i16 11345, i16 1392, i16 6103, i16 842, i16 0, i16 0, i16 3622, i16 12516, i16 12517, i16 12518, i16 6729, i16 6544, i16 12519, i16 6728, i16 0, i16 0, i16 0, i16 12520, i16 12521, i16 6732, i16 6730, i16 6731, i16 12522, i16 6733, i16 0, i16 6734, i16 3641, i16 6735, i16 6736, i16 12523, i16 2290, i16 3028, i16 0, i16 0, i16 0, i16 11082, i16 5951, i16 11083, i16 5952, i16 11084, i16 1940, i16 1385, i16 2618, i16 11085, i16 0, i16 11086, i16 2862, i16 0, i16 11087, i16 0, i16 11088, i16 0, i16 888, i16 0, i16 5956, i16 5955, i16 0, i16 11089, i16 11090, i16 0, i16 5961, i16 5957, i16 5960, i16 0, i16 11091, i16 11092, i16 0, i16 2892, i16 4870, i16 2887, i16 9286, i16 9287, i16 9288, i16 9289, i16 0, i16 9290, i16 9291, i16 4874, i16 4861, i16 9292, i16 1349, i16 4864, i16 2028, i16 9293, i16 9294, i16 9295, i16 2971, i16 4866, i16 1352, i16 0, i16 4858, i16 4860, i16 4857, i16 9296, i16 9297, i16 3675, i16 1085, i16 4863, i16 9298, i16 10316, i16 0, i16 3457, i16 5469, i16 10317, i16 2577, i16 10318, i16 2981, i16 0, i16 1384, i16 10319, i16 0, i16 10320, i16 2558, i16 5470, i16 1335, i16 10321, i16 10322, i16 0, i16 2297, i16 10323, i16 0, i16 0, i16 0, i16 10324, i16 0, i16 0, i16 10325, i16 5471, i16 0, i16 0, i16 0, i16 10572, i16 0, i16 0, i16 0, i16 10573, i16 5598, i16 10574, i16 5600, i16 0, i16 10575, i16 10576, i16 0, i16 5603, i16 10577, i16 5604, i16 10578, i16 5601, i16 5602, i16 10579, i16 10580, i16 5599, i16 5597, i16 0, i16 10581, i16 0, i16 0, i16 5591, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3149, i16 8118, i16 0, i16 4121, i16 8102, i16 0, i16 8103, i16 8104, i16 0, i16 8105, i16 0, i16 0, i16 0, i16 8106, i16 0, i16 0, i16 8107, i16 0, i16 0, i16 0, i16 2154, i16 8108, i16 8109, i16 1898, i16 8110, i16 2968, i16 1201, i16 0, i16 1760, i16 8111, i16 8112, i16 8113, i16 7501, i16 7502, i16 0, i16 0, i16 7503, i16 3780, i16 3789, i16 7504, i16 0, i16 2393, i16 7505, i16 1533, i16 7506, i16 2967, i16 7507, i16 5253, i16 7508, i16 3788, i16 2780, i16 7509, i16 3777, i16 0, i16 1583, i16 7510, i16 7511, i16 1582, i16 3775, i16 7512, i16 7513, i16 7514, i16 7515, i16 1931, i16 2382, i16 3317, i16 1772, i16 10710, i16 0, i16 0, i16 10711, i16 0, i16 0, i16 0, i16 10712, i16 1850, i16 2686, i16 10713, i16 5691, i16 3628, i16 1742, i16 10714, i16 5692, i16 2189, i16 0, i16 5694, i16 0, i16 0, i16 0, i16 2111, i16 1701, i16 0, i16 10715, i16 10716, i16 10717, i16 5693, i16 4431, i16 8660, i16 1023, i16 4451, i16 4453, i16 2580, i16 0, i16 8661, i16 1693, i16 957, i16 4445, i16 4456, i16 4455, i16 1328, i16 0, i16 2446, i16 1097, i16 8662, i16 0, i16 0, i16 0, i16 1438, i16 0, i16 4446, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8663, i16 8664, i16 5455, i16 0, i16 10300, i16 0, i16 0, i16 3234, i16 0, i16 10301, i16 0, i16 0, i16 10302, i16 0, i16 2021, i16 3603, i16 10303, i16 10304, i16 5457, i16 10305, i16 0, i16 2836, i16 0, i16 10306, i16 5458, i16 0, i16 0, i16 5459, i16 0, i16 5463, i16 5461, i16 5462, i16 10307, i16 5460, i16 8528, i16 2628, i16 0, i16 1604, i16 2078, i16 0, i16 0, i16 3064, i16 0, i16 0, i16 2079, i16 8529, i16 0, i16 0, i16 8530, i16 2055, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2701, i16 3278, i16 2744, i16 0, i16 0, i16 1605, i16 0, i16 3155, i16 0, i16 0, i16 0, i16 4177, i16 8209, i16 4176, i16 8210, i16 0, i16 931, i16 0, i16 4178, i16 2070, i16 4180, i16 2536, i16 8211, i16 4179, i16 8212, i16 3208, i16 8213, i16 0, i16 0, i16 8214, i16 2054, i16 2778, i16 8215, i16 8216, i16 0, i16 4181, i16 8217, i16 0, i16 8218, i16 8219, i16 1596, i16 0, i16 0, i16 9810, i16 0, i16 5193, i16 0, i16 2972, i16 5189, i16 5192, i16 2101, i16 9811, i16 3050, i16 0, i16 0, i16 5196, i16 0, i16 1922, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9812, i16 0, i16 0, i16 0, i16 2339, i16 0, i16 0, i16 11346, i16 11347, i16 11348, i16 11349, i16 11350, i16 0, i16 0, i16 6104, i16 0, i16 11351, i16 0, i16 2609, i16 11352, i16 0, i16 0, i16 11353, i16 0, i16 6105, i16 0, i16 0, i16 0, i16 11354, i16 11355, i16 11356, i16 0, i16 2903, i16 11357, i16 771, i16 0, i16 0, i16 0, i16 0, i16 8787, i16 4558, i16 8788, i16 8789, i16 0, i16 0, i16 2328, i16 8790, i16 0, i16 8791, i16 4559, i16 8792, i16 0, i16 0, i16 4560, i16 1241, i16 4561, i16 0, i16 4562, i16 4563, i16 2492, i16 0, i16 0, i16 0, i16 1542, i16 8793, i16 0, i16 3442, i16 0, i16 8794, i16 0, i16 3311, i16 9299, i16 4873, i16 1048, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1756, i16 0, i16 0, i16 9300, i16 900, i16 0, i16 0, i16 4890, i16 9301, i16 0, i16 3676, i16 4893, i16 9302, i16 0, i16 9303, i16 0, i16 0, i16 2181, i16 4892, i16 0, i16 0, i16 0, i16 2388, i16 7075, i16 13117, i16 0, i16 0, i16 0, i16 13118, i16 0, i16 0, i16 0, i16 13119, i16 13120, i16 7076, i16 0, i16 0, i16 13121, i16 0, i16 13122, i16 13123, i16 0, i16 13124, i16 0, i16 0, i16 13125, i16 0, i16 13126, i16 13127, i16 3096, i16 13128, i16 13129, i16 7077, i16 13130, i16 5972, i16 0, i16 11115, i16 11116, i16 11117, i16 5975, i16 0, i16 11118, i16 0, i16 2423, i16 1456, i16 0, i16 0, i16 11119, i16 11120, i16 872, i16 5974, i16 11121, i16 1642, i16 11156, i16 11099, i16 11122, i16 11123, i16 11124, i16 2424, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12628, i16 6804, i16 0, i16 12629, i16 6803, i16 12638, i16 12630, i16 0, i16 0, i16 0, i16 0, i16 12631, i16 3326, i16 2825, i16 12632, i16 12633, i16 12634, i16 0, i16 12635, i16 12636, i16 887, i16 12637, i16 0, i16 6805, i16 6802, i16 0, i16 0, i16 3144, i16 3545, i16 6806, i16 12639, i16 0, i16 9813, i16 0, i16 0, i16 0, i16 5199, i16 9814, i16 0, i16 9815, i16 5191, i16 0, i16 1410, i16 0, i16 9816, i16 0, i16 0, i16 5197, i16 0, i16 0, i16 9817, i16 0, i16 3519, i16 5200, i16 0, i16 0, i16 0, i16 7100, i16 9818, i16 9819, i16 0, i16 0, i16 0, i16 2014, i16 11093, i16 11094, i16 3425, i16 5959, i16 989, i16 1120, i16 5963, i16 11095, i16 11096, i16 5965, i16 11097, i16 11098, i16 0, i16 0, i16 1455, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5969, i16 5978, i16 5979, i16 0, i16 0, i16 11100, i16 756, i16 11101, i16 11102, i16 11103, i16 343, i16 0, i16 348, i16 344, i16 0, i16 0, i16 0, i16 349, i16 330, i16 0, i16 0, i16 331, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 354, i16 0, i16 0, i16 356, i16 292, i16 0, i16 7256, i16 7341, i16 7259, i16 7344, i16 7258, i16 7343, i16 7178, i16 7194, i16 7270, i16 7355, i16 7267, i16 7352, i16 7264, i16 7349, i16 7269, i16 7354, i16 7266, i16 7351, i16 7268, i16 7353, i16 7275, i16 7360, i16 7278, i16 7363, i16 7277, i16 7279, i16 7364, i16 7281, i16 7366, i16 7280, i16 7365, i16 0, i16 11608, i16 6262, i16 0, i16 0, i16 0, i16 11609, i16 6264, i16 3558, i16 0, i16 6263, i16 2193, i16 0, i16 6265, i16 0, i16 0, i16 6266, i16 11610, i16 0, i16 6267, i16 1170, i16 11611, i16 11612, i16 11613, i16 11614, i16 0, i16 0, i16 6268, i16 0, i16 11615, i16 6269, i16 0, i16 6270, i16 345, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 338, i16 339, i16 337, i16 336, i16 358, i16 359, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 293, i16 357, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 355, i16 0, i16 0, i16 3929, i16 1996, i16 7764, i16 2322, i16 0, i16 3931, i16 3930, i16 2064, i16 1562, i16 3933, i16 3031, i16 7766, i16 7765, i16 3934, i16 0, i16 0, i16 0, i16 3061, i16 2457, i16 2515, i16 1317, i16 0, i16 0, i16 2891, i16 2548, i16 7767, i16 2985, i16 7768, i16 3329, i16 0, i16 3936, i16 0, i16 9049, i16 0, i16 1614, i16 4714, i16 9050, i16 0, i16 1696, i16 2087, i16 9051, i16 9052, i16 4713, i16 0, i16 2088, i16 9053, i16 3409, i16 1695, i16 0, i16 9054, i16 9055, i16 800, i16 2295, i16 9056, i16 9057, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4720, i16 9058, i16 9059, i16 2266, i16 5210, i16 0, i16 0, i16 0, i16 0, i16 2414, i16 1803, i16 5212, i16 0, i16 0, i16 0, i16 0, i16 5211, i16 2159, i16 3955, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5213, i16 0, i16 0, i16 9838, i16 5215, i16 0, i16 5198, i16 5214, i16 0, i16 9839, i16 5216, i16 9820, i16 0, i16 9821, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5201, i16 0, i16 0, i16 0, i16 5202, i16 0, i16 0, i16 9822, i16 9823, i16 2921, i16 9824, i16 9825, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5204, i16 9826, i16 0, i16 0, i16 0, i16 5205, i16 9827, i16 1630, i16 0, i16 5677, i16 0, i16 0, i16 0, i16 10695, i16 3605, i16 0, i16 10696, i16 0, i16 10697, i16 0, i16 0, i16 0, i16 5679, i16 0, i16 0, i16 5680, i16 0, i16 5681, i16 10698, i16 5682, i16 0, i16 1848, i16 0, i16 5683, i16 1450, i16 0, i16 0, i16 1289, i16 0, i16 10590, i16 1162, i16 0, i16 0, i16 0, i16 10591, i16 0, i16 0, i16 0, i16 0, i16 2560, i16 0, i16 10592, i16 2342, i16 0, i16 10593, i16 10594, i16 3003, i16 10595, i16 0, i16 5620, i16 10596, i16 10597, i16 0, i16 3005, i16 0, i16 10598, i16 10599, i16 10600, i16 10601, i16 0, i16 0, i16 3168, i16 1751, i16 1646, i16 0, i16 11793, i16 0, i16 0, i16 3142, i16 996, i16 3047, i16 6379, i16 1172, i16 2302, i16 6378, i16 6383, i16 2620, i16 3444, i16 0, i16 6381, i16 6382, i16 1229, i16 0, i16 6384, i16 2974, i16 2500, i16 11794, i16 11795, i16 3082, i16 2748, i16 6380, i16 0, i16 3322, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 1377, i16 0, i16 0, i16 2005, i16 0, i16 2841, i16 0, i16 0, i16 12248, i16 12249, i16 12250, i16 0, i16 0, i16 12251, i16 12252, i16 0, i16 0, i16 2356, i16 12253, i16 6614, i16 0, i16 6608, i16 6613, i16 12254, i16 3412, i16 12255, i16 2649, i16 6615, i16 6612, i16 0, i16 0, i16 12256, i16 10849, i16 0, i16 5794, i16 5796, i16 0, i16 3540, i16 5795, i16 5798, i16 5797, i16 0, i16 3522, i16 10850, i16 5799, i16 10851, i16 3095, i16 10852, i16 10853, i16 10854, i16 0, i16 0, i16 5800, i16 0, i16 10855, i16 10856, i16 0, i16 0, i16 5803, i16 0, i16 10857, i16 5802, i16 5801, i16 0, i16 5475, i16 10333, i16 10334, i16 10335, i16 0, i16 2773, i16 1739, i16 1261, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10336, i16 10337, i16 0, i16 10338, i16 0, i16 3287, i16 0, i16 2950, i16 10339, i16 0, i16 10340, i16 0, i16 0, i16 2774, i16 0, i16 0, i16 0, i16 0, i16 1651, i16 7523, i16 7524, i16 7525, i16 3790, i16 0, i16 7526, i16 7527, i16 3791, i16 3795, i16 791, i16 7528, i16 0, i16 7529, i16 0, i16 7530, i16 3237, i16 3794, i16 7531, i16 7532, i16 7533, i16 0, i16 3793, i16 3797, i16 7534, i16 0, i16 7535, i16 3796, i16 0, i16 2693, i16 0, i16 0, i16 7536, i16 9828, i16 9829, i16 0, i16 2926, i16 9830, i16 0, i16 0, i16 0, i16 2804, i16 5207, i16 0, i16 9831, i16 9832, i16 0, i16 5209, i16 0, i16 3618, i16 0, i16 5206, i16 9833, i16 5208, i16 916, i16 9834, i16 5203, i16 0, i16 9835, i16 9836, i16 0, i16 9837, i16 0, i16 0, i16 4051, i16 11876, i16 11877, i16 11878, i16 11879, i16 0, i16 0, i16 11880, i16 11881, i16 0, i16 0, i16 6445, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6434, i16 11882, i16 0, i16 11883, i16 6435, i16 6433, i16 11884, i16 11885, i16 11886, i16 11887, i16 0, i16 0, i16 0, i16 11888, i16 0, i16 0, i16 4709, i16 4710, i16 1212, i16 0, i16 0, i16 2905, i16 2553, i16 1291, i16 1840, i16 2408, i16 0, i16 0, i16 2027, i16 761, i16 0, i16 0, i16 9042, i16 4711, i16 9043, i16 0, i16 9044, i16 9045, i16 0, i16 0, i16 0, i16 9046, i16 935, i16 4715, i16 0, i16 0, i16 9047, i16 9048, i16 8037, i16 0, i16 8038, i16 8039, i16 8040, i16 8041, i16 4095, i16 766, i16 1748, i16 8042, i16 8043, i16 0, i16 8044, i16 1432, i16 8045, i16 8046, i16 2578, i16 0, i16 0, i16 8047, i16 8048, i16 0, i16 0, i16 4096, i16 4097, i16 0, i16 0, i16 4099, i16 0, i16 8049, i16 8050, i16 8051, i16 615, i16 616, i16 0, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 7126, i16 7129, i16 7131, i16 7132, i16 7133, i16 7134, i16 7141, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 6247, i16 11588, i16 11589, i16 11590, i16 6250, i16 0, i16 6249, i16 0, i16 0, i16 0, i16 6252, i16 11591, i16 0, i16 6251, i16 11592, i16 6253, i16 11593, i16 0, i16 1984, i16 11594, i16 6254, i16 11595, i16 0, i16 6255, i16 0, i16 0, i16 11596, i16 11597, i16 11598, i16 11599, i16 6256, i16 2279, i16 8295, i16 0, i16 8296, i16 0, i16 0, i16 0, i16 0, i16 8297, i16 0, i16 0, i16 0, i16 0, i16 8298, i16 0, i16 0, i16 0, i16 0, i16 8299, i16 8300, i16 8301, i16 0, i16 8302, i16 0, i16 0, i16 8303, i16 0, i16 8304, i16 8305, i16 4208, i16 4212, i16 4209, i16 8306, i16 1128, i16 7640, i16 3851, i16 7641, i16 3849, i16 3406, i16 3850, i16 0, i16 3153, i16 3852, i16 3853, i16 3854, i16 2782, i16 7642, i16 0, i16 0, i16 3858, i16 3856, i16 3857, i16 3855, i16 1752, i16 3859, i16 3451, i16 3633, i16 7643, i16 0, i16 7644, i16 0, i16 7645, i16 3860, i16 7646, i16 7647, i16 2152, i16 12316, i16 6626, i16 6628, i16 12317, i16 12318, i16 1360, i16 12319, i16 3132, i16 12320, i16 12321, i16 1939, i16 3662, i16 0, i16 6624, i16 1773, i16 0, i16 0, i16 3690, i16 12322, i16 12323, i16 6630, i16 12324, i16 12325, i16 0, i16 0, i16 6629, i16 6631, i16 0, i16 0, i16 0, i16 0, i16 3944, i16 7785, i16 0, i16 0, i16 7786, i16 3946, i16 3945, i16 0, i16 2218, i16 864, i16 7787, i16 7788, i16 0, i16 901, i16 3947, i16 7789, i16 3948, i16 0, i16 7790, i16 1520, i16 7791, i16 7792, i16 3949, i16 7793, i16 7794, i16 0, i16 7795, i16 1293, i16 0, i16 7796, i16 0, i16 0, i16 4200, i16 3671, i16 0, i16 0, i16 8271, i16 8272, i16 2951, i16 8273, i16 8274, i16 4202, i16 0, i16 0, i16 8275, i16 0, i16 0, i16 0, i16 8276, i16 0, i16 0, i16 0, i16 0, i16 8277, i16 0, i16 0, i16 0, i16 0, i16 1692, i16 0, i16 0, i16 0, i16 8278, i16 0, i16 5994, i16 0, i16 5984, i16 0, i16 0, i16 0, i16 11142, i16 11143, i16 5996, i16 11144, i16 5982, i16 2999, i16 11145, i16 11170, i16 0, i16 0, i16 0, i16 3544, i16 0, i16 0, i16 0, i16 5991, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6013, i16 11146, i16 11147, i16 4972, i16 0, i16 9436, i16 4974, i16 4973, i16 9437, i16 3339, i16 0, i16 0, i16 2029, i16 1949, i16 1815, i16 0, i16 4975, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4977, i16 2158, i16 9438, i16 4976, i16 0, i16 0, i16 9439, i16 0, i16 0, i16 4978, i16 9440, i16 5228, i16 9855, i16 9856, i16 9857, i16 0, i16 9858, i16 5229, i16 3239, i16 3040, i16 0, i16 0, i16 5230, i16 2962, i16 0, i16 9859, i16 9860, i16 9861, i16 0, i16 2638, i16 9862, i16 0, i16 9863, i16 9864, i16 0, i16 5231, i16 1004, i16 9865, i16 1292, i16 9866, i16 3415, i16 9867, i16 3399, i16 365, i16 366, i16 0, i16 0, i16 0, i16 258, i16 257, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 361, i16 0, i16 297, i16 298, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 323, i16 0, i16 0, i16 0, i16 0, i16 878, i16 9060, i16 9061, i16 9062, i16 9063, i16 2020, i16 9064, i16 3353, i16 1767, i16 9065, i16 9066, i16 9067, i16 9068, i16 2089, i16 9069, i16 2256, i16 9070, i16 9071, i16 0, i16 9072, i16 4719, i16 4717, i16 4718, i16 9074, i16 0, i16 9073, i16 0, i16 0, i16 2606, i16 0, i16 0, i16 4750, i16 10350, i16 10351, i16 0, i16 10352, i16 10353, i16 0, i16 0, i16 0, i16 10354, i16 0, i16 10355, i16 3583, i16 1628, i16 0, i16 10356, i16 1504, i16 0, i16 0, i16 3004, i16 0, i16 5479, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10357, i16 0, i16 5481, i16 0, i16 10358, i16 0, i16 6767, i16 7051, i16 3421, i16 12559, i16 6768, i16 0, i16 6769, i16 12560, i16 6770, i16 1082, i16 12561, i16 6772, i16 0, i16 2212, i16 12562, i16 0, i16 0, i16 6773, i16 0, i16 12563, i16 1407, i16 0, i16 12564, i16 12565, i16 12566, i16 6774, i16 6778, i16 12567, i16 6776, i16 12568, i16 0, i16 12569, i16 9328, i16 9329, i16 4897, i16 9330, i16 0, i16 4904, i16 0, i16 0, i16 0, i16 0, i16 4910, i16 3086, i16 4916, i16 0, i16 0, i16 9331, i16 0, i16 9332, i16 4911, i16 4914, i16 4908, i16 9333, i16 0, i16 2615, i16 0, i16 3119, i16 9334, i16 4898, i16 0, i16 9335, i16 4906, i16 2093, i16 9840, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2997, i16 9841, i16 9842, i16 9843, i16 0, i16 0, i16 0, i16 5217, i16 0, i16 0, i16 5218, i16 0, i16 0, i16 9844, i16 0, i16 0, i16 0, i16 9845, i16 0, i16 0, i16 9846, i16 5219, i16 0, i16 9847, i16 0, i16 9848, i16 10096, i16 10097, i16 0, i16 1805, i16 10098, i16 928, i16 5328, i16 10099, i16 3520, i16 10100, i16 10101, i16 3256, i16 5329, i16 0, i16 0, i16 10102, i16 2755, i16 3490, i16 1626, i16 2184, i16 0, i16 0, i16 10103, i16 2574, i16 3918, i16 10104, i16 2639, i16 1005, i16 5330, i16 10105, i16 10106, i16 10107, i16 7537, i16 0, i16 7538, i16 7539, i16 0, i16 1485, i16 7540, i16 7541, i16 0, i16 0, i16 7542, i16 0, i16 3798, i16 7543, i16 0, i16 0, i16 7544, i16 7545, i16 1910, i16 0, i16 2443, i16 2694, i16 1395, i16 0, i16 3799, i16 0, i16 0, i16 0, i16 0, i16 1237, i16 0, i16 0, i16 11377, i16 11378, i16 0, i16 11379, i16 6114, i16 11380, i16 6115, i16 1929, i16 0, i16 6117, i16 0, i16 2564, i16 0, i16 1457, i16 1061, i16 0, i16 0, i16 11381, i16 11382, i16 0, i16 6120, i16 11383, i16 0, i16 11384, i16 0, i16 1058, i16 11385, i16 6125, i16 11386, i16 0, i16 6121, i16 6124, i16 11889, i16 11890, i16 6432, i16 0, i16 2718, i16 0, i16 0, i16 6437, i16 6441, i16 6438, i16 6436, i16 11891, i16 6439, i16 11892, i16 11893, i16 11894, i16 6440, i16 0, i16 0, i16 0, i16 11895, i16 6447, i16 0, i16 0, i16 0, i16 6442, i16 0, i16 11896, i16 11897, i16 11898, i16 11899, i16 2305, i16 10866, i16 940, i16 0, i16 10867, i16 0, i16 5812, i16 5813, i16 0, i16 10868, i16 0, i16 5814, i16 0, i16 3537, i16 0, i16 10869, i16 10870, i16 0, i16 0, i16 1979, i16 0, i16 5816, i16 5815, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10871, i16 0, i16 0, i16 0, i16 10872, i16 3699, i16 4782, i16 2240, i16 0, i16 0, i16 0, i16 4781, i16 0, i16 0, i16 4776, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1544, i16 9169, i16 9170, i16 9171, i16 4788, i16 4786, i16 9172, i16 978, i16 4784, i16 4790, i16 4796, i16 0, i16 9173, i16 9174, i16 9175, i16 0, i16 0, i16 7283, i16 7282, i16 7285, i16 7291, i16 7284, i16 7290, i16 7180, i16 7295, i16 7299, i16 7298, i16 7301, i16 7300, i16 7312, i16 7311, i16 7314, i16 7313, i16 7182, i16 7327, i16 7329, i16 7328, i16 7331, i16 7335, i16 7330, i16 285, i16 7191, i16 7346, i16 7345, i16 7348, i16 7347, i16 7361, i16 7195, i16 7362, i16 9075, i16 4724, i16 1873, i16 1615, i16 4722, i16 9076, i16 9077, i16 0, i16 0, i16 4723, i16 9078, i16 2179, i16 9079, i16 0, i16 9081, i16 4721, i16 0, i16 9080, i16 1794, i16 0, i16 0, i16 0, i16 0, i16 9082, i16 9083, i16 9084, i16 0, i16 9085, i16 9086, i16 4726, i16 4725, i16 4730, i16 1908, i16 0, i16 11233, i16 11234, i16 0, i16 0, i16 6015, i16 11235, i16 0, i16 0, i16 0, i16 0, i16 11236, i16 0, i16 11237, i16 0, i16 11238, i16 3235, i16 0, i16 3379, i16 6055, i16 6054, i16 0, i16 6050, i16 6051, i16 0, i16 861, i16 0, i16 11239, i16 0, i16 11240, i16 6053, i16 1909, i16 0, i16 0, i16 0, i16 2851, i16 5627, i16 5626, i16 0, i16 10612, i16 5623, i16 10613, i16 0, i16 0, i16 3681, i16 0, i16 0, i16 0, i16 0, i16 10614, i16 5632, i16 10615, i16 10616, i16 5636, i16 5633, i16 10617, i16 10618, i16 10619, i16 0, i16 10620, i16 0, i16 10621, i16 0, i16 7797, i16 0, i16 1797, i16 3950, i16 0, i16 7798, i16 0, i16 0, i16 3367, i16 1706, i16 1273, i16 3478, i16 2391, i16 3032, i16 1966, i16 7799, i16 0, i16 0, i16 7800, i16 7801, i16 2006, i16 7802, i16 1945, i16 1958, i16 0, i16 2053, i16 7803, i16 3033, i16 0, i16 7804, i16 7805, i16 3953, i16 12917, i16 0, i16 12918, i16 0, i16 6964, i16 0, i16 6960, i16 0, i16 6961, i16 6957, i16 6963, i16 12919, i16 6959, i16 1093, i16 0, i16 12920, i16 3703, i16 12921, i16 6962, i16 6958, i16 6956, i16 6955, i16 12922, i16 0, i16 12923, i16 12924, i16 12925, i16 6966, i16 12926, i16 0, i16 12927, i16 0, i16 9590, i16 2555, i16 9591, i16 0, i16 5069, i16 9592, i16 5058, i16 0, i16 5064, i16 9593, i16 5071, i16 837, i16 5061, i16 0, i16 5072, i16 9594, i16 9595, i16 2183, i16 0, i16 2030, i16 9596, i16 3194, i16 9597, i16 1699, i16 0, i16 5053, i16 5067, i16 2745, i16 9598, i16 0, i16 0, i16 0, i16 3448, i16 0, i16 6681, i16 2357, i16 12444, i16 0, i16 0, i16 6682, i16 12445, i16 3225, i16 6683, i16 1038, i16 12446, i16 12447, i16 12448, i16 867, i16 0, i16 1176, i16 0, i16 1175, i16 6684, i16 0, i16 6685, i16 0, i16 6686, i16 6687, i16 0, i16 0, i16 0, i16 12449, i16 12450, i16 12451, i16 4472, i16 4470, i16 8699, i16 2401, i16 0, i16 8700, i16 0, i16 4460, i16 1799, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2475, i16 4491, i16 8701, i16 2402, i16 4486, i16 8702, i16 4483, i16 4484, i16 8703, i16 1943, i16 4487, i16 4490, i16 8704, i16 8705, i16 0, i16 0, i16 6008, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11157, i16 3267, i16 11158, i16 5999, i16 0, i16 0, i16 0, i16 991, i16 1551, i16 3104, i16 6009, i16 0, i16 5997, i16 0, i16 11159, i16 6006, i16 11160, i16 11161, i16 0, i16 6016, i16 11162, i16 6001, i16 0, i16 0, i16 9336, i16 3424, i16 4926, i16 4913, i16 9337, i16 0, i16 0, i16 0, i16 9338, i16 1499, i16 936, i16 1090, i16 0, i16 0, i16 4889, i16 0, i16 9339, i16 0, i16 9340, i16 0, i16 9341, i16 2094, i16 4918, i16 9342, i16 4925, i16 1962, i16 1109, i16 9343, i16 0, i16 2545, i16 9344, i16 9345, i16 11640, i16 0, i16 11641, i16 1480, i16 11642, i16 6284, i16 11643, i16 0, i16 0, i16 0, i16 3295, i16 11644, i16 11645, i16 2312, i16 0, i16 11646, i16 0, i16 1301, i16 0, i16 3462, i16 2385, i16 11647, i16 6285, i16 11648, i16 0, i16 0, i16 2194, i16 2611, i16 2119, i16 11649, i16 11650, i16 0, i16 8313, i16 2599, i16 0, i16 4213, i16 0, i16 8314, i16 4215, i16 0, i16 0, i16 4216, i16 8315, i16 0, i16 0, i16 0, i16 8316, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8317, i16 8318, i16 0, i16 0, i16 0, i16 4218, i16 4219, i16 0, i16 8319, i16 0, i16 0, i16 11129, i16 0, i16 11130, i16 0, i16 11131, i16 5980, i16 11132, i16 5988, i16 0, i16 5995, i16 5989, i16 0, i16 0, i16 11133, i16 5987, i16 0, i16 0, i16 0, i16 11134, i16 5958, i16 11135, i16 11136, i16 5985, i16 0, i16 11137, i16 11138, i16 5981, i16 11139, i16 11140, i16 11141, i16 1169, i16 5983, i16 890, i16 11664, i16 6294, i16 1459, i16 0, i16 11665, i16 1857, i16 11666, i16 0, i16 1856, i16 0, i16 3704, i16 6293, i16 6292, i16 2350, i16 0, i16 1260, i16 3694, i16 1053, i16 2121, i16 0, i16 11667, i16 11668, i16 11669, i16 0, i16 11670, i16 11671, i16 11672, i16 6291, i16 0, i16 11673, i16 11674, i16 3962, i16 0, i16 3663, i16 7821, i16 7822, i16 0, i16 3271, i16 7823, i16 2697, i16 1563, i16 1671, i16 0, i16 0, i16 7824, i16 3970, i16 7825, i16 0, i16 2874, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7826, i16 3974, i16 3707, i16 4830, i16 0, i16 0, i16 4844, i16 801, i16 9267, i16 0, i16 4832, i16 9268, i16 9269, i16 3403, i16 4837, i16 2157, i16 2664, i16 4827, i16 9270, i16 9271, i16 4843, i16 9272, i16 0, i16 0, i16 9273, i16 9274, i16 0, i16 2245, i16 4853, i16 1108, i16 1498, i16 0, i16 0, i16 0, i16 11387, i16 0, i16 0, i16 11388, i16 3027, i16 11389, i16 0, i16 11390, i16 0, i16 6122, i16 0, i16 0, i16 6123, i16 3135, i16 3059, i16 6126, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2530, i16 6136, i16 11392, i16 6132, i16 11393, i16 11394, i16 1008, i16 0, i16 2172, i16 0, i16 0, i16 8264, i16 8265, i16 4194, i16 0, i16 8266, i16 8267, i16 3247, i16 8268, i16 0, i16 0, i16 8269, i16 0, i16 1565, i16 8270, i16 0, i16 0, i16 0, i16 0, i16 4203, i16 4204, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2072, i16 0, i16 0, i16 0, i16 6012, i16 0, i16 6011, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2982, i16 6018, i16 0, i16 6029, i16 0, i16 0, i16 11171, i16 0, i16 1121, i16 0, i16 0, i16 0, i16 6032, i16 0, i16 0, i16 6014, i16 11172, i16 0, i16 0, i16 6019, i16 3549, i16 0, i16 0, i16 10108, i16 0, i16 0, i16 10109, i16 5331, i16 0, i16 5336, i16 10110, i16 10111, i16 5334, i16 5333, i16 4684, i16 1033, i16 5332, i16 10112, i16 803, i16 10113, i16 3011, i16 10114, i16 0, i16 3043, i16 0, i16 0, i16 10115, i16 0, i16 3582, i16 5337, i16 5335, i16 2591, i16 2255, i16 10116, i16 10117, i16 7806, i16 874, i16 2392, i16 1590, i16 1534, i16 1380, i16 7807, i16 7808, i16 3957, i16 2532, i16 2531, i16 1320, i16 2065, i16 3958, i16 3956, i16 969, i16 2507, i16 1897, i16 1822, i16 845, i16 0, i16 7809, i16 1107, i16 1661, i16 1821, i16 0, i16 3959, i16 0, i16 0, i16 0, i16 0, i16 0, i16 639, i16 640, i16 7138, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 7135, i16 7140, i16 7137, i16 7139, i16 7142, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6271, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1076, i16 0, i16 11616, i16 11617, i16 11618, i16 11619, i16 11620, i16 0, i16 6272, i16 0, i16 6273, i16 6274, i16 0, i16 0, i16 9087, i16 9088, i16 4731, i16 0, i16 4727, i16 0, i16 1029, i16 4728, i16 4729, i16 3054, i16 9090, i16 9091, i16 9092, i16 0, i16 3160, i16 1445, i16 4732, i16 0, i16 0, i16 9094, i16 2267, i16 9095, i16 2090, i16 9097, i16 9098, i16 9099, i16 2581, i16 9100, i16 9102, i16 0, i16 9093, i16 9096, i16 9599, i16 0, i16 0, i16 0, i16 9600, i16 2271, i16 0, i16 1100, i16 1734, i16 2097, i16 5055, i16 2001, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1447, i16 0, i16 5054, i16 0, i16 0, i16 0, i16 5076, i16 2044, i16 1523, i16 0, i16 5091, i16 9601, i16 5085, i16 8320, i16 8321, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8322, i16 1203, i16 0, i16 4221, i16 4220, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4222, i16 8323, i16 0, i16 8325, i16 0, i16 8326, i16 0, i16 8327, i16 0, i16 0, i16 8576, i16 4395, i16 0, i16 0, i16 8577, i16 8578, i16 0, i16 8579, i16 4396, i16 0, i16 1325, i16 0, i16 4397, i16 8580, i16 4398, i16 0, i16 8581, i16 4400, i16 0, i16 2805, i16 8582, i16 0, i16 4401, i16 4402, i16 8583, i16 4403, i16 0, i16 8584, i16 4388, i16 4387, i16 0, i16 0, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 0, i16 0, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 1665, i16 2915, i16 0, i16 0, i16 5051, i16 0, i16 0, i16 0, i16 9719, i16 9720, i16 0, i16 3555, i16 5149, i16 0, i16 5153, i16 2522, i16 9721, i16 5152, i16 0, i16 5131, i16 0, i16 9722, i16 6697, i16 0, i16 0, i16 9723, i16 5157, i16 0, i16 9724, i16 9725, i16 5161, i16 0, i16 5249, i16 5250, i16 5248, i16 0, i16 0, i16 9900, i16 0, i16 0, i16 0, i16 1950, i16 0, i16 0, i16 2853, i16 1334, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9901, i16 9902, i16 0, i16 0, i16 5252, i16 2543, i16 5251, i16 9903, i16 9904, i16 3680, i16 2973, i16 9905, i16 0, i16 5507, i16 1426, i16 0, i16 0, i16 10420, i16 10421, i16 10422, i16 1247, i16 1222, i16 1846, i16 10423, i16 10424, i16 0, i16 0, i16 0, i16 10425, i16 3491, i16 10426, i16 0, i16 5513, i16 10427, i16 5512, i16 2379, i16 5509, i16 10428, i16 0, i16 5511, i16 10429, i16 10430, i16 2010, i16 2187, i16 5510, i16 11651, i16 6286, i16 0, i16 11652, i16 0, i16 11653, i16 6289, i16 11654, i16 6290, i16 11655, i16 0, i16 0, i16 0, i16 11656, i16 11657, i16 0, i16 1715, i16 2471, i16 6288, i16 11658, i16 2120, i16 3125, i16 11659, i16 11660, i16 11661, i16 0, i16 0, i16 6287, i16 11662, i16 11663, i16 1855, i16 0, i16 5508, i16 0, i16 2917, i16 0, i16 0, i16 2106, i16 0, i16 10431, i16 3123, i16 10432, i16 0, i16 10433, i16 0, i16 1740, i16 0, i16 0, i16 0, i16 0, i16 10434, i16 0, i16 0, i16 0, i16 0, i16 2807, i16 0, i16 10435, i16 5514, i16 10436, i16 10437, i16 0, i16 10438, i16 5515, i16 4485, i16 1972, i16 8706, i16 4488, i16 0, i16 0, i16 4482, i16 8707, i16 3469, i16 3468, i16 8708, i16 0, i16 8709, i16 4492, i16 4493, i16 798, i16 8710, i16 8711, i16 8712, i16 8713, i16 8714, i16 4481, i16 8715, i16 8716, i16 0, i16 8717, i16 1391, i16 751, i16 8718, i16 0, i16 8719, i16 1143, i16 4230, i16 8332, i16 0, i16 4228, i16 0, i16 4229, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8333, i16 8334, i16 0, i16 0, i16 0, i16 1829, i16 4231, i16 8335, i16 0, i16 1597, i16 4232, i16 8336, i16 1869, i16 2461, i16 0, i16 4233, i16 4234, i16 1837, i16 1598, i16 8337, i16 3427, i16 1673, i16 0, i16 3259, i16 5542, i16 10499, i16 10500, i16 3335, i16 10501, i16 10502, i16 5544, i16 0, i16 0, i16 10503, i16 2298, i16 886, i16 959, i16 757, i16 0, i16 0, i16 0, i16 0, i16 10504, i16 10505, i16 5543, i16 0, i16 10506, i16 0, i16 0, i16 10507, i16 10508, i16 0, i16 10509, i16 2441, i16 6521, i16 754, i16 3661, i16 0, i16 0, i16 0, i16 6526, i16 12021, i16 12022, i16 12024, i16 0, i16 12025, i16 12026, i16 2502, i16 12023, i16 0, i16 1988, i16 2197, i16 12027, i16 12028, i16 6528, i16 6527, i16 12029, i16 824, i16 6529, i16 0, i16 0, i16 3110, i16 0, i16 6537, i16 12030, i16 8585, i16 4404, i16 1436, i16 8586, i16 8587, i16 0, i16 3102, i16 8588, i16 0, i16 1729, i16 3118, i16 2631, i16 3138, i16 4405, i16 0, i16 8589, i16 2081, i16 877, i16 8590, i16 4406, i16 8591, i16 8592, i16 0, i16 4407, i16 8593, i16 3459, i16 8594, i16 0, i16 3065, i16 8595, i16 8596, i16 4410, i16 10634, i16 1163, i16 0, i16 5637, i16 0, i16 10635, i16 10636, i16 5638, i16 10637, i16 0, i16 5639, i16 5642, i16 10638, i16 0, i16 0, i16 0, i16 0, i16 10639, i16 0, i16 10640, i16 10641, i16 0, i16 10642, i16 5641, i16 3087, i16 10643, i16 10644, i16 0, i16 0, i16 5643, i16 3657, i16 3266, i16 1675, i16 3402, i16 12998, i16 12997, i16 7003, i16 12999, i16 0, i16 0, i16 0, i16 13000, i16 13001, i16 13002, i16 3301, i16 0, i16 0, i16 7011, i16 13003, i16 0, i16 7007, i16 0, i16 0, i16 0, i16 13004, i16 13005, i16 0, i16 0, i16 7012, i16 13006, i16 13007, i16 0, i16 13008, i16 0, i16 7563, i16 7564, i16 7565, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7566, i16 0, i16 1722, i16 3506, i16 0, i16 7567, i16 7568, i16 0, i16 3804, i16 3807, i16 3803, i16 1721, i16 0, i16 2060, i16 0, i16 7569, i16 7570, i16 0, i16 0, i16 7571, i16 1428, i16 0, i16 3980, i16 7837, i16 0, i16 7838, i16 3982, i16 7839, i16 3984, i16 0, i16 7840, i16 7841, i16 0, i16 1765, i16 3693, i16 7842, i16 3973, i16 3971, i16 3983, i16 7843, i16 3978, i16 0, i16 0, i16 7844, i16 7845, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7846, i16 0, i16 0, i16 7847, i16 9868, i16 953, i16 3679, i16 9869, i16 0, i16 0, i16 0, i16 3333, i16 9870, i16 3199, i16 0, i16 9871, i16 0, i16 0, i16 9872, i16 9873, i16 0, i16 9874, i16 2272, i16 0, i16 5232, i16 0, i16 0, i16 9875, i16 9876, i16 2848, i16 0, i16 9877, i16 9878, i16 1500, i16 5233, i16 9879, i16 11148, i16 6005, i16 0, i16 0, i16 0, i16 2246, i16 0, i16 11149, i16 0, i16 11150, i16 1253, i16 0, i16 1370, i16 0, i16 6000, i16 11151, i16 11152, i16 11153, i16 0, i16 992, i16 11154, i16 0, i16 2113, i16 0, i16 6003, i16 0, i16 0, i16 0, i16 1743, i16 11155, i16 0, i16 2768, i16 4749, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4751, i16 0, i16 9131, i16 4752, i16 0, i16 9132, i16 9133, i16 0, i16 9134, i16 0, i16 4753, i16 0, i16 1351, i16 879, i16 1616, i16 4754, i16 0, i16 4755, i16 2048, i16 2409, i16 9135, i16 9089, i16 3954, i16 2373, i16 2372, i16 2493, i16 9101, i16 1348, i16 0, i16 4733, i16 4737, i16 0, i16 0, i16 976, i16 4734, i16 4736, i16 0, i16 9103, i16 9104, i16 9105, i16 4735, i16 0, i16 9106, i16 2042, i16 9107, i16 0, i16 0, i16 0, i16 2571, i16 782, i16 4738, i16 9108, i16 9109, i16 9110, i16 9111, i16 4739, i16 0, i16 9112, i16 10897, i16 5830, i16 0, i16 0, i16 10898, i16 0, i16 10899, i16 0, i16 5831, i16 0, i16 0, i16 0, i16 10900, i16 0, i16 10901, i16 0, i16 10902, i16 0, i16 0, i16 1883, i16 10903, i16 10904, i16 3454, i16 10905, i16 0, i16 10906, i16 10907, i16 5833, i16 10908, i16 2562, i16 10909, i16 5832, i16 3218, i16 3626, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8131, i16 1017, i16 4128, i16 8132, i16 8133, i16 0, i16 8134, i16 8135, i16 2369, i16 4131, i16 0, i16 2786, i16 8136, i16 0, i16 2760, i16 2787, i16 3026, i16 2670, i16 0, i16 0, i16 0, i16 1726, i16 8137, i16 3731, i16 3303, i16 3732, i16 0, i16 1579, i16 816, i16 3365, i16 0, i16 1307, i16 0, i16 0, i16 1308, i16 1309, i16 2691, i16 3593, i16 7399, i16 3733, i16 0, i16 0, i16 3734, i16 0, i16 0, i16 3735, i16 0, i16 0, i16 7400, i16 2200, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4243, i16 8345, i16 0, i16 4244, i16 8346, i16 2517, i16 8347, i16 846, i16 1946, i16 779, i16 8348, i16 2398, i16 1137, i16 1894, i16 8349, i16 1599, i16 8350, i16 8351, i16 0, i16 8352, i16 8353, i16 2789, i16 8354, i16 1968, i16 1138, i16 2603, i16 2699, i16 769, i16 1240, i16 3274, i16 0, i16 1907, i16 7060, i16 0, i16 0, i16 0, i16 13092, i16 7061, i16 0, i16 13093, i16 7062, i16 0, i16 0, i16 0, i16 13094, i16 13095, i16 13096, i16 7063, i16 13097, i16 13098, i16 13099, i16 0, i16 7064, i16 13100, i16 7065, i16 7066, i16 13101, i16 7067, i16 0, i16 7068, i16 7069, i16 7070, i16 0, i16 13102, i16 7572, i16 0, i16 3808, i16 7573, i16 7574, i16 1356, i16 0, i16 7575, i16 0, i16 3805, i16 3806, i16 0, i16 7576, i16 2828, i16 7577, i16 2435, i16 7578, i16 1312, i16 0, i16 7579, i16 7580, i16 3328, i16 3809, i16 0, i16 7581, i16 0, i16 3594, i16 0, i16 7582, i16 7583, i16 3810, i16 7584, i16 6549, i16 6548, i16 6546, i16 5564, i16 1173, i16 12043, i16 0, i16 6514, i16 12044, i16 6551, i16 6550, i16 12045, i16 12046, i16 0, i16 12047, i16 6552, i16 12048, i16 3495, i16 0, i16 0, i16 0, i16 12049, i16 0, i16 12050, i16 12051, i16 12052, i16 0, i16 12053, i16 0, i16 0, i16 0, i16 0, i16 2710, i16 2000, i16 1280, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9490, i16 9491, i16 0, i16 9492, i16 3039, i16 9493, i16 1887, i16 0, i16 9494, i16 0, i16 9495, i16 5004, i16 0, i16 1153, i16 0, i16 9496, i16 927, i16 9497, i16 9498, i16 2895, i16 5003, i16 1621, i16 10390, i16 10391, i16 0, i16 0, i16 10387, i16 0, i16 10392, i16 5497, i16 3348, i16 0, i16 10393, i16 0, i16 5496, i16 0, i16 0, i16 820, i16 0, i16 0, i16 10394, i16 10395, i16 5500, i16 0, i16 10397, i16 10398, i16 0, i16 0, i16 10399, i16 10400, i16 0, i16 5499, i16 0, i16 10401, i16 12184, i16 12185, i16 0, i16 0, i16 12186, i16 12187, i16 12188, i16 12189, i16 0, i16 12190, i16 12191, i16 0, i16 12192, i16 2876, i16 1062, i16 0, i16 12193, i16 6601, i16 12194, i16 12195, i16 6598, i16 6600, i16 12196, i16 0, i16 12197, i16 0, i16 0, i16 0, i16 12198, i16 12199, i16 6596, i16 0, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 3481, i16 0, i16 8676, i16 1142, i16 8677, i16 8678, i16 896, i16 4468, i16 8679, i16 2933, i16 758, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8680, i16 8681, i16 3066, i16 4428, i16 4474, i16 4478, i16 3446, i16 8682, i16 4471, i16 0, i16 0, i16 8683, i16 2792, i16 4476, i16 8684, i16 0, i16 9113, i16 0, i16 2635, i16 0, i16 9114, i16 0, i16 3646, i16 0, i16 0, i16 0, i16 0, i16 1814, i16 0, i16 9115, i16 3264, i16 0, i16 0, i16 9116, i16 9117, i16 0, i16 3312, i16 9118, i16 0, i16 0, i16 4746, i16 4741, i16 0, i16 9119, i16 4744, i16 0, i16 4743, i16 9120, i16 922, i16 2387, i16 12036, i16 1512, i16 0, i16 3529, i16 12037, i16 12038, i16 6541, i16 2731, i16 0, i16 0, i16 12039, i16 2431, i16 1928, i16 6542, i16 12040, i16 0, i16 6545, i16 0, i16 12041, i16 2036, i16 6543, i16 2354, i16 2353, i16 12042, i16 813, i16 0, i16 3608, i16 6547, i16 0, i16 3083, i16 2714, i16 5730, i16 10770, i16 0, i16 5726, i16 10771, i16 10772, i16 0, i16 3241, i16 1164, i16 10773, i16 10774, i16 3420, i16 10775, i16 0, i16 807, i16 0, i16 10776, i16 5729, i16 0, i16 3658, i16 10777, i16 10778, i16 0, i16 0, i16 10779, i16 10780, i16 5728, i16 0, i16 0, i16 0, i16 0, i16 11930, i16 11931, i16 0, i16 11932, i16 11933, i16 6468, i16 6465, i16 11934, i16 6469, i16 0, i16 1927, i16 6470, i16 1231, i16 1422, i16 0, i16 11935, i16 0, i16 11936, i16 1511, i16 0, i16 11937, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6471, i16 11938, i16 0, i16 0, i16 2893, i16 11419, i16 0, i16 0, i16 11420, i16 0, i16 11421, i16 0, i16 0, i16 0, i16 2319, i16 0, i16 3684, i16 6148, i16 11422, i16 6149, i16 0, i16 0, i16 0, i16 0, i16 6155, i16 0, i16 2165, i16 0, i16 6151, i16 11423, i16 6154, i16 0, i16 0, i16 0, i16 11424, i16 0, i16 6146, i16 11675, i16 0, i16 6296, i16 11676, i16 6297, i16 6295, i16 11677, i16 1553, i16 0, i16 3503, i16 0, i16 11678, i16 1858, i16 2914, i16 0, i16 11679, i16 11680, i16 6300, i16 11681, i16 2281, i16 0, i16 2565, i16 11682, i16 11683, i16 3493, i16 11684, i16 6303, i16 0, i16 0, i16 0, i16 1573, i16 11685, i16 10140, i16 10141, i16 5356, i16 5358, i16 10142, i16 3129, i16 10143, i16 2102, i16 0, i16 0, i16 5365, i16 0, i16 10144, i16 5364, i16 10145, i16 10146, i16 0, i16 0, i16 5366, i16 0, i16 1879, i16 1700, i16 0, i16 10147, i16 2806, i16 5367, i16 0, i16 2668, i16 10148, i16 0, i16 5369, i16 10149, i16 10396, i16 2105, i16 0, i16 0, i16 0, i16 0, i16 10402, i16 5501, i16 0, i16 0, i16 0, i16 0, i16 10403, i16 0, i16 2378, i16 0, i16 10404, i16 5503, i16 5502, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5504, i16 10405, i16 0, i16 10406, i16 0, i16 10407, i16 10408, i16 5789, i16 10839, i16 0, i16 10840, i16 10841, i16 10842, i16 10843, i16 5792, i16 5790, i16 5791, i16 1750, i16 1454, i16 0, i16 10844, i16 2585, i16 0, i16 3020, i16 10845, i16 2047, i16 0, i16 0, i16 2952, i16 0, i16 3078, i16 5793, i16 4539, i16 0, i16 0, i16 0, i16 10846, i16 10847, i16 10848, i16 10910, i16 0, i16 0, i16 0, i16 10911, i16 0, i16 5835, i16 0, i16 0, i16 0, i16 5834, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5836, i16 0, i16 0, i16 0, i16 2276, i16 0, i16 5837, i16 0, i16 5838, i16 0, i16 0, i16 0, i16 3214, i16 5839, i16 12702, i16 12703, i16 6839, i16 0, i16 0, i16 6841, i16 12704, i16 12705, i16 12706, i16 6840, i16 0, i16 6843, i16 6846, i16 12707, i16 12708, i16 0, i16 6842, i16 6844, i16 6845, i16 0, i16 12709, i16 6847, i16 0, i16 1343, i16 12710, i16 12711, i16 0, i16 12712, i16 12713, i16 0, i16 12714, i16 12715, i16 1951, i16 9987, i16 0, i16 9988, i16 0, i16 5280, i16 9989, i16 9990, i16 0, i16 9991, i16 1433, i16 0, i16 0, i16 3042, i16 5281, i16 0, i16 0, i16 5308, i16 0, i16 0, i16 9992, i16 9993, i16 0, i16 9994, i16 5287, i16 9995, i16 9996, i16 9997, i16 0, i16 9998, i16 1526, i16 9999, i16 5279, i16 0, i16 982, i16 0, i16 0, i16 9976, i16 9977, i16 0, i16 5275, i16 9978, i16 1804, i16 9979, i16 9980, i16 2658, i16 5277, i16 9981, i16 0, i16 0, i16 9982, i16 9983, i16 0, i16 0, i16 9984, i16 0, i16 0, i16 9985, i16 0, i16 0, i16 0, i16 9986, i16 5282, i16 0, i16 5535, i16 10488, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10489, i16 0, i16 0, i16 0, i16 10490, i16 0, i16 10491, i16 1952, i16 10492, i16 10493, i16 5538, i16 825, i16 0, i16 10494, i16 10495, i16 0, i16 5541, i16 10496, i16 10497, i16 10498, i16 5539, i16 985, i16 1449, i16 5540, i16 1629, i16 2976, i16 11805, i16 1510, i16 6388, i16 6387, i16 0, i16 3169, i16 0, i16 11806, i16 0, i16 1906, i16 0, i16 11807, i16 2769, i16 0, i16 11808, i16 11809, i16 0, i16 11810, i16 0, i16 0, i16 11811, i16 0, i16 11812, i16 11813, i16 0, i16 6391, i16 6392, i16 1647, i16 6390, i16 11814, i16 11815, i16 9632, i16 0, i16 823, i16 0, i16 0, i16 5106, i16 0, i16 9633, i16 0, i16 0, i16 5094, i16 0, i16 0, i16 9634, i16 9635, i16 5100, i16 0, i16 9636, i16 5102, i16 9637, i16 0, i16 0, i16 3518, i16 5097, i16 0, i16 0, i16 2733, i16 9638, i16 0, i16 5099, i16 0, i16 9639, i16 10912, i16 2422, i16 5840, i16 0, i16 10913, i16 0, i16 10914, i16 0, i16 5841, i16 0, i16 0, i16 0, i16 0, i16 10915, i16 0, i16 3659, i16 5844, i16 10916, i16 5843, i16 5842, i16 2641, i16 10917, i16 5845, i16 2161, i16 0, i16 5846, i16 0, i16 0, i16 0, i16 5847, i16 3683, i16 5848, i16 5537, i16 1365, i16 0, i16 0, i16 3688, i16 2364, i16 0, i16 0, i16 0, i16 0, i16 5516, i16 10439, i16 10440, i16 983, i16 2712, i16 3190, i16 0, i16 10441, i16 0, i16 10442, i16 10443, i16 10444, i16 10445, i16 0, i16 10446, i16 0, i16 0, i16 10447, i16 10448, i16 5517, i16 0, i16 0, i16 9121, i16 4740, i16 9122, i16 9123, i16 4745, i16 0, i16 0, i16 2875, i16 9124, i16 4742, i16 0, i16 0, i16 9125, i16 0, i16 9126, i16 9127, i16 0, i16 0, i16 0, i16 0, i16 9128, i16 0, i16 4747, i16 0, i16 0, i16 2043, i16 4748, i16 9129, i16 3514, i16 2995, i16 0, i16 9130, i16 4770, i16 2143, i16 3438, i16 4772, i16 4773, i16 3543, i16 9153, i16 0, i16 0, i16 0, i16 4778, i16 0, i16 9154, i16 1617, i16 9155, i16 2960, i16 4775, i16 2795, i16 4712, i16 4716, i16 9156, i16 1262, i16 9157, i16 2946, i16 0, i16 0, i16 0, i16 9158, i16 4777, i16 0, i16 2091, i16 3037, i16 932, i16 2261, i16 4409, i16 4408, i16 1437, i16 2489, i16 0, i16 4414, i16 4412, i16 8597, i16 4411, i16 3572, i16 1566, i16 8598, i16 0, i16 8599, i16 2056, i16 4413, i16 2763, i16 1997, i16 0, i16 0, i16 8600, i16 2845, i16 4417, i16 4416, i16 0, i16 0, i16 8601, i16 8602, i16 4415, i16 0, i16 10150, i16 10151, i16 3566, i16 5368, i16 10152, i16 0, i16 0, i16 10153, i16 0, i16 2416, i16 0, i16 0, i16 10154, i16 0, i16 10155, i16 10156, i16 5374, i16 10157, i16 5376, i16 5377, i16 2583, i16 0, i16 0, i16 0, i16 0, i16 10158, i16 5375, i16 0, i16 5372, i16 0, i16 5370, i16 5371, i16 9640, i16 9641, i16 5107, i16 9642, i16 5101, i16 3416, i16 0, i16 9643, i16 9644, i16 5096, i16 9645, i16 1875, i16 5120, i16 9646, i16 9647, i16 9648, i16 0, i16 1101, i16 0, i16 5098, i16 5103, i16 5104, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2513, i16 2495, i16 0, i16 4009, i16 7890, i16 0, i16 0, i16 2516, i16 4014, i16 2067, i16 7891, i16 0, i16 7892, i16 7893, i16 0, i16 4011, i16 7894, i16 0, i16 3445, i16 7895, i16 7896, i16 0, i16 1431, i16 0, i16 0, i16 4015, i16 4016, i16 7897, i16 0, i16 7898, i16 7899, i16 4013, i16 4019, i16 7900, i16 0, i16 6057, i16 6061, i16 0, i16 3058, i16 0, i16 0, i16 11253, i16 0, i16 6060, i16 2115, i16 1914, i16 6063, i16 0, i16 0, i16 1339, i16 11254, i16 11255, i16 11256, i16 11257, i16 11258, i16 0, i16 6064, i16 11259, i16 3184, i16 6059, i16 11260, i16 6020, i16 0, i16 11261, i16 11262, i16 11263, i16 11264, i16 10409, i16 0, i16 0, i16 0, i16 0, i16 10410, i16 5474, i16 10411, i16 0, i16 10412, i16 5476, i16 5506, i16 5505, i16 10413, i16 0, i16 0, i16 0, i16 10414, i16 0, i16 0, i16 10415, i16 10416, i16 0, i16 0, i16 0, i16 0, i16 1881, i16 10417, i16 3638, i16 10418, i16 1923, i16 10419, i16 4266, i16 0, i16 4267, i16 8383, i16 3441, i16 0, i16 8384, i16 0, i16 4268, i16 8385, i16 0, i16 8386, i16 8387, i16 1347, i16 8388, i16 0, i16 8389, i16 1969, i16 8390, i16 0, i16 0, i16 8391, i16 8392, i16 0, i16 4269, i16 4270, i16 1933, i16 2167, i16 2897, i16 2207, i16 3089, i16 2909, i16 6315, i16 6323, i16 6316, i16 0, i16 6312, i16 0, i16 2717, i16 6311, i16 0, i16 0, i16 0, i16 6309, i16 11707, i16 3472, i16 1859, i16 0, i16 11708, i16 6313, i16 0, i16 6310, i16 11709, i16 11710, i16 11711, i16 6317, i16 2051, i16 0, i16 1530, i16 0, i16 11712, i16 0, i16 2527, i16 11713, i16 7083, i16 7084, i16 3645, i16 7081, i16 0, i16 0, i16 7085, i16 7086, i16 13145, i16 13146, i16 7088, i16 0, i16 7087, i16 13147, i16 13148, i16 13149, i16 13150, i16 13151, i16 7090, i16 13152, i16 0, i16 13153, i16 7091, i16 7089, i16 0, i16 0, i16 13154, i16 0, i16 0, i16 13155, i16 0, i16 0, i16 11947, i16 0, i16 11948, i16 1078, i16 0, i16 6478, i16 0, i16 11949, i16 11950, i16 1745, i16 6477, i16 0, i16 6486, i16 0, i16 0, i16 11951, i16 11952, i16 0, i16 6480, i16 6482, i16 3258, i16 6479, i16 11953, i16 11954, i16 11955, i16 6481, i16 0, i16 6485, i16 6483, i16 1232, i16 11956, i16 6484, i16 1964, i16 0, i16 12536, i16 12537, i16 6746, i16 12538, i16 6747, i16 2199, i16 6748, i16 12539, i16 3643, i16 0, i16 0, i16 6743, i16 6750, i16 6752, i16 0, i16 6751, i16 0, i16 6749, i16 0, i16 0, i16 6753, i16 0, i16 0, i16 6754, i16 12540, i16 12541, i16 2433, i16 12542, i16 999, i16 0, i16 12716, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8365, i16 8366, i16 1941, i16 4247, i16 1204, i16 2863, i16 3386, i16 4248, i16 0, i16 4249, i16 0, i16 0, i16 3152, i16 8367, i16 0, i16 8368, i16 4251, i16 0, i16 1129, i16 1396, i16 4250, i16 0, i16 8369, i16 8370, i16 8371, i16 8372, i16 8373, i16 1139, i16 0, i16 2173, i16 4255, i16 1780, i16 10159, i16 5373, i16 10160, i16 10161, i16 10162, i16 0, i16 0, i16 10163, i16 10164, i16 5380, i16 10165, i16 5378, i16 10166, i16 5379, i16 0, i16 10167, i16 0, i16 0, i16 10168, i16 10169, i16 0, i16 10170, i16 10171, i16 0, i16 0, i16 10172, i16 0, i16 10173, i16 10174, i16 10175, i16 10176, i16 5381, i16 2480, i16 12493, i16 6712, i16 0, i16 3172, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6715, i16 6713, i16 1654, i16 0, i16 6714, i16 1531, i16 0, i16 12494, i16 0, i16 12495, i16 0, i16 12496, i16 12497, i16 12498, i16 0, i16 0, i16 3226, i16 6717, i16 6719, i16 6718, i16 6720, i16 6065, i16 11276, i16 0, i16 0, i16 2993, i16 11277, i16 11278, i16 6075, i16 6067, i16 11279, i16 6069, i16 11280, i16 11281, i16 0, i16 0, i16 11282, i16 6079, i16 6068, i16 0, i16 11283, i16 6072, i16 0, i16 0, i16 921, i16 11284, i16 2882, i16 0, i16 6073, i16 6076, i16 11285, i16 0, i16 11286, i16 10673, i16 5663, i16 5661, i16 0, i16 5659, i16 1122, i16 10674, i16 2110, i16 5664, i16 0, i16 0, i16 5662, i16 0, i16 5660, i16 5668, i16 0, i16 10675, i16 5667, i16 5666, i16 5665, i16 0, i16 0, i16 10676, i16 10677, i16 0, i16 5669, i16 10678, i16 10679, i16 10680, i16 5670, i16 2275, i16 10681, i16 6834, i16 6830, i16 12689, i16 0, i16 6833, i16 0, i16 12690, i16 12691, i16 1180, i16 0, i16 0, i16 12692, i16 6835, i16 0, i16 6836, i16 0, i16 0, i16 12693, i16 12694, i16 12695, i16 12696, i16 12697, i16 0, i16 0, i16 0, i16 12698, i16 12699, i16 12700, i16 12701, i16 6837, i16 6838, i16 0, i16 11186, i16 3177, i16 6034, i16 2814, i16 11187, i16 11188, i16 762, i16 11189, i16 0, i16 6027, i16 11190, i16 6023, i16 2425, i16 6017, i16 6025, i16 6030, i16 11191, i16 2919, i16 0, i16 11192, i16 11193, i16 755, i16 11194, i16 6022, i16 11195, i16 6031, i16 3183, i16 0, i16 11196, i16 11197, i16 0, i16 0, i16 2228, i16 5817, i16 0, i16 10873, i16 0, i16 10874, i16 5818, i16 0, i16 10875, i16 5819, i16 0, i16 1190, i16 10876, i16 0, i16 10877, i16 10878, i16 1166, i16 0, i16 10879, i16 5820, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5821, i16 10880, i16 3344, i16 3538, i16 10881, i16 10882, i16 10883, i16 2996, i16 0, i16 1154, i16 3655, i16 0, i16 0, i16 9664, i16 0, i16 0, i16 9665, i16 9666, i16 3378, i16 2675, i16 9673, i16 0, i16 9667, i16 9668, i16 5117, i16 5119, i16 9669, i16 0, i16 0, i16 9670, i16 0, i16 2361, i16 0, i16 0, i16 9671, i16 9672, i16 0, i16 5121, i16 5115, i16 4021, i16 7906, i16 7907, i16 4031, i16 2360, i16 0, i16 7908, i16 4033, i16 7909, i16 1593, i16 4023, i16 2624, i16 0, i16 0, i16 7910, i16 7911, i16 0, i16 7912, i16 7913, i16 7914, i16 7915, i16 0, i16 0, i16 7916, i16 4027, i16 4020, i16 1134, i16 0, i16 1199, i16 1096, i16 4028, i16 4024, i16 11957, i16 11958, i16 0, i16 11959, i16 0, i16 11960, i16 6487, i16 11961, i16 11962, i16 2965, i16 3621, i16 0, i16 11963, i16 11964, i16 11965, i16 1987, i16 0, i16 0, i16 0, i16 6488, i16 11966, i16 11967, i16 11968, i16 11969, i16 3473, i16 6490, i16 11970, i16 6489, i16 0, i16 0, i16 6493, i16 3504, i16 7094, i16 13164, i16 13165, i16 13166, i16 0, i16 13167, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8374, i16 974, i16 4254, i16 0, i16 4252, i16 4256, i16 4253, i16 2918, i16 4883, i16 2174, i16 0, i16 4257, i16 0, i16 0, i16 3597, i16 8375, i16 4258, i16 8376, i16 0, i16 4260, i16 8377, i16 2625, i16 4259, i16 0, i16 2252, i16 0, i16 1870, i16 0, i16 0, i16 8378, i16 2485, i16 1960, i16 9142, i16 0, i16 9143, i16 0, i16 0, i16 0, i16 4759, i16 4760, i16 3435, i16 0, i16 3381, i16 3369, i16 3343, i16 1784, i16 4762, i16 0, i16 0, i16 1948, i16 0, i16 9144, i16 3332, i16 0, i16 4764, i16 4767, i16 4766, i16 0, i16 1210, i16 0, i16 0, i16 1279, i16 9145, i16 4763, i16 1975, i16 1847, i16 10458, i16 0, i16 10459, i16 0, i16 0, i16 10460, i16 10461, i16 5525, i16 10462, i16 1976, i16 0, i16 0, i16 0, i16 10463, i16 0, i16 975, i16 3130, i16 0, i16 10464, i16 5526, i16 10465, i16 0, i16 3076, i16 0, i16 10466, i16 0, i16 0, i16 10467, i16 10468, i16 2380, i16 6327, i16 3527, i16 0, i16 0, i16 0, i16 0, i16 6330, i16 0, i16 6333, i16 0, i16 0, i16 6331, i16 3116, i16 11722, i16 0, i16 0, i16 11723, i16 0, i16 0, i16 6328, i16 0, i16 0, i16 0, i16 11724, i16 0, i16 1373, i16 0, i16 0, i16 11725, i16 0, i16 6332, i16 0, i16 6584, i16 6585, i16 12161, i16 12162, i16 0, i16 12163, i16 3049, i16 1736, i16 1938, i16 6586, i16 0, i16 6587, i16 3569, i16 2004, i16 3455, i16 3609, i16 6588, i16 1375, i16 0, i16 12164, i16 12165, i16 0, i16 6589, i16 12166, i16 2722, i16 12167, i16 12168, i16 6592, i16 1115, i16 2198, i16 12169, i16 6590, i16 10936, i16 1550, i16 0, i16 0, i16 838, i16 5859, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10937, i16 10938, i16 5866, i16 10939, i16 5867, i16 10940, i16 10941, i16 2838, i16 0, i16 10942, i16 0, i16 1336, i16 10943, i16 10944, i16 0, i16 5878, i16 2936, i16 10945, i16 0, i16 11448, i16 0, i16 6159, i16 11449, i16 0, i16 0, i16 0, i16 11450, i16 0, i16 0, i16 0, i16 6168, i16 11451, i16 11452, i16 11453, i16 6162, i16 0, i16 11454, i16 0, i16 6170, i16 0, i16 11455, i16 0, i16 0, i16 0, i16 0, i16 3541, i16 6173, i16 0, i16 6164, i16 11456, i16 11457, i16 12216, i16 0, i16 12217, i16 12218, i16 2739, i16 6604, i16 12219, i16 12220, i16 6607, i16 6605, i16 12221, i16 6610, i16 0, i16 12222, i16 12223, i16 12224, i16 6611, i16 12225, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6603, i16 12226, i16 12227, i16 6616, i16 923, i16 12228, i16 12229, i16 6602, i16 0, i16 7865, i16 832, i16 4007, i16 0, i16 0, i16 3999, i16 4000, i16 0, i16 2066, i16 3356, i16 7866, i16 0, i16 7867, i16 4005, i16 4004, i16 7868, i16 0, i16 0, i16 2734, i16 0, i16 0, i16 0, i16 7869, i16 0, i16 0, i16 0, i16 4006, i16 0, i16 7870, i16 4003, i16 7871, i16 7872, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 0, i16 687, i16 7156, i16 7157, i16 7158, i16 7159, i16 7160, i16 7161, i16 7162, i16 7163, i16 7164, i16 7165, i16 7166, i16 0, i16 7167, i16 7168, i16 2490, i16 4430, i16 0, i16 0, i16 8646, i16 1277, i16 4440, i16 2262, i16 908, i16 4434, i16 1021, i16 4439, i16 0, i16 8647, i16 0, i16 1326, i16 0, i16 4436, i16 0, i16 8648, i16 0, i16 8649, i16 0, i16 0, i16 0, i16 0, i16 4442, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12475, i16 6705, i16 6707, i16 0, i16 12476, i16 6706, i16 12477, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1724, i16 0, i16 0, i16 3792, i16 0, i16 9136, i16 0, i16 9137, i16 1481, i16 3484, i16 0, i16 3283, i16 0, i16 3189, i16 9138, i16 4756, i16 0, i16 0, i16 0, i16 9139, i16 1768, i16 2656, i16 4757, i16 3674, i16 0, i16 9140, i16 0, i16 3313, i16 9141, i16 2636, i16 4758, i16 1213, i16 8124, i16 4126, i16 0, i16 0, i16 2698, i16 0, i16 8125, i16 8126, i16 0, i16 0, i16 1135, i16 0, i16 0, i16 8127, i16 0, i16 7095, i16 904, i16 3272, i16 8128, i16 0, i16 2137, i16 2759, i16 0, i16 0, i16 0, i16 8129, i16 1755, i16 0, i16 0, i16 4132, i16 0, i16 8130, i16 5309, i16 0, i16 3122, i16 5310, i16 10082, i16 0, i16 1125, i16 5311, i16 10083, i16 5312, i16 10084, i16 10085, i16 0, i16 0, i16 5313, i16 10086, i16 5315, i16 5316, i16 5314, i16 0, i16 10087, i16 0, i16 3146, i16 5318, i16 5317, i16 0, i16 10088, i16 10089, i16 10090, i16 0, i16 0, i16 10091, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 1470, i16 2526, i16 5138, i16 2934, i16 0, i16 9713, i16 5145, i16 9714, i16 9715, i16 0, i16 9716, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5150, i16 5148, i16 0, i16 0, i16 5151, i16 0, i16 9717, i16 5154, i16 0, i16 0, i16 9718, i16 5147, i16 7873, i16 7874, i16 0, i16 0, i16 859, i16 7875, i16 1707, i16 2171, i16 7876, i16 7877, i16 0, i16 0, i16 7878, i16 7879, i16 7880, i16 4001, i16 2785, i16 0, i16 0, i16 0, i16 4002, i16 7881, i16 747, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1474, i16 1874, i16 0, i16 1362, i16 9412, i16 0, i16 0, i16 937, i16 9413, i16 0, i16 0, i16 9414, i16 9415, i16 0, i16 0, i16 9416, i16 0, i16 0, i16 3534, i16 0, i16 0, i16 9417, i16 9418, i16 4956, i16 4955, i16 4958, i16 1244, i16 9419, i16 0, i16 1363, i16 1151, i16 9420, i16 3523, i16 3682, i16 0, i16 1636, i16 5824, i16 1925, i16 5823, i16 10884, i16 10885, i16 0, i16 10886, i16 5825, i16 1882, i16 10887, i16 10888, i16 10889, i16 2486, i16 10890, i16 5826, i16 10891, i16 10892, i16 1635, i16 10893, i16 3432, i16 5827, i16 5828, i16 0, i16 0, i16 5829, i16 10894, i16 10895, i16 10896, i16 11971, i16 11972, i16 6492, i16 11973, i16 1104, i16 6491, i16 6496, i16 11974, i16 0, i16 6495, i16 0, i16 0, i16 6494, i16 2737, i16 6497, i16 11975, i16 0, i16 11976, i16 11977, i16 11978, i16 11979, i16 11980, i16 0, i16 6498, i16 11981, i16 0, i16 0, i16 0, i16 6499, i16 11982, i16 11983, i16 1667, i16 3012, i16 10118, i16 3108, i16 0, i16 5339, i16 3577, i16 1448, i16 5340, i16 0, i16 5338, i16 3055, i16 5341, i16 0, i16 5342, i16 0, i16 10119, i16 804, i16 10120, i16 0, i16 2147, i16 5347, i16 0, i16 5344, i16 2890, i16 5343, i16 10121, i16 10122, i16 10123, i16 10124, i16 10125, i16 10126, i16 1221, i16 4804, i16 1472, i16 1446, i16 2796, i16 9208, i16 9209, i16 4802, i16 0, i16 783, i16 0, i16 9210, i16 0, i16 9211, i16 4805, i16 4807, i16 0, i16 1354, i16 1415, i16 9193, i16 1149, i16 1258, i16 9212, i16 0, i16 9213, i16 9214, i16 4810, i16 0, i16 9215, i16 1774, i16 3364, i16 0, i16 1802, i16 8900, i16 759, i16 0, i16 4625, i16 0, i16 8901, i16 0, i16 0, i16 0, i16 4622, i16 8902, i16 0, i16 8903, i16 0, i16 1209, i16 0, i16 0, i16 0, i16 8904, i16 8905, i16 910, i16 8906, i16 4628, i16 0, i16 8907, i16 8908, i16 3512, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2501, i16 2430, i16 12015, i16 2821, i16 12016, i16 6516, i16 1268, i16 0, i16 12017, i16 0, i16 0, i16 6525, i16 12018, i16 6522, i16 6535, i16 2822, i16 2595, i16 6519, i16 0, i16 2719, i16 2770, i16 6520, i16 6524, i16 2219, i16 12019, i16 2978, i16 2669, i16 12020, i16 0, i16 2283, i16 6523, i16 2451, i16 4550, i16 8780, i16 0, i16 8781, i16 8782, i16 0, i16 0, i16 8783, i16 4551, i16 4552, i16 3263, i16 0, i16 4554, i16 4553, i16 1998, i16 0, i16 2263, i16 1003, i16 1025, i16 8784, i16 4555, i16 8785, i16 776, i16 0, i16 0, i16 0, i16 2293, i16 4556, i16 8786, i16 6377, i16 4557, i16 1468, i16 12230, i16 12231, i16 3014, i16 0, i16 6606, i16 12232, i16 2125, i16 12233, i16 12234, i16 12235, i16 0, i16 0, i16 0, i16 0, i16 12236, i16 12237, i16 12238, i16 1650, i16 0, i16 0, i16 0, i16 12239, i16 12240, i16 12241, i16 12242, i16 12243, i16 0, i16 12244, i16 12245, i16 12246, i16 3323, i16 12247, i16 1479, i16 11505, i16 6195, i16 11506, i16 6194, i16 11507, i16 1983, i16 0, i16 11508, i16 11509, i16 11510, i16 11511, i16 1643, i16 5033, i16 11512, i16 0, i16 0, i16 11513, i16 6196, i16 2016, i16 0, i16 11514, i16 11515, i16 1052, i16 11516, i16 6197, i16 11517, i16 889, i16 11518, i16 2116, i16 6198, i16 11519, i16 968, i16 0, i16 0, i16 3649, i16 7705, i16 7706, i16 7707, i16 7708, i16 0, i16 2052, i16 2775, i16 1660, i16 3900, i16 3901, i16 0, i16 7709, i16 7710, i16 3634, i16 0, i16 0, i16 3670, i16 3903, i16 7711, i16 7712, i16 7713, i16 1587, i16 7714, i16 7715, i16 3902, i16 7716, i16 1042, i16 0, i16 1224, i16 0, i16 10478, i16 10479, i16 0, i16 0, i16 0, i16 10480, i16 5531, i16 10481, i16 10482, i16 2713, i16 10483, i16 5532, i16 2288, i16 0, i16 0, i16 10484, i16 0, i16 0, i16 3390, i16 10485, i16 0, i16 3098, i16 5533, i16 5534, i16 2584, i16 10486, i16 3604, i16 0, i16 10487, i16 5536, i16 2248, i16 1192, i16 0, i16 0, i16 3497, i16 1010, i16 1991, i16 1556, i16 0, i16 6739, i16 12524, i16 6738, i16 1862, i16 6740, i16 6737, i16 0, i16 0, i16 1787, i16 12525, i16 0, i16 0, i16 6744, i16 6167, i16 0, i16 12527, i16 3952, i16 12528, i16 2242, i16 6742, i16 12529, i16 12530, i16 12531, i16 1225, i16 0, i16 5685, i16 10699, i16 3460, i16 1631, i16 5684, i16 10700, i16 10701, i16 10702, i16 5688, i16 3447, i16 0, i16 2935, i16 0, i16 10703, i16 3114, i16 10704, i16 10705, i16 10706, i16 2034, i16 5687, i16 10707, i16 1924, i16 1632, i16 1849, i16 1288, i16 3211, i16 5686, i16 10708, i16 10709, i16 0, i16 1737, i16 5235, i16 5234, i16 0, i16 9880, i16 0, i16 0, i16 5236, i16 0, i16 9881, i16 0, i16 0, i16 0, i16 9882, i16 9883, i16 0, i16 0, i16 0, i16 5237, i16 9884, i16 0, i16 0, i16 5238, i16 0, i16 0, i16 0, i16 0, i16 9885, i16 0, i16 0, i16 0, i16 0, i16 1993, i16 2201, i16 3740, i16 7401, i16 3738, i16 0, i16 3739, i16 1271, i16 0, i16 0, i16 1688, i16 1013, i16 0, i16 3737, i16 3736, i16 3198, i16 7402, i16 0, i16 0, i16 0, i16 1817, i16 1816, i16 2467, i16 3741, i16 3148, i16 2320, i16 7403, i16 7404, i16 0, i16 245, i16 3742, i16 3744, i16 10953, i16 0, i16 0, i16 5870, i16 10954, i16 0, i16 0, i16 10955, i16 0, i16 5869, i16 0, i16 0, i16 10956, i16 0, i16 0, i16 5871, i16 10957, i16 2537, i16 0, i16 2937, i16 0, i16 10958, i16 0, i16 0, i16 0, i16 2642, i16 10959, i16 0, i16 10960, i16 0, i16 5875, i16 0, i16 714, i16 725, i16 715, i16 726, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 716, i16 0, i16 0, i16 727, i16 717, i16 0, i16 0, i16 728, i16 719, i16 0, i16 0, i16 730, i16 718, i16 0, i16 0, i16 729, i16 720, i16 741, i16 0, i16 0, i16 2762, i16 1913, i16 8396, i16 8397, i16 2399, i16 3561, i16 0, i16 8398, i16 8399, i16 8400, i16 0, i16 0, i16 4278, i16 8401, i16 4279, i16 2867, i16 8402, i16 1798, i16 0, i16 0, i16 8403, i16 8404, i16 4281, i16 0, i16 0, i16 4282, i16 8405, i16 8406, i16 8407, i16 8408, i16 0, i16 0, i16 8650, i16 4444, i16 4454, i16 4452, i16 0, i16 0, i16 4449, i16 8651, i16 8652, i16 8653, i16 4448, i16 3653, i16 8654, i16 4450, i16 0, i16 0, i16 1327, i16 8655, i16 1608, i16 0, i16 8656, i16 2057, i16 8657, i16 8658, i16 0, i16 4457, i16 4443, i16 0, i16 0, i16 8659, i16 0, i16 4447, i16 6348, i16 11745, i16 0, i16 1809, i16 11746, i16 11747, i16 0, i16 0, i16 0, i16 0, i16 4696, i16 11748, i16 6349, i16 11749, i16 6350, i16 11750, i16 1985, i16 0, i16 6351, i16 6352, i16 11751, i16 11752, i16 6353, i16 0, i16 0, i16 6354, i16 6355, i16 0, i16 11753, i16 0, i16 11754, i16 11755, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 482, i16 483, i16 484, i16 485, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 10190, i16 10191, i16 3602, i16 10192, i16 10193, i16 10194, i16 5392, i16 5390, i16 5391, i16 10195, i16 10189, i16 10196, i16 1187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3471, i16 0, i16 0, i16 10197, i16 3231, i16 0, i16 5394, i16 10198, i16 0, i16 0, i16 5393, i16 0, i16 0, i16 10199, i16 11214, i16 6043, i16 11215, i16 0, i16 2594, i16 0, i16 6044, i16 11216, i16 11217, i16 3525, i16 6033, i16 1051, i16 11218, i16 6039, i16 0, i16 11219, i16 6042, i16 3389, i16 0, i16 11220, i16 0, i16 0, i16 6045, i16 0, i16 0, i16 6038, i16 6041, i16 0, i16 11221, i16 0, i16 0, i16 0, i16 8145, i16 8146, i16 0, i16 1322, i16 0, i16 4134, i16 0, i16 8147, i16 8148, i16 8149, i16 8150, i16 0, i16 8151, i16 8152, i16 0, i16 8153, i16 8154, i16 0, i16 0, i16 3261, i16 8155, i16 0, i16 8156, i16 2436, i16 0, i16 0, i16 0, i16 0, i16 2663, i16 8157, i16 0, i16 4136, i16 9937, i16 0, i16 0, i16 2002, i16 0, i16 0, i16 9938, i16 9939, i16 5269, i16 9940, i16 5268, i16 9941, i16 9942, i16 0, i16 9943, i16 9944, i16 5270, i16 9945, i16 1072, i16 0, i16 0, i16 5272, i16 0, i16 9946, i16 5271, i16 9947, i16 5274, i16 5273, i16 9948, i16 0, i16 0, i16 0, i16 11986, i16 11987, i16 0, i16 6505, i16 11988, i16 11989, i16 11990, i16 3899, i16 3898, i16 0, i16 0, i16 0, i16 0, i16 6506, i16 5764, i16 6507, i16 2535, i16 2166, i16 2939, i16 0, i16 0, i16 11991, i16 11992, i16 6508, i16 11993, i16 0, i16 3242, i16 2677, i16 1685, i16 0, i16 11994, i16 2540, i16 3539, i16 0, i16 0, i16 0, i16 9581, i16 5066, i16 5060, i16 5057, i16 9582, i16 0, i16 9583, i16 3617, i16 5063, i16 0, i16 9584, i16 9585, i16 0, i16 2009, i16 5065, i16 0, i16 0, i16 5070, i16 9586, i16 0, i16 2800, i16 5068, i16 0, i16 9587, i16 0, i16 9588, i16 5062, i16 9589, i16 1236, i16 0, i16 3722, i16 0, i16 0, i16 3723, i16 3592, i16 0, i16 3500, i16 2415, i16 3725, i16 1865, i16 2896, i16 7395, i16 3728, i16 0, i16 0, i16 869, i16 1560, i16 0, i16 1559, i16 815, i16 7396, i16 7397, i16 3702, i16 3701, i16 0, i16 1704, i16 746, i16 7398, i16 3729, i16 3730, i16 8916, i16 0, i16 8917, i16 0, i16 8918, i16 8919, i16 4634, i16 0, i16 4638, i16 8920, i16 8921, i16 0, i16 3035, i16 2794, i16 0, i16 8922, i16 8923, i16 0, i16 0, i16 0, i16 4631, i16 8924, i16 4635, i16 0, i16 0, i16 0, i16 1443, i16 0, i16 0, i16 8925, i16 1766, i16 8926, i16 9428, i16 4968, i16 1842, i16 2270, i16 1686, i16 0, i16 3175, i16 9429, i16 0, i16 3255, i16 3695, i16 9430, i16 0, i16 0, i16 9431, i16 1864, i16 9432, i16 0, i16 0, i16 1733, i16 3647, i16 9433, i16 0, i16 0, i16 4969, i16 4970, i16 0, i16 1843, i16 0, i16 9434, i16 9435, i16 4971, i16 12756, i16 0, i16 12757, i16 12758, i16 12759, i16 0, i16 0, i16 12760, i16 2482, i16 0, i16 0, i16 6870, i16 0, i16 12761, i16 12762, i16 0, i16 2826, i16 0, i16 0, i16 12763, i16 0, i16 12764, i16 12765, i16 6871, i16 12766, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6876, i16 0, i16 7381, i16 7382, i16 3719, i16 2928, i16 7383, i16 1270, i16 0, i16 7384, i16 0, i16 0, i16 0, i16 2930, i16 0, i16 2880, i16 1532, i16 3302, i16 0, i16 7385, i16 0, i16 0, i16 0, i16 6101, i16 3720, i16 2133, i16 3721, i16 954, i16 7386, i16 0, i16 7387, i16 1378, i16 1577, i16 3450, i16 1238, i16 3818, i16 3819, i16 7595, i16 948, i16 0, i16 7596, i16 7597, i16 7598, i16 3817, i16 0, i16 7599, i16 7600, i16 7601, i16 7602, i16 0, i16 7604, i16 0, i16 1957, i16 0, i16 3822, i16 3821, i16 3820, i16 7605, i16 3764, i16 7606, i16 3823, i16 7607, i16 7608, i16 7609, i16 7610, i16 2061, i16 10967, i16 10968, i16 0, i16 0, i16 0, i16 5881, i16 5882, i16 10969, i16 10970, i16 10971, i16 0, i16 1953, i16 0, i16 10972, i16 5880, i16 10973, i16 1679, i16 5879, i16 0, i16 0, i16 5883, i16 0, i16 0, i16 10974, i16 2643, i16 3191, i16 2346, i16 0, i16 0, i16 0, i16 0, i16 2497, i16 3800, i16 7547, i16 0, i16 7548, i16 7549, i16 3802, i16 7550, i16 0, i16 0, i16 0, i16 7551, i16 0, i16 0, i16 3304, i16 7552, i16 7553, i16 7554, i16 1473, i16 7555, i16 7556, i16 7557, i16 0, i16 7558, i16 0, i16 1796, i16 3088, i16 3801, i16 7559, i16 7560, i16 0, i16 7561, i16 7562, i16 4569, i16 0, i16 0, i16 4567, i16 8807, i16 0, i16 0, i16 0, i16 4570, i16 0, i16 0, i16 0, i16 0, i16 8808, i16 3206, i16 8809, i16 0, i16 768, i16 0, i16 8810, i16 0, i16 0, i16 3157, i16 0, i16 0, i16 3068, i16 8811, i16 0, i16 4571, i16 8812, i16 4574, i16 2082, i16 4825, i16 9235, i16 2092, i16 9236, i16 0, i16 9237, i16 4163, i16 1569, i16 3563, i16 9238, i16 9239, i16 0, i16 0, i16 4816, i16 9240, i16 2709, i16 1030, i16 1698, i16 9241, i16 4808, i16 0, i16 4824, i16 1092, i16 0, i16 0, i16 4822, i16 4826, i16 9242, i16 2797, i16 0, i16 0, i16 0, i16 9177, i16 2477, i16 9178, i16 9179, i16 3222, i16 9180, i16 4798, i16 0, i16 9181, i16 9182, i16 3097, i16 0, i16 0, i16 0, i16 4797, i16 2987, i16 3314, i16 1148, i16 9183, i16 2336, i16 1999, i16 0, i16 0, i16 9184, i16 2676, i16 9185, i16 3485, i16 0, i16 9186, i16 4793, i16 4792, i16 0, i16 1242, i16 0, i16 4572, i16 4579, i16 2083, i16 0, i16 0, i16 0, i16 0, i16 4573, i16 2943, i16 0, i16 0, i16 8813, i16 8814, i16 8815, i16 8816, i16 3533, i16 4575, i16 4576, i16 4580, i16 2793, i16 4577, i16 1610, i16 2311, i16 0, i16 0, i16 4594, i16 3021, i16 0, i16 2519, i16 0, i16 6874, i16 12768, i16 6873, i16 6875, i16 12769, i16 6872, i16 0, i16 12767, i16 0, i16 0, i16 12770, i16 12771, i16 12772, i16 6878, i16 12773, i16 0, i16 0, i16 12774, i16 0, i16 0, i16 12775, i16 6877, i16 12776, i16 6880, i16 0, i16 0, i16 1344, i16 6879, i16 0, i16 12777, i16 0, i16 6881, i16 11995, i16 11996, i16 849, i16 0, i16 3371, i16 2210, i16 11997, i16 0, i16 0, i16 0, i16 11998, i16 11999, i16 0, i16 12000, i16 1465, i16 0, i16 12001, i16 1374, i16 12002, i16 12003, i16 3243, i16 12004, i16 0, i16 0, i16 0, i16 0, i16 6509, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1245, i16 0, i16 5239, i16 0, i16 0, i16 0, i16 0, i16 5240, i16 9886, i16 0, i16 0, i16 0, i16 1501, i16 9887, i16 9888, i16 3041, i16 0, i16 9889, i16 5242, i16 0, i16 9890, i16 0, i16 2146, i16 0, i16 0, i16 5241, i16 0, i16 0, i16 0, i16 0, i16 9891, i16 0, i16 7901, i16 7902, i16 0, i16 4010, i16 7903, i16 0, i16 7904, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4025, i16 4030, i16 0, i16 4026, i16 7905, i16 9949, i16 9950, i16 0, i16 9951, i16 1525, i16 9952, i16 9953, i16 3573, i16 0, i16 1353, i16 0, i16 939, i16 0, i16 0, i16 9954, i16 0, i16 9955, i16 0, i16 0, i16 9956, i16 0, i16 9957, i16 1383, i16 9958, i16 9959, i16 0, i16 0, i16 0, i16 9960, i16 0, i16 9961, i16 9962, i16 222, i16 223, i16 224, i16 244, i16 0, i16 246, i16 247, i16 248, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 324, i16 329, i16 265, i16 266, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 254, i16 0, i16 0, i16 0, i16 4062, i16 0, i16 0, i16 0, i16 7982, i16 7983, i16 4061, i16 1064, i16 7984, i16 0, i16 4063, i16 7985, i16 7986, i16 0, i16 0, i16 4066, i16 0, i16 0, i16 0, i16 0, i16 4065, i16 7987, i16 0, i16 0, i16 0, i16 7988, i16 7989, i16 0, i16 0, i16 7990, i16 7991, i16 7992, i16 8158, i16 8159, i16 8160, i16 0, i16 0, i16 0, i16 8161, i16 0, i16 3330, i16 8162, i16 0, i16 4137, i16 0, i16 0, i16 4142, i16 0, i16 0, i16 8163, i16 8164, i16 3204, i16 0, i16 0, i16 0, i16 0, i16 4141, i16 4135, i16 4138, i16 4140, i16 8166, i16 0, i16 1691, i16 0, i16 10718, i16 10719, i16 1977, i16 1527, i16 2383, i16 5689, i16 5695, i16 10720, i16 10721, i16 0, i16 0, i16 5690, i16 1451, i16 10722, i16 5698, i16 5702, i16 1478, i16 10723, i16 0, i16 10724, i16 0, i16 0, i16 5697, i16 10725, i16 0, i16 10726, i16 10727, i16 5706, i16 10728, i16 10729, i16 1633, i16 0, i16 736, i16 0, i16 0, i16 731, i16 722, i16 743, i16 0, i16 0, i16 738, i16 0, i16 0, i16 733, i16 721, i16 0, i16 0, i16 737, i16 742, i16 0, i16 0, i16 732, i16 723, i16 0, i16 0, i16 739, i16 744, i16 0, i16 0, i16 734, i16 724, i16 0, i16 0, i16 740, i16 2784, i16 7664, i16 7665, i16 2202, i16 3871, i16 7666, i16 3201, i16 2307, i16 1123, i16 0, i16 1130, i16 3872, i16 0, i16 0, i16 3874, i16 0, i16 0, i16 1429, i16 7667, i16 7668, i16 3873, i16 7669, i16 7670, i16 3648, i16 7671, i16 0, i16 0, i16 0, i16 0, i16 2040, i16 0, i16 0, i16 4064, i16 0, i16 2932, i16 0, i16 0, i16 4067, i16 7993, i16 7994, i16 7995, i16 7996, i16 0, i16 7997, i16 7998, i16 7999, i16 4068, i16 0, i16 0, i16 8000, i16 0, i16 8001, i16 4070, i16 0, i16 4069, i16 8002, i16 0, i16 0, i16 0, i16 0, i16 4072, i16 0, i16 8003, i16 0, i16 8416, i16 945, i16 8417, i16 8418, i16 0, i16 0, i16 8419, i16 0, i16 2370, i16 1189, i16 8420, i16 4287, i16 3385, i16 0, i16 0, i16 0, i16 0, i16 2487, i16 8421, i16 1084, i16 8422, i16 8423, i16 4289, i16 4291, i16 1184, i16 0, i16 8424, i16 4288, i16 4290, i16 0, i16 4293, i16 0, i16 9441, i16 0, i16 9442, i16 9443, i16 4979, i16 0, i16 0, i16 0, i16 9444, i16 9445, i16 4980, i16 4981, i16 9446, i16 9447, i16 9448, i16 4982, i16 9449, i16 4984, i16 4983, i16 4985, i16 938, i16 2573, i16 0, i16 4986, i16 9450, i16 9451, i16 1785, i16 1071, i16 4987, i16 9452, i16 9453, i16 2753, i16 12257, i16 0, i16 0, i16 0, i16 12258, i16 12259, i16 0, i16 12260, i16 12261, i16 0, i16 0, i16 12262, i16 0, i16 2355, i16 0, i16 12263, i16 0, i16 0, i16 12264, i16 0, i16 0, i16 0, i16 12265, i16 6619, i16 12266, i16 6618, i16 12267, i16 12268, i16 12269, i16 12270, i16 0, i16 12271, i16 10469, i16 5529, i16 10470, i16 5530, i16 2980, i16 10471, i16 2188, i16 5527, i16 0, i16 2596, i16 10472, i16 10473, i16 5528, i16 10474, i16 0, i16 0, i16 2107, i16 10475, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10476, i16 0, i16 0, i16 805, i16 10477, i16 0, i16 0, i16 0, i16 12005, i16 0, i16 6511, i16 12006, i16 12007, i16 6510, i16 997, i16 0, i16 12008, i16 2899, i16 6512, i16 2994, i16 0, i16 2738, i16 12009, i16 6513, i16 2017, i16 12010, i16 0, i16 0, i16 6515, i16 12011, i16 12012, i16 3411, i16 6530, i16 6517, i16 6518, i16 12013, i16 0, i16 2666, i16 12014, i16 0, i16 1254, i16 0, i16 12579, i16 6786, i16 0, i16 0, i16 6785, i16 0, i16 6784, i16 0, i16 0, i16 6329, i16 12580, i16 3249, i16 12581, i16 0, i16 0, i16 12582, i16 12583, i16 6787, i16 6788, i16 12584, i16 12585, i16 0, i16 12586, i16 12587, i16 12588, i16 0, i16 12589, i16 0, i16 12590, i16 12591, i16 9702, i16 5142, i16 0, i16 5141, i16 5143, i16 9703, i16 9704, i16 9705, i16 9706, i16 0, i16 5146, i16 0, i16 0, i16 0, i16 9707, i16 9708, i16 9709, i16 2754, i16 0, i16 5140, i16 0, i16 9710, i16 9711, i16 0, i16 0, i16 5144, i16 0, i16 0, i16 9712, i16 0, i16 0, i16 0, i16 2280, i16 6299, i16 0, i16 6304, i16 1574, i16 6301, i16 6302, i16 11686, i16 6298, i16 11687, i16 0, i16 0, i16 2315, i16 2854, i16 11688, i16 11689, i16 2546, i16 0, i16 994, i16 11690, i16 0, i16 0, i16 11691, i16 11692, i16 0, i16 3081, i16 0, i16 11693, i16 1250, i16 0, i16 11694, i16 2645, i16 10216, i16 0, i16 10217, i16 10218, i16 10219, i16 10220, i16 10221, i16 10222, i16 10223, i16 0, i16 10224, i16 0, i16 0, i16 10225, i16 3074, i16 0, i16 5416, i16 0, i16 0, i16 0, i16 5417, i16 0, i16 0, i16 7073, i16 5418, i16 5419, i16 5420, i16 0, i16 0, i16 10226, i16 0, i16 1793, i16 6633, i16 0, i16 0, i16 0, i16 12337, i16 12338, i16 0, i16 12339, i16 0, i16 12340, i16 12341, i16 0, i16 1416, i16 12342, i16 6635, i16 12343, i16 12344, i16 12345, i16 0, i16 12346, i16 12347, i16 1513, i16 12348, i16 0, i16 0, i16 0, i16 12349, i16 0, i16 6634, i16 12350, i16 2126, i16 12351, i16 8938, i16 8939, i16 0, i16 8940, i16 0, i16 0, i16 0, i16 4640, i16 0, i16 3347, i16 0, i16 0, i16 0, i16 8941, i16 0, i16 4641, i16 0, i16 0, i16 0, i16 8942, i16 8943, i16 0, i16 4642, i16 0, i16 3423, i16 0, i16 2251, i16 8944, i16 0, i16 8945, i16 0, i16 0, i16 235, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 269, i16 256, i16 270, i16 7109, i16 0, i16 4075, i16 4073, i16 4071, i16 4074, i16 0, i16 8004, i16 0, i16 0, i16 4076, i16 8005, i16 8006, i16 8007, i16 8010, i16 8011, i16 4077, i16 8008, i16 8009, i16 4078, i16 0, i16 4079, i16 0, i16 0, i16 0, i16 4080, i16 3841, i16 8012, i16 1965, i16 1824, i16 8013, i16 8014, i16 1016, i16 8015, i16 6891, i16 12790, i16 0, i16 12791, i16 2236, i16 0, i16 12792, i16 0, i16 12793, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12794, i16 6892, i16 12795, i16 6893, i16 12796, i16 6894, i16 6895, i16 12797, i16 12798, i16 12799, i16 1657, i16 0, i16 0, i16 12800, i16 12801, i16 0, i16 6896, i16 6897, i16 9963, i16 0, i16 9964, i16 0, i16 0, i16 9965, i16 9966, i16 0, i16 0, i16 1186, i16 9967, i16 9968, i16 0, i16 9969, i16 0, i16 0, i16 0, i16 0, i16 3637, i16 5276, i16 0, i16 9970, i16 0, i16 9971, i16 0, i16 9972, i16 0, i16 5278, i16 9973, i16 9974, i16 0, i16 9975, i16 7405, i16 7406, i16 7407, i16 2506, i16 3630, i16 787, i16 0, i16 0, i16 7408, i16 0, i16 0, i16 0, i16 0, i16 3743, i16 963, i16 7409, i16 1345, i16 7410, i16 2602, i16 7411, i16 0, i16 7412, i16 1482, i16 3745, i16 0, i16 0, i16 0, i16 2911, i16 0, i16 7413, i16 7414, i16 7415, i16 494, i16 495, i16 496, i16 497, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 232, i16 233, i16 242, i16 243, i16 0, i16 750, i16 3137, i16 3994, i16 0, i16 3990, i16 0, i16 7861, i16 3985, i16 3991, i16 1725, i16 7862, i16 0, i16 0, i16 7863, i16 7864, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3998, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12272, i16 12273, i16 12274, i16 12275, i16 0, i16 12276, i16 12277, i16 12278, i16 12279, i16 0, i16 0, i16 12280, i16 12281, i16 12282, i16 12283, i16 6617, i16 12284, i16 0, i16 3298, i16 12285, i16 0, i16 12286, i16 0, i16 12287, i16 12288, i16 12289, i16 0, i16 0, i16 12290, i16 12291, i16 0, i16 12292, i16 1009, i16 6386, i16 3667, i16 2659, i16 3696, i16 11796, i16 11797, i16 1860, i16 6385, i16 11798, i16 2454, i16 11799, i16 0, i16 6402, i16 2351, i16 11800, i16 0, i16 2901, i16 0, i16 3143, i16 0, i16 11802, i16 11801, i16 0, i16 0, i16 11803, i16 6389, i16 1810, i16 1861, i16 11804, i16 2123, i16 0, i16 4849, i16 4836, i16 0, i16 4846, i16 0, i16 9254, i16 0, i16 4840, i16 9255, i16 0, i16 9256, i16 9257, i16 9258, i16 9259, i16 2180, i16 4850, i16 9260, i16 9261, i16 2268, i16 0, i16 0, i16 9262, i16 9263, i16 0, i16 0, i16 4848, i16 1150, i16 9264, i16 9265, i16 9266, i16 0, i16 0, i16 13041, i16 0, i16 0, i16 0, i16 0, i16 13042, i16 7028, i16 13043, i16 0, i16 13044, i16 0, i16 13045, i16 0, i16 7029, i16 13046, i16 7030, i16 13047, i16 0, i16 3700, i16 13048, i16 13049, i16 0, i16 0, i16 0, i16 7027, i16 2512, i16 1762, i16 0, i16 0, i16 7031, i16 13050, i16 0, i16 6130, i16 0, i16 3293, i16 6131, i16 11395, i16 11396, i16 6128, i16 11397, i16 6129, i16 6134, i16 6137, i16 11398, i16 0, i16 6135, i16 11399, i16 11400, i16 11401, i16 6133, i16 6127, i16 11402, i16 11403, i16 0, i16 0, i16 0, i16 2587, i16 11404, i16 6144, i16 0, i16 3387, i16 0, i16 11405, i16 11406, i16 4083, i16 8027, i16 8028, i16 3253, i16 4085, i16 0, i16 0, i16 8029, i16 4087, i16 4086, i16 8030, i16 4088, i16 8031, i16 4089, i16 0, i16 1490, i16 0, i16 8032, i16 903, i16 4090, i16 0, i16 8033, i16 4092, i16 0, i16 4091, i16 0, i16 8034, i16 8035, i16 4094, i16 8036, i16 0, i16 2777, i16 3830, i16 829, i16 7623, i16 1518, i16 1430, i16 1995, i16 2622, i16 1313, i16 2321, i16 1584, i16 7624, i16 1669, i16 3832, i16 3417, i16 2757, i16 7625, i16 1868, i16 0, i16 3831, i16 7626, i16 3833, i16 7627, i16 0, i16 7628, i16 7629, i16 0, i16 2781, i16 0, i16 1112, i16 0, i16 0, i16 7630, i16 3320, i16 897, i16 811, i16 0, i16 2818, i16 11714, i16 11715, i16 6321, i16 0, i16 0, i16 11721, i16 11716, i16 6320, i16 0, i16 2883, i16 0, i16 6325, i16 11717, i16 0, i16 0, i16 6314, i16 0, i16 6324, i16 6326, i16 0, i16 1509, i16 6322, i16 1645, i16 11718, i16 1926, i16 11719, i16 11720, i16 3576, i16 1731, i16 2552, i16 4614, i16 8885, i16 2309, i16 8886, i16 1612, i16 2223, i16 909, i16 2371, i16 4612, i16 1252, i16 8887, i16 8888, i16 8889, i16 0, i16 0, i16 1442, i16 0, i16 2672, i16 4618, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2406, i16 0, i16 8890, i16 4621, i16 0, i16 7416, i16 1196, i16 7417, i16 7418, i16 0, i16 0, i16 0, i16 0, i16 7419, i16 3746, i16 788, i16 7420, i16 7421, i16 1561, i16 1197, i16 3185, i16 3019, i16 1272, i16 7422, i16 0, i16 0, i16 7423, i16 7424, i16 7425, i16 0, i16 7426, i16 1014, i16 0, i16 3781, i16 2752, i16 0, i16 0, i16 1529, i16 0, i16 2716, i16 6278, i16 11631, i16 11632, i16 0, i16 11633, i16 1458, i16 0, i16 2209, i16 0, i16 6281, i16 0, i16 2817, i16 11634, i16 6280, i16 11635, i16 11636, i16 1420, i16 11637, i16 11638, i16 6279, i16 2524, i16 1228, i16 0, i16 0, i16 6282, i16 0, i16 6283, i16 11639, i16 2118, i16 2041, i16 4564, i16 8795, i16 8796, i16 8797, i16 0, i16 8798, i16 2329, i16 6559, i16 3067, i16 0, i16 1947, i16 8799, i16 1730, i16 4565, i16 0, i16 8800, i16 8801, i16 8802, i16 2476, i16 8803, i16 3196, i16 8804, i16 0, i16 2518, i16 0, i16 8805, i16 4568, i16 8806, i16 0, i16 4566, i16 0, i16 10235, i16 5426, i16 0, i16 1159, i16 3056, i16 5427, i16 10236, i16 5428, i16 10237, i16 0, i16 5429, i16 0, i16 10238, i16 0, i16 3437, i16 0, i16 10239, i16 10240, i16 3430, i16 0, i16 2655, i16 0, i16 10241, i16 0, i16 2417, i16 10242, i16 0, i16 5431, i16 10243, i16 0, i16 2033, i16 0, i16 5628, i16 10657, i16 0, i16 10658, i16 5652, i16 5654, i16 0, i16 10659, i16 0, i16 10660, i16 0, i16 0, i16 5655, i16 10661, i16 10662, i16 0, i16 10663, i16 0, i16 10664, i16 3227, i16 0, i16 5656, i16 0, i16 0, i16 0, i16 10665, i16 0, i16 0, i16 10666, i16 10667, i16 3443, i16 0, i16 3325, i16 7813, i16 0, i16 0, i16 0, i16 0, i16 3062, i16 7814, i16 7815, i16 3968, i16 7816, i16 1183, i16 3963, i16 3964, i16 3966, i16 7817, i16 0, i16 7818, i16 0, i16 0, i16 7819, i16 7820, i16 3967, i16 0, i16 1274, i16 2220, i16 0, i16 3202, i16 3965, i16 3961, i16 1564, i16 0, i16 5629, i16 10622, i16 10623, i16 10624, i16 10625, i16 0, i16 10626, i16 5630, i16 0, i16 10627, i16 0, i16 10628, i16 10629, i16 5635, i16 10630, i16 10631, i16 0, i16 5624, i16 3951, i16 5631, i16 5625, i16 0, i16 0, i16 5634, i16 0, i16 10632, i16 0, i16 10633, i16 0, i16 0, i16 0, i16 5640, i16 4350, i16 0, i16 0, i16 4349, i16 4348, i16 3188, i16 0, i16 4357, i16 0, i16 8514, i16 0, i16 8512, i16 3341, i16 0, i16 4351, i16 0, i16 8513, i16 8515, i16 0, i16 0, i16 4353, i16 3358, i16 8516, i16 4352, i16 8517, i16 0, i16 0, i16 8518, i16 8519, i16 0, i16 8520, i16 4354, i16 9726, i16 5159, i16 0, i16 0, i16 0, i16 9727, i16 9728, i16 9729, i16 0, i16 5155, i16 0, i16 5156, i16 0, i16 9730, i16 0, i16 5160, i16 0, i16 5158, i16 0, i16 0, i16 0, i16 3141, i16 0, i16 9731, i16 5166, i16 0, i16 5163, i16 5162, i16 0, i16 5165, i16 2865, i16 5167, i16 3839, i16 0, i16 3840, i16 7634, i16 7635, i16 2879, i16 902, i16 0, i16 0, i16 3843, i16 1778, i16 7636, i16 3842, i16 1723, i16 7637, i16 3844, i16 5856, i16 3845, i16 3316, i16 3846, i16 0, i16 3847, i16 3848, i16 2134, i16 7638, i16 1917, i16 0, i16 0, i16 0, i16 7639, i16 0, i16 0, i16 5887, i16 10975, i16 5888, i16 5884, i16 10977, i16 10978, i16 10979, i16 0, i16 5885, i16 0, i16 5886, i16 10980, i16 0, i16 0, i16 10981, i16 1640, i16 10976, i16 0, i16 0, i16 5894, i16 0, i16 5890, i16 10982, i16 0, i16 10983, i16 0, i16 3165, i16 10984, i16 3359, i16 3103, i16 10985, i16 0, i16 120, i16 12, i16 25, i16 0, i16 0, i16 5, i16 0, i16 23, i16 156, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 17, i16 157, i16 107, i16 21, i16 147, i16 174, i16 24, i16 0, i16 3, i16 173, i16 137, i16 30, i16 88, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 143, i16 145, i16 8, i16 117, i16 132, i16 0, i16 0, i16 177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 187, i16 95, i16 182, i16 161, i16 129, i16 127, i16 97, i16 135, i16 103, i16 108, i16 83, i16 86, i16 166, i16 139, i16 89, i16 172, i16 56, i16 77, i16 106, i16 162, i16 189, i16 155, i16 41, i16 141, i16 124, i16 28, i16 74, i16 68, i16 113, i16 27, i16 67, i16 85, i16 144, i16 70, i16 126, i16 96, i16 35, i16 61, i16 190, i16 123, i16 176, i16 171, i16 148, i16 183, i16 38, i16 54, i16 142, i16 186, i16 87, i16 75, i16 94, i16 76, i16 32, i16 98, i16 163, i16 20, i16 133, i16 154, i16 66, i16 138, i16 52, i16 101, i16 44, i16 63, i16 19, i16 22, i16 164, i16 191, i16 136, i16 80, i16 65, i16 91, i16 114, i16 181, i16 51, i16 79, i16 184, i16 116, i16 151, i16 92, i16 140, i16 64, i16 167, i16 50, i16 110, i16 130, i16 192, i16 152, i16 100, i16 99, i16 36, i16 93, i16 72, i16 146, i16 131, i16 33, i16 47, i16 119, i16 7, i16 73, i16 185, i16 57, i16 160, i16 150, i16 78, i16 45, i16 118, i16 49, i16 115, i16 29, i16 31, i16 69, i16 188, i16 53, i16 149, i16 121, i16 55, i16 109, i16 82, i16 153, i16 178, i16 90, i16 122, i16 104, i16 6, i16 175, i16 60, i16 59, i16 43, i16 180, i16 125, i16 16, i16 179, i16 102, i16 134, i16 62, i16 37, i16 158, i16 71, i16 40, i16 84, i16 0, i16 1, i16 159, i16 13, i16 81, i16 111, i16 46, i16 105, i16 9, i16 128, i16 18, i16 170, i16 11, i16 15, i16 39, i16 34, i16 2, i16 48, i16 10, i16 14, i16 26, i16 58, i16 42, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 169, i16 112, i16 168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 165, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 84, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1270, i16 1950, i16 0, i16 426, i16 2786, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3365, i16 3389, i16 3410, i16 1975, i16 0, i16 2471, i16 2480, i16 2502, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2924, i16 1668, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 408, i16 0, i16 0, i16 3296, i16 0, i16 3249, i16 1864, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 141, i16 0, i16 51, i16 1513, i16 1049, i16 2968, i16 2294, i16 0, i16 1390, i16 979, i16 0, i16 1886, i16 0, i16 617, i16 0, i16 0, i16 0, i16 1282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 471, i16 2852, i16 0, i16 0, i16 0, i16 0, i16 3275, i16 2769, i16 2449, i16 0, i16 0, i16 0, i16 0, i16 693, i16 657, i16 2725, i16 1421, i16 1123, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1524, i16 2708, i16 2736, i16 2762, i16 2793, i16 2808, i16 2834, i16 2854, i16 2870, i16 2890, i16 2909, i16 2932, i16 2958, i16 2983, i16 3003, i16 3025, i16 3042, i16 3062, i16 3085, i16 3108, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2374, i16 367, i16 1664, i16 0, i16 0, i16 0, i16 0, i16 2342, i16 0, i16 0, i16 0, i16 0, i16 165, i16 2704, i16 1683, i16 0, i16 0, i16 1370, i16 0, i16 2875, i16 0, i16 2939, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1678, i16 423, i16 0, i16 2585, i16 0, i16 0, i16 0, i16 2178, i16 0, i16 0, i16 0, i16 463, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 603, i16 0, i16 3282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2510, i16 0, i16 0, i16 0, i16 2978, i16 0, i16 0, i16 0, i16 0, i16 0, i16 454, i16 3047, i16 2404, i16 0, i16 0, i16 1652, i16 0, i16 628, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1882, i16 3318, i16 2723, i16 1548, i16 2895, i16 3235, i16 3268, i16 2013, i16 0, i16 899, i16 0, i16 0, i16 2999, i16 270, i16 3031, i16 926, i16 0, i16 511, i16 0, i16 0, i16 2064, i16 271, i16 2107, i16 537, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2071, i16 1576, i16 0, i16 1014, i16 610, i16 703, i16 0, i16 89, i16 277, i16 2618, i16 2078, i16 373, i16 2562, i16 2653, i16 0, i16 20, i16 2792, i16 1006, i16 1991, i16 745, i16 0, i16 2504, i16 1920, i16 3246, i16 1187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1040, i16 538, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1639, i16 1552, i16 1656, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1084, i16 0, i16 0, i16 343, i16 947, i16 0, i16 1748, i16 0, i16 0, i16 2269, i16 1677, i16 2648, i16 0, i16 455, i16 0, i16 2224, i16 572, i16 0, i16 0, i16 0, i16 0, i16 272, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 218, i16 2385, i16 42, i16 1008, i16 2883, i16 1666, i16 3317, i16 0, i16 0, i16 0, i16 845, i16 1527, i16 0, i16 966, i16 1411, i16 2278, i16 0, i16 0, i16 0, i16 529, i16 764, i16 1103, i16 2200, i16 446, i16 1517, i16 1958, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1554, i16 2767, i16 2782, i16 2040, i16 1538, i16 0, i16 0, i16 3329, i16 0, i16 320, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2561, i16 0, i16 183, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1077, i16 1744, i16 1381, i16 0, i16 1821, i16 2017, i16 2216, i16 1487, i16 2180, i16 1772, i16 0, i16 1191, i16 0, i16 0, i16 0, i16 2697, i16 1177, i16 1167, i16 1491, i16 0, i16 0, i16 0, i16 1684, i16 1161, i16 0, i16 0, i16 261, i16 0, i16 0, i16 0, i16 0, i16 0, i16 353, i16 1482, i16 385, i16 2859, i16 2317, i16 136, i16 2314, i16 598, i16 2350, i16 2114, i16 3321, i16 177, i16 3325, i16 740, i16 1376, i16 0, i16 564, i16 3237, i16 2522, i16 0, i16 220, i16 451, i16 896, i16 985, i16 0, i16 931, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1514, i16 391, i16 2423, i16 0, i16 1547, i16 0, i16 904, i16 0, i16 3173, i16 265, i16 0, i16 1255, i16 0, i16 406, i16 3030, i16 2947, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2682, i16 0, i16 0, i16 0, i16 90, i16 1190, i16 0, i16 0, i16 0, i16 0, i16 3076, i16 3092, i16 2084, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1002, i16 3212, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3169, i16 789, i16 0, i16 3187, i16 948, i16 1953, i16 530, i16 245, i16 1845, i16 769, i16 646, i16 0, i16 670, i16 2443, i16 1563, i16 2644, i16 1508, i16 2949, i16 0, i16 0, i16 0, i16 0, i16 0, i16 330, i16 0, i16 2594, i16 2182, i16 696, i16 0, i16 0, i16 0, i16 0, i16 1906, i16 3349, i16 3372, i16 3395, i16 3415, i16 1974, i16 1997, i16 0, i16 1128, i16 2030, i16 2057, i16 2085, i16 2106, i16 2126, i16 2152, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 884, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1151, i16 0, i16 0, i16 0, i16 0, i16 907, i16 0, i16 0, i16 1164, i16 0, i16 2089, i16 328, i16 2093, i16 0, i16 1196, i16 0, i16 921, i16 0, i16 0, i16 0, i16 0, i16 929, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 910, i16 152, i16 0, i16 1679, i16 0, i16 1452, i16 0, i16 0, i16 0, i16 1992, i16 65, i16 1016, i16 259, i16 0, i16 0, i16 1174, i16 1900, i16 3026, i16 3184, i16 2125, i16 0, i16 0, i16 2720, i16 0, i16 0, i16 3373, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2737, i16 0, i16 0, i16 0, i16 1427, i16 0, i16 1750, i16 2491, i16 1564, i16 1184, i16 2996, i16 889, i16 3105, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1290, i16 0, i16 3191, i16 0, i16 2844, i16 401, i16 3231, i16 3156, i16 241, i16 1896, i16 0, i16 0, i16 0, i16 0, i16 699, i16 0, i16 1035, i16 0, i16 0, i16 2360, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1115, i16 3123, i16 1925, i16 3287, i16 0, i16 0, i16 0, i16 0, i16 1450, i16 803, i16 1267, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3280, i16 2450, i16 1696, i16 3032, i16 1377, i16 0, i16 0, i16 0, i16 568, i16 0, i16 2921, i16 2479, i16 2955, i16 2063, i16 1546, i16 1367, i16 1641, i16 0, i16 1039, i16 0, i16 0, i16 0, i16 0, i16 3264, i16 0, i16 2136, i16 0, i16 3056, i16 0, i16 0, i16 0, i16 0, i16 467, i16 0, i16 0, i16 0, i16 3041, i16 1967, i16 1980, i16 0, i16 932, i16 1066, i16 0, i16 3061, i16 3344, i16 920, i16 3399, i16 915, i16 3409, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1520, i16 3160, i16 3104, i16 973, i16 1426, i16 1893, i16 0, i16 2838, i16 0, i16 0, i16 0, i16 1137, i16 1473, i16 0, i16 1810, i16 942, i16 331, i16 0, i16 1150, i16 0, i16 43, i16 0, i16 2179, i16 1614, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 508, i16 487, i16 0, i16 0, i16 1726, i16 0, i16 734, i16 308, i16 0, i16 0, i16 2990, i16 3063, i16 2991, i16 0, i16 3011, i16 1074, i16 3210, i16 3037, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1827, i16 0, i16 897, i16 0, i16 75, i16 0, i16 0, i16 0, i16 1030, i16 462, i16 0, i16 0, i16 2414, i16 2898, i16 0, i16 0, i16 3253, i16 1468, i16 2833, i16 3273, i16 1955, i16 0, i16 127, i16 913, i16 0, i16 0, i16 507, i16 2716, i16 1126, i16 3029, i16 0, i16 3382, i16 2668, i16 0, i16 2555, i16 128, i16 0, i16 0, i16 0, i16 0, i16 1127, i16 2981, i16 1437, i16 0, i16 0, i16 0, i16 1500, i16 0, i16 0, i16 480, i16 0, i16 114, i16 0, i16 0, i16 205, i16 1655, i16 0, i16 0, i16 34, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 370, i16 500, i16 528, i16 0, i16 2690, i16 2876, i16 1477, i16 3133, i16 333, i16 0, i16 0, i16 0, i16 0, i16 1793, i16 0, i16 0, i16 1529, i16 2550, i16 1096, i16 1112, i16 1588, i16 820, i16 3267, i16 2595, i16 1977, i16 3394, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 125, i16 1589, i16 0, i16 1933, i16 847, i16 2168, i16 468, i16 0, i16 3405, i16 0, i16 0, i16 1506, i16 0, i16 0, i16 683, i16 1939, i16 2846, i16 2878, i16 2642, i16 0, i16 0, i16 2377, i16 0, i16 0, i16 2596, i16 0, i16 1532, i16 0, i16 1107, i16 0, i16 0, i16 0, i16 1919, i16 3021, i16 120, i16 0, i16 644, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2732, i16 501, i16 279, i16 2509, i16 1644, i16 1863, i16 0, i16 0, i16 395, i16 246, i16 1025, i16 626, i16 3384, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1675, i16 0, i16 2734, i16 0, i16 3140, i16 990, i16 0, i16 0, i16 2169, i16 0, i16 0, i16 1027, i16 552, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2583, i16 0, i16 3286, i16 0, i16 1212, i16 316, i16 0, i16 0, i16 2830, i16 0, i16 0, i16 0, i16 0, i16 909, i16 1229, i16 0, i16 0, i16 335, i16 0, i16 0, i16 359, i16 647, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1153, i16 0, i16 0, i16 901, i16 0, i16 0, i16 0, i16 2492, i16 2027, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3219, i16 0, i16 2744, i16 476, i16 0, i16 11, i16 243, i16 0, i16 2327, i16 3098, i16 0, i16 0, i16 0, i16 97, i16 0, i16 0, i16 0, i16 1523, i16 0, i16 0, i16 783, i16 1121, i16 3144, i16 0, i16 0, i16 0, i16 496, i16 0, i16 0, i16 0, i16 0, i16 0, i16 158, i16 0, i16 2711, i16 1954, i16 3311, i16 886, i16 239, i16 1528, i16 1343, i16 1531, i16 225, i16 0, i16 1047, i16 0, i16 2311, i16 3385, i16 607, i16 2571, i16 2130, i16 848, i16 0, i16 2750, i16 440, i16 794, i16 2102, i16 460, i16 2018, i16 2208, i16 1181, i16 0, i16 0, i16 0, i16 1755, i16 2493, i16 1397, i16 0, i16 3417, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 780, i16 206, i16 2759, i16 0, i16 0, i16 834, i16 0, i16 0, i16 672, i16 0, i16 2241, i16 1359, i16 0, i16 0, i16 584, i16 1978, i16 3009, i16 0, i16 0, i16 0, i16 1160, i16 211, i16 2666, i16 0, i16 0, i16 0, i16 0, i16 2074, i16 0, i16 0, i16 0, i16 0, i16 17, i16 2606, i16 1737, i16 202, i16 1812, i16 1007, i16 0, i16 1841, i16 1345, i16 0, i16 738, i16 1162, i16 2860, i16 1943, i16 1814, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1674, i16 2556, i16 66, i16 542, i16 1205, i16 3419, i16 0, i16 2603, i16 2500, i16 425, i16 0, i16 0, i16 278, i16 1961, i16 680, i16 0, i16 1124, i16 1758, i16 0, i16 1555, i16 1446, i16 2210, i16 1405, i16 350, i16 3028, i16 2892, i16 0, i16 0, i16 0, i16 0, i16 1826, i16 2907, i16 21, i16 558, i16 1600, i16 1932, i16 0, i16 0, i16 1779, i16 0, i16 0, i16 1295, i16 0, i16 0, i16 28, i16 1725, i16 0, i16 0, i16 0, i16 0, i16 1981, i16 0, i16 2384, i16 1942, i16 0, i16 0, i16 0, i16 0, i16 0, i16 795, i16 452, i16 0, i16 208, i16 0, i16 0, i16 3044, i16 0, i16 0, i16 0, i16 0, i16 166, i16 836, i16 340, i16 337, i16 0, i16 0, i16 1875, i16 0, i16 0, i16 1159, i16 32, i16 1879, i16 1304, i16 0, i16 414, i16 515, i16 1347, i16 365, i16 0, i16 1884, i16 1521, i16 970, i16 0, i16 0, i16 858, i16 3141, i16 0, i16 717, i16 1866, i16 0, i16 1280, i16 1791, i16 2234, i16 0, i16 1414, i16 2147, i16 0, i16 0, i16 1645, i16 0, i16 0, i16 0, i16 404, i16 0, i16 0, i16 984, i16 3122, i16 0, i16 0, i16 0, i16 145, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1803, i16 0, i16 0, i16 1651, i16 2447, i16 0, i16 0, i16 2291, i16 472, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1134, i16 838, i16 0, i16 470, i16 2650, i16 606, i16 1065, i16 0, i16 1130, i16 0, i16 0, i16 0, i16 0, i16 1374, i16 1694, i16 1572, i16 1648, i16 2386, i16 200, i16 694, i16 0, i16 2530, i16 0, i16 0, i16 1752, i16 159, i16 2351, i16 3097, i16 1410, i16 1125, i16 0, i16 0, i16 412, i16 0, i16 1556, i16 0, i16 0, i16 625, i16 0, i16 1649, i16 0, i16 2100, i16 2469, i16 0, i16 273, i16 3016, i16 0, i16 0, i16 0, i16 0, i16 0, i16 399, i16 276, i16 2646, i16 671, i16 1732, i16 1888, i16 1382, i16 57, i16 0, i16 0, i16 0, i16 0, i16 0, i16 999, i16 0, i16 0, i16 681, i16 190, i16 2424, i16 0, i16 1319, i16 1454, i16 0, i16 0, i16 539, i16 0, i16 761, i16 0, i16 2021, i16 0, i16 0, i16 2189, i16 54, i16 0, i16 0, i16 0, i16 0, i16 3073, i16 0, i16 3049, i16 1501, i16 3198, i16 0, i16 0, i16 0, i16 2802, i16 255, i16 1960, i16 0, i16 0, i16 0, i16 263, i16 0, i16 0, i16 0, i16 0, i16 3168, i16 3007, i16 784, i16 3164, i16 0, i16 0, i16 788, i16 2164, i16 1711, i16 1088, i16 1328, i16 3024, i16 0, i16 2497, i16 1825, i16 2888, i16 1003, i16 986, i16 1603, i16 0, i16 0, i16 1012, i16 2473, i16 329, i16 0, i16 0, i16 0, i16 189, i16 2254, i16 1348, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 283, i16 155, i16 0, i16 0, i16 2908, i16 1209, i16 346, i16 0, i16 2765, i16 0, i16 1957, i16 0, i16 0, i16 0, i16 828, i16 0, i16 0, i16 2807, i16 0, i16 1676, i16 0, i16 1091, i16 768, i16 0, i16 2818, i16 349, i16 1789, i16 2193, i16 0, i16 164, i16 0, i16 1171, i16 2810, i16 938, i16 1163, i16 719, i16 2554, i16 2822, i16 0, i16 1575, i16 1200, i16 0, i16 2598, i16 753, i16 2532, i16 972, i16 689, i16 0, i16 1284, i16 0, i16 0, i16 0, i16 0, i16 0, i16 64, i16 800, i16 0, i16 0, i16 0, i16 1307, i16 509, i16 106, i16 0, i16 3278, i16 819, i16 0, i16 3013, i16 1015, i16 26, i16 1631, i16 1202, i16 1117, i16 0, i16 2326, i16 0, i16 3046, i16 49, i16 0, i16 736, i16 0, i16 776, i16 1109, i16 0, i16 0, i16 3182, i16 0, i16 0, i16 0, i16 0, i16 0, i16 217, i16 510, i16 2212, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 341, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2689, i16 0, i16 0, i16 2117, i16 0, i16 0, i16 0, i16 2825, i16 1273, i16 2948, i16 0, i16 977, i16 268, i16 1266, i16 1283, i16 1369, i16 1795, i16 207, i16 1685, i16 3014, i16 497, i16 0, i16 437, i16 2505, i16 0, i16 2563, i16 0, i16 0, i16 732, i16 553, i16 1247, i16 2372, i16 0, i16 0, i16 1637, i16 3251, i16 3313, i16 1308, i16 0, i16 10, i16 2912, i16 1061, i16 131, i16 0, i16 0, i16 0, i16 2111, i16 0, i16 0, i16 0, i16 0, i16 0, i16 169, i16 0, i16 0, i16 0, i16 490, i16 642, i16 677, i16 0, i16 0, i16 180, i16 1565, i16 148, i16 569, i16 2201, i16 0, i16 315, i16 0, i16 0, i16 0, i16 1818, i16 1021, i16 0, i16 0, i16 0, i16 1244, i16 0, i16 76, i16 0, i16 3406, i16 0, i16 93, i16 0, i16 513, i16 960, i16 0, i16 859, i16 96, i16 1964, i16 0, i16 0, i16 386, i16 1629, i16 1510, i16 0, i16 2656, i16 269, i16 321, i16 0, i16 0, i16 0, i16 0, i16 3106, i16 2930, i16 1402, i16 80, i16 867, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2660, i16 368, i16 0, i16 2661, i16 2045, i16 0, i16 0, i16 0, i16 1581, i16 1544, i16 3381, i16 0, i16 2853, i16 891, i16 449, i16 2010, i16 3277, i16 0, i16 0, i16 2382, i16 2172, i16 2069, i16 2897, i16 0, i16 1773, i16 0, i16 0, i16 1291, i16 0, i16 645, i16 2135, i16 2034, i16 0, i16 0, i16 0, i16 2584, i16 772, i16 1898, i16 0, i16 0, i16 48, i16 1245, i16 1113, i16 747, i16 0, i16 0, i16 1973, i16 0, i16 0, i16 209, i16 2281, i16 1289, i16 2785, i16 0, i16 0, i16 2118, i16 176, i16 1248, i16 2037, i16 2043, i16 339, i16 3293, i16 2066, i16 86, i16 248, i16 857, i16 0, i16 0, i16 1433, i16 0, i16 0, i16 0, i16 1585, i16 2756, i16 2680, i16 1650, i16 1718, i16 0, i16 0, i16 0, i16 0, i16 0, i16 394, i16 1024, i16 1537, i16 0, i16 0, i16 3170, i16 2362, i16 40, i16 53, i16 1101, i16 0, i16 2933, i16 900, i16 1447, i16 0, i16 3179, i16 833, i16 1566, i16 1494, i16 2973, i16 0, i16 0, i16 2609, i16 0, i16 927, i16 2303, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 650, i16 0, i16 0, i16 1075, i16 235, i16 823, i16 565, i16 3079, i16 0, i16 785, i16 777, i16 186, i16 2969, i16 1860, i16 2232, i16 0, i16 873, i16 741, i16 3125, i16 3257, i16 2239, i16 0, i16 3121, i16 1242, i16 2791, i16 0, i16 0, i16 1435, i16 974, i16 1780, i16 961, i16 0, i16 0, i16 2874, i16 757, i16 0, i16 0, i16 0, i16 400, i16 1432, i16 2766, i16 3039, i16 1001, i16 1507, i16 2972, i16 0, i16 2514, i16 1512, i16 2046, i16 0, i16 0, i16 0, i16 1253, i16 0, i16 2098, i16 545, i16 2165, i16 531, i16 555, i16 0, i16 0, i16 3371, i16 0, i16 0, i16 0, i16 742, i16 0, i16 807, i16 1931, i16 0, i16 1076, i16 0, i16 2026, i16 3245, i16 0, i16 0, i16 117, i16 1467, i16 2104, i16 631, i16 0, i16 754, i16 156, i16 2258, i16 307, i16 0, i16 60, i16 0, i16 1260, i16 1371, i16 3328, i16 1870, i16 0, i16 0, i16 61, i16 1241, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 424, i16 2403, i16 2148, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1231, i16 2367, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1596, i16 3096, i16 2202, i16 363, i16 1609, i16 2710, i16 2582, i16 791, i16 2705, i16 0, i16 2543, i16 2319, i16 2558, i16 2597, i16 1, i16 2495, i16 2730, i16 0, i16 3374, i16 2485, i16 2487, i16 0, i16 581, i16 1476, i16 3359, i16 2499, i16 2719, i16 0, i16 1876, i16 3240, i16 0, i16 0, i16 2110, i16 0, i16 198, i16 1488, i16 2262, i16 140, i16 0, i16 0, i16 782, i16 3157, i16 27, i16 3136, i16 0, i16 1092, i16 0, i16 1302, i16 0, i16 1912, i16 1217, i16 0, i16 1642, i16 0, i16 2457, i16 0, i16 3400, i16 1530, i16 0, i16 0, i16 167, i16 524, i16 221, i16 0, i16 2119, i16 998, i16 461, i16 0, i16 1358, i16 1037, i16 3378, i16 3206, i16 841, i16 68, i16 1762, i16 0, i16 1756, i16 2665, i16 482, i16 1004, i16 0, i16 2501, i16 0, i16 3204, i16 918, i16 724, i16 322, i16 2401, i16 0, i16 0, i16 2412, i16 306, i16 733, i16 863, i16 0, i16 0, i16 2904, i16 0, i16 0, i16 1979, i16 0, i16 1985, i16 556, i16 3312, i16 2987, i16 3045, i16 643, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3128, i16 1729, i16 0, i16 2970, i16 161, i16 0, i16 0, i16 0, i16 0, i16 602, i16 0, i16 1682, i16 0, i16 2523, i16 0, i16 92, i16 0, i16 0, i16 583, i16 0, i16 0, i16 697, i16 1263, i16 253, i16 504, i16 0, i16 0, i16 0, i16 0, i16 1636, i16 56, i16 0, i16 0, i16 2617, i16 0, i16 0, i16 0, i16 0, i16 2960, i16 2884, i16 0, i16 1999, i16 438, i16 0, i16 0, i16 0, i16 0, i16 1116, i16 2929, i16 2605, i16 0, i16 2323, i16 774, i16 1032, i16 0, i16 2015, i16 2336, i16 0, i16 520, i16 0, i16 2016, i16 1634, i16 1182, i16 1362, i16 850, i16 2906, i16 596, i16 3274, i16 0, i16 199, i16 2242, i16 0, i16 1934, i16 0, i16 2635, i16 0, i16 1746, i16 2915, i16 0, i16 1375, i16 1118, i16 3004, i16 0, i16 477, i16 0, i16 0, i16 0, i16 0, i16 715, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3185, i16 0, i16 0, i16 0, i16 3248, i16 2541, i16 2340, i16 3258, i16 24, i16 2230, i16 1654, i16 0, i16 3421, i16 1923, i16 2565, i16 2280, i16 0, i16 3167, i16 3149, i16 895, i16 3306, i16 994, i16 2009, i16 1543, i16 2273, i16 0, i16 14, i16 814, i16 540, i16 2243, i16 1384, i16 969, i16 0, i16 2914, i16 1698, i16 0, i16 0, i16 995, i16 1119, i16 2474, i16 2855, i16 498, i16 0, i16 0, i16 2312, i16 3331, i16 2002, i16 2324, i16 0, i16 111, i16 1281, i16 410, i16 2158, i16 1404, i16 708, i16 2625, i16 0, i16 0, i16 0, i16 82, i16 1965, i16 486, i16 3228, i16 661, i16 0, i16 2961, i16 0, i16 197, i16 2842, i16 2060, i16 517, i16 1518, i16 0, i16 0, i16 1853, i16 2257, i16 3392, i16 2419, i16 251, i16 975, i16 0, i16 883, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1423, i16 0, i16 2521, i16 0, i16 2305, i16 0, i16 3380, i16 0, i16 0, i16 1054, i16 1108, i16 1842, i16 0, i16 943, i16 811, i16 2963, i16 0, i16 0, i16 0, i16 2455, i16 0, i16 1511, i16 0, i16 0, i16 1907, i16 3408, i16 2431, i16 516, i16 0, i16 238, i16 2124, i16 1483, i16 0, i16 825, i16 2271, i16 0, i16 1475, i16 1297, i16 0, i16 2001, i16 1346, i16 0, i16 0, i16 0, i16 0, i16 1387, i16 0, i16 0, i16 2629, i16 0, i16 614, i16 1274, i16 839, i16 3154, i16 1005, i16 0, i16 3189, i16 1136, i16 1000, i16 0, i16 2727, i16 2848, i16 3, i16 0, i16 112, i16 1234, i16 1459, i16 770, i16 0, i16 1828, i16 0, i16 2065, i16 0, i16 1106, i16 2444, i16 0, i16 830, i16 1457, i16 1764, i16 2604, i16 3057, i16 1098, i16 1223, i16 0, i16 362, i16 1460, i16 1840, i16 0, i16 1913, i16 580, i16 829, i16 958, i16 0, i16 3337, i16 0, i16 1833, i16 2778, i16 387, i16 2865, i16 310, i16 193, i16 3403, i16 0, i16 0, i16 0, i16 2614, i16 466, i16 0, i16 0, i16 2428, i16 1646, i16 0, i16 0, i16 0, i16 0, i16 1917, i16 0, i16 1908, i16 1859, i16 0, i16 1660, i16 804, i16 1592, i16 0, i16 3094, i16 3216, i16 2295, i16 33, i16 443, i16 3358, i16 0, i16 1394, i16 250, i16 213, i16 0, i16 1971, i16 3080, i16 1354, i16 3360, i16 0, i16 1265, i16 1584, i16 2053, i16 512, i16 0, i16 2928, i16 409, i16 2225, i16 779, i16 1186, i16 0, i16 0, i16 381, i16 0, i16 0, i16 2369, i16 0, i16 3368, i16 0, i16 0, i16 1479, i16 924, i16 0, i16 0, i16 599, i16 3139, i16 0, i16 1492, i16 2101, i16 0, i16 0, i16 0, i16 0, i16 0, i16 184, i16 0, i16 2197, i16 651, i16 0, i16 601, i16 0, i16 0, i16 29, i16 0, i16 1149, i16 3302, i16 1156, i16 3111, i16 1269, i16 1298, i16 0, i16 2073, i16 0, i16 615, i16 262, i16 0, i16 0, i16 1349, i16 118, i16 3159, i16 3178, i16 3316, i16 1252, i16 1277, i16 3301, i16 493, i16 3119, i16 2977, i16 842, i16 2399, i16 318, i16 2940, i16 2123, i16 0, i16 1620, i16 0, i16 2951, i16 0, i16 0, i16 0, i16 0, i16 2453, i16 0, i16 0, i16 1323, i16 288, i16 0, i16 0, i16 1615, i16 2715, i16 0, i16 0, i16 2691, i16 0, i16 0, i16 1388, i16 0, i16 280, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1250, i16 0, i16 392, i16 275, i16 0, i16 0, i16 0, i16 0, i16 1926, i16 3008, i16 0, i16 620, i16 0, i16 0, i16 0, i16 2971, i16 3401, i16 0, i16 0, i16 0, i16 1314, i16 608, i16 944, i16 0, i16 1534, i16 1131, i16 1430, i16 2835, i16 525, i16 1559, i16 3115, i16 0, i16 1672, i16 0, i16 3232, i16 0, i16 0, i16 382, i16 0, i16 3377, i16 352, i16 2301, i16 1207, i16 0, i16 1611, i16 0, i16 0, i16 260, i16 0, i16 94, i16 0, i16 2795, i16 1197, i16 0, i16 3402, i16 45, i16 0, i16 1816, i16 2185, i16 1216, i16 2678, i16 2866, i16 0, i16 2677, i16 0, i16 0, i16 687, i16 1342, i16 2420, i16 2163, i16 2142, i16 0, i16 876, i16 2989, i16 1172, i16 3393, i16 1550, i16 2506, i16 3017, i16 879, i16 0, i16 1169, i16 2729, i16 1817, i16 323, i16 0, i16 0, i16 1562, i16 1436, i16 0, i16 3397, i16 2616, i16 922, i16 44, i16 2966, i16 3135, i16 0, i16 0, i16 1713, i16 0, i16 491, i16 0, i16 0, i16 0, i16 2024, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2943, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3364, i16 3355, i16 2004, i16 2105, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3262, i16 0, i16 1082, i16 2663, i16 0, i16 0, i16 2379, i16 0, i16 0, i16 0, i16 2, i16 1330, i16 1747, i16 0, i16 731, i16 0, i16 2639, i16 0, i16 393, i16 18, i16 722, i16 0, i16 813, i16 223, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3353, i16 0, i16 1504, i16 0, i16 3099, i16 30, i16 1574, i16 2218, i16 566, i16 2621, i16 1989, i16 2917, i16 0, i16 3305, i16 0, i16 1398, i16 2651, i16 843, i16 2159, i16 317, i16 1335, i16 640, i16 865, i16 62, i16 2937, i16 1385, i16 919, i16 1034, i16 1233, i16 1850, i16 792, i16 1972, i16 987, i16 0, i16 2529, i16 1717, i16 364, i16 1095, i16 2696, i16 1142, i16 5, i16 1029, i16 0, i16 0, i16 1962, i16 1595, i16 0, i16 1145, i16 637, i16 1662, i16 0, i16 3386, i16 925, i16 2076, i16 2672, i16 0, i16 338, i16 0, i16 1198, i16 0, i16 1846, i16 0, i16 0, i16 366, i16 2622, i16 0, i16 739, i16 869, i16 799, i16 1480, i16 0, i16 0, i16 1721, i16 0, i16 1542, i16 160, i16 0, i16 1195, i16 1891, i16 2526, i16 3236, i16 502, i16 1697, i16 0, i16 1577, i16 514, i16 2373, i16 3289, i16 0, i16 478, i16 0, i16 0, i16 0, i16 2591, i16 2383, i16 660, i16 2297, i16 0, i16 234, i16 267, i16 124, i16 0, i16 2077, i16 534, i16 1838, i16 1568, i16 0, i16 0, i16 1619, i16 1873, i16 2033, i16 2484, i16 0, i16 2964, i16 2787, i16 1147, i16 0, i16 721, i16 0, i16 0, i16 0, i16 2815, i16 3086, i16 1622, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3336, i16 0, i16 3239, i16 1796, i16 0, i16 2976, i16 139, i16 1176, i16 0, i16 888, i16 2919, i16 3196, i16 1440, i16 2044, i16 574, i16 1754, i16 0, i16 586, i16 1760, i16 1087, i16 2331, i16 544, i16 0, i16 3279, i16 0, i16 0, i16 0, i16 1602, i16 2985, i16 1366, i16 91, i16 894, i16 523, i16 911, i16 2345, i16 2669, i16 3067, i16 3292, i16 2638, i16 806, i16 1341, i16 2986, i16 3363, i16 3227, i16 0, i16 659, i16 868, i16 0, i16 2794, i16 2296, i16 713, i16 1832, i16 0, i16 3217, i16 3304, i16 1811, i16 231, i16 2657, i16 0, i16 0, i16 3127, i16 852, i16 358, i16 0, i16 2318, i16 1570, i16 817, i16 3069, i16 3420, i16 447, i16 2520, i16 638, i16 2299, i16 0, i16 2693, i16 1043, i16 0, i16 1140, i16 1591, i16 1837, i16 236, i16 1355, i16 0, i16 2763, i16 0, i16 1022, i16 2422, i16 0, i16 2138, i16 0, i16 179, i16 0, i16 0, i16 1100, i16 0, i16 1326, i16 2574, i16 2211, i16 1702, i16 0, i16 1089, i16 0, i16 0, i16 377, i16 1687, i16 0, i16 793, i16 0, i16 667, i16 126, i16 934, i16 2300, i16 2079, i16 3370, i16 2233, i16 2862, i16 810, i16 0, i16 0, i16 3263, i16 756, i16 1809, i16 2714, i16 2518, i16 1422, i16 1665, i16 2722, i16 3194, i16 1296, i16 1412, i16 0, i16 138, i16 101, i16 2353, i16 0, i16 1179, i16 1225, i16 458, i16 3413, i16 1579, i16 2090, i16 1561, i16 0, i16 0, i16 0, i16 2809, i16 1497, i16 1389, i16 1019, i16 1329, i16 2421, i16 396, i16 2695, i16 6, i16 2095, i16 950, i16 489, i16 0, i16 1661, i16 0, i16 1808, i16 2171, i16 2511, i16 0, i16 1086, i16 1219, i16 2006, i16 25, i16 0, i16 0, i16 1201, i16 522, i16 0, i16 0, i16 618, i16 0, i16 0, i16 2235, i16 880, i16 0, i16 0, i16 334, i16 1305, i16 1705, i16 2204, i16 1858, i16 1013, i16 1306, i16 0, i16 1085, i16 1533, i16 87, i16 2067, i16 1502, i16 2290, i16 1799, i16 0, i16 3146, i16 1794, i16 3346, i16 2192, i16 0, i16 0, i16 653, i16 1429, i16 887, i16 314, i16 2041, i16 2436, i16 875, i16 1331, i16 1481, i16 0, i16 403, i16 0, i16 0, i16 1910, i16 0, i16 1155, i16 0, i16 2072, i16 3266, i16 1165, i16 1857, i16 1557, i16 1801, i16 2496, i16 3131, i16 2926, i16 2643, i16 1582, i16 0, i16 0, i16 0, i16 122, i16 686, i16 168, i16 0, i16 2398, i16 2749, i16 1553, i16 2413, i16 1541, i16 2440, i16 134, i16 1578, i16 247, i16 0, i16 1193, i16 1321, i16 2575, i16 570, i16 2894, i16 0, i16 0, i16 0, i16 2581, i16 2636, i16 2270, i16 12, i16 1424, i16 1188, i16 1383, i16 0, i16 485, i16 700, i16 3254, i16 149, i16 2922, i16 1627, i16 2545, i16 0, i16 1693, i16 0, i16 953, i16 0, i16 0, i16 0, i16 0, i16 600, i16 1138, i16 0, i16 2059, i16 1525, i16 0, i16 1657, i16 0, i16 1727, i16 2841, i16 532, i16 3176, i16 993, i16 1930, i16 192, i16 0, i16 1740, i16 0, i16 3192, i16 1927, i16 802, i16 2849, i16 1064, i16 2109, i16 0, i16 324, i16 144, i16 881, i16 2133, i16 0, i16 2610, i16 171, i16 1129, i16 1378, i16 0, i16 1835, i16 435, i16 760, i16 1324, i16 0, i16 1251, i16 3100, i16 0, i16 835, i16 0, i16 3310, i16 636, i16 594, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2333, i16 1632, i16 3379, i16 3018, i16 3285, i16 388, i16 2748, i16 0, i16 0, i16 0, i16 0, i16 1905, i16 3354, i16 0, i16 2014, i16 0, i16 0, i16 763, i16 0, i16 2011, i16 0, i16 3033, i16 3223, i16 1009, i16 0, i16 1287, i16 292, i16 413, i16 0, i16 0, i16 0, i16 0, i16 31, i16 2143, i16 2128, i16 1878, i16 956, i16 822, i16 2430, i16 311, i16 0, i16 0, i16 2313, i16 1256, i16 2956, i16 0, i16 224, i16 0, i16 2965, i16 109, i16 634, i16 1431, i16 2465, i16 0, i16 0, i16 0, i16 1775, i16 2462, i16 1090, i16 778, i16 3271, i16 1819, i16 0, i16 2645, i16 291, i16 0, i16 1904, i16 0, i16 182, i16 536, i16 0, i16 0, i16 1203, i16 827, i16 294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8, i16 2005, i16 15, i16 2031, i16 3269, i16 3297, i16 3319, i16 0, i16 3213, i16 3241, i16 3259, i16 0, i16 295, i16 133, i16 2811, i16 1707, i16 1915, i16 0, i16 154, i16 174, i16 3416, i16 2448, i16 1144, i16 0, i16 0, i16 0, i16 0, i16 890, i16 1865, i16 1368, i16 1496, i16 1868, i16 1050, i16 1823, i16 2389, i16 1264, i16 752, i16 2456, i16 0, i16 0, i16 356, i16 1336, i16 2116, i16 978, i16 1831, i16 0, i16 2068, i16 1215, i16 705, i16 1044, i16 0, i16 702, i16 0, i16 0, i16 129, i16 0, i16 0, i16 2364, i16 0, i16 0, i16 1312, i16 0, i16 0, i16 16, i16 0, i16 3244, i16 1133, i16 3078, i16 1139, i16 0, i16 2478, i16 0, i16 422, i16 2573, i16 2007, i16 1097, i16 812, i16 0, i16 0, i16 0, i16 665, i16 0, i16 0, i16 0, i16 0, i16 1736, i16 0, i16 2157, i16 549, i16 3165, i16 0, i16 0, i16 0, i16 1271, i16 0, i16 219, i16 0, i16 0, i16 0, i16 1783, i16 0, i16 0, i16 397, i16 3383, i16 0, i16 0, i16 0, i16 2279, i16 3375, i16 1052, i16 0, i16 0, i16 1712, i16 546, i16 1798, i16 3309, i16 0, i16 380, i16 0, i16 0, i16 3038, i16 0, i16 1621, i16 1122, i16 711, i16 3222, i16 2742, i16 0, i16 1701, i16 1053, i16 0, i16 3327, i16 1922, i16 0, i16 1800, i16 1731, i16 0, i16 2516, i16 655, i16 0, i16 2358, i16 2393, i16 2464, i16 2494, i16 2580, i16 2679, i16 2743, i16 2788, i16 2824, i16 2858, i16 2935, i16 2982, i16 3101, i16 3153, i16 3276, i16 2438, i16 2488, i16 2757, i16 2052, i16 2144, i16 2286, i16 2337, i16 2400, i16 2452, i16 2738, i16 2779, i16 2845, i16 2887, i16 3020, i16 3134, i16 3188, i16 3102, i16 1847, i16 2733, i16 2758, i16 1560, i16 1535, i16 824, i16 1822, i16 0, i16 0, i16 2816, i16 2380, i16 0, i16 1228, i16 0, i16 2366, i16 2378, i16 1968, i16 1599, i16 2042, i16 1318, i16 1338, i16 1569, i16 300, i16 0, i16 2873, i16 2320, i16 0, i16 2893, i16 1706, i16 0, i16 1916, i16 0, i16 3129, i16 590, i16 0, i16 0, i16 2836, i16 0, i16 37, i16 0, i16 0, i16 0, i16 551, i16 3155, i16 3177, i16 1951, i16 1056, i16 1855, i16 3247, i16 562, i16 3208, i16 3294, i16 862, i16 0, i16 3055, i16 1453, i16 1626, i16 296, i16 1871, i16 0, i16 1069, i16 0, i16 1767, i16 1776, i16 58, i16 2992, i16 611, i16 2607, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1941, i16 2347, i16 1813, i16 0, i16 2203, i16 1148, i16 0, i16 0, i16 1667, i16 0, i16 0, i16 162, i16 108, i16 0, i16 1211, i16 1063, i16 83, i16 2249, i16 0, i16 1288, i16 832, i16 0, i16 826, i16 88, i16 1434, i16 0, i16 0, i16 0, i16 2087, i16 2773, i16 1852, i16 1921, i16 2220, i16 0, i16 2627, i16 1333, i16 1120, i16 1902, i16 0, i16 1079, i16 1073, i16 305, i16 0, i16 3074, i16 2755, i16 2628, i16 2244, i16 547, i16 0, i16 527, i16 0, i16 428, i16 0, i16 0, i16 3130, i16 3158, i16 3180, i16 3200, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1601, i16 2058, i16 1332, i16 0, i16 0, i16 242, i16 0, i16 0, i16 0, i16 0, i16 3335, i16 374, i16 1877, i16 2903, i16 2726, i16 0, i16 2131, i16 325, i16 1807, i16 378, i16 1606, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 429, i16 172, i16 201, i16 0, i16 585, i16 0, i16 0, i16 2913, i16 351, i16 698, i16 2264, i16 2187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1104, i16 1114, i16 2003, i16 2029, i16 2056, i16 2083, i16 2103, i16 2120, i16 2145, i16 2173, i16 2195, i16 2228, i16 2256, i16 2277, i16 2302, i16 2328, i16 2346, i16 2363, i16 2388, i16 2408, i16 2429, i16 2454, i16 2472, i16 1406, i16 2507, i16 2533, i16 2553, i16 2578, i16 2601, i16 2623, i16 2640, i16 2667, i16 597, i16 0, i16 0, i16 1363, i16 0, i16 0, i16 0, i16 244, i16 474, i16 0, i16 0, i16 0, i16 229, i16 0, i16 481, i16 0, i16 0, i16 2531, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2275, i16 0, i16 0, i16 2357, i16 548, i16 0, i16 1670, i16 701, i16 2901, i16 3404, i16 0, i16 1067, i16 2008, i16 2577, i16 1844, i16 1659, i16 2564, i16 0, i16 2905, i16 3220, i16 442, i16 0, i16 1407, i16 0, i16 1416, i16 0, i16 1663, i16 1036, i16 0, i16 0, i16 2548, i16 3088, i16 0, i16 473, i16 0, i16 2486, i16 2659, i16 3143, i16 0, i16 1861, i16 1881, i16 0, i16 629, i16 840, i16 2519, i16 3068, i16 2012, i16 0, i16 0, i16 2149, i16 1739, i16 3303, i16 949, i16 577, i16 725, i16 658, i16 146, i16 67, i16 2916, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 945, i16 0, i16 0, i16 505, i16 469, i16 3166, i16 3209, i16 1883, i16 0, i16 0, i16 0, i16 1540, i16 0, i16 3332, i16 3072, i16 2593, i16 1610, i16 1257, i16 0, i16 0, i16 578, i16 0, i16 2394, i16 1766, i16 959, i16 1218, i16 0, i16 0, i16 0, i16 632, i16 0, i16 623, i16 1068, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 348, i16 1624, i16 1315, i16 0, i16 878, i16 3095, i16 116, i16 2426, i16 0, i16 737, i16 1466, i16 13, i16 212, i16 0, i16 3315, i16 831, i16 0, i16 2670, i16 1635, i16 1612, i16 0, i16 0, i16 0, i16 1357, i16 709, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1630, i16 2934, i16 488, i16 157, i16 1327, i16 2054, i16 2407, i16 450, i16 0, i16 981, i16 1135, i16 0, i16 1918, i16 1189, i16 729, i16 2427, i16 0, i16 0, i16 2739, i16 3291, i16 0, i16 675, i16 1834, i16 0, i16 1080, i16 589, i16 1415, i16 2537, i16 2406, i16 119, i16 1393, i16 2387, i16 2910, i16 1897, i16 0, i16 1310, i16 1690, i16 0, i16 2988, i16 0, i16 0, i16 0, i16 0, i16 3322, i16 1048, i16 1399, i16 0, i16 1023, i16 0, i16 1361, i16 1617, i16 375, i16 1699, i16 1778, i16 914, i16 1033, i16 0, i16 1334, i16 0, i16 1279, i16 0, i16 0, i16 1952, i16 210, i16 354, i16 0, i16 1738, i16 2881, i16 2283, i16 0, i16 2451, i16 861, i16 3006, i16 0, i16 2800, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1313, i16 1417, i16 2287, i16 1703, i16 2137, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 866, i16 622, i16 1316, i16 1408, i16 1820, i16 898, i16 1728, i16 2600, i16 1320, i16 2332, i16 2813, i16 2630, i16 0, i16 0, i16 427, i16 0, i16 69, i16 459, i16 3043, i16 445, i16 0, i16 1640, i16 706, i16 3050, i16 0, i16 1658, i16 0, i16 0, i16 0, i16 2288, i16 3051, i16 0, i16 1638, i16 402, i16 0, i16 2886, i16 1350, i16 74, i16 0, i16 0, i16 105, i16 266, i16 1214, i16 0, i16 0, i16 0, i16 723, i16 2198, i16 1895, i16 1356, i16 893, i16 535, i16 2248, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2209, i16 3391, i16 0, i16 1254, i16 72, i16 0, i16 2918, i16 3376, i16 2631, i16 1889, i16 2329, i16 2112, i16 2967, i16 0, i16 2831, i16 0, i16 433, i16 2626, i16 2664, i16 1403, i16 1604, i16 0, i16 656, i16 2227, i16 0, i16 0, i16 3181, i16 0, i16 0, i16 933, i16 1146, i16 750, i16 2439, i16 503, i16 1715, i16 885, i16 1784, i16 432, i16 2153, i16 2176, i16 2206, i16 2237, i16 2265, i16 2284, i16 2308, i16 2121, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3054, i16 3082, i16 3103, i16 3126, i16 3151, i16 3171, i16 3193, i16 36, i16 877, i16 0, i16 758, i16 0, i16 1301, i16 147, i16 1262, i16 1072, i16 1616, i16 0, i16 0, i16 0, i16 0, i16 1774, i16 2051, i16 1567, i16 0, i16 2435, i16 2483, i16 0, i16 905, i16 0, i16 2397, i16 256, i16 1851, i16 0, i16 303, i16 0, i16 0, i16 0, i16 0, i16 0, i16 882, i16 0, i16 0, i16 0, i16 1094, i16 1733, i16 1409, i16 0, i16 0, i16 464, i16 0, i16 1880, i16 707, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1243, i16 1963, i16 767, i16 0, i16 0, i16 0, i16 992, i16 0, i16 1571, i16 3334, i16 0, i16 1719, i16 3036, i16 0, i16 2676, i16 624, i16 728, i16 1261, i16 798, i16 1493, i16 0, i16 0, i16 2702, i16 1526, i16 746, i16 3183, i16 0, i16 1046, i16 0, i16 1462, i16 0, i16 2576, i16 1293, i16 3333, i16 0, i16 0, i16 0, i16 3324, i16 1549, i16 0, i16 0, i16 0, i16 2681, i16 1041, i16 2798, i16 1516, i16 1143, i16 1949, i16 1598, i16 390, i16 1236, i16 1448, i16 2829, i16 2432, i16 298, i16 304, i16 2980, i16 336, i16 0, i16 284, i16 0, i16 533, i16 0, i16 0, i16 0, i16 2741, i16 3407, i16 0, i16 2760, i16 1224, i16 100, i16 0, i16 151, i16 0, i16 2885, i16 0, i16 3272, i16 3398, i16 2167, i16 0, i16 0, i16 2175, i16 2184, i16 2196, i16 2191, i16 2205, i16 2307, i16 2222, i16 2322, i16 2214, i16 2343, i16 2229, i16 2348, i16 2236, i16 2490, i16 2508, i16 2534, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 376, i16 3202, i16 1158, i16 0, i16 0, i16 712, i16 1994, i16 906, i16 0, i16 0, i16 0, i16 751, i16 692, i16 1372, i16 936, i16 2146, i16 1829, i16 1474, i16 357, i16 1618, i16 930, i16 2381, i16 2392, i16 0, i16 0, i16 0, i16 46, i16 3256, i16 0, i16 0, i16 0, i16 0, i16 2425, i16 519, i16 0, i16 2466, i16 3340, i16 0, i16 0, i16 0, i16 0, i16 2559, i16 3233, i16 2995, i16 281, i16 0, i16 2685, i16 1680, i16 3175, i16 2402, i16 2752, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1770, i16 1105, i16 3059, i16 1340, i16 801, i16 0, i16 521, i16 0, i16 2170, i16 0, i16 0, i16 1154, i16 0, i16 0, i16 1583, i16 22, i16 2652, i16 3211, i16 0, i16 0, i16 0, i16 0, i16 361, i16 0, i16 928, i16 0, i16 0, i16 3089, i16 557, i16 815, i16 0, i16 0, i16 1325, i16 2950, i16 1110, i16 2310, i16 2113, i16 0, i16 2115, i16 2330, i16 635, i16 2418, i16 967, i16 0, i16 230, i16 666, i16 1709, i16 0, i16 0, i16 1456, i16 2370, i16 3060, i16 0, i16 0, i16 1392, i16 851, i16 342, i16 805, i16 1854, i16 0, i16 2433, i16 3281, i16 1787, i16 2535, i16 0, i16 576, i16 2700, i16 1987, i16 0, i16 0, i16 2549, i16 407, i16 2174, i16 2957, i16 0, i16 0, i16 0, i16 0, i16 1993, i16 1413, i16 175, i16 0, i16 912, i16 2161, i16 0, i16 976, i16 2039, i16 649, i16 0, i16 1239, i16 2979, i16 1111, i16 1849, i16 1078, i16 0, i16 662, i16 668, i16 964, i16 0, i16 3314, i16 595, i16 3120, i16 3152, i16 592, i16 2687, i16 0, i16 2804, i16 2828, i16 2847, i16 2796, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1465, i16 2612, i16 2633, i16 2655, i16 2675, i16 2699, i16 2724, i16 2747, i16 2774, i16 2799, i16 2821, i16 2840, i16 2864, i16 2882, i16 2899, i16 2925, i16 641, i16 781, i16 0, i16 1996, i16 1613, i16 856, i16 1929, i16 1924, i16 0, i16 1781, i16 240, i16 1192, i16 35, i16 787, i16 3197, i16 1593, i16 3081, i16 2927, i16 0, i16 2686, i16 0, i16 1235, i16 0, i16 104, i16 1505, i16 0, i16 0, i16 0, i16 579, i16 3412, i16 2998, i16 1990, i16 2945, i16 2975, i16 2994, i16 3015, i16 3035, i16 0, i16 0, i16 0, i16 1742, i16 3070, i16 3093, i16 3116, i16 3137, i16 3162, i16 3186, i16 3203, i16 3226, i16 3250, i16 3270, i16 3298, i16 3320, i16 3345, i16 3366, i16 3390, i16 3411, i16 1976, i16 1998, i16 2025, i16 2049, i16 2075, i16 0, i16 0, i16 142, i16 0, i16 1213, i16 0, i16 560, i16 1166, i16 3001, i16 290, i16 0, i16 1536, i16 0, i16 633, i16 1309, i16 0, i16 1856, i16 1026, i16 0, i16 0, i16 591, i16 0, i16 0, i16 773, i16 0, i16 571, i16 2590, i16 110, i16 0, i16 0, i16 0, i16 0, i16 41, i16 621, i16 3218, i16 312, i16 3150, i16 431, i16 1894, i16 0, i16 963, i16 1790, i16 2952, i16 1558, i16 3199, i16 3142, i16 0, i16 2889, i16 0, i16 2761, i16 0, i16 0, i16 0, i16 0, i16 892, i16 0, i16 0, i16 0, i16 2869, i16 2877, i16 955, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1688, i16 313, i16 1710, i16 0, i16 1647, i16 0, i16 0, i16 0, i16 0, i16 0, i16 150, i16 383, i16 0, i16 0, i16 957, i16 1268, i16 0, i16 0, i16 1199, i16 3255, i16 2586, i16 1183, i16 0, i16 0, i16 0, i16 405, i16 2764, i16 818, i16 543, i16 293, i16 1017, i16 4, i16 3225, i16 0, i16 1984, i16 0, i16 0, i16 0, i16 3091, i16 2000, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 639, i16 0, i16 1428, i16 0, i16 444, i16 0, i16 718, i16 2251, i16 0, i16 0, i16 2306, i16 2181, i16 0, i16 2458, i16 0, i16 3083, i16 99, i16 0, i16 0, i16 479, i16 2260, i16 3064, i16 0, i16 3343, i16 0, i16 103, i16 1210, i16 727, i16 1469, i16 3339, i16 582, i16 0, i16 1956, i16 0, i16 0, i16 2223, i16 63, i16 203, i16 1208, i16 2141, i16 1238, i16 344, i16 2415, i16 796, i16 3323, i16 1692, i16 3117, i16 0, i16 0, i16 1653, i16 1175, i16 2446, i16 448, i16 327, i16 1928, i16 2706, i16 2713, i16 2826, i16 421, i16 2832, i16 0, i16 0, i16 113, i16 0, i16 2108, i16 1607, i16 2217, i16 1839, i16 2023, i16 679, i16 1275, i16 766, i16 252, i16 2789, i16 1391, i16 2872, i16 274, i16 1438, i16 0, i16 0, i16 1396, i16 1625, i16 0, i16 0, i16 0, i16 0, i16 561, i16 616, i16 790, i16 1691, i16 0, i16 1628, i16 1443, i16 3221, i16 0, i16 1700, i16 0, i16 1495, i16 1353, i16 2437, i16 59, i16 0, i16 2539, i16 1940, i16 0, i16 0, i16 0, i16 254, i16 0, i16 1439, i16 988, i16 369, i16 102, i16 195, i16 682, i16 0, i16 0, i16 1765, i16 0, i16 1704, i16 0, i16 704, i16 0, i16 554, i16 1222, i16 2784, i16 0, i16 0, i16 0, i16 559, i16 0, i16 0, i16 0, i16 302, i16 0, i16 0, i16 0, i16 0, i16 3284, i16 3234, i16 0, i16 2463, i16 3071, i16 1802, i16 1232, i16 0, i16 264, i16 0, i16 2868, i16 908, i16 0, i16 0, i16 0, i16 178, i16 0, i16 228, i16 0, i16 871, i16 0, i16 0, i16 0, i16 257, i16 0, i16 673, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 952, i16 416, i16 0, i16 419, i16 1936, i16 1503, i16 0, i16 319, i16 0, i16 0, i16 3342, i16 0, i16 0, i16 3174, i16 735, i16 39, i16 0, i16 1062, i16 573, i16 1594, i16 1168, i16 0, i16 962, i16 1441, i16 1173, i16 3084, i16 864, i16 0, i16 1970, i16 227, i16 3114, i16 0, i16 0, i16 1753, i16 1761, i16 1194, i16 0, i16 0, i16 0, i16 2094, i16 2122, i16 2154, i16 2177, i16 2207, i16 2238, i16 2266, i16 2285, i16 2309, i16 2335, i16 2355, i16 2376, i16 2396, i16 2417, i16 2442, i16 2468, i16 1292, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1451, i16 2589, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1401, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2475, i16 1869, i16 0, i16 0, i16 1317, i16 1059, i16 2777, i16 2728, i16 0, i16 0, i16 0, i16 0, i16 417, i16 1081, i16 1911, i16 0, i16 0, i16 0, i16 0, i16 3307, i16 1038, i16 0, i16 0, i16 0, i16 0, i16 2099, i16 575, i16 0, i16 0, i16 0, i16 2896, i16 2637, i16 3243, i16 0, i16 1141, i16 123, i16 1498, i16 1988, i16 2513, i16 0, i16 55, i16 2772, i16 2356, i16 1373, i16 1605, i16 0, i16 287, i16 3052, i16 0, i16 355, i16 765, i16 0, i16 0, i16 2781, i16 0, i16 2797, i16 1573, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 941, i16 1909, i16 2552, i16 0, i16 0, i16 0, i16 2276, i16 0, i16 38, i16 0, i16 1874, i16 50, i16 0, i16 0, i16 1380, i16 684, i16 0, i16 0, i16 411, i16 755, i16 1983, i16 2613, i16 0, i16 0, i16 0, i16 1478, i16 137, i16 0, i16 2544, i16 0, i16 2219, i16 332, i16 1455, i16 3350, i16 2325, i16 1294, i16 1946, i16 1028, i16 2062, i16 1445, i16 0, i16 0, i16 0, i16 797, i16 0, i16 1395, i16 0, i16 441, i16 499, i16 2823, i16 1890, i16 495, i16 1490, i16 3148, i16 1071, i16 1716, i16 3295, i16 0, i16 0, i16 937, i16 1797, i16 1246, i16 3205, i16 0, i16 946, i16 0, i16 2731, i16 0, i16 285, i16 0, i16 0, i16 0, i16 2459, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 384, i16 204, i16 2735, i16 716, i16 0, i16 0, i16 0, i16 153, i16 3347, i16 0, i16 0, i16 0, i16 2489, i16 2482, i16 1419, i16 2703, i16 2226, i16 1471, i16 0, i16 1418, i16 951, i16 0, i16 0, i16 0, i16 0, i16 232, i16 0, i16 0, i16 3326, i16 0, i16 0, i16 1470, i16 0, i16 0, i16 494, i16 0, i16 107, i16 2409, i16 1769, i16 1058, i16 3261, i16 0, i16 3147, i16 1285, i16 0, i16 1351, i16 3362, i16 0, i16 1204, i16 695, i16 0, i16 360, i16 1539, i16 2634, i16 0, i16 0, i16 2250, i16 0, i16 95, i16 3034, i16 1815, i16 0, i16 2993, i16 52, i16 1722, i16 0, i16 0, i16 0, i16 1276, i16 3172, i16 2199, i16 808, i16 786, i16 2361, i16 0, i16 1458, i16 2215, i16 0, i16 483, i16 3230, i16 1206, i16 2183, i16 2213, i16 2245, i16 2268, i16 2289, i16 2315, i16 2339, i16 2354, i16 2375, i16 2395, i16 2416, i16 2441, i16 2467, i16 2477, i16 2753, i16 2517, i16 2547, i16 2566, i16 2587, i16 2611, i16 2632, i16 2654, i16 2674, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 439, i16 2127, i16 2746, i16 3195, i16 2974, i16 0, i16 9, i16 1157, i16 1986, i16 1055, i16 1178, i16 0, i16 436, i16 0, i16 3388, i16 3048, i16 654, i16 0, i16 3058, i16 0, i16 1545, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2515, i16 0, i16 1221, i16 1099, i16 187, i16 2092, i16 1463, i16 2647, i16 2803, i16 0, i16 0, i16 0, i16 0, i16 1031, i16 2658, i16 0, i16 1836, i16 0, i16 0, i16 47, i16 2879, i16 3019, i16 2166, i16 0, i16 0, i16 1843, i16 0, i16 0, i16 398, i16 0, i16 1848, i16 874, i16 297, i16 0, i16 0, i16 0, i16 1686, i16 613, i16 3002, i16 2931, i16 2867, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2754, i16 2503, i16 2391, i16 3065, i16 3110, i16 3138, i16 3163, i16 3190, i16 3229, i16 3288, i16 3338, i16 3357, i16 2036, i16 2070, i16 2097, i16 2129, i16 2156, i16 2186, i16 2247, i16 2274, i16 2298, i16 2344, i16 2365, i16 2019, i16 2801, i16 2684, i16 2405, i16 3341, i16 3027, i16 3348, i16 3422, i16 2091, i16 1485, i16 0, i16 3010, i16 902, i16 0, i16 0, i16 1948, i16 0, i16 0, i16 0, i16 309, i16 0, i16 3418, i16 484, i16 0, i16 0, i16 2567, i16 1944, i16 0, i16 1724, i16 0, i16 1777, i16 492, i16 81, i16 688, i16 1714, i16 1499, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2770, i16 3075, i16 1804, i16 0, i16 1227, i16 1751, i16 2936, i16 0, i16 0, i16 0, i16 121, i16 0, i16 1180, i16 1364, i16 1322, i16 3112, i16 588, i16 347, i16 1982, i16 2162, i16 2938, i16 2304, i16 3215, i16 2528, i16 0, i16 0, i16 0, i16 2814, i16 1442, i16 71, i16 0, i16 593, i16 2775, i16 2240, i16 1741, i16 0, i16 0, i16 0, i16 2692, i16 1966, i16 0, i16 379, i16 1102, i16 3000, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1745, i16 0, i16 0, i16 0, i16 3161, i16 1057, i16 2683, i16 222, i16 2338, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1749, i16 2524, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2334, i16 2349, i16 2368, i16 2390, i16 2411, i16 2434, i16 2461, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3214, i16 3242, i16 3260, i16 3283, i16 3308, i16 3330, i16 3352, i16 0, i16 0, i16 0, i16 0, i16 0, i16 989, i16 982, i16 0, i16 0, i16 0, i16 0, i16 1938, i16 0, i16 0, i16 1681, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 991, i16 0, i16 730, i16 2911, i16 0, i16 0, i16 0, i16 1899, i16 2028, i16 185, i16 2512, i16 2569, i16 2673, i16 2267, i16 2806, i16 2941, i16 2540, i16 2923, i16 2086, i16 0, i16 1892, i16 0, i16 903, i16 2920, i16 2592, i16 2751, i16 1093, i16 1708, i16 0, i16 3005, i16 19, i16 3356, i16 2527, i16 216, i16 2619, i16 2188, i16 2557, i16 627, i16 748, i16 135, i16 1344, i16 0, i16 872, i16 1018, i16 2790, i16 2776, i16 0, i16 669, i16 2721, i16 73, i16 2139, i16 1278, i16 188, i16 0, i16 2662, i16 0, i16 0, i16 0, i16 0, i16 550, i16 1484, i16 1083, i16 1303, i16 3238, i16 2783, i16 2805, i16 2688, i16 2891, i16 2839, i16 2863, i16 2572, i16 2624, i16 2641, i16 2588, i16 2709, i16 2944, i16 2718, i16 2740, i16 2768, i16 2820, i16 2871, i16 2579, i16 2698, i16 215, i16 2959, i16 844, i16 2151, i16 2984, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2272, i16 0, i16 2155, i16 2445, i16 371, i16 1070, i16 2953, i16 1633, i16 389, i16 1272, i16 691, i16 1365, i16 1759, i16 2857, i16 1045, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2902, i16 2263, i16 170, i16 855, i16 3113, i16 685, i16 1379, i16 1226, i16 2082, i16 1311, i16 1643, i16 0, i16 3040, i16 1768, i16 1995, i16 1623, i16 2088, i16 3022, i16 1425, i16 1170, i16 2282, i16 0, i16 0, i16 923, i16 1515, i16 1300, i16 3090, i16 2476, i16 1914, i16 289, i16 587, i16 1937, i16 2546, i16 2536, i16 1449, i16 2962, i16 3207, i16 0, i16 1519, i16 1259, i16 968, i16 1590, i16 2371, i16 3066, i16 1249, i16 173, i16 759, i16 1945, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 526, i16 2096, i16 0, i16 0, i16 0, i16 0, i16 3367, i16 0, i16 541, i16 2231, i16 954, i16 0, i16 0, i16 237, i16 0, i16 0, i16 430, i16 0, i16 0, i16 0, i16 2081, i16 726, i16 2020, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 939, i16 23, i16 0, i16 3109, i16 0, i16 0, i16 0, i16 0, i16 3252, i16 2599, i16 0, i16 965, i16 2221, i16 420, i16 1386, i16 0, i16 1734, i16 0, i16 1824, i16 0, i16 0, i16 0, i16 1969, i16 2259, i16 1509, i16 0, i16 1580, i16 1887, i16 2712, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 194, i16 0, i16 2134, i16 2568, i16 2649, i16 226, i16 663, i16 2048, i16 1862, i16 2460, i16 1400, i16 1299, i16 3369, i16 0, i16 0, i16 1867, i16 465, i16 2620, i16 916, i16 771, i16 940, i16 233, i16 0, i16 3132, i16 2132, i16 720, i16 1020, i16 2050, i16 0, i16 2316, i16 1723, i16 3351, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2246, i16 2032, i16 0, i16 326, i16 3387, i16 714, i16 475, i16 0, i16 1673, i16 0, i16 0, i16 1743, i16 0, i16 3145, i16 0, i16 0, i16 1258, i16 1240, i16 1830, i16 0, i16 70, i16 0, i16 163, i16 0, i16 2817, i16 1230, i16 2481, i16 2253, i16 2880, i16 2551, i16 2701, i16 115, i16 2851, i16 2292, i16 434, i16 0, i16 0, i16 1420, i16 1152, i16 2150, i16 3201, i16 2498, i16 3224, i16 77, i16 0, i16 0, i16 0, i16 690, i16 2538, i16 1903, i16 1901, i16 2812, i16 3396, i16 1959, i16 3023, i16 0, i16 0, i16 0, i16 0, i16 1671, i16 258, i16 1060, i16 0, i16 1587, i16 191, i16 775, i16 935, i16 0, i16 0, i16 743, i16 2615, i16 1010, i16 0, i16 0, i16 0, i16 181, i16 3300, i16 372, i16 0, i16 1689, i16 749, i16 1695, i16 0, i16 2542, i16 2359, i16 418, i16 1730, i16 2771, i16 1735, i16 2470, i16 453, i16 2352, i16 2608, i16 143, i16 1337, i16 2160, i16 1339, i16 1352, i16 78, i16 3124, i16 983, i16 249, i16 0, i16 0, i16 3087, i16 1757, i16 2997, i16 2038, i16 1472, i16 2837, i16 619, i16 3414, i16 3053, i16 79, i16 2061, i16 1885, i16 1132, i16 2055, i16 3118, i16 604, i16 0, i16 0, i16 0, i16 1608, i16 744, i16 0, i16 2560, i16 0, i16 980, i16 1785, i16 301, i16 1489, i16 0, i16 853, i16 2293, i16 1792, i16 0, i16 0, i16 98, i16 1805, i16 456, i16 997, i16 0, i16 849, i16 1011, i16 821, i16 518, i16 0, i16 0, i16 605, i16 630, i16 0, i16 0, i16 0, i16 0, i16 1185, i16 0, i16 0, i16 0, i16 7, i16 0, i16 0, i16 0, i16 609, i16 2570, i16 2946, i16 345, i16 2856, i16 0, i16 415, i16 0, i16 0, i16 0, i16 0, i16 1360, i16 0, i16 2035, i16 1771, i16 2525, i16 0, i16 0, i16 0, i16 0, i16 846, i16 1720, i16 3361, i16 648, i16 132, i16 2252, i16 2080, i16 506, i16 0, i16 0, i16 0, i16 860, i16 214, i16 1522, i16 2819, i16 2671, i16 1051, i16 1551, i16 3107, i16 0, i16 0, i16 0, i16 1806, i16 1286, i16 2745, i16 1782, i16 870, i16 2022, i16 1935, i16 0, i16 1669, i16 809, i16 130, i16 0, i16 299, i16 0, i16 0, i16 2707, i16 2410, i16 0, i16 2602, i16 762, i16 3290, i16 3265, i16 2717, i16 85, i16 1597, i16 2341, i16 1763, i16 612, i16 2140, i16 2694, i16 664, i16 3299, i16 1042, i16 0, i16 1486, i16 1786, i16 2047, i16 2827, i16 1464, i16 3012, i16 2190, i16 0, i16 0, i16 196, i16 2942, i16 0, i16 837, i16 1586, i16 0, i16 1461, i16 710, i16 3077, i16 0, i16 996, i16 0, i16 0, i16 1237, i16 917, i16 457, i16 2194, i16 2954, i16 1220, i16 2780, i16 1444, i16 0, i16 0, i16 676, i16 1788, i16 0, i16 0, i16 971, i16 0, i16 652, i16 0, i16 0, i16 0, i16 0, i16 678, i16 2261, i16 0, i16 0, i16 674, i16 816, i16 2843, i16 286, i16 2900, i16 0, i16 2861, i16 563, i16 567, i16 2255, i16 2850, i16 1872, i16 2321, i16 1947, i16 0, i16 0, i16 854, i16 282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 14592, i16 0, i16 0, i16 0, i16 15360, i16 0, i16 0, i16 0, i16 13825, i16 0, i16 0, i16 0, i16 14338, i16 0, i16 0, i16 0, i16 14595, i16 0, i16 0, i16 0, i16 15620, i16 0, i16 0, i16 0, i16 13317, i16 0, i16 0, i16 0, i16 774, i16 0, i16 0, i16 0, i16 12806, i16 0, i16 0, i16 0, i16 15110, i16 0, i16 0, i16 0, i16 16903, i16 0, i16 0, i16 0, i16 13320, i16 0, i16 0, i16 0, i16 16136, i16 0, i16 0, i16 0, i16 15625, i16 0, i16 0, i16 0, i16 778, i16 0, i16 0, i16 0, i16 13578, i16 0, i16 0, i16 0, i16 14859, i16 0, i16 0, i16 0, i16 12556, i16 0, i16 0, i16 0, i16 14092, i16 0, i16 0, i16 0, i16 16652, i16 0, i16 0, i16 0, i16 12302, i16 0, i16 0, i16 0, i16 15118, i16 0, i16 0, i16 0, i16 17166, i16 0, i16 0, i16 0, i16 12559, i16 0, i16 0, i16 0, i16 12815, i16 0, i16 0, i16 0, i16 12304, i16 0, i16 0, i16 0, i16 14353, i16 0, i16 0, i16 0, i16 16913, i16 0, i16 0, i16 0, i16 14354, i16 0, i16 0, i16 0, i16 14355, i16 0, i16 0, i16 0, i16 16659, i16 0, i16 0, i16 0, i16 13844, i16 0, i16 0, i16 0, i16 13590, i16 0, i16 0, i16 0, i16 13591, i16 0, i16 0, i16 0, i16 15639, i16 0, i16 0, i16 0, i16 280, i16 0, i16 0, i16 0, i16 13336, i16 0, i16 0, i16 0, i16 14616, i16 0, i16 0, i16 0, i16 14105, i16 0, i16 0, i16 0, i16 13594, i16 0, i16 0, i16 0, i16 12571, i16 0, i16 0, i16 0, i16 13340, i16 0, i16 0, i16 0, i16 14620, i16 0, i16 0, i16 0, i16 14365, i16 0, i16 0, i16 0, i16 13854, i16 0, i16 0, i16 0, i16 16926, i16 0, i16 0, i16 0, i16 12831, i16 0, i16 0, i16 0, i16 14623, i16 0, i16 0, i16 0, i16 16415, i16 0, i16 0, i16 0, i16 16671, i16 0, i16 0, i16 0, i16 12576, i16 0, i16 0, i16 0, i16 15648, i16 0, i16 0, i16 0, i16 16928, i16 0, i16 0, i16 0, i16 12833, i16 0, i16 0, i16 0, i16 12322, i16 0, i16 0, i16 0, i16 13346, i16 0, i16 0, i16 0, i16 14370, i16 0, i16 0, i16 0, i16 16418, i16 0, i16 0, i16 0, i16 15907, i16 0, i16 0, i16 0, i16 14631, i16 0, i16 0, i16 0, i16 14632, i16 0, i16 0, i16 0, i16 15400, i16 0, i16 0, i16 0, i16 15656, i16 0, i16 0, i16 0, i16 13353, i16 0, i16 0, i16 0, i16 13609, i16 0, i16 0, i16 0, i16 15145, i16 0, i16 0, i16 0, i16 12330, i16 0, i16 0, i16 0, i16 12587, i16 0, i16 0, i16 0, i16 14891, i16 0, i16 0, i16 0, i16 15147, i16 0, i16 0, i16 0, i16 12588, i16 0, i16 0, i16 0, i16 13868, i16 0, i16 0, i16 0, i16 14381, i16 0, i16 0, i16 0, i16 15149, i16 0, i16 0, i16 0, i16 12334, i16 0, i16 0, i16 0, i16 16430, i16 0, i16 0, i16 0, i16 13359, i16 0, i16 0, i16 0, i16 14383, i16 0, i16 0, i16 0, i16 13616, i16 0, i16 0, i16 0, i16 15664, i16 0, i16 0, i16 0, i16 16432, i16 0, i16 0, i16 0, i16 12593, i16 0, i16 0, i16 0, i16 16945, i16 0, i16 0, i16 0, i16 15666, i16 0, i16 0, i16 0, i16 16690, i16 0, i16 0, i16 0, i16 15923, i16 0, i16 0, i16 0, i16 12340, i16 0, i16 0, i16 0, i16 14388, i16 0, i16 0, i16 0, i16 15924, i16 0, i16 0, i16 0, i16 12853, i16 0, i16 0, i16 0, i16 13112, i16 0, i16 0, i16 0, i16 15928, i16 0, i16 0, i16 0, i16 15929, i16 0, i16 0, i16 0, i16 16185, i16 0, i16 0, i16 0, i16 13626, i16 0, i16 0, i16 0, i16 13882, i16 0, i16 0, i16 0, i16 15930, i16 0, i16 0, i16 0, i16 12347, i16 0, i16 0, i16 0, i16 12603, i16 0, i16 0, i16 0, i16 13627, i16 0, i16 0, i16 0, i16 15675, i16 0, i16 0, i16 0, i16 12860, i16 0, i16 0, i16 0, i16 14396, i16 0, i16 0, i16 0, i16 16444, i16 0, i16 0, i16 0, i16 12351, i16 0, i16 0, i16 0, i16 13631, i16 0, i16 0, i16 0, i16 16703, i16 0, i16 0, i16 0, i16 12353, i16 0, i16 0, i16 0, i16 12865, i16 0, i16 0, i16 0, i16 13377, i16 0, i16 0, i16 0, i16 14145, i16 0, i16 0, i16 0, i16 15425, i16 0, i16 0, i16 0, i16 12866, i16 0, i16 0, i16 0, i16 13634, i16 0, i16 0, i16 0, i16 16962, i16 0, i16 0, i16 0, i16 13380, i16 0, i16 0, i16 0, i16 14916, i16 0, i16 0, i16 0, i16 13125, i16 0, i16 0, i16 0, i16 13893, i16 0, i16 0, i16 0, i16 15429, i16 0, i16 0, i16 0, i16 16709, i16 0, i16 0, i16 0, i16 13638, i16 0, i16 0, i16 0, i16 15430, i16 0, i16 0, i16 0, i16 15686, i16 0, i16 0, i16 0, i16 16966, i16 0, i16 0, i16 0, i16 13383, i16 0, i16 0, i16 0, i16 16455, i16 0, i16 0, i16 0, i16 16456, i16 0, i16 0, i16 0, i16 16712, i16 0, i16 0, i16 0, i16 12361, i16 0, i16 0, i16 0, i16 12617, i16 0, i16 0, i16 0, i16 15177, i16 0, i16 0, i16 0, i16 12874, i16 0, i16 0, i16 0, i16 16970, i16 0, i16 0, i16 0, i16 12875, i16 0, i16 0, i16 0, i16 14412, i16 0, i16 0, i16 0, i16 15948, i16 0, i16 0, i16 0, i16 12621, i16 0, i16 0, i16 0, i16 13646, i16 0, i16 0, i16 0, i16 14414, i16 0, i16 0, i16 0, i16 12623, i16 0, i16 0, i16 0, i16 14159, i16 0, i16 0, i16 0, i16 13136, i16 0, i16 0, i16 0, i16 16464, i16 0, i16 0, i16 0, i16 16976, i16 0, i16 0, i16 0, i16 12882, i16 0, i16 0, i16 0, i16 15698, i16 0, i16 0, i16 0, i16 14419, i16 0, i16 0, i16 0, i16 12373, i16 0, i16 0, i16 0, i16 15957, i16 0, i16 0, i16 0, i16 16981, i16 0, i16 0, i16 0, i16 13398, i16 0, i16 0, i16 0, i16 14934, i16 0, i16 0, i16 0, i16 13400, i16 0, i16 0, i16 0, i16 13145, i16 0, i16 0, i16 0, i16 13402, i16 0, i16 0, i16 0, i16 14682, i16 0, i16 0, i16 0, i16 16730, i16 0, i16 0, i16 0, i16 16986, i16 0, i16 0, i16 0, i16 14939, i16 0, i16 0, i16 0, i16 13148, i16 0, i16 0, i16 0, i16 15708, i16 0, i16 0, i16 0, i16 16476, i16 0, i16 0, i16 0, i16 13149, i16 0, i16 0, i16 0, i16 14173, i16 0, i16 0, i16 0, i16 15453, i16 0, i16 0, i16 0, i16 15709, i16 0, i16 0, i16 0, i16 16733, i16 0, i16 0, i16 0, i16 14174, i16 0, i16 0, i16 0, i16 15710, i16 0, i16 0, i16 0, i16 12383, i16 0, i16 0, i16 0, i16 16735, i16 0, i16 0, i16 0, i16 15712, i16 0, i16 0, i16 0, i16 12641, i16 0, i16 0, i16 0, i16 13409, i16 0, i16 0, i16 0, i16 16226, i16 0, i16 0, i16 0, i16 13923, i16 0, i16 0, i16 0, i16 14179, i16 0, i16 0, i16 0, i16 16483, i16 0, i16 0, i16 0, i16 15716, i16 0, i16 0, i16 0, i16 13414, i16 0, i16 0, i16 0, i16 615, i16 0, i16 0, i16 0, i16 871, i16 0, i16 0, i16 0, i16 12906, i16 0, i16 0, i16 0, i16 14186, i16 0, i16 0, i16 0, i16 14442, i16 0, i16 0, i16 0, i16 14698, i16 0, i16 0, i16 0, i16 16490, i16 0, i16 0, i16 0, i16 12651, i16 0, i16 0, i16 0, i16 13675, i16 0, i16 0, i16 0, i16 13164, i16 0, i16 0, i16 0, i16 13420, i16 0, i16 0, i16 0, i16 15980, i16 0, i16 0, i16 0, i16 13935, i16 0, i16 0, i16 0, i16 13680, i16 0, i16 0, i16 0, i16 16752, i16 0, i16 0, i16 0, i16 13938, i16 0, i16 0, i16 0, i16 15475, i16 0, i16 0, i16 0, i16 15731, i16 0, i16 0, i16 0, i16 12660, i16 0, i16 0, i16 0, i16 15732, i16 0, i16 0, i16 0, i16 14453, i16 0, i16 0, i16 0, i16 14709, i16 0, i16 0, i16 0, i16 15221, i16 0, i16 0, i16 0, i16 12406, i16 0, i16 0, i16 0, i16 13174, i16 0, i16 0, i16 0, i16 12919, i16 0, i16 0, i16 0, i16 16759, i16 0, i16 0, i16 0, i16 15480, i16 0, i16 0, i16 0, i16 14201, i16 0, i16 0, i16 0, i16 15737, i16 0, i16 0, i16 0, i16 15993, i16 0, i16 0, i16 0, i16 16250, i16 0, i16 0, i16 0, i16 12411, i16 0, i16 0, i16 0, i16 636, i16 0, i16 0, i16 0, i16 13180, i16 0, i16 0, i16 0, i16 14460, i16 0, i16 0, i16 0, i16 14716, i16 0, i16 0, i16 0, i16 14972, i16 0, i16 0, i16 0, i16 15228, i16 0, i16 0, i16 0, i16 12669, i16 0, i16 0, i16 0, i16 14205, i16 0, i16 0, i16 0, i16 16765, i16 0, i16 0, i16 0, i16 12926, i16 0, i16 0, i16 0, i16 15486, i16 0, i16 0, i16 0, i16 15742, i16 0, i16 0, i16 0, i16 14207, i16 0, i16 0, i16 0, i16 16767, i16 0, i16 0, i16 0, i16 13185, i16 0, i16 0, i16 0, i16 12931, i16 0, i16 0, i16 0, i16 13187, i16 0, i16 0, i16 0, i16 13699, i16 0, i16 0, i16 0, i16 14467, i16 0, i16 0, i16 0, i16 12421, i16 0, i16 0, i16 0, i16 13701, i16 0, i16 0, i16 0, i16 14725, i16 0, i16 0, i16 0, i16 14981, i16 0, i16 0, i16 0, i16 16261, i16 0, i16 0, i16 0, i16 13190, i16 0, i16 0, i16 0, i16 14214, i16 0, i16 0, i16 0, i16 16006, i16 0, i16 0, i16 0, i16 13703, i16 0, i16 0, i16 0, i16 12425, i16 0, i16 0, i16 0, i16 13705, i16 0, i16 0, i16 0, i16 14473, i16 0, i16 0, i16 0, i16 14985, i16 0, i16 0, i16 0, i16 13962, i16 0, i16 0, i16 0, i16 16266, i16 0, i16 0, i16 0, i16 12939, i16 0, i16 0, i16 0, i16 13453, i16 0, i16 0, i16 0, i16 14221, i16 0, i16 0, i16 0, i16 16013, i16 0, i16 0, i16 0, i16 17037, i16 0, i16 0, i16 0, i16 15503, i16 0, i16 0, i16 0, i16 14737, i16 0, i16 0, i16 0, i16 12946, i16 0, i16 0, i16 0, i16 13458, i16 0, i16 0, i16 0, i16 15506, i16 0, i16 0, i16 0, i16 17042, i16 0, i16 0, i16 0, i16 12435, i16 0, i16 0, i16 0, i16 16019, i16 0, i16 0, i16 0, i16 17043, i16 0, i16 0, i16 0, i16 12948, i16 0, i16 0, i16 0, i16 13972, i16 0, i16 0, i16 0, i16 16532, i16 0, i16 0, i16 0, i16 13975, i16 0, i16 0, i16 0, i16 15768, i16 0, i16 0, i16 0, i16 16793, i16 0, i16 0, i16 0, i16 13466, i16 0, i16 0, i16 0, i16 155, i16 0, i16 0, i16 0, i16 156, i16 0, i16 0, i16 0, i16 13469, i16 0, i16 0, i16 0, i16 16285, i16 0, i16 0, i16 0, i16 12958, i16 0, i16 0, i16 0, i16 13215, i16 0, i16 0, i16 0, i16 13727, i16 0, i16 0, i16 0, i16 14751, i16 0, i16 0, i16 0, i16 15263, i16 0, i16 0, i16 0, i16 15775, i16 0, i16 0, i16 0, i16 12704, i16 0, i16 0, i16 0, i16 16800, i16 0, i16 0, i16 0, i16 13473, i16 0, i16 0, i16 0, i16 14241, i16 0, i16 0, i16 0, i16 15521, i16 0, i16 0, i16 0, i16 16801, i16 0, i16 0, i16 0, i16 12962, i16 0, i16 0, i16 0, i16 15010, i16 0, i16 0, i16 0, i16 15778, i16 0, i16 0, i16 0, i16 15267, i16 0, i16 0, i16 0, i16 14500, i16 0, i16 0, i16 0, i16 165, i16 0, i16 0, i16 0, i16 15781, i16 0, i16 0, i16 0, i16 16293, i16 0, i16 0, i16 0, i16 166, i16 0, i16 0, i16 0, i16 17063, i16 0, i16 0, i16 0, i16 13736, i16 0, i16 0, i16 0, i16 16296, i16 0, i16 0, i16 0, i16 16808, i16 0, i16 0, i16 0, i16 12713, i16 0, i16 0, i16 0, i16 13993, i16 0, i16 0, i16 0, i16 16041, i16 0, i16 0, i16 0, i16 16810, i16 0, i16 0, i16 0, i16 17066, i16 0, i16 0, i16 0, i16 13483, i16 0, i16 0, i16 0, i16 13484, i16 0, i16 0, i16 0, i16 16300, i16 0, i16 0, i16 0, i16 13741, i16 0, i16 0, i16 0, i16 15277, i16 0, i16 0, i16 0, i16 12462, i16 0, i16 0, i16 0, i16 13999, i16 0, i16 0, i16 0, i16 16559, i16 0, i16 0, i16 0, i16 176, i16 0, i16 0, i16 0, i16 16048, i16 0, i16 0, i16 0, i16 13233, i16 0, i16 0, i16 0, i16 14769, i16 0, i16 0, i16 0, i16 16049, i16 0, i16 0, i16 0, i16 16305, i16 0, i16 0, i16 0, i16 13746, i16 0, i16 0, i16 0, i16 13747, i16 0, i16 0, i16 0, i16 180, i16 0, i16 0, i16 0, i16 13237, i16 0, i16 0, i16 0, i16 13749, i16 0, i16 0, i16 0, i16 14773, i16 0, i16 0, i16 0, i16 16309, i16 0, i16 0, i16 0, i16 16821, i16 0, i16 0, i16 0, i16 13750, i16 0, i16 0, i16 0, i16 14263, i16 0, i16 0, i16 0, i16 696, i16 0, i16 0, i16 0, i16 15544, i16 0, i16 0, i16 0, i16 16312, i16 0, i16 0, i16 0, i16 15290, i16 0, i16 0, i16 0, i16 16570, i16 0, i16 0, i16 0, i16 12475, i16 0, i16 0, i16 0, i16 13755, i16 0, i16 0, i16 0, i16 14779, i16 0, i16 0, i16 0, i16 15035, i16 0, i16 0, i16 0, i16 16828, i16 0, i16 0, i16 0, i16 15037, i16 0, i16 0, i16 0, i16 14526, i16 0, i16 0, i16 0, i16 15294, i16 0, i16 0, i16 0, i16 16832, i16 0, i16 0, i16 0, i16 15809, i16 0, i16 0, i16 0, i16 13506, i16 0, i16 0, i16 0, i16 16066, i16 0, i16 0, i16 0, i16 16834, i16 0, i16 0, i16 0, i16 12739, i16 0, i16 0, i16 0, i16 13763, i16 0, i16 0, i16 0, i16 12740, i16 0, i16 0, i16 0, i16 13764, i16 0, i16 0, i16 0, i16 16068, i16 0, i16 0, i16 0, i16 15045, i16 0, i16 0, i16 0, i16 15301, i16 0, i16 0, i16 0, i16 14278, i16 0, i16 0, i16 0, i16 12743, i16 0, i16 0, i16 0, i16 14791, i16 0, i16 0, i16 0, i16 17095, i16 0, i16 0, i16 0, i16 13768, i16 0, i16 0, i16 0, i16 15560, i16 0, i16 0, i16 0, i16 12745, i16 0, i16 0, i16 0, i16 13513, i16 0, i16 0, i16 0, i16 13514, i16 0, i16 0, i16 0, i16 13770, i16 0, i16 0, i16 0, i16 14027, i16 0, i16 0, i16 0, i16 17099, i16 0, i16 0, i16 0, i16 13516, i16 0, i16 0, i16 0, i16 17100, i16 0, i16 0, i16 0, i16 14285, i16 0, i16 0, i16 0, i16 16845, i16 0, i16 0, i16 0, i16 12494, i16 0, i16 0, i16 0, i16 14798, i16 0, i16 0, i16 0, i16 17102, i16 0, i16 0, i16 0, i16 16079, i16 0, i16 0, i16 0, i16 13520, i16 0, i16 0, i16 0, i16 14032, i16 0, i16 0, i16 0, i16 14288, i16 0, i16 0, i16 0, i16 14800, i16 0, i16 0, i16 0, i16 14289, i16 0, i16 0, i16 0, i16 15569, i16 0, i16 0, i16 0, i16 17105, i16 0, i16 0, i16 0, i16 13778, i16 0, i16 0, i16 0, i16 14034, i16 0, i16 0, i16 0, i16 14803, i16 0, i16 0, i16 0, i16 16083, i16 0, i16 0, i16 0, i16 14805, i16 0, i16 0, i16 0, i16 15829, i16 0, i16 0, i16 0, i16 16597, i16 0, i16 0, i16 0, i16 16853, i16 0, i16 0, i16 0, i16 16598, i16 0, i16 0, i16 0, i16 12503, i16 0, i16 0, i16 0, i16 13527, i16 0, i16 0, i16 0, i16 16088, i16 0, i16 0, i16 0, i16 12761, i16 0, i16 0, i16 0, i16 13785, i16 0, i16 0, i16 0, i16 14809, i16 0, i16 0, i16 0, i16 12508, i16 0, i16 0, i16 0, i16 13276, i16 0, i16 0, i16 0, i16 13532, i16 0, i16 0, i16 0, i16 15836, i16 0, i16 0, i16 0, i16 16348, i16 0, i16 0, i16 0, i16 17116, i16 0, i16 0, i16 0, i16 14045, i16 0, i16 0, i16 0, i16 15837, i16 0, i16 0, i16 0, i16 14558, i16 0, i16 0, i16 0, i16 15326, i16 0, i16 0, i16 0, i16 14047, i16 0, i16 0, i16 0, i16 12768, i16 0, i16 0, i16 0, i16 15584, i16 0, i16 0, i16 0, i16 225, i16 0, i16 0, i16 0, i16 13793, i16 0, i16 0, i16 0, i16 13027, i16 0, i16 0, i16 0, i16 14819, i16 0, i16 0, i16 0, i16 16099, i16 0, i16 0, i16 0, i16 16867, i16 0, i16 0, i16 0, i16 14052, i16 0, i16 0, i16 0, i16 17124, i16 0, i16 0, i16 0, i16 14821, i16 0, i16 0, i16 0, i16 15077, i16 0, i16 0, i16 0, i16 13286, i16 0, i16 0, i16 0, i16 12519, i16 0, i16 0, i16 0, i16 12775, i16 0, i16 0, i16 0, i16 13031, i16 0, i16 0, i16 0, i16 14311, i16 0, i16 0, i16 0, i16 14823, i16 0, i16 0, i16 0, i16 13800, i16 0, i16 0, i16 0, i16 16616, i16 0, i16 0, i16 0, i16 14057, i16 0, i16 0, i16 0, i16 14826, i16 0, i16 0, i16 0, i16 15594, i16 0, i16 0, i16 0, i16 13291, i16 0, i16 0, i16 0, i16 16108, i16 0, i16 0, i16 0, i16 237, i16 0, i16 0, i16 0, i16 12781, i16 0, i16 0, i16 0, i16 15597, i16 0, i16 0, i16 0, i16 15342, i16 0, i16 0, i16 0, i16 14063, i16 0, i16 0, i16 0, i16 15087, i16 0, i16 0, i16 0, i16 15344, i16 0, i16 0, i16 0, i16 13809, i16 0, i16 0, i16 0, i16 17138, i16 0, i16 0, i16 0, i16 15091, i16 0, i16 0, i16 0, i16 16627, i16 0, i16 0, i16 0, i16 12788, i16 0, i16 0, i16 0, i16 14580, i16 0, i16 0, i16 0, i16 15348, i16 0, i16 0, i16 0, i16 16628, i16 0, i16 0, i16 0, i16 13813, i16 0, i16 0, i16 0, i16 13302, i16 0, i16 0, i16 0, i16 14326, i16 0, i16 0, i16 0, i16 15094, i16 0, i16 0, i16 0, i16 15863, i16 0, i16 0, i16 0, i16 16375, i16 0, i16 0, i16 0, i16 15353, i16 0, i16 0, i16 0, i16 15609, i16 0, i16 0, i16 0, i16 14586, i16 0, i16 0, i16 0, i16 15354, i16 0, i16 0, i16 0, i16 15355, i16 0, i16 0, i16 0, i16 15867, i16 0, i16 0, i16 0, i16 15100, i16 0, i16 0, i16 0, i16 12285, i16 0, i16 0, i16 0, i16 13053, i16 0, i16 0, i16 0, i16 14333, i16 0, i16 0, i16 0, i16 12542, i16 0, i16 0, i16 0, i16 12798, i16 0, i16 0, i16 0, i16 13310, i16 0, i16 0, i16 0, i16 14846, i16 0, i16 0, i16 0, i16 15103, i16 0, i16 0, i16 256, i16 0, i16 0, i16 0, i16 14080, i16 0, i16 0, i16 0, i16 13313, i16 17049, i16 0, i16 0, i16 12546, i16 0, i16 0, i16 0, i16 14082, i16 0, i16 0, i16 0, i16 15618, i16 0, i16 0, i16 0, i16 12547, i16 0, i16 0, i16 0, i16 16899, i16 0, i16 0, i16 0, i16 14852, i16 17003, i16 0, i16 0, i16 16388, i16 0, i16 0, i16 0, i16 16644, i16 0, i16 0, i16 0, i16 13573, i16 0, i16 0, i16 0, i16 14085, i16 0, i16 0, i16 0, i16 15109, i16 0, i16 0, i16 0, i16 13318, i16 0, i16 0, i16 0, i16 15366, i16 0, i16 0, i16 0, i16 15622, i16 0, i16 0, i16 0, i16 16390, i16 14495, i16 0, i16 0, i16 16902, i16 13005, i16 0, i16 0, i16 12295, i16 12296, i16 0, i16 0, i16 14343, i16 13546, i16 0, i16 0, i16 16647, i16 0, i16 0, i16 0, i16 14344, i16 0, i16 0, i16 0, i16 15880, i16 15683, i16 0, i16 0, i16 265, i16 264, i16 0, i16 0, i16 12553, i16 14944, i16 0, i16 0, i16 13833, i16 0, i16 0, i16 0, i16 14857, i16 0, i16 0, i16 0, i16 15881, i16 0, i16 0, i16 0, i16 16137, i16 0, i16 0, i16 0, i16 16649, i16 0, i16 0, i16 0, i16 17162, i16 0, i16 0, i16 0, i16 12555, i16 16345, i16 0, i16 0, i16 13067, i16 0, i16 0, i16 0, i16 15115, i16 0, i16 0, i16 0, i16 12300, i16 0, i16 0, i16 0, i16 14348, i16 0, i16 0, i16 0, i16 15628, i16 14483, i16 0, i16 0, i16 16140, i16 0, i16 0, i16 0, i16 12557, i16 0, i16 0, i16 0, i16 14349, i16 0, i16 0, i16 0, i16 14605, i16 15757, i16 0, i16 0, i16 15629, i16 0, i16 0, i16 0, i16 15885, i16 0, i16 0, i16 0, i16 782, i16 0, i16 0, i16 0, i16 13582, i16 13021, i16 0, i16 0, i16 14094, i16 0, i16 0, i16 0, i16 14862, i16 0, i16 0, i16 0, i16 16398, i16 14978, i16 0, i16 0, i16 14352, i16 0, i16 0, i16 0, i16 15376, i16 0, i16 0, i16 0, i16 15121, i16 0, i16 0, i16 0, i16 16657, i16 0, i16 0, i16 0, i16 17169, i16 0, i16 0, i16 0, i16 16658, i16 0, i16 0, i16 0, i16 12819, i16 15198, i16 0, i16 0, i16 13331, i16 0, i16 0, i16 0, i16 13588, i16 15915, i16 0, i16 0, i16 16148, i16 0, i16 0, i16 0, i16 13589, i16 14715, i16 0, i16 0, i16 15125, i16 0, i16 0, i16 0, i16 16661, i16 0, i16 0, i16 0, i16 12310, i16 0, i16 0, i16 0, i16 12566, i16 15116, i16 0, i16 0, i16 13334, i16 0, i16 0, i16 0, i16 14102, i16 15783, i16 0, i16 0, i16 13335, i16 0, i16 0, i16 0, i16 16152, i16 0, i16 0, i16 0, i16 12569, i16 0, i16 0, i16 0, i16 282, i16 0, i16 0, i16 0, i16 794, i16 0, i16 0, i16 0, i16 13338, i16 0, i16 0, i16 0, i16 15386, i16 15387, i16 0, i16 0, i16 15643, i16 16909, i16 0, i16 0, i16 16155, i16 14782, i16 0, i16 0, i16 16667, i16 0, i16 0, i16 0, i16 12828, i16 0, i16 0, i16 0, i16 15644, i16 0, i16 0, i16 0, i16 12829, i16 0, i16 0, i16 0, i16 13597, i16 0, i16 0, i16 0, i16 15133, i16 0, i16 0, i16 0, i16 16413, i16 0, i16 0, i16 0, i16 16669, i16 0, i16 0, i16 0, i16 14110, i16 0, i16 0, i16 0, i16 15902, i16 0, i16 0, i16 0, i16 16158, i16 0, i16 0, i16 0, i16 16670, i16 0, i16 0, i16 0, i16 12320, i16 0, i16 0, i16 0, i16 13344, i16 0, i16 0, i16 0, i16 14624, i16 13170, i16 0, i16 0, i16 15392, i16 0, i16 0, i16 0, i16 16672, i16 12786, i16 0, i16 0, i16 12321, i16 0, i16 0, i16 0, i16 13601, i16 0, i16 0, i16 0, i16 14881, i16 17167, i16 0, i16 0, i16 15649, i16 16630, i16 0, i16 0, i16 15905, i16 16062, i16 0, i16 0, i16 16929, i16 0, i16 0, i16 0, i16 14114, i16 0, i16 0, i16 0, i16 14882, i16 0, i16 0, i16 0, i16 15906, i16 12444, i16 0, i16 0, i16 16674, i16 0, i16 0, i16 0, i16 16163, i16 0, i16 0, i16 0, i16 13860, i16 13824, i16 0, i16 0, i16 14116, i16 15911, i16 0, i16 0, i16 14884, i16 0, i16 0, i16 0, i16 12325, i16 0, i16 0, i16 0, i16 12837, i16 0, i16 0, i16 0, i16 16678, i16 0, i16 0, i16 0, i16 12327, i16 0, i16 0, i16 0, i16 14887, i16 0, i16 0, i16 0, i16 16423, i16 0, i16 0, i16 0, i16 12328, i16 16639, i16 0, i16 0, i16 16425, i16 0, i16 0, i16 0, i16 13610, i16 16180, i16 0, i16 0, i16 14890, i16 0, i16 0, i16 0, i16 16170, i16 0, i16 0, i16 0, i16 15403, i16 0, i16 0, i16 0, i16 16171, i16 0, i16 0, i16 0, i16 12332, i16 0, i16 0, i16 0, i16 15404, i16 15291, i16 0, i16 0, i16 14125, i16 0, i16 0, i16 0, i16 14893, i16 15274, i16 0, i16 0, i16 16685, i16 0, i16 0, i16 0, i16 16941, i16 0, i16 0, i16 0, i16 14382, i16 0, i16 0, i16 0, i16 14638, i16 12998, i16 0, i16 0, i16 16174, i16 0, i16 0, i16 0, i16 12591, i16 0, i16 0, i16 0, i16 14639, i16 0, i16 0, i16 0, i16 13360, i16 0, i16 0, i16 0, i16 14384, i16 0, i16 0, i16 0, i16 14640, i16 0, i16 0, i16 0, i16 13361, i16 0, i16 0, i16 0, i16 14641, i16 0, i16 0, i16 0, i16 15409, i16 0, i16 0, i16 0, i16 16433, i16 0, i16 0, i16 0, i16 14642, i16 0, i16 0, i16 0, i16 14898, i16 13976, i16 0, i16 0, i16 15154, i16 0, i16 0, i16 0, i16 12851, i16 15968, i16 0, i16 0, i16 13619, i16 0, i16 0, i16 0, i16 16947, i16 0, i16 0, i16 0, i16 15156, i16 0, i16 0, i16 0, i16 13365, i16 0, i16 0, i16 0, i16 13621, i16 12675, i16 0, i16 0, i16 12598, i16 15066, i16 0, i16 0, i16 12343, i16 13378, i16 0, i16 0, i16 14135, i16 0, i16 0, i16 0, i16 14391, i16 0, i16 0, i16 0, i16 16951, i16 15075, i16 0, i16 0, i16 12856, i16 0, i16 0, i16 0, i16 15160, i16 13821, i16 0, i16 0, i16 14905, i16 0, i16 0, i16 0, i16 12858, i16 0, i16 0, i16 0, i16 13370, i16 0, i16 0, i16 0, i16 14138, i16 0, i16 0, i16 0, i16 14907, i16 0, i16 0, i16 0, i16 13628, i16 0, i16 0, i16 0, i16 13884, i16 0, i16 0, i16 0, i16 16956, i16 0, i16 0, i16 0, i16 13885, i16 0, i16 0, i16 0, i16 14141, i16 0, i16 0, i16 0, i16 14398, i16 0, i16 0, i16 0, i16 15166, i16 0, i16 0, i16 0, i16 16958, i16 0, i16 0, i16 0, i16 13375, i16 0, i16 0, i16 0, i16 13889, i16 0, i16 0, i16 0, i16 14913, i16 14137, i16 0, i16 0, i16 16193, i16 0, i16 0, i16 0, i16 16449, i16 0, i16 0, i16 0, i16 15938, i16 0, i16 0, i16 0, i16 12355, i16 0, i16 0, i16 0, i16 13379, i16 0, i16 0, i16 0, i16 14660, i16 16660, i16 0, i16 0, i16 15684, i16 0, i16 0, i16 0, i16 12613, i16 16161, i16 0, i16 0, i16 12869, i16 0, i16 0, i16 0, i16 16965, i16 0, i16 0, i16 0, i16 13126, i16 0, i16 0, i16 0, i16 14406, i16 0, i16 0, i16 0, i16 12359, i16 0, i16 0, i16 0, i16 13895, i16 15817, i16 0, i16 0, i16 16711, i16 0, i16 0, i16 0, i16 13640, i16 0, i16 0, i16 0, i16 14920, i16 0, i16 0, i16 0, i16 15944, i16 0, i16 0, i16 0, i16 13385, i16 0, i16 0, i16 0, i16 13641, i16 0, i16 0, i16 0, i16 15945, i16 16859, i16 0, i16 0, i16 16457, i16 0, i16 0, i16 0, i16 12362, i16 0, i16 0, i16 0, i16 13130, i16 0, i16 0, i16 0, i16 14154, i16 0, i16 0, i16 0, i16 14666, i16 0, i16 0, i16 0, i16 16202, i16 0, i16 0, i16 0, i16 13131, i16 15689, i16 0, i16 0, i16 13387, i16 0, i16 0, i16 0, i16 14155, i16 0, i16 0, i16 0, i16 15179, i16 12896, i16 0, i16 0, i16 15691, i16 0, i16 0, i16 0, i16 12364, i16 14260, i16 0, i16 0, i16 13388, i16 13894, i16 0, i16 0, i16 13901, i16 0, i16 0, i16 0, i16 14669, i16 15472, i16 0, i16 0, i16 15949, i16 0, i16 0, i16 0, i16 13390, i16 16026, i16 0, i16 0, i16 14670, i16 0, i16 0, i16 0, i16 13135, i16 16906, i16 0, i16 0, i16 13391, i16 0, i16 0, i16 0, i16 16463, i16 0, i16 0, i16 0, i16 13392, i16 13404, i16 0, i16 0, i16 16720, i16 0, i16 0, i16 0, i16 13649, i16 0, i16 0, i16 0, i16 16209, i16 0, i16 0, i16 0, i16 14674, i16 0, i16 0, i16 0, i16 16722, i16 0, i16 0, i16 0, i16 14163, i16 0, i16 0, i16 0, i16 14675, i16 0, i16 0, i16 0, i16 15699, i16 0, i16 0, i16 0, i16 12628, i16 14648, i16 0, i16 0, i16 13396, i16 0, i16 0, i16 0, i16 15188, i16 0, i16 0, i16 0, i16 12886, i16 0, i16 0, i16 0, i16 13910, i16 0, i16 0, i16 0, i16 14422, i16 0, i16 0, i16 0, i16 15958, i16 12707, i16 0, i16 0, i16 16214, i16 0, i16 0, i16 0, i16 16470, i16 0, i16 0, i16 0, i16 12631, i16 13625, i16 0, i16 0, i16 13143, i16 0, i16 0, i16 0, i16 14423, i16 0, i16 0, i16 0, i16 13656, i16 0, i16 0, i16 0, i16 13912, i16 0, i16 0, i16 0, i16 14424, i16 0, i16 0, i16 0, i16 12633, i16 0, i16 0, i16 0, i16 13913, i16 0, i16 0, i16 0, i16 12890, i16 0, i16 0, i16 0, i16 13146, i16 0, i16 0, i16 0, i16 15962, i16 0, i16 0, i16 0, i16 13147, i16 0, i16 0, i16 0, i16 13659, i16 0, i16 0, i16 0, i16 13405, i16 0, i16 0, i16 0, i16 13150, i16 0, i16 0, i16 0, i16 13406, i16 0, i16 0, i16 0, i16 14686, i16 0, i16 0, i16 0, i16 12895, i16 12407, i16 0, i16 0, i16 15455, i16 0, i16 0, i16 0, i16 14176, i16 0, i16 0, i16 0, i16 14432, i16 0, i16 0, i16 0, i16 15200, i16 0, i16 0, i16 0, i16 16736, i16 0, i16 0, i16 0, i16 12897, i16 0, i16 0, i16 0, i16 13921, i16 0, i16 0, i16 0, i16 14689, i16 0, i16 0, i16 0, i16 13154, i16 0, i16 0, i16 0, i16 16994, i16 16995, i16 0, i16 0, i16 15971, i16 15754, i16 0, i16 0, i16 13156, i16 0, i16 0, i16 0, i16 14692, i16 0, i16 0, i16 0, i16 15460, i16 0, i16 0, i16 0, i16 16228, i16 0, i16 0, i16 0, i16 12389, i16 0, i16 0, i16 0, i16 13669, i16 0, i16 0, i16 0, i16 16486, i16 0, i16 0, i16 0, i16 13927, i16 12380, i16 0, i16 0, i16 14951, i16 15813, i16 0, i16 0, i16 15975, i16 0, i16 0, i16 0, i16 16487, i16 0, i16 0, i16 0, i16 12904, i16 12905, i16 0, i16 0, i16 13416, i16 14004, i16 0, i16 0, i16 15977, i16 0, i16 0, i16 0, i16 12394, i16 15982, i16 0, i16 0, i16 15978, i16 0, i16 0, i16 0, i16 13676, i16 0, i16 0, i16 0, i16 15212, i16 0, i16 0, i16 0, i16 14445, i16 0, i16 0, i16 0, i16 12654, i16 0, i16 0, i16 0, i16 13934, i16 0, i16 0, i16 0, i16 13679, i16 0, i16 0, i16 0, i16 14449, i16 0, i16 0, i16 0, i16 16241, i16 0, i16 0, i16 0, i16 13426, i16 16648, i16 0, i16 0, i16 12915, i16 0, i16 0, i16 0, i16 13427, i16 14180, i16 0, i16 0, i16 14451, i16 15717, i16 0, i16 0, i16 16243, i16 0, i16 0, i16 0, i16 14452, i16 0, i16 0, i16 0, i16 14708, i16 0, i16 0, i16 0, i16 12917, i16 0, i16 0, i16 0, i16 14966, i16 0, i16 0, i16 0, i16 13944, i16 0, i16 0, i16 0, i16 15992, i16 0, i16 0, i16 0, i16 16760, i16 0, i16 0, i16 0, i16 17016, i16 15317, i16 0, i16 0, i16 15225, i16 0, i16 0, i16 0, i16 12666, i16 0, i16 0, i16 0, i16 15738, i16 13848, i16 0, i16 0, i16 17018, i16 0, i16 0, i16 0, i16 13947, i16 0, i16 0, i16 0, i16 15996, i16 0, i16 0, i16 0, i16 13181, i16 0, i16 0, i16 0, i16 15229, i16 0, i16 0, i16 0, i16 13438, i16 13197, i16 0, i16 0, i16 15743, i16 0, i16 0, i16 0, i16 17023, i16 0, i16 0, i16 0, i16 13184, i16 0, i16 0, i16 0, i16 13440, i16 0, i16 0, i16 0, i16 13442, i16 0, i16 0, i16 0, i16 16515, i16 0, i16 0, i16 0, i16 12420, i16 0, i16 0, i16 0, i16 13189, i16 0, i16 0, i16 0, i16 13445, i16 13494, i16 0, i16 0, i16 15237, i16 0, i16 0, i16 0, i16 13958, i16 0, i16 0, i16 0, i16 16262, i16 0, i16 0, i16 0, i16 15239, i16 0, i16 0, i16 0, i16 13960, i16 0, i16 0, i16 0, i16 16776, i16 0, i16 0, i16 0, i16 17032, i16 0, i16 0, i16 0, i16 13193, i16 0, i16 0, i16 0, i16 13961, i16 0, i16 0, i16 0, i16 16010, i16 0, i16 0, i16 0, i16 13451, i16 0, i16 0, i16 0, i16 12428, i16 14380, i16 0, i16 0, i16 14732, i16 16704, i16 0, i16 0, i16 15244, i16 0, i16 0, i16 0, i16 16524, i16 15420, i16 0, i16 0, i16 16269, i16 0, i16 0, i16 0, i16 13198, i16 16103, i16 0, i16 0, i16 13710, i16 17081, i16 0, i16 0, i16 13711, i16 0, i16 0, i16 0, i16 14479, i16 14478, i16 0, i16 0, i16 16015, i16 13394, i16 0, i16 0, i16 16271, i16 0, i16 0, i16 0, i16 12688, i16 0, i16 0, i16 0, i16 16784, i16 0, i16 0, i16 0, i16 13201, i16 14579, i16 0, i16 0, i16 13713, i16 0, i16 0, i16 0, i16 14738, i16 0, i16 0, i16 0, i16 12947, i16 0, i16 0, i16 0, i16 13459, i16 14369, i16 0, i16 0, i16 15251, i16 14807, i16 0, i16 0, i16 14740, i16 0, i16 0, i16 0, i16 17044, i16 0, i16 0, i16 0, i16 14229, i16 0, i16 0, i16 0, i16 14741, i16 0, i16 0, i16 0, i16 13718, i16 0, i16 0, i16 0, i16 13974, i16 0, i16 0, i16 0, i16 14230, i16 0, i16 0, i16 0, i16 17046, i16 13544, i16 0, i16 0, i16 12439, i16 0, i16 0, i16 0, i16 16023, i16 0, i16 0, i16 0, i16 17047, i16 15588, i16 0, i16 0, i16 13464, i16 14488, i16 0, i16 0, i16 13209, i16 0, i16 0, i16 0, i16 15257, i16 13925, i16 0, i16 0, i16 16281, i16 0, i16 0, i16 0, i16 16794, i16 13906, i16 0, i16 0, i16 12955, i16 13571, i16 0, i16 0, i16 668, i16 0, i16 0, i16 0, i16 14748, i16 0, i16 0, i16 0, i16 15004, i16 0, i16 0, i16 0, i16 12701, i16 0, i16 0, i16 0, i16 15773, i16 14925, i16 0, i16 0, i16 16029, i16 0, i16 0, i16 0, i16 17053, i16 0, i16 0, i16 0, i16 12446, i16 0, i16 0, i16 0, i16 13982, i16 0, i16 0, i16 0, i16 14494, i16 0, i16 0, i16 0, i16 17054, i16 16165, i16 0, i16 0, i16 14239, i16 0, i16 0, i16 0, i16 15007, i16 0, i16 0, i16 0, i16 16031, i16 0, i16 0, i16 0, i16 13216, i16 15956, i16 0, i16 0, i16 12705, i16 0, i16 0, i16 0, i16 16289, i16 0, i16 0, i16 0, i16 674, i16 0, i16 0, i16 0, i16 15266, i16 0, i16 0, i16 0, i16 16290, i16 0, i16 0, i16 0, i16 16546, i16 0, i16 0, i16 0, i16 16802, i16 0, i16 0, i16 0, i16 12451, i16 0, i16 0, i16 0, i16 15523, i16 0, i16 0, i16 0, i16 16291, i16 0, i16 0, i16 0, i16 12452, i16 12408, i16 0, i16 0, i16 12708, i16 0, i16 0, i16 0, i16 12964, i16 0, i16 0, i16 0, i16 14244, i16 0, i16 0, i16 0, i16 16292, i16 0, i16 0, i16 0, i16 15269, i16 0, i16 0, i16 0, i16 16037, i16 0, i16 0, i16 0, i16 16549, i16 0, i16 0, i16 0, i16 12710, i16 15019, i16 0, i16 0, i16 15782, i16 0, i16 0, i16 0, i16 16294, i16 0, i16 0, i16 0, i16 12455, i16 17045, i16 0, i16 0, i16 12711, i16 13480, i16 0, i16 0, i16 13479, i16 0, i16 0, i16 0, i16 13991, i16 0, i16 0, i16 0, i16 14503, i16 0, i16 0, i16 0, i16 15527, i16 0, i16 0, i16 0, i16 16295, i16 16721, i16 0, i16 0, i16 12456, i16 0, i16 0, i16 0, i16 13224, i16 12838, i16 0, i16 0, i16 15784, i16 0, i16 0, i16 0, i16 13737, i16 0, i16 0, i16 0, i16 13738, i16 0, i16 0, i16 0, i16 13739, i16 0, i16 0, i16 0, i16 13995, i16 14438, i16 0, i16 0, i16 14763, i16 0, i16 0, i16 0, i16 16299, i16 13632, i16 0, i16 0, i16 13996, i16 14799, i16 0, i16 0, i16 15788, i16 13599, i16 0, i16 0, i16 14253, i16 12873, i16 0, i16 0, i16 14765, i16 0, i16 0, i16 0, i16 17069, i16 0, i16 0, i16 0, i16 174, i16 0, i16 0, i16 0, i16 15790, i16 0, i16 0, i16 0, i16 13743, i16 0, i16 0, i16 0, i16 15279, i16 16077, i16 0, i16 0, i16 13744, i16 13482, i16 0, i16 0, i16 15792, i16 0, i16 0, i16 0, i16 16816, i16 0, i16 0, i16 0, i16 14513, i16 15755, i16 0, i16 0, i16 178, i16 0, i16 0, i16 0, i16 13490, i16 16151, i16 0, i16 0, i16 14514, i16 16601, i16 0, i16 0, i16 15026, i16 0, i16 0, i16 0, i16 15538, i16 16535, i16 0, i16 0, i16 16562, i16 0, i16 0, i16 0, i16 16818, i16 0, i16 0, i16 0, i16 691, i16 0, i16 0, i16 0, i16 14515, i16 0, i16 0, i16 0, i16 16307, i16 0, i16 0, i16 0, i16 12980, i16 12981, i16 0, i16 0, i16 13492, i16 0, i16 0, i16 0, i16 15028, i16 0, i16 0, i16 0, i16 15284, i16 14607, i16 0, i16 0, i16 15285, i16 0, i16 0, i16 0, i16 694, i16 785, i16 0, i16 0, i16 12470, i16 15646, i16 0, i16 0, i16 15798, i16 0, i16 0, i16 0, i16 12983, i16 13478, i16 0, i16 0, i16 13495, i16 0, i16 0, i16 0, i16 12728, i16 16993, i16 0, i16 0, i16 12984, i16 14160, i16 0, i16 0, i16 13496, i16 0, i16 0, i16 0, i16 185, i16 184, i16 0, i16 0, i16 12985, i16 0, i16 0, i16 0, i16 15033, i16 0, i16 0, i16 0, i16 13498, i16 0, i16 0, i16 0, i16 16314, i16 16812, i16 0, i16 0, i16 187, i16 186, i16 0, i16 0, i16 699, i16 792, i16 0, i16 0, i16 14011, i16 12526, i16 0, i16 0, i16 16315, i16 0, i16 0, i16 0, i16 16571, i16 0, i16 0, i16 0, i16 13500, i16 0, i16 0, i16 0, i16 701, i16 793, i16 0, i16 0, i16 12733, i16 0, i16 0, i16 0, i16 13501, i16 0, i16 0, i16 0, i16 702, i16 795, i16 0, i16 0, i16 13246, i16 15414, i16 0, i16 0, i16 14014, i16 0, i16 0, i16 0, i16 191, i16 190, i16 0, i16 0, i16 12735, i16 0, i16 0, i16 0, i16 12991, i16 0, i16 0, i16 0, i16 13503, i16 0, i16 0, i16 0, i16 14271, i16 0, i16 0, i16 0, i16 14527, i16 14060, i16 0, i16 0, i16 12480, i16 0, i16 0, i16 0, i16 13249, i16 0, i16 0, i16 0, i16 15553, i16 14199, i16 0, i16 0, i16 16065, i16 0, i16 0, i16 0, i16 12738, i16 0, i16 0, i16 0, i16 14530, i16 14206, i16 0, i16 0, i16 14786, i16 0, i16 0, i16 0, i16 12995, i16 0, i16 0, i16 0, i16 14531, i16 0, i16 0, i16 0, i16 16579, i16 0, i16 0, i16 0, i16 15556, i16 0, i16 0, i16 0, i16 16836, i16 0, i16 0, i16 0, i16 14277, i16 0, i16 0, i16 0, i16 16325, i16 0, i16 0, i16 0, i16 16837, i16 0, i16 0, i16 0, i16 12742, i16 0, i16 0, i16 0, i16 16839, i16 0, i16 0, i16 0, i16 200, i16 201, i16 0, i16 0, i16 15304, i16 15303, i16 0, i16 0, i16 15816, i16 14955, i16 0, i16 0, i16 16328, i16 0, i16 0, i16 0, i16 16584, i16 0, i16 0, i16 0, i16 16073, i16 0, i16 0, i16 0, i16 16329, i16 0, i16 0, i16 0, i16 17097, i16 0, i16 0, i16 0, i16 202, i16 0, i16 0, i16 0, i16 13258, i16 0, i16 0, i16 0, i16 14794, i16 0, i16 0, i16 0, i16 15050, i16 0, i16 0, i16 0, i16 15562, i16 0, i16 0, i16 0, i16 16074, i16 0, i16 0, i16 0, i16 13260, i16 0, i16 0, i16 0, i16 13772, i16 15199, i16 0, i16 0, i16 16332, i16 0, i16 0, i16 0, i16 16588, i16 0, i16 0, i16 0, i16 13517, i16 0, i16 0, i16 0, i16 13262, i16 0, i16 0, i16 0, i16 15822, i16 0, i16 0, i16 0, i16 14543, i16 12589, i16 0, i16 0, i16 16335, i16 0, i16 0, i16 0, i16 12752, i16 13794, i16 0, i16 0, i16 13264, i16 0, i16 0, i16 0, i16 15057, i16 13046, i16 0, i16 0, i16 16849, i16 16921, i16 0, i16 0, i16 210, i16 211, i16 0, i16 0, i16 13522, i16 0, i16 0, i16 0, i16 14802, i16 0, i16 0, i16 0, i16 15314, i16 13029, i16 0, i16 0, i16 12499, i16 0, i16 0, i16 0, i16 13011, i16 0, i16 0, i16 0, i16 14035, i16 16620, i16 0, i16 0, i16 212, i16 213, i16 0, i16 0, i16 16084, i16 0, i16 0, i16 0, i16 16340, i16 0, i16 0, i16 0, i16 16342, i16 0, i16 0, i16 0, i16 13783, i16 0, i16 0, i16 0, i16 13016, i16 14788, i16 0, i16 0, i16 14808, i16 0, i16 0, i16 0, i16 15064, i16 0, i16 0, i16 0, i16 14041, i16 14269, i16 0, i16 0, i16 14297, i16 0, i16 0, i16 0, i16 15065, i16 0, i16 0, i16 0, i16 15833, i16 0, i16 0, i16 0, i16 13018, i16 0, i16 0, i16 0, i16 219, i16 0, i16 0, i16 0, i16 13787, i16 0, i16 0, i16 0, i16 14299, i16 0, i16 0, i16 0, i16 14811, i16 0, i16 0, i16 0, i16 15324, i16 16112, i16 0, i16 0, i16 13277, i16 0, i16 0, i16 0, i16 16605, i16 0, i16 0, i16 0, i16 13534, i16 0, i16 0, i16 0, i16 13790, i16 0, i16 0, i16 0, i16 15070, i16 0, i16 0, i16 0, i16 13791, i16 0, i16 0, i16 0, i16 14559, i16 0, i16 0, i16 0, i16 16607, i16 0, i16 0, i16 0, i16 16863, i16 14628, i16 0, i16 0, i16 17119, i16 0, i16 0, i16 0, i16 13024, i16 13060, i16 0, i16 0, i16 13536, i16 0, i16 0, i16 0, i16 14048, i16 0, i16 0, i16 0, i16 14816, i16 0, i16 0, i16 0, i16 15328, i16 0, i16 0, i16 0, i16 16352, i16 16046, i16 0, i16 0, i16 12513, i16 0, i16 0, i16 0, i16 14817, i16 0, i16 0, i16 0, i16 15329, i16 0, i16 0, i16 0, i16 15841, i16 0, i16 0, i16 0, i16 17121, i16 0, i16 0, i16 0, i16 13538, i16 0, i16 0, i16 0, i16 14050, i16 0, i16 0, i16 0, i16 15842, i16 14561, i16 0, i16 0, i16 16098, i16 0, i16 0, i16 0, i16 14564, i16 0, i16 0, i16 0, i16 15332, i16 0, i16 0, i16 0, i16 15845, i16 12345, i16 0, i16 0, i16 13798, i16 15306, i16 0, i16 0, i16 17126, i16 12973, i16 0, i16 0, i16 12520, i16 0, i16 0, i16 0, i16 14056, i16 0, i16 0, i16 0, i16 14568, i16 0, i16 0, i16 0, i16 14824, i16 0, i16 0, i16 0, i16 17129, i16 0, i16 0, i16 0, i16 12522, i16 12391, i16 0, i16 0, i16 13802, i16 0, i16 0, i16 0, i16 14570, i16 16105, i16 0, i16 0, i16 16106, i16 15989, i16 0, i16 0, i16 14827, i16 13366, i16 0, i16 0, i16 16875, i16 0, i16 0, i16 0, i16 15084, i16 15744, i16 0, i16 0, i16 13293, i16 0, i16 0, i16 0, i16 13549, i16 0, i16 0, i16 0, i16 14317, i16 0, i16 0, i16 0, i16 15853, i16 16114, i16 0, i16 0, i16 15854, i16 0, i16 0, i16 0, i16 13039, i16 0, i16 0, i16 0, i16 14064, i16 0, i16 0, i16 0, i16 14832, i16 17077, i16 0, i16 0, i16 15088, i16 0, i16 0, i16 0, i16 13553, i16 0, i16 0, i16 0, i16 14577, i16 0, i16 0, i16 0, i16 14833, i16 0, i16 0, i16 0, i16 15857, i16 0, i16 0, i16 0, i16 15090, i16 15635, i16 0, i16 0, i16 15346, i16 0, i16 0, i16 0, i16 15858, i16 14520, i16 0, i16 0, i16 16882, i16 0, i16 0, i16 0, i16 244, i16 243, i16 0, i16 0, i16 13812, i16 0, i16 0, i16 0, i16 14068, i16 0, i16 0, i16 0, i16 14325, i16 0, i16 0, i16 0, i16 17141, i16 16512, i16 0, i16 0, i16 13558, i16 0, i16 0, i16 0, i16 16374, i16 15645, i16 0, i16 0, i16 12535, i16 0, i16 0, i16 0, i16 16120, i16 0, i16 0, i16 0, i16 16376, i16 0, i16 0, i16 0, i16 17144, i16 16840, i16 0, i16 0, i16 14585, i16 0, i16 0, i16 0, i16 15097, i16 16614, i16 0, i16 0, i16 16121, i16 0, i16 0, i16 0, i16 16889, i16 0, i16 0, i16 0, i16 12794, i16 14493, i16 0, i16 0, i16 13562, i16 0, i16 0, i16 0, i16 14074, i16 0, i16 0, i16 0, i16 14587, i16 0, i16 0, i16 0, i16 12540, i16 0, i16 0, i16 0, i16 16124, i16 16211, i16 0, i16 0, i16 13565, i16 16820, i16 0, i16 0, i16 15101, i16 0, i16 0, i16 0, i16 15357, i16 0, i16 0, i16 0, i16 16638, i16 0, i16 0, i16 0, i16 13055, i16 0, i16 0, i16 0, i16 15871, i16 0, i16 0, i16 0, i16 16127, i16 0, i16 0, i16 0, i16 16383, i16 0, i16 0, i16 0, i16 16895, i16 0, i16 0, i16 14336, i16 0, i16 0, i16 0, i16 15872, i16 0, i16 0, i16 0, i16 16896, i16 12854, i16 0, i16 0, i16 12289, i16 0, i16 0, i16 0, i16 13057, i16 0, i16 0, i16 0, i16 14593, i16 0, i16 0, i16 0, i16 15361, i16 14291, i16 12990, i16 0, i16 16129, i16 0, i16 0, i16 0, i16 2, i16 3, i16 0, i16 0, i16 12290, i16 0, i16 0, i16 0, i16 13826, i16 14262, i16 0, i16 0, i16 15106, i16 0, i16 0, i16 0, i16 17154, i16 0, i16 0, i16 0, i16 12291, i16 0, i16 0, i16 0, i16 13315, i16 0, i16 0, i16 0, i16 14339, i16 12729, i16 13820, i16 0, i16 14851, i16 0, i16 0, i16 0, i16 15875, i16 0, i16 0, i16 0, i16 4, i16 5, i16 6, i16 0, i16 12292, i16 14533, i16 0, i16 0, i16 13316, i16 0, i16 0, i16 0, i16 16900, i16 12787, i16 15477, i16 0, i16 17156, i16 0, i16 14379, i16 0, i16 14341, i16 0, i16 0, i16 0, i16 14597, i16 0, i16 0, i16 0, i16 12550, i16 0, i16 0, i16 0, i16 15878, i16 0, i16 0, i16 0, i16 13575, i16 0, i16 0, i16 0, i16 14087, i16 13298, i16 0, i16 0, i16 14599, i16 0, i16 0, i16 0, i16 16135, i16 13144, i16 0, i16 0, i16 16391, i16 0, i16 0, i16 0, i16 520, i16 521, i16 522, i16 0, i16 13832, i16 0, i16 0, i16 0, i16 14088, i16 14747, i16 13614, i16 0, i16 14600, i16 14465, i16 0, i16 0, i16 16392, i16 0, i16 0, i16 0, i16 12809, i16 0, i16 0, i16 0, i16 13577, i16 15658, i16 0, i16 0, i16 13066, i16 0, i16 0, i16 0, i16 15114, i16 0, i16 15163, i16 0, i16 16650, i16 0, i16 15347, i16 0, i16 12811, i16 0, i16 0, i16 0, i16 13579, i16 0, i16 0, i16 0, i16 16139, i16 0, i16 13204, i16 0, i16 16651, i16 0, i16 12426, i16 0, i16 17163, i16 0, i16 0, i16 0, i16 14860, i16 0, i16 0, i16 0, i16 15884, i16 13063, i16 12474, i16 0, i16 17164, i16 17165, i16 0, i16 0, i16 13325, i16 16860, i16 0, i16 0, i16 16397, i16 0, i16 0, i16 0, i16 13326, i16 0, i16 0, i16 0, i16 16654, i16 0, i16 0, i16 0, i16 16910, i16 0, i16 0, i16 0, i16 783, i16 0, i16 0, i16 0, i16 13071, i16 16937, i16 15040, i16 0, i16 13583, i16 0, i16 0, i16 0, i16 14863, i16 0, i16 0, i16 0, i16 15119, i16 0, i16 16996, i16 0, i16 16655, i16 0, i16 16656, i16 0, i16 13584, i16 0, i16 15449, i16 0, i16 14608, i16 14546, i16 0, i16 0, i16 15120, i16 0, i16 0, i16 0, i16 16400, i16 0, i16 0, i16 0, i16 13329, i16 0, i16 0, i16 0, i16 14609, i16 17131, i16 0, i16 0, i16 15889, i16 12524, i16 0, i16 0, i16 786, i16 695, i16 787, i16 0, i16 12818, i16 12650, i16 0, i16 0, i16 13843, i16 0, i16 15910, i16 0, i16 14099, i16 0, i16 0, i16 0, i16 15123, i16 0, i16 13134, i16 0, i16 15891, i16 14665, i16 17026, i16 0, i16 14356, i16 13443, i16 14504, i16 0, i16 15124, i16 0, i16 0, i16 0, i16 16404, i16 0, i16 13658, i16 0, i16 16917, i16 0, i16 0, i16 0, i16 14358, i16 13399, i16 0, i16 0, i16 15126, i16 0, i16 0, i16 0, i16 15894, i16 12941, i16 12942, i16 0, i16 12311, i16 0, i16 0, i16 0, i16 14103, i16 0, i16 16763, i16 0, i16 15895, i16 0, i16 17074, i16 0, i16 16663, i16 0, i16 0, i16 0, i16 16919, i16 0, i16 0, i16 0, i16 15128, i16 0, i16 0, i16 0, i16 16664, i16 0, i16 0, i16 0, i16 16920, i16 0, i16 13816, i16 0, i16 13337, i16 0, i16 0, i16 0, i16 13849, i16 0, i16 15779, i16 0, i16 14873, i16 0, i16 0, i16 0, i16 15129, i16 0, i16 0, i16 0, i16 15641, i16 0, i16 0, i16 0, i16 15897, i16 0, i16 12885, i16 0, i16 13850, i16 0, i16 0, i16 0, i16 14362, i16 0, i16 0, i16 0, i16 16666, i16 16590, i16 15456, i16 0, i16 1051, i16 0, i16 0, i16 0, i16 16668, i16 16710, i16 12369, i16 0, i16 797, i16 703, i16 796, i16 0, i16 13853, i16 0, i16 0, i16 0, i16 15901, i16 16166, i16 14550, i16 0, i16 16157, i16 0, i16 0, i16 0, i16 13342, i16 16181, i16 12441, i16 0, i16 15134, i16 15135, i16 0, i16 0, i16 16414, i16 0, i16 0, i16 0, i16 287, i16 284, i16 0, i16 0, i16 14879, i16 16693, i16 0, i16 0, i16 16927, i16 13356, i16 0, i16 0, i16 288, i16 289, i16 290, i16 0, i16 12832, i16 16729, i16 0, i16 0, i16 15136, i16 0, i16 15657, i16 0, i16 15137, i16 0, i16 15988, i16 0, i16 16417, i16 0, i16 0, i16 0, i16 16673, i16 0, i16 13283, i16 0, i16 13602, i16 0, i16 0, i16 0, i16 14115, i16 0, i16 0, i16 0, i16 14371, i16 0, i16 0, i16 0, i16 16675, i16 0, i16 0, i16 0, i16 12580, i16 16042, i16 12849, i16 0, i16 13348, i16 14712, i16 15662, i16 0, i16 15140, i16 0, i16 0, i16 0, i16 15909, i16 0, i16 0, i16 0, i16 16933, i16 0, i16 13345, i16 0, i16 12582, i16 0, i16 13797, i16 0, i16 13350, i16 0, i16 0, i16 0, i16 13862, i16 0, i16 0, i16 0, i16 16934, i16 0, i16 0, i16 0, i16 15143, i16 16324, i16 0, i16 0, i16 12840, i16 15772, i16 0, i16 0, i16 14888, i16 14337, i16 0, i16 0, i16 16424, i16 0, i16 0, i16 0, i16 16680, i16 0, i16 0, i16 0, i16 16936, i16 12953, i16 0, i16 0, i16 14633, i16 0, i16 0, i16 0, i16 14889, i16 12899, i16 0, i16 0, i16 15401, i16 15603, i16 0, i16 0, i16 15146, i16 0, i16 0, i16 0, i16 13611, i16 0, i16 0, i16 0, i16 16684, i16 0, i16 0, i16 0, i16 14637, i16 0, i16 0, i16 0, i16 16429, i16 0, i16 0, i16 0, i16 12590, i16 0, i16 0, i16 0, i16 13358, i16 13570, i16 14553, i16 0, i16 14126, i16 0, i16 0, i16 0, i16 14894, i16 0, i16 0, i16 0, i16 15407, i16 15848, i16 16384, i16 0, i16 15919, i16 0, i16 0, i16 0, i16 16431, i16 0, i16 16343, i16 0, i16 16687, i16 0, i16 0, i16 0, i16 16943, i16 0, i16 0, i16 0, i16 15408, i16 0, i16 14373, i16 0, i16 15920, i16 0, i16 0, i16 0, i16 16176, i16 0, i16 16162, i16 0, i16 16688, i16 0, i16 16319, i16 0, i16 13617, i16 0, i16 0, i16 0, i16 14385, i16 0, i16 0, i16 0, i16 12338, i16 0, i16 0, i16 0, i16 12594, i16 0, i16 13859, i16 0, i16 12850, i16 0, i16 0, i16 0, i16 13618, i16 0, i16 0, i16 0, i16 14386, i16 0, i16 12777, i16 0, i16 15922, i16 16156, i16 13300, i16 0, i16 13363, i16 12934, i16 0, i16 0, i16 15668, i16 0, i16 0, i16 0, i16 16692, i16 0, i16 0, i16 0, i16 12341, i16 0, i16 0, i16 0, i16 14645, i16 13454, i16 13712, i16 0, i16 15925, i16 14582, i16 0, i16 0, i16 12342, i16 0, i16 0, i16 0, i16 13110, i16 0, i16 0, i16 0, i16 13622, i16 16877, i16 0, i16 0, i16 14134, i16 16977, i16 14101, i16 0, i16 15926, i16 0, i16 14100, i16 0, i16 12855, i16 0, i16 0, i16 0, i16 13111, i16 0, i16 0, i16 0, i16 15415, i16 0, i16 13550, i16 0, i16 12344, i16 14324, i16 0, i16 0, i16 13368, i16 17123, i16 0, i16 0, i16 13880, i16 0, i16 0, i16 0, i16 14136, i16 15933, i16 16499, i16 0, i16 15672, i16 0, i16 0, i16 0, i16 16184, i16 0, i16 0, i16 0, i16 14649, i16 17057, i16 12572, i16 0, i16 15161, i16 0, i16 13899, i16 0, i16 16697, i16 14679, i16 0, i16 0, i16 12602, i16 16064, i16 0, i16 0, i16 14650, i16 0, i16 0, i16 0, i16 14906, i16 15697, i16 14606, i16 0, i16 16186, i16 0, i16 0, i16 0, i16 16954, i16 0, i16 12615, i16 0, i16 12859, i16 0, i16 0, i16 0, i16 13883, i16 0, i16 0, i16 0, i16 16443, i16 0, i16 0, i16 0, i16 16955, i16 0, i16 0, i16 0, i16 1084, i16 0, i16 0, i16 0, i16 13372, i16 0, i16 15883, i16 0, i16 14652, i16 0, i16 15961, i16 0, i16 12605, i16 16723, i16 0, i16 0, i16 13373, i16 0, i16 0, i16 0, i16 14397, i16 0, i16 0, i16 0, i16 14653, i16 0, i16 0, i16 0, i16 14909, i16 15552, i16 14122, i16 0, i16 12862, i16 0, i16 0, i16 0, i16 13374, i16 0, i16 13511, i16 0, i16 12607, i16 0, i16 0, i16 0, i16 14143, i16 0, i16 0, i16 0, i16 15679, i16 0, i16 16861, i16 0, i16 16191, i16 0, i16 0, i16 0, i16 12352, i16 0, i16 13142, i16 0, i16 12608, i16 0, i16 0, i16 0, i16 13120, i16 0, i16 0, i16 0, i16 13376, i16 16172, i16 12431, i16 0, i16 13888, i16 0, i16 0, i16 0, i16 14400, i16 0, i16 0, i16 0, i16 15680, i16 13424, i16 0, i16 0, i16 13633, i16 0, i16 0, i16 0, i16 15170, i16 0, i16 0, i16 0, i16 15682, i16 0, i16 0, i16 0, i16 16194, i16 0, i16 12409, i16 0, i16 14403, i16 0, i16 15776, i16 0, i16 14659, i16 14658, i16 0, i16 0, i16 15171, i16 0, i16 0, i16 0, i16 16195, i16 0, i16 13887, i16 0, i16 13124, i16 0, i16 0, i16 0, i16 13636, i16 0, i16 0, i16 0, i16 14404, i16 0, i16 0, i16 0, i16 16196, i16 0, i16 0, i16 0, i16 16452, i16 0, i16 0, i16 0, i16 16964, i16 0, i16 14108, i16 0, i16 14661, i16 0, i16 12817, i16 0, i16 14917, i16 16969, i16 12392, i16 0, i16 15941, i16 0, i16 15896, i16 0, i16 16197, i16 0, i16 0, i16 0, i16 16454, i16 0, i16 0, i16 0, i16 13639, i16 0, i16 0, i16 0, i16 14919, i16 0, i16 0, i16 0, i16 15175, i16 0, i16 14644, i16 0, i16 15687, i16 0, i16 16380, i16 0, i16 13384, i16 0, i16 0, i16 0, i16 13896, i16 0, i16 0, i16 0, i16 14408, i16 0, i16 0, i16 0, i16 13897, i16 0, i16 0, i16 0, i16 12618, i16 17068, i16 0, i16 0, i16 13642, i16 16781, i16 0, i16 0, i16 13898, i16 16924, i16 0, i16 0, i16 15178, i16 14797, i16 0, i16 0, i16 12363, i16 0, i16 0, i16 0, i16 14411, i16 16971, i16 0, i16 0, i16 14923, i16 0, i16 15843, i16 0, i16 15947, i16 0, i16 0, i16 0, i16 16459, i16 0, i16 0, i16 0, i16 16715, i16 0, i16 0, i16 0, i16 14156, i16 0, i16 0, i16 0, i16 12877, i16 0, i16 16806, i16 0, i16 13389, i16 0, i16 0, i16 0, i16 14157, i16 0, i16 0, i16 0, i16 16461, i16 0, i16 16018, i16 0, i16 16717, i16 0, i16 0, i16 0, i16 13902, i16 0, i16 0, i16 0, i16 14926, i16 0, i16 12720, i16 0, i16 15694, i16 0, i16 15793, i16 0, i16 15950, i16 0, i16 0, i16 0, i16 16974, i16 0, i16 0, i16 0, i16 12879, i16 0, i16 0, i16 0, i16 14671, i16 0, i16 0, i16 0, i16 15439, i16 0, i16 0, i16 0, i16 15695, i16 0, i16 0, i16 0, i16 14416, i16 0, i16 0, i16 0, i16 15696, i16 0, i16 16589, i16 0, i16 14673, i16 0, i16 0, i16 0, i16 16465, i16 0, i16 15220, i16 0, i16 14162, i16 0, i16 0, i16 0, i16 16466, i16 15454, i16 13875, i16 0, i16 12627, i16 0, i16 0, i16 0, i16 13139, i16 0, i16 15444, i16 0, i16 13395, i16 0, i16 0, i16 0, i16 13651, i16 0, i16 0, i16 0, i16 16979, i16 0, i16 0, i16 0, i16 13140, i16 0, i16 0, i16 0, i16 13908, i16 0, i16 0, i16 0, i16 14420, i16 0, i16 0, i16 0, i16 14676, i16 0, i16 0, i16 0, i16 16212, i16 0, i16 0, i16 0, i16 16724, i16 0, i16 0, i16 0, i16 13141, i16 15167, i16 12734, i16 0, i16 13653, i16 0, i16 0, i16 0, i16 14421, i16 0, i16 12527, i16 0, i16 14677, i16 0, i16 0, i16 0, i16 15701, i16 0, i16 0, i16 0, i16 16213, i16 0, i16 0, i16 0, i16 12374, i16 12375, i16 0, i16 0, i16 12630, i16 0, i16 0, i16 0, i16 14678, i16 0, i16 0, i16 0, i16 16982, i16 13183, i16 0, i16 0, i16 13655, i16 0, i16 16233, i16 0, i16 14935, i16 0, i16 0, i16 0, i16 15447, i16 0, i16 0, i16 0, i16 16471, i16 13382, i16 0, i16 0, i16 16983, i16 15838, i16 14030, i16 0, i16 12376, i16 0, i16 0, i16 0, i16 14168, i16 0, i16 0, i16 0, i16 16216, i16 0, i16 14287, i16 0, i16 16728, i16 0, i16 0, i16 0, i16 89, i16 0, i16 0, i16 0, i16 14425, i16 0, i16 0, i16 0, i16 15705, i16 0, i16 0, i16 0, i16 16473, i16 0, i16 13593, i16 0, i16 16985, i16 0, i16 13907, i16 0, i16 90, i16 91, i16 92, i16 0, i16 12891, i16 0, i16 0, i16 0, i16 13915, i16 0, i16 0, i16 0, i16 14171, i16 0, i16 0, i16 0, i16 15707, i16 0, i16 0, i16 0, i16 12892, i16 0, i16 0, i16 0, i16 13660, i16 0, i16 0, i16 0, i16 14428, i16 0, i16 0, i16 0, i16 14940, i16 0, i16 0, i16 0, i16 16220, i16 16689, i16 15887, i16 0, i16 16988, i16 0, i16 0, i16 0, i16 12893, i16 0, i16 12842, i16 0, i16 14685, i16 16372, i16 0, i16 0, i16 13918, i16 12927, i16 0, i16 0, i16 16734, i16 0, i16 15318, i16 0, i16 13663, i16 0, i16 16595, i16 0, i16 12640, i16 0, i16 0, i16 0, i16 14945, i16 0, i16 0, i16 0, i16 15457, i16 0, i16 0, i16 0, i16 15713, i16 16567, i16 0, i16 0, i16 16225, i16 0, i16 15660, i16 0, i16 12386, i16 0, i16 0, i16 0, i16 14690, i16 0, i16 17039, i16 0, i16 16482, i16 0, i16 0, i16 0, i16 12643, i16 15955, i16 12727, i16 0, i16 13155, i16 12358, i16 0, i16 0, i16 13411, i16 17107, i16 0, i16 0, i16 16227, i16 0, i16 0, i16 0, i16 13412, i16 0, i16 15652, i16 0, i16 13924, i16 14113, i16 0, i16 0, i16 15972, i16 17161, i16 14439, i16 0, i16 16740, i16 0, i16 0, i16 0, i16 12901, i16 0, i16 0, i16 0, i16 15205, i16 0, i16 13167, i16 0, i16 15973, i16 0, i16 0, i16 0, i16 16741, i16 0, i16 14792, i16 0, i16 12646, i16 0, i16 12827, i16 0, i16 12902, i16 16984, i16 13252, i16 0, i16 14182, i16 0, i16 0, i16 0, i16 15462, i16 0, i16 0, i16 0, i16 12903, i16 0, i16 0, i16 0, i16 13159, i16 0, i16 0, i16 0, i16 14183, i16 0, i16 0, i16 0, i16 15207, i16 0, i16 0, i16 0, i16 15719, i16 0, i16 0, i16 0, i16 872, i16 873, i16 874, i16 0, i16 13672, i16 0, i16 0, i16 0, i16 14184, i16 0, i16 13723, i16 0, i16 14440, i16 15702, i16 13754, i16 0, i16 14696, i16 0, i16 12323, i16 0, i16 16488, i16 0, i16 0, i16 0, i16 12649, i16 0, i16 0, i16 0, i16 13161, i16 15899, i16 0, i16 0, i16 14185, i16 0, i16 0, i16 0, i16 14441, i16 0, i16 0, i16 0, i16 13162, i16 0, i16 0, i16 0, i16 13419, i16 0, i16 0, i16 0, i16 14443, i16 0, i16 0, i16 0, i16 15979, i16 16623, i16 0, i16 0, i16 876, i16 877, i16 878, i16 0, i16 13932, i16 13543, i16 0, i16 0, i16 17004, i16 16055, i16 15825, i16 0, i16 12397, i16 13647, i16 0, i16 0, i16 13165, i16 17058, i16 13093, i16 0, i16 14957, i16 0, i16 16405, i16 0, i16 15469, i16 0, i16 0, i16 0, i16 16749, i16 0, i16 0, i16 0, i16 13166, i16 0, i16 13950, i16 0, i16 15470, i16 12770, i16 0, i16 0, i16 16494, i16 13846, i16 16862, i16 0, i16 12655, i16 16472, i16 0, i16 0, i16 12911, i16 0, i16 14435, i16 0, i16 14447, i16 13098, i16 0, i16 0, i16 15215, i16 0, i16 0, i16 0, i16 15471, i16 0, i16 0, i16 0, i16 15727, i16 15044, i16 0, i16 0, i16 17007, i16 15700, i16 12367, i16 0, i16 12400, i16 0, i16 0, i16 0, i16 12912, i16 0, i16 0, i16 0, i16 14192, i16 0, i16 0, i16 0, i16 16240, i16 15211, i16 0, i16 0, i16 16496, i16 0, i16 16462, i16 0, i16 12401, i16 0, i16 0, i16 0, i16 14193, i16 16914, i16 16725, i16 0, i16 15217, i16 0, i16 12511, i16 0, i16 16497, i16 0, i16 14251, i16 0, i16 12402, i16 0, i16 0, i16 0, i16 13682, i16 0, i16 15219, i16 0, i16 14962, i16 0, i16 16960, i16 0, i16 12659, i16 16333, i16 0, i16 0, i16 13683, i16 0, i16 0, i16 0, i16 13684, i16 0, i16 12944, i16 0, i16 16756, i16 16757, i16 12346, i16 0, i16 17012, i16 13397, i16 0, i16 0, i16 17013, i16 0, i16 0, i16 0, i16 13430, i16 0, i16 0, i16 0, i16 14454, i16 0, i16 0, i16 0, i16 15222, i16 0, i16 0, i16 0, i16 15990, i16 0, i16 12661, i16 0, i16 13943, i16 13179, i16 16645, i16 0, i16 14455, i16 0, i16 0, i16 0, i16 14967, i16 0, i16 0, i16 0, i16 17015, i16 0, i16 15677, i16 0, i16 12920, i16 0, i16 0, i16 0, i16 15736, i16 0, i16 14401, i16 0, i16 13433, i16 12583, i16 0, i16 0, i16 13945, i16 0, i16 0, i16 0, i16 17017, i16 0, i16 0, i16 0, i16 15226, i16 0, i16 0, i16 0, i16 15994, i16 16110, i16 0, i16 0, i16 16762, i16 0, i16 0, i16 0, i16 15739, i16 0, i16 0, i16 0, i16 16507, i16 0, i16 0, i16 0, i16 15740, i16 0, i16 0, i16 0, i16 13693, i16 0, i16 13630, i16 0, i16 13949, i16 0, i16 14130, i16 0, i16 14461, i16 0, i16 0, i16 0, i16 15741, i16 0, i16 0, i16 0, i16 382, i16 383, i16 384, i16 0, i16 12670, i16 0, i16 0, i16 0, i16 13694, i16 0, i16 0, i16 0, i16 14718, i16 0, i16 0, i16 0, i16 16254, i16 16540, i16 14067, i16 0, i16 17022, i16 0, i16 0, i16 0, i16 13951, i16 14569, i16 0, i16 0, i16 14719, i16 0, i16 0, i16 0, i16 14975, i16 0, i16 0, i16 0, i16 15999, i16 16395, i16 0, i16 0, i16 16255, i16 15970, i16 0, i16 0, i16 14464, i16 0, i16 0, i16 0, i16 16000, i16 0, i16 15654, i16 0, i16 16768, i16 0, i16 0, i16 0, i16 129, i16 130, i16 0, i16 0, i16 12417, i16 0, i16 0, i16 0, i16 14209, i16 0, i16 0, i16 0, i16 16257, i16 13839, i16 0, i16 0, i16 12418, i16 0, i16 0, i16 0, i16 13698, i16 0, i16 0, i16 0, i16 14722, i16 0, i16 0, i16 0, i16 16514, i16 0, i16 0, i16 0, i16 15236, i16 0, i16 12423, i16 0, i16 17028, i16 0, i16 14146, i16 0, i16 133, i16 0, i16 0, i16 0, i16 13957, i16 0, i16 0, i16 0, i16 14469, i16 0, i16 14664, i16 0, i16 15749, i16 15089, i16 0, i16 0, i16 16773, i16 0, i16 0, i16 0, i16 17029, i16 16890, i16 0, i16 0, i16 134, i16 0, i16 0, i16 0, i16 12422, i16 16944, i16 0, i16 0, i16 13702, i16 0, i16 0, i16 0, i16 14726, i16 12950, i16 15112, i16 0, i16 135, i16 0, i16 216, i16 0, i16 12935, i16 15489, i16 14213, i16 0, i16 13191, i16 13212, i16 14463, i16 0, i16 13959, i16 13804, i16 0, i16 0, i16 16007, i16 0, i16 16851, i16 0, i16 17031, i16 0, i16 15590, i16 0, i16 13192, i16 0, i16 14757, i16 0, i16 13448, i16 0, i16 0, i16 0, i16 14728, i16 0, i16 14610, i16 0, i16 16008, i16 0, i16 0, i16 0, i16 12681, i16 0, i16 0, i16 0, i16 15753, i16 0, i16 0, i16 0, i16 13194, i16 0, i16 14601, i16 0, i16 13706, i16 13328, i16 0, i16 0, i16 12683, i16 0, i16 0, i16 0, i16 16267, i16 13977, i16 0, i16 0, i16 16523, i16 0, i16 0, i16 0, i16 13196, i16 16505, i16 0, i16 0, i16 16268, i16 0, i16 0, i16 0, i16 15501, i16 0, i16 0, i16 0, i16 13966, i16 0, i16 14225, i16 0, i16 14222, i16 0, i16 15866, i16 0, i16 16782, i16 15483, i16 12909, i16 0, i16 14991, i16 0, i16 0, i16 0, i16 14224, i16 16057, i16 16615, i16 0, i16 14480, i16 0, i16 0, i16 0, i16 14736, i16 0, i16 16389, i16 0, i16 14992, i16 0, i16 12530, i16 0, i16 15760, i16 0, i16 15102, i16 0, i16 16528, i16 0, i16 12544, i16 0, i16 12689, i16 0, i16 0, i16 0, i16 14481, i16 0, i16 0, i16 0, i16 16017, i16 0, i16 16265, i16 0, i16 16273, i16 0, i16 0, i16 0, i16 17041, i16 12577, i16 0, i16 0, i16 13714, i16 0, i16 17088, i16 0, i16 13970, i16 0, i16 0, i16 0, i16 14994, i16 0, i16 0, i16 0, i16 13203, i16 0, i16 15248, i16 0, i16 13715, i16 0, i16 0, i16 0, i16 14227, i16 0, i16 14729, i16 0, i16 12436, i16 12560, i16 0, i16 0, i16 15508, i16 0, i16 0, i16 0, i16 16020, i16 13774, i16 13965, i16 0, i16 16788, i16 0, i16 13922, i16 0, i16 12949, i16 14112, i16 0, i16 0, i16 14485, i16 12372, i16 0, i16 0, i16 14997, i16 0, i16 0, i16 0, i16 15509, i16 17038, i16 0, i16 0, i16 15765, i16 0, i16 13172, i16 0, i16 16021, i16 0, i16 0, i16 0, i16 16533, i16 17065, i16 15937, i16 0, i16 14742, i16 0, i16 0, i16 0, i16 14998, i16 0, i16 0, i16 0, i16 16278, i16 12741, i16 0, i16 0, i16 16534, i16 0, i16 0, i16 0, i16 14487, i16 0, i16 0, i16 0, i16 16279, i16 0, i16 0, i16 0, i16 13720, i16 0, i16 14858, i16 0, i16 16280, i16 14376, i16 0, i16 0, i16 13721, i16 0, i16 13661, i16 0, i16 15769, i16 0, i16 0, i16 0, i16 16025, i16 0, i16 12517, i16 0, i16 13978, i16 0, i16 0, i16 0, i16 14234, i16 0, i16 0, i16 0, i16 14490, i16 0, i16 16578, i16 0, i16 13467, i16 0, i16 0, i16 0, i16 15259, i16 0, i16 0, i16 0, i16 13724, i16 13489, i16 0, i16 0, i16 14492, i16 0, i16 0, i16 0, i16 15260, i16 0, i16 0, i16 0, i16 12445, i16 0, i16 0, i16 0, i16 13981, i16 0, i16 0, i16 0, i16 14749, i16 0, i16 15349, i16 0, i16 16797, i16 14625, i16 0, i16 0, i16 14750, i16 0, i16 14516, i16 0, i16 15262, i16 0, i16 0, i16 0, i16 15774, i16 0, i16 0, i16 0, i16 16286, i16 13429, i16 14081, i16 0, i16 12703, i16 0, i16 0, i16 0, i16 12959, i16 0, i16 0, i16 0, i16 13471, i16 0, i16 0, i16 0, i16 16799, i16 0, i16 0, i16 0, i16 14240, i16 0, i16 0, i16 0, i16 15264, i16 0, i16 0, i16 0, i16 16288, i16 0, i16 0, i16 0, i16 12449, i16 0, i16 0, i16 0, i16 14754, i16 0, i16 0, i16 0, i16 16034, i16 0, i16 14965, i16 0, i16 13219, i16 0, i16 0, i16 0, i16 13475, i16 12802, i16 0, i16 0, i16 13987, i16 0, i16 0, i16 0, i16 14499, i16 0, i16 14961, i16 0, i16 14755, i16 0, i16 0, i16 0, i16 15011, i16 0, i16 0, i16 0, i16 16035, i16 0, i16 0, i16 0, i16 16803, i16 0, i16 14505, i16 0, i16 13988, i16 0, i16 0, i16 0, i16 15012, i16 0, i16 13477, i16 0, i16 15268, i16 0, i16 0, i16 0, i16 12453, i16 0, i16 0, i16 0, i16 14245, i16 0, i16 0, i16 0, i16 15270, i16 13548, i16 0, i16 0, i16 13223, i16 12676, i16 0, i16 0, i16 15015, i16 0, i16 14969, i16 0, i16 16039, i16 0, i16 0, i16 0, i16 16551, i16 0, i16 0, i16 0, i16 13992, i16 12922, i16 12751, i16 0, i16 14248, i16 0, i16 13984, i16 0, i16 15016, i16 0, i16 0, i16 0, i16 169, i16 347, i16 0, i16 0, i16 14761, i16 0, i16 0, i16 0, i16 16809, i16 0, i16 15476, i16 0, i16 12970, i16 0, i16 0, i16 0, i16 14506, i16 12454, i16 0, i16 0, i16 14762, i16 0, i16 0, i16 0, i16 15786, i16 16009, i16 0, i16 0, i16 14507, i16 0, i16 13835, i16 0, i16 16555, i16 14270, i16 15187, i16 0, i16 12716, i16 16963, i16 13886, i16 0, i16 13740, i16 0, i16 0, i16 0, i16 14252, i16 0, i16 13592, i16 0, i16 15532, i16 0, i16 0, i16 0, i16 173, i16 0, i16 0, i16 0, i16 12461, i16 0, i16 0, i16 0, i16 14510, i16 12978, i16 0, i16 0, i16 16814, i16 0, i16 0, i16 0, i16 12719, i16 15416, i16 0, i16 0, i16 13231, i16 0, i16 0, i16 0, i16 13487, i16 0, i16 0, i16 0, i16 16047, i16 0, i16 0, i16 0, i16 16303, i16 13486, i16 15435, i16 0, i16 12464, i16 0, i16 0, i16 0, i16 13232, i16 0, i16 14864, i16 0, i16 14000, i16 0, i16 0, i16 0, i16 15280, i16 0, i16 0, i16 0, i16 16304, i16 0, i16 0, i16 0, i16 17072, i16 0, i16 13786, i16 0, i16 13745, i16 0, i16 0, i16 0, i16 14001, i16 0, i16 16036, i16 0, i16 17073, i16 0, i16 0, i16 0, i16 12722, i16 0, i16 0, i16 0, i16 14002, i16 13056, i16 16377, i16 0, i16 16306, i16 0, i16 0, i16 0, i16 12467, i16 0, i16 0, i16 0, i16 12979, i16 15210, i16 0, i16 0, i16 13235, i16 16467, i16 0, i16 0, i16 14003, i16 0, i16 12539, i16 0, i16 14259, i16 0, i16 0, i16 0, i16 12468, i16 0, i16 0, i16 0, i16 13236, i16 0, i16 0, i16 0, i16 13748, i16 0, i16 0, i16 0, i16 14772, i16 0, i16 0, i16 0, i16 14261, i16 0, i16 16750, i16 0, i16 15797, i16 0, i16 15079, i16 0, i16 182, i16 181, i16 0, i16 0, i16 12982, i16 0, i16 0, i16 0, i16 16566, i16 14236, i16 12396, i16 0, i16 14007, i16 0, i16 14200, i16 0, i16 15287, i16 15298, i16 0, i16 0, i16 16311, i16 0, i16 0, i16 0, i16 17079, i16 0, i16 16957, i16 0, i16 14008, i16 0, i16 0, i16 0, i16 14264, i16 0, i16 0, i16 0, i16 15032, i16 0, i16 0, i16 0, i16 15800, i16 0, i16 12647, i16 0, i16 17080, i16 0, i16 0, i16 0, i16 14777, i16 0, i16 12653, i16 0, i16 12730, i16 13939, i16 0, i16 0, i16 13242, i16 0, i16 0, i16 0, i16 17082, i16 15463, i16 0, i16 0, i16 13243, i16 0, i16 0, i16 0, i16 13499, i16 0, i16 12619, i16 0, i16 15547, i16 0, i16 0, i16 0, i16 16059, i16 0, i16 0, i16 0, i16 16827, i16 0, i16 0, i16 0, i16 12732, i16 0, i16 0, i16 0, i16 14780, i16 0, i16 0, i16 0, i16 16060, i16 16222, i16 16477, i16 0, i16 14013, i16 0, i16 0, i16 0, i16 16829, i16 14875, i16 0, i16 0, i16 12478, i16 0, i16 13819, i16 0, i16 16318, i16 0, i16 0, i16 0, i16 17086, i16 16766, i16 0, i16 0, i16 959, i16 960, i16 961, i16 0, i16 12479, i16 17114, i16 0, i16 0, i16 16831, i16 0, i16 0, i16 0, i16 17087, i16 0, i16 14320, i16 0, i16 12736, i16 0, i16 0, i16 0, i16 14784, i16 0, i16 0, i16 0, i16 15296, i16 0, i16 0, i16 0, i16 14529, i16 15967, i16 0, i16 0, i16 14785, i16 0, i16 14535, i16 0, i16 16577, i16 0, i16 16787, i16 0, i16 14018, i16 0, i16 12889, i16 0, i16 15554, i16 16918, i16 14331, i16 0, i16 17090, i16 0, i16 0, i16 0, i16 13507, i16 0, i16 0, i16 0, i16 14787, i16 14334, i16 12388, i16 0, i16 15555, i16 13137, i16 0, i16 0, i16 16067, i16 0, i16 14279, i16 0, i16 16835, i16 0, i16 0, i16 0, i16 14276, i16 0, i16 0, i16 0, i16 14532, i16 0, i16 0, i16 0, i16 15812, i16 0, i16 0, i16 0, i16 16580, i16 0, i16 16561, i16 0, i16 17092, i16 13324, i16 0, i16 0, i16 12485, i16 0, i16 0, i16 0, i16 13509, i16 0, i16 0, i16 0, i16 16581, i16 0, i16 0, i16 0, i16 17093, i16 14943, i16 0, i16 0, i16 13766, i16 16326, i16 0, i16 0, i16 15302, i16 0, i16 0, i16 0, i16 12487, i16 16568, i16 0, i16 0, i16 15559, i16 0, i16 0, i16 0, i16 15815, i16 0, i16 13257, i16 0, i16 16327, i16 0, i16 0, i16 0, i16 16583, i16 0, i16 0, i16 0, i16 12488, i16 0, i16 0, i16 0, i16 12744, i16 0, i16 16842, i16 0, i16 14024, i16 17150, i16 0, i16 0, i16 15048, i16 0, i16 0, i16 0, i16 13769, i16 0, i16 0, i16 0, i16 14537, i16 0, i16 0, i16 0, i16 14538, i16 0, i16 0, i16 0, i16 16330, i16 0, i16 0, i16 0, i16 12491, i16 0, i16 0, i16 0, i16 12747, i16 0, i16 0, i16 0, i16 14283, i16 0, i16 0, i16 0, i16 15563, i16 15180, i16 0, i16 0, i16 16331, i16 0, i16 0, i16 0, i16 16587, i16 16365, i16 0, i16 0, i16 204, i16 160, i16 0, i16 0, i16 12492, i16 0, i16 0, i16 0, i16 12748, i16 12463, i16 14825, i16 0, i16 15564, i16 14603, i16 14662, i16 0, i16 16076, i16 16453, i16 0, i16 0, i16 12493, i16 13904, i16 0, i16 0, i16 14029, i16 0, i16 0, i16 0, i16 12750, i16 0, i16 13916, i16 0, i16 15054, i16 0, i16 0, i16 0, i16 16334, i16 0, i16 0, i16 0, i16 16846, i16 0, i16 0, i16 0, i16 15312, i16 16790, i16 14958, i16 0, i16 15824, i16 0, i16 0, i16 0, i16 12497, i16 0, i16 0, i16 0, i16 12498, i16 16586, i16 0, i16 0, i16 13266, i16 0, i16 0, i16 0, i16 16082, i16 0, i16 0, i16 0, i16 16338, i16 16898, i16 0, i16 0, i16 13267, i16 0, i16 0, i16 0, i16 15571, i16 0, i16 13048, i16 0, i16 16339, i16 0, i16 0, i16 0, i16 13268, i16 0, i16 16251, i16 0, i16 14548, i16 0, i16 13322, i16 0, i16 17108, i16 0, i16 0, i16 0, i16 13525, i16 0, i16 0, i16 0, i16 14549, i16 16208, i16 0, i16 0, i16 15061, i16 16355, i16 12754, i16 0, i16 16085, i16 0, i16 16086, i16 0, i16 16341, i16 0, i16 0, i16 0, i16 12758, i16 0, i16 0, i16 0, i16 13782, i16 13206, i16 0, i16 0, i16 14038, i16 0, i16 0, i16 0, i16 14294, i16 0, i16 0, i16 0, i16 13271, i16 15273, i16 0, i16 0, i16 14551, i16 0, i16 0, i16 0, i16 15063, i16 0, i16 0, i16 0, i16 15319, i16 15008, i16 0, i16 0, i16 16087, i16 0, i16 0, i16 0, i16 16855, i16 0, i16 0, i16 0, i16 17111, i16 0, i16 0, i16 0, i16 13528, i16 0, i16 0, i16 0, i16 15320, i16 13709, i16 0, i16 0, i16 15576, i16 0, i16 0, i16 0, i16 15832, i16 0, i16 0, i16 0, i16 17112, i16 0, i16 15491, i16 0, i16 15577, i16 15748, i16 0, i16 0, i16 16857, i16 0, i16 0, i16 0, i16 17113, i16 0, i16 0, i16 0, i16 12506, i16 0, i16 0, i16 0, i16 13530, i16 0, i16 16095, i16 0, i16 15834, i16 16856, i16 0, i16 0, i16 16090, i16 0, i16 15381, i16 0, i16 16346, i16 0, i16 0, i16 0, i16 16858, i16 0, i16 0, i16 0, i16 12507, i16 15526, i16 12403, i16 0, i16 16091, i16 0, i16 0, i16 0, i16 16347, i16 14430, i16 0, i16 0, i16 14044, i16 0, i16 0, i16 0, i16 14556, i16 0, i16 13251, i16 0, i16 12765, i16 0, i16 0, i16 0, i16 17117, i16 0, i16 0, i16 0, i16 14302, i16 0, i16 0, i16 0, i16 16094, i16 0, i16 12956, i16 0, i16 12767, i16 0, i16 0, i16 0, i16 15583, i16 0, i16 14655, i16 0, i16 14304, i16 15497, i16 0, i16 0, i16 14560, i16 0, i16 0, i16 0, i16 15840, i16 0, i16 16260, i16 0, i16 13281, i16 0, i16 0, i16 0, i16 14049, i16 0, i16 0, i16 0, i16 16097, i16 0, i16 12370, i16 0, i16 15074, i16 0, i16 0, i16 0, i16 15330, i16 15690, i16 15960, i16 0, i16 16866, i16 0, i16 0, i16 0, i16 227, i16 0, i16 0, i16 0, i16 12515, i16 0, i16 13876, i16 0, i16 14563, i16 0, i16 0, i16 0, i16 16611, i16 0, i16 0, i16 0, i16 12516, i16 0, i16 0, i16 0, i16 13284, i16 0, i16 0, i16 0, i16 13540, i16 0, i16 0, i16 0, i16 13796, i16 0, i16 0, i16 0, i16 14308, i16 0, i16 0, i16 0, i16 14309, i16 0, i16 0, i16 0, i16 14565, i16 0, i16 16525, i16 0, i16 16101, i16 14818, i16 0, i16 0, i16 16357, i16 14010, i16 0, i16 0, i16 14566, i16 0, i16 0, i16 0, i16 15334, i16 0, i16 0, i16 0, i16 16102, i16 16942, i16 15214, i16 0, i16 15847, i16 0, i16 0, i16 0, i16 16359, i16 15252, i16 0, i16 0, i16 232, i16 0, i16 0, i16 0, i16 15336, i16 0, i16 15165, i16 0, i16 16361, i16 15730, i16 0, i16 0, i16 14058, i16 0, i16 0, i16 0, i16 14314, i16 0, i16 0, i16 0, i16 15082, i16 12921, i16 14023, i16 0, i16 12779, i16 0, i16 0, i16 0, i16 13035, i16 0, i16 0, i16 0, i16 15083, i16 16001, i16 0, i16 0, i16 15595, i16 0, i16 0, i16 0, i16 16107, i16 0, i16 14187, i16 0, i16 16363, i16 0, i16 0, i16 0, i16 236, i16 0, i16 0, i16 0, i16 15596, i16 0, i16 0, i16 0, i16 16876, i16 0, i16 0, i16 0, i16 14061, i16 0, i16 0, i16 0, i16 14829, i16 14436, i16 16437, i16 0, i16 16621, i16 15846, i16 0, i16 0, i16 17133, i16 0, i16 0, i16 0, i16 12782, i16 0, i16 0, i16 0, i16 14318, i16 0, i16 14389, i16 0, i16 15598, i16 12969, i16 0, i16 0, i16 239, i16 0, i16 0, i16 0, i16 13295, i16 0, i16 0, i16 0, i16 496, i16 497, i16 498, i16 0, i16 12784, i16 0, i16 14922, i16 0, i16 16624, i16 0, i16 0, i16 0, i16 16880, i16 16428, i16 16881, i16 0, i16 14322, i16 15067, i16 0, i16 0, i16 14578, i16 0, i16 0, i16 0, i16 15602, i16 0, i16 0, i16 0, i16 12531, i16 0, i16 0, i16 0, i16 13299, i16 14574, i16 0, i16 0, i16 15859, i16 12469, i16 0, i16 0, i16 17139, i16 0, i16 0, i16 0, i16 12532, i16 0, i16 0, i16 0, i16 14836, i16 0, i16 0, i16 0, i16 13301, i16 0, i16 0, i16 0, i16 13557, i16 13244, i16 16772, i16 0, i16 12534, i16 0, i16 13973, i16 0, i16 13814, i16 13690, i16 0, i16 0, i16 14070, i16 0, i16 0, i16 0, i16 15862, i16 0, i16 0, i16 0, i16 16118, i16 0, i16 0, i16 0, i16 13303, i16 0, i16 0, i16 0, i16 13559, i16 14258, i16 0, i16 0, i16 14327, i16 14477, i16 0, i16 0, i16 16119, i16 0, i16 13937, i16 0, i16 16887, i16 0, i16 0, i16 0, i16 17143, i16 12677, i16 0, i16 0, i16 14840, i16 12604, i16 15706, i16 0, i16 14329, i16 0, i16 15728, i16 0, i16 16633, i16 0, i16 15151, i16 0, i16 13818, i16 16626, i16 15466, i16 0, i16 14330, i16 0, i16 0, i16 0, i16 16634, i16 12664, i16 0, i16 0, i16 251, i16 0, i16 0, i16 0, i16 13307, i16 0, i16 12887, i16 0, i16 16123, i16 0, i16 0, i16 0, i16 16379, i16 0, i16 0, i16 0, i16 16635, i16 0, i16 0, i16 0, i16 17147, i16 16591, i16 0, i16 0, i16 12796, i16 0, i16 0, i16 0, i16 14844, i16 0, i16 0, i16 0, i16 15356, i16 0, i16 0, i16 0, i16 15868, i16 0, i16 0, i16 0, i16 16636, i16 0, i16 0, i16 0, i16 16892, i16 13247, i16 0, i16 0, i16 12797, i16 0, i16 0, i16 0, i16 15613, i16 14079, i16 0, i16 0, i16 12286, i16 0, i16 13968, i16 0, i16 14078, i16 0, i16 0, i16 0, i16 14590, i16 13127, i16 0, i16 0, i16 15614, i16 13555, i16 13688, i16 0, i16 15870, i16 0, i16 0, i16 0, i16 16126, i16 0, i16 0, i16 0, i16 16382, i16 0, i16 0, i16 0, i16 12543, i16 0, i16 13728, i16 0, i16 13823, i16 0, i16 13674, i16 0, i16 15615, i16 12820, i16 0, i16 15104, i16 0, i16 0, i16 0, i16 15616, i16 13933, i16 15995, i16 0, i16 16128, i16 0, i16 0, i16 12308, i16 16640, i16 0, i16 0, i16 16054, i16 17152, i16 12348, i16 0, i16 0, i16 257, i16 258, i16 261, i16 260, i16 12801, i16 0, i16 0, i16 0, i16 13569, i16 16879, i16 0, i16 0, i16 14849, i16 0, i16 0, i16 0, i16 15617, i16 14776, i16 0, i16 0, i16 15873, i16 0, i16 14896, i16 0, i16 16385, i16 0, i16 0, i16 0, i16 514, i16 515, i16 516, i16 517, i16 770, i16 771, i16 772, i16 0, i16 1026, i16 1027, i16 1028, i16 1029, i16 13058, i16 12645, i16 0, i16 14683, i16 15874, i16 0, i16 0, i16 12460, i16 16386, i16 0, i16 0, i16 0, i16 259, i16 262, i16 0, i16 0, i16 12803, i16 0, i16 0, i16 0, i16 13059, i16 13351, i16 0, i16 0, i16 14083, i16 14084, i16 0, i16 0, i16 15107, i16 0, i16 0, i16 0, i16 16387, i16 0, i16 15688, i16 0, i16 16643, i16 0, i16 0, i16 0, i16 17155, i16 0, i16 16783, i16 0, i16 13828, i16 0, i16 0, i16 0, i16 15108, i16 12610, i16 14517, i16 0, i16 15364, i16 15365, i16 12936, i16 0, i16 15876, i16 0, i16 0, i16 0, i16 12805, i16 13691, i16 0, i16 0, i16 14853, i16 0, i16 0, i16 0, i16 15621, i16 0, i16 0, i16 0, i16 16901, i16 0, i16 0, i16 16677, i16 17157, i16 0, i16 0, i16 0, i16 518, i16 519, i16 0, i16 0, i16 1030, i16 1031, i16 1032, i16 1033, i16 13574, i16 0, i16 0, i16 0, i16 13830, i16 0, i16 0, i16 0, i16 14086, i16 0, i16 0, i16 0, i16 14342, i16 15893, i16 15892, i16 0, i16 7, i16 8, i16 9, i16 10, i16 263, i16 277, i16 278, i16 0, i16 775, i16 0, i16 0, i16 0, i16 12807, i16 0, i16 0, i16 0, i16 13319, i16 0, i16 0, i16 0, i16 13831, i16 0, i16 0, i16 0, i16 14855, i16 0, i16 0, i16 0, i16 15367, i16 0, i16 0, i16 17002, i16 15879, i16 14820, i16 14767, i16 0, i16 17159, i16 17158, i16 16518, i16 0, i16 776, i16 773, i16 777, i16 233, i16 12552, i16 16573, i16 0, i16 14188, i16 12808, i16 0, i16 0, i16 0, i16 13576, i16 12432, i16 0, i16 0, i16 16904, i16 0, i16 0, i16 0, i16 13065, i16 0, i16 0, i16 0, i16 13321, i16 13327, i16 13330, i16 13434, i16 14345, i16 13568, i16 0, i16 0, i16 15113, i16 14228, i16 0, i16 0, i16 15369, i16 15370, i16 0, i16 0, i16 16393, i16 13771, i16 0, i16 0, i16 266, i16 0, i16 267, i16 0, i16 1034, i16 1035, i16 1036, i16 1037, i16 12298, i16 0, i16 16519, i16 0, i16 12554, i16 0, i16 0, i16 0, i16 14090, i16 15681, i16 12652, i16 0, i16 11, i16 12, i16 13, i16 14, i16 523, i16 524, i16 525, i16 526, i16 779, i16 780, i16 781, i16 0, i16 15371, i16 0, i16 12852, i16 0, i16 15627, i16 0, i16 0, i16 0, i16 16907, i16 14760, i16 0, i16 0, i16 12812, i16 0, i16 13177, i16 0, i16 13068, i16 13069, i16 13070, i16 13072, i16 13580, i16 16024, i16 14835, i16 13381, i16 14604, i16 15275, i16 0, i16 0, i16 15372, i16 12415, i16 0, i16 12648, i16 269, i16 270, i16 0, i16 0, i16 12301, i16 12570, i16 0, i16 12599, i16 12813, i16 0, i16 0, i16 15111, i16 13581, i16 12989, i16 0, i16 0, i16 13837, i16 0, i16 16492, i16 0, i16 14093, i16 0, i16 0, i16 12975, i16 14861, i16 0, i16 15592, i16 0, i16 16141, i16 0, i16 0, i16 0, i16 16653, i16 0, i16 0, i16 0, i16 1038, i16 1039, i16 1040, i16 1041, i16 12814, i16 0, i16 0, i16 12706, i16 13838, i16 14545, i16 16980, i16 0, i16 15374, i16 15377, i16 15382, i16 15384, i16 15630, i16 0, i16 0, i16 0, i16 15886, i16 15536, i16 0, i16 14123, i16 16142, i16 14132, i16 14450, i16 0, i16 15, i16 16, i16 17, i16 18, i16 527, i16 528, i16 529, i16 530, i16 12303, i16 13730, i16 0, i16 0, i16 14095, i16 0, i16 0, i16 0, i16 15375, i16 0, i16 0, i16 0, i16 15631, i16 14274, i16 14286, i16 16727, i16 16143, i16 0, i16 0, i16 12638, i16 16399, i16 0, i16 14372, i16 0, i16 784, i16 0, i16 0, i16 0, i16 13840, i16 0, i16 12299, i16 0, i16 14096, i16 16478, i16 0, i16 0, i16 17168, i16 0, i16 0, i16 0, i16 12305, i16 0, i16 0, i16 13199, i16 12561, i16 0, i16 0, i16 0, i16 13073, i16 13074, i16 13075, i16 13076, i16 14097, i16 0, i16 0, i16 0, i16 14865, i16 0, i16 0, i16 0, i16 15633, i16 12694, i16 0, i16 12377, i16 16401, i16 0, i16 12835, i16 0, i16 1042, i16 1043, i16 1044, i16 0, i16 13586, i16 0, i16 14476, i16 0, i16 13842, i16 12965, i16 0, i16 14265, i16 14098, i16 0, i16 0, i16 0, i16 15122, i16 15419, i16 0, i16 15300, i16 15634, i16 13210, i16 0, i16 0, i16 16402, i16 0, i16 0, i16 12309, i16 17170, i16 16987, i16 16811, i16 14313, i16 19, i16 20, i16 21, i16 0, i16 275, i16 273, i16 0, i16 0, i16 531, i16 532, i16 533, i16 534, i16 12307, i16 0, i16 15734, i16 0, i16 13587, i16 0, i16 0, i16 0, i16 16403, i16 12791, i16 0, i16 0, i16 788, i16 0, i16 0, i16 0, i16 12564, i16 12629, i16 0, i16 14470, i16 14868, i16 14870, i16 14874, i16 14910, i16 16916, i16 13696, i16 0, i16 0, i16 789, i16 697, i16 790, i16 0, i16 1045, i16 1046, i16 1047, i16 1048, i16 12565, i16 0, i16 0, i16 0, i16 12821, i16 0, i16 0, i16 0, i16 13077, i16 13079, i16 13080, i16 13081, i16 13333, i16 0, i16 0, i16 0, i16 14357, i16 0, i16 0, i16 0, i16 14613, i16 13502, i16 0, i16 0, i16 14869, i16 0, i16 0, i16 0, i16 15637, i16 14361, i16 14107, i16 0, i16 22, i16 0, i16 23, i16 24, i16 16150, i16 14012, i16 13767, i16 0, i16 279, i16 276, i16 0, i16 0, i16 535, i16 536, i16 0, i16 537, i16 791, i16 0, i16 0, i16 0, i16 12567, i16 0, i16 0, i16 15172, i16 12823, i16 16179, i16 15581, i16 12312, i16 13847, i16 0, i16 0, i16 13811, i16 14359, i16 0, i16 0, i16 0, i16 14615, i16 0, i16 0, i16 14235, i16 15127, i16 0, i16 15766, i16 0, i16 15383, i16 0, i16 13753, i16 0, i16 12568, i16 0, i16 0, i16 13306, i16 12824, i16 0, i16 15607, i16 12864, i16 14104, i16 0, i16 0, i16 0, i16 14872, i16 0, i16 0, i16 0, i16 15640, i16 0, i16 0, i16 14139, i16 25, i16 26, i16 27, i16 28, i16 281, i16 0, i16 0, i16 0, i16 1049, i16 1050, i16 1052, i16 1053, i16 12313, i16 13332, i16 0, i16 12825, i16 14617, i16 0, i16 13773, i16 15987, i16 16409, i16 0, i16 15799, i16 0, i16 538, i16 539, i16 540, i16 541, i16 12314, i16 0, i16 0, i16 0, i16 12826, i16 0, i16 0, i16 12800, i16 13082, i16 13083, i16 13084, i16 13085, i16 14106, i16 16843, i16 0, i16 16575, i16 14618, i16 0, i16 0, i16 0, i16 15642, i16 0, i16 0, i16 0, i16 13339, i16 15747, i16 0, i16 0, i16 13851, i16 0, i16 13432, i16 0, i16 14363, i16 0, i16 0, i16 15368, i16 14619, i16 0, i16 0, i16 0, i16 15131, i16 0, i16 0, i16 16830, i16 16411, i16 0, i16 0, i16 0, i16 16923, i16 14142, i16 0, i16 14540, i16 12316, i16 0, i16 0, i16 16908, i16 13596, i16 0, i16 15599, i16 0, i16 14364, i16 17134, i16 0, i16 0, i16 14876, i16 0, i16 0, i16 0, i16 15388, i16 15391, i16 15393, i16 15394, i16 29, i16 30, i16 31, i16 32, i16 12317, i16 0, i16 0, i16 15758, i16 12573, i16 0, i16 0, i16 0, i16 13341, i16 0, i16 0, i16 0, i16 14109, i16 0, i16 0, i16 13273, i16 15389, i16 0, i16 14346, i16 14634, i16 286, i16 0, i16 0, i16 679, i16 542, i16 543, i16 0, i16 0, i16 798, i16 799, i16 800, i16 801, i16 1054, i16 1055, i16 1056, i16 1057, i16 12574, i16 0, i16 14714, i16 0, i16 13086, i16 13087, i16 13088, i16 13089, i16 13598, i16 0, i16 0, i16 0, i16 14366, i16 0, i16 0, i16 13288, i16 14622, i16 0, i16 0, i16 13168, i16 14878, i16 14663, i16 0, i16 0, i16 13343, i16 0, i16 0, i16 16050, i16 13855, i16 13834, i16 0, i16 12997, i16 14111, i16 12898, i16 0, i16 14936, i16 14367, i16 0, i16 0, i16 0, i16 15647, i16 0, i16 0, i16 0, i16 16159, i16 0, i16 0, i16 0, i16 544, i16 555, i16 545, i16 556, i16 13600, i16 0, i16 0, i16 0, i16 13856, i16 16531, i16 0, i16 0, i16 14880, i16 0, i16 0, i16 0, i16 16160, i16 0, i16 0, i16 0, i16 16416, i16 0, i16 13817, i16 0, i16 33, i16 34, i16 35, i16 36, i16 13857, i16 0, i16 0, i16 0, i16 546, i16 583, i16 582, i16 557, i16 802, i16 803, i16 804, i16 805, i16 1058, i16 1059, i16 1060, i16 1061, i16 12578, i16 0, i16 0, i16 0, i16 12834, i16 16537, i16 13775, i16 0, i16 14626, i16 0, i16 0, i16 0, i16 15138, i16 0, i16 0, i16 0, i16 16930, i16 0, i16 0, i16 0, i16 291, i16 292, i16 293, i16 294, i16 547, i16 577, i16 576, i16 558, i16 12579, i16 12755, i16 0, i16 0, i16 13091, i16 13092, i16 13096, i16 13097, i16 13347, i16 0, i16 0, i16 0, i16 14627, i16 14539, i16 15436, i16 0, i16 15651, i16 0, i16 15105, i16 0, i16 16931, i16 0, i16 0, i16 12335, i16 548, i16 579, i16 578, i16 559, i16 15908, i16 0, i16 0, i16 0, i16 16164, i16 0, i16 13836, i16 0, i16 16932, i16 15385, i16 0, i16 0, i16 37, i16 38, i16 39, i16 40, i16 549, i16 581, i16 580, i16 560, i16 13349, i16 0, i16 0, i16 0, i16 13605, i16 0, i16 0, i16 0, i16 13861, i16 0, i16 14594, i16 15626, i16 14629, i16 0, i16 12476, i16 0, i16 14885, i16 0, i16 0, i16 0, i16 15141, i16 0, i16 0, i16 12717, i16 15397, i16 0, i16 0, i16 0, i16 15653, i16 0, i16 0, i16 16014, i16 550, i16 571, i16 584, i16 585, i16 806, i16 807, i16 808, i16 809, i16 1062, i16 1063, i16 1064, i16 1065, i16 12326, i16 0, i16 0, i16 0, i16 13606, i16 0, i16 0, i16 0, i16 14118, i16 16596, i16 15068, i16 14731, i16 14886, i16 0, i16 12514, i16 0, i16 16422, i16 0, i16 14654, i16 0, i16 295, i16 296, i16 297, i16 298, i16 551, i16 592, i16 593, i16 567, i16 12839, i16 0, i16 0, i16 0, i16 13607, i16 14883, i16 16707, i16 0, i16 13863, i16 0, i16 0, i16 0, i16 15399, i16 0, i16 0, i16 0, i16 15655, i16 14031, i16 14395, i16 0, i16 16167, i16 0, i16 15903, i16 0, i16 16935, i16 0, i16 0, i16 0, i16 552, i16 573, i16 588, i16 589, i16 13352, i16 0, i16 0, i16 0, i16 13608, i16 0, i16 0, i16 0, i16 14120, i16 0, i16 15293, i16 0, i16 15144, i16 0, i16 0, i16 0, i16 15912, i16 12541, i16 13870, i16 0, i16 41, i16 42, i16 43, i16 44, i16 553, i16 596, i16 597, i16 569, i16 12585, i16 0, i16 0, i16 0, i16 12841, i16 12810, i16 0, i16 0, i16 13865, i16 0, i16 0, i16 13462, i16 14377, i16 12693, i16 0, i16 12872, i16 15913, i16 0, i16 0, i16 0, i16 16169, i16 12857, i16 0, i16 13290, i16 554, i16 600, i16 601, i16 570, i16 810, i16 811, i16 812, i16 813, i16 1066, i16 1067, i16 1068, i16 1069, i16 13866, i16 0, i16 14612, i16 0, i16 14378, i16 0, i16 16272, i16 13312, i16 15402, i16 0, i16 0, i16 0, i16 16426, i16 14161, i16 0, i16 0, i16 16682, i16 0, i16 0, i16 0, i16 16938, i16 0, i16 16694, i16 16603, i16 299, i16 300, i16 301, i16 302, i16 12331, i16 0, i16 0, i16 0, i16 13099, i16 13100, i16 13102, i16 13103, i16 13867, i16 0, i16 0, i16 0, i16 15659, i16 0, i16 0, i16 14841, i16 13612, i16 0, i16 16751, i16 13410, i16 14636, i16 0, i16 0, i16 0, i16 14892, i16 14009, i16 0, i16 0, i16 15148, i16 0, i16 15943, i16 12679, i16 15916, i16 0, i16 0, i16 0, i16 16940, i16 16394, i16 14706, i16 0, i16 45, i16 46, i16 47, i16 48, i16 12333, i16 0, i16 0, i16 12297, i16 12845, i16 0, i16 0, i16 14223, i16 13357, i16 16618, i16 0, i16 0, i16 13613, i16 14635, i16 0, i16 0, i16 13869, i16 0, i16 0, i16 0, i16 15661, i16 0, i16 0, i16 0, i16 15917, i16 16642, i16 0, i16 0, i16 16173, i16 0, i16 0, i16 13254, i16 814, i16 815, i16 816, i16 817, i16 1070, i16 1071, i16 1072, i16 1073, i16 12846, i16 0, i16 16637, i16 13664, i16 303, i16 304, i16 305, i16 306, i16 12847, i16 0, i16 0, i16 0, i16 13615, i16 0, i16 13985, i16 0, i16 13871, i16 0, i16 0, i16 0, i16 14895, i16 0, i16 15844, i16 14089, i16 12592, i16 0, i16 16205, i16 0, i16 13104, i16 13105, i16 13106, i16 13107, i16 13872, i16 0, i16 0, i16 0, i16 15152, i16 0, i16 12319, i16 12545, i16 49, i16 50, i16 51, i16 52, i16 13873, i16 0, i16 0, i16 0, i16 14129, i16 0, i16 0, i16 0, i16 14897, i16 0, i16 0, i16 0, i16 15665, i16 0, i16 16344, i16 16912, i16 15921, i16 16016, i16 14055, i16 13417, i16 16177, i16 0, i16 0, i16 14753, i16 818, i16 819, i16 820, i16 821, i16 1074, i16 1075, i16 1076, i16 1077, i16 15410, i16 15411, i16 15413, i16 15417, i16 16178, i16 14405, i16 0, i16 0, i16 16434, i16 15807, i16 15243, i16 0, i16 307, i16 308, i16 309, i16 310, i16 12339, i16 0, i16 0, i16 15839, i16 14131, i16 0, i16 0, i16 0, i16 14387, i16 0, i16 0, i16 0, i16 14643, i16 15448, i16 0, i16 0, i16 15155, i16 0, i16 0, i16 0, i16 15667, i16 0, i16 0, i16 0, i16 16435, i16 0, i16 0, i16 12749, i16 12596, i16 0, i16 0, i16 0, i16 13108, i16 13109, i16 13114, i16 13115, i16 13364, i16 14877, i16 0, i16 0, i16 14900, i16 0, i16 0, i16 0, i16 16436, i16 0, i16 0, i16 0, i16 53, i16 54, i16 55, i16 56, i16 12597, i16 0, i16 0, i16 16939, i16 13877, i16 0, i16 16491, i16 15185, i16 14901, i16 0, i16 0, i16 0, i16 16949, i16 0, i16 15802, i16 0, i16 566, i16 586, i16 587, i16 561, i16 822, i16 823, i16 824, i16 825, i16 1078, i16 1079, i16 1080, i16 1081, i16 14390, i16 0, i16 0, i16 0, i16 14902, i16 0, i16 0, i16 12930, i16 15158, i16 0, i16 12620, i16 15062, i16 15670, i16 0, i16 0, i16 0, i16 16438, i16 15340, i16 0, i16 16791, i16 311, i16 312, i16 313, i16 314, i16 13367, i16 16221, i16 16526, i16 0, i16 13879, i16 14764, i16 15132, i16 0, i16 15159, i16 15814, i16 0, i16 0, i16 15671, i16 0, i16 0, i16 16804, i16 16439, i16 13563, i16 0, i16 0, i16 16695, i16 0, i16 0, i16 0, i16 568, i16 590, i16 591, i16 563, i16 12600, i16 0, i16 0, i16 0, i16 13624, i16 0, i16 16032, i16 16310, i16 16440, i16 0, i16 12692, i16 13449, i16 16696, i16 0, i16 0, i16 14281, i16 16952, i16 16111, i16 0, i16 0, i16 57, i16 58, i16 59, i16 60, i16 13113, i16 0, i16 0, i16 0, i16 13881, i16 13940, i16 13941, i16 0, i16 15673, i16 16353, i16 0, i16 16691, i16 16441, i16 0, i16 12822, i16 15936, i16 16953, i16 16871, i16 15856, i16 12551, i16 826, i16 827, i16 828, i16 829, i16 1082, i16 1083, i16 1085, i16 1086, i16 14394, i16 15473, i16 0, i16 0, i16 15418, i16 15422, i16 15423, i16 15428, i16 16442, i16 0, i16 0, i16 0, i16 315, i16 316, i16 317, i16 318, i16 15931, i16 0, i16 14069, i16 0, i16 16187, i16 16188, i16 0, i16 0, i16 16699, i16 0, i16 0, i16 16698, i16 572, i16 594, i16 595, i16 562, i16 13116, i16 13117, i16 13118, i16 13119, i16 14908, i16 0, i16 0, i16 14194, i16 61, i16 62, i16 63, i16 64, i16 13629, i16 0, i16 0, i16 0, i16 574, i16 598, i16 599, i16 564, i16 830, i16 831, i16 832, i16 833, i16 12350, i16 0, i16 15031, i16 0, i16 12606, i16 13556, i16 14165, i16 0, i16 16190, i16 0, i16 0, i16 14219, i16 16446, i16 0, i16 0, i16 12529, i16 319, i16 320, i16 321, i16 322, i16 1087, i16 1088, i16 1089, i16 1090, i16 12863, i16 0, i16 0, i16 0, i16 14399, i16 0, i16 0, i16 15204, i16 14911, i16 14912, i16 14914, i16 14915, i16 14144, i16 13858, i16 0, i16 0, i16 14656, i16 0, i16 0, i16 0, i16 15424, i16 0, i16 0, i16 0, i16 16448, i16 14368, i16 17076, i16 12951, i16 65, i16 66, i16 67, i16 68, i16 12609, i16 0, i16 0, i16 0, i16 13121, i16 13122, i16 13292, i16 13314, i16 14657, i16 15421, i16 16239, i16 12586, i16 15169, i16 0, i16 0, i16 16147, i16 834, i16 835, i16 836, i16 837, i16 12354, i16 0, i16 16676, i16 14020, i16 13890, i16 0, i16 0, i16 0, i16 14402, i16 0, i16 15406, i16 0, i16 15426, i16 14351, i16 0, i16 0, i16 16450, i16 17137, i16 0, i16 0, i16 16706, i16 0, i16 0, i16 0, i16 323, i16 324, i16 325, i16 326, i16 1091, i16 1092, i16 1093, i16 1094, i16 12867, i16 0, i16 0, i16 0, i16 13123, i16 0, i16 13799, i16 13101, i16 13635, i16 0, i16 0, i16 0, i16 13891, i16 0, i16 0, i16 0, i16 14147, i16 0, i16 14148, i16 14149, i16 15939, i16 0, i16 14140, i16 13205, i16 16451, i16 0, i16 0, i16 0, i16 12356, i16 0, i16 0, i16 12804, i16 12612, i16 0, i16 0, i16 0, i16 12868, i16 0, i16 0, i16 0, i16 16708, i16 0, i16 0, i16 14124, i16 69, i16 70, i16 71, i16 72, i16 12357, i16 13758, i16 0, i16 17094, i16 838, i16 839, i16 840, i16 841, i16 12870, i16 12894, i16 12907, i16 12992, i16 14150, i16 0, i16 0, i16 13722, i16 14918, i16 14921, i16 14927, i16 14929, i16 16198, i16 0, i16 0, i16 0, i16 327, i16 328, i16 329, i16 330, i16 1095, i16 1096, i16 1097, i16 1098, i16 12871, i16 13304, i16 0, i16 0, i16 14151, i16 15380, i16 0, i16 16447, i16 14407, i16 0, i16 0, i16 0, i16 15431, i16 15432, i16 15433, i16 15434, i16 16199, i16 0, i16 16646, i16 12696, i16 16967, i16 0, i16 0, i16 0, i16 12360, i16 0, i16 0, i16 0, i16 12616, i16 0, i16 0, i16 0, i16 14152, i16 14254, i16 14256, i16 14275, i16 16200, i16 15023, i16 0, i16 0, i16 16968, i16 0, i16 0, i16 15490, i16 73, i16 74, i16 75, i16 76, i16 14409, i16 16493, i16 0, i16 12457, i16 16201, i16 0, i16 0, i16 12412, i16 842, i16 843, i16 844, i16 845, i16 13386, i16 0, i16 0, i16 0, i16 14410, i16 0, i16 0, i16 0, i16 15946, i16 0, i16 0, i16 0, i16 16458, i16 0, i16 0, i16 0, i16 331, i16 332, i16 333, i16 334, i16 1099, i16 1100, i16 1101, i16 1102, i16 13643, i16 0, i16 0, i16 0, i16 14667, i16 16229, i16 14220, i16 0, i16 16203, i16 0, i16 13697, i16 16959, i16 12876, i16 0, i16 14128, i16 0, i16 13644, i16 13645, i16 0, i16 0, i16 13900, i16 0, i16 0, i16 0, i16 14668, i16 15935, i16 0, i16 0, i16 15692, i16 0, i16 0, i16 0, i16 16460, i16 17118, i16 13652, i16 16277, i16 16716, i16 0, i16 0, i16 0, i16 16972, i16 13323, i16 0, i16 0, i16 77, i16 78, i16 79, i16 80, i16 13133, i16 0, i16 0, i16 0, i16 14413, i16 14238, i16 0, i16 0, i16 15437, i16 13403, i16 15831, i16 14474, i16 15693, i16 12584, i16 0, i16 14433, i16 846, i16 847, i16 848, i16 849, i16 12366, i16 0, i16 0, i16 0, i16 12622, i16 0, i16 0, i16 0, i16 14158, i16 0, i16 0, i16 0, i16 15182, i16 15183, i16 15189, i16 15191, i16 15438, i16 0, i16 15541, i16 0, i16 16718, i16 0, i16 0, i16 0, i16 335, i16 336, i16 337, i16 338, i16 1103, i16 1104, i16 1105, i16 1106, i16 16207, i16 13692, i16 0, i16 0, i16 16719, i16 16092, i16 0, i16 12318, i16 16975, i16 0, i16 16560, i16 0, i16 12368, i16 0, i16 14730, i16 16284, i16 12624, i16 13779, i16 0, i16 0, i16 12880, i16 0, i16 0, i16 0, i16 13648, i16 16754, i16 0, i16 0, i16 14672, i16 0, i16 0, i16 0, i16 14928, i16 0, i16 0, i16 0, i16 15440, i16 15484, i16 15485, i16 15488, i16 15952, i16 0, i16 0, i16 0, i16 81, i16 82, i16 83, i16 84, i16 12625, i16 0, i16 0, i16 0, i16 12881, i16 0, i16 0, i16 0, i16 13393, i16 15069, i16 0, i16 0, i16 13905, i16 0, i16 0, i16 0, i16 15441, i16 0, i16 12759, i16 15305, i16 15953, i16 15242, i16 0, i16 0, i16 850, i16 851, i16 0, i16 0, i16 12626, i16 0, i16 16516, i16 0, i16 13138, i16 0, i16 0, i16 0, i16 14930, i16 14931, i16 14933, i16 14937, i16 15954, i16 12429, i16 0, i16 0, i16 16978, i16 0, i16 12756, i16 0, i16 339, i16 340, i16 341, i16 342, i16 1107, i16 1108, i16 1109, i16 1110, i16 12371, i16 0, i16 0, i16 13280, i16 12883, i16 16244, i16 0, i16 14076, i16 852, i16 853, i16 854, i16 855, i16 85, i16 86, i16 87, i16 88, i16 13909, i16 0, i16 0, i16 0, i16 15190, i16 16683, i16 0, i16 0, i16 15446, i16 0, i16 0, i16 16364, i16 16726, i16 0, i16 15405, i16 0, i16 343, i16 344, i16 345, i16 346, i16 14167, i16 0, i16 0, i16 0, i16 16215, i16 0, i16 0, i16 16946, i16 856, i16 857, i16 858, i16 859, i16 12632, i16 0, i16 12954, i16 14051, i16 14680, i16 0, i16 0, i16 16133, i16 15192, i16 0, i16 0, i16 12731, i16 15704, i16 0, i16 0, i16 0, i16 13657, i16 0, i16 16746, i16 15249, i16 14169, i16 0, i16 0, i16 14941, i16 14681, i16 0, i16 0, i16 13062, i16 15193, i16 15196, i16 15203, i16 15208, i16 16217, i16 0, i16 0, i16 0, i16 602, i16 603, i16 575, i16 604, i16 12378, i16 0, i16 0, i16 0, i16 12634, i16 0, i16 0, i16 0, i16 13914, i16 0, i16 0, i16 0, i16 14938, i16 14942, i16 14950, i16 14952, i16 16218, i16 0, i16 15720, i16 15308, i16 16474, i16 0, i16 0, i16 0, i16 12635, i16 0, i16 15162, i16 0, i16 15195, i16 15117, i16 0, i16 0, i16 16219, i16 14723, i16 0, i16 14210, i16 16475, i16 16878, i16 0, i16 0, i16 16731, i16 13425, i16 13354, i16 0, i16 860, i16 861, i16 862, i16 863, i16 12636, i16 12671, i16 12843, i16 12848, i16 15452, i16 0, i16 0, i16 16113, i16 15964, i16 0, i16 0, i16 0, i16 16732, i16 15276, i16 0, i16 0, i16 93, i16 94, i16 95, i16 96, i16 605, i16 606, i16 607, i16 608, i16 12381, i16 0, i16 0, i16 0, i16 12637, i16 0, i16 0, i16 0, i16 15197, i16 0, i16 0, i16 0, i16 16989, i16 16604, i16 16529, i16 12685, i16 12382, i16 0, i16 0, i16 0, i16 13662, i16 17008, i16 17091, i16 15900, i16 15966, i16 0, i16 15965, i16 0, i16 16990, i16 0, i16 0, i16 15548, i16 351, i16 352, i16 353, i16 354, i16 12639, i16 13535, i16 16905, i16 0, i16 13407, i16 14189, i16 0, i16 0, i16 13919, i16 14215, i16 0, i16 0, i16 14175, i16 0, i16 16825, i16 0, i16 14687, i16 0, i16 15830, i16 17030, i16 16479, i16 0, i16 15951, i16 0, i16 864, i16 865, i16 866, i16 0, i16 12384, i16 15412, i16 14756, i16 0, i16 13152, i16 16096, i16 0, i16 0, i16 13408, i16 0, i16 0, i16 0, i16 13920, i16 0, i16 0, i16 0, i16 14688, i16 0, i16 0, i16 0, i16 16224, i16 0, i16 0, i16 0, i16 16480, i16 0, i16 0, i16 0, i16 16992, i16 0, i16 0, i16 0, i16 97, i16 98, i16 99, i16 100, i16 609, i16 610, i16 611, i16 565, i16 12385, i16 15963, i16 0, i16 0, i16 13153, i16 15352, i16 0, i16 0, i16 14177, i16 16622, i16 0, i16 0, i16 15201, i16 13463, i16 0, i16 12601, i16 16481, i16 0, i16 16100, i16 14801, i16 16737, i16 14119, i16 13491, i16 15570, i16 12642, i16 15578, i16 0, i16 15586, i16 14178, i16 0, i16 0, i16 0, i16 14434, i16 0, i16 12816, i16 0, i16 15202, i16 12458, i16 0, i16 0, i16 15714, i16 0, i16 0, i16 0, i16 16738, i16 17040, i16 0, i16 13241, i16 355, i16 356, i16 357, i16 358, i16 14691, i16 0, i16 13169, i16 0, i16 14947, i16 0, i16 0, i16 15534, i16 12644, i16 0, i16 16786, i16 0, i16 12900, i16 14153, i16 16593, i16 0, i16 13668, i16 0, i16 16247, i16 0, i16 101, i16 102, i16 103, i16 104, i16 13157, i16 0, i16 0, i16 0, i16 13413, i16 0, i16 0, i16 0, i16 14181, i16 0, i16 0, i16 0, i16 14437, i16 14744, i16 12562, i16 0, i16 14949, i16 14462, i16 12293, i16 0, i16 16485, i16 0, i16 0, i16 0, i16 16997, i16 13129, i16 0, i16 15959, i16 870, i16 0, i16 0, i16 0, i16 13670, i16 12405, i16 0, i16 0, i16 13926, i16 0, i16 16547, i16 0, i16 15206, i16 0, i16 0, i16 0, i16 16742, i16 0, i16 15362, i16 0, i16 359, i16 360, i16 361, i16 362, i16 13671, i16 0, i16 0, i16 16700, i16 14695, i16 0, i16 14197, i16 0, i16 16231, i16 0, i16 0, i16 15711, i16 16743, i16 0, i16 0, i16 0, i16 16999, i16 12558, i16 0, i16 0, i16 616, i16 622, i16 623, i16 624, i16 13928, i16 13929, i16 0, i16 0, i16 15464, i16 16002, i16 0, i16 0, i16 15976, i16 0, i16 0, i16 16852, i16 16232, i16 0, i16 16003, i16 0, i16 16744, i16 0, i16 14502, i16 13911, i16 105, i16 106, i16 107, i16 108, i16 617, i16 675, i16 690, i16 283, i16 14953, i16 14956, i16 14964, i16 14968, i16 15209, i16 13666, i16 16813, i16 14575, i16 15465, i16 0, i16 0, i16 0, i16 15721, i16 0, i16 0, i16 0, i16 16489, i16 13095, i16 0, i16 14300, i16 16745, i16 0, i16 0, i16 0, i16 14954, i16 0, i16 0, i16 0, i16 363, i16 364, i16 365, i16 366, i16 619, i16 620, i16 621, i16 640, i16 875, i16 0, i16 0, i16 0, i16 12395, i16 0, i16 0, i16 0, i16 13163, i16 0, i16 13604, i16 0, i16 13931, i16 0, i16 16865, i16 13665, i16 14699, i16 0, i16 0, i16 0, i16 15723, i16 0, i16 0, i16 0, i16 16747, i16 15442, i16 12315, i16 0, i16 14444, i16 0, i16 14347, i16 0, i16 14700, i16 15223, i16 0, i16 0, i16 15468, i16 0, i16 0, i16 0, i16 15724, i16 0, i16 0, i16 0, i16 16236, i16 0, i16 12512, i16 16144, i16 109, i16 110, i16 111, i16 112, i16 14701, i16 0, i16 12413, i16 15310, i16 15213, i16 0, i16 0, i16 16807, i16 15981, i16 0, i16 0, i16 14611, i16 12398, i16 0, i16 13810, i16 0, i16 13422, i16 0, i16 0, i16 0, i16 13678, i16 16641, i16 15345, i16 0, i16 14702, i16 0, i16 0, i16 0, i16 15726, i16 0, i16 12419, i16 17035, i16 16238, i16 0, i16 14062, i16 0, i16 367, i16 368, i16 369, i16 370, i16 879, i16 880, i16 881, i16 882, i16 12399, i16 15153, i16 0, i16 0, i16 13423, i16 0, i16 0, i16 17122, i16 14191, i16 0, i16 16427, i16 0, i16 14703, i16 13623, i16 0, i16 16506, i16 15983, i16 15729, i16 0, i16 0, i16 16495, i16 0, i16 16714, i16 0, i16 12656, i16 0, i16 13762, i16 0, i16 13936, i16 0, i16 0, i16 12284, i16 14448, i16 12575, i16 0, i16 13776, i16 14704, i16 0, i16 13229, i16 15194, i16 113, i16 114, i16 115, i16 116, i16 625, i16 626, i16 627, i16 628, i16 12657, i16 16053, i16 0, i16 0, i16 15985, i16 0, i16 16183, i16 13515, i16 17009, i16 0, i16 14554, i16 0, i16 12658, i16 0, i16 0, i16 0, i16 15474, i16 0, i16 16770, i16 0, i16 16498, i16 15164, i16 0, i16 0, i16 17010, i16 0, i16 13788, i16 13789, i16 371, i16 372, i16 373, i16 374, i16 883, i16 884, i16 885, i16 886, i16 14963, i16 15898, i16 0, i16 0, i16 16755, i16 0, i16 0, i16 0, i16 17011, i16 0, i16 0, i16 15514, i16 12404, i16 0, i16 0, i16 0, i16 12916, i16 0, i16 0, i16 14195, i16 16500, i16 0, i16 14290, i16 0, i16 117, i16 118, i16 119, i16 120, i16 629, i16 630, i16 631, i16 618, i16 13173, i16 0, i16 16230, i16 0, i16 13685, i16 13795, i16 16412, i16 0, i16 16245, i16 0, i16 16891, i16 0, i16 16501, i16 0, i16 0, i16 0, i16 12918, i16 0, i16 0, i16 0, i16 13686, i16 0, i16 0, i16 0, i16 13942, i16 13667, i16 0, i16 0, i16 14198, i16 12283, i16 0, i16 0, i16 14710, i16 0, i16 0, i16 0, i16 15478, i16 0, i16 15445, i16 15918, i16 16246, i16 16210, i16 13864, i16 0, i16 16758, i16 0, i16 0, i16 0, i16 375, i16 376, i16 377, i16 378, i16 887, i16 888, i16 889, i16 890, i16 12663, i16 0, i16 0, i16 0, i16 13431, i16 15482, i16 0, i16 0, i16 13687, i16 0, i16 0, i16 0, i16 15479, i16 0, i16 0, i16 0, i16 15735, i16 0, i16 14247, i16 0, i16 15991, i16 0, i16 0, i16 12861, i16 16503, i16 0, i16 0, i16 0, i16 13176, i16 0, i16 0, i16 0, i16 14456, i16 0, i16 0, i16 14707, i16 15224, i16 0, i16 0, i16 0, i16 16248, i16 0, i16 0, i16 0, i16 121, i16 122, i16 123, i16 124, i16 13689, i16 0, i16 0, i16 15343, i16 15481, i16 0, i16 15241, i16 0, i16 16761, i16 15321, i16 0, i16 0, i16 13178, i16 0, i16 16356, i16 0, i16 13946, i16 14970, i16 0, i16 0, i16 14458, i16 0, i16 0, i16 15513, i16 379, i16 380, i16 224, i16 0, i16 891, i16 892, i16 893, i16 894, i16 12923, i16 0, i16 0, i16 0, i16 14203, i16 0, i16 0, i16 0, i16 14459, i16 16609, i16 0, i16 12288, i16 14971, i16 14974, i16 14977, i16 14979, i16 15227, i16 17075, i16 14960, i16 0, i16 17019, i16 12410, i16 0, i16 0, i16 12668, i16 0, i16 12416, i16 0, i16 12924, i16 0, i16 0, i16 16146, i16 13948, i16 13979, i16 14073, i16 14121, i16 16764, i16 0, i16 0, i16 0, i16 17020, i16 0, i16 0, i16 0, i16 125, i16 126, i16 127, i16 132, i16 637, i16 638, i16 671, i16 672, i16 12925, i16 0, i16 0, i16 17153, i16 13437, i16 14216, i16 0, i16 0, i16 15997, i16 0, i16 0, i16 0, i16 16253, i16 17110, i16 16998, i16 0, i16 17021, i16 14028, i16 14602, i16 0, i16 12414, i16 0, i16 0, i16 15940, i16 13182, i16 0, i16 0, i16 0, i16 15230, i16 0, i16 0, i16 0, i16 15998, i16 13078, i16 12795, i16 0, i16 639, i16 688, i16 632, i16 0, i16 895, i16 896, i16 897, i16 898, i16 15487, i16 0, i16 16117, i16 0, i16 16511, i16 0, i16 13967, i16 0, i16 12672, i16 0, i16 0, i16 0, i16 12928, i16 0, i16 0, i16 0, i16 13952, i16 0, i16 0, i16 14693, i16 14720, i16 15363, i16 17000, i16 0, i16 15232, i16 0, i16 0, i16 14017, i16 17024, i16 0, i16 0, i16 0, i16 385, i16 386, i16 387, i16 388, i16 641, i16 680, i16 681, i16 682, i16 12673, i16 15969, i16 15810, i16 15142, i16 12929, i16 14360, i16 15168, i16 0, i16 13953, i16 17120, i16 0, i16 0, i16 15233, i16 0, i16 0, i16 0, i16 15745, i16 13371, i16 15358, i16 16608, i16 16513, i16 0, i16 0, i16 0, i16 16769, i16 0, i16 14392, i16 0, i16 17025, i16 0, i16 0, i16 0, i16 642, i16 643, i16 644, i16 645, i16 12674, i16 0, i16 13497, i16 16005, i16 13186, i16 0, i16 0, i16 0, i16 14466, i16 16629, i16 0, i16 0, i16 15746, i16 0, i16 0, i16 0, i16 131, i16 0, i16 693, i16 0, i16 899, i16 900, i16 901, i16 902, i16 13955, i16 0, i16 14350, i16 0, i16 15235, i16 14924, i16 0, i16 0, i16 16259, i16 0, i16 12776, i16 15255, i16 16771, i16 0, i16 0, i16 0, i16 17027, i16 0, i16 0, i16 0, i16 12932, i16 15535, i16 13829, i16 12760, i16 13188, i16 0, i16 0, i16 16888, i16 13444, i16 0, i16 0, i16 0, i16 14212, i16 0, i16 0, i16 15638, i16 14468, i16 0, i16 15186, i16 13221, i16 16004, i16 0, i16 0, i16 13654, i16 389, i16 390, i16 391, i16 392, i16 12933, i16 15624, i16 0, i16 0, i16 15493, i16 15494, i16 15495, i16 15496, i16 16517, i16 0, i16 12390, i16 0, i16 646, i16 647, i16 648, i16 649, i16 12678, i16 0, i16 0, i16 0, i16 13446, i16 0, i16 0, i16 0, i16 14982, i16 14983, i16 14984, i16 14986, i16 15238, i16 0, i16 14524, i16 0, i16 15750, i16 0, i16 14589, i16 0, i16 16774, i16 12986, i16 15718, i16 0, i16 903, i16 904, i16 905, i16 906, i16 13447, i16 0, i16 0, i16 0, i16 14471, i16 12595, i16 16282, i16 14959, i16 15751, i16 0, i16 14208, i16 0, i16 16263, i16 0, i16 14091, i16 0, i16 16775, i16 15669, i16 0, i16 0, i16 136, i16 348, i16 349, i16 350, i16 12424, i16 12430, i16 12447, i16 12611, i16 12680, i16 0, i16 16168, i16 0, i16 14472, i16 14429, i16 0, i16 0, i16 15240, i16 15283, i16 15323, i16 15359, i16 15752, i16 15337, i16 15932, i16 14724, i16 16264, i16 0, i16 0, i16 0, i16 16520, i16 0, i16 0, i16 0, i16 137, i16 203, i16 0, i16 0, i16 393, i16 394, i16 395, i16 396, i16 12937, i16 15537, i16 0, i16 0, i16 14217, i16 0, i16 0, i16 0, i16 16777, i16 0, i16 0, i16 0, i16 17033, i16 0, i16 15761, i16 0, i16 138, i16 139, i16 0, i16 0, i16 650, i16 651, i16 657, i16 658, i16 12682, i16 0, i16 0, i16 0, i16 12938, i16 0, i16 0, i16 0, i16 14218, i16 0, i16 0, i16 16130, i16 16778, i16 13956, i16 0, i16 0, i16 17034, i16 0, i16 13841, i16 12533, i16 907, i16 908, i16 909, i16 910, i16 12427, i16 0, i16 0, i16 0, i16 13195, i16 0, i16 16922, i16 0, i16 13707, i16 0, i16 0, i16 0, i16 14475, i16 0, i16 0, i16 0, i16 15499, i16 15502, i16 15504, i16 15510, i16 16011, i16 0, i16 0, i16 16509, i16 16779, i16 12836, i16 16582, i16 0, i16 140, i16 141, i16 0, i16 0, i16 652, i16 653, i16 654, i16 655, i16 12684, i16 0, i16 0, i16 0, i16 13452, i16 12433, i16 0, i16 0, i16 13708, i16 0, i16 14987, i16 0, i16 13964, i16 0, i16 15770, i16 16631, i16 14988, i16 14989, i16 14990, i16 14993, i16 15500, i16 0, i16 0, i16 0, i16 15756, i16 17160, i16 0, i16 0, i16 16012, i16 0, i16 0, i16 0, i16 16780, i16 14427, i16 14651, i16 16249, i16 397, i16 398, i16 399, i16 400, i16 14733, i16 15528, i16 0, i16 0, i16 15245, i16 16145, i16 12910, i16 15246, i16 142, i16 143, i16 0, i16 0, i16 12686, i16 0, i16 0, i16 0, i16 16270, i16 15176, i16 16407, i16 0, i16 911, i16 912, i16 913, i16 914, i16 12687, i16 0, i16 0, i16 0, i16 13455, i16 13547, i16 13572, i16 13917, i16 15759, i16 0, i16 0, i16 0, i16 16527, i16 13808, i16 0, i16 12337, i16 144, i16 145, i16 146, i16 147, i16 656, i16 0, i16 0, i16 0, i16 13200, i16 0, i16 0, i16 14170, i16 13456, i16 0, i16 0, i16 0, i16 401, i16 402, i16 403, i16 404, i16 12945, i16 13998, i16 0, i16 0, i16 13457, i16 16256, i16 0, i16 16553, i16 13969, i16 13521, i16 0, i16 0, i16 15505, i16 0, i16 0, i16 0, i16 12434, i16 0, i16 15058, i16 13539, i16 12690, i16 14684, i16 12987, i16 16033, i16 14482, i16 0, i16 0, i16 0, i16 15250, i16 0, i16 0, i16 0, i16 15762, i16 14596, i16 16510, i16 0, i16 16274, i16 13878, i16 0, i16 0, i16 16530, i16 0, i16 0, i16 13211, i16 659, i16 660, i16 661, i16 662, i16 915, i16 916, i16 917, i16 918, i16 13971, i16 0, i16 12440, i16 0, i16 14739, i16 0, i16 0, i16 0, i16 14995, i16 14996, i16 14999, i16 15000, i16 15507, i16 14598, i16 14237, i16 15914, i16 15763, i16 15390, i16 12379, i16 14705, i16 16275, i16 0, i16 0, i16 0, i16 148, i16 149, i16 150, i16 151, i16 13460, i16 0, i16 16753, i16 15034, i16 13716, i16 13717, i16 15801, i16 0, i16 14484, i16 13903, i16 14323, i16 0, i16 15764, i16 0, i16 15835, i16 0, i16 16276, i16 16223, i16 0, i16 0, i16 405, i16 406, i16 407, i16 408, i16 12437, i16 0, i16 0, i16 13759, i16 13461, i16 0, i16 0, i16 0, i16 15253, i16 0, i16 0, i16 0, i16 14486, i16 15451, i16 0, i16 16104, i16 663, i16 664, i16 665, i16 666, i16 919, i16 920, i16 921, i16 922, i16 13207, i16 0, i16 0, i16 15529, i16 13719, i16 12365, i16 16469, i16 15002, i16 14231, i16 12961, i16 0, i16 0, i16 14743, i16 0, i16 0, i16 0, i16 15511, i16 15515, i16 15516, i16 15519, i16 15767, i16 14614, i16 0, i16 13954, i16 152, i16 153, i16 0, i16 199, i16 12952, i16 0, i16 0, i16 0, i16 13208, i16 0, i16 0, i16 0, i16 14232, i16 0, i16 0, i16 0, i16 15256, i16 13725, i16 0, i16 16406, i16 16792, i16 0, i16 12502, i16 0, i16 17048, i16 0, i16 16613, i16 0, i16 409, i16 410, i16 411, i16 412, i16 12697, i16 0, i16 0, i16 0, i16 13465, i16 0, i16 15265, i16 16948, i16 14489, i16 0, i16 12306, i16 0, i16 15001, i16 15003, i16 15009, i16 15014, i16 12442, i16 13226, i16 0, i16 14226, i16 12698, i16 15313, i16 0, i16 17014, i16 15258, i16 0, i16 0, i16 0, i16 16538, i16 13681, i16 16557, i16 0, i16 667, i16 612, i16 613, i16 614, i16 923, i16 924, i16 925, i16 926, i16 12443, i16 16521, i16 0, i16 16894, i16 16539, i16 16116, i16 14202, i16 15247, i16 16795, i16 16796, i16 16864, i16 16991, i16 17052, i16 0, i16 0, i16 0, i16 157, i16 177, i16 0, i16 0, i16 413, i16 414, i16 415, i16 416, i16 669, i16 670, i16 285, i16 687, i16 12957, i16 0, i16 12393, i16 0, i16 13213, i16 0, i16 13510, i16 0, i16 15005, i16 0, i16 0, i16 0, i16 15517, i16 0, i16 0, i16 0, i16 16541, i16 15492, i16 0, i16 0, i16 158, i16 159, i16 0, i16 0, i16 12702, i16 16396, i16 16565, i16 0, i16 13726, i16 0, i16 15904, i16 0, i16 15006, i16 0, i16 0, i16 13595, i16 15518, i16 0, i16 0, i16 0, i16 927, i16 928, i16 929, i16 930, i16 13983, i16 0, i16 0, i16 0, i16 16287, i16 0, i16 0, i16 0, i16 17055, i16 0, i16 0, i16 0, i16 13472, i16 14810, i16 14523, i16 0, i16 15520, i16 15531, i16 15539, i16 15540, i16 16544, i16 0, i16 12913, i16 0, i16 161, i16 205, i16 0, i16 0, i16 417, i16 418, i16 419, i16 420, i16 673, i16 633, i16 634, i16 635, i16 13729, i16 14746, i16 0, i16 15579, i16 14497, i16 0, i16 0, i16 13296, i16 16545, i16 0, i16 0, i16 15030, i16 162, i16 154, i16 868, i16 869, i16 12450, i16 0, i16 0, i16 0, i16 13218, i16 16234, i16 0, i16 0, i16 13474, i16 0, i16 15986, i16 0, i16 931, i16 932, i16 933, i16 934, i16 12963, i16 16061, i16 0, i16 0, i16 13731, i16 14781, i16 15351, i16 0, i16 14243, i16 0, i16 0, i16 0, i16 17059, i16 15542, i16 13128, i16 0, i16 13476, i16 0, i16 0, i16 0, i16 13732, i16 0, i16 0, i16 15733, i16 15524, i16 0, i16 13441, i16 0, i16 16548, i16 16337, i16 0, i16 13756, i16 17060, i16 0, i16 0, i16 0, i16 421, i16 422, i16 423, i16 424, i16 12709, i16 0, i16 0, i16 0, i16 13733, i16 0, i16 0, i16 0, i16 13989, i16 0, i16 0, i16 0, i16 14501, i16 0, i16 0, i16 15771, i16 15013, i16 0, i16 13401, i16 13158, i16 15525, i16 0, i16 0, i16 0, i16 16805, i16 15459, i16 15096, i16 13761, i16 17061, i16 0, i16 14417, i16 0, i16 12966, i16 0, i16 15984, i16 0, i16 13734, i16 0, i16 13803, i16 13637, i16 14246, i16 0, i16 14315, i16 0, i16 16038, i16 0, i16 0, i16 14842, i16 16550, i16 12792, i16 0, i16 0, i16 17062, i16 0, i16 0, i16 15604, i16 167, i16 168, i16 218, i16 381, i16 935, i16 936, i16 937, i16 938, i16 13735, i16 0, i16 13742, i16 13171, i16 14759, i16 16681, i16 0, i16 13892, i16 15271, i16 15272, i16 14418, i16 0, i16 12968, i16 0, i16 14867, i16 0, i16 16040, i16 0, i16 16175, i16 0, i16 16552, i16 16563, i16 16665, i16 16686, i16 425, i16 426, i16 427, i16 428, i16 13225, i16 15942, i16 13512, i16 0, i16 13481, i16 0, i16 0, i16 0, i16 15017, i16 15018, i16 15020, i16 15021, i16 15785, i16 0, i16 0, i16 16662, i16 16297, i16 0, i16 0, i16 0, i16 12714, i16 0, i16 12438, i16 16242, i16 14250, i16 16679, i16 14694, i16 0, i16 15530, i16 15333, i16 0, i16 0, i16 16298, i16 15512, i16 0, i16 13777, i16 16554, i16 0, i16 0, i16 13450, i16 171, i16 0, i16 170, i16 0, i16 683, i16 676, i16 677, i16 678, i16 939, i16 940, i16 941, i16 942, i16 12459, i16 16235, i16 0, i16 0, i16 12715, i16 0, i16 0, i16 0, i16 12971, i16 0, i16 0, i16 0, i16 13227, i16 0, i16 0, i16 0, i16 15787, i16 0, i16 0, i16 0, i16 17067, i16 0, i16 0, i16 0, i16 172, i16 0, i16 0, i16 0, i16 12972, i16 0, i16 0, i16 15139, i16 13228, i16 0, i16 0, i16 0, i16 14508, i16 0, i16 13704, i16 0, i16 16044, i16 0, i16 0, i16 0, i16 16556, i16 0, i16 0, i16 0, i16 429, i16 430, i16 431, i16 432, i16 685, i16 0, i16 0, i16 686, i16 13485, i16 0, i16 0, i16 0, i16 13997, i16 0, i16 0, i16 0, i16 14509, i16 13175, i16 16316, i16 0, i16 15533, i16 0, i16 0, i16 0, i16 15789, i16 17036, i16 0, i16 0, i16 16045, i16 0, i16 16600, i16 0, i16 16301, i16 0, i16 15820, i16 12844, i16 12718, i16 16063, i16 12914, i16 14117, i16 12974, i16 0, i16 16705, i16 0, i16 13230, i16 0, i16 15623, i16 13677, i16 14766, i16 0, i16 0, i16 0, i16 15022, i16 0, i16 13436, i16 0, i16 15278, i16 0, i16 14272, i16 0, i16 16302, i16 14904, i16 16258, i16 16283, i16 16558, i16 16824, i16 0, i16 0, i16 943, i16 944, i16 945, i16 946, i16 14255, i16 16131, i16 0, i16 13355, i16 15791, i16 0, i16 0, i16 0, i16 16815, i16 0, i16 0, i16 0, i16 17071, i16 0, i16 0, i16 0, i16 13488, i16 0, i16 0, i16 0, i16 14768, i16 0, i16 14039, i16 0, i16 15024, i16 15039, i16 15041, i16 15046, i16 433, i16 434, i16 435, i16 436, i16 689, i16 684, i16 0, i16 0, i16 12465, i16 13274, i16 0, i16 13752, i16 12721, i16 16798, i16 14932, i16 0, i16 12977, i16 0, i16 12908, i16 0, i16 14257, i16 14133, i16 0, i16 0, i16 15025, i16 0, i16 0, i16 0, i16 16817, i16 12884, i16 0, i16 0, i16 12466, i16 16789, i16 12563, i16 13222, i16 13234, i16 0, i16 0, i16 0, i16 15794, i16 0, i16 0, i16 0, i16 947, i16 948, i16 949, i16 950, i16 12723, i16 0, i16 0, i16 0, i16 14771, i16 0, i16 13435, i16 0, i16 16051, i16 15890, i16 0, i16 0, i16 16819, i16 12329, i16 0, i16 17001, i16 692, i16 0, i16 0, i16 0, i16 12724, i16 0, i16 13132, i16 0, i16 15796, i16 0, i16 0, i16 0, i16 16308, i16 16502, i16 16504, i16 16536, i16 437, i16 438, i16 439, i16 440, i16 12725, i16 0, i16 0, i16 0, i16 13493, i16 0, i16 0, i16 0, i16 14005, i16 0, i16 0, i16 0, i16 15029, i16 0, i16 0, i16 0, i16 12726, i16 0, i16 15184, i16 0, i16 13238, i16 16154, i16 16911, i16 0, i16 14006, i16 0, i16 0, i16 0, i16 14774, i16 0, i16 0, i16 0, i16 15286, i16 0, i16 0, i16 0, i16 16822, i16 14980, i16 0, i16 0, i16 17078, i16 0, i16 0, i16 0, i16 951, i16 952, i16 953, i16 954, i16 12471, i16 0, i16 0, i16 12778, i16 13751, i16 0, i16 16204, i16 0, i16 14519, i16 0, i16 0, i16 0, i16 14775, i16 0, i16 0, i16 0, i16 15543, i16 15546, i16 15549, i16 15550, i16 12472, i16 16606, i16 14284, i16 0, i16 13240, i16 12549, i16 0, i16 13294, i16 15288, i16 0, i16 0, i16 0, i16 16056, i16 0, i16 0, i16 0, i16 441, i16 442, i16 443, i16 444, i16 12473, i16 0, i16 0, i16 0, i16 14521, i16 14717, i16 14727, i16 14735, i16 15289, i16 12888, i16 0, i16 16378, i16 16313, i16 13827, i16 0, i16 14976, i16 16569, i16 16206, i16 0, i16 0, i16 698, i16 0, i16 0, i16 0, i16 14266, i16 0, i16 0, i16 0, i16 14778, i16 0, i16 0, i16 0, i16 16058, i16 0, i16 0, i16 0, i16 955, i16 956, i16 957, i16 958, i16 14267, i16 0, i16 0, i16 0, i16 12988, i16 0, i16 0, i16 0, i16 14268, i16 0, i16 13468, i16 0, i16 15036, i16 0, i16 0, i16 0, i16 16572, i16 14518, i16 12691, i16 13239, i16 189, i16 188, i16 0, i16 253, i16 445, i16 446, i16 447, i16 448, i16 12477, i16 15331, i16 0, i16 0, i16 13245, i16 0, i16 0, i16 0, i16 13757, i16 0, i16 0, i16 14374, i16 14525, i16 0, i16 13038, i16 0, i16 16317, i16 0, i16 0, i16 0, i16 17085, i16 0, i16 15086, i16 0, i16 15038, i16 0, i16 17064, i16 0, i16 15806, i16 0, i16 0, i16 0, i16 16574, i16 0, i16 0, i16 0, i16 14783, i16 0, i16 0, i16 0, i16 15551, i16 15803, i16 0, i16 16468, i16 704, i16 705, i16 706, i16 707, i16 13248, i16 14745, i16 0, i16 15254, i16 13504, i16 0, i16 0, i16 0, i16 14016, i16 15498, i16 16826, i16 0, i16 15808, i16 0, i16 12581, i16 0, i16 16320, i16 0, i16 0, i16 0, i16 16576, i16 0, i16 0, i16 0, i16 193, i16 192, i16 0, i16 0, i16 449, i16 450, i16 451, i16 452, i16 12481, i16 15674, i16 0, i16 0, i16 12737, i16 0, i16 0, i16 16125, i16 12993, i16 12996, i16 12999, i16 13000, i16 13505, i16 12448, i16 0, i16 16713, i16 15297, i16 15282, i16 16915, i16 0, i16 16321, i16 0, i16 0, i16 0, i16 17089, i16 0, i16 0, i16 0, i16 962, i16 963, i16 964, i16 965, i16 12482, i16 0, i16 0, i16 0, i16 12994, i16 0, i16 0, i16 14948, i16 13250, i16 0, i16 17056, i16 0, i16 15042, i16 0, i16 0, i16 0, i16 16322, i16 0, i16 0, i16 0, i16 195, i16 196, i16 194, i16 197, i16 12483, i16 16508, i16 13428, i16 13090, i16 14019, i16 15663, i16 0, i16 14242, i16 15043, i16 0, i16 15522, i16 0, i16 15299, i16 14752, i16 16138, i16 12614, i16 15811, i16 0, i16 0, i16 0, i16 708, i16 709, i16 710, i16 711, i16 12484, i16 0, i16 13845, i16 0, i16 13508, i16 12695, i16 0, i16 0, i16 453, i16 454, i16 455, i16 456, i16 13253, i16 0, i16 0, i16 0, i16 13765, i16 0, i16 0, i16 12940, i16 14021, i16 0, i16 0, i16 0, i16 14789, i16 0, i16 12336, i16 0, i16 15557, i16 0, i16 0, i16 0, i16 16069, i16 0, i16 14166, i16 0, i16 198, i16 271, i16 274, i16 272, i16 966, i16 967, i16 968, i16 969, i16 12486, i16 15292, i16 0, i16 0, i16 14022, i16 12548, i16 0, i16 0, i16 14534, i16 14770, i16 0, i16 14512, i16 14790, i16 0, i16 0, i16 0, i16 15558, i16 0, i16 0, i16 0, i16 16070, i16 15545, i16 0, i16 0, i16 13255, i16 0, i16 0, i16 0, i16 15047, i16 15051, i16 15053, i16 15055, i16 16071, i16 16132, i16 16153, i16 16237, i16 712, i16 713, i16 714, i16 715, i16 14280, i16 0, i16 15295, i16 0, i16 14536, i16 0, i16 0, i16 0, i16 16072, i16 16419, i16 0, i16 15427, i16 17096, i16 0, i16 0, i16 0, i16 457, i16 458, i16 459, i16 460, i16 12489, i16 0, i16 0, i16 13963, i16 13001, i16 13002, i16 13003, i16 13004, i16 14025, i16 0, i16 0, i16 0, i16 14793, i16 16370, i16 0, i16 0, i16 15049, i16 0, i16 14621, i16 15073, i16 15561, i16 0, i16 0, i16 15636, i16 16585, i16 0, i16 0, i16 16785, i16 970, i16 971, i16 972, i16 973, i16 12490, i16 0, i16 0, i16 0, i16 12746, i16 13990, i16 0, i16 0, i16 14026, i16 0, i16 13980, i16 0, i16 15818, i16 15722, i16 0, i16 14075, i16 17098, i16 0, i16 0, i16 0, i16 14795, i16 0, i16 0, i16 0, i16 15307, i16 0, i16 0, i16 0, i16 15819, i16 0, i16 0, i16 15927, i16 16075, i16 0, i16 0, i16 0, i16 716, i16 717, i16 718, i16 719, i16 14796, i16 0, i16 16022, i16 0, i16 15052, i16 0, i16 13418, i16 12665, i16 16844, i16 0, i16 0, i16 0, i16 461, i16 462, i16 463, i16 464, i16 13261, i16 0, i16 0, i16 0, i16 14541, i16 13220, i16 0, i16 0, i16 15309, i16 0, i16 12712, i16 0, i16 15565, i16 15566, i16 15568, i16 15573, i16 15821, i16 0, i16 16052, i16 0, i16 17101, i16 0, i16 0, i16 0, i16 974, i16 975, i16 976, i16 977, i16 13006, i16 13007, i16 13008, i16 13009, i16 13518, i16 0, i16 0, i16 14415, i16 14542, i16 0, i16 0, i16 0, i16 16078, i16 14393, i16 0, i16 0, i16 207, i16 0, i16 235, i16 0, i16 12495, i16 0, i16 0, i16 16950, i16 13519, i16 0, i16 0, i16 0, i16 15311, i16 0, i16 14830, i16 14282, i16 15567, i16 0, i16 0, i16 16619, i16 15823, i16 0, i16 0, i16 16027, i16 16847, i16 0, i16 0, i16 14496, i16 17103, i16 17115, i16 0, i16 0, i16 208, i16 0, i16 0, i16 209, i16 720, i16 721, i16 722, i16 723, i16 14544, i16 0, i16 0, i16 0, i16 15056, i16 15059, i16 15071, i16 15076, i16 16336, i16 0, i16 0, i16 0, i16 16592, i16 15685, i16 0, i16 0, i16 16848, i16 0, i16 13214, i16 0, i16 17104, i16 14273, i16 14711, i16 0, i16 465, i16 466, i16 467, i16 468, i16 12753, i16 14734, i16 0, i16 16252, i16 14033, i16 0, i16 0, i16 15601, i16 16081, i16 0, i16 0, i16 0, i16 978, i16 979, i16 980, i16 981, i16 13010, i16 13012, i16 13013, i16 13014, i16 15826, i16 16028, i16 12772, i16 0, i16 16594, i16 0, i16 0, i16 0, i16 16850, i16 0, i16 16189, i16 0, i16 17106, i16 0, i16 0, i16 12294, i16 14547, i16 0, i16 0, i16 14190, i16 15315, i16 0, i16 0, i16 0, i16 15827, i16 0, i16 0, i16 12830, i16 724, i16 725, i16 726, i16 727, i16 12500, i16 0, i16 0, i16 16134, i16 13524, i16 0, i16 0, i16 0, i16 13780, i16 13256, i16 0, i16 0, i16 14804, i16 16701, i16 0, i16 0, i16 15060, i16 0, i16 12324, i16 0, i16 15316, i16 0, i16 15341, i16 0, i16 15572, i16 0, i16 0, i16 14646, i16 15828, i16 0, i16 13541, i16 15450, i16 469, i16 470, i16 471, i16 472, i16 12501, i16 0, i16 0, i16 0, i16 12757, i16 0, i16 0, i16 14292, i16 13269, i16 0, i16 0, i16 0, i16 13781, i16 0, i16 0, i16 13202, i16 14293, i16 0, i16 0, i16 14850, i16 982, i16 983, i16 984, i16 985, i16 13526, i16 12773, i16 0, i16 13700, i16 15574, i16 15575, i16 15650, i16 15725, i16 16854, i16 0, i16 15593, i16 14511, i16 13015, i16 13017, i16 13019, i16 13020, i16 14295, i16 0, i16 0, i16 0, i16 16599, i16 13986, i16 0, i16 0, i16 728, i16 729, i16 730, i16 731, i16 12504, i16 0, i16 0, i16 0, i16 13272, i16 13695, i16 17084, i16 13561, i16 14040, i16 16182, i16 16408, i16 0, i16 14296, i16 0, i16 0, i16 0, i16 14552, i16 0, i16 13151, i16 16838, i16 217, i16 215, i16 214, i16 206, i16 473, i16 474, i16 475, i16 0, i16 13529, i16 0, i16 15231, i16 0, i16 16089, i16 0, i16 16543, i16 0, i16 986, i16 987, i16 988, i16 989, i16 12762, i16 0, i16 0, i16 12667, i16 14042, i16 0, i16 14899, i16 0, i16 14298, i16 0, i16 0, i16 0, i16 15322, i16 14491, i16 0, i16 12496, i16 16602, i16 0, i16 0, i16 0, i16 12763, i16 0, i16 0, i16 15467, i16 13275, i16 14301, i16 0, i16 17006, i16 13531, i16 0, i16 14555, i16 0, i16 220, i16 0, i16 0, i16 0, i16 476, i16 477, i16 478, i16 479, i16 732, i16 733, i16 734, i16 735, i16 12764, i16 15934, i16 0, i16 16323, i16 14812, i16 12878, i16 0, i16 15877, i16 15580, i16 14196, i16 16484, i16 15632, i16 221, i16 0, i16 175, i16 222, i16 12509, i16 0, i16 0, i16 0, i16 13533, i16 0, i16 0, i16 0, i16 14557, i16 14233, i16 0, i16 0, i16 14813, i16 0, i16 0, i16 0, i16 15325, i16 0, i16 15780, i16 0, i16 16093, i16 16897, i16 13603, i16 0, i16 16349, i16 0, i16 14054, i16 14713, i16 990, i16 991, i16 992, i16 993, i16 12510, i16 15805, i16 13369, i16 0, i16 12766, i16 0, i16 0, i16 0, i16 13022, i16 13026, i16 13030, i16 13032, i16 13278, i16 14015, i16 13585, i16 0, i16 14046, i16 0, i16 0, i16 0, i16 14814, i16 0, i16 0, i16 0, i16 15582, i16 0, i16 0, i16 16043, i16 16350, i16 0, i16 0, i16 0, i16 223, i16 0, i16 268, i16 128, i16 13279, i16 15703, i16 16122, i16 0, i16 14303, i16 0, i16 0, i16 13160, i16 14815, i16 0, i16 0, i16 14647, i16 15327, i16 15373, i16 0, i16 14127, i16 16351, i16 0, i16 14211, i16 0, i16 480, i16 481, i16 482, i16 483, i16 736, i16 737, i16 738, i16 739, i16 13792, i16 0, i16 0, i16 14426, i16 15072, i16 15398, i16 0, i16 0, i16 12769, i16 0, i16 0, i16 0, i16 13537, i16 0, i16 0, i16 0, i16 14305, i16 0, i16 0, i16 0, i16 15585, i16 16868, i16 0, i16 0, i16 226, i16 229, i16 228, i16 231, i16 994, i16 995, i16 996, i16 997, i16 13282, i16 0, i16 0, i16 0, i16 14306, i16 0, i16 12700, i16 0, i16 14562, i16 15395, i16 0, i16 0, i16 16354, i16 0, i16 14249, i16 0, i16 16610, i16 0, i16 0, i16 13023, i16 12771, i16 0, i16 0, i16 0, i16 14307, i16 0, i16 0, i16 0, i16 15587, i16 17070, i16 0, i16 13673, i16 484, i16 485, i16 0, i16 0, i16 740, i16 741, i16 742, i16 743, i16 13028, i16 15378, i16 15379, i16 13805, i16 16612, i16 0, i16 14204, i16 16080, i16 13285, i16 0, i16 0, i16 0, i16 14053, i16 0, i16 13415, i16 0, i16 15589, i16 0, i16 12505, i16 16542, i16 16869, i16 0, i16 12780, i16 0, i16 17125, i16 16445, i16 0, i16 0, i16 230, i16 867, i16 700, i16 0, i16 486, i16 487, i16 488, i16 489, i16 998, i16 999, i16 1000, i16 1001, i16 12518, i16 0, i16 0, i16 0, i16 12774, i16 0, i16 0, i16 0, i16 13542, i16 0, i16 12967, i16 16522, i16 14310, i16 17148, i16 0, i16 0, i16 14822, i16 0, i16 0, i16 0, i16 15078, i16 15095, i16 15173, i16 15174, i16 16358, i16 0, i16 0, i16 13564, i16 16870, i16 0, i16 0, i16 0, i16 13287, i16 0, i16 12943, i16 14498, i16 14567, i16 0, i16 0, i16 0, i16 15335, i16 0, i16 0, i16 0, i16 17127, i16 15461, i16 13470, i16 0, i16 744, i16 745, i16 746, i16 747, i16 14312, i16 0, i16 0, i16 0, i16 15080, i16 15157, i16 13874, i16 13265, i16 16360, i16 0, i16 0, i16 0, i16 16872, i16 0, i16 0, i16 0, i16 13033, i16 13034, i16 13036, i16 13037, i16 13289, i16 12536, i16 0, i16 16564, i16 13545, i16 0, i16 0, i16 15443, i16 13801, i16 0, i16 13620, i16 0, i16 15081, i16 15804, i16 0, i16 0, i16 15849, i16 0, i16 0, i16 0, i16 16617, i16 0, i16 0, i16 0, i16 16873, i16 14697, i16 0, i16 0, i16 234, i16 0, i16 0, i16 0, i16 490, i16 491, i16 492, i16 493, i16 1002, i16 1003, i16 1004, i16 1005, i16 15338, i16 0, i16 0, i16 0, i16 16362, i16 0, i16 14446, i16 15234, i16 16874, i16 0, i16 0, i16 13025, i16 17130, i16 0, i16 0, i16 0, i16 12523, i16 0, i16 13760, i16 0, i16 14059, i16 14375, i16 0, i16 0, i16 14571, i16 0, i16 12662, i16 0, i16 15339, i16 14340, i16 0, i16 0, i16 15851, i16 0, i16 0, i16 16883, i16 748, i16 749, i16 750, i16 751, i16 14316, i16 0, i16 16739, i16 0, i16 14572, i16 0, i16 16192, i16 14871, i16 14828, i16 0, i16 0, i16 0, i16 15852, i16 12976, i16 15777, i16 0, i16 17132, i16 0, i16 0, i16 0, i16 12525, i16 14854, i16 0, i16 0, i16 14573, i16 14036, i16 0, i16 14037, i16 15085, i16 17109, i16 13852, i16 0, i16 16109, i16 15216, i16 13094, i16 0, i16 238, i16 0, i16 0, i16 179, i16 494, i16 495, i16 0, i16 0, i16 1006, i16 1007, i16 1008, i16 1009, i16 13806, i16 15676, i16 16961, i16 0, i16 16366, i16 15218, i16 0, i16 0, i16 12783, i16 0, i16 15396, i16 0, i16 13551, i16 15458, i16 17151, i16 0, i16 13807, i16 0, i16 0, i16 0, i16 14831, i16 0, i16 0, i16 0, i16 15855, i16 0, i16 14172, i16 0, i16 16367, i16 0, i16 14806, i16 12387, i16 240, i16 0, i16 163, i16 164, i16 752, i16 753, i16 754, i16 755, i16 12528, i16 0, i16 0, i16 12349, i16 13040, i16 0, i16 0, i16 15092, i16 13552, i16 13270, i16 0, i16 0, i16 14576, i16 0, i16 0, i16 0, i16 15600, i16 0, i16 0, i16 13650, i16 16368, i16 0, i16 0, i16 17051, i16 17136, i16 15591, i16 12699, i16 0, i16 13041, i16 13042, i16 13043, i16 13044, i16 13297, i16 0, i16 14164, i16 0, i16 14065, i16 0, i16 0, i16 0, i16 14321, i16 14328, i16 14431, i16 14457, i16 16369, i16 0, i16 16030, i16 16833, i16 16625, i16 0, i16 0, i16 0, i16 242, i16 241, i16 0, i16 0, i16 1010, i16 1011, i16 1012, i16 1013, i16 13554, i16 0, i16 0, i16 16702, i16 14066, i16 0, i16 0, i16 0, i16 14834, i16 14837, i16 14838, i16 14845, i16 499, i16 500, i16 501, i16 502, i16 16115, i16 0, i16 13362, i16 0, i16 16371, i16 14903, i16 15888, i16 0, i16 756, i16 757, i16 0, i16 0, i16 15860, i16 0, i16 0, i16 0, i16 16884, i16 0, i16 0, i16 0, i16 245, i16 248, i16 0, i16 249, i16 12789, i16 14319, i16 0, i16 0, i16 13045, i16 13047, i16 13052, i16 13064, i16 14581, i16 0, i16 16841, i16 0, i16 15093, i16 15181, i16 14721, i16 13061, i16 15605, i16 15130, i16 15715, i16 0, i16 15861, i16 0, i16 0, i16 14946, i16 16373, i16 15027, i16 0, i16 0, i16 16885, i16 0, i16 0, i16 16823, i16 246, i16 247, i16 0, i16 250, i16 758, i16 759, i16 760, i16 761, i16 1014, i16 1015, i16 1016, i16 1017, i16 12790, i16 0, i16 0, i16 0, i16 15350, i16 13930, i16 0, i16 0, i16 15606, i16 0, i16 0, i16 0, i16 16886, i16 16410, i16 15882, i16 17128, i16 17142, i16 16149, i16 0, i16 17135, i16 503, i16 504, i16 505, i16 506, i16 13815, i16 0, i16 0, i16 0, i16 14071, i16 0, i16 0, i16 0, i16 14583, i16 0, i16 0, i16 0, i16 14839, i16 16973, i16 15261, i16 17140, i16 13560, i16 0, i16 17083, i16 0, i16 14072, i16 0, i16 0, i16 0, i16 14584, i16 0, i16 15281, i16 0, i16 15608, i16 0, i16 0, i16 0, i16 15864, i16 16748, i16 0, i16 0, i16 16632, i16 15150, i16 0, i16 0, i16 12537, i16 0, i16 0, i16 14973, i16 12793, i16 14630, i16 15850, i16 0, i16 13049, i16 14043, i16 0, i16 0, i16 13305, i16 13263, i16 0, i16 0, i16 15865, i16 0, i16 0, i16 0, i16 17145, i16 16421, i16 0, i16 13784, i16 762, i16 763, i16 764, i16 765, i16 1018, i16 1019, i16 1020, i16 1021, i16 12538, i16 0, i16 0, i16 12960, i16 13050, i16 15974, i16 0, i16 13523, i16 15610, i16 0, i16 0, i16 0, i16 17146, i16 0, i16 0, i16 0, i16 507, i16 508, i16 509, i16 510, i16 13051, i16 0, i16 0, i16 0, i16 15099, i16 17005, i16 17050, i16 16925, i16 15611, i16 15678, i16 0, i16 0, i16 252, i16 0, i16 0, i16 183, i16 13308, i16 14843, i16 0, i16 0, i16 14332, i16 14758, i16 0, i16 0, i16 14588, i16 0, i16 16420, i16 14528, i16 15612, i16 15795, i16 0, i16 0, i16 13309, i16 0, i16 0, i16 0, i16 15869, i16 13439, i16 0, i16 0, i16 16381, i16 0, i16 0, i16 0, i16 16893, i16 14522, i16 0, i16 0, i16 17149, i16 0, i16 12785, i16 0, i16 254, i16 255, i16 0, i16 0, i16 766, i16 767, i16 768, i16 769, i16 1022, i16 1023, i16 1024, i16 1025, i16 13054, i16 0, i16 0, i16 13994, i16 13566, i16 0, i16 0, i16 0, i16 13822, i16 13259, i16 0, i16 15098, i16 511, i16 512, i16 0, i16 513, i16 12287, i16 0, i16 0, i16 13421, i16 12799, i16 0, i16 0, i16 0, i16 13311, i16 0, i16 0, i16 0, i16 13567, i16 0, i16 14077, i16 0, i16 14335, i16 12521, i16 13217, i16 0, i16 14591, i16 15619, i16 0, i16 0, i16 14847, i16 14848, i16 14856, i16 14866], [6 x i8] c"\0A\03\162\00\04", [24 x i64] [i64 48508, i64 48528, i64 48548, i64 14648, i64 48588, i64 48634, i64 48640, i64 14699, i64 48670, i64 52564, i64 52608, i64 14727, i64 53422, i64 61672, i64 61772, i64 16373, i64 0, i64 0, i64 0, i64 0, i64 68630, i64 69002, i64 69010, i64 44726], [2826 x i8] c"\00\00\01\00\00\00\00\00\00\01\00\08\00\01\01\01e\01\01\02\02\00\01\01\01e\01\02\00\02\00\02\02\02d\02\03\00\12\00\02\03\03c\03\03\02\02\00\02\04\04c\04\04\00\12\00\02\05\05b\03\04\02\02\00\02\06\06b\04\05\00\12\00\02\07\05a\03\05\02\02\00\02\08\06a\04\06\00\12\00\02\09\05`\03\06\02\02\00\02\0A\06`\04\07\00\02\00\03\0B\07_\05\08\00\12\00\02\0C\05^\03\08\02\02\00\02\0D\06^\04\09\00\12\00\02\0E\08]\03\09\02\02\00\02\0F\09]\04\0A\00\12\00\02\10\05\\\03\0A\02\02\00\02\11\06\\\04\0B\00\12\00\02\12\08[\03\0B\02\02\00\02\13\09[\04\0C\00\12\00\02\14\05Z\03\0C\02\02\00\02\15\06Z\04\0D\00\12\00\02\16\05Y\03\0D\02\02\00\02\17\06Y\04\0E\00\12\00\02\18\05X\03\0E\02\02\00\02\19\06X\04\0F\00\12\00\02\1A\05W\03\0F\02\02\00\02\1B\06W\04\10\00\12\00\00\1C\0A\8E\06\10\02\02\00\00\1D\0B\8E\07\11\00\12\00\02\1E\05V\03\11\02\02\00\02\1F\06V\04\12\00\12\00\02 \0CU\03\12\02\02\00\02!\0DU\04\13\00\12\00\02\22\05T\08\13\02\02\00\02#\06T\09\14\00\12\00\02$\05S\08\14\02\02\00\02%\06S\09\15\00\15\00\01&\0ER\0A\15\02\02\00\01&\0FR\0B\16\00\05\00\01'\10Q\0C\16\02\02\00\01(\11Q\0D\17\00\05\00\04)\12P\0E\17\02\02\00\04*\13P\0F\18\00\02\00\02+\14O\10\19\00\02\00\03,\15N\11\1A\00\08\00\05-\16M\12\1A\02\02\00\05.\16M\12\1B\00\0E\00\05/\17L\13\1B\02\02\00\05/\18L\13\1C\00\08\00\050\19\8B\14\1C\02\02\00\051\1A\8B\14\1D\00\0C\00\052\19\8B\14\1D\02\02\00\051\1A\8B\14\1E\00\0E\00\063\1B\8C\15\1E\02\02\00\074\1C\8C\15\1F\00\0B\00\025\1DK\16\1F\02\02\00\026\1DK\16 \00\08\00\017\1E\8A\17 \02\02\00\017\1F\8A\17!\00\08\00\058 J\18!\02\02\00\059!J\18\22\00\0C\00\05: J\18\22\02\02\00\059!J\18#\00\08\00\01;\22I\18#\02\02\00\01<#I\18$\00\0C\00\01=\22I\18$\02\02\00\01<#I\18%\00\08\00\08>$H\18%\02\02\00\08>%H\18&\00\08\00\01?$G\18&\02\02\00\01@%G\18'\00\0C\00\01A$G\18'\02\02\00\01@%G\18(\00\08\00\01;\22F\18(\02\02\00\01<#F\18)\00\0C\00\01=\22F\18)\02\02\00\01<#F\18*\00\13\00\09B&E\19*\02\02\00\09C'E\1A+\00\08\00\02D(D\02+\02\02\00\02D(D\02,\00\08\00\02E)C\1B,\02\02\00\02E)C\1B-\00\08\00\02F*\89\1C-\02\02\00\02F*\89\1C.\00\08\00\01G+B\1D.\02\02\00\01H+B\1D/\00\08\00\025)A\02/\02\02\00\026)A\020\00\08\00\02I,@\1E0\02\02\00\02I,@\1E1\00\08\00\02J)?\021\02\02\00\02K)?\022\00\0C\00\02L)?\022\02\02\00\02K)?\023\00\02\00\03\0B->\1E4\00\08\00\02M)=\024\02\02\00\02M)=\025\00\08\00\02N.<\1E5\02\02\00\02N.<\1E6\00\08\00\02O/;\1E6\02\02\00\02O/;\1E7\00\08\00\02P0:\027\02\02\00\02P0:\028\00\08\00\02Q)9\1B8\02\02\00\02Q)9\1B9\00\08\00\02R)8\1B9\02\02\00\02R)8\1B:\02\02\00\05S17\1F;\00\08\00\01T2\88 ;\02\02\00\01T3\88 <\00\08\00\05U2\87 <\02\02\00\05U3\87 =\00\08\00\05V2\86 =\02\02\00\05V3\86 >\00\08\00\05W2\85 >\02\02\00\05W3\85 ?\00\08\00\00X2\84 ?\02\02\00\00X3\84 @\00\08\00\00Y2\83 @\02\02\00\00Y3\83 A\00\08\00\05Z2\82 A\02\02\00\05Z3\82 B\00\08\00\05[2\81 B\02\02\00\05\\3\81 C\00\0C\00\05]2\81 C\02\02\00\05\\3\81 D\00\08\00\00^2\80 D\02\02\00\00^3\80 E\00\08\00\00_2\7F E\02\02\00\00_3\7F F\00\08\00\00`2~ F\02\02\00\00`3~ G\00\08\00\00a2} G\02\02\00\00a3} H\00\08\00\00b2| H\02\02\00\00b3| I\00\08\00\00c2{ I\02\02\00\00c3{ J\00\08\00\00d2z J\02\02\00\00d3z K\00\08\00\05e2y K\02\02\00\05e3y L\00\08\00\00f2x L\02\02\00\00g3x M\00\08\00\02P2w M\02\02\00\02P3w N\00\08\00\05h2v N\02\02\00\05h3v O\00\08\00\05i2u O\02\02\00\05i3u P\00\08\00\06j4t!P\02\02\00\07k5t!Q\00\08\00\05l66\22Q\02\02\00\05m66\22R\00\0C\00\05n66\22R\02\02\00\05m66\22S\02\02\01\0Ao75#S\00\02\01\0Ao75#T\00\08\00\01p8s$T\02\02\00\01q9s$U\00\0C\00\01r8s$U\02\02\00\01q9s$V\00\08\00\017:r%V\02\02\00\017;r%W\00\08\00\09?<4&W\02\02\00\09@=4&X\00\0C\00\09A<4&X\02\02\00\09@=4&Y\00\08\00\0Bs>q'Y\02\02\00\0Bs?q'Z\00\08\00\05>@3(Z\02\02\00\05>A3([\00\08\00\05-B2'[\02\02\00\05.C2'\\\00\0C\00\05tB2'\\\02\02\00\05.C2']\00\08\00\05-B1']\02\02\00\05.C1'^\00\0C\00\05tB1'^\02\02\00\05.C1'_\00\08\00\02JD0)_\02\02\00\02KE0)`\00\0C\00\02LD0)`\02\02\00\02KE0)a\00\0C\00\025F/\1Ba\02\02\00\026G/\1Bb\00\08\00\05lHp b\02\02\00\05mIp c\00\0C\00\05nHp c\02\02\00\05mIp d\00\08\00\025J.\1Bd\02\02\00\026J.\1Be\00\14\00\02uK-*e\02\02\00\02vL-+f\02\02\00\02wM,\02f\00\02\00\02wM,\02g\00\0E\00\05xNo,g\02\02\00\05xOo,h\00\0E\00\01yP+-h\02\02\00\01yQ+-i\00\03\00\02zR*.i\02\02\00\02{S*\10j\00\08\00\01|T)/j\02\02\00\01|T)/k\00\08\00\01}Un\18k\02\02\00\01}Vn\18l\00\08\00\0C>W(0l\02\02\00\0C>X(0m\00\08\00\05lY' m\02\02\00\05mZ' n\00\0C\00\05nY' n\02\02\00\05mZ' o\00\14\00\02uK&*o\02\02\00\02vL&+p\02\02\00\02~[\901q\00\07\00\01\7F\\%2q\02\02\00\01\80]%3r\00\08\00\017^m4r\02\02\00\017^m4s\02\02\00\02\81_\915t\00\08\00\025`$6t\02\02\00\026`$6u\00\0A\00\01\82al7u\02\02\00\01\82bl7v\00\0A\00\06\83ck%v\02\02\00\07\84dk%w\00\0A\00\02Me#8w\02\02\00\02Mf#9x\00\11\00\0D\85g\22:x\02\02\00\0D\86h\22;y\02\02\00\02\87i!\82\02\02\00\05.s\1B>\83\00\0E\00\05\90ti?\83\02\02\00\05\91ui?\84\00\08\00\05\92v\1A@\84\02\02\00\05\92w\1A@\85\00\08\00\05\93x\19@\85\02\02\00\05\94y\19@\86\00\0C\00\05\95x\19@\86\02\02\00\05\94y\19@\87\00\0E\00\05\96z\18A\87\02\02\00\05\96{\18A\88\16\16\00\01\97|\17B\88\00\11\00\01\98}\17C\88\02\02\00\01\99~\17\0D\89\00\18\00\01\9A\7F\16D\89\02\02\00\01\9B\80\16E\8A\00\02\00\01\9C\81\15F\8B\00\0E\00\06\9D\82\8DG\8B\02\02\00\07\9E\83\8DH\8C\00\0E\00\0B\9F\84hI\8C\02\02\00\0B\9F\85hI\8D\00\08\00\01\A0\86\14\02\8D\02\02\00\01\A0\87\14\02\8E\00\0E\00\05\A1\88\13J\8E\02\02\00\05\A1\89\13J\8F\00\11\00\05\A2\8A\13K\8F\02\02\00\05\A3\8B\13E\90\00\08\00\01p\8Cg\18\90\02\02\00\01q\8Dg\18\91\00\0C\00\01r\8Cg\18\91\02\02\00\01q\8Dg\18\92\00\08\00\0D\A4\8C\12\18\92\02\02\00\0D\A4\8D\12\18\93\00\02\00\03\0B\8E\11L\94\00\02\00\0E\A5\8F\10M\95\00\17\00\01\97|\0FN\95\02\02\00\01\99~\0FO\96\00\19\00\02\A6\90\8FP\96\02\02\00\02\A7\91\8FQ\97\00\02\00\02\A8\92\0E\02\98\00\02\00\02\02\93\0D\02\99\00\08\00\02\A9\94\0C\02\99\02\02\00\02\A9\94\0C\02\9A\00\15\00\00\AA\95fR\9A\02\02\00\00\AA\96fS\9B\02\02\00\01\99\97\0BT\9C\00\18\00\01\9A\98\0AU\9C\02\02\00\01\9B\99\0AV\9D\00\02\00\02\AB\9A\09W\9E\00\08\00\02\AC\9B\08X\9E\02\02\00\02\AC\9B\08X\9F\02\02\00\01\AD\9C\07\02\9F\00\02\00\01\AD\9C\07\02\A0\00\08\00\09?\9D\06Y\A0\02\02\00\09@\9E\06Y\A1\00\0C\00\09A\9D\06Y\A2\00\06\00\02\AE\9F\05Z\A2\02\02\00\02\AE\A0\05[\A3\02\02\00\02\AF\A1\04\\\A4\02\02\00\02I\A2\03\\\A5\00\02\00\02O\A3\02\1E\A6\02\02\00\02\B0\A4\01\\", [835 x i8] c"af_ZAam_ETar_AEar_BHar_DZar_EGar_INar_IQar_JOar_KWar_LBar_LYar_MAar_OMar_QAar_SAar_SDar_SYar_TNar_YEaz_AZbe_BYbg_BGbn_BDbn_INbr_FRbs_BAca_EScaeEScs_CZcy_GBda_DKde_ATdeeATde_BEdeeBEde_CHde_DEdeeDEde_LUdeeLUel_GRen_AUen_BWen_CAen_DKen_GBen_HKen_IEeneIEen_INen_NZen_PHen_SGen_USen_ZAen_ZWeo_EOes_ARes_BOes_CLes_COes_CRes_DOes_ECes_ESeseESes_GTes_HNes_MXes_NIes_PAes_PEes_PRes_PYes_SVes_USes_UYes_VEet_EEeu_ESeueESfa_IRfi_FIfieFIfo_FOfr_BEfreBEfr_CAfr_CHfr_FRfreFRfr_LUfreLUga_IEgaeIEgd_GBgl_ESgleESgv_GBhe_ILhi_INhr_HRhu_HUhy_AMid_IDis_ISit_CHit_ITiteITiw_ILja_JPka_GEkl_GLko_KRkw_GBlt_LTlv_LVmi_NZmk_MKmr_INms_MYmt_MTnl_BEnleBEnl_NLnleNLnn_NOno_NOoc_FRpl_PLpt_BRpt_PTptePTro_ROru_RUru_UAse_NOsk_SKsl_SIsq_ALsr_YUsrcYUsv_FIsveFIsv_SEta_INte_INtg_TJth_THti_ERti_ETtl_PHtr_TRtt_RUuk_UAur_PKuz_UZvi_VNwa_BEwaeBEyi_USzh_CNzh_HKzh_SGzh_TW\00\00\00\00\00", [18 x i8] c"\05eeuro\00\09ccyrillic\00", [69 x i8] c"\06\0F\1A&.9LC_CTYPE\00LC_NUMERIC\00LC_MONETARY\00LC_TIME\00LC_COLLATE\00LC_MESSAGES\00", [255 x i8] c"\18\22(/6BMYeq}\89\94\9F\AA\B5\C0\CB\D6\E1\E8\EF\F6\00ARMSCII-8\00ASCII\00CP1251\00CP1255\00GEORGIAN-PS\00ISO-8859-1\00ISO-8859-10\00ISO-8859-13\00ISO-8859-14\00ISO-8859-15\00ISO-8859-16\00ISO-8859-2\00ISO-8859-3\00ISO-8859-4\00ISO-8859-5\00ISO-8859-6\00ISO-8859-7\00ISO-8859-8\00ISO-8859-9\00KOI8-R\00KOI8-T\00KOI8-U\00TIS-620\00\00" }, align 8 +@__C_ctype_b_data = constant <{ [256 x i16], [128 x i16] }> <{ [256 x i16] [i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 8195, i16 8194, i16 8194, i16 8194, i16 8194, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 24577, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -11000, i16 -11000, i16 -11000, i16 -11000, i16 -11000, i16 -11000, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -10744, i16 -10744, i16 -10744, i16 -10744, i16 -10744, i16 -10744, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 2], [128 x i16] zeroinitializer }>, align 16 +@__C_ctype_b = global i16* bitcast (i8* getelementptr (i8, i8* bitcast (<{ [256 x i16], [128 x i16] }>* @__C_ctype_b_data to i8*), i64 256) to i16*), align 8 +@__C_ctype_tolower_data = constant [384 x i16] [i16 -128, i16 -127, i16 -126, i16 -125, i16 -124, i16 -123, i16 -122, i16 -121, i16 -120, i16 -119, i16 -118, i16 -117, i16 -116, i16 -115, i16 -114, i16 -113, i16 -112, i16 -111, i16 -110, i16 -109, i16 -108, i16 -107, i16 -106, i16 -105, i16 -104, i16 -103, i16 -102, i16 -101, i16 -100, i16 -99, i16 -98, i16 -97, i16 -96, i16 -95, i16 -94, i16 -93, i16 -92, i16 -91, i16 -90, i16 -89, i16 -88, i16 -87, i16 -86, i16 -85, i16 -84, i16 -83, i16 -82, i16 -81, i16 -80, i16 -79, i16 -78, i16 -77, i16 -76, i16 -75, i16 -74, i16 -73, i16 -72, i16 -71, i16 -70, i16 -69, i16 -68, i16 -67, i16 -66, i16 -65, i16 -64, i16 -63, i16 -62, i16 -61, i16 -60, i16 -59, i16 -58, i16 -57, i16 -56, i16 -55, i16 -54, i16 -53, i16 -52, i16 -51, i16 -50, i16 -49, i16 -48, i16 -47, i16 -46, i16 -45, i16 -44, i16 -43, i16 -42, i16 -41, i16 -40, i16 -39, i16 -38, i16 -37, i16 -36, i16 -35, i16 -34, i16 -33, i16 -32, i16 -31, i16 -30, i16 -29, i16 -28, i16 -27, i16 -26, i16 -25, i16 -24, i16 -23, i16 -22, i16 -21, i16 -20, i16 -19, i16 -18, i16 -17, i16 -16, i16 -15, i16 -14, i16 -13, i16 -12, i16 -11, i16 -10, i16 -9, i16 -8, i16 -7, i16 -6, i16 -5, i16 -4, i16 -3, i16 -2, i16 -1, i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255], align 16 +@__C_ctype_tolower = global i16* bitcast (i8* getelementptr (i8, i8* bitcast ([384 x i16]* @__C_ctype_tolower_data to i8*), i64 256) to i16*), align 8 +@__C_ctype_toupper_data = constant [384 x i16] [i16 -128, i16 -127, i16 -126, i16 -125, i16 -124, i16 -123, i16 -122, i16 -121, i16 -120, i16 -119, i16 -118, i16 -117, i16 -116, i16 -115, i16 -114, i16 -113, i16 -112, i16 -111, i16 -110, i16 -109, i16 -108, i16 -107, i16 -106, i16 -105, i16 -104, i16 -103, i16 -102, i16 -101, i16 -100, i16 -99, i16 -98, i16 -97, i16 -96, i16 -95, i16 -94, i16 -93, i16 -92, i16 -91, i16 -90, i16 -89, i16 -88, i16 -87, i16 -86, i16 -85, i16 -84, i16 -83, i16 -82, i16 -81, i16 -80, i16 -79, i16 -78, i16 -77, i16 -76, i16 -75, i16 -74, i16 -73, i16 -72, i16 -71, i16 -70, i16 -69, i16 -68, i16 -67, i16 -66, i16 -65, i16 -64, i16 -63, i16 -62, i16 -61, i16 -60, i16 -59, i16 -58, i16 -57, i16 -56, i16 -55, i16 -54, i16 -53, i16 -52, i16 -51, i16 -50, i16 -49, i16 -48, i16 -47, i16 -46, i16 -45, i16 -44, i16 -43, i16 -42, i16 -41, i16 -40, i16 -39, i16 -38, i16 -37, i16 -36, i16 -35, i16 -34, i16 -33, i16 -32, i16 -31, i16 -30, i16 -29, i16 -28, i16 -27, i16 -26, i16 -25, i16 -24, i16 -23, i16 -22, i16 -21, i16 -20, i16 -19, i16 -18, i16 -17, i16 -16, i16 -15, i16 -14, i16 -13, i16 -12, i16 -11, i16 -10, i16 -9, i16 -8, i16 -7, i16 -6, i16 -5, i16 -4, i16 -3, i16 -2, i16 -1, i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255], align 16 +@__C_ctype_toupper = global i16* bitcast (i8* getelementptr (i8, i8* bitcast ([384 x i16]* @__C_ctype_toupper_data to i8*), i64 256) to i16*), align 8 +@errno = global i32 0, align 4 +@h_errno = global i32 0, align 4 +@.str.208 = private unnamed_addr constant [17 x i8] c"ignoring (EPERM)\00", align 1 +@.str.7.210 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.1.211 = private unnamed_addr constant [9 x i8] c"ignoring\00", align 1 +@.str.2.212 = private unnamed_addr constant [82 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/illegal.c\00", align 1 +@.str.3.213 = private unnamed_addr constant [20 x i8] c"longjmp unsupported\00", align 1 +@.str.4.214 = private unnamed_addr constant [8 x i8] c"xxx.err\00", align 1 +@.str.5.216 = private unnamed_addr constant [18 x i8] c"ignoring (EACCES)\00", align 1 +@.str.6.217 = private unnamed_addr constant [18 x i8] c"ignoring (ENOMEM)\00", align 1 +@error_message_count = global i32 0, align 4 +@error_one_per_line = global i32 0, align 4 +@.str.220 = private unnamed_addr constant [5 x i8] c": %s\00", align 1 +@__error_at_line.old_line_number = internal global i32 0, align 4 +@__error_at_line.old_file_name = internal global i8* null, align 8 +@.str.1.221 = private unnamed_addr constant [8 x i8] c"%s:%d: \00", align 1 +@hr_locale = internal global [448 x i8] zeroinitializer, align 16 +@utf8.228 = internal constant [6 x i8] c"UTF-8\00", align 1 +@static_fd = internal global i32 -1, align 4 +@static_ut_name = internal global i8* getelementptr inbounds ([14 x i8], [14 x i8]* @default_file_name, i32 0, i32 0), align 8 +@default_file_name = internal constant [14 x i8] c"/var/run/utmp\00", align 1 +@static_utmp = internal global %struct.utmp.323 zeroinitializer, align 8 +@mbrtowc.mbstate = internal global %struct.__mbstate_t.512 zeroinitializer, align 4 +@__dso_handle = extern_weak global i8*, align 8 +@.str.287 = private unnamed_addr constant [14 x i8] c"#\80\80\80\80\80\80\80\80\80\80\80\80\00", align 1 +@newlocale.envstr = internal global [4 x i8*] [i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.291, i32 0, i32 0), i8* null, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.2.292, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @posix, i32 0, i32 0)], align 16 +@.str.3.288 = private unnamed_addr constant [2 x i8] c"=\00", align 1 +@.str.4.289 = private unnamed_addr constant [2 x i8] c";\00", align 1 +@posix = internal constant [6 x i8] c"POSIX\00", align 1 +@utf8.290 = internal constant [6 x i8] c"UTF-8\00", align 1 +@.str.1.291 = private unnamed_addr constant [7 x i8] c"LC_ALL\00", align 1 +@.str.2.292 = private unnamed_addr constant [5 x i8] c"LANG\00", align 1 +@empty = internal constant [1 x i8] zeroinitializer, align 1 +@mbsnrtowcs.mbstate = internal global %struct.__mbstate_t.512 zeroinitializer, align 4 +@_do_one_spec.spec_base = internal constant [7 x i8] c"\10\10\10\08\0A\0A\0A", align 1 +@.str.307 = private unnamed_addr constant [6 x i8] c"(nil)\00", align 1 +@.str.1.308 = private unnamed_addr constant [7 x i8] c"(null)\00", align 1 +@_do_one_spec.prefix = internal constant [12 x i8] c"+\00-\00 \000x\000X\00", align 1 +@strerror.buf = internal global [50 x i8] zeroinitializer, align 16 +@desc2flag = internal constant [13 x i16] [i16 0, i16 2048, i16 4, i16 256, i16 512, i16 8, i16 128, i16 2, i16 64, i16 1024, i16 32, i16 1, i16 16], align 16 +@fmt = internal constant [20 x i8] c"inf\00INF\00nan\00NAN\00.\00,\00", align 16 +@exp10_table = internal constant [9 x double] [double 1.000000e+01, double 1.000000e+02, double 1.000000e+04, double 1.000000e+08, double 1.000000e+16, double 1.000000e+32, double 1.000000e+64, double 1.000000e+128, double 1.000000e+256], align 16 +@_ppfs_init.invalid_mbs = internal constant [33 x i8] c"Invalid multibyte format string.\00", align 16 +@_ppfs_parsespec.spec_flags = internal constant [8 x i8] c" +0-#'I\00", align 1 +@_ppfs_parsespec.qual_chars = internal constant [20 x i8] c"hlLjztqZ\00\02\04\08\04\04\04\08\04\00\01\08", align 16 +@_ppfs_parsespec.spec_chars = internal constant [21 x i8] c"npxXoudifFeEgGaACScs\00", align 16 +@_ppfs_parsespec.spec_ranges = internal constant [9 x i8] c"\00\01\07\0F\10\11\12\13\14", align 1 +@_ppfs_parsespec.spec_or_mask = internal constant [8 x i16] [i16 4096, i16 5, i16 0, i16 7, i16 2, i16 4, i16 1, i16 3], align 16 +@_ppfs_parsespec.spec_and_mask = internal constant [8 x i16] [i16 7936, i16 5, i16 3840, i16 2055, i16 2, i16 4, i16 1, i16 3], align 16 +@type_codes = internal constant [12 x i16] [i16 8, i16 5, i16 3, i16 4, i16 1, i16 512, i16 0, i16 1024, i16 2048, i16 2, i16 7, i16 2055], align 16 +@type_sizes = internal constant [12 x i8] c"\00\01\01\01\04\02\01\01\01\01\01\01", align 1 +@__exit_count = hidden global i32 0, align 4 +@__exit_function_table = hidden global %struct.exit_function* null, align 8 +@__exit_slots = hidden global i32 0, align 4 +@__xpg_strerror_r.unknown = internal constant [14 x i8] c"Unknown error ", align 1 +@mbsrtowcs.mbstate = internal global %struct.__mbstate_t.512 zeroinitializer, align 4 +@_string_syserrmsgs = hidden constant [2906 x i8] c"Success\00Operation not permitted\00No such file or directory\00No such process\00Interrupted system call\00Input/output error\00No such device or address\00Argument list too long\00Exec format error\00Bad file descriptor\00No child processes\00Resource temporarily unavailable\00Cannot allocate memory\00Permission denied\00Bad address\00Block device required\00Device or resource busy\00File exists\00Invalid cross-device link\00No such device\00Not a directory\00Is a directory\00Invalid argument\00Too many open files in system\00Too many open files\00Inappropriate ioctl for device\00Text file busy\00File too large\00No space left on device\00Illegal seek\00Read-only file system\00Too many links\00Broken pipe\00Numerical argument out of domain\00Numerical result out of range\00Resource deadlock avoided\00File name too long\00No locks available\00Function not implemented\00Directory not empty\00Too many levels of symbolic links\00\00No message of desired type\00Identifier removed\00Channel number out of range\00Level 2 not synchronized\00Level 3 halted\00Level 3 reset\00Link number out of range\00Protocol driver not attached\00No CSI structure available\00Level 2 halted\00Invalid exchange\00Invalid request descriptor\00Exchange full\00No anode\00Invalid request code\00Invalid slot\00\00Bad font file format\00Device not a stream\00No data available\00Timer expired\00Out of streams resources\00Machine is not on the network\00Package not installed\00Object is remote\00Link has been severed\00Advertise error\00Srmount error\00Communication error on send\00Protocol error\00Multihop attempted\00RFS specific error\00Bad message\00Value too large for defined data type\00Name not unique on network\00File descriptor in bad state\00Remote address changed\00Can not access a needed shared library\00Accessing a corrupted shared library\00.lib section in a.out corrupted\00Attempting to link in too many shared libraries\00Cannot exec a shared library directly\00Invalid or incomplete multibyte or wide character\00Interrupted system call should be restarted\00Streams pipe error\00Too many users\00Socket operation on non-socket\00Destination address required\00Message too long\00Protocol wrong type for socket\00Protocol not available\00Protocol not supported\00Socket type not supported\00Operation not supported\00Protocol family not supported\00Address family not supported by protocol\00Address already in use\00Cannot assign requested address\00Network is down\00Network is unreachable\00Network dropped connection on reset\00Software caused connection abort\00Connection reset by peer\00No buffer space available\00Transport endpoint is already connected\00Transport endpoint is not connected\00Cannot send after transport endpoint shutdown\00Too many references: cannot splice\00Connection timed out\00Connection refused\00Host is down\00No route to host\00Operation already in progress\00Operation now in progress\00Stale NFS file handle\00Structure needs cleaning\00Not a XENIX named type file\00No XENIX semaphores available\00Is a named type file\00Remote I/O error\00Disk quota exceeded\00No medium found\00Wrong medium type\00", align 16 + +@__progname = weak alias i8*, i8** @program_invocation_short_name +@__progname_full = weak alias i8*, i8** @program_invocation_name +@environ = weak alias i8**, i8*** @__environ +@__getdents = dso_local alias i64 (i32, %struct.dirent64*, i64), i64 (i32, %struct.dirent64*, i64)* @getdents +@getchar = alias i32 (), i32 ()* @getchar_unlocked +@raise = weak alias i32 (i32), i32 (i32)* @__raise +@fgetc_unlocked = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@getc_unlocked = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@fgetc = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@getc = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@__getdents64 = dso_local alias i64 (i32, i8*, i64), i64 (i32, i8*, i64)* @getdents64 +@error = weak alias void (i32, i32, i8*, ...), void (i32, i32, i8*, ...)* @__error +@error_at_line = weak alias void (i32, i32, i8*, i32, i8*, ...), void (i32, i32, i8*, i32, i8*, ...)* @__error_at_line +@ferror = alias i32 (%struct.__STDIO_FILE_STRUCT.592*), i32 (%struct.__STDIO_FILE_STRUCT.592*)* @ferror_unlocked +@fflush = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fflush_unlocked +@fileno = alias i32 (%struct.__STDIO_FILE_STRUCT.608*), i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno_unlocked +@fputc_unlocked = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@putc_unlocked = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@fputc = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@putc = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@fputs = alias i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*), i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked +@fseeko = alias i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32), i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32)* @fseek +@fwrite = alias i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.621*), i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.621*)* @fwrite_unlocked +@strerror_r = weak alias i32 (i32, i8*, i64), i32 (i32, i8*, i64)* @__xpg_strerror_r + +; Function Attrs: noinline nounwind uwtable +define void @__uClibc_init() #0 { +entry: + %0 = load i32, i32* @__uClibc_init.been_there_done_that, align 4 + %tobool = icmp ne i32 %0, 0 + br i1 %tobool, label %if.end4, label %if.end + +if.end: ; preds = %entry + %1 = load i32, i32* @__uClibc_init.been_there_done_that, align 4 + %inc = add nsw i32 %1, 1 + store i32 %inc, i32* @__uClibc_init.been_there_done_that, align 4 + store i64 4096, i64* @__pagesize, align 8 + call void @_locale_init() #18 + call void @_stdio_init() #18 + br label %if.end4 + +if.end4: ; preds = %entry, %if.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define void @__uClibc_fini() #0 { +entry: + %0 = load void ()*, void ()** @__app_fini, align 8 + %cmp = icmp ne void ()* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load void ()*, void ()** @__app_fini, align 8 + call void %1() #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %2 = load void ()*, void ()** @__rtld_fini, align 8 + %cmp1 = icmp ne void ()* %2, null + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + %3 = load void ()*, void ()** @__rtld_fini, align 8 + call void %3() #18 + br label %if.end3 + +if.end3: ; preds = %if.then2, %if.end + ret void +} + +; Function Attrs: noinline noreturn nounwind uwtable +define void @__uClibc_main(i32 (i32, i8**, i8**)* %main, i32 %argc, i8** %argv, void ()* %app_init, void ()* %app_fini, void ()* %rtld_fini, i8* %stack_end) #1 { +entry: + %main.addr = alloca i32 (i32, i8**, i8**)*, align 8 + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %app_init.addr = alloca void ()*, align 8 + %app_fini.addr = alloca void ()*, align 8 + %rtld_fini.addr = alloca void ()*, align 8 + %stack_end.addr = alloca i8*, align 8 + %aux_dat = alloca i64*, align 8 + %auxvt = alloca [15 x %struct.Elf64_auxv_t], align 16 + %auxv_entry = alloca %struct.Elf64_auxv_t*, align 8 + store i32 (i32, i8**, i8**)* %main, i32 (i32, i8**, i8**)** %main.addr, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store void ()* %app_init, void ()** %app_init.addr, align 8 + store void ()* %app_fini, void ()** %app_fini.addr, align 8 + store void ()* %rtld_fini, void ()** %rtld_fini.addr, align 8 + store i8* %stack_end, i8** %stack_end.addr, align 8 + %0 = load i8*, i8** %stack_end.addr, align 8 + store i8* %0, i8** @__libc_stack_end, align 8 + %1 = load void ()*, void ()** %rtld_fini.addr, align 8 + store void ()* %1, void ()** @__rtld_fini, align 8 + %2 = load i8**, i8*** %argv.addr, align 8 + %3 = load i32, i32* %argc.addr, align 4 + %add = add nsw i32 %3, 1 + %idxprom = sext i32 %add to i64 + %arrayidx = getelementptr inbounds i8*, i8** %2, i64 %idxprom + store i8** %arrayidx, i8*** @__environ, align 8 + %4 = load i8**, i8*** @__environ, align 8 + %5 = bitcast i8** %4 to i8* + %6 = load i8**, i8*** %argv.addr, align 8 + %7 = load i8*, i8** %6, align 8 + %cmp = icmp eq i8* %5, %7 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %8 = load i8**, i8*** %argv.addr, align 8 + %9 = load i32, i32* %argc.addr, align 4 + %idxprom1 = sext i32 %9 to i64 + %arrayidx2 = getelementptr inbounds i8*, i8** %8, i64 %idxprom1 + store i8** %arrayidx2, i8*** @__environ, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %arraydecay = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 0 + %10 = bitcast %struct.Elf64_auxv_t* %arraydecay to i8* + %call = call i8* @memset(i8* %10, i32 0, i64 240) #19 + %11 = load i8**, i8*** @__environ, align 8 + %12 = bitcast i8** %11 to i64* + store i64* %12, i64** %aux_dat, align 8 + br label %while.cond + +while.cond: ; preds = %while.cond, %if.end + %13 = load i64*, i64** %aux_dat, align 8 + %14 = load i64, i64* %13, align 8 + %tobool = icmp ne i64 %14, 0 + %15 = load i64*, i64** %aux_dat, align 8 + %incdec.ptr = getelementptr inbounds i64, i64* %15, i32 1 + store i64* %incdec.ptr, i64** %aux_dat, align 8 + br i1 %tobool, label %while.cond, label %while.cond4 + +while.cond4: ; preds = %while.cond, %if.end12 + %16 = load i64*, i64** %aux_dat, align 8 + %17 = load i64, i64* %16, align 8 + %tobool5 = icmp ne i64 %17, 0 + br i1 %tobool5, label %while.body6, label %while.end13 + +while.body6: ; preds = %while.cond4 + %18 = load i64*, i64** %aux_dat, align 8 + %19 = bitcast i64* %18 to %struct.Elf64_auxv_t* + store %struct.Elf64_auxv_t* %19, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %20 = load %struct.Elf64_auxv_t*, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %a_type = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %20, i32 0, i32 0 + %21 = load i64, i64* %a_type, align 8 + %cmp7 = icmp ule i64 %21, 14 + br i1 %cmp7, label %if.then8, label %if.end12 + +if.then8: ; preds = %while.body6 + %22 = load %struct.Elf64_auxv_t*, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %a_type9 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %22, i32 0, i32 0 + %23 = load i64, i64* %a_type9, align 8 + %arrayidx10 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 %23 + %24 = bitcast %struct.Elf64_auxv_t* %arrayidx10 to i8* + %25 = load %struct.Elf64_auxv_t*, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %26 = bitcast %struct.Elf64_auxv_t* %25 to i8* + %call11 = call i8* @memcpy(i8* %24, i8* %26, i64 16) #19 + br label %if.end12 + +if.end12: ; preds = %if.then8, %while.body6 + %27 = load i64*, i64** %aux_dat, align 8 + %add.ptr = getelementptr inbounds i64, i64* %27, i64 2 + store i64* %add.ptr, i64** %aux_dat, align 8 + br label %while.cond4 + +while.end13: ; preds = %while.cond4 + call void @__uClibc_init() #18 + %arrayidx14 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 6 + %a_un = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx14, i32 0, i32 1 + %a_val = bitcast %union.anon.193* %a_un to i64* + %28 = load i64, i64* %a_val, align 8 + %tobool15 = icmp ne i64 %28, 0 + %arrayidx16 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 6 + %a_un17 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx16, i32 0, i32 1 + %a_val18 = bitcast %union.anon.193* %a_un17 to i64* + %29 = load i64, i64* %a_val18, align 8 + %cond = select i1 %tobool15, i64 %29, i64 4096 + store i64 %cond, i64* @__pagesize, align 8 + %arrayidx19 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 11 + %a_un20 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx19, i32 0, i32 1 + %a_val21 = bitcast %union.anon.193* %a_un20 to i64* + %30 = load i64, i64* %a_val21, align 8 + %cmp22 = icmp eq i64 %30, -1 + br i1 %cmp22, label %land.lhs.true, label %lor.lhs.false + +land.lhs.true: ; preds = %while.end13 + %call23 = call i32 @__check_suid() #18 + %tobool24 = icmp ne i32 %call23, 0 + br i1 %tobool24, label %if.then45, label %lor.lhs.false + +lor.lhs.false: ; preds = %land.lhs.true, %while.end13 + %arrayidx25 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 11 + %a_un26 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx25, i32 0, i32 1 + %a_val27 = bitcast %union.anon.193* %a_un26 to i64* + %31 = load i64, i64* %a_val27, align 8 + %cmp28 = icmp ne i64 %31, -1 + br i1 %cmp28, label %land.lhs.true29, label %if.end46 + +land.lhs.true29: ; preds = %lor.lhs.false + %arrayidx30 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 11 + %a_un31 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx30, i32 0, i32 1 + %a_val32 = bitcast %union.anon.193* %a_un31 to i64* + %32 = load i64, i64* %a_val32, align 8 + %arrayidx33 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 12 + %a_un34 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx33, i32 0, i32 1 + %a_val35 = bitcast %union.anon.193* %a_un34 to i64* + %33 = load i64, i64* %a_val35, align 8 + %cmp36 = icmp ne i64 %32, %33 + br i1 %cmp36, label %if.then45, label %lor.lhs.false37 + +lor.lhs.false37: ; preds = %land.lhs.true29 + %arrayidx38 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 13 + %a_un39 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx38, i32 0, i32 1 + %a_val40 = bitcast %union.anon.193* %a_un39 to i64* + %34 = load i64, i64* %a_val40, align 8 + %arrayidx41 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 14 + %a_un42 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx41, i32 0, i32 1 + %a_val43 = bitcast %union.anon.193* %a_un42 to i64* + %35 = load i64, i64* %a_val43, align 8 + %cmp44 = icmp ne i64 %34, %35 + br i1 %cmp44, label %if.then45, label %if.end46 + +if.then45: ; preds = %lor.lhs.false37, %land.lhs.true29, %land.lhs.true + call void @__check_one_fd(i32 0, i32 131072) #18 + call void @__check_one_fd(i32 1, i32 131074) #18 + call void @__check_one_fd(i32 2, i32 131074) #18 + br label %if.end46 + +if.end46: ; preds = %if.then45, %lor.lhs.false37, %lor.lhs.false + %36 = load i8**, i8*** %argv.addr, align 8 + %37 = load i8*, i8** %36, align 8 + store i8* %37, i8** @__uclibc_progname, align 8 + %38 = load i8**, i8*** %argv.addr, align 8 + %39 = load i8*, i8** %38, align 8 + store i8* %39, i8** @program_invocation_name, align 8 + %40 = load i8**, i8*** %argv.addr, align 8 + %41 = load i8*, i8** %40, align 8 + %call47 = call i8* @strrchr(i8* %41, i32 47) #20 + store i8* %call47, i8** @program_invocation_short_name, align 8 + %42 = load i8*, i8** @program_invocation_short_name, align 8 + %cmp48 = icmp ne i8* %42, null + br i1 %cmp48, label %if.then49, label %if.else + +if.then49: ; preds = %if.end46 + %43 = load i8*, i8** @program_invocation_short_name, align 8 + %incdec.ptr50 = getelementptr inbounds i8, i8* %43, i32 1 + store i8* %incdec.ptr50, i8** @program_invocation_short_name, align 8 + br label %if.end51 + +if.else: ; preds = %if.end46 + %44 = load i8*, i8** @program_invocation_name, align 8 + store i8* %44, i8** @program_invocation_short_name, align 8 + br label %if.end51 + +if.end51: ; preds = %if.else, %if.then49 + %45 = load void ()*, void ()** %app_fini.addr, align 8 + store void ()* %45, void ()** @__app_fini, align 8 + %46 = load void ()*, void ()** %app_init.addr, align 8 + %cmp52 = icmp ne void ()* %46, null + br i1 %cmp52, label %if.then53, label %if.then55 + +if.then53: ; preds = %if.end51 + %47 = load void ()*, void ()** %app_init.addr, align 8 + call void %47() #18 + br label %if.then55 + +if.then55: ; preds = %if.end51, %if.then53 + %call56 = call i32* @__errno_location() #21 + store i32 0, i32* %call56, align 4 + %call59 = call i32* @__h_errno_location() #21 + store i32 0, i32* %call59, align 4 + %48 = load i32 (i32, i8**, i8**)*, i32 (i32, i8**, i8**)** %main.addr, align 8 + %49 = load i32, i32* %argc.addr, align 4 + %50 = load i8**, i8*** %argv.addr, align 8 + %51 = load i8**, i8*** @__environ, align 8 + %call61 = call i32 %48(i32 %49, i8** %50, i8** %51) #18 + call void @exit(i32 %call61) #22 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__check_suid() #0 { +entry: + %retval = alloca i32, align 4 + %uid = alloca i32, align 4 + %euid = alloca i32, align 4 + %gid = alloca i32, align 4 + %egid = alloca i32, align 4 + %call = call i32 @getuid() #19 + store i32 %call, i32* %uid, align 4 + %call1 = call i32 @geteuid() #19 + store i32 %call1, i32* %euid, align 4 + %call2 = call i32 @getgid() #19 + store i32 %call2, i32* %gid, align 4 + %call3 = call i32 @getegid() #19 + store i32 %call3, i32* %egid, align 4 + %0 = load i32, i32* %uid, align 4 + %1 = load i32, i32* %euid, align 4 + %cmp = icmp eq i32 %0, %1 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %2 = load i32, i32* %gid, align 4 + %3 = load i32, i32* %egid, align 4 + %cmp4 = icmp eq i32 %2, %3 + br i1 %cmp4, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__check_one_fd(i32 %fd, i32 %mode) #0 { +entry: + %fd.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %st = alloca %struct.stat.192, align 8 + %nullfd = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 (i32, i32, ...) @fcntl(i32 %0, i32 1) #18 + %cmp = icmp eq i32 %call, -1 + br i1 %cmp, label %land.rhs, label %land.end + +land.rhs: ; preds = %entry + %call1 = call i32* @__errno_location() #21 + %1 = load i32, i32* %call1, align 4 + %cmp2 = icmp eq i32 %1, 9 + br label %land.end + +land.end: ; preds = %land.rhs, %entry + %2 = phi i1 [ false, %entry ], [ %cmp2, %land.rhs ] + %lnot = xor i1 %2, true + %lnot3 = xor i1 %lnot, true + %lnot.ext = zext i1 %lnot3 to i32 + %conv = sext i32 %lnot.ext to i64 + %tobool = icmp ne i64 %conv, 0 + br i1 %tobool, label %if.then, label %if.end17 + +if.then: ; preds = %land.end + %3 = load i32, i32* %mode.addr, align 4 + %call4 = call i32 (i8*, i32, ...) @open(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.1, i64 0, i64 0), i32 %3) #18 + store i32 %call4, i32* %nullfd, align 4 + %4 = load i32, i32* %nullfd, align 4 + %5 = load i32, i32* %fd.addr, align 4 + %cmp5 = icmp ne i32 %4, %5 + br i1 %cmp5, label %if.then16, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then + %6 = load i32, i32* %fd.addr, align 4 + %call7 = call i32 bitcast (i32 (i32, %struct.stat64*)* @fstat to i32 (i32, %struct.stat.192*)*)(i32 %6, %struct.stat.192* %st) #19 + %tobool8 = icmp ne i32 %call7, 0 + br i1 %tobool8, label %if.then16, label %lor.lhs.false9 + +lor.lhs.false9: ; preds = %lor.lhs.false + %st_mode = getelementptr inbounds %struct.stat.192, %struct.stat.192* %st, i32 0, i32 3 + %7 = load i32, i32* %st_mode, align 8 + %and = and i32 %7, 61440 + %cmp10 = icmp eq i32 %and, 8192 + br i1 %cmp10, label %lor.lhs.false12, label %if.then16 + +lor.lhs.false12: ; preds = %lor.lhs.false9 + %st_rdev = getelementptr inbounds %struct.stat.192, %struct.stat.192* %st, i32 0, i32 7 + %8 = load i64, i64* %st_rdev, align 8 + %call13 = call i64 @gnu_dev_makedev.166(i32 1, i32 3) #19 + %cmp14 = icmp ne i64 %8, %call13 + br i1 %cmp14, label %if.then16, label %if.end17 + +if.then16: ; preds = %lor.lhs.false12, %lor.lhs.false9, %lor.lhs.false, %if.then + call void @abort() #22 + unreachable + +if.end17: ; preds = %lor.lhs.false12, %land.end + ret void +} + +; Function Attrs: nounwind +declare i32 @getuid() #2 + +; Function Attrs: nounwind +declare i32 @geteuid() #2 + +; Function Attrs: nounwind +declare i32 @getgid() #2 + +; Function Attrs: nounwind +declare i32 @getegid() #2 + +; Function Attrs: noinline nounwind uwtable +define internal i64 @gnu_dev_makedev.166(i32 %__major, i32 %__minor) #0 { +entry: + %__major.addr = alloca i32, align 4 + %__minor.addr = alloca i32, align 4 + store i32 %__major, i32* %__major.addr, align 4 + store i32 %__minor, i32* %__minor.addr, align 4 + %0 = load i32, i32* %__minor.addr, align 4 + %and = and i32 %0, 255 + %1 = load i32, i32* %__major.addr, align 4 + %and1 = and i32 %1, 4095 + %shl = shl i32 %and1, 8 + %or = or i32 %and, %shl + %conv = zext i32 %or to i64 + %2 = load i32, i32* %__minor.addr, align 4 + %and2 = and i32 %2, -256 + %conv3 = zext i32 %and2 to i64 + %shl4 = shl i64 %conv3, 12 + %or5 = or i64 %conv, %shl4 + %3 = load i32, i32* %__major.addr, align 4 + %and6 = and i32 %3, -4096 + %conv7 = zext i32 %and6 to i64 + %shl8 = shl i64 %conv7, 32 + %or9 = or i64 %or5, %shl8 + ret i64 %or9 +} + +define i32 @main(i32 %argc, i8** %argv) { +entry: + call void @__uClibc_main(i32 (i32, i8**, i8**)* @__user_main, i32 %argc, i8** %argv, void ()* null, void ()* null, void ()* null, i8* null) + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define i32 @siggetmask() #0 { +entry: + %call = call i32 @sigblock(i32 0) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i64 @__fpending(%struct.__STDIO_FILE_STRUCT.513* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.513*, align 8 + store %struct.__STDIO_FILE_STRUCT.513* %stream, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.513*, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.513, %struct.__STDIO_FILE_STRUCT.513* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %cond.true, label %cond.end + +cond.true: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.513*, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.513, %struct.__STDIO_FILE_STRUCT.513* %2, i32 0, i32 5 + %3 = load i8*, i8** %__bufpos, align 8 + %4 = load %struct.__STDIO_FILE_STRUCT.513*, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.513, %struct.__STDIO_FILE_STRUCT.513* %4, i32 0, i32 3 + %5 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %3 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + br label %cond.end + +cond.end: ; preds = %entry, %cond.true + %cond = phi i64 [ %sub.ptr.sub, %cond.true ], [ 0, %entry ] + ret i64 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i8* @gets(i8* %s) #0 { +entry: + %s.addr = alloca i8*, align 8 + %p = alloca i8*, align 8 + %c = alloca i32, align 4 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %call = call i32 @getchar_unlocked() #18 + store i32 %call, i32* %c, align 4 + %cmp = icmp ne i32 %call, -1 + br i1 %cmp, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %1 = load i32, i32* %c, align 4 + %conv = trunc i32 %1 to i8 + %2 = load i8*, i8** %p, align 8 + store i8 %conv, i8* %2, align 1 + %conv1 = sext i8 %conv to i32 + %cmp2 = icmp ne i32 %conv1, 10 + br i1 %cmp2, label %while.body, label %while.end + +while.body: ; preds = %land.rhs + %3 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + br label %while.cond + +while.end: ; preds = %while.cond, %land.rhs + %4 = load i32, i32* %c, align 4 + %cmp4 = icmp eq i32 %4, -1 + br i1 %cmp4, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.end + %5 = load i8*, i8** %s.addr, align 8 + %6 = load i8*, i8** %p, align 8 + %cmp6 = icmp eq i8* %5, %6 + br i1 %cmp6, label %if.then, label %if.else + +if.then: ; preds = %lor.lhs.false, %while.end + store i8* null, i8** %s.addr, align 8 + br label %if.end + +if.else: ; preds = %lor.lhs.false + %7 = load i8*, i8** %p, align 8 + store i8 0, i8* %7, align 1 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %8 = load i8*, i8** %s.addr, align 8 + ret i8* %8 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @tmpnam(i8* %s) #0 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %tmpbufmem = alloca [20 x i8], align 16 + %tmpbuf = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %tobool = icmp ne i8* %0, null + %arraydecay = getelementptr inbounds [20 x i8], [20 x i8]* %tmpbufmem, i64 0, i64 0 + %cond = select i1 %tobool, i8* %0, i8* %arraydecay + store i8* %cond, i8** %tmpbuf, align 8 + %1 = load i8*, i8** %tmpbuf, align 8 + %call = call i32 @___path_search(i8* %1, i64 20, i8* null, i8* null) #18 + %conv = sext i32 %call to i64 + %tobool1 = icmp ne i64 %conv, 0 + br i1 %tobool1, label %if.then, label %if.end + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %tmpbuf, align 8 + %call2 = call i32 @__gen_tempname(i8* %2, i32 3) #18 + %conv3 = sext i32 %call2 to i64 + %tobool4 = icmp ne i64 %conv3, 0 + br i1 %tobool4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end + store i8* null, i8** %retval, align 8 + br label %return + +if.end6: ; preds = %if.end + %3 = load i8*, i8** %s.addr, align 8 + %cmp = icmp eq i8* %3, null + br i1 %cmp, label %if.then8, label %if.end10 + +if.then8: ; preds = %if.end6 + %4 = load i8*, i8** %tmpbuf, align 8 + %call9 = call i8* @memcpy(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @tmpnam_buffer, i64 0, i64 0), i8* %4, i64 20) #19 + store i8* %call9, i8** %retval, align 8 + br label %return + +if.end10: ; preds = %if.end6 + %5 = load i8*, i8** %s.addr, align 8 + store i8* %5, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end10, %if.then8, %if.then5, %if.then + %6 = load i8*, i8** %retval, align 8 + ret i8* %6 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @mktemp(i8* nonnull %template) #0 { +entry: + %template.addr = alloca i8*, align 8 + store i8* %template, i8** %template.addr, align 8 + %0 = load i8*, i8** %template.addr, align 8 + %call = call i32 @__gen_tempname(i8* %0, i32 3) #18 + %cmp = icmp slt i32 %call, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load i8*, i8** %template.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + store i8 0, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then, %entry + %2 = load i8*, i8** %template.addr, align 8 + ret i8* %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @access(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %pathname.addr, align 8 + %call1 = call i8* @__concretize_string(i8* %2) + %3 = load i32, i32* %mode.addr, align 4 + %call2 = call i64 (i64, ...) @syscall(i64 21, i8* %call1, i32 %3) #11 + %conv = trunc i64 %call2 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.exe_disk_file_t* @__get_sym_file(i8* %pathname) #3 { +entry: + %retval = alloca %struct.exe_disk_file_t*, align 8 + %pathname.addr = alloca i8*, align 8 + %cwd = alloca [1024 x i8], align 16 + %cwd_len = alloca i64, align 8 + %c = alloca i8, align 1 + %i = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + %0 = load i8*, i8** %pathname.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %pathname.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %2 to i32 + %cmp = icmp eq i32 %conv, 47 + br i1 %cmp, label %if.then2, label %if.end29 + +if.then2: ; preds = %if.end + %3 = bitcast [1024 x i8]* %cwd to i8* + %4 = call i8* @memset(i8* %3, i32 0, i64 1024) + %arraydecay = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 0 + %call = call i8* @getcwd(i8* %arraydecay, i64 1024) #11 + %tobool3 = icmp ne i8* %call, null + br i1 %tobool3, label %if.then4, label %if.end29 + +if.then4: ; preds = %if.then2 + %arraydecay5 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 0 + %call6 = call i64 @strlen(i8* %arraydecay5) #23 + store i64 %call6, i64* %cwd_len, align 8 + %5 = load i64, i64* %cwd_len, align 8 + %cmp7 = icmp ugt i64 %5, 0 + br i1 %cmp7, label %land.lhs.true, label %if.end15 + +land.lhs.true: ; preds = %if.then4 + %6 = load i64, i64* %cwd_len, align 8 + %sub = sub i64 %6, 1 + %arrayidx9 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 %sub + %7 = load i8, i8* %arrayidx9, align 1 + %conv10 = sext i8 %7 to i32 + %cmp11 = icmp eq i32 %conv10, 47 + br i1 %cmp11, label %if.then13, label %if.end15 + +if.then13: ; preds = %land.lhs.true + %8 = load i64, i64* %cwd_len, align 8 + %dec = add i64 %8, -1 + store i64 %dec, i64* %cwd_len, align 8 + %arrayidx14 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 %dec + store i8 0, i8* %arrayidx14, align 1 + br label %if.end15 + +if.end15: ; preds = %if.then13, %land.lhs.true, %if.then4 + %9 = load i8*, i8** %pathname.addr, align 8 + %arraydecay16 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 0 + %10 = load i64, i64* %cwd_len, align 8 + %call17 = call i32 @strncmp(i8* %9, i8* %arraydecay16, i64 %10) #23 + %cmp18 = icmp eq i32 %call17, 0 + br i1 %cmp18, label %if.then20, label %if.end29 + +if.then20: ; preds = %if.end15 + %11 = load i8*, i8** %pathname.addr, align 8 + %12 = load i64, i64* %cwd_len, align 8 + %arrayidx21 = getelementptr inbounds i8, i8* %11, i64 %12 + %13 = load i8, i8* %arrayidx21, align 1 + %conv22 = sext i8 %13 to i32 + %cmp23 = icmp ne i32 %conv22, 0 + br i1 %cmp23, label %if.then25, label %if.end29 + +if.then25: ; preds = %if.then20 + %14 = load i64, i64* %cwd_len, align 8 + %add = add i64 %14, 1 + %15 = load i8*, i8** %pathname.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %15, i64 %add + store i8* %add.ptr, i8** %pathname.addr, align 8 + br label %if.end29 + +if.end29: ; preds = %if.then2, %if.then20, %if.then25, %if.end15, %if.end + %16 = load i8*, i8** %pathname.addr, align 8 + %arrayidx30 = getelementptr inbounds i8, i8* %16, i64 0 + %17 = load i8, i8* %arrayidx30, align 1 + store i8 %17, i8* %c, align 1 + %18 = load i8, i8* %c, align 1 + %conv31 = sext i8 %18 to i32 + %cmp32 = icmp eq i32 %conv31, 0 + br i1 %cmp32, label %if.then38, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end29 + %19 = load i8*, i8** %pathname.addr, align 8 + %arrayidx34 = getelementptr inbounds i8, i8* %19, i64 1 + %20 = load i8, i8* %arrayidx34, align 1 + %conv35 = sext i8 %20 to i32 + %cmp36 = icmp ne i32 %conv35, 0 + br i1 %cmp36, label %if.then38, label %if.end39 + +if.then38: ; preds = %lor.lhs.false, %if.end29 + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +if.end39: ; preds = %lor.lhs.false + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end39 + %21 = load i32, i32* %i, align 4 + %22 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %cmp40 = icmp ult i32 %21, %22 + br i1 %cmp40, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %23 = load i8, i8* %c, align 1 + %conv42 = sext i8 %23 to i32 + %24 = load i32, i32* %i, align 4 + %conv43 = trunc i32 %24 to i8 + %conv44 = sext i8 %conv43 to i32 + %add45 = add nsw i32 65, %conv44 + %cmp46 = icmp eq i32 %conv42, %add45 + br i1 %cmp46, label %if.then48, label %for.inc + +if.then48: ; preds = %for.body + %25 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %26 = load i32, i32* %i, align 4 + %idxprom = zext i32 %26 to i64 + %arrayidx49 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %25, i64 %idxprom + store %struct.exe_disk_file_t* %arrayidx49, %struct.exe_disk_file_t** %df, align 8 + %27 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %27, i32 0, i32 2 + %28 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %28, i32 0, i32 1 + %29 = load i64, i64* %st_ino, align 8 + %cmp50 = icmp eq i64 %29, 0 + br i1 %cmp50, label %if.then52, label %if.end53 + +if.then52: ; preds = %if.then48 + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +if.end53: ; preds = %if.then48 + %30 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + store %struct.exe_disk_file_t* %30, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +for.inc: ; preds = %for.body + %31 = load i32, i32* %i, align 4 + %inc = add i32 %31, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +return: ; preds = %for.end, %if.end53, %if.then52, %if.then38, %if.then + %32 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %retval, align 8 + ret %struct.exe_disk_file_t* %32 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @__concretize_string(i8* %s) #3 { +entry: + %s.addr = alloca i8*, align 8 + %sc = alloca i8*, align 8 + %i = alloca i32, align 4 + %c = alloca i8, align 1 + %cc = alloca i8, align 1 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %call = call i8* @__concretize_ptr(i8* %0) + store i8* %call, i8** %sc, align 8 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load i8*, i8** %sc, align 8 + %2 = load i8, i8* %1, align 1 + store i8 %2, i8* %c, align 1 + %3 = load i8, i8* %c, align 1 + %conv = sext i8 %3 to i64 + %call1 = call i32 @gs_is_symbolic(i64 %conv) + %tobool = icmp ne i32 %call1, 0 + br i1 %tobool, label %if.end4, label %if.then + +if.then: ; preds = %for.cond + %4 = load i8, i8* %c, align 1 + %tobool2 = icmp ne i8 %4, 0 + br i1 %tobool2, label %for.inc, label %for.end + +if.end4: ; preds = %for.cond + %5 = load i32, i32* %i, align 4 + %6 = load i32, i32* %i, align 4 + %sub = sub i32 %6, 1 + %and = and i32 %5, %sub + %tobool5 = icmp ne i32 %and, 0 + %7 = load i8, i8* %c, align 1 + br i1 %tobool5, label %if.else14, label %if.then6 + +if.then6: ; preds = %if.end4 + %tobool7 = icmp ne i8 %7, 0 + br i1 %tobool7, label %if.else, label %if.then8 + +if.then8: ; preds = %if.then6 + %8 = load i8*, i8** %sc, align 8 + store i8 0, i8* %8, align 1 + br label %for.end + +if.else: ; preds = %if.then6 + %9 = load i8, i8* %c, align 1 + %conv9 = sext i8 %9 to i32 + %cmp = icmp eq i32 %conv9, 47 + br i1 %cmp, label %if.then11, label %for.inc + +if.then11: ; preds = %if.else + %10 = load i8*, i8** %sc, align 8 + store i8 47, i8* %10, align 1 + br label %for.inc + +if.else14: ; preds = %if.end4 + %conv15 = sext i8 %7 to i64 + %call16 = call i64 @gs_get_valuel(i64 %conv15) + %conv17 = trunc i64 %call16 to i8 + store i8 %conv17, i8* %cc, align 1 + %11 = load i8, i8* %cc, align 1 + %conv18 = sext i8 %11 to i32 + %12 = load i8, i8* %c, align 1 + %conv19 = sext i8 %12 to i32 + %cmp20 = icmp eq i32 %conv18, %conv19 + call void @gs_assume(i1 zeroext %cmp20) + %13 = load i8, i8* %cc, align 1 + %14 = load i8*, i8** %sc, align 8 + store i8 %13, i8* %14, align 1 + %15 = load i8, i8* %cc, align 1 + %tobool22 = icmp ne i8 %15, 0 + br i1 %tobool22, label %for.inc, label %for.end + +for.inc: ; preds = %if.else, %if.then11, %if.else14, %if.then + %16 = load i32, i32* %i, align 4 + %inc = add i32 %16, 1 + store i32 %inc, i32* %i, align 4 + %17 = load i8*, i8** %sc, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %17, i32 1 + store i8* %incdec.ptr, i8** %sc, align 8 + br label %for.cond + +for.end: ; preds = %if.else14, %if.then, %if.then8 + %18 = load i8*, i8** %s.addr, align 8 + ret i8* %18 +} + +; Function Attrs: nounwind +declare dso_local i64 @syscall(i64, ...) #4 + +; Function Attrs: noinline nounwind uwtable +define internal i8* @__concretize_ptr(i8* %p) #3 { +entry: + %p.addr = alloca i8*, align 8 + store i8* %p, i8** %p.addr, align 8 + %0 = load i8*, i8** %p.addr, align 8 + %1 = ptrtoint i8* %0 to i64 + %call = call i32 @gs_is_symbolic(i64 %1) + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @gs_report_error(i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 1386, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.27, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.28, i64 0, i64 0)) #24 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %p.addr, align 8 + ret i8* %2 +} + +declare dso_local i32 @gs_is_symbolic(i64) #5 + +declare dso_local i64 @gs_get_valuel(i64) #5 + +declare dso_local void @gs_assume(i1 zeroext) #5 + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.25, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +declare dso_local void @print_string(i8*) #5 + +declare dso_local void @sym_print(i32, ...) #5 + +; Function Attrs: noreturn +declare dso_local void @stop(i32) #7 + +; Function Attrs: argmemonly nounwind willreturn writeonly +declare void @llvm.memset.p0i8.i64(i8* nocapture writeonly, i8, i64, i1 immarg) #8 + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @getcwd(i8* %buf, i64 %size) #3 { +entry: + %retval = alloca i8*, align 8 + %buf.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %r = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + %0 = load i32, i32* @getcwd.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @getcwd.n_calls, align 4 + %1 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool = icmp ne i32 %1, 0 + br i1 %tobool, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %2 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %3 = load i32, i32* %2, align 4 + %4 = load i32, i32* @getcwd.n_calls, align 4 + %cmp = icmp eq i32 %3, %4 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %5 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %5, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call = call i32* @__errno_location() #25 + store i32 34, i32* %call, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + %6 = load i8*, i8** %buf.addr, align 8 + %tobool1 = icmp ne i8* %6, null + br i1 %tobool1, label %if.else, label %if.then2 + +if.then2: ; preds = %if.end + store i64 1024, i64* %size.addr, align 8 + %7 = load i64, i64* %size.addr, align 8 + %call3 = call noalias i8* @malloc(i64 %7) #11 + store i8* %call3, i8** %buf.addr, align 8 + %8 = load i8*, i8** %buf.addr, align 8 + %tobool4 = icmp ne i8* %8, null + br i1 %tobool4, label %if.end12, label %if.then5 + +if.then5: ; preds = %if.then2 + %call6 = call i32* @__errno_location() #25 + store i32 12, i32* %call6, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.else: ; preds = %if.end + %9 = load i64, i64* %size.addr, align 8 + %tobool8 = icmp ne i64 %9, 0 + br i1 %tobool8, label %if.end12, label %if.then9 + +if.then9: ; preds = %if.else + %call10 = call i32* @__errno_location() #25 + store i32 22, i32* %call10, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end12: ; preds = %if.else, %if.then2 + %10 = load i8*, i8** %buf.addr, align 8 + %call13 = call i8* @__concretize_ptr(i8* %10) + store i8* %call13, i8** %buf.addr, align 8 + %11 = load i64, i64* %size.addr, align 8 + %call14 = call i64 @__concretize_size(i64 %11) + store i64 %call14, i64* %size.addr, align 8 + %12 = load i8*, i8** %buf.addr, align 8 + %13 = load i64, i64* %size.addr, align 8 + %call15 = call i64 (i64, ...) @syscall(i64 79, i8* %12, i64 %13) #11 + %conv = trunc i64 %call15 to i32 + store i32 %conv, i32* %r, align 4 + %14 = load i32, i32* %r, align 4 + %cmp16 = icmp eq i32 %14, -1 + br i1 %cmp16, label %if.then18, label %if.end19 + +if.then18: ; preds = %if.end12 + store i8* null, i8** %retval, align 8 + br label %return + +if.end19: ; preds = %if.end12 + %15 = load i8*, i8** %buf.addr, align 8 + store i8* %15, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end19, %if.then18, %if.then9, %if.then5, %if.then + %16 = load i8*, i8** %retval, align 8 + ret i8* %16 +} + +; Function Attrs: nounwind +declare dso_local noalias i8* @malloc(i64) #4 + +; Function Attrs: noinline nounwind uwtable +define internal i64 @__concretize_size(i64 %s) #3 { +entry: + %s.addr = alloca i64, align 8 + %sc = alloca i64, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %call = call i64 @gs_get_valuel(i64 %0) + store i64 %call, i64* %sc, align 8 + %1 = load i64, i64* %sc, align 8 + %2 = load i64, i64* %s.addr, align 8 + %cmp = icmp eq i64 %1, %2 + call void @gs_assume(i1 zeroext %cmp) + %3 = load i64, i64* %sc, align 8 + ret i64 %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @umask(i32 %mask) #3 { +entry: + %mask.addr = alloca i32, align 4 + %r = alloca i32, align 4 + store i32 %mask, i32* %mask.addr, align 4 + %0 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 1), align 8 + store i32 %0, i32* %r, align 4 + %1 = load i32, i32* %mask.addr, align 4 + %and = and i32 %1, 511 + store i32 %and, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 1), align 8 + %2 = load i32, i32* %r, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_open(i8* %pathname, i32 %flags, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %fd = alloca i32, align 4 + %os_fd = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + store i32 0, i32* %fd, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %0, 32 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %1 = load i32, i32* %fd, align 4 + %idxprom = sext i32 %1 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + %flags1 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %arrayidx, i32 0, i32 1 + %2 = load i32, i32* %flags1, align 4 + %and = and i32 %2, 1 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %for.inc, label %for.end + +for.inc: ; preds = %for.body + %3 = load i32, i32* %fd, align 4 + %inc = add nsw i32 %3, 1 + store i32 %inc, i32* %fd, align 4 + br label %for.cond + +for.end: ; preds = %for.body, %for.cond + %4 = load i32, i32* %fd, align 4 + %cmp2 = icmp eq i32 %4, 32 + br i1 %cmp2, label %if.then3, label %if.end4 + +if.then3: ; preds = %for.end + %call = call i32* @__errno_location() #25 + store i32 24, i32* %call, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %for.end + %5 = load i32, i32* %fd, align 4 + %idxprom5 = sext i32 %5 to i64 + %arrayidx6 = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom5 + store %struct.exe_file_t* %arrayidx6, %struct.exe_file_t** %f, align 8 + %6 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %7 = bitcast %struct.exe_file_t* %6 to i8* + %8 = call i8* @memset(i8* %7, i32 0, i64 24) + %9 = load i8*, i8** %pathname.addr, align 8 + %call7 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %9) + store %struct.exe_disk_file_t* %call7, %struct.exe_disk_file_t** %df, align 8 + %10 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %tobool8 = icmp ne %struct.exe_disk_file_t* %10, null + br i1 %tobool8, label %if.then9, label %if.else45 + +if.then9: ; preds = %if.end4 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %12 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %12, i32 0, i32 3 + store %struct.exe_disk_file_t* %11, %struct.exe_disk_file_t** %dfile, align 8 + %13 = load i32, i32* %flags.addr, align 4 + %and10 = and i32 %13, 64 + %tobool11 = icmp ne i32 %and10, 0 + br i1 %tobool11, label %land.lhs.true, label %if.end16 + +land.lhs.true: ; preds = %if.then9 + %14 = load i32, i32* %flags.addr, align 4 + %and12 = and i32 %14, 128 + %tobool13 = icmp ne i32 %and12, 0 + br i1 %tobool13, label %if.then14, label %if.end16 + +if.then14: ; preds = %land.lhs.true + %call15 = call i32* @__errno_location() #25 + store i32 17, i32* %call15, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end16: ; preds = %land.lhs.true, %if.then9 + %15 = load i32, i32* %flags.addr, align 4 + %and17 = and i32 %15, 512 + %tobool18 = icmp ne i32 %and17, 0 + br i1 %tobool18, label %land.lhs.true19, label %if.end24 + +land.lhs.true19: ; preds = %if.end16 + %16 = load i32, i32* %flags.addr, align 4 + %and20 = and i32 %16, 0 + %tobool21 = icmp ne i32 %and20, 0 + br i1 %tobool21, label %if.then22, label %if.end24 + +if.then22: ; preds = %land.lhs.true19 + call void @gs_warning(i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.5, i64 0, i64 0)) + %call23 = call i32* @__errno_location() #25 + store i32 13, i32* %call23, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end24: ; preds = %land.lhs.true19, %if.end16 + %17 = load i32, i32* %flags.addr, align 4 + %and25 = and i32 %17, 128 + %tobool26 = icmp ne i32 %and25, 0 + br i1 %tobool26, label %land.lhs.true27, label %if.end32 + +land.lhs.true27: ; preds = %if.end24 + %18 = load i32, i32* %flags.addr, align 4 + %and28 = and i32 %18, 64 + %tobool29 = icmp ne i32 %and28, 0 + br i1 %tobool29, label %if.end32, label %if.then30 + +if.then30: ; preds = %land.lhs.true27 + call void @gs_warning(i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.1.6, i64 0, i64 0)) + %call31 = call i32* @__errno_location() #25 + store i32 13, i32* %call31, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end32: ; preds = %land.lhs.true27, %if.end24 + %19 = load i32, i32* %flags.addr, align 4 + %20 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %20, i32 0, i32 2 + %21 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %call33 = call i32 @has_permission(i32 %19, %struct.stat64* %21) + %tobool34 = icmp ne i32 %call33, 0 + br i1 %tobool34, label %if.else, label %if.then35 + +if.then35: ; preds = %if.end32 + %call36 = call i32* @__errno_location() #25 + store i32 13, i32* %call36, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.end32 + %22 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile37 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %22, i32 0, i32 3 + %23 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile37, align 8 + %stat38 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %23, i32 0, i32 2 + %24 = load %struct.stat64*, %struct.stat64** %stat38, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %24, i32 0, i32 3 + %25 = load i32, i32* %st_mode, align 8 + %and39 = and i32 %25, -512 + %26 = load i32, i32* %mode.addr, align 4 + %27 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 1), align 8 + %neg = xor i32 %27, -1 + %and40 = and i32 %26, %neg + %or = or i32 %and39, %and40 + %28 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile41 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %28, i32 0, i32 3 + %29 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile41, align 8 + %stat42 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %29, i32 0, i32 2 + %30 = load %struct.stat64*, %struct.stat64** %stat42, align 8 + %st_mode43 = getelementptr inbounds %struct.stat64, %struct.stat64* %30, i32 0, i32 3 + store i32 %or, i32* %st_mode43, align 8 + br label %if.end53 + +if.else45: ; preds = %if.end4 + %31 = load i8*, i8** %pathname.addr, align 8 + %call46 = call i8* @__concretize_string(i8* %31) + %32 = load i32, i32* %flags.addr, align 4 + %33 = load i32, i32* %mode.addr, align 4 + %call47 = call i64 (i64, ...) @syscall(i64 2, i8* %call46, i32 %32, i32 %33) #11 + %conv = trunc i64 %call47 to i32 + store i32 %conv, i32* %os_fd, align 4 + %34 = load i32, i32* %os_fd, align 4 + %cmp48 = icmp eq i32 %34, -1 + br i1 %cmp48, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.else45 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end51: ; preds = %if.else45 + %35 = load i32, i32* %os_fd, align 4 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd52 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 0 + store i32 %35, i32* %fd52, align 8 + br label %if.end53 + +if.end53: ; preds = %if.end51, %if.else + %37 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %37, i32 0, i32 1 + store i32 1, i32* %flags54, align 4 + %38 = load i32, i32* %flags.addr, align 4 + %and55 = and i32 %38, 3 + %cmp56 = icmp eq i32 %and55, 0 + br i1 %cmp56, label %if.then58, label %if.else61 + +if.then58: ; preds = %if.end53 + %39 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags59 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %39, i32 0, i32 1 + %40 = load i32, i32* %flags59, align 4 + %or60 = or i32 %40, 4 + store i32 %or60, i32* %flags59, align 4 + br label %if.end72 + +if.else61: ; preds = %if.end53 + %41 = load i32, i32* %flags.addr, align 4 + %and62 = and i32 %41, 3 + %cmp63 = icmp eq i32 %and62, 1 + %42 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags66 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %42, i32 0, i32 1 + %43 = load i32, i32* %flags66, align 4 + br i1 %cmp63, label %if.then65, label %if.else68 + +if.then65: ; preds = %if.else61 + %or67 = or i32 %43, 8 + store i32 %or67, i32* %flags66, align 4 + br label %if.end72 + +if.else68: ; preds = %if.else61 + %or70 = or i32 %43, 12 + store i32 %or70, i32* %flags66, align 4 + br label %if.end72 + +if.end72: ; preds = %if.then65, %if.else68, %if.then58 + %44 = load i32, i32* %fd, align 4 + store i32 %44, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end72, %if.then50, %if.then35, %if.then30, %if.then22, %if.then14, %if.then3 + %45 = load i32, i32* %retval, align 4 + ret i32 %45 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @gs_warning(i8* %message) #3 { +entry: + %message.addr = alloca i8*, align 8 + store i8* %message, i8** %message.addr, align 8 + %0 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %0) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.25, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @has_permission(i32 %flags, %struct.stat64* %s) #3 { +entry: + %retval = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %s.addr = alloca %struct.stat64*, align 8 + %write_access = alloca i32, align 4 + %read_access = alloca i32, align 4 + %mode = alloca i32, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store %struct.stat64* %s, %struct.stat64** %s.addr, align 8 + %0 = load %struct.stat64*, %struct.stat64** %s.addr, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %0, i32 0, i32 3 + %1 = load i32, i32* %st_mode, align 8 + store i32 %1, i32* %mode, align 4 + %2 = load i32, i32* %flags.addr, align 4 + %and = and i32 %2, 0 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %3 = load i32, i32* %flags.addr, align 4 + %and1 = and i32 %3, 2 + %tobool2 = icmp ne i32 %and1, 0 + br i1 %tobool2, label %if.then, label %if.else + +if.then: ; preds = %lor.lhs.false, %entry + store i32 1, i32* %read_access, align 4 + br label %if.end + +if.else: ; preds = %lor.lhs.false + store i32 0, i32* %read_access, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %4 = load i32, i32* %flags.addr, align 4 + %and3 = and i32 %4, 1 + %tobool4 = icmp ne i32 %and3, 0 + br i1 %tobool4, label %if.then8, label %lor.lhs.false5 + +lor.lhs.false5: ; preds = %if.end + %5 = load i32, i32* %flags.addr, align 4 + %and6 = and i32 %5, 2 + %tobool7 = icmp ne i32 %and6, 0 + br i1 %tobool7, label %if.then8, label %if.else9 + +if.then8: ; preds = %lor.lhs.false5, %if.end + store i32 1, i32* %write_access, align 4 + br label %if.end10 + +if.else9: ; preds = %lor.lhs.false5 + store i32 0, i32* %write_access, align 4 + br label %if.end10 + +if.end10: ; preds = %if.else9, %if.then8 + %6 = load i32, i32* %read_access, align 4 + %tobool11 = icmp ne i32 %6, 0 + br i1 %tobool11, label %land.lhs.true, label %if.end18 + +land.lhs.true: ; preds = %if.end10 + %7 = load i32, i32* %mode, align 4 + %and12 = and i32 %7, 256 + %8 = load i32, i32* %mode, align 4 + %and13 = and i32 %8, 32 + %or = or i32 %and12, %and13 + %9 = load i32, i32* %mode, align 4 + %and14 = and i32 %9, 4 + %or15 = or i32 %or, %and14 + %tobool16 = icmp ne i32 %or15, 0 + br i1 %tobool16, label %if.then17, label %if.end18 + +if.then17: ; preds = %land.lhs.true + store i32 0, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %land.lhs.true, %if.end10 + %10 = load i32, i32* %write_access, align 4 + %tobool19 = icmp ne i32 %10, 0 + br i1 %tobool19, label %land.lhs.true20, label %if.end28 + +land.lhs.true20: ; preds = %if.end18 + %11 = load i32, i32* %mode, align 4 + %and21 = and i32 %11, 128 + %12 = load i32, i32* %mode, align 4 + %and22 = and i32 %12, 16 + %or23 = or i32 %and21, %and22 + %13 = load i32, i32* %mode, align 4 + %and24 = and i32 %13, 2 + %or25 = or i32 %or23, %and24 + %tobool26 = icmp ne i32 %or25, 0 + br i1 %tobool26, label %if.end28, label %if.then27 + +if.then27: ; preds = %land.lhs.true20 + store i32 0, i32* %retval, align 4 + br label %return + +if.end28: ; preds = %land.lhs.true20, %if.end18 + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end28, %if.then27, %if.then17 + %14 = load i32, i32* %retval, align 4 + ret i32 %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_openat(i32 %basefd, i8* %pathname, i32 %flags, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %basefd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %fd = alloca i32, align 4 + %bf = alloca %struct.exe_file_t*, align 8 + %os_fd = alloca i32, align 4 + store i32 %basefd, i32* %basefd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %basefd.addr, align 4 + %cmp = icmp ne i32 %0, -100 + br i1 %cmp, label %if.then, label %if.end8 + +if.then: ; preds = %entry + %1 = load i32, i32* %basefd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %bf, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %bf, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.else, label %if.then1 + +if.then1: ; preds = %if.then + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %bf, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 3 + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool3 = icmp ne %struct.exe_disk_file_t* %4, null + br i1 %tobool3, label %if.then4, label %if.end6 + +if.then4: ; preds = %if.else + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0)) + %call5 = call i32* @__errno_location() #25 + store i32 2, i32* %call5, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.else + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %bf, align 8 + %fd7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd7, align 8 + store i32 %6, i32* %basefd.addr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end6, %entry + %7 = load i8*, i8** %pathname.addr, align 8 + %call9 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %7) + %tobool10 = icmp ne %struct.exe_disk_file_t* %call9, null + br i1 %tobool10, label %if.then11, label %if.end13 + +if.then11: ; preds = %if.end8 + %8 = load i8*, i8** %pathname.addr, align 8 + %9 = load i32, i32* %flags.addr, align 4 + %10 = load i32, i32* %mode.addr, align 4 + %call12 = call i32 @__fd_open(i8* %8, i32 %9, i32 %10) + store i32 %call12, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.end8 + store i32 0, i32* %fd, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end13 + %11 = load i32, i32* %fd, align 4 + %cmp14 = icmp slt i32 %11, 32 + br i1 %cmp14, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %12 = load i32, i32* %fd, align 4 + %idxprom = sext i32 %12 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + %flags15 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %arrayidx, i32 0, i32 1 + %13 = load i32, i32* %flags15, align 4 + %and = and i32 %13, 1 + %tobool16 = icmp ne i32 %and, 0 + br i1 %tobool16, label %for.inc, label %for.end + +for.inc: ; preds = %for.body + %14 = load i32, i32* %fd, align 4 + %inc = add nsw i32 %14, 1 + store i32 %inc, i32* %fd, align 4 + br label %for.cond + +for.end: ; preds = %for.body, %for.cond + %15 = load i32, i32* %fd, align 4 + %cmp19 = icmp eq i32 %15, 32 + br i1 %cmp19, label %if.then20, label %if.end22 + +if.then20: ; preds = %for.end + %call21 = call i32* @__errno_location() #25 + store i32 24, i32* %call21, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end22: ; preds = %for.end + %16 = load i32, i32* %fd, align 4 + %idxprom23 = sext i32 %16 to i64 + %arrayidx24 = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom23 + store %struct.exe_file_t* %arrayidx24, %struct.exe_file_t** %f, align 8 + %17 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %18 = bitcast %struct.exe_file_t* %17 to i8* + %19 = call i8* @memset(i8* %18, i32 0, i64 24) + %20 = load i32, i32* %basefd.addr, align 4 + %conv = sext i32 %20 to i64 + %21 = load i8*, i8** %pathname.addr, align 8 + %call25 = call i8* @__concretize_string(i8* %21) + %22 = load i32, i32* %flags.addr, align 4 + %conv26 = sext i32 %22 to i64 + %23 = load i32, i32* %mode.addr, align 4 + %call27 = call i64 (i64, ...) @syscall(i64 257, i64 %conv, i8* %call25, i64 %conv26, i32 %23) #11 + %conv28 = trunc i64 %call27 to i32 + store i32 %conv28, i32* %os_fd, align 4 + %24 = load i32, i32* %os_fd, align 4 + %cmp29 = icmp eq i32 %24, -1 + br i1 %cmp29, label %if.then31, label %if.end32 + +if.then31: ; preds = %if.end22 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end32: ; preds = %if.end22 + %25 = load i32, i32* %os_fd, align 4 + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd33 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 0 + store i32 %25, i32* %fd33, align 8 + %27 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags34 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %27, i32 0, i32 1 + store i32 1, i32* %flags34, align 4 + %28 = load i32, i32* %flags.addr, align 4 + %and35 = and i32 %28, 3 + %cmp36 = icmp eq i32 %and35, 0 + br i1 %cmp36, label %if.then38, label %if.else40 + +if.then38: ; preds = %if.end32 + %29 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags39 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %29, i32 0, i32 1 + %30 = load i32, i32* %flags39, align 4 + %or = or i32 %30, 4 + store i32 %or, i32* %flags39, align 4 + br label %if.end51 + +if.else40: ; preds = %if.end32 + %31 = load i32, i32* %flags.addr, align 4 + %and41 = and i32 %31, 3 + %cmp42 = icmp eq i32 %and41, 1 + %32 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags45 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %32, i32 0, i32 1 + %33 = load i32, i32* %flags45, align 4 + br i1 %cmp42, label %if.then44, label %if.else47 + +if.then44: ; preds = %if.else40 + %or46 = or i32 %33, 8 + store i32 %or46, i32* %flags45, align 4 + br label %if.end51 + +if.else47: ; preds = %if.else40 + %or49 = or i32 %33, 12 + store i32 %or49, i32* %flags45, align 4 + br label %if.end51 + +if.end51: ; preds = %if.then44, %if.else47, %if.then38 + %34 = load i32, i32* %fd, align 4 + store i32 %34, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end51, %if.then31, %if.then20, %if.then11, %if.then4, %if.then1 + %35 = load i32, i32* %retval, align 4 + ret i32 %35 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.exe_file_t* @__get_file(i32 %fd) #3 { +entry: + %retval = alloca %struct.exe_file_t*, align 8 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %cmp = icmp sge i32 %0, 0 + %1 = load i32, i32* %fd.addr, align 4 + %cmp1 = icmp slt i32 %1, 32 + %or.cond = and i1 %cmp, %cmp1 + br i1 %or.cond, label %if.then, label %if.end3 + +if.then: ; preds = %entry + %2 = load i32, i32* %fd.addr, align 4 + %idxprom = sext i32 %2 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + store %struct.exe_file_t* %arrayidx, %struct.exe_file_t** %f, align 8 + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 1 + %4 = load i32, i32* %flags, align 4 + %and = and i32 %4, 1 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.then + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + store %struct.exe_file_t* %5, %struct.exe_file_t** %retval, align 8 + br label %return + +if.end3: ; preds = %if.then, %entry + store %struct.exe_file_t* null, %struct.exe_file_t** %retval, align 8 + br label %return + +return: ; preds = %if.end3, %if.then2 + %6 = load %struct.exe_file_t*, %struct.exe_file_t** %retval, align 8 + ret %struct.exe_file_t* %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @utimes(i8* nonnull %path, %struct.timespec* %times) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %times.addr = alloca %struct.timespec*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + %newTimes = alloca [2 x %struct.timespec], align 16 + store i8* %path, i8** %path.addr, align 8 + store %struct.timespec* %times, %struct.timespec** %times.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end12 + +if.then: ; preds = %entry + %2 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %tobool1 = icmp ne %struct.timespec* %2, null + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + %arrayidx = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 0 + %call3 = call i32 @gettimeofday(%struct.timespec* %arrayidx, i8* null) #11 + %arrayidx4 = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 1 + %arrayidx5 = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 0 + %3 = bitcast %struct.timespec* %arrayidx4 to i8* + %4 = bitcast %struct.timespec* %arrayidx5 to i8* + %5 = call i8* @memcpy(i8* %3, i8* %4, i64 16) + %arraydecay = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 0 + store %struct.timespec* %arraydecay, %struct.timespec** %times.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %6 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %arrayidx6 = getelementptr inbounds %struct.timespec, %struct.timespec* %6, i64 0 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %arrayidx6, i32 0, i32 0 + %7 = load i64, i64* %tv_sec, align 8 + %8 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %8, i32 0, i32 2 + %9 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_atim = getelementptr inbounds %struct.stat64, %struct.stat64* %9, i32 0, i32 11 + %tv_sec7 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim, i32 0, i32 0 + store i64 %7, i64* %tv_sec7, align 8 + %10 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %arrayidx8 = getelementptr inbounds %struct.timespec, %struct.timespec* %10, i64 1 + %tv_sec9 = getelementptr inbounds %struct.timespec, %struct.timespec* %arrayidx8, i32 0, i32 0 + %11 = load i64, i64* %tv_sec9, align 8 + %12 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat10 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %12, i32 0, i32 2 + %13 = load %struct.stat64*, %struct.stat64** %stat10, align 8 + %st_mtim = getelementptr inbounds %struct.stat64, %struct.stat64* %13, i32 0, i32 12 + %tv_sec11 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim, i32 0, i32 0 + store i64 %11, i64* %tv_sec11, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.end12: ; preds = %entry + %14 = load i8*, i8** %path.addr, align 8 + %call13 = call i8* @__concretize_string(i8* %14) + %15 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %call14 = call i64 (i64, ...) @syscall(i64 235, i8* %call13, %struct.timespec* %15) #11 + %conv = trunc i64 %call14 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end12, %if.end + %16 = load i32, i32* %retval, align 4 + ret i32 %16 +} + +; Function Attrs: nounwind +declare dso_local i32 @gettimeofday(%struct.timespec*, i8*) #4 + +; Function Attrs: argmemonly nounwind willreturn +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* noalias nocapture writeonly, i8* noalias nocapture readonly, i64, i1 immarg) #9 + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @futimesat(i32 %fd, i8* %path, %struct.timespec* %times) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %times.addr = alloca %struct.timespec*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.timespec* %times, %struct.timespec** %times.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %cmp = icmp ne i32 %0, -100 + br i1 %cmp, label %if.then, label %if.end8 + +if.then: ; preds = %entry + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.else, label %if.then1 + +if.then1: ; preds = %if.then + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 3 + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool3 = icmp ne %struct.exe_disk_file_t* %4, null + br i1 %tobool3, label %if.then4, label %if.end6 + +if.then4: ; preds = %if.else + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0)) + %call5 = call i32* @__errno_location() #25 + store i32 2, i32* %call5, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.else + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd7, align 8 + store i32 %6, i32* %fd.addr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end6, %entry + %7 = load i8*, i8** %path.addr, align 8 + %call9 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %7) + %tobool10 = icmp ne %struct.exe_disk_file_t* %call9, null + br i1 %tobool10, label %if.then11, label %if.end13 + +if.then11: ; preds = %if.end8 + %8 = load i8*, i8** %path.addr, align 8 + %9 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %call12 = call i32 @utimes(i8* %8, %struct.timespec* %9) #11 + store i32 %call12, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.end8 + %10 = load i32, i32* %fd.addr, align 4 + %conv = sext i32 %10 to i64 + %11 = load i8*, i8** %path.addr, align 8 + %tobool14 = icmp ne i8* %11, null + br i1 %tobool14, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end13 + %12 = load i8*, i8** %path.addr, align 8 + %call15 = call i8* @__concretize_string(i8* %12) + br label %cond.end + +cond.end: ; preds = %if.end13, %cond.true + %cond = phi i8* [ %call15, %cond.true ], [ null, %if.end13 ] + %13 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %call16 = call i64 (i64, ...) @syscall(i64 261, i64 %conv, i8* %cond, %struct.timespec* %13) #11 + %conv17 = trunc i64 %call16 to i32 + store i32 %conv17, i32* %retval, align 4 + br label %return + +return: ; preds = %cond.end, %if.then11, %if.then4, %if.then1 + %14 = load i32, i32* %retval, align 4 + ret i32 %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @close(i32 %fd) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %r = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 0, i32* %r, align 4 + %0 = load i32, i32* @close.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @close.n_calls, align 4 + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @close.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %9 = bitcast %struct.exe_file_t* %8 to i8* + %10 = call i8* @memset(i8* %9, i32 0, i64 24) + %11 = load i32, i32* %r, align 4 + store i32 %11, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %12 = load i32, i32* %retval, align 4 + ret i32 %12 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @read(i32 %fd, i8* %buf, i64 %count) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %r = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + %0 = load i32, i32* @read.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @read.n_calls, align 4 + %1 = load i64, i64* %count.addr, align 8 + %cmp = icmp eq i64 %1, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i64 0, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %buf.addr, align 8 + %cmp1 = icmp eq i8* %2, null + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + %call = call i32* @__errno_location() #25 + store i32 14, i32* %call, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %3 = load i32, i32* %fd.addr, align 4 + %call4 = call %struct.exe_file_t* @__get_file(i32 %3) + store %struct.exe_file_t* %call4, %struct.exe_file_t** %f, align 8 + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %4, null + br i1 %tobool, label %if.end7, label %if.then5 + +if.then5: ; preds = %if.end3 + %call6 = call i32* @__errno_location() #25 + store i32 9, i32* %call6, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end7: ; preds = %if.end3 + %5 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool8 = icmp ne i32 %5, 0 + br i1 %tobool8, label %land.lhs.true, label %if.end12 + +land.lhs.true: ; preds = %if.end7 + %6 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %7 = load i32, i32* %6, align 4 + %8 = load i32, i32* @read.n_calls, align 4 + %cmp9 = icmp eq i32 %7, %8 + br i1 %cmp9, label %if.then10, label %if.end12 + +if.then10: ; preds = %land.lhs.true + %9 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %9, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call11 = call i32* @__errno_location() #25 + store i32 5, i32* %call11, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end12: ; preds = %land.lhs.true, %if.end7 + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 3 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool13 = icmp ne %struct.exe_disk_file_t* %11, null + br i1 %tobool13, label %if.else38, label %if.then14 + +if.then14: ; preds = %if.end12 + %12 = load i8*, i8** %buf.addr, align 8 + %call15 = call i8* @__concretize_ptr(i8* %12) + store i8* %call15, i8** %buf.addr, align 8 + %13 = load i64, i64* %count.addr, align 8 + %call16 = call i64 @__concretize_size(i64 %13) + store i64 %call16, i64* %count.addr, align 8 + %14 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd17 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %14, i32 0, i32 0 + %15 = load i32, i32* %fd17, align 8 + %cmp18 = icmp eq i32 %15, 0 + %16 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd20 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %16, i32 0, i32 0 + %17 = load i32, i32* %fd20, align 8 + %18 = load i8*, i8** %buf.addr, align 8 + %19 = load i64, i64* %count.addr, align 8 + br i1 %cmp18, label %if.then19, label %if.else + +if.then19: ; preds = %if.then14 + %call21 = call i64 (i64, ...) @syscall(i64 0, i32 %17, i8* %18, i64 %19) #11 + %conv = trunc i64 %call21 to i32 + store i32 %conv, i32* %r, align 4 + br label %if.end25 + +if.else: ; preds = %if.then14 + %20 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %20, i32 0, i32 2 + %21 = load i64, i64* %off, align 8 + %call23 = call i64 (i64, ...) @syscall(i64 17, i32 %17, i8* %18, i64 %19, i64 %21) #11 + %conv24 = trunc i64 %call23 to i32 + store i32 %conv24, i32* %r, align 4 + br label %if.end25 + +if.end25: ; preds = %if.else, %if.then19 + %22 = load i32, i32* %r, align 4 + %cmp26 = icmp eq i32 %22, -1 + br i1 %cmp26, label %if.then28, label %if.end29 + +if.then28: ; preds = %if.end25 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end29: ; preds = %if.end25 + %23 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd30 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %23, i32 0, i32 0 + %24 = load i32, i32* %fd30, align 8 + %cmp31 = icmp ne i32 %24, 0 + br i1 %cmp31, label %if.then33, label %if.end36 + +if.then33: ; preds = %if.end29 + %25 = load i32, i32* %r, align 4 + %conv34 = sext i32 %25 to i64 + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off35 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 2 + %27 = load i64, i64* %off35, align 8 + %add = add nsw i64 %27, %conv34 + store i64 %add, i64* %off35, align 8 + br label %if.end36 + +if.end36: ; preds = %if.then33, %if.end29 + %28 = load i32, i32* %r, align 4 + %conv37 = sext i32 %28 to i64 + store i64 %conv37, i64* %retval, align 8 + br label %return + +if.else38: ; preds = %if.end12 + %29 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off39 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %29, i32 0, i32 2 + %30 = load i64, i64* %off39, align 8 + %cmp40 = icmp sge i64 %30, 0 + br i1 %cmp40, label %if.end44, label %if.else43 + +if.else43: ; preds = %if.else38 + call void @__assert_fail(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.3, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 393, i8* getelementptr inbounds ([34 x i8], [34 x i8]* @__PRETTY_FUNCTION__.read, i64 0, i64 0)) #26 + unreachable + +if.end44: ; preds = %if.else38 + %31 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile45 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %31, i32 0, i32 3 + %32 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile45, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %32, i32 0, i32 0 + %33 = load i32, i32* %size, align 8 + %conv46 = zext i32 %33 to i64 + %34 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off47 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %34, i32 0, i32 2 + %35 = load i64, i64* %off47, align 8 + %cmp48 = icmp slt i64 %conv46, %35 + br i1 %cmp48, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.end44 + store i64 0, i64* %retval, align 8 + br label %return + +if.end51: ; preds = %if.end44 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off52 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 2 + %37 = load i64, i64* %off52, align 8 + %38 = load i64, i64* %count.addr, align 8 + %add53 = add i64 %37, %38 + %39 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %39, i32 0, i32 3 + %40 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile54, align 8 + %size55 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %40, i32 0, i32 0 + %41 = load i32, i32* %size55, align 8 + %conv56 = zext i32 %41 to i64 + %cmp57 = icmp ugt i64 %add53, %conv56 + br i1 %cmp57, label %if.then59, label %if.end64 + +if.then59: ; preds = %if.end51 + %42 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile60 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %42, i32 0, i32 3 + %43 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile60, align 8 + %size61 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %43, i32 0, i32 0 + %44 = load i32, i32* %size61, align 8 + %conv62 = zext i32 %44 to i64 + %45 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off63 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %45, i32 0, i32 2 + %46 = load i64, i64* %off63, align 8 + %sub = sub nsw i64 %conv62, %46 + store i64 %sub, i64* %count.addr, align 8 + br label %if.end64 + +if.end64: ; preds = %if.then59, %if.end51 + %47 = load i8*, i8** %buf.addr, align 8 + %48 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile65 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %48, i32 0, i32 3 + %49 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile65, align 8 + %contents = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %49, i32 0, i32 1 + %50 = load i8*, i8** %contents, align 8 + %51 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off66 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %51, i32 0, i32 2 + %52 = load i64, i64* %off66, align 8 + %add.ptr = getelementptr inbounds i8, i8* %50, i64 %52 + %53 = load i64, i64* %count.addr, align 8 + %54 = call i8* @memcpy(i8* %47, i8* %add.ptr, i64 %53) + %55 = load i64, i64* %count.addr, align 8 + %56 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off67 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %56, i32 0, i32 2 + %57 = load i64, i64* %off67, align 8 + %add68 = add i64 %57, %55 + store i64 %add68, i64* %off67, align 8 + %58 = load i64, i64* %count.addr, align 8 + store i64 %58, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end64, %if.then50, %if.end36, %if.then28, %if.then10, %if.then5, %if.then2, %if.then + %59 = load i64, i64* %retval, align 8 + ret i64 %59 +} + +; Function Attrs: noreturn nounwind +declare dso_local void @__assert_fail(i8*, i8*, i32, i8*) #10 + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @write(i32 %fd, i8* %buf, i64 %count) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %r = alloca i32, align 4 + %actual_count = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + %0 = load i32, i32* @write.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @write.n_calls, align 4 + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @write.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + br i1 %tobool6, label %if.else42, label %if.then7 + +if.then7: ; preds = %if.end5 + %10 = load i8*, i8** %buf.addr, align 8 + %call8 = call i8* @__concretize_ptr(i8* %10) + store i8* %call8, i8** %buf.addr, align 8 + %11 = load i64, i64* %count.addr, align 8 + %call9 = call i64 @__concretize_size(i64 %11) + store i64 %call9, i64* %count.addr, align 8 + %12 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd10 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %12, i32 0, i32 0 + %13 = load i32, i32* %fd10, align 8 + %cmp11 = icmp eq i32 %13, 1 + br i1 %cmp11, label %if.then14, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then7 + %14 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd12 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %14, i32 0, i32 0 + %15 = load i32, i32* %fd12, align 8 + %cmp13 = icmp eq i32 %15, 2 + br i1 %cmp13, label %if.then14, label %if.else + +if.then14: ; preds = %lor.lhs.false, %if.then7 + %16 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd15 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %16, i32 0, i32 0 + %17 = load i32, i32* %fd15, align 8 + %18 = load i8*, i8** %buf.addr, align 8 + %19 = load i64, i64* %count.addr, align 8 + %call16 = call i64 (i64, ...) @syscall(i64 1, i32 %17, i8* %18, i64 %19) #11 + %conv = trunc i64 %call16 to i32 + store i32 %conv, i32* %r, align 4 + br label %if.end20 + +if.else: ; preds = %lor.lhs.false + %20 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd17 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %20, i32 0, i32 0 + %21 = load i32, i32* %fd17, align 8 + %22 = load i8*, i8** %buf.addr, align 8 + %23 = load i64, i64* %count.addr, align 8 + %24 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %24, i32 0, i32 2 + %25 = load i64, i64* %off, align 8 + %call18 = call i64 (i64, ...) @syscall(i64 18, i32 %21, i8* %22, i64 %23, i64 %25) #11 + %conv19 = trunc i64 %call18 to i32 + store i32 %conv19, i32* %r, align 4 + br label %if.end20 + +if.end20: ; preds = %if.else, %if.then14 + %26 = load i32, i32* %r, align 4 + %cmp21 = icmp eq i32 %26, -1 + br i1 %cmp21, label %if.then23, label %if.end24 + +if.then23: ; preds = %if.end20 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end24: ; preds = %if.end20 + %27 = load i32, i32* %r, align 4 + %cmp25 = icmp sge i32 %27, 0 + br i1 %cmp25, label %if.end29, label %if.else28 + +if.else28: ; preds = %if.end24 + call void @__assert_fail(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.5.7, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 445, i8* getelementptr inbounds ([41 x i8], [41 x i8]* @__PRETTY_FUNCTION__.write, i64 0, i64 0)) #26 + unreachable + +if.end29: ; preds = %if.end24 + %28 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd30 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %28, i32 0, i32 0 + %29 = load i32, i32* %fd30, align 8 + %cmp31 = icmp ne i32 %29, 1 + br i1 %cmp31, label %land.lhs.true33, label %if.end40 + +land.lhs.true33: ; preds = %if.end29 + %30 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd34 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %30, i32 0, i32 0 + %31 = load i32, i32* %fd34, align 8 + %cmp35 = icmp ne i32 %31, 2 + br i1 %cmp35, label %if.then37, label %if.end40 + +if.then37: ; preds = %land.lhs.true33 + %32 = load i32, i32* %r, align 4 + %conv38 = sext i32 %32 to i64 + %33 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off39 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %33, i32 0, i32 2 + %34 = load i64, i64* %off39, align 8 + %add = add nsw i64 %34, %conv38 + store i64 %add, i64* %off39, align 8 + br label %if.end40 + +if.end40: ; preds = %if.then37, %land.lhs.true33, %if.end29 + %35 = load i32, i32* %r, align 4 + %conv41 = sext i32 %35 to i64 + store i64 %conv41, i64* %retval, align 8 + br label %return + +if.else42: ; preds = %if.end5 + store i64 0, i64* %actual_count, align 8 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off43 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 2 + %37 = load i64, i64* %off43, align 8 + %38 = load i64, i64* %count.addr, align 8 + %add44 = add i64 %37, %38 + %39 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile45 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %39, i32 0, i32 3 + %40 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile45, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %40, i32 0, i32 0 + %41 = load i32, i32* %size, align 8 + %conv46 = zext i32 %41 to i64 + %cmp47 = icmp ule i64 %add44, %conv46 + br i1 %cmp47, label %if.then49, label %if.else50 + +if.then49: ; preds = %if.else42 + %42 = load i64, i64* %count.addr, align 8 + store i64 %42, i64* %actual_count, align 8 + br label %if.end67 + +if.else50: ; preds = %if.else42 + %43 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 3), align 8 + %tobool51 = icmp ne i32 %43, 0 + br i1 %tobool51, label %if.then52, label %if.else53 + +if.then52: ; preds = %if.else50 + call void @__assert_fail(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.6, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 458, i8* getelementptr inbounds ([41 x i8], [41 x i8]* @__PRETTY_FUNCTION__.write, i64 0, i64 0)) #26 + unreachable + +if.else53: ; preds = %if.else50 + %44 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %44, i32 0, i32 2 + %45 = load i64, i64* %off54, align 8 + %46 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile55 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %46, i32 0, i32 3 + %47 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile55, align 8 + %size56 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %47, i32 0, i32 0 + %48 = load i32, i32* %size56, align 8 + %conv57 = zext i32 %48 to i64 + %cmp58 = icmp slt i64 %45, %conv57 + br i1 %cmp58, label %if.then60, label %if.end67 + +if.then60: ; preds = %if.else53 + %49 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile61 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %49, i32 0, i32 3 + %50 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile61, align 8 + %size62 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %50, i32 0, i32 0 + %51 = load i32, i32* %size62, align 8 + %conv63 = zext i32 %51 to i64 + %52 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off64 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %52, i32 0, i32 2 + %53 = load i64, i64* %off64, align 8 + %sub = sub nsw i64 %conv63, %53 + store i64 %sub, i64* %actual_count, align 8 + br label %if.end67 + +if.end67: ; preds = %if.then60, %if.else53, %if.then49 + %54 = load i64, i64* %actual_count, align 8 + %tobool68 = icmp ne i64 %54, 0 + br i1 %tobool68, label %if.then69, label %if.end72 + +if.then69: ; preds = %if.end67 + %55 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile70 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %55, i32 0, i32 3 + %56 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile70, align 8 + %contents = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %56, i32 0, i32 1 + %57 = load i8*, i8** %contents, align 8 + %58 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off71 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %58, i32 0, i32 2 + %59 = load i64, i64* %off71, align 8 + %add.ptr = getelementptr inbounds i8, i8* %57, i64 %59 + %60 = load i8*, i8** %buf.addr, align 8 + %61 = load i64, i64* %actual_count, align 8 + %62 = call i8* @memcpy(i8* %add.ptr, i8* %60, i64 %61) + br label %if.end72 + +if.end72: ; preds = %if.then69, %if.end67 + %63 = load i64, i64* %count.addr, align 8 + %64 = load i64, i64* %actual_count, align 8 + %cmp73 = icmp ne i64 %63, %64 + br i1 %cmp73, label %if.then75, label %if.end76 + +if.then75: ; preds = %if.end72 + call void @gs_warning(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.7, i64 0, i64 0)) + br label %if.end76 + +if.end76: ; preds = %if.then75, %if.end72 + %65 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile77 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %65, i32 0, i32 3 + %66 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile77, align 8 + %67 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + %cmp78 = icmp eq %struct.exe_disk_file_t* %66, %67 + br i1 %cmp78, label %if.then80, label %if.end84 + +if.then80: ; preds = %if.end76 + %68 = load i64, i64* %actual_count, align 8 + %69 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 3), align 8 + %conv81 = zext i32 %69 to i64 + %add82 = add i64 %conv81, %68 + %conv83 = trunc i64 %add82 to i32 + store i32 %conv83, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 3), align 8 + br label %if.end84 + +if.end84: ; preds = %if.then80, %if.end76 + %70 = load i64, i64* %count.addr, align 8 + %71 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off85 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %71, i32 0, i32 2 + %72 = load i64, i64* %off85, align 8 + %add86 = add i64 %72, %70 + store i64 %add86, i64* %off85, align 8 + %73 = load i64, i64* %count.addr, align 8 + store i64 %73, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end84, %if.end40, %if.then23, %if.then3, %if.then + %74 = load i64, i64* %retval, align 8 + ret i64 %74 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @__fd_lseek(i32 %fd, i64 %offset, i32 %whence) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + %new_off = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + %4 = load i32, i32* %whence.addr, align 4 + br i1 %tobool2, label %if.end24, label %if.then3 + +if.then3: ; preds = %if.end + %cmp = icmp eq i32 %4, 0 + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd5 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd5, align 8 + br i1 %cmp, label %if.then4, label %if.else + +if.then4: ; preds = %if.then3 + %7 = load i64, i64* %offset.addr, align 8 + %call6 = call i64 (i64, ...) @syscall(i64 8, i32 %6, i64 %7, i32 0) #11 + store i64 %call6, i64* %new_off, align 8 + br label %if.end19 + +if.else: ; preds = %if.then3 + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 2 + %9 = load i64, i64* %off, align 8 + %call8 = call i64 (i64, ...) @syscall(i64 8, i32 %6, i64 %9, i32 0) #11 + store i64 %call8, i64* %new_off, align 8 + %10 = load i64, i64* %new_off, align 8 + %cmp9 = icmp ne i64 %10, -1 + br i1 %cmp9, label %if.then10, label %if.end19 + +if.then10: ; preds = %if.else + %11 = load i64, i64* %new_off, align 8 + %12 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off11 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %12, i32 0, i32 2 + %13 = load i64, i64* %off11, align 8 + %cmp12 = icmp eq i64 %11, %13 + br i1 %cmp12, label %if.end15, label %if.else14 + +if.else14: ; preds = %if.then10 + call void @__assert_fail(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.8, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 504, i8* getelementptr inbounds ([38 x i8], [38 x i8]* @__PRETTY_FUNCTION__.__fd_lseek, i64 0, i64 0)) #26 + unreachable + +if.end15: ; preds = %if.then10 + %14 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd16 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %14, i32 0, i32 0 + %15 = load i32, i32* %fd16, align 8 + %16 = load i64, i64* %offset.addr, align 8 + %17 = load i32, i32* %whence.addr, align 4 + %call17 = call i64 (i64, ...) @syscall(i64 8, i32 %15, i64 %16, i32 %17) #11 + store i64 %call17, i64* %new_off, align 8 + br label %if.end19 + +if.end19: ; preds = %if.else, %if.end15, %if.then4 + %18 = load i64, i64* %new_off, align 8 + %cmp20 = icmp eq i64 %18, -1 + br i1 %cmp20, label %if.then21, label %if.end22 + +if.then21: ; preds = %if.end19 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end22: ; preds = %if.end19 + %19 = load i64, i64* %new_off, align 8 + %20 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off23 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %20, i32 0, i32 2 + store i64 %19, i64* %off23, align 8 + %21 = load i64, i64* %new_off, align 8 + store i64 %21, i64* %retval, align 8 + br label %return + +if.end24: ; preds = %if.end + br label %NodeBlock3 + +NodeBlock3: ; preds = %if.end24 + %case.cmp4 = icmp eq i32 %4, 0 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %4, 1 + br i1 %case.cmp2, label %sw.bb25, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %4, 2 + br i1 %case.cmp, label %sw.bb27, label %newDefault + +sw.bb: ; preds = %NodeBlock3 + %22 = load i64, i64* %offset.addr, align 8 + store i64 %22, i64* %new_off, align 8 + br label %sw.epilog + +sw.bb25: ; preds = %NodeBlock1 + %23 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off26 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %23, i32 0, i32 2 + %24 = load i64, i64* %off26, align 8 + %25 = load i64, i64* %offset.addr, align 8 + %add = add nsw i64 %24, %25 + store i64 %add, i64* %new_off, align 8 + br label %sw.epilog + +sw.bb27: ; preds = %NodeBlock + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile28 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 3 + %27 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile28, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %27, i32 0, i32 0 + %28 = load i32, i32* %size, align 8 + %conv = zext i32 %28 to i64 + %29 = load i64, i64* %offset.addr, align 8 + %add29 = add nsw i64 %conv, %29 + store i64 %add29, i64* %new_off, align 8 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + %call30 = call i32* @__errno_location() #25 + store i32 22, i32* %call30, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +sw.epilog: ; preds = %sw.bb27, %sw.bb25, %sw.bb + %30 = load i64, i64* %new_off, align 8 + %cmp31 = icmp slt i64 %30, 0 + br i1 %cmp31, label %if.then33, label %if.end35 + +if.then33: ; preds = %sw.epilog + %call34 = call i32* @__errno_location() #25 + store i32 22, i32* %call34, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end35: ; preds = %sw.epilog + %31 = load i64, i64* %new_off, align 8 + %32 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off36 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %32, i32 0, i32 2 + store i64 %31, i64* %off36, align 8 + %33 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off37 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %33, i32 0, i32 2 + %34 = load i64, i64* %off37, align 8 + store i64 %34, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end35, %if.then33, %sw.default, %if.end22, %if.then21, %if.then + %35 = load i64, i64* %retval, align 8 + ret i64 %35 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_stat(i8* %path, %struct.stat64* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %3 = bitcast %struct.stat64* %2 to i8* + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %4, i32 0, i32 2 + %5 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %6 = bitcast %struct.stat64* %5 to i8* + %7 = call i8* @memcpy(i8* %3, i8* %6, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load i8*, i8** %path.addr, align 8 + %call1 = call i8* @__concretize_string(i8* %8) + %9 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %call2 = call i64 (i64, ...) @syscall(i64 4, i8* %call1, %struct.stat64* %9) #11 + %conv = trunc i64 %call2 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %10 = load i32, i32* %retval, align 4 + ret i32 %10 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstatat(i32 %fd, i8* nonnull %path, %struct.stat64* nonnull %buf, i32 %flags) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %flags.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %dfile9 = alloca %struct.exe_disk_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %cmp = icmp ne i32 %0, -100 + br i1 %cmp, label %if.then, label %if.end8 + +if.then: ; preds = %entry + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.else, label %if.then1 + +if.then1: ; preds = %if.then + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 3 + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool3 = icmp ne %struct.exe_disk_file_t* %4, null + br i1 %tobool3, label %if.then4, label %if.end6 + +if.then4: ; preds = %if.else + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0)) + %call5 = call i32* @__errno_location() #25 + store i32 2, i32* %call5, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.else + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd7, align 8 + store i32 %6, i32* %fd.addr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end6, %entry + %7 = load i8*, i8** %path.addr, align 8 + %call10 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %7) + store %struct.exe_disk_file_t* %call10, %struct.exe_disk_file_t** %dfile9, align 8 + %8 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile9, align 8 + %tobool11 = icmp ne %struct.exe_disk_file_t* %8, null + br i1 %tobool11, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.end8 + %9 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %10 = bitcast %struct.stat64* %9 to i8* + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile9, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %11, i32 0, i32 2 + %12 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %13 = bitcast %struct.stat64* %12 to i8* + %14 = call i8* @memcpy(i8* %10, i8* %13, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.end8 + %15 = load i32, i32* %fd.addr, align 4 + %conv = sext i32 %15 to i64 + %16 = load i8*, i8** %path.addr, align 8 + %tobool14 = icmp ne i8* %16, null + br i1 %tobool14, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end13 + %17 = load i8*, i8** %path.addr, align 8 + %call15 = call i8* @__concretize_string(i8* %17) + br label %cond.end + +cond.end: ; preds = %if.end13, %cond.true + %cond = phi i8* [ %call15, %cond.true ], [ null, %if.end13 ] + %18 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %19 = load i32, i32* %flags.addr, align 4 + %conv16 = sext i32 %19 to i64 + %call17 = call i64 (i64, ...) @syscall(i64 262, i64 %conv, i8* %cond, %struct.stat64* %18, i64 %conv16) #11 + %conv18 = trunc i64 %call17 to i32 + store i32 %conv18, i32* %retval, align 4 + br label %return + +return: ; preds = %cond.end, %if.then12, %if.then4, %if.then1 + %20 = load i32, i32* %retval, align 4 + ret i32 %20 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_lstat(i8* %path, %struct.stat64* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %3 = bitcast %struct.stat64* %2 to i8* + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %4, i32 0, i32 2 + %5 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %6 = bitcast %struct.stat64* %5 to i8* + %7 = call i8* @memcpy(i8* %3, i8* %6, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load i8*, i8** %path.addr, align 8 + %call1 = call i8* @__concretize_string(i8* %8) + %9 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %call2 = call i64 (i64, ...) @syscall(i64 6, i8* %call1, %struct.stat64* %9) #11 + %conv = trunc i64 %call2 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %10 = load i32, i32* %retval, align 4 + ret i32 %10 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chdir(i8* nonnull %path) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0)) + %call1 = call i32* @__errno_location() #25 + store i32 2, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %2) + %call3 = call i64 (i64, ...) @syscall(i64 80, i8* %call2) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %3 = load i32, i32* %retval, align 4 + ret i32 %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fchdir(i32 %fd) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %if.end + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 2, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd6, align 8 + %call7 = call i64 (i64, ...) @syscall(i64 81, i32 %5) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chmod(i8* nonnull %path, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load i32, i32* @chmod.n_calls, align 4 + %inc = add nsw i32 %1, 1 + store i32 %inc, i32* @chmod.n_calls, align 4 + %2 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool = icmp ne i32 %2, 0 + br i1 %tobool, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %3 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 11), align 8 + %4 = load i32, i32* %3, align 4 + %5 = load i32, i32* @chmod.n_calls, align 4 + %cmp = icmp eq i32 %4, %5 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %6 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %6, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call1 = call i32* @__errno_location() #25 + store i32 5, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + %7 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %7, null + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %if.end + %8 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %9 = load i32, i32* %mode.addr, align 4 + %call4 = call i32 @__df_chmod(%struct.exe_disk_file_t* %8, i32 %9) + store i32 %call4, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %if.end + %10 = load i8*, i8** %path.addr, align 8 + %call6 = call i8* @__concretize_string(i8* %10) + %11 = load i32, i32* %mode.addr, align 4 + %call7 = call i64 (i64, ...) @syscall(i64 90, i8* %call6, i32 %11) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %12 = load i32, i32* %retval, align 4 + ret i32 %12 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__df_chmod(%struct.exe_disk_file_t* %df, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %df.addr = alloca %struct.exe_disk_file_t*, align 8 + %mode.addr = alloca i32, align 4 + store %struct.exe_disk_file_t* %df, %struct.exe_disk_file_t** %df.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %call = call i32 @geteuid() #11 + %0 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %0, i32 0, i32 2 + %1 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_uid = getelementptr inbounds %struct.stat64, %struct.stat64* %1, i32 0, i32 4 + %2 = load i32, i32* %st_uid, align 4 + %cmp = icmp eq i32 %call, %2 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %call1 = call i32 @getgid() #11 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %3, i32 0, i32 2 + %4 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + %st_gid = getelementptr inbounds %struct.stat64, %struct.stat64* %4, i32 0, i32 5 + %5 = load i32, i32* %st_gid, align 8 + %cmp3 = icmp ne i32 %call1, %5 + br i1 %cmp3, label %if.then4, label %if.end + +if.then4: ; preds = %if.then + %6 = load i32, i32* %mode.addr, align 4 + %and = and i32 %6, -1025 + store i32 %and, i32* %mode.addr, align 4 + br label %if.end + +if.end: ; preds = %if.then4, %if.then + %7 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat5 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %7, i32 0, i32 2 + %8 = load %struct.stat64*, %struct.stat64** %stat5, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %8, i32 0, i32 3 + %9 = load i32, i32* %st_mode, align 8 + %and6 = and i32 %9, -4096 + %10 = load i32, i32* %mode.addr, align 4 + %and7 = and i32 %10, 4095 + %or = or i32 %and6, %and7 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat8 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %11, i32 0, i32 2 + %12 = load %struct.stat64*, %struct.stat64** %stat8, align 8 + %st_mode9 = getelementptr inbounds %struct.stat64, %struct.stat64* %12, i32 0, i32 3 + store i32 %or, i32* %st_mode9, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %call10 = call i32* @__errno_location() #25 + store i32 1, i32* %call10, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.else, %if.end + %13 = load i32, i32* %retval, align 4 + ret i32 %13 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fchmod(i32 %fd, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i32, i32* @fchmod.n_calls, align 4 + %inc = add nsw i32 %2, 1 + store i32 %inc, i32* @fchmod.n_calls, align 4 + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 12), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @fchmod.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + br i1 %tobool6, label %if.then7, label %if.end10 + +if.then7: ; preds = %if.end5 + %dfile8 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 3 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile8, align 8 + %12 = load i32, i32* %mode.addr, align 4 + %call9 = call i32 @__df_chmod(%struct.exe_disk_file_t* %11, i32 %12) + store i32 %call9, i32* %retval, align 4 + br label %return + +if.end10: ; preds = %if.end5 + %fd11 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 0 + %13 = load i32, i32* %fd11, align 8 + %14 = load i32, i32* %mode.addr, align 4 + %call12 = call i64 (i64, ...) @syscall(i64 91, i32 %13, i32 %14) #11 + %conv = trunc i64 %call12 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end10, %if.then7, %if.then3, %if.then + %15 = load i32, i32* %retval, align 4 + ret i32 %15 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chown(i8* nonnull %path, i32 %owner, i32 %group) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %df, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %3 = load i32, i32* %owner.addr, align 4 + %4 = load i32, i32* %group.addr, align 4 + %call1 = call i32 @__df_chown(%struct.exe_disk_file_t* %2, i32 %3, i32 %4) + store i32 %call1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %5 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %5) + %6 = load i32, i32* %owner.addr, align 4 + %7 = load i32, i32* %group.addr, align 4 + %call3 = call i64 (i64, ...) @syscall(i64 92, i8* %call2, i32 %6, i32 %7) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__df_chown(%struct.exe_disk_file_t* %df, i32 %owner, i32 %group) #3 { +entry: + %df.addr = alloca %struct.exe_disk_file_t*, align 8 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + store %struct.exe_disk_file_t* %df, %struct.exe_disk_file_t** %df.addr, align 8 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + call void @gs_warning(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.26, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fchown(i32 %fd, i32 %owner, i32 %group) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end6 + +if.then3: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile4 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 3 + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile4, align 8 + %6 = load i32, i32* %owner.addr, align 4 + %7 = load i32, i32* %group.addr, align 4 + %call5 = call i32 @__df_chown(%struct.exe_disk_file_t* %5, i32 %6, i32 %7) + store i32 %call5, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.end + %8 = load i32, i32* %fd.addr, align 4 + %9 = load i32, i32* %owner.addr, align 4 + %10 = load i32, i32* %group.addr, align 4 + %call7 = call i64 (i64, ...) @syscall(i64 93, i32 %8, i32 %9, i32 %10) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end6, %if.then3, %if.then + %11 = load i32, i32* %retval, align 4 + ret i32 %11 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @lchown(i8* nonnull %path, i32 %owner, i32 %group) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %df, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %3 = load i32, i32* %owner.addr, align 4 + %4 = load i32, i32* %group.addr, align 4 + %call1 = call i32 @__df_chown(%struct.exe_disk_file_t* %2, i32 %3, i32 %4) + store i32 %call1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %5 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %5) + %6 = load i32, i32* %owner.addr, align 4 + %7 = load i32, i32* %group.addr, align 4 + %call3 = call i64 (i64, ...) @syscall(i64 92, i8* %call2, i32 %6, i32 %7) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_fstat(i32 %fd, %struct.stat64* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.end6, label %if.then3 + +if.then3: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd4 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd4, align 8 + %6 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %call5 = call i64 (i64, ...) @syscall(i64 5, i32 %5, %struct.stat64* %6) #11 + %conv = trunc i64 %call5 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.end + %7 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %8 = bitcast %struct.stat64* %7 to i8* + %9 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %9, i32 0, i32 3 + %10 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile7, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %10, i32 0, i32 2 + %11 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %12 = bitcast %struct.stat64* %11 to i8* + %13 = call i8* @memcpy(i8* %8, i8* %12, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end6, %if.then3, %if.then + %14 = load i32, i32* %retval, align 4 + ret i32 %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_ftruncate(i32 %fd, i64 %length) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %length.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %length, i64* %length.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load i32, i32* @__fd_ftruncate.n_calls, align 4 + %inc = add nsw i32 %1, 1 + store i32 %inc, i32* @__fd_ftruncate.n_calls, align 4 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @__fd_ftruncate.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + br i1 %tobool6, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end5 + call void @gs_warning(i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.10, i64 0, i64 0)) + %call8 = call i32* @__errno_location() #25 + store i32 5, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end9: ; preds = %if.end5 + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd10 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 0 + %11 = load i32, i32* %fd10, align 8 + %12 = load i64, i64* %length.addr, align 8 + %call11 = call i64 (i64, ...) @syscall(i64 77, i32 %11, i64 %12) #11 + %conv = trunc i64 %call11 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end9, %if.then7, %if.then3, %if.then + %13 = load i32, i32* %retval, align 4 + ret i32 %13 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_getdents(i32 %fd, %struct.dirent64* %dirp, i32 %count) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %dirp.addr = alloca %struct.dirent64*, align 8 + %count.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %i = alloca i64, align 8 + %pad = alloca i64, align 8 + %bytes = alloca i64, align 8 + %df = alloca %struct.exe_disk_file_t*, align 8 + %os_pos = alloca i64, align 8 + %res = alloca i32, align 4 + %s = alloca i64, align 8 + %pos = alloca i32, align 4 + %dp = alloca %struct.dirent64*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.dirent64* %dirp, %struct.dirent64** %dirp.addr, align 8 + store i32 %count, i32* %count.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.else + +if.then3: ; preds = %if.end + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 22, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 2 + %5 = load i64, i64* %off, align 8 + %cmp = icmp ult i64 %5, 4096 + br i1 %cmp, label %if.then5, label %if.else43 + +if.then5: ; preds = %if.else + store i64 0, i64* %bytes, align 8 + %6 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %6, i32 0, i32 2 + %7 = load i64, i64* %off6, align 8 + %div = udiv i64 %7, 280 + store i64 %div, i64* %i, align 8 + %8 = load i64, i64* %i, align 8 + %mul = mul i64 %8, 280 + %9 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %9, i32 0, i32 2 + %10 = load i64, i64* %off7, align 8 + %cmp8 = icmp ne i64 %mul, %10 + br i1 %cmp8, label %if.then11, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then5 + %11 = load i64, i64* %i, align 8 + %12 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %conv = zext i32 %12 to i64 + %cmp9 = icmp sgt i64 %11, %conv + br i1 %cmp9, label %if.then11, label %for.cond + +if.then11: ; preds = %lor.lhs.false, %if.then5 + %call12 = call i32* @__errno_location() #25 + store i32 22, i32* %call12, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +for.cond: ; preds = %lor.lhs.false, %for.body + %13 = load i64, i64* %i, align 8 + %14 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %conv14 = zext i32 %14 to i64 + %cmp15 = icmp slt i64 %13, %conv14 + br i1 %cmp15, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %15 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %16 = load i64, i64* %i, align 8 + %arrayidx = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %15, i64 %16 + store %struct.exe_disk_file_t* %arrayidx, %struct.exe_disk_file_t** %df, align 8 + %17 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %17, i32 0, i32 2 + %18 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %18, i32 0, i32 1 + %19 = load i64, i64* %st_ino, align 8 + %20 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_ino = getelementptr inbounds %struct.dirent64, %struct.dirent64* %20, i32 0, i32 0 + store i64 %19, i64* %d_ino, align 8 + %21 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen = getelementptr inbounds %struct.dirent64, %struct.dirent64* %21, i32 0, i32 2 + store i16 280, i16* %d_reclen, align 8 + %22 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat17 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %22, i32 0, i32 2 + %23 = load %struct.stat64*, %struct.stat64** %stat17, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %23, i32 0, i32 3 + %24 = load i32, i32* %st_mode, align 8 + %and = and i32 %24, 61440 + %shr = lshr i32 %and, 12 + %conv18 = trunc i32 %shr to i8 + %25 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_type = getelementptr inbounds %struct.dirent64, %struct.dirent64* %25, i32 0, i32 3 + store i8 %conv18, i8* %d_type, align 2 + %26 = load i64, i64* %i, align 8 + %add = add nsw i64 65, %26 + %conv19 = trunc i64 %add to i8 + %27 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_name = getelementptr inbounds %struct.dirent64, %struct.dirent64* %27, i32 0, i32 4 + %arrayidx20 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name, i64 0, i64 0 + store i8 %conv19, i8* %arrayidx20, align 1 + %28 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_name21 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %28, i32 0, i32 4 + %arrayidx22 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name21, i64 0, i64 1 + store i8 0, i8* %arrayidx22, align 1 + %29 = load i64, i64* %i, align 8 + %add23 = add nsw i64 %29, 1 + %mul24 = mul i64 %add23, 280 + %30 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_off = getelementptr inbounds %struct.dirent64, %struct.dirent64* %30, i32 0, i32 1 + store i64 %mul24, i64* %d_off, align 8 + %31 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen25 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %31, i32 0, i32 2 + %32 = load i16, i16* %d_reclen25, align 8 + %conv26 = zext i16 %32 to i64 + %33 = load i64, i64* %bytes, align 8 + %add27 = add nsw i64 %33, %conv26 + store i64 %add27, i64* %bytes, align 8 + %34 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %incdec.ptr = getelementptr inbounds %struct.dirent64, %struct.dirent64* %34, i32 1 + store %struct.dirent64* %incdec.ptr, %struct.dirent64** %dirp.addr, align 8 + %35 = load i64, i64* %i, align 8 + %inc = add nsw i64 %35, 1 + store i64 %inc, i64* %i, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %36 = load i32, i32* %count.addr, align 4 + %cmp28 = icmp uge i32 %36, 4096 + %37 = load i32, i32* %count.addr, align 4 + %cond = select i1 %cmp28, i32 4096, i32 %37 + %conv30 = zext i32 %cond to i64 + store i64 %conv30, i64* %pad, align 8 + %38 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_ino31 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %38, i32 0, i32 0 + store i64 0, i64* %d_ino31, align 8 + %39 = load i64, i64* %pad, align 8 + %40 = load i64, i64* %bytes, align 8 + %sub = sub nsw i64 %39, %40 + %conv32 = trunc i64 %sub to i16 + %41 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen33 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %41, i32 0, i32 2 + store i16 %conv32, i16* %d_reclen33, align 8 + %42 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_type34 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %42, i32 0, i32 3 + store i8 0, i8* %d_type34, align 2 + %43 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_name35 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %43, i32 0, i32 4 + %arrayidx36 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name35, i64 0, i64 0 + store i8 0, i8* %arrayidx36, align 1 + %44 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_off37 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %44, i32 0, i32 1 + store i64 4096, i64* %d_off37, align 8 + %45 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen38 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %45, i32 0, i32 2 + %46 = load i16, i16* %d_reclen38, align 8 + %conv39 = zext i16 %46 to i64 + %47 = load i64, i64* %bytes, align 8 + %add40 = add nsw i64 %47, %conv39 + store i64 %add40, i64* %bytes, align 8 + %48 = load i64, i64* %pad, align 8 + %49 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off41 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %49, i32 0, i32 2 + store i64 %48, i64* %off41, align 8 + %50 = load i64, i64* %bytes, align 8 + %conv42 = trunc i64 %50 to i32 + store i32 %conv42, i32* %retval, align 4 + br label %return + +if.else43: ; preds = %if.else + %51 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off44 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %51, i32 0, i32 2 + %52 = load i64, i64* %off44, align 8 + %sub45 = sub nsw i64 %52, 4096 + store i64 %sub45, i64* %os_pos, align 8 + store i64 0, i64* %s, align 8 + %53 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %54 = bitcast %struct.dirent64* %53 to i8* + %55 = load i32, i32* %count.addr, align 4 + %conv46 = zext i32 %55 to i64 + %56 = call i8* @memset(i8* %54, i32 0, i64 %conv46) + %57 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd47 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %57, i32 0, i32 0 + %58 = load i32, i32* %fd47, align 8 + %59 = load i64, i64* %os_pos, align 8 + %call48 = call i64 (i64, ...) @syscall(i64 8, i32 %58, i64 %59, i32 0) #11 + store i64 %call48, i64* %s, align 8 + %60 = load i64, i64* %s, align 8 + %cmp49 = icmp ne i64 %60, -1 + br i1 %cmp49, label %if.end53, label %if.else52 + +if.else52: ; preds = %if.else43 + call void @__assert_fail(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.12, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 840, i8* getelementptr inbounds ([65 x i8], [65 x i8]* @__PRETTY_FUNCTION__.__fd_getdents, i64 0, i64 0)) #26 + unreachable + +if.end53: ; preds = %if.else43 + %61 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %61, i32 0, i32 0 + %62 = load i32, i32* %fd54, align 8 + %63 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %64 = load i32, i32* %count.addr, align 4 + %call55 = call i64 (i64, ...) @syscall(i64 217, i32 %62, %struct.dirent64* %63, i32 %64) #11 + %conv56 = trunc i64 %call55 to i32 + store i32 %conv56, i32* %res, align 4 + %65 = load i32, i32* %res, align 4 + %cmp57 = icmp sgt i32 %65, -1 + br i1 %cmp57, label %if.then59, label %if.end78 + +if.then59: ; preds = %if.end53 + store i32 0, i32* %pos, align 4 + %66 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd60 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %66, i32 0, i32 0 + %67 = load i32, i32* %fd60, align 8 + %call61 = call i64 (i64, ...) @syscall(i64 8, i32 %67, i32 0, i32 1) #11 + %68 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off62 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %68, i32 0, i32 2 + store i64 %call61, i64* %off62, align 8 + %69 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off63 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %69, i32 0, i32 2 + %70 = load i64, i64* %off63, align 8 + %cmp64 = icmp ne i64 %70, -1 + br i1 %cmp64, label %if.end68, label %if.else67 + +if.else67: ; preds = %if.then59 + call void @__assert_fail(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.13, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 845, i8* getelementptr inbounds ([65 x i8], [65 x i8]* @__PRETTY_FUNCTION__.__fd_getdents, i64 0, i64 0)) #26 + unreachable + +if.end68: ; preds = %if.then59 + %71 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off69 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %71, i32 0, i32 2 + %72 = load i64, i64* %off69, align 8 + %add70 = add nsw i64 %72, 4096 + store i64 %add70, i64* %off69, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end68 + %73 = load i32, i32* %pos, align 4 + %74 = load i32, i32* %res, align 4 + %cmp71 = icmp slt i32 %73, %74 + br i1 %cmp71, label %while.body, label %if.end78 + +while.body: ; preds = %while.cond + %75 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %76 = bitcast %struct.dirent64* %75 to i8* + %77 = load i32, i32* %pos, align 4 + %idx.ext = sext i32 %77 to i64 + %add.ptr = getelementptr inbounds i8, i8* %76, i64 %idx.ext + %78 = bitcast i8* %add.ptr to %struct.dirent64* + store %struct.dirent64* %78, %struct.dirent64** %dp, align 8 + %79 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_off73 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %79, i32 0, i32 1 + %80 = load i64, i64* %d_off73, align 8 + %add74 = add nsw i64 %80, 4096 + store i64 %add74, i64* %d_off73, align 8 + %81 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_reclen75 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %81, i32 0, i32 2 + %82 = load i16, i16* %d_reclen75, align 8 + %conv76 = zext i16 %82 to i32 + %83 = load i32, i32* %pos, align 4 + %add77 = add nsw i32 %83, %conv76 + store i32 %add77, i32* %pos, align 4 + br label %while.cond + +if.end78: ; preds = %while.cond, %if.end53 + %84 = load i32, i32* %res, align 4 + store i32 %84, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end78, %for.end, %if.then11, %if.then3, %if.then + %85 = load i32, i32* %retval, align 4 + ret i32 %85 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @ioctl(i32 %fd, i64 %request, ...) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %request.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + %buf = alloca i8*, align 8 + %stat = alloca %struct.stat64*, align 8 + %ts = alloca %struct.termios*, align 8 + %ws = alloca %struct.winsize*, align 8 + %res = alloca i32*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %request, i64* %request.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay2 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay2) + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.end + %2 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 3 + %reg_save_area = load i8*, i8** %2, align 16 + %3 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %4 = bitcast i8* %3 to i8** + %5 = add i32 %gp_offset, 8 + store i32 %5, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.end + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %6 = bitcast i8* %overflow_arg_area to i8** + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i8** [ %4, %vaarg.in_reg ], [ %6, %vaarg.in_mem ] + %7 = load i8*, i8** %vaarg.addr, align 8 + store i8* %7, i8** %buf, align 8 + %arraydecay4 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay45 = bitcast %struct.__va_list_tag.0* %arraydecay4 to i8* + call void @llvm.va_end(i8* %arraydecay45) + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + br i1 %tobool6, label %if.then7, label %if.end103 + +if.then7: ; preds = %vaarg.end + %dfile8 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 3 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile8, align 8 + %stat9 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %11, i32 0, i32 2 + %12 = load %struct.stat64*, %struct.stat64** %stat9, align 8 + %13 = bitcast %struct.stat64* %12 to %struct.stat64* + store %struct.stat64* %13, %struct.stat64** %stat, align 8 + %14 = load i64, i64* %request.addr, align 8 + br label %NodeBlock13 + +NodeBlock13: ; preds = %if.then7 + %case.cmp14 = icmp eq i64 %14, 21505 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i64 %14, 21506 + br i1 %case.cmp12, label %sw.bb48, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i64 %14, 21507 + br i1 %case.cmp10, label %sw.bb55, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i64 %14, 21508 + br i1 %case.cmp8, label %sw.bb60, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i64 %14, 21523 + br i1 %case.cmp6, label %sw.bb67, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i64 %14, 21524 + br i1 %case.cmp4, label %sw.bb74, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i64 %14, 21531 + br i1 %case.cmp2, label %sw.bb82, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i64 %14, 2150657282 + br i1 %case.cmp, label %sw.bb100, label %newDefault + +sw.bb: ; preds = %NodeBlock13 + %15 = load i8*, i8** %buf, align 8 + %16 = bitcast i8* %15 to %struct.termios* + store %struct.termios* %16, %struct.termios** %ts, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.14, i64 0, i64 0)) + %17 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %17, i32 0, i32 3 + %18 = load i32, i32* %st_mode, align 8 + %and = and i32 %18, 61440 + %cmp = icmp eq i32 %and, 8192 + br i1 %cmp, label %if.then10, label %if.else + +if.then10: ; preds = %sw.bb + %19 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_iflag = getelementptr inbounds %struct.termios, %struct.termios* %19, i32 0, i32 0 + store i32 27906, i32* %c_iflag, align 4 + %20 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_oflag = getelementptr inbounds %struct.termios, %struct.termios* %20, i32 0, i32 1 + store i32 5, i32* %c_oflag, align 4 + %21 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cflag = getelementptr inbounds %struct.termios, %struct.termios* %21, i32 0, i32 2 + store i32 1215, i32* %c_cflag, align 4 + %22 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_lflag = getelementptr inbounds %struct.termios, %struct.termios* %22, i32 0, i32 3 + store i32 35287, i32* %c_lflag, align 4 + %23 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_line = getelementptr inbounds %struct.termios, %struct.termios* %23, i32 0, i32 4 + store i8 0, i8* %c_line, align 4 + %24 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc = getelementptr inbounds %struct.termios, %struct.termios* %24, i32 0, i32 5 + %arrayidx = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc, i64 0, i64 0 + store i8 3, i8* %arrayidx, align 1 + %25 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc11 = getelementptr inbounds %struct.termios, %struct.termios* %25, i32 0, i32 5 + %arrayidx12 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc11, i64 0, i64 1 + store i8 28, i8* %arrayidx12, align 1 + %26 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc13 = getelementptr inbounds %struct.termios, %struct.termios* %26, i32 0, i32 5 + %arrayidx14 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc13, i64 0, i64 2 + store i8 127, i8* %arrayidx14, align 1 + %27 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc15 = getelementptr inbounds %struct.termios, %struct.termios* %27, i32 0, i32 5 + %arrayidx16 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc15, i64 0, i64 3 + store i8 21, i8* %arrayidx16, align 1 + %28 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc17 = getelementptr inbounds %struct.termios, %struct.termios* %28, i32 0, i32 5 + %arrayidx18 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc17, i64 0, i64 4 + store i8 4, i8* %arrayidx18, align 1 + %29 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc19 = getelementptr inbounds %struct.termios, %struct.termios* %29, i32 0, i32 5 + %arrayidx20 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc19, i64 0, i64 5 + store i8 0, i8* %arrayidx20, align 1 + %30 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc21 = getelementptr inbounds %struct.termios, %struct.termios* %30, i32 0, i32 5 + %arrayidx22 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc21, i64 0, i64 6 + store i8 1, i8* %arrayidx22, align 1 + %31 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc23 = getelementptr inbounds %struct.termios, %struct.termios* %31, i32 0, i32 5 + %arrayidx24 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc23, i64 0, i64 7 + store i8 -1, i8* %arrayidx24, align 1 + %32 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc25 = getelementptr inbounds %struct.termios, %struct.termios* %32, i32 0, i32 5 + %arrayidx26 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc25, i64 0, i64 8 + store i8 17, i8* %arrayidx26, align 1 + %33 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc27 = getelementptr inbounds %struct.termios, %struct.termios* %33, i32 0, i32 5 + %arrayidx28 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc27, i64 0, i64 9 + store i8 19, i8* %arrayidx28, align 1 + %34 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc29 = getelementptr inbounds %struct.termios, %struct.termios* %34, i32 0, i32 5 + %arrayidx30 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc29, i64 0, i64 10 + store i8 26, i8* %arrayidx30, align 1 + %35 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc31 = getelementptr inbounds %struct.termios, %struct.termios* %35, i32 0, i32 5 + %arrayidx32 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc31, i64 0, i64 11 + store i8 -1, i8* %arrayidx32, align 1 + %36 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc33 = getelementptr inbounds %struct.termios, %struct.termios* %36, i32 0, i32 5 + %arrayidx34 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc33, i64 0, i64 12 + store i8 18, i8* %arrayidx34, align 1 + %37 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc35 = getelementptr inbounds %struct.termios, %struct.termios* %37, i32 0, i32 5 + %arrayidx36 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc35, i64 0, i64 13 + store i8 15, i8* %arrayidx36, align 1 + %38 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc37 = getelementptr inbounds %struct.termios, %struct.termios* %38, i32 0, i32 5 + %arrayidx38 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc37, i64 0, i64 14 + store i8 23, i8* %arrayidx38, align 1 + %39 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc39 = getelementptr inbounds %struct.termios, %struct.termios* %39, i32 0, i32 5 + %arrayidx40 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc39, i64 0, i64 15 + store i8 22, i8* %arrayidx40, align 1 + %40 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc41 = getelementptr inbounds %struct.termios, %struct.termios* %40, i32 0, i32 5 + %arrayidx42 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc41, i64 0, i64 16 + store i8 -1, i8* %arrayidx42, align 1 + %41 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc43 = getelementptr inbounds %struct.termios, %struct.termios* %41, i32 0, i32 5 + %arrayidx44 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc43, i64 0, i64 17 + store i8 0, i8* %arrayidx44, align 1 + %42 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc45 = getelementptr inbounds %struct.termios, %struct.termios* %42, i32 0, i32 5 + %arrayidx46 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc45, i64 0, i64 18 + store i8 0, i8* %arrayidx46, align 1 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %sw.bb + %call47 = call i32* @__errno_location() #25 + store i32 25, i32* %call47, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb48: ; preds = %NodeBlock11 + call void @gs_warning_once(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.15, i64 0, i64 0)) + %43 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode49 = getelementptr inbounds %struct.stat64, %struct.stat64* %43, i32 0, i32 3 + %44 = load i32, i32* %st_mode49, align 8 + %and50 = and i32 %44, 61440 + %cmp51 = icmp eq i32 %and50, 8192 + br i1 %cmp51, label %if.then52, label %if.else53 + +if.then52: ; preds = %sw.bb48 + store i32 0, i32* %retval, align 4 + br label %return + +if.else53: ; preds = %sw.bb48 + %call54 = call i32* @__errno_location() #25 + store i32 25, i32* %call54, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb55: ; preds = %NodeBlock9 + call void @gs_warning_once(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.16, i64 0, i64 0)) + %45 = load i32, i32* %fd.addr, align 4 + %cmp56 = icmp eq i32 %45, 0 + br i1 %cmp56, label %if.then57, label %if.else58 + +if.then57: ; preds = %sw.bb55 + store i32 0, i32* %retval, align 4 + br label %return + +if.else58: ; preds = %sw.bb55 + %call59 = call i32* @__errno_location() #25 + store i32 25, i32* %call59, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb60: ; preds = %NodeBlock7 + call void @gs_warning_once(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.17, i64 0, i64 0)) + %46 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode61 = getelementptr inbounds %struct.stat64, %struct.stat64* %46, i32 0, i32 3 + %47 = load i32, i32* %st_mode61, align 8 + %and62 = and i32 %47, 61440 + %cmp63 = icmp eq i32 %and62, 8192 + br i1 %cmp63, label %if.then64, label %if.else65 + +if.then64: ; preds = %sw.bb60 + store i32 0, i32* %retval, align 4 + br label %return + +if.else65: ; preds = %sw.bb60 + %call66 = call i32* @__errno_location() #25 + store i32 25, i32* %call66, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb67: ; preds = %NodeBlock5 + %48 = load i8*, i8** %buf, align 8 + %49 = bitcast i8* %48 to %struct.winsize* + store %struct.winsize* %49, %struct.winsize** %ws, align 8 + %50 = load %struct.winsize*, %struct.winsize** %ws, align 8 + %ws_row = getelementptr inbounds %struct.winsize, %struct.winsize* %50, i32 0, i32 0 + store i16 24, i16* %ws_row, align 2 + %51 = load %struct.winsize*, %struct.winsize** %ws, align 8 + %ws_col = getelementptr inbounds %struct.winsize, %struct.winsize* %51, i32 0, i32 1 + store i16 80, i16* %ws_col, align 2 + call void @gs_warning_once(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.18, i64 0, i64 0)) + %52 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode68 = getelementptr inbounds %struct.stat64, %struct.stat64* %52, i32 0, i32 3 + %53 = load i32, i32* %st_mode68, align 8 + %and69 = and i32 %53, 61440 + %cmp70 = icmp eq i32 %and69, 8192 + br i1 %cmp70, label %if.then71, label %if.else72 + +if.then71: ; preds = %sw.bb67 + store i32 0, i32* %retval, align 4 + br label %return + +if.else72: ; preds = %sw.bb67 + %call73 = call i32* @__errno_location() #25 + store i32 25, i32* %call73, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb74: ; preds = %NodeBlock3 + call void @gs_warning_once(i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.19, i64 0, i64 0)) + %54 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode75 = getelementptr inbounds %struct.stat64, %struct.stat64* %54, i32 0, i32 3 + %55 = load i32, i32* %st_mode75, align 8 + %and76 = and i32 %55, 61440 + %cmp77 = icmp eq i32 %and76, 8192 + %call79 = call i32* @__errno_location() #25 + br i1 %cmp77, label %if.then78, label %if.else80 + +if.then78: ; preds = %sw.bb74 + store i32 22, i32* %call79, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else80: ; preds = %sw.bb74 + store i32 25, i32* %call79, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb82: ; preds = %NodeBlock1 + %56 = load i8*, i8** %buf, align 8 + %57 = bitcast i8* %56 to i32* + store i32* %57, i32** %res, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.20, i64 0, i64 0)) + %58 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode83 = getelementptr inbounds %struct.stat64, %struct.stat64* %58, i32 0, i32 3 + %59 = load i32, i32* %st_mode83, align 8 + %and84 = and i32 %59, 61440 + %cmp85 = icmp eq i32 %and84, 8192 + br i1 %cmp85, label %if.then86, label %if.else98 + +if.then86: ; preds = %sw.bb82 + %60 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %60, i32 0, i32 2 + %61 = load i64, i64* %off, align 8 + %62 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile87 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %62, i32 0, i32 3 + %63 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile87, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %63, i32 0, i32 0 + %64 = load i32, i32* %size, align 8 + %conv = zext i32 %64 to i64 + %cmp88 = icmp slt i64 %61, %conv + br i1 %cmp88, label %if.then90, label %if.else96 + +if.then90: ; preds = %if.then86 + %65 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile91 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %65, i32 0, i32 3 + %66 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile91, align 8 + %size92 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %66, i32 0, i32 0 + %67 = load i32, i32* %size92, align 8 + %conv93 = zext i32 %67 to i64 + %68 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off94 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %68, i32 0, i32 2 + %69 = load i64, i64* %off94, align 8 + %sub = sub nsw i64 %conv93, %69 + %conv95 = trunc i64 %sub to i32 + %70 = load i32*, i32** %res, align 8 + store i32 %conv95, i32* %70, align 4 + br label %if.end97 + +if.else96: ; preds = %if.then86 + %71 = load i32*, i32** %res, align 8 + store i32 0, i32* %71, align 4 + br label %if.end97 + +if.end97: ; preds = %if.else96, %if.then90 + store i32 0, i32* %retval, align 4 + br label %return + +if.else98: ; preds = %sw.bb82 + %call99 = call i32* @__errno_location() #25 + store i32 25, i32* %call99, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb100: ; preds = %NodeBlock + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.21, i64 0, i64 0)) + %call101 = call i32* @__errno_location() #25 + store i32 22, i32* %call101, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0)) + %call102 = call i32* @__errno_location() #25 + store i32 22, i32* %call102, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end103: ; preds = %vaarg.end + %fd104 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 0 + %72 = load i32, i32* %fd104, align 8 + %73 = load i64, i64* %request.addr, align 8 + %74 = load i8*, i8** %buf, align 8 + %call105 = call i64 (i64, ...) @syscall(i64 16, i32 %72, i64 %73, i8* %74) #11 + %conv106 = trunc i64 %call105 to i32 + store i32 %conv106, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end103, %sw.default, %sw.bb100, %if.else98, %if.end97, %if.else80, %if.then78, %if.else72, %if.then71, %if.else65, %if.then64, %if.else58, %if.then57, %if.else53, %if.then52, %if.else, %if.then10, %if.then + %75 = load i32, i32* %retval, align 4 + ret i32 %75 +} + +; Function Attrs: nounwind +declare void @llvm.va_start(i8*) #11 + +; Function Attrs: nounwind +declare void @llvm.va_end(i8*) #11 + +declare dso_local void @gs_warning_once(i8*) #5 + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fcntl(i32 %fd, i32 %cmd, ...) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %cmd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + %arg = alloca i32, align 4 + %lock = alloca %struct.flock*, align 8 + %flags = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %cmd, i32* %cmd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i32, i32* %cmd.addr, align 4 + %cmp = icmp eq i32 %2, 1 + %3 = load i32, i32* %cmd.addr, align 4 + %cmp2 = icmp eq i32 %3, 3 + %or.cond = or i1 %cmp, %cmp2 + %4 = load i32, i32* %cmd.addr, align 4 + %cmp4 = icmp eq i32 %4, 9 + %or.cond1 = or i1 %or.cond, %cmp4 + %5 = load i32, i32* %cmd.addr, align 4 + %cmp6 = icmp eq i32 %5, 11 + %or.cond2 = or i1 %or.cond1, %cmp6 + %6 = load i32, i32* %cmd.addr, align 4 + %cmp8 = icmp eq i32 %6, 1025 + %or.cond3 = or i1 %or.cond2, %cmp8 + %7 = load i32, i32* %cmd.addr, align 4 + %cmp10 = icmp eq i32 %7, 1026 + %or.cond4 = or i1 %or.cond3, %cmp10 + br i1 %or.cond4, label %if.then11, label %if.else + +if.then11: ; preds = %if.end + store i32 0, i32* %arg, align 4 + br label %if.end40 + +if.else: ; preds = %if.end + %8 = load i32, i32* %cmd.addr, align 4 + %cmp12 = icmp eq i32 %8, 5 + %9 = load i32, i32* %cmd.addr, align 4 + %cmp14 = icmp eq i32 %9, 6 + %or.cond5 = or i1 %cmp12, %cmp14 + %10 = load i32, i32* %cmd.addr, align 4 + %cmp16 = icmp eq i32 %10, 7 + %or.cond6 = or i1 %or.cond5, %cmp16 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay18 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay18) + %arraydecay19 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %or.cond6, label %if.then17, label %if.else22 + +if.then17: ; preds = %if.else + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then17 + %11 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 3 + %reg_save_area = load i8*, i8** %11, align 16 + %12 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %13 = bitcast i8* %12 to %struct.flock** + %14 = add i32 %gp_offset, 8 + store i32 %14, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then17 + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %15 = bitcast i8* %overflow_arg_area to %struct.flock** + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi %struct.flock** [ %13, %vaarg.in_reg ], [ %15, %vaarg.in_mem ] + %16 = load %struct.flock*, %struct.flock** %vaarg.addr, align 8 + store %struct.flock* %16, %struct.flock** %lock, align 8 + %arraydecay20 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay2021 = bitcast %struct.__va_list_tag.0* %arraydecay20 to i8* + call void @llvm.va_end(i8* %arraydecay2021) + br label %if.end40 + +if.else22: ; preds = %if.else + br i1 %fits_in_gp, label %vaarg.in_reg29, label %vaarg.in_mem31 + +vaarg.in_reg29: ; preds = %if.else22 + %17 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 3 + %reg_save_area30 = load i8*, i8** %17, align 16 + %18 = getelementptr i8, i8* %reg_save_area30, i32 %gp_offset + %19 = bitcast i8* %18 to i32* + %20 = add i32 %gp_offset, 8 + store i32 %20, i32* %gp_offset_p, align 16 + br label %vaarg.end35 + +vaarg.in_mem31: ; preds = %if.else22 + %overflow_arg_area_p32 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 2 + %overflow_arg_area33 = load i8*, i8** %overflow_arg_area_p32, align 8 + %21 = bitcast i8* %overflow_arg_area33 to i32* + %overflow_arg_area.next34 = getelementptr i8, i8* %overflow_arg_area33, i32 8 + store i8* %overflow_arg_area.next34, i8** %overflow_arg_area_p32, align 8 + br label %vaarg.end35 + +vaarg.end35: ; preds = %vaarg.in_mem31, %vaarg.in_reg29 + %vaarg.addr36 = phi i32* [ %19, %vaarg.in_reg29 ], [ %21, %vaarg.in_mem31 ] + %22 = load i32, i32* %vaarg.addr36, align 4 + store i32 %22, i32* %arg, align 4 + %arraydecay37 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay3738 = bitcast %struct.__va_list_tag.0* %arraydecay37 to i8* + call void @llvm.va_end(i8* %arraydecay3738) + br label %if.end40 + +if.end40: ; preds = %vaarg.end, %vaarg.end35, %if.then11 + %23 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %23, i32 0, i32 3 + %24 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool41 = icmp ne %struct.exe_disk_file_t* %24, null + br i1 %tobool41, label %if.then42, label %if.end60 + +if.then42: ; preds = %if.end40 + %25 = load i32, i32* %cmd.addr, align 4 + br label %NodeBlock13 + +NodeBlock13: ; preds = %if.then42 + %case.cmp14 = icmp eq i32 %25, 1 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %25, 2 + br i1 %case.cmp12, label %sw.bb47, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %25, 3 + br i1 %case.cmp10, label %sw.bb56, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %25, 5 + br i1 %case.cmp8, label %sw.bb57, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock7 + %case.cmp = icmp eq i32 %25, 6 + br i1 %case.cmp, label %sw.bb58, label %newDefault + +sw.bb: ; preds = %NodeBlock13 + store i32 0, i32* %flags, align 4 + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags43 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 1 + %27 = load i32, i32* %flags43, align 4 + %and = and i32 %27, 2 + %tobool44 = icmp ne i32 %and, 0 + br i1 %tobool44, label %if.then45, label %if.end46 + +if.then45: ; preds = %sw.bb + %28 = load i32, i32* %flags, align 4 + %or = or i32 %28, 1 + store i32 %or, i32* %flags, align 4 + br label %if.end46 + +if.end46: ; preds = %if.then45, %sw.bb + %29 = load i32, i32* %flags, align 4 + store i32 %29, i32* %retval, align 4 + br label %return + +sw.bb47: ; preds = %NodeBlock11 + %30 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags48 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %30, i32 0, i32 1 + %31 = load i32, i32* %flags48, align 4 + %and49 = and i32 %31, -3 + store i32 %and49, i32* %flags48, align 4 + %32 = load i32, i32* %arg, align 4 + %and50 = and i32 %32, 1 + %tobool51 = icmp ne i32 %and50, 0 + br i1 %tobool51, label %if.then52, label %if.end55 + +if.then52: ; preds = %sw.bb47 + %33 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags53 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %33, i32 0, i32 1 + %34 = load i32, i32* %flags53, align 4 + %or54 = or i32 %34, 2 + store i32 %or54, i32* %flags53, align 4 + br label %if.end55 + +if.end55: ; preds = %if.then52, %sw.bb47 + store i32 0, i32* %retval, align 4 + br label %return + +sw.bb56: ; preds = %NodeBlock9 + store i32 0, i32* %retval, align 4 + br label %return + +sw.bb57: ; preds = %NodeBlock7 + %35 = load %struct.flock*, %struct.flock** %lock, align 8 + %l_type = getelementptr inbounds %struct.flock, %struct.flock* %35, i32 0, i32 0 + store i16 2, i16* %l_type, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +sw.bb58: ; preds = %NodeBlock + store i32 0, i32* %retval, align 4 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0)) + %call59 = call i32* @__errno_location() #25 + store i32 22, i32* %call59, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end60: ; preds = %if.end40 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd61 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 0 + %37 = load i32, i32* %fd61, align 8 + %38 = load i32, i32* %cmd.addr, align 4 + %39 = load i32, i32* %arg, align 4 + %call62 = call i64 (i64, ...) @syscall(i64 72, i32 %37, i32 %38, i32 %39) #11 + %conv = trunc i64 %call62 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end60, %sw.default, %sw.bb58, %sw.bb57, %sw.bb56, %if.end55, %if.end46, %if.then + %40 = load i32, i32* %retval, align 4 + ret i32 %40 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_statfs(i8* %path, %struct.statfs* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.statfs*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.statfs* %buf, %struct.statfs** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0)) + %call1 = call i32* @__errno_location() #25 + store i32 2, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %2) + %3 = load %struct.statfs*, %struct.statfs** %buf.addr, align 8 + %call3 = call i64 (i64, ...) @syscall(i64 137, i8* %call2, %struct.statfs* %3) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstatfs(i32 %fd, %struct.statfs* nonnull %buf) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.statfs*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.statfs* %buf, %struct.statfs** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %if.end + call void @gs_warning(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.22, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 9, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd6, align 8 + %6 = load %struct.statfs*, %struct.statfs** %buf.addr, align 8 + %call7 = call i64 (i64, ...) @syscall(i64 138, i32 %5, %struct.statfs* %6) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %7 = load i32, i32* %retval, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fsync(i32 %fd) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.else + store i32 0, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %if.else + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd5 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd5, align 8 + %call6 = call i64 (i64, ...) @syscall(i64 74, i32 %5) #11 + %conv = trunc i64 %call6 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @dup2(i32 %oldfd, i32 %newfd) #3 { +entry: + %retval = alloca i32, align 4 + %oldfd.addr = alloca i32, align 4 + %newfd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %f2 = alloca %struct.exe_file_t*, align 8 + store i32 %oldfd, i32* %oldfd.addr, align 4 + store i32 %newfd, i32* %newfd.addr, align 4 + %0 = load i32, i32* %oldfd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + %2 = load i32, i32* %newfd.addr, align 4 + %cmp = icmp sge i32 %2, 0 + %or.cond = and i1 %tobool, %cmp + %3 = load i32, i32* %newfd.addr, align 4 + %cmp1 = icmp slt i32 %3, 32 + %or.cond1 = and i1 %or.cond, %cmp1 + br i1 %or.cond1, label %if.else, label %if.then + +if.then: ; preds = %entry + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %4 = load i32, i32* %newfd.addr, align 4 + %idxprom = sext i32 %4 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + store %struct.exe_file_t* %arrayidx, %struct.exe_file_t** %f2, align 8 + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f2, align 8 + %flags = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 1 + %6 = load i32, i32* %flags, align 4 + %and = and i32 %6, 1 + %tobool3 = icmp ne i32 %and, 0 + br i1 %tobool3, label %if.then4, label %if.end + +if.then4: ; preds = %if.else + %7 = load i32, i32* %newfd.addr, align 4 + %call5 = call i32 @close(i32 %7) + br label %if.end + +if.end: ; preds = %if.then4, %if.else + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f2, align 8 + %9 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %10 = bitcast %struct.exe_file_t* %8 to i8* + %11 = bitcast %struct.exe_file_t* %9 to i8* + %12 = call i8* @memcpy(i8* %10, i8* %11, i64 24) + %13 = load %struct.exe_file_t*, %struct.exe_file_t** %f2, align 8 + %flags6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %13, i32 0, i32 1 + %14 = load i32, i32* %flags6, align 4 + %and7 = and i32 %14, -3 + store i32 %and7, i32* %flags6, align 4 + %15 = load i32, i32* %newfd.addr, align 4 + store i32 %15, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %16 = load i32, i32* %retval, align 4 + ret i32 %16 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @dup(i32 %oldfd) #3 { +entry: + %retval = alloca i32, align 4 + %oldfd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %fd = alloca i32, align 4 + store i32 %oldfd, i32* %oldfd.addr, align 4 + %0 = load i32, i32* %oldfd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + store i32 0, i32* %fd, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.else + %2 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %2, 32 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %3 = load i32, i32* %fd, align 4 + %idxprom = sext i32 %3 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + %flags = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %arrayidx, i32 0, i32 1 + %4 = load i32, i32* %flags, align 4 + %and = and i32 %4, 1 + %tobool2 = icmp ne i32 %and, 0 + br i1 %tobool2, label %for.inc, label %for.end + +for.inc: ; preds = %for.body + %5 = load i32, i32* %fd, align 4 + %inc = add nsw i32 %5, 1 + store i32 %inc, i32* %fd, align 4 + br label %for.cond + +for.end: ; preds = %for.body, %for.cond + %6 = load i32, i32* %fd, align 4 + %cmp4 = icmp eq i32 %6, 32 + br i1 %cmp4, label %if.then5, label %if.else7 + +if.then5: ; preds = %for.end + %call6 = call i32* @__errno_location() #25 + store i32 24, i32* %call6, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else7: ; preds = %for.end + %7 = load i32, i32* %oldfd.addr, align 4 + %8 = load i32, i32* %fd, align 4 + %call8 = call i32 @dup2(i32 %7, i32 %8) #11 + store i32 %call8, i32* %retval, align 4 + br label %return + +return: ; preds = %if.else7, %if.then5, %if.then + %9 = load i32, i32* %retval, align 4 + ret i32 %9 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rmdir(i8* nonnull %pathname) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 16384 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %5, i32 0, i32 2 + %6 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 1 + store i64 0, i64* %st_ino, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %call3 = call i32* @__errno_location() #25 + store i32 20, i32* %call3, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 1, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.else, %if.then1 + %7 = load i32, i32* %retval, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @unlink(i8* nonnull %pathname) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 32768 + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %5, i32 0, i32 2 + %6 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 1 + store i64 0, i64* %st_ino, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %st_mode4 = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 3 + %7 = load i32, i32* %st_mode4, align 8 + %and5 = and i32 %7, 61440 + %cmp6 = icmp eq i32 %and5, 16384 + %call8 = call i32* @__errno_location() #25 + br i1 %cmp6, label %if.then7, label %if.else9 + +if.then7: ; preds = %if.else + store i32 21, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else9: ; preds = %if.else + store i32 1, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0)) + %call11 = call i32* @__errno_location() #25 + store i32 1, i32* %call11, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.else9, %if.then7, %if.then1 + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @unlinkat(i32 %dirfd, i8* nonnull %pathname, i32 %flags) #3 { +entry: + %retval = alloca i32, align 4 + %dirfd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i32 %dirfd, i32* %dirfd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 32768 + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %5, i32 0, i32 2 + %6 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 1 + store i64 0, i64* %st_ino, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %st_mode4 = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 3 + %7 = load i32, i32* %st_mode4, align 8 + %and5 = and i32 %7, 61440 + %cmp6 = icmp eq i32 %and5, 16384 + %call8 = call i32* @__errno_location() #25 + br i1 %cmp6, label %if.then7, label %if.else9 + +if.then7: ; preds = %if.else + store i32 21, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else9: ; preds = %if.else + store i32 1, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0)) + %call11 = call i32* @__errno_location() #25 + store i32 1, i32* %call11, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.else9, %if.then7, %if.then1 + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @readlink(i8* nonnull %path, i8* nonnull %buf, i64 %bufsize) #3 { +entry: + %retval = alloca i64, align 8 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end20 + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 40960 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %5 = load i8*, i8** %path.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 0 + %6 = load i8, i8* %arrayidx, align 1 + %7 = load i8*, i8** %buf.addr, align 8 + %arrayidx2 = getelementptr inbounds i8, i8* %7, i64 0 + store i8 %6, i8* %arrayidx2, align 1 + %8 = load i64, i64* %bufsize.addr, align 8 + %cmp3 = icmp ugt i64 %8, 1 + br i1 %cmp3, label %if.then4, label %if.end + +if.then4: ; preds = %if.then1 + %9 = load i8*, i8** %buf.addr, align 8 + %arrayidx5 = getelementptr inbounds i8, i8* %9, i64 1 + store i8 46, i8* %arrayidx5, align 1 + br label %if.end + +if.end: ; preds = %if.then4, %if.then1 + %10 = load i64, i64* %bufsize.addr, align 8 + %cmp6 = icmp ugt i64 %10, 2 + br i1 %cmp6, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end + %11 = load i8*, i8** %buf.addr, align 8 + %arrayidx8 = getelementptr inbounds i8, i8* %11, i64 2 + store i8 108, i8* %arrayidx8, align 1 + br label %if.end9 + +if.end9: ; preds = %if.then7, %if.end + %12 = load i64, i64* %bufsize.addr, align 8 + %cmp10 = icmp ugt i64 %12, 3 + br i1 %cmp10, label %if.then11, label %if.end13 + +if.then11: ; preds = %if.end9 + %13 = load i8*, i8** %buf.addr, align 8 + %arrayidx12 = getelementptr inbounds i8, i8* %13, i64 3 + store i8 110, i8* %arrayidx12, align 1 + br label %if.end13 + +if.end13: ; preds = %if.then11, %if.end9 + %14 = load i64, i64* %bufsize.addr, align 8 + %cmp14 = icmp ugt i64 %14, 4 + br i1 %cmp14, label %if.then15, label %if.end17 + +if.then15: ; preds = %if.end13 + %15 = load i8*, i8** %buf.addr, align 8 + %arrayidx16 = getelementptr inbounds i8, i8* %15, i64 4 + store i8 107, i8* %arrayidx16, align 1 + br label %if.end17 + +if.end17: ; preds = %if.then15, %if.end13 + %16 = load i64, i64* %bufsize.addr, align 8 + %cmp18 = icmp ugt i64 %16, 5 + %17 = load i64, i64* %bufsize.addr, align 8 + %cond = select i1 %cmp18, i64 5, i64 %17 + store i64 %cond, i64* %retval, align 8 + br label %return + +if.else: ; preds = %if.then + %call19 = call i32* @__errno_location() #25 + store i32 22, i32* %call19, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end20: ; preds = %entry + %18 = load i8*, i8** %path.addr, align 8 + %19 = load i8*, i8** %buf.addr, align 8 + %20 = load i64, i64* %bufsize.addr, align 8 + %call21 = call i64 (i64, ...) @syscall(i64 89, i8* %18, i8* %19, i64 %20) #11 + store i64 %call21, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end20, %if.else, %if.end17 + %21 = load i64, i64* %retval, align 8 + ret i64 %21 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @select(i32 %nfds, %struct.fd_set* %read, %struct.fd_set* %write, %struct.fd_set* %except, %struct.timespec* %timeout) #3 { +entry: + %retval = alloca i32, align 4 + %nfds.addr = alloca i32, align 4 + %read.addr = alloca %struct.fd_set*, align 8 + %write.addr = alloca %struct.fd_set*, align 8 + %except.addr = alloca %struct.fd_set*, align 8 + %timeout.addr = alloca %struct.timespec*, align 8 + %in_read = alloca %struct.fd_set, align 8 + %in_write = alloca %struct.fd_set, align 8 + %in_except = alloca %struct.fd_set, align 8 + %os_read = alloca %struct.fd_set, align 8 + %os_write = alloca %struct.fd_set, align 8 + %os_except = alloca %struct.fd_set, align 8 + %i = alloca i32, align 4 + %count = alloca i32, align 4 + %os_nfds = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %tv = alloca %struct.timespec, align 8 + %r = alloca i32, align 4 + %f182 = alloca %struct.exe_file_t*, align 8 + store i32 %nfds, i32* %nfds.addr, align 4 + store %struct.fd_set* %read, %struct.fd_set** %read.addr, align 8 + store %struct.fd_set* %write, %struct.fd_set** %write.addr, align 8 + store %struct.fd_set* %except, %struct.fd_set** %except.addr, align 8 + store %struct.timespec* %timeout, %struct.timespec** %timeout.addr, align 8 + store i32 0, i32* %count, align 4 + store i32 0, i32* %os_nfds, align 4 + %0 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %tobool = icmp ne %struct.fd_set* %0, null + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %entry + %1 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %2 = bitcast %struct.fd_set* %in_read to i8* + %3 = bitcast %struct.fd_set* %1 to i8* + %4 = call i8* @memcpy(i8* %2, i8* %3, i64 128) + %5 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %6 = bitcast %struct.fd_set* %5 to i8* + %7 = call i8* @memset(i8* %6, i32 0, i64 128) + br label %if.end + +if.else: ; preds = %entry + %8 = bitcast %struct.fd_set* %in_read to i8* + %9 = call i8* @memset(i8* %8, i32 0, i64 128) + br label %if.end + +if.end: ; preds = %if.else, %if.then + %10 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %tobool1 = icmp ne %struct.fd_set* %10, null + br i1 %tobool1, label %if.then2, label %if.else3 + +if.then2: ; preds = %if.end + %11 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %12 = bitcast %struct.fd_set* %in_write to i8* + %13 = bitcast %struct.fd_set* %11 to i8* + %14 = call i8* @memcpy(i8* %12, i8* %13, i64 128) + %15 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %16 = bitcast %struct.fd_set* %15 to i8* + %17 = call i8* @memset(i8* %16, i32 0, i64 128) + br label %if.end4 + +if.else3: ; preds = %if.end + %18 = bitcast %struct.fd_set* %in_write to i8* + %19 = call i8* @memset(i8* %18, i32 0, i64 128) + br label %if.end4 + +if.end4: ; preds = %if.else3, %if.then2 + %20 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %tobool5 = icmp ne %struct.fd_set* %20, null + br i1 %tobool5, label %if.then6, label %if.else7 + +if.then6: ; preds = %if.end4 + %21 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %22 = bitcast %struct.fd_set* %in_except to i8* + %23 = bitcast %struct.fd_set* %21 to i8* + %24 = call i8* @memcpy(i8* %22, i8* %23, i64 128) + %25 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %26 = bitcast %struct.fd_set* %25 to i8* + %27 = call i8* @memset(i8* %26, i32 0, i64 128) + br label %if.end8 + +if.else7: ; preds = %if.end4 + %28 = bitcast %struct.fd_set* %in_except to i8* + %29 = call i8* @memset(i8* %28, i32 0, i64 128) + br label %if.end8 + +if.end8: ; preds = %if.else7, %if.then6 + %30 = bitcast %struct.fd_set* %os_read to i8* + %31 = call i8* @memset(i8* %30, i32 0, i64 128) + %32 = bitcast %struct.fd_set* %os_write to i8* + %33 = call i8* @memset(i8* %32, i32 0, i64 128) + %34 = bitcast %struct.fd_set* %os_except to i8* + %35 = call i8* @memset(i8* %34, i32 0, i64 128) + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end8 + %36 = load i32, i32* %i, align 4 + %37 = load i32, i32* %nfds.addr, align 4 + %cmp = icmp slt i32 %36, %37 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %fds_bits = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_read, i32 0, i32 0 + %38 = load i32, i32* %i, align 4 + %div = sdiv i32 %38, 64 + %idxprom = sext i32 %div to i64 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits, i64 0, i64 %idxprom + %39 = load i64, i64* %arrayidx, align 8 + %40 = load i32, i32* %i, align 4 + %rem = srem i32 %40, 64 + %shl = shl i32 1, %rem + %conv = sext i32 %shl to i64 + %and = and i64 %39, %conv + %tobool9 = icmp ne i64 %and, 0 + br i1 %tobool9, label %if.then29, label %lor.lhs.false + +lor.lhs.false: ; preds = %for.body + %fds_bits10 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_write, i32 0, i32 0 + %41 = load i32, i32* %i, align 4 + %div11 = sdiv i32 %41, 64 + %idxprom12 = sext i32 %div11 to i64 + %arrayidx13 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits10, i64 0, i64 %idxprom12 + %42 = load i64, i64* %arrayidx13, align 8 + %43 = load i32, i32* %i, align 4 + %rem14 = srem i32 %43, 64 + %shl15 = shl i32 1, %rem14 + %conv16 = sext i32 %shl15 to i64 + %and17 = and i64 %42, %conv16 + %tobool18 = icmp ne i64 %and17, 0 + br i1 %tobool18, label %if.then29, label %lor.lhs.false19 + +lor.lhs.false19: ; preds = %lor.lhs.false + %fds_bits20 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_except, i32 0, i32 0 + %44 = load i32, i32* %i, align 4 + %div21 = sdiv i32 %44, 64 + %idxprom22 = sext i32 %div21 to i64 + %arrayidx23 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits20, i64 0, i64 %idxprom22 + %45 = load i64, i64* %arrayidx23, align 8 + %46 = load i32, i32* %i, align 4 + %rem24 = srem i32 %46, 64 + %shl25 = shl i32 1, %rem24 + %conv26 = sext i32 %shl25 to i64 + %and27 = and i64 %45, %conv26 + %tobool28 = icmp ne i64 %and27, 0 + br i1 %tobool28, label %if.then29, label %for.inc + +if.then29: ; preds = %lor.lhs.false19, %lor.lhs.false, %for.body + %47 = load i32, i32* %i, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %47) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %48 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool30 = icmp ne %struct.exe_file_t* %48, null + br i1 %tobool30, label %if.else33, label %if.then31 + +if.then31: ; preds = %if.then29 + %call32 = call i32* @__errno_location() #25 + store i32 9, i32* %call32, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else33: ; preds = %if.then29 + %49 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %49, i32 0, i32 3 + %50 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool34 = icmp ne %struct.exe_disk_file_t* %50, null + %fds_bits36 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_read, i32 0, i32 0 + %51 = load i32, i32* %i, align 4 + %div37 = sdiv i32 %51, 64 + %idxprom38 = sext i32 %div37 to i64 + %arrayidx39 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits36, i64 0, i64 %idxprom38 + %52 = load i64, i64* %arrayidx39, align 8 + %53 = load i32, i32* %i, align 4 + %rem40 = srem i32 %53, 64 + %shl41 = shl i32 1, %rem40 + %conv42 = sext i32 %shl41 to i64 + %and43 = and i64 %52, %conv42 + %tobool44 = icmp ne i64 %and43, 0 + br i1 %tobool34, label %if.then35, label %if.else92 + +if.then35: ; preds = %if.else33 + br i1 %tobool44, label %if.then45, label %if.end53 + +if.then45: ; preds = %if.then35 + %54 = load i32, i32* %i, align 4 + %rem46 = srem i32 %54, 64 + %shl47 = shl i32 1, %rem46 + %conv48 = sext i32 %shl47 to i64 + %55 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %fds_bits49 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %55, i32 0, i32 0 + %56 = load i32, i32* %i, align 4 + %div50 = sdiv i32 %56, 64 + %idxprom51 = sext i32 %div50 to i64 + %arrayidx52 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits49, i64 0, i64 %idxprom51 + %57 = load i64, i64* %arrayidx52, align 8 + %or = or i64 %57, %conv48 + store i64 %or, i64* %arrayidx52, align 8 + br label %if.end53 + +if.end53: ; preds = %if.then45, %if.then35 + %fds_bits54 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_write, i32 0, i32 0 + %58 = load i32, i32* %i, align 4 + %div55 = sdiv i32 %58, 64 + %idxprom56 = sext i32 %div55 to i64 + %arrayidx57 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits54, i64 0, i64 %idxprom56 + %59 = load i64, i64* %arrayidx57, align 8 + %60 = load i32, i32* %i, align 4 + %rem58 = srem i32 %60, 64 + %shl59 = shl i32 1, %rem58 + %conv60 = sext i32 %shl59 to i64 + %and61 = and i64 %59, %conv60 + %tobool62 = icmp ne i64 %and61, 0 + br i1 %tobool62, label %if.then63, label %if.end72 + +if.then63: ; preds = %if.end53 + %61 = load i32, i32* %i, align 4 + %rem64 = srem i32 %61, 64 + %shl65 = shl i32 1, %rem64 + %conv66 = sext i32 %shl65 to i64 + %62 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %fds_bits67 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %62, i32 0, i32 0 + %63 = load i32, i32* %i, align 4 + %div68 = sdiv i32 %63, 64 + %idxprom69 = sext i32 %div68 to i64 + %arrayidx70 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits67, i64 0, i64 %idxprom69 + %64 = load i64, i64* %arrayidx70, align 8 + %or71 = or i64 %64, %conv66 + store i64 %or71, i64* %arrayidx70, align 8 + br label %if.end72 + +if.end72: ; preds = %if.then63, %if.end53 + %fds_bits73 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_except, i32 0, i32 0 + %65 = load i32, i32* %i, align 4 + %div74 = sdiv i32 %65, 64 + %idxprom75 = sext i32 %div74 to i64 + %arrayidx76 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits73, i64 0, i64 %idxprom75 + %66 = load i64, i64* %arrayidx76, align 8 + %67 = load i32, i32* %i, align 4 + %rem77 = srem i32 %67, 64 + %shl78 = shl i32 1, %rem77 + %conv79 = sext i32 %shl78 to i64 + %and80 = and i64 %66, %conv79 + %tobool81 = icmp ne i64 %and80, 0 + br i1 %tobool81, label %if.then82, label %if.end91 + +if.then82: ; preds = %if.end72 + %68 = load i32, i32* %i, align 4 + %rem83 = srem i32 %68, 64 + %shl84 = shl i32 1, %rem83 + %conv85 = sext i32 %shl84 to i64 + %69 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %fds_bits86 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %69, i32 0, i32 0 + %70 = load i32, i32* %i, align 4 + %div87 = sdiv i32 %70, 64 + %idxprom88 = sext i32 %div87 to i64 + %arrayidx89 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits86, i64 0, i64 %idxprom88 + %71 = load i64, i64* %arrayidx89, align 8 + %or90 = or i64 %71, %conv85 + store i64 %or90, i64* %arrayidx89, align 8 + br label %if.end91 + +if.end91: ; preds = %if.then82, %if.end72 + %72 = load i32, i32* %count, align 4 + %inc = add nsw i32 %72, 1 + store i32 %inc, i32* %count, align 4 + br label %for.inc + +if.else92: ; preds = %if.else33 + br i1 %tobool44, label %if.then102, label %if.end112 + +if.then102: ; preds = %if.else92 + %73 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %73, i32 0, i32 0 + %74 = load i32, i32* %fd, align 8 + %rem103 = srem i32 %74, 64 + %shl104 = shl i32 1, %rem103 + %conv105 = sext i32 %shl104 to i64 + %fds_bits106 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_read, i32 0, i32 0 + %75 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd107 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %75, i32 0, i32 0 + %76 = load i32, i32* %fd107, align 8 + %div108 = sdiv i32 %76, 64 + %idxprom109 = sext i32 %div108 to i64 + %arrayidx110 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits106, i64 0, i64 %idxprom109 + %77 = load i64, i64* %arrayidx110, align 8 + %or111 = or i64 %77, %conv105 + store i64 %or111, i64* %arrayidx110, align 8 + br label %if.end112 + +if.end112: ; preds = %if.then102, %if.else92 + %fds_bits113 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_write, i32 0, i32 0 + %78 = load i32, i32* %i, align 4 + %div114 = sdiv i32 %78, 64 + %idxprom115 = sext i32 %div114 to i64 + %arrayidx116 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits113, i64 0, i64 %idxprom115 + %79 = load i64, i64* %arrayidx116, align 8 + %80 = load i32, i32* %i, align 4 + %rem117 = srem i32 %80, 64 + %shl118 = shl i32 1, %rem117 + %conv119 = sext i32 %shl118 to i64 + %and120 = and i64 %79, %conv119 + %tobool121 = icmp ne i64 %and120, 0 + br i1 %tobool121, label %if.then122, label %if.end133 + +if.then122: ; preds = %if.end112 + %81 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd123 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %81, i32 0, i32 0 + %82 = load i32, i32* %fd123, align 8 + %rem124 = srem i32 %82, 64 + %shl125 = shl i32 1, %rem124 + %conv126 = sext i32 %shl125 to i64 + %fds_bits127 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_write, i32 0, i32 0 + %83 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd128 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %83, i32 0, i32 0 + %84 = load i32, i32* %fd128, align 8 + %div129 = sdiv i32 %84, 64 + %idxprom130 = sext i32 %div129 to i64 + %arrayidx131 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits127, i64 0, i64 %idxprom130 + %85 = load i64, i64* %arrayidx131, align 8 + %or132 = or i64 %85, %conv126 + store i64 %or132, i64* %arrayidx131, align 8 + br label %if.end133 + +if.end133: ; preds = %if.then122, %if.end112 + %fds_bits134 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_except, i32 0, i32 0 + %86 = load i32, i32* %i, align 4 + %div135 = sdiv i32 %86, 64 + %idxprom136 = sext i32 %div135 to i64 + %arrayidx137 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits134, i64 0, i64 %idxprom136 + %87 = load i64, i64* %arrayidx137, align 8 + %88 = load i32, i32* %i, align 4 + %rem138 = srem i32 %88, 64 + %shl139 = shl i32 1, %rem138 + %conv140 = sext i32 %shl139 to i64 + %and141 = and i64 %87, %conv140 + %tobool142 = icmp ne i64 %and141, 0 + br i1 %tobool142, label %if.then143, label %if.end154 + +if.then143: ; preds = %if.end133 + %89 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd144 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %89, i32 0, i32 0 + %90 = load i32, i32* %fd144, align 8 + %rem145 = srem i32 %90, 64 + %shl146 = shl i32 1, %rem145 + %conv147 = sext i32 %shl146 to i64 + %fds_bits148 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_except, i32 0, i32 0 + %91 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd149 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %91, i32 0, i32 0 + %92 = load i32, i32* %fd149, align 8 + %div150 = sdiv i32 %92, 64 + %idxprom151 = sext i32 %div150 to i64 + %arrayidx152 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits148, i64 0, i64 %idxprom151 + %93 = load i64, i64* %arrayidx152, align 8 + %or153 = or i64 %93, %conv147 + store i64 %or153, i64* %arrayidx152, align 8 + br label %if.end154 + +if.end154: ; preds = %if.then143, %if.end133 + %94 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd155 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %94, i32 0, i32 0 + %95 = load i32, i32* %fd155, align 8 + %96 = load i32, i32* %os_nfds, align 4 + %cmp156 = icmp sge i32 %95, %96 + br i1 %cmp156, label %if.then158, label %for.inc + +if.then158: ; preds = %if.end154 + %97 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd159 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %97, i32 0, i32 0 + %98 = load i32, i32* %fd159, align 8 + %add = add nsw i32 %98, 1 + store i32 %add, i32* %os_nfds, align 4 + br label %for.inc + +for.inc: ; preds = %lor.lhs.false19, %if.end91, %if.then158, %if.end154 + %99 = load i32, i32* %i, align 4 + %inc164 = add nsw i32 %99, 1 + store i32 %inc164, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %100 = load i32, i32* %os_nfds, align 4 + %cmp165 = icmp sgt i32 %100, 0 + br i1 %cmp165, label %if.then167, label %if.end262 + +if.then167: ; preds = %for.end + %101 = bitcast %struct.timespec* %tv to i8* + %102 = call i8* @memset(i8* %101, i32 0, i64 16) + %103 = load i32, i32* %os_nfds, align 4 + %call168 = call i64 (i64, ...) @syscall(i64 23, i32 %103, %struct.fd_set* %os_read, %struct.fd_set* %os_write, %struct.fd_set* %os_except, %struct.timespec* %tv) #11 + %conv169 = trunc i64 %call168 to i32 + store i32 %conv169, i32* %r, align 4 + %104 = load i32, i32* %r, align 4 + %cmp170 = icmp eq i32 %104, -1 + br i1 %cmp170, label %if.then172, label %if.else176 + +if.then172: ; preds = %if.then167 + %105 = load i32, i32* %count, align 4 + %tobool173 = icmp ne i32 %105, 0 + br i1 %tobool173, label %if.end262, label %if.then174 + +if.then174: ; preds = %if.then172 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else176: ; preds = %if.then167 + %106 = load i32, i32* %r, align 4 + %107 = load i32, i32* %count, align 4 + %add177 = add nsw i32 %107, %106 + store i32 %add177, i32* %count, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond178 + +for.cond178: ; preds = %for.inc258, %if.else176 + %108 = load i32, i32* %i, align 4 + %109 = load i32, i32* %nfds.addr, align 4 + %cmp179 = icmp slt i32 %108, %109 + br i1 %cmp179, label %for.body181, label %if.end262 + +for.body181: ; preds = %for.cond178 + %110 = load i32, i32* %i, align 4 + %call183 = call %struct.exe_file_t* @__get_file(i32 %110) + store %struct.exe_file_t* %call183, %struct.exe_file_t** %f182, align 8 + %111 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %tobool184 = icmp ne %struct.exe_file_t* %111, null + br i1 %tobool184, label %land.lhs.true, label %for.inc258 + +land.lhs.true: ; preds = %for.body181 + %112 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %dfile185 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %112, i32 0, i32 3 + %113 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile185, align 8 + %tobool186 = icmp ne %struct.exe_disk_file_t* %113, null + br i1 %tobool186, label %for.inc258, label %if.then187 + +if.then187: ; preds = %land.lhs.true + %114 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %tobool188 = icmp ne %struct.fd_set* %114, null + br i1 %tobool188, label %land.lhs.true189, label %if.end210 + +land.lhs.true189: ; preds = %if.then187 + %fds_bits190 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_read, i32 0, i32 0 + %115 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd191 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %115, i32 0, i32 0 + %116 = load i32, i32* %fd191, align 8 + %div192 = sdiv i32 %116, 64 + %idxprom193 = sext i32 %div192 to i64 + %arrayidx194 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits190, i64 0, i64 %idxprom193 + %117 = load i64, i64* %arrayidx194, align 8 + %118 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd195 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %118, i32 0, i32 0 + %119 = load i32, i32* %fd195, align 8 + %rem196 = srem i32 %119, 64 + %shl197 = shl i32 1, %rem196 + %conv198 = sext i32 %shl197 to i64 + %and199 = and i64 %117, %conv198 + %tobool200 = icmp ne i64 %and199, 0 + br i1 %tobool200, label %if.then201, label %if.end210 + +if.then201: ; preds = %land.lhs.true189 + %120 = load i32, i32* %i, align 4 + %rem202 = srem i32 %120, 64 + %shl203 = shl i32 1, %rem202 + %conv204 = sext i32 %shl203 to i64 + %121 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %fds_bits205 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %121, i32 0, i32 0 + %122 = load i32, i32* %i, align 4 + %div206 = sdiv i32 %122, 64 + %idxprom207 = sext i32 %div206 to i64 + %arrayidx208 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits205, i64 0, i64 %idxprom207 + %123 = load i64, i64* %arrayidx208, align 8 + %or209 = or i64 %123, %conv204 + store i64 %or209, i64* %arrayidx208, align 8 + br label %if.end210 + +if.end210: ; preds = %if.then201, %land.lhs.true189, %if.then187 + %124 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %tobool211 = icmp ne %struct.fd_set* %124, null + br i1 %tobool211, label %land.lhs.true212, label %if.end233 + +land.lhs.true212: ; preds = %if.end210 + %fds_bits213 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_write, i32 0, i32 0 + %125 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd214 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %125, i32 0, i32 0 + %126 = load i32, i32* %fd214, align 8 + %div215 = sdiv i32 %126, 64 + %idxprom216 = sext i32 %div215 to i64 + %arrayidx217 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits213, i64 0, i64 %idxprom216 + %127 = load i64, i64* %arrayidx217, align 8 + %128 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd218 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %128, i32 0, i32 0 + %129 = load i32, i32* %fd218, align 8 + %rem219 = srem i32 %129, 64 + %shl220 = shl i32 1, %rem219 + %conv221 = sext i32 %shl220 to i64 + %and222 = and i64 %127, %conv221 + %tobool223 = icmp ne i64 %and222, 0 + br i1 %tobool223, label %if.then224, label %if.end233 + +if.then224: ; preds = %land.lhs.true212 + %130 = load i32, i32* %i, align 4 + %rem225 = srem i32 %130, 64 + %shl226 = shl i32 1, %rem225 + %conv227 = sext i32 %shl226 to i64 + %131 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %fds_bits228 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %131, i32 0, i32 0 + %132 = load i32, i32* %i, align 4 + %div229 = sdiv i32 %132, 64 + %idxprom230 = sext i32 %div229 to i64 + %arrayidx231 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits228, i64 0, i64 %idxprom230 + %133 = load i64, i64* %arrayidx231, align 8 + %or232 = or i64 %133, %conv227 + store i64 %or232, i64* %arrayidx231, align 8 + br label %if.end233 + +if.end233: ; preds = %if.then224, %land.lhs.true212, %if.end210 + %134 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %tobool234 = icmp ne %struct.fd_set* %134, null + br i1 %tobool234, label %land.lhs.true235, label %for.inc258 + +land.lhs.true235: ; preds = %if.end233 + %fds_bits236 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_except, i32 0, i32 0 + %135 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd237 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %135, i32 0, i32 0 + %136 = load i32, i32* %fd237, align 8 + %div238 = sdiv i32 %136, 64 + %idxprom239 = sext i32 %div238 to i64 + %arrayidx240 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits236, i64 0, i64 %idxprom239 + %137 = load i64, i64* %arrayidx240, align 8 + %138 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd241 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %138, i32 0, i32 0 + %139 = load i32, i32* %fd241, align 8 + %rem242 = srem i32 %139, 64 + %shl243 = shl i32 1, %rem242 + %conv244 = sext i32 %shl243 to i64 + %and245 = and i64 %137, %conv244 + %tobool246 = icmp ne i64 %and245, 0 + br i1 %tobool246, label %if.then247, label %for.inc258 + +if.then247: ; preds = %land.lhs.true235 + %140 = load i32, i32* %i, align 4 + %rem248 = srem i32 %140, 64 + %shl249 = shl i32 1, %rem248 + %conv250 = sext i32 %shl249 to i64 + %141 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %fds_bits251 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %141, i32 0, i32 0 + %142 = load i32, i32* %i, align 4 + %div252 = sdiv i32 %142, 64 + %idxprom253 = sext i32 %div252 to i64 + %arrayidx254 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits251, i64 0, i64 %idxprom253 + %143 = load i64, i64* %arrayidx254, align 8 + %or255 = or i64 %143, %conv250 + store i64 %or255, i64* %arrayidx254, align 8 + br label %for.inc258 + +for.inc258: ; preds = %for.body181, %land.lhs.true, %if.then247, %land.lhs.true235, %if.end233 + %144 = load i32, i32* %i, align 4 + %inc259 = add nsw i32 %144, 1 + store i32 %inc259, i32* %i, align 4 + br label %for.cond178 + +if.end262: ; preds = %if.then172, %for.cond178, %for.end + %145 = load i32, i32* %count, align 4 + store i32 %145, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end262, %if.then174, %if.then31 + %146 = load i32, i32* %retval, align 4 + ret i32 %146 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chroot(i8* nonnull %path) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %0, i64 0 + %1 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call = call i32* @__errno_location() #25 + store i32 2, i32* %call, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %path.addr, align 8 + %arrayidx2 = getelementptr inbounds i8, i8* %2, i64 0 + %3 = load i8, i8* %arrayidx2, align 1 + %conv3 = sext i8 %3 to i32 + %cmp4 = icmp eq i32 %conv3, 47 + br i1 %cmp4, label %land.lhs.true, label %if.end11 + +land.lhs.true: ; preds = %if.end + %4 = load i8*, i8** %path.addr, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %4, i64 1 + %5 = load i8, i8* %arrayidx6, align 1 + %conv7 = sext i8 %5 to i32 + %cmp8 = icmp eq i32 %conv7, 0 + br i1 %cmp8, label %if.then10, label %if.end11 + +if.then10: ; preds = %land.lhs.true + store i32 0, i32* %retval, align 4 + br label %return + +if.end11: ; preds = %land.lhs.true, %if.end + call void @gs_warning(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.24, i64 0, i64 0)) + %call12 = call i32* @__errno_location() #25 + store i32 2, i32* %call12, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end11, %if.then10, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @open(i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i8*, i8** %pathname.addr, align 8 + %8 = load i32, i32* %flags.addr, align 4 + %9 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_open(i8* %7, i32 %8, i32 %9) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @openat(i32 %fd, i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %fd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i32, i32* %fd.addr, align 4 + %8 = load i8*, i8** %pathname.addr, align 8 + %9 = load i32, i32* %flags.addr, align 4 + %10 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_openat(i32 %7, i8* %8, i32 %9, i32 %10) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @lseek(i32 %fd, i64 %off, i32 %whence) #3 { +entry: + %fd.addr = alloca i32, align 4 + %off.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %off, i64* %off.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %off.addr, align 8 + %2 = load i32, i32* %whence.addr, align 4 + %call = call i64 @__fd_lseek(i32 %0, i64 %1, i32 %2) + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__xstat(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__stat64_to_stat(%struct.stat64* %a, %struct.stat64* %b) #3 { +entry: + %a.addr = alloca %struct.stat64*, align 8 + %b.addr = alloca %struct.stat64*, align 8 + store %struct.stat64* %a, %struct.stat64** %a.addr, align 8 + store %struct.stat64* %b, %struct.stat64** %b.addr, align 8 + %0 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_dev = getelementptr inbounds %struct.stat64, %struct.stat64* %0, i32 0, i32 0 + %1 = load i64, i64* %st_dev, align 8 + %2 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_dev1 = getelementptr inbounds %struct.stat64, %struct.stat64* %2, i32 0, i32 0 + store i64 %1, i64* %st_dev1, align 8 + %3 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 1 + %4 = load i64, i64* %st_ino, align 8 + %5 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_ino2 = getelementptr inbounds %struct.stat64, %struct.stat64* %5, i32 0, i32 1 + store i64 %4, i64* %st_ino2, align 8 + %6 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 3 + %7 = load i32, i32* %st_mode, align 8 + %8 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_mode3 = getelementptr inbounds %struct.stat64, %struct.stat64* %8, i32 0, i32 3 + store i32 %7, i32* %st_mode3, align 8 + %9 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_nlink = getelementptr inbounds %struct.stat64, %struct.stat64* %9, i32 0, i32 2 + %10 = load i64, i64* %st_nlink, align 8 + %11 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_nlink4 = getelementptr inbounds %struct.stat64, %struct.stat64* %11, i32 0, i32 2 + store i64 %10, i64* %st_nlink4, align 8 + %12 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_uid = getelementptr inbounds %struct.stat64, %struct.stat64* %12, i32 0, i32 4 + %13 = load i32, i32* %st_uid, align 4 + %14 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_uid5 = getelementptr inbounds %struct.stat64, %struct.stat64* %14, i32 0, i32 4 + store i32 %13, i32* %st_uid5, align 4 + %15 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_gid = getelementptr inbounds %struct.stat64, %struct.stat64* %15, i32 0, i32 5 + %16 = load i32, i32* %st_gid, align 8 + %17 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_gid6 = getelementptr inbounds %struct.stat64, %struct.stat64* %17, i32 0, i32 5 + store i32 %16, i32* %st_gid6, align 8 + %18 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_rdev = getelementptr inbounds %struct.stat64, %struct.stat64* %18, i32 0, i32 7 + %19 = load i64, i64* %st_rdev, align 8 + %20 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_rdev7 = getelementptr inbounds %struct.stat64, %struct.stat64* %20, i32 0, i32 7 + store i64 %19, i64* %st_rdev7, align 8 + %21 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_size = getelementptr inbounds %struct.stat64, %struct.stat64* %21, i32 0, i32 8 + %22 = load i64, i64* %st_size, align 8 + %23 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_size8 = getelementptr inbounds %struct.stat64, %struct.stat64* %23, i32 0, i32 8 + store i64 %22, i64* %st_size8, align 8 + %24 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_atim = getelementptr inbounds %struct.stat64, %struct.stat64* %24, i32 0, i32 11 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim, i32 0, i32 0 + %25 = load i64, i64* %tv_sec, align 8 + %26 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_atim9 = getelementptr inbounds %struct.stat64, %struct.stat64* %26, i32 0, i32 11 + %tv_sec10 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim9, i32 0, i32 0 + store i64 %25, i64* %tv_sec10, align 8 + %27 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_mtim = getelementptr inbounds %struct.stat64, %struct.stat64* %27, i32 0, i32 12 + %tv_sec11 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim, i32 0, i32 0 + %28 = load i64, i64* %tv_sec11, align 8 + %29 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_mtim12 = getelementptr inbounds %struct.stat64, %struct.stat64* %29, i32 0, i32 12 + %tv_sec13 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim12, i32 0, i32 0 + store i64 %28, i64* %tv_sec13, align 8 + %30 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_ctim = getelementptr inbounds %struct.stat64, %struct.stat64* %30, i32 0, i32 13 + %tv_sec14 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim, i32 0, i32 0 + %31 = load i64, i64* %tv_sec14, align 8 + %32 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_ctim15 = getelementptr inbounds %struct.stat64, %struct.stat64* %32, i32 0, i32 13 + %tv_sec16 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim15, i32 0, i32 0 + store i64 %31, i64* %tv_sec16, align 8 + %33 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_blksize = getelementptr inbounds %struct.stat64, %struct.stat64* %33, i32 0, i32 9 + %34 = load i64, i64* %st_blksize, align 8 + %35 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_blksize17 = getelementptr inbounds %struct.stat64, %struct.stat64* %35, i32 0, i32 9 + store i64 %34, i64* %st_blksize17, align 8 + %36 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_blocks = getelementptr inbounds %struct.stat64, %struct.stat64* %36, i32 0, i32 10 + %37 = load i64, i64* %st_blocks, align 8 + %38 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_blocks18 = getelementptr inbounds %struct.stat64, %struct.stat64* %38, i32 0, i32 10 + store i64 %37, i64* %st_blocks18, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @stat(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__lxstat(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @lstat(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fxstat(i32 %vers, i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %vers, i32* %vers.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstat(i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @ftruncate(i32 %fd, i64 %length) #3 { +entry: + %fd.addr = alloca i32, align 4 + %length.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %length, i64* %length.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %length.addr, align 8 + %call = call i32 @__fd_ftruncate(i32 %0, i64 %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @statfs(i8* nonnull %path, %struct.statfs* nonnull %buf32) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf32.addr = alloca %struct.statfs*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.statfs* %buf32, %struct.statfs** %buf32.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.statfs*, %struct.statfs** %buf32.addr, align 8 + %call = call i32 @__fd_statfs(i8* %0, %struct.statfs* %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @getdents(i32 %fd, %struct.dirent64* %dirp, i64 %nbytes) #3 { +entry: + %fd.addr = alloca i32, align 4 + %dirp.addr = alloca %struct.dirent64*, align 8 + %nbytes.addr = alloca i64, align 8 + %dp64 = alloca %struct.dirent64*, align 8 + %res = alloca i64, align 8 + %end = alloca %struct.dirent64*, align 8 + %dp = alloca %struct.dirent64*, align 8 + %name_len = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.dirent64* %dirp, %struct.dirent64** %dirp.addr, align 8 + store i64 %nbytes, i64* %nbytes.addr, align 8 + %0 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %1 = bitcast %struct.dirent64* %0 to %struct.dirent64* + store %struct.dirent64* %1, %struct.dirent64** %dp64, align 8 + %2 = load i32, i32* %fd.addr, align 4 + %3 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %4 = load i64, i64* %nbytes.addr, align 8 + %conv = trunc i64 %4 to i32 + %call = call i32 @__fd_getdents(i32 %2, %struct.dirent64* %3, i32 %conv) + %conv1 = sext i32 %call to i64 + store i64 %conv1, i64* %res, align 8 + %5 = load i64, i64* %res, align 8 + %cmp = icmp sgt i64 %5, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %6 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %7 = bitcast %struct.dirent64* %6 to i8* + %8 = load i64, i64* %res, align 8 + %add.ptr = getelementptr inbounds i8, i8* %7, i64 %8 + %9 = bitcast i8* %add.ptr to %struct.dirent64* + store %struct.dirent64* %9, %struct.dirent64** %end, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.then + %10 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %11 = load %struct.dirent64*, %struct.dirent64** %end, align 8 + %cmp3 = icmp ult %struct.dirent64* %10, %11 + br i1 %cmp3, label %while.body, label %if.end + +while.body: ; preds = %while.cond + %12 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %13 = bitcast %struct.dirent64* %12 to %struct.dirent64* + store %struct.dirent64* %13, %struct.dirent64** %dp, align 8 + %14 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_reclen = getelementptr inbounds %struct.dirent64, %struct.dirent64* %14, i32 0, i32 2 + %15 = load i16, i16* %d_reclen, align 8 + %conv5 = zext i16 %15 to i64 + %sub = sub i64 %conv5, ptrtoint ([256 x i8]* getelementptr inbounds (%struct.dirent64, %struct.dirent64* null, i32 0, i32 4) to i64) + store i64 %sub, i64* %name_len, align 8 + %16 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_ino = getelementptr inbounds %struct.dirent64, %struct.dirent64* %16, i32 0, i32 0 + %17 = load i64, i64* %d_ino, align 8 + %18 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_ino6 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %18, i32 0, i32 0 + store i64 %17, i64* %d_ino6, align 8 + %19 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_off = getelementptr inbounds %struct.dirent64, %struct.dirent64* %19, i32 0, i32 1 + %20 = load i64, i64* %d_off, align 8 + %21 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_off7 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %21, i32 0, i32 1 + store i64 %20, i64* %d_off7, align 8 + %22 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_reclen8 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %22, i32 0, i32 2 + %23 = load i16, i16* %d_reclen8, align 8 + %24 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_reclen9 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %24, i32 0, i32 2 + store i16 %23, i16* %d_reclen9, align 8 + %25 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_type = getelementptr inbounds %struct.dirent64, %struct.dirent64* %25, i32 0, i32 3 + %26 = load i8, i8* %d_type, align 2 + %27 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_type10 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %27, i32 0, i32 3 + store i8 %26, i8* %d_type10, align 2 + %28 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_name = getelementptr inbounds %struct.dirent64, %struct.dirent64* %28, i32 0, i32 4 + %arraydecay = getelementptr inbounds [256 x i8], [256 x i8]* %d_name, i64 0, i64 0 + %29 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_name11 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %29, i32 0, i32 4 + %arraydecay12 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name11, i64 0, i64 0 + %30 = load i64, i64* %name_len, align 8 + %31 = call i8* @memmove(i8* %arraydecay, i8* %arraydecay12, i64 %30) + %32 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %33 = bitcast %struct.dirent64* %32 to i8* + %34 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_reclen13 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %34, i32 0, i32 2 + %35 = load i16, i16* %d_reclen13, align 8 + %conv14 = zext i16 %35 to i32 + %idx.ext = sext i32 %conv14 to i64 + %add.ptr15 = getelementptr inbounds i8, i8* %33, i64 %idx.ext + %36 = bitcast i8* %add.ptr15 to %struct.dirent64* + store %struct.dirent64* %36, %struct.dirent64** %dp64, align 8 + br label %while.cond + +if.end: ; preds = %while.cond, %entry + %37 = load i64, i64* %res, align 8 + ret i64 %37 +} + +; Function Attrs: argmemonly nounwind willreturn +declare void @llvm.memmove.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i1 immarg) #9 + +; Function Attrs: noinline nounwind uwtable +define dso_local void @klee_init_env(i32* %argcPtr, i8*** %argvPtr) #3 { +entry: + %argcPtr.addr = alloca i32*, align 8 + %argvPtr.addr = alloca i8***, align 8 + %argc = alloca i32, align 4 + %argv = alloca i8**, align 8 + %new_argc = alloca i32, align 4 + %n_args = alloca i32, align 4 + %new_argv = alloca [1024 x i8*], align 16 + %max_len = alloca i32, align 4 + %min_argvs = alloca i32, align 4 + %max_argvs = alloca i32, align 4 + %sym_files = alloca i32, align 4 + %sym_file_len = alloca i32, align 4 + %sym_stdin_len = alloca i32, align 4 + %sym_stdout_flag = alloca i32, align 4 + %save_all_writes_flag = alloca i32, align 4 + %fd_fail = alloca i32, align 4 + %final_argv = alloca i8**, align 8 + %sym_arg_name = alloca [6 x i8], align 1 + %sym_arg_num = alloca i32, align 4 + %k = alloca i32, align 4 + %i = alloca i32, align 4 + %msg = alloca i8*, align 8 + %msg40 = alloca i8*, align 8 + %msg105 = alloca i8*, align 8 + %msg145 = alloca i8*, align 8 + %msg215 = alloca i8*, align 8 + store i32* %argcPtr, i32** %argcPtr.addr, align 8 + store i8*** %argvPtr, i8**** %argvPtr.addr, align 8 + %0 = load i32*, i32** %argcPtr.addr, align 8 + %1 = load i32, i32* %0, align 4 + store i32 %1, i32* %argc, align 4 + %2 = load i8***, i8**** %argvPtr.addr, align 8 + %3 = load i8**, i8*** %2, align 8 + store i8** %3, i8*** %argv, align 8 + store i32 0, i32* %new_argc, align 4 + store i32 0, i32* %sym_files, align 4 + store i32 0, i32* %sym_file_len, align 4 + store i32 0, i32* %sym_stdin_len, align 4 + store i32 0, i32* %sym_stdout_flag, align 4 + store i32 0, i32* %save_all_writes_flag, align 4 + store i32 0, i32* %fd_fail, align 4 + %4 = bitcast [6 x i8]* %sym_arg_name to i8* + %5 = call i8* @memcpy(i8* %4, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @__const.klee_init_env.sym_arg_name, i32 0, i32 0), i64 6) + store i32 0, i32* %sym_arg_num, align 4 + store i32 0, i32* %k, align 4 + %arrayidx = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 5 + store i8 0, i8* %arrayidx, align 1 + %6 = load i32, i32* %argc, align 4 + %cmp = icmp eq i32 %6, 2 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %7 = load i8**, i8*** %argv, align 8 + %arrayidx1 = getelementptr inbounds i8*, i8** %7, i64 1 + %8 = load i8*, i8** %arrayidx1, align 8 + %call = call i32 @__streq(i8* %8, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.29, i64 0, i64 0)) + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + call void @__emit_error(i8* getelementptr inbounds ([964 x i8], [964 x i8]* @.str.1.30, i64 0, i64 0)) + br label %if.end + +if.end: ; preds = %if.then, %land.lhs.true, %entry + br label %while.cond + +while.cond: ; preds = %if.end239, %if.end + %9 = load i32, i32* %k, align 4 + %10 = load i32, i32* %argc, align 4 + %cmp2 = icmp slt i32 %9, %10 + br i1 %cmp2, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %11 = load i8**, i8*** %argv, align 8 + %12 = load i32, i32* %k, align 4 + %idxprom = sext i32 %12 to i64 + %arrayidx3 = getelementptr inbounds i8*, i8** %11, i64 %idxprom + %13 = load i8*, i8** %arrayidx3, align 8 + %call4 = call i32 @__streq(i8* %13, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.2.31, i64 0, i64 0)) + %tobool5 = icmp ne i32 %call4, 0 + br i1 %tobool5, label %if.then10, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.body + %14 = load i8**, i8*** %argv, align 8 + %15 = load i32, i32* %k, align 4 + %idxprom6 = sext i32 %15 to i64 + %arrayidx7 = getelementptr inbounds i8*, i8** %14, i64 %idxprom6 + %16 = load i8*, i8** %arrayidx7, align 8 + %call8 = call i32 @__streq(i8* %16, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.32, i64 0, i64 0)) + %tobool9 = icmp ne i32 %call8, 0 + br i1 %tobool9, label %if.then10, label %if.else + +if.then10: ; preds = %lor.lhs.false, %while.body + store i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.4.33, i64 0, i64 0), i8** %msg, align 8 + %17 = load i32, i32* %k, align 4 + %inc = add nsw i32 %17, 1 + store i32 %inc, i32* %k, align 4 + %18 = load i32, i32* %argc, align 4 + %cmp11 = icmp eq i32 %inc, %18 + br i1 %cmp11, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.then10 + %19 = load i8*, i8** %msg, align 8 + call void @__emit_error(i8* %19) + br label %if.end13 + +if.end13: ; preds = %if.then12, %if.then10 + %20 = load i8**, i8*** %argv, align 8 + %21 = load i32, i32* %k, align 4 + %inc14 = add nsw i32 %21, 1 + store i32 %inc14, i32* %k, align 4 + %idxprom15 = sext i32 %21 to i64 + %arrayidx16 = getelementptr inbounds i8*, i8** %20, i64 %idxprom15 + %22 = load i8*, i8** %arrayidx16, align 8 + %23 = load i8*, i8** %msg, align 8 + %call17 = call i64 @__str_to_int(i8* %22, i8* %23) + %conv = trunc i64 %call17 to i32 + store i32 %conv, i32* %max_len, align 4 + %24 = load i32, i32* %sym_arg_num, align 4 + %cmp18 = icmp ugt i32 %24, 99 + br i1 %cmp18, label %if.then20, label %if.end21 + +if.then20: ; preds = %if.end13 + call void @__emit_error(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.5.34, i64 0, i64 0)) + br label %if.end21 + +if.end21: ; preds = %if.then20, %if.end13 + %25 = load i32, i32* %sym_arg_num, align 4 + %div = udiv i32 %25, 10 + %add = add i32 48, %div + %conv22 = trunc i32 %add to i8 + %arrayidx23 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 3 + store i8 %conv22, i8* %arrayidx23, align 1 + %26 = load i32, i32* %sym_arg_num, align 4 + %rem = urem i32 %26, 10 + %add24 = add i32 48, %rem + %conv25 = trunc i32 %add24 to i8 + %arrayidx26 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 4 + store i8 %conv25, i8* %arrayidx26, align 1 + %27 = load i32, i32* %sym_arg_num, align 4 + %inc27 = add i32 %27, 1 + store i32 %inc27, i32* %sym_arg_num, align 4 + %arraydecay = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %28 = load i32, i32* %max_len, align 4 + %arraydecay28 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 0 + %call29 = call i8* @__get_sym_str(i32 %28, i8* %arraydecay28) + call void @__add_arg(i32* %new_argc, i8** %arraydecay, i8* %call29, i32 1024) + br label %if.end239 + +if.else: ; preds = %lor.lhs.false + %29 = load i8**, i8*** %argv, align 8 + %30 = load i32, i32* %k, align 4 + %idxprom30 = sext i32 %30 to i64 + %arrayidx31 = getelementptr inbounds i8*, i8** %29, i64 %idxprom30 + %31 = load i8*, i8** %arrayidx31, align 8 + %call32 = call i32 @__streq(i8* %31, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.6.35, i64 0, i64 0)) + %tobool33 = icmp ne i32 %call32, 0 + br i1 %tobool33, label %if.then39, label %lor.lhs.false34 + +lor.lhs.false34: ; preds = %if.else + %32 = load i8**, i8*** %argv, align 8 + %33 = load i32, i32* %k, align 4 + %idxprom35 = sext i32 %33 to i64 + %arrayidx36 = getelementptr inbounds i8*, i8** %32, i64 %idxprom35 + %34 = load i8*, i8** %arrayidx36, align 8 + %call37 = call i32 @__streq(i8* %34, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.7.36, i64 0, i64 0)) + %tobool38 = icmp ne i32 %call37, 0 + br i1 %tobool38, label %if.then39, label %if.else94 + +if.then39: ; preds = %lor.lhs.false34, %if.else + store i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.8.37, i64 0, i64 0), i8** %msg40, align 8 + %35 = load i32, i32* %k, align 4 + %add41 = add nsw i32 %35, 3 + %36 = load i32, i32* %argc, align 4 + %cmp42 = icmp sge i32 %add41, %36 + br i1 %cmp42, label %if.then44, label %if.end45 + +if.then44: ; preds = %if.then39 + %37 = load i8*, i8** %msg40, align 8 + call void @__emit_error(i8* %37) + br label %if.end45 + +if.end45: ; preds = %if.then44, %if.then39 + %38 = load i32, i32* %k, align 4 + %inc46 = add nsw i32 %38, 1 + store i32 %inc46, i32* %k, align 4 + %39 = load i8**, i8*** %argv, align 8 + %40 = load i32, i32* %k, align 4 + %inc47 = add nsw i32 %40, 1 + store i32 %inc47, i32* %k, align 4 + %idxprom48 = sext i32 %40 to i64 + %arrayidx49 = getelementptr inbounds i8*, i8** %39, i64 %idxprom48 + %41 = load i8*, i8** %arrayidx49, align 8 + %42 = load i8*, i8** %msg40, align 8 + %call50 = call i64 @__str_to_int(i8* %41, i8* %42) + %conv51 = trunc i64 %call50 to i32 + store i32 %conv51, i32* %min_argvs, align 4 + %43 = load i8**, i8*** %argv, align 8 + %44 = load i32, i32* %k, align 4 + %inc52 = add nsw i32 %44, 1 + store i32 %inc52, i32* %k, align 4 + %idxprom53 = sext i32 %44 to i64 + %arrayidx54 = getelementptr inbounds i8*, i8** %43, i64 %idxprom53 + %45 = load i8*, i8** %arrayidx54, align 8 + %46 = load i8*, i8** %msg40, align 8 + %call55 = call i64 @__str_to_int(i8* %45, i8* %46) + %conv56 = trunc i64 %call55 to i32 + store i32 %conv56, i32* %max_argvs, align 4 + %47 = load i8**, i8*** %argv, align 8 + %48 = load i32, i32* %k, align 4 + %inc57 = add nsw i32 %48, 1 + store i32 %inc57, i32* %k, align 4 + %idxprom58 = sext i32 %48 to i64 + %arrayidx59 = getelementptr inbounds i8*, i8** %47, i64 %idxprom58 + %49 = load i8*, i8** %arrayidx59, align 8 + %50 = load i8*, i8** %msg40, align 8 + %call60 = call i64 @__str_to_int(i8* %49, i8* %50) + %conv61 = trunc i64 %call60 to i32 + store i32 %conv61, i32* %max_len, align 4 + %51 = load i32, i32* %min_argvs, align 4 + %52 = load i32, i32* %max_argvs, align 4 + %cmp62 = icmp ugt i32 %51, %52 + br i1 %cmp62, label %if.then70, label %lor.lhs.false64 + +lor.lhs.false64: ; preds = %if.end45 + %53 = load i32, i32* %min_argvs, align 4 + %cmp65 = icmp eq i32 %53, 0 + %54 = load i32, i32* %max_argvs, align 4 + %cmp68 = icmp eq i32 %54, 0 + %or.cond = and i1 %cmp65, %cmp68 + br i1 %or.cond, label %if.then70, label %if.end71 + +if.then70: ; preds = %lor.lhs.false64, %if.end45 + call void @__emit_error(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.9.38, i64 0, i64 0)) + br label %if.end71 + +if.end71: ; preds = %if.then70, %lor.lhs.false64 + %55 = load i32, i32* %min_argvs, align 4 + %56 = load i32, i32* %max_argvs, align 4 + %add72 = add i32 %56, 1 + %call73 = call i32 @gs_range(i32 %55, i32 %add72, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.10.39, i64 0, i64 0)) + store i32 %call73, i32* %n_args, align 4 + %57 = load i32, i32* %sym_arg_num, align 4 + %58 = load i32, i32* %max_argvs, align 4 + %add74 = add i32 %57, %58 + %cmp75 = icmp ugt i32 %add74, 99 + br i1 %cmp75, label %if.then77, label %if.end78 + +if.then77: ; preds = %if.end71 + call void @__emit_error(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.5.34, i64 0, i64 0)) + br label %if.end78 + +if.end78: ; preds = %if.then77, %if.end71 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end78 + %59 = load i32, i32* %i, align 4 + %60 = load i32, i32* %n_args, align 4 + %cmp79 = icmp slt i32 %59, %60 + br i1 %cmp79, label %for.body, label %if.end239 + +for.body: ; preds = %for.cond + %61 = load i32, i32* %sym_arg_num, align 4 + %div81 = udiv i32 %61, 10 + %add82 = add i32 48, %div81 + %conv83 = trunc i32 %add82 to i8 + %arrayidx84 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 3 + store i8 %conv83, i8* %arrayidx84, align 1 + %62 = load i32, i32* %sym_arg_num, align 4 + %rem85 = urem i32 %62, 10 + %add86 = add i32 48, %rem85 + %conv87 = trunc i32 %add86 to i8 + %arrayidx88 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 4 + store i8 %conv87, i8* %arrayidx88, align 1 + %63 = load i32, i32* %sym_arg_num, align 4 + %inc89 = add i32 %63, 1 + store i32 %inc89, i32* %sym_arg_num, align 4 + %arraydecay90 = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %64 = load i32, i32* %max_len, align 4 + %arraydecay91 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 0 + %call92 = call i8* @__get_sym_str(i32 %64, i8* %arraydecay91) + call void @__add_arg(i32* %new_argc, i8** %arraydecay90, i8* %call92, i32 1024) + %65 = load i32, i32* %i, align 4 + %inc93 = add nsw i32 %65, 1 + store i32 %inc93, i32* %i, align 4 + br label %for.cond + +if.else94: ; preds = %lor.lhs.false34 + %66 = load i8**, i8*** %argv, align 8 + %67 = load i32, i32* %k, align 4 + %idxprom95 = sext i32 %67 to i64 + %arrayidx96 = getelementptr inbounds i8*, i8** %66, i64 %idxprom95 + %68 = load i8*, i8** %arrayidx96, align 8 + %call97 = call i32 @__streq(i8* %68, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.11.40, i64 0, i64 0)) + %tobool98 = icmp ne i32 %call97, 0 + br i1 %tobool98, label %if.then104, label %lor.lhs.false99 + +lor.lhs.false99: ; preds = %if.else94 + %69 = load i8**, i8*** %argv, align 8 + %70 = load i32, i32* %k, align 4 + %idxprom100 = sext i32 %70 to i64 + %arrayidx101 = getelementptr inbounds i8*, i8** %69, i64 %idxprom100 + %71 = load i8*, i8** %arrayidx101, align 8 + %call102 = call i32 @__streq(i8* %71, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.12.41, i64 0, i64 0)) + %tobool103 = icmp ne i32 %call102, 0 + br i1 %tobool103, label %if.then104, label %if.else134 + +if.then104: ; preds = %lor.lhs.false99, %if.else94 + store i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.13.42, i64 0, i64 0), i8** %msg105, align 8 + %72 = load i32, i32* %k, align 4 + %add106 = add nsw i32 %72, 2 + %73 = load i32, i32* %argc, align 4 + %cmp107 = icmp sge i32 %add106, %73 + br i1 %cmp107, label %if.then109, label %if.end110 + +if.then109: ; preds = %if.then104 + %74 = load i8*, i8** %msg105, align 8 + call void @__emit_error(i8* %74) + br label %if.end110 + +if.end110: ; preds = %if.then109, %if.then104 + %75 = load i32, i32* %sym_files, align 4 + %cmp111 = icmp ne i32 %75, 0 + br i1 %cmp111, label %if.then113, label %if.end114 + +if.then113: ; preds = %if.end110 + call void @__emit_error(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.14.43, i64 0, i64 0)) + br label %if.end114 + +if.end114: ; preds = %if.then113, %if.end110 + %76 = load i32, i32* %k, align 4 + %inc115 = add nsw i32 %76, 1 + store i32 %inc115, i32* %k, align 4 + %77 = load i8**, i8*** %argv, align 8 + %78 = load i32, i32* %k, align 4 + %inc116 = add nsw i32 %78, 1 + store i32 %inc116, i32* %k, align 4 + %idxprom117 = sext i32 %78 to i64 + %arrayidx118 = getelementptr inbounds i8*, i8** %77, i64 %idxprom117 + %79 = load i8*, i8** %arrayidx118, align 8 + %80 = load i8*, i8** %msg105, align 8 + %call119 = call i64 @__str_to_int(i8* %79, i8* %80) + %conv120 = trunc i64 %call119 to i32 + store i32 %conv120, i32* %sym_files, align 4 + %81 = load i8**, i8*** %argv, align 8 + %82 = load i32, i32* %k, align 4 + %inc121 = add nsw i32 %82, 1 + store i32 %inc121, i32* %k, align 4 + %idxprom122 = sext i32 %82 to i64 + %arrayidx123 = getelementptr inbounds i8*, i8** %81, i64 %idxprom122 + %83 = load i8*, i8** %arrayidx123, align 8 + %84 = load i8*, i8** %msg105, align 8 + %call124 = call i64 @__str_to_int(i8* %83, i8* %84) + %conv125 = trunc i64 %call124 to i32 + store i32 %conv125, i32* %sym_file_len, align 4 + %85 = load i32, i32* %sym_files, align 4 + %cmp126 = icmp eq i32 %85, 0 + br i1 %cmp126, label %if.then128, label %if.end129 + +if.then128: ; preds = %if.end114 + call void @__emit_error(i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.15.44, i64 0, i64 0)) + br label %if.end129 + +if.end129: ; preds = %if.then128, %if.end114 + %86 = load i32, i32* %sym_file_len, align 4 + %cmp130 = icmp eq i32 %86, 0 + br i1 %cmp130, label %if.then132, label %if.end239 + +if.then132: ; preds = %if.end129 + call void @__emit_error(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.16.45, i64 0, i64 0)) + br label %if.end239 + +if.else134: ; preds = %lor.lhs.false99 + %87 = load i8**, i8*** %argv, align 8 + %88 = load i32, i32* %k, align 4 + %idxprom135 = sext i32 %88 to i64 + %arrayidx136 = getelementptr inbounds i8*, i8** %87, i64 %idxprom135 + %89 = load i8*, i8** %arrayidx136, align 8 + %call137 = call i32 @__streq(i8* %89, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.17.46, i64 0, i64 0)) + %tobool138 = icmp ne i32 %call137, 0 + br i1 %tobool138, label %if.then144, label %lor.lhs.false139 + +lor.lhs.false139: ; preds = %if.else134 + %90 = load i8**, i8*** %argv, align 8 + %91 = load i32, i32* %k, align 4 + %idxprom140 = sext i32 %91 to i64 + %arrayidx141 = getelementptr inbounds i8*, i8** %90, i64 %idxprom140 + %92 = load i8*, i8** %arrayidx141, align 8 + %call142 = call i32 @__streq(i8* %92, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.18.47, i64 0, i64 0)) + %tobool143 = icmp ne i32 %call142, 0 + br i1 %tobool143, label %if.then144, label %if.else156 + +if.then144: ; preds = %lor.lhs.false139, %if.else134 + store i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.19.48, i64 0, i64 0), i8** %msg145, align 8 + %93 = load i32, i32* %k, align 4 + %inc146 = add nsw i32 %93, 1 + store i32 %inc146, i32* %k, align 4 + %94 = load i32, i32* %argc, align 4 + %cmp147 = icmp eq i32 %inc146, %94 + br i1 %cmp147, label %if.then149, label %if.end150 + +if.then149: ; preds = %if.then144 + %95 = load i8*, i8** %msg145, align 8 + call void @__emit_error(i8* %95) + br label %if.end150 + +if.end150: ; preds = %if.then149, %if.then144 + %96 = load i8**, i8*** %argv, align 8 + %97 = load i32, i32* %k, align 4 + %inc151 = add nsw i32 %97, 1 + store i32 %inc151, i32* %k, align 4 + %idxprom152 = sext i32 %97 to i64 + %arrayidx153 = getelementptr inbounds i8*, i8** %96, i64 %idxprom152 + %98 = load i8*, i8** %arrayidx153, align 8 + %99 = load i8*, i8** %msg145, align 8 + %call154 = call i64 @__str_to_int(i8* %98, i8* %99) + %conv155 = trunc i64 %call154 to i32 + store i32 %conv155, i32* %sym_stdin_len, align 4 + br label %if.end239 + +if.else156: ; preds = %lor.lhs.false139 + %100 = load i8**, i8*** %argv, align 8 + %101 = load i32, i32* %k, align 4 + %idxprom157 = sext i32 %101 to i64 + %arrayidx158 = getelementptr inbounds i8*, i8** %100, i64 %idxprom157 + %102 = load i8*, i8** %arrayidx158, align 8 + %call159 = call i32 @__streq(i8* %102, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.20.49, i64 0, i64 0)) + %tobool160 = icmp ne i32 %call159, 0 + br i1 %tobool160, label %if.then166, label %lor.lhs.false161 + +lor.lhs.false161: ; preds = %if.else156 + %103 = load i8**, i8*** %argv, align 8 + %104 = load i32, i32* %k, align 4 + %idxprom162 = sext i32 %104 to i64 + %arrayidx163 = getelementptr inbounds i8*, i8** %103, i64 %idxprom162 + %105 = load i8*, i8** %arrayidx163, align 8 + %call164 = call i32 @__streq(i8* %105, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.21.50, i64 0, i64 0)) + %tobool165 = icmp ne i32 %call164, 0 + br i1 %tobool165, label %if.then166, label %if.else168 + +if.then166: ; preds = %lor.lhs.false161, %if.else156 + store i32 1, i32* %sym_stdout_flag, align 4 + %106 = load i32, i32* %k, align 4 + %inc167 = add nsw i32 %106, 1 + store i32 %inc167, i32* %k, align 4 + br label %if.end239 + +if.else168: ; preds = %lor.lhs.false161 + %107 = load i8**, i8*** %argv, align 8 + %108 = load i32, i32* %k, align 4 + %idxprom169 = sext i32 %108 to i64 + %arrayidx170 = getelementptr inbounds i8*, i8** %107, i64 %idxprom169 + %109 = load i8*, i8** %arrayidx170, align 8 + %call171 = call i32 @__streq(i8* %109, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.22.51, i64 0, i64 0)) + %tobool172 = icmp ne i32 %call171, 0 + br i1 %tobool172, label %if.then178, label %lor.lhs.false173 + +lor.lhs.false173: ; preds = %if.else168 + %110 = load i8**, i8*** %argv, align 8 + %111 = load i32, i32* %k, align 4 + %idxprom174 = sext i32 %111 to i64 + %arrayidx175 = getelementptr inbounds i8*, i8** %110, i64 %idxprom174 + %112 = load i8*, i8** %arrayidx175, align 8 + %call176 = call i32 @__streq(i8* %112, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23.52, i64 0, i64 0)) + %tobool177 = icmp ne i32 %call176, 0 + br i1 %tobool177, label %if.then178, label %if.else180 + +if.then178: ; preds = %lor.lhs.false173, %if.else168 + store i32 1, i32* %save_all_writes_flag, align 4 + %113 = load i32, i32* %k, align 4 + %inc179 = add nsw i32 %113, 1 + store i32 %inc179, i32* %k, align 4 + br label %if.end239 + +if.else180: ; preds = %lor.lhs.false173 + %114 = load i8**, i8*** %argv, align 8 + %115 = load i32, i32* %k, align 4 + %idxprom181 = sext i32 %115 to i64 + %arrayidx182 = getelementptr inbounds i8*, i8** %114, i64 %idxprom181 + %116 = load i8*, i8** %arrayidx182, align 8 + %call183 = call i32 @__streq(i8* %116, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.24.53, i64 0, i64 0)) + %tobool184 = icmp ne i32 %call183, 0 + br i1 %tobool184, label %if.then190, label %lor.lhs.false185 + +lor.lhs.false185: ; preds = %if.else180 + %117 = load i8**, i8*** %argv, align 8 + %118 = load i32, i32* %k, align 4 + %idxprom186 = sext i32 %118 to i64 + %arrayidx187 = getelementptr inbounds i8*, i8** %117, i64 %idxprom186 + %119 = load i8*, i8** %arrayidx187, align 8 + %call188 = call i32 @__streq(i8* %119, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.25.54, i64 0, i64 0)) + %tobool189 = icmp ne i32 %call188, 0 + br i1 %tobool189, label %if.then190, label %if.else192 + +if.then190: ; preds = %lor.lhs.false185, %if.else180 + store i32 1, i32* %fd_fail, align 4 + %120 = load i32, i32* %k, align 4 + %inc191 = add nsw i32 %120, 1 + store i32 %inc191, i32* %k, align 4 + br label %if.end239 + +if.else192: ; preds = %lor.lhs.false185 + %121 = load i8**, i8*** %argv, align 8 + %122 = load i32, i32* %k, align 4 + %idxprom193 = sext i32 %122 to i64 + %arrayidx194 = getelementptr inbounds i8*, i8** %121, i64 %idxprom193 + %123 = load i8*, i8** %arrayidx194, align 8 + %call195 = call i32 @__streq(i8* %123, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.26.55, i64 0, i64 0)) + %tobool196 = icmp ne i32 %call195, 0 + br i1 %tobool196, label %if.then202, label %lor.lhs.false197 + +lor.lhs.false197: ; preds = %if.else192 + %124 = load i8**, i8*** %argv, align 8 + %125 = load i32, i32* %k, align 4 + %idxprom198 = sext i32 %125 to i64 + %arrayidx199 = getelementptr inbounds i8*, i8** %124, i64 %idxprom198 + %126 = load i8*, i8** %arrayidx199, align 8 + %call200 = call i32 @__streq(i8* %126, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.27.56, i64 0, i64 0)) + %tobool201 = icmp ne i32 %call200, 0 + br i1 %tobool201, label %if.then202, label %if.else204 + +if.then202: ; preds = %lor.lhs.false197, %if.else192 + %127 = load i32, i32* %k, align 4 + %add203 = add nsw i32 %127, 2 + store i32 %add203, i32* %k, align 4 + br label %if.end239 + +if.else204: ; preds = %lor.lhs.false197 + %128 = load i8**, i8*** %argv, align 8 + %129 = load i32, i32* %k, align 4 + %idxprom205 = sext i32 %129 to i64 + %arrayidx206 = getelementptr inbounds i8*, i8** %128, i64 %idxprom205 + %130 = load i8*, i8** %arrayidx206, align 8 + %call207 = call i32 @__streq(i8* %130, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.28.57, i64 0, i64 0)) + %tobool208 = icmp ne i32 %call207, 0 + br i1 %tobool208, label %if.then214, label %lor.lhs.false209 + +lor.lhs.false209: ; preds = %if.else204 + %131 = load i8**, i8*** %argv, align 8 + %132 = load i32, i32* %k, align 4 + %idxprom210 = sext i32 %132 to i64 + %arrayidx211 = getelementptr inbounds i8*, i8** %131, i64 %idxprom210 + %133 = load i8*, i8** %arrayidx211, align 8 + %call212 = call i32 @__streq(i8* %133, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.29.58, i64 0, i64 0)) + %tobool213 = icmp ne i32 %call212, 0 + br i1 %tobool213, label %if.then214, label %if.else226 + +if.then214: ; preds = %lor.lhs.false209, %if.else204 + store i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.30, i64 0, i64 0), i8** %msg215, align 8 + %134 = load i32, i32* %k, align 4 + %inc216 = add nsw i32 %134, 1 + store i32 %inc216, i32* %k, align 4 + %135 = load i32, i32* %argc, align 4 + %cmp217 = icmp eq i32 %inc216, %135 + br i1 %cmp217, label %if.then219, label %if.end220 + +if.then219: ; preds = %if.then214 + %136 = load i8*, i8** %msg215, align 8 + call void @__emit_error(i8* %136) + br label %if.end220 + +if.end220: ; preds = %if.then219, %if.then214 + %137 = load i8**, i8*** %argv, align 8 + %138 = load i32, i32* %k, align 4 + %inc221 = add nsw i32 %138, 1 + store i32 %inc221, i32* %k, align 4 + %idxprom222 = sext i32 %138 to i64 + %arrayidx223 = getelementptr inbounds i8*, i8** %137, i64 %idxprom222 + %139 = load i8*, i8** %arrayidx223, align 8 + %140 = load i8*, i8** %msg215, align 8 + %call224 = call i64 @__str_to_int(i8* %139, i8* %140) + %conv225 = trunc i64 %call224 to i32 + store i32 %conv225, i32* %fd_fail, align 4 + br label %if.end239 + +if.else226: ; preds = %lor.lhs.false209 + %arraydecay227 = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %141 = load i8**, i8*** %argv, align 8 + %142 = load i32, i32* %k, align 4 + %inc228 = add nsw i32 %142, 1 + store i32 %inc228, i32* %k, align 4 + %idxprom229 = sext i32 %142 to i64 + %arrayidx230 = getelementptr inbounds i8*, i8** %141, i64 %idxprom229 + %143 = load i8*, i8** %arrayidx230, align 8 + call void @__add_arg(i32* %new_argc, i8** %arraydecay227, i8* %143, i32 1024) + br label %if.end239 + +if.end239: ; preds = %for.cond, %if.end150, %if.then178, %if.then202, %if.else226, %if.end220, %if.then190, %if.then166, %if.end129, %if.then132, %if.end21 + br label %while.cond + +while.end: ; preds = %while.cond + %144 = load i32, i32* %new_argc, align 4 + %add240 = add nsw i32 %144, 1 + %conv241 = sext i32 %add240 to i64 + %mul = mul i64 %conv241, 8 + %call242 = call noalias i8* @malloc(i64 %mul) #11 + %145 = bitcast i8* %call242 to i8** + store i8** %145, i8*** %final_argv, align 8 + %146 = load i8**, i8*** %final_argv, align 8 + %tobool243 = icmp ne i8** %146, null + br i1 %tobool243, label %if.end245, label %if.then244 + +if.then244: ; preds = %while.end + call void @__emit_error(i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.31, i64 0, i64 0)) + br label %if.end245 + +if.end245: ; preds = %if.then244, %while.end + %147 = load i8**, i8*** %final_argv, align 8 + %148 = bitcast i8** %147 to i8* + %arraydecay246 = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %149 = bitcast i8** %arraydecay246 to i8* + %150 = load i32, i32* %new_argc, align 4 + %conv247 = sext i32 %150 to i64 + %mul248 = mul i64 %conv247, 8 + %151 = call i8* @memcpy(i8* %148, i8* %149, i64 %mul248) + %152 = load i8**, i8*** %final_argv, align 8 + %153 = load i32, i32* %new_argc, align 4 + %idxprom249 = sext i32 %153 to i64 + %arrayidx250 = getelementptr inbounds i8*, i8** %152, i64 %idxprom249 + store i8* null, i8** %arrayidx250, align 8 + %154 = load i32, i32* %new_argc, align 4 + %155 = load i32*, i32** %argcPtr.addr, align 8 + store i32 %154, i32* %155, align 4 + %156 = load i8**, i8*** %final_argv, align 8 + %157 = load i8***, i8**** %argvPtr.addr, align 8 + store i8** %156, i8*** %157, align 8 + %158 = load i32, i32* %sym_files, align 4 + %159 = load i32, i32* %sym_file_len, align 4 + %160 = load i32, i32* %sym_stdin_len, align 4 + %161 = load i32, i32* %sym_stdout_flag, align 4 + %162 = load i32, i32* %save_all_writes_flag, align 4 + %163 = load i32, i32* %fd_fail, align 4 + call void @klee_init_fds(i32 %158, i32 %159, i32 %160, i32 %161, i32 %162, i32 %163) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__streq(i8* %a, i8* %b) #3 { +entry: + %retval = alloca i32, align 4 + %a.addr = alloca i8*, align 8 + %b.addr = alloca i8*, align 8 + store i8* %a, i8** %a.addr, align 8 + store i8* %b, i8** %b.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %0 = load i8*, i8** %a.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %2 = load i8*, i8** %b.addr, align 8 + %3 = load i8, i8* %2, align 1 + %conv1 = sext i8 %3 to i32 + %cmp = icmp eq i32 %conv, %conv1 + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i8*, i8** %a.addr, align 8 + %5 = load i8, i8* %4, align 1 + %tobool = icmp ne i8 %5, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %while.body + store i32 1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %while.body + %6 = load i8*, i8** %a.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %a.addr, align 8 + %7 = load i8*, i8** %b.addr, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %7, i32 1 + store i8* %incdec.ptr3, i8** %b.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %while.end, %if.then + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__emit_error(i8* %msg) #3 { +entry: + %msg.addr = alloca i8*, align 8 + store i8* %msg, i8** %msg.addr, align 8 + %0 = load i8*, i8** %msg.addr, align 8 + call void @gs_report_error.59(i8* getelementptr inbounds ([88 x i8], [88 x i8]* @.str.32, i64 0, i64 0), i32 21, i8* %0, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.33, i64 0, i64 0)) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @__str_to_int(i8* %s, i8* %error_msg) #3 { +entry: + %s.addr = alloca i8*, align 8 + %error_msg.addr = alloca i8*, align 8 + %res = alloca i64, align 8 + %c = alloca i8, align 1 + store i8* %s, i8** %s.addr, align 8 + store i8* %error_msg, i8** %error_msg.addr, align 8 + store i64 0, i64* %res, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i8, i8* %0, align 1 + %tobool = icmp ne i8 %1, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %2 = load i8*, i8** %error_msg.addr, align 8 + call void @__emit_error(i8* %2) + br label %if.end + +if.end: ; preds = %if.then, %entry + br label %while.cond + +while.cond: ; preds = %if.end9, %if.end + %3 = load i8*, i8** %s.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %s.addr, align 8 + %4 = load i8, i8* %3, align 1 + store i8 %4, i8* %c, align 1 + %tobool1 = icmp ne i8 %4, 0 + br i1 %tobool1, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %5 = load i8, i8* %c, align 1 + %conv = sext i8 %5 to i32 + %cmp = icmp sge i32 %conv, 48 + br i1 %cmp, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %while.body + %6 = load i8, i8* %c, align 1 + %conv3 = sext i8 %6 to i32 + %cmp4 = icmp sle i32 %conv3, 57 + br i1 %cmp4, label %if.then6, label %if.else + +if.then6: ; preds = %land.lhs.true + %7 = load i64, i64* %res, align 8 + %mul = mul nsw i64 %7, 10 + %8 = load i8, i8* %c, align 1 + %conv7 = sext i8 %8 to i32 + %sub = sub nsw i32 %conv7, 48 + %conv8 = sext i32 %sub to i64 + %add = add nsw i64 %mul, %conv8 + store i64 %add, i64* %res, align 8 + br label %if.end9 + +if.else: ; preds = %land.lhs.true, %while.body + %9 = load i8*, i8** %error_msg.addr, align 8 + call void @__emit_error(i8* %9) + br label %if.end9 + +if.end9: ; preds = %if.else, %if.then6 + br label %while.cond + +while.end: ; preds = %while.cond + %10 = load i64, i64* %res, align 8 + ret i64 %10 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @__get_sym_str(i32 %numChars, i8* %name) #3 { +entry: + %numChars.addr = alloca i32, align 4 + %name.addr = alloca i8*, align 8 + %i = alloca i32, align 4 + %s = alloca i8*, align 8 + store i32 %numChars, i32* %numChars.addr, align 4 + store i8* %name, i8** %name.addr, align 8 + %0 = load i32, i32* %numChars.addr, align 4 + %add = add nsw i32 %0, 1 + %conv = sext i32 %add to i64 + %call = call noalias i8* @malloc(i64 %conv) #11 + store i8* %call, i8** %s, align 8 + %1 = load i8*, i8** %s, align 8 + %tobool = icmp ne i8* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @__emit_error(i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.31, i64 0, i64 0)) + br label %if.end + +if.end: ; preds = %if.then, %entry + %2 = load i8*, i8** %s, align 8 + %3 = load i32, i32* %numChars.addr, align 4 + %add1 = add nsw i32 %3, 1 + %conv2 = sext i32 %add1 to i64 + %4 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %2, i64 %conv2, i8* %4) + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %5 = load i32, i32* %i, align 4 + %6 = load i32, i32* %numChars.addr, align 4 + %cmp = icmp slt i32 %5, %6 + %7 = load i8*, i8** %s, align 8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %8 = load i8*, i8** %s, align 8 + %9 = load i32, i32* %i, align 4 + %idxprom = sext i32 %9 to i64 + %arrayidx = getelementptr inbounds i8, i8* %8, i64 %idxprom + %10 = load i8, i8* %arrayidx, align 1 + %call4 = call i32 @__isprint(i8 signext %10) + %tobool5 = icmp ne i32 %call4, 0 + call void @gs_posix_prefer_cex(i8* %7, i1 zeroext %tobool5) + %11 = load i32, i32* %i, align 4 + %inc = add nsw i32 %11, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %12 = load i32, i32* %numChars.addr, align 4 + %idxprom6 = sext i32 %12 to i64 + %arrayidx7 = getelementptr inbounds i8, i8* %7, i64 %idxprom6 + store i8 0, i8* %arrayidx7, align 1 + %13 = load i8*, i8** %s, align 8 + ret i8* %13 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__add_arg(i32* %argc, i8** %argv, i8* %arg, i32 %argcMax) #3 { +entry: + %argc.addr = alloca i32*, align 8 + %argv.addr = alloca i8**, align 8 + %arg.addr = alloca i8*, align 8 + %argcMax.addr = alloca i32, align 4 + store i32* %argc, i32** %argc.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i32 %argcMax, i32* %argcMax.addr, align 4 + %0 = load i32*, i32** %argc.addr, align 8 + %1 = load i32, i32* %0, align 4 + %2 = load i32, i32* %argcMax.addr, align 4 + %cmp = icmp eq i32 %1, %2 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + call void @__emit_error(i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.35, i64 0, i64 0)) + br label %if.end + +if.else: ; preds = %entry + %3 = load i8*, i8** %arg.addr, align 8 + %4 = load i8**, i8*** %argv.addr, align 8 + %5 = load i32*, i32** %argc.addr, align 8 + %6 = load i32, i32* %5, align 4 + %idxprom = sext i32 %6 to i64 + %arrayidx = getelementptr inbounds i8*, i8** %4, i64 %idxprom + store i8* %3, i8** %arrayidx, align 8 + %7 = load i32*, i32** %argc.addr, align 8 + %8 = load i32, i32* %7, align 4 + %inc = add nsw i32 %8, 1 + store i32 %inc, i32* %7, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @gs_range(i32 %begin, i32 %end, i8* %name) #3 { +entry: + %begin.addr = alloca i32, align 4 + %end.addr = alloca i32, align 4 + %name.addr = alloca i8*, align 8 + %x = alloca i32, align 4 + store i32 %begin, i32* %begin.addr, align 4 + store i32 %end, i32* %end.addr, align 4 + store i8* %name, i8** %name.addr, align 8 + %0 = bitcast i32* %x to i8* + %1 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %0, i64 4, i8* %1) + %2 = load i32, i32* %x, align 4 + %3 = load i32, i32* %begin.addr, align 4 + %cmp = icmp sge i32 %2, %3 + call void @gs_assume(i1 zeroext %cmp) + %4 = load i32, i32* %x, align 4 + %5 = load i32, i32* %end.addr, align 4 + %cmp1 = icmp slt i32 %4, %5 + call void @gs_assume(i1 zeroext %cmp1) + %6 = load i32, i32* %x, align 4 + ret i32 %6 +} + +declare dso_local void @make_symbolic(i8*, i64, ...) #5 + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__isprint(i8 signext %c) #3 { +entry: + %c.addr = alloca i8, align 1 + store i8 %c, i8* %c.addr, align 1 + %0 = load i8, i8* %c.addr, align 1 + %conv = sext i8 %0 to i32 + %cmp = icmp sle i32 32, %conv + %conv1 = zext i1 %cmp to i32 + %1 = load i8, i8* %c.addr, align 1 + %conv2 = sext i8 %1 to i32 + %cmp3 = icmp sle i32 %conv2, 126 + %conv4 = zext i1 %cmp3 to i32 + %and = and i32 %conv1, %conv4 + ret i32 %and +} + +declare dso_local void @gs_posix_prefer_cex(i8*, i1 zeroext) #5 + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error.59(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.34, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__user_main(i32 %argcPtr, i8** %argvPtr, i8** %envp) #3 { +entry: + %argcPtr.addr = alloca i32, align 4 + %argvPtr.addr = alloca i8**, align 8 + %envp.addr = alloca i8**, align 8 + store i32 %argcPtr, i32* %argcPtr.addr, align 4 + store i8** %argvPtr, i8*** %argvPtr.addr, align 8 + store i8** %envp, i8*** %envp.addr, align 8 + call void @klee_init_env(i32* %argcPtr.addr, i8*** %argvPtr.addr) + %0 = load i32, i32* %argcPtr.addr, align 4 + %1 = load i8**, i8*** %argvPtr.addr, align 8 + %2 = load i8**, i8*** %envp.addr, align 8 + %call = call i32 bitcast (i32 (i32, i8**)* @__klee_posix_wrapped_main to i32 (i32, i8**, i8**)*)(i32 %0, i8** %1, i8** %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind readnone uwtable +declare i32* @__errno_location() #12 + +; Function Attrs: noinline nounwind readnone uwtable +define weak i32* @__h_errno_location() #12 { +entry: + ret i32* @h_errno +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @___path_search(i8* %tmpl, i64 %tmpl_len, i8* %dir, i8* %pfx) #0 { +entry: + %retval = alloca i32, align 4 + %tmpl.addr = alloca i8*, align 8 + %tmpl_len.addr = alloca i64, align 8 + %dir.addr = alloca i8*, align 8 + %pfx.addr = alloca i8*, align 8 + %dlen = alloca i64, align 8 + %plen = alloca i64, align 8 + store i8* %tmpl, i8** %tmpl.addr, align 8 + store i64 %tmpl_len, i64* %tmpl_len.addr, align 8 + store i8* %dir, i8** %dir.addr, align 8 + store i8* %pfx, i8** %pfx.addr, align 8 + %0 = load i8*, i8** %pfx.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %lor.lhs.false, label %if.then + +lor.lhs.false: ; preds = %entry + %1 = load i8*, i8** %pfx.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %tobool1 = icmp ne i8 %2, 0 + br i1 %tobool1, label %if.else, label %if.then + +if.then: ; preds = %lor.lhs.false, %entry + store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.68, i64 0, i64 0), i8** %pfx.addr, align 8 + store i64 4, i64* %plen, align 8 + br label %if.end3 + +if.else: ; preds = %lor.lhs.false + %3 = load i8*, i8** %pfx.addr, align 8 + %call = call i64 @strlen(i8* %3) #20 + store i64 %call, i64* %plen, align 8 + %4 = load i64, i64* %plen, align 8 + %cmp = icmp ugt i64 %4, 5 + %spec.store.select = select i1 %cmp, i64 5, i64 %call + store i64 %spec.store.select, i64* %plen, align 8 + br label %if.end3 + +if.end3: ; preds = %if.else, %if.then + %5 = load i8*, i8** %dir.addr, align 8 + %cmp4 = icmp eq i8* %5, null + br i1 %cmp4, label %if.then5, label %if.end18 + +if.then5: ; preds = %if.end3 + %call6 = call i32 @direxists(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0)) #18 + %tobool7 = icmp ne i32 %call6, 0 + br i1 %tobool7, label %if.then8, label %if.else9 + +if.then8: ; preds = %if.then5 + store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0), i8** %dir.addr, align 8 + br label %if.end18 + +if.else9: ; preds = %if.then5 + %call10 = call i32 @strcmp(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0)) #20 + %cmp11 = icmp ne i32 %call10, 0 + br i1 %cmp11, label %land.lhs.true, label %if.else15 + +land.lhs.true: ; preds = %if.else9 + %call12 = call i32 @direxists(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0)) #18 + %tobool13 = icmp ne i32 %call12, 0 + br i1 %tobool13, label %if.then14, label %if.else15 + +if.then14: ; preds = %land.lhs.true + store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0), i8** %dir.addr, align 8 + br label %if.end18 + +if.else15: ; preds = %land.lhs.true, %if.else9 + store i32 2, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %if.then8, %if.then14, %if.end3 + %6 = load i8*, i8** %dir.addr, align 8 + %call19 = call i64 @strlen(i8* %6) #20 + store i64 %call19, i64* %dlen, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end18 + %7 = load i64, i64* %dlen, align 8 + %cmp20 = icmp ugt i64 %7, 1 + br i1 %cmp20, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %8 = load i8*, i8** %dir.addr, align 8 + %9 = load i64, i64* %dlen, align 8 + %sub = sub i64 %9, 1 + %arrayidx21 = getelementptr inbounds i8, i8* %8, i64 %sub + %10 = load i8, i8* %arrayidx21, align 1 + %conv = sext i8 %10 to i32 + %cmp22 = icmp eq i32 %conv, 47 + br i1 %cmp22, label %while.body, label %while.end + +while.body: ; preds = %land.rhs + %11 = load i64, i64* %dlen, align 8 + %dec = add i64 %11, -1 + store i64 %dec, i64* %dlen, align 8 + br label %while.cond + +while.end: ; preds = %while.cond, %land.rhs + %12 = load i64, i64* %tmpl_len.addr, align 8 + %13 = load i64, i64* %dlen, align 8 + %add = add i64 %13, 1 + %14 = load i64, i64* %plen, align 8 + %add24 = add i64 %add, %14 + %add25 = add i64 %add24, 6 + %add26 = add i64 %add25, 1 + %cmp27 = icmp ult i64 %12, %add26 + br i1 %cmp27, label %if.then29, label %if.end30 + +if.then29: ; preds = %while.end + store i32 22, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end30: ; preds = %while.end + %15 = load i8*, i8** %tmpl.addr, align 8 + %16 = load i64, i64* %dlen, align 8 + %17 = load i8*, i8** %dir.addr, align 8 + %18 = load i64, i64* %plen, align 8 + %19 = load i8*, i8** %pfx.addr, align 8 + %call31 = call i32 (i8*, i8*, ...) @sprintf(i8* %15, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.2.70, i64 0, i64 0), i64 %16, i8* %17, i64 %18, i8* %19) #19 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end30, %if.then29, %if.else15 + %20 = load i32, i32* %retval, align 4 + ret i32 %20 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @direxists(i8* %dir) #0 { +entry: + %dir.addr = alloca i8*, align 8 + %buf = alloca %struct.stat.192, align 8 + store i8* %dir, i8** %dir.addr, align 8 + %0 = load i8*, i8** %dir.addr, align 8 + %call = call i32 bitcast (i32 (i8*, %struct.stat64*)* @stat to i32 (i8*, %struct.stat.192*)*)(i8* %0, %struct.stat.192* %buf) #19 + %cmp = icmp eq i32 %call, 0 + %st_mode = getelementptr inbounds %struct.stat.192, %struct.stat.192* %buf, i32 0, i32 3 + %1 = load i32, i32* %st_mode, align 8 + %and = and i32 %1, 61440 + %cmp1 = icmp eq i32 %and, 16384 + %2 = select i1 %cmp, i1 %cmp1, i1 false + %land.ext = zext i1 %2 to i32 + ret i32 %land.ext +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__gen_tempname(i8* %tmpl, i32 %kind) #0 { +entry: + %retval = alloca i32, align 4 + %tmpl.addr = alloca i8*, align 8 + %kind.addr = alloca i32, align 4 + %XXXXXX = alloca i8*, align 8 + %i = alloca i32, align 4 + %fd = alloca i32, align 4 + %save_errno = alloca i32, align 4 + %randomness = alloca [6 x i8], align 1 + %len = alloca i64, align 8 + %j = alloca i32, align 4 + %st = alloca %struct.stat.192, align 8 + store i8* %tmpl, i8** %tmpl.addr, align 8 + store i32 %kind, i32* %kind.addr, align 4 + %0 = load i32, i32* @errno, align 4 + store i32 %0, i32* %save_errno, align 4 + %1 = load i8*, i8** %tmpl.addr, align 8 + %call = call i64 @strlen(i8* %1) #20 + store i64 %call, i64* %len, align 8 + %2 = load i8*, i8** %tmpl.addr, align 8 + %3 = load i64, i64* %len, align 8 + %add.ptr = getelementptr inbounds i8, i8* %2, i64 %3 + %add.ptr1 = getelementptr inbounds i8, i8* %add.ptr, i64 -6 + store i8* %add.ptr1, i8** %XXXXXX, align 8 + %4 = load i64, i64* %len, align 8 + %cmp = icmp ult i64 %4, 6 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %5 = load i8*, i8** %XXXXXX, align 8 + %call2 = call i32 @strcmp(i8* %5, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.3.73, i64 0, i64 0)) #20 + %tobool = icmp ne i32 %call2, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %lor.lhs.false, %entry + store i32 22, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %lor.lhs.false + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc44, %if.end + %6 = load i32, i32* %i, align 4 + %cmp3 = icmp ult i32 %6, 238328 + br i1 %cmp3, label %for.body, label %for.end46 + +for.body: ; preds = %for.cond + %arraydecay = getelementptr inbounds [6 x i8], [6 x i8]* %randomness, i64 0, i64 0 + %call4 = call i32 @fillrand(i8* %arraydecay, i32 6) #18 + %conv = zext i32 %call4 to i64 + %cmp5 = icmp ne i64 %conv, 6 + br i1 %cmp5, label %if.then7, label %if.end9 + +if.then7: ; preds = %for.body + %arraydecay8 = getelementptr inbounds [6 x i8], [6 x i8]* %randomness, i64 0, i64 0 + call void @brain_damaged_fillrand(i8* %arraydecay8, i32 6) #18 + br label %if.end9 + +if.end9: ; preds = %if.then7, %for.body + store i32 0, i32* %j, align 4 + br label %for.cond10 + +for.cond10: ; preds = %for.body14, %if.end9 + %7 = load i32, i32* %j, align 4 + %conv11 = sext i32 %7 to i64 + %cmp12 = icmp ult i64 %conv11, 6 + br i1 %cmp12, label %for.body14, label %for.end + +for.body14: ; preds = %for.cond10 + %8 = load i32, i32* %j, align 4 + %idxprom = sext i32 %8 to i64 + %arrayidx = getelementptr inbounds [6 x i8], [6 x i8]* %randomness, i64 0, i64 %idxprom + %9 = load i8, i8* %arrayidx, align 1 + %conv15 = zext i8 %9 to i32 + %rem = srem i32 %conv15, 62 + %idxprom16 = sext i32 %rem to i64 + %arrayidx17 = getelementptr inbounds [63 x i8], [63 x i8]* @letters, i64 0, i64 %idxprom16 + %10 = load i8, i8* %arrayidx17, align 1 + %11 = load i8*, i8** %XXXXXX, align 8 + %12 = load i32, i32* %j, align 4 + %idxprom18 = sext i32 %12 to i64 + %arrayidx19 = getelementptr inbounds i8, i8* %11, i64 %idxprom18 + store i8 %10, i8* %arrayidx19, align 1 + %13 = load i32, i32* %j, align 4 + %inc = add nsw i32 %13, 1 + store i32 %inc, i32* %j, align 4 + br label %for.cond10 + +for.end: ; preds = %for.cond10 + %14 = load i32, i32* %kind.addr, align 4 + br label %NodeBlock5 + +NodeBlock5: ; preds = %for.end + %case.cmp6 = icmp eq i32 %14, 3 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %14, 0 + br i1 %case.cmp4, label %sw.bb29, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %14, 1 + br i1 %case.cmp2, label %sw.bb31, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %14, 2 + br i1 %case.cmp, label %sw.bb33, label %newDefault + +sw.bb: ; preds = %NodeBlock5 + %15 = load i8*, i8** %tmpl.addr, align 8 + %call20 = call i32 bitcast (i32 (i8*, %struct.stat64*)* @stat to i32 (i8*, %struct.stat.192*)*)(i8* %15, %struct.stat.192* %st) #19 + %cmp21 = icmp slt i32 %call20, 0 + br i1 %cmp21, label %if.then23, label %if.else27 + +if.then23: ; preds = %sw.bb + %16 = load i32, i32* @errno, align 4 + %cmp24 = icmp eq i32 %16, 2 + br i1 %cmp24, label %if.then26, label %if.else + +if.then26: ; preds = %if.then23 + store i32 0, i32* %fd, align 4 + br label %restore_and_ret + +if.else: ; preds = %if.then23 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else27: ; preds = %sw.bb + store i32 0, i32* %fd, align 4 + br label %sw.bb29 + +sw.bb29: ; preds = %NodeBlock3, %if.else27 + %17 = load i8*, i8** %tmpl.addr, align 8 + %call30 = call i32 (i8*, i32, ...) @open(i8* %17, i32 194, i32 384) #18 + store i32 %call30, i32* %fd, align 4 + br label %sw.epilog + +sw.bb31: ; preds = %NodeBlock1 + %18 = load i8*, i8** %tmpl.addr, align 8 + %call32 = call i32 (i8*, i32, ...) @open64(i8* %18, i32 194, i32 384) #18 + store i32 %call32, i32* %fd, align 4 + br label %sw.epilog + +sw.bb33: ; preds = %NodeBlock + %19 = load i8*, i8** %tmpl.addr, align 8 + %call34 = call i32 @mkdir(i8* %19, i32 448) #19 + store i32 %call34, i32* %fd, align 4 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i32 -1, i32* %fd, align 4 + br label %sw.epilog + +sw.epilog: ; preds = %sw.default, %sw.bb33, %sw.bb31, %sw.bb29 + %20 = load i32, i32* %fd, align 4 + %cmp35 = icmp sge i32 %20, 0 + br i1 %cmp35, label %restore_and_ret, label %if.else38 + +restore_and_ret: ; preds = %sw.epilog, %if.then26 + %21 = load i32, i32* %save_errno, align 4 + store i32 %21, i32* @errno, align 4 + %22 = load i32, i32* %fd, align 4 + store i32 %22, i32* %retval, align 4 + br label %return + +if.else38: ; preds = %sw.epilog + %23 = load i32, i32* @errno, align 4 + %cmp39 = icmp ne i32 %23, 17 + br i1 %cmp39, label %if.then41, label %for.inc44 + +if.then41: ; preds = %if.else38 + store i32 -1, i32* %retval, align 4 + br label %return + +for.inc44: ; preds = %if.else38 + %24 = load i32, i32* %i, align 4 + %inc45 = add i32 %24, 1 + store i32 %inc45, i32* %i, align 4 + br label %for.cond + +for.end46: ; preds = %for.cond + store i32 17, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %for.end46, %if.then41, %restore_and_ret, %if.else, %if.then + %25 = load i32, i32* %retval, align 4 + ret i32 %25 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @fillrand(i8* %buf, i32 %len) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %len.addr = alloca i32, align 4 + %fd = alloca i32, align 4 + %result = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i32 %len, i32* %len.addr, align 4 + store i32 -1, i32* %result, align 4 + %call = call i32 (i8*, i32, ...) @open(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.4.74, i64 0, i64 0), i32 0) #18 + store i32 %call, i32* %fd, align 4 + %0 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %0, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call1 = call i32 (i8*, i32, ...) @open(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.5.75, i64 0, i64 0), i32 2048) #18 + store i32 %call1, i32* %fd, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i32, i32* %fd, align 4 + %cmp2 = icmp sge i32 %1, 0 + br i1 %cmp2, label %if.then3, label %if.end7 + +if.then3: ; preds = %if.end + %2 = load i32, i32* %fd, align 4 + %3 = load i8*, i8** %buf.addr, align 8 + %4 = load i32, i32* %len.addr, align 4 + %conv = zext i32 %4 to i64 + %call4 = call i64 @read(i32 %2, i8* %3, i64 %conv) #18 + %conv5 = trunc i64 %call4 to i32 + store i32 %conv5, i32* %result, align 4 + %5 = load i32, i32* %fd, align 4 + %call6 = call i32 @close(i32 %5) #18 + br label %if.end7 + +if.end7: ; preds = %if.then3, %if.end + %6 = load i32, i32* %result, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @brain_damaged_fillrand(i8* %buf, i32 %len) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %len.addr = alloca i32, align 4 + %i = alloca i32, align 4 + %k = alloca i32, align 4 + %tv = alloca %struct.timespec, align 8 + %high = alloca i32, align 4 + %low = alloca i32, align 4 + %rh = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i32 %len, i32* %len.addr, align 4 + %call = call i32 bitcast (i32 (%struct.timespec*, i8*)* @gettimeofday to i32 (%struct.timespec*, %struct.__mbstate_t.512*)*)(%struct.timespec* %tv, %struct.__mbstate_t.512* null) #19 + %tv_usec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 1 + %0 = load i64, i64* %tv_usec, align 8 + %shl = shl i64 %0, 16 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %1 = load i64, i64* %tv_sec, align 8 + %xor = xor i64 %shl, %1 + %call1 = call i32 @getpid() #19 + %conv = sext i32 %call1 to i64 + %xor2 = xor i64 %xor, %conv + %2 = load i64, i64* @brain_damaged_fillrand.value, align 8 + %add = add i64 %2, %xor2 + store i64 %add, i64* @brain_damaged_fillrand.value, align 8 + %3 = load i64, i64* @brain_damaged_fillrand.value, align 8 + %and = and i64 %3, 4294967295 + %conv3 = trunc i64 %and to i32 + store i32 %conv3, i32* %low, align 4 + %4 = load i64, i64* @brain_damaged_fillrand.value, align 8 + %shr = lshr i64 %4, 32 + %conv4 = trunc i64 %shr to i32 + store i32 %conv4, i32* %high, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %5 = load i32, i32* %i, align 4 + %6 = load i32, i32* %len.addr, align 4 + %cmp = icmp ult i32 %5, %6 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %7 = load i32, i32* %high, align 4 + %rem = urem i32 %7, 62 + store i32 %rem, i32* %rh, align 4 + %8 = load i32, i32* %high, align 4 + %div = udiv i32 %8, 62 + store i32 %div, i32* %high, align 4 + %9 = load i32, i32* %low, align 4 + %rem6 = urem i32 %9, 62 + %10 = load i32, i32* %rh, align 4 + %mul = mul i32 4, %10 + %add7 = add i32 %rem6, %mul + store i32 %add7, i32* %k, align 4 + %11 = load i32, i32* %low, align 4 + %div8 = udiv i32 %11, 62 + %12 = load i32, i32* %rh, align 4 + %mul9 = mul i32 69273666, %12 + %add10 = add i32 %div8, %mul9 + %13 = load i32, i32* %k, align 4 + %div11 = udiv i32 %13, 62 + %add12 = add i32 %add10, %div11 + store i32 %add12, i32* %low, align 4 + %14 = load i32, i32* %k, align 4 + %rem13 = urem i32 %14, 62 + store i32 %rem13, i32* %k, align 4 + %15 = load i32, i32* %k, align 4 + %idxprom = zext i32 %15 to i64 + %arrayidx = getelementptr inbounds [63 x i8], [63 x i8]* @letters, i64 0, i64 %idxprom + %16 = load i8, i8* %arrayidx, align 1 + %17 = load i8*, i8** %buf.addr, align 8 + %18 = load i32, i32* %i, align 4 + %idxprom14 = zext i32 %18 to i64 + %arrayidx15 = getelementptr inbounds i8, i8* %17, i64 %idxprom14 + store i8 %16, i8* %arrayidx15, align 1 + %19 = load i32, i32* %i, align 4 + %inc = add i32 %19, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + ret void +} + +; Function Attrs: nounwind +declare i32 @getpid() #2 + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_locale_set_l(i8* %p, %struct.__uclibc_locale_struct.201* %base) #0 { +entry: + %retval = alloca i32, align 4 + %p.addr = alloca i8*, align 8 + %base.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %x = alloca i8**, align 8 + %s = alloca i8*, align 8 + %stp = alloca i64*, align 8 + %r = alloca i8*, align 8 + %io = alloca i16*, align 8 + %ii = alloca i16*, align 8 + %d = alloca i8*, align 8 + %row = alloca i32, align 4 + %crow = alloca i32, align 4 + %len = alloca i32, align 4 + %c = alloca i32, align 4 + %i = alloca i32, align 4 + %newcol = alloca %struct.__collate_t.200, align 8 + %c8b = alloca %struct.__codeset_8_bit_t.202*, align 8 + %u = alloca i32, align 4 + %m = alloca i16, align 2 + store i8* %p, i8** %p.addr, align 8 + store %struct.__uclibc_locale_struct.201* %base, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 6 + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 1 + store i8* %add.ptr, i8** %s, align 8 + store i32 0, i32* %i, align 4 + %1 = load i8*, i8** %p.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %1, i32 1 + store i8* %incdec.ptr, i8** %p.addr, align 8 + %index2weight = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %newcol, i32 0, i32 23 + store i16* null, i16** %index2weight, align 8 + %2 = load i8*, i8** %p.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %2, i64 8 + %3 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %3 to i32 + %4 = load i8*, i8** %s, align 8 + %arrayidx1 = getelementptr inbounds i8, i8* %4, i64 8 + %5 = load i8, i8* %arrayidx1, align 1 + %conv2 = zext i8 %5 to i32 + %cmp = icmp ne i32 %conv, %conv2 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %6 = load i8*, i8** %p.addr, align 8 + %arrayidx4 = getelementptr inbounds i8, i8* %6, i64 9 + %7 = load i8, i8* %arrayidx4, align 1 + %conv5 = zext i8 %7 to i32 + %8 = load i8*, i8** %s, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %8, i64 9 + %9 = load i8, i8* %arrayidx6, align 1 + %conv7 = zext i8 %9 to i32 + %cmp8 = icmp ne i32 %conv5, %conv7 + br i1 %cmp8, label %if.then, label %if.end22 + +if.then: ; preds = %lor.lhs.false, %entry + %10 = load i8*, i8** %p.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv10 = zext i8 %11 to i32 + %and = and i32 %conv10, 127 + %shl = shl i32 %and, 7 + %12 = load i8*, i8** %p.addr, align 8 + %arrayidx11 = getelementptr inbounds i8, i8* %12, i64 1 + %13 = load i8, i8* %arrayidx11, align 1 + %conv12 = zext i8 %13 to i32 + %and13 = and i32 %conv12, 127 + %add = add nsw i32 %shl, %and13 + store i32 %add, i32* %row, align 4 + %14 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %14, i32 0, i32 31 + %15 = load i32, i32* %row, align 4 + %mul = mul nsw i32 9, %15 + %add14 = add nsw i32 %mul, 3 + %add15 = add nsw i32 %add14, 4 + %idxprom = sext i32 %add15 to i64 + %arrayidx16 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales, i64 0, i64 %idxprom + %16 = load i8, i8* %arrayidx16, align 1 + %conv17 = zext i8 %16 to i32 + %call = call i32 @init_cur_collate(i32 %conv17, %struct.__collate_t.200* %newcol) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end, label %if.then18 + +if.then18: ; preds = %if.then + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %if.then + %17 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %collate = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %17, i32 0, i32 118 + %index2weight19 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate, i32 0, i32 23 + %18 = load i16*, i16** %index2weight19, align 8 + %19 = bitcast i16* %18 to i8* + call void @free(i8* %19) #19 + %20 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %collate20 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %20, i32 0, i32 118 + %21 = bitcast %struct.__collate_t.200* %collate20 to i8* + %22 = bitcast %struct.__collate_t.200* %newcol to i8* + %call21 = call i8* @memcpy(i8* %21, i8* %22, i64 112) #19 + br label %if.end22 + +if.end22: ; preds = %if.end, %lor.lhs.false + br label %do.body + +do.body: ; preds = %if.end313, %if.end22 + %23 = load i8*, i8** %p.addr, align 8 + %24 = load i8, i8* %23, align 1 + %conv23 = zext i8 %24 to i32 + %25 = load i8*, i8** %s, align 8 + %26 = load i8, i8* %25, align 1 + %conv24 = zext i8 %26 to i32 + %cmp25 = icmp ne i32 %conv23, %conv24 + br i1 %cmp25, label %if.then34, label %lor.lhs.false27 + +lor.lhs.false27: ; preds = %do.body + %27 = load i8*, i8** %p.addr, align 8 + %arrayidx28 = getelementptr inbounds i8, i8* %27, i64 1 + %28 = load i8, i8* %arrayidx28, align 1 + %conv29 = zext i8 %28 to i32 + %29 = load i8*, i8** %s, align 8 + %arrayidx30 = getelementptr inbounds i8, i8* %29, i64 1 + %30 = load i8, i8* %arrayidx30, align 1 + %conv31 = zext i8 %30 to i32 + %cmp32 = icmp ne i32 %conv29, %conv31 + br i1 %cmp32, label %if.then34, label %if.end313 + +if.then34: ; preds = %lor.lhs.false27, %do.body + %31 = load i8*, i8** %p.addr, align 8 + %32 = load i8, i8* %31, align 1 + %conv35 = zext i8 %32 to i32 + %and36 = and i32 %conv35, 127 + %shl37 = shl i32 %and36, 7 + %33 = load i8*, i8** %p.addr, align 8 + %arrayidx38 = getelementptr inbounds i8, i8* %33, i64 1 + %34 = load i8, i8* %arrayidx38, align 1 + %conv39 = zext i8 %34 to i32 + %and40 = and i32 %conv39, 127 + %add41 = add nsw i32 %shl37, %and40 + store i32 %add41, i32* %row, align 4 + %35 = load i8*, i8** %p.addr, align 8 + %36 = load i8, i8* %35, align 1 + %37 = load i8*, i8** %s, align 8 + store i8 %36, i8* %37, align 1 + %38 = load i8*, i8** %p.addr, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %38, i64 1 + %39 = load i8, i8* %arrayidx42, align 1 + %40 = load i8*, i8** %s, align 8 + %arrayidx43 = getelementptr inbounds i8, i8* %40, i64 1 + store i8 %39, i8* %arrayidx43, align 1 + %41 = load i32, i32* %i, align 4 + %cmp44 = icmp ne i32 %41, 4 + br i1 %cmp44, label %land.lhs.true, label %if.end92 + +land.lhs.true: ; preds = %if.then34 + %42 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_common_item_offsets_LEN = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %42, i32 0, i32 29 + %43 = load i32, i32* %i, align 4 + %idxprom46 = sext i32 %43 to i64 + %arrayidx47 = getelementptr inbounds [6 x i8], [6 x i8]* %lc_common_item_offsets_LEN, i64 0, i64 %idxprom46 + %44 = load i8, i8* %arrayidx47, align 1 + %conv48 = zext i8 %44 to i32 + store i32 %conv48, i32* %len, align 4 + %cmp49 = icmp ne i32 %conv48, 0 + br i1 %cmp49, label %if.then51, label %if.end92 + +if.then51: ; preds = %land.lhs.true + %45 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales52 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %45, i32 0, i32 31 + %46 = load i32, i32* %row, align 4 + %mul53 = mul nsw i32 9, %46 + %add54 = add nsw i32 %mul53, 3 + %47 = load i32, i32* %i, align 4 + %add55 = add nsw i32 %add54, %47 + %idxprom56 = sext i32 %add55 to i64 + %arrayidx57 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales52, i64 0, i64 %idxprom56 + %48 = load i8, i8* %arrayidx57, align 1 + %conv58 = zext i8 %48 to i32 + %49 = load i32, i32* %len, align 4 + %mul59 = mul nsw i32 %conv58, %49 + store i32 %mul59, i32* %crow, align 4 + %50 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %51 = bitcast %struct.__uclibc_locale_struct.201* %50 to i8* + %52 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %52, i32 0, i32 7 + %53 = load i32, i32* %i, align 4 + %idxprom60 = sext i32 %53 to i64 + %arrayidx61 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets, i64 0, i64 %idxprom60 + %54 = load i16, i16* %arrayidx61, align 2 + %conv62 = zext i16 %54 to i32 + %idx.ext = sext i32 %conv62 to i64 + %add.ptr63 = getelementptr inbounds i8, i8* %51, i64 %idx.ext + %55 = bitcast i8* %add.ptr63 to i8** + store i8** %55, i8*** %x, align 8 + %56 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_common_tbl_offsets = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %56, i32 0, i32 30 + %arraydecay64 = getelementptr inbounds [24 x i64], [24 x i64]* %lc_common_tbl_offsets, i64 0, i64 0 + %57 = load i32, i32* %i, align 4 + %mul65 = mul nsw i32 4, %57 + %idx.ext66 = sext i32 %mul65 to i64 + %add.ptr67 = getelementptr inbounds i64, i64* %arraydecay64, i64 %idx.ext66 + store i64* %add.ptr67, i64** %stp, align 8 + %58 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %59 = bitcast %struct.__locale_mmap_t.203* %58 to i8* + %60 = load i64*, i64** %stp, align 8 + %61 = load i64, i64* %60, align 8 + %add.ptr68 = getelementptr inbounds i8, i8* %59, i64 %61 + store i8* %add.ptr68, i8** %r, align 8 + %62 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %63 = bitcast %struct.__locale_mmap_t.203* %62 to i8* + %64 = load i64*, i64** %stp, align 8 + %incdec.ptr69 = getelementptr inbounds i64, i64* %64, i32 1 + store i64* %incdec.ptr69, i64** %stp, align 8 + %65 = load i64, i64* %incdec.ptr69, align 8 + %add.ptr70 = getelementptr inbounds i8, i8* %63, i64 %65 + %66 = bitcast i8* %add.ptr70 to i16* + store i16* %66, i16** %io, align 8 + %67 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %68 = bitcast %struct.__locale_mmap_t.203* %67 to i8* + %69 = load i64*, i64** %stp, align 8 + %incdec.ptr71 = getelementptr inbounds i64, i64* %69, i32 1 + store i64* %incdec.ptr71, i64** %stp, align 8 + %70 = load i64, i64* %incdec.ptr71, align 8 + %add.ptr72 = getelementptr inbounds i8, i8* %68, i64 %70 + %71 = bitcast i8* %add.ptr72 to i16* + store i16* %71, i16** %ii, align 8 + %72 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %73 = bitcast %struct.__locale_mmap_t.203* %72 to i8* + %74 = load i64*, i64** %stp, align 8 + %incdec.ptr73 = getelementptr inbounds i64, i64* %74, i32 1 + store i64* %incdec.ptr73, i64** %stp, align 8 + %75 = load i64, i64* %incdec.ptr73, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %73, i64 %75 + store i8* %add.ptr74, i8** %d, align 8 + store i32 0, i32* %c, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.then51 + %76 = load i32, i32* %c, align 4 + %77 = load i32, i32* %len, align 4 + %cmp75 = icmp slt i32 %76, %77 + br i1 %cmp75, label %for.body, label %if.end92 + +for.body: ; preds = %for.cond + %78 = load i8*, i8** %d, align 8 + %79 = load i16*, i16** %ii, align 8 + %80 = load i8*, i8** %r, align 8 + %81 = load i32, i32* %crow, align 4 + %82 = load i32, i32* %c, align 4 + %add77 = add nsw i32 %81, %82 + %idxprom78 = sext i32 %add77 to i64 + %arrayidx79 = getelementptr inbounds i8, i8* %80, i64 %idxprom78 + %83 = load i8, i8* %arrayidx79, align 1 + %conv80 = zext i8 %83 to i32 + %84 = load i16*, i16** %io, align 8 + %85 = load i32, i32* %c, align 4 + %idxprom81 = sext i32 %85 to i64 + %arrayidx82 = getelementptr inbounds i16, i16* %84, i64 %idxprom81 + %86 = load i16, i16* %arrayidx82, align 2 + %conv83 = zext i16 %86 to i32 + %add84 = add nsw i32 %conv80, %conv83 + %idxprom85 = sext i32 %add84 to i64 + %arrayidx86 = getelementptr inbounds i16, i16* %79, i64 %idxprom85 + %87 = load i16, i16* %arrayidx86, align 2 + %conv87 = zext i16 %87 to i32 + %idx.ext88 = sext i32 %conv87 to i64 + %add.ptr89 = getelementptr inbounds i8, i8* %78, i64 %idx.ext88 + %88 = load i8**, i8*** %x, align 8 + %89 = load i32, i32* %c, align 4 + %idx.ext90 = sext i32 %89 to i64 + %add.ptr91 = getelementptr inbounds i8*, i8** %88, i64 %idx.ext90 + store i8* %add.ptr89, i8** %add.ptr91, align 8 + %90 = load i32, i32* %c, align 4 + %inc = add nsw i32 %90, 1 + store i32 %inc, i32* %c, align 4 + br label %for.cond + +if.end92: ; preds = %for.cond, %land.lhs.true, %if.then34 + %91 = load i32, i32* %i, align 4 + %cmp93 = icmp eq i32 %91, 0 + br i1 %cmp93, label %if.then95, label %if.else295 + +if.then95: ; preds = %if.end92 + %92 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales96 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %92, i32 0, i32 31 + %93 = load i32, i32* %row, align 4 + %mul97 = mul nsw i32 9, %93 + %add98 = add nsw i32 %mul97, 2 + %idxprom99 = sext i32 %add98 to i64 + %arrayidx100 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales96, i64 0, i64 %idxprom99 + %94 = load i8, i8* %arrayidx100, align 1 + %conv101 = zext i8 %94 to i32 + store i32 %conv101, i32* %c, align 4 + %95 = load i32, i32* %c, align 4 + %cmp102 = icmp sle i32 %95, 2 + br i1 %cmp102, label %if.then104, label %if.else112 + +if.then104: ; preds = %if.then95 + %96 = load i32, i32* %c, align 4 + %cmp105 = icmp eq i32 %96, 2 + %97 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %codeset = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %97, i32 0, i32 38 + br i1 %cmp105, label %if.then107, label %if.else + +if.then107: ; preds = %if.then104 + store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf8, i64 0, i64 0), i8** %codeset, align 8 + %98 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %98, i32 0, i32 9 + store i8 1, i8* %encoding, align 8 + %99 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %mb_cur_max = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %99, i32 0, i32 10 + store i8 6, i8* %mb_cur_max, align 1 + br label %if.end280 + +if.else: ; preds = %if.then104 + store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @ascii, i64 0, i64 0), i8** %codeset, align 8 + %100 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %encoding109 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %100, i32 0, i32 9 + store i8 0, i8* %encoding109, align 8 + %101 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %mb_cur_max110 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %101, i32 0, i32 10 + store i8 1, i8* %mb_cur_max110, align 1 + br label %if.end280 + +if.else112: ; preds = %if.then95 + %102 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %102, i32 0, i32 35 + %arraydecay113 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list, i64 0, i64 0 + store i8* %arraydecay113, i8** %r, align 8 + %103 = load i8*, i8** %r, align 8 + %104 = load i8*, i8** %r, align 8 + %105 = load i32, i32* %c, align 4 + %sub = sub nsw i32 %105, 3 + store i32 %sub, i32* %c, align 4 + %idxprom114 = sext i32 %sub to i64 + %arrayidx115 = getelementptr inbounds i8, i8* %104, i64 %idxprom114 + %106 = load i8, i8* %arrayidx115, align 1 + %conv116 = zext i8 %106 to i32 + %idx.ext117 = sext i32 %conv116 to i64 + %add.ptr118 = getelementptr inbounds i8, i8* %103, i64 %idx.ext117 + %107 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %codeset119 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %107, i32 0, i32 38 + store i8* %add.ptr118, i8** %codeset119, align 8 + %108 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %encoding120 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %108, i32 0, i32 9 + store i8 2, i8* %encoding120, align 8 + %109 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %mb_cur_max121 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %109, i32 0, i32 10 + store i8 1, i8* %mb_cur_max121, align 1 + %110 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_8_bit = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %110, i32 0, i32 12 + %arraydecay122 = getelementptr inbounds [23 x %struct.__codeset_8_bit_t.202], [23 x %struct.__codeset_8_bit_t.202]* %codeset_8_bit, i64 0, i64 0 + %111 = load i32, i32* %c, align 4 + %idx.ext123 = sext i32 %111 to i64 + %add.ptr124 = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %arraydecay122, i64 %idx.ext123 + store %struct.__codeset_8_bit_t.202* %add.ptr124, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %112 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8ctype = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %112, i32 0, i32 0 + %arraydecay125 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8ctype, i64 0, i64 0 + %113 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8ctype126 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %113, i32 0, i32 12 + store i8* %arraydecay125, i8** %idx8ctype126, align 8 + %114 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8uplow = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %114, i32 0, i32 1 + %arraydecay127 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8uplow, i64 0, i64 0 + %115 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8uplow128 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %115, i32 0, i32 14 + store i8* %arraydecay127, i8** %idx8uplow128, align 8 + %116 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8c2wc = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %116, i32 0, i32 2 + %arraydecay129 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8c2wc, i64 0, i64 0 + %117 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8c2wc130 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %117, i32 0, i32 16 + store i8* %arraydecay129, i8** %idx8c2wc130, align 8 + %118 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8wc2c = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %118, i32 0, i32 3 + %arraydecay131 = getelementptr inbounds [38 x i8], [38 x i8]* %idx8wc2c, i64 0, i64 0 + %119 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8wc2c132 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %119, i32 0, i32 18 + store i8* %arraydecay131, i8** %idx8wc2c132, align 8 + %120 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b_data = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %120, i32 0, i32 3 + %arraydecay133 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data, i64 0, i64 0 + %121 = bitcast i16* %arraydecay133 to i8* + %122 = load i16*, i16** @__C_ctype_b, align 8 + %add.ptr134 = getelementptr inbounds i16, i16* %122, i64 -128 + %123 = bitcast i16* %add.ptr134 to i8* + %call135 = call i8* @memcpy(i8* %121, i8* %123, i64 768) #19 + %124 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %124, i32 0, i32 4 + %arraydecay136 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data, i64 0, i64 0 + %125 = bitcast i16* %arraydecay136 to i8* + %126 = load i16*, i16** @__C_ctype_tolower, align 8 + %add.ptr137 = getelementptr inbounds i16, i16* %126, i64 -128 + %127 = bitcast i16* %add.ptr137 to i8* + %call138 = call i8* @memcpy(i8* %125, i8* %127, i64 768) #19 + %128 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %128, i32 0, i32 5 + %arraydecay139 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data, i64 0, i64 0 + %129 = bitcast i16* %arraydecay139 to i8* + %130 = load i16*, i16** @__C_ctype_toupper, align 8 + %add.ptr140 = getelementptr inbounds i16, i16* %130, i64 -128 + %131 = bitcast i16* %add.ptr140 to i8* + %call141 = call i8* @memcpy(i8* %129, i8* %131, i64 768) #19 + store i32 0, i32* %u, align 4 + br label %for.cond142 + +for.cond142: ; preds = %for.inc268, %if.else112 + %132 = load i32, i32* %u, align 4 + %cmp143 = icmp slt i32 %132, 128 + %133 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + br i1 %cmp143, label %for.body145, label %for.end270 + +for.body145: ; preds = %for.cond142 + %tbl8ctype = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %133, i32 0, i32 13 + %134 = load i8*, i8** %tbl8ctype, align 8 + %135 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8ctype146 = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %135, i32 0, i32 0 + %136 = load i32, i32* %u, align 4 + %shr = ashr i32 %136, 3 + %idxprom147 = sext i32 %shr to i64 + %arrayidx148 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8ctype146, i64 0, i64 %idxprom147 + %137 = load i8, i8* %arrayidx148, align 1 + %conv149 = zext i8 %137 to i32 + %shl150 = shl i32 %conv149, 2 + %138 = load i32, i32* %u, align 4 + %and151 = and i32 %138, 7 + %shr152 = ashr i32 %and151, 1 + %add153 = add nsw i32 %shl150, %shr152 + %idxprom154 = sext i32 %add153 to i64 + %arrayidx155 = getelementptr inbounds i8, i8* %134, i64 %idxprom154 + %139 = load i8, i8* %arrayidx155, align 1 + %conv156 = zext i8 %139 to i32 + store i32 %conv156, i32* %c, align 4 + %140 = load i32, i32* %u, align 4 + %and157 = and i32 %140, 1 + %tobool158 = icmp ne i32 %and157, 0 + %141 = load i32, i32* %c, align 4 + %shr159 = ashr i32 %141, 4 + %and160 = and i32 %141, 15 + %cond = select i1 %tobool158, i32 %shr159, i32 %and160 + store i32 %cond, i32* %c, align 4 + %142 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %code2flag = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %142, i32 0, i32 20 + %143 = load i16*, i16** %code2flag, align 8 + %144 = load i32, i32* %c, align 4 + %idxprom161 = sext i32 %144 to i64 + %arrayidx162 = getelementptr inbounds i16, i16* %143, i64 %idxprom161 + %145 = load i16, i16* %arrayidx162, align 2 + store i16 %145, i16* %m, align 2 + %146 = load i16, i16* %m, align 2 + %147 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b_data163 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %147, i32 0, i32 3 + %148 = load i32, i32* %u, align 4 + %add164 = add nsw i32 256, %148 + %idxprom165 = sext i32 %add164 to i64 + %arrayidx166 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data163, i64 0, i64 %idxprom165 + store i16 %146, i16* %arrayidx166, align 2 + %149 = load i32, i32* %u, align 4 + %add167 = add nsw i32 128, %149 + %conv168 = trunc i32 %add167 to i8 + %conv169 = sext i8 %conv168 to i32 + %cmp170 = icmp ne i32 %conv169, -1 + br i1 %cmp170, label %if.then172, label %if.end180 + +if.then172: ; preds = %for.body145 + %150 = load i16, i16* %m, align 2 + %151 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b_data173 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %151, i32 0, i32 3 + %152 = load i32, i32* %u, align 4 + %add174 = add nsw i32 128, %152 + %conv175 = trunc i32 %add174 to i8 + %conv176 = sext i8 %conv175 to i32 + %add177 = add nsw i32 128, %conv176 + %idxprom178 = sext i32 %add177 to i64 + %arrayidx179 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data173, i64 0, i64 %idxprom178 + store i16 %150, i16* %arrayidx179, align 2 + br label %if.end180 + +if.end180: ; preds = %if.then172, %for.body145 + %153 = load i32, i32* %u, align 4 + %add181 = add nsw i32 128, %153 + %conv182 = trunc i32 %add181 to i16 + %154 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data183 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %154, i32 0, i32 4 + %155 = load i32, i32* %u, align 4 + %add184 = add nsw i32 256, %155 + %idxprom185 = sext i32 %add184 to i64 + %arrayidx186 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data183, i64 0, i64 %idxprom185 + store i16 %conv182, i16* %arrayidx186, align 2 + %156 = load i32, i32* %u, align 4 + %add187 = add nsw i32 128, %156 + %conv188 = trunc i32 %add187 to i16 + %157 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data189 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %157, i32 0, i32 5 + %158 = load i32, i32* %u, align 4 + %add190 = add nsw i32 256, %158 + %idxprom191 = sext i32 %add190 to i64 + %arrayidx192 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data189, i64 0, i64 %idxprom191 + store i16 %conv188, i16* %arrayidx192, align 2 + %159 = load i16, i16* %m, align 2 + %conv193 = zext i16 %159 to i32 + %and194 = and i32 %conv193, 768 + %tobool195 = icmp ne i32 %and194, 0 + br i1 %tobool195, label %if.then196, label %for.inc268 + +if.then196: ; preds = %if.end180 + %160 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8uplow = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %160, i32 0, i32 15 + %161 = load i8*, i8** %tbl8uplow, align 8 + %162 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8uplow197 = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %162, i32 0, i32 1 + %163 = load i32, i32* %u, align 4 + %shr198 = ashr i32 %163, 3 + %idxprom199 = sext i32 %shr198 to i64 + %arrayidx200 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8uplow197, i64 0, i64 %idxprom199 + %164 = load i8, i8* %arrayidx200, align 1 + %conv201 = zext i8 %164 to i32 + %shl202 = shl i32 %conv201, 3 + %165 = load i32, i32* %u, align 4 + %add203 = add nsw i32 128, %165 + %and204 = and i32 %add203, 7 + %add205 = add nsw i32 %shl202, %and204 + %idxprom206 = sext i32 %add205 to i64 + %arrayidx207 = getelementptr inbounds i8, i8* %161, i64 %idxprom206 + %166 = load i8, i8* %arrayidx207, align 1 + %conv208 = zext i8 %166 to i32 + store i32 %conv208, i32* %c, align 4 + %167 = load i16, i16* %m, align 2 + %conv209 = zext i16 %167 to i32 + %and210 = and i32 %conv209, 512 + %tobool211 = icmp ne i32 %and210, 0 + %168 = load i32, i32* %u, align 4 + %add213 = add nsw i32 128, %168 + %169 = load i32, i32* %c, align 4 + br i1 %tobool211, label %if.then212, label %if.else239 + +if.then212: ; preds = %if.then196 + %add214 = add nsw i32 %add213, %169 + %conv215 = trunc i32 %add214 to i8 + %conv216 = zext i8 %conv215 to i16 + %170 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data217 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %170, i32 0, i32 5 + %171 = load i32, i32* %u, align 4 + %add218 = add nsw i32 256, %171 + %idxprom219 = sext i32 %add218 to i64 + %arrayidx220 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data217, i64 0, i64 %idxprom219 + store i16 %conv216, i16* %arrayidx220, align 2 + %172 = load i32, i32* %u, align 4 + %add221 = add nsw i32 128, %172 + %conv222 = trunc i32 %add221 to i8 + %conv223 = sext i8 %conv222 to i32 + %cmp224 = icmp ne i32 %conv223, -1 + br i1 %cmp224, label %if.then226, label %for.inc268 + +if.then226: ; preds = %if.then212 + %173 = load i32, i32* %u, align 4 + %add227 = add nsw i32 128, %173 + %174 = load i32, i32* %c, align 4 + %add228 = add nsw i32 %add227, %174 + %conv229 = trunc i32 %add228 to i8 + %conv230 = zext i8 %conv229 to i16 + %175 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data231 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %175, i32 0, i32 5 + %176 = load i32, i32* %u, align 4 + %add232 = add nsw i32 128, %176 + %conv233 = trunc i32 %add232 to i8 + %conv234 = sext i8 %conv233 to i32 + %add235 = add nsw i32 128, %conv234 + %idxprom236 = sext i32 %add235 to i64 + %arrayidx237 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data231, i64 0, i64 %idxprom236 + store i16 %conv230, i16* %arrayidx237, align 2 + br label %for.inc268 + +if.else239: ; preds = %if.then196 + %sub241 = sub nsw i32 %add213, %169 + %conv242 = trunc i32 %sub241 to i8 + %conv243 = zext i8 %conv242 to i16 + %177 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data244 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %177, i32 0, i32 4 + %178 = load i32, i32* %u, align 4 + %add245 = add nsw i32 256, %178 + %idxprom246 = sext i32 %add245 to i64 + %arrayidx247 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data244, i64 0, i64 %idxprom246 + store i16 %conv243, i16* %arrayidx247, align 2 + %179 = load i32, i32* %u, align 4 + %add248 = add nsw i32 128, %179 + %conv249 = trunc i32 %add248 to i8 + %conv250 = sext i8 %conv249 to i32 + %cmp251 = icmp ne i32 %conv250, -1 + br i1 %cmp251, label %if.then253, label %for.inc268 + +if.then253: ; preds = %if.else239 + %180 = load i32, i32* %u, align 4 + %add254 = add nsw i32 128, %180 + %181 = load i32, i32* %c, align 4 + %sub255 = sub nsw i32 %add254, %181 + %conv256 = trunc i32 %sub255 to i8 + %conv257 = zext i8 %conv256 to i16 + %182 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data258 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %182, i32 0, i32 4 + %183 = load i32, i32* %u, align 4 + %add259 = add nsw i32 128, %183 + %conv260 = trunc i32 %add259 to i8 + %conv261 = sext i8 %conv260 to i32 + %add262 = add nsw i32 128, %conv261 + %idxprom263 = sext i32 %add262 to i64 + %arrayidx264 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data258, i64 0, i64 %idxprom263 + store i16 %conv257, i16* %arrayidx264, align 2 + br label %for.inc268 + +for.inc268: ; preds = %if.end180, %if.else239, %if.then253, %if.then212, %if.then226 + %184 = load i32, i32* %u, align 4 + %inc269 = add nsw i32 %184, 1 + store i32 %inc269, i32* %u, align 4 + br label %for.cond142 + +for.end270: ; preds = %for.cond142 + %__ctype_b_data271 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %133, i32 0, i32 3 + %arraydecay272 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data271, i64 0, i64 0 + %add.ptr273 = getelementptr inbounds i16, i16* %arraydecay272, i64 128 + %185 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %185, i32 0, i32 0 + store i16* %add.ptr273, i16** %__ctype_b, align 8 + %186 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data274 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %186, i32 0, i32 4 + %arraydecay275 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data274, i64 0, i64 0 + %add.ptr276 = getelementptr inbounds i16, i16* %arraydecay275, i64 128 + %187 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %187, i32 0, i32 1 + store i16* %add.ptr276, i16** %__ctype_tolower, align 8 + %188 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data277 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %188, i32 0, i32 5 + %arraydecay278 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data277, i64 0, i64 0 + %add.ptr279 = getelementptr inbounds i16, i16* %arraydecay278, i64 128 + %189 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %189, i32 0, i32 2 + store i16* %add.ptr279, i16** %__ctype_toupper, align 8 + br label %if.end280 + +if.end280: ; preds = %if.then107, %if.else, %for.end270 + %190 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %outdigit_length = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %190, i32 0, i32 11 + %arraydecay281 = getelementptr inbounds [10 x i8], [10 x i8]* %outdigit_length, i64 0, i64 0 + store i8* %arraydecay281, i8** %d, align 8 + %191 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %outdigit0_mb = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %191, i32 0, i32 28 + store i8** %outdigit0_mb, i8*** %x, align 8 + store i32 0, i32* %c, align 4 + br label %for.cond282 + +for.cond282: ; preds = %for.body285, %if.end280 + %192 = load i32, i32* %c, align 4 + %cmp283 = icmp slt i32 %192, 10 + br i1 %cmp283, label %for.body285, label %if.end313 + +for.body285: ; preds = %for.cond282 + %193 = load i8**, i8*** %x, align 8 + %194 = load i32, i32* %c, align 4 + %idxprom286 = sext i32 %194 to i64 + %arrayidx287 = getelementptr inbounds i8*, i8** %193, i64 %idxprom286 + %195 = load i8*, i8** %arrayidx287, align 8 + %call288 = call i64 @strlen(i8* %195) #20 + %conv289 = trunc i64 %call288 to i8 + %196 = load i8*, i8** %d, align 8 + %197 = load i32, i32* %c, align 4 + %idxprom290 = sext i32 %197 to i64 + %arrayidx291 = getelementptr inbounds i8, i8* %196, i64 %idxprom290 + store i8 %conv289, i8* %arrayidx291, align 1 + %198 = load i32, i32* %c, align 4 + %inc293 = add nsw i32 %198, 1 + store i32 %inc293, i32* %c, align 4 + br label %for.cond282 + +if.else295: ; preds = %if.end92 + %199 = load i32, i32* %i, align 4 + %cmp296 = icmp eq i32 %199, 1 + br i1 %cmp296, label %if.then298, label %if.end313 + +if.then298: ; preds = %if.else295 + %200 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %decimal_point_wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %200, i32 0, i32 24 + %201 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %decimal_point = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %201, i32 0, i32 39 + %202 = load i8*, i8** %decimal_point, align 8 + %203 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call299 = call i32 @__locale_mbrtowc_l(i32* %decimal_point_wc, i8* %202, %struct.__uclibc_locale_struct.201* %203) #18 + %204 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %decimal_point_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %204, i32 0, i32 26 + store i32 %call299, i32* %decimal_point_len, align 8 + %205 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %grouping = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %205, i32 0, i32 41 + %206 = load i8*, i8** %grouping, align 8 + %207 = load i8, i8* %206, align 1 + %tobool300 = icmp ne i8 %207, 0 + br i1 %tobool300, label %if.then301, label %if.end313 + +if.then301: ; preds = %if.then298 + %208 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep_wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %208, i32 0, i32 25 + %209 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %209, i32 0, i32 40 + %210 = load i8*, i8** %thousands_sep, align 8 + %211 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call302 = call i32 @__locale_mbrtowc_l(i32* %thousands_sep_wc, i8* %210, %struct.__uclibc_locale_struct.201* %211) #18 + %212 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %212, i32 0, i32 27 + store i32 %call302, i32* %thousands_sep_len, align 4 + %213 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep_len303 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %213, i32 0, i32 27 + %214 = load i32, i32* %thousands_sep_len303, align 4 + %cmp304 = icmp eq i32 %214, 0 + br i1 %cmp304, label %if.then306, label %if.end313 + +if.then306: ; preds = %if.then301 + %215 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep307 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %215, i32 0, i32 40 + %216 = load i8*, i8** %thousands_sep307, align 8 + %217 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %grouping308 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %217, i32 0, i32 41 + store i8* %216, i8** %grouping308, align 8 + br label %if.end313 + +if.end313: ; preds = %for.cond282, %if.then298, %if.then306, %if.then301, %if.else295, %lor.lhs.false27 + %218 = load i32, i32* %i, align 4 + %inc314 = add nsw i32 %218, 1 + store i32 %inc314, i32* %i, align 4 + %219 = load i8*, i8** %p.addr, align 8 + %add.ptr315 = getelementptr inbounds i8, i8* %219, i64 2 + store i8* %add.ptr315, i8** %p.addr, align 8 + %220 = load i8*, i8** %s, align 8 + %add.ptr316 = getelementptr inbounds i8, i8* %220, i64 2 + store i8* %add.ptr316, i8** %s, align 8 + %221 = load i32, i32* %i, align 4 + %cmp317 = icmp slt i32 %221, 6 + br i1 %cmp317, label %do.body, label %do.end + +do.end: ; preds = %if.end313 + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end, %if.then18 + %222 = load i32, i32* %retval, align 4 + ret i32 %222 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @init_cur_collate(i32 %der_num, %struct.__collate_t.200* %cur_collate) #0 { +entry: + %retval = alloca i32, align 4 + %der_num.addr = alloca i32, align 4 + %cur_collate.addr = alloca %struct.__collate_t.200*, align 8 + %__locale_collate_tbl = alloca i16*, align 8 + %cdh = alloca %struct.coldata_header_t*, align 8 + %cdb = alloca %struct.coldata_base_t*, align 8 + %cdd = alloca %struct.winsize*, align 8 + %p = alloca i16*, align 8 + %n = alloca i64, align 8 + %i = alloca i16, align 2 + %w = alloca i16, align 2 + store i32 %der_num, i32* %der_num.addr, align 4 + store %struct.__collate_t.200* %cur_collate, %struct.__collate_t.200** %cur_collate.addr, align 8 + %0 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %collate_data = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %0, i32 0, i32 28 + %arraydecay = getelementptr inbounds [91141 x i16], [91141 x i16]* %collate_data, i64 0, i64 0 + store i16* %arraydecay, i16** %__locale_collate_tbl, align 8 + %1 = load i32, i32* %der_num.addr, align 4 + %tobool = icmp ne i32 %1, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %2 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %num_weights = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %2, i32 0, i32 0 + store i16 0, i16* %num_weights, align 8 + store i32 1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* %der_num.addr, align 4 + %dec = add nsw i32 %3, -1 + store i32 %dec, i32* %der_num.addr, align 4 + %4 = load i16*, i16** %__locale_collate_tbl, align 8 + %5 = bitcast i16* %4 to %struct.coldata_header_t* + store %struct.coldata_header_t* %5, %struct.coldata_header_t** %cdh, align 8 + %6 = load i16*, i16** %__locale_collate_tbl, align 8 + %7 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_base = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %7, i32 0, i32 0 + %8 = load i16, i16* %num_base, align 2 + %conv = zext i16 %8 to i64 + %mul = mul i64 %conv, 38 + %add = add i64 16, %mul + %9 = load i32, i32* %der_num.addr, align 4 + %conv1 = sext i32 %9 to i64 + %mul2 = mul i64 %conv1, 8 + %add3 = add i64 %add, %mul2 + %div = udiv i64 %add3, 2 + %add.ptr = getelementptr inbounds i16, i16* %6, i64 %div + %10 = bitcast i16* %add.ptr to %struct.winsize* + store %struct.winsize* %10, %struct.winsize** %cdd, align 8 + %11 = load i16*, i16** %__locale_collate_tbl, align 8 + %12 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %base_idx = getelementptr inbounds %struct.winsize, %struct.winsize* %12, i32 0, i32 0 + %13 = load i16, i16* %base_idx, align 2 + %conv4 = zext i16 %13 to i64 + %mul5 = mul i64 %conv4, 38 + %add6 = add i64 16, %mul5 + %div7 = udiv i64 %add6, 2 + %add.ptr8 = getelementptr inbounds i16, i16* %11, i64 %div7 + %14 = bitcast i16* %add.ptr8 to %struct.coldata_base_t* + store %struct.coldata_base_t* %14, %struct.coldata_base_t** %cdb, align 8 + %15 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %16 = bitcast %struct.__collate_t.200* %15 to i8* + %17 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %18 = bitcast %struct.coldata_base_t* %17 to i8* + %call = call i8* @memcpy(i8* %16, i8* %18, i64 28) #19 + %19 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %undefined_idx = getelementptr inbounds %struct.winsize, %struct.winsize* %19, i32 0, i32 1 + %20 = load i16, i16* %undefined_idx, align 2 + %21 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %undefined_idx9 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %21, i32 0, i32 9 + store i16 %20, i16* %undefined_idx9, align 2 + %22 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ti_shift = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %22, i32 0, i32 3 + %23 = load i16, i16* %ti_shift, align 2 + %conv10 = zext i16 %23 to i32 + %shl = shl i32 1, %conv10 + %sub = sub nsw i32 %shl, 1 + %conv11 = trunc i32 %sub to i16 + %24 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ti_mask = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %24, i32 0, i32 15 + store i16 %conv11, i16* %ti_mask, align 2 + %25 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ii_shift = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %25, i32 0, i32 2 + %26 = load i16, i16* %ii_shift, align 4 + %conv12 = zext i16 %26 to i32 + %shl13 = shl i32 1, %conv12 + %sub14 = sub nsw i32 %shl13, 1 + %conv15 = trunc i32 %sub14 to i16 + %27 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ii_mask = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %27, i32 0, i32 14 + store i16 %conv15, i16* %ii_mask, align 4 + %28 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_base16 = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %28, i32 0, i32 0 + %29 = load i16, i16* %num_base16, align 2 + %conv17 = zext i16 %29 to i64 + %mul18 = mul i64 %conv17, 38 + %add19 = add i64 16, %mul18 + %30 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_der = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %30, i32 0, i32 1 + %31 = load i16, i16* %num_der, align 2 + %conv20 = zext i16 %31 to i64 + %mul21 = mul i64 %conv20, 8 + %add22 = add i64 %add19, %mul21 + %div23 = udiv i64 %add22, 2 + store i64 %div23, i64* %n, align 8 + %32 = load i16*, i16** %__locale_collate_tbl, align 8 + %33 = load i64, i64* %n, align 8 + %add.ptr24 = getelementptr inbounds i16, i16* %32, i64 %33 + %34 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %index2weight_offset = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %34, i32 0, i32 14 + %35 = load i16, i16* %index2weight_offset, align 2 + %conv25 = zext i16 %35 to i32 + %idx.ext = sext i32 %conv25 to i64 + %add.ptr26 = getelementptr inbounds i16, i16* %add.ptr24, i64 %idx.ext + %36 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %36, i32 0, i32 16 + store i16* %add.ptr26, i16** %index2weight_tbl, align 8 + %37 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_index2weight = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %37, i32 0, i32 3 + %38 = load i16, i16* %num_index2weight, align 2 + %conv27 = zext i16 %38 to i64 + %39 = load i64, i64* %n, align 8 + %add28 = add i64 %39, %conv27 + store i64 %add28, i64* %n, align 8 + %40 = load i16*, i16** %__locale_collate_tbl, align 8 + %41 = load i64, i64* %n, align 8 + %add.ptr29 = getelementptr inbounds i16, i16* %40, i64 %41 + %42 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %index2ruleidx_offset = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %42, i32 0, i32 15 + %43 = load i16, i16* %index2ruleidx_offset, align 2 + %conv30 = zext i16 %43 to i32 + %idx.ext31 = sext i32 %conv30 to i64 + %add.ptr32 = getelementptr inbounds i16, i16* %add.ptr29, i64 %idx.ext31 + %44 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %44, i32 0, i32 17 + store i16* %add.ptr32, i16** %index2ruleidx_tbl, align 8 + %45 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_index2weight33 = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %45, i32 0, i32 3 + %46 = load i16, i16* %num_index2weight33, align 2 + %conv34 = zext i16 %46 to i64 + %47 = load i64, i64* %n, align 8 + %add35 = add i64 %47, %conv34 + store i64 %add35, i64* %n, align 8 + %48 = load i16*, i16** %__locale_collate_tbl, align 8 + %49 = load i64, i64* %n, align 8 + %add.ptr36 = getelementptr inbounds i16, i16* %48, i64 %49 + %50 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %multistart_offset = getelementptr inbounds %struct.winsize, %struct.winsize* %50, i32 0, i32 3 + %51 = load i16, i16* %multistart_offset, align 2 + %conv37 = zext i16 %51 to i32 + %idx.ext38 = sext i32 %conv37 to i64 + %add.ptr39 = getelementptr inbounds i16, i16* %add.ptr36, i64 %idx.ext38 + %52 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %multistart_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %52, i32 0, i32 18 + store i16* %add.ptr39, i16** %multistart_tbl, align 8 + %53 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_multistart = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %53, i32 0, i32 5 + %54 = load i16, i16* %num_multistart, align 2 + %conv40 = zext i16 %54 to i64 + %55 = load i64, i64* %n, align 8 + %add41 = add i64 %55, %conv40 + store i64 %add41, i64* %n, align 8 + %56 = load i16*, i16** %__locale_collate_tbl, align 8 + %57 = load i64, i64* %n, align 8 + %add.ptr42 = getelementptr inbounds i16, i16* %56, i64 %57 + %58 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %overrides_offset = getelementptr inbounds %struct.winsize, %struct.winsize* %58, i32 0, i32 2 + %59 = load i16, i16* %overrides_offset, align 2 + %conv43 = zext i16 %59 to i32 + %idx.ext44 = sext i32 %conv43 to i64 + %add.ptr45 = getelementptr inbounds i16, i16* %add.ptr42, i64 %idx.ext44 + %60 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %overrides_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %60, i32 0, i32 20 + store i16* %add.ptr45, i16** %overrides_tbl, align 8 + %61 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_override = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %61, i32 0, i32 6 + %62 = load i16, i16* %num_override, align 2 + %conv46 = zext i16 %62 to i64 + %63 = load i64, i64* %n, align 8 + %add47 = add i64 %63, %conv46 + store i64 %add47, i64* %n, align 8 + %64 = load i16*, i16** %__locale_collate_tbl, align 8 + %65 = load i64, i64* %n, align 8 + %add.ptr48 = getelementptr inbounds i16, i16* %64, i64 %65 + %66 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ruletable = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %66, i32 0, i32 22 + store i16* %add.ptr48, i16** %ruletable, align 8 + %67 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_ruletable = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %67, i32 0, i32 7 + %68 = load i16, i16* %num_ruletable, align 2 + %conv49 = zext i16 %68 to i64 + %69 = load i64, i64* %n, align 8 + %add50 = add i64 %69, %conv49 + store i64 %add50, i64* %n, align 8 + %70 = load i16*, i16** %__locale_collate_tbl, align 8 + %71 = load i64, i64* %n, align 8 + %add.ptr51 = getelementptr inbounds i16, i16* %70, i64 %71 + %72 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %weightstr = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %72, i32 0, i32 21 + store i16* %add.ptr51, i16** %weightstr, align 8 + %73 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_weightstr = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %73, i32 0, i32 4 + %74 = load i16, i16* %num_weightstr, align 2 + %conv52 = zext i16 %74 to i64 + %75 = load i64, i64* %n, align 8 + %add53 = add i64 %75, %conv52 + store i64 %add53, i64* %n, align 8 + %76 = load i16*, i16** %__locale_collate_tbl, align 8 + %77 = load i64, i64* %n, align 8 + %add.ptr54 = getelementptr inbounds i16, i16* %76, i64 %77 + %78 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %wcs2colidt_offset_hi = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %78, i32 0, i32 18 + %79 = load i16, i16* %wcs2colidt_offset_hi, align 2 + %conv55 = zext i16 %79 to i64 + %shl56 = shl i64 %conv55, 16 + %add.ptr57 = getelementptr inbounds i16, i16* %add.ptr54, i64 %shl56 + %80 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %wcs2colidt_offset_low = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %80, i32 0, i32 17 + %81 = load i16, i16* %wcs2colidt_offset_low, align 2 + %conv58 = zext i16 %81 to i32 + %idx.ext59 = sext i32 %conv58 to i64 + %add.ptr60 = getelementptr inbounds i16, i16* %add.ptr57, i64 %idx.ext59 + %82 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %wcs2colidt_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %82, i32 0, i32 19 + store i16* %add.ptr60, i16** %wcs2colidt_tbl, align 8 + %83 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %MAX_WEIGHTS = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %83, i32 0, i32 2 + %84 = load i16, i16* %MAX_WEIGHTS, align 2 + %85 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %MAX_WEIGHTS61 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %85, i32 0, i32 25 + store i16 %84, i16* %MAX_WEIGHTS61, align 8 + %86 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %max_col_index = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %86, i32 0, i32 8 + %87 = load i16, i16* %max_col_index, align 8 + %conv62 = zext i16 %87 to i32 + %mul63 = mul nsw i32 2, %conv62 + %add64 = add nsw i32 %mul63, 2 + %conv65 = sext i32 %add64 to i64 + %call66 = call noalias i8* @calloc(i64 %conv65, i64 2) #19 + %88 = bitcast i8* %call66 to i16* + %89 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %89, i32 0, i32 23 + store i16* %88, i16** %index2weight, align 8 + %90 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight67 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %90, i32 0, i32 23 + %91 = load i16*, i16** %index2weight67, align 8 + %tobool68 = icmp ne i16* %91, null + br i1 %tobool68, label %if.end70, label %if.then69 + +if.then69: ; preds = %if.end + store i32 0, i32* %retval, align 4 + br label %return + +if.end70: ; preds = %if.end + %92 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight71 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %92, i32 0, i32 23 + %93 = load i16*, i16** %index2weight71, align 8 + %94 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %max_col_index72 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %94, i32 0, i32 8 + %95 = load i16, i16* %max_col_index72, align 8 + %conv73 = zext i16 %95 to i32 + %idx.ext74 = sext i32 %conv73 to i64 + %add.ptr75 = getelementptr inbounds i16, i16* %93, i64 %idx.ext74 + %add.ptr76 = getelementptr inbounds i16, i16* %add.ptr75, i64 1 + %96 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %96, i32 0, i32 24 + store i16* %add.ptr76, i16** %index2ruleidx, align 8 + %97 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight77 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %97, i32 0, i32 23 + %98 = load i16*, i16** %index2weight77, align 8 + %99 = bitcast i16* %98 to i8* + %100 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight_tbl78 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %100, i32 0, i32 16 + %101 = load i16*, i16** %index2weight_tbl78, align 8 + %102 = bitcast i16* %101 to i8* + %103 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %num_col_base = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %103, i32 0, i32 7 + %104 = load i16, i16* %num_col_base, align 2 + %conv79 = zext i16 %104 to i64 + %mul80 = mul i64 %conv79, 2 + %call81 = call i8* @memcpy(i8* %99, i8* %102, i64 %mul80) #19 + %105 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx82 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %105, i32 0, i32 24 + %106 = load i16*, i16** %index2ruleidx82, align 8 + %107 = bitcast i16* %106 to i8* + %108 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx_tbl83 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %108, i32 0, i32 17 + %109 = load i16*, i16** %index2ruleidx_tbl83, align 8 + %110 = bitcast i16* %109 to i8* + %111 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %num_col_base84 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %111, i32 0, i32 7 + %112 = load i16, i16* %num_col_base84, align 2 + %conv85 = zext i16 %112 to i64 + %mul86 = mul i64 %conv85, 2 + %call87 = call i8* @memcpy(i8* %107, i8* %110, i64 %mul86) #19 + %113 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %overrides_tbl88 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %113, i32 0, i32 20 + %114 = load i16*, i16** %overrides_tbl88, align 8 + store i16* %114, i16** %p, align 8 + br label %while.cond + +while.cond: ; preds = %do.body, %if.end70 + %115 = load i16*, i16** %p, align 8 + %116 = load i16, i16* %115, align 2 + %conv89 = zext i16 %116 to i32 + %cmp = icmp sgt i32 %conv89, 1 + br i1 %cmp, label %while.body, label %while.cond105 + +while.body: ; preds = %while.cond + %117 = load i16*, i16** %p, align 8 + %incdec.ptr = getelementptr inbounds i16, i16* %117, i32 1 + store i16* %incdec.ptr, i16** %p, align 8 + %118 = load i16, i16* %117, align 2 + %conv91 = zext i16 %118 to i64 + store i64 %conv91, i64* %n, align 8 + %119 = load i16*, i16** %p, align 8 + %incdec.ptr92 = getelementptr inbounds i16, i16* %119, i32 1 + store i16* %incdec.ptr92, i16** %p, align 8 + %120 = load i16, i16* %119, align 2 + store i16 %120, i16* %w, align 2 + br label %do.body + +do.body: ; preds = %do.body, %while.body + %121 = load i16*, i16** %p, align 8 + %incdec.ptr93 = getelementptr inbounds i16, i16* %121, i32 1 + store i16* %incdec.ptr93, i16** %p, align 8 + %122 = load i16, i16* %121, align 2 + store i16 %122, i16* %i, align 2 + %123 = load i16, i16* %w, align 2 + %inc = add i16 %123, 1 + store i16 %inc, i16* %w, align 2 + %124 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight94 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %124, i32 0, i32 23 + %125 = load i16*, i16** %index2weight94, align 8 + %126 = load i16, i16* %i, align 2 + %conv95 = zext i16 %126 to i32 + %sub96 = sub nsw i32 %conv95, 1 + %idxprom = sext i32 %sub96 to i64 + %arrayidx = getelementptr inbounds i16, i16* %125, i64 %idxprom + store i16 %123, i16* %arrayidx, align 2 + %127 = load i16*, i16** %p, align 8 + %incdec.ptr97 = getelementptr inbounds i16, i16* %127, i32 1 + store i16* %incdec.ptr97, i16** %p, align 8 + %128 = load i16, i16* %127, align 2 + %129 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx98 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %129, i32 0, i32 24 + %130 = load i16*, i16** %index2ruleidx98, align 8 + %131 = load i16, i16* %i, align 2 + %conv99 = zext i16 %131 to i32 + %sub100 = sub nsw i32 %conv99, 1 + %idxprom101 = sext i32 %sub100 to i64 + %arrayidx102 = getelementptr inbounds i16, i16* %130, i64 %idxprom101 + store i16 %128, i16* %arrayidx102, align 2 + %132 = load i64, i64* %n, align 8 + %dec103 = add i64 %132, -1 + store i64 %dec103, i64* %n, align 8 + %tobool104 = icmp ne i64 %dec103, 0 + br i1 %tobool104, label %do.body, label %while.cond + +while.cond105: ; preds = %while.cond, %while.body108 + %133 = load i16*, i16** %p, align 8 + %incdec.ptr106 = getelementptr inbounds i16, i16* %133, i32 1 + store i16* %incdec.ptr106, i16** %p, align 8 + %134 = load i16, i16* %incdec.ptr106, align 2 + %tobool107 = icmp ne i16 %134, 0 + br i1 %tobool107, label %while.body108, label %while.end121 + +while.body108: ; preds = %while.cond105 + %135 = load i16*, i16** %p, align 8 + %136 = load i16, i16* %135, align 2 + store i16 %136, i16* %i, align 2 + %137 = load i16*, i16** %p, align 8 + %incdec.ptr109 = getelementptr inbounds i16, i16* %137, i32 1 + store i16* %incdec.ptr109, i16** %p, align 8 + %138 = load i16, i16* %incdec.ptr109, align 2 + %139 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight110 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %139, i32 0, i32 23 + %140 = load i16*, i16** %index2weight110, align 8 + %141 = load i16, i16* %i, align 2 + %conv111 = zext i16 %141 to i32 + %sub112 = sub nsw i32 %conv111, 1 + %idxprom113 = sext i32 %sub112 to i64 + %arrayidx114 = getelementptr inbounds i16, i16* %140, i64 %idxprom113 + store i16 %138, i16* %arrayidx114, align 2 + %142 = load i16*, i16** %p, align 8 + %incdec.ptr115 = getelementptr inbounds i16, i16* %142, i32 1 + store i16* %incdec.ptr115, i16** %p, align 8 + %143 = load i16, i16* %incdec.ptr115, align 2 + %144 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx116 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %144, i32 0, i32 24 + %145 = load i16*, i16** %index2ruleidx116, align 8 + %146 = load i16, i16* %i, align 2 + %conv117 = zext i16 %146 to i32 + %sub118 = sub nsw i32 %conv117, 1 + %idxprom119 = sext i32 %sub118 to i64 + %arrayidx120 = getelementptr inbounds i16, i16* %145, i64 %idxprom119 + store i16 %143, i16* %arrayidx120, align 2 + br label %while.cond105 + +while.end121: ; preds = %while.cond105 + store i16 0, i16* %i, align 2 + br label %for.cond + +for.cond: ; preds = %for.inc, %while.end121 + %147 = load i16, i16* %i, align 2 + %conv122 = zext i16 %147 to i32 + %148 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %multistart_tbl123 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %148, i32 0, i32 18 + %149 = load i16*, i16** %multistart_tbl123, align 8 + %arrayidx124 = getelementptr inbounds i16, i16* %149, i64 0 + %150 = load i16, i16* %arrayidx124, align 2 + %conv125 = zext i16 %150 to i32 + %cmp126 = icmp slt i32 %conv122, %conv125 + br i1 %cmp126, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %151 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %multistart_tbl128 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %151, i32 0, i32 18 + %152 = load i16*, i16** %multistart_tbl128, align 8 + store i16* %152, i16** %p, align 8 + %153 = load i16*, i16** %p, align 8 + %154 = load i16, i16* %i, align 2 + %idxprom129 = zext i16 %154 to i64 + %arrayidx130 = getelementptr inbounds i16, i16* %153, i64 %idxprom129 + %155 = load i16, i16* %arrayidx130, align 2 + %conv131 = zext i16 %155 to i32 + %156 = load i16*, i16** %p, align 8 + %idx.ext132 = sext i32 %conv131 to i64 + %add.ptr133 = getelementptr inbounds i16, i16* %156, i64 %idx.ext132 + store i16* %add.ptr133, i16** %p, align 8 + br label %do.body134 + +do.body134: ; preds = %do.body141, %for.body + %157 = load i16*, i16** %p, align 8 + %incdec.ptr135 = getelementptr inbounds i16, i16* %157, i32 1 + store i16* %incdec.ptr135, i16** %p, align 8 + %158 = load i16, i16* %157, align 2 + %conv136 = zext i16 %158 to i64 + store i64 %conv136, i64* %n, align 8 + %159 = load i16*, i16** %p, align 8 + %160 = load i16, i16* %159, align 2 + %tobool138 = icmp ne i16 %160, 0 + br i1 %tobool138, label %do.body141, label %for.inc + +do.body141: ; preds = %do.body134, %do.body141 + %161 = load i16*, i16** %p, align 8 + %incdec.ptr143 = getelementptr inbounds i16, i16* %161, i32 1 + store i16* %incdec.ptr143, i16** %p, align 8 + %162 = load i16, i16* %161, align 2 + %tobool144 = icmp ne i16 %162, 0 + br i1 %tobool144, label %do.body141, label %do.body134 + +for.inc: ; preds = %do.body134 + %163 = load i16, i16* %i, align 2 + %inc150 = add i16 %163, 1 + store i16 %inc150, i16* %i, align 2 + br label %for.cond + +for.end: ; preds = %for.cond + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %for.end, %if.then69, %if.then + %164 = load i32, i32* %retval, align 4 + ret i32 %164 +} + +; Function Attrs: nounwind +declare void @free(i8*) #2 + +; Function Attrs: nounwind +declare noalias i8* @calloc(i64, i64) #2 + +; Function Attrs: noinline nounwind uwtable +define hidden void @_locale_init_l(%struct.__uclibc_locale_struct.201* %base) #0 { +entry: + %base.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + store %struct.__uclibc_locale_struct.201* %base, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 6 + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + %call = call i8* @memset(i8* %arraydecay, i32 0, i64 14) #19 + %1 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale1 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %1, i32 0, i32 6 + %arrayidx = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale1, i64 0, i64 0 + store i8 35, i8* %arrayidx, align 8 + %2 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_item_count = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %2, i32 0, i32 8 + %arraydecay2 = getelementptr inbounds [6 x i8], [6 x i8]* %category_item_count, i64 0, i64 0 + %3 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_common_item_offsets_LEN = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %3, i32 0, i32 29 + %arraydecay3 = getelementptr inbounds [6 x i8], [6 x i8]* %lc_common_item_offsets_LEN, i64 0, i64 0 + %call4 = call i8* @memcpy(i8* %arraydecay2, i8* %arraydecay3, i64 6) #19 + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_item_count5 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %4, i32 0, i32 8 + %arrayidx6 = getelementptr inbounds [6 x i8], [6 x i8]* %category_item_count5, i64 0, i64 0 + %5 = load i8, i8* %arrayidx6, align 2 + %inc = add i8 %5, 1 + store i8 %inc, i8* %arrayidx6, align 2 + %6 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %6, i32 0, i32 7 + %arrayidx7 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets, i64 0, i64 0 + store i16 2488, i16* %arrayidx7, align 2 + %7 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets8 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %7, i32 0, i32 7 + %arrayidx9 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets8, i64 0, i64 1 + store i16 2576, i16* %arrayidx9, align 2 + %8 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets10 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %8, i32 0, i32 7 + %arrayidx11 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets10, i64 0, i64 2 + store i16 2600, i16* %arrayidx11, align 2 + %9 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets12 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %9, i32 0, i32 7 + %arrayidx13 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets12, i64 0, i64 3 + store i16 2776, i16* %arrayidx13, align 2 + %10 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets14 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %10, i32 0, i32 7 + %arrayidx15 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets14, i64 0, i64 5 + store i16 3176, i16* %arrayidx15, align 2 + %11 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8ctype = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %11, i32 0, i32 0 + %12 = bitcast [420 x i8]* %tbl8ctype to i8* + %13 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8ctype16 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %13, i32 0, i32 13 + store i8* %12, i8** %tbl8ctype16, align 8 + %14 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8uplow = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %14, i32 0, i32 1 + %15 = bitcast [504 x i8]* %tbl8uplow to i8* + %16 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8uplow17 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %16, i32 0, i32 15 + store i8* %15, i8** %tbl8uplow17, align 8 + %17 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8c2wc = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %17, i32 0, i32 2 + %18 = bitcast [1760 x i16]* %tbl8c2wc to i16* + %19 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8c2wc18 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %19, i32 0, i32 17 + store i16* %18, i16** %tbl8c2wc18, align 8 + %20 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8wc2c = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %20, i32 0, i32 3 + %21 = bitcast [4528 x i8]* %tbl8wc2c to i8* + %22 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8wc2c19 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %22, i32 0, i32 19 + store i8* %21, i8** %tbl8wc2c19, align 8 + %23 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tblwctype = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %23, i32 0, i32 4 + %24 = bitcast [3604 x i8]* %tblwctype to i8* + %25 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tblwctype20 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %25, i32 0, i32 21 + store i8* %24, i8** %tblwctype20, align 8 + %26 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tblwuplow = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %26, i32 0, i32 5 + %27 = bitcast [1680 x i8]* %tblwuplow to i8* + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tblwuplow21 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %28, i32 0, i32 22 + store i8* %27, i8** %tblwuplow21, align 8 + %29 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tblwuplow_diff = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %29, i32 0, i32 6 + %30 = bitcast [196 x i16]* %tblwuplow_diff to i16* + %31 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tblwuplow_diff22 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %31, i32 0, i32 23 + store i16* %30, i16** %tblwuplow_diff22, align 8 + %32 = load i16*, i16** @__C_ctype_b, align 8 + %33 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %33, i32 0, i32 0 + store i16* %32, i16** %__ctype_b, align 8 + %34 = load i16*, i16** @__C_ctype_tolower, align 8 + %35 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %35, i32 0, i32 1 + store i16* %34, i16** %__ctype_tolower, align 8 + %36 = load i16*, i16** @__C_ctype_toupper, align 8 + %37 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %37, i32 0, i32 2 + store i16* %36, i16** %__ctype_toupper, align 8 + %38 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %code2flag = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %38, i32 0, i32 20 + store i16* getelementptr inbounds ([16 x i16], [16 x i16]* @__code2flag, i64 0, i64 0), i16** %code2flag, align 8 + %39 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call23 = call i32 @_locale_set_l(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.76, i64 0, i64 0), %struct.__uclibc_locale_struct.201* %39) #18 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_locale_init() #0 { +entry: + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__global_locale, align 8 + call void @_locale_init_l(%struct.__uclibc_locale_struct.201* %0) #18 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @sigblock(i32 %mask) #0 { +entry: + %retval = alloca i32, align 4 + %mask.addr = alloca i32, align 4 + %set = alloca %struct.fd_set, align 8 + %oset = alloca %struct.fd_set, align 8 + store i32 %mask, i32* %mask.addr, align 4 + %0 = load i32, i32* %mask.addr, align 4 + %call = call i32 @sigset_set_old_mask(%struct.fd_set* %set, i32 %0) #18 + %cmp = icmp slt i32 %call, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %call1 = call i32 @sigprocmask(i32 0, %struct.fd_set* %set, %struct.fd_set* %oset) #19 + %cmp2 = icmp slt i32 %call1, 0 + br i1 %cmp2, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.end + store i32 -1, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %if.end + %call5 = call i32 @sigset_get_old_mask(%struct.fd_set* %oset) #18 + store i32 %call5, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %1 = load i32, i32* %retval, align 4 + ret i32 %1 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @sigset_set_old_mask(%struct.fd_set* %set, i32 %mask) #0 { +entry: + %set.addr = alloca %struct.fd_set*, align 8 + %mask.addr = alloca i32, align 4 + %ptr = alloca i64*, align 8 + %cnt = alloca i32, align 4 + store %struct.fd_set* %set, %struct.fd_set** %set.addr, align 8 + store i32 %mask, i32* %mask.addr, align 4 + %0 = load %struct.fd_set*, %struct.fd_set** %set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %0, i32 0, i32 0 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 0 + store i64* %arrayidx, i64** %ptr, align 8 + %1 = load i32, i32* %mask.addr, align 4 + %conv = zext i32 %1 to i64 + %2 = load i64*, i64** %ptr, align 8 + %incdec.ptr = getelementptr inbounds i64, i64* %2, i32 1 + store i64* %incdec.ptr, i64** %ptr, align 8 + store i64 %conv, i64* %2, align 8 + store i32 14, i32* %cnt, align 4 + br label %do.body + +do.body: ; preds = %do.body, %entry + %3 = load i64*, i64** %ptr, align 8 + %incdec.ptr1 = getelementptr inbounds i64, i64* %3, i32 1 + store i64* %incdec.ptr1, i64** %ptr, align 8 + store i64 0, i64* %3, align 8 + %4 = load i32, i32* %cnt, align 4 + %dec = add nsw i32 %4, -1 + store i32 %dec, i32* %cnt, align 4 + %cmp = icmp sge i32 %dec, 0 + br i1 %cmp, label %do.body, label %do.end + +do.end: ; preds = %do.body + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @sigset_get_old_mask(%struct.fd_set* %set) #0 { +entry: + %set.addr = alloca %struct.fd_set*, align 8 + store %struct.fd_set* %set, %struct.fd_set** %set.addr, align 8 + %0 = load %struct.fd_set*, %struct.fd_set** %set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %0, i32 0, i32 0 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 0 + %1 = load i64, i64* %arrayidx, align 8 + %conv = trunc i64 %1 to i32 + ret i32 %conv +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_stdio_term() #0 { +entry: + %ptr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %0, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %1, null + br i1 %tobool, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 0 + %3 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %3 to i32 + %and = and i32 %conv, 64 + %tobool1 = icmp ne i32 %and, 0 + br i1 %tobool1, label %if.then, label %for.inc + +if.then: ; preds = %for.body + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %call = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %4) #18 + br label %for.inc + +for.inc: ; preds = %for.body, %if.then + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 9 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %6, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_stdio_init() #0 { +entry: + %old_errno = alloca i32, align 4 + %0 = load i32, i32* @errno, align 4 + store i32 %0, i32* %old_errno, align 4 + %call = call i32 @isatty(i32 0) #19 + %sub = sub nsw i32 1, %call + %mul = mul i32 %sub, 256 + %1 = load i16, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 0, i32 0), align 16 + %conv = zext i16 %1 to i32 + %xor = xor i32 %conv, %mul + %conv1 = trunc i32 %xor to i16 + store i16 %conv1, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 0, i32 0), align 16 + %call2 = call i32 @isatty(i32 1) #19 + %sub3 = sub nsw i32 1, %call2 + %mul4 = mul i32 %sub3, 256 + %2 = load i16, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 1, i32 0), align 8 + %conv5 = zext i16 %2 to i32 + %xor6 = xor i32 %conv5, %mul4 + %conv7 = trunc i32 %xor6 to i16 + store i16 %conv7, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 1, i32 0), align 8 + %3 = load i32, i32* %old_errno, align 4 + store i32 %3, i32* @errno, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getchar_unlocked() #0 { +entry: + %stream = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdin, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %0, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %1, i32 0, i32 5 + %2 = load i8*, i8** %__bufpos, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 7 + %4 = load i8*, i8** %__bufgetc_u, align 8 + %cmp = icmp ult i8* %2, %4 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %entry + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 5 + %6 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + %7 = load i8, i8* %6, align 1 + %conv = zext i8 %7 to i32 + br label %cond.end + +cond.false: ; preds = %entry + %call = call i32 @__fgetc_unlocked(%struct.__STDIO_FILE_STRUCT.568* %5) #18 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ %conv, %cond.true ], [ %call, %cond.false ] + ret i32 %cond +} + +; Function Attrs: noinline noreturn nounwind uwtable +declare void @abort() #1 + +; Function Attrs: noreturn +declare void @_exit(i32) #13 + +; Function Attrs: noinline noreturn nounwind uwtable +define void @exit(i32 %rv) #1 { +entry: + %rv.addr = alloca i32, align 4 + store i32 %rv, i32* %rv.addr, align 4 + %0 = load void (i32)*, void (i32)** @__exit_cleanup, align 8 + %tobool = icmp ne void (i32)* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load void (i32)*, void (i32)** @__exit_cleanup, align 8 + %2 = load i32, i32* %rv.addr, align 4 + call void %1(i32 %2) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + call void @__uClibc_fini() #18 + call void @_stdio_term() #18 + %3 = load i32, i32* %rv.addr, align 4 + call void @_exit(i32 %3) #27 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define i8* @memcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r1 = alloca i8*, align 8 + %r2 = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %r1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %r2, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %2 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load i8*, i8** %r2, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %r2, align 8 + %4 = load i8, i8* %3, align 1 + %5 = load i8*, i8** %r1, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr1, i8** %r1, align 8 + store i8 %4, i8* %5, align 1 + %6 = load i64, i64* %n.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %7 = load i8*, i8** %s1.addr, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @memset(i8* nonnull %s, i32 %c, i64 %n) #0 { +entry: + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %n.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %1 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %2 = load i32, i32* %c.addr, align 4 + %conv = trunc i32 %2 to i8 + %3 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + store i8 %conv, i8* %3, align 1 + %4 = load i64, i64* %n.addr, align 8 + %dec = add i64 %4, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %5 = load i8*, i8** %s.addr, align 8 + ret i8* %5 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @strrchr(i8* nonnull %s, i32 %c) #14 { +entry: + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i8* null, i8** %p, align 8 + br label %do.body + +do.body: ; preds = %do.cond, %entry + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %2 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %2 to i8 + %conv2 = sext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + br i1 %cmp, label %if.then, label %do.cond + +if.then: ; preds = %do.body + %3 = load i8*, i8** %s.addr, align 8 + store i8* %3, i8** %p, align 8 + br label %do.cond + +do.cond: ; preds = %do.body, %if.then + %4 = load i8*, i8** %s.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr, i8** %s.addr, align 8 + %5 = load i8, i8* %4, align 1 + %tobool = icmp ne i8 %5, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %6 = load i8*, i8** %p, align 8 + ret i8* %6 +} + +; Function Attrs: noinline noreturn nounwind uwtable +define dso_local void @usage(i32 %status) #6 { +entry: + %status.addr = alloca i32, align 4 + store i32 %status, i32* %status.addr, align 4 + %0 = load i8*, i8** @program_name, align 8 + %1 = load i8*, i8** @program_name, align 8 + %call = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([61 x i8], [61 x i8]* @.str.96, i64 0, i64 0), i8* %0, i8* %1) + %call1 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.97, i64 0, i64 0), i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2.98, i64 0, i64 0)) + %2 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call2 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.3.99, i64 0, i64 0), %struct._IO_FILE* %2) + %3 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call3 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.4.100, i64 0, i64 0), %struct._IO_FILE* %3) + %call4 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([191 x i8], [191 x i8]* @.str.5.101, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.6.102, i64 0, i64 0)) + call void @emit_ancillary_info(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.6.102, i64 0, i64 0)) + %4 = load i32, i32* %status.addr, align 4 + call void @exit(i32 %4) #26 + unreachable +} + +declare dso_local i32 @printf(i8*, ...) #5 + +; Function Attrs: noinline nounwind uwtable +define internal void @emit_ancillary_info(i8* %program) #3 { +entry: + %program.addr = alloca i8*, align 8 + %infomap = alloca [7 x %struct.infomap], align 16 + %node = alloca i8*, align 8 + %map_prog = alloca %struct.infomap*, align 8 + %lc_messages = alloca i8*, align 8 + store i8* %program, i8** %program.addr, align 8 + %0 = bitcast [7 x %struct.infomap]* %infomap to i8* + %1 = call i8* @memcpy(i8* %0, i8* bitcast ([7 x %struct.infomap]* @__const.emit_ancillary_info.infomap to i8*), i64 112) + %2 = load i8*, i8** %program.addr, align 8 + store i8* %2, i8** %node, align 8 + %arraydecay = getelementptr inbounds [7 x %struct.infomap], [7 x %struct.infomap]* %infomap, i64 0, i64 0 + store %struct.infomap* %arraydecay, %struct.infomap** %map_prog, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %3 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + %program1 = getelementptr inbounds %struct.infomap, %struct.infomap* %3, i32 0, i32 0 + %4 = load i8*, i8** %program1, align 8 + %tobool = icmp ne i8* %4, null + br i1 %tobool, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %5 = load i8*, i8** %program.addr, align 8 + %6 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + %program2 = getelementptr inbounds %struct.infomap, %struct.infomap* %6, i32 0, i32 0 + %7 = load i8*, i8** %program2, align 8 + %call = call i32 @strcmp(i8* %5, i8* %7) #23 + %cmp = icmp eq i32 %call, 0 + %lnot = xor i1 %cmp, true + br label %land.end + +land.end: ; preds = %land.rhs, %while.cond + %8 = phi i1 [ false, %while.cond ], [ %lnot, %land.rhs ] + %9 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + br i1 %8, label %while.body, label %while.end + +while.body: ; preds = %land.end + %incdec.ptr = getelementptr inbounds %struct.infomap, %struct.infomap* %9, i32 1 + store %struct.infomap* %incdec.ptr, %struct.infomap** %map_prog, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %node3 = getelementptr inbounds %struct.infomap, %struct.infomap* %9, i32 0, i32 1 + %10 = load i8*, i8** %node3, align 8 + %tobool4 = icmp ne i8* %10, null + br i1 %tobool4, label %if.then, label %if.end + +if.then: ; preds = %while.end + %11 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + %node5 = getelementptr inbounds %struct.infomap, %struct.infomap* %11, i32 0, i32 1 + %12 = load i8*, i8** %node5, align 8 + store i8* %12, i8** %node, align 8 + br label %if.end + +if.end: ; preds = %if.then, %while.end + %call6 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.21.103, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.10.104, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.22.105, i64 0, i64 0)) + %call7 = call i8* @setlocale(i32 5, i8* null) #11 + store i8* %call7, i8** %lc_messages, align 8 + %13 = load i8*, i8** %lc_messages, align 8 + %tobool8 = icmp ne i8* %13, null + br i1 %tobool8, label %land.lhs.true, label %if.end13 + +land.lhs.true: ; preds = %if.end + %14 = load i8*, i8** %lc_messages, align 8 + %call9 = call i32 @strncmp(i8* %14, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.23.106, i64 0, i64 0), i64 3) #23 + %tobool10 = icmp ne i32 %call9, 0 + br i1 %tobool10, label %if.then11, label %if.end13 + +if.then11: ; preds = %land.lhs.true + %15 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call12 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.24.107, i64 0, i64 0), %struct._IO_FILE* %15) + br label %if.end13 + +if.end13: ; preds = %if.then11, %land.lhs.true, %if.end + %16 = load i8*, i8** %program.addr, align 8 + %call14 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.25.108, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.22.105, i64 0, i64 0), i8* %16) + %17 = load i8*, i8** %node, align 8 + %18 = load i8*, i8** %node, align 8 + %19 = load i8*, i8** %program.addr, align 8 + %cmp15 = icmp eq i8* %18, %19 + %20 = zext i1 %cmp15 to i64 + %cond = select i1 %cmp15, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.27.109, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.7.110, i64 0, i64 0) + %call16 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([51 x i8], [51 x i8]* @.str.26.111, i64 0, i64 0), i8* %17, i8* %cond) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__klee_posix_wrapped_main(i32 %argc, i8** %argv) #3 { +entry: + %retval = alloca i32, align 4 + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + store i32 0, i32* %retval, align 4 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + %0 = load i32, i32* %argc.addr, align 4 + %cmp = icmp eq i32 %0, 2 + br i1 %cmp, label %if.then, label %if.end11 + +if.then: ; preds = %entry + %1 = load i8**, i8*** %argv.addr, align 8 + %arrayidx = getelementptr inbounds i8*, i8** %1, i64 0 + %2 = load i8*, i8** %arrayidx, align 8 + call void @set_program_name(i8* %2) + %call = call i8* @setlocale(i32 6, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.7.110, i64 0, i64 0)) #11 + %call1 = call i32 @atexit(void ()* @close_stdout) #11 + %3 = load i8**, i8*** %argv.addr, align 8 + %arrayidx2 = getelementptr inbounds i8*, i8** %3, i64 1 + %4 = load i8*, i8** %arrayidx2, align 8 + %call3 = call i32 @strcmp(i8* %4, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.8.123, i64 0, i64 0)) #23 + %cmp4 = icmp eq i32 %call3, 0 + br i1 %cmp4, label %if.then5, label %if.end + +if.then5: ; preds = %if.then + call void @usage(i32 1) #24 + unreachable + +if.end: ; preds = %if.then + %5 = load i8**, i8*** %argv.addr, align 8 + %arrayidx6 = getelementptr inbounds i8*, i8** %5, i64 1 + %6 = load i8*, i8** %arrayidx6, align 8 + %call7 = call i32 @strcmp(i8* %6, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.9.124, i64 0, i64 0)) #23 + %cmp8 = icmp eq i32 %call7, 0 + br i1 %cmp8, label %if.then9, label %if.end11 + +if.then9: ; preds = %if.end + %7 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %8 = load i8*, i8** @Version, align 8 + call void (%struct._IO_FILE*, i8*, i8*, i8*, ...) @version_etc(%struct._IO_FILE* %7, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.6.102, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.10.104, i64 0, i64 0), i8* %8, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.11.125, i64 0, i64 0), i8* null) + br label %if.end11 + +if.end11: ; preds = %if.end, %if.then9, %entry + ret i32 1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_program_name(i8* %argv0) #3 { +entry: + %argv0.addr = alloca i8*, align 8 + %slash = alloca i8*, align 8 + %base = alloca i8*, align 8 + store i8* %argv0, i8** %argv0.addr, align 8 + %0 = load i8*, i8** %argv0.addr, align 8 + %cmp = icmp eq i8* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stderr to %struct._IO_FILE**), align 8 + %call = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.40, i64 0, i64 0), %struct._IO_FILE* %1) + call void @abort() #26 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %argv0.addr, align 8 + %call1 = call i8* @strrchr(i8* %2, i32 47) #23 + store i8* %call1, i8** %slash, align 8 + %3 = load i8*, i8** %slash, align 8 + %cmp2 = icmp ne i8* %3, null + %4 = load i8*, i8** %slash, align 8 + %add.ptr = getelementptr inbounds i8, i8* %4, i64 1 + %5 = load i8*, i8** %argv0.addr, align 8 + %cond = select i1 %cmp2, i8* %add.ptr, i8* %5 + store i8* %cond, i8** %base, align 8 + %6 = load i8*, i8** %base, align 8 + %7 = load i8*, i8** %argv0.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %6 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %cmp3 = icmp sge i64 %sub.ptr.sub, 7 + br i1 %cmp3, label %land.lhs.true, label %if.end13 + +land.lhs.true: ; preds = %if.end + %8 = load i8*, i8** %base, align 8 + %add.ptr4 = getelementptr inbounds i8, i8* %8, i64 -7 + %call5 = call i32 @strncmp(i8* %add.ptr4, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1.41, i64 0, i64 0), i64 7) #23 + %cmp6 = icmp eq i32 %call5, 0 + br i1 %cmp6, label %if.then7, label %if.end13 + +if.then7: ; preds = %land.lhs.true + %9 = load i8*, i8** %base, align 8 + store i8* %9, i8** %argv0.addr, align 8 + %10 = load i8*, i8** %base, align 8 + %call8 = call i32 @strncmp(i8* %10, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2.42, i64 0, i64 0), i64 3) #23 + %cmp9 = icmp eq i32 %call8, 0 + br i1 %cmp9, label %if.then10, label %if.end13 + +if.then10: ; preds = %if.then7 + %11 = load i8*, i8** %base, align 8 + %add.ptr11 = getelementptr inbounds i8, i8* %11, i64 3 + store i8* %add.ptr11, i8** %argv0.addr, align 8 + %12 = load i8*, i8** %argv0.addr, align 8 + store i8* %12, i8** @program_invocation_short_name, align 8 + br label %if.end13 + +if.end13: ; preds = %if.then7, %if.then10, %land.lhs.true, %if.end + %13 = load i8*, i8** %argv0.addr, align 8 + store i8* %13, i8** @program_name, align 8 + %14 = load i8*, i8** %argv0.addr, align 8 + store i8* %14, i8** @program_invocation_name, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @close_stdout() #3 { +entry: + %write_error = alloca i8*, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call = call i32 @close_stream(%struct._IO_FILE* %0) + %cmp = icmp ne i32 %call, 0 + br i1 %cmp, label %land.lhs.true, label %if.end9 + +land.lhs.true: ; preds = %entry + %1 = load i8, i8* @ignore_EPIPE, align 1 + %tobool = trunc i8 %1 to i1 + br i1 %tobool, label %land.lhs.true1, label %if.then + +land.lhs.true1: ; preds = %land.lhs.true + %call2 = call i32* @__errno_location() #25 + %2 = load i32, i32* %call2, align 4 + %cmp3 = icmp eq i32 %2, 32 + br i1 %cmp3, label %if.end9, label %if.then + +if.then: ; preds = %land.lhs.true1, %land.lhs.true + store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.31.126, i64 0, i64 0), i8** %write_error, align 8 + %3 = load i8*, i8** @file_name, align 8 + %tobool4 = icmp ne i8* %3, null + %call6 = call i32* @__errno_location() #25 + %4 = load i32, i32* %call6, align 4 + br i1 %tobool4, label %if.then5, label %if.else + +if.then5: ; preds = %if.then + %5 = load i8*, i8** @file_name, align 8 + %call7 = call i8* @quotearg_colon(i8* %5) + %6 = load i8*, i8** %write_error, align 8 + call void (i32, i32, i8*, ...) @error(i32 0, i32 %4, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.32, i64 0, i64 0), i8* %call7, i8* %6) + br label %if.end + +if.else: ; preds = %if.then + %7 = load i8*, i8** %write_error, align 8 + call void (i32, i32, i8*, ...) @error(i32 0, i32 %4, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2.33, i64 0, i64 0), i8* %7) + br label %if.end + +if.end: ; preds = %if.else, %if.then5 + %8 = load volatile i32, i32* @exit_failure, align 4 + call void @_exit(i32 %8) #24 + unreachable + +if.end9: ; preds = %land.lhs.true1, %entry + %9 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stderr to %struct._IO_FILE**), align 8 + %call10 = call i32 @close_stream(%struct._IO_FILE* %9) + %cmp11 = icmp ne i32 %call10, 0 + br i1 %cmp11, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.end9 + %10 = load volatile i32, i32* @exit_failure, align 4 + call void @_exit(i32 %10) #24 + unreachable + +if.end13: ; preds = %if.end9 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, ...) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors = alloca [1 x %struct.__va_list_tag.0], align 16 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %authors, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %1 = load i8*, i8** %command_name.addr, align 8 + %2 = load i8*, i8** %package.addr, align 8 + %3 = load i8*, i8** %version.addr, align 8 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %authors, i64 0, i64 0 + call void @version_etc_va(%struct._IO_FILE* %0, i8* %1, i8* %2, i8* %3, %struct.__va_list_tag.0* %arraydecay2) + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %authors, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc_va(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, %struct.__va_list_tag.0* %authors) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors.addr = alloca %struct.__va_list_tag.0*, align 8 + %n_authors = alloca i64, align 8 + %authtab = alloca [10 x i8*], align 16 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + store %struct.__va_list_tag.0* %authors, %struct.__va_list_tag.0** %authors.addr, align 8 + store i64 0, i64* %n_authors, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i64, i64* %n_authors, align 8 + %cmp = icmp ult i64 %0, 10 + br i1 %cmp, label %land.rhs, label %for.end + +land.rhs: ; preds = %for.cond + %1 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %authors.addr, align 8 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %1, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 8 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %land.rhs + %2 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %1, i32 0, i32 3 + %reg_save_area = load i8*, i8** %2, align 8 + %3 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %4 = bitcast i8* %3 to i8** + %5 = add i32 %gp_offset, 8 + store i32 %5, i32* %gp_offset_p, align 8 + br label %vaarg.end + +vaarg.in_mem: ; preds = %land.rhs + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %1, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %6 = bitcast i8* %overflow_arg_area to i8** + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i8** [ %4, %vaarg.in_reg ], [ %6, %vaarg.in_mem ] + %7 = load i8*, i8** %vaarg.addr, align 8 + %8 = load i64, i64* %n_authors, align 8 + %arrayidx = getelementptr inbounds [10 x i8*], [10 x i8*]* %authtab, i64 0, i64 %8 + store i8* %7, i8** %arrayidx, align 8 + %cmp1 = icmp ne i8* %7, null + br i1 %cmp1, label %for.inc, label %for.end + +for.inc: ; preds = %vaarg.end + %9 = load i64, i64* %n_authors, align 8 + %inc = add i64 %9, 1 + store i64 %inc, i64* %n_authors, align 8 + br label %for.cond + +for.end: ; preds = %for.cond, %vaarg.end + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %11 = load i8*, i8** %command_name.addr, align 8 + %12 = load i8*, i8** %package.addr, align 8 + %13 = load i8*, i8** %version.addr, align 8 + %arraydecay = getelementptr inbounds [10 x i8*], [10 x i8*]* %authtab, i64 0, i64 0 + %14 = load i64, i64* %n_authors, align 8 + call void @version_etc_arn(%struct._IO_FILE* %10, i8* %11, i8* %12, i8* %13, i8** %arraydecay, i64 %14) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc_arn(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, i8** %authors, i64 %n_authors) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors.addr = alloca i8**, align 8 + %n_authors.addr = alloca i64, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + store i8** %authors, i8*** %authors.addr, align 8 + store i64 %n_authors, i64* %n_authors.addr, align 8 + %0 = load i8*, i8** %command_name.addr, align 8 + %tobool = icmp ne i8* %0, null + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %entry + %2 = load i8*, i8** %command_name.addr, align 8 + %3 = load i8*, i8** %package.addr, align 8 + %4 = load i8*, i8** %version.addr, align 8 + %call = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %1, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.64, i64 0, i64 0), i8* %2, i8* %3, i8* %4) + br label %if.end + +if.else: ; preds = %entry + %5 = load i8*, i8** %package.addr, align 8 + %6 = load i8*, i8** %version.addr, align 8 + %call1 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %1, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.65, i64 0, i64 0), i8* %5, i8* %6) + br label %if.end + +if.end: ; preds = %if.else, %if.then + %7 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call2 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %7, i8* getelementptr inbounds ([47 x i8], [47 x i8]* @version_etc_copyright, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2.66, i64 0, i64 0), i32 2020) + %8 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call3 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.67, i64 0, i64 0), %struct._IO_FILE* %8) + %9 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call4 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %9, i8* getelementptr inbounds ([171 x i8], [171 x i8]* @.str.4.68, i64 0, i64 0), i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.5.69, i64 0, i64 0)) + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call5 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.67, i64 0, i64 0), %struct._IO_FILE* %10) + %11 = load i64, i64* %n_authors.addr, align 8 + br label %NodeBlock17 + +NodeBlock17: ; preds = %if.end + %case.cmp18 = icmp eq i64 %11, 0 + br i1 %case.cmp18, label %sw.epilog, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i64 %11, 1 + br i1 %case.cmp16, label %sw.bb6, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i64 %11, 2 + br i1 %case.cmp14, label %sw.bb8, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i64 %11, 3 + br i1 %case.cmp12, label %sw.bb12, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i64 %11, 4 + br i1 %case.cmp10, label %sw.bb17, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i64 %11, 5 + br i1 %case.cmp8, label %sw.bb23, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i64 %11, 6 + br i1 %case.cmp6, label %sw.bb30, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i64 %11, 7 + br i1 %case.cmp4, label %sw.bb38, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i64 %11, 8 + br i1 %case.cmp2, label %sw.bb47, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i64 %11, 9 + br i1 %case.cmp, label %sw.bb57, label %newDefault + +sw.bb6: ; preds = %NodeBlock15 + %12 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %13 = load i8**, i8*** %authors.addr, align 8 + %arrayidx = getelementptr inbounds i8*, i8** %13, i64 0 + %14 = load i8*, i8** %arrayidx, align 8 + %call7 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %12, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.6.70, i64 0, i64 0), i8* %14) + br label %sw.epilog + +sw.bb8: ; preds = %NodeBlock13 + %15 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %16 = load i8**, i8*** %authors.addr, align 8 + %arrayidx9 = getelementptr inbounds i8*, i8** %16, i64 0 + %17 = load i8*, i8** %arrayidx9, align 8 + %18 = load i8**, i8*** %authors.addr, align 8 + %arrayidx10 = getelementptr inbounds i8*, i8** %18, i64 1 + %19 = load i8*, i8** %arrayidx10, align 8 + %call11 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %15, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.7.71, i64 0, i64 0), i8* %17, i8* %19) + br label %sw.epilog + +sw.bb12: ; preds = %NodeBlock11 + %20 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %21 = load i8**, i8*** %authors.addr, align 8 + %arrayidx13 = getelementptr inbounds i8*, i8** %21, i64 0 + %22 = load i8*, i8** %arrayidx13, align 8 + %23 = load i8**, i8*** %authors.addr, align 8 + %arrayidx14 = getelementptr inbounds i8*, i8** %23, i64 1 + %24 = load i8*, i8** %arrayidx14, align 8 + %25 = load i8**, i8*** %authors.addr, align 8 + %arrayidx15 = getelementptr inbounds i8*, i8** %25, i64 2 + %26 = load i8*, i8** %arrayidx15, align 8 + %call16 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %20, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.8.72, i64 0, i64 0), i8* %22, i8* %24, i8* %26) + br label %sw.epilog + +sw.bb17: ; preds = %NodeBlock9 + %27 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %28 = load i8**, i8*** %authors.addr, align 8 + %arrayidx18 = getelementptr inbounds i8*, i8** %28, i64 0 + %29 = load i8*, i8** %arrayidx18, align 8 + %30 = load i8**, i8*** %authors.addr, align 8 + %arrayidx19 = getelementptr inbounds i8*, i8** %30, i64 1 + %31 = load i8*, i8** %arrayidx19, align 8 + %32 = load i8**, i8*** %authors.addr, align 8 + %arrayidx20 = getelementptr inbounds i8*, i8** %32, i64 2 + %33 = load i8*, i8** %arrayidx20, align 8 + %34 = load i8**, i8*** %authors.addr, align 8 + %arrayidx21 = getelementptr inbounds i8*, i8** %34, i64 3 + %35 = load i8*, i8** %arrayidx21, align 8 + %call22 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %27, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.9.73, i64 0, i64 0), i8* %29, i8* %31, i8* %33, i8* %35) + br label %sw.epilog + +sw.bb23: ; preds = %NodeBlock7 + %36 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %37 = load i8**, i8*** %authors.addr, align 8 + %arrayidx24 = getelementptr inbounds i8*, i8** %37, i64 0 + %38 = load i8*, i8** %arrayidx24, align 8 + %39 = load i8**, i8*** %authors.addr, align 8 + %arrayidx25 = getelementptr inbounds i8*, i8** %39, i64 1 + %40 = load i8*, i8** %arrayidx25, align 8 + %41 = load i8**, i8*** %authors.addr, align 8 + %arrayidx26 = getelementptr inbounds i8*, i8** %41, i64 2 + %42 = load i8*, i8** %arrayidx26, align 8 + %43 = load i8**, i8*** %authors.addr, align 8 + %arrayidx27 = getelementptr inbounds i8*, i8** %43, i64 3 + %44 = load i8*, i8** %arrayidx27, align 8 + %45 = load i8**, i8*** %authors.addr, align 8 + %arrayidx28 = getelementptr inbounds i8*, i8** %45, i64 4 + %46 = load i8*, i8** %arrayidx28, align 8 + %call29 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %36, i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.10.74, i64 0, i64 0), i8* %38, i8* %40, i8* %42, i8* %44, i8* %46) + br label %sw.epilog + +sw.bb30: ; preds = %NodeBlock5 + %47 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %48 = load i8**, i8*** %authors.addr, align 8 + %arrayidx31 = getelementptr inbounds i8*, i8** %48, i64 0 + %49 = load i8*, i8** %arrayidx31, align 8 + %50 = load i8**, i8*** %authors.addr, align 8 + %arrayidx32 = getelementptr inbounds i8*, i8** %50, i64 1 + %51 = load i8*, i8** %arrayidx32, align 8 + %52 = load i8**, i8*** %authors.addr, align 8 + %arrayidx33 = getelementptr inbounds i8*, i8** %52, i64 2 + %53 = load i8*, i8** %arrayidx33, align 8 + %54 = load i8**, i8*** %authors.addr, align 8 + %arrayidx34 = getelementptr inbounds i8*, i8** %54, i64 3 + %55 = load i8*, i8** %arrayidx34, align 8 + %56 = load i8**, i8*** %authors.addr, align 8 + %arrayidx35 = getelementptr inbounds i8*, i8** %56, i64 4 + %57 = load i8*, i8** %arrayidx35, align 8 + %58 = load i8**, i8*** %authors.addr, align 8 + %arrayidx36 = getelementptr inbounds i8*, i8** %58, i64 5 + %59 = load i8*, i8** %arrayidx36, align 8 + %call37 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %47, i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.11.75, i64 0, i64 0), i8* %49, i8* %51, i8* %53, i8* %55, i8* %57, i8* %59) + br label %sw.epilog + +sw.bb38: ; preds = %NodeBlock3 + %60 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %61 = load i8**, i8*** %authors.addr, align 8 + %arrayidx39 = getelementptr inbounds i8*, i8** %61, i64 0 + %62 = load i8*, i8** %arrayidx39, align 8 + %63 = load i8**, i8*** %authors.addr, align 8 + %arrayidx40 = getelementptr inbounds i8*, i8** %63, i64 1 + %64 = load i8*, i8** %arrayidx40, align 8 + %65 = load i8**, i8*** %authors.addr, align 8 + %arrayidx41 = getelementptr inbounds i8*, i8** %65, i64 2 + %66 = load i8*, i8** %arrayidx41, align 8 + %67 = load i8**, i8*** %authors.addr, align 8 + %arrayidx42 = getelementptr inbounds i8*, i8** %67, i64 3 + %68 = load i8*, i8** %arrayidx42, align 8 + %69 = load i8**, i8*** %authors.addr, align 8 + %arrayidx43 = getelementptr inbounds i8*, i8** %69, i64 4 + %70 = load i8*, i8** %arrayidx43, align 8 + %71 = load i8**, i8*** %authors.addr, align 8 + %arrayidx44 = getelementptr inbounds i8*, i8** %71, i64 5 + %72 = load i8*, i8** %arrayidx44, align 8 + %73 = load i8**, i8*** %authors.addr, align 8 + %arrayidx45 = getelementptr inbounds i8*, i8** %73, i64 6 + %74 = load i8*, i8** %arrayidx45, align 8 + %call46 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %60, i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.12.76, i64 0, i64 0), i8* %62, i8* %64, i8* %66, i8* %68, i8* %70, i8* %72, i8* %74) + br label %sw.epilog + +sw.bb47: ; preds = %NodeBlock1 + %75 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %76 = load i8**, i8*** %authors.addr, align 8 + %arrayidx48 = getelementptr inbounds i8*, i8** %76, i64 0 + %77 = load i8*, i8** %arrayidx48, align 8 + %78 = load i8**, i8*** %authors.addr, align 8 + %arrayidx49 = getelementptr inbounds i8*, i8** %78, i64 1 + %79 = load i8*, i8** %arrayidx49, align 8 + %80 = load i8**, i8*** %authors.addr, align 8 + %arrayidx50 = getelementptr inbounds i8*, i8** %80, i64 2 + %81 = load i8*, i8** %arrayidx50, align 8 + %82 = load i8**, i8*** %authors.addr, align 8 + %arrayidx51 = getelementptr inbounds i8*, i8** %82, i64 3 + %83 = load i8*, i8** %arrayidx51, align 8 + %84 = load i8**, i8*** %authors.addr, align 8 + %arrayidx52 = getelementptr inbounds i8*, i8** %84, i64 4 + %85 = load i8*, i8** %arrayidx52, align 8 + %86 = load i8**, i8*** %authors.addr, align 8 + %arrayidx53 = getelementptr inbounds i8*, i8** %86, i64 5 + %87 = load i8*, i8** %arrayidx53, align 8 + %88 = load i8**, i8*** %authors.addr, align 8 + %arrayidx54 = getelementptr inbounds i8*, i8** %88, i64 6 + %89 = load i8*, i8** %arrayidx54, align 8 + %90 = load i8**, i8*** %authors.addr, align 8 + %arrayidx55 = getelementptr inbounds i8*, i8** %90, i64 7 + %91 = load i8*, i8** %arrayidx55, align 8 + %call56 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %75, i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.13.77, i64 0, i64 0), i8* %77, i8* %79, i8* %81, i8* %83, i8* %85, i8* %87, i8* %89, i8* %91) + br label %sw.epilog + +sw.bb57: ; preds = %NodeBlock + %92 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %93 = load i8**, i8*** %authors.addr, align 8 + %arrayidx58 = getelementptr inbounds i8*, i8** %93, i64 0 + %94 = load i8*, i8** %arrayidx58, align 8 + %95 = load i8**, i8*** %authors.addr, align 8 + %arrayidx59 = getelementptr inbounds i8*, i8** %95, i64 1 + %96 = load i8*, i8** %arrayidx59, align 8 + %97 = load i8**, i8*** %authors.addr, align 8 + %arrayidx60 = getelementptr inbounds i8*, i8** %97, i64 2 + %98 = load i8*, i8** %arrayidx60, align 8 + %99 = load i8**, i8*** %authors.addr, align 8 + %arrayidx61 = getelementptr inbounds i8*, i8** %99, i64 3 + %100 = load i8*, i8** %arrayidx61, align 8 + %101 = load i8**, i8*** %authors.addr, align 8 + %arrayidx62 = getelementptr inbounds i8*, i8** %101, i64 4 + %102 = load i8*, i8** %arrayidx62, align 8 + %103 = load i8**, i8*** %authors.addr, align 8 + %arrayidx63 = getelementptr inbounds i8*, i8** %103, i64 5 + %104 = load i8*, i8** %arrayidx63, align 8 + %105 = load i8**, i8*** %authors.addr, align 8 + %arrayidx64 = getelementptr inbounds i8*, i8** %105, i64 6 + %106 = load i8*, i8** %arrayidx64, align 8 + %107 = load i8**, i8*** %authors.addr, align 8 + %arrayidx65 = getelementptr inbounds i8*, i8** %107, i64 7 + %108 = load i8*, i8** %arrayidx65, align 8 + %109 = load i8**, i8*** %authors.addr, align 8 + %arrayidx66 = getelementptr inbounds i8*, i8** %109, i64 8 + %110 = load i8*, i8** %arrayidx66, align 8 + %call67 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %92, i8* getelementptr inbounds ([52 x i8], [52 x i8]* @.str.14.78, i64 0, i64 0), i8* %94, i8* %96, i8* %98, i8* %100, i8* %102, i8* %104, i8* %106, i8* %108, i8* %110) + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + %111 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %112 = load i8**, i8*** %authors.addr, align 8 + %arrayidx68 = getelementptr inbounds i8*, i8** %112, i64 0 + %113 = load i8*, i8** %arrayidx68, align 8 + %114 = load i8**, i8*** %authors.addr, align 8 + %arrayidx69 = getelementptr inbounds i8*, i8** %114, i64 1 + %115 = load i8*, i8** %arrayidx69, align 8 + %116 = load i8**, i8*** %authors.addr, align 8 + %arrayidx70 = getelementptr inbounds i8*, i8** %116, i64 2 + %117 = load i8*, i8** %arrayidx70, align 8 + %118 = load i8**, i8*** %authors.addr, align 8 + %arrayidx71 = getelementptr inbounds i8*, i8** %118, i64 3 + %119 = load i8*, i8** %arrayidx71, align 8 + %120 = load i8**, i8*** %authors.addr, align 8 + %arrayidx72 = getelementptr inbounds i8*, i8** %120, i64 4 + %121 = load i8*, i8** %arrayidx72, align 8 + %122 = load i8**, i8*** %authors.addr, align 8 + %arrayidx73 = getelementptr inbounds i8*, i8** %122, i64 5 + %123 = load i8*, i8** %arrayidx73, align 8 + %124 = load i8**, i8*** %authors.addr, align 8 + %arrayidx74 = getelementptr inbounds i8*, i8** %124, i64 6 + %125 = load i8*, i8** %arrayidx74, align 8 + %126 = load i8**, i8*** %authors.addr, align 8 + %arrayidx75 = getelementptr inbounds i8*, i8** %126, i64 7 + %127 = load i8*, i8** %arrayidx75, align 8 + %128 = load i8**, i8*** %authors.addr, align 8 + %arrayidx76 = getelementptr inbounds i8*, i8** %128, i64 8 + %129 = load i8*, i8** %arrayidx76, align 8 + %call77 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %111, i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.15.79, i64 0, i64 0), i8* %113, i8* %115, i8* %117, i8* %119, i8* %121, i8* %123, i8* %125, i8* %127, i8* %129) + br label %sw.epilog + +sw.epilog: ; preds = %NodeBlock17, %sw.default, %sw.bb57, %sw.bb47, %sw.bb38, %sw.bb30, %sw.bb23, %sw.bb17, %sw.bb12, %sw.bb8, %sw.bb6 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @close_stream(%struct._IO_FILE* %stream) #3 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct._IO_FILE*, align 8 + %some_pending = alloca i8, align 1 + %prev_fail = alloca i8, align 1 + %fclose_fail = alloca i8, align 1 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.513*)* @__fpending to i64 (%struct._IO_FILE*)*)(%struct._IO_FILE* %0) #11 + %cmp = icmp ne i64 %call, 0 + %frombool = zext i1 %cmp to i8 + store i8 %frombool, i8* %some_pending, align 1 + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call1 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.592*)* @ferror_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %1) #11 + %cmp2 = icmp ne i32 %call1, 0 + %frombool3 = zext i1 %cmp2 to i8 + store i8 %frombool3, i8* %prev_fail, align 1 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call4 = call i32 @rpl_fclose(%struct._IO_FILE* %2) + %cmp5 = icmp ne i32 %call4, 0 + %frombool6 = zext i1 %cmp5 to i8 + store i8 %frombool6, i8* %fclose_fail, align 1 + %3 = load i8, i8* %prev_fail, align 1 + %tobool = trunc i8 %3 to i1 + br i1 %tobool, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %4 = load i8, i8* %fclose_fail, align 1 + %tobool7 = trunc i8 %4 to i1 + br i1 %tobool7, label %land.lhs.true, label %if.end15 + +land.lhs.true: ; preds = %lor.lhs.false + %5 = load i8, i8* %some_pending, align 1 + %tobool8 = trunc i8 %5 to i1 + br i1 %tobool8, label %if.then, label %lor.lhs.false9 + +lor.lhs.false9: ; preds = %land.lhs.true + %call10 = call i32* @__errno_location() #25 + %6 = load i32, i32* %call10, align 4 + %cmp11 = icmp ne i32 %6, 9 + br i1 %cmp11, label %if.then, label %if.end15 + +if.then: ; preds = %lor.lhs.false9, %land.lhs.true, %entry + %7 = load i8, i8* %fclose_fail, align 1 + %tobool12 = trunc i8 %7 to i1 + br i1 %tobool12, label %if.end, label %if.then13 + +if.then13: ; preds = %if.then + %call14 = call i32* @__errno_location() #25 + store i32 0, i32* %call14, align 4 + br label %if.end + +if.end: ; preds = %if.then13, %if.then + store i32 -1, i32* %retval, align 4 + br label %return + +if.end15: ; preds = %lor.lhs.false9, %lor.lhs.false + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end15, %if.end + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_colon(i8* %arg) #3 { +entry: + %arg.addr = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_char(i8* %0, i8 signext 58) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_char(i8* %arg, i8 signext %ch) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %ch.addr = alloca i8, align 1 + store i8* %arg, i8** %arg.addr, align 8 + store i8 %ch, i8* %ch.addr, align 1 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i8, i8* %ch.addr, align 1 + %call = call i8* @quotearg_char_mem(i8* %0, i64 -1, i8 signext %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_char_mem(i8* %arg, i64 %argsize, i8 signext %ch) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %ch.addr = alloca i8, align 1 + %options = alloca %struct.quoting_options, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store i8 %ch, i8* %ch.addr, align 1 + %0 = bitcast %struct.quoting_options* %options to i8* + %1 = call i8* @memcpy(i8* %0, i8* bitcast (%struct.quoting_options* @default_quoting_options to i8*), i64 56) + %2 = load i8, i8* %ch.addr, align 1 + %call = call i32 @set_char_quoting(%struct.quoting_options* %options, i8 signext %2, i32 1) + %3 = load i8*, i8** %arg.addr, align 8 + %4 = load i64, i64* %argsize.addr, align 8 + %call1 = call i8* @quotearg_n_options(i32 0, i8* %3, i64 %4, %struct.quoting_options* %options) + ret i8* %call1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @set_char_quoting(%struct.quoting_options* %o, i8 signext %c, i32 %i) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %c.addr = alloca i8, align 1 + %i.addr = alloca i32, align 4 + %uc = alloca i8, align 1 + %p = alloca i32*, align 8 + %shift = alloca i32, align 4 + %r = alloca i32, align 4 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i8 %c, i8* %c.addr, align 1 + store i32 %i, i32* %i.addr, align 4 + %0 = load i8, i8* %c.addr, align 1 + store i8 %0, i8* %uc, align 1 + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %1, null + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %2, %struct.quoting_options* @default_quoting_options + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %cond, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %3 = load i8, i8* %uc, align 1 + %conv = zext i8 %3 to i64 + %div = udiv i64 %conv, 32 + %add.ptr = getelementptr inbounds i32, i32* %arraydecay, i64 %div + store i32* %add.ptr, i32** %p, align 8 + %4 = load i8, i8* %uc, align 1 + %conv1 = zext i8 %4 to i64 + %rem = urem i64 %conv1, 32 + %conv2 = trunc i64 %rem to i32 + store i32 %conv2, i32* %shift, align 4 + %5 = load i32*, i32** %p, align 8 + %6 = load i32, i32* %5, align 4 + %7 = load i32, i32* %shift, align 4 + %shr = lshr i32 %6, %7 + %and = and i32 %shr, 1 + store i32 %and, i32* %r, align 4 + %8 = load i32, i32* %i.addr, align 4 + %and3 = and i32 %8, 1 + %9 = load i32, i32* %r, align 4 + %xor = xor i32 %and3, %9 + %10 = load i32, i32* %shift, align 4 + %shl = shl i32 %xor, %10 + %11 = load i32*, i32** %p, align 8 + %12 = load i32, i32* %11, align 4 + %xor4 = xor i32 %12, %shl + store i32 %xor4, i32* %11, align 4 + %13 = load i32, i32* %r, align 4 + ret i32 %13 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @quotearg_n_options(i32 %n, i8* %arg, i64 %argsize, %struct.quoting_options* %options) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %options.addr = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %sv = alloca %struct.slotvec*, align 8 + %preallocated = alloca i8, align 1 + %nmax = alloca i32, align 4 + %size = alloca i64, align 8 + %val = alloca i8*, align 8 + %flags = alloca i32, align 4 + %qsize = alloca i64, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store %struct.quoting_options* %options, %struct.quoting_options** %options.addr, align 8 + %call = call i32* @__errno_location() #25 + %0 = load i32, i32* %call, align 4 + store i32 %0, i32* %e, align 4 + %1 = load %struct.slotvec*, %struct.slotvec** @slotvec, align 8 + store %struct.slotvec* %1, %struct.slotvec** %sv, align 8 + %2 = load i32, i32* %n.addr, align 4 + %cmp = icmp slt i32 %2, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @abort() #26 + unreachable + +if.end: ; preds = %entry + %3 = load i32, i32* @nslots, align 4 + %4 = load i32, i32* %n.addr, align 4 + %cmp1 = icmp sle i32 %3, %4 + br i1 %cmp1, label %if.then2, label %if.end15 + +if.then2: ; preds = %if.end + %5 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %cmp3 = icmp eq %struct.slotvec* %5, @slotvec0 + %frombool = zext i1 %cmp3 to i8 + store i8 %frombool, i8* %preallocated, align 1 + store i32 2147483646, i32* %nmax, align 4 + %6 = load i32, i32* %nmax, align 4 + %7 = load i32, i32* %n.addr, align 4 + %cmp4 = icmp slt i32 %6, %7 + br i1 %cmp4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.then2 + call void @xalloc_die() #24 + unreachable + +if.end6: ; preds = %if.then2 + %8 = load i8, i8* %preallocated, align 1 + %tobool = trunc i8 %8 to i1 + %9 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %cond = select i1 %tobool, %struct.slotvec* null, %struct.slotvec* %9 + %10 = bitcast %struct.slotvec* %cond to i8* + %11 = load i32, i32* %n.addr, align 4 + %add = add nsw i32 %11, 1 + %conv = sext i32 %add to i64 + %mul = mul i64 %conv, 16 + %call7 = call i8* @xrealloc(i8* %10, i64 %mul) + %12 = bitcast i8* %call7 to %struct.slotvec* + store %struct.slotvec* %12, %struct.slotvec** %sv, align 8 + store %struct.slotvec* %12, %struct.slotvec** @slotvec, align 8 + %13 = load i8, i8* %preallocated, align 1 + %tobool8 = trunc i8 %13 to i1 + br i1 %tobool8, label %if.then9, label %if.end10 + +if.then9: ; preds = %if.end6 + %14 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %15 = bitcast %struct.slotvec* %14 to i8* + %16 = call i8* @memcpy(i8* %15, i8* bitcast (%struct.slotvec* @slotvec0 to i8*), i64 16) + br label %if.end10 + +if.end10: ; preds = %if.then9, %if.end6 + %17 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %18 = load i32, i32* @nslots, align 4 + %idx.ext = sext i32 %18 to i64 + %add.ptr = getelementptr inbounds %struct.slotvec, %struct.slotvec* %17, i64 %idx.ext + %19 = bitcast %struct.slotvec* %add.ptr to i8* + %20 = load i32, i32* %n.addr, align 4 + %add11 = add nsw i32 %20, 1 + %21 = load i32, i32* @nslots, align 4 + %sub = sub nsw i32 %add11, %21 + %conv12 = sext i32 %sub to i64 + %mul13 = mul i64 %conv12, 16 + %22 = call i8* @memset(i8* %19, i32 0, i64 %mul13) + %23 = load i32, i32* %n.addr, align 4 + %add14 = add nsw i32 %23, 1 + store i32 %add14, i32* @nslots, align 4 + br label %if.end15 + +if.end15: ; preds = %if.end10, %if.end + %24 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %25 = load i32, i32* %n.addr, align 4 + %idxprom = sext i32 %25 to i64 + %arrayidx = getelementptr inbounds %struct.slotvec, %struct.slotvec* %24, i64 %idxprom + %size16 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx, i32 0, i32 0 + %26 = load i64, i64* %size16, align 8 + store i64 %26, i64* %size, align 8 + %27 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %28 = load i32, i32* %n.addr, align 4 + %idxprom17 = sext i32 %28 to i64 + %arrayidx18 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %27, i64 %idxprom17 + %val19 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx18, i32 0, i32 1 + %29 = load i8*, i8** %val19, align 8 + store i8* %29, i8** %val, align 8 + %30 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %flags20 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %30, i32 0, i32 1 + %31 = load i32, i32* %flags20, align 4 + %or = or i32 %31, 1 + store i32 %or, i32* %flags, align 4 + %32 = load i8*, i8** %val, align 8 + %33 = load i64, i64* %size, align 8 + %34 = load i8*, i8** %arg.addr, align 8 + %35 = load i64, i64* %argsize.addr, align 8 + %36 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %36, i32 0, i32 0 + %37 = load i32, i32* %style, align 8 + %38 = load i32, i32* %flags, align 4 + %39 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %39, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %40 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %left_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %40, i32 0, i32 3 + %41 = load i8*, i8** %left_quote, align 8 + %42 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %right_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %42, i32 0, i32 4 + %43 = load i8*, i8** %right_quote, align 8 + %call21 = call i64 @quotearg_buffer_restyled(i8* %32, i64 %33, i8* %34, i64 %35, i32 %37, i32 %38, i32* %arraydecay, i8* %41, i8* %43) + store i64 %call21, i64* %qsize, align 8 + %44 = load i64, i64* %size, align 8 + %45 = load i64, i64* %qsize, align 8 + %cmp22 = icmp ule i64 %44, %45 + br i1 %cmp22, label %if.then24, label %if.end43 + +if.then24: ; preds = %if.end15 + %46 = load i64, i64* %qsize, align 8 + %add25 = add i64 %46, 1 + store i64 %add25, i64* %size, align 8 + %47 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %48 = load i32, i32* %n.addr, align 4 + %idxprom26 = sext i32 %48 to i64 + %arrayidx27 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %47, i64 %idxprom26 + %size28 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx27, i32 0, i32 0 + store i64 %add25, i64* %size28, align 8 + %49 = load i8*, i8** %val, align 8 + %cmp29 = icmp ne i8* %49, getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i64 0, i64 0) + br i1 %cmp29, label %if.then31, label %if.end32 + +if.then31: ; preds = %if.then24 + %50 = load i8*, i8** %val, align 8 + call void @free(i8* %50) #11 + br label %if.end32 + +if.end32: ; preds = %if.then31, %if.then24 + %51 = load i64, i64* %size, align 8 + %call33 = call noalias i8* @xcharalloc(i64 %51) + store i8* %call33, i8** %val, align 8 + %52 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %53 = load i32, i32* %n.addr, align 4 + %idxprom34 = sext i32 %53 to i64 + %arrayidx35 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %52, i64 %idxprom34 + %val36 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx35, i32 0, i32 1 + store i8* %call33, i8** %val36, align 8 + %54 = load i8*, i8** %val, align 8 + %55 = load i64, i64* %size, align 8 + %56 = load i8*, i8** %arg.addr, align 8 + %57 = load i64, i64* %argsize.addr, align 8 + %58 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %style37 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %58, i32 0, i32 0 + %59 = load i32, i32* %style37, align 8 + %60 = load i32, i32* %flags, align 4 + %61 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %quote_these_too38 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %61, i32 0, i32 2 + %arraydecay39 = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too38, i64 0, i64 0 + %62 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %left_quote40 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %62, i32 0, i32 3 + %63 = load i8*, i8** %left_quote40, align 8 + %64 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %right_quote41 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %64, i32 0, i32 4 + %65 = load i8*, i8** %right_quote41, align 8 + %call42 = call i64 @quotearg_buffer_restyled(i8* %54, i64 %55, i8* %56, i64 %57, i32 %59, i32 %60, i32* %arraydecay39, i8* %63, i8* %65) + br label %if.end43 + +if.end43: ; preds = %if.end32, %if.end15 + %66 = load i32, i32* %e, align 4 + %call44 = call i32* @__errno_location() #25 + store i32 %66, i32* %call44, align 4 + %67 = load i8*, i8** %val, align 8 + ret i8* %67 +} + +; Function Attrs: noinline noreturn nounwind uwtable +define dso_local void @xalloc_die() #6 { +entry: + %0 = load volatile i32, i32* @exit_failure, align 4 + call void (i32, i32, i8*, ...) @error(i32 %0, i32 0, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.99, i64 0, i64 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.1.100, i64 0, i64 0)) + call void @abort() #26 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @xrealloc(i8* %p, i64 %n) #3 { +entry: + %retval = alloca i8*, align 8 + %p.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %tobool = icmp eq i64 %0, 0 + %1 = load i8*, i8** %p.addr, align 8 + %tobool1 = icmp ne i8* %1, null + %or.cond = and i1 %tobool, %tobool1 + %2 = load i8*, i8** %p.addr, align 8 + br i1 %or.cond, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @free(i8* %2) #11 + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %3 = load i64, i64* %n.addr, align 8 + %call = call i8* @realloc(i8* %2, i64 %3) #11 + store i8* %call, i8** %p.addr, align 8 + %4 = load i8*, i8** %p.addr, align 8 + %tobool2 = icmp eq i8* %4, null + %5 = load i64, i64* %n.addr, align 8 + %tobool4 = icmp ne i64 %5, 0 + %or.cond1 = and i1 %tobool2, %tobool4 + br i1 %or.cond1, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end + call void @xalloc_die() #24 + unreachable + +if.end6: ; preds = %if.end + %6 = load i8*, i8** %p.addr, align 8 + store i8* %6, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end6, %if.then + %7 = load i8*, i8** %retval, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @quotearg_buffer_restyled(i8* %buffer, i64 %buffersize, i8* %arg, i64 %argsize, i32 %quoting_style, i32 %flags, i32* %quote_these_too, i8* %left_quote, i8* %right_quote) #3 { +entry: + %retval = alloca i64, align 8 + %buffer.addr = alloca i8*, align 8 + %buffersize.addr = alloca i64, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %quoting_style.addr = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %quote_these_too.addr = alloca i32*, align 8 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %i = alloca i64, align 8 + %len = alloca i64, align 8 + %orig_buffersize = alloca i64, align 8 + %quote_string = alloca i8*, align 8 + %quote_string_len = alloca i64, align 8 + %backslash_escapes = alloca i8, align 1 + %unibyte_locale = alloca i8, align 1 + %elide_outer_quotes = alloca i8, align 1 + %pending_shell_escape_end = alloca i8, align 1 + %encountered_single_quote = alloca i8, align 1 + %all_c_and_shell_quote_compat = alloca i8, align 1 + %c = alloca i8, align 1 + %esc = alloca i8, align 1 + %is_right_quote = alloca i8, align 1 + %escaping = alloca i8, align 1 + %c_and_shell_quote_compat = alloca i8, align 1 + %m = alloca i64, align 8 + %printable = alloca i8, align 1 + %mbstate = alloca %struct.__mbstate_t, align 4 + %w = alloca i32, align 4 + %bytes = alloca i64, align 8 + %j = alloca i64, align 8 + %ilim = alloca i64, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %buffersize, i64* %buffersize.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store i32 %quoting_style, i32* %quoting_style.addr, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store i32* %quote_these_too, i32** %quote_these_too.addr, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i64 0, i64* %len, align 8 + store i64 0, i64* %orig_buffersize, align 8 + store i8* null, i8** %quote_string, align 8 + store i64 0, i64* %quote_string_len, align 8 + store i8 0, i8* %backslash_escapes, align 1 + %call = call i64 @__ctype_get_mb_cur_max() #11 + %cmp = icmp eq i64 %call, 1 + %frombool = zext i1 %cmp to i8 + store i8 %frombool, i8* %unibyte_locale, align 1 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 2 + %cmp1 = icmp ne i32 %and, 0 + %frombool2 = zext i1 %cmp1 to i8 + store i8 %frombool2, i8* %elide_outer_quotes, align 1 + store i8 0, i8* %pending_shell_escape_end, align 1 + store i8 0, i8* %encountered_single_quote, align 1 + store i8 1, i8* %all_c_and_shell_quote_compat, align 1 + br label %process_input + +process_input: ; preds = %if.then701, %entry + %1 = load i32, i32* %quoting_style.addr, align 4 + br label %NodeBlock27 + +NodeBlock27: ; preds = %process_input + %case.cmp28 = icmp eq i32 %1, 6 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %1, 5 + br i1 %case.cmp26, label %sw.bb3, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %1, 7 + br i1 %case.cmp24, label %sw.bb7, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %1, 8 + br i1 %case.cmp22, label %sw.bb8, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %1, 9 + br i1 %case.cmp20, label %sw.bb8, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %1, 10 + br i1 %case.cmp18, label %sw.bb8, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %1, 3 + br i1 %case.cmp16, label %sw.bb26, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %1, 1 + br i1 %case.cmp14, label %sw.bb27, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %1, 4 + br i1 %case.cmp12, label %sw.bb28, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %1, 2 + br i1 %case.cmp10, label %sw.bb32, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock9 + %case.cmp = icmp eq i32 %1, 0 + br i1 %case.cmp, label %sw.bb43, label %newDefault + +sw.bb: ; preds = %NodeBlock27 + store i32 5, i32* %quoting_style.addr, align 4 + store i8 1, i8* %elide_outer_quotes, align 1 + br label %sw.bb3 + +sw.bb3: ; preds = %NodeBlock25, %sw.bb + %2 = load i8, i8* %elide_outer_quotes, align 1 + %tobool = trunc i8 %2 to i1 + br i1 %tobool, label %if.end6, label %do.body + +do.body: ; preds = %sw.bb3 + %3 = load i64, i64* %len, align 8 + %4 = load i64, i64* %buffersize.addr, align 8 + %cmp4 = icmp ult i64 %3, %4 + br i1 %cmp4, label %if.then5, label %if.end + +if.then5: ; preds = %do.body + %5 = load i8*, i8** %buffer.addr, align 8 + %6 = load i64, i64* %len, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 %6 + store i8 34, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then5, %do.body + %7 = load i64, i64* %len, align 8 + %inc = add i64 %7, 1 + store i64 %inc, i64* %len, align 8 + br label %if.end6 + +if.end6: ; preds = %if.end, %sw.bb3 + store i8 1, i8* %backslash_escapes, align 1 + store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10.53, i64 0, i64 0), i8** %quote_string, align 8 + store i64 1, i64* %quote_string_len, align 8 + br label %sw.epilog + +sw.bb7: ; preds = %NodeBlock23 + store i8 1, i8* %backslash_escapes, align 1 + store i8 0, i8* %elide_outer_quotes, align 1 + br label %sw.epilog + +sw.bb8: ; preds = %NodeBlock21, %NodeBlock19, %NodeBlock17 + %8 = load i32, i32* %quoting_style.addr, align 4 + %cmp9 = icmp ne i32 %8, 10 + br i1 %cmp9, label %if.then10, label %if.end13 + +if.then10: ; preds = %sw.bb8 + %9 = load i32, i32* %quoting_style.addr, align 4 + %call11 = call i8* @gettext_quote(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.11.54, i64 0, i64 0), i32 %9) + store i8* %call11, i8** %left_quote.addr, align 8 + %10 = load i32, i32* %quoting_style.addr, align 4 + %call12 = call i8* @gettext_quote(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.55, i64 0, i64 0), i32 %10) + store i8* %call12, i8** %right_quote.addr, align 8 + br label %if.end13 + +if.end13: ; preds = %if.then10, %sw.bb8 + %11 = load i8, i8* %elide_outer_quotes, align 1 + %tobool14 = trunc i8 %11 to i1 + br i1 %tobool14, label %if.end24, label %if.then15 + +if.then15: ; preds = %if.end13 + %12 = load i8*, i8** %left_quote.addr, align 8 + store i8* %12, i8** %quote_string, align 8 + br label %for.cond + +for.cond: ; preds = %if.end21, %if.then15 + %13 = load i8*, i8** %quote_string, align 8 + %14 = load i8, i8* %13, align 1 + %tobool16 = icmp ne i8 %14, 0 + br i1 %tobool16, label %do.body17, label %if.end24 + +do.body17: ; preds = %for.cond + %15 = load i64, i64* %len, align 8 + %16 = load i64, i64* %buffersize.addr, align 8 + %cmp18 = icmp ult i64 %15, %16 + br i1 %cmp18, label %if.then19, label %if.end21 + +if.then19: ; preds = %do.body17 + %17 = load i8*, i8** %quote_string, align 8 + %18 = load i8, i8* %17, align 1 + %19 = load i8*, i8** %buffer.addr, align 8 + %20 = load i64, i64* %len, align 8 + %arrayidx20 = getelementptr inbounds i8, i8* %19, i64 %20 + store i8 %18, i8* %arrayidx20, align 1 + br label %if.end21 + +if.end21: ; preds = %if.then19, %do.body17 + %21 = load i64, i64* %len, align 8 + %inc22 = add i64 %21, 1 + store i64 %inc22, i64* %len, align 8 + %22 = load i8*, i8** %quote_string, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %22, i32 1 + store i8* %incdec.ptr, i8** %quote_string, align 8 + br label %for.cond + +if.end24: ; preds = %for.cond, %if.end13 + store i8 1, i8* %backslash_escapes, align 1 + %23 = load i8*, i8** %right_quote.addr, align 8 + store i8* %23, i8** %quote_string, align 8 + %24 = load i8*, i8** %quote_string, align 8 + %call25 = call i64 @strlen(i8* %24) #23 + store i64 %call25, i64* %quote_string_len, align 8 + br label %sw.epilog + +sw.bb26: ; preds = %NodeBlock15 + store i8 1, i8* %backslash_escapes, align 1 + br label %sw.bb27 + +sw.bb27: ; preds = %NodeBlock13, %sw.bb26 + store i8 1, i8* %elide_outer_quotes, align 1 + br label %sw.bb28 + +sw.bb28: ; preds = %NodeBlock11, %sw.bb27 + %25 = load i8, i8* %elide_outer_quotes, align 1 + %tobool29 = trunc i8 %25 to i1 + br i1 %tobool29, label %sw.bb32, label %if.then30 + +if.then30: ; preds = %sw.bb28 + store i8 1, i8* %backslash_escapes, align 1 + br label %sw.bb32 + +sw.bb32: ; preds = %NodeBlock9, %sw.bb28, %if.then30 + store i32 2, i32* %quoting_style.addr, align 4 + %26 = load i8, i8* %elide_outer_quotes, align 1 + %tobool33 = trunc i8 %26 to i1 + br i1 %tobool33, label %if.end42, label %do.body35 + +do.body35: ; preds = %sw.bb32 + %27 = load i64, i64* %len, align 8 + %28 = load i64, i64* %buffersize.addr, align 8 + %cmp36 = icmp ult i64 %27, %28 + br i1 %cmp36, label %if.then37, label %if.end39 + +if.then37: ; preds = %do.body35 + %29 = load i8*, i8** %buffer.addr, align 8 + %30 = load i64, i64* %len, align 8 + %arrayidx38 = getelementptr inbounds i8, i8* %29, i64 %30 + store i8 39, i8* %arrayidx38, align 1 + br label %if.end39 + +if.end39: ; preds = %if.then37, %do.body35 + %31 = load i64, i64* %len, align 8 + %inc40 = add i64 %31, 1 + store i64 %inc40, i64* %len, align 8 + br label %if.end42 + +if.end42: ; preds = %if.end39, %sw.bb32 + store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.55, i64 0, i64 0), i8** %quote_string, align 8 + store i64 1, i64* %quote_string_len, align 8 + br label %sw.epilog + +sw.bb43: ; preds = %NodeBlock + store i8 0, i8* %elide_outer_quotes, align 1 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @abort() #26 + unreachable + +sw.epilog: ; preds = %sw.bb43, %if.end42, %if.end24, %sw.bb7, %if.end6 + store i64 0, i64* %i, align 8 + br label %for.cond44 + +for.cond44: ; preds = %for.inc673, %sw.epilog + %32 = load i64, i64* %argsize.addr, align 8 + %cmp45 = icmp eq i64 %32, -1 + br i1 %cmp45, label %cond.true, label %cond.false + +cond.true: ; preds = %for.cond44 + %33 = load i8*, i8** %arg.addr, align 8 + %34 = load i64, i64* %i, align 8 + %arrayidx46 = getelementptr inbounds i8, i8* %33, i64 %34 + %35 = load i8, i8* %arrayidx46, align 1 + %conv = sext i8 %35 to i32 + %cmp47 = icmp eq i32 %conv, 0 + %conv48 = zext i1 %cmp47 to i32 + br label %cond.end + +cond.false: ; preds = %for.cond44 + %36 = load i64, i64* %i, align 8 + %37 = load i64, i64* %argsize.addr, align 8 + %cmp49 = icmp eq i64 %36, %37 + %conv50 = zext i1 %cmp49 to i32 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ %conv48, %cond.true ], [ %conv50, %cond.false ] + %tobool51 = icmp ne i32 %cond, 0 + %lnot = xor i1 %tobool51, true + br i1 %lnot, label %for.body52, label %for.end675 + +for.body52: ; preds = %cond.end + store i8 0, i8* %is_right_quote, align 1 + store i8 0, i8* %escaping, align 1 + store i8 0, i8* %c_and_shell_quote_compat, align 1 + %38 = load i8, i8* %backslash_escapes, align 1 + %tobool53 = trunc i8 %38 to i1 + %39 = load i32, i32* %quoting_style.addr, align 4 + %cmp55 = icmp ne i32 %39, 2 + %or.cond = and i1 %tobool53, %cmp55 + %40 = load i64, i64* %quote_string_len, align 8 + %tobool58 = icmp ne i64 %40, 0 + %or.cond1 = and i1 %or.cond, %tobool58 + br i1 %or.cond1, label %land.lhs.true59, label %if.end80 + +land.lhs.true59: ; preds = %for.body52 + %41 = load i64, i64* %i, align 8 + %42 = load i64, i64* %quote_string_len, align 8 + %add = add i64 %41, %42 + %43 = load i64, i64* %argsize.addr, align 8 + %cmp60 = icmp eq i64 %43, -1 + %44 = load i64, i64* %quote_string_len, align 8 + %cmp63 = icmp ult i64 1, %44 + %or.cond2 = and i1 %cmp60, %cmp63 + br i1 %or.cond2, label %cond.true65, label %cond.false67 + +cond.true65: ; preds = %land.lhs.true59 + %45 = load i8*, i8** %arg.addr, align 8 + %call66 = call i64 @strlen(i8* %45) #23 + store i64 %call66, i64* %argsize.addr, align 8 + br label %cond.end68 + +cond.false67: ; preds = %land.lhs.true59 + %46 = load i64, i64* %argsize.addr, align 8 + br label %cond.end68 + +cond.end68: ; preds = %cond.false67, %cond.true65 + %cond69 = phi i64 [ %call66, %cond.true65 ], [ %46, %cond.false67 ] + %cmp70 = icmp ule i64 %add, %cond69 + br i1 %cmp70, label %land.lhs.true72, label %if.end80 + +land.lhs.true72: ; preds = %cond.end68 + %47 = load i8*, i8** %arg.addr, align 8 + %48 = load i64, i64* %i, align 8 + %add.ptr = getelementptr inbounds i8, i8* %47, i64 %48 + %49 = load i8*, i8** %quote_string, align 8 + %50 = load i64, i64* %quote_string_len, align 8 + %call73 = call i32 @memcmp(i8* %add.ptr, i8* %49, i64 %50) #23 + %cmp74 = icmp eq i32 %call73, 0 + br i1 %cmp74, label %if.then76, label %if.end80 + +if.then76: ; preds = %land.lhs.true72 + %51 = load i8, i8* %elide_outer_quotes, align 1 + %tobool77 = trunc i8 %51 to i1 + br i1 %tobool77, label %force_outer_quoting_style, label %if.end79 + +if.end79: ; preds = %if.then76 + store i8 1, i8* %is_right_quote, align 1 + br label %if.end80 + +if.end80: ; preds = %if.end79, %land.lhs.true72, %cond.end68, %for.body52 + %52 = load i8*, i8** %arg.addr, align 8 + %53 = load i64, i64* %i, align 8 + %arrayidx81 = getelementptr inbounds i8, i8* %52, i64 %53 + %54 = load i8, i8* %arrayidx81, align 1 + store i8 %54, i8* %c, align 1 + %55 = load i8, i8* %c, align 1 + %conv82 = zext i8 %55 to i32 + br label %NodeBlock232 + +NodeBlock232: ; preds = %if.end80 + %case.cmp233 = icmp eq i32 %conv82, 0 + br i1 %case.cmp233, label %sw.bb83, label %NodeBlock230 + +NodeBlock230: ; preds = %NodeBlock232 + %case.cmp231 = icmp eq i32 %conv82, 63 + br i1 %case.cmp231, label %sw.bb170, label %NodeBlock228 + +NodeBlock228: ; preds = %NodeBlock230 + %case.cmp229 = icmp eq i32 %conv82, 7 + br i1 %case.cmp229, label %sw.bb236, label %NodeBlock226 + +NodeBlock226: ; preds = %NodeBlock228 + %case.cmp227 = icmp eq i32 %conv82, 8 + br i1 %case.cmp227, label %sw.bb237, label %NodeBlock224 + +NodeBlock224: ; preds = %NodeBlock226 + %case.cmp225 = icmp eq i32 %conv82, 12 + br i1 %case.cmp225, label %sw.bb238, label %NodeBlock222 + +NodeBlock222: ; preds = %NodeBlock224 + %case.cmp223 = icmp eq i32 %conv82, 10 + br i1 %case.cmp223, label %sw.bb239, label %NodeBlock220 + +NodeBlock220: ; preds = %NodeBlock222 + %case.cmp221 = icmp eq i32 %conv82, 13 + br i1 %case.cmp221, label %sw.bb240, label %NodeBlock218 + +NodeBlock218: ; preds = %NodeBlock220 + %case.cmp219 = icmp eq i32 %conv82, 9 + br i1 %case.cmp219, label %sw.bb241, label %NodeBlock216 + +NodeBlock216: ; preds = %NodeBlock218 + %case.cmp217 = icmp eq i32 %conv82, 11 + br i1 %case.cmp217, label %sw.bb242, label %NodeBlock214 + +NodeBlock214: ; preds = %NodeBlock216 + %case.cmp215 = icmp eq i32 %conv82, 92 + br i1 %case.cmp215, label %sw.bb243, label %NodeBlock212 + +NodeBlock212: ; preds = %NodeBlock214 + %case.cmp213 = icmp eq i32 %conv82, 123 + br i1 %case.cmp213, label %sw.bb270, label %NodeBlock210 + +NodeBlock210: ; preds = %NodeBlock212 + %case.cmp211 = icmp eq i32 %conv82, 125 + br i1 %case.cmp211, label %sw.bb270, label %NodeBlock208 + +NodeBlock208: ; preds = %NodeBlock210 + %case.cmp209 = icmp eq i32 %conv82, 35 + br i1 %case.cmp209, label %sw.bb283, label %NodeBlock206 + +NodeBlock206: ; preds = %NodeBlock208 + %case.cmp207 = icmp eq i32 %conv82, 126 + br i1 %case.cmp207, label %sw.bb283, label %NodeBlock204 + +NodeBlock204: ; preds = %NodeBlock206 + %case.cmp205 = icmp eq i32 %conv82, 32 + br i1 %case.cmp205, label %sw.bb288, label %NodeBlock202 + +NodeBlock202: ; preds = %NodeBlock204 + %case.cmp203 = icmp eq i32 %conv82, 33 + br i1 %case.cmp203, label %sw.bb289, label %NodeBlock200 + +NodeBlock200: ; preds = %NodeBlock202 + %case.cmp201 = icmp eq i32 %conv82, 34 + br i1 %case.cmp201, label %sw.bb289, label %NodeBlock198 + +NodeBlock198: ; preds = %NodeBlock200 + %case.cmp199 = icmp eq i32 %conv82, 36 + br i1 %case.cmp199, label %sw.bb289, label %NodeBlock196 + +NodeBlock196: ; preds = %NodeBlock198 + %case.cmp197 = icmp eq i32 %conv82, 38 + br i1 %case.cmp197, label %sw.bb289, label %NodeBlock194 + +NodeBlock194: ; preds = %NodeBlock196 + %case.cmp195 = icmp eq i32 %conv82, 40 + br i1 %case.cmp195, label %sw.bb289, label %NodeBlock192 + +NodeBlock192: ; preds = %NodeBlock194 + %case.cmp193 = icmp eq i32 %conv82, 41 + br i1 %case.cmp193, label %sw.bb289, label %NodeBlock190 + +NodeBlock190: ; preds = %NodeBlock192 + %case.cmp191 = icmp eq i32 %conv82, 42 + br i1 %case.cmp191, label %sw.bb289, label %NodeBlock188 + +NodeBlock188: ; preds = %NodeBlock190 + %case.cmp189 = icmp eq i32 %conv82, 59 + br i1 %case.cmp189, label %sw.bb289, label %NodeBlock186 + +NodeBlock186: ; preds = %NodeBlock188 + %case.cmp187 = icmp eq i32 %conv82, 60 + br i1 %case.cmp187, label %sw.bb289, label %NodeBlock184 + +NodeBlock184: ; preds = %NodeBlock186 + %case.cmp185 = icmp eq i32 %conv82, 61 + br i1 %case.cmp185, label %sw.bb289, label %NodeBlock182 + +NodeBlock182: ; preds = %NodeBlock184 + %case.cmp183 = icmp eq i32 %conv82, 62 + br i1 %case.cmp183, label %sw.bb289, label %NodeBlock180 + +NodeBlock180: ; preds = %NodeBlock182 + %case.cmp181 = icmp eq i32 %conv82, 91 + br i1 %case.cmp181, label %sw.bb289, label %NodeBlock178 + +NodeBlock178: ; preds = %NodeBlock180 + %case.cmp179 = icmp eq i32 %conv82, 94 + br i1 %case.cmp179, label %sw.bb289, label %NodeBlock176 + +NodeBlock176: ; preds = %NodeBlock178 + %case.cmp177 = icmp eq i32 %conv82, 96 + br i1 %case.cmp177, label %sw.bb289, label %NodeBlock174 + +NodeBlock174: ; preds = %NodeBlock176 + %case.cmp175 = icmp eq i32 %conv82, 124 + br i1 %case.cmp175, label %sw.bb289, label %NodeBlock172 + +NodeBlock172: ; preds = %NodeBlock174 + %case.cmp173 = icmp eq i32 %conv82, 39 + br i1 %case.cmp173, label %sw.bb297, label %NodeBlock170 + +NodeBlock170: ; preds = %NodeBlock172 + %case.cmp171 = icmp eq i32 %conv82, 37 + br i1 %case.cmp171, label %sw.bb334, label %NodeBlock168 + +NodeBlock168: ; preds = %NodeBlock170 + %case.cmp169 = icmp eq i32 %conv82, 43 + br i1 %case.cmp169, label %sw.bb334, label %NodeBlock166 + +NodeBlock166: ; preds = %NodeBlock168 + %case.cmp167 = icmp eq i32 %conv82, 44 + br i1 %case.cmp167, label %sw.bb334, label %NodeBlock164 + +NodeBlock164: ; preds = %NodeBlock166 + %case.cmp165 = icmp eq i32 %conv82, 45 + br i1 %case.cmp165, label %sw.bb334, label %NodeBlock162 + +NodeBlock162: ; preds = %NodeBlock164 + %case.cmp163 = icmp eq i32 %conv82, 46 + br i1 %case.cmp163, label %sw.bb334, label %NodeBlock160 + +NodeBlock160: ; preds = %NodeBlock162 + %case.cmp161 = icmp eq i32 %conv82, 47 + br i1 %case.cmp161, label %sw.bb334, label %NodeBlock158 + +NodeBlock158: ; preds = %NodeBlock160 + %case.cmp159 = icmp eq i32 %conv82, 48 + br i1 %case.cmp159, label %sw.bb334, label %NodeBlock156 + +NodeBlock156: ; preds = %NodeBlock158 + %case.cmp157 = icmp eq i32 %conv82, 49 + br i1 %case.cmp157, label %sw.bb334, label %NodeBlock154 + +NodeBlock154: ; preds = %NodeBlock156 + %case.cmp155 = icmp eq i32 %conv82, 50 + br i1 %case.cmp155, label %sw.bb334, label %NodeBlock152 + +NodeBlock152: ; preds = %NodeBlock154 + %case.cmp153 = icmp eq i32 %conv82, 51 + br i1 %case.cmp153, label %sw.bb334, label %NodeBlock150 + +NodeBlock150: ; preds = %NodeBlock152 + %case.cmp151 = icmp eq i32 %conv82, 52 + br i1 %case.cmp151, label %sw.bb334, label %NodeBlock148 + +NodeBlock148: ; preds = %NodeBlock150 + %case.cmp149 = icmp eq i32 %conv82, 53 + br i1 %case.cmp149, label %sw.bb334, label %NodeBlock146 + +NodeBlock146: ; preds = %NodeBlock148 + %case.cmp147 = icmp eq i32 %conv82, 54 + br i1 %case.cmp147, label %sw.bb334, label %NodeBlock144 + +NodeBlock144: ; preds = %NodeBlock146 + %case.cmp145 = icmp eq i32 %conv82, 55 + br i1 %case.cmp145, label %sw.bb334, label %NodeBlock142 + +NodeBlock142: ; preds = %NodeBlock144 + %case.cmp143 = icmp eq i32 %conv82, 56 + br i1 %case.cmp143, label %sw.bb334, label %NodeBlock140 + +NodeBlock140: ; preds = %NodeBlock142 + %case.cmp141 = icmp eq i32 %conv82, 57 + br i1 %case.cmp141, label %sw.bb334, label %NodeBlock138 + +NodeBlock138: ; preds = %NodeBlock140 + %case.cmp139 = icmp eq i32 %conv82, 58 + br i1 %case.cmp139, label %sw.bb334, label %NodeBlock136 + +NodeBlock136: ; preds = %NodeBlock138 + %case.cmp137 = icmp eq i32 %conv82, 65 + br i1 %case.cmp137, label %sw.bb334, label %NodeBlock134 + +NodeBlock134: ; preds = %NodeBlock136 + %case.cmp135 = icmp eq i32 %conv82, 66 + br i1 %case.cmp135, label %sw.bb334, label %NodeBlock132 + +NodeBlock132: ; preds = %NodeBlock134 + %case.cmp133 = icmp eq i32 %conv82, 67 + br i1 %case.cmp133, label %sw.bb334, label %NodeBlock130 + +NodeBlock130: ; preds = %NodeBlock132 + %case.cmp131 = icmp eq i32 %conv82, 68 + br i1 %case.cmp131, label %sw.bb334, label %NodeBlock128 + +NodeBlock128: ; preds = %NodeBlock130 + %case.cmp129 = icmp eq i32 %conv82, 69 + br i1 %case.cmp129, label %sw.bb334, label %NodeBlock126 + +NodeBlock126: ; preds = %NodeBlock128 + %case.cmp127 = icmp eq i32 %conv82, 70 + br i1 %case.cmp127, label %sw.bb334, label %NodeBlock124 + +NodeBlock124: ; preds = %NodeBlock126 + %case.cmp125 = icmp eq i32 %conv82, 71 + br i1 %case.cmp125, label %sw.bb334, label %NodeBlock122 + +NodeBlock122: ; preds = %NodeBlock124 + %case.cmp123 = icmp eq i32 %conv82, 72 + br i1 %case.cmp123, label %sw.bb334, label %NodeBlock120 + +NodeBlock120: ; preds = %NodeBlock122 + %case.cmp121 = icmp eq i32 %conv82, 73 + br i1 %case.cmp121, label %sw.bb334, label %NodeBlock118 + +NodeBlock118: ; preds = %NodeBlock120 + %case.cmp119 = icmp eq i32 %conv82, 74 + br i1 %case.cmp119, label %sw.bb334, label %NodeBlock116 + +NodeBlock116: ; preds = %NodeBlock118 + %case.cmp117 = icmp eq i32 %conv82, 75 + br i1 %case.cmp117, label %sw.bb334, label %NodeBlock114 + +NodeBlock114: ; preds = %NodeBlock116 + %case.cmp115 = icmp eq i32 %conv82, 76 + br i1 %case.cmp115, label %sw.bb334, label %NodeBlock112 + +NodeBlock112: ; preds = %NodeBlock114 + %case.cmp113 = icmp eq i32 %conv82, 77 + br i1 %case.cmp113, label %sw.bb334, label %NodeBlock110 + +NodeBlock110: ; preds = %NodeBlock112 + %case.cmp111 = icmp eq i32 %conv82, 78 + br i1 %case.cmp111, label %sw.bb334, label %NodeBlock108 + +NodeBlock108: ; preds = %NodeBlock110 + %case.cmp109 = icmp eq i32 %conv82, 79 + br i1 %case.cmp109, label %sw.bb334, label %NodeBlock106 + +NodeBlock106: ; preds = %NodeBlock108 + %case.cmp107 = icmp eq i32 %conv82, 80 + br i1 %case.cmp107, label %sw.bb334, label %NodeBlock104 + +NodeBlock104: ; preds = %NodeBlock106 + %case.cmp105 = icmp eq i32 %conv82, 81 + br i1 %case.cmp105, label %sw.bb334, label %NodeBlock102 + +NodeBlock102: ; preds = %NodeBlock104 + %case.cmp103 = icmp eq i32 %conv82, 82 + br i1 %case.cmp103, label %sw.bb334, label %NodeBlock100 + +NodeBlock100: ; preds = %NodeBlock102 + %case.cmp101 = icmp eq i32 %conv82, 83 + br i1 %case.cmp101, label %sw.bb334, label %NodeBlock98 + +NodeBlock98: ; preds = %NodeBlock100 + %case.cmp99 = icmp eq i32 %conv82, 84 + br i1 %case.cmp99, label %sw.bb334, label %NodeBlock96 + +NodeBlock96: ; preds = %NodeBlock98 + %case.cmp97 = icmp eq i32 %conv82, 85 + br i1 %case.cmp97, label %sw.bb334, label %NodeBlock94 + +NodeBlock94: ; preds = %NodeBlock96 + %case.cmp95 = icmp eq i32 %conv82, 86 + br i1 %case.cmp95, label %sw.bb334, label %NodeBlock92 + +NodeBlock92: ; preds = %NodeBlock94 + %case.cmp93 = icmp eq i32 %conv82, 87 + br i1 %case.cmp93, label %sw.bb334, label %NodeBlock90 + +NodeBlock90: ; preds = %NodeBlock92 + %case.cmp91 = icmp eq i32 %conv82, 88 + br i1 %case.cmp91, label %sw.bb334, label %NodeBlock88 + +NodeBlock88: ; preds = %NodeBlock90 + %case.cmp89 = icmp eq i32 %conv82, 89 + br i1 %case.cmp89, label %sw.bb334, label %NodeBlock86 + +NodeBlock86: ; preds = %NodeBlock88 + %case.cmp87 = icmp eq i32 %conv82, 90 + br i1 %case.cmp87, label %sw.bb334, label %NodeBlock84 + +NodeBlock84: ; preds = %NodeBlock86 + %case.cmp85 = icmp eq i32 %conv82, 93 + br i1 %case.cmp85, label %sw.bb334, label %NodeBlock82 + +NodeBlock82: ; preds = %NodeBlock84 + %case.cmp83 = icmp eq i32 %conv82, 95 + br i1 %case.cmp83, label %sw.bb334, label %NodeBlock80 + +NodeBlock80: ; preds = %NodeBlock82 + %case.cmp81 = icmp eq i32 %conv82, 97 + br i1 %case.cmp81, label %sw.bb334, label %NodeBlock78 + +NodeBlock78: ; preds = %NodeBlock80 + %case.cmp79 = icmp eq i32 %conv82, 98 + br i1 %case.cmp79, label %sw.bb334, label %NodeBlock76 + +NodeBlock76: ; preds = %NodeBlock78 + %case.cmp77 = icmp eq i32 %conv82, 99 + br i1 %case.cmp77, label %sw.bb334, label %NodeBlock74 + +NodeBlock74: ; preds = %NodeBlock76 + %case.cmp75 = icmp eq i32 %conv82, 100 + br i1 %case.cmp75, label %sw.bb334, label %NodeBlock72 + +NodeBlock72: ; preds = %NodeBlock74 + %case.cmp73 = icmp eq i32 %conv82, 101 + br i1 %case.cmp73, label %sw.bb334, label %NodeBlock70 + +NodeBlock70: ; preds = %NodeBlock72 + %case.cmp71 = icmp eq i32 %conv82, 102 + br i1 %case.cmp71, label %sw.bb334, label %NodeBlock68 + +NodeBlock68: ; preds = %NodeBlock70 + %case.cmp69 = icmp eq i32 %conv82, 103 + br i1 %case.cmp69, label %sw.bb334, label %NodeBlock66 + +NodeBlock66: ; preds = %NodeBlock68 + %case.cmp67 = icmp eq i32 %conv82, 104 + br i1 %case.cmp67, label %sw.bb334, label %NodeBlock64 + +NodeBlock64: ; preds = %NodeBlock66 + %case.cmp65 = icmp eq i32 %conv82, 105 + br i1 %case.cmp65, label %sw.bb334, label %NodeBlock62 + +NodeBlock62: ; preds = %NodeBlock64 + %case.cmp63 = icmp eq i32 %conv82, 106 + br i1 %case.cmp63, label %sw.bb334, label %NodeBlock60 + +NodeBlock60: ; preds = %NodeBlock62 + %case.cmp61 = icmp eq i32 %conv82, 107 + br i1 %case.cmp61, label %sw.bb334, label %NodeBlock58 + +NodeBlock58: ; preds = %NodeBlock60 + %case.cmp59 = icmp eq i32 %conv82, 108 + br i1 %case.cmp59, label %sw.bb334, label %NodeBlock56 + +NodeBlock56: ; preds = %NodeBlock58 + %case.cmp57 = icmp eq i32 %conv82, 109 + br i1 %case.cmp57, label %sw.bb334, label %NodeBlock54 + +NodeBlock54: ; preds = %NodeBlock56 + %case.cmp55 = icmp eq i32 %conv82, 110 + br i1 %case.cmp55, label %sw.bb334, label %NodeBlock52 + +NodeBlock52: ; preds = %NodeBlock54 + %case.cmp53 = icmp eq i32 %conv82, 111 + br i1 %case.cmp53, label %sw.bb334, label %NodeBlock50 + +NodeBlock50: ; preds = %NodeBlock52 + %case.cmp51 = icmp eq i32 %conv82, 112 + br i1 %case.cmp51, label %sw.bb334, label %NodeBlock48 + +NodeBlock48: ; preds = %NodeBlock50 + %case.cmp49 = icmp eq i32 %conv82, 113 + br i1 %case.cmp49, label %sw.bb334, label %NodeBlock46 + +NodeBlock46: ; preds = %NodeBlock48 + %case.cmp47 = icmp eq i32 %conv82, 114 + br i1 %case.cmp47, label %sw.bb334, label %NodeBlock44 + +NodeBlock44: ; preds = %NodeBlock46 + %case.cmp45 = icmp eq i32 %conv82, 115 + br i1 %case.cmp45, label %sw.bb334, label %NodeBlock42 + +NodeBlock42: ; preds = %NodeBlock44 + %case.cmp43 = icmp eq i32 %conv82, 116 + br i1 %case.cmp43, label %sw.bb334, label %NodeBlock40 + +NodeBlock40: ; preds = %NodeBlock42 + %case.cmp41 = icmp eq i32 %conv82, 117 + br i1 %case.cmp41, label %sw.bb334, label %NodeBlock38 + +NodeBlock38: ; preds = %NodeBlock40 + %case.cmp39 = icmp eq i32 %conv82, 118 + br i1 %case.cmp39, label %sw.bb334, label %NodeBlock36 + +NodeBlock36: ; preds = %NodeBlock38 + %case.cmp37 = icmp eq i32 %conv82, 119 + br i1 %case.cmp37, label %sw.bb334, label %NodeBlock34 + +NodeBlock34: ; preds = %NodeBlock36 + %case.cmp35 = icmp eq i32 %conv82, 120 + br i1 %case.cmp35, label %sw.bb334, label %NodeBlock32 + +NodeBlock32: ; preds = %NodeBlock34 + %case.cmp33 = icmp eq i32 %conv82, 121 + br i1 %case.cmp33, label %sw.bb334, label %NodeBlock30 + +NodeBlock30: ; preds = %NodeBlock32 + %case.cmp31 = icmp eq i32 %conv82, 122 + br i1 %case.cmp31, label %sw.bb334, label %newDefault29 + +sw.bb83: ; preds = %NodeBlock232 + %56 = load i8, i8* %backslash_escapes, align 1 + %tobool84 = trunc i8 %56 to i1 + br i1 %tobool84, label %do.body86, label %if.else + +do.body86: ; preds = %sw.bb83 + %57 = load i8, i8* %elide_outer_quotes, align 1 + %tobool87 = trunc i8 %57 to i1 + br i1 %tobool87, label %force_outer_quoting_style, label %if.end89 + +if.end89: ; preds = %do.body86 + store i8 1, i8* %escaping, align 1 + %58 = load i32, i32* %quoting_style.addr, align 4 + %cmp90 = icmp eq i32 %58, 2 + br i1 %cmp90, label %land.lhs.true92, label %do.body120 + +land.lhs.true92: ; preds = %if.end89 + %59 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool93 = trunc i8 %59 to i1 + br i1 %tobool93, label %do.body120, label %do.body95 + +do.body95: ; preds = %land.lhs.true92 + %60 = load i64, i64* %len, align 8 + %61 = load i64, i64* %buffersize.addr, align 8 + %cmp96 = icmp ult i64 %60, %61 + br i1 %cmp96, label %if.then98, label %if.end100 + +if.then98: ; preds = %do.body95 + %62 = load i8*, i8** %buffer.addr, align 8 + %63 = load i64, i64* %len, align 8 + %arrayidx99 = getelementptr inbounds i8, i8* %62, i64 %63 + store i8 39, i8* %arrayidx99, align 1 + br label %if.end100 + +if.end100: ; preds = %if.then98, %do.body95 + %64 = load i64, i64* %len, align 8 + %inc101 = add i64 %64, 1 + store i64 %inc101, i64* %len, align 8 + %65 = load i64, i64* %len, align 8 + %66 = load i64, i64* %buffersize.addr, align 8 + %cmp104 = icmp ult i64 %65, %66 + br i1 %cmp104, label %if.then106, label %if.end108 + +if.then106: ; preds = %if.end100 + %67 = load i8*, i8** %buffer.addr, align 8 + %68 = load i64, i64* %len, align 8 + %arrayidx107 = getelementptr inbounds i8, i8* %67, i64 %68 + store i8 36, i8* %arrayidx107, align 1 + br label %if.end108 + +if.end108: ; preds = %if.then106, %if.end100 + %69 = load i64, i64* %len, align 8 + %inc109 = add i64 %69, 1 + store i64 %inc109, i64* %len, align 8 + %70 = load i64, i64* %len, align 8 + %71 = load i64, i64* %buffersize.addr, align 8 + %cmp112 = icmp ult i64 %70, %71 + br i1 %cmp112, label %if.then114, label %if.end116 + +if.then114: ; preds = %if.end108 + %72 = load i8*, i8** %buffer.addr, align 8 + %73 = load i64, i64* %len, align 8 + %arrayidx115 = getelementptr inbounds i8, i8* %72, i64 %73 + store i8 39, i8* %arrayidx115, align 1 + br label %if.end116 + +if.end116: ; preds = %if.then114, %if.end108 + %74 = load i64, i64* %len, align 8 + %inc117 = add i64 %74, 1 + store i64 %inc117, i64* %len, align 8 + store i8 1, i8* %pending_shell_escape_end, align 1 + br label %do.body120 + +do.body120: ; preds = %if.end89, %land.lhs.true92, %if.end116 + %75 = load i64, i64* %len, align 8 + %76 = load i64, i64* %buffersize.addr, align 8 + %cmp121 = icmp ult i64 %75, %76 + br i1 %cmp121, label %if.then123, label %if.end125 + +if.then123: ; preds = %do.body120 + %77 = load i8*, i8** %buffer.addr, align 8 + %78 = load i64, i64* %len, align 8 + %arrayidx124 = getelementptr inbounds i8, i8* %77, i64 %78 + store i8 92, i8* %arrayidx124, align 1 + br label %if.end125 + +if.end125: ; preds = %if.then123, %do.body120 + %79 = load i64, i64* %len, align 8 + %inc126 = add i64 %79, 1 + store i64 %inc126, i64* %len, align 8 + %80 = load i32, i32* %quoting_style.addr, align 4 + %cmp129 = icmp ne i32 %80, 2 + br i1 %cmp129, label %land.lhs.true131, label %if.end164 + +land.lhs.true131: ; preds = %if.end125 + %81 = load i64, i64* %i, align 8 + %add132 = add i64 %81, 1 + %82 = load i64, i64* %argsize.addr, align 8 + %cmp133 = icmp ult i64 %add132, %82 + br i1 %cmp133, label %land.lhs.true135, label %if.end164 + +land.lhs.true135: ; preds = %land.lhs.true131 + %83 = load i8*, i8** %arg.addr, align 8 + %84 = load i64, i64* %i, align 8 + %add136 = add i64 %84, 1 + %arrayidx137 = getelementptr inbounds i8, i8* %83, i64 %add136 + %85 = load i8, i8* %arrayidx137, align 1 + %conv138 = sext i8 %85 to i32 + %cmp139 = icmp sle i32 48, %conv138 + br i1 %cmp139, label %land.lhs.true141, label %if.end164 + +land.lhs.true141: ; preds = %land.lhs.true135 + %86 = load i8*, i8** %arg.addr, align 8 + %87 = load i64, i64* %i, align 8 + %add142 = add i64 %87, 1 + %arrayidx143 = getelementptr inbounds i8, i8* %86, i64 %add142 + %88 = load i8, i8* %arrayidx143, align 1 + %conv144 = sext i8 %88 to i32 + %cmp145 = icmp sle i32 %conv144, 57 + br i1 %cmp145, label %do.body148, label %if.end164 + +do.body148: ; preds = %land.lhs.true141 + %89 = load i64, i64* %len, align 8 + %90 = load i64, i64* %buffersize.addr, align 8 + %cmp149 = icmp ult i64 %89, %90 + br i1 %cmp149, label %if.then151, label %if.end153 + +if.then151: ; preds = %do.body148 + %91 = load i8*, i8** %buffer.addr, align 8 + %92 = load i64, i64* %len, align 8 + %arrayidx152 = getelementptr inbounds i8, i8* %91, i64 %92 + store i8 48, i8* %arrayidx152, align 1 + br label %if.end153 + +if.end153: ; preds = %if.then151, %do.body148 + %93 = load i64, i64* %len, align 8 + %inc154 = add i64 %93, 1 + store i64 %inc154, i64* %len, align 8 + %94 = load i64, i64* %len, align 8 + %95 = load i64, i64* %buffersize.addr, align 8 + %cmp157 = icmp ult i64 %94, %95 + br i1 %cmp157, label %if.then159, label %if.end161 + +if.then159: ; preds = %if.end153 + %96 = load i8*, i8** %buffer.addr, align 8 + %97 = load i64, i64* %len, align 8 + %arrayidx160 = getelementptr inbounds i8, i8* %96, i64 %97 + store i8 48, i8* %arrayidx160, align 1 + br label %if.end161 + +if.end161: ; preds = %if.then159, %if.end153 + %98 = load i64, i64* %len, align 8 + %inc162 = add i64 %98, 1 + store i64 %inc162, i64* %len, align 8 + br label %if.end164 + +if.end164: ; preds = %if.end161, %land.lhs.true141, %land.lhs.true135, %land.lhs.true131, %if.end125 + store i8 48, i8* %c, align 1 + br label %sw.epilog564 + +if.else: ; preds = %sw.bb83 + %99 = load i32, i32* %flags.addr, align 4 + %and165 = and i32 %99, 1 + %tobool166 = icmp ne i32 %and165, 0 + br i1 %tobool166, label %for.inc673, label %sw.epilog564 + +sw.bb170: ; preds = %NodeBlock230 + %100 = load i32, i32* %quoting_style.addr, align 4 + br label %NodeBlock237 + +NodeBlock237: ; preds = %sw.bb170 + %case.cmp238 = icmp eq i32 %100, 2 + br i1 %case.cmp238, label %sw.bb171, label %NodeBlock235 + +NodeBlock235: ; preds = %NodeBlock237 + %case.cmp236 = icmp eq i32 %100, 5 + br i1 %case.cmp236, label %sw.bb175, label %newDefault234 + +sw.bb171: ; preds = %NodeBlock237 + %101 = load i8, i8* %elide_outer_quotes, align 1 + %tobool172 = trunc i8 %101 to i1 + br i1 %tobool172, label %force_outer_quoting_style, label %sw.epilog564 + +sw.bb175: ; preds = %NodeBlock235 + %102 = load i32, i32* %flags.addr, align 4 + %and176 = and i32 %102, 4 + %tobool177 = icmp ne i32 %and176, 0 + br i1 %tobool177, label %land.lhs.true178, label %sw.epilog564 + +land.lhs.true178: ; preds = %sw.bb175 + %103 = load i64, i64* %i, align 8 + %add179 = add i64 %103, 2 + %104 = load i64, i64* %argsize.addr, align 8 + %cmp180 = icmp ult i64 %add179, %104 + br i1 %cmp180, label %land.lhs.true182, label %sw.epilog564 + +land.lhs.true182: ; preds = %land.lhs.true178 + %105 = load i8*, i8** %arg.addr, align 8 + %106 = load i64, i64* %i, align 8 + %add183 = add i64 %106, 1 + %arrayidx184 = getelementptr inbounds i8, i8* %105, i64 %add183 + %107 = load i8, i8* %arrayidx184, align 1 + %conv185 = sext i8 %107 to i32 + %cmp186 = icmp eq i32 %conv185, 63 + br i1 %cmp186, label %if.then188, label %sw.epilog564 + +if.then188: ; preds = %land.lhs.true182 + %108 = load i8*, i8** %arg.addr, align 8 + %109 = load i64, i64* %i, align 8 + %add189 = add i64 %109, 2 + %arrayidx190 = getelementptr inbounds i8, i8* %108, i64 %add189 + %110 = load i8, i8* %arrayidx190, align 1 + %conv191 = sext i8 %110 to i32 + br label %NodeBlock256 + +NodeBlock256: ; preds = %if.then188 + %case.cmp257 = icmp eq i32 %conv191, 33 + br i1 %case.cmp257, label %sw.bb192, label %NodeBlock254 + +NodeBlock254: ; preds = %NodeBlock256 + %case.cmp255 = icmp eq i32 %conv191, 39 + br i1 %case.cmp255, label %sw.bb192, label %NodeBlock252 + +NodeBlock252: ; preds = %NodeBlock254 + %case.cmp253 = icmp eq i32 %conv191, 40 + br i1 %case.cmp253, label %sw.bb192, label %NodeBlock250 + +NodeBlock250: ; preds = %NodeBlock252 + %case.cmp251 = icmp eq i32 %conv191, 41 + br i1 %case.cmp251, label %sw.bb192, label %NodeBlock248 + +NodeBlock248: ; preds = %NodeBlock250 + %case.cmp249 = icmp eq i32 %conv191, 45 + br i1 %case.cmp249, label %sw.bb192, label %NodeBlock246 + +NodeBlock246: ; preds = %NodeBlock248 + %case.cmp247 = icmp eq i32 %conv191, 47 + br i1 %case.cmp247, label %sw.bb192, label %NodeBlock244 + +NodeBlock244: ; preds = %NodeBlock246 + %case.cmp245 = icmp eq i32 %conv191, 60 + br i1 %case.cmp245, label %sw.bb192, label %NodeBlock242 + +NodeBlock242: ; preds = %NodeBlock244 + %case.cmp243 = icmp eq i32 %conv191, 61 + br i1 %case.cmp243, label %sw.bb192, label %NodeBlock240 + +NodeBlock240: ; preds = %NodeBlock242 + %case.cmp241 = icmp eq i32 %conv191, 62 + br i1 %case.cmp241, label %sw.bb192, label %newDefault239 + +sw.bb192: ; preds = %NodeBlock256, %NodeBlock254, %NodeBlock252, %NodeBlock250, %NodeBlock248, %NodeBlock246, %NodeBlock244, %NodeBlock242, %NodeBlock240 + %111 = load i8, i8* %elide_outer_quotes, align 1 + %tobool193 = trunc i8 %111 to i1 + br i1 %tobool193, label %force_outer_quoting_style, label %if.end195 + +if.end195: ; preds = %sw.bb192 + %112 = load i8*, i8** %arg.addr, align 8 + %113 = load i64, i64* %i, align 8 + %add196 = add i64 %113, 2 + %arrayidx197 = getelementptr inbounds i8, i8* %112, i64 %add196 + %114 = load i8, i8* %arrayidx197, align 1 + store i8 %114, i8* %c, align 1 + %115 = load i64, i64* %i, align 8 + %add198 = add i64 %115, 2 + store i64 %add198, i64* %i, align 8 + %116 = load i64, i64* %len, align 8 + %117 = load i64, i64* %buffersize.addr, align 8 + %cmp200 = icmp ult i64 %116, %117 + br i1 %cmp200, label %if.then202, label %if.end204 + +if.then202: ; preds = %if.end195 + %118 = load i8*, i8** %buffer.addr, align 8 + %119 = load i64, i64* %len, align 8 + %arrayidx203 = getelementptr inbounds i8, i8* %118, i64 %119 + store i8 63, i8* %arrayidx203, align 1 + br label %if.end204 + +if.end204: ; preds = %if.then202, %if.end195 + %120 = load i64, i64* %len, align 8 + %inc205 = add i64 %120, 1 + store i64 %inc205, i64* %len, align 8 + %121 = load i64, i64* %len, align 8 + %122 = load i64, i64* %buffersize.addr, align 8 + %cmp208 = icmp ult i64 %121, %122 + br i1 %cmp208, label %if.then210, label %if.end212 + +if.then210: ; preds = %if.end204 + %123 = load i8*, i8** %buffer.addr, align 8 + %124 = load i64, i64* %len, align 8 + %arrayidx211 = getelementptr inbounds i8, i8* %123, i64 %124 + store i8 34, i8* %arrayidx211, align 1 + br label %if.end212 + +if.end212: ; preds = %if.then210, %if.end204 + %125 = load i64, i64* %len, align 8 + %inc213 = add i64 %125, 1 + store i64 %inc213, i64* %len, align 8 + %126 = load i64, i64* %len, align 8 + %127 = load i64, i64* %buffersize.addr, align 8 + %cmp216 = icmp ult i64 %126, %127 + br i1 %cmp216, label %if.then218, label %if.end220 + +if.then218: ; preds = %if.end212 + %128 = load i8*, i8** %buffer.addr, align 8 + %129 = load i64, i64* %len, align 8 + %arrayidx219 = getelementptr inbounds i8, i8* %128, i64 %129 + store i8 34, i8* %arrayidx219, align 1 + br label %if.end220 + +if.end220: ; preds = %if.then218, %if.end212 + %130 = load i64, i64* %len, align 8 + %inc221 = add i64 %130, 1 + store i64 %inc221, i64* %len, align 8 + %131 = load i64, i64* %len, align 8 + %132 = load i64, i64* %buffersize.addr, align 8 + %cmp224 = icmp ult i64 %131, %132 + br i1 %cmp224, label %if.then226, label %if.end228 + +if.then226: ; preds = %if.end220 + %133 = load i8*, i8** %buffer.addr, align 8 + %134 = load i64, i64* %len, align 8 + %arrayidx227 = getelementptr inbounds i8, i8* %133, i64 %134 + store i8 63, i8* %arrayidx227, align 1 + br label %if.end228 + +if.end228: ; preds = %if.then226, %if.end220 + %135 = load i64, i64* %len, align 8 + %inc229 = add i64 %135, 1 + store i64 %inc229, i64* %len, align 8 + br label %sw.epilog564 + +sw.bb236: ; preds = %NodeBlock228 + store i8 97, i8* %esc, align 1 + br label %c_escape + +sw.bb237: ; preds = %NodeBlock226 + store i8 98, i8* %esc, align 1 + br label %c_escape + +sw.bb238: ; preds = %NodeBlock224 + store i8 102, i8* %esc, align 1 + br label %c_escape + +sw.bb239: ; preds = %NodeBlock222 + store i8 110, i8* %esc, align 1 + br label %c_and_shell_escape + +sw.bb240: ; preds = %NodeBlock220 + store i8 114, i8* %esc, align 1 + br label %c_and_shell_escape + +sw.bb241: ; preds = %NodeBlock218 + store i8 116, i8* %esc, align 1 + br label %c_and_shell_escape + +sw.bb242: ; preds = %NodeBlock216 + store i8 118, i8* %esc, align 1 + br label %c_escape + +sw.bb243: ; preds = %NodeBlock214 + %136 = load i8, i8* %c, align 1 + store i8 %136, i8* %esc, align 1 + %137 = load i32, i32* %quoting_style.addr, align 4 + %cmp244 = icmp eq i32 %137, 2 + br i1 %cmp244, label %if.then246, label %if.end250 + +if.then246: ; preds = %sw.bb243 + %138 = load i8, i8* %elide_outer_quotes, align 1 + %tobool247 = trunc i8 %138 to i1 + br i1 %tobool247, label %force_outer_quoting_style, label %do.body634 + +if.end250: ; preds = %sw.bb243 + %139 = load i8, i8* %backslash_escapes, align 1 + %tobool251 = trunc i8 %139 to i1 + br i1 %tobool251, label %land.lhs.true253, label %c_and_shell_escape + +land.lhs.true253: ; preds = %if.end250 + %140 = load i8, i8* %elide_outer_quotes, align 1 + %tobool254 = trunc i8 %140 to i1 + %141 = load i64, i64* %quote_string_len, align 8 + %tobool257 = icmp ne i64 %141, 0 + %or.cond3 = and i1 %tobool254, %tobool257 + br i1 %or.cond3, label %do.body634, label %c_and_shell_escape + +c_and_shell_escape: ; preds = %if.end250, %land.lhs.true253, %sw.bb241, %sw.bb240, %sw.bb239 + %142 = load i32, i32* %quoting_style.addr, align 4 + %cmp260 = icmp eq i32 %142, 2 + br i1 %cmp260, label %land.lhs.true262, label %c_escape + +land.lhs.true262: ; preds = %c_and_shell_escape + %143 = load i8, i8* %elide_outer_quotes, align 1 + %tobool263 = trunc i8 %143 to i1 + br i1 %tobool263, label %force_outer_quoting_style, label %c_escape + +c_escape: ; preds = %c_and_shell_escape, %land.lhs.true262, %sw.bb242, %sw.bb238, %sw.bb237, %sw.bb236 + %144 = load i8, i8* %backslash_escapes, align 1 + %tobool267 = trunc i8 %144 to i1 + br i1 %tobool267, label %if.then268, label %sw.epilog564 + +if.then268: ; preds = %c_escape + %145 = load i8, i8* %esc, align 1 + store i8 %145, i8* %c, align 1 + br label %do.body586 + +sw.bb270: ; preds = %NodeBlock212, %NodeBlock210 + %146 = load i64, i64* %argsize.addr, align 8 + %cmp271 = icmp eq i64 %146, -1 + br i1 %cmp271, label %cond.true273, label %cond.false278 + +cond.true273: ; preds = %sw.bb270 + %147 = load i8*, i8** %arg.addr, align 8 + %arrayidx274 = getelementptr inbounds i8, i8* %147, i64 1 + %148 = load i8, i8* %arrayidx274, align 1 + %conv275 = sext i8 %148 to i32 + %cmp276 = icmp eq i32 %conv275, 0 + br i1 %cmp276, label %sw.bb283, label %sw.epilog564 + +cond.false278: ; preds = %sw.bb270 + %149 = load i64, i64* %argsize.addr, align 8 + %cmp279 = icmp eq i64 %149, 1 + br i1 %cmp279, label %sw.bb283, label %sw.epilog564 + +sw.bb283: ; preds = %NodeBlock208, %NodeBlock206, %cond.true273, %cond.false278 + %150 = load i64, i64* %i, align 8 + %cmp284 = icmp ne i64 %150, 0 + br i1 %cmp284, label %sw.epilog564, label %sw.bb288 + +sw.bb288: ; preds = %NodeBlock204, %sw.bb283 + store i8 1, i8* %c_and_shell_quote_compat, align 1 + br label %sw.bb289 + +sw.bb289: ; preds = %NodeBlock202, %NodeBlock200, %NodeBlock198, %NodeBlock196, %NodeBlock194, %NodeBlock192, %NodeBlock190, %NodeBlock188, %NodeBlock186, %NodeBlock184, %NodeBlock182, %NodeBlock180, %NodeBlock178, %NodeBlock176, %NodeBlock174, %sw.bb288 + %151 = load i32, i32* %quoting_style.addr, align 4 + %cmp290 = icmp eq i32 %151, 2 + br i1 %cmp290, label %land.lhs.true292, label %sw.epilog564 + +land.lhs.true292: ; preds = %sw.bb289 + %152 = load i8, i8* %elide_outer_quotes, align 1 + %tobool293 = trunc i8 %152 to i1 + br i1 %tobool293, label %force_outer_quoting_style, label %sw.epilog564 + +sw.bb297: ; preds = %NodeBlock172 + store i8 1, i8* %encountered_single_quote, align 1 + store i8 1, i8* %c_and_shell_quote_compat, align 1 + %153 = load i32, i32* %quoting_style.addr, align 4 + %cmp298 = icmp eq i32 %153, 2 + br i1 %cmp298, label %if.then300, label %sw.epilog564 + +if.then300: ; preds = %sw.bb297 + %154 = load i8, i8* %elide_outer_quotes, align 1 + %tobool301 = trunc i8 %154 to i1 + br i1 %tobool301, label %force_outer_quoting_style, label %if.end303 + +if.end303: ; preds = %if.then300 + %155 = load i64, i64* %buffersize.addr, align 8 + %tobool304 = icmp eq i64 %155, 0 + %156 = load i64, i64* %orig_buffersize, align 8 + %tobool306 = icmp ne i64 %156, 0 + %or.cond4 = or i1 %tobool304, %tobool306 + br i1 %or.cond4, label %do.body309, label %if.then307 + +if.then307: ; preds = %if.end303 + %157 = load i64, i64* %buffersize.addr, align 8 + store i64 %157, i64* %orig_buffersize, align 8 + store i64 0, i64* %buffersize.addr, align 8 + br label %do.body309 + +do.body309: ; preds = %if.then307, %if.end303 + %158 = load i64, i64* %len, align 8 + %159 = load i64, i64* %buffersize.addr, align 8 + %cmp310 = icmp ult i64 %158, %159 + br i1 %cmp310, label %if.then312, label %if.end314 + +if.then312: ; preds = %do.body309 + %160 = load i8*, i8** %buffer.addr, align 8 + %161 = load i64, i64* %len, align 8 + %arrayidx313 = getelementptr inbounds i8, i8* %160, i64 %161 + store i8 39, i8* %arrayidx313, align 1 + br label %if.end314 + +if.end314: ; preds = %if.then312, %do.body309 + %162 = load i64, i64* %len, align 8 + %inc315 = add i64 %162, 1 + store i64 %inc315, i64* %len, align 8 + %163 = load i64, i64* %len, align 8 + %164 = load i64, i64* %buffersize.addr, align 8 + %cmp318 = icmp ult i64 %163, %164 + br i1 %cmp318, label %if.then320, label %if.end322 + +if.then320: ; preds = %if.end314 + %165 = load i8*, i8** %buffer.addr, align 8 + %166 = load i64, i64* %len, align 8 + %arrayidx321 = getelementptr inbounds i8, i8* %165, i64 %166 + store i8 92, i8* %arrayidx321, align 1 + br label %if.end322 + +if.end322: ; preds = %if.then320, %if.end314 + %167 = load i64, i64* %len, align 8 + %inc323 = add i64 %167, 1 + store i64 %inc323, i64* %len, align 8 + %168 = load i64, i64* %len, align 8 + %169 = load i64, i64* %buffersize.addr, align 8 + %cmp326 = icmp ult i64 %168, %169 + br i1 %cmp326, label %if.then328, label %if.end330 + +if.then328: ; preds = %if.end322 + %170 = load i8*, i8** %buffer.addr, align 8 + %171 = load i64, i64* %len, align 8 + %arrayidx329 = getelementptr inbounds i8, i8* %170, i64 %171 + store i8 39, i8* %arrayidx329, align 1 + br label %if.end330 + +if.end330: ; preds = %if.then328, %if.end322 + %172 = load i64, i64* %len, align 8 + %inc331 = add i64 %172, 1 + store i64 %inc331, i64* %len, align 8 + store i8 0, i8* %pending_shell_escape_end, align 1 + br label %sw.epilog564 + +sw.bb334: ; preds = %NodeBlock170, %NodeBlock168, %NodeBlock166, %NodeBlock164, %NodeBlock162, %NodeBlock160, %NodeBlock158, %NodeBlock156, %NodeBlock154, %NodeBlock152, %NodeBlock150, %NodeBlock148, %NodeBlock146, %NodeBlock144, %NodeBlock142, %NodeBlock140, %NodeBlock138, %NodeBlock136, %NodeBlock134, %NodeBlock132, %NodeBlock130, %NodeBlock128, %NodeBlock126, %NodeBlock124, %NodeBlock122, %NodeBlock120, %NodeBlock118, %NodeBlock116, %NodeBlock114, %NodeBlock112, %NodeBlock110, %NodeBlock108, %NodeBlock106, %NodeBlock104, %NodeBlock102, %NodeBlock100, %NodeBlock98, %NodeBlock96, %NodeBlock94, %NodeBlock92, %NodeBlock90, %NodeBlock88, %NodeBlock86, %NodeBlock84, %NodeBlock82, %NodeBlock80, %NodeBlock78, %NodeBlock76, %NodeBlock74, %NodeBlock72, %NodeBlock70, %NodeBlock68, %NodeBlock66, %NodeBlock64, %NodeBlock62, %NodeBlock60, %NodeBlock58, %NodeBlock56, %NodeBlock54, %NodeBlock52, %NodeBlock50, %NodeBlock48, %NodeBlock46, %NodeBlock44, %NodeBlock42, %NodeBlock40, %NodeBlock38, %NodeBlock36, %NodeBlock34, %NodeBlock32, %NodeBlock30 + store i8 1, i8* %c_and_shell_quote_compat, align 1 + br label %sw.epilog564 + +newDefault29: ; preds = %NodeBlock30 + br label %sw.default335 + +sw.default335: ; preds = %newDefault29 + %173 = load i8, i8* %unibyte_locale, align 1 + %tobool336 = trunc i8 %173 to i1 + br i1 %tobool336, label %if.then337, label %if.else346 + +if.then337: ; preds = %sw.default335 + store i64 1, i64* %m, align 8 + %call338 = call i16** @__ctype_b_loc() #25 + %174 = load i16*, i16** %call338, align 8 + %175 = load i8, i8* %c, align 1 + %conv339 = zext i8 %175 to i32 + %idxprom = sext i32 %conv339 to i64 + %arrayidx340 = getelementptr inbounds i16, i16* %174, i64 %idxprom + %176 = load i16, i16* %arrayidx340, align 2 + %conv341 = zext i16 %176 to i32 + %and342 = and i32 %conv341, 16384 + %cmp343 = icmp ne i32 %and342, 0 + %frombool345 = zext i1 %cmp343 to i8 + store i8 %frombool345, i8* %printable, align 1 + br label %if.end410 + +if.else346: ; preds = %sw.default335 + %177 = bitcast %struct.__mbstate_t* %mbstate to i8* + %178 = call i8* @memset(i8* %177, i32 0, i64 8) + store i64 0, i64* %m, align 8 + store i8 1, i8* %printable, align 1 + %179 = load i64, i64* %argsize.addr, align 8 + %cmp347 = icmp eq i64 %179, -1 + br i1 %cmp347, label %if.then349, label %if.end351 + +if.then349: ; preds = %if.else346 + %180 = load i8*, i8** %arg.addr, align 8 + %call350 = call i64 @strlen(i8* %180) #23 + store i64 %call350, i64* %argsize.addr, align 8 + br label %if.end351 + +if.end351: ; preds = %if.then349, %if.else346 + br label %do.body352 + +do.body352: ; preds = %if.end401, %if.end351 + %181 = load i8*, i8** %arg.addr, align 8 + %182 = load i64, i64* %i, align 8 + %183 = load i64, i64* %m, align 8 + %add353 = add i64 %182, %183 + %arrayidx354 = getelementptr inbounds i8, i8* %181, i64 %add353 + %184 = load i64, i64* %argsize.addr, align 8 + %185 = load i64, i64* %i, align 8 + %186 = load i64, i64* %m, align 8 + %add355 = add i64 %185, %186 + %sub = sub i64 %184, %add355 + %call356 = call i64 @rpl_mbrtowc(i32* %w, i8* %arrayidx354, i64 %sub, %struct.__mbstate_t* %mbstate) + store i64 %call356, i64* %bytes, align 8 + %187 = load i64, i64* %bytes, align 8 + %cmp357 = icmp eq i64 %187, 0 + br i1 %cmp357, label %if.end410, label %if.else360 + +if.else360: ; preds = %do.body352 + %188 = load i64, i64* %bytes, align 8 + %cmp361 = icmp eq i64 %188, -1 + br i1 %cmp361, label %if.then363, label %if.else364 + +if.then363: ; preds = %if.else360 + store i8 0, i8* %printable, align 1 + br label %if.end410 + +if.else364: ; preds = %if.else360 + %189 = load i64, i64* %bytes, align 8 + %cmp365 = icmp eq i64 %189, -2 + br i1 %cmp365, label %if.then367, label %if.else376 + +if.then367: ; preds = %if.else364 + store i8 0, i8* %printable, align 1 + br label %while.cond + +while.cond: ; preds = %while.body, %if.then367 + %190 = load i64, i64* %i, align 8 + %191 = load i64, i64* %m, align 8 + %add368 = add i64 %190, %191 + %192 = load i64, i64* %argsize.addr, align 8 + %cmp369 = icmp ult i64 %add368, %192 + br i1 %cmp369, label %land.rhs, label %if.end410 + +land.rhs: ; preds = %while.cond + %193 = load i8*, i8** %arg.addr, align 8 + %194 = load i64, i64* %i, align 8 + %195 = load i64, i64* %m, align 8 + %add371 = add i64 %194, %195 + %arrayidx372 = getelementptr inbounds i8, i8* %193, i64 %add371 + %196 = load i8, i8* %arrayidx372, align 1 + %conv373 = sext i8 %196 to i32 + %tobool374 = icmp ne i32 %conv373, 0 + br i1 %tobool374, label %while.body, label %if.end410 + +while.body: ; preds = %land.rhs + %197 = load i64, i64* %m, align 8 + %inc375 = add i64 %197, 1 + store i64 %inc375, i64* %m, align 8 + br label %while.cond + +if.else376: ; preds = %if.else364 + %198 = load i8, i8* %elide_outer_quotes, align 1 + %tobool377 = trunc i8 %198 to i1 + %199 = load i32, i32* %quoting_style.addr, align 4 + %cmp380 = icmp eq i32 %199, 2 + %or.cond5 = and i1 %tobool377, %cmp380 + br i1 %or.cond5, label %if.then382, label %if.end397 + +if.then382: ; preds = %if.else376 + store i64 1, i64* %j, align 8 + br label %for.cond383 + +for.cond383: ; preds = %for.inc394, %if.then382 + %200 = load i64, i64* %j, align 8 + %201 = load i64, i64* %bytes, align 8 + %cmp384 = icmp ult i64 %200, %201 + br i1 %cmp384, label %for.body386, label %if.end397 + +for.body386: ; preds = %for.cond383 + %202 = load i8*, i8** %arg.addr, align 8 + %203 = load i64, i64* %i, align 8 + %204 = load i64, i64* %m, align 8 + %add387 = add i64 %203, %204 + %205 = load i64, i64* %j, align 8 + %add388 = add i64 %add387, %205 + %arrayidx389 = getelementptr inbounds i8, i8* %202, i64 %add388 + %206 = load i8, i8* %arrayidx389, align 1 + %conv390 = sext i8 %206 to i32 + br label %NodeBlock267 + +NodeBlock267: ; preds = %for.body386 + %case.cmp268 = icmp eq i32 %conv390, 91 + br i1 %case.cmp268, label %force_outer_quoting_style, label %NodeBlock265 + +NodeBlock265: ; preds = %NodeBlock267 + %case.cmp266 = icmp eq i32 %conv390, 92 + br i1 %case.cmp266, label %force_outer_quoting_style, label %NodeBlock263 + +NodeBlock263: ; preds = %NodeBlock265 + %case.cmp264 = icmp eq i32 %conv390, 94 + br i1 %case.cmp264, label %force_outer_quoting_style, label %NodeBlock261 + +NodeBlock261: ; preds = %NodeBlock263 + %case.cmp262 = icmp eq i32 %conv390, 96 + br i1 %case.cmp262, label %force_outer_quoting_style, label %NodeBlock259 + +NodeBlock259: ; preds = %NodeBlock261 + %case.cmp260 = icmp eq i32 %conv390, 124 + br i1 %case.cmp260, label %force_outer_quoting_style, label %newDefault258 + +newDefault258: ; preds = %NodeBlock259 + br label %for.inc394 + +for.inc394: ; preds = %newDefault258 + %207 = load i64, i64* %j, align 8 + %inc395 = add i64 %207, 1 + store i64 %inc395, i64* %j, align 8 + br label %for.cond383 + +if.end397: ; preds = %for.cond383, %if.else376 + %208 = load i32, i32* %w, align 4 + %call398 = call i32 @iswprint(i32 %208) #11 + %tobool399 = icmp ne i32 %call398, 0 + br i1 %tobool399, label %if.end401, label %if.then400 + +if.then400: ; preds = %if.end397 + store i8 0, i8* %printable, align 1 + br label %if.end401 + +if.end401: ; preds = %if.then400, %if.end397 + %209 = load i64, i64* %bytes, align 8 + %210 = load i64, i64* %m, align 8 + %add402 = add i64 %210, %209 + store i64 %add402, i64* %m, align 8 + %call406 = call i32 bitcast (i32 (%struct.__mbstate_t.512*)* @mbsinit to i32 (%struct.__mbstate_t*)*)(%struct.__mbstate_t* %mbstate) #23 + %tobool407 = icmp ne i32 %call406, 0 + %lnot408 = xor i1 %tobool407, true + br i1 %lnot408, label %do.body352, label %if.end410 + +if.end410: ; preds = %if.then363, %if.end401, %do.body352, %while.cond, %land.rhs, %if.then337 + %211 = load i8, i8* %printable, align 1 + %tobool411 = trunc i8 %211 to i1 + %frombool412 = zext i1 %tobool411 to i8 + store i8 %frombool412, i8* %c_and_shell_quote_compat, align 1 + %212 = load i64, i64* %m, align 8 + %cmp413 = icmp ult i64 1, %212 + br i1 %cmp413, label %if.then419, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end410 + %213 = load i8, i8* %backslash_escapes, align 1 + %tobool415 = trunc i8 %213 to i1 + br i1 %tobool415, label %land.lhs.true417, label %sw.epilog564 + +land.lhs.true417: ; preds = %lor.lhs.false + %214 = load i8, i8* %printable, align 1 + %tobool418 = trunc i8 %214 to i1 + br i1 %tobool418, label %sw.epilog564, label %if.then419 + +if.then419: ; preds = %land.lhs.true417, %if.end410 + %215 = load i64, i64* %i, align 8 + %216 = load i64, i64* %m, align 8 + %add420 = add i64 %215, %216 + store i64 %add420, i64* %ilim, align 8 + br label %for.cond421 + +for.cond421: ; preds = %if.end556, %if.then419 + %217 = load i8, i8* %backslash_escapes, align 1 + %tobool422 = trunc i8 %217 to i1 + br i1 %tobool422, label %land.lhs.true424, label %if.else505 + +land.lhs.true424: ; preds = %for.cond421 + %218 = load i8, i8* %printable, align 1 + %tobool425 = trunc i8 %218 to i1 + br i1 %tobool425, label %if.else505, label %do.body427 + +do.body427: ; preds = %land.lhs.true424 + %219 = load i8, i8* %elide_outer_quotes, align 1 + %tobool428 = trunc i8 %219 to i1 + br i1 %tobool428, label %force_outer_quoting_style, label %if.end430 + +if.end430: ; preds = %do.body427 + store i8 1, i8* %escaping, align 1 + %220 = load i32, i32* %quoting_style.addr, align 4 + %cmp431 = icmp eq i32 %220, 2 + br i1 %cmp431, label %land.lhs.true433, label %do.body464 + +land.lhs.true433: ; preds = %if.end430 + %221 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool434 = trunc i8 %221 to i1 + br i1 %tobool434, label %do.body464, label %do.body436 + +do.body436: ; preds = %land.lhs.true433 + %222 = load i64, i64* %len, align 8 + %223 = load i64, i64* %buffersize.addr, align 8 + %cmp437 = icmp ult i64 %222, %223 + br i1 %cmp437, label %if.then439, label %if.end441 + +if.then439: ; preds = %do.body436 + %224 = load i8*, i8** %buffer.addr, align 8 + %225 = load i64, i64* %len, align 8 + %arrayidx440 = getelementptr inbounds i8, i8* %224, i64 %225 + store i8 39, i8* %arrayidx440, align 1 + br label %if.end441 + +if.end441: ; preds = %if.then439, %do.body436 + %226 = load i64, i64* %len, align 8 + %inc442 = add i64 %226, 1 + store i64 %inc442, i64* %len, align 8 + %227 = load i64, i64* %len, align 8 + %228 = load i64, i64* %buffersize.addr, align 8 + %cmp446 = icmp ult i64 %227, %228 + br i1 %cmp446, label %if.then448, label %if.end450 + +if.then448: ; preds = %if.end441 + %229 = load i8*, i8** %buffer.addr, align 8 + %230 = load i64, i64* %len, align 8 + %arrayidx449 = getelementptr inbounds i8, i8* %229, i64 %230 + store i8 36, i8* %arrayidx449, align 1 + br label %if.end450 + +if.end450: ; preds = %if.then448, %if.end441 + %231 = load i64, i64* %len, align 8 + %inc451 = add i64 %231, 1 + store i64 %inc451, i64* %len, align 8 + %232 = load i64, i64* %len, align 8 + %233 = load i64, i64* %buffersize.addr, align 8 + %cmp455 = icmp ult i64 %232, %233 + br i1 %cmp455, label %if.then457, label %if.end459 + +if.then457: ; preds = %if.end450 + %234 = load i8*, i8** %buffer.addr, align 8 + %235 = load i64, i64* %len, align 8 + %arrayidx458 = getelementptr inbounds i8, i8* %234, i64 %235 + store i8 39, i8* %arrayidx458, align 1 + br label %if.end459 + +if.end459: ; preds = %if.then457, %if.end450 + %236 = load i64, i64* %len, align 8 + %inc460 = add i64 %236, 1 + store i64 %inc460, i64* %len, align 8 + store i8 1, i8* %pending_shell_escape_end, align 1 + br label %do.body464 + +do.body464: ; preds = %if.end430, %land.lhs.true433, %if.end459 + %237 = load i64, i64* %len, align 8 + %238 = load i64, i64* %buffersize.addr, align 8 + %cmp465 = icmp ult i64 %237, %238 + br i1 %cmp465, label %if.then467, label %if.end469 + +if.then467: ; preds = %do.body464 + %239 = load i8*, i8** %buffer.addr, align 8 + %240 = load i64, i64* %len, align 8 + %arrayidx468 = getelementptr inbounds i8, i8* %239, i64 %240 + store i8 92, i8* %arrayidx468, align 1 + br label %if.end469 + +if.end469: ; preds = %if.then467, %do.body464 + %241 = load i64, i64* %len, align 8 + %inc470 = add i64 %241, 1 + store i64 %inc470, i64* %len, align 8 + %242 = load i64, i64* %len, align 8 + %243 = load i64, i64* %buffersize.addr, align 8 + %cmp476 = icmp ult i64 %242, %243 + br i1 %cmp476, label %if.then478, label %if.end483 + +if.then478: ; preds = %if.end469 + %244 = load i8, i8* %c, align 1 + %conv479 = zext i8 %244 to i32 + %shr = ashr i32 %conv479, 6 + %add480 = add nsw i32 48, %shr + %conv481 = trunc i32 %add480 to i8 + %245 = load i8*, i8** %buffer.addr, align 8 + %246 = load i64, i64* %len, align 8 + %arrayidx482 = getelementptr inbounds i8, i8* %245, i64 %246 + store i8 %conv481, i8* %arrayidx482, align 1 + br label %if.end483 + +if.end483: ; preds = %if.then478, %if.end469 + %247 = load i64, i64* %len, align 8 + %inc484 = add i64 %247, 1 + store i64 %inc484, i64* %len, align 8 + %248 = load i64, i64* %len, align 8 + %249 = load i64, i64* %buffersize.addr, align 8 + %cmp488 = icmp ult i64 %248, %249 + br i1 %cmp488, label %if.then490, label %if.end497 + +if.then490: ; preds = %if.end483 + %250 = load i8, i8* %c, align 1 + %conv491 = zext i8 %250 to i32 + %shr492 = ashr i32 %conv491, 3 + %and493 = and i32 %shr492, 7 + %add494 = add nsw i32 48, %and493 + %conv495 = trunc i32 %add494 to i8 + %251 = load i8*, i8** %buffer.addr, align 8 + %252 = load i64, i64* %len, align 8 + %arrayidx496 = getelementptr inbounds i8, i8* %251, i64 %252 + store i8 %conv495, i8* %arrayidx496, align 1 + br label %if.end497 + +if.end497: ; preds = %if.then490, %if.end483 + %253 = load i64, i64* %len, align 8 + %inc498 = add i64 %253, 1 + store i64 %inc498, i64* %len, align 8 + %254 = load i8, i8* %c, align 1 + %conv501 = zext i8 %254 to i32 + %and502 = and i32 %conv501, 7 + %add503 = add nsw i32 48, %and502 + %conv504 = trunc i32 %add503 to i8 + store i8 %conv504, i8* %c, align 1 + br label %if.end518 + +if.else505: ; preds = %land.lhs.true424, %for.cond421 + %255 = load i8, i8* %is_right_quote, align 1 + %tobool506 = trunc i8 %255 to i1 + br i1 %tobool506, label %do.body508, label %if.end518 + +do.body508: ; preds = %if.else505 + %256 = load i64, i64* %len, align 8 + %257 = load i64, i64* %buffersize.addr, align 8 + %cmp509 = icmp ult i64 %256, %257 + br i1 %cmp509, label %if.then511, label %if.end513 + +if.then511: ; preds = %do.body508 + %258 = load i8*, i8** %buffer.addr, align 8 + %259 = load i64, i64* %len, align 8 + %arrayidx512 = getelementptr inbounds i8, i8* %258, i64 %259 + store i8 92, i8* %arrayidx512, align 1 + br label %if.end513 + +if.end513: ; preds = %if.then511, %do.body508 + %260 = load i64, i64* %len, align 8 + %inc514 = add i64 %260, 1 + store i64 %inc514, i64* %len, align 8 + store i8 0, i8* %is_right_quote, align 1 + br label %if.end518 + +if.end518: ; preds = %if.else505, %if.end513, %if.end497 + %261 = load i64, i64* %ilim, align 8 + %262 = load i64, i64* %i, align 8 + %add519 = add i64 %262, 1 + %cmp520 = icmp ule i64 %261, %add519 + br i1 %cmp520, label %do.body634, label %do.body524 + +do.body524: ; preds = %if.end518 + %263 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool525 = trunc i8 %263 to i1 + br i1 %tobool525, label %land.lhs.true527, label %do.body551 + +land.lhs.true527: ; preds = %do.body524 + %264 = load i8, i8* %escaping, align 1 + %tobool528 = trunc i8 %264 to i1 + br i1 %tobool528, label %do.body551, label %do.body530 + +do.body530: ; preds = %land.lhs.true527 + %265 = load i64, i64* %len, align 8 + %266 = load i64, i64* %buffersize.addr, align 8 + %cmp531 = icmp ult i64 %265, %266 + br i1 %cmp531, label %if.then533, label %if.end535 + +if.then533: ; preds = %do.body530 + %267 = load i8*, i8** %buffer.addr, align 8 + %268 = load i64, i64* %len, align 8 + %arrayidx534 = getelementptr inbounds i8, i8* %267, i64 %268 + store i8 39, i8* %arrayidx534, align 1 + br label %if.end535 + +if.end535: ; preds = %if.then533, %do.body530 + %269 = load i64, i64* %len, align 8 + %inc536 = add i64 %269, 1 + store i64 %inc536, i64* %len, align 8 + %270 = load i64, i64* %len, align 8 + %271 = load i64, i64* %buffersize.addr, align 8 + %cmp540 = icmp ult i64 %270, %271 + br i1 %cmp540, label %if.then542, label %if.end544 + +if.then542: ; preds = %if.end535 + %272 = load i8*, i8** %buffer.addr, align 8 + %273 = load i64, i64* %len, align 8 + %arrayidx543 = getelementptr inbounds i8, i8* %272, i64 %273 + store i8 39, i8* %arrayidx543, align 1 + br label %if.end544 + +if.end544: ; preds = %if.then542, %if.end535 + %274 = load i64, i64* %len, align 8 + %inc545 = add i64 %274, 1 + store i64 %inc545, i64* %len, align 8 + store i8 0, i8* %pending_shell_escape_end, align 1 + br label %do.body551 + +do.body551: ; preds = %if.end544, %land.lhs.true527, %do.body524 + %275 = load i64, i64* %len, align 8 + %276 = load i64, i64* %buffersize.addr, align 8 + %cmp552 = icmp ult i64 %275, %276 + br i1 %cmp552, label %if.then554, label %if.end556 + +if.then554: ; preds = %do.body551 + %277 = load i8, i8* %c, align 1 + %278 = load i8*, i8** %buffer.addr, align 8 + %279 = load i64, i64* %len, align 8 + %arrayidx555 = getelementptr inbounds i8, i8* %278, i64 %279 + store i8 %277, i8* %arrayidx555, align 1 + br label %if.end556 + +if.end556: ; preds = %if.then554, %do.body551 + %280 = load i64, i64* %len, align 8 + %inc557 = add i64 %280, 1 + store i64 %inc557, i64* %len, align 8 + %281 = load i8*, i8** %arg.addr, align 8 + %282 = load i64, i64* %i, align 8 + %inc560 = add i64 %282, 1 + store i64 %inc560, i64* %i, align 8 + %arrayidx561 = getelementptr inbounds i8, i8* %281, i64 %inc560 + %283 = load i8, i8* %arrayidx561, align 1 + store i8 %283, i8* %c, align 1 + br label %for.cond421 + +newDefault234: ; preds = %NodeBlock235 + br label %sw.epilog564 + +newDefault239: ; preds = %NodeBlock240 + br label %sw.epilog564 + +sw.epilog564: ; preds = %newDefault239, %newDefault234, %lor.lhs.false, %land.lhs.true417, %sw.bb297, %if.end330, %sw.bb289, %land.lhs.true292, %sw.bb283, %cond.true273, %cond.false278, %c_escape, %sw.bb171, %if.end228, %land.lhs.true182, %land.lhs.true178, %sw.bb175, %if.end164, %if.else, %sw.bb334 + %284 = load i8, i8* %backslash_escapes, align 1 + %tobool565 = trunc i8 %284 to i1 + %285 = load i32, i32* %quoting_style.addr, align 4 + %cmp568 = icmp ne i32 %285, 2 + %or.cond6 = and i1 %tobool565, %cmp568 + br i1 %or.cond6, label %land.lhs.true573, label %lor.lhs.false570 + +lor.lhs.false570: ; preds = %sw.epilog564 + %286 = load i8, i8* %elide_outer_quotes, align 1 + %tobool571 = trunc i8 %286 to i1 + br i1 %tobool571, label %land.lhs.true573, label %land.lhs.true582 + +land.lhs.true573: ; preds = %sw.epilog564, %lor.lhs.false570 + %287 = load i32*, i32** %quote_these_too.addr, align 8 + %tobool574 = icmp ne i32* %287, null + br i1 %tobool574, label %land.lhs.true575, label %land.lhs.true582 + +land.lhs.true575: ; preds = %land.lhs.true573 + %288 = load i32*, i32** %quote_these_too.addr, align 8 + %289 = load i8, i8* %c, align 1 + %conv576 = zext i8 %289 to i64 + %div = udiv i64 %conv576, 32 + %arrayidx577 = getelementptr inbounds i32, i32* %288, i64 %div + %290 = load i32, i32* %arrayidx577, align 4 + %291 = load i8, i8* %c, align 1 + %conv578 = zext i8 %291 to i64 + %rem = urem i64 %conv578, 32 + %sh_prom = trunc i64 %rem to i32 + %shr579 = lshr i32 %290, %sh_prom + %and580 = and i32 %shr579, 1 + %tobool581 = icmp ne i32 %and580, 0 + br i1 %tobool581, label %do.body586, label %land.lhs.true582 + +land.lhs.true582: ; preds = %land.lhs.true575, %land.lhs.true573, %lor.lhs.false570 + %292 = load i8, i8* %is_right_quote, align 1 + %tobool583 = trunc i8 %292 to i1 + br i1 %tobool583, label %do.body586, label %do.body634 + +do.body586: ; preds = %if.then268, %land.lhs.true582, %land.lhs.true575 + %293 = load i8, i8* %elide_outer_quotes, align 1 + %tobool587 = trunc i8 %293 to i1 + br i1 %tobool587, label %force_outer_quoting_style, label %if.end589 + +if.end589: ; preds = %do.body586 + store i8 1, i8* %escaping, align 1 + %294 = load i32, i32* %quoting_style.addr, align 4 + %cmp590 = icmp eq i32 %294, 2 + br i1 %cmp590, label %land.lhs.true592, label %do.body623 + +land.lhs.true592: ; preds = %if.end589 + %295 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool593 = trunc i8 %295 to i1 + br i1 %tobool593, label %do.body623, label %do.body595 + +do.body595: ; preds = %land.lhs.true592 + %296 = load i64, i64* %len, align 8 + %297 = load i64, i64* %buffersize.addr, align 8 + %cmp596 = icmp ult i64 %296, %297 + br i1 %cmp596, label %if.then598, label %if.end600 + +if.then598: ; preds = %do.body595 + %298 = load i8*, i8** %buffer.addr, align 8 + %299 = load i64, i64* %len, align 8 + %arrayidx599 = getelementptr inbounds i8, i8* %298, i64 %299 + store i8 39, i8* %arrayidx599, align 1 + br label %if.end600 + +if.end600: ; preds = %if.then598, %do.body595 + %300 = load i64, i64* %len, align 8 + %inc601 = add i64 %300, 1 + store i64 %inc601, i64* %len, align 8 + %301 = load i64, i64* %len, align 8 + %302 = load i64, i64* %buffersize.addr, align 8 + %cmp605 = icmp ult i64 %301, %302 + br i1 %cmp605, label %if.then607, label %if.end609 + +if.then607: ; preds = %if.end600 + %303 = load i8*, i8** %buffer.addr, align 8 + %304 = load i64, i64* %len, align 8 + %arrayidx608 = getelementptr inbounds i8, i8* %303, i64 %304 + store i8 36, i8* %arrayidx608, align 1 + br label %if.end609 + +if.end609: ; preds = %if.then607, %if.end600 + %305 = load i64, i64* %len, align 8 + %inc610 = add i64 %305, 1 + store i64 %inc610, i64* %len, align 8 + %306 = load i64, i64* %len, align 8 + %307 = load i64, i64* %buffersize.addr, align 8 + %cmp614 = icmp ult i64 %306, %307 + br i1 %cmp614, label %if.then616, label %if.end618 + +if.then616: ; preds = %if.end609 + %308 = load i8*, i8** %buffer.addr, align 8 + %309 = load i64, i64* %len, align 8 + %arrayidx617 = getelementptr inbounds i8, i8* %308, i64 %309 + store i8 39, i8* %arrayidx617, align 1 + br label %if.end618 + +if.end618: ; preds = %if.then616, %if.end609 + %310 = load i64, i64* %len, align 8 + %inc619 = add i64 %310, 1 + store i64 %inc619, i64* %len, align 8 + store i8 1, i8* %pending_shell_escape_end, align 1 + br label %do.body623 + +do.body623: ; preds = %if.end589, %land.lhs.true592, %if.end618 + %311 = load i64, i64* %len, align 8 + %312 = load i64, i64* %buffersize.addr, align 8 + %cmp624 = icmp ult i64 %311, %312 + br i1 %cmp624, label %if.then626, label %if.end628 + +if.then626: ; preds = %do.body623 + %313 = load i8*, i8** %buffer.addr, align 8 + %314 = load i64, i64* %len, align 8 + %arrayidx627 = getelementptr inbounds i8, i8* %313, i64 %314 + store i8 92, i8* %arrayidx627, align 1 + br label %if.end628 + +if.end628: ; preds = %if.then626, %do.body623 + %315 = load i64, i64* %len, align 8 + %inc629 = add i64 %315, 1 + store i64 %inc629, i64* %len, align 8 + br label %do.body634 + +do.body634: ; preds = %if.end628, %if.then246, %land.lhs.true253, %if.end518, %land.lhs.true582 + %316 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool635 = trunc i8 %316 to i1 + br i1 %tobool635, label %land.lhs.true637, label %do.body661 + +land.lhs.true637: ; preds = %do.body634 + %317 = load i8, i8* %escaping, align 1 + %tobool638 = trunc i8 %317 to i1 + br i1 %tobool638, label %do.body661, label %do.body640 + +do.body640: ; preds = %land.lhs.true637 + %318 = load i64, i64* %len, align 8 + %319 = load i64, i64* %buffersize.addr, align 8 + %cmp641 = icmp ult i64 %318, %319 + br i1 %cmp641, label %if.then643, label %if.end645 + +if.then643: ; preds = %do.body640 + %320 = load i8*, i8** %buffer.addr, align 8 + %321 = load i64, i64* %len, align 8 + %arrayidx644 = getelementptr inbounds i8, i8* %320, i64 %321 + store i8 39, i8* %arrayidx644, align 1 + br label %if.end645 + +if.end645: ; preds = %if.then643, %do.body640 + %322 = load i64, i64* %len, align 8 + %inc646 = add i64 %322, 1 + store i64 %inc646, i64* %len, align 8 + %323 = load i64, i64* %len, align 8 + %324 = load i64, i64* %buffersize.addr, align 8 + %cmp650 = icmp ult i64 %323, %324 + br i1 %cmp650, label %if.then652, label %if.end654 + +if.then652: ; preds = %if.end645 + %325 = load i8*, i8** %buffer.addr, align 8 + %326 = load i64, i64* %len, align 8 + %arrayidx653 = getelementptr inbounds i8, i8* %325, i64 %326 + store i8 39, i8* %arrayidx653, align 1 + br label %if.end654 + +if.end654: ; preds = %if.then652, %if.end645 + %327 = load i64, i64* %len, align 8 + %inc655 = add i64 %327, 1 + store i64 %inc655, i64* %len, align 8 + store i8 0, i8* %pending_shell_escape_end, align 1 + br label %do.body661 + +do.body661: ; preds = %if.end654, %land.lhs.true637, %do.body634 + %328 = load i64, i64* %len, align 8 + %329 = load i64, i64* %buffersize.addr, align 8 + %cmp662 = icmp ult i64 %328, %329 + br i1 %cmp662, label %if.then664, label %if.end666 + +if.then664: ; preds = %do.body661 + %330 = load i8, i8* %c, align 1 + %331 = load i8*, i8** %buffer.addr, align 8 + %332 = load i64, i64* %len, align 8 + %arrayidx665 = getelementptr inbounds i8, i8* %331, i64 %332 + store i8 %330, i8* %arrayidx665, align 1 + br label %if.end666 + +if.end666: ; preds = %if.then664, %do.body661 + %333 = load i64, i64* %len, align 8 + %inc667 = add i64 %333, 1 + store i64 %inc667, i64* %len, align 8 + %334 = load i8, i8* %c_and_shell_quote_compat, align 1 + %tobool670 = trunc i8 %334 to i1 + br i1 %tobool670, label %for.inc673, label %if.then671 + +if.then671: ; preds = %if.end666 + store i8 0, i8* %all_c_and_shell_quote_compat, align 1 + br label %for.inc673 + +for.inc673: ; preds = %if.end666, %if.then671, %if.else + %335 = load i64, i64* %i, align 8 + %inc674 = add i64 %335, 1 + store i64 %inc674, i64* %i, align 8 + br label %for.cond44 + +for.end675: ; preds = %cond.end + %336 = load i64, i64* %len, align 8 + %cmp676 = icmp eq i64 %336, 0 + %337 = load i32, i32* %quoting_style.addr, align 4 + %cmp679 = icmp eq i32 %337, 2 + %or.cond7 = and i1 %cmp676, %cmp679 + br i1 %or.cond7, label %land.lhs.true681, label %if.end685 + +land.lhs.true681: ; preds = %for.end675 + %338 = load i8, i8* %elide_outer_quotes, align 1 + %tobool682 = trunc i8 %338 to i1 + br i1 %tobool682, label %force_outer_quoting_style, label %if.end685 + +if.end685: ; preds = %land.lhs.true681, %for.end675 + %339 = load i32, i32* %quoting_style.addr, align 4 + %cmp686 = icmp eq i32 %339, 2 + br i1 %cmp686, label %land.lhs.true688, label %if.end704 + +land.lhs.true688: ; preds = %if.end685 + %340 = load i8, i8* %elide_outer_quotes, align 1 + %tobool689 = trunc i8 %340 to i1 + br i1 %tobool689, label %if.end704, label %land.lhs.true690 + +land.lhs.true690: ; preds = %land.lhs.true688 + %341 = load i8, i8* %encountered_single_quote, align 1 + %tobool691 = trunc i8 %341 to i1 + br i1 %tobool691, label %if.then693, label %if.end704 + +if.then693: ; preds = %land.lhs.true690 + %342 = load i8, i8* %all_c_and_shell_quote_compat, align 1 + %tobool694 = trunc i8 %342 to i1 + br i1 %tobool694, label %if.then695, label %if.else697 + +if.then695: ; preds = %if.then693 + %343 = load i8*, i8** %buffer.addr, align 8 + %344 = load i64, i64* %orig_buffersize, align 8 + %345 = load i8*, i8** %arg.addr, align 8 + %346 = load i64, i64* %argsize.addr, align 8 + %347 = load i32, i32* %flags.addr, align 4 + %348 = load i32*, i32** %quote_these_too.addr, align 8 + %349 = load i8*, i8** %left_quote.addr, align 8 + %350 = load i8*, i8** %right_quote.addr, align 8 + %call696 = call i64 @quotearg_buffer_restyled(i8* %343, i64 %344, i8* %345, i64 %346, i32 5, i32 %347, i32* %348, i8* %349, i8* %350) + store i64 %call696, i64* %retval, align 8 + br label %return + +if.else697: ; preds = %if.then693 + %351 = load i64, i64* %buffersize.addr, align 8 + %tobool698 = icmp eq i64 %351, 0 + %352 = load i64, i64* %orig_buffersize, align 8 + %tobool700 = icmp ne i64 %352, 0 + %or.cond8 = and i1 %tobool698, %tobool700 + br i1 %or.cond8, label %if.then701, label %if.end704 + +if.then701: ; preds = %if.else697 + %353 = load i64, i64* %orig_buffersize, align 8 + store i64 %353, i64* %buffersize.addr, align 8 + store i64 0, i64* %len, align 8 + br label %process_input + +if.end704: ; preds = %if.else697, %land.lhs.true690, %land.lhs.true688, %if.end685 + %354 = load i8*, i8** %quote_string, align 8 + %tobool705 = icmp ne i8* %354, null + br i1 %tobool705, label %land.lhs.true706, label %if.end724 + +land.lhs.true706: ; preds = %if.end704 + %355 = load i8, i8* %elide_outer_quotes, align 1 + %tobool707 = trunc i8 %355 to i1 + br i1 %tobool707, label %if.end724, label %for.cond709 + +for.cond709: ; preds = %land.lhs.true706, %if.end717 + %356 = load i8*, i8** %quote_string, align 8 + %357 = load i8, i8* %356, align 1 + %tobool710 = icmp ne i8 %357, 0 + br i1 %tobool710, label %do.body712, label %if.end724 + +do.body712: ; preds = %for.cond709 + %358 = load i64, i64* %len, align 8 + %359 = load i64, i64* %buffersize.addr, align 8 + %cmp713 = icmp ult i64 %358, %359 + br i1 %cmp713, label %if.then715, label %if.end717 + +if.then715: ; preds = %do.body712 + %360 = load i8*, i8** %quote_string, align 8 + %361 = load i8, i8* %360, align 1 + %362 = load i8*, i8** %buffer.addr, align 8 + %363 = load i64, i64* %len, align 8 + %arrayidx716 = getelementptr inbounds i8, i8* %362, i64 %363 + store i8 %361, i8* %arrayidx716, align 1 + br label %if.end717 + +if.end717: ; preds = %if.then715, %do.body712 + %364 = load i64, i64* %len, align 8 + %inc718 = add i64 %364, 1 + store i64 %inc718, i64* %len, align 8 + %365 = load i8*, i8** %quote_string, align 8 + %incdec.ptr722 = getelementptr inbounds i8, i8* %365, i32 1 + store i8* %incdec.ptr722, i8** %quote_string, align 8 + br label %for.cond709 + +if.end724: ; preds = %for.cond709, %land.lhs.true706, %if.end704 + %366 = load i64, i64* %len, align 8 + %367 = load i64, i64* %buffersize.addr, align 8 + %cmp725 = icmp ult i64 %366, %367 + br i1 %cmp725, label %if.then727, label %if.end729 + +if.then727: ; preds = %if.end724 + %368 = load i8*, i8** %buffer.addr, align 8 + %369 = load i64, i64* %len, align 8 + %arrayidx728 = getelementptr inbounds i8, i8* %368, i64 %369 + store i8 0, i8* %arrayidx728, align 1 + br label %if.end729 + +if.end729: ; preds = %if.then727, %if.end724 + %370 = load i64, i64* %len, align 8 + store i64 %370, i64* %retval, align 8 + br label %return + +force_outer_quoting_style: ; preds = %NodeBlock267, %NodeBlock265, %NodeBlock263, %NodeBlock261, %NodeBlock259, %land.lhs.true681, %do.body586, %do.body427, %if.then300, %land.lhs.true292, %land.lhs.true262, %if.then246, %sw.bb192, %sw.bb171, %do.body86, %if.then76 + %371 = load i32, i32* %quoting_style.addr, align 4 + %cmp730 = icmp eq i32 %371, 2 + br i1 %cmp730, label %land.lhs.true732, label %if.end736 + +land.lhs.true732: ; preds = %force_outer_quoting_style + %372 = load i8, i8* %backslash_escapes, align 1 + %tobool733 = trunc i8 %372 to i1 + br i1 %tobool733, label %if.then735, label %if.end736 + +if.then735: ; preds = %land.lhs.true732 + store i32 4, i32* %quoting_style.addr, align 4 + br label %if.end736 + +if.end736: ; preds = %if.then735, %land.lhs.true732, %force_outer_quoting_style + %373 = load i8*, i8** %buffer.addr, align 8 + %374 = load i64, i64* %buffersize.addr, align 8 + %375 = load i8*, i8** %arg.addr, align 8 + %376 = load i64, i64* %argsize.addr, align 8 + %377 = load i32, i32* %quoting_style.addr, align 4 + %378 = load i32, i32* %flags.addr, align 4 + %and737 = and i32 %378, -3 + %379 = load i8*, i8** %left_quote.addr, align 8 + %380 = load i8*, i8** %right_quote.addr, align 8 + %call738 = call i64 @quotearg_buffer_restyled(i8* %373, i64 %374, i8* %375, i64 %376, i32 %377, i32 %and737, i32* null, i8* %379, i8* %380) + store i64 %call738, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end736, %if.end729, %if.then695 + %381 = load i64, i64* %retval, align 8 + ret i64 %381 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xcharalloc(i64 %n) #3 { +entry: + %n.addr = alloca i64, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @xmalloc(i64 %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xmalloc(i64 %n) #3 { +entry: + %n.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @malloc(i64 %0) #11 + store i8* %call, i8** %p, align 8 + %1 = load i8*, i8** %p, align 8 + %tobool = icmp eq i8* %1, null + %2 = load i64, i64* %n.addr, align 8 + %cmp = icmp ne i64 %2, 0 + %or.cond = and i1 %tobool, %cmp + br i1 %or.cond, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %entry + %3 = load i8*, i8** %p, align 8 + ret i8* %3 +} + +; Function Attrs: nounwind +declare dso_local i64 @__ctype_get_mb_cur_max() #4 + +; Function Attrs: noinline nounwind uwtable +define internal i8* @gettext_quote(i8* %msgid, i32 %s) #3 { +entry: + %retval = alloca i8*, align 8 + %msgid.addr = alloca i8*, align 8 + %s.addr = alloca i32, align 4 + %translation = alloca i8*, align 8 + %locale_code = alloca i8*, align 8 + store i8* %msgid, i8** %msgid.addr, align 8 + store i32 %s, i32* %s.addr, align 4 + %0 = load i8*, i8** %msgid.addr, align 8 + store i8* %0, i8** %translation, align 8 + %1 = load i8*, i8** %translation, align 8 + %2 = load i8*, i8** %msgid.addr, align 8 + %cmp = icmp ne i8* %1, %2 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %3 = load i8*, i8** %translation, align 8 + store i8* %3, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %call = call i8* @locale_charset() + store i8* %call, i8** %locale_code, align 8 + %4 = load i8*, i8** %locale_code, align 8 + %call1 = call i32 @c_strcasecmp(i8* %4, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.13.56, i64 0, i64 0)) #23 + %cmp2 = icmp eq i32 %call1, 0 + br i1 %cmp2, label %if.then3, label %if.end6 + +if.then3: ; preds = %if.end + %5 = load i8*, i8** %msgid.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 0 + %6 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %6 to i32 + %cmp4 = icmp eq i32 %conv, 96 + %7 = zext i1 %cmp4 to i64 + %cond = select i1 %cmp4, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.14.57, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.15.58, i64 0, i64 0) + store i8* %cond, i8** %retval, align 8 + br label %return + +if.end6: ; preds = %if.end + %8 = load i8*, i8** %locale_code, align 8 + %call7 = call i32 @c_strcasecmp(i8* %8, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.16.59, i64 0, i64 0)) #23 + %cmp8 = icmp eq i32 %call7, 0 + br i1 %cmp8, label %if.then10, label %if.end16 + +if.then10: ; preds = %if.end6 + %9 = load i8*, i8** %msgid.addr, align 8 + %arrayidx11 = getelementptr inbounds i8, i8* %9, i64 0 + %10 = load i8, i8* %arrayidx11, align 1 + %conv12 = sext i8 %10 to i32 + %cmp13 = icmp eq i32 %conv12, 96 + %11 = zext i1 %cmp13 to i64 + %cond15 = select i1 %cmp13, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.17.60, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.18.61, i64 0, i64 0) + store i8* %cond15, i8** %retval, align 8 + br label %return + +if.end16: ; preds = %if.end6 + %12 = load i32, i32* %s.addr, align 4 + %cmp17 = icmp eq i32 %12, 9 + %13 = zext i1 %cmp17 to i64 + %cond19 = select i1 %cmp17, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10.53, i64 0, i64 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.55, i64 0, i64 0) + store i8* %cond19, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end16, %if.then10, %if.then3, %if.then + %14 = load i8*, i8** %retval, align 8 + ret i8* %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @rpl_mbrtowc(i32* %pwc, i8* %s, i64 %n, %struct.__mbstate_t* %ps) #3 { +entry: + %retval = alloca i64, align 8 + %pwc.addr = alloca i32*, align 8 + %s.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t*, align 8 + %ret = alloca i64, align 8 + %wc = alloca i32, align 4 + %uc = alloca i8, align 1 + store i32* %pwc, i32** %pwc.addr, align 8 + store i8* %s, i8** %s.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__mbstate_t* %ps, %struct.__mbstate_t** %ps.addr, align 8 + %0 = load i32*, i32** %pwc.addr, align 8 + %tobool = icmp ne i32* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i32* %wc, i32** %pwc.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i32*, i32** %pwc.addr, align 8 + %2 = load i8*, i8** %s.addr, align 8 + %3 = load i64, i64* %n.addr, align 8 + %4 = load %struct.__mbstate_t*, %struct.__mbstate_t** %ps.addr, align 8 + %call = call i64 bitcast (i64 (i32*, i8*, i64, %struct.__mbstate_t.512*)* @mbrtowc to i64 (i32*, i8*, i64, %struct.__mbstate_t*)*)(i32* %1, i8* %2, i64 %3, %struct.__mbstate_t* %4) #11 + store i64 %call, i64* %ret, align 8 + %5 = load i64, i64* %ret, align 8 + %cmp = icmp ule i64 -2, %5 + %6 = load i64, i64* %n.addr, align 8 + %cmp1 = icmp ne i64 %6, 0 + %or.cond = and i1 %cmp, %cmp1 + br i1 %or.cond, label %land.lhs.true2, label %if.end5 + +land.lhs.true2: ; preds = %if.end + %call3 = call zeroext i1 @hard_locale(i32 0) + br i1 %call3, label %if.end5, label %if.then4 + +if.then4: ; preds = %land.lhs.true2 + %7 = load i8*, i8** %s.addr, align 8 + %8 = load i8, i8* %7, align 1 + store i8 %8, i8* %uc, align 1 + %9 = load i8, i8* %uc, align 1 + %conv = zext i8 %9 to i32 + %10 = load i32*, i32** %pwc.addr, align 8 + store i32 %conv, i32* %10, align 4 + store i64 1, i64* %retval, align 8 + br label %return + +if.end5: ; preds = %land.lhs.true2, %if.end + %11 = load i64, i64* %ret, align 8 + store i64 %11, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end5, %if.then4 + %12 = load i64, i64* %retval, align 8 + ret i64 %12 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @hard_locale(i32 %category) #3 { +entry: + %retval = alloca i1, align 1 + %category.addr = alloca i32, align 4 + %locale = alloca [257 x i8], align 16 + store i32 %category, i32* %category.addr, align 4 + %0 = load i32, i32* %category.addr, align 4 + %arraydecay = getelementptr inbounds [257 x i8], [257 x i8]* %locale, i64 0, i64 0 + %call = call i32 @setlocale_null_r(i32 %0, i8* %arraydecay, i64 257) + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +if.end: ; preds = %entry + %arraydecay1 = getelementptr inbounds [257 x i8], [257 x i8]* %locale, i64 0, i64 0 + %call2 = call i32 @strcmp(i8* %arraydecay1, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.109, i64 0, i64 0)) #23 + %cmp = icmp eq i32 %call2, 0 + br i1 %cmp, label %lor.end, label %lor.rhs + +lor.rhs: ; preds = %if.end + %arraydecay3 = getelementptr inbounds [257 x i8], [257 x i8]* %locale, i64 0, i64 0 + %call4 = call i32 @strcmp(i8* %arraydecay3, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1.110, i64 0, i64 0)) #23 + %cmp5 = icmp eq i32 %call4, 0 + br label %lor.end + +lor.end: ; preds = %lor.rhs, %if.end + %1 = phi i1 [ true, %if.end ], [ %cmp5, %lor.rhs ] + %lnot = xor i1 %1, true + store i1 %lnot, i1* %retval, align 1 + br label %return + +return: ; preds = %lor.end, %if.then + %2 = load i1, i1* %retval, align 1 + ret i1 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @setlocale_null_r(i32 %category, i8* nonnull %buf, i64 %bufsize) #3 { +entry: + %category.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + store i32 %category, i32* %category.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i32, i32* %category.addr, align 4 + %1 = load i8*, i8** %buf.addr, align 8 + %2 = load i64, i64* %bufsize.addr, align 8 + %call = call i32 @setlocale_null_unlocked(i32 %0, i8* %1, i64 %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @setlocale_null_unlocked(i32 %category, i8* %buf, i64 %bufsize) #3 { +entry: + %retval = alloca i32, align 4 + %category.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %result = alloca i8*, align 8 + %length = alloca i64, align 8 + store i32 %category, i32* %category.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i32, i32* %category.addr, align 4 + %call = call i8* @setlocale_null_androidfix(i32 %0) + store i8* %call, i8** %result, align 8 + %1 = load i8*, i8** %result, align 8 + %cmp = icmp eq i8* %1, null + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %2 = load i64, i64* %bufsize.addr, align 8 + %cmp1 = icmp ugt i64 %2, 0 + br i1 %cmp1, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + %3 = load i8*, i8** %buf.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %3, i64 0 + store i8 0, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + store i32 22, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %4 = load i8*, i8** %result, align 8 + %call3 = call i64 @strlen(i8* %4) #23 + store i64 %call3, i64* %length, align 8 + %5 = load i64, i64* %length, align 8 + %6 = load i64, i64* %bufsize.addr, align 8 + %cmp4 = icmp ult i64 %5, %6 + br i1 %cmp4, label %if.then5, label %if.else6 + +if.then5: ; preds = %if.else + %7 = load i8*, i8** %buf.addr, align 8 + %8 = load i8*, i8** %result, align 8 + %9 = load i64, i64* %length, align 8 + %add = add i64 %9, 1 + %10 = call i8* @memcpy(i8* %7, i8* %8, i64 %add) + store i32 0, i32* %retval, align 4 + br label %return + +if.else6: ; preds = %if.else + %11 = load i64, i64* %bufsize.addr, align 8 + %cmp7 = icmp ugt i64 %11, 0 + br i1 %cmp7, label %if.then8, label %if.end11 + +if.then8: ; preds = %if.else6 + %12 = load i8*, i8** %buf.addr, align 8 + %13 = load i8*, i8** %result, align 8 + %14 = load i64, i64* %bufsize.addr, align 8 + %sub = sub i64 %14, 1 + %15 = call i8* @memcpy(i8* %12, i8* %13, i64 %sub) + %16 = load i8*, i8** %buf.addr, align 8 + %17 = load i64, i64* %bufsize.addr, align 8 + %sub9 = sub i64 %17, 1 + %arrayidx10 = getelementptr inbounds i8, i8* %16, i64 %sub9 + store i8 0, i8* %arrayidx10, align 1 + br label %if.end11 + +if.end11: ; preds = %if.then8, %if.else6 + store i32 34, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end11, %if.then5, %if.end + %18 = load i32, i32* %retval, align 4 + ret i32 %18 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @setlocale_null_androidfix(i32 %category) #3 { +entry: + %category.addr = alloca i32, align 4 + %result = alloca i8*, align 8 + store i32 %category, i32* %category.addr, align 4 + %0 = load i32, i32* %category.addr, align 4 + %call = call i8* @setlocale(i32 %0, i8* null) #11 + store i8* %call, i8** %result, align 8 + %1 = load i8*, i8** %result, align 8 + ret i8* %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @locale_charset() #3 { +entry: + %codeset = alloca i8*, align 8 + %call = call i8* @nl_langinfo(i32 14) #11 + store i8* %call, i8** %codeset, align 8 + %0 = load i8*, i8** %codeset, align 8 + %cmp = icmp eq i8* %0, null + %spec.store.select = select i1 %cmp, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.113, i64 0, i64 0), i8* %call + store i8* %spec.store.select, i8** %codeset, align 8 + %1 = load i8*, i8** %codeset, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %2 to i32 + %cmp1 = icmp eq i32 %conv, 0 + %spec.store.select1 = select i1 %cmp1, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1.114, i64 0, i64 0), i8* %spec.store.select + store i8* %spec.store.select1, i8** %codeset, align 8 + %3 = load i8*, i8** %codeset, align 8 + ret i8* %3 +} + +; Function Attrs: noinline nounwind readonly uwtable +define dso_local i32 @c_strcasecmp(i8* %s1, i8* %s2) #15 { +entry: + %retval = alloca i32, align 4 + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %p1 = alloca i8*, align 8 + %p2 = alloca i8*, align 8 + %c1 = alloca i8, align 1 + %c2 = alloca i8, align 1 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %p1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %p2, align 8 + %2 = load i8*, i8** %p1, align 8 + %3 = load i8*, i8** %p2, align 8 + %cmp = icmp eq i8* %2, %3 + br i1 %cmp, label %if.then, label %do.body + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +do.body: ; preds = %entry, %if.end9 + %4 = load i8*, i8** %p1, align 8 + %5 = load i8, i8* %4, align 1 + %conv = zext i8 %5 to i32 + %call = call i32 @c_tolower(i32 %conv) + %conv1 = trunc i32 %call to i8 + store i8 %conv1, i8* %c1, align 1 + %6 = load i8*, i8** %p2, align 8 + %7 = load i8, i8* %6, align 1 + %conv2 = zext i8 %7 to i32 + %call3 = call i32 @c_tolower(i32 %conv2) + %conv4 = trunc i32 %call3 to i8 + store i8 %conv4, i8* %c2, align 1 + %8 = load i8, i8* %c1, align 1 + %conv5 = zext i8 %8 to i32 + %cmp6 = icmp eq i32 %conv5, 0 + br i1 %cmp6, label %do.end, label %if.end9 + +if.end9: ; preds = %do.body + %9 = load i8*, i8** %p1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %p1, align 8 + %10 = load i8*, i8** %p2, align 8 + %incdec.ptr10 = getelementptr inbounds i8, i8* %10, i32 1 + store i8* %incdec.ptr10, i8** %p2, align 8 + %11 = load i8, i8* %c1, align 1 + %conv11 = zext i8 %11 to i32 + %12 = load i8, i8* %c2, align 1 + %conv12 = zext i8 %12 to i32 + %cmp13 = icmp eq i32 %conv11, %conv12 + br i1 %cmp13, label %do.body, label %do.end + +do.end: ; preds = %do.body, %if.end9 + %13 = load i8, i8* %c1, align 1 + %conv15 = zext i8 %13 to i32 + %14 = load i8, i8* %c2, align 1 + %conv16 = zext i8 %14 to i32 + %sub = sub nsw i32 %conv15, %conv16 + store i32 %sub, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end, %if.then + %15 = load i32, i32* %retval, align 4 + ret i32 %15 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @c_tolower(i32 %c) #3 { +entry: + %retval = alloca i32, align 4 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -65 + %switch = icmp ult i32 %.off, 26 + %1 = load i32, i32* %c.addr, align 4 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + %sub = sub nsw i32 %1, 65 + %add = add nsw i32 %sub, 97 + store i32 %add, i32* %retval, align 4 + br label %return + +sw.default: ; preds = %entry + store i32 %1, i32* %retval, align 4 + br label %return + +return: ; preds = %sw.default, %sw.bb + %2 = load i32, i32* %retval, align 4 + ret i32 %2 +} + +; Function Attrs: nounwind +declare dso_local i8* @realloc(i8*, i64) #4 + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fclose(%struct._IO_FILE* nonnull %fp) #3 { +entry: + %retval = alloca i32, align 4 + %fp.addr = alloca %struct._IO_FILE*, align 8 + %saved_errno = alloca i32, align 4 + %fd = alloca i32, align 4 + %result = alloca i32, align 4 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + store i32 0, i32* %saved_errno, align 4 + store i32 0, i32* %result, align 4 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %0) #11 + store i32 %call, i32* %fd, align 4 + %1 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %1, 0 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call1 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fclose to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %2) + store i32 %call1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %call2 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.519*)* @__freading to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %2) #11 + %cmp3 = icmp ne i32 %call2, 0 + br i1 %cmp3, label %lor.lhs.false, label %land.lhs.true + +lor.lhs.false: ; preds = %if.end + %3 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call4 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %3) #11 + %call5 = call i64 @lseek(i32 %call4, i64 0, i32 1) #11 + %cmp6 = icmp ne i64 %call5, -1 + br i1 %cmp6, label %land.lhs.true, label %if.end10 + +land.lhs.true: ; preds = %lor.lhs.false, %if.end + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call7 = call i32 @rpl_fflush(%struct._IO_FILE* %4) + %tobool = icmp ne i32 %call7, 0 + br i1 %tobool, label %if.then8, label %if.end10 + +if.then8: ; preds = %land.lhs.true + %call9 = call i32* @__errno_location() #25 + %5 = load i32, i32* %call9, align 4 + store i32 %5, i32* %saved_errno, align 4 + br label %if.end10 + +if.end10: ; preds = %if.then8, %land.lhs.true, %lor.lhs.false + %6 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call11 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fclose to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %6) + store i32 %call11, i32* %result, align 4 + %7 = load i32, i32* %saved_errno, align 4 + %cmp12 = icmp ne i32 %7, 0 + br i1 %cmp12, label %if.then13, label %if.end15 + +if.then13: ; preds = %if.end10 + %8 = load i32, i32* %saved_errno, align 4 + %call14 = call i32* @__errno_location() #25 + store i32 %8, i32* %call14, align 4 + store i32 -1, i32* %result, align 4 + br label %if.end15 + +if.end15: ; preds = %if.then13, %if.end10 + %9 = load i32, i32* %result, align 4 + store i32 %9, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end15, %if.then + %10 = load i32, i32* %retval, align 4 + ret i32 %10 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fflush(%struct._IO_FILE* %stream) #3 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %cmp = icmp eq %struct._IO_FILE* %0, null + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.519*)* @__freading to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %1) #11 + %cmp1 = icmp ne i32 %call, 0 + br i1 %cmp1, label %if.end, label %if.then + +if.then: ; preds = %lor.lhs.false, %entry + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call2 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fflush to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %2) + store i32 %call2, i32* %retval, align 4 + br label %return + +if.end: ; preds = %lor.lhs.false + %3 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + call void @clear_ungetc_buffer_preserving_position(%struct._IO_FILE* %3) + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call3 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fflush to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %4) + store i32 %call3, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %5 = load i32, i32* %retval, align 4 + ret i32 %5 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @clear_ungetc_buffer_preserving_position(%struct._IO_FILE* %fp) #3 { +entry: + %fp.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_flags = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %0, i32 0, i32 0 + %1 = load i32, i32* %_flags, align 8 + %and = and i32 %1, 256 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 @rpl_fseeko(%struct._IO_FILE* %2, i64 0, i32 1) + br label %if.end + +if.end: ; preds = %if.then, %entry + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fseeko(%struct._IO_FILE* nonnull %fp, i64 %offset, i32 %whence) #3 { +entry: + %retval = alloca i32, align 4 + %fp.addr = alloca %struct._IO_FILE*, align 8 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + %pos = alloca i64, align 8 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_read_end = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %0, i32 0, i32 2 + %1 = load i8*, i8** %_IO_read_end, align 8 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_read_ptr = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %2, i32 0, i32 1 + %3 = load i8*, i8** %_IO_read_ptr, align 8 + %cmp = icmp eq i8* %1, %3 + br i1 %cmp, label %land.lhs.true, label %if.end7 + +land.lhs.true: ; preds = %entry + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_write_ptr = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %4, i32 0, i32 5 + %5 = load i8*, i8** %_IO_write_ptr, align 8 + %6 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_write_base = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %6, i32 0, i32 4 + %7 = load i8*, i8** %_IO_write_base, align 8 + %cmp1 = icmp eq i8* %5, %7 + br i1 %cmp1, label %land.lhs.true2, label %if.end7 + +land.lhs.true2: ; preds = %land.lhs.true + %8 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_save_base = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %8, i32 0, i32 9 + %9 = load i8*, i8** %_IO_save_base, align 8 + %cmp3 = icmp eq i8* %9, null + br i1 %cmp3, label %if.then, label %if.end7 + +if.then: ; preds = %land.lhs.true2 + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %10) #11 + %11 = load i64, i64* %offset.addr, align 8 + %12 = load i32, i32* %whence.addr, align 4 + %call4 = call i64 @lseek(i32 %call, i64 %11, i32 %12) #11 + store i64 %call4, i64* %pos, align 8 + %13 = load i64, i64* %pos, align 8 + %cmp5 = icmp eq i64 %13, -1 + br i1 %cmp5, label %if.then6, label %if.end + +if.then6: ; preds = %if.then + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %if.then + %14 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_flags = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %14, i32 0, i32 0 + %15 = load i32, i32* %_flags, align 8 + %and = and i32 %15, -17 + store i32 %and, i32* %_flags, align 8 + %16 = load i64, i64* %pos, align 8 + %17 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_offset = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %17, i32 0, i32 21 + store i64 %16, i64* %_offset, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.end7: ; preds = %land.lhs.true2, %land.lhs.true, %entry + %18 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %19 = load i64, i64* %offset.addr, align 8 + %20 = load i32, i32* %whence.addr, align 4 + %call8 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32)* @fseeko to i32 (%struct._IO_FILE*, i64, i32)*)(%struct._IO_FILE* %18, i64 %19, i32 %20) + store i32 %call8, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end7, %if.end, %if.then6 + %21 = load i32, i32* %retval, align 4 + ret i32 %21 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @close_stdout_set_file_name(i8* %file) #3 { +entry: + %file.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + store i8* %0, i8** @file_name, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @close_stdout_set_ignore_EPIPE(i1 zeroext %ignore) #3 { +entry: + %ignore.addr = alloca i8, align 1 + %frombool = zext i1 %ignore to i8 + store i8 %frombool, i8* %ignore.addr, align 1 + %0 = load i8, i8* %ignore.addr, align 1 + %tobool = trunc i8 %0 to i1 + %frombool1 = zext i1 %tobool to i8 + store i8 %frombool1, i8* @ignore_EPIPE, align 1 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local %struct.quoting_options* @clone_quoting_options(%struct.quoting_options* %o) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %p = alloca %struct.quoting_options*, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %call = call i32* @__errno_location() #25 + %0 = load i32, i32* %call, align 4 + store i32 %0, i32* %e, align 4 + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %1, null + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %2, %struct.quoting_options* @default_quoting_options + %3 = bitcast %struct.quoting_options* %cond to i8* + %call1 = call i8* @xmemdup(i8* %3, i64 56) + %4 = bitcast i8* %call1 to %struct.quoting_options* + store %struct.quoting_options* %4, %struct.quoting_options** %p, align 8 + %5 = load i32, i32* %e, align 4 + %call2 = call i32* @__errno_location() #25 + store i32 %5, i32* %call2, align 4 + %6 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + ret %struct.quoting_options* %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @xmemdup(i8* %p, i64 %s) #3 { +entry: + %p.addr = alloca i8*, align 8 + %s.addr = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %call = call noalias i8* @xmalloc(i64 %0) + %1 = load i8*, i8** %p.addr, align 8 + %2 = load i64, i64* %s.addr, align 8 + %3 = call i8* @memcpy(i8* %call, i8* %1, i64 %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @get_quoting_style(%struct.quoting_options* %o) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %1, %struct.quoting_options* @default_quoting_options + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %cond, i32 0, i32 0 + %2 = load i32, i32* %style, align 8 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_quoting_style(%struct.quoting_options* %o, i32 %s) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %s.addr = alloca i32, align 4 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i32 %s, i32* %s.addr, align 4 + %0 = load i32, i32* %s.addr, align 4 + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %1, null + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %2, %struct.quoting_options* @default_quoting_options + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %cond, i32 0, i32 0 + store i32 %0, i32* %style, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @set_quoting_flags(%struct.quoting_options* %o, i32 %i) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %i.addr = alloca i32, align 4 + %r = alloca i32, align 4 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i32 %i, i32* %i.addr, align 4 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store %struct.quoting_options* @default_quoting_options, %struct.quoting_options** %o.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %flags = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %1, i32 0, i32 1 + %2 = load i32, i32* %flags, align 4 + store i32 %2, i32* %r, align 4 + %3 = load i32, i32* %i.addr, align 4 + %4 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %flags1 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %4, i32 0, i32 1 + store i32 %3, i32* %flags1, align 4 + %5 = load i32, i32* %r, align 4 + ret i32 %5 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_custom_quoting(%struct.quoting_options* %o, i8* %left_quote, i8* %right_quote) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store %struct.quoting_options* @default_quoting_options, %struct.quoting_options** %o.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %1, i32 0, i32 0 + store i32 10, i32* %style, align 8 + %2 = load i8*, i8** %left_quote.addr, align 8 + %tobool1 = icmp ne i8* %2, null + %3 = load i8*, i8** %right_quote.addr, align 8 + %tobool2 = icmp ne i8* %3, null + %or.cond = and i1 %tobool1, %tobool2 + br i1 %or.cond, label %if.end4, label %if.then3 + +if.then3: ; preds = %if.end + call void @abort() #26 + unreachable + +if.end4: ; preds = %if.end + %4 = load i8*, i8** %left_quote.addr, align 8 + %5 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %left_quote5 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %5, i32 0, i32 3 + store i8* %4, i8** %left_quote5, align 8 + %6 = load i8*, i8** %right_quote.addr, align 8 + %7 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %right_quote6 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %7, i32 0, i32 4 + store i8* %6, i8** %right_quote6, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @quotearg_buffer(i8* %buffer, i64 %buffersize, i8* %arg, i64 %argsize, %struct.quoting_options* %o) #3 { +entry: + %buffer.addr = alloca i8*, align 8 + %buffersize.addr = alloca i64, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o.addr = alloca %struct.quoting_options*, align 8 + %p = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %r = alloca i64, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %buffersize, i64* %buffersize.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %1, %struct.quoting_options* @default_quoting_options + store %struct.quoting_options* %cond, %struct.quoting_options** %p, align 8 + %call = call i32* @__errno_location() #25 + %2 = load i32, i32* %call, align 4 + store i32 %2, i32* %e, align 4 + %3 = load i8*, i8** %buffer.addr, align 8 + %4 = load i64, i64* %buffersize.addr, align 8 + %5 = load i8*, i8** %arg.addr, align 8 + %6 = load i64, i64* %argsize.addr, align 8 + %7 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %7, i32 0, i32 0 + %8 = load i32, i32* %style, align 8 + %9 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %flags = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %9, i32 0, i32 1 + %10 = load i32, i32* %flags, align 4 + %11 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %11, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %12 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %left_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %12, i32 0, i32 3 + %13 = load i8*, i8** %left_quote, align 8 + %14 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %right_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %14, i32 0, i32 4 + %15 = load i8*, i8** %right_quote, align 8 + %call1 = call i64 @quotearg_buffer_restyled(i8* %3, i64 %4, i8* %5, i64 %6, i32 %8, i32 %10, i32* %arraydecay, i8* %13, i8* %15) + store i64 %call1, i64* %r, align 8 + %16 = load i32, i32* %e, align 4 + %call2 = call i32* @__errno_location() #25 + store i32 %16, i32* %call2, align 4 + %17 = load i64, i64* %r, align 8 + ret i64 %17 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_alloc(i8* %arg, i64 %argsize, %struct.quoting_options* %o) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o.addr = alloca %struct.quoting_options*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %call = call i8* @quotearg_alloc_mem(i8* %0, i64 %1, i64* null, %struct.quoting_options* %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_alloc_mem(i8* %arg, i64 %argsize, i64* %size, %struct.quoting_options* %o) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %size.addr = alloca i64*, align 8 + %o.addr = alloca %struct.quoting_options*, align 8 + %p = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %flags = alloca i32, align 4 + %bufsize = alloca i64, align 8 + %buf = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store i64* %size, i64** %size.addr, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %1, %struct.quoting_options* @default_quoting_options + store %struct.quoting_options* %cond, %struct.quoting_options** %p, align 8 + %call = call i32* @__errno_location() #25 + %2 = load i32, i32* %call, align 4 + store i32 %2, i32* %e, align 4 + %3 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %flags1 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %3, i32 0, i32 1 + %4 = load i32, i32* %flags1, align 4 + %5 = load i64*, i64** %size.addr, align 8 + %tobool2 = icmp ne i64* %5, null + %6 = zext i1 %tobool2 to i64 + %cond3 = select i1 %tobool2, i32 0, i32 1 + %or = or i32 %4, %cond3 + store i32 %or, i32* %flags, align 4 + %7 = load i8*, i8** %arg.addr, align 8 + %8 = load i64, i64* %argsize.addr, align 8 + %9 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %9, i32 0, i32 0 + %10 = load i32, i32* %style, align 8 + %11 = load i32, i32* %flags, align 4 + %12 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %12, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %13 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %left_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %13, i32 0, i32 3 + %14 = load i8*, i8** %left_quote, align 8 + %15 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %right_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %15, i32 0, i32 4 + %16 = load i8*, i8** %right_quote, align 8 + %call4 = call i64 @quotearg_buffer_restyled(i8* null, i64 0, i8* %7, i64 %8, i32 %10, i32 %11, i32* %arraydecay, i8* %14, i8* %16) + %add = add i64 %call4, 1 + store i64 %add, i64* %bufsize, align 8 + %17 = load i64, i64* %bufsize, align 8 + %call5 = call noalias i8* @xcharalloc(i64 %17) + store i8* %call5, i8** %buf, align 8 + %18 = load i8*, i8** %buf, align 8 + %19 = load i64, i64* %bufsize, align 8 + %20 = load i8*, i8** %arg.addr, align 8 + %21 = load i64, i64* %argsize.addr, align 8 + %22 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %style6 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %22, i32 0, i32 0 + %23 = load i32, i32* %style6, align 8 + %24 = load i32, i32* %flags, align 4 + %25 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %quote_these_too7 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %25, i32 0, i32 2 + %arraydecay8 = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too7, i64 0, i64 0 + %26 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %left_quote9 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %26, i32 0, i32 3 + %27 = load i8*, i8** %left_quote9, align 8 + %28 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %right_quote10 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %28, i32 0, i32 4 + %29 = load i8*, i8** %right_quote10, align 8 + %call11 = call i64 @quotearg_buffer_restyled(i8* %18, i64 %19, i8* %20, i64 %21, i32 %23, i32 %24, i32* %arraydecay8, i8* %27, i8* %29) + %30 = load i32, i32* %e, align 4 + %call12 = call i32* @__errno_location() #25 + store i32 %30, i32* %call12, align 4 + %31 = load i64*, i64** %size.addr, align 8 + %tobool13 = icmp ne i64* %31, null + br i1 %tobool13, label %if.then, label %if.end + +if.then: ; preds = %entry + %32 = load i64, i64* %bufsize, align 8 + %sub = sub i64 %32, 1 + %33 = load i64*, i64** %size.addr, align 8 + store i64 %sub, i64* %33, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %34 = load i8*, i8** %buf, align 8 + ret i8* %34 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @quotearg_free() #3 { +entry: + %sv = alloca %struct.slotvec*, align 8 + %i = alloca i32, align 4 + %0 = load %struct.slotvec*, %struct.slotvec** @slotvec, align 8 + store %struct.slotvec* %0, %struct.slotvec** %sv, align 8 + store i32 1, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %1 = load i32, i32* %i, align 4 + %2 = load i32, i32* @nslots, align 4 + %cmp = icmp slt i32 %1, %2 + %3 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %4 = load i32, i32* %i, align 4 + %idxprom = sext i32 %4 to i64 + %arrayidx = getelementptr inbounds %struct.slotvec, %struct.slotvec* %3, i64 %idxprom + %val = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx, i32 0, i32 1 + %5 = load i8*, i8** %val, align 8 + call void @free(i8* %5) #11 + %6 = load i32, i32* %i, align 4 + %inc = add nsw i32 %6, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %arrayidx1 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %3, i64 0 + %val2 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx1, i32 0, i32 1 + %7 = load i8*, i8** %val2, align 8 + %cmp3 = icmp ne i8* %7, getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i64 0, i64 0) + br i1 %cmp3, label %if.then, label %if.end + +if.then: ; preds = %for.end + %8 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %arrayidx4 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %8, i64 0 + %val5 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx4, i32 0, i32 1 + %9 = load i8*, i8** %val5, align 8 + call void @free(i8* %9) #11 + store i64 256, i64* getelementptr inbounds (%struct.slotvec, %struct.slotvec* @slotvec0, i32 0, i32 0), align 8 + store i8* getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i64 0, i64 0), i8** getelementptr inbounds (%struct.slotvec, %struct.slotvec* @slotvec0, i32 0, i32 1), align 8 + br label %if.end + +if.end: ; preds = %if.then, %for.end + %10 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %cmp6 = icmp ne %struct.slotvec* %10, @slotvec0 + br i1 %cmp6, label %if.then7, label %if.end8 + +if.then7: ; preds = %if.end + %11 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %12 = bitcast %struct.slotvec* %11 to i8* + call void @free(i8* %12) #11 + store %struct.slotvec* @slotvec0, %struct.slotvec** @slotvec, align 8 + br label %if.end8 + +if.end8: ; preds = %if.then7, %if.end + store i32 1, i32* @nslots, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n(i32 %n, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %0, i8* %1, i64 -1, %struct.quoting_options* @default_quoting_options) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_mem(i32 %n, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %2 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %0, i8* %1, i64 %2, %struct.quoting_options* @default_quoting_options) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg(i8* %arg) #3 { +entry: + %arg.addr = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n(i32 0, i8* %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_mem(i8* %arg, i64 %argsize) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_mem(i32 0, i8* %0, i64 %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_style(i32 %n, i32 %s, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %o = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + call void @quoting_options_from_style(%struct.quoting_options* sret align 8 %o, i32 %0) + %1 = load i32, i32* %n.addr, align 4 + %2 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %1, i8* %2, i64 -1, %struct.quoting_options* %o) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define internal void @quoting_options_from_style(%struct.quoting_options* noalias sret align 8 %agg.result, i32 %style) #3 { +entry: + %style.addr = alloca i32, align 4 + store i32 %style, i32* %style.addr, align 4 + %0 = bitcast %struct.quoting_options* %agg.result to i8* + %1 = call i8* @memset(i8* %0, i32 0, i64 56) + %2 = load i32, i32* %style.addr, align 4 + %cmp = icmp eq i32 %2, 10 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @abort() #26 + unreachable + +if.end: ; preds = %entry + %3 = load i32, i32* %style.addr, align 4 + %style1 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %agg.result, i32 0, i32 0 + store i32 %3, i32* %style1, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_style_mem(i32 %n, i32 %s, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + call void @quoting_options_from_style(%struct.quoting_options* sret align 8 %o, i32 %0) + %1 = load i32, i32* %n.addr, align 4 + %2 = load i8*, i8** %arg.addr, align 8 + %3 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %1, i8* %2, i64 %3, %struct.quoting_options* %o) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_style(i32 %s, i8* %arg) #3 { +entry: + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_style(i32 0, i32 %0, i8* %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_style_mem(i32 %s, i8* %arg, i64 %argsize) #3 { +entry: + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %2 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_style_mem(i32 0, i32 %0, i8* %1, i64 %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_colon_mem(i8* %arg, i64 %argsize) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_char_mem(i8* %0, i64 %1, i8 signext 58) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_style_colon(i32 %n, i32 %s, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %options = alloca %struct.quoting_options, align 8 + %tmp = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + call void @quoting_options_from_style(%struct.quoting_options* sret align 8 %tmp, i32 %0) + %1 = bitcast %struct.quoting_options* %options to i8* + %2 = bitcast %struct.quoting_options* %tmp to i8* + %3 = call i8* @memcpy(i8* %1, i8* %2, i64 56) + %call = call i32 @set_char_quoting(%struct.quoting_options* %options, i8 signext 58, i32 1) + %4 = load i32, i32* %n.addr, align 4 + %5 = load i8*, i8** %arg.addr, align 8 + %call1 = call i8* @quotearg_n_options(i32 %4, i8* %5, i64 -1, %struct.quoting_options* %options) + ret i8* %call1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_custom(i32 %n, i8* %left_quote, i8* %right_quote, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %left_quote.addr, align 8 + %2 = load i8*, i8** %right_quote.addr, align 8 + %3 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_custom_mem(i32 %0, i8* %1, i8* %2, i8* %3, i64 -1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_custom_mem(i32 %n, i8* %left_quote, i8* %right_quote, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = bitcast %struct.quoting_options* %o to i8* + %1 = call i8* @memcpy(i8* %0, i8* bitcast (%struct.quoting_options* @default_quoting_options to i8*), i64 56) + %2 = load i8*, i8** %left_quote.addr, align 8 + %3 = load i8*, i8** %right_quote.addr, align 8 + call void @set_custom_quoting(%struct.quoting_options* %o, i8* %2, i8* %3) + %4 = load i32, i32* %n.addr, align 4 + %5 = load i8*, i8** %arg.addr, align 8 + %6 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %4, i8* %5, i64 %6, %struct.quoting_options* %o) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_custom(i8* %left_quote, i8* %right_quote, i8* %arg) #3 { +entry: + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %left_quote.addr, align 8 + %1 = load i8*, i8** %right_quote.addr, align 8 + %2 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_custom(i32 0, i8* %0, i8* %1, i8* %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_custom_mem(i8* %left_quote, i8* %right_quote, i8* %arg, i64 %argsize) #3 { +entry: + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %left_quote.addr, align 8 + %1 = load i8*, i8** %right_quote.addr, align 8 + %2 = load i8*, i8** %arg.addr, align 8 + %3 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_custom_mem(i32 0, i8* %0, i8* %1, i8* %2, i64 %3) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote_n_mem(i32 %n, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %2 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %0, i8* %1, i64 %2, %struct.quoting_options* @quote_quoting_options) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote_mem(i8* %arg, i64 %argsize) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quote_n_mem(i32 0, i8* %0, i64 %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote_n(i32 %n, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quote_n_mem(i32 %0, i8* %1, i64 -1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote(i8* %arg) #3 { +entry: + %arg.addr = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quote_n(i32 0, i8* %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc_ar(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, i8** %authors) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors.addr = alloca i8**, align 8 + %n_authors = alloca i64, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + store i8** %authors, i8*** %authors.addr, align 8 + store i64 0, i64* %n_authors, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i8**, i8*** %authors.addr, align 8 + %1 = load i64, i64* %n_authors, align 8 + %arrayidx = getelementptr inbounds i8*, i8** %0, i64 %1 + %2 = load i8*, i8** %arrayidx, align 8 + %tobool = icmp ne i8* %2, null + br i1 %tobool, label %for.inc, label %for.end + +for.inc: ; preds = %for.cond + %3 = load i64, i64* %n_authors, align 8 + %inc = add i64 %3, 1 + store i64 %inc, i64* %n_authors, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %5 = load i8*, i8** %command_name.addr, align 8 + %6 = load i8*, i8** %package.addr, align 8 + %7 = load i8*, i8** %version.addr, align 8 + %8 = load i8**, i8*** %authors.addr, align 8 + %9 = load i64, i64* %n_authors, align 8 + call void @version_etc_arn(%struct._IO_FILE* %4, i8* %5, i8* %6, i8* %7, i8** %8, i64 %9) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @emit_bug_reporting_address() #3 { +entry: + %0 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.67, i64 0, i64 0), %struct._IO_FILE* %0) + %call1 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.16.82, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.17.83, i64 0, i64 0)) + %call2 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.18.84, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.19.85, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.20.86, i64 0, i64 0)) + %call3 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.21.87, i64 0, i64 0), i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.22.88, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xnmalloc(i64 %n, i64 %s) #3 { +entry: + %n.addr = alloca i64, align 8 + %s.addr = alloca i64, align 8 + store i64 %n, i64* %n.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %div = udiv i64 9223372036854775807, %0 + %1 = load i64, i64* %n.addr, align 8 + %cmp = icmp ult i64 %div, %1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %entry + %2 = load i64, i64* %n.addr, align 8 + %3 = load i64, i64* %s.addr, align 8 + %mul = mul i64 %2, %3 + %call = call noalias i8* @xmalloc(i64 %mul) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @xnrealloc(i8* %p, i64 %n, i64 %s) #3 { +entry: + %p.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %s.addr = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %div = udiv i64 9223372036854775807, %0 + %1 = load i64, i64* %n.addr, align 8 + %cmp = icmp ult i64 %div, %1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %p.addr, align 8 + %3 = load i64, i64* %n.addr, align 8 + %4 = load i64, i64* %s.addr, align 8 + %mul = mul i64 %3, %4 + %call = call i8* @xrealloc(i8* %2, i64 %mul) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @x2nrealloc(i8* %p, i64* %pn, i64 %s) #3 { +entry: + %p.addr = alloca i8*, align 8 + %pn.addr = alloca i64*, align 8 + %s.addr = alloca i64, align 8 + %n = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64* %pn, i64** %pn.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64*, i64** %pn.addr, align 8 + %1 = load i64, i64* %0, align 8 + store i64 %1, i64* %n, align 8 + %2 = load i8*, i8** %p.addr, align 8 + %tobool = icmp ne i8* %2, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %3 = load i64, i64* %n, align 8 + %tobool1 = icmp ne i64 %3, 0 + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + %4 = load i64, i64* %s.addr, align 8 + %div = udiv i64 128, %4 + store i64 %div, i64* %n, align 8 + %5 = load i64, i64* %n, align 8 + %tobool3 = icmp ne i64 %5, 0 + %lnot = xor i1 %tobool3, true + %lnot.ext = zext i1 %lnot to i32 + %conv = sext i32 %lnot.ext to i64 + %6 = load i64, i64* %n, align 8 + %add = add i64 %6, %conv + store i64 %add, i64* %n, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %7 = load i64, i64* %s.addr, align 8 + %div4 = udiv i64 9223372036854775807, %7 + %8 = load i64, i64* %n, align 8 + %cmp = icmp ult i64 %div4, %8 + br i1 %cmp, label %if.then6, label %if.end16 + +if.then6: ; preds = %if.end + call void @xalloc_die() #24 + unreachable + +if.else: ; preds = %entry + %9 = load i64, i64* %s.addr, align 8 + %div8 = udiv i64 6148914691236517204, %9 + %10 = load i64, i64* %n, align 8 + %cmp9 = icmp ule i64 %div8, %10 + br i1 %cmp9, label %if.then11, label %if.end12 + +if.then11: ; preds = %if.else + call void @xalloc_die() #24 + unreachable + +if.end12: ; preds = %if.else + %11 = load i64, i64* %n, align 8 + %div13 = udiv i64 %11, 2 + %add14 = add i64 %div13, 1 + %12 = load i64, i64* %n, align 8 + %add15 = add i64 %12, %add14 + store i64 %add15, i64* %n, align 8 + br label %if.end16 + +if.end16: ; preds = %if.end, %if.end12 + %13 = load i64, i64* %n, align 8 + %14 = load i64*, i64** %pn.addr, align 8 + store i64 %13, i64* %14, align 8 + %15 = load i8*, i8** %p.addr, align 8 + %16 = load i64, i64* %n, align 8 + %17 = load i64, i64* %s.addr, align 8 + %mul = mul i64 %16, %17 + %call = call i8* @xrealloc(i8* %15, i64 %mul) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @x2realloc(i8* %p, i64* %pn) #3 { +entry: + %p.addr = alloca i8*, align 8 + %pn.addr = alloca i64*, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64* %pn, i64** %pn.addr, align 8 + %0 = load i8*, i8** %p.addr, align 8 + %1 = load i64*, i64** %pn.addr, align 8 + %call = call i8* @x2nrealloc(i8* %0, i64* %1, i64 1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xzalloc(i64 %n) #3 { +entry: + %n.addr = alloca i64, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @xcalloc(i64 %0, i64 1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xcalloc(i64 %n, i64 %s) #3 { +entry: + %n.addr = alloca i64, align 8 + %s.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i64 %n, i64* %n.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %div = udiv i64 9223372036854775807, %0 + %1 = load i64, i64* %n.addr, align 8 + %cmp = icmp ult i64 %div, %1 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load i64, i64* %n.addr, align 8 + %3 = load i64, i64* %s.addr, align 8 + %call = call noalias i8* @calloc(i64 %2, i64 %3) #11 + store i8* %call, i8** %p, align 8 + %tobool = icmp ne i8* %call, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %lor.lhs.false, %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %lor.lhs.false + %4 = load i8*, i8** %p, align 8 + ret i8* %4 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xstrdup(i8* %string) #3 { +entry: + %string.addr = alloca i8*, align 8 + store i8* %string, i8** %string.addr, align 8 + %0 = load i8*, i8** %string.addr, align 8 + %1 = load i8*, i8** %string.addr, align 8 + %call = call i64 @strlen(i8* %1) #23 + %add = add i64 %call, 1 + %call1 = call i8* @xmemdup(i8* %0, i64 %add) + ret i8* %call1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @setlocale_null(i32 %category) #3 { +entry: + %category.addr = alloca i32, align 4 + store i32 %category, i32* %category.addr, align 4 + %0 = load i32, i32* %category.addr, align 4 + %call = call i8* @setlocale_null_androidfix(i32 %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isalnum(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock121 + +NodeBlock121: ; preds = %entry + %case.cmp122 = icmp eq i32 %0, 48 + br i1 %case.cmp122, label %sw.bb, label %NodeBlock119 + +NodeBlock119: ; preds = %NodeBlock121 + %case.cmp120 = icmp eq i32 %0, 49 + br i1 %case.cmp120, label %sw.bb, label %NodeBlock117 + +NodeBlock117: ; preds = %NodeBlock119 + %case.cmp118 = icmp eq i32 %0, 50 + br i1 %case.cmp118, label %sw.bb, label %NodeBlock115 + +NodeBlock115: ; preds = %NodeBlock117 + %case.cmp116 = icmp eq i32 %0, 51 + br i1 %case.cmp116, label %sw.bb, label %NodeBlock113 + +NodeBlock113: ; preds = %NodeBlock115 + %case.cmp114 = icmp eq i32 %0, 52 + br i1 %case.cmp114, label %sw.bb, label %NodeBlock111 + +NodeBlock111: ; preds = %NodeBlock113 + %case.cmp112 = icmp eq i32 %0, 53 + br i1 %case.cmp112, label %sw.bb, label %NodeBlock109 + +NodeBlock109: ; preds = %NodeBlock111 + %case.cmp110 = icmp eq i32 %0, 54 + br i1 %case.cmp110, label %sw.bb, label %NodeBlock107 + +NodeBlock107: ; preds = %NodeBlock109 + %case.cmp108 = icmp eq i32 %0, 55 + br i1 %case.cmp108, label %sw.bb, label %NodeBlock105 + +NodeBlock105: ; preds = %NodeBlock107 + %case.cmp106 = icmp eq i32 %0, 56 + br i1 %case.cmp106, label %sw.bb, label %NodeBlock103 + +NodeBlock103: ; preds = %NodeBlock105 + %case.cmp104 = icmp eq i32 %0, 57 + br i1 %case.cmp104, label %sw.bb, label %NodeBlock101 + +NodeBlock101: ; preds = %NodeBlock103 + %case.cmp102 = icmp eq i32 %0, 97 + br i1 %case.cmp102, label %sw.bb, label %NodeBlock99 + +NodeBlock99: ; preds = %NodeBlock101 + %case.cmp100 = icmp eq i32 %0, 98 + br i1 %case.cmp100, label %sw.bb, label %NodeBlock97 + +NodeBlock97: ; preds = %NodeBlock99 + %case.cmp98 = icmp eq i32 %0, 99 + br i1 %case.cmp98, label %sw.bb, label %NodeBlock95 + +NodeBlock95: ; preds = %NodeBlock97 + %case.cmp96 = icmp eq i32 %0, 100 + br i1 %case.cmp96, label %sw.bb, label %NodeBlock93 + +NodeBlock93: ; preds = %NodeBlock95 + %case.cmp94 = icmp eq i32 %0, 101 + br i1 %case.cmp94, label %sw.bb, label %NodeBlock91 + +NodeBlock91: ; preds = %NodeBlock93 + %case.cmp92 = icmp eq i32 %0, 102 + br i1 %case.cmp92, label %sw.bb, label %NodeBlock89 + +NodeBlock89: ; preds = %NodeBlock91 + %case.cmp90 = icmp eq i32 %0, 103 + br i1 %case.cmp90, label %sw.bb, label %NodeBlock87 + +NodeBlock87: ; preds = %NodeBlock89 + %case.cmp88 = icmp eq i32 %0, 104 + br i1 %case.cmp88, label %sw.bb, label %NodeBlock85 + +NodeBlock85: ; preds = %NodeBlock87 + %case.cmp86 = icmp eq i32 %0, 105 + br i1 %case.cmp86, label %sw.bb, label %NodeBlock83 + +NodeBlock83: ; preds = %NodeBlock85 + %case.cmp84 = icmp eq i32 %0, 106 + br i1 %case.cmp84, label %sw.bb, label %NodeBlock81 + +NodeBlock81: ; preds = %NodeBlock83 + %case.cmp82 = icmp eq i32 %0, 107 + br i1 %case.cmp82, label %sw.bb, label %NodeBlock79 + +NodeBlock79: ; preds = %NodeBlock81 + %case.cmp80 = icmp eq i32 %0, 108 + br i1 %case.cmp80, label %sw.bb, label %NodeBlock77 + +NodeBlock77: ; preds = %NodeBlock79 + %case.cmp78 = icmp eq i32 %0, 109 + br i1 %case.cmp78, label %sw.bb, label %NodeBlock75 + +NodeBlock75: ; preds = %NodeBlock77 + %case.cmp76 = icmp eq i32 %0, 110 + br i1 %case.cmp76, label %sw.bb, label %NodeBlock73 + +NodeBlock73: ; preds = %NodeBlock75 + %case.cmp74 = icmp eq i32 %0, 111 + br i1 %case.cmp74, label %sw.bb, label %NodeBlock71 + +NodeBlock71: ; preds = %NodeBlock73 + %case.cmp72 = icmp eq i32 %0, 112 + br i1 %case.cmp72, label %sw.bb, label %NodeBlock69 + +NodeBlock69: ; preds = %NodeBlock71 + %case.cmp70 = icmp eq i32 %0, 113 + br i1 %case.cmp70, label %sw.bb, label %NodeBlock67 + +NodeBlock67: ; preds = %NodeBlock69 + %case.cmp68 = icmp eq i32 %0, 114 + br i1 %case.cmp68, label %sw.bb, label %NodeBlock65 + +NodeBlock65: ; preds = %NodeBlock67 + %case.cmp66 = icmp eq i32 %0, 115 + br i1 %case.cmp66, label %sw.bb, label %NodeBlock63 + +NodeBlock63: ; preds = %NodeBlock65 + %case.cmp64 = icmp eq i32 %0, 116 + br i1 %case.cmp64, label %sw.bb, label %NodeBlock61 + +NodeBlock61: ; preds = %NodeBlock63 + %case.cmp62 = icmp eq i32 %0, 117 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 118 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 119 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 120 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 121 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 122 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 65 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 66 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 67 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 68 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 69 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 70 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 71 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 72 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 73 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 74 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 75 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 76 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 77 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 78 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 79 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 80 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 81 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 82 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 83 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 84 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 85 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 86 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 87 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 88 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 89 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 90 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock121, %NodeBlock119, %NodeBlock117, %NodeBlock115, %NodeBlock113, %NodeBlock111, %NodeBlock109, %NodeBlock107, %NodeBlock105, %NodeBlock103, %NodeBlock101, %NodeBlock99, %NodeBlock97, %NodeBlock95, %NodeBlock93, %NodeBlock91, %NodeBlock89, %NodeBlock87, %NodeBlock85, %NodeBlock83, %NodeBlock81, %NodeBlock79, %NodeBlock77, %NodeBlock75, %NodeBlock73, %NodeBlock71, %NodeBlock69, %NodeBlock67, %NodeBlock65, %NodeBlock63, %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isalpha(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock101 + +NodeBlock101: ; preds = %entry + %case.cmp102 = icmp eq i32 %0, 97 + br i1 %case.cmp102, label %sw.bb, label %NodeBlock99 + +NodeBlock99: ; preds = %NodeBlock101 + %case.cmp100 = icmp eq i32 %0, 98 + br i1 %case.cmp100, label %sw.bb, label %NodeBlock97 + +NodeBlock97: ; preds = %NodeBlock99 + %case.cmp98 = icmp eq i32 %0, 99 + br i1 %case.cmp98, label %sw.bb, label %NodeBlock95 + +NodeBlock95: ; preds = %NodeBlock97 + %case.cmp96 = icmp eq i32 %0, 100 + br i1 %case.cmp96, label %sw.bb, label %NodeBlock93 + +NodeBlock93: ; preds = %NodeBlock95 + %case.cmp94 = icmp eq i32 %0, 101 + br i1 %case.cmp94, label %sw.bb, label %NodeBlock91 + +NodeBlock91: ; preds = %NodeBlock93 + %case.cmp92 = icmp eq i32 %0, 102 + br i1 %case.cmp92, label %sw.bb, label %NodeBlock89 + +NodeBlock89: ; preds = %NodeBlock91 + %case.cmp90 = icmp eq i32 %0, 103 + br i1 %case.cmp90, label %sw.bb, label %NodeBlock87 + +NodeBlock87: ; preds = %NodeBlock89 + %case.cmp88 = icmp eq i32 %0, 104 + br i1 %case.cmp88, label %sw.bb, label %NodeBlock85 + +NodeBlock85: ; preds = %NodeBlock87 + %case.cmp86 = icmp eq i32 %0, 105 + br i1 %case.cmp86, label %sw.bb, label %NodeBlock83 + +NodeBlock83: ; preds = %NodeBlock85 + %case.cmp84 = icmp eq i32 %0, 106 + br i1 %case.cmp84, label %sw.bb, label %NodeBlock81 + +NodeBlock81: ; preds = %NodeBlock83 + %case.cmp82 = icmp eq i32 %0, 107 + br i1 %case.cmp82, label %sw.bb, label %NodeBlock79 + +NodeBlock79: ; preds = %NodeBlock81 + %case.cmp80 = icmp eq i32 %0, 108 + br i1 %case.cmp80, label %sw.bb, label %NodeBlock77 + +NodeBlock77: ; preds = %NodeBlock79 + %case.cmp78 = icmp eq i32 %0, 109 + br i1 %case.cmp78, label %sw.bb, label %NodeBlock75 + +NodeBlock75: ; preds = %NodeBlock77 + %case.cmp76 = icmp eq i32 %0, 110 + br i1 %case.cmp76, label %sw.bb, label %NodeBlock73 + +NodeBlock73: ; preds = %NodeBlock75 + %case.cmp74 = icmp eq i32 %0, 111 + br i1 %case.cmp74, label %sw.bb, label %NodeBlock71 + +NodeBlock71: ; preds = %NodeBlock73 + %case.cmp72 = icmp eq i32 %0, 112 + br i1 %case.cmp72, label %sw.bb, label %NodeBlock69 + +NodeBlock69: ; preds = %NodeBlock71 + %case.cmp70 = icmp eq i32 %0, 113 + br i1 %case.cmp70, label %sw.bb, label %NodeBlock67 + +NodeBlock67: ; preds = %NodeBlock69 + %case.cmp68 = icmp eq i32 %0, 114 + br i1 %case.cmp68, label %sw.bb, label %NodeBlock65 + +NodeBlock65: ; preds = %NodeBlock67 + %case.cmp66 = icmp eq i32 %0, 115 + br i1 %case.cmp66, label %sw.bb, label %NodeBlock63 + +NodeBlock63: ; preds = %NodeBlock65 + %case.cmp64 = icmp eq i32 %0, 116 + br i1 %case.cmp64, label %sw.bb, label %NodeBlock61 + +NodeBlock61: ; preds = %NodeBlock63 + %case.cmp62 = icmp eq i32 %0, 117 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 118 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 119 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 120 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 121 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 122 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 65 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 66 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 67 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 68 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 69 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 70 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 71 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 72 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 73 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 74 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 75 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 76 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 77 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 78 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 79 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 80 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 81 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 82 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 83 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 84 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 85 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 86 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 87 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 88 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 89 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 90 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock101, %NodeBlock99, %NodeBlock97, %NodeBlock95, %NodeBlock93, %NodeBlock91, %NodeBlock89, %NodeBlock87, %NodeBlock85, %NodeBlock83, %NodeBlock81, %NodeBlock79, %NodeBlock77, %NodeBlock75, %NodeBlock73, %NodeBlock71, %NodeBlock69, %NodeBlock67, %NodeBlock65, %NodeBlock63, %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isascii(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %switch = icmp ult i32 %0, 128 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isblank(i32 %c) #3 { +entry: + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %cmp = icmp eq i32 %0, 32 + %1 = load i32, i32* %c.addr, align 4 + %cmp1 = icmp eq i32 %1, 9 + %2 = select i1 %cmp, i1 true, i1 %cmp1 + ret i1 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_iscntrl(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock63 + +NodeBlock63: ; preds = %entry + %case.cmp64 = icmp eq i32 %0, 7 + br i1 %case.cmp64, label %sw.bb, label %NodeBlock61 + +NodeBlock61: ; preds = %NodeBlock63 + %case.cmp62 = icmp eq i32 %0, 8 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 12 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 10 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 13 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 9 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 11 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 0 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 1 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 2 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 3 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 4 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 5 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 6 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 14 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 15 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 16 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 17 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 18 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 19 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 20 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 21 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 22 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 23 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 24 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 25 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 26 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 27 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 28 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 29 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 30 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 31 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 127 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock63, %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isdigit(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -48 + %switch = icmp ult i32 %.off, 10 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isgraph(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -33 + %switch = icmp ult i32 %.off, 94 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_islower(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -97 + %switch = icmp ult i32 %.off, 26 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isprint(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -32 + %switch = icmp ult i32 %.off, 95 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_ispunct(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock61 + +NodeBlock61: ; preds = %entry + %case.cmp62 = icmp eq i32 %0, 33 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 34 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 35 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 36 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 37 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 38 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 39 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 40 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 41 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 42 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 43 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 44 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 45 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 46 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 47 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 58 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 59 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 60 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 61 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 62 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 63 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 64 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 91 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 92 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 93 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 94 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 95 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 96 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 123 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 124 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 125 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 126 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isspace(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock9 + +NodeBlock9: ; preds = %entry + %case.cmp10 = icmp eq i32 %0, 32 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 9 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 10 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 11 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 12 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 13 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isupper(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -65 + %switch = icmp ult i32 %.off, 26 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isxdigit(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock41 + +NodeBlock41: ; preds = %entry + %case.cmp42 = icmp eq i32 %0, 48 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 49 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 50 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 51 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 52 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 53 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 54 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 55 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 56 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 57 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 97 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 98 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 99 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 100 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 101 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 102 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 65 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 66 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 67 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 68 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 69 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 70 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @c_toupper(i32 %c) #3 { +entry: + %retval = alloca i32, align 4 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -97 + %switch = icmp ult i32 %.off, 26 + %1 = load i32, i32* %c.addr, align 4 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + %sub = sub nsw i32 %1, 97 + %add = add nsw i32 %sub, 65 + store i32 %add, i32* %retval, align 4 + br label %return + +sw.default: ; preds = %entry + store i32 %1, i32* %retval, align 4 + br label %return + +return: ; preds = %sw.default, %sw.bb + %2 = load i32, i32* %retval, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @klee_init_fds(i32 %n_files, i32 %file_length, i32 %stdin_length, i32 %sym_stdout_flag, i32 %save_all_writes_flag, i32 %max_failures) #3 { +entry: + %n_files.addr = alloca i32, align 4 + %file_length.addr = alloca i32, align 4 + %stdin_length.addr = alloca i32, align 4 + %sym_stdout_flag.addr = alloca i32, align 4 + %save_all_writes_flag.addr = alloca i32, align 4 + %max_failures.addr = alloca i32, align 4 + %k = alloca i32, align 4 + %name = alloca [7 x i8], align 1 + %s = alloca %struct.stat64, align 8 + store i32 %n_files, i32* %n_files.addr, align 4 + store i32 %file_length, i32* %file_length.addr, align 4 + store i32 %stdin_length, i32* %stdin_length.addr, align 4 + store i32 %sym_stdout_flag, i32* %sym_stdout_flag.addr, align 4 + store i32 %save_all_writes_flag, i32* %save_all_writes_flag.addr, align 4 + store i32 %max_failures, i32* %max_failures.addr, align 4 + %0 = bitcast [7 x i8]* %name to i8* + %1 = call i8* @memcpy(i8* %0, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @__const.klee_init_fds.name, i32 0, i32 0), i64 7) + %call = call i32 @stat64(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.133, i64 0, i64 0), %struct.stat64* %s) #11 + %2 = load i32, i32* %n_files.addr, align 4 + store i32 %2, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %3 = load i32, i32* %n_files.addr, align 4 + %conv = zext i32 %3 to i64 + %mul = mul i64 24, %conv + %call1 = call noalias i8* @malloc(i64 %mul) #11 + %4 = bitcast i8* %call1 to %struct.exe_disk_file_t* + store %struct.exe_disk_file_t* %4, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %5 = load i32, i32* %n_files.addr, align 4 + %tobool = icmp eq i32 %5, 0 + %6 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %6, null + %or.cond = or i1 %tobool, %tobool2 + br i1 %or.cond, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @gs_report_error.137(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.134, i64 0, i64 0), i32 124, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.135, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.136, i64 0, i64 0)) #24 + unreachable + +if.end: ; preds = %entry + store i32 0, i32* %k, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %7 = load i32, i32* %k, align 4 + %8 = load i32, i32* %n_files.addr, align 4 + %cmp = icmp ult i32 %7, %8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %9 = load i32, i32* %k, align 4 + %add = add i32 65, %9 + %conv4 = trunc i32 %add to i8 + %arrayidx = getelementptr inbounds [7 x i8], [7 x i8]* %name, i64 0, i64 0 + store i8 %conv4, i8* %arrayidx, align 1 + %10 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %11 = load i32, i32* %k, align 4 + %idxprom = zext i32 %11 to i64 + %arrayidx5 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %10, i64 %idxprom + %12 = load i32, i32* %file_length.addr, align 4 + %arraydecay = getelementptr inbounds [7 x i8], [7 x i8]* %name, i64 0, i64 0 + call void @__create_new_dfile(%struct.exe_disk_file_t* %arrayidx5, i32 %12, i8* %arraydecay, %struct.stat64* %s) + %13 = load i32, i32* %k, align 4 + %inc = add i32 %13, 1 + store i32 %inc, i32* %k, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %14 = load i32, i32* %stdin_length.addr, align 4 + %tobool6 = icmp ne i32 %14, 0 + br i1 %tobool6, label %if.then7, label %if.else + +if.then7: ; preds = %for.end + %call8 = call noalias i8* @malloc(i64 24) #11 + %15 = bitcast i8* %call8 to %struct.exe_disk_file_t* + store %struct.exe_disk_file_t* %15, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + %16 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + %tobool9 = icmp ne %struct.exe_disk_file_t* %16, null + br i1 %tobool9, label %if.end11, label %if.then10 + +if.then10: ; preds = %if.then7 + call void @gs_report_error.137(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.134, i64 0, i64 0), i32 135, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.135, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.136, i64 0, i64 0)) #24 + unreachable + +if.end11: ; preds = %if.then7 + %17 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + %18 = load i32, i32* %stdin_length.addr, align 4 + call void @__create_new_dfile(%struct.exe_disk_file_t* %17, i32 %18, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.4.138, i64 0, i64 0), %struct.stat64* %s) + %19 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + store %struct.exe_disk_file_t* %19, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0, i64 0, i32 3), align 8 + br label %if.end12 + +if.else: ; preds = %for.end + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + br label %if.end12 + +if.end12: ; preds = %if.else, %if.end11 + %20 = load i32, i32* %max_failures.addr, align 4 + store i32 %20, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %21 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool13 = icmp ne i32 %21, 0 + br i1 %tobool13, label %if.then14, label %if.end31 + +if.then14: ; preds = %if.end12 + %call15 = call noalias i8* @malloc(i64 4) #11 + %22 = bitcast i8* %call15 to i32* + store i32* %22, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %call16 = call noalias i8* @malloc(i64 4) #11 + %23 = bitcast i8* %call16 to i32* + store i32* %23, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %call17 = call noalias i8* @malloc(i64 4) #11 + %24 = bitcast i8* %call17 to i32* + store i32* %24, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %call18 = call noalias i8* @malloc(i64 4) #11 + %25 = bitcast i8* %call18 to i32* + store i32* %25, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %call19 = call noalias i8* @malloc(i64 4) #11 + %26 = bitcast i8* %call19 to i32* + store i32* %26, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %27 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %tobool20 = icmp ne i32* %27, null + %28 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %tobool22 = icmp ne i32* %28, null + %or.cond1 = and i1 %tobool20, %tobool22 + %29 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %tobool24 = icmp ne i32* %29, null + %or.cond2 = and i1 %or.cond1, %tobool24 + %30 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %tobool26 = icmp ne i32* %30, null + %or.cond3 = and i1 %or.cond2, %tobool26 + %31 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %tobool28 = icmp ne i32* %31, null + %or.cond4 = and i1 %or.cond3, %tobool28 + br i1 %or.cond4, label %if.end30, label %if.then29 + +if.then29: ; preds = %if.then14 + call void @gs_report_error.137(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.134, i64 0, i64 0), i32 150, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.135, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.136, i64 0, i64 0)) #24 + unreachable + +if.end30: ; preds = %if.then14 + %32 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %33 = bitcast i32* %32 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %33, i64 4, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.5.139, i64 0, i64 0)) + %34 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %35 = bitcast i32* %34 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %35, i64 4, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.6.140, i64 0, i64 0)) + %36 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %37 = bitcast i32* %36 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %37, i64 4, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.7.141, i64 0, i64 0)) + %38 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %39 = bitcast i32* %38 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %39, i64 4, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.8.142, i64 0, i64 0)) + %40 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %41 = bitcast i32* %40 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %41, i64 4, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.9.143, i64 0, i64 0)) + br label %if.end31 + +if.end31: ; preds = %if.end30, %if.end12 + %42 = load i32, i32* %sym_stdout_flag.addr, align 4 + %tobool32 = icmp ne i32 %42, 0 + br i1 %tobool32, label %if.then33, label %if.else38 + +if.then33: ; preds = %if.end31 + %call34 = call noalias i8* @malloc(i64 24) #11 + %43 = bitcast i8* %call34 to %struct.exe_disk_file_t* + store %struct.exe_disk_file_t* %43, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + %44 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + %tobool35 = icmp ne %struct.exe_disk_file_t* %44, null + br i1 %tobool35, label %if.end37, label %if.then36 + +if.then36: ; preds = %if.then33 + call void @gs_report_error.137(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.134, i64 0, i64 0), i32 163, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.135, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.136, i64 0, i64 0)) #24 + unreachable + +if.end37: ; preds = %if.then33 + %45 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + call void @__create_new_dfile(%struct.exe_disk_file_t* %45, i32 1024, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.10.144, i64 0, i64 0), %struct.stat64* %s) + %46 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + store %struct.exe_disk_file_t* %46, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0, i64 1, i32 3), align 8 + store i32 0, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 3), align 8 + br label %if.end39 + +if.else38: ; preds = %if.end31 + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + br label %if.end39 + +if.end39: ; preds = %if.else38, %if.end37 + %47 = load i32, i32* %save_all_writes_flag.addr, align 4 + store i32 %47, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 3), align 8 + %call40 = call i32 @__sym_uint32(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.11.145, i64 0, i64 0)) + store i32 %call40, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 2), align 4 + %48 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 2), align 4 + %cmp41 = icmp eq i32 %48, 1 + call void @gs_assume(i1 zeroext %cmp41) + ret void +} + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error.137(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.148, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__create_new_dfile(%struct.exe_disk_file_t* %dfile, i32 %size, i8* %name, %struct.stat64* %defaults) #3 { +entry: + %dfile.addr = alloca %struct.exe_disk_file_t*, align 8 + %size.addr = alloca i32, align 4 + %name.addr = alloca i8*, align 8 + %defaults.addr = alloca %struct.stat64*, align 8 + %s = alloca %struct.stat64*, align 8 + %sp = alloca i8*, align 8 + %sname = alloca [64 x i8], align 16 + store %struct.exe_disk_file_t* %dfile, %struct.exe_disk_file_t** %dfile.addr, align 8 + store i32 %size, i32* %size.addr, align 4 + store i8* %name, i8** %name.addr, align 8 + store %struct.stat64* %defaults, %struct.stat64** %defaults.addr, align 8 + %call = call noalias i8* @malloc(i64 144) #11 + %0 = bitcast i8* %call to %struct.stat64* + store %struct.stat64* %0, %struct.stat64** %s, align 8 + %1 = load %struct.stat64*, %struct.stat64** %s, align 8 + %tobool = icmp ne %struct.stat64* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @gs_report_error.137(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.134, i64 0, i64 0), i32 47, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.135, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.136, i64 0, i64 0)) #24 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %name.addr, align 8 + store i8* %2, i8** %sp, align 8 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %3 = load i8*, i8** %sp, align 8 + %4 = load i8, i8* %3, align 1 + %tobool1 = icmp ne i8 %4, 0 + %5 = load i8*, i8** %sp, align 8 + br i1 %tobool1, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %6 = load i8, i8* %5, align 1 + %7 = load i8*, i8** %sp, align 8 + %8 = load i8*, i8** %name.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %8 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %arrayidx = getelementptr inbounds [64 x i8], [64 x i8]* %sname, i64 0, i64 %sub.ptr.sub + store i8 %6, i8* %arrayidx, align 1 + %9 = load i8*, i8** %sp, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %sp, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %10 = load i8*, i8** %name.addr, align 8 + %sub.ptr.lhs.cast2 = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast3 = ptrtoint i8* %10 to i64 + %sub.ptr.sub4 = sub i64 %sub.ptr.lhs.cast2, %sub.ptr.rhs.cast3 + %arrayidx5 = getelementptr inbounds [64 x i8], [64 x i8]* %sname, i64 0, i64 %sub.ptr.sub4 + %11 = call i8* @memcpy(i8* %arrayidx5, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.13.146, i64 0, i64 0), i64 6) + %12 = load i32, i32* %size.addr, align 4 + %tobool6 = icmp ne i32 %12, 0 + br i1 %tobool6, label %if.end8, label %if.else + +if.else: ; preds = %for.end + call void @__assert_fail(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.14.147, i64 0, i64 0), i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.134, i64 0, i64 0), i32 55, i8* getelementptr inbounds ([88 x i8], [88 x i8]* @__PRETTY_FUNCTION__.__create_new_dfile, i64 0, i64 0)) #26 + unreachable + +if.end8: ; preds = %for.end + %13 = load i32, i32* %size.addr, align 4 + %14 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size9 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %14, i32 0, i32 0 + store i32 %13, i32* %size9, align 8 + %15 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size10 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %15, i32 0, i32 0 + %16 = load i32, i32* %size10, align 8 + %conv = zext i32 %16 to i64 + %call11 = call noalias i8* @malloc(i64 %conv) #11 + %17 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %contents = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %17, i32 0, i32 1 + store i8* %call11, i8** %contents, align 8 + %18 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %contents12 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %18, i32 0, i32 1 + %19 = load i8*, i8** %contents12, align 8 + %tobool13 = icmp ne i8* %19, null + br i1 %tobool13, label %if.end15, label %if.then14 + +if.then14: ; preds = %if.end8 + call void @gs_report_error.137(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.134, i64 0, i64 0), i32 60, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.135, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.136, i64 0, i64 0)) #24 + unreachable + +if.end15: ; preds = %if.end8 + %20 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %contents16 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %20, i32 0, i32 1 + %21 = load i8*, i8** %contents16, align 8 + %22 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size17 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %22, i32 0, i32 0 + %23 = load i32, i32* %size17, align 8 + %conv18 = zext i32 %23 to i64 + %24 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %21, i64 %conv18, i8* %24) + %25 = load %struct.stat64*, %struct.stat64** %s, align 8 + %26 = bitcast %struct.stat64* %25 to i8* + %arraydecay = getelementptr inbounds [64 x i8], [64 x i8]* %sname, i64 0, i64 0 + call void (i8*, i64, ...) @make_symbolic(i8* %26, i64 144, i8* %arraydecay) + %27 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %27, i32 0, i32 1 + %28 = load i64, i64* %st_ino, align 8 + %call19 = call i32 @gs_is_symbolic(i64 %28) + %tobool20 = icmp ne i32 %call19, 0 + br i1 %tobool20, label %if.end26, label %land.lhs.true + +land.lhs.true: ; preds = %if.end15 + %29 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino21 = getelementptr inbounds %struct.stat64, %struct.stat64* %29, i32 0, i32 1 + %30 = load i64, i64* %st_ino21, align 8 + %and = and i64 %30, 2147483647 + %cmp = icmp eq i64 %and, 0 + br i1 %cmp, label %if.then23, label %if.end26 + +if.then23: ; preds = %land.lhs.true + %31 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_ino24 = getelementptr inbounds %struct.stat64, %struct.stat64* %31, i32 0, i32 1 + %32 = load i64, i64* %st_ino24, align 8 + %33 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino25 = getelementptr inbounds %struct.stat64, %struct.stat64* %33, i32 0, i32 1 + store i64 %32, i64* %st_ino25, align 8 + br label %if.end26 + +if.end26: ; preds = %if.then23, %land.lhs.true, %if.end15 + %34 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino27 = getelementptr inbounds %struct.stat64, %struct.stat64* %34, i32 0, i32 1 + %35 = load i64, i64* %st_ino27, align 8 + %and28 = and i64 %35, 2147483647 + %cmp29 = icmp ne i64 %and28, 0 + call void @gs_assume(i1 zeroext %cmp29) + %36 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_blksize = getelementptr inbounds %struct.stat64, %struct.stat64* %36, i32 0, i32 9 + %37 = load i64, i64* %st_blksize, align 8 + %and31 = and i64 %37, -65536 + %cmp32 = icmp eq i64 %and31, 0 + call void @gs_assume(i1 zeroext %cmp32) + %38 = load %struct.stat64*, %struct.stat64** %s, align 8 + %39 = bitcast %struct.stat64* %38 to i8* + %40 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %40, i32 0, i32 3 + %41 = load i32, i32* %st_mode, align 8 + %and34 = and i32 %41, -61952 + %tobool35 = icmp ne i32 %and34, 0 + %lnot = xor i1 %tobool35, true + call void @gs_prefer_cex(i8* %39, i1 zeroext %lnot) + %42 = load %struct.stat64*, %struct.stat64** %s, align 8 + %43 = bitcast %struct.stat64* %42 to i8* + %44 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_dev = getelementptr inbounds %struct.stat64, %struct.stat64* %44, i32 0, i32 0 + %45 = load i64, i64* %st_dev, align 8 + %46 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_dev36 = getelementptr inbounds %struct.stat64, %struct.stat64* %46, i32 0, i32 0 + %47 = load i64, i64* %st_dev36, align 8 + %cmp37 = icmp eq i64 %45, %47 + call void @gs_prefer_cex(i8* %43, i1 zeroext %cmp37) + %48 = load %struct.stat64*, %struct.stat64** %s, align 8 + %49 = bitcast %struct.stat64* %48 to i8* + %50 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_rdev = getelementptr inbounds %struct.stat64, %struct.stat64* %50, i32 0, i32 7 + %51 = load i64, i64* %st_rdev, align 8 + %52 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_rdev39 = getelementptr inbounds %struct.stat64, %struct.stat64* %52, i32 0, i32 7 + %53 = load i64, i64* %st_rdev39, align 8 + %cmp40 = icmp eq i64 %51, %53 + call void @gs_prefer_cex(i8* %49, i1 zeroext %cmp40) + %54 = load %struct.stat64*, %struct.stat64** %s, align 8 + %55 = bitcast %struct.stat64* %54 to i8* + %56 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode42 = getelementptr inbounds %struct.stat64, %struct.stat64* %56, i32 0, i32 3 + %57 = load i32, i32* %st_mode42, align 8 + %and43 = and i32 %57, 448 + %cmp44 = icmp eq i32 %and43, 384 + call void @gs_prefer_cex(i8* %55, i1 zeroext %cmp44) + %58 = load %struct.stat64*, %struct.stat64** %s, align 8 + %59 = bitcast %struct.stat64* %58 to i8* + %60 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode46 = getelementptr inbounds %struct.stat64, %struct.stat64* %60, i32 0, i32 3 + %61 = load i32, i32* %st_mode46, align 8 + %and47 = and i32 %61, 56 + %cmp48 = icmp eq i32 %and47, 32 + call void @gs_prefer_cex(i8* %59, i1 zeroext %cmp48) + %62 = load %struct.stat64*, %struct.stat64** %s, align 8 + %63 = bitcast %struct.stat64* %62 to i8* + %64 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode50 = getelementptr inbounds %struct.stat64, %struct.stat64* %64, i32 0, i32 3 + %65 = load i32, i32* %st_mode50, align 8 + %and51 = and i32 %65, 7 + %cmp52 = icmp eq i32 %and51, 4 + call void @gs_prefer_cex(i8* %63, i1 zeroext %cmp52) + %66 = load %struct.stat64*, %struct.stat64** %s, align 8 + %67 = bitcast %struct.stat64* %66 to i8* + %68 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode54 = getelementptr inbounds %struct.stat64, %struct.stat64* %68, i32 0, i32 3 + %69 = load i32, i32* %st_mode54, align 8 + %and55 = and i32 %69, 61440 + %cmp56 = icmp eq i32 %and55, 32768 + call void @gs_prefer_cex(i8* %67, i1 zeroext %cmp56) + %70 = load %struct.stat64*, %struct.stat64** %s, align 8 + %71 = bitcast %struct.stat64* %70 to i8* + %72 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_nlink = getelementptr inbounds %struct.stat64, %struct.stat64* %72, i32 0, i32 2 + %73 = load i64, i64* %st_nlink, align 8 + %cmp58 = icmp eq i64 %73, 1 + call void @gs_prefer_cex(i8* %71, i1 zeroext %cmp58) + %74 = load %struct.stat64*, %struct.stat64** %s, align 8 + %75 = bitcast %struct.stat64* %74 to i8* + %76 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_uid = getelementptr inbounds %struct.stat64, %struct.stat64* %76, i32 0, i32 4 + %77 = load i32, i32* %st_uid, align 4 + %78 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_uid60 = getelementptr inbounds %struct.stat64, %struct.stat64* %78, i32 0, i32 4 + %79 = load i32, i32* %st_uid60, align 4 + %cmp61 = icmp eq i32 %77, %79 + call void @gs_prefer_cex(i8* %75, i1 zeroext %cmp61) + %80 = load %struct.stat64*, %struct.stat64** %s, align 8 + %81 = bitcast %struct.stat64* %80 to i8* + %82 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_gid = getelementptr inbounds %struct.stat64, %struct.stat64* %82, i32 0, i32 5 + %83 = load i32, i32* %st_gid, align 8 + %84 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_gid63 = getelementptr inbounds %struct.stat64, %struct.stat64* %84, i32 0, i32 5 + %85 = load i32, i32* %st_gid63, align 8 + %cmp64 = icmp eq i32 %83, %85 + call void @gs_prefer_cex(i8* %81, i1 zeroext %cmp64) + %86 = load %struct.stat64*, %struct.stat64** %s, align 8 + %87 = bitcast %struct.stat64* %86 to i8* + %88 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_blksize66 = getelementptr inbounds %struct.stat64, %struct.stat64* %88, i32 0, i32 9 + %89 = load i64, i64* %st_blksize66, align 8 + %cmp67 = icmp eq i64 %89, 4096 + call void @gs_prefer_cex(i8* %87, i1 zeroext %cmp67) + %90 = load %struct.stat64*, %struct.stat64** %s, align 8 + %91 = bitcast %struct.stat64* %90 to i8* + %92 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_atim = getelementptr inbounds %struct.stat64, %struct.stat64* %92, i32 0, i32 11 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim, i32 0, i32 0 + %93 = load i64, i64* %tv_sec, align 8 + %94 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_atim69 = getelementptr inbounds %struct.stat64, %struct.stat64* %94, i32 0, i32 11 + %tv_sec70 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim69, i32 0, i32 0 + %95 = load i64, i64* %tv_sec70, align 8 + %cmp71 = icmp eq i64 %93, %95 + call void @gs_prefer_cex(i8* %91, i1 zeroext %cmp71) + %96 = load %struct.stat64*, %struct.stat64** %s, align 8 + %97 = bitcast %struct.stat64* %96 to i8* + %98 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mtim = getelementptr inbounds %struct.stat64, %struct.stat64* %98, i32 0, i32 12 + %tv_sec73 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim, i32 0, i32 0 + %99 = load i64, i64* %tv_sec73, align 8 + %100 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_mtim74 = getelementptr inbounds %struct.stat64, %struct.stat64* %100, i32 0, i32 12 + %tv_sec75 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim74, i32 0, i32 0 + %101 = load i64, i64* %tv_sec75, align 8 + %cmp76 = icmp eq i64 %99, %101 + call void @gs_prefer_cex(i8* %97, i1 zeroext %cmp76) + %102 = load %struct.stat64*, %struct.stat64** %s, align 8 + %103 = bitcast %struct.stat64* %102 to i8* + %104 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ctim = getelementptr inbounds %struct.stat64, %struct.stat64* %104, i32 0, i32 13 + %tv_sec78 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim, i32 0, i32 0 + %105 = load i64, i64* %tv_sec78, align 8 + %106 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_ctim79 = getelementptr inbounds %struct.stat64, %struct.stat64* %106, i32 0, i32 13 + %tv_sec80 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim79, i32 0, i32 0 + %107 = load i64, i64* %tv_sec80, align 8 + %cmp81 = icmp eq i64 %105, %107 + call void @gs_prefer_cex(i8* %103, i1 zeroext %cmp81) + %108 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size83 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %108, i32 0, i32 0 + %109 = load i32, i32* %size83, align 8 + %conv84 = zext i32 %109 to i64 + %110 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_size = getelementptr inbounds %struct.stat64, %struct.stat64* %110, i32 0, i32 8 + store i64 %conv84, i64* %st_size, align 8 + %111 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_blocks = getelementptr inbounds %struct.stat64, %struct.stat64* %111, i32 0, i32 10 + store i64 8, i64* %st_blocks, align 8 + %112 = load %struct.stat64*, %struct.stat64** %s, align 8 + %113 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %113, i32 0, i32 2 + store %struct.stat64* %112, %struct.stat64** %stat, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__sym_uint32(i8* %name) #3 { +entry: + %name.addr = alloca i8*, align 8 + %x = alloca i32, align 4 + store i8* %name, i8** %name.addr, align 8 + %0 = bitcast i32* %x to i8* + %1 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %0, i64 4, i8* %1) + %2 = load i32, i32* %x, align 4 + ret i32 %2 +} + +declare dso_local void @gs_prefer_cex(i8*, i1 zeroext) #5 + +; Function Attrs: noinline nounwind uwtable +define weak hidden i32 @__syscall_rt_sigaction(i32 %signum, %struct.sigaction.800* %act, %struct.sigaction.800* %oldact, i64 %_something) #3 { +entry: + %signum.addr = alloca i32, align 4 + %act.addr = alloca %struct.sigaction.800*, align 8 + %oldact.addr = alloca %struct.sigaction.800*, align 8 + %_something.addr = alloca i64, align 8 + store i32 %signum, i32* %signum.addr, align 4 + store %struct.sigaction.800* %act, %struct.sigaction.800** %act.addr, align 8 + store %struct.sigaction.800* %oldact, %struct.sigaction.800** %oldact.addr, align 8 + store i64 %_something, i64* %_something.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.149, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @sigaction(i32 %signum, %struct.sigaction.800* %act, %struct.sigaction.800* %oldact) #3 { +entry: + %signum.addr = alloca i32, align 4 + %act.addr = alloca %struct.sigaction.800*, align 8 + %oldact.addr = alloca %struct.sigaction.800*, align 8 + store i32 %signum, i32* %signum.addr, align 4 + store %struct.sigaction.800* %act, %struct.sigaction.800** %act.addr, align 8 + store %struct.sigaction.800* %oldact, %struct.sigaction.800** %oldact.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.149, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @sigprocmask(i32 %how, %struct.fd_set* %set, %struct.fd_set* %oldset) #3 { +entry: + %how.addr = alloca i32, align 4 + %set.addr = alloca %struct.fd_set*, align 8 + %oldset.addr = alloca %struct.fd_set*, align 8 + store i32 %how, i32* %how.addr, align 4 + store %struct.fd_set* %set, %struct.fd_set** %set.addr, align 8 + store %struct.fd_set* %oldset, %struct.fd_set** %oldset.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.149, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @fdatasync(i32 %fd) #3 { +entry: + %fd.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local void @sync() #3 { +entry: + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @__socketcall(i32 %type, i32* %args) #3 { +entry: + %type.addr = alloca i32, align 4 + %args.addr = alloca i32*, align 8 + store i32 %type, i32* %type.addr, align 4 + store i32* %args, i32** %args.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.1.154, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 97, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @gs_warning.155(i8* %message) #3 { +entry: + %message.addr = alloca i8*, align 8 + store i8* %message, i8** %message.addr, align 8 + %0 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %0) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.11.156, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @_IO_getc(%struct._IO_FILE* %f) #3 { +entry: + %f.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %f, %struct._IO_FILE** %f.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %f.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %0) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @_IO_putc(i32 %c, %struct._IO_FILE* %f) #3 { +entry: + %c.addr = alloca i32, align 4 + %f.addr = alloca %struct._IO_FILE*, align 8 + store i32 %c, i32* %c.addr, align 4 + store %struct._IO_FILE* %f, %struct._IO_FILE** %f.addr, align 8 + %0 = load i32, i32* %c.addr, align 4 + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %f.addr, align 8 + %call = call i32 bitcast (i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked to i32 (i32, %struct._IO_FILE*)*)(i32 %0, %struct._IO_FILE* %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mkdir(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + call void @gs_warning.155(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2.159, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 5, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mkfifo(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + call void @gs_warning.155(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2.159, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 5, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mknod(i8* nonnull %pathname, i32 %mode, i64 %dev) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + %dev.addr = alloca i64, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + store i64 %dev, i64* %dev.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2.159, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 5, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @pipe(i32* %filedes) #3 { +entry: + %filedes.addr = alloca i32*, align 8 + store i32* %filedes, i32** %filedes.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.3.160, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 23, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @link(i8* nonnull %oldpath, i8* nonnull %newpath) #3 { +entry: + %oldpath.addr = alloca i8*, align 8 + %newpath.addr = alloca i8*, align 8 + store i8* %oldpath, i8** %oldpath.addr, align 8 + store i8* %newpath, i8** %newpath.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @symlink(i8* nonnull %oldpath, i8* nonnull %newpath) #3 { +entry: + %oldpath.addr = alloca i8*, align 8 + %newpath.addr = alloca i8*, align 8 + store i8* %oldpath, i8** %oldpath.addr, align 8 + store i8* %newpath, i8** %newpath.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @rename(i8* %oldpath, i8* %newpath) #3 { +entry: + %oldpath.addr = alloca i8*, align 8 + %newpath.addr = alloca i8*, align 8 + store i8* %oldpath, i8** %oldpath.addr, align 8 + store i8* %newpath, i8** %newpath.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @nanosleep(%struct.timespec* %req, %struct.timespec* %rem) #3 { +entry: + %req.addr = alloca %struct.timespec*, align 8 + %rem.addr = alloca %struct.timespec*, align 8 + store %struct.timespec* %req, %struct.timespec** %req.addr, align 8 + store %struct.timespec* %rem, %struct.timespec** %rem.addr, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @clock_gettime(i32 %clk_id, %struct.timespec* %res) #3 { +entry: + %clk_id.addr = alloca i32, align 4 + %res.addr = alloca %struct.timespec*, align 8 + %tv = alloca %struct.timespec, align 8 + store i32 %clk_id, i32* %clk_id.addr, align 4 + store %struct.timespec* %res, %struct.timespec** %res.addr, align 8 + %call = call i32 @gettimeofday(%struct.timespec* %tv, i8* null) #11 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %0 = load i64, i64* %tv_sec, align 8 + %1 = load %struct.timespec*, %struct.timespec** %res.addr, align 8 + %tv_sec1 = getelementptr inbounds %struct.timespec, %struct.timespec* %1, i32 0, i32 0 + store i64 %0, i64* %tv_sec1, align 8 + %tv_usec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 1 + %2 = load i64, i64* %tv_usec, align 8 + %mul = mul nsw i64 %2, 1000 + %3 = load %struct.timespec*, %struct.timespec** %res.addr, align 8 + %tv_nsec = getelementptr inbounds %struct.timespec, %struct.timespec* %3, i32 0, i32 1 + store i64 %mul, i64* %tv_nsec, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @clock_settime(i32 %clk_id, %struct.timespec* %res) #3 { +entry: + %clk_id.addr = alloca i32, align 4 + %res.addr = alloca %struct.timespec*, align 8 + store i32 %clk_id, i32* %clk_id.addr, align 4 + store %struct.timespec* %res, %struct.timespec** %res.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @time(i64* %t) #3 { +entry: + %t.addr = alloca i64*, align 8 + %tv = alloca %struct.timespec, align 8 + store i64* %t, i64** %t.addr, align 8 + %call = call i32 @gettimeofday(%struct.timespec* %tv, i8* null) #11 + %0 = load i64*, i64** %t.addr, align 8 + %tobool = icmp ne i64* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %1 = load i64, i64* %tv_sec, align 8 + %2 = load i64*, i64** %t.addr, align 8 + store i64 %1, i64* %2, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %tv_sec1 = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %3 = load i64, i64* %tv_sec1, align 8 + ret i64 %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @times(%struct.tms* %buf) #3 { +entry: + %buf.addr = alloca %struct.tms*, align 8 + store %struct.tms* %buf, %struct.tms** %buf.addr, align 8 + %0 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tobool = icmp ne %struct.tms* %0, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + call void @gs_warning.155(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.5.162, i64 0, i64 0)) + br label %if.end + +if.else: ; preds = %entry + call void @gs_warning.155(i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.6.163, i64 0, i64 0)) + %1 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_utime = getelementptr inbounds %struct.tms, %struct.tms* %1, i32 0, i32 0 + store i64 0, i64* %tms_utime, align 8 + %2 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_stime = getelementptr inbounds %struct.tms, %struct.tms* %2, i32 0, i32 1 + store i64 0, i64* %tms_stime, align 8 + %3 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_cutime = getelementptr inbounds %struct.tms, %struct.tms* %3, i32 0, i32 2 + store i64 0, i64* %tms_cutime, align 8 + %4 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_cstime = getelementptr inbounds %struct.tms, %struct.tms* %4, i32 0, i32 3 + store i64 0, i64* %tms_cstime, align 8 + br label %if.end + +if.end: ; preds = %if.else, %if.then + ret i64 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local %struct.utmpx* @getutxent() #3 { +entry: + %call = call %struct.utmp* bitcast (%struct.utmp.323* ()* @getutent to %struct.utmp* ()*)() #11 + %0 = bitcast %struct.utmp* %call to %struct.utmpx* + ret %struct.utmpx* %0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local void @setutxent() #3 { +entry: + call void @setutent() #11 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local void @endutxent() #3 { +entry: + call void @endutent() #11 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @utmpxname(i8* %file) #3 { +entry: + %file.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + %call = call i32 @utmpname(i8* %0) #11 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @euidaccess(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %1 = load i32, i32* %mode.addr, align 4 + %call = call i32 @access(i8* %0, i32 %1) #11 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @eaccess(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %1 = load i32, i32* %mode.addr, align 4 + %call = call i32 @euidaccess(i8* %0, i32 %1) #11 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @group_member(i32 %__gid) #3 { +entry: + %__gid.addr = alloca i32, align 4 + store i32 %__gid, i32* %__gid.addr, align 4 + %0 = load i32, i32* %__gid.addr, align 4 + %call = call i32 @getgid() #11 + %cmp = icmp eq i32 %0, %call + br i1 %cmp, label %lor.end, label %lor.rhs + +lor.rhs: ; preds = %entry + %1 = load i32, i32* %__gid.addr, align 4 + %call1 = call i32 @getegid() #11 + %cmp2 = icmp eq i32 %1, %call1 + br label %lor.end + +lor.end: ; preds = %lor.rhs, %entry + %2 = phi i1 [ true, %entry ], [ %cmp2, %lor.rhs ] + %lor.ext = zext i1 %2 to i32 + ret i32 %lor.ext +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @utime(i8* nonnull %filename, %struct.timespec* %buf) #3 { +entry: + %filename.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.timespec*, align 8 + store i8* %filename, i8** %filename.addr, align 8 + store %struct.timespec* %buf, %struct.timespec** %buf.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @futimes(i32 %fd, %struct.timespec* %times) #3 { +entry: + %fd.addr = alloca i32, align 4 + %times.addr = alloca %struct.timespec*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.timespec* %times, %struct.timespec** %times.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.7.164, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 9, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind readonly uwtable +define dso_local i32 @strverscmp(i8* nonnull %__s1, i8* nonnull %__s2) #15 { +entry: + %__s1.addr = alloca i8*, align 8 + %__s2.addr = alloca i8*, align 8 + store i8* %__s1, i8** %__s1.addr, align 8 + store i8* %__s2, i8** %__s2.addr, align 8 + %0 = load i8*, i8** %__s1.addr, align 8 + %1 = load i8*, i8** %__s2.addr, align 8 + %call = call i32 @strcmp(i8* %0, i8* %1) #23 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @gnu_dev_major(i64 %__dev) #3 { +entry: + %__dev.addr = alloca i64, align 8 + store i64 %__dev, i64* %__dev.addr, align 8 + %0 = load i64, i64* %__dev.addr, align 8 + %shr = lshr i64 %0, 8 + %and = and i64 %shr, 4095 + %1 = load i64, i64* %__dev.addr, align 8 + %shr1 = lshr i64 %1, 32 + %conv = trunc i64 %shr1 to i32 + %and2 = and i32 %conv, -4096 + %conv3 = zext i32 %and2 to i64 + %or = or i64 %and, %conv3 + %conv4 = trunc i64 %or to i32 + ret i32 %conv4 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @gnu_dev_minor(i64 %__dev) #3 { +entry: + %__dev.addr = alloca i64, align 8 + store i64 %__dev, i64* %__dev.addr, align 8 + %0 = load i64, i64* %__dev.addr, align 8 + %and = and i64 %0, 255 + %1 = load i64, i64* %__dev.addr, align 8 + %shr = lshr i64 %1, 12 + %conv = trunc i64 %shr to i32 + %and1 = and i32 %conv, -256 + %conv2 = zext i32 %and1 to i64 + %or = or i64 %and, %conv2 + %conv3 = trunc i64 %or to i32 + ret i32 %conv3 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i64 @gnu_dev_makedev(i32 %__major, i32 %__minor) #3 { +entry: + %__major.addr = alloca i32, align 4 + %__minor.addr = alloca i32, align 4 + store i32 %__major, i32* %__major.addr, align 4 + store i32 %__minor, i32* %__minor.addr, align 4 + %0 = load i32, i32* %__minor.addr, align 4 + %and = and i32 %0, 255 + %1 = load i32, i32* %__major.addr, align 4 + %and1 = and i32 %1, 4095 + %shl = shl i32 %and1, 8 + %or = or i32 %and, %shl + %conv = zext i32 %or to i64 + %2 = load i32, i32* %__minor.addr, align 4 + %and2 = and i32 %2, -256 + %conv3 = zext i32 %and2 to i64 + %shl4 = shl i64 %conv3, 12 + %or5 = or i64 %conv, %shl4 + %3 = load i32, i32* %__major.addr, align 4 + %and6 = and i32 %3, -4096 + %conv7 = zext i32 %and6 to i64 + %shl8 = shl i64 %conv7, 32 + %or9 = or i64 %or5, %shl8 + ret i64 %or9 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i8* @canonicalize_file_name(i8* nonnull %name) #3 { +entry: + %retval = alloca i8*, align 8 + %name.addr = alloca i8*, align 8 + %resolved_name = alloca i8*, align 8 + store i8* %name, i8** %name.addr, align 8 + %call = call noalias i8* @malloc(i64 4096) #11 + store i8* %call, i8** %resolved_name, align 8 + %0 = load i8*, i8** %resolved_name, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %name.addr, align 8 + %2 = load i8*, i8** %resolved_name, align 8 + %call1 = call i8* @realpath(i8* %1, i8* %2) #11 + %tobool2 = icmp ne i8* %call1, null + %3 = load i8*, i8** %resolved_name, align 8 + br i1 %tobool2, label %if.end4, label %if.then3 + +if.then3: ; preds = %if.end + call void @free(i8* %3) #11 + store i8* null, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %if.end + store i8* %3, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %4 = load i8*, i8** %retval, align 8 + ret i8* %4 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @getloadavg(double* nonnull %loadavg, i32 %nelem) #3 { +entry: + %loadavg.addr = alloca double*, align 8 + %nelem.addr = alloca i32, align 4 + store double* %loadavg, double** %loadavg.addr, align 8 + store i32 %nelem, i32* %nelem.addr, align 4 + call void @gs_warning.155(i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.8.167, i64 0, i64 0)) + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @wait(i32* %status) #3 { +entry: + %status.addr = alloca i32*, align 8 + store i32* %status, i32** %status.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @wait3(i32* %status, i32 %options, %struct.rusage* %rusage) #3 { +entry: + %status.addr = alloca i32*, align 8 + %options.addr = alloca i32, align 4 + %rusage.addr = alloca %struct.rusage*, align 8 + store i32* %status, i32** %status.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + store %struct.rusage* %rusage, %struct.rusage** %rusage.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @wait4(i32 %pid, i32* %status, i32 %options, %struct.rusage* %rusage) #3 { +entry: + %pid.addr = alloca i32, align 4 + %status.addr = alloca i32*, align 8 + %options.addr = alloca i32, align 4 + %rusage.addr = alloca %struct.rusage*, align 8 + store i32 %pid, i32* %pid.addr, align 4 + store i32* %status, i32** %status.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + store %struct.rusage* %rusage, %struct.rusage** %rusage.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @waitpid(i32 %pid, i32* %status, i32 %options) #3 { +entry: + %pid.addr = alloca i32, align 4 + %status.addr = alloca i32*, align 8 + %options.addr = alloca i32, align 4 + store i32 %pid, i32* %pid.addr, align 4 + store i32* %status, i32** %status.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + call void @gs_warning.155(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @waitid(i32 %idtype, i32 %id, %struct.siginfo_t* %infop, i32 %options) #3 { +entry: + %idtype.addr = alloca i32, align 4 + %id.addr = alloca i32, align 4 + %infop.addr = alloca %struct.siginfo_t*, align 8 + %options.addr = alloca i32, align 4 + store i32 %idtype, i32* %idtype.addr, align 4 + store i32 %id, i32* %id.addr, align 4 + store %struct.siginfo_t* %infop, %struct.siginfo_t** %infop.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + call void @gs_warning.155(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mount(i8* %source, i8* %target, i8* %filesystemtype, i64 %mountflags, i8* %data) #3 { +entry: + %source.addr = alloca i8*, align 8 + %target.addr = alloca i8*, align 8 + %filesystemtype.addr = alloca i8*, align 8 + %mountflags.addr = alloca i64, align 8 + %data.addr = alloca i8*, align 8 + store i8* %source, i8** %source.addr, align 8 + store i8* %target, i8** %target.addr, align 8 + store i8* %filesystemtype, i8** %filesystemtype.addr, align 8 + store i64 %mountflags, i64* %mountflags.addr, align 8 + store i8* %data, i8** %data.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @umount(i8* %target) #3 { +entry: + %target.addr = alloca i8*, align 8 + store i8* %target, i8** %target.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @umount2(i8* %target, i32 %flags) #3 { +entry: + %target.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + store i8* %target, i8** %target.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @swapon(i8* %path, i32 %swapflags) #3 { +entry: + %path.addr = alloca i8*, align 8 + %swapflags.addr = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store i32 %swapflags, i32* %swapflags.addr, align 4 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @swapoff(i8* %path) #3 { +entry: + %path.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setgid(i32 %gid) #3 { +entry: + %gid.addr = alloca i32, align 4 + store i32 %gid, i32* %gid.addr, align 4 + call void @gs_warning.155(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.10.169, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setgroups(i64 %size, i32* %list) #3 { +entry: + %size.addr = alloca i64, align 8 + %list.addr = alloca i32*, align 8 + store i64 %size, i64* %size.addr, align 8 + store i32* %list, i32** %list.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @sethostname(i8* nonnull %name, i64 %len) #3 { +entry: + %name.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + store i8* %name, i8** %name.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setpgid(i32 %pid, i32 %pgid) #3 { +entry: + %pid.addr = alloca i32, align 4 + %pgid.addr = alloca i32, align 4 + store i32 %pid, i32* %pid.addr, align 4 + store i32 %pgid, i32* %pgid.addr, align 4 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setpgrp() #3 { +entry: + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setpriority(i32 %which, i32 %who, i32 %prio) #3 { +entry: + %which.addr = alloca i32, align 4 + %who.addr = alloca i32, align 4 + %prio.addr = alloca i32, align 4 + store i32 %which, i32* %which.addr, align 4 + store i32 %who, i32* %who.addr, align 4 + store i32 %prio, i32* %prio.addr, align 4 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setresgid(i32 %rgid, i32 %egid, i32 %sgid) #3 { +entry: + %rgid.addr = alloca i32, align 4 + %egid.addr = alloca i32, align 4 + %sgid.addr = alloca i32, align 4 + store i32 %rgid, i32* %rgid.addr, align 4 + store i32 %egid, i32* %egid.addr, align 4 + store i32 %sgid, i32* %sgid.addr, align 4 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setresuid(i32 %ruid, i32 %euid, i32 %suid) #3 { +entry: + %ruid.addr = alloca i32, align 4 + %euid.addr = alloca i32, align 4 + %suid.addr = alloca i32, align 4 + store i32 %ruid, i32* %ruid.addr, align 4 + store i32 %euid, i32* %euid.addr, align 4 + store i32 %suid, i32* %suid.addr, align 4 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setrlimit(i32 %resource, %struct.timespec* %rlim) #3 { +entry: + %resource.addr = alloca i32, align 4 + %rlim.addr = alloca %struct.timespec*, align 8 + store i32 %resource, i32* %resource.addr, align 4 + store %struct.timespec* %rlim, %struct.timespec** %rlim.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setrlimit64(i32 %resource, %struct.timespec* %rlim) #3 { +entry: + %resource.addr = alloca i32, align 4 + %rlim.addr = alloca %struct.timespec*, align 8 + store i32 %resource, i32* %resource.addr, align 4 + store %struct.timespec* %rlim, %struct.timespec** %rlim.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setsid() #3 { +entry: + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @settimeofday(%struct.timespec* %tv, %struct.__mbstate_t.512* %tz) #3 { +entry: + %tv.addr = alloca %struct.timespec*, align 8 + %tz.addr = alloca %struct.__mbstate_t.512*, align 8 + store %struct.timespec* %tv, %struct.timespec** %tv.addr, align 8 + store %struct.__mbstate_t.512* %tz, %struct.__mbstate_t.512** %tz.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setuid(i32 %uid) #3 { +entry: + %uid.addr = alloca i32, align 4 + store i32 %uid, i32* %uid.addr, align 4 + call void @gs_warning.155(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.10.169, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @reboot(i32 %flag) #3 { +entry: + %flag.addr = alloca i32, align 4 + store i32 %flag, i32* %flag.addr, align 4 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mlock(i8* %addr, i64 %len) #3 { +entry: + %addr.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + store i8* %addr, i8** %addr.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @munlock(i8* %addr, i64 %len) #3 { +entry: + %addr.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + store i8* %addr, i8** %addr.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @pause() #3 { +entry: + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i64 @readahead(i32 %fd, i64* %offset, i64 %count) #3 { +entry: + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64*, align 8 + %count.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64* %offset, i64** %offset.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i64 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i8* @mmap(i8* %start, i64 %length, i32 %prot, i32 %flags, i32 %fd, i64 %offset) #3 { +entry: + %start.addr = alloca i8*, align 8 + %length.addr = alloca i64, align 8 + %prot.addr = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + store i8* %start, i8** %start.addr, align 8 + store i64 %length, i64* %length.addr, align 8 + store i32 %prot, i32* %prot.addr, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i8* inttoptr (i64 -1 to i8*) +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i8* @mmap64(i8* %start, i64 %length, i32 %prot, i32 %flags, i32 %fd, i64 %offset) #3 { +entry: + %start.addr = alloca i8*, align 8 + %length.addr = alloca i64, align 8 + %prot.addr = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + store i8* %start, i8** %start.addr, align 8 + store i64 %length, i64* %length.addr, align 8 + store i32 %prot, i32* %prot.addr, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i8* inttoptr (i64 -1 to i8*) +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @munmap(i8* %start, i64 %length) #3 { +entry: + %start.addr = alloca i8*, align 8 + %length.addr = alloca i64, align 8 + store i8* %start, i8** %start.addr, align 8 + store i64 %length, i64* %length.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__locale_mbrtowc_l(i32* noalias %dst, i8* noalias %src, %struct.__uclibc_locale_struct.201* %loc) #0 { +entry: + %retval = alloca i32, align 4 + %dst.addr = alloca i32*, align 8 + %src.addr = alloca i8*, align 8 + %loc.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %ps = alloca %struct.__mbstate_t.512, align 4 + %p = alloca i8*, align 8 + %r = alloca i64, align 8 + %wc = alloca i32, align 4 + store i32* %dst, i32** %dst.addr, align 8 + store i8* %src, i8** %src.addr, align 8 + store %struct.__uclibc_locale_struct.201* %loc, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 9 + %1 = load i8, i8* %encoding, align 8 + %conv = zext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 1 + %2 = load i8*, i8** %src.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i8* %2, i8** %p, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %ps, i32 0, i32 0 + store i32 0, i32* %__mask, align 4 + %3 = load i32*, i32** %dst.addr, align 8 + %call = call i64 @_wchar_utf8sntowcs(i32* %3, i64 1, i8** %p, i64 -1, %struct.__mbstate_t.512* %ps, i32 1) #18 + store i64 %call, i64* %r, align 8 + %4 = load i64, i64* %r, align 8 + %cmp2 = icmp eq i64 %4, 1 + %5 = load i8*, i8** %p, align 8 + %6 = load i8*, i8** %src.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %6 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %7 = load i64, i64* %r, align 8 + %cond = select i1 %cmp2, i64 %sub.ptr.sub, i64 %7 + %conv4 = trunc i64 %cond to i32 + store i32 %conv4, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load i8, i8* %2, align 1 + %conv5 = zext i8 %8 to i32 + %9 = load i32*, i32** %dst.addr, align 8 + store i32 %conv5, i32* %9, align 4 + %cmp6 = icmp slt i32 %conv5, 128 + br i1 %cmp6, label %if.then8, label %if.end12 + +if.then8: ; preds = %if.end + %10 = load i8*, i8** %src.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv9 = sext i8 %11 to i32 + %cmp10 = icmp ne i32 %conv9, 0 + %conv11 = zext i1 %cmp10 to i32 + store i32 %conv11, i32* %retval, align 4 + br label %return + +if.end12: ; preds = %if.end + %12 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %encoding13 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %12, i32 0, i32 9 + %13 = load i8, i8* %encoding13, align 8 + %conv14 = zext i8 %13 to i32 + %cmp15 = icmp eq i32 %conv14, 2 + br i1 %cmp15, label %if.then17, label %if.end24 + +if.then17: ; preds = %if.end12 + %14 = load i32*, i32** %dst.addr, align 8 + %15 = load i32, i32* %14, align 4 + %sub = sub nsw i32 %15, 128 + store i32 %sub, i32* %wc, align 4 + %16 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %tbl8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %16, i32 0, i32 17 + %17 = load i16*, i16** %tbl8c2wc, align 8 + %18 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %idx8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %18, i32 0, i32 16 + %19 = load i8*, i8** %idx8c2wc, align 8 + %20 = load i32, i32* %wc, align 4 + %shr = ashr i32 %20, 3 + %idxprom = sext i32 %shr to i64 + %arrayidx = getelementptr inbounds i8, i8* %19, i64 %idxprom + %21 = load i8, i8* %arrayidx, align 1 + %conv18 = zext i8 %21 to i32 + %shl = shl i32 %conv18, 3 + %22 = load i32, i32* %wc, align 4 + %and = and i32 %22, 7 + %add = add nsw i32 %shl, %and + %idxprom19 = sext i32 %add to i64 + %arrayidx20 = getelementptr inbounds i16, i16* %17, i64 %idxprom19 + %23 = load i16, i16* %arrayidx20, align 2 + %conv21 = zext i16 %23 to i32 + %24 = load i32*, i32** %dst.addr, align 8 + store i32 %conv21, i32* %24, align 4 + %25 = load i32*, i32** %dst.addr, align 8 + %26 = load i32, i32* %25, align 4 + %tobool = icmp ne i32 %26, 0 + br i1 %tobool, label %if.then22, label %if.end24 + +if.then22: ; preds = %if.then17 + store i32 1, i32* %retval, align 4 + br label %return + +if.end24: ; preds = %if.then17, %if.end12 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end24, %if.then22, %if.then8, %if.then + %27 = load i32, i32* %retval, align 4 + ret i32 %27 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__raise(i32 %signo) #0 { +entry: + %signo.addr = alloca i32, align 4 + store i32 %signo, i32* %signo.addr, align 4 + %call = call i32 @getpid() #19 + %0 = load i32, i32* %signo.addr, align 4 + %call1 = call i32 @kill(i32 %call, i32 %0) #19 + ret i32 %call1 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__libc_sigaction(i32 %sig, %struct.sigaction.800* %act, %struct.sigaction.800* %oact) #0 { +entry: + %sig.addr = alloca i32, align 4 + %act.addr = alloca %struct.sigaction.800*, align 8 + %oact.addr = alloca %struct.sigaction.800*, align 8 + %result = alloca i32, align 4 + %kact = alloca %struct.kernel_sigaction, align 8 + %koact = alloca %struct.kernel_sigaction, align 8 + store i32 %sig, i32* %sig.addr, align 4 + store %struct.sigaction.800* %act, %struct.sigaction.800** %act.addr, align 8 + store %struct.sigaction.800* %oact, %struct.sigaction.800** %oact.addr, align 8 + %0 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %tobool = icmp ne %struct.sigaction.800* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %__sigaction_handler = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %1, i32 0, i32 0 + %sa_handler = bitcast %union.anon.799* %__sigaction_handler to void (i32)** + %2 = load void (i32)*, void (i32)** %sa_handler, align 8 + %k_sa_handler = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 0 + store void (i32)* %2, void (i32)** %k_sa_handler, align 8 + %sa_mask = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 3 + %3 = bitcast %struct.fd_set* %sa_mask to i8* + %4 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %sa_mask1 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %4, i32 0, i32 1 + %5 = bitcast %struct.fd_set* %sa_mask1 to i8* + %call = call i8* @memcpy(i8* %3, i8* %5, i64 128) #19 + %6 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %sa_flags = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %6, i32 0, i32 2 + %7 = load i32, i32* %sa_flags, align 8 + %conv = sext i32 %7 to i64 + %sa_flags2 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 1 + store i64 %conv, i64* %sa_flags2, align 8 + %8 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %sa_restorer = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %8, i32 0, i32 3 + %9 = load void ()*, void ()** %sa_restorer, align 8 + %sa_restorer3 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 2 + store void ()* %9, void ()** %sa_restorer3, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %10 = load i32, i32* %sig.addr, align 4 + %11 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %tobool4 = icmp ne %struct.sigaction.800* %11, null + %kact. = select i1 %tobool4, %struct.kernel_sigaction* %kact, %struct.kernel_sigaction* null + %12 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %tobool5 = icmp ne %struct.sigaction.800* %12, null + %cond9 = select i1 %tobool5, %struct.kernel_sigaction* %koact, %struct.kernel_sigaction* null + %call10 = call i32 bitcast (i32 (i32, %struct.sigaction.800*, %struct.sigaction.800*, i64)* @__syscall_rt_sigaction to i32 (i32, %struct.kernel_sigaction*, %struct.kernel_sigaction*, i64)*)(i32 %10, %struct.kernel_sigaction* %kact., %struct.kernel_sigaction* %cond9, i64 8) #18 + store i32 %call10, i32* %result, align 4 + %13 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %tobool11 = icmp ne %struct.sigaction.800* %13, null + %14 = load i32, i32* %result, align 4 + %cmp = icmp sge i32 %14, 0 + %or.cond = and i1 %tobool11, %cmp + br i1 %or.cond, label %if.then13, label %if.end25 + +if.then13: ; preds = %if.end + %k_sa_handler14 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 0 + %15 = load void (i32)*, void (i32)** %k_sa_handler14, align 8 + %16 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %__sigaction_handler15 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %16, i32 0, i32 0 + %sa_handler16 = bitcast %union.anon.799* %__sigaction_handler15 to void (i32)** + store void (i32)* %15, void (i32)** %sa_handler16, align 8 + %17 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %sa_mask17 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %17, i32 0, i32 1 + %18 = bitcast %struct.fd_set* %sa_mask17 to i8* + %sa_mask18 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 3 + %19 = bitcast %struct.fd_set* %sa_mask18 to i8* + %call19 = call i8* @memcpy(i8* %18, i8* %19, i64 128) #19 + %sa_flags20 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 1 + %20 = load i64, i64* %sa_flags20, align 8 + %conv21 = trunc i64 %20 to i32 + %21 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %sa_flags22 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %21, i32 0, i32 2 + store i32 %conv21, i32* %sa_flags22, align 8 + %sa_restorer23 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 2 + %22 = load void ()*, void ()** %sa_restorer23, align 8 + %23 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %sa_restorer24 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %23, i32 0, i32 3 + store void ()* %22, void ()** %sa_restorer24, align 8 + br label %if.end25 + +if.end25: ; preds = %if.then13, %if.end + %24 = load i32, i32* %result, align 4 + ret i32 %24 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__sigismember(%struct.fd_set* %__set, i32 %__sig) #0 { +entry: + %__set.addr = alloca %struct.fd_set*, align 8 + %__sig.addr = alloca i32, align 4 + %__mask = alloca i64, align 8 + %__word = alloca i64, align 8 + store %struct.fd_set* %__set, %struct.fd_set** %__set.addr, align 8 + store i32 %__sig, i32* %__sig.addr, align 4 + %0 = load i32, i32* %__sig.addr, align 4 + %sub = sub nsw i32 %0, 1 + %conv = sext i32 %sub to i64 + %rem = urem i64 %conv, 64 + %shl = shl i64 1, %rem + store i64 %shl, i64* %__mask, align 8 + %1 = load i32, i32* %__sig.addr, align 4 + %sub1 = sub nsw i32 %1, 1 + %conv2 = sext i32 %sub1 to i64 + %div = udiv i64 %conv2, 64 + store i64 %div, i64* %__word, align 8 + %2 = load %struct.fd_set*, %struct.fd_set** %__set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %2, i32 0, i32 0 + %3 = load i64, i64* %__word, align 8 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 %3 + %4 = load i64, i64* %arrayidx, align 8 + %5 = load i64, i64* %__mask, align 8 + %and = and i64 %4, %5 + %tobool = icmp ne i64 %and, 0 + %6 = zext i1 %tobool to i64 + %cond = select i1 %tobool, i32 1, i32 0 + ret i32 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__sigaddset(%struct.fd_set* %__set, i32 %__sig) #0 { +entry: + %__set.addr = alloca %struct.fd_set*, align 8 + %__sig.addr = alloca i32, align 4 + %__mask = alloca i64, align 8 + %__word = alloca i64, align 8 + store %struct.fd_set* %__set, %struct.fd_set** %__set.addr, align 8 + store i32 %__sig, i32* %__sig.addr, align 4 + %0 = load i32, i32* %__sig.addr, align 4 + %sub = sub nsw i32 %0, 1 + %conv = sext i32 %sub to i64 + %rem = urem i64 %conv, 64 + %shl = shl i64 1, %rem + store i64 %shl, i64* %__mask, align 8 + %1 = load i32, i32* %__sig.addr, align 4 + %sub1 = sub nsw i32 %1, 1 + %conv2 = sext i32 %sub1 to i64 + %div = udiv i64 %conv2, 64 + store i64 %div, i64* %__word, align 8 + %2 = load i64, i64* %__mask, align 8 + %3 = load %struct.fd_set*, %struct.fd_set** %__set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %3, i32 0, i32 0 + %4 = load i64, i64* %__word, align 8 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 %4 + %5 = load i64, i64* %arrayidx, align 8 + %or = or i64 %5, %2 + store i64 %or, i64* %arrayidx, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__sigdelset(%struct.fd_set* %__set, i32 %__sig) #0 { +entry: + %__set.addr = alloca %struct.fd_set*, align 8 + %__sig.addr = alloca i32, align 4 + %__mask = alloca i64, align 8 + %__word = alloca i64, align 8 + store %struct.fd_set* %__set, %struct.fd_set** %__set.addr, align 8 + store i32 %__sig, i32* %__sig.addr, align 4 + %0 = load i32, i32* %__sig.addr, align 4 + %sub = sub nsw i32 %0, 1 + %conv = sext i32 %sub to i64 + %rem = urem i64 %conv, 64 + %shl = shl i64 1, %rem + store i64 %shl, i64* %__mask, align 8 + %1 = load i32, i32* %__sig.addr, align 4 + %sub1 = sub nsw i32 %1, 1 + %conv2 = sext i32 %sub1 to i64 + %div = udiv i64 %conv2, 64 + store i64 %div, i64* %__word, align 8 + %2 = load i64, i64* %__mask, align 8 + %neg = xor i64 %2, -1 + %3 = load %struct.fd_set*, %struct.fd_set** %__set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %3, i32 0, i32 0 + %4 = load i64, i64* %__word, align 8 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 %4 + %5 = load i64, i64* %arrayidx, align 8 + %and = and i64 %5, %neg + store i64 %and, i64* %arrayidx, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %bufsize = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 5 + %1 = load i8*, i8** %__bufpos, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 3 + %3 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %1 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %3 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %bufsize, align 8 + %cmp = icmp ne i64 %sub.ptr.sub, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 3 + %5 = load i8*, i8** %__bufstart1, align 8 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 5 + store i8* %5, i8** %__bufpos2, align 8 + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart3 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 3 + %9 = load i8*, i8** %__bufstart3, align 8 + %10 = load i64, i64* %bufsize, align 8 + %call = call i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %7, i8* %9, i64 %10) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos4 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 5 + %12 = load i8*, i8** %__bufpos4, align 8 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart5 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 3 + %14 = load i8*, i8** %__bufstart5, align 8 + %sub.ptr.lhs.cast6 = ptrtoint i8* %12 to i64 + %sub.ptr.rhs.cast7 = ptrtoint i8* %14 to i64 + %sub.ptr.sub8 = sub i64 %sub.ptr.lhs.cast6, %sub.ptr.rhs.cast7 + ret i64 %sub.ptr.sub8 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__fgetc_unlocked(%struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %uc = alloca i8, align 1 + %uc56 = alloca i8, align 1 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 5 + %1 = load i8*, i8** %__bufpos, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 7 + %3 = load i8*, i8** %__bufgetc_u, align 8 + %cmp = icmp ult i8* %1, %3 + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 5 + %5 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + %6 = load i8, i8* %5, align 1 + %conv = zext i8 %6 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 0 + %7 = load i16, i16* %__modeflags, align 8 + %conv2 = zext i16 %7 to i32 + %and = and i32 %conv2, 131 + %cmp3 = icmp ugt i32 %and, 128 + br i1 %cmp3, label %if.then5, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2r_o(%struct.__STDIO_FILE_STRUCT.568* %8, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end63, label %if.then5 + +if.then5: ; preds = %lor.lhs.false, %if.end + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %9, i32 0, i32 0 + %10 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %10 to i32 + %and8 = and i32 %conv7, 2 + %tobool9 = icmp ne i32 %and8, 0 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %tobool9, label %if.then10, label %if.end18 + +if.then10: ; preds = %if.then5 + %__ungot = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 10 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags11 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags11, align 8 + %dec = add i16 %13, -1 + store i16 %dec, i16* %__modeflags11, align 8 + %conv12 = zext i16 %13 to i32 + %and13 = and i32 %conv12, 1 + %idxprom = sext i32 %and13 to i64 + %arrayidx = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot, i64 0, i64 %idxprom + %14 = load i32, i32* %arrayidx, align 4 + %conv14 = trunc i32 %14 to i8 + store i8 %conv14, i8* %uc, align 1 + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__ungot15 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 10 + %arrayidx16 = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot15, i64 0, i64 1 + store i32 0, i32* %arrayidx16, align 4 + %16 = load i8, i8* %uc, align 1 + %conv17 = zext i8 %16 to i32 + store i32 %conv17, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %if.then5 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 6 + %17 = load i8*, i8** %__bufread, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos19 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 5 + %19 = load i8*, i8** %__bufpos19, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %17 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool20 = icmp ne i64 %sub.ptr.sub, 0 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %tobool20, label %if.then21, label %if.end25 + +if.then21: ; preds = %if.end18 + %__bufpos22 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 5 + %21 = load i8*, i8** %__bufpos22, align 8 + %incdec.ptr23 = getelementptr inbounds i8, i8* %21, i32 1 + store i8* %incdec.ptr23, i8** %__bufpos22, align 8 + %22 = load i8, i8* %21, align 1 + %conv24 = zext i8 %22 to i32 + store i32 %conv24, i32* %retval, align 4 + br label %return + +if.end25: ; preds = %if.end18 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 2 + %23 = load i32, i32* %__filedes, align 4 + %cmp26 = icmp eq i32 %23, -2 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags29 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 0 + %25 = load i16, i16* %__modeflags29, align 8 + %conv30 = zext i16 %25 to i32 + br i1 %cmp26, label %if.then28, label %if.end32 + +if.then28: ; preds = %if.end25 + %or = or i32 %conv30, 4 + %conv31 = trunc i32 %or to i16 + store i16 %conv31, i16* %__modeflags29, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end32: ; preds = %if.end25 + %and35 = and i32 %conv30, 768 + %tobool36 = icmp ne i32 %and35, 0 + br i1 %tobool36, label %if.then37, label %if.end39 + +if.then37: ; preds = %if.end32 + %call38 = call i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.568* bitcast (%struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist to %struct.__STDIO_FILE_STRUCT.568*)) #18 + br label %if.end39 + +if.end39: ; preds = %if.then37, %if.end32 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 4 + %27 = load i8*, i8** %__bufend, align 8 + %28 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %28, i32 0, i32 3 + %29 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast40 = ptrtoint i8* %27 to i64 + %sub.ptr.rhs.cast41 = ptrtoint i8* %29 to i64 + %sub.ptr.sub42 = sub i64 %sub.ptr.lhs.cast40, %sub.ptr.rhs.cast41 + %tobool43 = icmp ne i64 %sub.ptr.sub42, 0 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %tobool43, label %if.then44, label %if.else + +if.then44: ; preds = %if.end39 + %__bufstart45 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %30, i32 0, i32 3 + %31 = load i8*, i8** %__bufstart45, align 8 + %32 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u46 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %32, i32 0, i32 7 + store i8* %31, i8** %__bufgetc_u46, align 8 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call47 = call i64 @__stdio_rfill(%struct.__STDIO_FILE_STRUCT.568* %33) #18 + %tobool48 = icmp ne i64 %call47, 0 + br i1 %tobool48, label %if.then49, label %if.end63 + +if.then49: ; preds = %if.then44 + %34 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread50 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %34, i32 0, i32 6 + %35 = load i8*, i8** %__bufread50, align 8 + %36 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u51 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %36, i32 0, i32 7 + store i8* %35, i8** %__bufgetc_u51, align 8 + %37 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos52 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %37, i32 0, i32 5 + %38 = load i8*, i8** %__bufpos52, align 8 + %incdec.ptr53 = getelementptr inbounds i8, i8* %38, i32 1 + store i8* %incdec.ptr53, i8** %__bufpos52, align 8 + %39 = load i8, i8* %38, align 1 + %conv54 = zext i8 %39 to i32 + store i32 %conv54, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.end39 + %call57 = call i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.568* %30, i8* %uc56, i64 1) #18 + %tobool58 = icmp ne i64 %call57, 0 + br i1 %tobool58, label %if.then59, label %if.end63 + +if.then59: ; preds = %if.else + %40 = load i8, i8* %uc56, align 1 + %conv60 = zext i8 %40 to i32 + store i32 %conv60, i32* %retval, align 4 + br label %return + +if.end63: ; preds = %if.then44, %if.else, %lor.lhs.false + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end63, %if.then59, %if.then49, %if.then28, %if.then21, %if.then10, %if.then + %41 = load i32, i32* %retval, align 4 + ret i32 %41 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @sprintf(i8* noalias %buf, i8* noalias %format, ...) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %format.addr = alloca i8*, align 8 + %arg = alloca [1 x %struct.__va_list_tag.0], align 16 + %rv = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load i8*, i8** %buf.addr, align 8 + %1 = load i8*, i8** %format.addr, align 8 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %call = call i32 @vsnprintf(i8* %0, i64 -1, i8* %1, %struct.__va_list_tag.0* %arraydecay2) #19 + store i32 %call, i32* %rv, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + %2 = load i32, i32* %rv, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @strcmp(i8* nonnull %s1, i8* nonnull %s2) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %r = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + br label %while.cond + +while.cond: ; preds = %land.rhs, %entry + %0 = load i8*, i8** %s1.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = zext i8 %1 to i32 + %2 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %2, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %3 = load i8, i8* %2, align 1 + %conv1 = zext i8 %3 to i32 + %sub = sub nsw i32 %conv, %conv1 + store i32 %sub, i32* %r, align 4 + %cmp = icmp eq i32 %sub, 0 + br i1 %cmp, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %4 = load i8*, i8** %s1.addr, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr3, i8** %s1.addr, align 8 + %5 = load i8, i8* %4, align 1 + %conv4 = sext i8 %5 to i32 + %tobool = icmp ne i32 %conv4, 0 + br i1 %tobool, label %while.cond, label %while.end + +while.end: ; preds = %while.cond, %land.rhs + %6 = load i32, i32* %r, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i64 @strlen(i8* nonnull %s) #14 { +entry: + %s.addr = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load i8*, i8** %p, align 8 + %2 = load i8, i8* %1, align 1 + %tobool = icmp ne i8 %2, 0 + %3 = load i8*, i8** %p, align 8 + br i1 %tobool, label %for.inc, label %for.end + +for.inc: ; preds = %for.cond + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %4 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %3 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %4 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @strncmp(i8* nonnull %s1, i8* nonnull %s2, i64 %n) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i32 0, i32* %r, align 4 + br label %while.cond + +while.cond: ; preds = %land.rhs, %entry + %0 = load i64, i64* %n.addr, align 8 + %dec = add i64 %0, -1 + store i64 %dec, i64* %n.addr, align 8 + %tobool = icmp ne i64 %0, 0 + br i1 %tobool, label %land.lhs.true, label %while.end + +land.lhs.true: ; preds = %while.cond + %1 = load i8*, i8** %s1.addr, align 8 + %2 = load i8, i8* %1, align 1 + %conv = zext i8 %2 to i32 + %3 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %4 = load i8, i8* %3, align 1 + %conv1 = zext i8 %4 to i32 + %sub = sub nsw i32 %conv, %conv1 + store i32 %sub, i32* %r, align 4 + %cmp = icmp eq i32 %sub, 0 + br i1 %cmp, label %land.rhs, label %while.end + +land.rhs: ; preds = %land.lhs.true + %5 = load i8*, i8** %s1.addr, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr3, i8** %s1.addr, align 8 + %6 = load i8, i8* %5, align 1 + %conv4 = sext i8 %6 to i32 + %tobool5 = icmp ne i32 %conv4, 0 + br i1 %tobool5, label %while.cond, label %while.end + +while.end: ; preds = %while.cond, %land.lhs.true, %land.rhs + %7 = load i32, i32* %r, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @isatty(i32 %fd) #0 { +entry: + %fd.addr = alloca i32, align 4 + %term = alloca %struct.termios, align 4 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 @tcgetattr(i32 %0, %struct.termios* %term) #19 + %cmp = icmp eq i32 %call, 0 + %conv = zext i1 %cmp to i32 + ret i32 %conv +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @open64(i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i8*, i8** %pathname.addr, align 8 + %8 = load i32, i32* %flags.addr, align 4 + %9 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_open(i8* %7, i32 %8, i32 %9) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @openat64(i32 %fd, i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %fd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i32, i32* %fd.addr, align 4 + %8 = load i8*, i8** %pathname.addr, align 8 + %9 = load i32, i32* %flags.addr, align 4 + %10 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_openat(i32 %7, i8* %8, i32 %9, i32 %10) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @lseek64(i32 %fd, i64 %offset, i32 %whence) #3 { +entry: + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %offset.addr, align 8 + %2 = load i32, i32* %whence.addr, align 4 + %call = call i64 @__fd_lseek(i32 %0, i64 %1, i32 %2) + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__xstat64(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @stat64(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__lxstat64(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @lstat64(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fxstat64(i32 %vers, i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %vers, i32* %vers.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstat64(i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @ftruncate64(i32 %fd, i64 %length) #3 { +entry: + %fd.addr = alloca i32, align 4 + %length.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %length, i64* %length.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %length.addr, align 8 + %call = call i32 @__fd_ftruncate(i32 %0, i64 %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @statfs64(i8* nonnull %path, %struct.statfs* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.statfs*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.statfs* %buf, %struct.statfs** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.statfs*, %struct.statfs** %buf.addr, align 8 + %call = call i32 @__fd_statfs(i8* %0, %struct.statfs* %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @getdents64(i32 %fd, i8* nonnull %dirp, i64 %count) #3 { +entry: + %fd.addr = alloca i32, align 4 + %dirp.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %dirp, i8** %dirp.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i8*, i8** %dirp.addr, align 8 + %2 = bitcast i8* %1 to %struct.dirent64* + %3 = load i64, i64* %count.addr, align 8 + %conv = trunc i64 %3 to i32 + %call = call i32 @__fd_getdents(i32 %0, %struct.dirent64* %2, i32 %conv) + %conv1 = sext i32 %call to i64 + ret i64 %conv1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @kill(i32 %pid, i32 %sig) #3 { +entry: + %pid.addr = alloca i32, align 4 + %sig.addr = alloca i32, align 4 + store i32 %pid, i32* %pid.addr, align 4 + store i32 %sig, i32* %sig.addr, align 4 + call void @gs_warning.209(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.208, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @gs_warning.209(i8* %message) #3 { +entry: + %message.addr = alloca i8*, align 8 + store i8* %message, i8** %message.addr, align 8 + %0 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %0) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.7.210, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind returns_twice uwtable +define weak dso_local i32 @_setjmp(%struct.__jmp_buf_tag* %__env) #16 { +entry: + %__env.addr = alloca %struct.__jmp_buf_tag*, align 8 + store %struct.__jmp_buf_tag* %__env, %struct.__jmp_buf_tag** %__env.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1.211, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline noreturn nounwind uwtable +define dso_local void @longjmp(%struct.__jmp_buf_tag* %env, i32 %val) #6 { +entry: + %env.addr = alloca %struct.__jmp_buf_tag*, align 8 + %val.addr = alloca i32, align 4 + store %struct.__jmp_buf_tag* %env, %struct.__jmp_buf_tag** %env.addr, align 8 + store i32 %val, i32* %val.addr, align 4 + call void @gs_report_error.215(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.2.212, i64 0, i64 0), i32 37, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.3.213, i64 0, i64 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.4.214, i64 0, i64 0)) #24 + unreachable +} + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error.215(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.7.210, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execl(i8* nonnull %path, i8* nonnull %arg, ...) #3 { +entry: + %path.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + call void @gs_warning.209(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.216, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execlp(i8* nonnull %file, i8* nonnull %arg, ...) #3 { +entry: + %file.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + call void @gs_warning.209(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.216, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execle(i8* nonnull %path, i8* nonnull %arg, ...) #3 { +entry: + %path.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + call void @gs_warning.209(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.216, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execv(i8* nonnull %path, i8** nonnull %argv) #3 { +entry: + %path.addr = alloca i8*, align 8 + %argv.addr = alloca i8**, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + call void @gs_warning.209(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.216, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execvp(i8* nonnull %file, i8** nonnull %argv) #3 { +entry: + %file.addr = alloca i8*, align 8 + %argv.addr = alloca i8**, align 8 + store i8* %file, i8** %file.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + call void @gs_warning.209(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.216, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execve(i8* nonnull %file, i8** nonnull %argv, i8** %envp) #3 { +entry: + %file.addr = alloca i8*, align 8 + %argv.addr = alloca i8**, align 8 + %envp.addr = alloca i8**, align 8 + store i8* %file, i8** %file.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + store i8** %envp, i8*** %envp.addr, align 8 + call void @gs_warning.209(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.216, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fork() #3 { +entry: + call void @gs_warning.209(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.6.217, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 12, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind returns_twice uwtable +define dso_local i32 @vfork() #16 { +entry: + %call = call i32 @fork() #11 + ret i32 %call +} + +; Function Attrs: noinline nounwind readnone uwtable +define i16** @__ctype_b_loc() #12 { +entry: + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 0 + ret i16** %__ctype_b +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @__error(i32 %status, i32 %errnum, i8* %message, ...) #0 { +entry: + %status.addr = alloca i32, align 4 + %errnum.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %args = alloca [1 x %struct.__va_list_tag.0], align 16 + %__S = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %tmp = alloca i32, align 4 + store i32 %status, i32* %status.addr, align 4 + store i32 %errnum, i32* %errnum.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdout, align 8 + %call = call i32 @fflush(%struct.__STDIO_FILE_STRUCT.568* %0) #18 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %2 = load i8*, i8** %message.addr, align 8 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %call3 = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %1, i8* %2, %struct.__va_list_tag.0* %arraydecay2) #18 + %arraydecay4 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay45 = bitcast %struct.__va_list_tag.0* %arraydecay4 to i8* + call void @llvm.va_end(i8* %arraydecay45) + %3 = load i32, i32* @error_message_count, align 4 + %inc = add i32 %3, 1 + store i32 %inc, i32* @error_message_count, align 4 + %4 = load i32, i32* %errnum.addr, align 4 + %tobool = icmp ne i32 %4, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %6 = load i32, i32* %errnum.addr, align 4 + %call6 = call i8* @strerror(i32 %6) #19 + %call7 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %5, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.220, i64 0, i64 0), i8* %call6) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %7, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 5 + %9 = load i8*, i8** %__bufpos, align 8 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 8 + %11 = load i8*, i8** %__bufputc_u, align 8 + %cmp = icmp ult i8* %9, %11 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %if.end + %__bufpos8 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 5 + %13 = load i8*, i8** %__bufpos8, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %13, i32 1 + store i8* %incdec.ptr, i8** %__bufpos8, align 8 + store i8 10, i8* %13, align 1 + br label %cond.end + +cond.false: ; preds = %if.end + %call9 = call i32 @__fputc_unlocked(i32 10, %struct.__STDIO_FILE_STRUCT.568* %12) #18 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ 10, %cond.true ], [ %call9, %cond.false ] + store i32 %cond, i32* %tmp, align 4 + %14 = load i32, i32* %tmp, align 4 + %15 = load i32, i32* %status.addr, align 4 + %tobool10 = icmp ne i32 %15, 0 + br i1 %tobool10, label %if.then11, label %if.end12 + +if.then11: ; preds = %cond.end + %16 = load i32, i32* %status.addr, align 4 + call void @exit(i32 %16) #22 + unreachable + +if.end12: ; preds = %cond.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @__error_at_line(i32 %status, i32 %errnum, i8* %file_name, i32 %line_number, i8* %message, ...) #0 { +entry: + %status.addr = alloca i32, align 4 + %errnum.addr = alloca i32, align 4 + %file_name.addr = alloca i8*, align 8 + %line_number.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %args = alloca [1 x %struct.__va_list_tag.0], align 16 + %__S = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %tmp = alloca i32, align 4 + store i32 %status, i32* %status.addr, align 4 + store i32 %errnum, i32* %errnum.addr, align 4 + store i8* %file_name, i8** %file_name.addr, align 8 + store i32 %line_number, i32* %line_number.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + %0 = load i32, i32* @error_one_per_line, align 4 + %tobool = icmp ne i32 %0, 0 + br i1 %tobool, label %if.then, label %if.end4 + +if.then: ; preds = %entry + %1 = load i32, i32* @__error_at_line.old_line_number, align 4 + %2 = load i32, i32* %line_number.addr, align 4 + %cmp = icmp eq i32 %1, %2 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %if.then + %3 = load i8*, i8** %file_name.addr, align 8 + %4 = load i8*, i8** @__error_at_line.old_file_name, align 8 + %cmp1 = icmp eq i8* %3, %4 + br i1 %cmp1, label %if.end25, label %lor.lhs.false + +lor.lhs.false: ; preds = %land.lhs.true + %5 = load i8*, i8** @__error_at_line.old_file_name, align 8 + %6 = load i8*, i8** %file_name.addr, align 8 + %call = call i32 @strcmp(i8* %5, i8* %6) #20 + %tobool2 = icmp ne i32 %call, 0 + br i1 %tobool2, label %if.end, label %if.end25 + +if.end: ; preds = %lor.lhs.false, %if.then + %7 = load i8*, i8** %file_name.addr, align 8 + store i8* %7, i8** @__error_at_line.old_file_name, align 8 + %8 = load i32, i32* %line_number.addr, align 4 + store i32 %8, i32* @__error_at_line.old_line_number, align 4 + br label %if.end4 + +if.end4: ; preds = %if.end, %entry + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdout, align 8 + %call5 = call i32 @fflush(%struct.__STDIO_FILE_STRUCT.568* %9) #18 + %10 = load i8*, i8** %file_name.addr, align 8 + %cmp6 = icmp ne i8* %10, null + br i1 %cmp6, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end4 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %12 = load i8*, i8** %file_name.addr, align 8 + %13 = load i32, i32* %line_number.addr, align 4 + %call8 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %11, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1.221, i64 0, i64 0), i8* %12, i32 %13) #18 + br label %if.end9 + +if.end9: ; preds = %if.then7, %if.end4 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay10 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay10) + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %15 = load i8*, i8** %message.addr, align 8 + %arraydecay11 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %call12 = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %14, i8* %15, %struct.__va_list_tag.0* %arraydecay11) #18 + %arraydecay13 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay1314 = bitcast %struct.__va_list_tag.0* %arraydecay13 to i8* + call void @llvm.va_end(i8* %arraydecay1314) + %16 = load i32, i32* @error_message_count, align 4 + %inc = add i32 %16, 1 + store i32 %inc, i32* @error_message_count, align 4 + %17 = load i32, i32* %errnum.addr, align 4 + %tobool15 = icmp ne i32 %17, 0 + br i1 %tobool15, label %if.then16, label %if.end19 + +if.then16: ; preds = %if.end9 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %19 = load i32, i32* %errnum.addr, align 4 + %call17 = call i8* @strerror(i32 %19) #19 + %call18 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %18, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.220, i64 0, i64 0), i8* %call17) #18 + br label %if.end19 + +if.end19: ; preds = %if.then16, %if.end9 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %20, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %21 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %21, i32 0, i32 5 + %22 = load i8*, i8** %__bufpos, align 8 + %23 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %23, i32 0, i32 8 + %24 = load i8*, i8** %__bufputc_u, align 8 + %cmp20 = icmp ult i8* %22, %24 + %25 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + br i1 %cmp20, label %cond.true, label %cond.false + +cond.true: ; preds = %if.end19 + %__bufpos21 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %25, i32 0, i32 5 + %26 = load i8*, i8** %__bufpos21, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %26, i32 1 + store i8* %incdec.ptr, i8** %__bufpos21, align 8 + store i8 10, i8* %26, align 1 + br label %cond.end + +cond.false: ; preds = %if.end19 + %call22 = call i32 @__fputc_unlocked(i32 10, %struct.__STDIO_FILE_STRUCT.568* %25) #18 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ 10, %cond.true ], [ %call22, %cond.false ] + store i32 %cond, i32* %tmp, align 4 + %27 = load i32, i32* %tmp, align 4 + %28 = load i32, i32* %status.addr, align 4 + %tobool23 = icmp ne i32 %28, 0 + br i1 %tobool23, label %if.then24, label %if.end25 + +if.then24: ; preds = %cond.end + %29 = load i32, i32* %status.addr, align 4 + call void @exit(i32 %29) #22 + unreachable + +if.end25: ; preds = %land.lhs.true, %lor.lhs.false, %cond.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i8* @nl_langinfo(i32 %item) #0 { +entry: + %item.addr = alloca i32, align 4 + store i32 %item, i32* %item.addr, align 4 + %0 = load i32, i32* %item.addr, align 4 + %1 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %call = call i8* @nl_langinfo_l(i32 %0, %struct.__uclibc_locale_struct.201* %1) #18 + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define i8* @setlocale(i32 %category, i8* %locale) #0 { +entry: + %retval = alloca i8*, align 8 + %category.addr = alloca i32, align 4 + %locale.addr = alloca i8*, align 8 + store i32 %category, i32* %category.addr, align 4 + store i8* %locale, i8** %locale.addr, align 8 + %0 = load i32, i32* %category.addr, align 4 + %cmp = icmp ugt i32 %0, 6 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %locale.addr, align 8 + %cmp1 = icmp ne i8* %1, null + br i1 %cmp1, label %if.then2, label %if.end5 + +if.then2: ; preds = %if.end + %2 = load i32, i32* %category.addr, align 4 + %shl = shl i32 1, %2 + %3 = load i8*, i8** %locale.addr, align 8 + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__global_locale, align 8 + %call = call %struct.__uclibc_locale_struct.201* @newlocale(i32 %shl, i8* %3, %struct.__uclibc_locale_struct.201* %4) #19 + %tobool = icmp ne %struct.__uclibc_locale_struct.201* %call, null + br i1 %tobool, label %if.end4, label %if.then3 + +if.then3: ; preds = %if.then2 + store i8* null, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %if.then2 + %5 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__global_locale, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %5, i32 0, i32 6 + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + call void @update_hr_locale(i8* %arraydecay) #18 + br label %if.end5 + +if.end5: ; preds = %if.end4, %if.end + %6 = load i32, i32* %category.addr, align 4 + %mul = mul nsw i32 %6, 32 + %idx.ext = sext i32 %mul to i64 + %add.ptr = getelementptr inbounds i8, i8* getelementptr inbounds ([448 x i8], [448 x i8]* @hr_locale, i64 0, i64 0), i64 %idx.ext + store i8* %add.ptr, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %7 = load i8*, i8** %retval, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @update_hr_locale(i8* %spec) #0 { +entry: + %spec.addr = alloca i8*, align 8 + %loc = alloca i8*, align 8 + %s = alloca i8*, align 8 + %n = alloca i8*, align 8 + %i = alloca i32, align 4 + %category = alloca i32, align 4 + %done = alloca i32, align 4 + %at = alloca i8, align 1 + %q = alloca i8*, align 8 + store i8* %spec, i8** %spec.addr, align 8 + store i32 0, i32* %category, align 4 + store i32 0, i32* %done, align 4 + br label %do.body + +do.body: ; preds = %do.end127, %entry + %0 = load i8*, i8** %spec.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %0, i64 1 + store i8* %add.ptr, i8** %s, align 8 + %1 = load i32, i32* %category, align 4 + %mul = mul nsw i32 %1, 32 + %idx.ext = sext i32 %mul to i64 + %add.ptr1 = getelementptr inbounds i8, i8* getelementptr inbounds ([448 x i8], [448 x i8]* @hr_locale, i64 0, i64 0), i64 %idx.ext + store i8* %add.ptr1, i8** %n, align 8 + %2 = load i32, i32* %category, align 4 + %cmp = icmp eq i32 %2, 6 + br i1 %cmp, label %if.then, label %SKIP + +if.then: ; preds = %do.body + store i32 1, i32* %done, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.then + %3 = load i32, i32* %i, align 4 + %cmp2 = icmp slt i32 %3, 5 + br i1 %cmp2, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %4 = load i8*, i8** %s, align 8 + %5 = load i32, i32* %i, align 4 + %idxprom = sext i32 %5 to i64 + %arrayidx = getelementptr inbounds i8, i8* %4, i64 %idxprom + %6 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %6 to i32 + %7 = load i8*, i8** %s, align 8 + %8 = load i32, i32* %i, align 4 + %add = add nsw i32 %8, 2 + %idxprom3 = sext i32 %add to i64 + %arrayidx4 = getelementptr inbounds i8, i8* %7, i64 %idxprom3 + %9 = load i8, i8* %arrayidx4, align 1 + %conv5 = zext i8 %9 to i32 + %cmp6 = icmp ne i32 %conv, %conv5 + br i1 %cmp6, label %SKIP, label %lor.lhs.false + +lor.lhs.false: ; preds = %for.body + %10 = load i8*, i8** %s, align 8 + %11 = load i32, i32* %i, align 4 + %add8 = add nsw i32 %11, 1 + %idxprom9 = sext i32 %add8 to i64 + %arrayidx10 = getelementptr inbounds i8, i8* %10, i64 %idxprom9 + %12 = load i8, i8* %arrayidx10, align 1 + %conv11 = zext i8 %12 to i32 + %13 = load i8*, i8** %s, align 8 + %14 = load i32, i32* %i, align 4 + %add12 = add nsw i32 %14, 3 + %idxprom13 = sext i32 %add12 to i64 + %arrayidx14 = getelementptr inbounds i8, i8* %13, i64 %idxprom13 + %15 = load i8, i8* %arrayidx14, align 1 + %conv15 = zext i8 %15 to i32 + %cmp16 = icmp ne i32 %conv11, %conv15 + br i1 %cmp16, label %SKIP, label %for.inc + +for.inc: ; preds = %lor.lhs.false + %16 = load i32, i32* %i, align 4 + %add19 = add nsw i32 %16, 2 + store i32 %add19, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + store i32 0, i32* %category, align 4 + br label %SKIP + +SKIP: ; preds = %do.body, %for.end, %for.body, %lor.lhs.false + %17 = load i32, i32* %category, align 4 + %cmp21 = icmp eq i32 %17, 6 + %18 = load i32, i32* %category, align 4 + %cond = select i1 %cmp21, i32 0, i32 %18 + store i32 %cond, i32* %i, align 4 + %19 = load i32, i32* %i, align 4 + %mul23 = mul nsw i32 2, %19 + %20 = load i8*, i8** %s, align 8 + %idx.ext24 = sext i32 %mul23 to i64 + %add.ptr25 = getelementptr inbounds i8, i8* %20, i64 %idx.ext24 + store i8* %add.ptr25, i8** %s, align 8 + br label %do.body26 + +do.body26: ; preds = %if.end122, %SKIP + %21 = load i8*, i8** %s, align 8 + %22 = load i8, i8* %21, align 1 + %conv27 = zext i8 %22 to i32 + %cmp28 = icmp ne i32 %conv27, 255 + br i1 %cmp28, label %if.then35, label %lor.lhs.false30 + +lor.lhs.false30: ; preds = %do.body26 + %23 = load i8*, i8** %s, align 8 + %arrayidx31 = getelementptr inbounds i8, i8* %23, i64 1 + %24 = load i8, i8* %arrayidx31, align 1 + %conv32 = zext i8 %24 to i32 + %cmp33 = icmp ne i32 %conv32, 255 + br i1 %cmp33, label %if.then35, label %if.end122 + +if.then35: ; preds = %lor.lhs.false30, %do.body26 + %25 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %25, i32 0, i32 31 + %arraydecay = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales, i64 0, i64 0 + %26 = load i8*, i8** %s, align 8 + %27 = load i8, i8* %26, align 1 + %conv36 = zext i8 %27 to i32 + %and = and i32 %conv36, 127 + %shl = shl i32 %and, 7 + %28 = load i8*, i8** %s, align 8 + %arrayidx37 = getelementptr inbounds i8, i8* %28, i64 1 + %29 = load i8, i8* %arrayidx37, align 1 + %conv38 = zext i8 %29 to i32 + %and39 = and i32 %conv38, 127 + %add40 = add nsw i32 %shl, %and39 + %mul41 = mul nsw i32 9, %add40 + %idx.ext42 = sext i32 %mul41 to i64 + %add.ptr43 = getelementptr inbounds i8, i8* %arraydecay, i64 %idx.ext42 + store i8* %add.ptr43, i8** %loc, align 8 + %30 = load i32, i32* %category, align 4 + %cmp44 = icmp eq i32 %30, 6 + br i1 %cmp44, label %if.then46, label %if.end54 + +if.then46: ; preds = %if.then35 + %31 = load i8*, i8** %n, align 8 + %32 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %32, i32 0, i32 34 + %arraydecay47 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names, i64 0, i64 0 + %33 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names48 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %33, i32 0, i32 34 + %34 = load i32, i32* %i, align 4 + %idxprom49 = sext i32 %34 to i64 + %arrayidx50 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names48, i64 0, i64 %idxprom49 + %35 = load i8, i8* %arrayidx50, align 1 + %conv51 = zext i8 %35 to i32 + %idx.ext52 = sext i32 %conv51 to i64 + %add.ptr53 = getelementptr inbounds i8, i8* %arraydecay47, i64 %idx.ext52 + %call = call i8* @stpcpy(i8* %31, i8* %add.ptr53) #19 + store i8* %call, i8** %n, align 8 + %36 = load i8*, i8** %n, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %36, i32 1 + store i8* %incdec.ptr, i8** %n, align 8 + store i8 61, i8* %36, align 1 + br label %if.end54 + +if.end54: ; preds = %if.then46, %if.then35 + %37 = load i8*, i8** %loc, align 8 + %38 = load i8, i8* %37, align 1 + %conv55 = zext i8 %38 to i32 + %cmp56 = icmp eq i32 %conv55, 0 + br i1 %cmp56, label %if.then58, label %if.else + +if.then58: ; preds = %if.end54 + %39 = load i8*, i8** %n, align 8 + %incdec.ptr59 = getelementptr inbounds i8, i8* %39, i32 1 + store i8* %incdec.ptr59, i8** %n, align 8 + store i8 67, i8* %39, align 1 + %40 = load i8*, i8** %n, align 8 + store i8 0, i8* %40, align 1 + br label %if.end120 + +if.else: ; preds = %if.end54 + store i8 0, i8* %at, align 1 + %41 = load i8*, i8** %n, align 8 + %42 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_names5 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %42, i32 0, i32 32 + %arraydecay60 = getelementptr inbounds [835 x i8], [835 x i8]* %locale_names5, i64 0, i64 0 + %43 = load i8*, i8** %loc, align 8 + %44 = load i8, i8* %43, align 1 + %conv61 = zext i8 %44 to i32 + %sub = sub nsw i32 %conv61, 1 + %mul62 = mul nsw i32 5, %sub + %idx.ext63 = sext i32 %mul62 to i64 + %add.ptr64 = getelementptr inbounds i8, i8* %arraydecay60, i64 %idx.ext63 + %call65 = call i8* @memcpy(i8* %41, i8* %add.ptr64, i64 5) #19 + %45 = load i8*, i8** %n, align 8 + %arrayidx66 = getelementptr inbounds i8, i8* %45, i64 2 + %46 = load i8, i8* %arrayidx66, align 1 + %conv67 = sext i8 %46 to i32 + %cmp68 = icmp ne i32 %conv67, 95 + br i1 %cmp68, label %if.then70, label %if.end73 + +if.then70: ; preds = %if.else + %47 = load i8*, i8** %n, align 8 + %arrayidx71 = getelementptr inbounds i8, i8* %47, i64 2 + %48 = load i8, i8* %arrayidx71, align 1 + store i8 %48, i8* %at, align 1 + %49 = load i8*, i8** %n, align 8 + %arrayidx72 = getelementptr inbounds i8, i8* %49, i64 2 + store i8 95, i8* %arrayidx72, align 1 + br label %if.end73 + +if.end73: ; preds = %if.then70, %if.else + %50 = load i8*, i8** %n, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %50, i64 5 + store i8* %add.ptr74, i8** %n, align 8 + %51 = load i8*, i8** %n, align 8 + %incdec.ptr75 = getelementptr inbounds i8, i8* %51, i32 1 + store i8* %incdec.ptr75, i8** %n, align 8 + store i8 46, i8* %51, align 1 + %52 = load i8*, i8** %loc, align 8 + %arrayidx76 = getelementptr inbounds i8, i8* %52, i64 2 + %53 = load i8, i8* %arrayidx76, align 1 + %conv77 = zext i8 %53 to i32 + %cmp78 = icmp eq i32 %conv77, 2 + br i1 %cmp78, label %if.then80, label %if.else82 + +if.then80: ; preds = %if.end73 + %54 = load i8*, i8** %n, align 8 + %call81 = call i8* @stpcpy(i8* %54, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf8.228, i64 0, i64 0)) #19 + store i8* %call81, i8** %n, align 8 + br label %if.end100 + +if.else82: ; preds = %if.end73 + %55 = load i8*, i8** %loc, align 8 + %arrayidx83 = getelementptr inbounds i8, i8* %55, i64 2 + %56 = load i8, i8* %arrayidx83, align 1 + %conv84 = zext i8 %56 to i32 + %cmp85 = icmp sge i32 %conv84, 3 + br i1 %cmp85, label %if.then87, label %if.end100 + +if.then87: ; preds = %if.else82 + %57 = load i8*, i8** %n, align 8 + %58 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %58, i32 0, i32 35 + %arraydecay88 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list, i64 0, i64 0 + %59 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list89 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %59, i32 0, i32 35 + %60 = load i8*, i8** %loc, align 8 + %arrayidx90 = getelementptr inbounds i8, i8* %60, i64 2 + %61 = load i8, i8* %arrayidx90, align 1 + %conv91 = zext i8 %61 to i32 + %sub92 = sub nsw i32 %conv91, 3 + %idxprom93 = sext i32 %sub92 to i64 + %arrayidx94 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list89, i64 0, i64 %idxprom93 + %62 = load i8, i8* %arrayidx94, align 1 + %conv95 = zext i8 %62 to i32 + %idx.ext96 = sext i32 %conv95 to i64 + %add.ptr97 = getelementptr inbounds i8, i8* %arraydecay88, i64 %idx.ext96 + %call98 = call i8* @stpcpy(i8* %57, i8* %add.ptr97) #19 + store i8* %call98, i8** %n, align 8 + br label %if.end100 + +if.end100: ; preds = %if.else82, %if.then87, %if.then80 + %63 = load i8, i8* %at, align 1 + %tobool = icmp ne i8 %63, 0 + br i1 %tobool, label %if.then101, label %if.end120 + +if.then101: ; preds = %if.end100 + %64 = load i8*, i8** %n, align 8 + %incdec.ptr102 = getelementptr inbounds i8, i8* %64, i32 1 + store i8* %incdec.ptr102, i8** %n, align 8 + store i8 64, i8* %64, align 1 + %65 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_at_modifiers = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %65, i32 0, i32 33 + %arraydecay103 = getelementptr inbounds [18 x i8], [18 x i8]* %locale_at_modifiers, i64 0, i64 0 + store i8* %arraydecay103, i8** %q, align 8 + br label %do.body104 + +do.body104: ; preds = %if.end113, %if.then101 + %66 = load i8*, i8** %q, align 8 + %arrayidx105 = getelementptr inbounds i8, i8* %66, i64 1 + %67 = load i8, i8* %arrayidx105, align 1 + %conv106 = sext i8 %67 to i32 + %68 = load i8, i8* %at, align 1 + %conv107 = sext i8 %68 to i32 + %cmp108 = icmp eq i32 %conv106, %conv107 + br i1 %cmp108, label %if.then110, label %if.end113 + +if.then110: ; preds = %do.body104 + %69 = load i8*, i8** %n, align 8 + %70 = load i8*, i8** %q, align 8 + %add.ptr111 = getelementptr inbounds i8, i8* %70, i64 2 + %call112 = call i8* @stpcpy(i8* %69, i8* %add.ptr111) #19 + store i8* %call112, i8** %n, align 8 + br label %if.end120 + +if.end113: ; preds = %do.body104 + %71 = load i8*, i8** %q, align 8 + %72 = load i8, i8* %71, align 1 + %conv114 = sext i8 %72 to i32 + %add115 = add nsw i32 2, %conv114 + %73 = load i8*, i8** %q, align 8 + %idx.ext116 = sext i32 %add115 to i64 + %add.ptr117 = getelementptr inbounds i8, i8* %73, i64 %idx.ext116 + store i8* %add.ptr117, i8** %q, align 8 + %74 = load i8*, i8** %q, align 8 + %75 = load i8, i8* %74, align 1 + %tobool118 = icmp ne i8 %75, 0 + br i1 %tobool118, label %do.body104, label %if.end120 + +if.end120: ; preds = %if.end100, %if.end113, %if.then110, %if.then58 + %76 = load i8*, i8** %n, align 8 + %incdec.ptr121 = getelementptr inbounds i8, i8* %76, i32 1 + store i8* %incdec.ptr121, i8** %n, align 8 + store i8 59, i8* %76, align 1 + br label %if.end122 + +if.end122: ; preds = %if.end120, %lor.lhs.false30 + %77 = load i8*, i8** %s, align 8 + %add.ptr123 = getelementptr inbounds i8, i8* %77, i64 2 + store i8* %add.ptr123, i8** %s, align 8 + %78 = load i32, i32* %i, align 4 + %inc = add nsw i32 %78, 1 + store i32 %inc, i32* %i, align 4 + %79 = load i32, i32* %category, align 4 + %cmp125 = icmp slt i32 %inc, %79 + br i1 %cmp125, label %do.body26, label %do.end127 + +do.end127: ; preds = %if.end122 + %80 = load i8*, i8** %n, align 8 + %incdec.ptr128 = getelementptr inbounds i8, i8* %80, i32 -1 + store i8* %incdec.ptr128, i8** %n, align 8 + store i8 0, i8* %incdec.ptr128, align 1 + %81 = load i32, i32* %category, align 4 + %inc129 = add nsw i32 %81, 1 + store i32 %inc129, i32* %category, align 4 + %82 = load i32, i32* %done, align 4 + %tobool131 = icmp ne i32 %82, 0 + %lnot = xor i1 %tobool131, true + br i1 %lnot, label %do.body, label %do.end132 + +do.end132: ; preds = %do.end127 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define void @setutent() #0 { +entry: + call void @__setutent() #18 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__setutent() #0 { +entry: + %ret = alloca i32, align 4 + %0 = load i32, i32* @static_fd, align 4 + %cmp = icmp eq i32 %0, -1 + br i1 %cmp, label %if.then, label %if.end16 + +if.then: ; preds = %entry + %1 = load i8*, i8** @static_ut_name, align 8 + %call = call i32 (i8*, i32, ...) @open(i8* %1, i32 2) #18 + store i32 %call, i32* @static_fd, align 4 + %cmp1 = icmp slt i32 %call, 0 + br i1 %cmp1, label %if.then2, label %if.end6 + +if.then2: ; preds = %if.then + %2 = load i8*, i8** @static_ut_name, align 8 + %call3 = call i32 (i8*, i32, ...) @open(i8* %2, i32 0) #18 + store i32 %call3, i32* @static_fd, align 4 + %cmp4 = icmp slt i32 %call3, 0 + br i1 %cmp4, label %bummer, label %if.end6 + +if.end6: ; preds = %if.then2, %if.then + %3 = load i32, i32* @static_fd, align 4 + %call7 = call i32 (i32, i32, ...) @fcntl(i32 %3, i32 1, i32 0) #18 + store i32 %call7, i32* %ret, align 4 + %4 = load i32, i32* %ret, align 4 + %cmp8 = icmp sge i32 %4, 0 + br i1 %cmp8, label %if.then9, label %if.end11 + +if.then9: ; preds = %if.end6 + %5 = load i32, i32* @static_fd, align 4 + %6 = load i32, i32* %ret, align 4 + %or = or i32 %6, 1 + %call10 = call i32 (i32, i32, ...) @fcntl(i32 %5, i32 2, i32 %or) #18 + store i32 %call10, i32* %ret, align 4 + br label %if.end11 + +if.end11: ; preds = %if.then9, %if.end6 + %7 = load i32, i32* %ret, align 4 + %cmp12 = icmp slt i32 %7, 0 + br i1 %cmp12, label %bummer, label %if.end16 + +bummer: ; preds = %if.end11, %if.then2 + store i32 -1, i32* @static_fd, align 4 + %8 = load i32, i32* @static_fd, align 4 + %call14 = call i32 @close(i32 %8) #18 + br label %return + +if.end16: ; preds = %if.end11, %entry + %9 = load i32, i32* @static_fd, align 4 + %call17 = call i64 @lseek(i32 %9, i64 0, i32 0) #19 + br label %return + +return: ; preds = %if.end16, %bummer + ret void +} + +; Function Attrs: noinline nounwind uwtable +define void @endutent() #0 { +entry: + %0 = load i32, i32* @static_fd, align 4 + %cmp = icmp ne i32 %0, -1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load i32, i32* @static_fd, align 4 + %call = call i32 @close(i32 %1) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + store i32 -1, i32* @static_fd, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @getutent() #0 { +entry: + %ret = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* null, %struct.utmp.323** %ret, align 8 + %0 = load i32, i32* @static_fd, align 4 + %call = call %struct.utmp.323* @__getutent(i32 %0) #18 + store %struct.utmp.323* %call, %struct.utmp.323** %ret, align 8 + %1 = load %struct.utmp.323*, %struct.utmp.323** %ret, align 8 + ret %struct.utmp.323* %1 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.utmp.323* @__getutent(i32 %utmp_fd) #0 { +entry: + %retval = alloca %struct.utmp.323*, align 8 + %utmp_fd.addr = alloca i32, align 4 + %ret = alloca %struct.utmp.323*, align 8 + store i32 %utmp_fd, i32* %utmp_fd.addr, align 4 + store %struct.utmp.323* null, %struct.utmp.323** %ret, align 8 + %0 = load i32, i32* %utmp_fd.addr, align 4 + %cmp = icmp eq i32 %0, -1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @__setutent() #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i32, i32* %utmp_fd.addr, align 4 + %cmp1 = icmp eq i32 %1, -1 + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + store %struct.utmp.323* null, %struct.utmp.323** %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %2 = load i32, i32* %utmp_fd.addr, align 4 + %call = call i64 @read(i32 %2, i8* bitcast (%struct.utmp.323* @static_utmp to i8*), i64 400) #18 + %cmp4 = icmp eq i64 %call, 400 + br i1 %cmp4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end3 + store %struct.utmp.323* @static_utmp, %struct.utmp.323** %ret, align 8 + br label %if.end6 + +if.end6: ; preds = %if.then5, %if.end3 + %3 = load %struct.utmp.323*, %struct.utmp.323** %ret, align 8 + store %struct.utmp.323* %3, %struct.utmp.323** %retval, align 8 + br label %return + +return: ; preds = %if.end6, %if.then2 + %4 = load %struct.utmp.323*, %struct.utmp.323** %retval, align 8 + ret %struct.utmp.323* %4 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @getutid(%struct.utmp.323* %utmp_entry) #0 { +entry: + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + %ret = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + store %struct.utmp.323* null, %struct.utmp.323** %ret, align 8 + %0 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %call = call %struct.utmp.323* @__getutid(%struct.utmp.323* %0) #18 + store %struct.utmp.323* %call, %struct.utmp.323** %ret, align 8 + %1 = load %struct.utmp.323*, %struct.utmp.323** %ret, align 8 + ret %struct.utmp.323* %1 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.utmp.323* @__getutid(%struct.utmp.323* %utmp_entry) #0 { +entry: + %retval = alloca %struct.utmp.323*, align 8 + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + %lutmp = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end47, %entry + %0 = load i32, i32* @static_fd, align 4 + %call = call %struct.utmp.323* @__getutent(i32 %0) #18 + store %struct.utmp.323* %call, %struct.utmp.323** %lutmp, align 8 + %cmp = icmp ne %struct.utmp.323* %call, null + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %1 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %1, i32 0, i32 0 + %2 = load i16, i16* %ut_type, align 8 + %conv = sext i16 %2 to i32 + %cmp1 = icmp eq i32 %conv, 1 + br i1 %cmp1, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.body + %3 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type3 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %3, i32 0, i32 0 + %4 = load i16, i16* %ut_type3, align 8 + %conv4 = sext i16 %4 to i32 + %cmp5 = icmp eq i32 %conv4, 2 + br i1 %cmp5, label %land.lhs.true, label %lor.lhs.false7 + +lor.lhs.false7: ; preds = %lor.lhs.false + %5 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type8 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %5, i32 0, i32 0 + %6 = load i16, i16* %ut_type8, align 8 + %conv9 = sext i16 %6 to i32 + %cmp10 = icmp eq i32 %conv9, 3 + br i1 %cmp10, label %land.lhs.true, label %lor.lhs.false12 + +lor.lhs.false12: ; preds = %lor.lhs.false7 + %7 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type13 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %7, i32 0, i32 0 + %8 = load i16, i16* %ut_type13, align 8 + %conv14 = sext i16 %8 to i32 + %cmp15 = icmp eq i32 %conv14, 4 + br i1 %cmp15, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %lor.lhs.false12, %lor.lhs.false7, %lor.lhs.false, %while.body + %9 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_type17 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %9, i32 0, i32 0 + %10 = load i16, i16* %ut_type17, align 8 + %conv18 = sext i16 %10 to i32 + %11 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type19 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %11, i32 0, i32 0 + %12 = load i16, i16* %ut_type19, align 8 + %conv20 = sext i16 %12 to i32 + %cmp21 = icmp eq i32 %conv18, %conv20 + br i1 %cmp21, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %13 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + store %struct.utmp.323* %13, %struct.utmp.323** %retval, align 8 + br label %return + +if.end: ; preds = %land.lhs.true, %lor.lhs.false12 + %14 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type23 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %14, i32 0, i32 0 + %15 = load i16, i16* %ut_type23, align 8 + %conv24 = sext i16 %15 to i32 + %cmp25 = icmp eq i32 %conv24, 5 + br i1 %cmp25, label %land.lhs.true42, label %lor.lhs.false27 + +lor.lhs.false27: ; preds = %if.end + %16 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type28 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %16, i32 0, i32 0 + %17 = load i16, i16* %ut_type28, align 8 + %conv29 = sext i16 %17 to i32 + %cmp30 = icmp eq i32 %conv29, 8 + br i1 %cmp30, label %land.lhs.true42, label %lor.lhs.false32 + +lor.lhs.false32: ; preds = %lor.lhs.false27 + %18 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type33 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %18, i32 0, i32 0 + %19 = load i16, i16* %ut_type33, align 8 + %conv34 = sext i16 %19 to i32 + %cmp35 = icmp eq i32 %conv34, 6 + br i1 %cmp35, label %land.lhs.true42, label %lor.lhs.false37 + +lor.lhs.false37: ; preds = %lor.lhs.false32 + %20 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type38 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %20, i32 0, i32 0 + %21 = load i16, i16* %ut_type38, align 8 + %conv39 = sext i16 %21 to i32 + %cmp40 = icmp eq i32 %conv39, 7 + br i1 %cmp40, label %land.lhs.true42, label %if.end47 + +land.lhs.true42: ; preds = %lor.lhs.false37, %lor.lhs.false32, %lor.lhs.false27, %if.end + %22 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_id = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %22, i32 0, i32 3 + %arraydecay = getelementptr inbounds [4 x i8], [4 x i8]* %ut_id, i64 0, i64 0 + %23 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_id43 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %23, i32 0, i32 3 + %arraydecay44 = getelementptr inbounds [4 x i8], [4 x i8]* %ut_id43, i64 0, i64 0 + %call45 = call i32 @strncmp(i8* %arraydecay, i8* %arraydecay44, i64 4) #20 + %tobool = icmp ne i32 %call45, 0 + br i1 %tobool, label %if.end47, label %if.then46 + +if.then46: ; preds = %land.lhs.true42 + %24 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + store %struct.utmp.323* %24, %struct.utmp.323** %retval, align 8 + br label %return + +if.end47: ; preds = %land.lhs.true42, %lor.lhs.false37 + br label %while.cond + +while.end: ; preds = %while.cond + store %struct.utmp.323* null, %struct.utmp.323** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then46, %if.then + %25 = load %struct.utmp.323*, %struct.utmp.323** %retval, align 8 + ret %struct.utmp.323* %25 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @getutline(%struct.utmp.323* %utmp_entry) #0 { +entry: + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + %lutmp = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + store %struct.utmp.323* null, %struct.utmp.323** %lutmp, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %0 = load i32, i32* @static_fd, align 4 + %call = call %struct.utmp.323* @__getutent(i32 %0) #18 + store %struct.utmp.323* %call, %struct.utmp.323** %lutmp, align 8 + %cmp = icmp ne %struct.utmp.323* %call, null + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %1 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_type = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %1, i32 0, i32 0 + %2 = load i16, i16* %ut_type, align 8 + %conv = sext i16 %2 to i32 + %cmp1 = icmp eq i32 %conv, 7 + br i1 %cmp1, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.body + %3 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_type3 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %3, i32 0, i32 0 + %4 = load i16, i16* %ut_type3, align 8 + %conv4 = sext i16 %4 to i32 + %cmp5 = icmp eq i32 %conv4, 6 + br i1 %cmp5, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %lor.lhs.false, %while.body + %5 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_line = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %5, i32 0, i32 2 + %arraydecay = getelementptr inbounds [32 x i8], [32 x i8]* %ut_line, i64 0, i64 0 + %6 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_line7 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %6, i32 0, i32 2 + %arraydecay8 = getelementptr inbounds [32 x i8], [32 x i8]* %ut_line7, i64 0, i64 0 + %call9 = call i32 @strcmp(i8* %arraydecay, i8* %arraydecay8) #20 + %tobool = icmp ne i32 %call9, 0 + br i1 %tobool, label %if.end, label %while.end + +if.end: ; preds = %land.lhs.true, %lor.lhs.false + br label %while.cond + +while.end: ; preds = %land.lhs.true, %while.cond + %7 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + ret %struct.utmp.323* %7 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @pututline(%struct.utmp.323* %utmp_entry) #0 { +entry: + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + %0 = load i32, i32* @static_fd, align 4 + %call = call i64 @lseek(i32 %0, i64 -400, i32 1) #19 + %1 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %call1 = call %struct.utmp.323* @__getutid(%struct.utmp.323* %1) #18 + %cmp = icmp ne %struct.utmp.323* %call1, null + %2 = load i32, i32* @static_fd, align 4 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %call2 = call i64 @lseek(i32 %2, i64 -400, i32 1) #19 + br label %if.end + +if.else: ; preds = %entry + %call3 = call i64 @lseek(i32 %2, i64 0, i32 2) #19 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %3 = load i32, i32* @static_fd, align 4 + %4 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %5 = bitcast %struct.utmp.323* %4 to i8* + %call4 = call i64 @write(i32 %3, i8* %5, i64 400) #18 + %cmp5 = icmp ne i64 %call4, 400 + br i1 %cmp5, label %if.then6, label %if.end7 + +if.then6: ; preds = %if.end + store %struct.utmp.323* null, %struct.utmp.323** %utmp_entry.addr, align 8 + br label %if.end7 + +if.end7: ; preds = %if.then6, %if.end + %6 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + ret %struct.utmp.323* %6 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @utmpname(i8* %new_ut_name) #0 { +entry: + %new_ut_name.addr = alloca i8*, align 8 + store i8* %new_ut_name, i8** %new_ut_name.addr, align 8 + %0 = load i8*, i8** %new_ut_name.addr, align 8 + %cmp = icmp ne i8* %0, null + br i1 %cmp, label %if.then, label %if.end6 + +if.then: ; preds = %entry + %1 = load i8*, i8** @static_ut_name, align 8 + %cmp1 = icmp ne i8* %1, getelementptr inbounds ([14 x i8], [14 x i8]* @default_file_name, i64 0, i64 0) + br i1 %cmp1, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + %2 = load i8*, i8** @static_ut_name, align 8 + call void @free(i8* %2) #19 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %3 = load i8*, i8** %new_ut_name.addr, align 8 + %call = call noalias i8* @strdup(i8* %3) #19 + store i8* %call, i8** @static_ut_name, align 8 + %4 = load i8*, i8** @static_ut_name, align 8 + %cmp3 = icmp eq i8* %4, null + %spec.store.select = select i1 %cmp3, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @default_file_name, i64 0, i64 0), i8* %call + store i8* %spec.store.select, i8** @static_ut_name, align 8 + br label %if.end6 + +if.end6: ; preds = %if.end, %entry + %5 = load i32, i32* @static_fd, align 4 + %cmp7 = icmp ne i32 %5, -1 + br i1 %cmp7, label %if.then8, label %if.end10 + +if.then8: ; preds = %if.end6 + %6 = load i32, i32* @static_fd, align 4 + %call9 = call i32 @close(i32 %6) #18 + br label %if.end10 + +if.end10: ; preds = %if.then8, %if.end6 + store i32 -1, i32* @static_fd, align 4 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_wchar_utf8sntowcs(i32* noalias %pwc, i64 %wn, i8** noalias %src, i64 %n, %struct.__mbstate_t.512* %ps, i32 %allow_continuation) #0 { +entry: + %retval = alloca i64, align 8 + %pwc.addr = alloca i32*, align 8 + %wn.addr = alloca i64, align 8 + %src.addr = alloca i8**, align 8 + %n.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %allow_continuation.addr = alloca i32, align 4 + %s = alloca i8*, align 8 + %mask = alloca i32, align 4 + %wc = alloca i32, align 4 + %wcbuf = alloca [1 x i32], align 4 + %count = alloca i64, align 8 + %incr = alloca i32, align 4 + store i32* %pwc, i32** %pwc.addr, align 8 + store i64 %wn, i64* %wn.addr, align 8 + store i8** %src, i8*** %src.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + store i32 %allow_continuation, i32* %allow_continuation.addr, align 4 + %0 = load i8**, i8*** %src.addr, align 8 + %1 = load i8*, i8** %0, align 8 + store i8* %1, i8** %s, align 8 + store i32 1, i32* %incr, align 4 + %2 = load i32*, i32** %pwc.addr, align 8 + %tobool = icmp ne i32* %2, null + br i1 %tobool, label %lor.lhs.false, label %if.then + +lor.lhs.false: ; preds = %entry + %3 = load i32*, i32** %pwc.addr, align 8 + %4 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %5 = bitcast %struct.__mbstate_t.512* %4 to i32* + %cmp = icmp eq i32* %3, %5 + br i1 %cmp, label %if.then, label %if.end3 + +if.then: ; preds = %lor.lhs.false, %entry + %6 = load i32*, i32** %pwc.addr, align 8 + %tobool1 = icmp ne i32* %6, null + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + store i64 -1, i64* %wn.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %arraydecay = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay, i32** %pwc.addr, align 8 + store i32 0, i32* %incr, align 4 + br label %if.end3 + +if.end3: ; preds = %if.end, %lor.lhs.false + %7 = load i64, i64* %wn.addr, align 8 + store i64 %7, i64* %count, align 8 + %tobool4 = icmp ne i64 %7, 0 + br i1 %tobool4, label %if.end6, label %if.then5 + +if.then5: ; preds = %if.end3 + store i64 0, i64* %retval, align 8 + br label %return + +if.end6: ; preds = %if.end3 + %8 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %8, i32 0, i32 0 + %9 = load i32, i32* %__mask, align 4 + store i32 %9, i32* %mask, align 4 + %cmp7 = icmp ne i32 %9, 0 + br i1 %cmp7, label %if.then8, label %do.body + +if.then8: ; preds = %if.end6 + %10 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %10, i32 0, i32 1 + %11 = load i32, i32* %__wc, align 4 + store i32 %11, i32* %wc, align 4 + %cmp9 = icmp ne i32 %11, 65535 + br i1 %cmp9, label %if.then10, label %if.end14 + +if.then10: ; preds = %if.then8 + %12 = load i64, i64* %n.addr, align 8 + %tobool11 = icmp ne i64 %12, 0 + br i1 %tobool11, label %while.cond, label %DONE + +if.end14: ; preds = %if.then8 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +do.body: ; preds = %if.end6, %land.rhs + %13 = load i64, i64* %n.addr, align 8 + %tobool16 = icmp ne i64 %13, 0 + br i1 %tobool16, label %if.end18, label %DONE + +if.end18: ; preds = %do.body + %14 = load i64, i64* %n.addr, align 8 + %dec = add i64 %14, -1 + store i64 %dec, i64* %n.addr, align 8 + %15 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %15, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %16 = load i8, i8* %15, align 1 + %conv = zext i8 %16 to i32 + store i32 %conv, i32* %wc, align 4 + %cmp19 = icmp uge i32 %conv, 128 + br i1 %cmp19, label %if.then21, label %COMPLETE + +if.then21: ; preds = %if.end18 + store i32 64, i32* %mask, align 4 + %17 = load i8*, i8** %s, align 8 + %arrayidx = getelementptr inbounds i8, i8* %17, i64 -1 + %18 = load i8, i8* %arrayidx, align 1 + %conv22 = sext i8 %18 to i32 + %sub = sub nsw i32 %conv22, 192 + %conv23 = trunc i32 %sub to i8 + %conv24 = zext i8 %conv23 to i32 + %cmp25 = icmp slt i32 %conv24, 62 + br i1 %cmp25, label %START, label %BAD + +BAD: ; preds = %if.end52, %lor.lhs.false55, %lor.lhs.false59, %while.body, %if.then21 + %19 = load i32, i32* %mask, align 4 + %20 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask29 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %20, i32 0, i32 0 + store i32 %19, i32* %__mask29, align 4 + %21 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc30 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %21, i32 0, i32 1 + store i32 65535, i32* %__wc30, align 4 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +while.cond: ; preds = %START, %if.then10 + %22 = load i64, i64* %n.addr, align 8 + %tobool31 = icmp ne i64 %22, 0 + br i1 %tobool31, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %23 = load i64, i64* %n.addr, align 8 + %dec32 = add i64 %23, -1 + store i64 %dec32, i64* %n.addr, align 8 + %24 = load i8*, i8** %s, align 8 + %25 = load i8, i8* %24, align 1 + %conv33 = sext i8 %25 to i32 + %and = and i32 %conv33, 192 + %cmp34 = icmp ne i32 %and, 128 + br i1 %cmp34, label %BAD, label %if.end37 + +if.end37: ; preds = %while.body + %26 = load i32, i32* %mask, align 4 + %shl = shl i32 %26, 5 + store i32 %shl, i32* %mask, align 4 + %27 = load i32, i32* %wc, align 4 + %shl38 = shl i32 %27, 6 + store i32 %shl38, i32* %wc, align 4 + %28 = load i8*, i8** %s, align 8 + %29 = load i8, i8* %28, align 1 + %conv39 = sext i8 %29 to i32 + %and40 = and i32 %conv39, 63 + %30 = load i32, i32* %wc, align 4 + %add = add i32 %30, %and40 + store i32 %add, i32* %wc, align 4 + %31 = load i8*, i8** %s, align 8 + %incdec.ptr41 = getelementptr inbounds i8, i8* %31, i32 1 + store i8* %incdec.ptr41, i8** %s, align 8 + br label %START + +START: ; preds = %if.then21, %if.end37 + %32 = load i32, i32* %mask, align 4 + %shl42 = shl i32 %32, 1 + %neg = xor i32 %shl42, -1 + %33 = load i32, i32* %wc, align 4 + %and43 = and i32 %33, %neg + store i32 %and43, i32* %wc, align 4 + %34 = load i32, i32* %wc, align 4 + %35 = load i32, i32* %mask, align 4 + %and44 = and i32 %34, %35 + %cmp45 = icmp eq i32 %and44, 0 + br i1 %cmp45, label %if.then47, label %while.cond + +if.then47: ; preds = %START + %36 = load i32, i32* %mask, align 4 + %shr = lshr i32 %36, 5 + store i32 %shr, i32* %mask, align 4 + %cmp48 = icmp eq i32 %shr, 64 + br i1 %cmp48, label %if.then50, label %if.end52 + +if.then50: ; preds = %if.then47 + %37 = load i32, i32* %mask, align 4 + %38 = load i32, i32* %mask, align 4 + %add51 = add i32 %38, %37 + store i32 %add51, i32* %mask, align 4 + br label %if.end52 + +if.end52: ; preds = %if.then50, %if.then47 + %39 = load i32, i32* %wc, align 4 + %40 = load i32, i32* %mask, align 4 + %cmp53 = icmp ult i32 %39, %40 + br i1 %cmp53, label %BAD, label %lor.lhs.false55 + +lor.lhs.false55: ; preds = %if.end52 + %41 = load i32, i32* %wc, align 4 + %sub56 = sub i32 %41, 65534 + %cmp57 = icmp ult i32 %sub56, 2 + br i1 %cmp57, label %BAD, label %lor.lhs.false59 + +lor.lhs.false59: ; preds = %lor.lhs.false55 + %42 = load i32, i32* %wc, align 4 + %sub60 = sub i32 %42, 55296 + %cmp61 = icmp ult i32 %sub60, 2048 + br i1 %cmp61, label %BAD, label %COMPLETE + +while.end: ; preds = %while.cond + %43 = load i32, i32* %allow_continuation.addr, align 4 + %tobool66 = icmp ne i32 %43, 0 + br i1 %tobool66, label %if.end77, label %if.then67 + +if.then67: ; preds = %while.end + %44 = load i64, i64* %count, align 8 + %45 = load i64, i64* %wn.addr, align 8 + %cmp68 = icmp ne i64 %44, %45 + br i1 %cmp68, label %if.then70, label %do.body72 + +if.then70: ; preds = %if.then67 + store i64 0, i64* %retval, align 8 + br label %return + +do.body72: ; preds = %if.then67, %do.body72 + %46 = load i8*, i8** %s, align 8 + %incdec.ptr73 = getelementptr inbounds i8, i8* %46, i32 -1 + store i8* %incdec.ptr73, i8** %s, align 8 + %47 = load i32, i32* %mask, align 4 + %shr74 = lshr i32 %47, 5 + store i32 %shr74, i32* %mask, align 4 + %cmp75 = icmp uge i32 %shr74, 64 + br i1 %cmp75, label %do.body72, label %DONE + +if.end77: ; preds = %while.end + %48 = load i32, i32* %mask, align 4 + %49 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask78 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %49, i32 0, i32 0 + store i32 %48, i32* %__mask78, align 4 + %50 = load i32, i32* %wc, align 4 + %51 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc79 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %51, i32 0, i32 1 + store i32 %50, i32* %__wc79, align 4 + %52 = load i8*, i8** %s, align 8 + %53 = load i8**, i8*** %src.addr, align 8 + store i8* %52, i8** %53, align 8 + store i64 -2, i64* %retval, align 8 + br label %return + +COMPLETE: ; preds = %if.end18, %lor.lhs.false59 + %54 = load i32, i32* %wc, align 4 + %55 = load i32*, i32** %pwc.addr, align 8 + store i32 %54, i32* %55, align 4 + %56 = load i32, i32* %incr, align 4 + %57 = load i32*, i32** %pwc.addr, align 8 + %idx.ext = sext i32 %56 to i64 + %add.ptr = getelementptr inbounds i32, i32* %57, i64 %idx.ext + store i32* %add.ptr, i32** %pwc.addr, align 8 + %58 = load i32, i32* %wc, align 4 + %tobool82 = icmp ne i32 %58, 0 + br i1 %tobool82, label %land.rhs, label %do.end85 + +land.rhs: ; preds = %COMPLETE + %59 = load i64, i64* %count, align 8 + %dec83 = add i64 %59, -1 + store i64 %dec83, i64* %count, align 8 + %tobool84 = icmp ne i64 %dec83, 0 + br i1 %tobool84, label %do.body, label %do.end85 + +do.end85: ; preds = %COMPLETE, %land.rhs + %60 = load i32, i32* %wc, align 4 + %tobool86 = icmp ne i32 %60, 0 + br i1 %tobool86, label %DONE, label %if.then87 + +if.then87: ; preds = %do.end85 + store i8* null, i8** %s, align 8 + br label %DONE + +DONE: ; preds = %do.end85, %if.then87, %do.body72, %do.body, %if.then10 + %61 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask89 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %61, i32 0, i32 0 + store i32 0, i32* %__mask89, align 4 + %62 = load i32*, i32** %pwc.addr, align 8 + %arraydecay90 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %cmp91 = icmp ne i32* %62, %arraydecay90 + br i1 %cmp91, label %if.then93, label %if.end94 + +if.then93: ; preds = %DONE + %63 = load i8*, i8** %s, align 8 + %64 = load i8**, i8*** %src.addr, align 8 + store i8* %63, i8** %64, align 8 + br label %if.end94 + +if.end94: ; preds = %if.then93, %DONE + %65 = load i64, i64* %wn.addr, align 8 + %66 = load i64, i64* %count, align 8 + %sub95 = sub i64 %65, %66 + store i64 %sub95, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end94, %if.end77, %if.then70, %BAD, %if.end14, %if.then5 + %67 = load i64, i64* %retval, align 8 + ret i64 %67 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @mbrtowc(i32* noalias %pwc, i8* noalias %s, i64 %n, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %retval = alloca i64, align 8 + %pwc.addr = alloca i32*, align 8 + %s.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %wcbuf = alloca [1 x i32], align 4 + %p = alloca i8*, align 8 + %r = alloca i64, align 8 + %empty_string = alloca [1 x i8], align 1 + store i32* %pwc, i32** %pwc.addr, align 8 + store i8* %s, i8** %s.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %tobool = icmp ne %struct.__mbstate_t.512* %0, null + %spec.store.select = select i1 %tobool, %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512* @mbrtowc.mbstate + store %struct.__mbstate_t.512* %spec.store.select, %struct.__mbstate_t.512** %ps.addr, align 8 + %1 = load i8*, i8** %s.addr, align 8 + %tobool1 = icmp ne i8* %1, null + br i1 %tobool1, label %if.else, label %if.then2 + +if.then2: ; preds = %entry + %2 = load i8*, i8** %s.addr, align 8 + %3 = bitcast i8* %2 to i32* + store i32* %3, i32** %pwc.addr, align 8 + %arrayidx = getelementptr inbounds [1 x i8], [1 x i8]* %empty_string, i64 0, i64 0 + store i8 0, i8* %arrayidx, align 1 + %arraydecay = getelementptr inbounds [1 x i8], [1 x i8]* %empty_string, i64 0, i64 0 + store i8* %arraydecay, i8** %s.addr, align 8 + store i64 1, i64* %n.addr, align 8 + br label %if.end7 + +if.else: ; preds = %entry + %4 = load i64, i64* %n.addr, align 8 + %tobool3 = icmp ne i64 %4, 0 + br i1 %tobool3, label %if.end7, label %if.then4 + +if.then4: ; preds = %if.else + %5 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %5, i32 0, i32 0 + %6 = load i32, i32* %__mask, align 4 + %tobool5 = icmp ne i32 %6, 0 + br i1 %tobool5, label %land.rhs, label %land.end + +land.rhs: ; preds = %if.then4 + %7 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %7, i32 0, i32 1 + %8 = load i32, i32* %__wc, align 4 + %cmp = icmp eq i32 %8, 65535 + br label %land.end + +land.end: ; preds = %land.rhs, %if.then4 + %9 = phi i1 [ false, %if.then4 ], [ %cmp, %land.rhs ] + %10 = zext i1 %9 to i64 + %cond = select i1 %9, i64 -1, i64 -2 + store i64 %cond, i64* %retval, align 8 + br label %return + +if.end7: ; preds = %if.else, %if.then2 + %11 = load i8*, i8** %s.addr, align 8 + store i8* %11, i8** %p, align 8 + %12 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %12, i32 0, i32 9 + %13 = load i8, i8* %encoding, align 8 + %conv = zext i8 %13 to i32 + %cmp8 = icmp eq i32 %conv, 1 + br i1 %cmp8, label %if.then10, label %if.end18 + +if.then10: ; preds = %if.end7 + %14 = load i32*, i32** %pwc.addr, align 8 + %tobool11 = icmp ne i32* %14, null + br i1 %tobool11, label %if.end14, label %if.then12 + +if.then12: ; preds = %if.then10 + %arraydecay13 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay13, i32** %pwc.addr, align 8 + br label %if.end14 + +if.end14: ; preds = %if.then12, %if.then10 + %15 = load i32*, i32** %pwc.addr, align 8 + %16 = load i64, i64* %n.addr, align 8 + %17 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @_wchar_utf8sntowcs(i32* %15, i64 1, i8** %p, i64 %16, %struct.__mbstate_t.512* %17, i32 1) #18 + store i64 %call, i64* %r, align 8 + %18 = load i64, i64* %r, align 8 + %cmp15 = icmp eq i64 %18, 1 + %19 = load i8*, i8** %p, align 8 + %20 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %20 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %21 = load i64, i64* %r, align 8 + %cond17 = select i1 %cmp15, i64 %sub.ptr.sub, i64 %21 + store i64 %cond17, i64* %retval, align 8 + br label %return + +if.end18: ; preds = %if.end7 + %arraydecay19 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %22 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call20 = call i64 @mbsnrtowcs(i32* %arraydecay19, i8** %p, i64 -1, i64 1, %struct.__mbstate_t.512* %22) #19 + store i64 %call20, i64* %r, align 8 + %23 = load i64, i64* %r, align 8 + %cmp21 = icmp sge i64 %23, 0 + %24 = load i32*, i32** %pwc.addr, align 8 + %tobool24 = icmp ne i32* %24, null + %or.cond = and i1 %cmp21, %tobool24 + br i1 %or.cond, label %if.then25, label %if.end28 + +if.then25: ; preds = %if.end18 + %arraydecay26 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %25 = load i32, i32* %arraydecay26, align 4 + %26 = load i32*, i32** %pwc.addr, align 8 + store i32 %25, i32* %26, align 4 + br label %if.end28 + +if.end28: ; preds = %if.then25, %if.end18 + %27 = load i64, i64* %r, align 8 + store i64 %27, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end28, %if.end14, %land.end + %28 = load i64, i64* %retval, align 8 + ret i64 %28 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @mbsinit(%struct.__mbstate_t.512* %ps) #14 { +entry: + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %tobool = icmp ne %struct.__mbstate_t.512* %0, null + br i1 %tobool, label %lor.rhs, label %lor.end + +lor.rhs: ; preds = %entry + %1 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %1, i32 0, i32 0 + %2 = load i32, i32* %__mask, align 4 + %tobool1 = icmp ne i32 %2, 0 + %lnot = xor i1 %tobool1, true + br label %lor.end + +lor.end: ; preds = %lor.rhs, %entry + %3 = phi i1 [ true, %entry ], [ %lnot, %lor.rhs ] + %lor.ext = zext i1 %3 to i32 + ret i32 %lor.ext +} + +; Function Attrs: noinline nounwind uwtable +define i32 @iswprint(i32 %wc) #0 { +entry: + %wc.addr = alloca i32, align 4 + store i32 %wc, i32* %wc.addr, align 4 + %0 = load i32, i32* %wc.addr, align 4 + %call = call i32 @iswctype(i32 %0, i32 8) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.568* %stream, i8* %buf, i64 %bufsize) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %rv = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + store i64 0, i64* %rv, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 4 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end18, label %if.then + +if.then: ; preds = %entry + %2 = load i64, i64* %bufsize.addr, align 8 + %cmp = icmp ugt i64 %2, 9223372036854775807 + br i1 %cmp, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + store i64 9223372036854775807, i64* %bufsize.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 2 + %4 = load i32, i32* %__filedes, align 4 + %5 = load i8*, i8** %buf.addr, align 8 + %6 = load i64, i64* %bufsize.addr, align 8 + %call = call i64 @read(i32 %4, i8* %5, i64 %6) #18 + store i64 %call, i64* %rv, align 8 + %cmp3 = icmp sle i64 %call, 0 + br i1 %cmp3, label %if.then5, label %if.end18 + +if.then5: ; preds = %if.end + %7 = load i64, i64* %rv, align 8 + %cmp6 = icmp eq i64 %7, 0 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags9 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags9, align 8 + %conv10 = zext i16 %9 to i32 + br i1 %cmp6, label %if.then8, label %if.else + +if.then8: ; preds = %if.then5 + %or = or i32 %conv10, 4 + %conv11 = trunc i32 %or to i16 + store i16 %conv11, i16* %__modeflags9, align 8 + br label %if.end18 + +if.else: ; preds = %if.then5 + %or14 = or i32 %conv10, 8 + %conv15 = trunc i32 %or14 to i16 + store i16 %conv15, i16* %__modeflags9, align 8 + store i64 0, i64* %rv, align 8 + br label %if.end18 + +if.end18: ; preds = %if.end, %if.else, %if.then8, %entry + %10 = load i64, i64* %rv, align 8 + ret i64 %10 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %stream, i8* %buf, i64 %bufsize) #0 { +entry: + %retval = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %todo = alloca i64, align 8 + %rv = alloca i64, align 8 + %stodo = alloca i64, align 8 + %s = alloca i8*, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i64, i64* %bufsize.addr, align 8 + store i64 %0, i64* %todo, align 8 + br label %do.body + +do.body: ; preds = %if.then3, %entry + %1 = load i64, i64* %todo, align 8 + %cmp = icmp eq i64 %1, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %do.body + %2 = load i64, i64* %bufsize.addr, align 8 + store i64 %2, i64* %retval, align 8 + br label %do.end32 + +if.end: ; preds = %do.body + %3 = load i64, i64* %todo, align 8 + %cmp1 = icmp ule i64 %3, 9223372036854775807 + %4 = load i64, i64* %todo, align 8 + %cond = select i1 %cmp1, i64 %4, i64 9223372036854775807 + store i64 %cond, i64* %stodo, align 8 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 2 + %6 = load i32, i32* %__filedes, align 4 + %7 = load i8*, i8** %buf.addr, align 8 + %8 = load i64, i64* %stodo, align 8 + %call = call i64 @write(i32 %6, i8* %7, i64 %8) #18 + store i64 %call, i64* %rv, align 8 + %cmp2 = icmp sge i64 %call, 0 + br i1 %cmp2, label %if.then3, label %if.else + +if.then3: ; preds = %if.end + %9 = load i64, i64* %rv, align 8 + %10 = load i64, i64* %todo, align 8 + %sub = sub i64 %10, %9 + store i64 %sub, i64* %todo, align 8 + %11 = load i64, i64* %rv, align 8 + %12 = load i8*, i8** %buf.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %12, i64 %11 + store i8* %add.ptr, i8** %buf.addr, align 8 + br label %do.body + +if.else: ; preds = %if.end + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 0 + %14 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %14 to i32 + %or = or i32 %conv, 8 + %conv4 = trunc i32 %or to i16 + store i16 %conv4, i16* %__modeflags, align 8 + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 4 + %16 = load i8*, i8** %__bufend, align 8 + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 3 + %18 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %16 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %18 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %stodo, align 8 + %cmp5 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %cmp5, label %if.then7, label %if.end28 + +if.then7: ; preds = %if.else + %19 = load i64, i64* %stodo, align 8 + %20 = load i64, i64* %todo, align 8 + %cmp8 = icmp ugt i64 %19, %20 + br i1 %cmp8, label %if.then10, label %if.end11 + +if.then10: ; preds = %if.then7 + %21 = load i64, i64* %todo, align 8 + store i64 %21, i64* %stodo, align 8 + br label %if.end11 + +if.end11: ; preds = %if.then10, %if.then7 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart12 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 3 + %23 = load i8*, i8** %__bufstart12, align 8 + store i8* %23, i8** %s, align 8 + br label %do.body13 + +do.body13: ; preds = %if.end20, %if.end11 + %24 = load i8*, i8** %buf.addr, align 8 + %25 = load i8, i8* %24, align 1 + %26 = load i8*, i8** %s, align 8 + store i8 %25, i8* %26, align 1 + %conv14 = zext i8 %25 to i32 + %cmp15 = icmp eq i32 %conv14, 10 + br i1 %cmp15, label %land.lhs.true, label %if.end20 + +land.lhs.true: ; preds = %do.body13 + %27 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %27, i32 0, i32 0 + %28 = load i16, i16* %__modeflags17, align 8 + %conv18 = zext i16 %28 to i32 + %and = and i32 %conv18, 256 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %do.end, label %if.end20 + +if.end20: ; preds = %land.lhs.true, %do.body13 + %29 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %29, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %30 = load i8*, i8** %buf.addr, align 8 + %incdec.ptr21 = getelementptr inbounds i8, i8* %30, i32 1 + store i8* %incdec.ptr21, i8** %buf.addr, align 8 + %31 = load i64, i64* %stodo, align 8 + %dec = add nsw i64 %31, -1 + store i64 %dec, i64* %stodo, align 8 + %tobool22 = icmp ne i64 %dec, 0 + br i1 %tobool22, label %do.body13, label %do.end + +do.end: ; preds = %land.lhs.true, %if.end20 + %32 = load i8*, i8** %s, align 8 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %33, i32 0, i32 5 + store i8* %32, i8** %__bufpos, align 8 + %34 = load i8*, i8** %s, align 8 + %35 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart23 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %35, i32 0, i32 3 + %36 = load i8*, i8** %__bufstart23, align 8 + %sub.ptr.lhs.cast24 = ptrtoint i8* %34 to i64 + %sub.ptr.rhs.cast25 = ptrtoint i8* %36 to i64 + %sub.ptr.sub26 = sub i64 %sub.ptr.lhs.cast24, %sub.ptr.rhs.cast25 + %37 = load i64, i64* %todo, align 8 + %sub27 = sub i64 %37, %sub.ptr.sub26 + store i64 %sub27, i64* %todo, align 8 + br label %if.end28 + +if.end28: ; preds = %do.end, %if.else + %38 = load i64, i64* %bufsize.addr, align 8 + %39 = load i64, i64* %todo, align 8 + %sub29 = sub i64 %38, %39 + store i64 %sub29, i64* %retval, align 8 + br label %do.end32 + +do.end32: ; preds = %if.then, %if.end28 + %40 = load i64, i64* %retval, align 8 + ret i64 %40 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__freading(%struct.__STDIO_FILE_STRUCT.519* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.519*, align 8 + store %struct.__STDIO_FILE_STRUCT.519* %stream, %struct.__STDIO_FILE_STRUCT.519** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.519*, %struct.__STDIO_FILE_STRUCT.519** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.519, %struct.__STDIO_FILE_STRUCT.519* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 35 + ret i32 %and +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_rfill(%struct.__STDIO_FILE_STRUCT.568* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %rv = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %1, i32 0, i32 3 + %2 = load i8*, i8** %__bufstart, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 4 + %4 = load i8*, i8** %__bufend, align 8 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 3 + %6 = load i8*, i8** %__bufstart1, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %4 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %6 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %call = call i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.568* %0, i8* %2, i64 %sub.ptr.sub) #18 + store i64 %call, i64* %rv, align 8 + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %7, i32 0, i32 3 + %8 = load i8*, i8** %__bufstart2, align 8 + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %9, i32 0, i32 5 + store i8* %8, i8** %__bufpos, align 8 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart3 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 3 + %11 = load i8*, i8** %__bufstart3, align 8 + %12 = load i64, i64* %rv, align 8 + %add.ptr = getelementptr inbounds i8, i8* %11, i64 %12 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 6 + store i8* %add.ptr, i8** %__bufread, align 8 + %14 = load i64, i64* %rv, align 8 + ret i64 %14 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_trans2r_o(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %oflag) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %oflag.addr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %oflag, i32* %oflag.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %2 = load i32, i32* %oflag.addr, align 4 + %and = and i32 %conv, %2 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end9, label %if.then + +if.then: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 0 + %4 = load i16, i16* %__modeflags1, align 8 + %conv2 = zext i16 %4 to i32 + %and3 = and i32 %conv2, 2176 + %tobool4 = icmp ne i32 %and3, 0 + br i1 %tobool4, label %DO_EBADF, label %if.end + +if.end: ; preds = %if.then + %5 = load i32, i32* %oflag.addr, align 4 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 0 + %7 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %7 to i32 + %or = or i32 %conv7, %5 + %conv8 = trunc i32 %or to i16 + store i16 %conv8, i16* %__modeflags6, align 8 + br label %if.end9 + +if.end9: ; preds = %if.end, %entry + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags10, align 8 + %conv11 = zext i16 %9 to i32 + %and12 = and i32 %conv11, 16 + %tobool13 = icmp ne i32 %and12, 0 + br i1 %tobool13, label %DO_EBADF, label %if.end19 + +DO_EBADF: ; preds = %if.end9, %if.then + store i32 9, i32* @errno, align 4 + br label %ERROR + +ERROR: ; preds = %if.then24, %DO_EBADF + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags15 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 0 + %11 = load i16, i16* %__modeflags15, align 8 + %conv16 = zext i16 %11 to i32 + %or17 = or i32 %conv16, 8 + %conv18 = trunc i32 %or17 to i16 + store i16 %conv18, i16* %__modeflags15, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end19: ; preds = %if.end9 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags20 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags20, align 8 + %conv21 = zext i16 %13 to i32 + %and22 = and i32 %conv21, 64 + %tobool23 = icmp ne i32 %and22, 0 + br i1 %tobool23, label %if.then24, label %if.end32 + +if.then24: ; preds = %if.end19 + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %14) #18 + %tobool25 = icmp ne i64 %call, 0 + br i1 %tobool25, label %ERROR, label %if.end27 + +if.end27: ; preds = %if.then24 + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 3 + %16 = load i8*, i8** %__bufstart, align 8 + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 8 + store i8* %16, i8** %__bufputc_u, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags28 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 0 + %19 = load i16, i16* %__modeflags28, align 8 + %conv29 = zext i16 %19 to i32 + %and30 = and i32 %conv29, -65 + %conv31 = trunc i32 %and30 to i16 + store i16 %conv31, i16* %__modeflags28, align 8 + br label %if.end32 + +if.end32: ; preds = %if.end27, %if.end19 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags33 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 0 + %21 = load i16, i16* %__modeflags33, align 8 + %conv34 = zext i16 %21 to i32 + %or35 = or i32 %conv34, 1 + %conv36 = trunc i32 %or35 to i16 + store i16 %conv36, i16* %__modeflags33, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end32, %ERROR + %22 = load i32, i32* %retval, align 4 + ret i32 %22 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fclose(%struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %rv = alloca i32, align 4 + %ptr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 0, i32* %rv, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %0, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %1, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp = icmp eq %struct.__STDIO_FILE_STRUCT.568* %1, %2 + br i1 %cmp, label %if.then, label %while.cond + +if.then: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 9 + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %4, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + br label %if.end7 + +while.cond: ; preds = %entry, %if.end + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %5, null + br i1 %tobool, label %while.body, label %if.end7 + +while.body: ; preds = %while.cond + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 9 + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen1, align 8 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp2 = icmp eq %struct.__STDIO_FILE_STRUCT.568* %7, %8 + br i1 %cmp2, label %if.then3, label %if.end + +if.then3: ; preds = %while.body + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen4 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %9, i32 0, i32 9 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen4, align 8 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen5 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 9 + store %struct.__STDIO_FILE_STRUCT.568* %10, %struct.__STDIO_FILE_STRUCT.568** %__nextopen5, align 8 + br label %if.end7 + +if.end: ; preds = %while.body + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 9 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen6, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %13, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + br label %while.cond + +if.end7: ; preds = %while.cond, %if.then3, %if.then + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %14, i32 0, i32 0 + %15 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %15 to i32 + %and = and i32 %conv, 64 + %tobool8 = icmp ne i32 %and, 0 + br i1 %tobool8, label %if.then9, label %if.end10 + +if.then9: ; preds = %if.end7 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.568* %16) #18 + store i32 %call, i32* %rv, align 4 + br label %if.end10 + +if.end10: ; preds = %if.then9, %if.end7 + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 2 + %18 = load i32, i32* %__filedes, align 4 + %call11 = call i32 @close(i32 %18) #18 + %cmp12 = icmp slt i32 %call11, 0 + br i1 %cmp12, label %if.then14, label %if.end15 + +if.then14: ; preds = %if.end10 + store i32 -1, i32* %rv, align 4 + br label %if.end15 + +if.end15: ; preds = %if.then14, %if.end10 + %19 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes16 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %19, i32 0, i32 2 + store i32 -1, i32* %__filedes16, align 4 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 0 + %21 = load i16, i16* %__modeflags17, align 8 + %conv18 = zext i16 %21 to i32 + %and19 = and i32 %conv18, 24576 + %conv20 = trunc i32 %and19 to i16 + store i16 %conv20, i16* %__modeflags17, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags21 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 0 + %23 = load i16, i16* %__modeflags21, align 8 + %conv22 = zext i16 %23 to i32 + %or = or i32 %conv22, 48 + %conv23 = trunc i32 %or to i16 + store i16 %conv23, i16* %__modeflags21, align 8 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags24 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 0 + %25 = load i16, i16* %__modeflags24, align 8 + %conv25 = zext i16 %25 to i32 + %and26 = and i32 %conv25, 16384 + %tobool27 = icmp ne i32 %and26, 0 + br i1 %tobool27, label %if.then28, label %do.body30 + +if.then28: ; preds = %if.end15 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 3 + %27 = load i8*, i8** %__bufstart, align 8 + call void @free(i8* %27) #19 + br label %do.body30 + +do.body30: ; preds = %if.then28, %if.end15 + %28 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags31 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %28, i32 0, i32 0 + %29 = load i16, i16* %__modeflags31, align 8 + %conv32 = zext i16 %29 to i32 + %and33 = and i32 %conv32, 8192 + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %if.then35, label %do.end37 + +if.then35: ; preds = %do.body30 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %31 = bitcast %struct.__STDIO_FILE_STRUCT.568* %30 to i8* + call void @free(i8* %31) #19 + br label %do.end37 + +do.end37: ; preds = %do.body30, %if.then35 + %32 = load i32, i32* %rv, align 4 + ret i32 %32 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @ferror_unlocked(%struct.__STDIO_FILE_STRUCT.592* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.592*, align 8 + store %struct.__STDIO_FILE_STRUCT.592* %stream, %struct.__STDIO_FILE_STRUCT.592** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.592*, %struct.__STDIO_FILE_STRUCT.592** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.592, %struct.__STDIO_FILE_STRUCT.592* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 8 + ret i32 %and +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %retval1 = alloca i32, align 4 + %bufmask = alloca i16, align 2 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 0, i32* %retval1, align 4 + store i16 256, i16* %bufmask, align 2 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp = icmp eq %struct.__STDIO_FILE_STRUCT.568* %0, bitcast (%struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist to %struct.__STDIO_FILE_STRUCT.568*) + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store %struct.__STDIO_FILE_STRUCT.568* null, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i16 0, i16* %bufmask, align 2 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %1, null + br i1 %tobool, label %if.else21, label %if.then2 + +if.then2: ; preds = %if.end + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %2, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end20, %if.then2 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %tobool3 = icmp ne %struct.__STDIO_FILE_STRUCT.568* %3, null + br i1 %tobool3, label %while.body, label %if.end39 + +while.body: ; preds = %while.cond + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 0 + %5 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %5 to i32 + %and = and i32 %conv, 64 + %tobool4 = icmp ne i32 %and, 0 + br i1 %tobool4, label %if.then5, label %if.end20 + +if.then5: ; preds = %while.body + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 0 + %7 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %7 to i32 + %8 = load i16, i16* %bufmask, align 2 + %conv8 = zext i16 %8 to i32 + %or = or i32 %conv7, %conv8 + %xor = xor i32 %or, 320 + %and9 = and i32 %xor, 832 + %tobool10 = icmp ne i32 %and9, 0 + br i1 %tobool10, label %if.end20, label %if.then11 + +if.then11: ; preds = %if.then5 + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %9) #18 + %tobool12 = icmp ne i64 %call, 0 + br i1 %tobool12, label %if.else, label %if.then13 + +if.then13: ; preds = %if.then11 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 3 + %11 = load i8*, i8** %__bufstart, align 8 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 8 + store i8* %11, i8** %__bufputc_u, align 8 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags14 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 0 + %14 = load i16, i16* %__modeflags14, align 8 + %conv15 = zext i16 %14 to i32 + %and16 = and i32 %conv15, -65 + %conv17 = trunc i32 %and16 to i16 + store i16 %conv17, i16* %__modeflags14, align 8 + br label %if.end20 + +if.else: ; preds = %if.then11 + store i32 -1, i32* %retval1, align 4 + br label %if.end20 + +if.end20: ; preds = %if.then5, %if.else, %if.then13, %while.body + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 9 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %16, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br label %while.cond + +if.else21: ; preds = %if.end + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags22 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 0 + %18 = load i16, i16* %__modeflags22, align 8 + %conv23 = zext i16 %18 to i32 + %and24 = and i32 %conv23, 64 + %tobool25 = icmp ne i32 %and24, 0 + br i1 %tobool25, label %if.then26, label %if.end39 + +if.then26: ; preds = %if.else21 + %19 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call27 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %19) #18 + %tobool28 = icmp ne i64 %call27, 0 + br i1 %tobool28, label %if.else36, label %if.then29 + +if.then29: ; preds = %if.then26 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart30 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 3 + %21 = load i8*, i8** %__bufstart30, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u31 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 8 + store i8* %21, i8** %__bufputc_u31, align 8 + %23 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags32 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %23, i32 0, i32 0 + %24 = load i16, i16* %__modeflags32, align 8 + %conv33 = zext i16 %24 to i32 + %and34 = and i32 %conv33, -65 + %conv35 = trunc i32 %and34 to i16 + store i16 %conv35, i16* %__modeflags32, align 8 + br label %if.end39 + +if.else36: ; preds = %if.then26 + store i32 -1, i32* %retval1, align 4 + br label %if.end39 + +if.end39: ; preds = %if.else21, %if.else36, %if.then29, %while.cond + %25 = load i32, i32* %retval1, align 4 + ret i32 %25 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fileno_unlocked(%struct.__STDIO_FILE_STRUCT.608* %stream) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.608*, align 8 + store %struct.__STDIO_FILE_STRUCT.608* %stream, %struct.__STDIO_FILE_STRUCT.608** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.608*, %struct.__STDIO_FILE_STRUCT.608** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.608, %struct.__STDIO_FILE_STRUCT.608* %0, i32 0, i32 2 + %1 = load i32, i32* %__filedes, align 4 + %cmp = icmp sge i32 %1, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.608*, %struct.__STDIO_FILE_STRUCT.608** %stream.addr, align 8 + %__filedes1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.608, %struct.__STDIO_FILE_STRUCT.608* %2, i32 0, i32 2 + %3 = load i32, i32* %__filedes1, align 4 + store i32 %3, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + store i32 9, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fprintf(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i8* noalias %format, ...) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %format.addr = alloca i8*, align 8 + %arg = alloca [1 x %struct.__va_list_tag.0], align 16 + %rv = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdout, align 8 + %cmp = icmp eq %struct.__STDIO_FILE_STRUCT.568* %0, %1 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %cmp2 = icmp eq %struct.__STDIO_FILE_STRUCT.568* %2, %3 + br i1 %cmp2, label %if.then, label %if.else + +if.then: ; preds = %lor.lhs.false, %entry + %4 = load i8*, i8** %format.addr, align 8 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %call = call i32 @vprintf(i8* %4, %struct.__va_list_tag.0* %arraydecay3) #18 + store i32 %call, i32* %rv, align 4 + br label %if.end + +if.else: ; preds = %lor.lhs.false + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %6 = load i8*, i8** %format.addr, align 8 + %arraydecay4 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %call5 = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %5, i8* %6, %struct.__va_list_tag.0* %arraydecay4) #18 + store i32 %call5, i32* %rv, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %arraydecay6 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay67 = bitcast %struct.__va_list_tag.0* %arraydecay6 to i8* + call void @llvm.va_end(i8* %arraydecay67) + %7 = load i32, i32* %rv, align 4 + ret i32 %7 +} + +declare i32 @vprintf(i8*, %struct.__va_list_tag.0*) #17 + +; Function Attrs: noinline nounwind uwtable +define i32 @__fputc_unlocked(i32 %c, %struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %retval = alloca i32, align 4 + %c.addr = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %uc = alloca i8, align 1 + store i32 %c, i32* %c.addr, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 5 + %1 = load i8*, i8** %__bufpos, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 8 + %3 = load i8*, i8** %__bufputc_u, align 8 + %cmp = icmp ult i8* %1, %3 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %4 = load i32, i32* %c.addr, align 4 + %conv = trunc i32 %4 to i8 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 5 + %6 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + store i8 %conv, i8* %6, align 1 + %7 = load i32, i32* %c.addr, align 4 + %conv2 = trunc i32 %7 to i8 + %conv3 = zext i8 %conv2 to i32 + store i32 %conv3, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags, align 8 + %conv4 = zext i16 %9 to i32 + %and = and i32 %conv4, 192 + %cmp5 = icmp eq i32 %and, 192 + br i1 %cmp5, label %if.then7, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* %10, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %BAD, label %if.then7 + +if.then7: ; preds = %lor.lhs.false, %if.end + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 2 + %12 = load i32, i32* %__filedes, align 4 + %cmp8 = icmp eq i32 %12, -2 + br i1 %cmp8, label %if.then10, label %if.end13 + +if.then10: ; preds = %if.then7 + %13 = load i32, i32* %c.addr, align 4 + %conv11 = trunc i32 %13 to i8 + %conv12 = zext i8 %conv11 to i32 + store i32 %conv12, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.then7 + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %14, i32 0, i32 4 + %15 = load i8*, i8** %__bufend, align 8 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %16, i32 0, i32 3 + %17 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %15 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %17 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool14 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %tobool14, label %if.then15, label %if.else + +if.then15: ; preds = %if.end13 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend16 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 4 + %19 = load i8*, i8** %__bufend16, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 5 + %21 = load i8*, i8** %__bufpos17, align 8 + %sub.ptr.lhs.cast18 = ptrtoint i8* %19 to i64 + %sub.ptr.rhs.cast19 = ptrtoint i8* %21 to i64 + %sub.ptr.sub20 = sub i64 %sub.ptr.lhs.cast18, %sub.ptr.rhs.cast19 + %tobool21 = icmp ne i64 %sub.ptr.sub20, 0 + br i1 %tobool21, label %if.end25, label %land.lhs.true + +land.lhs.true: ; preds = %if.then15 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call22 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %22) #18 + %tobool23 = icmp ne i64 %call22, 0 + br i1 %tobool23, label %BAD, label %if.end25 + +if.end25: ; preds = %land.lhs.true, %if.then15 + %23 = load i32, i32* %c.addr, align 4 + %conv26 = trunc i32 %23 to i8 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos27 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 5 + %25 = load i8*, i8** %__bufpos27, align 8 + %incdec.ptr28 = getelementptr inbounds i8, i8* %25, i32 1 + store i8* %incdec.ptr28, i8** %__bufpos27, align 8 + store i8 %conv26, i8* %25, align 1 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags29 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 0 + %27 = load i16, i16* %__modeflags29, align 8 + %conv30 = zext i16 %27 to i32 + %and31 = and i32 %conv30, 256 + %tobool32 = icmp ne i32 %and31, 0 + br i1 %tobool32, label %if.then33, label %if.end51 + +if.then33: ; preds = %if.end25 + %28 = load i32, i32* %c.addr, align 4 + %conv34 = trunc i32 %28 to i8 + %conv35 = zext i8 %conv34 to i32 + %cmp36 = icmp eq i32 %conv35, 10 + br i1 %cmp36, label %land.lhs.true38, label %if.end51 + +land.lhs.true38: ; preds = %if.then33 + %29 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call39 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %29) #18 + %tobool40 = icmp ne i64 %call39, 0 + br i1 %tobool40, label %if.then41, label %if.end51 + +if.then41: ; preds = %land.lhs.true38 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos42 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %30, i32 0, i32 5 + %31 = load i8*, i8** %__bufpos42, align 8 + %incdec.ptr43 = getelementptr inbounds i8, i8* %31, i32 -1 + store i8* %incdec.ptr43, i8** %__bufpos42, align 8 + br label %BAD + +if.else: ; preds = %if.end13 + %32 = load i32, i32* %c.addr, align 4 + %conv46 = trunc i32 %32 to i8 + store i8 %conv46, i8* %uc, align 1 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call47 = call i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %33, i8* %uc, i64 1) #18 + %tobool48 = icmp ne i64 %call47, 0 + br i1 %tobool48, label %if.end51, label %BAD + +if.end51: ; preds = %if.else, %if.end25, %land.lhs.true38, %if.then33 + %34 = load i32, i32* %c.addr, align 4 + %conv52 = trunc i32 %34 to i8 + %conv53 = zext i8 %conv52 to i32 + store i32 %conv53, i32* %retval, align 4 + br label %return + +BAD: ; preds = %lor.lhs.false, %if.else, %land.lhs.true, %if.then41 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %BAD, %if.end51, %if.then10, %if.then + %35 = load i32, i32* %retval, align 4 + ret i32 %35 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fputs_unlocked(i8* noalias %s, %struct.__STDIO_FILE_STRUCT.621* noalias %stream) #0 { +entry: + %s.addr = alloca i8*, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.621*, align 8 + %n = alloca i64, align 8 + store i8* %s, i8** %s.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.621* %stream, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %call = call i64 @strlen(i8* %0) #20 + store i64 %call, i64* %n, align 8 + %1 = load i8*, i8** %s.addr, align 8 + %2 = load i64, i64* %n, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %call1 = call i64 @fwrite_unlocked(i8* %1, i64 1, i64 %2, %struct.__STDIO_FILE_STRUCT.621* %3) #18 + %4 = load i64, i64* %n, align 8 + %cmp = icmp eq i64 %call1, %4 + %5 = load i64, i64* %n, align 8 + %cond = select i1 %cmp, i64 %5, i64 -1 + %conv = trunc i64 %cond to i32 + ret i32 %conv +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fseek(%struct.__STDIO_FILE_STRUCT.636* %stream, i64 %offset, i32 %whence) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %1 = load i64, i64* %offset.addr, align 8 + %2 = load i32, i32* %whence.addr, align 4 + %call = call i32 @fseeko64(%struct.__STDIO_FILE_STRUCT.636* %0, i64 %1, i32 %2) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @vsnprintf(i8* noalias %buf, i64 %size, i8* noalias %format, %struct.__va_list_tag.0* %arg) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %format.addr = alloca i8*, align 8 + %arg.addr = alloca %struct.__va_list_tag.0*, align 8 + %f = alloca %struct.__STDIO_FILE_STRUCT.568, align 8 + %rv = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + store %struct.__va_list_tag.0* %arg, %struct.__va_list_tag.0** %arg.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 2 + store i32 -2, i32* %__filedes, align 4 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 0 + store i16 208, i16* %__modeflags, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 1 + %arrayidx = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 0 + store i8 0, i8* %arrayidx, align 2 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + store i32 0, i32* %__mask, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 9 + store %struct.__STDIO_FILE_STRUCT.568* null, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + %0 = load i64, i64* %size.addr, align 8 + %1 = load i8*, i8** %buf.addr, align 8 + %2 = ptrtoint i8* %1 to i64 + %sub = sub i64 -1, %2 + %cmp = icmp ugt i64 %0, %sub + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %3 = load i8*, i8** %buf.addr, align 8 + %4 = ptrtoint i8* %3 to i64 + %sub1 = sub i64 -1, %4 + store i64 %sub1, i64* %size.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %5 = load i8*, i8** %buf.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 3 + store i8* %5, i8** %__bufstart, align 8 + %6 = load i8*, i8** %buf.addr, align 8 + %7 = load i64, i64* %size.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %6, i64 %7 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 4 + store i8* %add.ptr, i8** %__bufend, align 8 + %__bufstart2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 3 + %8 = load i8*, i8** %__bufstart2, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + store i8* %8, i8** %__bufpos, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 6 + store i8* %8, i8** %__bufread, align 8 + %__bufstart3 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 3 + %9 = load i8*, i8** %__bufstart3, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 7 + store i8* %9, i8** %__bufgetc_u, align 8 + %__bufend4 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 4 + %10 = load i8*, i8** %__bufend4, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 8 + store i8* %10, i8** %__bufputc_u, align 8 + %11 = load i8*, i8** %format.addr, align 8 + %12 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %arg.addr, align 8 + %call = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %f, i8* %11, %struct.__va_list_tag.0* %12) #18 + store i32 %call, i32* %rv, align 4 + %13 = load i64, i64* %size.addr, align 8 + %tobool = icmp ne i64 %13, 0 + br i1 %tobool, label %if.then5, label %if.end13 + +if.then5: ; preds = %if.end + %__bufpos6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + %14 = load i8*, i8** %__bufpos6, align 8 + %__bufend7 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 4 + %15 = load i8*, i8** %__bufend7, align 8 + %cmp8 = icmp eq i8* %14, %15 + br i1 %cmp8, label %if.then9, label %if.end11 + +if.then9: ; preds = %if.then5 + %__bufpos10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + %16 = load i8*, i8** %__bufpos10, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %16, i32 -1 + store i8* %incdec.ptr, i8** %__bufpos10, align 8 + br label %if.end11 + +if.end11: ; preds = %if.then9, %if.then5 + %__bufpos12 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + %17 = load i8*, i8** %__bufpos12, align 8 + store i8 0, i8* %17, align 1 + br label %if.end13 + +if.end13: ; preds = %if.end11, %if.end + %18 = load i32, i32* %rv, align 4 + ret i32 %18 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @atexit(void ()* nonnull %func) #0 { +entry: + %func.addr = alloca void ()*, align 8 + store void ()* %func, void ()** %func.addr, align 8 + %0 = load void ()*, void ()** %func.addr, align 8 + %1 = bitcast void ()* %0 to void (i8*)* + br i1 icmp eq (i8** @__dso_handle, i8** null), label %cond.end, label %cond.false + +cond.false: ; preds = %entry + %2 = load i8*, i8** @__dso_handle, align 8 + br label %cond.end + +cond.end: ; preds = %entry, %cond.false + %cond = phi i8* [ %2, %cond.false ], [ null, %entry ] + %call = call i32 @__cxa_atexit(void (i8*)* %1, i8* null, i8* %cond) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i8* @realpath(i8* %path, i8* nonnull %got_path) #0 { +entry: + %retval = alloca i8*, align 8 + %path.addr = alloca i8*, align 8 + %got_path.addr = alloca i8*, align 8 + %copy_path = alloca [4096 x i8], align 16 + %max_path = alloca i8*, align 8 + %new_path = alloca i8*, align 8 + %path_len = alloca i64, align 8 + %readlinks = alloca i32, align 4 + %link_len = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store i8* %got_path, i8** %got_path.addr, align 8 + store i32 0, i32* %readlinks, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %cmp = icmp eq i8* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 22, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %path.addr, align 8 + %2 = load i8, i8* %1, align 1 + %conv = sext i8 %2 to i32 + %cmp1 = icmp eq i32 %conv, 0 + br i1 %cmp1, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.end + store i32 2, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %if.end + %3 = load i8*, i8** %path.addr, align 8 + %call = call i64 @strlen(i8* %3) #20 + store i64 %call, i64* %path_len, align 8 + %4 = load i64, i64* %path_len, align 8 + %cmp5 = icmp uge i64 %4, 4094 + br i1 %cmp5, label %if.then7, label %if.end8 + +if.then7: ; preds = %if.end4 + store i32 36, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end8: ; preds = %if.end4 + %arraydecay = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 4095 + %5 = load i64, i64* %path_len, align 8 + %idx.neg = sub i64 0, %5 + %add.ptr9 = getelementptr inbounds i8, i8* %add.ptr, i64 %idx.neg + %6 = load i8*, i8** %path.addr, align 8 + %call10 = call i8* @strcpy(i8* %add.ptr9, i8* %6) #19 + %arraydecay11 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr12 = getelementptr inbounds i8, i8* %arraydecay11, i64 4095 + %7 = load i64, i64* %path_len, align 8 + %idx.neg13 = sub i64 0, %7 + %add.ptr14 = getelementptr inbounds i8, i8* %add.ptr12, i64 %idx.neg13 + store i8* %add.ptr14, i8** %path.addr, align 8 + %8 = load i8*, i8** %got_path.addr, align 8 + %add.ptr15 = getelementptr inbounds i8, i8* %8, i64 4096 + %add.ptr16 = getelementptr inbounds i8, i8* %add.ptr15, i64 -2 + store i8* %add.ptr16, i8** %max_path, align 8 + %9 = load i8*, i8** %got_path.addr, align 8 + store i8* %9, i8** %new_path, align 8 + %10 = load i8*, i8** %path.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv17 = sext i8 %11 to i32 + %cmp18 = icmp ne i32 %conv17, 47 + %12 = load i8*, i8** %new_path, align 8 + br i1 %cmp18, label %if.then20, label %if.else + +if.then20: ; preds = %if.end8 + %call21 = call i8* @getcwd(i8* %12, i64 4095) #19 + %tobool = icmp ne i8* %call21, null + br i1 %tobool, label %if.end23, label %if.then22 + +if.then22: ; preds = %if.then20 + store i8* null, i8** %retval, align 8 + br label %return + +if.end23: ; preds = %if.then20 + %13 = load i8*, i8** %new_path, align 8 + %call24 = call i64 @strlen(i8* %13) #20 + %14 = load i8*, i8** %new_path, align 8 + %add.ptr25 = getelementptr inbounds i8, i8* %14, i64 %call24 + store i8* %add.ptr25, i8** %new_path, align 8 + %15 = load i8*, i8** %new_path, align 8 + %arrayidx = getelementptr inbounds i8, i8* %15, i64 -1 + %16 = load i8, i8* %arrayidx, align 1 + %conv26 = sext i8 %16 to i32 + %cmp27 = icmp ne i32 %conv26, 47 + br i1 %cmp27, label %if.then29, label %if.end33 + +if.then29: ; preds = %if.end23 + %17 = load i8*, i8** %new_path, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %17, i32 1 + store i8* %incdec.ptr, i8** %new_path, align 8 + store i8 47, i8* %17, align 1 + br label %if.end33 + +if.else: ; preds = %if.end8 + %incdec.ptr31 = getelementptr inbounds i8, i8* %12, i32 1 + store i8* %incdec.ptr31, i8** %new_path, align 8 + store i8 47, i8* %12, align 1 + %18 = load i8*, i8** %path.addr, align 8 + %incdec.ptr32 = getelementptr inbounds i8, i8* %18, i32 1 + store i8* %incdec.ptr32, i8** %path.addr, align 8 + br label %if.end33 + +if.end33: ; preds = %if.end23, %if.then29, %if.else + br label %while.cond + +while.cond: ; preds = %while.cond79, %if.then72, %if.end155, %if.then55, %if.then40, %if.end33 + %19 = load i8*, i8** %path.addr, align 8 + %20 = load i8, i8* %19, align 1 + %conv34 = sext i8 %20 to i32 + %cmp35 = icmp ne i32 %conv34, 0 + br i1 %cmp35, label %while.body, label %while.end157 + +while.body: ; preds = %while.cond + %21 = load i8*, i8** %path.addr, align 8 + %22 = load i8, i8* %21, align 1 + %conv37 = sext i8 %22 to i32 + %cmp38 = icmp eq i32 %conv37, 47 + %23 = load i8*, i8** %path.addr, align 8 + br i1 %cmp38, label %if.then40, label %if.end42 + +if.then40: ; preds = %while.body + %incdec.ptr41 = getelementptr inbounds i8, i8* %23, i32 1 + store i8* %incdec.ptr41, i8** %path.addr, align 8 + br label %while.cond + +if.end42: ; preds = %while.body + %24 = load i8, i8* %23, align 1 + %conv43 = sext i8 %24 to i32 + %cmp44 = icmp eq i32 %conv43, 46 + br i1 %cmp44, label %if.then46, label %if.end88 + +if.then46: ; preds = %if.end42 + %25 = load i8*, i8** %path.addr, align 8 + %arrayidx47 = getelementptr inbounds i8, i8* %25, i64 1 + %26 = load i8, i8* %arrayidx47, align 1 + %conv48 = sext i8 %26 to i32 + %cmp49 = icmp eq i32 %conv48, 0 + br i1 %cmp49, label %if.then55, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then46 + %27 = load i8*, i8** %path.addr, align 8 + %arrayidx51 = getelementptr inbounds i8, i8* %27, i64 1 + %28 = load i8, i8* %arrayidx51, align 1 + %conv52 = sext i8 %28 to i32 + %cmp53 = icmp eq i32 %conv52, 47 + br i1 %cmp53, label %if.then55, label %if.end57 + +if.then55: ; preds = %lor.lhs.false, %if.then46 + %29 = load i8*, i8** %path.addr, align 8 + %incdec.ptr56 = getelementptr inbounds i8, i8* %29, i32 1 + store i8* %incdec.ptr56, i8** %path.addr, align 8 + br label %while.cond + +if.end57: ; preds = %lor.lhs.false + %30 = load i8*, i8** %path.addr, align 8 + %arrayidx58 = getelementptr inbounds i8, i8* %30, i64 1 + %31 = load i8, i8* %arrayidx58, align 1 + %conv59 = sext i8 %31 to i32 + %cmp60 = icmp eq i32 %conv59, 46 + br i1 %cmp60, label %if.then62, label %if.end88 + +if.then62: ; preds = %if.end57 + %32 = load i8*, i8** %path.addr, align 8 + %arrayidx63 = getelementptr inbounds i8, i8* %32, i64 2 + %33 = load i8, i8* %arrayidx63, align 1 + %conv64 = sext i8 %33 to i32 + %cmp65 = icmp eq i32 %conv64, 0 + br i1 %cmp65, label %if.then72, label %lor.lhs.false67 + +lor.lhs.false67: ; preds = %if.then62 + %34 = load i8*, i8** %path.addr, align 8 + %arrayidx68 = getelementptr inbounds i8, i8* %34, i64 2 + %35 = load i8, i8* %arrayidx68, align 1 + %conv69 = sext i8 %35 to i32 + %cmp70 = icmp eq i32 %conv69, 47 + br i1 %cmp70, label %if.then72, label %if.end88 + +if.then72: ; preds = %lor.lhs.false67, %if.then62 + %36 = load i8*, i8** %path.addr, align 8 + %add.ptr73 = getelementptr inbounds i8, i8* %36, i64 2 + store i8* %add.ptr73, i8** %path.addr, align 8 + %37 = load i8*, i8** %new_path, align 8 + %38 = load i8*, i8** %got_path.addr, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %38, i64 1 + %cmp75 = icmp eq i8* %37, %add.ptr74 + br i1 %cmp75, label %while.cond, label %while.cond79 + +while.cond79: ; preds = %while.cond79, %if.then72 + %39 = load i8*, i8** %new_path, align 8 + %incdec.ptr80 = getelementptr inbounds i8, i8* %39, i32 -1 + store i8* %incdec.ptr80, i8** %new_path, align 8 + %arrayidx81 = getelementptr inbounds i8, i8* %incdec.ptr80, i64 -1 + %40 = load i8, i8* %arrayidx81, align 1 + %conv82 = sext i8 %40 to i32 + %cmp83 = icmp ne i32 %conv82, 47 + br i1 %cmp83, label %while.cond79, label %while.cond + +if.end88: ; preds = %if.end57, %lor.lhs.false67, %if.end42 + br label %while.cond89 + +while.cond89: ; preds = %if.end100, %if.end88 + %41 = load i8*, i8** %path.addr, align 8 + %42 = load i8, i8* %41, align 1 + %conv90 = sext i8 %42 to i32 + %cmp91 = icmp ne i32 %conv90, 0 + br i1 %cmp91, label %land.rhs, label %while.end103 + +land.rhs: ; preds = %while.cond89 + %43 = load i8*, i8** %path.addr, align 8 + %44 = load i8, i8* %43, align 1 + %conv93 = sext i8 %44 to i32 + %cmp94 = icmp ne i32 %conv93, 47 + br i1 %cmp94, label %while.body96, label %while.end103 + +while.body96: ; preds = %land.rhs + %45 = load i8*, i8** %new_path, align 8 + %46 = load i8*, i8** %max_path, align 8 + %cmp97 = icmp ugt i8* %45, %46 + br i1 %cmp97, label %if.then99, label %if.end100 + +if.then99: ; preds = %while.body96 + store i32 36, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end100: ; preds = %while.body96 + %47 = load i8*, i8** %path.addr, align 8 + %incdec.ptr101 = getelementptr inbounds i8, i8* %47, i32 1 + store i8* %incdec.ptr101, i8** %path.addr, align 8 + %48 = load i8, i8* %47, align 1 + %49 = load i8*, i8** %new_path, align 8 + %incdec.ptr102 = getelementptr inbounds i8, i8* %49, i32 1 + store i8* %incdec.ptr102, i8** %new_path, align 8 + store i8 %48, i8* %49, align 1 + br label %while.cond89 + +while.end103: ; preds = %while.cond89, %land.rhs + %50 = load i32, i32* %readlinks, align 4 + %inc = add nsw i32 %50, 1 + store i32 %inc, i32* %readlinks, align 4 + %cmp104 = icmp sgt i32 %50, 32 + br i1 %cmp104, label %if.then106, label %if.end107 + +if.then106: ; preds = %while.end103 + store i32 40, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end107: ; preds = %while.end103 + %51 = load i8*, i8** %path.addr, align 8 + %call108 = call i64 @strlen(i8* %51) #20 + store i64 %call108, i64* %path_len, align 8 + %52 = load i8*, i8** %new_path, align 8 + store i8 0, i8* %52, align 1 + %53 = load i8*, i8** %got_path.addr, align 8 + %arraydecay109 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %call110 = call i64 @readlink(i8* %53, i8* %arraydecay109, i64 4095) #19 + %conv111 = trunc i64 %call110 to i32 + store i32 %conv111, i32* %link_len, align 4 + %54 = load i32, i32* %link_len, align 4 + %cmp112 = icmp slt i32 %54, 0 + br i1 %cmp112, label %if.then114, label %if.else119 + +if.then114: ; preds = %if.end107 + %55 = load i32, i32* @errno, align 4 + %cmp115 = icmp ne i32 %55, 22 + br i1 %cmp115, label %if.then117, label %if.end155 + +if.then117: ; preds = %if.then114 + store i8* null, i8** %retval, align 8 + br label %return + +if.else119: ; preds = %if.end107 + %56 = load i64, i64* %path_len, align 8 + %57 = load i32, i32* %link_len, align 4 + %conv120 = sext i32 %57 to i64 + %add = add i64 %56, %conv120 + %cmp121 = icmp uge i64 %add, 4094 + br i1 %cmp121, label %if.then123, label %if.end124 + +if.then123: ; preds = %if.else119 + store i32 36, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end124: ; preds = %if.else119 + %arraydecay125 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %58 = load i8, i8* %arraydecay125, align 16 + %conv126 = sext i8 %58 to i32 + %cmp127 = icmp eq i32 %conv126, 47 + br i1 %cmp127, label %if.then129, label %while.cond131 + +if.then129: ; preds = %if.end124 + %59 = load i8*, i8** %got_path.addr, align 8 + store i8* %59, i8** %new_path, align 8 + br label %if.end138 + +while.cond131: ; preds = %while.cond131, %if.end124 + %60 = load i8*, i8** %new_path, align 8 + %incdec.ptr132 = getelementptr inbounds i8, i8* %60, i32 -1 + store i8* %incdec.ptr132, i8** %new_path, align 8 + %61 = load i8, i8* %incdec.ptr132, align 1 + %conv133 = sext i8 %61 to i32 + %cmp134 = icmp ne i32 %conv133, 47 + br i1 %cmp134, label %while.cond131, label %if.end138 + +if.end138: ; preds = %while.cond131, %if.then129 + %arraydecay139 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr140 = getelementptr inbounds i8, i8* %arraydecay139, i64 4095 + %62 = load i32, i32* %link_len, align 4 + %idx.ext = sext i32 %62 to i64 + %idx.neg141 = sub i64 0, %idx.ext + %add.ptr142 = getelementptr inbounds i8, i8* %add.ptr140, i64 %idx.neg141 + %63 = load i64, i64* %path_len, align 8 + %idx.neg143 = sub i64 0, %63 + %add.ptr144 = getelementptr inbounds i8, i8* %add.ptr142, i64 %idx.neg143 + %arraydecay145 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %64 = load i32, i32* %link_len, align 4 + %conv146 = sext i32 %64 to i64 + %call147 = call i8* @memmove(i8* %add.ptr144, i8* %arraydecay145, i64 %conv146) #19 + %arraydecay148 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr149 = getelementptr inbounds i8, i8* %arraydecay148, i64 4095 + %65 = load i32, i32* %link_len, align 4 + %idx.ext150 = sext i32 %65 to i64 + %idx.neg151 = sub i64 0, %idx.ext150 + %add.ptr152 = getelementptr inbounds i8, i8* %add.ptr149, i64 %idx.neg151 + %66 = load i64, i64* %path_len, align 8 + %idx.neg153 = sub i64 0, %66 + %add.ptr154 = getelementptr inbounds i8, i8* %add.ptr152, i64 %idx.neg153 + store i8* %add.ptr154, i8** %path.addr, align 8 + br label %if.end155 + +if.end155: ; preds = %if.then114, %if.end138 + %67 = load i8*, i8** %new_path, align 8 + %incdec.ptr156 = getelementptr inbounds i8, i8* %67, i32 1 + store i8* %incdec.ptr156, i8** %new_path, align 8 + store i8 47, i8* %67, align 1 + br label %while.cond + +while.end157: ; preds = %while.cond + %68 = load i8*, i8** %new_path, align 8 + %69 = load i8*, i8** %got_path.addr, align 8 + %add.ptr158 = getelementptr inbounds i8, i8* %69, i64 1 + %cmp159 = icmp ne i8* %68, %add.ptr158 + br i1 %cmp159, label %land.lhs.true, label %if.end167 + +land.lhs.true: ; preds = %while.end157 + %70 = load i8*, i8** %new_path, align 8 + %arrayidx161 = getelementptr inbounds i8, i8* %70, i64 -1 + %71 = load i8, i8* %arrayidx161, align 1 + %conv162 = sext i8 %71 to i32 + %cmp163 = icmp eq i32 %conv162, 47 + br i1 %cmp163, label %if.then165, label %if.end167 + +if.then165: ; preds = %land.lhs.true + %72 = load i8*, i8** %new_path, align 8 + %incdec.ptr166 = getelementptr inbounds i8, i8* %72, i32 -1 + store i8* %incdec.ptr166, i8** %new_path, align 8 + br label %if.end167 + +if.end167: ; preds = %if.then165, %land.lhs.true, %while.end157 + %73 = load i8*, i8** %new_path, align 8 + store i8 0, i8* %73, align 1 + %74 = load i8*, i8** %got_path.addr, align 8 + store i8* %74, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end167, %if.then123, %if.then117, %if.then106, %if.then99, %if.then22, %if.then7, %if.then3, %if.then + %75 = load i8*, i8** %retval, align 8 + ret i8* %75 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @memcmp(i8* nonnull %s1, i8* nonnull %s2, i64 %n) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r1 = alloca i8*, align 8 + %r2 = alloca i8*, align 8 + %r = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %r1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %r2, align 8 + store i32 0, i32* %r, align 4 + br label %while.cond + +while.cond: ; preds = %land.rhs, %entry + %2 = load i64, i64* %n.addr, align 8 + %dec = add i64 %2, -1 + store i64 %dec, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %3 = load i8*, i8** %r1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %r1, align 8 + %4 = load i8, i8* %3, align 1 + %conv = zext i8 %4 to i32 + %5 = load i8*, i8** %r2, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr1, i8** %r2, align 8 + %6 = load i8, i8* %5, align 1 + %conv2 = zext i8 %6 to i32 + %sub = sub nsw i32 %conv, %conv2 + store i32 %sub, i32* %r, align 4 + %cmp = icmp eq i32 %sub, 0 + br i1 %cmp, label %while.cond, label %while.end + +while.end: ; preds = %while.cond, %land.rhs + %7 = load i32, i32* %r, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @tcgetattr(i32 %fd, %struct.termios* %termios_p) #0 { +entry: + %fd.addr = alloca i32, align 4 + %termios_p.addr = alloca %struct.termios*, align 8 + %k_termios = alloca %struct.__kernel_termios, align 4 + %retval1 = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.termios* %termios_p, %struct.termios** %termios_p.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 (i32, i64, ...) @ioctl(i32 %0, i64 21505, %struct.__kernel_termios* %k_termios) #19 + store i32 %call, i32* %retval1, align 4 + %c_iflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 0 + %1 = load i32, i32* %c_iflag, align 4 + %2 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_iflag2 = getelementptr inbounds %struct.termios, %struct.termios* %2, i32 0, i32 0 + store i32 %1, i32* %c_iflag2, align 4 + %c_oflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 1 + %3 = load i32, i32* %c_oflag, align 4 + %4 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_oflag3 = getelementptr inbounds %struct.termios, %struct.termios* %4, i32 0, i32 1 + store i32 %3, i32* %c_oflag3, align 4 + %c_cflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 2 + %5 = load i32, i32* %c_cflag, align 4 + %6 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_cflag4 = getelementptr inbounds %struct.termios, %struct.termios* %6, i32 0, i32 2 + store i32 %5, i32* %c_cflag4, align 4 + %c_lflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 3 + %7 = load i32, i32* %c_lflag, align 4 + %8 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_lflag5 = getelementptr inbounds %struct.termios, %struct.termios* %8, i32 0, i32 3 + store i32 %7, i32* %c_lflag5, align 4 + %c_line = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 4 + %9 = load i8, i8* %c_line, align 4 + %10 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_line6 = getelementptr inbounds %struct.termios, %struct.termios* %10, i32 0, i32 4 + store i8 %9, i8* %c_line6, align 4 + %11 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_cc = getelementptr inbounds %struct.termios, %struct.termios* %11, i32 0, i32 5 + %arrayidx = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc, i64 0, i64 0 + %c_cc7 = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 5 + %arrayidx8 = getelementptr inbounds [19 x i8], [19 x i8]* %c_cc7, i64 0, i64 0 + %call9 = call i8* @mempcpy(i8* %arrayidx, i8* %arrayidx8, i64 19) #19 + %call10 = call i8* @memset(i8* %call9, i32 0, i64 13) #19 + %12 = load i32, i32* %retval1, align 4 + ret i32 %12 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.__uclibc_locale_struct.201* @newlocale(i32 %category_mask, i8* %locale, %struct.__uclibc_locale_struct.201* %base) #0 { +entry: + %retval = alloca %struct.__uclibc_locale_struct.201*, align 8 + %category_mask.addr = alloca i32, align 4 + %locale.addr = alloca i8*, align 8 + %base.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %p = alloca i8*, align 8 + %i = alloca i32, align 4 + %j = alloca i32, align 4 + %k = alloca i32, align 4 + %new_selector = alloca [14 x i8], align 1 + store i32 %category_mask, i32* %category_mask.addr, align 4 + store i8* %locale, i8** %locale.addr, align 8 + store %struct.__uclibc_locale_struct.201* %base, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %0 = load i32, i32* %category_mask.addr, align 4 + %cmp = icmp eq i32 %0, 64 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 8127, i32* %category_mask.addr, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i8*, i8** %locale.addr, align 8 + %tobool = icmp eq i8* %1, null + %2 = load i32, i32* %category_mask.addr, align 4 + %cmp1 = icmp ugt i32 %2, 8127 + %or.cond = or i1 %tobool, %cmp1 + br i1 %or.cond, label %INVALID, label %if.end3 + +INVALID: ; preds = %if.else, %do.end, %if.end + store i32 22, i32* @errno, align 4 + store %struct.__uclibc_locale_struct.201* null, %struct.__uclibc_locale_struct.201** %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %3 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tobool4 = icmp ne %struct.__uclibc_locale_struct.201* %3, null + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %4, i32 0, i32 6 + %arraydecay5 = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + %cond = select i1 %tobool4, i8* %arraydecay5, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.287, i64 0, i64 0) + %call = call i8* @strcpy(i8* %arraydecay, i8* %cond) #19 + %5 = load i8*, i8** %locale.addr, align 8 + %6 = load i8, i8* %5, align 1 + %tobool6 = icmp ne i8 %6, 0 + br i1 %tobool6, label %if.else, label %if.then7 + +if.then7: ; preds = %if.end3 + store i32 1, i32* %i, align 4 + store i32 0, i32* %k, align 4 + br label %do.body + +do.body: ; preds = %if.end25, %if.then7 + %7 = load i32, i32* %category_mask.addr, align 4 + %8 = load i32, i32* %i, align 4 + %and = and i32 %7, %8 + %tobool8 = icmp ne i32 %and, 0 + br i1 %tobool8, label %if.then9, label %if.end25 + +if.then9: ; preds = %do.body + %9 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %9, i32 0, i32 34 + %arraydecay10 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names, i64 0, i64 0 + %10 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names11 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %10, i32 0, i32 34 + %11 = load i32, i32* %k, align 4 + %idxprom = sext i32 %11 to i64 + %arrayidx = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names11, i64 0, i64 %idxprom + %12 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %12 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay10, i64 %idx.ext + store i8* %add.ptr, i8** getelementptr inbounds ([4 x i8*], [4 x i8*]* @newlocale.envstr, i64 0, i64 1), align 8 + store i32 0, i32* %j, align 4 + br label %do.body12 + +do.body12: ; preds = %land.rhs, %lor.rhs, %if.then9 + %13 = load i32, i32* %j, align 4 + %idxprom13 = sext i32 %13 to i64 + %arrayidx14 = getelementptr inbounds [4 x i8*], [4 x i8*]* @newlocale.envstr, i64 0, i64 %idxprom13 + %14 = load i8*, i8** %arrayidx14, align 8 + store i8* %14, i8** %p, align 8 + %15 = load i32, i32* %j, align 4 + %inc = add nsw i32 %15, 1 + store i32 %inc, i32* %j, align 4 + %cmp15 = icmp slt i32 %inc, 4 + br i1 %cmp15, label %land.rhs, label %do.end + +land.rhs: ; preds = %do.body12 + %16 = load i8*, i8** %p, align 8 + %call17 = call i8* @getenv(i8* %16) #19 + store i8* %call17, i8** %p, align 8 + %tobool18 = icmp ne i8* %call17, null + br i1 %tobool18, label %lor.rhs, label %do.body12 + +lor.rhs: ; preds = %land.rhs + %17 = load i8*, i8** %p, align 8 + %18 = load i8, i8* %17, align 1 + %tobool19 = icmp ne i8 %18, 0 + %lnot = xor i1 %tobool19, true + br i1 %lnot, label %do.body12, label %do.end + +do.end: ; preds = %do.body12, %lor.rhs + %19 = load i32, i32* %i, align 4 + %20 = load i8*, i8** %p, align 8 + %arraydecay20 = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %call21 = call i32 @find_locale(i32 %19, i8* %20, i8* %arraydecay20) #18 + %tobool22 = icmp ne i32 %call21, 0 + br i1 %tobool22, label %if.end25, label %INVALID + +if.end25: ; preds = %do.end, %do.body + %21 = load i32, i32* %i, align 4 + %22 = load i32, i32* %i, align 4 + %add = add nsw i32 %22, %21 + store i32 %add, i32* %i, align 4 + %23 = load i32, i32* %k, align 4 + %inc27 = add nsw i32 %23, 1 + store i32 %inc27, i32* %k, align 4 + %cmp28 = icmp slt i32 %inc27, 6 + br i1 %cmp28, label %do.body, label %if.end36 + +if.else: ; preds = %if.end3 + %24 = load i32, i32* %category_mask.addr, align 4 + %25 = load i8*, i8** %locale.addr, align 8 + %arraydecay31 = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %call32 = call i8* @composite_locale(i32 %24, i8* %25, i8* %arraydecay31) #18 + %tobool33 = icmp ne i8* %call32, null + br i1 %tobool33, label %if.end36, label %INVALID + +if.end36: ; preds = %if.else, %if.end25 + %26 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tobool37 = icmp ne %struct.__uclibc_locale_struct.201* %26, null + br i1 %tobool37, label %if.end44, label %if.then38 + +if.then38: ; preds = %if.end36 + %call39 = call noalias i8* @calloc(i64 1, i64 3320) #19 + %27 = bitcast i8* %call39 to %struct.__uclibc_locale_struct.201* + store %struct.__uclibc_locale_struct.201* %27, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cmp40 = icmp eq %struct.__uclibc_locale_struct.201* %27, null + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + br i1 %cmp40, label %if.then42, label %if.end43 + +if.then42: ; preds = %if.then38 + store %struct.__uclibc_locale_struct.201* %28, %struct.__uclibc_locale_struct.201** %retval, align 8 + br label %return + +if.end43: ; preds = %if.then38 + call void @_locale_init_l(%struct.__uclibc_locale_struct.201* %28) #18 + br label %if.end44 + +if.end44: ; preds = %if.end43, %if.end36 + %arraydecay45 = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %29 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call46 = call i32 @_locale_set_l(i8* %arraydecay45, %struct.__uclibc_locale_struct.201* %29) #18 + %30 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + store %struct.__uclibc_locale_struct.201* %30, %struct.__uclibc_locale_struct.201** %retval, align 8 + br label %return + +return: ; preds = %if.end44, %if.then42, %INVALID + %31 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %retval, align 8 + ret %struct.__uclibc_locale_struct.201* %31 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @find_locale(i32 %category_mask, i8* %p, i8* %new_locale) #0 { +entry: + %retval = alloca i32, align 4 + %category_mask.addr = alloca i32, align 4 + %p.addr = alloca i8*, align 8 + %new_locale.addr = alloca i8*, align 8 + %i = alloca i32, align 4 + %s = alloca i8*, align 8 + %n = alloca i16, align 2 + %lang_cult = alloca i8, align 1 + %codeset = alloca i8, align 1 + %buf = alloca [18 x i8], align 16 + %q = alloca i8*, align 8 + store i32 %category_mask, i32* %category_mask.addr, align 4 + store i8* %p, i8** %p.addr, align 8 + store i8* %new_locale, i8** %new_locale.addr, align 8 + %0 = load i8*, i8** %p.addr, align 8 + %call = call i8* @strchr(i8* %0, i32 64) #20 + store i8* %call, i8** %q, align 8 + %cmp = icmp ne i8* %call, null + br i1 %cmp, label %if.then, label %if.end27 + +if.then: ; preds = %entry + %1 = load i8*, i8** %q, align 8 + %2 = load i8*, i8** %p.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %1 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %2 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %sub = sub nsw i64 %sub.ptr.sub, 5 + %cmp1 = icmp ugt i64 %sub, 13 + br i1 %cmp1, label %if.then4, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then + %3 = load i8*, i8** %p.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %3, i64 2 + %4 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %4 to i32 + %cmp2 = icmp ne i32 %conv, 95 + br i1 %cmp2, label %if.then4, label %if.end + +if.then4: ; preds = %lor.lhs.false, %if.then + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %lor.lhs.false + %5 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_at_modifiers = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %5, i32 0, i32 33 + %arraydecay = getelementptr inbounds [18 x i8], [18 x i8]* %locale_at_modifiers, i64 0, i64 0 + store i8* %arraydecay, i8** %s, align 8 + br label %do.body + +do.body: ; preds = %if.end8, %if.end + %6 = load i8*, i8** %s, align 8 + %add.ptr = getelementptr inbounds i8, i8* %6, i64 2 + %7 = load i8*, i8** %q, align 8 + %add.ptr5 = getelementptr inbounds i8, i8* %7, i64 1 + %call6 = call i32 @strcmp(i8* %add.ptr, i8* %add.ptr5) #20 + %tobool = icmp ne i32 %call6, 0 + br i1 %tobool, label %if.end8, label %do.end + +if.end8: ; preds = %do.body + %8 = load i8*, i8** %s, align 8 + %9 = load i8, i8* %8, align 1 + %conv9 = zext i8 %9 to i32 + %add = add nsw i32 2, %conv9 + %10 = load i8*, i8** %s, align 8 + %idx.ext = sext i32 %add to i64 + %add.ptr10 = getelementptr inbounds i8, i8* %10, i64 %idx.ext + store i8* %add.ptr10, i8** %s, align 8 + %11 = load i8*, i8** %s, align 8 + %12 = load i8, i8* %11, align 1 + %tobool11 = icmp ne i8 %12, 0 + br i1 %tobool11, label %do.body, label %do.end + +do.end: ; preds = %do.body, %if.end8 + %13 = load i8*, i8** %s, align 8 + %14 = load i8, i8* %13, align 1 + %tobool12 = icmp ne i8 %14, 0 + br i1 %tobool12, label %if.end14, label %if.then13 + +if.then13: ; preds = %do.end + store i32 0, i32* %retval, align 4 + br label %return + +if.end14: ; preds = %do.end + %arraydecay15 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 0 + %15 = load i8*, i8** %p.addr, align 8 + %16 = load i8*, i8** %q, align 8 + %17 = load i8*, i8** %p.addr, align 8 + %sub.ptr.lhs.cast16 = ptrtoint i8* %16 to i64 + %sub.ptr.rhs.cast17 = ptrtoint i8* %17 to i64 + %sub.ptr.sub18 = sub i64 %sub.ptr.lhs.cast16, %sub.ptr.rhs.cast17 + %call19 = call i8* @memcpy(i8* %arraydecay15, i8* %15, i64 %sub.ptr.sub18) #19 + %18 = load i8*, i8** %q, align 8 + %19 = load i8*, i8** %p.addr, align 8 + %sub.ptr.lhs.cast20 = ptrtoint i8* %18 to i64 + %sub.ptr.rhs.cast21 = ptrtoint i8* %19 to i64 + %sub.ptr.sub22 = sub i64 %sub.ptr.lhs.cast20, %sub.ptr.rhs.cast21 + %arrayidx23 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 %sub.ptr.sub22 + store i8 0, i8* %arrayidx23, align 1 + %20 = load i8*, i8** %s, align 8 + %arrayidx24 = getelementptr inbounds i8, i8* %20, i64 1 + %21 = load i8, i8* %arrayidx24, align 1 + %arrayidx25 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 2 + store i8 %21, i8* %arrayidx25, align 2 + %arraydecay26 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay26, i8** %p.addr, align 8 + br label %if.end27 + +if.end27: ; preds = %if.end14, %entry + store i8 0, i8* %codeset, align 1 + store i8 0, i8* %lang_cult, align 1 + %22 = load i8*, i8** %p.addr, align 8 + %23 = load i8, i8* %22, align 1 + %conv28 = sext i8 %23 to i32 + %cmp29 = icmp eq i32 %conv28, 67 + br i1 %cmp29, label %land.lhs.true, label %lor.lhs.false33 + +land.lhs.true: ; preds = %if.end27 + %24 = load i8*, i8** %p.addr, align 8 + %arrayidx31 = getelementptr inbounds i8, i8* %24, i64 1 + %25 = load i8, i8* %arrayidx31, align 1 + %tobool32 = icmp ne i8 %25, 0 + br i1 %tobool32, label %lor.lhs.false33, label %FIND_LOCALE + +lor.lhs.false33: ; preds = %land.lhs.true, %if.end27 + %26 = load i8*, i8** %p.addr, align 8 + %call34 = call i32 @strcmp(i8* %26, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @posix, i64 0, i64 0)) #20 + %tobool35 = icmp ne i32 %call34, 0 + br i1 %tobool35, label %if.end37, label %FIND_LOCALE + +if.end37: ; preds = %lor.lhs.false33 + %27 = load i8*, i8** %p.addr, align 8 + %call38 = call i64 @strlen(i8* %27) #20 + %cmp39 = icmp ugt i64 %call38, 5 + br i1 %cmp39, label %land.lhs.true41, label %FIND_LANG_CULT + +land.lhs.true41: ; preds = %if.end37 + %28 = load i8*, i8** %p.addr, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %28, i64 5 + %29 = load i8, i8* %arrayidx42, align 1 + %conv43 = sext i8 %29 to i32 + %cmp44 = icmp eq i32 %conv43, 46 + br i1 %cmp44, label %if.then46, label %FIND_LANG_CULT + +if.then46: ; preds = %land.lhs.true41 + store i8 2, i8* %codeset, align 1 + %30 = load i8*, i8** %p.addr, align 8 + %add.ptr47 = getelementptr inbounds i8, i8* %30, i64 6 + %call48 = call i32 @strcmp(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf8.290, i64 0, i64 0), i8* %add.ptr47) #20 + %cmp49 = icmp ne i32 %call48, 0 + br i1 %cmp49, label %if.then51, label %FIND_LANG_CULT + +if.then51: ; preds = %if.then46 + %31 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %31, i32 0, i32 35 + %arraydecay52 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list, i64 0, i64 0 + store i8* %arraydecay52, i8** %s, align 8 + br label %do.body53 + +do.body53: ; preds = %do.cond64, %if.then51 + %32 = load i8, i8* %codeset, align 1 + %inc = add i8 %32, 1 + store i8 %inc, i8* %codeset, align 1 + %33 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list54 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %33, i32 0, i32 35 + %arraydecay55 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list54, i64 0, i64 0 + %34 = load i8*, i8** %s, align 8 + %35 = load i8, i8* %34, align 1 + %conv56 = zext i8 %35 to i32 + %idx.ext57 = sext i32 %conv56 to i64 + %add.ptr58 = getelementptr inbounds i8, i8* %arraydecay55, i64 %idx.ext57 + %36 = load i8*, i8** %p.addr, align 8 + %add.ptr59 = getelementptr inbounds i8, i8* %36, i64 6 + %call60 = call i32 @strcmp(i8* %add.ptr58, i8* %add.ptr59) #20 + %tobool61 = icmp ne i32 %call60, 0 + br i1 %tobool61, label %do.cond64, label %FIND_LANG_CULT + +do.cond64: ; preds = %do.body53 + %37 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %37, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %38 = load i8, i8* %incdec.ptr, align 1 + %tobool65 = icmp ne i8 %38, 0 + br i1 %tobool65, label %do.body53, label %do.end66 + +do.end66: ; preds = %do.cond64 + store i32 0, i32* %retval, align 4 + br label %return + +FIND_LANG_CULT: ; preds = %if.end37, %land.lhs.true41, %if.then46, %do.body53 + %39 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_names5 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %39, i32 0, i32 32 + %arraydecay69 = getelementptr inbounds [835 x i8], [835 x i8]* %locale_names5, i64 0, i64 0 + store i8* %arraydecay69, i8** %s, align 8 + br label %do.body70 + +do.body70: ; preds = %if.end75, %FIND_LANG_CULT + %40 = load i8, i8* %lang_cult, align 1 + %inc71 = add i8 %40, 1 + store i8 %inc71, i8* %lang_cult, align 1 + %41 = load i8*, i8** %s, align 8 + %42 = load i8*, i8** %p.addr, align 8 + %call72 = call i32 @strncmp(i8* %41, i8* %42, i64 5) #20 + %tobool73 = icmp ne i32 %call72, 0 + br i1 %tobool73, label %if.end75, label %FIND_LOCALE + +if.end75: ; preds = %do.body70 + %43 = load i8*, i8** %s, align 8 + %add.ptr76 = getelementptr inbounds i8, i8* %43, i64 5 + store i8* %add.ptr76, i8** %s, align 8 + %44 = load i8, i8* %lang_cult, align 1 + %conv78 = zext i8 %44 to i32 + %cmp79 = icmp slt i32 %conv78, 167 + br i1 %cmp79, label %do.body70, label %do.end81 + +do.end81: ; preds = %if.end75 + store i32 0, i32* %retval, align 4 + br label %return + +FIND_LOCALE: ; preds = %do.body70, %land.lhs.true, %lor.lhs.false33 + %45 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %45, i32 0, i32 31 + %arraydecay82 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales, i64 0, i64 0 + store i8* %arraydecay82, i8** %s, align 8 + store i16 0, i16* %n, align 2 + br label %do.body83 + +do.body83: ; preds = %if.end120, %FIND_LOCALE + %46 = load i8, i8* %lang_cult, align 1 + %conv84 = zext i8 %46 to i32 + %47 = load i8*, i8** %s, align 8 + %48 = load i8, i8* %47, align 1 + %conv85 = zext i8 %48 to i32 + %cmp86 = icmp eq i32 %conv84, %conv85 + br i1 %cmp86, label %land.lhs.true88, label %if.end120 + +land.lhs.true88: ; preds = %do.body83 + %49 = load i8, i8* %codeset, align 1 + %conv89 = zext i8 %49 to i32 + %50 = load i8*, i8** %s, align 8 + %arrayidx90 = getelementptr inbounds i8, i8* %50, i64 1 + %51 = load i8, i8* %arrayidx90, align 1 + %conv91 = zext i8 %51 to i32 + %cmp92 = icmp eq i32 %conv89, %conv91 + br i1 %cmp92, label %if.then100, label %lor.lhs.false94 + +lor.lhs.false94: ; preds = %land.lhs.true88 + %52 = load i8, i8* %codeset, align 1 + %conv95 = zext i8 %52 to i32 + %53 = load i8*, i8** %s, align 8 + %arrayidx96 = getelementptr inbounds i8, i8* %53, i64 2 + %54 = load i8, i8* %arrayidx96, align 1 + %conv97 = zext i8 %54 to i32 + %cmp98 = icmp eq i32 %conv95, %conv97 + br i1 %cmp98, label %if.then100, label %if.end120 + +if.then100: ; preds = %lor.lhs.false94, %land.lhs.true88 + store i32 1, i32* %i, align 4 + %55 = load i8*, i8** %new_locale.addr, align 8 + %add.ptr101 = getelementptr inbounds i8, i8* %55, i64 1 + store i8* %add.ptr101, i8** %s, align 8 + br label %do.body102 + +do.body102: ; preds = %if.end113, %if.then100 + %56 = load i32, i32* %category_mask.addr, align 4 + %57 = load i32, i32* %i, align 4 + %and = and i32 %56, %57 + %tobool103 = icmp ne i32 %and, 0 + br i1 %tobool103, label %if.then104, label %if.end113 + +if.then104: ; preds = %do.body102 + %58 = load i16, i16* %n, align 2 + %conv105 = zext i16 %58 to i32 + %shr = ashr i32 %conv105, 7 + %or = or i32 %shr, 128 + %conv106 = trunc i32 %or to i8 + %59 = load i8*, i8** %s, align 8 + %arrayidx107 = getelementptr inbounds i8, i8* %59, i64 0 + store i8 %conv106, i8* %arrayidx107, align 1 + %60 = load i16, i16* %n, align 2 + %conv108 = zext i16 %60 to i32 + %and109 = and i32 %conv108, 127 + %or110 = or i32 %and109, 128 + %conv111 = trunc i32 %or110 to i8 + %61 = load i8*, i8** %s, align 8 + %arrayidx112 = getelementptr inbounds i8, i8* %61, i64 1 + store i8 %conv111, i8* %arrayidx112, align 1 + br label %if.end113 + +if.end113: ; preds = %if.then104, %do.body102 + %62 = load i8*, i8** %s, align 8 + %add.ptr114 = getelementptr inbounds i8, i8* %62, i64 2 + store i8* %add.ptr114, i8** %s, align 8 + %63 = load i32, i32* %i, align 4 + %64 = load i32, i32* %i, align 4 + %add115 = add nsw i32 %64, %63 + store i32 %add115, i32* %i, align 4 + %65 = load i32, i32* %i, align 4 + %cmp117 = icmp slt i32 %65, 64 + br i1 %cmp117, label %do.body102, label %do.end119 + +do.end119: ; preds = %if.end113 + %66 = load i32, i32* %i, align 4 + store i32 %66, i32* %retval, align 4 + br label %return + +if.end120: ; preds = %lor.lhs.false94, %do.body83 + %67 = load i8*, i8** %s, align 8 + %add.ptr121 = getelementptr inbounds i8, i8* %67, i64 9 + store i8* %add.ptr121, i8** %s, align 8 + %68 = load i16, i16* %n, align 2 + %inc122 = add i16 %68, 1 + store i16 %inc122, i16* %n, align 2 + %69 = load i16, i16* %n, align 2 + %conv124 = zext i16 %69 to i32 + %cmp125 = icmp sle i32 %conv124, 314 + br i1 %cmp125, label %do.body83, label %do.end127 + +do.end127: ; preds = %if.end120 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end127, %do.end119, %do.end81, %do.end66, %if.then13, %if.then4 + %70 = load i32, i32* %retval, align 4 + ret i32 %70 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @composite_locale(i32 %category_mask, i8* %locale, i8* %new_locale) #0 { +entry: + %retval = alloca i8*, align 8 + %category_mask.addr = alloca i32, align 4 + %locale.addr = alloca i8*, align 8 + %new_locale.addr = alloca i8*, align 8 + %buf = alloca [256 x i8], align 16 + %t = alloca i8*, align 8 + %e = alloca i8*, align 8 + %c = alloca i32, align 4 + %component_mask = alloca i32, align 4 + store i32 %category_mask, i32* %category_mask.addr, align 4 + store i8* %locale, i8** %locale.addr, align 8 + store i8* %new_locale, i8** %new_locale.addr, align 8 + %0 = load i8*, i8** %locale.addr, align 8 + %call = call i8* @strchr(i8* %0, i32 61) #20 + %tobool = icmp ne i8* %call, null + br i1 %tobool, label %if.end4, label %if.then + +if.then: ; preds = %entry + %1 = load i32, i32* %category_mask.addr, align 4 + %2 = load i8*, i8** %locale.addr, align 8 + %3 = load i8*, i8** %new_locale.addr, align 8 + %call1 = call i32 @find_locale(i32 %1, i8* %2, i8* %3) #18 + %tobool2 = icmp ne i32 %call1, 0 + br i1 %tobool2, label %if.end, label %if.then3 + +if.then3: ; preds = %if.then + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %if.then + %4 = load i8*, i8** %new_locale.addr, align 8 + store i8* %4, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %entry + %5 = load i8*, i8** %locale.addr, align 8 + %call5 = call i64 @strlen(i8* %5) #20 + %cmp = icmp uge i64 %call5, 256 + br i1 %cmp, label %if.then6, label %if.end7 + +if.then6: ; preds = %if.end4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end7: ; preds = %if.end4 + %arraydecay = getelementptr inbounds [256 x i8], [256 x i8]* %buf, i64 0, i64 0 + %6 = load i8*, i8** %locale.addr, align 8 + %call8 = call i8* @stpcpy(i8* %arraydecay, i8* %6) #19 + store i32 0, i32* %component_mask, align 4 + %arraydecay9 = getelementptr inbounds [256 x i8], [256 x i8]* %buf, i64 0, i64 0 + %call10 = call i8* @strtok_r(i8* %arraydecay9, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.288, i64 0, i64 0), i8** %e) #19 + store i8* %call10, i8** %t, align 8 + br label %do.body + +do.body: ; preds = %do.cond, %if.end7 + store i32 0, i32* %c, align 4 + br label %while.cond + +while.cond: ; preds = %while.body, %do.body + %7 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %7, i32 0, i32 34 + %arraydecay11 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names, i64 0, i64 0 + %8 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names12 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %8, i32 0, i32 34 + %9 = load i32, i32* %c, align 4 + %idxprom = sext i32 %9 to i64 + %arrayidx = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names12, i64 0, i64 %idxprom + %10 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %10 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay11, i64 %idx.ext + %11 = load i8*, i8** %t, align 8 + %call13 = call i32 @strcmp(i8* %add.ptr, i8* %11) #20 + %tobool14 = icmp ne i32 %call13, 0 + br i1 %tobool14, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %12 = load i32, i32* %c, align 4 + %inc = add nsw i32 %12, 1 + store i32 %inc, i32* %c, align 4 + %cmp15 = icmp eq i32 %inc, 6 + br i1 %cmp15, label %if.then17, label %while.cond + +if.then17: ; preds = %while.body + store i8* null, i8** %retval, align 8 + br label %return + +while.end: ; preds = %while.cond + %call19 = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.4.289, i64 0, i64 0), i8** %e) #19 + store i8* %call19, i8** %t, align 8 + %13 = load i32, i32* %c, align 4 + %shl = shl i32 1, %13 + store i32 %shl, i32* %c, align 4 + %14 = load i32, i32* %component_mask, align 4 + %15 = load i32, i32* %c, align 4 + %and = and i32 %14, %15 + %tobool20 = icmp ne i32 %and, 0 + br i1 %tobool20, label %if.then21, label %if.end22 + +if.then21: ; preds = %while.end + store i8* null, i8** %retval, align 8 + br label %return + +if.end22: ; preds = %while.end + %16 = load i32, i32* %c, align 4 + %17 = load i32, i32* %component_mask, align 4 + %or = or i32 %17, %16 + store i32 %or, i32* %component_mask, align 4 + %18 = load i32, i32* %category_mask.addr, align 4 + %19 = load i32, i32* %c, align 4 + %and23 = and i32 %18, %19 + %tobool24 = icmp ne i32 %and23, 0 + br i1 %tobool24, label %land.lhs.true, label %do.cond + +land.lhs.true: ; preds = %if.end22 + %20 = load i8*, i8** %t, align 8 + %tobool25 = icmp ne i8* %20, null + br i1 %tobool25, label %lor.lhs.false, label %if.then28 + +lor.lhs.false: ; preds = %land.lhs.true + %21 = load i32, i32* %c, align 4 + %22 = load i8*, i8** %t, align 8 + %23 = load i8*, i8** %new_locale.addr, align 8 + %call26 = call i32 @find_locale(i32 %21, i8* %22, i8* %23) #18 + %tobool27 = icmp ne i32 %call26, 0 + br i1 %tobool27, label %do.cond, label %if.then28 + +if.then28: ; preds = %lor.lhs.false, %land.lhs.true + store i8* null, i8** %retval, align 8 + br label %return + +do.cond: ; preds = %if.end22, %lor.lhs.false + %call30 = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.288, i64 0, i64 0), i8** %e) #19 + store i8* %call30, i8** %t, align 8 + %cmp31 = icmp ne i8* %call30, null + br i1 %cmp31, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %24 = load i32, i32* %category_mask.addr, align 4 + %25 = load i32, i32* %component_mask, align 4 + %neg = xor i32 %25, -1 + %and33 = and i32 %24, %neg + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %if.then35, label %if.end36 + +if.then35: ; preds = %do.end + store i8* null, i8** %retval, align 8 + br label %return + +if.end36: ; preds = %do.end + %26 = load i8*, i8** %new_locale.addr, align 8 + store i8* %26, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end36, %if.then35, %if.then28, %if.then21, %if.then17, %if.then6, %if.end, %if.then3 + %27 = load i8*, i8** %retval, align 8 + ret i8* %27 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @nl_langinfo_l(i32 %item, %struct.__uclibc_locale_struct.201* %locale_arg) #0 { +entry: + %retval = alloca i8*, align 8 + %item.addr = alloca i32, align 4 + %locale_arg.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %c = alloca i32, align 4 + %i = alloca i32, align 4 + store i32 %item, i32* %item.addr, align 4 + store %struct.__uclibc_locale_struct.201* %locale_arg, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %0 = load i32, i32* %item.addr, align 4 + %shr = ashr i32 %0, 8 + store i32 %shr, i32* %c, align 4 + %1 = load i32, i32* %item.addr, align 4 + %and = and i32 %1, 255 + store i32 %and, i32* %i, align 4 + %2 = load i32, i32* %c, align 4 + %cmp = icmp ult i32 %2, 6 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %3 = load i32, i32* %i, align 4 + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %category_item_count = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %4, i32 0, i32 8 + %5 = load i32, i32* %c, align 4 + %idxprom = zext i32 %5 to i64 + %arrayidx = getelementptr inbounds [6 x i8], [6 x i8]* %category_item_count, i64 0, i64 %idxprom + %6 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %6 to i32 + %cmp1 = icmp ult i32 %3, %conv + br i1 %cmp1, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %7 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %8 = bitcast %struct.__uclibc_locale_struct.201* %7 to i8* + %9 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %category_offsets = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %9, i32 0, i32 7 + %10 = load i32, i32* %c, align 4 + %idxprom3 = zext i32 %10 to i64 + %arrayidx4 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets, i64 0, i64 %idxprom3 + %11 = load i16, i16* %arrayidx4, align 2 + %conv5 = zext i16 %11 to i32 + %idx.ext = sext i32 %conv5 to i64 + %add.ptr = getelementptr inbounds i8, i8* %8, i64 %idx.ext + %12 = bitcast i8* %add.ptr to i8** + %13 = load i32, i32* %i, align 4 + %idxprom6 = zext i32 %13 to i64 + %arrayidx7 = getelementptr inbounds i8*, i8** %12, i64 %idxprom6 + %14 = load i8*, i8** %arrayidx7, align 8 + store i8* %14, i8** %retval, align 8 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @empty, i64 0, i64 0), i8** %retval, align 8 + br label %return + +return: ; preds = %if.end, %if.then + %15 = load i8*, i8** %retval, align 8 + ret i8* %15 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @mbsnrtowcs(i32* noalias %dst, i8** noalias %src, i64 %NMC, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %retval = alloca i64, align 8 + %dst.addr = alloca i32*, align 8 + %src.addr = alloca i8**, align 8 + %NMC.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %wcbuf = alloca [1 x i32], align 4 + %s = alloca i8*, align 8 + %count = alloca i64, align 8 + %incr = alloca i32, align 4 + %r = alloca i64, align 8 + %wc = alloca i32, align 4 + store i32* %dst, i32** %dst.addr, align 8 + store i8** %src, i8*** %src.addr, align 8 + store i64 %NMC, i64* %NMC.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %tobool = icmp ne %struct.__mbstate_t.512* %0, null + %spec.store.select = select i1 %tobool, %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512* @mbsnrtowcs.mbstate + store %struct.__mbstate_t.512* %spec.store.select, %struct.__mbstate_t.512** %ps.addr, align 8 + %1 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %1, i32 0, i32 9 + %2 = load i8, i8* %encoding, align 8 + %conv = zext i8 %2 to i32 + %cmp = icmp eq i32 %conv, 1 + br i1 %cmp, label %if.then2, label %if.end5 + +if.then2: ; preds = %entry + %3 = load i32*, i32** %dst.addr, align 8 + %4 = load i64, i64* %len.addr, align 8 + %5 = load i8**, i8*** %src.addr, align 8 + %6 = load i64, i64* %NMC.addr, align 8 + %7 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @_wchar_utf8sntowcs(i32* %3, i64 %4, i8** %5, i64 %6, %struct.__mbstate_t.512* %7, i32 1) #18 + store i64 %call, i64* %r, align 8 + %cmp3 = icmp ne i64 %call, -2 + %8 = load i64, i64* %r, align 8 + %cond = select i1 %cmp3, i64 %8, i64 0 + store i64 %cond, i64* %retval, align 8 + br label %return + +if.end5: ; preds = %entry + store i32 1, i32* %incr, align 4 + %9 = load i32*, i32** %dst.addr, align 8 + %tobool6 = icmp ne i32* %9, null + br i1 %tobool6, label %lor.lhs.false, label %if.then9 + +lor.lhs.false: ; preds = %if.end5 + %10 = load i32*, i32** %dst.addr, align 8 + %11 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %12 = bitcast %struct.__mbstate_t.512* %11 to i32* + %cmp7 = icmp eq i32* %10, %12 + br i1 %cmp7, label %if.then9, label %if.end13 + +if.then9: ; preds = %lor.lhs.false, %if.end5 + %13 = load i32*, i32** %dst.addr, align 8 + %tobool10 = icmp ne i32* %13, null + br i1 %tobool10, label %if.end12, label %if.then11 + +if.then11: ; preds = %if.then9 + store i64 -1, i64* %len.addr, align 8 + br label %if.end12 + +if.end12: ; preds = %if.then11, %if.then9 + %arraydecay = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay, i32** %dst.addr, align 8 + store i32 0, i32* %incr, align 4 + br label %if.end13 + +if.end13: ; preds = %if.end12, %lor.lhs.false + %14 = load i64, i64* %len.addr, align 8 + %15 = load i64, i64* %NMC.addr, align 8 + %cmp14 = icmp ugt i64 %14, %15 + br i1 %cmp14, label %if.then16, label %if.end17 + +if.then16: ; preds = %if.end13 + %16 = load i64, i64* %NMC.addr, align 8 + store i64 %16, i64* %len.addr, align 8 + br label %if.end17 + +if.end17: ; preds = %if.then16, %if.end13 + %17 = load i64, i64* %len.addr, align 8 + store i64 %17, i64* %count, align 8 + %18 = load i8**, i8*** %src.addr, align 8 + %19 = load i8*, i8** %18, align 8 + store i8* %19, i8** %s, align 8 + %20 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding18 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %20, i32 0, i32 9 + %21 = load i8, i8* %encoding18, align 8 + %conv19 = zext i8 %21 to i32 + %cmp20 = icmp eq i32 %conv19, 2 + br i1 %cmp20, label %while.cond, label %while.cond46 + +while.cond: ; preds = %if.end17, %if.end38 + %22 = load i64, i64* %count, align 8 + %tobool23 = icmp ne i64 %22, 0 + br i1 %tobool23, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %23 = load i8*, i8** %s, align 8 + %24 = load i8, i8* %23, align 1 + %conv24 = zext i8 %24 to i32 + store i32 %conv24, i32* %wc, align 4 + %cmp25 = icmp sge i32 %conv24, 128 + br i1 %cmp25, label %if.then27, label %if.end35 + +if.then27: ; preds = %while.body + %25 = load i32, i32* %wc, align 4 + %sub = sub nsw i32 %25, 128 + store i32 %sub, i32* %wc, align 4 + %26 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %tbl8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %26, i32 0, i32 17 + %27 = load i16*, i16** %tbl8c2wc, align 8 + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %idx8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %28, i32 0, i32 16 + %29 = load i8*, i8** %idx8c2wc, align 8 + %30 = load i32, i32* %wc, align 4 + %shr = ashr i32 %30, 3 + %idxprom = sext i32 %shr to i64 + %arrayidx = getelementptr inbounds i8, i8* %29, i64 %idxprom + %31 = load i8, i8* %arrayidx, align 1 + %conv28 = zext i8 %31 to i32 + %shl = shl i32 %conv28, 3 + %32 = load i32, i32* %wc, align 4 + %and = and i32 %32, 7 + %add = add nsw i32 %shl, %and + %idxprom29 = sext i32 %add to i64 + %arrayidx30 = getelementptr inbounds i16, i16* %27, i64 %idxprom29 + %33 = load i16, i16* %arrayidx30, align 2 + %conv31 = zext i16 %33 to i32 + store i32 %conv31, i32* %wc, align 4 + %34 = load i32, i32* %wc, align 4 + %tobool32 = icmp ne i32 %34, 0 + br i1 %tobool32, label %if.end35, label %BAD + +if.end35: ; preds = %if.then27, %while.body + %35 = load i32, i32* %wc, align 4 + %36 = load i32*, i32** %dst.addr, align 8 + store i32 %35, i32* %36, align 4 + %tobool36 = icmp ne i32 %35, 0 + br i1 %tobool36, label %if.end38, label %if.then37 + +if.then37: ; preds = %if.end35 + store i8* null, i8** %s, align 8 + br label %while.end + +if.end38: ; preds = %if.end35 + %37 = load i32, i32* %incr, align 4 + %38 = load i32*, i32** %dst.addr, align 8 + %idx.ext = sext i32 %37 to i64 + %add.ptr = getelementptr inbounds i32, i32* %38, i64 %idx.ext + store i32* %add.ptr, i32** %dst.addr, align 8 + %39 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %39, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %40 = load i64, i64* %count, align 8 + %dec = add i64 %40, -1 + store i64 %dec, i64* %count, align 8 + br label %while.cond + +while.end: ; preds = %if.then37, %while.cond + %41 = load i32*, i32** %dst.addr, align 8 + %arraydecay39 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %cmp40 = icmp ne i32* %41, %arraydecay39 + br i1 %cmp40, label %if.then42, label %if.end43 + +if.then42: ; preds = %while.end + %42 = load i8*, i8** %s, align 8 + %43 = load i8**, i8*** %src.addr, align 8 + store i8* %42, i8** %43, align 8 + br label %if.end43 + +if.end43: ; preds = %if.then42, %while.end + %44 = load i64, i64* %len.addr, align 8 + %45 = load i64, i64* %count, align 8 + %sub44 = sub i64 %44, %45 + store i64 %sub44, i64* %retval, align 8 + br label %return + +while.cond46: ; preds = %if.end17, %if.end57 + %46 = load i64, i64* %count, align 8 + %tobool47 = icmp ne i64 %46, 0 + br i1 %tobool47, label %while.body48, label %while.end62 + +while.body48: ; preds = %while.cond46 + %47 = load i8*, i8** %s, align 8 + %48 = load i8, i8* %47, align 1 + %conv49 = zext i8 %48 to i32 + %49 = load i32*, i32** %dst.addr, align 8 + store i32 %conv49, i32* %49, align 4 + %cmp50 = icmp eq i32 %conv49, 0 + br i1 %cmp50, label %if.then52, label %if.end53 + +if.then52: ; preds = %while.body48 + store i8* null, i8** %s, align 8 + br label %while.end62 + +if.end53: ; preds = %while.body48 + %50 = load i32*, i32** %dst.addr, align 8 + %51 = load i32, i32* %50, align 4 + %cmp54 = icmp sge i32 %51, 128 + br i1 %cmp54, label %BAD, label %if.end57 + +BAD: ; preds = %if.end53, %if.then27 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end57: ; preds = %if.end53 + %52 = load i8*, i8** %s, align 8 + %incdec.ptr58 = getelementptr inbounds i8, i8* %52, i32 1 + store i8* %incdec.ptr58, i8** %s, align 8 + %53 = load i32, i32* %incr, align 4 + %54 = load i32*, i32** %dst.addr, align 8 + %idx.ext59 = sext i32 %53 to i64 + %add.ptr60 = getelementptr inbounds i32, i32* %54, i64 %idx.ext59 + store i32* %add.ptr60, i32** %dst.addr, align 8 + %55 = load i64, i64* %count, align 8 + %dec61 = add i64 %55, -1 + store i64 %dec61, i64* %count, align 8 + br label %while.cond46 + +while.end62: ; preds = %if.then52, %while.cond46 + %56 = load i32*, i32** %dst.addr, align 8 + %arraydecay63 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %cmp64 = icmp ne i32* %56, %arraydecay63 + br i1 %cmp64, label %if.then66, label %if.end67 + +if.then66: ; preds = %while.end62 + %57 = load i8*, i8** %s, align 8 + %58 = load i8**, i8*** %src.addr, align 8 + store i8* %57, i8** %58, align 8 + br label %if.end67 + +if.end67: ; preds = %if.then66, %while.end62 + %59 = load i64, i64* %len.addr, align 8 + %60 = load i64, i64* %count, align 8 + %sub68 = sub i64 %59, %60 + store i64 %sub68, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end67, %BAD, %if.end43, %if.then2 + %61 = load i64, i64* %retval, align 8 + ret i64 %61 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @iswctype(i32 %wc, i32 %desc) #0 { +entry: + %wc.addr = alloca i32, align 4 + %desc.addr = alloca i32, align 4 + store i32 %wc, i32* %wc.addr, align 4 + store i32 %desc, i32* %desc.addr, align 4 + %0 = load i32, i32* %wc.addr, align 4 + %1 = load i32, i32* %desc.addr, align 4 + %2 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %call = call i32 @iswctype_l(i32 %0, i32 %1, %struct.__uclibc_locale_struct.201* %2) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %oflag) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %oflag.addr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %oflag, i32* %oflag.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %2 = load i32, i32* %oflag.addr, align 4 + %and = and i32 %conv, %2 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end9, label %if.then + +if.then: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 0 + %4 = load i16, i16* %__modeflags1, align 8 + %conv2 = zext i16 %4 to i32 + %and3 = and i32 %conv2, 2176 + %tobool4 = icmp ne i32 %and3, 0 + br i1 %tobool4, label %DO_EBADF, label %if.end + +if.end: ; preds = %if.then + %5 = load i32, i32* %oflag.addr, align 4 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 0 + %7 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %7 to i32 + %or = or i32 %conv7, %5 + %conv8 = trunc i32 %or to i16 + store i16 %conv8, i16* %__modeflags6, align 8 + br label %if.end9 + +if.end9: ; preds = %if.end, %entry + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags10, align 8 + %conv11 = zext i16 %9 to i32 + %and12 = and i32 %conv11, 32 + %tobool13 = icmp ne i32 %and12, 0 + br i1 %tobool13, label %DO_EBADF, label %if.end19 + +DO_EBADF: ; preds = %if.end9, %if.then + store i32 9, i32* @errno, align 4 + br label %ERROR + +ERROR: ; preds = %land.lhs.true, %DO_EBADF + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags15 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 0 + %11 = load i16, i16* %__modeflags15, align 8 + %conv16 = zext i16 %11 to i32 + %or17 = or i32 %conv16, 8 + %conv18 = trunc i32 %or17 to i16 + store i16 %conv18, i16* %__modeflags15, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end19: ; preds = %if.end9 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags20 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags20, align 8 + %conv21 = zext i16 %13 to i32 + %and22 = and i32 %conv21, 3 + %tobool23 = icmp ne i32 %and22, 0 + br i1 %tobool23, label %if.then24, label %if.end50 + +if.then24: ; preds = %if.end19 + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags25 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %14, i32 0, i32 0 + %15 = load i16, i16* %__modeflags25, align 8 + %conv26 = zext i16 %15 to i32 + %and27 = and i32 %conv26, 4 + %tobool28 = icmp ne i32 %and27, 0 + br i1 %tobool28, label %if.end42, label %if.then29 + +if.then29: ; preds = %if.then24 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %16, i32 0, i32 6 + %17 = load i8*, i8** %__bufread, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 5 + %19 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %17 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool30 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %tobool30, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then29 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags31 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 0 + %21 = load i16, i16* %__modeflags31, align 8 + %conv32 = zext i16 %21 to i32 + %and33 = and i32 %conv32, 2 + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %land.lhs.true, label %if.end42 + +land.lhs.true: ; preds = %lor.lhs.false, %if.then29 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %23 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags35 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %23, i32 0, i32 0 + %24 = load i16, i16* %__modeflags35, align 8 + %conv36 = zext i16 %24 to i32 + %and37 = and i32 %conv36, 1024 + %tobool38 = icmp ne i32 %and37, 0 + %25 = zext i1 %tobool38 to i64 + %cond = select i1 %tobool38, i32 2, i32 1 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32)* @fseek to i32 (%struct.__STDIO_FILE_STRUCT.568*, i64, i32)*)(%struct.__STDIO_FILE_STRUCT.568* %22, i64 0, i32 %cond) #18 + %tobool39 = icmp ne i32 %call, 0 + br i1 %tobool39, label %ERROR, label %if.end42 + +if.end42: ; preds = %lor.lhs.false, %land.lhs.true, %if.then24 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags43 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 0 + %27 = load i16, i16* %__modeflags43, align 8 + %conv44 = zext i16 %27 to i32 + %and45 = and i32 %conv44, -4 + %conv46 = trunc i32 %and45 to i16 + store i16 %conv46, i16* %__modeflags43, align 8 + %28 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %28, i32 0, i32 3 + %29 = load i8*, i8** %__bufstart, align 8 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %30, i32 0, i32 7 + store i8* %29, i8** %__bufgetc_u, align 8 + %31 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart47 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %31, i32 0, i32 3 + %32 = load i8*, i8** %__bufstart47, align 8 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos48 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %33, i32 0, i32 5 + store i8* %32, i8** %__bufpos48, align 8 + %34 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread49 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %34, i32 0, i32 6 + store i8* %32, i8** %__bufread49, align 8 + br label %if.end50 + +if.end50: ; preds = %if.end42, %if.end19 + %35 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags51 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %35, i32 0, i32 0 + %36 = load i16, i16* %__modeflags51, align 8 + %conv52 = zext i16 %36 to i32 + %or53 = or i32 %conv52, 64 + %conv54 = trunc i32 %or53 to i16 + store i16 %conv54, i16* %__modeflags51, align 8 + %37 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags55 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %37, i32 0, i32 0 + %38 = load i16, i16* %__modeflags55, align 8 + %conv56 = zext i16 %38 to i32 + %and57 = and i32 %conv56, 2816 + %tobool58 = icmp ne i32 %and57, 0 + br i1 %tobool58, label %if.end60, label %if.then59 + +if.then59: ; preds = %if.end50 + %39 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %39, i32 0, i32 4 + %40 = load i8*, i8** %__bufend, align 8 + %41 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %41, i32 0, i32 8 + store i8* %40, i8** %__bufputc_u, align 8 + br label %if.end60 + +if.end60: ; preds = %if.then59, %if.end50 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end60, %ERROR + %42 = load i32, i32* %retval, align 4 + ret i32 %42 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fseeko64(%struct.__STDIO_FILE_STRUCT.636* %stream, i64 %offset, i32 %whence) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + %pos = alloca i64, align 8 + %retval1 = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i64, i64* %offset.addr, align 8 + store i64 %0, i64* %pos, align 8 + store i32 -1, i32* %retval1, align 4 + %1 = load i32, i32* %whence.addr, align 4 + %cmp = icmp ugt i32 %1, 2 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + store i32 22, i32* @errno, align 4 + br label %if.end20 + +if.else: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %2, i32 0, i32 0 + %3 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %3 to i32 + %and = and i32 %conv, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %lor.lhs.false, label %land.lhs.true + +lor.lhs.false: ; preds = %if.else + %4 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %call = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.568*)* @__stdio_wcommit to i64 (%struct.__STDIO_FILE_STRUCT.636*)*)(%struct.__STDIO_FILE_STRUCT.636* %4) #18 + %tobool2 = icmp ne i64 %call, 0 + br i1 %tobool2, label %if.end20, label %land.lhs.true + +land.lhs.true: ; preds = %lor.lhs.false, %if.else + %5 = load i32, i32* %whence.addr, align 4 + %cmp3 = icmp ne i32 %5, 1 + br i1 %cmp3, label %land.lhs.true9, label %lor.lhs.false5 + +lor.lhs.false5: ; preds = %land.lhs.true + %6 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %call6 = call i32 @__stdio_adjust_position(%struct.__STDIO_FILE_STRUCT.636* %6, i64* %pos) #18 + %cmp7 = icmp sge i32 %call6, 0 + br i1 %cmp7, label %land.lhs.true9, label %if.end20 + +land.lhs.true9: ; preds = %lor.lhs.false5, %land.lhs.true + %7 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %8 = load i32, i32* %whence.addr, align 4 + %call10 = call i32 @__stdio_seek(%struct.__STDIO_FILE_STRUCT.636* %7, i64* %pos, i32 %8) #18 + %cmp11 = icmp sge i32 %call10, 0 + br i1 %cmp11, label %if.then13, label %if.end20 + +if.then13: ; preds = %land.lhs.true9 + %9 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags14 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %9, i32 0, i32 0 + %10 = load i16, i16* %__modeflags14, align 8 + %conv15 = zext i16 %10 to i32 + %and16 = and i32 %conv15, -72 + %conv17 = trunc i32 %and16 to i16 + store i16 %conv17, i16* %__modeflags14, align 8 + %11 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %11, i32 0, i32 3 + %12 = load i8*, i8** %__bufstart, align 8 + %13 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %13, i32 0, i32 5 + store i8* %12, i8** %__bufpos, align 8 + %14 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %14, i32 0, i32 6 + store i8* %12, i8** %__bufread, align 8 + %15 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufstart18 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %15, i32 0, i32 3 + %16 = load i8*, i8** %__bufstart18, align 8 + %17 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %17, i32 0, i32 7 + store i8* %16, i8** %__bufgetc_u, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufstart19 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %18, i32 0, i32 3 + %19 = load i8*, i8** %__bufstart19, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %20, i32 0, i32 8 + store i8* %19, i8** %__bufputc_u, align 8 + %21 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %21, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + store i32 0, i32* %__mask, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %22, i32 0, i32 1 + %arrayidx = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 0 + store i8 0, i8* %arrayidx, align 2 + store i32 0, i32* %retval1, align 4 + br label %if.end20 + +if.end20: ; preds = %lor.lhs.false, %lor.lhs.false5, %land.lhs.true9, %if.then13, %if.then + %23 = load i32, i32* %retval1, align 4 + ret i32 %23 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @fwrite_unlocked(i8* noalias %ptr, i64 %size, i64 %nmemb, %struct.__STDIO_FILE_STRUCT.621* noalias %stream) #0 { +entry: + %retval = alloca i64, align 8 + %ptr.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %nmemb.addr = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.621*, align 8 + store i8* %ptr, i8** %ptr.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + store i64 %nmemb, i64* %nmemb.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.621* %stream, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 192 + %cmp = icmp eq i32 %and, 192 + br i1 %cmp, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i32)* @__stdio_trans2w_o to i32 (%struct.__STDIO_FILE_STRUCT.621*, i32)*)(%struct.__STDIO_FILE_STRUCT.621* %2, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end13, label %land.lhs.true + +land.lhs.true: ; preds = %lor.lhs.false, %entry + %3 = load i64, i64* %size.addr, align 8 + %tobool2 = icmp ne i64 %3, 0 + %4 = load i64, i64* %nmemb.addr, align 8 + %tobool4 = icmp ne i64 %4, 0 + %or.cond = and i1 %tobool2, %tobool4 + br i1 %or.cond, label %if.then, label %if.end13 + +if.then: ; preds = %land.lhs.true + %5 = load i64, i64* %nmemb.addr, align 8 + %6 = load i64, i64* %size.addr, align 8 + %div = udiv i64 -1, %6 + %cmp5 = icmp ule i64 %5, %div + br i1 %cmp5, label %if.then7, label %if.end + +if.then7: ; preds = %if.then + %7 = load i8*, i8** %ptr.addr, align 8 + %8 = load i64, i64* %size.addr, align 8 + %9 = load i64, i64* %nmemb.addr, align 8 + %mul = mul i64 %8, %9 + %10 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %call8 = call i64 @__stdio_fwrite(i8* %7, i64 %mul, %struct.__STDIO_FILE_STRUCT.621* %10) #18 + %11 = load i64, i64* %size.addr, align 8 + %div9 = udiv i64 %call8, %11 + store i64 %div9, i64* %retval, align 8 + br label %return + +if.end: ; preds = %if.then + %12 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__modeflags10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags10, align 8 + %conv11 = zext i16 %13 to i32 + %or = or i32 %conv11, 8 + %conv12 = trunc i32 %or to i16 + store i16 %conv12, i16* %__modeflags10, align 8 + store i32 22, i32* @errno, align 4 + br label %if.end13 + +if.end13: ; preds = %if.end, %land.lhs.true, %lor.lhs.false + store i64 0, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end13, %if.then7 + %14 = load i64, i64* %retval, align 8 + ret i64 %14 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i8* noalias %format, %struct.__va_list_tag.0* %arg) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %format.addr = alloca i8*, align 8 + %arg.addr = alloca %struct.__va_list_tag.0*, align 8 + %ppfs = alloca %struct.ppfs_t.722, align 8 + %count = alloca i32, align 4 + %r = alloca i32, align 4 + %s = alloca i8*, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + store %struct.__va_list_tag.0* %arg, %struct.__va_list_tag.0** %arg.addr, align 8 + store i32 0, i32* %count, align 4 + %0 = load i8*, i8** %format.addr, align 8 + store i8* %0, i8** %s, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %1, i32 0, i32 0 + %2 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %2 to i32 + %and = and i32 %conv, 192 + %cmp = icmp eq i32 %and, 192 + br i1 %cmp, label %if.else, label %land.lhs.true + +land.lhs.true: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* %3, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %land.lhs.true + store i32 -1, i32* %count, align 4 + br label %if.end65 + +if.else: ; preds = %land.lhs.true, %entry + %4 = load i8*, i8** %format.addr, align 8 + %call2 = call i32 @_ppfs_init(%struct.ppfs_t.722* %ppfs, i8* %4) #18 + %cmp3 = icmp slt i32 %call2, 0 + br i1 %cmp3, label %if.then5, label %if.else13 + +if.then5: ; preds = %if.else + %fmtpos = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %5 = load i8*, i8** %fmtpos, align 8 + %call6 = call i64 @strlen(i8* %5) #20 + %cmp7 = icmp ugt i64 %call6, 0 + br i1 %cmp7, label %cond.true, label %cond.end + +cond.true: ; preds = %if.then5 + %fmtpos9 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %6 = load i8*, i8** %fmtpos9, align 8 + %fmtpos10 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %7 = load i8*, i8** %fmtpos10, align 8 + %call11 = call i64 @strlen(i8* %7) #20 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call12 = call i64 bitcast (i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.621*)* @__stdio_fwrite to i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.568*)*)(i8* %6, i64 %call11, %struct.__STDIO_FILE_STRUCT.568* %8) #18 + br label %cond.end + +cond.end: ; preds = %if.then5, %cond.true + %cond = phi i64 [ %call12, %cond.true ], [ 0, %if.then5 ] + store i32 -1, i32* %count, align 4 + br label %if.end65 + +if.else13: ; preds = %if.else + %9 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %arg.addr, align 8 + call void @_ppfs_prepargs(%struct.ppfs_t.722* %ppfs, %struct.__va_list_tag.0* %9) #18 + br label %do.body + +do.body: ; preds = %do.cond, %if.else13 + br label %while.cond + +while.cond: ; preds = %while.body, %do.body + %10 = load i8*, i8** %format.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv14 = sext i8 %11 to i32 + %tobool15 = icmp ne i32 %conv14, 0 + br i1 %tobool15, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %12 = load i8*, i8** %format.addr, align 8 + %13 = load i8, i8* %12, align 1 + %conv16 = sext i8 %13 to i32 + %cmp17 = icmp ne i32 %conv16, 37 + br label %land.end + +land.end: ; preds = %land.rhs, %while.cond + %14 = phi i1 [ false, %while.cond ], [ %cmp17, %land.rhs ] + %15 = load i8*, i8** %format.addr, align 8 + br i1 %14, label %while.body, label %while.end + +while.body: ; preds = %land.end + %incdec.ptr = getelementptr inbounds i8, i8* %15, i32 1 + store i8* %incdec.ptr, i8** %format.addr, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %16 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %15 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %16 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool19 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %tobool19, label %if.then20, label %if.end42 + +if.then20: ; preds = %while.end + %17 = load i8*, i8** %format.addr, align 8 + %18 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast21 = ptrtoint i8* %17 to i64 + %sub.ptr.rhs.cast22 = ptrtoint i8* %18 to i64 + %sub.ptr.sub23 = sub i64 %sub.ptr.lhs.cast21, %sub.ptr.rhs.cast22 + %cmp24 = icmp sgt i64 %sub.ptr.sub23, 0 + br i1 %cmp24, label %cond.true26, label %cond.end32 + +cond.true26: ; preds = %if.then20 + %19 = load i8*, i8** %s, align 8 + %20 = load i8*, i8** %format.addr, align 8 + %21 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast27 = ptrtoint i8* %20 to i64 + %sub.ptr.rhs.cast28 = ptrtoint i8* %21 to i64 + %sub.ptr.sub29 = sub i64 %sub.ptr.lhs.cast27, %sub.ptr.rhs.cast28 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call30 = call i64 bitcast (i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.621*)* @__stdio_fwrite to i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.568*)*)(i8* %19, i64 %sub.ptr.sub29, %struct.__STDIO_FILE_STRUCT.568* %22) #18 + br label %cond.end32 + +cond.end32: ; preds = %if.then20, %cond.true26 + %cond33 = phi i64 [ %call30, %cond.true26 ], [ 0, %if.then20 ] + %conv34 = trunc i64 %cond33 to i32 + store i32 %conv34, i32* %r, align 4 + %conv35 = sext i32 %conv34 to i64 + %23 = load i8*, i8** %format.addr, align 8 + %24 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast36 = ptrtoint i8* %23 to i64 + %sub.ptr.rhs.cast37 = ptrtoint i8* %24 to i64 + %sub.ptr.sub38 = sub i64 %sub.ptr.lhs.cast36, %sub.ptr.rhs.cast37 + %cmp39 = icmp ne i64 %conv35, %sub.ptr.sub38 + br i1 %cmp39, label %if.then41, label %if.end + +if.then41: ; preds = %cond.end32 + store i32 -1, i32* %count, align 4 + br label %do.end + +if.end: ; preds = %cond.end32 + %25 = load i32, i32* %r, align 4 + %26 = load i32, i32* %count, align 4 + %add = add nsw i32 %26, %25 + store i32 %add, i32* %count, align 4 + br label %if.end42 + +if.end42: ; preds = %if.end, %while.end + %27 = load i8*, i8** %format.addr, align 8 + %28 = load i8, i8* %27, align 1 + %tobool43 = icmp ne i8 %28, 0 + br i1 %tobool43, label %if.end45, label %do.end + +if.end45: ; preds = %if.end42 + %29 = load i8*, i8** %format.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %29, i64 1 + %30 = load i8, i8* %arrayidx, align 1 + %conv46 = sext i8 %30 to i32 + %cmp47 = icmp ne i32 %conv46, 37 + %31 = load i8*, i8** %format.addr, align 8 + %incdec.ptr50 = getelementptr inbounds i8, i8* %31, i32 1 + store i8* %incdec.ptr50, i8** %format.addr, align 8 + br i1 %cmp47, label %if.then49, label %if.else58 + +if.then49: ; preds = %if.end45 + %fmtpos51 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + store i8* %incdec.ptr50, i8** %fmtpos51, align 8 + %32 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call52 = call i32 @_do_one_spec(%struct.__STDIO_FILE_STRUCT.568* %32, %struct.ppfs_t.722* %ppfs, i32* %count) #18 + store i32 %call52, i32* %r, align 4 + %cmp53 = icmp slt i32 %call52, 0 + br i1 %cmp53, label %if.then55, label %if.end56 + +if.then55: ; preds = %if.then49 + store i32 -1, i32* %count, align 4 + br label %do.end + +if.end56: ; preds = %if.then49 + %fmtpos57 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %33 = load i8*, i8** %fmtpos57, align 8 + store i8* %33, i8** %format.addr, align 8 + store i8* %33, i8** %s, align 8 + br label %do.cond + +if.else58: ; preds = %if.end45 + store i8* %incdec.ptr50, i8** %s, align 8 + %34 = load i8*, i8** %format.addr, align 8 + %incdec.ptr60 = getelementptr inbounds i8, i8* %34, i32 1 + store i8* %incdec.ptr60, i8** %format.addr, align 8 + br label %do.cond + +do.cond: ; preds = %if.end56, %if.else58 + br label %do.body + +do.end: ; preds = %if.end42, %if.then55, %if.then41 + %arg62 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 7 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg62, i64 0, i64 0 + %arraydecay63 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_end(i8* %arraydecay63) + br label %if.end65 + +if.end65: ; preds = %cond.end, %do.end, %if.then + %35 = load i32, i32* %count, align 4 + ret i32 %35 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_do_one_spec(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, %struct.ppfs_t.722* %ppfs, i32* %count) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %count.addr = alloca i32*, align 8 + %argptr = alloca [1 x i8*], align 8 + %argtype = alloca i32*, align 8 + %ws = alloca i32*, align 8 + %mbstate = alloca %struct.__mbstate_t.512, align 4 + %slen = alloca i64, align 8 + %base = alloca i32, align 4 + %numpad = alloca i32, align 4 + %alphacase = alloca i32, align 4 + %numfill = alloca i32, align 4 + %prefix_num = alloca i32, align 4 + %padchar = alloca i8, align 1 + %buf = alloca [128 x i8], align 16 + %p = alloca %union.anon.193*, align 8 + %i = alloca i32, align 4 + %s = alloca i8*, align 8 + %nf = alloca i64, align 8 + %t = alloca i64, align 8 + %t351 = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store i32* %count, i32** %count.addr, align 8 + store i32* null, i32** %ws, align 8 + store i32 0, i32* %numfill, align 4 + store i32 11, i32* %prefix_num, align 4 + store i8 32, i8* %padchar, align 1 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %call = call i32 @_ppfs_parsespec(%struct.ppfs_t.722* %0) #18 + %1 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + call void @_ppfs_setargs(%struct.ppfs_t.722* %1) #18 + %2 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype1 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %2, i32 0, i32 6 + %arraydecay = getelementptr inbounds [9 x i32], [9 x i32]* %argtype1, i64 0, i64 0 + %3 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %3, i32 0, i32 5 + %arrayidx = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber, i64 0, i64 2 + %4 = load i8, i8* %arrayidx, align 2 + %conv = zext i8 %4 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds i32, i32* %arraydecay, i64 %idx.ext + %add.ptr2 = getelementptr inbounds i32, i32* %add.ptr, i64 -1 + store i32* %add.ptr2, i32** %argtype, align 8 + %5 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argvalue = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %5, i32 0, i32 8 + %arraydecay3 = getelementptr inbounds [9 x %union.anon.193], [9 x %union.anon.193]* %argvalue, i64 0, i64 0 + store %union.anon.193* %arraydecay3, %union.anon.193** %p, align 8 + %6 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %6, i32 0, i32 2 + %7 = load i32, i32* %maxposarg, align 4 + %cmp = icmp sgt i32 %7, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %8 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber5 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %8, i32 0, i32 5 + %arrayidx6 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber5, i64 0, i64 2 + %9 = load i8, i8* %arrayidx6, align 2 + %conv7 = zext i8 %9 to i32 + %sub = sub nsw i32 %conv7, 1 + %10 = load %union.anon.193*, %union.anon.193** %p, align 8 + %idx.ext8 = sext i32 %sub to i64 + %add.ptr9 = getelementptr inbounds %union.anon.193, %union.anon.193* %10, i64 %idx.ext8 + store %union.anon.193* %add.ptr9, %union.anon.193** %p, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %11 = load i32, i32* %i, align 4 + %12 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %12, i32 0, i32 3 + %13 = load i32, i32* %num_data_args, align 8 + %cmp10 = icmp slt i32 %11, %13 + br i1 %cmp10, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %14 = load %union.anon.193*, %union.anon.193** %p, align 8 + %incdec.ptr = getelementptr inbounds %union.anon.193, %union.anon.193* %14, i32 1 + store %union.anon.193* %incdec.ptr, %union.anon.193** %p, align 8 + %15 = bitcast %union.anon.193* %14 to i8* + %16 = load i32, i32* %i, align 4 + %idxprom = sext i32 %16 to i64 + %arrayidx12 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 %idxprom + store i8* %15, i8** %arrayidx12, align 8 + %17 = load i32, i32* %i, align 4 + %inc = add nsw i32 %17, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + store i8* null, i8** %s, align 8 + %18 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %18, i32 0, i32 4 + %19 = load i32, i32* %conv_num, align 4 + %cmp13 = icmp eq i32 %19, 0 + br i1 %cmp13, label %if.then15, label %if.end18 + +if.then15: ; preds = %for.end + %arraydecay16 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %20 = load i8*, i8** %arraydecay16, align 8 + %21 = bitcast i8* %20 to i8** + %22 = load i8*, i8** %21, align 8 + %23 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %23, i32 0, i32 1 + %_flags = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 3 + %24 = load i32, i32* %_flags, align 4 + %and = and i32 %24, 3840 + %25 = load i32*, i32** %count.addr, align 8 + %26 = load i32, i32* %25, align 4 + %conv17 = sext i32 %26 to i64 + call void @_store_inttype(i8* %22, i32 %and, i64 %conv17) #18 + store i32 0, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %for.end + %27 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num19 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %27, i32 0, i32 4 + %28 = load i32, i32* %conv_num19, align 4 + %cmp20 = icmp ule i32 %28, 7 + br i1 %cmp20, label %if.then22, label %if.else179 + +if.then22: ; preds = %if.end18 + store i32 87, i32* %alphacase, align 4 + %29 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num23 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %29, i32 0, i32 4 + %30 = load i32, i32* %conv_num23, align 4 + %sub24 = sub i32 %30, 1 + %idxprom25 = sext i32 %sub24 to i64 + %arrayidx26 = getelementptr inbounds [7 x i8], [7 x i8]* @_do_one_spec.spec_base, i64 0, i64 %idxprom25 + %31 = load i8, i8* %arrayidx26, align 1 + %conv27 = sext i8 %31 to i32 + store i32 %conv27, i32* %base, align 4 + %cmp28 = icmp eq i32 %conv27, 10 + br i1 %cmp28, label %if.then30, label %if.end42 + +if.then30: ; preds = %if.then22 + %32 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info31 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %32, i32 0, i32 1 + %_flags32 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info31, i32 0, i32 3 + %33 = load i32, i32* %_flags32, align 4 + %and33 = and i32 %33, 32 + %tobool = icmp ne i32 %and33, 0 + br i1 %tobool, label %if.then34, label %if.end35 + +if.then34: ; preds = %if.then30 + store i32 44, i32* %alphacase, align 4 + br label %if.end35 + +if.end35: ; preds = %if.then34, %if.then30 + %34 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info36 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %34, i32 0, i32 1 + %_flags37 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info36, i32 0, i32 3 + %35 = load i32, i32* %_flags37, align 4 + %and38 = and i32 %35, 64 + %tobool39 = icmp ne i32 %and38, 0 + br i1 %tobool39, label %if.then40, label %if.end42 + +if.then40: ; preds = %if.end35 + %36 = load i32, i32* %alphacase, align 4 + %or = or i32 %36, 128 + store i32 %or, i32* %alphacase, align 4 + br label %if.end42 + +if.end42: ; preds = %if.end35, %if.then40, %if.then22 + %37 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num43 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %37, i32 0, i32 4 + %38 = load i32, i32* %conv_num43, align 4 + %cmp44 = icmp ule i32 %38, 5 + br i1 %cmp44, label %if.then46, label %if.else57 + +if.then46: ; preds = %if.end42 + %39 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num47 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %39, i32 0, i32 4 + %40 = load i32, i32* %conv_num47, align 4 + %cmp48 = icmp eq i32 %40, 3 + br i1 %cmp48, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.then46 + store i32 55, i32* %alphacase, align 4 + br label %if.end51 + +if.end51: ; preds = %if.then50, %if.then46 + %41 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num52 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %41, i32 0, i32 4 + %42 = load i32, i32* %conv_num52, align 4 + %cmp53 = icmp eq i32 %42, 1 + br i1 %cmp53, label %if.then55, label %if.end59 + +if.then55: ; preds = %if.end51 + store i32 6, i32* %prefix_num, align 4 + br label %if.end59 + +if.else57: ; preds = %if.end42 + %43 = load i32, i32* %base, align 4 + %sub58 = sub nsw i32 0, %43 + store i32 %sub58, i32* %base, align 4 + br label %if.end59 + +if.end59: ; preds = %if.then55, %if.end51, %if.else57 + %44 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info60 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %44, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info60, i32 0, i32 0 + %45 = load i32, i32* %prec, align 8 + %cmp61 = icmp slt i32 %45, 0 + br i1 %cmp61, label %if.then63, label %if.end66 + +if.then63: ; preds = %if.end59 + %46 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info64 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %46, i32 0, i32 1 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info64, i32 0, i32 4 + %47 = load i32, i32* %pad, align 8 + %conv65 = trunc i32 %47 to i8 + store i8 %conv65, i8* %padchar, align 1 + br label %if.end66 + +if.end66: ; preds = %if.then63, %if.end59 + %arraydecay67 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %add.ptr68 = getelementptr inbounds i8, i8* %arraydecay67, i64 128 + %add.ptr69 = getelementptr inbounds i8, i8* %add.ptr68, i64 -1 + %48 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num70 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %48, i32 0, i32 4 + %49 = load i32, i32* %conv_num70, align 4 + %cmp71 = icmp eq i32 %49, 1 + br i1 %cmp71, label %cond.end, label %cond.false + +cond.false: ; preds = %if.end66 + %50 = load i32*, i32** %argtype, align 8 + %51 = load i32, i32* %50, align 4 + %and73 = and i32 %51, 3840 + br label %cond.end + +cond.end: ; preds = %if.end66, %cond.false + %cond = phi i32 [ %and73, %cond.false ], [ 1024, %if.end66 ] + %arraydecay74 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %52 = load i8*, i8** %arraydecay74, align 8 + %53 = load i32, i32* %base, align 4 + %call75 = call i64 @_load_inttype(i32 %cond, i8* %52, i32 %53) #18 + %54 = load i32, i32* %base, align 4 + %55 = load i32, i32* %alphacase, align 4 + %call76 = call i8* @_uintmaxtostr(i8* %add.ptr69, i64 %call75, i32 %54, i32 %55) #18 + store i8* %call76, i8** %s, align 8 + %56 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num77 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %56, i32 0, i32 4 + %57 = load i32, i32* %conv_num77, align 4 + %cmp78 = icmp ugt i32 %57, 5 + br i1 %cmp78, label %if.then80, label %if.end104 + +if.then80: ; preds = %cond.end + %58 = load i8*, i8** %s, align 8 + %59 = load i8, i8* %58, align 1 + %conv81 = sext i8 %59 to i32 + %cmp82 = icmp eq i32 %conv81, 45 + %60 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info85 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %60, i32 0, i32 1 + %_flags86 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info85, i32 0, i32 3 + %61 = load i32, i32* %_flags86, align 4 + br i1 %cmp82, label %if.then84, label %if.else89 + +if.then84: ; preds = %if.then80 + %or87 = or i32 %61, 2 + store i32 %or87, i32* %_flags86, align 4 + %62 = load i8*, i8** %s, align 8 + %incdec.ptr88 = getelementptr inbounds i8, i8* %62, i32 1 + store i8* %incdec.ptr88, i8** %s, align 8 + store i32 2, i32* %prefix_num, align 4 + br label %if.end104 + +if.else89: ; preds = %if.then80 + %and92 = and i32 %61, 2 + %tobool93 = icmp ne i32 %and92, 0 + br i1 %tobool93, label %if.then94, label %if.else95 + +if.then94: ; preds = %if.else89 + store i32 0, i32* %prefix_num, align 4 + br label %if.end104 + +if.else95: ; preds = %if.else89 + %63 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info96 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %63, i32 0, i32 1 + %_flags97 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info96, i32 0, i32 3 + %64 = load i32, i32* %_flags97, align 4 + %and98 = and i32 %64, 1 + %tobool99 = icmp ne i32 %and98, 0 + br i1 %tobool99, label %if.then100, label %if.end104 + +if.then100: ; preds = %if.else95 + store i32 4, i32* %prefix_num, align 4 + br label %if.end104 + +if.end104: ; preds = %if.then84, %if.else95, %if.then100, %if.then94, %cond.end + %arraydecay105 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %add.ptr106 = getelementptr inbounds i8, i8* %arraydecay105, i64 128 + %add.ptr107 = getelementptr inbounds i8, i8* %add.ptr106, i64 -1 + %65 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %add.ptr107 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %65 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %slen, align 8 + %66 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info108 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %66, i32 0, i32 1 + %prec109 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info108, i32 0, i32 0 + %67 = load i32, i32* %prec109, align 8 + %cmp110 = icmp slt i32 %67, 0 + br i1 %cmp110, label %cond.end116, label %cond.false113 + +cond.false113: ; preds = %if.end104 + %68 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info114 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %68, i32 0, i32 1 + %prec115 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info114, i32 0, i32 0 + %69 = load i32, i32* %prec115, align 8 + br label %cond.end116 + +cond.end116: ; preds = %if.end104, %cond.false113 + %cond117 = phi i32 [ %69, %cond.false113 ], [ 1, %if.end104 ] + store i32 %cond117, i32* %numfill, align 4 + %70 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info118 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %70, i32 0, i32 1 + %_flags119 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info118, i32 0, i32 3 + %71 = load i32, i32* %_flags119, align 4 + %and120 = and i32 %71, 16 + %tobool121 = icmp ne i32 %and120, 0 + br i1 %tobool121, label %if.then122, label %if.end149 + +if.then122: ; preds = %cond.end116 + %72 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num123 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %72, i32 0, i32 4 + %73 = load i32, i32* %conv_num123, align 4 + %cmp124 = icmp ule i32 %73, 2 + br i1 %cmp124, label %if.then126, label %if.end127 + +if.then126: ; preds = %if.then122 + store i32 6, i32* %prefix_num, align 4 + br label %if.end127 + +if.end127: ; preds = %if.then126, %if.then122 + %74 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num128 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %74, i32 0, i32 4 + %75 = load i32, i32* %conv_num128, align 4 + %cmp129 = icmp eq i32 %75, 3 + br i1 %cmp129, label %if.then131, label %if.end132 + +if.then131: ; preds = %if.end127 + store i32 9, i32* %prefix_num, align 4 + br label %if.end132 + +if.end132: ; preds = %if.then131, %if.end127 + %76 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num133 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %76, i32 0, i32 4 + %77 = load i32, i32* %conv_num133, align 4 + %cmp134 = icmp eq i32 %77, 4 + br i1 %cmp134, label %land.lhs.true, label %if.end149 + +land.lhs.true: ; preds = %if.end132 + %78 = load i32, i32* %numfill, align 4 + %conv136 = sext i32 %78 to i64 + %79 = load i64, i64* %slen, align 8 + %cmp137 = icmp ule i64 %conv136, %79 + br i1 %cmp137, label %if.then139, label %if.end149 + +if.then139: ; preds = %land.lhs.true + %80 = load i8*, i8** %s, align 8 + %81 = load i8, i8* %80, align 1 + %conv140 = sext i8 %81 to i32 + %cmp141 = icmp eq i32 %conv140, 48 + %82 = load i64, i64* %slen, align 8 + %add = add i64 %82, 1 + %cond146 = select i1 %cmp141, i64 1, i64 %add + %conv147 = trunc i64 %cond146 to i32 + store i32 %conv147, i32* %numfill, align 4 + br label %if.end149 + +if.end149: ; preds = %if.end132, %land.lhs.true, %if.then139, %cond.end116 + %83 = load i8*, i8** %s, align 8 + %84 = load i8, i8* %83, align 1 + %conv150 = sext i8 %84 to i32 + %cmp151 = icmp eq i32 %conv150, 48 + br i1 %cmp151, label %if.then153, label %if.end168 + +if.then153: ; preds = %if.end149 + %85 = load i32, i32* %prefix_num, align 4 + %cmp154 = icmp sge i32 %85, 6 + br i1 %cmp154, label %if.then156, label %if.end157 + +if.then156: ; preds = %if.then153 + store i32 11, i32* %prefix_num, align 4 + br label %if.end157 + +if.end157: ; preds = %if.then156, %if.then153 + %86 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num158 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %86, i32 0, i32 4 + %87 = load i32, i32* %conv_num158, align 4 + %cmp159 = icmp eq i32 %87, 1 + br i1 %cmp159, label %if.then161, label %if.else162 + +if.then161: ; preds = %if.end157 + store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.307, i64 0, i64 0), i8** %s, align 8 + store i64 5, i64* %slen, align 8 + store i32 0, i32* %numfill, align 4 + br label %if.end168 + +if.else162: ; preds = %if.end157 + %88 = load i32, i32* %numfill, align 4 + %cmp163 = icmp eq i32 %88, 0 + br i1 %cmp163, label %if.then165, label %if.end168 + +if.then165: ; preds = %if.else162 + store i64 0, i64* %slen, align 8 + br label %if.end168 + +if.end168: ; preds = %if.then161, %if.then165, %if.else162, %if.end149 + %89 = load i32, i32* %numfill, align 4 + %conv169 = sext i32 %89 to i64 + %90 = load i64, i64* %slen, align 8 + %cmp170 = icmp ugt i64 %conv169, %90 + %91 = load i32, i32* %numfill, align 4 + %conv173 = sext i32 %91 to i64 + %92 = load i64, i64* %slen, align 8 + %sub174 = sub i64 %conv173, %92 + %cond177 = select i1 %cmp170, i64 %sub174, i64 0 + %conv178 = trunc i64 %cond177 to i32 + store i32 %conv178, i32* %numfill, align 4 + br label %if.end278 + +if.else179: ; preds = %if.end18 + %93 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num180 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %93, i32 0, i32 4 + %94 = load i32, i32* %conv_num180, align 4 + %cmp181 = icmp ule i32 %94, 15 + br i1 %cmp181, label %if.then183, label %if.else203 + +if.then183: ; preds = %if.else179 + %95 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %arraydecay189 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %96 = load i8*, i8** %arraydecay189, align 8 + %97 = bitcast i8* %96 to double* + %98 = load double, double* %97, align 8 + %99 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info194 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %99, i32 0, i32 1 + %call195 = call i64 @_fpmaxtostr(%struct.__STDIO_FILE_STRUCT.568* %95, double %98, %struct.printf_info.720* %info194, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)* @_fp_out_narrow) #18 + store i64 %call195, i64* %nf, align 8 + %100 = load i64, i64* %nf, align 8 + %cmp196 = icmp slt i64 %100, 0 + br i1 %cmp196, label %if.then198, label %if.end199 + +if.then198: ; preds = %if.then183 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end199: ; preds = %if.then183 + %101 = load i64, i64* %nf, align 8 + %102 = load i32*, i32** %count.addr, align 8 + %103 = load i32, i32* %102, align 4 + %conv200 = sext i32 %103 to i64 + %add201 = add nsw i64 %conv200, %101 + %conv202 = trunc i64 %add201 to i32 + store i32 %conv202, i32* %102, align 4 + store i32 0, i32* %retval, align 4 + br label %return + +if.else203: ; preds = %if.else179 + %104 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num204 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %104, i32 0, i32 4 + %105 = load i32, i32* %conv_num204, align 4 + %cmp205 = icmp ule i32 %105, 17 + br i1 %cmp205, label %if.then207, label %if.else242 + +if.then207: ; preds = %if.else203 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %mbstate, i32 0, i32 0 + store i32 0, i32* %__mask, align 4 + %106 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num208 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %106, i32 0, i32 4 + %107 = load i32, i32* %conv_num208, align 4 + %cmp209 = icmp eq i32 %107, 17 + br i1 %cmp209, label %if.then211, label %if.else232 + +if.then211: ; preds = %if.then207 + %arraydecay212 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %108 = load i8*, i8** %arraydecay212, align 8 + %109 = bitcast i8* %108 to i32** + %110 = load i32*, i32** %109, align 8 + store i32* %110, i32** %ws, align 8 + %tobool213 = icmp ne i32* %110, null + br i1 %tobool213, label %if.end215, label %NULL_STRING + +if.end215: ; preds = %if.then211 + %111 = bitcast i32** %ws to i8* + %112 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info216 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %112, i32 0, i32 1 + %prec217 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info216, i32 0, i32 0 + %113 = load i32, i32* %prec217, align 8 + %cmp218 = icmp sge i32 %113, 0 + br i1 %cmp218, label %cond.true220, label %cond.end225 + +cond.true220: ; preds = %if.end215 + %114 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info221 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %114, i32 0, i32 1 + %prec222 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info221, i32 0, i32 0 + %115 = load i32, i32* %prec222, align 8 + %conv223 = sext i32 %115 to i64 + br label %cond.end225 + +cond.end225: ; preds = %if.end215, %cond.true220 + %cond226 = phi i64 [ %conv223, %cond.true220 ], [ -1, %if.end215 ] + %call227 = call i64 @wcsrtombs(i8* %111, i32** %ws, i64 %cond226, %struct.__mbstate_t.512* %mbstate) #19 + store i64 %call227, i64* %slen, align 8 + %cmp228 = icmp eq i64 %call227, -1 + br i1 %cmp228, label %if.then230, label %if.end278 + +if.then230: ; preds = %cond.end225 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else232: ; preds = %if.then207 + %arraydecay233 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay233, i8** %s, align 8 + %116 = load i8*, i8** %s, align 8 + %arraydecay234 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %117 = load i8*, i8** %arraydecay234, align 8 + %118 = bitcast i8* %117 to i32* + %119 = load i32, i32* %118, align 4 + %call235 = call i64 @wcrtomb(i8* %116, i32 %119, %struct.__mbstate_t.512* %mbstate) #19 + store i64 %call235, i64* %slen, align 8 + %120 = load i64, i64* %slen, align 8 + %cmp236 = icmp eq i64 %120, -1 + br i1 %cmp236, label %if.then238, label %if.end239 + +if.then238: ; preds = %if.else232 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end239: ; preds = %if.else232 + %121 = load i8*, i8** %s, align 8 + %122 = load i64, i64* %slen, align 8 + %arrayidx240 = getelementptr inbounds i8, i8* %121, i64 %122 + store i8 0, i8* %arrayidx240, align 1 + br label %if.end278 + +if.else242: ; preds = %if.else203 + %123 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num243 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %123, i32 0, i32 4 + %124 = load i32, i32* %conv_num243, align 4 + %cmp244 = icmp ule i32 %124, 19 + br i1 %cmp244, label %if.then246, label %if.else274 + +if.then246: ; preds = %if.else242 + %125 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num247 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %125, i32 0, i32 4 + %126 = load i32, i32* %conv_num247, align 4 + %cmp248 = icmp eq i32 %126, 19 + br i1 %cmp248, label %if.then250, label %if.else268 + +if.then250: ; preds = %if.then246 + %arraydecay251 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %127 = load i8*, i8** %arraydecay251, align 8 + %128 = bitcast i8* %127 to i8** + %129 = load i8*, i8** %128, align 8 + store i8* %129, i8** %s, align 8 + %130 = load i8*, i8** %s, align 8 + %tobool252 = icmp ne i8* %130, null + br i1 %tobool252, label %if.then253, label %NULL_STRING + +if.then253: ; preds = %if.then250 + %131 = load i8*, i8** %s, align 8 + %132 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info254 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %132, i32 0, i32 1 + %prec255 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info254, i32 0, i32 0 + %133 = load i32, i32* %prec255, align 8 + %cmp256 = icmp sge i32 %133, 0 + br i1 %cmp256, label %cond.true258, label %cond.end263 + +cond.true258: ; preds = %if.then253 + %134 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info259 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %134, i32 0, i32 1 + %prec260 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info259, i32 0, i32 0 + %135 = load i32, i32* %prec260, align 8 + %conv261 = sext i32 %135 to i64 + br label %cond.end263 + +cond.end263: ; preds = %if.then253, %cond.true258 + %cond264 = phi i64 [ %conv261, %cond.true258 ], [ -1, %if.then253 ] + %call265 = call i64 @strnlen(i8* %131, i64 %cond264) #20 + store i64 %call265, i64* %slen, align 8 + br label %if.end278 + +NULL_STRING: ; preds = %if.then250, %if.then211 + store i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.308, i64 0, i64 0), i8** %s, align 8 + store i64 6, i64* %slen, align 8 + br label %if.end278 + +if.else268: ; preds = %if.then246 + %arraydecay269 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay269, i8** %s, align 8 + %arraydecay270 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %136 = load i8*, i8** %arraydecay270, align 8 + %137 = bitcast i8* %136 to i32* + %138 = load i32, i32* %137, align 4 + %conv271 = trunc i32 %138 to i8 + %139 = load i8*, i8** %s, align 8 + store i8 %conv271, i8* %139, align 1 + %140 = load i8*, i8** %s, align 8 + %arrayidx272 = getelementptr inbounds i8, i8* %140, i64 1 + store i8 0, i8* %arrayidx272, align 1 + store i64 1, i64* %slen, align 8 + br label %if.end278 + +if.else274: ; preds = %if.else242 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end278: ; preds = %cond.end263, %NULL_STRING, %if.else268, %if.end239, %cond.end225, %if.end168 + %141 = load i64, i64* %slen, align 8 + %142 = load i32, i32* %numfill, align 4 + %conv279 = sext i32 %142 to i64 + %add280 = add i64 %141, %conv279 + store i64 %add280, i64* %t, align 8 + %143 = load i32, i32* %prefix_num, align 4 + %cmp281 = icmp ne i32 %143, 11 + br i1 %cmp281, label %if.then283, label %if.end289 + +if.then283: ; preds = %if.end278 + %144 = load i32, i32* %prefix_num, align 4 + %cmp284 = icmp slt i32 %144, 6 + %145 = zext i1 %cmp284 to i64 + %cond286 = select i1 %cmp284, i32 1, i32 2 + %conv287 = sext i32 %cond286 to i64 + %146 = load i64, i64* %t, align 8 + %add288 = add i64 %146, %conv287 + store i64 %add288, i64* %t, align 8 + br label %if.end289 + +if.end289: ; preds = %if.then283, %if.end278 + %147 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info290 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %147, i32 0, i32 1 + %width = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info290, i32 0, i32 1 + %148 = load i32, i32* %width, align 4 + %conv291 = sext i32 %148 to i64 + %149 = load i64, i64* %t, align 8 + %cmp292 = icmp ugt i64 %conv291, %149 + br i1 %cmp292, label %cond.true294, label %cond.end300 + +cond.true294: ; preds = %if.end289 + %150 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info295 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %150, i32 0, i32 1 + %width296 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info295, i32 0, i32 1 + %151 = load i32, i32* %width296, align 4 + %conv297 = sext i32 %151 to i64 + %152 = load i64, i64* %t, align 8 + %sub298 = sub i64 %conv297, %152 + br label %cond.end300 + +cond.end300: ; preds = %if.end289, %cond.true294 + %cond301 = phi i64 [ %sub298, %cond.true294 ], [ 0, %if.end289 ] + %conv302 = trunc i64 %cond301 to i32 + store i32 %conv302, i32* %numpad, align 4 + %153 = load i64, i64* %t, align 8 + %154 = load i32, i32* %numpad, align 4 + %conv303 = sext i32 %154 to i64 + %add304 = add i64 %153, %conv303 + %155 = load i32*, i32** %count.addr, align 8 + %156 = load i32, i32* %155, align 4 + %conv305 = sext i32 %156 to i64 + %add306 = add i64 %conv305, %add304 + %conv307 = trunc i64 %add306 to i32 + store i32 %conv307, i32* %155, align 4 + %157 = load i8, i8* %padchar, align 1 + %conv308 = sext i8 %157 to i32 + %cmp309 = icmp eq i32 %conv308, 48 + br i1 %cmp309, label %if.then311, label %if.end313 + +if.then311: ; preds = %cond.end300 + %158 = load i32, i32* %numpad, align 4 + %159 = load i32, i32* %numfill, align 4 + %add312 = add nsw i32 %159, %158 + store i32 %add312, i32* %numfill, align 4 + store i32 0, i32* %numpad, align 4 + br label %if.end313 + +if.end313: ; preds = %if.then311, %cond.end300 + %160 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info314 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %160, i32 0, i32 1 + %_flags315 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info314, i32 0, i32 3 + %161 = load i32, i32* %_flags315, align 4 + %and316 = and i32 %161, 8 + %tobool317 = icmp ne i32 %and316, 0 + br i1 %tobool317, label %if.end326, label %if.then318 + +if.then318: ; preds = %if.end313 + %162 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %163 = load i32, i32* %numpad, align 4 + %conv319 = sext i32 %163 to i64 + %call320 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %162, i32 32, i64 %conv319) #18 + %164 = load i32, i32* %numpad, align 4 + %conv321 = sext i32 %164 to i64 + %cmp322 = icmp ne i64 %call320, %conv321 + br i1 %cmp322, label %if.then324, label %if.end325 + +if.then324: ; preds = %if.then318 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end325: ; preds = %if.then318 + store i32 0, i32* %numpad, align 4 + br label %if.end326 + +if.end326: ; preds = %if.end325, %if.end313 + %165 = load i32, i32* %prefix_num, align 4 + %idx.ext327 = sext i32 %165 to i64 + %add.ptr328 = getelementptr inbounds i8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @_do_one_spec.prefix, i64 0, i64 0), i64 %idx.ext327 + %166 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call329 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct.__STDIO_FILE_STRUCT.568*)*)(i8* %add.ptr328, %struct.__STDIO_FILE_STRUCT.568* %166) #18 + %167 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %168 = load i32, i32* %numfill, align 4 + %conv330 = sext i32 %168 to i64 + %call331 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %167, i32 48, i64 %conv330) #18 + %169 = load i32, i32* %numfill, align 4 + %conv332 = sext i32 %169 to i64 + %cmp333 = icmp ne i64 %call331, %conv332 + br i1 %cmp333, label %if.then335, label %if.end336 + +if.then335: ; preds = %if.end326 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end336: ; preds = %if.end326 + %170 = load i32*, i32** %ws, align 8 + %tobool337 = icmp ne i32* %170, null + br i1 %tobool337, label %if.else350, label %if.then338 + +if.then338: ; preds = %if.end336 + %171 = load i64, i64* %slen, align 8 + %cmp339 = icmp ugt i64 %171, 0 + br i1 %cmp339, label %cond.true341, label %cond.end344 + +cond.true341: ; preds = %if.then338 + %172 = load i8*, i8** %s, align 8 + %173 = load i64, i64* %slen, align 8 + %174 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call342 = call i64 bitcast (i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.621*)* @__stdio_fwrite to i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.568*)*)(i8* %172, i64 %173, %struct.__STDIO_FILE_STRUCT.568* %174) #18 + br label %cond.end344 + +cond.end344: ; preds = %if.then338, %cond.true341 + %cond345 = phi i64 [ %call342, %cond.true341 ], [ 0, %if.then338 ] + %175 = load i64, i64* %slen, align 8 + %cmp346 = icmp ne i64 %cond345, %175 + br i1 %cmp346, label %if.then348, label %if.end375 + +if.then348: ; preds = %cond.end344 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else350: ; preds = %if.end336 + %__mask352 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %mbstate, i32 0, i32 0 + store i32 0, i32* %__mask352, align 4 + br label %while.cond + +while.cond: ; preds = %if.end373, %if.else350 + %176 = load i64, i64* %slen, align 8 + %tobool353 = icmp ne i64 %176, 0 + br i1 %tobool353, label %while.body, label %if.end375 + +while.body: ; preds = %while.cond + %177 = load i64, i64* %slen, align 8 + %cmp354 = icmp ule i64 %177, 128 + %178 = load i64, i64* %slen, align 8 + %cond359 = select i1 %cmp354, i64 %178, i64 128 + store i64 %cond359, i64* %t351, align 8 + %arraydecay360 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %179 = load i64, i64* %t351, align 8 + %call361 = call i64 @wcsrtombs(i8* %arraydecay360, i32** %ws, i64 %179, %struct.__mbstate_t.512* %mbstate) #19 + store i64 %call361, i64* %t351, align 8 + %180 = load i64, i64* %t351, align 8 + %cmp362 = icmp ugt i64 %180, 0 + br i1 %cmp362, label %cond.true364, label %cond.end368 + +cond.true364: ; preds = %while.body + %arraydecay365 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %181 = load i64, i64* %t351, align 8 + %182 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call366 = call i64 bitcast (i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.621*)* @__stdio_fwrite to i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.568*)*)(i8* %arraydecay365, i64 %181, %struct.__STDIO_FILE_STRUCT.568* %182) #18 + br label %cond.end368 + +cond.end368: ; preds = %while.body, %cond.true364 + %cond369 = phi i64 [ %call366, %cond.true364 ], [ 0, %while.body ] + %183 = load i64, i64* %t351, align 8 + %cmp370 = icmp ne i64 %cond369, %183 + br i1 %cmp370, label %if.then372, label %if.end373 + +if.then372: ; preds = %cond.end368 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end373: ; preds = %cond.end368 + %184 = load i64, i64* %t351, align 8 + %185 = load i64, i64* %slen, align 8 + %sub374 = sub i64 %185, %184 + store i64 %sub374, i64* %slen, align 8 + br label %while.cond + +if.end375: ; preds = %while.cond, %cond.end344 + %186 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %187 = load i32, i32* %numpad, align 4 + %conv376 = sext i32 %187 to i64 + %call377 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %186, i32 32, i64 %conv376) #18 + %188 = load i32, i32* %numpad, align 4 + %conv378 = sext i32 %188 to i64 + %cmp379 = icmp ne i64 %call377, %conv378 + br i1 %cmp379, label %if.then381, label %if.end382 + +if.then381: ; preds = %if.end375 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end382: ; preds = %if.end375 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end382, %if.then381, %if.then372, %if.then348, %if.then335, %if.then324, %if.else274, %if.then238, %if.then230, %if.end199, %if.then198, %if.then15 + %189 = load i32, i32* %retval, align 4 + ret i32 %189 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @_fp_out_narrow(%struct.__STDIO_FILE_STRUCT.568* %fp, i64 %type, i64 %len, i64 %buf) #0 { +entry: + %retval = alloca i64, align 8 + %fp.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %type.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %buf.addr = alloca i64, align 8 + %r = alloca i64, align 8 + %buflen = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %fp, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + store i64 %type, i64* %type.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store i64 %buf, i64* %buf.addr, align 8 + store i64 0, i64* %r, align 8 + %0 = load i64, i64* %type.addr, align 8 + %and = and i64 %0, 128 + %tobool = icmp ne i64 %and, 0 + br i1 %tobool, label %if.then, label %if.end12 + +if.then: ; preds = %entry + %1 = load i64, i64* %buf.addr, align 8 + %2 = inttoptr i64 %1 to i8* + %call = call i64 @strlen(i8* %2) #20 + %conv = trunc i64 %call to i32 + store i32 %conv, i32* %buflen, align 4 + %3 = load i32, i32* %buflen, align 4 + %conv1 = sext i32 %3 to i64 + %4 = load i64, i64* %len.addr, align 8 + %sub = sub nsw i64 %4, %conv1 + store i64 %sub, i64* %len.addr, align 8 + %cmp = icmp sgt i64 %sub, 0 + br i1 %cmp, label %if.then3, label %if.end10 + +if.then3: ; preds = %if.then + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + %6 = load i64, i64* %type.addr, align 8 + %and4 = and i64 %6, 127 + %conv5 = trunc i64 %and4 to i32 + %7 = load i64, i64* %len.addr, align 8 + %call6 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %5, i32 %conv5, i64 %7) #18 + store i64 %call6, i64* %r, align 8 + %8 = load i64, i64* %len.addr, align 8 + %cmp7 = icmp ne i64 %call6, %8 + br i1 %cmp7, label %if.then9, label %if.end10 + +if.then9: ; preds = %if.then3 + %9 = load i64, i64* %r, align 8 + store i64 %9, i64* %retval, align 8 + br label %return + +if.end10: ; preds = %if.then3, %if.then + %10 = load i32, i32* %buflen, align 4 + %conv11 = sext i32 %10 to i64 + store i64 %conv11, i64* %len.addr, align 8 + br label %if.end12 + +if.end12: ; preds = %if.end10, %entry + %11 = load i64, i64* %r, align 8 + %12 = load i64, i64* %len.addr, align 8 + %cmp13 = icmp sgt i64 %12, 0 + br i1 %cmp13, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end12 + %13 = load i64, i64* %buf.addr, align 8 + %14 = inttoptr i64 %13 to i8* + %15 = load i64, i64* %len.addr, align 8 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + %call15 = call i64 bitcast (i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.621*)* @__stdio_fwrite to i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.568*)*)(i8* %14, i64 %15, %struct.__STDIO_FILE_STRUCT.568* %16) #18 + br label %cond.end + +cond.end: ; preds = %if.end12, %cond.true + %cond = phi i64 [ %call15, %cond.true ], [ 0, %if.end12 ] + %add = add i64 %11, %cond + store i64 %add, i64* %retval, align 8 + br label %return + +return: ; preds = %cond.end, %if.then9 + %17 = load i64, i64* %retval, align 8 + ret i64 %17 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %padchar, i64 %numpad) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %padchar.addr = alloca i32, align 4 + %numpad.addr = alloca i64, align 8 + %todo = alloca i64, align 8 + %pad = alloca [1 x i8], align 1 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %padchar, i32* %padchar.addr, align 4 + store i64 %numpad, i64* %numpad.addr, align 8 + %0 = load i64, i64* %numpad.addr, align 8 + store i64 %0, i64* %todo, align 8 + %1 = load i32, i32* %padchar.addr, align 4 + %conv = trunc i32 %1 to i8 + %arraydecay = getelementptr inbounds [1 x i8], [1 x i8]* %pad, i64 0, i64 0 + store i8 %conv, i8* %arraydecay, align 1 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %2 = load i64, i64* %todo, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %arraydecay1 = getelementptr inbounds [1 x i8], [1 x i8]* %pad, i64 0, i64 0 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i64 bitcast (i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.621*)* @__stdio_fwrite to i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.568*)*)(i8* %arraydecay1, i64 1, %struct.__STDIO_FILE_STRUCT.568* %3) #18 + %cmp = icmp eq i64 %call, 1 + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %land.rhs + %4 = load i64, i64* %todo, align 8 + %dec = add i64 %4, -1 + store i64 %dec, i64* %todo, align 8 + br label %while.cond + +while.end: ; preds = %while.cond, %land.rhs + %5 = load i64, i64* %numpad.addr, align 8 + %6 = load i64, i64* %todo, align 8 + %sub = sub i64 %5, %6 + ret i64 %sub +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__cxa_atexit(void (i8*)* %func, i8* %arg, i8* %dso_handle) #0 { +entry: + %retval = alloca i32, align 4 + %func.addr = alloca void (i8*)*, align 8 + %arg.addr = alloca i8*, align 8 + %dso_handle.addr = alloca i8*, align 8 + %efp = alloca %struct.exit_function*, align 8 + store void (i8*)* %func, void (i8*)** %func.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i8* %dso_handle, i8** %dso_handle.addr, align 8 + %0 = load void (i8*)*, void (i8*)** %func.addr, align 8 + %cmp = icmp eq void (i8*)* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %call = call %struct.exit_function* @__new_exitfn() #18 + store %struct.exit_function* %call, %struct.exit_function** %efp, align 8 + %1 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %cmp1 = icmp eq %struct.exit_function* %1, null + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + store i32 -1, i32* %retval, align 4 + br label %return + +if.end3: ; preds = %if.end + %2 = load void (i8*)*, void (i8*)** %func.addr, align 8 + %3 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs = getelementptr inbounds %struct.exit_function, %struct.exit_function* %3, i32 0, i32 1 + %cxa_atexit = bitcast %union.anon.772* %funcs to %struct.anon.0.771* + %func4 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit, i32 0, i32 0 + store void (i8*)* %2, void (i8*)** %func4, align 8 + %4 = load i8*, i8** %arg.addr, align 8 + %5 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs5 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %5, i32 0, i32 1 + %cxa_atexit6 = bitcast %union.anon.772* %funcs5 to %struct.anon.0.771* + %arg7 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit6, i32 0, i32 1 + store i8* %4, i8** %arg7, align 8 + %6 = load i8*, i8** %dso_handle.addr, align 8 + %7 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs8 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %7, i32 0, i32 1 + %cxa_atexit9 = bitcast %union.anon.772* %funcs8 to %struct.anon.0.771* + %dso_handle10 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit9, i32 0, i32 2 + store i8* %6, i8** %dso_handle10, align 8 + %8 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %type = getelementptr inbounds %struct.exit_function, %struct.exit_function* %8, i32 0, i32 0 + store i64 3, i64* %type, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end3, %if.then2, %if.then + %9 = load i32, i32* %retval, align 4 + ret i32 %9 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @memmove(i8* nonnull %s1, i8* nonnull %s2, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %p, align 8 + %2 = load i8*, i8** %p, align 8 + %3 = load i8*, i8** %s, align 8 + %cmp = icmp uge i8* %2, %3 + br i1 %cmp, label %while.cond, label %while.cond2 + +while.cond: ; preds = %entry, %while.body + %4 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %4, 0 + br i1 %tobool, label %while.body, label %if.end + +while.body: ; preds = %while.cond + %5 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %6 = load i8, i8* %5, align 1 + %7 = load i8*, i8** %s, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %7, i32 1 + store i8* %incdec.ptr1, i8** %s, align 8 + store i8 %6, i8* %7, align 1 + %8 = load i64, i64* %n.addr, align 8 + %dec = add i64 %8, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.cond2: ; preds = %entry, %while.body4 + %9 = load i64, i64* %n.addr, align 8 + %tobool3 = icmp ne i64 %9, 0 + br i1 %tobool3, label %while.body4, label %if.end + +while.body4: ; preds = %while.cond2 + %10 = load i64, i64* %n.addr, align 8 + %dec5 = add i64 %10, -1 + store i64 %dec5, i64* %n.addr, align 8 + %11 = load i8*, i8** %p, align 8 + %12 = load i64, i64* %n.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %11, i64 %12 + %13 = load i8, i8* %arrayidx, align 1 + %14 = load i8*, i8** %s, align 8 + %15 = load i64, i64* %n.addr, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %14, i64 %15 + store i8 %13, i8* %arrayidx6, align 1 + br label %while.cond2 + +if.end: ; preds = %while.cond2, %while.cond + %16 = load i8*, i8** %s1.addr, align 8 + ret i8* %16 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @mempcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r1 = alloca i8*, align 8 + %r2 = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %r1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %r2, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %2 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load i8*, i8** %r2, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %r2, align 8 + %4 = load i8, i8* %3, align 1 + %5 = load i8*, i8** %r1, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr1, i8** %r1, align 8 + store i8 %4, i8* %5, align 1 + %6 = load i64, i64* %n.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %7 = load i8*, i8** %r1, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @stpcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + br label %while.cond + +while.cond: ; preds = %while.cond, %entry + %0 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %0, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %1 = load i8, i8* %0, align 1 + %2 = load i8*, i8** %s1.addr, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %2, i32 1 + store i8* %incdec.ptr1, i8** %s1.addr, align 8 + store i8 %1, i8* %2, align 1 + %conv = sext i8 %1 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %while.cond, label %while.end + +while.end: ; preds = %while.cond + %3 = load i8*, i8** %s1.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %3, i64 -1 + ret i8* %add.ptr +} + +; Function Attrs: noinline nounwind uwtable +define i8* @strcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + br label %while.cond + +while.cond: ; preds = %while.cond, %entry + %1 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %1, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %2 = load i8, i8* %1, align 1 + %3 = load i8*, i8** %s, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr1, i8** %s, align 8 + store i8 %2, i8* %3, align 1 + %conv = sext i8 %2 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %while.cond, label %while.end + +while.end: ; preds = %while.cond + %4 = load i8*, i8** %s1.addr, align 8 + ret i8* %4 +} + +; Function Attrs: noinline nounwind uwtable +define noalias i8* @strdup(i8* nonnull %s1) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + %l = alloca i64, align 8 + store i8* %s1, i8** %s1.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + %call = call i64 @strlen(i8* %0) #20 + %add = add i64 %call, 1 + %mul = mul i64 %add, 1 + store i64 %mul, i64* %l, align 8 + %1 = load i64, i64* %l, align 8 + %call1 = call noalias i8* @malloc(i64 %1) #19 + store i8* %call1, i8** %s, align 8 + %cmp = icmp ne i8* %call1, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load i8*, i8** %s, align 8 + %3 = load i8*, i8** %s1.addr, align 8 + %4 = load i64, i64* %l, align 8 + %call2 = call i8* @memcpy(i8* %2, i8* %3, i64 %4) #19 + br label %if.end + +if.end: ; preds = %if.then, %entry + %5 = load i8*, i8** %s, align 8 + ret i8* %5 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @strerror(i32 %errnum) #0 { +entry: + %errnum.addr = alloca i32, align 4 + store i32 %errnum, i32* %errnum.addr, align 4 + %0 = load i32, i32* %errnum.addr, align 4 + %call = call i32 @__xpg_strerror_r(i32 %0, i8* getelementptr inbounds ([50 x i8], [50 x i8]* @strerror.buf, i64 0, i64 0), i64 50) #18 + ret i8* getelementptr inbounds ([50 x i8], [50 x i8]* @strerror.buf, i64 0, i64 0) +} + +; Function Attrs: noinline nounwind uwtable +define i64 @wcrtomb(i8* noalias %s, i32 %wc, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %s.addr = alloca i8*, align 8 + %wc.addr = alloca i32, align 4 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %wcbuf = alloca [1 x i32], align 4 + %pwc = alloca i32*, align 8 + %r = alloca i64, align 8 + %buf = alloca [16 x i8], align 16 + store i8* %s, i8** %s.addr, align 8 + store i32 %wc, i32* %wc.addr, align 4 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay, i8** %s.addr, align 8 + store i32 0, i32* %wc.addr, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %arraydecay1 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay1, i32** %pwc, align 8 + %1 = load i32, i32* %wc.addr, align 4 + %arrayidx = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32 %1, i32* %arrayidx, align 4 + %2 = load i8*, i8** %s.addr, align 8 + %3 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @wcsnrtombs(i8* %2, i32** %pwc, i64 1, i64 16, %struct.__mbstate_t.512* %3) #19 + store i64 %call, i64* %r, align 8 + %4 = load i64, i64* %r, align 8 + %cmp = icmp ne i64 %4, 0 + %5 = load i64, i64* %r, align 8 + %cond = select i1 %cmp, i64 %5, i64 1 + ret i64 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i64 @wcsrtombs(i8* noalias %dst, i32** noalias %src, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %dst.addr = alloca i8*, align 8 + %src.addr = alloca i32**, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + store i8* %dst, i8** %dst.addr, align 8 + store i32** %src, i32*** %src.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load i8*, i8** %dst.addr, align 8 + %1 = load i32**, i32*** %src.addr, align 8 + %2 = load i64, i64* %len.addr, align 8 + %3 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @wcsnrtombs(i8* %0, i32** %1, i64 -1, i64 %2, %struct.__mbstate_t.512* %3) #19 + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @iswctype_l(i32 %wc, i32 %desc, %struct.__uclibc_locale_struct.201* %locale) #0 { +entry: + %retval = alloca i32, align 4 + %wc.addr = alloca i32, align 4 + %desc.addr = alloca i32, align 4 + %locale.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %sc = alloca i32, align 4 + %n = alloca i32, align 4 + %i0 = alloca i32, align 4 + %i1 = alloca i32, align 4 + %d = alloca i8, align 1 + store i32 %wc, i32* %wc.addr, align 4 + store i32 %desc, i32* %desc.addr, align 4 + store %struct.__uclibc_locale_struct.201* %locale, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + store i8 0, i8* %d, align 1 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 9 + %1 = load i8, i8* %encoding, align 8 + %conv = zext i8 %1 to i32 + %cmp = icmp ne i32 %conv, 0 + %2 = load i32, i32* %wc.addr, align 4 + %cmp2 = icmp ule i32 %2, 127 + %or.cond = or i1 %cmp, %cmp2 + br i1 %or.cond, label %if.then, label %if.end78 + +if.then: ; preds = %entry + %3 = load i32, i32* %desc.addr, align 4 + %cmp4 = icmp ult i32 %3, 12 + br i1 %cmp4, label %if.then6, label %if.end58 + +if.then6: ; preds = %if.then + %4 = load i32, i32* %wc.addr, align 4 + %cmp7 = icmp ule i32 %4, 196607 + %5 = load i32, i32* %wc.addr, align 4 + br i1 %cmp7, label %if.then9, label %if.else + +if.then9: ; preds = %if.then6 + %and = and i32 %5, 7 + store i32 %and, i32* %sc, align 4 + %6 = load i32, i32* %wc.addr, align 4 + %shr = lshr i32 %6, 3 + store i32 %shr, i32* %wc.addr, align 4 + %7 = load i32, i32* %wc.addr, align 4 + %and10 = and i32 %7, 31 + store i32 %and10, i32* %n, align 4 + %8 = load i32, i32* %wc.addr, align 4 + %shr11 = lshr i32 %8, 5 + store i32 %shr11, i32* %wc.addr, align 4 + %9 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %tblwctype = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %9, i32 0, i32 21 + %10 = load i8*, i8** %tblwctype, align 8 + %11 = load i32, i32* %wc.addr, align 4 + %idxprom = zext i32 %11 to i64 + %arrayidx = getelementptr inbounds i8, i8* %10, i64 %idxprom + %12 = load i8, i8* %arrayidx, align 1 + %conv12 = zext i8 %12 to i32 + store i32 %conv12, i32* %i0, align 4 + %13 = load i32, i32* %i0, align 4 + %shl = shl i32 %13, 5 + store i32 %shl, i32* %i0, align 4 + %14 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %tblwctype13 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %14, i32 0, i32 21 + %15 = load i8*, i8** %tblwctype13, align 8 + %16 = load i32, i32* %i0, align 4 + %add = add i32 768, %16 + %17 = load i32, i32* %n, align 4 + %add14 = add i32 %add, %17 + %idxprom15 = zext i32 %add14 to i64 + %arrayidx16 = getelementptr inbounds i8, i8* %15, i64 %idxprom15 + %18 = load i8, i8* %arrayidx16, align 1 + %conv17 = zext i8 %18 to i32 + store i32 %conv17, i32* %i1, align 4 + %19 = load i32, i32* %i1, align 4 + %shl18 = shl i32 %19, 2 + store i32 %shl18, i32* %i1, align 4 + %20 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %tblwctype19 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %20, i32 0, i32 21 + %21 = load i8*, i8** %tblwctype19, align 8 + %22 = load i32, i32* %i1, align 4 + %add20 = add i32 2656, %22 + %23 = load i32, i32* %sc, align 4 + %shr21 = lshr i32 %23, 1 + %add22 = add i32 %add20, %shr21 + %idxprom23 = zext i32 %add22 to i64 + %arrayidx24 = getelementptr inbounds i8, i8* %21, i64 %idxprom23 + %24 = load i8, i8* %arrayidx24, align 1 + store i8 %24, i8* %d, align 1 + %25 = load i32, i32* %sc, align 4 + %and25 = and i32 %25, 1 + %tobool = icmp ne i32 %and25, 0 + %26 = load i8, i8* %d, align 1 + %conv26 = zext i8 %26 to i32 + %shr27 = ashr i32 %conv26, 4 + %and29 = and i32 %conv26, 15 + %cond = select i1 %tobool, i32 %shr27, i32 %and29 + %conv30 = trunc i32 %cond to i8 + store i8 %conv30, i8* %d, align 1 + br label %if.end50 + +if.else: ; preds = %if.then6 + %conv31 = zext i32 %5 to i64 + %sub = sub i64 %conv31, 917536 + %conv32 = trunc i64 %sub to i32 + %cmp33 = icmp ule i32 %conv32, 95 + br i1 %cmp33, label %if.then49, label %lor.lhs.false35 + +lor.lhs.false35: ; preds = %if.else + %27 = load i32, i32* %wc.addr, align 4 + %conv36 = zext i32 %27 to i64 + %cmp37 = icmp eq i64 %conv36, 917505 + br i1 %cmp37, label %if.then49, label %lor.lhs.false39 + +lor.lhs.false39: ; preds = %lor.lhs.false35 + %28 = load i32, i32* %wc.addr, align 4 + %conv40 = zext i32 %28 to i64 + %sub41 = sub i64 %conv40, 983040 + %conv42 = trunc i64 %sub41 to i32 + %conv43 = zext i32 %conv42 to i64 + %cmp44 = icmp ult i64 %conv43, 131072 + br i1 %cmp44, label %land.lhs.true, label %if.end50 + +land.lhs.true: ; preds = %lor.lhs.false39 + %29 = load i32, i32* %wc.addr, align 4 + %and46 = and i32 %29, 65535 + %cmp47 = icmp ule i32 %and46, 65533 + br i1 %cmp47, label %if.then49, label %if.end50 + +if.then49: ; preds = %land.lhs.true, %lor.lhs.false35, %if.else + store i8 6, i8* %d, align 1 + br label %if.end50 + +if.end50: ; preds = %lor.lhs.false39, %land.lhs.true, %if.then49, %if.then9 + %30 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %code2flag = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %30, i32 0, i32 20 + %31 = load i16*, i16** %code2flag, align 8 + %32 = load i8, i8* %d, align 1 + %idxprom51 = zext i8 %32 to i64 + %arrayidx52 = getelementptr inbounds i16, i16* %31, i64 %idxprom51 + %33 = load i16, i16* %arrayidx52, align 2 + %conv53 = zext i16 %33 to i32 + %34 = load i32, i32* %desc.addr, align 4 + %idxprom54 = zext i32 %34 to i64 + %arrayidx55 = getelementptr inbounds [13 x i16], [13 x i16]* @desc2flag, i64 0, i64 %idxprom54 + %35 = load i16, i16* %arrayidx55, align 2 + %conv56 = zext i16 %35 to i32 + %and57 = and i32 %conv53, %conv56 + store i32 %and57, i32* %retval, align 4 + br label %return + +if.end58: ; preds = %if.then + %36 = load i32, i32* %desc.addr, align 4 + %cmp59 = icmp eq i32 %36, 12 + br i1 %cmp59, label %cond.false68, label %cond.end76 + +cond.false68: ; preds = %if.end58 + %37 = load i32, i32* %wc.addr, align 4 + %sub69 = sub i32 %37, 48 + %cmp70 = icmp ult i32 %sub69, 10 + %38 = load i32, i32* %wc.addr, align 4 + %or = or i32 %38, 32 + %sub72 = sub i32 %or, 97 + %cmp73 = icmp ult i32 %sub72, 6 + %39 = select i1 %cmp70, i1 true, i1 %cmp73 + %lor.ext = zext i1 %39 to i32 + br label %cond.end76 + +cond.end76: ; preds = %if.end58, %cond.false68 + %cond77 = phi i32 [ %lor.ext, %cond.false68 ], [ 0, %if.end58 ] + store i32 %cond77, i32* %retval, align 4 + br label %return + +if.end78: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end78, %cond.end76, %if.end50 + %40 = load i32, i32* %retval, align 4 + ret i32 %40 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_adjust_position(%struct.__STDIO_FILE_STRUCT.636* noalias %stream, i64* %pos) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %pos.addr = alloca i64*, align 8 + %oldpos = alloca i64, align 8 + %corr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64* %pos, i64** %pos.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 3 + store i32 %and, i32* %corr, align 4 + %cmp = icmp ne i32 %and, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load i32, i32* %corr, align 4 + %dec = add nsw i32 %2, -1 + store i32 %dec, i32* %corr, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %3 = load i32, i32* %corr, align 4 + %tobool = icmp ne i32 %3, 0 + br i1 %tobool, label %land.lhs.true, label %if.end22 + +land.lhs.true: ; preds = %if.end + %4 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %4, i32 0, i32 0 + %5 = load i16, i16* %__modeflags2, align 8 + %conv3 = zext i16 %5 to i32 + %and4 = and i32 %conv3, 2048 + %tobool5 = icmp ne i32 %and4, 0 + br i1 %tobool5, label %if.then6, label %if.end22 + +if.then6: ; preds = %land.lhs.true + %6 = load i32, i32* %corr, align 4 + %cmp7 = icmp sgt i32 %6, 1 + br i1 %cmp7, label %if.then10, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then6 + %7 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %7, i32 0, i32 10 + %arrayidx = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot, i64 0, i64 1 + %8 = load i32, i32* %arrayidx, align 4 + %tobool9 = icmp ne i32 %8, 0 + br i1 %tobool9, label %if.then10, label %if.end11 + +if.then10: ; preds = %lor.lhs.false, %if.then6 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end11: ; preds = %lor.lhs.false + %9 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %9, i32 0, i32 1 + %arrayidx12 = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 1 + %10 = load i8, i8* %arrayidx12, align 1 + %conv13 = zext i8 %10 to i32 + %add = add nsw i32 1, %conv13 + %11 = load i32, i32* %corr, align 4 + %sub = sub nsw i32 %11, %add + store i32 %sub, i32* %corr, align 4 + %12 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %12, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + %13 = load i32, i32* %__mask, align 8 + %cmp14 = icmp sgt i32 %13, 0 + br i1 %cmp14, label %if.then16, label %if.end22 + +if.then16: ; preds = %if.end11 + %14 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot_width17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %14, i32 0, i32 1 + %arrayidx18 = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width17, i64 0, i64 0 + %15 = load i8, i8* %arrayidx18, align 2 + %conv19 = zext i8 %15 to i32 + %16 = load i32, i32* %corr, align 4 + %sub20 = sub nsw i32 %16, %conv19 + store i32 %sub20, i32* %corr, align 4 + br label %if.end22 + +if.end22: ; preds = %if.end11, %if.then16, %land.lhs.true, %if.end + %17 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags23 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %17, i32 0, i32 0 + %18 = load i16, i16* %__modeflags23, align 8 + %conv24 = zext i16 %18 to i32 + %and25 = and i32 %conv24, 64 + %tobool26 = icmp ne i32 %and25, 0 + %19 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + br i1 %tobool26, label %cond.true, label %cond.false + +cond.true: ; preds = %if.end22 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %19, i32 0, i32 3 + %20 = load i8*, i8** %__bufstart, align 8 + br label %cond.end + +cond.false: ; preds = %if.end22 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %19, i32 0, i32 6 + %21 = load i8*, i8** %__bufread, align 8 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i8* [ %20, %cond.true ], [ %21, %cond.false ] + %22 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %22, i32 0, i32 5 + %23 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %cond to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %23 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %24 = load i32, i32* %corr, align 4 + %conv27 = sext i32 %24 to i64 + %add28 = add nsw i64 %conv27, %sub.ptr.sub + %conv29 = trunc i64 %add28 to i32 + store i32 %conv29, i32* %corr, align 4 + %25 = load i64*, i64** %pos.addr, align 8 + %26 = load i64, i64* %25, align 8 + store i64 %26, i64* %oldpos, align 8 + %27 = load i32, i32* %corr, align 4 + %conv30 = sext i32 %27 to i64 + %28 = load i64*, i64** %pos.addr, align 8 + %29 = load i64, i64* %28, align 8 + %sub31 = sub nsw i64 %29, %conv30 + store i64 %sub31, i64* %28, align 8 + %30 = load i64, i64* %oldpos, align 8 + %cmp32 = icmp sgt i64 %sub31, %30 + br i1 %cmp32, label %if.then34, label %if.end36 + +if.then34: ; preds = %cond.end + %31 = load i32, i32* %corr, align 4 + %sub35 = sub nsw i32 0, %31 + store i32 %sub35, i32* %corr, align 4 + br label %if.end36 + +if.end36: ; preds = %if.then34, %cond.end + %32 = load i32, i32* %corr, align 4 + %cmp37 = icmp slt i32 %32, 0 + br i1 %cmp37, label %if.then39, label %if.end40 + +if.then39: ; preds = %if.end36 + store i32 75, i32* @errno, align 4 + br label %if.end40 + +if.end40: ; preds = %if.then39, %if.end36 + %33 = load i32, i32* %corr, align 4 + store i32 %33, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end40, %if.then10 + %34 = load i32, i32* %retval, align 4 + ret i32 %34 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_seek(%struct.__STDIO_FILE_STRUCT.636* %stream, i64* %pos, i32 %whence) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %pos.addr = alloca i64*, align 8 + %whence.addr = alloca i32, align 4 + %res = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64* %pos, i64** %pos.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %0, i32 0, i32 2 + %1 = load i32, i32* %__filedes, align 4 + %2 = load i64*, i64** %pos.addr, align 8 + %3 = load i64, i64* %2, align 8 + %4 = load i32, i32* %whence.addr, align 4 + %call = call i64 @lseek64(i32 %1, i64 %3, i32 %4) #19 + store i64 %call, i64* %res, align 8 + %5 = load i64, i64* %res, align 8 + %cmp = icmp sge i64 %5, 0 + %6 = load i64, i64* %res, align 8 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %entry + %7 = load i64*, i64** %pos.addr, align 8 + store i64 %6, i64* %7, align 8 + br label %cond.end + +cond.false: ; preds = %entry + %conv = trunc i64 %6 to i32 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ 0, %cond.true ], [ %conv, %cond.false ] + ret i32 %cond +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_fpmaxtostr(%struct.__STDIO_FILE_STRUCT.568* %fp, double %x, %struct.printf_info.720* %info, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)* %fp_outfunc) #0 { +entry: + %retval = alloca i64, align 8 + %fp.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %x.addr = alloca double, align 8 + %info.addr = alloca %struct.printf_info.720*, align 8 + %fp_outfunc.addr = alloca i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)*, align 8 + %round = alloca i32, align 4 + %o_exp = alloca i32, align 4 + %exp = alloca i32, align 4 + %width = alloca i32, align 4 + %preci = alloca i32, align 4 + %cnt = alloca i32, align 4 + %s = alloca i8*, align 8 + %e = alloca i8*, align 8 + %pc_fwi = alloca [24 x i64], align 16 + %ppc = alloca i64*, align 8 + %ppc_last = alloca i64*, align 8 + %exp_buf = alloca [16 x i8], align 16 + %buf = alloca [21 x i8], align 16 + %sign_str = alloca [6 x i8], align 1 + %o_mode = alloca i8, align 1 + %mode = alloca i8, align 1 + %i = alloca i32, align 4 + %j = alloca i32, align 4 + %exp_neg = alloca i32, align 4 + %i92 = alloca i32, align 4 + %j93 = alloca i32, align 4 + %digit_block = alloca i64, align 8 + %i151 = alloca i32, align 4 + %i218 = alloca i32, align 4 + %p = alloca i8*, align 8 + %j329 = alloca i32, align 4 + %exp_char = alloca i8, align 1 + %exp_sign = alloca i8, align 1 + %i359 = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %fp, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + store double %x, double* %x.addr, align 8 + store %struct.printf_info.720* %info, %struct.printf_info.720** %info.addr, align 8 + store i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)* %fp_outfunc, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)** %fp_outfunc.addr, align 8 + %0 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %width1 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %0, i32 0, i32 1 + %1 = load i32, i32* %width1, align 4 + store i32 %1, i32* %width, align 4 + %2 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %2, i32 0, i32 0 + %3 = load i32, i32* %prec, align 4 + store i32 %3, i32* %preci, align 4 + %4 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %spec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %4, i32 0, i32 2 + %5 = load i32, i32* %spec, align 4 + %conv = trunc i32 %5 to i8 + store i8 %conv, i8* %mode, align 1 + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + store i8 101, i8* %arraydecay, align 16 + %6 = load i8, i8* %mode, align 1 + %conv2 = sext i8 %6 to i32 + %or = or i32 %conv2, 32 + %cmp = icmp eq i32 %or, 97 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %7 = load i8, i8* %mode, align 1 + %conv4 = sext i8 %7 to i32 + %add = add nsw i32 %conv4, 6 + %conv5 = trunc i32 %add to i8 + store i8 %conv5, i8* %mode, align 1 + br label %if.end + +if.end: ; preds = %if.then, %entry + %8 = load i32, i32* %preci, align 4 + %cmp6 = icmp slt i32 %8, 0 + br i1 %cmp6, label %if.then8, label %if.end9 + +if.then8: ; preds = %if.end + store i32 6, i32* %preci, align 4 + br label %if.end9 + +if.end9: ; preds = %if.then8, %if.end + %arraydecay10 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 0, i8* %arraydecay10, align 1 + %9 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %showsign = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %9, i32 0, i32 3 + %bf.load = load i32, i32* %showsign, align 4 + %bf.lshr = lshr i32 %bf.load, 1 + %bf.clear = and i32 %bf.lshr, 1 + %tobool = icmp ne i32 %bf.clear, 0 + br i1 %tobool, label %if.then11, label %if.else + +if.then11: ; preds = %if.end9 + %arraydecay12 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 43, i8* %arraydecay12, align 1 + br label %if.end19 + +if.else: ; preds = %if.end9 + %10 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %space = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %10, i32 0, i32 3 + %bf.load13 = load i32, i32* %space, align 4 + %bf.clear14 = and i32 %bf.load13, 1 + %tobool15 = icmp ne i32 %bf.clear14, 0 + br i1 %tobool15, label %if.then16, label %if.end19 + +if.then16: ; preds = %if.else + %arraydecay17 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 32, i8* %arraydecay17, align 1 + br label %if.end19 + +if.end19: ; preds = %if.else, %if.then16, %if.then11 + %arraydecay20 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay20, i64 1 + store i8 0, i8* %add.ptr, align 1 + %arrayidx = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 0, i64* %arrayidx, align 8 + %11 = load double, double* %x.addr, align 8 + %12 = load double, double* %x.addr, align 8 + %cmp21 = fcmp une double %11, %12 + br i1 %cmp21, label %if.then23, label %if.end25 + +if.then23: ; preds = %if.end19 + %arrayidx24 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 8, i64* %arrayidx24, align 8 + br label %INF_NAN + +if.end25: ; preds = %if.end19 + %13 = load double, double* %x.addr, align 8 + %cmp26 = fcmp oeq double %13, 0.000000e+00 + %14 = load double, double* %x.addr, align 8 + br i1 %cmp26, label %if.then28, label %if.end34 + +if.then28: ; preds = %if.end25 + %div = fdiv double 1.000000e+00, %14 + %cmp29 = fcmp olt double %div, 0.000000e+00 + br i1 %cmp29, label %if.then31, label %if.end33 + +if.then31: ; preds = %if.then28 + %arraydecay32 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 45, i8* %arraydecay32, align 1 + br label %if.end33 + +if.end33: ; preds = %if.then31, %if.then28 + store i32 -1, i32* %exp, align 4 + br label %GENERATE_DIGITS + +if.end34: ; preds = %if.end25 + %cmp35 = fcmp olt double %14, 0.000000e+00 + br i1 %cmp35, label %if.then37, label %if.end39 + +if.then37: ; preds = %if.end34 + %arraydecay38 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 45, i8* %arraydecay38, align 1 + %15 = load double, double* %x.addr, align 8 + %fneg = fneg double %15 + store double %fneg, double* %x.addr, align 8 + br label %if.end39 + +if.end39: ; preds = %if.then37, %if.end34 + %16 = load double, double* %x.addr, align 8 + %17 = load double, double* %x.addr, align 8 + %div40 = fdiv double %17, 4.000000e+00 + %cmp41 = fcmp oeq double %16, %div40 + br i1 %cmp41, label %INF_NAN, label %if.end58 + +INF_NAN: ; preds = %if.end39, %if.then23 + %18 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %18, i32 0, i32 4 + store i32 32, i32* %pad, align 4 + %arraydecay44 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + %add.ptr45 = getelementptr inbounds i64, i64* %arraydecay44, i64 6 + store i64* %add.ptr45, i64** %ppc, align 8 + %arrayidx46 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 3 + store i64 112, i64* %arrayidx46, align 8 + %arrayidx47 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 4 + store i64 3, i64* %arrayidx47, align 16 + %19 = load i8, i8* %mode, align 1 + %conv48 = sext i8 %19 to i32 + %cmp49 = icmp slt i32 %conv48, 97 + br i1 %cmp49, label %if.then51, label %if.end54 + +if.then51: ; preds = %INF_NAN + %arrayidx52 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + %20 = load i64, i64* %arrayidx52, align 8 + %add53 = add nsw i64 %20, 4 + store i64 %add53, i64* %arrayidx52, align 8 + br label %if.end54 + +if.end54: ; preds = %if.then51, %INF_NAN + %arrayidx55 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + %21 = load i64, i64* %arrayidx55, align 8 + %add.ptr56 = getelementptr inbounds i8, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 0), i64 %21 + %22 = ptrtoint i8* %add.ptr56 to i64 + %arrayidx57 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 %22, i64* %arrayidx57, align 8 + br label %EXIT_SPECIAL + +if.end58: ; preds = %if.end39 + store i32 8, i32* %exp, align 4 + store i32 9, i32* %i, align 4 + store i32 256, i32* %j, align 4 + store i32 0, i32* %exp_neg, align 4 + %23 = load double, double* %x.addr, align 8 + %cmp59 = fcmp olt double %23, 1.000000e+08 + br i1 %cmp59, label %if.then61, label %if.end62 + +if.then61: ; preds = %if.end58 + store i32 1, i32* %exp_neg, align 4 + br label %if.end62 + +if.end62: ; preds = %if.then61, %if.end58 + br label %do.body + +do.body: ; preds = %if.end85, %if.end62 + %24 = load i32, i32* %i, align 4 + %dec = add nsw i32 %24, -1 + store i32 %dec, i32* %i, align 4 + %25 = load i32, i32* %exp_neg, align 4 + %tobool63 = icmp ne i32 %25, 0 + %26 = load double, double* %x.addr, align 8 + %27 = load i32, i32* %i, align 4 + %idxprom = sext i32 %27 to i64 + %arrayidx65 = getelementptr inbounds [9 x double], [9 x double]* @exp10_table, i64 0, i64 %idxprom + %28 = load double, double* %arrayidx65, align 8 + br i1 %tobool63, label %if.then64, label %if.else73 + +if.then64: ; preds = %do.body + %mul = fmul double %26, %28 + %cmp66 = fcmp olt double %mul, 1.000000e+09 + br i1 %cmp66, label %if.then68, label %if.end85 + +if.then68: ; preds = %if.then64 + %29 = load i32, i32* %i, align 4 + %idxprom69 = sext i32 %29 to i64 + %arrayidx70 = getelementptr inbounds [9 x double], [9 x double]* @exp10_table, i64 0, i64 %idxprom69 + %30 = load double, double* %arrayidx70, align 8 + %31 = load double, double* %x.addr, align 8 + %mul71 = fmul double %31, %30 + store double %mul71, double* %x.addr, align 8 + %32 = load i32, i32* %j, align 4 + %33 = load i32, i32* %exp, align 4 + %sub = sub nsw i32 %33, %32 + store i32 %sub, i32* %exp, align 4 + br label %if.end85 + +if.else73: ; preds = %do.body + %div76 = fdiv double %26, %28 + %cmp77 = fcmp oge double %div76, 1.000000e+08 + br i1 %cmp77, label %if.then79, label %if.end85 + +if.then79: ; preds = %if.else73 + %34 = load i32, i32* %i, align 4 + %idxprom80 = sext i32 %34 to i64 + %arrayidx81 = getelementptr inbounds [9 x double], [9 x double]* @exp10_table, i64 0, i64 %idxprom80 + %35 = load double, double* %arrayidx81, align 8 + %36 = load double, double* %x.addr, align 8 + %div82 = fdiv double %36, %35 + store double %div82, double* %x.addr, align 8 + %37 = load i32, i32* %j, align 4 + %38 = load i32, i32* %exp, align 4 + %add83 = add nsw i32 %38, %37 + store i32 %add83, i32* %exp, align 4 + br label %if.end85 + +if.end85: ; preds = %if.else73, %if.then79, %if.then64, %if.then68 + %39 = load i32, i32* %j, align 4 + %shr = ashr i32 %39, 1 + store i32 %shr, i32* %j, align 4 + %40 = load i32, i32* %i, align 4 + %tobool86 = icmp ne i32 %40, 0 + br i1 %tobool86, label %do.body, label %do.end + +do.end: ; preds = %if.end85 + %41 = load double, double* %x.addr, align 8 + %cmp87 = fcmp oge double %41, 1.000000e+09 + br i1 %cmp87, label %if.then89, label %GENERATE_DIGITS + +if.then89: ; preds = %do.end + %42 = load double, double* getelementptr inbounds ([9 x double], [9 x double]* @exp10_table, i64 0, i64 0), align 16 + %43 = load double, double* %x.addr, align 8 + %div90 = fdiv double %43, %42 + store double %div90, double* %x.addr, align 8 + %44 = load i32, i32* %exp, align 4 + %inc = add nsw i32 %44, 1 + store i32 %inc, i32* %exp, align 4 + br label %GENERATE_DIGITS + +GENERATE_DIGITS: ; preds = %do.end, %if.then89, %if.end33 + %arraydecay94 = getelementptr inbounds [21 x i8], [21 x i8]* %buf, i64 0, i64 0 + %add.ptr95 = getelementptr inbounds i8, i8* %arraydecay94, i64 2 + store i8* %add.ptr95, i8** %s, align 8 + store i32 0, i32* %i92, align 4 + br label %do.body96 + +do.body96: ; preds = %do.cond114, %GENERATE_DIGITS + %45 = load double, double* %x.addr, align 8 + %conv97 = fptoui double %45 to i64 + store i64 %conv97, i64* %digit_block, align 8 + %46 = load double, double* %x.addr, align 8 + %47 = load i64, i64* %digit_block, align 8 + %conv98 = uitofp i64 %47 to double + %sub99 = fsub double %46, %conv98 + %mul100 = fmul double %sub99, 1.000000e+09 + store double %mul100, double* %x.addr, align 8 + %48 = load i8*, i8** %s, align 8 + %add.ptr101 = getelementptr inbounds i8, i8* %48, i64 9 + store i8* %add.ptr101, i8** %s, align 8 + store i32 0, i32* %j93, align 4 + br label %do.body102 + +do.body102: ; preds = %do.body102, %do.body96 + %49 = load i64, i64* %digit_block, align 8 + %rem = urem i64 %49, 10 + %add103 = add i64 48, %rem + %conv104 = trunc i64 %add103 to i8 + %50 = load i8*, i8** %s, align 8 + %51 = load i32, i32* %j93, align 4 + %inc105 = add nsw i32 %51, 1 + store i32 %inc105, i32* %j93, align 4 + %sub106 = sub nsw i32 0, %inc105 + %idxprom107 = sext i32 %sub106 to i64 + %arrayidx108 = getelementptr inbounds i8, i8* %50, i64 %idxprom107 + store i8 %conv104, i8* %arrayidx108, align 1 + %52 = load i64, i64* %digit_block, align 8 + %div109 = udiv i64 %52, 10 + store i64 %div109, i64* %digit_block, align 8 + %53 = load i32, i32* %j93, align 4 + %cmp111 = icmp slt i32 %53, 9 + br i1 %cmp111, label %do.body102, label %do.cond114 + +do.cond114: ; preds = %do.body102 + %54 = load i32, i32* %i92, align 4 + %inc115 = add nsw i32 %54, 1 + store i32 %inc115, i32* %i92, align 4 + %cmp116 = icmp slt i32 %inc115, 2 + br i1 %cmp116, label %do.body96, label %do.end118 + +do.end118: ; preds = %do.cond114 + %55 = load i8, i8* %mode, align 1 + %conv119 = sext i8 %55 to i32 + %cmp120 = icmp slt i32 %conv119, 97 + br i1 %cmp120, label %if.then122, label %if.end130 + +if.then122: ; preds = %do.end118 + %arraydecay123 = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + %56 = load i8, i8* %arraydecay123, align 16 + %conv124 = sext i8 %56 to i32 + %sub125 = sub nsw i32 %conv124, 32 + %conv126 = trunc i32 %sub125 to i8 + store i8 %conv126, i8* %arraydecay123, align 16 + %57 = load i8, i8* %mode, align 1 + %conv127 = sext i8 %57 to i32 + %add128 = add nsw i32 %conv127, 32 + %conv129 = trunc i32 %add128 to i8 + store i8 %conv129, i8* %mode, align 1 + br label %if.end130 + +if.end130: ; preds = %if.then122, %do.end118 + %58 = load i8, i8* %mode, align 1 + store i8 %58, i8* %o_mode, align 1 + %59 = load i8, i8* %mode, align 1 + %conv131 = sext i8 %59 to i32 + %cmp132 = icmp eq i32 %conv131, 103 + %60 = load i32, i32* %preci, align 4 + %cmp134 = icmp sgt i32 %60, 0 + %or.cond = and i1 %cmp132, %cmp134 + br i1 %or.cond, label %if.then136, label %if.end138 + +if.then136: ; preds = %if.end130 + %61 = load i32, i32* %preci, align 4 + %dec137 = add nsw i32 %61, -1 + store i32 %dec137, i32* %preci, align 4 + br label %if.end138 + +if.end138: ; preds = %if.then136, %if.end130 + %62 = load i32, i32* %preci, align 4 + store i32 %62, i32* %round, align 4 + %63 = load i8, i8* %mode, align 1 + %conv139 = sext i8 %63 to i32 + %cmp140 = icmp eq i32 %conv139, 102 + br i1 %cmp140, label %if.then142, label %if.end149 + +if.then142: ; preds = %if.end138 + %64 = load i32, i32* %exp, align 4 + %65 = load i32, i32* %round, align 4 + %add143 = add nsw i32 %65, %64 + store i32 %add143, i32* %round, align 4 + %66 = load i32, i32* %round, align 4 + %cmp144 = icmp slt i32 %66, -1 + br i1 %cmp144, label %if.then146, label %if.end149 + +if.then146: ; preds = %if.then142 + %arraydecay147 = getelementptr inbounds [21 x i8], [21 x i8]* %buf, i64 0, i64 0 + %call = call i8* @memset(i8* %arraydecay147, i32 48, i64 17) #19 + store i32 -1, i32* %exp, align 4 + store i32 -1, i32* %round, align 4 + br label %if.end149 + +if.end149: ; preds = %if.then142, %if.then146, %if.end138 + %arraydecay150 = getelementptr inbounds [21 x i8], [21 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay150, i8** %s, align 8 + %67 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %67, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + store i8 0, i8* %67, align 1 + %68 = load i8*, i8** %s, align 8 + store i8 48, i8* %68, align 1 + store i32 0, i32* %i151, align 4 + %69 = load i8*, i8** %s, align 8 + %add.ptr152 = getelementptr inbounds i8, i8* %69, i64 17 + %add.ptr153 = getelementptr inbounds i8, i8* %add.ptr152, i64 1 + store i8* %add.ptr153, i8** %e, align 8 + %70 = load i32, i32* %round, align 4 + %cmp154 = icmp slt i32 %70, 17 + br i1 %cmp154, label %if.then156, label %if.end164 + +if.then156: ; preds = %if.end149 + %71 = load i8*, i8** %s, align 8 + %72 = load i32, i32* %round, align 4 + %idx.ext = sext i32 %72 to i64 + %add.ptr157 = getelementptr inbounds i8, i8* %71, i64 %idx.ext + %add.ptr158 = getelementptr inbounds i8, i8* %add.ptr157, i64 2 + store i8* %add.ptr158, i8** %e, align 8 + %73 = load i8*, i8** %e, align 8 + %74 = load i8, i8* %73, align 1 + %conv159 = sext i8 %74 to i32 + %cmp160 = icmp sge i32 %conv159, 53 + br i1 %cmp160, label %if.then162, label %if.end164 + +if.then162: ; preds = %if.then156 + store i32 1, i32* %i151, align 4 + br label %if.end164 + +if.end164: ; preds = %if.then156, %if.then162, %if.end149 + br label %do.body165 + +do.body165: ; preds = %do.body165, %lor.rhs, %if.end164 + %75 = load i32, i32* %i151, align 4 + %76 = load i8*, i8** %e, align 8 + %incdec.ptr166 = getelementptr inbounds i8, i8* %76, i32 -1 + store i8* %incdec.ptr166, i8** %e, align 8 + %77 = load i8, i8* %incdec.ptr166, align 1 + %conv167 = sext i8 %77 to i32 + %add168 = add nsw i32 %conv167, %75 + %conv169 = trunc i32 %add168 to i8 + store i8 %conv169, i8* %incdec.ptr166, align 1 + %78 = load i8*, i8** %e, align 8 + %79 = load i8, i8* %78, align 1 + %conv171 = sext i8 %79 to i32 + %cmp172 = icmp eq i32 %conv171, 48 + br i1 %cmp172, label %do.body165, label %lor.rhs + +lor.rhs: ; preds = %do.body165 + %80 = load i8*, i8** %e, align 8 + %81 = load i8, i8* %80, align 1 + %conv174 = sext i8 %81 to i32 + %cmp175 = icmp sgt i32 %conv174, 57 + br i1 %cmp175, label %do.body165, label %do.end177 + +do.end177: ; preds = %lor.rhs + %82 = load i32, i32* %exp, align 4 + store i32 %82, i32* %o_exp, align 4 + %83 = load i8*, i8** %e, align 8 + %84 = load i8*, i8** %s, align 8 + %cmp178 = icmp ule i8* %83, %84 + br i1 %cmp178, label %if.then180, label %if.else182 + +if.then180: ; preds = %do.end177 + %85 = load i32, i32* %o_exp, align 4 + %inc181 = add nsw i32 %85, 1 + store i32 %inc181, i32* %o_exp, align 4 + %86 = load i8*, i8** %s, align 8 + store i8* %86, i8** %e, align 8 + br label %if.end184 + +if.else182: ; preds = %do.end177 + %87 = load i8*, i8** %s, align 8 + %incdec.ptr183 = getelementptr inbounds i8, i8* %87, i32 1 + store i8* %incdec.ptr183, i8** %s, align 8 + br label %if.end184 + +if.end184: ; preds = %if.else182, %if.then180 + %88 = load i8*, i8** %e, align 8 + %incdec.ptr185 = getelementptr inbounds i8, i8* %88, i32 1 + store i8* %incdec.ptr185, i8** %e, align 8 + store i8 0, i8* %incdec.ptr185, align 1 + %89 = load i8, i8* %mode, align 1 + %conv186 = sext i8 %89 to i32 + %cmp187 = icmp eq i32 %conv186, 103 + %90 = load i32, i32* %o_exp, align 4 + %cmp190 = icmp sge i32 %90, -4 + %or.cond1 = and i1 %cmp187, %cmp190 + br i1 %or.cond1, label %land.lhs.true192, label %if.end197 + +land.lhs.true192: ; preds = %if.end184 + %91 = load i32, i32* %o_exp, align 4 + %92 = load i32, i32* %round, align 4 + %cmp193 = icmp sle i32 %91, %92 + br i1 %cmp193, label %if.then195, label %if.end197 + +if.then195: ; preds = %land.lhs.true192 + store i8 102, i8* %mode, align 1 + %93 = load i32, i32* %round, align 4 + %94 = load i32, i32* %o_exp, align 4 + %sub196 = sub nsw i32 %93, %94 + store i32 %sub196, i32* %preci, align 4 + br label %if.end197 + +if.end197: ; preds = %if.then195, %land.lhs.true192, %if.end184 + %95 = load i32, i32* %o_exp, align 4 + store i32 %95, i32* %exp, align 4 + %96 = load i8, i8* %mode, align 1 + %conv198 = sext i8 %96 to i32 + %cmp199 = icmp ne i32 %conv198, 102 + br i1 %cmp199, label %if.then201, label %if.end202 + +if.then201: ; preds = %if.end197 + store i32 0, i32* %o_exp, align 4 + br label %if.end202 + +if.end202: ; preds = %if.then201, %if.end197 + %97 = load i32, i32* %o_exp, align 4 + %cmp203 = icmp slt i32 %97, 0 + br i1 %cmp203, label %if.then205, label %if.end207 + +if.then205: ; preds = %if.end202 + %98 = load i8*, i8** %s, align 8 + %incdec.ptr206 = getelementptr inbounds i8, i8* %98, i32 -1 + store i8* %incdec.ptr206, i8** %s, align 8 + store i8 48, i8* %incdec.ptr206, align 1 + br label %if.end207 + +if.end207: ; preds = %if.then205, %if.end202 + %arrayidx208 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 3 + store i64 176, i64* %arrayidx208, align 8 + %arrayidx209 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 4 + store i64 1, i64* %arrayidx209, align 16 + %arraydecay210 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %add.ptr211 = getelementptr inbounds i8, i8* %arraydecay210, i64 4 + %99 = ptrtoint i8* %add.ptr211 to i64 + %arrayidx212 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 %99, i64* %arrayidx212, align 8 + %100 = load i8*, i8** %s, align 8 + %incdec.ptr213 = getelementptr inbounds i8, i8* %100, i32 1 + store i8* %incdec.ptr213, i8** %s, align 8 + %101 = load i8, i8* %100, align 1 + %arrayidx214 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 4 + store i8 %101, i8* %arrayidx214, align 1 + %arrayidx215 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 5 + store i8 0, i8* %arrayidx215, align 1 + %arraydecay216 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + %add.ptr217 = getelementptr inbounds i64, i64* %arraydecay216, i64 6 + store i64* %add.ptr217, i64** %ppc, align 8 + %102 = load i8*, i8** %e, align 8 + %103 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %102 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %103 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %conv219 = trunc i64 %sub.ptr.sub to i32 + store i32 %conv219, i32* %i218, align 4 + %104 = load i32, i32* %o_exp, align 4 + %cmp220 = icmp sge i32 %104, 0 + br i1 %cmp220, label %if.then222, label %if.end253 + +if.then222: ; preds = %if.end207 + %105 = load i64*, i64** %ppc, align 8 + %arrayidx223 = getelementptr inbounds i64, i64* %105, i64 0 + store i64 112, i64* %arrayidx223, align 8 + %106 = load i8*, i8** %s, align 8 + %107 = ptrtoint i8* %106 to i64 + %108 = load i64*, i64** %ppc, align 8 + %arrayidx224 = getelementptr inbounds i64, i64* %108, i64 2 + store i64 %107, i64* %arrayidx224, align 8 + %109 = load i32, i32* %o_exp, align 4 + %110 = load i32, i32* %i218, align 4 + %cmp225 = icmp sge i32 %109, %110 + br i1 %cmp225, label %if.then227, label %if.else241 + +if.then227: ; preds = %if.then222 + %111 = load i32, i32* %i218, align 4 + %conv228 = sext i32 %111 to i64 + %112 = load i64*, i64** %ppc, align 8 + %arrayidx229 = getelementptr inbounds i64, i64* %112, i64 1 + store i64 %conv228, i64* %arrayidx229, align 8 + %113 = load i64*, i64** %ppc, align 8 + %add.ptr230 = getelementptr inbounds i64, i64* %113, i64 3 + store i64* %add.ptr230, i64** %ppc, align 8 + %114 = load i32, i32* %i218, align 4 + %115 = load i32, i32* %o_exp, align 4 + %sub231 = sub nsw i32 %115, %114 + store i32 %sub231, i32* %o_exp, align 4 + store i32 0, i32* %i218, align 4 + %116 = load i32, i32* %o_exp, align 4 + %cmp232 = icmp sgt i32 %116, 0 + br i1 %cmp232, label %if.then234, label %if.end252 + +if.then234: ; preds = %if.then227 + %117 = load i64*, i64** %ppc, align 8 + %arrayidx235 = getelementptr inbounds i64, i64* %117, i64 0 + store i64 176, i64* %arrayidx235, align 8 + %118 = load i32, i32* %o_exp, align 4 + %conv236 = sext i32 %118 to i64 + %119 = load i64*, i64** %ppc, align 8 + %arrayidx237 = getelementptr inbounds i64, i64* %119, i64 1 + store i64 %conv236, i64* %arrayidx237, align 8 + %120 = load i64*, i64** %ppc, align 8 + %arrayidx238 = getelementptr inbounds i64, i64* %120, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx238, align 8 + %121 = load i64*, i64** %ppc, align 8 + %add.ptr239 = getelementptr inbounds i64, i64* %121, i64 3 + store i64* %add.ptr239, i64** %ppc, align 8 + br label %if.end252 + +if.else241: ; preds = %if.then222 + %122 = load i32, i32* %o_exp, align 4 + %cmp242 = icmp sgt i32 %122, 0 + br i1 %cmp242, label %if.then244, label %if.end252 + +if.then244: ; preds = %if.else241 + %123 = load i32, i32* %o_exp, align 4 + %conv245 = sext i32 %123 to i64 + %124 = load i64*, i64** %ppc, align 8 + %arrayidx246 = getelementptr inbounds i64, i64* %124, i64 1 + store i64 %conv245, i64* %arrayidx246, align 8 + %125 = load i64*, i64** %ppc, align 8 + %add.ptr247 = getelementptr inbounds i64, i64* %125, i64 3 + store i64* %add.ptr247, i64** %ppc, align 8 + %126 = load i32, i32* %o_exp, align 4 + %127 = load i8*, i8** %s, align 8 + %idx.ext248 = sext i32 %126 to i64 + %add.ptr249 = getelementptr inbounds i8, i8* %127, i64 %idx.ext248 + store i8* %add.ptr249, i8** %s, align 8 + %128 = load i32, i32* %o_exp, align 4 + %129 = load i32, i32* %i218, align 4 + %sub250 = sub nsw i32 %129, %128 + store i32 %sub250, i32* %i218, align 4 + br label %if.end252 + +if.end252: ; preds = %if.else241, %if.then244, %if.then227, %if.then234 + store i32 -1, i32* %o_exp, align 4 + br label %if.end253 + +if.end253: ; preds = %if.end252, %if.end207 + %130 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %alt = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %130, i32 0, i32 3 + %bf.load254 = load i32, i32* %alt, align 4 + %bf.lshr255 = lshr i32 %bf.load254, 4 + %bf.clear256 = and i32 %bf.lshr255, 1 + %tobool257 = icmp ne i32 %bf.clear256, 0 + %131 = load i32, i32* %i218, align 4 + %tobool258 = icmp ne i32 %131, 0 + %or.cond2 = or i1 %tobool257, %tobool258 + br i1 %or.cond2, label %if.then266, label %lor.lhs.false259 + +lor.lhs.false259: ; preds = %if.end253 + %132 = load i8, i8* %o_mode, align 1 + %conv260 = sext i8 %132 to i32 + %cmp261 = icmp ne i32 %conv260, 103 + %133 = load i32, i32* %preci, align 4 + %cmp264 = icmp sgt i32 %133, 0 + %or.cond3 = and i1 %cmp261, %cmp264 + br i1 %or.cond3, label %if.then266, label %if.end281 + +if.then266: ; preds = %lor.lhs.false259, %if.end253 + %134 = load i64*, i64** %ppc, align 8 + %arrayidx267 = getelementptr inbounds i64, i64* %134, i64 0 + store i64 112, i64* %arrayidx267, align 8 + %135 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %wide = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %135, i32 0, i32 3 + %bf.load268 = load i32, i32* %wide, align 4 + %bf.lshr269 = lshr i32 %bf.load268, 7 + %bf.clear270 = and i32 %bf.lshr269, 1 + %tobool271 = icmp ne i32 %bf.clear270, 0 + br i1 %tobool271, label %if.then272, label %if.else275 + +if.then272: ; preds = %if.then266 + %136 = load i64*, i64** %ppc, align 8 + %arrayidx273 = getelementptr inbounds i64, i64* %136, i64 1 + store i64 1, i64* %arrayidx273, align 8 + %137 = load i64*, i64** %ppc, align 8 + %arrayidx274 = getelementptr inbounds i64, i64* %137, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 16) to i64), i64* %arrayidx274, align 8 + br label %if.end279 + +if.else275: ; preds = %if.then266 + %138 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %decimal_point_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %138, i32 0, i32 26 + %139 = load i32, i32* %decimal_point_len, align 8 + %conv276 = sext i32 %139 to i64 + %140 = load i64*, i64** %ppc, align 8 + %arrayidx277 = getelementptr inbounds i64, i64* %140, i64 1 + store i64 %conv276, i64* %arrayidx277, align 8 + %141 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %decimal_point = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %141, i32 0, i32 39 + %142 = load i8*, i8** %decimal_point, align 8 + %143 = ptrtoint i8* %142 to i64 + %144 = load i64*, i64** %ppc, align 8 + %arrayidx278 = getelementptr inbounds i64, i64* %144, i64 2 + store i64 %143, i64* %arrayidx278, align 8 + br label %if.end279 + +if.end279: ; preds = %if.else275, %if.then272 + %145 = load i64*, i64** %ppc, align 8 + %add.ptr280 = getelementptr inbounds i64, i64* %145, i64 3 + store i64* %add.ptr280, i64** %ppc, align 8 + br label %if.end281 + +if.end281: ; preds = %if.end279, %lor.lhs.false259 + %146 = load i32, i32* %o_exp, align 4 + %inc282 = add nsw i32 %146, 1 + store i32 %inc282, i32* %o_exp, align 4 + %cmp283 = icmp slt i32 %inc282, 0 + br i1 %cmp283, label %if.then285, label %if.end292 + +if.then285: ; preds = %if.end281 + %147 = load i64*, i64** %ppc, align 8 + %arrayidx286 = getelementptr inbounds i64, i64* %147, i64 0 + store i64 176, i64* %arrayidx286, align 8 + %148 = load i32, i32* %o_exp, align 4 + %sub287 = sub nsw i32 0, %148 + %conv288 = sext i32 %sub287 to i64 + %149 = load i64*, i64** %ppc, align 8 + %arrayidx289 = getelementptr inbounds i64, i64* %149, i64 1 + store i64 %conv288, i64* %arrayidx289, align 8 + %150 = load i64*, i64** %ppc, align 8 + %arrayidx290 = getelementptr inbounds i64, i64* %150, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx290, align 8 + %151 = load i64*, i64** %ppc, align 8 + %add.ptr291 = getelementptr inbounds i64, i64* %151, i64 3 + store i64* %add.ptr291, i64** %ppc, align 8 + br label %if.end292 + +if.end292: ; preds = %if.then285, %if.end281 + %152 = load i32, i32* %i218, align 4 + %tobool293 = icmp ne i32 %152, 0 + br i1 %tobool293, label %if.then294, label %if.end300 + +if.then294: ; preds = %if.end292 + %153 = load i64*, i64** %ppc, align 8 + %arrayidx295 = getelementptr inbounds i64, i64* %153, i64 0 + store i64 112, i64* %arrayidx295, align 8 + %154 = load i32, i32* %i218, align 4 + %conv296 = sext i32 %154 to i64 + %155 = load i64*, i64** %ppc, align 8 + %arrayidx297 = getelementptr inbounds i64, i64* %155, i64 1 + store i64 %conv296, i64* %arrayidx297, align 8 + %156 = load i8*, i8** %s, align 8 + %157 = ptrtoint i8* %156 to i64 + %158 = load i64*, i64** %ppc, align 8 + %arrayidx298 = getelementptr inbounds i64, i64* %158, i64 2 + store i64 %157, i64* %arrayidx298, align 8 + %159 = load i64*, i64** %ppc, align 8 + %add.ptr299 = getelementptr inbounds i64, i64* %159, i64 3 + store i64* %add.ptr299, i64** %ppc, align 8 + br label %if.end300 + +if.end300: ; preds = %if.then294, %if.end292 + %160 = load i8, i8* %o_mode, align 1 + %conv301 = sext i8 %160 to i32 + %cmp302 = icmp ne i32 %conv301, 103 + br i1 %cmp302, label %if.then310, label %lor.lhs.false304 + +lor.lhs.false304: ; preds = %if.end300 + %161 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %alt305 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %161, i32 0, i32 3 + %bf.load306 = load i32, i32* %alt305, align 4 + %bf.lshr307 = lshr i32 %bf.load306, 4 + %bf.clear308 = and i32 %bf.lshr307, 1 + %tobool309 = icmp ne i32 %bf.clear308, 0 + br i1 %tobool309, label %if.then310, label %if.end322 + +if.then310: ; preds = %lor.lhs.false304, %if.end300 + %162 = load i32, i32* %o_exp, align 4 + %163 = load i32, i32* %i218, align 4 + %sub311 = sub nsw i32 %163, %162 + store i32 %sub311, i32* %i218, align 4 + %164 = load i32, i32* %i218, align 4 + %165 = load i32, i32* %preci, align 4 + %cmp312 = icmp slt i32 %164, %165 + br i1 %cmp312, label %if.then314, label %if.end322 + +if.then314: ; preds = %if.then310 + %166 = load i32, i32* %preci, align 4 + %167 = load i32, i32* %i218, align 4 + %sub315 = sub nsw i32 %166, %167 + store i32 %sub315, i32* %i218, align 4 + %168 = load i64*, i64** %ppc, align 8 + %arrayidx316 = getelementptr inbounds i64, i64* %168, i64 0 + store i64 176, i64* %arrayidx316, align 8 + %169 = load i32, i32* %i218, align 4 + %conv317 = sext i32 %169 to i64 + %170 = load i64*, i64** %ppc, align 8 + %arrayidx318 = getelementptr inbounds i64, i64* %170, i64 1 + store i64 %conv317, i64* %arrayidx318, align 8 + %171 = load i64*, i64** %ppc, align 8 + %arrayidx319 = getelementptr inbounds i64, i64* %171, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx319, align 8 + %172 = load i64*, i64** %ppc, align 8 + %add.ptr320 = getelementptr inbounds i64, i64* %172, i64 3 + store i64* %add.ptr320, i64** %ppc, align 8 + br label %if.end322 + +if.end322: ; preds = %if.then310, %if.then314, %lor.lhs.false304 + %173 = load i8, i8* %mode, align 1 + %conv323 = sext i8 %173 to i32 + %cmp324 = icmp ne i32 %conv323, 102 + br i1 %cmp324, label %if.then326, label %EXIT_SPECIAL + +if.then326: ; preds = %if.end322 + %arraydecay327 = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + %add.ptr328 = getelementptr inbounds i8, i8* %arraydecay327, i64 16 + store i8* %add.ptr328, i8** %p, align 8 + %arraydecay330 = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + %174 = load i8, i8* %arraydecay330, align 16 + store i8 %174, i8* %exp_char, align 1 + store i8 43, i8* %exp_sign, align 1 + %175 = load i32, i32* %exp, align 4 + %cmp331 = icmp slt i32 %175, 0 + br i1 %cmp331, label %if.then333, label %if.end335 + +if.then333: ; preds = %if.then326 + store i8 45, i8* %exp_sign, align 1 + %176 = load i32, i32* %exp, align 4 + %sub334 = sub nsw i32 0, %176 + store i32 %sub334, i32* %exp, align 4 + br label %if.end335 + +if.end335: ; preds = %if.then333, %if.then326 + %177 = load i8*, i8** %p, align 8 + %incdec.ptr336 = getelementptr inbounds i8, i8* %177, i32 -1 + store i8* %incdec.ptr336, i8** %p, align 8 + store i8 0, i8* %incdec.ptr336, align 1 + store i32 2, i32* %j329, align 4 + br label %do.body337 + +do.body337: ; preds = %do.body337, %if.end335 + %178 = load i32, i32* %exp, align 4 + %rem338 = srem i32 %178, 10 + %add339 = add nsw i32 48, %rem338 + %conv340 = trunc i32 %add339 to i8 + %179 = load i8*, i8** %p, align 8 + %incdec.ptr341 = getelementptr inbounds i8, i8* %179, i32 -1 + store i8* %incdec.ptr341, i8** %p, align 8 + store i8 %conv340, i8* %incdec.ptr341, align 1 + %180 = load i32, i32* %exp, align 4 + %div342 = sdiv i32 %180, 10 + store i32 %div342, i32* %exp, align 4 + %181 = load i32, i32* %j329, align 4 + %inc344 = add nsw i32 %181, 1 + store i32 %inc344, i32* %j329, align 4 + %cmp345 = icmp slt i32 %inc344, 4 + %182 = load i32, i32* %exp, align 4 + %tobool348 = icmp ne i32 %182, 0 + %183 = select i1 %cmp345, i1 true, i1 %tobool348 + br i1 %183, label %do.body337, label %do.end350 + +do.end350: ; preds = %do.body337 + %184 = load i8, i8* %exp_sign, align 1 + %185 = load i8*, i8** %p, align 8 + %incdec.ptr351 = getelementptr inbounds i8, i8* %185, i32 -1 + store i8* %incdec.ptr351, i8** %p, align 8 + store i8 %184, i8* %incdec.ptr351, align 1 + %186 = load i8, i8* %exp_char, align 1 + %187 = load i8*, i8** %p, align 8 + %incdec.ptr352 = getelementptr inbounds i8, i8* %187, i32 -1 + store i8* %incdec.ptr352, i8** %p, align 8 + store i8 %186, i8* %incdec.ptr352, align 1 + %188 = load i64*, i64** %ppc, align 8 + %arrayidx353 = getelementptr inbounds i64, i64* %188, i64 0 + store i64 112, i64* %arrayidx353, align 8 + %189 = load i32, i32* %j329, align 4 + %conv354 = sext i32 %189 to i64 + %190 = load i64*, i64** %ppc, align 8 + %arrayidx355 = getelementptr inbounds i64, i64* %190, i64 1 + store i64 %conv354, i64* %arrayidx355, align 8 + %191 = load i8*, i8** %p, align 8 + %192 = ptrtoint i8* %191 to i64 + %193 = load i64*, i64** %ppc, align 8 + %arrayidx356 = getelementptr inbounds i64, i64* %193, i64 2 + store i64 %192, i64* %arrayidx356, align 8 + %194 = load i64*, i64** %ppc, align 8 + %add.ptr357 = getelementptr inbounds i64, i64* %194, i64 3 + store i64* %add.ptr357, i64** %ppc, align 8 + br label %EXIT_SPECIAL + +EXIT_SPECIAL: ; preds = %if.end322, %do.end350, %if.end54 + %195 = load i64*, i64** %ppc, align 8 + store i64* %195, i64** %ppc_last, align 8 + %arraydecay360 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + %add.ptr361 = getelementptr inbounds i64, i64* %arraydecay360, i64 4 + store i64* %add.ptr361, i64** %ppc, align 8 + br label %do.body362 + +do.body362: ; preds = %do.body362, %EXIT_SPECIAL + %196 = load i64*, i64** %ppc, align 8 + %197 = load i64, i64* %196, align 8 + %198 = load i32, i32* %width, align 4 + %conv363 = sext i32 %198 to i64 + %sub364 = sub nsw i64 %conv363, %197 + %conv365 = trunc i64 %sub364 to i32 + store i32 %conv365, i32* %width, align 4 + %199 = load i64*, i64** %ppc, align 8 + %add.ptr366 = getelementptr inbounds i64, i64* %199, i64 3 + store i64* %add.ptr366, i64** %ppc, align 8 + %200 = load i64*, i64** %ppc, align 8 + %201 = load i64*, i64** %ppc_last, align 8 + %cmp368 = icmp ult i64* %200, %201 + br i1 %cmp368, label %do.body362, label %do.end370 + +do.end370: ; preds = %do.body362 + %arraydecay371 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + store i64* %arraydecay371, i64** %ppc, align 8 + %202 = load i64*, i64** %ppc, align 8 + %arrayidx372 = getelementptr inbounds i64, i64* %202, i64 0 + store i64 160, i64* %arrayidx372, align 8 + %arraydecay373 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %203 = load i8, i8* %arraydecay373, align 1 + %conv374 = sext i8 %203 to i32 + %cmp375 = icmp ne i32 %conv374, 0 + %conv376 = zext i1 %cmp375 to i32 + store i32 %conv376, i32* %i359, align 4 + %conv377 = sext i32 %conv376 to i64 + %204 = load i64*, i64** %ppc, align 8 + %arrayidx378 = getelementptr inbounds i64, i64* %204, i64 1 + store i64 %conv377, i64* %arrayidx378, align 8 + %arraydecay379 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %205 = ptrtoint i8* %arraydecay379 to i64 + %206 = load i64*, i64** %ppc, align 8 + %arrayidx380 = getelementptr inbounds i64, i64* %206, i64 2 + store i64 %205, i64* %arrayidx380, align 8 + %207 = load i32, i32* %i359, align 4 + %208 = load i32, i32* %width, align 4 + %sub381 = sub nsw i32 %208, %207 + store i32 %sub381, i32* %width, align 4 + %cmp382 = icmp sgt i32 %sub381, 0 + br i1 %cmp382, label %if.then384, label %if.end409 + +if.then384: ; preds = %do.end370 + %209 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %left = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %209, i32 0, i32 3 + %bf.load385 = load i32, i32* %left, align 4 + %bf.lshr386 = lshr i32 %bf.load385, 3 + %bf.clear387 = and i32 %bf.lshr386, 1 + %tobool388 = icmp ne i32 %bf.clear387, 0 + br i1 %tobool388, label %if.then389, label %if.else395 + +if.then389: ; preds = %if.then384 + %210 = load i64*, i64** %ppc_last, align 8 + %arrayidx390 = getelementptr inbounds i64, i64* %210, i64 0 + store i64 160, i64* %arrayidx390, align 8 + %211 = load i32, i32* %width, align 4 + %conv391 = sext i32 %211 to i64 + %212 = load i64*, i64** %ppc_last, align 8 + %arrayidx392 = getelementptr inbounds i64, i64* %212, i64 1 + store i64 %conv391, i64* %arrayidx392, align 8 + %213 = load i64*, i64** %ppc_last, align 8 + %arrayidx393 = getelementptr inbounds i64, i64* %213, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx393, align 8 + %214 = load i64*, i64** %ppc_last, align 8 + %add.ptr394 = getelementptr inbounds i64, i64* %214, i64 3 + store i64* %add.ptr394, i64** %ppc_last, align 8 + br label %if.end409 + +if.else395: ; preds = %if.then384 + %215 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %pad396 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %215, i32 0, i32 4 + %216 = load i32, i32* %pad396, align 4 + %cmp397 = icmp eq i32 %216, 48 + %217 = load i32, i32* %width, align 4 + %conv400 = sext i32 %217 to i64 + %218 = load i64*, i64** %ppc, align 8 + br i1 %cmp397, label %if.then399, label %if.else403 + +if.then399: ; preds = %if.else395 + %arrayidx401 = getelementptr inbounds i64, i64* %218, i64 4 + %219 = load i64, i64* %arrayidx401, align 8 + %add402 = add nsw i64 %219, %conv400 + store i64 %add402, i64* %arrayidx401, align 8 + br label %if.end409 + +if.else403: ; preds = %if.else395 + %arrayidx405 = getelementptr inbounds i64, i64* %218, i64 1 + %220 = load i64, i64* %arrayidx405, align 8 + %add406 = add nsw i64 %220, %conv400 + store i64 %add406, i64* %arrayidx405, align 8 + br label %if.end409 + +if.end409: ; preds = %if.then389, %if.else403, %if.then399, %do.end370 + store i32 0, i32* %cnt, align 4 + br label %do.body410 + +do.body410: ; preds = %if.end418, %if.end409 + %221 = load i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)*, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)** %fp_outfunc.addr, align 8 + %222 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + %223 = load i64*, i64** %ppc, align 8 + %224 = load i64, i64* %223, align 8 + %225 = load i64*, i64** %ppc, align 8 + %arrayidx411 = getelementptr inbounds i64, i64* %225, i64 1 + %226 = load i64, i64* %arrayidx411, align 8 + %227 = load i64*, i64** %ppc, align 8 + %arrayidx412 = getelementptr inbounds i64, i64* %227, i64 2 + %228 = load i64, i64* %arrayidx412, align 8 + %call413 = call i64 %221(%struct.__STDIO_FILE_STRUCT.568* %222, i64 %224, i64 %226, i64 %228) #18 + %229 = load i64*, i64** %ppc, align 8 + %arrayidx414 = getelementptr inbounds i64, i64* %229, i64 1 + %230 = load i64, i64* %arrayidx414, align 8 + %cmp415 = icmp ne i64 %call413, %230 + br i1 %cmp415, label %if.then417, label %if.end418 + +if.then417: ; preds = %do.body410 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end418: ; preds = %do.body410 + %231 = load i64*, i64** %ppc, align 8 + %arrayidx419 = getelementptr inbounds i64, i64* %231, i64 1 + %232 = load i64, i64* %arrayidx419, align 8 + %233 = load i32, i32* %cnt, align 4 + %conv420 = sext i32 %233 to i64 + %add421 = add nsw i64 %conv420, %232 + %conv422 = trunc i64 %add421 to i32 + store i32 %conv422, i32* %cnt, align 4 + %234 = load i64*, i64** %ppc, align 8 + %add.ptr423 = getelementptr inbounds i64, i64* %234, i64 3 + store i64* %add.ptr423, i64** %ppc, align 8 + %235 = load i64*, i64** %ppc, align 8 + %236 = load i64*, i64** %ppc_last, align 8 + %cmp425 = icmp ult i64* %235, %236 + br i1 %cmp425, label %do.body410, label %do.end427 + +do.end427: ; preds = %if.end418 + %237 = load i32, i32* %cnt, align 4 + %conv428 = sext i32 %237 to i64 + store i64 %conv428, i64* %retval, align 8 + br label %return + +return: ; preds = %do.end427, %if.then417 + %238 = load i64, i64* %retval, align 8 + ret i64 %238 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_fwrite(i8* noalias %buffer, i64 %bytes, %struct.__STDIO_FILE_STRUCT.621* noalias %stream) #0 { +entry: + %retval = alloca i64, align 8 + %buffer.addr = alloca i8*, align 8 + %bytes.addr = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.621*, align 8 + %pending = alloca i64, align 8 + %p = alloca i8*, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %bytes, i64* %bytes.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.621* %stream, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 512 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end63, label %if.then + +if.then: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %2, i32 0, i32 2 + %3 = load i32, i32* %__filedes, align 4 + %cmp = icmp eq i32 %3, -2 + br i1 %cmp, label %if.then2, label %if.end8 + +if.then2: ; preds = %if.then + %4 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %4, i32 0, i32 4 + %5 = load i8*, i8** %__bufend, align 8 + %6 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %6, i32 0, i32 5 + %7 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %pending, align 8 + %8 = load i64, i64* %pending, align 8 + %9 = load i64, i64* %bytes.addr, align 8 + %cmp3 = icmp ugt i64 %8, %9 + br i1 %cmp3, label %if.then5, label %if.end + +if.then5: ; preds = %if.then2 + %10 = load i64, i64* %bytes.addr, align 8 + store i64 %10, i64* %pending, align 8 + br label %if.end + +if.end: ; preds = %if.then5, %if.then2 + %11 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufpos6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %11, i32 0, i32 5 + %12 = load i8*, i8** %__bufpos6, align 8 + %13 = load i8*, i8** %buffer.addr, align 8 + %14 = load i64, i64* %pending, align 8 + %call = call i8* @memcpy(i8* %12, i8* %13, i64 %14) #19 + %15 = load i64, i64* %pending, align 8 + %16 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufpos7 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %16, i32 0, i32 5 + %17 = load i8*, i8** %__bufpos7, align 8 + %add.ptr = getelementptr inbounds i8, i8* %17, i64 %15 + store i8* %add.ptr, i8** %__bufpos7, align 8 + %18 = load i64, i64* %bytes.addr, align 8 + store i64 %18, i64* %retval, align 8 + br label %return + +if.end8: ; preds = %if.then + %19 = load i64, i64* %bytes.addr, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufend9 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %20, i32 0, i32 4 + %21 = load i8*, i8** %__bufend9, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufpos10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %22, i32 0, i32 5 + %23 = load i8*, i8** %__bufpos10, align 8 + %sub.ptr.lhs.cast11 = ptrtoint i8* %21 to i64 + %sub.ptr.rhs.cast12 = ptrtoint i8* %23 to i64 + %sub.ptr.sub13 = sub i64 %sub.ptr.lhs.cast11, %sub.ptr.rhs.cast12 + %cmp14 = icmp ule i64 %19, %sub.ptr.sub13 + %24 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufpos17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %24, i32 0, i32 5 + %25 = load i8*, i8** %__bufpos17, align 8 + br i1 %cmp14, label %if.then16, label %if.end51 + +if.then16: ; preds = %if.end8 + %26 = load i8*, i8** %buffer.addr, align 8 + %27 = load i64, i64* %bytes.addr, align 8 + %call18 = call i8* @memcpy(i8* %25, i8* %26, i64 %27) #19 + %28 = load i64, i64* %bytes.addr, align 8 + %29 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufpos19 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %29, i32 0, i32 5 + %30 = load i8*, i8** %__bufpos19, align 8 + %add.ptr20 = getelementptr inbounds i8, i8* %30, i64 %28 + store i8* %add.ptr20, i8** %__bufpos19, align 8 + %31 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__modeflags21 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %31, i32 0, i32 0 + %32 = load i16, i16* %__modeflags21, align 8 + %conv22 = zext i16 %32 to i32 + %and23 = and i32 %conv22, 256 + %tobool24 = icmp ne i32 %and23, 0 + br i1 %tobool24, label %land.lhs.true, label %if.end50 + +land.lhs.true: ; preds = %if.then16 + %33 = load i8*, i8** %buffer.addr, align 8 + %34 = load i64, i64* %bytes.addr, align 8 + %call25 = call i8* @memrchr(i8* %33, i32 10, i64 %34) #20 + %tobool26 = icmp ne i8* %call25, null + br i1 %tobool26, label %if.then27, label %if.end50 + +if.then27: ; preds = %land.lhs.true + %35 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %call28 = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.568*)* @__stdio_wcommit to i64 (%struct.__STDIO_FILE_STRUCT.621*)*)(%struct.__STDIO_FILE_STRUCT.621* %35) #18 + store i64 %call28, i64* %pending, align 8 + %cmp29 = icmp ugt i64 %call28, 0 + br i1 %cmp29, label %if.then31, label %if.end50 + +if.then31: ; preds = %if.then27 + %36 = load i64, i64* %pending, align 8 + %37 = load i64, i64* %bytes.addr, align 8 + %cmp32 = icmp ugt i64 %36, %37 + br i1 %cmp32, label %if.then34, label %if.end35 + +if.then34: ; preds = %if.then31 + %38 = load i64, i64* %bytes.addr, align 8 + store i64 %38, i64* %pending, align 8 + br label %if.end35 + +if.end35: ; preds = %if.then34, %if.then31 + %39 = load i64, i64* %bytes.addr, align 8 + %40 = load i64, i64* %pending, align 8 + %sub = sub i64 %39, %40 + %41 = load i8*, i8** %buffer.addr, align 8 + %add.ptr36 = getelementptr inbounds i8, i8* %41, i64 %sub + store i8* %add.ptr36, i8** %buffer.addr, align 8 + %42 = load i8*, i8** %buffer.addr, align 8 + %43 = load i64, i64* %pending, align 8 + %call37 = call i8* @memchr(i8* %42, i32 10, i64 %43) #20 + store i8* %call37, i8** %p, align 8 + %cmp38 = icmp ne i8* %call37, null + br i1 %cmp38, label %if.then40, label %if.end50 + +if.then40: ; preds = %if.end35 + %44 = load i8*, i8** %buffer.addr, align 8 + %45 = load i64, i64* %pending, align 8 + %add.ptr41 = getelementptr inbounds i8, i8* %44, i64 %45 + %46 = load i8*, i8** %p, align 8 + %sub.ptr.lhs.cast42 = ptrtoint i8* %add.ptr41 to i64 + %sub.ptr.rhs.cast43 = ptrtoint i8* %46 to i64 + %sub.ptr.sub44 = sub i64 %sub.ptr.lhs.cast42, %sub.ptr.rhs.cast43 + store i64 %sub.ptr.sub44, i64* %pending, align 8 + %47 = load i64, i64* %pending, align 8 + %48 = load i64, i64* %bytes.addr, align 8 + %sub45 = sub i64 %48, %47 + store i64 %sub45, i64* %bytes.addr, align 8 + %49 = load i64, i64* %pending, align 8 + %50 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufpos46 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %50, i32 0, i32 5 + %51 = load i8*, i8** %__bufpos46, align 8 + %idx.neg = sub i64 0, %49 + %add.ptr47 = getelementptr inbounds i8, i8* %51, i64 %idx.neg + store i8* %add.ptr47, i8** %__bufpos46, align 8 + br label %if.end50 + +if.end50: ; preds = %if.then27, %if.then40, %if.end35, %land.lhs.true, %if.then16 + %52 = load i64, i64* %bytes.addr, align 8 + store i64 %52, i64* %retval, align 8 + br label %return + +if.end51: ; preds = %if.end8 + %53 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %53, i32 0, i32 3 + %54 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast53 = ptrtoint i8* %25 to i64 + %sub.ptr.rhs.cast54 = ptrtoint i8* %54 to i64 + %sub.ptr.sub55 = sub i64 %sub.ptr.lhs.cast53, %sub.ptr.rhs.cast54 + %tobool56 = icmp ne i64 %sub.ptr.sub55, 0 + br i1 %tobool56, label %if.then57, label %if.end63 + +if.then57: ; preds = %if.end51 + %55 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %call58 = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.568*)* @__stdio_wcommit to i64 (%struct.__STDIO_FILE_STRUCT.621*)*)(%struct.__STDIO_FILE_STRUCT.621* %55) #18 + %tobool59 = icmp ne i64 %call58, 0 + br i1 %tobool59, label %if.then60, label %if.end63 + +if.then60: ; preds = %if.then57 + store i64 0, i64* %retval, align 8 + br label %return + +if.end63: ; preds = %if.end51, %if.then57, %entry + %56 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %57 = load i8*, i8** %buffer.addr, align 8 + %58 = load i64, i64* %bytes.addr, align 8 + %call64 = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.568*, i8*, i64)* @__stdio_WRITE to i64 (%struct.__STDIO_FILE_STRUCT.621*, i8*, i64)*)(%struct.__STDIO_FILE_STRUCT.621* %56, i8* %57, i64 %58) #18 + store i64 %call64, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end63, %if.then60, %if.end50, %if.end + %59 = load i64, i64* %retval, align 8 + ret i64 %59 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_load_inttype(i32 %desttype, i8* %src, i32 %uflag) #0 { +entry: + %retval = alloca i64, align 8 + %desttype.addr = alloca i32, align 4 + %src.addr = alloca i8*, align 8 + %uflag.addr = alloca i32, align 4 + %x = alloca i32, align 4 + %x24 = alloca i32, align 4 + store i32 %desttype, i32* %desttype.addr, align 4 + store i8* %src, i8** %src.addr, align 8 + store i32 %uflag, i32* %uflag.addr, align 4 + %0 = load i32, i32* %uflag.addr, align 4 + %cmp = icmp sge i32 %0, 0 + %1 = load i32, i32* %desttype.addr, align 4 + %and = and i32 %1, 3072 + %tobool = icmp ne i32 %and, 0 + %2 = load i8*, i8** %src.addr, align 8 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + br i1 %tobool, label %if.then1, label %if.end4 + +if.then1: ; preds = %if.then + %3 = bitcast i8* %2 to i64* + %4 = load i64, i64* %3, align 8 + store i64 %4, i64* %retval, align 8 + br label %return + +if.end4: ; preds = %if.then + %5 = bitcast i8* %2 to i32* + %6 = load i32, i32* %5, align 4 + store i32 %6, i32* %x, align 4 + %7 = load i32, i32* %desttype.addr, align 4 + %cmp5 = icmp eq i32 %7, 256 + br i1 %cmp5, label %if.then6, label %if.end8 + +if.then6: ; preds = %if.end4 + %8 = load i32, i32* %x, align 4 + %conv = trunc i32 %8 to i8 + %conv7 = zext i8 %conv to i32 + store i32 %conv7, i32* %x, align 4 + br label %if.end8 + +if.end8: ; preds = %if.then6, %if.end4 + %9 = load i32, i32* %desttype.addr, align 4 + %cmp9 = icmp eq i32 %9, 512 + br i1 %cmp9, label %if.then11, label %if.end14 + +if.then11: ; preds = %if.end8 + %10 = load i32, i32* %x, align 4 + %conv12 = trunc i32 %10 to i16 + %conv13 = zext i16 %conv12 to i32 + store i32 %conv13, i32* %x, align 4 + br label %if.end14 + +if.end14: ; preds = %if.then11, %if.end8 + %11 = load i32, i32* %x, align 4 + %conv15 = zext i32 %11 to i64 + store i64 %conv15, i64* %retval, align 8 + br label %return + +if.else: ; preds = %entry + br i1 %tobool, label %if.then18, label %if.end23 + +if.then18: ; preds = %if.else + %12 = bitcast i8* %2 to i64* + %13 = load i64, i64* %12, align 8 + store i64 %13, i64* %retval, align 8 + br label %return + +if.end23: ; preds = %if.else + %14 = bitcast i8* %2 to i32* + %15 = load i32, i32* %14, align 4 + store i32 %15, i32* %x24, align 4 + %16 = load i32, i32* %desttype.addr, align 4 + %cmp25 = icmp eq i32 %16, 256 + br i1 %cmp25, label %if.then27, label %if.end30 + +if.then27: ; preds = %if.end23 + %17 = load i32, i32* %x24, align 4 + %conv28 = trunc i32 %17 to i8 + %conv29 = sext i8 %conv28 to i32 + store i32 %conv29, i32* %x24, align 4 + br label %if.end30 + +if.end30: ; preds = %if.then27, %if.end23 + %18 = load i32, i32* %desttype.addr, align 4 + %cmp31 = icmp eq i32 %18, 512 + br i1 %cmp31, label %if.then33, label %if.end36 + +if.then33: ; preds = %if.end30 + %19 = load i32, i32* %x24, align 4 + %conv34 = trunc i32 %19 to i16 + %conv35 = sext i16 %conv34 to i32 + store i32 %conv35, i32* %x24, align 4 + br label %if.end36 + +if.end36: ; preds = %if.then33, %if.end30 + %20 = load i32, i32* %x24, align 4 + %conv37 = sext i32 %20 to i64 + store i64 %conv37, i64* %retval, align 8 + br label %return + +return: ; preds = %if.then18, %if.then1, %if.end36, %if.end14 + %21 = load i64, i64* %retval, align 8 + ret i64 %21 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_ppfs_init(%struct.ppfs_t.722* %ppfs, i8* %fmt0) #0 { +entry: + %retval = alloca i32, align 4 + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %fmt0.addr = alloca i8*, align 8 + %r = alloca i32, align 4 + %mbstate = alloca %struct.__mbstate_t.512, align 4 + %p = alloca i8*, align 8 + %p8 = alloca i32*, align 8 + %fmt = alloca i8*, align 8 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store i8* %fmt0, i8** %fmt0.addr, align 8 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %1 = bitcast %struct.ppfs_t.722* %0 to i8* + %call = call i8* @memset(i8* %1, i32 0, i64 176) #19 + %2 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %2, i32 0, i32 2 + %3 = load i32, i32* %maxposarg, align 4 + %dec = add nsw i32 %3, -1 + store i32 %dec, i32* %maxposarg, align 4 + %4 = load i8*, i8** %fmt0.addr, align 8 + %5 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %5, i32 0, i32 0 + store i8* %4, i8** %fmtpos, align 8 + %6 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %6, i32 0, i32 9 + %7 = load i8, i8* %encoding, align 8 + %conv = zext i8 %7 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %if.then, label %if.end7 + +if.then: ; preds = %entry + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %mbstate, i32 0, i32 0 + store i32 0, i32* %__mask, align 4 + %8 = load i8*, i8** %fmt0.addr, align 8 + store i8* %8, i8** %p, align 8 + %call2 = call i64 @mbsrtowcs(i32* null, i8** %p, i64 -1, %struct.__mbstate_t.512* %mbstate) #19 + %cmp3 = icmp eq i64 %call2, -1 + br i1 %cmp3, label %if.then5, label %if.end7 + +if.then5: ; preds = %if.then + %9 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos6 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %9, i32 0, i32 0 + store i8* getelementptr inbounds ([33 x i8], [33 x i8]* @_ppfs_init.invalid_mbs, i64 0, i64 0), i8** %fmtpos6, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end7: ; preds = %if.then, %entry + %10 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %10, i32 0, i32 6 + %arraydecay = getelementptr inbounds [9 x i32], [9 x i32]* %argtype, i64 0, i64 0 + store i32* %arraydecay, i32** %p8, align 8 + store i32 9, i32* %r, align 4 + br label %do.body + +do.body: ; preds = %do.body, %if.end7 + %11 = load i32*, i32** %p8, align 8 + %incdec.ptr = getelementptr inbounds i32, i32* %11, i32 1 + store i32* %incdec.ptr, i32** %p8, align 8 + store i32 8, i32* %11, align 4 + %12 = load i32, i32* %r, align 4 + %dec9 = add nsw i32 %12, -1 + store i32 %dec9, i32* %r, align 4 + %tobool = icmp ne i32 %dec9, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.body + %13 = load i8*, i8** %fmt0.addr, align 8 + store i8* %13, i8** %fmt, align 8 + br label %while.cond + +while.cond: ; preds = %if.end27, %do.end + %14 = load i8*, i8** %fmt, align 8 + %15 = load i8, i8* %14, align 1 + %tobool10 = icmp ne i8 %15, 0 + br i1 %tobool10, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %16 = load i8*, i8** %fmt, align 8 + %17 = load i8, i8* %16, align 1 + %conv11 = sext i8 %17 to i32 + %cmp12 = icmp eq i32 %conv11, 37 + br i1 %cmp12, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %while.body + %18 = load i8*, i8** %fmt, align 8 + %incdec.ptr14 = getelementptr inbounds i8, i8* %18, i32 1 + store i8* %incdec.ptr14, i8** %fmt, align 8 + %19 = load i8, i8* %incdec.ptr14, align 1 + %conv15 = sext i8 %19 to i32 + %cmp16 = icmp ne i32 %conv15, 37 + br i1 %cmp16, label %if.then18, label %if.else + +if.then18: ; preds = %land.lhs.true + %20 = load i8*, i8** %fmt, align 8 + %21 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos19 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %21, i32 0, i32 0 + store i8* %20, i8** %fmtpos19, align 8 + %22 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %call20 = call i32 @_ppfs_parsespec(%struct.ppfs_t.722* %22) #18 + store i32 %call20, i32* %r, align 4 + %cmp21 = icmp slt i32 %call20, 0 + br i1 %cmp21, label %if.then23, label %if.end24 + +if.then23: ; preds = %if.then18 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end24: ; preds = %if.then18 + %23 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos25 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %23, i32 0, i32 0 + %24 = load i8*, i8** %fmtpos25, align 8 + store i8* %24, i8** %fmt, align 8 + br label %if.end27 + +if.else: ; preds = %land.lhs.true, %while.body + %25 = load i8*, i8** %fmt, align 8 + %incdec.ptr26 = getelementptr inbounds i8, i8* %25, i32 1 + store i8* %incdec.ptr26, i8** %fmt, align 8 + br label %if.end27 + +if.end27: ; preds = %if.else, %if.end24 + br label %while.cond + +while.end: ; preds = %while.cond + %26 = load i8*, i8** %fmt0.addr, align 8 + %27 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos28 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %27, i32 0, i32 0 + store i8* %26, i8** %fmtpos28, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %while.end, %if.then23, %if.then5 + %28 = load i32, i32* %retval, align 4 + ret i32 %28 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_ppfs_parsespec(%struct.ppfs_t.722* %ppfs) #0 { +entry: + %retval = alloca i32, align 4 + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %fmt = alloca i8*, align 8 + %p = alloca i8*, align 8 + %preci = alloca i32, align 4 + %width = alloca i32, align 4 + %flags = alloca i32, align 4 + %dataargtype = alloca i32, align 4 + %i = alloca i32, align 4 + %dpoint = alloca i32, align 4 + %maxposarg = alloca i32, align 4 + %p_m_spec_chars = alloca i32, align 4 + %n = alloca i32, align 4 + %argtype = alloca [3 x i32], align 4 + %argnumber = alloca [3 x i32], align 4 + %buf = alloca [32 x i8], align 16 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store i32 -1, i32* %preci, align 4 + %arrayidx = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 0 + store i32 0, i32* %arrayidx, align 4 + %arrayidx1 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 1 + store i32 0, i32* %arrayidx1, align 4 + %arrayidx2 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 0 + store i32 8, i32* %arrayidx2, align 4 + %arrayidx3 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 1 + store i32 8, i32* %arrayidx3, align 4 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg4 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %0, i32 0, i32 2 + %1 = load i32, i32* %maxposarg4, align 4 + store i32 %1, i32* %maxposarg, align 4 + store i32 0, i32* %dpoint, align 4 + store i32 0, i32* %width, align 4 + %2 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %2, i32 0, i32 1 + %_flags = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 3 + %3 = load i32, i32* %_flags, align 4 + %and = and i32 %3, 128 + store i32 %and, i32* %flags, align 4 + %cmp = icmp eq i32 %and, 0 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %4 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %4, i32 0, i32 0 + %5 = load i8*, i8** %fmtpos, align 8 + store i8* %5, i8** %fmt, align 8 + br label %if.end20 + +if.else: ; preds = %entry + %arraydecay = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 1 + store i8* %add.ptr, i8** %fmt, align 8 + store i32 0, i32* %i, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %if.else + %6 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos5 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %6, i32 0, i32 0 + %7 = load i8*, i8** %fmtpos5, align 8 + %8 = bitcast i8* %7 to i32* + %9 = load i32, i32* %i, align 4 + %sub = sub nsw i32 %9, 1 + %idxprom = sext i32 %sub to i64 + %arrayidx6 = getelementptr inbounds i32, i32* %8, i64 %idxprom + %10 = load i32, i32* %arrayidx6, align 4 + %conv = trunc i32 %10 to i8 + %11 = load i32, i32* %i, align 4 + %idxprom7 = sext i32 %11 to i64 + %arrayidx8 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 %idxprom7 + store i8 %conv, i8* %arrayidx8, align 1 + %conv9 = sext i8 %conv to i32 + %12 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos10 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %12, i32 0, i32 0 + %13 = load i8*, i8** %fmtpos10, align 8 + %14 = bitcast i8* %13 to i32* + %15 = load i32, i32* %i, align 4 + %sub11 = sub nsw i32 %15, 1 + %idxprom12 = sext i32 %sub11 to i64 + %arrayidx13 = getelementptr inbounds i32, i32* %14, i64 %idxprom12 + %16 = load i32, i32* %arrayidx13, align 4 + %cmp14 = icmp ne i32 %conv9, %16 + br i1 %cmp14, label %if.then16, label %do.cond + +if.then16: ; preds = %do.body + store i32 -1, i32* %retval, align 4 + br label %return + +do.cond: ; preds = %do.body + %17 = load i32, i32* %i, align 4 + %inc = add nsw i32 %17, 1 + store i32 %inc, i32* %i, align 4 + %idxprom17 = sext i32 %17 to i64 + %arrayidx18 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 %idxprom17 + %18 = load i8, i8* %arrayidx18, align 1 + %tobool = icmp ne i8 %18, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %arrayidx19 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 31 + store i8 0, i8* %arrayidx19, align 1 + br label %if.end20 + +if.end20: ; preds = %do.end, %if.then + br label %width_precision + +width_precision: ; preds = %do.end89, %if.then129, %if.end20 + %19 = load i8*, i8** %fmt, align 8 + store i8* %19, i8** %p, align 8 + %20 = load i8*, i8** %fmt, align 8 + %21 = load i8, i8* %20, align 1 + %conv21 = sext i8 %21 to i32 + %cmp22 = icmp eq i32 %conv21, 42 + br i1 %cmp22, label %if.then24, label %if.end28 + +if.then24: ; preds = %width_precision + %22 = load i32, i32* %dpoint, align 4 + %sub25 = sub nsw i32 0, %22 + %idxprom26 = sext i32 %sub25 to i64 + %arrayidx27 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 %idxprom26 + store i32 0, i32* %arrayidx27, align 4 + %23 = load i8*, i8** %fmt, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %23, i32 1 + store i8* %incdec.ptr, i8** %fmt, align 8 + br label %if.end28 + +if.end28: ; preds = %if.then24, %width_precision + store i32 0, i32* %i, align 4 + br label %while.cond + +while.cond: ; preds = %if.end40, %if.end28 + %call = call i16** @__ctype_b_loc() #21 + %24 = load i16*, i16** %call, align 8 + %25 = load i8*, i8** %fmt, align 8 + %26 = load i8, i8* %25, align 1 + %conv29 = sext i8 %26 to i32 + %idxprom30 = sext i32 %conv29 to i64 + %arrayidx31 = getelementptr inbounds i16, i16* %24, i64 %idxprom30 + %27 = load i16, i16* %arrayidx31, align 2 + %conv32 = zext i16 %27 to i32 + %and33 = and i32 %conv32, 2048 + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %28 = load i32, i32* %i, align 4 + %cmp35 = icmp slt i32 %28, 4095 + br i1 %cmp35, label %if.then37, label %if.end40 + +if.then37: ; preds = %while.body + %29 = load i32, i32* %i, align 4 + %mul = mul nsw i32 %29, 10 + %30 = load i8*, i8** %fmt, align 8 + %31 = load i8, i8* %30, align 1 + %conv38 = sext i8 %31 to i32 + %sub39 = sub nsw i32 %conv38, 48 + %add = add nsw i32 %mul, %sub39 + store i32 %add, i32* %i, align 4 + br label %if.end40 + +if.end40: ; preds = %if.then37, %while.body + %32 = load i8*, i8** %fmt, align 8 + %incdec.ptr41 = getelementptr inbounds i8, i8* %32, i32 1 + store i8* %incdec.ptr41, i8** %fmt, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %33 = load i8*, i8** %p, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %33, i64 -1 + %34 = load i8, i8* %arrayidx42, align 1 + %conv43 = sext i8 %34 to i32 + %cmp44 = icmp eq i32 %conv43, 37 + br i1 %cmp44, label %if.then46, label %PREC_WIDTH + +if.then46: ; preds = %while.end + %35 = load i8*, i8** %fmt, align 8 + %36 = load i8, i8* %35, align 1 + %conv47 = sext i8 %36 to i32 + %cmp48 = icmp eq i32 %conv47, 36 + %37 = load i32, i32* %i, align 4 + %cmp50 = icmp sgt i32 %37, 0 + %or.cond = and i1 %cmp48, %cmp50 + br i1 %or.cond, label %if.then52, label %if.else63 + +if.then52: ; preds = %if.then46 + %38 = load i8*, i8** %fmt, align 8 + %incdec.ptr53 = getelementptr inbounds i8, i8* %38, i32 1 + store i8* %incdec.ptr53, i8** %fmt, align 8 + %39 = load i32, i32* %maxposarg, align 4 + %cmp54 = icmp eq i32 %39, 0 + br i1 %cmp54, label %if.then56, label %if.end57 + +if.then56: ; preds = %if.then52 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end57: ; preds = %if.then52 + %40 = load i32, i32* %i, align 4 + %arrayidx58 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 2 + store i32 %40, i32* %arrayidx58, align 4 + %41 = load i32, i32* %maxposarg, align 4 + %cmp59 = icmp sgt i32 %40, %41 + br i1 %cmp59, label %if.then61, label %if.end76 + +if.then61: ; preds = %if.end57 + %42 = load i32, i32* %i, align 4 + store i32 %42, i32* %maxposarg, align 4 + br label %if.end76 + +if.else63: ; preds = %if.then46 + %43 = load i32, i32* %maxposarg, align 4 + %cmp64 = icmp sgt i32 %43, 0 + br i1 %cmp64, label %if.then66, label %if.end67 + +if.then66: ; preds = %if.else63 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end67: ; preds = %if.else63 + store i32 0, i32* %maxposarg, align 4 + %44 = load i8*, i8** %fmt, align 8 + %45 = load i8*, i8** %p, align 8 + %cmp68 = icmp ugt i8* %44, %45 + br i1 %cmp68, label %land.lhs.true70, label %if.end75 + +land.lhs.true70: ; preds = %if.end67 + %46 = load i8*, i8** %p, align 8 + %47 = load i8, i8* %46, align 1 + %conv71 = sext i8 %47 to i32 + %cmp72 = icmp ne i32 %conv71, 48 + br i1 %cmp72, label %PREC_WIDTH, label %if.end75 + +if.end75: ; preds = %land.lhs.true70, %if.end67 + %48 = load i8*, i8** %p, align 8 + store i8* %48, i8** %fmt, align 8 + br label %if.end76 + +if.end76: ; preds = %if.end57, %if.then61, %if.end75 + br label %restart_flags + +restart_flags: ; preds = %if.then83, %if.end76 + store i32 1, i32* %i, align 4 + store i8* getelementptr inbounds ([8 x i8], [8 x i8]* @_ppfs_parsespec.spec_flags, i64 0, i64 0), i8** %p, align 8 + br label %do.body77 + +do.body77: ; preds = %if.end85, %restart_flags + %49 = load i8*, i8** %fmt, align 8 + %50 = load i8, i8* %49, align 1 + %conv78 = sext i8 %50 to i32 + %51 = load i8*, i8** %p, align 8 + %incdec.ptr79 = getelementptr inbounds i8, i8* %51, i32 1 + store i8* %incdec.ptr79, i8** %p, align 8 + %52 = load i8, i8* %51, align 1 + %conv80 = sext i8 %52 to i32 + %cmp81 = icmp eq i32 %conv78, %conv80 + br i1 %cmp81, label %if.then83, label %if.end85 + +if.then83: ; preds = %do.body77 + %53 = load i8*, i8** %fmt, align 8 + %incdec.ptr84 = getelementptr inbounds i8, i8* %53, i32 1 + store i8* %incdec.ptr84, i8** %fmt, align 8 + %54 = load i32, i32* %i, align 4 + %55 = load i32, i32* %flags, align 4 + %or = or i32 %55, %54 + store i32 %or, i32* %flags, align 4 + br label %restart_flags + +if.end85: ; preds = %do.body77 + %56 = load i32, i32* %i, align 4 + %57 = load i32, i32* %i, align 4 + %add86 = add nsw i32 %57, %56 + store i32 %add86, i32* %i, align 4 + %58 = load i8*, i8** %p, align 8 + %59 = load i8, i8* %58, align 1 + %tobool88 = icmp ne i8 %59, 0 + br i1 %tobool88, label %do.body77, label %do.end89 + +do.end89: ; preds = %if.end85 + store i32 0, i32* %i, align 4 + %60 = load i32, i32* %flags, align 4 + %and90 = and i32 %60, 10 + %shr = ashr i32 %and90, 1 + %neg = xor i32 %shr, -1 + %61 = load i32, i32* %flags, align 4 + %and91 = and i32 %61, %neg + store i32 %and91, i32* %flags, align 4 + %62 = load i8*, i8** %fmt, align 8 + %arrayidx92 = getelementptr inbounds i8, i8* %62, i64 -1 + %63 = load i8, i8* %arrayidx92, align 1 + %conv93 = sext i8 %63 to i32 + %cmp94 = icmp ne i32 %conv93, 37 + br i1 %cmp94, label %width_precision, label %PREC_WIDTH + +PREC_WIDTH: ; preds = %while.end, %do.end89, %land.lhs.true70 + %64 = load i8*, i8** %p, align 8 + %65 = load i8, i8* %64, align 1 + %conv99 = sext i8 %65 to i32 + %cmp100 = icmp eq i32 %conv99, 42 + br i1 %cmp100, label %if.then102, label %if.end123 + +if.then102: ; preds = %PREC_WIDTH + %66 = load i32, i32* %maxposarg, align 4 + %tobool103 = icmp ne i32 %66, 0 + br i1 %tobool103, label %if.then104, label %if.else116 + +if.then104: ; preds = %if.then102 + %67 = load i8*, i8** %fmt, align 8 + %incdec.ptr105 = getelementptr inbounds i8, i8* %67, i32 1 + store i8* %incdec.ptr105, i8** %fmt, align 8 + %68 = load i8, i8* %67, align 1 + %conv106 = sext i8 %68 to i32 + %cmp107 = icmp ne i32 %conv106, 36 + %69 = load i32, i32* %i, align 4 + %cmp109 = icmp sle i32 %69, 0 + %or.cond1 = or i1 %cmp107, %cmp109 + br i1 %or.cond1, label %if.then111, label %if.end112 + +if.then111: ; preds = %if.then104 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end112: ; preds = %if.then104 + %70 = load i32, i32* %i, align 4 + %71 = load i32, i32* %dpoint, align 4 + %sub113 = sub nsw i32 0, %71 + %idxprom114 = sext i32 %sub113 to i64 + %arrayidx115 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 %idxprom114 + store i32 %70, i32* %arrayidx115, align 4 + br label %if.end122 + +if.else116: ; preds = %if.then102 + %72 = load i8*, i8** %p, align 8 + %incdec.ptr117 = getelementptr inbounds i8, i8* %72, i32 1 + store i8* %incdec.ptr117, i8** %p, align 8 + %73 = load i8*, i8** %fmt, align 8 + %cmp118 = icmp ne i8* %incdec.ptr117, %73 + br i1 %cmp118, label %if.then120, label %if.end122 + +if.then120: ; preds = %if.else116 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end122: ; preds = %if.else116, %if.end112 + store i32 -2147483648, i32* %i, align 4 + br label %if.end123 + +if.end123: ; preds = %if.end122, %PREC_WIDTH + %74 = load i32, i32* %dpoint, align 4 + %tobool124 = icmp ne i32 %74, 0 + %75 = load i32, i32* %i, align 4 + br i1 %tobool124, label %if.else132, label %if.then125 + +if.then125: ; preds = %if.end123 + store i32 %75, i32* %width, align 4 + %76 = load i8*, i8** %fmt, align 8 + %77 = load i8, i8* %76, align 1 + %conv126 = sext i8 %77 to i32 + %cmp127 = icmp eq i32 %conv126, 46 + br i1 %cmp127, label %if.then129, label %if.end133 + +if.then129: ; preds = %if.then125 + %78 = load i8*, i8** %fmt, align 8 + %incdec.ptr130 = getelementptr inbounds i8, i8* %78, i32 1 + store i8* %incdec.ptr130, i8** %fmt, align 8 + store i32 -1, i32* %dpoint, align 4 + br label %width_precision + +if.else132: ; preds = %if.end123 + store i32 %75, i32* %preci, align 4 + br label %if.end133 + +if.end133: ; preds = %if.then125, %if.else132 + store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @_ppfs_parsespec.qual_chars, i64 0, i64 0), i8** %p, align 8 + br label %do.body134 + +do.body134: ; preds = %do.cond142, %if.end133 + %79 = load i8*, i8** %fmt, align 8 + %80 = load i8, i8* %79, align 1 + %conv135 = sext i8 %80 to i32 + %81 = load i8*, i8** %p, align 8 + %82 = load i8, i8* %81, align 1 + %conv136 = sext i8 %82 to i32 + %cmp137 = icmp eq i32 %conv135, %conv136 + br i1 %cmp137, label %if.then139, label %do.cond142 + +if.then139: ; preds = %do.body134 + %83 = load i8*, i8** %fmt, align 8 + %incdec.ptr140 = getelementptr inbounds i8, i8* %83, i32 1 + store i8* %incdec.ptr140, i8** %fmt, align 8 + br label %do.end145 + +do.cond142: ; preds = %do.body134 + %84 = load i8*, i8** %p, align 8 + %incdec.ptr143 = getelementptr inbounds i8, i8* %84, i32 1 + store i8* %incdec.ptr143, i8** %p, align 8 + %85 = load i8, i8* %incdec.ptr143, align 1 + %tobool144 = icmp ne i8 %85, 0 + br i1 %tobool144, label %do.body134, label %do.end145 + +do.end145: ; preds = %do.cond142, %if.then139 + %86 = load i8*, i8** %p, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %86 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, ptrtoint ([20 x i8]* @_ppfs_parsespec.qual_chars to i64) + %cmp146 = icmp slt i64 %sub.ptr.sub, 2 + br i1 %cmp146, label %land.lhs.true148, label %if.end156 + +land.lhs.true148: ; preds = %do.end145 + %87 = load i8*, i8** %fmt, align 8 + %88 = load i8, i8* %87, align 1 + %conv149 = sext i8 %88 to i32 + %89 = load i8*, i8** %p, align 8 + %90 = load i8, i8* %89, align 1 + %conv150 = sext i8 %90 to i32 + %cmp151 = icmp eq i32 %conv149, %conv150 + br i1 %cmp151, label %if.then153, label %if.end156 + +if.then153: ; preds = %land.lhs.true148 + %91 = load i8*, i8** %p, align 8 + %add.ptr154 = getelementptr inbounds i8, i8* %91, i64 9 + store i8* %add.ptr154, i8** %p, align 8 + %92 = load i8*, i8** %fmt, align 8 + %incdec.ptr155 = getelementptr inbounds i8, i8* %92, i32 1 + store i8* %incdec.ptr155, i8** %fmt, align 8 + br label %if.end156 + +if.end156: ; preds = %if.then153, %land.lhs.true148, %do.end145 + %93 = load i8*, i8** %p, align 8 + %arrayidx157 = getelementptr inbounds i8, i8* %93, i64 9 + %94 = load i8, i8* %arrayidx157, align 1 + %conv158 = sext i8 %94 to i32 + %shl = shl i32 %conv158, 8 + store i32 %shl, i32* %dataargtype, align 4 + %95 = load i8*, i8** %fmt, align 8 + %96 = load i8, i8* %95, align 1 + %tobool159 = icmp ne i8 %96, 0 + br i1 %tobool159, label %if.end161, label %if.then160 + +if.then160: ; preds = %if.end156 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end161: ; preds = %if.end156 + store i8* getelementptr inbounds ([21 x i8], [21 x i8]* @_ppfs_parsespec.spec_chars, i64 0, i64 0), i8** %p, align 8 + br label %do.body162 + +do.body162: ; preds = %do.cond199, %if.end161 + %97 = load i8*, i8** %fmt, align 8 + %98 = load i8, i8* %97, align 1 + %conv163 = sext i8 %98 to i32 + %99 = load i8*, i8** %p, align 8 + %100 = load i8, i8* %99, align 1 + %conv164 = sext i8 %100 to i32 + %cmp165 = icmp eq i32 %conv163, %conv164 + %101 = load i8*, i8** %p, align 8 + br i1 %cmp165, label %if.then167, label %do.cond199 + +if.then167: ; preds = %do.body162 + %sub.ptr.lhs.cast168 = ptrtoint i8* %101 to i64 + %sub.ptr.sub169 = sub i64 %sub.ptr.lhs.cast168, ptrtoint ([21 x i8]* @_ppfs_parsespec.spec_chars to i64) + %conv170 = trunc i64 %sub.ptr.sub169 to i32 + store i32 %conv170, i32* %p_m_spec_chars, align 4 + %102 = load i32, i32* %p_m_spec_chars, align 4 + %cmp171 = icmp sge i32 %102, 18 + br i1 %cmp171, label %land.lhs.true173, label %if.end178 + +land.lhs.true173: ; preds = %if.then167 + %103 = load i32, i32* %dataargtype, align 4 + %and174 = and i32 %103, 1024 + %tobool175 = icmp ne i32 %and174, 0 + br i1 %tobool175, label %if.then176, label %if.end178 + +if.then176: ; preds = %land.lhs.true173 + %104 = load i32, i32* %p_m_spec_chars, align 4 + %sub177 = sub nsw i32 %104, 2 + store i32 %sub177, i32* %p_m_spec_chars, align 4 + br label %if.end178 + +if.end178: ; preds = %if.then176, %land.lhs.true173, %if.then167 + %105 = load i32, i32* %p_m_spec_chars, align 4 + %106 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %106, i32 0, i32 4 + store i32 %105, i32* %conv_num, align 4 + store i8* getelementptr inbounds (i8, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @_ppfs_parsespec.spec_ranges, i64 0, i64 0), i64 -1), i8** %p, align 8 + br label %while.cond179 + +while.cond179: ; preds = %while.cond179, %if.end178 + %107 = load i32, i32* %p_m_spec_chars, align 4 + %108 = load i8*, i8** %p, align 8 + %incdec.ptr180 = getelementptr inbounds i8, i8* %108, i32 1 + store i8* %incdec.ptr180, i8** %p, align 8 + %109 = load i8, i8* %incdec.ptr180, align 1 + %conv181 = sext i8 %109 to i32 + %cmp182 = icmp sgt i32 %107, %conv181 + br i1 %cmp182, label %while.cond179, label %while.end185 + +while.end185: ; preds = %while.cond179 + %110 = load i8*, i8** %p, align 8 + %sub.ptr.lhs.cast186 = ptrtoint i8* %110 to i64 + %sub.ptr.sub187 = sub i64 %sub.ptr.lhs.cast186, ptrtoint ([9 x i8]* @_ppfs_parsespec.spec_ranges to i64) + %conv188 = trunc i64 %sub.ptr.sub187 to i32 + store i32 %conv188, i32* %i, align 4 + %111 = load i32, i32* %dataargtype, align 4 + %112 = load i32, i32* %i, align 4 + %idxprom189 = sext i32 %112 to i64 + %arrayidx190 = getelementptr inbounds [8 x i16], [8 x i16]* @_ppfs_parsespec.spec_or_mask, i64 0, i64 %idxprom189 + %113 = load i16, i16* %arrayidx190, align 2 + %conv191 = sext i16 %113 to i32 + %or192 = or i32 %111, %conv191 + %114 = load i32, i32* %i, align 4 + %idxprom193 = sext i32 %114 to i64 + %arrayidx194 = getelementptr inbounds [8 x i16], [8 x i16]* @_ppfs_parsespec.spec_and_mask, i64 0, i64 %idxprom193 + %115 = load i16, i16* %arrayidx194, align 2 + %conv195 = sext i16 %115 to i32 + %and196 = and i32 %or192, %conv195 + %arrayidx197 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 2 + store i32 %and196, i32* %arrayidx197, align 4 + store i8* getelementptr inbounds ([21 x i8], [21 x i8]* @_ppfs_parsespec.spec_chars, i64 0, i64 0), i8** %p, align 8 + br label %do.end202 + +do.cond199: ; preds = %do.body162 + %incdec.ptr200 = getelementptr inbounds i8, i8* %101, i32 1 + store i8* %incdec.ptr200, i8** %p, align 8 + %116 = load i8, i8* %incdec.ptr200, align 1 + %tobool201 = icmp ne i8 %116, 0 + br i1 %tobool201, label %do.body162, label %do.end202 + +do.end202: ; preds = %do.cond199, %while.end185 + %117 = load i8*, i8** %fmt, align 8 + %118 = load i8, i8* %117, align 1 + %conv203 = sext i8 %118 to i32 + %119 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info204 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %119, i32 0, i32 1 + %spec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info204, i32 0, i32 2 + store i32 %conv203, i32* %spec, align 8 + %120 = load i32, i32* %preci, align 4 + %121 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info205 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %121, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info205, i32 0, i32 0 + store i32 %120, i32* %prec, align 8 + %122 = load i32, i32* %width, align 4 + %123 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info206 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %123, i32 0, i32 1 + %width207 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info206, i32 0, i32 1 + store i32 %122, i32* %width207, align 4 + %124 = load i32, i32* %flags, align 4 + %and208 = and i32 %124, 4 + %tobool209 = icmp ne i32 %and208, 0 + %125 = zext i1 %tobool209 to i64 + %cond = select i1 %tobool209, i32 48, i32 32 + %126 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info210 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %126, i32 0, i32 1 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info210, i32 0, i32 4 + store i32 %cond, i32* %pad, align 8 + %127 = load i32, i32* %flags, align 4 + %and211 = and i32 %127, -5 + %128 = load i32, i32* %dataargtype, align 4 + %and212 = and i32 %128, 3840 + %or213 = or i32 %and211, %and212 + %129 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info214 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %129, i32 0, i32 1 + %_flags215 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info214, i32 0, i32 3 + store i32 %or213, i32* %_flags215, align 4 + %130 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %130, i32 0, i32 3 + store i32 1, i32* %num_data_args, align 8 + %131 = load i8*, i8** %p, align 8 + %132 = load i8, i8* %131, align 1 + %tobool216 = icmp ne i8 %132, 0 + br i1 %tobool216, label %if.end218, label %if.then217 + +if.then217: ; preds = %do.end202 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end218: ; preds = %do.end202 + %133 = load i32, i32* %maxposarg, align 4 + %cmp219 = icmp sgt i32 %133, 0 + br i1 %cmp219, label %if.then221, label %if.else265 + +if.then221: ; preds = %if.end218 + store i32 0, i32* %i, align 4 + br label %do.body222 + +do.body222: ; preds = %do.cond258, %if.then221 + %134 = load i32, i32* %i, align 4 + %cmp223 = icmp sle i32 %134, 2 + br i1 %cmp223, label %cond.true, label %cond.false + +cond.true: ; preds = %do.body222 + %135 = load i32, i32* %i, align 4 + %idxprom225 = sext i32 %135 to i64 + %arrayidx226 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 %idxprom225 + %136 = load i32, i32* %arrayidx226, align 4 + %conv227 = trunc i32 %136 to i8 + %137 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber228 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %137, i32 0, i32 5 + %138 = load i32, i32* %i, align 4 + %idxprom229 = sext i32 %138 to i64 + %arrayidx230 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber228, i64 0, i64 %idxprom229 + store i8 %conv227, i8* %arrayidx230, align 1 + %conv231 = zext i8 %conv227 to i32 + br label %cond.end + +cond.false: ; preds = %do.body222 + %arrayidx232 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 2 + %139 = load i32, i32* %arrayidx232, align 4 + %140 = load i32, i32* %i, align 4 + %sub233 = sub nsw i32 %140, 2 + %add234 = add nsw i32 %139, %sub233 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond235 = phi i32 [ %conv231, %cond.true ], [ %add234, %cond.false ] + store i32 %cond235, i32* %n, align 4 + %141 = load i32, i32* %n, align 4 + %142 = load i32, i32* %maxposarg, align 4 + %cmp236 = icmp sgt i32 %141, %142 + br i1 %cmp236, label %if.then238, label %if.end243 + +if.then238: ; preds = %cond.end + %143 = load i32, i32* %n, align 4 + store i32 %143, i32* %maxposarg, align 4 + %cmp239 = icmp sgt i32 %143, 9 + br i1 %cmp239, label %if.then241, label %if.end243 + +if.then241: ; preds = %if.then238 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end243: ; preds = %if.then238, %cond.end + %144 = load i32, i32* %n, align 4 + %dec = add nsw i32 %144, -1 + store i32 %dec, i32* %n, align 4 + %145 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype244 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %145, i32 0, i32 6 + %146 = load i32, i32* %n, align 4 + %idxprom245 = sext i32 %146 to i64 + %arrayidx246 = getelementptr inbounds [9 x i32], [9 x i32]* %argtype244, i64 0, i64 %idxprom245 + %147 = load i32, i32* %arrayidx246, align 4 + %148 = load i32, i32* %i, align 4 + %idxprom247 = sext i32 %148 to i64 + %arrayidx248 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 %idxprom247 + %149 = load i32, i32* %arrayidx248, align 4 + %call249 = call i32 @_is_equal_or_bigger_arg(i32 %147, i32 %149) #18 + %tobool250 = icmp ne i32 %call249, 0 + br i1 %tobool250, label %if.then251, label %do.cond258 + +if.then251: ; preds = %if.end243 + %150 = load i32, i32* %i, align 4 + %idxprom252 = sext i32 %150 to i64 + %arrayidx253 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 %idxprom252 + %151 = load i32, i32* %arrayidx253, align 4 + %152 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype254 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %152, i32 0, i32 6 + %153 = load i32, i32* %n, align 4 + %idxprom255 = sext i32 %153 to i64 + %arrayidx256 = getelementptr inbounds [9 x i32], [9 x i32]* %argtype254, i64 0, i64 %idxprom255 + store i32 %151, i32* %arrayidx256, align 4 + br label %do.cond258 + +do.cond258: ; preds = %if.end243, %if.then251 + %154 = load i32, i32* %i, align 4 + %inc259 = add nsw i32 %154, 1 + store i32 %inc259, i32* %i, align 4 + %155 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args260 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %155, i32 0, i32 3 + %156 = load i32, i32* %num_data_args260, align 8 + %add261 = add nsw i32 %156, 2 + %cmp262 = icmp slt i32 %inc259, %add261 + br i1 %cmp262, label %do.body222, label %if.end276 + +if.else265: ; preds = %if.end218 + %157 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber266 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %157, i32 0, i32 5 + %arrayidx267 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber266, i64 0, i64 2 + store i8 1, i8* %arrayidx267, align 2 + %158 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype268 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %158, i32 0, i32 6 + %arraydecay269 = getelementptr inbounds [9 x i32], [9 x i32]* %argtype268, i64 0, i64 0 + %159 = bitcast i32* %arraydecay269 to i8* + %arraydecay270 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 0 + %add.ptr271 = getelementptr inbounds i32, i32* %arraydecay270, i64 2 + %160 = bitcast i32* %add.ptr271 to i8* + %161 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args272 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %161, i32 0, i32 3 + %162 = load i32, i32* %num_data_args272, align 8 + %conv273 = sext i32 %162 to i64 + %mul274 = mul i64 %conv273, 4 + %call275 = call i8* @memcpy(i8* %159, i8* %160, i64 %mul274) #19 + br label %if.end276 + +if.end276: ; preds = %do.cond258, %if.else265 + %163 = load i32, i32* %maxposarg, align 4 + %164 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg277 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %164, i32 0, i32 2 + store i32 %163, i32* %maxposarg277, align 4 + %165 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info278 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %165, i32 0, i32 1 + %_flags279 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info278, i32 0, i32 3 + %166 = load i32, i32* %_flags279, align 4 + %and280 = and i32 %166, 128 + store i32 %and280, i32* %flags, align 4 + %cmp281 = icmp eq i32 %and280, 0 + br i1 %cmp281, label %if.then283, label %if.else286 + +if.then283: ; preds = %if.end276 + %167 = load i8*, i8** %fmt, align 8 + %incdec.ptr284 = getelementptr inbounds i8, i8* %167, i32 1 + store i8* %incdec.ptr284, i8** %fmt, align 8 + %168 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos285 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %168, i32 0, i32 0 + store i8* %incdec.ptr284, i8** %fmtpos285, align 8 + br label %if.end293 + +if.else286: ; preds = %if.end276 + %169 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos287 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %169, i32 0, i32 0 + %170 = load i8*, i8** %fmtpos287, align 8 + %171 = bitcast i8* %170 to i32* + %172 = load i8*, i8** %fmt, align 8 + %arraydecay288 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 0 + %sub.ptr.lhs.cast289 = ptrtoint i8* %172 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %arraydecay288 to i64 + %sub.ptr.sub290 = sub i64 %sub.ptr.lhs.cast289, %sub.ptr.rhs.cast + %add.ptr291 = getelementptr inbounds i32, i32* %171, i64 %sub.ptr.sub290 + %173 = bitcast i32* %add.ptr291 to i8* + %174 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos292 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %174, i32 0, i32 0 + store i8* %173, i8** %fmtpos292, align 8 + br label %if.end293 + +if.end293: ; preds = %if.else286, %if.then283 + %175 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args294 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %175, i32 0, i32 3 + %176 = load i32, i32* %num_data_args294, align 8 + %add295 = add nsw i32 %176, 2 + store i32 %add295, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end293, %if.then241, %if.then217, %if.then160, %if.then120, %if.then111, %if.then66, %if.then56, %if.then16 + %177 = load i32, i32* %retval, align 4 + ret i32 %177 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_is_equal_or_bigger_arg(i32 %curtype, i32 %newtype) #0 { +entry: + %retval = alloca i32, align 4 + %curtype.addr = alloca i32, align 4 + %newtype.addr = alloca i32, align 4 + store i32 %curtype, i32* %curtype.addr, align 4 + store i32 %newtype, i32* %newtype.addr, align 4 + %0 = load i32, i32* %newtype.addr, align 4 + %cmp = icmp eq i32 %0, 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %1 = load i32, i32* %curtype.addr, align 4 + %cmp1 = icmp eq i32 %1, 8 + br i1 %cmp1, label %if.then3, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %2 = load i32, i32* %curtype.addr, align 4 + %3 = load i32, i32* %newtype.addr, align 4 + %cmp2 = icmp eq i32 %2, %3 + br i1 %cmp2, label %if.then3, label %if.end4 + +if.then3: ; preds = %lor.lhs.false, %if.end + store i32 1, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %lor.lhs.false + %4 = load i32, i32* %curtype.addr, align 4 + %call = call i32 @_promoted_size(i32 %4) #18 + %5 = load i32, i32* %newtype.addr, align 4 + %call5 = call i32 @_promoted_size(i32 %5) #18 + %cmp6 = icmp sle i32 %call, %call5 + %conv = zext i1 %cmp6 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_promoted_size(i32 %argtype) #0 { +entry: + %argtype.addr = alloca i32, align 4 + %p = alloca i16*, align 8 + store i32 %argtype, i32* %argtype.addr, align 4 + store i16* getelementptr inbounds (i16, i16* getelementptr inbounds ([12 x i16], [12 x i16]* @type_codes, i64 0, i64 0), i64 12), i16** %p, align 8 + br label %do.body + +do.body: ; preds = %do.body, %entry + %0 = load i16*, i16** %p, align 8 + %incdec.ptr = getelementptr inbounds i16, i16* %0, i32 -1 + store i16* %incdec.ptr, i16** %p, align 8 + %1 = load i16, i16* %incdec.ptr, align 2 + %conv = sext i16 %1 to i32 + %2 = load i32, i32* %argtype.addr, align 4 + %cmp = icmp ne i32 %conv, %2 + %3 = load i16*, i16** %p, align 8 + %cmp2 = icmp ugt i16* %3, getelementptr inbounds ([12 x i16], [12 x i16]* @type_codes, i64 0, i64 0) + %or.cond = and i1 %cmp, %cmp2 + br i1 %or.cond, label %do.body, label %do.end + +do.end: ; preds = %do.body + %4 = load i16*, i16** %p, align 8 + %sub.ptr.lhs.cast = ptrtoint i16* %4 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, ptrtoint ([12 x i16]* @type_codes to i64) + %sub.ptr.div = sdiv exact i64 %sub.ptr.sub, 2 + %conv4 = trunc i64 %sub.ptr.div to i32 + %idxprom = sext i32 %conv4 to i64 + %arrayidx = getelementptr inbounds [12 x i8], [12 x i8]* @type_sizes, i64 0, i64 %idxprom + %5 = load i8, i8* %arrayidx, align 1 + %conv5 = zext i8 %5 to i32 + ret i32 %conv5 +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_ppfs_prepargs(%struct.ppfs_t.722* %ppfs, %struct.__va_list_tag.0* %arg) #0 { +entry: + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %arg.addr = alloca %struct.__va_list_tag.0*, align 8 + %i = alloca i32, align 4 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store %struct.__va_list_tag.0* %arg, %struct.__va_list_tag.0** %arg.addr, align 8 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg1 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %0, i32 0, i32 7 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg1, i64 0, i64 0 + %1 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %arg.addr, align 8 + %2 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + %3 = bitcast %struct.__va_list_tag.0* %1 to i8* + %vacopy.cast.dst = bitcast i8* %2 to i64* + %vacopy.cast.src = bitcast i8* %3 to i64* + %4 = load i64, i64* %vacopy.cast.src, align 8 + store volatile i64 %4, i64* %vacopy.cast.dst, align 8 + %5 = getelementptr i64, i64* %vacopy.cast.dst, i64 1 + %6 = getelementptr i64, i64* %vacopy.cast.src, i64 1 + %7 = load i64, i64* %6, align 8 + store i64 %7, i64* %5, align 8 + %8 = getelementptr i64, i64* %5, i64 1 + %9 = getelementptr i64, i64* %6, i64 1 + %10 = load i64, i64* %9, align 8 + store i64 %10, i64* %8, align 8 + %11 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %11, i32 0, i32 2 + %12 = load i32, i32* %maxposarg, align 4 + store i32 %12, i32* %i, align 4 + %cmp = icmp sgt i32 %12, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %13 = load i32, i32* %i, align 4 + %14 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %14, i32 0, i32 3 + store i32 %13, i32* %num_data_args, align 8 + %15 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg2 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %15, i32 0, i32 2 + store i32 0, i32* %maxposarg2, align 4 + %16 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %16, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 0 + store i32 0, i32* %prec, align 8 + %17 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info3 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %17, i32 0, i32 1 + %width = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info3, i32 0, i32 1 + store i32 0, i32* %width, align 4 + %18 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + call void @_ppfs_setargs(%struct.ppfs_t.722* %18) #18 + %19 = load i32, i32* %i, align 4 + %20 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg4 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %20, i32 0, i32 2 + store i32 %19, i32* %maxposarg4, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + ret void +} + +; Function Attrs: nounwind +declare void @llvm.va_copy(i8*, i8*) #11 + +; Function Attrs: noinline nounwind uwtable +define hidden void @_ppfs_setargs(%struct.ppfs_t.722* %ppfs) #0 { +entry: + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %p = alloca %union.anon.193*, align 8 + %i = alloca i32, align 4 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argvalue = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %0, i32 0, i32 8 + %arraydecay = getelementptr inbounds [9 x %union.anon.193], [9 x %union.anon.193]* %argvalue, i64 0, i64 0 + store %union.anon.193* %arraydecay, %union.anon.193** %p, align 8 + %1 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %1, i32 0, i32 2 + %2 = load i32, i32* %maxposarg, align 4 + %cmp = icmp eq i32 %2, 0 + %3 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %3, i32 0, i32 1 + %width = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 1 + %4 = load i32, i32* %width, align 4 + %cmp1 = icmp eq i32 %4, -2147483648 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + br i1 %cmp1, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + %5 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %5, i32 0, i32 7 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 8 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then2 + %6 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 3 + %reg_save_area = load i8*, i8** %6, align 8 + %7 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %8 = bitcast i8* %7 to i32* + %9 = add i32 %gp_offset, 8 + store i32 %9, i32* %gp_offset_p, align 8 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then2 + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %10 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %8, %vaarg.in_reg ], [ %10, %vaarg.in_mem ] + %11 = load i32, i32* %vaarg.addr, align 4 + %12 = load %union.anon.193*, %union.anon.193** %p, align 8 + %u = bitcast %union.anon.193* %12 to i32* + store i32 %11, i32* %u, align 8 + %13 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info4 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %13, i32 0, i32 1 + %width5 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info4, i32 0, i32 1 + store i32 %11, i32* %width5, align 4 + br label %if.end + +if.end: ; preds = %vaarg.end, %if.then + %14 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info6 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %14, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info6, i32 0, i32 0 + %15 = load i32, i32* %prec, align 8 + %cmp7 = icmp eq i32 %15, -2147483648 + br i1 %cmp7, label %if.then8, label %if.end25 + +if.then8: ; preds = %if.end + %16 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg9 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %16, i32 0, i32 7 + %arraydecay10 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg9, i64 0, i64 0 + %gp_offset_p11 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay10, i32 0, i32 0 + %gp_offset12 = load i32, i32* %gp_offset_p11, align 8 + %fits_in_gp13 = icmp ule i32 %gp_offset12, 40 + br i1 %fits_in_gp13, label %vaarg.in_reg14, label %vaarg.in_mem16 + +vaarg.in_reg14: ; preds = %if.then8 + %17 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay10, i32 0, i32 3 + %reg_save_area15 = load i8*, i8** %17, align 8 + %18 = getelementptr i8, i8* %reg_save_area15, i32 %gp_offset12 + %19 = bitcast i8* %18 to i32* + %20 = add i32 %gp_offset12, 8 + store i32 %20, i32* %gp_offset_p11, align 8 + br label %vaarg.end20 + +vaarg.in_mem16: ; preds = %if.then8 + %overflow_arg_area_p17 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay10, i32 0, i32 2 + %overflow_arg_area18 = load i8*, i8** %overflow_arg_area_p17, align 8 + %21 = bitcast i8* %overflow_arg_area18 to i32* + %overflow_arg_area.next19 = getelementptr i8, i8* %overflow_arg_area18, i32 8 + store i8* %overflow_arg_area.next19, i8** %overflow_arg_area_p17, align 8 + br label %vaarg.end20 + +vaarg.end20: ; preds = %vaarg.in_mem16, %vaarg.in_reg14 + %vaarg.addr21 = phi i32* [ %19, %vaarg.in_reg14 ], [ %21, %vaarg.in_mem16 ] + %22 = load i32, i32* %vaarg.addr21, align 4 + %23 = load %union.anon.193*, %union.anon.193** %p, align 8 + %u22 = bitcast %union.anon.193* %23 to i32* + store i32 %22, i32* %u22, align 8 + %24 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info23 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %24, i32 0, i32 1 + %prec24 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info23, i32 0, i32 0 + store i32 %22, i32* %prec24, align 8 + br label %if.end25 + +if.end25: ; preds = %vaarg.end20, %if.end + store i32 0, i32* %i, align 4 + br label %while.cond + +while.cond: ; preds = %NodeBlock, %sw.epilog, %if.end25 + %25 = load i32, i32* %i, align 4 + %26 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %26, i32 0, i32 3 + %27 = load i32, i32* %num_data_args, align 8 + %cmp26 = icmp slt i32 %25, %27 + br i1 %cmp26, label %while.body, label %if.end149 + +while.body: ; preds = %while.cond + %28 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %28, i32 0, i32 6 + %29 = load i32, i32* %i, align 4 + %inc = add nsw i32 %29, 1 + store i32 %inc, i32* %i, align 4 + %idxprom = sext i32 %29 to i64 + %arrayidx = getelementptr inbounds [9 x i32], [9 x i32]* %argtype, i64 0, i64 %idxprom + %30 = load i32, i32* %arrayidx, align 4 + br label %NodeBlock17 + +NodeBlock17: ; preds = %while.body + %case.cmp18 = icmp eq i32 %30, 2048 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %30, 1024 + br i1 %case.cmp16, label %sw.bb40, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %30, 1 + br i1 %case.cmp14, label %sw.bb54, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %30, 256 + br i1 %case.cmp12, label %sw.bb54, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %30, 512 + br i1 %case.cmp10, label %sw.bb54, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %30, 0 + br i1 %case.cmp8, label %sw.bb54, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %30, 2 + br i1 %case.cmp6, label %sw.bb69, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %30, 7 + br i1 %case.cmp4, label %sw.bb83, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %30, 2055 + br i1 %case.cmp2, label %sw.bb94, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %30, 8 + br i1 %case.cmp, label %while.cond, label %newDefault + +sw.bb: ; preds = %NodeBlock17 + %31 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg27 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %31, i32 0, i32 7 + %arraydecay28 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg27, i64 0, i64 0 + %gp_offset_p29 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay28, i32 0, i32 0 + %gp_offset30 = load i32, i32* %gp_offset_p29, align 8 + %fits_in_gp31 = icmp ule i32 %gp_offset30, 40 + br i1 %fits_in_gp31, label %vaarg.in_reg32, label %vaarg.in_mem34 + +vaarg.in_reg32: ; preds = %sw.bb + %32 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay28, i32 0, i32 3 + %reg_save_area33 = load i8*, i8** %32, align 8 + %33 = getelementptr i8, i8* %reg_save_area33, i32 %gp_offset30 + %34 = bitcast i8* %33 to i64* + %35 = add i32 %gp_offset30, 8 + store i32 %35, i32* %gp_offset_p29, align 8 + br label %vaarg.end38 + +vaarg.in_mem34: ; preds = %sw.bb + %overflow_arg_area_p35 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay28, i32 0, i32 2 + %overflow_arg_area36 = load i8*, i8** %overflow_arg_area_p35, align 8 + %36 = bitcast i8* %overflow_arg_area36 to i64* + %overflow_arg_area.next37 = getelementptr i8, i8* %overflow_arg_area36, i32 8 + store i8* %overflow_arg_area.next37, i8** %overflow_arg_area_p35, align 8 + br label %vaarg.end38 + +vaarg.end38: ; preds = %vaarg.in_mem34, %vaarg.in_reg32 + %vaarg.addr39 = phi i64* [ %34, %vaarg.in_reg32 ], [ %36, %vaarg.in_mem34 ] + %37 = load i64, i64* %vaarg.addr39, align 8 + %38 = load %union.anon.193*, %union.anon.193** %p, align 8 + %ull = bitcast %union.anon.193* %38 to i64* + store i64 %37, i64* %ull, align 8 + br label %sw.epilog + +sw.bb40: ; preds = %NodeBlock15 + %39 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg41 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %39, i32 0, i32 7 + %arraydecay42 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg41, i64 0, i64 0 + %gp_offset_p43 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay42, i32 0, i32 0 + %gp_offset44 = load i32, i32* %gp_offset_p43, align 8 + %fits_in_gp45 = icmp ule i32 %gp_offset44, 40 + br i1 %fits_in_gp45, label %vaarg.in_reg46, label %vaarg.in_mem48 + +vaarg.in_reg46: ; preds = %sw.bb40 + %40 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay42, i32 0, i32 3 + %reg_save_area47 = load i8*, i8** %40, align 8 + %41 = getelementptr i8, i8* %reg_save_area47, i32 %gp_offset44 + %42 = bitcast i8* %41 to i64* + %43 = add i32 %gp_offset44, 8 + store i32 %43, i32* %gp_offset_p43, align 8 + br label %vaarg.end52 + +vaarg.in_mem48: ; preds = %sw.bb40 + %overflow_arg_area_p49 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay42, i32 0, i32 2 + %overflow_arg_area50 = load i8*, i8** %overflow_arg_area_p49, align 8 + %44 = bitcast i8* %overflow_arg_area50 to i64* + %overflow_arg_area.next51 = getelementptr i8, i8* %overflow_arg_area50, i32 8 + store i8* %overflow_arg_area.next51, i8** %overflow_arg_area_p49, align 8 + br label %vaarg.end52 + +vaarg.end52: ; preds = %vaarg.in_mem48, %vaarg.in_reg46 + %vaarg.addr53 = phi i64* [ %42, %vaarg.in_reg46 ], [ %44, %vaarg.in_mem48 ] + %45 = load i64, i64* %vaarg.addr53, align 8 + %46 = load %union.anon.193*, %union.anon.193** %p, align 8 + %ul = bitcast %union.anon.193* %46 to i64* + store i64 %45, i64* %ul, align 8 + br label %sw.epilog + +sw.bb54: ; preds = %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7 + %47 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg55 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %47, i32 0, i32 7 + %arraydecay56 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg55, i64 0, i64 0 + %gp_offset_p57 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay56, i32 0, i32 0 + %gp_offset58 = load i32, i32* %gp_offset_p57, align 8 + %fits_in_gp59 = icmp ule i32 %gp_offset58, 40 + br i1 %fits_in_gp59, label %vaarg.in_reg60, label %vaarg.in_mem62 + +vaarg.in_reg60: ; preds = %sw.bb54 + %48 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay56, i32 0, i32 3 + %reg_save_area61 = load i8*, i8** %48, align 8 + %49 = getelementptr i8, i8* %reg_save_area61, i32 %gp_offset58 + %50 = bitcast i8* %49 to i32* + %51 = add i32 %gp_offset58, 8 + store i32 %51, i32* %gp_offset_p57, align 8 + br label %vaarg.end66 + +vaarg.in_mem62: ; preds = %sw.bb54 + %overflow_arg_area_p63 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay56, i32 0, i32 2 + %overflow_arg_area64 = load i8*, i8** %overflow_arg_area_p63, align 8 + %52 = bitcast i8* %overflow_arg_area64 to i32* + %overflow_arg_area.next65 = getelementptr i8, i8* %overflow_arg_area64, i32 8 + store i8* %overflow_arg_area.next65, i8** %overflow_arg_area_p63, align 8 + br label %vaarg.end66 + +vaarg.end66: ; preds = %vaarg.in_mem62, %vaarg.in_reg60 + %vaarg.addr67 = phi i32* [ %50, %vaarg.in_reg60 ], [ %52, %vaarg.in_mem62 ] + %53 = load i32, i32* %vaarg.addr67, align 4 + %54 = load %union.anon.193*, %union.anon.193** %p, align 8 + %u68 = bitcast %union.anon.193* %54 to i32* + store i32 %53, i32* %u68, align 8 + br label %sw.epilog + +sw.bb69: ; preds = %NodeBlock5 + %55 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg70 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %55, i32 0, i32 7 + %arraydecay71 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg70, i64 0, i64 0 + %gp_offset_p72 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay71, i32 0, i32 0 + %gp_offset73 = load i32, i32* %gp_offset_p72, align 8 + %fits_in_gp74 = icmp ule i32 %gp_offset73, 40 + br i1 %fits_in_gp74, label %vaarg.in_reg75, label %vaarg.in_mem77 + +vaarg.in_reg75: ; preds = %sw.bb69 + %56 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay71, i32 0, i32 3 + %reg_save_area76 = load i8*, i8** %56, align 8 + %57 = getelementptr i8, i8* %reg_save_area76, i32 %gp_offset73 + %58 = bitcast i8* %57 to i32* + %59 = add i32 %gp_offset73, 8 + store i32 %59, i32* %gp_offset_p72, align 8 + br label %vaarg.end81 + +vaarg.in_mem77: ; preds = %sw.bb69 + %overflow_arg_area_p78 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay71, i32 0, i32 2 + %overflow_arg_area79 = load i8*, i8** %overflow_arg_area_p78, align 8 + %60 = bitcast i8* %overflow_arg_area79 to i32* + %overflow_arg_area.next80 = getelementptr i8, i8* %overflow_arg_area79, i32 8 + store i8* %overflow_arg_area.next80, i8** %overflow_arg_area_p78, align 8 + br label %vaarg.end81 + +vaarg.end81: ; preds = %vaarg.in_mem77, %vaarg.in_reg75 + %vaarg.addr82 = phi i32* [ %58, %vaarg.in_reg75 ], [ %60, %vaarg.in_mem77 ] + %61 = load i32, i32* %vaarg.addr82, align 4 + %62 = load %union.anon.193*, %union.anon.193** %p, align 8 + %wc = bitcast %union.anon.193* %62 to i32* + store i32 %61, i32* %wc, align 8 + br label %sw.epilog + +sw.bb83: ; preds = %NodeBlock3 + %63 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg84 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %63, i32 0, i32 7 + %arraydecay85 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg84, i64 0, i64 0 + %fp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay85, i32 0, i32 1 + %fp_offset = load i32, i32* %fp_offset_p, align 4 + %fits_in_fp = icmp ule i32 %fp_offset, 160 + br i1 %fits_in_fp, label %vaarg.in_reg86, label %vaarg.in_mem88 + +vaarg.in_reg86: ; preds = %sw.bb83 + %64 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay85, i32 0, i32 3 + %reg_save_area87 = load i8*, i8** %64, align 8 + %65 = getelementptr i8, i8* %reg_save_area87, i32 %fp_offset + %66 = bitcast i8* %65 to double* + %67 = add i32 %fp_offset, 16 + store i32 %67, i32* %fp_offset_p, align 4 + br label %vaarg.end92 + +vaarg.in_mem88: ; preds = %sw.bb83 + %overflow_arg_area_p89 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay85, i32 0, i32 2 + %overflow_arg_area90 = load i8*, i8** %overflow_arg_area_p89, align 8 + %68 = bitcast i8* %overflow_arg_area90 to double* + %overflow_arg_area.next91 = getelementptr i8, i8* %overflow_arg_area90, i32 8 + store i8* %overflow_arg_area.next91, i8** %overflow_arg_area_p89, align 8 + br label %vaarg.end92 + +vaarg.end92: ; preds = %vaarg.in_mem88, %vaarg.in_reg86 + %vaarg.addr93 = phi double* [ %66, %vaarg.in_reg86 ], [ %68, %vaarg.in_mem88 ] + %69 = load double, double* %vaarg.addr93, align 8 + %70 = load %union.anon.193*, %union.anon.193** %p, align 8 + %d = bitcast %union.anon.193* %70 to double* + store double %69, double* %d, align 8 + br label %sw.epilog + +sw.bb94: ; preds = %NodeBlock1 + %71 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg95 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %71, i32 0, i32 7 + %arraydecay96 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg95, i64 0, i64 0 + %fp_offset_p97 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay96, i32 0, i32 1 + %fp_offset98 = load i32, i32* %fp_offset_p97, align 4 + %fits_in_fp99 = icmp ule i32 %fp_offset98, 160 + br i1 %fits_in_fp99, label %vaarg.in_reg100, label %vaarg.in_mem102 + +vaarg.in_reg100: ; preds = %sw.bb94 + %72 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay96, i32 0, i32 3 + %reg_save_area101 = load i8*, i8** %72, align 8 + %73 = getelementptr i8, i8* %reg_save_area101, i32 %fp_offset98 + %74 = bitcast i8* %73 to double* + %75 = add i32 %fp_offset98, 16 + store i32 %75, i32* %fp_offset_p97, align 4 + br label %vaarg.end106 + +vaarg.in_mem102: ; preds = %sw.bb94 + %overflow_arg_area_p103 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay96, i32 0, i32 2 + %overflow_arg_area104 = load i8*, i8** %overflow_arg_area_p103, align 8 + %76 = bitcast i8* %overflow_arg_area104 to double* + %overflow_arg_area.next105 = getelementptr i8, i8* %overflow_arg_area104, i32 8 + store i8* %overflow_arg_area.next105, i8** %overflow_arg_area_p103, align 8 + br label %vaarg.end106 + +vaarg.end106: ; preds = %vaarg.in_mem102, %vaarg.in_reg100 + %vaarg.addr107 = phi double* [ %74, %vaarg.in_reg100 ], [ %76, %vaarg.in_mem102 ] + %77 = load double, double* %vaarg.addr107, align 8 + %78 = load %union.anon.193*, %union.anon.193** %p, align 8 + %ld = bitcast %union.anon.193* %78 to double* + store double %77, double* %ld, align 8 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.bb108 + +sw.bb108: ; preds = %newDefault + %79 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg109 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %79, i32 0, i32 7 + %arraydecay110 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg109, i64 0, i64 0 + %gp_offset_p111 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay110, i32 0, i32 0 + %gp_offset112 = load i32, i32* %gp_offset_p111, align 8 + %fits_in_gp113 = icmp ule i32 %gp_offset112, 40 + br i1 %fits_in_gp113, label %vaarg.in_reg114, label %vaarg.in_mem116 + +vaarg.in_reg114: ; preds = %sw.bb108 + %80 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay110, i32 0, i32 3 + %reg_save_area115 = load i8*, i8** %80, align 8 + %81 = getelementptr i8, i8* %reg_save_area115, i32 %gp_offset112 + %82 = bitcast i8* %81 to i8** + %83 = add i32 %gp_offset112, 8 + store i32 %83, i32* %gp_offset_p111, align 8 + br label %vaarg.end120 + +vaarg.in_mem116: ; preds = %sw.bb108 + %overflow_arg_area_p117 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay110, i32 0, i32 2 + %overflow_arg_area118 = load i8*, i8** %overflow_arg_area_p117, align 8 + %84 = bitcast i8* %overflow_arg_area118 to i8** + %overflow_arg_area.next119 = getelementptr i8, i8* %overflow_arg_area118, i32 8 + store i8* %overflow_arg_area.next119, i8** %overflow_arg_area_p117, align 8 + br label %vaarg.end120 + +vaarg.end120: ; preds = %vaarg.in_mem116, %vaarg.in_reg114 + %vaarg.addr121 = phi i8** [ %82, %vaarg.in_reg114 ], [ %84, %vaarg.in_mem116 ] + %85 = load i8*, i8** %vaarg.addr121, align 8 + %86 = load %union.anon.193*, %union.anon.193** %p, align 8 + %p122 = bitcast %union.anon.193* %86 to i8** + store i8* %85, i8** %p122, align 8 + br label %sw.epilog + +sw.epilog: ; preds = %vaarg.end120, %vaarg.end106, %vaarg.end92, %vaarg.end81, %vaarg.end66, %vaarg.end52, %vaarg.end38 + %87 = load %union.anon.193*, %union.anon.193** %p, align 8 + %incdec.ptr = getelementptr inbounds %union.anon.193, %union.anon.193* %87, i32 1 + store %union.anon.193* %incdec.ptr, %union.anon.193** %p, align 8 + br label %while.cond + +if.else: ; preds = %entry + br i1 %cmp1, label %if.then127, label %if.end133 + +if.then127: ; preds = %if.else + %88 = load %union.anon.193*, %union.anon.193** %p, align 8 + %89 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %89, i32 0, i32 5 + %arrayidx128 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber, i64 0, i64 0 + %90 = load i8, i8* %arrayidx128, align 8 + %conv = zext i8 %90 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds %union.anon.193, %union.anon.193* %88, i64 %idx.ext + %add.ptr129 = getelementptr inbounds %union.anon.193, %union.anon.193* %add.ptr, i64 -1 + %u130 = bitcast %union.anon.193* %add.ptr129 to i32* + %91 = load i32, i32* %u130, align 8 + %92 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info131 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %92, i32 0, i32 1 + %width132 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info131, i32 0, i32 1 + store i32 %91, i32* %width132, align 4 + br label %if.end133 + +if.end133: ; preds = %if.then127, %if.else + %93 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info134 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %93, i32 0, i32 1 + %prec135 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info134, i32 0, i32 0 + %94 = load i32, i32* %prec135, align 8 + %cmp136 = icmp eq i32 %94, -2147483648 + br i1 %cmp136, label %if.then138, label %if.end149 + +if.then138: ; preds = %if.end133 + %95 = load %union.anon.193*, %union.anon.193** %p, align 8 + %96 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber139 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %96, i32 0, i32 5 + %arrayidx140 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber139, i64 0, i64 1 + %97 = load i8, i8* %arrayidx140, align 1 + %conv141 = zext i8 %97 to i32 + %idx.ext142 = sext i32 %conv141 to i64 + %add.ptr143 = getelementptr inbounds %union.anon.193, %union.anon.193* %95, i64 %idx.ext142 + %add.ptr144 = getelementptr inbounds %union.anon.193, %union.anon.193* %add.ptr143, i64 -1 + %u145 = bitcast %union.anon.193* %add.ptr144 to i32* + %98 = load i32, i32* %u145, align 8 + %99 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info146 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %99, i32 0, i32 1 + %prec147 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info146, i32 0, i32 0 + store i32 %98, i32* %prec147, align 8 + br label %if.end149 + +if.end149: ; preds = %if.end133, %if.then138, %while.cond + %100 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info150 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %100, i32 0, i32 1 + %width151 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info150, i32 0, i32 1 + %101 = load i32, i32* %width151, align 4 + %cmp152 = icmp slt i32 %101, 0 + br i1 %cmp152, label %if.then154, label %if.end163 + +if.then154: ; preds = %if.end149 + %102 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info155 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %102, i32 0, i32 1 + %width156 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info155, i32 0, i32 1 + %103 = load i32, i32* %width156, align 4 + %sub = sub nsw i32 0, %103 + %104 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info157 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %104, i32 0, i32 1 + %width158 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info157, i32 0, i32 1 + store i32 %sub, i32* %width158, align 4 + %105 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info159 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %105, i32 0, i32 1 + %_flags = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info159, i32 0, i32 3 + %106 = load i32, i32* %_flags, align 4 + %or = or i32 %106, 8 + store i32 %or, i32* %_flags, align 4 + %107 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info160 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %107, i32 0, i32 1 + %_flags161 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info160, i32 0, i32 3 + %108 = load i32, i32* %_flags161, align 4 + %and = and i32 %108, -2 + store i32 %and, i32* %_flags161, align 4 + %109 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info162 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %109, i32 0, i32 1 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info162, i32 0, i32 4 + store i32 32, i32* %pad, align 8 + br label %if.end163 + +if.end163: ; preds = %if.then154, %if.end149 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_store_inttype(i8* %dest, i32 %desttype, i64 %val) #0 { +entry: + %dest.addr = alloca i8*, align 8 + %desttype.addr = alloca i32, align 4 + %val.addr = alloca i64, align 8 + store i8* %dest, i8** %dest.addr, align 8 + store i32 %desttype, i32* %desttype.addr, align 4 + store i64 %val, i64* %val.addr, align 8 + %0 = load i32, i32* %desttype.addr, align 4 + %cmp = icmp eq i32 %0, 256 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load i64, i64* %val.addr, align 8 + %conv = trunc i64 %1 to i8 + %2 = load i8*, i8** %dest.addr, align 8 + store i8 %conv, i8* %2, align 1 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* %desttype.addr, align 4 + %cmp1 = icmp eq i32 %3, 2048 + br i1 %cmp1, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.end + %4 = load i64, i64* %val.addr, align 8 + %5 = load i8*, i8** %dest.addr, align 8 + %6 = bitcast i8* %5 to i64* + store i64 %4, i64* %6, align 8 + br label %return + +if.end4: ; preds = %if.end + %7 = load i32, i32* %desttype.addr, align 4 + %cmp5 = icmp eq i32 %7, 512 + br i1 %cmp5, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end4 + %8 = load i64, i64* %val.addr, align 8 + %conv8 = trunc i64 %8 to i16 + %9 = load i8*, i8** %dest.addr, align 8 + %10 = bitcast i8* %9 to i16* + store i16 %conv8, i16* %10, align 2 + br label %return + +if.end9: ; preds = %if.end4 + %11 = load i32, i32* %desttype.addr, align 4 + %cmp10 = icmp eq i32 %11, 1024 + %12 = load i64, i64* %val.addr, align 8 + br i1 %cmp10, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.end9 + %13 = load i8*, i8** %dest.addr, align 8 + %14 = bitcast i8* %13 to i64* + store i64 %12, i64* %14, align 8 + br label %return + +if.end13: ; preds = %if.end9 + %conv14 = trunc i64 %12 to i32 + %15 = load i8*, i8** %dest.addr, align 8 + %16 = bitcast i8* %15 to i32* + store i32 %conv14, i32* %16, align 4 + br label %return + +return: ; preds = %if.end13, %if.then12, %if.then7, %if.then3, %if.then + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden i8* @_uintmaxtostr(i8* noalias %bufend, i64 %uval, i32 %base, i32 %alphacase) #0 { +entry: + %bufend.addr = alloca i8*, align 8 + %uval.addr = alloca i64, align 8 + %base.addr = alloca i32, align 4 + %alphacase.addr = alloca i32, align 4 + %negative = alloca i32, align 4 + %digit = alloca i32, align 4 + %H = alloca i32, align 4 + %L = alloca i32, align 4 + %high = alloca i32, align 4 + %low = alloca i32, align 4 + %rh = alloca i32, align 4 + %grouping = alloca i32, align 4 + %outdigit = alloca i32, align 4 + %g = alloca i8*, align 8 + store i8* %bufend, i8** %bufend.addr, align 8 + store i64 %uval, i64* %uval.addr, align 8 + store i32 %base, i32* %base.addr, align 4 + store i32 %alphacase, i32* %alphacase.addr, align 4 + store i32 0, i32* %negative, align 4 + %0 = load i32, i32* %base.addr, align 4 + %cmp = icmp slt i32 %0, 0 + br i1 %cmp, label %if.then, label %if.end4 + +if.then: ; preds = %entry + %1 = load i32, i32* %base.addr, align 4 + %sub = sub nsw i32 0, %1 + store i32 %sub, i32* %base.addr, align 4 + %2 = load i64, i64* %uval.addr, align 8 + %cmp1 = icmp ugt i64 %2, 9223372036854775807 + br i1 %cmp1, label %if.then2, label %if.end4 + +if.then2: ; preds = %if.then + %3 = load i64, i64* %uval.addr, align 8 + %sub3 = sub i64 0, %3 + store i64 %sub3, i64* %uval.addr, align 8 + store i32 1, i32* %negative, align 4 + br label %if.end4 + +if.end4: ; preds = %if.then, %if.then2, %entry + store i32 -1, i32* %grouping, align 4 + %4 = load i32, i32* %alphacase.addr, align 4 + %and = and i32 128, %4 + store i32 %and, i32* %outdigit, align 4 + %5 = load i32, i32* %outdigit, align 4 + %6 = load i32, i32* %alphacase.addr, align 4 + %xor = xor i32 %6, %5 + store i32 %xor, i32* %alphacase.addr, align 4 + %7 = load i32, i32* %alphacase.addr, align 4 + %cmp5 = icmp eq i32 %7, 44 + br i1 %cmp5, label %if.then6, label %if.end10 + +if.then6: ; preds = %if.end4 + %8 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %grouping7 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %8, i32 0, i32 41 + %9 = load i8*, i8** %grouping7, align 8 + store i8* %9, i8** %g, align 8 + %10 = load i8, i8* %9, align 1 + %tobool = icmp ne i8 %10, 0 + br i1 %tobool, label %if.then8, label %if.end10 + +if.then8: ; preds = %if.then6 + %11 = load i8*, i8** %g, align 8 + %12 = load i8, i8* %11, align 1 + %conv = sext i8 %12 to i32 + store i32 %conv, i32* %grouping, align 4 + br label %if.end10 + +if.end10: ; preds = %if.then6, %if.then8, %if.end4 + %13 = load i8*, i8** %bufend.addr, align 8 + store i8 0, i8* %13, align 1 + %14 = load i32, i32* %base.addr, align 4 + %div = udiv i32 -1, %14 + store i32 %div, i32* %H, align 4 + %15 = load i32, i32* %base.addr, align 4 + %rem = urem i32 -1, %15 + %add = add i32 %rem, 1 + store i32 %add, i32* %L, align 4 + %16 = load i32, i32* %L, align 4 + %17 = load i32, i32* %base.addr, align 4 + %cmp11 = icmp eq i32 %16, %17 + br i1 %cmp11, label %if.then13, label %if.end14 + +if.then13: ; preds = %if.end10 + %18 = load i32, i32* %H, align 4 + %inc = add i32 %18, 1 + store i32 %inc, i32* %H, align 4 + store i32 0, i32* %L, align 4 + br label %if.end14 + +if.end14: ; preds = %if.then13, %if.end10 + %19 = load i64, i64* %uval.addr, align 8 + %conv15 = trunc i64 %19 to i32 + store i32 %conv15, i32* %low, align 4 + %20 = load i64, i64* %uval.addr, align 8 + %shr = lshr i64 %20, 32 + %conv16 = trunc i64 %shr to i32 + store i32 %conv16, i32* %high, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %if.end14 + %21 = load i32, i32* %grouping, align 4 + %tobool17 = icmp ne i32 %21, 0 + br i1 %tobool17, label %if.end27, label %if.then18 + +if.then18: ; preds = %do.body + %22 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %thousands_sep_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %22, i32 0, i32 27 + %23 = load i32, i32* %thousands_sep_len, align 4 + %24 = load i8*, i8** %bufend.addr, align 8 + %idx.ext = sext i32 %23 to i64 + %idx.neg = sub i64 0, %idx.ext + %add.ptr = getelementptr inbounds i8, i8* %24, i64 %idx.neg + store i8* %add.ptr, i8** %bufend.addr, align 8 + %25 = load i8*, i8** %bufend.addr, align 8 + %26 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %thousands_sep = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %26, i32 0, i32 40 + %27 = load i8*, i8** %thousands_sep, align 8 + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %thousands_sep_len19 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %28, i32 0, i32 27 + %29 = load i32, i32* %thousands_sep_len19, align 4 + %conv20 = sext i32 %29 to i64 + %call = call i8* @memcpy(i8* %25, i8* %27, i64 %conv20) #19 + %30 = load i8*, i8** %g, align 8 + %arrayidx = getelementptr inbounds i8, i8* %30, i64 1 + %31 = load i8, i8* %arrayidx, align 1 + %conv21 = sext i8 %31 to i32 + %cmp22 = icmp ne i32 %conv21, 0 + br i1 %cmp22, label %if.then24, label %if.end25 + +if.then24: ; preds = %if.then18 + %32 = load i8*, i8** %g, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %32, i32 1 + store i8* %incdec.ptr, i8** %g, align 8 + br label %if.end25 + +if.end25: ; preds = %if.then24, %if.then18 + %33 = load i8*, i8** %g, align 8 + %34 = load i8, i8* %33, align 1 + %conv26 = sext i8 %34 to i32 + store i32 %conv26, i32* %grouping, align 4 + br label %if.end27 + +if.end27: ; preds = %if.end25, %do.body + %35 = load i32, i32* %grouping, align 4 + %dec = add nsw i32 %35, -1 + store i32 %dec, i32* %grouping, align 4 + %36 = load i32, i32* %high, align 4 + %tobool28 = icmp ne i32 %36, 0 + %lnot = xor i1 %tobool28, true + %lnot29 = xor i1 %lnot, true + %lnot.ext = zext i1 %lnot29 to i32 + %conv30 = sext i32 %lnot.ext to i64 + %tobool31 = icmp ne i64 %conv30, 0 + br i1 %tobool31, label %if.then32, label %if.else + +if.then32: ; preds = %if.end27 + %37 = load i32, i32* %high, align 4 + %38 = load i32, i32* %base.addr, align 4 + %rem33 = urem i32 %37, %38 + store i32 %rem33, i32* %rh, align 4 + %39 = load i32, i32* %base.addr, align 4 + %40 = load i32, i32* %high, align 4 + %div34 = udiv i32 %40, %39 + store i32 %div34, i32* %high, align 4 + %41 = load i32, i32* %low, align 4 + %42 = load i32, i32* %base.addr, align 4 + %rem35 = urem i32 %41, %42 + %43 = load i32, i32* %L, align 4 + %44 = load i32, i32* %rh, align 4 + %mul = mul i32 %43, %44 + %add36 = add i32 %rem35, %mul + store i32 %add36, i32* %digit, align 4 + %45 = load i32, i32* %low, align 4 + %46 = load i32, i32* %base.addr, align 4 + %div37 = udiv i32 %45, %46 + %47 = load i32, i32* %H, align 4 + %48 = load i32, i32* %rh, align 4 + %mul38 = mul i32 %47, %48 + %add39 = add i32 %div37, %mul38 + %49 = load i32, i32* %digit, align 4 + %50 = load i32, i32* %base.addr, align 4 + %div40 = udiv i32 %49, %50 + %add41 = add i32 %add39, %div40 + store i32 %add41, i32* %low, align 4 + %51 = load i32, i32* %base.addr, align 4 + %52 = load i32, i32* %digit, align 4 + %rem42 = urem i32 %52, %51 + store i32 %rem42, i32* %digit, align 4 + br label %if.end45 + +if.else: ; preds = %if.end27 + %53 = load i32, i32* %low, align 4 + %54 = load i32, i32* %base.addr, align 4 + %rem43 = urem i32 %53, %54 + store i32 %rem43, i32* %digit, align 4 + %55 = load i32, i32* %base.addr, align 4 + %56 = load i32, i32* %low, align 4 + %div44 = udiv i32 %56, %55 + store i32 %div44, i32* %low, align 4 + br label %if.end45 + +if.end45: ; preds = %if.else, %if.then32 + %57 = load i32, i32* %outdigit, align 4 + %tobool46 = icmp ne i32 %57, 0 + %lnot47 = xor i1 %tobool46, true + %lnot49 = xor i1 %lnot47, true + %lnot.ext50 = zext i1 %lnot49 to i32 + %conv51 = sext i32 %lnot.ext50 to i64 + %tobool52 = icmp ne i64 %conv51, 0 + br i1 %tobool52, label %if.then53, label %if.else66 + +if.then53: ; preds = %if.end45 + %58 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %outdigit_length = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %58, i32 0, i32 11 + %59 = load i32, i32* %digit, align 4 + %idxprom = zext i32 %59 to i64 + %arrayidx54 = getelementptr inbounds [10 x i8], [10 x i8]* %outdigit_length, i64 0, i64 %idxprom + %60 = load i8, i8* %arrayidx54, align 1 + %conv55 = zext i8 %60 to i32 + %61 = load i8*, i8** %bufend.addr, align 8 + %idx.ext56 = sext i32 %conv55 to i64 + %idx.neg57 = sub i64 0, %idx.ext56 + %add.ptr58 = getelementptr inbounds i8, i8* %61, i64 %idx.neg57 + store i8* %add.ptr58, i8** %bufend.addr, align 8 + %62 = load i8*, i8** %bufend.addr, align 8 + %63 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %outdigit0_mb = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %63, i32 0, i32 28 + %64 = load i32, i32* %digit, align 4 + %idxprom59 = zext i32 %64 to i64 + %arrayidx60 = getelementptr inbounds i8*, i8** %outdigit0_mb, i64 %idxprom59 + %65 = load i8*, i8** %arrayidx60, align 8 + %66 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %outdigit_length61 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %66, i32 0, i32 11 + %67 = load i32, i32* %digit, align 4 + %idxprom62 = zext i32 %67 to i64 + %arrayidx63 = getelementptr inbounds [10 x i8], [10 x i8]* %outdigit_length61, i64 0, i64 %idxprom62 + %68 = load i8, i8* %arrayidx63, align 1 + %conv64 = zext i8 %68 to i64 + %call65 = call i8* @memcpy(i8* %62, i8* %65, i64 %conv64) #19 + br label %do.cond + +if.else66: ; preds = %if.end45 + %69 = load i32, i32* %digit, align 4 + %cmp67 = icmp ult i32 %69, 10 + %70 = load i32, i32* %digit, align 4 + %add69 = add i32 %70, 48 + %71 = load i32, i32* %alphacase.addr, align 4 + %add70 = add i32 %70, %71 + %cond = select i1 %cmp67, i32 %add69, i32 %add70 + %conv71 = trunc i32 %cond to i8 + %72 = load i8*, i8** %bufend.addr, align 8 + %incdec.ptr72 = getelementptr inbounds i8, i8* %72, i32 -1 + store i8* %incdec.ptr72, i8** %bufend.addr, align 8 + store i8 %conv71, i8* %incdec.ptr72, align 1 + br label %do.cond + +do.cond: ; preds = %if.then53, %if.else66 + %73 = load i32, i32* %low, align 4 + %74 = load i32, i32* %high, align 4 + %or = or i32 %73, %74 + %tobool74 = icmp ne i32 %or, 0 + br i1 %tobool74, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %75 = load i32, i32* %negative, align 4 + %tobool75 = icmp ne i32 %75, 0 + br i1 %tobool75, label %if.then76, label %if.end78 + +if.then76: ; preds = %do.end + %76 = load i8*, i8** %bufend.addr, align 8 + %incdec.ptr77 = getelementptr inbounds i8, i8* %76, i32 -1 + store i8* %incdec.ptr77, i8** %bufend.addr, align 8 + store i8 45, i8* %incdec.ptr77, align 1 + br label %if.end78 + +if.end78: ; preds = %if.then76, %do.end + %77 = load i8*, i8** %bufend.addr, align 8 + ret i8* %77 +} + +; Function Attrs: noinline nounwind uwtable +define hidden %struct.exit_function* @__new_exitfn() #0 { +entry: + %efp = alloca %struct.exit_function*, align 8 + %0 = load i32, i32* @__exit_slots, align 4 + %1 = load i32, i32* @__exit_count, align 4 + %add = add nsw i32 %1, 1 + %cmp = icmp slt i32 %0, %add + br i1 %cmp, label %if.then, label %if.end6 + +if.then: ; preds = %entry + %2 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + %3 = bitcast %struct.exit_function* %2 to i8* + %4 = load i32, i32* @__exit_slots, align 4 + %add1 = add nsw i32 %4, 20 + %conv = sext i32 %add1 to i64 + %mul = mul i64 %conv, 32 + %call = call noalias i8* @realloc(i8* %3, i64 %mul) #19 + %5 = bitcast i8* %call to %struct.exit_function* + store %struct.exit_function* %5, %struct.exit_function** %efp, align 8 + %6 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %cmp2 = icmp eq %struct.exit_function* %6, null + br i1 %cmp2, label %if.then4, label %if.end + +if.then4: ; preds = %if.then + store i32 12, i32* @errno, align 4 + br label %DONE + +if.end: ; preds = %if.then + %7 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + store %struct.exit_function* %7, %struct.exit_function** @__exit_function_table, align 8 + %8 = load i32, i32* @__exit_slots, align 4 + %add5 = add nsw i32 %8, 20 + store i32 %add5, i32* @__exit_slots, align 4 + br label %if.end6 + +if.end6: ; preds = %if.end, %entry + store void (i32)* @__exit_handler, void (i32)** @__exit_cleanup, align 8 + %9 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + %10 = load i32, i32* @__exit_count, align 4 + %inc = add nsw i32 %10, 1 + store i32 %inc, i32* @__exit_count, align 4 + %idxprom = sext i32 %10 to i64 + %arrayidx = getelementptr inbounds %struct.exit_function, %struct.exit_function* %9, i64 %idxprom + store %struct.exit_function* %arrayidx, %struct.exit_function** %efp, align 8 + %11 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %type = getelementptr inbounds %struct.exit_function, %struct.exit_function* %11, i32 0, i32 0 + store i64 1, i64* %type, align 8 + br label %DONE + +DONE: ; preds = %if.end6, %if.then4 + %12 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + ret %struct.exit_function* %12 +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @__exit_handler(i32 %status) #0 { +entry: + %status.addr = alloca i32, align 4 + %efp = alloca %struct.exit_function*, align 8 + store i32 %status, i32* %status.addr, align 4 + br label %while.cond + +while.cond: ; preds = %sw.epilog, %entry + %0 = load i32, i32* @__exit_count, align 4 + %tobool = icmp ne i32 %0, 0 + %1 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %2 = load i32, i32* @__exit_count, align 4 + %dec = add nsw i32 %2, -1 + store i32 %dec, i32* @__exit_count, align 4 + %idxprom = sext i32 %dec to i64 + %arrayidx = getelementptr inbounds %struct.exit_function, %struct.exit_function* %1, i64 %idxprom + store %struct.exit_function* %arrayidx, %struct.exit_function** %efp, align 8 + %3 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %type = getelementptr inbounds %struct.exit_function, %struct.exit_function* %3, i32 0, i32 0 + %4 = load i64, i64* %type, align 8 + br label %NodeBlock1 + +NodeBlock1: ; preds = %while.body + %case.cmp2 = icmp eq i64 %4, 2 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i64 %4, 3 + br i1 %case.cmp, label %sw.bb7, label %newDefault + +sw.bb: ; preds = %NodeBlock1 + %5 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs = getelementptr inbounds %struct.exit_function, %struct.exit_function* %5, i32 0, i32 1 + %on_exit = bitcast %union.anon.772* %funcs to %struct.anon.779* + %func = getelementptr inbounds %struct.anon.779, %struct.anon.779* %on_exit, i32 0, i32 0 + %6 = load void (i32, i8*)*, void (i32, i8*)** %func, align 8 + %tobool1 = icmp ne void (i32, i8*)* %6, null + br i1 %tobool1, label %if.then, label %sw.epilog + +if.then: ; preds = %sw.bb + %7 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs2 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %7, i32 0, i32 1 + %on_exit3 = bitcast %union.anon.772* %funcs2 to %struct.anon.779* + %func4 = getelementptr inbounds %struct.anon.779, %struct.anon.779* %on_exit3, i32 0, i32 0 + %8 = load void (i32, i8*)*, void (i32, i8*)** %func4, align 8 + %9 = load i32, i32* %status.addr, align 4 + %10 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs5 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %10, i32 0, i32 1 + %on_exit6 = bitcast %union.anon.772* %funcs5 to %struct.anon.779* + %arg = getelementptr inbounds %struct.anon.779, %struct.anon.779* %on_exit6, i32 0, i32 1 + %11 = load i8*, i8** %arg, align 8 + call void %8(i32 %9, i8* %11) #18 + br label %sw.epilog + +sw.bb7: ; preds = %NodeBlock + %12 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs8 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %12, i32 0, i32 1 + %cxa_atexit = bitcast %union.anon.772* %funcs8 to %struct.anon.0.771* + %func9 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit, i32 0, i32 0 + %13 = load void (i8*)*, void (i8*)** %func9, align 8 + %tobool10 = icmp ne void (i8*)* %13, null + br i1 %tobool10, label %if.then11, label %sw.epilog + +if.then11: ; preds = %sw.bb7 + %14 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs12 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %14, i32 0, i32 1 + %cxa_atexit13 = bitcast %union.anon.772* %funcs12 to %struct.anon.0.771* + %func14 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit13, i32 0, i32 0 + %15 = load void (i8*)*, void (i8*)** %func14, align 8 + %16 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs15 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %16, i32 0, i32 1 + %cxa_atexit16 = bitcast %union.anon.772* %funcs15 to %struct.anon.0.771* + %arg17 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit16, i32 0, i32 1 + %17 = load i8*, i8** %arg17, align 8 + call void %15(i8* %17) #18 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.epilog + +sw.epilog: ; preds = %newDefault, %sw.bb7, %if.then11, %sw.bb, %if.then + br label %while.cond + +while.end: ; preds = %while.cond + %tobool19 = icmp ne %struct.exit_function* %1, null + br i1 %tobool19, label %if.then20, label %if.end21 + +if.then20: ; preds = %while.end + %18 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + %19 = bitcast %struct.exit_function* %18 to i8* + call void @free(i8* %19) #19 + br label %if.end21 + +if.end21: ; preds = %if.then20, %while.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i8* @getenv(i8* nonnull %var) #0 { +entry: + %retval = alloca i8*, align 8 + %var.addr = alloca i8*, align 8 + %len = alloca i32, align 4 + %ep = alloca i8**, align 8 + store i8* %var, i8** %var.addr, align 8 + %0 = load i8**, i8*** @__environ, align 8 + store i8** %0, i8*** %ep, align 8 + %tobool = icmp ne i8** %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %var.addr, align 8 + %call = call i64 @strlen(i8* %1) #20 + %conv = trunc i64 %call to i32 + store i32 %conv, i32* %len, align 4 + br label %while.cond + +while.cond: ; preds = %if.end10, %if.end + %2 = load i8**, i8*** %ep, align 8 + %3 = load i8*, i8** %2, align 8 + %tobool1 = icmp ne i8* %3, null + br i1 %tobool1, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i8*, i8** %var.addr, align 8 + %5 = load i8**, i8*** %ep, align 8 + %6 = load i8*, i8** %5, align 8 + %7 = load i32, i32* %len, align 4 + %conv2 = sext i32 %7 to i64 + %call3 = call i32 @memcmp(i8* %4, i8* %6, i64 %conv2) #20 + %cmp = icmp eq i32 %call3, 0 + br i1 %cmp, label %land.lhs.true, label %if.end10 + +land.lhs.true: ; preds = %while.body + %8 = load i8**, i8*** %ep, align 8 + %9 = load i8*, i8** %8, align 8 + %10 = load i32, i32* %len, align 4 + %idxprom = sext i32 %10 to i64 + %arrayidx = getelementptr inbounds i8, i8* %9, i64 %idxprom + %11 = load i8, i8* %arrayidx, align 1 + %conv5 = sext i8 %11 to i32 + %cmp6 = icmp eq i32 %conv5, 61 + br i1 %cmp6, label %if.then8, label %if.end10 + +if.then8: ; preds = %land.lhs.true + %12 = load i8**, i8*** %ep, align 8 + %13 = load i8*, i8** %12, align 8 + %14 = load i32, i32* %len, align 4 + %idx.ext = sext i32 %14 to i64 + %add.ptr = getelementptr inbounds i8, i8* %13, i64 %idx.ext + %add.ptr9 = getelementptr inbounds i8, i8* %add.ptr, i64 1 + store i8* %add.ptr9, i8** %retval, align 8 + br label %return + +if.end10: ; preds = %land.lhs.true, %while.body + %15 = load i8**, i8*** %ep, align 8 + %incdec.ptr = getelementptr inbounds i8*, i8** %15, i32 1 + store i8** %incdec.ptr, i8*** %ep, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then8, %if.then + %16 = load i8*, i8** %retval, align 8 + ret i8* %16 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__xpg_strerror_r(i32 %errnum, i8* %strerrbuf, i64 %buflen) #0 { +entry: + %errnum.addr = alloca i32, align 4 + %strerrbuf.addr = alloca i8*, align 8 + %buflen.addr = alloca i64, align 8 + %s = alloca i8*, align 8 + %i = alloca i32, align 4 + %retval1 = alloca i32, align 4 + %buf = alloca [50 x i8], align 16 + store i32 %errnum, i32* %errnum.addr, align 4 + store i8* %strerrbuf, i8** %strerrbuf.addr, align 8 + store i64 %buflen, i64* %buflen.addr, align 8 + store i32 22, i32* %retval1, align 4 + %0 = load i32, i32* %errnum.addr, align 4 + store i32 %0, i32* %i, align 4 + %1 = load i32, i32* %i, align 4 + %cmp = icmp ult i32 %1, 125 + br i1 %cmp, label %if.then, label %if.end7 + +if.then: ; preds = %entry + store i8* getelementptr inbounds ([2906 x i8], [2906 x i8]* @_string_syserrmsgs, i64 0, i64 0), i8** %s, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.then + %2 = load i32, i32* %i, align 4 + %tobool = icmp ne i32 %2, 0 + %3 = load i8*, i8** %s, align 8 + %4 = load i8, i8* %3, align 1 + %tobool2 = icmp ne i8 %4, 0 + br i1 %tobool, label %for.body, label %for.end + +for.body: ; preds = %for.cond + br i1 %tobool2, label %for.inc, label %if.then3 + +if.then3: ; preds = %for.body + %5 = load i32, i32* %i, align 4 + %dec = add nsw i32 %5, -1 + store i32 %dec, i32* %i, align 4 + br label %for.inc + +for.inc: ; preds = %for.body, %if.then3 + %6 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + br i1 %tobool2, label %if.then5, label %if.end7 + +if.then5: ; preds = %for.end + store i32 0, i32* %retval1, align 4 + br label %GOT_MESG + +if.end7: ; preds = %for.end, %entry + %arraydecay = getelementptr inbounds [50 x i8], [50 x i8]* %buf, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 50 + %add.ptr8 = getelementptr inbounds i8, i8* %add.ptr, i64 -1 + %7 = load i32, i32* %errnum.addr, align 4 + %conv = sext i32 %7 to i64 + %call = call i8* @_uintmaxtostr(i8* %add.ptr8, i64 %conv, i32 -10, i32 0) #18 + %add.ptr9 = getelementptr inbounds i8, i8* %call, i64 -14 + store i8* %add.ptr9, i8** %s, align 8 + %8 = load i8*, i8** %s, align 8 + %call10 = call i8* @memcpy(i8* %8, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @__xpg_strerror_r.unknown, i64 0, i64 0), i64 14) #19 + br label %GOT_MESG + +GOT_MESG: ; preds = %if.end7, %if.then5 + %9 = load i8*, i8** %strerrbuf.addr, align 8 + %tobool11 = icmp ne i8* %9, null + br i1 %tobool11, label %if.end13, label %if.then12 + +if.then12: ; preds = %GOT_MESG + store i64 0, i64* %buflen.addr, align 8 + br label %if.end13 + +if.end13: ; preds = %if.then12, %GOT_MESG + %10 = load i8*, i8** %s, align 8 + %call14 = call i64 @strlen(i8* %10) #20 + %add = add i64 %call14, 1 + %conv15 = trunc i64 %add to i32 + store i32 %conv15, i32* %i, align 4 + %11 = load i32, i32* %i, align 4 + %conv16 = sext i32 %11 to i64 + %12 = load i64, i64* %buflen.addr, align 8 + %cmp17 = icmp ugt i64 %conv16, %12 + br i1 %cmp17, label %if.then19, label %if.end21 + +if.then19: ; preds = %if.end13 + %13 = load i64, i64* %buflen.addr, align 8 + %conv20 = trunc i64 %13 to i32 + store i32 %conv20, i32* %i, align 4 + store i32 34, i32* %retval1, align 4 + br label %if.end21 + +if.end21: ; preds = %if.then19, %if.end13 + %14 = load i32, i32* %i, align 4 + %tobool22 = icmp ne i32 %14, 0 + br i1 %tobool22, label %if.then23, label %if.end26 + +if.then23: ; preds = %if.end21 + %15 = load i8*, i8** %strerrbuf.addr, align 8 + %16 = load i8*, i8** %s, align 8 + %17 = load i32, i32* %i, align 4 + %conv24 = sext i32 %17 to i64 + %call25 = call i8* @memcpy(i8* %15, i8* %16, i64 %conv24) #19 + %18 = load i8*, i8** %strerrbuf.addr, align 8 + %19 = load i32, i32* %i, align 4 + %sub = sub nsw i32 %19, 1 + %idxprom = sext i32 %sub to i64 + %arrayidx = getelementptr inbounds i8, i8* %18, i64 %idxprom + store i8 0, i8* %arrayidx, align 1 + br label %if.end26 + +if.end26: ; preds = %if.then23, %if.end21 + %20 = load i32, i32* %retval1, align 4 + %tobool27 = icmp ne i32 %20, 0 + br i1 %tobool27, label %if.then28, label %if.end29 + +if.then28: ; preds = %if.end26 + %21 = load i32, i32* %retval1, align 4 + store i32 %21, i32* @errno, align 4 + br label %if.end29 + +if.end29: ; preds = %if.then28, %if.end26 + %22 = load i32, i32* %retval1, align 4 + ret i32 %22 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @strchr(i8* nonnull %s, i32 %c) #14 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %entry + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %2 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %2 to i8 + %conv2 = sext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + %3 = load i8*, i8** %s.addr, align 8 + br i1 %cmp, label %if.then, label %do.cond + +if.then: ; preds = %do.body + store i8* %3, i8** %retval, align 8 + br label %return + +do.cond: ; preds = %do.body + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %s.addr, align 8 + %4 = load i8, i8* %3, align 1 + %tobool = icmp ne i8 %4, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %do.end, %if.then + %5 = load i8*, i8** %retval, align 8 + ret i8* %5 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i64 @strnlen(i8* nonnull %s, i64 %max) #14 { +entry: + %s.addr = alloca i8*, align 8 + %max.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i64 %max, i64* %max.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %1 = load i64, i64* %max.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %2 = load i8*, i8** %p, align 8 + %3 = load i8, i8* %2, align 1 + %conv = sext i8 %3 to i32 + %tobool1 = icmp ne i32 %conv, 0 + br label %land.end + +land.end: ; preds = %land.rhs, %while.cond + %4 = phi i1 [ false, %while.cond ], [ %tobool1, %land.rhs ] + %5 = load i8*, i8** %p, align 8 + br i1 %4, label %while.body, label %while.end + +while.body: ; preds = %land.end + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %6 = load i64, i64* %max.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %max.addr, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %7 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind uwtable +define i8* @strtok_r(i8* noalias %s1, i8* noalias nonnull %s2, i8** noalias nonnull %next_start) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %next_start.addr = alloca i8**, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i8** %next_start, i8*** %next_start.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + %cmp = icmp ne i8* %0, null + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %1 = load i8**, i8*** %next_start.addr, align 8 + %2 = load i8*, i8** %1, align 8 + store i8* %2, i8** %s, align 8 + %cmp1 = icmp ne i8* %2, null + br i1 %cmp1, label %if.then, label %if.end7 + +if.then: ; preds = %lor.lhs.false, %entry + %3 = load i8*, i8** %s, align 8 + %4 = load i8*, i8** %s2.addr, align 8 + %call = call i64 @strspn(i8* %3, i8* %4) #20 + %5 = load i8*, i8** %s, align 8 + %add.ptr = getelementptr inbounds i8, i8* %5, i64 %call + store i8* %add.ptr, i8** %s, align 8 + %6 = load i8, i8* %add.ptr, align 1 + %tobool = icmp ne i8 %6, 0 + br i1 %tobool, label %if.then2, label %if.else + +if.then2: ; preds = %if.then + %7 = load i8*, i8** %s, align 8 + %8 = load i8*, i8** %s2.addr, align 8 + %call3 = call i8* @strpbrk(i8* %7, i8* %8) #20 + store i8* %call3, i8** %p, align 8 + %cmp4 = icmp ne i8* %call3, null + br i1 %cmp4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.then2 + %9 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + store i8 0, i8* %9, align 1 + br label %if.end6 + +if.else: ; preds = %if.then + store i8* null, i8** %s, align 8 + store i8* null, i8** %p, align 8 + br label %if.end6 + +if.end6: ; preds = %if.then2, %if.then5, %if.else + %10 = load i8*, i8** %p, align 8 + %11 = load i8**, i8*** %next_start.addr, align 8 + store i8* %10, i8** %11, align 8 + br label %if.end7 + +if.end7: ; preds = %if.end6, %lor.lhs.false + %12 = load i8*, i8** %s, align 8 + ret i8* %12 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @mbsrtowcs(i32* noalias %dst, i8** noalias %src, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %dst.addr = alloca i32*, align 8 + %src.addr = alloca i8**, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + store i32* %dst, i32** %dst.addr, align 8 + store i8** %src, i8*** %src.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load i32*, i32** %dst.addr, align 8 + %1 = load i8**, i8*** %src.addr, align 8 + %2 = load i64, i64* %len.addr, align 8 + %3 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %cmp = icmp ne %struct.__mbstate_t.512* %3, null + %4 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %cond = select i1 %cmp, %struct.__mbstate_t.512* %4, %struct.__mbstate_t.512* @mbsrtowcs.mbstate + %call = call i64 @mbsnrtowcs(i32* %0, i8** %1, i64 -1, i64 %2, %struct.__mbstate_t.512* %cond) #19 + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define i64 @wcsnrtombs(i8* noalias %dst, i32** noalias %src, i64 %NWC, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %retval = alloca i64, align 8 + %dst.addr = alloca i8*, align 8 + %src.addr = alloca i32**, align 8 + %NWC.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %s = alloca i32*, align 8 + %count = alloca i64, align 8 + %incr = alloca i32, align 4 + %buf = alloca [16 x i8], align 16 + %wc = alloca i32, align 4 + %u = alloca i32, align 4 + store i8* %dst, i8** %dst.addr, align 8 + store i32** %src, i32*** %src.addr, align 8 + store i64 %NWC, i64* %NWC.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 9 + %1 = load i8, i8* %encoding, align 8 + %conv = zext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load i8*, i8** %dst.addr, align 8 + %3 = load i64, i64* %len.addr, align 8 + %4 = load i32**, i32*** %src.addr, align 8 + %5 = load i64, i64* %NWC.addr, align 8 + %call = call i64 @_wchar_wcsntoutf8s(i8* %2, i64 %3, i32** %4, i64 %5) #18 + store i64 %call, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + store i32 1, i32* %incr, align 4 + %6 = load i8*, i8** %dst.addr, align 8 + %tobool = icmp ne i8* %6, null + br i1 %tobool, label %lor.lhs.false, label %if.then4 + +lor.lhs.false: ; preds = %if.end + %7 = load i8*, i8** %dst.addr, align 8 + %8 = load i32**, i32*** %src.addr, align 8 + %9 = bitcast i32** %8 to i8* + %cmp2 = icmp eq i8* %7, %9 + br i1 %cmp2, label %if.then4, label %if.end8 + +if.then4: ; preds = %lor.lhs.false, %if.end + %10 = load i8*, i8** %dst.addr, align 8 + %tobool5 = icmp ne i8* %10, null + br i1 %tobool5, label %if.end7, label %if.then6 + +if.then6: ; preds = %if.then4 + store i64 -1, i64* %len.addr, align 8 + br label %if.end7 + +if.end7: ; preds = %if.then6, %if.then4 + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay, i8** %dst.addr, align 8 + store i32 0, i32* %incr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end7, %lor.lhs.false + %11 = load i64, i64* %len.addr, align 8 + %12 = load i64, i64* %NWC.addr, align 8 + %cmp9 = icmp ugt i64 %11, %12 + br i1 %cmp9, label %if.then11, label %if.end12 + +if.then11: ; preds = %if.end8 + %13 = load i64, i64* %NWC.addr, align 8 + store i64 %13, i64* %len.addr, align 8 + br label %if.end12 + +if.end12: ; preds = %if.then11, %if.end8 + %14 = load i64, i64* %len.addr, align 8 + store i64 %14, i64* %count, align 8 + %15 = load i32**, i32*** %src.addr, align 8 + %16 = load i32*, i32** %15, align 8 + store i32* %16, i32** %s, align 8 + %17 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding13 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %17, i32 0, i32 9 + %18 = load i8, i8* %encoding13, align 8 + %conv14 = zext i8 %18 to i32 + %cmp15 = icmp eq i32 %conv14, 2 + br i1 %cmp15, label %while.cond, label %while.cond52 + +while.cond: ; preds = %if.end12, %if.end45 + %19 = load i64, i64* %count, align 8 + %tobool18 = icmp ne i64 %19, 0 + br i1 %tobool18, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %20 = load i32*, i32** %s, align 8 + %21 = load i32, i32* %20, align 4 + store i32 %21, i32* %wc, align 4 + %cmp19 = icmp ule i32 %21, 127 + br i1 %cmp19, label %if.then21, label %if.else + +if.then21: ; preds = %while.body + %22 = load i32, i32* %wc, align 4 + %conv22 = trunc i32 %22 to i8 + %23 = load i8*, i8** %dst.addr, align 8 + store i8 %conv22, i8* %23, align 1 + %tobool23 = icmp ne i8 %conv22, 0 + br i1 %tobool23, label %if.end45, label %if.then24 + +if.then24: ; preds = %if.then21 + store i32* null, i32** %s, align 8 + br label %while.end + +if.else: ; preds = %while.body + store i32 0, i32* %u, align 4 + %24 = load i32, i32* %wc, align 4 + %cmp26 = icmp ule i32 %24, 9727 + br i1 %cmp26, label %if.then28, label %if.end42 + +if.then28: ; preds = %if.else + %25 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %idx8wc2c = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %25, i32 0, i32 18 + %26 = load i8*, i8** %idx8wc2c, align 8 + %27 = load i32, i32* %wc, align 4 + %shr = lshr i32 %27, 8 + %idxprom = zext i32 %shr to i64 + %arrayidx = getelementptr inbounds i8, i8* %26, i64 %idxprom + %28 = load i8, i8* %arrayidx, align 1 + %conv29 = zext i8 %28 to i32 + store i32 %conv29, i32* %u, align 4 + %29 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %tbl8wc2c = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %29, i32 0, i32 19 + %30 = load i8*, i8** %tbl8wc2c, align 8 + %31 = load i32, i32* %u, align 4 + %shl = shl i32 %31, 4 + %32 = load i32, i32* %wc, align 4 + %shr30 = lshr i32 %32, 4 + %and = and i32 %shr30, 15 + %add = add i32 %shl, %and + %idxprom31 = zext i32 %add to i64 + %arrayidx32 = getelementptr inbounds i8, i8* %30, i64 %idxprom31 + %33 = load i8, i8* %arrayidx32, align 1 + %conv33 = zext i8 %33 to i32 + store i32 %conv33, i32* %u, align 4 + %34 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %tbl8wc2c34 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %34, i32 0, i32 19 + %35 = load i8*, i8** %tbl8wc2c34, align 8 + %36 = load i32, i32* %u, align 4 + %shl35 = shl i32 %36, 4 + %add36 = add i32 1072, %shl35 + %37 = load i32, i32* %wc, align 4 + %and37 = and i32 %37, 15 + %add38 = add i32 %add36, %and37 + %idxprom39 = zext i32 %add38 to i64 + %arrayidx40 = getelementptr inbounds i8, i8* %35, i64 %idxprom39 + %38 = load i8, i8* %arrayidx40, align 1 + %conv41 = zext i8 %38 to i32 + store i32 %conv41, i32* %u, align 4 + br label %if.end42 + +if.end42: ; preds = %if.then28, %if.else + %39 = load i32, i32* %u, align 4 + %tobool43 = icmp ne i32 %39, 0 + %40 = load i32, i32* %u, align 4 + %cond = select i1 %tobool43, i32 %40, i32 63 + %conv44 = trunc i32 %cond to i8 + %41 = load i8*, i8** %dst.addr, align 8 + store i8 %conv44, i8* %41, align 1 + br label %if.end45 + +if.end45: ; preds = %if.then21, %if.end42 + %42 = load i32*, i32** %s, align 8 + %incdec.ptr = getelementptr inbounds i32, i32* %42, i32 1 + store i32* %incdec.ptr, i32** %s, align 8 + %43 = load i32, i32* %incr, align 4 + %44 = load i8*, i8** %dst.addr, align 8 + %idx.ext = sext i32 %43 to i64 + %add.ptr = getelementptr inbounds i8, i8* %44, i64 %idx.ext + store i8* %add.ptr, i8** %dst.addr, align 8 + %45 = load i64, i64* %count, align 8 + %dec = add i64 %45, -1 + store i64 %dec, i64* %count, align 8 + br label %while.cond + +while.end: ; preds = %if.then24, %while.cond + %46 = load i8*, i8** %dst.addr, align 8 + %arraydecay46 = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + %cmp47 = icmp ne i8* %46, %arraydecay46 + br i1 %cmp47, label %if.then49, label %if.end50 + +if.then49: ; preds = %while.end + %47 = load i32*, i32** %s, align 8 + %48 = load i32**, i32*** %src.addr, align 8 + store i32* %47, i32** %48, align 8 + br label %if.end50 + +if.end50: ; preds = %if.then49, %while.end + %49 = load i64, i64* %len.addr, align 8 + %50 = load i64, i64* %count, align 8 + %sub = sub i64 %49, %50 + store i64 %sub, i64* %retval, align 8 + br label %return + +while.cond52: ; preds = %if.end12, %if.end64 + %51 = load i64, i64* %count, align 8 + %tobool53 = icmp ne i64 %51, 0 + br i1 %tobool53, label %while.body54, label %while.end69 + +while.body54: ; preds = %while.cond52 + %52 = load i32*, i32** %s, align 8 + %53 = load i32, i32* %52, align 4 + %cmp55 = icmp uge i32 %53, 128 + br i1 %cmp55, label %if.then57, label %if.end58 + +if.then57: ; preds = %while.body54 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end58: ; preds = %while.body54 + %54 = load i32*, i32** %s, align 8 + %55 = load i32, i32* %54, align 4 + %conv59 = trunc i32 %55 to i8 + %56 = load i8*, i8** %dst.addr, align 8 + store i8 %conv59, i8* %56, align 1 + %conv60 = sext i8 %conv59 to i32 + %cmp61 = icmp eq i32 %conv60, 0 + br i1 %cmp61, label %if.then63, label %if.end64 + +if.then63: ; preds = %if.end58 + store i32* null, i32** %s, align 8 + br label %while.end69 + +if.end64: ; preds = %if.end58 + %57 = load i32*, i32** %s, align 8 + %incdec.ptr65 = getelementptr inbounds i32, i32* %57, i32 1 + store i32* %incdec.ptr65, i32** %s, align 8 + %58 = load i32, i32* %incr, align 4 + %59 = load i8*, i8** %dst.addr, align 8 + %idx.ext66 = sext i32 %58 to i64 + %add.ptr67 = getelementptr inbounds i8, i8* %59, i64 %idx.ext66 + store i8* %add.ptr67, i8** %dst.addr, align 8 + %60 = load i64, i64* %count, align 8 + %dec68 = add i64 %60, -1 + store i64 %dec68, i64* %count, align 8 + br label %while.cond52 + +while.end69: ; preds = %if.then63, %while.cond52 + %61 = load i8*, i8** %dst.addr, align 8 + %arraydecay70 = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + %cmp71 = icmp ne i8* %61, %arraydecay70 + br i1 %cmp71, label %if.then73, label %if.end74 + +if.then73: ; preds = %while.end69 + %62 = load i32*, i32** %s, align 8 + %63 = load i32**, i32*** %src.addr, align 8 + store i32* %62, i32** %63, align 8 + br label %if.end74 + +if.end74: ; preds = %if.then73, %while.end69 + %64 = load i64, i64* %len.addr, align 8 + %65 = load i64, i64* %count, align 8 + %sub75 = sub i64 %64, %65 + store i64 %sub75, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end74, %if.then57, %if.end50, %if.then + %66 = load i64, i64* %retval, align 8 + ret i64 %66 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @memchr(i8* nonnull %s, i32 %c, i64 %n) #14 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %n.addr = alloca i64, align 8 + %r = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %r, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %1 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %2 = load i8*, i8** %r, align 8 + %3 = load i8, i8* %2, align 1 + %conv = zext i8 %3 to i32 + %4 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %4 to i8 + %conv2 = zext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + %5 = load i8*, i8** %r, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + store i8* %5, i8** %retval, align 8 + br label %return + +if.end: ; preds = %while.body + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %r, align 8 + %6 = load i64, i64* %n.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then + %7 = load i8*, i8** %retval, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @memrchr(i8* nonnull %s, i32 %c, i64 %n) #14 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %n.addr = alloca i64, align 8 + %r = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i64, i64* %n.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %0, i64 %1 + store i8* %add.ptr, i8** %r, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %2 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load i8*, i8** %r, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 -1 + store i8* %incdec.ptr, i8** %r, align 8 + %4 = load i8, i8* %incdec.ptr, align 1 + %conv = zext i8 %4 to i32 + %5 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %5 to i8 + %conv2 = zext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + %6 = load i8*, i8** %r, align 8 + store i8* %6, i8** %retval, align 8 + br label %return + +if.end: ; preds = %while.body + %7 = load i64, i64* %n.addr, align 8 + %dec = add i64 %7, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then + %8 = load i8*, i8** %retval, align 8 + ret i8* %8 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @strpbrk(i8* nonnull %s1, i8* nonnull %s2) #14 { +entry: + %retval = alloca i8*, align 8 + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc6, %entry + %1 = load i8*, i8** %s, align 8 + %2 = load i8, i8* %1, align 1 + %tobool = icmp ne i8 %2, 0 + br i1 %tobool, label %for.body, label %for.end8 + +for.body: ; preds = %for.cond + %3 = load i8*, i8** %s2.addr, align 8 + store i8* %3, i8** %p, align 8 + br label %for.cond1 + +for.cond1: ; preds = %for.inc, %for.body + %4 = load i8*, i8** %p, align 8 + %5 = load i8, i8* %4, align 1 + %tobool2 = icmp ne i8 %5, 0 + br i1 %tobool2, label %for.body3, label %for.inc6 + +for.body3: ; preds = %for.cond1 + %6 = load i8*, i8** %p, align 8 + %7 = load i8, i8* %6, align 1 + %conv = sext i8 %7 to i32 + %8 = load i8*, i8** %s, align 8 + %9 = load i8, i8* %8, align 1 + %conv4 = sext i8 %9 to i32 + %cmp = icmp eq i32 %conv, %conv4 + br i1 %cmp, label %if.then, label %for.inc + +if.then: ; preds = %for.body3 + %10 = load i8*, i8** %s, align 8 + store i8* %10, i8** %retval, align 8 + br label %return + +for.inc: ; preds = %for.body3 + %11 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %11, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + br label %for.cond1 + +for.inc6: ; preds = %for.cond1 + %12 = load i8*, i8** %s, align 8 + %incdec.ptr7 = getelementptr inbounds i8, i8* %12, i32 1 + store i8* %incdec.ptr7, i8** %s, align 8 + br label %for.cond + +for.end8: ; preds = %for.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %for.end8, %if.then + %13 = load i8*, i8** %retval, align 8 + ret i8* %13 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i64 @strspn(i8* nonnull %s1, i8* nonnull %s2) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %2 = load i8*, i8** %p, align 8 + %3 = load i8, i8* %2, align 1 + %tobool = icmp ne i8 %3, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %5 = load i8, i8* %4, align 1 + %conv = sext i8 %5 to i32 + %6 = load i8*, i8** %s, align 8 + %7 = load i8, i8* %6, align 1 + %conv1 = sext i8 %7 to i32 + %cmp = icmp eq i32 %conv, %conv1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + %8 = load i8*, i8** %s, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %8, i32 1 + store i8* %incdec.ptr3, i8** %s, align 8 + %9 = load i8*, i8** %s2.addr, align 8 + store i8* %9, i8** %p, align 8 + br label %if.end + +if.end: ; preds = %if.then, %while.body + br label %while.cond + +while.end: ; preds = %while.cond + %10 = load i8*, i8** %s, align 8 + %11 = load i8*, i8** %s1.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %10 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %11 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_wchar_wcsntoutf8s(i8* noalias %s, i64 %n, i32** noalias %src, i64 %wn) #0 { +entry: + %retval = alloca i64, align 8 + %s.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %src.addr = alloca i32**, align 8 + %wn.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + %len = alloca i64, align 8 + %t = alloca i64, align 8 + %wc = alloca i32, align 4 + %swc = alloca i32*, align 8 + %store = alloca i32, align 4 + %buf = alloca [16 x i8], align 16 + %m = alloca i8, align 1 + store i8* %s, i8** %s.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i32** %src, i32*** %src.addr, align 8 + store i64 %wn, i64* %wn.addr, align 8 + store i32 1, i32* %store, align 4 + %0 = load i8*, i8** %s.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %lor.lhs.false, label %if.then + +lor.lhs.false: ; preds = %entry + %1 = load i8*, i8** %s.addr, align 8 + %2 = load i32**, i32*** %src.addr, align 8 + %3 = bitcast i32** %2 to i8* + %cmp = icmp eq i8* %1, %3 + br i1 %cmp, label %if.then, label %if.end3 + +if.then: ; preds = %lor.lhs.false, %entry + %4 = load i8*, i8** %s.addr, align 8 + %tobool1 = icmp ne i8* %4, null + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + store i64 -1, i64* %n.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay, i8** %s.addr, align 8 + store i32 0, i32* %store, align 4 + br label %if.end3 + +if.end3: ; preds = %if.end, %lor.lhs.false + %5 = load i64, i64* %n.addr, align 8 + store i64 %5, i64* %t, align 8 + %6 = load i32**, i32*** %src.addr, align 8 + %7 = load i32*, i32** %6, align 8 + store i32* %7, i32** %swc, align 8 + br label %while.cond + +while.cond: ; preds = %if.end51, %if.end3 + %8 = load i64, i64* %wn.addr, align 8 + %tobool4 = icmp ne i64 %8, 0 + %9 = load i64, i64* %t, align 8 + %tobool5 = icmp ne i64 %9, 0 + %10 = select i1 %tobool4, i1 %tobool5, i1 false + br i1 %10, label %while.body, label %while.end52 + +while.body: ; preds = %while.cond + %11 = load i32*, i32** %swc, align 8 + %12 = load i32, i32* %11, align 4 + store i32 %12, i32* %wc, align 4 + %13 = load i32, i32* %wc, align 4 + %conv = trunc i32 %13 to i8 + %14 = load i8*, i8** %s.addr, align 8 + store i8 %conv, i8* %14, align 1 + store i64 1, i64* %len, align 8 + %15 = load i32, i32* %wc, align 4 + %cmp6 = icmp uge i32 %15, 128 + %16 = load i32, i32* %wc, align 4 + br i1 %cmp6, label %if.then8, label %if.else + +if.then8: ; preds = %while.body + %conv9 = zext i32 %16 to i64 + %cmp10 = icmp ugt i64 %conv9, 2147483647 + br i1 %cmp10, label %if.then19, label %lor.lhs.false12 + +lor.lhs.false12: ; preds = %if.then8 + %17 = load i32, i32* %wc, align 4 + %sub = sub i32 %17, 65534 + %cmp13 = icmp ult i32 %sub, 2 + br i1 %cmp13, label %if.then19, label %lor.lhs.false15 + +lor.lhs.false15: ; preds = %lor.lhs.false12 + %18 = load i32, i32* %wc, align 4 + %sub16 = sub i32 %18, 55296 + %cmp17 = icmp ult i32 %sub16, 2048 + br i1 %cmp17, label %if.then19, label %if.end20 + +if.then19: ; preds = %lor.lhs.false15, %lor.lhs.false12, %if.then8 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end20: ; preds = %lor.lhs.false15 + %19 = load i32, i32* %wc, align 4 + %shr = lshr i32 %19, 1 + store i32 %shr, i32* %wc, align 4 + %20 = load i8*, i8** %s.addr, align 8 + store i8* %20, i8** %p, align 8 + br label %do.body + +do.body: ; preds = %do.body, %if.end20 + %21 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %21, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %22 = load i32, i32* %wc, align 4 + %shr21 = lshr i32 %22, 5 + store i32 %shr21, i32* %wc, align 4 + %tobool22 = icmp ne i32 %shr21, 0 + br i1 %tobool22, label %do.body, label %do.end + +do.end: ; preds = %do.body + %23 = load i32*, i32** %swc, align 8 + %24 = load i32, i32* %23, align 4 + store i32 %24, i32* %wc, align 4 + %25 = load i8*, i8** %p, align 8 + %26 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %25 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %26 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %len, align 8 + %27 = load i64, i64* %t, align 8 + %cmp23 = icmp ugt i64 %sub.ptr.sub, %27 + br i1 %cmp23, label %while.end52, label %if.end26 + +if.end26: ; preds = %do.end + store i8 -128, i8* %m, align 1 + br label %while.cond27 + +while.cond27: ; preds = %while.body30, %if.end26 + %28 = load i8*, i8** %p, align 8 + %29 = load i8*, i8** %s.addr, align 8 + %cmp28 = icmp ugt i8* %28, %29 + %30 = load i8, i8* %m, align 1 + %conv31 = sext i8 %30 to i32 + br i1 %cmp28, label %while.body30, label %while.end + +while.body30: ; preds = %while.cond27 + %shr32 = ashr i32 %conv31, 1 + %or = or i32 %shr32, 128 + %conv33 = trunc i32 %or to i8 + store i8 %conv33, i8* %m, align 1 + %31 = load i32, i32* %wc, align 4 + %and = and i32 %31, 63 + %or34 = or i32 %and, 128 + %conv35 = trunc i32 %or34 to i8 + %32 = load i8*, i8** %p, align 8 + %incdec.ptr36 = getelementptr inbounds i8, i8* %32, i32 -1 + store i8* %incdec.ptr36, i8** %p, align 8 + store i8 %conv35, i8* %incdec.ptr36, align 1 + %33 = load i32, i32* %wc, align 4 + %shr37 = lshr i32 %33, 6 + store i32 %shr37, i32* %wc, align 4 + br label %while.cond27 + +while.end: ; preds = %while.cond27 + %shl = shl i32 %conv31, 1 + %34 = load i8*, i8** %s.addr, align 8 + %35 = load i8, i8* %34, align 1 + %conv39 = sext i8 %35 to i32 + %or40 = or i32 %conv39, %shl + %conv41 = trunc i32 %or40 to i8 + store i8 %conv41, i8* %34, align 1 + br label %if.end46 + +if.else: ; preds = %while.body + %cmp42 = icmp eq i32 %16, 0 + br i1 %cmp42, label %if.then44, label %if.end46 + +if.then44: ; preds = %if.else + store i32* null, i32** %swc, align 8 + br label %while.end52 + +if.end46: ; preds = %if.else, %while.end + %36 = load i32*, i32** %swc, align 8 + %incdec.ptr47 = getelementptr inbounds i32, i32* %36, i32 1 + store i32* %incdec.ptr47, i32** %swc, align 8 + %37 = load i64, i64* %wn.addr, align 8 + %dec = add i64 %37, -1 + store i64 %dec, i64* %wn.addr, align 8 + %38 = load i64, i64* %len, align 8 + %39 = load i64, i64* %t, align 8 + %sub48 = sub i64 %39, %38 + store i64 %sub48, i64* %t, align 8 + %40 = load i32, i32* %store, align 4 + %tobool49 = icmp ne i32 %40, 0 + br i1 %tobool49, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.end46 + %41 = load i64, i64* %len, align 8 + %42 = load i8*, i8** %s.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %42, i64 %41 + store i8* %add.ptr, i8** %s.addr, align 8 + br label %if.end51 + +if.end51: ; preds = %if.then50, %if.end46 + br label %while.cond + +while.end52: ; preds = %do.end, %if.then44, %while.cond + %43 = load i32, i32* %store, align 4 + %tobool53 = icmp ne i32 %43, 0 + br i1 %tobool53, label %if.then54, label %if.end55 + +if.then54: ; preds = %while.end52 + %44 = load i32*, i32** %swc, align 8 + %45 = load i32**, i32*** %src.addr, align 8 + store i32* %44, i32** %45, align 8 + br label %if.end55 + +if.end55: ; preds = %if.then54, %while.end52 + %46 = load i64, i64* %n.addr, align 8 + %47 = load i64, i64* %t, align 8 + %sub56 = sub i64 %46, %47 + store i64 %sub56, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end55, %if.then19 + %48 = load i64, i64* %retval, align 8 + ret i64 %48 +} + +attributes #0 = { noinline nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #1 = { noinline noreturn nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #2 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #3 = { noinline nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #4 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #5 = { "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #6 = { noinline noreturn nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #7 = { noreturn "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #8 = { argmemonly nounwind willreturn writeonly } +attributes #9 = { argmemonly nounwind willreturn } +attributes #10 = { noreturn nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #11 = { nounwind } +attributes #12 = { noinline nounwind readnone uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #13 = { noreturn "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #14 = { noinline nounwind readonly uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #15 = { noinline nounwind readonly uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #16 = { noinline nounwind returns_twice uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #17 = { "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #18 = { nobuiltin "no-builtins" } +attributes #19 = { nobuiltin nounwind "no-builtins" } +attributes #20 = { nobuiltin nounwind readonly "no-builtins" } +attributes #21 = { nobuiltin nounwind readnone "no-builtins" } +attributes #22 = { nobuiltin noreturn nounwind "no-builtins" } +attributes #23 = { nounwind readonly } +attributes #24 = { noreturn } +attributes #25 = { nounwind readnone } +attributes #26 = { noreturn nounwind } +attributes #27 = { nobuiltin noreturn "no-builtins" } + +!llvm.module.flags = !{!0, !1} +!llvm.ident = !{!2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2} + +!0 = !{i32 1, !"wchar_size", i32 4} +!1 = !{i32 7, !"PIC Level", i32 2} +!2 = !{!"clang version 11.1.0 (https://github.com/llvm/llvm-project.git 1fdec59bffc11ae37eb51a1b9869f0696bfd5312)"} diff --git a/benchmarks/coreutils/gensym_posix/fold.ll b/benchmarks/coreutils/gensym_posix/fold.ll new file mode 100644 index 000000000..9ea7077ce --- /dev/null +++ b/benchmarks/coreutils/gensym_posix/fold.ll @@ -0,0 +1,32392 @@ +; ModuleID = '__uClibc_main.os' +source_filename = "libc/misc/internals/__uClibc_main.c" +target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" +target triple = "x86_64-unknown-linux-gnu" + +module asm ".section .gnu.warning.siggetmask" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.__fpending" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.gets" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.tmpnam" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.mktemp" +module asm "\09.previous" + +%struct.__uclibc_locale_struct.201 = type { i16*, i16*, i16*, [384 x i16], [384 x i16], [384 x i16], [14 x i8], [6 x i16], [6 x i8], i8, i8, [10 x i8], i8*, i8*, i8*, i8*, i8*, i16*, i8*, i8*, i16*, i8*, i8*, i16*, i32, i32, i32, i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__collate_t.200 } +%struct.__collate_t.200 = type { i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16*, i16*, i16*, i16*, i16*, i16*, i16*, i16*, i16*, i16 } +%struct.__STDIO_FILE_STRUCT.568 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.568*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__mbstate_t.512 = type { i32, i32 } +%struct.quoting_options = type { i32, i32, [8 x i32], i8*, i8* } +%struct.infomap = type { i8*, i8* } +%struct.option = type { i8*, i32, i32*, i32 } +%struct.slotvec = type { i64, i8* } +%struct.exe_file_t = type { i32, i32, i64, %struct.exe_disk_file_t* } +%struct.exe_disk_file_t = type { i32, i8*, %struct.stat64* } +%struct.stat64 = type { i64, i64, i64, i32, i32, i32, i32, i64, i64, i64, i64, %struct.timespec, %struct.timespec, %struct.timespec, [3 x i64] } +%struct.timespec = type { i64, i64 } +%struct.exe_file_system_t = type { i32, %struct.exe_disk_file_t*, %struct.exe_disk_file_t*, i32, %struct.exe_disk_file_t*, i32, i32*, i32*, i32*, i32*, i32*, i32*, i32* } +%struct.__locale_mmap_t.203 = type { [420 x i8], [504 x i8], [1760 x i16], [4528 x i8], [3604 x i8], [1680 x i8], [196 x i16], [51 x i8], [28 x i8], [1646 x i8], [28353 x i8], [1804 x i8], [23 x %struct.__codeset_8_bit_t.202], [20 x i8], [10 x i16], [20 x i16], [45 x i8], [3 x i16], [15 x i16], [3894 x i8], [22 x i16], [407 x i16], [8250 x i8], [50 x i16], [3429 x i16], [372 x i8], [4 x i16], [200 x i16], [91141 x i16], [6 x i8], [24 x i64], [2826 x i8], [835 x i8], [18 x i8], [69 x i8], [255 x i8] } +%struct.__codeset_8_bit_t.202 = type { [16 x i8], [16 x i8], [16 x i8], [38 x i8] } +%struct.utmp.323 = type { i16, i32, [32 x i8], [4 x i8], [32 x i8], [256 x i8], %struct.exit_status, i64, %struct.timespec, [4 x i32], [20 x i8] } +%struct.exit_status = type { i16, i16 } +%struct._getopt_data = type { i32, i32, i32, i8*, i32, i8*, i32, i32, i32, i32 } +%struct.exit_function = type { i64, %union.anon.772 } +%union.anon.772 = type { %struct.anon.0.771 } +%struct.anon.0.771 = type { void (i8*)*, i8*, i8* } +%struct.dirent64 = type { i64, i64, i16, i8, [256 x i8] } +%struct.__STDIO_FILE_STRUCT.592 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.592*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.608 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.608*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.621 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.621*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.636 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.636*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.Elf64_auxv_t = type { i64, %union.anon.193 } +%union.anon.193 = type { i64 } +%struct.stat.192 = type { i64, i64, i64, i32, i32, i32, i32, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, [3 x i64] } +%struct.__STDIO_FILE_STRUCT.513 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.513*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.exe_sym_env_t = type { [32 x %struct.exe_file_t], i32, i32, i32 } +%struct.__va_list_tag.0 = type { i32, i32, i8*, i8* } +%struct.termios = type { i32, i32, i32, i32, i8, [32 x i8], i32, i32 } +%struct.winsize = type { i16, i16, i16, i16 } +%struct.flock = type { i16, i16, i64, i64, i32 } +%struct.statfs = type { i64, i64, i64, i64, i64, i64, i64, %struct.__fsid_t, i64, i64, i64, [4 x i64] } +%struct.__fsid_t = type { [2 x i32] } +%struct.fd_set = type { [16 x i64] } +%struct.coldata_header_t = type { i16, i16, i16, i16, i16, i16, i16, i16 } +%struct.coldata_base_t = type { i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16 } +%struct._IO_FILE = type { i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct._IO_marker*, %struct._IO_FILE*, i32, i32, i64, i16, i8, [1 x i8], i8*, i64, %struct._IO_codecvt*, %struct._IO_wide_data*, %struct._IO_FILE*, i8*, i64, i32, [20 x i8] } +%struct._IO_marker = type opaque +%struct._IO_codecvt = type opaque +%struct._IO_wide_data = type opaque +%struct.__mbstate_t = type { i32, %union.anon } +%union.anon = type { i32 } +%struct.sigaction.800 = type { %union.anon.799, %struct.fd_set, i32, void ()* } +%union.anon.799 = type { void (i32)* } +%struct.tms = type { i64, i64, i64, i64 } +%struct.utmpx = type opaque +%struct.utmp = type { i16, i32, [32 x i8], [4 x i8], [32 x i8], [256 x i8], %struct.exit_status, i32, %struct.__mbstate_t.512, [4 x i32], [20 x i8] } +%struct.rusage = type { %struct.timespec, %struct.timespec, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193 } +%struct.siginfo_t = type { i32, i32, i32, i32, %union.anon.0 } +%union.anon.0 = type { %struct.anon.3, [80 x i8] } +%struct.anon.3 = type { i32, i32, i32, i64, i64 } +%struct.kernel_sigaction = type { void (i32)*, i64, void ()*, %struct.fd_set } +%struct.__jmp_buf_tag = type { [8 x i64], i32, %struct.fd_set } +%struct.__STDIO_FILE_STRUCT.519 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.519*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.612 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.612*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__kernel_termios = type { i32, i32, i32, i32, i8, [19 x i8] } +%struct.ppfs_t.722 = type { i8*, %struct.printf_info.720, i32, i32, i32, [4 x i8], [9 x i32], [1 x %struct.__va_list_tag.0], [9 x %union.anon.193] } +%struct.printf_info.720 = type { i32, i32, i32, i32, i32 } +%struct.anon.779 = type { void (i32, i8*)*, i8* } + +@__libc_stack_end = global i8* null, align 8 +@.str = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@__uclibc_progname = hidden global i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i32 0, i32 0), align 8 +@program_invocation_short_name = global i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i32 0, i32 0), align 8 +@program_invocation_name = global i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i32 0, i32 0), align 8 +@__environ = global i8** null, align 8 +@__pagesize = global i64 0, align 8 +@__uClibc_init.been_there_done_that = internal global i32 0, align 4 +@__app_fini = hidden global void ()* null, align 8 +@__rtld_fini = hidden global void ()* null, align 8 +@.str.1 = private unnamed_addr constant [10 x i8] c"/dev/null\00", align 1 +@llvm.used = appending global [5 x i8*] [i8* getelementptr inbounds ([57 x i8], [57 x i8]* @__evoke_link_warning_siggetmask, i32 0, i32 0), i8* getelementptr inbounds ([167 x i8], [167 x i8]* @__evoke_link_warning___fpending, i32 0, i32 0), i8* getelementptr inbounds ([57 x i8], [57 x i8]* @__evoke_link_warning_gets, i32 0, i32 0), i8* getelementptr inbounds ([55 x i8], [55 x i8]* @__evoke_link_warning_tmpnam, i32 0, i32 0), i8* getelementptr inbounds ([55 x i8], [55 x i8]* @__evoke_link_warning_mktemp, i32 0, i32 0)], section "llvm.metadata" +@__evoke_link_warning_siggetmask = internal constant [57 x i8] c"warning: `siggetmask' is obsolete; `sigprocmask' is best\00", section ".gnu.warning.siggetmask\0A#APP\0A\09#", align 16 +@__evoke_link_warning___fpending = internal constant [167 x i8] c"This version of __fpending returns bytes remaining in buffer for both narrow and wide streams. glibc's version returns wide chars in buffer for the wide stream case.\00", section ".gnu.warning.__fpending\0A#APP\0A\09#", align 16 +@__evoke_link_warning_gets = internal constant [57 x i8] c"the 'gets' function is dangerous and should not be used.\00", section ".gnu.warning.gets\0A#APP\0A\09#", align 16 +@__evoke_link_warning_tmpnam = internal constant [55 x i8] c"the use of `tmpnam' is dangerous, better use `mkstemp'\00", section ".gnu.warning.tmpnam\0A#APP\0A\09#", align 16 +@tmpnam_buffer = internal global [20 x i8] zeroinitializer, align 16 +@__evoke_link_warning_mktemp = internal constant [55 x i8] c"the use of `mktemp' is dangerous, better use `mkstemp'\00", section ".gnu.warning.mktemp\0A#APP\0A\09#", align 16 +@.str.4 = private unnamed_addr constant [77 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/fd.c\00", align 1 +@.str.27 = private unnamed_addr constant [37 x i8] c"ERROR: concretizing symbolic pointer\00", align 1 +@.str.28 = private unnamed_addr constant [9 x i8] c"user.err\00", align 1 +@.str.25 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@getcwd.n_calls = internal global i32 0, align 4 +@.str.5 = private unnamed_addr constant [46 x i8] c"Undefined call to open(): O_TRUNC | O_RDONLY\0A\00", align 1 +@.str.1.6 = private unnamed_addr constant [47 x i8] c"Undefined call to open(): O_EXCL w/o O_RDONLY\0A\00", align 1 +@.str.2 = private unnamed_addr constant [44 x i8] c"symbolic file descriptor, ignoring (ENOENT)\00", align 1 +@close.n_calls = internal global i32 0, align 4 +@read.n_calls = internal global i32 0, align 4 +@.str.3 = private unnamed_addr constant [12 x i8] c"f->off >= 0\00", align 1 +@__PRETTY_FUNCTION__.read = private unnamed_addr constant [34 x i8] c"ssize_t read(int, void *, size_t)\00", align 1 +@write.n_calls = internal global i32 0, align 4 +@.str.5.7 = private unnamed_addr constant [7 x i8] c"r >= 0\00", align 1 +@__PRETTY_FUNCTION__.write = private unnamed_addr constant [41 x i8] c"ssize_t write(int, const void *, size_t)\00", align 1 +@.str.6 = private unnamed_addr constant [2 x i8] c"0\00", align 1 +@.str.7 = private unnamed_addr constant [24 x i8] c"write() ignores bytes.\0A\00", align 1 +@.str.8 = private unnamed_addr constant [18 x i8] c"new_off == f->off\00", align 1 +@__PRETTY_FUNCTION__.__fd_lseek = private unnamed_addr constant [38 x i8] c"off64_t __fd_lseek(int, off64_t, int)\00", align 1 +@.str.9 = private unnamed_addr constant [33 x i8] c"symbolic file, ignoring (ENOENT)\00", align 1 +@chmod.n_calls = internal global i32 0, align 4 +@fchmod.n_calls = internal global i32 0, align 4 +@.str.26 = private unnamed_addr constant [32 x i8] c"symbolic file, ignoring (EPERM)\00", align 1 +@__fd_ftruncate.n_calls = internal global i32 0, align 4 +@.str.10 = private unnamed_addr constant [30 x i8] c"symbolic file, ignoring (EIO)\00", align 1 +@.str.11 = private unnamed_addr constant [33 x i8] c"symbolic file, ignoring (EINVAL)\00", align 1 +@.str.12 = private unnamed_addr constant [18 x i8] c"s != (off64_t) -1\00", align 1 +@__PRETTY_FUNCTION__.__fd_getdents = private unnamed_addr constant [65 x i8] c"int __fd_getdents(unsigned int, struct dirent64 *, unsigned int)\00", align 1 +@.str.13 = private unnamed_addr constant [22 x i8] c"f->off != (off64_t)-1\00", align 1 +@.str.14 = private unnamed_addr constant [41 x i8] c"(TCGETS) symbolic file, incomplete model\00", align 1 +@.str.15 = private unnamed_addr constant [42 x i8] c"(TCSETS) symbolic file, silently ignoring\00", align 1 +@.str.16 = private unnamed_addr constant [43 x i8] c"(TCSETSW) symbolic file, silently ignoring\00", align 1 +@.str.17 = private unnamed_addr constant [43 x i8] c"(TCSETSF) symbolic file, silently ignoring\00", align 1 +@.str.18 = private unnamed_addr constant [45 x i8] c"(TIOCGWINSZ) symbolic file, incomplete model\00", align 1 +@.str.19 = private unnamed_addr constant [46 x i8] c"(TIOCSWINSZ) symbolic file, ignoring (EINVAL)\00", align 1 +@.str.20 = private unnamed_addr constant [43 x i8] c"(FIONREAD) symbolic file, incomplete model\00", align 1 +@.str.21 = private unnamed_addr constant [44 x i8] c"(MTIOCGET) symbolic file, ignoring (EINVAL)\00", align 1 +@.str.22 = private unnamed_addr constant [32 x i8] c"symbolic file, ignoring (EBADF)\00", align 1 +@.str.23 = private unnamed_addr constant [17 x i8] c"ignoring (EPERM)\00", align 1 +@.str.24 = private unnamed_addr constant [18 x i8] c"ignoring (ENOENT)\00", align 1 +@__const.klee_init_env.sym_arg_name = private unnamed_addr constant [6 x i8] c"arg\00\00\00", align 1 +@.str.29 = private unnamed_addr constant [7 x i8] c"--help\00", align 1 +@.str.1.30 = private unnamed_addr constant [964 x i8] c"klee_init_env\0A\0Ausage: (klee_init_env) [options] [program arguments]\0A -sym-arg - Replace by a symbolic argument with length N\0A -sym-args - Replace by at least MIN arguments and at most\0A MAX arguments, each with maximum length N\0A -sym-files - Make NUM symbolic files ('A', 'B', 'C', etc.),\0A each with size N\0A -sym-stdin - Make stdin symbolic with size N.\0A -sym-stdout - Make stdout symbolic.\0A -save-all-writes - Allow write operations to execute as expected\0A even if they exceed the file size. If set to 0, all\0A writes exceeding the initial file size are discarded.\0A Note: file offset is always incremented.\0A -max-fail - Allow up to N injected failures\0A -fd-fail - Shortcut for '-max-fail 1'\0A\0A\00", align 1 +@.str.2.31 = private unnamed_addr constant [10 x i8] c"--sym-arg\00", align 1 +@.str.3.32 = private unnamed_addr constant [9 x i8] c"-sym-arg\00", align 1 +@.str.4.33 = private unnamed_addr constant [48 x i8] c"--sym-arg expects an integer argument \00", align 1 +@.str.5.34 = private unnamed_addr constant [45 x i8] c"No more than 100 symbolic arguments allowed.\00", align 1 +@.str.6.35 = private unnamed_addr constant [11 x i8] c"--sym-args\00", align 1 +@.str.7.36 = private unnamed_addr constant [10 x i8] c"-sym-args\00", align 1 +@.str.8.37 = private unnamed_addr constant [77 x i8] c"--sym-args expects three integer arguments \00", align 1 +@.str.9.38 = private unnamed_addr constant [28 x i8] c"Invalid range to --sym-args\00", align 1 +@.str.10.39 = private unnamed_addr constant [7 x i8] c"n_args\00", align 1 +@.str.11.40 = private unnamed_addr constant [12 x i8] c"--sym-files\00", align 1 +@.str.12.41 = private unnamed_addr constant [11 x i8] c"-sym-files\00", align 1 +@.str.13.42 = private unnamed_addr constant [72 x i8] c"--sym-files expects two integer arguments \00", align 1 +@.str.14.43 = private unnamed_addr constant [39 x i8] c"Multiple --sym-files are not allowed.\0A\00", align 1 +@.str.15.44 = private unnamed_addr constant [65 x i8] c"The first argument to --sym-files (number of files) cannot be 0\0A\00", align 1 +@.str.16.45 = private unnamed_addr constant [60 x i8] c"The second argument to --sym-files (file size) cannot be 0\0A\00", align 1 +@.str.17.46 = private unnamed_addr constant [12 x i8] c"--sym-stdin\00", align 1 +@.str.18.47 = private unnamed_addr constant [11 x i8] c"-sym-stdin\00", align 1 +@.str.19.48 = private unnamed_addr constant [57 x i8] c"--sym-stdin expects one integer argument \00", align 1 +@.str.20.49 = private unnamed_addr constant [13 x i8] c"--sym-stdout\00", align 1 +@.str.21.50 = private unnamed_addr constant [12 x i8] c"-sym-stdout\00", align 1 +@.str.22.51 = private unnamed_addr constant [18 x i8] c"--save-all-writes\00", align 1 +@.str.23.52 = private unnamed_addr constant [17 x i8] c"-save-all-writes\00", align 1 +@.str.24.53 = private unnamed_addr constant [10 x i8] c"--fd-fail\00", align 1 +@.str.25.54 = private unnamed_addr constant [9 x i8] c"-fd-fail\00", align 1 +@.str.26.55 = private unnamed_addr constant [12 x i8] c"--bout-file\00", align 1 +@.str.27.56 = private unnamed_addr constant [11 x i8] c"-bout-file\00", align 1 +@.str.28.57 = private unnamed_addr constant [11 x i8] c"--max-fail\00", align 1 +@.str.29.58 = private unnamed_addr constant [10 x i8] c"-max-fail\00", align 1 +@.str.30 = private unnamed_addr constant [54 x i8] c"--max-fail expects an integer argument \00", align 1 +@.str.31 = private unnamed_addr constant [31 x i8] c"out of memory in klee_init_env\00", align 1 +@.str.35 = private unnamed_addr constant [37 x i8] c"too many arguments for klee_init_env\00", align 1 +@.str.32 = private unnamed_addr constant [88 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/klee_init_env.c\00", align 1 +@.str.33 = private unnamed_addr constant [9 x i8] c"user.err\00", align 1 +@.str.34 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.68 = private unnamed_addr constant [5 x i8] c"file\00", align 1 +@.str.1.69 = private unnamed_addr constant [5 x i8] c"/tmp\00", align 1 +@.str.2.70 = private unnamed_addr constant [16 x i8] c"%.*s/%.*sXXXXXX\00", align 1 +@.str.3.73 = private unnamed_addr constant [7 x i8] c"XXXXXX\00", align 1 +@letters = internal constant [63 x i8] c"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\00", align 16 +@brain_damaged_fillrand.value = internal global i64 0, align 8 +@.str.4.74 = private unnamed_addr constant [13 x i8] c"/dev/urandom\00", align 1 +@.str.5.75 = private unnamed_addr constant [12 x i8] c"/dev/random\00", align 1 +@__global_locale_data = global %struct.__uclibc_locale_struct.201 zeroinitializer, align 8 +@__global_locale = global %struct.__uclibc_locale_struct.201* @__global_locale_data, align 8 +@__curlocale_var = global %struct.__uclibc_locale_struct.201* @__global_locale_data, align 8 +@utf8 = internal constant [6 x i8] c"UTF-8\00", align 1 +@ascii = internal constant [6 x i8] c"ASCII\00", align 1 +@__code2flag = internal constant [16 x i16] [i16 0, i16 -15352, i16 -14840, i16 -14584, i16 -15096, i16 -14328, i16 -16380, i16 -16384, i16 24576, i16 24577, i16 8192, i16 8193, i16 8194, i16 8195, i16 2, i16 0], align 16 +@.str.76 = private unnamed_addr constant [14 x i8] c"#\80\80\80\80\80\80\80\80\80\80\80\80\00", align 1 +@stdin = global %struct.__STDIO_FILE_STRUCT.568* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i32 0, i32 0), align 8 +@_stdio_streams = internal global [3 x %struct.__STDIO_FILE_STRUCT.568] [%struct.__STDIO_FILE_STRUCT.568 { i16 544, [2 x i8] zeroinitializer, i32 0, i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 88) to %struct.__STDIO_FILE_STRUCT.568*), [2 x i32] zeroinitializer, %struct.__mbstate_t.512 zeroinitializer, i8* null }, %struct.__STDIO_FILE_STRUCT.568 { i16 528, [2 x i8] zeroinitializer, i32 1, i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 176) to %struct.__STDIO_FILE_STRUCT.568*), [2 x i32] zeroinitializer, %struct.__mbstate_t.512 zeroinitializer, i8* null }, %struct.__STDIO_FILE_STRUCT.568 { i16 528, [2 x i8] zeroinitializer, i32 2, i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, %struct.__STDIO_FILE_STRUCT.568* null, [2 x i32] zeroinitializer, %struct.__mbstate_t.512 zeroinitializer, i8* null }], align 16 +@stdout = global %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 88) to %struct.__STDIO_FILE_STRUCT.568*), align 8 +@stderr = global %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 176) to %struct.__STDIO_FILE_STRUCT.568*), align 8 +@__stdin = global %struct.__STDIO_FILE_STRUCT.568* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i32 0, i32 0), align 8 +@__stdout = global %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 88) to %struct.__STDIO_FILE_STRUCT.568*), align 8 +@_stdio_openlist = global %struct.__STDIO_FILE_STRUCT.568* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i32 0, i32 0), align 8 +@been_there_done_that = internal global i32 0, align 4 +@__exit_cleanup = hidden global void (i32)* null, align 8 +@Version = dso_local global i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.37, i32 0, i32 0), align 8 +@.str.37 = private unnamed_addr constant [5 x i8] c"8.32\00", align 1 +@exit_failure = dso_local global i32 1, align 4 +@program_name = dso_local global i8* null, align 8 +@quoting_style_args = dso_local constant [11 x i8*] [i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.54, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1.55, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2.56, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.3.57, i32 0, i32 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.4.58, i32 0, i32 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.5.59, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.6.60, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.7.61, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.8.62, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.9.63, i32 0, i32 0), i8* null], align 16 +@.str.54 = private unnamed_addr constant [8 x i8] c"literal\00", align 1 +@.str.1.55 = private unnamed_addr constant [6 x i8] c"shell\00", align 1 +@.str.2.56 = private unnamed_addr constant [13 x i8] c"shell-always\00", align 1 +@.str.3.57 = private unnamed_addr constant [13 x i8] c"shell-escape\00", align 1 +@.str.4.58 = private unnamed_addr constant [20 x i8] c"shell-escape-always\00", align 1 +@.str.5.59 = private unnamed_addr constant [2 x i8] c"c\00", align 1 +@.str.6.60 = private unnamed_addr constant [8 x i8] c"c-maybe\00", align 1 +@.str.7.61 = private unnamed_addr constant [7 x i8] c"escape\00", align 1 +@.str.8.62 = private unnamed_addr constant [7 x i8] c"locale\00", align 1 +@.str.9.63 = private unnamed_addr constant [8 x i8] c"clocale\00", align 1 +@quoting_style_vals = dso_local constant [10 x i32] [i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9], align 16 +@quote_quoting_options = dso_local global %struct.quoting_options { i32 8, i32 0, [8 x i32] zeroinitializer, i8* null, i8* null }, align 8 +@version_etc_copyright = dso_local constant [47 x i8] c"Copyright %s %d Free Software Foundation, Inc.\00", align 16 +@.str.95 = private unnamed_addr constant [39 x i8] c"Try '%s --help' for more information.\0A\00", align 1 +@.str.1.96 = private unnamed_addr constant [33 x i8] c"Usage: %s [OPTION]... [FILE]...\0A\00", align 1 +@.str.2.97 = private unnamed_addr constant [60 x i8] c"Wrap input lines in each FILE, writing to standard output.\0A\00", align 1 +@.str.3.98 = private unnamed_addr constant [147 x i8] c" -b, --bytes count bytes rather than columns\0A -s, --spaces break at spaces\0A -w, --width=WIDTH use WIDTH columns instead of 80\0A\00", align 1 +@.str.4.99 = private unnamed_addr constant [45 x i8] c" --help display this help and exit\0A\00", align 1 +@.str.5.100 = private unnamed_addr constant [54 x i8] c" --version output version information and exit\0A\00", align 1 +@.str.6.101 = private unnamed_addr constant [5 x i8] c"fold\00", align 1 +@__const.emit_ancillary_info.infomap = private unnamed_addr constant [7 x %struct.infomap] [%struct.infomap { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.14.111, i32 0, i32 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.15.112, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.16.113, i32 0, i32 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.17.114, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.18.115, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.19.116, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.20.117, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.19.116, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.21.118, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.19.116, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.22.119, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.19.116, i32 0, i32 0) }, %struct.infomap zeroinitializer], align 16 +@.str.23.102 = private unnamed_addr constant [23 x i8] c"\0A%s online help: <%s>\0A\00", align 1 +@.str.9.103 = private unnamed_addr constant [14 x i8] c"GNU coreutils\00", align 1 +@.str.24.104 = private unnamed_addr constant [40 x i8] c"https://www.gnu.org/software/coreutils/\00", align 1 +@.str.25.105 = private unnamed_addr constant [4 x i8] c"en_\00", align 1 +@.str.26.106 = private unnamed_addr constant [71 x i8] c"Report any translation bugs to \0A\00", align 1 +@.str.27.107 = private unnamed_addr constant [27 x i8] c"Full documentation <%s%s>\0A\00", align 1 +@.str.29.108 = private unnamed_addr constant [12 x i8] c" invocation\00", align 1 +@.str.7.109 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@.str.28.110 = private unnamed_addr constant [51 x i8] c"or available locally via: info '(coreutils) %s%s'\0A\00", align 1 +@.str.14.111 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@.str.15.112 = private unnamed_addr constant [16 x i8] c"test invocation\00", align 1 +@.str.16.113 = private unnamed_addr constant [10 x i8] c"coreutils\00", align 1 +@.str.17.114 = private unnamed_addr constant [22 x i8] c"Multi-call invocation\00", align 1 +@.str.18.115 = private unnamed_addr constant [10 x i8] c"sha224sum\00", align 1 +@.str.19.116 = private unnamed_addr constant [15 x i8] c"sha2 utilities\00", align 1 +@.str.20.117 = private unnamed_addr constant [10 x i8] c"sha256sum\00", align 1 +@.str.21.118 = private unnamed_addr constant [10 x i8] c"sha384sum\00", align 1 +@.str.22.119 = private unnamed_addr constant [10 x i8] c"sha512sum\00", align 1 +@.str.13.120 = private unnamed_addr constant [75 x i8] c"\0AMandatory arguments to long options are mandatory for short options too.\0A\00", align 1 +@.str.12.121 = private unnamed_addr constant [56 x i8] c"\0AWith no FILE, or when FILE is -, read standard input.\0A\00", align 1 +@have_read_stdin = internal global i8 0, align 1 +@count_bytes = internal global i8 0, align 1 +@break_spaces = internal global i8 0, align 1 +@shortopts = internal constant [35 x i8] c"bsw:0::1::2::3::4::5::6::7::8::9::\00", align 16 +@longopts = internal constant [6 x %struct.option] [%struct.option { i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.30.128, i32 0, i32 0), i32 0, i32* null, i32 98 }, %struct.option { i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.31.129, i32 0, i32 0), i32 0, i32* null, i32 115 }, %struct.option { i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.32.130, i32 0, i32 0), i32 1, i32* null, i32 119 }, %struct.option { i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.33.131, i32 0, i32 0), i32 0, i32* null, i32 -130 }, %struct.option { i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.34.132, i32 0, i32 0), i32 0, i32* null, i32 -131 }, %struct.option zeroinitializer], align 16 +@.str.8.124 = private unnamed_addr constant [26 x i8] c"invalid number of columns\00", align 1 +@.str.10.125 = private unnamed_addr constant [16 x i8] c"David MacKenzie\00", align 1 +@.str.11.126 = private unnamed_addr constant [2 x i8] c"-\00", align 1 +@.str.35.127 = private unnamed_addr constant [2 x i8] c"r\00", align 1 +@.str.36 = private unnamed_addr constant [3 x i8] c"%s\00", align 1 +@fold_file.allocated_out = internal global i64 0, align 8 +@fold_file.line_out = internal global i8* null, align 8 +@.str.114 = private unnamed_addr constant [3 x i8] c"%s\00", align 1 +@.str.1.115 = private unnamed_addr constant [17 x i8] c"memory exhausted\00", align 1 +@slotvec = internal global %struct.slotvec* @slotvec0, align 8 +@nslots = internal global i32 1, align 4 +@slotvec0 = internal global %struct.slotvec { i64 256, i8* getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i32 0, i32 0) }, align 8 +@slot0 = internal global [256 x i8] zeroinitializer, align 16 +@.str.10.64 = private unnamed_addr constant [2 x i8] c"\22\00", align 1 +@.str.11.65 = private unnamed_addr constant [2 x i8] c"`\00", align 1 +@.str.12.66 = private unnamed_addr constant [2 x i8] c"'\00", align 1 +@.str.137 = private unnamed_addr constant [2 x i8] c"C\00", align 1 +@.str.1.138 = private unnamed_addr constant [6 x i8] c"POSIX\00", align 1 +@.str.13.67 = private unnamed_addr constant [6 x i8] c"UTF-8\00", align 1 +@.str.14.68 = private unnamed_addr constant [4 x i8] c"\E2\80\98\00", align 1 +@.str.15.69 = private unnamed_addr constant [4 x i8] c"\E2\80\99\00", align 1 +@.str.16.70 = private unnamed_addr constant [8 x i8] c"GB18030\00", align 1 +@.str.17.71 = private unnamed_addr constant [4 x i8] c"\A1\07e\00", align 1 +@.str.18.72 = private unnamed_addr constant [3 x i8] c"\A1\AF\00", align 1 +@.str.141 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@.str.1.142 = private unnamed_addr constant [6 x i8] c"ASCII\00", align 1 +@default_quoting_options = internal global %struct.quoting_options zeroinitializer, align 8 +@.str.77 = private unnamed_addr constant [12 x i8] c"%s (%s) %s\0A\00", align 1 +@.str.1.78 = private unnamed_addr constant [7 x i8] c"%s %s\0A\00", align 1 +@.str.2.79 = private unnamed_addr constant [4 x i8] c"(C)\00", align 1 +@.str.3.80 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.4.81 = private unnamed_addr constant [171 x i8] c"License GPLv3+: GNU GPL version 3 or later <%s>.\0AThis is free software: you are free to change and redistribute it.\0AThere is NO WARRANTY, to the extent permitted by law.\0A\00", align 1 +@.str.5.82 = private unnamed_addr constant [34 x i8] c"https://gnu.org/licenses/gpl.html\00", align 1 +@.str.6.83 = private unnamed_addr constant [16 x i8] c"Written by %s.\0A\00", align 1 +@.str.7.84 = private unnamed_addr constant [23 x i8] c"Written by %s and %s.\0A\00", align 1 +@.str.8.85 = private unnamed_addr constant [28 x i8] c"Written by %s, %s, and %s.\0A\00", align 1 +@.str.9.86 = private unnamed_addr constant [32 x i8] c"Written by %s, %s, %s,\0Aand %s.\0A\00", align 1 +@.str.10.87 = private unnamed_addr constant [36 x i8] c"Written by %s, %s, %s,\0A%s, and %s.\0A\00", align 1 +@.str.11.88 = private unnamed_addr constant [40 x i8] c"Written by %s, %s, %s,\0A%s, %s, and %s.\0A\00", align 1 +@.str.12.89 = private unnamed_addr constant [44 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, and %s.\0A\00", align 1 +@.str.13.90 = private unnamed_addr constant [48 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, %s,\0Aand %s.\0A\00", align 1 +@.str.14.91 = private unnamed_addr constant [52 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, %s,\0A%s, and %s.\0A\00", align 1 +@.str.15.92 = private unnamed_addr constant [60 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, %s,\0A%s, %s, and others.\0A\00", align 1 +@.str.116 = private unnamed_addr constant [7 x i8] c"%s: %s\00", align 1 +@.str.121 = private unnamed_addr constant [38 x i8] c"0 <= strtol_base && strtol_base <= 36\00", align 1 +@.str.1.122 = private unnamed_addr constant [17 x i8] c"../lib/xstrtol.c\00", align 1 +@__PRETTY_FUNCTION__.xstrtoumax = private unnamed_addr constant [79 x i8] c"strtol_error xstrtoumax(const char *, char **, int, uintmax_t *, const char *)\00", align 1 +@.str.30.128 = private unnamed_addr constant [6 x i8] c"bytes\00", align 1 +@.str.31.129 = private unnamed_addr constant [7 x i8] c"spaces\00", align 1 +@.str.32.130 = private unnamed_addr constant [6 x i8] c"width\00", align 1 +@.str.33.131 = private unnamed_addr constant [5 x i8] c"help\00", align 1 +@.str.34.132 = private unnamed_addr constant [8 x i8] c"version\00", align 1 +@ignore_EPIPE = internal global i8 0, align 1 +@.str.40 = private unnamed_addr constant [12 x i8] c"write error\00", align 1 +@file_name = internal global i8* null, align 8 +@.str.1.41 = private unnamed_addr constant [7 x i8] c"%s: %s\00", align 1 +@.str.2.42 = private unnamed_addr constant [3 x i8] c"%s\00", align 1 +@.str.51 = private unnamed_addr constant [56 x i8] c"A NULL argv[0] was passed through an exec system call.\0A\00", align 1 +@.str.1.52 = private unnamed_addr constant [8 x i8] c"/.libs/\00", align 1 +@.str.2.53 = private unnamed_addr constant [4 x i8] c"lt-\00", align 1 +@.str.16.95 = private unnamed_addr constant [20 x i8] c"Report bugs to: %s\0A\00", align 1 +@.str.17.96 = private unnamed_addr constant [22 x i8] c"bug-coreutils@gnu.org\00", align 1 +@.str.18.97 = private unnamed_addr constant [20 x i8] c"%s home page: <%s>\0A\00", align 1 +@.str.19.98 = private unnamed_addr constant [14 x i8] c"GNU coreutils\00", align 1 +@.str.20.99 = private unnamed_addr constant [40 x i8] c"https://www.gnu.org/software/coreutils/\00", align 1 +@.str.21.100 = private unnamed_addr constant [39 x i8] c"General help using GNU software: <%s>\0A\00", align 1 +@.str.22.101 = private unnamed_addr constant [29 x i8] c"https://www.gnu.org/gethelp/\00", align 1 +@__exe_env = dso_local global { <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] } { <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }> <{ %struct.exe_file_t { i32 0, i32 5, i64 0, %struct.exe_disk_file_t* null }, %struct.exe_file_t { i32 1, i32 9, i64 0, %struct.exe_disk_file_t* null }, %struct.exe_file_t { i32 2, i32 9, i64 0, %struct.exe_disk_file_t* null }, [29 x %struct.exe_file_t] zeroinitializer }>, i32 18, i32 0, i32 0, [4 x i8] undef }, align 8 +@__exe_fs = dso_local global %struct.exe_file_system_t zeroinitializer, align 8 +@__const.klee_init_fds.name = private unnamed_addr constant [7 x i8] c"?-data\00", align 1 +@.str.139 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@.str.1.140 = private unnamed_addr constant [82 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/fd_init.c\00", align 1 +@.str.2.141 = private unnamed_addr constant [31 x i8] c"out of memory in klee_init_env\00", align 1 +@.str.3.142 = private unnamed_addr constant [9 x i8] c"user.err\00", align 1 +@.str.4.144 = private unnamed_addr constant [6 x i8] c"stdin\00", align 1 +@.str.5.145 = private unnamed_addr constant [10 x i8] c"read_fail\00", align 1 +@.str.6.146 = private unnamed_addr constant [11 x i8] c"write_fail\00", align 1 +@.str.7.147 = private unnamed_addr constant [11 x i8] c"close_fail\00", align 1 +@.str.8.148 = private unnamed_addr constant [15 x i8] c"ftruncate_fail\00", align 1 +@.str.9.149 = private unnamed_addr constant [12 x i8] c"getcwd_fail\00", align 1 +@.str.10.150 = private unnamed_addr constant [7 x i8] c"stdout\00", align 1 +@.str.11.151 = private unnamed_addr constant [14 x i8] c"model_version\00", align 1 +@.str.13.152 = private unnamed_addr constant [6 x i8] c"-stat\00", align 1 +@.str.14.153 = private unnamed_addr constant [5 x i8] c"size\00", align 1 +@__PRETTY_FUNCTION__.__create_new_dfile = private unnamed_addr constant [88 x i8] c"void __create_new_dfile(exe_disk_file_t *, unsigned int, const char *, struct stat64 *)\00", align 1 +@.str.12.154 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.155 = private unnamed_addr constant [18 x i8] c"silently ignoring\00", align 1 +@.str.1.160 = private unnamed_addr constant [24 x i8] c"ignoring (EAFNOSUPPORT)\00", align 1 +@.str.11.162 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.2.165 = private unnamed_addr constant [15 x i8] c"ignoring (EIO)\00", align 1 +@.str.3.166 = private unnamed_addr constant [18 x i8] c"ignoring (ENFILE)\00", align 1 +@.str.4.167 = private unnamed_addr constant [17 x i8] c"ignoring (EPERM)\00", align 1 +@.str.5.168 = private unnamed_addr constant [13 x i8] c"returning 0\0A\00", align 1 +@.str.6.169 = private unnamed_addr constant [40 x i8] c"setting all times to 0 and returning 0\0A\00", align 1 +@.str.7.170 = private unnamed_addr constant [17 x i8] c"ignoring (EBADF)\00", align 1 +@.str.8.173 = private unnamed_addr constant [21 x i8] c"ignoring (-1 result)\00", align 1 +@.str.9.174 = private unnamed_addr constant [18 x i8] c"ignoring (ECHILD)\00", align 1 +@.str.10.175 = private unnamed_addr constant [32 x i8] c"silently ignoring (returning 0)\00", align 1 +@__locale_mmap = global %struct.__locale_mmap_t.203* @locale_mmap, align 8 +@locale_mmap = internal constant %struct.__locale_mmap_t.203 { [420 x i8] c"\EE\EE\EE\EE\06afffffff$$$$$$$$$$\06\00\00\00\00D&fffdDDbfff`b\22\22FBFfddfFf$\22fbbB\22DDDD\22\22\22\22\06&fff`\00\00`fffff&ff`ffff\11a\06\00\00\00\11\11\11\11\11\01`\06\EE&fffd\E4\EEnffffb\E2Nfaff\11\11\11\22\22\22\22bDDDdDDD$FDDdDDdD&\22\22b\22\22b\22\22\22\22\12bbf&Fb$dd$dF$$$F\22BB\22fffdbaffff$fba$dFBfdbddBf$df\22b$$FFFdFDdD&&&b&\22b\22Ff\06dFDd@&f&b&\22b D\04DD@DDd\22\02\22\22 \22\22bFAFdFDdd&\22B\22FDDD&\22\22\22\06\00\06\00\00\00f\00\00`\00`\10\11\11\11\11\01\00\00\11afff\06\00\00ff\00ff`f`DddDADDDD@DDDD\22\22!\22\22\22\22\22\22\02\06ffffff\06\00\00\00`f&fffFff\22Fff`b$\04dfff``\00\00 $&f\00`f\06fF@f``\00`f&b\22fFdDffFf\11\11\11a\11\01\00`\11\11\11\16\11f\00\00", [504 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00{}\00\00\00{\00\7F\7F\00\00\00\00\00\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\00\00\F0\FE\00\FE\00\00\00\00\00\00\F0\00\F0\F0\F0\F0\F0\00\00\00\00\00\00\00\00\FF\FF\E7\00\F1\00\00\F0\00\F0\00\00\00\00\F0\00\00\FF\FF\F1\00\00\00\F0\00\F0\00\E7\FF\FF\F0\E0\E0\E0\E0\E0\E0\E0\E0\00\00\F0\00\F0\00\00\00\00\00\F0\00\F0\00\00\A0\00\00\00\00\00\00\00\A0\E0\E0\E0\E0\E0\E0\E0\00\00\F0\F0\F0\F0\F0\F0\00\F0\F0\F0\F0\F0\00\F0\F0\00\FF\FF\00\FF\FF\FB\00\F0\00\F0\FB\F0\00\00\B0\FF\FF\FF\FF\FF\FF\00\FE\F0\FE\F0\FC\F0\FF\FF\FC\E0\E0\E0\E0\E0\E0\E0\B0\00\00\00\00\00\00\FE\00\FE\00\00\00\00\00\00\00\00\00\00\00\FC\00\00\00\FC\00\00\00\FF\FF\BF\00\E0\E0\E0\E0\E0\E0\E0\BF\00\FF\FF\F0\00\00\FE\00\FE\00\F0\00\FE\00\FE\F0\00\00\F9\F0\FC\00\00\00\FC\F9\F0\00\FF\FF\BF\F0\00\F0\00\F0\00\F0\F0\00\00\F0\F0\F0\F0\00\F0\F0\00\F0\00\00\00\00\F0\00\00@\F0\F0\F0\00\00\F0\00\90\F0\F0\F0\00\00\F0\E0\E0\E0\00\E0\E0\E0\E0\00\E0\E0\E0\E0\E0\E0\00\00\F0\F0\F0\F0\00\F0\00\00\F0\F0\F0\F0\FE\F0\FE\00\B0\B0\B0\B0\B0\B0\B0\B0\B0\B0\B0\B0\00\B0\B0\00\00\00\00\00\00\DA\00\DB\DB\DB\00\C0\00\C1\C1\00\E0\E0\E0\E0\E0\E0\E0\E0\E0\00\E0\E0\E0\E0\E0\E0\E0\E0\E0\DA\DB\DB\DB\E0\E0\E1\E0\E0\E0\E0\E0\E0\E0\E0\E0\C0\C1\C1\00\E0\E0\E0\E0\E0t\E0\00\E0\E0\E0\E0\E0L\E0\00\00\00\00\10\00\00\00\00 \10\02\00\02\00\00\00\00\00\00\02\00\02\01\01\00\10\00\00\00\00\00\00\00\00\01\01\10\00\10\00\00\00\00\00\10\00\10\00\00\00\00\00\10\10\00\10\10\00\00\00\00\00\10\00\00", [1760 x i16] [i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 0, i16 1415, i16 1417, i16 41, i16 40, i16 187, i16 171, i16 8212, i16 46, i16 1373, i16 44, i16 45, i16 1418, i16 8230, i16 1372, i16 1371, i16 1374, i16 1329, i16 1377, i16 1330, i16 1378, i16 1331, i16 1379, i16 1332, i16 1380, i16 1333, i16 1381, i16 1334, i16 1382, i16 1335, i16 1383, i16 1336, i16 1384, i16 1337, i16 1385, i16 1338, i16 1386, i16 1339, i16 1387, i16 1340, i16 1388, i16 1341, i16 1389, i16 1342, i16 1390, i16 1343, i16 1391, i16 1344, i16 1392, i16 1345, i16 1393, i16 1346, i16 1394, i16 1347, i16 1395, i16 1348, i16 1396, i16 1349, i16 1397, i16 1350, i16 1398, i16 1351, i16 1399, i16 1352, i16 1400, i16 1353, i16 1401, i16 1354, i16 1402, i16 1355, i16 1403, i16 1356, i16 1404, i16 1357, i16 1405, i16 1358, i16 1406, i16 1359, i16 1407, i16 1360, i16 1408, i16 1361, i16 1409, i16 1362, i16 1410, i16 1363, i16 1411, i16 1364, i16 1412, i16 1365, i16 1413, i16 1366, i16 1414, i16 1370, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1026, i16 1027, i16 8218, i16 1107, i16 8222, i16 8230, i16 8224, i16 8225, i16 8364, i16 8240, i16 1033, i16 8249, i16 1034, i16 1036, i16 1035, i16 1039, i16 1106, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 0, i16 8482, i16 1113, i16 8250, i16 1114, i16 1116, i16 1115, i16 1119, i16 160, i16 1038, i16 1118, i16 1032, i16 164, i16 1168, i16 166, i16 167, i16 1025, i16 169, i16 1028, i16 171, i16 172, i16 173, i16 174, i16 1031, i16 176, i16 177, i16 1030, i16 1110, i16 1169, i16 181, i16 182, i16 183, i16 1105, i16 8470, i16 1108, i16 187, i16 1112, i16 1029, i16 1109, i16 1111, i16 1040, i16 1041, i16 1042, i16 1043, i16 1044, i16 1045, i16 1046, i16 1047, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 1058, i16 1059, i16 1060, i16 1061, i16 1062, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1070, i16 1071, i16 1072, i16 1073, i16 1074, i16 1075, i16 1076, i16 1077, i16 1078, i16 1079, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1088, i16 1089, i16 1090, i16 1091, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1099, i16 1100, i16 1101, i16 1102, i16 1103, i16 8364, i16 0, i16 8218, i16 402, i16 8222, i16 8230, i16 8224, i16 8225, i16 710, i16 8240, i16 0, i16 8249, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 732, i16 8482, i16 0, i16 8250, i16 0, i16 0, i16 0, i16 0, i16 160, i16 161, i16 162, i16 163, i16 8362, i16 165, i16 166, i16 167, i16 168, i16 169, i16 215, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 247, i16 187, i16 188, i16 189, i16 190, i16 191, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 0, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 0, i16 0, i16 8206, i16 8207, i16 0, i16 128, i16 129, i16 8218, i16 402, i16 8222, i16 8230, i16 8224, i16 8225, i16 710, i16 8240, i16 352, i16 8249, i16 338, i16 141, i16 142, i16 143, i16 144, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 732, i16 8482, i16 353, i16 8250, i16 339, i16 157, i16 158, i16 376, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 4304, i16 4305, i16 4306, i16 4307, i16 4308, i16 4309, i16 4310, i16 4337, i16 4311, i16 4312, i16 4313, i16 4314, i16 4315, i16 4316, i16 4338, i16 4317, i16 4318, i16 4319, i16 4320, i16 4321, i16 4322, i16 4339, i16 4323, i16 4324, i16 4325, i16 4326, i16 4327, i16 4328, i16 4329, i16 4330, i16 4331, i16 4332, i16 4333, i16 4334, i16 4340, i16 4335, i16 4336, i16 4341, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 160, i16 260, i16 274, i16 290, i16 298, i16 296, i16 310, i16 167, i16 315, i16 272, i16 352, i16 358, i16 381, i16 173, i16 362, i16 330, i16 176, i16 261, i16 275, i16 291, i16 299, i16 297, i16 311, i16 183, i16 316, i16 273, i16 353, i16 359, i16 382, i16 8213, i16 363, i16 331, i16 256, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 302, i16 268, i16 201, i16 280, i16 203, i16 278, i16 205, i16 206, i16 207, i16 208, i16 325, i16 332, i16 211, i16 212, i16 213, i16 214, i16 360, i16 216, i16 370, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 257, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 303, i16 269, i16 233, i16 281, i16 235, i16 279, i16 237, i16 238, i16 239, i16 240, i16 326, i16 333, i16 243, i16 244, i16 245, i16 246, i16 361, i16 248, i16 371, i16 250, i16 251, i16 252, i16 253, i16 254, i16 312, i16 160, i16 8221, i16 162, i16 163, i16 164, i16 8222, i16 166, i16 167, i16 216, i16 169, i16 342, i16 171, i16 172, i16 173, i16 174, i16 198, i16 176, i16 177, i16 178, i16 179, i16 8220, i16 181, i16 182, i16 183, i16 248, i16 185, i16 343, i16 187, i16 188, i16 189, i16 190, i16 230, i16 260, i16 302, i16 256, i16 262, i16 196, i16 197, i16 280, i16 274, i16 268, i16 201, i16 377, i16 278, i16 290, i16 310, i16 298, i16 315, i16 352, i16 323, i16 325, i16 211, i16 332, i16 213, i16 214, i16 215, i16 370, i16 321, i16 346, i16 362, i16 220, i16 379, i16 381, i16 223, i16 261, i16 303, i16 257, i16 263, i16 228, i16 229, i16 281, i16 275, i16 269, i16 233, i16 378, i16 279, i16 291, i16 311, i16 299, i16 316, i16 353, i16 324, i16 326, i16 243, i16 333, i16 245, i16 246, i16 247, i16 371, i16 322, i16 347, i16 363, i16 252, i16 380, i16 382, i16 8217, i16 160, i16 7682, i16 7683, i16 163, i16 266, i16 267, i16 7690, i16 167, i16 7808, i16 169, i16 7810, i16 7691, i16 7922, i16 173, i16 174, i16 376, i16 7710, i16 7711, i16 288, i16 289, i16 7744, i16 7745, i16 182, i16 7766, i16 7809, i16 7767, i16 7811, i16 7776, i16 7923, i16 7812, i16 7813, i16 7777, i16 372, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 7786, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 374, i16 223, i16 373, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 7787, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 375, i16 255, i16 160, i16 161, i16 162, i16 163, i16 8364, i16 165, i16 352, i16 167, i16 353, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 381, i16 181, i16 182, i16 183, i16 382, i16 185, i16 186, i16 187, i16 338, i16 339, i16 376, i16 191, i16 160, i16 260, i16 261, i16 321, i16 8364, i16 171, i16 352, i16 167, i16 353, i16 169, i16 536, i16 8222, i16 377, i16 173, i16 378, i16 379, i16 176, i16 177, i16 268, i16 322, i16 381, i16 8221, i16 182, i16 183, i16 382, i16 269, i16 537, i16 187, i16 338, i16 339, i16 376, i16 380, i16 192, i16 193, i16 194, i16 258, i16 196, i16 262, i16 198, i16 199, i16 272, i16 323, i16 210, i16 211, i16 212, i16 336, i16 214, i16 346, i16 368, i16 217, i16 218, i16 219, i16 220, i16 280, i16 538, i16 223, i16 224, i16 225, i16 226, i16 259, i16 228, i16 263, i16 230, i16 231, i16 273, i16 324, i16 242, i16 243, i16 244, i16 337, i16 246, i16 347, i16 369, i16 249, i16 250, i16 251, i16 252, i16 281, i16 539, i16 255, i16 160, i16 260, i16 728, i16 321, i16 164, i16 317, i16 346, i16 167, i16 168, i16 352, i16 350, i16 356, i16 377, i16 173, i16 381, i16 379, i16 176, i16 261, i16 731, i16 322, i16 180, i16 318, i16 347, i16 711, i16 184, i16 353, i16 351, i16 357, i16 378, i16 733, i16 382, i16 380, i16 340, i16 193, i16 194, i16 258, i16 196, i16 313, i16 262, i16 199, i16 268, i16 201, i16 280, i16 203, i16 282, i16 205, i16 206, i16 270, i16 272, i16 323, i16 327, i16 211, i16 212, i16 336, i16 214, i16 215, i16 344, i16 366, i16 218, i16 368, i16 220, i16 221, i16 354, i16 223, i16 341, i16 225, i16 226, i16 259, i16 228, i16 314, i16 263, i16 231, i16 269, i16 233, i16 281, i16 235, i16 283, i16 237, i16 238, i16 271, i16 273, i16 324, i16 328, i16 243, i16 244, i16 337, i16 246, i16 247, i16 345, i16 367, i16 250, i16 369, i16 252, i16 253, i16 355, i16 729, i16 160, i16 294, i16 728, i16 163, i16 164, i16 0, i16 292, i16 167, i16 168, i16 304, i16 350, i16 286, i16 308, i16 173, i16 0, i16 379, i16 176, i16 295, i16 178, i16 179, i16 180, i16 181, i16 293, i16 183, i16 184, i16 305, i16 351, i16 287, i16 309, i16 189, i16 0, i16 380, i16 192, i16 193, i16 194, i16 0, i16 196, i16 266, i16 264, i16 199, i16 0, i16 209, i16 210, i16 211, i16 212, i16 288, i16 214, i16 215, i16 284, i16 217, i16 218, i16 219, i16 220, i16 364, i16 348, i16 223, i16 224, i16 225, i16 226, i16 0, i16 228, i16 267, i16 265, i16 231, i16 0, i16 241, i16 242, i16 243, i16 244, i16 289, i16 246, i16 247, i16 285, i16 249, i16 250, i16 251, i16 252, i16 365, i16 349, i16 729, i16 160, i16 260, i16 312, i16 342, i16 164, i16 296, i16 315, i16 167, i16 168, i16 352, i16 274, i16 290, i16 358, i16 173, i16 381, i16 175, i16 176, i16 261, i16 731, i16 343, i16 180, i16 297, i16 316, i16 711, i16 184, i16 353, i16 275, i16 291, i16 359, i16 330, i16 382, i16 331, i16 268, i16 201, i16 280, i16 203, i16 278, i16 205, i16 206, i16 298, i16 272, i16 325, i16 332, i16 310, i16 212, i16 213, i16 214, i16 215, i16 216, i16 370, i16 218, i16 219, i16 220, i16 360, i16 362, i16 223, i16 269, i16 233, i16 281, i16 235, i16 279, i16 237, i16 238, i16 299, i16 273, i16 326, i16 333, i16 311, i16 244, i16 245, i16 246, i16 247, i16 248, i16 371, i16 250, i16 251, i16 252, i16 361, i16 363, i16 729, i16 160, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 173, i16 1038, i16 1039, i16 8470, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 167, i16 1118, i16 1119, i16 160, i16 0, i16 0, i16 0, i16 164, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1548, i16 173, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1563, i16 0, i16 0, i16 0, i16 1567, i16 0, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1611, i16 1612, i16 1613, i16 1614, i16 1615, i16 1616, i16 1617, i16 1618, i16 0, i16 0, i16 0, i16 0, i16 0, i16 160, i16 8216, i16 8217, i16 163, i16 0, i16 0, i16 166, i16 167, i16 168, i16 169, i16 0, i16 171, i16 172, i16 173, i16 0, i16 8213, i16 176, i16 177, i16 178, i16 179, i16 900, i16 901, i16 902, i16 183, i16 904, i16 905, i16 906, i16 187, i16 908, i16 189, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 918, i16 919, i16 920, i16 921, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 929, i16 0, i16 931, i16 932, i16 933, i16 934, i16 935, i16 936, i16 937, i16 938, i16 939, i16 940, i16 941, i16 942, i16 943, i16 944, i16 945, i16 946, i16 947, i16 948, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 964, i16 965, i16 966, i16 967, i16 968, i16 969, i16 970, i16 971, i16 972, i16 973, i16 974, i16 0, i16 160, i16 0, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 184, i16 185, i16 247, i16 187, i16 188, i16 189, i16 190, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8215, i16 286, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 304, i16 350, i16 223, i16 287, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 305, i16 351, i16 255, i16 9472, i16 9474, i16 9484, i16 9488, i16 9492, i16 9496, i16 9500, i16 9508, i16 9516, i16 9524, i16 9532, i16 9600, i16 9604, i16 9608, i16 9612, i16 9616, i16 9617, i16 9618, i16 9619, i16 8992, i16 9632, i16 8729, i16 8730, i16 8776, i16 8804, i16 8805, i16 160, i16 8993, i16 176, i16 178, i16 183, i16 247, i16 9552, i16 9553, i16 9554, i16 1105, i16 9555, i16 9556, i16 9557, i16 9558, i16 9559, i16 9560, i16 9561, i16 9562, i16 9563, i16 9564, i16 9565, i16 9566, i16 9567, i16 9568, i16 9569, i16 1025, i16 9570, i16 9571, i16 9572, i16 9573, i16 9574, i16 9575, i16 9576, i16 9577, i16 9578, i16 9579, i16 9580, i16 169, i16 1102, i16 1072, i16 1073, i16 1094, i16 1076, i16 1077, i16 1092, i16 1075, i16 1093, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1103, i16 1088, i16 1089, i16 1090, i16 1091, i16 1078, i16 1074, i16 1100, i16 1099, i16 1079, i16 1096, i16 1101, i16 1097, i16 1095, i16 1098, i16 1070, i16 1040, i16 1041, i16 1062, i16 1044, i16 1045, i16 1060, i16 1043, i16 1061, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1071, i16 1056, i16 1057, i16 1058, i16 1059, i16 1046, i16 1042, i16 1068, i16 1067, i16 1047, i16 1064, i16 1069, i16 1065, i16 1063, i16 1066, i16 1179, i16 1171, i16 8218, i16 1170, i16 8222, i16 8230, i16 8224, i16 8225, i16 0, i16 8240, i16 1203, i16 8249, i16 1202, i16 1207, i16 1206, i16 0, i16 1178, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 0, i16 8482, i16 0, i16 8250, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1263, i16 1262, i16 1105, i16 164, i16 1251, i16 166, i16 167, i16 0, i16 0, i16 0, i16 171, i16 172, i16 173, i16 174, i16 0, i16 176, i16 177, i16 178, i16 1025, i16 0, i16 1250, i16 182, i16 183, i16 0, i16 8470, i16 0, i16 187, i16 0, i16 0, i16 0, i16 169, i16 9552, i16 9553, i16 9554, i16 1105, i16 1108, i16 9556, i16 1110, i16 1111, i16 9559, i16 9560, i16 9561, i16 9562, i16 9563, i16 1169, i16 9565, i16 9566, i16 9567, i16 9568, i16 9569, i16 1025, i16 1028, i16 9571, i16 1030, i16 1031, i16 9574, i16 9575, i16 9576, i16 9577, i16 9578, i16 1168, i16 9580, i16 169, i16 0, i16 3585, i16 3586, i16 3587, i16 3588, i16 3589, i16 3590, i16 3591, i16 3592, i16 3593, i16 3594, i16 3595, i16 3596, i16 3597, i16 3598, i16 3599, i16 3600, i16 3601, i16 3602, i16 3603, i16 3604, i16 3605, i16 3606, i16 3607, i16 3608, i16 3609, i16 3610, i16 3611, i16 3612, i16 3613, i16 3614, i16 3615, i16 3616, i16 3617, i16 3618, i16 3619, i16 3620, i16 3621, i16 3622, i16 3623, i16 3624, i16 3625, i16 3626, i16 3627, i16 3628, i16 3629, i16 3630, i16 3631, i16 3632, i16 3633, i16 3634, i16 3635, i16 3636, i16 3637, i16 3638, i16 3639, i16 3640, i16 3641, i16 3642, i16 0, i16 0, i16 0, i16 0, i16 3647, i16 3648, i16 3649, i16 3650, i16 3651, i16 3652, i16 3653, i16 3654, i16 3655, i16 3656, i16 3657, i16 3658, i16 3659, i16 3660, i16 3661, i16 3662, i16 3663, i16 3664, i16 3665, i16 3666, i16 3667, i16 3668, i16 3669, i16 3670, i16 3671, i16 3672, i16 3673, i16 3674, i16 3675, i16 0, i16 0, i16 0, i16 0], [4528 x i8] c"\00\00\01\00\00\00\00\00\02\03\04\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\06\07\08\09\0A\0B\00\00\00\00\00\00\00\00\0C\0D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\0F\00\00\00\00\10\11\12\13\14\15\00\00\00\16\00\00\00\00\00\00\00\17\18\19\00\00\00\00\00\00\1A\00\00\00\00\00\00\1B\1C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\1D\1E\00\1F\00 \00\00\00\00\00\00\00\00\00!\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\22#\00\00\00\00\00\00\00\00\00\00\00\00\00$%\13&'(\17\18\19\00\00\00\00\00\00)\00\00\00\00\00\00\00\1C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00*+,-\00\00.\14\00\00\00\00\00/01\00!\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00234\00\17\18\19\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03,-\11\12\13\14\00\00\00\00\00\00\00\00\02\0356789:;<=>?\00@A\00\00\00\00\00\00\00\00\00B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03CDEFGHIJKLMNOP\00\00\00\00\00\00\00\00\00Q\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03RS\11T\13UV\00W\00\00\00\00X\00\00\00\00\00\00\00\00YZ\00\00[\\]\00^\00\00\00\00\00\00_\00\00\00\00\00\00\00\00\02\03`a\11\12\13\14\00\00\00\00\00bcd\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00e\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03fghijklm\00\00nocp\00\00\00\00\00\00\00\00\00q\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00r\00\00\00\00\00\00\00\00e\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03stuvwxyz\00{|}~\7F\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\81\00\00\00\00\00\00\00\00\00\00\02\03\82\83\84\85\86\87\88\89\8A\8B\00\8C\8D\8E\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\8F\00\00\00\00\00\00\00\00\00\00\02\03\90t\91\92\93\94;\95\96\97\98\99\9A\9B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\9C\00\00\00\00\00\00\00\00\00\00\02\03\9D\00\00\00\00\00\9E-\11\12\13\9F\00\00\00\00\00\00\00\00\00\00\00\A0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03\A1\00\00\00\00\00\A2\A3\A4\A5\13\A6\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03\A7\A8\00\00\00\00\00\00\00\00\00\00\00\00\A9\11\AA\13\AB\00\00\00\00\AC\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03\AD\AE\00\1F\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\13&\00(\AF\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03,-\11\B0\13\B1\00\B2\00\B3\00\B4\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B5\B6\00\00\00\B7\B8\B9\BA\BB\BC\BD\00\00\00\00\00\00\00\00\00\00\00\BE\00\00\BF\00\C0\00\00\00\00\00\00\00\00\00\00\00\C1\00\00\00\00\00\00\00\00\00\00\00\00\00\C2\C3\C4\C5\00\C6\C7\00\C8\C9\CA\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\CB\CC\00\00\00\00\B8\B9\BA\BB\BC\BD\00\00\00\CD\00\CE\00\00\CF\00\D0\B9\BA\BB\BC\D1\00\00\00\D2\00\00\00\00\00\00\C2\C3\C4\C5\00\D3\D4\00\C8\C9\CA\00\00\00\00\00\D5-\11\D6\13\D7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A5\A4\00\00\AB\AC\A9\00\80\81\82\83\84\85\86\87\88\89\8A\8B\8C\8D\8E\8F\90\91\92\93\94\95\96\97\98\99\9A\9B\9C\9D\9E\9F\A0\00\00\00\00\00\00\00\00\00\00\A7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A6\00\00\00\00\00\B2\B4\B6\B8\BA\BC\BE\C0\C2\C4\C6\C8\CA\CC\CE\D0\D2\D4\D6\D8\DA\DC\DE\E0\E2\E4\E6\E8\EA\EC\EE\F0\F2\F4\F6\F8\FA\FC\00\00\00\FE\B0\AF\AA\B1\00\00\B3\B5\B7\B9\BB\BD\BF\C1\C3\C5\C7\C9\CB\CD\CF\D1\D3\D5\D7\D9\DB\DD\DF\E1\E3\E5\E7\E9\EB\ED\EF\F1\F3\F5\F7\F9\FB\FD\A2\00\A3\AD\00\00\00\00\00\00\00\00\00\A8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\AE\00\00\00\00\00\00\00\00\00\A0\00\00\00\A4\00\A6\A7\00\A9\00\AB\AC\AD\AE\00\B0\B1\00\00\00\B5\B6\B7\00\00\00\BB\00\00\00\00\00\A8\80\81\AA\BD\B2\AF\A3\8A\8C\8E\8D\00\A1\8F\C0\C1\C2\C3\C4\C5\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\E0\E1\E2\E3\E4\E5\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\FD\FE\FF\00\B8\90\83\BA\BE\B3\BF\BC\9A\9C\9E\9D\00\A2\9F\A5\B4\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\96\97\00\00\00\91\92\82\00\93\94\84\00\86\87\95\00\00\00\85\00\00\00\00\00\00\00\00\00\89\00\00\00\00\00\00\00\00\8B\9B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\88\00\00\00\00\00\00\00\00\00\B9\00\00\00\00\00\00\00\00\00\00\00\99\00\00\00\00\00\00\00\00\00\00\00\00\00\A0\A1\A2\A3\00\A5\A6\A7\A8\A9\00\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\00\BB\BC\BD\BE\BF\00\00\00\00\00\00\00\AA\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\BA\00\00\00\00\00\00\00\00\00\00\83\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\88\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\98\00\00\00\C0\C1\C2\C3\C4\C5\C6\C7\C8\C9\00\CB\CC\CD\CE\CF\D0\D1\D2\D3\00\00\00\00\00\00\00\00\00\00\00\00\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\00\00\00\00\00\D4\D5\D6\D7\D8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\FD\FE\00\00\00\00\00\00\00\00\00\00\A4\00\80\00\00\00\80\81\00\00\00\00\00\00\00\00\00\00\00\8D\8E\8F\90\00\00\00\00\00\00\00\00\00\00\00\00\9D\9E\00\A0\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\BF\00\00\00\00\00\00\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\00\00\8C\9C\00\00\00\00\00\00\00\00\00\00\00\00\8A\9A\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\9F\00\00\00\00\00\00\00\C0\C1\C2\C3\C4\C5\C6\C8\C9\CA\CB\CC\CD\CF\D0\D1\D2\D3\D4\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\E0\E1\E3\E4\C7\CE\D5\E2\E5\00\00\00\00\00\00\00\00\00\00\A0\00\00\00\00\00\00\A7\00\00\00\00\00\AD\00\00\B0\00\00\00\00\00\00\B7\00\00\00\00\00\00\00\00\00\C1\C2\C3\C4\C5\C6\00\00\C9\00\CB\00\CD\CE\CF\D0\00\00\D3\D4\D5\D6\00\D8\00\DA\DB\DC\DD\DE\DF\00\E1\E2\E3\E4\E5\E6\00\00\E9\00\EB\00\ED\EE\EF\F0\00\00\F3\F4\F5\F6\00\F8\00\FA\FB\FC\FD\FE\00\C0\E0\00\00\A1\B1\00\00\00\00\00\00\C8\E8\00\00\A9\B9\A2\B2\00\00\CC\EC\CA\EA\00\00\00\00\00\00\00\00\A3\B3\00\00\00\00\A5\B5\A4\B4\00\00\C7\E7\00\00\00\00\00\00\A6\B6\FF\00\00\A8\B8\00\00\00\00\00\00\00\00\D1\F1\00\00\00\AF\BF\D2\F2\00\00\AA\BA\00\00\00\00\AB\BB\D7\F7\AE\BE\00\00\00\00\00\00\D9\F9\00\00\00\00\00\00\00\00\00\AC\BC\00\00\00\00\00\00\BD\00\00\00\00\00\00\00\00\00\00\A0\00\A2\A3\A4\00\A6\A7\00\A9\00\AB\AC\AD\AE\00\B0\B1\B2\B3\00\B5\B6\B7\00\B9\00\BB\BC\BD\BE\00\00\00\00\00\C4\C5\AF\00\00\C9\00\00\00\00\00\00\00\00\00\D3\00\D5\D6\D7\A8\00\00\00\DC\00\00\DF\00\00\00\00\E4\E5\BF\00\00\E9\00\00\00\00\00\00\00\00\00\F3\00\F5\F6\F7\B8\00\00\00\FC\00\00\00\C2\E2\00\00\C0\E0\C3\E3\00\00\00\00\C8\E8\00\00\00\00\C7\E7\00\00\CB\EB\C6\E6\00\00\00\00\00\00\00\00\CC\EC\00\00\00\00\00\00\CE\EE\00\00\C1\E1\00\00\00\00\00\00\CD\ED\00\00\00\CF\EF\00\00\00\00\D9\F9\D1\F1\D2\F2\00\00\00\00\00\D4\F4\00\00\00\00\00\00\00\00\AA\BA\00\00\DA\FA\00\00\00\00\D0\F0\00\00\00\00\00\00\00\00\DB\FB\00\00\00\00\00\00\D8\F8\00\00\00\00\00\CA\EA\DD\FD\DE\FE\00\00\00\00\00\00\00\00\00\00\FF\00\00\B4\A1\A5\00\A0\00\00\A3\00\00\00\A7\00\A9\00\00\00\AD\AE\00\00\00\00\00\00\00\B6\00\00\00\00\00\00\00\00\00\00\D1\D2\D3\D4\D5\D6\00\D8\D9\DA\DB\DC\DD\00\DF\00\F1\F2\F3\F4\F5\F6\00\F8\F9\FA\FB\FC\FD\00\FF\00\00\00\00\00\00\00\00\00\00\A4\A5\00\00\00\00\B2\B3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\D0\F0\DE\FE\AF\00\00\00\00\00\00\00\00\00\A1\A2\00\00\00\00\00\00\A6\AB\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B0\B1\B4\B5\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B7\B9\00\00\00\00\00\00\00\00\BB\BF\00\00\00\00\00\00\00\00\D7\F7\00\00\00\00\A8\B8\AA\BA\BD\BE\00\00\00\00\00\00\00\00\00\00\00\00\AC\BC\00\00\00\00\00\00\00\00\00\00\00\00\A0\A1\A2\A3\00\A5\00\A7\00\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B3\00\B5\B6\B7\00\B9\BA\BB\00\00\00\BF\00\00\BC\BD\00\00\00\00\00\00\00\00\00\00\00\00\A6\A8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\BE\00\00\00\00\B4\B8\00\00\00\00\00\00\00\00\00\00\00\00\00\A4\00\00\00\A0\00\00\00\00\00\00\A7\00\A9\00\A5\00\AD\00\00\B0\B1\00\00\00\00\B6\B7\00\00\00\BB\00\00\00\00\C0\C1\C2\00\C4\00\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\00\00\D2\D3\D4\00\D6\00\00\D9\DA\DB\DC\00\00\DF\E0\E1\E2\00\E4\00\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\00\00\F2\F3\F4\00\F6\00\00\F9\FA\FB\FC\00\00\FF\00\00\C3\E3\A1\A2\C5\E5\00\00\00\00\B2\B9\00\00\D0\F0\00\00\00\00\00\00\DD\FD\00\00\00\00\00\00\00\A3\B3\D1\F1\00\00\00\00\00\00\00\00\00\00\00\D5\F5\BC\BD\00\00\00\00\00\00\D7\F7\00\00\00\00\D8\F8\00\00\00\00\00\00\BE\AC\AE\AF\BF\B4\B8\00\00\00\00\00\00\00\00\00\AA\BA\DE\FE\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B5\AB\00\A0\00\00\00\A4\00\00\A7\A8\00\00\00\00\AD\00\00\B0\00\00\00\B4\00\00\00\B8\00\00\00\00\00\00\00\00\C1\C2\00\C4\00\00\C7\00\C9\00\CB\00\CD\CE\00\00\00\00\D3\D4\00\D6\D7\00\00\DA\00\DC\DD\00\DF\00\E1\E2\00\E4\00\00\E7\00\E9\00\EB\00\ED\EE\00\00\00\00\F3\F4\00\F6\F7\00\00\FA\00\FC\FD\00\00\00\00\C3\E3\A1\B1\C6\E6\00\00\00\00\C8\E8\CF\EF\D0\F0\00\00\00\00\00\00\CA\EA\CC\EC\00\00\00\00\00\00\00\00\00\00\00\00\00\C5\E5\00\00\A5\B5\00\00\A3\B3\D1\F1\00\00\D2\F2\00\00\00\00\00\00\00\D5\F5\00\00\C0\E0\00\00\D8\F8\A6\B6\00\00\AA\BA\A9\B9\DE\FE\AB\BB\00\00\00\00\00\00\00\00\D9\F9\DB\FB\00\00\00\00\00\00\00\AC\BC\AF\BF\AE\BE\00\00\00\00\00\00\00\00\B7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A2\FF\00\B2\00\BD\00\00\A0\00\00\A3\A4\00\00\A7\A8\00\00\00\00\AD\00\00\B0\00\B2\B3\B4\B5\00\B7\B8\00\00\00\00\BD\00\00\C0\C1\C2\00\C4\00\00\C7\C8\C9\CA\CB\CC\CD\CE\CF\00\D1\D2\D3\D4\00\D6\D7\00\D9\DA\DB\DC\00\00\DF\E0\E1\E2\00\E4\00\00\E7\E8\E9\EA\EB\EC\ED\EE\EF\00\F1\F2\F3\F4\00\F6\F7\00\F9\FA\FB\FC\00\00\00\00\00\00\00\00\00\00\00\C6\E6\C5\E5\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\D8\F8\AB\BB\D5\F5\00\00\A6\B6\A1\B1\00\00\00\00\00\00\00\00\A9\B9\00\00\AC\BC\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\DE\FE\AA\BA\00\00\00\00\00\00\00\00\00\00\00\00\DD\FD\00\00\00\00\00\00\00\00\00\00\00\00\00\AF\BF\00\00\00\00\00\00\00\00\00\00\00\A2\FF\00\00\00\00\00\00\A0\00\00\00\A4\00\00\A7\A8\00\00\00\00\AD\00\AF\00\C1\C2\C3\C4\C5\C6\00\00\C9\00\CB\00\CD\CE\00\00\00\00\00\D4\D5\D6\D7\D8\00\DA\DB\DC\00\00\DF\00\E1\E2\E3\E4\E5\E6\00\00\E9\00\EB\00\ED\EE\00\00\00\00\00\F4\F5\F6\F7\F8\00\FA\FB\FC\00\00\00\D0\F0\AA\BA\00\00\CC\EC\CA\EA\00\00\00\00\00\00\00\00\AB\BB\00\00\00\00\A5\B5\CF\EF\00\00\C7\E7\00\00\00\00\00\00\D3\F3\A2\00\00\A6\B6\00\00\00\00\00\00\00\00\D1\F1\00\00\00\BD\BF\D2\F2\00\00\00\00\00\00\00\00\A3\B3\00\00\00\00\00\00\00\00\A9\B9\00\00\00\00\AC\BC\DD\FD\DE\FE\00\00\00\00\00\00\D9\F9\00\00\00\00\00\00\00\00\00\AE\BE\00\00\00\00\00\00\00\00\00\00\FF\00\B2\00\00\00\00\A0\00\00\00\00\00\00\FD\00\00\00\00\00\AD\00\00\00\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\00\AE\AF\00\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\00\FE\FF\00\00\00\00\00\00\F0\00\00\00\00\00\00\00\00\00\A0\00\00\00\A4\00\00\00\00\00\00\00\00\AD\00\00\00\00\00\00\00\00\00\00\00\00\00\00\AC\00\00\00\00\00\00\00\00\00\00\00\00\00\00\BB\00\00\00\BF\00\C1\C2\C3\C4\C5\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\00\00\00\00\00\F0\F1\F2\00\00\00\00\00\00\00\00\00\00\00\00\00\A0\00\00\A3\00\00\A6\A7\A8\A9\00\AB\AC\AD\00\00\B0\B1\B2\B3\00\00\00\B7\00\00\00\BB\00\BD\00\00\00\00\00\00\B4\B5\B6\00\B8\B9\BA\00\BC\00\BE\BF\D0\D1\00\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\FD\FE\00\00\00\00\00\00\AF\00\00\A1\A2\00\00\00\00\00\00\A0\00\A2\A3\A4\A5\A6\A7\A8\A9\00\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\00\BB\BC\BD\BE\00\00\00\00\00\00\00\00\DF\00\00\00\00\00\00\00\00\00\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\00\00\DF\00\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\00\00\FF\00\00\00\00\00\00\00\00\00\00\00\00\00\00\D0\F0\DD\FD\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\DE\FE\9A\00\00\00\00\00\00\00\00\BF\00\00\00\00\00\00\9C\00\9D\00\00\00\00\9E\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\9F\00\00\00\00\00\00\00\00\00\B3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E1\E2\F7\E7\E4\E5\F6\FA\E9\EA\EB\EC\ED\EE\EF\F0\F2\F3\F4\F5\E6\E8\E3\FE\FB\FD\FF\F9\F8\FC\E0\F1\C1\C2\D7\C7\C4\C5\D6\DA\C9\CA\CB\CC\CD\CE\CF\D0\D2\D3\D4\D5\C6\C8\C3\DE\DB\DD\DF\D9\D8\DC\C0\D1\00\A3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\95\96\00\00\00\00\00\00\00\00\00\00\00\00\00\97\00\00\00\00\00\00\00\00\00\00\00\98\99\00\00\00\00\00\00\00\00\00\00\93\9B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\00\81\00\00\00\00\00\00\00\00\00\82\00\00\00\83\00\00\00\84\00\00\00\85\00\00\00\86\00\00\00\00\00\00\00\87\00\00\00\00\00\00\00\88\00\00\00\00\00\00\00\89\00\00\00\00\00\00\00\8A\00\00\00\A0\A1\A2\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\00\00\00\8B\00\00\00\8C\00\00\00\8D\00\00\00\8E\00\00\00\8F\90\91\92\00\00\00\00\00\00\00\00\00\00\00\00\94\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A4\00\A6\A7\00\BF\00\AB\AC\AD\AE\00\B0\B1\B2\00\00\00\B6\B7\00\00\00\BB\00\00\00\00\00\00\83\81\00\00\00\00\00\00\90\80\00\00\00\00\00\00\8C\8A\00\00\8E\8D\00\00\00\00\00\00\00\00\00\00\B5\A5\00\00\00\00\00\00\00\00\00\00\A2\A1\00\B3\00\00\B4\00\B6\B7\00\00\00\00\00\00\00\00\00\A3\00\00\A4\00\A6\A7\00\00\00\00\00\00\00\00\BD\AD\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A0\A1\A2\00\A5\00\00\A8\A9\AA\AB\AC\00\AE\AF\B0\B1\B2\00\B5\00\00\B8\B9\BA\BB\BC\00\BE\00\00\00\00\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\00\00\00\00\DF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\00\00\00\00", [3604 x i8] c":!\1F2#\1E\02,\00'\04%&\05\07)\0F\12\09\0C\06\19\1A\0B+\00\00\00\00\00 \1D9*7407.$777\00\00\00\0158\03/3\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\17\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\16\19\19\19\19\13\00\00\00\00\00\00\00\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\14\00\00\00\00\00\00\00\007777777777777777777777777\19\10\08\19\1B-(\00\00\00\0E\22\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0061\00\00\11\0A\15\1C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\18\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\19\19\0D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E4\E4\E4\CD\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\D0\00\00\07\00\1A5UU>Uj\DE\00UovUUUUUUUUUUUZ\E4\DA\DEU\\\08UUUUI5UUUUUUUUUUS\E4\E4UUU\00\00\00\00\00\00\00UU\12?#UU(%;\C4-\002\03U\C7\00\B6PGUU(&=\E3\CC\1F\00 U\00\00\1DL(UU(U:\D2.\04\009U\00\00\1DUS\17UUGOS\11\D5\E4\00\00\1C\005UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU5UUUUXUAVXUk\00\00\00\00/\22\0B54\16\BC\CBJ\DEU<\00\00\00\00S\00\14\09U\BBSJDUUUUUUUUUUUUU7\00\00\00\14UUUUUSUUUUUUUS'S'UUUUS'UUUS'S'SSUUSUUTBLLUUUFJ\17(UUUUUUUUUUUUUUUUUUUUUULm\00UUn\00UUk\00UL*\00UUUUUU`\E4\E4\E4\E2\D3U7\00\00US'SUUUUSUU>\B9vp\D4\00\00\00\00UUUUUUUUUUI\00UUUR\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00UUUS\D0\00UUU>\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00UUUUG1\C5\C0UpY\C0\00\00\00\00\00\00\00\00UUUUR\00UUUUU)UUUUURUUUUUUU>\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00UUUUUUUUUULUUUUUUUUL\103UE&UUUUUUUUUUUUUUUUUU8UUUUUUUU>UUUUUUUUUU7UUUUUUUUUUUUUUUUUI\E4\E4\E4\E4\E4\E4\E0\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUH\00\00\00\00\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUHUUU\BBUUhUUUhUUUUUUUUUUUUUUUUUUUUR\00\00\00\00\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUUUR\00\00\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUUUUUUUS\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU^S\00xUUgUUUUUUUUUi\1F\00UUUUUUUY\00\00UUUUUUUU\17UUUUUU\00\00\00\00\00UNUU]UUU]UUXUUUXUUU\BBUUU\BBUUh9UUUUUU\86\AA\83\A7\86\AA\86\AA\83\A7{\96\86\AA\86\83\86\AA\86\AA\86\AA\82\AE\C9\AF}\AC\7F\AF\19\AD\92\92\00\00\00\00\97\AA\AA\AA\A86y\86\86\86\85\B4\B9\E4\CD\E4\E4\CD\D4\00UUU>g\00\92\92\92\92+\92\8F\00\00\00ezq~bUqraUURU\BDp\E4p\E4_\DF\00\00\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\91d\92\92\92\92\92\92\92\92\92\92\92\8C\92\92\92\92\92\92\92\9A\9Fs\92\92\92\92\92\A5\99\A0\A4\8E\93\9C\A1\8D[\8B\9F\9D\92\92\98\92\AA\AA\AA\AA\A7\86\86\86\86\83\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\AA\AA\AA\AA\AA\AA\86\86\86\86\86\86\92\92\92\92\94\CA\92\92\92\92\92\92\9A\9E\92\92\92\92\90\8C\B5\C1\E4\E4\E4\B9\E4\E4\E4\DC\C3\E0\B9\E4\E4\E4\E4\E4\D4\E4\E4\E4\B9\E0\00\00\E4\E4\E4\D0\E4\E4\B6K#UU($=\D1-\05\0A9U,\00\18@'0\13@T:\C5.\04\00\02U\C2\00\B6L(UU(Q:\D7.\0C\009U\00\00\1DL(UU(Q:\D7.\0C\019U\00\00\B6UUUUUU=\E4\DE\BEUoU,\00\B6K#UU(!;\D6-\04\0AlUp\C2\B9\E4Up\B1\AA\AA\B0\95\86\86\88\E1UUUUUUUUUUS\17\17\17\15\E0\E0\00\B8\BF\E4\E4\E4Up\E4\E4U5UUU>\B9\E4\E4H\E4\B9\E4\E4\E4\D7\E4\D6\00\00\00\00\00\00\CE\C8Zw\DDfcC\D9k\1B\E4\AA\AA\86\86H\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E0U7UUUUUUUUUUU\00UUUUU\BA\00\00\00\00\00\00\00\00\00\00\E4\E3\BBUUI\E4\E4\E4\C2\00\00\00\00\00\00UUUUY\E4t\00\00\00\00\00\00\00\00\00\E4\E4\00\00\D0\00\E4\E4\E5\B9\C6\E4\E0\D0LUUUUUUUUUUUUUUUUM\E4\E4\D2\B9\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\E4\C0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E4\E4\E4\D4\E4\E4\E4\E4\D0\00\B9\E4\E4\E4\E4\D1\E4\E4\E4\E4\E4\E4\E4\E4\E4\D0\E4\E4\E4\E4\E4\E0\E4\E4\E4\E4\E0\00\00\00\E4\C2\00\00\E4\E4\E4\E4\E4\E4\E4\D8UUW\AA\AA\AA\86\86\86\8A\E4\E0\E4\E4\E4\E4\E0\1E\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\00\00\00\00\E4\E4\E4\E4\E4\E4\E4\E4\DB\E4\00\00\E4\E4\0D\0F\0E\A2\9B\AA\A3\A6|\86\86\84\80\92\92\92\81\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E0\1B\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\E4\E4\E4\E0\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E0\00\00\00\00\00\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\00\00\00\E4\D0\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E6\E4\E4\E4vpw_5UUUUUUUUUS\B7vUUUUUUUUUUh\E9\E8\E4\E4\E4\EA\E4\E4\E4\E4\C4\06\D0\1Eu\E2\E4\E0\00\00\E4\E4\C0\00\00\00\E4\E4\E4\C2\00\00\EC\EB\EC\EC\E7\E4\B2\B3\B1\AA\AA\B0\95\86\86\89\EC\EC\EC\EC\E4\CF\DB\CF\AA\AA\AB\A9\86\86\87\86\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\11\00\00\00`\00\00\00f\00\00\00\90\00\00\06\00\00\00\10\11\00\00\10\16\00\00\11\10\00\00\11\11\00\00`\06\00\00f\00\00\00fd\00\01\00\06\00\01\10\01\00\06\00`\00\06\10\11\00\10\01\00\00\10\11\11\00\11\01\00\00\11\10\11\00\11\11\11\00\16\10\11\00!\01\11\00`\00`\00`ff\00f\06\00\00f\10\11\00fff\01\00\00\00\01\00\00\11\01\01\00\11\01\01\10\00\01\10\11\11\01\11\00\11\01\11\10\01\01\11\10\11\01\11\11\00\01\11\11\11\01`\00\00\01f\00\00\04$$$\06\00\00\00\06`f\00\06ff\00\10\01\01\10\10\01\01\11\10\01ff\10\11\01\01\10\11\01\11\10\11\10\10\10\11\11\11\10fff\11\00\00\00\11\00\00\10\11\00\00\11\11\00\00f\11\00\06f\11\00\11\00\11\00\16f\11\01\00\00\11\01\00\10\11\01\00\11\11\01\00`\11\01\10\11\11\06\10\11\11\10\01\11\11\10\10\11\11\10\11\01\11\10\11\11\11\11\00\00\11\11\01\00\11\11\01\01\11\11\01\10\11\11\01\11\11\11\01`\11\11\06\00\11\11\10\00\11\11\10\10\11\11\10\11\11\11\11\00\11\11\11\01\11\11\11\10\11\11\11\11\11\11\11\16\11\11\11D\11\11\11a\11\11\11f\11\11\16f\11\114B\11\11a\06\11\11a\11\11\11a\16\11\11af\11\11ff\11\12\11\11\11\12!\11\11\16\11\11\11!\00\00\11!\12\22\11D\11\16\11a\06\00\11a\11\11\11af\11\11aff\11f\00\00\11f\00\11\11f\06\00\11ff\06\11ff\11\11fff\12!\11\11\12\22\11\11\12$$$\16\00\00\00\16\00ff\16\11\11\11\16\11\11f\19\11\11\11 \22\22\22!!\11\11!!!!!\22\22\22\22\11\00\11\22\11\11!\22\11!\11\22\11!\12\22\12$\06\22!\01\11\22\22\22\00\22\22\22\02\22\22\22\12\22\22\22\22\22\22\22b\22bff\22bf\E6\22fff#4BB$\00\00\00$\11$!$\11DB$$\00\00$$$\00$$$\11$$$$$$$D$ff\06&\22\22\22@@@@@DDDA#$DA$$DABBBADDDB\11$DBB\22$BBB\02BBBBBD\12DBDBBD\04\04DD@DDDB$DDBB\22DD\22\22DDD\00DDD\04DDD$DDDDDDDdDD`fDDd\06DDdbDDdfDdffFDDDUUUUUfff`\06\00\00`f\06f`f\10\11`f\16\11`ff\00`fffa\00\00\00a\11\11\11a\11ffa\16\11\11af\06\00affff\00\00\00f\00fff\06\00\00f\06\00\06f\06\00`f\06\00ff\06fff\11\01\00f\11\11\11f!\01\11f$$$f`\16\00f`f\00f`fffaf\16faffff\00\00ff\00`ff\00fff\01\00ff\06\00ff\06\06ff\06`ff\06fff\11\11ff\16\11ff\16aff&fff``ffadfff\00fff\01fff\06fff\11fff\16fff`ffffffv\07if\16\11ifff\99\99ff\99\99\99i\CCfff\DE\CC\CC\EE\EE\EE\EE\EE", [1680 x i8] c"\04\06\07\00\00\00\00\00\00\00\00\00\00\00\00\05\01\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\00\00\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\0D\00\00\00\00\00\00QQRR\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\1B\1B\19\0F\1F\1F\1D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\03SSSUUUT\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\1B\1B\19\0F\1F\1F\1D\00\00\00\00\00\00\04\00\1B\1B\1A\1A\1F\1F\1E ((((((1\10,*(((((2\11.3%)/0$\064,-((\12((((((((((((((((((('\08(((((((((((#GIFHGIGIFH\16\17GIMNGIGIGIEJ\09OCKDL\09P((((5(&\00\00\00\07\1367\0B\0089\0C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\01:\0E\1B\18\1C\0F\1F\22!;(((<\00>>\1B\1B\1B\1B\1F\1F\1F\1F==((((#\0A((((((\10+(((('#((\00\00\00\00\14@@@?\00\15BBBA\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00WWWWVYYYYX\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\001\00\00\00\00\00\00\00Y\00\00\00\00\00\00\00^^\00\00\00\00\00\03\00\00\00\00\00\00\000\00\00\00\00\00\00\1C\1D\1E\1C\00\00\00#$\00%%\00\00\00E\00\00\00\00\00\00\00N\00\00\00\00\00\00\05\06\05\06\05\06\00\00+\00\00,\00\00\00\00/\00\00\00\00\00\00\00Z[\00\00\00\00\00\01\01\01\01\01\01\01\00\02\02\02\02\02\02\02\00\05\06\05\06\05\06\05\00\0B\05\06\05\06\0C\05\00\1C\1D\1E\05\06 !\00&\00'\00\00\00\00\00CCCCCCC\00DDDDDDD\00F\00F\00F\00F\00G\00G\00G\00G\01\01\00\01\01\01\01\01\01\01\01\00\00\00\00\00\01\01\01\01\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\015666\02\02\02\00\00\00\00\00\02\02\02\02\02\02\02\00\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\04\02\02\02\02899\00\02\027\02\02\02\02\02\05\06\00\00\00\00\00\00\05\06\00\00\05\06\00\1B\05\06\00\00\13\15\16\17\05\06\05\06\00\00\00\00\05\06\05\06\05\06\00\00\05\06\05\06\05\06\05\06\05\06\05\06\05\06\18\05\06\00\05\06\05\06\05\06\06\05\06\05\06\05\06\00\06\05\06\05\06\05\06\05\06\05\06\05\06\1F\05\06\06\0D\0D\05\06\00\0E\0F\06\18\00\00\05\06\18\05\06\19\19\05\06\05\06\1A\07\08\05\06\05\06\05\06\09\05\06\05\06\05\06\0A\10\05\06\0D\11\12\13\14\1D\1E\1C\1D\1E\05\06\05\22\00\05\06\05\06\05\06%\00\00(\00\00\00\00)*\00\00\00\00\00*-\00\00-\00\00\00\00-\00..\00\00\00\00222\003\0044:;\00\00\00<=\00>?\1F\00@A\00\00????????BBBBBBBBCCCCCCC\00CCCCCCCCDDDDDDD\00DDDDDDDDFF\00\00\00\00\00\00FF\00\00\00T\00\00FF\00N\00\00\00\00FFFFFF\00\00FFFFFFFFGGGGGG\00\00GGGGGGGGGGOOP\00Q\00GGSS\00\00\00\00GGUUV\00\00\00HHIIIIJJKKLLMM\00\00RRRRP\00\00\00WWXXP\00\00\00\\\\\\\\\\\\\\\\]]]]]]]]^^^^^^^^__\00\00\00\00\00\00________``````\00\00````````aaaaaa\00\00aaaaaaaa", [196 x i16] [i16 0, i16 0, i16 0, i16 32, i16 -32, i16 0, i16 743, i16 0, i16 121, i16 0, i16 0, i16 1, i16 -1, i16 0, i16 0, i16 -199, i16 -232, i16 0, i16 0, i16 -121, i16 -300, i16 0, i16 0, i16 210, i16 0, i16 206, i16 0, i16 205, i16 0, i16 79, i16 0, i16 202, i16 0, i16 203, i16 0, i16 207, i16 97, i16 0, i16 0, i16 211, i16 0, i16 209, i16 0, i16 213, i16 130, i16 0, i16 0, i16 214, i16 0, i16 218, i16 0, i16 217, i16 0, i16 219, i16 56, i16 0, i16 0, i16 2, i16 -1, i16 1, i16 -2, i16 0, i16 -79, i16 0, i16 0, i16 -97, i16 0, i16 -56, i16 0, i16 -130, i16 -210, i16 0, i16 -206, i16 0, i16 -205, i16 0, i16 -202, i16 0, i16 -203, i16 0, i16 -207, i16 0, i16 -209, i16 0, i16 -211, i16 0, i16 -213, i16 0, i16 -214, i16 0, i16 -218, i16 0, i16 -217, i16 0, i16 -219, i16 0, i16 84, i16 0, i16 0, i16 38, i16 0, i16 37, i16 0, i16 64, i16 0, i16 63, i16 -38, i16 0, i16 -37, i16 0, i16 -31, i16 0, i16 -64, i16 0, i16 -63, i16 0, i16 -62, i16 0, i16 -57, i16 0, i16 -47, i16 0, i16 -54, i16 0, i16 -86, i16 0, i16 -80, i16 0, i16 0, i16 -60, i16 -96, i16 0, i16 0, i16 80, i16 0, i16 48, i16 -48, i16 0, i16 -59, i16 0, i16 8, i16 0, i16 0, i16 -8, i16 74, i16 0, i16 86, i16 0, i16 100, i16 0, i16 128, i16 0, i16 112, i16 0, i16 126, i16 0, i16 9, i16 0, i16 0, i16 -74, i16 0, i16 -9, i16 -7205, i16 0, i16 0, i16 -86, i16 0, i16 -100, i16 7, i16 0, i16 0, i16 -112, i16 0, i16 -7, i16 0, i16 -128, i16 0, i16 -126, i16 0, i16 -7517, i16 0, i16 -8383, i16 0, i16 -8262, i16 0, i16 16, i16 -16, i16 0, i16 0, i16 26, i16 -26, i16 0, i16 0, i16 40, i16 -40, i16 0], [51 x i8] c"\000\001\002\003\004\005\006\007\008\009\00\DB\B0\00\DB\B1\00\DB\B2\00\DB\B3\00\DB\B4\00\DB\B5\00\DB\B6\00\DB\B7\00\DB\B8\00\DB\B9\00", [28 x i8] c"\00.\00,\00\03\00\03\02\00\A0\00\C2\A0\00 \00\D9\AB\00\D9\AC\00'\00\02\03\00", [1646 x i8] c"\00\7F\00-\00ZAR \00R\00,\00.\00\03\00\02\00\01\00-R\00ETB \00$\00-$\00AED \00\CF.\C5.\00-\CF.\C5.\00\D8\AF.\D8\A5.\00-\D8\AF.\D8\A5.\00BHD \00\CF.\C8.\00-\CF.\C8.\00\D8\AF.\D8\A8.\00-\D8\AF.\D8\A8.\00DZD \00\CF.\CC.\00-\CF.\CC.\00\D8\AF.\D8\AC.\00-\D8\AF.\D8\AC.\00EGP \00\CC.\E5.\00-\CC.\E5.\00\D8\AC.\D9\85.\00-\D8\AC.\D9\85.\00INR \00\E2\82\A8\00\03\02\00-\E2\82\A8\00IQD \00\CF.\D9.\00-\CF.\D9.\00\D8\AF.\D8\B9.\00-\D8\AF.\D8\B9.\00JOD \00\CF.\C3.\00-\CF.\C3.\00\D8\AF.\D8\A3.\00-\D8\AF.\D8\A3.\00KWD \00\CF.\E3.\00-\CF.\E3.\00\D8\AF.\D9\83.\00-\D8\AF.\D9\83.\00LBP \00\E4.\E4.\00-\E4.\E4.\00\D9\84.\D9\84.\00-\D9\84.\D9\84.\00LYD \00\CF.\E4.\00-\CF.\E4.\00\D8\AF.\D9\84.\00-\D8\AF.\D9\84.\00MAD \00\CF.\E5.\00-\CF.\E5.\00\D8\AF.\D9\85.\00-\D8\AF.\D9\85.\00OMR \00\D1.\D9.\00-\D1.\D9.\00\D8\B1.\D8\B9.\00-\D8\B1.\D8\B9.\00QAR \00\D1.\E2.\00-\D1.\E2.\00\D8\B1.\D9\82.\00-\D8\B1.\D9\82.\00SAR \00\D1\EA\C7\E4\00+\D1\EA\C7\E4\00\D8\B1\D9\8A\D8\A7\D9\84\00+\D8\B1\D9\8A\D8\A7\D9\84\00SDP \00\CC.\D3.\00-\CC.\D3.\00\D8\AC.\D8\B3.\00-\D8\AC.\D8\B3.\00SYP \00\E4.\D3.\00-\E4.\D3.\00\D9\84.\D8\B3.\00-\D9\84.\D8\B3.\00TND \00\CF.\CA.\00-\CF.\CA.\00\D8\AF.\D8\AA.\00-\D8\AF.\D8\AA.\00YER \00\D1.\EA.\00-\D1.\EA.\00\D8\B1.\D9\8A.\00-\D8\B1.\D9\8A.\00AZM \00man.\00 \00+man.\00BYR \00\F0\F3\E1\00+\F0\F3\E1\00\D1\80\D1\83\D0\B1\00+\D1\80\D1\83\D0\B1\00BGL \00\EB\E2\00\A0\00+\EB\E2\00\D0\BB\D0\B2\00\C2\A0\00+\D0\BB\D0\B2\00\E0\A7\B3\00-\E0\A7\B3\00\E0\A6\9F\E0\A6\BE\E0\A6\95\E0\A6\BE\00\02\03\00-\E0\A6\9F\E0\A6\BE\E0\A6\95\E0\A6\BE\00EUR \00EUR\00+EUR\00\E2\82\AC\00+\E2\82\AC\00BAK \00KM\00-KM\00-EUR\00-\E2\82\AC\00\A4\00-\A4\00CZK \00K\E8\00+K\E8\00K\C4\8D\00+K\C4\8D\00GBP \00\A3\00-\A3\00\C2\A3\00-\C2\A3\00DKK \00kr\00\04\00-kr\00CHF \00Fr.\00-Fr.\00+\A4\00AUD \00BWP \00Pu\00-Pu\00CAD \00\C2\A4\00-\C2\A4\00HKD \00HK$\00-HK$\00NZD \00PHP \00Php\00-Php\00SGD \00USD \00ZWD \00Z$\00-Z$\00-EUR \00ARS \00BOB \00$b\00-$b\00CLP \00COP \00CRC \00C\00-C\00DOP \00ECS \00GTQ \00Q\00-Q\00HNL \00L.\00-L.\00MXP \00NIO \00$C\00-$C\00PAB \00B/\00-B/\00PEN \00S/\00-S/\00PYG \00Gs.\00-Gs.\00SVC \00\A2\00-\A2\00\C2\A2\00-\C2\A2\00UYU \00N$\00-N$\00VEB \00Bs.\00-Bs.\00EEK \00IRR \00\D8\B1\DB\8C\D8\A7\D9\84\00\D9\AB\00\D9\AC\00+\D8\B1\DB\8C\D8\A7\D9\84\00+$\00ILS \00\F9\E7\00-\F9\E7\00\D7\A9\D7\97\00-\D7\A9\D7\97\00\E0\A4\B0\E0\A5\82\00-\E0\A4\B0\E0\A5\82\00HRK \00Kn\00-Kn\00HUF \00Ft\00+Ft\00AMD \00\B8\00-\B8\00\D4\B4\00-\D4\B4\00IDR \00Rp\00-Rp\00ISK \00+kr\00JPY \00\EF\BF\A5\00-\EF\BF\A5\00GEL \00\CB\00-\CB\00\E1\83\9A\00-\E1\83\9A\00KRW \00\EF\BF\A6\00-\EF\BF\A6\00LTL \00Lt\00+Lt\00LVL \00Ls\00-Ls\00MKD \00\D4\D5\DD\00+\D4\D5\DD\00\D0\B4\D0\B5\D0\BD\00+\D0\B4\D0\B5\D0\BD\00\E0\A4\B0\E0\A5\81\00-\E0\A4\B0\E0\A5\81\00MYR \00RM\00-RM\00MTL \00Lm\00-Lm\00NOK \00PLN \00Z\B3\00-Z\B3\00Z\C5\82\00-Z\C5\82\00BRL \00R$\00+R$\00ROL \00Lei\00-Lei\00RUR \00\D2\D5\C2\00+\D2\D5\C2\00\E0\E3\D1\00+\E0\E3\D1\00UAH \00\C7\D2\00+\C7\D2\00\D0\B3\D1\80\00+\D0\B3\D1\80\00 ru\00- ru\00SKK \00Sk\00+Sk\00SIT \00SIT\00+SIT\00ALL \00Lek\00-Lek\00YUN \00din\00-din\00\D4\D8\DD\00-\D4\D8\DD\00\D0\B4\D0\B8\D0\BD\00-\D0\B4\D0\B8\D0\BD\00SEK \00THB \00\DF\00-\DF\00\E0\B8\BF\00-\E0\B8\BF\00ERB \00PhP\00-PhP\00TRL \00TL\00+TL\00PKR \00Rs\00-Rs\00UZS \00so'm\00-so'm\00VND \00\E2\82\AB\00+\E2\82\AB\00CNY \00TWD \00NT$\00-NT$\00", [28353 x i8] c"\00Sun\00Mon\00Tue\00Wed\00Thu\00Fri\00Sat\00Sunday\00Monday\00Tuesday\00Wednesday\00Thursday\00Friday\00Saturday\00Jan\00Feb\00Mar\00Apr\00May\00Jun\00Jul\00Aug\00Sep\00Oct\00Nov\00Dec\00January\00February\00March\00April\00June\00July\00August\00September\00October\00November\00December\00AM\00PM\00%a %b %e %H:%M:%S %Y\00%m/%d/%y\00%H:%M:%S\00%I:%M:%S %p\00So\00Ma\00Di\00Wo\00Do\00Vr\00Sa\00Sondag\00Maandag\00Dinsdag\00Woensdag\00Donderdag\00Vrydag\00Saterdag\00Mei\00Okt\00Des\00Januarie\00Februarie\00Maart\00Junie\00Julie\00Augustus\00Oktober\00Desember\00VM\00NM\00%a %d %b %Y %T %Z\00%d/%m/%y\00%T\00\E1\8A\A5\E1\88\91\E1\8B\B5\00\E1\88\B0\E1\8A\9E\00\E1\88\9B\E1\8A\AD\E1\88\B0\E1\8A\9E\00\E1\88\A8\E1\89\A1\E1\8B\95\00\E1\88\90\E1\88\99\E1\88\B5\00\E1\8B\93\E1\88\AD\E1\89\A5\00\E1\89\85\E1\8B\B3\E1\88\9C\00\E1\8C\83\E1\8A\95\E1\8B\A9\00\E1\8D\8C\E1\89\A5\E1\88\A9\00\E1\88\9B\E1\88\AD\E1\89\BD\00\E1\8A\A4\E1\8D\95\E1\88\A8\00\E1\88\9C\E1\8B\AD\00\E1\8C\81\E1\8A\95\00\E1\8C\81\E1\88\8B\E1\8B\AD\00\E1\8A\A6\E1\8C\88\E1\88\B5\00\E1\88\B4\E1\8D\95\E1\89\B4\00\E1\8A\A6\E1\8A\AD\E1\89\B0\00\E1\8A\96\E1\89\AC\E1\88\9D\00\E1\8B\B2\E1\88\B4\E1\88\9D\00\E1\8C\83\E1\8A\95\E1\8B\A9\E1\8B\88\E1\88\AA\00\E1\8D\8C\E1\89\A5\E1\88\A9\E1\8B\88\E1\88\AA\00\E1\8A\A4\E1\8D\95\E1\88\A8\E1\88\8D\00\E1\8A\A6\E1\8C\88\E1\88\B5\E1\89\B5\00\E1\88\B4\E1\8D\95\E1\89\B4\E1\88\9D\E1\89\A0\E1\88\AD\00\E1\8A\A6\E1\8A\AD\E1\89\B0\E1\8B\8D\E1\89\A0\E1\88\AD\00\E1\8A\96\E1\89\AC\E1\88\9D\E1\89\A0\E1\88\AD\00\E1\8B\B2\E1\88\B4\E1\88\9D\E1\89\A0\E1\88\AD\00\E1\8C\A0\E1\8B\8B\E1\89\B5\00\E1\8A\A8\E1\88\B3\E1\8B\93\E1\89\B5\00%A\E1\8D\A3 %b %e \E1\89\80\E1\8A\95 %l:%M:%S %Z %Y\00%d/%m/%Y\00%r\00\CD\00\E6\00\CB\00\D1\00\CE\00\CC\00\D3\00\C7\E4\C3\CD\CF\00\C7\E4\C7\CB\E6\EA\E6\00\C7\E4\CB\E4\C7\CB\C7\C1\00\C7\E4\C3\D1\C8\D9\C7\C1\00\C7\E4\CE\E5\EA\D3\00\C7\E4\CC\E5\D9\C9\00\C7\E4\D3\C8\CA \00\EA\E6\C7\00\E1\C8\D1\00\E5\C7\D1\00\C3\C8\D1\00\E5\C7\EA\00\EA\E8\E6\00\EA\E8\E4\00\C3\DA\D3\00\D3\C8\CA\00\C3\E3\CA\00\E6\E8\E1\00\CF\EA\D3\00\EA\E6\C7\EA\D1\00\E1\C8\D1\C7\EA\D1\00\E5\C7\D1\D3\00\C3\C8\D1\EA\E4\00\E5\C7\EA\E8\00\EA\E8\E6\EA\E8\00\EA\E8\E4\EA\E8\00\C3\DA\D3\D7\D3\00\D3\C8\CA\E5\C8\D1\00\C3\E3\CA\E8\C8\D1\00\E6\E8\E1\E5\C8\D1\00\CF\EA\D3\E5\C8\D1\00\D5\00\E5\00%d %b, %Y %Z %I:%M:%S %p\00%d %b, %Y\00%Z %I:%M:%S \00%Z %I:%M:%S %p\00\D8\AD\00\D9\86\00\D8\AB\00\D8\B1\00\D8\AE\00\D8\AC\00\D8\B3\00\D8\A7\D9\84\D8\A3\D8\AD\D8\AF\00\D8\A7\D9\84\D8\A7\D8\AB\D9\86\D9\8A\D9\86\00\D8\A7\D9\84\D8\AB\D9\84\D8\A7\D8\AB\D8\A7\D8\A1\00\D8\A7\D9\84\D8\A3\D8\B1\D8\A8\D8\B9\D8\A7\D8\A1\00\D8\A7\D9\84\D8\AE\D9\85\D9\8A\D8\B3\00\D8\A7\D9\84\D8\AC\D9\85\D8\B9\D8\A9\00\D8\A7\D9\84\D8\B3\D8\A8\D8\AA \00\D9\8A\D9\86\D8\A7\00\D9\81\D8\A8\D8\B1\00\D9\85\D8\A7\D8\B1\00\D8\A3\D8\A8\D8\B1\00\D9\85\D8\A7\D9\8A\00\D9\8A\D9\88\D9\86\00\D9\8A\D9\88\D9\84\00\D8\A3\D8\BA\D8\B3\00\D8\B3\D8\A8\D8\AA\00\D8\A3\D9\83\D8\AA\00\D9\86\D9\88\D9\81\00\D8\AF\D9\8A\D8\B3\00\D9\8A\D9\86\D8\A7\D9\8A\D8\B1\00\D9\81\D8\A8\D8\B1\D8\A7\D9\8A\D8\B1\00\D9\85\D8\A7\D8\B1\D8\B3\00\D8\A3\D8\A8\D8\B1\D9\8A\D9\84\00\D9\85\D8\A7\D9\8A\D9\88\00\D9\8A\D9\88\D9\86\D9\8A\D9\88\00\D9\8A\D9\88\D9\84\D9\8A\D9\88\00\D8\A3\D8\BA\D8\B3\D8\B7\D8\B3\00\D8\B3\D8\A8\D8\AA\D9\85\D8\A8\D8\B1\00\D8\A3\D9\83\D8\AA\D9\88\D8\A8\D8\B1\00\D9\86\D9\88\D9\81\D9\85\D8\A8\D8\B1\00\D8\AF\D9\8A\D8\B3\D9\85\D8\A8\D8\B1\00\D8\B5\00\D9\85\00\C7\E4\D3\C8\CA\00\D8\A7\D9\84\D8\B3\D8\A8\D8\AA\00%A %d %B %Y %I:%M:%S %p %Z\00%A %d %B %Y\00%I:%M:%S %Z\00%I:%M:%S %p %Z\00\E3\C7\E6\E8\E6 \C7\E4\CB\C7\E6\EA\00\D4\C8\C7\D7\00\C2\D0\C7\D1\00\E6\EA\D3\C7\E6\00\E6\E8\C7\D1\00\CD\D2\EA\D1\C7\E6\00\CA\E5\E8\D2\00\C2\C8\00\C3\EA\E4\E8\E4\00\CA\D4\D1\EA\E6 \C7\E4\C3\E8\E4\00\CA\D4\D1\EA\E6 \C7\E4\CB\C7\E6\EA\00\E3\C7\E6\E8\E6 \C7\E4\C3\E8\E4\00\D9\83\D8\A7\D9\86\D9\88\D9\86 \D8\A7\D9\84\D8\AB\D8\A7\D9\86\D9\8A\00\D8\B4\D8\A8\D8\A7\D8\B7\00\D8\A2\D8\B0\D8\A7\D8\B1\00\D9\86\D9\8A\D8\B3\D8\A7\D9\86\00\D9\86\D9\88\D8\A7\D8\B1\00\D8\AD\D8\B2\D9\8A\D8\B1\D8\A7\D9\86\00\D8\AA\D9\85\D9\88\D8\B2\00\D8\A2\D8\A8\00\D8\A3\D9\8A\D9\84\D9\88\D9\84\00\D8\AA\D8\B4\D8\B1\D9\8A\D9\86 \D8\A7\D9\84\D8\A3\D9\88\D9\84\00\D8\AA\D8\B4\D8\B1\D9\8A\D9\86 \D8\A7\D9\84\D8\AB\D8\A7\D9\86\D9\8A\00\D9\83\D8\A7\D9\86\D9\88\D9\86 \D8\A7\D9\84\D8\A3\D9\88\D9\84\00\C7\E4\C5\CB\E6\EA\E6\00\C7\E4\CC\E5\D9\E0\C9\00\E6\EA\D3\E0\C7\E6\00\C3\EA\C7\D1\00\CA\E0\E5\E0\E8\D2\00%A %.1d %B %Y %.1H:%M:%S\00%A %.1d %B %Y\00%.1H:%M:%S\00\D8\A7\D9\84\D8\A5\D8\AB\D9\86\D9\8A\D9\86\00\D8\A7\D9\84\D8\AC\D9\85\D8\B9\D9\80\D8\A9\00\D9\86\D9\8A\D8\B3\D9\80\D8\A7\D9\86\00\D8\A3\D9\8A\D8\A7\D8\B1\00\D8\AA\D9\80\D9\85\D9\80\D9\88\D8\B2\00\E6\E8\C7\D1\C7\E6\00\CD\D2\EA\D1\00\D9\86\D9\88\D8\A7\D8\B1\D8\A7\D9\86\00\D8\AD\D8\B2\D9\8A\D8\B1\00baz\00bir\00iki\00\FC\E7\FC\00d\F6r\00be\FE\00alt\00bazar g\FCn\FC\00birinci g\FCn\00ikinci g\FCn\00\FC\E7\FCnc\FC g\FCn\00d\F6rd\FCnc\FC g\FCn\00be\FEinci g\FCn\00alt\FDnc\FD g\FCn\00Yan\00Fev\00\DDyn\00\DDyl\00Avq\00Sen\00Noy\00Dek\00yanvar\00fevral\00mart\00aprel\00may\00iyun\00iyul\00avqust\00sentyabr\00oktyabr\00noyabr\00dekabr\00%A, %d %B %Y %T\00%d.%m.%Y\00\C3\BC\C3\A7\C3\BC\00d\C3\B6r\00be\C5\9F\00bazar g\C3\BCn\C3\BC\00birinci g\C3\BCn\00ikinci g\C3\BCn\00\C3\BC\C3\A7\C3\BCnc\C3\BC g\C3\BCn\00d\C3\B6rd\C3\BCnc\C3\BC g\C3\BCn\00be\C5\9Finci g\C3\BCn\00alt\C4\B1nc\C4\B1 g\C3\BCn\00\C4\B0yn\00\C4\B0yl\00\CD\FF\E4\00\CF\E0\ED\00\C0\A2\F2\00\D1\F0\E4\00\D7\F6\E2\00\CF\FF\F2\00\D1\F3\E1\00\CD\FF\E4\E7\E5\EB\FF\00\CF\E0\ED\FF\E4\E7\E5\EB\E0\EA\00\C0\A2\F2\EE\F0\E0\EA\00\D1\E5\F0\E0\E4\E0\00\D7\E0\F6\E2\E5\F0\00\CF\FF\F2\ED\B3\F6\E0\00\D1\F3\E1\EE\F2\E0\00\D1\F2\E4\00\CB\FE\F2\00\D1\E0\EA\00\CA\F0\F1\00\D2\F0\E0\00\D7\FD\F0\00\CB\B3\EF\00\C6\ED\E2\00\C2\F0\F1\00\CA\F1\F2\00\CB\B3\F1\00\D1\ED\E6\00\D1\F2\F3\E4\E7\E5\ED\FC\00\CB\FE\F2\FB\00\D1\E0\EA\E0\E2\B3\EA\00\CA\F0\E0\F1\E0\E2\B3\EA\00\D2\F0\E0\E2\E5\ED\FC\00\D7\FD\F0\E2\E5\ED\FC\00\CB\B3\EF\E5\ED\FC\00\C6\ED\B3\E2\E5\ED\FC\00\C2\E5\F0\E0\F1\E5\ED\FC\00\CA\E0\F1\F2\F0\FB\F7\ED\B3\EA\00\CB\B3\F1\F2\E0\EF\E0\E4\00\D1\ED\E5\E6\E0\ED\FC\00%a %d %b %Y %T\00\D0\9D\D1\8F\D0\B4\00\D0\9F\D0\B0\D0\BD\00\D0\90\D1\9E\D1\82\00\D0\A1\D1\80\D0\B4\00\D0\A7\D1\86\D0\B2\00\D0\9F\D1\8F\D1\82\00\D0\A1\D1\83\D0\B1\00\D0\9D\D1\8F\D0\B4\D0\B7\D0\B5\D0\BB\D1\8F\00\D0\9F\D0\B0\D0\BD\D1\8F\D0\B4\D0\B7\D0\B5\D0\BB\D0\B0\D0\BA\00\D0\90\D1\9E\D1\82\D0\BE\D1\80\D0\B0\D0\BA\00\D0\A1\D0\B5\D1\80\D0\B0\D0\B4\D0\B0\00\D0\A7\D0\B0\D1\86\D0\B2\D0\B5\D1\80\00\D0\9F\D1\8F\D1\82\D0\BD\D1\96\D1\86\D0\B0\00\D0\A1\D1\83\D0\B1\D0\BE\D1\82\D0\B0\00\D0\A1\D1\82\D0\B4\00\D0\9B\D1\8E\D1\82\00\D0\A1\D0\B0\D0\BA\00\D0\9A\D1\80\D1\81\00\D0\A2\D1\80\D0\B0\00\D0\A7\D1\8D\D1\80\00\D0\9B\D1\96\D0\BF\00\D0\96\D0\BD\D0\B2\00\D0\92\D1\80\D1\81\00\D0\9A\D1\81\D1\82\00\D0\9B\D1\96\D1\81\00\D0\A1\D0\BD\D0\B6\00\D0\A1\D1\82\D1\83\D0\B4\D0\B7\D0\B5\D0\BD\D1\8C\00\D0\9B\D1\8E\D1\82\D1\8B\00\D0\A1\D0\B0\D0\BA\D0\B0\D0\B2\D1\96\D0\BA\00\D0\9A\D1\80\D0\B0\D1\81\D0\B0\D0\B2\D1\96\D0\BA\00\D0\A2\D1\80\D0\B0\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\A7\D1\8D\D1\80\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\9B\D1\96\D0\BF\D0\B5\D0\BD\D1\8C\00\D0\96\D0\BD\D1\96\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\92\D0\B5\D1\80\D0\B0\D1\81\D0\B5\D0\BD\D1\8C\00\D0\9A\D0\B0\D1\81\D1\82\D1\80\D1\8B\D1\87\D0\BD\D1\96\D0\BA\00\D0\9B\D1\96\D1\81\D1\82\D0\B0\D0\BF\D0\B0\D0\B4\00\D0\A1\D0\BD\D0\B5\D0\B6\D0\B0\D0\BD\D1\8C\00\ED\E4\00\EF\ED\00\E2\F2\00\F1\F0\00\F7\F2\00\EF\F2\00\F1\E1\00\ED\E5\E4\E5\EB\FF\00\EF\EE\ED\E5\E4\E5\EB\ED\E8\EA\00\E2\F2\EE\F0\ED\E8\EA\00\F1\F0\FF\E4\E0\00\F7\E5\F2\E2\FA\F0\F2\FA\EA\00\EF\E5\F2\FA\EA\00\F1\FA\E1\EE\F2\E0\00\FF\ED\F3\00\F4\E5\E2\00\EC\E0\F0\00\E0\EF\F0\00\EC\E0\E9\00\FE\ED\E8\00\FE\EB\E8\00\E0\E2\E3\00\F1\E5\EF\00\EE\EA\F2\00\ED\EE\E5\00\E4\E5\EA\00\FF\ED\F3\E0\F0\E8\00\F4\E5\E2\F0\F3\E0\F0\E8\00\EC\E0\F0\F2\00\E0\EF\F0\E8\EB\00\E0\E2\E3\F3\F1\F2\00\F1\E5\EF\F2\E5\EC\E2\F0\E8\00\EE\EA\F2\EE\EC\E2\F0\E8\00\ED\EE\E5\EC\E2\F0\E8\00\E4\E5\EA\E5\EC\E2\F0\E8\00%x (%a) %X %Z\00%e.%m.%Y\00%k,%M,%S\00%l,%M,%S\00\D0\BD\D0\B4\00\D0\BF\D0\BD\00\D0\B2\D1\82\00\D1\81\D1\80\00\D1\87\D1\82\00\D0\BF\D1\82\00\D1\81\D0\B1\00\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D1\8F\00\D0\BF\D0\BE\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D0\BD\D0\B8\D0\BA\00\D0\B2\D1\82\D0\BE\D1\80\D0\BD\D0\B8\D0\BA\00\D1\81\D1\80\D1\8F\D0\B4\D0\B0\00\D1\87\D0\B5\D1\82\D0\B2\D1\8A\D1\80\D1\82\D1\8A\D0\BA\00\D0\BF\D0\B5\D1\82\D1\8A\D0\BA\00\D1\81\D1\8A\D0\B1\D0\BE\D1\82\D0\B0\00\D1\8F\D0\BD\D1\83\00\D1\84\D0\B5\D0\B2\00\D0\BC\D0\B0\D1\80\00\D0\B0\D0\BF\D1\80\00\D0\BC\D0\B0\D0\B9\00\D1\8E\D0\BD\D0\B8\00\D1\8E\D0\BB\D0\B8\00\D0\B0\D0\B2\D0\B3\00\D1\81\D0\B5\D0\BF\00\D0\BE\D0\BA\D1\82\00\D0\BD\D0\BE\D0\B5\00\D0\B4\D0\B5\D0\BA\00\D1\8F\D0\BD\D1\83\D0\B0\D1\80\D0\B8\00\D1\84\D0\B5\D0\B2\D1\80\D1\83\D0\B0\D1\80\D0\B8\00\D0\BC\D0\B0\D1\80\D1\82\00\D0\B0\D0\BF\D1\80\D0\B8\D0\BB\00\D0\B0\D0\B2\D0\B3\D1\83\D1\81\D1\82\00\D1\81\D0\B5\D0\BF\D1\82\D0\B5\D0\BC\D0\B2\D1\80\D0\B8\00\D0\BE\D0\BA\D1\82\D0\BE\D0\BC\D0\B2\D1\80\D0\B8\00\D0\BD\D0\BE\D0\B5\D0\BC\D0\B2\D1\80\D0\B8\00\D0\B4\D0\B5\D0\BA\D0\B5\D0\BC\D0\B2\D1\80\D0\B8\00\E0\A6\B0\E0\A6\AC\E0\A6\BF\00\E0\A6\B8\E0\A7\8B\E0\A6\AE\00\E0\A6\AE\E0\A6\99\E0\A6\97\E0\A6\B2\00\E0\A6\AC\E0\A7\81\E0\A6\A7\00\E0\A6\AC\E0\A7\83\E0\A6\B9\E0\A6\B8\E0\A7\8D\E0\A6\AA\E0\A6\A4\E0\A6\BF\00\E0\A6\B6\E0\A7\81\E0\A6\95\E0\A7\8D\E0\A6\B0\00\E0\A6\B6\E0\A6\A8\E0\A6\BF\00\E0\A6\B0\E0\A6\AC\E0\A6\BF\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B8\E0\A7\8B\E0\A6\AE\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\AE\E0\A6\99\E0\A6\97\E0\A6\B2\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\AC\E0\A7\81\E0\A6\A7\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\AC\E0\A7\83\E0\A6\B9\E0\A6\B8\E0\A7\8D\E0\A6\AA\E0\A6\A4\E0\A6\BF\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B6\E0\A7\81\E0\A6\95\E0\A7\8D\E0\A6\B0\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B6\E0\A6\A8\E0\A6\BF\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\9C\E0\A6\BE\E0\A6\A8\00\E0\A6\AB\E0\A7\87\E0\A6\AC\00\E0\A6\AE\E0\A6\BE\E0\A6\B0\00\E0\A6\8F\E0\A6\AA\E0\A7\8D\E0\A6\B0\00\E0\A6\AE\E0\A7\87\00\E0\A6\9C\E0\A7\81\E0\A6\A8\00\E0\A6\9C\E0\A7\81\E0\A6\B2\00\E0\A6\86\E0\A6\97\00\E0\A6\B8\E0\A7\87\E0\A6\AA\00\E0\A6\85\E0\A6\95\E0\A7\8D\E0\A6\9F\E0\A7\8B\E0\A6\AC\E0\A6\B0\00\E0\A6\A8\E0\A6\AD\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\B0\00\E0\A6\A1\E0\A6\BF\E0\A6\B8\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\B0\00\E0\A6\9C\E0\A6\BE\E0\A6\A8\E0\A7\81\E0\A7\9F\E0\A6\BE\E0\A6\B0\E0\A7\80\00\E0\A6\AB\E0\A7\87\E0\A6\AC\E0\A7\8D\E0\A6\B0\E0\A7\81\E0\A7\9F\E0\A6\BE\E0\A6\B0\E0\A7\80\00\E0\A6\AE\E0\A6\BE\E0\A6\B0\E0\A7\8D\E0\A6\9A\00\E0\A6\8F\E0\A6\AA\E0\A7\8D\E0\A6\B0\E0\A6\BF\E0\A6\B2\00\E0\A6\9C\E0\A7\81\E0\A6\B2\E0\A6\BE\E0\A6\87\00\E0\A6\86\E0\A6\97\E0\A6\B8\E0\A7\8D\E0\A6\9F\00\E0\A6\B8\E0\A7\87\E0\A6\AA\E0\A7\8D\E0\A6\9F\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\85\E0\A6\95\E0\A7\8D\E0\A6\9F\E0\A7\8B\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\A8\E0\A6\AD\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\A1\E0\A6\BF\E0\A6\B8\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B8\E0\A6\95\E0\A6\BE\E0\A6\B2\00\E0\A6\AC\E0\A6\BF\E0\A6\95\E0\A6\BE\E0\A6\B2\00%A %d %b %Y %I:%M:%S %p %Z\00%A %d %b %Y\00\E0\A6\B8\E0\A7\87\E0\A6\AA\E0\A7\8D\E0\A6\9F\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\B0\00\E0\A6\AA\E0\A7\82\E0\A6\B0\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B9\E0\A7\8D\E0\A6\A3\00\E0\A6\85\E0\A6\AA\E0\A6\B0\E0\A6\BE\E0\A6\B9\E0\A7\8D\E0\A6\A3\00sul\00lun\00meu\00mer\00yao\00gwe\00sad\00meurzh\00merc'her\00yaou\00gwener\00sadorn\00Gen \00C'hw\00Meu \00Ebr \00Mae \00Eve \00Gou \00Eos \00Gwe \00Her \00Du \00Ker \00Genver\00C'hwevrer\00Meurzh\00Ebrel\00Mae\00Mezheven\00Gouere\00Eost\00Gwengolo\00Here\00Du\00Kerzu\00 \00D'ar %A %d a viz %B %Y\00%Ie%M:%S %p\00Ned\00Pon\00Uto\00Sri\00\C8et\00Pet\00Sub\00Nedjelja\00Ponedjeljak\00Utorak\00Srijeda\00\C8etvrtak\00Petak\00Subota\00Maj\00Januar\00Februar\00Mart\00Juni\00Juli\00Septembar\00Oktobar\00Novembar\00Decembar\00\C4\8Cet\00\C4\8Cetvrtak\00dg\00dl\00dt\00dc\00dj\00dv\00ds\00diumenge\00dilluns\00dimarts\00dimecres\00dijous\00divendres\00dissabte\00gen\00feb\00mar\00abr\00mai\00jun\00jul\00ago\00set\00oct\00nov\00des\00gener\00febrer\00mar\E7\00abril\00maig\00juny\00juliol\00agost\00setembre\00octubre\00novembre\00desembre\00mar\C3\A7\00Ne\00Po\00\DAt\00St\00\C8t\00P\E1\00Ned\ECle\00Pond\ECl\ED\00\DAter\FD\00St\F8eda\00\C8tvrtek\00P\E1tek\00Sobota\00led\00\FAno\00b\F8e\00dub\00kv\EC\00\E8en\00\E8ec\00srp\00z\E1\F8\00\F8\EDj\00lis\00pro\00leden\00\FAnor\00b\F8ezen\00duben\00kv\ECten\00\E8erven\00\E8ervenec\00srpen\00z\E1\F8\ED\00\F8\EDjen\00listopad\00prosinec\00%a\A0%e.\A0%B\A0%Y,\A0%H:%M:%S\A0%Z\00%I:%M:%S\00\C3\9At\00\C4\8Ct\00P\C3\A1\00Ned\C4\9Ble\00Pond\C4\9Bl\C3\AD\00\C3\9Ater\C3\BD\00St\C5\99eda\00\C4\8Ctvrtek\00P\C3\A1tek\00\C3\BAno\00b\C5\99e\00kv\C4\9B\00\C4\8Den\00\C4\8Dec\00z\C3\A1\C5\99\00\C5\99\C3\ADj\00\C3\BAnor\00b\C5\99ezen\00kv\C4\9Bten\00\C4\8Derven\00\C4\8Dervenec\00z\C3\A1\C5\99\C3\AD\00\C5\99\C3\ADjen\00%a\C2\A0%e.\C2\A0%B\C2\A0%Y,\C2\A0%H:%M:%S\C2\A0%Z\00Sul\00Llu\00Maw\00Mer\00Iau\00Gwe\00Sad\00Llun\00Mawrth\00Mercher\00Gwener\00Sadwrn\00Ion\00Chw\00Ebr\00Mai\00Meh\00Gor\00Aws\00Med\00Hyd\00Tach\00Rha\00Ionawr\00Chwefror\00Ebrill\00Mehefin\00Gorffennaf\00Awst\00Medi\00Hydref\00Tachwedd\00Rhagfyr\00Dydd %A %d a viz %B %Y %T %Z\00%d.%m.%y\00s\F8n\00man\00tir\00ons\00tor\00fre\00l\F8r\00s\F8ndag\00mandag\00tirsdag\00onsdag\00torsdag\00fredag\00l\F8rdag\00jan\00apr\00maj\00aug\00sep\00okt\00dec\00januar\00februar\00marts\00april\00juni\00juli\00august\00september\00oktober\00november\00december\00%d-%m-%Y\00s\C3\B8n\00l\C3\B8r\00s\C3\B8ndag\00l\C3\B8rdag\00Son\00Die\00Mit\00Don\00Fre\00Sam\00Sonntag\00Montag\00Dienstag\00Mittwoch\00Donnerstag\00Freitag\00Samstag\00J\E4n\00M\E4r\00Dez\00J\E4nner\00Feber\00M\E4rz\00Dezember\00%Y-%m-%d\00J\C3\A4n\00M\C3\A4r\00J\C3\A4nner\00M\C3\A4rz\00\CA\F5\F1\00\C4\E5\F5\00\D4\F1\E9\00\D4\E5\F4\00\D0\E5\EC\00\D0\E1\F1\00\D3\E1\E2\00\CA\F5\F1\E9\E1\EA\DE\00\C4\E5\F5\F4\DD\F1\E1\00\D4\F1\DF\F4\E7\00\D4\E5\F4\DC\F1\F4\E7\00\D0\DD\EC\F0\F4\E7\00\D0\E1\F1\E1\F3\EA\E5\F5\DE\00\D3\DC\E2\E2\E1\F4\EF\00\C9\E1\ED\00\D6\E5\E2\00\CC\DC\F1\00\C1\F0\F1\00\CC\DC\E9\00\C9\EF\FD\ED\00\C9\EF\FD\EB\00\C1\FD\E3\00\D3\E5\F0\00\CF\EA\F4\00\CD\EF\DD\00\C4\E5\EA\00\C9\E1\ED\EF\F5\DC\F1\E9\EF\F2\00\D6\E5\E2\F1\EF\F5\DC\F1\E9\EF\F2\00\CC\DC\F1\F4\E9\EF\F2\00\C1\F0\F1\DF\EB\E9\EF\F2\00\CC\DC\E9\EF\F2\00\C9\EF\FD\ED\E9\EF\F2\00\C9\EF\FD\EB\E9\EF\F2\00\C1\FD\E3\EF\F5\F3\F4\EF\F2\00\D3\E5\F0\F4\DD\EC\E2\F1\E9\EF\F2\00\CF\EA\F4\FE\E2\F1\E9\EF\F2\00\CD\EF\DD\EC\E2\F1\E9\EF\F2\00\C4\E5\EA\DD\EC\E2\F1\E9\EF\F2\00\CE\9A\CF\85\CF\81\00\CE\94\CE\B5\CF\85\00\CE\A4\CF\81\CE\B9\00\CE\A4\CE\B5\CF\84\00\CE\A0\CE\B5\CE\BC\00\CE\A0\CE\B1\CF\81\00\CE\A3\CE\B1\CE\B2\00\CE\9A\CF\85\CF\81\CE\B9\CE\B1\CE\BA\CE\AE\00\CE\94\CE\B5\CF\85\CF\84\CE\AD\CF\81\CE\B1\00\CE\A4\CF\81\CE\AF\CF\84\CE\B7\00\CE\A4\CE\B5\CF\84\CE\AC\CF\81\CF\84\CE\B7\00\CE\A0\CE\AD\CE\BC\CF\80\CF\84\CE\B7\00\CE\A0\CE\B1\CF\81\CE\B1\CF\83\CE\BA\CE\B5\CF\85\CE\AE\00\CE\A3\CE\AC\CE\B2\CE\B2\CE\B1\CF\84\CE\BF\00\CE\99\CE\B1\CE\BD\00\CE\A6\CE\B5\CE\B2\00\CE\9C\CE\AC\CF\81\00\CE\91\CF\80\CF\81\00\CE\9C\CE\AC\CE\B9\00\CE\99\CE\BF\CF\8D\CE\BD\00\CE\99\CE\BF\CF\8D\CE\BB\00\CE\91\CF\8D\CE\B3\00\CE\A3\CE\B5\CF\80\00\CE\9F\CE\BA\CF\84\00\CE\9D\CE\BF\CE\AD\00\CE\94\CE\B5\CE\BA\00\CE\99\CE\B1\CE\BD\CE\BF\CF\85\CE\AC\CF\81\CE\B9\CE\BF\CF\82\00\CE\A6\CE\B5\CE\B2\CF\81\CE\BF\CF\85\CE\AC\CF\81\CE\B9\CE\BF\CF\82\00\CE\9C\CE\AC\CF\81\CF\84\CE\B9\CE\BF\CF\82\00\CE\91\CF\80\CF\81\CE\AF\CE\BB\CE\B9\CE\BF\CF\82\00\CE\9C\CE\AC\CE\B9\CE\BF\CF\82\00\CE\99\CE\BF\CF\8D\CE\BD\CE\B9\CE\BF\CF\82\00\CE\99\CE\BF\CF\8D\CE\BB\CE\B9\CE\BF\CF\82\00\CE\91\CF\8D\CE\B3\CE\BF\CF\85\CF\83\CF\84\CE\BF\CF\82\00\CE\A3\CE\B5\CF\80\CF\84\CE\AD\CE\BC\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00\CE\9F\CE\BA\CF\84\CF\8E\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00\CE\9D\CE\BF\CE\AD\CE\BC\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00\CE\94\CE\B5\CE\BA\CE\AD\CE\BC\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00%a %d %b %Y %r %Z\00%Y-%m-%dT%T %Z\00%A, %B %d, %Y %p%I:%M:%S %Z\00%A, %B %d, %Y\00%I:%M:%S %Z\00%p%I:%M:%S %Z\00%A, %d %B, %Y %I:%M:%S %p %Z\00%A, %d %B, %Y\00%A %d,%B,%Y %I:%M:%S %p %Z\00%A %d,%B,%Y\00%m/%d/%Y\00dim\00\C4\B5a\C5\AD\00ven\00sab\00diman\C4\89o\00lundo\00mardo\00merkredo\00\C4\B5a\C5\ADdo\00vendredo\00sabato\00A\C5\ADg\00Januaro\00Februaro\00Marto\00Aprilo\00Majo\00Junio\00Julio\00A\C5\ADgusto\00Septembro\00Oktobro\00Novembro\00Decembro\00%a %d %b %Y %T %z\00dom\00mi\E9\00jue\00vie\00s\E1b\00domingo\00lunes\00martes\00mi\E9rcoles\00jueves\00viernes\00s\E1bado\00ene\00dic\00enero\00febrero\00marzo\00mayo\00junio\00julio\00agosto\00septiembre\00noviembre\00diciembre\00mi\C3\A9\00s\C3\A1b\00mi\C3\A9rcoles\00s\C3\A1bado\00P\00E\00T\00K\00N\00R\00L\00p\FChap\E4ev\00esmasp\E4ev\00teisip\E4ev\00kolmap\E4ev\00neljap\E4ev\00reede\00laup\E4ev\00jaan \00veebr\00m\E4rts\00apr \00mai \00juuni\00juuli\00aug \00sept \00okt \00nov \00dets \00jaanuar\00veebruar\00aprill\00oktoober\00detsember\00p\C3\BChap\C3\A4ev\00esmasp\C3\A4ev\00teisip\C3\A4ev\00kolmap\C3\A4ev\00neljap\C3\A4ev\00laup\C3\A4ev\00m\C3\A4rts\00ig.\00al.\00ar.\00az.\00og.\00or.\00lr.\00igandea\00astelehena\00asteartea\00asteazkena\00osteguna\00ostirala\00larunbata\00urt\00ots\00api\00eka\00uzt\00abu\00ira\00urr\00aza\00abe\00urtarrila\00otsaila\00martxoa\00apirila\00maiatza\00ekaina\00uztaila\00abuztua\00iraila\00urria\00azaroa\00abendua\00%y-%m-%d %T %Z\00%a, %Y.eko %bren %da\00\DB\8C.\00\D8\AF.\00\D8\B3.\00\DA\86.\00\D9\BE.\00\D8\AC.\00\D8\B4.\00\DB\8C\DA\A9\E2\80\8C\D8\B4\D9\86\D8\A8\D9\87\00\D8\AF\D9\88\D8\B4\D9\86\D8\A8\D9\87\00\D8\B3\D9\87\E2\80\8C\D8\B4\D9\86\D8\A8\D9\87\00\DA\86\D9\87\D8\A7\D8\B1\D8\B4\D9\86\D8\A8\D9\87\00\D9\BE\D9\86\D8\AC\E2\80\8C\D8\B4\D9\86\D8\A8\D9\87\00\D8\AC\D9\85\D8\B9\D9\87\00\D8\B4\D9\86\D8\A8\D9\87\00\DA\98\D8\A7\D9\86\00\D9\81\D9\88\D8\B1\00\D8\A2\D9\88\D8\B1\00\D9\85\D9\80\D9\87\00\DA\98\D9\88\D9\86\00\DA\98\D9\88\DB\8C\00\D8\A7\D9\88\D8\AA\00\D8\B3\D9\BE\D8\AA\00\D8\A7\D9\83\D8\AA\00\D9\86\D9\88\D8\A7\00\D8\AF\D8\B3\D8\A7\00\DA\98\D8\A7\D9\86\D9\88\DB\8C\D9\87\00\D9\81\D9\88\D8\B1\DB\8C\D9\87\00\D8\A2\D9\88\D8\B1\DB\8C\D9\84\00\D9\85\D9\87\00\DA\98\D9\88\D8\A6\D9\86\00\DA\98\D9\88\D8\A6\DB\8C\D9\87\00\D8\B3\D9\BE\D8\AA\D8\A7\D9\85\D8\A8\D8\B1\00\D8\A7\D9\83\D8\AA\D8\A8\D8\B1\00\D9\86\D9\88\D8\A7\D9\85\D8\A8\D8\B1\00\D8\AF\D8\B3\D8\A7\D9\85\D8\A8\D8\B1\00\D8\B5\D8\A8\D8\AD\00\D8\B9\D8\B5\D8\B1\00\E2\80\AB%A %e %B %Y\D8\8C %I:%M:%S %p\E2\80\AC\00%Y/%m/%d\00\E2\80\AB%I:%M:%S %p\E2\80\AC\00su\00ma\00ti\00ke\00to\00pe\00la\00sunnuntai\00maanantai\00tiistai\00keskiviikko\00torstai\00perjantai\00lauantai\00tammi\A0\00helmi\A0\00maalis\00huhti\A0\00touko\A0\00kes\E4\A0\A0\00hein\E4\A0\00elo\A0\A0\A0\00syys\A0\A0\00loka\A0\A0\00marras\00joulu\A0\00tammikuu\00helmikuu\00maaliskuu\00huhtikuu\00toukokuu\00kes\E4kuu\00hein\E4kuu\00elokuu\00syyskuu\00lokakuu\00marraskuu\00joulukuu\00%a %e %B %Y %T\00tammi\C2\A0\00helmi\C2\A0\00huhti\C2\A0\00touko\C2\A0\00kes\C3\A4\C2\A0\C2\A0\00hein\C3\A4\C2\A0\00elo\C2\A0\C2\A0\C2\A0\00syys\C2\A0\C2\A0\00loka\C2\A0\C2\A0\00joulu\C2\A0\00kes\C3\A4kuu\00hein\C3\A4kuu\00sun\00m\E1n\00t\FDs\00mik\00h\F3s\00fr\ED\00ley\00sunnudagur\00m\E1nadagur\00t\FDsdagur\00mikudagur\00h\F3sdagur\00fr\EDggjadagur\00leygardagur\00mars\00apr\EDl\00desember\00%d/%m-%Y\00m\C3\A1n\00t\C3\BDs\00h\C3\B3s\00fr\C3\AD\00m\C3\A1nadagur\00t\C3\BDsdagur\00h\C3\B3sdagur\00fr\C3\ADggjadagur\00apr\C3\ADl\00jeu\00sam\00dimanche\00lundi\00mardi\00mercredi\00jeudi\00vendredi\00samedi\00f\E9v\00avr\00jui\00ao\FB\00d\E9c\00janvier\00f\E9vrier\00avril\00juin\00juillet\00ao\FBt\00septembre\00octobre\00d\E9cembre\00f\C3\A9v\00ao\C3\BB\00d\C3\A9c\00f\C3\A9vrier\00ao\C3\BBt\00d\C3\A9cembre\00%d. %m. %y\00Domh\00Luan\00M\E1irt\00C\E9ad\00D\E9ar\00Aoine\00Sath\00D\E9 Domhnaigh\00D\E9 Luain\00D\E9 M\E1irt\00D\E9 C\E9adaoin\00D\E9ardaoin\00D\E9 hAoine\00D\E9 Sathairn\00Ean\00Feabh\00M\E1rta\00Aib\00Beal\00Meith\00I\FAil\00L\FAn\00MF\F3mh\00DF\F3mh\00Samh\00Noll\00Ean\E1ir\00Feabhra\00Aibre\E1n\00M\ED na Bealtaine\00L\FAnasa\00Me\E1n F\F3mhair\00Deireadh F\F3mhair\00M\ED na Samhna\00M\ED na Nollag\00M\C3\A1irt\00C\C3\A9ad\00D\C3\A9ar\00D\C3\A9 Domhnaigh\00D\C3\A9 Luain\00D\C3\A9 M\C3\A1irt\00D\C3\A9 C\C3\A9adaoin\00D\C3\A9ardaoin\00D\C3\A9 hAoine\00D\C3\A9 Sathairn\00M\C3\A1rta\00I\C3\BAil\00L\C3\BAn\00MF\C3\B3mh\00DF\C3\B3mh\00Ean\C3\A1ir\00Aibre\C3\A1n\00M\C3\AD na Bealtaine\00L\C3\BAnasa\00Me\C3\A1n F\C3\B3mhair\00Deireadh F\C3\B3mhair\00M\C3\AD na Samhna\00M\C3\AD na Nollag\00Dido\00Dilu\00Dim\00Dic\00Diar\00Diha\00Disa\00Did\F2mhnaich\00Diluain\00Dim\E0irt\00Diciadain\00Diardaoin\00Dihaoine\00Disathairne\00Fao\00Gea\00M\E0r\00Gib\00Mh\E0\00OgM\00luc\00L\F9n\00Dam\00D\F9b\00Am Faoilteach\00An Gearran\00Am M\E0rt\00An Giblean\00A' Mh\E0igh\00An t-Mh\ECos\00An t-luchar\00An L\F9nasdal\00An t-Sultain\00An Damhair\00An t-Samhain\00An D\F9bhlachd\00Did\C3\B2mhnaich\00Dim\C3\A0irt\00M\C3\A0r\00Mh\C3\A0\00L\C3\B9n\00D\C3\B9b\00Am M\C3\A0rt\00A' Mh\C3\A0igh\00An t-Mh\C3\ACos\00An L\C3\B9nasdal\00An D\C3\B9bhlachd\00Dom\00Lun\00M\E9r\00Xov\00Ven\00S\E1b\00Domingo\00Luns\00Martes\00M\E9rcores\00Xoves\00Venres\00S\E1bado\00Xan\00Abr\00Xu\F1\00Xul\00Ago\00Set\00Out\00Xaneiro\00Febreiro\00Marzo\00Abril\00Maio\00Xu\F1o\00Xullo\00Agosto\00Setembro\00Outubro\00M\C3\A9r\00S\C3\A1b\00M\C3\A9rcores\00S\C3\A1bado\00Xu\C3\B1\00Xu\C3\B1o\00Jed\00Jel\00Jem\00Jerc\00Jerd\00Jeh\00Jes\00Jedoonee\00Jelhein\00Jemayrt\00Jercean\00Jerdein\00Jeheiney\00Jesarn\00J-guer\00T-arree\00Mayrnt\00Avrril\00Boaldyn\00M-souree\00J-souree\00Luanistyn\00M-fouyir\00J-fouyir\00M.Houney\00M.Nollick\00Jerrey-geuree\00Toshiaght-arree\00Averil\00Mean-souree\00Jerrey-souree\00Mean-fouyir\00Jerrey-fouyir\00Mee Houney\00Mee ny Nollick\00\E0'\00\E1'\00\E2'\00\E3'\00\E4'\00\E5'\00\F9'\00\F8\E0\F9\E5\EF\00\F9\F0\E9\00\F9\EC\E9\F9\E9\00\F8\E1\E9\F2\E9\00\E7\EE\E9\F9\E9\00\F9\E9\F9\E9\00\F9\E1\FA\00\E9\F0\E5\00\F4\E1\F8\00\EE\F8\F5\00\E0\F4\F8\00\EE\E0\E9\00\E9\E5\F0\00\E9\E5\EC\00\E0\E5\E2\00\F1\F4\E8\00\E0\E5\F7\00\F0\E5\E1\00\E3\F6\EE\00\E9\F0\E5\E0\F8\00\F4\E1\F8\E5\E0\F8\00\E0\F4\F8\E9\EC\00\E9\E5\F0\E9\00\E9\E5\EC\E9\00\E0\E5\E2\E5\F1\E8\00\F1\F4\E8\EE\E1\F8\00\E0\E5\F7\E8\E5\E1\F8\00\F0\E5\E1\EE\E1\F8\00\E3\F6\EE\E1\F8\00%Z %H:%M:%S %Y %b %d %a\00%I:%M:%S %P\00\D7\90'\00\D7\91'\00\D7\92'\00\D7\93'\00\D7\94'\00\D7\95'\00\D7\A9'\00\D7\A8\D7\90\D7\A9\D7\95\D7\9F\00\D7\A9\D7\A0\D7\99\00\D7\A9\D7\9C\D7\99\D7\A9\D7\99\00\D7\A8\D7\91\D7\99\D7\A2\D7\99\00\D7\97\D7\9E\D7\99\D7\A9\D7\99\00\D7\A9\D7\99\D7\A9\D7\99\00\D7\A9\D7\91\D7\AA\00\D7\99\D7\A0\D7\95\00\D7\A4\D7\91\D7\A8\00\D7\9E\D7\A8\D7\A5\00\D7\90\D7\A4\D7\A8\00\D7\9E\D7\90\D7\99\00\D7\99\D7\95\D7\A0\00\D7\99\D7\95\D7\9C\00\D7\90\D7\95\D7\92\00\D7\A1\D7\A4\D7\98\00\D7\90\D7\95\D7\A7\00\D7\A0\D7\95\D7\91\00\D7\93\D7\A6\D7\9E\00\D7\99\D7\A0\D7\95\D7\90\D7\A8\00\D7\A4\D7\91\D7\A8\D7\95\D7\90\D7\A8\00\D7\90\D7\A4\D7\A8\D7\99\D7\9C\00\D7\99\D7\95\D7\A0\D7\99\00\D7\99\D7\95\D7\9C\D7\99\00\D7\90\D7\95\D7\92\D7\95\D7\A1\D7\98\00\D7\A1\D7\A4\D7\98\D7\9E\D7\91\D7\A8\00\D7\90\D7\95\D7\A7\D7\98\D7\95\D7\91\D7\A8\00\D7\A0\D7\95\D7\91\D7\9E\D7\91\D7\A8\00\D7\93\D7\A6\D7\9E\D7\91\D7\A8\00\E0\A4\B0\E0\A4\B5\E0\A4\BF \00\E0\A4\B8\E0\A5\8B\E0\A4\AE \00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B2 \00\E0\A4\AC\E0\A5\81\E0\A4\A7 \00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81 \00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0 \00\E0\A4\B6\E0\A4\A8\E0\A4\BF \00\E0\A4\B0\E0\A4\B5\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\B8\E0\A5\8B\E0\A4\AE\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B2\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\AC\E0\A5\81\E0\A4\A7\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\B6\E0\A4\A8\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\9C\E0\A4\A8\E0\A4\B5\E0\A4\B0\E0\A5\80\00\E0\A4\AB\E0\A4\BC\E0\A4\B0\E0\A4\B5\E0\A4\B0\E0\A5\80\00\E0\A4\AE\E0\A4\BE\E0\A4\B0\E0\A5\8D\E0\A4\9A\00\E0\A4\85\E0\A4\AA\E0\A5\8D\E0\A4\B0\E0\A5\87\E0\A4\B2\00\E0\A4\AE\E0\A4\88\00\E0\A4\9C\E0\A5\82\E0\A4\A8\00\E0\A4\9C\E0\A5\81\E0\A4\B2\E0\A4\BE\E0\A4\88\00\E0\A4\85\E0\A4\97\E0\A4\B8\E0\A5\8D\E0\A4\A4\00\E0\A4\B8\E0\A4\BF\E0\A4\A4\E0\A4\AE\E0\A5\8D\E0\A4\AC\E0\A4\B0\00\E0\A4\85\E0\A4\95\E0\A5\8D\E0\A4\9F\E0\A5\82\E0\A4\AC\E0\A4\B0\00\E0\A4\A8\E0\A4\B5\E0\A4\AE\E0\A5\8D\E0\A4\AC\E0\A4\B0\00\E0\A4\A6\E0\A4\BF\E0\A4\B8\E0\A4\AE\E0\A5\8D\E0\A4\AC\E0\A4\B0\00\E0\A4\AA\E0\A5\82\E0\A4\B0\E0\A5\8D\E0\A4\B5\E0\A4\BE\E0\A4\B9\E0\A5\8D\E0\A4\A8\00\E0\A4\85\E0\A4\AA\E0\A4\B0\E0\A4\BE\E0\A4\B9\E0\A5\8D\E0\A4\A8\00Sij\00Vel\00O\BEu\00Tra\00Svi\00Lip\00Srp\00Kol\00Ruj\00Lis\00Stu\00Pro\00Sije\E8anj\00Velja\E8a\00O\BEujak\00Travanj\00Svibanj\00Lipanj\00Srpanj\00Kolovoz\00Rujan\00Listopad\00Studeni\00Prosinac\00O\C5\BEu\00Sije\C4\8Danj\00Velja\C4\8Da\00O\C5\BEujak\00v\00h\00k\00sze\00cs\00p\00szo\00vas\E1rnap\00h\E9tf\F5\00kedd\00szerda\00cs\FCt\F6rt\F6k\00p\E9ntek\00szombat\00m\E1r\00\E1pr\00m\E1j\00j\FAn\00j\FAl\00janu\E1r\00febru\E1r\00m\E1rcius\00\E1prilis\00m\E1jus\00j\FAnius\00j\FAlius\00augusztus\00szeptember\00okt\F3ber\00%Y. %b. %e., %A, %H.%M.%S %Z\00%H.%M.%S\00vas\C3\A1rnap\00h\C3\A9tf\C5\91\00cs\C3\BCt\C3\B6rt\C3\B6k\00p\C3\A9ntek\00m\C3\A1r\00\C3\A1pr\00m\C3\A1j\00j\C3\BAn\00j\C3\BAl\00janu\C3\A1r\00febru\C3\A1r\00m\C3\A1rcius\00\C3\A1prilis\00m\C3\A1jus\00j\C3\BAnius\00j\C3\BAlius\00okt\C3\B3ber\00\CE\F1\CF\00\BA\F1\CF\00\BA\F1\F9\00\E2\F1\F9\00\D0\DD\B7\00\E0\F5\F1\00\DE\B5\C3\00\CE\C7\F1\B3\CF\C7\00\BA\F1\CF\E1\F5\DF\B3\B5\C3\C7\00\BA\F1\BB\F9\DF\B3\B5\C3\C7\00\E2\E1\F1\BB\F9\DF\B3\B5\C3\C7\00\D0\C7\DD\B7\DF\B3\B5\C3\C7\00\E0\F5\F1\B5\B3\C3\00\DE\B3\B5\B3\C3\00\D0\DD\ED\00\F6\EF\F1\00\D8\B3\F1\00\B2\E5\F1\00\D8\B3\DB\00\D0\DD\EB\00\D0\C9\EB\00\FA\B7\EB\00\EA\BB\E5\00\D0\E1\CF\00\DC\D9\B5\00\B8\BB\CF\00\D0\E1\F5\DD\ED\B3\F1\C7\00\F6\BB\EF\F1\ED\B3\F1\C7\00\D8\B3\F1\EF\C7\00\B2\E5\F1\C7\C9\C7\00\D8\B3\DB\C7\EB\C7\00\D0\E1\F5\DD\C7\EB\C7\00\D0\E1\F5\C9\C7\EB\C7\00\FA\B7\E1\EB\EF\E1\EB\C7\00\EA\BB\E5\EF\BB\D9\B5\BB\F1\C7\00\D0\E1\CF\EF\BB\D9\B5\BB\F1\C7\00\DC\E1\DB\BB\D9\B5\BB\F1\C7\00\B8\BB\CF\EF\BB\D9\B5\BB\F1\C7\00\D4\BF\D6\80\D5\AF\00\D4\B5\D6\80\D5\AF\00\D4\B5\D6\80\D6\84\00\D5\89\D6\80\D6\84\00\D5\80\D5\B6\D5\A3\00\D5\88\D6\82\D6\80\00\D5\87\D5\A2\D5\A9\00\D4\BF\D5\AB\D6\80\D5\A1\D5\AF\D5\AB\00\D4\B5\D6\80\D5\AF\D5\B8\D6\82\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D4\B5\D6\80\D5\A5\D6\84\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D5\89\D5\B8\D6\80\D5\A5\D6\84\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D5\80\D5\AB\D5\B6\D5\A3\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D5\88\D6\82\D6\80\D5\A2\D5\A1\D5\A9\00\D5\87\D5\A1\D5\A2\D5\A1\D5\A9\00\D5\80\D5\B6\D5\BE\00\D5\93\D5\BF\D6\80\00\D5\84\D5\A1\D6\80\00\D4\B1\D5\BA\D6\80\00\D5\84\D5\A1\D5\B5\00\D5\80\D5\B6\D5\BD\00\D5\80\D5\AC\D5\BD\00\D5\95\D5\A3\D5\BD\00\D5\8D\D5\A5\D5\BA\00\D5\80\D5\B8\D5\AF\00\D5\86\D5\B4\D5\A2\00\D4\B4\D5\A5\D5\AF\00\D5\80\D5\B8\D6\82\D5\B6\D5\BE\D5\A1\D6\80\D5\AB\00\D5\93\D5\A5\D5\BF\D6\80\D5\BE\D5\A1\D6\80\D5\AB\00\D5\84\D5\A1\D6\80\D5\BF\D5\AB\00\D4\B1\D5\BA\D6\80\D5\AB\D5\AC\D5\AB\00\D5\84\D5\A1\D5\B5\D5\AB\D5\BD\D5\AB\00\D5\80\D5\B8\D6\82\D5\B6\D5\AB\D5\BD\D5\AB\00\D5\80\D5\B8\D6\82\D5\AC\D5\AB\D5\BD\D5\AB\00\D5\95\D5\A3\D5\B8\D5\BD\D5\BF\D5\B8\D5\BD\D5\AB\00\D5\8D\D5\A5\D5\BA\D5\BF\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00\D5\80\D5\B8\D5\AF\D5\BF\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00\D5\86\D5\B8\D5\B5\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00\D4\B4\D5\A5\D5\AF\D5\BF\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00Min\00Sel\00Rab\00Kam\00Jum\00Sab\00Minggu\00Senin\00Selasa\00Rabu\00Kamis\00Jumat\00Sabtu\00Peb\00Agu\00Januari\00Pebruari\00Maret\00Agustus\00M\E1n\00\DEri\00Mi\F0\00Fim\00F\F6s\00Lau\00Sunnudagur\00M\E1nudagur\00\DEri\F0judagur\00Mi\F0vikudagur\00Fimmtudagur\00F\F6studagur\00Laugardagur\00Ma\ED\00J\FAn\00J\FAl\00\C1g\FA\00N\F3v\00Jan\FAar\00Febr\FAar\00Mars\00Apr\EDl\00J\FAn\ED\00J\FAl\ED\00\C1g\FAst\00Okt\F3ber\00N\F3vember\00fh\00eh\00%a %e.%b %Y, %T %Z\00%a %e.%b %Y\00M\C3\A1n\00\C3\9Eri\00Mi\C3\B0\00F\C3\B6s\00M\C3\A1nudagur\00\C3\9Eri\C3\B0judagur\00Mi\C3\B0vikudagur\00F\C3\B6studagur\00Ma\C3\AD\00J\C3\BAn\00J\C3\BAl\00\C3\81g\C3\BA\00N\C3\B3v\00Jan\C3\BAar\00Febr\C3\BAar\00Apr\C3\ADl\00J\C3\BAn\C3\AD\00J\C3\BAl\C3\AD\00\C3\81g\C3\BAst\00Okt\C3\B3ber\00N\C3\B3vember\00gio\00domenica\00luned\EC\00marted\EC\00mercoled\EC\00gioved\EC\00venerd\EC\00mag\00giu\00lug\00ott\00gennaio\00febbraio\00aprile\00maggio\00giugno\00luglio\00settembre\00ottobre\00dicembre\00luned\C3\AC\00marted\C3\AC\00mercoled\C3\AC\00gioved\C3\AC\00venerd\C3\AC\00\E6\97\A5\00\E6\9C\88\00\E7\81\AB\00\E6\B0\B4\00\E6\9C\A8\00\E9\87\91\00\E5\9C\9F\00\E6\97\A5\E6\9B\9C\E6\97\A5\00\E6\9C\88\E6\9B\9C\E6\97\A5\00\E7\81\AB\E6\9B\9C\E6\97\A5\00\E6\B0\B4\E6\9B\9C\E6\97\A5\00\E6\9C\A8\E6\9B\9C\E6\97\A5\00\E9\87\91\E6\9B\9C\E6\97\A5\00\E5\9C\9F\E6\9B\9C\E6\97\A5\00 1\E6\9C\88\00 2\E6\9C\88\00 3\E6\9C\88\00 4\E6\9C\88\00 5\E6\9C\88\00 6\E6\9C\88\00 7\E6\9C\88\00 8\E6\9C\88\00 9\E6\9C\88\0010\E6\9C\88\0011\E6\9C\88\0012\E6\9C\88\001\E6\9C\88\002\E6\9C\88\003\E6\9C\88\004\E6\9C\88\005\E6\9C\88\006\E6\9C\88\007\E6\9C\88\008\E6\9C\88\009\E6\9C\88\00\E5\8D\88\E5\89\8D\00\E5\8D\88\E5\BE\8C\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %H\E6\99\82%M\E5\88\86%S\E7\A7\92\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5\00%H\E6\99\82%M\E5\88\86%S\E7\A7\92\00%p%I\E6\99\82%M\E5\88\86%S\E7\A7\92\00+:2:1990/01/01:+*:\E5\B9\B3\E6\88\90:%EC%Ey\E5\B9\B4\00+:1:1989/01/08:1989/12/31:\E5\B9\B3\E6\88\90:%EC\E5\85\83\E5\B9\B4\00+:2:1927/01/01:1989/01/07:\E6\98\AD\E5\92\8C:%EC%Ey\E5\B9\B4\00+:1:1926/12/25:1926/12/31:\E6\98\AD\E5\92\8C:%EC\E5\85\83\E5\B9\B4\00+:2:1913/01/01:1926/12/24:\E5\A4\A7\E6\AD\A3:%EC%Ey\E5\B9\B4\00+:2:1912/07/30:1912/12/31:\E5\A4\A7\E6\AD\A3:%EC\E5\85\83\E5\B9\B4\00+:6:1873/01/01:1912/07/29:\E6\98\8E\E6\B2\BB:%EC%Ey\E5\B9\B4\00+:1:0001/01/01:1872/12/31:\E8\A5\BF\E6\9A\A6:%EC%Ey\E5\B9\B4\00+:1:-0001/12/31:-*:\E7\B4\80\E5\85\83\E5\89\8D:%EC%Ey\E5\B9\B4\00\00%EY%m\E6\9C\88%d\E6\97\A5\00\E3\80\87\00\E4\B8\80\00\E4\BA\8C\00\E4\B8\89\00\E5\9B\9B\00\E4\BA\94\00\E5\85\AD\00\E4\B8\83\00\E5\85\AB\00\E4\B9\9D\00\E5\8D\81\00\E5\8D\81\E4\B8\80\00\E5\8D\81\E4\BA\8C\00\E5\8D\81\E4\B8\89\00\E5\8D\81\E5\9B\9B\00\E5\8D\81\E4\BA\94\00\E5\8D\81\E5\85\AD\00\E5\8D\81\E4\B8\83\00\E5\8D\81\E5\85\AB\00\E5\8D\81\E4\B9\9D\00\E4\BA\8C\E5\8D\81\00\E4\BA\8C\E5\8D\81\E4\B8\80\00\E4\BA\8C\E5\8D\81\E4\BA\8C\00\E4\BA\8C\E5\8D\81\E4\B8\89\00\E4\BA\8C\E5\8D\81\E5\9B\9B\00\E4\BA\8C\E5\8D\81\E4\BA\94\00\E4\BA\8C\E5\8D\81\E5\85\AD\00\E4\BA\8C\E5\8D\81\E4\B8\83\00\E4\BA\8C\E5\8D\81\E5\85\AB\00\E4\BA\8C\E5\8D\81\E4\B9\9D\00\E4\B8\89\E5\8D\81\00\E4\B8\89\E5\8D\81\E4\B8\80\00\E4\B8\89\E5\8D\81\E4\BA\8C\00\E4\B8\89\E5\8D\81\E4\B8\89\00\E4\B8\89\E5\8D\81\E5\9B\9B\00\E4\B8\89\E5\8D\81\E4\BA\94\00\E4\B8\89\E5\8D\81\E5\85\AD\00\E4\B8\89\E5\8D\81\E4\B8\83\00\E4\B8\89\E5\8D\81\E5\85\AB\00\E4\B8\89\E5\8D\81\E4\B9\9D\00\E5\9B\9B\E5\8D\81\00\E5\9B\9B\E5\8D\81\E4\B8\80\00\E5\9B\9B\E5\8D\81\E4\BA\8C\00\E5\9B\9B\E5\8D\81\E4\B8\89\00\E5\9B\9B\E5\8D\81\E5\9B\9B\00\E5\9B\9B\E5\8D\81\E4\BA\94\00\E5\9B\9B\E5\8D\81\E5\85\AD\00\E5\9B\9B\E5\8D\81\E4\B8\83\00\E5\9B\9B\E5\8D\81\E5\85\AB\00\E5\9B\9B\E5\8D\81\E4\B9\9D\00\E4\BA\94\E5\8D\81\00\E4\BA\94\E5\8D\81\E4\B8\80\00\E4\BA\94\E5\8D\81\E4\BA\8C\00\E4\BA\94\E5\8D\81\E4\B8\89\00\E4\BA\94\E5\8D\81\E5\9B\9B\00\E4\BA\94\E5\8D\81\E4\BA\94\00\E4\BA\94\E5\8D\81\E5\85\AD\00\E4\BA\94\E5\8D\81\E4\B8\83\00\E4\BA\94\E5\8D\81\E5\85\AB\00\E4\BA\94\E5\8D\81\E4\B9\9D\00\E5\85\AD\E5\8D\81\00\E5\85\AD\E5\8D\81\E4\B8\80\00\E5\85\AD\E5\8D\81\E4\BA\8C\00\E5\85\AD\E5\8D\81\E4\B8\89\00\E5\85\AD\E5\8D\81\E5\9B\9B\00\E5\85\AD\E5\8D\81\E4\BA\94\00\E5\85\AD\E5\8D\81\E5\85\AD\00\E5\85\AD\E5\8D\81\E4\B8\83\00\E5\85\AD\E5\8D\81\E5\85\AB\00\E5\85\AD\E5\8D\81\E4\B9\9D\00\E4\B8\83\E5\8D\81\00\E4\B8\83\E5\8D\81\E4\B8\80\00\E4\B8\83\E5\8D\81\E4\BA\8C\00\E4\B8\83\E5\8D\81\E4\B8\89\00\E4\B8\83\E5\8D\81\E5\9B\9B\00\E4\B8\83\E5\8D\81\E4\BA\94\00\E4\B8\83\E5\8D\81\E5\85\AD\00\E4\B8\83\E5\8D\81\E4\B8\83\00\E4\B8\83\E5\8D\81\E5\85\AB\00\E4\B8\83\E5\8D\81\E4\B9\9D\00\E5\85\AB\E5\8D\81\00\E5\85\AB\E5\8D\81\E4\B8\80\00\E5\85\AB\E5\8D\81\E4\BA\8C\00\E5\85\AB\E5\8D\81\E4\B8\89\00\E5\85\AB\E5\8D\81\E5\9B\9B\00\E5\85\AB\E5\8D\81\E4\BA\94\00\E5\85\AB\E5\8D\81\E5\85\AD\00\E5\85\AB\E5\8D\81\E4\B8\83\00\E5\85\AB\E5\8D\81\E5\85\AB\00\E5\85\AB\E5\8D\81\E4\B9\9D\00\E4\B9\9D\E5\8D\81\00\E4\B9\9D\E5\8D\81\E4\B8\80\00\E4\B9\9D\E5\8D\81\E4\BA\8C\00\E4\B9\9D\E5\8D\81\E4\B8\89\00\E4\B9\9D\E5\8D\81\E5\9B\9B\00\E4\B9\9D\E5\8D\81\E4\BA\94\00\E4\B9\9D\E5\8D\81\E5\85\AD\00\E4\B9\9D\E5\8D\81\E4\B8\83\00\E4\B9\9D\E5\8D\81\E5\85\AB\00\E4\B9\9D\E5\8D\81\E4\B9\9D\00%EY%m\E6\9C\88%d\E6\97\A5 %H\E6\99\82%M\E5\88\86%S\E7\A7\92\00\CA\C5\C9\00\CF\D2\DB\00\D3\C0\CC\00\CF\C8\E1\00\E1\D6\C8\00\D0\C0\D2\00\DB\C0\C1\00\CA\C5\C9\D2\C0\00\CF\D2\DB\C0\C1\C0\C8\C9\00\D3\C0\CC\DB\C0\C1\C0\C8\C9\00\CF\C8\E1\DB\C0\C1\C0\C8\C9\00\E1\D6\C8\DB\C0\C1\C0\C8\C9\00\D0\C0\D2\C0\D3\CA\C4\C5\C9\00\DB\C0\C1\C0\C8\C9\00\C9\C0\CD\00\C8\C4\C1\00\CC\C0\D2\00\C0\D0\D2\00\CC\C0\C9\00\C9\C5\CD\00\C9\C5\CB\00\C0\C2\C5\00\D3\C4\D8\00\CF\D8\D4\00\CD\CF\C4\00\C3\C4\CA\00\C9\C0\CD\C5\C0\D2\C9\00\C8\C4\C1\C4\D2\C5\C0\CB\C9\00\CC\C0\D2\D4\C9\00\C0\D0\D2\C9\CB\C9\00\CC\C0\C9\D3\C9\00\C9\C5\CD\C9\D3\C9\00\C9\C5\CB\C9\D3\C9\00\C0\C2\C5\C9\D3\D4\CF\00\D3\C4\D8\D4\C4\CC\C1\C4\D2\C9\00\CF\D8\D4\CF\CC\C1\C4\D2\C9\00\CD\CF\C4\CC\C1\C4\D2\C9\00\C3\C4\CA\C4\CC\C1\C4\D2\C9\00%Y \DF\CB\C9\D3 %d %B, %T %Z\00\E1\83\99\E1\83\95\E1\83\98\00\E1\83\9D\E1\83\A0\E1\83\A8\00\E1\83\A1\E1\83\90\E1\83\9B\00\E1\83\9D\E1\83\97\E1\83\AE\00\E1\83\AE\E1\83\A3\E1\83\97\00\E1\83\9E\E1\83\90\E1\83\A0\00\E1\83\A8\E1\83\90\E1\83\91\00\E1\83\99\E1\83\95\E1\83\98\E1\83\A0\E1\83\90\00\E1\83\9D\E1\83\A0\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\A1\E1\83\90\E1\83\9B\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\9D\E1\83\97\E1\83\AE\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\AE\E1\83\A3\E1\83\97\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\9E\E1\83\90\E1\83\A0\E1\83\90\E1\83\A1\E1\83\99\E1\83\94\E1\83\95\E1\83\98\00\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\98\E1\83\90\E1\83\9C\00\E1\83\97\E1\83\94\E1\83\91\00\E1\83\9B\E1\83\90\E1\83\A0\00\E1\83\90\E1\83\9E\E1\83\A0\00\E1\83\9B\E1\83\90\E1\83\98\00\E1\83\98\E1\83\95\E1\83\9C\00\E1\83\98\E1\83\95\E1\83\9A\00\E1\83\90\E1\83\92\E1\83\95\00\E1\83\A1\E1\83\94\E1\83\A5\00\E1\83\9D\E1\83\A5\E1\83\A2\00\E1\83\9C\E1\83\9D\E1\83\94\00\E1\83\93\E1\83\94\E1\83\99\00\E1\83\98\E1\83\90\E1\83\9C\E1\83\95\E1\83\90\E1\83\A0\E1\83\98\00\E1\83\97\E1\83\94\E1\83\91\E1\83\94\E1\83\A0\E1\83\95\E1\83\90\E1\83\9A\E1\83\98\00\E1\83\9B\E1\83\90\E1\83\A0\E1\83\A2\E1\83\98\00\E1\83\90\E1\83\9E\E1\83\A0\E1\83\98\E1\83\9A\E1\83\98\00\E1\83\9B\E1\83\90\E1\83\98\E1\83\A1\E1\83\98\00\E1\83\98\E1\83\95\E1\83\9C\E1\83\98\E1\83\A1\E1\83\98\00\E1\83\98\E1\83\95\E1\83\9A\E1\83\98\E1\83\A1\E1\83\98\00\E1\83\90\E1\83\92\E1\83\95\E1\83\98\E1\83\A1\E1\83\A2\E1\83\9D\00\E1\83\A1\E1\83\94\E1\83\A5\E1\83\A2\E1\83\94\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00\E1\83\9D\E1\83\A5\E1\83\A2\E1\83\9D\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00\E1\83\9C\E1\83\9D\E1\83\94\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00\E1\83\93\E1\83\94\E1\83\99\E1\83\94\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00%Y \E1\83\AC\E1\83\9A\E1\83\98\E1\83\A1 %d %B, %T %Z\00ata\00pin\00sis\00tal\00arf\00sabaat\00ataasinngorneq\00marlunngorneq\00pingasunngorneq\00sisamanngorneq\00tallimanngorneq\00arfininngorneq\00januari\00februari\00martsi\00aprili\00maji\00augustusi\00septemberi\00oktoberi\00novemberi\00decemberi\00%d %b %Y\00\EC\9D\BC\00\EC\9B\94\00\ED\99\94\00\EC\88\98\00\EB\AA\A9\00\EA\B8\88\00\ED\86\A0\00\EC\9D\BC\EC\9A\94\EC\9D\BC\00\EC\9B\94\EC\9A\94\EC\9D\BC\00\ED\99\94\EC\9A\94\EC\9D\BC\00\EC\88\98\EC\9A\94\EC\9D\BC\00\EB\AA\A9\EC\9A\94\EC\9D\BC\00\EA\B8\88\EC\9A\94\EC\9D\BC\00\ED\86\A0\EC\9A\94\EC\9D\BC\00 1\EC\9B\94\00 2\EC\9B\94\00 3\EC\9B\94\00 4\EC\9B\94\00 5\EC\9B\94\00 6\EC\9B\94\00 7\EC\9B\94\00 8\EC\9B\94\00 9\EC\9B\94\0010\EC\9B\94\0011\EC\9B\94\0012\EC\9B\94\00\EC\9D\BC\EC\9B\94\00\EC\9D\B4\EC\9B\94\00\EC\82\BC\EC\9B\94\00\EC\82\AC\EC\9B\94\00\EC\98\A4\EC\9B\94\00\EC\9C\A0\EC\9B\94\00\EC\B9\A0\EC\9B\94\00\ED\8C\94\EC\9B\94\00\EA\B5\AC\EC\9B\94\00\EC\8B\9C\EC\9B\94\00\EC\8B\AD\EC\9D\BC\EC\9B\94\00\EC\8B\AD\EC\9D\B4\EC\9B\94\00\EC\98\A4\EC\A0\84\00\EC\98\A4\ED\9B\84\00%x (%a) %r\00%Y\EB\85\84 %m\EC\9B\94 %d\EC\9D\BC\00%H\EC\8B\9C %M\EB\B6\84 %S\EC\B4\88\00%p %I\EC\8B\9C %M\EB\B6\84 %S\EC\B4\88\00Mth\00Mhr\00Yow\00De Sul\00De Lun\00De Merth\00De Merher\00De Yow\00De Gwener\00De Sadorn\00Gen\00Whe>\00Me\00Evn\00Est\00Gwn\00Hed\00Kev\00Mys Genver\00Mys Whevrel\00Mys Merth\00Mys Ebrel\00Mys Me\00Mys Evan\00Mys Gortheren\00Mye Est\00Mys Gwyngala\00Mys Hedra\00Mys Du\00Mys Kevardhu\00Sk\00Pr\00An\00Tr\00Kt\00Pn\00\D0t\00Sekmadienis\00Pirmadienis\00Antradienis\00Tre\E8iadienis\00Ketvirtadienis\00Penktadienis\00\D0e\F0tadienis\00Sau\00Vas\00Kov\00Bal\00Geg\00Bir\00Lie\00Rgp\00Rgs\00Spa\00Lap\00Grd\00sausio\00vasario\00kovo\00baland\FEio\00gegu\FE\EBs\00bir\FEelio\00liepos\00rugpj\FB\E8io\00rugs\EBjo\00spalio\00lapkri\E8io\00gruod\FEio\00%Y m. %B %d d. %T\00%Y.%m.%d\00\C5\A0t\00Tre\C4\8Diadienis\00\C5\A0e\C5\A1tadienis\00baland\C5\BEio\00gegu\C5\BE\C4\97s\00bir\C5\BEelio\00rugpj\C5\AB\C4\8Dio\00rugs\C4\97jo\00lapkri\C4\8Dio\00gruod\C5\BEio\00Sv\00P\A0\00O\A0\00T\A0\00C\A0\00Pk\00S\A0\00sv\E7tdiena\00pirmdiena\00otrdiena\00tre\F0diena\00ceturtdiena\00piektdiena\00sestdiena\00j\FBn\00j\FBl\00janv\E2ris\00febru\E2ris\00apr\EElis\00maijs\00j\FBnijs\00j\FBlijs\00augusts\00septembris\00oktobris\00novembris\00decembris\00%A, %Y. gada %e. %B, plkst. %H un %M\00%Y.%m.%d.\00P\C2\A0\00O\C2\A0\00T\C2\A0\00C\C2\A0\00S\C2\A0\00sv\C4\93tdiena\00tre\C5\A1diena\00j\C5\ABn\00j\C5\ABl\00janv\C4\81ris\00febru\C4\81ris\00apr\C4\ABlis\00j\C5\ABnijs\00j\C5\ABlijs\00Ta\00T\FB\00We\00T\E2i\00Pa\00H\E2\00R\E2tapu\00Mane\00T\FBrei\00Wenerei\00T\E2ite\00Paraire\00H\E2tarei\00Kohi\00Hui\00Pou\00Pae\00Hara\00Pipi\00H\F4ngoi\00Mahu\00Whi-nu\00Whi-ra\00Haki\00Kohi-t\E2tea\00Hui-tanguru\00Pout\FB-te-rangi\00Paenga-wh\E2wh\E2\00Haratua\00Pipiri\00H\F4ngoingoi\00Here-turi-k\F4k\E2\00Mahuru\00Whiringa-\E2-nuku\00Whiringa-\E2-rangi\00Hakihea\00Te %A, te %d o %B, %Y %T %Z\00T\C5\AB\00T\C4\81i\00H\C4\81\00R\C4\81tapu\00T\C5\ABrei\00T\C4\81ite\00H\C4\81tarei\00H\C5\8Dngoi\00Kohi-t\C4\81tea\00Pout\C5\AB-te-rangi\00Paenga-wh\C4\81wh\C4\81\00H\C5\8Dngoingoi\00Here-turi-k\C5\8Dk\C4\81\00Whiringa-\C4\81-nuku\00Whiringa-\C4\81-rangi\00\DD\D5\D4\00\DF\DE\DD\00\D2\E2\DE\00\E1\E0\D5\00\E7\D5\E2\00\DF\D5\E2\00\E1\D0\D1\00\DD\D5\D4\D5\DB\D0\00\DF\DE\DD\D5\D4\D5\DB\DD\D8\DA\00\D2\E2\DE\E0\DD\D8\DA\00\E1\E0\D5\D4\D0\00\E7\D5\E2\D2\E0\E2\DE\DA\00\DF\D5\E2\DE\DA\00\E1\D0\D1\DE\E2\D0\00\F8\D0\DD\00\E4\D5\D2\00\DC\D0\E0\00\D0\DF\E0\00\DC\D0\F8\00\F8\E3\DD\00\F8\E3\DB\00\D0\D2\D3\00\E1\D5\DF\00\DE\DA\E2\00\DD\DE\D5\00\D4\D5\DA\00\F8\D0\DD\E3\D0\E0\D8\00\E4\D5\D2\E0\E3\D0\E0\D8\00\DC\D0\E0\E2\00\D0\DF\E0\D8\DB\00\F8\E3\DD\D8\00\F8\E3\DB\D8\00\D0\D2\D3\E3\E1\E2\00\E1\D5\DF\E2\D5\DC\D2\E0\D8\00\DE\DA\E2\DE\DC\D2\E0\D8\00\DD\DE\D5\DC\D2\E0\D8\00\D4\D5\DA\D5\DC\D2\E0\D8\00%a, %d %b %Y %T %Z\00\D0\BD\D0\B5\D0\B4\00\D0\BF\D0\BE\D0\BD\00\D0\B2\D1\82\D0\BE\00\D1\81\D1\80\D0\B5\00\D1\87\D0\B5\D1\82\00\D0\BF\D0\B5\D1\82\00\D1\81\D0\B0\D0\B1\00\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D0\B0\00\D1\81\D1\80\D0\B5\D0\B4\D0\B0\00\D1\87\D0\B5\D1\82\D0\B2\D1\80\D1\82\D0\BE\D0\BA\00\D0\BF\D0\B5\D1\82\D0\BE\D0\BA\00\D1\81\D0\B0\D0\B1\D0\BE\D1\82\D0\B0\00\D1\98\D0\B0\D0\BD\00\D0\BC\D0\B0\D1\98\00\D1\98\D1\83\D0\BD\00\D1\98\D1\83\D0\BB\00\D1\98\D0\B0\D0\BD\D1\83\D0\B0\D1\80\D0\B8\00\D1\98\D1\83\D0\BD\D0\B8\00\D1\98\D1\83\D0\BB\D0\B8\00\E0\A4\B0\E0\A4\B5\E0\A4\BF\00\E0\A4\B8\E0\A5\8B\E0\A4\AE\00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B3\00\E0\A4\AC\E0\A5\81\E0\A4\A7\00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81\00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0\00\E0\A4\B6\E0\A4\A8\E0\A4\BF\00\E0\A4\B0\E0\A4\B5\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\B8\E0\A5\8B\E0\A4\AE\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B3\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\B6\E0\A4\A8\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\9C\E0\A4\BE\E0\A4\A8\E0\A5\87\E0\A4\B5\E0\A4\BE\E0\A4\B0\E0\A5\80\00\E0\A4\AB\E0\A5\87\E0\A4\AC\E0\A5\83\E0\A4\B5\E0\A4\BE\E0\A4\B0\E0\A5\80\00\E0\A4\8F\E0\A4\AA\E0\A5\8D\E0\A4\B0\E0\A4\BF\E0\A4\B2\00\E0\A4\AE\E0\A5\87\00\E0\A4\9C\E0\A5\81\E0\A4\B2\E0\A5\88\00\E0\A4\93\E0\A4\97\E0\A4\B8\E0\A5\8D\E0\A4\9F\00\E0\A4\B8\E0\A5\87\E0\A4\AA\E0\A5\8D\E0\A4\9F\E0\A5\87\E0\A4\82\E0\A4\AC\E0\A4\B0\00\E0\A4\93\E0\A4\95\E0\A5\8D\E0\A4\9F\E0\A5\8B\E0\A4\AC\E0\A4\B0\00\E0\A4\A8\E0\A5\8B\E0\A4\B5\E0\A5\8D\E0\A4\B9\E0\A5\87\E0\A4\82\E0\A4\AC\E0\A4\B0\00\E0\A4\A1\E0\A4\BF\E0\A4\B8\E0\A5\87\E0\A4\82\E0\A4\AC\E0\A4\B0\00\E0\A4\AE.\E0\A4\AA\E0\A5\82.\00\E0\A4\AE.\E0\A4\A8\E0\A4\82.\00Ahd\00Isn\00Kha\00Ahad\00Isnin\00Khamis\00Jumaat\00Mac\00Ogos\00Dis\00Februari\00Julai\00Disember\00\A1ad\00Tne\00Tli\00Erb\00\A1am\00\D5im\00Sib\00il-\A1add\00it-Tnejn\00it-Tlieta\00l-Erbg\B1a\00il-\A1amis\00il-\D5img\B1a\00is-Sibt\00Fra\00Mej\00\D5un\00Lul\00Awi\00Ott\00Di\E5\00Jannar\00Frar\00Marzu\00Mejju\00\D5unju\00Lulju\00Awissu\00Settembru\00Ottubru\00Novembru\00Di\E5embru \00%A, %d ta %b, %Y %I:%M:%S %p %Z\00%A, %d ta %b, %Y\00\C4\A6ad\00\C4\A6am\00\C4\A0im\00il-\C4\A6add\00l-Erbg\C4\A7a\00il-\C4\A6amis\00il-\C4\A0img\C4\A7a\00\C4\A0un\00Di\C4\8B\00\C4\A0unju\00Di\C4\8Bembru \00zo\00di\00wo\00do\00vr\00za\00zondag\00maandag\00dinsdag\00woensdag\00donderdag\00vrijdag\00zaterdag\00mrt\00mei\00maart\00augustus\00%d-%m-%y\00su \00m\E5 \00ty \00on \00to \00fr \00lau \00sundag \00m\E5ndag \00tysdag \00onsdag \00torsdag \00fredag \00laurdag \00%d. %b %Y kl %H.%M %Z\00%d. %b %Y\00kl %H.%M %Z\00m\C3\A5 \00m\C3\A5ndag \00%a %d-%m-%Y %T %Z\00mec\00j\F3u\00dimenge\00diluns\00dimars\00dij\F3us\00disabte\00ag\F3\00geni\E8r\00febri\E8r\00abrial\00junh\00julhet\00ag\F3st\00decembre\00j\C3\B3u\00dij\C3\B3us\00ag\C3\B3\00geni\C3\A8r\00febri\C3\A8r\00ag\C3\B3st\00nie\00pon\00wto\00\B6ro\00czw\00pi\B1\00sob\00niedziela\00poniedzia\B3ek\00wtorek\00\B6roda\00czwartek\00pi\B1tek\00sobota\00sty\00lut\00kwi\00cze\00lip\00sie\00wrz\00pa\BC\00gru\00stycze\F1\00luty\00marzec\00kwiecie\F1\00czerwiec\00lipiec\00sierpie\F1\00wrzesie\F1\00pa\BCdziernik\00grudzie\F1\00\C5\9Bro\00pi\C4\85\00poniedzia\C5\82ek\00\C5\9Broda\00pi\C4\85tek\00pa\C5\BA\00stycze\C5\84\00kwiecie\C5\84\00sierpie\C5\84\00wrzesie\C5\84\00pa\C5\BAdziernik\00grudzie\C5\84\00Seg\00Ter\00Qua\00Qui\00Sex\00segunda\00ter\E7a\00quarta\00quinta\00sexta\00janeiro\00fevereiro\00mar\E7o\00maio\00junho\00julho\00setembro\00outubro\00novembro\00dezembro\00ter\C3\A7a\00mar\C3\A7o\00Segunda\00Ter\E7a\00Quarta\00Quinta\00Sexta\00Janeiro\00Fevereiro\00Mar\E7o\00Junho\00Julho\00Dezembro\00Ter\C3\A7a\00Mar\C3\A7o\00Lu\00Mi\00Jo\00Vi\00S\EE\00Duminic\C3\00Luni\00Mar\FEi\00Miercuri\00Joi\00Vineri\00S\EEmb\C3t\C3\00ian\00iun\00iul\00Ianuarie\00Martie\00Aprilie\00Iunie\00Iulie\00Septembrie\00Octombrie\00Noiembrie\00Decembrie\00S\C3\AE\00Duminic\C4\82\00Mar\C5\A3i\00S\C3\AEmb\C4\82t\C4\82\00\F7\D3\CB\00\F0\CE\C4\00\F7\D4\D2\00\F3\D2\C4\00\FE\D4\D7\00\F0\D4\CE\00\F3\C2\D4\00\F7\CF\D3\CB\D2\C5\D3\C5\CE\D8\C5\00\F0\CF\CE\C5\C4\C5\CC\D8\CE\C9\CB\00\F7\D4\CF\D2\CE\C9\CB\00\F3\D2\C5\C4\C1\00\FE\C5\D4\D7\C5\D2\C7\00\F0\D1\D4\CE\C9\C3\C1\00\F3\D5\C2\C2\CF\D4\C1\00\F1\CE\D7\00\E6\C5\D7\00\ED\C1\D2\00\E1\D0\D2\00\ED\C1\CA\00\E9\C0\CE\00\E9\C0\CC\00\E1\D7\C7\00\F3\C5\CE\00\EF\CB\D4\00\EE\CF\D1\00\E4\C5\CB\00\F1\CE\D7\C1\D2\D1\00\E6\C5\D7\D2\C1\CC\D1\00\ED\C1\D2\D4\C1\00\E1\D0\D2\C5\CC\D1\00\ED\C1\D1\00\E9\C0\CE\D1\00\E9\C0\CC\D1\00\E1\D7\C7\D5\D3\D4\C1\00\F3\C5\CE\D4\D1\C2\D2\D1\00\EF\CB\D4\D1\C2\D2\D1\00\EE\CF\D1\C2\D2\D1\00\E4\C5\CB\C1\C2\D2\D1\00\B2\E1\DA\00\BF\DD\D4\00\B2\E2\E0\00\C1\E0\D4\00\C7\E2\D2\00\BF\E2\DD\00\C1\D1\E2\00\B2\DE\E1\DA\E0\D5\E1\D5\DD\EC\D5\00\BF\DE\DD\D5\D4\D5\DB\EC\DD\D8\DA\00\B2\E2\DE\E0\DD\D8\DA\00\C1\E0\D5\D4\D0\00\C7\D5\E2\D2\D5\E0\D3\00\BF\EF\E2\DD\D8\E6\D0\00\C1\E3\D1\D1\DE\E2\D0\00\CF\DD\D2\00\C4\D5\D2\00\BC\D0\E0\00\B0\DF\E0\00\BC\D0\D9\00\B8\EE\DD\00\B8\EE\DB\00\B0\D2\D3\00\C1\D5\DD\00\BE\DA\E2\00\BD\DE\EF\00\B4\D5\DA\00\CF\DD\D2\D0\E0\EF\00\C4\D5\D2\E0\D0\DB\EF\00\BC\D0\E0\E2\D0\00\B0\DF\E0\D5\DB\EF\00\BC\D0\EF\00\B8\EE\DD\EF\00\B8\EE\DB\EF\00\B0\D2\D3\E3\E1\E2\D0\00\C1\D5\DD\E2\EF\D1\E0\EF\00\BE\DA\E2\EF\D1\E0\EF\00\BD\DE\EF\D1\E0\EF\00\B4\D5\DA\D0\D1\E0\EF\00\D0\92\D1\81\D0\BA\00\D0\9F\D0\BD\D0\B4\00\D0\92\D1\82\D1\80\00\D0\A7\D1\82\D0\B2\00\D0\9F\D1\82\D0\BD\00\D0\A1\D0\B1\D1\82\00\D0\92\D0\BE\D1\81\D0\BA\D1\80\D0\B5\D1\81\D0\B5\D0\BD\D1\8C\D0\B5\00\D0\9F\D0\BE\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D1\8C\D0\BD\D0\B8\D0\BA\00\D0\92\D1\82\D0\BE\D1\80\D0\BD\D0\B8\D0\BA\00\D0\A1\D1\80\D0\B5\D0\B4\D0\B0\00\D0\A7\D0\B5\D1\82\D0\B2\D0\B5\D1\80\D0\B3\00\D0\9F\D1\8F\D1\82\D0\BD\D0\B8\D1\86\D0\B0\00\D0\A1\D1\83\D0\B1\D0\B1\D0\BE\D1\82\D0\B0\00\D0\AF\D0\BD\D0\B2\00\D0\A4\D0\B5\D0\B2\00\D0\9C\D0\B0\D1\80\00\D0\90\D0\BF\D1\80\00\D0\9C\D0\B0\D0\B9\00\D0\98\D1\8E\D0\BD\00\D0\98\D1\8E\D0\BB\00\D0\90\D0\B2\D0\B3\00\D0\A1\D0\B5\D0\BD\00\D0\9E\D0\BA\D1\82\00\D0\9D\D0\BE\D1\8F\00\D0\94\D0\B5\D0\BA\00\D0\AF\D0\BD\D0\B2\D0\B0\D1\80\D1\8F\00\D0\A4\D0\B5\D0\B2\D1\80\D0\B0\D0\BB\D1\8F\00\D0\9C\D0\B0\D1\80\D1\82\D0\B0\00\D0\90\D0\BF\D1\80\D0\B5\D0\BB\D1\8F\00\D0\9C\D0\B0\D1\8F\00\D0\98\D1\8E\D0\BD\D1\8F\00\D0\98\D1\8E\D0\BB\D1\8F\00\D0\90\D0\B2\D0\B3\D1\83\D1\81\D1\82\D0\B0\00\D0\A1\D0\B5\D0\BD\D1\82\D1\8F\D0\B1\D1\80\D1\8F\00\D0\9E\D0\BA\D1\82\D1\8F\D0\B1\D1\80\D1\8F\00\D0\9D\D0\BE\D1\8F\D0\B1\D1\80\D1\8F\00\D0\94\D0\B5\D0\BA\D0\B0\D0\B1\D1\80\D1\8F\00\F7\D4\CF\00\F3\D5\C2\00\F1\CE\D7\C1\D2\D8\00\E6\C5\D7\D2\C1\CC\D8\00\ED\C1\D2\D4\00\E1\D0\D2\C5\CC\D8\00\E9\C0\CE\D8\00\E9\C0\CC\D8\00\E1\D7\C7\D5\D3\D4\00\F3\C5\CE\D4\D1\C2\D2\D8\00\EF\CB\D4\D1\C2\D2\D8\00\EE\CF\D1\C2\D2\D8\00\E4\C5\CB\C1\C2\D2\D8\00\D0\92\D1\82\D0\BE\00\D0\AF\D0\BD\D0\B2\D0\B0\D1\80\D1\8C\00\D0\A4\D0\B5\D0\B2\D1\80\D0\B0\D0\BB\D1\8C\00\D0\9C\D0\B0\D1\80\D1\82\00\D0\90\D0\BF\D1\80\D0\B5\D0\BB\D1\8C\00\D0\98\D1\8E\D0\BD\D1\8C\00\D0\98\D1\8E\D0\BB\D1\8C\00\D0\90\D0\B2\D0\B3\D1\83\D1\81\D1\82\00\D0\A1\D0\B5\D0\BD\D1\82\D1\8F\D0\B1\D1\80\D1\8C\00\D0\9E\D0\BA\D1\82\D1\8F\D0\B1\D1\80\D1\8C\00\D0\9D\D0\BE\D1\8F\D0\B1\D1\80\D1\8C\00\D0\94\D0\B5\D0\BA\D0\B0\D0\B1\D1\80\D1\8C\00sotn\00vuos\00ma\C5\8B\00gask\00duor\00bear\00l\C3\A1v\00sotnabeaivi\00vuoss\C3\A1rga\00ma\C5\8B\C5\8Bebarga\00gaskavahkku\00duorasdat\00bearjadat\00l\C3\A1vvardat\00o\C4\91\C4\91j\00guov\00njuk\00cuo\C5\8B\00mies\00geas\00suoi\00borg\00\C4\8Dak\C4\8D\00golg\00sk\C3\A1b\00juov\00o\C4\91\C4\91ajagem\C3\A1nu\00guovvam\C3\A1nu\00njuk\C4\8Dam\C3\A1nu\00cuo\C5\8Bom\C3\A1nu\00miessem\C3\A1nu\00geassem\C3\A1nu\00suoidnem\C3\A1nu\00borgem\C3\A1nu\00\C4\8Dak\C4\8Dam\C3\A1nu\00golggotm\C3\A1nu\00sk\C3\A1bmam\C3\A1nu\00juovlam\C3\A1nu\00%a, %b %e. b. %Y %T %Z\00Ut\00\A9t\00Pi\00Nede\B5a\00Pondelok\00Utorok\00Streda\00\A9tvrtok\00Piatok\00marec\00Nede\C4\BEa\00\C5\A0tvrtok\00ned\00sre\00\E8et\00pet\00nedelja\00ponedeljek\00torek\00sreda\00\E8etrtek\00petek\00avg\00junij\00julij\00avgust\00\C4\8Det\00\C4\8Detrtek\00Die \00H\EBn \00Mar \00M\EBr \00Enj \00Pre \00Sht \00e diel \00e h\EBn\EB \00e mart\EB \00e m\EBrkur\EB \00e enjte \00e premte \00e shtun\EB \00Shk\00Pri\00Qer\00Kor\00Gsh\00Sht\00Tet\00N\EBn\00Dhj\00janar\00shkurt\00prill\00qershor\00korrik\00gusht\00shtator\00tetor\00n\EBntor\00dhjetor\00PD\00MD\00%Y-%b-%d %I.%M.%S.%p %Z\00%Y-%b-%d\00%I.%M.%S. %Z\00%I.%M.%S.%p %Z\00H\C3\ABn \00M\C3\ABr \00e h\C3\ABn\C3\AB \00e mart\C3\AB \00e m\C3\ABrkur\C3\AB \00e shtun\C3\AB \00N\C3\ABn\00n\C3\ABntor\00uto\00sub\00ponedeljak\00utorak\00\E8etvrtak\00petak\00subota\00septembar\00oktobar\00novembar\00decembar\00%d-%m-%Y.\00\C4\8Detvrtak\00\E3\E2\DE\00\E1\E3\D1\00\DD\D5\D4\D5\F9a\00\DF\DE\DD\D5\D4\D5\F9\D0\DA\00\E3\E2\DE\E0\D0\DA\00\E7\D5\E2\D2\E0\E2\D0\DA\00\DF\D5\E2\D0\DA\00\E1\E3\D1\DE\E2\D0\00\E4\D5\D1\00\DD\DE\D2\00\D4\D5\E6\00\F8\D0\DD\E3\D0\E0\00\E4\D5\D1\E0\E3\D0\E0\00\E1\D5\DF\E2\D5\DC\D1\D0\E0\00\DE\DA\E2\DE\D1\D0\E0\00\DD\DE\D2\D5\DC\D1\D0\E0\00\D4\D5\E6\D5\DC\D1\D0\E0\00+%a %d %b %Y %T %Z\00\D1\83\D1\82\D0\BE\00\D1\81\D1\83\D0\B1\00\D0\BD\D0\B5\D0\B4\D0\B5\D1\99a\00\D0\BF\D0\BE\D0\BD\D0\B5\D0\B4\D0\B5\D1\99\D0\B0\D0\BA\00\D1\83\D1\82\D0\BE\D1\80\D0\B0\D0\BA\00\D1\87\D0\B5\D1\82\D0\B2\D1\80\D1\82\D0\B0\D0\BA\00\D0\BF\D0\B5\D1\82\D0\B0\D0\BA\00\D1\81\D1\83\D0\B1\D0\BE\D1\82\D0\B0\00\D1\84\D0\B5\D0\B1\00\D0\BD\D0\BE\D0\B2\00\D0\B4\D0\B5\D1\86\00\D1\98\D0\B0\D0\BD\D1\83\D0\B0\D1\80\00\D1\84\D0\B5\D0\B1\D1\80\D1\83\D0\B0\D1\80\00\D1\81\D0\B5\D0\BF\D1\82\D0\B5\D0\BC\D0\B1\D0\B0\D1\80\00\D0\BE\D0\BA\D1\82\D0\BE\D0\B1\D0\B0\D1\80\00\D0\BD\D0\BE\D0\B2\D0\B5\D0\BC\D0\B1\D0\B0\D1\80\00\D0\B4\D0\B5\D1\86\D0\B5\D0\BC\D0\B1\D0\B0\D1\80\00s\F6n\00m\E5n\00tis\00l\F6r\00s\F6ndag\00m\E5ndag\00tisdag\00l\F6rdag\00augusti\00%a %e %b %Y %H.%M.%S\00s\C3\B6n\00m\C3\A5n\00l\C3\B6r\00s\C3\B6ndag\00m\C3\A5ndag\00l\C3\B6rdag\00\E0\AE\9E\00\E0\AE\A4\00\E0\AE\9A\00\E0\AE\AA\00\E0\AE\B5\00\E0\AE\9E\E0\AE\BE\E0\AE\AF\E0\AE\BF\E0\AE\B1\E0\AF\81\00\E0\AE\A4\E0\AE\BF\E0\AE\99\E0\AF\8D\E0\AE\95\E0\AE\B3\E0\AF\8D\00\E0\AE\9A\E0\AF\86\E0\AE\B5\E0\AF\8D\E0\AE\B5\E0\AE\BE\E0\AE\AF\E0\AF\8D\00\E0\AE\AA\E0\AF\81\E0\AE\A4\E0\AE\A9\E0\AF\8D\00\E0\AE\B5\E0\AE\BF\E0\AE\AF\E0\AE\BE\E0\AE\B4\E0\AE\A9\E0\AF\8D\00\E0\AE\B5\E0\AF\86\E0\AE\B3\E0\AF\8D\E0\AE\B3\E0\AE\BF\00\E0\AE\9A\E0\AE\A9\E0\AE\BF\00\E0\AE\9C\E0\AE\A9\E0\AE\B5\E0\AE\B0\E0\AE\BF\00\E0\AE\AA\E0\AF\86\E0\AE\AA\E0\AF\8D\E0\AE\B0\E0\AE\B5\E0\AE\B0\E0\AE\BF\00\E0\AE\AE\E0\AE\BE\E0\AE\B0\E0\AF\8D\E0\AE\9A\E0\AF\8D\00\E0\AE\8F\E0\AE\AA\E0\AF\8D\E0\AE\B0\E0\AE\B2\E0\AF\8D\00\E0\AE\AE\E0\AF\87\00\E0\AE\9C\E0\AF\82\E0\AE\A9\E0\AF\8D\00\E0\AE\9C\E0\AF\82\E0\AE\B2\E0\AF\88\00\E0\AE\86\E0\AE\95\E0\AE\B8\E0\AF\8D\E0\AE\9F\E0\AF\8D\00\E0\AE\9A\E0\AF\86\E0\AE\AA\E0\AF\8D\E0\AE\9F\E0\AE\AE\E0\AF\8D\E0\AE\AA\E0\AE\B0\E0\AF\8D\00\E0\AE\85\E0\AE\95\E0\AF\8D\E0\AE\9F\E0\AF\8B\E0\AE\AA\E0\AE\B0\E0\AF\8D\00\E0\AE\A8\E0\AE\B5\E0\AE\AE\E0\AF\8D\E0\AE\AA\E0\AE\B0\E0\AF\8D\00\E0\AE\9F\E0\AE\BF\E0\AE\9A\E0\AE\AE\E0\AF\8D\E0\AE\AA\E0\AE\B0\E0\AF\8Dr\00\E0\AE\95\E0\AE\BE\E0\AE\B2\E0\AF\88\00\E0\AE\AE\E0\AE\BE\E0\AE\B2\E0\AF\88\00\E0\B0\86\E0\B0\A6\E0\B0\BF\00\E0\B0\B8\E0\B1\8B\E0\B0\AE\00\E0\B0\AE\E0\B0\82\E0\B0\97\E0\B0\B3\00\E0\B0\AC\E0\B1\81\E0\B0\A7\00\E0\B0\97\E0\B1\81\E0\B0\B0\E0\B1\81\00\E0\B0\B6\E0\B1\81\E0\B0\95\E0\B1\8D\E0\B0\B0\00\E0\B0\B6\E0\B0\A8\E0\B0\BF\00\E0\B0\86\E0\B0\A6\E0\B0\BF\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\B8\E0\B1\8B\E0\B0\AE\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\AE\E0\B0\82\E0\B0\97\E0\B0\B3\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\AC\E0\B1\81\E0\B0\A7\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\97\E0\B1\81\E0\B0\B0\E0\B1\81\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\B6\E0\B1\81\E0\B0\95\E0\B1\8D\E0\B0\B0\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\B6\E0\B0\A8\E0\B0\BF\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\9C\E0\B0\A8\E0\B0\B5\E0\B0\B0\E0\B0\BF\00\E0\B0\AB\E0\B0\BF\E0\B0\AC\E0\B1\8D\E0\B0\B0\E0\B0\B5\E0\B0\B0\E0\B0\BF\00\E0\B0\AE\E0\B0\BE\E0\B0\B0\E0\B1\8D\E0\B0\9A\E0\B0\BF\00\E0\B0\8F\E0\B0\AA\E0\B1\8D\E0\B0\B0\E0\B0\BF\E0\B0\B2\E0\B1\8D\00\E0\B0\AE\E0\B1\87\00\E0\B0\9C\E0\B1\82\E0\B0\A8\E0\B1\8D\00\E0\B0\9C\E0\B1\82\E0\B0\B2\E0\B1\88\00\E0\B0\86\E0\B0\97\E0\B0\B8\E0\B1\8D\E0\B0\9F\E0\B1\81\00\E0\B0\B8\E0\B1\86\E0\B0\AA\E0\B1\8D\E0\B0\9F\E0\B1\86\E0\B0\82\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\85\E0\B0\95\E0\B1\8D\E0\B0\9F\E0\B1\8B\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\A8\E0\B0\B5\E0\B0\82\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\A1\E0\B0\BF\E0\B0\B8\E0\B1\86\E0\B0\82\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\AA\E0\B1\82\E0\B0\B0\E0\B1\8D\E0\B0\B5\E0\B0\BE\E0\B0\B9\E0\B1\8D\E0\B0\A8\00\E0\B0\85\E0\B0\AA\E0\B0\B0\E0\B0\BE\E0\B0\B9\E0\B1\8D\E0\B0\A8\00\CD\D2.\00\A8.\00\CD.\00\BE.\00\BE\C4.\00\C8.\00\CA.\00\CD\D2\B7\D4\B5\C2\EC\00\A8\D1\B9\B7\C3\EC\00\CD\D1\A7\A4\D2\C3\00\BE\D8\B8\00\BE\C4\CB\D1\CA\BA\B4\D5\00\C8\D8\A1\C3\EC\00\E0\CA\D2\C3\EC\00\C1.\A4.\00\A1.\BE.\00\C1\D5.\A4.\00\E0\C1.\C2.\00\BE.\A4.\00\C1\D4.\C2.\00\A1.\A4.\00\CA.\A4.\00\A1.\C2.\00\B5.\A4.\00\BE.\C2.\00\B8.\A4.\00\C1\A1\C3\D2\A4\C1\00\A1\D8\C1\C0\D2\BE\D1\B9\B8\EC\00\C1\D5\B9\D2\A4\C1\00\E0\C1\C9\D2\C2\B9\00\BE\C4\C9\C0\D2\A4\C1\00\C1\D4\B6\D8\B9\D2\C2\B9\00\A1\C3\A1\AE\D2\A4\C1\00\CA\D4\A7\CB\D2\A4\C1\00\A1\D1\B9\C2\D2\C2\B9\00\B5\D8\C5\D2\A4\C1\00\BE\C4\C8\A8\D4\A1\D2\C2\B9\00\B8\D1\B9\C7\D2\A4\C1\00%a %e %b %Ey, %H:%M:%S\00%d/%m/%Ey\00+:1:-543/01/01:+*:\BE.\C8.:%EC %Ey\00\00%e %b %Ey\00\C7\D1\B9%A\B7\D5\E8 %e %B %EC %Ey, %H.%M.%S \B9.\00%H.%M.%S \B9.\00\E0\B8\AD\E0\B8\B2.\00\E0\B8\88.\00\E0\B8\AD.\00\E0\B8\9E.\00\E0\B8\9E\E0\B8\A4.\00\E0\B8\A8.\00\E0\B8\AA.\00\E0\B8\AD\E0\B8\B2\E0\B8\97\E0\B8\B4\E0\B8\95\E0\B8\A2\E0\B9\8C\00\E0\B8\88\E0\B8\B1\E0\B8\99\E0\B8\97\E0\B8\A3\E0\B9\8C\00\E0\B8\AD\E0\B8\B1\E0\B8\87\E0\B8\84\E0\B8\B2\E0\B8\A3\00\E0\B8\9E\E0\B8\B8\E0\B8\98\00\E0\B8\9E\E0\B8\A4\E0\B8\AB\E0\B8\B1\E0\B8\AA\E0\B8\9A\E0\B8\94\E0\B8\B5\00\E0\B8\A8\E0\B8\B8\E0\B8\81\E0\B8\A3\E0\B9\8C\00\E0\B9\80\E0\B8\AA\E0\B8\B2\E0\B8\A3\E0\B9\8C\00\E0\B8\A1.\E0\B8\84.\00\E0\B8\81.\E0\B8\9E.\00\E0\B8\A1\E0\B8\B5.\E0\B8\84.\00\E0\B9\80\E0\B8\A1.\E0\B8\A2.\00\E0\B8\9E.\E0\B8\84.\00\E0\B8\A1\E0\B8\B4.\E0\B8\A2.\00\E0\B8\81.\E0\B8\84.\00\E0\B8\AA.\E0\B8\84.\00\E0\B8\81.\E0\B8\A2.\00\E0\B8\95.\E0\B8\84.\00\E0\B8\9E.\E0\B8\A2.\00\E0\B8\98.\E0\B8\84.\00\E0\B8\A1\E0\B8\81\E0\B8\A3\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\81\E0\B8\B8\E0\B8\A1\E0\B8\A0\E0\B8\B2\E0\B8\9E\E0\B8\B1\E0\B8\99\E0\B8\98\E0\B9\8C\00\E0\B8\A1\E0\B8\B5\E0\B8\99\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B9\80\E0\B8\A1\E0\B8\A9\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\9E\E0\B8\A4\E0\B8\A9\E0\B8\A0\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\A1\E0\B8\B4\E0\B8\96\E0\B8\B8\E0\B8\99\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\81\E0\B8\A3\E0\B8\81\E0\B8\8E\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\AA\E0\B8\B4\E0\B8\87\E0\B8\AB\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\81\E0\B8\B1\E0\B8\99\E0\B8\A2\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\95\E0\B8\B8\E0\B8\A5\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\9E\E0\B8\A4\E0\B8\A8\E0\B8\88\E0\B8\B4\E0\B8\81\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\98\E0\B8\B1\E0\B8\99\E0\B8\A7\E0\B8\B2\E0\B8\84\E0\B8\A1\00+:1:-543/01/01:+*:\E0\B8\9E.\E0\B8\A8.:%EC %Ey\00\00\E0\B8\A7\E0\B8\B1\E0\B8\99%A\E0\B8\97\E0\B8\B5\E0\B9\88 %e %B %EC %Ey, %H.%M.%S \E0\B8\99.\00%H.%M.%S \E0\B8\99.\00\E1\88\B0\E1\8A\95\E1\89\A0\E1\89\B5\00\E1\88\B0\E1\8A\91\E1\8B\AD\00\E1\88\B0\E1\88\89\E1\88\B5\00\E1\88\93\E1\88\99\E1\88\B5\00\E1\8B\93\E1\88\AD\E1\89\A2\00\E1\89\80\E1\8B\B3\E1\88\9D\00\E1\8C\A5\E1\88\AA\00\E1\88\88\E1\8A\AB\E1\89\B2\00\E1\88\98\E1\8C\8B\E1\89\A2\00\E1\88\9A\E1\8B\AB\E1\8B\9D\00\E1\8C\8D\E1\8A\95\E1\89\A6\00\E1\88\B0\E1\8A\90\00\E1\88\93\E1\88\9D\E1\88\88\00\E1\8A\90\E1\88\93\E1\88\B0\00\E1\88\98\E1\88\B5\E1\8A\A8\00\E1\8C\A5\E1\89\85\E1\88\9D\00\E1\88\95\E1\8B\B3\E1\88\AD\00\E1\89\B3\E1\88\95\E1\88\B3\00\E1\88\88\E1\8A\AB\E1\89\B2\E1\89\B5\00\E1\88\98\E1\8C\8B\E1\89\A2\E1\89\B5\00\E1\88\9A\E1\8B\AB\E1\8B\9D\E1\8B\AB\00\E1\8C\8D\E1\8A\95\E1\89\A6\E1\89\B5\00\E1\88\98\E1\88\B5\E1\8A\A8\E1\88\A8\E1\88\9D\00\E1\8C\A5\E1\89\85\E1\88\9D\E1\89\B2\00\E1\89\B3\E1\88\95\E1\88\B3\E1\88\B5\00\E1\8A\95\E1\8C\89\E1\88\86 \E1\88\B0\E1\8B\93\E1\89\B0\00\E1\8B\B5\E1\88\95\E1\88\AD \E1\88\B0\E1\8B\93\E1\89\B5\00%A\E1\8D\A3 %b %e \E1\88\98\E1\8B\93\E1\88\8D\E1\89\B2 %l:%M:%S %Z %Y\00Lin\00Miy\00Huw\00Biy\00Linggo\00Lunes\00Miyerkoles\00Huwebes\00Biyernes\00Sabado\00Ene\00Hun\00Hul\00Nob\00Enero\00Pebrero\00Marso\00Mayo\00Hunyo\00Hulyo\00Septiyembre\00Oktubre\00Nobiyembre\00Disyembre\00Paz\00Pzt\00Sal\00\C7r\FE\00Pr\FE\00Cum\00Cts\00Pazar\00Pazartesi\00Sal\FD\00\C7ar\FEamba\00Per\FEembe\00Cuma\00Cumartesi\00Oca\00\DEub\00Nis\00Haz\00Tem\00A\F0u\00Eyl\00Eki\00Kas\00Ara\00Ocak\00\DEubat\00Nisan\00May\FDs\00Haziran\00Temmuz\00A\F0ustos\00Eyl\FCl\00Ekim\00Kas\FDm\00Aral\FDk\00\D6\D6\00\D6S\00\C3\87r\C5\9F\00Pr\C5\9F\00Sal\C4\B1\00\C3\87ar\C5\9Famba\00Per\C5\9Fembe\00\C5\9Eub\00A\C4\9Fu\00\C5\9Eubat\00May\C4\B1s\00A\C4\9Fustos\00Eyl\C3\BCl\00Kas\C4\B1m\00Aral\C4\B1k\00\C3\96\C3\96\00\C3\96S\00\D0\AF\D0\BA\D1\88\00\D0\94\D1\8B\D1\88\00\D0\A1\D0\B8\D1\88\00\D0\A7\D3\99\D1\80\D1\88\00\D0\9F\D3\99\D0\BD\D2\97\00\D2\96\D0\BE\D0\BC\00\D0\A8\D0\B8\D0\BC\00\D0\AF\D0\BA\D1\88\D3\99\D0\BC\D0\B1\D0\B5\00\D0\94\D1\8B\D1\88\D3\99\D0\BC\D0\B1\D0\B5\00\D0\A1\D0\B8\D1\88\D3\99\D0\BC\D0\B1\D0\B5\00\D0\A7\D3\99\D1\80\D1\88\D3\99\D3\99\D0\BC\D0\B1\D0\B5\00\D0\9F\D3\99\D0\BD\D2\97\D0\B5\D1\88\D0\BC\D0\B1\D0\B5\00\D2\96\D0\BE\D0\BC\D0\B3\D0\B0\00\D0\A8\D0\B8\D0\BC\D0\B1\D3\99\00\EE\C4\CC\00\EE\C5\C4\A6\CC\D1\00\F0\CF\CE\C5\C4\A6\CC\CF\CB\00\F7\A6\D7\D4\CF\D2\CF\CB\00\F3\C5\D2\C5\C4\C1\00\FE\C5\D4\D7\C5\D2\00\F0'\D1\D4\CE\C9\C3\D1\00\F3\D5\C2\CF\D4\C1\00\F3\A6\DE\00\EC\C0\D4\00\E2\C5\D2\00\EB\D7\A6\00\F4\D2\C1\00\FE\C5\D2\00\EC\C9\D0\00\F3\C5\D2\00\F7\C5\D2\00\F6\CF\D7\00\EC\C9\D3\00\E7\D2\D5\00\F3\A6\DE\C5\CE\D8\00\EC\C0\D4\C9\CA\00\E2\C5\D2\C5\DA\C5\CE\D8\00\EB\D7\A6\D4\C5\CE\D8\00\F4\D2\C1\D7\C5\CE\D8\00\FE\C5\D2\D7\C5\CE\D8\00\EC\C9\D0\C5\CE\D8\00\F3\C5\D2\D0\C5\CE\D8\00\F7\C5\D2\C5\D3\C5\CE\D8\00\F6\CF\D7\D4\C5\CE\D8\00\EC\C9\D3\D4\CF\D0\C1\C4\00\E7\D2\D5\C4\C5\CE\D8\00\D0\9D\D0\B4\D0\BB\00\D0\9D\D0\B5\D0\B4\D1\96\D0\BB\D1\8F\00\D0\9F\D0\BE\D0\BD\D0\B5\D0\B4\D1\96\D0\BB\D0\BE\D0\BA\00\D0\92\D1\96\D0\B2\D1\82\D0\BE\D1\80\D0\BE\D0\BA\00\D0\A1\D0\B5\D1\80\D0\B5\D0\B4\D0\B0\00\D0\A7\D0\B5\D1\82\D0\B2\D0\B5\D1\80\00\D0\9F'\D1\8F\D1\82\D0\BD\D0\B8\D1\86\D1\8F\00\D0\A1\D1\96\D1\87\00\D0\91\D0\B5\D1\80\00\D0\9A\D0\B2\D1\96\00\D0\A7\D0\B5\D1\80\00\D0\9B\D0\B8\D0\BF\00\D0\A1\D0\B5\D1\80\00\D0\92\D0\B5\D1\80\00\D0\96\D0\BE\D0\B2\00\D0\9B\D0\B8\D1\81\00\D0\93\D1\80\D1\83\00\D0\A1\D1\96\D1\87\D0\B5\D0\BD\D1\8C\00\D0\9B\D1\8E\D1\82\D0\B8\D0\B9\00\D0\91\D0\B5\D1\80\D0\B5\D0\B7\D0\B5\D0\BD\D1\8C\00\D0\9A\D0\B2\D1\96\D1\82\D0\B5\D0\BD\D1\8C\00\D0\A7\D0\B5\D1\80\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\9B\D0\B8\D0\BF\D0\B5\D0\BD\D1\8C\00\D0\A1\D0\B5\D1\80\D0\BF\D0\B5\D0\BD\D1\8C\00\D0\92\D0\B5\D1\80\D0\B5\D1\81\D0\B5\D0\BD\D1\8C\00\D0\96\D0\BE\D0\B2\D1\82\D0\B5\D0\BD\D1\8C\00\D0\9B\D0\B8\D1\81\D1\82\D0\BE\D0\BF\D0\B0\D0\B4\00\D0\93\D1\80\D1\83\D0\B4\D0\B5\D0\BD\D1\8C\00\D8\A7\D8\AA\D9\88\D8\A7\D8\B1\00\D9\BE\D9\8A\D8\B1\00\D9\85\D9\86\DA\AF\D9\84\00\D8\A8\D8\AF\DA\BE\00\D8\AC\D9\85\D8\B9\D8\B1\D8\A7\D8\AA\00\D9\87\D9\81\D8\AA\D9\87\00\D8\AC\D9\86\D9\88\D8\B1\D9\8A\00\D9\81\D8\B1\D9\88\D8\B1\D9\8A\00\D9\85\D8\A7\D8\B1\DA\86\00\D8\A7\D9\BE\D8\B1\D9\8A\D9\84\00\D9\85\D9\93\DB\8C\00\D8\AC\D9\88\D9\86\00\D8\AC\D9\88\D9\84\D8\A7\D9\8A\00\D8\A7\DA\AF\D8\B3\D8\AA\00\D8\B3\D8\AA\D9\85\D8\A8\D8\B1\00\D8\A7\D9\83\D8\AA\D9\88\D8\A8\D8\B1\00\D9\86\D9\88\D9\85\D8\A8\D8\B1\00\D8\AF\D8\B3\D9\85\D8\A8\D8\B1\00\D8\B4\00\D9\88 %H:%M:%S %Z \D8\AA %d %B %Y\00%P %I:%M:%S\00Yak\00Se\00Cho\00Pay\00Ju\00Sha\00yakshanba\00dushanba\00seshanba\00chorshanba\00payshanba\00juma\00shanba\00Yav\00Iyn\00Iyl\00Avg\00senyabr\00%T, %d %B, %Y yil, %A\00CN \00Th 2 \00Th 3 \00Th 4 \00Th 5 \00Th 6 \00Th 7 \00Chu\CC\89 nh\C3\A2\CC\A3t \00Th\C6\B0\CC\81 hai \00Th\C6\B0\CC\81 ba \00Th\C6\B0\CC\81 t\C6\B0 \00Th\C6\B0\CC\81 n\C4\83m \00Th\C6\B0\CC\81 s\C3\A1u \00Th\C6\B0\CC\81 ba\CC\89y \00Thg 1\00Thg 2\00Thg 3\00Thg 4\00Thg 5\00Thg 6\00Thg 7\00Thg 8\00Thg 9\00Thg 10\00Thg 11\00Thg 12\00Th\C3\A1ng m\C3\B4\CC\A3t\00Th\C3\A1ng hai\00Th\C3\A1ng ba\00Th\C3\A1ng t\C6\B0\00Th\C3\A1ng n\C4\83m\00Th\C3\A1ng s\C3\A1u\00Th\C3\A1ng ba\CC\89y\00Th\C3\A1ng t\C3\A1m\00Th\C3\A1ng ch\C3\ADn\00Th\C3\A1ng m\C6\B0\C6\A1\CC\80i\00Th\C3\A1ng m\C6\B0\C6\A1\CC\80i m\C3\B4\CC\A3t\00Th\C3\A1ng m\C6\B0\C6\A1\CC\80i hai\00%H:%M:%S %Z %A %d %b %Y\00%H:%M:%S %Z\00d\EEm\00lon\00m\E5r\00dju\00vin\00sem\00d\EEmegne\00londi\00m\E5rdi\00merkidi\00djudi\00vinrdi\00semdi\00dja\00fev\00m\E5s\00djn\00djl\00awo\00n\F4v\00djanv\EE\00fevr\EE\00m\E5ss\00avri\00djun\00djulete\00awousse\00setimbe\00oct\F4be\00n\F4vimbe\00decimbe\00Li %A %d di %B %Y %T %Z\00d\C3\AEm\00m\C3\A5r\00d\C3\AEmegne\00m\C3\A5rdi\00m\C3\A5s\00n\C3\B4v\00djanv\C3\AE\00fevr\C3\AE\00m\C3\A5ss\00oct\C3\B4be\00n\C3\B4vimbe\00\E6\E5\F0'\00\EE\E0\C8\F0'\00\E3\E9\F0'\00\EE\E9\E8'\00\E3\E0\C8\F0'\00\F4\CF\F8\D6\C7'\00\E6\E5\F0\E8\E9\F7\00\EE\E0\C8\F0\E8\E9\F7\00\E3\E9\F0\F1\E8\E9\F7\00\EE\E9\E8\D4\E0\C8\EA\00\E3\E0\C8\F0\F2\F8\F9\E8\E9\F7\00\F4\CF\F8\D6\C7\E8\E9\F7\00\E9\E0\C7\F0'\00\F4\CF\F2\E1'\00\EE\E0\C7\F8'\00\E0\C7\F4\CC\F8'\00\EE\D6\C7\00\E9\E5\F0'\00\E9\E5\EC'\00\E0\D5\E2'\00\F1\F2\F4\CC'\00\E0\C8\F7\E8'\00\F0\E0\C8\D4'\00\E3\F2\F6'\00\E9\E0\C7\F0\E5\E0\C7\F8\00\F4\CF\F2\E1\F8\E5\E0\C7\F8\00\EE\E0\C7\F8\F5\00\E0\C7\F4\CC\F8\E9\EC\00\E0\D5\E2\F1\E8\00\F1\F2\F4\CC\E8\F2\EE\E1\F2\F8\00\E0\C8\F7\E8\E0\C8\E1\F2\F8\00\F0A\C8\D4\F2\EE\E1\F2\F8\00\D7\96\D7\95\D7\A0'\00\D7\9E\D7\90\D6\B8\D7\A0'\00\D7\93\D7\99\D7\A0'\00\D7\9E\D7\99\D7\98'\00\D7\93\D7\90\D6\B8\D7\A0'\00\D7\A4\D6\BF\D7\A8\D7\B2\D6\B7'\00\D7\96\D7\95\D7\A0\D7\98\D7\99\D7\A7\00\D7\9E\D7\90\D6\B8\D7\A0\D7\98\D7\99\D7\A7\00\D7\93\D7\99\D7\A0\D7\A1\D7\98\D7\99\D7\A7\00\D7\9E\D7\99\D7\98\D7\B0\D7\90\D6\B8\D7\9A\00\D7\93\D7\90\D6\B8\D7\A0\D7\A2\D7\A8\D7\A9\D7\98\D7\99\D7\A7\00\D7\A4\D6\BF\D7\A8\D7\B2\D6\B7\D7\98\D7\99\D7\A7\00\D7\99\D7\90\D6\B7\D7\A0'\00\D7\A4\D6\BF\D7\A2\D7\91'\00\D7\9E\D7\90\D6\B7\D7\A8'\00\D7\90\D6\B7\D7\A4\D6\BC\D7\A8'\00\D7\9E\D7\B2\D6\B7\00\D7\99\D7\95\D7\A0'\00\D7\99\D7\95\D7\9C'\00\D7\90\D7\B1\D7\92'\00\D7\A1\D7\A2\D7\A4\D6\BC'\00\D7\90\D6\B8\D7\A7\D7\98'\00\D7\A0\D7\90\D6\B8\D7\B0'\00\D7\93\D7\A2\D7\A6'\00\D7\99\D7\90\D6\B7\D7\A0\D7\95\D7\90\D6\B7\D7\A8\00\D7\A4\D6\BF\D7\A2\D7\91\D7\A8\D7\95\D7\90\D6\B7\D7\A8\00\D7\9E\D7\90\D6\B7\D7\A8\D7\A5\00\D7\90\D6\B7\D7\A4\D6\BC\D7\A8\D7\99\D7\9C\00\D7\90\D7\B1\D7\92\D7\A1\D7\98\00\D7\A1\D7\A2\D7\A4\D6\BC\D7\98\D7\A2\D7\9E\D7\91\D7\A2\D7\A8\00\D7\90\D6\B8\D7\A7\D7\98\D7\90\D6\B8\D7\91\D7\A2\D7\A8\00\D7\A0A\D6\B8\D7\B0\D7\A2\D7\9E\D7\91\D7\A2\D7\A8\00\E4\B8\80\00\E4\BA\8C\00\E4\B8\89\00\E5\9B\9B\00\E4\BA\94\00\E5\85\AD\00\E6\98\9F\E6\9C\9F\E6\97\A5\00\E6\98\9F\E6\9C\9F\E4\B8\80\00\E6\98\9F\E6\9C\9F\E4\BA\8C\00\E6\98\9F\E6\9C\9F\E4\B8\89\00\E6\98\9F\E6\9C\9F\E5\9B\9B\00\E6\98\9F\E6\9C\9F\E4\BA\94\00\E6\98\9F\E6\9C\9F\E5\85\AD\00\E4\B8\80\E6\9C\88\00\E4\BA\8C\E6\9C\88\00\E4\B8\89\E6\9C\88\00\E5\9B\9B\E6\9C\88\00\E4\BA\94\E6\9C\88\00\E5\85\AD\E6\9C\88\00\E4\B8\83\E6\9C\88\00\E5\85\AB\E6\9C\88\00\E4\B9\9D\E6\9C\88\00\E5\8D\81\E6\9C\88\00\E5\8D\81\E4\B8\80\E6\9C\88\00\E5\8D\81\E4\BA\8C\E6\9C\88\00\E4\B8\8A\E5\8D\88\00\E4\B8\8B\E5\8D\88\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %A %H\E6\97\B6%M\E5\88\86%S\E7\A7\92\00%H\E6\97\B6%M\E5\88\86%S\E7\A7\92\00%p %I\E6\97\B6%M\E5\88\86%S\E7\A7\92\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %A %H:%M:%S\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %A\00%I\E6\99\82%M\E5\88\86%S\E7\A7\92 %Z\00%p %I:%M:%S\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %H\E6\97\B6%M\E5\88\86%S\E7\A7\92 %Z\00%H\E6\97\B6%M\E5\88\86%S\E7\A7\92 %Z\00\E9\80\B1\E6\97\A5\00\E9\80\B1\E4\B8\80\00\E9\80\B1\E4\BA\8C\00\E9\80\B1\E4\B8\89\00\E9\80\B1\E5\9B\9B\00\E9\80\B1\E4\BA\94\00\E9\80\B1\E5\85\AD\00\E8\A5\BF\E5\85\83%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 (%A) %H\E6\99\82%M\E5\88\86%S\E7\A7\92\00\E8\A5\BF\E5\85\83%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5\00%p %I\E6\99\82%M\E5\88\86%S\E7\A7\92\00", [1804 x i8] c"\00^[yY]\00^[nN]\00[jJ].*\00[nN].*\00^[yY].*\00^[nN].*\00^[\E6].*\00^[\E4].*\00^[\D9\86].*\00^[\D9\84].*\00^[\D9\86]\00^[\D9\84]\00\D9\86\D8\B9\D9\85\00\D9\84\D8\A7\00^(\E6|\E6\D9\E5)\00^(\E4|\E4\C7)\00\E6\D9\E5\00\E4\C7\00^(\D9\86|\D9\86\D8\B9\D9\85)\00^(\D9\84|\D9\84\D8\A7)\00^[Bb].*\00^[YyNn].*\00yox\00b\C9\99li\00^[\C4\E4Yy].*\00^[\CD\EDNn].*\00^[\D0\94\D0\B4Yy].*\00^[\D0\9D\D0\BDNn].*\00^[+1\C4\E4DdYyOo].*\00^[-0\CD\EDNnKk].*\00^[+1\D0\94\D0\B4DdYyOo].*\00^[-0\D0\9D\D0\BDNnKk].*\00[yYsS\D5\A1\D4\B1].*\00[nN\D5\B8\D5\88].*\00\D5\A1\D5\B5\D5\B8\00\D5\B8\D5\B9\00^[\E0\A6\B9\E0\A7\8D\E0\A6\AF\E0\A6\BE\E0\A6\81]\00^[\E0\A6\A8\E0\A6\BE]\00\E0\A6\B9\E0\A7\8D\E0\A6\AF\E0\A6\BE\E0\A6\81\00\E0\A6\A8\E0\A6\BE\00[oOyY].*\00^[dDyY]*.\00^[nN]*.\00[sSyY].*\00^[aAyY].*\00ano\00ne\00[iItTyY].*\00ie\00na\00^[1JjYy].*\00^[0Nn].*\00^[jJyY].*\00^[\ED\CDyY].*\00^[\EF\CFnN].*\00^[\CE\BD\CE\9DyY].*\00^[\CE\BF\CE\9FnN].*\00[yY].*\00^[yYoO].*\00^[1JjsSyYoO].*\00^[0nN].*\00Yes\00No\00^[JjYy].*\00^[sSyY].*\00^[EeNn].*\00^[bBsSyY].*\00^[eEnN].*\00[yY\D8\A8f].*\00[nN\D8\AE\D9\86o].*\00^[KkJjYy].*\00^[NnEe].*\00^[Nn].*\00^[oOjJyY1].*\00^[nN0].*\00^[oOyY].*\00^[OojJsSyY].*\00^[tTyY].*\00^[Yy\EB].*\00^[Nn\EC].*\00^[Yy\D7\9B].*\00^[Nn\D7\9C].*\00^[dDyY].*\00^[IiYy].*\00[yYsS\B3\B2].*\00[nN\E1\E0].*\00\B3\DB\E1\00\E1\E3\00[tTnN].*\00^[sSjJoOyY].*\00^([yY\EF\BD\99\EF\BC\B9]|\E3\81\AF\E3\81\84|\E3\83\8F\E3\82\A4)\00^([nN\EF\BD\8E\EF\BC\AE]|\E3\81\84\E3\81\84\E3\81\88|\E3\82\A4\E3\82\A4\E3\82\A8)\00\E3\81\AF\E3\81\84\00\E3\81\84\E3\81\84\E3\81\88\00[1yYkKxX\E1].*\00[0nNaA\C0].*\00[1yYkKxX\E1\83\AE].*\00[0nNaA\E1\83\90].*\00^[JjYyAa].*\00^[yY\EC\98\88]\00^[nN\EC\95\84\EB\8B\88\EC\98\A4]\00[eE].*\00^[TtYy].*\00^[1yY\E2\C2\E4\C4aA].*\00^[0nNkK].*\00\E2e\00k\E2ore\00^[1yY\C4\81\C4\80\C3\A4\C3\84aA].*\00\C4\81e\00k\C4\81ore\00[\B4\D4DdYy1].*\00[\BD\DDNn0].*\00\D4\D0\00\DD\D5\00[\D0\94\D0\B4DdYy1].*\00[\D0\9D\D0\BDNn0].*\00\D0\B4\D0\B0\00\D0\BD\D0\B5\00^(Yes|[yY])\00^(No|[nN])\00^[tT]\00Ya\00Tidak\00[oOsS].*\00^[SsyY].*\00^[DdYy].*\00^[\E4\C4Yy].*\00^[\EE\CENn].*\00^[\B4\D4Yy].*\00^[\BD\DDNn].*\00[\E4\C4Yy].*\00[\EE\CENn].*\00[\D0\94\D0\B4Yy].*\00[\D0\9D\D0\BDNn].*\00^[Ii].*\00[aA\E1\C1yY].*\00\E1no\00nie\00[aA\C3\A1\C3\81yY].*\00\C3\A1no\00^[YyJj].*\00[dDyY1].*\00[nN0].*\00[\B4\D4Yy].*\00[\BD\DDNn].*\00^[\E0\AE\86\E0\AE\AE\E0\AF\8D]\00^[\E0\AE\87\E0\AE\B2\E0\AF\8D\E0\AE\B2\E0\AF\88]\00\E0\AE\86\E0\AE\AE\E0\AF\8D\00\E0\AE\87\E0\AE\B2\E0\AF\8D\E0\AE\B2\E0\AF\88\00^[\E0\B0\85]\00^[\E0\B0\95]\00\E0\B0\85\E0\B0\B5\E0\B0\A8\E0\B1\81\00\E0\B0\95\E0\B0\BE\E0\B0\A6\E0\B1\81\00\C4\C1\00\CE\C5\D4\00\D0\BD\D0\B5\D1\82\00^[yY\AA]\00^[nN\C1]\00\E3\AA\E8\00\E4\C1\E8\E3\AA\E8\00^[yY\E0\B8\8A]\00^[nN\E0\B8\A1]\00\E0\B9\83\E0\B8\8A\E0\B9\88\00\E0\B9\84\E0\B8\A1\E0\B9\88\E0\B9\83\E0\B8\8A\E0\B9\88\00^[eE].*\00^[hH].*\00evet\00hay\FDr\00hay\C4\B1r\00\D3\98\D0\B9\D0\B5\00\D0\AE\D0\BA\00[\F4\D4Yy].*\00[\D0\A2\D1\82Yy].*\00[yY\D9\87\D8\A8f].*\00[nN\D9\86o].*\00\D8\A8\D9\84\D9\83\D9\84\00\D9\86\D9\87\D9\8A\DA\BA\00^[YyHh].*\00^[JjNn].*\00Ha\00Yo'q\00[oOyYaAwW].*\00Oyi\00Neni\00^[Yy\E9].*\00^[Nn\F0\F7].*\00\E9\E0\C7\00\F7\D6\EF\00^[Yy\D7\99].*\00^[Nn\D7\A0\D7\A7].*\00\D7\99\D7\90\D6\B7\00\D7\A7\D7\B2\D7\9F\00^[yY\E6\98\AF]\00^[nN\E4\B8\8D\E5\90\A6]\00", [23 x %struct.__codeset_8_bit_t.202] [%struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\01\02\03\04\04\04\04\04\04\04\04\05", [16 x i8] c"\00\00\00\00\01\02\03\04\04\04\04\04\04\04\04\05", [16 x i8] c"\00\01\02\03\04\05\06\07\08\09\0A\0B\0C\0D\0E\0F", [38 x i8] c"\00\01\01\01\01\02\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\03\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06", [16 x i8] zeroinitializer, [16 x i8] c"\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10", [38 x i8] c"\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\07\08\09\0A\0B\0C\0D\0E\0F\0F\0F\0F\10\10\10\10", [16 x i8] c"\06\07\08\07\09\0A\0B\0C\0D\0D\0D\0D\0D\0D\0D\0D", [16 x i8] c"\11\12\13\14\15\16\17\18\19\1A\1B\1C\1D\1E\1F ", [38 x i8] c"\04\01\01\01\05\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\06\07\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\11\12\13\12\02\02\14\02\02\15\16\17\18\18\18\19", [16 x i8] zeroinitializer, [16 x i8] c"!\22#$%&'()*+,-./0", [38 x i8] c"\08\09\0A\01\01\0B\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\0C\0D\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\1A\1B\1C\1D\02\1E\14\1E\18\18\18\18\1F\10 \10", [16 x i8] c"\00\0E\00\0F\00\00\00\00\00\00\00\00\00\00\00\10", [16 x i8] c"123456'789:;<=>?", [38 x i8] c"\0E\0F\0A\01\01\01\01\01\01\01\01\01\01\01\01\01\10\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\11\0D\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\02\1E\14\1E\0F\0F!\22\10\10 \10", [16 x i8] c"\00\00\00\00\00\00\00\00\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\0356'7@ABCD=>?", [38 x i8] c"\12\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00#$%&\0F\0F\0F\22\10\10\10'", [16 x i8] c"\00\00\00\00\12\13\12\13\0D\0D\0D\11\0D\0D\0D\11", [16 x i8] c"\00\01\02\03EFGHIJKLMNOP", [38 x i8] c"\13\14\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\15\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\02\0C\14(\0F\0F!\22\10\10 ", [16 x i8] c"\00\00\00\00\00\0A\00\0A\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\03QRSTUVWXYZ[\\", [38 x i8] c"\16\17\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\18\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00)*+,\0F\0F\0F\22\10\10\10\10", [16 x i8] c"\00\00\00\00\14\15\16\17\0D\0D\0D\11\0D\0D\0D\18", [16 x i8] c"\00\01\02\03]^_`@AabD=cd", [38 x i8] c"\19\1A\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\1B\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00-./0\0F\0F!\22\10\10 \10", [16 x i8] c"\00\00\00\00\19\1A\1B\1C\0D\0D\11\11\0D\0D\11\1D", [16 x i8] c"\00\01\02\03efgh@ABCD=>?", [38 x i8] c"\1C\1D\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\1E\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\001234\0F\0F\0F\22\10\10\10\10", [16 x i8] c"\00\00\00\00\1E\1F !\0D\0D\0D\11\0D\0D\0D\1D", [16 x i8] c"\00\01\02\03ijklmAnop=qr", [38 x i8] c"\1F !\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\22\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\005678\0F\0F!\22\10\10 ", [16 x i8] c"\00\00\00\00\22#\22#\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\03stuvwxyz{|}~", [38 x i8] c"#$%\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\009:;<=\0F>\22?\10@ ", [16 x i8] c"\00\00\00\00$%$&'\0D(\11'\0D(\11", [16 x i8] c"\00\01\02\03\7F\80\81\82\83A\84\85\86=\87\88", [38 x i8] c"&'(\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00AB7C\0F\0F!\22\10\10 ", [16 x i8] c"\00\00\00\00\22)\22*\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\03\89\8A\8B\8CI\8D\8E\8FM\90\91\92", [38 x i8] c")*+\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00D$\0F\0F\0F\0F\10\10\10\10E&", [16 x i8] c"\00\00\00\00+,\0D\0D\0D\0D\0D\0D\0D\0D+,", [16 x i8] c"\00\01\02\03\93\94\19\1A\1B\1C\1D\1E\1F \95\96", [38 x i8] c",\01\01\01-\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01.\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00FG\06HI\18\18J\18KL\06", [16 x i8] zeroinitializer, [16 x i8] c"\00\01\02\03\97\98\10\99\9A\9B\9C\9D\9E\9F\A0\10", [38 x i8] c"/\01\01\01\01\010\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00MN-OP\0FQRS\10\10T", [16 x i8] c"\00\00\00\00\00\00-./\0D01/\0D23", [16 x i8] c"\00\01\02\03\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC", [38 x i8] c"1\01\012\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\013\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00U\02\14V\06\06\06W\18\18\18\19", [16 x i8] zeroinitializer, [16 x i8] c"\00\01\02\03\AD&'\AE\10\10\10\AF-./0", [38 x i8] c"4\01\01\01\015\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\016\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\02\1E\14\1E\0F\0F!\22\10\10 \10", [16 x i8] c"\00\00\00\00\00\00\00\00\0D\0D\114\0D\0D\115", [16 x i8] c"\00\01\02\0356'7@A\B0\B1D=\B2\B3", [38 x i8] c"78\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\02\02\02\02X\02Y\02\10\10\10\10\0F\0F\0F\0F", [16 x i8] c"\00\00\00\006\006\0077777777", [16 x i8] c"\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\BF\C0\C1\C2\C3", [38 x i8] c"9\01\01\01:\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01;<\01=" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"Z[\\]^_`a\10\10\10\10\0F\0F\0F\0F", [16 x i8] c"89:\00;\00<\0077777777", [16 x i8] c"\C4\C5\C6\C7\C8\C9\CA\CB\BC\BD\BE\BF\C0\C1\C2\C3", [38 x i8] c">\01\01\01?\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\11\07\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\02\02\02\02b\14cd\10\10\10\10\0F\0F\0F\0F", [16 x i8] c"\00\00\00\00=>=>77777777", [16 x i8] c"\B4\B5\B6\B7\CC\CD\CE\CF\BC\BD\BE\BF\C0\C1\C2\C3", [38 x i8] c"9\01\01\01@\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01;<\01A" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\06\06\06\06I\18\18\18\18e\18fge\18h", [16 x i8] zeroinitializer, [16 x i8] c"\10\10\10\10\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB", [38 x i8] c"\01\01\01\01\01\01\01\01\01\01\01\01\01\01B\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }], [20 x i8] c"\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\01\01\01\01\01", [10 x i16] [i16 0, i16 2, i16 4, i16 6, i16 8, i16 10, i16 12, i16 14, i16 16, i16 18], [20 x i16] [i16 1, i16 21, i16 3, i16 24, i16 5, i16 27, i16 7, i16 30, i16 9, i16 33, i16 11, i16 36, i16 13, i16 39, i16 15, i16 42, i16 17, i16 45, i16 19, i16 48], [45 x i8] c"\00\00\00\01\01\01\00\02\01\00\02\02\01\00\01\01\00\00\01\03\01\01\04\01\00\05\01\01\01\00\02\06\01\01\05\00\01\07\01\01\05\01\00\02\03", [3 x i16] [i16 0, i16 3, i16 11], [15 x i16] [i16 1, i16 3, i16 17, i16 0, i16 1, i16 3, i16 10, i16 12, i16 15, i16 20, i16 23, i16 0, i16 5, i16 7, i16 25], [3894 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\03\03\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\03\03\04\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\04\04\05\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\05\04\06\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\06\05\07\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\07\05\08\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\08\06\09\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\09\06\0A\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0A\07\0B\02\02\02\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\0B\08\0C\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0C\08\0D\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0D\09\0E\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0E\09\0F\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0F\0A\10\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\10\0A\11\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\11\0B\12\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\12\0B\13\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\13\0C\14\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\14\0C\15\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\15\0D\16\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\16\0D\17\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\17\0E\18\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\18\0E\19\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\19\0F\1A\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1A\0F\1B\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1B\10\1C\02\00\00\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01\1C\10\1D\02\00\00\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01\1D\11\1E\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1E\11\1F\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1F\12 \02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02 \12!\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02!\13\22\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\22\13#\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02#\14$\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02$\14%\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02%\15&\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01&\16'\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01'\16(\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01(\17)\01\04\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01)\17*\01\05\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01*\00+\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01+\07,\02\02\03\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01,\18-\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01-\18.\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01.\19/\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01/\18-\01\01\03\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\01\03\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\011\180\01\01\03\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\012\1A1\01\04\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\013\1A2\01\05\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\014\1B3\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\015\1B4\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\016\1C5\01\01\01\00\01\01\01\01\03\01\03\02\03\01\03\01\03\02\037\18-\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\011\180\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\012\18-\01\01\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\030\18.\01\01\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\031\180\01\01\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\032\1D6\02\03\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\038\18-\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01-\18.\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01.\180\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\019\18-\01\01\01\00\01\04\04\02\01\01\01\01\01\02\01\01\01\01\01-\18.\01\01\01\00\01\04\04\02\01\01\01\01\01\02\01\01\01\01\01.\1E\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\1F7\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01: \02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\1C0\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\012\1C8\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01;!9\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04<\18-\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\010\18.\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\011\180\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\012\22\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02#:\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04=$\02\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04\02%\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\01\01\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01&;\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01>\18<\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01?'\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02(=\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01@)\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02*\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02+>\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01A,\02\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02-\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02\18-\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\011\180\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\012.?\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01B/@\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01C0\02\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\021A\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01D2B\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01E3C\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01F%\02\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\024D\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01G5E\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01H5F\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01I6G\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01J7H\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01K85\01\04\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01785\01\05\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\017\18-\01\01\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\01\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\011\180\01\01\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\0129I\03\06\01\00\01\03\03\02\02\02\02\01\01\02\02\02\02\01\01L\18-\01\01\01\00\01\01\01\02\03\02\03\01\01\02\03\02\03\01\01-\18.\01\01\01\00\01\01\01\02\03\02\03\01\01\02\03\02\03\01\01.\180\01\01\01\00\01\01\01\02\03\02\03\01\01\02\03\02\03\01\019 \02\01\03\01\00\01\01\01\02\02\02\02\01\04\02\02\02\02\01\04M\180\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\019:J\02\02\01\00\01\01\01\01\02\01\02\03\02\01\02\01\02\03\02N:K\02\02\01\00\01\01\01\01\02\01\02\03\02\01\02\01\02\03\02O\07L\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01P;M\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01QQ\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01U?5\01\01\01\00\01\03\03\02\02\02\02\01\01\02\02\02\02\01\01V@R\02\02\01\00\01\03\03\01\01\01\01\01\03\01\01\01\01\01\03WAS\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01XAT\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01YBU\02\02\01\00\01\03\03\01\01\01\01\01\03\01\01\01\01\01\03ZCV\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01[DW\01\04\01\00\01\01\01\01\02\01\02\04\05\01\02\01\02\04\05\\DW\01\05\01\00\01\01\01\01\02\01\02\04\05\01\02\01\02\04\05\\EX\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01]EY\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01^\07Z\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01_F[\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04`G\\\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04a\18-\01\03\01\00\01\01\01\01\02\01\02\01\02\01\02\01\02\01\020\18.\01\03\01\00\01\01\01\01\02\01\02\01\02\01\02\01\02\01\021\180\01\03\01\00\01\01\01\01\02\01\02\01\02\01\02\01\02\01\022H5\01\04\01\00\01\01\01\01\02\01\01\01\05\01\02\01\01\01\057H5\01\05\01\00\01\01\01\01\02\01\01\01\05\01\02\01\01\01\057H5\01\01\01\00\01\01\01\01\01\01\01\02\03\01\01\01\01\02\037I]\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01bI^\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01cJ_\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01d\18-\04\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01-\18.\04\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01.\180\04\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\019K`\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01eLa\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01fLb\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01gL(\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01(Mc\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01hMd\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01iHe\01\01\01\00\01\01\01\01\01\01\01\02\03\01\01\01\01\02\03jNf\01\04\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01kNf\01\05\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01kOg\01\03\01\00\01\01\01\02\03\02\03\03\02\02\03\02\03\03\02lPh\01\01\01\00\01\02\02\01\01\01\01\01\01\01\01\01\01\01\01mQi\01\03\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\01nQj\01\03\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\01oQk\01\03\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\01pR5\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01V\07L\02\02\03\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01PSl\02\02\01\00\01\01\01\01\03\01\03\02\03\01\03\01\03\02\03qSm\02\02\01\00\01\01\01\01\03\01\03\02\03\01\03\01\03\02\03rT\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02#n\02\02\01\00\01\01\01\01\01\01\02\01\01\01\01\01\02\01\01sUo\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01tVp\02\02\01\00\01\01\01\01\02\01\01\03\01\01\02\01\01\03\01uWq\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01vXr\01\01\01\00\01\01\01\02\01\01\01\01\01\02\01\01\01\01\01w%\02\02\02\01\00\01\01\01\01\02\01\02\03\02\01\02\01\02\03\02\02YR\02\02\01\00\01\01\01\01\01\01\01\02\03\01\01\01\01\01\01WZs\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01x", [22 x i16] [i16 0, i16 91, i16 207, i16 212, i16 219, i16 223, i16 224, i16 226, i16 231, i16 236, i16 239, i16 243, i16 246, i16 250, i16 255, i16 261, i16 264, i16 268, i16 271, i16 275, i16 280, i16 286], [407 x i16] [i16 0, i16 5, i16 25, i16 35, i16 66, i16 97, i16 128, i16 159, i16 176, i16 207, i16 238, i16 269, i16 300, i16 331, i16 362, i16 393, i16 424, i16 459, i16 490, i16 521, i16 552, i16 583, i16 601, i16 630, i16 697, i16 720, i16 747, i16 768, i16 785, i16 799, i16 816, i16 821, i16 833, i16 845, i16 859, i16 864, i16 878, i16 883, i16 888, i16 906, i16 911, i16 923, i16 928, i16 933, i16 943, i16 948, i16 953, i16 963, i16 975, i16 980, i16 992, i16 1004, i16 1016, i16 1030, i16 1047, i16 1059, i16 1073, i16 1078, i16 1111, i16 1149, i16 1161, i16 1173, i16 1190, i16 1202, i16 1211, i16 1225, i16 1244, i16 1258, i16 1270, i16 1282, i16 1326, i16 1338, i16 1350, i16 1355, i16 1376, i16 1388, i16 1402, i16 1425, i16 1457, i16 1469, i16 1483, i16 1497, i16 1535, i16 1540, i16 1559, i16 1573, i16 1585, i16 1597, i16 1613, i16 1627, i16 1632, i16 0, i16 10, i16 30, i16 40, i16 51, i16 71, i16 82, i16 102, i16 113, i16 133, i16 144, i16 164, i16 181, i16 192, i16 212, i16 223, i16 243, i16 254, i16 274, i16 285, i16 305, i16 316, i16 336, i16 347, i16 367, i16 378, i16 398, i16 409, i16 429, i16 440, i16 464, i16 475, i16 495, i16 506, i16 526, i16 537, i16 557, i16 568, i16 588, i16 606, i16 615, i16 635, i16 644, i16 658, i16 667, i16 702, i16 711, i16 725, i16 742, i16 752, i16 759, i16 773, i16 778, i16 790, i16 804, i16 826, i16 838, i16 850, i16 869, i16 893, i16 697, i16 916, i16 938, i16 958, i16 968, i16 985, i16 997, i16 1009, i16 1021, i16 1035, i16 1040, i16 1052, i16 1064, i16 1083, i16 1116, i16 1123, i16 1134, i16 1154, i16 1166, i16 1178, i16 1183, i16 1195, i16 1216, i16 1230, i16 1235, i16 1249, i16 1263, i16 1275, i16 1287, i16 1296, i16 1311, i16 1331, i16 1343, i16 1360, i16 1367, i16 1381, i16 1393, i16 1407, i16 1416, i16 1430, i16 1437, i16 1448, i16 1462, i16 1474, i16 1488, i16 1502, i16 1511, i16 1520, i16 1545, i16 1550, i16 1564, i16 1578, i16 1590, i16 1602, i16 1618, i16 1637, i16 0, i16 12, i16 14, i16 1092, i16 30, i16 0, i16 14, i16 12, i16 593, i16 638, i16 649, i16 1095, i16 0, i16 16, i16 168, i16 680, i16 0, i16 0, i16 3, i16 1, i16 18, i16 16, i16 0, i16 793, i16 1, i16 18, i16 16, i16 0, i16 793, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 793, i16 18, i16 16, i16 1, i16 20, i16 18, i16 793, i16 0, i16 16, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 793, i16 18, i16 16, i16 1, i16 20, i16 18, i16 793, i16 0, i16 16, i16 3, i16 22, i16 32, i16 45, i16 58, i16 76, i16 89, i16 107, i16 120, i16 138, i16 151, i16 171, i16 186, i16 199, i16 217, i16 230, i16 248, i16 261, i16 279, i16 292, i16 310, i16 323, i16 341, i16 354, i16 372, i16 385, i16 403, i16 416, i16 434, i16 449, i16 469, i16 482, i16 500, i16 513, i16 531, i16 544, i16 562, i16 575, i16 595, i16 610, i16 622, i16 640, i16 652, i16 662, i16 683, i16 706, i16 715, i16 728, i16 732, i16 737, i16 744, i16 755, i16 763, i16 775, i16 781, i16 795, i16 808, i16 813, i16 829, i16 841, i16 854, i16 873, i16 896, i16 900, i16 919, i16 940, i16 960, i16 971, i16 988, i16 1000, i16 1012, i16 1025, i16 1037, i16 1043, i16 1055, i16 1068, i16 1098, i16 1108, i16 1119, i16 1128, i16 1141, i16 1157, i16 1169, i16 1180, i16 1186, i16 1198, i16 1207, i16 1220, i16 1232, i16 1239, i16 1253, i16 1266, i16 1278, i16 1291, i16 1303, i16 1318, i16 1334, i16 1346, i16 1363, i16 1371, i16 1384, i16 1397, i16 1411, i16 1420, i16 1433, i16 1442, i16 1452, i16 1465, i16 1478, i16 1492, i16 1506, i16 1515, i16 1527, i16 1547, i16 1554, i16 1568, i16 1581, i16 1593, i16 1607, i16 1622, i16 1641], [8250 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\00\00\00\00\01\00\00\00\00\01\00\01\01\01\01\00\01\01\01\01\00\01\00\01\01\01\01\01\01\01\00\00\00\00\00\00\02\02\02\02\02\02\02\02\02\02\02\02\02\02\01\01\01\01\02\01\01\01\01\02\01\02\02\02\02\01\02\02\02\02\01\02\01\02\02\02\02\02\02\00\00\00\00\00\00\00\03\03\03\03\03\03\03\03\03\03\03\03\03\03\02\02\02\02\03\02\02\02\02\03\02\03\03\03\03\02\03\03\03\03\02\03\02\03\03\03\03\03\03\02\00\00\00\00\00\00\04\04\04\04\04\04\04\04\04\04\04\04\04\04\03\03\03\03\04\03\03\03\03\04\03\04\04\04\04\03\04\04\04\04\03\04\03\04\04\04\03\03\03\02\00\00\00\00\00\00\03\03\03\03\03\03\03\03\03\03\03\03\03\05\02\02\02\02\03\02\02\02\02\03\02\03\03\03\03\02\03\03\03\03\02\03\02\03\03\03\03\03\03\02\00\00\00\00\00\00\04\04\04\04\04\04\04\04\04\04\04\04\04\06\03\03\03\03\04\03\03\03\03\04\03\04\04\04\04\03\04\04\04\04\03\04\03\04\04\04\03\03\03\02\00\00\00\00\00\00\04\04\04\04\04\04\04\04\04\04\04\04\04\06\03\03\03\03\04\03\03\03\03\04\03\04\04\04\04\03\04\04\04\04\03\04\03\04\04\04\04\04\04\03\00\00\00\00\00\00\05\05\05\05\05\05\05\03\03\03\03\03\03\05\04\04\04\04\05\04\04\04\04\05\04\05\05\05\05\04\05\05\05\05\04\05\04\05\03\03\03\03\03\02\00\00\00\00\00\00\06\06\06\06\06\06\06\04\04\04\04\04\04\06\05\05\05\05\06\05\05\05\05\06\05\06\06\06\06\05\06\06\06\06\05\06\05\06\04\04\03\03\03\02\00\00\00\00\00\00\00\00\00\00\00\00\00\03\05\03\03\03\05\05\00\00\00\00\00\00\00\00\00\00\00\00\05\05\05\06\07\05\07\05\04\05\04\05\05\05\05\05\05\04\00\00\00\00\00\00\00\00\00\00\00\00\00\04\06\04\04\04\06\06\00\00\00\00\00\00\00\00\00\00\00\00\06\06\06\07\08\06\08\06\05\06\05\06\05\05\05\05\05\04\00\00\00\00\00\00\05\05\05\05\05\05\05\03\03\03\03\03\03\05\04\04\04\04\05\04\04\04\04\05\04\05\05\05\05\04\09\07\05\05\04\05\04\05\03\03\03\03\03\02\00\00\00\00\00\00\06\06\06\06\06\06\06\04\04\04\04\04\04\06\05\05\05\05\06\05\05\05\05\06\05\06\06\06\06\05\0A\08\06\06\05\06\05\06\04\04\03\03\03\02\00\00\00\00\00\00\07\07\07\07\07\07\07\05\07\05\05\05\07\07\06\06\00\00\00\06\06\06\06\01\06\07\07\07\07\08\0B\09\09\07\06\07\06\07\05\05\06\06\01\01\00\00\00\00\00\00\07\07\07\08\08\08\07\06\08\06\06\06\08\08\06\06\00\00\00\07\07\06\06\01\06\07\07\07\07\08\0B\09\09\07\06\07\06\07\05\05\06\06\01\01\00\00\00\00\00\00\08\08\08\09\09\09\08\07\09\07\07\07\09\09\07\07\06\06\07\08\08\07\07\07\07\08\08\08\08\09\0C\0A\0A\08\07\08\07\08\05\05\07\06\01\01\00\00\00\00\00\00\09\09\09\0A\0A\0A\09\08\0A\08\08\08\0A\0A\08\08\07\07\08\09\09\08\08\08\08\09\09\09\09\0A\0D\0B\0B\09\08\09\08\09\05\05\07\06\01\01\00\00\00\00\00\00\0A\0A\0A\0B\0B\0B\0A\09\0B\09\09\09\0B\0B\09\09\08\08\09\0A\0A\09\09\09\09\0A\0A\0A\0A\0B\0E\0C\0C\0A\09\0A\09\0A\05\05\08\07\06\05\00\00\00\00\00\00\0B\0B\0B\0C\0C\0C\0B\0A\0C\0A\0A\0A\0C\0C\0A\0A\09\09\0A\0B\0B\0A\0A\0A\0A\0B\0B\0B\0B\0C\0F\0D\0D\0B\0A\0B\0A\0B\05\05\08\07\06\05\00\00\00\00\00\00\0C\0C\0C\0D\0D\0D\0C\0B\0D\0B\0B\0B\0D\0D\0B\0B\0A\0A\0B\0C\0C\0B\0B\0B\0B\0C\0C\0C\0C\0D\10\0E\0E\0C\0B\0C\0B\0C\06\06\09\08\04\03\00\00\00\00\00\00\0C\0C\0C\0D\0D\0D\0C\0B\0D\0B\0B\0B\0D\0D\0C\0C\0B\0B\0B\0C\0D\0C\0C\0B\0B\0C\0C\0C\0C\0D\10\0E\0E\0C\0C\0D\0C\0D\07\07\09\08\04\03\00\00\00\00\00\00\0D\0D\0D\0E\0E\0E\0D\0C\0E\0C\0C\0C\0E\0E\0D\0D\0C\0C\0C\0D\0E\0D\0D\0C\0C\0D\0D\0D\0D\0E\11\0F\0F\0D\0D\0E\0D\0E\08\08\0A\06\01\06\00\00\00\00\00\00\0E\0E\0E\0F\0F\0F\0E\0D\0F\0D\0D\0D\0F\0F\00\00\00\00\0D\00\00\00\00\01\00\00\0E\0E\0E\00\12\10\10\00\0E\0F\0E\0F\05\05\07\06\01\01\00\00\00\00\00\00\0E\0E\0E\0F\10\0F\0E\0D\0F\0D\0D\0E\0F\0F\00\00\00\00\0D\00\00\00\00\01\00\00\0E\0E\0E\00\12\10\10\00\0E\0F\0E\0F\05\05\07\06\01\01\00\00\00\00\00\00\0F\0F\0F\10\11\10\0F\0E\10\0E\0E\0F\10\10\0E\0E\0D\0D\0E\0E\0F\0E\0E\0D\0D\0E\0F\0F\0F\0F\13\11\11\0E\0F\10\0F\10\05\05\01\01\01\01\00\00\00\00\00\00\0F\0F\0F\10\11\10\0F\0E\10\0E\0E\0F\10\10\0E\0E\0D\0D\0E\0E\0F\0E\0E\0D\0D\0E\0F\0F\10\0F\13\11\11\0E\0F\10\0F\10\05\05\01\01\01\01\00\00\00\00\00\00\10\10\10\11\12\11\10\0F\11\0F\0F\10\11\11\0F\0F\0E\0E\0F\0F\10\0F\0F\0E\0E\0F\10\10\11\10\14\12\12\0F\10\11\10\11\05\05\0B\06\00\07\00\00\00\00\00\00\10\10\11\11\13\12\10\10\12\10\10\11\12\11\0F\10\0F\0E\10\10\11\0F\10\0F\0E\0F\10\11\12\10\15\13\13\0F\11\12\10\11\05\05\0C\06\00\07\00\00\00\00\00\00\11\11\12\12\14\13\11\11\13\11\11\12\13\12\10\11\10\0F\11\11\12\10\11\10\0F\10\11\12\13\11\16\14\14\10\12\13\11\12\05\05\0D\09\01\01\00\00\00\00\00\00\12\12\13\13\15\14\12\12\14\12\12\13\14\13\11\0E\0D\10\12\0E\0F\11\12\11\0D\11\12\13\14\12\17\15\15\11\13\14\12\13\05\05\01\0A\01\01\00\00\00\00\00\00\13\12\13\13\15\14\13\13\14\12\12\13\14\14\11\0E\0D\10\12\0E\0F\11\12\11\0D\11\12\13\14\12\17\15\15\11\13\14\12\13\05\05\01\0A\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\12\00\11\00\11\00\00\00\00\01\00\12\13\14\15\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\13\00\12\00\11\00\00\00\00\01\00\12\14\14\16\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\11\00\11\00\00\00\00\01\00\12\0E\0E\15\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\12\00\11\00\00\00\00\01\00\12\0E\0E\16\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\11\00\11\00\00\00\00\01\00\12\0E\0E\15\00\16\10\10\00\00\01\00\14\05\05\01\06\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\12\00\11\00\00\00\00\01\00\12\0E\0E\16\00\16\10\10\00\00\01\00\14\05\05\01\06\01\01\00\00\00\00\00\00\15\13\15\15\17\16\15\15\16\14\14\15\16\16\14\12\13\11\13\12\13\12\13\12\10\13\15\15\17\13\18\16\16\12\14\15\13\15\05\05\01\02\01\01\00\00\00\00\00\00\16\14\16\16\18\17\16\16\17\15\15\16\17\17\15\13\14\12\14\13\14\13\14\13\11\14\16\16\18\14\19\17\17\13\15\16\14\16\05\05\01\02\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\05\01\01\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\01\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\05\0F\0B\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\10\0C\07\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\04\04\04\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\11\0D\04\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\12\0E\04\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\0F\02\00\00\00\00\00\00\00\17\0D\17\0E\19\18\17\17\18\16\16\17\18\18\00\00\00\00\0D\00\00\14\00\01\00\00\17\17\19\15\1A\18\18\14\16\17\15\17\05\05\13\0B\01\01\00\00\00\00\00\00\18\0D\17\17\1A\19\18\18\19\17\17\18\19\19\16\0E\0D\0D\15\0E\0F\0E\12\0D\0D\15\18\18\1A\0F\1B\19\19\15\17\10\16\18\05\05\01\01\01\01\00\00\00\00\00\00\18\0D\17\18\1A\19\19\18\19\17\18\18\19\1A\16\0E\0D\0D\15\0E\0F\0E\12\0D\0D\15\18\18\1A\0F\1B\19\19\15\17\10\16\18\05\05\01\01\01\01\00\00\00\00\00\00\19\15\18\19\1B\1A\1A\19\1A\18\19\19\1A\1B\17\14\15\13\16\14\15\15\15\14\12\16\19\19\1B\16\1C\1A\1A\11\13\18\12\19\05\05\01\06\01\01\00\00\00\00\00\00\19\15\18\19\1B\1A\1A\1A\1B\19\1A\1A\1A\1C\17\14\16\13\16\14\15\15\15\14\12\16\19\19\1C\16\1C\1A\1A\11\13\18\12\19\05\05\01\06\01\01\00\00\00\00\00\00\1A\16\19\1A\1C\1B\1B\1B\1C\1A\1B\1B\1B\1D\18\15\0D\14\0E\15\16\16\16\15\13\17\1A\1A\1D\17\1D\1B\1B\16\18\19\17\1A\05\05\14\10\01\01\00\00\00\00\00\00\1B\17\1A\1B\1D\1C\1C\1C\1D\1B\1C\1C\1C\1E\19\16\03\15\17\16\17\17\17\16\14\18\1B\1B\04\18\1E\1C\1C\17\19\1A\18\1B\09\09\15\11\00\09\00\00\00\00\00\00\1C\18\1B\1C\1E\1D\1D\1D\1E\1C\1D\1D\1D\1F\1A\17\17\16\18\17\18\18\18\17\15\19\1C\1C\1E\19\1F\1D\1D\18\1A\1B\19\1C\05\05\16\06\01\01\00\00\00\00\00\00\1C\18\1B\1C\1E\1D\1D\1D\1E\1C\1D\1D\1D\1F\1B\18\17\17\19\18\19\19\19\18\15\1A\1C\1C\1E\19\1F\1E\1E\18\1A\1B\19\1C\05\05\16\06\01\01\00\00\00\00\00\00\1D\19\1C\1D\1F\1E\1E\1E\1F\1D\1E\1E\1E \11\0E\0D\10\0E\0E\0F\11\12\11\0D\0E\12\13\1F\1A\1C\15\15\11\13\14\12\1D\05\05\01\12\01\01\00\00\00\00\00\00\1D\1A\1D\1D \1F\1E\1E \1E\1E\1F\1F \11\0E\0D\10\0E\0E\0F\11\12\11\0D\0E\12\13\1F\1B\1C\15\15\11\13\14\12\1D\05\05\01\12\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\01\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\01\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\0B\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\0B\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\13\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\13\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\06\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\06\01\01\00\00\00\00\00\00\1E\1B\1E\1E\22 \22 !!\22\1C\1B\18\19\1A\19\1B\1C\1A\19\16\1D\1E\1F \1D \1B\1C\1D\1A \05\05\01\09\01\01\00\00\00\00\00\00\1E\1B\1F\1F# !#!!\22\22#\1C\1B\19\19\1A\19\1C\1D\1B\1A\16\1D\1F\1F!\1E! !\1C\1D\1E\1B!\05\05\01\09\01\01\00\00\00\00\00\00\1F\1C $!!\22$\22\22##$\1D\1C\1A\1A\1B\1A\1D\1E\1C\1B\17\1E \22\1F\22!\22\1D\1E\1F\1C\22\05\05\01\01\01\01\00\00\00\00\00\00\1F\1C $!!#$#\22##$\1D\1C\1B\1A\1C\1A\1D\1F\1C\1B\17\1F #\1F#\22\22\1E\1E\1F\1C#\05\05\01\01\01\01\00\00\00\00\00\00 \1D!!%\22\22$%$#$$%\1E\00\00\1B\11\1B\1E \1D\1C\00\00!!$ $##\1F\1F \15\17\05\05\01\01\01\01\00\00\00\00\00\00 \1D!\22%\22#$%$$$$&\1E\00\00\1B\11\1C\1E \1D\1C\00\00!!$ $$#\1F\1F \15\17\05\05\01\01\01\01\00\00\00\00\00\00!\1E\22#&#$%&%%%%'\1F\1D\1C\1C\1D\1D\1F!\1E\1D\18 \22\22%!%%$ !\1D$\05\05\01\01\01\01\00\00\00\00\00\00\22\1F#$'$%&'&&&&( \1E\1D\1D\1E\1E \22\1F\1E\19!##&\22&&%!!\22\1E%\00\00\17\01\00\0A\00\00\00\00\00\00# $%(%&'('''')!\1F\1E\1E\1F\1F!# \1F\1A\22$$'#''&\22\22#\1F&\00\00\17\01\00\0A\00\00\00\00\00\00$!%&)&'()((((*\22 \1F\1F \22$! \1B#%%($(('##$ '\0A\0A\09\08\04\03\00\00\00\00\00\00\0E\0E\0E\0F\0F\0F\0E\0D\0F\0D\0D\0D\0F\0F#! !!#%\22!\1C$&&)%))($$%!(\05\05\07\06\01\01\00\00\00\00\00\00\0E\0E\0E\0F\10\0F\0E\0D\0F\0D\0D\0E\0F\0F#!! !!#%\22!\1C$''*%))($$%!(\05\05\07\06\01\01\00\00\00\00\00\00%\22&'*'()*))))+\11\0E\22!\22\22$\11#\11\0D\11((+&**)%%&\12\13\05\05\18\0B\08\0B\00\00\00\00\00\00%\22&'*'(*+))**+\11\0E#\22##%\11#\11\0D\11)),'++*%%'\12\13\05\05\18\0B\08\0B\00\00\00\00\00\00&#'(+()+,**++,$\22$#$$&&$\22\1D%**-(,,+&&(\22)\05\05\0E\00\02\01\00\00\00\00\00\00'$(),)*,-++,,-%#%$%%''%#\1E&++.)--,'')#*\05\05\0E\00\02\01\00\00\00\00\00\00(%)*-*+-.,,--.\00$\00\00\01\00\00(\00\01\00\01,,/\00\01\10\10(\00\01\00\01\05\05\0E\01\01\01\00\00\00\00\00\00\00&*+.+,./--../\00\00\00\00&&()\00\01\1F\01--0*..-)\00*$\01\0B\0B\19\14\01\01\00\00\00\00\00\00\00'+,.,,.0...//\00\00\00\00'')*\00\01 \01..0+//.*\00+%\01\0B\0B\19\14\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/1///0\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\13\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/20001\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\13\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/1///0\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\02\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/20001\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\02\01\01\00\00\00\00\00\00)(,-0--0311120&%&%))++&%!'001-110+)-&,\0C\0C\1A\15\09\0C\01\00\01\01\01\00*)-.1..1422231'&'&**,,'&\22(112.221,*.'-\05\05\1B\0F\01\01\00\00\00\00\00\00+*./2//2533342('('++--('#)223/332-+/(.\05\05\1C\0F\01\01\00\00\00\00\00\00,+\1703003644453\11\0E\0D\10\12\0E\0F\11\12\11\0D\1133404\15\15.,0)/\05\05\01\16\01\01\00\00\00\00\00\00-,/14114755564)()(,,..)($*4451543/-1*0\0D\0D\1D\17\0A\0D\00\00\00\00\00\00\11\1D025\13\115866675*)*\0F--\12/*)%+55626540.2+1\05\05\01\01\01\01\00\00\00\00\00\00.-136226977786+*+)../0+*&,66737651/3,2\05\05\1E\18\01\01\00\00\00\00\00\00.-136236978787+*+)../0+*&,6674875203-3\05\05\1E\18\01\01\00\00\00\00\00\00/.247347:89898\11\0E\0D\10\0E/0\11\12\11\0D\1177\145986314.4\05\05\1F\19\01\01\00\00\00\00\00\00//358358:8:898\11\0E\0D\10\0E01\11\12\11\0D\1188\146997314.4\05\05\1F\19\01\01\00\00\00\00\00\000\01469469;9;9:9,+,*/121,+'-9987::8425/5\05\05 \01\01\01\00\00\00\00\00\000\0156:47:;:;:::,+,*/131,+'-:998::952605\05\05 \01\01\01\00\00\00\00\00\001067;58;<;<;;;-,-+0242-,(.;::9;;:63716\05\05!\06\01\01\00\00\00\00\00\002178<69<\0C\0A=<<<.\0A\09\09135\0A\0A\0A\0A\0B<\0B\0B\0C<<;\0B\0A\0B\0A\0B\05\05!\06\01\01\00\00\00\00\00\003289=7:==<>===/-\1F,2 63.-)/=;(:=(<74827\0E\0E\09\08\04\03\00\00\00\00\00\0043)*>*+>>,,>>.\00\00.\00\01\00\004\00\01\000,<;\00\01==8\00\01\008\05\05\09\08\04\03\00\00\00\00\00\00549:?8;??=???>\00.\00\003475\1D.\001>=<\00>>>95939\05\05\22\1A\04\03\00\00\00\00\00\00649:@9;@?=@@@>\00.\00\003575\1D.\002>=<\00>?>9593:\05\05\22\1A\04\03\00\00\00\00\00\007\18:;A:AAA?\11\0E/\104\0E\0F\11\12\11\0D\1133=\12?\15\15:\13\14\12\13\05\05\01\1B\01\01\00\00\00\00\00\0085;\0F;\1C@?;\0F\1C\0F;\05\05\01\06\01\01\00\00\00\00\00\00\17\0D\17=D\18\17CC@\0ED\10A\0E\0E\0D\0D\0E\0E\0F7\0E\0D\0D\11@?\10;\1C@?<\0F\1C\0F;\05\05\01\06\01\01\00\00\00\00\00\0097<>E<>DDACECB0/\0D-\12688//\0E3A@><\17A@=6:\10<\05\05\01\0B\01\01\00\00\00\00\00\0097DEADEDB0/\0D-\12688/0\0E3B@>=\17A@>7;\10=\05\05\01\0B\01\01\00\00\00\00\00\00 8=@F>\22\18FBEFE\19\00\06\00\1B\11\00\00 \1D\1C\00\12CA?\0F@BA\158<4>\05\05\01\0A\01\01\00\00\00\00\00\00 8=@F>#\18FCEFE\1A\00\06\00\1B\11\00\00 \1D\1C\00\12CA@\0F@BA\158<4>\05\05\01\0A\01\01\00\00\00\00\00\00 8=@F>\22$GDFGF%\00\06\00\1B\11\00\00 \1D\1C\00\12DBA $CB\1F\1F \15?\05\05\01\0A\01\01\00\00\00\00\00\00 8=@F>#$GEFGF&\00\06\00\1B\11\00\00 \1D\1C\00\12DBB $CB\1F\1F \15?\05\05\01\0A\01\01\00\00\00\00\00\00:9>AG??EHFGHGC1\0E\0D\10\0E79\11\12\0D\0D\11E\01C>\16DC\009=5@\05\05\01\0B\01\01\00\00\00\00\00\00:9>AG?@FHGGHGD1\0E\0D\10\0E79\11\12\0D\0D\11E\01C>\16DC\009=5@\05\05\01\0B\01\01\00\00\00\00\00\00;:?BH@AGIHHIHE200.58:901*4FCD?AED?:>6A\05\05\07\06\01\01\00\00\00\00\00\00<;@CIABHJIIJIF311/69;:12+5GDE@BFE@;?7B\05\05\07\06\01\01\00\00\00\00\00\00=B:E\05\05\07\06\01\01\00\00\00\00\00\00>=DDKCEJLKKLKH53318;=<34-7KHIDFJID?C;F\05\05%\0B\01\01\00\00\00\00\00\00\10\10E\11LD\10KMLLML\11\11\0E\0D\10\22\22$\11\12\11\0D\11((J\1AGKJ\11\13&\12\13\05\05\0B\06\00\07\00\00\00\00\00\00\10\10E\11MD\10LMLLNL\11\11\0E\0D\10##%\11\12\11\0D\11))J\1BHLK\11\13'\12\13\05\05\0C\06\00\07\00\00\00\00\00\00?7FENE>MNMMOMB\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13J\12\17MLE\13\14\12\13\05\05\01\06\01\01\00\00\00\00\00\00?7FEOE>MNMMPMB\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13J\12\17MLE\13\14\12\13\05\05\01\06\01\01\00\00\00\00\00\00@>GFPFFNONNQNI\004\002\0D<>>45.8LI\1FE\17NMF@D>45/8LI\1FE\17NMF@D=G\0F\0F&\1D\0C\0E\00\00\00\00\00\00?7HENEGMQPMROK\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13\07\12\17\15\15EAE>H\05\05\01\1E\01\01\00\00\00\00\00\00?7HEOEGMQPMSOK\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13\07\12\17\15\15EAE>H\05\05\01\1E\01\01\00\00\00\00\00\0010I7;5HORQ@@673RONILTSKGKDN\00\00)\1F\00\00\03\00\02\00\03\02GFP\02UKPWZX\02ZVT:;87=ACC9:6?SPOJMUTLHLEO\12\12*\02\02\00\00\00\00\00\00\00GFP\02UKPWZX\02ZVT\01\01\01\01\02\01\01\01\01\02\01\02\02\02\02\01\02\02\02\02\01\02\01\02\12\12*\02\02\00\00\00\00\00\00\00H\1D!LVL+X[$T[WU;$\00\1B\00BD \00\0170TQP NVU\1FIMFP\00\00\0E\00\02\00\00\00\00\00\00\00IGQMWMQY\\YU\\XV<<\008\00CED:;8@UR\0EKOWVMJNGQ\13\13\01\0A\01\00\00\00\00\00\00\00IGQNXMQY\\ZV]XV<=\008\00CEE:;8@US\0EKPWVNKNHR\14\14\01\0A\01\00\00\00\00\00\00\00JHROYNRZ][W^YW42207:<;23,6HEFACGFA<@8C\05\05\07\06\01\01\00\00\00\00\00\00K:?BH@A[^\\X_ZX=>99>DFF;<9AVTQLQXWOLOIS\05\05\07\06\01\01\00\00\00\00\00\00L\08::\08EGG<=:BWURM\0DYXPMPJT\05\05\07\06\01\01\00\00\00\00\00\00MISPZOS]`^Za\1CY??;;?FHH=>;CXVSNRZYQNQKU\04\15+\02\00\0F\00\00\00\00\00\00NJTQ[PT^a_[b\\Z@\06\00\00\00GII\06\01\06\07\07\07\07\08\0B\09\09EO\07\06\07\05\05,\01\01\01\00\00\00\00\00\00OKUR\\QU_b`\\c][A@<<@HJJ>?\18\15IKK\0E\0D>\11[YVP\0B\\[SQTNW\00\00.\02\00\00\00\00\00\00\00\00RMXS^SWbdc^e_(CB?=AJLL?@?E\\ZWQT&%TRUO%\00\00\17\01\00\0A\00\00\00\00\00\00SNYT_TXced_f`)DC@>BKMM@A@F][XRU'&USVP&\00\00\17\01\00\0A\00\00\00\00\00\00)OZU`UYdfe`ga]&%&%))++&%!'^\\YSV]\\VTWQX\15\16/\15\0E\10\00\00\00\00\00\00)OZU`UYdfe`ga]EDA?CLNNA%!'^\\YSV]\\VTWQX\15\160 \0F\11\00\00\00\00\00\00TP[VaVZdfe`ga]FEB@DMOOBBAG^\\YSV]\\VTWQX\15\161\15\10\01\00\00\00\00\00\00)OZU`UYegfahb^&%&%))++&%!'^\\YSV]\\VTWQX\15\162!\09\12\00\00\00\00\00\00", [50 x i16] [i16 0, i16 85, i16 166, i16 258, i16 345, i16 443, i16 530, i16 621, i16 723, i16 827, i16 930, i16 1028, i16 1133, i16 1232, i16 1327, i16 1398, i16 1468, i16 1535, i16 1600, i16 1669, i16 1747, i16 1827, i16 1907, i16 1974, i16 2041, i16 2107, i16 2179, i16 2274, i16 2367, i16 2457, i16 2541, i16 2628, i16 2722, i16 2815, i16 2902, i16 2987, i16 3075, i16 3157, i16 3246, i16 3268, i16 3291, i16 3342, i16 3376, i16 3393, i16 3412, i16 3416, i16 3417, i16 3420, i16 3422, i16 3426], [3429 x i16] [i16 1, i16 273, i16 463, i16 844, i16 1101, i16 858, i16 1122, i16 1977, i16 2348, i16 2594, i16 3018, i16 3253, i16 3606, i16 4397, i16 4635, i16 4806, i16 5023, i16 5441, i16 5662, i16 5858, i16 5884, i16 6040, i16 6288, i16 6938, i16 7125, i16 7310, i16 7573, i16 7838, i16 8226, i16 8624, i16 9025, i16 9539, i16 9921, i16 10130, i16 10434, i16 10640, i16 10937, i16 11606, i16 11946, i16 12190, i16 12640, i16 13317, i16 14931, i16 15189, i16 6952, i16 16066, i16 16636, i16 17024, i16 17365, i16 17819, i16 18049, i16 18224, i16 18661, i16 18735, i16 18983, i16 19067, i16 19176, i16 19479, i16 4589, i16 20213, i16 20433, i16 20653, i16 21280, i16 21712, i16 21810, i16 22607, i16 22680, i16 22719, i16 23133, i16 23665, i16 24019, i16 24674, i16 25025, i16 25183, i16 25483, i16 25641, i16 25844, i16 26175, i16 26395, i16 26524, i16 26932, i16 27130, i16 27204, i16 27426, i16 27844, i16 5, i16 276, i16 473, i16 846, i16 1104, i16 864, i16 1133, i16 1981, i16 2352, i16 2601, i16 3021, i16 3258, i16 3616, i16 4401, i16 4639, i16 4809, i16 5026, i16 5445, i16 5666, i16 6044, i16 6295, i16 7312, i16 7577, i16 7842, i16 8229, i16 8628, i16 8755, i16 9030, i16 9544, i16 9925, i16 10134, i16 10437, i16 10644, i16 10948, i16 11608, i16 11950, i16 12197, i16 2107, i16 12746, i16 12967, i16 13321, i16 14935, i16 15199, i16 15853, i16 16070, i16 16639, i16 17027, i16 17267, i16 17823, i16 18056, i16 18234, i16 18665, i16 18739, i16 19180, i16 19307, i16 19483, i16 19792, i16 20029, i16 20217, i16 20437, i16 20660, i16 21285, i16 21815, i16 22082, i16 22611, i16 22685, i16 22723, i16 23143, i16 23669, i16 24027, i16 24687, i16 25187, i16 25490, i16 26186, i16 4589, i16 26528, i16 26936, i16 27209, i16 27434, i16 27820, i16 27854, i16 9, i16 279, i16 480, i16 848, i16 1107, i16 872, i16 1148, i16 1985, i16 2356, i16 2608, i16 3024, i16 3263, i16 3626, i16 4405, i16 4643, i16 4812, i16 5029, i16 5255, i16 5449, i16 5670, i16 5888, i16 6048, i16 6302, i16 4895, i16 7314, i16 7581, i16 7846, i16 8232, i16 8632, i16 8760, i16 9035, i16 9301, i16 9549, i16 94, i16 10138, i16 10440, i16 10648, i16 10959, i16 11610, i16 11954, i16 12204, i16 12644, i16 12750, i16 12972, i16 13325, i16 14939, i16 15209, i16 16074, i16 16408, i16 16642, i16 17030, i16 17271, i16 17368, i16 17659, i16 17827, i16 18063, i16 18244, i16 18743, i16 19070, i16 19184, i16 19487, i16 19796, i16 276, i16 20221, i16 20441, i16 20667, i16 21048, i16 21132, i16 21290, i16 21635, i16 5678, i16 21820, i16 22151, i16 22255, i16 22391, i16 22615, i16 22727, i16 23153, i16 23672, i16 24032, i16 24697, i16 25191, i16 25497, i16 26193, i16 26399, i16 26534, i16 26940, i16 27135, i16 27215, i16 27444, i16 27824, i16 27864, i16 13, i16 282, i16 493, i16 850, i16 1110, i16 881, i16 1165, i16 1989, i16 2221, i16 2360, i16 2615, i16 3027, i16 3268, i16 3639, i16 4409, i16 4647, i16 4815, i16 5032, i16 5453, i16 5674, i16 5892, i16 6052, i16 6309, i16 7129, i16 7281, i16 7316, i16 7585, i16 7850, i16 8235, i16 8636, i16 9041, i16 9308, i16 9553, i16 9929, i16 10091, i16 10142, i16 10443, i16 10652, i16 10973, i16 11612, i16 11958, i16 12211, i16 12648, i16 12754, i16 12977, i16 13329, i16 14943, i16 15219, i16 15857, i16 16078, i16 16412, i16 16645, i16 17033, i16 17275, i16 17371, i16 17831, i16 18070, i16 18257, i16 18747, i16 19073, i16 19188, i16 19339, i16 19491, i16 19686, i16 19800, i16 20032, i16 20225, i16 20445, i16 21295, i16 21716, i16 21825, i16 22088, i16 22731, i16 23166, i16 23675, i16 24037, i16 25029, i16 25195, i16 25381, i16 25504, i16 26202, i16 26402, i16 26540, i16 27220, i16 27452, i16 27828, i16 27874, i16 17, i16 285, i16 503, i16 852, i16 1113, i16 890, i16 1182, i16 1993, i16 2228, i16 2364, i16 2622, i16 3030, i16 3273, i16 3649, i16 4413, i16 4651, i16 4791, i16 4818, i16 5035, i16 5259, i16 5457, i16 5678, i16 5896, i16 6056, i16 6316, i16 6942, i16 7133, i16 7318, i16 7589, i16 7854, i16 8238, i16 8640, i16 8765, i16 8827, i16 9046, i16 9314, i16 9557, i16 9933, i16 10147, i16 10446, i16 10656, i16 10984, i16 11616, i16 11962, i16 12218, i16 12652, i16 12758, i16 13129, i16 13333, i16 14947, i16 15229, i16 15861, i16 16082, i16 16416, i16 16648, i16 17036, i16 17279, i16 17374, i16 17663, i16 17835, i16 18077, i16 18267, i16 18669, i16 18751, i16 18988, i16 19076, i16 19192, i16 19343, i16 19437, i16 19495, i16 19804, i16 20035, i16 20229, i16 20449, i16 20674, i16 21300, i16 21638, i16 16919, i16 21720, i16 21796, i16 21830, i16 22735, i16 23176, i16 23678, i16 24042, i16 24707, i16 25033, i16 25199, i16 25387, i16 25513, i16 26209, i16 26406, i16 26546, i16 26944, i16 27225, i16 27460, i16 27832, i16 27884, i16 21, i16 288, i16 513, i16 854, i16 1116, i16 897, i16 1195, i16 1997, i16 2233, i16 2368, i16 2629, i16 3033, i16 3278, i16 3674, i16 4417, i16 4655, i16 4821, i16 5038, i16 5263, i16 5461, i16 5682, i16 5900, i16 6060, i16 6323, i16 6948, i16 7137, i16 7320, i16 7593, i16 7858, i16 8241, i16 8644, i16 8770, i16 9051, i16 9562, i16 9937, i16 10152, i16 10449, i16 10660, i16 10998, i16 11619, i16 11966, i16 12225, i16 12656, i16 12762, i16 12982, i16 13337, i16 14951, i16 15239, i16 15865, i16 16086, i16 16651, i16 17039, i16 17378, i16 17839, i16 18084, i16 18280, i16 18755, i16 18993, i16 19079, i16 19196, i16 19499, i16 19691, i16 19808, i16 20038, i16 20233, i16 20453, i16 20681, i16 21305, i16 21641, i16 21724, i16 21835, i16 22735, i16 23189, i16 23682, i16 24050, i16 24717, i16 25037, i16 25203, i16 25522, i16 7946, i16 26410, i16 26552, i16 26948, i16 27231, i16 27470, i16 27836, i16 27894, i16 25, i16 291, i16 523, i16 856, i16 1119, i16 1448, i16 1454, i16 2001, i16 2372, i16 2636, i16 3036, i16 3283, i16 3690, i16 4421, i16 4659, i16 4824, i16 273, i16 5465, i16 5686, i16 5863, i16 5904, i16 6064, i16 6330, i16 6952, i16 7141, i16 7286, i16 7322, i16 7597, i16 7862, i16 8244, i16 8648, i16 8831, i16 9057, i16 9567, i16 9941, i16 10096, i16 10156, i16 10452, i16 10664, i16 11015, i16 11621, i16 11970, i16 12232, i16 12660, i16 12766, i16 13341, i16 14955, i16 15249, i16 15869, i16 16090, i16 16654, i16 16919, i16 17042, i16 17283, i16 17381, i16 17668, i16 17843, i16 18091, i16 18296, i16 18759, i16 19082, i16 19200, i16 19503, i16 20041, i16 20181, i16 20237, i16 20457, i16 20688, i16 21052, i16 21310, i16 21840, i16 22155, i16 22259, i16 22398, i16 22619, i16 22690, i16 22727, i16 23205, i16 23685, i16 24055, i16 24727, i16 25207, i16 25529, i16 26222, i16 26413, i16 26558, i16 26952, i16 10488, i16 10728, i16 27840, i16 27904, i16 29, i16 294, i16 463, i16 858, i16 1122, i16 2005, i16 2238, i16 2376, i16 2643, i16 3039, i16 3288, i16 3700, i16 4397, i16 4663, i16 4827, i16 5041, i16 5267, i16 5441, i16 5690, i16 5868, i16 5908, i16 6068, i16 6337, i16 6956, i16 7145, i16 7324, i16 7502, i16 7601, i16 7866, i16 8247, i16 8652, i16 8835, i16 9062, i16 9320, i16 9572, i16 9820, i16 9945, i16 10160, i16 10455, i16 10668, i16 11026, i16 11625, i16 11815, i16 11974, i16 12239, i16 12664, i16 12770, i16 13133, i16 13345, i16 14959, i16 15259, i16 15873, i16 16094, i16 16420, i16 16657, i16 17045, i16 17287, i16 17384, i16 17672, i16 17847, i16 18098, i16 18306, i16 18673, i16 18763, i16 18998, i16 19085, i16 19205, i16 19347, i16 19507, i16 20044, i16 20185, i16 20241, i16 20461, i16 20695, i16 21315, i16 21644, i16 21695, i16 21728, i16 21845, i16 22263, i16 22405, i16 22623, i16 22695, i16 22739, i16 23215, i16 23688, i16 24060, i16 24674, i16 25041, i16 25211, i16 25536, i16 25645, i16 25851, i16 26175, i16 26417, i16 26564, i16 26956, i16 27140, i16 27238, i16 27482, i16 27844, i16 28220, i16 36, i16 301, i16 473, i16 864, i16 1133, i16 1792, i16 1878, i16 2016, i16 2251, i16 2384, i16 2658, i16 3046, i16 3301, i16 3719, i16 4401, i16 4672, i16 4836, i16 5048, i16 5275, i16 5469, i16 5697, i16 5916, i16 6076, i16 6352, i16 6965, i16 7153, i16 7333, i16 7513, i16 7609, i16 7882, i16 8257, i16 8663, i16 8775, i16 8844, i16 9075, i16 9334, i16 9584, i16 9953, i16 10169, i16 10461, i16 10679, i16 11046, i16 11634, i16 11825, i16 11981, i16 12252, i16 12671, i16 12781, i16 12987, i16 13142, i16 13271, i16 13355, i16 14965, i16 15275, i16 15880, i16 16104, i16 16427, i16 16669, i16 17055, i16 17391, i16 17854, i16 18325, i16 18678, i16 18771, i16 19092, i16 19213, i16 19312, i16 19355, i16 19517, i16 19696, i16 19812, i16 19936, i16 20053, i16 20253, i16 20473, i16 20718, i16 21327, i16 21651, i16 21736, i16 21853, i16 22094, i16 22159, i16 22270, i16 22417, i16 22630, i16 22703, i16 22758, i16 23237, i16 23696, i16 24082, i16 24687, i16 25048, i16 25217, i16 25551, i16 25652, i16 25864, i16 26186, i16 26427, i16 26579, i16 26964, i16 27245, i16 27495, i16 27854, i16 28227, i16 43, i16 309, i16 480, i16 872, i16 1148, i16 2028, i16 2264, i16 2395, i16 2679, i16 3057, i16 3322, i16 3738, i16 4425, i16 4684, i16 4844, i16 5056, i16 5285, i16 5474, i16 5704, i16 5923, i16 6084, i16 6367, i16 6971, i16 7159, i16 7343, i16 7524, i16 7620, i16 7895, i16 8267, i16 8673, i16 8786, i16 8850, i16 9084, i16 9344, i16 9592, i16 9833, i16 9958, i16 10177, i16 10465, i16 10686, i16 11066, i16 11640, i16 11992, i16 12273, i16 12677, i16 12791, i16 12998, i16 13149, i16 13279, i16 13365, i16 14974, i16 15300, i16 15895, i16 16114, i16 16434, i16 16681, i16 17065, i16 17396, i16 17680, i16 17865, i16 18344, i16 18780, i16 19100, i16 19221, i16 19362, i16 19530, i16 19820, i16 19922, i16 19944, i16 20015, i16 20058, i16 20195, i16 20265, i16 20485, i16 20741, i16 21338, i16 21660, i16 21747, i16 21861, i16 22104, i16 22170, i16 22280, i16 22436, i16 22637, i16 22780, i16 23259, i16 23703, i16 24101, i16 24697, i16 25227, i16 25392, i16 25566, i16 25662, i16 25883, i16 26193, i16 26436, i16 26591, i16 26970, i16 27149, i16 27253, i16 27510, i16 27864, i16 28234, i16 51, i16 317, i16 493, i16 881, i16 1165, i16 2039, i16 2276, i16 2403, i16 2694, i16 3065, i16 3337, i16 3760, i16 4432, i16 4691, i16 4852, i16 5062, i16 5293, i16 5481, i16 5712, i16 5932, i16 6090, i16 6378, i16 6977, i16 7166, i16 7291, i16 7353, i16 7535, i16 7630, i16 7911, i16 8275, i16 8682, i16 8856, i16 9093, i16 9355, i16 9600, i16 9965, i16 10101, i16 10185, i16 10471, i16 10697, i16 11089, i16 11645, i16 12002, i16 12292, i16 12684, i16 12803, i16 13012, i16 13157, i16 13288, i16 13375, i16 14984, i16 15328, i16 15909, i16 16124, i16 16443, i16 16693, i16 16923, i16 17074, i16 17298, i16 17402, i16 17873, i16 18111, i16 18344, i16 18790, i16 19007, i16 19108, i16 19229, i16 19537, i16 19710, i16 19826, i16 19950, i16 20064, i16 20273, i16 20493, i16 20756, i16 21351, i16 21667, i16 21753, i16 21870, i16 22114, i16 22805, i16 23284, i16 23710, i16 24120, i16 25054, i16 25232, i16 25398, i16 25581, i16 25671, i16 25900, i16 26202, i16 26445, i16 26602, i16 26976, i16 27261, i16 27525, i16 27874, i16 28241, i16 61, i16 326, i16 503, i16 890, i16 1182, i16 2050, i16 2292, i16 2410, i16 2707, i16 3071, i16 3348, i16 3779, i16 4441, i16 4699, i16 4796, i16 4861, i16 5069, i16 5301, i16 5457, i16 5719, i16 5941, i16 6098, i16 6393, i16 6986, i16 7176, i16 7363, i16 7546, i16 7641, i16 7928, i16 8287, i16 8692, i16 8796, i16 8865, i16 9105, i16 9369, i16 9610, i16 9974, i16 10193, i16 10477, i16 10708, i16 11109, i16 11652, i16 11833, i16 12013, i16 12313, i16 12689, i16 12816, i16 13167, i16 13299, i16 13385, i16 14994, i16 15356, i16 15925, i16 16134, i16 16453, i16 16706, i16 17084, i16 17410, i16 17687, i16 17879, i16 18122, i16 18366, i16 18684, i16 18799, i16 19017, i16 19117, i16 19237, i16 19369, i16 19442, i16 19543, i16 19833, i16 19957, i16 20073, i16 20279, i16 20499, i16 20767, i16 21363, i16 21674, i16 21703, i16 21759, i16 21801, i16 21881, i16 22177, i16 22245, i16 22287, i16 22449, i16 22821, i16 23306, i16 23714, i16 24130, i16 24707, i16 25065, i16 25241, i16 25409, i16 25600, i16 25678, i16 25913, i16 26209, i16 26456, i16 26614, i16 26984, i16 27269, i16 27540, i16 27884, i16 28248, i16 70, i16 336, i16 513, i16 897, i16 1195, i16 1800, i16 1893, i16 2063, i16 2309, i16 2417, i16 2720, i16 3081, i16 3367, i16 3813, i16 4446, i16 4708, i16 4868, i16 5077, i16 5310, i16 5489, i16 5727, i16 5952, i16 6105, i16 6406, i16 6994, i16 7183, i16 7373, i16 7650, i16 7946, i16 8295, i16 8701, i16 8806, i16 8871, i16 9115, i16 9380, i16 9620, i16 9980, i16 10201, i16 10483, i16 10719, i16 11132, i16 11662, i16 11846, i16 12023, i16 12332, i16 12695, i16 12828, i16 13026, i16 13175, i16 13308, i16 13395, i16 15004, i16 15384, i16 15940, i16 16144, i16 16460, i16 16721, i16 17096, i16 17416, i16 17888, i16 18139, i16 18388, i16 18691, i16 18808, i16 19027, i16 19127, i16 19246, i16 19552, i16 19717, i16 19840, i16 19964, i16 20077, i16 20287, i16 20507, i16 20782, i16 21373, i16 21682, i16 21767, i16 21890, i16 22186, i16 22296, i16 22466, i16 22843, i16 23331, i16 23723, i16 24155, i16 24717, i16 25073, i16 25250, i16 25619, i16 25685, i16 25926, i16 26466, i16 26627, i16 26990, i16 27280, i16 27561, i16 27894, i16 28255, i16 77, i16 343, i16 523, i16 904, i16 1208, i16 1448, i16 1454, i16 2075, i16 2323, i16 2425, i16 2735, i16 3087, i16 3378, i16 3838, i16 4453, i16 4714, i16 4878, i16 5083, i16 5496, i16 5734, i16 5876, i16 5960, i16 6115, i16 6425, i16 7003, i16 7191, i16 7302, i16 7379, i16 7557, i16 7659, i16 7955, i16 8305, i16 8714, i16 8880, i16 9125, i16 9391, i16 9629, i16 9987, i16 10111, i16 10210, i16 10488, i16 10728, i16 11158, i16 11669, i16 12030, i16 12345, i16 12701, i16 12839, i16 13405, i16 15014, i16 15412, i16 15956, i16 16154, i16 16470, i16 16734, i16 16937, i16 17107, i16 17424, i16 17694, i16 17894, i16 18150, i16 18413, i16 18818, i16 19135, i16 19254, i16 19376, i16 19559, i16 20084, i16 20202, i16 20295, i16 20515, i16 20797, i16 21383, i16 21900, i16 22127, i16 22192, i16 22302, i16 22477, i16 22644, i16 22711, i16 22862, i16 23359, i16 23729, i16 24171, i16 24727, i16 25082, i16 25255, i16 25630, i16 25694, i16 26222, i16 26471, i16 26640, i16 26997, i16 27904, i16 28262, i16 86, i16 533, i16 911, i16 1220, i16 1532, i16 1624, i16 2087, i16 2432, i16 2748, i16 3094, i16 3391, i16 3857, i16 4013, i16 4460, i16 4887, i16 5090, i16 5503, i16 5741, i16 5968, i16 6016, i16 6123, i16 6440, i16 7198, i16 7387, i16 7669, i16 7964, i16 8314, i16 8518, i16 9137, i16 9641, i16 9994, i16 10217, i16 10492, i16 10735, i16 11178, i16 11432, i16 12036, i16 12356, i16 13415, i16 15021, i16 15431, i16 16164, i16 16480, i16 16746, i16 17432, i16 17901, i16 18163, i16 18432, i16 19566, i16 20092, i16 20303, i16 20523, i16 20812, i16 21394, i16 22872, i16 23381, i16 23735, i16 24187, i16 24737, i16 25089, i16 25265, i16 25701, i16 25942, i16 26231, i16 26478, i16 26654, i16 27003, i16 27289, i16 27578, i16 13487, i16 27914, i16 90, i16 543, i16 915, i16 1227, i16 1545, i16 1648, i16 2091, i16 2436, i16 2755, i16 3098, i16 3398, i16 3867, i16 4038, i16 4465, i16 4891, i16 5094, i16 5317, i16 5507, i16 6127, i16 6447, i16 7393, i16 7673, i16 7971, i16 8321, i16 8526, i16 8887, i16 8974, i16 9141, i16 9645, i16 10224, i16 10496, i16 10742, i16 11194, i16 11436, i16 12040, i16 12363, i16 12707, i16 13421, i16 15025, i16 15441, i16 16170, i16 16484, i16 16750, i16 17437, i16 17905, i16 18457, i16 18826, i16 19570, i16 20307, i16 20527, i16 20819, i16 21401, i16 21910, i16 22309, i16 22490, i16 22888, i16 23397, i16 23740, i16 24196, i16 24744, i16 25269, i16 25419, i16 25705, i16 26242, i16 26660, i16 27007, i16 27295, i16 27588, i16 13492, i16 27921, i16 94, i16 553, i16 919, i16 1234, i16 1550, i16 1657, i16 2440, i16 2762, i16 3102, i16 3405, i16 3877, i16 4069, i16 4470, i16 4895, i16 5098, i16 5322, i16 5449, i16 5972, i16 6021, i16 6131, i16 6454, i16 7399, i16 7566, i16 8328, i16 9147, i16 9404, i16 9649, i16 9842, i16 10232, i16 10500, i16 10749, i16 11213, i16 11440, i16 11574, i16 11677, i16 11854, i16 12044, i16 12370, i16 13427, i16 15029, i16 15451, i16 16176, i16 5453, i16 16754, i16 17441, i16 17909, i16 18698, i16 19144, i16 20311, i16 20531, i16 20826, i16 21406, i16 22913, i16 23422, i16 23745, i16 24205, i16 24754, i16 25709, i16 25949, i16 26253, i16 26666, i16 27011, i16 27156, i16 27301, i16 27598, i16 13497, i16 27928, i16 98, i16 563, i16 923, i16 1241, i16 1555, i16 1666, i16 2444, i16 2769, i16 3106, i16 3412, i16 3887, i16 4085, i16 4475, i16 4899, i16 5102, i16 5511, i16 5745, i16 6135, i16 6461, i16 7405, i16 7677, i16 7978, i16 8335, i16 8534, i16 8891, i16 9153, i16 9653, i16 9998, i16 10239, i16 10504, i16 10756, i16 11229, i16 11444, i16 11681, i16 11859, i16 12048, i16 12377, i16 13433, i16 15033, i16 15461, i16 16182, i16 16758, i16 17445, i16 17913, i16 18482, i16 19574, i16 20315, i16 20535, i16 20833, i16 21411, i16 21914, i16 22932, i16 23441, i16 23751, i16 24217, i16 24764, i16 25273, i16 25713, i16 25956, i16 26262, i16 26672, i16 27307, i16 27608, i16 13502, i16 27935, i16 102, i16 352, i16 573, i16 927, i16 1248, i16 1561, i16 1677, i16 2448, i16 2776, i16 3110, i16 3419, i16 3900, i16 4480, i16 4721, i16 4903, i16 5106, i16 5327, i16 5515, i16 5749, i16 6139, i16 6468, i16 2144, i16 7411, i16 7985, i16 8342, i16 8542, i16 9157, i16 9657, i16 9847, i16 10246, i16 10508, i16 10763, i16 11248, i16 11448, i16 11685, i16 11864, i16 12052, i16 12384, i16 12851, i16 13038, i16 13183, i16 13439, i16 15037, i16 15471, i16 16188, i16 16489, i16 16762, i16 17449, i16 17917, i16 18170, i16 18501, i16 18830, i16 19148, i16 20319, i16 20539, i16 20840, i16 21417, i16 22951, i16 23463, i16 23757, i16 24229, i16 24774, i16 25717, i16 26273, i16 26678, i16 27314, i16 27620, i16 13507, i16 27942, i16 106, i16 580, i16 931, i16 1255, i16 1566, i16 1686, i16 2095, i16 2338, i16 2452, i16 2783, i16 3114, i16 3426, i16 3907, i16 4485, i16 4907, i16 5110, i16 5332, i16 5519, i16 6143, i16 6475, i16 7417, i16 7681, i16 7992, i16 8349, i16 8550, i16 9162, i16 9661, i16 10002, i16 10119, i16 10254, i16 10512, i16 10770, i16 11255, i16 11452, i16 11689, i16 11869, i16 12056, i16 12391, i16 12855, i16 13043, i16 13187, i16 13445, i16 15041, i16 15481, i16 16194, i16 16492, i16 16766, i16 17117, i16 17309, i16 17454, i16 17921, i16 18177, i16 18834, i16 19039, i16 19578, i16 20096, i16 20323, i16 20543, i16 20847, i16 21422, i16 21918, i16 22958, i16 23470, i16 23762, i16 24238, i16 24784, i16 25093, i16 25277, i16 25721, i16 25963, i16 26280, i16 26482, i16 26684, i16 27015, i16 27318, i16 27627, i16 13512, i16 27949, i16 110, i16 587, i16 935, i16 1262, i16 1573, i16 1699, i16 2099, i16 2343, i16 2456, i16 2790, i16 3118, i16 3433, i16 3917, i16 4104, i16 4490, i16 4911, i16 5114, i16 5337, i16 5523, i16 6148, i16 6484, i16 7423, i16 7685, i16 7999, i16 8356, i16 8560, i16 8895, i16 9168, i16 9411, i16 9665, i16 10006, i16 10263, i16 10516, i16 10777, i16 11265, i16 11456, i16 11693, i16 11874, i16 12060, i16 12398, i16 12859, i16 13048, i16 13191, i16 13451, i16 15045, i16 15491, i16 16200, i16 16770, i16 17121, i16 17314, i16 17459, i16 17703, i16 17925, i16 18184, i16 18508, i16 18838, i16 19582, i16 20100, i16 20327, i16 20547, i16 20854, i16 21427, i16 21922, i16 22971, i16 23483, i16 23768, i16 24250, i16 24791, i16 25097, i16 25281, i16 25725, i16 25970, i16 26287, i16 26486, i16 26690, i16 27019, i16 27323, i16 27635, i16 13517, i16 27956, i16 114, i16 597, i16 939, i16 1269, i16 1578, i16 1708, i16 2103, i16 2460, i16 2797, i16 3122, i16 3440, i16 3927, i16 4120, i16 4495, i16 4915, i16 5118, i16 5527, i16 5753, i16 6153, i16 6493, i16 7010, i16 7429, i16 7689, i16 8006, i16 8363, i16 8569, i16 8899, i16 8979, i16 9173, i16 9417, i16 9669, i16 9852, i16 10010, i16 10272, i16 10520, i16 10784, i16 11281, i16 11460, i16 12064, i16 12405, i16 12711, i16 12863, i16 13053, i16 13457, i16 15049, i16 15501, i16 16206, i16 16496, i16 16774, i16 4584, i16 17929, i16 18521, i16 18702, i16 18842, i16 19384, i16 19450, i16 19586, i16 20331, i16 20551, i16 20861, i16 21432, i16 21773, i16 21926, i16 22984, i16 23496, i16 23773, i16 24259, i16 24801, i16 25285, i16 25424, i16 25729, i16 25977, i16 26298, i16 26490, i16 26696, i16 27023, i16 27328, i16 27643, i16 13522, i16 27963, i16 118, i16 607, i16 943, i16 1276, i16 1581, i16 1713, i16 2107, i16 2464, i16 2804, i16 3126, i16 3447, i16 3934, i16 4316, i16 4500, i16 4919, i16 5122, i16 5342, i16 5531, i16 5757, i16 6157, i16 6500, i16 7435, i16 7693, i16 8013, i16 8370, i16 8579, i16 9177, i16 9422, i16 5441, i16 10014, i16 10282, i16 10524, i16 10791, i16 11297, i16 11464, i16 11612, i16 12068, i16 12412, i16 13463, i16 15053, i16 15511, i16 16212, i16 16500, i16 16778, i16 17466, i16 17933, i16 18537, i16 19590, i16 20335, i16 20555, i16 20868, i16 21437, i16 21930, i16 23003, i16 23515, i16 23778, i16 24268, i16 24811, i16 25289, i16 25733, i16 25984, i16 26307, i16 26702, i16 27333, i16 27651, i16 13527, i16 27970, i16 122, i16 356, i16 617, i16 947, i16 1283, i16 1587, i16 1724, i16 2468, i16 2811, i16 3130, i16 3454, i16 3944, i16 4505, i16 4923, i16 5126, i16 5348, i16 5535, i16 5761, i16 6161, i16 6507, i16 7441, i16 7697, i16 8020, i16 8377, i16 8588, i16 9183, i16 9429, i16 9673, i16 10018, i16 10291, i16 10528, i16 10798, i16 11319, i16 11468, i16 12072, i16 12419, i16 13195, i16 13469, i16 15057, i16 15521, i16 16218, i16 16504, i16 16782, i16 17471, i16 17937, i16 18565, i16 18846, i16 19594, i16 19725, i16 20339, i16 20559, i16 20875, i16 21444, i16 21934, i16 23034, i16 23546, i16 23783, i16 24277, i16 24821, i16 25293, i16 25737, i16 25991, i16 26318, i16 26708, i16 27339, i16 27661, i16 27977, i16 126, i16 627, i16 951, i16 1290, i16 1599, i16 1746, i16 2111, i16 2472, i16 2818, i16 3134, i16 3461, i16 3966, i16 4510, i16 4927, i16 5130, i16 5539, i16 6165, i16 6514, i16 7447, i16 7701, i16 8027, i16 8384, i16 9189, i16 5904, i16 10300, i16 10532, i16 10805, i16 11341, i16 11472, i16 12076, i16 12426, i16 12867, i16 13059, i16 13475, i16 15061, i16 15531, i16 16224, i16 4589, i16 16786, i16 17478, i16 17941, i16 18587, i16 20343, i16 20563, i16 20882, i16 21449, i16 21938, i16 22138, i16 22313, i16 22497, i16 23059, i16 23571, i16 23788, i16 24286, i16 24831, i16 25101, i16 25297, i16 25741, i16 25998, i16 26331, i16 26715, i16 27027, i16 27161, i16 27345, i16 27671, i16 27984, i16 130, i16 360, i16 637, i16 955, i16 1297, i16 1612, i16 1770, i16 2115, i16 2476, i16 2825, i16 3138, i16 3468, i16 3988, i16 4515, i16 4931, i16 5134, i16 5544, i16 5765, i16 5976, i16 6169, i16 6521, i16 7202, i16 7453, i16 7705, i16 8034, i16 8391, i16 8597, i16 8903, i16 8984, i16 9194, i16 9677, i16 9857, i16 10309, i16 10536, i16 10812, i16 11360, i16 11476, i16 12080, i16 12433, i16 13481, i16 15065, i16 15541, i16 16230, i16 16508, i16 16790, i16 17485, i16 17945, i16 18615, i16 18707, i16 18850, i16 19044, i16 19598, i16 20347, i16 20567, i16 20889, i16 21455, i16 21942, i16 22317, i16 22504, i16 23081, i16 23590, i16 23793, i16 24295, i16 24841, i16 25301, i16 25745, i16 26005, i16 26342, i16 26722, i16 27351, i16 27681, i16 27994, i16 134, i16 364, i16 647, i16 959, i16 1304, i16 1532, i16 1624, i16 2119, i16 2480, i16 2832, i16 3142, i16 3475, i16 4013, i16 4520, i16 4725, i16 4935, i16 5138, i16 5548, i16 5769, i16 5980, i16 6026, i16 6173, i16 6528, i16 7015, i16 7206, i16 7459, i16 7709, i16 8041, i16 8398, i16 8907, i16 9199, i16 9436, i16 9681, i16 10022, i16 10319, i16 10540, i16 10819, i16 11178, i16 11480, i16 11579, i16 11697, i16 11879, i16 12084, i16 12440, i16 12715, i16 12871, i16 13064, i16 13199, i16 13487, i16 15069, i16 15551, i16 15971, i16 16236, i16 16512, i16 16794, i16 17125, i16 17319, i16 17490, i16 17711, i16 17949, i16 18191, i16 18432, i16 18854, i16 19388, i16 19455, i16 19602, i16 19730, i16 19846, i16 19970, i16 20104, i16 20351, i16 20571, i16 20896, i16 21056, i16 21139, i16 21460, i16 21946, i16 22321, i16 22511, i16 22872, i16 23381, i16 23798, i16 24304, i16 24737, i16 25105, i16 25305, i16 25749, i16 26012, i16 26231, i16 26729, i16 27031, i16 27166, i16 27356, i16 27689, i16 27914, i16 142, i16 373, i16 663, i16 965, i16 1315, i16 1545, i16 1648, i16 2126, i16 2489, i16 2849, i16 3149, i16 3488, i16 4038, i16 4527, i16 4732, i16 4941, i16 5144, i16 5354, i16 5555, i16 5776, i16 5987, i16 6184, i16 6549, i16 7023, i16 7212, i16 7467, i16 7719, i16 8054, i16 8407, i16 8915, i16 8989, i16 9206, i16 9695, i16 10030, i16 10333, i16 10546, i16 10830, i16 11194, i16 11489, i16 11589, i16 11704, i16 11887, i16 12093, i16 12457, i16 12723, i16 12878, i16 13072, i16 13207, i16 13492, i16 15077, i16 15573, i16 15979, i16 16243, i16 16523, i16 16801, i16 17134, i16 17329, i16 17501, i16 17957, i16 18457, i16 18711, i16 18861, i16 19395, i16 19463, i16 19610, i16 19854, i16 19978, i16 20358, i16 20578, i16 20909, i16 21063, i16 21152, i16 21476, i16 21952, i16 22328, i16 22524, i16 22888, i16 23397, i16 23805, i16 24323, i16 24851, i16 25111, i16 25310, i16 25429, i16 25756, i16 26025, i16 26242, i16 26743, i16 27038, i16 27174, i16 27365, i16 27706, i16 27921, i16 151, i16 383, i16 553, i16 972, i16 1328, i16 1550, i16 1657, i16 2133, i16 2494, i16 2858, i16 3158, i16 3505, i16 4069, i16 4537, i16 4740, i16 4948, i16 5017, i16 5149, i16 5360, i16 5474, i16 5784, i16 5993, i16 6034, i16 6196, i16 6572, i16 7032, i16 7220, i16 7399, i16 7566, i16 7727, i16 8416, i16 8726, i16 9147, i16 9404, i16 9706, i16 9862, i16 10039, i16 10232, i16 10500, i16 10749, i16 11213, i16 11497, i16 11598, i16 11712, i16 11896, i16 12102, i16 12474, i16 12732, i16 12886, i16 13497, i16 15087, i16 15601, i16 15988, i16 16250, i16 16535, i16 16809, i16 17513, i16 17723, i16 17966, i16 18698, i16 18866, i16 19152, i16 19615, i16 19864, i16 19929, i16 19988, i16 20022, i16 20113, i16 20366, i16 20586, i16 20924, i16 21071, i16 21167, i16 21488, i16 21689, i16 22913, i16 23422, i16 23816, i16 24354, i16 24864, i16 25119, i16 25762, i16 26036, i16 26253, i16 26754, i16 27044, i16 27181, i16 27375, i16 27725, i16 27928, i16 157, i16 679, i16 977, i16 1337, i16 1555, i16 1666, i16 1808, i16 1908, i16 2138, i16 2502, i16 2873, i16 3163, i16 3514, i16 4085, i16 4544, i16 4953, i16 5156, i16 5564, i16 5790, i16 6204, i16 6587, i16 7038, i16 7476, i16 7735, i16 8065, i16 8426, i16 8731, i16 8820, i16 8923, i16 9214, i16 9444, i16 9714, i16 10045, i16 10349, i16 10553, i16 10843, i16 11229, i16 11504, i16 11720, i16 11905, i16 12108, i16 12485, i16 12891, i16 13081, i16 13216, i16 13502, i16 15093, i16 15617, i16 15995, i16 16257, i16 16545, i16 16814, i16 16951, i16 17144, i16 17340, i16 17528, i16 17739, i16 17971, i16 18482, i16 19403, i16 19622, i16 19739, i16 20120, i16 20372, i16 20592, i16 20935, i16 21076, i16 21176, i16 21501, i16 21959, i16 22932, i16 23441, i16 23823, i16 24373, i16 24877, i16 25316, i16 25771, i16 26053, i16 26262, i16 26764, i16 27049, i16 27381, i16 27736, i16 27935, i16 102, i16 352, i16 573, i16 983, i16 1348, i16 1561, i16 1677, i16 1815, i16 1921, i16 1943, i16 1955, i16 2144, i16 2511, i16 2890, i16 3110, i16 3419, i16 3900, i16 4550, i16 4721, i16 4959, i16 5162, i16 5368, i16 5515, i16 5749, i16 6213, i16 6604, i16 7045, i16 7226, i16 4903, i16 7743, i16 8076, i16 8435, i16 9222, i16 9453, i16 9725, i16 9871, i16 10051, i16 10246, i16 10508, i16 10763, i16 11248, i16 11512, i16 11728, i16 11914, i16 12115, i16 12498, i16 12851, i16 13038, i16 13223, i16 13507, i16 15100, i16 15636, i16 16002, i16 16264, i16 16555, i16 16824, i16 16962, i16 17152, i16 17542, i16 17917, i16 18170, i16 18501, i16 18872, i16 19148, i16 19870, i16 20379, i16 20599, i16 20948, i16 20319, i16 20840, i16 21513, i16 11685, i16 11864, i16 22951, i16 23463, i16 23830, i16 24392, i16 24890, i16 25125, i16 25322, i16 25436, i16 25779, i16 26273, i16 26775, i16 27314, i16 27620, i16 27942, i16 163, i16 389, i16 580, i16 988, i16 1357, i16 1566, i16 1686, i16 1950, i16 1968, i16 2148, i16 2519, i16 2905, i16 3114, i16 3426, i16 3907, i16 4554, i16 4745, i16 4964, i16 5169, i16 5376, i16 5571, i16 5796, i16 6219, i16 6615, i16 7050, i16 7231, i16 7417, i16 7751, i16 8081, i16 8444, i16 8605, i16 8929, i16 9162, i16 9735, i16 9882, i16 10056, i16 10124, i16 10356, i16 10559, i16 10854, i16 11255, i16 11520, i16 11734, i16 11921, i16 12122, i16 12511, i16 12897, i16 13088, i16 13230, i16 13512, i16 15106, i16 15652, i16 16271, i16 16562, i16 16832, i16 16972, i16 17158, i16 17349, i16 17550, i16 17977, i16 18206, i16 106, i16 18878, i16 19049, i16 19410, i16 19631, i16 19875, i16 19994, i16 20128, i16 20383, i16 20603, i16 20955, i16 21083, i16 21189, i16 21525, i16 11689, i16 11869, i16 21777, i16 21965, i16 17921, i16 18177, i16 22958, i16 23470, i16 23838, i16 24414, i16 24784, i16 25130, i16 25328, i16 25787, i16 26068, i16 26280, i16 26787, i16 27054, i16 27949, i16 168, i16 395, i16 587, i16 994, i16 1368, i16 1573, i16 1699, i16 1820, i16 1930, i16 2153, i16 2527, i16 2920, i16 3118, i16 3433, i16 4104, i16 4563, i16 4750, i16 4969, i16 5176, i16 5384, i16 5579, i16 5801, i16 6227, i16 6630, i16 7056, i16 7237, i16 7423, i16 7758, i16 8090, i16 8452, i16 8614, i16 8934, i16 9168, i16 9411, i16 9746, i16 10061, i16 10368, i16 10564, i16 10863, i16 11265, i16 11527, i16 11741, i16 11929, i16 12130, i16 12526, i16 12902, i16 13095, i16 13237, i16 13517, i16 15113, i16 15671, i16 16278, i16 16571, i16 16841, i16 17165, i16 17357, i16 17557, i16 17755, i16 17982, i16 18215, i16 18508, i16 18720, i16 18884, i16 19415, i16 19640, i16 19881, i16 20000, i16 20134, i16 20388, i16 20608, i16 20964, i16 21088, i16 21198, i16 21537, i16 11693, i16 11874, i16 21783, i16 21973, i16 17925, i16 18184, i16 22971, i16 23483, i16 23847, i16 24439, i16 24791, i16 25136, i16 25336, i16 25795, i16 26083, i16 26287, i16 26799, i16 27059, i16 27956, i16 173, i16 401, i16 692, i16 1000, i16 1379, i16 1578, i16 1708, i16 2158, i16 2534, i16 2933, i16 3169, i16 3525, i16 4120, i16 4570, i16 4976, i16 5185, i16 5590, i16 5806, i16 6235, i16 6645, i16 7062, i16 7243, i16 7766, i16 8006, i16 8461, i16 8942, i16 8998, i16 9238, i16 9470, i16 9758, i16 9894, i16 10067, i16 10272, i16 10569, i16 10872, i16 11281, i16 11534, i16 11748, i16 12138, i16 12541, i16 12738, i16 12907, i16 13102, i16 13522, i16 15120, i16 15690, i16 16007, i16 16285, i16 16585, i16 16848, i16 16982, i16 17172, i16 17568, i16 17767, i16 17987, i16 18521, i16 18702, i16 18890, i16 19158, i16 19422, i16 19472, i16 19647, i16 19749, i16 20393, i16 20613, i16 20973, i16 21093, i16 21207, i16 21550, i16 21789, i16 21980, i16 22651, i16 22984, i16 23496, i16 23855, i16 24461, i16 24801, i16 25343, i16 25443, i16 25802, i16 26096, i16 26298, i16 26812, i16 27067, i16 27389, i16 27751, i16 27963, i16 180, i16 705, i16 1006, i16 1390, i16 1581, i16 1713, i16 2165, i16 2542, i16 2948, i16 3176, i16 3538, i16 4136, i16 4316, i16 4575, i16 4755, i16 4982, i16 5191, i16 5394, i16 5595, i16 5813, i16 6245, i16 6664, i16 7071, i16 7250, i16 7774, i16 8101, i16 8468, i16 8947, i16 9245, i16 9478, i16 9770, i16 10074, i16 10382, i16 10576, i16 10885, i16 11297, i16 11542, i16 11758, i16 12147, i16 12558, i16 13244, i16 13527, i16 15128, i16 15712, i16 16017, i16 16292, i16 16593, i16 16858, i16 16994, i16 17180, i16 17583, i16 17994, i16 18537, i16 18897, i16 19656, i16 19759, i16 19887, i16 20140, i16 20401, i16 20621, i16 20988, i16 21100, i16 21220, i16 21561, i16 21986, i16 22199, i16 22336, i16 22539, i16 23003, i16 23515, i16 23863, i16 24483, i16 24903, i16 25142, i16 25351, i16 25452, i16 25810, i16 26111, i16 26307, i16 26494, i16 26824, i16 27075, i16 27395, i16 27762, i16 27970, i16 190, i16 410, i16 724, i16 1013, i16 1403, i16 1587, i16 1724, i16 2174, i16 2551, i16 2965, i16 3186, i16 3557, i16 4170, i16 3944, i16 4584, i16 4765, i16 4991, i16 5196, i16 5402, i16 5600, i16 5823, i16 6257, i16 6687, i16 7081, i16 7483, i16 7781, i16 8116, i16 8476, i16 8957, i16 9258, i16 9493, i16 9783, i16 10083, i16 10394, i16 10583, i16 10898, i16 11319, i16 11548, i16 11769, i16 11937, i16 12158, i16 12579, i16 12913, i16 13110, i16 13254, i16 13469, i16 15139, i16 15743, i16 16028, i16 16299, i16 16606, i16 16866, i16 17191, i16 17590, i16 17784, i16 18004, i16 18565, i16 18907, i16 19665, i16 19769, i16 19896, i16 20151, i16 20410, i16 20630, i16 21005, i16 21109, i16 21237, i16 21574, i16 21994, i16 22209, i16 22346, i16 22558, i16 23034, i16 23546, i16 23871, i16 24505, i16 24919, i16 25154, i16 25357, i16 25819, i16 26128, i16 26318, i16 26837, i16 27083, i16 27187, i16 27406, i16 27783, i16 27977, i16 198, i16 743, i16 1020, i16 1416, i16 1599, i16 1746, i16 2182, i16 2562, i16 2986, i16 3195, i16 3574, i16 4195, i16 3966, i16 4589, i16 4773, i16 4999, i16 5202, i16 5607, i16 5831, i16 6267, i16 6706, i16 7089, i16 7261, i16 7787, i16 8127, i16 8484, i16 9275, i16 9511, i16 9794, i16 10408, i16 10591, i16 10913, i16 11341, i16 11557, i16 12169, i16 12600, i16 12921, i16 13119, i16 13475, i16 15149, i16 15771, i16 16037, i16 16306, i16 16616, i16 16873, i16 17003, i16 17200, i16 17606, i16 17801, i16 18013, i16 18587, i16 18915, i16 19904, i16 20161, i16 20418, i16 20638, i16 21020, i16 21117, i16 21252, i16 21587, i16 22000, i16 22143, i16 22217, i16 22354, i16 22573, i16 23059, i16 23571, i16 23878, i16 24524, i16 24831, i16 25162, i16 25362, i16 25459, i16 25827, i16 26143, i16 26331, i16 26853, i16 27090, i16 27195, i16 27416, i16 27802, i16 27984, i16 207, i16 418, i16 759, i16 1027, i16 1429, i16 1612, i16 1770, i16 2189, i16 2571, i16 3003, i16 3203, i16 3589, i16 4220, i16 3988, i16 4592, i16 4782, i16 5008, i16 5211, i16 5616, i16 5840, i16 5998, i16 6277, i16 6725, i16 7098, i16 7271, i16 7492, i16 7794, i16 8140, i16 8494, i16 8737, i16 8965, i16 9004, i16 9288, i16 9525, i16 9807, i16 9907, i16 10419, i16 10598, i16 10926, i16 11360, i16 11565, i16 12179, i16 12619, i16 13262, i16 13481, i16 15158, i16 15796, i16 16047, i16 16316, i16 16623, i16 16883, i16 17014, i16 17210, i16 17623, i16 18021, i16 18615, i16 18726, i16 18924, i16 19056, i16 19428, i16 19677, i16 19782, i16 19913, i16 20006, i16 20171, i16 20425, i16 20645, i16 21033, i16 21124, i16 21265, i16 21600, i16 22007, i16 22226, i16 22363, i16 22590, i16 23081, i16 23590, i16 23888, i16 24552, i16 24932, i16 25173, i16 25368, i16 25466, i16 25836, i16 26160, i16 26342, i16 26876, i16 27098, i16 27994, i16 216, i16 427, i16 775, i16 1034, i16 1442, i16 0, i16 4248, i16 4347, i16 4598, i16 8153, i16 11382, i16 12930, i16 13532, i16 16326, i16 18637, i16 22015, i16 23107, i16 23615, i16 24945, i16 25375, i16 25474, i16 28004, i16 219, i16 430, i16 785, i16 1036, i16 1445, i16 0, i16 4261, i16 4375, i16 4598, i16 8160, i16 11410, i16 12933, i16 13539, i16 16333, i16 18649, i16 22018, i16 23120, i16 23643, i16 24965, i16 25378, i16 25479, i16 26353, i16 28011, i16 222, i16 433, i16 798, i16 1038, i16 1465, i16 1827, i16 2196, i16 2579, i16 3212, i16 4277, i16 4600, i16 5220, i16 5410, i16 5624, i16 6746, i16 6764, i16 6779, i16 6847, i16 6890, i16 7107, i16 7802, i16 8167, i16 8503, i16 10604, i16 11777, i16 12936, i16 13546, i16 15168, i16 15824, i16 16340, i16 16892, i16 17220, i16 17631, i16 18030, i16 18934, i16 19263, i16 19321, i16 21612, i16 22021, i16 22372, i16 22659, i16 23896, i16 24985, i16 26356, i16 26502, i16 26896, i16 27106, i16 28018, i16 28088, i16 28166, i16 28269, i16 243, i16 451, i16 832, i16 1063, i16 1492, i16 1853, i16 2212, i16 3226, i16 4304, i16 5653, i16 5849, i16 6007, i16 6807, i16 6876, i16 6917, i16 6929, i16 7817, i16 8199, i16 8746, i16 9014, i16 12955, i16 13578, i16 16057, i16 16351, i16 16910, i16 17257, i16 18966, i16 19167, i16 19285, i16 22045, i16 22235, i16 23919, i16 28116, i16 28312, i16 252, i16 460, i16 841, i16 1073, i16 1504, i16 1867, i16 3235, i16 6821, i16 11806, i16 13594, i16 16369, i16 19295, i16 22054, i16 26920, i16 28053, i16 28135, i16 28201, i16 261, i16 0, i16 1086, i16 1517, i16 1867, i16 3244, i16 4623, i16 5246, i16 6833, i16 8208, i16 10628, i16 11806, i16 13610, i16 16387, i16 22067, i16 26383, i16 28069, i16 28154, i16 28334, i16 0, i16 13628, i16 23929, i16 24574, i16 0, i16 0, i16 14004, i16 23961, i16 0, i16 14018, i16 0, i16 14901, i16 23971, i16 24610, i16 0, i16 24007, i16 24660], [372 x i8] c"\00\00\00\00\01\01\00\00\02\02\00\00\03\03\00\00\04\04\00\00\05\05\01\01\06\06\02\02\07\07\01\01\08\08\00\00\09\09\00\00\0A\0A\00\03\0A\0A\03\03\0B\0B\00\00\0C\0C\00\00\0D\0D\00\00\0E\0E\00\00\0F\0F\04\04\10\10\05\05\11\01\00\00\12\11\00\00\13\01\00\00\14\02\06\06\15\01\07\07\16\12\00\00\17\02\00\00\18\13\00\00\19\14\00\00\1A\01\00\00\1B\02\00\00\1C\15\00\00\00\00\08\08\1D\02\00\00\1E\02\00\00\1D\16\00\00\1F\17\00\00 \18\00\00!\19\00\00\1D\1A\00\00\22\1B\00\00#\02\00\00$\02\00\00%\02\00\00&\1C\00\00'\1D\00\00(\02\00\00)\02\00\00*\1E\09\09\1A\1F\00\00+\02\00\00, \0A\0A-!\00\00.\22\00\00/\1A\00\000#\00\001\01\00\002\1A\00\003$\0B\0B4$\0C\0C5%\0D\0D6&\0E\0E7'\00\00\00(\0F\0F8\01\00\002\02\00\009\02\00\00:\02\00\00;)\00\00<*\00\00=+\00\00>,\00\00\1D-\00\00?\01\10\10@\01\11\10A\1A\00\00B.\00\00C/\00\00D0\12\11E1\13\12;)\14\13\0C\0C\0E\14F2\15\15G3\16\16H4\17\17H4\17\18\0C\0C\18\19I+\00\00J,\00\00K5\19\1AL6\1A\1BM\01\1B\1CN7\1C\1DO8\1D\1EP9\00\00", [4 x i16] [i16 0, i16 81, i16 139, i16 169], [200 x i16] [i16 1, i16 13, i16 27, i16 43, i16 57, i16 73, i16 97, i16 121, i16 114, i16 85, i16 145, i16 173, i16 193, i16 217, i16 247, i16 281, i16 317, i16 369, i16 378, i16 396, i16 405, i16 422, i16 439, i16 459, i16 469, i16 489, i16 513, i16 520, i16 530, i16 561, i16 571, i16 591, i16 613, i16 635, i16 665, i16 687, i16 697, i16 711, i16 721, i16 739, i16 759, i16 769, i16 779, i16 815, i16 829, i16 908, i16 932, i16 960, i16 972, i16 996, i16 1003, i16 1013, i16 1048, i16 1078, i16 1106, i16 1142, i16 1180, i16 1189, i16 1199, i16 1209, i16 1229, i16 1249, i16 1267, i16 1297, i16 1316, i16 1334, i16 1344, i16 1362, i16 1380, i16 1438, i16 1492, i16 1517, i16 1564, i16 1610, i16 1619, i16 1630, i16 1670, i16 1698, i16 1720, i16 1747, i16 1783, i16 7, i16 20, i16 35, i16 50, i16 65, i16 79, i16 106, i16 134, i16 118, i16 92, i16 153, i16 183, i16 205, i16 233, i16 265, i16 294, i16 336, i16 388, i16 450, i16 479, i16 501, i16 545, i16 581, i16 603, i16 623, i16 647, i16 657, i16 678, i16 730, i16 749, i16 790, i16 806, i16 857, i16 921, i16 947, i16 981, i16 1028, i16 1090, i16 1120, i16 1154, i16 1165, i16 1219, i16 1239, i16 1258, i16 1278, i16 1289, i16 1354, i16 1371, i16 1393, i16 1445, i16 1499, i16 1526, i16 1572, i16 1642, i16 1680, i16 1729, i16 1757, i16 1792, i16 0, i16 85, i16 114, i16 167, i16 305, i16 346, i16 415, i16 433, i16 554, i16 799, i16 891, i16 1039, i16 1067, i16 1100, i16 1132, i16 1171, i16 1308, i16 1329, i16 1412, i16 1452, i16 1478, i16 1506, i16 1535, i16 1580, i16 1598, i16 1652, i16 1690, i16 1711, i16 1739, i16 1769, i16 0, i16 92, i16 118, i16 163, i16 312, i16 362, i16 419, i16 436, i16 558, i16 803, i16 898, i16 1042, i16 1071, i16 1103, i16 1137, i16 1174, i16 1312, i16 1422, i16 1465, i16 1481, i16 1485, i16 1510, i16 1545, i16 1585, i16 1591, i16 1605, i16 1661, i16 1693, i16 1715, i16 1743, i16 1776], [91141 x i16] [i16 7, i16 145, i16 4, i16 5352, i16 1159, i16 2868, i16 9485, i16 12504, i16 4, i16 38, i16 5, i16 3, i16 256, i16 576, i16 22623, i16 1154, i16 1623, i16 0, i16 19968, i16 20901, i16 1708, i16 747, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4, i16 10, i16 5, i16 4, i16 128, i16 480, i16 2038, i16 1693, i16 1947, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1154, i16 1154, i16 1986, i16 2440, i16 0, i16 4, i16 2, i16 5, i16 4, i16 128, i16 480, i16 1886, i16 1885, i16 1886, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2847, i16 2847, i16 2178, i16 5976, i16 0, i16 2, i16 0, i16 5, i16 6, i16 32, i16 64, i16 213, i16 212, i16 213, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4732, i16 4732, i16 0, i16 9496, i16 0, i16 4, i16 5, i16 5, i16 5, i16 64, i16 96, i16 409, i16 408, i16 409, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4944, i16 4944, i16 2193, i16 9976, i16 0, i16 1, i16 0, i16 4, i16 5, i16 128, i16 816, i16 13169, i16 13168, i16 13169, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5352, i16 5352, i16 0, i16 10360, i16 0, i16 1, i16 0, i16 5, i16 2, i16 512, i16 6176, i16 17172, i16 5999, i16 17172, i16 0, i16 -21504, i16 11171, i16 1111, i16 3125, i16 5352, i16 5352, i16 0, i16 -32216, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 5, i16 114, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 55, i16 246, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 92, i16 0, i16 0, i16 1155, i16 274, i16 372, i16 0, i16 1155, i16 300, i16 0, i16 0, i16 1155, i16 300, i16 0, i16 0, i16 1155, i16 331, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 390, i16 0, i16 0, i16 1155, i16 448, i16 498, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 547, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 730, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 798, i16 648, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 875, i16 786, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 916, i16 0, i16 0, i16 1155, i16 1075, i16 924, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 1433, i16 1502, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 1721, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 1780, i16 1634, i16 0, i16 1155, i16 1915, i16 498, i16 0, i16 1155, i16 2012, i16 1844, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 2049, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 2235, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 300, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 1, i16 680, i16 2383, i16 1986, i16 1, i16 680, i16 2880, i16 1986, i16 1, i16 680, i16 3369, i16 1986, i16 1, i16 680, i16 3871, i16 1986, i16 1, i16 680, i16 4373, i16 2016, i16 1, i16 680, i16 4869, i16 1986, i16 1, i16 680, i16 5366, i16 1986, i16 1, i16 680, i16 5868, i16 2016, i16 1, i16 680, i16 6369, i16 1986, i16 1, i16 680, i16 6952, i16 2058, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7976, i16 1986, i16 1, i16 680, i16 5868, i16 2016, i16 1, i16 680, i16 2880, i16 1986, i16 1, i16 680, i16 8476, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 8967, i16 2124, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 8967, i16 2124, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7976, i16 1986, i16 1, i16 680, i16 5868, i16 2016, i16 1, i16 680, i16 7478, i16 1986, i16 2, i16 1338, i16 3, i16 2178, i16 2, i16 1338, i16 3, i16 2178, i16 3, i16 212, i16 3, i16 0, i16 4, i16 6, i16 3, i16 2193, i16 5, i16 13168, i16 3, i16 0, i16 6, i16 17171, i16 3, i16 0, i16 1, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 21, i16 22, i16 23, i16 24, i16 30, i16 40, i16 44, i16 45, i16 50, i16 51, i16 52, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 120, i16 125, i16 126, i16 135, i16 137, i16 144, i16 157, i16 159, i16 160, i16 162, i16 167, i16 170, i16 172, i16 175, i16 177, i16 182, i16 183, i16 186, i16 188, i16 193, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 236, i16 237, i16 240, i16 241, i16 242, i16 243, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 458, i16 459, i16 460, i16 461, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 640, i16 651, i16 652, i16 654, i16 655, i16 669, i16 683, i16 685, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 698, i16 708, i16 711, i16 719, i16 720, i16 722, i16 724, i16 725, i16 726, i16 727, i16 728, i16 731, i16 732, i16 733, i16 735, i16 742, i16 743, i16 744, i16 745, i16 746, i16 747, i16 748, i16 756, i16 757, i16 758, i16 759, i16 761, i16 764, i16 765, i16 766, i16 767, i16 768, i16 774, i16 775, i16 776, i16 779, i16 780, i16 783, i16 784, i16 785, i16 786, i16 793, i16 798, i16 805, i16 806, i16 808, i16 810, i16 811, i16 812, i16 816, i16 818, i16 819, i16 820, i16 821, i16 826, i16 827, i16 828, i16 830, i16 831, i16 832, i16 833, i16 840, i16 843, i16 844, i16 859, i16 860, i16 862, i16 863, i16 877, i16 891, i16 893, i16 895, i16 896, i16 897, i16 898, i16 899, i16 900, i16 901, i16 902, i16 903, i16 906, i16 916, i16 919, i16 927, i16 928, i16 930, i16 932, i16 933, i16 934, i16 935, i16 936, i16 939, i16 940, i16 942, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 955, i16 963, i16 964, i16 965, i16 967, i16 970, i16 971, i16 972, i16 973, i16 979, i16 980, i16 981, i16 984, i16 985, i16 988, i16 989, i16 990, i16 991, i16 998, i16 1002, i16 1009, i16 1010, i16 1012, i16 1014, i16 1015, i16 1016, i16 1020, i16 1022, i16 1023, i16 1024, i16 1025, i16 1030, i16 1031, i16 1032, i16 1034, i16 1035, i16 1036, i16 1037, i16 1044, i16 1047, i16 1108, i16 1109, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 1117, i16 1118, i16 1119, i16 1120, i16 1121, i16 1122, i16 1123, i16 1124, i16 1125, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1132, i16 1133, i16 1134, i16 1139, i16 1140, i16 1141, i16 1142, i16 1143, i16 1147, i16 1157, i16 1158, i16 1183, i16 1184, i16 1185, i16 1186, i16 1187, i16 1188, i16 1189, i16 1190, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1206, i16 1207, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1235, i16 1236, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1242, i16 1243, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 1251, i16 1252, i16 1253, i16 1254, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1263, i16 1264, i16 1265, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1318, i16 1319, i16 1348, i16 1349, i16 1350, i16 1351, i16 1356, i16 1357, i16 1358, i16 1359, i16 1368, i16 1369, i16 1371, i16 1372, i16 1373, i16 1374, i16 1377, i16 1378, i16 1379, i16 1380, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 1390, i16 1391, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1400, i16 1403, i16 1404, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1418, i16 1419, i16 1420, i16 1421, i16 1422, i16 1423, i16 1424, i16 1425, i16 1426, i16 1427, i16 1428, i16 1429, i16 1430, i16 1431, i16 1432, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1440, i16 1441, i16 1442, i16 1443, i16 1444, i16 1445, i16 1446, i16 1447, i16 1448, i16 1449, i16 1450, i16 1451, i16 1452, i16 1453, i16 1454, i16 1455, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1481, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1507, i16 1513, i16 1520, i16 1521, i16 1523, i16 1529, i16 1530, i16 1531, i16 1533, i16 1536, i16 1537, i16 1540, i16 1542, i16 1543, i16 1544, i16 1545, i16 1548, i16 1551, i16 1552, i16 1554, i16 1555, i16 1558, i16 1559, i16 1560, i16 1562, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1571, i16 1578, i16 1584, i16 1585, i16 1587, i16 1593, i16 1596, i16 1598, i16 1601, i16 1602, i16 1605, i16 1607, i16 1608, i16 1609, i16 1610, i16 1613, i16 1616, i16 1617, i16 1619, i16 1620, i16 1623, i16 1624, i16 1625, i16 1627, i16 1629, i16 1630, i16 2, i16 25, i16 26, i16 27, i16 28, i16 29, i16 41, i16 48, i16 49, i16 132, i16 141, i16 151, i16 153, i16 155, i16 169, i16 185, i16 199, i16 200, i16 235, i16 299, i16 300, i16 301, i16 302, i16 304, i16 305, i16 307, i16 308, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 317, i16 318, i16 319, i16 320, i16 321, i16 323, i16 324, i16 325, i16 326, i16 328, i16 329, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 339, i16 341, i16 342, i16 344, i16 345, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 641, i16 642, i16 643, i16 644, i16 648, i16 649, i16 650, i16 653, i16 662, i16 663, i16 664, i16 665, i16 666, i16 682, i16 684, i16 705, i16 706, i16 707, i16 714, i16 715, i16 716, i16 721, i16 723, i16 730, i16 755, i16 760, i16 771, i16 772, i16 773, i16 794, i16 795, i16 796, i16 797, i16 807, i16 814, i16 815, i16 817, i16 823, i16 841, i16 842, i16 849, i16 850, i16 851, i16 852, i16 856, i16 857, i16 858, i16 861, i16 870, i16 871, i16 872, i16 873, i16 874, i16 890, i16 892, i16 913, i16 914, i16 915, i16 922, i16 923, i16 924, i16 929, i16 931, i16 938, i16 962, i16 966, i16 976, i16 977, i16 978, i16 999, i16 1000, i16 1001, i16 1011, i16 1018, i16 1019, i16 1021, i16 1027, i16 1045, i16 1046, i16 1048, i16 1084, i16 1085, i16 1086, i16 1087, i16 1088, i16 1089, i16 1090, i16 1091, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1099, i16 1100, i16 1101, i16 1102, i16 1103, i16 1104, i16 1105, i16 1106, i16 1107, i16 1110, i16 1137, i16 1138, i16 1144, i16 1145, i16 1146, i16 1154, i16 1155, i16 1156, i16 1159, i16 1175, i16 1176, i16 1177, i16 1178, i16 1179, i16 1180, i16 1181, i16 1182, i16 1191, i16 1192, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1310, i16 1311, i16 1312, i16 1313, i16 1314, i16 1315, i16 1316, i16 1317, i16 1346, i16 1347, i16 1352, i16 1353, i16 1354, i16 1355, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 1367, i16 1511, i16 1517, i16 1518, i16 1519, i16 1522, i16 1527, i16 1528, i16 1535, i16 1539, i16 1546, i16 1547, i16 1550, i16 1557, i16 1561, i16 1563, i16 1575, i16 1577, i16 1582, i16 1583, i16 1586, i16 1591, i16 1592, i16 1595, i16 1600, i16 1604, i16 1611, i16 1612, i16 1615, i16 1622, i16 1626, i16 1628, i16 4, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 322, i16 323, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 446, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 460, i16 464, i16 468, i16 472, i16 474, i16 475, i16 477, i16 478, i16 480, i16 482, i16 483, i16 485, i16 486, i16 488, i16 489, i16 490, i16 493, i16 494, i16 496, i16 497, i16 498, i16 501, i16 502, i16 504, i16 505, i16 506, i16 508, i16 509, i16 511, i16 512, i16 513, i16 514, i16 515, i16 516, i16 517, i16 518, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 714, i16 715, i16 716, i16 717, i16 718, i16 719, i16 720, i16 721, i16 722, i16 723, i16 724, i16 725, i16 726, i16 727, i16 728, i16 729, i16 730, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 737, i16 738, i16 739, i16 740, i16 741, i16 742, i16 743, i16 744, i16 745, i16 746, i16 747, i16 748, i16 749, i16 750, i16 751, i16 752, i16 755, i16 783, i16 784, i16 785, i16 788, i16 789, i16 790, i16 791, i16 792, i16 793, i16 794, i16 795, i16 796, i16 797, i16 798, i16 799, i16 800, i16 801, i16 802, i16 803, i16 804, i16 805, i16 806, i16 807, i16 808, i16 809, i16 810, i16 811, i16 812, i16 813, i16 814, i16 815, i16 816, i16 817, i16 818, i16 819, i16 824, i16 825, i16 828, i16 829, i16 830, i16 831, i16 832, i16 833, i16 834, i16 835, i16 840, i16 841, i16 842, i16 851, i16 852, i16 853, i16 854, i16 855, i16 856, i16 857, i16 858, i16 859, i16 860, i16 861, i16 864, i16 865, i16 868, i16 869, i16 870, i16 871, i16 874, i16 875, i16 876, i16 881, i16 882, i16 883, i16 884, i16 885, i16 886, i16 887, i16 888, i16 891, i16 892, i16 893, i16 894, i16 895, i16 896, i16 897, i16 904, i16 905, i16 908, i16 909, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 918, i16 919, i16 920, i16 921, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 929, i16 930, i16 931, i16 932, i16 933, i16 934, i16 935, i16 936, i16 937, i16 938, i16 939, i16 940, i16 941, i16 942, i16 943, i16 948, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 964, i16 965, i16 966, i16 967, i16 968, i16 969, i16 970, i16 971, i16 972, i16 977, i16 978, i16 979, i16 980, i16 981, i16 982, i16 983, i16 984, i16 987, i16 988, i16 989, i16 992, i16 993, i16 994, i16 995, i16 996, i16 997, i16 998, i16 999, i16 1000, i16 1001, i16 1002, i16 1003, i16 1004, i16 1005, i16 1006, i16 1007, i16 1008, i16 1012, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1023, i16 1024, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 1039, i16 1040, i16 1041, i16 1042, i16 1045, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 1058, i16 1059, i16 1060, i16 1061, i16 1062, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1072, i16 1073, i16 1074, i16 1078, i16 1079, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1103, i16 1104, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1112, i16 1113, i16 1116, i16 1117, i16 1120, i16 1121, i16 1122, i16 1123, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1138, i16 1139, i16 1140, i16 1143, i16 1144, i16 1145, i16 1146, i16 1147, i16 1148, i16 1149, i16 1150, i16 1151, i16 1152, i16 1153, i16 1154, i16 1155, i16 1156, i16 1157, i16 1158, i16 1159, i16 1160, i16 1161, i16 1162, i16 1163, i16 1164, i16 1169, i16 1170, i16 1173, i16 1174, i16 1175, i16 1176, i16 1177, i16 1178, i16 1183, i16 1184, i16 1185, i16 1186, i16 1189, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1244, i16 1245, i16 1246, i16 1249, i16 1250, i16 1251, i16 1252, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1265, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1281, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1298, i16 1299, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1314, i16 1315, i16 1318, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1328, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 1336, i16 1337, i16 1338, i16 1339, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 1360, i16 1369, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1404, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1427, i16 1428, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1481, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 1528, i16 1529, i16 1530, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 1539, i16 1540, i16 1541, i16 1542, i16 1543, i16 1544, i16 1545, i16 1546, i16 1547, i16 1548, i16 1549, i16 1550, i16 1551, i16 1552, i16 1553, i16 1554, i16 1555, i16 1556, i16 1557, i16 1558, i16 1559, i16 1560, i16 1561, i16 1562, i16 1563, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 1595, i16 1596, i16 1597, i16 1598, i16 1599, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1611, i16 1612, i16 1613, i16 1614, i16 1615, i16 1616, i16 1617, i16 1618, i16 1619, i16 1620, i16 1621, i16 1622, i16 1623, i16 1624, i16 1625, i16 1626, i16 1627, i16 1628, i16 1629, i16 1630, i16 1631, i16 1632, i16 1633, i16 1634, i16 1635, i16 1636, i16 1637, i16 1638, i16 1639, i16 1640, i16 1641, i16 1642, i16 1643, i16 1644, i16 1645, i16 1646, i16 1647, i16 1648, i16 1649, i16 1650, i16 1651, i16 1652, i16 1653, i16 1654, i16 1655, i16 1656, i16 1657, i16 1658, i16 1659, i16 1660, i16 1661, i16 1662, i16 1663, i16 1664, i16 1665, i16 1666, i16 1667, i16 1668, i16 1669, i16 1670, i16 1671, i16 1672, i16 1673, i16 1674, i16 1675, i16 1676, i16 1677, i16 1678, i16 1679, i16 1680, i16 1681, i16 1682, i16 1683, i16 1684, i16 1685, i16 1686, i16 1687, i16 1688, i16 1689, i16 1690, i16 1691, i16 1692, i16 1693, i16 1694, i16 1695, i16 1696, i16 1697, i16 1698, i16 1699, i16 1700, i16 1701, i16 1702, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 1717, i16 1718, i16 1719, i16 1720, i16 1721, i16 1722, i16 1723, i16 1724, i16 1725, i16 1726, i16 1727, i16 1728, i16 1729, i16 1730, i16 1731, i16 1732, i16 1733, i16 1734, i16 1735, i16 1736, i16 1737, i16 1738, i16 1739, i16 1740, i16 1741, i16 1742, i16 1743, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 1749, i16 1750, i16 1751, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 1758, i16 1759, i16 1760, i16 1761, i16 1762, i16 1763, i16 1764, i16 1765, i16 1766, i16 1767, i16 1768, i16 1769, i16 1770, i16 1771, i16 1772, i16 1773, i16 1774, i16 1775, i16 1776, i16 1777, i16 1778, i16 1779, i16 1780, i16 1781, i16 1782, i16 1783, i16 1784, i16 1785, i16 1786, i16 1787, i16 1788, i16 1789, i16 1790, i16 1791, i16 1792, i16 1793, i16 1794, i16 1795, i16 1796, i16 1797, i16 1798, i16 1799, i16 1800, i16 1801, i16 1802, i16 1803, i16 1804, i16 1805, i16 1806, i16 1807, i16 1808, i16 1809, i16 1810, i16 1811, i16 1812, i16 1813, i16 1814, i16 1815, i16 1816, i16 1817, i16 1818, i16 1819, i16 1820, i16 1821, i16 1822, i16 1823, i16 1824, i16 1825, i16 1826, i16 1827, i16 1828, i16 1829, i16 1830, i16 1831, i16 1832, i16 1833, i16 1834, i16 1835, i16 1836, i16 1837, i16 1838, i16 1839, i16 1840, i16 1841, i16 1842, i16 1843, i16 1844, i16 1845, i16 1846, i16 1847, i16 1848, i16 1849, i16 1850, i16 1851, i16 1852, i16 1853, i16 1854, i16 1855, i16 1856, i16 1857, i16 1858, i16 1859, i16 1860, i16 1861, i16 1862, i16 1863, i16 1864, i16 1865, i16 1866, i16 1867, i16 1868, i16 1869, i16 1870, i16 1871, i16 1872, i16 1873, i16 1874, i16 1875, i16 1876, i16 1877, i16 1878, i16 1879, i16 1880, i16 1881, i16 1882, i16 1883, i16 1884, i16 1885, i16 1886, i16 1887, i16 1888, i16 1889, i16 1890, i16 1891, i16 1892, i16 1893, i16 1894, i16 1895, i16 1896, i16 1897, i16 1898, i16 1899, i16 1900, i16 1901, i16 1902, i16 1903, i16 1904, i16 1905, i16 1906, i16 1907, i16 1908, i16 1909, i16 1910, i16 1911, i16 1912, i16 1913, i16 1914, i16 1915, i16 1916, i16 1917, i16 1918, i16 1919, i16 1920, i16 1921, i16 1922, i16 1923, i16 1924, i16 1925, i16 1926, i16 1927, i16 1928, i16 1929, i16 1930, i16 1931, i16 1932, i16 1933, i16 1934, i16 1935, i16 1936, i16 1937, i16 1938, i16 1939, i16 1940, i16 1941, i16 1942, i16 1943, i16 1944, i16 1945, i16 1946, i16 1947, i16 1948, i16 1949, i16 1950, i16 1951, i16 1952, i16 1953, i16 1954, i16 1955, i16 1956, i16 1957, i16 1958, i16 1959, i16 1960, i16 1961, i16 1962, i16 1963, i16 1964, i16 1965, i16 1966, i16 1967, i16 1968, i16 1969, i16 1970, i16 1971, i16 1972, i16 1973, i16 1974, i16 1975, i16 1976, i16 1977, i16 1978, i16 1979, i16 1980, i16 1981, i16 1982, i16 1983, i16 1984, i16 1985, i16 1986, i16 1987, i16 1988, i16 1989, i16 1990, i16 1991, i16 1992, i16 1993, i16 1994, i16 1995, i16 1996, i16 1997, i16 1998, i16 1999, i16 2000, i16 2001, i16 2002, i16 2003, i16 2004, i16 2005, i16 2006, i16 2007, i16 2008, i16 2009, i16 2010, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 458, i16 459, i16 460, i16 461, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 482, i16 483, i16 484, i16 485, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 494, i16 495, i16 496, i16 497, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 520, i16 521, i16 522, i16 523, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 714, i16 715, i16 716, i16 717, i16 718, i16 719, i16 720, i16 721, i16 722, i16 723, i16 724, i16 725, i16 726, i16 727, i16 728, i16 729, i16 730, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 737, i16 738, i16 739, i16 740, i16 741, i16 742, i16 743, i16 744, i16 745, i16 746, i16 747, i16 748, i16 749, i16 750, i16 751, i16 752, i16 753, i16 754, i16 755, i16 756, i16 757, i16 758, i16 759, i16 760, i16 761, i16 762, i16 763, i16 764, i16 765, i16 766, i16 767, i16 768, i16 769, i16 770, i16 771, i16 772, i16 773, i16 774, i16 775, i16 776, i16 777, i16 778, i16 779, i16 780, i16 781, i16 782, i16 783, i16 784, i16 785, i16 786, i16 787, i16 788, i16 789, i16 790, i16 791, i16 792, i16 793, i16 794, i16 795, i16 796, i16 797, i16 798, i16 799, i16 800, i16 801, i16 802, i16 803, i16 804, i16 805, i16 806, i16 807, i16 808, i16 809, i16 810, i16 811, i16 812, i16 813, i16 814, i16 815, i16 816, i16 817, i16 818, i16 819, i16 820, i16 821, i16 822, i16 823, i16 824, i16 825, i16 826, i16 827, i16 828, i16 829, i16 830, i16 831, i16 832, i16 833, i16 834, i16 835, i16 836, i16 837, i16 838, i16 839, i16 840, i16 841, i16 842, i16 843, i16 844, i16 845, i16 846, i16 847, i16 848, i16 849, i16 850, i16 851, i16 852, i16 853, i16 854, i16 855, i16 856, i16 857, i16 858, i16 859, i16 860, i16 861, i16 862, i16 863, i16 864, i16 865, i16 866, i16 867, i16 868, i16 869, i16 870, i16 871, i16 872, i16 873, i16 874, i16 875, i16 876, i16 877, i16 878, i16 879, i16 880, i16 881, i16 882, i16 883, i16 884, i16 885, i16 886, i16 887, i16 888, i16 889, i16 890, i16 891, i16 892, i16 893, i16 894, i16 895, i16 896, i16 897, i16 898, i16 899, i16 900, i16 901, i16 902, i16 903, i16 904, i16 905, i16 906, i16 907, i16 908, i16 909, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 918, i16 919, i16 920, i16 921, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 929, i16 930, i16 931, i16 932, i16 933, i16 934, i16 935, i16 936, i16 937, i16 938, i16 939, i16 940, i16 941, i16 942, i16 943, i16 944, i16 945, i16 946, i16 947, i16 948, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 964, i16 965, i16 966, i16 967, i16 968, i16 969, i16 970, i16 971, i16 972, i16 973, i16 974, i16 975, i16 976, i16 977, i16 978, i16 979, i16 980, i16 981, i16 982, i16 983, i16 984, i16 985, i16 986, i16 987, i16 988, i16 989, i16 990, i16 991, i16 992, i16 993, i16 994, i16 995, i16 996, i16 997, i16 998, i16 999, i16 1000, i16 1001, i16 1002, i16 1003, i16 1004, i16 1005, i16 1006, i16 1007, i16 1008, i16 1009, i16 1010, i16 1011, i16 1012, i16 1013, i16 1014, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1023, i16 1024, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 1037, i16 1038, i16 1039, i16 1040, i16 1041, i16 1042, i16 1043, i16 1044, i16 1045, i16 1046, i16 1047, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 1058, i16 1059, i16 1060, i16 1061, i16 1062, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1070, i16 1071, i16 1072, i16 1073, i16 1074, i16 1075, i16 1076, i16 1077, i16 1078, i16 1079, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1088, i16 1089, i16 1090, i16 1091, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1099, i16 1100, i16 1101, i16 1102, i16 1103, i16 1104, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 1117, i16 1118, i16 1119, i16 1120, i16 1121, i16 1122, i16 1123, i16 1124, i16 1125, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1132, i16 1133, i16 1134, i16 1135, i16 1136, i16 1137, i16 1138, i16 1139, i16 1140, i16 1141, i16 1142, i16 1143, i16 1144, i16 1145, i16 1146, i16 1147, i16 1148, i16 1149, i16 1150, i16 1151, i16 1152, i16 1153, i16 1154, i16 1155, i16 1156, i16 1157, i16 1158, i16 1159, i16 1160, i16 1161, i16 1162, i16 1163, i16 1164, i16 1165, i16 1166, i16 1167, i16 1168, i16 1169, i16 1170, i16 1171, i16 1172, i16 1173, i16 1174, i16 1175, i16 1176, i16 1177, i16 1178, i16 1179, i16 1180, i16 1181, i16 1182, i16 1183, i16 1184, i16 1185, i16 1186, i16 1187, i16 1188, i16 1189, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1206, i16 1207, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1235, i16 1236, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1242, i16 1243, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 1251, i16 1252, i16 1253, i16 1254, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1263, i16 1264, i16 1265, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1281, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1314, i16 1315, i16 1316, i16 1317, i16 1318, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 1367, i16 1368, i16 1369, i16 1370, i16 1371, i16 1372, i16 1373, i16 1374, i16 1375, i16 1376, i16 1377, i16 1378, i16 1379, i16 1380, i16 1381, i16 1382, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 1390, i16 1391, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1400, i16 1401, i16 1402, i16 1403, i16 1404, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1418, i16 1419, i16 1420, i16 1421, i16 1422, i16 1423, i16 1424, i16 1425, i16 1426, i16 1427, i16 1428, i16 1429, i16 1430, i16 1431, i16 1432, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1440, i16 1441, i16 1442, i16 1443, i16 1444, i16 1445, i16 1446, i16 1447, i16 1448, i16 1449, i16 1450, i16 1451, i16 1452, i16 1453, i16 1454, i16 1455, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1481, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 1528, i16 1529, i16 1530, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 1539, i16 1540, i16 1541, i16 1542, i16 1543, i16 1544, i16 1545, i16 1546, i16 1547, i16 1548, i16 1549, i16 1550, i16 1551, i16 1552, i16 1553, i16 1554, i16 1555, i16 1556, i16 1557, i16 1558, i16 1559, i16 1560, i16 1561, i16 1562, i16 1563, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 1595, i16 1596, i16 1597, i16 1598, i16 1599, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1611, i16 1612, i16 1613, i16 1614, i16 1615, i16 1616, i16 1617, i16 1618, i16 1619, i16 1620, i16 1621, i16 1622, i16 1623, i16 1624, i16 1625, i16 1626, i16 1627, i16 1628, i16 1629, i16 1630, i16 1631, i16 1632, i16 1633, i16 1634, i16 1635, i16 1636, i16 1637, i16 1638, i16 1639, i16 1640, i16 1641, i16 1642, i16 1643, i16 1644, i16 1645, i16 1646, i16 1647, i16 1648, i16 1649, i16 1650, i16 1651, i16 1652, i16 1653, i16 1654, i16 1655, i16 1656, i16 1657, i16 1658, i16 1659, i16 1660, i16 1661, i16 1662, i16 1663, i16 1664, i16 1665, i16 1666, i16 1667, i16 1668, i16 1669, i16 1670, i16 1671, i16 1672, i16 1673, i16 1674, i16 1675, i16 1676, i16 1677, i16 1678, i16 1679, i16 1680, i16 1681, i16 1682, i16 1683, i16 1684, i16 1685, i16 1686, i16 1687, i16 1688, i16 1689, i16 1690, i16 1691, i16 1692, i16 1693, i16 1694, i16 1695, i16 1696, i16 1697, i16 1698, i16 1699, i16 1700, i16 1701, i16 1702, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 1717, i16 1718, i16 1719, i16 1720, i16 1721, i16 1722, i16 1723, i16 1724, i16 1725, i16 1726, i16 1727, i16 1728, i16 1729, i16 1730, i16 1731, i16 1732, i16 1733, i16 1734, i16 1735, i16 1736, i16 1737, i16 1738, i16 1739, i16 1740, i16 1741, i16 1742, i16 1743, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 1749, i16 1750, i16 1751, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 1758, i16 1759, i16 1760, i16 1761, i16 1762, i16 1763, i16 1764, i16 1765, i16 1766, i16 1767, i16 1768, i16 1769, i16 1770, i16 1771, i16 1772, i16 1773, i16 1774, i16 1775, i16 1776, i16 1777, i16 1778, i16 1779, i16 1780, i16 1781, i16 1782, i16 1783, i16 1784, i16 1785, i16 1786, i16 1787, i16 1788, i16 1789, i16 1790, i16 1791, i16 1792, i16 1793, i16 1794, i16 1795, i16 1796, i16 1797, i16 1798, i16 1799, i16 1800, i16 1801, i16 1802, i16 1803, i16 1804, i16 1805, i16 1806, i16 1807, i16 1808, i16 1809, i16 1810, i16 1811, i16 1812, i16 1813, i16 1814, i16 1815, i16 1816, i16 1817, i16 1818, i16 1819, i16 1820, i16 1821, i16 1822, i16 1823, i16 1824, i16 1825, i16 1826, i16 1827, i16 1828, i16 1829, i16 1830, i16 1831, i16 1832, i16 1833, i16 1834, i16 1835, i16 1836, i16 1837, i16 1838, i16 1839, i16 1840, i16 1841, i16 1842, i16 1843, i16 1844, i16 1845, i16 1846, i16 1847, i16 1848, i16 1849, i16 1850, i16 1851, i16 1852, i16 1853, i16 1854, i16 1855, i16 1856, i16 1857, i16 1858, i16 1859, i16 1860, i16 1861, i16 1862, i16 1863, i16 1864, i16 1865, i16 1866, i16 1867, i16 1868, i16 1869, i16 1870, i16 1871, i16 1872, i16 1873, i16 1874, i16 1875, i16 1876, i16 1877, i16 1878, i16 1879, i16 1880, i16 1881, i16 1882, i16 1883, i16 1884, i16 1885, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 2, i16 1, i16 3, i16 1, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 457, i16 458, i16 459, i16 460, i16 461, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 482, i16 483, i16 484, i16 485, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 494, i16 495, i16 496, i16 497, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 520, i16 521, i16 522, i16 523, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 714, i16 715, i16 716, i16 717, i16 718, i16 719, i16 720, i16 721, i16 722, i16 723, i16 724, i16 725, i16 726, i16 727, i16 728, i16 729, i16 730, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 737, i16 738, i16 739, i16 740, i16 741, i16 742, i16 743, i16 744, i16 745, i16 746, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1188, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1206, i16 1207, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1235, i16 1236, i16 1187, i16 1190, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1242, i16 1243, i16 1187, i16 1190, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 1251, i16 1252, i16 1187, i16 1190, i16 1253, i16 1254, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1263, i16 1264, i16 1265, i16 1187, i16 1190, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1281, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1187, i16 1190, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1187, i16 1314, i16 1315, i16 1316, i16 1317, i16 1318, i16 1190, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1329, i16 1330, i16 1331, i16 1187, i16 1190, i16 1332, i16 1333, i16 1334, i16 1335, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 1187, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 1367, i16 1368, i16 1369, i16 1370, i16 1371, i16 1372, i16 1373, i16 1187, i16 1374, i16 1375, i16 1190, i16 1376, i16 1377, i16 1378, i16 1187, i16 1190, i16 1379, i16 1380, i16 1381, i16 1382, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 1187, i16 1190, i16 1390, i16 1391, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1400, i16 1401, i16 1402, i16 1403, i16 1404, i16 1187, i16 1190, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1187, i16 1190, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1418, i16 1419, i16 1420, i16 1421, i16 1422, i16 1423, i16 1187, i16 1190, i16 1424, i16 1425, i16 1426, i16 1427, i16 1428, i16 1429, i16 1430, i16 1431, i16 1432, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1440, i16 1441, i16 1442, i16 1443, i16 1444, i16 1445, i16 1446, i16 1447, i16 1448, i16 1449, i16 1450, i16 1451, i16 1452, i16 1453, i16 1454, i16 1455, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1187, i16 1190, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1187, i16 1190, i16 1481, i16 1187, i16 1190, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1187, i16 1190, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1187, i16 1513, i16 1514, i16 1515, i16 1190, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 1528, i16 1529, i16 1530, i16 1187, i16 1190, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 1539, i16 1540, i16 1541, i16 1542, i16 1543, i16 1544, i16 1545, i16 1546, i16 1547, i16 1548, i16 1549, i16 1550, i16 1551, i16 1552, i16 1553, i16 1554, i16 1555, i16 1556, i16 1557, i16 1558, i16 1559, i16 1560, i16 1561, i16 1562, i16 1563, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1187, i16 1187, i16 1187, i16 1190, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1187, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 1595, i16 1596, i16 1597, i16 1598, i16 1599, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1187, i16 1611, i16 1612, i16 1613, i16 1614, i16 1611, i16 1615, i16 1611, i16 1616, i16 1611, i16 1617, i16 1611, i16 1618, i16 1619, i16 1620, i16 1611, i16 1621, i16 1611, i16 1622, i16 1623, i16 1624, i16 1611, i16 1625, i16 1611, i16 1626, i16 1627, i16 1628, i16 1629, i16 1630, i16 1631, i16 1611, i16 1632, i16 1611, i16 1633, i16 1611, i16 1634, i16 1611, i16 1635, i16 1611, i16 1636, i16 1611, i16 1637, i16 1638, i16 1639, i16 1611, i16 1640, i16 1611, i16 1641, i16 1611, i16 1642, i16 1643, i16 1611, i16 1644, i16 1611, i16 1645, i16 1646, i16 1647, i16 1648, i16 1649, i16 1650, i16 1611, i16 1651, i16 1611, i16 1652, i16 1611, i16 1653, i16 1611, i16 1654, i16 1655, i16 1656, i16 1657, i16 1658, i16 1657, i16 1659, i16 1657, i16 1660, i16 1657, i16 1661, i16 1657, i16 1662, i16 1657, i16 1663, i16 1657, i16 1664, i16 1657, i16 1665, i16 1657, i16 1666, i16 1657, i16 1667, i16 1657, i16 1668, i16 1657, i16 1669, i16 1657, i16 1670, i16 1657, i16 1671, i16 1657, i16 1672, i16 1657, i16 1673, i16 1657, i16 1674, i16 1657, i16 1675, i16 1657, i16 1676, i16 1657, i16 1677, i16 1657, i16 1678, i16 1657, i16 1679, i16 1657, i16 1680, i16 1657, i16 1681, i16 1657, i16 1682, i16 1657, i16 1683, i16 1657, i16 1684, i16 1657, i16 1685, i16 1657, i16 1686, i16 1657, i16 1687, i16 1657, i16 1688, i16 1657, i16 1689, i16 1657, i16 1690, i16 1657, i16 1691, i16 1657, i16 1692, i16 1657, i16 1693, i16 1657, i16 1694, i16 1657, i16 1695, i16 1657, i16 1696, i16 1657, i16 1697, i16 1657, i16 1698, i16 1699, i16 1700, i16 1657, i16 1701, i16 1699, i16 1702, i16 1657, i16 1703, i16 1657, i16 1704, i16 1657, i16 1705, i16 1657, i16 1706, i16 1657, i16 1707, i16 1657, i16 1708, i16 1657, i16 1709, i16 1657, i16 1710, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1189, i16 1189, i16 1189, i16 1189, i16 1712, i16 1712, i16 1713, i16 1714, i16 1714, i16 1714, i16 1714, i16 1714, i16 1714, i16 1712, i16 1712, i16 1715, i16 1715, i16 1715, i16 1712, i16 1716, i16 1716, i16 1716, i16 1716, i16 1712, i16 1712, i16 1712, i16 1717, i16 1717, i16 1717, i16 1717, i16 1717, i16 1717, i16 1717, i16 1712, i16 1718, i16 1718, i16 1718, i16 1718, i16 1712, i16 1719, i16 1719, i16 1719, i16 1719, i16 1712, i16 1720, i16 1720, i16 1720, i16 1720, i16 1712, i16 1721, i16 1721, i16 1721, i16 1721, i16 1712, i16 1722, i16 1722, i16 1712, i16 1723, i16 1723, i16 1712, i16 1724, i16 1724, i16 1712, i16 1725, i16 1725, i16 1712, i16 1726, i16 1726, i16 1726, i16 1726, i16 1712, i16 1727, i16 1727, i16 1727, i16 1727, i16 1712, i16 1728, i16 1728, i16 1728, i16 1728, i16 1712, i16 1729, i16 1729, i16 1729, i16 1729, i16 1712, i16 1730, i16 1730, i16 1730, i16 1730, i16 1712, i16 1731, i16 1731, i16 1731, i16 1731, i16 1712, i16 1732, i16 1732, i16 1732, i16 1732, i16 1712, i16 1733, i16 1733, i16 1733, i16 1733, i16 1712, i16 1734, i16 1734, i16 1734, i16 1734, i16 1712, i16 1735, i16 1735, i16 1735, i16 1735, i16 1712, i16 1736, i16 1736, i16 1736, i16 1736, i16 1712, i16 1737, i16 1737, i16 1737, i16 1737, i16 1712, i16 1738, i16 1738, i16 1738, i16 1738, i16 1712, i16 1739, i16 1739, i16 1739, i16 1739, i16 1712, i16 1740, i16 1740, i16 1740, i16 1740, i16 1712, i16 1741, i16 1741, i16 1712, i16 1742, i16 1742, i16 1712, i16 1743, i16 1743, i16 1743, i16 1743, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 1749, i16 1750, i16 1751, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 1758, i16 1759, i16 1760, i16 1761, i16 1762, i16 1712, i16 1763, i16 1763, i16 1763, i16 1712, i16 1764, i16 1764, i16 1764, i16 1712, i16 1765, i16 1765, i16 1765, i16 1765, i16 1712, i16 1766, i16 1766, i16 1766, i16 1712, i16 1767, i16 1767, i16 1767, i16 1712, i16 1768, i16 1768, i16 1768, i16 1768, i16 1712, i16 1769, i16 1769, i16 1769, i16 1712, i16 1770, i16 1770, i16 1770, i16 1712, i16 1771, i16 1771, i16 1771, i16 1771, i16 1712, i16 1772, i16 1772, i16 1772, i16 1712, i16 1773, i16 1773, i16 1773, i16 1712, i16 1774, i16 1774, i16 1774, i16 1712, i16 1775, i16 1775, i16 1775, i16 1712, i16 1776, i16 1776, i16 1776, i16 1712, i16 1777, i16 1777, i16 1777, i16 1712, i16 1778, i16 1778, i16 1778, i16 1712, i16 1779, i16 1779, i16 1779, i16 1712, i16 1780, i16 1780, i16 1780, i16 1780, i16 1780, i16 1712, i16 1781, i16 1781, i16 1781, i16 1712, i16 1782, i16 1782, i16 1782, i16 1712, i16 1783, i16 1712, i16 1784, i16 1712, i16 1785, i16 1712, i16 1786, i16 1712, i16 1787, i16 1712, i16 1788, i16 1788, i16 1788, i16 1788, i16 1788, i16 1712, i16 1789, i16 1789, i16 1789, i16 1789, i16 1789, i16 1712, i16 1790, i16 1790, i16 1790, i16 1790, i16 1790, i16 1712, i16 1791, i16 1791, i16 1791, i16 1791, i16 1791, i16 1712, i16 1792, i16 1792, i16 1792, i16 1792, i16 1792, i16 1712, i16 1793, i16 1712, i16 1794, i16 1712, i16 1795, i16 1712, i16 1796, i16 1712, i16 1797, i16 1712, i16 1798, i16 1798, i16 1798, i16 1712, i16 1799, i16 1799, i16 1799, i16 1712, i16 1800, i16 1800, i16 1800, i16 1712, i16 1801, i16 1712, i16 1802, i16 1712, i16 1803, i16 1712, i16 1804, i16 1712, i16 1805, i16 1712, i16 1806, i16 1806, i16 1806, i16 1712, i16 1807, i16 1712, i16 1808, i16 1712, i16 1809, i16 1712, i16 1810, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2093, i16 2094, i16 2095, i16 2096, i16 2097, i16 2098, i16 2099, i16 2100, i16 2101, i16 2102, i16 2103, i16 2104, i16 2105, i16 2106, i16 2107, i16 2108, i16 2109, i16 2110, i16 2111, i16 2112, i16 2113, i16 2114, i16 2115, i16 2116, i16 2117, i16 2118, i16 2119, i16 2120, i16 2121, i16 2122, i16 2123, i16 2124, i16 2125, i16 2126, i16 2127, i16 2128, i16 2129, i16 2130, i16 2131, i16 2132, i16 2133, i16 2134, i16 2135, i16 2136, i16 2137, i16 2138, i16 2139, i16 2140, i16 2141, i16 2142, i16 2143, i16 2144, i16 2145, i16 2146, i16 2147, i16 2148, i16 2149, i16 2150, i16 2151, i16 2091, i16 2152, i16 2153, i16 2154, i16 2155, i16 2156, i16 2157, i16 2093, i16 2158, i16 2159, i16 2160, i16 2161, i16 2162, i16 2163, i16 2164, i16 2091, i16 2093, i16 2165, i16 2166, i16 2167, i16 2168, i16 2169, i16 2170, i16 2171, i16 2172, i16 2173, i16 2174, i16 2175, i16 2176, i16 2177, i16 2178, i16 2179, i16 2091, i16 2093, i16 2180, i16 2181, i16 2182, i16 2183, i16 2184, i16 2185, i16 2186, i16 2187, i16 2188, i16 2189, i16 2190, i16 2191, i16 2192, i16 2193, i16 2194, i16 2091, i16 2093, i16 2195, i16 2196, i16 2197, i16 2198, i16 2199, i16 2200, i16 2201, i16 2202, i16 2203, i16 2204, i16 2205, i16 2206, i16 2207, i16 2208, i16 2209, i16 2210, i16 2211, i16 2212, i16 2213, i16 2214, i16 2215, i16 2216, i16 2217, i16 2218, i16 2219, i16 2220, i16 2221, i16 2222, i16 2223, i16 2224, i16 2225, i16 2226, i16 2227, i16 2228, i16 2229, i16 2230, i16 2231, i16 2232, i16 2233, i16 2234, i16 2235, i16 2236, i16 2237, i16 2238, i16 2239, i16 2240, i16 2241, i16 2242, i16 2243, i16 2091, i16 2093, i16 2244, i16 2245, i16 2246, i16 2247, i16 2248, i16 2091, i16 2249, i16 2250, i16 2251, i16 2252, i16 2253, i16 2093, i16 2254, i16 2255, i16 2256, i16 2257, i16 2258, i16 2259, i16 2260, i16 2261, i16 2262, i16 2263, i16 2264, i16 2265, i16 2266, i16 2267, i16 2268, i16 2269, i16 2270, i16 2091, i16 2093, i16 2271, i16 2272, i16 2273, i16 2274, i16 2275, i16 2276, i16 2277, i16 2278, i16 2279, i16 2280, i16 2281, i16 2282, i16 2283, i16 2284, i16 2285, i16 2091, i16 2093, i16 2286, i16 2287, i16 2093, i16 2288, i16 2289, i16 2290, i16 2291, i16 2292, i16 2293, i16 2294, i16 2295, i16 2296, i16 2297, i16 2298, i16 2299, i16 2300, i16 2301, i16 2302, i16 2303, i16 2304, i16 2305, i16 2306, i16 2307, i16 2308, i16 2309, i16 2310, i16 2311, i16 2312, i16 2313, i16 2314, i16 2315, i16 2316, i16 2317, i16 2318, i16 2319, i16 2320, i16 2091, i16 2321, i16 2322, i16 2093, i16 2323, i16 2324, i16 2325, i16 2091, i16 2093, i16 2326, i16 2327, i16 2328, i16 2329, i16 2330, i16 2331, i16 2332, i16 2333, i16 2334, i16 2335, i16 2336, i16 2337, i16 2338, i16 2091, i16 2339, i16 2093, i16 2340, i16 2341, i16 2342, i16 2343, i16 2344, i16 2345, i16 2346, i16 2347, i16 2348, i16 2349, i16 2350, i16 2351, i16 2352, i16 2353, i16 2354, i16 2355, i16 2356, i16 2357, i16 2358, i16 2091, i16 2093, i16 2359, i16 2360, i16 2361, i16 2362, i16 2363, i16 2364, i16 2365, i16 2091, i16 2093, i16 2366, i16 2367, i16 2368, i16 2369, i16 2370, i16 2371, i16 2372, i16 2373, i16 2374, i16 2375, i16 2376, i16 2377, i16 2378, i16 2379, i16 2380, i16 2381, i16 2382, i16 2383, i16 2091, i16 2384, i16 2385, i16 2093, i16 2386, i16 2387, i16 2388, i16 2389, i16 2390, i16 2391, i16 2392, i16 2393, i16 2394, i16 2395, i16 2396, i16 2397, i16 2398, i16 2399, i16 2400, i16 2401, i16 2402, i16 2403, i16 2404, i16 2405, i16 2406, i16 2407, i16 2408, i16 2409, i16 2410, i16 2411, i16 2412, i16 2413, i16 2414, i16 2415, i16 2416, i16 2417, i16 2418, i16 2419, i16 2420, i16 2421, i16 2422, i16 2423, i16 2424, i16 2425, i16 2426, i16 2427, i16 2428, i16 2429, i16 2430, i16 2431, i16 2432, i16 2433, i16 2434, i16 2435, i16 2436, i16 2437, i16 2438, i16 2439, i16 2440, i16 2441, i16 2442, i16 2443, i16 2444, i16 2445, i16 2446, i16 2447, i16 2448, i16 2449, i16 2450, i16 2451, i16 2091, i16 2452, i16 2453, i16 2093, i16 2454, i16 2455, i16 2456, i16 2457, i16 2458, i16 2091, i16 2093, i16 2459, i16 2091, i16 2093, i16 2460, i16 2461, i16 2462, i16 2463, i16 2464, i16 2465, i16 2466, i16 2467, i16 2468, i16 2469, i16 2470, i16 2471, i16 2472, i16 2473, i16 2474, i16 2475, i16 2476, i16 2178, i16 2477, i16 2091, i16 2093, i16 2478, i16 2479, i16 2480, i16 2481, i16 2482, i16 2483, i16 2484, i16 2485, i16 2486, i16 2487, i16 2488, i16 2489, i16 2490, i16 2491, i16 2492, i16 2493, i16 2178, i16 2494, i16 2495, i16 2496, i16 2091, i16 2497, i16 2498, i16 2499, i16 2093, i16 2500, i16 2501, i16 2502, i16 2503, i16 2504, i16 2505, i16 2506, i16 2507, i16 2508, i16 2509, i16 2510, i16 2511, i16 2512, i16 2513, i16 2514, i16 2091, i16 2515, i16 2516, i16 2093, i16 2517, i16 2518, i16 2519, i16 2520, i16 2521, i16 2522, i16 2523, i16 2524, i16 2525, i16 2526, i16 2527, i16 2528, i16 2529, i16 2530, i16 2531, i16 2532, i16 2533, i16 2534, i16 2535, i16 2536, i16 2537, i16 2538, i16 2539, i16 2540, i16 2541, i16 2542, i16 2543, i16 2544, i16 2545, i16 2546, i16 2547, i16 2548, i16 2549, i16 2550, i16 2551, i16 2552, i16 2553, i16 2554, i16 2555, i16 2556, i16 2557, i16 2558, i16 2559, i16 2560, i16 2561, i16 2562, i16 2563, i16 2564, i16 2565, i16 2566, i16 2567, i16 2568, i16 2569, i16 2570, i16 2571, i16 2572, i16 2573, i16 2574, i16 2575, i16 2576, i16 2577, i16 2091, i16 2093, i16 2578, i16 2579, i16 2580, i16 2581, i16 2582, i16 2091, i16 2093, i16 2583, i16 2584, i16 2585, i16 2586, i16 2587, i16 2588, i16 2589, i16 2590, i16 2591, i16 2592, i16 2593, i16 2594, i16 2595, i16 2091, i16 2093, i16 2596, i16 2597, i16 2598, i16 2599, i16 2600, i16 2091, i16 2093, i16 2601, i16 2602, i16 2603, i16 2604, i16 2605, i16 2606, i16 2607, i16 2608, i16 2609, i16 2610, i16 2611, i16 2612, i16 2613, i16 2614, i16 2615, i16 2616, i16 2617, i16 2091, i16 2093, i16 2618, i16 2619, i16 2620, i16 2621, i16 2622, i16 2623, i16 2624, i16 2625, i16 2626, i16 2627, i16 2628, i16 2629, i16 2630, i16 2091, i16 2178, i16 2631, i16 2632, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2634, i16 2635, i16 2636, i16 2637, i16 2638, i16 2639, i16 2640, i16 2641, i16 2642, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2643, i16 2092, i16 2644, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2645, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2646, i16 2647, i16 2648, i16 2649, i16 2650, i16 2647, i16 2651, i16 2647, i16 2652, i16 2647, i16 2653, i16 2647, i16 2654, i16 2655, i16 2656, i16 2647, i16 2657, i16 2647, i16 2658, i16 2659, i16 2660, i16 2647, i16 2661, i16 2647, i16 2662, i16 2663, i16 2664, i16 2665, i16 2666, i16 2667, i16 2647, i16 2668, i16 2647, i16 2669, i16 2647, i16 2670, i16 2647, i16 2671, i16 2647, i16 2672, i16 2647, i16 2673, i16 2674, i16 2675, i16 2647, i16 2676, i16 2647, i16 2677, i16 2647, i16 2678, i16 2679, i16 2647, i16 2680, i16 2647, i16 2681, i16 2682, i16 2683, i16 2684, i16 2685, i16 2686, i16 2647, i16 2687, i16 2647, i16 2688, i16 2647, i16 2689, i16 2647, i16 2690, i16 2691, i16 2692, i16 2693, i16 2694, i16 2693, i16 2695, i16 2693, i16 2696, i16 2693, i16 2697, i16 2693, i16 2698, i16 2693, i16 2699, i16 2693, i16 2700, i16 2693, i16 2701, i16 2693, i16 2702, i16 2693, i16 2703, i16 2693, i16 2704, i16 2693, i16 2705, i16 2693, i16 2706, i16 2693, i16 2707, i16 2693, i16 2708, i16 2693, i16 2709, i16 2693, i16 2710, i16 2693, i16 2711, i16 2693, i16 2712, i16 2693, i16 2713, i16 2693, i16 2714, i16 2693, i16 2715, i16 2693, i16 2716, i16 2693, i16 2717, i16 2693, i16 2718, i16 2693, i16 2719, i16 2693, i16 2720, i16 2693, i16 2721, i16 2693, i16 2722, i16 2693, i16 2723, i16 2693, i16 2724, i16 2693, i16 2725, i16 2693, i16 2726, i16 2693, i16 2727, i16 2693, i16 2728, i16 2693, i16 2729, i16 2693, i16 2730, i16 2693, i16 2731, i16 2693, i16 2732, i16 2693, i16 2733, i16 2693, i16 2734, i16 2735, i16 2736, i16 2693, i16 2737, i16 2735, i16 2738, i16 2693, i16 2739, i16 2693, i16 2740, i16 2693, i16 2741, i16 2693, i16 2742, i16 2693, i16 2743, i16 2693, i16 2744, i16 2693, i16 2745, i16 2693, i16 2746, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2092, i16 2092, i16 2092, i16 2092, i16 2632, i16 2632, i16 2748, i16 2749, i16 2749, i16 2749, i16 2749, i16 2749, i16 2749, i16 2632, i16 2632, i16 2750, i16 2750, i16 2750, i16 2632, i16 2751, i16 2751, i16 2751, i16 2751, i16 2632, i16 2632, i16 2632, i16 2752, i16 2752, i16 2752, i16 2752, i16 2752, i16 2752, i16 2752, i16 2632, i16 2753, i16 2753, i16 2753, i16 2753, i16 2632, i16 2754, i16 2754, i16 2754, i16 2754, i16 2632, i16 2755, i16 2755, i16 2755, i16 2755, i16 2632, i16 2756, i16 2756, i16 2756, i16 2756, i16 2632, i16 2757, i16 2757, i16 2632, i16 2758, i16 2758, i16 2632, i16 2759, i16 2759, i16 2632, i16 2760, i16 2760, i16 2632, i16 2761, i16 2761, i16 2761, i16 2761, i16 2632, i16 2762, i16 2762, i16 2762, i16 2762, i16 2632, i16 2763, i16 2763, i16 2763, i16 2763, i16 2632, i16 2764, i16 2764, i16 2764, i16 2764, i16 2632, i16 2765, i16 2765, i16 2765, i16 2765, i16 2632, i16 2766, i16 2766, i16 2766, i16 2766, i16 2632, i16 2767, i16 2767, i16 2767, i16 2767, i16 2632, i16 2768, i16 2768, i16 2768, i16 2768, i16 2632, i16 2769, i16 2769, i16 2769, i16 2769, i16 2632, i16 2770, i16 2770, i16 2770, i16 2770, i16 2632, i16 2771, i16 2771, i16 2771, i16 2771, i16 2632, i16 2772, i16 2772, i16 2772, i16 2772, i16 2632, i16 2773, i16 2773, i16 2773, i16 2773, i16 2632, i16 2774, i16 2774, i16 2774, i16 2774, i16 2632, i16 2775, i16 2775, i16 2775, i16 2775, i16 2632, i16 2776, i16 2776, i16 2632, i16 2777, i16 2777, i16 2632, i16 2778, i16 2778, i16 2778, i16 2778, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2633, i16 2634, i16 2635, i16 2636, i16 2637, i16 2638, i16 2639, i16 2640, i16 2641, i16 2642, i16 2780, i16 2781, i16 2782, i16 2783, i16 2784, i16 2785, i16 2786, i16 2787, i16 2632, i16 2788, i16 2788, i16 2788, i16 2632, i16 2789, i16 2789, i16 2789, i16 2632, i16 2790, i16 2790, i16 2790, i16 2790, i16 2632, i16 2791, i16 2791, i16 2791, i16 2632, i16 2792, i16 2792, i16 2792, i16 2632, i16 2793, i16 2793, i16 2793, i16 2793, i16 2632, i16 2794, i16 2794, i16 2794, i16 2632, i16 2795, i16 2795, i16 2795, i16 2632, i16 2796, i16 2796, i16 2796, i16 2796, i16 2632, i16 2797, i16 2797, i16 2797, i16 2632, i16 2798, i16 2798, i16 2798, i16 2632, i16 2799, i16 2799, i16 2799, i16 2632, i16 2800, i16 2800, i16 2800, i16 2632, i16 2801, i16 2801, i16 2801, i16 2632, i16 2802, i16 2802, i16 2802, i16 2632, i16 2803, i16 2803, i16 2803, i16 2632, i16 2804, i16 2804, i16 2804, i16 2632, i16 2805, i16 2805, i16 2805, i16 2805, i16 2805, i16 2632, i16 2806, i16 2806, i16 2806, i16 2632, i16 2807, i16 2807, i16 2807, i16 2632, i16 2808, i16 2632, i16 2809, i16 2632, i16 2810, i16 2632, i16 2811, i16 2632, i16 2812, i16 2632, i16 2813, i16 2813, i16 2813, i16 2813, i16 2813, i16 2632, i16 2814, i16 2814, i16 2814, i16 2814, i16 2814, i16 2632, i16 2815, i16 2815, i16 2815, i16 2815, i16 2815, i16 2632, i16 2816, i16 2816, i16 2816, i16 2816, i16 2816, i16 2632, i16 2817, i16 2817, i16 2817, i16 2817, i16 2817, i16 2632, i16 2818, i16 2632, i16 2819, i16 2632, i16 2820, i16 2632, i16 2821, i16 2632, i16 2822, i16 2632, i16 2823, i16 2823, i16 2823, i16 2632, i16 2824, i16 2824, i16 2824, i16 2632, i16 2825, i16 2825, i16 2825, i16 2632, i16 2826, i16 2632, i16 2827, i16 2632, i16 2828, i16 2632, i16 2829, i16 2632, i16 2830, i16 2632, i16 2831, i16 2831, i16 2831, i16 2632, i16 2832, i16 2632, i16 2833, i16 2632, i16 2834, i16 2632, i16 2835, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2837, i16 2836, i16 2838, i16 2836, i16 2839, i16 2836, i16 2840, i16 2836, i16 2841, i16 2836, i16 2842, i16 2836, i16 2843, i16 2836, i16 2844, i16 2836, i16 2845, i16 2836, i16 2846, i16 2836, i16 2847, i16 2836, i16 2848, i16 2836, i16 2849, i16 2836, i16 2850, i16 2836, i16 2851, i16 2836, i16 2852, i16 2836, i16 2853, i16 2836, i16 2854, i16 2836, i16 2855, i16 2836, i16 2856, i16 2836, i16 2857, i16 2836, i16 2858, i16 2836, i16 2859, i16 2836, i16 2860, i16 2836, i16 2861, i16 2836, i16 2862, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2836, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2646, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2866, i16 2867, i16 2866, i16 2868, i16 2866, i16 2869, i16 2866, i16 2870, i16 2866, i16 2871, i16 2866, i16 2872, i16 2866, i16 2873, i16 2866, i16 2874, i16 2866, i16 2875, i16 2866, i16 2876, i16 2877, i16 2878, i16 2877, i16 2879, i16 2877, i16 2880, i16 2877, i16 2881, i16 2877, i16 2882, i16 2877, i16 2883, i16 2877, i16 2884, i16 2877, i16 2885, i16 2877, i16 2886, i16 2877, i16 2887, i16 2877, i16 2888, i16 2877, i16 2889, i16 2877, i16 2890, i16 2877, i16 2891, i16 2877, i16 2892, i16 2877, i16 2893, i16 2877, i16 2894, i16 2877, i16 2895, i16 2877, i16 2896, i16 2877, i16 2897, i16 2877, i16 2898, i16 2877, i16 2899, i16 2877, i16 2900, i16 2877, i16 2901, i16 2877, i16 2902, i16 2877, i16 2903, i16 2866, i16 2904, i16 2905, i16 2906, i16 2907, i16 2908, i16 2866, i16 2909, i16 2910, i16 2911, i16 2912, i16 2913, i16 2866, i16 2914, i16 2915, i16 2916, i16 2917, i16 2918, i16 2866, i16 2919, i16 2920, i16 2921, i16 2922, i16 2923, i16 2866, i16 2924, i16 2925, i16 2926, i16 2927, i16 2928, i16 2866, i16 2929, i16 2930, i16 2931, i16 2932, i16 2933, i16 2866, i16 2934, i16 2935, i16 2936, i16 2937, i16 2938, i16 2866, i16 2939, i16 2940, i16 2941, i16 2942, i16 2943, i16 2866, i16 2944, i16 2945, i16 2946, i16 2947, i16 2948, i16 2866, i16 2949, i16 2950, i16 2951, i16 2952, i16 2953, i16 2866, i16 2954, i16 2955, i16 2956, i16 2957, i16 2958, i16 2866, i16 2959, i16 2960, i16 2961, i16 2962, i16 2963, i16 2866, i16 2964, i16 2965, i16 2966, i16 2967, i16 2968, i16 2866, i16 2969, i16 2970, i16 2971, i16 2972, i16 2973, i16 2866, i16 2974, i16 2975, i16 2976, i16 2977, i16 2978, i16 2866, i16 2979, i16 2980, i16 2981, i16 2982, i16 2983, i16 2866, i16 2984, i16 2985, i16 2986, i16 2987, i16 2988, i16 2866, i16 2989, i16 2990, i16 2991, i16 2992, i16 2993, i16 2866, i16 2994, i16 2995, i16 2996, i16 2997, i16 2998, i16 2866, i16 2999, i16 3000, i16 3001, i16 3002, i16 3003, i16 2866, i16 3004, i16 3005, i16 3006, i16 3007, i16 3008, i16 2866, i16 3009, i16 3010, i16 3011, i16 3012, i16 3013, i16 2866, i16 3014, i16 3015, i16 3016, i16 3017, i16 3018, i16 2866, i16 3019, i16 3020, i16 3021, i16 3022, i16 3023, i16 2866, i16 3024, i16 3025, i16 3026, i16 3027, i16 3028, i16 2866, i16 3029, i16 3030, i16 3031, i16 3032, i16 3033, i16 2866, i16 3034, i16 3035, i16 3036, i16 3037, i16 3038, i16 2866, i16 3039, i16 3040, i16 3041, i16 3042, i16 3043, i16 2866, i16 3044, i16 3045, i16 3046, i16 3047, i16 3048, i16 2866, i16 3049, i16 3050, i16 3051, i16 3052, i16 3053, i16 2866, i16 3054, i16 3055, i16 3056, i16 3057, i16 3058, i16 2866, i16 3059, i16 3060, i16 3061, i16 3062, i16 3063, i16 2866, i16 3064, i16 3065, i16 3066, i16 3067, i16 3068, i16 2866, i16 3069, i16 3070, i16 3071, i16 3072, i16 3073, i16 2866, i16 3074, i16 3075, i16 3076, i16 3077, i16 3078, i16 2866, i16 2866, i16 3079, i16 3080, i16 3081, i16 3082, i16 3083, i16 2866, i16 2866, i16 3084, i16 3085, i16 3086, i16 3087, i16 3088, i16 2866, i16 3089, i16 3090, i16 3091, i16 3092, i16 3093, i16 2866, i16 3094, i16 3095, i16 3096, i16 3097, i16 3098, i16 2866, i16 3099, i16 3100, i16 3101, i16 3102, i16 3103, i16 2866, i16 3104, i16 3105, i16 3106, i16 3107, i16 3108, i16 2866, i16 3109, i16 3110, i16 3111, i16 3112, i16 3113, i16 2866, i16 3114, i16 3115, i16 3116, i16 3117, i16 3118, i16 2866, i16 3119, i16 3120, i16 3121, i16 3122, i16 3123, i16 2866, i16 2866, i16 2866, i16 2866, i16 3124, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 99, i16 104, i16 112, i16 117, i16 122, i16 124, i16 126, i16 128, i16 130, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 1162, i16 296, i16 0, i16 704, i16 0, i16 1166, i16 293, i16 0, i16 714, i16 0, i16 1168, i16 296, i16 0, i16 1167, i16 293, i16 0, i16 723, i16 0, i16 1169, i16 299, i16 0, i16 728, i16 0, i16 1170, i16 293, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 49, i16 51, i16 53, i16 55, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 83, i16 85, i16 87, i16 89, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 1174, i16 169, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 1176, i16 169, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 1173, i16 169, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 1175, i16 169, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 1222, i16 411, i16 0, i16 1221, i16 491, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 1219, i16 411, i16 0, i16 1220, i16 491, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 48, i16 50, i16 52, i16 54, i16 62, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 94, i16 96, i16 98, i16 100, i16 108, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 138, i16 140, i16 142, i16 144, i16 146, i16 148, i16 478, i16 0, i16 1265, i16 1008, i16 0, i16 1264, i16 1047, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 1269, i16 421, i16 0, i16 1268, i16 501, i16 0, i16 504, i16 0, i16 1273, i16 421, i16 0, i16 1272, i16 501, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 1262, i16 1008, i16 0, i16 1263, i16 1047, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 1266, i16 421, i16 0, i16 1267, i16 501, i16 0, i16 425, i16 0, i16 1270, i16 421, i16 0, i16 1271, i16 501, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 52, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 92, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 1318, i16 989, i16 0, i16 1317, i16 1029, i16 0, i16 491, i16 0, i16 1322, i16 401, i16 0, i16 1321, i16 481, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 1315, i16 989, i16 0, i16 1316, i16 1029, i16 0, i16 411, i16 0, i16 1319, i16 401, i16 0, i16 1320, i16 481, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 1222, i16 411, i16 0, i16 1221, i16 491, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1328, i16 413, i16 0, i16 1327, i16 493, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 1219, i16 411, i16 0, i16 1220, i16 491, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1325, i16 413, i16 0, i16 1326, i16 493, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 62, i16 142, i16 144, i16 168, i16 170, i16 194, i16 218, i16 220, i16 222, i16 224, i16 248, i16 272, i16 274, i16 298, i16 322, i16 402, i16 404, i16 428, i16 430, i16 454, i16 478, i16 480, i16 482, i16 484, i16 508, i16 532, i16 534, i16 558, i16 560, i16 562, i16 564, i16 566, i16 568, i16 570, i16 572, i16 574, i16 576, i16 1425, i16 451, i16 0, i16 1429, i16 398, i16 451, i16 0, i16 1428, i16 398, i16 528, i16 0, i16 1424, i16 528, i16 0, i16 1427, i16 478, i16 451, i16 0, i16 1426, i16 478, i16 528, i16 0, i16 478, i16 0, i16 1451, i16 471, i16 451, i16 0, i16 1450, i16 471, i16 528, i16 0, i16 1437, i16 471, i16 0, i16 1459, i16 399, i16 471, i16 451, i16 0, i16 1458, i16 399, i16 471, i16 528, i16 0, i16 1441, i16 399, i16 471, i16 0, i16 1457, i16 399, i16 548, i16 451, i16 0, i16 1456, i16 399, i16 548, i16 528, i16 0, i16 1440, i16 399, i16 548, i16 0, i16 1449, i16 548, i16 451, i16 0, i16 1448, i16 548, i16 528, i16 0, i16 1436, i16 548, i16 0, i16 1455, i16 479, i16 471, i16 451, i16 0, i16 1454, i16 479, i16 471, i16 528, i16 0, i16 1439, i16 479, i16 471, i16 0, i16 1453, i16 479, i16 548, i16 451, i16 0, i16 1452, i16 479, i16 548, i16 528, i16 0, i16 1438, i16 479, i16 548, i16 0, i16 479, i16 0, i16 490, i16 0, i16 1473, i16 467, i16 0, i16 1477, i16 411, i16 467, i16 0, i16 1476, i16 411, i16 544, i16 0, i16 1472, i16 544, i16 0, i16 1475, i16 491, i16 467, i16 0, i16 1474, i16 491, i16 544, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 1485, i16 467, i16 0, i16 1489, i16 425, i16 467, i16 0, i16 1488, i16 425, i16 544, i16 0, i16 1484, i16 544, i16 0, i16 1487, i16 504, i16 467, i16 0, i16 1486, i16 504, i16 544, i16 0, i16 504, i16 0, i16 1497, i16 467, i16 0, i16 1501, i16 432, i16 467, i16 0, i16 1500, i16 432, i16 544, i16 0, i16 1496, i16 544, i16 0, i16 1499, i16 511, i16 467, i16 0, i16 1498, i16 511, i16 544, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 1509, i16 471, i16 0, i16 1513, i16 451, i16 471, i16 0, i16 1512, i16 451, i16 548, i16 0, i16 1508, i16 548, i16 0, i16 1511, i16 528, i16 471, i16 0, i16 1510, i16 528, i16 548, i16 0, i16 528, i16 0, i16 1521, i16 467, i16 0, i16 1525, i16 453, i16 467, i16 0, i16 1524, i16 453, i16 544, i16 0, i16 1520, i16 544, i16 0, i16 1523, i16 530, i16 467, i16 0, i16 1522, i16 530, i16 544, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 1537, i16 471, i16 451, i16 0, i16 1536, i16 471, i16 528, i16 0, i16 1533, i16 451, i16 0, i16 1535, i16 548, i16 451, i16 0, i16 1534, i16 548, i16 528, i16 0, i16 1532, i16 528, i16 0, i16 548, i16 0, i16 1431, i16 451, i16 0, i16 1435, i16 398, i16 451, i16 0, i16 1434, i16 398, i16 528, i16 0, i16 1430, i16 528, i16 0, i16 1433, i16 478, i16 451, i16 0, i16 1432, i16 478, i16 528, i16 0, i16 398, i16 0, i16 1463, i16 471, i16 451, i16 0, i16 1462, i16 471, i16 528, i16 0, i16 1443, i16 471, i16 0, i16 1471, i16 399, i16 471, i16 451, i16 0, i16 1470, i16 399, i16 471, i16 528, i16 0, i16 1447, i16 399, i16 471, i16 0, i16 1469, i16 399, i16 548, i16 451, i16 0, i16 1468, i16 399, i16 548, i16 528, i16 0, i16 1446, i16 399, i16 548, i16 0, i16 1461, i16 548, i16 451, i16 0, i16 1460, i16 548, i16 528, i16 0, i16 1442, i16 548, i16 0, i16 1467, i16 479, i16 471, i16 451, i16 0, i16 1466, i16 479, i16 471, i16 528, i16 0, i16 1445, i16 479, i16 471, i16 0, i16 1465, i16 479, i16 548, i16 451, i16 0, i16 1464, i16 479, i16 548, i16 528, i16 0, i16 1444, i16 479, i16 548, i16 0, i16 399, i16 0, i16 410, i16 0, i16 1478, i16 467, i16 0, i16 1483, i16 411, i16 467, i16 0, i16 1482, i16 411, i16 544, i16 0, i16 1479, i16 544, i16 0, i16 1481, i16 491, i16 467, i16 0, i16 1480, i16 491, i16 544, i16 0, i16 411, i16 0, i16 990, i16 0, i16 1490, i16 467, i16 0, i16 1495, i16 425, i16 467, i16 0, i16 1494, i16 425, i16 544, i16 0, i16 1491, i16 544, i16 0, i16 1493, i16 504, i16 467, i16 0, i16 1492, i16 504, i16 544, i16 0, i16 425, i16 0, i16 1502, i16 467, i16 0, i16 1507, i16 432, i16 467, i16 0, i16 1506, i16 432, i16 544, i16 0, i16 1503, i16 544, i16 0, i16 1505, i16 511, i16 467, i16 0, i16 1504, i16 511, i16 544, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 1515, i16 471, i16 0, i16 1519, i16 451, i16 471, i16 0, i16 1518, i16 451, i16 548, i16 0, i16 1514, i16 548, i16 0, i16 1517, i16 528, i16 471, i16 0, i16 1516, i16 528, i16 548, i16 0, i16 451, i16 0, i16 1527, i16 467, i16 0, i16 1531, i16 453, i16 467, i16 0, i16 1530, i16 453, i16 544, i16 0, i16 1526, i16 544, i16 0, i16 1529, i16 530, i16 467, i16 0, i16 1528, i16 530, i16 544, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 1543, i16 471, i16 451, i16 0, i16 1542, i16 471, i16 528, i16 0, i16 1539, i16 451, i16 0, i16 1541, i16 548, i16 451, i16 0, i16 1540, i16 548, i16 528, i16 0, i16 1538, i16 528, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 112, i16 117, i16 122, i16 127, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1559, i16 1554, i16 0, i16 1556, i16 1552, i16 0, i16 1073, i16 0, i16 1560, i16 1553, i16 0, i16 582, i16 0, i16 1562, i16 1553, i16 0, i16 1080, i16 0, i16 1563, i16 1553, i16 0, i16 1082, i16 0, i16 1561, i16 1553, i16 0, i16 1564, i16 0, i16 38, i16 46, i16 54, i16 62, i16 64, i16 66, i16 74, i16 82, i16 84, i16 92, i16 100, i16 102, i16 110, i16 112, i16 114, i16 122, i16 130, i16 138, i16 140, i16 142, i16 150, i16 158, i16 160, i16 168, i16 176, i16 178, i16 186, i16 188, i16 190, i16 192, i16 194, i16 196, i16 198, i16 200, i16 202, i16 204, i16 206, i16 208, i16 1591, i16 413, i16 0, i16 1590, i16 493, i16 0, i16 478, i16 0, i16 1595, i16 399, i16 0, i16 1594, i16 479, i16 0, i16 479, i16 0, i16 1599, i16 410, i16 0, i16 1598, i16 490, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 1603, i16 425, i16 0, i16 1602, i16 504, i16 0, i16 504, i16 0, i16 1222, i16 411, i16 0, i16 1221, i16 491, i16 0, i16 511, i16 0, i16 515, i16 0, i16 1607, i16 413, i16 0, i16 1606, i16 493, i16 0, i16 522, i16 0, i16 1611, i16 413, i16 0, i16 1610, i16 493, i16 0, i16 524, i16 0, i16 528, i16 0, i16 1615, i16 413, i16 0, i16 1614, i16 493, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 1588, i16 413, i16 0, i16 1589, i16 493, i16 0, i16 398, i16 0, i16 1592, i16 399, i16 0, i16 1593, i16 479, i16 0, i16 399, i16 0, i16 1596, i16 410, i16 0, i16 1597, i16 490, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 1600, i16 425, i16 0, i16 1601, i16 504, i16 0, i16 425, i16 0, i16 1219, i16 411, i16 0, i16 1220, i16 491, i16 0, i16 432, i16 0, i16 437, i16 0, i16 1604, i16 413, i16 0, i16 1605, i16 493, i16 0, i16 445, i16 0, i16 1608, i16 413, i16 0, i16 1609, i16 493, i16 0, i16 447, i16 0, i16 451, i16 0, i16 1612, i16 413, i16 0, i16 1613, i16 493, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 138, i16 140, i16 1591, i16 413, i16 0, i16 1590, i16 493, i16 0, i16 1621, i16 169, i16 413, i16 0, i16 1620, i16 169, i16 493, i16 0, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 1588, i16 413, i16 0, i16 1589, i16 493, i16 0, i16 1618, i16 169, i16 413, i16 0, i16 1619, i16 169, i16 493, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 10, i16 12, i16 14, i16 16, i16 18, i16 20, i16 22, i16 24, i16 26, i16 28, i16 681, i16 0, i16 738, i16 0, i16 749, i16 0, i16 901, i16 0, i16 927, i16 0, i16 682, i16 0, i16 739, i16 0, i16 750, i16 0, i16 902, i16 0, i16 928, i16 0, i16 10, i16 18, i16 20, i16 22, i16 24, i16 26, i16 34, i16 36, i16 38, i16 40, i16 1884, i16 682, i16 0, i16 1883, i16 681, i16 0, i16 681, i16 0, i16 738, i16 0, i16 749, i16 0, i16 901, i16 0, i16 927, i16 0, i16 1886, i16 682, i16 0, i16 1885, i16 681, i16 0, i16 682, i16 0, i16 739, i16 0, i16 750, i16 0, i16 902, i16 0, i16 928, i16 0, i16 10, i16 12, i16 14, i16 22, i16 30, i16 38, i16 40, i16 42, i16 50, i16 58, i16 681, i16 0, i16 738, i16 0, i16 1928, i16 1880, i16 0, i16 1927, i16 1879, i16 0, i16 749, i16 0, i16 1932, i16 884, i16 0, i16 1931, i16 883, i16 0, i16 901, i16 0, i16 1936, i16 884, i16 0, i16 1935, i16 883, i16 0, i16 927, i16 0, i16 682, i16 0, i16 739, i16 0, i16 1930, i16 1880, i16 0, i16 1929, i16 1879, i16 0, i16 750, i16 0, i16 1934, i16 884, i16 0, i16 1933, i16 883, i16 0, i16 902, i16 0, i16 1938, i16 884, i16 0, i16 1937, i16 883, i16 0, i16 928, i16 0, i16 10, i16 12, i16 20, i16 22, i16 30, i16 32, i16 34, i16 42, i16 44, i16 52, i16 681, i16 0, i16 1940, i16 837, i16 0, i16 1939, i16 836, i16 0, i16 738, i16 0, i16 749, i16 0, i16 1944, i16 902, i16 0, i16 1943, i16 901, i16 0, i16 901, i16 0, i16 927, i16 0, i16 682, i16 0, i16 1942, i16 837, i16 0, i16 1941, i16 836, i16 0, i16 739, i16 0, i16 750, i16 0, i16 1946, i16 902, i16 0, i16 1945, i16 901, i16 0, i16 902, i16 0, i16 928, i16 0, i16 2, i16 10, i16 295, i16 278, i16 0, i16 294, i16 277, i16 0, i16 161, i16 0, i16 296, i16 278, i16 0, i16 162, i16 0, i16 5, i16 139, i16 273, i16 407, i16 541, i16 387, i16 386, i16 0, i16 381, i16 380, i16 0, i16 375, i16 374, i16 0, i16 369, i16 368, i16 0, i16 363, i16 362, i16 0, i16 357, i16 356, i16 0, i16 351, i16 350, i16 0, i16 345, i16 344, i16 0, i16 338, i16 337, i16 0, i16 331, i16 330, i16 0, i16 325, i16 324, i16 0, i16 319, i16 318, i16 0, i16 313, i16 312, i16 0, i16 307, i16 306, i16 0, i16 301, i16 300, i16 0, i16 295, i16 294, i16 0, i16 289, i16 288, i16 0, i16 283, i16 282, i16 0, i16 277, i16 276, i16 0, i16 271, i16 270, i16 0, i16 265, i16 264, i16 0, i16 259, i16 258, i16 0, i16 253, i16 252, i16 0, i16 247, i16 246, i16 0, i16 241, i16 240, i16 0, i16 235, i16 234, i16 0, i16 229, i16 228, i16 0, i16 223, i16 222, i16 0, i16 217, i16 216, i16 0, i16 211, i16 210, i16 0, i16 205, i16 204, i16 0, i16 199, i16 198, i16 0, i16 193, i16 192, i16 0, i16 187, i16 186, i16 0, i16 181, i16 180, i16 0, i16 175, i16 174, i16 0, i16 169, i16 168, i16 0, i16 163, i16 162, i16 0, i16 157, i16 156, i16 0, i16 151, i16 150, i16 0, i16 145, i16 144, i16 0, i16 139, i16 138, i16 0, i16 133, i16 132, i16 0, i16 127, i16 126, i16 0, i16 404, i16 0, i16 388, i16 386, i16 0, i16 382, i16 380, i16 0, i16 376, i16 374, i16 0, i16 370, i16 368, i16 0, i16 364, i16 362, i16 0, i16 358, i16 356, i16 0, i16 352, i16 350, i16 0, i16 346, i16 344, i16 0, i16 339, i16 337, i16 0, i16 332, i16 330, i16 0, i16 326, i16 324, i16 0, i16 320, i16 318, i16 0, i16 314, i16 312, i16 0, i16 308, i16 306, i16 0, i16 302, i16 300, i16 0, i16 296, i16 294, i16 0, i16 290, i16 288, i16 0, i16 284, i16 282, i16 0, i16 278, i16 276, i16 0, i16 272, i16 270, i16 0, i16 266, i16 264, i16 0, i16 260, i16 258, i16 0, i16 254, i16 252, i16 0, i16 248, i16 246, i16 0, i16 242, i16 240, i16 0, i16 236, i16 234, i16 0, i16 230, i16 228, i16 0, i16 224, i16 222, i16 0, i16 218, i16 216, i16 0, i16 212, i16 210, i16 0, i16 206, i16 204, i16 0, i16 200, i16 198, i16 0, i16 194, i16 192, i16 0, i16 188, i16 186, i16 0, i16 182, i16 180, i16 0, i16 176, i16 174, i16 0, i16 170, i16 168, i16 0, i16 164, i16 162, i16 0, i16 158, i16 156, i16 0, i16 152, i16 150, i16 0, i16 146, i16 144, i16 0, i16 140, i16 138, i16 0, i16 134, i16 132, i16 0, i16 128, i16 126, i16 0, i16 405, i16 0, i16 389, i16 386, i16 0, i16 383, i16 380, i16 0, i16 377, i16 374, i16 0, i16 371, i16 368, i16 0, i16 365, i16 362, i16 0, i16 359, i16 356, i16 0, i16 353, i16 350, i16 0, i16 347, i16 344, i16 0, i16 340, i16 337, i16 0, i16 333, i16 330, i16 0, i16 327, i16 324, i16 0, i16 321, i16 318, i16 0, i16 315, i16 312, i16 0, i16 309, i16 306, i16 0, i16 303, i16 300, i16 0, i16 297, i16 294, i16 0, i16 291, i16 288, i16 0, i16 285, i16 282, i16 0, i16 279, i16 276, i16 0, i16 273, i16 270, i16 0, i16 267, i16 264, i16 0, i16 261, i16 258, i16 0, i16 255, i16 252, i16 0, i16 249, i16 246, i16 0, i16 243, i16 240, i16 0, i16 237, i16 234, i16 0, i16 231, i16 228, i16 0, i16 225, i16 222, i16 0, i16 219, i16 216, i16 0, i16 213, i16 210, i16 0, i16 207, i16 204, i16 0, i16 201, i16 198, i16 0, i16 195, i16 192, i16 0, i16 189, i16 186, i16 0, i16 183, i16 180, i16 0, i16 177, i16 174, i16 0, i16 171, i16 168, i16 0, i16 165, i16 162, i16 0, i16 159, i16 156, i16 0, i16 153, i16 150, i16 0, i16 147, i16 144, i16 0, i16 141, i16 138, i16 0, i16 135, i16 132, i16 0, i16 129, i16 126, i16 0, i16 406, i16 0, i16 390, i16 386, i16 0, i16 384, i16 380, i16 0, i16 378, i16 374, i16 0, i16 372, i16 368, i16 0, i16 366, i16 362, i16 0, i16 360, i16 356, i16 0, i16 354, i16 350, i16 0, i16 348, i16 344, i16 0, i16 341, i16 337, i16 0, i16 334, i16 330, i16 0, i16 328, i16 324, i16 0, i16 322, i16 318, i16 0, i16 316, i16 312, i16 0, i16 310, i16 306, i16 0, i16 304, i16 300, i16 0, i16 298, i16 294, i16 0, i16 292, i16 288, i16 0, i16 286, i16 282, i16 0, i16 280, i16 276, i16 0, i16 274, i16 270, i16 0, i16 268, i16 264, i16 0, i16 262, i16 258, i16 0, i16 256, i16 252, i16 0, i16 250, i16 246, i16 0, i16 244, i16 240, i16 0, i16 238, i16 234, i16 0, i16 232, i16 228, i16 0, i16 226, i16 222, i16 0, i16 220, i16 216, i16 0, i16 214, i16 210, i16 0, i16 208, i16 204, i16 0, i16 202, i16 198, i16 0, i16 196, i16 192, i16 0, i16 190, i16 186, i16 0, i16 184, i16 180, i16 0, i16 178, i16 174, i16 0, i16 172, i16 168, i16 0, i16 166, i16 162, i16 0, i16 160, i16 156, i16 0, i16 154, i16 150, i16 0, i16 148, i16 144, i16 0, i16 142, i16 138, i16 0, i16 136, i16 132, i16 0, i16 130, i16 126, i16 0, i16 407, i16 0, i16 391, i16 386, i16 0, i16 385, i16 380, i16 0, i16 379, i16 374, i16 0, i16 373, i16 368, i16 0, i16 367, i16 362, i16 0, i16 361, i16 356, i16 0, i16 355, i16 350, i16 0, i16 349, i16 344, i16 0, i16 342, i16 337, i16 0, i16 335, i16 330, i16 0, i16 329, i16 324, i16 0, i16 323, i16 318, i16 0, i16 317, i16 312, i16 0, i16 311, i16 306, i16 0, i16 305, i16 300, i16 0, i16 299, i16 294, i16 0, i16 293, i16 288, i16 0, i16 287, i16 282, i16 0, i16 281, i16 276, i16 0, i16 275, i16 270, i16 0, i16 269, i16 264, i16 0, i16 263, i16 258, i16 0, i16 257, i16 252, i16 0, i16 251, i16 246, i16 0, i16 245, i16 240, i16 0, i16 239, i16 234, i16 0, i16 233, i16 228, i16 0, i16 227, i16 222, i16 0, i16 221, i16 216, i16 0, i16 215, i16 210, i16 0, i16 209, i16 204, i16 0, i16 203, i16 198, i16 0, i16 197, i16 192, i16 0, i16 191, i16 186, i16 0, i16 185, i16 180, i16 0, i16 179, i16 174, i16 0, i16 173, i16 168, i16 0, i16 167, i16 162, i16 0, i16 161, i16 156, i16 0, i16 155, i16 150, i16 0, i16 149, i16 144, i16 0, i16 143, i16 138, i16 0, i16 137, i16 132, i16 0, i16 131, i16 126, i16 0, i16 408, i16 0, i16 1, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 263, i16 1158, i16 0, i16 1159, i16 0, i16 2, i16 272, i16 1160, i16 0, i16 1161, i16 0, i16 2, i16 1375, i16 1163, i16 748, i16 1164, i16 749, i16 2, i16 1381, i16 1165, i16 750, i16 1166, i16 751, i16 2, i16 1392, i16 1167, i16 752, i16 1168, i16 753, i16 2, i16 1401, i16 1169, i16 754, i16 1170, i16 755, i16 1, i16 1156, i16 244, i16 0, i16 1157, i16 253, i16 0, i16 1162, i16 1370, i16 756, i16 1155, i16 22611, i16 1, i16 0, i16 1, i16 1171, i16 142, i16 0, i16 1172, i16 163, i16 0, i16 1173, i16 699, i16 757, i16 1174, i16 907, i16 758, i16 1175, i16 762, i16 759, i16 1176, i16 968, i16 760, i16 1155, i16 22611, i16 1, i16 0, i16 1, i16 1177, i16 306, i16 0, i16 1178, i16 1512, i16 761, i16 1179, i16 1576, i16 762, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 145, i16 900, i16 0, i16 1183, i16 0, i16 901, i16 0, i16 902, i16 0, i16 903, i16 0, i16 2, i16 636, i16 1196, i16 763, i16 974, i16 764, i16 2, i16 845, i16 1197, i16 765, i16 1014, i16 766, i16 2, i16 712, i16 992, i16 767, i16 990, i16 768, i16 2, i16 920, i16 1030, i16 769, i16 1032, i16 770, i16 2, i16 749, i16 995, i16 771, i16 994, i16 772, i16 2, i16 956, i16 1035, i16 773, i16 1034, i16 774, i16 2, i16 762, i16 1198, i16 775, i16 996, i16 775, i16 2, i16 968, i16 1199, i16 776, i16 1036, i16 776, i16 1, i16 1180, i16 121, i16 0, i16 1181, i16 127, i16 0, i16 1182, i16 142, i16 0, i16 1184, i16 161, i16 0, i16 1185, i16 163, i16 0, i16 1186, i16 173, i16 0, i16 1187, i16 178, i16 0, i16 1188, i16 303, i16 0, i16 1189, i16 309, i16 0, i16 1190, i16 322, i16 0, i16 1191, i16 327, i16 0, i16 1192, i16 330, i16 0, i16 1193, i16 340, i16 0, i16 1194, i16 343, i16 0, i16 1195, i16 346, i16 0, i16 978, i16 656, i16 777, i16 1018, i16 864, i16 778, i16 985, i16 699, i16 779, i16 1025, i16 907, i16 780, i16 1001, i16 787, i16 781, i16 1041, i16 992, i16 782, i16 1004, i16 809, i16 783, i16 1043, i16 1013, i16 784, i16 1200, i16 1506, i16 785, i16 1201, i16 1570, i16 786, i16 1202, i16 1514, i16 787, i16 1203, i16 1579, i16 788, i16 1204, i16 1532, i16 789, i16 1205, i16 1597, i16 790, i16 1206, i16 1538, i16 791, i16 1207, i16 1603, i16 792, i16 1208, i16 1541, i16 793, i16 1209, i16 1606, i16 794, i16 1210, i16 1549, i16 795, i16 1211, i16 1614, i16 796, i16 1212, i16 1553, i16 797, i16 1213, i16 1618, i16 798, i16 1214, i16 1556, i16 799, i16 1215, i16 1621, i16 800, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 749, i16 1219, i16 801, i16 1220, i16 802, i16 2, i16 956, i16 1221, i16 803, i16 1222, i16 804, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1218, i16 161, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 12, i16 22611, i16 1223, i16 805, i16 1224, i16 805, i16 1225, i16 805, i16 1226, i16 805, i16 1227, i16 805, i16 1228, i16 805, i16 1229, i16 805, i16 1230, i16 805, i16 1231, i16 805, i16 1232, i16 805, i16 1233, i16 805, i16 1234, i16 805, i16 1, i16 1155, i16 22623, i16 1, i16 0, i16 1, i16 1188, i16 303, i16 0, i16 1235, i16 316, i16 0, i16 1236, i16 322, i16 0, i16 1237, i16 338, i16 0, i16 1238, i16 343, i16 0, i16 1239, i16 346, i16 0, i16 1200, i16 1506, i16 785, i16 1201, i16 1570, i16 786, i16 1240, i16 1524, i16 806, i16 1241, i16 1588, i16 807, i16 1242, i16 1532, i16 808, i16 1243, i16 1597, i16 809, i16 1244, i16 1549, i16 810, i16 1245, i16 1614, i16 811, i16 1246, i16 1553, i16 812, i16 1247, i16 1618, i16 813, i16 1248, i16 1556, i16 814, i16 1249, i16 1621, i16 815, i16 1155, i16 22611, i16 1, i16 0, i16 4, i16 189, i16 1250, i16 0, i16 1251, i16 0, i16 1252, i16 0, i16 1253, i16 0, i16 3, i16 645, i16 974, i16 816, i16 975, i16 817, i16 977, i16 818, i16 2, i16 769, i16 996, i16 819, i16 997, i16 820, i16 3, i16 853, i16 1014, i16 821, i16 1015, i16 822, i16 1017, i16 823, i16 2, i16 974, i16 1036, i16 824, i16 1037, i16 825, i16 1, i16 895, i16 53, i16 0, i16 1046, i16 1026, i16 826, i16 1007, i16 822, i16 827, i16 1004, i16 813, i16 828, i16 1043, i16 1017, i16 829, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 127, i16 1254, i16 0, i16 1255, i16 0, i16 898, i16 0, i16 1256, i16 0, i16 1257, i16 0, i16 2, i16 656, i16 979, i16 830, i16 981, i16 831, i16 2, i16 864, i16 1019, i16 832, i16 1021, i16 833, i16 3, i16 670, i16 1262, i16 834, i16 1263, i16 835, i16 984, i16 836, i16 3, i16 878, i16 1264, i16 837, i16 1265, i16 838, i16 1024, i16 839, i16 2, i16 736, i16 1266, i16 840, i16 1267, i16 841, i16 2, i16 943, i16 1268, i16 842, i16 1269, i16 843, i16 2, i16 749, i16 1270, i16 844, i16 1271, i16 845, i16 2, i16 956, i16 1272, i16 846, i16 1273, i16 847, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1258, i16 158, i16 0, i16 1259, i16 161, i16 0, i16 1260, i16 173, i16 0, i16 1261, i16 189, i16 0, i16 1000, i16 787, i16 848, i16 1040, i16 992, i16 849, i16 1008, i16 834, i16 850, i16 1047, i16 1038, i16 851, i16 1155, i16 22611, i16 1, i16 0, i16 4, i16 121, i16 1274, i16 0, i16 1275, i16 0, i16 1276, i16 0, i16 1277, i16 0, i16 4, i16 127, i16 1255, i16 0, i16 1278, i16 0, i16 1279, i16 0, i16 1280, i16 0, i16 2, i16 133, i16 1281, i16 0, i16 1282, i16 0, i16 2, i16 142, i16 1284, i16 0, i16 1285, i16 0, i16 2, i16 173, i16 1287, i16 0, i16 1260, i16 0, i16 5, i16 194, i16 1288, i16 0, i16 1253, i16 0, i16 1250, i16 0, i16 1289, i16 0, i16 1252, i16 0, i16 4, i16 636, i16 971, i16 852, i16 970, i16 853, i16 972, i16 854, i16 973, i16 855, i16 4, i16 845, i16 1011, i16 856, i16 1010, i16 857, i16 1012, i16 858, i16 1013, i16 859, i16 2, i16 656, i16 978, i16 860, i16 981, i16 861, i16 2, i16 864, i16 1018, i16 862, i16 1021, i16 863, i16 2, i16 667, i16 1290, i16 864, i16 1291, i16 865, i16 2, i16 875, i16 1292, i16 864, i16 1293, i16 866, i16 2, i16 670, i16 983, i16 867, i16 984, i16 868, i16 2, i16 878, i16 1023, i16 869, i16 1024, i16 870, i16 2, i16 709, i16 1295, i16 871, i16 1296, i16 872, i16 2, i16 917, i16 1297, i16 871, i16 1298, i16 872, i16 3, i16 992, i16 1002, i16 873, i16 1000, i16 874, i16 1040, i16 875, i16 3, i16 645, i16 974, i16 876, i16 975, i16 817, i16 977, i16 877, i16 2, i16 769, i16 996, i16 819, i16 997, i16 820, i16 3, i16 853, i16 1014, i16 878, i16 1015, i16 822, i16 1017, i16 879, i16 2, i16 974, i16 1036, i16 824, i16 1037, i16 825, i16 1, i16 889, i16 16, i16 0, i16 1283, i16 138, i16 0, i16 1286, i16 156, i16 0, i16 1294, i16 696, i16 880, i16 1299, i16 734, i16 881, i16 1300, i16 941, i16 882, i16 1004, i16 813, i16 828, i16 1043, i16 1017, i16 829, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 46, i16 897, i16 0, i16 896, i16 0, i16 2, i16 121, i16 1301, i16 0, i16 1302, i16 0, i16 2, i16 636, i16 972, i16 883, i16 976, i16 884, i16 2, i16 845, i16 1012, i16 885, i16 1016, i16 886, i16 2, i16 787, i16 1305, i16 781, i16 1001, i16 781, i16 2, i16 992, i16 1306, i16 781, i16 1041, i16 782, i16 2, i16 799, i16 1307, i16 887, i16 1003, i16 887, i16 2, i16 1003, i16 1308, i16 887, i16 1042, i16 888, i16 1, i16 1303, i16 152, i16 0, i16 1186, i16 173, i16 0, i16 1304, i16 176, i16 0, i16 991, i16 717, i16 889, i16 1031, i16 925, i16 890, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 699, i16 1315, i16 891, i16 1316, i16 892, i16 2, i16 907, i16 1317, i16 893, i16 1318, i16 894, i16 2, i16 717, i16 1319, i16 895, i16 1320, i16 896, i16 2, i16 925, i16 1321, i16 897, i16 1322, i16 898, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1309, i16 127, i16 0, i16 1310, i16 138, i16 0, i16 1311, i16 142, i16 0, i16 1312, i16 145, i16 0, i16 1313, i16 152, i16 0, i16 1314, i16 187, i16 0, i16 982, i16 656, i16 899, i16 1022, i16 864, i16 900, i16 987, i16 696, i16 901, i16 1027, i16 904, i16 902, i16 989, i16 712, i16 903, i16 1029, i16 920, i16 904, i16 1009, i16 829, i16 905, i16 1048, i16 1033, i16 906, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 749, i16 1219, i16 907, i16 1220, i16 908, i16 2, i16 956, i16 1221, i16 909, i16 1222, i16 910, i16 2, i16 824, i16 1325, i16 911, i16 1326, i16 912, i16 2, i16 1028, i16 1327, i16 913, i16 1328, i16 914, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1323, i16 161, i16 0, i16 1324, i16 184, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 76, i16 1632, i16 1329, i16 915, i16 1330, i16 915, i16 1331, i16 915, i16 1332, i16 915, i16 1333, i16 915, i16 1334, i16 915, i16 1335, i16 915, i16 1336, i16 915, i16 1337, i16 915, i16 1338, i16 915, i16 1339, i16 915, i16 1340, i16 915, i16 1341, i16 915, i16 1342, i16 915, i16 1343, i16 915, i16 1344, i16 915, i16 1345, i16 915, i16 1346, i16 915, i16 1347, i16 915, i16 1348, i16 915, i16 1349, i16 915, i16 1350, i16 915, i16 1351, i16 915, i16 1352, i16 915, i16 1353, i16 915, i16 1354, i16 915, i16 1355, i16 915, i16 1356, i16 915, i16 1357, i16 915, i16 1358, i16 915, i16 1359, i16 915, i16 1360, i16 915, i16 1361, i16 915, i16 1362, i16 915, i16 1363, i16 915, i16 1364, i16 915, i16 1365, i16 915, i16 1366, i16 915, i16 1367, i16 916, i16 1368, i16 916, i16 1369, i16 916, i16 1370, i16 916, i16 1371, i16 916, i16 1372, i16 916, i16 1373, i16 916, i16 1374, i16 916, i16 1375, i16 916, i16 1376, i16 916, i16 1377, i16 916, i16 1378, i16 916, i16 1379, i16 916, i16 1380, i16 916, i16 1381, i16 916, i16 1382, i16 916, i16 1383, i16 916, i16 1384, i16 916, i16 1385, i16 916, i16 1386, i16 916, i16 1387, i16 916, i16 1388, i16 916, i16 1389, i16 916, i16 1390, i16 916, i16 1391, i16 916, i16 1392, i16 916, i16 1393, i16 916, i16 1394, i16 916, i16 1395, i16 916, i16 1396, i16 916, i16 1397, i16 916, i16 1398, i16 916, i16 1399, i16 916, i16 1400, i16 916, i16 1401, i16 916, i16 1402, i16 916, i16 1403, i16 916, i16 1404, i16 916, i16 1, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 3, i16 1216, i16 0, i16 1405, i16 0, i16 1406, i16 0, i16 1407, i16 0, i16 1408, i16 0, i16 5, i16 16, i16 1217, i16 0, i16 1409, i16 0, i16 1410, i16 0, i16 1411, i16 0, i16 1412, i16 0, i16 2, i16 133, i16 1414, i16 0, i16 1415, i16 0, i16 4, i16 163, i16 996, i16 917, i16 998, i16 918, i16 1036, i16 919, i16 1038, i16 920, i16 4, i16 178, i16 1004, i16 921, i16 1006, i16 922, i16 1043, i16 923, i16 1045, i16 924, i16 6, i16 864, i16 1424, i16 925, i16 1425, i16 926, i16 1426, i16 927, i16 1427, i16 928, i16 1428, i16 929, i16 1429, i16 930, i16 6, i16 656, i16 1430, i16 931, i16 1431, i16 932, i16 1432, i16 933, i16 1433, i16 934, i16 1434, i16 935, i16 1435, i16 936, i16 6, i16 878, i16 1436, i16 937, i16 1437, i16 938, i16 1438, i16 939, i16 1439, i16 940, i16 1440, i16 941, i16 1441, i16 942, i16 6, i16 670, i16 1442, i16 943, i16 1443, i16 944, i16 1444, i16 945, i16 1445, i16 946, i16 1446, i16 947, i16 1447, i16 948, i16 12, i16 878, i16 1448, i16 949, i16 1449, i16 950, i16 1450, i16 951, i16 1451, i16 952, i16 1452, i16 953, i16 1453, i16 954, i16 1454, i16 955, i16 1455, i16 956, i16 1456, i16 953, i16 1457, i16 954, i16 1458, i16 955, i16 1459, i16 956, i16 12, i16 670, i16 1460, i16 957, i16 1461, i16 958, i16 1462, i16 959, i16 1463, i16 960, i16 1464, i16 961, i16 1465, i16 962, i16 1466, i16 963, i16 1467, i16 964, i16 1468, i16 961, i16 1469, i16 962, i16 1470, i16 963, i16 1471, i16 964, i16 6, i16 907, i16 1472, i16 965, i16 1473, i16 966, i16 1474, i16 967, i16 1475, i16 968, i16 1476, i16 969, i16 1477, i16 970, i16 6, i16 699, i16 1478, i16 971, i16 1479, i16 972, i16 1480, i16 973, i16 1481, i16 974, i16 1482, i16 975, i16 1483, i16 976, i16 6, i16 943, i16 1484, i16 977, i16 1485, i16 978, i16 1486, i16 979, i16 1487, i16 980, i16 1488, i16 981, i16 1489, i16 982, i16 6, i16 736, i16 1490, i16 983, i16 1491, i16 984, i16 1492, i16 985, i16 1493, i16 986, i16 1494, i16 987, i16 1495, i16 988, i16 6, i16 956, i16 1496, i16 989, i16 1497, i16 990, i16 1498, i16 991, i16 1499, i16 992, i16 1500, i16 993, i16 1501, i16 994, i16 6, i16 749, i16 1502, i16 995, i16 1503, i16 996, i16 1504, i16 997, i16 1505, i16 998, i16 1506, i16 999, i16 1507, i16 1000, i16 6, i16 992, i16 1508, i16 1001, i16 1509, i16 1002, i16 1510, i16 1003, i16 1511, i16 1004, i16 1512, i16 1005, i16 1513, i16 1006, i16 6, i16 787, i16 1514, i16 1007, i16 1515, i16 1008, i16 1516, i16 1009, i16 1517, i16 1010, i16 1518, i16 1011, i16 1519, i16 1012, i16 6, i16 1003, i16 1520, i16 1013, i16 1521, i16 1014, i16 1522, i16 1015, i16 1523, i16 1016, i16 1524, i16 1017, i16 1525, i16 1018, i16 6, i16 799, i16 1526, i16 1019, i16 1527, i16 1020, i16 1528, i16 1021, i16 1529, i16 1022, i16 1530, i16 1023, i16 1531, i16 1024, i16 6, i16 1038, i16 1532, i16 1025, i16 1533, i16 1026, i16 1534, i16 1027, i16 1535, i16 1028, i16 1536, i16 1029, i16 1537, i16 1030, i16 6, i16 834, i16 1538, i16 1031, i16 1539, i16 1032, i16 1540, i16 1033, i16 1541, i16 1034, i16 1542, i16 1035, i16 1543, i16 1036, i16 1, i16 1413, i16 127, i16 0, i16 1416, i16 142, i16 0, i16 1417, i16 158, i16 0, i16 1418, i16 161, i16 0, i16 1419, i16 163, i16 0, i16 1420, i16 173, i16 0, i16 1421, i16 176, i16 0, i16 1422, i16 178, i16 0, i16 1423, i16 189, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 9, i16 31, i16 890, i16 0, i16 892, i16 0, i16 1544, i16 0, i16 891, i16 0, i16 1545, i16 0, i16 1546, i16 0, i16 1547, i16 0, i16 893, i16 0, i16 894, i16 0, i16 2, i16 42, i16 1548, i16 0, i16 1549, i16 0, i16 3, i16 194, i16 1550, i16 0, i16 906, i16 0, i16 905, i16 0, i16 2, i16 238, i16 907, i16 0, i16 1551, i16 0, i16 16, i16 482, i16 961, i16 1037, i16 962, i16 1037, i16 963, i16 1037, i16 967, i16 1037, i16 968, i16 1037, i16 969, i16 1037, i16 964, i16 1037, i16 965, i16 1037, i16 966, i16 1037, i16 954, i16 1037, i16 955, i16 1037, i16 956, i16 1037, i16 959, i16 1037, i16 960, i16 1037, i16 957, i16 1037, i16 958, i16 1037, i16 4, i16 520, i16 1552, i16 1037, i16 1553, i16 1037, i16 1554, i16 1037, i16 1555, i16 1037, i16 35, i16 1049, i16 1050, i16 641, i16 1049, i16 642, i16 1052, i16 643, i16 1051, i16 644, i16 1054, i16 645, i16 1053, i16 646, i16 1056, i16 647, i16 1055, i16 648, i16 1058, i16 649, i16 1057, i16 650, i16 1060, i16 651, i16 1059, i16 652, i16 1062, i16 653, i16 1061, i16 654, i16 1064, i16 655, i16 1063, i16 656, i16 1066, i16 657, i16 1065, i16 658, i16 1068, i16 659, i16 1067, i16 660, i16 1070, i16 1038, i16 1556, i16 1038, i16 1073, i16 665, i16 1557, i16 1039, i16 1069, i16 661, i16 1071, i16 1040, i16 1558, i16 1040, i16 1072, i16 1041, i16 1559, i16 1041, i16 1079, i16 1042, i16 1560, i16 1042, i16 1081, i16 1043, i16 1561, i16 1044, i16 1562, i16 1045, i16 1563, i16 1043, i16 2, i16 1135, i16 1076, i16 667, i16 1075, i16 1046, i16 6, i16 1148, i16 1077, i16 669, i16 1074, i16 1047, i16 1078, i16 1048, i16 1564, i16 1049, i16 1080, i16 1050, i16 1082, i16 1051, i16 15, i16 1160, i16 1084, i16 1052, i16 1085, i16 1053, i16 1090, i16 1054, i16 1091, i16 1055, i16 1565, i16 1056, i16 1566, i16 1057, i16 1083, i16 1058, i16 1086, i16 1059, i16 1087, i16 1060, i16 1088, i16 1061, i16 1089, i16 1062, i16 1108, i16 1063, i16 1109, i16 1064, i16 1567, i16 1065, i16 1568, i16 1066, i16 8, i16 1276, i16 1098, i16 1067, i16 1099, i16 1068, i16 1100, i16 1069, i16 1101, i16 1070, i16 1094, i16 1071, i16 1095, i16 1072, i16 1096, i16 1073, i16 1097, i16 1074, i16 26, i16 1320, i16 1102, i16 1075, i16 1103, i16 1076, i16 1104, i16 1077, i16 1105, i16 1078, i16 1092, i16 1079, i16 1093, i16 1080, i16 1106, i16 1081, i16 1107, i16 1082, i16 1570, i16 1083, i16 1571, i16 1084, i16 1572, i16 1085, i16 1573, i16 1086, i16 1110, i16 1087, i16 1111, i16 1088, i16 1112, i16 1089, i16 1113, i16 1090, i16 1114, i16 1091, i16 1115, i16 1092, i16 1116, i16 1093, i16 1117, i16 1094, i16 1118, i16 1095, i16 1119, i16 1096, i16 1120, i16 1097, i16 1121, i16 1098, i16 1122, i16 1099, i16 1123, i16 1100, i16 1, i16 1569, i16 1229, i16 1101, i16 1155, i16 22611, i16 1, i16 0, i16 1, i16 1574, i16 127, i16 0, i16 1575, i16 142, i16 0, i16 1576, i16 145, i16 0, i16 1577, i16 154, i16 0, i16 1578, i16 173, i16 0, i16 1579, i16 178, i16 0, i16 1020, i16 864, i16 1102, i16 980, i16 656, i16 1103, i16 1026, i16 907, i16 1104, i16 986, i16 699, i16 1105, i16 1028, i16 920, i16 1106, i16 988, i16 712, i16 1107, i16 1033, i16 937, i16 1108, i16 993, i16 729, i16 1109, i16 1039, i16 992, i16 1110, i16 999, i16 787, i16 1111, i16 1044, i16 1013, i16 1112, i16 1005, i16 809, i16 1113, i16 1155, i16 22611, i16 1, i16 0, i16 3, i16 127, i16 1580, i16 0, i16 898, i16 0, i16 1581, i16 0, i16 3, i16 138, i16 1582, i16 0, i16 899, i16 0, i16 1583, i16 0, i16 2, i16 656, i16 1588, i16 1114, i16 1589, i16 1115, i16 2, i16 864, i16 1590, i16 1116, i16 1591, i16 1117, i16 2, i16 670, i16 1592, i16 1118, i16 1593, i16 1119, i16 2, i16 878, i16 1594, i16 1120, i16 1595, i16 1121, i16 2, i16 696, i16 1596, i16 1122, i16 1597, i16 1123, i16 2, i16 904, i16 1598, i16 1124, i16 1599, i16 1125, i16 2, i16 699, i16 1219, i16 1126, i16 1220, i16 1127, i16 2, i16 907, i16 1221, i16 1128, i16 1222, i16 1129, i16 2, i16 736, i16 1600, i16 1130, i16 1601, i16 1131, i16 2, i16 943, i16 1602, i16 1132, i16 1603, i16 1133, i16 2, i16 777, i16 1604, i16 1134, i16 1605, i16 1135, i16 2, i16 982, i16 1606, i16 1136, i16 1607, i16 1137, i16 2, i16 781, i16 1608, i16 1138, i16 1609, i16 1139, i16 2, i16 986, i16 1610, i16 1140, i16 1611, i16 1141, i16 2, i16 799, i16 1612, i16 1142, i16 1613, i16 1143, i16 2, i16 1003, i16 1614, i16 1144, i16 1615, i16 1145, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1584, i16 158, i16 0, i16 1585, i16 168, i16 0, i16 1586, i16 171, i16 0, i16 1587, i16 176, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 127, i16 1254, i16 0, i16 1255, i16 0, i16 898, i16 0, i16 1256, i16 0, i16 1257, i16 0, i16 2, i16 656, i16 979, i16 830, i16 981, i16 831, i16 2, i16 864, i16 1019, i16 832, i16 1021, i16 833, i16 3, i16 670, i16 1262, i16 834, i16 1263, i16 835, i16 984, i16 836, i16 5, i16 878, i16 1264, i16 837, i16 1265, i16 838, i16 1024, i16 839, i16 1266, i16 840, i16 1267, i16 841, i16 2, i16 943, i16 1268, i16 842, i16 1269, i16 843, i16 2, i16 749, i16 1270, i16 844, i16 1271, i16 845, i16 2, i16 956, i16 1272, i16 846, i16 1273, i16 847, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1258, i16 158, i16 0, i16 1259, i16 161, i16 0, i16 1260, i16 173, i16 0, i16 1261, i16 189, i16 0, i16 1000, i16 787, i16 848, i16 1040, i16 992, i16 849, i16 1008, i16 834, i16 850, i16 1047, i16 1038, i16 851, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 127, i16 1616, i16 0, i16 1617, i16 0, i16 4, i16 656, i16 1588, i16 1146, i16 1589, i16 1147, i16 1618, i16 1148, i16 1619, i16 1149, i16 4, i16 864, i16 1590, i16 1150, i16 1591, i16 1151, i16 1620, i16 1152, i16 1621, i16 1153, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 46, i16 74, i16 908, i16 0, i16 909, i16 0, i16 910, i16 0, i16 911, i16 0, i16 912, i16 0, i16 913, i16 0, i16 914, i16 0, i16 915, i16 0, i16 916, i16 0, i16 917, i16 0, i16 918, i16 0, i16 919, i16 0, i16 920, i16 0, i16 921, i16 0, i16 922, i16 0, i16 923, i16 0, i16 924, i16 0, i16 925, i16 0, i16 926, i16 0, i16 927, i16 0, i16 928, i16 0, i16 929, i16 0, i16 930, i16 0, i16 931, i16 0, i16 932, i16 0, i16 933, i16 0, i16 934, i16 0, i16 935, i16 0, i16 936, i16 0, i16 937, i16 0, i16 938, i16 0, i16 939, i16 0, i16 940, i16 0, i16 941, i16 0, i16 942, i16 0, i16 943, i16 0, i16 944, i16 0, i16 945, i16 0, i16 946, i16 0, i16 947, i16 0, i16 948, i16 0, i16 949, i16 0, i16 950, i16 0, i16 951, i16 0, i16 952, i16 0, i16 953, i16 0, i16 3, i16 1508, i16 1125, i16 1154, i16 1136, i16 1155, i16 1128, i16 1156, i16 3, i16 1514, i16 1126, i16 1157, i16 1127, i16 1158, i16 1138, i16 1159, i16 3, i16 1524, i16 1144, i16 1160, i16 1130, i16 1161, i16 1137, i16 1162, i16 3, i16 1572, i16 1140, i16 1163, i16 1152, i16 1164, i16 1143, i16 1165, i16 3, i16 1579, i16 1141, i16 1166, i16 1142, i16 1167, i16 1154, i16 1168, i16 3, i16 1588, i16 1129, i16 1169, i16 1145, i16 1170, i16 1153, i16 1171, i16 1, i16 1124, i16 1506, i16 1172, i16 1133, i16 1532, i16 1173, i16 1131, i16 1534, i16 1174, i16 1132, i16 1538, i16 1175, i16 1135, i16 1549, i16 1176, i16 1134, i16 1556, i16 1177, i16 1139, i16 1570, i16 1178, i16 1146, i16 1594, i16 1179, i16 1149, i16 1597, i16 1180, i16 1147, i16 1599, i16 1181, i16 1148, i16 1603, i16 1182, i16 1151, i16 1614, i16 1183, i16 1150, i16 1621, i16 1184, i16 1155, i16 22611, i16 1, i16 0, i16 6, i16 145, i16 904, i16 0, i16 900, i16 0, i16 1183, i16 0, i16 901, i16 0, i16 902, i16 0, i16 903, i16 0, i16 2, i16 712, i16 992, i16 767, i16 990, i16 768, i16 2, i16 920, i16 1030, i16 769, i16 1032, i16 770, i16 1, i16 1181, i16 127, i16 0, i16 1180, i16 136, i16 0, i16 1182, i16 142, i16 0, i16 1622, i16 163, i16 0, i16 1186, i16 173, i16 0, i16 1187, i16 178, i16 0, i16 1188, i16 303, i16 0, i16 1189, i16 309, i16 0, i16 1190, i16 322, i16 0, i16 1192, i16 330, i16 0, i16 1193, i16 340, i16 0, i16 1194, i16 343, i16 0, i16 1195, i16 346, i16 0, i16 978, i16 656, i16 777, i16 1018, i16 864, i16 778, i16 1196, i16 686, i16 763, i16 1197, i16 894, i16 765, i16 985, i16 699, i16 779, i16 1025, i16 907, i16 780, i16 996, i16 762, i16 1185, i16 1036, i16 968, i16 1186, i16 1001, i16 787, i16 781, i16 1041, i16 992, i16 782, i16 1004, i16 809, i16 783, i16 1043, i16 1013, i16 784, i16 1200, i16 1506, i16 785, i16 1201, i16 1570, i16 786, i16 1202, i16 1514, i16 787, i16 1203, i16 1579, i16 788, i16 1204, i16 1532, i16 789, i16 1205, i16 1597, i16 790, i16 1208, i16 1541, i16 793, i16 1209, i16 1606, i16 794, i16 1210, i16 1549, i16 795, i16 1211, i16 1614, i16 796, i16 1212, i16 1553, i16 797, i16 1213, i16 1618, i16 798, i16 1214, i16 1556, i16 799, i16 1215, i16 1621, i16 800, i16 1155, i16 22611, i16 1, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 877, i16 1780, i16 1190, i16 1781, i16 1833, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 990, i16 1792, i16 1190, i16 1793, i16 1844, i16 3, i16 1009, i16 1794, i16 1845, i16 1795, i16 1846, i16 1796, i16 1847, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 4, i16 1206, i16 1828, i16 1190, i16 1829, i16 1878, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1266, i16 1838, i16 1190, i16 1839, i16 1887, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 8, i16 1361, i16 1848, i16 1190, i16 1849, i16 1896, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1803, i16 1075, i16 1925, i16 0, i16 2, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 20, i16 1370, i16 1850, i16 1934, i16 1851, i16 1935, i16 1852, i16 1936, i16 1853, i16 1937, i16 1854, i16 1938, i16 1855, i16 1939, i16 1856, i16 1934, i16 1857, i16 1940, i16 1858, i16 1941, i16 1859, i16 1942, i16 1860, i16 1943, i16 1861, i16 1944, i16 1862, i16 1945, i16 1863, i16 1946, i16 1864, i16 1947, i16 1865, i16 1948, i16 1866, i16 1949, i16 1867, i16 1950, i16 1868, i16 1951, i16 1869, i16 1952, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 7, i16 1418, i16 1874, i16 1187, i16 1848, i16 1953, i16 1849, i16 1954, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 20, i16 1440, i16 1760, i16 1190, i16 1761, i16 1955, i16 1762, i16 1956, i16 1763, i16 1957, i16 1764, i16 1190, i16 1765, i16 1958, i16 1770, i16 1959, i16 1771, i16 1960, i16 1772, i16 1959, i16 1773, i16 1961, i16 1774, i16 1959, i16 1775, i16 1962, i16 1828, i16 1190, i16 1829, i16 1878, i16 1822, i16 1963, i16 1823, i16 1964, i16 1824, i16 1963, i16 1825, i16 1965, i16 1820, i16 1966, i16 1821, i16 1967, i16 27, i16 2011, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 1, i16 1696, i16 1, i16 1187, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 877, i16 1778, i16 1968, i16 1779, i16 1846, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1836, i16 1971, i16 1837, i16 1846, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 2, i16 1429, i16 1881, i16 1923, i16 1882, i16 1924, i16 2, i16 1440, i16 1879, i16 1974, i16 1880, i16 1846, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 2, i16 836, i16 1768, i16 1821, i16 1769, i16 1822, i16 8, i16 843, i16 1766, i16 1190, i16 1767, i16 1975, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 877, i16 1776, i16 1190, i16 1777, i16 1976, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 2, i16 944, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 955, i16 1786, i16 1190, i16 1787, i16 1977, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 2, i16 1088, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1099, i16 1804, i16 1190, i16 1805, i16 1978, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 4, i16 1132, i16 1808, i16 1190, i16 1809, i16 1979, i16 1814, i16 1864, i16 1815, i16 1865, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 4, i16 1206, i16 1816, i16 1190, i16 1817, i16 1980, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1834, i16 1190, i16 1835, i16 1981, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 3, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 2, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 4, i16 1440, i16 1877, i16 1190, i16 1878, i16 1982, i16 1881, i16 1190, i16 1882, i16 1983, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 9, i16 1418, i16 1874, i16 1187, i16 1848, i16 1984, i16 1849, i16 1985, i16 1844, i16 1984, i16 1845, i16 1986, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 24, i16 1440, i16 1770, i16 1190, i16 1771, i16 1987, i16 1772, i16 1988, i16 1773, i16 1989, i16 1774, i16 1990, i16 1775, i16 1991, i16 1764, i16 1992, i16 1765, i16 1993, i16 1822, i16 1190, i16 1823, i16 1994, i16 1824, i16 1995, i16 1825, i16 1996, i16 1828, i16 1997, i16 1829, i16 1998, i16 1818, i16 1999, i16 1819, i16 2000, i16 1760, i16 1190, i16 1761, i16 1955, i16 1883, i16 2001, i16 1884, i16 2002, i16 1885, i16 2003, i16 1886, i16 2004, i16 1762, i16 2001, i16 1763, i16 2005, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 2, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 8, i16 843, i16 1768, i16 1190, i16 1769, i16 2006, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 877, i16 1778, i16 1190, i16 1779, i16 2007, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 2, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 2, i16 955, i16 1788, i16 1190, i16 1789, i16 2008, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 990, i16 1790, i16 1190, i16 1791, i16 2009, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 7, i16 1046, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 1874, i16 1187, i16 1799, i16 1190, i16 1800, i16 2010, i16 3, i16 1075, i16 1801, i16 1190, i16 1802, i16 2011, i16 1803, i16 1925, i16 2, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 2, i16 1099, i16 1806, i16 1190, i16 1807, i16 2012, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 4, i16 1132, i16 1812, i16 1190, i16 1813, i16 2013, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 4, i16 1206, i16 1826, i16 1190, i16 1827, i16 2014, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1242, i16 1832, i16 1190, i16 1833, i16 2015, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1836, i16 1190, i16 1837, i16 2016, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 8, i16 1361, i16 1846, i16 1190, i16 1847, i16 2017, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1418, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 2, i16 1429, i16 1881, i16 1923, i16 1882, i16 1924, i16 2, i16 1440, i16 1879, i16 1190, i16 1880, i16 2018, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1046, i16 1870, i16 1190, i16 1871, i16 1915, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 2, i16 1400, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 81, i16 1697, i16 1712, i16 1698, i16 2019, i16 1699, i16 2019, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 898, i16 1887, i16 2020, i16 1888, i16 2021, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 9, i16 1418, i16 1874, i16 1187, i16 1848, i16 1984, i16 1849, i16 1985, i16 1844, i16 1984, i16 1845, i16 1986, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 24, i16 1440, i16 1770, i16 1190, i16 1771, i16 1987, i16 1772, i16 1988, i16 1773, i16 1989, i16 1774, i16 1990, i16 1775, i16 1991, i16 1764, i16 1992, i16 1765, i16 1993, i16 1822, i16 1190, i16 1823, i16 1994, i16 1824, i16 1995, i16 1825, i16 1996, i16 1828, i16 1997, i16 1829, i16 1998, i16 1818, i16 1999, i16 1819, i16 2000, i16 1760, i16 1190, i16 1761, i16 1955, i16 1883, i16 2001, i16 1884, i16 2002, i16 1885, i16 2003, i16 1886, i16 2004, i16 1762, i16 2001, i16 1763, i16 2005, i16 1, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1220, i16 2022, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1892, i16 1189, i16 1893, i16 1189, i16 1894, i16 1189, i16 3, i16 461, i16 1895, i16 1189, i16 1896, i16 1189, i16 1897, i16 1189, i16 3, i16 465, i16 1898, i16 1189, i16 1899, i16 1189, i16 1900, i16 1189, i16 3, i16 469, i16 1901, i16 1189, i16 1902, i16 1189, i16 1903, i16 1189, i16 2, i16 491, i16 1910, i16 1189, i16 1911, i16 1189, i16 2, i16 499, i16 1913, i16 1189, i16 1914, i16 1189, i16 29, i16 519, i16 1918, i16 1189, i16 1703, i16 1189, i16 1704, i16 1189, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 1717, i16 1189, i16 1718, i16 1189, i16 1719, i16 1189, i16 1720, i16 1189, i16 1721, i16 1189, i16 1722, i16 1189, i16 1723, i16 1189, i16 1724, i16 1189, i16 1725, i16 1189, i16 1726, i16 1189, i16 1727, i16 1189, i16 1728, i16 1189, i16 1729, i16 1189, i16 1730, i16 1189, i16 2, i16 753, i16 1919, i16 1189, i16 1920, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1759, i16 1846, i16 1758, i16 2023, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 898, i16 1888, i16 1846, i16 1887, i16 2024, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 955, i16 1785, i16 1846, i16 1784, i16 2025, i16 4, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 1921, i16 2026, i16 1922, i16 2027, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1046, i16 1798, i16 1846, i16 1797, i16 2028, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 2029, i16 1815, i16 2030, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 2, i16 1179, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1817, i16 1846, i16 1816, i16 2031, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 8, i16 1361, i16 1843, i16 1846, i16 1842, i16 2032, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 2, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 7, i16 1418, i16 1874, i16 1187, i16 1873, i16 1846, i16 1872, i16 2033, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 10, i16 1440, i16 1841, i16 1846, i16 1840, i16 2034, i16 1771, i16 1846, i16 1770, i16 2035, i16 1831, i16 2036, i16 1830, i16 2037, i16 1829, i16 1846, i16 1828, i16 2038, i16 1823, i16 2039, i16 1822, i16 2040, i16 4, i16 2011, i16 1923, i16 1744, i16 1924, i16 2041, i16 1925, i16 2042, i16 1926, i16 2043, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1702, i16 205, i16 1189, i16 1701, i16 221, i16 1189, i16 1700, i16 324, i16 1189, i16 1889, i16 371, i16 1189, i16 1890, i16 445, i16 1189, i16 1891, i16 447, i16 1189, i16 1904, i16 473, i16 1189, i16 1905, i16 476, i16 1189, i16 1906, i16 479, i16 1189, i16 1907, i16 481, i16 1189, i16 1908, i16 484, i16 1189, i16 1909, i16 487, i16 1189, i16 1912, i16 495, i16 1189, i16 1915, i16 503, i16 1189, i16 1916, i16 507, i16 1189, i16 1917, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 4, i16 877, i16 1778, i16 1190, i16 1779, i16 2007, i16 1776, i16 1190, i16 1777, i16 1976, i16 6, i16 898, i16 1927, i16 1190, i16 1928, i16 2044, i16 1929, i16 2045, i16 1930, i16 2046, i16 1782, i16 1190, i16 1783, i16 2047, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 4, i16 1099, i16 1931, i16 1190, i16 1932, i16 2048, i16 1933, i16 2049, i16 1934, i16 2050, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 6, i16 1132, i16 1935, i16 1190, i16 1936, i16 2051, i16 1937, i16 2052, i16 1938, i16 2053, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1836, i16 1190, i16 1837, i16 2016, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 2, i16 1429, i16 1881, i16 1923, i16 1882, i16 1924, i16 2, i16 1440, i16 1879, i16 1190, i16 1880, i16 2018, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 4, i16 1132, i16 1810, i16 1190, i16 1811, i16 2054, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 10, i16 1266, i16 1836, i16 2055, i16 1837, i16 2056, i16 1875, i16 2057, i16 1876, i16 2058, i16 1877, i16 2059, i16 1878, i16 2060, i16 1881, i16 2061, i16 1882, i16 2062, i16 1879, i16 2063, i16 1880, i16 2064, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 22, i16 1370, i16 1856, i16 2065, i16 1857, i16 2066, i16 1858, i16 2067, i16 1859, i16 2068, i16 1860, i16 2069, i16 1861, i16 2070, i16 1862, i16 2071, i16 1863, i16 2072, i16 1868, i16 2073, i16 1869, i16 2074, i16 1866, i16 2075, i16 1867, i16 2076, i16 1864, i16 2077, i16 1865, i16 2078, i16 1820, i16 2079, i16 1821, i16 2080, i16 1764, i16 2081, i16 1765, i16 2082, i16 1828, i16 2081, i16 1829, i16 2083, i16 1848, i16 2081, i16 1849, i16 2084, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 1874, i16 1418, i16 1187, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 4, i16 877, i16 1939, i16 1190, i16 1940, i16 2085, i16 1941, i16 2086, i16 1942, i16 2087, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 4, i16 1099, i16 1943, i16 1190, i16 1944, i16 2088, i16 1945, i16 2089, i16 1946, i16 2090, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 4, i16 1132, i16 1810, i16 1190, i16 1811, i16 2054, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 32766, i16 32766, i16 32766, i16 -2, i16 16384, i16 0, i16 16384, i16 -2, i16 16384, i16 0, i16 16384, i16 -16206, i16 16384, i16 0, i16 16384, i16 -16204, i16 16384, i16 0, i16 16384, i16 -16353, i16 16384, i16 0, i16 16384, i16 -16352, i16 16384, i16 0, i16 16384, i16 -16351, i16 16384, i16 0, i16 16384, i16 -16350, i16 16384, i16 0, i16 16384, i16 -16349, i16 16384, i16 0, i16 16384, i16 -16348, i16 16384, i16 0, i16 16384, i16 -16347, i16 16384, i16 0, i16 16384, i16 -16346, i16 16384, i16 0, i16 16384, i16 -16345, i16 16384, i16 0, i16 16384, i16 -16344, i16 16384, i16 0, i16 16384, i16 -16343, i16 16384, i16 0, i16 16384, i16 -16342, i16 16384, i16 0, i16 16384, i16 -16341, i16 16384, i16 0, i16 16384, i16 -15486, i16 16384, i16 0, i16 16384, i16 -16340, i16 16384, i16 0, i16 16384, i16 -16339, i16 16384, i16 0, i16 16384, i16 -15485, i16 16384, i16 0, i16 16384, i16 -16338, i16 16384, i16 0, i16 16384, i16 -15484, i16 16384, i16 0, i16 16384, i16 -15483, i16 16384, i16 0, i16 16384, i16 -15482, i16 16384, i16 0, i16 16384, i16 -16337, i16 16384, i16 0, i16 16384, i16 -16336, i16 16384, i16 0, i16 16384, i16 -16335, i16 16384, i16 0, i16 16384, i16 -16334, i16 16384, i16 0, i16 16384, i16 -16333, i16 16384, i16 0, i16 16384, i16 -15481, i16 16384, i16 0, i16 16384, i16 -16332, i16 16384, i16 0, i16 16384, i16 -16331, i16 16384, i16 0, i16 16384, i16 -16330, i16 16384, i16 0, i16 16384, i16 -16329, i16 16384, i16 0, i16 16384, i16 -16328, i16 16384, i16 0, i16 16384, i16 -16327, i16 16384, i16 0, i16 16384, i16 -15480, i16 16384, i16 0, i16 16384, i16 -16326, i16 16384, i16 0, i16 16384, i16 -16325, i16 16534, i16 14, i16 17273, i16 -16384, i16 16415, i16 14, i16 17273, i16 -16384, i16 16416, i16 14, i16 17273, i16 -16384, i16 16417, i16 14, i16 17273, i16 -16384, i16 16418, i16 14, i16 17273, i16 -16384, i16 16419, i16 14, i16 17273, i16 -16384, i16 16420, i16 14, i16 17273, i16 -16384, i16 16421, i16 14, i16 17273, i16 -16384, i16 16422, i16 14, i16 17273, i16 -16384, i16 16423, i16 14, i16 17273, i16 -16384, i16 16424, i16 14, i16 17273, i16 -16384, i16 16415, i16 17, i16 17273, i16 -16384, i16 16415, i16 896, i16 17273, i16 -16384, i16 16415, i16 897, i16 17273, i16 -16384, i16 16415, i16 19, i16 17273, i16 -16384, i16 16415, i16 21, i16 17273, i16 -16384, i16 16415, i16 18, i16 17273, i16 -16384, i16 16415, i16 20, i16 17273, i16 -16384, i16 16415, i16 14, i16 16392, i16 -16384, i16 16416, i16 14, i16 16392, i16 -16384, i16 16417, i16 14, i16 16392, i16 -16384, i16 16418, i16 14, i16 16392, i16 -16384, i16 16419, i16 14, i16 16392, i16 -16384, i16 16420, i16 14, i16 16392, i16 -16384, i16 16421, i16 14, i16 16392, i16 -16384, i16 16422, i16 14, i16 16392, i16 -16384, i16 16423, i16 14, i16 16392, i16 -16384, i16 16424, i16 14, i16 16392, i16 -16384, i16 16425, i16 14, i16 17273, i16 -16384, i16 16425, i16 15, i16 16392, i16 -16384, i16 16425, i16 26, i16 17273, i16 -16384, i16 16425, i16 27, i16 17273, i16 -16384, i16 16426, i16 14, i16 17273, i16 -16384, i16 16427, i16 14, i16 17273, i16 -16384, i16 17282, i16 14, i16 17273, i16 -16384, i16 17282, i16 18, i16 17273, i16 -16384, i16 16428, i16 14, i16 17273, i16 -16384, i16 16428, i16 16, i16 17273, i16 -16384, i16 16428, i16 17, i16 17273, i16 -16384, i16 16428, i16 897, i16 17273, i16 -16384, i16 16428, i16 20, i16 17273, i16 -16384, i16 16428, i16 18, i16 17273, i16 -16384, i16 16428, i16 23, i16 17273, i16 -16384, i16 16428, i16 26, i16 17273, i16 -16384, i16 16428, i16 27, i16 17273, i16 -16384, i16 16429, i16 14, i16 17273, i16 -16384, i16 17283, i16 14, i16 17273, i16 -16384, i16 17283, i16 25, i16 17273, i16 -16384, i16 16430, i16 14, i16 17273, i16 -16384, i16 17284, i16 16, i16 17273, i16 -16384, i16 17284, i16 17, i16 17273, i16 -16384, i16 17284, i16 20, i16 17273, i16 -16384, i16 17284, i16 22, i16 17273, i16 -16384, i16 17284, i16 26, i16 17273, i16 -16384, i16 17284, i16 27, i16 17273, i16 -16384, i16 18009, i16 1628, i16 18015, i16 -16384, i16 17285, i16 14, i16 17273, i16 -16384, i16 17286, i16 14, i16 17273, i16 -16384, i16 17286, i16 15, i16 17273, i16 -16384, i16 17286, i16 25, i16 17273, i16 -16384, i16 16431, i16 14, i16 17273, i16 -16384, i16 16431, i16 16, i16 17273, i16 -16384, i16 16431, i16 18, i16 17273, i16 -16384, i16 16431, i16 24, i16 17273, i16 -16384, i16 16431, i16 25, i16 17273, i16 -16384, i16 16431, i16 23, i16 17273, i16 -16384, i16 16432, i16 14, i16 17273, i16 -16384, i16 16433, i16 14, i16 17273, i16 -16384, i16 16433, i16 15, i16 17273, i16 -16384, i16 16433, i16 16, i16 17273, i16 -16384, i16 16433, i16 18, i16 17273, i16 -16384, i16 16433, i16 25, i16 17273, i16 -16384, i16 16434, i16 14, i16 17273, i16 -16384, i16 16434, i16 15, i16 16392, i16 -16384, i16 16434, i16 16, i16 17273, i16 -16384, i16 16434, i16 17, i16 17273, i16 -16384, i16 16434, i16 897, i16 17273, i16 -16384, i16 16434, i16 22, i16 17273, i16 -16384, i16 16434, i16 27, i16 17273, i16 -16384, i16 18018, i16 1628, i16 18015, i16 -16384, i16 16435, i16 14, i16 17273, i16 -16384, i16 17287, i16 14, i16 17273, i16 -16384, i16 16436, i16 14, i16 17273, i16 -16384, i16 16436, i16 16, i16 17273, i16 -16384, i16 16436, i16 18, i16 17273, i16 -16384, i16 16436, i16 25, i16 17273, i16 -16384, i16 16437, i16 14, i16 17273, i16 -16384, i16 16437, i16 16, i16 17273, i16 -16384, i16 16438, i16 14, i16 17273, i16 -16384, i16 16438, i16 18, i16 17273, i16 -16384, i16 16438, i16 24, i16 17273, i16 -16384, i16 16439, i16 14, i16 17273, i16 -16384, i16 16439, i16 16, i16 17273, i16 -16384, i16 16439, i16 17, i16 17273, i16 -16384, i16 16439, i16 897, i16 17273, i16 -16384, i16 16439, i16 19, i16 17273, i16 -16384, i16 16439, i16 22, i16 17273, i16 -16384, i16 16439, i16 26, i16 17273, i16 -16384, i16 16439, i16 27, i16 17273, i16 -16384, i16 16440, i16 14, i16 17273, i16 -16384, i16 16441, i16 897, i16 17273, i16 -16384, i16 17288, i16 14, i16 17273, i16 -16384, i16 16442, i16 14, i16 17273, i16 -16384, i16 16442, i16 16, i16 17273, i16 -16384, i16 16442, i16 20, i16 17273, i16 -16384, i16 16442, i16 897, i16 17273, i16 -16384, i16 16443, i16 14, i16 17273, i16 -16384, i16 16443, i16 16, i16 17273, i16 -16384, i16 16444, i16 14, i16 17273, i16 -16384, i16 16425, i16 14, i16 16393, i16 -16384, i16 16425, i16 26, i16 16393, i16 -16384, i16 16425, i16 27, i16 16393, i16 -16384, i16 16426, i16 14, i16 16393, i16 -16384, i16 16427, i16 14, i16 16393, i16 -16384, i16 17282, i16 14, i16 16393, i16 -16384, i16 17282, i16 18, i16 16393, i16 -16384, i16 16428, i16 14, i16 16393, i16 -16384, i16 16428, i16 16, i16 16393, i16 -16384, i16 16428, i16 17, i16 16393, i16 -16384, i16 16428, i16 897, i16 16393, i16 -16384, i16 16428, i16 20, i16 16393, i16 -16384, i16 16428, i16 18, i16 16393, i16 -16384, i16 16428, i16 23, i16 16393, i16 -16384, i16 16428, i16 26, i16 16393, i16 -16384, i16 16428, i16 27, i16 16393, i16 -16384, i16 16429, i16 14, i16 16393, i16 -16384, i16 17283, i16 14, i16 16393, i16 -16384, i16 17283, i16 25, i16 16393, i16 -16384, i16 16430, i16 14, i16 16393, i16 -16384, i16 17284, i16 16, i16 16393, i16 -16384, i16 17284, i16 17, i16 16393, i16 -16384, i16 17284, i16 20, i16 16393, i16 -16384, i16 17284, i16 22, i16 16393, i16 -16384, i16 17284, i16 26, i16 16393, i16 -16384, i16 17284, i16 27, i16 16393, i16 -16384, i16 18009, i16 1628, i16 18021, i16 -16384, i16 17285, i16 14, i16 16393, i16 -16384, i16 17286, i16 14, i16 16393, i16 -16384, i16 17286, i16 25, i16 16393, i16 -16384, i16 16431, i16 14, i16 16393, i16 -16384, i16 16431, i16 16, i16 16393, i16 -16384, i16 16431, i16 18, i16 16393, i16 -16384, i16 16431, i16 24, i16 16393, i16 -16384, i16 16431, i16 25, i16 16393, i16 -16384, i16 16431, i16 23, i16 16393, i16 -16384, i16 16432, i16 14, i16 16393, i16 -16384, i16 16433, i16 14, i16 16393, i16 -16384, i16 16433, i16 16, i16 16393, i16 -16384, i16 16433, i16 18, i16 16393, i16 -16384, i16 16433, i16 25, i16 16393, i16 -16384, i16 16434, i16 14, i16 16393, i16 -16384, i16 16434, i16 16, i16 16393, i16 -16384, i16 16434, i16 17, i16 16393, i16 -16384, i16 16434, i16 897, i16 16393, i16 -16384, i16 16434, i16 22, i16 16393, i16 -16384, i16 16434, i16 27, i16 16393, i16 -16384, i16 18018, i16 1628, i16 18021, i16 -16384, i16 16435, i16 14, i16 16393, i16 -16384, i16 17287, i16 14, i16 16393, i16 -16384, i16 16436, i16 14, i16 16393, i16 -16384, i16 16436, i16 16, i16 16393, i16 -16384, i16 16436, i16 18, i16 16393, i16 -16384, i16 16436, i16 25, i16 16393, i16 -16384, i16 16437, i16 14, i16 16393, i16 -16384, i16 16437, i16 16, i16 16393, i16 -16384, i16 16438, i16 14, i16 16393, i16 -16384, i16 16438, i16 18, i16 16393, i16 -16384, i16 16438, i16 24, i16 16393, i16 -16384, i16 16439, i16 14, i16 16393, i16 -16384, i16 16439, i16 16, i16 16393, i16 -16384, i16 16439, i16 17, i16 16393, i16 -16384, i16 16439, i16 897, i16 16393, i16 -16384, i16 16439, i16 19, i16 16393, i16 -16384, i16 16439, i16 22, i16 16393, i16 -16384, i16 16439, i16 26, i16 16393, i16 -16384, i16 16439, i16 27, i16 16393, i16 -16384, i16 16440, i16 14, i16 16393, i16 -16384, i16 16441, i16 897, i16 16393, i16 -16384, i16 17288, i16 14, i16 16393, i16 -16384, i16 16442, i16 14, i16 16393, i16 -16384, i16 16442, i16 16, i16 16393, i16 -16384, i16 16442, i16 897, i16 16393, i16 -16384, i16 16442, i16 20, i16 16393, i16 -16384, i16 16443, i16 14, i16 16393, i16 -16384, i16 16443, i16 16, i16 16393, i16 -16384, i16 16444, i16 14, i16 16393, i16 -16384, i16 16445, i16 16398, i16 17273, i16 -16384, i16 16446, i16 16398, i16 17273, i16 -16384, i16 16448, i16 16398, i16 17273, i16 -16384, i16 16449, i16 16398, i16 17273, i16 -16384, i16 16450, i16 16398, i16 17273, i16 -16384, i16 16451, i16 16398, i16 17273, i16 -16384, i16 16452, i16 16398, i16 17273, i16 -16384, i16 16453, i16 16398, i16 17273, i16 -16384, i16 16454, i16 16398, i16 17273, i16 -16384, i16 16455, i16 16398, i16 17273, i16 -16384, i16 16456, i16 16398, i16 17273, i16 -16384, i16 16457, i16 16398, i16 17273, i16 -16384, i16 16458, i16 16398, i16 17273, i16 -16384, i16 16459, i16 16398, i16 17273, i16 -16384, i16 16460, i16 16398, i16 17273, i16 -16384, i16 16461, i16 16398, i16 17273, i16 -16384, i16 16462, i16 16398, i16 17273, i16 -16384, i16 16463, i16 16398, i16 17273, i16 -16384, i16 16464, i16 16398, i16 17273, i16 -16384, i16 16465, i16 16398, i16 17273, i16 -16384, i16 16466, i16 16398, i16 17273, i16 -16384, i16 16467, i16 16398, i16 17273, i16 -16384, i16 16468, i16 16398, i16 17273, i16 -16384, i16 16469, i16 16398, i16 17273, i16 -16384, i16 16470, i16 16398, i16 17273, i16 -16384, i16 16471, i16 16398, i16 17273, i16 -16384, i16 16474, i16 16398, i16 17273, i16 -16384, i16 16475, i16 16398, i16 17273, i16 -16384, i16 16476, i16 16398, i16 17273, i16 -16384, i16 16477, i16 16398, i16 17273, i16 -16384, i16 16478, i16 16398, i16 17273, i16 -16384, i16 16480, i16 16398, i16 17273, i16 -16384, i16 16482, i16 17278, i16 17273, i16 -16384, i16 16482, i16 16398, i16 17273, i16 -16384, i16 61, i16 14, i16 3, i16 -16384, i16 61, i16 14, i16 4, i16 -16384, i16 61, i16 14, i16 5, i16 -16384, i16 61, i16 14, i16 6, i16 -16384, i16 62, i16 14, i16 3, i16 -16384, i16 62, i16 14, i16 4, i16 -16384, i16 62, i16 14, i16 5, i16 -16384, i16 62, i16 14, i16 6, i16 -16384, i16 64, i16 14, i16 3, i16 -16384, i16 64, i16 14, i16 4, i16 -16384, i16 64, i16 14, i16 5, i16 -16384, i16 64, i16 14, i16 6, i16 -16384, i16 65, i16 14, i16 3, i16 -16384, i16 65, i16 14, i16 4, i16 -16384, i16 65, i16 14, i16 5, i16 -16384, i16 65, i16 14, i16 6, i16 -16384, i16 66, i16 14, i16 3, i16 -16384, i16 66, i16 14, i16 4, i16 -16384, i16 66, i16 14, i16 5, i16 -16384, i16 66, i16 14, i16 6, i16 -16384, i16 67, i16 14, i16 3, i16 -16384, i16 67, i16 14, i16 4, i16 -16384, i16 67, i16 14, i16 5, i16 -16384, i16 67, i16 14, i16 6, i16 -16384, i16 68, i16 14, i16 3, i16 -16384, i16 68, i16 14, i16 4, i16 -16384, i16 68, i16 14, i16 5, i16 -16384, i16 68, i16 14, i16 6, i16 -16384, i16 69, i16 14, i16 3, i16 -16384, i16 69, i16 14, i16 4, i16 -16384, i16 69, i16 14, i16 5, i16 -16384, i16 69, i16 14, i16 6, i16 -16384, i16 70, i16 14, i16 3, i16 -16384, i16 70, i16 14, i16 4, i16 -16384, i16 70, i16 14, i16 5, i16 -16384, i16 70, i16 14, i16 6, i16 -16384, i16 71, i16 14, i16 3, i16 -16384, i16 71, i16 14, i16 4, i16 -16384, i16 72, i16 14, i16 3, i16 -16384, i16 72, i16 14, i16 4, i16 -16384, i16 73, i16 14, i16 3, i16 -16384, i16 73, i16 14, i16 4, i16 -16384, i16 74, i16 14, i16 3, i16 -16384, i16 74, i16 14, i16 4, i16 -16384, i16 75, i16 14, i16 3, i16 -16384, i16 75, i16 14, i16 4, i16 -16384, i16 76, i16 14, i16 3, i16 -16384, i16 76, i16 14, i16 4, i16 -16384, i16 77, i16 14, i16 3, i16 -16384, i16 77, i16 14, i16 4, i16 -16384, i16 78, i16 14, i16 3, i16 -16384, i16 78, i16 14, i16 4, i16 -16384, i16 78, i16 14, i16 5, i16 -16384, i16 78, i16 14, i16 6, i16 -16384, i16 79, i16 14, i16 3, i16 -16384, i16 79, i16 14, i16 4, i16 -16384, i16 79, i16 14, i16 5, i16 -16384, i16 79, i16 14, i16 6, i16 -16384, i16 80, i16 14, i16 3, i16 -16384, i16 80, i16 14, i16 4, i16 -16384, i16 80, i16 14, i16 5, i16 -16384, i16 80, i16 14, i16 6, i16 -16384, i16 81, i16 14, i16 3, i16 -16384, i16 81, i16 14, i16 4, i16 -16384, i16 81, i16 14, i16 5, i16 -16384, i16 81, i16 14, i16 6, i16 -16384, i16 82, i16 14, i16 3, i16 -16384, i16 82, i16 14, i16 4, i16 -16384, i16 82, i16 14, i16 5, i16 -16384, i16 82, i16 14, i16 6, i16 -16384, i16 83, i16 14, i16 3, i16 -16384, i16 83, i16 14, i16 4, i16 -16384, i16 83, i16 14, i16 5, i16 -16384, i16 83, i16 14, i16 6, i16 -16384, i16 84, i16 14, i16 3, i16 -16384, i16 84, i16 14, i16 4, i16 -16384, i16 84, i16 14, i16 5, i16 -16384, i16 84, i16 14, i16 6, i16 -16384, i16 85, i16 14, i16 3, i16 -16384, i16 85, i16 14, i16 4, i16 -16384, i16 85, i16 14, i16 5, i16 -16384, i16 85, i16 14, i16 6, i16 -16384, i16 86, i16 14, i16 3, i16 -16384, i16 86, i16 14, i16 4, i16 -16384, i16 86, i16 14, i16 5, i16 -16384, i16 86, i16 14, i16 6, i16 -16384, i16 87, i16 14, i16 3, i16 -16384, i16 87, i16 14, i16 4, i16 -16384, i16 87, i16 14, i16 5, i16 -16384, i16 87, i16 14, i16 6, i16 -16384, i16 90, i16 14, i16 3, i16 -16384, i16 90, i16 14, i16 4, i16 -16384, i16 90, i16 14, i16 5, i16 -16384, i16 90, i16 14, i16 6, i16 -16384, i16 91, i16 14, i16 3, i16 -16384, i16 91, i16 14, i16 4, i16 -16384, i16 91, i16 14, i16 5, i16 -16384, i16 91, i16 14, i16 6, i16 -16384, i16 92, i16 14, i16 3, i16 -16384, i16 92, i16 14, i16 4, i16 -16384, i16 92, i16 14, i16 5, i16 -16384, i16 92, i16 14, i16 6, i16 -16384, i16 93, i16 14, i16 3, i16 -16384, i16 93, i16 14, i16 4, i16 -16384, i16 93, i16 14, i16 5, i16 -16384, i16 93, i16 14, i16 6, i16 -16384, i16 94, i16 14, i16 3, i16 -16384, i16 94, i16 14, i16 4, i16 -16384, i16 96, i16 14, i16 3, i16 -16384, i16 96, i16 14, i16 4, i16 -16384, i16 1640, i16 1643, i16 1646, i16 -16384, i16 1640, i16 1643, i16 1649, i16 -16384, i16 1640, i16 1643, i16 1652, i16 -16384, i16 1640, i16 1643, i16 1655, i16 -16384, i16 98, i16 894, i16 3, i16 -16384, i16 98, i16 894, i16 4, i16 -16384, i16 98, i16 14, i16 3, i16 -16384, i16 98, i16 14, i16 4, i16 -16384, i16 16483, i16 16398, i16 16384, i16 -16384, i16 16484, i16 16398, i16 16384, i16 -16384, i16 16485, i16 16398, i16 16384, i16 -16384, i16 16486, i16 16398, i16 16384, i16 -16384, i16 16487, i16 16398, i16 16384, i16 -16384, i16 16488, i16 16398, i16 16384, i16 -16384, i16 16489, i16 16398, i16 16384, i16 -16384, i16 16490, i16 16398, i16 16384, i16 -16384, i16 16491, i16 16398, i16 16384, i16 -16384, i16 16492, i16 16398, i16 16384, i16 -16384, i16 16493, i16 16398, i16 16384, i16 -16384, i16 16494, i16 16398, i16 16384, i16 -16384, i16 16495, i16 16398, i16 16384, i16 -16384, i16 16496, i16 16398, i16 16384, i16 -16384, i16 16497, i16 16398, i16 16384, i16 -16384, i16 16498, i16 16398, i16 16384, i16 -16384, i16 16499, i16 16398, i16 16384, i16 -16384, i16 16500, i16 16398, i16 16384, i16 -16384, i16 16501, i16 16398, i16 16384, i16 -16384, i16 16502, i16 16398, i16 16384, i16 -16384, i16 16503, i16 16398, i16 16384, i16 -16384, i16 16504, i16 16398, i16 16384, i16 -16384, i16 16505, i16 16398, i16 16384, i16 -16384, i16 16506, i16 16398, i16 16384, i16 -16384, i16 16507, i16 16398, i16 16384, i16 -16384, i16 16508, i16 16398, i16 16384, i16 -16384, i16 16509, i16 16398, i16 16384, i16 -16384, i16 16510, i16 14, i16 16393, i16 -16384, i16 16510, i16 28, i16 16393, i16 -16384, i16 16511, i16 14, i16 16393, i16 -16384, i16 16512, i16 14, i16 16393, i16 -16384, i16 16512, i16 15, i16 16393, i16 -16384, i16 16513, i16 14, i16 16393, i16 -16384, i16 16513, i16 15, i16 16393, i16 -16384, i16 16514, i16 14, i16 16393, i16 -16384, i16 16514, i16 28, i16 16393, i16 -16384, i16 16515, i16 14, i16 16393, i16 -16384, i16 16515, i16 15, i16 16393, i16 -16384, i16 16516, i16 14, i16 16393, i16 -16384, i16 16516, i16 28, i16 16393, i16 -16384, i16 16517, i16 14, i16 16393, i16 -16384, i16 16518, i16 14, i16 16393, i16 -16384, i16 16518, i16 28, i16 16393, i16 -16384, i16 16518, i16 29, i16 16393, i16 -16384, i16 16519, i16 14, i16 16393, i16 -16384, i16 16519, i16 15, i16 16393, i16 -16384, i16 16519, i16 895, i16 16393, i16 -16384, i16 16520, i16 14, i16 16393, i16 -16384, i16 16521, i16 14, i16 16393, i16 -16384, i16 16522, i16 14, i16 16393, i16 -16384, i16 16523, i16 14, i16 16393, i16 -16384, i16 16524, i16 14, i16 16393, i16 -16384, i16 16524, i16 28, i16 16393, i16 -16384, i16 16525, i16 14, i16 16393, i16 -16384, i16 16526, i16 14, i16 16393, i16 -16384, i16 16527, i16 14, i16 16393, i16 -16384, i16 16527, i16 15, i16 16393, i16 -16384, i16 16527, i16 895, i16 16393, i16 -16384, i16 16528, i16 14, i16 16393, i16 -16384, i16 16528, i16 15, i16 16393, i16 -16384, i16 16529, i16 14, i16 16393, i16 -16384, i16 16529, i16 28, i16 16393, i16 -16384, i16 16529, i16 29, i16 16393, i16 -16384, i16 16529, i16 30, i16 16393, i16 -16384, i16 16529, i16 26, i16 16393, i16 -16384, i16 16529, i16 27, i16 16393, i16 -16384, i16 16530, i16 14, i16 16393, i16 -16384, i16 16530, i16 895, i16 16393, i16 -16384, i16 16531, i16 14, i16 16393, i16 -16384, i16 16531, i16 15, i16 16393, i16 -16384, i16 16532, i16 14, i16 16393, i16 -16384, i16 16532, i16 15, i16 16393, i16 -16384, i16 16533, i16 14, i16 16393, i16 -16384, i16 16533, i16 28, i16 16393, i16 -16384, i16 16510, i16 14, i16 16396, i16 -16384, i16 16510, i16 28, i16 16396, i16 -16384, i16 16511, i16 14, i16 16396, i16 -16384, i16 16511, i16 15, i16 16396, i16 -16384, i16 16512, i16 14, i16 16396, i16 -16384, i16 16513, i16 14, i16 16396, i16 -16384, i16 16514, i16 14, i16 16396, i16 -16384, i16 16514, i16 28, i16 16396, i16 -16384, i16 16515, i16 14, i16 16396, i16 -16384, i16 16515, i16 15, i16 16396, i16 -16384, i16 16516, i16 14, i16 16396, i16 -16384, i16 16516, i16 28, i16 16396, i16 -16384, i16 16517, i16 14, i16 16396, i16 -16384, i16 16517, i16 15, i16 16396, i16 -16384, i16 16518, i16 14, i16 16396, i16 -16384, i16 16518, i16 28, i16 16396, i16 -16384, i16 16518, i16 29, i16 16396, i16 -16384, i16 16518, i16 30, i16 16396, i16 -16384, i16 16518, i16 26, i16 16396, i16 -16384, i16 16519, i16 14, i16 16396, i16 -16384, i16 16519, i16 15, i16 16396, i16 -16384, i16 16519, i16 895, i16 16396, i16 -16384, i16 16520, i16 14, i16 16396, i16 -16384, i16 16521, i16 14, i16 16396, i16 -16384, i16 16522, i16 14, i16 16396, i16 -16384, i16 16523, i16 14, i16 16396, i16 -16384, i16 16524, i16 14, i16 16396, i16 -16384, i16 16524, i16 28, i16 16396, i16 -16384, i16 16525, i16 14, i16 16396, i16 -16384, i16 16525, i16 15, i16 16396, i16 -16384, i16 16526, i16 15, i16 16396, i16 -16384, i16 16527, i16 14, i16 16396, i16 -16384, i16 16527, i16 15, i16 16396, i16 -16384, i16 16527, i16 895, i16 16396, i16 -16384, i16 16527, i16 26, i16 16396, i16 -16384, i16 16528, i16 14, i16 16396, i16 -16384, i16 16528, i16 15, i16 16396, i16 -16384, i16 16529, i16 14, i16 16396, i16 -16384, i16 16529, i16 28, i16 16396, i16 -16384, i16 16529, i16 29, i16 16396, i16 -16384, i16 16529, i16 30, i16 16396, i16 -16384, i16 16530, i16 14, i16 16396, i16 -16384, i16 16530, i16 15, i16 16396, i16 -16384, i16 16530, i16 895, i16 16396, i16 -16384, i16 16531, i16 14, i16 16396, i16 -16384, i16 16532, i16 14, i16 16396, i16 -16384, i16 16532, i16 15, i16 16396, i16 -16384, i16 16533, i16 14, i16 16396, i16 -16384, i16 16533, i16 28, i16 16396, i16 -16384, i16 17292, i16 16398, i16 17273, i16 -16384, i16 17293, i16 16398, i16 17273, i16 -16384, i16 17294, i16 16398, i16 17273, i16 -16384, i16 17295, i16 16398, i16 17273, i16 -16384, i16 17296, i16 16398, i16 17273, i16 -16384, i16 17299, i16 16398, i16 17273, i16 -16384, i16 17302, i16 16398, i16 17273, i16 -16384, i16 17303, i16 16398, i16 17273, i16 -16384, i16 17305, i16 16398, i16 17273, i16 -16384, i16 17308, i16 16398, i16 17273, i16 -16384, i16 17309, i16 16398, i16 17273, i16 -16384, i16 17310, i16 16398, i16 17273, i16 -16384, i16 17311, i16 16398, i16 17273, i16 -16384, i16 17313, i16 16398, i16 17273, i16 -16384, i16 17314, i16 16398, i16 17273, i16 -16384, i16 17316, i16 16398, i16 17273, i16 -16384, i16 17317, i16 16398, i16 17273, i16 -16384, i16 17318, i16 16398, i16 17273, i16 -16384, i16 17319, i16 16398, i16 17273, i16 -16384, i16 17320, i16 16398, i16 17273, i16 -16384, i16 17323, i16 16398, i16 17273, i16 -16384, i16 17325, i16 16398, i16 17273, i16 -16384, i16 17326, i16 16398, i16 17273, i16 -16384, i16 17327, i16 16398, i16 17273, i16 -16384, i16 17328, i16 16398, i16 17273, i16 -16384, i16 17330, i16 16398, i16 17273, i16 -16384, i16 17331, i16 16398, i16 17273, i16 -16384, i16 17332, i16 16398, i16 17273, i16 -16384, i16 17334, i16 16398, i16 17273, i16 -16384, i16 17336, i16 16398, i16 17273, i16 -16384, i16 17337, i16 16398, i16 17273, i16 -16384, i16 17292, i16 16398, i16 16393, i16 -16384, i16 17293, i16 16398, i16 16393, i16 -16384, i16 17294, i16 16398, i16 16393, i16 -16384, i16 17295, i16 16398, i16 16393, i16 -16384, i16 17296, i16 16398, i16 16393, i16 -16384, i16 17299, i16 16398, i16 16393, i16 -16384, i16 17302, i16 16398, i16 16393, i16 -16384, i16 17303, i16 16398, i16 16393, i16 -16384, i16 17305, i16 16398, i16 16393, i16 -16384, i16 17308, i16 16398, i16 16393, i16 -16384, i16 17310, i16 16398, i16 16393, i16 -16384, i16 17311, i16 16398, i16 16393, i16 -16384, i16 17313, i16 16398, i16 16393, i16 -16384, i16 17314, i16 16398, i16 16393, i16 -16384, i16 17316, i16 16398, i16 16393, i16 -16384, i16 17317, i16 16398, i16 16393, i16 -16384, i16 17318, i16 16398, i16 16393, i16 -16384, i16 17319, i16 16398, i16 16393, i16 -16384, i16 17320, i16 16398, i16 16393, i16 -16384, i16 17323, i16 16398, i16 16393, i16 -16384, i16 17325, i16 16398, i16 16393, i16 -16384, i16 17326, i16 16398, i16 16393, i16 -16384, i16 17327, i16 16398, i16 16393, i16 -16384, i16 17328, i16 16398, i16 16393, i16 -16384, i16 17330, i16 16398, i16 16393, i16 -16384, i16 17331, i16 16398, i16 16393, i16 -16384, i16 17332, i16 16398, i16 16393, i16 -16384, i16 17334, i16 16398, i16 16393, i16 -16384, i16 17336, i16 16398, i16 16393, i16 -16384, i16 17337, i16 16398, i16 16393, i16 -16384, i16 16425, i16 16, i16 17273, i16 -16384, i16 16425, i16 17, i16 17273, i16 -16384, i16 16425, i16 897, i16 17273, i16 -16384, i16 16425, i16 22, i16 17273, i16 -16384, i16 16425, i16 20, i16 17273, i16 -16384, i16 16425, i16 19, i16 17273, i16 -16384, i16 16425, i16 896, i16 17273, i16 -16384, i16 18042, i16 1628, i16 18015, i16 -16384, i16 16427, i16 25, i16 17273, i16 -16384, i16 16427, i16 16, i16 17273, i16 -16384, i16 16427, i16 897, i16 17273, i16 -16384, i16 16427, i16 18, i16 17273, i16 -16384, i16 16427, i16 23, i16 17273, i16 -16384, i16 17282, i16 15, i16 17273, i16 -16384, i16 17282, i16 24, i16 17273, i16 -16384, i16 17283, i16 896, i16 17273, i16 -16384, i16 17283, i16 897, i16 17273, i16 -16384, i16 17283, i16 23, i16 17273, i16 -16384, i16 16430, i16 897, i16 17273, i16 -16384, i16 16430, i16 24, i16 17273, i16 -16384, i16 17284, i16 14, i16 17273, i16 -16384, i16 17284, i16 897, i16 17273, i16 -16384, i16 17284, i16 15, i16 17273, i16 -16384, i16 17285, i16 897, i16 17273, i16 -16384, i16 16433, i16 22, i16 17273, i16 -16384, i16 18045, i16 1628, i16 18015, i16 -16384, i16 16434, i16 20, i16 17273, i16 -16384, i16 16434, i16 24, i16 17273, i16 -16384, i16 16434, i16 21, i16 17273, i16 -16384, i16 16437, i16 897, i16 17273, i16 -16384, i16 16437, i16 18, i16 17273, i16 -16384, i16 16437, i16 25, i16 17273, i16 -16384, i16 18048, i16 1628, i16 18015, i16 -16384, i16 16438, i16 25, i16 17273, i16 -16384, i16 16439, i16 20, i16 17273, i16 -16384, i16 16439, i16 896, i16 17273, i16 -16384, i16 16439, i16 21, i16 17273, i16 -16384, i16 16441, i16 14, i16 17273, i16 -16384, i16 16443, i16 18, i16 17273, i16 -16384, i16 16443, i16 23, i16 17273, i16 -16384, i16 16425, i16 16, i16 16393, i16 -16384, i16 16425, i16 17, i16 16393, i16 -16384, i16 16425, i16 897, i16 16393, i16 -16384, i16 16425, i16 22, i16 16393, i16 -16384, i16 16425, i16 20, i16 16393, i16 -16384, i16 16425, i16 19, i16 16393, i16 -16384, i16 16425, i16 896, i16 16393, i16 -16384, i16 18042, i16 1628, i16 18021, i16 -16384, i16 16427, i16 25, i16 16393, i16 -16384, i16 16427, i16 16, i16 16393, i16 -16384, i16 16427, i16 897, i16 16393, i16 -16384, i16 16427, i16 18, i16 16393, i16 -16384, i16 16427, i16 23, i16 16393, i16 -16384, i16 17282, i16 15, i16 16393, i16 -16384, i16 17282, i16 24, i16 16393, i16 -16384, i16 17283, i16 896, i16 16393, i16 -16384, i16 17283, i16 897, i16 16393, i16 -16384, i16 17283, i16 23, i16 16393, i16 -16384, i16 16430, i16 897, i16 16393, i16 -16384, i16 16430, i16 24, i16 16393, i16 -16384, i16 17284, i16 14, i16 16393, i16 -16384, i16 17284, i16 897, i16 16393, i16 -16384, i16 17284, i16 15, i16 16393, i16 -16384, i16 17285, i16 897, i16 16393, i16 -16384, i16 16433, i16 22, i16 16393, i16 -16384, i16 18045, i16 1628, i16 18021, i16 -16384, i16 16434, i16 20, i16 16393, i16 -16384, i16 16434, i16 24, i16 16393, i16 -16384, i16 16434, i16 21, i16 16393, i16 -16384, i16 16437, i16 897, i16 16393, i16 -16384, i16 16437, i16 18, i16 16393, i16 -16384, i16 16437, i16 25, i16 16393, i16 -16384, i16 16438, i16 25, i16 16393, i16 -16384, i16 16439, i16 20, i16 16393, i16 -16384, i16 16439, i16 896, i16 16393, i16 -16384, i16 16439, i16 21, i16 16393, i16 -16384, i16 16441, i16 14, i16 16393, i16 -16384, i16 16443, i16 18, i16 16393, i16 -16384, i16 16443, i16 23, i16 16393, i16 -16384, i16 16415, i16 16398, i16 17273, i16 -16384, i16 16415, i16 16399, i16 17273, i16 -16384, i16 16416, i16 16398, i16 17273, i16 -16384, i16 16416, i16 16399, i16 17273, i16 -16384, i16 16417, i16 16398, i16 17273, i16 -16384, i16 16417, i16 16399, i16 17273, i16 -16384, i16 16418, i16 16398, i16 17273, i16 -16384, i16 16418, i16 16399, i16 17273, i16 -16384, i16 16419, i16 16398, i16 17273, i16 -16384, i16 16419, i16 16399, i16 17273, i16 -16384, i16 16420, i16 16398, i16 17273, i16 -16384, i16 16420, i16 16399, i16 17273, i16 -16384, i16 16421, i16 16398, i16 17273, i16 -16384, i16 16421, i16 16399, i16 17273, i16 -16384, i16 16422, i16 16398, i16 17273, i16 -16384, i16 16422, i16 16399, i16 17273, i16 -16384, i16 16423, i16 16398, i16 17273, i16 -16384, i16 16423, i16 16399, i16 17273, i16 -16384, i16 16424, i16 16398, i16 17273, i16 -16384, i16 16424, i16 16399, i16 17273, i16 -16384, i16 17289, i16 16398, i16 17273, i16 -16384, i16 17290, i16 16397, i16 17273, i16 -16384, i16 17290, i16 17274, i16 17273, i16 -16384, i16 17290, i16 17276, i16 17273, i16 -16384, i16 17290, i16 16398, i16 17273, i16 -16384, i16 16447, i16 16398, i16 17273, i16 -16384, i16 16472, i16 16398, i16 17273, i16 -16384, i16 16473, i16 16398, i16 17273, i16 -16384, i16 17291, i16 16398, i16 17273, i16 -16384, i16 16479, i16 16398, i16 17273, i16 -16384, i16 16480, i16 17275, i16 17273, i16 -16384, i16 16481, i16 16398, i16 17273, i16 -16384, i16 18051, i16 18054, i16 18015, i16 -16384, i16 16481, i16 17277, i16 17273, i16 -16384, i16 905, i16 14, i16 3, i16 -16384, i16 906, i16 13, i16 3, i16 -16384, i16 906, i16 13, i16 4, i16 -16384, i16 906, i16 890, i16 3, i16 -16384, i16 906, i16 890, i16 4, i16 -16384, i16 906, i16 892, i16 3, i16 -16384, i16 906, i16 892, i16 4, i16 -16384, i16 906, i16 14, i16 3, i16 -16384, i16 906, i16 14, i16 4, i16 -16384, i16 63, i16 14, i16 3, i16 -16384, i16 63, i16 14, i16 4, i16 -16384, i16 88, i16 14, i16 3, i16 -16384, i16 88, i16 14, i16 4, i16 -16384, i16 88, i16 14, i16 5, i16 -16384, i16 88, i16 14, i16 6, i16 -16384, i16 89, i16 14, i16 3, i16 -16384, i16 89, i16 14, i16 4, i16 -16384, i16 89, i16 14, i16 5, i16 -16384, i16 89, i16 14, i16 6, i16 -16384, i16 907, i16 14, i16 3, i16 -16384, i16 907, i16 14, i16 4, i16 -16384, i16 907, i16 14, i16 5, i16 -16384, i16 907, i16 14, i16 6, i16 -16384, i16 95, i16 14, i16 3, i16 -16384, i16 95, i16 14, i16 4, i16 -16384, i16 96, i16 891, i16 3, i16 -16384, i16 96, i16 891, i16 4, i16 -16384, i16 97, i16 14, i16 3, i16 -16384, i16 97, i16 14, i16 4, i16 -16384, i16 97, i16 893, i16 3, i16 -16384, i16 97, i16 893, i16 4, i16 -16384, i16 97, i16 893, i16 5, i16 -16384, i16 97, i16 893, i16 6, i16 -16384, i16 1673, i16 1676, i16 1679, i16 -16384, i16 1673, i16 1676, i16 1682, i16 -16384, i16 1673, i16 1685, i16 1679, i16 -16384, i16 1673, i16 1685, i16 1682, i16 -16384, i16 1673, i16 1688, i16 1679, i16 -16384, i16 1673, i16 1688, i16 1682, i16 -16384, i16 1673, i16 1643, i16 1679, i16 -16384, i16 1673, i16 1643, i16 1682, i16 -16384, i16 17297, i16 16398, i16 17273, i16 -16384, i16 17298, i16 16398, i16 17273, i16 -16384, i16 17300, i16 16398, i16 17273, i16 -16384, i16 17301, i16 16398, i16 17273, i16 -16384, i16 17304, i16 16398, i16 17273, i16 -16384, i16 17306, i16 16398, i16 17273, i16 -16384, i16 17307, i16 16398, i16 17273, i16 -16384, i16 17312, i16 16398, i16 17273, i16 -16384, i16 17315, i16 16398, i16 17273, i16 -16384, i16 17321, i16 16398, i16 17273, i16 -16384, i16 17322, i16 16398, i16 17273, i16 -16384, i16 17324, i16 16398, i16 17273, i16 -16384, i16 17329, i16 16398, i16 17273, i16 -16384, i16 17333, i16 16398, i16 17273, i16 -16384, i16 17335, i16 16398, i16 17273, i16 -16384, i16 17297, i16 16398, i16 16393, i16 -16384, i16 17298, i16 16398, i16 16393, i16 -16384, i16 17300, i16 16398, i16 16393, i16 -16384, i16 17301, i16 16398, i16 16393, i16 -16384, i16 17304, i16 16398, i16 16393, i16 -16384, i16 17306, i16 16398, i16 16393, i16 -16384, i16 17307, i16 16398, i16 16393, i16 -16384, i16 17309, i16 16398, i16 16393, i16 -16384, i16 17312, i16 16398, i16 16393, i16 -16384, i16 17315, i16 16398, i16 16393, i16 -16384, i16 17321, i16 16398, i16 16393, i16 -16384, i16 17322, i16 16398, i16 16393, i16 -16384, i16 17324, i16 16398, i16 16393, i16 -16384, i16 17329, i16 16398, i16 16393, i16 -16384, i16 17333, i16 16398, i16 16393, i16 -16384, i16 17335, i16 16398, i16 16393, i16 -16384, i16 32767, i16 16384, i16 16384, i16 -16384, i16 18075, i16 18078, i16 16384, i16 -16384, i16 18081, i16 18078, i16 16384, i16 -16384, i16 18084, i16 18078, i16 16384, i16 -16384, i16 17541, i16 16407, i16 17273, i16 -16384, i16 17542, i16 16407, i16 17273, i16 -16384, i16 17543, i16 16407, i16 17273, i16 -16384, i16 17544, i16 16407, i16 17273, i16 -16384, i16 17545, i16 16407, i16 17273, i16 -16384, i16 17540, i16 16407, i16 17273, i16 -16384, i16 17555, i16 16399, i16 17273, i16 -16384, i16 17555, i16 16399, i16 16393, i16 -16384, i16 17556, i16 16399, i16 17273, i16 -16384, i16 17556, i16 16399, i16 16393, i16 -16384, i16 17561, i16 16398, i16 17273, i16 -16384, i16 17561, i16 16398, i16 16393, i16 -16384, i16 17564, i16 16399, i16 17273, i16 -16384, i16 17564, i16 16404, i16 17273, i16 -16384, i16 17564, i16 16399, i16 16393, i16 -16384, i16 17564, i16 16404, i16 16393, i16 -16384, i16 17284, i16 16398, i16 17273, i16 -16384, i16 17567, i16 16407, i16 17273, i16 -16384, i16 17284, i16 16398, i16 16393, i16 -16384, i16 17567, i16 16407, i16 16393, i16 -16384, i16 17568, i16 16399, i16 17273, i16 -16384, i16 17568, i16 16406, i16 17273, i16 -16384, i16 17568, i16 16399, i16 16393, i16 -16384, i16 17568, i16 16406, i16 16393, i16 -16384, i16 17569, i16 16404, i16 17273, i16 -16384, i16 17569, i16 16404, i16 16393, i16 -16384, i16 17565, i16 16409, i16 17273, i16 -16384, i16 17565, i16 16409, i16 16393, i16 -16384, i16 17566, i16 17280, i16 17273, i16 -16384, i16 17566, i16 17280, i16 16393, i16 -16384, i16 17570, i16 16409, i16 17273, i16 -16384, i16 17570, i16 16409, i16 16393, i16 -16384, i16 17571, i16 16404, i16 17273, i16 -16384, i16 17571, i16 16404, i16 16393, i16 -16384, i16 17572, i16 16399, i16 17273, i16 -16384, i16 17572, i16 16399, i16 16393, i16 -16384, i16 17573, i16 16399, i16 17273, i16 -16384, i16 17573, i16 16399, i16 16393, i16 -16384, i16 17574, i16 16399, i16 17273, i16 -16384, i16 17574, i16 16399, i16 16393, i16 -16384, i16 17575, i16 16399, i16 17273, i16 -16384, i16 17575, i16 16399, i16 16393, i16 -16384, i16 17576, i16 16399, i16 17273, i16 -16384, i16 17576, i16 16399, i16 16393, i16 -16384, i16 17577, i16 16399, i16 17273, i16 -16384, i16 17577, i16 16399, i16 16393, i16 -16384, i16 17578, i16 16399, i16 17273, i16 -16384, i16 17578, i16 16399, i16 16393, i16 -16384, i16 17579, i16 16399, i16 17273, i16 -16384, i16 17579, i16 16399, i16 16393, i16 -16384, i16 17602, i16 16407, i16 17273, i16 -16384, i16 17602, i16 16407, i16 17600, i16 -16384, i16 17602, i16 16407, i16 16393, i16 -16384, i16 17602, i16 16407, i16 17601, i16 -16384, i16 32766, i16 16384, i16 16384, i16 16384, i16 17619, i16 16399, i16 17273, i16 -16384, i16 17619, i16 16399, i16 16393, i16 -16384, i16 17620, i16 16399, i16 17273, i16 -16384, i16 17620, i16 16399, i16 16393, i16 -16384, i16 17621, i16 16399, i16 17273, i16 -16384, i16 17621, i16 16399, i16 16393, i16 -16384, i16 17622, i16 16399, i16 17273, i16 -16384, i16 17622, i16 16399, i16 16393, i16 -16384, i16 17623, i16 16399, i16 17273, i16 -16384, i16 17623, i16 16399, i16 16393, i16 -16384, i16 17635, i16 16404, i16 17273, i16 -16384, i16 17634, i16 16403, i16 17273, i16 -16384, i16 17635, i16 17279, i16 17273, i16 -16384, i16 17636, i16 16404, i16 17273, i16 -16384, i16 17637, i16 16408, i16 17273, i16 -16384, i16 17635, i16 16404, i16 16393, i16 -16384, i16 17634, i16 16403, i16 16393, i16 -16384, i16 17635, i16 17279, i16 16393, i16 -16384, i16 17636, i16 16404, i16 16393, i16 -16384, i16 17637, i16 16408, i16 16393, i16 -16384, i16 16440, i16 16398, i16 16393, i16 -16327, i16 16440, i16 16398, i16 17273, i16 -16327, i16 16442, i16 16404, i16 17273, i16 -16384, i16 16442, i16 16404, i16 16393, i16 -16384, i16 17638, i16 16407, i16 17273, i16 -16384, i16 17639, i16 16407, i16 17273, i16 -16384, i16 17638, i16 16407, i16 16393, i16 -16384, i16 17639, i16 16407, i16 16393, i16 -16384, i16 17640, i16 16407, i16 17273, i16 -16384, i16 17640, i16 16407, i16 17600, i16 -16384, i16 17641, i16 16407, i16 17273, i16 -16384, i16 17640, i16 16407, i16 16393, i16 -16384, i16 17640, i16 16407, i16 17601, i16 -16384, i16 17641, i16 16407, i16 16393, i16 -16384, i16 17642, i16 16407, i16 17273, i16 -16384, i16 17642, i16 16407, i16 17600, i16 -16384, i16 17642, i16 16407, i16 16393, i16 -16384, i16 17642, i16 16407, i16 17601, i16 -16384, i16 17643, i16 16407, i16 17273, i16 -16384, i16 17643, i16 16407, i16 17600, i16 -16384, i16 17643, i16 16407, i16 16393, i16 -16384, i16 17643, i16 16407, i16 17601, i16 -16384, i16 17644, i16 16407, i16 17273, i16 -16384, i16 17644, i16 16407, i16 16393, i16 -16384, i16 17645, i16 16407, i16 17273, i16 -16384, i16 17645, i16 16407, i16 16393, i16 -16384, i16 17658, i16 16401, i16 17273, i16 -16384, i16 17660, i16 16400, i16 17273, i16 -16384, i16 17661, i16 17281, i16 17273, i16 -16384, i16 17659, i16 16406, i16 17273, i16 -16384, i16 17658, i16 16401, i16 16393, i16 -16384, i16 17660, i16 16400, i16 16393, i16 -16384, i16 17661, i16 17281, i16 16393, i16 -16384, i16 17659, i16 16406, i16 16393, i16 -16384, i16 17662, i16 16409, i16 17273, i16 -16384, i16 17639, i16 16402, i16 17273, i16 -16384, i16 17662, i16 16409, i16 16393, i16 -16384, i16 17639, i16 16402, i16 16393, i16 -16384, i16 17663, i16 16398, i16 17273, i16 -16384, i16 17664, i16 16402, i16 17273, i16 -16384, i16 17664, i16 16402, i16 16393, i16 -16384, i16 17666, i16 16399, i16 17273, i16 -16384, i16 17665, i16 16408, i16 17273, i16 -16384, i16 17666, i16 16399, i16 16393, i16 -16384, i16 17665, i16 16408, i16 16393, i16 -16384, i16 17668, i16 16402, i16 17273, i16 -16384, i16 17669, i16 16408, i16 17273, i16 -16384, i16 17671, i16 18078, i16 18015, i16 -16384, i16 17644, i16 16402, i16 17273, i16 -16384, i16 17644, i16 16402, i16 16393, i16 -16384, i16 17673, i16 16404, i16 17273, i16 -16384, i16 17672, i16 17279, i16 17273, i16 -16384, i16 17673, i16 16404, i16 16393, i16 -16384, i16 17672, i16 17279, i16 16393, i16 -16384, i16 17667, i16 16398, i16 17273, i16 -16384, i16 17670, i16 16402, i16 17273, i16 -16384, i16 17670, i16 16402, i16 16393, i16 -16384, i16 17685, i16 17281, i16 17273, i16 -16384, i16 17686, i16 17280, i16 17273, i16 -16384, i16 17685, i16 17281, i16 16393, i16 -16384, i16 17686, i16 17280, i16 16393, i16 -16384, i16 17688, i16 16409, i16 17273, i16 -16384, i16 17688, i16 16409, i16 16393, i16 -16384, i16 17687, i16 17281, i16 17273, i16 -16384, i16 17687, i16 17281, i16 16393, i16 -16384, i16 17695, i16 16399, i16 17273, i16 -16384, i16 17695, i16 16399, i16 17600, i16 -16384, i16 17695, i16 16399, i16 16393, i16 -16384, i16 17695, i16 16399, i16 17601, i16 -16384, i16 17697, i16 16399, i16 17273, i16 -16384, i16 17697, i16 16399, i16 17600, i16 -16384, i16 17697, i16 16399, i16 16393, i16 -16384, i16 17697, i16 16399, i16 17601, i16 -16384, i16 17693, i16 16407, i16 17273, i16 -16384, i16 17693, i16 16407, i16 16393, i16 -16384, i16 17694, i16 16407, i16 17273, i16 -16384, i16 17694, i16 16407, i16 16393, i16 -16384, i16 17696, i16 16408, i16 17273, i16 -16384, i16 17696, i16 16408, i16 16393, i16 -16384, i16 17698, i16 16407, i16 17273, i16 -16384, i16 17698, i16 16407, i16 16393, i16 -16384, i16 17707, i16 16407, i16 17273, i16 -16384, i16 17707, i16 16407, i16 17600, i16 -16384, i16 17707, i16 16407, i16 16393, i16 -16384, i16 17707, i16 16407, i16 17601, i16 -16384, i16 17708, i16 16407, i16 17273, i16 -16384, i16 17708, i16 16407, i16 17600, i16 -16384, i16 17708, i16 16407, i16 16393, i16 -16384, i16 17708, i16 16407, i16 17601, i16 -16384, i16 32766, i16 16398, i16 17273, i16 -16384, i16 32766, i16 16398, i16 16393, i16 -16384, i16 17803, i16 16404, i16 17273, i16 -16384, i16 17803, i16 16405, i16 17273, i16 -16384, i16 17803, i16 16404, i16 16393, i16 -16384, i16 17803, i16 16405, i16 16393, i16 -16384, i16 17806, i16 16404, i16 17273, i16 -16384, i16 17806, i16 16405, i16 17273, i16 -16384, i16 17806, i16 16404, i16 16393, i16 -16384, i16 17806, i16 16405, i16 16393, i16 -16384, i16 17797, i16 16398, i16 16393, i16 -16384, i16 17797, i16 16398, i16 17601, i16 -16384, i16 18087, i16 18054, i16 18021, i16 -16384, i16 18087, i16 18054, i16 18090, i16 -16384, i16 18087, i16 18054, i16 18093, i16 -16384, i16 18087, i16 18054, i16 18096, i16 -16384, i16 17797, i16 16398, i16 17600, i16 -16384, i16 17797, i16 16398, i16 17273, i16 -16384, i16 18087, i16 18054, i16 18099, i16 -16384, i16 18087, i16 18054, i16 18102, i16 -16384, i16 18087, i16 18054, i16 18105, i16 -16384, i16 18087, i16 18054, i16 18015, i16 -16384, i16 17798, i16 16398, i16 16393, i16 -16384, i16 17798, i16 16398, i16 17601, i16 -16384, i16 18108, i16 18054, i16 18021, i16 -16384, i16 18108, i16 18054, i16 18090, i16 -16384, i16 18108, i16 18054, i16 18093, i16 -16384, i16 18108, i16 18054, i16 18096, i16 -16384, i16 17798, i16 16398, i16 17600, i16 -16384, i16 17798, i16 16398, i16 17273, i16 -16384, i16 18108, i16 18054, i16 18099, i16 -16384, i16 18108, i16 18054, i16 18102, i16 -16384, i16 18108, i16 18054, i16 18105, i16 -16384, i16 18108, i16 18054, i16 18015, i16 -16384, i16 17799, i16 16398, i16 17796, i16 -16384, i16 17799, i16 16398, i16 17795, i16 -16384, i16 17799, i16 16398, i16 17794, i16 -16384, i16 17799, i16 16398, i16 17793, i16 -16384, i16 18111, i16 18054, i16 18114, i16 -16384, i16 18111, i16 18054, i16 18117, i16 -16384, i16 18111, i16 18054, i16 18120, i16 -16384, i16 18111, i16 18054, i16 18123, i16 -16384, i16 17799, i16 16398, i16 17792, i16 -16384, i16 17799, i16 16398, i16 17791, i16 -16384, i16 17799, i16 16398, i16 17790, i16 -16384, i16 17799, i16 16398, i16 17789, i16 -16384, i16 18111, i16 18054, i16 18126, i16 -16384, i16 18111, i16 18054, i16 18129, i16 -16384, i16 18111, i16 18054, i16 18132, i16 -16384, i16 18111, i16 18054, i16 18135, i16 -16384, i16 17800, i16 16398, i16 16393, i16 -16384, i16 17800, i16 16398, i16 17601, i16 -16384, i16 18138, i16 18054, i16 18021, i16 -16384, i16 18138, i16 18054, i16 18090, i16 -16384, i16 18138, i16 18054, i16 18093, i16 -16384, i16 18138, i16 18054, i16 18096, i16 -16384, i16 17800, i16 16398, i16 17273, i16 -16384, i16 17800, i16 16398, i16 17600, i16 -16384, i16 18138, i16 18054, i16 18099, i16 -16384, i16 18138, i16 18054, i16 18102, i16 -16384, i16 18138, i16 18054, i16 18105, i16 -16384, i16 18138, i16 18054, i16 18015, i16 -16384, i16 17801, i16 16398, i16 16393, i16 -16384, i16 17801, i16 16398, i16 17601, i16 -16384, i16 18141, i16 18054, i16 18021, i16 -16384, i16 18141, i16 18054, i16 18090, i16 -16384, i16 18141, i16 18054, i16 18093, i16 -16384, i16 18141, i16 18054, i16 18096, i16 -16384, i16 17801, i16 16398, i16 17273, i16 -16384, i16 17801, i16 16398, i16 17600, i16 -16384, i16 18141, i16 18054, i16 18099, i16 -16384, i16 18141, i16 18054, i16 18102, i16 -16384, i16 18141, i16 18054, i16 18105, i16 -16384, i16 18141, i16 18054, i16 18015, i16 -16384, i16 17802, i16 16398, i16 16393, i16 -16384, i16 17802, i16 16398, i16 17601, i16 -16384, i16 18144, i16 18054, i16 18021, i16 -16384, i16 18144, i16 18054, i16 18090, i16 -16384, i16 18144, i16 18054, i16 18093, i16 -16384, i16 18144, i16 18054, i16 18096, i16 -16384, i16 17802, i16 16398, i16 17273, i16 -16384, i16 17802, i16 16398, i16 17600, i16 -16384, i16 18144, i16 18054, i16 18099, i16 -16384, i16 18144, i16 18054, i16 18102, i16 -16384, i16 18144, i16 18054, i16 18105, i16 -16384, i16 18144, i16 18054, i16 18015, i16 -16384, i16 17804, i16 16398, i16 16393, i16 -16384, i16 17804, i16 16398, i16 17601, i16 -16384, i16 18147, i16 18054, i16 18021, i16 -16384, i16 18147, i16 18054, i16 18090, i16 -16384, i16 18147, i16 18054, i16 18093, i16 -16384, i16 18147, i16 18054, i16 18096, i16 -16384, i16 17804, i16 16398, i16 17600, i16 -16384, i16 17804, i16 16398, i16 17273, i16 -16384, i16 18147, i16 18054, i16 18099, i16 -16384, i16 18147, i16 18054, i16 18102, i16 -16384, i16 18147, i16 18054, i16 18105, i16 -16384, i16 18147, i16 18054, i16 18015, i16 -16384, i16 17805, i16 16398, i16 16393, i16 -16384, i16 17805, i16 16398, i16 17601, i16 -16384, i16 18150, i16 18054, i16 18021, i16 -16384, i16 18150, i16 18054, i16 18090, i16 -16384, i16 18150, i16 18054, i16 18093, i16 -16384, i16 18150, i16 18054, i16 18096, i16 -16384, i16 17805, i16 16398, i16 17600, i16 -16384, i16 17805, i16 16398, i16 17273, i16 -16384, i16 18150, i16 18054, i16 18099, i16 -16384, i16 18150, i16 18054, i16 18102, i16 -16384, i16 18150, i16 18054, i16 18105, i16 -16384, i16 18150, i16 18054, i16 18015, i16 -16384, i16 17807, i16 16398, i16 16393, i16 -16384, i16 17807, i16 16398, i16 17601, i16 -16384, i16 18153, i16 18054, i16 18021, i16 -16384, i16 18153, i16 18054, i16 18090, i16 -16384, i16 18153, i16 18054, i16 18093, i16 -16384, i16 18153, i16 18054, i16 18096, i16 -16384, i16 17807, i16 16398, i16 17600, i16 -16384, i16 17807, i16 16398, i16 17273, i16 -16384, i16 18153, i16 18054, i16 18099, i16 -16384, i16 18153, i16 18054, i16 18102, i16 -16384, i16 18153, i16 18054, i16 18105, i16 -16384, i16 18153, i16 18054, i16 18015, i16 -16384, i16 16384, i16 16384, i16 16384, i16 -2, i16 17934, i16 16398, i16 17273, i16 -16384, i16 17290, i16 17928, i16 17273, i16 -16384, i16 17289, i16 17274, i16 17273, i16 -16384, i16 17289, i16 17276, i16 17273, i16 -16384, i16 17289, i16 17275, i16 17273, i16 -16384, i16 17289, i16 17929, i16 17273, i16 -16384, i16 17289, i16 17929, i16 17932, i16 -16384, i16 17289, i16 17929, i16 17933, i16 -16384, i16 16472, i16 16399, i16 17273, i16 -16384, i16 17291, i16 17931, i16 17273, i16 -16384, i16 17291, i16 17274, i16 17273, i16 -16384, i16 17935, i16 16398, i16 17273, i16 -16384, i16 17935, i16 17930, i16 17273, i16 -16384, i16 17935, i16 17277, i16 17273, i16 -16384, i16 17934, i16 16398, i16 16387, i16 -16384, i16 17934, i16 16398, i16 16388, i16 -16384, i16 17290, i16 16398, i16 16387, i16 -16384, i16 17290, i16 16398, i16 16388, i16 -16384, i16 17290, i16 17928, i16 16387, i16 -16384, i16 17290, i16 17928, i16 16388, i16 -16384, i16 17289, i16 16398, i16 16387, i16 -16384, i16 17289, i16 17274, i16 16387, i16 -16384, i16 17289, i16 17274, i16 16388, i16 -16384, i16 17289, i16 17276, i16 16387, i16 -16384, i16 17289, i16 17276, i16 16388, i16 -16384, i16 17289, i16 17275, i16 16387, i16 -16384, i16 17289, i16 17275, i16 16388, i16 -16384, i16 17289, i16 17929, i16 16387, i16 -16384, i16 17289, i16 17929, i16 16388, i16 -16384, i16 16472, i16 16398, i16 16387, i16 -16384, i16 16472, i16 16398, i16 16388, i16 -16384, i16 16472, i16 16398, i16 16389, i16 -16384, i16 16472, i16 16398, i16 16390, i16 -16384, i16 16472, i16 16399, i16 16387, i16 -16384, i16 16472, i16 16399, i16 16388, i16 -16384, i16 16472, i16 16399, i16 16389, i16 -16384, i16 16472, i16 16399, i16 16390, i16 -16384, i16 17291, i16 16398, i16 16387, i16 -16384, i16 17291, i16 16398, i16 16388, i16 -16384, i16 17291, i16 16398, i16 16389, i16 -16384, i16 17291, i16 16398, i16 16390, i16 -16384, i16 17291, i16 17931, i16 16387, i16 -16384, i16 17291, i16 17931, i16 16388, i16 -16384, i16 17291, i16 17274, i16 16387, i16 -16384, i16 17291, i16 17274, i16 16388, i16 -16384, i16 17935, i16 16398, i16 16387, i16 -16384, i16 17935, i16 16398, i16 16388, i16 -16384, i16 17935, i16 16398, i16 16389, i16 -16384, i16 17935, i16 16398, i16 16390, i16 -16384, i16 17935, i16 17930, i16 16387, i16 -16384, i16 17935, i16 17930, i16 16388, i16 -16384, i16 17935, i16 17277, i16 16387, i16 -16384, i16 17935, i16 17277, i16 16388, i16 -16384, i16 17935, i16 17277, i16 16389, i16 -16384, i16 17935, i16 17277, i16 16390, i16 -16384, i16 18156, i16 18054, i16 18159, i16 -16384, i16 18156, i16 18054, i16 18162, i16 -16384, i16 18165, i16 18168, i16 18159, i16 -16384, i16 18165, i16 18168, i16 18162, i16 -16384, i16 18165, i16 18171, i16 18159, i16 -16384, i16 18165, i16 18171, i16 18162, i16 -16384, i16 18174, i16 18054, i16 18159, i16 -16384, i16 18174, i16 18054, i16 18162, i16 -16384, i16 18177, i16 18182, i16 18187, i16 -16384, i16 17958, i16 17281, i16 16393, i16 -16384, i16 17958, i16 17281, i16 17273, i16 -16384, i16 17959, i16 17281, i16 16393, i16 -16384, i16 17959, i16 17281, i16 17273, i16 -16384, i16 17960, i16 17281, i16 16393, i16 -16384, i16 17960, i16 17281, i16 17273, i16 -16384, i16 17961, i16 17281, i16 16393, i16 -16384, i16 17961, i16 17281, i16 17273, i16 -16384, i16 17962, i16 17281, i16 16393, i16 -16384, i16 17962, i16 17281, i16 17273, i16 -16384, i16 17963, i16 17280, i16 16393, i16 -16384, i16 17963, i16 17280, i16 17273, i16 -16384, i16 17964, i16 16407, i16 17273, i16 -16384, i16 17964, i16 16407, i16 17600, i16 -16384, i16 17964, i16 16407, i16 16393, i16 -16384, i16 17964, i16 16407, i16 17601, i16 -16384, i16 17965, i16 16407, i16 17273, i16 -16384, i16 17965, i16 16407, i16 17600, i16 -16384, i16 17965, i16 16407, i16 16393, i16 -16384, i16 17965, i16 16407, i16 17601, i16 -16384, i16 17966, i16 16407, i16 17273, i16 -16384, i16 17966, i16 16407, i16 17600, i16 -16384, i16 17966, i16 16407, i16 16393, i16 -16384, i16 17966, i16 16407, i16 17601, i16 -16384, i16 17967, i16 16407, i16 17273, i16 -16384, i16 17967, i16 16407, i16 17600, i16 -16384, i16 17967, i16 16407, i16 16393, i16 -16384, i16 17967, i16 16407, i16 17601, i16 -16384, i16 17968, i16 16407, i16 17273, i16 -16384, i16 17968, i16 16407, i16 17600, i16 -16384, i16 17968, i16 16407, i16 16393, i16 -16384, i16 17968, i16 16407, i16 17601, i16 -16384, i16 17969, i16 16407, i16 17273, i16 -16384, i16 17969, i16 16407, i16 17600, i16 -16384, i16 17969, i16 16407, i16 16393, i16 -16384, i16 17969, i16 16407, i16 17601, i16 -16384, i16 17970, i16 16407, i16 17273, i16 -16384, i16 17970, i16 16407, i16 17600, i16 -16384, i16 17970, i16 16407, i16 16393, i16 -16384, i16 17970, i16 16407, i16 17601, i16 -16384, i16 17971, i16 16407, i16 17273, i16 -16384, i16 17971, i16 16407, i16 17600, i16 -16384, i16 17971, i16 16407, i16 16393, i16 -16384, i16 17971, i16 16407, i16 17601, i16 -16384, i16 18000, i16 16407, i16 17273, i16 -16384, i16 18000, i16 16407, i16 17600, i16 -16384, i16 18001, i16 16407, i16 17273, i16 -16384, i16 18001, i16 16407, i16 17600, i16 -16384, i16 18000, i16 16407, i16 16393, i16 -16384, i16 18000, i16 16407, i16 17601, i16 -16384, i16 18001, i16 16407, i16 16393, i16 -16384, i16 18001, i16 16407, i16 17601, i16 -16384, i16 18192, i16 18078, i16 18015, i16 -16384, i16 18192, i16 18195, i16 18015, i16 -16384, i16 18198, i16 18078, i16 18015, i16 -16384, i16 17299, i16 17300, i16 17273, i16 -16384, i16 17299, i16 17301, i16 17273, i16 -16384, i16 17299, i16 17335, i16 17273, i16 -16384, i16 17305, i16 17306, i16 17273, i16 -16384, i16 17305, i16 17307, i16 17273, i16 -16384, i16 17305, i16 17333, i16 17273, i16 -16384, i16 18192, i16 18078, i16 18021, i16 -16384, i16 18192, i16 18195, i16 18021, i16 -16384, i16 18198, i16 18078, i16 18021, i16 -16384, i16 17299, i16 17300, i16 16393, i16 -16384, i16 17299, i16 17301, i16 16393, i16 -16384, i16 17299, i16 17335, i16 16393, i16 -16384, i16 17305, i16 17306, i16 16393, i16 -16384, i16 17305, i16 17307, i16 16393, i16 -16384, i16 17305, i16 17333, i16 16393, i16 -16384, i16 17295, i16 17297, i16 17273, i16 -16384, i16 17310, i16 17321, i16 17273, i16 -16384, i16 18201, i16 18078, i16 18015, i16 -16384, i16 18204, i16 18078, i16 18015, i16 -16384, i16 17323, i16 17324, i16 17273, i16 -16384, i16 17328, i16 17322, i16 17273, i16 -16384, i16 17295, i16 17297, i16 16393, i16 -16384, i16 17308, i16 17309, i16 16393, i16 -16384, i16 17310, i16 17321, i16 16393, i16 -16384, i16 18201, i16 18078, i16 18021, i16 -16384, i16 18204, i16 18078, i16 18021, i16 -16384, i16 17323, i16 17324, i16 16393, i16 -16384, i16 17328, i16 17322, i16 16393, i16 -16384, i16 18006, i16 16404, i16 17273, i16 -16384, i16 18006, i16 16404, i16 16393, i16 -16384, i16 32766, i16 16382, i16 32766, i16 -16386, i16 32766, i16 16382, i16 32766, i16 -32768, i16 16384, i16 0, i16 16384, i16 -16386, i16 32766, i16 2, i16 16385, i16 -32768, i16 17065, i16 2, i16 18080, i16 -32768, i16 17065, i16 2, i16 32766, i16 -32768, i16 17065, i16 5, i16 16385, i16 -32768, i16 17065, i16 5, i16 18080, i16 -32768, i16 17065, i16 6, i16 16385, i16 -32768, i16 17065, i16 6, i16 18080, i16 -32768, i16 17065, i16 7, i16 16385, i16 -32768, i16 17065, i16 7, i16 18080, i16 -32768, i16 17065, i16 8, i16 16385, i16 -32768, i16 17065, i16 8, i16 18080, i16 -32768, i16 17065, i16 9, i16 16385, i16 -32768, i16 17065, i16 9, i16 18080, i16 -32768, i16 17065, i16 11, i16 16385, i16 -32768, i16 17065, i16 11, i16 18080, i16 -32768, i16 17065, i16 12, i16 16385, i16 -32768, i16 17065, i16 12, i16 18080, i16 -32768, i16 17065, i16 13, i16 16385, i16 -32768, i16 17065, i16 13, i16 18080, i16 -32768, i16 17065, i16 15, i16 16385, i16 -32768, i16 17065, i16 15, i16 18080, i16 -32768, i16 17065, i16 16, i16 16385, i16 -32768, i16 17065, i16 16, i16 18080, i16 -32768, i16 17065, i16 17, i16 16385, i16 -32768, i16 17065, i16 17, i16 18080, i16 -32768, i16 17065, i16 18, i16 16385, i16 -32768, i16 17065, i16 18, i16 18080, i16 -32768, i16 17065, i16 19, i16 16385, i16 -32768, i16 17065, i16 19, i16 18080, i16 -32768, i16 17065, i16 20, i16 16385, i16 -32768, i16 17065, i16 20, i16 18080, i16 -32768, i16 17065, i16 21, i16 16385, i16 -32768, i16 17065, i16 21, i16 18080, i16 -32768, i16 17065, i16 22, i16 16385, i16 -32768, i16 17065, i16 22, i16 18080, i16 -32768, i16 17065, i16 27, i16 16385, i16 -32768, i16 17065, i16 27, i16 18080, i16 -32768, i16 17065, i16 29, i16 16385, i16 -32768, i16 17065, i16 29, i16 18080, i16 -32768, i16 17065, i16 34, i16 16385, i16 -32768, i16 17065, i16 34, i16 18080, i16 -32768, i16 17065, i16 35, i16 16385, i16 -32768, i16 17065, i16 35, i16 18080, i16 -32768, i16 17065, i16 40, i16 16385, i16 -32768, i16 17065, i16 40, i16 18080, i16 -32768, i16 17065, i16 55, i16 16385, i16 -32768, i16 17065, i16 55, i16 18080, i16 -32768, i16 17113, i16 2, i16 18080, i16 -32768, i16 17113, i16 39, i16 16385, i16 -32768, i16 17113, i16 39, i16 18080, i16 -32768, i16 17113, i16 40, i16 16385, i16 -32768, i16 17113, i16 40, i16 18080, i16 -32768, i16 17113, i16 58, i16 16385, i16 -32768, i16 17113, i16 58, i16 18080, i16 -32768, i16 17122, i16 2, i16 18080, i16 -32768, i16 17122, i16 16, i16 16385, i16 -32768, i16 17122, i16 16, i16 18080, i16 -32768, i16 17122, i16 34, i16 16385, i16 -32768, i16 17122, i16 34, i16 18080, i16 -32768, i16 17122, i16 39, i16 16385, i16 -32768, i16 17122, i16 39, i16 18080, i16 -32768, i16 17122, i16 45, i16 16385, i16 -32768, i16 17122, i16 45, i16 18080, i16 -32768, i16 17133, i16 2, i16 18080, i16 -32768, i16 17133, i16 22, i16 16385, i16 -32768, i16 17133, i16 22, i16 18080, i16 -32768, i16 17133, i16 39, i16 16385, i16 -32768, i16 17133, i16 39, i16 18080, i16 -32768, i16 17133, i16 40, i16 16385, i16 -32768, i16 17133, i16 40, i16 18080, i16 -32768, i16 17133, i16 44, i16 16385, i16 -32768, i16 17133, i16 44, i16 18080, i16 -32768, i16 17133, i16 57, i16 16385, i16 -32768, i16 17133, i16 57, i16 18080, i16 -32768, i16 17133, i16 58, i16 16385, i16 -32768, i16 17133, i16 58, i16 18080, i16 -32768, i16 17148, i16 2, i16 18080, i16 -32768, i16 17148, i16 5, i16 16385, i16 -32768, i16 17148, i16 5, i16 18080, i16 -32768, i16 17148, i16 6, i16 16385, i16 -32768, i16 17148, i16 6, i16 18080, i16 -32768, i16 17148, i16 7, i16 16385, i16 -32768, i16 17148, i16 7, i16 18080, i16 -32768, i16 17148, i16 15, i16 16385, i16 -32768, i16 17148, i16 15, i16 18080, i16 -32768, i16 17148, i16 16, i16 16385, i16 -32768, i16 17148, i16 16, i16 18080, i16 -32768, i16 17148, i16 17, i16 16385, i16 -32768, i16 17148, i16 17, i16 18080, i16 -32768, i16 17148, i16 18, i16 16385, i16 -32768, i16 17148, i16 18, i16 18080, i16 -32768, i16 17148, i16 19, i16 16385, i16 -32768, i16 17148, i16 19, i16 18080, i16 -32768, i16 17148, i16 20, i16 16385, i16 -32768, i16 17148, i16 20, i16 18080, i16 -32768, i16 17148, i16 21, i16 16385, i16 -32768, i16 17148, i16 21, i16 18080, i16 -32768, i16 17148, i16 22, i16 16385, i16 -32768, i16 17148, i16 22, i16 18080, i16 -32768, i16 17148, i16 28, i16 16385, i16 -32768, i16 17148, i16 28, i16 18080, i16 -32768, i16 17148, i16 34, i16 16385, i16 -32768, i16 17148, i16 34, i16 18080, i16 -32768, i16 17148, i16 35, i16 16385, i16 -32768, i16 17148, i16 35, i16 18080, i16 -32768, i16 17148, i16 38, i16 16385, i16 -32768, i16 17148, i16 38, i16 18080, i16 -32768, i16 17148, i16 39, i16 16385, i16 -32768, i16 17148, i16 39, i16 18080, i16 -32768, i16 17148, i16 40, i16 16385, i16 -32768, i16 17148, i16 40, i16 18080, i16 -32768, i16 17148, i16 47, i16 16385, i16 -32768, i16 17148, i16 47, i16 18080, i16 -32768, i16 17148, i16 51, i16 16385, i16 -32768, i16 17148, i16 51, i16 18080, i16 -32768, i16 17148, i16 52, i16 16385, i16 -32768, i16 17148, i16 52, i16 18080, i16 -32768, i16 17148, i16 57, i16 16385, i16 -32768, i16 17148, i16 57, i16 18080, i16 -32768, i16 17193, i16 2, i16 18080, i16 -32768, i16 17193, i16 34, i16 16385, i16 -32768, i16 17193, i16 34, i16 18080, i16 -32768, i16 17193, i16 39, i16 16385, i16 -32768, i16 17193, i16 39, i16 18080, i16 -32768, i16 18531, i16 2150, i16 18537, i16 -32768, i16 18540, i16 2150, i16 18543, i16 -32768, i16 18546, i16 2150, i16 18549, i16 -32768, i16 18552, i16 2172, i16 18560, i16 -32768, i16 18564, i16 2172, i16 18568, i16 -32768, i16 17205, i16 2, i16 18080, i16 -32768, i16 17205, i16 3, i16 16385, i16 -32768, i16 17205, i16 3, i16 18080, i16 -32768, i16 17205, i16 16, i16 16385, i16 -32768, i16 17205, i16 16, i16 18080, i16 -32768, i16 17205, i16 22, i16 16385, i16 -32768, i16 17205, i16 22, i16 18080, i16 -32768, i16 17205, i16 39, i16 16385, i16 -32768, i16 17205, i16 39, i16 18080, i16 -32768, i16 17205, i16 42, i16 16385, i16 -32768, i16 17205, i16 42, i16 18080, i16 -32768, i16 17205, i16 50, i16 16385, i16 -32768, i16 17205, i16 50, i16 18080, i16 -32768, i16 17220, i16 2, i16 18080, i16 -32768, i16 17220, i16 14, i16 16385, i16 -32768, i16 17220, i16 14, i16 18080, i16 -32768, i16 17220, i16 16, i16 16385, i16 -32768, i16 17220, i16 16, i16 18080, i16 -32768, i16 17220, i16 28, i16 16385, i16 -32768, i16 17220, i16 28, i16 18080, i16 -32768, i16 17220, i16 39, i16 16385, i16 -32768, i16 17220, i16 39, i16 18080, i16 -32768, i16 17220, i16 40, i16 16385, i16 -32768, i16 17220, i16 40, i16 18080, i16 -32768, i16 17220, i16 42, i16 16385, i16 -32768, i16 17220, i16 42, i16 18080, i16 -32768, i16 17220, i16 44, i16 16385, i16 -32768, i16 17220, i16 44, i16 18080, i16 -32768, i16 18178, i16 2, i16 18080, i16 -32768, i16 18178, i16 5, i16 16385, i16 -32768, i16 18178, i16 5, i16 18080, i16 -32768, i16 18178, i16 6, i16 16385, i16 -32768, i16 18178, i16 6, i16 18080, i16 -32768, i16 18178, i16 7, i16 16385, i16 -32768, i16 18178, i16 7, i16 18080, i16 -32768, i16 18178, i16 15, i16 16385, i16 -32768, i16 18178, i16 15, i16 18080, i16 -32768, i16 18178, i16 16, i16 16385, i16 -32768, i16 18178, i16 16, i16 18080, i16 -32768, i16 18178, i16 22, i16 16385, i16 -32768, i16 18178, i16 22, i16 18080, i16 -32768, i16 18178, i16 28, i16 16385, i16 -32768, i16 18178, i16 28, i16 18080, i16 -32768, i16 18178, i16 30, i16 16385, i16 -32768, i16 18178, i16 30, i16 18080, i16 -32768, i16 18178, i16 34, i16 16385, i16 -32768, i16 18178, i16 34, i16 18080, i16 -32768, i16 18178, i16 35, i16 16385, i16 -32768, i16 18178, i16 35, i16 18080, i16 -32768, i16 18178, i16 38, i16 16385, i16 -32768, i16 18178, i16 38, i16 18080, i16 -32768, i16 18178, i16 40, i16 16385, i16 -32768, i16 18178, i16 40, i16 18080, i16 -32768, i16 18178, i16 48, i16 16385, i16 -32768, i16 18178, i16 48, i16 18080, i16 -32768, i16 18572, i16 2191, i16 18578, i16 -32768, i16 18572, i16 2191, i16 18581, i16 -32768, i16 17267, i16 2, i16 18080, i16 -32768, i16 17267, i16 16, i16 16385, i16 -32768, i16 17267, i16 16, i16 18080, i16 -32768, i16 17272, i16 2, i16 18080, i16 -32768, i16 17272, i16 3, i16 16385, i16 -32768, i16 17272, i16 3, i16 18080, i16 -32768, i16 17272, i16 22, i16 16385, i16 -32768, i16 17272, i16 22, i16 18080, i16 -32768, i16 17272, i16 34, i16 16385, i16 -32768, i16 17272, i16 34, i16 18080, i16 -32768, i16 17272, i16 40, i16 16385, i16 -32768, i16 17272, i16 40, i16 18080, i16 -32768, i16 17272, i16 58, i16 16385, i16 -32768, i16 17272, i16 58, i16 18080, i16 -32768, i16 17285, i16 2, i16 18080, i16 -32768, i16 17285, i16 3, i16 16385, i16 -32768, i16 17285, i16 3, i16 18080, i16 -32768, i16 17285, i16 22, i16 16385, i16 -32768, i16 17285, i16 22, i16 18080, i16 -32768, i16 17285, i16 39, i16 16385, i16 -32768, i16 17285, i16 39, i16 18080, i16 -32768, i16 17285, i16 40, i16 16385, i16 -32768, i16 17285, i16 40, i16 18080, i16 -32768, i16 17285, i16 56, i16 16385, i16 -32768, i16 17285, i16 56, i16 18080, i16 -32768, i16 17285, i16 57, i16 16385, i16 -32768, i16 17285, i16 57, i16 18080, i16 -32768, i16 17285, i16 58, i16 16385, i16 -32768, i16 17285, i16 58, i16 18080, i16 -32768, i16 17302, i16 2, i16 18080, i16 -32768, i16 17302, i16 3, i16 16385, i16 -32768, i16 17302, i16 3, i16 18080, i16 -32768, i16 17302, i16 39, i16 16385, i16 -32768, i16 17302, i16 39, i16 18080, i16 -32768, i16 17302, i16 40, i16 16385, i16 -32768, i16 17302, i16 40, i16 18080, i16 -32768, i16 17311, i16 2, i16 18080, i16 -32768, i16 17311, i16 22, i16 16385, i16 -32768, i16 17311, i16 22, i16 18080, i16 -32768, i16 17311, i16 39, i16 16385, i16 -32768, i16 17311, i16 39, i16 18080, i16 -32768, i16 17311, i16 40, i16 16385, i16 -32768, i16 17311, i16 40, i16 18080, i16 -32768, i16 17311, i16 57, i16 16385, i16 -32768, i16 17311, i16 57, i16 18080, i16 -32768, i16 17311, i16 58, i16 16385, i16 -32768, i16 17311, i16 58, i16 18080, i16 -32768, i16 17311, i16 65, i16 18080, i16 -32768, i16 17325, i16 2, i16 18080, i16 -32768, i16 17325, i16 2, i16 32766, i16 -32768, i16 17325, i16 5, i16 16385, i16 -32768, i16 17325, i16 5, i16 18080, i16 -32768, i16 17325, i16 6, i16 16385, i16 -32768, i16 17325, i16 6, i16 18080, i16 -32768, i16 17325, i16 7, i16 16385, i16 -32768, i16 17325, i16 7, i16 18080, i16 -32768, i16 17325, i16 15, i16 16385, i16 -32768, i16 17325, i16 15, i16 18080, i16 -32768, i16 17325, i16 16, i16 16385, i16 -32768, i16 17325, i16 16, i16 18080, i16 -32768, i16 17325, i16 17, i16 16385, i16 -32768, i16 17325, i16 17, i16 18080, i16 -32768, i16 17325, i16 18, i16 16385, i16 -32768, i16 17325, i16 18, i16 18080, i16 -32768, i16 17325, i16 19, i16 16385, i16 -32768, i16 17325, i16 19, i16 18080, i16 -32768, i16 17325, i16 20, i16 16385, i16 -32768, i16 17325, i16 20, i16 18080, i16 -32768, i16 17325, i16 21, i16 16385, i16 -32768, i16 17325, i16 21, i16 18080, i16 -32768, i16 17325, i16 22, i16 16385, i16 -32768, i16 17325, i16 22, i16 18080, i16 -32768, i16 17325, i16 34, i16 16385, i16 -32768, i16 17325, i16 34, i16 18080, i16 -32768, i16 17325, i16 36, i16 16385, i16 -32768, i16 17325, i16 36, i16 18080, i16 -32768, i16 17325, i16 37, i16 16385, i16 -32768, i16 17325, i16 37, i16 18080, i16 -32768, i16 17325, i16 40, i16 16385, i16 -32768, i16 17325, i16 40, i16 18080, i16 -32768, i16 17325, i16 48, i16 16385, i16 -32768, i16 17325, i16 48, i16 18080, i16 -32768, i16 17325, i16 49, i16 16385, i16 -32768, i16 17325, i16 49, i16 18080, i16 -32768, i16 17325, i16 51, i16 16385, i16 -32768, i16 17325, i16 51, i16 18080, i16 -32768, i16 17325, i16 52, i16 16385, i16 -32768, i16 17325, i16 52, i16 18080, i16 -32768, i16 17325, i16 59, i16 16385, i16 -32768, i16 17325, i16 59, i16 18080, i16 -32768, i16 17325, i16 60, i16 16385, i16 -32768, i16 17325, i16 60, i16 18080, i16 -32768, i16 17325, i16 61, i16 16385, i16 -32768, i16 17325, i16 61, i16 18080, i16 -32768, i16 17325, i16 62, i16 16385, i16 -32768, i16 17325, i16 62, i16 18080, i16 -32768, i16 17325, i16 63, i16 16385, i16 -32768, i16 17325, i16 63, i16 18080, i16 -32768, i16 17325, i16 64, i16 16385, i16 -32768, i16 17325, i16 64, i16 18080, i16 -32768, i16 17379, i16 2, i16 18080, i16 -32768, i16 17379, i16 3, i16 16385, i16 -32768, i16 17379, i16 3, i16 18080, i16 -32768, i16 17379, i16 39, i16 16385, i16 -32768, i16 17379, i16 39, i16 18080, i16 -32768, i16 17386, i16 2, i16 18080, i16 -32768, i16 17389, i16 2, i16 18080, i16 -32768, i16 17389, i16 3, i16 16385, i16 -32768, i16 17389, i16 3, i16 18080, i16 -32768, i16 17389, i16 6, i16 16385, i16 -32768, i16 17389, i16 6, i16 18080, i16 -32768, i16 17389, i16 15, i16 16385, i16 -32768, i16 17389, i16 15, i16 18080, i16 -32768, i16 17389, i16 22, i16 16385, i16 -32768, i16 17389, i16 22, i16 18080, i16 -32768, i16 17389, i16 39, i16 16385, i16 -32768, i16 17389, i16 39, i16 18080, i16 -32768, i16 17389, i16 40, i16 16385, i16 -32768, i16 17389, i16 40, i16 18080, i16 -32768, i16 17389, i16 56, i16 16385, i16 -32768, i16 17389, i16 56, i16 18080, i16 -32768, i16 17389, i16 58, i16 16385, i16 -32768, i16 17389, i16 58, i16 18080, i16 -32768, i16 17408, i16 2, i16 18080, i16 -32768, i16 18584, i16 2150, i16 18587, i16 -32768, i16 17408, i16 4, i16 16385, i16 -32768, i16 17408, i16 4, i16 18080, i16 -32768, i16 17408, i16 16, i16 16385, i16 -32768, i16 17408, i16 16, i16 18080, i16 -32768, i16 17408, i16 24, i16 16385, i16 -32768, i16 17408, i16 24, i16 18080, i16 -32768, i16 17408, i16 39, i16 16385, i16 -32768, i16 17408, i16 39, i16 18080, i16 -32768, i16 17408, i16 40, i16 16385, i16 -32768, i16 17408, i16 40, i16 18080, i16 -32768, i16 17408, i16 41, i16 16385, i16 -32768, i16 17408, i16 41, i16 18080, i16 -32768, i16 17408, i16 16382, i16 18080, i16 -32768, i16 18590, i16 2150, i16 18593, i16 -32768, i16 18584, i16 2150, i16 18596, i16 -32768, i16 17427, i16 2, i16 18080, i16 -32768, i16 17427, i16 22, i16 16385, i16 -32768, i16 17427, i16 22, i16 18080, i16 -32768, i16 17427, i16 39, i16 16385, i16 -32768, i16 17427, i16 39, i16 18080, i16 -32768, i16 17427, i16 40, i16 16385, i16 -32768, i16 17427, i16 40, i16 18080, i16 -32768, i16 17427, i16 42, i16 16385, i16 -32768, i16 17427, i16 42, i16 18080, i16 -32768, i16 17427, i16 44, i16 16385, i16 -32768, i16 17427, i16 44, i16 18080, i16 -32768, i16 17427, i16 57, i16 16385, i16 -32768, i16 17427, i16 57, i16 18080, i16 -32768, i16 17427, i16 58, i16 16385, i16 -32768, i16 17427, i16 58, i16 18080, i16 -32768, i16 17444, i16 2, i16 18080, i16 -32768, i16 17444, i16 5, i16 16385, i16 -32768, i16 17444, i16 5, i16 18080, i16 -32768, i16 17444, i16 6, i16 16385, i16 -32768, i16 17444, i16 6, i16 18080, i16 -32768, i16 17444, i16 7, i16 16385, i16 -32768, i16 17444, i16 7, i16 18080, i16 -32768, i16 17444, i16 15, i16 16385, i16 -32768, i16 17444, i16 15, i16 18080, i16 -32768, i16 17444, i16 16, i16 16385, i16 -32768, i16 17444, i16 16, i16 18080, i16 -32768, i16 17444, i16 22, i16 16385, i16 -32768, i16 17444, i16 22, i16 18080, i16 -32768, i16 17444, i16 25, i16 16385, i16 -32768, i16 17444, i16 25, i16 18080, i16 -32768, i16 17444, i16 29, i16 16385, i16 -32768, i16 17444, i16 29, i16 18080, i16 -32768, i16 17444, i16 30, i16 16385, i16 -32768, i16 17444, i16 30, i16 18080, i16 -32768, i16 17444, i16 31, i16 16385, i16 -32768, i16 17444, i16 31, i16 18080, i16 -32768, i16 17444, i16 32, i16 16385, i16 -32768, i16 17444, i16 32, i16 18080, i16 -32768, i16 17444, i16 34, i16 16385, i16 -32768, i16 17444, i16 34, i16 18080, i16 -32768, i16 17444, i16 35, i16 16385, i16 -32768, i16 17444, i16 35, i16 18080, i16 -32768, i16 17444, i16 36, i16 16385, i16 -32768, i16 17444, i16 36, i16 18080, i16 -32768, i16 17444, i16 38, i16 16385, i16 -32768, i16 17444, i16 38, i16 18080, i16 -32768, i16 17444, i16 40, i16 16385, i16 -32768, i16 17444, i16 40, i16 18080, i16 -32768, i16 17444, i16 48, i16 16385, i16 -32768, i16 17444, i16 48, i16 18080, i16 -32768, i16 17444, i16 53, i16 16385, i16 -32768, i16 17444, i16 53, i16 18080, i16 -32768, i16 17444, i16 54, i16 16385, i16 -32768, i16 17444, i16 54, i16 18080, i16 -32768, i16 17444, i16 57, i16 16385, i16 -32768, i16 17444, i16 57, i16 18080, i16 -32768, i16 17444, i16 59, i16 16385, i16 -32768, i16 17444, i16 59, i16 18080, i16 -32768, i16 17444, i16 60, i16 16385, i16 -32768, i16 17444, i16 60, i16 18080, i16 -32768, i16 17444, i16 61, i16 16385, i16 -32768, i16 17444, i16 61, i16 18080, i16 -32768, i16 17444, i16 62, i16 16385, i16 -32768, i16 17444, i16 62, i16 18080, i16 -32768, i16 17444, i16 63, i16 16385, i16 -32768, i16 17444, i16 63, i16 18080, i16 -32768, i16 17444, i16 64, i16 16385, i16 -32768, i16 17444, i16 64, i16 18080, i16 -32768, i16 17501, i16 2, i16 18080, i16 -32768, i16 17501, i16 28, i16 16385, i16 -32768, i16 17501, i16 28, i16 18080, i16 -32768, i16 17501, i16 39, i16 16385, i16 -32768, i16 17501, i16 39, i16 18080, i16 -32768, i16 18254, i16 5, i16 16385, i16 -32768, i16 18254, i16 5, i16 18080, i16 -32768, i16 18254, i16 16, i16 16385, i16 -32768, i16 18254, i16 16, i16 18080, i16 -32768, i16 18254, i16 28, i16 16385, i16 -32768, i16 18254, i16 28, i16 18080, i16 -32768, i16 18254, i16 34, i16 16385, i16 -32768, i16 18254, i16 34, i16 18080, i16 -32768, i16 18254, i16 35, i16 16385, i16 -32768, i16 18254, i16 35, i16 18080, i16 -32768, i16 18254, i16 39, i16 16385, i16 -32768, i16 18254, i16 39, i16 18080, i16 -32768, i16 18254, i16 40, i16 16385, i16 -32768, i16 18254, i16 40, i16 18080, i16 -32768, i16 18259, i16 16, i16 16385, i16 -32768, i16 18259, i16 16, i16 18080, i16 -32768, i16 18259, i16 40, i16 16385, i16 -32768, i16 18259, i16 40, i16 18080, i16 -32768, i16 18259, i16 42, i16 16385, i16 -32768, i16 18259, i16 42, i16 18080, i16 -32768, i16 18259, i16 58, i16 16385, i16 -32768, i16 18259, i16 58, i16 18080, i16 -32768, i16 32766, i16 1, i16 16450, i16 -32768, i16 17531, i16 1, i16 16451, i16 -32768, i16 17531, i16 1696, i16 16450, i16 -32768, i16 17531, i16 1696, i16 16451, i16 -32768, i16 17535, i16 1696, i16 16450, i16 -32768, i16 17537, i16 1696, i16 16450, i16 -32768, i16 17539, i16 1696, i16 16450, i16 -32768, i16 17541, i16 1, i16 16451, i16 -32768, i16 17541, i16 1696, i16 16450, i16 -32768, i16 17541, i16 1696, i16 16451, i16 -32768, i16 17545, i16 1696, i16 16450, i16 -32768, i16 17547, i16 1, i16 16451, i16 -32768, i16 17547, i16 1696, i16 16450, i16 -32768, i16 17547, i16 1696, i16 16451, i16 -32768, i16 17551, i16 1696, i16 16450, i16 -32768, i16 17553, i16 1, i16 16451, i16 -32768, i16 17553, i16 1, i16 16452, i16 -32768, i16 17553, i16 1696, i16 16450, i16 -32768, i16 17553, i16 1696, i16 16451, i16 -32768, i16 17553, i16 1696, i16 16452, i16 -32768, i16 17553, i16 1696, i16 16453, i16 -32768, i16 17560, i16 1696, i16 16450, i16 -32768, i16 17562, i16 1696, i16 16450, i16 -32768, i16 17564, i16 1696, i16 16450, i16 -32768, i16 17566, i16 1696, i16 16450, i16 -32768, i16 17568, i16 1696, i16 16450, i16 -32768, i16 17570, i16 1, i16 16451, i16 -32768, i16 17570, i16 1696, i16 16450, i16 -32768, i16 17570, i16 1696, i16 16451, i16 -32768, i16 17574, i16 1696, i16 16450, i16 -32768, i16 17576, i16 1696, i16 16450, i16 -32768, i16 17578, i16 1696, i16 16450, i16 -32768, i16 17578, i16 1696, i16 32766, i16 -32768, i16 17581, i16 1696, i16 16450, i16 -32768, i16 17583, i16 1, i16 16451, i16 -32768, i16 17583, i16 1, i16 16452, i16 -32768, i16 17583, i16 1696, i16 16450, i16 -32768, i16 17583, i16 1696, i16 16451, i16 -32768, i16 17583, i16 1696, i16 16452, i16 -32768, i16 17583, i16 1696, i16 16453, i16 -32768, i16 17590, i16 1696, i16 16450, i16 -32768, i16 17592, i16 1696, i16 16450, i16 -32768, i16 17594, i16 1696, i16 16450, i16 -32768, i16 17596, i16 1, i16 16451, i16 -32768, i16 17596, i16 1696, i16 16450, i16 -32768, i16 17596, i16 1696, i16 16451, i16 -32768, i16 32766, i16 70, i16 16385, i16 -32768, i16 17600, i16 70, i16 18080, i16 -32768, i16 17602, i16 70, i16 18080, i16 -32768, i16 17604, i16 70, i16 18080, i16 -32768, i16 17606, i16 70, i16 18080, i16 -32768, i16 17608, i16 70, i16 18080, i16 -32768, i16 17610, i16 70, i16 18080, i16 -32768, i16 17612, i16 70, i16 18080, i16 -32768, i16 17614, i16 70, i16 18080, i16 -32768, i16 17616, i16 70, i16 18080, i16 -32768, i16 17618, i16 70, i16 18080, i16 -32768, i16 17620, i16 70, i16 18080, i16 -32768, i16 17622, i16 70, i16 18080, i16 -32768, i16 17624, i16 70, i16 18080, i16 -32768, i16 17626, i16 70, i16 18080, i16 -32768, i16 17628, i16 70, i16 18080, i16 -32768, i16 17630, i16 70, i16 18080, i16 -32768, i16 17632, i16 70, i16 18080, i16 -32768, i16 17634, i16 70, i16 18080, i16 -32768, i16 17636, i16 70, i16 18080, i16 -32768, i16 17638, i16 70, i16 18080, i16 -32768, i16 17640, i16 70, i16 18080, i16 -32768, i16 17642, i16 70, i16 18080, i16 -32768, i16 17644, i16 70, i16 18080, i16 -32768, i16 17646, i16 70, i16 18080, i16 -32768, i16 17648, i16 70, i16 18080, i16 -32768, i16 17650, i16 70, i16 18080, i16 -32768, i16 17652, i16 70, i16 18080, i16 -32768, i16 17654, i16 70, i16 18080, i16 -32768, i16 17656, i16 70, i16 18080, i16 -32768, i16 17658, i16 70, i16 18080, i16 -32768, i16 17660, i16 70, i16 18080, i16 -32768, i16 17662, i16 70, i16 18080, i16 -32768, i16 17664, i16 70, i16 18080, i16 -32768, i16 17666, i16 70, i16 18080, i16 -32768, i16 17668, i16 70, i16 18080, i16 -32768, i16 17670, i16 70, i16 18080, i16 -32768, i16 17672, i16 70, i16 18080, i16 -32768, i16 17674, i16 70, i16 18080, i16 -32768, i16 17676, i16 70, i16 18080, i16 -32768, i16 17678, i16 70, i16 18080, i16 -32768, i16 17680, i16 70, i16 18080, i16 -32768, i16 32766, i16 70, i16 18080, i16 -32768, i16 17682, i16 70, i16 16385, i16 -32768, i16 17684, i16 70, i16 18080, i16 -32768, i16 17686, i16 70, i16 16385, i16 -32768, i16 17688, i16 70, i16 18080, i16 -32768, i16 17690, i16 70, i16 18080, i16 -32768, i16 17692, i16 70, i16 18080, i16 -32768, i16 17694, i16 70, i16 18080, i16 -32768, i16 17696, i16 70, i16 18080, i16 -32768, i16 17698, i16 70, i16 18080, i16 -32768, i16 17700, i16 70, i16 18080, i16 -32768, i16 17702, i16 70, i16 18080, i16 -32768, i16 32766, i16 0, i16 16384, i16 -32768, i16 32766, i16 16382, i16 16384, i16 -32768, i16 17736, i16 16382, i16 16384, i16 -32768, i16 17735, i16 16382, i16 16384, i16 -32768, i16 17745, i16 16382, i16 16384, i16 -32768, i16 17749, i16 16382, i16 16384, i16 -32768, i16 17756, i16 16382, i16 16384, i16 -32768, i16 17764, i16 16382, i16 16384, i16 -32768, i16 17769, i16 16382, i16 16384, i16 -32768, i16 17774, i16 16382, i16 16384, i16 -32768, i16 17779, i16 16382, i16 16384, i16 -32768, i16 17784, i16 16382, i16 16384, i16 -32768, i16 17787, i16 16382, i16 16384, i16 -32768, i16 17790, i16 16382, i16 16384, i16 -32768, i16 17793, i16 16382, i16 16384, i16 -32768, i16 17796, i16 16382, i16 16384, i16 -32768, i16 17801, i16 16382, i16 16384, i16 -32768, i16 17806, i16 16382, i16 16384, i16 -32768, i16 17811, i16 16382, i16 16384, i16 -32768, i16 17816, i16 16382, i16 16384, i16 -32768, i16 17821, i16 16382, i16 16384, i16 -32768, i16 17826, i16 16382, i16 16384, i16 -32768, i16 17831, i16 16382, i16 16384, i16 -32768, i16 17836, i16 16382, i16 16384, i16 -32768, i16 17841, i16 16382, i16 16384, i16 -32768, i16 17846, i16 16382, i16 16384, i16 -32768, i16 17851, i16 16382, i16 16384, i16 -32768, i16 17856, i16 16382, i16 16384, i16 -32768, i16 17861, i16 16382, i16 16384, i16 -32768, i16 17866, i16 16382, i16 16384, i16 -32768, i16 17871, i16 16382, i16 16384, i16 -32768, i16 17874, i16 16382, i16 16384, i16 -32768, i16 17877, i16 16382, i16 16384, i16 -32768, i16 16384, i16 0, i16 32766, i16 -32768, i16 18115, i16 16382, i16 16384, i16 -32768, i16 18124, i16 16382, i16 16384, i16 -32768, i16 18125, i16 16382, i16 16384, i16 -32768, i16 18126, i16 16382, i16 16384, i16 -32768, i16 18127, i16 16382, i16 16384, i16 -32768, i16 18128, i16 16382, i16 16384, i16 -32768, i16 18129, i16 16382, i16 16384, i16 -32768, i16 18130, i16 16382, i16 16384, i16 -32768, i16 18131, i16 16382, i16 16384, i16 -32768, i16 18132, i16 16382, i16 16384, i16 -32768, i16 18599, i16 2218, i16 18605, i16 -32768, i16 18599, i16 2224, i16 18611, i16 -32768, i16 18614, i16 2233, i16 18620, i16 -32768, i16 18614, i16 2239, i16 18626, i16 -32768, i16 18629, i16 2248, i16 18635, i16 -32768, i16 18629, i16 2254, i16 18641, i16 -32768, i16 18644, i16 2263, i16 18650, i16 -32768, i16 18644, i16 2269, i16 18656, i16 -32768, i16 17909, i16 16382, i16 16384, i16 -32768, i16 17913, i16 16382, i16 16384, i16 -32768, i16 17917, i16 16382, i16 16384, i16 -32768, i16 17922, i16 16382, i16 16384, i16 -32768, i16 17926, i16 16382, i16 16384, i16 -32768, i16 17930, i16 16382, i16 16384, i16 -32768, i16 17935, i16 16382, i16 16384, i16 -32768, i16 17939, i16 16382, i16 16384, i16 -32768, i16 17943, i16 16382, i16 16384, i16 -32768, i16 17948, i16 16382, i16 16384, i16 -32768, i16 17952, i16 16382, i16 16384, i16 -32768, i16 17956, i16 16382, i16 16384, i16 -32768, i16 17960, i16 16382, i16 16384, i16 -32768, i16 17964, i16 16382, i16 16384, i16 -32768, i16 17968, i16 16382, i16 16384, i16 -32768, i16 17972, i16 16382, i16 16384, i16 -32768, i16 17976, i16 16382, i16 16384, i16 -32768, i16 17980, i16 16382, i16 16384, i16 -32768, i16 17986, i16 16382, i16 16384, i16 -32768, i16 17990, i16 16382, i16 16384, i16 -32768, i16 17994, i16 16382, i16 16384, i16 -32768, i16 17996, i16 16382, i16 16384, i16 -32768, i16 17998, i16 16382, i16 16384, i16 -32768, i16 18000, i16 16382, i16 16384, i16 -32768, i16 18002, i16 16382, i16 16384, i16 -32768, i16 18004, i16 16382, i16 16384, i16 -32768, i16 18010, i16 16382, i16 16384, i16 -32768, i16 18016, i16 16382, i16 16384, i16 -32768, i16 18022, i16 16382, i16 16384, i16 -32768, i16 18028, i16 16382, i16 16384, i16 -32768, i16 18034, i16 16382, i16 16384, i16 -32768, i16 18036, i16 16382, i16 16384, i16 -32768, i16 18038, i16 16382, i16 16384, i16 -32768, i16 18040, i16 16382, i16 16384, i16 -32768, i16 18042, i16 16382, i16 16384, i16 -32768, i16 18044, i16 16382, i16 16384, i16 -32768, i16 18048, i16 16382, i16 16384, i16 -32768, i16 18052, i16 16382, i16 16384, i16 -32768, i16 18056, i16 16382, i16 16384, i16 -32768, i16 18058, i16 16382, i16 16384, i16 -32768, i16 18060, i16 16382, i16 16384, i16 -32768, i16 18062, i16 16382, i16 16384, i16 -32768, i16 18064, i16 16382, i16 16384, i16 -32768, i16 18066, i16 16382, i16 16384, i16 -32768, i16 18070, i16 16382, i16 16384, i16 -32768, i16 18072, i16 16382, i16 16384, i16 -32768, i16 18074, i16 16382, i16 16384, i16 -32768, i16 18076, i16 16382, i16 16384, i16 -32768, i16 17065, i16 3, i16 16385, i16 -32768, i16 17065, i16 3, i16 18080, i16 -32768, i16 17065, i16 25, i16 16385, i16 -32768, i16 17065, i16 25, i16 18080, i16 -32768, i16 17065, i16 26, i16 16385, i16 -32768, i16 17065, i16 26, i16 18080, i16 -32768, i16 17065, i16 28, i16 16385, i16 -32768, i16 17065, i16 28, i16 18080, i16 -32768, i16 17065, i16 48, i16 16385, i16 -32768, i16 17065, i16 48, i16 18080, i16 -32768, i16 17065, i16 50, i16 16385, i16 -32768, i16 17065, i16 50, i16 18080, i16 -32768, i16 18659, i16 2278, i16 18578, i16 -32768, i16 18659, i16 2278, i16 18581, i16 -32768, i16 18659, i16 2281, i16 18578, i16 -32768, i16 18659, i16 2281, i16 18581, i16 -32768, i16 18659, i16 2284, i16 18578, i16 -32768, i16 18659, i16 2284, i16 18581, i16 -32768, i16 17122, i16 3, i16 16385, i16 -32768, i16 17122, i16 3, i16 18080, i16 -32768, i16 17122, i16 22, i16 16385, i16 -32768, i16 17122, i16 22, i16 18080, i16 -32768, i16 18164, i16 2, i16 18080, i16 -32768, i16 17133, i16 42, i16 16385, i16 -32768, i16 17133, i16 42, i16 18080, i16 -32768, i16 17148, i16 3, i16 16385, i16 -32768, i16 17148, i16 3, i16 18080, i16 -32768, i16 17148, i16 48, i16 16385, i16 -32768, i16 17148, i16 48, i16 18080, i16 -32768, i16 17148, i16 50, i16 16385, i16 -32768, i16 17148, i16 50, i16 18080, i16 -32768, i16 17205, i16 44, i16 16385, i16 -32768, i16 17205, i16 44, i16 18080, i16 -32768, i16 18176, i16 2, i16 18080, i16 -32768, i16 18179, i16 2, i16 16385, i16 -32768, i16 32766, i16 2, i16 18080, i16 -32768, i16 18178, i16 2, i16 16385, i16 -32768, i16 18178, i16 3, i16 16385, i16 -32768, i16 18178, i16 3, i16 18080, i16 -32768, i16 18178, i16 50, i16 16385, i16 -32768, i16 18178, i16 50, i16 18080, i16 -32768, i16 17272, i16 44, i16 16385, i16 -32768, i16 17272, i16 44, i16 18080, i16 -32768, i16 17285, i16 42, i16 16385, i16 -32768, i16 17285, i16 42, i16 18080, i16 -32768, i16 17285, i16 44, i16 16385, i16 -32768, i16 17285, i16 44, i16 18080, i16 -32768, i16 17311, i16 3, i16 16385, i16 -32768, i16 17311, i16 3, i16 18080, i16 -32768, i16 17311, i16 35, i16 16385, i16 -32768, i16 17311, i16 35, i16 18080, i16 -32768, i16 17311, i16 44, i16 16385, i16 -32768, i16 17311, i16 44, i16 18080, i16 -32768, i16 18671, i16 2290, i16 18578, i16 -32768, i16 18671, i16 2290, i16 18581, i16 -32768, i16 17325, i16 3, i16 16385, i16 -32768, i16 17325, i16 3, i16 18080, i16 -32768, i16 17325, i16 33, i16 16385, i16 -32768, i16 17325, i16 33, i16 18080, i16 -32768, i16 17325, i16 35, i16 16385, i16 -32768, i16 17325, i16 35, i16 18080, i16 -32768, i16 17325, i16 42, i16 16385, i16 -32768, i16 17325, i16 42, i16 18080, i16 -32768, i16 17325, i16 43, i16 16385, i16 -32768, i16 17325, i16 43, i16 18080, i16 -32768, i16 17325, i16 50, i16 16385, i16 -32768, i16 17325, i16 50, i16 18080, i16 -32768, i16 18212, i16 2, i16 18080, i16 -32768, i16 18677, i16 2296, i16 18578, i16 -32768, i16 18677, i16 2296, i16 18581, i16 -32768, i16 17389, i16 44, i16 16385, i16 -32768, i16 17389, i16 44, i16 18080, i16 -32768, i16 17408, i16 3, i16 16385, i16 -32768, i16 17408, i16 3, i16 18080, i16 -32768, i16 17408, i16 22, i16 16385, i16 -32768, i16 17408, i16 22, i16 18080, i16 -32768, i16 18222, i16 2, i16 18080, i16 -32768, i16 18683, i16 2302, i16 18578, i16 -32768, i16 18683, i16 2302, i16 18581, i16 -32768, i16 17444, i16 3, i16 16385, i16 -32768, i16 17444, i16 3, i16 18080, i16 -32768, i16 17444, i16 33, i16 16385, i16 -32768, i16 17444, i16 33, i16 18080, i16 -32768, i16 17444, i16 50, i16 16385, i16 -32768, i16 17444, i16 50, i16 18080, i16 -32768, i16 18232, i16 2, i16 18080, i16 -32768, i16 18234, i16 2, i16 18080, i16 -32768, i16 18234, i16 35, i16 16385, i16 -32768, i16 18234, i16 35, i16 18080, i16 -32768, i16 18234, i16 40, i16 16385, i16 -32768, i16 18234, i16 40, i16 18080, i16 -32768, i16 18240, i16 2, i16 18080, i16 -32768, i16 18240, i16 3, i16 16385, i16 -32768, i16 18240, i16 3, i16 18080, i16 -32768, i16 18240, i16 5, i16 16385, i16 -32768, i16 18240, i16 5, i16 18080, i16 -32768, i16 18240, i16 16, i16 16385, i16 -32768, i16 18240, i16 16, i16 18080, i16 -32768, i16 18240, i16 28, i16 16385, i16 -32768, i16 18240, i16 28, i16 18080, i16 -32768, i16 18240, i16 39, i16 16385, i16 -32768, i16 18240, i16 39, i16 18080, i16 -32768, i16 18240, i16 40, i16 16385, i16 -32768, i16 18240, i16 40, i16 18080, i16 -32768, i16 18254, i16 2, i16 18080, i16 -32768, i16 18254, i16 3, i16 16385, i16 -32768, i16 18254, i16 3, i16 18080, i16 -32768, i16 18259, i16 2, i16 18080, i16 -32768, i16 18259, i16 3, i16 16385, i16 -32768, i16 18259, i16 3, i16 18080, i16 -32768, i16 18259, i16 22, i16 16385, i16 -32768, i16 18259, i16 22, i16 18080, i16 -32768, i16 18259, i16 39, i16 16385, i16 -32768, i16 18259, i16 39, i16 18080, i16 -32768, i16 17272, i16 16382, i16 18080, i16 -32768, i16 17122, i16 44, i16 16385, i16 -32768, i16 17122, i16 44, i16 18080, i16 -32768, i16 17205, i16 7, i16 16385, i16 -32768, i16 17205, i16 7, i16 18080, i16 -32768, i16 18178, i16 39, i16 16385, i16 -32768, i16 18178, i16 39, i16 18080, i16 -32768, i16 17408, i16 44, i16 16385, i16 -32768, i16 17408, i16 44, i16 18080, i16 -32768, i16 32766, i16 16382, i16 16386, i16 -32767, i16 18234, i16 1850, i16 16386, i16 -31072, i16 18234, i16 1850, i16 16419, i16 -32767, i16 18234, i16 1850, i16 16419, i16 -31072, i16 18234, i16 1850, i16 16424, i16 -32767, i16 18234, i16 1850, i16 16424, i16 -31072, i16 18240, i16 1856, i16 16386, i16 -31072, i16 18240, i16 1856, i16 16387, i16 -32767, i16 18240, i16 1856, i16 16387, i16 -31072, i16 18240, i16 1856, i16 16389, i16 -32767, i16 18240, i16 1856, i16 16389, i16 -31072, i16 18240, i16 1856, i16 16400, i16 -32767, i16 18240, i16 1856, i16 16400, i16 -31072, i16 18240, i16 1856, i16 16412, i16 -32767, i16 18240, i16 1856, i16 16412, i16 -31072, i16 18240, i16 1856, i16 16423, i16 -32767, i16 18240, i16 1856, i16 16423, i16 -31072, i16 18240, i16 1856, i16 16424, i16 -32767, i16 18240, i16 1856, i16 16424, i16 -31072, i16 18254, i16 73, i16 16385, i16 -32768, i16 18254, i16 73, i16 18080, i16 -32768, i16 18144, i16 2, i16 18080, i16 -32768, i16 18144, i16 3, i16 16385, i16 -32768, i16 18144, i16 3, i16 18080, i16 -32768, i16 18148, i16 2, i16 18080, i16 -32768, i16 18148, i16 16382, i16 16385, i16 -32768, i16 18148, i16 1770, i16 18080, i16 -32768, i16 18148, i16 1772, i16 18080, i16 -32768, i16 18148, i16 1774, i16 18080, i16 -32768, i16 18212, i16 16382, i16 16385, i16 -32768, i16 18212, i16 1822, i16 18080, i16 -32768, i16 18212, i16 1824, i16 18080, i16 -32768, i16 18212, i16 35, i16 16385, i16 -32768, i16 18212, i16 35, i16 18080, i16 -32768, i16 18163, i16 2, i16 16385, i16 -32768, i16 17325, i16 28, i16 16385, i16 -32768, i16 17325, i16 28, i16 18080, i16 -32768, i16 18221, i16 2, i16 16385, i16 -32768, i16 17444, i16 28, i16 16385, i16 -32768, i16 17444, i16 28, i16 18080, i16 -32768, i16 18264, i16 2, i16 16385, i16 -32768, i16 18150, i16 2, i16 18080, i16 -32768, i16 18160, i16 2, i16 18080, i16 -32768, i16 18170, i16 2, i16 18080, i16 -32768, i16 18188, i16 2, i16 18080, i16 -32768, i16 18192, i16 2, i16 18080, i16 -32768, i16 18200, i16 2, i16 18080, i16 -32768, i16 18218, i16 2, i16 18080, i16 -32768, i16 18261, i16 2, i16 18080, i16 -32768, i16 18265, i16 2, i16 18080, i16 -32768, i16 18254, i16 16382, i16 16385, i16 -32768, i16 18254, i16 1848, i16 18080, i16 -32768, i16 18254, i16 1844, i16 18080, i16 -32768, i16 18154, i16 2, i16 18080, i16 -32768, i16 18154, i16 3, i16 16385, i16 -32768, i16 18154, i16 3, i16 18080, i16 -32768, i16 18154, i16 50, i16 16385, i16 -32768, i16 18154, i16 50, i16 18080, i16 -32768, i16 18154, i16 73, i16 16385, i16 -32768, i16 18154, i16 73, i16 18080, i16 -32768, i16 18206, i16 2, i16 18080, i16 -32768, i16 18206, i16 3, i16 16385, i16 -32768, i16 18206, i16 3, i16 18080, i16 -32768, i16 18206, i16 28, i16 16385, i16 -32768, i16 18206, i16 28, i16 18080, i16 -32768, i16 18206, i16 33, i16 16385, i16 -32768, i16 18206, i16 33, i16 18080, i16 -32768, i16 18144, i16 16382, i16 16385, i16 -32768, i16 18144, i16 1883, i16 18078, i16 -32768, i16 18144, i16 1883, i16 18079, i16 -32768, i16 18144, i16 1883, i16 18080, i16 -32768, i16 18144, i16 1762, i16 18080, i16 -32768, i16 18152, i16 2, i16 18080, i16 -32768, i16 18162, i16 2, i16 18080, i16 -32768, i16 18172, i16 2, i16 18080, i16 -32768, i16 18174, i16 2, i16 18080, i16 -32768, i16 18183, i16 2, i16 18080, i16 -32768, i16 18185, i16 2, i16 18080, i16 -32768, i16 18190, i16 2, i16 18080, i16 -32768, i16 18196, i16 2, i16 18080, i16 -32768, i16 18210, i16 2, i16 18080, i16 -32768, i16 18216, i16 2, i16 18080, i16 -32768, i16 18220, i16 2, i16 18080, i16 -32768, i16 18230, i16 2, i16 18080, i16 -32768, i16 18263, i16 2, i16 18080, i16 -32768, i16 18081, i16 16382, i16 16384, i16 -32768, i16 17133, i16 16382, i16 16385, i16 -32768, i16 17133, i16 1887, i16 18080, i16 -32768, i16 17386, i16 73, i16 18080, i16 -32768, i16 18143, i16 2, i16 16385, i16 -32768, i16 18272, i16 2, i16 16385, i16 -32768, i16 18169, i16 2, i16 16385, i16 -32768, i16 17205, i16 8, i16 16385, i16 -32768, i16 17205, i16 8, i16 18080, i16 -32768, i16 18182, i16 2, i16 16385, i16 -32768, i16 17311, i16 16382, i16 16385, i16 -32768, i16 17311, i16 1814, i16 18080, i16 -32768, i16 18201, i16 2, i16 16385, i16 -32768, i16 18227, i16 2, i16 16385, i16 -32768, i16 18257, i16 2, i16 16385, i16 -32768, i16 18225, i16 2, i16 16385, i16 -32768, i16 18155, i16 2, i16 16385, i16 -32768, i16 18155, i16 73, i16 18080, i16 -32768, i16 18155, i16 73, i16 16385, i16 -32768, i16 18213, i16 2, i16 16385, i16 -32768, i16 18213, i16 73, i16 18080, i16 -32768, i16 18213, i16 73, i16 16385, i16 -32768, i16 16384, i16 0, i16 16400, i16 -32768, i16 16384, i16 0, i16 16434, i16 -32768, i16 16384, i16 0, i16 16389, i16 -32768, i16 18311, i16 2, i16 18078, i16 -32768, i16 18311, i16 2, i16 18079, i16 -32768, i16 18311, i16 2, i16 18080, i16 -32768, i16 18166, i16 2, i16 18080, i16 -32768, i16 18315, i16 2, i16 18078, i16 -32768, i16 18315, i16 2, i16 18079, i16 -32768, i16 18315, i16 2, i16 18080, i16 -32768, i16 18319, i16 2, i16 18078, i16 -32768, i16 18319, i16 2, i16 18079, i16 -32768, i16 18319, i16 2, i16 18080, i16 -32768, i16 18194, i16 2, i16 18080, i16 -32768, i16 32766, i16 22, i16 16385, i16 -16386, i16 18220, i16 22, i16 18080, i16 -16386, i16 32766, i16 2, i16 16385, i16 -16386, i16 18259, i16 2, i16 18080, i16 -16386, i16 18259, i16 3, i16 16385, i16 -16386, i16 18259, i16 3, i16 18080, i16 -16386, i16 18259, i16 39, i16 16385, i16 -16386, i16 18259, i16 39, i16 18080, i16 -16386, i16 18259, i16 22, i16 16385, i16 -16386, i16 18259, i16 22, i16 18080, i16 -16386, i16 18234, i16 16382, i16 16386, i16 -32767, i16 18234, i16 1856, i16 16386, i16 -31072, i16 18234, i16 1856, i16 16387, i16 -32767, i16 18234, i16 1856, i16 16387, i16 -31072, i16 18234, i16 1856, i16 16389, i16 -32767, i16 18234, i16 1856, i16 16389, i16 -31072, i16 18234, i16 1856, i16 16400, i16 -32767, i16 18234, i16 1856, i16 16400, i16 -31072, i16 18234, i16 1856, i16 16434, i16 -32767, i16 18234, i16 1856, i16 16434, i16 -31072, i16 18234, i16 1856, i16 16423, i16 -32767, i16 18234, i16 1856, i16 16423, i16 -31072, i16 18234, i16 1856, i16 16412, i16 -32767, i16 18234, i16 1856, i16 16412, i16 -31072, i16 32766, i16 35, i16 16385, i16 -16386, i16 18204, i16 35, i16 18080, i16 -16386, i16 32766, i16 28, i16 16385, i16 -16386, i16 18148, i16 28, i16 18080, i16 -16386, i16 18212, i16 28, i16 18080, i16 -16386, i16 18232, i16 28, i16 18080, i16 -16386, i16 18323, i16 2, i16 18078, i16 -32768, i16 18323, i16 2, i16 18079, i16 -32768, i16 18323, i16 2, i16 18080, i16 -32768, i16 18327, i16 2, i16 18078, i16 -32768, i16 18327, i16 2, i16 18079, i16 -32768, i16 18327, i16 2, i16 18080, i16 -32768, i16 32766, i16 32766, i16 32766, i16 32766, i16 16384, i16 16384, i16 16384, i16 32766, i16 32766, i16 16389, i16 16385, i16 32766, i16 16470, i16 16389, i16 16388, i16 16470, i16 16470, i16 16389, i16 32766, i16 16470, i16 16470, i16 16392, i16 16385, i16 16470, i16 16470, i16 16392, i16 16388, i16 16470, i16 16470, i16 16393, i16 16385, i16 16470, i16 16470, i16 16393, i16 16388, i16 16470, i16 16470, i16 16405, i16 16385, i16 16470, i16 16470, i16 16405, i16 16388, i16 16470, i16 16470, i16 16397, i16 16385, i16 16470, i16 16470, i16 16397, i16 16388, i16 16470, i16 16470, i16 16408, i16 16385, i16 16470, i16 16470, i16 16408, i16 16388, i16 16470, i16 16470, i16 16409, i16 16385, i16 16470, i16 16470, i16 16409, i16 16388, i16 16470, i16 16470, i16 16411, i16 16385, i16 16470, i16 16470, i16 16411, i16 16388, i16 16470, i16 16470, i16 16410, i16 16385, i16 16470, i16 16470, i16 16410, i16 16388, i16 16470, i16 16470, i16 16435, i16 16385, i16 16470, i16 16470, i16 16435, i16 16388, i16 16470, i16 16470, i16 16398, i16 16385, i16 16470, i16 16470, i16 16398, i16 16388, i16 16470, i16 16470, i16 16394, i16 16385, i16 16470, i16 16470, i16 16394, i16 16388, i16 16470, i16 16470, i16 16412, i16 16385, i16 16470, i16 16470, i16 16412, i16 16388, i16 16470, i16 16470, i16 16413, i16 16385, i16 16470, i16 16470, i16 16413, i16 16388, i16 16470, i16 16470, i16 16415, i16 16385, i16 16470, i16 16470, i16 16415, i16 16388, i16 16470, i16 16470, i16 16414, i16 16385, i16 16470, i16 16470, i16 16414, i16 16388, i16 16470, i16 16470, i16 16436, i16 16385, i16 16470, i16 16470, i16 16436, i16 16388, i16 16470, i16 16470, i16 16395, i16 16385, i16 16470, i16 16470, i16 16395, i16 16388, i16 16470, i16 16470, i16 16399, i16 16385, i16 16470, i16 16470, i16 16399, i16 16388, i16 16470, i16 16470, i16 16417, i16 16385, i16 16470, i16 16470, i16 16417, i16 16388, i16 16470, i16 16470, i16 16450, i16 16385, i16 16470, i16 16470, i16 16450, i16 16388, i16 16470, i16 16470, i16 16402, i16 16385, i16 16470, i16 16470, i16 16402, i16 16388, i16 16470, i16 16470, i16 16426, i16 16385, i16 16470, i16 16470, i16 16426, i16 16388, i16 16470, i16 16470, i16 16400, i16 16385, i16 16470, i16 16470, i16 16400, i16 16388, i16 16470, i16 16470, i16 16396, i16 16385, i16 16470, i16 16470, i16 16396, i16 16388, i16 16470, i16 16470, i16 16444, i16 16385, i16 16470, i16 16470, i16 16444, i16 16388, i16 16470, i16 16470, i16 16449, i16 16385, i16 16470, i16 16470, i16 16449, i16 16388, i16 16470, i16 16470, i16 16391, i16 16385, i16 16470, i16 16470, i16 16391, i16 16388, i16 16470, i16 16470, i16 16418, i16 16385, i16 16470, i16 16470, i16 16418, i16 16388, i16 16470, i16 18628, i16 18631, i16 18517, i16 18628, i16 18628, i16 18631, i16 18425, i16 18628, i16 18628, i16 18634, i16 18517, i16 18628, i16 18628, i16 18634, i16 18425, i16 18628, i16 18628, i16 18637, i16 18517, i16 18628, i16 18628, i16 18637, i16 18425, i16 18628, i16 16536, i16 16389, i16 16388, i16 16536, i16 16536, i16 16390, i16 16385, i16 16536, i16 16536, i16 16390, i16 16388, i16 16536, i16 16536, i16 16444, i16 16385, i16 16536, i16 16536, i16 16444, i16 16388, i16 16536, i16 16536, i16 16445, i16 16385, i16 16536, i16 16536, i16 16445, i16 16388, i16 16536, i16 16545, i16 16389, i16 16388, i16 16545, i16 16545, i16 16392, i16 16385, i16 16545, i16 16545, i16 16392, i16 16388, i16 16545, i16 16545, i16 16394, i16 16385, i16 16545, i16 16545, i16 16394, i16 16388, i16 16545, i16 16545, i16 16400, i16 16385, i16 16545, i16 16545, i16 16400, i16 16388, i16 16545, i16 16545, i16 16390, i16 16385, i16 16545, i16 16545, i16 16390, i16 16388, i16 16545, i16 16545, i16 16448, i16 16385, i16 16545, i16 16545, i16 16448, i16 16388, i16 16545, i16 16545, i16 16437, i16 16385, i16 16545, i16 16545, i16 16437, i16 16388, i16 16545, i16 32766, i16 16395, i16 16385, i16 32766, i16 16559, i16 16395, i16 16388, i16 16559, i16 16562, i16 16389, i16 16388, i16 16562, i16 16562, i16 16395, i16 16385, i16 16562, i16 16562, i16 16395, i16 16388, i16 16562, i16 16562, i16 16390, i16 16385, i16 16562, i16 16562, i16 16390, i16 16388, i16 16562, i16 16562, i16 16444, i16 16385, i16 16562, i16 16562, i16 16444, i16 16388, i16 16562, i16 16562, i16 16452, i16 16385, i16 16562, i16 16562, i16 16452, i16 16388, i16 16562, i16 16562, i16 16448, i16 16385, i16 16562, i16 16562, i16 16448, i16 16388, i16 16562, i16 16562, i16 16421, i16 16385, i16 16562, i16 16562, i16 16421, i16 16388, i16 16562, i16 16562, i16 16445, i16 16385, i16 16562, i16 16562, i16 16445, i16 16388, i16 16562, i16 16579, i16 16389, i16 16388, i16 16579, i16 16579, i16 16392, i16 16385, i16 16579, i16 16579, i16 16392, i16 16388, i16 16579, i16 16579, i16 16393, i16 16385, i16 16579, i16 16579, i16 16393, i16 16388, i16 16579, i16 16579, i16 16405, i16 16385, i16 16579, i16 16579, i16 16405, i16 16388, i16 16579, i16 16579, i16 16397, i16 16385, i16 16579, i16 16579, i16 16397, i16 16388, i16 16579, i16 16579, i16 16398, i16 16385, i16 16579, i16 16579, i16 16398, i16 16388, i16 16579, i16 16579, i16 16394, i16 16385, i16 16579, i16 16579, i16 16394, i16 16388, i16 16579, i16 16579, i16 16412, i16 16385, i16 16579, i16 16579, i16 16412, i16 16388, i16 16579, i16 16579, i16 16413, i16 16385, i16 16579, i16 16579, i16 16413, i16 16388, i16 16579, i16 16579, i16 16415, i16 16385, i16 16579, i16 16579, i16 16415, i16 16388, i16 16579, i16 16579, i16 16414, i16 16385, i16 16579, i16 16579, i16 16414, i16 16388, i16 16579, i16 16579, i16 16436, i16 16385, i16 16579, i16 16579, i16 16436, i16 16388, i16 16579, i16 16579, i16 16395, i16 16385, i16 16579, i16 16579, i16 16395, i16 16388, i16 16579, i16 16579, i16 16402, i16 16385, i16 16579, i16 16579, i16 16402, i16 16388, i16 16579, i16 16579, i16 16400, i16 16385, i16 16579, i16 16579, i16 16400, i16 16388, i16 16579, i16 16579, i16 16396, i16 16385, i16 16579, i16 16579, i16 16396, i16 16388, i16 16579, i16 16579, i16 16446, i16 16385, i16 16579, i16 16579, i16 16446, i16 16388, i16 16579, i16 16579, i16 16390, i16 16385, i16 16579, i16 16579, i16 16390, i16 16388, i16 16579, i16 16579, i16 16444, i16 16385, i16 16579, i16 16579, i16 16444, i16 16388, i16 16579, i16 16579, i16 16439, i16 16385, i16 16579, i16 16579, i16 16439, i16 16388, i16 16579, i16 16579, i16 16449, i16 16385, i16 16579, i16 16579, i16 16449, i16 16388, i16 16579, i16 16579, i16 16391, i16 16385, i16 16579, i16 16579, i16 16391, i16 16388, i16 16579, i16 16579, i16 16419, i16 16385, i16 16579, i16 16579, i16 16419, i16 16388, i16 16579, i16 16579, i16 16420, i16 16385, i16 16579, i16 16579, i16 16420, i16 16388, i16 16579, i16 16579, i16 16421, i16 16385, i16 16579, i16 16579, i16 16421, i16 16388, i16 16579, i16 16630, i16 16389, i16 16388, i16 16630, i16 16630, i16 16400, i16 16385, i16 16630, i16 16630, i16 16400, i16 16388, i16 16630, i16 16630, i16 16390, i16 16385, i16 16630, i16 16630, i16 16390, i16 16388, i16 16630, i16 18640, i16 18643, i16 18646, i16 18640, i16 18649, i16 18643, i16 18652, i16 18649, i16 18655, i16 18643, i16 18658, i16 18655, i16 18661, i16 18665, i16 18669, i16 18661, i16 18673, i16 18665, i16 18677, i16 18673, i16 16642, i16 16389, i16 16388, i16 16642, i16 16642, i16 16392, i16 16385, i16 16642, i16 16642, i16 16392, i16 16388, i16 16642, i16 16642, i16 16397, i16 16385, i16 16642, i16 16642, i16 16397, i16 16388, i16 16642, i16 16642, i16 16394, i16 16385, i16 16642, i16 16642, i16 16394, i16 16388, i16 16642, i16 16642, i16 16395, i16 16385, i16 16642, i16 16642, i16 16395, i16 16388, i16 16642, i16 16642, i16 16390, i16 16385, i16 16642, i16 16642, i16 16390, i16 16388, i16 16642, i16 16642, i16 16452, i16 16385, i16 16642, i16 16642, i16 16452, i16 16388, i16 16642, i16 16642, i16 16448, i16 16385, i16 16642, i16 16642, i16 16448, i16 16388, i16 16642, i16 16642, i16 16391, i16 16385, i16 16642, i16 16642, i16 16391, i16 16388, i16 16642, i16 16661, i16 16389, i16 16388, i16 16661, i16 16661, i16 16447, i16 16385, i16 16661, i16 16661, i16 16447, i16 16388, i16 16661, i16 16661, i16 16394, i16 16385, i16 16661, i16 16661, i16 16394, i16 16388, i16 16661, i16 16661, i16 16402, i16 16385, i16 16661, i16 16661, i16 16402, i16 16388, i16 16661, i16 16661, i16 16390, i16 16385, i16 16661, i16 16661, i16 16390, i16 16388, i16 16661, i16 16661, i16 16444, i16 16385, i16 16661, i16 16661, i16 16444, i16 16388, i16 16661, i16 16661, i16 16452, i16 16385, i16 16661, i16 16661, i16 16452, i16 16388, i16 16661, i16 16661, i16 16448, i16 16385, i16 16661, i16 16661, i16 16448, i16 16388, i16 16661, i16 16678, i16 16389, i16 16386, i16 16678, i16 16678, i16 16389, i16 16388, i16 16678, i16 16681, i16 16389, i16 16388, i16 16681, i16 16681, i16 16392, i16 16385, i16 16681, i16 16681, i16 16392, i16 16388, i16 16681, i16 16681, i16 16393, i16 16385, i16 16681, i16 16681, i16 16393, i16 16388, i16 16681, i16 16681, i16 16405, i16 16385, i16 16681, i16 16681, i16 16405, i16 16388, i16 16681, i16 16681, i16 16397, i16 16385, i16 16681, i16 16681, i16 16397, i16 16388, i16 16681, i16 16681, i16 16398, i16 16385, i16 16681, i16 16681, i16 16398, i16 16388, i16 16681, i16 16681, i16 16394, i16 16385, i16 16681, i16 16681, i16 16394, i16 16388, i16 16681, i16 16681, i16 16395, i16 16385, i16 16681, i16 16681, i16 16395, i16 16388, i16 16681, i16 16681, i16 16402, i16 16385, i16 16681, i16 16681, i16 16402, i16 16388, i16 16681, i16 16681, i16 16427, i16 16385, i16 16681, i16 16681, i16 16427, i16 16388, i16 16681, i16 16681, i16 16400, i16 16385, i16 16681, i16 16681, i16 16400, i16 16388, i16 16681, i16 16681, i16 16396, i16 16385, i16 16681, i16 16681, i16 16396, i16 16388, i16 16681, i16 16681, i16 16446, i16 16385, i16 16681, i16 16681, i16 16446, i16 16388, i16 16681, i16 16681, i16 16390, i16 16385, i16 16681, i16 16681, i16 16390, i16 16388, i16 16681, i16 16681, i16 16444, i16 16385, i16 16681, i16 16681, i16 16444, i16 16388, i16 16681, i16 16681, i16 16449, i16 16385, i16 16681, i16 16681, i16 16449, i16 16388, i16 16681, i16 16681, i16 16391, i16 16385, i16 16681, i16 16681, i16 16391, i16 16388, i16 16681, i16 18681, i16 18684, i16 18517, i16 18681, i16 18681, i16 18684, i16 18425, i16 18681, i16 16718, i16 16389, i16 16388, i16 16718, i16 16718, i16 16394, i16 16385, i16 16718, i16 16718, i16 16394, i16 16388, i16 16718, i16 16723, i16 16389, i16 16388, i16 16723, i16 16723, i16 16392, i16 16385, i16 16723, i16 16723, i16 16392, i16 16388, i16 16723, i16 16723, i16 16395, i16 16385, i16 16723, i16 16723, i16 16395, i16 16388, i16 16723, i16 16723, i16 16400, i16 16385, i16 16723, i16 16723, i16 16400, i16 16388, i16 16723, i16 16723, i16 16444, i16 16385, i16 16723, i16 16723, i16 16444, i16 16388, i16 16723, i16 16723, i16 16448, i16 16385, i16 16723, i16 16723, i16 16448, i16 16388, i16 16723, i16 16723, i16 16445, i16 16385, i16 16723, i16 16723, i16 16445, i16 16388, i16 16723, i16 16723, i16 32766, i16 16388, i16 16723, i16 16739, i16 16389, i16 16388, i16 16739, i16 16739, i16 16392, i16 16385, i16 16739, i16 16739, i16 16392, i16 16388, i16 16739, i16 16739, i16 16395, i16 16385, i16 16739, i16 16739, i16 16395, i16 16388, i16 16739, i16 16739, i16 16390, i16 16385, i16 16739, i16 16739, i16 16390, i16 16388, i16 16739, i16 16739, i16 16444, i16 16385, i16 16739, i16 16739, i16 16444, i16 16388, i16 16739, i16 16739, i16 16452, i16 16385, i16 16739, i16 16739, i16 16452, i16 16388, i16 16739, i16 16739, i16 16448, i16 16385, i16 16739, i16 16739, i16 16448, i16 16388, i16 16739, i16 16739, i16 16434, i16 16385, i16 16739, i16 16739, i16 16434, i16 16388, i16 16739, i16 16739, i16 16421, i16 16385, i16 16739, i16 16739, i16 16421, i16 16388, i16 16739, i16 16739, i16 16445, i16 16385, i16 16739, i16 16739, i16 16445, i16 16388, i16 16739, i16 16760, i16 16389, i16 16388, i16 16760, i16 16760, i16 16392, i16 16385, i16 16760, i16 16760, i16 16392, i16 16388, i16 16760, i16 16760, i16 16390, i16 16385, i16 16760, i16 16760, i16 16390, i16 16388, i16 16760, i16 16760, i16 16444, i16 16385, i16 16760, i16 16760, i16 16444, i16 16388, i16 16760, i16 16769, i16 16389, i16 16388, i16 16769, i16 16769, i16 16392, i16 16385, i16 16769, i16 16769, i16 16392, i16 16388, i16 16769, i16 16769, i16 16395, i16 16385, i16 16769, i16 16769, i16 16395, i16 16388, i16 16769, i16 16769, i16 16396, i16 16385, i16 16769, i16 16769, i16 16396, i16 16388, i16 16769, i16 16769, i16 16390, i16 16385, i16 16769, i16 16769, i16 16390, i16 16388, i16 16769, i16 16769, i16 16444, i16 16385, i16 16769, i16 16769, i16 16444, i16 16388, i16 16769, i16 16769, i16 16448, i16 16385, i16 16769, i16 16769, i16 16448, i16 16388, i16 16769, i16 16769, i16 16421, i16 16385, i16 16769, i16 16769, i16 16421, i16 16388, i16 16769, i16 16769, i16 16445, i16 16385, i16 16769, i16 16769, i16 16445, i16 16388, i16 16769, i16 16769, i16 16451, i16 16388, i16 16769, i16 18687, i16 18690, i16 18517, i16 18687, i16 18687, i16 18690, i16 18425, i16 18687, i16 16791, i16 16389, i16 16388, i16 16791, i16 16791, i16 16389, i16 32766, i16 16791, i16 16791, i16 16392, i16 16385, i16 16791, i16 16791, i16 16392, i16 16388, i16 16791, i16 16791, i16 16393, i16 16385, i16 16791, i16 16791, i16 16393, i16 16388, i16 16791, i16 16791, i16 16405, i16 16385, i16 16791, i16 16791, i16 16405, i16 16388, i16 16791, i16 16791, i16 16397, i16 16385, i16 16791, i16 16791, i16 16397, i16 16388, i16 16791, i16 16791, i16 16398, i16 16385, i16 16791, i16 16791, i16 16398, i16 16388, i16 16791, i16 16791, i16 16394, i16 16385, i16 16791, i16 16791, i16 16394, i16 16388, i16 16791, i16 16791, i16 16412, i16 16385, i16 16791, i16 16791, i16 16412, i16 16388, i16 16791, i16 16791, i16 16413, i16 16385, i16 16791, i16 16791, i16 16413, i16 16388, i16 16791, i16 16791, i16 16415, i16 16385, i16 16791, i16 16791, i16 16415, i16 16388, i16 16791, i16 16791, i16 16414, i16 16385, i16 16791, i16 16791, i16 16414, i16 16388, i16 16791, i16 16791, i16 16436, i16 16385, i16 16791, i16 16791, i16 16436, i16 16388, i16 16791, i16 16791, i16 16395, i16 16385, i16 16791, i16 16791, i16 16395, i16 16388, i16 16791, i16 16791, i16 16402, i16 16385, i16 16791, i16 16791, i16 16402, i16 16388, i16 16791, i16 16791, i16 16404, i16 16385, i16 16791, i16 16791, i16 16404, i16 16388, i16 16791, i16 16791, i16 16400, i16 16385, i16 16791, i16 16791, i16 16400, i16 16388, i16 16791, i16 16791, i16 16396, i16 16385, i16 16791, i16 16791, i16 16396, i16 16388, i16 16791, i16 16791, i16 16406, i16 16385, i16 16791, i16 16791, i16 16406, i16 16388, i16 16791, i16 16791, i16 16431, i16 16385, i16 16791, i16 16791, i16 16431, i16 16388, i16 16791, i16 16791, i16 16444, i16 16385, i16 16791, i16 16791, i16 16444, i16 16388, i16 16791, i16 16791, i16 16452, i16 16385, i16 16791, i16 16791, i16 16452, i16 16388, i16 16791, i16 16791, i16 16443, i16 16385, i16 16791, i16 16791, i16 16443, i16 16388, i16 16791, i16 16791, i16 16449, i16 16385, i16 16791, i16 16791, i16 16449, i16 16388, i16 16791, i16 16791, i16 16440, i16 16385, i16 16791, i16 16791, i16 16440, i16 16388, i16 16791, i16 16791, i16 16391, i16 16385, i16 16791, i16 16791, i16 16391, i16 16388, i16 16791, i16 16791, i16 16419, i16 16385, i16 16791, i16 16791, i16 16419, i16 16388, i16 16791, i16 16791, i16 16420, i16 16385, i16 16791, i16 16791, i16 16420, i16 16388, i16 16791, i16 16791, i16 16401, i16 16385, i16 16791, i16 16791, i16 16401, i16 16388, i16 16791, i16 16791, i16 16422, i16 16385, i16 16791, i16 16791, i16 16422, i16 16388, i16 16791, i16 16791, i16 16423, i16 16385, i16 16791, i16 16791, i16 16423, i16 16388, i16 16791, i16 16791, i16 16425, i16 16385, i16 16791, i16 16791, i16 16425, i16 16388, i16 16791, i16 16791, i16 16424, i16 16385, i16 16791, i16 16791, i16 16424, i16 16388, i16 16791, i16 16791, i16 16441, i16 16385, i16 16791, i16 16791, i16 16441, i16 16388, i16 16791, i16 18693, i16 18696, i16 18517, i16 18693, i16 18693, i16 18696, i16 18425, i16 18693, i16 16861, i16 16389, i16 16388, i16 16861, i16 16861, i16 16392, i16 16385, i16 16861, i16 16861, i16 16392, i16 16388, i16 16861, i16 16861, i16 16390, i16 16385, i16 16861, i16 16861, i16 16390, i16 16388, i16 16861, i16 16868, i16 16389, i16 16388, i16 16868, i16 16871, i16 16389, i16 16388, i16 16871, i16 16871, i16 16392, i16 16385, i16 16871, i16 16871, i16 16392, i16 16388, i16 16871, i16 16871, i16 16405, i16 16385, i16 16871, i16 16871, i16 16405, i16 16388, i16 16871, i16 16871, i16 16398, i16 16385, i16 16871, i16 16871, i16 16398, i16 16388, i16 16871, i16 16871, i16 16390, i16 16385, i16 16871, i16 16871, i16 16390, i16 16388, i16 16871, i16 16871, i16 16444, i16 16385, i16 16871, i16 16871, i16 16444, i16 16388, i16 16871, i16 16871, i16 16448, i16 16385, i16 16871, i16 16871, i16 16448, i16 16388, i16 16871, i16 16871, i16 16434, i16 16385, i16 16871, i16 16871, i16 16434, i16 16388, i16 16871, i16 16871, i16 16445, i16 16385, i16 16871, i16 16871, i16 16445, i16 16388, i16 16871, i16 16889, i16 16395, i16 16388, i16 16889, i16 16892, i16 16389, i16 16388, i16 16892, i16 18699, i16 18643, i16 18702, i16 18699, i16 16892, i16 16392, i16 16385, i16 16892, i16 16892, i16 16392, i16 16388, i16 16892, i16 16892, i16 16403, i16 16385, i16 16892, i16 16892, i16 16403, i16 16388, i16 16892, i16 16892, i16 16394, i16 16385, i16 16892, i16 16892, i16 16394, i16 16388, i16 16892, i16 16892, i16 16390, i16 16385, i16 16892, i16 16892, i16 16390, i16 16388, i16 16892, i16 16892, i16 16444, i16 16385, i16 16892, i16 16892, i16 16444, i16 16388, i16 16892, i16 16892, i16 16433, i16 16385, i16 16892, i16 16892, i16 16433, i16 16388, i16 16892, i16 16892, i16 16448, i16 16385, i16 16892, i16 16892, i16 16448, i16 16388, i16 16892, i16 16909, i16 16395, i16 16388, i16 16909, i16 16909, i16 16416, i16 16385, i16 16909, i16 16909, i16 16416, i16 16388, i16 16909, i16 16892, i16 32766, i16 16388, i16 16892, i16 18705, i16 18643, i16 18708, i16 18705, i16 18699, i16 18643, i16 18711, i16 16384, i16 16917, i16 16389, i16 16388, i16 16917, i16 16917, i16 16395, i16 16385, i16 16917, i16 16917, i16 16395, i16 16388, i16 16917, i16 16917, i16 16390, i16 16385, i16 16917, i16 16917, i16 16390, i16 16388, i16 16917, i16 16917, i16 16444, i16 16385, i16 16917, i16 16917, i16 16444, i16 16388, i16 16917, i16 16917, i16 16452, i16 16385, i16 16917, i16 16917, i16 16452, i16 16388, i16 16917, i16 16917, i16 16448, i16 16385, i16 16917, i16 16917, i16 16448, i16 16388, i16 16917, i16 16917, i16 16421, i16 16385, i16 16917, i16 16917, i16 16421, i16 16388, i16 16917, i16 16917, i16 16445, i16 16385, i16 16917, i16 16917, i16 16445, i16 16388, i16 16917, i16 18714, i16 18717, i16 18517, i16 18714, i16 18714, i16 18717, i16 18425, i16 18714, i16 16936, i16 16389, i16 16388, i16 16936, i16 16936, i16 16392, i16 16385, i16 16936, i16 16936, i16 16392, i16 16388, i16 16936, i16 16936, i16 16393, i16 16385, i16 16936, i16 16936, i16 16393, i16 16388, i16 16936, i16 16936, i16 16405, i16 16385, i16 16936, i16 16936, i16 16405, i16 16388, i16 16936, i16 16936, i16 16397, i16 16385, i16 16936, i16 16936, i16 16397, i16 16388, i16 16936, i16 16936, i16 16398, i16 16385, i16 16936, i16 16936, i16 16398, i16 16388, i16 16936, i16 16936, i16 16394, i16 16385, i16 16936, i16 16936, i16 16394, i16 16388, i16 16936, i16 16936, i16 16395, i16 16385, i16 16936, i16 16936, i16 16395, i16 16388, i16 16936, i16 16936, i16 16399, i16 16385, i16 16936, i16 16936, i16 16399, i16 16388, i16 16936, i16 16936, i16 16402, i16 16385, i16 16936, i16 16936, i16 16402, i16 16388, i16 16936, i16 16936, i16 16426, i16 16385, i16 16936, i16 16936, i16 16426, i16 16388, i16 16936, i16 16936, i16 16427, i16 16385, i16 16936, i16 16936, i16 16427, i16 16388, i16 16936, i16 16936, i16 16428, i16 16385, i16 16936, i16 16936, i16 16428, i16 16388, i16 16936, i16 16936, i16 16429, i16 16385, i16 16936, i16 16936, i16 16429, i16 16388, i16 16936, i16 16936, i16 16404, i16 16385, i16 16936, i16 16936, i16 16404, i16 16388, i16 16936, i16 16936, i16 16400, i16 16385, i16 16936, i16 16936, i16 16400, i16 16388, i16 16936, i16 16936, i16 16396, i16 16385, i16 16936, i16 16936, i16 16396, i16 16388, i16 16936, i16 16936, i16 16406, i16 16385, i16 16936, i16 16936, i16 16406, i16 16388, i16 16936, i16 16936, i16 16446, i16 16385, i16 16936, i16 16936, i16 16446, i16 16388, i16 16936, i16 16936, i16 16444, i16 16385, i16 16936, i16 16936, i16 16444, i16 16388, i16 16936, i16 16936, i16 16449, i16 16385, i16 16936, i16 16936, i16 16449, i16 16388, i16 16936, i16 16936, i16 16391, i16 16385, i16 16936, i16 16936, i16 16391, i16 16388, i16 16936, i16 16936, i16 16430, i16 16385, i16 16936, i16 16936, i16 16430, i16 16388, i16 16936, i16 16936, i16 16442, i16 16385, i16 16936, i16 16936, i16 16442, i16 16388, i16 16936, i16 16936, i16 16421, i16 16385, i16 16936, i16 16936, i16 16421, i16 16388, i16 16936, i16 16936, i16 16401, i16 16385, i16 16936, i16 16936, i16 16401, i16 16388, i16 16936, i16 16936, i16 16422, i16 16385, i16 16936, i16 16936, i16 16422, i16 16388, i16 16936, i16 16936, i16 16423, i16 16385, i16 16936, i16 16936, i16 16423, i16 16388, i16 16936, i16 16936, i16 16425, i16 16385, i16 16936, i16 16936, i16 16425, i16 16388, i16 16936, i16 16936, i16 16424, i16 16385, i16 16936, i16 16936, i16 16424, i16 16388, i16 16936, i16 16936, i16 16441, i16 16385, i16 16936, i16 16936, i16 16441, i16 16388, i16 16936, i16 16999, i16 16389, i16 16388, i16 16999, i16 16999, i16 16396, i16 16385, i16 16999, i16 16999, i16 16396, i16 16388, i16 16999, i16 16999, i16 16444, i16 16385, i16 16999, i16 16999, i16 16444, i16 16388, i16 16999, i16 17006, i16 16389, i16 16388, i16 17006, i16 17006, i16 16392, i16 16385, i16 17006, i16 17006, i16 16392, i16 16388, i16 17006, i16 17006, i16 16393, i16 16385, i16 17006, i16 17006, i16 16393, i16 16388, i16 17006, i16 17006, i16 16394, i16 16385, i16 17006, i16 17006, i16 16394, i16 16388, i16 17006, i16 17006, i16 16402, i16 16385, i16 17006, i16 17006, i16 16402, i16 16388, i16 17006, i16 17006, i16 16390, i16 16385, i16 17006, i16 17006, i16 16390, i16 16388, i16 17006, i16 17006, i16 16444, i16 16385, i16 17006, i16 17006, i16 16444, i16 16388, i16 17006, i16 17021, i16 16389, i16 16388, i16 17021, i16 17021, i16 16402, i16 16385, i16 17021, i16 17021, i16 16402, i16 16388, i16 17021, i16 17021, i16 16390, i16 16385, i16 17021, i16 17021, i16 16390, i16 16388, i16 17021, i16 17028, i16 16389, i16 16388, i16 17028, i16 17028, i16 16392, i16 16385, i16 17028, i16 17028, i16 16392, i16 16388, i16 17028, i16 17028, i16 16393, i16 16385, i16 17028, i16 17028, i16 16393, i16 16388, i16 17028, i16 17028, i16 16394, i16 16385, i16 17028, i16 17028, i16 16394, i16 16388, i16 17028, i16 17028, i16 16402, i16 16385, i16 17028, i16 17028, i16 16402, i16 16388, i16 17028, i16 17028, i16 16400, i16 16385, i16 17028, i16 17028, i16 16400, i16 16388, i16 17028, i16 17028, i16 16396, i16 16385, i16 17028, i16 17028, i16 16396, i16 16388, i16 17028, i16 17028, i16 16390, i16 16385, i16 17028, i16 17028, i16 16390, i16 16388, i16 17028, i16 17028, i16 16444, i16 16385, i16 17028, i16 17028, i16 16444, i16 16388, i16 17028, i16 17047, i16 16389, i16 16388, i16 17047, i16 17047, i16 16392, i16 16385, i16 17047, i16 17047, i16 16392, i16 16388, i16 17047, i16 17047, i16 16394, i16 16385, i16 17047, i16 17047, i16 16394, i16 16388, i16 17047, i16 17047, i16 16390, i16 16385, i16 17047, i16 17047, i16 16390, i16 16388, i16 17047, i16 17047, i16 16444, i16 16385, i16 17047, i16 17047, i16 16444, i16 16388, i16 17047, i16 17047, i16 16452, i16 16385, i16 17047, i16 17047, i16 16452, i16 16388, i16 17047, i16 17047, i16 16445, i16 16385, i16 17047, i16 17047, i16 16445, i16 16388, i16 17047, i16 17062, i16 16395, i16 16388, i16 17062, i16 32766, i16 32766, i16 16384, i16 32766, i16 17064, i16 32766, i16 16384, i16 17064, i16 17073, i16 32766, i16 16384, i16 17073, i16 17074, i16 32766, i16 16384, i16 17074, i16 17075, i16 32766, i16 16384, i16 17075, i16 17076, i16 32766, i16 16384, i16 17076, i16 17077, i16 32766, i16 16384, i16 17077, i16 17078, i16 32766, i16 16384, i16 17078, i16 17079, i16 32766, i16 16384, i16 17079, i16 17080, i16 32766, i16 16384, i16 17080, i16 17081, i16 32766, i16 16384, i16 17081, i16 16384, i16 16384, i16 16384, i16 17133, i16 16384, i16 16384, i16 16384, i16 17135, i16 16384, i16 16384, i16 16384, i16 17197, i16 16384, i16 16384, i16 16384, i16 16384, i16 32766, i16 16385, i16 16453, i16 32766, i16 17723, i16 16385, i16 16454, i16 17723, i16 17723, i16 16388, i16 16453, i16 17723, i16 17723, i16 16388, i16 16454, i16 17723, i16 17727, i16 16388, i16 16453, i16 17727, i16 17729, i16 16388, i16 16453, i16 17729, i16 17731, i16 16388, i16 16453, i16 17731, i16 17733, i16 16385, i16 16454, i16 17733, i16 17733, i16 16388, i16 16453, i16 17733, i16 17733, i16 16388, i16 16454, i16 17733, i16 17737, i16 16388, i16 16453, i16 17737, i16 17739, i16 16385, i16 16454, i16 17739, i16 17739, i16 16388, i16 16453, i16 17739, i16 17739, i16 16388, i16 16454, i16 17739, i16 17743, i16 16388, i16 16453, i16 17743, i16 17745, i16 16385, i16 16454, i16 17745, i16 17745, i16 16385, i16 16455, i16 17745, i16 17745, i16 16388, i16 16453, i16 17745, i16 17745, i16 16388, i16 16454, i16 17745, i16 17745, i16 16388, i16 16455, i16 17745, i16 17745, i16 16388, i16 16456, i16 17745, i16 17752, i16 16388, i16 16453, i16 17752, i16 17754, i16 16388, i16 16453, i16 17754, i16 17756, i16 16388, i16 16453, i16 17756, i16 17758, i16 16388, i16 16453, i16 17758, i16 17760, i16 16388, i16 16453, i16 17760, i16 17762, i16 16385, i16 16454, i16 17762, i16 17762, i16 16388, i16 16453, i16 17762, i16 17762, i16 16388, i16 16454, i16 17762, i16 17766, i16 16388, i16 16453, i16 17766, i16 17768, i16 16388, i16 16453, i16 17768, i16 17770, i16 16388, i16 16453, i16 17770, i16 17770, i16 16388, i16 32766, i16 17770, i16 17773, i16 16388, i16 16453, i16 17773, i16 17775, i16 16385, i16 16454, i16 17775, i16 17775, i16 16385, i16 16455, i16 17775, i16 17775, i16 16388, i16 16453, i16 17775, i16 17775, i16 16388, i16 16454, i16 17775, i16 17775, i16 16388, i16 16455, i16 17775, i16 17775, i16 16388, i16 16456, i16 17775, i16 17782, i16 16388, i16 16453, i16 17782, i16 17784, i16 16388, i16 16453, i16 17784, i16 17786, i16 16388, i16 16453, i16 17786, i16 17788, i16 16385, i16 16454, i16 17788, i16 17788, i16 16388, i16 16453, i16 17788, i16 17788, i16 16388, i16 16454, i16 17788, i16 32766, i16 16457, i16 16385, i16 32766, i16 17792, i16 16457, i16 16388, i16 17792, i16 17794, i16 16457, i16 16388, i16 17794, i16 17796, i16 16457, i16 16388, i16 17796, i16 17798, i16 16457, i16 16388, i16 17798, i16 17800, i16 16457, i16 16388, i16 17800, i16 17802, i16 16457, i16 16388, i16 17802, i16 17804, i16 16457, i16 16388, i16 17804, i16 17806, i16 16457, i16 16388, i16 17806, i16 17808, i16 16457, i16 16388, i16 17808, i16 17810, i16 16457, i16 16388, i16 17810, i16 17812, i16 16457, i16 16388, i16 17812, i16 17814, i16 16457, i16 16388, i16 17814, i16 17816, i16 16457, i16 16388, i16 17816, i16 17818, i16 16457, i16 16388, i16 17818, i16 17820, i16 16457, i16 16388, i16 17820, i16 17822, i16 16457, i16 16388, i16 17822, i16 17824, i16 16457, i16 16388, i16 17824, i16 17826, i16 16457, i16 16388, i16 17826, i16 17828, i16 16457, i16 16388, i16 17828, i16 17830, i16 16457, i16 16388, i16 17830, i16 17832, i16 16457, i16 16388, i16 17832, i16 17834, i16 16457, i16 16388, i16 17834, i16 17836, i16 16457, i16 16388, i16 17836, i16 17838, i16 16457, i16 16388, i16 17838, i16 17840, i16 16457, i16 16388, i16 17840, i16 17842, i16 16457, i16 16388, i16 17842, i16 17844, i16 16457, i16 16388, i16 17844, i16 17846, i16 16457, i16 16388, i16 17846, i16 17848, i16 16457, i16 16388, i16 17848, i16 17850, i16 16457, i16 16388, i16 17850, i16 17852, i16 16457, i16 16388, i16 17852, i16 17854, i16 16457, i16 16388, i16 17854, i16 17856, i16 16457, i16 16388, i16 17856, i16 17858, i16 16457, i16 16388, i16 17858, i16 17860, i16 16457, i16 16388, i16 17860, i16 17862, i16 16457, i16 16388, i16 17862, i16 17864, i16 16457, i16 16388, i16 17864, i16 17866, i16 16457, i16 16388, i16 17866, i16 17868, i16 16457, i16 16388, i16 17868, i16 17870, i16 16457, i16 16388, i16 17870, i16 17872, i16 16457, i16 16388, i16 17872, i16 32766, i16 16457, i16 16388, i16 32766, i16 17874, i16 16457, i16 16385, i16 17874, i16 17876, i16 16457, i16 16388, i16 17876, i16 17878, i16 16457, i16 16385, i16 17878, i16 17880, i16 16457, i16 16388, i16 17880, i16 17882, i16 16457, i16 16388, i16 17882, i16 17884, i16 16457, i16 16388, i16 17884, i16 17886, i16 16457, i16 16388, i16 17886, i16 17888, i16 16457, i16 16388, i16 17888, i16 17890, i16 16457, i16 16388, i16 17890, i16 17892, i16 16457, i16 16388, i16 17892, i16 17894, i16 16457, i16 16388, i16 17894, i16 32766, i16 16384, i16 16384, i16 32766, i16 17928, i16 32766, i16 16384, i16 17928, i16 17927, i16 32766, i16 16384, i16 17927, i16 17937, i16 32766, i16 16384, i16 17937, i16 17941, i16 32766, i16 16384, i16 17941, i16 17948, i16 32766, i16 16384, i16 17948, i16 17956, i16 32766, i16 16384, i16 17956, i16 17961, i16 32766, i16 16384, i16 17961, i16 17966, i16 32766, i16 16384, i16 17966, i16 17971, i16 32766, i16 16384, i16 17971, i16 17976, i16 32766, i16 16384, i16 17976, i16 17979, i16 32766, i16 16384, i16 17979, i16 17982, i16 32766, i16 16384, i16 17982, i16 17985, i16 32766, i16 16384, i16 17985, i16 17988, i16 32766, i16 16384, i16 17988, i16 17993, i16 32766, i16 16384, i16 17993, i16 17998, i16 32766, i16 16384, i16 17998, i16 18003, i16 32766, i16 16384, i16 18003, i16 18008, i16 32766, i16 16384, i16 18008, i16 18013, i16 32766, i16 16384, i16 18013, i16 18018, i16 32766, i16 16384, i16 18018, i16 18023, i16 32766, i16 16384, i16 18023, i16 18028, i16 32766, i16 16384, i16 18028, i16 18033, i16 32766, i16 16384, i16 18033, i16 18038, i16 32766, i16 16384, i16 18038, i16 18043, i16 32766, i16 16384, i16 18043, i16 18048, i16 32766, i16 16384, i16 18048, i16 18053, i16 32766, i16 16384, i16 18053, i16 18058, i16 32766, i16 16384, i16 18058, i16 18063, i16 32766, i16 16384, i16 18063, i16 18066, i16 32766, i16 16384, i16 18066, i16 18069, i16 32766, i16 16384, i16 18069, i16 16384, i16 16384, i16 32766, i16 32766, i16 18720, i16 18720, i16 18723, i16 18720, i16 18720, i16 18726, i16 18729, i16 18720, i16 18732, i16 18732, i16 18735, i16 18732, i16 18732, i16 18738, i16 18741, i16 18732, i16 18744, i16 18744, i16 18747, i16 18744, i16 18744, i16 18750, i16 18753, i16 18744, i16 18756, i16 18759, i16 18762, i16 18756, i16 18756, i16 18765, i16 18768, i16 18756, i16 18101, i16 32766, i16 16384, i16 18101, i16 18105, i16 32766, i16 16384, i16 18105, i16 18109, i16 32766, i16 16384, i16 18109, i16 18114, i16 32766, i16 16384, i16 18114, i16 18118, i16 32766, i16 16384, i16 18118, i16 18122, i16 32766, i16 16384, i16 18122, i16 18127, i16 32766, i16 16384, i16 18127, i16 18131, i16 32766, i16 16384, i16 18131, i16 18135, i16 32766, i16 16384, i16 18135, i16 18140, i16 32766, i16 16384, i16 18140, i16 18144, i16 32766, i16 16384, i16 18144, i16 18148, i16 32766, i16 16384, i16 18148, i16 18152, i16 32766, i16 16384, i16 18152, i16 18156, i16 32766, i16 16384, i16 18156, i16 18160, i16 32766, i16 16384, i16 18160, i16 18164, i16 32766, i16 16384, i16 18164, i16 18168, i16 32766, i16 16384, i16 18168, i16 18172, i16 32766, i16 16384, i16 18172, i16 18178, i16 32766, i16 16384, i16 18178, i16 18182, i16 32766, i16 16384, i16 18182, i16 18186, i16 32766, i16 16384, i16 18186, i16 18188, i16 32766, i16 16384, i16 18188, i16 18190, i16 32766, i16 16384, i16 18190, i16 18192, i16 32766, i16 16384, i16 18192, i16 18194, i16 32766, i16 16384, i16 18194, i16 18196, i16 32766, i16 16384, i16 18196, i16 18202, i16 32766, i16 16384, i16 18202, i16 18208, i16 32766, i16 16384, i16 18208, i16 18214, i16 32766, i16 16384, i16 18214, i16 18220, i16 32766, i16 16384, i16 18220, i16 18226, i16 32766, i16 16384, i16 18226, i16 18228, i16 32766, i16 16384, i16 18228, i16 18230, i16 32766, i16 16384, i16 18230, i16 18232, i16 32766, i16 16384, i16 18232, i16 18234, i16 32766, i16 16384, i16 18234, i16 18236, i16 32766, i16 16384, i16 18236, i16 18240, i16 32766, i16 16384, i16 18240, i16 18244, i16 32766, i16 16384, i16 18244, i16 18248, i16 32766, i16 16384, i16 18248, i16 18250, i16 32766, i16 16384, i16 18250, i16 18252, i16 32766, i16 16384, i16 18252, i16 18254, i16 32766, i16 16384, i16 18254, i16 18256, i16 32766, i16 16384, i16 18256, i16 18258, i16 32766, i16 16384, i16 18258, i16 18262, i16 32766, i16 16384, i16 18262, i16 18264, i16 32766, i16 16384, i16 18264, i16 18266, i16 32766, i16 16384, i16 18266, i16 18268, i16 32766, i16 16384, i16 18268, i16 32766, i16 32766, i16 16384, i16 16384, i16 16396, i16 32766, i16 16384, i16 16384, i16 16398, i16 32766, i16 16384, i16 16384, i16 16400, i16 32766, i16 16384, i16 16384, i16 16402, i16 32766, i16 16384, i16 16384, i16 16404, i16 32766, i16 16384, i16 16384, i16 16406, i16 32766, i16 16384, i16 16384, i16 16408, i16 32766, i16 16384, i16 16384, i16 16410, i16 32766, i16 16384, i16 16384, i16 16412, i16 32766, i16 16384, i16 16384, i16 16414, i16 32766, i16 16384, i16 16384, i16 16416, i16 32766, i16 16384, i16 16384, i16 16418, i16 32766, i16 16384, i16 16384, i16 16420, i16 32766, i16 16384, i16 16384, i16 16422, i16 32766, i16 16384, i16 16384, i16 16424, i16 32766, i16 16384, i16 16384, i16 16426, i16 32766, i16 16384, i16 16384, i16 16428, i16 32766, i16 16384, i16 16384, i16 16430, i16 32766, i16 16384, i16 16384, i16 16432, i16 32766, i16 16384, i16 16384, i16 16434, i16 32766, i16 16384, i16 16384, i16 16436, i16 32766, i16 16384, i16 16384, i16 16438, i16 32766, i16 16384, i16 16384, i16 16440, i16 32766, i16 16384, i16 16384, i16 16442, i16 32766, i16 16384, i16 16384, i16 16444, i16 32766, i16 16384, i16 16384, i16 16446, i16 32766, i16 16384, i16 16384, i16 16384, i16 32766, i16 16384, i16 16384, i16 16384, i16 16384, i16 32766, i16 16384, i16 16384, i16 32766, i16 16385, i16 16385, i16 32766, i16 16385, i16 16385, i16 16385, i16 16438, i16 16386, i16 16385, i16 16385, i16 16440, i16 16386, i16 16385, i16 16385, i16 16442, i16 16386, i16 16385, i16 16385, i16 16444, i16 16386, i16 16385, i16 16385, i16 16446, i16 16386, i16 16385, i16 16385, i16 16448, i16 16386, i16 16385, i16 16385, i16 16450, i16 16386, i16 16385, i16 16385, i16 16452, i16 16386, i16 16385, i16 16385, i16 16454, i16 16386, i16 16385, i16 16385, i16 16456, i16 16386, i16 16385, i16 16385, i16 32766, i16 16385, i16 16385, i16 16387, i16 16458, i16 16385, i16 16385, i16 16388, i16 16460, i16 16385, i16 16385, i16 16388, i16 16462, i16 16385, i16 16385, i16 16388, i16 16464, i16 16385, i16 16385, i16 16388, i16 16466, i16 16385, i16 16385, i16 16388, i16 16468, i16 16385, i16 16385, i16 16388, i16 16470, i16 16385, i16 16385, i16 16388, i16 16472, i16 16385, i16 16385, i16 16388, i16 16474, i16 16385, i16 16385, i16 16388, i16 16476, i16 16385, i16 16385, i16 16388, i16 16478, i16 16385, i16 16385, i16 16388, i16 16480, i16 16385, i16 16385, i16 16388, i16 16482, i16 16385, i16 16385, i16 16388, i16 16484, i16 16385, i16 16385, i16 16388, i16 16486, i16 16385, i16 16385, i16 16388, i16 16488, i16 16385, i16 16385, i16 16388, i16 16490, i16 16385, i16 16385, i16 16388, i16 16492, i16 16385, i16 16385, i16 16388, i16 16494, i16 16385, i16 16385, i16 16388, i16 16496, i16 16385, i16 16385, i16 16388, i16 16498, i16 16385, i16 16385, i16 16388, i16 16500, i16 16385, i16 16385, i16 16388, i16 16502, i16 16385, i16 16385, i16 16388, i16 16504, i16 16385, i16 16385, i16 16388, i16 16506, i16 16385, i16 16385, i16 16388, i16 16508, i16 16385, i16 16385, i16 16388, i16 17294, i16 16385, i16 16385, i16 16385, i16 17297, i16 16385, i16 16385, i16 16385, i16 17300, i16 16385, i16 16385, i16 16385, i16 17303, i16 16385, i16 16385, i16 16385, i16 17306, i16 16385, i16 16385, i16 16385, i16 17309, i16 16385, i16 16385, i16 16385, i16 17312, i16 16385, i16 16385, i16 16385, i16 17315, i16 16385, i16 16385, i16 16385, i16 17318, i16 16385, i16 16385, i16 16385, i16 17321, i16 16385, i16 16385, i16 16385, i16 17324, i16 16385, i16 16385, i16 16385, i16 17327, i16 16385, i16 16385, i16 16385, i16 17330, i16 16385, i16 16385, i16 16385, i16 17333, i16 16385, i16 16385, i16 16385, i16 17336, i16 16385, i16 16385, i16 16385, i16 17339, i16 16385, i16 16385, i16 16385, i16 17342, i16 16385, i16 16385, i16 16385, i16 17345, i16 16385, i16 16385, i16 16385, i16 17348, i16 16385, i16 16385, i16 16385, i16 17351, i16 16385, i16 16385, i16 16385, i16 17354, i16 16385, i16 16385, i16 16385, i16 17357, i16 16385, i16 16385, i16 16385, i16 17360, i16 16385, i16 16385, i16 16385, i16 17363, i16 16385, i16 16385, i16 16385, i16 17366, i16 16385, i16 16385, i16 16385, i16 17369, i16 16385, i16 16385, i16 16385, i16 17372, i16 16385, i16 16385, i16 16385, i16 17375, i16 16385, i16 16385, i16 16385, i16 17378, i16 16385, i16 16385, i16 16385, i16 17381, i16 16385, i16 16385, i16 16385, i16 17384, i16 16385, i16 16385, i16 16385, i16 17387, i16 16385, i16 16385, i16 16385, i16 17390, i16 16385, i16 16385, i16 16385, i16 17393, i16 16385, i16 16385, i16 16385, i16 17396, i16 16385, i16 16385, i16 16385, i16 17399, i16 16385, i16 16385, i16 16385, i16 17402, i16 16385, i16 16385, i16 16385, i16 17405, i16 16385, i16 16385, i16 16385, i16 17408, i16 16385, i16 16385, i16 16385, i16 17411, i16 16385, i16 16385, i16 16385, i16 17414, i16 16385, i16 16385, i16 16385, i16 17417, i16 16385, i16 16385, i16 16385, i16 17420, i16 16385, i16 16385, i16 16385, i16 17423, i16 16385, i16 16385, i16 16385, i16 17426, i16 16385, i16 16385, i16 16385, i16 17429, i16 16385, i16 16385, i16 16385, i16 17432, i16 16385, i16 16385, i16 16385, i16 17435, i16 16385, i16 16385, i16 16385, i16 17438, i16 16385, i16 16385, i16 16385, i16 17441, i16 16385, i16 16385, i16 16385, i16 17444, i16 16385, i16 16385, i16 16385, i16 17447, i16 16385, i16 16385, i16 16385, i16 17450, i16 16385, i16 16385, i16 16385, i16 17453, i16 16385, i16 16385, i16 16385, i16 17456, i16 16385, i16 16385, i16 16385, i16 17459, i16 16385, i16 16385, i16 16385, i16 17462, i16 16385, i16 16385, i16 16385, i16 17465, i16 16385, i16 16385, i16 16385, i16 17468, i16 16385, i16 16385, i16 16385, i16 17471, i16 16385, i16 16385, i16 16385, i16 17474, i16 16385, i16 16385, i16 16385, i16 17477, i16 16385, i16 16385, i16 16385, i16 17480, i16 16385, i16 16385, i16 16385, i16 17483, i16 16385, i16 16385, i16 16385, i16 17486, i16 16385, i16 16385, i16 16385, i16 17489, i16 16385, i16 16385, i16 16385, i16 17492, i16 16385, i16 16385, i16 16385, i16 17495, i16 16385, i16 16385, i16 16385, i16 17498, i16 16385, i16 16385, i16 16385, i16 17501, i16 16385, i16 16385, i16 16385, i16 17504, i16 16385, i16 16385, i16 16385, i16 17507, i16 16385, i16 16385, i16 16385, i16 17510, i16 16385, i16 16385, i16 16385, i16 17513, i16 16385, i16 16385, i16 16385, i16 17516, i16 16385, i16 16385, i16 16385, i16 17519, i16 16385, i16 16385, i16 16385, i16 17522, i16 16385, i16 16385, i16 16385, i16 17525, i16 16385, i16 16385, i16 16385, i16 17528, i16 16385, i16 16385, i16 16385, i16 17531, i16 16385, i16 16385, i16 16385, i16 17534, i16 16385, i16 16385, i16 16385, i16 17537, i16 16385, i16 16385, i16 16385, i16 17540, i16 16385, i16 16385, i16 16385, i16 17543, i16 16385, i16 16385, i16 16385, i16 17546, i16 16385, i16 16385, i16 16385, i16 17549, i16 16385, i16 16385, i16 16385, i16 17552, i16 16385, i16 16385, i16 16385, i16 17555, i16 16385, i16 16385, i16 16385, i16 17558, i16 16385, i16 16385, i16 16385, i16 17561, i16 16385, i16 16385, i16 16385, i16 17564, i16 16385, i16 16385, i16 16385, i16 17567, i16 16385, i16 16385, i16 16385, i16 17570, i16 16385, i16 16385, i16 16385, i16 17573, i16 16385, i16 16385, i16 16385, i16 17576, i16 16385, i16 16385, i16 16385, i16 17579, i16 16385, i16 16385, i16 16385, i16 17582, i16 16385, i16 16385, i16 16385, i16 17585, i16 16385, i16 16385, i16 16385, i16 17588, i16 16385, i16 16385, i16 16385, i16 17591, i16 16385, i16 16385, i16 16385, i16 17594, i16 16385, i16 16385, i16 16385, i16 17597, i16 16385, i16 16385, i16 16385, i16 17600, i16 16385, i16 16385, i16 16385, i16 17603, i16 16385, i16 16385, i16 16385, i16 17606, i16 16385, i16 16385, i16 16385, i16 17609, i16 16385, i16 16385, i16 16385, i16 17612, i16 16385, i16 16385, i16 16385, i16 17615, i16 16385, i16 16385, i16 16385, i16 17618, i16 16385, i16 16385, i16 16385, i16 17621, i16 16385, i16 16385, i16 16385, i16 17624, i16 16385, i16 16385, i16 16385, i16 17627, i16 16385, i16 16385, i16 16385, i16 17630, i16 16385, i16 16385, i16 16385, i16 17633, i16 16385, i16 16385, i16 16385, i16 17636, i16 16385, i16 16385, i16 16385, i16 17639, i16 16385, i16 16385, i16 16385, i16 17642, i16 16385, i16 16385, i16 16385, i16 17645, i16 16385, i16 16385, i16 16385, i16 17648, i16 16385, i16 16385, i16 16385, i16 17651, i16 16385, i16 16385, i16 16385, i16 17654, i16 16385, i16 16385, i16 16385, i16 17657, i16 16385, i16 16385, i16 16385, i16 17660, i16 16385, i16 16385, i16 16385, i16 17663, i16 16385, i16 16385, i16 16385, i16 17666, i16 16385, i16 16385, i16 16385, i16 17669, i16 16385, i16 16385, i16 16385, i16 17672, i16 16385, i16 16385, i16 16385, i16 17675, i16 16385, i16 16385, i16 16385, i16 17678, i16 16385, i16 16385, i16 16385, i16 17681, i16 16385, i16 16385, i16 16385, i16 17684, i16 16385, i16 16385, i16 16385, i16 17687, i16 16385, i16 16385, i16 16385, i16 17690, i16 16385, i16 16385, i16 16385, i16 17693, i16 16385, i16 16385, i16 16385, i16 17696, i16 16385, i16 16385, i16 16385, i16 17699, i16 16385, i16 16385, i16 16385, i16 17702, i16 16385, i16 16385, i16 16385, i16 17705, i16 16385, i16 16385, i16 16385, i16 17708, i16 16385, i16 16385, i16 16385, i16 17711, i16 16385, i16 16385, i16 16385, i16 17714, i16 16385, i16 16385, i16 16385, i16 17717, i16 16385, i16 16385, i16 16385, i16 17720, i16 16385, i16 16385, i16 16385, i16 17723, i16 16385, i16 16385, i16 16385, i16 17726, i16 16385, i16 16385, i16 16385, i16 17729, i16 16385, i16 16385, i16 16385, i16 17732, i16 16385, i16 16385, i16 16385, i16 17735, i16 16385, i16 16385, i16 16385, i16 17738, i16 16385, i16 16385, i16 16385, i16 17741, i16 16385, i16 16385, i16 16385, i16 17744, i16 16385, i16 16385, i16 16385, i16 17747, i16 16385, i16 16385, i16 16385, i16 17750, i16 16385, i16 16385, i16 16385, i16 17753, i16 16385, i16 16385, i16 16385, i16 17756, i16 16385, i16 16385, i16 16385, i16 17759, i16 16385, i16 16385, i16 16385, i16 17762, i16 16385, i16 16385, i16 16385, i16 17765, i16 16385, i16 16385, i16 16385, i16 17768, i16 16385, i16 16385, i16 16385, i16 17771, i16 16385, i16 16385, i16 16385, i16 17774, i16 16385, i16 16385, i16 16385, i16 17777, i16 16385, i16 16385, i16 16385, i16 17780, i16 16385, i16 16385, i16 16385, i16 17783, i16 16385, i16 16385, i16 16385, i16 17786, i16 16385, i16 16385, i16 16385, i16 17789, i16 16385, i16 16385, i16 16385, i16 17792, i16 16385, i16 16385, i16 16385, i16 17795, i16 16385, i16 16385, i16 16385, i16 17798, i16 16385, i16 16385, i16 16385, i16 17801, i16 16385, i16 16385, i16 16385, i16 17804, i16 16385, i16 16385, i16 16385, i16 17807, i16 16385, i16 16385, i16 16385, i16 17810, i16 16385, i16 16385, i16 16385, i16 17813, i16 16385, i16 16385, i16 16385, i16 17816, i16 16385, i16 16385, i16 16385, i16 17819, i16 16385, i16 16385, i16 16385, i16 17822, i16 16385, i16 16385, i16 16385, i16 17825, i16 16385, i16 16385, i16 16385, i16 17828, i16 16385, i16 16385, i16 16385, i16 17831, i16 16385, i16 16385, i16 16385, i16 17834, i16 16385, i16 16385, i16 16385, i16 17837, i16 16385, i16 16385, i16 16385, i16 17840, i16 16385, i16 16385, i16 16385, i16 17843, i16 16385, i16 16385, i16 16385, i16 17846, i16 16385, i16 16385, i16 16385, i16 17849, i16 16385, i16 16385, i16 16385, i16 17852, i16 16385, i16 16385, i16 16385, i16 17855, i16 16385, i16 16385, i16 16385, i16 17858, i16 16385, i16 16385, i16 16385, i16 17861, i16 16385, i16 16385, i16 16385, i16 17864, i16 16385, i16 16385, i16 16385, i16 17867, i16 16385, i16 16385, i16 16385, i16 17870, i16 16385, i16 16385, i16 16385, i16 17873, i16 16385, i16 16385, i16 16385, i16 17876, i16 16385, i16 16385, i16 16385, i16 17879, i16 16385, i16 16385, i16 16385, i16 17882, i16 16385, i16 16385, i16 16385, i16 17885, i16 16385, i16 16385, i16 16385, i16 17888, i16 16385, i16 16385, i16 16385, i16 17891, i16 16385, i16 16385, i16 16385, i16 17894, i16 16385, i16 16385, i16 16385, i16 17897, i16 16385, i16 16385, i16 16385, i16 17900, i16 16385, i16 16385, i16 16385, i16 17903, i16 16385, i16 16385, i16 16385, i16 17906, i16 16385, i16 16385, i16 16385, i16 17909, i16 16385, i16 16385, i16 16385, i16 17912, i16 16385, i16 16385, i16 16385, i16 17915, i16 16385, i16 16385, i16 16385, i16 17918, i16 16385, i16 16385, i16 16385, i16 17921, i16 16385, i16 16385, i16 16385, i16 17924, i16 16385, i16 16385, i16 16385, i16 17927, i16 16385, i16 16385, i16 16385, i16 17930, i16 16385, i16 16385, i16 16385, i16 17933, i16 16385, i16 16385, i16 16385, i16 17936, i16 16385, i16 16385, i16 16385, i16 17939, i16 16385, i16 16385, i16 16385, i16 17942, i16 16385, i16 16385, i16 16385, i16 17945, i16 16385, i16 16385, i16 16385, i16 17948, i16 16385, i16 16385, i16 16385, i16 17951, i16 16385, i16 16385, i16 16385, i16 16779, i16 16385, i16 16385, i16 16389, i16 32767, i16 16384, i16 16384, i16 16384, i16 17284, i16 17285, i16 0, i16 895, i16 895, i16 0, i16 17273, i16 17273, i16 0, i16 16434, i16 16428, i16 0, i16 16393, i16 16393, i16 0, i16 97, i16 905, i16 0, i16 14, i16 14, i16 0, i16 3, i16 3, i16 0, i16 4, i16 3, i16 0, i16 5, i16 3, i16 0, i16 6, i16 3, i16 0, i16 16425, i16 16428, i16 0, i16 16433, i16 17283, i16 0, i16 16437, i16 16437, i16 0, i16 16481, i16 17289, i16 0, i16 16398, i16 16398, i16 0, i16 91, i16 906, i16 0, i16 14, i16 13, i16 0, i16 3, i16 4, i16 0, i16 4, i16 4, i16 0, i16 14, i16 890, i16 0, i16 14, i16 892, i16 0, i16 16488, i16 16488, i16 0, i16 17279, i16 17279, i16 0, i16 16488, i16 16492, i16 0, i16 16492, i16 16492, i16 0, i16 17797, i16 17797, i16 0, i16 16393, i16 17601, i16 0, i16 16393, i16 17600, i16 0, i16 16393, i16 17273, i16 0, i16 17273, i16 16393, i16 0, i16 17273, i16 17601, i16 0, i16 17273, i16 17600, i16 0, i16 17798, i16 17798, i16 0, i16 17799, i16 17799, i16 0, i16 16393, i16 17796, i16 0, i16 16393, i16 17795, i16 0, i16 16393, i16 17794, i16 0, i16 16393, i16 17793, i16 0, i16 17273, i16 17796, i16 0, i16 17273, i16 17795, i16 0, i16 17273, i16 17794, i16 0, i16 17273, i16 17793, i16 0, i16 17800, i16 17800, i16 0, i16 17801, i16 17801, i16 0, i16 17802, i16 17802, i16 0, i16 17804, i16 17804, i16 0, i16 17805, i16 17805, i16 0, i16 17807, i16 17807, i16 0, i16 16475, i16 17934, i16 0, i16 16387, i16 16388, i16 0, i16 16388, i16 16388, i16 0, i16 16475, i16 17289, i16 0, i16 16398, i16 17274, i16 0, i16 16398, i16 17276, i16 0, i16 16475, i16 17290, i16 0, i16 16458, i16 17935, i16 17290, i16 16475, i16 0, i16 17279, i16 17279, i16 17279, i16 17279, i16 0, i16 16389, i16 16390, i16 16388, i16 16387, i16 0, i16 17296, i16 17302, i16 0, i16 17329, i16 17279, i16 0, i16 17296, i16 17303, i16 0, i16 17311, i16 17334, i16 0, i16 17314, i16 17334, i16 0, i16 17193, i16 17193, i16 0, i16 2, i16 2, i16 0, i16 17200, i16 17200, i16 0, i16 17193, i16 18178, i16 0, i16 17201, i16 17201, i16 0, i16 17193, i16 17285, i16 0, i16 17202, i16 17202, i16 0, i16 17193, i16 17193, i16 18178, i16 0, i16 2, i16 2, i16 2, i16 0, i16 17203, i16 17203, i16 17203, i16 0, i16 17193, i16 17193, i16 17285, i16 0, i16 17204, i16 17204, i16 17204, i16 0, i16 18178, i16 17267, i16 0, i16 881, i16 881, i16 0, i16 16385, i16 16385, i16 0, i16 18080, i16 18080, i16 0, i16 17408, i16 17427, i16 0, i16 17410, i16 17410, i16 0, i16 17408, i16 17408, i16 0, i16 18080, i16 17425, i16 0, i16 17426, i16 17426, i16 0, i16 17851, i16 17736, i16 0, i16 1467, i16 1352, i16 0, i16 17901, i16 17901, i16 0, i16 1467, i16 1353, i16 0, i16 17902, i16 17902, i16 0, i16 17851, i16 17738, i16 0, i16 1467, i16 1354, i16 0, i16 17903, i16 17903, i16 0, i16 1467, i16 1355, i16 0, i16 17904, i16 17904, i16 0, i16 17851, i16 17741, i16 0, i16 1467, i16 1357, i16 0, i16 17905, i16 17905, i16 0, i16 1467, i16 1358, i16 0, i16 17906, i16 17906, i16 0, i16 17851, i16 17745, i16 0, i16 1467, i16 1362, i16 0, i16 17907, i16 17907, i16 0, i16 1467, i16 1363, i16 0, i16 17908, i16 17908, i16 0, i16 17065, i16 17148, i16 0, i16 1770, i16 1770, i16 0, i16 1772, i16 1772, i16 0, i16 1774, i16 1774, i16 0, i16 17311, i16 17205, i16 0, i16 1814, i16 1814, i16 0, i16 17325, i16 17148, i16 0, i16 1830, i16 1830, i16 0, i16 17427, i16 17220, i16 0, i16 1840, i16 1840, i16 0, i16 16470, i16 16579, i16 0, i16 16530, i16 16530, i16 0, i16 16532, i16 16532, i16 0, i16 16534, i16 16534, i16 0, i16 16630, i16 16630, i16 0, i16 16389, i16 16389, i16 0, i16 16637, i16 16637, i16 0, i16 16630, i16 16681, i16 0, i16 16638, i16 16638, i16 0, i16 16630, i16 16739, i16 0, i16 16639, i16 16639, i16 0, i16 16630, i16 16630, i16 16681, i16 0, i16 16389, i16 16389, i16 16389, i16 0, i16 16640, i16 16640, i16 16640, i16 0, i16 16630, i16 16630, i16 16739, i16 0, i16 16641, i16 16641, i16 16641, i16 0, i16 16681, i16 16718, i16 0, i16 16716, i16 16716, i16 0, i16 16769, i16 16642, i16 0, i16 16789, i16 16789, i16 0, i16 16791, i16 16579, i16 0, i16 16859, i16 16859, i16 0, i16 16892, i16 16917, i16 0, i16 16894, i16 16894, i16 0, i16 16892, i16 16892, i16 0, i16 16388, i16 16915, i16 0, i16 16916, i16 16916, i16 0, i16 16917, i16 16661, i16 0, i16 16934, i16 16934, i16 0, i16 18043, i16 17928, i16 0, i16 18093, i16 18093, i16 0, i16 18043, i16 17929, i16 0, i16 18094, i16 18094, i16 0, i16 18043, i16 17930, i16 0, i16 18095, i16 18095, i16 0, i16 18043, i16 17931, i16 0, i16 18096, i16 18096, i16 0, i16 18043, i16 17933, i16 0, i16 18097, i16 18097, i16 0, i16 18043, i16 17934, i16 0, i16 18098, i16 18098, i16 0, i16 18043, i16 17937, i16 0, i16 18043, i16 17938, i16 0, i16 18099, i16 18099, i16 0, i16 18043, i16 17939, i16 0, i16 18100, i16 18100, i16 0, i16 16510, i16 16788, i16 0, i16 16510, i16 16789, i16 0, i16 16510, i16 16790, i16 0, i16 16510, i16 16791, i16 0, i16 16510, i16 16792, i16 0, i16 16516, i16 16788, i16 0, i16 16516, i16 16789, i16 0, i16 16516, i16 16790, i16 0, i16 16516, i16 16791, i16 0, i16 16516, i16 16792, i16 0, i16 16522, i16 16788, i16 0, i16 16522, i16 16789, i16 0, i16 16522, i16 16790, i16 0, i16 16522, i16 16791, i16 0, i16 16522, i16 16792, i16 0, i16 16528, i16 16788, i16 0, i16 16528, i16 16789, i16 0, i16 16528, i16 16790, i16 0, i16 16528, i16 16791, i16 0, i16 16528, i16 16792, i16 0, i16 16534, i16 16788, i16 0, i16 16534, i16 16789, i16 0, i16 16534, i16 16790, i16 0, i16 16534, i16 16791, i16 0, i16 16534, i16 16792, i16 0, i16 16540, i16 16788, i16 0, i16 16540, i16 16789, i16 0, i16 16540, i16 16790, i16 0, i16 16540, i16 16791, i16 0, i16 16540, i16 16792, i16 0, i16 16546, i16 16788, i16 0, i16 16546, i16 16789, i16 0, i16 16546, i16 16790, i16 0, i16 16546, i16 16791, i16 0, i16 16546, i16 16792, i16 0, i16 16552, i16 16788, i16 0, i16 16552, i16 16789, i16 0, i16 16552, i16 16790, i16 0, i16 16552, i16 16791, i16 0, i16 16552, i16 16792, i16 0, i16 16558, i16 16788, i16 0, i16 16558, i16 16789, i16 0, i16 16558, i16 16790, i16 0, i16 16558, i16 16791, i16 0, i16 16558, i16 16792, i16 0, i16 16564, i16 16788, i16 0, i16 16564, i16 16789, i16 0, i16 16564, i16 16790, i16 0, i16 16564, i16 16791, i16 0, i16 16564, i16 16792, i16 0, i16 16570, i16 16788, i16 0, i16 16570, i16 16789, i16 0, i16 16570, i16 16790, i16 0, i16 16570, i16 16791, i16 0, i16 16570, i16 16792, i16 0, i16 16576, i16 16788, i16 0, i16 16576, i16 16789, i16 0, i16 16576, i16 16790, i16 0, i16 16576, i16 16791, i16 0, i16 16576, i16 16792, i16 0, i16 16582, i16 16788, i16 0, i16 16582, i16 16789, i16 0, i16 16582, i16 16790, i16 0, i16 16582, i16 16791, i16 0, i16 16582, i16 16792, i16 0, i16 16588, i16 16788, i16 0, i16 16588, i16 16789, i16 0, i16 16588, i16 16790, i16 0, i16 16588, i16 16791, i16 0, i16 16588, i16 16792, i16 0, i16 16594, i16 16788, i16 0, i16 16594, i16 16789, i16 0, i16 16594, i16 16790, i16 0, i16 16594, i16 16791, i16 0, i16 16594, i16 16792, i16 0, i16 16600, i16 16788, i16 0, i16 16600, i16 16789, i16 0, i16 16600, i16 16790, i16 0, i16 16600, i16 16791, i16 0, i16 16600, i16 16792, i16 0, i16 16606, i16 16788, i16 0, i16 16606, i16 16789, i16 0, i16 16606, i16 16790, i16 0, i16 16606, i16 16791, i16 0, i16 16606, i16 16792, i16 0, i16 16612, i16 16788, i16 0, i16 16612, i16 16789, i16 0, i16 16612, i16 16790, i16 0, i16 16612, i16 16791, i16 0, i16 16612, i16 16792, i16 0, i16 16618, i16 16788, i16 0, i16 16618, i16 16789, i16 0, i16 16618, i16 16790, i16 0, i16 16618, i16 16791, i16 0, i16 16618, i16 16792, i16 0, i16 16624, i16 16788, i16 0, i16 16624, i16 16789, i16 0, i16 16624, i16 16790, i16 0, i16 16624, i16 16791, i16 0, i16 16624, i16 16792, i16 0, i16 16630, i16 16788, i16 0, i16 16630, i16 16789, i16 0, i16 16630, i16 16790, i16 0, i16 16630, i16 16791, i16 0, i16 16630, i16 16792, i16 0, i16 16636, i16 16788, i16 0, i16 16636, i16 16789, i16 0, i16 16636, i16 16790, i16 0, i16 16636, i16 16791, i16 0, i16 16636, i16 16792, i16 0, i16 16642, i16 16788, i16 0, i16 16642, i16 16789, i16 0, i16 16642, i16 16790, i16 0, i16 16642, i16 16791, i16 0, i16 16642, i16 16792, i16 0, i16 16648, i16 16788, i16 0, i16 16648, i16 16789, i16 0, i16 16648, i16 16790, i16 0, i16 16648, i16 16791, i16 0, i16 16648, i16 16792, i16 0, i16 16654, i16 16788, i16 0, i16 16654, i16 16789, i16 0, i16 16654, i16 16790, i16 0, i16 16654, i16 16791, i16 0, i16 16654, i16 16792, i16 0, i16 16660, i16 16788, i16 0, i16 16660, i16 16789, i16 0, i16 16660, i16 16790, i16 0, i16 16660, i16 16791, i16 0, i16 16660, i16 16792, i16 0, i16 16666, i16 16788, i16 0, i16 16666, i16 16789, i16 0, i16 16666, i16 16790, i16 0, i16 16666, i16 16791, i16 0, i16 16666, i16 16792, i16 0, i16 16672, i16 16788, i16 0, i16 16672, i16 16789, i16 0, i16 16672, i16 16790, i16 0, i16 16672, i16 16791, i16 0, i16 16672, i16 16792, i16 0, i16 16678, i16 16788, i16 0, i16 16678, i16 16789, i16 0, i16 16678, i16 16790, i16 0, i16 16678, i16 16791, i16 0, i16 16678, i16 16792, i16 0, i16 16684, i16 16788, i16 0, i16 16684, i16 16789, i16 0, i16 16684, i16 16790, i16 0, i16 16684, i16 16791, i16 0, i16 16684, i16 16792, i16 0, i16 16690, i16 16788, i16 0, i16 16690, i16 16789, i16 0, i16 16690, i16 16790, i16 0, i16 16690, i16 16791, i16 0, i16 16690, i16 16792, i16 0, i16 16696, i16 16788, i16 0, i16 16696, i16 16789, i16 0, i16 16696, i16 16790, i16 0, i16 16696, i16 16791, i16 0, i16 16696, i16 16792, i16 0, i16 16702, i16 16788, i16 0, i16 16702, i16 16789, i16 0, i16 16702, i16 16790, i16 0, i16 16702, i16 16791, i16 0, i16 16702, i16 16792, i16 0, i16 16708, i16 16788, i16 0, i16 16708, i16 16789, i16 0, i16 16708, i16 16790, i16 0, i16 16708, i16 16791, i16 0, i16 16708, i16 16792, i16 0, i16 16714, i16 16788, i16 0, i16 16714, i16 16789, i16 0, i16 16714, i16 16790, i16 0, i16 16714, i16 16791, i16 0, i16 16714, i16 16792, i16 0, i16 16721, i16 16788, i16 0, i16 16721, i16 16789, i16 0, i16 16721, i16 16790, i16 0, i16 16721, i16 16791, i16 0, i16 16721, i16 16792, i16 0, i16 16728, i16 16788, i16 0, i16 16728, i16 16789, i16 0, i16 16728, i16 16790, i16 0, i16 16728, i16 16791, i16 0, i16 16728, i16 16792, i16 0, i16 16734, i16 16788, i16 0, i16 16734, i16 16789, i16 0, i16 16734, i16 16790, i16 0, i16 16734, i16 16791, i16 0, i16 16734, i16 16792, i16 0, i16 16740, i16 16788, i16 0, i16 16740, i16 16789, i16 0, i16 16740, i16 16790, i16 0, i16 16740, i16 16791, i16 0, i16 16740, i16 16792, i16 0, i16 16746, i16 16788, i16 0, i16 16746, i16 16789, i16 0, i16 16746, i16 16790, i16 0, i16 16746, i16 16791, i16 0, i16 16746, i16 16792, i16 0, i16 16752, i16 16788, i16 0, i16 16752, i16 16789, i16 0, i16 16752, i16 16790, i16 0, i16 16752, i16 16791, i16 0, i16 16752, i16 16792, i16 0, i16 16758, i16 16788, i16 0, i16 16758, i16 16789, i16 0, i16 16758, i16 16790, i16 0, i16 16758, i16 16791, i16 0, i16 16758, i16 16792, i16 0, i16 16764, i16 16788, i16 0, i16 16764, i16 16789, i16 0, i16 16764, i16 16790, i16 0, i16 16764, i16 16791, i16 0, i16 16764, i16 16792, i16 0, i16 16770, i16 16788, i16 0, i16 16770, i16 16789, i16 0, i16 16770, i16 16790, i16 0, i16 16770, i16 16791, i16 0, i16 16770, i16 16792, i16 0, i16 14, i16 17, i16 8, i16 13, i16 15, i16 6, i16 12, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5, i16 10, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9, i16 7, i16 11, i16 0, i16 0, i16 16, i16 3, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4, i16 0, i16 1, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 15, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 168, i16 173, i16 100, i16 105, i16 110, i16 116, i16 125, i16 131, i16 140, i16 144, i16 146, i16 148, i16 151, i16 154, i16 160, i16 163, i16 120, i16 124, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 26, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 82, i16 114, i16 5, i16 119, i16 0, i16 32, i16 0, i16 136, i16 111, i16 6, i16 17, i16 8, i16 167, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 16, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 36, i16 0, i16 37, i16 0, i16 0, i16 0, i16 0, i16 0, i16 38, i16 0, i16 0, i16 0, i16 0, i16 39, i16 0, i16 40, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 55, i16 123, i16 129, i16 134, i16 139, i16 0, i16 52, i16 99, i16 104, i16 109, i16 115, i16 0, i16 0, i16 0, i16 0, i16 0, i16 77, i16 85, i16 89, i16 0, i16 170, i16 174, i16 178, i16 180, i16 147, i16 0, i16 0, i16 0, i16 0, i16 0, i16 35, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 25, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 61, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 80, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 58, i16 0, i16 0, i16 12, i16 0, i16 0, i16 0, i16 28, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 159, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 143, i16 145, i16 0, i16 0, i16 0, i16 0, i16 172, i16 177, i16 0, i16 0, i16 0, i16 0, i16 47, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 41, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 191, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 13, i16 0, i16 24, i16 51, i16 87, i16 93, i16 102, i16 70, i16 142, i16 175, i16 0, i16 76, i16 90, i16 72, i16 49, i16 4, i16 92, i16 53, i16 96, i16 0, i16 54, i16 0, i16 30, i16 97, i16 18, i16 31, i16 0, i16 0, i16 0, i16 79, i16 91, i16 10, i16 45, i16 0, i16 0, i16 0, i16 158, i16 33, i16 155, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9, i16 184, i16 81, i16 189, i16 196, i16 64, i16 94, i16 75, i16 88, i16 98, i16 66, i16 46, i16 63, i16 187, i16 84, i16 0, i16 50, i16 95, i16 101, i16 106, i16 150, i16 162, i16 133, i16 138, i16 169, i16 192, i16 126, i16 83, i16 183, i16 153, i16 135, i16 179, i16 112, i16 117, i16 122, i16 128, i16 132, i16 185, i16 194, i16 156, i16 195, i16 186, i16 200, i16 67, i16 176, i16 149, i16 181, i16 188, i16 57, i16 141, i16 121, i16 127, i16 130, i16 137, i16 103, i16 107, i16 113, i16 118, i16 56, i16 108, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 152, i16 43, i16 34, i16 7, i16 44, i16 171, i16 0, i16 0, i16 0, i16 165, i16 42, i16 166, i16 0, i16 0, i16 59, i16 19, i16 197, i16 199, i16 22, i16 20, i16 23, i16 21, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 48, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 27, i16 0, i16 0, i16 0, i16 182, i16 198, i16 60, i16 190, i16 62, i16 193, i16 65, i16 157, i16 161, i16 164, i16 69, i16 68, i16 71, i16 78, i16 74, i16 86, i16 0, i16 2, i16 29, i16 3, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 14, i16 73, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1292, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1197, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1199, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 557, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 597, i16 598, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 691, i16 692, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1211, i16 1210, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 701, i16 702, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 731, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 223, i16 230, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 245, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1198, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 268, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1298, i16 1296, i16 1297, i16 1295, i16 0, i16 0, i16 0, i16 0, i16 1569, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1570, i16 1571, i16 1572, i16 1573, i16 0, i16 0, i16 0, i16 0, i16 1106, i16 1107, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1661, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 246, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 247, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 250, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 251, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 253, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 269, i16 0, i16 0, i16 0, i16 270, i16 0, i16 0, i16 0, i16 376, i16 378, i16 379, i16 380, i16 0, i16 0, i16 0, i16 263, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 266, i16 267, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1290, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 581, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 584, i16 583, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 609, i16 610, i16 611, i16 612, i16 0, i16 0, i16 0, i16 0, i16 152, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1207, i16 1206, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 189, i16 0, i16 0, i16 0, i16 244, i16 0, i16 0, i16 0, i16 1224, i16 0, i16 0, i16 1223, i16 0, i16 0, i16 0, i16 0, i16 1226, i16 0, i16 0, i16 1225, i16 0, i16 0, i16 0, i16 0, i16 1228, i16 0, i16 0, i16 1227, i16 0, i16 0, i16 0, i16 0, i16 1230, i16 0, i16 0, i16 1229, i16 0, i16 0, i16 0, i16 0, i16 1232, i16 0, i16 0, i16 1231, i16 0, i16 0, i16 0, i16 0, i16 1234, i16 0, i16 0, i16 1233, i16 0, i16 0, i16 0, i16 0, i16 1241, i16 1240, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1243, i16 1242, i16 1205, i16 1204, i16 0, i16 0, i16 0, i16 0, i16 1247, i16 1246, i16 0, i16 0, i16 1249, i16 1248, i16 0, i16 0, i16 226, i16 228, i16 225, i16 0, i16 0, i16 0, i16 0, i16 0, i16 760, i16 0, i16 734, i16 0, i16 748, i16 0, i16 0, i16 260, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 264, i16 265, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 554, i16 0, i16 0, i16 0, i16 0, i16 552, i16 0, i16 0, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 0, i16 1069, i16 1070, i16 1071, i16 1079, i16 1072, i16 1081, i16 1657, i16 0, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 0, i16 564, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1076, i16 0, i16 0, i16 0, i16 0, i16 0, i16 577, i16 0, i16 1367, i16 1368, i16 1369, i16 1370, i16 1371, i16 1372, i16 1373, i16 0, i16 1127, i16 1125, i16 1124, i16 1126, i16 1128, i16 1129, i16 1130, i16 0, i16 1142, i16 1140, i16 1139, i16 1141, i16 1143, i16 1144, i16 1145, i16 0, i16 1196, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 256, i16 257, i16 255, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1024, i16 984, i16 489, i16 409, i16 0, i16 0, i16 487, i16 407, i16 258, i16 261, i16 259, i16 262, i16 0, i16 0, i16 0, i16 0, i16 1027, i16 987, i16 492, i16 412, i16 1028, i16 988, i16 1029, i16 989, i16 773, i16 0, i16 775, i16 825, i16 771, i16 822, i16 749, i16 800, i16 774, i16 776, i16 746, i16 766, i16 779, i16 786, i16 790, i16 794, i16 1032, i16 992, i16 500, i16 420, i16 1033, i16 993, i16 503, i16 424, i16 781, i16 792, i16 768, i16 769, i16 767, i16 821, i16 808, i16 0, i16 1037, i16 535, i16 534, i16 536, i16 1043, i16 545, i16 550, i16 1002, i16 526, i16 449, i16 529, i16 452, i16 1039, i16 999, i16 1041, i16 1001, i16 1038, i16 998, i16 521, i16 444, i16 525, i16 448, i16 527, i16 450, i16 271, i16 575, i16 576, i16 1075, i16 578, i16 579, i16 580, i16 1077, i16 1040, i16 1000, i16 1042, i16 1003, i16 531, i16 454, i16 532, i16 455, i16 1555, i16 1557, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1300, i16 1299, i16 0, i16 0, i16 0, i16 0, i16 1293, i16 1291, i16 1045, i16 1006, i16 539, i16 462, i16 542, i16 465, i16 546, i16 470, i16 791, i16 793, i16 798, i16 801, i16 802, i16 803, i16 804, i16 805, i16 1049, i16 1051, i16 1053, i16 1055, i16 1057, i16 1059, i16 1061, i16 1063, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 538, i16 461, i16 540, i16 463, i16 1044, i16 1005, i16 537, i16 460, i16 1050, i16 1052, i16 1054, i16 1056, i16 1058, i16 1060, i16 1062, i16 1064, i16 1306, i16 1305, i16 1308, i16 1307, i16 0, i16 0, i16 0, i16 0, i16 796, i16 730, i16 732, i16 733, i16 735, i16 737, i16 739, i16 741, i16 1565, i16 1566, i16 0, i16 0, i16 0, i16 0, i16 589, i16 590, i16 543, i16 544, i16 1637, i16 181, i16 213, i16 182, i16 224, i16 151, i16 799, i16 809, i16 813, i16 797, i16 0, i16 0, i16 0, i16 0, i16 290, i16 291, i16 0, i16 292, i16 293, i16 294, i16 295, i16 296, i16 547, i16 549, i16 472, i16 1048, i16 1009, i16 1047, i16 1008, i16 0, i16 551, i16 1074, i16 553, i16 555, i16 556, i16 558, i16 559, i16 560, i16 807, i16 758, i16 811, i16 810, i16 814, i16 816, i16 820, i16 823, i16 297, i16 298, i16 299, i16 300, i16 0, i16 0, i16 0, i16 0, i16 1065, i16 1067, i16 272, i16 273, i16 274, i16 275, i16 0, i16 0, i16 1066, i16 1068, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 561, i16 1567, i16 1568, i16 0, i16 0, i16 0, i16 0, i16 0, i16 562, i16 563, i16 565, i16 567, i16 568, i16 569, i16 570, i16 571, i16 819, i16 778, i16 780, i16 782, i16 783, i16 785, i16 787, i16 789, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 566, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1078, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 824, i16 826, i16 795, i16 818, i16 806, i16 817, i16 827, i16 0, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1108, i16 1109, i16 1088, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 572, i16 573, i16 574, i16 0, i16 0, i16 0, i16 0, i16 0, i16 828, i16 829, i16 830, i16 831, i16 832, i16 833, i16 834, i16 835, i16 1344, i16 1345, i16 1346, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1089, i16 695, i16 696, i16 697, i16 698, i16 1090, i16 1091, i16 585, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 836, i16 837, i16 839, i16 840, i16 841, i16 842, i16 843, i16 844, i16 838, i16 1131, i16 1132, i16 1134, i16 1133, i16 0, i16 1135, i16 1136, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 586, i16 587, i16 588, i16 1092, i16 1093, i16 593, i16 594, i16 595, i16 1100, i16 1101, i16 675, i16 676, i16 677, i16 678, i16 0, i16 0, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 845, i16 846, i16 847, i16 848, i16 849, i16 850, i16 851, i16 852, i16 591, i16 592, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 0, i16 596, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 853, i16 854, i16 855, i16 1137, i16 856, i16 1138, i16 857, i16 858, i16 599, i16 600, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 1117, i16 1118, i16 859, i16 860, i16 861, i16 862, i16 863, i16 864, i16 865, i16 866, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 1374, i16 1375, i16 1376, i16 1377, i16 1378, i16 1379, i16 1380, i16 1381, i16 1119, i16 1120, i16 1121, i16 1122, i16 1123, i16 0, i16 0, i16 0, i16 608, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 1632, i16 523, i16 1633, i16 1634, i16 1635, i16 533, i16 541, i16 1636, i16 867, i16 868, i16 869, i16 870, i16 871, i16 872, i16 873, i16 874, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 1382, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 875, i16 876, i16 877, i16 878, i16 879, i16 880, i16 881, i16 882, i16 620, i16 621, i16 622, i16 625, i16 626, i16 627, i16 628, i16 631, i16 365, i16 160, i16 192, i16 194, i16 191, i16 195, i16 241, i16 185, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 1390, i16 1391, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1646, i16 446, i16 1647, i16 1648, i16 1649, i16 456, i16 464, i16 1650, i16 623, i16 624, i16 633, i16 634, i16 629, i16 630, i16 1098, i16 1099, i16 883, i16 884, i16 885, i16 1153, i16 886, i16 1154, i16 887, i16 888, i16 374, i16 375, i16 158, i16 157, i16 234, i16 236, i16 238, i16 161, i16 1398, i16 1399, i16 1400, i16 1401, i16 1402, i16 1403, i16 1404, i16 0, i16 632, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 1146, i16 1147, i16 1148, i16 1150, i16 1149, i16 0, i16 1151, i16 1152, i16 1658, i16 1659, i16 1660, i16 954, i16 957, i16 959, i16 961, i16 964, i16 383, i16 0, i16 0, i16 0, i16 387, i16 388, i16 389, i16 390, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 391, i16 392, i16 219, i16 217, i16 0, i16 178, i16 180, i16 0, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 1163, i16 1164, i16 1165, i16 0, i16 0, i16 0, i16 0, i16 0, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 403, i16 402, i16 404, i16 405, i16 415, i16 414, i16 991, i16 416, i16 150, i16 159, i16 172, i16 215, i16 193, i16 216, i16 214, i16 169, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 1179, i16 1178, i16 1201, i16 1200, i16 0, i16 0, i16 0, i16 0, i16 413, i16 1642, i16 421, i16 422, i16 1643, i16 431, i16 1644, i16 1645, i16 674, i16 1094, i16 1095, i16 1096, i16 1097, i16 679, i16 680, i16 681, i16 164, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 167, i16 384, i16 438, i16 176, i16 377, i16 381, i16 382, i16 162, i16 423, i16 505, i16 426, i16 508, i16 429, i16 506, i16 427, i16 509, i16 168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 170, i16 171, i16 0, i16 0, i16 173, i16 174, i16 0, i16 0, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 430, i16 507, i16 428, i16 512, i16 434, i16 514, i16 436, i16 513, i16 177, i16 179, i16 212, i16 218, i16 156, i16 155, i16 165, i16 163, i16 690, i16 1102, i16 1103, i16 1104, i16 1105, i16 693, i16 694, i16 1110, i16 435, i16 433, i16 1035, i16 995, i16 520, i16 443, i16 0, i16 0, i16 1203, i16 1202, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1209, i16 1208, i16 0, i16 0, i16 0, i16 0, i16 1245, i16 1244, i16 699, i16 700, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 955, i16 956, i16 958, i16 0, i16 960, i16 0, i16 962, i16 963, i16 190, i16 474, i16 477, i16 1624, i16 1625, i16 481, i16 1626, i16 1627, i16 703, i16 1652, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 1215, i16 1214, i16 1213, i16 1212, i16 0, i16 0, i16 0, i16 0, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 965, i16 966, i16 968, i16 969, i16 277, i16 278, i16 280, i16 281, i16 711, i16 712, i16 713, i16 1653, i16 715, i16 716, i16 717, i16 718, i16 967, i16 276, i16 279, i16 1552, i16 1553, i16 1554, i16 0, i16 0, i16 971, i16 970, i16 972, i16 973, i16 974, i16 975, i16 977, i16 978, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 719, i16 720, i16 721, i16 722, i16 1654, i16 724, i16 725, i16 726, i16 466, i16 467, i16 1651, i16 183, i16 240, i16 184, i16 229, i16 332, i16 727, i16 1655, i16 1656, i16 0, i16 0, i16 0, i16 0, i16 0, i16 983, i16 994, i16 440, i16 439, i16 441, i16 442, i16 996, i16 231, i16 476, i16 396, i16 1016, i16 976, i16 475, i16 395, i16 1019, i16 979, i16 222, i16 393, i16 397, i16 1638, i16 1639, i16 401, i16 1640, i16 1641, i16 738, i16 742, i16 745, i16 0, i16 755, i16 0, i16 765, i16 777, i16 227, i16 187, i16 394, i16 175, i16 239, i16 154, i16 188, i16 153, i16 483, i16 482, i16 484, i16 485, i16 495, i16 494, i16 1031, i16 496, i16 740, i16 788, i16 736, i16 784, i16 761, i16 812, i16 763, i16 815, i16 997, i16 458, i16 457, i16 459, i16 1004, i16 468, i16 473, i16 469, i16 743, i16 744, i16 747, i16 750, i16 751, i16 752, i16 753, i16 754, i16 488, i16 408, i16 486, i16 406, i16 1026, i16 986, i16 1025, i16 985, i16 233, i16 0, i16 0, i16 0, i16 235, i16 237, i16 0, i16 0, i16 493, i16 1628, i16 501, i16 502, i16 1629, i16 510, i16 1630, i16 1631, i16 497, i16 417, i16 499, i16 419, i16 0, i16 0, i16 498, i16 418, i16 242, i16 220, i16 385, i16 386, i16 221, i16 243, i16 186, i16 166, i16 1011, i16 1010, i16 1012, i16 1013, i16 1014, i16 1015, i16 1017, i16 1018, i16 756, i16 757, i16 0, i16 759, i16 762, i16 764, i16 770, i16 772, i16 248, i16 0, i16 0, i16 0, i16 252, i16 0, i16 0, i16 0, i16 1020, i16 980, i16 1022, i16 982, i16 1021, i16 981, i16 480, i16 400, i16 254, i16 0, i16 0, i16 0, i16 249, i16 0, i16 0, i16 0, i16 1023, i16 1034, i16 517, i16 516, i16 518, i16 519, i16 1036, i16 232, i16 8, i16 13, i16 9, i16 5, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 14, i16 7, i16 11, i16 3, i16 6, i16 0, i16 0, i16 0, i16 0, i16 10, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 81, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8, i16 42, i16 98, i16 109, i16 122, i16 130, i16 140, i16 151, i16 164, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 35, i16 0, i16 108, i16 0, i16 110, i16 120, i16 125, i16 133, i16 0, i16 0, i16 0, i16 0, i16 15, i16 0, i16 141, i16 148, i16 112, i16 117, i16 160, i16 139, i16 149, i16 57, i16 167, i16 170, i16 174, i16 47, i16 60, i16 61, i16 39, i16 0, i16 0, i16 11, i16 92, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 43, i16 18, i16 0, i16 0, i16 10, i16 12, i16 51, i16 119, i16 93, i16 169, i16 172, i16 96, i16 0, i16 0, i16 28, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 23, i16 9, i16 0, i16 14, i16 66, i16 0, i16 67, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 32, i16 75, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 46, i16 147, i16 152, i16 156, i16 31, i16 0, i16 0, i16 157, i16 161, i16 0, i16 36, i16 0, i16 0, i16 0, i16 0, i16 0, i16 37, i16 22, i16 176, i16 0, i16 0, i16 38, i16 181, i16 63, i16 70, i16 48, i16 17, i16 0, i16 73, i16 74, i16 0, i16 0, i16 52, i16 102, i16 135, i16 155, i16 114, i16 171, i16 101, i16 173, i16 111, i16 121, i16 94, i16 127, i16 142, i16 103, i16 143, i16 104, i16 175, i16 180, i16 89, i16 62, i16 124, i16 71, i16 80, i16 83, i16 20, i16 49, i16 166, i16 95, i16 7, i16 106, i16 165, i16 26, i16 55, i16 153, i16 179, i16 154, i16 182, i16 56, i16 40, i16 41, i16 77, i16 158, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 79, i16 86, i16 0, i16 76, i16 82, i16 88, i16 0, i16 59, i16 69, i16 85, i16 99, i16 116, i16 131, i16 58, i16 68, i16 84, i16 97, i16 115, i16 128, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 78, i16 50, i16 87, i16 27, i16 33, i16 34, i16 123, i16 0, i16 44, i16 16, i16 24, i16 0, i16 25, i16 0, i16 3, i16 0, i16 45, i16 105, i16 107, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 126, i16 54, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 144, i16 177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 13, i16 21, i16 19, i16 0, i16 0, i16 53, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 29, i16 30, i16 129, i16 137, i16 146, i16 138, i16 134, i16 0, i16 0, i16 159, i16 178, i16 90, i16 118, i16 132, i16 163, i16 64, i16 72, i16 91, i16 113, i16 162, i16 145, i16 65, i16 150, i16 168, i16 100, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 136, i16 5, i16 6, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 592, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 161, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 172, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 167, i16 168, i16 169, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 170, i16 0, i16 171, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 714, i16 715, i16 864, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1505, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 524, i16 0, i16 525, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 581, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1348, i16 0, i16 0, i16 0, i16 1349, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1923, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 526, i16 527, i16 528, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 427, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 343, i16 344, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 290, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 594, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 742, i16 743, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1924, i16 146, i16 0, i16 1925, i16 0, i16 1926, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 232, i16 233, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 234, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 520, i16 521, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 522, i16 523, i16 0, i16 0, i16 0, i16 0, i16 0, i16 345, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 823, i16 824, i16 0, i16 0, i16 0, i16 0, i16 1762, i16 1763, i16 1772, i16 1773, i16 1824, i16 1825, i16 0, i16 0, i16 0, i16 0, i16 323, i16 324, i16 325, i16 326, i16 0, i16 0, i16 0, i16 0, i16 327, i16 0, i16 328, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1371, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 153, i16 154, i16 0, i16 0, i16 0, i16 0, i16 155, i16 0, i16 0, i16 0, i16 156, i16 0, i16 0, i16 0, i16 0, i16 0, i16 157, i16 158, i16 1148, i16 159, i16 1158, i16 1164, i16 1170, i16 0, i16 1187, i16 0, i16 1200, i16 1213, i16 0, i16 0, i16 0, i16 0, i16 1701, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 546, i16 0, i16 0, i16 0, i16 547, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 329, i16 0, i16 330, i16 0, i16 0, i16 331, i16 0, i16 0, i16 0, i16 332, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 333, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 358, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 225, i16 226, i16 0, i16 0, i16 227, i16 0, i16 228, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 229, i16 0, i16 230, i16 0, i16 0, i16 0, i16 231, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 1733, i16 1735, i16 1737, i16 1739, i16 0, i16 0, i16 0, i16 517, i16 518, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 519, i16 0, i16 0, i16 1310, i16 1311, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1312, i16 1313, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1314, i16 1315, i16 1316, i16 1317, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1353, i16 0, i16 1355, i16 0, i16 0, i16 0, i16 1358, i16 0, i16 0, i16 0, i16 0, i16 1362, i16 1363, i16 1366, i16 0, i16 0, i16 593, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 339, i16 340, i16 0, i16 0, i16 341, i16 342, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 348, i16 0, i16 0, i16 0, i16 0, i16 0, i16 349, i16 350, i16 351, i16 352, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 173, i16 174, i16 175, i16 176, i16 177, i16 0, i16 0, i16 180, i16 181, i16 0, i16 0, i16 0, i16 178, i16 179, i16 0, i16 0, i16 499, i16 500, i16 0, i16 0, i16 0, i16 501, i16 0, i16 0, i16 502, i16 0, i16 503, i16 504, i16 0, i16 0, i16 0, i16 282, i16 0, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 811, i16 812, i16 0, i16 0, i16 0, i16 0, i16 0, i16 894, i16 895, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 304, i16 305, i16 306, i16 307, i16 0, i16 0, i16 308, i16 309, i16 1700, i16 310, i16 0, i16 0, i16 311, i16 312, i16 313, i16 0, i16 1351, i16 1352, i16 1354, i16 1356, i16 1357, i16 1359, i16 1361, i16 1365, i16 1372, i16 1375, i16 1380, i16 1385, i16 1390, i16 1395, i16 1400, i16 0, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 75, i16 78, i16 76, i16 79, i16 77, i16 604, i16 605, i16 0, i16 658, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 672, i16 673, i16 674, i16 675, i16 676, i16 1364, i16 677, i16 678, i16 679, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1234, i16 1230, i16 1224, i16 1236, i16 1288, i16 1244, i16 1246, i16 1248, i16 1258, i16 1264, i16 1276, i16 1254, i16 0, i16 1280, i16 1292, i16 0, i16 1235, i16 1231, i16 1225, i16 1237, i16 1289, i16 1245, i16 1247, i16 1249, i16 1259, i16 1265, i16 1277, i16 1255, i16 0, i16 1281, i16 1293, i16 0, i16 476, i16 477, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1525, i16 1527, i16 1529, i16 1531, i16 1533, i16 1535, i16 1538, i16 1540, i16 1542, i16 1544, i16 1547, i16 1549, i16 1551, i16 1553, i16 1555, i16 0, i16 1526, i16 1528, i16 1530, i16 1532, i16 1534, i16 1536, i16 1539, i16 1541, i16 1543, i16 1545, i16 1548, i16 1550, i16 1552, i16 1554, i16 1556, i16 0, i16 505, i16 0, i16 0, i16 506, i16 0, i16 507, i16 508, i16 0, i16 0, i16 509, i16 510, i16 0, i16 0, i16 511, i16 512, i16 513, i16 514, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 515, i16 516, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1796, i16 1795, i16 881, i16 882, i16 885, i16 886, i16 1801, i16 1802, i16 1803, i16 903, i16 904, i16 1806, i16 1807, i16 905, i16 906, i16 907, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 1033, i16 1034, i16 1035, i16 1036, i16 1027, i16 1028, i16 1031, i16 1032, i16 1037, i16 1038, i16 1047, i16 1048, i16 1049, i16 1050, i16 1057, i16 1058, i16 778, i16 779, i16 780, i16 781, i16 782, i16 783, i16 784, i16 785, i16 870, i16 871, i16 876, i16 877, i16 972, i16 973, i16 966, i16 967, i16 529, i16 0, i16 530, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 0, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 1557, i16 1560, i16 1562, i16 1564, i16 1566, i16 1568, i16 1570, i16 1572, i16 1574, i16 1576, i16 1578, i16 1580, i16 1582, i16 1584, i16 1586, i16 1588, i16 1558, i16 1561, i16 1563, i16 1565, i16 1567, i16 1569, i16 1571, i16 1573, i16 1575, i16 1577, i16 1579, i16 1581, i16 1583, i16 1585, i16 1587, i16 1589, i16 279, i16 280, i16 281, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1818, i16 1819, i16 1830, i16 1831, i16 1007, i16 1008, i16 1832, i16 1833, i16 1013, i16 1014, i16 1834, i16 1835, i16 1029, i16 1030, i16 1838, i16 1839, i16 1055, i16 1056, i16 1098, i16 1099, i16 1090, i16 1091, i16 1100, i16 1101, i16 1088, i16 1089, i16 1096, i16 1097, i16 1852, i16 1853, i16 1854, i16 1855, i16 291, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 292, i16 0, i16 293, i16 0, i16 294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 548, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 0, i16 0, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 1318, i16 1319, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 295, i16 0, i16 296, i16 297, i16 0, i16 298, i16 299, i16 300, i16 301, i16 0, i16 0, i16 302, i16 0, i16 0, i16 0, i16 303, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 1836, i16 1837, i16 1053, i16 1054, i16 1045, i16 1046, i16 1051, i16 1052, i16 1086, i16 1087, i16 1846, i16 1847, i16 1066, i16 1067, i16 1074, i16 1075, i16 816, i16 817, i16 818, i16 819, i16 820, i16 1042, i16 1026, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 0, i16 0, i16 0, i16 0, i16 571, i16 0, i16 0, i16 0, i16 1844, i16 1845, i16 1094, i16 1095, i16 1862, i16 1863, i16 1126, i16 1127, i16 1128, i16 1877, i16 1878, i16 1881, i16 1882, i16 1879, i16 1880, i16 1040, i16 1590, i16 1592, i16 1594, i16 1596, i16 1598, i16 1600, i16 1602, i16 1604, i16 1606, i16 1608, i16 1610, i16 1612, i16 1614, i16 1616, i16 1618, i16 1620, i16 1591, i16 1593, i16 1595, i16 1597, i16 1599, i16 1601, i16 1603, i16 1605, i16 1607, i16 1609, i16 1611, i16 1613, i16 1615, i16 1617, i16 1619, i16 1621, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 314, i16 0, i16 0, i16 0, i16 0, i16 315, i16 0, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 0, i16 322, i16 0, i16 572, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 829, i16 830, i16 1790, i16 1791, i16 840, i16 841, i16 848, i16 849, i16 872, i16 873, i16 1799, i16 1800, i16 858, i16 859, i16 878, i16 879, i16 833, i16 834, i16 844, i16 845, i16 846, i16 847, i16 842, i16 843, i16 850, i16 851, i16 838, i16 839, i16 874, i16 875, i16 868, i16 869, i16 1860, i16 1861, i16 1858, i16 1859, i16 1864, i16 1865, i16 1866, i16 1867, i16 1868, i16 1869, i16 1121, i16 1122, i16 1119, i16 1120, i16 1134, i16 1135, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1350, i16 1452, i16 1457, i16 1462, i16 1467, i16 1472, i16 1477, i16 1482, i16 1487, i16 1490, i16 1493, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 74, i16 87, i16 120, i16 122, i16 119, i16 123, i16 143, i16 114, i16 94, i16 116, i16 683, i16 104, i16 141, i16 82, i16 117, i16 81, i16 1103, i16 0, i16 0, i16 0, i16 0, i16 1142, i16 1143, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1360, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1370, i16 0, i16 1622, i16 1624, i16 1626, i16 1628, i16 1630, i16 1632, i16 1634, i16 1636, i16 1638, i16 1640, i16 1642, i16 1644, i16 1646, i16 1648, i16 1650, i16 1652, i16 1367, i16 1368, i16 1369, i16 1373, i16 1374, i16 1376, i16 1377, i16 1378, i16 1379, i16 1381, i16 1382, i16 1383, i16 1384, i16 1386, i16 1387, i16 1388, i16 1623, i16 1625, i16 1627, i16 1629, i16 1631, i16 1633, i16 1635, i16 1637, i16 1639, i16 1641, i16 1643, i16 1645, i16 1647, i16 1649, i16 1651, i16 1653, i16 1112, i16 1113, i16 1124, i16 1125, i16 1136, i16 1137, i16 1130, i16 1131, i16 1132, i16 1133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 92, i16 1953, i16 730, i16 1954, i16 1955, i16 765, i16 810, i16 822, i16 837, i16 853, i16 884, i16 889, i16 1956, i16 919, i16 1957, i16 942, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 1887, i16 1810, i16 944, i16 1816, i16 952, i16 1820, i16 1828, i16 134, i16 1822, i16 1062, i16 1842, i16 1070, i16 1848, i16 1872, i16 1840, i16 1041, i16 1888, i16 1811, i16 945, i16 1817, i16 953, i16 1821, i16 1829, i16 133, i16 1823, i16 1063, i16 1843, i16 1071, i16 1849, i16 1873, i16 1841, i16 1129, i16 353, i16 0, i16 354, i16 0, i16 0, i16 355, i16 0, i16 0, i16 1889, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 865, i16 964, i16 965, i16 1072, i16 1073, i16 1076, i16 1077, i16 1078, i16 1079, i16 1082, i16 1083, i16 1080, i16 1081, i16 0, i16 718, i16 719, i16 356, i16 357, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 359, i16 360, i16 361, i16 362, i16 0, i16 0, i16 363, i16 364, i16 365, i16 366, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1389, i16 1391, i16 1392, i16 1393, i16 1394, i16 1396, i16 1397, i16 1398, i16 1399, i16 1401, i16 1402, i16 1404, i16 1405, i16 1407, i16 1408, i16 1410, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 1905, i16 445, i16 446, i16 1906, i16 447, i16 1907, i16 448, i16 449, i16 1908, i16 450, i16 451, i16 1909, i16 452, i16 453, i16 454, i16 1910, i16 1138, i16 1139, i16 1140, i16 1141, i16 1144, i16 1145, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 118, i16 1948, i16 729, i16 1949, i16 1950, i16 764, i16 809, i16 821, i16 836, i16 1794, i16 883, i16 888, i16 1951, i16 918, i16 1952, i16 941, i16 1654, i16 1656, i16 1658, i16 1660, i16 1662, i16 1664, i16 1666, i16 1668, i16 1670, i16 1672, i16 1674, i16 1676, i16 1678, i16 1680, i16 1682, i16 1684, i16 1655, i16 1657, i16 1659, i16 1661, i16 1663, i16 1665, i16 1667, i16 1669, i16 1671, i16 1673, i16 1675, i16 1677, i16 1679, i16 1681, i16 1683, i16 1685, i16 1911, i16 455, i16 456, i16 1912, i16 457, i16 458, i16 459, i16 1913, i16 1914, i16 460, i16 461, i16 1915, i16 462, i16 463, i16 464, i16 1916, i16 890, i16 891, i16 896, i16 897, i16 898, i16 899, i16 909, i16 910, i16 911, i16 912, i16 915, i16 916, i16 913, i16 914, i16 920, i16 921, i16 1403, i16 1406, i16 1409, i16 1412, i16 1417, i16 1422, i16 1427, i16 1432, i16 1437, i16 1442, i16 1447, i16 0, i16 0, i16 0, i16 0, i16 0, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 1411, i16 1413, i16 1414, i16 1415, i16 1416, i16 1418, i16 1419, i16 1420, i16 1421, i16 1423, i16 1424, i16 1425, i16 1426, i16 1428, i16 1429, i16 1430, i16 135, i16 334, i16 0, i16 0, i16 137, i16 139, i16 0, i16 0, i16 0, i16 0, i16 335, i16 336, i16 0, i16 0, i16 337, i16 338, i16 908, i16 1804, i16 1805, i16 1808, i16 1809, i16 1812, i16 1813, i16 929, i16 930, i16 939, i16 1814, i16 1815, i16 1826, i16 1827, i16 948, i16 949, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 655, i16 656, i16 657, i16 0, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 144, i16 132, i16 1750, i16 1751, i16 91, i16 145, i16 115, i16 96, i16 97, i16 1749, i16 943, i16 105, i16 1734, i16 1736, i16 1738, i16 89, i16 1686, i16 1688, i16 1690, i16 1692, i16 1537, i16 1546, i16 1559, i16 0, i16 0, i16 0, i16 0, i16 577, i16 578, i16 579, i16 580, i16 0, i16 1175, i16 1147, i16 1151, i16 1153, i16 1155, i16 1157, i16 1161, i16 1163, i16 1167, i16 1169, i16 1176, i16 1178, i16 1180, i16 1182, i16 1184, i16 1186, i16 1431, i16 1433, i16 1434, i16 1435, i16 1436, i16 1438, i16 1439, i16 1440, i16 1441, i16 1443, i16 1444, i16 1445, i16 1446, i16 1448, i16 1449, i16 1450, i16 1687, i16 1689, i16 1691, i16 1693, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 573, i16 574, i16 575, i16 576, i16 0, i16 922, i16 923, i16 924, i16 925, i16 931, i16 932, i16 933, i16 934, i16 937, i16 938, i16 935, i16 936, i16 968, i16 969, i16 970, i16 971, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 0, i16 0, i16 0, i16 0, i16 160, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1697, i16 86, i16 101, i16 127, i16 121, i16 128, i16 126, i16 98, i16 106, i16 108, i16 124, i16 130, i16 83, i16 1698, i16 90, i16 1699, i16 162, i16 163, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 164, i16 165, i16 166, i16 1190, i16 1192, i16 0, i16 1194, i16 1197, i16 1199, i16 1206, i16 1208, i16 1210, i16 1212, i16 1171, i16 1201, i16 1150, i16 1160, i16 1166, i16 1173, i16 1191, i16 1193, i16 1196, i16 1195, i16 1198, i16 1202, i16 1207, i16 1209, i16 1211, i16 1214, i16 1174, i16 1204, i16 1189, i16 1203, i16 1215, i16 0, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 1717, i16 1718, i16 1451, i16 1453, i16 1454, i16 1455, i16 1456, i16 1458, i16 1459, i16 1460, i16 1461, i16 1463, i16 1464, i16 1465, i16 1466, i16 1468, i16 1469, i16 1470, i16 428, i16 1890, i16 429, i16 1891, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 1892, i16 1893, i16 1894, i16 684, i16 1758, i16 702, i16 722, i16 1764, i16 1760, i16 1770, i16 1780, i16 766, i16 1784, i16 774, i16 788, i16 854, i16 1797, i16 862, i16 866, i16 685, i16 1759, i16 703, i16 723, i16 1765, i16 1761, i16 1771, i16 1781, i16 767, i16 1785, i16 775, i16 789, i16 855, i16 1798, i16 863, i16 867, i16 686, i16 687, i16 700, i16 701, i16 768, i16 769, i16 772, i16 773, i16 856, i16 857, i16 860, i16 861, i16 946, i16 947, i16 950, i16 951, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 798, i16 799, i16 790, i16 791, i16 792, i16 793, i16 776, i16 777, i16 1205, i16 1149, i16 1152, i16 1154, i16 1156, i16 1159, i16 1162, i16 1165, i16 1168, i16 1172, i16 1177, i16 1179, i16 1181, i16 1183, i16 1185, i16 1188, i16 182, i16 0, i16 0, i16 183, i16 184, i16 185, i16 186, i16 187, i16 99, i16 100, i16 188, i16 189, i16 102, i16 103, i16 190, i16 191, i16 439, i16 1895, i16 1896, i16 1897, i16 440, i16 1898, i16 1899, i16 1900, i16 441, i16 1901, i16 1902, i16 1903, i16 442, i16 1904, i16 443, i16 444, i16 1719, i16 1720, i16 1721, i16 1722, i16 1723, i16 1724, i16 1725, i16 1726, i16 1727, i16 1728, i16 1729, i16 1730, i16 475, i16 0, i16 0, i16 0, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 984, i16 985, i16 986, i16 987, i16 988, i16 989, i16 1471, i16 1473, i16 1474, i16 1475, i16 1476, i16 1478, i16 1479, i16 1480, i16 1481, i16 1483, i16 1484, i16 1485, i16 1486, i16 1488, i16 1489, i16 1491, i16 192, i16 193, i16 1702, i16 0, i16 0, i16 194, i16 195, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1216, i16 1218, i16 1220, i16 1222, i16 1228, i16 1232, i16 1238, i16 1240, i16 1242, i16 1250, i16 1252, i16 1256, i16 1260, i16 1262, i16 1266, i16 1268, i16 1217, i16 1219, i16 1221, i16 1223, i16 1229, i16 1233, i16 1239, i16 1241, i16 1243, i16 1251, i16 1253, i16 1257, i16 1261, i16 1263, i16 1267, i16 1269, i16 1731, i16 1740, i16 1741, i16 1742, i16 1743, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 85, i16 84, i16 136, i16 138, i16 140, i16 88, i16 196, i16 0, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 0, i16 208, i16 0, i16 1732, i16 0, i16 0, i16 0, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 131, i16 129, i16 209, i16 107, i16 109, i16 0, i16 1226, i16 1227, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 716, i16 717, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 746, i16 747, i16 753, i16 754, i16 755, i16 756, i16 761, i16 762, i16 465, i16 466, i16 1917, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 1918, i16 0, i16 0, i16 0, i16 0, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 0, i16 724, i16 725, i16 720, i16 721, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 690, i16 691, i16 980, i16 981, i16 978, i16 979, i16 997, i16 998, i16 999, i16 1000, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1492, i16 1494, i16 1495, i16 1496, i16 1497, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 0, i16 0, i16 0, i16 726, i16 727, i16 1774, i16 1775, i16 831, i16 832, i16 827, i16 828, i16 892, i16 893, i16 974, i16 975, i16 976, i16 977, i16 0, i16 0, i16 982, i16 983, i16 1921, i16 1922, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1102, i16 478, i16 0, i16 0, i16 0, i16 479, i16 0, i16 0, i16 0, i16 480, i16 0, i16 0, i16 0, i16 481, i16 0, i16 0, i16 0, i16 990, i16 991, i16 992, i16 993, i16 1092, i16 1093, i16 1084, i16 1085, i16 1104, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1503, i16 1504, i16 1506, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 482, i16 483, i16 484, i16 485, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 995, i16 1002, i16 1005, i16 1024, i16 1043, i16 1060, i16 1850, i16 1856, i16 1117, i16 1870, i16 1875, i16 110, i16 125, i16 111, i16 93, i16 80, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 996, i16 1003, i16 1006, i16 1025, i16 1044, i16 1061, i16 1851, i16 1857, i16 1118, i16 1871, i16 1876, i16 112, i16 142, i16 113, i16 95, i16 622, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 494, i16 495, i16 496, i16 0, i16 497, i16 498, i16 0, i16 0, i16 1768, i16 1769, i16 688, i16 689, i16 1766, i16 1767, i16 1776, i16 1777, i16 740, i16 741, i16 744, i16 745, i16 1778, i16 1779, i16 751, i16 752, i16 235, i16 0, i16 236, i16 0, i16 0, i16 0, i16 237, i16 0, i16 0, i16 0, i16 0, i16 238, i16 0, i16 0, i16 0, i16 0, i16 1009, i16 1010, i16 1011, i16 1012, i16 1064, i16 1065, i16 1068, i16 1069, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 757, i16 758, i16 759, i16 760, i16 804, i16 805, i16 802, i16 803, i16 806, i16 807, i16 794, i16 795, i16 800, i16 801, i16 813, i16 814, i16 1270, i16 1272, i16 1274, i16 1278, i16 1282, i16 1284, i16 1286, i16 1290, i16 1294, i16 1296, i16 1299, i16 1300, i16 1303, i16 1304, i16 1306, i16 1308, i16 1782, i16 1783, i16 1788, i16 1789, i16 770, i16 771, i16 796, i16 797, i16 1786, i16 1787, i16 786, i16 787, i16 825, i16 826, i16 1792, i16 1793, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 1271, i16 1273, i16 1275, i16 1279, i16 1283, i16 1285, i16 1287, i16 1291, i16 1295, i16 1297, i16 1298, i16 1301, i16 1302, i16 1305, i16 1307, i16 1309, i16 9, i16 11, i16 8, i16 5, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12, i16 7, i16 13, i16 3, i16 6, i16 0, i16 0, i16 0, i16 0, i16 14, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 181, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8, i16 38, i16 76, i16 84, i16 94, i16 104, i16 117, i16 126, i16 135, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 36, i16 0, i16 170, i16 0, i16 171, i16 176, i16 66, i16 74, i16 0, i16 0, i16 0, i16 0, i16 13, i16 0, i16 81, i16 86, i16 49, i16 50, i16 112, i16 82, i16 96, i16 51, i16 118, i16 120, i16 123, i16 40, i16 54, i16 134, i16 41, i16 0, i16 0, i16 11, i16 165, i16 0, i16 0, i16 0, i16 0, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 46, i16 18, i16 0, i16 0, i16 9, i16 12, i16 47, i16 90, i16 67, i16 138, i16 141, i16 71, i16 0, i16 0, i16 26, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 22, i16 10, i16 0, i16 14, i16 142, i16 0, i16 145, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 34, i16 150, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 39, i16 169, i16 98, i16 100, i16 29, i16 0, i16 0, i16 147, i16 110, i16 0, i16 37, i16 0, i16 0, i16 0, i16 0, i16 0, i16 32, i16 21, i16 65, i16 0, i16 0, i16 33, i16 122, i16 129, i16 136, i16 57, i16 17, i16 0, i16 139, i16 140, i16 0, i16 0, i16 55, i16 127, i16 149, i16 128, i16 151, i16 56, i16 44, i16 45, i16 172, i16 131, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 173, i16 179, i16 0, i16 61, i16 175, i16 99, i16 146, i16 180, i16 167, i16 160, i16 168, i16 63, i16 73, i16 97, i16 83, i16 106, i16 52, i16 108, i16 53, i16 132, i16 154, i16 68, i16 93, i16 116, i16 148, i16 70, i16 95, i16 20, i16 62, i16 158, i16 107, i16 7, i16 89, i16 133, i16 25, i16 80, i16 85, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 109, i16 174, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 19, i16 16, i16 0, i16 0, i16 48, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 27, i16 28, i16 103, i16 114, i16 121, i16 115, i16 91, i16 0, i16 0, i16 125, i16 155, i16 72, i16 101, i16 124, i16 157, i16 64, i16 79, i16 119, i16 137, i16 130, i16 111, i16 161, i16 143, i16 163, i16 113, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 92, i16 5, i16 6, i16 3, i16 144, i16 58, i16 152, i16 30, i16 31, i16 35, i16 78, i16 0, i16 42, i16 15, i16 23, i16 0, i16 24, i16 0, i16 4, i16 0, i16 43, i16 69, i16 166, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 153, i16 156, i16 159, i16 0, i16 60, i16 164, i16 178, i16 77, i16 88, i16 105, i16 59, i16 162, i16 177, i16 75, i16 87, i16 102, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 831, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1251, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 842, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 979, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 837, i16 838, i16 839, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 840, i16 0, i16 841, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 121, i16 122, i16 311, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1697, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1539, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1183, i16 0, i16 1184, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1240, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1540, i16 0, i16 0, i16 0, i16 1541, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1058, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1185, i16 1186, i16 1187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 975, i16 976, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 816, i16 811, i16 819, i16 818, i16 800, i16 821, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 929, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1253, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 815, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 167, i16 168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 771, i16 772, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 877, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1179, i16 1180, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1181, i16 1182, i16 0, i16 0, i16 0, i16 0, i16 0, i16 977, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 978, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 260, i16 261, i16 0, i16 0, i16 0, i16 0, i16 125, i16 126, i16 148, i16 149, i16 450, i16 451, i16 0, i16 0, i16 0, i16 0, i16 1563, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 823, i16 824, i16 0, i16 0, i16 0, i16 0, i16 825, i16 0, i16 0, i16 0, i16 826, i16 0, i16 0, i16 0, i16 0, i16 0, i16 827, i16 828, i16 1340, i16 829, i16 1350, i16 1356, i16 1362, i16 0, i16 1379, i16 0, i16 1392, i16 1405, i16 0, i16 0, i16 0, i16 0, i16 946, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 961, i16 962, i16 963, i16 964, i16 0, i16 0, i16 0, i16 0, i16 803, i16 0, i16 965, i16 0, i16 0, i16 0, i16 0, i16 804, i16 0, i16 805, i16 0, i16 0, i16 806, i16 0, i16 0, i16 0, i16 802, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 808, i16 0, i16 876, i16 0, i16 0, i16 0, i16 809, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 878, i16 879, i16 880, i16 881, i16 882, i16 883, i16 884, i16 885, i16 682, i16 684, i16 686, i16 688, i16 0, i16 0, i16 0, i16 0, i16 1205, i16 0, i16 0, i16 0, i16 1206, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 966, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 989, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 767, i16 768, i16 0, i16 0, i16 769, i16 0, i16 770, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1545, i16 0, i16 1547, i16 0, i16 0, i16 0, i16 1550, i16 0, i16 0, i16 0, i16 0, i16 1554, i16 1555, i16 1558, i16 0, i16 0, i16 79, i16 80, i16 81, i16 82, i16 83, i16 0, i16 0, i16 84, i16 85, i16 0, i16 0, i16 0, i16 843, i16 844, i16 0, i16 0, i16 1158, i16 1159, i16 0, i16 0, i16 0, i16 1160, i16 0, i16 0, i16 1161, i16 0, i16 1162, i16 1163, i16 0, i16 0, i16 0, i16 0, i16 1176, i16 1177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1178, i16 0, i16 0, i16 971, i16 972, i16 0, i16 0, i16 973, i16 974, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 980, i16 0, i16 0, i16 0, i16 0, i16 0, i16 981, i16 982, i16 983, i16 984, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1502, i16 1503, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1504, i16 1505, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1506, i16 1507, i16 1508, i16 1509, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1252, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1543, i16 1544, i16 1546, i16 1548, i16 1549, i16 1551, i16 1553, i16 1557, i16 1564, i16 1567, i16 1572, i16 1577, i16 1582, i16 1587, i16 1592, i16 0, i16 1317, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1092, i16 1093, i16 0, i16 1095, i16 0, i16 1097, i16 1098, i16 0, i16 1100, i16 1101, i16 0, i16 1103, i16 1104, i16 1105, i16 0, i16 0, i16 1108, i16 1109, i16 0, i16 1111, i16 1112, i16 1113, i16 0, i16 0, i16 1116, i16 1117, i16 0, i16 1119, i16 1120, i16 1121, i16 0, i16 0, i16 1135, i16 1136, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 391, i16 412, i16 410, i16 420, i16 440, i16 434, i16 791, i16 448, i16 556, i16 554, i16 564, i16 570, i16 646, i16 550, i16 531, i16 0, i16 392, i16 413, i16 411, i16 421, i16 441, i16 435, i16 787, i16 449, i16 557, i16 555, i16 565, i16 571, i16 647, i16 551, i16 653, i16 0, i16 1164, i16 0, i16 0, i16 1165, i16 0, i16 1166, i16 1167, i16 0, i16 0, i16 1168, i16 1169, i16 0, i16 0, i16 1170, i16 1171, i16 0, i16 1426, i16 1422, i16 1416, i16 1428, i16 1480, i16 1436, i16 1438, i16 1440, i16 1450, i16 1456, i16 1468, i16 1446, i16 0, i16 1472, i16 1484, i16 0, i16 1427, i16 1423, i16 1417, i16 1429, i16 1481, i16 1437, i16 1439, i16 1441, i16 1451, i16 1457, i16 1469, i16 1447, i16 0, i16 1473, i16 1485, i16 0, i16 921, i16 0, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 943, i16 735, i16 944, i16 945, i16 0, i16 0, i16 793, i16 947, i16 847, i16 788, i16 0, i16 0, i16 949, i16 950, i16 951, i16 0, i16 1717, i16 1719, i16 1721, i16 1723, i16 1725, i16 1727, i16 1730, i16 1732, i16 1734, i16 1736, i16 1739, i16 1741, i16 1743, i16 1745, i16 1747, i16 0, i16 1718, i16 1720, i16 1722, i16 1724, i16 1726, i16 1728, i16 1731, i16 1733, i16 1735, i16 1737, i16 1740, i16 1742, i16 1744, i16 1746, i16 1748, i16 0, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 707, i16 710, i16 708, i16 711, i16 709, i16 1263, i16 1264, i16 0, i16 248, i16 249, i16 0, i16 0, i16 0, i16 0, i16 0, i16 345, i16 346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 517, i16 518, i16 519, i16 520, i16 513, i16 514, i16 527, i16 528, i16 521, i16 522, i16 537, i16 538, i16 539, i16 540, i16 547, i16 548, i16 773, i16 0, i16 774, i16 0, i16 0, i16 0, i16 775, i16 0, i16 0, i16 0, i16 0, i16 776, i16 0, i16 0, i16 0, i16 0, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 1037, i16 1038, i16 1039, i16 1040, i16 1041, i16 1042, i16 1043, i16 1044, i16 1045, i16 1542, i16 1644, i16 1649, i16 1654, i16 1659, i16 1664, i16 1669, i16 1674, i16 1679, i16 1682, i16 1685, i16 1690, i16 1691, i16 1692, i16 1693, i16 1694, i16 268, i16 269, i16 272, i16 273, i16 281, i16 282, i16 289, i16 290, i16 319, i16 320, i16 329, i16 330, i16 305, i16 306, i16 327, i16 328, i16 780, i16 0, i16 985, i16 0, i16 0, i16 986, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 525, i16 526, i16 543, i16 544, i16 535, i16 536, i16 541, i16 542, i16 584, i16 585, i16 594, i16 595, i16 560, i16 561, i16 568, i16 569, i16 1552, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1562, i16 0, i16 274, i16 275, i16 285, i16 286, i16 287, i16 288, i16 283, i16 284, i16 291, i16 292, i16 279, i16 280, i16 321, i16 322, i16 315, i16 316, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1046, i16 1047, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 0, i16 0, i16 0, i16 0, i16 1814, i16 1816, i16 1818, i16 1820, i16 1822, i16 1824, i16 1826, i16 1828, i16 1830, i16 1832, i16 1834, i16 1836, i16 1838, i16 1840, i16 1842, i16 1844, i16 1559, i16 1560, i16 1561, i16 1565, i16 1566, i16 1568, i16 1569, i16 1570, i16 1571, i16 1573, i16 1574, i16 1575, i16 1576, i16 1578, i16 1579, i16 1580, i16 1815, i16 1817, i16 1819, i16 1821, i16 1823, i16 1825, i16 1827, i16 1829, i16 1831, i16 1833, i16 1835, i16 1837, i16 1839, i16 1841, i16 1843, i16 1845, i16 795, i16 784, i16 0, i16 0, i16 796, i16 797, i16 0, i16 0, i16 0, i16 0, i16 967, i16 968, i16 0, i16 0, i16 969, i16 970, i16 545, i16 546, i16 598, i16 599, i16 588, i16 589, i16 600, i16 601, i16 586, i16 587, i16 596, i16 597, i16 617, i16 618, i16 619, i16 620, i16 1314, i16 1315, i16 1316, i16 0, i16 1318, i16 801, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1059, i16 0, i16 1061, i16 0, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1070, i16 1071, i16 0, i16 0, i16 0, i16 1060, i16 1062, i16 1072, i16 1073, i16 1074, i16 1076, i16 1077, i16 1078, i16 1080, i16 1081, i16 1082, i16 1084, i16 1085, i16 1086, i16 1088, i16 1091, i16 807, i16 794, i16 699, i16 700, i16 814, i16 766, i16 762, i16 822, i16 817, i16 698, i16 409, i16 786, i16 683, i16 685, i16 687, i16 716, i16 1581, i16 1583, i16 1584, i16 1585, i16 1586, i16 1588, i16 1589, i16 1590, i16 1591, i16 1593, i16 1594, i16 1596, i16 1597, i16 1599, i16 1600, i16 1602, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1556, i16 1335, i16 1336, i16 1337, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1075, i16 0, i16 0, i16 0, i16 1079, i16 0, i16 0, i16 0, i16 1083, i16 0, i16 0, i16 0, i16 1087, i16 0, i16 1089, i16 1090, i16 1846, i16 1848, i16 1850, i16 1852, i16 1854, i16 1856, i16 1858, i16 1860, i16 1862, i16 1864, i16 1866, i16 1868, i16 1870, i16 1872, i16 1874, i16 1876, i16 1847, i16 1849, i16 1851, i16 1853, i16 1855, i16 1857, i16 1859, i16 1861, i16 1863, i16 1865, i16 1867, i16 1869, i16 1871, i16 1873, i16 1875, i16 1877, i16 312, i16 432, i16 433, i16 566, i16 567, i16 572, i16 573, i16 574, i16 575, i16 578, i16 579, i16 576, i16 577, i16 0, i16 131, i16 132, i16 1595, i16 1598, i16 1601, i16 1604, i16 1609, i16 1614, i16 1619, i16 1624, i16 1629, i16 1634, i16 1639, i16 0, i16 0, i16 0, i16 0, i16 0, i16 830, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 832, i16 833, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 834, i16 835, i16 836, i16 323, i16 324, i16 332, i16 333, i16 336, i16 337, i16 349, i16 350, i16 354, i16 357, i16 358, i16 367, i16 368, i16 359, i16 360, i16 361, i16 1603, i16 1605, i16 1606, i16 1607, i16 1608, i16 1610, i16 1611, i16 1612, i16 1613, i16 1615, i16 1616, i16 1617, i16 1618, i16 1620, i16 1621, i16 1622, i16 580, i16 581, i16 592, i16 593, i16 628, i16 629, i16 650, i16 651, i16 652, i16 665, i16 666, i16 669, i16 670, i16 678, i16 679, i16 530, i16 1094, i16 1096, i16 1099, i16 1102, i16 1106, i16 1107, i16 1110, i16 1114, i16 1115, i16 1118, i16 1122, i16 1125, i16 1134, i16 0, i16 0, i16 0, i16 77, i16 718, i16 764, i16 756, i16 810, i16 765, i16 739, i16 757, i16 820, i16 761, i16 88, i16 785, i16 781, i16 733, i16 760, i16 812, i16 845, i16 846, i16 948, i16 0, i16 0, i16 848, i16 849, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 78, i16 717, i16 720, i16 798, i16 759, i16 758, i16 755, i16 721, i16 743, i16 745, i16 792, i16 789, i16 713, i16 731, i16 712, i16 741, i16 850, i16 0, i16 851, i16 852, i16 853, i16 854, i16 855, i16 856, i16 857, i16 750, i16 752, i16 858, i16 859, i16 0, i16 813, i16 0, i16 341, i16 342, i16 347, i16 348, i16 351, i16 352, i16 363, i16 364, i16 369, i16 370, i16 373, i16 374, i16 371, i16 372, i16 378, i16 379, i16 1878, i16 1880, i16 1882, i16 1884, i16 1729, i16 1738, i16 1751, i16 0, i16 0, i16 0, i16 0, i16 1236, i16 1237, i16 1238, i16 1239, i16 0, i16 1367, i16 1339, i16 1343, i16 1345, i16 1347, i16 1349, i16 1353, i16 1355, i16 1359, i16 1361, i16 1368, i16 1370, i16 1372, i16 1374, i16 1376, i16 1378, i16 1623, i16 1625, i16 1626, i16 1627, i16 1628, i16 1630, i16 1631, i16 1632, i16 1633, i16 1635, i16 1636, i16 1637, i16 1638, i16 1640, i16 1641, i16 1642, i16 1879, i16 1881, i16 1883, i16 1885, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1232, i16 1233, i16 1234, i16 1235, i16 0, i16 91, i16 89, i16 109, i16 135, i16 129, i16 123, i16 146, i16 171, i16 199, i16 197, i16 207, i16 221, i16 301, i16 299, i16 309, i16 313, i16 603, i16 0, i16 0, i16 0, i16 0, i16 673, i16 674, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 92, i16 90, i16 110, i16 136, i16 130, i16 124, i16 147, i16 172, i16 200, i16 198, i16 208, i16 222, i16 302, i16 300, i16 310, i16 314, i16 93, i16 94, i16 107, i16 108, i16 201, i16 202, i16 205, i16 206, i16 303, i16 304, i16 307, i16 308, i16 414, i16 415, i16 418, i16 419, i16 861, i16 862, i16 863, i16 864, i16 865, i16 866, i16 867, i16 868, i16 869, i16 870, i16 871, i16 872, i16 873, i16 874, i16 875, i16 0, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 231, i16 232, i16 223, i16 224, i16 225, i16 226, i16 209, i16 210, i16 1123, i16 1124, i16 0, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1132, i16 1133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 612, i16 613, i16 648, i16 649, i16 660, i16 661, i16 654, i16 655, i16 656, i16 657, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1382, i16 1384, i16 0, i16 1386, i16 1389, i16 1391, i16 1398, i16 1400, i16 1402, i16 1404, i16 1363, i16 1393, i16 1342, i16 1352, i16 1358, i16 1365, i16 1383, i16 1385, i16 1388, i16 1387, i16 1390, i16 1394, i16 1399, i16 1401, i16 1403, i16 1406, i16 1366, i16 1396, i16 1381, i16 1395, i16 1407, i16 0, i16 362, i16 365, i16 366, i16 387, i16 388, i16 397, i16 398, i16 389, i16 390, i16 403, i16 405, i16 406, i16 456, i16 457, i16 416, i16 417, i16 1643, i16 1645, i16 1646, i16 1647, i16 1648, i16 1650, i16 1651, i16 1652, i16 1653, i16 1655, i16 1656, i16 1657, i16 1658, i16 1660, i16 1661, i16 1662, i16 1137, i16 0, i16 0, i16 0, i16 1138, i16 0, i16 0, i16 0, i16 1139, i16 0, i16 0, i16 0, i16 1140, i16 0, i16 0, i16 0, i16 626, i16 627, i16 624, i16 625, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 641, i16 642, i16 639, i16 640, i16 658, i16 659, i16 1141, i16 1142, i16 1143, i16 1144, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1397, i16 1341, i16 1344, i16 1346, i16 1348, i16 1351, i16 1354, i16 1357, i16 1360, i16 1364, i16 1369, i16 1371, i16 1373, i16 1375, i16 1377, i16 1380, i16 886, i16 887, i16 888, i16 889, i16 890, i16 891, i16 892, i16 893, i16 894, i16 895, i16 896, i16 897, i16 898, i16 899, i16 900, i16 901, i16 1145, i16 1146, i16 1147, i16 1148, i16 1149, i16 1150, i16 1151, i16 1152, i16 1153, i16 1154, i16 1155, i16 0, i16 1156, i16 1157, i16 0, i16 0, i16 380, i16 381, i16 382, i16 383, i16 393, i16 394, i16 395, i16 396, i16 401, i16 402, i16 399, i16 400, i16 442, i16 443, i16 444, i16 445, i16 127, i16 128, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 173, i16 174, i16 182, i16 183, i16 184, i16 185, i16 192, i16 193, i16 1663, i16 1665, i16 1666, i16 1667, i16 1668, i16 1670, i16 1671, i16 1672, i16 1673, i16 1675, i16 1676, i16 1677, i16 1678, i16 1680, i16 1681, i16 1683, i16 1408, i16 1410, i16 1412, i16 1414, i16 1420, i16 1424, i16 1430, i16 1432, i16 1434, i16 1442, i16 1444, i16 1448, i16 1452, i16 1454, i16 1458, i16 1460, i16 1409, i16 1411, i16 1413, i16 1415, i16 1421, i16 1425, i16 1431, i16 1433, i16 1435, i16 1443, i16 1445, i16 1449, i16 1453, i16 1455, i16 1459, i16 1461, i16 902, i16 903, i16 904, i16 905, i16 906, i16 907, i16 908, i16 909, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 137, i16 138, i16 133, i16 134, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 97, i16 98, i16 1418, i16 1419, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 141, i16 142, i16 95, i16 96, i16 139, i16 140, i16 163, i16 164, i16 165, i16 166, i16 169, i16 170, i16 175, i16 176, i16 180, i16 181, i16 143, i16 144, i16 150, i16 151, i16 270, i16 271, i16 266, i16 267, i16 343, i16 344, i16 452, i16 453, i16 454, i16 455, i16 0, i16 0, i16 1172, i16 1173, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1174, i16 1175, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1684, i16 1686, i16 1687, i16 1688, i16 1689, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 0, i16 0, i16 0, i16 918, i16 919, i16 920, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 667, i16 668, i16 671, i16 672, i16 675, i16 676, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1695, i16 1696, i16 1698, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 930, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 931, i16 0, i16 932, i16 0, i16 933, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1699, i16 1700, i16 1701, i16 1702, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1188, i16 0, i16 1189, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 934, i16 0, i16 935, i16 936, i16 0, i16 937, i16 938, i16 939, i16 940, i16 0, i16 0, i16 941, i16 0, i16 0, i16 0, i16 942, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 0, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 680, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 719, i16 714, i16 749, i16 778, i16 751, i16 715, i16 681, i16 0, i16 0, i16 0, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 790, i16 732, i16 860, i16 744, i16 746, i16 0, i16 436, i16 437, i16 475, i16 476, i16 489, i16 490, i16 499, i16 500, i16 505, i16 506, i16 511, i16 512, i16 515, i16 516, i16 523, i16 524, i16 1462, i16 1464, i16 1466, i16 1470, i16 1474, i16 1476, i16 1478, i16 1482, i16 1486, i16 1488, i16 1491, i16 1492, i16 1495, i16 1496, i16 1498, i16 1500, i16 1207, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1463, i16 1465, i16 1467, i16 1471, i16 1475, i16 1477, i16 1479, i16 1483, i16 1487, i16 1489, i16 1490, i16 1493, i16 1494, i16 1497, i16 1499, i16 1501, i16 952, i16 0, i16 0, i16 0, i16 0, i16 953, i16 0, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 0, i16 960, i16 0, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 0, i16 0, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 186, i16 187, i16 237, i16 238, i16 203, i16 204, i16 229, i16 230, i16 235, i16 236, i16 219, i16 220, i16 264, i16 265, i16 262, i16 263, i16 188, i16 189, i16 190, i16 191, i16 241, i16 242, i16 239, i16 240, i16 243, i16 244, i16 227, i16 228, i16 233, i16 234, i16 250, i16 251, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 0, i16 0, i16 0, i16 0, i16 1230, i16 0, i16 0, i16 0, i16 460, i16 461, i16 458, i16 459, i16 479, i16 480, i16 481, i16 482, i16 495, i16 496, i16 497, i16 498, i16 501, i16 502, i16 503, i16 504, i16 462, i16 463, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 602, i16 1231, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 722, i16 87, i16 153, i16 1888, i16 179, i16 196, i16 247, i16 259, i16 278, i16 298, i16 335, i16 340, i16 356, i16 377, i16 386, i16 408, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 317, i16 318, i16 325, i16 326, i16 446, i16 447, i16 438, i16 439, i16 1749, i16 1752, i16 1754, i16 1756, i16 1758, i16 1760, i16 1762, i16 1764, i16 1766, i16 1768, i16 1770, i16 1772, i16 1774, i16 1776, i16 1778, i16 1780, i16 470, i16 471, i16 472, i16 473, i16 590, i16 591, i16 582, i16 583, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 1750, i16 1753, i16 1755, i16 1757, i16 1759, i16 1761, i16 1763, i16 1765, i16 1767, i16 1769, i16 1771, i16 1773, i16 1775, i16 1777, i16 1779, i16 1781, i16 1241, i16 1242, i16 1243, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 987, i16 988, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 477, i16 484, i16 487, i16 508, i16 533, i16 552, i16 615, i16 622, i16 637, i16 644, i16 663, i16 747, i16 742, i16 748, i16 779, i16 777, i16 478, i16 485, i16 488, i16 509, i16 534, i16 553, i16 616, i16 623, i16 638, i16 645, i16 664, i16 753, i16 740, i16 754, i16 799, i16 1281, i16 734, i16 0, i16 0, i16 736, i16 737, i16 738, i16 782, i16 783, i16 729, i16 730, i16 723, i16 728, i16 726, i16 727, i16 724, i16 725, i16 990, i16 991, i16 992, i16 993, i16 0, i16 0, i16 994, i16 995, i16 996, i16 997, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 998, i16 999, i16 1000, i16 1001, i16 1002, i16 1003, i16 1004, i16 1005, i16 1006, i16 1007, i16 1008, i16 1009, i16 1010, i16 1011, i16 1012, i16 1013, i16 1510, i16 1511, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 491, i16 492, i16 493, i16 494, i16 558, i16 559, i16 562, i16 563, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1265, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1014, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1023, i16 1024, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1782, i16 1784, i16 1786, i16 1788, i16 1790, i16 1792, i16 1794, i16 1796, i16 1798, i16 1800, i16 1802, i16 1804, i16 1806, i16 1808, i16 1810, i16 1812, i16 1783, i16 1785, i16 1787, i16 1789, i16 1791, i16 1793, i16 1795, i16 1797, i16 1799, i16 1801, i16 1803, i16 1805, i16 1807, i16 1809, i16 1811, i16 1813, i16 1528, i16 1529, i16 1530, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 0, i16 0, i16 0, i16 0, i16 0, i16 763, i16 86, i16 152, i16 1887, i16 178, i16 195, i16 246, i16 258, i16 277, i16 297, i16 334, i16 339, i16 355, i16 376, i16 385, i16 407, i16 253, i16 254, i16 255, i16 256, i16 257, i16 532, i16 510, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 3, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 5, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 134, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 136, i16 0, i16 0, i16 0, i16 137, i16 0, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 1, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 12, i16 14, i16 16, i16 18, i16 20, i16 22, i16 24, i16 26, i16 28, i16 30, i16 32, i16 34, i16 36, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 13, i16 15, i16 17, i16 19, i16 21, i16 23, i16 25, i16 27, i16 29, i16 31, i16 33, i16 35, i16 37, i16 39, i16 41, i16 43, i16 45, i16 47, i16 49, i16 51, i16 53, i16 55, i16 57, i16 59, i16 61, i16 63, i16 92, i16 93, i16 94, i16 95, i16 202, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 96, i16 0, i16 0, i16 0, i16 133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 135, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 203, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 5, i16 6, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 4, i16 3, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 126, i16 132, i16 138, i16 144, i16 150, i16 156, i16 162, i16 168, i16 174, i16 180, i16 186, i16 192, i16 198, i16 204, i16 210, i16 216, i16 222, i16 228, i16 234, i16 240, i16 246, i16 252, i16 258, i16 264, i16 270, i16 276, i16 282, i16 288, i16 294, i16 300, i16 306, i16 7, i16 13, i16 23, i16 39, i16 32, i16 40, i16 38, i16 22, i16 24, i16 29, i16 36, i16 41, i16 10, i16 9, i16 16, i16 15, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 12, i16 11, i16 42, i16 43, i16 44, i16 14, i16 19, i16 75, i16 77, i16 79, i16 81, i16 83, i16 85, i16 87, i16 89, i16 91, i16 93, i16 95, i16 97, i16 99, i16 101, i16 103, i16 105, i16 107, i16 109, i16 111, i16 113, i16 115, i16 117, i16 119, i16 121, i16 123, i16 125, i16 26, i16 45, i16 27, i16 21, i16 0, i16 30, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 25, i16 37, i16 28, i16 20, i16 8, i16 312, i16 318, i16 324, i16 330, i16 336, i16 337, i16 343, i16 344, i16 350, i16 356, i16 362, i16 368, i16 374, i16 380, i16 386, i16 17, i16 393, i16 394, i16 395, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 47, i16 0, i16 0, i16 0, i16 0, i16 31, i16 410, i16 411, i16 412, i16 413, i16 414, i16 396, i16 18, i16 49, i16 50, i16 51, i16 52, i16 53, i16 48, i16 392, i16 46, i16 33, i16 55, i16 57, i16 59, i16 61, i16 63, i16 65, i16 67, i16 69, i16 71, i16 73, i16 34, i16 35, i16 0, i16 0, i16 0, i16 0, i16 32, i16 3, i16 45, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7, i16 37, i16 2, i16 12, i16 0, i16 0, i16 0, i16 0, i16 27, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 25, i16 33, i16 28, i16 44, i16 11, i16 14, i16 29, i16 40, i16 23, i16 9, i16 20, i16 10, i16 38, i16 22, i16 42, i16 31, i16 49, i16 36, i16 43, i16 16, i16 15, i16 26, i16 21, i16 35, i16 17, i16 18, i16 13, i16 47, i16 24, i16 6, i16 34, i16 4, i16 39, i16 19, i16 8, i16 41, i16 5, i16 48, i16 50, i16 46, i16 30, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 266, i16 373, i16 661, i16 236, i16 595, i16 0, i16 0, i16 94, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 615, i16 647, i16 136, i16 0, i16 0, i16 390, i16 36, i16 15, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 31, i16 0, i16 0, i16 0, i16 0, i16 0, i16 60, i16 455, i16 499, i16 0, i16 0, i16 4, i16 259, i16 192, i16 133, i16 445, i16 669, i16 550, i16 172, i16 0, i16 0, i16 62, i16 153, i16 389, i16 409, i16 145, i16 1, i16 180, i16 570, i16 258, i16 261, i16 414, i16 610, i16 140, i16 566, i16 280, i16 150, i16 468, i16 333, i16 655, i16 176, i16 402, i16 260, i16 173, i16 607, i16 281, i16 293, i16 306, i16 319, i16 267, i16 168, i16 368, i16 382, i16 456, i16 249, i16 437, i16 500, i16 95, i16 14, i16 465, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 68, i16 129, i16 0, i16 0, i16 12, i16 0, i16 9, i16 0, i16 533, i16 84, i16 587, i16 606, i16 447, i16 652, i16 668, i16 291, i16 318, i16 459, i16 61, i16 659, i16 395, i16 195, i16 202, i16 186, i16 30, i16 590, i16 617, i16 422, i16 209, i16 535, i16 137, i16 485, i16 511, i16 222, i16 165, i16 337, i16 355, i16 371, i16 385, i16 190, i16 35, i16 627, i16 98, i16 660, i16 85, i16 278, i16 244, i16 376, i16 391, i16 101, i16 69, i16 377, i16 185, i16 401, i16 205, i16 453, i16 38, i16 24, i16 331, i16 352, i16 644, i16 649, i16 662, i16 398, i16 673, i16 454, i16 287, i16 152, i16 223, i16 307, i16 294, i16 419, i16 39, i16 0, i16 357, i16 22, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 296, i16 160, i16 363, i16 342, i16 360, i16 378, i16 42, i16 415, i16 434, i16 206, i16 431, i16 13, i16 490, i16 462, i16 521, i16 486, i16 304, i16 593, i16 525, i16 253, i16 622, i16 645, i16 234, i16 269, i16 104, i16 279, i16 63, i16 425, i16 199, i16 78, i16 174, i16 72, i16 569, i16 295, i16 620, i16 161, i16 340, i16 658, i16 273, i16 680, i16 289, i16 404, i16 361, i16 359, i16 372, i16 423, i16 73, i16 417, i16 315, i16 132, i16 356, i16 362, i16 381, i16 412, i16 26, i16 594, i16 87, i16 471, i16 497, i16 601, i16 227, i16 118, i16 542, i16 557, i16 317, i16 353, i16 265, i16 182, i16 188, i16 0, i16 0, i16 0, i16 0, i16 5, i16 74, i16 544, i16 448, i16 211, i16 475, i16 575, i16 599, i16 524, i16 545, i16 552, i16 239, i16 157, i16 66, i16 585, i16 103, i16 614, i16 48, i16 632, i16 687, i16 282, i16 308, i16 329, i16 604, i16 514, i16 183, i16 537, i16 530, i16 326, i16 177, i16 226, i16 380, i16 406, i16 76, i16 204, i16 208, i16 215, i16 584, i16 247, i16 605, i16 428, i16 679, i16 634, i16 637, i16 37, i16 138, i16 316, i16 196, i16 34, i16 230, i16 44, i16 286, i16 676, i16 312, i16 603, i16 609, i16 549, i16 513, i16 310, i16 325, i16 346, i16 77, i16 388, i16 128, i16 399, i16 411, i16 418, i16 54, i16 444, i16 299, i16 480, i16 113, i16 197, i16 602, i16 89, i16 158, i16 635, i16 59, i16 670, i16 493, i16 276, i16 105, i16 416, i16 429, i16 334, i16 159, i16 110, i16 370, i16 384, i16 684, i16 248, i16 424, i16 301, i16 156, i16 343, i16 242, i16 214, i16 504, i16 515, i16 556, i16 403, i16 81, i16 364, i16 374, i16 189, i16 413, i16 427, i16 28, i16 207, i16 473, i16 494, i16 672, i16 228, i16 540, i16 283, i16 100, i16 586, i16 323, i16 344, i16 375, i16 155, i16 630, i16 124, i16 626, i16 526, i16 613, i16 665, i16 677, i16 16, i16 305, i16 290, i16 167, i16 339, i16 383, i16 408, i16 122, i16 449, i16 80, i16 467, i16 169, i16 218, i16 200, i16 532, i16 543, i16 561, i16 508, i16 510, i16 553, i16 256, i16 582, i16 653, i16 643, i16 0, i16 241, i16 619, i16 666, i16 147, i16 348, i16 397, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 648, i16 141, i16 82, i16 292, i16 309, i16 608, i16 354, i16 410, i16 386, i16 311, i16 439, i16 321, i16 109, i16 460, i16 481, i16 498, i16 394, i16 495, i16 461, i16 112, i16 19, i16 457, i16 254, i16 489, i16 503, i16 221, i16 512, i16 86, i16 527, i16 139, i16 568, i16 580, i16 143, i16 0, i16 0, i16 7, i16 300, i16 49, i16 57, i16 528, i16 102, i16 430, i16 194, i16 564, i16 17, i16 579, i16 0, i16 0, i16 144, i16 83, i16 531, i16 324, i16 229, i16 154, i16 179, i16 387, i16 53, i16 43, i16 277, i16 201, i16 108, i16 21, i16 625, i16 483, i16 146, i16 347, i16 396, i16 446, i16 505, i16 252, i16 336, i16 477, i16 351, i16 379, i16 322, i16 436, i16 0, i16 0, i16 18, i16 8, i16 420, i16 250, i16 450, i16 472, i16 633, i16 518, i16 529, i16 119, i16 631, i16 268, i16 674, i16 142, i16 686, i16 458, i16 134, i16 328, i16 678, i16 488, i16 509, i16 491, i16 541, i16 657, i16 120, i16 563, i16 675, i16 583, i16 245, i16 91, i16 618, i16 0, i16 0, i16 0, i16 683, i16 516, i16 314, i16 681, i16 193, i16 572, i16 358, i16 443, i16 611, i16 421, i16 646, i16 262, i16 272, i16 107, i16 99, i16 538, i16 685, i16 288, i16 64, i16 70, i16 166, i16 50, i16 25, i16 52, i16 71, i16 392, i16 191, i16 426, i16 433, i16 442, i16 451, i16 441, i16 435, i16 438, i16 11, i16 338, i16 106, i16 40, i16 0, i16 0, i16 10, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 440, i16 466, i16 478, i16 501, i16 523, i16 536, i16 554, i16 522, i16 592, i16 581, i16 233, i16 555, i16 251, i16 476, i16 636, i16 264, i16 203, i16 452, i16 474, i16 365, i16 178, i16 187, i16 539, i16 126, i16 565, i16 578, i16 600, i16 220, i16 2, i16 624, i16 639, i16 654, i16 212, i16 562, i16 407, i16 616, i16 33, i16 650, i16 47, i16 332, i16 271, i16 131, i16 97, i16 298, i16 162, i16 341, i16 65, i16 367, i16 213, i16 149, i16 151, i16 302, i16 163, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3, i16 484, i16 345, i16 67, i16 591, i16 469, i16 487, i16 51, i16 171, i16 303, i16 400, i16 175, i16 58, i16 125, i16 598, i16 79, i16 628, i16 463, i16 651, i16 350, i16 274, i16 470, i16 56, i16 464, i16 520, i16 612, i16 640, i16 238, i16 507, i16 123, i16 127, i16 88, i16 623, i16 642, i16 664, i16 548, i16 547, i16 216, i16 682, i16 492, i16 116, i16 519, i16 240, i16 667, i16 588, i16 597, i16 23, i16 559, i16 641, i16 577, i16 93, i16 270, i16 96, i16 225, i16 534, i16 589, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 482, i16 184, i16 224, i16 393, i16 0, i16 0, i16 0, i16 41, i16 121, i16 75, i16 198, i16 517, i16 90, i16 263, i16 210, i16 671, i16 231, i16 496, i16 45, i16 574, i16 246, i16 235, i16 621, i16 32, i16 479, i16 237, i16 560, i16 284, i16 571, i16 327, i16 217, i16 366, i16 232, i16 432, i16 55, i16 111, i16 0, i16 27, i16 114, i16 219, i16 115, i16 573, i16 546, i16 567, i16 6, i16 46, i16 243, i16 130, i16 502, i16 320, i16 92, i16 117, i16 369, i16 551, i16 558, i16 20, i16 164, i16 576, i16 275, i16 257, i16 297, i16 656, i16 596, i16 506, i16 255, i16 629, i16 638, i16 135, i16 0, i16 29, i16 663, i16 285, i16 313, i16 349, i16 148, i16 181, i16 405, i16 330, i16 335, i16 170, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3171, i16 12478, i16 12479, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2196, i16 6503, i16 11985, i16 1886, i16 6504, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2650, i16 12441, i16 12442, i16 0, i16 0, i16 0, i16 0, i16 12443, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2542, i16 11756, i16 11757, i16 6356, i16 0, i16 0, i16 11758, i16 11759, i16 6358, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1165, i16 0, i16 5777, i16 0, i16 5778, i16 10826, i16 10825, i16 10827, i16 10828, i16 10829, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1956, i16 6848, i16 6849, i16 1656, i16 0, i16 12717, i16 0, i16 12718, i16 0, i16 12719, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7035, i16 0, i16 0, i16 1517, i16 7036, i16 13063, i16 13064, i16 13065, i16 7037, i16 0, i16 1888, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7306, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 341, i16 0, i16 342, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 351, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 326, i16 327, i16 325, i16 328, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11125, i16 0, i16 0, i16 5992, i16 0, i16 5993, i16 0, i16 990, i16 11126, i16 0, i16 0, i16 947, i16 5990, i16 11127, i16 0, i16 11128, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 251, i16 0, i16 0, i16 0, i16 0, i16 250, i16 255, i16 0, i16 259, i16 260, i16 0, i16 0, i16 261, i16 262, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 368, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7427, i16 2983, i16 3748, i16 7428, i16 0, i16 7430, i16 3029, i16 7431, i16 3631, i16 7432, i16 2168, i16 7433, i16 1818, i16 7434, i16 1866, i16 965, i16 7435, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3587, i16 0, i16 13156, i16 13157, i16 13158, i16 13159, i16 0, i16 13160, i16 7092, i16 13161, i16 13162, i16 0, i16 0, i16 0, i16 0, i16 7093, i16 5548, i16 13163, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7201, i16 7287, i16 7229, i16 7315, i16 7247, i16 7332, i16 7265, i16 7350, i16 7274, i16 7359, i16 7271, i16 7356, i16 7273, i16 7358, i16 7272, i16 7357, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8287, i16 0, i16 0, i16 0, i16 0, i16 8288, i16 0, i16 2969, i16 8289, i16 0, i16 0, i16 8290, i16 0, i16 0, i16 8291, i16 4207, i16 3113, i16 8292, i16 0, i16 8293, i16 8294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9649, i16 5112, i16 9650, i16 9651, i16 5118, i16 0, i16 0, i16 5116, i16 0, i16 2728, i16 0, i16 0, i16 5123, i16 5113, i16 9652, i16 0, i16 9653, i16 0, i16 9654, i16 5114, i16 5090, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9574, i16 0, i16 9575, i16 0, i16 0, i16 1049, i16 0, i16 0, i16 892, i16 0, i16 9576, i16 5056, i16 0, i16 9577, i16 5059, i16 9578, i16 0, i16 0, i16 3600, i16 9579, i16 0, i16 9580, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 364, i16 0, i16 0, i16 363, i16 0, i16 362, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7882, i16 7883, i16 0, i16 0, i16 4012, i16 3474, i16 0, i16 2068, i16 7884, i16 4018, i16 0, i16 7885, i16 7886, i16 0, i16 4017, i16 4008, i16 0, i16 7887, i16 7888, i16 7889, i16 2472, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 995, i16 0, i16 0, i16 7950, i16 0, i16 0, i16 4058, i16 7951, i16 2153, i16 4054, i16 7952, i16 4052, i16 7953, i16 4053, i16 7954, i16 4055, i16 7955, i16 0, i16 7956, i16 7957, i16 7958, i16 0, i16 7959, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3650, i16 0, i16 9772, i16 5182, i16 0, i16 0, i16 0, i16 847, i16 0, i16 9773, i16 0, i16 9774, i16 9775, i16 9776, i16 9777, i16 0, i16 9778, i16 5184, i16 0, i16 0, i16 9779, i16 5183, i16 0, i16 5181, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10072, i16 10073, i16 5305, i16 0, i16 10074, i16 0, i16 0, i16 5306, i16 10075, i16 0, i16 0, i16 10076, i16 5307, i16 0, i16 0, i16 0, i16 10077, i16 0, i16 10078, i16 10079, i16 866, i16 0, i16 10080, i16 10081, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3182, i16 0, i16 6816, i16 12656, i16 0, i16 12657, i16 12658, i16 6817, i16 12659, i16 6818, i16 0, i16 0, i16 12660, i16 0, i16 6819, i16 12661, i16 12662, i16 0, i16 12663, i16 12664, i16 0, i16 0, i16 0, i16 12665, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11391, i16 0, i16 1000, i16 6110, i16 6111, i16 11358, i16 0, i16 0, i16 0, i16 11359, i16 0, i16 6106, i16 0, i16 1808, i16 11360, i16 0, i16 11361, i16 0, i16 11362, i16 0, i16 11363, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1683, i16 0, i16 12778, i16 0, i16 12779, i16 6888, i16 12780, i16 12781, i16 6889, i16 0, i16 12782, i16 0, i16 12783, i16 12784, i16 12785, i16 0, i16 1055, i16 12786, i16 0, i16 12787, i16 6890, i16 0, i16 12788, i16 12789, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8637, i16 0, i16 0, i16 8638, i16 0, i16 0, i16 8639, i16 4435, i16 4441, i16 4433, i16 0, i16 2779, i16 8640, i16 8641, i16 4438, i16 3156, i16 8642, i16 8643, i16 4432, i16 8644, i16 4437, i16 3636, i16 1834, i16 0, i16 8645, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7102, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7101, i16 7104, i16 7108, i16 7107, i16 0, i16 7105, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11222, i16 0, i16 0, i16 11223, i16 0, i16 3292, i16 0, i16 3660, i16 11224, i16 11225, i16 11226, i16 11227, i16 0, i16 6049, i16 0, i16 0, i16 11228, i16 0, i16 0, i16 11230, i16 11231, i16 6056, i16 11232, i16 0, i16 6048, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8409, i16 8410, i16 0, i16 8411, i16 0, i16 4283, i16 0, i16 0, i16 8412, i16 1205, i16 4284, i16 8413, i16 0, i16 4285, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8414, i16 0, i16 8415, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4599, i16 752, i16 8844, i16 8845, i16 1720, i16 0, i16 8846, i16 0, i16 2177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8847, i16 8848, i16 0, i16 0, i16 8849, i16 2707, i16 0, i16 8850, i16 3053, i16 4605, i16 2405, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4632, i16 0, i16 0, i16 8909, i16 8910, i16 0, i16 0, i16 2464, i16 0, i16 4639, i16 8911, i16 0, i16 8912, i16 4633, i16 8913, i16 0, i16 4630, i16 4637, i16 8914, i16 0, i16 0, i16 0, i16 4607, i16 0, i16 8915, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 316, i16 315, i16 0, i16 0, i16 0, i16 312, i16 0, i16 0, i16 314, i16 313, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8817, i16 0, i16 8818, i16 0, i16 0, i16 3069, i16 4663, i16 0, i16 0, i16 0, i16 0, i16 3279, i16 0, i16 8819, i16 0, i16 2706, i16 8820, i16 8821, i16 0, i16 3368, i16 8822, i16 4583, i16 934, i16 2605, i16 8823, i16 8824, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7940, i16 2549, i16 0, i16 7941, i16 970, i16 7942, i16 0, i16 0, i16 7943, i16 7944, i16 7945, i16 7946, i16 7947, i16 7948, i16 0, i16 4042, i16 0, i16 4044, i16 2069, i16 858, i16 7949, i16 0, i16 4047, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 311, i16 310, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2652, i16 12969, i16 6980, i16 0, i16 3024, i16 0, i16 6985, i16 6981, i16 0, i16 0, i16 0, i16 6982, i16 0, i16 12970, i16 3300, i16 3413, i16 0, i16 2861, i16 12971, i16 0, i16 12972, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1124, i16 11078, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11079, i16 920, i16 5954, i16 3639, i16 2498, i16 11080, i16 0, i16 3131, i16 0, i16 5966, i16 11081, i16 988, i16 5964, i16 0, i16 5962, i16 5953, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2662, i16 9547, i16 9548, i16 9549, i16 883, i16 1622, i16 5035, i16 0, i16 0, i16 9551, i16 9552, i16 0, i16 9553, i16 1974, i16 5040, i16 0, i16 5039, i16 5034, i16 0, i16 5037, i16 9554, i16 0, i16 1099, i16 9555, i16 5036, i16 2948, i16 9556, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8864, i16 8865, i16 3280, i16 1919, i16 4620, i16 0, i16 4619, i16 8866, i16 8867, i16 2243, i16 0, i16 0, i16 8868, i16 1497, i16 0, i16 8869, i16 8870, i16 4613, i16 2086, i16 8871, i16 0, i16 2885, i16 2924, i16 8872, i16 8873, i16 0, i16 8874, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11173, i16 6028, i16 11174, i16 11175, i16 3524, i16 11176, i16 0, i16 0, i16 11177, i16 3575, i16 11178, i16 0, i16 11179, i16 11180, i16 0, i16 0, i16 0, i16 11181, i16 2619, i16 11182, i16 11183, i16 11184, i16 1102, i16 11185, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6850, i16 12720, i16 0, i16 1057, i16 0, i16 0, i16 0, i16 2954, i16 6851, i16 6852, i16 0, i16 12721, i16 12722, i16 12723, i16 2589, i16 2888, i16 12724, i16 0, i16 0, i16 0, i16 12725, i16 12726, i16 0, i16 6853, i16 12727, i16 0, i16 12728, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4292, i16 0, i16 4294, i16 0, i16 8425, i16 0, i16 8426, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8427, i16 0, i16 0, i16 0, i16 0, i16 8429, i16 0, i16 4295, i16 0, i16 0, i16 0, i16 8428, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10961, i16 5874, i16 10962, i16 0, i16 0, i16 10963, i16 5872, i16 10964, i16 0, i16 2208, i16 0, i16 3164, i16 5877, i16 10965, i16 5876, i16 1639, i16 3710, i16 0, i16 10966, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5893, i16 0, i16 0, i16 0, i16 0, i16 13078, i16 7046, i16 3001, i16 0, i16 13079, i16 7047, i16 7049, i16 0, i16 13080, i16 7050, i16 13081, i16 13082, i16 13083, i16 0, i16 0, i16 13084, i16 13085, i16 13086, i16 0, i16 0, i16 7048, i16 1668, i16 3422, i16 3350, i16 4361, i16 0, i16 4996, i16 3374, i16 0, i16 0, i16 0, i16 0, i16 9766, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9767, i16 5177, i16 2557, i16 5180, i16 5175, i16 9768, i16 9769, i16 0, i16 5179, i16 9770, i16 0, i16 0, i16 9771, i16 5178, i16 2751, i16 802, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4915, i16 9346, i16 9347, i16 4920, i16 4924, i16 9348, i16 9349, i16 1331, i16 0, i16 0, i16 9350, i16 0, i16 9351, i16 9352, i16 9353, i16 0, i16 0, i16 9354, i16 9355, i16 0, i16 1259, i16 4922, i16 0, i16 9356, i16 0, i16 0, i16 0, i16 1216, i16 0, i16 0, i16 0, i16 0, i16 9780, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5176, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3286, i16 9781, i16 0, i16 0, i16 5186, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9539, i16 0, i16 0, i16 9540, i16 0, i16 0, i16 9541, i16 3517, i16 5042, i16 0, i16 9542, i16 9543, i16 0, i16 9544, i16 5041, i16 9545, i16 0, i16 0, i16 0, i16 2335, i16 0, i16 5038, i16 9546, i16 3547, i16 0, i16 0, i16 2835, i16 5032, i16 0, i16 0, i16 0, i16 0, i16 10582, i16 0, i16 3236, i16 986, i16 0, i16 10583, i16 0, i16 5611, i16 0, i16 5608, i16 10584, i16 5613, i16 10585, i16 10586, i16 5612, i16 0, i16 2990, i16 3384, i16 10587, i16 1806, i16 5606, i16 5615, i16 5610, i16 10588, i16 5609, i16 5605, i16 10589, i16 5607, i16 0, i16 0, i16 0, i16 0, i16 12640, i16 0, i16 6807, i16 12641, i16 0, i16 0, i16 12642, i16 6809, i16 2511, i16 1086, i16 1087, i16 6808, i16 0, i16 12643, i16 12644, i16 12645, i16 1194, i16 1515, i16 12646, i16 12647, i16 1195, i16 12648, i16 12649, i16 2750, i16 0, i16 0, i16 3629, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9849, i16 0, i16 0, i16 0, i16 5220, i16 0, i16 2687, i16 9850, i16 5222, i16 5221, i16 0, i16 9851, i16 5223, i16 0, i16 5224, i16 0, i16 9852, i16 1936, i16 3162, i16 0, i16 9853, i16 9854, i16 3453, i16 5225, i16 5226, i16 2397, i16 1877, i16 5227, i16 0, i16 0, i16 0, i16 0, i16 944, i16 0, i16 13087, i16 0, i16 13088, i16 0, i16 0, i16 13089, i16 7052, i16 1263, i16 7053, i16 7054, i16 7055, i16 0, i16 1676, i16 0, i16 7056, i16 13090, i16 0, i16 0, i16 5266, i16 3436, i16 0, i16 2504, i16 7057, i16 7059, i16 7058, i16 13091, i16 0, i16 0, i16 0, i16 0, i16 9393, i16 0, i16 0, i16 9394, i16 3008, i16 0, i16 4946, i16 0, i16 9395, i16 0, i16 0, i16 0, i16 9396, i16 9397, i16 9398, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4950, i16 4947, i16 9399, i16 9400, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1215, i16 9243, i16 4856, i16 0, i16 9244, i16 3418, i16 4831, i16 1214, i16 9245, i16 4838, i16 0, i16 9246, i16 9247, i16 9248, i16 3315, i16 9249, i16 4839, i16 4841, i16 9250, i16 4845, i16 4833, i16 9251, i16 2541, i16 0, i16 9252, i16 9253, i16 0, i16 2798, i16 0, i16 0, i16 0, i16 0, i16 7110, i16 7111, i16 7122, i16 0, i16 7123, i16 7124, i16 7125, i16 0, i16 7127, i16 0, i16 7128, i16 7130, i16 7136, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 0, i16 0, i16 0, i16 0, i16 6623, i16 0, i16 0, i16 12326, i16 12327, i16 12328, i16 0, i16 2886, i16 0, i16 2772, i16 0, i16 0, i16 12329, i16 12330, i16 12331, i16 0, i16 2680, i16 12332, i16 6636, i16 12333, i16 12334, i16 0, i16 12335, i16 2566, i16 6632, i16 0, i16 12336, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2303, i16 11822, i16 1920, i16 6405, i16 0, i16 11823, i16 0, i16 1077, i16 11824, i16 6406, i16 11825, i16 0, i16 2429, i16 6407, i16 0, i16 6408, i16 3170, i16 0, i16 0, i16 1230, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11826, i16 0, i16 0, i16 0, i16 8200, i16 905, i16 0, i16 8201, i16 1202, i16 2877, i16 3273, i16 0, i16 0, i16 0, i16 0, i16 4173, i16 2396, i16 4172, i16 1435, i16 8202, i16 8203, i16 3342, i16 4171, i16 0, i16 2788, i16 4175, i16 8204, i16 4174, i16 8205, i16 0, i16 8206, i16 8207, i16 8208, i16 0, i16 0, i16 0, i16 9739, i16 9740, i16 0, i16 0, i16 0, i16 9741, i16 9742, i16 9743, i16 9744, i16 5111, i16 0, i16 9749, i16 0, i16 0, i16 5171, i16 0, i16 0, i16 9745, i16 9746, i16 0, i16 0, i16 2884, i16 0, i16 0, i16 0, i16 0, i16 9747, i16 9748, i16 0, i16 0, i16 0, i16 0, i16 8486, i16 0, i16 0, i16 0, i16 8487, i16 0, i16 4332, i16 0, i16 8488, i16 1185, i16 4333, i16 8490, i16 0, i16 8489, i16 0, i16 4335, i16 4334, i16 0, i16 0, i16 4336, i16 0, i16 8491, i16 8492, i16 0, i16 4337, i16 0, i16 2327, i16 1970, i16 0, i16 0, i16 0, i16 0, i16 808, i16 5862, i16 0, i16 2563, i16 0, i16 10928, i16 0, i16 0, i16 0, i16 2963, i16 10929, i16 2496, i16 10930, i16 0, i16 0, i16 10931, i16 0, i16 10932, i16 10933, i16 5864, i16 10934, i16 10935, i16 5860, i16 5863, i16 5858, i16 0, i16 5861, i16 3289, i16 0, i16 0, i16 0, i16 0, i16 6698, i16 0, i16 0, i16 12462, i16 784, i16 12463, i16 12464, i16 6696, i16 12465, i16 6700, i16 6699, i16 0, i16 0, i16 12466, i16 12467, i16 12468, i16 12469, i16 6702, i16 6701, i16 6703, i16 0, i16 2827, i16 12470, i16 12471, i16 0, i16 6704, i16 12472, i16 12473, i16 12474, i16 0, i16 0, i16 0, i16 299, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7121, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9006, i16 0, i16 1543, i16 0, i16 9007, i16 4685, i16 9008, i16 0, i16 0, i16 0, i16 4688, i16 0, i16 3145, i16 9009, i16 1278, i16 9010, i16 0, i16 9011, i16 4687, i16 4686, i16 2959, i16 4689, i16 1330, i16 0, i16 0, i16 0, i16 4691, i16 4690, i16 9012, i16 0, i16 0, i16 0, i16 5172, i16 9750, i16 9751, i16 0, i16 0, i16 0, i16 0, i16 0, i16 981, i16 9752, i16 0, i16 9753, i16 2803, i16 1032, i16 0, i16 0, i16 0, i16 0, i16 9754, i16 9755, i16 0, i16 1283, i16 0, i16 0, i16 0, i16 1935, i16 1735, i16 9756, i16 0, i16 0, i16 0, i16 0, i16 9782, i16 9783, i16 9784, i16 9785, i16 9786, i16 0, i16 5185, i16 0, i16 9787, i16 9788, i16 0, i16 0, i16 9789, i16 0, i16 0, i16 0, i16 0, i16 914, i16 0, i16 0, i16 0, i16 0, i16 5188, i16 3207, i16 0, i16 5187, i16 0, i16 9790, i16 0, i16 0, i16 0, i16 0, i16 8247, i16 8248, i16 863, i16 1136, i16 8249, i16 4189, i16 0, i16 3414, i16 3112, i16 0, i16 0, i16 8250, i16 8251, i16 0, i16 8252, i16 8253, i16 0, i16 8254, i16 0, i16 753, i16 8255, i16 0, i16 0, i16 0, i16 834, i16 0, i16 0, i16 0, i16 1828, i16 0, i16 0, i16 0, i16 10308, i16 0, i16 0, i16 0, i16 5464, i16 0, i16 10309, i16 0, i16 0, i16 0, i16 5465, i16 0, i16 0, i16 0, i16 10310, i16 10311, i16 0, i16 0, i16 10312, i16 0, i16 5466, i16 0, i16 10313, i16 5467, i16 3400, i16 5468, i16 0, i16 10314, i16 10315, i16 0, i16 0, i16 0, i16 10830, i16 10831, i16 5779, i16 0, i16 10832, i16 0, i16 0, i16 0, i16 0, i16 5780, i16 5781, i16 5782, i16 10833, i16 5783, i16 5784, i16 10834, i16 10835, i16 5786, i16 5785, i16 0, i16 0, i16 5787, i16 0, i16 0, i16 10836, i16 10837, i16 10838, i16 0, i16 5788, i16 0, i16 0, i16 0, i16 6991, i16 0, i16 0, i16 6989, i16 0, i16 1118, i16 0, i16 6988, i16 1891, i16 942, i16 0, i16 0, i16 12981, i16 12982, i16 0, i16 12983, i16 12984, i16 12985, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12986, i16 1658, i16 12987, i16 12989, i16 6998, i16 6997, i16 0, i16 0, i16 0, i16 12117, i16 0, i16 0, i16 0, i16 12118, i16 12119, i16 2864, i16 6566, i16 1989, i16 1937, i16 2966, i16 2612, i16 12120, i16 0, i16 0, i16 1955, i16 12121, i16 2231, i16 0, i16 6567, i16 12122, i16 6568, i16 12123, i16 12124, i16 12125, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1113, i16 5562, i16 5561, i16 10536, i16 5565, i16 5558, i16 10537, i16 5566, i16 3574, i16 10538, i16 5567, i16 10539, i16 5568, i16 0, i16 10540, i16 4170, i16 5570, i16 0, i16 5569, i16 0, i16 0, i16 0, i16 5571, i16 5572, i16 10541, i16 3586, i16 5573, i16 0, i16 6797, i16 0, i16 0, i16 0, i16 4186, i16 8227, i16 2474, i16 0, i16 8228, i16 3307, i16 0, i16 0, i16 0, i16 2761, i16 8229, i16 8230, i16 8231, i16 8232, i16 0, i16 4187, i16 8233, i16 0, i16 0, i16 0, i16 8234, i16 0, i16 3352, i16 8235, i16 1727, i16 8236, i16 0, i16 2071, i16 0, i16 0, i16 0, i16 0, i16 4961, i16 0, i16 0, i16 9421, i16 4960, i16 0, i16 4962, i16 9422, i16 0, i16 979, i16 9423, i16 2554, i16 0, i16 4963, i16 0, i16 9424, i16 1152, i16 4965, i16 0, i16 9425, i16 0, i16 9426, i16 4964, i16 0, i16 4966, i16 0, i16 9427, i16 0, i16 4967, i16 0, i16 0, i16 0, i16 10341, i16 10342, i16 5477, i16 0, i16 10343, i16 10344, i16 0, i16 0, i16 0, i16 10345, i16 0, i16 10346, i16 0, i16 0, i16 0, i16 10347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10348, i16 2104, i16 10349, i16 0, i16 0, i16 0, i16 0, i16 2175, i16 8612, i16 3107, i16 0, i16 8613, i16 8614, i16 8615, i16 0, i16 8616, i16 1208, i16 2913, i16 0, i16 0, i16 8617, i16 8618, i16 8619, i16 8620, i16 8621, i16 0, i16 4422, i16 1833, i16 3309, i16 3310, i16 0, i16 0, i16 933, i16 4427, i16 8622, i16 0, i16 0, i16 0, i16 0, i16 2695, i16 3881, i16 7678, i16 0, i16 2444, i16 0, i16 7679, i16 1764, i16 3882, i16 3883, i16 2359, i16 0, i16 3880, i16 0, i16 0, i16 0, i16 0, i16 3885, i16 7680, i16 3305, i16 7681, i16 7682, i16 0, i16 7683, i16 1659, i16 7684, i16 0, i16 3884, i16 7685, i16 0, i16 0, i16 0, i16 5002, i16 5001, i16 0, i16 9479, i16 9480, i16 9481, i16 0, i16 0, i16 0, i16 9482, i16 0, i16 9483, i16 0, i16 0, i16 0, i16 0, i16 9484, i16 2224, i16 9485, i16 9486, i16 3120, i16 881, i16 0, i16 9487, i16 9488, i16 0, i16 0, i16 3038, i16 9489, i16 0, i16 0, i16 0, i16 12200, i16 12201, i16 12202, i16 12203, i16 0, i16 12204, i16 6671, i16 0, i16 0, i16 6599, i16 0, i16 12205, i16 12206, i16 12207, i16 0, i16 0, i16 12208, i16 3640, i16 12209, i16 12210, i16 1555, i16 12211, i16 12212, i16 12213, i16 0, i16 12214, i16 0, i16 12215, i16 6609, i16 0, i16 0, i16 0, i16 1469, i16 0, i16 8946, i16 0, i16 8947, i16 4649, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8948, i16 8949, i16 8950, i16 1800, i16 4646, i16 0, i16 4645, i16 0, i16 0, i16 8951, i16 8952, i16 2925, i16 8953, i16 0, i16 8954, i16 2834, i16 8955, i16 0, i16 0, i16 0, i16 1223, i16 1538, i16 4235, i16 1083, i16 0, i16 8338, i16 4236, i16 0, i16 2462, i16 0, i16 0, i16 8339, i16 8340, i16 4237, i16 4277, i16 0, i16 4238, i16 0, i16 4239, i16 0, i16 0, i16 4240, i16 0, i16 4242, i16 0, i16 8341, i16 8342, i16 8343, i16 8344, i16 0, i16 0, i16 0, i16 5320, i16 5319, i16 5321, i16 10092, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5322, i16 5324, i16 5323, i16 0, i16 0, i16 1680, i16 10093, i16 5326, i16 0, i16 5325, i16 10094, i16 10095, i16 1158, i16 0, i16 2206, i16 0, i16 2747, i16 0, i16 5327, i16 2273, i16 0, i16 0, i16 0, i16 9928, i16 1677, i16 1845, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9929, i16 5264, i16 5265, i16 9930, i16 0, i16 9931, i16 0, i16 0, i16 0, i16 9932, i16 5267, i16 9933, i16 0, i16 0, i16 0, i16 0, i16 9934, i16 9935, i16 9936, i16 0, i16 0, i16 0, i16 4811, i16 0, i16 0, i16 0, i16 3111, i16 0, i16 0, i16 0, i16 9216, i16 0, i16 0, i16 9217, i16 9218, i16 9219, i16 9220, i16 9221, i16 0, i16 4823, i16 9222, i16 952, i16 4812, i16 0, i16 9223, i16 9224, i16 9225, i16 9226, i16 0, i16 4829, i16 4813, i16 0, i16 0, i16 0, i16 13009, i16 13010, i16 0, i16 13011, i16 7009, i16 0, i16 7008, i16 13012, i16 0, i16 0, i16 13013, i16 13014, i16 1463, i16 0, i16 0, i16 13015, i16 13016, i16 0, i16 13017, i16 13018, i16 13019, i16 13020, i16 0, i16 7013, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11738, i16 0, i16 0, i16 1460, i16 0, i16 0, i16 0, i16 0, i16 6342, i16 6344, i16 11739, i16 0, i16 6345, i16 1251, i16 5811, i16 2150, i16 0, i16 6346, i16 0, i16 11740, i16 1575, i16 11741, i16 11742, i16 0, i16 0, i16 11743, i16 6347, i16 11744, i16 0, i16 0, i16 0, i16 0, i16 5086, i16 9609, i16 9610, i16 0, i16 0, i16 9611, i16 9612, i16 3388, i16 9613, i16 0, i16 5084, i16 5088, i16 9614, i16 0, i16 9615, i16 9616, i16 9617, i16 9618, i16 0, i16 1545, i16 9619, i16 2098, i16 0, i16 0, i16 2556, i16 9620, i16 9621, i16 9622, i16 5078, i16 0, i16 0, i16 0, i16 7917, i16 7918, i16 0, i16 0, i16 1489, i16 4034, i16 4032, i16 2394, i16 1257, i16 1321, i16 7919, i16 4029, i16 0, i16 1393, i16 0, i16 7920, i16 0, i16 0, i16 0, i16 875, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7921, i16 0, i16 0, i16 0, i16 238, i16 0, i16 300, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1015, i16 0, i16 11621, i16 2163, i16 6275, i16 0, i16 11622, i16 0, i16 11623, i16 0, i16 11624, i16 0, i16 0, i16 0, i16 11625, i16 0, i16 11626, i16 6276, i16 0, i16 11627, i16 0, i16 6277, i16 11628, i16 0, i16 0, i16 0, i16 11629, i16 0, i16 11630, i16 0, i16 0, i16 7936, i16 1823, i16 4040, i16 0, i16 0, i16 0, i16 0, i16 7937, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7938, i16 4043, i16 0, i16 4048, i16 0, i16 0, i16 0, i16 4046, i16 4045, i16 7939, i16 0, i16 0, i16 8448, i16 8449, i16 0, i16 0, i16 8450, i16 0, i16 8451, i16 0, i16 8455, i16 4317, i16 4314, i16 0, i16 4316, i16 0, i16 3553, i16 8453, i16 4315, i16 0, i16 0, i16 8452, i16 0, i16 0, i16 0, i16 8454, i16 0, i16 0, i16 4305, i16 0, i16 0, i16 8456, i16 0, i16 0, i16 2310, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8927, i16 0, i16 0, i16 4643, i16 8928, i16 0, i16 8929, i16 8930, i16 8931, i16 8932, i16 0, i16 0, i16 0, i16 2725, i16 0, i16 8933, i16 8934, i16 8935, i16 8936, i16 0, i16 8937, i16 0, i16 0, i16 10759, i16 10760, i16 10761, i16 10762, i16 10763, i16 5714, i16 0, i16 0, i16 1368, i16 3077, i16 10764, i16 10765, i16 10766, i16 2420, i16 0, i16 3613, i16 2046, i16 0, i16 0, i16 5762, i16 0, i16 10767, i16 5724, i16 10768, i16 2343, i16 0, i16 5720, i16 5725, i16 5727, i16 0, i16 0, i16 0, i16 6161, i16 11432, i16 11433, i16 11434, i16 11435, i16 11436, i16 11437, i16 11438, i16 0, i16 11439, i16 11440, i16 3498, i16 0, i16 0, i16 11441, i16 0, i16 0, i16 11442, i16 0, i16 11443, i16 0, i16 11444, i16 11445, i16 11446, i16 0, i16 0, i16 0, i16 0, i16 11447, i16 6160, i16 0, i16 0, i16 8998, i16 4677, i16 4676, i16 0, i16 8999, i16 0, i16 0, i16 9000, i16 4644, i16 4678, i16 4666, i16 0, i16 9001, i16 1836, i16 0, i16 9002, i16 0, i16 0, i16 4679, i16 4680, i16 4682, i16 4681, i16 4683, i16 1027, i16 9003, i16 1613, i16 9004, i16 9005, i16 3281, i16 2264, i16 0, i16 0, i16 13103, i16 13104, i16 0, i16 0, i16 0, i16 7071, i16 7072, i16 13105, i16 0, i16 0, i16 0, i16 0, i16 2723, i16 13106, i16 13107, i16 13108, i16 13109, i16 1558, i16 13110, i16 7074, i16 13111, i16 13112, i16 0, i16 13113, i16 13114, i16 13115, i16 0, i16 0, i16 0, i16 13116, i16 0, i16 0, i16 1852, i16 10946, i16 0, i16 1337, i16 2289, i16 3697, i16 3391, i16 5865, i16 2301, i16 10947, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10948, i16 10949, i16 10950, i16 0, i16 1266, i16 5868, i16 10951, i16 0, i16 10952, i16 0, i16 0, i16 0, i16 4159, i16 0, i16 0, i16 8181, i16 8182, i16 0, i16 0, i16 3238, i16 4160, i16 8183, i16 8184, i16 0, i16 0, i16 971, i16 4161, i16 0, i16 8185, i16 8186, i16 8187, i16 3499, i16 1043, i16 0, i16 3939, i16 2007, i16 2468, i16 4162, i16 3452, i16 8189, i16 0, i16 0, i16 0, i16 0, i16 9280, i16 0, i16 0, i16 9281, i16 0, i16 0, i16 0, i16 9282, i16 3515, i16 0, i16 0, i16 0, i16 9283, i16 0, i16 0, i16 0, i16 0, i16 3181, i16 4862, i16 2479, i16 0, i16 9284, i16 0, i16 4868, i16 2374, i16 9285, i16 4859, i16 4872, i16 4871, i16 0, i16 0, i16 0, i16 334, i16 335, i16 0, i16 0, i16 332, i16 333, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5718, i16 5712, i16 0, i16 0, i16 10752, i16 10753, i16 0, i16 0, i16 10754, i16 5716, i16 1963, i16 806, i16 5711, i16 5719, i16 5723, i16 1634, i16 3431, i16 10755, i16 2679, i16 5713, i16 10756, i16 10757, i16 5721, i16 10758, i16 5710, i16 2561, i16 0, i16 5715, i16 774, i16 3419, i16 0, i16 0, i16 9566, i16 0, i16 0, i16 5052, i16 0, i16 9567, i16 2096, i16 0, i16 0, i16 0, i16 3487, i16 0, i16 5049, i16 0, i16 0, i16 9568, i16 9569, i16 5044, i16 9570, i16 5050, i16 9571, i16 9572, i16 9573, i16 3627, i16 0, i16 2802, i16 2847, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3942, i16 7777, i16 3458, i16 0, i16 0, i16 7778, i16 7779, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7780, i16 0, i16 0, i16 0, i16 0, i16 7781, i16 7782, i16 0, i16 3943, i16 0, i16 3615, i16 7783, i16 1589, i16 0, i16 0, i16 7784, i16 0, i16 1519, i16 0, i16 0, i16 9320, i16 0, i16 0, i16 9321, i16 0, i16 4903, i16 4896, i16 0, i16 0, i16 4909, i16 0, i16 4907, i16 9322, i16 9323, i16 0, i16 9324, i16 4902, i16 9325, i16 0, i16 9326, i16 0, i16 0, i16 0, i16 4901, i16 0, i16 2673, i16 0, i16 2412, i16 9327, i16 4899, i16 0, i16 0, i16 12650, i16 12651, i16 0, i16 12652, i16 12653, i16 1557, i16 0, i16 0, i16 12654, i16 6810, i16 12655, i16 0, i16 0, i16 6811, i16 6812, i16 6813, i16 0, i16 6815, i16 6814, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4205, i16 8279, i16 0, i16 8280, i16 3151, i16 8281, i16 0, i16 0, i16 4206, i16 0, i16 4201, i16 8282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8283, i16 0, i16 0, i16 8284, i16 8285, i16 0, i16 0, i16 8286, i16 3404, i16 0, i16 0, i16 2671, i16 2855, i16 880, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2331, i16 9194, i16 0, i16 2269, i16 1413, i16 0, i16 9195, i16 0, i16 0, i16 0, i16 9196, i16 4801, i16 9197, i16 0, i16 0, i16 12666, i16 6821, i16 6820, i16 12667, i16 6822, i16 0, i16 12668, i16 0, i16 0, i16 0, i16 12669, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3085, i16 5822, i16 0, i16 0, i16 2164, i16 0, i16 0, i16 12678, i16 6825, i16 0, i16 3440, i16 0, i16 12679, i16 12680, i16 6826, i16 3531, i16 0, i16 873, i16 0, i16 0, i16 0, i16 1812, i16 12681, i16 6827, i16 1011, i16 6828, i16 12682, i16 12683, i16 12684, i16 6829, i16 0, i16 12685, i16 12686, i16 12687, i16 6831, i16 6832, i16 12688, i16 0, i16 0, i16 7827, i16 0, i16 7828, i16 0, i16 7829, i16 7830, i16 1967, i16 7831, i16 1959, i16 7832, i16 0, i16 7833, i16 7834, i16 0, i16 3977, i16 3975, i16 0, i16 3380, i16 7835, i16 3972, i16 3981, i16 3976, i16 0, i16 0, i16 0, i16 3979, i16 1535, i16 3408, i16 0, i16 7836, i16 0, i16 0, i16 9623, i16 9624, i16 0, i16 0, i16 0, i16 3486, i16 9625, i16 0, i16 0, i16 5081, i16 0, i16 0, i16 5074, i16 2801, i16 0, i16 0, i16 5077, i16 9626, i16 0, i16 0, i16 5083, i16 0, i16 0, i16 0, i16 0, i16 9627, i16 0, i16 9628, i16 3708, i16 1903, i16 0, i16 0, i16 10135, i16 5355, i16 10136, i16 5354, i16 0, i16 0, i16 0, i16 0, i16 0, i16 893, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5363, i16 3073, i16 5357, i16 10137, i16 5359, i16 0, i16 0, i16 5361, i16 2185, i16 10138, i16 0, i16 5362, i16 5360, i16 1905, i16 10139, i16 0, i16 0, i16 7585, i16 3813, i16 7586, i16 3811, i16 7587, i16 2389, i16 7588, i16 7589, i16 0, i16 0, i16 0, i16 3812, i16 3814, i16 7590, i16 0, i16 7591, i16 7603, i16 0, i16 0, i16 3816, i16 7592, i16 0, i16 0, i16 3815, i16 7593, i16 3229, i16 0, i16 0, i16 7594, i16 0, i16 0, i16 0, i16 6307, i16 11695, i16 6305, i16 0, i16 11696, i16 2575, i16 11697, i16 11698, i16 11699, i16 2282, i16 1171, i16 6306, i16 0, i16 2214, i16 0, i16 11700, i16 3607, i16 11701, i16 11702, i16 11703, i16 3691, i16 11704, i16 0, i16 0, i16 6308, i16 6319, i16 2646, i16 11705, i16 6318, i16 11706, i16 0, i16 0, i16 12974, i16 6986, i16 0, i16 0, i16 6987, i16 2843, i16 6984, i16 6983, i16 0, i16 12973, i16 0, i16 0, i16 943, i16 0, i16 0, i16 12975, i16 6995, i16 0, i16 0, i16 6994, i16 0, i16 12976, i16 12977, i16 0, i16 0, i16 924, i16 12978, i16 12979, i16 12980, i16 6992, i16 0, i16 0, i16 1714, i16 0, i16 0, i16 10326, i16 10327, i16 0, i16 0, i16 10328, i16 0, i16 0, i16 5472, i16 10329, i16 10330, i16 0, i16 0, i16 10331, i16 5473, i16 0, i16 1503, i16 1738, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10332, i16 0, i16 0, i16 0, i16 0, i16 9906, i16 0, i16 9907, i16 9908, i16 0, i16 9909, i16 0, i16 0, i16 5255, i16 9910, i16 0, i16 9911, i16 0, i16 0, i16 0, i16 0, i16 9912, i16 9913, i16 0, i16 0, i16 5257, i16 5254, i16 9914, i16 9915, i16 0, i16 3429, i16 5256, i16 5258, i16 9916, i16 3601, i16 0, i16 0, i16 4280, i16 7388, i16 0, i16 0, i16 0, i16 0, i16 7389, i16 7390, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3551, i16 0, i16 2906, i16 7391, i16 7392, i16 0, i16 0, i16 0, i16 7393, i16 0, i16 0, i16 0, i16 0, i16 1126, i16 7394, i16 0, i16 0, i16 9401, i16 9402, i16 3554, i16 4948, i16 9403, i16 9404, i16 0, i16 9405, i16 4900, i16 0, i16 0, i16 0, i16 0, i16 9406, i16 9407, i16 9408, i16 4951, i16 0, i16 0, i16 0, i16 4952, i16 9409, i16 0, i16 0, i16 0, i16 9410, i16 0, i16 860, i16 9411, i16 4954, i16 0, i16 0, i16 2749, i16 6472, i16 0, i16 0, i16 0, i16 0, i16 11939, i16 0, i16 0, i16 6475, i16 0, i16 11946, i16 11940, i16 0, i16 11941, i16 11942, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11943, i16 1893, i16 11944, i16 11945, i16 6474, i16 6473, i16 1461, i16 6476, i16 0, i16 0, i16 0, i16 9917, i16 0, i16 9918, i16 5262, i16 0, i16 9919, i16 9920, i16 5261, i16 2617, i16 2920, i16 9921, i16 0, i16 1502, i16 5260, i16 0, i16 9922, i16 9923, i16 0, i16 5259, i16 9924, i16 3488, i16 3489, i16 0, i16 0, i16 9925, i16 9926, i16 0, i16 9927, i16 5263, i16 917, i16 0, i16 0, i16 5579, i16 0, i16 5592, i16 0, i16 5582, i16 10551, i16 1287, i16 0, i16 5581, i16 5594, i16 0, i16 0, i16 0, i16 5580, i16 0, i16 2109, i16 0, i16 0, i16 10552, i16 0, i16 0, i16 0, i16 5584, i16 5585, i16 0, i16 2730, i16 0, i16 0, i16 5586, i16 10553, i16 0, i16 0, i16 7119, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 360, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6868, i16 0, i16 0, i16 0, i16 0, i16 12737, i16 0, i16 0, i16 12738, i16 12739, i16 12740, i16 6859, i16 6860, i16 0, i16 12741, i16 6861, i16 6862, i16 0, i16 12742, i16 12743, i16 0, i16 0, i16 6864, i16 12744, i16 0, i16 6863, i16 0, i16 12745, i16 12746, i16 2024, i16 0, i16 0, i16 4310, i16 8439, i16 8440, i16 0, i16 8441, i16 8442, i16 0, i16 3277, i16 0, i16 8438, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8443, i16 0, i16 0, i16 8444, i16 0, i16 0, i16 0, i16 0, i16 8445, i16 0, i16 0, i16 0, i16 8446, i16 0, i16 8447, i16 0, i16 0, i16 2523, i16 0, i16 10008, i16 5286, i16 10009, i16 0, i16 10010, i16 10011, i16 10012, i16 10013, i16 10014, i16 10015, i16 10016, i16 10017, i16 10018, i16 10019, i16 5288, i16 3619, i16 1364, i16 3093, i16 2949, i16 0, i16 0, i16 10020, i16 5289, i16 0, i16 0, i16 0, i16 0, i16 5291, i16 0, i16 0, i16 6368, i16 0, i16 0, i16 6370, i16 11784, i16 11785, i16 0, i16 6369, i16 6371, i16 11786, i16 3321, i16 6372, i16 6373, i16 0, i16 11787, i16 0, i16 11788, i16 11789, i16 6374, i16 0, i16 0, i16 0, i16 6376, i16 11790, i16 0, i16 11791, i16 11792, i16 1040, i16 2696, i16 0, i16 0, i16 0, i16 7648, i16 0, i16 2257, i16 3861, i16 2025, i16 0, i16 7649, i16 3862, i16 0, i16 2623, i16 3596, i16 2783, i16 0, i16 7650, i16 0, i16 7651, i16 7652, i16 7653, i16 0, i16 7654, i16 3935, i16 0, i16 7655, i16 0, i16 0, i16 3863, i16 7099, i16 1346, i16 7656, i16 0, i16 0, i16 0, i16 6882, i16 0, i16 6884, i16 6883, i16 0, i16 0, i16 0, i16 6885, i16 6887, i16 6886, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 745, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 735, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8685, i16 0, i16 8686, i16 2141, i16 4477, i16 2868, i16 8687, i16 8688, i16 8689, i16 8690, i16 0, i16 0, i16 8691, i16 8692, i16 0, i16 3698, i16 0, i16 4473, i16 8693, i16 8694, i16 0, i16 0, i16 4479, i16 8695, i16 1682, i16 8696, i16 2292, i16 8697, i16 8698, i16 797, i16 0, i16 0, i16 4592, i16 0, i16 8825, i16 2551, i16 4586, i16 4593, i16 4588, i16 4595, i16 4591, i16 0, i16 4590, i16 2986, i16 8826, i16 4584, i16 1026, i16 4582, i16 1296, i16 2520, i16 4578, i16 8827, i16 8828, i16 4581, i16 1611, i16 2308, i16 8829, i16 2084, i16 4589, i16 2957, i16 0, i16 0, i16 0, i16 0, i16 1265, i16 2324, i16 1901, i16 3479, i16 4245, i16 0, i16 8355, i16 8356, i16 0, i16 0, i16 8357, i16 8358, i16 1275, i16 8359, i16 1728, i16 8360, i16 8361, i16 1045, i16 906, i16 2073, i16 973, i16 8362, i16 4246, i16 3509, i16 8363, i16 0, i16 8364, i16 0, i16 0, i16 2008, i16 0, i16 0, i16 3570, i16 2894, i16 0, i16 0, i16 0, i16 0, i16 850, i16 12532, i16 2316, i16 1895, i16 0, i16 0, i16 0, i16 12533, i16 3212, i16 12534, i16 871, i16 0, i16 0, i16 0, i16 3642, i16 3546, i16 0, i16 6745, i16 12535, i16 2756, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7672, i16 0, i16 3030, i16 3233, i16 0, i16 3875, i16 7673, i16 3559, i16 3876, i16 0, i16 0, i16 0, i16 3877, i16 0, i16 2813, i16 7674, i16 7675, i16 3878, i16 0, i16 7676, i16 2258, i16 1779, i16 1487, i16 3879, i16 1820, i16 1670, i16 7677, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3834, i16 0, i16 7631, i16 2907, i16 7632, i16 0, i16 2363, i16 3836, i16 3837, i16 3013, i16 1585, i16 3686, i16 3838, i16 0, i16 0, i16 1315, i16 0, i16 0, i16 0, i16 3217, i16 2459, i16 1390, i16 2740, i16 0, i16 0, i16 0, i16 1486, i16 0, i16 7633, i16 0, i16 0, i16 0, i16 13052, i16 0, i16 0, i16 0, i16 0, i16 13053, i16 0, i16 0, i16 13051, i16 0, i16 0, i16 0, i16 13054, i16 0, i16 13055, i16 13056, i16 13057, i16 0, i16 0, i16 13058, i16 13059, i16 0, i16 0, i16 13060, i16 7032, i16 7033, i16 13061, i16 13062, i16 7034, i16 0, i16 0, i16 0, i16 9469, i16 0, i16 9470, i16 9471, i16 0, i16 0, i16 4997, i16 9472, i16 0, i16 0, i16 0, i16 9473, i16 9474, i16 1844, i16 9475, i16 3394, i16 9476, i16 4998, i16 4999, i16 0, i16 0, i16 1219, i16 0, i16 9477, i16 0, i16 5000, i16 0, i16 0, i16 0, i16 9478, i16 0, i16 2304, i16 0, i16 6423, i16 11858, i16 11859, i16 0, i16 11860, i16 1554, i16 0, i16 6420, i16 6421, i16 11861, i16 0, i16 0, i16 3668, i16 11862, i16 11864, i16 11865, i16 2648, i16 11866, i16 2352, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6424, i16 11867, i16 0, i16 6427, i16 0, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 0, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 520, i16 521, i16 522, i16 523, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 0, i16 1028, i16 1703, i16 6923, i16 6922, i16 3382, i16 0, i16 0, i16 12844, i16 0, i16 0, i16 12845, i16 12846, i16 6925, i16 6926, i16 6924, i16 0, i16 6927, i16 0, i16 0, i16 3349, i16 12847, i16 12848, i16 12849, i16 6928, i16 0, i16 1306, i16 12850, i16 0, i16 0, i16 12851, i16 0, i16 0, i16 6661, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6659, i16 0, i16 0, i16 12412, i16 12413, i16 0, i16 12414, i16 12415, i16 12416, i16 12417, i16 6660, i16 6658, i16 0, i16 2525, i16 0, i16 6662, i16 12418, i16 0, i16 12420, i16 0, i16 12419, i16 0, i16 12549, i16 6764, i16 12550, i16 6761, i16 0, i16 6762, i16 0, i16 6763, i16 6765, i16 12551, i16 0, i16 0, i16 0, i16 12552, i16 12553, i16 0, i16 0, i16 2285, i16 0, i16 0, i16 12554, i16 3464, i16 12555, i16 12556, i16 2286, i16 12557, i16 12558, i16 6766, i16 0, i16 3084, i16 0, i16 0, i16 6663, i16 0, i16 12421, i16 6665, i16 12422, i16 0, i16 0, i16 12423, i16 0, i16 12424, i16 0, i16 12425, i16 0, i16 0, i16 0, i16 0, i16 1174, i16 6664, i16 3467, i16 0, i16 12426, i16 0, i16 0, i16 0, i16 12427, i16 6676, i16 6666, i16 12428, i16 0, i16 6669, i16 12429, i16 0, i16 4105, i16 8057, i16 0, i16 1690, i16 8058, i16 2550, i16 8059, i16 8060, i16 4102, i16 2683, i16 8061, i16 0, i16 8062, i16 8063, i16 8064, i16 8065, i16 8066, i16 0, i16 8067, i16 8068, i16 8069, i16 0, i16 8070, i16 0, i16 8071, i16 8072, i16 8073, i16 8074, i16 0, i16 8075, i16 4106, i16 0, i16 6409, i16 11827, i16 0, i16 11828, i16 2647, i16 0, i16 0, i16 11829, i16 0, i16 898, i16 0, i16 0, i16 11830, i16 0, i16 0, i16 11831, i16 11832, i16 0, i16 0, i16 0, i16 11833, i16 0, i16 0, i16 0, i16 6410, i16 0, i16 0, i16 0, i16 0, i16 11834, i16 11835, i16 0, i16 3338, i16 2521, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3370, i16 0, i16 0, i16 5024, i16 0, i16 9517, i16 5025, i16 9518, i16 980, i16 9519, i16 0, i16 0, i16 0, i16 3197, i16 3470, i16 5027, i16 1876, i16 2095, i16 5020, i16 5026, i16 911, i16 0, i16 3595, i16 0, i16 7373, i16 7374, i16 0, i16 3223, i16 0, i16 7375, i16 0, i16 3714, i16 7376, i16 0, i16 2601, i16 7377, i16 7378, i16 7379, i16 3715, i16 1399, i16 0, i16 0, i16 7380, i16 3716, i16 0, i16 1182, i16 2547, i16 0, i16 1944, i16 3717, i16 0, i16 0, i16 3718, i16 0, i16 4364, i16 4365, i16 2956, i16 0, i16 0, i16 8542, i16 0, i16 4366, i16 3652, i16 3672, i16 8544, i16 8543, i16 0, i16 8545, i16 4368, i16 4367, i16 8546, i16 8547, i16 1066, i16 8548, i16 8549, i16 4369, i16 0, i16 0, i16 0, i16 4372, i16 4373, i16 8550, i16 4371, i16 8551, i16 3127, i16 0, i16 1549, i16 1851, i16 0, i16 0, i16 3079, i16 10923, i16 10924, i16 0, i16 1507, i16 3318, i16 10925, i16 5857, i16 5855, i16 0, i16 1637, i16 0, i16 1638, i16 818, i16 0, i16 1757, i16 0, i16 0, i16 0, i16 10926, i16 10927, i16 2964, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3599, i16 9227, i16 4820, i16 9228, i16 2970, i16 9229, i16 0, i16 9230, i16 0, i16 0, i16 0, i16 0, i16 4828, i16 0, i16 4815, i16 0, i16 0, i16 0, i16 765, i16 4817, i16 0, i16 9231, i16 1619, i16 9232, i16 0, i16 9233, i16 4819, i16 9234, i16 4818, i16 0, i16 4814, i16 0, i16 4879, i16 0, i16 4887, i16 0, i16 9315, i16 0, i16 7096, i16 9316, i16 0, i16 4884, i16 1620, i16 2665, i16 2411, i16 4882, i16 0, i16 4877, i16 9317, i16 0, i16 4880, i16 0, i16 0, i16 9318, i16 9319, i16 3516, i16 3357, i16 0, i16 0, i16 0, i16 4885, i16 4895, i16 0, i16 0, i16 11023, i16 11024, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11025, i16 5925, i16 1641, i16 5926, i16 3045, i16 0, i16 5940, i16 0, i16 0, i16 0, i16 11026, i16 5928, i16 11027, i16 2478, i16 2992, i16 1528, i16 5927, i16 2348, i16 11028, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5395, i16 5396, i16 0, i16 10200, i16 10201, i16 0, i16 5400, i16 5397, i16 5398, i16 5399, i16 0, i16 5401, i16 10202, i16 10203, i16 10204, i16 5402, i16 10205, i16 5403, i16 0, i16 10206, i16 0, i16 5404, i16 0, i16 5405, i16 0, i16 3016, i16 2767, i16 5406, i16 2989, i16 3115, i16 0, i16 0, i16 8468, i16 4323, i16 8469, i16 4322, i16 0, i16 0, i16 4321, i16 8470, i16 0, i16 8471, i16 2791, i16 4300, i16 0, i16 0, i16 0, i16 4329, i16 0, i16 8472, i16 8473, i16 8474, i16 8475, i16 0, i16 0, i16 0, i16 8476, i16 0, i16 8477, i16 0, i16 4325, i16 0, i16 8478, i16 0, i16 6679, i16 0, i16 12440, i16 12439, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1304, i16 3121, i16 0, i16 9655, i16 0, i16 1904, i16 0, i16 9656, i16 1678, i16 9657, i16 0, i16 9658, i16 9659, i16 0, i16 3678, i16 0, i16 5110, i16 0, i16 5122, i16 912, i16 2413, i16 9660, i16 0, i16 9661, i16 0, i16 9662, i16 9663, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8729, i16 4504, i16 0, i16 4505, i16 8730, i16 8731, i16 4494, i16 1871, i16 8732, i16 4498, i16 2491, i16 1609, i16 4480, i16 2176, i16 0, i16 0, i16 0, i16 0, i16 4518, i16 0, i16 3262, i16 0, i16 0, i16 4508, i16 4509, i16 4510, i16 0, i16 0, i16 4517, i16 8733, i16 4516, i16 0, i16 9757, i16 0, i16 0, i16 0, i16 9758, i16 9759, i16 0, i16 0, i16 3666, i16 2225, i16 0, i16 0, i16 0, i16 913, i16 0, i16 0, i16 0, i16 5174, i16 0, i16 9760, i16 9761, i16 9762, i16 9763, i16 9764, i16 5173, i16 0, i16 9765, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7458, i16 7459, i16 1127, i16 7460, i16 7461, i16 3762, i16 0, i16 3754, i16 7462, i16 7463, i16 3632, i16 7464, i16 1867, i16 7465, i16 3755, i16 7466, i16 3760, i16 7467, i16 7468, i16 7469, i16 0, i16 3763, i16 7470, i16 3756, i16 7471, i16 7472, i16 1310, i16 0, i16 790, i16 7473, i16 7474, i16 0, i16 11555, i16 6226, i16 0, i16 6231, i16 0, i16 11556, i16 3192, i16 0, i16 0, i16 6233, i16 0, i16 6232, i16 11557, i16 11558, i16 11559, i16 1103, i16 0, i16 3294, i16 6234, i16 0, i16 11560, i16 11561, i16 0, i16 11562, i16 11563, i16 11564, i16 0, i16 11565, i16 6246, i16 6236, i16 0, i16 0, i16 1572, i16 0, i16 0, i16 0, i16 0, i16 5480, i16 2711, i16 0, i16 0, i16 10359, i16 0, i16 5483, i16 1050, i16 5478, i16 10360, i16 0, i16 3075, i16 0, i16 855, i16 10361, i16 1761, i16 0, i16 3709, i16 10362, i16 0, i16 5482, i16 0, i16 0, i16 10364, i16 10365, i16 10366, i16 0, i16 6950, i16 6947, i16 6946, i16 6948, i16 12905, i16 0, i16 12906, i16 1466, i16 0, i16 12907, i16 12908, i16 0, i16 0, i16 0, i16 12909, i16 6954, i16 6953, i16 6952, i16 12910, i16 0, i16 764, i16 0, i16 12911, i16 12912, i16 12913, i16 12914, i16 0, i16 0, i16 12915, i16 0, i16 12916, i16 0, i16 2856, i16 4921, i16 0, i16 9357, i16 0, i16 4923, i16 9358, i16 0, i16 0, i16 9359, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9360, i16 4917, i16 9361, i16 0, i16 0, i16 0, i16 0, i16 4919, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9362, i16 1091, i16 0, i16 11816, i16 0, i16 11817, i16 6393, i16 6394, i16 0, i16 6396, i16 2440, i16 11818, i16 6395, i16 1191, i16 0, i16 6398, i16 0, i16 6397, i16 6399, i16 0, i16 11819, i16 6401, i16 6403, i16 0, i16 6404, i16 11820, i16 0, i16 0, i16 0, i16 11821, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6188, i16 6187, i16 6118, i16 0, i16 0, i16 0, i16 6192, i16 11497, i16 0, i16 0, i16 0, i16 0, i16 11498, i16 11499, i16 0, i16 11500, i16 6189, i16 11501, i16 0, i16 0, i16 11502, i16 6190, i16 0, i16 0, i16 6191, i16 11503, i16 6193, i16 11504, i16 0, i16 0, i16 0, i16 0, i16 8237, i16 0, i16 8238, i16 8239, i16 0, i16 4188, i16 0, i16 8240, i16 1827, i16 8241, i16 1826, i16 0, i16 8242, i16 0, i16 0, i16 770, i16 1537, i16 8243, i16 2260, i16 794, i16 0, i16 0, i16 0, i16 0, i16 4192, i16 4193, i16 0, i16 4190, i16 8244, i16 8245, i16 8246, i16 0, i16 4912, i16 4937, i16 4936, i16 0, i16 0, i16 9383, i16 0, i16 9385, i16 9384, i16 0, i16 0, i16 9386, i16 0, i16 0, i16 0, i16 9387, i16 4942, i16 0, i16 3665, i16 9388, i16 9389, i16 9390, i16 0, i16 0, i16 0, i16 4945, i16 1400, i16 9391, i16 9392, i16 4941, i16 4943, i16 0, i16 12592, i16 0, i16 6789, i16 12593, i16 12594, i16 6790, i16 12595, i16 6791, i16 12596, i16 12597, i16 6792, i16 12598, i16 12599, i16 12600, i16 0, i16 12601, i16 12602, i16 0, i16 1179, i16 12603, i16 0, i16 0, i16 12604, i16 12605, i16 12606, i16 0, i16 12610, i16 6793, i16 12607, i16 12608, i16 0, i16 0, i16 819, i16 0, i16 12066, i16 12067, i16 12068, i16 0, i16 12069, i16 12070, i16 0, i16 1648, i16 0, i16 12064, i16 0, i16 3685, i16 0, i16 0, i16 0, i16 12079, i16 0, i16 0, i16 12071, i16 0, i16 12072, i16 12073, i16 12074, i16 0, i16 6560, i16 12075, i16 12076, i16 0, i16 12077, i16 0, i16 6451, i16 11911, i16 11912, i16 6454, i16 6453, i16 0, i16 6452, i16 0, i16 11913, i16 6456, i16 6455, i16 0, i16 3463, i16 0, i16 0, i16 11914, i16 6458, i16 11915, i16 6457, i16 6459, i16 11916, i16 0, i16 0, i16 0, i16 6460, i16 11917, i16 11918, i16 0, i16 11919, i16 11920, i16 0, i16 0, i16 1332, i16 9520, i16 0, i16 5017, i16 5022, i16 9521, i16 0, i16 0, i16 2333, i16 2988, i16 0, i16 3072, i16 9522, i16 0, i16 9523, i16 9524, i16 9525, i16 9526, i16 5019, i16 9527, i16 3284, i16 9528, i16 5021, i16 0, i16 5030, i16 9529, i16 5028, i16 9530, i16 5023, i16 0, i16 0, i16 0, i16 6708, i16 12480, i16 0, i16 12481, i16 12482, i16 12483, i16 0, i16 6709, i16 0, i16 1754, i16 0, i16 12484, i16 0, i16 6710, i16 6711, i16 0, i16 12485, i16 3324, i16 12486, i16 0, i16 0, i16 0, i16 12487, i16 12488, i16 12489, i16 12490, i16 2386, i16 12491, i16 12492, i16 0, i16 749, i16 0, i16 12852, i16 0, i16 12853, i16 0, i16 12854, i16 12855, i16 0, i16 12856, i16 0, i16 12857, i16 12858, i16 12859, i16 12860, i16 12861, i16 3664, i16 0, i16 0, i16 0, i16 12862, i16 6929, i16 12863, i16 0, i16 12864, i16 12865, i16 12866, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12867, i16 0, i16 10805, i16 10806, i16 0, i16 0, i16 10807, i16 5742, i16 5750, i16 0, i16 5758, i16 5757, i16 10808, i16 0, i16 3373, i16 10809, i16 10810, i16 1414, i16 0, i16 0, i16 10811, i16 0, i16 0, i16 0, i16 0, i16 10812, i16 5756, i16 0, i16 5760, i16 5759, i16 5763, i16 10813, i16 5765, i16 0, i16 2872, i16 2230, i16 12031, i16 12032, i16 2588, i16 0, i16 1397, i16 0, i16 6536, i16 3494, i16 870, i16 12033, i16 3244, i16 998, i16 6531, i16 6532, i16 6533, i16 6534, i16 2840, i16 2534, i16 812, i16 6538, i16 0, i16 6539, i16 7097, i16 0, i16 12034, i16 2466, i16 12035, i16 6540, i16 0, i16 0, i16 6969, i16 12928, i16 12929, i16 6968, i16 6967, i16 12930, i16 12931, i16 12932, i16 12933, i16 12934, i16 0, i16 0, i16 3136, i16 6965, i16 828, i16 6970, i16 12935, i16 6972, i16 0, i16 0, i16 12936, i16 12937, i16 12938, i16 0, i16 1106, i16 6951, i16 862, i16 0, i16 12939, i16 6974, i16 0, i16 0, i16 9018, i16 4694, i16 4695, i16 0, i16 9019, i16 0, i16 3213, i16 4241, i16 2287, i16 9020, i16 0, i16 3139, i16 0, i16 1741, i16 0, i16 3070, i16 3036, i16 9021, i16 0, i16 0, i16 9022, i16 0, i16 2764, i16 9023, i16 3598, i16 0, i16 4697, i16 1921, i16 9024, i16 0, i16 4698, i16 0, i16 1341, i16 12391, i16 0, i16 6651, i16 6645, i16 12392, i16 12393, i16 6644, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12395, i16 12396, i16 12394, i16 12397, i16 12398, i16 0, i16 12399, i16 0, i16 0, i16 0, i16 6462, i16 11921, i16 0, i16 0, i16 0, i16 0, i16 11922, i16 0, i16 11923, i16 6461, i16 2195, i16 6463, i16 11924, i16 11925, i16 1386, i16 6464, i16 6466, i16 0, i16 11926, i16 0, i16 11927, i16 0, i16 0, i16 0, i16 0, i16 11928, i16 11929, i16 0, i16 0, i16 6467, i16 0, i16 0, i16 10814, i16 1807, i16 5761, i16 0, i16 0, i16 10815, i16 10816, i16 5766, i16 5767, i16 10817, i16 0, i16 5768, i16 10818, i16 5774, i16 2746, i16 5770, i16 10819, i16 5769, i16 5771, i16 5772, i16 10820, i16 5773, i16 0, i16 10821, i16 0, i16 10822, i16 5775, i16 5776, i16 10823, i16 10824, i16 0, i16 0, i16 11328, i16 6096, i16 0, i16 0, i16 0, i16 0, i16 11329, i16 0, i16 11330, i16 0, i16 0, i16 0, i16 3557, i16 0, i16 5430, i16 6098, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11331, i16 0, i16 11332, i16 0, i16 11333, i16 0, i16 11334, i16 11335, i16 0, i16 6099, i16 0, i16 8772, i16 8773, i16 4542, i16 0, i16 8776, i16 4541, i16 8774, i16 0, i16 8775, i16 0, i16 0, i16 8777, i16 8778, i16 0, i16 8779, i16 0, i16 0, i16 2633, i16 0, i16 4545, i16 0, i16 4543, i16 4533, i16 1495, i16 0, i16 4544, i16 0, i16 4548, i16 4547, i16 4549, i16 4546, i16 0, i16 9798, i16 0, i16 0, i16 0, i16 9799, i16 9800, i16 9801, i16 0, i16 3656, i16 9802, i16 9803, i16 5194, i16 0, i16 2338, i16 0, i16 9804, i16 0, i16 9805, i16 0, i16 0, i16 5190, i16 5195, i16 9806, i16 0, i16 915, i16 9807, i16 0, i16 9808, i16 0, i16 9809, i16 0, i16 0, i16 2122, i16 6364, i16 11773, i16 11774, i16 0, i16 11775, i16 0, i16 11776, i16 11777, i16 1666, i16 3724, i16 6365, i16 11778, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11779, i16 0, i16 11780, i16 11781, i16 0, i16 6366, i16 3126, i16 6367, i16 11782, i16 6375, i16 0, i16 11783, i16 0, i16 0, i16 1355, i16 1412, i16 5657, i16 0, i16 0, i16 10668, i16 10669, i16 0, i16 3209, i16 0, i16 2227, i16 0, i16 3393, i16 0, i16 10670, i16 5658, i16 0, i16 3584, i16 0, i16 10671, i16 2991, i16 0, i16 2381, i16 2927, i16 0, i16 0, i16 2012, i16 0, i16 0, i16 10672, i16 777, i16 0, i16 13131, i16 0, i16 13132, i16 13133, i16 13134, i16 13135, i16 13136, i16 0, i16 0, i16 7078, i16 5519, i16 0, i16 0, i16 6400, i16 6795, i16 0, i16 0, i16 7079, i16 13137, i16 7080, i16 13138, i16 13139, i16 13140, i16 13141, i16 0, i16 13142, i16 0, i16 0, i16 13143, i16 13144, i16 7082, i16 0, i16 12365, i16 0, i16 12366, i16 12367, i16 0, i16 12368, i16 1054, i16 12369, i16 12375, i16 0, i16 12370, i16 6638, i16 6639, i16 2660, i16 0, i16 6637, i16 0, i16 0, i16 0, i16 12371, i16 12372, i16 12373, i16 0, i16 0, i16 6641, i16 12374, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1872, i16 4600, i16 8835, i16 8836, i16 0, i16 0, i16 1835, i16 4601, i16 781, i16 8837, i16 8838, i16 4596, i16 8839, i16 0, i16 0, i16 8840, i16 2634, i16 0, i16 8841, i16 0, i16 0, i16 8842, i16 0, i16 8843, i16 1298, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1329, i16 0, i16 1618, i16 1119, i16 0, i16 0, i16 0, i16 0, i16 9199, i16 9198, i16 4803, i16 1111, i16 4809, i16 9200, i16 9201, i16 0, i16 9202, i16 9203, i16 9204, i16 4806, i16 9205, i16 2332, i16 0, i16 0, i16 0, i16 1070, i16 1697, i16 0, i16 9206, i16 1069, i16 1732, i16 0, i16 9207, i16 0, i16 6996, i16 12990, i16 12991, i16 6993, i16 12988, i16 6999, i16 12992, i16 7000, i16 0, i16 12993, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7005, i16 7004, i16 0, i16 12994, i16 12995, i16 0, i16 0, i16 0, i16 0, i16 7006, i16 0, i16 0, i16 852, i16 7001, i16 7002, i16 12996, i16 0, i16 4182, i16 2908, i16 3063, i16 3426, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2912, i16 8220, i16 8221, i16 4191, i16 8222, i16 0, i16 0, i16 0, i16 8223, i16 1239, i16 0, i16 8224, i16 3508, i16 8225, i16 0, i16 3392, i16 0, i16 4286, i16 0, i16 4183, i16 0, i16 8226, i16 0, i16 1880, i16 0, i16 0, i16 0, i16 5494, i16 5489, i16 10378, i16 10379, i16 10380, i16 5495, i16 5490, i16 10381, i16 0, i16 10382, i16 0, i16 3057, i16 5488, i16 10383, i16 10384, i16 5491, i16 10385, i16 10386, i16 0, i16 0, i16 0, i16 5498, i16 10388, i16 0, i16 0, i16 0, i16 10389, i16 0, i16 9560, i16 0, i16 5043, i16 5045, i16 9561, i16 865, i16 9562, i16 0, i16 1623, i16 3677, i16 0, i16 1056, i16 0, i16 3161, i16 9563, i16 9564, i16 0, i16 0, i16 0, i16 3536, i16 0, i16 0, i16 1031, i16 2182, i16 5047, i16 0, i16 0, i16 9565, i16 0, i16 0, i16 0, i16 0, i16 12376, i16 0, i16 6647, i16 12377, i16 12378, i16 12379, i16 12380, i16 6650, i16 12381, i16 12382, i16 12383, i16 12384, i16 12385, i16 0, i16 0, i16 6649, i16 2732, i16 0, i16 12386, i16 0, i16 0, i16 6642, i16 6643, i16 6646, i16 12387, i16 0, i16 0, i16 12388, i16 6648, i16 12389, i16 12390, i16 0, i16 11868, i16 0, i16 0, i16 11869, i16 11870, i16 11871, i16 0, i16 6425, i16 6426, i16 3528, i16 11872, i16 0, i16 0, i16 0, i16 2820, i16 6430, i16 11873, i16 0, i16 0, i16 11874, i16 0, i16 11875, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6428, i16 6429, i16 6431, i16 0, i16 12126, i16 2216, i16 6569, i16 12127, i16 6570, i16 0, i16 12128, i16 0, i16 6571, i16 3550, i16 0, i16 1990, i16 12129, i16 0, i16 0, i16 0, i16 0, i16 6573, i16 6572, i16 12130, i16 1649, i16 0, i16 1674, i16 1811, i16 12131, i16 12132, i16 12133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4703, i16 9033, i16 4701, i16 4704, i16 3590, i16 4702, i16 0, i16 9034, i16 9035, i16 0, i16 2340, i16 4705, i16 0, i16 9036, i16 2455, i16 9037, i16 0, i16 4706, i16 0, i16 9038, i16 0, i16 9039, i16 1211, i16 9040, i16 4708, i16 0, i16 4707, i16 0, i16 0, i16 0, i16 9041, i16 0, i16 11104, i16 11105, i16 5986, i16 0, i16 0, i16 0, i16 0, i16 826, i16 0, i16 0, i16 5977, i16 11106, i16 11107, i16 11108, i16 5976, i16 11109, i16 5971, i16 5970, i16 11110, i16 5968, i16 5967, i16 2598, i16 11111, i16 2528, i16 5973, i16 11112, i16 0, i16 11113, i16 11114, i16 0, i16 0, i16 0, i16 11364, i16 0, i16 6107, i16 2941, i16 0, i16 11365, i16 11366, i16 11367, i16 6108, i16 6109, i16 6119, i16 0, i16 11368, i16 0, i16 6113, i16 6116, i16 11369, i16 0, i16 11370, i16 11371, i16 11372, i16 6112, i16 11373, i16 11374, i16 11375, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11376, i16 0, i16 12134, i16 6576, i16 12135, i16 0, i16 12136, i16 12137, i16 2037, i16 0, i16 6575, i16 12138, i16 6574, i16 0, i16 2510, i16 12139, i16 0, i16 1576, i16 12140, i16 2284, i16 12141, i16 12142, i16 12143, i16 0, i16 3017, i16 12144, i16 0, i16 0, i16 0, i16 1992, i16 0, i16 12145, i16 0, i16 0, i16 4458, i16 8665, i16 4461, i16 4463, i16 0, i16 8666, i16 0, i16 8667, i16 1902, i16 8668, i16 4469, i16 2705, i16 4459, i16 8669, i16 0, i16 0, i16 8670, i16 4467, i16 8671, i16 1022, i16 8672, i16 4465, i16 4466, i16 8673, i16 0, i16 4462, i16 4464, i16 0, i16 8674, i16 8675, i16 1568, i16 0, i16 7018, i16 7024, i16 13030, i16 7017, i16 0, i16 7022, i16 13031, i16 0, i16 13032, i16 13033, i16 0, i16 0, i16 0, i16 0, i16 7023, i16 0, i16 0, i16 0, i16 7026, i16 13034, i16 13035, i16 13036, i16 13037, i16 0, i16 7025, i16 13038, i16 0, i16 0, i16 0, i16 13039, i16 13040, i16 0, i16 10858, i16 10859, i16 5804, i16 1421, i16 0, i16 10860, i16 0, i16 2345, i16 1248, i16 10861, i16 0, i16 0, i16 10862, i16 5808, i16 5805, i16 0, i16 0, i16 5806, i16 0, i16 10863, i16 0, i16 5809, i16 0, i16 5810, i16 5807, i16 0, i16 0, i16 10864, i16 848, i16 0, i16 10865, i16 0, i16 3180, i16 2325, i16 0, i16 1918, i16 4261, i16 2074, i16 4262, i16 4263, i16 796, i16 2463, i16 2205, i16 8379, i16 4264, i16 2832, i16 2075, i16 0, i16 2076, i16 0, i16 4265, i16 0, i16 0, i16 2326, i16 8380, i16 0, i16 0, i16 2077, i16 0, i16 0, i16 0, i16 8381, i16 8382, i16 0, i16 12400, i16 12401, i16 6655, i16 12402, i16 0, i16 0, i16 6656, i16 12403, i16 12404, i16 0, i16 0, i16 0, i16 12405, i16 12406, i16 12407, i16 6657, i16 0, i16 0, i16 6654, i16 6653, i16 12408, i16 12409, i16 12410, i16 2127, i16 2823, i16 6652, i16 0, i16 0, i16 0, i16 0, i16 12411, i16 0, i16 8562, i16 8563, i16 8564, i16 8565, i16 3456, i16 1522, i16 1541, i16 8566, i16 4392, i16 0, i16 8567, i16 8568, i16 4393, i16 8569, i16 4399, i16 8570, i16 1942, i16 0, i16 0, i16 8571, i16 2630, i16 8572, i16 1324, i16 4394, i16 0, i16 0, i16 8573, i16 3106, i16 8574, i16 2569, i16 8575, i16 0, i16 12146, i16 6577, i16 0, i16 2124, i16 0, i16 12147, i16 0, i16 12148, i16 0, i16 6580, i16 6578, i16 12149, i16 12150, i16 12151, i16 6579, i16 12152, i16 12153, i16 12154, i16 12155, i16 6582, i16 6581, i16 12156, i16 0, i16 2151, i16 0, i16 6583, i16 12157, i16 12158, i16 12159, i16 0, i16 12160, i16 0, i16 3960, i16 7810, i16 1256, i16 1065, i16 0, i16 0, i16 0, i16 1662, i16 1255, i16 2688, i16 844, i16 2830, i16 3407, i16 1592, i16 3560, i16 2758, i16 1591, i16 0, i16 7811, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7812, i16 1418, i16 0, i16 3969, i16 0, i16 1376, i16 0, i16 3705, i16 11299, i16 0, i16 0, i16 0, i16 0, i16 11300, i16 0, i16 6080, i16 11301, i16 11302, i16 0, i16 3556, i16 11303, i16 6082, i16 6084, i16 0, i16 0, i16 0, i16 0, i16 6085, i16 0, i16 0, i16 11305, i16 0, i16 11306, i16 0, i16 6088, i16 6086, i16 0, i16 11307, i16 0, i16 10363, i16 0, i16 5484, i16 10367, i16 0, i16 0, i16 3232, i16 10368, i16 2306, i16 5486, i16 0, i16 10369, i16 10370, i16 0, i16 5487, i16 10371, i16 10372, i16 10373, i16 10374, i16 0, i16 5485, i16 0, i16 0, i16 0, i16 0, i16 1073, i16 10375, i16 5493, i16 10376, i16 5492, i16 10377, i16 0, i16 12670, i16 1233, i16 12671, i16 0, i16 12672, i16 12673, i16 12674, i16 0, i16 6823, i16 12675, i16 6824, i16 0, i16 3910, i16 4959, i16 3052, i16 0, i16 0, i16 836, i16 12676, i16 772, i16 0, i16 12677, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1863, i16 3299, i16 2155, i16 0, i16 0, i16 1408, i16 6500, i16 6501, i16 6502, i16 11984, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8328, i16 2139, i16 0, i16 0, i16 8329, i16 0, i16 0, i16 0, i16 0, i16 4225, i16 0, i16 2685, i16 8330, i16 0, i16 0, i16 876, i16 0, i16 4223, i16 0, i16 8324, i16 0, i16 4226, i16 0, i16 8331, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4227, i16 0, i16 0, i16 4489, i16 8720, i16 0, i16 0, i16 0, i16 0, i16 4497, i16 4496, i16 0, i16 8721, i16 8722, i16 4501, i16 0, i16 0, i16 0, i16 8723, i16 8724, i16 0, i16 0, i16 4502, i16 8725, i16 8726, i16 8727, i16 0, i16 8728, i16 0, i16 0, i16 4500, i16 4503, i16 4495, i16 4499, i16 0, i16 8076, i16 2221, i16 8077, i16 0, i16 0, i16 0, i16 0, i16 4104, i16 4107, i16 0, i16 1434, i16 8078, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4108, i16 8079, i16 8088, i16 0, i16 8080, i16 0, i16 8081, i16 8082, i16 0, i16 8083, i16 8084, i16 8085, i16 8086, i16 0, i16 12940, i16 0, i16 12941, i16 12942, i16 12943, i16 6973, i16 6971, i16 2544, i16 12944, i16 12945, i16 0, i16 0, i16 0, i16 12946, i16 12947, i16 12948, i16 0, i16 3363, i16 12949, i16 12950, i16 0, i16 12951, i16 3623, i16 12952, i16 0, i16 6975, i16 12953, i16 12960, i16 12954, i16 12955, i16 12956, i16 0, i16 654, i16 7143, i16 7144, i16 7145, i16 7146, i16 7147, i16 7148, i16 7149, i16 7150, i16 7151, i16 7152, i16 7153, i16 0, i16 7154, i16 7155, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 0, i16 1423, i16 6557, i16 0, i16 6558, i16 12078, i16 0, i16 0, i16 3179, i16 0, i16 0, i16 12081, i16 0, i16 1079, i16 0, i16 12082, i16 12083, i16 0, i16 0, i16 0, i16 12084, i16 3496, i16 12080, i16 1340, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2771, i16 12085, i16 12086, i16 0, i16 10127, i16 5350, i16 0, i16 0, i16 10128, i16 5345, i16 5346, i16 0, i16 5349, i16 5348, i16 3100, i16 0, i16 0, i16 2377, i16 2376, i16 10129, i16 1246, i16 10130, i16 10131, i16 5351, i16 10132, i16 0, i16 0, i16 0, i16 10133, i16 5352, i16 0, i16 10134, i16 5353, i16 0, i16 0, i16 0, i16 11407, i16 0, i16 11408, i16 0, i16 6142, i16 0, i16 0, i16 11409, i16 6143, i16 0, i16 0, i16 0, i16 0, i16 11410, i16 11411, i16 0, i16 11412, i16 11413, i16 0, i16 6138, i16 0, i16 0, i16 6140, i16 0, i16 11414, i16 11415, i16 6141, i16 11416, i16 11417, i16 11418, i16 6139, i16 0, i16 5010, i16 5007, i16 3535, i16 0, i16 9507, i16 9508, i16 9509, i16 2657, i16 9510, i16 0, i16 0, i16 2870, i16 5008, i16 0, i16 0, i16 5016, i16 0, i16 5015, i16 1406, i16 9511, i16 9512, i16 946, i16 9513, i16 9514, i16 1712, i16 5009, i16 5011, i16 9515, i16 0, i16 0, i16 9516, i16 0, i16 8851, i16 8852, i16 8853, i16 8854, i16 0, i16 8855, i16 0, i16 0, i16 2447, i16 8856, i16 8857, i16 1790, i16 4606, i16 8858, i16 4608, i16 4604, i16 0, i16 8859, i16 8860, i16 8861, i16 3254, i16 0, i16 2654, i16 8862, i16 0, i16 0, i16 8863, i16 2403, i16 0, i16 0, i16 0, i16 0, i16 11163, i16 0, i16 6002, i16 2839, i16 0, i16 11164, i16 6007, i16 0, i16 0, i16 11165, i16 6004, i16 3291, i16 6010, i16 809, i16 11166, i16 0, i16 11167, i16 0, i16 5998, i16 0, i16 11168, i16 0, i16 0, i16 0, i16 11169, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3228, i16 2651, i16 1687, i16 0, i16 1655, i16 2038, i16 12619, i16 2215, i16 0, i16 12620, i16 0, i16 6801, i16 12622, i16 12623, i16 6800, i16 3505, i16 1193, i16 3051, i16 2873, i16 12624, i16 0, i16 12625, i16 2247, i16 3611, i16 12621, i16 1462, i16 0, i16 12626, i16 0, i16 12627, i16 0, i16 0, i16 4765, i16 0, i16 0, i16 0, i16 9146, i16 4768, i16 9147, i16 9148, i16 2244, i16 0, i16 0, i16 9149, i16 0, i16 3562, i16 786, i16 1749, i16 2465, i16 0, i16 1934, i16 9150, i16 9151, i16 2144, i16 0, i16 0, i16 4771, i16 0, i16 0, i16 2765, i16 9152, i16 4769, i16 2448, i16 0, i16 3230, i16 8167, i16 0, i16 8165, i16 4143, i16 0, i16 2568, i16 8168, i16 0, i16 1018, i16 0, i16 2138, i16 8169, i16 8170, i16 0, i16 8171, i16 4145, i16 8172, i16 4144, i16 8173, i16 1663, i16 8174, i16 4146, i16 4148, i16 4147, i16 8175, i16 0, i16 4150, i16 8176, i16 4139, i16 4152, i16 0, i16 6046, i16 0, i16 0, i16 0, i16 0, i16 11204, i16 0, i16 11205, i16 11206, i16 11207, i16 0, i16 0, i16 6024, i16 0, i16 11208, i16 0, i16 11209, i16 1114, i16 0, i16 11210, i16 0, i16 0, i16 0, i16 2149, i16 6035, i16 11211, i16 6040, i16 2426, i16 11212, i16 11213, i16 6036, i16 0, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 0, i16 6047, i16 11241, i16 11242, i16 11243, i16 11244, i16 2678, i16 11245, i16 0, i16 0, i16 11246, i16 11247, i16 6052, i16 839, i16 0, i16 11248, i16 0, i16 0, i16 11229, i16 11249, i16 11250, i16 2439, i16 11251, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3224, i16 0, i16 11252, i16 0, i16 9892, i16 1333, i16 5243, i16 5245, i16 0, i16 5244, i16 9893, i16 0, i16 9894, i16 0, i16 0, i16 9895, i16 0, i16 5246, i16 0, i16 1546, i16 0, i16 5247, i16 0, i16 0, i16 9896, i16 9897, i16 1382, i16 9898, i16 2375, i16 0, i16 1684, i16 0, i16 0, i16 0, i16 9899, i16 0, i16 10918, i16 0, i16 0, i16 5849, i16 5851, i16 5850, i16 3006, i16 10919, i16 2902, i16 0, i16 3689, i16 3010, i16 0, i16 10920, i16 0, i16 0, i16 0, i16 0, i16 5853, i16 0, i16 0, i16 2112, i16 0, i16 3105, i16 0, i16 5854, i16 5852, i16 10921, i16 1167, i16 10922, i16 0, i16 0, i16 7848, i16 3986, i16 0, i16 3995, i16 3988, i16 7849, i16 7850, i16 3992, i16 7851, i16 7852, i16 3993, i16 3989, i16 7853, i16 7854, i16 4022, i16 0, i16 7855, i16 1758, i16 1044, i16 0, i16 0, i16 0, i16 7856, i16 3987, i16 7857, i16 7858, i16 7859, i16 3997, i16 831, i16 3996, i16 7860, i16 0, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 458, i16 459, i16 460, i16 461, i16 0, i16 3248, i16 8554, i16 4385, i16 3673, i16 0, i16 8555, i16 8556, i16 8557, i16 4386, i16 3221, i16 4389, i16 3711, i16 3727, i16 8558, i16 1889, i16 2898, i16 4390, i16 0, i16 1276, i16 2629, i16 835, i16 4391, i16 3195, i16 1607, i16 8559, i16 0, i16 2579, i16 8560, i16 8561, i16 0, i16 2704, i16 0, i16 3000, i16 0, i16 12729, i16 2481, i16 895, i16 1387, i16 0, i16 1388, i16 12730, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2614, i16 6858, i16 1389, i16 12731, i16 12732, i16 1012, i16 0, i16 0, i16 6857, i16 12733, i16 12734, i16 6855, i16 12735, i16 6856, i16 12736, i16 6854, i16 0, i16 3513, i16 4657, i16 0, i16 8965, i16 4653, i16 0, i16 4654, i16 0, i16 8966, i16 8967, i16 8968, i16 8969, i16 2407, i16 8970, i16 0, i16 8971, i16 8972, i16 4652, i16 0, i16 4587, i16 8973, i16 0, i16 8974, i16 4656, i16 0, i16 4651, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6334, i16 11726, i16 11727, i16 11728, i16 11729, i16 11730, i16 0, i16 11731, i16 6338, i16 0, i16 0, i16 6335, i16 11736, i16 6337, i16 6336, i16 0, i16 0, i16 11732, i16 11733, i16 11734, i16 0, i16 6339, i16 0, i16 1890, i16 11735, i16 6341, i16 6340, i16 3167, i16 0, i16 11737, i16 6343, i16 0, i16 11198, i16 6026, i16 0, i16 6021, i16 11199, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2114, i16 0, i16 0, i16 0, i16 0, i16 1982, i16 0, i16 11200, i16 11201, i16 1885, i16 11202, i16 0, i16 0, i16 0, i16 3433, i16 0, i16 0, i16 3134, i16 0, i16 11203, i16 6037, i16 0, i16 6591, i16 0, i16 2689, i16 12170, i16 12171, i16 3336, i16 1401, i16 0, i16 12172, i16 12173, i16 0, i16 12174, i16 12175, i16 12176, i16 12177, i16 12178, i16 12179, i16 0, i16 0, i16 0, i16 6594, i16 6595, i16 12180, i16 0, i16 12181, i16 0, i16 12182, i16 6593, i16 12183, i16 0, i16 6597, i16 0, i16 3009, i16 4355, i16 3219, i16 4356, i16 0, i16 0, i16 0, i16 8521, i16 0, i16 8522, i16 8523, i16 8524, i16 8525, i16 8526, i16 0, i16 8527, i16 0, i16 1140, i16 3220, i16 2922, i16 4358, i16 4359, i16 0, i16 1603, i16 1141, i16 4360, i16 1521, i16 3507, i16 3480, i16 1207, i16 4362, i16 0, i16 3526, i16 0, i16 6257, i16 0, i16 0, i16 3193, i16 2945, i16 6258, i16 11600, i16 6259, i16 1508, i16 0, i16 11601, i16 0, i16 1227, i16 11602, i16 0, i16 0, i16 6260, i16 11603, i16 11604, i16 1854, i16 2940, i16 6261, i16 0, i16 1075, i16 11605, i16 11606, i16 0, i16 0, i16 11607, i16 0, i16 3783, i16 7516, i16 3268, i16 2576, i16 3779, i16 1484, i16 7517, i16 3776, i16 3784, i16 3778, i16 3614, i16 3785, i16 3692, i16 7518, i16 0, i16 7519, i16 0, i16 7520, i16 7521, i16 0, i16 7522, i16 1379, i16 0, i16 0, i16 1483, i16 0, i16 7546, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9159, i16 0, i16 0, i16 9160, i16 4783, i16 0, i16 3091, i16 0, i16 4774, i16 0, i16 4780, i16 4779, i16 0, i16 9161, i16 9162, i16 2296, i16 9163, i16 0, i16 9164, i16 0, i16 3360, i16 9165, i16 3616, i16 9166, i16 9167, i16 3354, i16 9168, i16 977, i16 1841, i16 0, i16 0, i16 0, i16 7112, i16 302, i16 303, i16 7120, i16 0, i16 7113, i16 309, i16 236, i16 7117, i16 7116, i16 0, i16 340, i16 0, i16 7118, i16 7106, i16 296, i16 283, i16 0, i16 0, i16 234, i16 0, i16 367, i16 0, i16 7103, i16 0, i16 7115, i16 0, i16 0, i16 0, i16 0, i16 7114, i16 0, i16 8138, i16 4127, i16 0, i16 8139, i16 0, i16 0, i16 8140, i16 8141, i16 925, i16 0, i16 2741, i16 0, i16 0, i16 0, i16 0, i16 4129, i16 0, i16 4125, i16 0, i16 0, i16 2203, i16 0, i16 0, i16 8142, i16 4133, i16 0, i16 0, i16 8143, i16 0, i16 2013, i16 8144, i16 0, i16 972, i16 4211, i16 0, i16 8307, i16 0, i16 8308, i16 0, i16 8309, i16 1900, i16 0, i16 4210, i16 1492, i16 0, i16 0, i16 8310, i16 4224, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4217, i16 4214, i16 0, i16 0, i16 8311, i16 0, i16 8312, i16 0, i16 0, i16 0, i16 0, i16 6865, i16 12747, i16 12748, i16 12749, i16 6867, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12750, i16 12751, i16 0, i16 1234, i16 6866, i16 12752, i16 12753, i16 2434, i16 1516, i16 0, i16 0, i16 12754, i16 0, i16 0, i16 6869, i16 0, i16 0, i16 0, i16 0, i16 12755, i16 0, i16 0, i16 10449, i16 0, i16 0, i16 0, i16 0, i16 1305, i16 5518, i16 10450, i16 10451, i16 5520, i16 10452, i16 0, i16 0, i16 5521, i16 10453, i16 2916, i16 10454, i16 0, i16 5522, i16 10455, i16 0, i16 0, i16 0, i16 10456, i16 5523, i16 5524, i16 10457, i16 0, i16 1366, i16 984, i16 2850, i16 0, i16 9683, i16 9684, i16 0, i16 2032, i16 0, i16 5139, i16 0, i16 9685, i16 0, i16 0, i16 0, i16 9686, i16 5132, i16 2637, i16 5129, i16 2682, i16 0, i16 0, i16 0, i16 5164, i16 0, i16 0, i16 0, i16 5126, i16 0, i16 5125, i16 0, i16 5134, i16 9687, i16 9688, i16 0, i16 0, i16 12499, i16 840, i16 2211, i16 2059, i16 1178, i16 6721, i16 0, i16 0, i16 0, i16 2977, i16 0, i16 6723, i16 0, i16 12500, i16 0, i16 841, i16 0, i16 6722, i16 2661, i16 12501, i16 3610, i16 2824, i16 6716, i16 3571, i16 0, i16 1514, i16 12502, i16 12503, i16 3530, i16 12504, i16 12505, i16 0, i16 6357, i16 0, i16 0, i16 0, i16 11760, i16 2819, i16 11761, i16 6359, i16 11762, i16 3296, i16 11763, i16 6360, i16 0, i16 6361, i16 11764, i16 6362, i16 11765, i16 0, i16 11766, i16 11767, i16 6363, i16 0, i16 11768, i16 11769, i16 11772, i16 2871, i16 11770, i16 0, i16 11771, i16 0, i16 0, i16 0, i16 11480, i16 0, i16 11481, i16 0, i16 6158, i16 11482, i16 0, i16 0, i16 11483, i16 11484, i16 11485, i16 0, i16 6178, i16 6182, i16 6177, i16 11486, i16 6184, i16 11488, i16 11489, i16 11490, i16 6186, i16 6185, i16 0, i16 11491, i16 11487, i16 11492, i16 11493, i16 11494, i16 0, i16 11495, i16 11496, i16 0, i16 12506, i16 12507, i16 12508, i16 12509, i16 1398, i16 3585, i16 0, i16 1411, i16 12510, i16 2503, i16 5873, i16 0, i16 6724, i16 1039, i16 2234, i16 0, i16 12511, i16 0, i16 0, i16 1081, i16 6726, i16 12512, i16 6727, i16 6725, i16 1471, i16 12513, i16 1746, i16 2128, i16 12514, i16 0, i16 12515, i16 0, i16 3548, i16 773, i16 5703, i16 0, i16 10730, i16 1290, i16 10731, i16 5700, i16 0, i16 10732, i16 0, i16 0, i16 0, i16 5701, i16 0, i16 10733, i16 2812, i16 5699, i16 5696, i16 0, i16 1035, i16 2317, i16 0, i16 10734, i16 1505, i16 10735, i16 10736, i16 0, i16 5708, i16 0, i16 10737, i16 0, i16 13021, i16 0, i16 0, i16 7014, i16 0, i16 0, i16 0, i16 0, i16 7015, i16 13022, i16 7010, i16 13023, i16 0, i16 13024, i16 6990, i16 0, i16 13025, i16 7016, i16 0, i16 2690, i16 13026, i16 0, i16 0, i16 7020, i16 13027, i16 7021, i16 7019, i16 13028, i16 0, i16 0, i16 13029, i16 0, i16 9187, i16 4794, i16 0, i16 4791, i16 0, i16 9188, i16 4799, i16 0, i16 4789, i16 0, i16 0, i16 4787, i16 0, i16 4795, i16 4785, i16 9189, i16 2607, i16 9190, i16 3465, i16 1911, i16 1769, i16 9191, i16 9192, i16 0, i16 9176, i16 0, i16 1711, i16 0, i16 0, i16 3362, i16 1060, i16 0, i16 3044, i16 0, i16 5746, i16 10797, i16 10798, i16 5741, i16 10799, i16 0, i16 0, i16 2344, i16 1453, i16 0, i16 1978, i16 10800, i16 0, i16 10801, i16 0, i16 10802, i16 0, i16 2160, i16 2365, i16 5752, i16 0, i16 10803, i16 5754, i16 5755, i16 0, i16 0, i16 5751, i16 5753, i16 10804, i16 0, i16 231, i16 0, i16 305, i16 301, i16 304, i16 306, i16 0, i16 263, i16 264, i16 307, i16 281, i16 225, i16 0, i16 226, i16 252, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 228, i16 229, i16 288, i16 286, i16 289, i16 230, i16 0, i16 3568, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11549, i16 6229, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11550, i16 11551, i16 11552, i16 6230, i16 2117, i16 6228, i16 11553, i16 0, i16 11554, i16 3542, i16 6225, i16 0, i16 0, i16 6227, i16 2278, i16 2249, i16 0, i16 0, i16 3824, i16 0, i16 7611, i16 0, i16 0, i16 0, i16 7612, i16 7613, i16 0, i16 3476, i16 0, i16 7614, i16 7615, i16 0, i16 7616, i16 0, i16 7617, i16 3434, i16 7618, i16 7619, i16 7620, i16 0, i16 3826, i16 7621, i16 7622, i16 3825, i16 3828, i16 3827, i16 0, i16 0, i16 3829, i16 0, i16 8177, i16 8178, i16 0, i16 4151, i16 4149, i16 0, i16 0, i16 0, i16 8179, i16 0, i16 1825, i16 2204, i16 0, i16 2395, i16 4153, i16 2277, i16 822, i16 2975, i16 8180, i16 0, i16 0, i16 0, i16 2684, i16 0, i16 4155, i16 4154, i16 4156, i16 4157, i16 4158, i16 0, i16 0, i16 0, i16 7922, i16 0, i16 7923, i16 4038, i16 4036, i16 7924, i16 4093, i16 0, i16 7925, i16 0, i16 7926, i16 7927, i16 0, i16 7928, i16 0, i16 0, i16 7929, i16 7930, i16 7931, i16 4041, i16 0, i16 0, i16 7932, i16 7933, i16 0, i16 4035, i16 7934, i16 4039, i16 0, i16 7935, i16 4037, i16 0, i16 8434, i16 0, i16 0, i16 0, i16 0, i16 8435, i16 2237, i16 0, i16 0, i16 0, i16 4302, i16 0, i16 8436, i16 1759, i16 0, i16 0, i16 4308, i16 8437, i16 0, i16 4309, i16 4303, i16 1046, i16 4304, i16 4313, i16 4312, i16 4311, i16 4307, i16 0, i16 0, i16 0, i16 4306, i16 0, i16 10738, i16 10739, i16 10740, i16 0, i16 10741, i16 10742, i16 0, i16 10743, i16 5705, i16 0, i16 10744, i16 10745, i16 10746, i16 0, i16 5707, i16 0, i16 10747, i16 0, i16 5704, i16 0, i16 0, i16 10748, i16 10749, i16 0, i16 1452, i16 2456, i16 5709, i16 2421, i16 10750, i16 10751, i16 5722, i16 0, i16 10227, i16 5421, i16 2961, i16 0, i16 10228, i16 3346, i16 0, i16 885, i16 10229, i16 894, i16 10230, i16 10231, i16 5422, i16 10232, i16 0, i16 0, i16 0, i16 5424, i16 0, i16 10233, i16 0, i16 5423, i16 2799, i16 0, i16 10234, i16 0, i16 2274, i16 4957, i16 0, i16 5425, i16 3410, i16 0, i16 9460, i16 0, i16 9461, i16 0, i16 0, i16 9462, i16 9463, i16 0, i16 0, i16 0, i16 4993, i16 4992, i16 0, i16 9464, i16 4995, i16 0, i16 9465, i16 0, i16 4994, i16 0, i16 0, i16 0, i16 9466, i16 0, i16 9467, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9468, i16 0, i16 5109, i16 0, i16 0, i16 0, i16 1156, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9674, i16 0, i16 9675, i16 9676, i16 9677, i16 1476, i16 0, i16 0, i16 9678, i16 5135, i16 9679, i16 9680, i16 5130, i16 2337, i16 9681, i16 9682, i16 1094, i16 0, i16 4855, i16 4834, i16 4854, i16 0, i16 4847, i16 4835, i16 0, i16 4851, i16 0, i16 4852, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4869, i16 9275, i16 0, i16 9276, i16 2859, i16 9277, i16 4842, i16 0, i16 9278, i16 4865, i16 0, i16 9279, i16 0, i16 4867, i16 0, i16 2681, i16 0, i16 3579, i16 0, i16 0, i16 2145, i16 2334, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9557, i16 0, i16 5048, i16 5046, i16 0, i16 3140, i16 0, i16 9558, i16 9559, i16 0, i16 8956, i16 0, i16 8957, i16 2736, i16 4647, i16 8958, i16 0, i16 8959, i16 4648, i16 0, i16 3174, i16 8960, i16 2944, i16 1782, i16 0, i16 2330, i16 0, i16 3331, i16 8961, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1068, i16 0, i16 4655, i16 4650, i16 8962, i16 8963, i16 8964, i16 0, i16 8190, i16 3397, i16 8191, i16 8192, i16 4164, i16 0, i16 2508, i16 8193, i16 2742, i16 2469, i16 3150, i16 4165, i16 4166, i16 930, i16 8194, i16 8195, i16 1899, i16 4167, i16 8196, i16 0, i16 8197, i16 8198, i16 793, i16 4168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4169, i16 8199, i16 0, i16 12543, i16 12544, i16 12545, i16 6755, i16 0, i16 0, i16 3401, i16 12546, i16 0, i16 6756, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6757, i16 12547, i16 3669, i16 12548, i16 0, i16 0, i16 0, i16 0, i16 4761, i16 6758, i16 0, i16 0, i16 0, i16 6759, i16 6760, i16 0, i16 11520, i16 1644, i16 6199, i16 810, i16 11521, i16 0, i16 0, i16 0, i16 3124, i16 11522, i16 0, i16 6200, i16 0, i16 0, i16 0, i16 0, i16 2229, i16 11523, i16 6207, i16 0, i16 0, i16 6204, i16 0, i16 2610, i16 0, i16 11524, i16 0, i16 11525, i16 0, i16 6205, i16 6202, i16 1371, i16 5889, i16 0, i16 10986, i16 5892, i16 5891, i16 0, i16 0, i16 0, i16 3319, i16 5895, i16 0, i16 0, i16 0, i16 0, i16 10987, i16 0, i16 5896, i16 0, i16 10988, i16 2366, i16 10989, i16 5897, i16 0, i16 0, i16 5899, i16 0, i16 5903, i16 10990, i16 0, i16 5900, i16 5898, i16 2938, i16 6145, i16 11425, i16 0, i16 6156, i16 11426, i16 11427, i16 993, i16 0, i16 6152, i16 0, i16 6157, i16 0, i16 0, i16 0, i16 6153, i16 11428, i16 0, i16 11429, i16 11430, i16 0, i16 6150, i16 0, i16 2644, i16 0, i16 6147, i16 0, i16 0, i16 11431, i16 0, i16 0, i16 0, i16 2979, i16 11265, i16 11266, i16 11267, i16 6058, i16 11268, i16 0, i16 0, i16 0, i16 3706, i16 2815, i16 3178, i16 11269, i16 0, i16 6071, i16 0, i16 11270, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6077, i16 0, i16 11271, i16 11272, i16 11273, i16 0, i16 11274, i16 6078, i16 11275, i16 12802, i16 0, i16 6898, i16 6899, i16 12803, i16 12804, i16 6900, i16 12805, i16 0, i16 12806, i16 3018, i16 6902, i16 12807, i16 3101, i16 6903, i16 6901, i16 0, i16 6905, i16 12808, i16 12809, i16 6904, i16 12810, i16 0, i16 6906, i16 0, i16 12811, i16 12812, i16 6907, i16 0, i16 12813, i16 0, i16 12814, i16 4611, i16 0, i16 8875, i16 2404, i16 8876, i16 0, i16 0, i16 8877, i16 1961, i16 4616, i16 8878, i16 0, i16 2085, i16 0, i16 4610, i16 4615, i16 8879, i16 0, i16 2958, i16 0, i16 8880, i16 8881, i16 4609, i16 0, i16 1404, i16 8882, i16 8883, i16 1088, i16 0, i16 0, i16 8884, i16 4617, i16 4100, i16 0, i16 1753, i16 0, i16 0, i16 8052, i16 8053, i16 1358, i16 0, i16 0, i16 3306, i16 0, i16 8054, i16 8055, i16 4098, i16 4101, i16 1718, i16 1594, i16 8056, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9732, i16 0, i16 0, i16 9733, i16 0, i16 0, i16 2616, i16 2514, i16 0, i16 0, i16 0, i16 0, i16 2254, i16 0, i16 0, i16 9734, i16 5168, i16 0, i16 5170, i16 0, i16 9735, i16 0, i16 0, i16 9736, i16 0, i16 9737, i16 0, i16 0, i16 9738, i16 0, i16 5169, i16 0, i16 10244, i16 2103, i16 0, i16 0, i16 5434, i16 0, i16 10245, i16 5433, i16 5432, i16 3094, i16 10246, i16 1160, i16 1506, i16 0, i16 10247, i16 0, i16 0, i16 0, i16 10248, i16 0, i16 10249, i16 10250, i16 0, i16 10251, i16 0, i16 10252, i16 10253, i16 5440, i16 10254, i16 0, i16 5437, i16 2186, i16 7429, i16 0, i16 0, i16 7447, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3758, i16 7448, i16 0, i16 7449, i16 0, i16 7450, i16 3761, i16 3759, i16 7451, i16 0, i16 967, i16 0, i16 3216, i16 3753, i16 7452, i16 7453, i16 7454, i16 7455, i16 3757, i16 1580, i16 7456, i16 7457, i16 1819, i16 12293, i16 12294, i16 0, i16 12295, i16 2058, i16 12296, i16 0, i16 12297, i16 12298, i16 6620, i16 3252, i16 0, i16 12299, i16 891, i16 12300, i16 0, i16 12301, i16 0, i16 3133, i16 2613, i16 0, i16 0, i16 0, i16 0, i16 1303, i16 12302, i16 6622, i16 12303, i16 1652, i16 0, i16 0, i16 12304, i16 7686, i16 7687, i16 0, i16 1488, i16 1747, i16 2984, i16 7688, i16 0, i16 0, i16 3888, i16 3886, i16 0, i16 0, i16 0, i16 7689, i16 3186, i16 2135, i16 3895, i16 1095, i16 3889, i16 3887, i16 2390, i16 0, i16 7690, i16 7691, i16 7692, i16 0, i16 0, i16 0, i16 3891, i16 0, i16 3890, i16 11526, i16 6201, i16 6208, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1425, i16 0, i16 0, i16 2499, i16 0, i16 6214, i16 0, i16 0, i16 0, i16 0, i16 6210, i16 0, i16 0, i16 0, i16 2458, i16 6209, i16 11527, i16 6212, i16 11528, i16 11529, i16 11530, i16 0, i16 6203, i16 11531, i16 4103, i16 0, i16 0, i16 4114, i16 0, i16 0, i16 4115, i16 8095, i16 8096, i16 0, i16 0, i16 3351, i16 8097, i16 0, i16 2136, i16 8098, i16 0, i16 0, i16 4117, i16 4118, i16 4116, i16 8099, i16 4120, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2931, i16 8100, i16 8101, i16 817, i16 5383, i16 5384, i16 5385, i16 10177, i16 5386, i16 10178, i16 10179, i16 5382, i16 0, i16 10180, i16 0, i16 0, i16 0, i16 10181, i16 0, i16 0, i16 5388, i16 0, i16 10182, i16 10183, i16 5387, i16 10184, i16 0, i16 0, i16 10185, i16 10186, i16 10187, i16 5389, i16 10188, i16 0, i16 0, i16 0, i16 11015, i16 5917, i16 5918, i16 11016, i16 0, i16 5919, i16 0, i16 5920, i16 1338, i16 4660, i16 5921, i16 0, i16 2318, i16 5922, i16 1916, i16 11017, i16 5923, i16 0, i16 3726, i16 11018, i16 11019, i16 0, i16 5924, i16 3251, i16 1181, i16 11020, i16 11021, i16 2347, i16 2023, i16 11022, i16 3176, i16 1981, i16 5128, i16 5127, i16 5133, i16 9689, i16 2250, i16 0, i16 5124, i16 9690, i16 9691, i16 0, i16 0, i16 9692, i16 9693, i16 9694, i16 5136, i16 0, i16 9695, i16 5137, i16 9696, i16 9697, i16 9698, i16 0, i16 9699, i16 1155, i16 0, i16 0, i16 9700, i16 0, i16 0, i16 0, i16 0, i16 9701, i16 8457, i16 8458, i16 8459, i16 0, i16 8460, i16 0, i16 0, i16 0, i16 0, i16 2238, i16 8461, i16 0, i16 4318, i16 8462, i16 0, i16 1708, i16 8463, i16 0, i16 0, i16 4319, i16 0, i16 0, i16 4320, i16 0, i16 0, i16 8464, i16 8465, i16 0, i16 0, i16 0, i16 8466, i16 8467, i16 2314, i16 5617, i16 10602, i16 0, i16 3048, i16 10603, i16 5621, i16 3240, i16 10604, i16 2590, i16 10605, i16 5616, i16 5618, i16 0, i16 0, i16 5619, i16 0, i16 0, i16 0, i16 0, i16 10606, i16 0, i16 10607, i16 10608, i16 0, i16 10609, i16 10610, i16 10611, i16 0, i16 5622, i16 0, i16 0, i16 13066, i16 7038, i16 13067, i16 13068, i16 13069, i16 13070, i16 0, i16 13071, i16 7039, i16 0, i16 0, i16 7040, i16 7041, i16 0, i16 13072, i16 13073, i16 0, i16 7044, i16 7042, i16 3687, i16 0, i16 7043, i16 13074, i16 3644, i16 13075, i16 0, i16 0, i16 13076, i16 0, i16 7045, i16 13077, i16 3624, i16 4363, i16 0, i16 8531, i16 0, i16 8532, i16 8533, i16 2776, i16 1719, i16 8534, i16 0, i16 8535, i16 1540, i16 8536, i16 2702, i16 0, i16 0, i16 0, i16 8537, i16 0, i16 8538, i16 0, i16 780, i16 2045, i16 1606, i16 3510, i16 0, i16 0, i16 0, i16 0, i16 8539, i16 8540, i16 8541, i16 6667, i16 12430, i16 6668, i16 12431, i16 0, i16 0, i16 0, i16 0, i16 12432, i16 0, i16 6670, i16 12433, i16 0, i16 12434, i16 12435, i16 12436, i16 6672, i16 12437, i16 12438, i16 0, i16 0, i16 6673, i16 0, i16 6674, i16 0, i16 0, i16 0, i16 0, i16 6677, i16 6675, i16 6678, i16 6680, i16 2572, i16 9363, i16 0, i16 9364, i16 4930, i16 0, i16 9365, i16 9366, i16 0, i16 9367, i16 0, i16 9368, i16 0, i16 4928, i16 1570, i16 0, i16 4927, i16 9369, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4933, i16 0, i16 0, i16 0, i16 9370, i16 4800, i16 9371, i16 9372, i16 9373, i16 3340, i16 0, i16 2831, i16 8114, i16 8115, i16 1491, i16 2484, i16 0, i16 8116, i16 8117, i16 4119, i16 4122, i16 8119, i16 8120, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2473, i16 0, i16 0, i16 0, i16 4123, i16 0, i16 8121, i16 0, i16 4124, i16 8122, i16 8123, i16 7436, i16 0, i16 7437, i16 2674, i16 0, i16 0, i16 2533, i16 3752, i16 7438, i16 7439, i16 0, i16 7440, i16 7441, i16 789, i16 2692, i16 1994, i16 1705, i16 3475, i16 7442, i16 2483, i16 7443, i16 964, i16 7444, i16 3751, i16 7445, i16 3501, i16 3747, i16 3749, i16 1763, i16 3750, i16 4184, i16 7446, i16 11532, i16 0, i16 6213, i16 0, i16 6215, i16 0, i16 0, i16 0, i16 11533, i16 0, i16 11534, i16 3080, i16 0, i16 0, i16 6211, i16 0, i16 6216, i16 6218, i16 0, i16 0, i16 1548, i16 6206, i16 0, i16 778, i16 0, i16 0, i16 11535, i16 0, i16 0, i16 11536, i16 11537, i16 6217, i16 4109, i16 8087, i16 1595, i16 1059, i16 4111, i16 0, i16 0, i16 8089, i16 8090, i16 8091, i16 4112, i16 0, i16 8092, i16 0, i16 0, i16 0, i16 4113, i16 0, i16 0, i16 4110, i16 0, i16 0, i16 0, i16 0, i16 8093, i16 0, i16 0, i16 0, i16 0, i16 8094, i16 0, i16 0, i16 5901, i16 0, i16 5902, i16 10992, i16 0, i16 10993, i16 951, i16 0, i16 5909, i16 5904, i16 10994, i16 10991, i16 0, i16 5905, i16 10995, i16 10996, i16 0, i16 5906, i16 0, i16 2438, i16 0, i16 10997, i16 0, i16 10998, i16 5908, i16 5907, i16 5910, i16 10999, i16 0, i16 11000, i16 11001, i16 5911, i16 7693, i16 0, i16 7694, i16 1063, i16 0, i16 7695, i16 0, i16 1467, i16 3896, i16 3578, i16 7696, i16 0, i16 7697, i16 3892, i16 0, i16 0, i16 0, i16 3897, i16 3894, i16 7698, i16 3893, i16 7699, i16 7700, i16 7701, i16 7702, i16 0, i16 7703, i16 3612, i16 7704, i16 0, i16 0, i16 1586, i16 10510, i16 5545, i16 5546, i16 2148, i16 0, i16 10511, i16 0, i16 10512, i16 0, i16 5547, i16 10513, i16 1074, i16 0, i16 10514, i16 0, i16 0, i16 5549, i16 0, i16 0, i16 0, i16 1477, i16 10515, i16 1285, i16 0, i16 10516, i16 5550, i16 1394, i16 0, i16 0, i16 5551, i16 10517, i16 2341, i16 2063, i16 1318, i16 0, i16 3924, i16 0, i16 7751, i16 0, i16 7752, i16 7753, i16 7754, i16 3060, i16 7755, i16 7756, i16 7757, i16 0, i16 3925, i16 7758, i16 3926, i16 7759, i16 3927, i16 0, i16 7760, i16 0, i16 0, i16 3928, i16 3099, i16 1381, i16 814, i16 7761, i16 7762, i16 7763, i16 2844, i16 4623, i16 8891, i16 0, i16 2460, i16 4629, i16 8892, i16 4624, i16 0, i16 8893, i16 4626, i16 0, i16 0, i16 0, i16 0, i16 8894, i16 3128, i16 2708, i16 8895, i16 4627, i16 8896, i16 8897, i16 8898, i16 3483, i16 0, i16 0, i16 0, i16 3511, i16 1146, i16 8899, i16 0, i16 0, i16 0, i16 12815, i16 12816, i16 12817, i16 12818, i16 12819, i16 12820, i16 6908, i16 0, i16 12821, i16 12822, i16 0, i16 12823, i16 12824, i16 12825, i16 12826, i16 0, i16 12827, i16 0, i16 12828, i16 0, i16 0, i16 0, i16 12829, i16 0, i16 6909, i16 12830, i16 6910, i16 12831, i16 12832, i16 0, i16 0, i16 6911, i16 5648, i16 0, i16 0, i16 5645, i16 0, i16 0, i16 10645, i16 0, i16 0, i16 0, i16 10646, i16 0, i16 5644, i16 2299, i16 0, i16 5647, i16 5649, i16 10648, i16 10649, i16 10650, i16 5646, i16 10647, i16 5653, i16 0, i16 5650, i16 10651, i16 10652, i16 10653, i16 10654, i16 10655, i16 10656, i16 5651, i16 10000, i16 10001, i16 0, i16 1284, i16 10002, i16 5284, i16 3564, i16 10003, i16 0, i16 3581, i16 10004, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10005, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10006, i16 10007, i16 0, i16 0, i16 0, i16 0, i16 1297, i16 1067, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8830, i16 0, i16 1098, i16 2156, i16 4597, i16 4602, i16 0, i16 4598, i16 8831, i16 1496, i16 8832, i16 4603, i16 1781, i16 1664, i16 0, i16 0, i16 0, i16 0, i16 8833, i16 8834, i16 1973, i16 4585, i16 10769, i16 918, i16 0, i16 0, i16 2889, i16 5731, i16 0, i16 0, i16 10781, i16 5738, i16 5732, i16 5739, i16 0, i16 0, i16 0, i16 0, i16 10782, i16 10783, i16 5735, i16 0, i16 0, i16 10784, i16 0, i16 10785, i16 0, i16 0, i16 0, i16 2998, i16 10786, i16 10787, i16 1915, i16 5737, i16 12305, i16 0, i16 12306, i16 0, i16 0, i16 0, i16 1791, i16 0, i16 12307, i16 0, i16 0, i16 0, i16 0, i16 12308, i16 0, i16 6621, i16 2232, i16 12309, i16 0, i16 0, i16 12310, i16 12311, i16 0, i16 0, i16 2233, i16 6625, i16 6627, i16 0, i16 12312, i16 12313, i16 12314, i16 12315, i16 11538, i16 1744, i16 3651, i16 6219, i16 6220, i16 2428, i16 0, i16 0, i16 0, i16 0, i16 11539, i16 11540, i16 11541, i16 11542, i16 11543, i16 3567, i16 0, i16 11544, i16 11545, i16 11546, i16 6221, i16 3492, i16 0, i16 0, i16 6222, i16 6223, i16 0, i16 11547, i16 3257, i16 6224, i16 11548, i16 1717, i16 1299, i16 2766, i16 9602, i16 5080, i16 5089, i16 760, i16 857, i16 9603, i16 0, i16 958, i16 0, i16 5082, i16 2449, i16 5073, i16 5075, i16 1624, i16 0, i16 0, i16 9604, i16 0, i16 0, i16 0, i16 9605, i16 0, i16 5092, i16 9606, i16 5087, i16 9607, i16 9608, i16 0, i16 5079, i16 0, i16 2323, i16 7769, i16 0, i16 7770, i16 0, i16 7771, i16 1424, i16 0, i16 0, i16 3937, i16 0, i16 0, i16 7772, i16 7773, i16 3938, i16 851, i16 830, i16 1198, i16 7774, i16 2445, i16 1264, i16 3552, i16 0, i16 3941, i16 956, i16 7775, i16 0, i16 3940, i16 0, i16 0, i16 7776, i16 1319, i16 7188, i16 7173, i16 7187, i16 7239, i16 7324, i16 7241, i16 7326, i16 7240, i16 7325, i16 7189, i16 7175, i16 7190, i16 7249, i16 7334, i16 0, i16 0, i16 7248, i16 7333, i16 7177, i16 7192, i16 7251, i16 7336, i16 7253, i16 7338, i16 7252, i16 7337, i16 7254, i16 7339, i16 7255, i16 7340, i16 7257, i16 7342, i16 6165, i16 11458, i16 0, i16 0, i16 6169, i16 0, i16 6172, i16 6171, i16 11459, i16 11460, i16 11461, i16 6163, i16 0, i16 0, i16 11462, i16 0, i16 6166, i16 0, i16 6183, i16 0, i16 0, i16 11463, i16 11464, i16 0, i16 0, i16 11465, i16 11466, i16 0, i16 11467, i16 0, i16 0, i16 11468, i16 2582, i16 0, i16 5005, i16 0, i16 0, i16 0, i16 0, i16 9550, i16 5013, i16 0, i16 5006, i16 9499, i16 0, i16 9500, i16 0, i16 9501, i16 2470, i16 0, i16 1281, i16 5014, i16 9502, i16 0, i16 9503, i16 0, i16 9504, i16 9505, i16 1475, i16 9506, i16 0, i16 1220, i16 5012, i16 0, i16 10518, i16 2858, i16 10519, i16 2313, i16 1770, i16 10520, i16 10521, i16 0, i16 5552, i16 0, i16 10522, i16 10523, i16 0, i16 0, i16 0, i16 0, i16 10524, i16 10525, i16 2597, i16 2418, i16 10526, i16 5554, i16 5556, i16 5553, i16 5555, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10527, i16 1405, i16 12054, i16 12055, i16 12056, i16 2878, i16 0, i16 12057, i16 3297, i16 0, i16 6553, i16 0, i16 1930, i16 0, i16 0, i16 0, i16 0, i16 6554, i16 12058, i16 6555, i16 12059, i16 12060, i16 12061, i16 6556, i16 12062, i16 0, i16 2720, i16 0, i16 0, i16 0, i16 0, i16 12063, i16 12065, i16 0, i16 11287, i16 0, i16 11288, i16 0, i16 6066, i16 11289, i16 2349, i16 11290, i16 6070, i16 1786, i16 2192, i16 1419, i16 3461, i16 11304, i16 3466, i16 2049, i16 0, i16 0, i16 0, i16 0, i16 11291, i16 0, i16 11292, i16 11293, i16 11294, i16 6083, i16 6081, i16 0, i16 11295, i16 11296, i16 11297, i16 11298, i16 3864, i16 3345, i16 7657, i16 0, i16 0, i16 7658, i16 2039, i16 2529, i16 0, i16 3866, i16 2881, i16 0, i16 0, i16 3867, i16 7659, i16 0, i16 3868, i16 1041, i16 7660, i16 7661, i16 7662, i16 3869, i16 1316, i16 7663, i16 2857, i16 929, i16 2015, i16 0, i16 0, i16 3002, i16 3870, i16 0, i16 5912, i16 11002, i16 0, i16 2190, i16 11003, i16 1006, i16 0, i16 5913, i16 3620, i16 0, i16 1884, i16 11004, i16 11005, i16 1980, i16 0, i16 0, i16 11006, i16 11007, i16 11008, i16 1853, i16 2586, i16 11009, i16 11010, i16 0, i16 11011, i16 11012, i16 5914, i16 5915, i16 856, i16 11013, i16 5916, i16 11014, i16 6936, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12883, i16 12884, i16 6937, i16 12885, i16 3361, i16 1792, i16 12886, i16 1775, i16 2358, i16 0, i16 12887, i16 12888, i16 12889, i16 0, i16 6938, i16 0, i16 0, i16 12890, i16 12891, i16 6941, i16 0, i16 12892, i16 12893, i16 0, i16 12894, i16 12895, i16 7960, i16 7961, i16 868, i16 7962, i16 7963, i16 0, i16 7964, i16 0, i16 0, i16 7965, i16 0, i16 7966, i16 2368, i16 7967, i16 4049, i16 7968, i16 4050, i16 0, i16 0, i16 0, i16 7969, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1117, i16 0, i16 0, i16 7970, i16 0, i16 2842, i16 1323, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1002, i16 4296, i16 4301, i16 0, i16 0, i16 4299, i16 8430, i16 3276, i16 3275, i16 8431, i16 8432, i16 0, i16 8433, i16 0, i16 2790, i16 0, i16 0, i16 0, i16 4298, i16 2019, i16 0, i16 4297, i16 0, i16 0, i16 12570, i16 6777, i16 0, i16 0, i16 1110, i16 6775, i16 6779, i16 0, i16 0, i16 12571, i16 0, i16 6780, i16 0, i16 785, i16 0, i16 6781, i16 6782, i16 0, i16 0, i16 0, i16 0, i16 12572, i16 12573, i16 12574, i16 2129, i16 12575, i16 12576, i16 0, i16 6783, i16 0, i16 12577, i16 12578, i16 4891, i16 9304, i16 0, i16 0, i16 0, i16 9305, i16 9306, i16 4888, i16 9307, i16 0, i16 0, i16 9308, i16 0, i16 9309, i16 4876, i16 9310, i16 0, i16 4905, i16 4875, i16 0, i16 4894, i16 0, i16 0, i16 9311, i16 9312, i16 0, i16 9313, i16 4886, i16 9314, i16 0, i16 4881, i16 4878, i16 6939, i16 12896, i16 0, i16 0, i16 0, i16 0, i16 6942, i16 12897, i16 12898, i16 1578, i16 6940, i16 0, i16 0, i16 0, i16 12899, i16 6943, i16 12900, i16 6944, i16 6945, i16 0, i16 6949, i16 0, i16 1789, i16 12901, i16 12902, i16 0, i16 0, i16 2505, i16 0, i16 12903, i16 0, i16 12904, i16 7197, i16 7196, i16 7199, i16 7205, i16 7198, i16 7204, i16 7169, i16 7209, i16 7213, i16 7212, i16 7215, i16 7214, i16 7226, i16 7225, i16 7228, i16 7227, i16 0, i16 7242, i16 7244, i16 7243, i16 7246, i16 7250, i16 7245, i16 284, i16 7176, i16 7261, i16 7260, i16 7263, i16 7262, i16 7276, i16 7179, i16 7193, i16 8734, i16 0, i16 3376, i16 1144, i16 0, i16 4514, i16 0, i16 1440, i16 1047, i16 0, i16 0, i16 4511, i16 8735, i16 0, i16 3589, i16 4513, i16 799, i16 4515, i16 8736, i16 4506, i16 4512, i16 4519, i16 1439, i16 4507, i16 8737, i16 0, i16 0, i16 8738, i16 8739, i16 0, i16 3532, i16 8740, i16 287, i16 350, i16 0, i16 0, i16 0, i16 0, i16 290, i16 291, i16 0, i16 0, i16 352, i16 353, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1311, i16 966, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4185, i16 0, i16 3372, i16 3173, i16 1581, i16 0, i16 0, i16 7475, i16 0, i16 0, i16 2170, i16 3588, i16 7476, i16 0, i16 7477, i16 0, i16 7478, i16 7479, i16 7480, i16 7481, i16 3245, i16 5407, i16 10207, i16 0, i16 5408, i16 2729, i16 10208, i16 1034, i16 1627, i16 5409, i16 0, i16 0, i16 5410, i16 10209, i16 10210, i16 5411, i16 0, i16 1788, i16 0, i16 0, i16 5413, i16 0, i16 10211, i16 5412, i16 0, i16 0, i16 5414, i16 5415, i16 10212, i16 10213, i16 10214, i16 0, i16 10215, i16 8479, i16 0, i16 4324, i16 0, i16 0, i16 0, i16 0, i16 8480, i16 0, i16 0, i16 0, i16 8481, i16 4326, i16 0, i16 4327, i16 0, i16 8482, i16 0, i16 12526, i16 0, i16 8483, i16 0, i16 0, i16 4330, i16 8484, i16 8485, i16 3635, i16 0, i16 4331, i16 4328, i16 0, i16 0, i16 11039, i16 0, i16 5936, i16 11040, i16 5935, i16 0, i16 1168, i16 11041, i16 5937, i16 0, i16 5938, i16 5939, i16 0, i16 11042, i16 1702, i16 3606, i16 0, i16 5941, i16 2162, i16 0, i16 11043, i16 0, i16 919, i16 5942, i16 5943, i16 0, i16 0, i16 11044, i16 0, i16 11045, i16 5944, i16 11046, i16 2080, i16 4375, i16 4374, i16 4370, i16 0, i16 8552, i16 0, i16 0, i16 4376, i16 4377, i16 0, i16 8553, i16 4378, i16 0, i16 0, i16 0, i16 4381, i16 4379, i16 0, i16 4380, i16 4382, i16 0, i16 907, i16 2703, i16 4383, i16 0, i16 1493, i16 1019, i16 2929, i16 0, i16 4384, i16 2904, i16 6176, i16 0, i16 11469, i16 11470, i16 11471, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11472, i16 11473, i16 0, i16 11474, i16 0, i16 6174, i16 0, i16 11475, i16 6175, i16 11476, i16 0, i16 0, i16 6180, i16 6181, i16 11477, i16 1037, i16 11478, i16 1249, i16 0, i16 0, i16 6179, i16 11479, i16 6688, i16 12452, i16 1177, i16 1080, i16 1653, i16 3023, i16 12453, i16 6690, i16 6689, i16 12454, i16 0, i16 12455, i16 12456, i16 6691, i16 0, i16 0, i16 0, i16 0, i16 899, i16 0, i16 12457, i16 0, i16 12458, i16 0, i16 0, i16 6694, i16 12459, i16 6693, i16 6692, i16 12460, i16 6695, i16 12461, i16 10528, i16 0, i16 0, i16 10529, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5557, i16 1409, i16 0, i16 10530, i16 0, i16 1286, i16 3521, i16 5559, i16 0, i16 0, i16 10531, i16 0, i16 10532, i16 5560, i16 0, i16 0, i16 10533, i16 853, i16 10534, i16 10535, i16 0, i16 0, i16 5563, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 12833, i16 0, i16 6912, i16 6913, i16 0, i16 6914, i16 12834, i16 6915, i16 6916, i16 6917, i16 6918, i16 12835, i16 0, i16 12836, i16 6919, i16 6920, i16 0, i16 4953, i16 6921, i16 12837, i16 12838, i16 12839, i16 0, i16 12840, i16 0, i16 12841, i16 12842, i16 5678, i16 1235, i16 12843, i16 0, i16 0, i16 4130, i16 0, i16 0, i16 9454, i16 9455, i16 1218, i16 4988, i16 0, i16 0, i16 9456, i16 0, i16 4989, i16 9457, i16 3265, i16 3355, i16 0, i16 0, i16 0, i16 2852, i16 4990, i16 3071, i16 0, i16 9458, i16 0, i16 3092, i16 0, i16 9459, i16 3428, i16 0, i16 0, i16 0, i16 4991, i16 7202, i16 7288, i16 7200, i16 7286, i16 7203, i16 7289, i16 7206, i16 7292, i16 7207, i16 7293, i16 7210, i16 7296, i16 7208, i16 7294, i16 7211, i16 7297, i16 7170, i16 7181, i16 7218, i16 7304, i16 0, i16 0, i16 7217, i16 7303, i16 7219, i16 7305, i16 7216, i16 7302, i16 7220, i16 7307, i16 7221, i16 7308, i16 7971, i16 7972, i16 7973, i16 7974, i16 4057, i16 0, i16 7975, i16 0, i16 1200, i16 7976, i16 4060, i16 4056, i16 4059, i16 7977, i16 0, i16 7978, i16 0, i16 7979, i16 7980, i16 0, i16 3203, i16 7981, i16 0, i16 0, i16 2866, i16 0, i16 3025, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10788, i16 5734, i16 5740, i16 5733, i16 0, i16 0, i16 2003, i16 10789, i16 10790, i16 0, i16 0, i16 3288, i16 10791, i16 10792, i16 2011, i16 10793, i16 0, i16 5736, i16 5748, i16 10794, i16 0, i16 5744, i16 10795, i16 5747, i16 0, i16 5745, i16 5749, i16 5743, i16 0, i16 5717, i16 2300, i16 10796, i16 7717, i16 3904, i16 0, i16 3337, i16 7718, i16 2653, i16 7719, i16 3477, i16 7720, i16 3246, i16 0, i16 0, i16 7721, i16 3905, i16 0, i16 7722, i16 0, i16 7723, i16 6771, i16 0, i16 7724, i16 2829, i16 7725, i16 3906, i16 1131, i16 3396, i16 0, i16 7726, i16 7727, i16 2062, i16 3907, i16 3260, i16 8741, i16 8742, i16 3482, i16 8743, i16 8744, i16 0, i16 0, i16 4522, i16 0, i16 0, i16 4526, i16 8745, i16 0, i16 8746, i16 2437, i16 0, i16 3654, i16 4527, i16 8747, i16 8748, i16 4524, i16 0, i16 4521, i16 8749, i16 8750, i16 4520, i16 4525, i16 0, i16 8751, i16 8752, i16 0, i16 8753, i16 10021, i16 5294, i16 0, i16 10022, i16 10023, i16 0, i16 10024, i16 10025, i16 0, i16 0, i16 0, i16 10026, i16 0, i16 10027, i16 0, i16 0, i16 0, i16 10028, i16 10029, i16 0, i16 0, i16 5290, i16 0, i16 10030, i16 0, i16 5293, i16 1571, i16 884, i16 5295, i16 10031, i16 2235, i16 5292, i16 295, i16 0, i16 294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5671, i16 0, i16 5673, i16 0, i16 10682, i16 5672, i16 0, i16 10683, i16 10684, i16 10685, i16 1547, i16 0, i16 0, i16 10686, i16 2367, i16 10687, i16 0, i16 0, i16 5675, i16 10688, i16 10689, i16 10690, i16 2811, i16 10691, i16 5674, i16 10692, i16 10693, i16 0, i16 5676, i16 10694, i16 3210, i16 2419, i16 10279, i16 2226, i16 10280, i16 2849, i16 10281, i16 5448, i16 3334, i16 10282, i16 5445, i16 0, i16 10283, i16 5446, i16 10284, i16 0, i16 0, i16 0, i16 10285, i16 0, i16 10286, i16 10287, i16 10288, i16 0, i16 0, i16 0, i16 0, i16 5451, i16 10289, i16 0, i16 0, i16 10290, i16 5450, i16 5449, i16 11047, i16 11048, i16 0, i16 11049, i16 11050, i16 0, i16 0, i16 11051, i16 0, i16 11052, i16 11053, i16 827, i16 0, i16 5945, i16 11054, i16 0, i16 0, i16 11055, i16 5946, i16 0, i16 11056, i16 0, i16 11057, i16 0, i16 11058, i16 3166, i16 11059, i16 11060, i16 0, i16 1912, i16 0, i16 5948, i16 2600, i16 0, i16 10266, i16 0, i16 0, i16 10267, i16 10268, i16 5443, i16 0, i16 0, i16 10269, i16 0, i16 0, i16 10270, i16 10271, i16 10272, i16 0, i16 0, i16 10273, i16 0, i16 0, i16 0, i16 10274, i16 10275, i16 0, i16 0, i16 5444, i16 5447, i16 10276, i16 0, i16 10277, i16 10278, i16 3625, i16 0, i16 10032, i16 5298, i16 7098, i16 0, i16 10033, i16 10034, i16 10035, i16 5296, i16 5299, i16 10036, i16 0, i16 10037, i16 10038, i16 5285, i16 5297, i16 10039, i16 10040, i16 1713, i16 0, i16 0, i16 5300, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5301, i16 0, i16 5929, i16 0, i16 0, i16 11029, i16 11030, i16 11031, i16 11032, i16 2715, i16 0, i16 0, i16 0, i16 11033, i16 0, i16 0, i16 11034, i16 11035, i16 0, i16 11036, i16 0, i16 0, i16 0, i16 0, i16 11037, i16 0, i16 5931, i16 5930, i16 5933, i16 0, i16 11038, i16 5932, i16 0, i16 5934, i16 2604, i16 8623, i16 8624, i16 0, i16 4424, i16 0, i16 0, i16 0, i16 8625, i16 8626, i16 8627, i16 1020, i16 8628, i16 8629, i16 8630, i16 8631, i16 4475, i16 4426, i16 8632, i16 8633, i16 0, i16 2923, i16 8634, i16 0, i16 4425, i16 0, i16 8635, i16 4423, i16 8636, i16 1681, i16 0, i16 4429, i16 6444, i16 11900, i16 11901, i16 6446, i16 6443, i16 0, i16 0, i16 0, i16 0, i16 11902, i16 0, i16 0, i16 11903, i16 11904, i16 0, i16 11905, i16 11906, i16 11907, i16 6449, i16 0, i16 1986, i16 0, i16 6448, i16 0, i16 0, i16 11908, i16 11909, i16 11910, i16 6450, i16 0, i16 0, i16 0, i16 11308, i16 0, i16 0, i16 0, i16 2816, i16 6087, i16 11309, i16 0, i16 11310, i16 3046, i16 6074, i16 0, i16 0, i16 11311, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11312, i16 0, i16 0, i16 11313, i16 2050, i16 0, i16 6089, i16 6094, i16 2427, i16 11314, i16 0, i16 6093, i16 11315, i16 8493, i16 2035, i16 0, i16 2410, i16 8494, i16 1600, i16 1709, i16 1601, i16 1295, i16 8495, i16 0, i16 4338, i16 0, i16 0, i16 1710, i16 0, i16 0, i16 1539, i16 4339, i16 3383, i16 2942, i16 4340, i16 0, i16 1602, i16 8496, i16 8497, i16 0, i16 1133, i16 0, i16 2538, i16 1359, i16 0, i16 11566, i16 0, i16 0, i16 0, i16 0, i16 6237, i16 11567, i16 11568, i16 11569, i16 0, i16 6238, i16 6239, i16 0, i16 0, i16 0, i16 0, i16 11570, i16 11571, i16 11572, i16 0, i16 0, i16 11573, i16 6243, i16 0, i16 6244, i16 11574, i16 11575, i16 6242, i16 0, i16 0, i16 11576, i16 0, i16 3377, i16 0, i16 5093, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3015, i16 9629, i16 0, i16 5105, i16 1524, i16 0, i16 0, i16 9630, i16 0, i16 0, i16 2031, i16 0, i16 5095, i16 9631, i16 0, i16 0, i16 3580, i16 1625, i16 0, i16 5108, i16 8498, i16 0, i16 1831, i16 3154, i16 0, i16 0, i16 3034, i16 8499, i16 0, i16 0, i16 0, i16 4341, i16 1206, i16 8500, i16 0, i16 0, i16 0, i16 4344, i16 8501, i16 0, i16 8502, i16 8503, i16 2626, i16 0, i16 8504, i16 4343, i16 4342, i16 4345, i16 0, i16 2700, i16 0, i16 8505, i16 8754, i16 0, i16 0, i16 0, i16 3205, i16 8755, i16 0, i16 2833, i16 8756, i16 1441, i16 8757, i16 4528, i16 4523, i16 8758, i16 4529, i16 0, i16 0, i16 0, i16 1494, i16 0, i16 0, i16 0, i16 950, i16 0, i16 8759, i16 8760, i16 4537, i16 0, i16 8761, i16 0, i16 1145, i16 0, i16 10291, i16 0, i16 0, i16 0, i16 10292, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5453, i16 10293, i16 10294, i16 5452, i16 0, i16 0, i16 5454, i16 0, i16 0, i16 10295, i16 10296, i16 10297, i16 0, i16 0, i16 0, i16 10298, i16 0, i16 0, i16 0, i16 5456, i16 10299, i16 308, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 267, i16 253, i16 268, i16 237, i16 239, i16 11316, i16 0, i16 6062, i16 0, i16 11317, i16 11318, i16 6095, i16 2384, i16 0, i16 0, i16 6090, i16 6092, i16 0, i16 11319, i16 11320, i16 0, i16 11321, i16 11322, i16 11323, i16 6091, i16 0, i16 0, i16 4949, i16 4934, i16 11324, i16 11325, i16 6097, i16 11326, i16 0, i16 0, i16 11327, i16 0, i16 821, i16 2621, i16 7367, i16 1896, i16 7368, i16 7369, i16 0, i16 3375, i16 2131, i16 1795, i16 2130, i16 961, i16 7370, i16 3147, i16 3502, i16 0, i16 3712, i16 854, i16 7371, i16 0, i16 1105, i16 3713, i16 2253, i16 3932, i16 1269, i16 3215, i16 0, i16 0, i16 0, i16 0, i16 2132, i16 7372, i16 4661, i16 4662, i16 2726, i16 4664, i16 8975, i16 8976, i16 1783, i16 4659, i16 0, i16 8977, i16 8978, i16 0, i16 1243, i16 8979, i16 0, i16 4665, i16 8980, i16 4658, i16 4669, i16 0, i16 4668, i16 8981, i16 4667, i16 8982, i16 0, i16 0, i16 4670, i16 8983, i16 0, i16 4672, i16 2142, i16 8984, i16 9013, i16 0, i16 1147, i16 1801, i16 0, i16 0, i16 2869, i16 9014, i16 0, i16 0, i16 0, i16 9015, i16 1444, i16 0, i16 0, i16 0, i16 2239, i16 0, i16 4692, i16 0, i16 2265, i16 2727, i16 0, i16 3158, i16 4693, i16 0, i16 9016, i16 0, i16 0, i16 9017, i16 0, i16 0, i16 11061, i16 11062, i16 0, i16 11063, i16 11064, i16 1036, i16 763, i16 11065, i16 11066, i16 11067, i16 11068, i16 5947, i16 5950, i16 2953, i16 11069, i16 2191, i16 11070, i16 987, i16 11071, i16 3290, i16 11072, i16 0, i16 0, i16 11073, i16 1464, i16 1369, i16 11074, i16 5949, i16 11075, i16 1007, i16 11076, i16 11077, i16 7223, i16 7309, i16 7222, i16 0, i16 7224, i16 7310, i16 7171, i16 7183, i16 7233, i16 7318, i16 7231, i16 7316, i16 0, i16 0, i16 7232, i16 7317, i16 7230, i16 7184, i16 7172, i16 7185, i16 7234, i16 7319, i16 7235, i16 7320, i16 7186, i16 7236, i16 7321, i16 7238, i16 7323, i16 7237, i16 7322, i16 7174, i16 12087, i16 0, i16 6561, i16 0, i16 12088, i16 12089, i16 12090, i16 0, i16 12091, i16 0, i16 0, i16 0, i16 0, i16 12092, i16 0, i16 0, i16 12093, i16 0, i16 6562, i16 0, i16 12094, i16 0, i16 12095, i16 12096, i16 12097, i16 6563, i16 12098, i16 0, i16 12099, i16 0, i16 12100, i16 0, i16 10041, i16 10042, i16 0, i16 3565, i16 0, i16 10043, i16 10044, i16 10045, i16 0, i16 10046, i16 0, i16 5302, i16 0, i16 0, i16 0, i16 10047, i16 10048, i16 10049, i16 10050, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10051, i16 10052, i16 10053, i16 0, i16 10054, i16 0, i16 5303, i16 10055, i16 11577, i16 6240, i16 11578, i16 6235, i16 6241, i16 11579, i16 11580, i16 0, i16 0, i16 11581, i16 0, i16 0, i16 6245, i16 6741, i16 0, i16 11582, i16 0, i16 0, i16 11583, i16 0, i16 0, i16 0, i16 941, i16 11584, i16 0, i16 0, i16 11585, i16 11586, i16 11587, i16 0, i16 6248, i16 1372, i16 7482, i16 7483, i16 1427, i16 2442, i16 1001, i16 7484, i16 7485, i16 0, i16 7486, i16 7487, i16 2018, i16 7488, i16 7489, i16 7490, i16 3767, i16 7491, i16 3772, i16 3770, i16 7492, i16 0, i16 3765, i16 0, i16 0, i16 2452, i16 3768, i16 0, i16 3771, i16 3769, i16 7493, i16 3250, i16 0, i16 3766, i16 8506, i16 0, i16 0, i16 0, i16 0, i16 2222, i16 0, i16 0, i16 8508, i16 0, i16 0, i16 1832, i16 0, i16 2291, i16 8507, i16 2488, i16 1217, i16 0, i16 8509, i16 2627, i16 0, i16 8510, i16 4346, i16 4347, i16 2140, i16 0, i16 0, i16 0, i16 0, i16 3308, i16 8511, i16 0, i16 8762, i16 8763, i16 8764, i16 4535, i16 0, i16 0, i16 4536, i16 1694, i16 4534, i16 4532, i16 4531, i16 4538, i16 4530, i16 4540, i16 8765, i16 8766, i16 1024, i16 0, i16 0, i16 0, i16 0, i16 8767, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8768, i16 8769, i16 8770, i16 8771, i16 7739, i16 3449, i16 2900, i16 7740, i16 0, i16 3270, i16 3916, i16 0, i16 3917, i16 0, i16 7741, i16 7742, i16 7743, i16 3919, i16 0, i16 3921, i16 3920, i16 7744, i16 0, i16 7745, i16 0, i16 3922, i16 962, i16 3327, i16 7746, i16 1777, i16 3923, i16 7747, i16 7748, i16 2400, i16 7749, i16 7750, i16 9531, i16 3285, i16 2947, i16 1282, i16 0, i16 2724, i16 0, i16 9532, i16 2608, i16 9533, i16 5031, i16 9534, i16 9535, i16 0, i16 9536, i16 5029, i16 2494, i16 5018, i16 9537, i16 882, i16 9538, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2108, i16 5574, i16 5575, i16 2022, i16 0, i16 2837, i16 5576, i16 0, i16 10542, i16 10543, i16 2539, i16 10544, i16 10545, i16 5577, i16 0, i16 2559, i16 5578, i16 10546, i16 0, i16 0, i16 10547, i16 0, i16 1314, i16 0, i16 3835, i16 2592, i16 1892, i16 10548, i16 0, i16 10549, i16 10550, i16 1161, i16 11836, i16 0, i16 0, i16 1954, i16 0, i16 0, i16 11837, i16 0, i16 2241, i16 0, i16 0, i16 11838, i16 11839, i16 0, i16 0, i16 11840, i16 0, i16 0, i16 11841, i16 2450, i16 0, i16 11842, i16 0, i16 11843, i16 0, i16 11844, i16 6413, i16 11845, i16 11863, i16 0, i16 6412, i16 0, i16 318, i16 317, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 320, i16 319, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 322, i16 321, i16 0, i16 0, i16 4671, i16 8985, i16 0, i16 0, i16 8986, i16 4675, i16 0, i16 0, i16 8987, i16 8988, i16 8989, i16 0, i16 0, i16 0, i16 0, i16 8990, i16 0, i16 0, i16 0, i16 8991, i16 8992, i16 0, i16 8993, i16 0, i16 4673, i16 8994, i16 0, i16 8995, i16 4674, i16 4636, i16 8996, i16 8997, i16 9791, i16 3398, i16 0, i16 0, i16 0, i16 0, i16 2100, i16 0, i16 0, i16 0, i16 0, i16 9792, i16 0, i16 9793, i16 0, i16 9794, i16 9795, i16 9796, i16 0, i16 0, i16 0, i16 0, i16 2362, i16 0, i16 9797, i16 0, i16 0, i16 0, i16 2099, i16 0, i16 0, i16 0, i16 6976, i16 0, i16 0, i16 12957, i16 0, i16 0, i16 0, i16 6977, i16 12962, i16 12958, i16 12959, i16 12961, i16 0, i16 0, i16 12963, i16 0, i16 12964, i16 0, i16 12965, i16 0, i16 0, i16 12966, i16 6978, i16 12967, i16 6979, i16 0, i16 0, i16 12968, i16 0, i16 0, i16 0, i16 0, i16 8256, i16 795, i16 0, i16 748, i16 8257, i16 0, i16 0, i16 0, i16 0, i16 4198, i16 0, i16 0, i16 8258, i16 8259, i16 8260, i16 0, i16 0, i16 4196, i16 8261, i16 8262, i16 0, i16 0, i16 0, i16 0, i16 3405, i16 0, i16 4199, i16 0, i16 4197, i16 0, i16 8263, i16 4195, i16 12352, i16 12353, i16 12354, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12355, i16 0, i16 12356, i16 12357, i16 1116, i16 12358, i16 0, i16 12359, i16 0, i16 0, i16 12360, i16 0, i16 6640, i16 12361, i16 1716, i16 2432, i16 12362, i16 0, i16 2667, i16 12363, i16 0, i16 0, i16 12364, i16 0, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 0, i16 0, i16 0, i16 0, i16 227, i16 249, i16 240, i16 241, i16 0, i16 833, i16 8016, i16 0, i16 2567, i16 8017, i16 8018, i16 8019, i16 8020, i16 8021, i16 0, i16 0, i16 8023, i16 0, i16 8024, i16 4081, i16 0, i16 1689, i16 8022, i16 792, i16 2217, i16 0, i16 0, i16 8025, i16 8026, i16 0, i16 4082, i16 1536, i16 0, i16 0, i16 1672, i16 0, i16 4084, i16 1089, i16 0, i16 0, i16 10554, i16 0, i16 2213, i16 3163, i16 10555, i16 5588, i16 10556, i16 10557, i16 10558, i16 2509, i16 10559, i16 10560, i16 10561, i16 10562, i16 10563, i16 0, i16 5583, i16 10564, i16 5587, i16 5589, i16 0, i16 0, i16 1776, i16 0, i16 0, i16 0, i16 10565, i16 0, i16 10566, i16 4929, i16 0, i16 4931, i16 4932, i16 0, i16 9374, i16 0, i16 0, i16 0, i16 0, i16 4944, i16 9375, i16 4940, i16 0, i16 4821, i16 9376, i16 9377, i16 9378, i16 0, i16 4939, i16 9379, i16 0, i16 0, i16 0, i16 4938, i16 0, i16 0, i16 4935, i16 0, i16 9380, i16 9381, i16 9382, i16 9025, i16 767, i16 0, i16 9026, i16 1361, i16 2294, i16 9027, i16 3159, i16 0, i16 0, i16 0, i16 4699, i16 1813, i16 2570, i16 9028, i16 1838, i16 2178, i16 0, i16 9029, i16 9030, i16 9031, i16 0, i16 0, i16 4700, i16 0, i16 3282, i16 0, i16 0, i16 926, i16 1839, i16 0, i16 9032, i16 12609, i16 12611, i16 0, i16 0, i16 12612, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6794, i16 2910, i16 12613, i16 0, i16 12614, i16 6796, i16 960, i16 12615, i16 6799, i16 6798, i16 12616, i16 12617, i16 0, i16 12618, i16 843, i16 0, i16 0, i16 0, i16 1342, i16 4418, i16 1567, i16 8603, i16 0, i16 8606, i16 0, i16 0, i16 8604, i16 4419, i16 3187, i16 2026, i16 8605, i16 8607, i16 4420, i16 3090, i16 8608, i16 8609, i16 8610, i16 0, i16 2846, i16 2632, i16 0, i16 0, i16 0, i16 8611, i16 2735, i16 0, i16 0, i16 4421, i16 1226, i16 0, i16 0, i16 3395, i16 0, i16 10255, i16 0, i16 5436, i16 5438, i16 5439, i16 0, i16 10256, i16 5435, i16 0, i16 0, i16 0, i16 10257, i16 10258, i16 10259, i16 0, i16 0, i16 0, i16 0, i16 10260, i16 10261, i16 10262, i16 5441, i16 5442, i16 10263, i16 2640, i16 0, i16 1188, i16 10264, i16 10265, i16 0, i16 12868, i16 0, i16 0, i16 6931, i16 12869, i16 12870, i16 12871, i16 12872, i16 0, i16 12873, i16 12874, i16 12875, i16 0, i16 12876, i16 775, i16 12877, i16 12878, i16 6932, i16 3200, i16 6930, i16 12879, i16 0, i16 6933, i16 6934, i16 0, i16 0, i16 12880, i16 0, i16 0, i16 12881, i16 12882, i16 6935, i16 12101, i16 0, i16 12103, i16 12104, i16 0, i16 12102, i16 0, i16 12105, i16 0, i16 12106, i16 0, i16 0, i16 0, i16 2721, i16 12107, i16 12108, i16 6565, i16 12109, i16 6564, i16 0, i16 12110, i16 0, i16 12111, i16 12112, i16 0, i16 12113, i16 12114, i16 0, i16 12115, i16 12116, i16 0, i16 0, i16 1350, i16 4271, i16 0, i16 0, i16 0, i16 1294, i16 4272, i16 0, i16 1403, i16 0, i16 2860, i16 949, i16 0, i16 1830, i16 4273, i16 4276, i16 4275, i16 1402, i16 0, i16 4274, i16 0, i16 2743, i16 0, i16 0, i16 0, i16 8393, i16 8394, i16 0, i16 8395, i16 0, i16 2453, i16 0, i16 7494, i16 2169, i16 7495, i16 3366, i16 3773, i16 3774, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1971, i16 3787, i16 7496, i16 0, i16 7497, i16 2955, i16 0, i16 3117, i16 3782, i16 0, i16 3269, i16 0, i16 955, i16 0, i16 7498, i16 7499, i16 3786, i16 7500, i16 11846, i16 0, i16 6411, i16 0, i16 0, i16 11847, i16 11848, i16 11849, i16 11850, i16 0, i16 11851, i16 6419, i16 6417, i16 0, i16 11852, i16 6414, i16 0, i16 11853, i16 0, i16 0, i16 11854, i16 11855, i16 6416, i16 11856, i16 0, i16 11857, i16 6415, i16 6418, i16 0, i16 1302, i16 0, i16 6422, i16 3911, i16 7728, i16 2259, i16 3908, i16 1357, i16 7729, i16 3909, i16 1132, i16 7730, i16 7731, i16 7732, i16 0, i16 7733, i16 0, i16 0, i16 0, i16 7734, i16 7735, i16 1417, i16 3912, i16 7736, i16 3913, i16 7737, i16 7738, i16 3914, i16 3915, i16 1932, i16 0, i16 0, i16 0, i16 1588, i16 3439, i16 10567, i16 10568, i16 0, i16 0, i16 0, i16 5596, i16 3109, i16 10569, i16 3007, i16 2808, i16 0, i16 1367, i16 5595, i16 5593, i16 10570, i16 3022, i16 5590, i16 2593, i16 2810, i16 0, i16 2809, i16 10571, i16 1771, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5614, i16 0, i16 0, i16 10056, i16 10057, i16 5283, i16 10058, i16 0, i16 0, i16 10059, i16 5304, i16 10060, i16 10061, i16 10062, i16 10063, i16 0, i16 0, i16 10064, i16 10065, i16 1157, i16 10066, i16 10067, i16 0, i16 0, i16 10068, i16 0, i16 0, i16 0, i16 10069, i16 0, i16 10070, i16 0, i16 1878, i16 0, i16 10071, i16 11336, i16 8188, i16 11337, i16 0, i16 0, i16 0, i16 11338, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6100, i16 1552, i16 0, i16 1267, i16 0, i16 11339, i16 11340, i16 6102, i16 3865, i16 11341, i16 11342, i16 11343, i16 11344, i16 1300, i16 0, i16 3591, i16 11345, i16 1392, i16 6103, i16 842, i16 0, i16 0, i16 3622, i16 12516, i16 12517, i16 12518, i16 6729, i16 6544, i16 12519, i16 6728, i16 0, i16 0, i16 0, i16 12520, i16 12521, i16 6732, i16 6730, i16 6731, i16 12522, i16 6733, i16 0, i16 6734, i16 3641, i16 6735, i16 6736, i16 12523, i16 2290, i16 3028, i16 0, i16 0, i16 0, i16 11082, i16 5951, i16 11083, i16 5952, i16 11084, i16 1940, i16 1385, i16 2618, i16 11085, i16 0, i16 11086, i16 2862, i16 0, i16 11087, i16 0, i16 11088, i16 0, i16 888, i16 0, i16 5956, i16 5955, i16 0, i16 11089, i16 11090, i16 0, i16 5961, i16 5957, i16 5960, i16 0, i16 11091, i16 11092, i16 0, i16 2892, i16 4870, i16 2887, i16 9286, i16 9287, i16 9288, i16 9289, i16 0, i16 9290, i16 9291, i16 4874, i16 4861, i16 9292, i16 1349, i16 4864, i16 2028, i16 9293, i16 9294, i16 9295, i16 2971, i16 4866, i16 1352, i16 0, i16 4858, i16 4860, i16 4857, i16 9296, i16 9297, i16 3675, i16 1085, i16 4863, i16 9298, i16 10316, i16 0, i16 3457, i16 5469, i16 10317, i16 2577, i16 10318, i16 2981, i16 0, i16 1384, i16 10319, i16 0, i16 10320, i16 2558, i16 5470, i16 1335, i16 10321, i16 10322, i16 0, i16 2297, i16 10323, i16 0, i16 0, i16 0, i16 10324, i16 0, i16 0, i16 10325, i16 5471, i16 0, i16 0, i16 0, i16 10572, i16 0, i16 0, i16 0, i16 10573, i16 5598, i16 10574, i16 5600, i16 0, i16 10575, i16 10576, i16 0, i16 5603, i16 10577, i16 5604, i16 10578, i16 5601, i16 5602, i16 10579, i16 10580, i16 5599, i16 5597, i16 0, i16 10581, i16 0, i16 0, i16 5591, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3149, i16 8118, i16 0, i16 4121, i16 8102, i16 0, i16 8103, i16 8104, i16 0, i16 8105, i16 0, i16 0, i16 0, i16 8106, i16 0, i16 0, i16 8107, i16 0, i16 0, i16 0, i16 2154, i16 8108, i16 8109, i16 1898, i16 8110, i16 2968, i16 1201, i16 0, i16 1760, i16 8111, i16 8112, i16 8113, i16 7501, i16 7502, i16 0, i16 0, i16 7503, i16 3780, i16 3789, i16 7504, i16 0, i16 2393, i16 7505, i16 1533, i16 7506, i16 2967, i16 7507, i16 5253, i16 7508, i16 3788, i16 2780, i16 7509, i16 3777, i16 0, i16 1583, i16 7510, i16 7511, i16 1582, i16 3775, i16 7512, i16 7513, i16 7514, i16 7515, i16 1931, i16 2382, i16 3317, i16 1772, i16 10710, i16 0, i16 0, i16 10711, i16 0, i16 0, i16 0, i16 10712, i16 1850, i16 2686, i16 10713, i16 5691, i16 3628, i16 1742, i16 10714, i16 5692, i16 2189, i16 0, i16 5694, i16 0, i16 0, i16 0, i16 2111, i16 1701, i16 0, i16 10715, i16 10716, i16 10717, i16 5693, i16 4431, i16 8660, i16 1023, i16 4451, i16 4453, i16 2580, i16 0, i16 8661, i16 1693, i16 957, i16 4445, i16 4456, i16 4455, i16 1328, i16 0, i16 2446, i16 1097, i16 8662, i16 0, i16 0, i16 0, i16 1438, i16 0, i16 4446, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8663, i16 8664, i16 5455, i16 0, i16 10300, i16 0, i16 0, i16 3234, i16 0, i16 10301, i16 0, i16 0, i16 10302, i16 0, i16 2021, i16 3603, i16 10303, i16 10304, i16 5457, i16 10305, i16 0, i16 2836, i16 0, i16 10306, i16 5458, i16 0, i16 0, i16 5459, i16 0, i16 5463, i16 5461, i16 5462, i16 10307, i16 5460, i16 8528, i16 2628, i16 0, i16 1604, i16 2078, i16 0, i16 0, i16 3064, i16 0, i16 0, i16 2079, i16 8529, i16 0, i16 0, i16 8530, i16 2055, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2701, i16 3278, i16 2744, i16 0, i16 0, i16 1605, i16 0, i16 3155, i16 0, i16 0, i16 0, i16 4177, i16 8209, i16 4176, i16 8210, i16 0, i16 931, i16 0, i16 4178, i16 2070, i16 4180, i16 2536, i16 8211, i16 4179, i16 8212, i16 3208, i16 8213, i16 0, i16 0, i16 8214, i16 2054, i16 2778, i16 8215, i16 8216, i16 0, i16 4181, i16 8217, i16 0, i16 8218, i16 8219, i16 1596, i16 0, i16 0, i16 9810, i16 0, i16 5193, i16 0, i16 2972, i16 5189, i16 5192, i16 2101, i16 9811, i16 3050, i16 0, i16 0, i16 5196, i16 0, i16 1922, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9812, i16 0, i16 0, i16 0, i16 2339, i16 0, i16 0, i16 11346, i16 11347, i16 11348, i16 11349, i16 11350, i16 0, i16 0, i16 6104, i16 0, i16 11351, i16 0, i16 2609, i16 11352, i16 0, i16 0, i16 11353, i16 0, i16 6105, i16 0, i16 0, i16 0, i16 11354, i16 11355, i16 11356, i16 0, i16 2903, i16 11357, i16 771, i16 0, i16 0, i16 0, i16 0, i16 8787, i16 4558, i16 8788, i16 8789, i16 0, i16 0, i16 2328, i16 8790, i16 0, i16 8791, i16 4559, i16 8792, i16 0, i16 0, i16 4560, i16 1241, i16 4561, i16 0, i16 4562, i16 4563, i16 2492, i16 0, i16 0, i16 0, i16 1542, i16 8793, i16 0, i16 3442, i16 0, i16 8794, i16 0, i16 3311, i16 9299, i16 4873, i16 1048, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1756, i16 0, i16 0, i16 9300, i16 900, i16 0, i16 0, i16 4890, i16 9301, i16 0, i16 3676, i16 4893, i16 9302, i16 0, i16 9303, i16 0, i16 0, i16 2181, i16 4892, i16 0, i16 0, i16 0, i16 2388, i16 7075, i16 13117, i16 0, i16 0, i16 0, i16 13118, i16 0, i16 0, i16 0, i16 13119, i16 13120, i16 7076, i16 0, i16 0, i16 13121, i16 0, i16 13122, i16 13123, i16 0, i16 13124, i16 0, i16 0, i16 13125, i16 0, i16 13126, i16 13127, i16 3096, i16 13128, i16 13129, i16 7077, i16 13130, i16 5972, i16 0, i16 11115, i16 11116, i16 11117, i16 5975, i16 0, i16 11118, i16 0, i16 2423, i16 1456, i16 0, i16 0, i16 11119, i16 11120, i16 872, i16 5974, i16 11121, i16 1642, i16 11156, i16 11099, i16 11122, i16 11123, i16 11124, i16 2424, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12628, i16 6804, i16 0, i16 12629, i16 6803, i16 12638, i16 12630, i16 0, i16 0, i16 0, i16 0, i16 12631, i16 3326, i16 2825, i16 12632, i16 12633, i16 12634, i16 0, i16 12635, i16 12636, i16 887, i16 12637, i16 0, i16 6805, i16 6802, i16 0, i16 0, i16 3144, i16 3545, i16 6806, i16 12639, i16 0, i16 9813, i16 0, i16 0, i16 0, i16 5199, i16 9814, i16 0, i16 9815, i16 5191, i16 0, i16 1410, i16 0, i16 9816, i16 0, i16 0, i16 5197, i16 0, i16 0, i16 9817, i16 0, i16 3519, i16 5200, i16 0, i16 0, i16 0, i16 7100, i16 9818, i16 9819, i16 0, i16 0, i16 0, i16 2014, i16 11093, i16 11094, i16 3425, i16 5959, i16 989, i16 1120, i16 5963, i16 11095, i16 11096, i16 5965, i16 11097, i16 11098, i16 0, i16 0, i16 1455, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5969, i16 5978, i16 5979, i16 0, i16 0, i16 11100, i16 756, i16 11101, i16 11102, i16 11103, i16 343, i16 0, i16 348, i16 344, i16 0, i16 0, i16 0, i16 349, i16 330, i16 0, i16 0, i16 331, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 354, i16 0, i16 0, i16 356, i16 292, i16 0, i16 7256, i16 7341, i16 7259, i16 7344, i16 7258, i16 7343, i16 7178, i16 7194, i16 7270, i16 7355, i16 7267, i16 7352, i16 7264, i16 7349, i16 7269, i16 7354, i16 7266, i16 7351, i16 7268, i16 7353, i16 7275, i16 7360, i16 7278, i16 7363, i16 7277, i16 7279, i16 7364, i16 7281, i16 7366, i16 7280, i16 7365, i16 0, i16 11608, i16 6262, i16 0, i16 0, i16 0, i16 11609, i16 6264, i16 3558, i16 0, i16 6263, i16 2193, i16 0, i16 6265, i16 0, i16 0, i16 6266, i16 11610, i16 0, i16 6267, i16 1170, i16 11611, i16 11612, i16 11613, i16 11614, i16 0, i16 0, i16 6268, i16 0, i16 11615, i16 6269, i16 0, i16 6270, i16 345, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 338, i16 339, i16 337, i16 336, i16 358, i16 359, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 293, i16 357, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 355, i16 0, i16 0, i16 3929, i16 1996, i16 7764, i16 2322, i16 0, i16 3931, i16 3930, i16 2064, i16 1562, i16 3933, i16 3031, i16 7766, i16 7765, i16 3934, i16 0, i16 0, i16 0, i16 3061, i16 2457, i16 2515, i16 1317, i16 0, i16 0, i16 2891, i16 2548, i16 7767, i16 2985, i16 7768, i16 3329, i16 0, i16 3936, i16 0, i16 9049, i16 0, i16 1614, i16 4714, i16 9050, i16 0, i16 1696, i16 2087, i16 9051, i16 9052, i16 4713, i16 0, i16 2088, i16 9053, i16 3409, i16 1695, i16 0, i16 9054, i16 9055, i16 800, i16 2295, i16 9056, i16 9057, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4720, i16 9058, i16 9059, i16 2266, i16 5210, i16 0, i16 0, i16 0, i16 0, i16 2414, i16 1803, i16 5212, i16 0, i16 0, i16 0, i16 0, i16 5211, i16 2159, i16 3955, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5213, i16 0, i16 0, i16 9838, i16 5215, i16 0, i16 5198, i16 5214, i16 0, i16 9839, i16 5216, i16 9820, i16 0, i16 9821, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5201, i16 0, i16 0, i16 0, i16 5202, i16 0, i16 0, i16 9822, i16 9823, i16 2921, i16 9824, i16 9825, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5204, i16 9826, i16 0, i16 0, i16 0, i16 5205, i16 9827, i16 1630, i16 0, i16 5677, i16 0, i16 0, i16 0, i16 10695, i16 3605, i16 0, i16 10696, i16 0, i16 10697, i16 0, i16 0, i16 0, i16 5679, i16 0, i16 0, i16 5680, i16 0, i16 5681, i16 10698, i16 5682, i16 0, i16 1848, i16 0, i16 5683, i16 1450, i16 0, i16 0, i16 1289, i16 0, i16 10590, i16 1162, i16 0, i16 0, i16 0, i16 10591, i16 0, i16 0, i16 0, i16 0, i16 2560, i16 0, i16 10592, i16 2342, i16 0, i16 10593, i16 10594, i16 3003, i16 10595, i16 0, i16 5620, i16 10596, i16 10597, i16 0, i16 3005, i16 0, i16 10598, i16 10599, i16 10600, i16 10601, i16 0, i16 0, i16 3168, i16 1751, i16 1646, i16 0, i16 11793, i16 0, i16 0, i16 3142, i16 996, i16 3047, i16 6379, i16 1172, i16 2302, i16 6378, i16 6383, i16 2620, i16 3444, i16 0, i16 6381, i16 6382, i16 1229, i16 0, i16 6384, i16 2974, i16 2500, i16 11794, i16 11795, i16 3082, i16 2748, i16 6380, i16 0, i16 3322, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 1377, i16 0, i16 0, i16 2005, i16 0, i16 2841, i16 0, i16 0, i16 12248, i16 12249, i16 12250, i16 0, i16 0, i16 12251, i16 12252, i16 0, i16 0, i16 2356, i16 12253, i16 6614, i16 0, i16 6608, i16 6613, i16 12254, i16 3412, i16 12255, i16 2649, i16 6615, i16 6612, i16 0, i16 0, i16 12256, i16 10849, i16 0, i16 5794, i16 5796, i16 0, i16 3540, i16 5795, i16 5798, i16 5797, i16 0, i16 3522, i16 10850, i16 5799, i16 10851, i16 3095, i16 10852, i16 10853, i16 10854, i16 0, i16 0, i16 5800, i16 0, i16 10855, i16 10856, i16 0, i16 0, i16 5803, i16 0, i16 10857, i16 5802, i16 5801, i16 0, i16 5475, i16 10333, i16 10334, i16 10335, i16 0, i16 2773, i16 1739, i16 1261, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10336, i16 10337, i16 0, i16 10338, i16 0, i16 3287, i16 0, i16 2950, i16 10339, i16 0, i16 10340, i16 0, i16 0, i16 2774, i16 0, i16 0, i16 0, i16 0, i16 1651, i16 7523, i16 7524, i16 7525, i16 3790, i16 0, i16 7526, i16 7527, i16 3791, i16 3795, i16 791, i16 7528, i16 0, i16 7529, i16 0, i16 7530, i16 3237, i16 3794, i16 7531, i16 7532, i16 7533, i16 0, i16 3793, i16 3797, i16 7534, i16 0, i16 7535, i16 3796, i16 0, i16 2693, i16 0, i16 0, i16 7536, i16 9828, i16 9829, i16 0, i16 2926, i16 9830, i16 0, i16 0, i16 0, i16 2804, i16 5207, i16 0, i16 9831, i16 9832, i16 0, i16 5209, i16 0, i16 3618, i16 0, i16 5206, i16 9833, i16 5208, i16 916, i16 9834, i16 5203, i16 0, i16 9835, i16 9836, i16 0, i16 9837, i16 0, i16 0, i16 4051, i16 11876, i16 11877, i16 11878, i16 11879, i16 0, i16 0, i16 11880, i16 11881, i16 0, i16 0, i16 6445, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6434, i16 11882, i16 0, i16 11883, i16 6435, i16 6433, i16 11884, i16 11885, i16 11886, i16 11887, i16 0, i16 0, i16 0, i16 11888, i16 0, i16 0, i16 4709, i16 4710, i16 1212, i16 0, i16 0, i16 2905, i16 2553, i16 1291, i16 1840, i16 2408, i16 0, i16 0, i16 2027, i16 761, i16 0, i16 0, i16 9042, i16 4711, i16 9043, i16 0, i16 9044, i16 9045, i16 0, i16 0, i16 0, i16 9046, i16 935, i16 4715, i16 0, i16 0, i16 9047, i16 9048, i16 8037, i16 0, i16 8038, i16 8039, i16 8040, i16 8041, i16 4095, i16 766, i16 1748, i16 8042, i16 8043, i16 0, i16 8044, i16 1432, i16 8045, i16 8046, i16 2578, i16 0, i16 0, i16 8047, i16 8048, i16 0, i16 0, i16 4096, i16 4097, i16 0, i16 0, i16 4099, i16 0, i16 8049, i16 8050, i16 8051, i16 615, i16 616, i16 0, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 7126, i16 7129, i16 7131, i16 7132, i16 7133, i16 7134, i16 7141, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 6247, i16 11588, i16 11589, i16 11590, i16 6250, i16 0, i16 6249, i16 0, i16 0, i16 0, i16 6252, i16 11591, i16 0, i16 6251, i16 11592, i16 6253, i16 11593, i16 0, i16 1984, i16 11594, i16 6254, i16 11595, i16 0, i16 6255, i16 0, i16 0, i16 11596, i16 11597, i16 11598, i16 11599, i16 6256, i16 2279, i16 8295, i16 0, i16 8296, i16 0, i16 0, i16 0, i16 0, i16 8297, i16 0, i16 0, i16 0, i16 0, i16 8298, i16 0, i16 0, i16 0, i16 0, i16 8299, i16 8300, i16 8301, i16 0, i16 8302, i16 0, i16 0, i16 8303, i16 0, i16 8304, i16 8305, i16 4208, i16 4212, i16 4209, i16 8306, i16 1128, i16 7640, i16 3851, i16 7641, i16 3849, i16 3406, i16 3850, i16 0, i16 3153, i16 3852, i16 3853, i16 3854, i16 2782, i16 7642, i16 0, i16 0, i16 3858, i16 3856, i16 3857, i16 3855, i16 1752, i16 3859, i16 3451, i16 3633, i16 7643, i16 0, i16 7644, i16 0, i16 7645, i16 3860, i16 7646, i16 7647, i16 2152, i16 12316, i16 6626, i16 6628, i16 12317, i16 12318, i16 1360, i16 12319, i16 3132, i16 12320, i16 12321, i16 1939, i16 3662, i16 0, i16 6624, i16 1773, i16 0, i16 0, i16 3690, i16 12322, i16 12323, i16 6630, i16 12324, i16 12325, i16 0, i16 0, i16 6629, i16 6631, i16 0, i16 0, i16 0, i16 0, i16 3944, i16 7785, i16 0, i16 0, i16 7786, i16 3946, i16 3945, i16 0, i16 2218, i16 864, i16 7787, i16 7788, i16 0, i16 901, i16 3947, i16 7789, i16 3948, i16 0, i16 7790, i16 1520, i16 7791, i16 7792, i16 3949, i16 7793, i16 7794, i16 0, i16 7795, i16 1293, i16 0, i16 7796, i16 0, i16 0, i16 4200, i16 3671, i16 0, i16 0, i16 8271, i16 8272, i16 2951, i16 8273, i16 8274, i16 4202, i16 0, i16 0, i16 8275, i16 0, i16 0, i16 0, i16 8276, i16 0, i16 0, i16 0, i16 0, i16 8277, i16 0, i16 0, i16 0, i16 0, i16 1692, i16 0, i16 0, i16 0, i16 8278, i16 0, i16 5994, i16 0, i16 5984, i16 0, i16 0, i16 0, i16 11142, i16 11143, i16 5996, i16 11144, i16 5982, i16 2999, i16 11145, i16 11170, i16 0, i16 0, i16 0, i16 3544, i16 0, i16 0, i16 0, i16 5991, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6013, i16 11146, i16 11147, i16 4972, i16 0, i16 9436, i16 4974, i16 4973, i16 9437, i16 3339, i16 0, i16 0, i16 2029, i16 1949, i16 1815, i16 0, i16 4975, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4977, i16 2158, i16 9438, i16 4976, i16 0, i16 0, i16 9439, i16 0, i16 0, i16 4978, i16 9440, i16 5228, i16 9855, i16 9856, i16 9857, i16 0, i16 9858, i16 5229, i16 3239, i16 3040, i16 0, i16 0, i16 5230, i16 2962, i16 0, i16 9859, i16 9860, i16 9861, i16 0, i16 2638, i16 9862, i16 0, i16 9863, i16 9864, i16 0, i16 5231, i16 1004, i16 9865, i16 1292, i16 9866, i16 3415, i16 9867, i16 3399, i16 365, i16 366, i16 0, i16 0, i16 0, i16 258, i16 257, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 361, i16 0, i16 297, i16 298, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 323, i16 0, i16 0, i16 0, i16 0, i16 878, i16 9060, i16 9061, i16 9062, i16 9063, i16 2020, i16 9064, i16 3353, i16 1767, i16 9065, i16 9066, i16 9067, i16 9068, i16 2089, i16 9069, i16 2256, i16 9070, i16 9071, i16 0, i16 9072, i16 4719, i16 4717, i16 4718, i16 9074, i16 0, i16 9073, i16 0, i16 0, i16 2606, i16 0, i16 0, i16 4750, i16 10350, i16 10351, i16 0, i16 10352, i16 10353, i16 0, i16 0, i16 0, i16 10354, i16 0, i16 10355, i16 3583, i16 1628, i16 0, i16 10356, i16 1504, i16 0, i16 0, i16 3004, i16 0, i16 5479, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10357, i16 0, i16 5481, i16 0, i16 10358, i16 0, i16 6767, i16 7051, i16 3421, i16 12559, i16 6768, i16 0, i16 6769, i16 12560, i16 6770, i16 1082, i16 12561, i16 6772, i16 0, i16 2212, i16 12562, i16 0, i16 0, i16 6773, i16 0, i16 12563, i16 1407, i16 0, i16 12564, i16 12565, i16 12566, i16 6774, i16 6778, i16 12567, i16 6776, i16 12568, i16 0, i16 12569, i16 9328, i16 9329, i16 4897, i16 9330, i16 0, i16 4904, i16 0, i16 0, i16 0, i16 0, i16 4910, i16 3086, i16 4916, i16 0, i16 0, i16 9331, i16 0, i16 9332, i16 4911, i16 4914, i16 4908, i16 9333, i16 0, i16 2615, i16 0, i16 3119, i16 9334, i16 4898, i16 0, i16 9335, i16 4906, i16 2093, i16 9840, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2997, i16 9841, i16 9842, i16 9843, i16 0, i16 0, i16 0, i16 5217, i16 0, i16 0, i16 5218, i16 0, i16 0, i16 9844, i16 0, i16 0, i16 0, i16 9845, i16 0, i16 0, i16 9846, i16 5219, i16 0, i16 9847, i16 0, i16 9848, i16 10096, i16 10097, i16 0, i16 1805, i16 10098, i16 928, i16 5328, i16 10099, i16 3520, i16 10100, i16 10101, i16 3256, i16 5329, i16 0, i16 0, i16 10102, i16 2755, i16 3490, i16 1626, i16 2184, i16 0, i16 0, i16 10103, i16 2574, i16 3918, i16 10104, i16 2639, i16 1005, i16 5330, i16 10105, i16 10106, i16 10107, i16 7537, i16 0, i16 7538, i16 7539, i16 0, i16 1485, i16 7540, i16 7541, i16 0, i16 0, i16 7542, i16 0, i16 3798, i16 7543, i16 0, i16 0, i16 7544, i16 7545, i16 1910, i16 0, i16 2443, i16 2694, i16 1395, i16 0, i16 3799, i16 0, i16 0, i16 0, i16 0, i16 1237, i16 0, i16 0, i16 11377, i16 11378, i16 0, i16 11379, i16 6114, i16 11380, i16 6115, i16 1929, i16 0, i16 6117, i16 0, i16 2564, i16 0, i16 1457, i16 1061, i16 0, i16 0, i16 11381, i16 11382, i16 0, i16 6120, i16 11383, i16 0, i16 11384, i16 0, i16 1058, i16 11385, i16 6125, i16 11386, i16 0, i16 6121, i16 6124, i16 11889, i16 11890, i16 6432, i16 0, i16 2718, i16 0, i16 0, i16 6437, i16 6441, i16 6438, i16 6436, i16 11891, i16 6439, i16 11892, i16 11893, i16 11894, i16 6440, i16 0, i16 0, i16 0, i16 11895, i16 6447, i16 0, i16 0, i16 0, i16 6442, i16 0, i16 11896, i16 11897, i16 11898, i16 11899, i16 2305, i16 10866, i16 940, i16 0, i16 10867, i16 0, i16 5812, i16 5813, i16 0, i16 10868, i16 0, i16 5814, i16 0, i16 3537, i16 0, i16 10869, i16 10870, i16 0, i16 0, i16 1979, i16 0, i16 5816, i16 5815, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10871, i16 0, i16 0, i16 0, i16 10872, i16 3699, i16 4782, i16 2240, i16 0, i16 0, i16 0, i16 4781, i16 0, i16 0, i16 4776, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1544, i16 9169, i16 9170, i16 9171, i16 4788, i16 4786, i16 9172, i16 978, i16 4784, i16 4790, i16 4796, i16 0, i16 9173, i16 9174, i16 9175, i16 0, i16 0, i16 7283, i16 7282, i16 7285, i16 7291, i16 7284, i16 7290, i16 7180, i16 7295, i16 7299, i16 7298, i16 7301, i16 7300, i16 7312, i16 7311, i16 7314, i16 7313, i16 7182, i16 7327, i16 7329, i16 7328, i16 7331, i16 7335, i16 7330, i16 285, i16 7191, i16 7346, i16 7345, i16 7348, i16 7347, i16 7361, i16 7195, i16 7362, i16 9075, i16 4724, i16 1873, i16 1615, i16 4722, i16 9076, i16 9077, i16 0, i16 0, i16 4723, i16 9078, i16 2179, i16 9079, i16 0, i16 9081, i16 4721, i16 0, i16 9080, i16 1794, i16 0, i16 0, i16 0, i16 0, i16 9082, i16 9083, i16 9084, i16 0, i16 9085, i16 9086, i16 4726, i16 4725, i16 4730, i16 1908, i16 0, i16 11233, i16 11234, i16 0, i16 0, i16 6015, i16 11235, i16 0, i16 0, i16 0, i16 0, i16 11236, i16 0, i16 11237, i16 0, i16 11238, i16 3235, i16 0, i16 3379, i16 6055, i16 6054, i16 0, i16 6050, i16 6051, i16 0, i16 861, i16 0, i16 11239, i16 0, i16 11240, i16 6053, i16 1909, i16 0, i16 0, i16 0, i16 2851, i16 5627, i16 5626, i16 0, i16 10612, i16 5623, i16 10613, i16 0, i16 0, i16 3681, i16 0, i16 0, i16 0, i16 0, i16 10614, i16 5632, i16 10615, i16 10616, i16 5636, i16 5633, i16 10617, i16 10618, i16 10619, i16 0, i16 10620, i16 0, i16 10621, i16 0, i16 7797, i16 0, i16 1797, i16 3950, i16 0, i16 7798, i16 0, i16 0, i16 3367, i16 1706, i16 1273, i16 3478, i16 2391, i16 3032, i16 1966, i16 7799, i16 0, i16 0, i16 7800, i16 7801, i16 2006, i16 7802, i16 1945, i16 1958, i16 0, i16 2053, i16 7803, i16 3033, i16 0, i16 7804, i16 7805, i16 3953, i16 12917, i16 0, i16 12918, i16 0, i16 6964, i16 0, i16 6960, i16 0, i16 6961, i16 6957, i16 6963, i16 12919, i16 6959, i16 1093, i16 0, i16 12920, i16 3703, i16 12921, i16 6962, i16 6958, i16 6956, i16 6955, i16 12922, i16 0, i16 12923, i16 12924, i16 12925, i16 6966, i16 12926, i16 0, i16 12927, i16 0, i16 9590, i16 2555, i16 9591, i16 0, i16 5069, i16 9592, i16 5058, i16 0, i16 5064, i16 9593, i16 5071, i16 837, i16 5061, i16 0, i16 5072, i16 9594, i16 9595, i16 2183, i16 0, i16 2030, i16 9596, i16 3194, i16 9597, i16 1699, i16 0, i16 5053, i16 5067, i16 2745, i16 9598, i16 0, i16 0, i16 0, i16 3448, i16 0, i16 6681, i16 2357, i16 12444, i16 0, i16 0, i16 6682, i16 12445, i16 3225, i16 6683, i16 1038, i16 12446, i16 12447, i16 12448, i16 867, i16 0, i16 1176, i16 0, i16 1175, i16 6684, i16 0, i16 6685, i16 0, i16 6686, i16 6687, i16 0, i16 0, i16 0, i16 12449, i16 12450, i16 12451, i16 4472, i16 4470, i16 8699, i16 2401, i16 0, i16 8700, i16 0, i16 4460, i16 1799, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2475, i16 4491, i16 8701, i16 2402, i16 4486, i16 8702, i16 4483, i16 4484, i16 8703, i16 1943, i16 4487, i16 4490, i16 8704, i16 8705, i16 0, i16 0, i16 6008, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11157, i16 3267, i16 11158, i16 5999, i16 0, i16 0, i16 0, i16 991, i16 1551, i16 3104, i16 6009, i16 0, i16 5997, i16 0, i16 11159, i16 6006, i16 11160, i16 11161, i16 0, i16 6016, i16 11162, i16 6001, i16 0, i16 0, i16 9336, i16 3424, i16 4926, i16 4913, i16 9337, i16 0, i16 0, i16 0, i16 9338, i16 1499, i16 936, i16 1090, i16 0, i16 0, i16 4889, i16 0, i16 9339, i16 0, i16 9340, i16 0, i16 9341, i16 2094, i16 4918, i16 9342, i16 4925, i16 1962, i16 1109, i16 9343, i16 0, i16 2545, i16 9344, i16 9345, i16 11640, i16 0, i16 11641, i16 1480, i16 11642, i16 6284, i16 11643, i16 0, i16 0, i16 0, i16 3295, i16 11644, i16 11645, i16 2312, i16 0, i16 11646, i16 0, i16 1301, i16 0, i16 3462, i16 2385, i16 11647, i16 6285, i16 11648, i16 0, i16 0, i16 2194, i16 2611, i16 2119, i16 11649, i16 11650, i16 0, i16 8313, i16 2599, i16 0, i16 4213, i16 0, i16 8314, i16 4215, i16 0, i16 0, i16 4216, i16 8315, i16 0, i16 0, i16 0, i16 8316, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8317, i16 8318, i16 0, i16 0, i16 0, i16 4218, i16 4219, i16 0, i16 8319, i16 0, i16 0, i16 11129, i16 0, i16 11130, i16 0, i16 11131, i16 5980, i16 11132, i16 5988, i16 0, i16 5995, i16 5989, i16 0, i16 0, i16 11133, i16 5987, i16 0, i16 0, i16 0, i16 11134, i16 5958, i16 11135, i16 11136, i16 5985, i16 0, i16 11137, i16 11138, i16 5981, i16 11139, i16 11140, i16 11141, i16 1169, i16 5983, i16 890, i16 11664, i16 6294, i16 1459, i16 0, i16 11665, i16 1857, i16 11666, i16 0, i16 1856, i16 0, i16 3704, i16 6293, i16 6292, i16 2350, i16 0, i16 1260, i16 3694, i16 1053, i16 2121, i16 0, i16 11667, i16 11668, i16 11669, i16 0, i16 11670, i16 11671, i16 11672, i16 6291, i16 0, i16 11673, i16 11674, i16 3962, i16 0, i16 3663, i16 7821, i16 7822, i16 0, i16 3271, i16 7823, i16 2697, i16 1563, i16 1671, i16 0, i16 0, i16 7824, i16 3970, i16 7825, i16 0, i16 2874, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7826, i16 3974, i16 3707, i16 4830, i16 0, i16 0, i16 4844, i16 801, i16 9267, i16 0, i16 4832, i16 9268, i16 9269, i16 3403, i16 4837, i16 2157, i16 2664, i16 4827, i16 9270, i16 9271, i16 4843, i16 9272, i16 0, i16 0, i16 9273, i16 9274, i16 0, i16 2245, i16 4853, i16 1108, i16 1498, i16 0, i16 0, i16 0, i16 11387, i16 0, i16 0, i16 11388, i16 3027, i16 11389, i16 0, i16 11390, i16 0, i16 6122, i16 0, i16 0, i16 6123, i16 3135, i16 3059, i16 6126, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2530, i16 6136, i16 11392, i16 6132, i16 11393, i16 11394, i16 1008, i16 0, i16 2172, i16 0, i16 0, i16 8264, i16 8265, i16 4194, i16 0, i16 8266, i16 8267, i16 3247, i16 8268, i16 0, i16 0, i16 8269, i16 0, i16 1565, i16 8270, i16 0, i16 0, i16 0, i16 0, i16 4203, i16 4204, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2072, i16 0, i16 0, i16 0, i16 6012, i16 0, i16 6011, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2982, i16 6018, i16 0, i16 6029, i16 0, i16 0, i16 11171, i16 0, i16 1121, i16 0, i16 0, i16 0, i16 6032, i16 0, i16 0, i16 6014, i16 11172, i16 0, i16 0, i16 6019, i16 3549, i16 0, i16 0, i16 10108, i16 0, i16 0, i16 10109, i16 5331, i16 0, i16 5336, i16 10110, i16 10111, i16 5334, i16 5333, i16 4684, i16 1033, i16 5332, i16 10112, i16 803, i16 10113, i16 3011, i16 10114, i16 0, i16 3043, i16 0, i16 0, i16 10115, i16 0, i16 3582, i16 5337, i16 5335, i16 2591, i16 2255, i16 10116, i16 10117, i16 7806, i16 874, i16 2392, i16 1590, i16 1534, i16 1380, i16 7807, i16 7808, i16 3957, i16 2532, i16 2531, i16 1320, i16 2065, i16 3958, i16 3956, i16 969, i16 2507, i16 1897, i16 1822, i16 845, i16 0, i16 7809, i16 1107, i16 1661, i16 1821, i16 0, i16 3959, i16 0, i16 0, i16 0, i16 0, i16 0, i16 639, i16 640, i16 7138, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 7135, i16 7140, i16 7137, i16 7139, i16 7142, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6271, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1076, i16 0, i16 11616, i16 11617, i16 11618, i16 11619, i16 11620, i16 0, i16 6272, i16 0, i16 6273, i16 6274, i16 0, i16 0, i16 9087, i16 9088, i16 4731, i16 0, i16 4727, i16 0, i16 1029, i16 4728, i16 4729, i16 3054, i16 9090, i16 9091, i16 9092, i16 0, i16 3160, i16 1445, i16 4732, i16 0, i16 0, i16 9094, i16 2267, i16 9095, i16 2090, i16 9097, i16 9098, i16 9099, i16 2581, i16 9100, i16 9102, i16 0, i16 9093, i16 9096, i16 9599, i16 0, i16 0, i16 0, i16 9600, i16 2271, i16 0, i16 1100, i16 1734, i16 2097, i16 5055, i16 2001, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1447, i16 0, i16 5054, i16 0, i16 0, i16 0, i16 5076, i16 2044, i16 1523, i16 0, i16 5091, i16 9601, i16 5085, i16 8320, i16 8321, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8322, i16 1203, i16 0, i16 4221, i16 4220, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4222, i16 8323, i16 0, i16 8325, i16 0, i16 8326, i16 0, i16 8327, i16 0, i16 0, i16 8576, i16 4395, i16 0, i16 0, i16 8577, i16 8578, i16 0, i16 8579, i16 4396, i16 0, i16 1325, i16 0, i16 4397, i16 8580, i16 4398, i16 0, i16 8581, i16 4400, i16 0, i16 2805, i16 8582, i16 0, i16 4401, i16 4402, i16 8583, i16 4403, i16 0, i16 8584, i16 4388, i16 4387, i16 0, i16 0, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 0, i16 0, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 1665, i16 2915, i16 0, i16 0, i16 5051, i16 0, i16 0, i16 0, i16 9719, i16 9720, i16 0, i16 3555, i16 5149, i16 0, i16 5153, i16 2522, i16 9721, i16 5152, i16 0, i16 5131, i16 0, i16 9722, i16 6697, i16 0, i16 0, i16 9723, i16 5157, i16 0, i16 9724, i16 9725, i16 5161, i16 0, i16 5249, i16 5250, i16 5248, i16 0, i16 0, i16 9900, i16 0, i16 0, i16 0, i16 1950, i16 0, i16 0, i16 2853, i16 1334, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9901, i16 9902, i16 0, i16 0, i16 5252, i16 2543, i16 5251, i16 9903, i16 9904, i16 3680, i16 2973, i16 9905, i16 0, i16 5507, i16 1426, i16 0, i16 0, i16 10420, i16 10421, i16 10422, i16 1247, i16 1222, i16 1846, i16 10423, i16 10424, i16 0, i16 0, i16 0, i16 10425, i16 3491, i16 10426, i16 0, i16 5513, i16 10427, i16 5512, i16 2379, i16 5509, i16 10428, i16 0, i16 5511, i16 10429, i16 10430, i16 2010, i16 2187, i16 5510, i16 11651, i16 6286, i16 0, i16 11652, i16 0, i16 11653, i16 6289, i16 11654, i16 6290, i16 11655, i16 0, i16 0, i16 0, i16 11656, i16 11657, i16 0, i16 1715, i16 2471, i16 6288, i16 11658, i16 2120, i16 3125, i16 11659, i16 11660, i16 11661, i16 0, i16 0, i16 6287, i16 11662, i16 11663, i16 1855, i16 0, i16 5508, i16 0, i16 2917, i16 0, i16 0, i16 2106, i16 0, i16 10431, i16 3123, i16 10432, i16 0, i16 10433, i16 0, i16 1740, i16 0, i16 0, i16 0, i16 0, i16 10434, i16 0, i16 0, i16 0, i16 0, i16 2807, i16 0, i16 10435, i16 5514, i16 10436, i16 10437, i16 0, i16 10438, i16 5515, i16 4485, i16 1972, i16 8706, i16 4488, i16 0, i16 0, i16 4482, i16 8707, i16 3469, i16 3468, i16 8708, i16 0, i16 8709, i16 4492, i16 4493, i16 798, i16 8710, i16 8711, i16 8712, i16 8713, i16 8714, i16 4481, i16 8715, i16 8716, i16 0, i16 8717, i16 1391, i16 751, i16 8718, i16 0, i16 8719, i16 1143, i16 4230, i16 8332, i16 0, i16 4228, i16 0, i16 4229, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8333, i16 8334, i16 0, i16 0, i16 0, i16 1829, i16 4231, i16 8335, i16 0, i16 1597, i16 4232, i16 8336, i16 1869, i16 2461, i16 0, i16 4233, i16 4234, i16 1837, i16 1598, i16 8337, i16 3427, i16 1673, i16 0, i16 3259, i16 5542, i16 10499, i16 10500, i16 3335, i16 10501, i16 10502, i16 5544, i16 0, i16 0, i16 10503, i16 2298, i16 886, i16 959, i16 757, i16 0, i16 0, i16 0, i16 0, i16 10504, i16 10505, i16 5543, i16 0, i16 10506, i16 0, i16 0, i16 10507, i16 10508, i16 0, i16 10509, i16 2441, i16 6521, i16 754, i16 3661, i16 0, i16 0, i16 0, i16 6526, i16 12021, i16 12022, i16 12024, i16 0, i16 12025, i16 12026, i16 2502, i16 12023, i16 0, i16 1988, i16 2197, i16 12027, i16 12028, i16 6528, i16 6527, i16 12029, i16 824, i16 6529, i16 0, i16 0, i16 3110, i16 0, i16 6537, i16 12030, i16 8585, i16 4404, i16 1436, i16 8586, i16 8587, i16 0, i16 3102, i16 8588, i16 0, i16 1729, i16 3118, i16 2631, i16 3138, i16 4405, i16 0, i16 8589, i16 2081, i16 877, i16 8590, i16 4406, i16 8591, i16 8592, i16 0, i16 4407, i16 8593, i16 3459, i16 8594, i16 0, i16 3065, i16 8595, i16 8596, i16 4410, i16 10634, i16 1163, i16 0, i16 5637, i16 0, i16 10635, i16 10636, i16 5638, i16 10637, i16 0, i16 5639, i16 5642, i16 10638, i16 0, i16 0, i16 0, i16 0, i16 10639, i16 0, i16 10640, i16 10641, i16 0, i16 10642, i16 5641, i16 3087, i16 10643, i16 10644, i16 0, i16 0, i16 5643, i16 3657, i16 3266, i16 1675, i16 3402, i16 12998, i16 12997, i16 7003, i16 12999, i16 0, i16 0, i16 0, i16 13000, i16 13001, i16 13002, i16 3301, i16 0, i16 0, i16 7011, i16 13003, i16 0, i16 7007, i16 0, i16 0, i16 0, i16 13004, i16 13005, i16 0, i16 0, i16 7012, i16 13006, i16 13007, i16 0, i16 13008, i16 0, i16 7563, i16 7564, i16 7565, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7566, i16 0, i16 1722, i16 3506, i16 0, i16 7567, i16 7568, i16 0, i16 3804, i16 3807, i16 3803, i16 1721, i16 0, i16 2060, i16 0, i16 7569, i16 7570, i16 0, i16 0, i16 7571, i16 1428, i16 0, i16 3980, i16 7837, i16 0, i16 7838, i16 3982, i16 7839, i16 3984, i16 0, i16 7840, i16 7841, i16 0, i16 1765, i16 3693, i16 7842, i16 3973, i16 3971, i16 3983, i16 7843, i16 3978, i16 0, i16 0, i16 7844, i16 7845, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7846, i16 0, i16 0, i16 7847, i16 9868, i16 953, i16 3679, i16 9869, i16 0, i16 0, i16 0, i16 3333, i16 9870, i16 3199, i16 0, i16 9871, i16 0, i16 0, i16 9872, i16 9873, i16 0, i16 9874, i16 2272, i16 0, i16 5232, i16 0, i16 0, i16 9875, i16 9876, i16 2848, i16 0, i16 9877, i16 9878, i16 1500, i16 5233, i16 9879, i16 11148, i16 6005, i16 0, i16 0, i16 0, i16 2246, i16 0, i16 11149, i16 0, i16 11150, i16 1253, i16 0, i16 1370, i16 0, i16 6000, i16 11151, i16 11152, i16 11153, i16 0, i16 992, i16 11154, i16 0, i16 2113, i16 0, i16 6003, i16 0, i16 0, i16 0, i16 1743, i16 11155, i16 0, i16 2768, i16 4749, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4751, i16 0, i16 9131, i16 4752, i16 0, i16 9132, i16 9133, i16 0, i16 9134, i16 0, i16 4753, i16 0, i16 1351, i16 879, i16 1616, i16 4754, i16 0, i16 4755, i16 2048, i16 2409, i16 9135, i16 9089, i16 3954, i16 2373, i16 2372, i16 2493, i16 9101, i16 1348, i16 0, i16 4733, i16 4737, i16 0, i16 0, i16 976, i16 4734, i16 4736, i16 0, i16 9103, i16 9104, i16 9105, i16 4735, i16 0, i16 9106, i16 2042, i16 9107, i16 0, i16 0, i16 0, i16 2571, i16 782, i16 4738, i16 9108, i16 9109, i16 9110, i16 9111, i16 4739, i16 0, i16 9112, i16 10897, i16 5830, i16 0, i16 0, i16 10898, i16 0, i16 10899, i16 0, i16 5831, i16 0, i16 0, i16 0, i16 10900, i16 0, i16 10901, i16 0, i16 10902, i16 0, i16 0, i16 1883, i16 10903, i16 10904, i16 3454, i16 10905, i16 0, i16 10906, i16 10907, i16 5833, i16 10908, i16 2562, i16 10909, i16 5832, i16 3218, i16 3626, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8131, i16 1017, i16 4128, i16 8132, i16 8133, i16 0, i16 8134, i16 8135, i16 2369, i16 4131, i16 0, i16 2786, i16 8136, i16 0, i16 2760, i16 2787, i16 3026, i16 2670, i16 0, i16 0, i16 0, i16 1726, i16 8137, i16 3731, i16 3303, i16 3732, i16 0, i16 1579, i16 816, i16 3365, i16 0, i16 1307, i16 0, i16 0, i16 1308, i16 1309, i16 2691, i16 3593, i16 7399, i16 3733, i16 0, i16 0, i16 3734, i16 0, i16 0, i16 3735, i16 0, i16 0, i16 7400, i16 2200, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4243, i16 8345, i16 0, i16 4244, i16 8346, i16 2517, i16 8347, i16 846, i16 1946, i16 779, i16 8348, i16 2398, i16 1137, i16 1894, i16 8349, i16 1599, i16 8350, i16 8351, i16 0, i16 8352, i16 8353, i16 2789, i16 8354, i16 1968, i16 1138, i16 2603, i16 2699, i16 769, i16 1240, i16 3274, i16 0, i16 1907, i16 7060, i16 0, i16 0, i16 0, i16 13092, i16 7061, i16 0, i16 13093, i16 7062, i16 0, i16 0, i16 0, i16 13094, i16 13095, i16 13096, i16 7063, i16 13097, i16 13098, i16 13099, i16 0, i16 7064, i16 13100, i16 7065, i16 7066, i16 13101, i16 7067, i16 0, i16 7068, i16 7069, i16 7070, i16 0, i16 13102, i16 7572, i16 0, i16 3808, i16 7573, i16 7574, i16 1356, i16 0, i16 7575, i16 0, i16 3805, i16 3806, i16 0, i16 7576, i16 2828, i16 7577, i16 2435, i16 7578, i16 1312, i16 0, i16 7579, i16 7580, i16 3328, i16 3809, i16 0, i16 7581, i16 0, i16 3594, i16 0, i16 7582, i16 7583, i16 3810, i16 7584, i16 6549, i16 6548, i16 6546, i16 5564, i16 1173, i16 12043, i16 0, i16 6514, i16 12044, i16 6551, i16 6550, i16 12045, i16 12046, i16 0, i16 12047, i16 6552, i16 12048, i16 3495, i16 0, i16 0, i16 0, i16 12049, i16 0, i16 12050, i16 12051, i16 12052, i16 0, i16 12053, i16 0, i16 0, i16 0, i16 0, i16 2710, i16 2000, i16 1280, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9490, i16 9491, i16 0, i16 9492, i16 3039, i16 9493, i16 1887, i16 0, i16 9494, i16 0, i16 9495, i16 5004, i16 0, i16 1153, i16 0, i16 9496, i16 927, i16 9497, i16 9498, i16 2895, i16 5003, i16 1621, i16 10390, i16 10391, i16 0, i16 0, i16 10387, i16 0, i16 10392, i16 5497, i16 3348, i16 0, i16 10393, i16 0, i16 5496, i16 0, i16 0, i16 820, i16 0, i16 0, i16 10394, i16 10395, i16 5500, i16 0, i16 10397, i16 10398, i16 0, i16 0, i16 10399, i16 10400, i16 0, i16 5499, i16 0, i16 10401, i16 12184, i16 12185, i16 0, i16 0, i16 12186, i16 12187, i16 12188, i16 12189, i16 0, i16 12190, i16 12191, i16 0, i16 12192, i16 2876, i16 1062, i16 0, i16 12193, i16 6601, i16 12194, i16 12195, i16 6598, i16 6600, i16 12196, i16 0, i16 12197, i16 0, i16 0, i16 0, i16 12198, i16 12199, i16 6596, i16 0, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 3481, i16 0, i16 8676, i16 1142, i16 8677, i16 8678, i16 896, i16 4468, i16 8679, i16 2933, i16 758, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8680, i16 8681, i16 3066, i16 4428, i16 4474, i16 4478, i16 3446, i16 8682, i16 4471, i16 0, i16 0, i16 8683, i16 2792, i16 4476, i16 8684, i16 0, i16 9113, i16 0, i16 2635, i16 0, i16 9114, i16 0, i16 3646, i16 0, i16 0, i16 0, i16 0, i16 1814, i16 0, i16 9115, i16 3264, i16 0, i16 0, i16 9116, i16 9117, i16 0, i16 3312, i16 9118, i16 0, i16 0, i16 4746, i16 4741, i16 0, i16 9119, i16 4744, i16 0, i16 4743, i16 9120, i16 922, i16 2387, i16 12036, i16 1512, i16 0, i16 3529, i16 12037, i16 12038, i16 6541, i16 2731, i16 0, i16 0, i16 12039, i16 2431, i16 1928, i16 6542, i16 12040, i16 0, i16 6545, i16 0, i16 12041, i16 2036, i16 6543, i16 2354, i16 2353, i16 12042, i16 813, i16 0, i16 3608, i16 6547, i16 0, i16 3083, i16 2714, i16 5730, i16 10770, i16 0, i16 5726, i16 10771, i16 10772, i16 0, i16 3241, i16 1164, i16 10773, i16 10774, i16 3420, i16 10775, i16 0, i16 807, i16 0, i16 10776, i16 5729, i16 0, i16 3658, i16 10777, i16 10778, i16 0, i16 0, i16 10779, i16 10780, i16 5728, i16 0, i16 0, i16 0, i16 0, i16 11930, i16 11931, i16 0, i16 11932, i16 11933, i16 6468, i16 6465, i16 11934, i16 6469, i16 0, i16 1927, i16 6470, i16 1231, i16 1422, i16 0, i16 11935, i16 0, i16 11936, i16 1511, i16 0, i16 11937, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6471, i16 11938, i16 0, i16 0, i16 2893, i16 11419, i16 0, i16 0, i16 11420, i16 0, i16 11421, i16 0, i16 0, i16 0, i16 2319, i16 0, i16 3684, i16 6148, i16 11422, i16 6149, i16 0, i16 0, i16 0, i16 0, i16 6155, i16 0, i16 2165, i16 0, i16 6151, i16 11423, i16 6154, i16 0, i16 0, i16 0, i16 11424, i16 0, i16 6146, i16 11675, i16 0, i16 6296, i16 11676, i16 6297, i16 6295, i16 11677, i16 1553, i16 0, i16 3503, i16 0, i16 11678, i16 1858, i16 2914, i16 0, i16 11679, i16 11680, i16 6300, i16 11681, i16 2281, i16 0, i16 2565, i16 11682, i16 11683, i16 3493, i16 11684, i16 6303, i16 0, i16 0, i16 0, i16 1573, i16 11685, i16 10140, i16 10141, i16 5356, i16 5358, i16 10142, i16 3129, i16 10143, i16 2102, i16 0, i16 0, i16 5365, i16 0, i16 10144, i16 5364, i16 10145, i16 10146, i16 0, i16 0, i16 5366, i16 0, i16 1879, i16 1700, i16 0, i16 10147, i16 2806, i16 5367, i16 0, i16 2668, i16 10148, i16 0, i16 5369, i16 10149, i16 10396, i16 2105, i16 0, i16 0, i16 0, i16 0, i16 10402, i16 5501, i16 0, i16 0, i16 0, i16 0, i16 10403, i16 0, i16 2378, i16 0, i16 10404, i16 5503, i16 5502, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5504, i16 10405, i16 0, i16 10406, i16 0, i16 10407, i16 10408, i16 5789, i16 10839, i16 0, i16 10840, i16 10841, i16 10842, i16 10843, i16 5792, i16 5790, i16 5791, i16 1750, i16 1454, i16 0, i16 10844, i16 2585, i16 0, i16 3020, i16 10845, i16 2047, i16 0, i16 0, i16 2952, i16 0, i16 3078, i16 5793, i16 4539, i16 0, i16 0, i16 0, i16 10846, i16 10847, i16 10848, i16 10910, i16 0, i16 0, i16 0, i16 10911, i16 0, i16 5835, i16 0, i16 0, i16 0, i16 5834, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5836, i16 0, i16 0, i16 0, i16 2276, i16 0, i16 5837, i16 0, i16 5838, i16 0, i16 0, i16 0, i16 3214, i16 5839, i16 12702, i16 12703, i16 6839, i16 0, i16 0, i16 6841, i16 12704, i16 12705, i16 12706, i16 6840, i16 0, i16 6843, i16 6846, i16 12707, i16 12708, i16 0, i16 6842, i16 6844, i16 6845, i16 0, i16 12709, i16 6847, i16 0, i16 1343, i16 12710, i16 12711, i16 0, i16 12712, i16 12713, i16 0, i16 12714, i16 12715, i16 1951, i16 9987, i16 0, i16 9988, i16 0, i16 5280, i16 9989, i16 9990, i16 0, i16 9991, i16 1433, i16 0, i16 0, i16 3042, i16 5281, i16 0, i16 0, i16 5308, i16 0, i16 0, i16 9992, i16 9993, i16 0, i16 9994, i16 5287, i16 9995, i16 9996, i16 9997, i16 0, i16 9998, i16 1526, i16 9999, i16 5279, i16 0, i16 982, i16 0, i16 0, i16 9976, i16 9977, i16 0, i16 5275, i16 9978, i16 1804, i16 9979, i16 9980, i16 2658, i16 5277, i16 9981, i16 0, i16 0, i16 9982, i16 9983, i16 0, i16 0, i16 9984, i16 0, i16 0, i16 9985, i16 0, i16 0, i16 0, i16 9986, i16 5282, i16 0, i16 5535, i16 10488, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10489, i16 0, i16 0, i16 0, i16 10490, i16 0, i16 10491, i16 1952, i16 10492, i16 10493, i16 5538, i16 825, i16 0, i16 10494, i16 10495, i16 0, i16 5541, i16 10496, i16 10497, i16 10498, i16 5539, i16 985, i16 1449, i16 5540, i16 1629, i16 2976, i16 11805, i16 1510, i16 6388, i16 6387, i16 0, i16 3169, i16 0, i16 11806, i16 0, i16 1906, i16 0, i16 11807, i16 2769, i16 0, i16 11808, i16 11809, i16 0, i16 11810, i16 0, i16 0, i16 11811, i16 0, i16 11812, i16 11813, i16 0, i16 6391, i16 6392, i16 1647, i16 6390, i16 11814, i16 11815, i16 9632, i16 0, i16 823, i16 0, i16 0, i16 5106, i16 0, i16 9633, i16 0, i16 0, i16 5094, i16 0, i16 0, i16 9634, i16 9635, i16 5100, i16 0, i16 9636, i16 5102, i16 9637, i16 0, i16 0, i16 3518, i16 5097, i16 0, i16 0, i16 2733, i16 9638, i16 0, i16 5099, i16 0, i16 9639, i16 10912, i16 2422, i16 5840, i16 0, i16 10913, i16 0, i16 10914, i16 0, i16 5841, i16 0, i16 0, i16 0, i16 0, i16 10915, i16 0, i16 3659, i16 5844, i16 10916, i16 5843, i16 5842, i16 2641, i16 10917, i16 5845, i16 2161, i16 0, i16 5846, i16 0, i16 0, i16 0, i16 5847, i16 3683, i16 5848, i16 5537, i16 1365, i16 0, i16 0, i16 3688, i16 2364, i16 0, i16 0, i16 0, i16 0, i16 5516, i16 10439, i16 10440, i16 983, i16 2712, i16 3190, i16 0, i16 10441, i16 0, i16 10442, i16 10443, i16 10444, i16 10445, i16 0, i16 10446, i16 0, i16 0, i16 10447, i16 10448, i16 5517, i16 0, i16 0, i16 9121, i16 4740, i16 9122, i16 9123, i16 4745, i16 0, i16 0, i16 2875, i16 9124, i16 4742, i16 0, i16 0, i16 9125, i16 0, i16 9126, i16 9127, i16 0, i16 0, i16 0, i16 0, i16 9128, i16 0, i16 4747, i16 0, i16 0, i16 2043, i16 4748, i16 9129, i16 3514, i16 2995, i16 0, i16 9130, i16 4770, i16 2143, i16 3438, i16 4772, i16 4773, i16 3543, i16 9153, i16 0, i16 0, i16 0, i16 4778, i16 0, i16 9154, i16 1617, i16 9155, i16 2960, i16 4775, i16 2795, i16 4712, i16 4716, i16 9156, i16 1262, i16 9157, i16 2946, i16 0, i16 0, i16 0, i16 9158, i16 4777, i16 0, i16 2091, i16 3037, i16 932, i16 2261, i16 4409, i16 4408, i16 1437, i16 2489, i16 0, i16 4414, i16 4412, i16 8597, i16 4411, i16 3572, i16 1566, i16 8598, i16 0, i16 8599, i16 2056, i16 4413, i16 2763, i16 1997, i16 0, i16 0, i16 8600, i16 2845, i16 4417, i16 4416, i16 0, i16 0, i16 8601, i16 8602, i16 4415, i16 0, i16 10150, i16 10151, i16 3566, i16 5368, i16 10152, i16 0, i16 0, i16 10153, i16 0, i16 2416, i16 0, i16 0, i16 10154, i16 0, i16 10155, i16 10156, i16 5374, i16 10157, i16 5376, i16 5377, i16 2583, i16 0, i16 0, i16 0, i16 0, i16 10158, i16 5375, i16 0, i16 5372, i16 0, i16 5370, i16 5371, i16 9640, i16 9641, i16 5107, i16 9642, i16 5101, i16 3416, i16 0, i16 9643, i16 9644, i16 5096, i16 9645, i16 1875, i16 5120, i16 9646, i16 9647, i16 9648, i16 0, i16 1101, i16 0, i16 5098, i16 5103, i16 5104, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2513, i16 2495, i16 0, i16 4009, i16 7890, i16 0, i16 0, i16 2516, i16 4014, i16 2067, i16 7891, i16 0, i16 7892, i16 7893, i16 0, i16 4011, i16 7894, i16 0, i16 3445, i16 7895, i16 7896, i16 0, i16 1431, i16 0, i16 0, i16 4015, i16 4016, i16 7897, i16 0, i16 7898, i16 7899, i16 4013, i16 4019, i16 7900, i16 0, i16 6057, i16 6061, i16 0, i16 3058, i16 0, i16 0, i16 11253, i16 0, i16 6060, i16 2115, i16 1914, i16 6063, i16 0, i16 0, i16 1339, i16 11254, i16 11255, i16 11256, i16 11257, i16 11258, i16 0, i16 6064, i16 11259, i16 3184, i16 6059, i16 11260, i16 6020, i16 0, i16 11261, i16 11262, i16 11263, i16 11264, i16 10409, i16 0, i16 0, i16 0, i16 0, i16 10410, i16 5474, i16 10411, i16 0, i16 10412, i16 5476, i16 5506, i16 5505, i16 10413, i16 0, i16 0, i16 0, i16 10414, i16 0, i16 0, i16 10415, i16 10416, i16 0, i16 0, i16 0, i16 0, i16 1881, i16 10417, i16 3638, i16 10418, i16 1923, i16 10419, i16 4266, i16 0, i16 4267, i16 8383, i16 3441, i16 0, i16 8384, i16 0, i16 4268, i16 8385, i16 0, i16 8386, i16 8387, i16 1347, i16 8388, i16 0, i16 8389, i16 1969, i16 8390, i16 0, i16 0, i16 8391, i16 8392, i16 0, i16 4269, i16 4270, i16 1933, i16 2167, i16 2897, i16 2207, i16 3089, i16 2909, i16 6315, i16 6323, i16 6316, i16 0, i16 6312, i16 0, i16 2717, i16 6311, i16 0, i16 0, i16 0, i16 6309, i16 11707, i16 3472, i16 1859, i16 0, i16 11708, i16 6313, i16 0, i16 6310, i16 11709, i16 11710, i16 11711, i16 6317, i16 2051, i16 0, i16 1530, i16 0, i16 11712, i16 0, i16 2527, i16 11713, i16 7083, i16 7084, i16 3645, i16 7081, i16 0, i16 0, i16 7085, i16 7086, i16 13145, i16 13146, i16 7088, i16 0, i16 7087, i16 13147, i16 13148, i16 13149, i16 13150, i16 13151, i16 7090, i16 13152, i16 0, i16 13153, i16 7091, i16 7089, i16 0, i16 0, i16 13154, i16 0, i16 0, i16 13155, i16 0, i16 0, i16 11947, i16 0, i16 11948, i16 1078, i16 0, i16 6478, i16 0, i16 11949, i16 11950, i16 1745, i16 6477, i16 0, i16 6486, i16 0, i16 0, i16 11951, i16 11952, i16 0, i16 6480, i16 6482, i16 3258, i16 6479, i16 11953, i16 11954, i16 11955, i16 6481, i16 0, i16 6485, i16 6483, i16 1232, i16 11956, i16 6484, i16 1964, i16 0, i16 12536, i16 12537, i16 6746, i16 12538, i16 6747, i16 2199, i16 6748, i16 12539, i16 3643, i16 0, i16 0, i16 6743, i16 6750, i16 6752, i16 0, i16 6751, i16 0, i16 6749, i16 0, i16 0, i16 6753, i16 0, i16 0, i16 6754, i16 12540, i16 12541, i16 2433, i16 12542, i16 999, i16 0, i16 12716, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8365, i16 8366, i16 1941, i16 4247, i16 1204, i16 2863, i16 3386, i16 4248, i16 0, i16 4249, i16 0, i16 0, i16 3152, i16 8367, i16 0, i16 8368, i16 4251, i16 0, i16 1129, i16 1396, i16 4250, i16 0, i16 8369, i16 8370, i16 8371, i16 8372, i16 8373, i16 1139, i16 0, i16 2173, i16 4255, i16 1780, i16 10159, i16 5373, i16 10160, i16 10161, i16 10162, i16 0, i16 0, i16 10163, i16 10164, i16 5380, i16 10165, i16 5378, i16 10166, i16 5379, i16 0, i16 10167, i16 0, i16 0, i16 10168, i16 10169, i16 0, i16 10170, i16 10171, i16 0, i16 0, i16 10172, i16 0, i16 10173, i16 10174, i16 10175, i16 10176, i16 5381, i16 2480, i16 12493, i16 6712, i16 0, i16 3172, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6715, i16 6713, i16 1654, i16 0, i16 6714, i16 1531, i16 0, i16 12494, i16 0, i16 12495, i16 0, i16 12496, i16 12497, i16 12498, i16 0, i16 0, i16 3226, i16 6717, i16 6719, i16 6718, i16 6720, i16 6065, i16 11276, i16 0, i16 0, i16 2993, i16 11277, i16 11278, i16 6075, i16 6067, i16 11279, i16 6069, i16 11280, i16 11281, i16 0, i16 0, i16 11282, i16 6079, i16 6068, i16 0, i16 11283, i16 6072, i16 0, i16 0, i16 921, i16 11284, i16 2882, i16 0, i16 6073, i16 6076, i16 11285, i16 0, i16 11286, i16 10673, i16 5663, i16 5661, i16 0, i16 5659, i16 1122, i16 10674, i16 2110, i16 5664, i16 0, i16 0, i16 5662, i16 0, i16 5660, i16 5668, i16 0, i16 10675, i16 5667, i16 5666, i16 5665, i16 0, i16 0, i16 10676, i16 10677, i16 0, i16 5669, i16 10678, i16 10679, i16 10680, i16 5670, i16 2275, i16 10681, i16 6834, i16 6830, i16 12689, i16 0, i16 6833, i16 0, i16 12690, i16 12691, i16 1180, i16 0, i16 0, i16 12692, i16 6835, i16 0, i16 6836, i16 0, i16 0, i16 12693, i16 12694, i16 12695, i16 12696, i16 12697, i16 0, i16 0, i16 0, i16 12698, i16 12699, i16 12700, i16 12701, i16 6837, i16 6838, i16 0, i16 11186, i16 3177, i16 6034, i16 2814, i16 11187, i16 11188, i16 762, i16 11189, i16 0, i16 6027, i16 11190, i16 6023, i16 2425, i16 6017, i16 6025, i16 6030, i16 11191, i16 2919, i16 0, i16 11192, i16 11193, i16 755, i16 11194, i16 6022, i16 11195, i16 6031, i16 3183, i16 0, i16 11196, i16 11197, i16 0, i16 0, i16 2228, i16 5817, i16 0, i16 10873, i16 0, i16 10874, i16 5818, i16 0, i16 10875, i16 5819, i16 0, i16 1190, i16 10876, i16 0, i16 10877, i16 10878, i16 1166, i16 0, i16 10879, i16 5820, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5821, i16 10880, i16 3344, i16 3538, i16 10881, i16 10882, i16 10883, i16 2996, i16 0, i16 1154, i16 3655, i16 0, i16 0, i16 9664, i16 0, i16 0, i16 9665, i16 9666, i16 3378, i16 2675, i16 9673, i16 0, i16 9667, i16 9668, i16 5117, i16 5119, i16 9669, i16 0, i16 0, i16 9670, i16 0, i16 2361, i16 0, i16 0, i16 9671, i16 9672, i16 0, i16 5121, i16 5115, i16 4021, i16 7906, i16 7907, i16 4031, i16 2360, i16 0, i16 7908, i16 4033, i16 7909, i16 1593, i16 4023, i16 2624, i16 0, i16 0, i16 7910, i16 7911, i16 0, i16 7912, i16 7913, i16 7914, i16 7915, i16 0, i16 0, i16 7916, i16 4027, i16 4020, i16 1134, i16 0, i16 1199, i16 1096, i16 4028, i16 4024, i16 11957, i16 11958, i16 0, i16 11959, i16 0, i16 11960, i16 6487, i16 11961, i16 11962, i16 2965, i16 3621, i16 0, i16 11963, i16 11964, i16 11965, i16 1987, i16 0, i16 0, i16 0, i16 6488, i16 11966, i16 11967, i16 11968, i16 11969, i16 3473, i16 6490, i16 11970, i16 6489, i16 0, i16 0, i16 6493, i16 3504, i16 7094, i16 13164, i16 13165, i16 13166, i16 0, i16 13167, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8374, i16 974, i16 4254, i16 0, i16 4252, i16 4256, i16 4253, i16 2918, i16 4883, i16 2174, i16 0, i16 4257, i16 0, i16 0, i16 3597, i16 8375, i16 4258, i16 8376, i16 0, i16 4260, i16 8377, i16 2625, i16 4259, i16 0, i16 2252, i16 0, i16 1870, i16 0, i16 0, i16 8378, i16 2485, i16 1960, i16 9142, i16 0, i16 9143, i16 0, i16 0, i16 0, i16 4759, i16 4760, i16 3435, i16 0, i16 3381, i16 3369, i16 3343, i16 1784, i16 4762, i16 0, i16 0, i16 1948, i16 0, i16 9144, i16 3332, i16 0, i16 4764, i16 4767, i16 4766, i16 0, i16 1210, i16 0, i16 0, i16 1279, i16 9145, i16 4763, i16 1975, i16 1847, i16 10458, i16 0, i16 10459, i16 0, i16 0, i16 10460, i16 10461, i16 5525, i16 10462, i16 1976, i16 0, i16 0, i16 0, i16 10463, i16 0, i16 975, i16 3130, i16 0, i16 10464, i16 5526, i16 10465, i16 0, i16 3076, i16 0, i16 10466, i16 0, i16 0, i16 10467, i16 10468, i16 2380, i16 6327, i16 3527, i16 0, i16 0, i16 0, i16 0, i16 6330, i16 0, i16 6333, i16 0, i16 0, i16 6331, i16 3116, i16 11722, i16 0, i16 0, i16 11723, i16 0, i16 0, i16 6328, i16 0, i16 0, i16 0, i16 11724, i16 0, i16 1373, i16 0, i16 0, i16 11725, i16 0, i16 6332, i16 0, i16 6584, i16 6585, i16 12161, i16 12162, i16 0, i16 12163, i16 3049, i16 1736, i16 1938, i16 6586, i16 0, i16 6587, i16 3569, i16 2004, i16 3455, i16 3609, i16 6588, i16 1375, i16 0, i16 12164, i16 12165, i16 0, i16 6589, i16 12166, i16 2722, i16 12167, i16 12168, i16 6592, i16 1115, i16 2198, i16 12169, i16 6590, i16 10936, i16 1550, i16 0, i16 0, i16 838, i16 5859, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10937, i16 10938, i16 5866, i16 10939, i16 5867, i16 10940, i16 10941, i16 2838, i16 0, i16 10942, i16 0, i16 1336, i16 10943, i16 10944, i16 0, i16 5878, i16 2936, i16 10945, i16 0, i16 11448, i16 0, i16 6159, i16 11449, i16 0, i16 0, i16 0, i16 11450, i16 0, i16 0, i16 0, i16 6168, i16 11451, i16 11452, i16 11453, i16 6162, i16 0, i16 11454, i16 0, i16 6170, i16 0, i16 11455, i16 0, i16 0, i16 0, i16 0, i16 3541, i16 6173, i16 0, i16 6164, i16 11456, i16 11457, i16 12216, i16 0, i16 12217, i16 12218, i16 2739, i16 6604, i16 12219, i16 12220, i16 6607, i16 6605, i16 12221, i16 6610, i16 0, i16 12222, i16 12223, i16 12224, i16 6611, i16 12225, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6603, i16 12226, i16 12227, i16 6616, i16 923, i16 12228, i16 12229, i16 6602, i16 0, i16 7865, i16 832, i16 4007, i16 0, i16 0, i16 3999, i16 4000, i16 0, i16 2066, i16 3356, i16 7866, i16 0, i16 7867, i16 4005, i16 4004, i16 7868, i16 0, i16 0, i16 2734, i16 0, i16 0, i16 0, i16 7869, i16 0, i16 0, i16 0, i16 4006, i16 0, i16 7870, i16 4003, i16 7871, i16 7872, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 0, i16 687, i16 7156, i16 7157, i16 7158, i16 7159, i16 7160, i16 7161, i16 7162, i16 7163, i16 7164, i16 7165, i16 7166, i16 0, i16 7167, i16 7168, i16 2490, i16 4430, i16 0, i16 0, i16 8646, i16 1277, i16 4440, i16 2262, i16 908, i16 4434, i16 1021, i16 4439, i16 0, i16 8647, i16 0, i16 1326, i16 0, i16 4436, i16 0, i16 8648, i16 0, i16 8649, i16 0, i16 0, i16 0, i16 0, i16 4442, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12475, i16 6705, i16 6707, i16 0, i16 12476, i16 6706, i16 12477, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1724, i16 0, i16 0, i16 3792, i16 0, i16 9136, i16 0, i16 9137, i16 1481, i16 3484, i16 0, i16 3283, i16 0, i16 3189, i16 9138, i16 4756, i16 0, i16 0, i16 0, i16 9139, i16 1768, i16 2656, i16 4757, i16 3674, i16 0, i16 9140, i16 0, i16 3313, i16 9141, i16 2636, i16 4758, i16 1213, i16 8124, i16 4126, i16 0, i16 0, i16 2698, i16 0, i16 8125, i16 8126, i16 0, i16 0, i16 1135, i16 0, i16 0, i16 8127, i16 0, i16 7095, i16 904, i16 3272, i16 8128, i16 0, i16 2137, i16 2759, i16 0, i16 0, i16 0, i16 8129, i16 1755, i16 0, i16 0, i16 4132, i16 0, i16 8130, i16 5309, i16 0, i16 3122, i16 5310, i16 10082, i16 0, i16 1125, i16 5311, i16 10083, i16 5312, i16 10084, i16 10085, i16 0, i16 0, i16 5313, i16 10086, i16 5315, i16 5316, i16 5314, i16 0, i16 10087, i16 0, i16 3146, i16 5318, i16 5317, i16 0, i16 10088, i16 10089, i16 10090, i16 0, i16 0, i16 10091, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 1470, i16 2526, i16 5138, i16 2934, i16 0, i16 9713, i16 5145, i16 9714, i16 9715, i16 0, i16 9716, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5150, i16 5148, i16 0, i16 0, i16 5151, i16 0, i16 9717, i16 5154, i16 0, i16 0, i16 9718, i16 5147, i16 7873, i16 7874, i16 0, i16 0, i16 859, i16 7875, i16 1707, i16 2171, i16 7876, i16 7877, i16 0, i16 0, i16 7878, i16 7879, i16 7880, i16 4001, i16 2785, i16 0, i16 0, i16 0, i16 4002, i16 7881, i16 747, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1474, i16 1874, i16 0, i16 1362, i16 9412, i16 0, i16 0, i16 937, i16 9413, i16 0, i16 0, i16 9414, i16 9415, i16 0, i16 0, i16 9416, i16 0, i16 0, i16 3534, i16 0, i16 0, i16 9417, i16 9418, i16 4956, i16 4955, i16 4958, i16 1244, i16 9419, i16 0, i16 1363, i16 1151, i16 9420, i16 3523, i16 3682, i16 0, i16 1636, i16 5824, i16 1925, i16 5823, i16 10884, i16 10885, i16 0, i16 10886, i16 5825, i16 1882, i16 10887, i16 10888, i16 10889, i16 2486, i16 10890, i16 5826, i16 10891, i16 10892, i16 1635, i16 10893, i16 3432, i16 5827, i16 5828, i16 0, i16 0, i16 5829, i16 10894, i16 10895, i16 10896, i16 11971, i16 11972, i16 6492, i16 11973, i16 1104, i16 6491, i16 6496, i16 11974, i16 0, i16 6495, i16 0, i16 0, i16 6494, i16 2737, i16 6497, i16 11975, i16 0, i16 11976, i16 11977, i16 11978, i16 11979, i16 11980, i16 0, i16 6498, i16 11981, i16 0, i16 0, i16 0, i16 6499, i16 11982, i16 11983, i16 1667, i16 3012, i16 10118, i16 3108, i16 0, i16 5339, i16 3577, i16 1448, i16 5340, i16 0, i16 5338, i16 3055, i16 5341, i16 0, i16 5342, i16 0, i16 10119, i16 804, i16 10120, i16 0, i16 2147, i16 5347, i16 0, i16 5344, i16 2890, i16 5343, i16 10121, i16 10122, i16 10123, i16 10124, i16 10125, i16 10126, i16 1221, i16 4804, i16 1472, i16 1446, i16 2796, i16 9208, i16 9209, i16 4802, i16 0, i16 783, i16 0, i16 9210, i16 0, i16 9211, i16 4805, i16 4807, i16 0, i16 1354, i16 1415, i16 9193, i16 1149, i16 1258, i16 9212, i16 0, i16 9213, i16 9214, i16 4810, i16 0, i16 9215, i16 1774, i16 3364, i16 0, i16 1802, i16 8900, i16 759, i16 0, i16 4625, i16 0, i16 8901, i16 0, i16 0, i16 0, i16 4622, i16 8902, i16 0, i16 8903, i16 0, i16 1209, i16 0, i16 0, i16 0, i16 8904, i16 8905, i16 910, i16 8906, i16 4628, i16 0, i16 8907, i16 8908, i16 3512, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2501, i16 2430, i16 12015, i16 2821, i16 12016, i16 6516, i16 1268, i16 0, i16 12017, i16 0, i16 0, i16 6525, i16 12018, i16 6522, i16 6535, i16 2822, i16 2595, i16 6519, i16 0, i16 2719, i16 2770, i16 6520, i16 6524, i16 2219, i16 12019, i16 2978, i16 2669, i16 12020, i16 0, i16 2283, i16 6523, i16 2451, i16 4550, i16 8780, i16 0, i16 8781, i16 8782, i16 0, i16 0, i16 8783, i16 4551, i16 4552, i16 3263, i16 0, i16 4554, i16 4553, i16 1998, i16 0, i16 2263, i16 1003, i16 1025, i16 8784, i16 4555, i16 8785, i16 776, i16 0, i16 0, i16 0, i16 2293, i16 4556, i16 8786, i16 6377, i16 4557, i16 1468, i16 12230, i16 12231, i16 3014, i16 0, i16 6606, i16 12232, i16 2125, i16 12233, i16 12234, i16 12235, i16 0, i16 0, i16 0, i16 0, i16 12236, i16 12237, i16 12238, i16 1650, i16 0, i16 0, i16 0, i16 12239, i16 12240, i16 12241, i16 12242, i16 12243, i16 0, i16 12244, i16 12245, i16 12246, i16 3323, i16 12247, i16 1479, i16 11505, i16 6195, i16 11506, i16 6194, i16 11507, i16 1983, i16 0, i16 11508, i16 11509, i16 11510, i16 11511, i16 1643, i16 5033, i16 11512, i16 0, i16 0, i16 11513, i16 6196, i16 2016, i16 0, i16 11514, i16 11515, i16 1052, i16 11516, i16 6197, i16 11517, i16 889, i16 11518, i16 2116, i16 6198, i16 11519, i16 968, i16 0, i16 0, i16 3649, i16 7705, i16 7706, i16 7707, i16 7708, i16 0, i16 2052, i16 2775, i16 1660, i16 3900, i16 3901, i16 0, i16 7709, i16 7710, i16 3634, i16 0, i16 0, i16 3670, i16 3903, i16 7711, i16 7712, i16 7713, i16 1587, i16 7714, i16 7715, i16 3902, i16 7716, i16 1042, i16 0, i16 1224, i16 0, i16 10478, i16 10479, i16 0, i16 0, i16 0, i16 10480, i16 5531, i16 10481, i16 10482, i16 2713, i16 10483, i16 5532, i16 2288, i16 0, i16 0, i16 10484, i16 0, i16 0, i16 3390, i16 10485, i16 0, i16 3098, i16 5533, i16 5534, i16 2584, i16 10486, i16 3604, i16 0, i16 10487, i16 5536, i16 2248, i16 1192, i16 0, i16 0, i16 3497, i16 1010, i16 1991, i16 1556, i16 0, i16 6739, i16 12524, i16 6738, i16 1862, i16 6740, i16 6737, i16 0, i16 0, i16 1787, i16 12525, i16 0, i16 0, i16 6744, i16 6167, i16 0, i16 12527, i16 3952, i16 12528, i16 2242, i16 6742, i16 12529, i16 12530, i16 12531, i16 1225, i16 0, i16 5685, i16 10699, i16 3460, i16 1631, i16 5684, i16 10700, i16 10701, i16 10702, i16 5688, i16 3447, i16 0, i16 2935, i16 0, i16 10703, i16 3114, i16 10704, i16 10705, i16 10706, i16 2034, i16 5687, i16 10707, i16 1924, i16 1632, i16 1849, i16 1288, i16 3211, i16 5686, i16 10708, i16 10709, i16 0, i16 1737, i16 5235, i16 5234, i16 0, i16 9880, i16 0, i16 0, i16 5236, i16 0, i16 9881, i16 0, i16 0, i16 0, i16 9882, i16 9883, i16 0, i16 0, i16 0, i16 5237, i16 9884, i16 0, i16 0, i16 5238, i16 0, i16 0, i16 0, i16 0, i16 9885, i16 0, i16 0, i16 0, i16 0, i16 1993, i16 2201, i16 3740, i16 7401, i16 3738, i16 0, i16 3739, i16 1271, i16 0, i16 0, i16 1688, i16 1013, i16 0, i16 3737, i16 3736, i16 3198, i16 7402, i16 0, i16 0, i16 0, i16 1817, i16 1816, i16 2467, i16 3741, i16 3148, i16 2320, i16 7403, i16 7404, i16 0, i16 245, i16 3742, i16 3744, i16 10953, i16 0, i16 0, i16 5870, i16 10954, i16 0, i16 0, i16 10955, i16 0, i16 5869, i16 0, i16 0, i16 10956, i16 0, i16 0, i16 5871, i16 10957, i16 2537, i16 0, i16 2937, i16 0, i16 10958, i16 0, i16 0, i16 0, i16 2642, i16 10959, i16 0, i16 10960, i16 0, i16 5875, i16 0, i16 714, i16 725, i16 715, i16 726, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 716, i16 0, i16 0, i16 727, i16 717, i16 0, i16 0, i16 728, i16 719, i16 0, i16 0, i16 730, i16 718, i16 0, i16 0, i16 729, i16 720, i16 741, i16 0, i16 0, i16 2762, i16 1913, i16 8396, i16 8397, i16 2399, i16 3561, i16 0, i16 8398, i16 8399, i16 8400, i16 0, i16 0, i16 4278, i16 8401, i16 4279, i16 2867, i16 8402, i16 1798, i16 0, i16 0, i16 8403, i16 8404, i16 4281, i16 0, i16 0, i16 4282, i16 8405, i16 8406, i16 8407, i16 8408, i16 0, i16 0, i16 8650, i16 4444, i16 4454, i16 4452, i16 0, i16 0, i16 4449, i16 8651, i16 8652, i16 8653, i16 4448, i16 3653, i16 8654, i16 4450, i16 0, i16 0, i16 1327, i16 8655, i16 1608, i16 0, i16 8656, i16 2057, i16 8657, i16 8658, i16 0, i16 4457, i16 4443, i16 0, i16 0, i16 8659, i16 0, i16 4447, i16 6348, i16 11745, i16 0, i16 1809, i16 11746, i16 11747, i16 0, i16 0, i16 0, i16 0, i16 4696, i16 11748, i16 6349, i16 11749, i16 6350, i16 11750, i16 1985, i16 0, i16 6351, i16 6352, i16 11751, i16 11752, i16 6353, i16 0, i16 0, i16 6354, i16 6355, i16 0, i16 11753, i16 0, i16 11754, i16 11755, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 482, i16 483, i16 484, i16 485, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 10190, i16 10191, i16 3602, i16 10192, i16 10193, i16 10194, i16 5392, i16 5390, i16 5391, i16 10195, i16 10189, i16 10196, i16 1187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3471, i16 0, i16 0, i16 10197, i16 3231, i16 0, i16 5394, i16 10198, i16 0, i16 0, i16 5393, i16 0, i16 0, i16 10199, i16 11214, i16 6043, i16 11215, i16 0, i16 2594, i16 0, i16 6044, i16 11216, i16 11217, i16 3525, i16 6033, i16 1051, i16 11218, i16 6039, i16 0, i16 11219, i16 6042, i16 3389, i16 0, i16 11220, i16 0, i16 0, i16 6045, i16 0, i16 0, i16 6038, i16 6041, i16 0, i16 11221, i16 0, i16 0, i16 0, i16 8145, i16 8146, i16 0, i16 1322, i16 0, i16 4134, i16 0, i16 8147, i16 8148, i16 8149, i16 8150, i16 0, i16 8151, i16 8152, i16 0, i16 8153, i16 8154, i16 0, i16 0, i16 3261, i16 8155, i16 0, i16 8156, i16 2436, i16 0, i16 0, i16 0, i16 0, i16 2663, i16 8157, i16 0, i16 4136, i16 9937, i16 0, i16 0, i16 2002, i16 0, i16 0, i16 9938, i16 9939, i16 5269, i16 9940, i16 5268, i16 9941, i16 9942, i16 0, i16 9943, i16 9944, i16 5270, i16 9945, i16 1072, i16 0, i16 0, i16 5272, i16 0, i16 9946, i16 5271, i16 9947, i16 5274, i16 5273, i16 9948, i16 0, i16 0, i16 0, i16 11986, i16 11987, i16 0, i16 6505, i16 11988, i16 11989, i16 11990, i16 3899, i16 3898, i16 0, i16 0, i16 0, i16 0, i16 6506, i16 5764, i16 6507, i16 2535, i16 2166, i16 2939, i16 0, i16 0, i16 11991, i16 11992, i16 6508, i16 11993, i16 0, i16 3242, i16 2677, i16 1685, i16 0, i16 11994, i16 2540, i16 3539, i16 0, i16 0, i16 0, i16 9581, i16 5066, i16 5060, i16 5057, i16 9582, i16 0, i16 9583, i16 3617, i16 5063, i16 0, i16 9584, i16 9585, i16 0, i16 2009, i16 5065, i16 0, i16 0, i16 5070, i16 9586, i16 0, i16 2800, i16 5068, i16 0, i16 9587, i16 0, i16 9588, i16 5062, i16 9589, i16 1236, i16 0, i16 3722, i16 0, i16 0, i16 3723, i16 3592, i16 0, i16 3500, i16 2415, i16 3725, i16 1865, i16 2896, i16 7395, i16 3728, i16 0, i16 0, i16 869, i16 1560, i16 0, i16 1559, i16 815, i16 7396, i16 7397, i16 3702, i16 3701, i16 0, i16 1704, i16 746, i16 7398, i16 3729, i16 3730, i16 8916, i16 0, i16 8917, i16 0, i16 8918, i16 8919, i16 4634, i16 0, i16 4638, i16 8920, i16 8921, i16 0, i16 3035, i16 2794, i16 0, i16 8922, i16 8923, i16 0, i16 0, i16 0, i16 4631, i16 8924, i16 4635, i16 0, i16 0, i16 0, i16 1443, i16 0, i16 0, i16 8925, i16 1766, i16 8926, i16 9428, i16 4968, i16 1842, i16 2270, i16 1686, i16 0, i16 3175, i16 9429, i16 0, i16 3255, i16 3695, i16 9430, i16 0, i16 0, i16 9431, i16 1864, i16 9432, i16 0, i16 0, i16 1733, i16 3647, i16 9433, i16 0, i16 0, i16 4969, i16 4970, i16 0, i16 1843, i16 0, i16 9434, i16 9435, i16 4971, i16 12756, i16 0, i16 12757, i16 12758, i16 12759, i16 0, i16 0, i16 12760, i16 2482, i16 0, i16 0, i16 6870, i16 0, i16 12761, i16 12762, i16 0, i16 2826, i16 0, i16 0, i16 12763, i16 0, i16 12764, i16 12765, i16 6871, i16 12766, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6876, i16 0, i16 7381, i16 7382, i16 3719, i16 2928, i16 7383, i16 1270, i16 0, i16 7384, i16 0, i16 0, i16 0, i16 2930, i16 0, i16 2880, i16 1532, i16 3302, i16 0, i16 7385, i16 0, i16 0, i16 0, i16 6101, i16 3720, i16 2133, i16 3721, i16 954, i16 7386, i16 0, i16 7387, i16 1378, i16 1577, i16 3450, i16 1238, i16 3818, i16 3819, i16 7595, i16 948, i16 0, i16 7596, i16 7597, i16 7598, i16 3817, i16 0, i16 7599, i16 7600, i16 7601, i16 7602, i16 0, i16 7604, i16 0, i16 1957, i16 0, i16 3822, i16 3821, i16 3820, i16 7605, i16 3764, i16 7606, i16 3823, i16 7607, i16 7608, i16 7609, i16 7610, i16 2061, i16 10967, i16 10968, i16 0, i16 0, i16 0, i16 5881, i16 5882, i16 10969, i16 10970, i16 10971, i16 0, i16 1953, i16 0, i16 10972, i16 5880, i16 10973, i16 1679, i16 5879, i16 0, i16 0, i16 5883, i16 0, i16 0, i16 10974, i16 2643, i16 3191, i16 2346, i16 0, i16 0, i16 0, i16 0, i16 2497, i16 3800, i16 7547, i16 0, i16 7548, i16 7549, i16 3802, i16 7550, i16 0, i16 0, i16 0, i16 7551, i16 0, i16 0, i16 3304, i16 7552, i16 7553, i16 7554, i16 1473, i16 7555, i16 7556, i16 7557, i16 0, i16 7558, i16 0, i16 1796, i16 3088, i16 3801, i16 7559, i16 7560, i16 0, i16 7561, i16 7562, i16 4569, i16 0, i16 0, i16 4567, i16 8807, i16 0, i16 0, i16 0, i16 4570, i16 0, i16 0, i16 0, i16 0, i16 8808, i16 3206, i16 8809, i16 0, i16 768, i16 0, i16 8810, i16 0, i16 0, i16 3157, i16 0, i16 0, i16 3068, i16 8811, i16 0, i16 4571, i16 8812, i16 4574, i16 2082, i16 4825, i16 9235, i16 2092, i16 9236, i16 0, i16 9237, i16 4163, i16 1569, i16 3563, i16 9238, i16 9239, i16 0, i16 0, i16 4816, i16 9240, i16 2709, i16 1030, i16 1698, i16 9241, i16 4808, i16 0, i16 4824, i16 1092, i16 0, i16 0, i16 4822, i16 4826, i16 9242, i16 2797, i16 0, i16 0, i16 0, i16 9177, i16 2477, i16 9178, i16 9179, i16 3222, i16 9180, i16 4798, i16 0, i16 9181, i16 9182, i16 3097, i16 0, i16 0, i16 0, i16 4797, i16 2987, i16 3314, i16 1148, i16 9183, i16 2336, i16 1999, i16 0, i16 0, i16 9184, i16 2676, i16 9185, i16 3485, i16 0, i16 9186, i16 4793, i16 4792, i16 0, i16 1242, i16 0, i16 4572, i16 4579, i16 2083, i16 0, i16 0, i16 0, i16 0, i16 4573, i16 2943, i16 0, i16 0, i16 8813, i16 8814, i16 8815, i16 8816, i16 3533, i16 4575, i16 4576, i16 4580, i16 2793, i16 4577, i16 1610, i16 2311, i16 0, i16 0, i16 4594, i16 3021, i16 0, i16 2519, i16 0, i16 6874, i16 12768, i16 6873, i16 6875, i16 12769, i16 6872, i16 0, i16 12767, i16 0, i16 0, i16 12770, i16 12771, i16 12772, i16 6878, i16 12773, i16 0, i16 0, i16 12774, i16 0, i16 0, i16 12775, i16 6877, i16 12776, i16 6880, i16 0, i16 0, i16 1344, i16 6879, i16 0, i16 12777, i16 0, i16 6881, i16 11995, i16 11996, i16 849, i16 0, i16 3371, i16 2210, i16 11997, i16 0, i16 0, i16 0, i16 11998, i16 11999, i16 0, i16 12000, i16 1465, i16 0, i16 12001, i16 1374, i16 12002, i16 12003, i16 3243, i16 12004, i16 0, i16 0, i16 0, i16 0, i16 6509, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1245, i16 0, i16 5239, i16 0, i16 0, i16 0, i16 0, i16 5240, i16 9886, i16 0, i16 0, i16 0, i16 1501, i16 9887, i16 9888, i16 3041, i16 0, i16 9889, i16 5242, i16 0, i16 9890, i16 0, i16 2146, i16 0, i16 0, i16 5241, i16 0, i16 0, i16 0, i16 0, i16 9891, i16 0, i16 7901, i16 7902, i16 0, i16 4010, i16 7903, i16 0, i16 7904, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4025, i16 4030, i16 0, i16 4026, i16 7905, i16 9949, i16 9950, i16 0, i16 9951, i16 1525, i16 9952, i16 9953, i16 3573, i16 0, i16 1353, i16 0, i16 939, i16 0, i16 0, i16 9954, i16 0, i16 9955, i16 0, i16 0, i16 9956, i16 0, i16 9957, i16 1383, i16 9958, i16 9959, i16 0, i16 0, i16 0, i16 9960, i16 0, i16 9961, i16 9962, i16 222, i16 223, i16 224, i16 244, i16 0, i16 246, i16 247, i16 248, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 324, i16 329, i16 265, i16 266, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 254, i16 0, i16 0, i16 0, i16 4062, i16 0, i16 0, i16 0, i16 7982, i16 7983, i16 4061, i16 1064, i16 7984, i16 0, i16 4063, i16 7985, i16 7986, i16 0, i16 0, i16 4066, i16 0, i16 0, i16 0, i16 0, i16 4065, i16 7987, i16 0, i16 0, i16 0, i16 7988, i16 7989, i16 0, i16 0, i16 7990, i16 7991, i16 7992, i16 8158, i16 8159, i16 8160, i16 0, i16 0, i16 0, i16 8161, i16 0, i16 3330, i16 8162, i16 0, i16 4137, i16 0, i16 0, i16 4142, i16 0, i16 0, i16 8163, i16 8164, i16 3204, i16 0, i16 0, i16 0, i16 0, i16 4141, i16 4135, i16 4138, i16 4140, i16 8166, i16 0, i16 1691, i16 0, i16 10718, i16 10719, i16 1977, i16 1527, i16 2383, i16 5689, i16 5695, i16 10720, i16 10721, i16 0, i16 0, i16 5690, i16 1451, i16 10722, i16 5698, i16 5702, i16 1478, i16 10723, i16 0, i16 10724, i16 0, i16 0, i16 5697, i16 10725, i16 0, i16 10726, i16 10727, i16 5706, i16 10728, i16 10729, i16 1633, i16 0, i16 736, i16 0, i16 0, i16 731, i16 722, i16 743, i16 0, i16 0, i16 738, i16 0, i16 0, i16 733, i16 721, i16 0, i16 0, i16 737, i16 742, i16 0, i16 0, i16 732, i16 723, i16 0, i16 0, i16 739, i16 744, i16 0, i16 0, i16 734, i16 724, i16 0, i16 0, i16 740, i16 2784, i16 7664, i16 7665, i16 2202, i16 3871, i16 7666, i16 3201, i16 2307, i16 1123, i16 0, i16 1130, i16 3872, i16 0, i16 0, i16 3874, i16 0, i16 0, i16 1429, i16 7667, i16 7668, i16 3873, i16 7669, i16 7670, i16 3648, i16 7671, i16 0, i16 0, i16 0, i16 0, i16 2040, i16 0, i16 0, i16 4064, i16 0, i16 2932, i16 0, i16 0, i16 4067, i16 7993, i16 7994, i16 7995, i16 7996, i16 0, i16 7997, i16 7998, i16 7999, i16 4068, i16 0, i16 0, i16 8000, i16 0, i16 8001, i16 4070, i16 0, i16 4069, i16 8002, i16 0, i16 0, i16 0, i16 0, i16 4072, i16 0, i16 8003, i16 0, i16 8416, i16 945, i16 8417, i16 8418, i16 0, i16 0, i16 8419, i16 0, i16 2370, i16 1189, i16 8420, i16 4287, i16 3385, i16 0, i16 0, i16 0, i16 0, i16 2487, i16 8421, i16 1084, i16 8422, i16 8423, i16 4289, i16 4291, i16 1184, i16 0, i16 8424, i16 4288, i16 4290, i16 0, i16 4293, i16 0, i16 9441, i16 0, i16 9442, i16 9443, i16 4979, i16 0, i16 0, i16 0, i16 9444, i16 9445, i16 4980, i16 4981, i16 9446, i16 9447, i16 9448, i16 4982, i16 9449, i16 4984, i16 4983, i16 4985, i16 938, i16 2573, i16 0, i16 4986, i16 9450, i16 9451, i16 1785, i16 1071, i16 4987, i16 9452, i16 9453, i16 2753, i16 12257, i16 0, i16 0, i16 0, i16 12258, i16 12259, i16 0, i16 12260, i16 12261, i16 0, i16 0, i16 12262, i16 0, i16 2355, i16 0, i16 12263, i16 0, i16 0, i16 12264, i16 0, i16 0, i16 0, i16 12265, i16 6619, i16 12266, i16 6618, i16 12267, i16 12268, i16 12269, i16 12270, i16 0, i16 12271, i16 10469, i16 5529, i16 10470, i16 5530, i16 2980, i16 10471, i16 2188, i16 5527, i16 0, i16 2596, i16 10472, i16 10473, i16 5528, i16 10474, i16 0, i16 0, i16 2107, i16 10475, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10476, i16 0, i16 0, i16 805, i16 10477, i16 0, i16 0, i16 0, i16 12005, i16 0, i16 6511, i16 12006, i16 12007, i16 6510, i16 997, i16 0, i16 12008, i16 2899, i16 6512, i16 2994, i16 0, i16 2738, i16 12009, i16 6513, i16 2017, i16 12010, i16 0, i16 0, i16 6515, i16 12011, i16 12012, i16 3411, i16 6530, i16 6517, i16 6518, i16 12013, i16 0, i16 2666, i16 12014, i16 0, i16 1254, i16 0, i16 12579, i16 6786, i16 0, i16 0, i16 6785, i16 0, i16 6784, i16 0, i16 0, i16 6329, i16 12580, i16 3249, i16 12581, i16 0, i16 0, i16 12582, i16 12583, i16 6787, i16 6788, i16 12584, i16 12585, i16 0, i16 12586, i16 12587, i16 12588, i16 0, i16 12589, i16 0, i16 12590, i16 12591, i16 9702, i16 5142, i16 0, i16 5141, i16 5143, i16 9703, i16 9704, i16 9705, i16 9706, i16 0, i16 5146, i16 0, i16 0, i16 0, i16 9707, i16 9708, i16 9709, i16 2754, i16 0, i16 5140, i16 0, i16 9710, i16 9711, i16 0, i16 0, i16 5144, i16 0, i16 0, i16 9712, i16 0, i16 0, i16 0, i16 2280, i16 6299, i16 0, i16 6304, i16 1574, i16 6301, i16 6302, i16 11686, i16 6298, i16 11687, i16 0, i16 0, i16 2315, i16 2854, i16 11688, i16 11689, i16 2546, i16 0, i16 994, i16 11690, i16 0, i16 0, i16 11691, i16 11692, i16 0, i16 3081, i16 0, i16 11693, i16 1250, i16 0, i16 11694, i16 2645, i16 10216, i16 0, i16 10217, i16 10218, i16 10219, i16 10220, i16 10221, i16 10222, i16 10223, i16 0, i16 10224, i16 0, i16 0, i16 10225, i16 3074, i16 0, i16 5416, i16 0, i16 0, i16 0, i16 5417, i16 0, i16 0, i16 7073, i16 5418, i16 5419, i16 5420, i16 0, i16 0, i16 10226, i16 0, i16 1793, i16 6633, i16 0, i16 0, i16 0, i16 12337, i16 12338, i16 0, i16 12339, i16 0, i16 12340, i16 12341, i16 0, i16 1416, i16 12342, i16 6635, i16 12343, i16 12344, i16 12345, i16 0, i16 12346, i16 12347, i16 1513, i16 12348, i16 0, i16 0, i16 0, i16 12349, i16 0, i16 6634, i16 12350, i16 2126, i16 12351, i16 8938, i16 8939, i16 0, i16 8940, i16 0, i16 0, i16 0, i16 4640, i16 0, i16 3347, i16 0, i16 0, i16 0, i16 8941, i16 0, i16 4641, i16 0, i16 0, i16 0, i16 8942, i16 8943, i16 0, i16 4642, i16 0, i16 3423, i16 0, i16 2251, i16 8944, i16 0, i16 8945, i16 0, i16 0, i16 235, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 269, i16 256, i16 270, i16 7109, i16 0, i16 4075, i16 4073, i16 4071, i16 4074, i16 0, i16 8004, i16 0, i16 0, i16 4076, i16 8005, i16 8006, i16 8007, i16 8010, i16 8011, i16 4077, i16 8008, i16 8009, i16 4078, i16 0, i16 4079, i16 0, i16 0, i16 0, i16 4080, i16 3841, i16 8012, i16 1965, i16 1824, i16 8013, i16 8014, i16 1016, i16 8015, i16 6891, i16 12790, i16 0, i16 12791, i16 2236, i16 0, i16 12792, i16 0, i16 12793, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12794, i16 6892, i16 12795, i16 6893, i16 12796, i16 6894, i16 6895, i16 12797, i16 12798, i16 12799, i16 1657, i16 0, i16 0, i16 12800, i16 12801, i16 0, i16 6896, i16 6897, i16 9963, i16 0, i16 9964, i16 0, i16 0, i16 9965, i16 9966, i16 0, i16 0, i16 1186, i16 9967, i16 9968, i16 0, i16 9969, i16 0, i16 0, i16 0, i16 0, i16 3637, i16 5276, i16 0, i16 9970, i16 0, i16 9971, i16 0, i16 9972, i16 0, i16 5278, i16 9973, i16 9974, i16 0, i16 9975, i16 7405, i16 7406, i16 7407, i16 2506, i16 3630, i16 787, i16 0, i16 0, i16 7408, i16 0, i16 0, i16 0, i16 0, i16 3743, i16 963, i16 7409, i16 1345, i16 7410, i16 2602, i16 7411, i16 0, i16 7412, i16 1482, i16 3745, i16 0, i16 0, i16 0, i16 2911, i16 0, i16 7413, i16 7414, i16 7415, i16 494, i16 495, i16 496, i16 497, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 232, i16 233, i16 242, i16 243, i16 0, i16 750, i16 3137, i16 3994, i16 0, i16 3990, i16 0, i16 7861, i16 3985, i16 3991, i16 1725, i16 7862, i16 0, i16 0, i16 7863, i16 7864, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3998, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12272, i16 12273, i16 12274, i16 12275, i16 0, i16 12276, i16 12277, i16 12278, i16 12279, i16 0, i16 0, i16 12280, i16 12281, i16 12282, i16 12283, i16 6617, i16 12284, i16 0, i16 3298, i16 12285, i16 0, i16 12286, i16 0, i16 12287, i16 12288, i16 12289, i16 0, i16 0, i16 12290, i16 12291, i16 0, i16 12292, i16 1009, i16 6386, i16 3667, i16 2659, i16 3696, i16 11796, i16 11797, i16 1860, i16 6385, i16 11798, i16 2454, i16 11799, i16 0, i16 6402, i16 2351, i16 11800, i16 0, i16 2901, i16 0, i16 3143, i16 0, i16 11802, i16 11801, i16 0, i16 0, i16 11803, i16 6389, i16 1810, i16 1861, i16 11804, i16 2123, i16 0, i16 4849, i16 4836, i16 0, i16 4846, i16 0, i16 9254, i16 0, i16 4840, i16 9255, i16 0, i16 9256, i16 9257, i16 9258, i16 9259, i16 2180, i16 4850, i16 9260, i16 9261, i16 2268, i16 0, i16 0, i16 9262, i16 9263, i16 0, i16 0, i16 4848, i16 1150, i16 9264, i16 9265, i16 9266, i16 0, i16 0, i16 13041, i16 0, i16 0, i16 0, i16 0, i16 13042, i16 7028, i16 13043, i16 0, i16 13044, i16 0, i16 13045, i16 0, i16 7029, i16 13046, i16 7030, i16 13047, i16 0, i16 3700, i16 13048, i16 13049, i16 0, i16 0, i16 0, i16 7027, i16 2512, i16 1762, i16 0, i16 0, i16 7031, i16 13050, i16 0, i16 6130, i16 0, i16 3293, i16 6131, i16 11395, i16 11396, i16 6128, i16 11397, i16 6129, i16 6134, i16 6137, i16 11398, i16 0, i16 6135, i16 11399, i16 11400, i16 11401, i16 6133, i16 6127, i16 11402, i16 11403, i16 0, i16 0, i16 0, i16 2587, i16 11404, i16 6144, i16 0, i16 3387, i16 0, i16 11405, i16 11406, i16 4083, i16 8027, i16 8028, i16 3253, i16 4085, i16 0, i16 0, i16 8029, i16 4087, i16 4086, i16 8030, i16 4088, i16 8031, i16 4089, i16 0, i16 1490, i16 0, i16 8032, i16 903, i16 4090, i16 0, i16 8033, i16 4092, i16 0, i16 4091, i16 0, i16 8034, i16 8035, i16 4094, i16 8036, i16 0, i16 2777, i16 3830, i16 829, i16 7623, i16 1518, i16 1430, i16 1995, i16 2622, i16 1313, i16 2321, i16 1584, i16 7624, i16 1669, i16 3832, i16 3417, i16 2757, i16 7625, i16 1868, i16 0, i16 3831, i16 7626, i16 3833, i16 7627, i16 0, i16 7628, i16 7629, i16 0, i16 2781, i16 0, i16 1112, i16 0, i16 0, i16 7630, i16 3320, i16 897, i16 811, i16 0, i16 2818, i16 11714, i16 11715, i16 6321, i16 0, i16 0, i16 11721, i16 11716, i16 6320, i16 0, i16 2883, i16 0, i16 6325, i16 11717, i16 0, i16 0, i16 6314, i16 0, i16 6324, i16 6326, i16 0, i16 1509, i16 6322, i16 1645, i16 11718, i16 1926, i16 11719, i16 11720, i16 3576, i16 1731, i16 2552, i16 4614, i16 8885, i16 2309, i16 8886, i16 1612, i16 2223, i16 909, i16 2371, i16 4612, i16 1252, i16 8887, i16 8888, i16 8889, i16 0, i16 0, i16 1442, i16 0, i16 2672, i16 4618, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2406, i16 0, i16 8890, i16 4621, i16 0, i16 7416, i16 1196, i16 7417, i16 7418, i16 0, i16 0, i16 0, i16 0, i16 7419, i16 3746, i16 788, i16 7420, i16 7421, i16 1561, i16 1197, i16 3185, i16 3019, i16 1272, i16 7422, i16 0, i16 0, i16 7423, i16 7424, i16 7425, i16 0, i16 7426, i16 1014, i16 0, i16 3781, i16 2752, i16 0, i16 0, i16 1529, i16 0, i16 2716, i16 6278, i16 11631, i16 11632, i16 0, i16 11633, i16 1458, i16 0, i16 2209, i16 0, i16 6281, i16 0, i16 2817, i16 11634, i16 6280, i16 11635, i16 11636, i16 1420, i16 11637, i16 11638, i16 6279, i16 2524, i16 1228, i16 0, i16 0, i16 6282, i16 0, i16 6283, i16 11639, i16 2118, i16 2041, i16 4564, i16 8795, i16 8796, i16 8797, i16 0, i16 8798, i16 2329, i16 6559, i16 3067, i16 0, i16 1947, i16 8799, i16 1730, i16 4565, i16 0, i16 8800, i16 8801, i16 8802, i16 2476, i16 8803, i16 3196, i16 8804, i16 0, i16 2518, i16 0, i16 8805, i16 4568, i16 8806, i16 0, i16 4566, i16 0, i16 10235, i16 5426, i16 0, i16 1159, i16 3056, i16 5427, i16 10236, i16 5428, i16 10237, i16 0, i16 5429, i16 0, i16 10238, i16 0, i16 3437, i16 0, i16 10239, i16 10240, i16 3430, i16 0, i16 2655, i16 0, i16 10241, i16 0, i16 2417, i16 10242, i16 0, i16 5431, i16 10243, i16 0, i16 2033, i16 0, i16 5628, i16 10657, i16 0, i16 10658, i16 5652, i16 5654, i16 0, i16 10659, i16 0, i16 10660, i16 0, i16 0, i16 5655, i16 10661, i16 10662, i16 0, i16 10663, i16 0, i16 10664, i16 3227, i16 0, i16 5656, i16 0, i16 0, i16 0, i16 10665, i16 0, i16 0, i16 10666, i16 10667, i16 3443, i16 0, i16 3325, i16 7813, i16 0, i16 0, i16 0, i16 0, i16 3062, i16 7814, i16 7815, i16 3968, i16 7816, i16 1183, i16 3963, i16 3964, i16 3966, i16 7817, i16 0, i16 7818, i16 0, i16 0, i16 7819, i16 7820, i16 3967, i16 0, i16 1274, i16 2220, i16 0, i16 3202, i16 3965, i16 3961, i16 1564, i16 0, i16 5629, i16 10622, i16 10623, i16 10624, i16 10625, i16 0, i16 10626, i16 5630, i16 0, i16 10627, i16 0, i16 10628, i16 10629, i16 5635, i16 10630, i16 10631, i16 0, i16 5624, i16 3951, i16 5631, i16 5625, i16 0, i16 0, i16 5634, i16 0, i16 10632, i16 0, i16 10633, i16 0, i16 0, i16 0, i16 5640, i16 4350, i16 0, i16 0, i16 4349, i16 4348, i16 3188, i16 0, i16 4357, i16 0, i16 8514, i16 0, i16 8512, i16 3341, i16 0, i16 4351, i16 0, i16 8513, i16 8515, i16 0, i16 0, i16 4353, i16 3358, i16 8516, i16 4352, i16 8517, i16 0, i16 0, i16 8518, i16 8519, i16 0, i16 8520, i16 4354, i16 9726, i16 5159, i16 0, i16 0, i16 0, i16 9727, i16 9728, i16 9729, i16 0, i16 5155, i16 0, i16 5156, i16 0, i16 9730, i16 0, i16 5160, i16 0, i16 5158, i16 0, i16 0, i16 0, i16 3141, i16 0, i16 9731, i16 5166, i16 0, i16 5163, i16 5162, i16 0, i16 5165, i16 2865, i16 5167, i16 3839, i16 0, i16 3840, i16 7634, i16 7635, i16 2879, i16 902, i16 0, i16 0, i16 3843, i16 1778, i16 7636, i16 3842, i16 1723, i16 7637, i16 3844, i16 5856, i16 3845, i16 3316, i16 3846, i16 0, i16 3847, i16 3848, i16 2134, i16 7638, i16 1917, i16 0, i16 0, i16 0, i16 7639, i16 0, i16 0, i16 5887, i16 10975, i16 5888, i16 5884, i16 10977, i16 10978, i16 10979, i16 0, i16 5885, i16 0, i16 5886, i16 10980, i16 0, i16 0, i16 10981, i16 1640, i16 10976, i16 0, i16 0, i16 5894, i16 0, i16 5890, i16 10982, i16 0, i16 10983, i16 0, i16 3165, i16 10984, i16 3359, i16 3103, i16 10985, i16 0, i16 120, i16 12, i16 25, i16 0, i16 0, i16 5, i16 0, i16 23, i16 156, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 17, i16 157, i16 107, i16 21, i16 147, i16 174, i16 24, i16 0, i16 3, i16 173, i16 137, i16 30, i16 88, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 143, i16 145, i16 8, i16 117, i16 132, i16 0, i16 0, i16 177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 187, i16 95, i16 182, i16 161, i16 129, i16 127, i16 97, i16 135, i16 103, i16 108, i16 83, i16 86, i16 166, i16 139, i16 89, i16 172, i16 56, i16 77, i16 106, i16 162, i16 189, i16 155, i16 41, i16 141, i16 124, i16 28, i16 74, i16 68, i16 113, i16 27, i16 67, i16 85, i16 144, i16 70, i16 126, i16 96, i16 35, i16 61, i16 190, i16 123, i16 176, i16 171, i16 148, i16 183, i16 38, i16 54, i16 142, i16 186, i16 87, i16 75, i16 94, i16 76, i16 32, i16 98, i16 163, i16 20, i16 133, i16 154, i16 66, i16 138, i16 52, i16 101, i16 44, i16 63, i16 19, i16 22, i16 164, i16 191, i16 136, i16 80, i16 65, i16 91, i16 114, i16 181, i16 51, i16 79, i16 184, i16 116, i16 151, i16 92, i16 140, i16 64, i16 167, i16 50, i16 110, i16 130, i16 192, i16 152, i16 100, i16 99, i16 36, i16 93, i16 72, i16 146, i16 131, i16 33, i16 47, i16 119, i16 7, i16 73, i16 185, i16 57, i16 160, i16 150, i16 78, i16 45, i16 118, i16 49, i16 115, i16 29, i16 31, i16 69, i16 188, i16 53, i16 149, i16 121, i16 55, i16 109, i16 82, i16 153, i16 178, i16 90, i16 122, i16 104, i16 6, i16 175, i16 60, i16 59, i16 43, i16 180, i16 125, i16 16, i16 179, i16 102, i16 134, i16 62, i16 37, i16 158, i16 71, i16 40, i16 84, i16 0, i16 1, i16 159, i16 13, i16 81, i16 111, i16 46, i16 105, i16 9, i16 128, i16 18, i16 170, i16 11, i16 15, i16 39, i16 34, i16 2, i16 48, i16 10, i16 14, i16 26, i16 58, i16 42, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 169, i16 112, i16 168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 165, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 84, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1270, i16 1950, i16 0, i16 426, i16 2786, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3365, i16 3389, i16 3410, i16 1975, i16 0, i16 2471, i16 2480, i16 2502, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2924, i16 1668, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 408, i16 0, i16 0, i16 3296, i16 0, i16 3249, i16 1864, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 141, i16 0, i16 51, i16 1513, i16 1049, i16 2968, i16 2294, i16 0, i16 1390, i16 979, i16 0, i16 1886, i16 0, i16 617, i16 0, i16 0, i16 0, i16 1282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 471, i16 2852, i16 0, i16 0, i16 0, i16 0, i16 3275, i16 2769, i16 2449, i16 0, i16 0, i16 0, i16 0, i16 693, i16 657, i16 2725, i16 1421, i16 1123, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1524, i16 2708, i16 2736, i16 2762, i16 2793, i16 2808, i16 2834, i16 2854, i16 2870, i16 2890, i16 2909, i16 2932, i16 2958, i16 2983, i16 3003, i16 3025, i16 3042, i16 3062, i16 3085, i16 3108, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2374, i16 367, i16 1664, i16 0, i16 0, i16 0, i16 0, i16 2342, i16 0, i16 0, i16 0, i16 0, i16 165, i16 2704, i16 1683, i16 0, i16 0, i16 1370, i16 0, i16 2875, i16 0, i16 2939, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1678, i16 423, i16 0, i16 2585, i16 0, i16 0, i16 0, i16 2178, i16 0, i16 0, i16 0, i16 463, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 603, i16 0, i16 3282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2510, i16 0, i16 0, i16 0, i16 2978, i16 0, i16 0, i16 0, i16 0, i16 0, i16 454, i16 3047, i16 2404, i16 0, i16 0, i16 1652, i16 0, i16 628, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1882, i16 3318, i16 2723, i16 1548, i16 2895, i16 3235, i16 3268, i16 2013, i16 0, i16 899, i16 0, i16 0, i16 2999, i16 270, i16 3031, i16 926, i16 0, i16 511, i16 0, i16 0, i16 2064, i16 271, i16 2107, i16 537, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2071, i16 1576, i16 0, i16 1014, i16 610, i16 703, i16 0, i16 89, i16 277, i16 2618, i16 2078, i16 373, i16 2562, i16 2653, i16 0, i16 20, i16 2792, i16 1006, i16 1991, i16 745, i16 0, i16 2504, i16 1920, i16 3246, i16 1187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1040, i16 538, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1639, i16 1552, i16 1656, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1084, i16 0, i16 0, i16 343, i16 947, i16 0, i16 1748, i16 0, i16 0, i16 2269, i16 1677, i16 2648, i16 0, i16 455, i16 0, i16 2224, i16 572, i16 0, i16 0, i16 0, i16 0, i16 272, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 218, i16 2385, i16 42, i16 1008, i16 2883, i16 1666, i16 3317, i16 0, i16 0, i16 0, i16 845, i16 1527, i16 0, i16 966, i16 1411, i16 2278, i16 0, i16 0, i16 0, i16 529, i16 764, i16 1103, i16 2200, i16 446, i16 1517, i16 1958, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1554, i16 2767, i16 2782, i16 2040, i16 1538, i16 0, i16 0, i16 3329, i16 0, i16 320, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2561, i16 0, i16 183, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1077, i16 1744, i16 1381, i16 0, i16 1821, i16 2017, i16 2216, i16 1487, i16 2180, i16 1772, i16 0, i16 1191, i16 0, i16 0, i16 0, i16 2697, i16 1177, i16 1167, i16 1491, i16 0, i16 0, i16 0, i16 1684, i16 1161, i16 0, i16 0, i16 261, i16 0, i16 0, i16 0, i16 0, i16 0, i16 353, i16 1482, i16 385, i16 2859, i16 2317, i16 136, i16 2314, i16 598, i16 2350, i16 2114, i16 3321, i16 177, i16 3325, i16 740, i16 1376, i16 0, i16 564, i16 3237, i16 2522, i16 0, i16 220, i16 451, i16 896, i16 985, i16 0, i16 931, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1514, i16 391, i16 2423, i16 0, i16 1547, i16 0, i16 904, i16 0, i16 3173, i16 265, i16 0, i16 1255, i16 0, i16 406, i16 3030, i16 2947, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2682, i16 0, i16 0, i16 0, i16 90, i16 1190, i16 0, i16 0, i16 0, i16 0, i16 3076, i16 3092, i16 2084, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1002, i16 3212, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3169, i16 789, i16 0, i16 3187, i16 948, i16 1953, i16 530, i16 245, i16 1845, i16 769, i16 646, i16 0, i16 670, i16 2443, i16 1563, i16 2644, i16 1508, i16 2949, i16 0, i16 0, i16 0, i16 0, i16 0, i16 330, i16 0, i16 2594, i16 2182, i16 696, i16 0, i16 0, i16 0, i16 0, i16 1906, i16 3349, i16 3372, i16 3395, i16 3415, i16 1974, i16 1997, i16 0, i16 1128, i16 2030, i16 2057, i16 2085, i16 2106, i16 2126, i16 2152, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 884, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1151, i16 0, i16 0, i16 0, i16 0, i16 907, i16 0, i16 0, i16 1164, i16 0, i16 2089, i16 328, i16 2093, i16 0, i16 1196, i16 0, i16 921, i16 0, i16 0, i16 0, i16 0, i16 929, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 910, i16 152, i16 0, i16 1679, i16 0, i16 1452, i16 0, i16 0, i16 0, i16 1992, i16 65, i16 1016, i16 259, i16 0, i16 0, i16 1174, i16 1900, i16 3026, i16 3184, i16 2125, i16 0, i16 0, i16 2720, i16 0, i16 0, i16 3373, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2737, i16 0, i16 0, i16 0, i16 1427, i16 0, i16 1750, i16 2491, i16 1564, i16 1184, i16 2996, i16 889, i16 3105, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1290, i16 0, i16 3191, i16 0, i16 2844, i16 401, i16 3231, i16 3156, i16 241, i16 1896, i16 0, i16 0, i16 0, i16 0, i16 699, i16 0, i16 1035, i16 0, i16 0, i16 2360, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1115, i16 3123, i16 1925, i16 3287, i16 0, i16 0, i16 0, i16 0, i16 1450, i16 803, i16 1267, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3280, i16 2450, i16 1696, i16 3032, i16 1377, i16 0, i16 0, i16 0, i16 568, i16 0, i16 2921, i16 2479, i16 2955, i16 2063, i16 1546, i16 1367, i16 1641, i16 0, i16 1039, i16 0, i16 0, i16 0, i16 0, i16 3264, i16 0, i16 2136, i16 0, i16 3056, i16 0, i16 0, i16 0, i16 0, i16 467, i16 0, i16 0, i16 0, i16 3041, i16 1967, i16 1980, i16 0, i16 932, i16 1066, i16 0, i16 3061, i16 3344, i16 920, i16 3399, i16 915, i16 3409, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1520, i16 3160, i16 3104, i16 973, i16 1426, i16 1893, i16 0, i16 2838, i16 0, i16 0, i16 0, i16 1137, i16 1473, i16 0, i16 1810, i16 942, i16 331, i16 0, i16 1150, i16 0, i16 43, i16 0, i16 2179, i16 1614, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 508, i16 487, i16 0, i16 0, i16 1726, i16 0, i16 734, i16 308, i16 0, i16 0, i16 2990, i16 3063, i16 2991, i16 0, i16 3011, i16 1074, i16 3210, i16 3037, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1827, i16 0, i16 897, i16 0, i16 75, i16 0, i16 0, i16 0, i16 1030, i16 462, i16 0, i16 0, i16 2414, i16 2898, i16 0, i16 0, i16 3253, i16 1468, i16 2833, i16 3273, i16 1955, i16 0, i16 127, i16 913, i16 0, i16 0, i16 507, i16 2716, i16 1126, i16 3029, i16 0, i16 3382, i16 2668, i16 0, i16 2555, i16 128, i16 0, i16 0, i16 0, i16 0, i16 1127, i16 2981, i16 1437, i16 0, i16 0, i16 0, i16 1500, i16 0, i16 0, i16 480, i16 0, i16 114, i16 0, i16 0, i16 205, i16 1655, i16 0, i16 0, i16 34, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 370, i16 500, i16 528, i16 0, i16 2690, i16 2876, i16 1477, i16 3133, i16 333, i16 0, i16 0, i16 0, i16 0, i16 1793, i16 0, i16 0, i16 1529, i16 2550, i16 1096, i16 1112, i16 1588, i16 820, i16 3267, i16 2595, i16 1977, i16 3394, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 125, i16 1589, i16 0, i16 1933, i16 847, i16 2168, i16 468, i16 0, i16 3405, i16 0, i16 0, i16 1506, i16 0, i16 0, i16 683, i16 1939, i16 2846, i16 2878, i16 2642, i16 0, i16 0, i16 2377, i16 0, i16 0, i16 2596, i16 0, i16 1532, i16 0, i16 1107, i16 0, i16 0, i16 0, i16 1919, i16 3021, i16 120, i16 0, i16 644, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2732, i16 501, i16 279, i16 2509, i16 1644, i16 1863, i16 0, i16 0, i16 395, i16 246, i16 1025, i16 626, i16 3384, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1675, i16 0, i16 2734, i16 0, i16 3140, i16 990, i16 0, i16 0, i16 2169, i16 0, i16 0, i16 1027, i16 552, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2583, i16 0, i16 3286, i16 0, i16 1212, i16 316, i16 0, i16 0, i16 2830, i16 0, i16 0, i16 0, i16 0, i16 909, i16 1229, i16 0, i16 0, i16 335, i16 0, i16 0, i16 359, i16 647, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1153, i16 0, i16 0, i16 901, i16 0, i16 0, i16 0, i16 2492, i16 2027, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3219, i16 0, i16 2744, i16 476, i16 0, i16 11, i16 243, i16 0, i16 2327, i16 3098, i16 0, i16 0, i16 0, i16 97, i16 0, i16 0, i16 0, i16 1523, i16 0, i16 0, i16 783, i16 1121, i16 3144, i16 0, i16 0, i16 0, i16 496, i16 0, i16 0, i16 0, i16 0, i16 0, i16 158, i16 0, i16 2711, i16 1954, i16 3311, i16 886, i16 239, i16 1528, i16 1343, i16 1531, i16 225, i16 0, i16 1047, i16 0, i16 2311, i16 3385, i16 607, i16 2571, i16 2130, i16 848, i16 0, i16 2750, i16 440, i16 794, i16 2102, i16 460, i16 2018, i16 2208, i16 1181, i16 0, i16 0, i16 0, i16 1755, i16 2493, i16 1397, i16 0, i16 3417, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 780, i16 206, i16 2759, i16 0, i16 0, i16 834, i16 0, i16 0, i16 672, i16 0, i16 2241, i16 1359, i16 0, i16 0, i16 584, i16 1978, i16 3009, i16 0, i16 0, i16 0, i16 1160, i16 211, i16 2666, i16 0, i16 0, i16 0, i16 0, i16 2074, i16 0, i16 0, i16 0, i16 0, i16 17, i16 2606, i16 1737, i16 202, i16 1812, i16 1007, i16 0, i16 1841, i16 1345, i16 0, i16 738, i16 1162, i16 2860, i16 1943, i16 1814, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1674, i16 2556, i16 66, i16 542, i16 1205, i16 3419, i16 0, i16 2603, i16 2500, i16 425, i16 0, i16 0, i16 278, i16 1961, i16 680, i16 0, i16 1124, i16 1758, i16 0, i16 1555, i16 1446, i16 2210, i16 1405, i16 350, i16 3028, i16 2892, i16 0, i16 0, i16 0, i16 0, i16 1826, i16 2907, i16 21, i16 558, i16 1600, i16 1932, i16 0, i16 0, i16 1779, i16 0, i16 0, i16 1295, i16 0, i16 0, i16 28, i16 1725, i16 0, i16 0, i16 0, i16 0, i16 1981, i16 0, i16 2384, i16 1942, i16 0, i16 0, i16 0, i16 0, i16 0, i16 795, i16 452, i16 0, i16 208, i16 0, i16 0, i16 3044, i16 0, i16 0, i16 0, i16 0, i16 166, i16 836, i16 340, i16 337, i16 0, i16 0, i16 1875, i16 0, i16 0, i16 1159, i16 32, i16 1879, i16 1304, i16 0, i16 414, i16 515, i16 1347, i16 365, i16 0, i16 1884, i16 1521, i16 970, i16 0, i16 0, i16 858, i16 3141, i16 0, i16 717, i16 1866, i16 0, i16 1280, i16 1791, i16 2234, i16 0, i16 1414, i16 2147, i16 0, i16 0, i16 1645, i16 0, i16 0, i16 0, i16 404, i16 0, i16 0, i16 984, i16 3122, i16 0, i16 0, i16 0, i16 145, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1803, i16 0, i16 0, i16 1651, i16 2447, i16 0, i16 0, i16 2291, i16 472, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1134, i16 838, i16 0, i16 470, i16 2650, i16 606, i16 1065, i16 0, i16 1130, i16 0, i16 0, i16 0, i16 0, i16 1374, i16 1694, i16 1572, i16 1648, i16 2386, i16 200, i16 694, i16 0, i16 2530, i16 0, i16 0, i16 1752, i16 159, i16 2351, i16 3097, i16 1410, i16 1125, i16 0, i16 0, i16 412, i16 0, i16 1556, i16 0, i16 0, i16 625, i16 0, i16 1649, i16 0, i16 2100, i16 2469, i16 0, i16 273, i16 3016, i16 0, i16 0, i16 0, i16 0, i16 0, i16 399, i16 276, i16 2646, i16 671, i16 1732, i16 1888, i16 1382, i16 57, i16 0, i16 0, i16 0, i16 0, i16 0, i16 999, i16 0, i16 0, i16 681, i16 190, i16 2424, i16 0, i16 1319, i16 1454, i16 0, i16 0, i16 539, i16 0, i16 761, i16 0, i16 2021, i16 0, i16 0, i16 2189, i16 54, i16 0, i16 0, i16 0, i16 0, i16 3073, i16 0, i16 3049, i16 1501, i16 3198, i16 0, i16 0, i16 0, i16 2802, i16 255, i16 1960, i16 0, i16 0, i16 0, i16 263, i16 0, i16 0, i16 0, i16 0, i16 3168, i16 3007, i16 784, i16 3164, i16 0, i16 0, i16 788, i16 2164, i16 1711, i16 1088, i16 1328, i16 3024, i16 0, i16 2497, i16 1825, i16 2888, i16 1003, i16 986, i16 1603, i16 0, i16 0, i16 1012, i16 2473, i16 329, i16 0, i16 0, i16 0, i16 189, i16 2254, i16 1348, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 283, i16 155, i16 0, i16 0, i16 2908, i16 1209, i16 346, i16 0, i16 2765, i16 0, i16 1957, i16 0, i16 0, i16 0, i16 828, i16 0, i16 0, i16 2807, i16 0, i16 1676, i16 0, i16 1091, i16 768, i16 0, i16 2818, i16 349, i16 1789, i16 2193, i16 0, i16 164, i16 0, i16 1171, i16 2810, i16 938, i16 1163, i16 719, i16 2554, i16 2822, i16 0, i16 1575, i16 1200, i16 0, i16 2598, i16 753, i16 2532, i16 972, i16 689, i16 0, i16 1284, i16 0, i16 0, i16 0, i16 0, i16 0, i16 64, i16 800, i16 0, i16 0, i16 0, i16 1307, i16 509, i16 106, i16 0, i16 3278, i16 819, i16 0, i16 3013, i16 1015, i16 26, i16 1631, i16 1202, i16 1117, i16 0, i16 2326, i16 0, i16 3046, i16 49, i16 0, i16 736, i16 0, i16 776, i16 1109, i16 0, i16 0, i16 3182, i16 0, i16 0, i16 0, i16 0, i16 0, i16 217, i16 510, i16 2212, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 341, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2689, i16 0, i16 0, i16 2117, i16 0, i16 0, i16 0, i16 2825, i16 1273, i16 2948, i16 0, i16 977, i16 268, i16 1266, i16 1283, i16 1369, i16 1795, i16 207, i16 1685, i16 3014, i16 497, i16 0, i16 437, i16 2505, i16 0, i16 2563, i16 0, i16 0, i16 732, i16 553, i16 1247, i16 2372, i16 0, i16 0, i16 1637, i16 3251, i16 3313, i16 1308, i16 0, i16 10, i16 2912, i16 1061, i16 131, i16 0, i16 0, i16 0, i16 2111, i16 0, i16 0, i16 0, i16 0, i16 0, i16 169, i16 0, i16 0, i16 0, i16 490, i16 642, i16 677, i16 0, i16 0, i16 180, i16 1565, i16 148, i16 569, i16 2201, i16 0, i16 315, i16 0, i16 0, i16 0, i16 1818, i16 1021, i16 0, i16 0, i16 0, i16 1244, i16 0, i16 76, i16 0, i16 3406, i16 0, i16 93, i16 0, i16 513, i16 960, i16 0, i16 859, i16 96, i16 1964, i16 0, i16 0, i16 386, i16 1629, i16 1510, i16 0, i16 2656, i16 269, i16 321, i16 0, i16 0, i16 0, i16 0, i16 3106, i16 2930, i16 1402, i16 80, i16 867, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2660, i16 368, i16 0, i16 2661, i16 2045, i16 0, i16 0, i16 0, i16 1581, i16 1544, i16 3381, i16 0, i16 2853, i16 891, i16 449, i16 2010, i16 3277, i16 0, i16 0, i16 2382, i16 2172, i16 2069, i16 2897, i16 0, i16 1773, i16 0, i16 0, i16 1291, i16 0, i16 645, i16 2135, i16 2034, i16 0, i16 0, i16 0, i16 2584, i16 772, i16 1898, i16 0, i16 0, i16 48, i16 1245, i16 1113, i16 747, i16 0, i16 0, i16 1973, i16 0, i16 0, i16 209, i16 2281, i16 1289, i16 2785, i16 0, i16 0, i16 2118, i16 176, i16 1248, i16 2037, i16 2043, i16 339, i16 3293, i16 2066, i16 86, i16 248, i16 857, i16 0, i16 0, i16 1433, i16 0, i16 0, i16 0, i16 1585, i16 2756, i16 2680, i16 1650, i16 1718, i16 0, i16 0, i16 0, i16 0, i16 0, i16 394, i16 1024, i16 1537, i16 0, i16 0, i16 3170, i16 2362, i16 40, i16 53, i16 1101, i16 0, i16 2933, i16 900, i16 1447, i16 0, i16 3179, i16 833, i16 1566, i16 1494, i16 2973, i16 0, i16 0, i16 2609, i16 0, i16 927, i16 2303, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 650, i16 0, i16 0, i16 1075, i16 235, i16 823, i16 565, i16 3079, i16 0, i16 785, i16 777, i16 186, i16 2969, i16 1860, i16 2232, i16 0, i16 873, i16 741, i16 3125, i16 3257, i16 2239, i16 0, i16 3121, i16 1242, i16 2791, i16 0, i16 0, i16 1435, i16 974, i16 1780, i16 961, i16 0, i16 0, i16 2874, i16 757, i16 0, i16 0, i16 0, i16 400, i16 1432, i16 2766, i16 3039, i16 1001, i16 1507, i16 2972, i16 0, i16 2514, i16 1512, i16 2046, i16 0, i16 0, i16 0, i16 1253, i16 0, i16 2098, i16 545, i16 2165, i16 531, i16 555, i16 0, i16 0, i16 3371, i16 0, i16 0, i16 0, i16 742, i16 0, i16 807, i16 1931, i16 0, i16 1076, i16 0, i16 2026, i16 3245, i16 0, i16 0, i16 117, i16 1467, i16 2104, i16 631, i16 0, i16 754, i16 156, i16 2258, i16 307, i16 0, i16 60, i16 0, i16 1260, i16 1371, i16 3328, i16 1870, i16 0, i16 0, i16 61, i16 1241, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 424, i16 2403, i16 2148, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1231, i16 2367, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1596, i16 3096, i16 2202, i16 363, i16 1609, i16 2710, i16 2582, i16 791, i16 2705, i16 0, i16 2543, i16 2319, i16 2558, i16 2597, i16 1, i16 2495, i16 2730, i16 0, i16 3374, i16 2485, i16 2487, i16 0, i16 581, i16 1476, i16 3359, i16 2499, i16 2719, i16 0, i16 1876, i16 3240, i16 0, i16 0, i16 2110, i16 0, i16 198, i16 1488, i16 2262, i16 140, i16 0, i16 0, i16 782, i16 3157, i16 27, i16 3136, i16 0, i16 1092, i16 0, i16 1302, i16 0, i16 1912, i16 1217, i16 0, i16 1642, i16 0, i16 2457, i16 0, i16 3400, i16 1530, i16 0, i16 0, i16 167, i16 524, i16 221, i16 0, i16 2119, i16 998, i16 461, i16 0, i16 1358, i16 1037, i16 3378, i16 3206, i16 841, i16 68, i16 1762, i16 0, i16 1756, i16 2665, i16 482, i16 1004, i16 0, i16 2501, i16 0, i16 3204, i16 918, i16 724, i16 322, i16 2401, i16 0, i16 0, i16 2412, i16 306, i16 733, i16 863, i16 0, i16 0, i16 2904, i16 0, i16 0, i16 1979, i16 0, i16 1985, i16 556, i16 3312, i16 2987, i16 3045, i16 643, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3128, i16 1729, i16 0, i16 2970, i16 161, i16 0, i16 0, i16 0, i16 0, i16 602, i16 0, i16 1682, i16 0, i16 2523, i16 0, i16 92, i16 0, i16 0, i16 583, i16 0, i16 0, i16 697, i16 1263, i16 253, i16 504, i16 0, i16 0, i16 0, i16 0, i16 1636, i16 56, i16 0, i16 0, i16 2617, i16 0, i16 0, i16 0, i16 0, i16 2960, i16 2884, i16 0, i16 1999, i16 438, i16 0, i16 0, i16 0, i16 0, i16 1116, i16 2929, i16 2605, i16 0, i16 2323, i16 774, i16 1032, i16 0, i16 2015, i16 2336, i16 0, i16 520, i16 0, i16 2016, i16 1634, i16 1182, i16 1362, i16 850, i16 2906, i16 596, i16 3274, i16 0, i16 199, i16 2242, i16 0, i16 1934, i16 0, i16 2635, i16 0, i16 1746, i16 2915, i16 0, i16 1375, i16 1118, i16 3004, i16 0, i16 477, i16 0, i16 0, i16 0, i16 0, i16 715, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3185, i16 0, i16 0, i16 0, i16 3248, i16 2541, i16 2340, i16 3258, i16 24, i16 2230, i16 1654, i16 0, i16 3421, i16 1923, i16 2565, i16 2280, i16 0, i16 3167, i16 3149, i16 895, i16 3306, i16 994, i16 2009, i16 1543, i16 2273, i16 0, i16 14, i16 814, i16 540, i16 2243, i16 1384, i16 969, i16 0, i16 2914, i16 1698, i16 0, i16 0, i16 995, i16 1119, i16 2474, i16 2855, i16 498, i16 0, i16 0, i16 2312, i16 3331, i16 2002, i16 2324, i16 0, i16 111, i16 1281, i16 410, i16 2158, i16 1404, i16 708, i16 2625, i16 0, i16 0, i16 0, i16 82, i16 1965, i16 486, i16 3228, i16 661, i16 0, i16 2961, i16 0, i16 197, i16 2842, i16 2060, i16 517, i16 1518, i16 0, i16 0, i16 1853, i16 2257, i16 3392, i16 2419, i16 251, i16 975, i16 0, i16 883, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1423, i16 0, i16 2521, i16 0, i16 2305, i16 0, i16 3380, i16 0, i16 0, i16 1054, i16 1108, i16 1842, i16 0, i16 943, i16 811, i16 2963, i16 0, i16 0, i16 0, i16 2455, i16 0, i16 1511, i16 0, i16 0, i16 1907, i16 3408, i16 2431, i16 516, i16 0, i16 238, i16 2124, i16 1483, i16 0, i16 825, i16 2271, i16 0, i16 1475, i16 1297, i16 0, i16 2001, i16 1346, i16 0, i16 0, i16 0, i16 0, i16 1387, i16 0, i16 0, i16 2629, i16 0, i16 614, i16 1274, i16 839, i16 3154, i16 1005, i16 0, i16 3189, i16 1136, i16 1000, i16 0, i16 2727, i16 2848, i16 3, i16 0, i16 112, i16 1234, i16 1459, i16 770, i16 0, i16 1828, i16 0, i16 2065, i16 0, i16 1106, i16 2444, i16 0, i16 830, i16 1457, i16 1764, i16 2604, i16 3057, i16 1098, i16 1223, i16 0, i16 362, i16 1460, i16 1840, i16 0, i16 1913, i16 580, i16 829, i16 958, i16 0, i16 3337, i16 0, i16 1833, i16 2778, i16 387, i16 2865, i16 310, i16 193, i16 3403, i16 0, i16 0, i16 0, i16 2614, i16 466, i16 0, i16 0, i16 2428, i16 1646, i16 0, i16 0, i16 0, i16 0, i16 1917, i16 0, i16 1908, i16 1859, i16 0, i16 1660, i16 804, i16 1592, i16 0, i16 3094, i16 3216, i16 2295, i16 33, i16 443, i16 3358, i16 0, i16 1394, i16 250, i16 213, i16 0, i16 1971, i16 3080, i16 1354, i16 3360, i16 0, i16 1265, i16 1584, i16 2053, i16 512, i16 0, i16 2928, i16 409, i16 2225, i16 779, i16 1186, i16 0, i16 0, i16 381, i16 0, i16 0, i16 2369, i16 0, i16 3368, i16 0, i16 0, i16 1479, i16 924, i16 0, i16 0, i16 599, i16 3139, i16 0, i16 1492, i16 2101, i16 0, i16 0, i16 0, i16 0, i16 0, i16 184, i16 0, i16 2197, i16 651, i16 0, i16 601, i16 0, i16 0, i16 29, i16 0, i16 1149, i16 3302, i16 1156, i16 3111, i16 1269, i16 1298, i16 0, i16 2073, i16 0, i16 615, i16 262, i16 0, i16 0, i16 1349, i16 118, i16 3159, i16 3178, i16 3316, i16 1252, i16 1277, i16 3301, i16 493, i16 3119, i16 2977, i16 842, i16 2399, i16 318, i16 2940, i16 2123, i16 0, i16 1620, i16 0, i16 2951, i16 0, i16 0, i16 0, i16 0, i16 2453, i16 0, i16 0, i16 1323, i16 288, i16 0, i16 0, i16 1615, i16 2715, i16 0, i16 0, i16 2691, i16 0, i16 0, i16 1388, i16 0, i16 280, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1250, i16 0, i16 392, i16 275, i16 0, i16 0, i16 0, i16 0, i16 1926, i16 3008, i16 0, i16 620, i16 0, i16 0, i16 0, i16 2971, i16 3401, i16 0, i16 0, i16 0, i16 1314, i16 608, i16 944, i16 0, i16 1534, i16 1131, i16 1430, i16 2835, i16 525, i16 1559, i16 3115, i16 0, i16 1672, i16 0, i16 3232, i16 0, i16 0, i16 382, i16 0, i16 3377, i16 352, i16 2301, i16 1207, i16 0, i16 1611, i16 0, i16 0, i16 260, i16 0, i16 94, i16 0, i16 2795, i16 1197, i16 0, i16 3402, i16 45, i16 0, i16 1816, i16 2185, i16 1216, i16 2678, i16 2866, i16 0, i16 2677, i16 0, i16 0, i16 687, i16 1342, i16 2420, i16 2163, i16 2142, i16 0, i16 876, i16 2989, i16 1172, i16 3393, i16 1550, i16 2506, i16 3017, i16 879, i16 0, i16 1169, i16 2729, i16 1817, i16 323, i16 0, i16 0, i16 1562, i16 1436, i16 0, i16 3397, i16 2616, i16 922, i16 44, i16 2966, i16 3135, i16 0, i16 0, i16 1713, i16 0, i16 491, i16 0, i16 0, i16 0, i16 2024, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2943, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3364, i16 3355, i16 2004, i16 2105, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3262, i16 0, i16 1082, i16 2663, i16 0, i16 0, i16 2379, i16 0, i16 0, i16 0, i16 2, i16 1330, i16 1747, i16 0, i16 731, i16 0, i16 2639, i16 0, i16 393, i16 18, i16 722, i16 0, i16 813, i16 223, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3353, i16 0, i16 1504, i16 0, i16 3099, i16 30, i16 1574, i16 2218, i16 566, i16 2621, i16 1989, i16 2917, i16 0, i16 3305, i16 0, i16 1398, i16 2651, i16 843, i16 2159, i16 317, i16 1335, i16 640, i16 865, i16 62, i16 2937, i16 1385, i16 919, i16 1034, i16 1233, i16 1850, i16 792, i16 1972, i16 987, i16 0, i16 2529, i16 1717, i16 364, i16 1095, i16 2696, i16 1142, i16 5, i16 1029, i16 0, i16 0, i16 1962, i16 1595, i16 0, i16 1145, i16 637, i16 1662, i16 0, i16 3386, i16 925, i16 2076, i16 2672, i16 0, i16 338, i16 0, i16 1198, i16 0, i16 1846, i16 0, i16 0, i16 366, i16 2622, i16 0, i16 739, i16 869, i16 799, i16 1480, i16 0, i16 0, i16 1721, i16 0, i16 1542, i16 160, i16 0, i16 1195, i16 1891, i16 2526, i16 3236, i16 502, i16 1697, i16 0, i16 1577, i16 514, i16 2373, i16 3289, i16 0, i16 478, i16 0, i16 0, i16 0, i16 2591, i16 2383, i16 660, i16 2297, i16 0, i16 234, i16 267, i16 124, i16 0, i16 2077, i16 534, i16 1838, i16 1568, i16 0, i16 0, i16 1619, i16 1873, i16 2033, i16 2484, i16 0, i16 2964, i16 2787, i16 1147, i16 0, i16 721, i16 0, i16 0, i16 0, i16 2815, i16 3086, i16 1622, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3336, i16 0, i16 3239, i16 1796, i16 0, i16 2976, i16 139, i16 1176, i16 0, i16 888, i16 2919, i16 3196, i16 1440, i16 2044, i16 574, i16 1754, i16 0, i16 586, i16 1760, i16 1087, i16 2331, i16 544, i16 0, i16 3279, i16 0, i16 0, i16 0, i16 1602, i16 2985, i16 1366, i16 91, i16 894, i16 523, i16 911, i16 2345, i16 2669, i16 3067, i16 3292, i16 2638, i16 806, i16 1341, i16 2986, i16 3363, i16 3227, i16 0, i16 659, i16 868, i16 0, i16 2794, i16 2296, i16 713, i16 1832, i16 0, i16 3217, i16 3304, i16 1811, i16 231, i16 2657, i16 0, i16 0, i16 3127, i16 852, i16 358, i16 0, i16 2318, i16 1570, i16 817, i16 3069, i16 3420, i16 447, i16 2520, i16 638, i16 2299, i16 0, i16 2693, i16 1043, i16 0, i16 1140, i16 1591, i16 1837, i16 236, i16 1355, i16 0, i16 2763, i16 0, i16 1022, i16 2422, i16 0, i16 2138, i16 0, i16 179, i16 0, i16 0, i16 1100, i16 0, i16 1326, i16 2574, i16 2211, i16 1702, i16 0, i16 1089, i16 0, i16 0, i16 377, i16 1687, i16 0, i16 793, i16 0, i16 667, i16 126, i16 934, i16 2300, i16 2079, i16 3370, i16 2233, i16 2862, i16 810, i16 0, i16 0, i16 3263, i16 756, i16 1809, i16 2714, i16 2518, i16 1422, i16 1665, i16 2722, i16 3194, i16 1296, i16 1412, i16 0, i16 138, i16 101, i16 2353, i16 0, i16 1179, i16 1225, i16 458, i16 3413, i16 1579, i16 2090, i16 1561, i16 0, i16 0, i16 0, i16 2809, i16 1497, i16 1389, i16 1019, i16 1329, i16 2421, i16 396, i16 2695, i16 6, i16 2095, i16 950, i16 489, i16 0, i16 1661, i16 0, i16 1808, i16 2171, i16 2511, i16 0, i16 1086, i16 1219, i16 2006, i16 25, i16 0, i16 0, i16 1201, i16 522, i16 0, i16 0, i16 618, i16 0, i16 0, i16 2235, i16 880, i16 0, i16 0, i16 334, i16 1305, i16 1705, i16 2204, i16 1858, i16 1013, i16 1306, i16 0, i16 1085, i16 1533, i16 87, i16 2067, i16 1502, i16 2290, i16 1799, i16 0, i16 3146, i16 1794, i16 3346, i16 2192, i16 0, i16 0, i16 653, i16 1429, i16 887, i16 314, i16 2041, i16 2436, i16 875, i16 1331, i16 1481, i16 0, i16 403, i16 0, i16 0, i16 1910, i16 0, i16 1155, i16 0, i16 2072, i16 3266, i16 1165, i16 1857, i16 1557, i16 1801, i16 2496, i16 3131, i16 2926, i16 2643, i16 1582, i16 0, i16 0, i16 0, i16 122, i16 686, i16 168, i16 0, i16 2398, i16 2749, i16 1553, i16 2413, i16 1541, i16 2440, i16 134, i16 1578, i16 247, i16 0, i16 1193, i16 1321, i16 2575, i16 570, i16 2894, i16 0, i16 0, i16 0, i16 2581, i16 2636, i16 2270, i16 12, i16 1424, i16 1188, i16 1383, i16 0, i16 485, i16 700, i16 3254, i16 149, i16 2922, i16 1627, i16 2545, i16 0, i16 1693, i16 0, i16 953, i16 0, i16 0, i16 0, i16 0, i16 600, i16 1138, i16 0, i16 2059, i16 1525, i16 0, i16 1657, i16 0, i16 1727, i16 2841, i16 532, i16 3176, i16 993, i16 1930, i16 192, i16 0, i16 1740, i16 0, i16 3192, i16 1927, i16 802, i16 2849, i16 1064, i16 2109, i16 0, i16 324, i16 144, i16 881, i16 2133, i16 0, i16 2610, i16 171, i16 1129, i16 1378, i16 0, i16 1835, i16 435, i16 760, i16 1324, i16 0, i16 1251, i16 3100, i16 0, i16 835, i16 0, i16 3310, i16 636, i16 594, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2333, i16 1632, i16 3379, i16 3018, i16 3285, i16 388, i16 2748, i16 0, i16 0, i16 0, i16 0, i16 1905, i16 3354, i16 0, i16 2014, i16 0, i16 0, i16 763, i16 0, i16 2011, i16 0, i16 3033, i16 3223, i16 1009, i16 0, i16 1287, i16 292, i16 413, i16 0, i16 0, i16 0, i16 0, i16 31, i16 2143, i16 2128, i16 1878, i16 956, i16 822, i16 2430, i16 311, i16 0, i16 0, i16 2313, i16 1256, i16 2956, i16 0, i16 224, i16 0, i16 2965, i16 109, i16 634, i16 1431, i16 2465, i16 0, i16 0, i16 0, i16 1775, i16 2462, i16 1090, i16 778, i16 3271, i16 1819, i16 0, i16 2645, i16 291, i16 0, i16 1904, i16 0, i16 182, i16 536, i16 0, i16 0, i16 1203, i16 827, i16 294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8, i16 2005, i16 15, i16 2031, i16 3269, i16 3297, i16 3319, i16 0, i16 3213, i16 3241, i16 3259, i16 0, i16 295, i16 133, i16 2811, i16 1707, i16 1915, i16 0, i16 154, i16 174, i16 3416, i16 2448, i16 1144, i16 0, i16 0, i16 0, i16 0, i16 890, i16 1865, i16 1368, i16 1496, i16 1868, i16 1050, i16 1823, i16 2389, i16 1264, i16 752, i16 2456, i16 0, i16 0, i16 356, i16 1336, i16 2116, i16 978, i16 1831, i16 0, i16 2068, i16 1215, i16 705, i16 1044, i16 0, i16 702, i16 0, i16 0, i16 129, i16 0, i16 0, i16 2364, i16 0, i16 0, i16 1312, i16 0, i16 0, i16 16, i16 0, i16 3244, i16 1133, i16 3078, i16 1139, i16 0, i16 2478, i16 0, i16 422, i16 2573, i16 2007, i16 1097, i16 812, i16 0, i16 0, i16 0, i16 665, i16 0, i16 0, i16 0, i16 0, i16 1736, i16 0, i16 2157, i16 549, i16 3165, i16 0, i16 0, i16 0, i16 1271, i16 0, i16 219, i16 0, i16 0, i16 0, i16 1783, i16 0, i16 0, i16 397, i16 3383, i16 0, i16 0, i16 0, i16 2279, i16 3375, i16 1052, i16 0, i16 0, i16 1712, i16 546, i16 1798, i16 3309, i16 0, i16 380, i16 0, i16 0, i16 3038, i16 0, i16 1621, i16 1122, i16 711, i16 3222, i16 2742, i16 0, i16 1701, i16 1053, i16 0, i16 3327, i16 1922, i16 0, i16 1800, i16 1731, i16 0, i16 2516, i16 655, i16 0, i16 2358, i16 2393, i16 2464, i16 2494, i16 2580, i16 2679, i16 2743, i16 2788, i16 2824, i16 2858, i16 2935, i16 2982, i16 3101, i16 3153, i16 3276, i16 2438, i16 2488, i16 2757, i16 2052, i16 2144, i16 2286, i16 2337, i16 2400, i16 2452, i16 2738, i16 2779, i16 2845, i16 2887, i16 3020, i16 3134, i16 3188, i16 3102, i16 1847, i16 2733, i16 2758, i16 1560, i16 1535, i16 824, i16 1822, i16 0, i16 0, i16 2816, i16 2380, i16 0, i16 1228, i16 0, i16 2366, i16 2378, i16 1968, i16 1599, i16 2042, i16 1318, i16 1338, i16 1569, i16 300, i16 0, i16 2873, i16 2320, i16 0, i16 2893, i16 1706, i16 0, i16 1916, i16 0, i16 3129, i16 590, i16 0, i16 0, i16 2836, i16 0, i16 37, i16 0, i16 0, i16 0, i16 551, i16 3155, i16 3177, i16 1951, i16 1056, i16 1855, i16 3247, i16 562, i16 3208, i16 3294, i16 862, i16 0, i16 3055, i16 1453, i16 1626, i16 296, i16 1871, i16 0, i16 1069, i16 0, i16 1767, i16 1776, i16 58, i16 2992, i16 611, i16 2607, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1941, i16 2347, i16 1813, i16 0, i16 2203, i16 1148, i16 0, i16 0, i16 1667, i16 0, i16 0, i16 162, i16 108, i16 0, i16 1211, i16 1063, i16 83, i16 2249, i16 0, i16 1288, i16 832, i16 0, i16 826, i16 88, i16 1434, i16 0, i16 0, i16 0, i16 2087, i16 2773, i16 1852, i16 1921, i16 2220, i16 0, i16 2627, i16 1333, i16 1120, i16 1902, i16 0, i16 1079, i16 1073, i16 305, i16 0, i16 3074, i16 2755, i16 2628, i16 2244, i16 547, i16 0, i16 527, i16 0, i16 428, i16 0, i16 0, i16 3130, i16 3158, i16 3180, i16 3200, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1601, i16 2058, i16 1332, i16 0, i16 0, i16 242, i16 0, i16 0, i16 0, i16 0, i16 3335, i16 374, i16 1877, i16 2903, i16 2726, i16 0, i16 2131, i16 325, i16 1807, i16 378, i16 1606, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 429, i16 172, i16 201, i16 0, i16 585, i16 0, i16 0, i16 2913, i16 351, i16 698, i16 2264, i16 2187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1104, i16 1114, i16 2003, i16 2029, i16 2056, i16 2083, i16 2103, i16 2120, i16 2145, i16 2173, i16 2195, i16 2228, i16 2256, i16 2277, i16 2302, i16 2328, i16 2346, i16 2363, i16 2388, i16 2408, i16 2429, i16 2454, i16 2472, i16 1406, i16 2507, i16 2533, i16 2553, i16 2578, i16 2601, i16 2623, i16 2640, i16 2667, i16 597, i16 0, i16 0, i16 1363, i16 0, i16 0, i16 0, i16 244, i16 474, i16 0, i16 0, i16 0, i16 229, i16 0, i16 481, i16 0, i16 0, i16 2531, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2275, i16 0, i16 0, i16 2357, i16 548, i16 0, i16 1670, i16 701, i16 2901, i16 3404, i16 0, i16 1067, i16 2008, i16 2577, i16 1844, i16 1659, i16 2564, i16 0, i16 2905, i16 3220, i16 442, i16 0, i16 1407, i16 0, i16 1416, i16 0, i16 1663, i16 1036, i16 0, i16 0, i16 2548, i16 3088, i16 0, i16 473, i16 0, i16 2486, i16 2659, i16 3143, i16 0, i16 1861, i16 1881, i16 0, i16 629, i16 840, i16 2519, i16 3068, i16 2012, i16 0, i16 0, i16 2149, i16 1739, i16 3303, i16 949, i16 577, i16 725, i16 658, i16 146, i16 67, i16 2916, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 945, i16 0, i16 0, i16 505, i16 469, i16 3166, i16 3209, i16 1883, i16 0, i16 0, i16 0, i16 1540, i16 0, i16 3332, i16 3072, i16 2593, i16 1610, i16 1257, i16 0, i16 0, i16 578, i16 0, i16 2394, i16 1766, i16 959, i16 1218, i16 0, i16 0, i16 0, i16 632, i16 0, i16 623, i16 1068, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 348, i16 1624, i16 1315, i16 0, i16 878, i16 3095, i16 116, i16 2426, i16 0, i16 737, i16 1466, i16 13, i16 212, i16 0, i16 3315, i16 831, i16 0, i16 2670, i16 1635, i16 1612, i16 0, i16 0, i16 0, i16 1357, i16 709, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1630, i16 2934, i16 488, i16 157, i16 1327, i16 2054, i16 2407, i16 450, i16 0, i16 981, i16 1135, i16 0, i16 1918, i16 1189, i16 729, i16 2427, i16 0, i16 0, i16 2739, i16 3291, i16 0, i16 675, i16 1834, i16 0, i16 1080, i16 589, i16 1415, i16 2537, i16 2406, i16 119, i16 1393, i16 2387, i16 2910, i16 1897, i16 0, i16 1310, i16 1690, i16 0, i16 2988, i16 0, i16 0, i16 0, i16 0, i16 3322, i16 1048, i16 1399, i16 0, i16 1023, i16 0, i16 1361, i16 1617, i16 375, i16 1699, i16 1778, i16 914, i16 1033, i16 0, i16 1334, i16 0, i16 1279, i16 0, i16 0, i16 1952, i16 210, i16 354, i16 0, i16 1738, i16 2881, i16 2283, i16 0, i16 2451, i16 861, i16 3006, i16 0, i16 2800, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1313, i16 1417, i16 2287, i16 1703, i16 2137, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 866, i16 622, i16 1316, i16 1408, i16 1820, i16 898, i16 1728, i16 2600, i16 1320, i16 2332, i16 2813, i16 2630, i16 0, i16 0, i16 427, i16 0, i16 69, i16 459, i16 3043, i16 445, i16 0, i16 1640, i16 706, i16 3050, i16 0, i16 1658, i16 0, i16 0, i16 0, i16 2288, i16 3051, i16 0, i16 1638, i16 402, i16 0, i16 2886, i16 1350, i16 74, i16 0, i16 0, i16 105, i16 266, i16 1214, i16 0, i16 0, i16 0, i16 723, i16 2198, i16 1895, i16 1356, i16 893, i16 535, i16 2248, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2209, i16 3391, i16 0, i16 1254, i16 72, i16 0, i16 2918, i16 3376, i16 2631, i16 1889, i16 2329, i16 2112, i16 2967, i16 0, i16 2831, i16 0, i16 433, i16 2626, i16 2664, i16 1403, i16 1604, i16 0, i16 656, i16 2227, i16 0, i16 0, i16 3181, i16 0, i16 0, i16 933, i16 1146, i16 750, i16 2439, i16 503, i16 1715, i16 885, i16 1784, i16 432, i16 2153, i16 2176, i16 2206, i16 2237, i16 2265, i16 2284, i16 2308, i16 2121, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3054, i16 3082, i16 3103, i16 3126, i16 3151, i16 3171, i16 3193, i16 36, i16 877, i16 0, i16 758, i16 0, i16 1301, i16 147, i16 1262, i16 1072, i16 1616, i16 0, i16 0, i16 0, i16 0, i16 1774, i16 2051, i16 1567, i16 0, i16 2435, i16 2483, i16 0, i16 905, i16 0, i16 2397, i16 256, i16 1851, i16 0, i16 303, i16 0, i16 0, i16 0, i16 0, i16 0, i16 882, i16 0, i16 0, i16 0, i16 1094, i16 1733, i16 1409, i16 0, i16 0, i16 464, i16 0, i16 1880, i16 707, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1243, i16 1963, i16 767, i16 0, i16 0, i16 0, i16 992, i16 0, i16 1571, i16 3334, i16 0, i16 1719, i16 3036, i16 0, i16 2676, i16 624, i16 728, i16 1261, i16 798, i16 1493, i16 0, i16 0, i16 2702, i16 1526, i16 746, i16 3183, i16 0, i16 1046, i16 0, i16 1462, i16 0, i16 2576, i16 1293, i16 3333, i16 0, i16 0, i16 0, i16 3324, i16 1549, i16 0, i16 0, i16 0, i16 2681, i16 1041, i16 2798, i16 1516, i16 1143, i16 1949, i16 1598, i16 390, i16 1236, i16 1448, i16 2829, i16 2432, i16 298, i16 304, i16 2980, i16 336, i16 0, i16 284, i16 0, i16 533, i16 0, i16 0, i16 0, i16 2741, i16 3407, i16 0, i16 2760, i16 1224, i16 100, i16 0, i16 151, i16 0, i16 2885, i16 0, i16 3272, i16 3398, i16 2167, i16 0, i16 0, i16 2175, i16 2184, i16 2196, i16 2191, i16 2205, i16 2307, i16 2222, i16 2322, i16 2214, i16 2343, i16 2229, i16 2348, i16 2236, i16 2490, i16 2508, i16 2534, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 376, i16 3202, i16 1158, i16 0, i16 0, i16 712, i16 1994, i16 906, i16 0, i16 0, i16 0, i16 751, i16 692, i16 1372, i16 936, i16 2146, i16 1829, i16 1474, i16 357, i16 1618, i16 930, i16 2381, i16 2392, i16 0, i16 0, i16 0, i16 46, i16 3256, i16 0, i16 0, i16 0, i16 0, i16 2425, i16 519, i16 0, i16 2466, i16 3340, i16 0, i16 0, i16 0, i16 0, i16 2559, i16 3233, i16 2995, i16 281, i16 0, i16 2685, i16 1680, i16 3175, i16 2402, i16 2752, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1770, i16 1105, i16 3059, i16 1340, i16 801, i16 0, i16 521, i16 0, i16 2170, i16 0, i16 0, i16 1154, i16 0, i16 0, i16 1583, i16 22, i16 2652, i16 3211, i16 0, i16 0, i16 0, i16 0, i16 361, i16 0, i16 928, i16 0, i16 0, i16 3089, i16 557, i16 815, i16 0, i16 0, i16 1325, i16 2950, i16 1110, i16 2310, i16 2113, i16 0, i16 2115, i16 2330, i16 635, i16 2418, i16 967, i16 0, i16 230, i16 666, i16 1709, i16 0, i16 0, i16 1456, i16 2370, i16 3060, i16 0, i16 0, i16 1392, i16 851, i16 342, i16 805, i16 1854, i16 0, i16 2433, i16 3281, i16 1787, i16 2535, i16 0, i16 576, i16 2700, i16 1987, i16 0, i16 0, i16 2549, i16 407, i16 2174, i16 2957, i16 0, i16 0, i16 0, i16 0, i16 1993, i16 1413, i16 175, i16 0, i16 912, i16 2161, i16 0, i16 976, i16 2039, i16 649, i16 0, i16 1239, i16 2979, i16 1111, i16 1849, i16 1078, i16 0, i16 662, i16 668, i16 964, i16 0, i16 3314, i16 595, i16 3120, i16 3152, i16 592, i16 2687, i16 0, i16 2804, i16 2828, i16 2847, i16 2796, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1465, i16 2612, i16 2633, i16 2655, i16 2675, i16 2699, i16 2724, i16 2747, i16 2774, i16 2799, i16 2821, i16 2840, i16 2864, i16 2882, i16 2899, i16 2925, i16 641, i16 781, i16 0, i16 1996, i16 1613, i16 856, i16 1929, i16 1924, i16 0, i16 1781, i16 240, i16 1192, i16 35, i16 787, i16 3197, i16 1593, i16 3081, i16 2927, i16 0, i16 2686, i16 0, i16 1235, i16 0, i16 104, i16 1505, i16 0, i16 0, i16 0, i16 579, i16 3412, i16 2998, i16 1990, i16 2945, i16 2975, i16 2994, i16 3015, i16 3035, i16 0, i16 0, i16 0, i16 1742, i16 3070, i16 3093, i16 3116, i16 3137, i16 3162, i16 3186, i16 3203, i16 3226, i16 3250, i16 3270, i16 3298, i16 3320, i16 3345, i16 3366, i16 3390, i16 3411, i16 1976, i16 1998, i16 2025, i16 2049, i16 2075, i16 0, i16 0, i16 142, i16 0, i16 1213, i16 0, i16 560, i16 1166, i16 3001, i16 290, i16 0, i16 1536, i16 0, i16 633, i16 1309, i16 0, i16 1856, i16 1026, i16 0, i16 0, i16 591, i16 0, i16 0, i16 773, i16 0, i16 571, i16 2590, i16 110, i16 0, i16 0, i16 0, i16 0, i16 41, i16 621, i16 3218, i16 312, i16 3150, i16 431, i16 1894, i16 0, i16 963, i16 1790, i16 2952, i16 1558, i16 3199, i16 3142, i16 0, i16 2889, i16 0, i16 2761, i16 0, i16 0, i16 0, i16 0, i16 892, i16 0, i16 0, i16 0, i16 2869, i16 2877, i16 955, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1688, i16 313, i16 1710, i16 0, i16 1647, i16 0, i16 0, i16 0, i16 0, i16 0, i16 150, i16 383, i16 0, i16 0, i16 957, i16 1268, i16 0, i16 0, i16 1199, i16 3255, i16 2586, i16 1183, i16 0, i16 0, i16 0, i16 405, i16 2764, i16 818, i16 543, i16 293, i16 1017, i16 4, i16 3225, i16 0, i16 1984, i16 0, i16 0, i16 0, i16 3091, i16 2000, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 639, i16 0, i16 1428, i16 0, i16 444, i16 0, i16 718, i16 2251, i16 0, i16 0, i16 2306, i16 2181, i16 0, i16 2458, i16 0, i16 3083, i16 99, i16 0, i16 0, i16 479, i16 2260, i16 3064, i16 0, i16 3343, i16 0, i16 103, i16 1210, i16 727, i16 1469, i16 3339, i16 582, i16 0, i16 1956, i16 0, i16 0, i16 2223, i16 63, i16 203, i16 1208, i16 2141, i16 1238, i16 344, i16 2415, i16 796, i16 3323, i16 1692, i16 3117, i16 0, i16 0, i16 1653, i16 1175, i16 2446, i16 448, i16 327, i16 1928, i16 2706, i16 2713, i16 2826, i16 421, i16 2832, i16 0, i16 0, i16 113, i16 0, i16 2108, i16 1607, i16 2217, i16 1839, i16 2023, i16 679, i16 1275, i16 766, i16 252, i16 2789, i16 1391, i16 2872, i16 274, i16 1438, i16 0, i16 0, i16 1396, i16 1625, i16 0, i16 0, i16 0, i16 0, i16 561, i16 616, i16 790, i16 1691, i16 0, i16 1628, i16 1443, i16 3221, i16 0, i16 1700, i16 0, i16 1495, i16 1353, i16 2437, i16 59, i16 0, i16 2539, i16 1940, i16 0, i16 0, i16 0, i16 254, i16 0, i16 1439, i16 988, i16 369, i16 102, i16 195, i16 682, i16 0, i16 0, i16 1765, i16 0, i16 1704, i16 0, i16 704, i16 0, i16 554, i16 1222, i16 2784, i16 0, i16 0, i16 0, i16 559, i16 0, i16 0, i16 0, i16 302, i16 0, i16 0, i16 0, i16 0, i16 3284, i16 3234, i16 0, i16 2463, i16 3071, i16 1802, i16 1232, i16 0, i16 264, i16 0, i16 2868, i16 908, i16 0, i16 0, i16 0, i16 178, i16 0, i16 228, i16 0, i16 871, i16 0, i16 0, i16 0, i16 257, i16 0, i16 673, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 952, i16 416, i16 0, i16 419, i16 1936, i16 1503, i16 0, i16 319, i16 0, i16 0, i16 3342, i16 0, i16 0, i16 3174, i16 735, i16 39, i16 0, i16 1062, i16 573, i16 1594, i16 1168, i16 0, i16 962, i16 1441, i16 1173, i16 3084, i16 864, i16 0, i16 1970, i16 227, i16 3114, i16 0, i16 0, i16 1753, i16 1761, i16 1194, i16 0, i16 0, i16 0, i16 2094, i16 2122, i16 2154, i16 2177, i16 2207, i16 2238, i16 2266, i16 2285, i16 2309, i16 2335, i16 2355, i16 2376, i16 2396, i16 2417, i16 2442, i16 2468, i16 1292, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1451, i16 2589, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1401, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2475, i16 1869, i16 0, i16 0, i16 1317, i16 1059, i16 2777, i16 2728, i16 0, i16 0, i16 0, i16 0, i16 417, i16 1081, i16 1911, i16 0, i16 0, i16 0, i16 0, i16 3307, i16 1038, i16 0, i16 0, i16 0, i16 0, i16 2099, i16 575, i16 0, i16 0, i16 0, i16 2896, i16 2637, i16 3243, i16 0, i16 1141, i16 123, i16 1498, i16 1988, i16 2513, i16 0, i16 55, i16 2772, i16 2356, i16 1373, i16 1605, i16 0, i16 287, i16 3052, i16 0, i16 355, i16 765, i16 0, i16 0, i16 2781, i16 0, i16 2797, i16 1573, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 941, i16 1909, i16 2552, i16 0, i16 0, i16 0, i16 2276, i16 0, i16 38, i16 0, i16 1874, i16 50, i16 0, i16 0, i16 1380, i16 684, i16 0, i16 0, i16 411, i16 755, i16 1983, i16 2613, i16 0, i16 0, i16 0, i16 1478, i16 137, i16 0, i16 2544, i16 0, i16 2219, i16 332, i16 1455, i16 3350, i16 2325, i16 1294, i16 1946, i16 1028, i16 2062, i16 1445, i16 0, i16 0, i16 0, i16 797, i16 0, i16 1395, i16 0, i16 441, i16 499, i16 2823, i16 1890, i16 495, i16 1490, i16 3148, i16 1071, i16 1716, i16 3295, i16 0, i16 0, i16 937, i16 1797, i16 1246, i16 3205, i16 0, i16 946, i16 0, i16 2731, i16 0, i16 285, i16 0, i16 0, i16 0, i16 2459, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 384, i16 204, i16 2735, i16 716, i16 0, i16 0, i16 0, i16 153, i16 3347, i16 0, i16 0, i16 0, i16 2489, i16 2482, i16 1419, i16 2703, i16 2226, i16 1471, i16 0, i16 1418, i16 951, i16 0, i16 0, i16 0, i16 0, i16 232, i16 0, i16 0, i16 3326, i16 0, i16 0, i16 1470, i16 0, i16 0, i16 494, i16 0, i16 107, i16 2409, i16 1769, i16 1058, i16 3261, i16 0, i16 3147, i16 1285, i16 0, i16 1351, i16 3362, i16 0, i16 1204, i16 695, i16 0, i16 360, i16 1539, i16 2634, i16 0, i16 0, i16 2250, i16 0, i16 95, i16 3034, i16 1815, i16 0, i16 2993, i16 52, i16 1722, i16 0, i16 0, i16 0, i16 1276, i16 3172, i16 2199, i16 808, i16 786, i16 2361, i16 0, i16 1458, i16 2215, i16 0, i16 483, i16 3230, i16 1206, i16 2183, i16 2213, i16 2245, i16 2268, i16 2289, i16 2315, i16 2339, i16 2354, i16 2375, i16 2395, i16 2416, i16 2441, i16 2467, i16 2477, i16 2753, i16 2517, i16 2547, i16 2566, i16 2587, i16 2611, i16 2632, i16 2654, i16 2674, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 439, i16 2127, i16 2746, i16 3195, i16 2974, i16 0, i16 9, i16 1157, i16 1986, i16 1055, i16 1178, i16 0, i16 436, i16 0, i16 3388, i16 3048, i16 654, i16 0, i16 3058, i16 0, i16 1545, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2515, i16 0, i16 1221, i16 1099, i16 187, i16 2092, i16 1463, i16 2647, i16 2803, i16 0, i16 0, i16 0, i16 0, i16 1031, i16 2658, i16 0, i16 1836, i16 0, i16 0, i16 47, i16 2879, i16 3019, i16 2166, i16 0, i16 0, i16 1843, i16 0, i16 0, i16 398, i16 0, i16 1848, i16 874, i16 297, i16 0, i16 0, i16 0, i16 1686, i16 613, i16 3002, i16 2931, i16 2867, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2754, i16 2503, i16 2391, i16 3065, i16 3110, i16 3138, i16 3163, i16 3190, i16 3229, i16 3288, i16 3338, i16 3357, i16 2036, i16 2070, i16 2097, i16 2129, i16 2156, i16 2186, i16 2247, i16 2274, i16 2298, i16 2344, i16 2365, i16 2019, i16 2801, i16 2684, i16 2405, i16 3341, i16 3027, i16 3348, i16 3422, i16 2091, i16 1485, i16 0, i16 3010, i16 902, i16 0, i16 0, i16 1948, i16 0, i16 0, i16 0, i16 309, i16 0, i16 3418, i16 484, i16 0, i16 0, i16 2567, i16 1944, i16 0, i16 1724, i16 0, i16 1777, i16 492, i16 81, i16 688, i16 1714, i16 1499, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2770, i16 3075, i16 1804, i16 0, i16 1227, i16 1751, i16 2936, i16 0, i16 0, i16 0, i16 121, i16 0, i16 1180, i16 1364, i16 1322, i16 3112, i16 588, i16 347, i16 1982, i16 2162, i16 2938, i16 2304, i16 3215, i16 2528, i16 0, i16 0, i16 0, i16 2814, i16 1442, i16 71, i16 0, i16 593, i16 2775, i16 2240, i16 1741, i16 0, i16 0, i16 0, i16 2692, i16 1966, i16 0, i16 379, i16 1102, i16 3000, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1745, i16 0, i16 0, i16 0, i16 3161, i16 1057, i16 2683, i16 222, i16 2338, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1749, i16 2524, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2334, i16 2349, i16 2368, i16 2390, i16 2411, i16 2434, i16 2461, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3214, i16 3242, i16 3260, i16 3283, i16 3308, i16 3330, i16 3352, i16 0, i16 0, i16 0, i16 0, i16 0, i16 989, i16 982, i16 0, i16 0, i16 0, i16 0, i16 1938, i16 0, i16 0, i16 1681, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 991, i16 0, i16 730, i16 2911, i16 0, i16 0, i16 0, i16 1899, i16 2028, i16 185, i16 2512, i16 2569, i16 2673, i16 2267, i16 2806, i16 2941, i16 2540, i16 2923, i16 2086, i16 0, i16 1892, i16 0, i16 903, i16 2920, i16 2592, i16 2751, i16 1093, i16 1708, i16 0, i16 3005, i16 19, i16 3356, i16 2527, i16 216, i16 2619, i16 2188, i16 2557, i16 627, i16 748, i16 135, i16 1344, i16 0, i16 872, i16 1018, i16 2790, i16 2776, i16 0, i16 669, i16 2721, i16 73, i16 2139, i16 1278, i16 188, i16 0, i16 2662, i16 0, i16 0, i16 0, i16 0, i16 550, i16 1484, i16 1083, i16 1303, i16 3238, i16 2783, i16 2805, i16 2688, i16 2891, i16 2839, i16 2863, i16 2572, i16 2624, i16 2641, i16 2588, i16 2709, i16 2944, i16 2718, i16 2740, i16 2768, i16 2820, i16 2871, i16 2579, i16 2698, i16 215, i16 2959, i16 844, i16 2151, i16 2984, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2272, i16 0, i16 2155, i16 2445, i16 371, i16 1070, i16 2953, i16 1633, i16 389, i16 1272, i16 691, i16 1365, i16 1759, i16 2857, i16 1045, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2902, i16 2263, i16 170, i16 855, i16 3113, i16 685, i16 1379, i16 1226, i16 2082, i16 1311, i16 1643, i16 0, i16 3040, i16 1768, i16 1995, i16 1623, i16 2088, i16 3022, i16 1425, i16 1170, i16 2282, i16 0, i16 0, i16 923, i16 1515, i16 1300, i16 3090, i16 2476, i16 1914, i16 289, i16 587, i16 1937, i16 2546, i16 2536, i16 1449, i16 2962, i16 3207, i16 0, i16 1519, i16 1259, i16 968, i16 1590, i16 2371, i16 3066, i16 1249, i16 173, i16 759, i16 1945, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 526, i16 2096, i16 0, i16 0, i16 0, i16 0, i16 3367, i16 0, i16 541, i16 2231, i16 954, i16 0, i16 0, i16 237, i16 0, i16 0, i16 430, i16 0, i16 0, i16 0, i16 2081, i16 726, i16 2020, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 939, i16 23, i16 0, i16 3109, i16 0, i16 0, i16 0, i16 0, i16 3252, i16 2599, i16 0, i16 965, i16 2221, i16 420, i16 1386, i16 0, i16 1734, i16 0, i16 1824, i16 0, i16 0, i16 0, i16 1969, i16 2259, i16 1509, i16 0, i16 1580, i16 1887, i16 2712, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 194, i16 0, i16 2134, i16 2568, i16 2649, i16 226, i16 663, i16 2048, i16 1862, i16 2460, i16 1400, i16 1299, i16 3369, i16 0, i16 0, i16 1867, i16 465, i16 2620, i16 916, i16 771, i16 940, i16 233, i16 0, i16 3132, i16 2132, i16 720, i16 1020, i16 2050, i16 0, i16 2316, i16 1723, i16 3351, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2246, i16 2032, i16 0, i16 326, i16 3387, i16 714, i16 475, i16 0, i16 1673, i16 0, i16 0, i16 1743, i16 0, i16 3145, i16 0, i16 0, i16 1258, i16 1240, i16 1830, i16 0, i16 70, i16 0, i16 163, i16 0, i16 2817, i16 1230, i16 2481, i16 2253, i16 2880, i16 2551, i16 2701, i16 115, i16 2851, i16 2292, i16 434, i16 0, i16 0, i16 1420, i16 1152, i16 2150, i16 3201, i16 2498, i16 3224, i16 77, i16 0, i16 0, i16 0, i16 690, i16 2538, i16 1903, i16 1901, i16 2812, i16 3396, i16 1959, i16 3023, i16 0, i16 0, i16 0, i16 0, i16 1671, i16 258, i16 1060, i16 0, i16 1587, i16 191, i16 775, i16 935, i16 0, i16 0, i16 743, i16 2615, i16 1010, i16 0, i16 0, i16 0, i16 181, i16 3300, i16 372, i16 0, i16 1689, i16 749, i16 1695, i16 0, i16 2542, i16 2359, i16 418, i16 1730, i16 2771, i16 1735, i16 2470, i16 453, i16 2352, i16 2608, i16 143, i16 1337, i16 2160, i16 1339, i16 1352, i16 78, i16 3124, i16 983, i16 249, i16 0, i16 0, i16 3087, i16 1757, i16 2997, i16 2038, i16 1472, i16 2837, i16 619, i16 3414, i16 3053, i16 79, i16 2061, i16 1885, i16 1132, i16 2055, i16 3118, i16 604, i16 0, i16 0, i16 0, i16 1608, i16 744, i16 0, i16 2560, i16 0, i16 980, i16 1785, i16 301, i16 1489, i16 0, i16 853, i16 2293, i16 1792, i16 0, i16 0, i16 98, i16 1805, i16 456, i16 997, i16 0, i16 849, i16 1011, i16 821, i16 518, i16 0, i16 0, i16 605, i16 630, i16 0, i16 0, i16 0, i16 0, i16 1185, i16 0, i16 0, i16 0, i16 7, i16 0, i16 0, i16 0, i16 609, i16 2570, i16 2946, i16 345, i16 2856, i16 0, i16 415, i16 0, i16 0, i16 0, i16 0, i16 1360, i16 0, i16 2035, i16 1771, i16 2525, i16 0, i16 0, i16 0, i16 0, i16 846, i16 1720, i16 3361, i16 648, i16 132, i16 2252, i16 2080, i16 506, i16 0, i16 0, i16 0, i16 860, i16 214, i16 1522, i16 2819, i16 2671, i16 1051, i16 1551, i16 3107, i16 0, i16 0, i16 0, i16 1806, i16 1286, i16 2745, i16 1782, i16 870, i16 2022, i16 1935, i16 0, i16 1669, i16 809, i16 130, i16 0, i16 299, i16 0, i16 0, i16 2707, i16 2410, i16 0, i16 2602, i16 762, i16 3290, i16 3265, i16 2717, i16 85, i16 1597, i16 2341, i16 1763, i16 612, i16 2140, i16 2694, i16 664, i16 3299, i16 1042, i16 0, i16 1486, i16 1786, i16 2047, i16 2827, i16 1464, i16 3012, i16 2190, i16 0, i16 0, i16 196, i16 2942, i16 0, i16 837, i16 1586, i16 0, i16 1461, i16 710, i16 3077, i16 0, i16 996, i16 0, i16 0, i16 1237, i16 917, i16 457, i16 2194, i16 2954, i16 1220, i16 2780, i16 1444, i16 0, i16 0, i16 676, i16 1788, i16 0, i16 0, i16 971, i16 0, i16 652, i16 0, i16 0, i16 0, i16 0, i16 678, i16 2261, i16 0, i16 0, i16 674, i16 816, i16 2843, i16 286, i16 2900, i16 0, i16 2861, i16 563, i16 567, i16 2255, i16 2850, i16 1872, i16 2321, i16 1947, i16 0, i16 0, i16 854, i16 282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 14592, i16 0, i16 0, i16 0, i16 15360, i16 0, i16 0, i16 0, i16 13825, i16 0, i16 0, i16 0, i16 14338, i16 0, i16 0, i16 0, i16 14595, i16 0, i16 0, i16 0, i16 15620, i16 0, i16 0, i16 0, i16 13317, i16 0, i16 0, i16 0, i16 774, i16 0, i16 0, i16 0, i16 12806, i16 0, i16 0, i16 0, i16 15110, i16 0, i16 0, i16 0, i16 16903, i16 0, i16 0, i16 0, i16 13320, i16 0, i16 0, i16 0, i16 16136, i16 0, i16 0, i16 0, i16 15625, i16 0, i16 0, i16 0, i16 778, i16 0, i16 0, i16 0, i16 13578, i16 0, i16 0, i16 0, i16 14859, i16 0, i16 0, i16 0, i16 12556, i16 0, i16 0, i16 0, i16 14092, i16 0, i16 0, i16 0, i16 16652, i16 0, i16 0, i16 0, i16 12302, i16 0, i16 0, i16 0, i16 15118, i16 0, i16 0, i16 0, i16 17166, i16 0, i16 0, i16 0, i16 12559, i16 0, i16 0, i16 0, i16 12815, i16 0, i16 0, i16 0, i16 12304, i16 0, i16 0, i16 0, i16 14353, i16 0, i16 0, i16 0, i16 16913, i16 0, i16 0, i16 0, i16 14354, i16 0, i16 0, i16 0, i16 14355, i16 0, i16 0, i16 0, i16 16659, i16 0, i16 0, i16 0, i16 13844, i16 0, i16 0, i16 0, i16 13590, i16 0, i16 0, i16 0, i16 13591, i16 0, i16 0, i16 0, i16 15639, i16 0, i16 0, i16 0, i16 280, i16 0, i16 0, i16 0, i16 13336, i16 0, i16 0, i16 0, i16 14616, i16 0, i16 0, i16 0, i16 14105, i16 0, i16 0, i16 0, i16 13594, i16 0, i16 0, i16 0, i16 12571, i16 0, i16 0, i16 0, i16 13340, i16 0, i16 0, i16 0, i16 14620, i16 0, i16 0, i16 0, i16 14365, i16 0, i16 0, i16 0, i16 13854, i16 0, i16 0, i16 0, i16 16926, i16 0, i16 0, i16 0, i16 12831, i16 0, i16 0, i16 0, i16 14623, i16 0, i16 0, i16 0, i16 16415, i16 0, i16 0, i16 0, i16 16671, i16 0, i16 0, i16 0, i16 12576, i16 0, i16 0, i16 0, i16 15648, i16 0, i16 0, i16 0, i16 16928, i16 0, i16 0, i16 0, i16 12833, i16 0, i16 0, i16 0, i16 12322, i16 0, i16 0, i16 0, i16 13346, i16 0, i16 0, i16 0, i16 14370, i16 0, i16 0, i16 0, i16 16418, i16 0, i16 0, i16 0, i16 15907, i16 0, i16 0, i16 0, i16 14631, i16 0, i16 0, i16 0, i16 14632, i16 0, i16 0, i16 0, i16 15400, i16 0, i16 0, i16 0, i16 15656, i16 0, i16 0, i16 0, i16 13353, i16 0, i16 0, i16 0, i16 13609, i16 0, i16 0, i16 0, i16 15145, i16 0, i16 0, i16 0, i16 12330, i16 0, i16 0, i16 0, i16 12587, i16 0, i16 0, i16 0, i16 14891, i16 0, i16 0, i16 0, i16 15147, i16 0, i16 0, i16 0, i16 12588, i16 0, i16 0, i16 0, i16 13868, i16 0, i16 0, i16 0, i16 14381, i16 0, i16 0, i16 0, i16 15149, i16 0, i16 0, i16 0, i16 12334, i16 0, i16 0, i16 0, i16 16430, i16 0, i16 0, i16 0, i16 13359, i16 0, i16 0, i16 0, i16 14383, i16 0, i16 0, i16 0, i16 13616, i16 0, i16 0, i16 0, i16 15664, i16 0, i16 0, i16 0, i16 16432, i16 0, i16 0, i16 0, i16 12593, i16 0, i16 0, i16 0, i16 16945, i16 0, i16 0, i16 0, i16 15666, i16 0, i16 0, i16 0, i16 16690, i16 0, i16 0, i16 0, i16 15923, i16 0, i16 0, i16 0, i16 12340, i16 0, i16 0, i16 0, i16 14388, i16 0, i16 0, i16 0, i16 15924, i16 0, i16 0, i16 0, i16 12853, i16 0, i16 0, i16 0, i16 13112, i16 0, i16 0, i16 0, i16 15928, i16 0, i16 0, i16 0, i16 15929, i16 0, i16 0, i16 0, i16 16185, i16 0, i16 0, i16 0, i16 13626, i16 0, i16 0, i16 0, i16 13882, i16 0, i16 0, i16 0, i16 15930, i16 0, i16 0, i16 0, i16 12347, i16 0, i16 0, i16 0, i16 12603, i16 0, i16 0, i16 0, i16 13627, i16 0, i16 0, i16 0, i16 15675, i16 0, i16 0, i16 0, i16 12860, i16 0, i16 0, i16 0, i16 14396, i16 0, i16 0, i16 0, i16 16444, i16 0, i16 0, i16 0, i16 12351, i16 0, i16 0, i16 0, i16 13631, i16 0, i16 0, i16 0, i16 16703, i16 0, i16 0, i16 0, i16 12353, i16 0, i16 0, i16 0, i16 12865, i16 0, i16 0, i16 0, i16 13377, i16 0, i16 0, i16 0, i16 14145, i16 0, i16 0, i16 0, i16 15425, i16 0, i16 0, i16 0, i16 12866, i16 0, i16 0, i16 0, i16 13634, i16 0, i16 0, i16 0, i16 16962, i16 0, i16 0, i16 0, i16 13380, i16 0, i16 0, i16 0, i16 14916, i16 0, i16 0, i16 0, i16 13125, i16 0, i16 0, i16 0, i16 13893, i16 0, i16 0, i16 0, i16 15429, i16 0, i16 0, i16 0, i16 16709, i16 0, i16 0, i16 0, i16 13638, i16 0, i16 0, i16 0, i16 15430, i16 0, i16 0, i16 0, i16 15686, i16 0, i16 0, i16 0, i16 16966, i16 0, i16 0, i16 0, i16 13383, i16 0, i16 0, i16 0, i16 16455, i16 0, i16 0, i16 0, i16 16456, i16 0, i16 0, i16 0, i16 16712, i16 0, i16 0, i16 0, i16 12361, i16 0, i16 0, i16 0, i16 12617, i16 0, i16 0, i16 0, i16 15177, i16 0, i16 0, i16 0, i16 12874, i16 0, i16 0, i16 0, i16 16970, i16 0, i16 0, i16 0, i16 12875, i16 0, i16 0, i16 0, i16 14412, i16 0, i16 0, i16 0, i16 15948, i16 0, i16 0, i16 0, i16 12621, i16 0, i16 0, i16 0, i16 13646, i16 0, i16 0, i16 0, i16 14414, i16 0, i16 0, i16 0, i16 12623, i16 0, i16 0, i16 0, i16 14159, i16 0, i16 0, i16 0, i16 13136, i16 0, i16 0, i16 0, i16 16464, i16 0, i16 0, i16 0, i16 16976, i16 0, i16 0, i16 0, i16 12882, i16 0, i16 0, i16 0, i16 15698, i16 0, i16 0, i16 0, i16 14419, i16 0, i16 0, i16 0, i16 12373, i16 0, i16 0, i16 0, i16 15957, i16 0, i16 0, i16 0, i16 16981, i16 0, i16 0, i16 0, i16 13398, i16 0, i16 0, i16 0, i16 14934, i16 0, i16 0, i16 0, i16 13400, i16 0, i16 0, i16 0, i16 13145, i16 0, i16 0, i16 0, i16 13402, i16 0, i16 0, i16 0, i16 14682, i16 0, i16 0, i16 0, i16 16730, i16 0, i16 0, i16 0, i16 16986, i16 0, i16 0, i16 0, i16 14939, i16 0, i16 0, i16 0, i16 13148, i16 0, i16 0, i16 0, i16 15708, i16 0, i16 0, i16 0, i16 16476, i16 0, i16 0, i16 0, i16 13149, i16 0, i16 0, i16 0, i16 14173, i16 0, i16 0, i16 0, i16 15453, i16 0, i16 0, i16 0, i16 15709, i16 0, i16 0, i16 0, i16 16733, i16 0, i16 0, i16 0, i16 14174, i16 0, i16 0, i16 0, i16 15710, i16 0, i16 0, i16 0, i16 12383, i16 0, i16 0, i16 0, i16 16735, i16 0, i16 0, i16 0, i16 15712, i16 0, i16 0, i16 0, i16 12641, i16 0, i16 0, i16 0, i16 13409, i16 0, i16 0, i16 0, i16 16226, i16 0, i16 0, i16 0, i16 13923, i16 0, i16 0, i16 0, i16 14179, i16 0, i16 0, i16 0, i16 16483, i16 0, i16 0, i16 0, i16 15716, i16 0, i16 0, i16 0, i16 13414, i16 0, i16 0, i16 0, i16 615, i16 0, i16 0, i16 0, i16 871, i16 0, i16 0, i16 0, i16 12906, i16 0, i16 0, i16 0, i16 14186, i16 0, i16 0, i16 0, i16 14442, i16 0, i16 0, i16 0, i16 14698, i16 0, i16 0, i16 0, i16 16490, i16 0, i16 0, i16 0, i16 12651, i16 0, i16 0, i16 0, i16 13675, i16 0, i16 0, i16 0, i16 13164, i16 0, i16 0, i16 0, i16 13420, i16 0, i16 0, i16 0, i16 15980, i16 0, i16 0, i16 0, i16 13935, i16 0, i16 0, i16 0, i16 13680, i16 0, i16 0, i16 0, i16 16752, i16 0, i16 0, i16 0, i16 13938, i16 0, i16 0, i16 0, i16 15475, i16 0, i16 0, i16 0, i16 15731, i16 0, i16 0, i16 0, i16 12660, i16 0, i16 0, i16 0, i16 15732, i16 0, i16 0, i16 0, i16 14453, i16 0, i16 0, i16 0, i16 14709, i16 0, i16 0, i16 0, i16 15221, i16 0, i16 0, i16 0, i16 12406, i16 0, i16 0, i16 0, i16 13174, i16 0, i16 0, i16 0, i16 12919, i16 0, i16 0, i16 0, i16 16759, i16 0, i16 0, i16 0, i16 15480, i16 0, i16 0, i16 0, i16 14201, i16 0, i16 0, i16 0, i16 15737, i16 0, i16 0, i16 0, i16 15993, i16 0, i16 0, i16 0, i16 16250, i16 0, i16 0, i16 0, i16 12411, i16 0, i16 0, i16 0, i16 636, i16 0, i16 0, i16 0, i16 13180, i16 0, i16 0, i16 0, i16 14460, i16 0, i16 0, i16 0, i16 14716, i16 0, i16 0, i16 0, i16 14972, i16 0, i16 0, i16 0, i16 15228, i16 0, i16 0, i16 0, i16 12669, i16 0, i16 0, i16 0, i16 14205, i16 0, i16 0, i16 0, i16 16765, i16 0, i16 0, i16 0, i16 12926, i16 0, i16 0, i16 0, i16 15486, i16 0, i16 0, i16 0, i16 15742, i16 0, i16 0, i16 0, i16 14207, i16 0, i16 0, i16 0, i16 16767, i16 0, i16 0, i16 0, i16 13185, i16 0, i16 0, i16 0, i16 12931, i16 0, i16 0, i16 0, i16 13187, i16 0, i16 0, i16 0, i16 13699, i16 0, i16 0, i16 0, i16 14467, i16 0, i16 0, i16 0, i16 12421, i16 0, i16 0, i16 0, i16 13701, i16 0, i16 0, i16 0, i16 14725, i16 0, i16 0, i16 0, i16 14981, i16 0, i16 0, i16 0, i16 16261, i16 0, i16 0, i16 0, i16 13190, i16 0, i16 0, i16 0, i16 14214, i16 0, i16 0, i16 0, i16 16006, i16 0, i16 0, i16 0, i16 13703, i16 0, i16 0, i16 0, i16 12425, i16 0, i16 0, i16 0, i16 13705, i16 0, i16 0, i16 0, i16 14473, i16 0, i16 0, i16 0, i16 14985, i16 0, i16 0, i16 0, i16 13962, i16 0, i16 0, i16 0, i16 16266, i16 0, i16 0, i16 0, i16 12939, i16 0, i16 0, i16 0, i16 13453, i16 0, i16 0, i16 0, i16 14221, i16 0, i16 0, i16 0, i16 16013, i16 0, i16 0, i16 0, i16 17037, i16 0, i16 0, i16 0, i16 15503, i16 0, i16 0, i16 0, i16 14737, i16 0, i16 0, i16 0, i16 12946, i16 0, i16 0, i16 0, i16 13458, i16 0, i16 0, i16 0, i16 15506, i16 0, i16 0, i16 0, i16 17042, i16 0, i16 0, i16 0, i16 12435, i16 0, i16 0, i16 0, i16 16019, i16 0, i16 0, i16 0, i16 17043, i16 0, i16 0, i16 0, i16 12948, i16 0, i16 0, i16 0, i16 13972, i16 0, i16 0, i16 0, i16 16532, i16 0, i16 0, i16 0, i16 13975, i16 0, i16 0, i16 0, i16 15768, i16 0, i16 0, i16 0, i16 16793, i16 0, i16 0, i16 0, i16 13466, i16 0, i16 0, i16 0, i16 155, i16 0, i16 0, i16 0, i16 156, i16 0, i16 0, i16 0, i16 13469, i16 0, i16 0, i16 0, i16 16285, i16 0, i16 0, i16 0, i16 12958, i16 0, i16 0, i16 0, i16 13215, i16 0, i16 0, i16 0, i16 13727, i16 0, i16 0, i16 0, i16 14751, i16 0, i16 0, i16 0, i16 15263, i16 0, i16 0, i16 0, i16 15775, i16 0, i16 0, i16 0, i16 12704, i16 0, i16 0, i16 0, i16 16800, i16 0, i16 0, i16 0, i16 13473, i16 0, i16 0, i16 0, i16 14241, i16 0, i16 0, i16 0, i16 15521, i16 0, i16 0, i16 0, i16 16801, i16 0, i16 0, i16 0, i16 12962, i16 0, i16 0, i16 0, i16 15010, i16 0, i16 0, i16 0, i16 15778, i16 0, i16 0, i16 0, i16 15267, i16 0, i16 0, i16 0, i16 14500, i16 0, i16 0, i16 0, i16 165, i16 0, i16 0, i16 0, i16 15781, i16 0, i16 0, i16 0, i16 16293, i16 0, i16 0, i16 0, i16 166, i16 0, i16 0, i16 0, i16 17063, i16 0, i16 0, i16 0, i16 13736, i16 0, i16 0, i16 0, i16 16296, i16 0, i16 0, i16 0, i16 16808, i16 0, i16 0, i16 0, i16 12713, i16 0, i16 0, i16 0, i16 13993, i16 0, i16 0, i16 0, i16 16041, i16 0, i16 0, i16 0, i16 16810, i16 0, i16 0, i16 0, i16 17066, i16 0, i16 0, i16 0, i16 13483, i16 0, i16 0, i16 0, i16 13484, i16 0, i16 0, i16 0, i16 16300, i16 0, i16 0, i16 0, i16 13741, i16 0, i16 0, i16 0, i16 15277, i16 0, i16 0, i16 0, i16 12462, i16 0, i16 0, i16 0, i16 13999, i16 0, i16 0, i16 0, i16 16559, i16 0, i16 0, i16 0, i16 176, i16 0, i16 0, i16 0, i16 16048, i16 0, i16 0, i16 0, i16 13233, i16 0, i16 0, i16 0, i16 14769, i16 0, i16 0, i16 0, i16 16049, i16 0, i16 0, i16 0, i16 16305, i16 0, i16 0, i16 0, i16 13746, i16 0, i16 0, i16 0, i16 13747, i16 0, i16 0, i16 0, i16 180, i16 0, i16 0, i16 0, i16 13237, i16 0, i16 0, i16 0, i16 13749, i16 0, i16 0, i16 0, i16 14773, i16 0, i16 0, i16 0, i16 16309, i16 0, i16 0, i16 0, i16 16821, i16 0, i16 0, i16 0, i16 13750, i16 0, i16 0, i16 0, i16 14263, i16 0, i16 0, i16 0, i16 696, i16 0, i16 0, i16 0, i16 15544, i16 0, i16 0, i16 0, i16 16312, i16 0, i16 0, i16 0, i16 15290, i16 0, i16 0, i16 0, i16 16570, i16 0, i16 0, i16 0, i16 12475, i16 0, i16 0, i16 0, i16 13755, i16 0, i16 0, i16 0, i16 14779, i16 0, i16 0, i16 0, i16 15035, i16 0, i16 0, i16 0, i16 16828, i16 0, i16 0, i16 0, i16 15037, i16 0, i16 0, i16 0, i16 14526, i16 0, i16 0, i16 0, i16 15294, i16 0, i16 0, i16 0, i16 16832, i16 0, i16 0, i16 0, i16 15809, i16 0, i16 0, i16 0, i16 13506, i16 0, i16 0, i16 0, i16 16066, i16 0, i16 0, i16 0, i16 16834, i16 0, i16 0, i16 0, i16 12739, i16 0, i16 0, i16 0, i16 13763, i16 0, i16 0, i16 0, i16 12740, i16 0, i16 0, i16 0, i16 13764, i16 0, i16 0, i16 0, i16 16068, i16 0, i16 0, i16 0, i16 15045, i16 0, i16 0, i16 0, i16 15301, i16 0, i16 0, i16 0, i16 14278, i16 0, i16 0, i16 0, i16 12743, i16 0, i16 0, i16 0, i16 14791, i16 0, i16 0, i16 0, i16 17095, i16 0, i16 0, i16 0, i16 13768, i16 0, i16 0, i16 0, i16 15560, i16 0, i16 0, i16 0, i16 12745, i16 0, i16 0, i16 0, i16 13513, i16 0, i16 0, i16 0, i16 13514, i16 0, i16 0, i16 0, i16 13770, i16 0, i16 0, i16 0, i16 14027, i16 0, i16 0, i16 0, i16 17099, i16 0, i16 0, i16 0, i16 13516, i16 0, i16 0, i16 0, i16 17100, i16 0, i16 0, i16 0, i16 14285, i16 0, i16 0, i16 0, i16 16845, i16 0, i16 0, i16 0, i16 12494, i16 0, i16 0, i16 0, i16 14798, i16 0, i16 0, i16 0, i16 17102, i16 0, i16 0, i16 0, i16 16079, i16 0, i16 0, i16 0, i16 13520, i16 0, i16 0, i16 0, i16 14032, i16 0, i16 0, i16 0, i16 14288, i16 0, i16 0, i16 0, i16 14800, i16 0, i16 0, i16 0, i16 14289, i16 0, i16 0, i16 0, i16 15569, i16 0, i16 0, i16 0, i16 17105, i16 0, i16 0, i16 0, i16 13778, i16 0, i16 0, i16 0, i16 14034, i16 0, i16 0, i16 0, i16 14803, i16 0, i16 0, i16 0, i16 16083, i16 0, i16 0, i16 0, i16 14805, i16 0, i16 0, i16 0, i16 15829, i16 0, i16 0, i16 0, i16 16597, i16 0, i16 0, i16 0, i16 16853, i16 0, i16 0, i16 0, i16 16598, i16 0, i16 0, i16 0, i16 12503, i16 0, i16 0, i16 0, i16 13527, i16 0, i16 0, i16 0, i16 16088, i16 0, i16 0, i16 0, i16 12761, i16 0, i16 0, i16 0, i16 13785, i16 0, i16 0, i16 0, i16 14809, i16 0, i16 0, i16 0, i16 12508, i16 0, i16 0, i16 0, i16 13276, i16 0, i16 0, i16 0, i16 13532, i16 0, i16 0, i16 0, i16 15836, i16 0, i16 0, i16 0, i16 16348, i16 0, i16 0, i16 0, i16 17116, i16 0, i16 0, i16 0, i16 14045, i16 0, i16 0, i16 0, i16 15837, i16 0, i16 0, i16 0, i16 14558, i16 0, i16 0, i16 0, i16 15326, i16 0, i16 0, i16 0, i16 14047, i16 0, i16 0, i16 0, i16 12768, i16 0, i16 0, i16 0, i16 15584, i16 0, i16 0, i16 0, i16 225, i16 0, i16 0, i16 0, i16 13793, i16 0, i16 0, i16 0, i16 13027, i16 0, i16 0, i16 0, i16 14819, i16 0, i16 0, i16 0, i16 16099, i16 0, i16 0, i16 0, i16 16867, i16 0, i16 0, i16 0, i16 14052, i16 0, i16 0, i16 0, i16 17124, i16 0, i16 0, i16 0, i16 14821, i16 0, i16 0, i16 0, i16 15077, i16 0, i16 0, i16 0, i16 13286, i16 0, i16 0, i16 0, i16 12519, i16 0, i16 0, i16 0, i16 12775, i16 0, i16 0, i16 0, i16 13031, i16 0, i16 0, i16 0, i16 14311, i16 0, i16 0, i16 0, i16 14823, i16 0, i16 0, i16 0, i16 13800, i16 0, i16 0, i16 0, i16 16616, i16 0, i16 0, i16 0, i16 14057, i16 0, i16 0, i16 0, i16 14826, i16 0, i16 0, i16 0, i16 15594, i16 0, i16 0, i16 0, i16 13291, i16 0, i16 0, i16 0, i16 16108, i16 0, i16 0, i16 0, i16 237, i16 0, i16 0, i16 0, i16 12781, i16 0, i16 0, i16 0, i16 15597, i16 0, i16 0, i16 0, i16 15342, i16 0, i16 0, i16 0, i16 14063, i16 0, i16 0, i16 0, i16 15087, i16 0, i16 0, i16 0, i16 15344, i16 0, i16 0, i16 0, i16 13809, i16 0, i16 0, i16 0, i16 17138, i16 0, i16 0, i16 0, i16 15091, i16 0, i16 0, i16 0, i16 16627, i16 0, i16 0, i16 0, i16 12788, i16 0, i16 0, i16 0, i16 14580, i16 0, i16 0, i16 0, i16 15348, i16 0, i16 0, i16 0, i16 16628, i16 0, i16 0, i16 0, i16 13813, i16 0, i16 0, i16 0, i16 13302, i16 0, i16 0, i16 0, i16 14326, i16 0, i16 0, i16 0, i16 15094, i16 0, i16 0, i16 0, i16 15863, i16 0, i16 0, i16 0, i16 16375, i16 0, i16 0, i16 0, i16 15353, i16 0, i16 0, i16 0, i16 15609, i16 0, i16 0, i16 0, i16 14586, i16 0, i16 0, i16 0, i16 15354, i16 0, i16 0, i16 0, i16 15355, i16 0, i16 0, i16 0, i16 15867, i16 0, i16 0, i16 0, i16 15100, i16 0, i16 0, i16 0, i16 12285, i16 0, i16 0, i16 0, i16 13053, i16 0, i16 0, i16 0, i16 14333, i16 0, i16 0, i16 0, i16 12542, i16 0, i16 0, i16 0, i16 12798, i16 0, i16 0, i16 0, i16 13310, i16 0, i16 0, i16 0, i16 14846, i16 0, i16 0, i16 0, i16 15103, i16 0, i16 0, i16 256, i16 0, i16 0, i16 0, i16 14080, i16 0, i16 0, i16 0, i16 13313, i16 17049, i16 0, i16 0, i16 12546, i16 0, i16 0, i16 0, i16 14082, i16 0, i16 0, i16 0, i16 15618, i16 0, i16 0, i16 0, i16 12547, i16 0, i16 0, i16 0, i16 16899, i16 0, i16 0, i16 0, i16 14852, i16 17003, i16 0, i16 0, i16 16388, i16 0, i16 0, i16 0, i16 16644, i16 0, i16 0, i16 0, i16 13573, i16 0, i16 0, i16 0, i16 14085, i16 0, i16 0, i16 0, i16 15109, i16 0, i16 0, i16 0, i16 13318, i16 0, i16 0, i16 0, i16 15366, i16 0, i16 0, i16 0, i16 15622, i16 0, i16 0, i16 0, i16 16390, i16 14495, i16 0, i16 0, i16 16902, i16 13005, i16 0, i16 0, i16 12295, i16 12296, i16 0, i16 0, i16 14343, i16 13546, i16 0, i16 0, i16 16647, i16 0, i16 0, i16 0, i16 14344, i16 0, i16 0, i16 0, i16 15880, i16 15683, i16 0, i16 0, i16 265, i16 264, i16 0, i16 0, i16 12553, i16 14944, i16 0, i16 0, i16 13833, i16 0, i16 0, i16 0, i16 14857, i16 0, i16 0, i16 0, i16 15881, i16 0, i16 0, i16 0, i16 16137, i16 0, i16 0, i16 0, i16 16649, i16 0, i16 0, i16 0, i16 17162, i16 0, i16 0, i16 0, i16 12555, i16 16345, i16 0, i16 0, i16 13067, i16 0, i16 0, i16 0, i16 15115, i16 0, i16 0, i16 0, i16 12300, i16 0, i16 0, i16 0, i16 14348, i16 0, i16 0, i16 0, i16 15628, i16 14483, i16 0, i16 0, i16 16140, i16 0, i16 0, i16 0, i16 12557, i16 0, i16 0, i16 0, i16 14349, i16 0, i16 0, i16 0, i16 14605, i16 15757, i16 0, i16 0, i16 15629, i16 0, i16 0, i16 0, i16 15885, i16 0, i16 0, i16 0, i16 782, i16 0, i16 0, i16 0, i16 13582, i16 13021, i16 0, i16 0, i16 14094, i16 0, i16 0, i16 0, i16 14862, i16 0, i16 0, i16 0, i16 16398, i16 14978, i16 0, i16 0, i16 14352, i16 0, i16 0, i16 0, i16 15376, i16 0, i16 0, i16 0, i16 15121, i16 0, i16 0, i16 0, i16 16657, i16 0, i16 0, i16 0, i16 17169, i16 0, i16 0, i16 0, i16 16658, i16 0, i16 0, i16 0, i16 12819, i16 15198, i16 0, i16 0, i16 13331, i16 0, i16 0, i16 0, i16 13588, i16 15915, i16 0, i16 0, i16 16148, i16 0, i16 0, i16 0, i16 13589, i16 14715, i16 0, i16 0, i16 15125, i16 0, i16 0, i16 0, i16 16661, i16 0, i16 0, i16 0, i16 12310, i16 0, i16 0, i16 0, i16 12566, i16 15116, i16 0, i16 0, i16 13334, i16 0, i16 0, i16 0, i16 14102, i16 15783, i16 0, i16 0, i16 13335, i16 0, i16 0, i16 0, i16 16152, i16 0, i16 0, i16 0, i16 12569, i16 0, i16 0, i16 0, i16 282, i16 0, i16 0, i16 0, i16 794, i16 0, i16 0, i16 0, i16 13338, i16 0, i16 0, i16 0, i16 15386, i16 15387, i16 0, i16 0, i16 15643, i16 16909, i16 0, i16 0, i16 16155, i16 14782, i16 0, i16 0, i16 16667, i16 0, i16 0, i16 0, i16 12828, i16 0, i16 0, i16 0, i16 15644, i16 0, i16 0, i16 0, i16 12829, i16 0, i16 0, i16 0, i16 13597, i16 0, i16 0, i16 0, i16 15133, i16 0, i16 0, i16 0, i16 16413, i16 0, i16 0, i16 0, i16 16669, i16 0, i16 0, i16 0, i16 14110, i16 0, i16 0, i16 0, i16 15902, i16 0, i16 0, i16 0, i16 16158, i16 0, i16 0, i16 0, i16 16670, i16 0, i16 0, i16 0, i16 12320, i16 0, i16 0, i16 0, i16 13344, i16 0, i16 0, i16 0, i16 14624, i16 13170, i16 0, i16 0, i16 15392, i16 0, i16 0, i16 0, i16 16672, i16 12786, i16 0, i16 0, i16 12321, i16 0, i16 0, i16 0, i16 13601, i16 0, i16 0, i16 0, i16 14881, i16 17167, i16 0, i16 0, i16 15649, i16 16630, i16 0, i16 0, i16 15905, i16 16062, i16 0, i16 0, i16 16929, i16 0, i16 0, i16 0, i16 14114, i16 0, i16 0, i16 0, i16 14882, i16 0, i16 0, i16 0, i16 15906, i16 12444, i16 0, i16 0, i16 16674, i16 0, i16 0, i16 0, i16 16163, i16 0, i16 0, i16 0, i16 13860, i16 13824, i16 0, i16 0, i16 14116, i16 15911, i16 0, i16 0, i16 14884, i16 0, i16 0, i16 0, i16 12325, i16 0, i16 0, i16 0, i16 12837, i16 0, i16 0, i16 0, i16 16678, i16 0, i16 0, i16 0, i16 12327, i16 0, i16 0, i16 0, i16 14887, i16 0, i16 0, i16 0, i16 16423, i16 0, i16 0, i16 0, i16 12328, i16 16639, i16 0, i16 0, i16 16425, i16 0, i16 0, i16 0, i16 13610, i16 16180, i16 0, i16 0, i16 14890, i16 0, i16 0, i16 0, i16 16170, i16 0, i16 0, i16 0, i16 15403, i16 0, i16 0, i16 0, i16 16171, i16 0, i16 0, i16 0, i16 12332, i16 0, i16 0, i16 0, i16 15404, i16 15291, i16 0, i16 0, i16 14125, i16 0, i16 0, i16 0, i16 14893, i16 15274, i16 0, i16 0, i16 16685, i16 0, i16 0, i16 0, i16 16941, i16 0, i16 0, i16 0, i16 14382, i16 0, i16 0, i16 0, i16 14638, i16 12998, i16 0, i16 0, i16 16174, i16 0, i16 0, i16 0, i16 12591, i16 0, i16 0, i16 0, i16 14639, i16 0, i16 0, i16 0, i16 13360, i16 0, i16 0, i16 0, i16 14384, i16 0, i16 0, i16 0, i16 14640, i16 0, i16 0, i16 0, i16 13361, i16 0, i16 0, i16 0, i16 14641, i16 0, i16 0, i16 0, i16 15409, i16 0, i16 0, i16 0, i16 16433, i16 0, i16 0, i16 0, i16 14642, i16 0, i16 0, i16 0, i16 14898, i16 13976, i16 0, i16 0, i16 15154, i16 0, i16 0, i16 0, i16 12851, i16 15968, i16 0, i16 0, i16 13619, i16 0, i16 0, i16 0, i16 16947, i16 0, i16 0, i16 0, i16 15156, i16 0, i16 0, i16 0, i16 13365, i16 0, i16 0, i16 0, i16 13621, i16 12675, i16 0, i16 0, i16 12598, i16 15066, i16 0, i16 0, i16 12343, i16 13378, i16 0, i16 0, i16 14135, i16 0, i16 0, i16 0, i16 14391, i16 0, i16 0, i16 0, i16 16951, i16 15075, i16 0, i16 0, i16 12856, i16 0, i16 0, i16 0, i16 15160, i16 13821, i16 0, i16 0, i16 14905, i16 0, i16 0, i16 0, i16 12858, i16 0, i16 0, i16 0, i16 13370, i16 0, i16 0, i16 0, i16 14138, i16 0, i16 0, i16 0, i16 14907, i16 0, i16 0, i16 0, i16 13628, i16 0, i16 0, i16 0, i16 13884, i16 0, i16 0, i16 0, i16 16956, i16 0, i16 0, i16 0, i16 13885, i16 0, i16 0, i16 0, i16 14141, i16 0, i16 0, i16 0, i16 14398, i16 0, i16 0, i16 0, i16 15166, i16 0, i16 0, i16 0, i16 16958, i16 0, i16 0, i16 0, i16 13375, i16 0, i16 0, i16 0, i16 13889, i16 0, i16 0, i16 0, i16 14913, i16 14137, i16 0, i16 0, i16 16193, i16 0, i16 0, i16 0, i16 16449, i16 0, i16 0, i16 0, i16 15938, i16 0, i16 0, i16 0, i16 12355, i16 0, i16 0, i16 0, i16 13379, i16 0, i16 0, i16 0, i16 14660, i16 16660, i16 0, i16 0, i16 15684, i16 0, i16 0, i16 0, i16 12613, i16 16161, i16 0, i16 0, i16 12869, i16 0, i16 0, i16 0, i16 16965, i16 0, i16 0, i16 0, i16 13126, i16 0, i16 0, i16 0, i16 14406, i16 0, i16 0, i16 0, i16 12359, i16 0, i16 0, i16 0, i16 13895, i16 15817, i16 0, i16 0, i16 16711, i16 0, i16 0, i16 0, i16 13640, i16 0, i16 0, i16 0, i16 14920, i16 0, i16 0, i16 0, i16 15944, i16 0, i16 0, i16 0, i16 13385, i16 0, i16 0, i16 0, i16 13641, i16 0, i16 0, i16 0, i16 15945, i16 16859, i16 0, i16 0, i16 16457, i16 0, i16 0, i16 0, i16 12362, i16 0, i16 0, i16 0, i16 13130, i16 0, i16 0, i16 0, i16 14154, i16 0, i16 0, i16 0, i16 14666, i16 0, i16 0, i16 0, i16 16202, i16 0, i16 0, i16 0, i16 13131, i16 15689, i16 0, i16 0, i16 13387, i16 0, i16 0, i16 0, i16 14155, i16 0, i16 0, i16 0, i16 15179, i16 12896, i16 0, i16 0, i16 15691, i16 0, i16 0, i16 0, i16 12364, i16 14260, i16 0, i16 0, i16 13388, i16 13894, i16 0, i16 0, i16 13901, i16 0, i16 0, i16 0, i16 14669, i16 15472, i16 0, i16 0, i16 15949, i16 0, i16 0, i16 0, i16 13390, i16 16026, i16 0, i16 0, i16 14670, i16 0, i16 0, i16 0, i16 13135, i16 16906, i16 0, i16 0, i16 13391, i16 0, i16 0, i16 0, i16 16463, i16 0, i16 0, i16 0, i16 13392, i16 13404, i16 0, i16 0, i16 16720, i16 0, i16 0, i16 0, i16 13649, i16 0, i16 0, i16 0, i16 16209, i16 0, i16 0, i16 0, i16 14674, i16 0, i16 0, i16 0, i16 16722, i16 0, i16 0, i16 0, i16 14163, i16 0, i16 0, i16 0, i16 14675, i16 0, i16 0, i16 0, i16 15699, i16 0, i16 0, i16 0, i16 12628, i16 14648, i16 0, i16 0, i16 13396, i16 0, i16 0, i16 0, i16 15188, i16 0, i16 0, i16 0, i16 12886, i16 0, i16 0, i16 0, i16 13910, i16 0, i16 0, i16 0, i16 14422, i16 0, i16 0, i16 0, i16 15958, i16 12707, i16 0, i16 0, i16 16214, i16 0, i16 0, i16 0, i16 16470, i16 0, i16 0, i16 0, i16 12631, i16 13625, i16 0, i16 0, i16 13143, i16 0, i16 0, i16 0, i16 14423, i16 0, i16 0, i16 0, i16 13656, i16 0, i16 0, i16 0, i16 13912, i16 0, i16 0, i16 0, i16 14424, i16 0, i16 0, i16 0, i16 12633, i16 0, i16 0, i16 0, i16 13913, i16 0, i16 0, i16 0, i16 12890, i16 0, i16 0, i16 0, i16 13146, i16 0, i16 0, i16 0, i16 15962, i16 0, i16 0, i16 0, i16 13147, i16 0, i16 0, i16 0, i16 13659, i16 0, i16 0, i16 0, i16 13405, i16 0, i16 0, i16 0, i16 13150, i16 0, i16 0, i16 0, i16 13406, i16 0, i16 0, i16 0, i16 14686, i16 0, i16 0, i16 0, i16 12895, i16 12407, i16 0, i16 0, i16 15455, i16 0, i16 0, i16 0, i16 14176, i16 0, i16 0, i16 0, i16 14432, i16 0, i16 0, i16 0, i16 15200, i16 0, i16 0, i16 0, i16 16736, i16 0, i16 0, i16 0, i16 12897, i16 0, i16 0, i16 0, i16 13921, i16 0, i16 0, i16 0, i16 14689, i16 0, i16 0, i16 0, i16 13154, i16 0, i16 0, i16 0, i16 16994, i16 16995, i16 0, i16 0, i16 15971, i16 15754, i16 0, i16 0, i16 13156, i16 0, i16 0, i16 0, i16 14692, i16 0, i16 0, i16 0, i16 15460, i16 0, i16 0, i16 0, i16 16228, i16 0, i16 0, i16 0, i16 12389, i16 0, i16 0, i16 0, i16 13669, i16 0, i16 0, i16 0, i16 16486, i16 0, i16 0, i16 0, i16 13927, i16 12380, i16 0, i16 0, i16 14951, i16 15813, i16 0, i16 0, i16 15975, i16 0, i16 0, i16 0, i16 16487, i16 0, i16 0, i16 0, i16 12904, i16 12905, i16 0, i16 0, i16 13416, i16 14004, i16 0, i16 0, i16 15977, i16 0, i16 0, i16 0, i16 12394, i16 15982, i16 0, i16 0, i16 15978, i16 0, i16 0, i16 0, i16 13676, i16 0, i16 0, i16 0, i16 15212, i16 0, i16 0, i16 0, i16 14445, i16 0, i16 0, i16 0, i16 12654, i16 0, i16 0, i16 0, i16 13934, i16 0, i16 0, i16 0, i16 13679, i16 0, i16 0, i16 0, i16 14449, i16 0, i16 0, i16 0, i16 16241, i16 0, i16 0, i16 0, i16 13426, i16 16648, i16 0, i16 0, i16 12915, i16 0, i16 0, i16 0, i16 13427, i16 14180, i16 0, i16 0, i16 14451, i16 15717, i16 0, i16 0, i16 16243, i16 0, i16 0, i16 0, i16 14452, i16 0, i16 0, i16 0, i16 14708, i16 0, i16 0, i16 0, i16 12917, i16 0, i16 0, i16 0, i16 14966, i16 0, i16 0, i16 0, i16 13944, i16 0, i16 0, i16 0, i16 15992, i16 0, i16 0, i16 0, i16 16760, i16 0, i16 0, i16 0, i16 17016, i16 15317, i16 0, i16 0, i16 15225, i16 0, i16 0, i16 0, i16 12666, i16 0, i16 0, i16 0, i16 15738, i16 13848, i16 0, i16 0, i16 17018, i16 0, i16 0, i16 0, i16 13947, i16 0, i16 0, i16 0, i16 15996, i16 0, i16 0, i16 0, i16 13181, i16 0, i16 0, i16 0, i16 15229, i16 0, i16 0, i16 0, i16 13438, i16 13197, i16 0, i16 0, i16 15743, i16 0, i16 0, i16 0, i16 17023, i16 0, i16 0, i16 0, i16 13184, i16 0, i16 0, i16 0, i16 13440, i16 0, i16 0, i16 0, i16 13442, i16 0, i16 0, i16 0, i16 16515, i16 0, i16 0, i16 0, i16 12420, i16 0, i16 0, i16 0, i16 13189, i16 0, i16 0, i16 0, i16 13445, i16 13494, i16 0, i16 0, i16 15237, i16 0, i16 0, i16 0, i16 13958, i16 0, i16 0, i16 0, i16 16262, i16 0, i16 0, i16 0, i16 15239, i16 0, i16 0, i16 0, i16 13960, i16 0, i16 0, i16 0, i16 16776, i16 0, i16 0, i16 0, i16 17032, i16 0, i16 0, i16 0, i16 13193, i16 0, i16 0, i16 0, i16 13961, i16 0, i16 0, i16 0, i16 16010, i16 0, i16 0, i16 0, i16 13451, i16 0, i16 0, i16 0, i16 12428, i16 14380, i16 0, i16 0, i16 14732, i16 16704, i16 0, i16 0, i16 15244, i16 0, i16 0, i16 0, i16 16524, i16 15420, i16 0, i16 0, i16 16269, i16 0, i16 0, i16 0, i16 13198, i16 16103, i16 0, i16 0, i16 13710, i16 17081, i16 0, i16 0, i16 13711, i16 0, i16 0, i16 0, i16 14479, i16 14478, i16 0, i16 0, i16 16015, i16 13394, i16 0, i16 0, i16 16271, i16 0, i16 0, i16 0, i16 12688, i16 0, i16 0, i16 0, i16 16784, i16 0, i16 0, i16 0, i16 13201, i16 14579, i16 0, i16 0, i16 13713, i16 0, i16 0, i16 0, i16 14738, i16 0, i16 0, i16 0, i16 12947, i16 0, i16 0, i16 0, i16 13459, i16 14369, i16 0, i16 0, i16 15251, i16 14807, i16 0, i16 0, i16 14740, i16 0, i16 0, i16 0, i16 17044, i16 0, i16 0, i16 0, i16 14229, i16 0, i16 0, i16 0, i16 14741, i16 0, i16 0, i16 0, i16 13718, i16 0, i16 0, i16 0, i16 13974, i16 0, i16 0, i16 0, i16 14230, i16 0, i16 0, i16 0, i16 17046, i16 13544, i16 0, i16 0, i16 12439, i16 0, i16 0, i16 0, i16 16023, i16 0, i16 0, i16 0, i16 17047, i16 15588, i16 0, i16 0, i16 13464, i16 14488, i16 0, i16 0, i16 13209, i16 0, i16 0, i16 0, i16 15257, i16 13925, i16 0, i16 0, i16 16281, i16 0, i16 0, i16 0, i16 16794, i16 13906, i16 0, i16 0, i16 12955, i16 13571, i16 0, i16 0, i16 668, i16 0, i16 0, i16 0, i16 14748, i16 0, i16 0, i16 0, i16 15004, i16 0, i16 0, i16 0, i16 12701, i16 0, i16 0, i16 0, i16 15773, i16 14925, i16 0, i16 0, i16 16029, i16 0, i16 0, i16 0, i16 17053, i16 0, i16 0, i16 0, i16 12446, i16 0, i16 0, i16 0, i16 13982, i16 0, i16 0, i16 0, i16 14494, i16 0, i16 0, i16 0, i16 17054, i16 16165, i16 0, i16 0, i16 14239, i16 0, i16 0, i16 0, i16 15007, i16 0, i16 0, i16 0, i16 16031, i16 0, i16 0, i16 0, i16 13216, i16 15956, i16 0, i16 0, i16 12705, i16 0, i16 0, i16 0, i16 16289, i16 0, i16 0, i16 0, i16 674, i16 0, i16 0, i16 0, i16 15266, i16 0, i16 0, i16 0, i16 16290, i16 0, i16 0, i16 0, i16 16546, i16 0, i16 0, i16 0, i16 16802, i16 0, i16 0, i16 0, i16 12451, i16 0, i16 0, i16 0, i16 15523, i16 0, i16 0, i16 0, i16 16291, i16 0, i16 0, i16 0, i16 12452, i16 12408, i16 0, i16 0, i16 12708, i16 0, i16 0, i16 0, i16 12964, i16 0, i16 0, i16 0, i16 14244, i16 0, i16 0, i16 0, i16 16292, i16 0, i16 0, i16 0, i16 15269, i16 0, i16 0, i16 0, i16 16037, i16 0, i16 0, i16 0, i16 16549, i16 0, i16 0, i16 0, i16 12710, i16 15019, i16 0, i16 0, i16 15782, i16 0, i16 0, i16 0, i16 16294, i16 0, i16 0, i16 0, i16 12455, i16 17045, i16 0, i16 0, i16 12711, i16 13480, i16 0, i16 0, i16 13479, i16 0, i16 0, i16 0, i16 13991, i16 0, i16 0, i16 0, i16 14503, i16 0, i16 0, i16 0, i16 15527, i16 0, i16 0, i16 0, i16 16295, i16 16721, i16 0, i16 0, i16 12456, i16 0, i16 0, i16 0, i16 13224, i16 12838, i16 0, i16 0, i16 15784, i16 0, i16 0, i16 0, i16 13737, i16 0, i16 0, i16 0, i16 13738, i16 0, i16 0, i16 0, i16 13739, i16 0, i16 0, i16 0, i16 13995, i16 14438, i16 0, i16 0, i16 14763, i16 0, i16 0, i16 0, i16 16299, i16 13632, i16 0, i16 0, i16 13996, i16 14799, i16 0, i16 0, i16 15788, i16 13599, i16 0, i16 0, i16 14253, i16 12873, i16 0, i16 0, i16 14765, i16 0, i16 0, i16 0, i16 17069, i16 0, i16 0, i16 0, i16 174, i16 0, i16 0, i16 0, i16 15790, i16 0, i16 0, i16 0, i16 13743, i16 0, i16 0, i16 0, i16 15279, i16 16077, i16 0, i16 0, i16 13744, i16 13482, i16 0, i16 0, i16 15792, i16 0, i16 0, i16 0, i16 16816, i16 0, i16 0, i16 0, i16 14513, i16 15755, i16 0, i16 0, i16 178, i16 0, i16 0, i16 0, i16 13490, i16 16151, i16 0, i16 0, i16 14514, i16 16601, i16 0, i16 0, i16 15026, i16 0, i16 0, i16 0, i16 15538, i16 16535, i16 0, i16 0, i16 16562, i16 0, i16 0, i16 0, i16 16818, i16 0, i16 0, i16 0, i16 691, i16 0, i16 0, i16 0, i16 14515, i16 0, i16 0, i16 0, i16 16307, i16 0, i16 0, i16 0, i16 12980, i16 12981, i16 0, i16 0, i16 13492, i16 0, i16 0, i16 0, i16 15028, i16 0, i16 0, i16 0, i16 15284, i16 14607, i16 0, i16 0, i16 15285, i16 0, i16 0, i16 0, i16 694, i16 785, i16 0, i16 0, i16 12470, i16 15646, i16 0, i16 0, i16 15798, i16 0, i16 0, i16 0, i16 12983, i16 13478, i16 0, i16 0, i16 13495, i16 0, i16 0, i16 0, i16 12728, i16 16993, i16 0, i16 0, i16 12984, i16 14160, i16 0, i16 0, i16 13496, i16 0, i16 0, i16 0, i16 185, i16 184, i16 0, i16 0, i16 12985, i16 0, i16 0, i16 0, i16 15033, i16 0, i16 0, i16 0, i16 13498, i16 0, i16 0, i16 0, i16 16314, i16 16812, i16 0, i16 0, i16 187, i16 186, i16 0, i16 0, i16 699, i16 792, i16 0, i16 0, i16 14011, i16 12526, i16 0, i16 0, i16 16315, i16 0, i16 0, i16 0, i16 16571, i16 0, i16 0, i16 0, i16 13500, i16 0, i16 0, i16 0, i16 701, i16 793, i16 0, i16 0, i16 12733, i16 0, i16 0, i16 0, i16 13501, i16 0, i16 0, i16 0, i16 702, i16 795, i16 0, i16 0, i16 13246, i16 15414, i16 0, i16 0, i16 14014, i16 0, i16 0, i16 0, i16 191, i16 190, i16 0, i16 0, i16 12735, i16 0, i16 0, i16 0, i16 12991, i16 0, i16 0, i16 0, i16 13503, i16 0, i16 0, i16 0, i16 14271, i16 0, i16 0, i16 0, i16 14527, i16 14060, i16 0, i16 0, i16 12480, i16 0, i16 0, i16 0, i16 13249, i16 0, i16 0, i16 0, i16 15553, i16 14199, i16 0, i16 0, i16 16065, i16 0, i16 0, i16 0, i16 12738, i16 0, i16 0, i16 0, i16 14530, i16 14206, i16 0, i16 0, i16 14786, i16 0, i16 0, i16 0, i16 12995, i16 0, i16 0, i16 0, i16 14531, i16 0, i16 0, i16 0, i16 16579, i16 0, i16 0, i16 0, i16 15556, i16 0, i16 0, i16 0, i16 16836, i16 0, i16 0, i16 0, i16 14277, i16 0, i16 0, i16 0, i16 16325, i16 0, i16 0, i16 0, i16 16837, i16 0, i16 0, i16 0, i16 12742, i16 0, i16 0, i16 0, i16 16839, i16 0, i16 0, i16 0, i16 200, i16 201, i16 0, i16 0, i16 15304, i16 15303, i16 0, i16 0, i16 15816, i16 14955, i16 0, i16 0, i16 16328, i16 0, i16 0, i16 0, i16 16584, i16 0, i16 0, i16 0, i16 16073, i16 0, i16 0, i16 0, i16 16329, i16 0, i16 0, i16 0, i16 17097, i16 0, i16 0, i16 0, i16 202, i16 0, i16 0, i16 0, i16 13258, i16 0, i16 0, i16 0, i16 14794, i16 0, i16 0, i16 0, i16 15050, i16 0, i16 0, i16 0, i16 15562, i16 0, i16 0, i16 0, i16 16074, i16 0, i16 0, i16 0, i16 13260, i16 0, i16 0, i16 0, i16 13772, i16 15199, i16 0, i16 0, i16 16332, i16 0, i16 0, i16 0, i16 16588, i16 0, i16 0, i16 0, i16 13517, i16 0, i16 0, i16 0, i16 13262, i16 0, i16 0, i16 0, i16 15822, i16 0, i16 0, i16 0, i16 14543, i16 12589, i16 0, i16 0, i16 16335, i16 0, i16 0, i16 0, i16 12752, i16 13794, i16 0, i16 0, i16 13264, i16 0, i16 0, i16 0, i16 15057, i16 13046, i16 0, i16 0, i16 16849, i16 16921, i16 0, i16 0, i16 210, i16 211, i16 0, i16 0, i16 13522, i16 0, i16 0, i16 0, i16 14802, i16 0, i16 0, i16 0, i16 15314, i16 13029, i16 0, i16 0, i16 12499, i16 0, i16 0, i16 0, i16 13011, i16 0, i16 0, i16 0, i16 14035, i16 16620, i16 0, i16 0, i16 212, i16 213, i16 0, i16 0, i16 16084, i16 0, i16 0, i16 0, i16 16340, i16 0, i16 0, i16 0, i16 16342, i16 0, i16 0, i16 0, i16 13783, i16 0, i16 0, i16 0, i16 13016, i16 14788, i16 0, i16 0, i16 14808, i16 0, i16 0, i16 0, i16 15064, i16 0, i16 0, i16 0, i16 14041, i16 14269, i16 0, i16 0, i16 14297, i16 0, i16 0, i16 0, i16 15065, i16 0, i16 0, i16 0, i16 15833, i16 0, i16 0, i16 0, i16 13018, i16 0, i16 0, i16 0, i16 219, i16 0, i16 0, i16 0, i16 13787, i16 0, i16 0, i16 0, i16 14299, i16 0, i16 0, i16 0, i16 14811, i16 0, i16 0, i16 0, i16 15324, i16 16112, i16 0, i16 0, i16 13277, i16 0, i16 0, i16 0, i16 16605, i16 0, i16 0, i16 0, i16 13534, i16 0, i16 0, i16 0, i16 13790, i16 0, i16 0, i16 0, i16 15070, i16 0, i16 0, i16 0, i16 13791, i16 0, i16 0, i16 0, i16 14559, i16 0, i16 0, i16 0, i16 16607, i16 0, i16 0, i16 0, i16 16863, i16 14628, i16 0, i16 0, i16 17119, i16 0, i16 0, i16 0, i16 13024, i16 13060, i16 0, i16 0, i16 13536, i16 0, i16 0, i16 0, i16 14048, i16 0, i16 0, i16 0, i16 14816, i16 0, i16 0, i16 0, i16 15328, i16 0, i16 0, i16 0, i16 16352, i16 16046, i16 0, i16 0, i16 12513, i16 0, i16 0, i16 0, i16 14817, i16 0, i16 0, i16 0, i16 15329, i16 0, i16 0, i16 0, i16 15841, i16 0, i16 0, i16 0, i16 17121, i16 0, i16 0, i16 0, i16 13538, i16 0, i16 0, i16 0, i16 14050, i16 0, i16 0, i16 0, i16 15842, i16 14561, i16 0, i16 0, i16 16098, i16 0, i16 0, i16 0, i16 14564, i16 0, i16 0, i16 0, i16 15332, i16 0, i16 0, i16 0, i16 15845, i16 12345, i16 0, i16 0, i16 13798, i16 15306, i16 0, i16 0, i16 17126, i16 12973, i16 0, i16 0, i16 12520, i16 0, i16 0, i16 0, i16 14056, i16 0, i16 0, i16 0, i16 14568, i16 0, i16 0, i16 0, i16 14824, i16 0, i16 0, i16 0, i16 17129, i16 0, i16 0, i16 0, i16 12522, i16 12391, i16 0, i16 0, i16 13802, i16 0, i16 0, i16 0, i16 14570, i16 16105, i16 0, i16 0, i16 16106, i16 15989, i16 0, i16 0, i16 14827, i16 13366, i16 0, i16 0, i16 16875, i16 0, i16 0, i16 0, i16 15084, i16 15744, i16 0, i16 0, i16 13293, i16 0, i16 0, i16 0, i16 13549, i16 0, i16 0, i16 0, i16 14317, i16 0, i16 0, i16 0, i16 15853, i16 16114, i16 0, i16 0, i16 15854, i16 0, i16 0, i16 0, i16 13039, i16 0, i16 0, i16 0, i16 14064, i16 0, i16 0, i16 0, i16 14832, i16 17077, i16 0, i16 0, i16 15088, i16 0, i16 0, i16 0, i16 13553, i16 0, i16 0, i16 0, i16 14577, i16 0, i16 0, i16 0, i16 14833, i16 0, i16 0, i16 0, i16 15857, i16 0, i16 0, i16 0, i16 15090, i16 15635, i16 0, i16 0, i16 15346, i16 0, i16 0, i16 0, i16 15858, i16 14520, i16 0, i16 0, i16 16882, i16 0, i16 0, i16 0, i16 244, i16 243, i16 0, i16 0, i16 13812, i16 0, i16 0, i16 0, i16 14068, i16 0, i16 0, i16 0, i16 14325, i16 0, i16 0, i16 0, i16 17141, i16 16512, i16 0, i16 0, i16 13558, i16 0, i16 0, i16 0, i16 16374, i16 15645, i16 0, i16 0, i16 12535, i16 0, i16 0, i16 0, i16 16120, i16 0, i16 0, i16 0, i16 16376, i16 0, i16 0, i16 0, i16 17144, i16 16840, i16 0, i16 0, i16 14585, i16 0, i16 0, i16 0, i16 15097, i16 16614, i16 0, i16 0, i16 16121, i16 0, i16 0, i16 0, i16 16889, i16 0, i16 0, i16 0, i16 12794, i16 14493, i16 0, i16 0, i16 13562, i16 0, i16 0, i16 0, i16 14074, i16 0, i16 0, i16 0, i16 14587, i16 0, i16 0, i16 0, i16 12540, i16 0, i16 0, i16 0, i16 16124, i16 16211, i16 0, i16 0, i16 13565, i16 16820, i16 0, i16 0, i16 15101, i16 0, i16 0, i16 0, i16 15357, i16 0, i16 0, i16 0, i16 16638, i16 0, i16 0, i16 0, i16 13055, i16 0, i16 0, i16 0, i16 15871, i16 0, i16 0, i16 0, i16 16127, i16 0, i16 0, i16 0, i16 16383, i16 0, i16 0, i16 0, i16 16895, i16 0, i16 0, i16 14336, i16 0, i16 0, i16 0, i16 15872, i16 0, i16 0, i16 0, i16 16896, i16 12854, i16 0, i16 0, i16 12289, i16 0, i16 0, i16 0, i16 13057, i16 0, i16 0, i16 0, i16 14593, i16 0, i16 0, i16 0, i16 15361, i16 14291, i16 12990, i16 0, i16 16129, i16 0, i16 0, i16 0, i16 2, i16 3, i16 0, i16 0, i16 12290, i16 0, i16 0, i16 0, i16 13826, i16 14262, i16 0, i16 0, i16 15106, i16 0, i16 0, i16 0, i16 17154, i16 0, i16 0, i16 0, i16 12291, i16 0, i16 0, i16 0, i16 13315, i16 0, i16 0, i16 0, i16 14339, i16 12729, i16 13820, i16 0, i16 14851, i16 0, i16 0, i16 0, i16 15875, i16 0, i16 0, i16 0, i16 4, i16 5, i16 6, i16 0, i16 12292, i16 14533, i16 0, i16 0, i16 13316, i16 0, i16 0, i16 0, i16 16900, i16 12787, i16 15477, i16 0, i16 17156, i16 0, i16 14379, i16 0, i16 14341, i16 0, i16 0, i16 0, i16 14597, i16 0, i16 0, i16 0, i16 12550, i16 0, i16 0, i16 0, i16 15878, i16 0, i16 0, i16 0, i16 13575, i16 0, i16 0, i16 0, i16 14087, i16 13298, i16 0, i16 0, i16 14599, i16 0, i16 0, i16 0, i16 16135, i16 13144, i16 0, i16 0, i16 16391, i16 0, i16 0, i16 0, i16 520, i16 521, i16 522, i16 0, i16 13832, i16 0, i16 0, i16 0, i16 14088, i16 14747, i16 13614, i16 0, i16 14600, i16 14465, i16 0, i16 0, i16 16392, i16 0, i16 0, i16 0, i16 12809, i16 0, i16 0, i16 0, i16 13577, i16 15658, i16 0, i16 0, i16 13066, i16 0, i16 0, i16 0, i16 15114, i16 0, i16 15163, i16 0, i16 16650, i16 0, i16 15347, i16 0, i16 12811, i16 0, i16 0, i16 0, i16 13579, i16 0, i16 0, i16 0, i16 16139, i16 0, i16 13204, i16 0, i16 16651, i16 0, i16 12426, i16 0, i16 17163, i16 0, i16 0, i16 0, i16 14860, i16 0, i16 0, i16 0, i16 15884, i16 13063, i16 12474, i16 0, i16 17164, i16 17165, i16 0, i16 0, i16 13325, i16 16860, i16 0, i16 0, i16 16397, i16 0, i16 0, i16 0, i16 13326, i16 0, i16 0, i16 0, i16 16654, i16 0, i16 0, i16 0, i16 16910, i16 0, i16 0, i16 0, i16 783, i16 0, i16 0, i16 0, i16 13071, i16 16937, i16 15040, i16 0, i16 13583, i16 0, i16 0, i16 0, i16 14863, i16 0, i16 0, i16 0, i16 15119, i16 0, i16 16996, i16 0, i16 16655, i16 0, i16 16656, i16 0, i16 13584, i16 0, i16 15449, i16 0, i16 14608, i16 14546, i16 0, i16 0, i16 15120, i16 0, i16 0, i16 0, i16 16400, i16 0, i16 0, i16 0, i16 13329, i16 0, i16 0, i16 0, i16 14609, i16 17131, i16 0, i16 0, i16 15889, i16 12524, i16 0, i16 0, i16 786, i16 695, i16 787, i16 0, i16 12818, i16 12650, i16 0, i16 0, i16 13843, i16 0, i16 15910, i16 0, i16 14099, i16 0, i16 0, i16 0, i16 15123, i16 0, i16 13134, i16 0, i16 15891, i16 14665, i16 17026, i16 0, i16 14356, i16 13443, i16 14504, i16 0, i16 15124, i16 0, i16 0, i16 0, i16 16404, i16 0, i16 13658, i16 0, i16 16917, i16 0, i16 0, i16 0, i16 14358, i16 13399, i16 0, i16 0, i16 15126, i16 0, i16 0, i16 0, i16 15894, i16 12941, i16 12942, i16 0, i16 12311, i16 0, i16 0, i16 0, i16 14103, i16 0, i16 16763, i16 0, i16 15895, i16 0, i16 17074, i16 0, i16 16663, i16 0, i16 0, i16 0, i16 16919, i16 0, i16 0, i16 0, i16 15128, i16 0, i16 0, i16 0, i16 16664, i16 0, i16 0, i16 0, i16 16920, i16 0, i16 13816, i16 0, i16 13337, i16 0, i16 0, i16 0, i16 13849, i16 0, i16 15779, i16 0, i16 14873, i16 0, i16 0, i16 0, i16 15129, i16 0, i16 0, i16 0, i16 15641, i16 0, i16 0, i16 0, i16 15897, i16 0, i16 12885, i16 0, i16 13850, i16 0, i16 0, i16 0, i16 14362, i16 0, i16 0, i16 0, i16 16666, i16 16590, i16 15456, i16 0, i16 1051, i16 0, i16 0, i16 0, i16 16668, i16 16710, i16 12369, i16 0, i16 797, i16 703, i16 796, i16 0, i16 13853, i16 0, i16 0, i16 0, i16 15901, i16 16166, i16 14550, i16 0, i16 16157, i16 0, i16 0, i16 0, i16 13342, i16 16181, i16 12441, i16 0, i16 15134, i16 15135, i16 0, i16 0, i16 16414, i16 0, i16 0, i16 0, i16 287, i16 284, i16 0, i16 0, i16 14879, i16 16693, i16 0, i16 0, i16 16927, i16 13356, i16 0, i16 0, i16 288, i16 289, i16 290, i16 0, i16 12832, i16 16729, i16 0, i16 0, i16 15136, i16 0, i16 15657, i16 0, i16 15137, i16 0, i16 15988, i16 0, i16 16417, i16 0, i16 0, i16 0, i16 16673, i16 0, i16 13283, i16 0, i16 13602, i16 0, i16 0, i16 0, i16 14115, i16 0, i16 0, i16 0, i16 14371, i16 0, i16 0, i16 0, i16 16675, i16 0, i16 0, i16 0, i16 12580, i16 16042, i16 12849, i16 0, i16 13348, i16 14712, i16 15662, i16 0, i16 15140, i16 0, i16 0, i16 0, i16 15909, i16 0, i16 0, i16 0, i16 16933, i16 0, i16 13345, i16 0, i16 12582, i16 0, i16 13797, i16 0, i16 13350, i16 0, i16 0, i16 0, i16 13862, i16 0, i16 0, i16 0, i16 16934, i16 0, i16 0, i16 0, i16 15143, i16 16324, i16 0, i16 0, i16 12840, i16 15772, i16 0, i16 0, i16 14888, i16 14337, i16 0, i16 0, i16 16424, i16 0, i16 0, i16 0, i16 16680, i16 0, i16 0, i16 0, i16 16936, i16 12953, i16 0, i16 0, i16 14633, i16 0, i16 0, i16 0, i16 14889, i16 12899, i16 0, i16 0, i16 15401, i16 15603, i16 0, i16 0, i16 15146, i16 0, i16 0, i16 0, i16 13611, i16 0, i16 0, i16 0, i16 16684, i16 0, i16 0, i16 0, i16 14637, i16 0, i16 0, i16 0, i16 16429, i16 0, i16 0, i16 0, i16 12590, i16 0, i16 0, i16 0, i16 13358, i16 13570, i16 14553, i16 0, i16 14126, i16 0, i16 0, i16 0, i16 14894, i16 0, i16 0, i16 0, i16 15407, i16 15848, i16 16384, i16 0, i16 15919, i16 0, i16 0, i16 0, i16 16431, i16 0, i16 16343, i16 0, i16 16687, i16 0, i16 0, i16 0, i16 16943, i16 0, i16 0, i16 0, i16 15408, i16 0, i16 14373, i16 0, i16 15920, i16 0, i16 0, i16 0, i16 16176, i16 0, i16 16162, i16 0, i16 16688, i16 0, i16 16319, i16 0, i16 13617, i16 0, i16 0, i16 0, i16 14385, i16 0, i16 0, i16 0, i16 12338, i16 0, i16 0, i16 0, i16 12594, i16 0, i16 13859, i16 0, i16 12850, i16 0, i16 0, i16 0, i16 13618, i16 0, i16 0, i16 0, i16 14386, i16 0, i16 12777, i16 0, i16 15922, i16 16156, i16 13300, i16 0, i16 13363, i16 12934, i16 0, i16 0, i16 15668, i16 0, i16 0, i16 0, i16 16692, i16 0, i16 0, i16 0, i16 12341, i16 0, i16 0, i16 0, i16 14645, i16 13454, i16 13712, i16 0, i16 15925, i16 14582, i16 0, i16 0, i16 12342, i16 0, i16 0, i16 0, i16 13110, i16 0, i16 0, i16 0, i16 13622, i16 16877, i16 0, i16 0, i16 14134, i16 16977, i16 14101, i16 0, i16 15926, i16 0, i16 14100, i16 0, i16 12855, i16 0, i16 0, i16 0, i16 13111, i16 0, i16 0, i16 0, i16 15415, i16 0, i16 13550, i16 0, i16 12344, i16 14324, i16 0, i16 0, i16 13368, i16 17123, i16 0, i16 0, i16 13880, i16 0, i16 0, i16 0, i16 14136, i16 15933, i16 16499, i16 0, i16 15672, i16 0, i16 0, i16 0, i16 16184, i16 0, i16 0, i16 0, i16 14649, i16 17057, i16 12572, i16 0, i16 15161, i16 0, i16 13899, i16 0, i16 16697, i16 14679, i16 0, i16 0, i16 12602, i16 16064, i16 0, i16 0, i16 14650, i16 0, i16 0, i16 0, i16 14906, i16 15697, i16 14606, i16 0, i16 16186, i16 0, i16 0, i16 0, i16 16954, i16 0, i16 12615, i16 0, i16 12859, i16 0, i16 0, i16 0, i16 13883, i16 0, i16 0, i16 0, i16 16443, i16 0, i16 0, i16 0, i16 16955, i16 0, i16 0, i16 0, i16 1084, i16 0, i16 0, i16 0, i16 13372, i16 0, i16 15883, i16 0, i16 14652, i16 0, i16 15961, i16 0, i16 12605, i16 16723, i16 0, i16 0, i16 13373, i16 0, i16 0, i16 0, i16 14397, i16 0, i16 0, i16 0, i16 14653, i16 0, i16 0, i16 0, i16 14909, i16 15552, i16 14122, i16 0, i16 12862, i16 0, i16 0, i16 0, i16 13374, i16 0, i16 13511, i16 0, i16 12607, i16 0, i16 0, i16 0, i16 14143, i16 0, i16 0, i16 0, i16 15679, i16 0, i16 16861, i16 0, i16 16191, i16 0, i16 0, i16 0, i16 12352, i16 0, i16 13142, i16 0, i16 12608, i16 0, i16 0, i16 0, i16 13120, i16 0, i16 0, i16 0, i16 13376, i16 16172, i16 12431, i16 0, i16 13888, i16 0, i16 0, i16 0, i16 14400, i16 0, i16 0, i16 0, i16 15680, i16 13424, i16 0, i16 0, i16 13633, i16 0, i16 0, i16 0, i16 15170, i16 0, i16 0, i16 0, i16 15682, i16 0, i16 0, i16 0, i16 16194, i16 0, i16 12409, i16 0, i16 14403, i16 0, i16 15776, i16 0, i16 14659, i16 14658, i16 0, i16 0, i16 15171, i16 0, i16 0, i16 0, i16 16195, i16 0, i16 13887, i16 0, i16 13124, i16 0, i16 0, i16 0, i16 13636, i16 0, i16 0, i16 0, i16 14404, i16 0, i16 0, i16 0, i16 16196, i16 0, i16 0, i16 0, i16 16452, i16 0, i16 0, i16 0, i16 16964, i16 0, i16 14108, i16 0, i16 14661, i16 0, i16 12817, i16 0, i16 14917, i16 16969, i16 12392, i16 0, i16 15941, i16 0, i16 15896, i16 0, i16 16197, i16 0, i16 0, i16 0, i16 16454, i16 0, i16 0, i16 0, i16 13639, i16 0, i16 0, i16 0, i16 14919, i16 0, i16 0, i16 0, i16 15175, i16 0, i16 14644, i16 0, i16 15687, i16 0, i16 16380, i16 0, i16 13384, i16 0, i16 0, i16 0, i16 13896, i16 0, i16 0, i16 0, i16 14408, i16 0, i16 0, i16 0, i16 13897, i16 0, i16 0, i16 0, i16 12618, i16 17068, i16 0, i16 0, i16 13642, i16 16781, i16 0, i16 0, i16 13898, i16 16924, i16 0, i16 0, i16 15178, i16 14797, i16 0, i16 0, i16 12363, i16 0, i16 0, i16 0, i16 14411, i16 16971, i16 0, i16 0, i16 14923, i16 0, i16 15843, i16 0, i16 15947, i16 0, i16 0, i16 0, i16 16459, i16 0, i16 0, i16 0, i16 16715, i16 0, i16 0, i16 0, i16 14156, i16 0, i16 0, i16 0, i16 12877, i16 0, i16 16806, i16 0, i16 13389, i16 0, i16 0, i16 0, i16 14157, i16 0, i16 0, i16 0, i16 16461, i16 0, i16 16018, i16 0, i16 16717, i16 0, i16 0, i16 0, i16 13902, i16 0, i16 0, i16 0, i16 14926, i16 0, i16 12720, i16 0, i16 15694, i16 0, i16 15793, i16 0, i16 15950, i16 0, i16 0, i16 0, i16 16974, i16 0, i16 0, i16 0, i16 12879, i16 0, i16 0, i16 0, i16 14671, i16 0, i16 0, i16 0, i16 15439, i16 0, i16 0, i16 0, i16 15695, i16 0, i16 0, i16 0, i16 14416, i16 0, i16 0, i16 0, i16 15696, i16 0, i16 16589, i16 0, i16 14673, i16 0, i16 0, i16 0, i16 16465, i16 0, i16 15220, i16 0, i16 14162, i16 0, i16 0, i16 0, i16 16466, i16 15454, i16 13875, i16 0, i16 12627, i16 0, i16 0, i16 0, i16 13139, i16 0, i16 15444, i16 0, i16 13395, i16 0, i16 0, i16 0, i16 13651, i16 0, i16 0, i16 0, i16 16979, i16 0, i16 0, i16 0, i16 13140, i16 0, i16 0, i16 0, i16 13908, i16 0, i16 0, i16 0, i16 14420, i16 0, i16 0, i16 0, i16 14676, i16 0, i16 0, i16 0, i16 16212, i16 0, i16 0, i16 0, i16 16724, i16 0, i16 0, i16 0, i16 13141, i16 15167, i16 12734, i16 0, i16 13653, i16 0, i16 0, i16 0, i16 14421, i16 0, i16 12527, i16 0, i16 14677, i16 0, i16 0, i16 0, i16 15701, i16 0, i16 0, i16 0, i16 16213, i16 0, i16 0, i16 0, i16 12374, i16 12375, i16 0, i16 0, i16 12630, i16 0, i16 0, i16 0, i16 14678, i16 0, i16 0, i16 0, i16 16982, i16 13183, i16 0, i16 0, i16 13655, i16 0, i16 16233, i16 0, i16 14935, i16 0, i16 0, i16 0, i16 15447, i16 0, i16 0, i16 0, i16 16471, i16 13382, i16 0, i16 0, i16 16983, i16 15838, i16 14030, i16 0, i16 12376, i16 0, i16 0, i16 0, i16 14168, i16 0, i16 0, i16 0, i16 16216, i16 0, i16 14287, i16 0, i16 16728, i16 0, i16 0, i16 0, i16 89, i16 0, i16 0, i16 0, i16 14425, i16 0, i16 0, i16 0, i16 15705, i16 0, i16 0, i16 0, i16 16473, i16 0, i16 13593, i16 0, i16 16985, i16 0, i16 13907, i16 0, i16 90, i16 91, i16 92, i16 0, i16 12891, i16 0, i16 0, i16 0, i16 13915, i16 0, i16 0, i16 0, i16 14171, i16 0, i16 0, i16 0, i16 15707, i16 0, i16 0, i16 0, i16 12892, i16 0, i16 0, i16 0, i16 13660, i16 0, i16 0, i16 0, i16 14428, i16 0, i16 0, i16 0, i16 14940, i16 0, i16 0, i16 0, i16 16220, i16 16689, i16 15887, i16 0, i16 16988, i16 0, i16 0, i16 0, i16 12893, i16 0, i16 12842, i16 0, i16 14685, i16 16372, i16 0, i16 0, i16 13918, i16 12927, i16 0, i16 0, i16 16734, i16 0, i16 15318, i16 0, i16 13663, i16 0, i16 16595, i16 0, i16 12640, i16 0, i16 0, i16 0, i16 14945, i16 0, i16 0, i16 0, i16 15457, i16 0, i16 0, i16 0, i16 15713, i16 16567, i16 0, i16 0, i16 16225, i16 0, i16 15660, i16 0, i16 12386, i16 0, i16 0, i16 0, i16 14690, i16 0, i16 17039, i16 0, i16 16482, i16 0, i16 0, i16 0, i16 12643, i16 15955, i16 12727, i16 0, i16 13155, i16 12358, i16 0, i16 0, i16 13411, i16 17107, i16 0, i16 0, i16 16227, i16 0, i16 0, i16 0, i16 13412, i16 0, i16 15652, i16 0, i16 13924, i16 14113, i16 0, i16 0, i16 15972, i16 17161, i16 14439, i16 0, i16 16740, i16 0, i16 0, i16 0, i16 12901, i16 0, i16 0, i16 0, i16 15205, i16 0, i16 13167, i16 0, i16 15973, i16 0, i16 0, i16 0, i16 16741, i16 0, i16 14792, i16 0, i16 12646, i16 0, i16 12827, i16 0, i16 12902, i16 16984, i16 13252, i16 0, i16 14182, i16 0, i16 0, i16 0, i16 15462, i16 0, i16 0, i16 0, i16 12903, i16 0, i16 0, i16 0, i16 13159, i16 0, i16 0, i16 0, i16 14183, i16 0, i16 0, i16 0, i16 15207, i16 0, i16 0, i16 0, i16 15719, i16 0, i16 0, i16 0, i16 872, i16 873, i16 874, i16 0, i16 13672, i16 0, i16 0, i16 0, i16 14184, i16 0, i16 13723, i16 0, i16 14440, i16 15702, i16 13754, i16 0, i16 14696, i16 0, i16 12323, i16 0, i16 16488, i16 0, i16 0, i16 0, i16 12649, i16 0, i16 0, i16 0, i16 13161, i16 15899, i16 0, i16 0, i16 14185, i16 0, i16 0, i16 0, i16 14441, i16 0, i16 0, i16 0, i16 13162, i16 0, i16 0, i16 0, i16 13419, i16 0, i16 0, i16 0, i16 14443, i16 0, i16 0, i16 0, i16 15979, i16 16623, i16 0, i16 0, i16 876, i16 877, i16 878, i16 0, i16 13932, i16 13543, i16 0, i16 0, i16 17004, i16 16055, i16 15825, i16 0, i16 12397, i16 13647, i16 0, i16 0, i16 13165, i16 17058, i16 13093, i16 0, i16 14957, i16 0, i16 16405, i16 0, i16 15469, i16 0, i16 0, i16 0, i16 16749, i16 0, i16 0, i16 0, i16 13166, i16 0, i16 13950, i16 0, i16 15470, i16 12770, i16 0, i16 0, i16 16494, i16 13846, i16 16862, i16 0, i16 12655, i16 16472, i16 0, i16 0, i16 12911, i16 0, i16 14435, i16 0, i16 14447, i16 13098, i16 0, i16 0, i16 15215, i16 0, i16 0, i16 0, i16 15471, i16 0, i16 0, i16 0, i16 15727, i16 15044, i16 0, i16 0, i16 17007, i16 15700, i16 12367, i16 0, i16 12400, i16 0, i16 0, i16 0, i16 12912, i16 0, i16 0, i16 0, i16 14192, i16 0, i16 0, i16 0, i16 16240, i16 15211, i16 0, i16 0, i16 16496, i16 0, i16 16462, i16 0, i16 12401, i16 0, i16 0, i16 0, i16 14193, i16 16914, i16 16725, i16 0, i16 15217, i16 0, i16 12511, i16 0, i16 16497, i16 0, i16 14251, i16 0, i16 12402, i16 0, i16 0, i16 0, i16 13682, i16 0, i16 15219, i16 0, i16 14962, i16 0, i16 16960, i16 0, i16 12659, i16 16333, i16 0, i16 0, i16 13683, i16 0, i16 0, i16 0, i16 13684, i16 0, i16 12944, i16 0, i16 16756, i16 16757, i16 12346, i16 0, i16 17012, i16 13397, i16 0, i16 0, i16 17013, i16 0, i16 0, i16 0, i16 13430, i16 0, i16 0, i16 0, i16 14454, i16 0, i16 0, i16 0, i16 15222, i16 0, i16 0, i16 0, i16 15990, i16 0, i16 12661, i16 0, i16 13943, i16 13179, i16 16645, i16 0, i16 14455, i16 0, i16 0, i16 0, i16 14967, i16 0, i16 0, i16 0, i16 17015, i16 0, i16 15677, i16 0, i16 12920, i16 0, i16 0, i16 0, i16 15736, i16 0, i16 14401, i16 0, i16 13433, i16 12583, i16 0, i16 0, i16 13945, i16 0, i16 0, i16 0, i16 17017, i16 0, i16 0, i16 0, i16 15226, i16 0, i16 0, i16 0, i16 15994, i16 16110, i16 0, i16 0, i16 16762, i16 0, i16 0, i16 0, i16 15739, i16 0, i16 0, i16 0, i16 16507, i16 0, i16 0, i16 0, i16 15740, i16 0, i16 0, i16 0, i16 13693, i16 0, i16 13630, i16 0, i16 13949, i16 0, i16 14130, i16 0, i16 14461, i16 0, i16 0, i16 0, i16 15741, i16 0, i16 0, i16 0, i16 382, i16 383, i16 384, i16 0, i16 12670, i16 0, i16 0, i16 0, i16 13694, i16 0, i16 0, i16 0, i16 14718, i16 0, i16 0, i16 0, i16 16254, i16 16540, i16 14067, i16 0, i16 17022, i16 0, i16 0, i16 0, i16 13951, i16 14569, i16 0, i16 0, i16 14719, i16 0, i16 0, i16 0, i16 14975, i16 0, i16 0, i16 0, i16 15999, i16 16395, i16 0, i16 0, i16 16255, i16 15970, i16 0, i16 0, i16 14464, i16 0, i16 0, i16 0, i16 16000, i16 0, i16 15654, i16 0, i16 16768, i16 0, i16 0, i16 0, i16 129, i16 130, i16 0, i16 0, i16 12417, i16 0, i16 0, i16 0, i16 14209, i16 0, i16 0, i16 0, i16 16257, i16 13839, i16 0, i16 0, i16 12418, i16 0, i16 0, i16 0, i16 13698, i16 0, i16 0, i16 0, i16 14722, i16 0, i16 0, i16 0, i16 16514, i16 0, i16 0, i16 0, i16 15236, i16 0, i16 12423, i16 0, i16 17028, i16 0, i16 14146, i16 0, i16 133, i16 0, i16 0, i16 0, i16 13957, i16 0, i16 0, i16 0, i16 14469, i16 0, i16 14664, i16 0, i16 15749, i16 15089, i16 0, i16 0, i16 16773, i16 0, i16 0, i16 0, i16 17029, i16 16890, i16 0, i16 0, i16 134, i16 0, i16 0, i16 0, i16 12422, i16 16944, i16 0, i16 0, i16 13702, i16 0, i16 0, i16 0, i16 14726, i16 12950, i16 15112, i16 0, i16 135, i16 0, i16 216, i16 0, i16 12935, i16 15489, i16 14213, i16 0, i16 13191, i16 13212, i16 14463, i16 0, i16 13959, i16 13804, i16 0, i16 0, i16 16007, i16 0, i16 16851, i16 0, i16 17031, i16 0, i16 15590, i16 0, i16 13192, i16 0, i16 14757, i16 0, i16 13448, i16 0, i16 0, i16 0, i16 14728, i16 0, i16 14610, i16 0, i16 16008, i16 0, i16 0, i16 0, i16 12681, i16 0, i16 0, i16 0, i16 15753, i16 0, i16 0, i16 0, i16 13194, i16 0, i16 14601, i16 0, i16 13706, i16 13328, i16 0, i16 0, i16 12683, i16 0, i16 0, i16 0, i16 16267, i16 13977, i16 0, i16 0, i16 16523, i16 0, i16 0, i16 0, i16 13196, i16 16505, i16 0, i16 0, i16 16268, i16 0, i16 0, i16 0, i16 15501, i16 0, i16 0, i16 0, i16 13966, i16 0, i16 14225, i16 0, i16 14222, i16 0, i16 15866, i16 0, i16 16782, i16 15483, i16 12909, i16 0, i16 14991, i16 0, i16 0, i16 0, i16 14224, i16 16057, i16 16615, i16 0, i16 14480, i16 0, i16 0, i16 0, i16 14736, i16 0, i16 16389, i16 0, i16 14992, i16 0, i16 12530, i16 0, i16 15760, i16 0, i16 15102, i16 0, i16 16528, i16 0, i16 12544, i16 0, i16 12689, i16 0, i16 0, i16 0, i16 14481, i16 0, i16 0, i16 0, i16 16017, i16 0, i16 16265, i16 0, i16 16273, i16 0, i16 0, i16 0, i16 17041, i16 12577, i16 0, i16 0, i16 13714, i16 0, i16 17088, i16 0, i16 13970, i16 0, i16 0, i16 0, i16 14994, i16 0, i16 0, i16 0, i16 13203, i16 0, i16 15248, i16 0, i16 13715, i16 0, i16 0, i16 0, i16 14227, i16 0, i16 14729, i16 0, i16 12436, i16 12560, i16 0, i16 0, i16 15508, i16 0, i16 0, i16 0, i16 16020, i16 13774, i16 13965, i16 0, i16 16788, i16 0, i16 13922, i16 0, i16 12949, i16 14112, i16 0, i16 0, i16 14485, i16 12372, i16 0, i16 0, i16 14997, i16 0, i16 0, i16 0, i16 15509, i16 17038, i16 0, i16 0, i16 15765, i16 0, i16 13172, i16 0, i16 16021, i16 0, i16 0, i16 0, i16 16533, i16 17065, i16 15937, i16 0, i16 14742, i16 0, i16 0, i16 0, i16 14998, i16 0, i16 0, i16 0, i16 16278, i16 12741, i16 0, i16 0, i16 16534, i16 0, i16 0, i16 0, i16 14487, i16 0, i16 0, i16 0, i16 16279, i16 0, i16 0, i16 0, i16 13720, i16 0, i16 14858, i16 0, i16 16280, i16 14376, i16 0, i16 0, i16 13721, i16 0, i16 13661, i16 0, i16 15769, i16 0, i16 0, i16 0, i16 16025, i16 0, i16 12517, i16 0, i16 13978, i16 0, i16 0, i16 0, i16 14234, i16 0, i16 0, i16 0, i16 14490, i16 0, i16 16578, i16 0, i16 13467, i16 0, i16 0, i16 0, i16 15259, i16 0, i16 0, i16 0, i16 13724, i16 13489, i16 0, i16 0, i16 14492, i16 0, i16 0, i16 0, i16 15260, i16 0, i16 0, i16 0, i16 12445, i16 0, i16 0, i16 0, i16 13981, i16 0, i16 0, i16 0, i16 14749, i16 0, i16 15349, i16 0, i16 16797, i16 14625, i16 0, i16 0, i16 14750, i16 0, i16 14516, i16 0, i16 15262, i16 0, i16 0, i16 0, i16 15774, i16 0, i16 0, i16 0, i16 16286, i16 13429, i16 14081, i16 0, i16 12703, i16 0, i16 0, i16 0, i16 12959, i16 0, i16 0, i16 0, i16 13471, i16 0, i16 0, i16 0, i16 16799, i16 0, i16 0, i16 0, i16 14240, i16 0, i16 0, i16 0, i16 15264, i16 0, i16 0, i16 0, i16 16288, i16 0, i16 0, i16 0, i16 12449, i16 0, i16 0, i16 0, i16 14754, i16 0, i16 0, i16 0, i16 16034, i16 0, i16 14965, i16 0, i16 13219, i16 0, i16 0, i16 0, i16 13475, i16 12802, i16 0, i16 0, i16 13987, i16 0, i16 0, i16 0, i16 14499, i16 0, i16 14961, i16 0, i16 14755, i16 0, i16 0, i16 0, i16 15011, i16 0, i16 0, i16 0, i16 16035, i16 0, i16 0, i16 0, i16 16803, i16 0, i16 14505, i16 0, i16 13988, i16 0, i16 0, i16 0, i16 15012, i16 0, i16 13477, i16 0, i16 15268, i16 0, i16 0, i16 0, i16 12453, i16 0, i16 0, i16 0, i16 14245, i16 0, i16 0, i16 0, i16 15270, i16 13548, i16 0, i16 0, i16 13223, i16 12676, i16 0, i16 0, i16 15015, i16 0, i16 14969, i16 0, i16 16039, i16 0, i16 0, i16 0, i16 16551, i16 0, i16 0, i16 0, i16 13992, i16 12922, i16 12751, i16 0, i16 14248, i16 0, i16 13984, i16 0, i16 15016, i16 0, i16 0, i16 0, i16 169, i16 347, i16 0, i16 0, i16 14761, i16 0, i16 0, i16 0, i16 16809, i16 0, i16 15476, i16 0, i16 12970, i16 0, i16 0, i16 0, i16 14506, i16 12454, i16 0, i16 0, i16 14762, i16 0, i16 0, i16 0, i16 15786, i16 16009, i16 0, i16 0, i16 14507, i16 0, i16 13835, i16 0, i16 16555, i16 14270, i16 15187, i16 0, i16 12716, i16 16963, i16 13886, i16 0, i16 13740, i16 0, i16 0, i16 0, i16 14252, i16 0, i16 13592, i16 0, i16 15532, i16 0, i16 0, i16 0, i16 173, i16 0, i16 0, i16 0, i16 12461, i16 0, i16 0, i16 0, i16 14510, i16 12978, i16 0, i16 0, i16 16814, i16 0, i16 0, i16 0, i16 12719, i16 15416, i16 0, i16 0, i16 13231, i16 0, i16 0, i16 0, i16 13487, i16 0, i16 0, i16 0, i16 16047, i16 0, i16 0, i16 0, i16 16303, i16 13486, i16 15435, i16 0, i16 12464, i16 0, i16 0, i16 0, i16 13232, i16 0, i16 14864, i16 0, i16 14000, i16 0, i16 0, i16 0, i16 15280, i16 0, i16 0, i16 0, i16 16304, i16 0, i16 0, i16 0, i16 17072, i16 0, i16 13786, i16 0, i16 13745, i16 0, i16 0, i16 0, i16 14001, i16 0, i16 16036, i16 0, i16 17073, i16 0, i16 0, i16 0, i16 12722, i16 0, i16 0, i16 0, i16 14002, i16 13056, i16 16377, i16 0, i16 16306, i16 0, i16 0, i16 0, i16 12467, i16 0, i16 0, i16 0, i16 12979, i16 15210, i16 0, i16 0, i16 13235, i16 16467, i16 0, i16 0, i16 14003, i16 0, i16 12539, i16 0, i16 14259, i16 0, i16 0, i16 0, i16 12468, i16 0, i16 0, i16 0, i16 13236, i16 0, i16 0, i16 0, i16 13748, i16 0, i16 0, i16 0, i16 14772, i16 0, i16 0, i16 0, i16 14261, i16 0, i16 16750, i16 0, i16 15797, i16 0, i16 15079, i16 0, i16 182, i16 181, i16 0, i16 0, i16 12982, i16 0, i16 0, i16 0, i16 16566, i16 14236, i16 12396, i16 0, i16 14007, i16 0, i16 14200, i16 0, i16 15287, i16 15298, i16 0, i16 0, i16 16311, i16 0, i16 0, i16 0, i16 17079, i16 0, i16 16957, i16 0, i16 14008, i16 0, i16 0, i16 0, i16 14264, i16 0, i16 0, i16 0, i16 15032, i16 0, i16 0, i16 0, i16 15800, i16 0, i16 12647, i16 0, i16 17080, i16 0, i16 0, i16 0, i16 14777, i16 0, i16 12653, i16 0, i16 12730, i16 13939, i16 0, i16 0, i16 13242, i16 0, i16 0, i16 0, i16 17082, i16 15463, i16 0, i16 0, i16 13243, i16 0, i16 0, i16 0, i16 13499, i16 0, i16 12619, i16 0, i16 15547, i16 0, i16 0, i16 0, i16 16059, i16 0, i16 0, i16 0, i16 16827, i16 0, i16 0, i16 0, i16 12732, i16 0, i16 0, i16 0, i16 14780, i16 0, i16 0, i16 0, i16 16060, i16 16222, i16 16477, i16 0, i16 14013, i16 0, i16 0, i16 0, i16 16829, i16 14875, i16 0, i16 0, i16 12478, i16 0, i16 13819, i16 0, i16 16318, i16 0, i16 0, i16 0, i16 17086, i16 16766, i16 0, i16 0, i16 959, i16 960, i16 961, i16 0, i16 12479, i16 17114, i16 0, i16 0, i16 16831, i16 0, i16 0, i16 0, i16 17087, i16 0, i16 14320, i16 0, i16 12736, i16 0, i16 0, i16 0, i16 14784, i16 0, i16 0, i16 0, i16 15296, i16 0, i16 0, i16 0, i16 14529, i16 15967, i16 0, i16 0, i16 14785, i16 0, i16 14535, i16 0, i16 16577, i16 0, i16 16787, i16 0, i16 14018, i16 0, i16 12889, i16 0, i16 15554, i16 16918, i16 14331, i16 0, i16 17090, i16 0, i16 0, i16 0, i16 13507, i16 0, i16 0, i16 0, i16 14787, i16 14334, i16 12388, i16 0, i16 15555, i16 13137, i16 0, i16 0, i16 16067, i16 0, i16 14279, i16 0, i16 16835, i16 0, i16 0, i16 0, i16 14276, i16 0, i16 0, i16 0, i16 14532, i16 0, i16 0, i16 0, i16 15812, i16 0, i16 0, i16 0, i16 16580, i16 0, i16 16561, i16 0, i16 17092, i16 13324, i16 0, i16 0, i16 12485, i16 0, i16 0, i16 0, i16 13509, i16 0, i16 0, i16 0, i16 16581, i16 0, i16 0, i16 0, i16 17093, i16 14943, i16 0, i16 0, i16 13766, i16 16326, i16 0, i16 0, i16 15302, i16 0, i16 0, i16 0, i16 12487, i16 16568, i16 0, i16 0, i16 15559, i16 0, i16 0, i16 0, i16 15815, i16 0, i16 13257, i16 0, i16 16327, i16 0, i16 0, i16 0, i16 16583, i16 0, i16 0, i16 0, i16 12488, i16 0, i16 0, i16 0, i16 12744, i16 0, i16 16842, i16 0, i16 14024, i16 17150, i16 0, i16 0, i16 15048, i16 0, i16 0, i16 0, i16 13769, i16 0, i16 0, i16 0, i16 14537, i16 0, i16 0, i16 0, i16 14538, i16 0, i16 0, i16 0, i16 16330, i16 0, i16 0, i16 0, i16 12491, i16 0, i16 0, i16 0, i16 12747, i16 0, i16 0, i16 0, i16 14283, i16 0, i16 0, i16 0, i16 15563, i16 15180, i16 0, i16 0, i16 16331, i16 0, i16 0, i16 0, i16 16587, i16 16365, i16 0, i16 0, i16 204, i16 160, i16 0, i16 0, i16 12492, i16 0, i16 0, i16 0, i16 12748, i16 12463, i16 14825, i16 0, i16 15564, i16 14603, i16 14662, i16 0, i16 16076, i16 16453, i16 0, i16 0, i16 12493, i16 13904, i16 0, i16 0, i16 14029, i16 0, i16 0, i16 0, i16 12750, i16 0, i16 13916, i16 0, i16 15054, i16 0, i16 0, i16 0, i16 16334, i16 0, i16 0, i16 0, i16 16846, i16 0, i16 0, i16 0, i16 15312, i16 16790, i16 14958, i16 0, i16 15824, i16 0, i16 0, i16 0, i16 12497, i16 0, i16 0, i16 0, i16 12498, i16 16586, i16 0, i16 0, i16 13266, i16 0, i16 0, i16 0, i16 16082, i16 0, i16 0, i16 0, i16 16338, i16 16898, i16 0, i16 0, i16 13267, i16 0, i16 0, i16 0, i16 15571, i16 0, i16 13048, i16 0, i16 16339, i16 0, i16 0, i16 0, i16 13268, i16 0, i16 16251, i16 0, i16 14548, i16 0, i16 13322, i16 0, i16 17108, i16 0, i16 0, i16 0, i16 13525, i16 0, i16 0, i16 0, i16 14549, i16 16208, i16 0, i16 0, i16 15061, i16 16355, i16 12754, i16 0, i16 16085, i16 0, i16 16086, i16 0, i16 16341, i16 0, i16 0, i16 0, i16 12758, i16 0, i16 0, i16 0, i16 13782, i16 13206, i16 0, i16 0, i16 14038, i16 0, i16 0, i16 0, i16 14294, i16 0, i16 0, i16 0, i16 13271, i16 15273, i16 0, i16 0, i16 14551, i16 0, i16 0, i16 0, i16 15063, i16 0, i16 0, i16 0, i16 15319, i16 15008, i16 0, i16 0, i16 16087, i16 0, i16 0, i16 0, i16 16855, i16 0, i16 0, i16 0, i16 17111, i16 0, i16 0, i16 0, i16 13528, i16 0, i16 0, i16 0, i16 15320, i16 13709, i16 0, i16 0, i16 15576, i16 0, i16 0, i16 0, i16 15832, i16 0, i16 0, i16 0, i16 17112, i16 0, i16 15491, i16 0, i16 15577, i16 15748, i16 0, i16 0, i16 16857, i16 0, i16 0, i16 0, i16 17113, i16 0, i16 0, i16 0, i16 12506, i16 0, i16 0, i16 0, i16 13530, i16 0, i16 16095, i16 0, i16 15834, i16 16856, i16 0, i16 0, i16 16090, i16 0, i16 15381, i16 0, i16 16346, i16 0, i16 0, i16 0, i16 16858, i16 0, i16 0, i16 0, i16 12507, i16 15526, i16 12403, i16 0, i16 16091, i16 0, i16 0, i16 0, i16 16347, i16 14430, i16 0, i16 0, i16 14044, i16 0, i16 0, i16 0, i16 14556, i16 0, i16 13251, i16 0, i16 12765, i16 0, i16 0, i16 0, i16 17117, i16 0, i16 0, i16 0, i16 14302, i16 0, i16 0, i16 0, i16 16094, i16 0, i16 12956, i16 0, i16 12767, i16 0, i16 0, i16 0, i16 15583, i16 0, i16 14655, i16 0, i16 14304, i16 15497, i16 0, i16 0, i16 14560, i16 0, i16 0, i16 0, i16 15840, i16 0, i16 16260, i16 0, i16 13281, i16 0, i16 0, i16 0, i16 14049, i16 0, i16 0, i16 0, i16 16097, i16 0, i16 12370, i16 0, i16 15074, i16 0, i16 0, i16 0, i16 15330, i16 15690, i16 15960, i16 0, i16 16866, i16 0, i16 0, i16 0, i16 227, i16 0, i16 0, i16 0, i16 12515, i16 0, i16 13876, i16 0, i16 14563, i16 0, i16 0, i16 0, i16 16611, i16 0, i16 0, i16 0, i16 12516, i16 0, i16 0, i16 0, i16 13284, i16 0, i16 0, i16 0, i16 13540, i16 0, i16 0, i16 0, i16 13796, i16 0, i16 0, i16 0, i16 14308, i16 0, i16 0, i16 0, i16 14309, i16 0, i16 0, i16 0, i16 14565, i16 0, i16 16525, i16 0, i16 16101, i16 14818, i16 0, i16 0, i16 16357, i16 14010, i16 0, i16 0, i16 14566, i16 0, i16 0, i16 0, i16 15334, i16 0, i16 0, i16 0, i16 16102, i16 16942, i16 15214, i16 0, i16 15847, i16 0, i16 0, i16 0, i16 16359, i16 15252, i16 0, i16 0, i16 232, i16 0, i16 0, i16 0, i16 15336, i16 0, i16 15165, i16 0, i16 16361, i16 15730, i16 0, i16 0, i16 14058, i16 0, i16 0, i16 0, i16 14314, i16 0, i16 0, i16 0, i16 15082, i16 12921, i16 14023, i16 0, i16 12779, i16 0, i16 0, i16 0, i16 13035, i16 0, i16 0, i16 0, i16 15083, i16 16001, i16 0, i16 0, i16 15595, i16 0, i16 0, i16 0, i16 16107, i16 0, i16 14187, i16 0, i16 16363, i16 0, i16 0, i16 0, i16 236, i16 0, i16 0, i16 0, i16 15596, i16 0, i16 0, i16 0, i16 16876, i16 0, i16 0, i16 0, i16 14061, i16 0, i16 0, i16 0, i16 14829, i16 14436, i16 16437, i16 0, i16 16621, i16 15846, i16 0, i16 0, i16 17133, i16 0, i16 0, i16 0, i16 12782, i16 0, i16 0, i16 0, i16 14318, i16 0, i16 14389, i16 0, i16 15598, i16 12969, i16 0, i16 0, i16 239, i16 0, i16 0, i16 0, i16 13295, i16 0, i16 0, i16 0, i16 496, i16 497, i16 498, i16 0, i16 12784, i16 0, i16 14922, i16 0, i16 16624, i16 0, i16 0, i16 0, i16 16880, i16 16428, i16 16881, i16 0, i16 14322, i16 15067, i16 0, i16 0, i16 14578, i16 0, i16 0, i16 0, i16 15602, i16 0, i16 0, i16 0, i16 12531, i16 0, i16 0, i16 0, i16 13299, i16 14574, i16 0, i16 0, i16 15859, i16 12469, i16 0, i16 0, i16 17139, i16 0, i16 0, i16 0, i16 12532, i16 0, i16 0, i16 0, i16 14836, i16 0, i16 0, i16 0, i16 13301, i16 0, i16 0, i16 0, i16 13557, i16 13244, i16 16772, i16 0, i16 12534, i16 0, i16 13973, i16 0, i16 13814, i16 13690, i16 0, i16 0, i16 14070, i16 0, i16 0, i16 0, i16 15862, i16 0, i16 0, i16 0, i16 16118, i16 0, i16 0, i16 0, i16 13303, i16 0, i16 0, i16 0, i16 13559, i16 14258, i16 0, i16 0, i16 14327, i16 14477, i16 0, i16 0, i16 16119, i16 0, i16 13937, i16 0, i16 16887, i16 0, i16 0, i16 0, i16 17143, i16 12677, i16 0, i16 0, i16 14840, i16 12604, i16 15706, i16 0, i16 14329, i16 0, i16 15728, i16 0, i16 16633, i16 0, i16 15151, i16 0, i16 13818, i16 16626, i16 15466, i16 0, i16 14330, i16 0, i16 0, i16 0, i16 16634, i16 12664, i16 0, i16 0, i16 251, i16 0, i16 0, i16 0, i16 13307, i16 0, i16 12887, i16 0, i16 16123, i16 0, i16 0, i16 0, i16 16379, i16 0, i16 0, i16 0, i16 16635, i16 0, i16 0, i16 0, i16 17147, i16 16591, i16 0, i16 0, i16 12796, i16 0, i16 0, i16 0, i16 14844, i16 0, i16 0, i16 0, i16 15356, i16 0, i16 0, i16 0, i16 15868, i16 0, i16 0, i16 0, i16 16636, i16 0, i16 0, i16 0, i16 16892, i16 13247, i16 0, i16 0, i16 12797, i16 0, i16 0, i16 0, i16 15613, i16 14079, i16 0, i16 0, i16 12286, i16 0, i16 13968, i16 0, i16 14078, i16 0, i16 0, i16 0, i16 14590, i16 13127, i16 0, i16 0, i16 15614, i16 13555, i16 13688, i16 0, i16 15870, i16 0, i16 0, i16 0, i16 16126, i16 0, i16 0, i16 0, i16 16382, i16 0, i16 0, i16 0, i16 12543, i16 0, i16 13728, i16 0, i16 13823, i16 0, i16 13674, i16 0, i16 15615, i16 12820, i16 0, i16 15104, i16 0, i16 0, i16 0, i16 15616, i16 13933, i16 15995, i16 0, i16 16128, i16 0, i16 0, i16 12308, i16 16640, i16 0, i16 0, i16 16054, i16 17152, i16 12348, i16 0, i16 0, i16 257, i16 258, i16 261, i16 260, i16 12801, i16 0, i16 0, i16 0, i16 13569, i16 16879, i16 0, i16 0, i16 14849, i16 0, i16 0, i16 0, i16 15617, i16 14776, i16 0, i16 0, i16 15873, i16 0, i16 14896, i16 0, i16 16385, i16 0, i16 0, i16 0, i16 514, i16 515, i16 516, i16 517, i16 770, i16 771, i16 772, i16 0, i16 1026, i16 1027, i16 1028, i16 1029, i16 13058, i16 12645, i16 0, i16 14683, i16 15874, i16 0, i16 0, i16 12460, i16 16386, i16 0, i16 0, i16 0, i16 259, i16 262, i16 0, i16 0, i16 12803, i16 0, i16 0, i16 0, i16 13059, i16 13351, i16 0, i16 0, i16 14083, i16 14084, i16 0, i16 0, i16 15107, i16 0, i16 0, i16 0, i16 16387, i16 0, i16 15688, i16 0, i16 16643, i16 0, i16 0, i16 0, i16 17155, i16 0, i16 16783, i16 0, i16 13828, i16 0, i16 0, i16 0, i16 15108, i16 12610, i16 14517, i16 0, i16 15364, i16 15365, i16 12936, i16 0, i16 15876, i16 0, i16 0, i16 0, i16 12805, i16 13691, i16 0, i16 0, i16 14853, i16 0, i16 0, i16 0, i16 15621, i16 0, i16 0, i16 0, i16 16901, i16 0, i16 0, i16 16677, i16 17157, i16 0, i16 0, i16 0, i16 518, i16 519, i16 0, i16 0, i16 1030, i16 1031, i16 1032, i16 1033, i16 13574, i16 0, i16 0, i16 0, i16 13830, i16 0, i16 0, i16 0, i16 14086, i16 0, i16 0, i16 0, i16 14342, i16 15893, i16 15892, i16 0, i16 7, i16 8, i16 9, i16 10, i16 263, i16 277, i16 278, i16 0, i16 775, i16 0, i16 0, i16 0, i16 12807, i16 0, i16 0, i16 0, i16 13319, i16 0, i16 0, i16 0, i16 13831, i16 0, i16 0, i16 0, i16 14855, i16 0, i16 0, i16 0, i16 15367, i16 0, i16 0, i16 17002, i16 15879, i16 14820, i16 14767, i16 0, i16 17159, i16 17158, i16 16518, i16 0, i16 776, i16 773, i16 777, i16 233, i16 12552, i16 16573, i16 0, i16 14188, i16 12808, i16 0, i16 0, i16 0, i16 13576, i16 12432, i16 0, i16 0, i16 16904, i16 0, i16 0, i16 0, i16 13065, i16 0, i16 0, i16 0, i16 13321, i16 13327, i16 13330, i16 13434, i16 14345, i16 13568, i16 0, i16 0, i16 15113, i16 14228, i16 0, i16 0, i16 15369, i16 15370, i16 0, i16 0, i16 16393, i16 13771, i16 0, i16 0, i16 266, i16 0, i16 267, i16 0, i16 1034, i16 1035, i16 1036, i16 1037, i16 12298, i16 0, i16 16519, i16 0, i16 12554, i16 0, i16 0, i16 0, i16 14090, i16 15681, i16 12652, i16 0, i16 11, i16 12, i16 13, i16 14, i16 523, i16 524, i16 525, i16 526, i16 779, i16 780, i16 781, i16 0, i16 15371, i16 0, i16 12852, i16 0, i16 15627, i16 0, i16 0, i16 0, i16 16907, i16 14760, i16 0, i16 0, i16 12812, i16 0, i16 13177, i16 0, i16 13068, i16 13069, i16 13070, i16 13072, i16 13580, i16 16024, i16 14835, i16 13381, i16 14604, i16 15275, i16 0, i16 0, i16 15372, i16 12415, i16 0, i16 12648, i16 269, i16 270, i16 0, i16 0, i16 12301, i16 12570, i16 0, i16 12599, i16 12813, i16 0, i16 0, i16 15111, i16 13581, i16 12989, i16 0, i16 0, i16 13837, i16 0, i16 16492, i16 0, i16 14093, i16 0, i16 0, i16 12975, i16 14861, i16 0, i16 15592, i16 0, i16 16141, i16 0, i16 0, i16 0, i16 16653, i16 0, i16 0, i16 0, i16 1038, i16 1039, i16 1040, i16 1041, i16 12814, i16 0, i16 0, i16 12706, i16 13838, i16 14545, i16 16980, i16 0, i16 15374, i16 15377, i16 15382, i16 15384, i16 15630, i16 0, i16 0, i16 0, i16 15886, i16 15536, i16 0, i16 14123, i16 16142, i16 14132, i16 14450, i16 0, i16 15, i16 16, i16 17, i16 18, i16 527, i16 528, i16 529, i16 530, i16 12303, i16 13730, i16 0, i16 0, i16 14095, i16 0, i16 0, i16 0, i16 15375, i16 0, i16 0, i16 0, i16 15631, i16 14274, i16 14286, i16 16727, i16 16143, i16 0, i16 0, i16 12638, i16 16399, i16 0, i16 14372, i16 0, i16 784, i16 0, i16 0, i16 0, i16 13840, i16 0, i16 12299, i16 0, i16 14096, i16 16478, i16 0, i16 0, i16 17168, i16 0, i16 0, i16 0, i16 12305, i16 0, i16 0, i16 13199, i16 12561, i16 0, i16 0, i16 0, i16 13073, i16 13074, i16 13075, i16 13076, i16 14097, i16 0, i16 0, i16 0, i16 14865, i16 0, i16 0, i16 0, i16 15633, i16 12694, i16 0, i16 12377, i16 16401, i16 0, i16 12835, i16 0, i16 1042, i16 1043, i16 1044, i16 0, i16 13586, i16 0, i16 14476, i16 0, i16 13842, i16 12965, i16 0, i16 14265, i16 14098, i16 0, i16 0, i16 0, i16 15122, i16 15419, i16 0, i16 15300, i16 15634, i16 13210, i16 0, i16 0, i16 16402, i16 0, i16 0, i16 12309, i16 17170, i16 16987, i16 16811, i16 14313, i16 19, i16 20, i16 21, i16 0, i16 275, i16 273, i16 0, i16 0, i16 531, i16 532, i16 533, i16 534, i16 12307, i16 0, i16 15734, i16 0, i16 13587, i16 0, i16 0, i16 0, i16 16403, i16 12791, i16 0, i16 0, i16 788, i16 0, i16 0, i16 0, i16 12564, i16 12629, i16 0, i16 14470, i16 14868, i16 14870, i16 14874, i16 14910, i16 16916, i16 13696, i16 0, i16 0, i16 789, i16 697, i16 790, i16 0, i16 1045, i16 1046, i16 1047, i16 1048, i16 12565, i16 0, i16 0, i16 0, i16 12821, i16 0, i16 0, i16 0, i16 13077, i16 13079, i16 13080, i16 13081, i16 13333, i16 0, i16 0, i16 0, i16 14357, i16 0, i16 0, i16 0, i16 14613, i16 13502, i16 0, i16 0, i16 14869, i16 0, i16 0, i16 0, i16 15637, i16 14361, i16 14107, i16 0, i16 22, i16 0, i16 23, i16 24, i16 16150, i16 14012, i16 13767, i16 0, i16 279, i16 276, i16 0, i16 0, i16 535, i16 536, i16 0, i16 537, i16 791, i16 0, i16 0, i16 0, i16 12567, i16 0, i16 0, i16 15172, i16 12823, i16 16179, i16 15581, i16 12312, i16 13847, i16 0, i16 0, i16 13811, i16 14359, i16 0, i16 0, i16 0, i16 14615, i16 0, i16 0, i16 14235, i16 15127, i16 0, i16 15766, i16 0, i16 15383, i16 0, i16 13753, i16 0, i16 12568, i16 0, i16 0, i16 13306, i16 12824, i16 0, i16 15607, i16 12864, i16 14104, i16 0, i16 0, i16 0, i16 14872, i16 0, i16 0, i16 0, i16 15640, i16 0, i16 0, i16 14139, i16 25, i16 26, i16 27, i16 28, i16 281, i16 0, i16 0, i16 0, i16 1049, i16 1050, i16 1052, i16 1053, i16 12313, i16 13332, i16 0, i16 12825, i16 14617, i16 0, i16 13773, i16 15987, i16 16409, i16 0, i16 15799, i16 0, i16 538, i16 539, i16 540, i16 541, i16 12314, i16 0, i16 0, i16 0, i16 12826, i16 0, i16 0, i16 12800, i16 13082, i16 13083, i16 13084, i16 13085, i16 14106, i16 16843, i16 0, i16 16575, i16 14618, i16 0, i16 0, i16 0, i16 15642, i16 0, i16 0, i16 0, i16 13339, i16 15747, i16 0, i16 0, i16 13851, i16 0, i16 13432, i16 0, i16 14363, i16 0, i16 0, i16 15368, i16 14619, i16 0, i16 0, i16 0, i16 15131, i16 0, i16 0, i16 16830, i16 16411, i16 0, i16 0, i16 0, i16 16923, i16 14142, i16 0, i16 14540, i16 12316, i16 0, i16 0, i16 16908, i16 13596, i16 0, i16 15599, i16 0, i16 14364, i16 17134, i16 0, i16 0, i16 14876, i16 0, i16 0, i16 0, i16 15388, i16 15391, i16 15393, i16 15394, i16 29, i16 30, i16 31, i16 32, i16 12317, i16 0, i16 0, i16 15758, i16 12573, i16 0, i16 0, i16 0, i16 13341, i16 0, i16 0, i16 0, i16 14109, i16 0, i16 0, i16 13273, i16 15389, i16 0, i16 14346, i16 14634, i16 286, i16 0, i16 0, i16 679, i16 542, i16 543, i16 0, i16 0, i16 798, i16 799, i16 800, i16 801, i16 1054, i16 1055, i16 1056, i16 1057, i16 12574, i16 0, i16 14714, i16 0, i16 13086, i16 13087, i16 13088, i16 13089, i16 13598, i16 0, i16 0, i16 0, i16 14366, i16 0, i16 0, i16 13288, i16 14622, i16 0, i16 0, i16 13168, i16 14878, i16 14663, i16 0, i16 0, i16 13343, i16 0, i16 0, i16 16050, i16 13855, i16 13834, i16 0, i16 12997, i16 14111, i16 12898, i16 0, i16 14936, i16 14367, i16 0, i16 0, i16 0, i16 15647, i16 0, i16 0, i16 0, i16 16159, i16 0, i16 0, i16 0, i16 544, i16 555, i16 545, i16 556, i16 13600, i16 0, i16 0, i16 0, i16 13856, i16 16531, i16 0, i16 0, i16 14880, i16 0, i16 0, i16 0, i16 16160, i16 0, i16 0, i16 0, i16 16416, i16 0, i16 13817, i16 0, i16 33, i16 34, i16 35, i16 36, i16 13857, i16 0, i16 0, i16 0, i16 546, i16 583, i16 582, i16 557, i16 802, i16 803, i16 804, i16 805, i16 1058, i16 1059, i16 1060, i16 1061, i16 12578, i16 0, i16 0, i16 0, i16 12834, i16 16537, i16 13775, i16 0, i16 14626, i16 0, i16 0, i16 0, i16 15138, i16 0, i16 0, i16 0, i16 16930, i16 0, i16 0, i16 0, i16 291, i16 292, i16 293, i16 294, i16 547, i16 577, i16 576, i16 558, i16 12579, i16 12755, i16 0, i16 0, i16 13091, i16 13092, i16 13096, i16 13097, i16 13347, i16 0, i16 0, i16 0, i16 14627, i16 14539, i16 15436, i16 0, i16 15651, i16 0, i16 15105, i16 0, i16 16931, i16 0, i16 0, i16 12335, i16 548, i16 579, i16 578, i16 559, i16 15908, i16 0, i16 0, i16 0, i16 16164, i16 0, i16 13836, i16 0, i16 16932, i16 15385, i16 0, i16 0, i16 37, i16 38, i16 39, i16 40, i16 549, i16 581, i16 580, i16 560, i16 13349, i16 0, i16 0, i16 0, i16 13605, i16 0, i16 0, i16 0, i16 13861, i16 0, i16 14594, i16 15626, i16 14629, i16 0, i16 12476, i16 0, i16 14885, i16 0, i16 0, i16 0, i16 15141, i16 0, i16 0, i16 12717, i16 15397, i16 0, i16 0, i16 0, i16 15653, i16 0, i16 0, i16 16014, i16 550, i16 571, i16 584, i16 585, i16 806, i16 807, i16 808, i16 809, i16 1062, i16 1063, i16 1064, i16 1065, i16 12326, i16 0, i16 0, i16 0, i16 13606, i16 0, i16 0, i16 0, i16 14118, i16 16596, i16 15068, i16 14731, i16 14886, i16 0, i16 12514, i16 0, i16 16422, i16 0, i16 14654, i16 0, i16 295, i16 296, i16 297, i16 298, i16 551, i16 592, i16 593, i16 567, i16 12839, i16 0, i16 0, i16 0, i16 13607, i16 14883, i16 16707, i16 0, i16 13863, i16 0, i16 0, i16 0, i16 15399, i16 0, i16 0, i16 0, i16 15655, i16 14031, i16 14395, i16 0, i16 16167, i16 0, i16 15903, i16 0, i16 16935, i16 0, i16 0, i16 0, i16 552, i16 573, i16 588, i16 589, i16 13352, i16 0, i16 0, i16 0, i16 13608, i16 0, i16 0, i16 0, i16 14120, i16 0, i16 15293, i16 0, i16 15144, i16 0, i16 0, i16 0, i16 15912, i16 12541, i16 13870, i16 0, i16 41, i16 42, i16 43, i16 44, i16 553, i16 596, i16 597, i16 569, i16 12585, i16 0, i16 0, i16 0, i16 12841, i16 12810, i16 0, i16 0, i16 13865, i16 0, i16 0, i16 13462, i16 14377, i16 12693, i16 0, i16 12872, i16 15913, i16 0, i16 0, i16 0, i16 16169, i16 12857, i16 0, i16 13290, i16 554, i16 600, i16 601, i16 570, i16 810, i16 811, i16 812, i16 813, i16 1066, i16 1067, i16 1068, i16 1069, i16 13866, i16 0, i16 14612, i16 0, i16 14378, i16 0, i16 16272, i16 13312, i16 15402, i16 0, i16 0, i16 0, i16 16426, i16 14161, i16 0, i16 0, i16 16682, i16 0, i16 0, i16 0, i16 16938, i16 0, i16 16694, i16 16603, i16 299, i16 300, i16 301, i16 302, i16 12331, i16 0, i16 0, i16 0, i16 13099, i16 13100, i16 13102, i16 13103, i16 13867, i16 0, i16 0, i16 0, i16 15659, i16 0, i16 0, i16 14841, i16 13612, i16 0, i16 16751, i16 13410, i16 14636, i16 0, i16 0, i16 0, i16 14892, i16 14009, i16 0, i16 0, i16 15148, i16 0, i16 15943, i16 12679, i16 15916, i16 0, i16 0, i16 0, i16 16940, i16 16394, i16 14706, i16 0, i16 45, i16 46, i16 47, i16 48, i16 12333, i16 0, i16 0, i16 12297, i16 12845, i16 0, i16 0, i16 14223, i16 13357, i16 16618, i16 0, i16 0, i16 13613, i16 14635, i16 0, i16 0, i16 13869, i16 0, i16 0, i16 0, i16 15661, i16 0, i16 0, i16 0, i16 15917, i16 16642, i16 0, i16 0, i16 16173, i16 0, i16 0, i16 13254, i16 814, i16 815, i16 816, i16 817, i16 1070, i16 1071, i16 1072, i16 1073, i16 12846, i16 0, i16 16637, i16 13664, i16 303, i16 304, i16 305, i16 306, i16 12847, i16 0, i16 0, i16 0, i16 13615, i16 0, i16 13985, i16 0, i16 13871, i16 0, i16 0, i16 0, i16 14895, i16 0, i16 15844, i16 14089, i16 12592, i16 0, i16 16205, i16 0, i16 13104, i16 13105, i16 13106, i16 13107, i16 13872, i16 0, i16 0, i16 0, i16 15152, i16 0, i16 12319, i16 12545, i16 49, i16 50, i16 51, i16 52, i16 13873, i16 0, i16 0, i16 0, i16 14129, i16 0, i16 0, i16 0, i16 14897, i16 0, i16 0, i16 0, i16 15665, i16 0, i16 16344, i16 16912, i16 15921, i16 16016, i16 14055, i16 13417, i16 16177, i16 0, i16 0, i16 14753, i16 818, i16 819, i16 820, i16 821, i16 1074, i16 1075, i16 1076, i16 1077, i16 15410, i16 15411, i16 15413, i16 15417, i16 16178, i16 14405, i16 0, i16 0, i16 16434, i16 15807, i16 15243, i16 0, i16 307, i16 308, i16 309, i16 310, i16 12339, i16 0, i16 0, i16 15839, i16 14131, i16 0, i16 0, i16 0, i16 14387, i16 0, i16 0, i16 0, i16 14643, i16 15448, i16 0, i16 0, i16 15155, i16 0, i16 0, i16 0, i16 15667, i16 0, i16 0, i16 0, i16 16435, i16 0, i16 0, i16 12749, i16 12596, i16 0, i16 0, i16 0, i16 13108, i16 13109, i16 13114, i16 13115, i16 13364, i16 14877, i16 0, i16 0, i16 14900, i16 0, i16 0, i16 0, i16 16436, i16 0, i16 0, i16 0, i16 53, i16 54, i16 55, i16 56, i16 12597, i16 0, i16 0, i16 16939, i16 13877, i16 0, i16 16491, i16 15185, i16 14901, i16 0, i16 0, i16 0, i16 16949, i16 0, i16 15802, i16 0, i16 566, i16 586, i16 587, i16 561, i16 822, i16 823, i16 824, i16 825, i16 1078, i16 1079, i16 1080, i16 1081, i16 14390, i16 0, i16 0, i16 0, i16 14902, i16 0, i16 0, i16 12930, i16 15158, i16 0, i16 12620, i16 15062, i16 15670, i16 0, i16 0, i16 0, i16 16438, i16 15340, i16 0, i16 16791, i16 311, i16 312, i16 313, i16 314, i16 13367, i16 16221, i16 16526, i16 0, i16 13879, i16 14764, i16 15132, i16 0, i16 15159, i16 15814, i16 0, i16 0, i16 15671, i16 0, i16 0, i16 16804, i16 16439, i16 13563, i16 0, i16 0, i16 16695, i16 0, i16 0, i16 0, i16 568, i16 590, i16 591, i16 563, i16 12600, i16 0, i16 0, i16 0, i16 13624, i16 0, i16 16032, i16 16310, i16 16440, i16 0, i16 12692, i16 13449, i16 16696, i16 0, i16 0, i16 14281, i16 16952, i16 16111, i16 0, i16 0, i16 57, i16 58, i16 59, i16 60, i16 13113, i16 0, i16 0, i16 0, i16 13881, i16 13940, i16 13941, i16 0, i16 15673, i16 16353, i16 0, i16 16691, i16 16441, i16 0, i16 12822, i16 15936, i16 16953, i16 16871, i16 15856, i16 12551, i16 826, i16 827, i16 828, i16 829, i16 1082, i16 1083, i16 1085, i16 1086, i16 14394, i16 15473, i16 0, i16 0, i16 15418, i16 15422, i16 15423, i16 15428, i16 16442, i16 0, i16 0, i16 0, i16 315, i16 316, i16 317, i16 318, i16 15931, i16 0, i16 14069, i16 0, i16 16187, i16 16188, i16 0, i16 0, i16 16699, i16 0, i16 0, i16 16698, i16 572, i16 594, i16 595, i16 562, i16 13116, i16 13117, i16 13118, i16 13119, i16 14908, i16 0, i16 0, i16 14194, i16 61, i16 62, i16 63, i16 64, i16 13629, i16 0, i16 0, i16 0, i16 574, i16 598, i16 599, i16 564, i16 830, i16 831, i16 832, i16 833, i16 12350, i16 0, i16 15031, i16 0, i16 12606, i16 13556, i16 14165, i16 0, i16 16190, i16 0, i16 0, i16 14219, i16 16446, i16 0, i16 0, i16 12529, i16 319, i16 320, i16 321, i16 322, i16 1087, i16 1088, i16 1089, i16 1090, i16 12863, i16 0, i16 0, i16 0, i16 14399, i16 0, i16 0, i16 15204, i16 14911, i16 14912, i16 14914, i16 14915, i16 14144, i16 13858, i16 0, i16 0, i16 14656, i16 0, i16 0, i16 0, i16 15424, i16 0, i16 0, i16 0, i16 16448, i16 14368, i16 17076, i16 12951, i16 65, i16 66, i16 67, i16 68, i16 12609, i16 0, i16 0, i16 0, i16 13121, i16 13122, i16 13292, i16 13314, i16 14657, i16 15421, i16 16239, i16 12586, i16 15169, i16 0, i16 0, i16 16147, i16 834, i16 835, i16 836, i16 837, i16 12354, i16 0, i16 16676, i16 14020, i16 13890, i16 0, i16 0, i16 0, i16 14402, i16 0, i16 15406, i16 0, i16 15426, i16 14351, i16 0, i16 0, i16 16450, i16 17137, i16 0, i16 0, i16 16706, i16 0, i16 0, i16 0, i16 323, i16 324, i16 325, i16 326, i16 1091, i16 1092, i16 1093, i16 1094, i16 12867, i16 0, i16 0, i16 0, i16 13123, i16 0, i16 13799, i16 13101, i16 13635, i16 0, i16 0, i16 0, i16 13891, i16 0, i16 0, i16 0, i16 14147, i16 0, i16 14148, i16 14149, i16 15939, i16 0, i16 14140, i16 13205, i16 16451, i16 0, i16 0, i16 0, i16 12356, i16 0, i16 0, i16 12804, i16 12612, i16 0, i16 0, i16 0, i16 12868, i16 0, i16 0, i16 0, i16 16708, i16 0, i16 0, i16 14124, i16 69, i16 70, i16 71, i16 72, i16 12357, i16 13758, i16 0, i16 17094, i16 838, i16 839, i16 840, i16 841, i16 12870, i16 12894, i16 12907, i16 12992, i16 14150, i16 0, i16 0, i16 13722, i16 14918, i16 14921, i16 14927, i16 14929, i16 16198, i16 0, i16 0, i16 0, i16 327, i16 328, i16 329, i16 330, i16 1095, i16 1096, i16 1097, i16 1098, i16 12871, i16 13304, i16 0, i16 0, i16 14151, i16 15380, i16 0, i16 16447, i16 14407, i16 0, i16 0, i16 0, i16 15431, i16 15432, i16 15433, i16 15434, i16 16199, i16 0, i16 16646, i16 12696, i16 16967, i16 0, i16 0, i16 0, i16 12360, i16 0, i16 0, i16 0, i16 12616, i16 0, i16 0, i16 0, i16 14152, i16 14254, i16 14256, i16 14275, i16 16200, i16 15023, i16 0, i16 0, i16 16968, i16 0, i16 0, i16 15490, i16 73, i16 74, i16 75, i16 76, i16 14409, i16 16493, i16 0, i16 12457, i16 16201, i16 0, i16 0, i16 12412, i16 842, i16 843, i16 844, i16 845, i16 13386, i16 0, i16 0, i16 0, i16 14410, i16 0, i16 0, i16 0, i16 15946, i16 0, i16 0, i16 0, i16 16458, i16 0, i16 0, i16 0, i16 331, i16 332, i16 333, i16 334, i16 1099, i16 1100, i16 1101, i16 1102, i16 13643, i16 0, i16 0, i16 0, i16 14667, i16 16229, i16 14220, i16 0, i16 16203, i16 0, i16 13697, i16 16959, i16 12876, i16 0, i16 14128, i16 0, i16 13644, i16 13645, i16 0, i16 0, i16 13900, i16 0, i16 0, i16 0, i16 14668, i16 15935, i16 0, i16 0, i16 15692, i16 0, i16 0, i16 0, i16 16460, i16 17118, i16 13652, i16 16277, i16 16716, i16 0, i16 0, i16 0, i16 16972, i16 13323, i16 0, i16 0, i16 77, i16 78, i16 79, i16 80, i16 13133, i16 0, i16 0, i16 0, i16 14413, i16 14238, i16 0, i16 0, i16 15437, i16 13403, i16 15831, i16 14474, i16 15693, i16 12584, i16 0, i16 14433, i16 846, i16 847, i16 848, i16 849, i16 12366, i16 0, i16 0, i16 0, i16 12622, i16 0, i16 0, i16 0, i16 14158, i16 0, i16 0, i16 0, i16 15182, i16 15183, i16 15189, i16 15191, i16 15438, i16 0, i16 15541, i16 0, i16 16718, i16 0, i16 0, i16 0, i16 335, i16 336, i16 337, i16 338, i16 1103, i16 1104, i16 1105, i16 1106, i16 16207, i16 13692, i16 0, i16 0, i16 16719, i16 16092, i16 0, i16 12318, i16 16975, i16 0, i16 16560, i16 0, i16 12368, i16 0, i16 14730, i16 16284, i16 12624, i16 13779, i16 0, i16 0, i16 12880, i16 0, i16 0, i16 0, i16 13648, i16 16754, i16 0, i16 0, i16 14672, i16 0, i16 0, i16 0, i16 14928, i16 0, i16 0, i16 0, i16 15440, i16 15484, i16 15485, i16 15488, i16 15952, i16 0, i16 0, i16 0, i16 81, i16 82, i16 83, i16 84, i16 12625, i16 0, i16 0, i16 0, i16 12881, i16 0, i16 0, i16 0, i16 13393, i16 15069, i16 0, i16 0, i16 13905, i16 0, i16 0, i16 0, i16 15441, i16 0, i16 12759, i16 15305, i16 15953, i16 15242, i16 0, i16 0, i16 850, i16 851, i16 0, i16 0, i16 12626, i16 0, i16 16516, i16 0, i16 13138, i16 0, i16 0, i16 0, i16 14930, i16 14931, i16 14933, i16 14937, i16 15954, i16 12429, i16 0, i16 0, i16 16978, i16 0, i16 12756, i16 0, i16 339, i16 340, i16 341, i16 342, i16 1107, i16 1108, i16 1109, i16 1110, i16 12371, i16 0, i16 0, i16 13280, i16 12883, i16 16244, i16 0, i16 14076, i16 852, i16 853, i16 854, i16 855, i16 85, i16 86, i16 87, i16 88, i16 13909, i16 0, i16 0, i16 0, i16 15190, i16 16683, i16 0, i16 0, i16 15446, i16 0, i16 0, i16 16364, i16 16726, i16 0, i16 15405, i16 0, i16 343, i16 344, i16 345, i16 346, i16 14167, i16 0, i16 0, i16 0, i16 16215, i16 0, i16 0, i16 16946, i16 856, i16 857, i16 858, i16 859, i16 12632, i16 0, i16 12954, i16 14051, i16 14680, i16 0, i16 0, i16 16133, i16 15192, i16 0, i16 0, i16 12731, i16 15704, i16 0, i16 0, i16 0, i16 13657, i16 0, i16 16746, i16 15249, i16 14169, i16 0, i16 0, i16 14941, i16 14681, i16 0, i16 0, i16 13062, i16 15193, i16 15196, i16 15203, i16 15208, i16 16217, i16 0, i16 0, i16 0, i16 602, i16 603, i16 575, i16 604, i16 12378, i16 0, i16 0, i16 0, i16 12634, i16 0, i16 0, i16 0, i16 13914, i16 0, i16 0, i16 0, i16 14938, i16 14942, i16 14950, i16 14952, i16 16218, i16 0, i16 15720, i16 15308, i16 16474, i16 0, i16 0, i16 0, i16 12635, i16 0, i16 15162, i16 0, i16 15195, i16 15117, i16 0, i16 0, i16 16219, i16 14723, i16 0, i16 14210, i16 16475, i16 16878, i16 0, i16 0, i16 16731, i16 13425, i16 13354, i16 0, i16 860, i16 861, i16 862, i16 863, i16 12636, i16 12671, i16 12843, i16 12848, i16 15452, i16 0, i16 0, i16 16113, i16 15964, i16 0, i16 0, i16 0, i16 16732, i16 15276, i16 0, i16 0, i16 93, i16 94, i16 95, i16 96, i16 605, i16 606, i16 607, i16 608, i16 12381, i16 0, i16 0, i16 0, i16 12637, i16 0, i16 0, i16 0, i16 15197, i16 0, i16 0, i16 0, i16 16989, i16 16604, i16 16529, i16 12685, i16 12382, i16 0, i16 0, i16 0, i16 13662, i16 17008, i16 17091, i16 15900, i16 15966, i16 0, i16 15965, i16 0, i16 16990, i16 0, i16 0, i16 15548, i16 351, i16 352, i16 353, i16 354, i16 12639, i16 13535, i16 16905, i16 0, i16 13407, i16 14189, i16 0, i16 0, i16 13919, i16 14215, i16 0, i16 0, i16 14175, i16 0, i16 16825, i16 0, i16 14687, i16 0, i16 15830, i16 17030, i16 16479, i16 0, i16 15951, i16 0, i16 864, i16 865, i16 866, i16 0, i16 12384, i16 15412, i16 14756, i16 0, i16 13152, i16 16096, i16 0, i16 0, i16 13408, i16 0, i16 0, i16 0, i16 13920, i16 0, i16 0, i16 0, i16 14688, i16 0, i16 0, i16 0, i16 16224, i16 0, i16 0, i16 0, i16 16480, i16 0, i16 0, i16 0, i16 16992, i16 0, i16 0, i16 0, i16 97, i16 98, i16 99, i16 100, i16 609, i16 610, i16 611, i16 565, i16 12385, i16 15963, i16 0, i16 0, i16 13153, i16 15352, i16 0, i16 0, i16 14177, i16 16622, i16 0, i16 0, i16 15201, i16 13463, i16 0, i16 12601, i16 16481, i16 0, i16 16100, i16 14801, i16 16737, i16 14119, i16 13491, i16 15570, i16 12642, i16 15578, i16 0, i16 15586, i16 14178, i16 0, i16 0, i16 0, i16 14434, i16 0, i16 12816, i16 0, i16 15202, i16 12458, i16 0, i16 0, i16 15714, i16 0, i16 0, i16 0, i16 16738, i16 17040, i16 0, i16 13241, i16 355, i16 356, i16 357, i16 358, i16 14691, i16 0, i16 13169, i16 0, i16 14947, i16 0, i16 0, i16 15534, i16 12644, i16 0, i16 16786, i16 0, i16 12900, i16 14153, i16 16593, i16 0, i16 13668, i16 0, i16 16247, i16 0, i16 101, i16 102, i16 103, i16 104, i16 13157, i16 0, i16 0, i16 0, i16 13413, i16 0, i16 0, i16 0, i16 14181, i16 0, i16 0, i16 0, i16 14437, i16 14744, i16 12562, i16 0, i16 14949, i16 14462, i16 12293, i16 0, i16 16485, i16 0, i16 0, i16 0, i16 16997, i16 13129, i16 0, i16 15959, i16 870, i16 0, i16 0, i16 0, i16 13670, i16 12405, i16 0, i16 0, i16 13926, i16 0, i16 16547, i16 0, i16 15206, i16 0, i16 0, i16 0, i16 16742, i16 0, i16 15362, i16 0, i16 359, i16 360, i16 361, i16 362, i16 13671, i16 0, i16 0, i16 16700, i16 14695, i16 0, i16 14197, i16 0, i16 16231, i16 0, i16 0, i16 15711, i16 16743, i16 0, i16 0, i16 0, i16 16999, i16 12558, i16 0, i16 0, i16 616, i16 622, i16 623, i16 624, i16 13928, i16 13929, i16 0, i16 0, i16 15464, i16 16002, i16 0, i16 0, i16 15976, i16 0, i16 0, i16 16852, i16 16232, i16 0, i16 16003, i16 0, i16 16744, i16 0, i16 14502, i16 13911, i16 105, i16 106, i16 107, i16 108, i16 617, i16 675, i16 690, i16 283, i16 14953, i16 14956, i16 14964, i16 14968, i16 15209, i16 13666, i16 16813, i16 14575, i16 15465, i16 0, i16 0, i16 0, i16 15721, i16 0, i16 0, i16 0, i16 16489, i16 13095, i16 0, i16 14300, i16 16745, i16 0, i16 0, i16 0, i16 14954, i16 0, i16 0, i16 0, i16 363, i16 364, i16 365, i16 366, i16 619, i16 620, i16 621, i16 640, i16 875, i16 0, i16 0, i16 0, i16 12395, i16 0, i16 0, i16 0, i16 13163, i16 0, i16 13604, i16 0, i16 13931, i16 0, i16 16865, i16 13665, i16 14699, i16 0, i16 0, i16 0, i16 15723, i16 0, i16 0, i16 0, i16 16747, i16 15442, i16 12315, i16 0, i16 14444, i16 0, i16 14347, i16 0, i16 14700, i16 15223, i16 0, i16 0, i16 15468, i16 0, i16 0, i16 0, i16 15724, i16 0, i16 0, i16 0, i16 16236, i16 0, i16 12512, i16 16144, i16 109, i16 110, i16 111, i16 112, i16 14701, i16 0, i16 12413, i16 15310, i16 15213, i16 0, i16 0, i16 16807, i16 15981, i16 0, i16 0, i16 14611, i16 12398, i16 0, i16 13810, i16 0, i16 13422, i16 0, i16 0, i16 0, i16 13678, i16 16641, i16 15345, i16 0, i16 14702, i16 0, i16 0, i16 0, i16 15726, i16 0, i16 12419, i16 17035, i16 16238, i16 0, i16 14062, i16 0, i16 367, i16 368, i16 369, i16 370, i16 879, i16 880, i16 881, i16 882, i16 12399, i16 15153, i16 0, i16 0, i16 13423, i16 0, i16 0, i16 17122, i16 14191, i16 0, i16 16427, i16 0, i16 14703, i16 13623, i16 0, i16 16506, i16 15983, i16 15729, i16 0, i16 0, i16 16495, i16 0, i16 16714, i16 0, i16 12656, i16 0, i16 13762, i16 0, i16 13936, i16 0, i16 0, i16 12284, i16 14448, i16 12575, i16 0, i16 13776, i16 14704, i16 0, i16 13229, i16 15194, i16 113, i16 114, i16 115, i16 116, i16 625, i16 626, i16 627, i16 628, i16 12657, i16 16053, i16 0, i16 0, i16 15985, i16 0, i16 16183, i16 13515, i16 17009, i16 0, i16 14554, i16 0, i16 12658, i16 0, i16 0, i16 0, i16 15474, i16 0, i16 16770, i16 0, i16 16498, i16 15164, i16 0, i16 0, i16 17010, i16 0, i16 13788, i16 13789, i16 371, i16 372, i16 373, i16 374, i16 883, i16 884, i16 885, i16 886, i16 14963, i16 15898, i16 0, i16 0, i16 16755, i16 0, i16 0, i16 0, i16 17011, i16 0, i16 0, i16 15514, i16 12404, i16 0, i16 0, i16 0, i16 12916, i16 0, i16 0, i16 14195, i16 16500, i16 0, i16 14290, i16 0, i16 117, i16 118, i16 119, i16 120, i16 629, i16 630, i16 631, i16 618, i16 13173, i16 0, i16 16230, i16 0, i16 13685, i16 13795, i16 16412, i16 0, i16 16245, i16 0, i16 16891, i16 0, i16 16501, i16 0, i16 0, i16 0, i16 12918, i16 0, i16 0, i16 0, i16 13686, i16 0, i16 0, i16 0, i16 13942, i16 13667, i16 0, i16 0, i16 14198, i16 12283, i16 0, i16 0, i16 14710, i16 0, i16 0, i16 0, i16 15478, i16 0, i16 15445, i16 15918, i16 16246, i16 16210, i16 13864, i16 0, i16 16758, i16 0, i16 0, i16 0, i16 375, i16 376, i16 377, i16 378, i16 887, i16 888, i16 889, i16 890, i16 12663, i16 0, i16 0, i16 0, i16 13431, i16 15482, i16 0, i16 0, i16 13687, i16 0, i16 0, i16 0, i16 15479, i16 0, i16 0, i16 0, i16 15735, i16 0, i16 14247, i16 0, i16 15991, i16 0, i16 0, i16 12861, i16 16503, i16 0, i16 0, i16 0, i16 13176, i16 0, i16 0, i16 0, i16 14456, i16 0, i16 0, i16 14707, i16 15224, i16 0, i16 0, i16 0, i16 16248, i16 0, i16 0, i16 0, i16 121, i16 122, i16 123, i16 124, i16 13689, i16 0, i16 0, i16 15343, i16 15481, i16 0, i16 15241, i16 0, i16 16761, i16 15321, i16 0, i16 0, i16 13178, i16 0, i16 16356, i16 0, i16 13946, i16 14970, i16 0, i16 0, i16 14458, i16 0, i16 0, i16 15513, i16 379, i16 380, i16 224, i16 0, i16 891, i16 892, i16 893, i16 894, i16 12923, i16 0, i16 0, i16 0, i16 14203, i16 0, i16 0, i16 0, i16 14459, i16 16609, i16 0, i16 12288, i16 14971, i16 14974, i16 14977, i16 14979, i16 15227, i16 17075, i16 14960, i16 0, i16 17019, i16 12410, i16 0, i16 0, i16 12668, i16 0, i16 12416, i16 0, i16 12924, i16 0, i16 0, i16 16146, i16 13948, i16 13979, i16 14073, i16 14121, i16 16764, i16 0, i16 0, i16 0, i16 17020, i16 0, i16 0, i16 0, i16 125, i16 126, i16 127, i16 132, i16 637, i16 638, i16 671, i16 672, i16 12925, i16 0, i16 0, i16 17153, i16 13437, i16 14216, i16 0, i16 0, i16 15997, i16 0, i16 0, i16 0, i16 16253, i16 17110, i16 16998, i16 0, i16 17021, i16 14028, i16 14602, i16 0, i16 12414, i16 0, i16 0, i16 15940, i16 13182, i16 0, i16 0, i16 0, i16 15230, i16 0, i16 0, i16 0, i16 15998, i16 13078, i16 12795, i16 0, i16 639, i16 688, i16 632, i16 0, i16 895, i16 896, i16 897, i16 898, i16 15487, i16 0, i16 16117, i16 0, i16 16511, i16 0, i16 13967, i16 0, i16 12672, i16 0, i16 0, i16 0, i16 12928, i16 0, i16 0, i16 0, i16 13952, i16 0, i16 0, i16 14693, i16 14720, i16 15363, i16 17000, i16 0, i16 15232, i16 0, i16 0, i16 14017, i16 17024, i16 0, i16 0, i16 0, i16 385, i16 386, i16 387, i16 388, i16 641, i16 680, i16 681, i16 682, i16 12673, i16 15969, i16 15810, i16 15142, i16 12929, i16 14360, i16 15168, i16 0, i16 13953, i16 17120, i16 0, i16 0, i16 15233, i16 0, i16 0, i16 0, i16 15745, i16 13371, i16 15358, i16 16608, i16 16513, i16 0, i16 0, i16 0, i16 16769, i16 0, i16 14392, i16 0, i16 17025, i16 0, i16 0, i16 0, i16 642, i16 643, i16 644, i16 645, i16 12674, i16 0, i16 13497, i16 16005, i16 13186, i16 0, i16 0, i16 0, i16 14466, i16 16629, i16 0, i16 0, i16 15746, i16 0, i16 0, i16 0, i16 131, i16 0, i16 693, i16 0, i16 899, i16 900, i16 901, i16 902, i16 13955, i16 0, i16 14350, i16 0, i16 15235, i16 14924, i16 0, i16 0, i16 16259, i16 0, i16 12776, i16 15255, i16 16771, i16 0, i16 0, i16 0, i16 17027, i16 0, i16 0, i16 0, i16 12932, i16 15535, i16 13829, i16 12760, i16 13188, i16 0, i16 0, i16 16888, i16 13444, i16 0, i16 0, i16 0, i16 14212, i16 0, i16 0, i16 15638, i16 14468, i16 0, i16 15186, i16 13221, i16 16004, i16 0, i16 0, i16 13654, i16 389, i16 390, i16 391, i16 392, i16 12933, i16 15624, i16 0, i16 0, i16 15493, i16 15494, i16 15495, i16 15496, i16 16517, i16 0, i16 12390, i16 0, i16 646, i16 647, i16 648, i16 649, i16 12678, i16 0, i16 0, i16 0, i16 13446, i16 0, i16 0, i16 0, i16 14982, i16 14983, i16 14984, i16 14986, i16 15238, i16 0, i16 14524, i16 0, i16 15750, i16 0, i16 14589, i16 0, i16 16774, i16 12986, i16 15718, i16 0, i16 903, i16 904, i16 905, i16 906, i16 13447, i16 0, i16 0, i16 0, i16 14471, i16 12595, i16 16282, i16 14959, i16 15751, i16 0, i16 14208, i16 0, i16 16263, i16 0, i16 14091, i16 0, i16 16775, i16 15669, i16 0, i16 0, i16 136, i16 348, i16 349, i16 350, i16 12424, i16 12430, i16 12447, i16 12611, i16 12680, i16 0, i16 16168, i16 0, i16 14472, i16 14429, i16 0, i16 0, i16 15240, i16 15283, i16 15323, i16 15359, i16 15752, i16 15337, i16 15932, i16 14724, i16 16264, i16 0, i16 0, i16 0, i16 16520, i16 0, i16 0, i16 0, i16 137, i16 203, i16 0, i16 0, i16 393, i16 394, i16 395, i16 396, i16 12937, i16 15537, i16 0, i16 0, i16 14217, i16 0, i16 0, i16 0, i16 16777, i16 0, i16 0, i16 0, i16 17033, i16 0, i16 15761, i16 0, i16 138, i16 139, i16 0, i16 0, i16 650, i16 651, i16 657, i16 658, i16 12682, i16 0, i16 0, i16 0, i16 12938, i16 0, i16 0, i16 0, i16 14218, i16 0, i16 0, i16 16130, i16 16778, i16 13956, i16 0, i16 0, i16 17034, i16 0, i16 13841, i16 12533, i16 907, i16 908, i16 909, i16 910, i16 12427, i16 0, i16 0, i16 0, i16 13195, i16 0, i16 16922, i16 0, i16 13707, i16 0, i16 0, i16 0, i16 14475, i16 0, i16 0, i16 0, i16 15499, i16 15502, i16 15504, i16 15510, i16 16011, i16 0, i16 0, i16 16509, i16 16779, i16 12836, i16 16582, i16 0, i16 140, i16 141, i16 0, i16 0, i16 652, i16 653, i16 654, i16 655, i16 12684, i16 0, i16 0, i16 0, i16 13452, i16 12433, i16 0, i16 0, i16 13708, i16 0, i16 14987, i16 0, i16 13964, i16 0, i16 15770, i16 16631, i16 14988, i16 14989, i16 14990, i16 14993, i16 15500, i16 0, i16 0, i16 0, i16 15756, i16 17160, i16 0, i16 0, i16 16012, i16 0, i16 0, i16 0, i16 16780, i16 14427, i16 14651, i16 16249, i16 397, i16 398, i16 399, i16 400, i16 14733, i16 15528, i16 0, i16 0, i16 15245, i16 16145, i16 12910, i16 15246, i16 142, i16 143, i16 0, i16 0, i16 12686, i16 0, i16 0, i16 0, i16 16270, i16 15176, i16 16407, i16 0, i16 911, i16 912, i16 913, i16 914, i16 12687, i16 0, i16 0, i16 0, i16 13455, i16 13547, i16 13572, i16 13917, i16 15759, i16 0, i16 0, i16 0, i16 16527, i16 13808, i16 0, i16 12337, i16 144, i16 145, i16 146, i16 147, i16 656, i16 0, i16 0, i16 0, i16 13200, i16 0, i16 0, i16 14170, i16 13456, i16 0, i16 0, i16 0, i16 401, i16 402, i16 403, i16 404, i16 12945, i16 13998, i16 0, i16 0, i16 13457, i16 16256, i16 0, i16 16553, i16 13969, i16 13521, i16 0, i16 0, i16 15505, i16 0, i16 0, i16 0, i16 12434, i16 0, i16 15058, i16 13539, i16 12690, i16 14684, i16 12987, i16 16033, i16 14482, i16 0, i16 0, i16 0, i16 15250, i16 0, i16 0, i16 0, i16 15762, i16 14596, i16 16510, i16 0, i16 16274, i16 13878, i16 0, i16 0, i16 16530, i16 0, i16 0, i16 13211, i16 659, i16 660, i16 661, i16 662, i16 915, i16 916, i16 917, i16 918, i16 13971, i16 0, i16 12440, i16 0, i16 14739, i16 0, i16 0, i16 0, i16 14995, i16 14996, i16 14999, i16 15000, i16 15507, i16 14598, i16 14237, i16 15914, i16 15763, i16 15390, i16 12379, i16 14705, i16 16275, i16 0, i16 0, i16 0, i16 148, i16 149, i16 150, i16 151, i16 13460, i16 0, i16 16753, i16 15034, i16 13716, i16 13717, i16 15801, i16 0, i16 14484, i16 13903, i16 14323, i16 0, i16 15764, i16 0, i16 15835, i16 0, i16 16276, i16 16223, i16 0, i16 0, i16 405, i16 406, i16 407, i16 408, i16 12437, i16 0, i16 0, i16 13759, i16 13461, i16 0, i16 0, i16 0, i16 15253, i16 0, i16 0, i16 0, i16 14486, i16 15451, i16 0, i16 16104, i16 663, i16 664, i16 665, i16 666, i16 919, i16 920, i16 921, i16 922, i16 13207, i16 0, i16 0, i16 15529, i16 13719, i16 12365, i16 16469, i16 15002, i16 14231, i16 12961, i16 0, i16 0, i16 14743, i16 0, i16 0, i16 0, i16 15511, i16 15515, i16 15516, i16 15519, i16 15767, i16 14614, i16 0, i16 13954, i16 152, i16 153, i16 0, i16 199, i16 12952, i16 0, i16 0, i16 0, i16 13208, i16 0, i16 0, i16 0, i16 14232, i16 0, i16 0, i16 0, i16 15256, i16 13725, i16 0, i16 16406, i16 16792, i16 0, i16 12502, i16 0, i16 17048, i16 0, i16 16613, i16 0, i16 409, i16 410, i16 411, i16 412, i16 12697, i16 0, i16 0, i16 0, i16 13465, i16 0, i16 15265, i16 16948, i16 14489, i16 0, i16 12306, i16 0, i16 15001, i16 15003, i16 15009, i16 15014, i16 12442, i16 13226, i16 0, i16 14226, i16 12698, i16 15313, i16 0, i16 17014, i16 15258, i16 0, i16 0, i16 0, i16 16538, i16 13681, i16 16557, i16 0, i16 667, i16 612, i16 613, i16 614, i16 923, i16 924, i16 925, i16 926, i16 12443, i16 16521, i16 0, i16 16894, i16 16539, i16 16116, i16 14202, i16 15247, i16 16795, i16 16796, i16 16864, i16 16991, i16 17052, i16 0, i16 0, i16 0, i16 157, i16 177, i16 0, i16 0, i16 413, i16 414, i16 415, i16 416, i16 669, i16 670, i16 285, i16 687, i16 12957, i16 0, i16 12393, i16 0, i16 13213, i16 0, i16 13510, i16 0, i16 15005, i16 0, i16 0, i16 0, i16 15517, i16 0, i16 0, i16 0, i16 16541, i16 15492, i16 0, i16 0, i16 158, i16 159, i16 0, i16 0, i16 12702, i16 16396, i16 16565, i16 0, i16 13726, i16 0, i16 15904, i16 0, i16 15006, i16 0, i16 0, i16 13595, i16 15518, i16 0, i16 0, i16 0, i16 927, i16 928, i16 929, i16 930, i16 13983, i16 0, i16 0, i16 0, i16 16287, i16 0, i16 0, i16 0, i16 17055, i16 0, i16 0, i16 0, i16 13472, i16 14810, i16 14523, i16 0, i16 15520, i16 15531, i16 15539, i16 15540, i16 16544, i16 0, i16 12913, i16 0, i16 161, i16 205, i16 0, i16 0, i16 417, i16 418, i16 419, i16 420, i16 673, i16 633, i16 634, i16 635, i16 13729, i16 14746, i16 0, i16 15579, i16 14497, i16 0, i16 0, i16 13296, i16 16545, i16 0, i16 0, i16 15030, i16 162, i16 154, i16 868, i16 869, i16 12450, i16 0, i16 0, i16 0, i16 13218, i16 16234, i16 0, i16 0, i16 13474, i16 0, i16 15986, i16 0, i16 931, i16 932, i16 933, i16 934, i16 12963, i16 16061, i16 0, i16 0, i16 13731, i16 14781, i16 15351, i16 0, i16 14243, i16 0, i16 0, i16 0, i16 17059, i16 15542, i16 13128, i16 0, i16 13476, i16 0, i16 0, i16 0, i16 13732, i16 0, i16 0, i16 15733, i16 15524, i16 0, i16 13441, i16 0, i16 16548, i16 16337, i16 0, i16 13756, i16 17060, i16 0, i16 0, i16 0, i16 421, i16 422, i16 423, i16 424, i16 12709, i16 0, i16 0, i16 0, i16 13733, i16 0, i16 0, i16 0, i16 13989, i16 0, i16 0, i16 0, i16 14501, i16 0, i16 0, i16 15771, i16 15013, i16 0, i16 13401, i16 13158, i16 15525, i16 0, i16 0, i16 0, i16 16805, i16 15459, i16 15096, i16 13761, i16 17061, i16 0, i16 14417, i16 0, i16 12966, i16 0, i16 15984, i16 0, i16 13734, i16 0, i16 13803, i16 13637, i16 14246, i16 0, i16 14315, i16 0, i16 16038, i16 0, i16 0, i16 14842, i16 16550, i16 12792, i16 0, i16 0, i16 17062, i16 0, i16 0, i16 15604, i16 167, i16 168, i16 218, i16 381, i16 935, i16 936, i16 937, i16 938, i16 13735, i16 0, i16 13742, i16 13171, i16 14759, i16 16681, i16 0, i16 13892, i16 15271, i16 15272, i16 14418, i16 0, i16 12968, i16 0, i16 14867, i16 0, i16 16040, i16 0, i16 16175, i16 0, i16 16552, i16 16563, i16 16665, i16 16686, i16 425, i16 426, i16 427, i16 428, i16 13225, i16 15942, i16 13512, i16 0, i16 13481, i16 0, i16 0, i16 0, i16 15017, i16 15018, i16 15020, i16 15021, i16 15785, i16 0, i16 0, i16 16662, i16 16297, i16 0, i16 0, i16 0, i16 12714, i16 0, i16 12438, i16 16242, i16 14250, i16 16679, i16 14694, i16 0, i16 15530, i16 15333, i16 0, i16 0, i16 16298, i16 15512, i16 0, i16 13777, i16 16554, i16 0, i16 0, i16 13450, i16 171, i16 0, i16 170, i16 0, i16 683, i16 676, i16 677, i16 678, i16 939, i16 940, i16 941, i16 942, i16 12459, i16 16235, i16 0, i16 0, i16 12715, i16 0, i16 0, i16 0, i16 12971, i16 0, i16 0, i16 0, i16 13227, i16 0, i16 0, i16 0, i16 15787, i16 0, i16 0, i16 0, i16 17067, i16 0, i16 0, i16 0, i16 172, i16 0, i16 0, i16 0, i16 12972, i16 0, i16 0, i16 15139, i16 13228, i16 0, i16 0, i16 0, i16 14508, i16 0, i16 13704, i16 0, i16 16044, i16 0, i16 0, i16 0, i16 16556, i16 0, i16 0, i16 0, i16 429, i16 430, i16 431, i16 432, i16 685, i16 0, i16 0, i16 686, i16 13485, i16 0, i16 0, i16 0, i16 13997, i16 0, i16 0, i16 0, i16 14509, i16 13175, i16 16316, i16 0, i16 15533, i16 0, i16 0, i16 0, i16 15789, i16 17036, i16 0, i16 0, i16 16045, i16 0, i16 16600, i16 0, i16 16301, i16 0, i16 15820, i16 12844, i16 12718, i16 16063, i16 12914, i16 14117, i16 12974, i16 0, i16 16705, i16 0, i16 13230, i16 0, i16 15623, i16 13677, i16 14766, i16 0, i16 0, i16 0, i16 15022, i16 0, i16 13436, i16 0, i16 15278, i16 0, i16 14272, i16 0, i16 16302, i16 14904, i16 16258, i16 16283, i16 16558, i16 16824, i16 0, i16 0, i16 943, i16 944, i16 945, i16 946, i16 14255, i16 16131, i16 0, i16 13355, i16 15791, i16 0, i16 0, i16 0, i16 16815, i16 0, i16 0, i16 0, i16 17071, i16 0, i16 0, i16 0, i16 13488, i16 0, i16 0, i16 0, i16 14768, i16 0, i16 14039, i16 0, i16 15024, i16 15039, i16 15041, i16 15046, i16 433, i16 434, i16 435, i16 436, i16 689, i16 684, i16 0, i16 0, i16 12465, i16 13274, i16 0, i16 13752, i16 12721, i16 16798, i16 14932, i16 0, i16 12977, i16 0, i16 12908, i16 0, i16 14257, i16 14133, i16 0, i16 0, i16 15025, i16 0, i16 0, i16 0, i16 16817, i16 12884, i16 0, i16 0, i16 12466, i16 16789, i16 12563, i16 13222, i16 13234, i16 0, i16 0, i16 0, i16 15794, i16 0, i16 0, i16 0, i16 947, i16 948, i16 949, i16 950, i16 12723, i16 0, i16 0, i16 0, i16 14771, i16 0, i16 13435, i16 0, i16 16051, i16 15890, i16 0, i16 0, i16 16819, i16 12329, i16 0, i16 17001, i16 692, i16 0, i16 0, i16 0, i16 12724, i16 0, i16 13132, i16 0, i16 15796, i16 0, i16 0, i16 0, i16 16308, i16 16502, i16 16504, i16 16536, i16 437, i16 438, i16 439, i16 440, i16 12725, i16 0, i16 0, i16 0, i16 13493, i16 0, i16 0, i16 0, i16 14005, i16 0, i16 0, i16 0, i16 15029, i16 0, i16 0, i16 0, i16 12726, i16 0, i16 15184, i16 0, i16 13238, i16 16154, i16 16911, i16 0, i16 14006, i16 0, i16 0, i16 0, i16 14774, i16 0, i16 0, i16 0, i16 15286, i16 0, i16 0, i16 0, i16 16822, i16 14980, i16 0, i16 0, i16 17078, i16 0, i16 0, i16 0, i16 951, i16 952, i16 953, i16 954, i16 12471, i16 0, i16 0, i16 12778, i16 13751, i16 0, i16 16204, i16 0, i16 14519, i16 0, i16 0, i16 0, i16 14775, i16 0, i16 0, i16 0, i16 15543, i16 15546, i16 15549, i16 15550, i16 12472, i16 16606, i16 14284, i16 0, i16 13240, i16 12549, i16 0, i16 13294, i16 15288, i16 0, i16 0, i16 0, i16 16056, i16 0, i16 0, i16 0, i16 441, i16 442, i16 443, i16 444, i16 12473, i16 0, i16 0, i16 0, i16 14521, i16 14717, i16 14727, i16 14735, i16 15289, i16 12888, i16 0, i16 16378, i16 16313, i16 13827, i16 0, i16 14976, i16 16569, i16 16206, i16 0, i16 0, i16 698, i16 0, i16 0, i16 0, i16 14266, i16 0, i16 0, i16 0, i16 14778, i16 0, i16 0, i16 0, i16 16058, i16 0, i16 0, i16 0, i16 955, i16 956, i16 957, i16 958, i16 14267, i16 0, i16 0, i16 0, i16 12988, i16 0, i16 0, i16 0, i16 14268, i16 0, i16 13468, i16 0, i16 15036, i16 0, i16 0, i16 0, i16 16572, i16 14518, i16 12691, i16 13239, i16 189, i16 188, i16 0, i16 253, i16 445, i16 446, i16 447, i16 448, i16 12477, i16 15331, i16 0, i16 0, i16 13245, i16 0, i16 0, i16 0, i16 13757, i16 0, i16 0, i16 14374, i16 14525, i16 0, i16 13038, i16 0, i16 16317, i16 0, i16 0, i16 0, i16 17085, i16 0, i16 15086, i16 0, i16 15038, i16 0, i16 17064, i16 0, i16 15806, i16 0, i16 0, i16 0, i16 16574, i16 0, i16 0, i16 0, i16 14783, i16 0, i16 0, i16 0, i16 15551, i16 15803, i16 0, i16 16468, i16 704, i16 705, i16 706, i16 707, i16 13248, i16 14745, i16 0, i16 15254, i16 13504, i16 0, i16 0, i16 0, i16 14016, i16 15498, i16 16826, i16 0, i16 15808, i16 0, i16 12581, i16 0, i16 16320, i16 0, i16 0, i16 0, i16 16576, i16 0, i16 0, i16 0, i16 193, i16 192, i16 0, i16 0, i16 449, i16 450, i16 451, i16 452, i16 12481, i16 15674, i16 0, i16 0, i16 12737, i16 0, i16 0, i16 16125, i16 12993, i16 12996, i16 12999, i16 13000, i16 13505, i16 12448, i16 0, i16 16713, i16 15297, i16 15282, i16 16915, i16 0, i16 16321, i16 0, i16 0, i16 0, i16 17089, i16 0, i16 0, i16 0, i16 962, i16 963, i16 964, i16 965, i16 12482, i16 0, i16 0, i16 0, i16 12994, i16 0, i16 0, i16 14948, i16 13250, i16 0, i16 17056, i16 0, i16 15042, i16 0, i16 0, i16 0, i16 16322, i16 0, i16 0, i16 0, i16 195, i16 196, i16 194, i16 197, i16 12483, i16 16508, i16 13428, i16 13090, i16 14019, i16 15663, i16 0, i16 14242, i16 15043, i16 0, i16 15522, i16 0, i16 15299, i16 14752, i16 16138, i16 12614, i16 15811, i16 0, i16 0, i16 0, i16 708, i16 709, i16 710, i16 711, i16 12484, i16 0, i16 13845, i16 0, i16 13508, i16 12695, i16 0, i16 0, i16 453, i16 454, i16 455, i16 456, i16 13253, i16 0, i16 0, i16 0, i16 13765, i16 0, i16 0, i16 12940, i16 14021, i16 0, i16 0, i16 0, i16 14789, i16 0, i16 12336, i16 0, i16 15557, i16 0, i16 0, i16 0, i16 16069, i16 0, i16 14166, i16 0, i16 198, i16 271, i16 274, i16 272, i16 966, i16 967, i16 968, i16 969, i16 12486, i16 15292, i16 0, i16 0, i16 14022, i16 12548, i16 0, i16 0, i16 14534, i16 14770, i16 0, i16 14512, i16 14790, i16 0, i16 0, i16 0, i16 15558, i16 0, i16 0, i16 0, i16 16070, i16 15545, i16 0, i16 0, i16 13255, i16 0, i16 0, i16 0, i16 15047, i16 15051, i16 15053, i16 15055, i16 16071, i16 16132, i16 16153, i16 16237, i16 712, i16 713, i16 714, i16 715, i16 14280, i16 0, i16 15295, i16 0, i16 14536, i16 0, i16 0, i16 0, i16 16072, i16 16419, i16 0, i16 15427, i16 17096, i16 0, i16 0, i16 0, i16 457, i16 458, i16 459, i16 460, i16 12489, i16 0, i16 0, i16 13963, i16 13001, i16 13002, i16 13003, i16 13004, i16 14025, i16 0, i16 0, i16 0, i16 14793, i16 16370, i16 0, i16 0, i16 15049, i16 0, i16 14621, i16 15073, i16 15561, i16 0, i16 0, i16 15636, i16 16585, i16 0, i16 0, i16 16785, i16 970, i16 971, i16 972, i16 973, i16 12490, i16 0, i16 0, i16 0, i16 12746, i16 13990, i16 0, i16 0, i16 14026, i16 0, i16 13980, i16 0, i16 15818, i16 15722, i16 0, i16 14075, i16 17098, i16 0, i16 0, i16 0, i16 14795, i16 0, i16 0, i16 0, i16 15307, i16 0, i16 0, i16 0, i16 15819, i16 0, i16 0, i16 15927, i16 16075, i16 0, i16 0, i16 0, i16 716, i16 717, i16 718, i16 719, i16 14796, i16 0, i16 16022, i16 0, i16 15052, i16 0, i16 13418, i16 12665, i16 16844, i16 0, i16 0, i16 0, i16 461, i16 462, i16 463, i16 464, i16 13261, i16 0, i16 0, i16 0, i16 14541, i16 13220, i16 0, i16 0, i16 15309, i16 0, i16 12712, i16 0, i16 15565, i16 15566, i16 15568, i16 15573, i16 15821, i16 0, i16 16052, i16 0, i16 17101, i16 0, i16 0, i16 0, i16 974, i16 975, i16 976, i16 977, i16 13006, i16 13007, i16 13008, i16 13009, i16 13518, i16 0, i16 0, i16 14415, i16 14542, i16 0, i16 0, i16 0, i16 16078, i16 14393, i16 0, i16 0, i16 207, i16 0, i16 235, i16 0, i16 12495, i16 0, i16 0, i16 16950, i16 13519, i16 0, i16 0, i16 0, i16 15311, i16 0, i16 14830, i16 14282, i16 15567, i16 0, i16 0, i16 16619, i16 15823, i16 0, i16 0, i16 16027, i16 16847, i16 0, i16 0, i16 14496, i16 17103, i16 17115, i16 0, i16 0, i16 208, i16 0, i16 0, i16 209, i16 720, i16 721, i16 722, i16 723, i16 14544, i16 0, i16 0, i16 0, i16 15056, i16 15059, i16 15071, i16 15076, i16 16336, i16 0, i16 0, i16 0, i16 16592, i16 15685, i16 0, i16 0, i16 16848, i16 0, i16 13214, i16 0, i16 17104, i16 14273, i16 14711, i16 0, i16 465, i16 466, i16 467, i16 468, i16 12753, i16 14734, i16 0, i16 16252, i16 14033, i16 0, i16 0, i16 15601, i16 16081, i16 0, i16 0, i16 0, i16 978, i16 979, i16 980, i16 981, i16 13010, i16 13012, i16 13013, i16 13014, i16 15826, i16 16028, i16 12772, i16 0, i16 16594, i16 0, i16 0, i16 0, i16 16850, i16 0, i16 16189, i16 0, i16 17106, i16 0, i16 0, i16 12294, i16 14547, i16 0, i16 0, i16 14190, i16 15315, i16 0, i16 0, i16 0, i16 15827, i16 0, i16 0, i16 12830, i16 724, i16 725, i16 726, i16 727, i16 12500, i16 0, i16 0, i16 16134, i16 13524, i16 0, i16 0, i16 0, i16 13780, i16 13256, i16 0, i16 0, i16 14804, i16 16701, i16 0, i16 0, i16 15060, i16 0, i16 12324, i16 0, i16 15316, i16 0, i16 15341, i16 0, i16 15572, i16 0, i16 0, i16 14646, i16 15828, i16 0, i16 13541, i16 15450, i16 469, i16 470, i16 471, i16 472, i16 12501, i16 0, i16 0, i16 0, i16 12757, i16 0, i16 0, i16 14292, i16 13269, i16 0, i16 0, i16 0, i16 13781, i16 0, i16 0, i16 13202, i16 14293, i16 0, i16 0, i16 14850, i16 982, i16 983, i16 984, i16 985, i16 13526, i16 12773, i16 0, i16 13700, i16 15574, i16 15575, i16 15650, i16 15725, i16 16854, i16 0, i16 15593, i16 14511, i16 13015, i16 13017, i16 13019, i16 13020, i16 14295, i16 0, i16 0, i16 0, i16 16599, i16 13986, i16 0, i16 0, i16 728, i16 729, i16 730, i16 731, i16 12504, i16 0, i16 0, i16 0, i16 13272, i16 13695, i16 17084, i16 13561, i16 14040, i16 16182, i16 16408, i16 0, i16 14296, i16 0, i16 0, i16 0, i16 14552, i16 0, i16 13151, i16 16838, i16 217, i16 215, i16 214, i16 206, i16 473, i16 474, i16 475, i16 0, i16 13529, i16 0, i16 15231, i16 0, i16 16089, i16 0, i16 16543, i16 0, i16 986, i16 987, i16 988, i16 989, i16 12762, i16 0, i16 0, i16 12667, i16 14042, i16 0, i16 14899, i16 0, i16 14298, i16 0, i16 0, i16 0, i16 15322, i16 14491, i16 0, i16 12496, i16 16602, i16 0, i16 0, i16 0, i16 12763, i16 0, i16 0, i16 15467, i16 13275, i16 14301, i16 0, i16 17006, i16 13531, i16 0, i16 14555, i16 0, i16 220, i16 0, i16 0, i16 0, i16 476, i16 477, i16 478, i16 479, i16 732, i16 733, i16 734, i16 735, i16 12764, i16 15934, i16 0, i16 16323, i16 14812, i16 12878, i16 0, i16 15877, i16 15580, i16 14196, i16 16484, i16 15632, i16 221, i16 0, i16 175, i16 222, i16 12509, i16 0, i16 0, i16 0, i16 13533, i16 0, i16 0, i16 0, i16 14557, i16 14233, i16 0, i16 0, i16 14813, i16 0, i16 0, i16 0, i16 15325, i16 0, i16 15780, i16 0, i16 16093, i16 16897, i16 13603, i16 0, i16 16349, i16 0, i16 14054, i16 14713, i16 990, i16 991, i16 992, i16 993, i16 12510, i16 15805, i16 13369, i16 0, i16 12766, i16 0, i16 0, i16 0, i16 13022, i16 13026, i16 13030, i16 13032, i16 13278, i16 14015, i16 13585, i16 0, i16 14046, i16 0, i16 0, i16 0, i16 14814, i16 0, i16 0, i16 0, i16 15582, i16 0, i16 0, i16 16043, i16 16350, i16 0, i16 0, i16 0, i16 223, i16 0, i16 268, i16 128, i16 13279, i16 15703, i16 16122, i16 0, i16 14303, i16 0, i16 0, i16 13160, i16 14815, i16 0, i16 0, i16 14647, i16 15327, i16 15373, i16 0, i16 14127, i16 16351, i16 0, i16 14211, i16 0, i16 480, i16 481, i16 482, i16 483, i16 736, i16 737, i16 738, i16 739, i16 13792, i16 0, i16 0, i16 14426, i16 15072, i16 15398, i16 0, i16 0, i16 12769, i16 0, i16 0, i16 0, i16 13537, i16 0, i16 0, i16 0, i16 14305, i16 0, i16 0, i16 0, i16 15585, i16 16868, i16 0, i16 0, i16 226, i16 229, i16 228, i16 231, i16 994, i16 995, i16 996, i16 997, i16 13282, i16 0, i16 0, i16 0, i16 14306, i16 0, i16 12700, i16 0, i16 14562, i16 15395, i16 0, i16 0, i16 16354, i16 0, i16 14249, i16 0, i16 16610, i16 0, i16 0, i16 13023, i16 12771, i16 0, i16 0, i16 0, i16 14307, i16 0, i16 0, i16 0, i16 15587, i16 17070, i16 0, i16 13673, i16 484, i16 485, i16 0, i16 0, i16 740, i16 741, i16 742, i16 743, i16 13028, i16 15378, i16 15379, i16 13805, i16 16612, i16 0, i16 14204, i16 16080, i16 13285, i16 0, i16 0, i16 0, i16 14053, i16 0, i16 13415, i16 0, i16 15589, i16 0, i16 12505, i16 16542, i16 16869, i16 0, i16 12780, i16 0, i16 17125, i16 16445, i16 0, i16 0, i16 230, i16 867, i16 700, i16 0, i16 486, i16 487, i16 488, i16 489, i16 998, i16 999, i16 1000, i16 1001, i16 12518, i16 0, i16 0, i16 0, i16 12774, i16 0, i16 0, i16 0, i16 13542, i16 0, i16 12967, i16 16522, i16 14310, i16 17148, i16 0, i16 0, i16 14822, i16 0, i16 0, i16 0, i16 15078, i16 15095, i16 15173, i16 15174, i16 16358, i16 0, i16 0, i16 13564, i16 16870, i16 0, i16 0, i16 0, i16 13287, i16 0, i16 12943, i16 14498, i16 14567, i16 0, i16 0, i16 0, i16 15335, i16 0, i16 0, i16 0, i16 17127, i16 15461, i16 13470, i16 0, i16 744, i16 745, i16 746, i16 747, i16 14312, i16 0, i16 0, i16 0, i16 15080, i16 15157, i16 13874, i16 13265, i16 16360, i16 0, i16 0, i16 0, i16 16872, i16 0, i16 0, i16 0, i16 13033, i16 13034, i16 13036, i16 13037, i16 13289, i16 12536, i16 0, i16 16564, i16 13545, i16 0, i16 0, i16 15443, i16 13801, i16 0, i16 13620, i16 0, i16 15081, i16 15804, i16 0, i16 0, i16 15849, i16 0, i16 0, i16 0, i16 16617, i16 0, i16 0, i16 0, i16 16873, i16 14697, i16 0, i16 0, i16 234, i16 0, i16 0, i16 0, i16 490, i16 491, i16 492, i16 493, i16 1002, i16 1003, i16 1004, i16 1005, i16 15338, i16 0, i16 0, i16 0, i16 16362, i16 0, i16 14446, i16 15234, i16 16874, i16 0, i16 0, i16 13025, i16 17130, i16 0, i16 0, i16 0, i16 12523, i16 0, i16 13760, i16 0, i16 14059, i16 14375, i16 0, i16 0, i16 14571, i16 0, i16 12662, i16 0, i16 15339, i16 14340, i16 0, i16 0, i16 15851, i16 0, i16 0, i16 16883, i16 748, i16 749, i16 750, i16 751, i16 14316, i16 0, i16 16739, i16 0, i16 14572, i16 0, i16 16192, i16 14871, i16 14828, i16 0, i16 0, i16 0, i16 15852, i16 12976, i16 15777, i16 0, i16 17132, i16 0, i16 0, i16 0, i16 12525, i16 14854, i16 0, i16 0, i16 14573, i16 14036, i16 0, i16 14037, i16 15085, i16 17109, i16 13852, i16 0, i16 16109, i16 15216, i16 13094, i16 0, i16 238, i16 0, i16 0, i16 179, i16 494, i16 495, i16 0, i16 0, i16 1006, i16 1007, i16 1008, i16 1009, i16 13806, i16 15676, i16 16961, i16 0, i16 16366, i16 15218, i16 0, i16 0, i16 12783, i16 0, i16 15396, i16 0, i16 13551, i16 15458, i16 17151, i16 0, i16 13807, i16 0, i16 0, i16 0, i16 14831, i16 0, i16 0, i16 0, i16 15855, i16 0, i16 14172, i16 0, i16 16367, i16 0, i16 14806, i16 12387, i16 240, i16 0, i16 163, i16 164, i16 752, i16 753, i16 754, i16 755, i16 12528, i16 0, i16 0, i16 12349, i16 13040, i16 0, i16 0, i16 15092, i16 13552, i16 13270, i16 0, i16 0, i16 14576, i16 0, i16 0, i16 0, i16 15600, i16 0, i16 0, i16 13650, i16 16368, i16 0, i16 0, i16 17051, i16 17136, i16 15591, i16 12699, i16 0, i16 13041, i16 13042, i16 13043, i16 13044, i16 13297, i16 0, i16 14164, i16 0, i16 14065, i16 0, i16 0, i16 0, i16 14321, i16 14328, i16 14431, i16 14457, i16 16369, i16 0, i16 16030, i16 16833, i16 16625, i16 0, i16 0, i16 0, i16 242, i16 241, i16 0, i16 0, i16 1010, i16 1011, i16 1012, i16 1013, i16 13554, i16 0, i16 0, i16 16702, i16 14066, i16 0, i16 0, i16 0, i16 14834, i16 14837, i16 14838, i16 14845, i16 499, i16 500, i16 501, i16 502, i16 16115, i16 0, i16 13362, i16 0, i16 16371, i16 14903, i16 15888, i16 0, i16 756, i16 757, i16 0, i16 0, i16 15860, i16 0, i16 0, i16 0, i16 16884, i16 0, i16 0, i16 0, i16 245, i16 248, i16 0, i16 249, i16 12789, i16 14319, i16 0, i16 0, i16 13045, i16 13047, i16 13052, i16 13064, i16 14581, i16 0, i16 16841, i16 0, i16 15093, i16 15181, i16 14721, i16 13061, i16 15605, i16 15130, i16 15715, i16 0, i16 15861, i16 0, i16 0, i16 14946, i16 16373, i16 15027, i16 0, i16 0, i16 16885, i16 0, i16 0, i16 16823, i16 246, i16 247, i16 0, i16 250, i16 758, i16 759, i16 760, i16 761, i16 1014, i16 1015, i16 1016, i16 1017, i16 12790, i16 0, i16 0, i16 0, i16 15350, i16 13930, i16 0, i16 0, i16 15606, i16 0, i16 0, i16 0, i16 16886, i16 16410, i16 15882, i16 17128, i16 17142, i16 16149, i16 0, i16 17135, i16 503, i16 504, i16 505, i16 506, i16 13815, i16 0, i16 0, i16 0, i16 14071, i16 0, i16 0, i16 0, i16 14583, i16 0, i16 0, i16 0, i16 14839, i16 16973, i16 15261, i16 17140, i16 13560, i16 0, i16 17083, i16 0, i16 14072, i16 0, i16 0, i16 0, i16 14584, i16 0, i16 15281, i16 0, i16 15608, i16 0, i16 0, i16 0, i16 15864, i16 16748, i16 0, i16 0, i16 16632, i16 15150, i16 0, i16 0, i16 12537, i16 0, i16 0, i16 14973, i16 12793, i16 14630, i16 15850, i16 0, i16 13049, i16 14043, i16 0, i16 0, i16 13305, i16 13263, i16 0, i16 0, i16 15865, i16 0, i16 0, i16 0, i16 17145, i16 16421, i16 0, i16 13784, i16 762, i16 763, i16 764, i16 765, i16 1018, i16 1019, i16 1020, i16 1021, i16 12538, i16 0, i16 0, i16 12960, i16 13050, i16 15974, i16 0, i16 13523, i16 15610, i16 0, i16 0, i16 0, i16 17146, i16 0, i16 0, i16 0, i16 507, i16 508, i16 509, i16 510, i16 13051, i16 0, i16 0, i16 0, i16 15099, i16 17005, i16 17050, i16 16925, i16 15611, i16 15678, i16 0, i16 0, i16 252, i16 0, i16 0, i16 183, i16 13308, i16 14843, i16 0, i16 0, i16 14332, i16 14758, i16 0, i16 0, i16 14588, i16 0, i16 16420, i16 14528, i16 15612, i16 15795, i16 0, i16 0, i16 13309, i16 0, i16 0, i16 0, i16 15869, i16 13439, i16 0, i16 0, i16 16381, i16 0, i16 0, i16 0, i16 16893, i16 14522, i16 0, i16 0, i16 17149, i16 0, i16 12785, i16 0, i16 254, i16 255, i16 0, i16 0, i16 766, i16 767, i16 768, i16 769, i16 1022, i16 1023, i16 1024, i16 1025, i16 13054, i16 0, i16 0, i16 13994, i16 13566, i16 0, i16 0, i16 0, i16 13822, i16 13259, i16 0, i16 15098, i16 511, i16 512, i16 0, i16 513, i16 12287, i16 0, i16 0, i16 13421, i16 12799, i16 0, i16 0, i16 0, i16 13311, i16 0, i16 0, i16 0, i16 13567, i16 0, i16 14077, i16 0, i16 14335, i16 12521, i16 13217, i16 0, i16 14591, i16 15619, i16 0, i16 0, i16 14847, i16 14848, i16 14856, i16 14866], [6 x i8] c"\0A\03\162\00\04", [24 x i64] [i64 48508, i64 48528, i64 48548, i64 14648, i64 48588, i64 48634, i64 48640, i64 14699, i64 48670, i64 52564, i64 52608, i64 14727, i64 53422, i64 61672, i64 61772, i64 16373, i64 0, i64 0, i64 0, i64 0, i64 68630, i64 69002, i64 69010, i64 44726], [2826 x i8] c"\00\00\01\00\00\00\00\00\00\01\00\08\00\01\01\01e\01\01\02\02\00\01\01\01e\01\02\00\02\00\02\02\02d\02\03\00\12\00\02\03\03c\03\03\02\02\00\02\04\04c\04\04\00\12\00\02\05\05b\03\04\02\02\00\02\06\06b\04\05\00\12\00\02\07\05a\03\05\02\02\00\02\08\06a\04\06\00\12\00\02\09\05`\03\06\02\02\00\02\0A\06`\04\07\00\02\00\03\0B\07_\05\08\00\12\00\02\0C\05^\03\08\02\02\00\02\0D\06^\04\09\00\12\00\02\0E\08]\03\09\02\02\00\02\0F\09]\04\0A\00\12\00\02\10\05\\\03\0A\02\02\00\02\11\06\\\04\0B\00\12\00\02\12\08[\03\0B\02\02\00\02\13\09[\04\0C\00\12\00\02\14\05Z\03\0C\02\02\00\02\15\06Z\04\0D\00\12\00\02\16\05Y\03\0D\02\02\00\02\17\06Y\04\0E\00\12\00\02\18\05X\03\0E\02\02\00\02\19\06X\04\0F\00\12\00\02\1A\05W\03\0F\02\02\00\02\1B\06W\04\10\00\12\00\00\1C\0A\8E\06\10\02\02\00\00\1D\0B\8E\07\11\00\12\00\02\1E\05V\03\11\02\02\00\02\1F\06V\04\12\00\12\00\02 \0CU\03\12\02\02\00\02!\0DU\04\13\00\12\00\02\22\05T\08\13\02\02\00\02#\06T\09\14\00\12\00\02$\05S\08\14\02\02\00\02%\06S\09\15\00\15\00\01&\0ER\0A\15\02\02\00\01&\0FR\0B\16\00\05\00\01'\10Q\0C\16\02\02\00\01(\11Q\0D\17\00\05\00\04)\12P\0E\17\02\02\00\04*\13P\0F\18\00\02\00\02+\14O\10\19\00\02\00\03,\15N\11\1A\00\08\00\05-\16M\12\1A\02\02\00\05.\16M\12\1B\00\0E\00\05/\17L\13\1B\02\02\00\05/\18L\13\1C\00\08\00\050\19\8B\14\1C\02\02\00\051\1A\8B\14\1D\00\0C\00\052\19\8B\14\1D\02\02\00\051\1A\8B\14\1E\00\0E\00\063\1B\8C\15\1E\02\02\00\074\1C\8C\15\1F\00\0B\00\025\1DK\16\1F\02\02\00\026\1DK\16 \00\08\00\017\1E\8A\17 \02\02\00\017\1F\8A\17!\00\08\00\058 J\18!\02\02\00\059!J\18\22\00\0C\00\05: J\18\22\02\02\00\059!J\18#\00\08\00\01;\22I\18#\02\02\00\01<#I\18$\00\0C\00\01=\22I\18$\02\02\00\01<#I\18%\00\08\00\08>$H\18%\02\02\00\08>%H\18&\00\08\00\01?$G\18&\02\02\00\01@%G\18'\00\0C\00\01A$G\18'\02\02\00\01@%G\18(\00\08\00\01;\22F\18(\02\02\00\01<#F\18)\00\0C\00\01=\22F\18)\02\02\00\01<#F\18*\00\13\00\09B&E\19*\02\02\00\09C'E\1A+\00\08\00\02D(D\02+\02\02\00\02D(D\02,\00\08\00\02E)C\1B,\02\02\00\02E)C\1B-\00\08\00\02F*\89\1C-\02\02\00\02F*\89\1C.\00\08\00\01G+B\1D.\02\02\00\01H+B\1D/\00\08\00\025)A\02/\02\02\00\026)A\020\00\08\00\02I,@\1E0\02\02\00\02I,@\1E1\00\08\00\02J)?\021\02\02\00\02K)?\022\00\0C\00\02L)?\022\02\02\00\02K)?\023\00\02\00\03\0B->\1E4\00\08\00\02M)=\024\02\02\00\02M)=\025\00\08\00\02N.<\1E5\02\02\00\02N.<\1E6\00\08\00\02O/;\1E6\02\02\00\02O/;\1E7\00\08\00\02P0:\027\02\02\00\02P0:\028\00\08\00\02Q)9\1B8\02\02\00\02Q)9\1B9\00\08\00\02R)8\1B9\02\02\00\02R)8\1B:\02\02\00\05S17\1F;\00\08\00\01T2\88 ;\02\02\00\01T3\88 <\00\08\00\05U2\87 <\02\02\00\05U3\87 =\00\08\00\05V2\86 =\02\02\00\05V3\86 >\00\08\00\05W2\85 >\02\02\00\05W3\85 ?\00\08\00\00X2\84 ?\02\02\00\00X3\84 @\00\08\00\00Y2\83 @\02\02\00\00Y3\83 A\00\08\00\05Z2\82 A\02\02\00\05Z3\82 B\00\08\00\05[2\81 B\02\02\00\05\\3\81 C\00\0C\00\05]2\81 C\02\02\00\05\\3\81 D\00\08\00\00^2\80 D\02\02\00\00^3\80 E\00\08\00\00_2\7F E\02\02\00\00_3\7F F\00\08\00\00`2~ F\02\02\00\00`3~ G\00\08\00\00a2} G\02\02\00\00a3} H\00\08\00\00b2| H\02\02\00\00b3| I\00\08\00\00c2{ I\02\02\00\00c3{ J\00\08\00\00d2z J\02\02\00\00d3z K\00\08\00\05e2y K\02\02\00\05e3y L\00\08\00\00f2x L\02\02\00\00g3x M\00\08\00\02P2w M\02\02\00\02P3w N\00\08\00\05h2v N\02\02\00\05h3v O\00\08\00\05i2u O\02\02\00\05i3u P\00\08\00\06j4t!P\02\02\00\07k5t!Q\00\08\00\05l66\22Q\02\02\00\05m66\22R\00\0C\00\05n66\22R\02\02\00\05m66\22S\02\02\01\0Ao75#S\00\02\01\0Ao75#T\00\08\00\01p8s$T\02\02\00\01q9s$U\00\0C\00\01r8s$U\02\02\00\01q9s$V\00\08\00\017:r%V\02\02\00\017;r%W\00\08\00\09?<4&W\02\02\00\09@=4&X\00\0C\00\09A<4&X\02\02\00\09@=4&Y\00\08\00\0Bs>q'Y\02\02\00\0Bs?q'Z\00\08\00\05>@3(Z\02\02\00\05>A3([\00\08\00\05-B2'[\02\02\00\05.C2'\\\00\0C\00\05tB2'\\\02\02\00\05.C2']\00\08\00\05-B1']\02\02\00\05.C1'^\00\0C\00\05tB1'^\02\02\00\05.C1'_\00\08\00\02JD0)_\02\02\00\02KE0)`\00\0C\00\02LD0)`\02\02\00\02KE0)a\00\0C\00\025F/\1Ba\02\02\00\026G/\1Bb\00\08\00\05lHp b\02\02\00\05mIp c\00\0C\00\05nHp c\02\02\00\05mIp d\00\08\00\025J.\1Bd\02\02\00\026J.\1Be\00\14\00\02uK-*e\02\02\00\02vL-+f\02\02\00\02wM,\02f\00\02\00\02wM,\02g\00\0E\00\05xNo,g\02\02\00\05xOo,h\00\0E\00\01yP+-h\02\02\00\01yQ+-i\00\03\00\02zR*.i\02\02\00\02{S*\10j\00\08\00\01|T)/j\02\02\00\01|T)/k\00\08\00\01}Un\18k\02\02\00\01}Vn\18l\00\08\00\0C>W(0l\02\02\00\0C>X(0m\00\08\00\05lY' m\02\02\00\05mZ' n\00\0C\00\05nY' n\02\02\00\05mZ' o\00\14\00\02uK&*o\02\02\00\02vL&+p\02\02\00\02~[\901q\00\07\00\01\7F\\%2q\02\02\00\01\80]%3r\00\08\00\017^m4r\02\02\00\017^m4s\02\02\00\02\81_\915t\00\08\00\025`$6t\02\02\00\026`$6u\00\0A\00\01\82al7u\02\02\00\01\82bl7v\00\0A\00\06\83ck%v\02\02\00\07\84dk%w\00\0A\00\02Me#8w\02\02\00\02Mf#9x\00\11\00\0D\85g\22:x\02\02\00\0D\86h\22;y\02\02\00\02\87i!\82\02\02\00\05.s\1B>\83\00\0E\00\05\90ti?\83\02\02\00\05\91ui?\84\00\08\00\05\92v\1A@\84\02\02\00\05\92w\1A@\85\00\08\00\05\93x\19@\85\02\02\00\05\94y\19@\86\00\0C\00\05\95x\19@\86\02\02\00\05\94y\19@\87\00\0E\00\05\96z\18A\87\02\02\00\05\96{\18A\88\16\16\00\01\97|\17B\88\00\11\00\01\98}\17C\88\02\02\00\01\99~\17\0D\89\00\18\00\01\9A\7F\16D\89\02\02\00\01\9B\80\16E\8A\00\02\00\01\9C\81\15F\8B\00\0E\00\06\9D\82\8DG\8B\02\02\00\07\9E\83\8DH\8C\00\0E\00\0B\9F\84hI\8C\02\02\00\0B\9F\85hI\8D\00\08\00\01\A0\86\14\02\8D\02\02\00\01\A0\87\14\02\8E\00\0E\00\05\A1\88\13J\8E\02\02\00\05\A1\89\13J\8F\00\11\00\05\A2\8A\13K\8F\02\02\00\05\A3\8B\13E\90\00\08\00\01p\8Cg\18\90\02\02\00\01q\8Dg\18\91\00\0C\00\01r\8Cg\18\91\02\02\00\01q\8Dg\18\92\00\08\00\0D\A4\8C\12\18\92\02\02\00\0D\A4\8D\12\18\93\00\02\00\03\0B\8E\11L\94\00\02\00\0E\A5\8F\10M\95\00\17\00\01\97|\0FN\95\02\02\00\01\99~\0FO\96\00\19\00\02\A6\90\8FP\96\02\02\00\02\A7\91\8FQ\97\00\02\00\02\A8\92\0E\02\98\00\02\00\02\02\93\0D\02\99\00\08\00\02\A9\94\0C\02\99\02\02\00\02\A9\94\0C\02\9A\00\15\00\00\AA\95fR\9A\02\02\00\00\AA\96fS\9B\02\02\00\01\99\97\0BT\9C\00\18\00\01\9A\98\0AU\9C\02\02\00\01\9B\99\0AV\9D\00\02\00\02\AB\9A\09W\9E\00\08\00\02\AC\9B\08X\9E\02\02\00\02\AC\9B\08X\9F\02\02\00\01\AD\9C\07\02\9F\00\02\00\01\AD\9C\07\02\A0\00\08\00\09?\9D\06Y\A0\02\02\00\09@\9E\06Y\A1\00\0C\00\09A\9D\06Y\A2\00\06\00\02\AE\9F\05Z\A2\02\02\00\02\AE\A0\05[\A3\02\02\00\02\AF\A1\04\\\A4\02\02\00\02I\A2\03\\\A5\00\02\00\02O\A3\02\1E\A6\02\02\00\02\B0\A4\01\\", [835 x i8] c"af_ZAam_ETar_AEar_BHar_DZar_EGar_INar_IQar_JOar_KWar_LBar_LYar_MAar_OMar_QAar_SAar_SDar_SYar_TNar_YEaz_AZbe_BYbg_BGbn_BDbn_INbr_FRbs_BAca_EScaeEScs_CZcy_GBda_DKde_ATdeeATde_BEdeeBEde_CHde_DEdeeDEde_LUdeeLUel_GRen_AUen_BWen_CAen_DKen_GBen_HKen_IEeneIEen_INen_NZen_PHen_SGen_USen_ZAen_ZWeo_EOes_ARes_BOes_CLes_COes_CRes_DOes_ECes_ESeseESes_GTes_HNes_MXes_NIes_PAes_PEes_PRes_PYes_SVes_USes_UYes_VEet_EEeu_ESeueESfa_IRfi_FIfieFIfo_FOfr_BEfreBEfr_CAfr_CHfr_FRfreFRfr_LUfreLUga_IEgaeIEgd_GBgl_ESgleESgv_GBhe_ILhi_INhr_HRhu_HUhy_AMid_IDis_ISit_CHit_ITiteITiw_ILja_JPka_GEkl_GLko_KRkw_GBlt_LTlv_LVmi_NZmk_MKmr_INms_MYmt_MTnl_BEnleBEnl_NLnleNLnn_NOno_NOoc_FRpl_PLpt_BRpt_PTptePTro_ROru_RUru_UAse_NOsk_SKsl_SIsq_ALsr_YUsrcYUsv_FIsveFIsv_SEta_INte_INtg_TJth_THti_ERti_ETtl_PHtr_TRtt_RUuk_UAur_PKuz_UZvi_VNwa_BEwaeBEyi_USzh_CNzh_HKzh_SGzh_TW\00\00\00\00\00", [18 x i8] c"\05eeuro\00\09ccyrillic\00", [69 x i8] c"\06\0F\1A&.9LC_CTYPE\00LC_NUMERIC\00LC_MONETARY\00LC_TIME\00LC_COLLATE\00LC_MESSAGES\00", [255 x i8] c"\18\22(/6BMYeq}\89\94\9F\AA\B5\C0\CB\D6\E1\E8\EF\F6\00ARMSCII-8\00ASCII\00CP1251\00CP1255\00GEORGIAN-PS\00ISO-8859-1\00ISO-8859-10\00ISO-8859-13\00ISO-8859-14\00ISO-8859-15\00ISO-8859-16\00ISO-8859-2\00ISO-8859-3\00ISO-8859-4\00ISO-8859-5\00ISO-8859-6\00ISO-8859-7\00ISO-8859-8\00ISO-8859-9\00KOI8-R\00KOI8-T\00KOI8-U\00TIS-620\00\00" }, align 8 +@__C_ctype_b_data = constant <{ [256 x i16], [128 x i16] }> <{ [256 x i16] [i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 8195, i16 8194, i16 8194, i16 8194, i16 8194, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 24577, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -11000, i16 -11000, i16 -11000, i16 -11000, i16 -11000, i16 -11000, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -10744, i16 -10744, i16 -10744, i16 -10744, i16 -10744, i16 -10744, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 2], [128 x i16] zeroinitializer }>, align 16 +@__C_ctype_b = global i16* bitcast (i8* getelementptr (i8, i8* bitcast (<{ [256 x i16], [128 x i16] }>* @__C_ctype_b_data to i8*), i64 256) to i16*), align 8 +@__C_ctype_tolower_data = constant [384 x i16] [i16 -128, i16 -127, i16 -126, i16 -125, i16 -124, i16 -123, i16 -122, i16 -121, i16 -120, i16 -119, i16 -118, i16 -117, i16 -116, i16 -115, i16 -114, i16 -113, i16 -112, i16 -111, i16 -110, i16 -109, i16 -108, i16 -107, i16 -106, i16 -105, i16 -104, i16 -103, i16 -102, i16 -101, i16 -100, i16 -99, i16 -98, i16 -97, i16 -96, i16 -95, i16 -94, i16 -93, i16 -92, i16 -91, i16 -90, i16 -89, i16 -88, i16 -87, i16 -86, i16 -85, i16 -84, i16 -83, i16 -82, i16 -81, i16 -80, i16 -79, i16 -78, i16 -77, i16 -76, i16 -75, i16 -74, i16 -73, i16 -72, i16 -71, i16 -70, i16 -69, i16 -68, i16 -67, i16 -66, i16 -65, i16 -64, i16 -63, i16 -62, i16 -61, i16 -60, i16 -59, i16 -58, i16 -57, i16 -56, i16 -55, i16 -54, i16 -53, i16 -52, i16 -51, i16 -50, i16 -49, i16 -48, i16 -47, i16 -46, i16 -45, i16 -44, i16 -43, i16 -42, i16 -41, i16 -40, i16 -39, i16 -38, i16 -37, i16 -36, i16 -35, i16 -34, i16 -33, i16 -32, i16 -31, i16 -30, i16 -29, i16 -28, i16 -27, i16 -26, i16 -25, i16 -24, i16 -23, i16 -22, i16 -21, i16 -20, i16 -19, i16 -18, i16 -17, i16 -16, i16 -15, i16 -14, i16 -13, i16 -12, i16 -11, i16 -10, i16 -9, i16 -8, i16 -7, i16 -6, i16 -5, i16 -4, i16 -3, i16 -2, i16 -1, i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255], align 16 +@__C_ctype_tolower = global i16* bitcast (i8* getelementptr (i8, i8* bitcast ([384 x i16]* @__C_ctype_tolower_data to i8*), i64 256) to i16*), align 8 +@__C_ctype_toupper_data = constant [384 x i16] [i16 -128, i16 -127, i16 -126, i16 -125, i16 -124, i16 -123, i16 -122, i16 -121, i16 -120, i16 -119, i16 -118, i16 -117, i16 -116, i16 -115, i16 -114, i16 -113, i16 -112, i16 -111, i16 -110, i16 -109, i16 -108, i16 -107, i16 -106, i16 -105, i16 -104, i16 -103, i16 -102, i16 -101, i16 -100, i16 -99, i16 -98, i16 -97, i16 -96, i16 -95, i16 -94, i16 -93, i16 -92, i16 -91, i16 -90, i16 -89, i16 -88, i16 -87, i16 -86, i16 -85, i16 -84, i16 -83, i16 -82, i16 -81, i16 -80, i16 -79, i16 -78, i16 -77, i16 -76, i16 -75, i16 -74, i16 -73, i16 -72, i16 -71, i16 -70, i16 -69, i16 -68, i16 -67, i16 -66, i16 -65, i16 -64, i16 -63, i16 -62, i16 -61, i16 -60, i16 -59, i16 -58, i16 -57, i16 -56, i16 -55, i16 -54, i16 -53, i16 -52, i16 -51, i16 -50, i16 -49, i16 -48, i16 -47, i16 -46, i16 -45, i16 -44, i16 -43, i16 -42, i16 -41, i16 -40, i16 -39, i16 -38, i16 -37, i16 -36, i16 -35, i16 -34, i16 -33, i16 -32, i16 -31, i16 -30, i16 -29, i16 -28, i16 -27, i16 -26, i16 -25, i16 -24, i16 -23, i16 -22, i16 -21, i16 -20, i16 -19, i16 -18, i16 -17, i16 -16, i16 -15, i16 -14, i16 -13, i16 -12, i16 -11, i16 -10, i16 -9, i16 -8, i16 -7, i16 -6, i16 -5, i16 -4, i16 -3, i16 -2, i16 -1, i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255], align 16 +@__C_ctype_toupper = global i16* bitcast (i8* getelementptr (i8, i8* bitcast ([384 x i16]* @__C_ctype_toupper_data to i8*), i64 256) to i16*), align 8 +@errno = global i32 0, align 4 +@h_errno = global i32 0, align 4 +@.str.216 = private unnamed_addr constant [17 x i8] c"ignoring (EPERM)\00", align 1 +@.str.7.218 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.1.219 = private unnamed_addr constant [9 x i8] c"ignoring\00", align 1 +@.str.2.220 = private unnamed_addr constant [82 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/illegal.c\00", align 1 +@.str.3.221 = private unnamed_addr constant [20 x i8] c"longjmp unsupported\00", align 1 +@.str.4.222 = private unnamed_addr constant [8 x i8] c"xxx.err\00", align 1 +@.str.5.224 = private unnamed_addr constant [18 x i8] c"ignoring (EACCES)\00", align 1 +@.str.6.225 = private unnamed_addr constant [18 x i8] c"ignoring (ENOMEM)\00", align 1 +@error_message_count = global i32 0, align 4 +@error_one_per_line = global i32 0, align 4 +@.str.228 = private unnamed_addr constant [5 x i8] c": %s\00", align 1 +@__error_at_line.old_line_number = internal global i32 0, align 4 +@__error_at_line.old_file_name = internal global i8* null, align 8 +@.str.1.229 = private unnamed_addr constant [8 x i8] c"%s:%d: \00", align 1 +@hr_locale = internal global [448 x i8] zeroinitializer, align 16 +@utf8.236 = internal constant [6 x i8] c"UTF-8\00", align 1 +@static_fd = internal global i32 -1, align 4 +@static_ut_name = internal global i8* getelementptr inbounds ([14 x i8], [14 x i8]* @default_file_name, i32 0, i32 0), align 8 +@default_file_name = internal constant [14 x i8] c"/var/run/utmp\00", align 1 +@static_utmp = internal global %struct.utmp.323 zeroinitializer, align 8 +@mbrtowc.mbstate = internal global %struct.__mbstate_t.512 zeroinitializer, align 4 +@__dso_handle = extern_weak global i8*, align 8 +@optind = global i32 1, align 4 +@opterr = global i32 1, align 4 +@optopt = global i32 63, align 4 +@optarg = global i8* null, align 8 +@getopt_data = internal global %struct._getopt_data zeroinitializer, align 8 +@.str.307 = private unnamed_addr constant [3 x i8] c"--\00", align 1 +@.str.1.308 = private unnamed_addr constant [30 x i8] c"%s: option `%s' is ambiguous\0A\00", align 1 +@.str.2.309 = private unnamed_addr constant [45 x i8] c"%s: option `--%s' doesn't allow an argument\0A\00", align 1 +@.str.3.310 = private unnamed_addr constant [45 x i8] c"%s: option `%c%s' doesn't allow an argument\0A\00", align 1 +@.str.4.311 = private unnamed_addr constant [38 x i8] c"%s: option `%s' requires an argument\0A\00", align 1 +@.str.5.312 = private unnamed_addr constant [32 x i8] c"%s: unrecognized option `--%s'\0A\00", align 1 +@.str.6.313 = private unnamed_addr constant [32 x i8] c"%s: unrecognized option `%c%s'\0A\00", align 1 +@.str.7.314 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@.str.8.315 = private unnamed_addr constant [26 x i8] c"%s: illegal option -- %c\0A\00", align 1 +@.str.9.316 = private unnamed_addr constant [26 x i8] c"%s: invalid option -- %c\0A\00", align 1 +@.str.10.317 = private unnamed_addr constant [39 x i8] c"%s: option requires an argument -- %c\0A\00", align 1 +@.str.11.318 = private unnamed_addr constant [16 x i8] c"POSIXLY_CORRECT\00", align 1 +@.str.323 = private unnamed_addr constant [14 x i8] c"#\80\80\80\80\80\80\80\80\80\80\80\80\00", align 1 +@newlocale.envstr = internal global [4 x i8*] [i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.327, i32 0, i32 0), i8* null, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.2.328, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @posix, i32 0, i32 0)], align 16 +@.str.3.324 = private unnamed_addr constant [2 x i8] c"=\00", align 1 +@.str.4.325 = private unnamed_addr constant [2 x i8] c";\00", align 1 +@posix = internal constant [6 x i8] c"POSIX\00", align 1 +@utf8.326 = internal constant [6 x i8] c"UTF-8\00", align 1 +@.str.1.327 = private unnamed_addr constant [7 x i8] c"LC_ALL\00", align 1 +@.str.2.328 = private unnamed_addr constant [5 x i8] c"LANG\00", align 1 +@empty = internal constant [1 x i8] zeroinitializer, align 1 +@mbsnrtowcs.mbstate = internal global %struct.__mbstate_t.512 zeroinitializer, align 4 +@_do_one_spec.spec_base = internal constant [7 x i8] c"\10\10\10\08\0A\0A\0A", align 1 +@.str.345 = private unnamed_addr constant [6 x i8] c"(nil)\00", align 1 +@.str.1.346 = private unnamed_addr constant [7 x i8] c"(null)\00", align 1 +@_do_one_spec.prefix = internal constant [12 x i8] c"+\00-\00 \000x\000X\00", align 1 +@strerror.buf = internal global [50 x i8] zeroinitializer, align 16 +@desc2flag = internal constant [13 x i16] [i16 0, i16 2048, i16 4, i16 256, i16 512, i16 8, i16 128, i16 2, i16 64, i16 1024, i16 32, i16 1, i16 16], align 16 +@fmt = internal constant [20 x i8] c"inf\00INF\00nan\00NAN\00.\00,\00", align 16 +@exp10_table = internal constant [9 x double] [double 1.000000e+01, double 1.000000e+02, double 1.000000e+04, double 1.000000e+08, double 1.000000e+16, double 1.000000e+32, double 1.000000e+64, double 1.000000e+128, double 1.000000e+256], align 16 +@_ppfs_init.invalid_mbs = internal constant [33 x i8] c"Invalid multibyte format string.\00", align 16 +@_ppfs_parsespec.spec_flags = internal constant [8 x i8] c" +0-#'I\00", align 1 +@_ppfs_parsespec.qual_chars = internal constant [20 x i8] c"hlLjztqZ\00\02\04\08\04\04\04\08\04\00\01\08", align 16 +@_ppfs_parsespec.spec_chars = internal constant [21 x i8] c"npxXoudifFeEgGaACScs\00", align 16 +@_ppfs_parsespec.spec_ranges = internal constant [9 x i8] c"\00\01\07\0F\10\11\12\13\14", align 1 +@_ppfs_parsespec.spec_or_mask = internal constant [8 x i16] [i16 4096, i16 5, i16 0, i16 7, i16 2, i16 4, i16 1, i16 3], align 16 +@_ppfs_parsespec.spec_and_mask = internal constant [8 x i16] [i16 7936, i16 5, i16 3840, i16 2055, i16 2, i16 4, i16 1, i16 3], align 16 +@type_codes = internal constant [12 x i16] [i16 8, i16 5, i16 3, i16 4, i16 1, i16 512, i16 0, i16 1024, i16 2048, i16 2, i16 7, i16 2055], align 16 +@type_sizes = internal constant [12 x i8] c"\00\01\01\01\04\02\01\01\01\01\01\01", align 1 +@__exit_count = hidden global i32 0, align 4 +@__exit_function_table = hidden global %struct.exit_function* null, align 8 +@__exit_slots = hidden global i32 0, align 4 +@__xpg_strerror_r.unknown = internal constant [14 x i8] c"Unknown error ", align 1 +@mbsrtowcs.mbstate = internal global %struct.__mbstate_t.512 zeroinitializer, align 4 +@_string_syserrmsgs = hidden constant [2906 x i8] c"Success\00Operation not permitted\00No such file or directory\00No such process\00Interrupted system call\00Input/output error\00No such device or address\00Argument list too long\00Exec format error\00Bad file descriptor\00No child processes\00Resource temporarily unavailable\00Cannot allocate memory\00Permission denied\00Bad address\00Block device required\00Device or resource busy\00File exists\00Invalid cross-device link\00No such device\00Not a directory\00Is a directory\00Invalid argument\00Too many open files in system\00Too many open files\00Inappropriate ioctl for device\00Text file busy\00File too large\00No space left on device\00Illegal seek\00Read-only file system\00Too many links\00Broken pipe\00Numerical argument out of domain\00Numerical result out of range\00Resource deadlock avoided\00File name too long\00No locks available\00Function not implemented\00Directory not empty\00Too many levels of symbolic links\00\00No message of desired type\00Identifier removed\00Channel number out of range\00Level 2 not synchronized\00Level 3 halted\00Level 3 reset\00Link number out of range\00Protocol driver not attached\00No CSI structure available\00Level 2 halted\00Invalid exchange\00Invalid request descriptor\00Exchange full\00No anode\00Invalid request code\00Invalid slot\00\00Bad font file format\00Device not a stream\00No data available\00Timer expired\00Out of streams resources\00Machine is not on the network\00Package not installed\00Object is remote\00Link has been severed\00Advertise error\00Srmount error\00Communication error on send\00Protocol error\00Multihop attempted\00RFS specific error\00Bad message\00Value too large for defined data type\00Name not unique on network\00File descriptor in bad state\00Remote address changed\00Can not access a needed shared library\00Accessing a corrupted shared library\00.lib section in a.out corrupted\00Attempting to link in too many shared libraries\00Cannot exec a shared library directly\00Invalid or incomplete multibyte or wide character\00Interrupted system call should be restarted\00Streams pipe error\00Too many users\00Socket operation on non-socket\00Destination address required\00Message too long\00Protocol wrong type for socket\00Protocol not available\00Protocol not supported\00Socket type not supported\00Operation not supported\00Protocol family not supported\00Address family not supported by protocol\00Address already in use\00Cannot assign requested address\00Network is down\00Network is unreachable\00Network dropped connection on reset\00Software caused connection abort\00Connection reset by peer\00No buffer space available\00Transport endpoint is already connected\00Transport endpoint is not connected\00Cannot send after transport endpoint shutdown\00Too many references: cannot splice\00Connection timed out\00Connection refused\00Host is down\00No route to host\00Operation already in progress\00Operation now in progress\00Stale NFS file handle\00Structure needs cleaning\00Not a XENIX named type file\00No XENIX semaphores available\00Is a named type file\00Remote I/O error\00Disk quota exceeded\00No medium found\00Wrong medium type\00", align 16 + +@__progname = weak alias i8*, i8** @program_invocation_short_name +@__progname_full = weak alias i8*, i8** @program_invocation_name +@environ = weak alias i8**, i8*** @__environ +@__getdents = dso_local alias i64 (i32, %struct.dirent64*, i64), i64 (i32, %struct.dirent64*, i64)* @getdents +@getchar = alias i32 (), i32 ()* @getchar_unlocked +@raise = weak alias i32 (i32), i32 (i32)* @__raise +@fgetc_unlocked = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@getc_unlocked = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@fgetc = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@getc = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@__getdents64 = dso_local alias i64 (i32, i8*, i64), i64 (i32, i8*, i64)* @getdents64 +@error = weak alias void (i32, i32, i8*, ...), void (i32, i32, i8*, ...)* @__error +@error_at_line = weak alias void (i32, i32, i8*, i32, i8*, ...), void (i32, i32, i8*, i32, i8*, ...)* @__error_at_line +@ferror = alias i32 (%struct.__STDIO_FILE_STRUCT.592*), i32 (%struct.__STDIO_FILE_STRUCT.592*)* @ferror_unlocked +@fflush = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fflush_unlocked +@fileno = alias i32 (%struct.__STDIO_FILE_STRUCT.608*), i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno_unlocked +@fputc_unlocked = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@putc_unlocked = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@fputc = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@putc = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@fputs = alias i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*), i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked +@fseeko = alias i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32), i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32)* @fseek +@fwrite = alias i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*), i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*)* @fwrite_unlocked +@putchar = alias i32 (i32), i32 (i32)* @putchar_unlocked +@strtoumax = alias i64 (i8*, i8**, i32), i64 (i8*, i8**, i32)* @strtoul +@strtoull = alias i64 (i8*, i8**, i32), i64 (i8*, i8**, i32)* @strtoul +@strerror_r = weak alias i32 (i32, i8*, i64), i32 (i32, i8*, i64)* @__xpg_strerror_r + +; Function Attrs: noinline nounwind uwtable +define void @__uClibc_init() #0 { +entry: + %0 = load i32, i32* @__uClibc_init.been_there_done_that, align 4 + %tobool = icmp ne i32 %0, 0 + br i1 %tobool, label %if.end4, label %if.end + +if.end: ; preds = %entry + %1 = load i32, i32* @__uClibc_init.been_there_done_that, align 4 + %inc = add nsw i32 %1, 1 + store i32 %inc, i32* @__uClibc_init.been_there_done_that, align 4 + store i64 4096, i64* @__pagesize, align 8 + call void @_locale_init() #18 + call void @_stdio_init() #18 + br label %if.end4 + +if.end4: ; preds = %entry, %if.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define void @__uClibc_fini() #0 { +entry: + %0 = load void ()*, void ()** @__app_fini, align 8 + %cmp = icmp ne void ()* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load void ()*, void ()** @__app_fini, align 8 + call void %1() #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %2 = load void ()*, void ()** @__rtld_fini, align 8 + %cmp1 = icmp ne void ()* %2, null + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + %3 = load void ()*, void ()** @__rtld_fini, align 8 + call void %3() #18 + br label %if.end3 + +if.end3: ; preds = %if.then2, %if.end + ret void +} + +; Function Attrs: noinline noreturn nounwind uwtable +define void @__uClibc_main(i32 (i32, i8**, i8**)* %main, i32 %argc, i8** %argv, void ()* %app_init, void ()* %app_fini, void ()* %rtld_fini, i8* %stack_end) #1 { +entry: + %main.addr = alloca i32 (i32, i8**, i8**)*, align 8 + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %app_init.addr = alloca void ()*, align 8 + %app_fini.addr = alloca void ()*, align 8 + %rtld_fini.addr = alloca void ()*, align 8 + %stack_end.addr = alloca i8*, align 8 + %aux_dat = alloca i64*, align 8 + %auxvt = alloca [15 x %struct.Elf64_auxv_t], align 16 + %auxv_entry = alloca %struct.Elf64_auxv_t*, align 8 + store i32 (i32, i8**, i8**)* %main, i32 (i32, i8**, i8**)** %main.addr, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store void ()* %app_init, void ()** %app_init.addr, align 8 + store void ()* %app_fini, void ()** %app_fini.addr, align 8 + store void ()* %rtld_fini, void ()** %rtld_fini.addr, align 8 + store i8* %stack_end, i8** %stack_end.addr, align 8 + %0 = load i8*, i8** %stack_end.addr, align 8 + store i8* %0, i8** @__libc_stack_end, align 8 + %1 = load void ()*, void ()** %rtld_fini.addr, align 8 + store void ()* %1, void ()** @__rtld_fini, align 8 + %2 = load i8**, i8*** %argv.addr, align 8 + %3 = load i32, i32* %argc.addr, align 4 + %add = add nsw i32 %3, 1 + %idxprom = sext i32 %add to i64 + %arrayidx = getelementptr inbounds i8*, i8** %2, i64 %idxprom + store i8** %arrayidx, i8*** @__environ, align 8 + %4 = load i8**, i8*** @__environ, align 8 + %5 = bitcast i8** %4 to i8* + %6 = load i8**, i8*** %argv.addr, align 8 + %7 = load i8*, i8** %6, align 8 + %cmp = icmp eq i8* %5, %7 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %8 = load i8**, i8*** %argv.addr, align 8 + %9 = load i32, i32* %argc.addr, align 4 + %idxprom1 = sext i32 %9 to i64 + %arrayidx2 = getelementptr inbounds i8*, i8** %8, i64 %idxprom1 + store i8** %arrayidx2, i8*** @__environ, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %arraydecay = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 0 + %10 = bitcast %struct.Elf64_auxv_t* %arraydecay to i8* + %call = call i8* @memset(i8* %10, i32 0, i64 240) #19 + %11 = load i8**, i8*** @__environ, align 8 + %12 = bitcast i8** %11 to i64* + store i64* %12, i64** %aux_dat, align 8 + br label %while.cond + +while.cond: ; preds = %while.cond, %if.end + %13 = load i64*, i64** %aux_dat, align 8 + %14 = load i64, i64* %13, align 8 + %tobool = icmp ne i64 %14, 0 + %15 = load i64*, i64** %aux_dat, align 8 + %incdec.ptr = getelementptr inbounds i64, i64* %15, i32 1 + store i64* %incdec.ptr, i64** %aux_dat, align 8 + br i1 %tobool, label %while.cond, label %while.cond4 + +while.cond4: ; preds = %while.cond, %if.end12 + %16 = load i64*, i64** %aux_dat, align 8 + %17 = load i64, i64* %16, align 8 + %tobool5 = icmp ne i64 %17, 0 + br i1 %tobool5, label %while.body6, label %while.end13 + +while.body6: ; preds = %while.cond4 + %18 = load i64*, i64** %aux_dat, align 8 + %19 = bitcast i64* %18 to %struct.Elf64_auxv_t* + store %struct.Elf64_auxv_t* %19, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %20 = load %struct.Elf64_auxv_t*, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %a_type = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %20, i32 0, i32 0 + %21 = load i64, i64* %a_type, align 8 + %cmp7 = icmp ule i64 %21, 14 + br i1 %cmp7, label %if.then8, label %if.end12 + +if.then8: ; preds = %while.body6 + %22 = load %struct.Elf64_auxv_t*, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %a_type9 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %22, i32 0, i32 0 + %23 = load i64, i64* %a_type9, align 8 + %arrayidx10 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 %23 + %24 = bitcast %struct.Elf64_auxv_t* %arrayidx10 to i8* + %25 = load %struct.Elf64_auxv_t*, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %26 = bitcast %struct.Elf64_auxv_t* %25 to i8* + %call11 = call i8* @memcpy(i8* %24, i8* %26, i64 16) #19 + br label %if.end12 + +if.end12: ; preds = %if.then8, %while.body6 + %27 = load i64*, i64** %aux_dat, align 8 + %add.ptr = getelementptr inbounds i64, i64* %27, i64 2 + store i64* %add.ptr, i64** %aux_dat, align 8 + br label %while.cond4 + +while.end13: ; preds = %while.cond4 + call void @__uClibc_init() #18 + %arrayidx14 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 6 + %a_un = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx14, i32 0, i32 1 + %a_val = bitcast %union.anon.193* %a_un to i64* + %28 = load i64, i64* %a_val, align 8 + %tobool15 = icmp ne i64 %28, 0 + %arrayidx16 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 6 + %a_un17 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx16, i32 0, i32 1 + %a_val18 = bitcast %union.anon.193* %a_un17 to i64* + %29 = load i64, i64* %a_val18, align 8 + %cond = select i1 %tobool15, i64 %29, i64 4096 + store i64 %cond, i64* @__pagesize, align 8 + %arrayidx19 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 11 + %a_un20 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx19, i32 0, i32 1 + %a_val21 = bitcast %union.anon.193* %a_un20 to i64* + %30 = load i64, i64* %a_val21, align 8 + %cmp22 = icmp eq i64 %30, -1 + br i1 %cmp22, label %land.lhs.true, label %lor.lhs.false + +land.lhs.true: ; preds = %while.end13 + %call23 = call i32 @__check_suid() #18 + %tobool24 = icmp ne i32 %call23, 0 + br i1 %tobool24, label %if.then45, label %lor.lhs.false + +lor.lhs.false: ; preds = %land.lhs.true, %while.end13 + %arrayidx25 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 11 + %a_un26 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx25, i32 0, i32 1 + %a_val27 = bitcast %union.anon.193* %a_un26 to i64* + %31 = load i64, i64* %a_val27, align 8 + %cmp28 = icmp ne i64 %31, -1 + br i1 %cmp28, label %land.lhs.true29, label %if.end46 + +land.lhs.true29: ; preds = %lor.lhs.false + %arrayidx30 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 11 + %a_un31 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx30, i32 0, i32 1 + %a_val32 = bitcast %union.anon.193* %a_un31 to i64* + %32 = load i64, i64* %a_val32, align 8 + %arrayidx33 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 12 + %a_un34 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx33, i32 0, i32 1 + %a_val35 = bitcast %union.anon.193* %a_un34 to i64* + %33 = load i64, i64* %a_val35, align 8 + %cmp36 = icmp ne i64 %32, %33 + br i1 %cmp36, label %if.then45, label %lor.lhs.false37 + +lor.lhs.false37: ; preds = %land.lhs.true29 + %arrayidx38 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 13 + %a_un39 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx38, i32 0, i32 1 + %a_val40 = bitcast %union.anon.193* %a_un39 to i64* + %34 = load i64, i64* %a_val40, align 8 + %arrayidx41 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 14 + %a_un42 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx41, i32 0, i32 1 + %a_val43 = bitcast %union.anon.193* %a_un42 to i64* + %35 = load i64, i64* %a_val43, align 8 + %cmp44 = icmp ne i64 %34, %35 + br i1 %cmp44, label %if.then45, label %if.end46 + +if.then45: ; preds = %lor.lhs.false37, %land.lhs.true29, %land.lhs.true + call void @__check_one_fd(i32 0, i32 131072) #18 + call void @__check_one_fd(i32 1, i32 131074) #18 + call void @__check_one_fd(i32 2, i32 131074) #18 + br label %if.end46 + +if.end46: ; preds = %if.then45, %lor.lhs.false37, %lor.lhs.false + %36 = load i8**, i8*** %argv.addr, align 8 + %37 = load i8*, i8** %36, align 8 + store i8* %37, i8** @__uclibc_progname, align 8 + %38 = load i8**, i8*** %argv.addr, align 8 + %39 = load i8*, i8** %38, align 8 + store i8* %39, i8** @program_invocation_name, align 8 + %40 = load i8**, i8*** %argv.addr, align 8 + %41 = load i8*, i8** %40, align 8 + %call47 = call i8* @strrchr(i8* %41, i32 47) #20 + store i8* %call47, i8** @program_invocation_short_name, align 8 + %42 = load i8*, i8** @program_invocation_short_name, align 8 + %cmp48 = icmp ne i8* %42, null + br i1 %cmp48, label %if.then49, label %if.else + +if.then49: ; preds = %if.end46 + %43 = load i8*, i8** @program_invocation_short_name, align 8 + %incdec.ptr50 = getelementptr inbounds i8, i8* %43, i32 1 + store i8* %incdec.ptr50, i8** @program_invocation_short_name, align 8 + br label %if.end51 + +if.else: ; preds = %if.end46 + %44 = load i8*, i8** @program_invocation_name, align 8 + store i8* %44, i8** @program_invocation_short_name, align 8 + br label %if.end51 + +if.end51: ; preds = %if.else, %if.then49 + %45 = load void ()*, void ()** %app_fini.addr, align 8 + store void ()* %45, void ()** @__app_fini, align 8 + %46 = load void ()*, void ()** %app_init.addr, align 8 + %cmp52 = icmp ne void ()* %46, null + br i1 %cmp52, label %if.then53, label %if.then55 + +if.then53: ; preds = %if.end51 + %47 = load void ()*, void ()** %app_init.addr, align 8 + call void %47() #18 + br label %if.then55 + +if.then55: ; preds = %if.end51, %if.then53 + %call56 = call i32* @__errno_location() #21 + store i32 0, i32* %call56, align 4 + %call59 = call i32* @__h_errno_location() #21 + store i32 0, i32* %call59, align 4 + %48 = load i32 (i32, i8**, i8**)*, i32 (i32, i8**, i8**)** %main.addr, align 8 + %49 = load i32, i32* %argc.addr, align 4 + %50 = load i8**, i8*** %argv.addr, align 8 + %51 = load i8**, i8*** @__environ, align 8 + %call61 = call i32 %48(i32 %49, i8** %50, i8** %51) #18 + call void @exit(i32 %call61) #22 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__check_suid() #0 { +entry: + %retval = alloca i32, align 4 + %uid = alloca i32, align 4 + %euid = alloca i32, align 4 + %gid = alloca i32, align 4 + %egid = alloca i32, align 4 + %call = call i32 @getuid() #19 + store i32 %call, i32* %uid, align 4 + %call1 = call i32 @geteuid() #19 + store i32 %call1, i32* %euid, align 4 + %call2 = call i32 @getgid() #19 + store i32 %call2, i32* %gid, align 4 + %call3 = call i32 @getegid() #19 + store i32 %call3, i32* %egid, align 4 + %0 = load i32, i32* %uid, align 4 + %1 = load i32, i32* %euid, align 4 + %cmp = icmp eq i32 %0, %1 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %2 = load i32, i32* %gid, align 4 + %3 = load i32, i32* %egid, align 4 + %cmp4 = icmp eq i32 %2, %3 + br i1 %cmp4, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__check_one_fd(i32 %fd, i32 %mode) #0 { +entry: + %fd.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %st = alloca %struct.stat.192, align 8 + %nullfd = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 (i32, i32, ...) @fcntl(i32 %0, i32 1) #18 + %cmp = icmp eq i32 %call, -1 + br i1 %cmp, label %land.rhs, label %land.end + +land.rhs: ; preds = %entry + %call1 = call i32* @__errno_location() #21 + %1 = load i32, i32* %call1, align 4 + %cmp2 = icmp eq i32 %1, 9 + br label %land.end + +land.end: ; preds = %land.rhs, %entry + %2 = phi i1 [ false, %entry ], [ %cmp2, %land.rhs ] + %lnot = xor i1 %2, true + %lnot3 = xor i1 %lnot, true + %lnot.ext = zext i1 %lnot3 to i32 + %conv = sext i32 %lnot.ext to i64 + %tobool = icmp ne i64 %conv, 0 + br i1 %tobool, label %if.then, label %if.end17 + +if.then: ; preds = %land.end + %3 = load i32, i32* %mode.addr, align 4 + %call4 = call i32 (i8*, i32, ...) @open(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.1, i64 0, i64 0), i32 %3) #18 + store i32 %call4, i32* %nullfd, align 4 + %4 = load i32, i32* %nullfd, align 4 + %5 = load i32, i32* %fd.addr, align 4 + %cmp5 = icmp ne i32 %4, %5 + br i1 %cmp5, label %if.then16, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then + %6 = load i32, i32* %fd.addr, align 4 + %call7 = call i32 bitcast (i32 (i32, %struct.stat64*)* @fstat to i32 (i32, %struct.stat.192*)*)(i32 %6, %struct.stat.192* %st) #19 + %tobool8 = icmp ne i32 %call7, 0 + br i1 %tobool8, label %if.then16, label %lor.lhs.false9 + +lor.lhs.false9: ; preds = %lor.lhs.false + %st_mode = getelementptr inbounds %struct.stat.192, %struct.stat.192* %st, i32 0, i32 3 + %7 = load i32, i32* %st_mode, align 8 + %and = and i32 %7, 61440 + %cmp10 = icmp eq i32 %and, 8192 + br i1 %cmp10, label %lor.lhs.false12, label %if.then16 + +lor.lhs.false12: ; preds = %lor.lhs.false9 + %st_rdev = getelementptr inbounds %struct.stat.192, %struct.stat.192* %st, i32 0, i32 7 + %8 = load i64, i64* %st_rdev, align 8 + %call13 = call i64 @gnu_dev_makedev.172(i32 1, i32 3) #19 + %cmp14 = icmp ne i64 %8, %call13 + br i1 %cmp14, label %if.then16, label %if.end17 + +if.then16: ; preds = %lor.lhs.false12, %lor.lhs.false9, %lor.lhs.false, %if.then + call void @abort() #22 + unreachable + +if.end17: ; preds = %lor.lhs.false12, %land.end + ret void +} + +; Function Attrs: nounwind +declare i32 @getuid() #2 + +; Function Attrs: nounwind +declare i32 @geteuid() #2 + +; Function Attrs: nounwind +declare i32 @getgid() #2 + +; Function Attrs: nounwind +declare i32 @getegid() #2 + +; Function Attrs: noinline nounwind uwtable +define internal i64 @gnu_dev_makedev.172(i32 %__major, i32 %__minor) #0 { +entry: + %__major.addr = alloca i32, align 4 + %__minor.addr = alloca i32, align 4 + store i32 %__major, i32* %__major.addr, align 4 + store i32 %__minor, i32* %__minor.addr, align 4 + %0 = load i32, i32* %__minor.addr, align 4 + %and = and i32 %0, 255 + %1 = load i32, i32* %__major.addr, align 4 + %and1 = and i32 %1, 4095 + %shl = shl i32 %and1, 8 + %or = or i32 %and, %shl + %conv = zext i32 %or to i64 + %2 = load i32, i32* %__minor.addr, align 4 + %and2 = and i32 %2, -256 + %conv3 = zext i32 %and2 to i64 + %shl4 = shl i64 %conv3, 12 + %or5 = or i64 %conv, %shl4 + %3 = load i32, i32* %__major.addr, align 4 + %and6 = and i32 %3, -4096 + %conv7 = zext i32 %and6 to i64 + %shl8 = shl i64 %conv7, 32 + %or9 = or i64 %or5, %shl8 + ret i64 %or9 +} + +define i32 @main(i32 %argc, i8** %argv) { +entry: + call void @__uClibc_main(i32 (i32, i8**, i8**)* @__user_main, i32 %argc, i8** %argv, void ()* null, void ()* null, void ()* null, i8* null) + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define i32 @siggetmask() #0 { +entry: + %call = call i32 @sigblock(i32 0) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i64 @__fpending(%struct.__STDIO_FILE_STRUCT.513* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.513*, align 8 + store %struct.__STDIO_FILE_STRUCT.513* %stream, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.513*, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.513, %struct.__STDIO_FILE_STRUCT.513* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %cond.true, label %cond.end + +cond.true: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.513*, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.513, %struct.__STDIO_FILE_STRUCT.513* %2, i32 0, i32 5 + %3 = load i8*, i8** %__bufpos, align 8 + %4 = load %struct.__STDIO_FILE_STRUCT.513*, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.513, %struct.__STDIO_FILE_STRUCT.513* %4, i32 0, i32 3 + %5 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %3 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + br label %cond.end + +cond.end: ; preds = %entry, %cond.true + %cond = phi i64 [ %sub.ptr.sub, %cond.true ], [ 0, %entry ] + ret i64 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i8* @gets(i8* %s) #0 { +entry: + %s.addr = alloca i8*, align 8 + %p = alloca i8*, align 8 + %c = alloca i32, align 4 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %call = call i32 @getchar_unlocked() #18 + store i32 %call, i32* %c, align 4 + %cmp = icmp ne i32 %call, -1 + br i1 %cmp, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %1 = load i32, i32* %c, align 4 + %conv = trunc i32 %1 to i8 + %2 = load i8*, i8** %p, align 8 + store i8 %conv, i8* %2, align 1 + %conv1 = sext i8 %conv to i32 + %cmp2 = icmp ne i32 %conv1, 10 + br i1 %cmp2, label %while.body, label %while.end + +while.body: ; preds = %land.rhs + %3 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + br label %while.cond + +while.end: ; preds = %while.cond, %land.rhs + %4 = load i32, i32* %c, align 4 + %cmp4 = icmp eq i32 %4, -1 + br i1 %cmp4, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.end + %5 = load i8*, i8** %s.addr, align 8 + %6 = load i8*, i8** %p, align 8 + %cmp6 = icmp eq i8* %5, %6 + br i1 %cmp6, label %if.then, label %if.else + +if.then: ; preds = %lor.lhs.false, %while.end + store i8* null, i8** %s.addr, align 8 + br label %if.end + +if.else: ; preds = %lor.lhs.false + %7 = load i8*, i8** %p, align 8 + store i8 0, i8* %7, align 1 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %8 = load i8*, i8** %s.addr, align 8 + ret i8* %8 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @tmpnam(i8* %s) #0 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %tmpbufmem = alloca [20 x i8], align 16 + %tmpbuf = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %tobool = icmp ne i8* %0, null + %arraydecay = getelementptr inbounds [20 x i8], [20 x i8]* %tmpbufmem, i64 0, i64 0 + %cond = select i1 %tobool, i8* %0, i8* %arraydecay + store i8* %cond, i8** %tmpbuf, align 8 + %1 = load i8*, i8** %tmpbuf, align 8 + %call = call i32 @___path_search(i8* %1, i64 20, i8* null, i8* null) #18 + %conv = sext i32 %call to i64 + %tobool1 = icmp ne i64 %conv, 0 + br i1 %tobool1, label %if.then, label %if.end + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %tmpbuf, align 8 + %call2 = call i32 @__gen_tempname(i8* %2, i32 3) #18 + %conv3 = sext i32 %call2 to i64 + %tobool4 = icmp ne i64 %conv3, 0 + br i1 %tobool4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end + store i8* null, i8** %retval, align 8 + br label %return + +if.end6: ; preds = %if.end + %3 = load i8*, i8** %s.addr, align 8 + %cmp = icmp eq i8* %3, null + br i1 %cmp, label %if.then8, label %if.end10 + +if.then8: ; preds = %if.end6 + %4 = load i8*, i8** %tmpbuf, align 8 + %call9 = call i8* @memcpy(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @tmpnam_buffer, i64 0, i64 0), i8* %4, i64 20) #19 + store i8* %call9, i8** %retval, align 8 + br label %return + +if.end10: ; preds = %if.end6 + %5 = load i8*, i8** %s.addr, align 8 + store i8* %5, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end10, %if.then8, %if.then5, %if.then + %6 = load i8*, i8** %retval, align 8 + ret i8* %6 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @mktemp(i8* nonnull %template) #0 { +entry: + %template.addr = alloca i8*, align 8 + store i8* %template, i8** %template.addr, align 8 + %0 = load i8*, i8** %template.addr, align 8 + %call = call i32 @__gen_tempname(i8* %0, i32 3) #18 + %cmp = icmp slt i32 %call, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load i8*, i8** %template.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + store i8 0, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then, %entry + %2 = load i8*, i8** %template.addr, align 8 + ret i8* %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @access(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %pathname.addr, align 8 + %call1 = call i8* @__concretize_string(i8* %2) + %3 = load i32, i32* %mode.addr, align 4 + %call2 = call i64 (i64, ...) @syscall(i64 21, i8* %call1, i32 %3) #11 + %conv = trunc i64 %call2 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.exe_disk_file_t* @__get_sym_file(i8* %pathname) #3 { +entry: + %retval = alloca %struct.exe_disk_file_t*, align 8 + %pathname.addr = alloca i8*, align 8 + %cwd = alloca [1024 x i8], align 16 + %cwd_len = alloca i64, align 8 + %c = alloca i8, align 1 + %i = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + %0 = load i8*, i8** %pathname.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %pathname.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %2 to i32 + %cmp = icmp eq i32 %conv, 47 + br i1 %cmp, label %if.then2, label %if.end29 + +if.then2: ; preds = %if.end + %3 = bitcast [1024 x i8]* %cwd to i8* + %4 = call i8* @memset(i8* %3, i32 0, i64 1024) + %arraydecay = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 0 + %call = call i8* @getcwd(i8* %arraydecay, i64 1024) #11 + %tobool3 = icmp ne i8* %call, null + br i1 %tobool3, label %if.then4, label %if.end29 + +if.then4: ; preds = %if.then2 + %arraydecay5 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 0 + %call6 = call i64 @strlen(i8* %arraydecay5) #23 + store i64 %call6, i64* %cwd_len, align 8 + %5 = load i64, i64* %cwd_len, align 8 + %cmp7 = icmp ugt i64 %5, 0 + br i1 %cmp7, label %land.lhs.true, label %if.end15 + +land.lhs.true: ; preds = %if.then4 + %6 = load i64, i64* %cwd_len, align 8 + %sub = sub i64 %6, 1 + %arrayidx9 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 %sub + %7 = load i8, i8* %arrayidx9, align 1 + %conv10 = sext i8 %7 to i32 + %cmp11 = icmp eq i32 %conv10, 47 + br i1 %cmp11, label %if.then13, label %if.end15 + +if.then13: ; preds = %land.lhs.true + %8 = load i64, i64* %cwd_len, align 8 + %dec = add i64 %8, -1 + store i64 %dec, i64* %cwd_len, align 8 + %arrayidx14 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 %dec + store i8 0, i8* %arrayidx14, align 1 + br label %if.end15 + +if.end15: ; preds = %if.then13, %land.lhs.true, %if.then4 + %9 = load i8*, i8** %pathname.addr, align 8 + %arraydecay16 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 0 + %10 = load i64, i64* %cwd_len, align 8 + %call17 = call i32 @strncmp(i8* %9, i8* %arraydecay16, i64 %10) #23 + %cmp18 = icmp eq i32 %call17, 0 + br i1 %cmp18, label %if.then20, label %if.end29 + +if.then20: ; preds = %if.end15 + %11 = load i8*, i8** %pathname.addr, align 8 + %12 = load i64, i64* %cwd_len, align 8 + %arrayidx21 = getelementptr inbounds i8, i8* %11, i64 %12 + %13 = load i8, i8* %arrayidx21, align 1 + %conv22 = sext i8 %13 to i32 + %cmp23 = icmp ne i32 %conv22, 0 + br i1 %cmp23, label %if.then25, label %if.end29 + +if.then25: ; preds = %if.then20 + %14 = load i64, i64* %cwd_len, align 8 + %add = add i64 %14, 1 + %15 = load i8*, i8** %pathname.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %15, i64 %add + store i8* %add.ptr, i8** %pathname.addr, align 8 + br label %if.end29 + +if.end29: ; preds = %if.then2, %if.then20, %if.then25, %if.end15, %if.end + %16 = load i8*, i8** %pathname.addr, align 8 + %arrayidx30 = getelementptr inbounds i8, i8* %16, i64 0 + %17 = load i8, i8* %arrayidx30, align 1 + store i8 %17, i8* %c, align 1 + %18 = load i8, i8* %c, align 1 + %conv31 = sext i8 %18 to i32 + %cmp32 = icmp eq i32 %conv31, 0 + br i1 %cmp32, label %if.then38, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end29 + %19 = load i8*, i8** %pathname.addr, align 8 + %arrayidx34 = getelementptr inbounds i8, i8* %19, i64 1 + %20 = load i8, i8* %arrayidx34, align 1 + %conv35 = sext i8 %20 to i32 + %cmp36 = icmp ne i32 %conv35, 0 + br i1 %cmp36, label %if.then38, label %if.end39 + +if.then38: ; preds = %lor.lhs.false, %if.end29 + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +if.end39: ; preds = %lor.lhs.false + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end39 + %21 = load i32, i32* %i, align 4 + %22 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %cmp40 = icmp ult i32 %21, %22 + br i1 %cmp40, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %23 = load i8, i8* %c, align 1 + %conv42 = sext i8 %23 to i32 + %24 = load i32, i32* %i, align 4 + %conv43 = trunc i32 %24 to i8 + %conv44 = sext i8 %conv43 to i32 + %add45 = add nsw i32 65, %conv44 + %cmp46 = icmp eq i32 %conv42, %add45 + br i1 %cmp46, label %if.then48, label %for.inc + +if.then48: ; preds = %for.body + %25 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %26 = load i32, i32* %i, align 4 + %idxprom = zext i32 %26 to i64 + %arrayidx49 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %25, i64 %idxprom + store %struct.exe_disk_file_t* %arrayidx49, %struct.exe_disk_file_t** %df, align 8 + %27 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %27, i32 0, i32 2 + %28 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %28, i32 0, i32 1 + %29 = load i64, i64* %st_ino, align 8 + %cmp50 = icmp eq i64 %29, 0 + br i1 %cmp50, label %if.then52, label %if.end53 + +if.then52: ; preds = %if.then48 + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +if.end53: ; preds = %if.then48 + %30 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + store %struct.exe_disk_file_t* %30, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +for.inc: ; preds = %for.body + %31 = load i32, i32* %i, align 4 + %inc = add i32 %31, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +return: ; preds = %for.end, %if.end53, %if.then52, %if.then38, %if.then + %32 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %retval, align 8 + ret %struct.exe_disk_file_t* %32 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @__concretize_string(i8* %s) #3 { +entry: + %s.addr = alloca i8*, align 8 + %sc = alloca i8*, align 8 + %i = alloca i32, align 4 + %c = alloca i8, align 1 + %cc = alloca i8, align 1 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %call = call i8* @__concretize_ptr(i8* %0) + store i8* %call, i8** %sc, align 8 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load i8*, i8** %sc, align 8 + %2 = load i8, i8* %1, align 1 + store i8 %2, i8* %c, align 1 + %3 = load i8, i8* %c, align 1 + %conv = sext i8 %3 to i64 + %call1 = call i32 @gs_is_symbolic(i64 %conv) + %tobool = icmp ne i32 %call1, 0 + br i1 %tobool, label %if.end4, label %if.then + +if.then: ; preds = %for.cond + %4 = load i8, i8* %c, align 1 + %tobool2 = icmp ne i8 %4, 0 + br i1 %tobool2, label %for.inc, label %for.end + +if.end4: ; preds = %for.cond + %5 = load i32, i32* %i, align 4 + %6 = load i32, i32* %i, align 4 + %sub = sub i32 %6, 1 + %and = and i32 %5, %sub + %tobool5 = icmp ne i32 %and, 0 + %7 = load i8, i8* %c, align 1 + br i1 %tobool5, label %if.else14, label %if.then6 + +if.then6: ; preds = %if.end4 + %tobool7 = icmp ne i8 %7, 0 + br i1 %tobool7, label %if.else, label %if.then8 + +if.then8: ; preds = %if.then6 + %8 = load i8*, i8** %sc, align 8 + store i8 0, i8* %8, align 1 + br label %for.end + +if.else: ; preds = %if.then6 + %9 = load i8, i8* %c, align 1 + %conv9 = sext i8 %9 to i32 + %cmp = icmp eq i32 %conv9, 47 + br i1 %cmp, label %if.then11, label %for.inc + +if.then11: ; preds = %if.else + %10 = load i8*, i8** %sc, align 8 + store i8 47, i8* %10, align 1 + br label %for.inc + +if.else14: ; preds = %if.end4 + %conv15 = sext i8 %7 to i64 + %call16 = call i64 @gs_get_valuel(i64 %conv15) + %conv17 = trunc i64 %call16 to i8 + store i8 %conv17, i8* %cc, align 1 + %11 = load i8, i8* %cc, align 1 + %conv18 = sext i8 %11 to i32 + %12 = load i8, i8* %c, align 1 + %conv19 = sext i8 %12 to i32 + %cmp20 = icmp eq i32 %conv18, %conv19 + call void @gs_assume(i1 zeroext %cmp20) + %13 = load i8, i8* %cc, align 1 + %14 = load i8*, i8** %sc, align 8 + store i8 %13, i8* %14, align 1 + %15 = load i8, i8* %cc, align 1 + %tobool22 = icmp ne i8 %15, 0 + br i1 %tobool22, label %for.inc, label %for.end + +for.inc: ; preds = %if.else, %if.then11, %if.else14, %if.then + %16 = load i32, i32* %i, align 4 + %inc = add i32 %16, 1 + store i32 %inc, i32* %i, align 4 + %17 = load i8*, i8** %sc, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %17, i32 1 + store i8* %incdec.ptr, i8** %sc, align 8 + br label %for.cond + +for.end: ; preds = %if.else14, %if.then, %if.then8 + %18 = load i8*, i8** %s.addr, align 8 + ret i8* %18 +} + +; Function Attrs: nounwind +declare dso_local i64 @syscall(i64, ...) #4 + +; Function Attrs: noinline nounwind uwtable +define internal i8* @__concretize_ptr(i8* %p) #3 { +entry: + %p.addr = alloca i8*, align 8 + store i8* %p, i8** %p.addr, align 8 + %0 = load i8*, i8** %p.addr, align 8 + %1 = ptrtoint i8* %0 to i64 + %call = call i32 @gs_is_symbolic(i64 %1) + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @gs_report_error(i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 1386, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.27, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.28, i64 0, i64 0)) #24 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %p.addr, align 8 + ret i8* %2 +} + +declare dso_local i32 @gs_is_symbolic(i64) #5 + +declare dso_local i64 @gs_get_valuel(i64) #5 + +declare dso_local void @gs_assume(i1 zeroext) #5 + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.25, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +declare dso_local void @print_string(i8*) #5 + +declare dso_local void @sym_print(i32, ...) #5 + +; Function Attrs: noreturn +declare dso_local void @stop(i32) #7 + +; Function Attrs: argmemonly nounwind willreturn writeonly +declare void @llvm.memset.p0i8.i64(i8* nocapture writeonly, i8, i64, i1 immarg) #8 + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @getcwd(i8* %buf, i64 %size) #3 { +entry: + %retval = alloca i8*, align 8 + %buf.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %r = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + %0 = load i32, i32* @getcwd.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @getcwd.n_calls, align 4 + %1 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool = icmp ne i32 %1, 0 + br i1 %tobool, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %2 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %3 = load i32, i32* %2, align 4 + %4 = load i32, i32* @getcwd.n_calls, align 4 + %cmp = icmp eq i32 %3, %4 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %5 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %5, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call = call i32* @__errno_location() #25 + store i32 34, i32* %call, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + %6 = load i8*, i8** %buf.addr, align 8 + %tobool1 = icmp ne i8* %6, null + br i1 %tobool1, label %if.else, label %if.then2 + +if.then2: ; preds = %if.end + store i64 1024, i64* %size.addr, align 8 + %7 = load i64, i64* %size.addr, align 8 + %call3 = call noalias i8* @malloc(i64 %7) #11 + store i8* %call3, i8** %buf.addr, align 8 + %8 = load i8*, i8** %buf.addr, align 8 + %tobool4 = icmp ne i8* %8, null + br i1 %tobool4, label %if.end12, label %if.then5 + +if.then5: ; preds = %if.then2 + %call6 = call i32* @__errno_location() #25 + store i32 12, i32* %call6, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.else: ; preds = %if.end + %9 = load i64, i64* %size.addr, align 8 + %tobool8 = icmp ne i64 %9, 0 + br i1 %tobool8, label %if.end12, label %if.then9 + +if.then9: ; preds = %if.else + %call10 = call i32* @__errno_location() #25 + store i32 22, i32* %call10, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end12: ; preds = %if.else, %if.then2 + %10 = load i8*, i8** %buf.addr, align 8 + %call13 = call i8* @__concretize_ptr(i8* %10) + store i8* %call13, i8** %buf.addr, align 8 + %11 = load i64, i64* %size.addr, align 8 + %call14 = call i64 @__concretize_size(i64 %11) + store i64 %call14, i64* %size.addr, align 8 + %12 = load i8*, i8** %buf.addr, align 8 + %13 = load i64, i64* %size.addr, align 8 + %call15 = call i64 (i64, ...) @syscall(i64 79, i8* %12, i64 %13) #11 + %conv = trunc i64 %call15 to i32 + store i32 %conv, i32* %r, align 4 + %14 = load i32, i32* %r, align 4 + %cmp16 = icmp eq i32 %14, -1 + br i1 %cmp16, label %if.then18, label %if.end19 + +if.then18: ; preds = %if.end12 + store i8* null, i8** %retval, align 8 + br label %return + +if.end19: ; preds = %if.end12 + %15 = load i8*, i8** %buf.addr, align 8 + store i8* %15, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end19, %if.then18, %if.then9, %if.then5, %if.then + %16 = load i8*, i8** %retval, align 8 + ret i8* %16 +} + +; Function Attrs: nounwind +declare dso_local noalias i8* @malloc(i64) #4 + +; Function Attrs: noinline nounwind uwtable +define internal i64 @__concretize_size(i64 %s) #3 { +entry: + %s.addr = alloca i64, align 8 + %sc = alloca i64, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %call = call i64 @gs_get_valuel(i64 %0) + store i64 %call, i64* %sc, align 8 + %1 = load i64, i64* %sc, align 8 + %2 = load i64, i64* %s.addr, align 8 + %cmp = icmp eq i64 %1, %2 + call void @gs_assume(i1 zeroext %cmp) + %3 = load i64, i64* %sc, align 8 + ret i64 %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @umask(i32 %mask) #3 { +entry: + %mask.addr = alloca i32, align 4 + %r = alloca i32, align 4 + store i32 %mask, i32* %mask.addr, align 4 + %0 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 1), align 8 + store i32 %0, i32* %r, align 4 + %1 = load i32, i32* %mask.addr, align 4 + %and = and i32 %1, 511 + store i32 %and, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 1), align 8 + %2 = load i32, i32* %r, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_open(i8* %pathname, i32 %flags, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %fd = alloca i32, align 4 + %os_fd = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + store i32 0, i32* %fd, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %0, 32 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %1 = load i32, i32* %fd, align 4 + %idxprom = sext i32 %1 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + %flags1 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %arrayidx, i32 0, i32 1 + %2 = load i32, i32* %flags1, align 4 + %and = and i32 %2, 1 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %for.inc, label %for.end + +for.inc: ; preds = %for.body + %3 = load i32, i32* %fd, align 4 + %inc = add nsw i32 %3, 1 + store i32 %inc, i32* %fd, align 4 + br label %for.cond + +for.end: ; preds = %for.body, %for.cond + %4 = load i32, i32* %fd, align 4 + %cmp2 = icmp eq i32 %4, 32 + br i1 %cmp2, label %if.then3, label %if.end4 + +if.then3: ; preds = %for.end + %call = call i32* @__errno_location() #25 + store i32 24, i32* %call, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %for.end + %5 = load i32, i32* %fd, align 4 + %idxprom5 = sext i32 %5 to i64 + %arrayidx6 = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom5 + store %struct.exe_file_t* %arrayidx6, %struct.exe_file_t** %f, align 8 + %6 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %7 = bitcast %struct.exe_file_t* %6 to i8* + %8 = call i8* @memset(i8* %7, i32 0, i64 24) + %9 = load i8*, i8** %pathname.addr, align 8 + %call7 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %9) + store %struct.exe_disk_file_t* %call7, %struct.exe_disk_file_t** %df, align 8 + %10 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %tobool8 = icmp ne %struct.exe_disk_file_t* %10, null + br i1 %tobool8, label %if.then9, label %if.else45 + +if.then9: ; preds = %if.end4 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %12 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %12, i32 0, i32 3 + store %struct.exe_disk_file_t* %11, %struct.exe_disk_file_t** %dfile, align 8 + %13 = load i32, i32* %flags.addr, align 4 + %and10 = and i32 %13, 64 + %tobool11 = icmp ne i32 %and10, 0 + br i1 %tobool11, label %land.lhs.true, label %if.end16 + +land.lhs.true: ; preds = %if.then9 + %14 = load i32, i32* %flags.addr, align 4 + %and12 = and i32 %14, 128 + %tobool13 = icmp ne i32 %and12, 0 + br i1 %tobool13, label %if.then14, label %if.end16 + +if.then14: ; preds = %land.lhs.true + %call15 = call i32* @__errno_location() #25 + store i32 17, i32* %call15, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end16: ; preds = %land.lhs.true, %if.then9 + %15 = load i32, i32* %flags.addr, align 4 + %and17 = and i32 %15, 512 + %tobool18 = icmp ne i32 %and17, 0 + br i1 %tobool18, label %land.lhs.true19, label %if.end24 + +land.lhs.true19: ; preds = %if.end16 + %16 = load i32, i32* %flags.addr, align 4 + %and20 = and i32 %16, 0 + %tobool21 = icmp ne i32 %and20, 0 + br i1 %tobool21, label %if.then22, label %if.end24 + +if.then22: ; preds = %land.lhs.true19 + call void @gs_warning(i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.5, i64 0, i64 0)) + %call23 = call i32* @__errno_location() #25 + store i32 13, i32* %call23, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end24: ; preds = %land.lhs.true19, %if.end16 + %17 = load i32, i32* %flags.addr, align 4 + %and25 = and i32 %17, 128 + %tobool26 = icmp ne i32 %and25, 0 + br i1 %tobool26, label %land.lhs.true27, label %if.end32 + +land.lhs.true27: ; preds = %if.end24 + %18 = load i32, i32* %flags.addr, align 4 + %and28 = and i32 %18, 64 + %tobool29 = icmp ne i32 %and28, 0 + br i1 %tobool29, label %if.end32, label %if.then30 + +if.then30: ; preds = %land.lhs.true27 + call void @gs_warning(i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.1.6, i64 0, i64 0)) + %call31 = call i32* @__errno_location() #25 + store i32 13, i32* %call31, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end32: ; preds = %land.lhs.true27, %if.end24 + %19 = load i32, i32* %flags.addr, align 4 + %20 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %20, i32 0, i32 2 + %21 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %call33 = call i32 @has_permission(i32 %19, %struct.stat64* %21) + %tobool34 = icmp ne i32 %call33, 0 + br i1 %tobool34, label %if.else, label %if.then35 + +if.then35: ; preds = %if.end32 + %call36 = call i32* @__errno_location() #25 + store i32 13, i32* %call36, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.end32 + %22 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile37 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %22, i32 0, i32 3 + %23 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile37, align 8 + %stat38 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %23, i32 0, i32 2 + %24 = load %struct.stat64*, %struct.stat64** %stat38, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %24, i32 0, i32 3 + %25 = load i32, i32* %st_mode, align 8 + %and39 = and i32 %25, -512 + %26 = load i32, i32* %mode.addr, align 4 + %27 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 1), align 8 + %neg = xor i32 %27, -1 + %and40 = and i32 %26, %neg + %or = or i32 %and39, %and40 + %28 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile41 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %28, i32 0, i32 3 + %29 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile41, align 8 + %stat42 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %29, i32 0, i32 2 + %30 = load %struct.stat64*, %struct.stat64** %stat42, align 8 + %st_mode43 = getelementptr inbounds %struct.stat64, %struct.stat64* %30, i32 0, i32 3 + store i32 %or, i32* %st_mode43, align 8 + br label %if.end53 + +if.else45: ; preds = %if.end4 + %31 = load i8*, i8** %pathname.addr, align 8 + %call46 = call i8* @__concretize_string(i8* %31) + %32 = load i32, i32* %flags.addr, align 4 + %33 = load i32, i32* %mode.addr, align 4 + %call47 = call i64 (i64, ...) @syscall(i64 2, i8* %call46, i32 %32, i32 %33) #11 + %conv = trunc i64 %call47 to i32 + store i32 %conv, i32* %os_fd, align 4 + %34 = load i32, i32* %os_fd, align 4 + %cmp48 = icmp eq i32 %34, -1 + br i1 %cmp48, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.else45 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end51: ; preds = %if.else45 + %35 = load i32, i32* %os_fd, align 4 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd52 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 0 + store i32 %35, i32* %fd52, align 8 + br label %if.end53 + +if.end53: ; preds = %if.end51, %if.else + %37 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %37, i32 0, i32 1 + store i32 1, i32* %flags54, align 4 + %38 = load i32, i32* %flags.addr, align 4 + %and55 = and i32 %38, 3 + %cmp56 = icmp eq i32 %and55, 0 + br i1 %cmp56, label %if.then58, label %if.else61 + +if.then58: ; preds = %if.end53 + %39 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags59 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %39, i32 0, i32 1 + %40 = load i32, i32* %flags59, align 4 + %or60 = or i32 %40, 4 + store i32 %or60, i32* %flags59, align 4 + br label %if.end72 + +if.else61: ; preds = %if.end53 + %41 = load i32, i32* %flags.addr, align 4 + %and62 = and i32 %41, 3 + %cmp63 = icmp eq i32 %and62, 1 + %42 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags66 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %42, i32 0, i32 1 + %43 = load i32, i32* %flags66, align 4 + br i1 %cmp63, label %if.then65, label %if.else68 + +if.then65: ; preds = %if.else61 + %or67 = or i32 %43, 8 + store i32 %or67, i32* %flags66, align 4 + br label %if.end72 + +if.else68: ; preds = %if.else61 + %or70 = or i32 %43, 12 + store i32 %or70, i32* %flags66, align 4 + br label %if.end72 + +if.end72: ; preds = %if.then65, %if.else68, %if.then58 + %44 = load i32, i32* %fd, align 4 + store i32 %44, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end72, %if.then50, %if.then35, %if.then30, %if.then22, %if.then14, %if.then3 + %45 = load i32, i32* %retval, align 4 + ret i32 %45 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @gs_warning(i8* %message) #3 { +entry: + %message.addr = alloca i8*, align 8 + store i8* %message, i8** %message.addr, align 8 + %0 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %0) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.25, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @has_permission(i32 %flags, %struct.stat64* %s) #3 { +entry: + %retval = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %s.addr = alloca %struct.stat64*, align 8 + %write_access = alloca i32, align 4 + %read_access = alloca i32, align 4 + %mode = alloca i32, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store %struct.stat64* %s, %struct.stat64** %s.addr, align 8 + %0 = load %struct.stat64*, %struct.stat64** %s.addr, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %0, i32 0, i32 3 + %1 = load i32, i32* %st_mode, align 8 + store i32 %1, i32* %mode, align 4 + %2 = load i32, i32* %flags.addr, align 4 + %and = and i32 %2, 0 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %3 = load i32, i32* %flags.addr, align 4 + %and1 = and i32 %3, 2 + %tobool2 = icmp ne i32 %and1, 0 + br i1 %tobool2, label %if.then, label %if.else + +if.then: ; preds = %lor.lhs.false, %entry + store i32 1, i32* %read_access, align 4 + br label %if.end + +if.else: ; preds = %lor.lhs.false + store i32 0, i32* %read_access, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %4 = load i32, i32* %flags.addr, align 4 + %and3 = and i32 %4, 1 + %tobool4 = icmp ne i32 %and3, 0 + br i1 %tobool4, label %if.then8, label %lor.lhs.false5 + +lor.lhs.false5: ; preds = %if.end + %5 = load i32, i32* %flags.addr, align 4 + %and6 = and i32 %5, 2 + %tobool7 = icmp ne i32 %and6, 0 + br i1 %tobool7, label %if.then8, label %if.else9 + +if.then8: ; preds = %lor.lhs.false5, %if.end + store i32 1, i32* %write_access, align 4 + br label %if.end10 + +if.else9: ; preds = %lor.lhs.false5 + store i32 0, i32* %write_access, align 4 + br label %if.end10 + +if.end10: ; preds = %if.else9, %if.then8 + %6 = load i32, i32* %read_access, align 4 + %tobool11 = icmp ne i32 %6, 0 + br i1 %tobool11, label %land.lhs.true, label %if.end18 + +land.lhs.true: ; preds = %if.end10 + %7 = load i32, i32* %mode, align 4 + %and12 = and i32 %7, 256 + %8 = load i32, i32* %mode, align 4 + %and13 = and i32 %8, 32 + %or = or i32 %and12, %and13 + %9 = load i32, i32* %mode, align 4 + %and14 = and i32 %9, 4 + %or15 = or i32 %or, %and14 + %tobool16 = icmp ne i32 %or15, 0 + br i1 %tobool16, label %if.then17, label %if.end18 + +if.then17: ; preds = %land.lhs.true + store i32 0, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %land.lhs.true, %if.end10 + %10 = load i32, i32* %write_access, align 4 + %tobool19 = icmp ne i32 %10, 0 + br i1 %tobool19, label %land.lhs.true20, label %if.end28 + +land.lhs.true20: ; preds = %if.end18 + %11 = load i32, i32* %mode, align 4 + %and21 = and i32 %11, 128 + %12 = load i32, i32* %mode, align 4 + %and22 = and i32 %12, 16 + %or23 = or i32 %and21, %and22 + %13 = load i32, i32* %mode, align 4 + %and24 = and i32 %13, 2 + %or25 = or i32 %or23, %and24 + %tobool26 = icmp ne i32 %or25, 0 + br i1 %tobool26, label %if.end28, label %if.then27 + +if.then27: ; preds = %land.lhs.true20 + store i32 0, i32* %retval, align 4 + br label %return + +if.end28: ; preds = %land.lhs.true20, %if.end18 + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end28, %if.then27, %if.then17 + %14 = load i32, i32* %retval, align 4 + ret i32 %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_openat(i32 %basefd, i8* %pathname, i32 %flags, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %basefd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %fd = alloca i32, align 4 + %bf = alloca %struct.exe_file_t*, align 8 + %os_fd = alloca i32, align 4 + store i32 %basefd, i32* %basefd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %basefd.addr, align 4 + %cmp = icmp ne i32 %0, -100 + br i1 %cmp, label %if.then, label %if.end8 + +if.then: ; preds = %entry + %1 = load i32, i32* %basefd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %bf, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %bf, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.else, label %if.then1 + +if.then1: ; preds = %if.then + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %bf, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 3 + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool3 = icmp ne %struct.exe_disk_file_t* %4, null + br i1 %tobool3, label %if.then4, label %if.end6 + +if.then4: ; preds = %if.else + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0)) + %call5 = call i32* @__errno_location() #25 + store i32 2, i32* %call5, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.else + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %bf, align 8 + %fd7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd7, align 8 + store i32 %6, i32* %basefd.addr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end6, %entry + %7 = load i8*, i8** %pathname.addr, align 8 + %call9 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %7) + %tobool10 = icmp ne %struct.exe_disk_file_t* %call9, null + br i1 %tobool10, label %if.then11, label %if.end13 + +if.then11: ; preds = %if.end8 + %8 = load i8*, i8** %pathname.addr, align 8 + %9 = load i32, i32* %flags.addr, align 4 + %10 = load i32, i32* %mode.addr, align 4 + %call12 = call i32 @__fd_open(i8* %8, i32 %9, i32 %10) + store i32 %call12, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.end8 + store i32 0, i32* %fd, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end13 + %11 = load i32, i32* %fd, align 4 + %cmp14 = icmp slt i32 %11, 32 + br i1 %cmp14, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %12 = load i32, i32* %fd, align 4 + %idxprom = sext i32 %12 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + %flags15 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %arrayidx, i32 0, i32 1 + %13 = load i32, i32* %flags15, align 4 + %and = and i32 %13, 1 + %tobool16 = icmp ne i32 %and, 0 + br i1 %tobool16, label %for.inc, label %for.end + +for.inc: ; preds = %for.body + %14 = load i32, i32* %fd, align 4 + %inc = add nsw i32 %14, 1 + store i32 %inc, i32* %fd, align 4 + br label %for.cond + +for.end: ; preds = %for.body, %for.cond + %15 = load i32, i32* %fd, align 4 + %cmp19 = icmp eq i32 %15, 32 + br i1 %cmp19, label %if.then20, label %if.end22 + +if.then20: ; preds = %for.end + %call21 = call i32* @__errno_location() #25 + store i32 24, i32* %call21, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end22: ; preds = %for.end + %16 = load i32, i32* %fd, align 4 + %idxprom23 = sext i32 %16 to i64 + %arrayidx24 = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom23 + store %struct.exe_file_t* %arrayidx24, %struct.exe_file_t** %f, align 8 + %17 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %18 = bitcast %struct.exe_file_t* %17 to i8* + %19 = call i8* @memset(i8* %18, i32 0, i64 24) + %20 = load i32, i32* %basefd.addr, align 4 + %conv = sext i32 %20 to i64 + %21 = load i8*, i8** %pathname.addr, align 8 + %call25 = call i8* @__concretize_string(i8* %21) + %22 = load i32, i32* %flags.addr, align 4 + %conv26 = sext i32 %22 to i64 + %23 = load i32, i32* %mode.addr, align 4 + %call27 = call i64 (i64, ...) @syscall(i64 257, i64 %conv, i8* %call25, i64 %conv26, i32 %23) #11 + %conv28 = trunc i64 %call27 to i32 + store i32 %conv28, i32* %os_fd, align 4 + %24 = load i32, i32* %os_fd, align 4 + %cmp29 = icmp eq i32 %24, -1 + br i1 %cmp29, label %if.then31, label %if.end32 + +if.then31: ; preds = %if.end22 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end32: ; preds = %if.end22 + %25 = load i32, i32* %os_fd, align 4 + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd33 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 0 + store i32 %25, i32* %fd33, align 8 + %27 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags34 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %27, i32 0, i32 1 + store i32 1, i32* %flags34, align 4 + %28 = load i32, i32* %flags.addr, align 4 + %and35 = and i32 %28, 3 + %cmp36 = icmp eq i32 %and35, 0 + br i1 %cmp36, label %if.then38, label %if.else40 + +if.then38: ; preds = %if.end32 + %29 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags39 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %29, i32 0, i32 1 + %30 = load i32, i32* %flags39, align 4 + %or = or i32 %30, 4 + store i32 %or, i32* %flags39, align 4 + br label %if.end51 + +if.else40: ; preds = %if.end32 + %31 = load i32, i32* %flags.addr, align 4 + %and41 = and i32 %31, 3 + %cmp42 = icmp eq i32 %and41, 1 + %32 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags45 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %32, i32 0, i32 1 + %33 = load i32, i32* %flags45, align 4 + br i1 %cmp42, label %if.then44, label %if.else47 + +if.then44: ; preds = %if.else40 + %or46 = or i32 %33, 8 + store i32 %or46, i32* %flags45, align 4 + br label %if.end51 + +if.else47: ; preds = %if.else40 + %or49 = or i32 %33, 12 + store i32 %or49, i32* %flags45, align 4 + br label %if.end51 + +if.end51: ; preds = %if.then44, %if.else47, %if.then38 + %34 = load i32, i32* %fd, align 4 + store i32 %34, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end51, %if.then31, %if.then20, %if.then11, %if.then4, %if.then1 + %35 = load i32, i32* %retval, align 4 + ret i32 %35 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.exe_file_t* @__get_file(i32 %fd) #3 { +entry: + %retval = alloca %struct.exe_file_t*, align 8 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %cmp = icmp sge i32 %0, 0 + %1 = load i32, i32* %fd.addr, align 4 + %cmp1 = icmp slt i32 %1, 32 + %or.cond = and i1 %cmp, %cmp1 + br i1 %or.cond, label %if.then, label %if.end3 + +if.then: ; preds = %entry + %2 = load i32, i32* %fd.addr, align 4 + %idxprom = sext i32 %2 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + store %struct.exe_file_t* %arrayidx, %struct.exe_file_t** %f, align 8 + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 1 + %4 = load i32, i32* %flags, align 4 + %and = and i32 %4, 1 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.then + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + store %struct.exe_file_t* %5, %struct.exe_file_t** %retval, align 8 + br label %return + +if.end3: ; preds = %if.then, %entry + store %struct.exe_file_t* null, %struct.exe_file_t** %retval, align 8 + br label %return + +return: ; preds = %if.end3, %if.then2 + %6 = load %struct.exe_file_t*, %struct.exe_file_t** %retval, align 8 + ret %struct.exe_file_t* %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @utimes(i8* nonnull %path, %struct.timespec* %times) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %times.addr = alloca %struct.timespec*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + %newTimes = alloca [2 x %struct.timespec], align 16 + store i8* %path, i8** %path.addr, align 8 + store %struct.timespec* %times, %struct.timespec** %times.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end12 + +if.then: ; preds = %entry + %2 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %tobool1 = icmp ne %struct.timespec* %2, null + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + %arrayidx = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 0 + %call3 = call i32 @gettimeofday(%struct.timespec* %arrayidx, i8* null) #11 + %arrayidx4 = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 1 + %arrayidx5 = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 0 + %3 = bitcast %struct.timespec* %arrayidx4 to i8* + %4 = bitcast %struct.timespec* %arrayidx5 to i8* + %5 = call i8* @memcpy(i8* %3, i8* %4, i64 16) + %arraydecay = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 0 + store %struct.timespec* %arraydecay, %struct.timespec** %times.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %6 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %arrayidx6 = getelementptr inbounds %struct.timespec, %struct.timespec* %6, i64 0 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %arrayidx6, i32 0, i32 0 + %7 = load i64, i64* %tv_sec, align 8 + %8 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %8, i32 0, i32 2 + %9 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_atim = getelementptr inbounds %struct.stat64, %struct.stat64* %9, i32 0, i32 11 + %tv_sec7 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim, i32 0, i32 0 + store i64 %7, i64* %tv_sec7, align 8 + %10 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %arrayidx8 = getelementptr inbounds %struct.timespec, %struct.timespec* %10, i64 1 + %tv_sec9 = getelementptr inbounds %struct.timespec, %struct.timespec* %arrayidx8, i32 0, i32 0 + %11 = load i64, i64* %tv_sec9, align 8 + %12 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat10 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %12, i32 0, i32 2 + %13 = load %struct.stat64*, %struct.stat64** %stat10, align 8 + %st_mtim = getelementptr inbounds %struct.stat64, %struct.stat64* %13, i32 0, i32 12 + %tv_sec11 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim, i32 0, i32 0 + store i64 %11, i64* %tv_sec11, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.end12: ; preds = %entry + %14 = load i8*, i8** %path.addr, align 8 + %call13 = call i8* @__concretize_string(i8* %14) + %15 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %call14 = call i64 (i64, ...) @syscall(i64 235, i8* %call13, %struct.timespec* %15) #11 + %conv = trunc i64 %call14 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end12, %if.end + %16 = load i32, i32* %retval, align 4 + ret i32 %16 +} + +; Function Attrs: nounwind +declare dso_local i32 @gettimeofday(%struct.timespec*, i8*) #4 + +; Function Attrs: argmemonly nounwind willreturn +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* noalias nocapture writeonly, i8* noalias nocapture readonly, i64, i1 immarg) #9 + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @futimesat(i32 %fd, i8* %path, %struct.timespec* %times) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %times.addr = alloca %struct.timespec*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.timespec* %times, %struct.timespec** %times.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %cmp = icmp ne i32 %0, -100 + br i1 %cmp, label %if.then, label %if.end8 + +if.then: ; preds = %entry + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.else, label %if.then1 + +if.then1: ; preds = %if.then + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 3 + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool3 = icmp ne %struct.exe_disk_file_t* %4, null + br i1 %tobool3, label %if.then4, label %if.end6 + +if.then4: ; preds = %if.else + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0)) + %call5 = call i32* @__errno_location() #25 + store i32 2, i32* %call5, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.else + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd7, align 8 + store i32 %6, i32* %fd.addr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end6, %entry + %7 = load i8*, i8** %path.addr, align 8 + %call9 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %7) + %tobool10 = icmp ne %struct.exe_disk_file_t* %call9, null + br i1 %tobool10, label %if.then11, label %if.end13 + +if.then11: ; preds = %if.end8 + %8 = load i8*, i8** %path.addr, align 8 + %9 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %call12 = call i32 @utimes(i8* %8, %struct.timespec* %9) #11 + store i32 %call12, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.end8 + %10 = load i32, i32* %fd.addr, align 4 + %conv = sext i32 %10 to i64 + %11 = load i8*, i8** %path.addr, align 8 + %tobool14 = icmp ne i8* %11, null + br i1 %tobool14, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end13 + %12 = load i8*, i8** %path.addr, align 8 + %call15 = call i8* @__concretize_string(i8* %12) + br label %cond.end + +cond.end: ; preds = %if.end13, %cond.true + %cond = phi i8* [ %call15, %cond.true ], [ null, %if.end13 ] + %13 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %call16 = call i64 (i64, ...) @syscall(i64 261, i64 %conv, i8* %cond, %struct.timespec* %13) #11 + %conv17 = trunc i64 %call16 to i32 + store i32 %conv17, i32* %retval, align 4 + br label %return + +return: ; preds = %cond.end, %if.then11, %if.then4, %if.then1 + %14 = load i32, i32* %retval, align 4 + ret i32 %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @close(i32 %fd) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %r = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 0, i32* %r, align 4 + %0 = load i32, i32* @close.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @close.n_calls, align 4 + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @close.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %9 = bitcast %struct.exe_file_t* %8 to i8* + %10 = call i8* @memset(i8* %9, i32 0, i64 24) + %11 = load i32, i32* %r, align 4 + store i32 %11, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %12 = load i32, i32* %retval, align 4 + ret i32 %12 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @read(i32 %fd, i8* %buf, i64 %count) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %r = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + %0 = load i32, i32* @read.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @read.n_calls, align 4 + %1 = load i64, i64* %count.addr, align 8 + %cmp = icmp eq i64 %1, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i64 0, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %buf.addr, align 8 + %cmp1 = icmp eq i8* %2, null + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + %call = call i32* @__errno_location() #25 + store i32 14, i32* %call, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %3 = load i32, i32* %fd.addr, align 4 + %call4 = call %struct.exe_file_t* @__get_file(i32 %3) + store %struct.exe_file_t* %call4, %struct.exe_file_t** %f, align 8 + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %4, null + br i1 %tobool, label %if.end7, label %if.then5 + +if.then5: ; preds = %if.end3 + %call6 = call i32* @__errno_location() #25 + store i32 9, i32* %call6, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end7: ; preds = %if.end3 + %5 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool8 = icmp ne i32 %5, 0 + br i1 %tobool8, label %land.lhs.true, label %if.end12 + +land.lhs.true: ; preds = %if.end7 + %6 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %7 = load i32, i32* %6, align 4 + %8 = load i32, i32* @read.n_calls, align 4 + %cmp9 = icmp eq i32 %7, %8 + br i1 %cmp9, label %if.then10, label %if.end12 + +if.then10: ; preds = %land.lhs.true + %9 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %9, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call11 = call i32* @__errno_location() #25 + store i32 5, i32* %call11, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end12: ; preds = %land.lhs.true, %if.end7 + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 3 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool13 = icmp ne %struct.exe_disk_file_t* %11, null + br i1 %tobool13, label %if.else38, label %if.then14 + +if.then14: ; preds = %if.end12 + %12 = load i8*, i8** %buf.addr, align 8 + %call15 = call i8* @__concretize_ptr(i8* %12) + store i8* %call15, i8** %buf.addr, align 8 + %13 = load i64, i64* %count.addr, align 8 + %call16 = call i64 @__concretize_size(i64 %13) + store i64 %call16, i64* %count.addr, align 8 + %14 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd17 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %14, i32 0, i32 0 + %15 = load i32, i32* %fd17, align 8 + %cmp18 = icmp eq i32 %15, 0 + %16 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd20 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %16, i32 0, i32 0 + %17 = load i32, i32* %fd20, align 8 + %18 = load i8*, i8** %buf.addr, align 8 + %19 = load i64, i64* %count.addr, align 8 + br i1 %cmp18, label %if.then19, label %if.else + +if.then19: ; preds = %if.then14 + %call21 = call i64 (i64, ...) @syscall(i64 0, i32 %17, i8* %18, i64 %19) #11 + %conv = trunc i64 %call21 to i32 + store i32 %conv, i32* %r, align 4 + br label %if.end25 + +if.else: ; preds = %if.then14 + %20 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %20, i32 0, i32 2 + %21 = load i64, i64* %off, align 8 + %call23 = call i64 (i64, ...) @syscall(i64 17, i32 %17, i8* %18, i64 %19, i64 %21) #11 + %conv24 = trunc i64 %call23 to i32 + store i32 %conv24, i32* %r, align 4 + br label %if.end25 + +if.end25: ; preds = %if.else, %if.then19 + %22 = load i32, i32* %r, align 4 + %cmp26 = icmp eq i32 %22, -1 + br i1 %cmp26, label %if.then28, label %if.end29 + +if.then28: ; preds = %if.end25 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end29: ; preds = %if.end25 + %23 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd30 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %23, i32 0, i32 0 + %24 = load i32, i32* %fd30, align 8 + %cmp31 = icmp ne i32 %24, 0 + br i1 %cmp31, label %if.then33, label %if.end36 + +if.then33: ; preds = %if.end29 + %25 = load i32, i32* %r, align 4 + %conv34 = sext i32 %25 to i64 + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off35 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 2 + %27 = load i64, i64* %off35, align 8 + %add = add nsw i64 %27, %conv34 + store i64 %add, i64* %off35, align 8 + br label %if.end36 + +if.end36: ; preds = %if.then33, %if.end29 + %28 = load i32, i32* %r, align 4 + %conv37 = sext i32 %28 to i64 + store i64 %conv37, i64* %retval, align 8 + br label %return + +if.else38: ; preds = %if.end12 + %29 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off39 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %29, i32 0, i32 2 + %30 = load i64, i64* %off39, align 8 + %cmp40 = icmp sge i64 %30, 0 + br i1 %cmp40, label %if.end44, label %if.else43 + +if.else43: ; preds = %if.else38 + call void @__assert_fail(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.3, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 393, i8* getelementptr inbounds ([34 x i8], [34 x i8]* @__PRETTY_FUNCTION__.read, i64 0, i64 0)) #26 + unreachable + +if.end44: ; preds = %if.else38 + %31 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile45 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %31, i32 0, i32 3 + %32 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile45, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %32, i32 0, i32 0 + %33 = load i32, i32* %size, align 8 + %conv46 = zext i32 %33 to i64 + %34 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off47 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %34, i32 0, i32 2 + %35 = load i64, i64* %off47, align 8 + %cmp48 = icmp slt i64 %conv46, %35 + br i1 %cmp48, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.end44 + store i64 0, i64* %retval, align 8 + br label %return + +if.end51: ; preds = %if.end44 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off52 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 2 + %37 = load i64, i64* %off52, align 8 + %38 = load i64, i64* %count.addr, align 8 + %add53 = add i64 %37, %38 + %39 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %39, i32 0, i32 3 + %40 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile54, align 8 + %size55 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %40, i32 0, i32 0 + %41 = load i32, i32* %size55, align 8 + %conv56 = zext i32 %41 to i64 + %cmp57 = icmp ugt i64 %add53, %conv56 + br i1 %cmp57, label %if.then59, label %if.end64 + +if.then59: ; preds = %if.end51 + %42 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile60 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %42, i32 0, i32 3 + %43 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile60, align 8 + %size61 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %43, i32 0, i32 0 + %44 = load i32, i32* %size61, align 8 + %conv62 = zext i32 %44 to i64 + %45 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off63 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %45, i32 0, i32 2 + %46 = load i64, i64* %off63, align 8 + %sub = sub nsw i64 %conv62, %46 + store i64 %sub, i64* %count.addr, align 8 + br label %if.end64 + +if.end64: ; preds = %if.then59, %if.end51 + %47 = load i8*, i8** %buf.addr, align 8 + %48 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile65 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %48, i32 0, i32 3 + %49 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile65, align 8 + %contents = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %49, i32 0, i32 1 + %50 = load i8*, i8** %contents, align 8 + %51 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off66 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %51, i32 0, i32 2 + %52 = load i64, i64* %off66, align 8 + %add.ptr = getelementptr inbounds i8, i8* %50, i64 %52 + %53 = load i64, i64* %count.addr, align 8 + %54 = call i8* @memcpy(i8* %47, i8* %add.ptr, i64 %53) + %55 = load i64, i64* %count.addr, align 8 + %56 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off67 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %56, i32 0, i32 2 + %57 = load i64, i64* %off67, align 8 + %add68 = add i64 %57, %55 + store i64 %add68, i64* %off67, align 8 + %58 = load i64, i64* %count.addr, align 8 + store i64 %58, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end64, %if.then50, %if.end36, %if.then28, %if.then10, %if.then5, %if.then2, %if.then + %59 = load i64, i64* %retval, align 8 + ret i64 %59 +} + +; Function Attrs: noreturn nounwind +declare dso_local void @__assert_fail(i8*, i8*, i32, i8*) #10 + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @write(i32 %fd, i8* %buf, i64 %count) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %r = alloca i32, align 4 + %actual_count = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + %0 = load i32, i32* @write.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @write.n_calls, align 4 + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @write.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + br i1 %tobool6, label %if.else42, label %if.then7 + +if.then7: ; preds = %if.end5 + %10 = load i8*, i8** %buf.addr, align 8 + %call8 = call i8* @__concretize_ptr(i8* %10) + store i8* %call8, i8** %buf.addr, align 8 + %11 = load i64, i64* %count.addr, align 8 + %call9 = call i64 @__concretize_size(i64 %11) + store i64 %call9, i64* %count.addr, align 8 + %12 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd10 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %12, i32 0, i32 0 + %13 = load i32, i32* %fd10, align 8 + %cmp11 = icmp eq i32 %13, 1 + br i1 %cmp11, label %if.then14, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then7 + %14 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd12 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %14, i32 0, i32 0 + %15 = load i32, i32* %fd12, align 8 + %cmp13 = icmp eq i32 %15, 2 + br i1 %cmp13, label %if.then14, label %if.else + +if.then14: ; preds = %lor.lhs.false, %if.then7 + %16 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd15 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %16, i32 0, i32 0 + %17 = load i32, i32* %fd15, align 8 + %18 = load i8*, i8** %buf.addr, align 8 + %19 = load i64, i64* %count.addr, align 8 + %call16 = call i64 (i64, ...) @syscall(i64 1, i32 %17, i8* %18, i64 %19) #11 + %conv = trunc i64 %call16 to i32 + store i32 %conv, i32* %r, align 4 + br label %if.end20 + +if.else: ; preds = %lor.lhs.false + %20 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd17 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %20, i32 0, i32 0 + %21 = load i32, i32* %fd17, align 8 + %22 = load i8*, i8** %buf.addr, align 8 + %23 = load i64, i64* %count.addr, align 8 + %24 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %24, i32 0, i32 2 + %25 = load i64, i64* %off, align 8 + %call18 = call i64 (i64, ...) @syscall(i64 18, i32 %21, i8* %22, i64 %23, i64 %25) #11 + %conv19 = trunc i64 %call18 to i32 + store i32 %conv19, i32* %r, align 4 + br label %if.end20 + +if.end20: ; preds = %if.else, %if.then14 + %26 = load i32, i32* %r, align 4 + %cmp21 = icmp eq i32 %26, -1 + br i1 %cmp21, label %if.then23, label %if.end24 + +if.then23: ; preds = %if.end20 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end24: ; preds = %if.end20 + %27 = load i32, i32* %r, align 4 + %cmp25 = icmp sge i32 %27, 0 + br i1 %cmp25, label %if.end29, label %if.else28 + +if.else28: ; preds = %if.end24 + call void @__assert_fail(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.5.7, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 445, i8* getelementptr inbounds ([41 x i8], [41 x i8]* @__PRETTY_FUNCTION__.write, i64 0, i64 0)) #26 + unreachable + +if.end29: ; preds = %if.end24 + %28 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd30 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %28, i32 0, i32 0 + %29 = load i32, i32* %fd30, align 8 + %cmp31 = icmp ne i32 %29, 1 + br i1 %cmp31, label %land.lhs.true33, label %if.end40 + +land.lhs.true33: ; preds = %if.end29 + %30 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd34 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %30, i32 0, i32 0 + %31 = load i32, i32* %fd34, align 8 + %cmp35 = icmp ne i32 %31, 2 + br i1 %cmp35, label %if.then37, label %if.end40 + +if.then37: ; preds = %land.lhs.true33 + %32 = load i32, i32* %r, align 4 + %conv38 = sext i32 %32 to i64 + %33 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off39 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %33, i32 0, i32 2 + %34 = load i64, i64* %off39, align 8 + %add = add nsw i64 %34, %conv38 + store i64 %add, i64* %off39, align 8 + br label %if.end40 + +if.end40: ; preds = %if.then37, %land.lhs.true33, %if.end29 + %35 = load i32, i32* %r, align 4 + %conv41 = sext i32 %35 to i64 + store i64 %conv41, i64* %retval, align 8 + br label %return + +if.else42: ; preds = %if.end5 + store i64 0, i64* %actual_count, align 8 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off43 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 2 + %37 = load i64, i64* %off43, align 8 + %38 = load i64, i64* %count.addr, align 8 + %add44 = add i64 %37, %38 + %39 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile45 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %39, i32 0, i32 3 + %40 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile45, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %40, i32 0, i32 0 + %41 = load i32, i32* %size, align 8 + %conv46 = zext i32 %41 to i64 + %cmp47 = icmp ule i64 %add44, %conv46 + br i1 %cmp47, label %if.then49, label %if.else50 + +if.then49: ; preds = %if.else42 + %42 = load i64, i64* %count.addr, align 8 + store i64 %42, i64* %actual_count, align 8 + br label %if.end67 + +if.else50: ; preds = %if.else42 + %43 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 3), align 8 + %tobool51 = icmp ne i32 %43, 0 + br i1 %tobool51, label %if.then52, label %if.else53 + +if.then52: ; preds = %if.else50 + call void @__assert_fail(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.6, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 458, i8* getelementptr inbounds ([41 x i8], [41 x i8]* @__PRETTY_FUNCTION__.write, i64 0, i64 0)) #26 + unreachable + +if.else53: ; preds = %if.else50 + %44 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %44, i32 0, i32 2 + %45 = load i64, i64* %off54, align 8 + %46 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile55 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %46, i32 0, i32 3 + %47 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile55, align 8 + %size56 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %47, i32 0, i32 0 + %48 = load i32, i32* %size56, align 8 + %conv57 = zext i32 %48 to i64 + %cmp58 = icmp slt i64 %45, %conv57 + br i1 %cmp58, label %if.then60, label %if.end67 + +if.then60: ; preds = %if.else53 + %49 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile61 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %49, i32 0, i32 3 + %50 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile61, align 8 + %size62 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %50, i32 0, i32 0 + %51 = load i32, i32* %size62, align 8 + %conv63 = zext i32 %51 to i64 + %52 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off64 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %52, i32 0, i32 2 + %53 = load i64, i64* %off64, align 8 + %sub = sub nsw i64 %conv63, %53 + store i64 %sub, i64* %actual_count, align 8 + br label %if.end67 + +if.end67: ; preds = %if.then60, %if.else53, %if.then49 + %54 = load i64, i64* %actual_count, align 8 + %tobool68 = icmp ne i64 %54, 0 + br i1 %tobool68, label %if.then69, label %if.end72 + +if.then69: ; preds = %if.end67 + %55 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile70 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %55, i32 0, i32 3 + %56 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile70, align 8 + %contents = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %56, i32 0, i32 1 + %57 = load i8*, i8** %contents, align 8 + %58 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off71 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %58, i32 0, i32 2 + %59 = load i64, i64* %off71, align 8 + %add.ptr = getelementptr inbounds i8, i8* %57, i64 %59 + %60 = load i8*, i8** %buf.addr, align 8 + %61 = load i64, i64* %actual_count, align 8 + %62 = call i8* @memcpy(i8* %add.ptr, i8* %60, i64 %61) + br label %if.end72 + +if.end72: ; preds = %if.then69, %if.end67 + %63 = load i64, i64* %count.addr, align 8 + %64 = load i64, i64* %actual_count, align 8 + %cmp73 = icmp ne i64 %63, %64 + br i1 %cmp73, label %if.then75, label %if.end76 + +if.then75: ; preds = %if.end72 + call void @gs_warning(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.7, i64 0, i64 0)) + br label %if.end76 + +if.end76: ; preds = %if.then75, %if.end72 + %65 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile77 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %65, i32 0, i32 3 + %66 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile77, align 8 + %67 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + %cmp78 = icmp eq %struct.exe_disk_file_t* %66, %67 + br i1 %cmp78, label %if.then80, label %if.end84 + +if.then80: ; preds = %if.end76 + %68 = load i64, i64* %actual_count, align 8 + %69 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 3), align 8 + %conv81 = zext i32 %69 to i64 + %add82 = add i64 %conv81, %68 + %conv83 = trunc i64 %add82 to i32 + store i32 %conv83, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 3), align 8 + br label %if.end84 + +if.end84: ; preds = %if.then80, %if.end76 + %70 = load i64, i64* %count.addr, align 8 + %71 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off85 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %71, i32 0, i32 2 + %72 = load i64, i64* %off85, align 8 + %add86 = add i64 %72, %70 + store i64 %add86, i64* %off85, align 8 + %73 = load i64, i64* %count.addr, align 8 + store i64 %73, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end84, %if.end40, %if.then23, %if.then3, %if.then + %74 = load i64, i64* %retval, align 8 + ret i64 %74 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @__fd_lseek(i32 %fd, i64 %offset, i32 %whence) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + %new_off = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + %4 = load i32, i32* %whence.addr, align 4 + br i1 %tobool2, label %if.end24, label %if.then3 + +if.then3: ; preds = %if.end + %cmp = icmp eq i32 %4, 0 + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd5 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd5, align 8 + br i1 %cmp, label %if.then4, label %if.else + +if.then4: ; preds = %if.then3 + %7 = load i64, i64* %offset.addr, align 8 + %call6 = call i64 (i64, ...) @syscall(i64 8, i32 %6, i64 %7, i32 0) #11 + store i64 %call6, i64* %new_off, align 8 + br label %if.end19 + +if.else: ; preds = %if.then3 + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 2 + %9 = load i64, i64* %off, align 8 + %call8 = call i64 (i64, ...) @syscall(i64 8, i32 %6, i64 %9, i32 0) #11 + store i64 %call8, i64* %new_off, align 8 + %10 = load i64, i64* %new_off, align 8 + %cmp9 = icmp ne i64 %10, -1 + br i1 %cmp9, label %if.then10, label %if.end19 + +if.then10: ; preds = %if.else + %11 = load i64, i64* %new_off, align 8 + %12 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off11 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %12, i32 0, i32 2 + %13 = load i64, i64* %off11, align 8 + %cmp12 = icmp eq i64 %11, %13 + br i1 %cmp12, label %if.end15, label %if.else14 + +if.else14: ; preds = %if.then10 + call void @__assert_fail(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.8, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 504, i8* getelementptr inbounds ([38 x i8], [38 x i8]* @__PRETTY_FUNCTION__.__fd_lseek, i64 0, i64 0)) #26 + unreachable + +if.end15: ; preds = %if.then10 + %14 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd16 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %14, i32 0, i32 0 + %15 = load i32, i32* %fd16, align 8 + %16 = load i64, i64* %offset.addr, align 8 + %17 = load i32, i32* %whence.addr, align 4 + %call17 = call i64 (i64, ...) @syscall(i64 8, i32 %15, i64 %16, i32 %17) #11 + store i64 %call17, i64* %new_off, align 8 + br label %if.end19 + +if.end19: ; preds = %if.else, %if.end15, %if.then4 + %18 = load i64, i64* %new_off, align 8 + %cmp20 = icmp eq i64 %18, -1 + br i1 %cmp20, label %if.then21, label %if.end22 + +if.then21: ; preds = %if.end19 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end22: ; preds = %if.end19 + %19 = load i64, i64* %new_off, align 8 + %20 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off23 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %20, i32 0, i32 2 + store i64 %19, i64* %off23, align 8 + %21 = load i64, i64* %new_off, align 8 + store i64 %21, i64* %retval, align 8 + br label %return + +if.end24: ; preds = %if.end + br label %NodeBlock3 + +NodeBlock3: ; preds = %if.end24 + %case.cmp4 = icmp eq i32 %4, 0 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %4, 1 + br i1 %case.cmp2, label %sw.bb25, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %4, 2 + br i1 %case.cmp, label %sw.bb27, label %newDefault + +sw.bb: ; preds = %NodeBlock3 + %22 = load i64, i64* %offset.addr, align 8 + store i64 %22, i64* %new_off, align 8 + br label %sw.epilog + +sw.bb25: ; preds = %NodeBlock1 + %23 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off26 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %23, i32 0, i32 2 + %24 = load i64, i64* %off26, align 8 + %25 = load i64, i64* %offset.addr, align 8 + %add = add nsw i64 %24, %25 + store i64 %add, i64* %new_off, align 8 + br label %sw.epilog + +sw.bb27: ; preds = %NodeBlock + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile28 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 3 + %27 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile28, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %27, i32 0, i32 0 + %28 = load i32, i32* %size, align 8 + %conv = zext i32 %28 to i64 + %29 = load i64, i64* %offset.addr, align 8 + %add29 = add nsw i64 %conv, %29 + store i64 %add29, i64* %new_off, align 8 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + %call30 = call i32* @__errno_location() #25 + store i32 22, i32* %call30, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +sw.epilog: ; preds = %sw.bb27, %sw.bb25, %sw.bb + %30 = load i64, i64* %new_off, align 8 + %cmp31 = icmp slt i64 %30, 0 + br i1 %cmp31, label %if.then33, label %if.end35 + +if.then33: ; preds = %sw.epilog + %call34 = call i32* @__errno_location() #25 + store i32 22, i32* %call34, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end35: ; preds = %sw.epilog + %31 = load i64, i64* %new_off, align 8 + %32 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off36 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %32, i32 0, i32 2 + store i64 %31, i64* %off36, align 8 + %33 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off37 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %33, i32 0, i32 2 + %34 = load i64, i64* %off37, align 8 + store i64 %34, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end35, %if.then33, %sw.default, %if.end22, %if.then21, %if.then + %35 = load i64, i64* %retval, align 8 + ret i64 %35 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_stat(i8* %path, %struct.stat64* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %3 = bitcast %struct.stat64* %2 to i8* + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %4, i32 0, i32 2 + %5 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %6 = bitcast %struct.stat64* %5 to i8* + %7 = call i8* @memcpy(i8* %3, i8* %6, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load i8*, i8** %path.addr, align 8 + %call1 = call i8* @__concretize_string(i8* %8) + %9 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %call2 = call i64 (i64, ...) @syscall(i64 4, i8* %call1, %struct.stat64* %9) #11 + %conv = trunc i64 %call2 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %10 = load i32, i32* %retval, align 4 + ret i32 %10 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstatat(i32 %fd, i8* nonnull %path, %struct.stat64* nonnull %buf, i32 %flags) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %flags.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %dfile9 = alloca %struct.exe_disk_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %cmp = icmp ne i32 %0, -100 + br i1 %cmp, label %if.then, label %if.end8 + +if.then: ; preds = %entry + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.else, label %if.then1 + +if.then1: ; preds = %if.then + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 3 + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool3 = icmp ne %struct.exe_disk_file_t* %4, null + br i1 %tobool3, label %if.then4, label %if.end6 + +if.then4: ; preds = %if.else + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0)) + %call5 = call i32* @__errno_location() #25 + store i32 2, i32* %call5, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.else + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd7, align 8 + store i32 %6, i32* %fd.addr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end6, %entry + %7 = load i8*, i8** %path.addr, align 8 + %call10 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %7) + store %struct.exe_disk_file_t* %call10, %struct.exe_disk_file_t** %dfile9, align 8 + %8 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile9, align 8 + %tobool11 = icmp ne %struct.exe_disk_file_t* %8, null + br i1 %tobool11, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.end8 + %9 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %10 = bitcast %struct.stat64* %9 to i8* + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile9, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %11, i32 0, i32 2 + %12 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %13 = bitcast %struct.stat64* %12 to i8* + %14 = call i8* @memcpy(i8* %10, i8* %13, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.end8 + %15 = load i32, i32* %fd.addr, align 4 + %conv = sext i32 %15 to i64 + %16 = load i8*, i8** %path.addr, align 8 + %tobool14 = icmp ne i8* %16, null + br i1 %tobool14, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end13 + %17 = load i8*, i8** %path.addr, align 8 + %call15 = call i8* @__concretize_string(i8* %17) + br label %cond.end + +cond.end: ; preds = %if.end13, %cond.true + %cond = phi i8* [ %call15, %cond.true ], [ null, %if.end13 ] + %18 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %19 = load i32, i32* %flags.addr, align 4 + %conv16 = sext i32 %19 to i64 + %call17 = call i64 (i64, ...) @syscall(i64 262, i64 %conv, i8* %cond, %struct.stat64* %18, i64 %conv16) #11 + %conv18 = trunc i64 %call17 to i32 + store i32 %conv18, i32* %retval, align 4 + br label %return + +return: ; preds = %cond.end, %if.then12, %if.then4, %if.then1 + %20 = load i32, i32* %retval, align 4 + ret i32 %20 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_lstat(i8* %path, %struct.stat64* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %3 = bitcast %struct.stat64* %2 to i8* + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %4, i32 0, i32 2 + %5 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %6 = bitcast %struct.stat64* %5 to i8* + %7 = call i8* @memcpy(i8* %3, i8* %6, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load i8*, i8** %path.addr, align 8 + %call1 = call i8* @__concretize_string(i8* %8) + %9 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %call2 = call i64 (i64, ...) @syscall(i64 6, i8* %call1, %struct.stat64* %9) #11 + %conv = trunc i64 %call2 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %10 = load i32, i32* %retval, align 4 + ret i32 %10 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chdir(i8* nonnull %path) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0)) + %call1 = call i32* @__errno_location() #25 + store i32 2, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %2) + %call3 = call i64 (i64, ...) @syscall(i64 80, i8* %call2) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %3 = load i32, i32* %retval, align 4 + ret i32 %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fchdir(i32 %fd) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %if.end + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 2, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd6, align 8 + %call7 = call i64 (i64, ...) @syscall(i64 81, i32 %5) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chmod(i8* nonnull %path, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load i32, i32* @chmod.n_calls, align 4 + %inc = add nsw i32 %1, 1 + store i32 %inc, i32* @chmod.n_calls, align 4 + %2 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool = icmp ne i32 %2, 0 + br i1 %tobool, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %3 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 11), align 8 + %4 = load i32, i32* %3, align 4 + %5 = load i32, i32* @chmod.n_calls, align 4 + %cmp = icmp eq i32 %4, %5 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %6 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %6, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call1 = call i32* @__errno_location() #25 + store i32 5, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + %7 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %7, null + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %if.end + %8 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %9 = load i32, i32* %mode.addr, align 4 + %call4 = call i32 @__df_chmod(%struct.exe_disk_file_t* %8, i32 %9) + store i32 %call4, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %if.end + %10 = load i8*, i8** %path.addr, align 8 + %call6 = call i8* @__concretize_string(i8* %10) + %11 = load i32, i32* %mode.addr, align 4 + %call7 = call i64 (i64, ...) @syscall(i64 90, i8* %call6, i32 %11) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %12 = load i32, i32* %retval, align 4 + ret i32 %12 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__df_chmod(%struct.exe_disk_file_t* %df, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %df.addr = alloca %struct.exe_disk_file_t*, align 8 + %mode.addr = alloca i32, align 4 + store %struct.exe_disk_file_t* %df, %struct.exe_disk_file_t** %df.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %call = call i32 @geteuid() #11 + %0 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %0, i32 0, i32 2 + %1 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_uid = getelementptr inbounds %struct.stat64, %struct.stat64* %1, i32 0, i32 4 + %2 = load i32, i32* %st_uid, align 4 + %cmp = icmp eq i32 %call, %2 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %call1 = call i32 @getgid() #11 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %3, i32 0, i32 2 + %4 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + %st_gid = getelementptr inbounds %struct.stat64, %struct.stat64* %4, i32 0, i32 5 + %5 = load i32, i32* %st_gid, align 8 + %cmp3 = icmp ne i32 %call1, %5 + br i1 %cmp3, label %if.then4, label %if.end + +if.then4: ; preds = %if.then + %6 = load i32, i32* %mode.addr, align 4 + %and = and i32 %6, -1025 + store i32 %and, i32* %mode.addr, align 4 + br label %if.end + +if.end: ; preds = %if.then4, %if.then + %7 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat5 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %7, i32 0, i32 2 + %8 = load %struct.stat64*, %struct.stat64** %stat5, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %8, i32 0, i32 3 + %9 = load i32, i32* %st_mode, align 8 + %and6 = and i32 %9, -4096 + %10 = load i32, i32* %mode.addr, align 4 + %and7 = and i32 %10, 4095 + %or = or i32 %and6, %and7 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat8 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %11, i32 0, i32 2 + %12 = load %struct.stat64*, %struct.stat64** %stat8, align 8 + %st_mode9 = getelementptr inbounds %struct.stat64, %struct.stat64* %12, i32 0, i32 3 + store i32 %or, i32* %st_mode9, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %call10 = call i32* @__errno_location() #25 + store i32 1, i32* %call10, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.else, %if.end + %13 = load i32, i32* %retval, align 4 + ret i32 %13 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fchmod(i32 %fd, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i32, i32* @fchmod.n_calls, align 4 + %inc = add nsw i32 %2, 1 + store i32 %inc, i32* @fchmod.n_calls, align 4 + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 12), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @fchmod.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + br i1 %tobool6, label %if.then7, label %if.end10 + +if.then7: ; preds = %if.end5 + %dfile8 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 3 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile8, align 8 + %12 = load i32, i32* %mode.addr, align 4 + %call9 = call i32 @__df_chmod(%struct.exe_disk_file_t* %11, i32 %12) + store i32 %call9, i32* %retval, align 4 + br label %return + +if.end10: ; preds = %if.end5 + %fd11 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 0 + %13 = load i32, i32* %fd11, align 8 + %14 = load i32, i32* %mode.addr, align 4 + %call12 = call i64 (i64, ...) @syscall(i64 91, i32 %13, i32 %14) #11 + %conv = trunc i64 %call12 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end10, %if.then7, %if.then3, %if.then + %15 = load i32, i32* %retval, align 4 + ret i32 %15 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chown(i8* nonnull %path, i32 %owner, i32 %group) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %df, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %3 = load i32, i32* %owner.addr, align 4 + %4 = load i32, i32* %group.addr, align 4 + %call1 = call i32 @__df_chown(%struct.exe_disk_file_t* %2, i32 %3, i32 %4) + store i32 %call1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %5 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %5) + %6 = load i32, i32* %owner.addr, align 4 + %7 = load i32, i32* %group.addr, align 4 + %call3 = call i64 (i64, ...) @syscall(i64 92, i8* %call2, i32 %6, i32 %7) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__df_chown(%struct.exe_disk_file_t* %df, i32 %owner, i32 %group) #3 { +entry: + %df.addr = alloca %struct.exe_disk_file_t*, align 8 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + store %struct.exe_disk_file_t* %df, %struct.exe_disk_file_t** %df.addr, align 8 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + call void @gs_warning(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.26, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fchown(i32 %fd, i32 %owner, i32 %group) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end6 + +if.then3: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile4 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 3 + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile4, align 8 + %6 = load i32, i32* %owner.addr, align 4 + %7 = load i32, i32* %group.addr, align 4 + %call5 = call i32 @__df_chown(%struct.exe_disk_file_t* %5, i32 %6, i32 %7) + store i32 %call5, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.end + %8 = load i32, i32* %fd.addr, align 4 + %9 = load i32, i32* %owner.addr, align 4 + %10 = load i32, i32* %group.addr, align 4 + %call7 = call i64 (i64, ...) @syscall(i64 93, i32 %8, i32 %9, i32 %10) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end6, %if.then3, %if.then + %11 = load i32, i32* %retval, align 4 + ret i32 %11 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @lchown(i8* nonnull %path, i32 %owner, i32 %group) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %df, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %3 = load i32, i32* %owner.addr, align 4 + %4 = load i32, i32* %group.addr, align 4 + %call1 = call i32 @__df_chown(%struct.exe_disk_file_t* %2, i32 %3, i32 %4) + store i32 %call1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %5 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %5) + %6 = load i32, i32* %owner.addr, align 4 + %7 = load i32, i32* %group.addr, align 4 + %call3 = call i64 (i64, ...) @syscall(i64 92, i8* %call2, i32 %6, i32 %7) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_fstat(i32 %fd, %struct.stat64* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.end6, label %if.then3 + +if.then3: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd4 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd4, align 8 + %6 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %call5 = call i64 (i64, ...) @syscall(i64 5, i32 %5, %struct.stat64* %6) #11 + %conv = trunc i64 %call5 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.end + %7 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %8 = bitcast %struct.stat64* %7 to i8* + %9 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %9, i32 0, i32 3 + %10 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile7, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %10, i32 0, i32 2 + %11 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %12 = bitcast %struct.stat64* %11 to i8* + %13 = call i8* @memcpy(i8* %8, i8* %12, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end6, %if.then3, %if.then + %14 = load i32, i32* %retval, align 4 + ret i32 %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_ftruncate(i32 %fd, i64 %length) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %length.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %length, i64* %length.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load i32, i32* @__fd_ftruncate.n_calls, align 4 + %inc = add nsw i32 %1, 1 + store i32 %inc, i32* @__fd_ftruncate.n_calls, align 4 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @__fd_ftruncate.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + br i1 %tobool6, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end5 + call void @gs_warning(i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.10, i64 0, i64 0)) + %call8 = call i32* @__errno_location() #25 + store i32 5, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end9: ; preds = %if.end5 + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd10 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 0 + %11 = load i32, i32* %fd10, align 8 + %12 = load i64, i64* %length.addr, align 8 + %call11 = call i64 (i64, ...) @syscall(i64 77, i32 %11, i64 %12) #11 + %conv = trunc i64 %call11 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end9, %if.then7, %if.then3, %if.then + %13 = load i32, i32* %retval, align 4 + ret i32 %13 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_getdents(i32 %fd, %struct.dirent64* %dirp, i32 %count) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %dirp.addr = alloca %struct.dirent64*, align 8 + %count.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %i = alloca i64, align 8 + %pad = alloca i64, align 8 + %bytes = alloca i64, align 8 + %df = alloca %struct.exe_disk_file_t*, align 8 + %os_pos = alloca i64, align 8 + %res = alloca i32, align 4 + %s = alloca i64, align 8 + %pos = alloca i32, align 4 + %dp = alloca %struct.dirent64*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.dirent64* %dirp, %struct.dirent64** %dirp.addr, align 8 + store i32 %count, i32* %count.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.else + +if.then3: ; preds = %if.end + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 22, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 2 + %5 = load i64, i64* %off, align 8 + %cmp = icmp ult i64 %5, 4096 + br i1 %cmp, label %if.then5, label %if.else43 + +if.then5: ; preds = %if.else + store i64 0, i64* %bytes, align 8 + %6 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %6, i32 0, i32 2 + %7 = load i64, i64* %off6, align 8 + %div = udiv i64 %7, 280 + store i64 %div, i64* %i, align 8 + %8 = load i64, i64* %i, align 8 + %mul = mul i64 %8, 280 + %9 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %9, i32 0, i32 2 + %10 = load i64, i64* %off7, align 8 + %cmp8 = icmp ne i64 %mul, %10 + br i1 %cmp8, label %if.then11, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then5 + %11 = load i64, i64* %i, align 8 + %12 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %conv = zext i32 %12 to i64 + %cmp9 = icmp sgt i64 %11, %conv + br i1 %cmp9, label %if.then11, label %for.cond + +if.then11: ; preds = %lor.lhs.false, %if.then5 + %call12 = call i32* @__errno_location() #25 + store i32 22, i32* %call12, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +for.cond: ; preds = %lor.lhs.false, %for.body + %13 = load i64, i64* %i, align 8 + %14 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %conv14 = zext i32 %14 to i64 + %cmp15 = icmp slt i64 %13, %conv14 + br i1 %cmp15, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %15 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %16 = load i64, i64* %i, align 8 + %arrayidx = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %15, i64 %16 + store %struct.exe_disk_file_t* %arrayidx, %struct.exe_disk_file_t** %df, align 8 + %17 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %17, i32 0, i32 2 + %18 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %18, i32 0, i32 1 + %19 = load i64, i64* %st_ino, align 8 + %20 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_ino = getelementptr inbounds %struct.dirent64, %struct.dirent64* %20, i32 0, i32 0 + store i64 %19, i64* %d_ino, align 8 + %21 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen = getelementptr inbounds %struct.dirent64, %struct.dirent64* %21, i32 0, i32 2 + store i16 280, i16* %d_reclen, align 8 + %22 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat17 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %22, i32 0, i32 2 + %23 = load %struct.stat64*, %struct.stat64** %stat17, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %23, i32 0, i32 3 + %24 = load i32, i32* %st_mode, align 8 + %and = and i32 %24, 61440 + %shr = lshr i32 %and, 12 + %conv18 = trunc i32 %shr to i8 + %25 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_type = getelementptr inbounds %struct.dirent64, %struct.dirent64* %25, i32 0, i32 3 + store i8 %conv18, i8* %d_type, align 2 + %26 = load i64, i64* %i, align 8 + %add = add nsw i64 65, %26 + %conv19 = trunc i64 %add to i8 + %27 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_name = getelementptr inbounds %struct.dirent64, %struct.dirent64* %27, i32 0, i32 4 + %arrayidx20 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name, i64 0, i64 0 + store i8 %conv19, i8* %arrayidx20, align 1 + %28 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_name21 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %28, i32 0, i32 4 + %arrayidx22 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name21, i64 0, i64 1 + store i8 0, i8* %arrayidx22, align 1 + %29 = load i64, i64* %i, align 8 + %add23 = add nsw i64 %29, 1 + %mul24 = mul i64 %add23, 280 + %30 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_off = getelementptr inbounds %struct.dirent64, %struct.dirent64* %30, i32 0, i32 1 + store i64 %mul24, i64* %d_off, align 8 + %31 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen25 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %31, i32 0, i32 2 + %32 = load i16, i16* %d_reclen25, align 8 + %conv26 = zext i16 %32 to i64 + %33 = load i64, i64* %bytes, align 8 + %add27 = add nsw i64 %33, %conv26 + store i64 %add27, i64* %bytes, align 8 + %34 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %incdec.ptr = getelementptr inbounds %struct.dirent64, %struct.dirent64* %34, i32 1 + store %struct.dirent64* %incdec.ptr, %struct.dirent64** %dirp.addr, align 8 + %35 = load i64, i64* %i, align 8 + %inc = add nsw i64 %35, 1 + store i64 %inc, i64* %i, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %36 = load i32, i32* %count.addr, align 4 + %cmp28 = icmp uge i32 %36, 4096 + %37 = load i32, i32* %count.addr, align 4 + %cond = select i1 %cmp28, i32 4096, i32 %37 + %conv30 = zext i32 %cond to i64 + store i64 %conv30, i64* %pad, align 8 + %38 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_ino31 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %38, i32 0, i32 0 + store i64 0, i64* %d_ino31, align 8 + %39 = load i64, i64* %pad, align 8 + %40 = load i64, i64* %bytes, align 8 + %sub = sub nsw i64 %39, %40 + %conv32 = trunc i64 %sub to i16 + %41 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen33 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %41, i32 0, i32 2 + store i16 %conv32, i16* %d_reclen33, align 8 + %42 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_type34 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %42, i32 0, i32 3 + store i8 0, i8* %d_type34, align 2 + %43 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_name35 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %43, i32 0, i32 4 + %arrayidx36 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name35, i64 0, i64 0 + store i8 0, i8* %arrayidx36, align 1 + %44 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_off37 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %44, i32 0, i32 1 + store i64 4096, i64* %d_off37, align 8 + %45 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen38 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %45, i32 0, i32 2 + %46 = load i16, i16* %d_reclen38, align 8 + %conv39 = zext i16 %46 to i64 + %47 = load i64, i64* %bytes, align 8 + %add40 = add nsw i64 %47, %conv39 + store i64 %add40, i64* %bytes, align 8 + %48 = load i64, i64* %pad, align 8 + %49 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off41 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %49, i32 0, i32 2 + store i64 %48, i64* %off41, align 8 + %50 = load i64, i64* %bytes, align 8 + %conv42 = trunc i64 %50 to i32 + store i32 %conv42, i32* %retval, align 4 + br label %return + +if.else43: ; preds = %if.else + %51 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off44 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %51, i32 0, i32 2 + %52 = load i64, i64* %off44, align 8 + %sub45 = sub nsw i64 %52, 4096 + store i64 %sub45, i64* %os_pos, align 8 + store i64 0, i64* %s, align 8 + %53 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %54 = bitcast %struct.dirent64* %53 to i8* + %55 = load i32, i32* %count.addr, align 4 + %conv46 = zext i32 %55 to i64 + %56 = call i8* @memset(i8* %54, i32 0, i64 %conv46) + %57 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd47 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %57, i32 0, i32 0 + %58 = load i32, i32* %fd47, align 8 + %59 = load i64, i64* %os_pos, align 8 + %call48 = call i64 (i64, ...) @syscall(i64 8, i32 %58, i64 %59, i32 0) #11 + store i64 %call48, i64* %s, align 8 + %60 = load i64, i64* %s, align 8 + %cmp49 = icmp ne i64 %60, -1 + br i1 %cmp49, label %if.end53, label %if.else52 + +if.else52: ; preds = %if.else43 + call void @__assert_fail(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.12, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 840, i8* getelementptr inbounds ([65 x i8], [65 x i8]* @__PRETTY_FUNCTION__.__fd_getdents, i64 0, i64 0)) #26 + unreachable + +if.end53: ; preds = %if.else43 + %61 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %61, i32 0, i32 0 + %62 = load i32, i32* %fd54, align 8 + %63 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %64 = load i32, i32* %count.addr, align 4 + %call55 = call i64 (i64, ...) @syscall(i64 217, i32 %62, %struct.dirent64* %63, i32 %64) #11 + %conv56 = trunc i64 %call55 to i32 + store i32 %conv56, i32* %res, align 4 + %65 = load i32, i32* %res, align 4 + %cmp57 = icmp sgt i32 %65, -1 + br i1 %cmp57, label %if.then59, label %if.end78 + +if.then59: ; preds = %if.end53 + store i32 0, i32* %pos, align 4 + %66 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd60 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %66, i32 0, i32 0 + %67 = load i32, i32* %fd60, align 8 + %call61 = call i64 (i64, ...) @syscall(i64 8, i32 %67, i32 0, i32 1) #11 + %68 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off62 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %68, i32 0, i32 2 + store i64 %call61, i64* %off62, align 8 + %69 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off63 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %69, i32 0, i32 2 + %70 = load i64, i64* %off63, align 8 + %cmp64 = icmp ne i64 %70, -1 + br i1 %cmp64, label %if.end68, label %if.else67 + +if.else67: ; preds = %if.then59 + call void @__assert_fail(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.13, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 845, i8* getelementptr inbounds ([65 x i8], [65 x i8]* @__PRETTY_FUNCTION__.__fd_getdents, i64 0, i64 0)) #26 + unreachable + +if.end68: ; preds = %if.then59 + %71 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off69 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %71, i32 0, i32 2 + %72 = load i64, i64* %off69, align 8 + %add70 = add nsw i64 %72, 4096 + store i64 %add70, i64* %off69, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end68 + %73 = load i32, i32* %pos, align 4 + %74 = load i32, i32* %res, align 4 + %cmp71 = icmp slt i32 %73, %74 + br i1 %cmp71, label %while.body, label %if.end78 + +while.body: ; preds = %while.cond + %75 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %76 = bitcast %struct.dirent64* %75 to i8* + %77 = load i32, i32* %pos, align 4 + %idx.ext = sext i32 %77 to i64 + %add.ptr = getelementptr inbounds i8, i8* %76, i64 %idx.ext + %78 = bitcast i8* %add.ptr to %struct.dirent64* + store %struct.dirent64* %78, %struct.dirent64** %dp, align 8 + %79 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_off73 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %79, i32 0, i32 1 + %80 = load i64, i64* %d_off73, align 8 + %add74 = add nsw i64 %80, 4096 + store i64 %add74, i64* %d_off73, align 8 + %81 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_reclen75 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %81, i32 0, i32 2 + %82 = load i16, i16* %d_reclen75, align 8 + %conv76 = zext i16 %82 to i32 + %83 = load i32, i32* %pos, align 4 + %add77 = add nsw i32 %83, %conv76 + store i32 %add77, i32* %pos, align 4 + br label %while.cond + +if.end78: ; preds = %while.cond, %if.end53 + %84 = load i32, i32* %res, align 4 + store i32 %84, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end78, %for.end, %if.then11, %if.then3, %if.then + %85 = load i32, i32* %retval, align 4 + ret i32 %85 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @ioctl(i32 %fd, i64 %request, ...) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %request.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + %buf = alloca i8*, align 8 + %stat = alloca %struct.stat64*, align 8 + %ts = alloca %struct.termios*, align 8 + %ws = alloca %struct.winsize*, align 8 + %res = alloca i32*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %request, i64* %request.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay2 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay2) + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.end + %2 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 3 + %reg_save_area = load i8*, i8** %2, align 16 + %3 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %4 = bitcast i8* %3 to i8** + %5 = add i32 %gp_offset, 8 + store i32 %5, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.end + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %6 = bitcast i8* %overflow_arg_area to i8** + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i8** [ %4, %vaarg.in_reg ], [ %6, %vaarg.in_mem ] + %7 = load i8*, i8** %vaarg.addr, align 8 + store i8* %7, i8** %buf, align 8 + %arraydecay4 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay45 = bitcast %struct.__va_list_tag.0* %arraydecay4 to i8* + call void @llvm.va_end(i8* %arraydecay45) + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + br i1 %tobool6, label %if.then7, label %if.end103 + +if.then7: ; preds = %vaarg.end + %dfile8 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 3 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile8, align 8 + %stat9 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %11, i32 0, i32 2 + %12 = load %struct.stat64*, %struct.stat64** %stat9, align 8 + %13 = bitcast %struct.stat64* %12 to %struct.stat64* + store %struct.stat64* %13, %struct.stat64** %stat, align 8 + %14 = load i64, i64* %request.addr, align 8 + br label %NodeBlock13 + +NodeBlock13: ; preds = %if.then7 + %case.cmp14 = icmp eq i64 %14, 21505 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i64 %14, 21506 + br i1 %case.cmp12, label %sw.bb48, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i64 %14, 21507 + br i1 %case.cmp10, label %sw.bb55, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i64 %14, 21508 + br i1 %case.cmp8, label %sw.bb60, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i64 %14, 21523 + br i1 %case.cmp6, label %sw.bb67, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i64 %14, 21524 + br i1 %case.cmp4, label %sw.bb74, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i64 %14, 21531 + br i1 %case.cmp2, label %sw.bb82, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i64 %14, 2150657282 + br i1 %case.cmp, label %sw.bb100, label %newDefault + +sw.bb: ; preds = %NodeBlock13 + %15 = load i8*, i8** %buf, align 8 + %16 = bitcast i8* %15 to %struct.termios* + store %struct.termios* %16, %struct.termios** %ts, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.14, i64 0, i64 0)) + %17 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %17, i32 0, i32 3 + %18 = load i32, i32* %st_mode, align 8 + %and = and i32 %18, 61440 + %cmp = icmp eq i32 %and, 8192 + br i1 %cmp, label %if.then10, label %if.else + +if.then10: ; preds = %sw.bb + %19 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_iflag = getelementptr inbounds %struct.termios, %struct.termios* %19, i32 0, i32 0 + store i32 27906, i32* %c_iflag, align 4 + %20 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_oflag = getelementptr inbounds %struct.termios, %struct.termios* %20, i32 0, i32 1 + store i32 5, i32* %c_oflag, align 4 + %21 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cflag = getelementptr inbounds %struct.termios, %struct.termios* %21, i32 0, i32 2 + store i32 1215, i32* %c_cflag, align 4 + %22 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_lflag = getelementptr inbounds %struct.termios, %struct.termios* %22, i32 0, i32 3 + store i32 35287, i32* %c_lflag, align 4 + %23 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_line = getelementptr inbounds %struct.termios, %struct.termios* %23, i32 0, i32 4 + store i8 0, i8* %c_line, align 4 + %24 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc = getelementptr inbounds %struct.termios, %struct.termios* %24, i32 0, i32 5 + %arrayidx = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc, i64 0, i64 0 + store i8 3, i8* %arrayidx, align 1 + %25 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc11 = getelementptr inbounds %struct.termios, %struct.termios* %25, i32 0, i32 5 + %arrayidx12 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc11, i64 0, i64 1 + store i8 28, i8* %arrayidx12, align 1 + %26 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc13 = getelementptr inbounds %struct.termios, %struct.termios* %26, i32 0, i32 5 + %arrayidx14 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc13, i64 0, i64 2 + store i8 127, i8* %arrayidx14, align 1 + %27 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc15 = getelementptr inbounds %struct.termios, %struct.termios* %27, i32 0, i32 5 + %arrayidx16 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc15, i64 0, i64 3 + store i8 21, i8* %arrayidx16, align 1 + %28 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc17 = getelementptr inbounds %struct.termios, %struct.termios* %28, i32 0, i32 5 + %arrayidx18 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc17, i64 0, i64 4 + store i8 4, i8* %arrayidx18, align 1 + %29 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc19 = getelementptr inbounds %struct.termios, %struct.termios* %29, i32 0, i32 5 + %arrayidx20 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc19, i64 0, i64 5 + store i8 0, i8* %arrayidx20, align 1 + %30 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc21 = getelementptr inbounds %struct.termios, %struct.termios* %30, i32 0, i32 5 + %arrayidx22 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc21, i64 0, i64 6 + store i8 1, i8* %arrayidx22, align 1 + %31 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc23 = getelementptr inbounds %struct.termios, %struct.termios* %31, i32 0, i32 5 + %arrayidx24 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc23, i64 0, i64 7 + store i8 -1, i8* %arrayidx24, align 1 + %32 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc25 = getelementptr inbounds %struct.termios, %struct.termios* %32, i32 0, i32 5 + %arrayidx26 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc25, i64 0, i64 8 + store i8 17, i8* %arrayidx26, align 1 + %33 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc27 = getelementptr inbounds %struct.termios, %struct.termios* %33, i32 0, i32 5 + %arrayidx28 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc27, i64 0, i64 9 + store i8 19, i8* %arrayidx28, align 1 + %34 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc29 = getelementptr inbounds %struct.termios, %struct.termios* %34, i32 0, i32 5 + %arrayidx30 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc29, i64 0, i64 10 + store i8 26, i8* %arrayidx30, align 1 + %35 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc31 = getelementptr inbounds %struct.termios, %struct.termios* %35, i32 0, i32 5 + %arrayidx32 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc31, i64 0, i64 11 + store i8 -1, i8* %arrayidx32, align 1 + %36 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc33 = getelementptr inbounds %struct.termios, %struct.termios* %36, i32 0, i32 5 + %arrayidx34 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc33, i64 0, i64 12 + store i8 18, i8* %arrayidx34, align 1 + %37 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc35 = getelementptr inbounds %struct.termios, %struct.termios* %37, i32 0, i32 5 + %arrayidx36 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc35, i64 0, i64 13 + store i8 15, i8* %arrayidx36, align 1 + %38 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc37 = getelementptr inbounds %struct.termios, %struct.termios* %38, i32 0, i32 5 + %arrayidx38 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc37, i64 0, i64 14 + store i8 23, i8* %arrayidx38, align 1 + %39 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc39 = getelementptr inbounds %struct.termios, %struct.termios* %39, i32 0, i32 5 + %arrayidx40 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc39, i64 0, i64 15 + store i8 22, i8* %arrayidx40, align 1 + %40 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc41 = getelementptr inbounds %struct.termios, %struct.termios* %40, i32 0, i32 5 + %arrayidx42 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc41, i64 0, i64 16 + store i8 -1, i8* %arrayidx42, align 1 + %41 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc43 = getelementptr inbounds %struct.termios, %struct.termios* %41, i32 0, i32 5 + %arrayidx44 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc43, i64 0, i64 17 + store i8 0, i8* %arrayidx44, align 1 + %42 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc45 = getelementptr inbounds %struct.termios, %struct.termios* %42, i32 0, i32 5 + %arrayidx46 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc45, i64 0, i64 18 + store i8 0, i8* %arrayidx46, align 1 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %sw.bb + %call47 = call i32* @__errno_location() #25 + store i32 25, i32* %call47, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb48: ; preds = %NodeBlock11 + call void @gs_warning_once(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.15, i64 0, i64 0)) + %43 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode49 = getelementptr inbounds %struct.stat64, %struct.stat64* %43, i32 0, i32 3 + %44 = load i32, i32* %st_mode49, align 8 + %and50 = and i32 %44, 61440 + %cmp51 = icmp eq i32 %and50, 8192 + br i1 %cmp51, label %if.then52, label %if.else53 + +if.then52: ; preds = %sw.bb48 + store i32 0, i32* %retval, align 4 + br label %return + +if.else53: ; preds = %sw.bb48 + %call54 = call i32* @__errno_location() #25 + store i32 25, i32* %call54, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb55: ; preds = %NodeBlock9 + call void @gs_warning_once(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.16, i64 0, i64 0)) + %45 = load i32, i32* %fd.addr, align 4 + %cmp56 = icmp eq i32 %45, 0 + br i1 %cmp56, label %if.then57, label %if.else58 + +if.then57: ; preds = %sw.bb55 + store i32 0, i32* %retval, align 4 + br label %return + +if.else58: ; preds = %sw.bb55 + %call59 = call i32* @__errno_location() #25 + store i32 25, i32* %call59, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb60: ; preds = %NodeBlock7 + call void @gs_warning_once(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.17, i64 0, i64 0)) + %46 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode61 = getelementptr inbounds %struct.stat64, %struct.stat64* %46, i32 0, i32 3 + %47 = load i32, i32* %st_mode61, align 8 + %and62 = and i32 %47, 61440 + %cmp63 = icmp eq i32 %and62, 8192 + br i1 %cmp63, label %if.then64, label %if.else65 + +if.then64: ; preds = %sw.bb60 + store i32 0, i32* %retval, align 4 + br label %return + +if.else65: ; preds = %sw.bb60 + %call66 = call i32* @__errno_location() #25 + store i32 25, i32* %call66, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb67: ; preds = %NodeBlock5 + %48 = load i8*, i8** %buf, align 8 + %49 = bitcast i8* %48 to %struct.winsize* + store %struct.winsize* %49, %struct.winsize** %ws, align 8 + %50 = load %struct.winsize*, %struct.winsize** %ws, align 8 + %ws_row = getelementptr inbounds %struct.winsize, %struct.winsize* %50, i32 0, i32 0 + store i16 24, i16* %ws_row, align 2 + %51 = load %struct.winsize*, %struct.winsize** %ws, align 8 + %ws_col = getelementptr inbounds %struct.winsize, %struct.winsize* %51, i32 0, i32 1 + store i16 80, i16* %ws_col, align 2 + call void @gs_warning_once(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.18, i64 0, i64 0)) + %52 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode68 = getelementptr inbounds %struct.stat64, %struct.stat64* %52, i32 0, i32 3 + %53 = load i32, i32* %st_mode68, align 8 + %and69 = and i32 %53, 61440 + %cmp70 = icmp eq i32 %and69, 8192 + br i1 %cmp70, label %if.then71, label %if.else72 + +if.then71: ; preds = %sw.bb67 + store i32 0, i32* %retval, align 4 + br label %return + +if.else72: ; preds = %sw.bb67 + %call73 = call i32* @__errno_location() #25 + store i32 25, i32* %call73, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb74: ; preds = %NodeBlock3 + call void @gs_warning_once(i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.19, i64 0, i64 0)) + %54 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode75 = getelementptr inbounds %struct.stat64, %struct.stat64* %54, i32 0, i32 3 + %55 = load i32, i32* %st_mode75, align 8 + %and76 = and i32 %55, 61440 + %cmp77 = icmp eq i32 %and76, 8192 + %call79 = call i32* @__errno_location() #25 + br i1 %cmp77, label %if.then78, label %if.else80 + +if.then78: ; preds = %sw.bb74 + store i32 22, i32* %call79, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else80: ; preds = %sw.bb74 + store i32 25, i32* %call79, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb82: ; preds = %NodeBlock1 + %56 = load i8*, i8** %buf, align 8 + %57 = bitcast i8* %56 to i32* + store i32* %57, i32** %res, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.20, i64 0, i64 0)) + %58 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode83 = getelementptr inbounds %struct.stat64, %struct.stat64* %58, i32 0, i32 3 + %59 = load i32, i32* %st_mode83, align 8 + %and84 = and i32 %59, 61440 + %cmp85 = icmp eq i32 %and84, 8192 + br i1 %cmp85, label %if.then86, label %if.else98 + +if.then86: ; preds = %sw.bb82 + %60 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %60, i32 0, i32 2 + %61 = load i64, i64* %off, align 8 + %62 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile87 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %62, i32 0, i32 3 + %63 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile87, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %63, i32 0, i32 0 + %64 = load i32, i32* %size, align 8 + %conv = zext i32 %64 to i64 + %cmp88 = icmp slt i64 %61, %conv + br i1 %cmp88, label %if.then90, label %if.else96 + +if.then90: ; preds = %if.then86 + %65 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile91 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %65, i32 0, i32 3 + %66 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile91, align 8 + %size92 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %66, i32 0, i32 0 + %67 = load i32, i32* %size92, align 8 + %conv93 = zext i32 %67 to i64 + %68 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off94 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %68, i32 0, i32 2 + %69 = load i64, i64* %off94, align 8 + %sub = sub nsw i64 %conv93, %69 + %conv95 = trunc i64 %sub to i32 + %70 = load i32*, i32** %res, align 8 + store i32 %conv95, i32* %70, align 4 + br label %if.end97 + +if.else96: ; preds = %if.then86 + %71 = load i32*, i32** %res, align 8 + store i32 0, i32* %71, align 4 + br label %if.end97 + +if.end97: ; preds = %if.else96, %if.then90 + store i32 0, i32* %retval, align 4 + br label %return + +if.else98: ; preds = %sw.bb82 + %call99 = call i32* @__errno_location() #25 + store i32 25, i32* %call99, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb100: ; preds = %NodeBlock + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.21, i64 0, i64 0)) + %call101 = call i32* @__errno_location() #25 + store i32 22, i32* %call101, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0)) + %call102 = call i32* @__errno_location() #25 + store i32 22, i32* %call102, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end103: ; preds = %vaarg.end + %fd104 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 0 + %72 = load i32, i32* %fd104, align 8 + %73 = load i64, i64* %request.addr, align 8 + %74 = load i8*, i8** %buf, align 8 + %call105 = call i64 (i64, ...) @syscall(i64 16, i32 %72, i64 %73, i8* %74) #11 + %conv106 = trunc i64 %call105 to i32 + store i32 %conv106, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end103, %sw.default, %sw.bb100, %if.else98, %if.end97, %if.else80, %if.then78, %if.else72, %if.then71, %if.else65, %if.then64, %if.else58, %if.then57, %if.else53, %if.then52, %if.else, %if.then10, %if.then + %75 = load i32, i32* %retval, align 4 + ret i32 %75 +} + +; Function Attrs: nounwind +declare void @llvm.va_start(i8*) #11 + +; Function Attrs: nounwind +declare void @llvm.va_end(i8*) #11 + +declare dso_local void @gs_warning_once(i8*) #5 + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fcntl(i32 %fd, i32 %cmd, ...) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %cmd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + %arg = alloca i32, align 4 + %lock = alloca %struct.flock*, align 8 + %flags = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %cmd, i32* %cmd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i32, i32* %cmd.addr, align 4 + %cmp = icmp eq i32 %2, 1 + %3 = load i32, i32* %cmd.addr, align 4 + %cmp2 = icmp eq i32 %3, 3 + %or.cond = or i1 %cmp, %cmp2 + %4 = load i32, i32* %cmd.addr, align 4 + %cmp4 = icmp eq i32 %4, 9 + %or.cond1 = or i1 %or.cond, %cmp4 + %5 = load i32, i32* %cmd.addr, align 4 + %cmp6 = icmp eq i32 %5, 11 + %or.cond2 = or i1 %or.cond1, %cmp6 + %6 = load i32, i32* %cmd.addr, align 4 + %cmp8 = icmp eq i32 %6, 1025 + %or.cond3 = or i1 %or.cond2, %cmp8 + %7 = load i32, i32* %cmd.addr, align 4 + %cmp10 = icmp eq i32 %7, 1026 + %or.cond4 = or i1 %or.cond3, %cmp10 + br i1 %or.cond4, label %if.then11, label %if.else + +if.then11: ; preds = %if.end + store i32 0, i32* %arg, align 4 + br label %if.end40 + +if.else: ; preds = %if.end + %8 = load i32, i32* %cmd.addr, align 4 + %cmp12 = icmp eq i32 %8, 5 + %9 = load i32, i32* %cmd.addr, align 4 + %cmp14 = icmp eq i32 %9, 6 + %or.cond5 = or i1 %cmp12, %cmp14 + %10 = load i32, i32* %cmd.addr, align 4 + %cmp16 = icmp eq i32 %10, 7 + %or.cond6 = or i1 %or.cond5, %cmp16 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay18 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay18) + %arraydecay19 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %or.cond6, label %if.then17, label %if.else22 + +if.then17: ; preds = %if.else + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then17 + %11 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 3 + %reg_save_area = load i8*, i8** %11, align 16 + %12 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %13 = bitcast i8* %12 to %struct.flock** + %14 = add i32 %gp_offset, 8 + store i32 %14, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then17 + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %15 = bitcast i8* %overflow_arg_area to %struct.flock** + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi %struct.flock** [ %13, %vaarg.in_reg ], [ %15, %vaarg.in_mem ] + %16 = load %struct.flock*, %struct.flock** %vaarg.addr, align 8 + store %struct.flock* %16, %struct.flock** %lock, align 8 + %arraydecay20 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay2021 = bitcast %struct.__va_list_tag.0* %arraydecay20 to i8* + call void @llvm.va_end(i8* %arraydecay2021) + br label %if.end40 + +if.else22: ; preds = %if.else + br i1 %fits_in_gp, label %vaarg.in_reg29, label %vaarg.in_mem31 + +vaarg.in_reg29: ; preds = %if.else22 + %17 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 3 + %reg_save_area30 = load i8*, i8** %17, align 16 + %18 = getelementptr i8, i8* %reg_save_area30, i32 %gp_offset + %19 = bitcast i8* %18 to i32* + %20 = add i32 %gp_offset, 8 + store i32 %20, i32* %gp_offset_p, align 16 + br label %vaarg.end35 + +vaarg.in_mem31: ; preds = %if.else22 + %overflow_arg_area_p32 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 2 + %overflow_arg_area33 = load i8*, i8** %overflow_arg_area_p32, align 8 + %21 = bitcast i8* %overflow_arg_area33 to i32* + %overflow_arg_area.next34 = getelementptr i8, i8* %overflow_arg_area33, i32 8 + store i8* %overflow_arg_area.next34, i8** %overflow_arg_area_p32, align 8 + br label %vaarg.end35 + +vaarg.end35: ; preds = %vaarg.in_mem31, %vaarg.in_reg29 + %vaarg.addr36 = phi i32* [ %19, %vaarg.in_reg29 ], [ %21, %vaarg.in_mem31 ] + %22 = load i32, i32* %vaarg.addr36, align 4 + store i32 %22, i32* %arg, align 4 + %arraydecay37 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay3738 = bitcast %struct.__va_list_tag.0* %arraydecay37 to i8* + call void @llvm.va_end(i8* %arraydecay3738) + br label %if.end40 + +if.end40: ; preds = %vaarg.end, %vaarg.end35, %if.then11 + %23 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %23, i32 0, i32 3 + %24 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool41 = icmp ne %struct.exe_disk_file_t* %24, null + br i1 %tobool41, label %if.then42, label %if.end60 + +if.then42: ; preds = %if.end40 + %25 = load i32, i32* %cmd.addr, align 4 + br label %NodeBlock13 + +NodeBlock13: ; preds = %if.then42 + %case.cmp14 = icmp eq i32 %25, 1 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %25, 2 + br i1 %case.cmp12, label %sw.bb47, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %25, 3 + br i1 %case.cmp10, label %sw.bb56, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %25, 5 + br i1 %case.cmp8, label %sw.bb57, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock7 + %case.cmp = icmp eq i32 %25, 6 + br i1 %case.cmp, label %sw.bb58, label %newDefault + +sw.bb: ; preds = %NodeBlock13 + store i32 0, i32* %flags, align 4 + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags43 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 1 + %27 = load i32, i32* %flags43, align 4 + %and = and i32 %27, 2 + %tobool44 = icmp ne i32 %and, 0 + br i1 %tobool44, label %if.then45, label %if.end46 + +if.then45: ; preds = %sw.bb + %28 = load i32, i32* %flags, align 4 + %or = or i32 %28, 1 + store i32 %or, i32* %flags, align 4 + br label %if.end46 + +if.end46: ; preds = %if.then45, %sw.bb + %29 = load i32, i32* %flags, align 4 + store i32 %29, i32* %retval, align 4 + br label %return + +sw.bb47: ; preds = %NodeBlock11 + %30 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags48 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %30, i32 0, i32 1 + %31 = load i32, i32* %flags48, align 4 + %and49 = and i32 %31, -3 + store i32 %and49, i32* %flags48, align 4 + %32 = load i32, i32* %arg, align 4 + %and50 = and i32 %32, 1 + %tobool51 = icmp ne i32 %and50, 0 + br i1 %tobool51, label %if.then52, label %if.end55 + +if.then52: ; preds = %sw.bb47 + %33 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags53 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %33, i32 0, i32 1 + %34 = load i32, i32* %flags53, align 4 + %or54 = or i32 %34, 2 + store i32 %or54, i32* %flags53, align 4 + br label %if.end55 + +if.end55: ; preds = %if.then52, %sw.bb47 + store i32 0, i32* %retval, align 4 + br label %return + +sw.bb56: ; preds = %NodeBlock9 + store i32 0, i32* %retval, align 4 + br label %return + +sw.bb57: ; preds = %NodeBlock7 + %35 = load %struct.flock*, %struct.flock** %lock, align 8 + %l_type = getelementptr inbounds %struct.flock, %struct.flock* %35, i32 0, i32 0 + store i16 2, i16* %l_type, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +sw.bb58: ; preds = %NodeBlock + store i32 0, i32* %retval, align 4 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0)) + %call59 = call i32* @__errno_location() #25 + store i32 22, i32* %call59, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end60: ; preds = %if.end40 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd61 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 0 + %37 = load i32, i32* %fd61, align 8 + %38 = load i32, i32* %cmd.addr, align 4 + %39 = load i32, i32* %arg, align 4 + %call62 = call i64 (i64, ...) @syscall(i64 72, i32 %37, i32 %38, i32 %39) #11 + %conv = trunc i64 %call62 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end60, %sw.default, %sw.bb58, %sw.bb57, %sw.bb56, %if.end55, %if.end46, %if.then + %40 = load i32, i32* %retval, align 4 + ret i32 %40 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_statfs(i8* %path, %struct.statfs* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.statfs*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.statfs* %buf, %struct.statfs** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0)) + %call1 = call i32* @__errno_location() #25 + store i32 2, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %2) + %3 = load %struct.statfs*, %struct.statfs** %buf.addr, align 8 + %call3 = call i64 (i64, ...) @syscall(i64 137, i8* %call2, %struct.statfs* %3) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstatfs(i32 %fd, %struct.statfs* nonnull %buf) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.statfs*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.statfs* %buf, %struct.statfs** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %if.end + call void @gs_warning(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.22, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 9, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd6, align 8 + %6 = load %struct.statfs*, %struct.statfs** %buf.addr, align 8 + %call7 = call i64 (i64, ...) @syscall(i64 138, i32 %5, %struct.statfs* %6) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %7 = load i32, i32* %retval, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fsync(i32 %fd) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.else + store i32 0, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %if.else + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd5 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd5, align 8 + %call6 = call i64 (i64, ...) @syscall(i64 74, i32 %5) #11 + %conv = trunc i64 %call6 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @dup2(i32 %oldfd, i32 %newfd) #3 { +entry: + %retval = alloca i32, align 4 + %oldfd.addr = alloca i32, align 4 + %newfd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %f2 = alloca %struct.exe_file_t*, align 8 + store i32 %oldfd, i32* %oldfd.addr, align 4 + store i32 %newfd, i32* %newfd.addr, align 4 + %0 = load i32, i32* %oldfd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + %2 = load i32, i32* %newfd.addr, align 4 + %cmp = icmp sge i32 %2, 0 + %or.cond = and i1 %tobool, %cmp + %3 = load i32, i32* %newfd.addr, align 4 + %cmp1 = icmp slt i32 %3, 32 + %or.cond1 = and i1 %or.cond, %cmp1 + br i1 %or.cond1, label %if.else, label %if.then + +if.then: ; preds = %entry + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %4 = load i32, i32* %newfd.addr, align 4 + %idxprom = sext i32 %4 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + store %struct.exe_file_t* %arrayidx, %struct.exe_file_t** %f2, align 8 + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f2, align 8 + %flags = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 1 + %6 = load i32, i32* %flags, align 4 + %and = and i32 %6, 1 + %tobool3 = icmp ne i32 %and, 0 + br i1 %tobool3, label %if.then4, label %if.end + +if.then4: ; preds = %if.else + %7 = load i32, i32* %newfd.addr, align 4 + %call5 = call i32 @close(i32 %7) + br label %if.end + +if.end: ; preds = %if.then4, %if.else + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f2, align 8 + %9 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %10 = bitcast %struct.exe_file_t* %8 to i8* + %11 = bitcast %struct.exe_file_t* %9 to i8* + %12 = call i8* @memcpy(i8* %10, i8* %11, i64 24) + %13 = load %struct.exe_file_t*, %struct.exe_file_t** %f2, align 8 + %flags6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %13, i32 0, i32 1 + %14 = load i32, i32* %flags6, align 4 + %and7 = and i32 %14, -3 + store i32 %and7, i32* %flags6, align 4 + %15 = load i32, i32* %newfd.addr, align 4 + store i32 %15, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %16 = load i32, i32* %retval, align 4 + ret i32 %16 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @dup(i32 %oldfd) #3 { +entry: + %retval = alloca i32, align 4 + %oldfd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %fd = alloca i32, align 4 + store i32 %oldfd, i32* %oldfd.addr, align 4 + %0 = load i32, i32* %oldfd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + store i32 0, i32* %fd, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.else + %2 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %2, 32 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %3 = load i32, i32* %fd, align 4 + %idxprom = sext i32 %3 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + %flags = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %arrayidx, i32 0, i32 1 + %4 = load i32, i32* %flags, align 4 + %and = and i32 %4, 1 + %tobool2 = icmp ne i32 %and, 0 + br i1 %tobool2, label %for.inc, label %for.end + +for.inc: ; preds = %for.body + %5 = load i32, i32* %fd, align 4 + %inc = add nsw i32 %5, 1 + store i32 %inc, i32* %fd, align 4 + br label %for.cond + +for.end: ; preds = %for.body, %for.cond + %6 = load i32, i32* %fd, align 4 + %cmp4 = icmp eq i32 %6, 32 + br i1 %cmp4, label %if.then5, label %if.else7 + +if.then5: ; preds = %for.end + %call6 = call i32* @__errno_location() #25 + store i32 24, i32* %call6, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else7: ; preds = %for.end + %7 = load i32, i32* %oldfd.addr, align 4 + %8 = load i32, i32* %fd, align 4 + %call8 = call i32 @dup2(i32 %7, i32 %8) #11 + store i32 %call8, i32* %retval, align 4 + br label %return + +return: ; preds = %if.else7, %if.then5, %if.then + %9 = load i32, i32* %retval, align 4 + ret i32 %9 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rmdir(i8* nonnull %pathname) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 16384 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %5, i32 0, i32 2 + %6 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 1 + store i64 0, i64* %st_ino, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %call3 = call i32* @__errno_location() #25 + store i32 20, i32* %call3, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 1, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.else, %if.then1 + %7 = load i32, i32* %retval, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @unlink(i8* nonnull %pathname) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 32768 + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %5, i32 0, i32 2 + %6 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 1 + store i64 0, i64* %st_ino, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %st_mode4 = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 3 + %7 = load i32, i32* %st_mode4, align 8 + %and5 = and i32 %7, 61440 + %cmp6 = icmp eq i32 %and5, 16384 + %call8 = call i32* @__errno_location() #25 + br i1 %cmp6, label %if.then7, label %if.else9 + +if.then7: ; preds = %if.else + store i32 21, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else9: ; preds = %if.else + store i32 1, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0)) + %call11 = call i32* @__errno_location() #25 + store i32 1, i32* %call11, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.else9, %if.then7, %if.then1 + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @unlinkat(i32 %dirfd, i8* nonnull %pathname, i32 %flags) #3 { +entry: + %retval = alloca i32, align 4 + %dirfd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i32 %dirfd, i32* %dirfd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 32768 + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %5, i32 0, i32 2 + %6 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 1 + store i64 0, i64* %st_ino, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %st_mode4 = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 3 + %7 = load i32, i32* %st_mode4, align 8 + %and5 = and i32 %7, 61440 + %cmp6 = icmp eq i32 %and5, 16384 + %call8 = call i32* @__errno_location() #25 + br i1 %cmp6, label %if.then7, label %if.else9 + +if.then7: ; preds = %if.else + store i32 21, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else9: ; preds = %if.else + store i32 1, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0)) + %call11 = call i32* @__errno_location() #25 + store i32 1, i32* %call11, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.else9, %if.then7, %if.then1 + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @readlink(i8* nonnull %path, i8* nonnull %buf, i64 %bufsize) #3 { +entry: + %retval = alloca i64, align 8 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end20 + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 40960 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %5 = load i8*, i8** %path.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 0 + %6 = load i8, i8* %arrayidx, align 1 + %7 = load i8*, i8** %buf.addr, align 8 + %arrayidx2 = getelementptr inbounds i8, i8* %7, i64 0 + store i8 %6, i8* %arrayidx2, align 1 + %8 = load i64, i64* %bufsize.addr, align 8 + %cmp3 = icmp ugt i64 %8, 1 + br i1 %cmp3, label %if.then4, label %if.end + +if.then4: ; preds = %if.then1 + %9 = load i8*, i8** %buf.addr, align 8 + %arrayidx5 = getelementptr inbounds i8, i8* %9, i64 1 + store i8 46, i8* %arrayidx5, align 1 + br label %if.end + +if.end: ; preds = %if.then4, %if.then1 + %10 = load i64, i64* %bufsize.addr, align 8 + %cmp6 = icmp ugt i64 %10, 2 + br i1 %cmp6, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end + %11 = load i8*, i8** %buf.addr, align 8 + %arrayidx8 = getelementptr inbounds i8, i8* %11, i64 2 + store i8 108, i8* %arrayidx8, align 1 + br label %if.end9 + +if.end9: ; preds = %if.then7, %if.end + %12 = load i64, i64* %bufsize.addr, align 8 + %cmp10 = icmp ugt i64 %12, 3 + br i1 %cmp10, label %if.then11, label %if.end13 + +if.then11: ; preds = %if.end9 + %13 = load i8*, i8** %buf.addr, align 8 + %arrayidx12 = getelementptr inbounds i8, i8* %13, i64 3 + store i8 110, i8* %arrayidx12, align 1 + br label %if.end13 + +if.end13: ; preds = %if.then11, %if.end9 + %14 = load i64, i64* %bufsize.addr, align 8 + %cmp14 = icmp ugt i64 %14, 4 + br i1 %cmp14, label %if.then15, label %if.end17 + +if.then15: ; preds = %if.end13 + %15 = load i8*, i8** %buf.addr, align 8 + %arrayidx16 = getelementptr inbounds i8, i8* %15, i64 4 + store i8 107, i8* %arrayidx16, align 1 + br label %if.end17 + +if.end17: ; preds = %if.then15, %if.end13 + %16 = load i64, i64* %bufsize.addr, align 8 + %cmp18 = icmp ugt i64 %16, 5 + %17 = load i64, i64* %bufsize.addr, align 8 + %cond = select i1 %cmp18, i64 5, i64 %17 + store i64 %cond, i64* %retval, align 8 + br label %return + +if.else: ; preds = %if.then + %call19 = call i32* @__errno_location() #25 + store i32 22, i32* %call19, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end20: ; preds = %entry + %18 = load i8*, i8** %path.addr, align 8 + %19 = load i8*, i8** %buf.addr, align 8 + %20 = load i64, i64* %bufsize.addr, align 8 + %call21 = call i64 (i64, ...) @syscall(i64 89, i8* %18, i8* %19, i64 %20) #11 + store i64 %call21, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end20, %if.else, %if.end17 + %21 = load i64, i64* %retval, align 8 + ret i64 %21 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @select(i32 %nfds, %struct.fd_set* %read, %struct.fd_set* %write, %struct.fd_set* %except, %struct.timespec* %timeout) #3 { +entry: + %retval = alloca i32, align 4 + %nfds.addr = alloca i32, align 4 + %read.addr = alloca %struct.fd_set*, align 8 + %write.addr = alloca %struct.fd_set*, align 8 + %except.addr = alloca %struct.fd_set*, align 8 + %timeout.addr = alloca %struct.timespec*, align 8 + %in_read = alloca %struct.fd_set, align 8 + %in_write = alloca %struct.fd_set, align 8 + %in_except = alloca %struct.fd_set, align 8 + %os_read = alloca %struct.fd_set, align 8 + %os_write = alloca %struct.fd_set, align 8 + %os_except = alloca %struct.fd_set, align 8 + %i = alloca i32, align 4 + %count = alloca i32, align 4 + %os_nfds = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %tv = alloca %struct.timespec, align 8 + %r = alloca i32, align 4 + %f182 = alloca %struct.exe_file_t*, align 8 + store i32 %nfds, i32* %nfds.addr, align 4 + store %struct.fd_set* %read, %struct.fd_set** %read.addr, align 8 + store %struct.fd_set* %write, %struct.fd_set** %write.addr, align 8 + store %struct.fd_set* %except, %struct.fd_set** %except.addr, align 8 + store %struct.timespec* %timeout, %struct.timespec** %timeout.addr, align 8 + store i32 0, i32* %count, align 4 + store i32 0, i32* %os_nfds, align 4 + %0 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %tobool = icmp ne %struct.fd_set* %0, null + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %entry + %1 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %2 = bitcast %struct.fd_set* %in_read to i8* + %3 = bitcast %struct.fd_set* %1 to i8* + %4 = call i8* @memcpy(i8* %2, i8* %3, i64 128) + %5 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %6 = bitcast %struct.fd_set* %5 to i8* + %7 = call i8* @memset(i8* %6, i32 0, i64 128) + br label %if.end + +if.else: ; preds = %entry + %8 = bitcast %struct.fd_set* %in_read to i8* + %9 = call i8* @memset(i8* %8, i32 0, i64 128) + br label %if.end + +if.end: ; preds = %if.else, %if.then + %10 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %tobool1 = icmp ne %struct.fd_set* %10, null + br i1 %tobool1, label %if.then2, label %if.else3 + +if.then2: ; preds = %if.end + %11 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %12 = bitcast %struct.fd_set* %in_write to i8* + %13 = bitcast %struct.fd_set* %11 to i8* + %14 = call i8* @memcpy(i8* %12, i8* %13, i64 128) + %15 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %16 = bitcast %struct.fd_set* %15 to i8* + %17 = call i8* @memset(i8* %16, i32 0, i64 128) + br label %if.end4 + +if.else3: ; preds = %if.end + %18 = bitcast %struct.fd_set* %in_write to i8* + %19 = call i8* @memset(i8* %18, i32 0, i64 128) + br label %if.end4 + +if.end4: ; preds = %if.else3, %if.then2 + %20 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %tobool5 = icmp ne %struct.fd_set* %20, null + br i1 %tobool5, label %if.then6, label %if.else7 + +if.then6: ; preds = %if.end4 + %21 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %22 = bitcast %struct.fd_set* %in_except to i8* + %23 = bitcast %struct.fd_set* %21 to i8* + %24 = call i8* @memcpy(i8* %22, i8* %23, i64 128) + %25 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %26 = bitcast %struct.fd_set* %25 to i8* + %27 = call i8* @memset(i8* %26, i32 0, i64 128) + br label %if.end8 + +if.else7: ; preds = %if.end4 + %28 = bitcast %struct.fd_set* %in_except to i8* + %29 = call i8* @memset(i8* %28, i32 0, i64 128) + br label %if.end8 + +if.end8: ; preds = %if.else7, %if.then6 + %30 = bitcast %struct.fd_set* %os_read to i8* + %31 = call i8* @memset(i8* %30, i32 0, i64 128) + %32 = bitcast %struct.fd_set* %os_write to i8* + %33 = call i8* @memset(i8* %32, i32 0, i64 128) + %34 = bitcast %struct.fd_set* %os_except to i8* + %35 = call i8* @memset(i8* %34, i32 0, i64 128) + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end8 + %36 = load i32, i32* %i, align 4 + %37 = load i32, i32* %nfds.addr, align 4 + %cmp = icmp slt i32 %36, %37 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %fds_bits = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_read, i32 0, i32 0 + %38 = load i32, i32* %i, align 4 + %div = sdiv i32 %38, 64 + %idxprom = sext i32 %div to i64 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits, i64 0, i64 %idxprom + %39 = load i64, i64* %arrayidx, align 8 + %40 = load i32, i32* %i, align 4 + %rem = srem i32 %40, 64 + %shl = shl i32 1, %rem + %conv = sext i32 %shl to i64 + %and = and i64 %39, %conv + %tobool9 = icmp ne i64 %and, 0 + br i1 %tobool9, label %if.then29, label %lor.lhs.false + +lor.lhs.false: ; preds = %for.body + %fds_bits10 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_write, i32 0, i32 0 + %41 = load i32, i32* %i, align 4 + %div11 = sdiv i32 %41, 64 + %idxprom12 = sext i32 %div11 to i64 + %arrayidx13 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits10, i64 0, i64 %idxprom12 + %42 = load i64, i64* %arrayidx13, align 8 + %43 = load i32, i32* %i, align 4 + %rem14 = srem i32 %43, 64 + %shl15 = shl i32 1, %rem14 + %conv16 = sext i32 %shl15 to i64 + %and17 = and i64 %42, %conv16 + %tobool18 = icmp ne i64 %and17, 0 + br i1 %tobool18, label %if.then29, label %lor.lhs.false19 + +lor.lhs.false19: ; preds = %lor.lhs.false + %fds_bits20 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_except, i32 0, i32 0 + %44 = load i32, i32* %i, align 4 + %div21 = sdiv i32 %44, 64 + %idxprom22 = sext i32 %div21 to i64 + %arrayidx23 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits20, i64 0, i64 %idxprom22 + %45 = load i64, i64* %arrayidx23, align 8 + %46 = load i32, i32* %i, align 4 + %rem24 = srem i32 %46, 64 + %shl25 = shl i32 1, %rem24 + %conv26 = sext i32 %shl25 to i64 + %and27 = and i64 %45, %conv26 + %tobool28 = icmp ne i64 %and27, 0 + br i1 %tobool28, label %if.then29, label %for.inc + +if.then29: ; preds = %lor.lhs.false19, %lor.lhs.false, %for.body + %47 = load i32, i32* %i, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %47) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %48 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool30 = icmp ne %struct.exe_file_t* %48, null + br i1 %tobool30, label %if.else33, label %if.then31 + +if.then31: ; preds = %if.then29 + %call32 = call i32* @__errno_location() #25 + store i32 9, i32* %call32, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else33: ; preds = %if.then29 + %49 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %49, i32 0, i32 3 + %50 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool34 = icmp ne %struct.exe_disk_file_t* %50, null + %fds_bits36 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_read, i32 0, i32 0 + %51 = load i32, i32* %i, align 4 + %div37 = sdiv i32 %51, 64 + %idxprom38 = sext i32 %div37 to i64 + %arrayidx39 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits36, i64 0, i64 %idxprom38 + %52 = load i64, i64* %arrayidx39, align 8 + %53 = load i32, i32* %i, align 4 + %rem40 = srem i32 %53, 64 + %shl41 = shl i32 1, %rem40 + %conv42 = sext i32 %shl41 to i64 + %and43 = and i64 %52, %conv42 + %tobool44 = icmp ne i64 %and43, 0 + br i1 %tobool34, label %if.then35, label %if.else92 + +if.then35: ; preds = %if.else33 + br i1 %tobool44, label %if.then45, label %if.end53 + +if.then45: ; preds = %if.then35 + %54 = load i32, i32* %i, align 4 + %rem46 = srem i32 %54, 64 + %shl47 = shl i32 1, %rem46 + %conv48 = sext i32 %shl47 to i64 + %55 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %fds_bits49 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %55, i32 0, i32 0 + %56 = load i32, i32* %i, align 4 + %div50 = sdiv i32 %56, 64 + %idxprom51 = sext i32 %div50 to i64 + %arrayidx52 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits49, i64 0, i64 %idxprom51 + %57 = load i64, i64* %arrayidx52, align 8 + %or = or i64 %57, %conv48 + store i64 %or, i64* %arrayidx52, align 8 + br label %if.end53 + +if.end53: ; preds = %if.then45, %if.then35 + %fds_bits54 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_write, i32 0, i32 0 + %58 = load i32, i32* %i, align 4 + %div55 = sdiv i32 %58, 64 + %idxprom56 = sext i32 %div55 to i64 + %arrayidx57 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits54, i64 0, i64 %idxprom56 + %59 = load i64, i64* %arrayidx57, align 8 + %60 = load i32, i32* %i, align 4 + %rem58 = srem i32 %60, 64 + %shl59 = shl i32 1, %rem58 + %conv60 = sext i32 %shl59 to i64 + %and61 = and i64 %59, %conv60 + %tobool62 = icmp ne i64 %and61, 0 + br i1 %tobool62, label %if.then63, label %if.end72 + +if.then63: ; preds = %if.end53 + %61 = load i32, i32* %i, align 4 + %rem64 = srem i32 %61, 64 + %shl65 = shl i32 1, %rem64 + %conv66 = sext i32 %shl65 to i64 + %62 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %fds_bits67 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %62, i32 0, i32 0 + %63 = load i32, i32* %i, align 4 + %div68 = sdiv i32 %63, 64 + %idxprom69 = sext i32 %div68 to i64 + %arrayidx70 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits67, i64 0, i64 %idxprom69 + %64 = load i64, i64* %arrayidx70, align 8 + %or71 = or i64 %64, %conv66 + store i64 %or71, i64* %arrayidx70, align 8 + br label %if.end72 + +if.end72: ; preds = %if.then63, %if.end53 + %fds_bits73 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_except, i32 0, i32 0 + %65 = load i32, i32* %i, align 4 + %div74 = sdiv i32 %65, 64 + %idxprom75 = sext i32 %div74 to i64 + %arrayidx76 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits73, i64 0, i64 %idxprom75 + %66 = load i64, i64* %arrayidx76, align 8 + %67 = load i32, i32* %i, align 4 + %rem77 = srem i32 %67, 64 + %shl78 = shl i32 1, %rem77 + %conv79 = sext i32 %shl78 to i64 + %and80 = and i64 %66, %conv79 + %tobool81 = icmp ne i64 %and80, 0 + br i1 %tobool81, label %if.then82, label %if.end91 + +if.then82: ; preds = %if.end72 + %68 = load i32, i32* %i, align 4 + %rem83 = srem i32 %68, 64 + %shl84 = shl i32 1, %rem83 + %conv85 = sext i32 %shl84 to i64 + %69 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %fds_bits86 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %69, i32 0, i32 0 + %70 = load i32, i32* %i, align 4 + %div87 = sdiv i32 %70, 64 + %idxprom88 = sext i32 %div87 to i64 + %arrayidx89 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits86, i64 0, i64 %idxprom88 + %71 = load i64, i64* %arrayidx89, align 8 + %or90 = or i64 %71, %conv85 + store i64 %or90, i64* %arrayidx89, align 8 + br label %if.end91 + +if.end91: ; preds = %if.then82, %if.end72 + %72 = load i32, i32* %count, align 4 + %inc = add nsw i32 %72, 1 + store i32 %inc, i32* %count, align 4 + br label %for.inc + +if.else92: ; preds = %if.else33 + br i1 %tobool44, label %if.then102, label %if.end112 + +if.then102: ; preds = %if.else92 + %73 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %73, i32 0, i32 0 + %74 = load i32, i32* %fd, align 8 + %rem103 = srem i32 %74, 64 + %shl104 = shl i32 1, %rem103 + %conv105 = sext i32 %shl104 to i64 + %fds_bits106 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_read, i32 0, i32 0 + %75 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd107 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %75, i32 0, i32 0 + %76 = load i32, i32* %fd107, align 8 + %div108 = sdiv i32 %76, 64 + %idxprom109 = sext i32 %div108 to i64 + %arrayidx110 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits106, i64 0, i64 %idxprom109 + %77 = load i64, i64* %arrayidx110, align 8 + %or111 = or i64 %77, %conv105 + store i64 %or111, i64* %arrayidx110, align 8 + br label %if.end112 + +if.end112: ; preds = %if.then102, %if.else92 + %fds_bits113 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_write, i32 0, i32 0 + %78 = load i32, i32* %i, align 4 + %div114 = sdiv i32 %78, 64 + %idxprom115 = sext i32 %div114 to i64 + %arrayidx116 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits113, i64 0, i64 %idxprom115 + %79 = load i64, i64* %arrayidx116, align 8 + %80 = load i32, i32* %i, align 4 + %rem117 = srem i32 %80, 64 + %shl118 = shl i32 1, %rem117 + %conv119 = sext i32 %shl118 to i64 + %and120 = and i64 %79, %conv119 + %tobool121 = icmp ne i64 %and120, 0 + br i1 %tobool121, label %if.then122, label %if.end133 + +if.then122: ; preds = %if.end112 + %81 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd123 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %81, i32 0, i32 0 + %82 = load i32, i32* %fd123, align 8 + %rem124 = srem i32 %82, 64 + %shl125 = shl i32 1, %rem124 + %conv126 = sext i32 %shl125 to i64 + %fds_bits127 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_write, i32 0, i32 0 + %83 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd128 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %83, i32 0, i32 0 + %84 = load i32, i32* %fd128, align 8 + %div129 = sdiv i32 %84, 64 + %idxprom130 = sext i32 %div129 to i64 + %arrayidx131 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits127, i64 0, i64 %idxprom130 + %85 = load i64, i64* %arrayidx131, align 8 + %or132 = or i64 %85, %conv126 + store i64 %or132, i64* %arrayidx131, align 8 + br label %if.end133 + +if.end133: ; preds = %if.then122, %if.end112 + %fds_bits134 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_except, i32 0, i32 0 + %86 = load i32, i32* %i, align 4 + %div135 = sdiv i32 %86, 64 + %idxprom136 = sext i32 %div135 to i64 + %arrayidx137 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits134, i64 0, i64 %idxprom136 + %87 = load i64, i64* %arrayidx137, align 8 + %88 = load i32, i32* %i, align 4 + %rem138 = srem i32 %88, 64 + %shl139 = shl i32 1, %rem138 + %conv140 = sext i32 %shl139 to i64 + %and141 = and i64 %87, %conv140 + %tobool142 = icmp ne i64 %and141, 0 + br i1 %tobool142, label %if.then143, label %if.end154 + +if.then143: ; preds = %if.end133 + %89 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd144 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %89, i32 0, i32 0 + %90 = load i32, i32* %fd144, align 8 + %rem145 = srem i32 %90, 64 + %shl146 = shl i32 1, %rem145 + %conv147 = sext i32 %shl146 to i64 + %fds_bits148 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_except, i32 0, i32 0 + %91 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd149 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %91, i32 0, i32 0 + %92 = load i32, i32* %fd149, align 8 + %div150 = sdiv i32 %92, 64 + %idxprom151 = sext i32 %div150 to i64 + %arrayidx152 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits148, i64 0, i64 %idxprom151 + %93 = load i64, i64* %arrayidx152, align 8 + %or153 = or i64 %93, %conv147 + store i64 %or153, i64* %arrayidx152, align 8 + br label %if.end154 + +if.end154: ; preds = %if.then143, %if.end133 + %94 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd155 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %94, i32 0, i32 0 + %95 = load i32, i32* %fd155, align 8 + %96 = load i32, i32* %os_nfds, align 4 + %cmp156 = icmp sge i32 %95, %96 + br i1 %cmp156, label %if.then158, label %for.inc + +if.then158: ; preds = %if.end154 + %97 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd159 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %97, i32 0, i32 0 + %98 = load i32, i32* %fd159, align 8 + %add = add nsw i32 %98, 1 + store i32 %add, i32* %os_nfds, align 4 + br label %for.inc + +for.inc: ; preds = %lor.lhs.false19, %if.end91, %if.then158, %if.end154 + %99 = load i32, i32* %i, align 4 + %inc164 = add nsw i32 %99, 1 + store i32 %inc164, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %100 = load i32, i32* %os_nfds, align 4 + %cmp165 = icmp sgt i32 %100, 0 + br i1 %cmp165, label %if.then167, label %if.end262 + +if.then167: ; preds = %for.end + %101 = bitcast %struct.timespec* %tv to i8* + %102 = call i8* @memset(i8* %101, i32 0, i64 16) + %103 = load i32, i32* %os_nfds, align 4 + %call168 = call i64 (i64, ...) @syscall(i64 23, i32 %103, %struct.fd_set* %os_read, %struct.fd_set* %os_write, %struct.fd_set* %os_except, %struct.timespec* %tv) #11 + %conv169 = trunc i64 %call168 to i32 + store i32 %conv169, i32* %r, align 4 + %104 = load i32, i32* %r, align 4 + %cmp170 = icmp eq i32 %104, -1 + br i1 %cmp170, label %if.then172, label %if.else176 + +if.then172: ; preds = %if.then167 + %105 = load i32, i32* %count, align 4 + %tobool173 = icmp ne i32 %105, 0 + br i1 %tobool173, label %if.end262, label %if.then174 + +if.then174: ; preds = %if.then172 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else176: ; preds = %if.then167 + %106 = load i32, i32* %r, align 4 + %107 = load i32, i32* %count, align 4 + %add177 = add nsw i32 %107, %106 + store i32 %add177, i32* %count, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond178 + +for.cond178: ; preds = %for.inc258, %if.else176 + %108 = load i32, i32* %i, align 4 + %109 = load i32, i32* %nfds.addr, align 4 + %cmp179 = icmp slt i32 %108, %109 + br i1 %cmp179, label %for.body181, label %if.end262 + +for.body181: ; preds = %for.cond178 + %110 = load i32, i32* %i, align 4 + %call183 = call %struct.exe_file_t* @__get_file(i32 %110) + store %struct.exe_file_t* %call183, %struct.exe_file_t** %f182, align 8 + %111 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %tobool184 = icmp ne %struct.exe_file_t* %111, null + br i1 %tobool184, label %land.lhs.true, label %for.inc258 + +land.lhs.true: ; preds = %for.body181 + %112 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %dfile185 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %112, i32 0, i32 3 + %113 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile185, align 8 + %tobool186 = icmp ne %struct.exe_disk_file_t* %113, null + br i1 %tobool186, label %for.inc258, label %if.then187 + +if.then187: ; preds = %land.lhs.true + %114 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %tobool188 = icmp ne %struct.fd_set* %114, null + br i1 %tobool188, label %land.lhs.true189, label %if.end210 + +land.lhs.true189: ; preds = %if.then187 + %fds_bits190 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_read, i32 0, i32 0 + %115 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd191 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %115, i32 0, i32 0 + %116 = load i32, i32* %fd191, align 8 + %div192 = sdiv i32 %116, 64 + %idxprom193 = sext i32 %div192 to i64 + %arrayidx194 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits190, i64 0, i64 %idxprom193 + %117 = load i64, i64* %arrayidx194, align 8 + %118 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd195 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %118, i32 0, i32 0 + %119 = load i32, i32* %fd195, align 8 + %rem196 = srem i32 %119, 64 + %shl197 = shl i32 1, %rem196 + %conv198 = sext i32 %shl197 to i64 + %and199 = and i64 %117, %conv198 + %tobool200 = icmp ne i64 %and199, 0 + br i1 %tobool200, label %if.then201, label %if.end210 + +if.then201: ; preds = %land.lhs.true189 + %120 = load i32, i32* %i, align 4 + %rem202 = srem i32 %120, 64 + %shl203 = shl i32 1, %rem202 + %conv204 = sext i32 %shl203 to i64 + %121 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %fds_bits205 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %121, i32 0, i32 0 + %122 = load i32, i32* %i, align 4 + %div206 = sdiv i32 %122, 64 + %idxprom207 = sext i32 %div206 to i64 + %arrayidx208 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits205, i64 0, i64 %idxprom207 + %123 = load i64, i64* %arrayidx208, align 8 + %or209 = or i64 %123, %conv204 + store i64 %or209, i64* %arrayidx208, align 8 + br label %if.end210 + +if.end210: ; preds = %if.then201, %land.lhs.true189, %if.then187 + %124 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %tobool211 = icmp ne %struct.fd_set* %124, null + br i1 %tobool211, label %land.lhs.true212, label %if.end233 + +land.lhs.true212: ; preds = %if.end210 + %fds_bits213 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_write, i32 0, i32 0 + %125 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd214 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %125, i32 0, i32 0 + %126 = load i32, i32* %fd214, align 8 + %div215 = sdiv i32 %126, 64 + %idxprom216 = sext i32 %div215 to i64 + %arrayidx217 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits213, i64 0, i64 %idxprom216 + %127 = load i64, i64* %arrayidx217, align 8 + %128 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd218 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %128, i32 0, i32 0 + %129 = load i32, i32* %fd218, align 8 + %rem219 = srem i32 %129, 64 + %shl220 = shl i32 1, %rem219 + %conv221 = sext i32 %shl220 to i64 + %and222 = and i64 %127, %conv221 + %tobool223 = icmp ne i64 %and222, 0 + br i1 %tobool223, label %if.then224, label %if.end233 + +if.then224: ; preds = %land.lhs.true212 + %130 = load i32, i32* %i, align 4 + %rem225 = srem i32 %130, 64 + %shl226 = shl i32 1, %rem225 + %conv227 = sext i32 %shl226 to i64 + %131 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %fds_bits228 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %131, i32 0, i32 0 + %132 = load i32, i32* %i, align 4 + %div229 = sdiv i32 %132, 64 + %idxprom230 = sext i32 %div229 to i64 + %arrayidx231 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits228, i64 0, i64 %idxprom230 + %133 = load i64, i64* %arrayidx231, align 8 + %or232 = or i64 %133, %conv227 + store i64 %or232, i64* %arrayidx231, align 8 + br label %if.end233 + +if.end233: ; preds = %if.then224, %land.lhs.true212, %if.end210 + %134 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %tobool234 = icmp ne %struct.fd_set* %134, null + br i1 %tobool234, label %land.lhs.true235, label %for.inc258 + +land.lhs.true235: ; preds = %if.end233 + %fds_bits236 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_except, i32 0, i32 0 + %135 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd237 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %135, i32 0, i32 0 + %136 = load i32, i32* %fd237, align 8 + %div238 = sdiv i32 %136, 64 + %idxprom239 = sext i32 %div238 to i64 + %arrayidx240 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits236, i64 0, i64 %idxprom239 + %137 = load i64, i64* %arrayidx240, align 8 + %138 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd241 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %138, i32 0, i32 0 + %139 = load i32, i32* %fd241, align 8 + %rem242 = srem i32 %139, 64 + %shl243 = shl i32 1, %rem242 + %conv244 = sext i32 %shl243 to i64 + %and245 = and i64 %137, %conv244 + %tobool246 = icmp ne i64 %and245, 0 + br i1 %tobool246, label %if.then247, label %for.inc258 + +if.then247: ; preds = %land.lhs.true235 + %140 = load i32, i32* %i, align 4 + %rem248 = srem i32 %140, 64 + %shl249 = shl i32 1, %rem248 + %conv250 = sext i32 %shl249 to i64 + %141 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %fds_bits251 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %141, i32 0, i32 0 + %142 = load i32, i32* %i, align 4 + %div252 = sdiv i32 %142, 64 + %idxprom253 = sext i32 %div252 to i64 + %arrayidx254 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits251, i64 0, i64 %idxprom253 + %143 = load i64, i64* %arrayidx254, align 8 + %or255 = or i64 %143, %conv250 + store i64 %or255, i64* %arrayidx254, align 8 + br label %for.inc258 + +for.inc258: ; preds = %for.body181, %land.lhs.true, %if.then247, %land.lhs.true235, %if.end233 + %144 = load i32, i32* %i, align 4 + %inc259 = add nsw i32 %144, 1 + store i32 %inc259, i32* %i, align 4 + br label %for.cond178 + +if.end262: ; preds = %if.then172, %for.cond178, %for.end + %145 = load i32, i32* %count, align 4 + store i32 %145, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end262, %if.then174, %if.then31 + %146 = load i32, i32* %retval, align 4 + ret i32 %146 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chroot(i8* nonnull %path) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %0, i64 0 + %1 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call = call i32* @__errno_location() #25 + store i32 2, i32* %call, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %path.addr, align 8 + %arrayidx2 = getelementptr inbounds i8, i8* %2, i64 0 + %3 = load i8, i8* %arrayidx2, align 1 + %conv3 = sext i8 %3 to i32 + %cmp4 = icmp eq i32 %conv3, 47 + br i1 %cmp4, label %land.lhs.true, label %if.end11 + +land.lhs.true: ; preds = %if.end + %4 = load i8*, i8** %path.addr, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %4, i64 1 + %5 = load i8, i8* %arrayidx6, align 1 + %conv7 = sext i8 %5 to i32 + %cmp8 = icmp eq i32 %conv7, 0 + br i1 %cmp8, label %if.then10, label %if.end11 + +if.then10: ; preds = %land.lhs.true + store i32 0, i32* %retval, align 4 + br label %return + +if.end11: ; preds = %land.lhs.true, %if.end + call void @gs_warning(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.24, i64 0, i64 0)) + %call12 = call i32* @__errno_location() #25 + store i32 2, i32* %call12, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end11, %if.then10, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @open(i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i8*, i8** %pathname.addr, align 8 + %8 = load i32, i32* %flags.addr, align 4 + %9 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_open(i8* %7, i32 %8, i32 %9) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @openat(i32 %fd, i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %fd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i32, i32* %fd.addr, align 4 + %8 = load i8*, i8** %pathname.addr, align 8 + %9 = load i32, i32* %flags.addr, align 4 + %10 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_openat(i32 %7, i8* %8, i32 %9, i32 %10) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @lseek(i32 %fd, i64 %off, i32 %whence) #3 { +entry: + %fd.addr = alloca i32, align 4 + %off.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %off, i64* %off.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %off.addr, align 8 + %2 = load i32, i32* %whence.addr, align 4 + %call = call i64 @__fd_lseek(i32 %0, i64 %1, i32 %2) + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__xstat(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__stat64_to_stat(%struct.stat64* %a, %struct.stat64* %b) #3 { +entry: + %a.addr = alloca %struct.stat64*, align 8 + %b.addr = alloca %struct.stat64*, align 8 + store %struct.stat64* %a, %struct.stat64** %a.addr, align 8 + store %struct.stat64* %b, %struct.stat64** %b.addr, align 8 + %0 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_dev = getelementptr inbounds %struct.stat64, %struct.stat64* %0, i32 0, i32 0 + %1 = load i64, i64* %st_dev, align 8 + %2 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_dev1 = getelementptr inbounds %struct.stat64, %struct.stat64* %2, i32 0, i32 0 + store i64 %1, i64* %st_dev1, align 8 + %3 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 1 + %4 = load i64, i64* %st_ino, align 8 + %5 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_ino2 = getelementptr inbounds %struct.stat64, %struct.stat64* %5, i32 0, i32 1 + store i64 %4, i64* %st_ino2, align 8 + %6 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 3 + %7 = load i32, i32* %st_mode, align 8 + %8 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_mode3 = getelementptr inbounds %struct.stat64, %struct.stat64* %8, i32 0, i32 3 + store i32 %7, i32* %st_mode3, align 8 + %9 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_nlink = getelementptr inbounds %struct.stat64, %struct.stat64* %9, i32 0, i32 2 + %10 = load i64, i64* %st_nlink, align 8 + %11 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_nlink4 = getelementptr inbounds %struct.stat64, %struct.stat64* %11, i32 0, i32 2 + store i64 %10, i64* %st_nlink4, align 8 + %12 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_uid = getelementptr inbounds %struct.stat64, %struct.stat64* %12, i32 0, i32 4 + %13 = load i32, i32* %st_uid, align 4 + %14 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_uid5 = getelementptr inbounds %struct.stat64, %struct.stat64* %14, i32 0, i32 4 + store i32 %13, i32* %st_uid5, align 4 + %15 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_gid = getelementptr inbounds %struct.stat64, %struct.stat64* %15, i32 0, i32 5 + %16 = load i32, i32* %st_gid, align 8 + %17 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_gid6 = getelementptr inbounds %struct.stat64, %struct.stat64* %17, i32 0, i32 5 + store i32 %16, i32* %st_gid6, align 8 + %18 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_rdev = getelementptr inbounds %struct.stat64, %struct.stat64* %18, i32 0, i32 7 + %19 = load i64, i64* %st_rdev, align 8 + %20 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_rdev7 = getelementptr inbounds %struct.stat64, %struct.stat64* %20, i32 0, i32 7 + store i64 %19, i64* %st_rdev7, align 8 + %21 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_size = getelementptr inbounds %struct.stat64, %struct.stat64* %21, i32 0, i32 8 + %22 = load i64, i64* %st_size, align 8 + %23 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_size8 = getelementptr inbounds %struct.stat64, %struct.stat64* %23, i32 0, i32 8 + store i64 %22, i64* %st_size8, align 8 + %24 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_atim = getelementptr inbounds %struct.stat64, %struct.stat64* %24, i32 0, i32 11 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim, i32 0, i32 0 + %25 = load i64, i64* %tv_sec, align 8 + %26 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_atim9 = getelementptr inbounds %struct.stat64, %struct.stat64* %26, i32 0, i32 11 + %tv_sec10 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim9, i32 0, i32 0 + store i64 %25, i64* %tv_sec10, align 8 + %27 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_mtim = getelementptr inbounds %struct.stat64, %struct.stat64* %27, i32 0, i32 12 + %tv_sec11 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim, i32 0, i32 0 + %28 = load i64, i64* %tv_sec11, align 8 + %29 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_mtim12 = getelementptr inbounds %struct.stat64, %struct.stat64* %29, i32 0, i32 12 + %tv_sec13 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim12, i32 0, i32 0 + store i64 %28, i64* %tv_sec13, align 8 + %30 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_ctim = getelementptr inbounds %struct.stat64, %struct.stat64* %30, i32 0, i32 13 + %tv_sec14 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim, i32 0, i32 0 + %31 = load i64, i64* %tv_sec14, align 8 + %32 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_ctim15 = getelementptr inbounds %struct.stat64, %struct.stat64* %32, i32 0, i32 13 + %tv_sec16 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim15, i32 0, i32 0 + store i64 %31, i64* %tv_sec16, align 8 + %33 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_blksize = getelementptr inbounds %struct.stat64, %struct.stat64* %33, i32 0, i32 9 + %34 = load i64, i64* %st_blksize, align 8 + %35 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_blksize17 = getelementptr inbounds %struct.stat64, %struct.stat64* %35, i32 0, i32 9 + store i64 %34, i64* %st_blksize17, align 8 + %36 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_blocks = getelementptr inbounds %struct.stat64, %struct.stat64* %36, i32 0, i32 10 + %37 = load i64, i64* %st_blocks, align 8 + %38 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_blocks18 = getelementptr inbounds %struct.stat64, %struct.stat64* %38, i32 0, i32 10 + store i64 %37, i64* %st_blocks18, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @stat(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__lxstat(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @lstat(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fxstat(i32 %vers, i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %vers, i32* %vers.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstat(i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @ftruncate(i32 %fd, i64 %length) #3 { +entry: + %fd.addr = alloca i32, align 4 + %length.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %length, i64* %length.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %length.addr, align 8 + %call = call i32 @__fd_ftruncate(i32 %0, i64 %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @statfs(i8* nonnull %path, %struct.statfs* nonnull %buf32) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf32.addr = alloca %struct.statfs*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.statfs* %buf32, %struct.statfs** %buf32.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.statfs*, %struct.statfs** %buf32.addr, align 8 + %call = call i32 @__fd_statfs(i8* %0, %struct.statfs* %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @getdents(i32 %fd, %struct.dirent64* %dirp, i64 %nbytes) #3 { +entry: + %fd.addr = alloca i32, align 4 + %dirp.addr = alloca %struct.dirent64*, align 8 + %nbytes.addr = alloca i64, align 8 + %dp64 = alloca %struct.dirent64*, align 8 + %res = alloca i64, align 8 + %end = alloca %struct.dirent64*, align 8 + %dp = alloca %struct.dirent64*, align 8 + %name_len = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.dirent64* %dirp, %struct.dirent64** %dirp.addr, align 8 + store i64 %nbytes, i64* %nbytes.addr, align 8 + %0 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %1 = bitcast %struct.dirent64* %0 to %struct.dirent64* + store %struct.dirent64* %1, %struct.dirent64** %dp64, align 8 + %2 = load i32, i32* %fd.addr, align 4 + %3 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %4 = load i64, i64* %nbytes.addr, align 8 + %conv = trunc i64 %4 to i32 + %call = call i32 @__fd_getdents(i32 %2, %struct.dirent64* %3, i32 %conv) + %conv1 = sext i32 %call to i64 + store i64 %conv1, i64* %res, align 8 + %5 = load i64, i64* %res, align 8 + %cmp = icmp sgt i64 %5, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %6 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %7 = bitcast %struct.dirent64* %6 to i8* + %8 = load i64, i64* %res, align 8 + %add.ptr = getelementptr inbounds i8, i8* %7, i64 %8 + %9 = bitcast i8* %add.ptr to %struct.dirent64* + store %struct.dirent64* %9, %struct.dirent64** %end, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.then + %10 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %11 = load %struct.dirent64*, %struct.dirent64** %end, align 8 + %cmp3 = icmp ult %struct.dirent64* %10, %11 + br i1 %cmp3, label %while.body, label %if.end + +while.body: ; preds = %while.cond + %12 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %13 = bitcast %struct.dirent64* %12 to %struct.dirent64* + store %struct.dirent64* %13, %struct.dirent64** %dp, align 8 + %14 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_reclen = getelementptr inbounds %struct.dirent64, %struct.dirent64* %14, i32 0, i32 2 + %15 = load i16, i16* %d_reclen, align 8 + %conv5 = zext i16 %15 to i64 + %sub = sub i64 %conv5, ptrtoint ([256 x i8]* getelementptr inbounds (%struct.dirent64, %struct.dirent64* null, i32 0, i32 4) to i64) + store i64 %sub, i64* %name_len, align 8 + %16 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_ino = getelementptr inbounds %struct.dirent64, %struct.dirent64* %16, i32 0, i32 0 + %17 = load i64, i64* %d_ino, align 8 + %18 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_ino6 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %18, i32 0, i32 0 + store i64 %17, i64* %d_ino6, align 8 + %19 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_off = getelementptr inbounds %struct.dirent64, %struct.dirent64* %19, i32 0, i32 1 + %20 = load i64, i64* %d_off, align 8 + %21 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_off7 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %21, i32 0, i32 1 + store i64 %20, i64* %d_off7, align 8 + %22 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_reclen8 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %22, i32 0, i32 2 + %23 = load i16, i16* %d_reclen8, align 8 + %24 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_reclen9 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %24, i32 0, i32 2 + store i16 %23, i16* %d_reclen9, align 8 + %25 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_type = getelementptr inbounds %struct.dirent64, %struct.dirent64* %25, i32 0, i32 3 + %26 = load i8, i8* %d_type, align 2 + %27 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_type10 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %27, i32 0, i32 3 + store i8 %26, i8* %d_type10, align 2 + %28 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_name = getelementptr inbounds %struct.dirent64, %struct.dirent64* %28, i32 0, i32 4 + %arraydecay = getelementptr inbounds [256 x i8], [256 x i8]* %d_name, i64 0, i64 0 + %29 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_name11 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %29, i32 0, i32 4 + %arraydecay12 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name11, i64 0, i64 0 + %30 = load i64, i64* %name_len, align 8 + %31 = call i8* @memmove(i8* %arraydecay, i8* %arraydecay12, i64 %30) + %32 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %33 = bitcast %struct.dirent64* %32 to i8* + %34 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_reclen13 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %34, i32 0, i32 2 + %35 = load i16, i16* %d_reclen13, align 8 + %conv14 = zext i16 %35 to i32 + %idx.ext = sext i32 %conv14 to i64 + %add.ptr15 = getelementptr inbounds i8, i8* %33, i64 %idx.ext + %36 = bitcast i8* %add.ptr15 to %struct.dirent64* + store %struct.dirent64* %36, %struct.dirent64** %dp64, align 8 + br label %while.cond + +if.end: ; preds = %while.cond, %entry + %37 = load i64, i64* %res, align 8 + ret i64 %37 +} + +; Function Attrs: argmemonly nounwind willreturn +declare void @llvm.memmove.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i1 immarg) #9 + +; Function Attrs: noinline nounwind uwtable +define dso_local void @klee_init_env(i32* %argcPtr, i8*** %argvPtr) #3 { +entry: + %argcPtr.addr = alloca i32*, align 8 + %argvPtr.addr = alloca i8***, align 8 + %argc = alloca i32, align 4 + %argv = alloca i8**, align 8 + %new_argc = alloca i32, align 4 + %n_args = alloca i32, align 4 + %new_argv = alloca [1024 x i8*], align 16 + %max_len = alloca i32, align 4 + %min_argvs = alloca i32, align 4 + %max_argvs = alloca i32, align 4 + %sym_files = alloca i32, align 4 + %sym_file_len = alloca i32, align 4 + %sym_stdin_len = alloca i32, align 4 + %sym_stdout_flag = alloca i32, align 4 + %save_all_writes_flag = alloca i32, align 4 + %fd_fail = alloca i32, align 4 + %final_argv = alloca i8**, align 8 + %sym_arg_name = alloca [6 x i8], align 1 + %sym_arg_num = alloca i32, align 4 + %k = alloca i32, align 4 + %i = alloca i32, align 4 + %msg = alloca i8*, align 8 + %msg40 = alloca i8*, align 8 + %msg105 = alloca i8*, align 8 + %msg145 = alloca i8*, align 8 + %msg215 = alloca i8*, align 8 + store i32* %argcPtr, i32** %argcPtr.addr, align 8 + store i8*** %argvPtr, i8**** %argvPtr.addr, align 8 + %0 = load i32*, i32** %argcPtr.addr, align 8 + %1 = load i32, i32* %0, align 4 + store i32 %1, i32* %argc, align 4 + %2 = load i8***, i8**** %argvPtr.addr, align 8 + %3 = load i8**, i8*** %2, align 8 + store i8** %3, i8*** %argv, align 8 + store i32 0, i32* %new_argc, align 4 + store i32 0, i32* %sym_files, align 4 + store i32 0, i32* %sym_file_len, align 4 + store i32 0, i32* %sym_stdin_len, align 4 + store i32 0, i32* %sym_stdout_flag, align 4 + store i32 0, i32* %save_all_writes_flag, align 4 + store i32 0, i32* %fd_fail, align 4 + %4 = bitcast [6 x i8]* %sym_arg_name to i8* + %5 = call i8* @memcpy(i8* %4, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @__const.klee_init_env.sym_arg_name, i32 0, i32 0), i64 6) + store i32 0, i32* %sym_arg_num, align 4 + store i32 0, i32* %k, align 4 + %arrayidx = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 5 + store i8 0, i8* %arrayidx, align 1 + %6 = load i32, i32* %argc, align 4 + %cmp = icmp eq i32 %6, 2 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %7 = load i8**, i8*** %argv, align 8 + %arrayidx1 = getelementptr inbounds i8*, i8** %7, i64 1 + %8 = load i8*, i8** %arrayidx1, align 8 + %call = call i32 @__streq(i8* %8, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.29, i64 0, i64 0)) + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + call void @__emit_error(i8* getelementptr inbounds ([964 x i8], [964 x i8]* @.str.1.30, i64 0, i64 0)) + br label %if.end + +if.end: ; preds = %if.then, %land.lhs.true, %entry + br label %while.cond + +while.cond: ; preds = %if.end239, %if.end + %9 = load i32, i32* %k, align 4 + %10 = load i32, i32* %argc, align 4 + %cmp2 = icmp slt i32 %9, %10 + br i1 %cmp2, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %11 = load i8**, i8*** %argv, align 8 + %12 = load i32, i32* %k, align 4 + %idxprom = sext i32 %12 to i64 + %arrayidx3 = getelementptr inbounds i8*, i8** %11, i64 %idxprom + %13 = load i8*, i8** %arrayidx3, align 8 + %call4 = call i32 @__streq(i8* %13, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.2.31, i64 0, i64 0)) + %tobool5 = icmp ne i32 %call4, 0 + br i1 %tobool5, label %if.then10, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.body + %14 = load i8**, i8*** %argv, align 8 + %15 = load i32, i32* %k, align 4 + %idxprom6 = sext i32 %15 to i64 + %arrayidx7 = getelementptr inbounds i8*, i8** %14, i64 %idxprom6 + %16 = load i8*, i8** %arrayidx7, align 8 + %call8 = call i32 @__streq(i8* %16, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.32, i64 0, i64 0)) + %tobool9 = icmp ne i32 %call8, 0 + br i1 %tobool9, label %if.then10, label %if.else + +if.then10: ; preds = %lor.lhs.false, %while.body + store i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.4.33, i64 0, i64 0), i8** %msg, align 8 + %17 = load i32, i32* %k, align 4 + %inc = add nsw i32 %17, 1 + store i32 %inc, i32* %k, align 4 + %18 = load i32, i32* %argc, align 4 + %cmp11 = icmp eq i32 %inc, %18 + br i1 %cmp11, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.then10 + %19 = load i8*, i8** %msg, align 8 + call void @__emit_error(i8* %19) + br label %if.end13 + +if.end13: ; preds = %if.then12, %if.then10 + %20 = load i8**, i8*** %argv, align 8 + %21 = load i32, i32* %k, align 4 + %inc14 = add nsw i32 %21, 1 + store i32 %inc14, i32* %k, align 4 + %idxprom15 = sext i32 %21 to i64 + %arrayidx16 = getelementptr inbounds i8*, i8** %20, i64 %idxprom15 + %22 = load i8*, i8** %arrayidx16, align 8 + %23 = load i8*, i8** %msg, align 8 + %call17 = call i64 @__str_to_int(i8* %22, i8* %23) + %conv = trunc i64 %call17 to i32 + store i32 %conv, i32* %max_len, align 4 + %24 = load i32, i32* %sym_arg_num, align 4 + %cmp18 = icmp ugt i32 %24, 99 + br i1 %cmp18, label %if.then20, label %if.end21 + +if.then20: ; preds = %if.end13 + call void @__emit_error(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.5.34, i64 0, i64 0)) + br label %if.end21 + +if.end21: ; preds = %if.then20, %if.end13 + %25 = load i32, i32* %sym_arg_num, align 4 + %div = udiv i32 %25, 10 + %add = add i32 48, %div + %conv22 = trunc i32 %add to i8 + %arrayidx23 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 3 + store i8 %conv22, i8* %arrayidx23, align 1 + %26 = load i32, i32* %sym_arg_num, align 4 + %rem = urem i32 %26, 10 + %add24 = add i32 48, %rem + %conv25 = trunc i32 %add24 to i8 + %arrayidx26 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 4 + store i8 %conv25, i8* %arrayidx26, align 1 + %27 = load i32, i32* %sym_arg_num, align 4 + %inc27 = add i32 %27, 1 + store i32 %inc27, i32* %sym_arg_num, align 4 + %arraydecay = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %28 = load i32, i32* %max_len, align 4 + %arraydecay28 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 0 + %call29 = call i8* @__get_sym_str(i32 %28, i8* %arraydecay28) + call void @__add_arg(i32* %new_argc, i8** %arraydecay, i8* %call29, i32 1024) + br label %if.end239 + +if.else: ; preds = %lor.lhs.false + %29 = load i8**, i8*** %argv, align 8 + %30 = load i32, i32* %k, align 4 + %idxprom30 = sext i32 %30 to i64 + %arrayidx31 = getelementptr inbounds i8*, i8** %29, i64 %idxprom30 + %31 = load i8*, i8** %arrayidx31, align 8 + %call32 = call i32 @__streq(i8* %31, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.6.35, i64 0, i64 0)) + %tobool33 = icmp ne i32 %call32, 0 + br i1 %tobool33, label %if.then39, label %lor.lhs.false34 + +lor.lhs.false34: ; preds = %if.else + %32 = load i8**, i8*** %argv, align 8 + %33 = load i32, i32* %k, align 4 + %idxprom35 = sext i32 %33 to i64 + %arrayidx36 = getelementptr inbounds i8*, i8** %32, i64 %idxprom35 + %34 = load i8*, i8** %arrayidx36, align 8 + %call37 = call i32 @__streq(i8* %34, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.7.36, i64 0, i64 0)) + %tobool38 = icmp ne i32 %call37, 0 + br i1 %tobool38, label %if.then39, label %if.else94 + +if.then39: ; preds = %lor.lhs.false34, %if.else + store i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.8.37, i64 0, i64 0), i8** %msg40, align 8 + %35 = load i32, i32* %k, align 4 + %add41 = add nsw i32 %35, 3 + %36 = load i32, i32* %argc, align 4 + %cmp42 = icmp sge i32 %add41, %36 + br i1 %cmp42, label %if.then44, label %if.end45 + +if.then44: ; preds = %if.then39 + %37 = load i8*, i8** %msg40, align 8 + call void @__emit_error(i8* %37) + br label %if.end45 + +if.end45: ; preds = %if.then44, %if.then39 + %38 = load i32, i32* %k, align 4 + %inc46 = add nsw i32 %38, 1 + store i32 %inc46, i32* %k, align 4 + %39 = load i8**, i8*** %argv, align 8 + %40 = load i32, i32* %k, align 4 + %inc47 = add nsw i32 %40, 1 + store i32 %inc47, i32* %k, align 4 + %idxprom48 = sext i32 %40 to i64 + %arrayidx49 = getelementptr inbounds i8*, i8** %39, i64 %idxprom48 + %41 = load i8*, i8** %arrayidx49, align 8 + %42 = load i8*, i8** %msg40, align 8 + %call50 = call i64 @__str_to_int(i8* %41, i8* %42) + %conv51 = trunc i64 %call50 to i32 + store i32 %conv51, i32* %min_argvs, align 4 + %43 = load i8**, i8*** %argv, align 8 + %44 = load i32, i32* %k, align 4 + %inc52 = add nsw i32 %44, 1 + store i32 %inc52, i32* %k, align 4 + %idxprom53 = sext i32 %44 to i64 + %arrayidx54 = getelementptr inbounds i8*, i8** %43, i64 %idxprom53 + %45 = load i8*, i8** %arrayidx54, align 8 + %46 = load i8*, i8** %msg40, align 8 + %call55 = call i64 @__str_to_int(i8* %45, i8* %46) + %conv56 = trunc i64 %call55 to i32 + store i32 %conv56, i32* %max_argvs, align 4 + %47 = load i8**, i8*** %argv, align 8 + %48 = load i32, i32* %k, align 4 + %inc57 = add nsw i32 %48, 1 + store i32 %inc57, i32* %k, align 4 + %idxprom58 = sext i32 %48 to i64 + %arrayidx59 = getelementptr inbounds i8*, i8** %47, i64 %idxprom58 + %49 = load i8*, i8** %arrayidx59, align 8 + %50 = load i8*, i8** %msg40, align 8 + %call60 = call i64 @__str_to_int(i8* %49, i8* %50) + %conv61 = trunc i64 %call60 to i32 + store i32 %conv61, i32* %max_len, align 4 + %51 = load i32, i32* %min_argvs, align 4 + %52 = load i32, i32* %max_argvs, align 4 + %cmp62 = icmp ugt i32 %51, %52 + br i1 %cmp62, label %if.then70, label %lor.lhs.false64 + +lor.lhs.false64: ; preds = %if.end45 + %53 = load i32, i32* %min_argvs, align 4 + %cmp65 = icmp eq i32 %53, 0 + %54 = load i32, i32* %max_argvs, align 4 + %cmp68 = icmp eq i32 %54, 0 + %or.cond = and i1 %cmp65, %cmp68 + br i1 %or.cond, label %if.then70, label %if.end71 + +if.then70: ; preds = %lor.lhs.false64, %if.end45 + call void @__emit_error(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.9.38, i64 0, i64 0)) + br label %if.end71 + +if.end71: ; preds = %if.then70, %lor.lhs.false64 + %55 = load i32, i32* %min_argvs, align 4 + %56 = load i32, i32* %max_argvs, align 4 + %add72 = add i32 %56, 1 + %call73 = call i32 @gs_range(i32 %55, i32 %add72, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.10.39, i64 0, i64 0)) + store i32 %call73, i32* %n_args, align 4 + %57 = load i32, i32* %sym_arg_num, align 4 + %58 = load i32, i32* %max_argvs, align 4 + %add74 = add i32 %57, %58 + %cmp75 = icmp ugt i32 %add74, 99 + br i1 %cmp75, label %if.then77, label %if.end78 + +if.then77: ; preds = %if.end71 + call void @__emit_error(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.5.34, i64 0, i64 0)) + br label %if.end78 + +if.end78: ; preds = %if.then77, %if.end71 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end78 + %59 = load i32, i32* %i, align 4 + %60 = load i32, i32* %n_args, align 4 + %cmp79 = icmp slt i32 %59, %60 + br i1 %cmp79, label %for.body, label %if.end239 + +for.body: ; preds = %for.cond + %61 = load i32, i32* %sym_arg_num, align 4 + %div81 = udiv i32 %61, 10 + %add82 = add i32 48, %div81 + %conv83 = trunc i32 %add82 to i8 + %arrayidx84 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 3 + store i8 %conv83, i8* %arrayidx84, align 1 + %62 = load i32, i32* %sym_arg_num, align 4 + %rem85 = urem i32 %62, 10 + %add86 = add i32 48, %rem85 + %conv87 = trunc i32 %add86 to i8 + %arrayidx88 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 4 + store i8 %conv87, i8* %arrayidx88, align 1 + %63 = load i32, i32* %sym_arg_num, align 4 + %inc89 = add i32 %63, 1 + store i32 %inc89, i32* %sym_arg_num, align 4 + %arraydecay90 = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %64 = load i32, i32* %max_len, align 4 + %arraydecay91 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 0 + %call92 = call i8* @__get_sym_str(i32 %64, i8* %arraydecay91) + call void @__add_arg(i32* %new_argc, i8** %arraydecay90, i8* %call92, i32 1024) + %65 = load i32, i32* %i, align 4 + %inc93 = add nsw i32 %65, 1 + store i32 %inc93, i32* %i, align 4 + br label %for.cond + +if.else94: ; preds = %lor.lhs.false34 + %66 = load i8**, i8*** %argv, align 8 + %67 = load i32, i32* %k, align 4 + %idxprom95 = sext i32 %67 to i64 + %arrayidx96 = getelementptr inbounds i8*, i8** %66, i64 %idxprom95 + %68 = load i8*, i8** %arrayidx96, align 8 + %call97 = call i32 @__streq(i8* %68, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.11.40, i64 0, i64 0)) + %tobool98 = icmp ne i32 %call97, 0 + br i1 %tobool98, label %if.then104, label %lor.lhs.false99 + +lor.lhs.false99: ; preds = %if.else94 + %69 = load i8**, i8*** %argv, align 8 + %70 = load i32, i32* %k, align 4 + %idxprom100 = sext i32 %70 to i64 + %arrayidx101 = getelementptr inbounds i8*, i8** %69, i64 %idxprom100 + %71 = load i8*, i8** %arrayidx101, align 8 + %call102 = call i32 @__streq(i8* %71, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.12.41, i64 0, i64 0)) + %tobool103 = icmp ne i32 %call102, 0 + br i1 %tobool103, label %if.then104, label %if.else134 + +if.then104: ; preds = %lor.lhs.false99, %if.else94 + store i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.13.42, i64 0, i64 0), i8** %msg105, align 8 + %72 = load i32, i32* %k, align 4 + %add106 = add nsw i32 %72, 2 + %73 = load i32, i32* %argc, align 4 + %cmp107 = icmp sge i32 %add106, %73 + br i1 %cmp107, label %if.then109, label %if.end110 + +if.then109: ; preds = %if.then104 + %74 = load i8*, i8** %msg105, align 8 + call void @__emit_error(i8* %74) + br label %if.end110 + +if.end110: ; preds = %if.then109, %if.then104 + %75 = load i32, i32* %sym_files, align 4 + %cmp111 = icmp ne i32 %75, 0 + br i1 %cmp111, label %if.then113, label %if.end114 + +if.then113: ; preds = %if.end110 + call void @__emit_error(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.14.43, i64 0, i64 0)) + br label %if.end114 + +if.end114: ; preds = %if.then113, %if.end110 + %76 = load i32, i32* %k, align 4 + %inc115 = add nsw i32 %76, 1 + store i32 %inc115, i32* %k, align 4 + %77 = load i8**, i8*** %argv, align 8 + %78 = load i32, i32* %k, align 4 + %inc116 = add nsw i32 %78, 1 + store i32 %inc116, i32* %k, align 4 + %idxprom117 = sext i32 %78 to i64 + %arrayidx118 = getelementptr inbounds i8*, i8** %77, i64 %idxprom117 + %79 = load i8*, i8** %arrayidx118, align 8 + %80 = load i8*, i8** %msg105, align 8 + %call119 = call i64 @__str_to_int(i8* %79, i8* %80) + %conv120 = trunc i64 %call119 to i32 + store i32 %conv120, i32* %sym_files, align 4 + %81 = load i8**, i8*** %argv, align 8 + %82 = load i32, i32* %k, align 4 + %inc121 = add nsw i32 %82, 1 + store i32 %inc121, i32* %k, align 4 + %idxprom122 = sext i32 %82 to i64 + %arrayidx123 = getelementptr inbounds i8*, i8** %81, i64 %idxprom122 + %83 = load i8*, i8** %arrayidx123, align 8 + %84 = load i8*, i8** %msg105, align 8 + %call124 = call i64 @__str_to_int(i8* %83, i8* %84) + %conv125 = trunc i64 %call124 to i32 + store i32 %conv125, i32* %sym_file_len, align 4 + %85 = load i32, i32* %sym_files, align 4 + %cmp126 = icmp eq i32 %85, 0 + br i1 %cmp126, label %if.then128, label %if.end129 + +if.then128: ; preds = %if.end114 + call void @__emit_error(i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.15.44, i64 0, i64 0)) + br label %if.end129 + +if.end129: ; preds = %if.then128, %if.end114 + %86 = load i32, i32* %sym_file_len, align 4 + %cmp130 = icmp eq i32 %86, 0 + br i1 %cmp130, label %if.then132, label %if.end239 + +if.then132: ; preds = %if.end129 + call void @__emit_error(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.16.45, i64 0, i64 0)) + br label %if.end239 + +if.else134: ; preds = %lor.lhs.false99 + %87 = load i8**, i8*** %argv, align 8 + %88 = load i32, i32* %k, align 4 + %idxprom135 = sext i32 %88 to i64 + %arrayidx136 = getelementptr inbounds i8*, i8** %87, i64 %idxprom135 + %89 = load i8*, i8** %arrayidx136, align 8 + %call137 = call i32 @__streq(i8* %89, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.17.46, i64 0, i64 0)) + %tobool138 = icmp ne i32 %call137, 0 + br i1 %tobool138, label %if.then144, label %lor.lhs.false139 + +lor.lhs.false139: ; preds = %if.else134 + %90 = load i8**, i8*** %argv, align 8 + %91 = load i32, i32* %k, align 4 + %idxprom140 = sext i32 %91 to i64 + %arrayidx141 = getelementptr inbounds i8*, i8** %90, i64 %idxprom140 + %92 = load i8*, i8** %arrayidx141, align 8 + %call142 = call i32 @__streq(i8* %92, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.18.47, i64 0, i64 0)) + %tobool143 = icmp ne i32 %call142, 0 + br i1 %tobool143, label %if.then144, label %if.else156 + +if.then144: ; preds = %lor.lhs.false139, %if.else134 + store i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.19.48, i64 0, i64 0), i8** %msg145, align 8 + %93 = load i32, i32* %k, align 4 + %inc146 = add nsw i32 %93, 1 + store i32 %inc146, i32* %k, align 4 + %94 = load i32, i32* %argc, align 4 + %cmp147 = icmp eq i32 %inc146, %94 + br i1 %cmp147, label %if.then149, label %if.end150 + +if.then149: ; preds = %if.then144 + %95 = load i8*, i8** %msg145, align 8 + call void @__emit_error(i8* %95) + br label %if.end150 + +if.end150: ; preds = %if.then149, %if.then144 + %96 = load i8**, i8*** %argv, align 8 + %97 = load i32, i32* %k, align 4 + %inc151 = add nsw i32 %97, 1 + store i32 %inc151, i32* %k, align 4 + %idxprom152 = sext i32 %97 to i64 + %arrayidx153 = getelementptr inbounds i8*, i8** %96, i64 %idxprom152 + %98 = load i8*, i8** %arrayidx153, align 8 + %99 = load i8*, i8** %msg145, align 8 + %call154 = call i64 @__str_to_int(i8* %98, i8* %99) + %conv155 = trunc i64 %call154 to i32 + store i32 %conv155, i32* %sym_stdin_len, align 4 + br label %if.end239 + +if.else156: ; preds = %lor.lhs.false139 + %100 = load i8**, i8*** %argv, align 8 + %101 = load i32, i32* %k, align 4 + %idxprom157 = sext i32 %101 to i64 + %arrayidx158 = getelementptr inbounds i8*, i8** %100, i64 %idxprom157 + %102 = load i8*, i8** %arrayidx158, align 8 + %call159 = call i32 @__streq(i8* %102, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.20.49, i64 0, i64 0)) + %tobool160 = icmp ne i32 %call159, 0 + br i1 %tobool160, label %if.then166, label %lor.lhs.false161 + +lor.lhs.false161: ; preds = %if.else156 + %103 = load i8**, i8*** %argv, align 8 + %104 = load i32, i32* %k, align 4 + %idxprom162 = sext i32 %104 to i64 + %arrayidx163 = getelementptr inbounds i8*, i8** %103, i64 %idxprom162 + %105 = load i8*, i8** %arrayidx163, align 8 + %call164 = call i32 @__streq(i8* %105, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.21.50, i64 0, i64 0)) + %tobool165 = icmp ne i32 %call164, 0 + br i1 %tobool165, label %if.then166, label %if.else168 + +if.then166: ; preds = %lor.lhs.false161, %if.else156 + store i32 1, i32* %sym_stdout_flag, align 4 + %106 = load i32, i32* %k, align 4 + %inc167 = add nsw i32 %106, 1 + store i32 %inc167, i32* %k, align 4 + br label %if.end239 + +if.else168: ; preds = %lor.lhs.false161 + %107 = load i8**, i8*** %argv, align 8 + %108 = load i32, i32* %k, align 4 + %idxprom169 = sext i32 %108 to i64 + %arrayidx170 = getelementptr inbounds i8*, i8** %107, i64 %idxprom169 + %109 = load i8*, i8** %arrayidx170, align 8 + %call171 = call i32 @__streq(i8* %109, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.22.51, i64 0, i64 0)) + %tobool172 = icmp ne i32 %call171, 0 + br i1 %tobool172, label %if.then178, label %lor.lhs.false173 + +lor.lhs.false173: ; preds = %if.else168 + %110 = load i8**, i8*** %argv, align 8 + %111 = load i32, i32* %k, align 4 + %idxprom174 = sext i32 %111 to i64 + %arrayidx175 = getelementptr inbounds i8*, i8** %110, i64 %idxprom174 + %112 = load i8*, i8** %arrayidx175, align 8 + %call176 = call i32 @__streq(i8* %112, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23.52, i64 0, i64 0)) + %tobool177 = icmp ne i32 %call176, 0 + br i1 %tobool177, label %if.then178, label %if.else180 + +if.then178: ; preds = %lor.lhs.false173, %if.else168 + store i32 1, i32* %save_all_writes_flag, align 4 + %113 = load i32, i32* %k, align 4 + %inc179 = add nsw i32 %113, 1 + store i32 %inc179, i32* %k, align 4 + br label %if.end239 + +if.else180: ; preds = %lor.lhs.false173 + %114 = load i8**, i8*** %argv, align 8 + %115 = load i32, i32* %k, align 4 + %idxprom181 = sext i32 %115 to i64 + %arrayidx182 = getelementptr inbounds i8*, i8** %114, i64 %idxprom181 + %116 = load i8*, i8** %arrayidx182, align 8 + %call183 = call i32 @__streq(i8* %116, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.24.53, i64 0, i64 0)) + %tobool184 = icmp ne i32 %call183, 0 + br i1 %tobool184, label %if.then190, label %lor.lhs.false185 + +lor.lhs.false185: ; preds = %if.else180 + %117 = load i8**, i8*** %argv, align 8 + %118 = load i32, i32* %k, align 4 + %idxprom186 = sext i32 %118 to i64 + %arrayidx187 = getelementptr inbounds i8*, i8** %117, i64 %idxprom186 + %119 = load i8*, i8** %arrayidx187, align 8 + %call188 = call i32 @__streq(i8* %119, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.25.54, i64 0, i64 0)) + %tobool189 = icmp ne i32 %call188, 0 + br i1 %tobool189, label %if.then190, label %if.else192 + +if.then190: ; preds = %lor.lhs.false185, %if.else180 + store i32 1, i32* %fd_fail, align 4 + %120 = load i32, i32* %k, align 4 + %inc191 = add nsw i32 %120, 1 + store i32 %inc191, i32* %k, align 4 + br label %if.end239 + +if.else192: ; preds = %lor.lhs.false185 + %121 = load i8**, i8*** %argv, align 8 + %122 = load i32, i32* %k, align 4 + %idxprom193 = sext i32 %122 to i64 + %arrayidx194 = getelementptr inbounds i8*, i8** %121, i64 %idxprom193 + %123 = load i8*, i8** %arrayidx194, align 8 + %call195 = call i32 @__streq(i8* %123, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.26.55, i64 0, i64 0)) + %tobool196 = icmp ne i32 %call195, 0 + br i1 %tobool196, label %if.then202, label %lor.lhs.false197 + +lor.lhs.false197: ; preds = %if.else192 + %124 = load i8**, i8*** %argv, align 8 + %125 = load i32, i32* %k, align 4 + %idxprom198 = sext i32 %125 to i64 + %arrayidx199 = getelementptr inbounds i8*, i8** %124, i64 %idxprom198 + %126 = load i8*, i8** %arrayidx199, align 8 + %call200 = call i32 @__streq(i8* %126, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.27.56, i64 0, i64 0)) + %tobool201 = icmp ne i32 %call200, 0 + br i1 %tobool201, label %if.then202, label %if.else204 + +if.then202: ; preds = %lor.lhs.false197, %if.else192 + %127 = load i32, i32* %k, align 4 + %add203 = add nsw i32 %127, 2 + store i32 %add203, i32* %k, align 4 + br label %if.end239 + +if.else204: ; preds = %lor.lhs.false197 + %128 = load i8**, i8*** %argv, align 8 + %129 = load i32, i32* %k, align 4 + %idxprom205 = sext i32 %129 to i64 + %arrayidx206 = getelementptr inbounds i8*, i8** %128, i64 %idxprom205 + %130 = load i8*, i8** %arrayidx206, align 8 + %call207 = call i32 @__streq(i8* %130, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.28.57, i64 0, i64 0)) + %tobool208 = icmp ne i32 %call207, 0 + br i1 %tobool208, label %if.then214, label %lor.lhs.false209 + +lor.lhs.false209: ; preds = %if.else204 + %131 = load i8**, i8*** %argv, align 8 + %132 = load i32, i32* %k, align 4 + %idxprom210 = sext i32 %132 to i64 + %arrayidx211 = getelementptr inbounds i8*, i8** %131, i64 %idxprom210 + %133 = load i8*, i8** %arrayidx211, align 8 + %call212 = call i32 @__streq(i8* %133, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.29.58, i64 0, i64 0)) + %tobool213 = icmp ne i32 %call212, 0 + br i1 %tobool213, label %if.then214, label %if.else226 + +if.then214: ; preds = %lor.lhs.false209, %if.else204 + store i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.30, i64 0, i64 0), i8** %msg215, align 8 + %134 = load i32, i32* %k, align 4 + %inc216 = add nsw i32 %134, 1 + store i32 %inc216, i32* %k, align 4 + %135 = load i32, i32* %argc, align 4 + %cmp217 = icmp eq i32 %inc216, %135 + br i1 %cmp217, label %if.then219, label %if.end220 + +if.then219: ; preds = %if.then214 + %136 = load i8*, i8** %msg215, align 8 + call void @__emit_error(i8* %136) + br label %if.end220 + +if.end220: ; preds = %if.then219, %if.then214 + %137 = load i8**, i8*** %argv, align 8 + %138 = load i32, i32* %k, align 4 + %inc221 = add nsw i32 %138, 1 + store i32 %inc221, i32* %k, align 4 + %idxprom222 = sext i32 %138 to i64 + %arrayidx223 = getelementptr inbounds i8*, i8** %137, i64 %idxprom222 + %139 = load i8*, i8** %arrayidx223, align 8 + %140 = load i8*, i8** %msg215, align 8 + %call224 = call i64 @__str_to_int(i8* %139, i8* %140) + %conv225 = trunc i64 %call224 to i32 + store i32 %conv225, i32* %fd_fail, align 4 + br label %if.end239 + +if.else226: ; preds = %lor.lhs.false209 + %arraydecay227 = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %141 = load i8**, i8*** %argv, align 8 + %142 = load i32, i32* %k, align 4 + %inc228 = add nsw i32 %142, 1 + store i32 %inc228, i32* %k, align 4 + %idxprom229 = sext i32 %142 to i64 + %arrayidx230 = getelementptr inbounds i8*, i8** %141, i64 %idxprom229 + %143 = load i8*, i8** %arrayidx230, align 8 + call void @__add_arg(i32* %new_argc, i8** %arraydecay227, i8* %143, i32 1024) + br label %if.end239 + +if.end239: ; preds = %for.cond, %if.end150, %if.then178, %if.then202, %if.else226, %if.end220, %if.then190, %if.then166, %if.end129, %if.then132, %if.end21 + br label %while.cond + +while.end: ; preds = %while.cond + %144 = load i32, i32* %new_argc, align 4 + %add240 = add nsw i32 %144, 1 + %conv241 = sext i32 %add240 to i64 + %mul = mul i64 %conv241, 8 + %call242 = call noalias i8* @malloc(i64 %mul) #11 + %145 = bitcast i8* %call242 to i8** + store i8** %145, i8*** %final_argv, align 8 + %146 = load i8**, i8*** %final_argv, align 8 + %tobool243 = icmp ne i8** %146, null + br i1 %tobool243, label %if.end245, label %if.then244 + +if.then244: ; preds = %while.end + call void @__emit_error(i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.31, i64 0, i64 0)) + br label %if.end245 + +if.end245: ; preds = %if.then244, %while.end + %147 = load i8**, i8*** %final_argv, align 8 + %148 = bitcast i8** %147 to i8* + %arraydecay246 = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %149 = bitcast i8** %arraydecay246 to i8* + %150 = load i32, i32* %new_argc, align 4 + %conv247 = sext i32 %150 to i64 + %mul248 = mul i64 %conv247, 8 + %151 = call i8* @memcpy(i8* %148, i8* %149, i64 %mul248) + %152 = load i8**, i8*** %final_argv, align 8 + %153 = load i32, i32* %new_argc, align 4 + %idxprom249 = sext i32 %153 to i64 + %arrayidx250 = getelementptr inbounds i8*, i8** %152, i64 %idxprom249 + store i8* null, i8** %arrayidx250, align 8 + %154 = load i32, i32* %new_argc, align 4 + %155 = load i32*, i32** %argcPtr.addr, align 8 + store i32 %154, i32* %155, align 4 + %156 = load i8**, i8*** %final_argv, align 8 + %157 = load i8***, i8**** %argvPtr.addr, align 8 + store i8** %156, i8*** %157, align 8 + %158 = load i32, i32* %sym_files, align 4 + %159 = load i32, i32* %sym_file_len, align 4 + %160 = load i32, i32* %sym_stdin_len, align 4 + %161 = load i32, i32* %sym_stdout_flag, align 4 + %162 = load i32, i32* %save_all_writes_flag, align 4 + %163 = load i32, i32* %fd_fail, align 4 + call void @klee_init_fds(i32 %158, i32 %159, i32 %160, i32 %161, i32 %162, i32 %163) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__streq(i8* %a, i8* %b) #3 { +entry: + %retval = alloca i32, align 4 + %a.addr = alloca i8*, align 8 + %b.addr = alloca i8*, align 8 + store i8* %a, i8** %a.addr, align 8 + store i8* %b, i8** %b.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %0 = load i8*, i8** %a.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %2 = load i8*, i8** %b.addr, align 8 + %3 = load i8, i8* %2, align 1 + %conv1 = sext i8 %3 to i32 + %cmp = icmp eq i32 %conv, %conv1 + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i8*, i8** %a.addr, align 8 + %5 = load i8, i8* %4, align 1 + %tobool = icmp ne i8 %5, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %while.body + store i32 1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %while.body + %6 = load i8*, i8** %a.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %a.addr, align 8 + %7 = load i8*, i8** %b.addr, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %7, i32 1 + store i8* %incdec.ptr3, i8** %b.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %while.end, %if.then + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__emit_error(i8* %msg) #3 { +entry: + %msg.addr = alloca i8*, align 8 + store i8* %msg, i8** %msg.addr, align 8 + %0 = load i8*, i8** %msg.addr, align 8 + call void @gs_report_error.59(i8* getelementptr inbounds ([88 x i8], [88 x i8]* @.str.32, i64 0, i64 0), i32 21, i8* %0, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.33, i64 0, i64 0)) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @__str_to_int(i8* %s, i8* %error_msg) #3 { +entry: + %s.addr = alloca i8*, align 8 + %error_msg.addr = alloca i8*, align 8 + %res = alloca i64, align 8 + %c = alloca i8, align 1 + store i8* %s, i8** %s.addr, align 8 + store i8* %error_msg, i8** %error_msg.addr, align 8 + store i64 0, i64* %res, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i8, i8* %0, align 1 + %tobool = icmp ne i8 %1, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %2 = load i8*, i8** %error_msg.addr, align 8 + call void @__emit_error(i8* %2) + br label %if.end + +if.end: ; preds = %if.then, %entry + br label %while.cond + +while.cond: ; preds = %if.end9, %if.end + %3 = load i8*, i8** %s.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %s.addr, align 8 + %4 = load i8, i8* %3, align 1 + store i8 %4, i8* %c, align 1 + %tobool1 = icmp ne i8 %4, 0 + br i1 %tobool1, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %5 = load i8, i8* %c, align 1 + %conv = sext i8 %5 to i32 + %cmp = icmp sge i32 %conv, 48 + br i1 %cmp, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %while.body + %6 = load i8, i8* %c, align 1 + %conv3 = sext i8 %6 to i32 + %cmp4 = icmp sle i32 %conv3, 57 + br i1 %cmp4, label %if.then6, label %if.else + +if.then6: ; preds = %land.lhs.true + %7 = load i64, i64* %res, align 8 + %mul = mul nsw i64 %7, 10 + %8 = load i8, i8* %c, align 1 + %conv7 = sext i8 %8 to i32 + %sub = sub nsw i32 %conv7, 48 + %conv8 = sext i32 %sub to i64 + %add = add nsw i64 %mul, %conv8 + store i64 %add, i64* %res, align 8 + br label %if.end9 + +if.else: ; preds = %land.lhs.true, %while.body + %9 = load i8*, i8** %error_msg.addr, align 8 + call void @__emit_error(i8* %9) + br label %if.end9 + +if.end9: ; preds = %if.else, %if.then6 + br label %while.cond + +while.end: ; preds = %while.cond + %10 = load i64, i64* %res, align 8 + ret i64 %10 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @__get_sym_str(i32 %numChars, i8* %name) #3 { +entry: + %numChars.addr = alloca i32, align 4 + %name.addr = alloca i8*, align 8 + %i = alloca i32, align 4 + %s = alloca i8*, align 8 + store i32 %numChars, i32* %numChars.addr, align 4 + store i8* %name, i8** %name.addr, align 8 + %0 = load i32, i32* %numChars.addr, align 4 + %add = add nsw i32 %0, 1 + %conv = sext i32 %add to i64 + %call = call noalias i8* @malloc(i64 %conv) #11 + store i8* %call, i8** %s, align 8 + %1 = load i8*, i8** %s, align 8 + %tobool = icmp ne i8* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @__emit_error(i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.31, i64 0, i64 0)) + br label %if.end + +if.end: ; preds = %if.then, %entry + %2 = load i8*, i8** %s, align 8 + %3 = load i32, i32* %numChars.addr, align 4 + %add1 = add nsw i32 %3, 1 + %conv2 = sext i32 %add1 to i64 + %4 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %2, i64 %conv2, i8* %4) + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %5 = load i32, i32* %i, align 4 + %6 = load i32, i32* %numChars.addr, align 4 + %cmp = icmp slt i32 %5, %6 + %7 = load i8*, i8** %s, align 8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %8 = load i8*, i8** %s, align 8 + %9 = load i32, i32* %i, align 4 + %idxprom = sext i32 %9 to i64 + %arrayidx = getelementptr inbounds i8, i8* %8, i64 %idxprom + %10 = load i8, i8* %arrayidx, align 1 + %call4 = call i32 @__isprint(i8 signext %10) + %tobool5 = icmp ne i32 %call4, 0 + call void @gs_posix_prefer_cex(i8* %7, i1 zeroext %tobool5) + %11 = load i32, i32* %i, align 4 + %inc = add nsw i32 %11, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %12 = load i32, i32* %numChars.addr, align 4 + %idxprom6 = sext i32 %12 to i64 + %arrayidx7 = getelementptr inbounds i8, i8* %7, i64 %idxprom6 + store i8 0, i8* %arrayidx7, align 1 + %13 = load i8*, i8** %s, align 8 + ret i8* %13 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__add_arg(i32* %argc, i8** %argv, i8* %arg, i32 %argcMax) #3 { +entry: + %argc.addr = alloca i32*, align 8 + %argv.addr = alloca i8**, align 8 + %arg.addr = alloca i8*, align 8 + %argcMax.addr = alloca i32, align 4 + store i32* %argc, i32** %argc.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i32 %argcMax, i32* %argcMax.addr, align 4 + %0 = load i32*, i32** %argc.addr, align 8 + %1 = load i32, i32* %0, align 4 + %2 = load i32, i32* %argcMax.addr, align 4 + %cmp = icmp eq i32 %1, %2 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + call void @__emit_error(i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.35, i64 0, i64 0)) + br label %if.end + +if.else: ; preds = %entry + %3 = load i8*, i8** %arg.addr, align 8 + %4 = load i8**, i8*** %argv.addr, align 8 + %5 = load i32*, i32** %argc.addr, align 8 + %6 = load i32, i32* %5, align 4 + %idxprom = sext i32 %6 to i64 + %arrayidx = getelementptr inbounds i8*, i8** %4, i64 %idxprom + store i8* %3, i8** %arrayidx, align 8 + %7 = load i32*, i32** %argc.addr, align 8 + %8 = load i32, i32* %7, align 4 + %inc = add nsw i32 %8, 1 + store i32 %inc, i32* %7, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @gs_range(i32 %begin, i32 %end, i8* %name) #3 { +entry: + %begin.addr = alloca i32, align 4 + %end.addr = alloca i32, align 4 + %name.addr = alloca i8*, align 8 + %x = alloca i32, align 4 + store i32 %begin, i32* %begin.addr, align 4 + store i32 %end, i32* %end.addr, align 4 + store i8* %name, i8** %name.addr, align 8 + %0 = bitcast i32* %x to i8* + %1 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %0, i64 4, i8* %1) + %2 = load i32, i32* %x, align 4 + %3 = load i32, i32* %begin.addr, align 4 + %cmp = icmp sge i32 %2, %3 + call void @gs_assume(i1 zeroext %cmp) + %4 = load i32, i32* %x, align 4 + %5 = load i32, i32* %end.addr, align 4 + %cmp1 = icmp slt i32 %4, %5 + call void @gs_assume(i1 zeroext %cmp1) + %6 = load i32, i32* %x, align 4 + ret i32 %6 +} + +declare dso_local void @make_symbolic(i8*, i64, ...) #5 + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__isprint(i8 signext %c) #3 { +entry: + %c.addr = alloca i8, align 1 + store i8 %c, i8* %c.addr, align 1 + %0 = load i8, i8* %c.addr, align 1 + %conv = sext i8 %0 to i32 + %cmp = icmp sle i32 32, %conv + %conv1 = zext i1 %cmp to i32 + %1 = load i8, i8* %c.addr, align 1 + %conv2 = sext i8 %1 to i32 + %cmp3 = icmp sle i32 %conv2, 126 + %conv4 = zext i1 %cmp3 to i32 + %and = and i32 %conv1, %conv4 + ret i32 %and +} + +declare dso_local void @gs_posix_prefer_cex(i8*, i1 zeroext) #5 + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error.59(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.34, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__user_main(i32 %argcPtr, i8** %argvPtr, i8** %envp) #3 { +entry: + %argcPtr.addr = alloca i32, align 4 + %argvPtr.addr = alloca i8**, align 8 + %envp.addr = alloca i8**, align 8 + store i32 %argcPtr, i32* %argcPtr.addr, align 4 + store i8** %argvPtr, i8*** %argvPtr.addr, align 8 + store i8** %envp, i8*** %envp.addr, align 8 + call void @klee_init_env(i32* %argcPtr.addr, i8*** %argvPtr.addr) + %0 = load i32, i32* %argcPtr.addr, align 4 + %1 = load i8**, i8*** %argvPtr.addr, align 8 + %2 = load i8**, i8*** %envp.addr, align 8 + %call = call i32 bitcast (i32 (i32, i8**)* @__klee_posix_wrapped_main to i32 (i32, i8**, i8**)*)(i32 %0, i8** %1, i8** %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind readnone uwtable +declare i32* @__errno_location() #12 + +; Function Attrs: noinline nounwind readnone uwtable +define weak i32* @__h_errno_location() #12 { +entry: + ret i32* @h_errno +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @___path_search(i8* %tmpl, i64 %tmpl_len, i8* %dir, i8* %pfx) #0 { +entry: + %retval = alloca i32, align 4 + %tmpl.addr = alloca i8*, align 8 + %tmpl_len.addr = alloca i64, align 8 + %dir.addr = alloca i8*, align 8 + %pfx.addr = alloca i8*, align 8 + %dlen = alloca i64, align 8 + %plen = alloca i64, align 8 + store i8* %tmpl, i8** %tmpl.addr, align 8 + store i64 %tmpl_len, i64* %tmpl_len.addr, align 8 + store i8* %dir, i8** %dir.addr, align 8 + store i8* %pfx, i8** %pfx.addr, align 8 + %0 = load i8*, i8** %pfx.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %lor.lhs.false, label %if.then + +lor.lhs.false: ; preds = %entry + %1 = load i8*, i8** %pfx.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %tobool1 = icmp ne i8 %2, 0 + br i1 %tobool1, label %if.else, label %if.then + +if.then: ; preds = %lor.lhs.false, %entry + store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.68, i64 0, i64 0), i8** %pfx.addr, align 8 + store i64 4, i64* %plen, align 8 + br label %if.end3 + +if.else: ; preds = %lor.lhs.false + %3 = load i8*, i8** %pfx.addr, align 8 + %call = call i64 @strlen(i8* %3) #20 + store i64 %call, i64* %plen, align 8 + %4 = load i64, i64* %plen, align 8 + %cmp = icmp ugt i64 %4, 5 + %spec.store.select = select i1 %cmp, i64 5, i64 %call + store i64 %spec.store.select, i64* %plen, align 8 + br label %if.end3 + +if.end3: ; preds = %if.else, %if.then + %5 = load i8*, i8** %dir.addr, align 8 + %cmp4 = icmp eq i8* %5, null + br i1 %cmp4, label %if.then5, label %if.end18 + +if.then5: ; preds = %if.end3 + %call6 = call i32 @direxists(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0)) #18 + %tobool7 = icmp ne i32 %call6, 0 + br i1 %tobool7, label %if.then8, label %if.else9 + +if.then8: ; preds = %if.then5 + store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0), i8** %dir.addr, align 8 + br label %if.end18 + +if.else9: ; preds = %if.then5 + %call10 = call i32 @strcmp(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0)) #20 + %cmp11 = icmp ne i32 %call10, 0 + br i1 %cmp11, label %land.lhs.true, label %if.else15 + +land.lhs.true: ; preds = %if.else9 + %call12 = call i32 @direxists(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0)) #18 + %tobool13 = icmp ne i32 %call12, 0 + br i1 %tobool13, label %if.then14, label %if.else15 + +if.then14: ; preds = %land.lhs.true + store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0), i8** %dir.addr, align 8 + br label %if.end18 + +if.else15: ; preds = %land.lhs.true, %if.else9 + store i32 2, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %if.then8, %if.then14, %if.end3 + %6 = load i8*, i8** %dir.addr, align 8 + %call19 = call i64 @strlen(i8* %6) #20 + store i64 %call19, i64* %dlen, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end18 + %7 = load i64, i64* %dlen, align 8 + %cmp20 = icmp ugt i64 %7, 1 + br i1 %cmp20, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %8 = load i8*, i8** %dir.addr, align 8 + %9 = load i64, i64* %dlen, align 8 + %sub = sub i64 %9, 1 + %arrayidx21 = getelementptr inbounds i8, i8* %8, i64 %sub + %10 = load i8, i8* %arrayidx21, align 1 + %conv = sext i8 %10 to i32 + %cmp22 = icmp eq i32 %conv, 47 + br i1 %cmp22, label %while.body, label %while.end + +while.body: ; preds = %land.rhs + %11 = load i64, i64* %dlen, align 8 + %dec = add i64 %11, -1 + store i64 %dec, i64* %dlen, align 8 + br label %while.cond + +while.end: ; preds = %while.cond, %land.rhs + %12 = load i64, i64* %tmpl_len.addr, align 8 + %13 = load i64, i64* %dlen, align 8 + %add = add i64 %13, 1 + %14 = load i64, i64* %plen, align 8 + %add24 = add i64 %add, %14 + %add25 = add i64 %add24, 6 + %add26 = add i64 %add25, 1 + %cmp27 = icmp ult i64 %12, %add26 + br i1 %cmp27, label %if.then29, label %if.end30 + +if.then29: ; preds = %while.end + store i32 22, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end30: ; preds = %while.end + %15 = load i8*, i8** %tmpl.addr, align 8 + %16 = load i64, i64* %dlen, align 8 + %17 = load i8*, i8** %dir.addr, align 8 + %18 = load i64, i64* %plen, align 8 + %19 = load i8*, i8** %pfx.addr, align 8 + %call31 = call i32 (i8*, i8*, ...) @sprintf(i8* %15, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.2.70, i64 0, i64 0), i64 %16, i8* %17, i64 %18, i8* %19) #19 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end30, %if.then29, %if.else15 + %20 = load i32, i32* %retval, align 4 + ret i32 %20 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @direxists(i8* %dir) #0 { +entry: + %dir.addr = alloca i8*, align 8 + %buf = alloca %struct.stat.192, align 8 + store i8* %dir, i8** %dir.addr, align 8 + %0 = load i8*, i8** %dir.addr, align 8 + %call = call i32 bitcast (i32 (i8*, %struct.stat64*)* @stat to i32 (i8*, %struct.stat.192*)*)(i8* %0, %struct.stat.192* %buf) #19 + %cmp = icmp eq i32 %call, 0 + %st_mode = getelementptr inbounds %struct.stat.192, %struct.stat.192* %buf, i32 0, i32 3 + %1 = load i32, i32* %st_mode, align 8 + %and = and i32 %1, 61440 + %cmp1 = icmp eq i32 %and, 16384 + %2 = select i1 %cmp, i1 %cmp1, i1 false + %land.ext = zext i1 %2 to i32 + ret i32 %land.ext +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__gen_tempname(i8* %tmpl, i32 %kind) #0 { +entry: + %retval = alloca i32, align 4 + %tmpl.addr = alloca i8*, align 8 + %kind.addr = alloca i32, align 4 + %XXXXXX = alloca i8*, align 8 + %i = alloca i32, align 4 + %fd = alloca i32, align 4 + %save_errno = alloca i32, align 4 + %randomness = alloca [6 x i8], align 1 + %len = alloca i64, align 8 + %j = alloca i32, align 4 + %st = alloca %struct.stat.192, align 8 + store i8* %tmpl, i8** %tmpl.addr, align 8 + store i32 %kind, i32* %kind.addr, align 4 + %0 = load i32, i32* @errno, align 4 + store i32 %0, i32* %save_errno, align 4 + %1 = load i8*, i8** %tmpl.addr, align 8 + %call = call i64 @strlen(i8* %1) #20 + store i64 %call, i64* %len, align 8 + %2 = load i8*, i8** %tmpl.addr, align 8 + %3 = load i64, i64* %len, align 8 + %add.ptr = getelementptr inbounds i8, i8* %2, i64 %3 + %add.ptr1 = getelementptr inbounds i8, i8* %add.ptr, i64 -6 + store i8* %add.ptr1, i8** %XXXXXX, align 8 + %4 = load i64, i64* %len, align 8 + %cmp = icmp ult i64 %4, 6 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %5 = load i8*, i8** %XXXXXX, align 8 + %call2 = call i32 @strcmp(i8* %5, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.3.73, i64 0, i64 0)) #20 + %tobool = icmp ne i32 %call2, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %lor.lhs.false, %entry + store i32 22, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %lor.lhs.false + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc44, %if.end + %6 = load i32, i32* %i, align 4 + %cmp3 = icmp ult i32 %6, 238328 + br i1 %cmp3, label %for.body, label %for.end46 + +for.body: ; preds = %for.cond + %arraydecay = getelementptr inbounds [6 x i8], [6 x i8]* %randomness, i64 0, i64 0 + %call4 = call i32 @fillrand(i8* %arraydecay, i32 6) #18 + %conv = zext i32 %call4 to i64 + %cmp5 = icmp ne i64 %conv, 6 + br i1 %cmp5, label %if.then7, label %if.end9 + +if.then7: ; preds = %for.body + %arraydecay8 = getelementptr inbounds [6 x i8], [6 x i8]* %randomness, i64 0, i64 0 + call void @brain_damaged_fillrand(i8* %arraydecay8, i32 6) #18 + br label %if.end9 + +if.end9: ; preds = %if.then7, %for.body + store i32 0, i32* %j, align 4 + br label %for.cond10 + +for.cond10: ; preds = %for.body14, %if.end9 + %7 = load i32, i32* %j, align 4 + %conv11 = sext i32 %7 to i64 + %cmp12 = icmp ult i64 %conv11, 6 + br i1 %cmp12, label %for.body14, label %for.end + +for.body14: ; preds = %for.cond10 + %8 = load i32, i32* %j, align 4 + %idxprom = sext i32 %8 to i64 + %arrayidx = getelementptr inbounds [6 x i8], [6 x i8]* %randomness, i64 0, i64 %idxprom + %9 = load i8, i8* %arrayidx, align 1 + %conv15 = zext i8 %9 to i32 + %rem = srem i32 %conv15, 62 + %idxprom16 = sext i32 %rem to i64 + %arrayidx17 = getelementptr inbounds [63 x i8], [63 x i8]* @letters, i64 0, i64 %idxprom16 + %10 = load i8, i8* %arrayidx17, align 1 + %11 = load i8*, i8** %XXXXXX, align 8 + %12 = load i32, i32* %j, align 4 + %idxprom18 = sext i32 %12 to i64 + %arrayidx19 = getelementptr inbounds i8, i8* %11, i64 %idxprom18 + store i8 %10, i8* %arrayidx19, align 1 + %13 = load i32, i32* %j, align 4 + %inc = add nsw i32 %13, 1 + store i32 %inc, i32* %j, align 4 + br label %for.cond10 + +for.end: ; preds = %for.cond10 + %14 = load i32, i32* %kind.addr, align 4 + br label %NodeBlock5 + +NodeBlock5: ; preds = %for.end + %case.cmp6 = icmp eq i32 %14, 3 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %14, 0 + br i1 %case.cmp4, label %sw.bb29, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %14, 1 + br i1 %case.cmp2, label %sw.bb31, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %14, 2 + br i1 %case.cmp, label %sw.bb33, label %newDefault + +sw.bb: ; preds = %NodeBlock5 + %15 = load i8*, i8** %tmpl.addr, align 8 + %call20 = call i32 bitcast (i32 (i8*, %struct.stat64*)* @stat to i32 (i8*, %struct.stat.192*)*)(i8* %15, %struct.stat.192* %st) #19 + %cmp21 = icmp slt i32 %call20, 0 + br i1 %cmp21, label %if.then23, label %if.else27 + +if.then23: ; preds = %sw.bb + %16 = load i32, i32* @errno, align 4 + %cmp24 = icmp eq i32 %16, 2 + br i1 %cmp24, label %if.then26, label %if.else + +if.then26: ; preds = %if.then23 + store i32 0, i32* %fd, align 4 + br label %restore_and_ret + +if.else: ; preds = %if.then23 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else27: ; preds = %sw.bb + store i32 0, i32* %fd, align 4 + br label %sw.bb29 + +sw.bb29: ; preds = %NodeBlock3, %if.else27 + %17 = load i8*, i8** %tmpl.addr, align 8 + %call30 = call i32 (i8*, i32, ...) @open(i8* %17, i32 194, i32 384) #18 + store i32 %call30, i32* %fd, align 4 + br label %sw.epilog + +sw.bb31: ; preds = %NodeBlock1 + %18 = load i8*, i8** %tmpl.addr, align 8 + %call32 = call i32 (i8*, i32, ...) @open64(i8* %18, i32 194, i32 384) #18 + store i32 %call32, i32* %fd, align 4 + br label %sw.epilog + +sw.bb33: ; preds = %NodeBlock + %19 = load i8*, i8** %tmpl.addr, align 8 + %call34 = call i32 @mkdir(i8* %19, i32 448) #19 + store i32 %call34, i32* %fd, align 4 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i32 -1, i32* %fd, align 4 + br label %sw.epilog + +sw.epilog: ; preds = %sw.default, %sw.bb33, %sw.bb31, %sw.bb29 + %20 = load i32, i32* %fd, align 4 + %cmp35 = icmp sge i32 %20, 0 + br i1 %cmp35, label %restore_and_ret, label %if.else38 + +restore_and_ret: ; preds = %sw.epilog, %if.then26 + %21 = load i32, i32* %save_errno, align 4 + store i32 %21, i32* @errno, align 4 + %22 = load i32, i32* %fd, align 4 + store i32 %22, i32* %retval, align 4 + br label %return + +if.else38: ; preds = %sw.epilog + %23 = load i32, i32* @errno, align 4 + %cmp39 = icmp ne i32 %23, 17 + br i1 %cmp39, label %if.then41, label %for.inc44 + +if.then41: ; preds = %if.else38 + store i32 -1, i32* %retval, align 4 + br label %return + +for.inc44: ; preds = %if.else38 + %24 = load i32, i32* %i, align 4 + %inc45 = add i32 %24, 1 + store i32 %inc45, i32* %i, align 4 + br label %for.cond + +for.end46: ; preds = %for.cond + store i32 17, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %for.end46, %if.then41, %restore_and_ret, %if.else, %if.then + %25 = load i32, i32* %retval, align 4 + ret i32 %25 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @fillrand(i8* %buf, i32 %len) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %len.addr = alloca i32, align 4 + %fd = alloca i32, align 4 + %result = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i32 %len, i32* %len.addr, align 4 + store i32 -1, i32* %result, align 4 + %call = call i32 (i8*, i32, ...) @open(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.4.74, i64 0, i64 0), i32 0) #18 + store i32 %call, i32* %fd, align 4 + %0 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %0, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call1 = call i32 (i8*, i32, ...) @open(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.5.75, i64 0, i64 0), i32 2048) #18 + store i32 %call1, i32* %fd, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i32, i32* %fd, align 4 + %cmp2 = icmp sge i32 %1, 0 + br i1 %cmp2, label %if.then3, label %if.end7 + +if.then3: ; preds = %if.end + %2 = load i32, i32* %fd, align 4 + %3 = load i8*, i8** %buf.addr, align 8 + %4 = load i32, i32* %len.addr, align 4 + %conv = zext i32 %4 to i64 + %call4 = call i64 @read(i32 %2, i8* %3, i64 %conv) #18 + %conv5 = trunc i64 %call4 to i32 + store i32 %conv5, i32* %result, align 4 + %5 = load i32, i32* %fd, align 4 + %call6 = call i32 @close(i32 %5) #18 + br label %if.end7 + +if.end7: ; preds = %if.then3, %if.end + %6 = load i32, i32* %result, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @brain_damaged_fillrand(i8* %buf, i32 %len) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %len.addr = alloca i32, align 4 + %i = alloca i32, align 4 + %k = alloca i32, align 4 + %tv = alloca %struct.timespec, align 8 + %high = alloca i32, align 4 + %low = alloca i32, align 4 + %rh = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i32 %len, i32* %len.addr, align 4 + %call = call i32 bitcast (i32 (%struct.timespec*, i8*)* @gettimeofday to i32 (%struct.timespec*, %struct.__mbstate_t.512*)*)(%struct.timespec* %tv, %struct.__mbstate_t.512* null) #19 + %tv_usec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 1 + %0 = load i64, i64* %tv_usec, align 8 + %shl = shl i64 %0, 16 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %1 = load i64, i64* %tv_sec, align 8 + %xor = xor i64 %shl, %1 + %call1 = call i32 @getpid() #19 + %conv = sext i32 %call1 to i64 + %xor2 = xor i64 %xor, %conv + %2 = load i64, i64* @brain_damaged_fillrand.value, align 8 + %add = add i64 %2, %xor2 + store i64 %add, i64* @brain_damaged_fillrand.value, align 8 + %3 = load i64, i64* @brain_damaged_fillrand.value, align 8 + %and = and i64 %3, 4294967295 + %conv3 = trunc i64 %and to i32 + store i32 %conv3, i32* %low, align 4 + %4 = load i64, i64* @brain_damaged_fillrand.value, align 8 + %shr = lshr i64 %4, 32 + %conv4 = trunc i64 %shr to i32 + store i32 %conv4, i32* %high, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %5 = load i32, i32* %i, align 4 + %6 = load i32, i32* %len.addr, align 4 + %cmp = icmp ult i32 %5, %6 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %7 = load i32, i32* %high, align 4 + %rem = urem i32 %7, 62 + store i32 %rem, i32* %rh, align 4 + %8 = load i32, i32* %high, align 4 + %div = udiv i32 %8, 62 + store i32 %div, i32* %high, align 4 + %9 = load i32, i32* %low, align 4 + %rem6 = urem i32 %9, 62 + %10 = load i32, i32* %rh, align 4 + %mul = mul i32 4, %10 + %add7 = add i32 %rem6, %mul + store i32 %add7, i32* %k, align 4 + %11 = load i32, i32* %low, align 4 + %div8 = udiv i32 %11, 62 + %12 = load i32, i32* %rh, align 4 + %mul9 = mul i32 69273666, %12 + %add10 = add i32 %div8, %mul9 + %13 = load i32, i32* %k, align 4 + %div11 = udiv i32 %13, 62 + %add12 = add i32 %add10, %div11 + store i32 %add12, i32* %low, align 4 + %14 = load i32, i32* %k, align 4 + %rem13 = urem i32 %14, 62 + store i32 %rem13, i32* %k, align 4 + %15 = load i32, i32* %k, align 4 + %idxprom = zext i32 %15 to i64 + %arrayidx = getelementptr inbounds [63 x i8], [63 x i8]* @letters, i64 0, i64 %idxprom + %16 = load i8, i8* %arrayidx, align 1 + %17 = load i8*, i8** %buf.addr, align 8 + %18 = load i32, i32* %i, align 4 + %idxprom14 = zext i32 %18 to i64 + %arrayidx15 = getelementptr inbounds i8, i8* %17, i64 %idxprom14 + store i8 %16, i8* %arrayidx15, align 1 + %19 = load i32, i32* %i, align 4 + %inc = add i32 %19, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + ret void +} + +; Function Attrs: nounwind +declare i32 @getpid() #2 + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_locale_set_l(i8* %p, %struct.__uclibc_locale_struct.201* %base) #0 { +entry: + %retval = alloca i32, align 4 + %p.addr = alloca i8*, align 8 + %base.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %x = alloca i8**, align 8 + %s = alloca i8*, align 8 + %stp = alloca i64*, align 8 + %r = alloca i8*, align 8 + %io = alloca i16*, align 8 + %ii = alloca i16*, align 8 + %d = alloca i8*, align 8 + %row = alloca i32, align 4 + %crow = alloca i32, align 4 + %len = alloca i32, align 4 + %c = alloca i32, align 4 + %i = alloca i32, align 4 + %newcol = alloca %struct.__collate_t.200, align 8 + %c8b = alloca %struct.__codeset_8_bit_t.202*, align 8 + %u = alloca i32, align 4 + %m = alloca i16, align 2 + store i8* %p, i8** %p.addr, align 8 + store %struct.__uclibc_locale_struct.201* %base, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 6 + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 1 + store i8* %add.ptr, i8** %s, align 8 + store i32 0, i32* %i, align 4 + %1 = load i8*, i8** %p.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %1, i32 1 + store i8* %incdec.ptr, i8** %p.addr, align 8 + %index2weight = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %newcol, i32 0, i32 23 + store i16* null, i16** %index2weight, align 8 + %2 = load i8*, i8** %p.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %2, i64 8 + %3 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %3 to i32 + %4 = load i8*, i8** %s, align 8 + %arrayidx1 = getelementptr inbounds i8, i8* %4, i64 8 + %5 = load i8, i8* %arrayidx1, align 1 + %conv2 = zext i8 %5 to i32 + %cmp = icmp ne i32 %conv, %conv2 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %6 = load i8*, i8** %p.addr, align 8 + %arrayidx4 = getelementptr inbounds i8, i8* %6, i64 9 + %7 = load i8, i8* %arrayidx4, align 1 + %conv5 = zext i8 %7 to i32 + %8 = load i8*, i8** %s, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %8, i64 9 + %9 = load i8, i8* %arrayidx6, align 1 + %conv7 = zext i8 %9 to i32 + %cmp8 = icmp ne i32 %conv5, %conv7 + br i1 %cmp8, label %if.then, label %if.end22 + +if.then: ; preds = %lor.lhs.false, %entry + %10 = load i8*, i8** %p.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv10 = zext i8 %11 to i32 + %and = and i32 %conv10, 127 + %shl = shl i32 %and, 7 + %12 = load i8*, i8** %p.addr, align 8 + %arrayidx11 = getelementptr inbounds i8, i8* %12, i64 1 + %13 = load i8, i8* %arrayidx11, align 1 + %conv12 = zext i8 %13 to i32 + %and13 = and i32 %conv12, 127 + %add = add nsw i32 %shl, %and13 + store i32 %add, i32* %row, align 4 + %14 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %14, i32 0, i32 31 + %15 = load i32, i32* %row, align 4 + %mul = mul nsw i32 9, %15 + %add14 = add nsw i32 %mul, 3 + %add15 = add nsw i32 %add14, 4 + %idxprom = sext i32 %add15 to i64 + %arrayidx16 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales, i64 0, i64 %idxprom + %16 = load i8, i8* %arrayidx16, align 1 + %conv17 = zext i8 %16 to i32 + %call = call i32 @init_cur_collate(i32 %conv17, %struct.__collate_t.200* %newcol) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end, label %if.then18 + +if.then18: ; preds = %if.then + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %if.then + %17 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %collate = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %17, i32 0, i32 118 + %index2weight19 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate, i32 0, i32 23 + %18 = load i16*, i16** %index2weight19, align 8 + %19 = bitcast i16* %18 to i8* + call void @free(i8* %19) #19 + %20 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %collate20 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %20, i32 0, i32 118 + %21 = bitcast %struct.__collate_t.200* %collate20 to i8* + %22 = bitcast %struct.__collate_t.200* %newcol to i8* + %call21 = call i8* @memcpy(i8* %21, i8* %22, i64 112) #19 + br label %if.end22 + +if.end22: ; preds = %if.end, %lor.lhs.false + br label %do.body + +do.body: ; preds = %if.end313, %if.end22 + %23 = load i8*, i8** %p.addr, align 8 + %24 = load i8, i8* %23, align 1 + %conv23 = zext i8 %24 to i32 + %25 = load i8*, i8** %s, align 8 + %26 = load i8, i8* %25, align 1 + %conv24 = zext i8 %26 to i32 + %cmp25 = icmp ne i32 %conv23, %conv24 + br i1 %cmp25, label %if.then34, label %lor.lhs.false27 + +lor.lhs.false27: ; preds = %do.body + %27 = load i8*, i8** %p.addr, align 8 + %arrayidx28 = getelementptr inbounds i8, i8* %27, i64 1 + %28 = load i8, i8* %arrayidx28, align 1 + %conv29 = zext i8 %28 to i32 + %29 = load i8*, i8** %s, align 8 + %arrayidx30 = getelementptr inbounds i8, i8* %29, i64 1 + %30 = load i8, i8* %arrayidx30, align 1 + %conv31 = zext i8 %30 to i32 + %cmp32 = icmp ne i32 %conv29, %conv31 + br i1 %cmp32, label %if.then34, label %if.end313 + +if.then34: ; preds = %lor.lhs.false27, %do.body + %31 = load i8*, i8** %p.addr, align 8 + %32 = load i8, i8* %31, align 1 + %conv35 = zext i8 %32 to i32 + %and36 = and i32 %conv35, 127 + %shl37 = shl i32 %and36, 7 + %33 = load i8*, i8** %p.addr, align 8 + %arrayidx38 = getelementptr inbounds i8, i8* %33, i64 1 + %34 = load i8, i8* %arrayidx38, align 1 + %conv39 = zext i8 %34 to i32 + %and40 = and i32 %conv39, 127 + %add41 = add nsw i32 %shl37, %and40 + store i32 %add41, i32* %row, align 4 + %35 = load i8*, i8** %p.addr, align 8 + %36 = load i8, i8* %35, align 1 + %37 = load i8*, i8** %s, align 8 + store i8 %36, i8* %37, align 1 + %38 = load i8*, i8** %p.addr, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %38, i64 1 + %39 = load i8, i8* %arrayidx42, align 1 + %40 = load i8*, i8** %s, align 8 + %arrayidx43 = getelementptr inbounds i8, i8* %40, i64 1 + store i8 %39, i8* %arrayidx43, align 1 + %41 = load i32, i32* %i, align 4 + %cmp44 = icmp ne i32 %41, 4 + br i1 %cmp44, label %land.lhs.true, label %if.end92 + +land.lhs.true: ; preds = %if.then34 + %42 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_common_item_offsets_LEN = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %42, i32 0, i32 29 + %43 = load i32, i32* %i, align 4 + %idxprom46 = sext i32 %43 to i64 + %arrayidx47 = getelementptr inbounds [6 x i8], [6 x i8]* %lc_common_item_offsets_LEN, i64 0, i64 %idxprom46 + %44 = load i8, i8* %arrayidx47, align 1 + %conv48 = zext i8 %44 to i32 + store i32 %conv48, i32* %len, align 4 + %cmp49 = icmp ne i32 %conv48, 0 + br i1 %cmp49, label %if.then51, label %if.end92 + +if.then51: ; preds = %land.lhs.true + %45 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales52 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %45, i32 0, i32 31 + %46 = load i32, i32* %row, align 4 + %mul53 = mul nsw i32 9, %46 + %add54 = add nsw i32 %mul53, 3 + %47 = load i32, i32* %i, align 4 + %add55 = add nsw i32 %add54, %47 + %idxprom56 = sext i32 %add55 to i64 + %arrayidx57 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales52, i64 0, i64 %idxprom56 + %48 = load i8, i8* %arrayidx57, align 1 + %conv58 = zext i8 %48 to i32 + %49 = load i32, i32* %len, align 4 + %mul59 = mul nsw i32 %conv58, %49 + store i32 %mul59, i32* %crow, align 4 + %50 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %51 = bitcast %struct.__uclibc_locale_struct.201* %50 to i8* + %52 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %52, i32 0, i32 7 + %53 = load i32, i32* %i, align 4 + %idxprom60 = sext i32 %53 to i64 + %arrayidx61 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets, i64 0, i64 %idxprom60 + %54 = load i16, i16* %arrayidx61, align 2 + %conv62 = zext i16 %54 to i32 + %idx.ext = sext i32 %conv62 to i64 + %add.ptr63 = getelementptr inbounds i8, i8* %51, i64 %idx.ext + %55 = bitcast i8* %add.ptr63 to i8** + store i8** %55, i8*** %x, align 8 + %56 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_common_tbl_offsets = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %56, i32 0, i32 30 + %arraydecay64 = getelementptr inbounds [24 x i64], [24 x i64]* %lc_common_tbl_offsets, i64 0, i64 0 + %57 = load i32, i32* %i, align 4 + %mul65 = mul nsw i32 4, %57 + %idx.ext66 = sext i32 %mul65 to i64 + %add.ptr67 = getelementptr inbounds i64, i64* %arraydecay64, i64 %idx.ext66 + store i64* %add.ptr67, i64** %stp, align 8 + %58 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %59 = bitcast %struct.__locale_mmap_t.203* %58 to i8* + %60 = load i64*, i64** %stp, align 8 + %61 = load i64, i64* %60, align 8 + %add.ptr68 = getelementptr inbounds i8, i8* %59, i64 %61 + store i8* %add.ptr68, i8** %r, align 8 + %62 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %63 = bitcast %struct.__locale_mmap_t.203* %62 to i8* + %64 = load i64*, i64** %stp, align 8 + %incdec.ptr69 = getelementptr inbounds i64, i64* %64, i32 1 + store i64* %incdec.ptr69, i64** %stp, align 8 + %65 = load i64, i64* %incdec.ptr69, align 8 + %add.ptr70 = getelementptr inbounds i8, i8* %63, i64 %65 + %66 = bitcast i8* %add.ptr70 to i16* + store i16* %66, i16** %io, align 8 + %67 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %68 = bitcast %struct.__locale_mmap_t.203* %67 to i8* + %69 = load i64*, i64** %stp, align 8 + %incdec.ptr71 = getelementptr inbounds i64, i64* %69, i32 1 + store i64* %incdec.ptr71, i64** %stp, align 8 + %70 = load i64, i64* %incdec.ptr71, align 8 + %add.ptr72 = getelementptr inbounds i8, i8* %68, i64 %70 + %71 = bitcast i8* %add.ptr72 to i16* + store i16* %71, i16** %ii, align 8 + %72 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %73 = bitcast %struct.__locale_mmap_t.203* %72 to i8* + %74 = load i64*, i64** %stp, align 8 + %incdec.ptr73 = getelementptr inbounds i64, i64* %74, i32 1 + store i64* %incdec.ptr73, i64** %stp, align 8 + %75 = load i64, i64* %incdec.ptr73, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %73, i64 %75 + store i8* %add.ptr74, i8** %d, align 8 + store i32 0, i32* %c, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.then51 + %76 = load i32, i32* %c, align 4 + %77 = load i32, i32* %len, align 4 + %cmp75 = icmp slt i32 %76, %77 + br i1 %cmp75, label %for.body, label %if.end92 + +for.body: ; preds = %for.cond + %78 = load i8*, i8** %d, align 8 + %79 = load i16*, i16** %ii, align 8 + %80 = load i8*, i8** %r, align 8 + %81 = load i32, i32* %crow, align 4 + %82 = load i32, i32* %c, align 4 + %add77 = add nsw i32 %81, %82 + %idxprom78 = sext i32 %add77 to i64 + %arrayidx79 = getelementptr inbounds i8, i8* %80, i64 %idxprom78 + %83 = load i8, i8* %arrayidx79, align 1 + %conv80 = zext i8 %83 to i32 + %84 = load i16*, i16** %io, align 8 + %85 = load i32, i32* %c, align 4 + %idxprom81 = sext i32 %85 to i64 + %arrayidx82 = getelementptr inbounds i16, i16* %84, i64 %idxprom81 + %86 = load i16, i16* %arrayidx82, align 2 + %conv83 = zext i16 %86 to i32 + %add84 = add nsw i32 %conv80, %conv83 + %idxprom85 = sext i32 %add84 to i64 + %arrayidx86 = getelementptr inbounds i16, i16* %79, i64 %idxprom85 + %87 = load i16, i16* %arrayidx86, align 2 + %conv87 = zext i16 %87 to i32 + %idx.ext88 = sext i32 %conv87 to i64 + %add.ptr89 = getelementptr inbounds i8, i8* %78, i64 %idx.ext88 + %88 = load i8**, i8*** %x, align 8 + %89 = load i32, i32* %c, align 4 + %idx.ext90 = sext i32 %89 to i64 + %add.ptr91 = getelementptr inbounds i8*, i8** %88, i64 %idx.ext90 + store i8* %add.ptr89, i8** %add.ptr91, align 8 + %90 = load i32, i32* %c, align 4 + %inc = add nsw i32 %90, 1 + store i32 %inc, i32* %c, align 4 + br label %for.cond + +if.end92: ; preds = %for.cond, %land.lhs.true, %if.then34 + %91 = load i32, i32* %i, align 4 + %cmp93 = icmp eq i32 %91, 0 + br i1 %cmp93, label %if.then95, label %if.else295 + +if.then95: ; preds = %if.end92 + %92 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales96 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %92, i32 0, i32 31 + %93 = load i32, i32* %row, align 4 + %mul97 = mul nsw i32 9, %93 + %add98 = add nsw i32 %mul97, 2 + %idxprom99 = sext i32 %add98 to i64 + %arrayidx100 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales96, i64 0, i64 %idxprom99 + %94 = load i8, i8* %arrayidx100, align 1 + %conv101 = zext i8 %94 to i32 + store i32 %conv101, i32* %c, align 4 + %95 = load i32, i32* %c, align 4 + %cmp102 = icmp sle i32 %95, 2 + br i1 %cmp102, label %if.then104, label %if.else112 + +if.then104: ; preds = %if.then95 + %96 = load i32, i32* %c, align 4 + %cmp105 = icmp eq i32 %96, 2 + %97 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %codeset = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %97, i32 0, i32 38 + br i1 %cmp105, label %if.then107, label %if.else + +if.then107: ; preds = %if.then104 + store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf8, i64 0, i64 0), i8** %codeset, align 8 + %98 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %98, i32 0, i32 9 + store i8 1, i8* %encoding, align 8 + %99 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %mb_cur_max = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %99, i32 0, i32 10 + store i8 6, i8* %mb_cur_max, align 1 + br label %if.end280 + +if.else: ; preds = %if.then104 + store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @ascii, i64 0, i64 0), i8** %codeset, align 8 + %100 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %encoding109 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %100, i32 0, i32 9 + store i8 0, i8* %encoding109, align 8 + %101 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %mb_cur_max110 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %101, i32 0, i32 10 + store i8 1, i8* %mb_cur_max110, align 1 + br label %if.end280 + +if.else112: ; preds = %if.then95 + %102 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %102, i32 0, i32 35 + %arraydecay113 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list, i64 0, i64 0 + store i8* %arraydecay113, i8** %r, align 8 + %103 = load i8*, i8** %r, align 8 + %104 = load i8*, i8** %r, align 8 + %105 = load i32, i32* %c, align 4 + %sub = sub nsw i32 %105, 3 + store i32 %sub, i32* %c, align 4 + %idxprom114 = sext i32 %sub to i64 + %arrayidx115 = getelementptr inbounds i8, i8* %104, i64 %idxprom114 + %106 = load i8, i8* %arrayidx115, align 1 + %conv116 = zext i8 %106 to i32 + %idx.ext117 = sext i32 %conv116 to i64 + %add.ptr118 = getelementptr inbounds i8, i8* %103, i64 %idx.ext117 + %107 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %codeset119 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %107, i32 0, i32 38 + store i8* %add.ptr118, i8** %codeset119, align 8 + %108 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %encoding120 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %108, i32 0, i32 9 + store i8 2, i8* %encoding120, align 8 + %109 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %mb_cur_max121 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %109, i32 0, i32 10 + store i8 1, i8* %mb_cur_max121, align 1 + %110 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_8_bit = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %110, i32 0, i32 12 + %arraydecay122 = getelementptr inbounds [23 x %struct.__codeset_8_bit_t.202], [23 x %struct.__codeset_8_bit_t.202]* %codeset_8_bit, i64 0, i64 0 + %111 = load i32, i32* %c, align 4 + %idx.ext123 = sext i32 %111 to i64 + %add.ptr124 = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %arraydecay122, i64 %idx.ext123 + store %struct.__codeset_8_bit_t.202* %add.ptr124, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %112 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8ctype = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %112, i32 0, i32 0 + %arraydecay125 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8ctype, i64 0, i64 0 + %113 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8ctype126 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %113, i32 0, i32 12 + store i8* %arraydecay125, i8** %idx8ctype126, align 8 + %114 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8uplow = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %114, i32 0, i32 1 + %arraydecay127 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8uplow, i64 0, i64 0 + %115 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8uplow128 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %115, i32 0, i32 14 + store i8* %arraydecay127, i8** %idx8uplow128, align 8 + %116 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8c2wc = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %116, i32 0, i32 2 + %arraydecay129 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8c2wc, i64 0, i64 0 + %117 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8c2wc130 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %117, i32 0, i32 16 + store i8* %arraydecay129, i8** %idx8c2wc130, align 8 + %118 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8wc2c = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %118, i32 0, i32 3 + %arraydecay131 = getelementptr inbounds [38 x i8], [38 x i8]* %idx8wc2c, i64 0, i64 0 + %119 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8wc2c132 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %119, i32 0, i32 18 + store i8* %arraydecay131, i8** %idx8wc2c132, align 8 + %120 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b_data = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %120, i32 0, i32 3 + %arraydecay133 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data, i64 0, i64 0 + %121 = bitcast i16* %arraydecay133 to i8* + %122 = load i16*, i16** @__C_ctype_b, align 8 + %add.ptr134 = getelementptr inbounds i16, i16* %122, i64 -128 + %123 = bitcast i16* %add.ptr134 to i8* + %call135 = call i8* @memcpy(i8* %121, i8* %123, i64 768) #19 + %124 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %124, i32 0, i32 4 + %arraydecay136 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data, i64 0, i64 0 + %125 = bitcast i16* %arraydecay136 to i8* + %126 = load i16*, i16** @__C_ctype_tolower, align 8 + %add.ptr137 = getelementptr inbounds i16, i16* %126, i64 -128 + %127 = bitcast i16* %add.ptr137 to i8* + %call138 = call i8* @memcpy(i8* %125, i8* %127, i64 768) #19 + %128 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %128, i32 0, i32 5 + %arraydecay139 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data, i64 0, i64 0 + %129 = bitcast i16* %arraydecay139 to i8* + %130 = load i16*, i16** @__C_ctype_toupper, align 8 + %add.ptr140 = getelementptr inbounds i16, i16* %130, i64 -128 + %131 = bitcast i16* %add.ptr140 to i8* + %call141 = call i8* @memcpy(i8* %129, i8* %131, i64 768) #19 + store i32 0, i32* %u, align 4 + br label %for.cond142 + +for.cond142: ; preds = %for.inc268, %if.else112 + %132 = load i32, i32* %u, align 4 + %cmp143 = icmp slt i32 %132, 128 + %133 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + br i1 %cmp143, label %for.body145, label %for.end270 + +for.body145: ; preds = %for.cond142 + %tbl8ctype = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %133, i32 0, i32 13 + %134 = load i8*, i8** %tbl8ctype, align 8 + %135 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8ctype146 = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %135, i32 0, i32 0 + %136 = load i32, i32* %u, align 4 + %shr = ashr i32 %136, 3 + %idxprom147 = sext i32 %shr to i64 + %arrayidx148 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8ctype146, i64 0, i64 %idxprom147 + %137 = load i8, i8* %arrayidx148, align 1 + %conv149 = zext i8 %137 to i32 + %shl150 = shl i32 %conv149, 2 + %138 = load i32, i32* %u, align 4 + %and151 = and i32 %138, 7 + %shr152 = ashr i32 %and151, 1 + %add153 = add nsw i32 %shl150, %shr152 + %idxprom154 = sext i32 %add153 to i64 + %arrayidx155 = getelementptr inbounds i8, i8* %134, i64 %idxprom154 + %139 = load i8, i8* %arrayidx155, align 1 + %conv156 = zext i8 %139 to i32 + store i32 %conv156, i32* %c, align 4 + %140 = load i32, i32* %u, align 4 + %and157 = and i32 %140, 1 + %tobool158 = icmp ne i32 %and157, 0 + %141 = load i32, i32* %c, align 4 + %shr159 = ashr i32 %141, 4 + %and160 = and i32 %141, 15 + %cond = select i1 %tobool158, i32 %shr159, i32 %and160 + store i32 %cond, i32* %c, align 4 + %142 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %code2flag = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %142, i32 0, i32 20 + %143 = load i16*, i16** %code2flag, align 8 + %144 = load i32, i32* %c, align 4 + %idxprom161 = sext i32 %144 to i64 + %arrayidx162 = getelementptr inbounds i16, i16* %143, i64 %idxprom161 + %145 = load i16, i16* %arrayidx162, align 2 + store i16 %145, i16* %m, align 2 + %146 = load i16, i16* %m, align 2 + %147 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b_data163 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %147, i32 0, i32 3 + %148 = load i32, i32* %u, align 4 + %add164 = add nsw i32 256, %148 + %idxprom165 = sext i32 %add164 to i64 + %arrayidx166 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data163, i64 0, i64 %idxprom165 + store i16 %146, i16* %arrayidx166, align 2 + %149 = load i32, i32* %u, align 4 + %add167 = add nsw i32 128, %149 + %conv168 = trunc i32 %add167 to i8 + %conv169 = sext i8 %conv168 to i32 + %cmp170 = icmp ne i32 %conv169, -1 + br i1 %cmp170, label %if.then172, label %if.end180 + +if.then172: ; preds = %for.body145 + %150 = load i16, i16* %m, align 2 + %151 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b_data173 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %151, i32 0, i32 3 + %152 = load i32, i32* %u, align 4 + %add174 = add nsw i32 128, %152 + %conv175 = trunc i32 %add174 to i8 + %conv176 = sext i8 %conv175 to i32 + %add177 = add nsw i32 128, %conv176 + %idxprom178 = sext i32 %add177 to i64 + %arrayidx179 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data173, i64 0, i64 %idxprom178 + store i16 %150, i16* %arrayidx179, align 2 + br label %if.end180 + +if.end180: ; preds = %if.then172, %for.body145 + %153 = load i32, i32* %u, align 4 + %add181 = add nsw i32 128, %153 + %conv182 = trunc i32 %add181 to i16 + %154 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data183 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %154, i32 0, i32 4 + %155 = load i32, i32* %u, align 4 + %add184 = add nsw i32 256, %155 + %idxprom185 = sext i32 %add184 to i64 + %arrayidx186 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data183, i64 0, i64 %idxprom185 + store i16 %conv182, i16* %arrayidx186, align 2 + %156 = load i32, i32* %u, align 4 + %add187 = add nsw i32 128, %156 + %conv188 = trunc i32 %add187 to i16 + %157 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data189 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %157, i32 0, i32 5 + %158 = load i32, i32* %u, align 4 + %add190 = add nsw i32 256, %158 + %idxprom191 = sext i32 %add190 to i64 + %arrayidx192 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data189, i64 0, i64 %idxprom191 + store i16 %conv188, i16* %arrayidx192, align 2 + %159 = load i16, i16* %m, align 2 + %conv193 = zext i16 %159 to i32 + %and194 = and i32 %conv193, 768 + %tobool195 = icmp ne i32 %and194, 0 + br i1 %tobool195, label %if.then196, label %for.inc268 + +if.then196: ; preds = %if.end180 + %160 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8uplow = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %160, i32 0, i32 15 + %161 = load i8*, i8** %tbl8uplow, align 8 + %162 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8uplow197 = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %162, i32 0, i32 1 + %163 = load i32, i32* %u, align 4 + %shr198 = ashr i32 %163, 3 + %idxprom199 = sext i32 %shr198 to i64 + %arrayidx200 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8uplow197, i64 0, i64 %idxprom199 + %164 = load i8, i8* %arrayidx200, align 1 + %conv201 = zext i8 %164 to i32 + %shl202 = shl i32 %conv201, 3 + %165 = load i32, i32* %u, align 4 + %add203 = add nsw i32 128, %165 + %and204 = and i32 %add203, 7 + %add205 = add nsw i32 %shl202, %and204 + %idxprom206 = sext i32 %add205 to i64 + %arrayidx207 = getelementptr inbounds i8, i8* %161, i64 %idxprom206 + %166 = load i8, i8* %arrayidx207, align 1 + %conv208 = zext i8 %166 to i32 + store i32 %conv208, i32* %c, align 4 + %167 = load i16, i16* %m, align 2 + %conv209 = zext i16 %167 to i32 + %and210 = and i32 %conv209, 512 + %tobool211 = icmp ne i32 %and210, 0 + %168 = load i32, i32* %u, align 4 + %add213 = add nsw i32 128, %168 + %169 = load i32, i32* %c, align 4 + br i1 %tobool211, label %if.then212, label %if.else239 + +if.then212: ; preds = %if.then196 + %add214 = add nsw i32 %add213, %169 + %conv215 = trunc i32 %add214 to i8 + %conv216 = zext i8 %conv215 to i16 + %170 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data217 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %170, i32 0, i32 5 + %171 = load i32, i32* %u, align 4 + %add218 = add nsw i32 256, %171 + %idxprom219 = sext i32 %add218 to i64 + %arrayidx220 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data217, i64 0, i64 %idxprom219 + store i16 %conv216, i16* %arrayidx220, align 2 + %172 = load i32, i32* %u, align 4 + %add221 = add nsw i32 128, %172 + %conv222 = trunc i32 %add221 to i8 + %conv223 = sext i8 %conv222 to i32 + %cmp224 = icmp ne i32 %conv223, -1 + br i1 %cmp224, label %if.then226, label %for.inc268 + +if.then226: ; preds = %if.then212 + %173 = load i32, i32* %u, align 4 + %add227 = add nsw i32 128, %173 + %174 = load i32, i32* %c, align 4 + %add228 = add nsw i32 %add227, %174 + %conv229 = trunc i32 %add228 to i8 + %conv230 = zext i8 %conv229 to i16 + %175 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data231 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %175, i32 0, i32 5 + %176 = load i32, i32* %u, align 4 + %add232 = add nsw i32 128, %176 + %conv233 = trunc i32 %add232 to i8 + %conv234 = sext i8 %conv233 to i32 + %add235 = add nsw i32 128, %conv234 + %idxprom236 = sext i32 %add235 to i64 + %arrayidx237 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data231, i64 0, i64 %idxprom236 + store i16 %conv230, i16* %arrayidx237, align 2 + br label %for.inc268 + +if.else239: ; preds = %if.then196 + %sub241 = sub nsw i32 %add213, %169 + %conv242 = trunc i32 %sub241 to i8 + %conv243 = zext i8 %conv242 to i16 + %177 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data244 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %177, i32 0, i32 4 + %178 = load i32, i32* %u, align 4 + %add245 = add nsw i32 256, %178 + %idxprom246 = sext i32 %add245 to i64 + %arrayidx247 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data244, i64 0, i64 %idxprom246 + store i16 %conv243, i16* %arrayidx247, align 2 + %179 = load i32, i32* %u, align 4 + %add248 = add nsw i32 128, %179 + %conv249 = trunc i32 %add248 to i8 + %conv250 = sext i8 %conv249 to i32 + %cmp251 = icmp ne i32 %conv250, -1 + br i1 %cmp251, label %if.then253, label %for.inc268 + +if.then253: ; preds = %if.else239 + %180 = load i32, i32* %u, align 4 + %add254 = add nsw i32 128, %180 + %181 = load i32, i32* %c, align 4 + %sub255 = sub nsw i32 %add254, %181 + %conv256 = trunc i32 %sub255 to i8 + %conv257 = zext i8 %conv256 to i16 + %182 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data258 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %182, i32 0, i32 4 + %183 = load i32, i32* %u, align 4 + %add259 = add nsw i32 128, %183 + %conv260 = trunc i32 %add259 to i8 + %conv261 = sext i8 %conv260 to i32 + %add262 = add nsw i32 128, %conv261 + %idxprom263 = sext i32 %add262 to i64 + %arrayidx264 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data258, i64 0, i64 %idxprom263 + store i16 %conv257, i16* %arrayidx264, align 2 + br label %for.inc268 + +for.inc268: ; preds = %if.end180, %if.else239, %if.then253, %if.then212, %if.then226 + %184 = load i32, i32* %u, align 4 + %inc269 = add nsw i32 %184, 1 + store i32 %inc269, i32* %u, align 4 + br label %for.cond142 + +for.end270: ; preds = %for.cond142 + %__ctype_b_data271 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %133, i32 0, i32 3 + %arraydecay272 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data271, i64 0, i64 0 + %add.ptr273 = getelementptr inbounds i16, i16* %arraydecay272, i64 128 + %185 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %185, i32 0, i32 0 + store i16* %add.ptr273, i16** %__ctype_b, align 8 + %186 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data274 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %186, i32 0, i32 4 + %arraydecay275 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data274, i64 0, i64 0 + %add.ptr276 = getelementptr inbounds i16, i16* %arraydecay275, i64 128 + %187 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %187, i32 0, i32 1 + store i16* %add.ptr276, i16** %__ctype_tolower, align 8 + %188 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data277 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %188, i32 0, i32 5 + %arraydecay278 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data277, i64 0, i64 0 + %add.ptr279 = getelementptr inbounds i16, i16* %arraydecay278, i64 128 + %189 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %189, i32 0, i32 2 + store i16* %add.ptr279, i16** %__ctype_toupper, align 8 + br label %if.end280 + +if.end280: ; preds = %if.then107, %if.else, %for.end270 + %190 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %outdigit_length = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %190, i32 0, i32 11 + %arraydecay281 = getelementptr inbounds [10 x i8], [10 x i8]* %outdigit_length, i64 0, i64 0 + store i8* %arraydecay281, i8** %d, align 8 + %191 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %outdigit0_mb = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %191, i32 0, i32 28 + store i8** %outdigit0_mb, i8*** %x, align 8 + store i32 0, i32* %c, align 4 + br label %for.cond282 + +for.cond282: ; preds = %for.body285, %if.end280 + %192 = load i32, i32* %c, align 4 + %cmp283 = icmp slt i32 %192, 10 + br i1 %cmp283, label %for.body285, label %if.end313 + +for.body285: ; preds = %for.cond282 + %193 = load i8**, i8*** %x, align 8 + %194 = load i32, i32* %c, align 4 + %idxprom286 = sext i32 %194 to i64 + %arrayidx287 = getelementptr inbounds i8*, i8** %193, i64 %idxprom286 + %195 = load i8*, i8** %arrayidx287, align 8 + %call288 = call i64 @strlen(i8* %195) #20 + %conv289 = trunc i64 %call288 to i8 + %196 = load i8*, i8** %d, align 8 + %197 = load i32, i32* %c, align 4 + %idxprom290 = sext i32 %197 to i64 + %arrayidx291 = getelementptr inbounds i8, i8* %196, i64 %idxprom290 + store i8 %conv289, i8* %arrayidx291, align 1 + %198 = load i32, i32* %c, align 4 + %inc293 = add nsw i32 %198, 1 + store i32 %inc293, i32* %c, align 4 + br label %for.cond282 + +if.else295: ; preds = %if.end92 + %199 = load i32, i32* %i, align 4 + %cmp296 = icmp eq i32 %199, 1 + br i1 %cmp296, label %if.then298, label %if.end313 + +if.then298: ; preds = %if.else295 + %200 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %decimal_point_wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %200, i32 0, i32 24 + %201 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %decimal_point = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %201, i32 0, i32 39 + %202 = load i8*, i8** %decimal_point, align 8 + %203 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call299 = call i32 @__locale_mbrtowc_l(i32* %decimal_point_wc, i8* %202, %struct.__uclibc_locale_struct.201* %203) #18 + %204 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %decimal_point_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %204, i32 0, i32 26 + store i32 %call299, i32* %decimal_point_len, align 8 + %205 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %grouping = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %205, i32 0, i32 41 + %206 = load i8*, i8** %grouping, align 8 + %207 = load i8, i8* %206, align 1 + %tobool300 = icmp ne i8 %207, 0 + br i1 %tobool300, label %if.then301, label %if.end313 + +if.then301: ; preds = %if.then298 + %208 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep_wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %208, i32 0, i32 25 + %209 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %209, i32 0, i32 40 + %210 = load i8*, i8** %thousands_sep, align 8 + %211 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call302 = call i32 @__locale_mbrtowc_l(i32* %thousands_sep_wc, i8* %210, %struct.__uclibc_locale_struct.201* %211) #18 + %212 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %212, i32 0, i32 27 + store i32 %call302, i32* %thousands_sep_len, align 4 + %213 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep_len303 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %213, i32 0, i32 27 + %214 = load i32, i32* %thousands_sep_len303, align 4 + %cmp304 = icmp eq i32 %214, 0 + br i1 %cmp304, label %if.then306, label %if.end313 + +if.then306: ; preds = %if.then301 + %215 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep307 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %215, i32 0, i32 40 + %216 = load i8*, i8** %thousands_sep307, align 8 + %217 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %grouping308 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %217, i32 0, i32 41 + store i8* %216, i8** %grouping308, align 8 + br label %if.end313 + +if.end313: ; preds = %for.cond282, %if.then298, %if.then306, %if.then301, %if.else295, %lor.lhs.false27 + %218 = load i32, i32* %i, align 4 + %inc314 = add nsw i32 %218, 1 + store i32 %inc314, i32* %i, align 4 + %219 = load i8*, i8** %p.addr, align 8 + %add.ptr315 = getelementptr inbounds i8, i8* %219, i64 2 + store i8* %add.ptr315, i8** %p.addr, align 8 + %220 = load i8*, i8** %s, align 8 + %add.ptr316 = getelementptr inbounds i8, i8* %220, i64 2 + store i8* %add.ptr316, i8** %s, align 8 + %221 = load i32, i32* %i, align 4 + %cmp317 = icmp slt i32 %221, 6 + br i1 %cmp317, label %do.body, label %do.end + +do.end: ; preds = %if.end313 + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end, %if.then18 + %222 = load i32, i32* %retval, align 4 + ret i32 %222 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @init_cur_collate(i32 %der_num, %struct.__collate_t.200* %cur_collate) #0 { +entry: + %retval = alloca i32, align 4 + %der_num.addr = alloca i32, align 4 + %cur_collate.addr = alloca %struct.__collate_t.200*, align 8 + %__locale_collate_tbl = alloca i16*, align 8 + %cdh = alloca %struct.coldata_header_t*, align 8 + %cdb = alloca %struct.coldata_base_t*, align 8 + %cdd = alloca %struct.winsize*, align 8 + %p = alloca i16*, align 8 + %n = alloca i64, align 8 + %i = alloca i16, align 2 + %w = alloca i16, align 2 + store i32 %der_num, i32* %der_num.addr, align 4 + store %struct.__collate_t.200* %cur_collate, %struct.__collate_t.200** %cur_collate.addr, align 8 + %0 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %collate_data = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %0, i32 0, i32 28 + %arraydecay = getelementptr inbounds [91141 x i16], [91141 x i16]* %collate_data, i64 0, i64 0 + store i16* %arraydecay, i16** %__locale_collate_tbl, align 8 + %1 = load i32, i32* %der_num.addr, align 4 + %tobool = icmp ne i32 %1, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %2 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %num_weights = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %2, i32 0, i32 0 + store i16 0, i16* %num_weights, align 8 + store i32 1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* %der_num.addr, align 4 + %dec = add nsw i32 %3, -1 + store i32 %dec, i32* %der_num.addr, align 4 + %4 = load i16*, i16** %__locale_collate_tbl, align 8 + %5 = bitcast i16* %4 to %struct.coldata_header_t* + store %struct.coldata_header_t* %5, %struct.coldata_header_t** %cdh, align 8 + %6 = load i16*, i16** %__locale_collate_tbl, align 8 + %7 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_base = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %7, i32 0, i32 0 + %8 = load i16, i16* %num_base, align 2 + %conv = zext i16 %8 to i64 + %mul = mul i64 %conv, 38 + %add = add i64 16, %mul + %9 = load i32, i32* %der_num.addr, align 4 + %conv1 = sext i32 %9 to i64 + %mul2 = mul i64 %conv1, 8 + %add3 = add i64 %add, %mul2 + %div = udiv i64 %add3, 2 + %add.ptr = getelementptr inbounds i16, i16* %6, i64 %div + %10 = bitcast i16* %add.ptr to %struct.winsize* + store %struct.winsize* %10, %struct.winsize** %cdd, align 8 + %11 = load i16*, i16** %__locale_collate_tbl, align 8 + %12 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %base_idx = getelementptr inbounds %struct.winsize, %struct.winsize* %12, i32 0, i32 0 + %13 = load i16, i16* %base_idx, align 2 + %conv4 = zext i16 %13 to i64 + %mul5 = mul i64 %conv4, 38 + %add6 = add i64 16, %mul5 + %div7 = udiv i64 %add6, 2 + %add.ptr8 = getelementptr inbounds i16, i16* %11, i64 %div7 + %14 = bitcast i16* %add.ptr8 to %struct.coldata_base_t* + store %struct.coldata_base_t* %14, %struct.coldata_base_t** %cdb, align 8 + %15 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %16 = bitcast %struct.__collate_t.200* %15 to i8* + %17 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %18 = bitcast %struct.coldata_base_t* %17 to i8* + %call = call i8* @memcpy(i8* %16, i8* %18, i64 28) #19 + %19 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %undefined_idx = getelementptr inbounds %struct.winsize, %struct.winsize* %19, i32 0, i32 1 + %20 = load i16, i16* %undefined_idx, align 2 + %21 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %undefined_idx9 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %21, i32 0, i32 9 + store i16 %20, i16* %undefined_idx9, align 2 + %22 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ti_shift = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %22, i32 0, i32 3 + %23 = load i16, i16* %ti_shift, align 2 + %conv10 = zext i16 %23 to i32 + %shl = shl i32 1, %conv10 + %sub = sub nsw i32 %shl, 1 + %conv11 = trunc i32 %sub to i16 + %24 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ti_mask = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %24, i32 0, i32 15 + store i16 %conv11, i16* %ti_mask, align 2 + %25 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ii_shift = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %25, i32 0, i32 2 + %26 = load i16, i16* %ii_shift, align 4 + %conv12 = zext i16 %26 to i32 + %shl13 = shl i32 1, %conv12 + %sub14 = sub nsw i32 %shl13, 1 + %conv15 = trunc i32 %sub14 to i16 + %27 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ii_mask = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %27, i32 0, i32 14 + store i16 %conv15, i16* %ii_mask, align 4 + %28 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_base16 = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %28, i32 0, i32 0 + %29 = load i16, i16* %num_base16, align 2 + %conv17 = zext i16 %29 to i64 + %mul18 = mul i64 %conv17, 38 + %add19 = add i64 16, %mul18 + %30 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_der = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %30, i32 0, i32 1 + %31 = load i16, i16* %num_der, align 2 + %conv20 = zext i16 %31 to i64 + %mul21 = mul i64 %conv20, 8 + %add22 = add i64 %add19, %mul21 + %div23 = udiv i64 %add22, 2 + store i64 %div23, i64* %n, align 8 + %32 = load i16*, i16** %__locale_collate_tbl, align 8 + %33 = load i64, i64* %n, align 8 + %add.ptr24 = getelementptr inbounds i16, i16* %32, i64 %33 + %34 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %index2weight_offset = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %34, i32 0, i32 14 + %35 = load i16, i16* %index2weight_offset, align 2 + %conv25 = zext i16 %35 to i32 + %idx.ext = sext i32 %conv25 to i64 + %add.ptr26 = getelementptr inbounds i16, i16* %add.ptr24, i64 %idx.ext + %36 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %36, i32 0, i32 16 + store i16* %add.ptr26, i16** %index2weight_tbl, align 8 + %37 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_index2weight = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %37, i32 0, i32 3 + %38 = load i16, i16* %num_index2weight, align 2 + %conv27 = zext i16 %38 to i64 + %39 = load i64, i64* %n, align 8 + %add28 = add i64 %39, %conv27 + store i64 %add28, i64* %n, align 8 + %40 = load i16*, i16** %__locale_collate_tbl, align 8 + %41 = load i64, i64* %n, align 8 + %add.ptr29 = getelementptr inbounds i16, i16* %40, i64 %41 + %42 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %index2ruleidx_offset = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %42, i32 0, i32 15 + %43 = load i16, i16* %index2ruleidx_offset, align 2 + %conv30 = zext i16 %43 to i32 + %idx.ext31 = sext i32 %conv30 to i64 + %add.ptr32 = getelementptr inbounds i16, i16* %add.ptr29, i64 %idx.ext31 + %44 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %44, i32 0, i32 17 + store i16* %add.ptr32, i16** %index2ruleidx_tbl, align 8 + %45 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_index2weight33 = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %45, i32 0, i32 3 + %46 = load i16, i16* %num_index2weight33, align 2 + %conv34 = zext i16 %46 to i64 + %47 = load i64, i64* %n, align 8 + %add35 = add i64 %47, %conv34 + store i64 %add35, i64* %n, align 8 + %48 = load i16*, i16** %__locale_collate_tbl, align 8 + %49 = load i64, i64* %n, align 8 + %add.ptr36 = getelementptr inbounds i16, i16* %48, i64 %49 + %50 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %multistart_offset = getelementptr inbounds %struct.winsize, %struct.winsize* %50, i32 0, i32 3 + %51 = load i16, i16* %multistart_offset, align 2 + %conv37 = zext i16 %51 to i32 + %idx.ext38 = sext i32 %conv37 to i64 + %add.ptr39 = getelementptr inbounds i16, i16* %add.ptr36, i64 %idx.ext38 + %52 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %multistart_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %52, i32 0, i32 18 + store i16* %add.ptr39, i16** %multistart_tbl, align 8 + %53 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_multistart = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %53, i32 0, i32 5 + %54 = load i16, i16* %num_multistart, align 2 + %conv40 = zext i16 %54 to i64 + %55 = load i64, i64* %n, align 8 + %add41 = add i64 %55, %conv40 + store i64 %add41, i64* %n, align 8 + %56 = load i16*, i16** %__locale_collate_tbl, align 8 + %57 = load i64, i64* %n, align 8 + %add.ptr42 = getelementptr inbounds i16, i16* %56, i64 %57 + %58 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %overrides_offset = getelementptr inbounds %struct.winsize, %struct.winsize* %58, i32 0, i32 2 + %59 = load i16, i16* %overrides_offset, align 2 + %conv43 = zext i16 %59 to i32 + %idx.ext44 = sext i32 %conv43 to i64 + %add.ptr45 = getelementptr inbounds i16, i16* %add.ptr42, i64 %idx.ext44 + %60 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %overrides_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %60, i32 0, i32 20 + store i16* %add.ptr45, i16** %overrides_tbl, align 8 + %61 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_override = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %61, i32 0, i32 6 + %62 = load i16, i16* %num_override, align 2 + %conv46 = zext i16 %62 to i64 + %63 = load i64, i64* %n, align 8 + %add47 = add i64 %63, %conv46 + store i64 %add47, i64* %n, align 8 + %64 = load i16*, i16** %__locale_collate_tbl, align 8 + %65 = load i64, i64* %n, align 8 + %add.ptr48 = getelementptr inbounds i16, i16* %64, i64 %65 + %66 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ruletable = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %66, i32 0, i32 22 + store i16* %add.ptr48, i16** %ruletable, align 8 + %67 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_ruletable = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %67, i32 0, i32 7 + %68 = load i16, i16* %num_ruletable, align 2 + %conv49 = zext i16 %68 to i64 + %69 = load i64, i64* %n, align 8 + %add50 = add i64 %69, %conv49 + store i64 %add50, i64* %n, align 8 + %70 = load i16*, i16** %__locale_collate_tbl, align 8 + %71 = load i64, i64* %n, align 8 + %add.ptr51 = getelementptr inbounds i16, i16* %70, i64 %71 + %72 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %weightstr = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %72, i32 0, i32 21 + store i16* %add.ptr51, i16** %weightstr, align 8 + %73 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_weightstr = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %73, i32 0, i32 4 + %74 = load i16, i16* %num_weightstr, align 2 + %conv52 = zext i16 %74 to i64 + %75 = load i64, i64* %n, align 8 + %add53 = add i64 %75, %conv52 + store i64 %add53, i64* %n, align 8 + %76 = load i16*, i16** %__locale_collate_tbl, align 8 + %77 = load i64, i64* %n, align 8 + %add.ptr54 = getelementptr inbounds i16, i16* %76, i64 %77 + %78 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %wcs2colidt_offset_hi = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %78, i32 0, i32 18 + %79 = load i16, i16* %wcs2colidt_offset_hi, align 2 + %conv55 = zext i16 %79 to i64 + %shl56 = shl i64 %conv55, 16 + %add.ptr57 = getelementptr inbounds i16, i16* %add.ptr54, i64 %shl56 + %80 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %wcs2colidt_offset_low = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %80, i32 0, i32 17 + %81 = load i16, i16* %wcs2colidt_offset_low, align 2 + %conv58 = zext i16 %81 to i32 + %idx.ext59 = sext i32 %conv58 to i64 + %add.ptr60 = getelementptr inbounds i16, i16* %add.ptr57, i64 %idx.ext59 + %82 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %wcs2colidt_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %82, i32 0, i32 19 + store i16* %add.ptr60, i16** %wcs2colidt_tbl, align 8 + %83 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %MAX_WEIGHTS = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %83, i32 0, i32 2 + %84 = load i16, i16* %MAX_WEIGHTS, align 2 + %85 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %MAX_WEIGHTS61 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %85, i32 0, i32 25 + store i16 %84, i16* %MAX_WEIGHTS61, align 8 + %86 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %max_col_index = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %86, i32 0, i32 8 + %87 = load i16, i16* %max_col_index, align 8 + %conv62 = zext i16 %87 to i32 + %mul63 = mul nsw i32 2, %conv62 + %add64 = add nsw i32 %mul63, 2 + %conv65 = sext i32 %add64 to i64 + %call66 = call noalias i8* @calloc(i64 %conv65, i64 2) #19 + %88 = bitcast i8* %call66 to i16* + %89 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %89, i32 0, i32 23 + store i16* %88, i16** %index2weight, align 8 + %90 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight67 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %90, i32 0, i32 23 + %91 = load i16*, i16** %index2weight67, align 8 + %tobool68 = icmp ne i16* %91, null + br i1 %tobool68, label %if.end70, label %if.then69 + +if.then69: ; preds = %if.end + store i32 0, i32* %retval, align 4 + br label %return + +if.end70: ; preds = %if.end + %92 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight71 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %92, i32 0, i32 23 + %93 = load i16*, i16** %index2weight71, align 8 + %94 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %max_col_index72 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %94, i32 0, i32 8 + %95 = load i16, i16* %max_col_index72, align 8 + %conv73 = zext i16 %95 to i32 + %idx.ext74 = sext i32 %conv73 to i64 + %add.ptr75 = getelementptr inbounds i16, i16* %93, i64 %idx.ext74 + %add.ptr76 = getelementptr inbounds i16, i16* %add.ptr75, i64 1 + %96 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %96, i32 0, i32 24 + store i16* %add.ptr76, i16** %index2ruleidx, align 8 + %97 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight77 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %97, i32 0, i32 23 + %98 = load i16*, i16** %index2weight77, align 8 + %99 = bitcast i16* %98 to i8* + %100 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight_tbl78 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %100, i32 0, i32 16 + %101 = load i16*, i16** %index2weight_tbl78, align 8 + %102 = bitcast i16* %101 to i8* + %103 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %num_col_base = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %103, i32 0, i32 7 + %104 = load i16, i16* %num_col_base, align 2 + %conv79 = zext i16 %104 to i64 + %mul80 = mul i64 %conv79, 2 + %call81 = call i8* @memcpy(i8* %99, i8* %102, i64 %mul80) #19 + %105 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx82 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %105, i32 0, i32 24 + %106 = load i16*, i16** %index2ruleidx82, align 8 + %107 = bitcast i16* %106 to i8* + %108 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx_tbl83 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %108, i32 0, i32 17 + %109 = load i16*, i16** %index2ruleidx_tbl83, align 8 + %110 = bitcast i16* %109 to i8* + %111 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %num_col_base84 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %111, i32 0, i32 7 + %112 = load i16, i16* %num_col_base84, align 2 + %conv85 = zext i16 %112 to i64 + %mul86 = mul i64 %conv85, 2 + %call87 = call i8* @memcpy(i8* %107, i8* %110, i64 %mul86) #19 + %113 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %overrides_tbl88 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %113, i32 0, i32 20 + %114 = load i16*, i16** %overrides_tbl88, align 8 + store i16* %114, i16** %p, align 8 + br label %while.cond + +while.cond: ; preds = %do.body, %if.end70 + %115 = load i16*, i16** %p, align 8 + %116 = load i16, i16* %115, align 2 + %conv89 = zext i16 %116 to i32 + %cmp = icmp sgt i32 %conv89, 1 + br i1 %cmp, label %while.body, label %while.cond105 + +while.body: ; preds = %while.cond + %117 = load i16*, i16** %p, align 8 + %incdec.ptr = getelementptr inbounds i16, i16* %117, i32 1 + store i16* %incdec.ptr, i16** %p, align 8 + %118 = load i16, i16* %117, align 2 + %conv91 = zext i16 %118 to i64 + store i64 %conv91, i64* %n, align 8 + %119 = load i16*, i16** %p, align 8 + %incdec.ptr92 = getelementptr inbounds i16, i16* %119, i32 1 + store i16* %incdec.ptr92, i16** %p, align 8 + %120 = load i16, i16* %119, align 2 + store i16 %120, i16* %w, align 2 + br label %do.body + +do.body: ; preds = %do.body, %while.body + %121 = load i16*, i16** %p, align 8 + %incdec.ptr93 = getelementptr inbounds i16, i16* %121, i32 1 + store i16* %incdec.ptr93, i16** %p, align 8 + %122 = load i16, i16* %121, align 2 + store i16 %122, i16* %i, align 2 + %123 = load i16, i16* %w, align 2 + %inc = add i16 %123, 1 + store i16 %inc, i16* %w, align 2 + %124 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight94 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %124, i32 0, i32 23 + %125 = load i16*, i16** %index2weight94, align 8 + %126 = load i16, i16* %i, align 2 + %conv95 = zext i16 %126 to i32 + %sub96 = sub nsw i32 %conv95, 1 + %idxprom = sext i32 %sub96 to i64 + %arrayidx = getelementptr inbounds i16, i16* %125, i64 %idxprom + store i16 %123, i16* %arrayidx, align 2 + %127 = load i16*, i16** %p, align 8 + %incdec.ptr97 = getelementptr inbounds i16, i16* %127, i32 1 + store i16* %incdec.ptr97, i16** %p, align 8 + %128 = load i16, i16* %127, align 2 + %129 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx98 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %129, i32 0, i32 24 + %130 = load i16*, i16** %index2ruleidx98, align 8 + %131 = load i16, i16* %i, align 2 + %conv99 = zext i16 %131 to i32 + %sub100 = sub nsw i32 %conv99, 1 + %idxprom101 = sext i32 %sub100 to i64 + %arrayidx102 = getelementptr inbounds i16, i16* %130, i64 %idxprom101 + store i16 %128, i16* %arrayidx102, align 2 + %132 = load i64, i64* %n, align 8 + %dec103 = add i64 %132, -1 + store i64 %dec103, i64* %n, align 8 + %tobool104 = icmp ne i64 %dec103, 0 + br i1 %tobool104, label %do.body, label %while.cond + +while.cond105: ; preds = %while.cond, %while.body108 + %133 = load i16*, i16** %p, align 8 + %incdec.ptr106 = getelementptr inbounds i16, i16* %133, i32 1 + store i16* %incdec.ptr106, i16** %p, align 8 + %134 = load i16, i16* %incdec.ptr106, align 2 + %tobool107 = icmp ne i16 %134, 0 + br i1 %tobool107, label %while.body108, label %while.end121 + +while.body108: ; preds = %while.cond105 + %135 = load i16*, i16** %p, align 8 + %136 = load i16, i16* %135, align 2 + store i16 %136, i16* %i, align 2 + %137 = load i16*, i16** %p, align 8 + %incdec.ptr109 = getelementptr inbounds i16, i16* %137, i32 1 + store i16* %incdec.ptr109, i16** %p, align 8 + %138 = load i16, i16* %incdec.ptr109, align 2 + %139 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight110 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %139, i32 0, i32 23 + %140 = load i16*, i16** %index2weight110, align 8 + %141 = load i16, i16* %i, align 2 + %conv111 = zext i16 %141 to i32 + %sub112 = sub nsw i32 %conv111, 1 + %idxprom113 = sext i32 %sub112 to i64 + %arrayidx114 = getelementptr inbounds i16, i16* %140, i64 %idxprom113 + store i16 %138, i16* %arrayidx114, align 2 + %142 = load i16*, i16** %p, align 8 + %incdec.ptr115 = getelementptr inbounds i16, i16* %142, i32 1 + store i16* %incdec.ptr115, i16** %p, align 8 + %143 = load i16, i16* %incdec.ptr115, align 2 + %144 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx116 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %144, i32 0, i32 24 + %145 = load i16*, i16** %index2ruleidx116, align 8 + %146 = load i16, i16* %i, align 2 + %conv117 = zext i16 %146 to i32 + %sub118 = sub nsw i32 %conv117, 1 + %idxprom119 = sext i32 %sub118 to i64 + %arrayidx120 = getelementptr inbounds i16, i16* %145, i64 %idxprom119 + store i16 %143, i16* %arrayidx120, align 2 + br label %while.cond105 + +while.end121: ; preds = %while.cond105 + store i16 0, i16* %i, align 2 + br label %for.cond + +for.cond: ; preds = %for.inc, %while.end121 + %147 = load i16, i16* %i, align 2 + %conv122 = zext i16 %147 to i32 + %148 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %multistart_tbl123 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %148, i32 0, i32 18 + %149 = load i16*, i16** %multistart_tbl123, align 8 + %arrayidx124 = getelementptr inbounds i16, i16* %149, i64 0 + %150 = load i16, i16* %arrayidx124, align 2 + %conv125 = zext i16 %150 to i32 + %cmp126 = icmp slt i32 %conv122, %conv125 + br i1 %cmp126, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %151 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %multistart_tbl128 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %151, i32 0, i32 18 + %152 = load i16*, i16** %multistart_tbl128, align 8 + store i16* %152, i16** %p, align 8 + %153 = load i16*, i16** %p, align 8 + %154 = load i16, i16* %i, align 2 + %idxprom129 = zext i16 %154 to i64 + %arrayidx130 = getelementptr inbounds i16, i16* %153, i64 %idxprom129 + %155 = load i16, i16* %arrayidx130, align 2 + %conv131 = zext i16 %155 to i32 + %156 = load i16*, i16** %p, align 8 + %idx.ext132 = sext i32 %conv131 to i64 + %add.ptr133 = getelementptr inbounds i16, i16* %156, i64 %idx.ext132 + store i16* %add.ptr133, i16** %p, align 8 + br label %do.body134 + +do.body134: ; preds = %do.body141, %for.body + %157 = load i16*, i16** %p, align 8 + %incdec.ptr135 = getelementptr inbounds i16, i16* %157, i32 1 + store i16* %incdec.ptr135, i16** %p, align 8 + %158 = load i16, i16* %157, align 2 + %conv136 = zext i16 %158 to i64 + store i64 %conv136, i64* %n, align 8 + %159 = load i16*, i16** %p, align 8 + %160 = load i16, i16* %159, align 2 + %tobool138 = icmp ne i16 %160, 0 + br i1 %tobool138, label %do.body141, label %for.inc + +do.body141: ; preds = %do.body134, %do.body141 + %161 = load i16*, i16** %p, align 8 + %incdec.ptr143 = getelementptr inbounds i16, i16* %161, i32 1 + store i16* %incdec.ptr143, i16** %p, align 8 + %162 = load i16, i16* %161, align 2 + %tobool144 = icmp ne i16 %162, 0 + br i1 %tobool144, label %do.body141, label %do.body134 + +for.inc: ; preds = %do.body134 + %163 = load i16, i16* %i, align 2 + %inc150 = add i16 %163, 1 + store i16 %inc150, i16* %i, align 2 + br label %for.cond + +for.end: ; preds = %for.cond + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %for.end, %if.then69, %if.then + %164 = load i32, i32* %retval, align 4 + ret i32 %164 +} + +; Function Attrs: nounwind +declare void @free(i8*) #2 + +; Function Attrs: nounwind +declare noalias i8* @calloc(i64, i64) #2 + +; Function Attrs: noinline nounwind uwtable +define hidden void @_locale_init_l(%struct.__uclibc_locale_struct.201* %base) #0 { +entry: + %base.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + store %struct.__uclibc_locale_struct.201* %base, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 6 + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + %call = call i8* @memset(i8* %arraydecay, i32 0, i64 14) #19 + %1 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale1 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %1, i32 0, i32 6 + %arrayidx = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale1, i64 0, i64 0 + store i8 35, i8* %arrayidx, align 8 + %2 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_item_count = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %2, i32 0, i32 8 + %arraydecay2 = getelementptr inbounds [6 x i8], [6 x i8]* %category_item_count, i64 0, i64 0 + %3 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_common_item_offsets_LEN = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %3, i32 0, i32 29 + %arraydecay3 = getelementptr inbounds [6 x i8], [6 x i8]* %lc_common_item_offsets_LEN, i64 0, i64 0 + %call4 = call i8* @memcpy(i8* %arraydecay2, i8* %arraydecay3, i64 6) #19 + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_item_count5 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %4, i32 0, i32 8 + %arrayidx6 = getelementptr inbounds [6 x i8], [6 x i8]* %category_item_count5, i64 0, i64 0 + %5 = load i8, i8* %arrayidx6, align 2 + %inc = add i8 %5, 1 + store i8 %inc, i8* %arrayidx6, align 2 + %6 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %6, i32 0, i32 7 + %arrayidx7 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets, i64 0, i64 0 + store i16 2488, i16* %arrayidx7, align 2 + %7 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets8 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %7, i32 0, i32 7 + %arrayidx9 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets8, i64 0, i64 1 + store i16 2576, i16* %arrayidx9, align 2 + %8 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets10 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %8, i32 0, i32 7 + %arrayidx11 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets10, i64 0, i64 2 + store i16 2600, i16* %arrayidx11, align 2 + %9 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets12 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %9, i32 0, i32 7 + %arrayidx13 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets12, i64 0, i64 3 + store i16 2776, i16* %arrayidx13, align 2 + %10 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets14 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %10, i32 0, i32 7 + %arrayidx15 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets14, i64 0, i64 5 + store i16 3176, i16* %arrayidx15, align 2 + %11 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8ctype = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %11, i32 0, i32 0 + %12 = bitcast [420 x i8]* %tbl8ctype to i8* + %13 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8ctype16 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %13, i32 0, i32 13 + store i8* %12, i8** %tbl8ctype16, align 8 + %14 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8uplow = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %14, i32 0, i32 1 + %15 = bitcast [504 x i8]* %tbl8uplow to i8* + %16 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8uplow17 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %16, i32 0, i32 15 + store i8* %15, i8** %tbl8uplow17, align 8 + %17 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8c2wc = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %17, i32 0, i32 2 + %18 = bitcast [1760 x i16]* %tbl8c2wc to i16* + %19 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8c2wc18 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %19, i32 0, i32 17 + store i16* %18, i16** %tbl8c2wc18, align 8 + %20 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8wc2c = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %20, i32 0, i32 3 + %21 = bitcast [4528 x i8]* %tbl8wc2c to i8* + %22 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8wc2c19 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %22, i32 0, i32 19 + store i8* %21, i8** %tbl8wc2c19, align 8 + %23 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tblwctype = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %23, i32 0, i32 4 + %24 = bitcast [3604 x i8]* %tblwctype to i8* + %25 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tblwctype20 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %25, i32 0, i32 21 + store i8* %24, i8** %tblwctype20, align 8 + %26 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tblwuplow = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %26, i32 0, i32 5 + %27 = bitcast [1680 x i8]* %tblwuplow to i8* + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tblwuplow21 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %28, i32 0, i32 22 + store i8* %27, i8** %tblwuplow21, align 8 + %29 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tblwuplow_diff = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %29, i32 0, i32 6 + %30 = bitcast [196 x i16]* %tblwuplow_diff to i16* + %31 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tblwuplow_diff22 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %31, i32 0, i32 23 + store i16* %30, i16** %tblwuplow_diff22, align 8 + %32 = load i16*, i16** @__C_ctype_b, align 8 + %33 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %33, i32 0, i32 0 + store i16* %32, i16** %__ctype_b, align 8 + %34 = load i16*, i16** @__C_ctype_tolower, align 8 + %35 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %35, i32 0, i32 1 + store i16* %34, i16** %__ctype_tolower, align 8 + %36 = load i16*, i16** @__C_ctype_toupper, align 8 + %37 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %37, i32 0, i32 2 + store i16* %36, i16** %__ctype_toupper, align 8 + %38 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %code2flag = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %38, i32 0, i32 20 + store i16* getelementptr inbounds ([16 x i16], [16 x i16]* @__code2flag, i64 0, i64 0), i16** %code2flag, align 8 + %39 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call23 = call i32 @_locale_set_l(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.76, i64 0, i64 0), %struct.__uclibc_locale_struct.201* %39) #18 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_locale_init() #0 { +entry: + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__global_locale, align 8 + call void @_locale_init_l(%struct.__uclibc_locale_struct.201* %0) #18 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @sigblock(i32 %mask) #0 { +entry: + %retval = alloca i32, align 4 + %mask.addr = alloca i32, align 4 + %set = alloca %struct.fd_set, align 8 + %oset = alloca %struct.fd_set, align 8 + store i32 %mask, i32* %mask.addr, align 4 + %0 = load i32, i32* %mask.addr, align 4 + %call = call i32 @sigset_set_old_mask(%struct.fd_set* %set, i32 %0) #18 + %cmp = icmp slt i32 %call, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %call1 = call i32 @sigprocmask(i32 0, %struct.fd_set* %set, %struct.fd_set* %oset) #19 + %cmp2 = icmp slt i32 %call1, 0 + br i1 %cmp2, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.end + store i32 -1, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %if.end + %call5 = call i32 @sigset_get_old_mask(%struct.fd_set* %oset) #18 + store i32 %call5, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %1 = load i32, i32* %retval, align 4 + ret i32 %1 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @sigset_set_old_mask(%struct.fd_set* %set, i32 %mask) #0 { +entry: + %set.addr = alloca %struct.fd_set*, align 8 + %mask.addr = alloca i32, align 4 + %ptr = alloca i64*, align 8 + %cnt = alloca i32, align 4 + store %struct.fd_set* %set, %struct.fd_set** %set.addr, align 8 + store i32 %mask, i32* %mask.addr, align 4 + %0 = load %struct.fd_set*, %struct.fd_set** %set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %0, i32 0, i32 0 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 0 + store i64* %arrayidx, i64** %ptr, align 8 + %1 = load i32, i32* %mask.addr, align 4 + %conv = zext i32 %1 to i64 + %2 = load i64*, i64** %ptr, align 8 + %incdec.ptr = getelementptr inbounds i64, i64* %2, i32 1 + store i64* %incdec.ptr, i64** %ptr, align 8 + store i64 %conv, i64* %2, align 8 + store i32 14, i32* %cnt, align 4 + br label %do.body + +do.body: ; preds = %do.body, %entry + %3 = load i64*, i64** %ptr, align 8 + %incdec.ptr1 = getelementptr inbounds i64, i64* %3, i32 1 + store i64* %incdec.ptr1, i64** %ptr, align 8 + store i64 0, i64* %3, align 8 + %4 = load i32, i32* %cnt, align 4 + %dec = add nsw i32 %4, -1 + store i32 %dec, i32* %cnt, align 4 + %cmp = icmp sge i32 %dec, 0 + br i1 %cmp, label %do.body, label %do.end + +do.end: ; preds = %do.body + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @sigset_get_old_mask(%struct.fd_set* %set) #0 { +entry: + %set.addr = alloca %struct.fd_set*, align 8 + store %struct.fd_set* %set, %struct.fd_set** %set.addr, align 8 + %0 = load %struct.fd_set*, %struct.fd_set** %set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %0, i32 0, i32 0 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 0 + %1 = load i64, i64* %arrayidx, align 8 + %conv = trunc i64 %1 to i32 + ret i32 %conv +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_stdio_term() #0 { +entry: + %ptr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %0, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %1, null + br i1 %tobool, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 0 + %3 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %3 to i32 + %and = and i32 %conv, 64 + %tobool1 = icmp ne i32 %and, 0 + br i1 %tobool1, label %if.then, label %for.inc + +if.then: ; preds = %for.body + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %call = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %4) #18 + br label %for.inc + +for.inc: ; preds = %for.body, %if.then + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 9 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %6, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_stdio_init() #0 { +entry: + %old_errno = alloca i32, align 4 + %0 = load i32, i32* @errno, align 4 + store i32 %0, i32* %old_errno, align 4 + %call = call i32 @isatty(i32 0) #19 + %sub = sub nsw i32 1, %call + %mul = mul i32 %sub, 256 + %1 = load i16, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 0, i32 0), align 16 + %conv = zext i16 %1 to i32 + %xor = xor i32 %conv, %mul + %conv1 = trunc i32 %xor to i16 + store i16 %conv1, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 0, i32 0), align 16 + %call2 = call i32 @isatty(i32 1) #19 + %sub3 = sub nsw i32 1, %call2 + %mul4 = mul i32 %sub3, 256 + %2 = load i16, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 1, i32 0), align 8 + %conv5 = zext i16 %2 to i32 + %xor6 = xor i32 %conv5, %mul4 + %conv7 = trunc i32 %xor6 to i16 + store i16 %conv7, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 1, i32 0), align 8 + %3 = load i32, i32* %old_errno, align 4 + store i32 %3, i32* @errno, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getchar_unlocked() #0 { +entry: + %stream = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdin, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %0, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %1, i32 0, i32 5 + %2 = load i8*, i8** %__bufpos, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 7 + %4 = load i8*, i8** %__bufgetc_u, align 8 + %cmp = icmp ult i8* %2, %4 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %entry + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 5 + %6 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + %7 = load i8, i8* %6, align 1 + %conv = zext i8 %7 to i32 + br label %cond.end + +cond.false: ; preds = %entry + %call = call i32 @__fgetc_unlocked(%struct.__STDIO_FILE_STRUCT.568* %5) #18 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ %conv, %cond.true ], [ %call, %cond.false ] + ret i32 %cond +} + +; Function Attrs: noinline noreturn nounwind uwtable +declare void @abort() #1 + +; Function Attrs: noreturn +declare void @_exit(i32) #13 + +; Function Attrs: noinline noreturn nounwind uwtable +define void @exit(i32 %rv) #1 { +entry: + %rv.addr = alloca i32, align 4 + store i32 %rv, i32* %rv.addr, align 4 + %0 = load void (i32)*, void (i32)** @__exit_cleanup, align 8 + %tobool = icmp ne void (i32)* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load void (i32)*, void (i32)** @__exit_cleanup, align 8 + %2 = load i32, i32* %rv.addr, align 4 + call void %1(i32 %2) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + call void @__uClibc_fini() #18 + call void @_stdio_term() #18 + %3 = load i32, i32* %rv.addr, align 4 + call void @_exit(i32 %3) #27 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define i8* @memcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r1 = alloca i8*, align 8 + %r2 = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %r1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %r2, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %2 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load i8*, i8** %r2, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %r2, align 8 + %4 = load i8, i8* %3, align 1 + %5 = load i8*, i8** %r1, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr1, i8** %r1, align 8 + store i8 %4, i8* %5, align 1 + %6 = load i64, i64* %n.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %7 = load i8*, i8** %s1.addr, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @memset(i8* nonnull %s, i32 %c, i64 %n) #0 { +entry: + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %n.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %1 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %2 = load i32, i32* %c.addr, align 4 + %conv = trunc i32 %2 to i8 + %3 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + store i8 %conv, i8* %3, align 1 + %4 = load i64, i64* %n.addr, align 8 + %dec = add i64 %4, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %5 = load i8*, i8** %s.addr, align 8 + ret i8* %5 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @strrchr(i8* nonnull %s, i32 %c) #14 { +entry: + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i8* null, i8** %p, align 8 + br label %do.body + +do.body: ; preds = %do.cond, %entry + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %2 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %2 to i8 + %conv2 = sext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + br i1 %cmp, label %if.then, label %do.cond + +if.then: ; preds = %do.body + %3 = load i8*, i8** %s.addr, align 8 + store i8* %3, i8** %p, align 8 + br label %do.cond + +do.cond: ; preds = %do.body, %if.then + %4 = load i8*, i8** %s.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr, i8** %s.addr, align 8 + %5 = load i8, i8* %4, align 1 + %tobool = icmp ne i8 %5, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %6 = load i8*, i8** %p, align 8 + ret i8* %6 +} + +; Function Attrs: noinline noreturn nounwind uwtable +define dso_local void @usage(i32 %status) #6 { +entry: + %status.addr = alloca i32, align 4 + store i32 %status, i32* %status.addr, align 4 + %0 = load i32, i32* %status.addr, align 4 + %cmp = icmp ne i32 %0, 0 + br i1 %cmp, label %do.body, label %if.else + +do.body: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stderr to %struct._IO_FILE**), align 8 + %2 = load i8*, i8** @program_name, align 8 + %call = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %1, i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.95, i64 0, i64 0), i8* %2) + br label %if.end + +if.else: ; preds = %entry + %3 = load i8*, i8** @program_name, align 8 + %call1 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.1.96, i64 0, i64 0), i8* %3) + %4 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call2 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.2.97, i64 0, i64 0), %struct._IO_FILE* %4) + call void @emit_stdin_note() + call void @emit_mandatory_arg_note() + %5 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call3 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([147 x i8], [147 x i8]* @.str.3.98, i64 0, i64 0), %struct._IO_FILE* %5) + %6 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call4 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.4.99, i64 0, i64 0), %struct._IO_FILE* %6) + %7 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call5 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.5.100, i64 0, i64 0), %struct._IO_FILE* %7) + call void @emit_ancillary_info(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.6.101, i64 0, i64 0)) + br label %if.end + +if.end: ; preds = %if.else, %do.body + %8 = load i32, i32* %status.addr, align 4 + call void @exit(i32 %8) #26 + unreachable +} + +declare dso_local i32 @printf(i8*, ...) #5 + +; Function Attrs: noinline nounwind uwtable +define internal void @emit_stdin_note() #3 { +entry: + %0 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.12.121, i64 0, i64 0), %struct._IO_FILE* %0) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @emit_mandatory_arg_note() #3 { +entry: + %0 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([75 x i8], [75 x i8]* @.str.13.120, i64 0, i64 0), %struct._IO_FILE* %0) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @emit_ancillary_info(i8* %program) #3 { +entry: + %program.addr = alloca i8*, align 8 + %infomap = alloca [7 x %struct.infomap], align 16 + %node = alloca i8*, align 8 + %map_prog = alloca %struct.infomap*, align 8 + %lc_messages = alloca i8*, align 8 + store i8* %program, i8** %program.addr, align 8 + %0 = bitcast [7 x %struct.infomap]* %infomap to i8* + %1 = call i8* @memcpy(i8* %0, i8* bitcast ([7 x %struct.infomap]* @__const.emit_ancillary_info.infomap to i8*), i64 112) + %2 = load i8*, i8** %program.addr, align 8 + store i8* %2, i8** %node, align 8 + %arraydecay = getelementptr inbounds [7 x %struct.infomap], [7 x %struct.infomap]* %infomap, i64 0, i64 0 + store %struct.infomap* %arraydecay, %struct.infomap** %map_prog, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %3 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + %program1 = getelementptr inbounds %struct.infomap, %struct.infomap* %3, i32 0, i32 0 + %4 = load i8*, i8** %program1, align 8 + %tobool = icmp ne i8* %4, null + br i1 %tobool, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %5 = load i8*, i8** %program.addr, align 8 + %6 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + %program2 = getelementptr inbounds %struct.infomap, %struct.infomap* %6, i32 0, i32 0 + %7 = load i8*, i8** %program2, align 8 + %call = call i32 @strcmp(i8* %5, i8* %7) #23 + %cmp = icmp eq i32 %call, 0 + %lnot = xor i1 %cmp, true + br label %land.end + +land.end: ; preds = %land.rhs, %while.cond + %8 = phi i1 [ false, %while.cond ], [ %lnot, %land.rhs ] + %9 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + br i1 %8, label %while.body, label %while.end + +while.body: ; preds = %land.end + %incdec.ptr = getelementptr inbounds %struct.infomap, %struct.infomap* %9, i32 1 + store %struct.infomap* %incdec.ptr, %struct.infomap** %map_prog, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %node3 = getelementptr inbounds %struct.infomap, %struct.infomap* %9, i32 0, i32 1 + %10 = load i8*, i8** %node3, align 8 + %tobool4 = icmp ne i8* %10, null + br i1 %tobool4, label %if.then, label %if.end + +if.then: ; preds = %while.end + %11 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + %node5 = getelementptr inbounds %struct.infomap, %struct.infomap* %11, i32 0, i32 1 + %12 = load i8*, i8** %node5, align 8 + store i8* %12, i8** %node, align 8 + br label %if.end + +if.end: ; preds = %if.then, %while.end + %call6 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.23.102, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.9.103, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.24.104, i64 0, i64 0)) + %call7 = call i8* @setlocale(i32 5, i8* null) #11 + store i8* %call7, i8** %lc_messages, align 8 + %13 = load i8*, i8** %lc_messages, align 8 + %tobool8 = icmp ne i8* %13, null + br i1 %tobool8, label %land.lhs.true, label %if.end13 + +land.lhs.true: ; preds = %if.end + %14 = load i8*, i8** %lc_messages, align 8 + %call9 = call i32 @strncmp(i8* %14, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.25.105, i64 0, i64 0), i64 3) #23 + %tobool10 = icmp ne i32 %call9, 0 + br i1 %tobool10, label %if.then11, label %if.end13 + +if.then11: ; preds = %land.lhs.true + %15 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call12 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.26.106, i64 0, i64 0), %struct._IO_FILE* %15) + br label %if.end13 + +if.end13: ; preds = %if.then11, %land.lhs.true, %if.end + %16 = load i8*, i8** %program.addr, align 8 + %call14 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.27.107, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.24.104, i64 0, i64 0), i8* %16) + %17 = load i8*, i8** %node, align 8 + %18 = load i8*, i8** %node, align 8 + %19 = load i8*, i8** %program.addr, align 8 + %cmp15 = icmp eq i8* %18, %19 + %20 = zext i1 %cmp15 to i64 + %cond = select i1 %cmp15, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.29.108, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.7.109, i64 0, i64 0) + %call16 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([51 x i8], [51 x i8]* @.str.28.110, i64 0, i64 0), i8* %17, i8* %cond) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__klee_posix_wrapped_main(i32 %argc, i8** %argv) #3 { +entry: + %retval = alloca i32, align 4 + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %width = alloca i64, align 8 + %i = alloca i32, align 4 + %optc = alloca i32, align 4 + %ok = alloca i8, align 1 + %optargbuf = alloca [2 x i8], align 1 + store i32 0, i32* %retval, align 4 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i64 80, i64* %width, align 8 + %0 = load i8**, i8*** %argv.addr, align 8 + %arrayidx = getelementptr inbounds i8*, i8** %0, i64 0 + %1 = load i8*, i8** %arrayidx, align 8 + call void @set_program_name(i8* %1) + %call = call i8* @setlocale(i32 6, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.7.109, i64 0, i64 0)) #11 + %call1 = call i32 @atexit(void ()* @close_stdout) #11 + store i8 0, i8* @have_read_stdin, align 1 + store i8 0, i8* @count_bytes, align 1 + store i8 0, i8* @break_spaces, align 1 + br label %while.cond + +while.cond: ; preds = %sw.epilog, %entry + %2 = load i32, i32* %argc.addr, align 4 + %3 = load i8**, i8*** %argv.addr, align 8 + %call2 = call i32 @getopt_long(i32 %2, i8** %3, i8* getelementptr inbounds ([35 x i8], [35 x i8]* @shortopts, i64 0, i64 0), %struct.option* getelementptr inbounds ([6 x %struct.option], [6 x %struct.option]* @longopts, i64 0, i64 0), i32* null) #11 + store i32 %call2, i32* %optc, align 4 + %cmp = icmp ne i32 %call2, -1 + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i32, i32* %optc, align 4 + br label %NodeBlock27 + +NodeBlock27: ; preds = %while.body + %case.cmp28 = icmp eq i32 %4, 98 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %4, 115 + br i1 %case.cmp26, label %sw.bb3, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %4, 48 + br i1 %case.cmp24, label %sw.bb4, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %4, 49 + br i1 %case.cmp22, label %sw.bb4, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %4, 50 + br i1 %case.cmp20, label %sw.bb4, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %4, 51 + br i1 %case.cmp18, label %sw.bb4, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %4, 52 + br i1 %case.cmp16, label %sw.bb4, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %4, 53 + br i1 %case.cmp14, label %sw.bb4, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %4, 54 + br i1 %case.cmp12, label %sw.bb4, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %4, 55 + br i1 %case.cmp10, label %sw.bb4, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %4, 56 + br i1 %case.cmp8, label %sw.bb4, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %4, 57 + br i1 %case.cmp6, label %sw.bb4, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %4, 119 + br i1 %case.cmp4, label %sw.bb7, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %4, -130 + br i1 %case.cmp2, label %sw.bb9, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %4, -131 + br i1 %case.cmp, label %sw.bb10, label %newDefault + +sw.bb: ; preds = %NodeBlock27 + store i8 1, i8* @count_bytes, align 1 + br label %sw.epilog + +sw.bb3: ; preds = %NodeBlock25 + store i8 1, i8* @break_spaces, align 1 + br label %sw.epilog + +sw.bb4: ; preds = %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5 + %5 = load i8*, i8** @optarg, align 8 + %tobool = icmp ne i8* %5, null + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %sw.bb4 + %6 = load i8*, i8** @optarg, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 -1 + store i8* %incdec.ptr, i8** @optarg, align 8 + br label %sw.bb7 + +if.else: ; preds = %sw.bb4 + %7 = load i32, i32* %optc, align 4 + %conv = trunc i32 %7 to i8 + %arrayidx5 = getelementptr inbounds [2 x i8], [2 x i8]* %optargbuf, i64 0, i64 0 + store i8 %conv, i8* %arrayidx5, align 1 + %arrayidx6 = getelementptr inbounds [2 x i8], [2 x i8]* %optargbuf, i64 0, i64 1 + store i8 0, i8* %arrayidx6, align 1 + %arraydecay = getelementptr inbounds [2 x i8], [2 x i8]* %optargbuf, i64 0, i64 0 + store i8* %arraydecay, i8** @optarg, align 8 + br label %sw.bb7 + +sw.bb7: ; preds = %NodeBlock3, %if.then, %if.else + %8 = load i8*, i8** @optarg, align 8 + %call8 = call i64 @xdectoumax(i8* %8, i64 1, i64 -10, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.7.109, i64 0, i64 0), i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.8.124, i64 0, i64 0), i32 0) + store i64 %call8, i64* %width, align 8 + br label %sw.epilog + +sw.bb9: ; preds = %NodeBlock1 + call void @usage(i32 0) #24 + unreachable + +sw.bb10: ; preds = %NodeBlock + %9 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %10 = load i8*, i8** @Version, align 8 + call void (%struct._IO_FILE*, i8*, i8*, i8*, ...) @version_etc(%struct._IO_FILE* %9, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.6.101, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.9.103, i64 0, i64 0), i8* %10, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.10.125, i64 0, i64 0), i8* null) + call void @exit(i32 0) #26 + unreachable + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @usage(i32 1) #24 + unreachable + +sw.epilog: ; preds = %sw.bb7, %sw.bb3, %sw.bb + br label %while.cond + +while.end: ; preds = %while.cond + %11 = load i32, i32* %argc.addr, align 4 + %12 = load i32, i32* @optind, align 4 + %cmp11 = icmp eq i32 %11, %12 + br i1 %cmp11, label %if.then13, label %if.else15 + +if.then13: ; preds = %while.end + %13 = load i64, i64* %width, align 8 + %call14 = call zeroext i1 @fold_file(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.11.126, i64 0, i64 0), i64 %13) + %frombool = zext i1 %call14 to i8 + store i8 %frombool, i8* %ok, align 1 + br label %if.end25 + +if.else15: ; preds = %while.end + store i8 1, i8* %ok, align 1 + %14 = load i32, i32* @optind, align 4 + store i32 %14, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.else15 + %15 = load i32, i32* %i, align 4 + %16 = load i32, i32* %argc.addr, align 4 + %cmp16 = icmp slt i32 %15, %16 + br i1 %cmp16, label %for.body, label %if.end25 + +for.body: ; preds = %for.cond + %17 = load i8**, i8*** %argv.addr, align 8 + %18 = load i32, i32* %i, align 4 + %idxprom = sext i32 %18 to i64 + %arrayidx18 = getelementptr inbounds i8*, i8** %17, i64 %idxprom + %19 = load i8*, i8** %arrayidx18, align 8 + %20 = load i64, i64* %width, align 8 + %call19 = call zeroext i1 @fold_file(i8* %19, i64 %20) + %conv20 = zext i1 %call19 to i32 + %21 = load i8, i8* %ok, align 1 + %tobool21 = trunc i8 %21 to i1 + %conv22 = zext i1 %tobool21 to i32 + %and = and i32 %conv22, %conv20 + %tobool23 = icmp ne i32 %and, 0 + %frombool24 = zext i1 %tobool23 to i8 + store i8 %frombool24, i8* %ok, align 1 + %22 = load i32, i32* %i, align 4 + %inc = add nsw i32 %22, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +if.end25: ; preds = %for.cond, %if.then13 + %23 = load i8, i8* @have_read_stdin, align 1 + %tobool26 = trunc i8 %23 to i1 + br i1 %tobool26, label %land.lhs.true, label %if.end33 + +land.lhs.true: ; preds = %if.end25 + %24 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdin to %struct._IO_FILE**), align 8 + %call28 = call i32 @rpl_fclose(%struct._IO_FILE* %24) + %cmp29 = icmp eq i32 %call28, -1 + br i1 %cmp29, label %if.then31, label %if.end33 + +if.then31: ; preds = %land.lhs.true + %call32 = call i32* @__errno_location() #25 + %25 = load i32, i32* %call32, align 4 + call void (i32, i32, i8*, ...) @error(i32 1, i32 %25, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.11.126, i64 0, i64 0)) + unreachable + +if.end33: ; preds = %land.lhs.true, %if.end25 + %26 = load i8, i8* %ok, align 1 + %tobool34 = trunc i8 %26 to i1 + %27 = zext i1 %tobool34 to i64 + %cond = select i1 %tobool34, i32 0, i32 1 + ret i32 %cond +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_program_name(i8* %argv0) #3 { +entry: + %argv0.addr = alloca i8*, align 8 + %slash = alloca i8*, align 8 + %base = alloca i8*, align 8 + store i8* %argv0, i8** %argv0.addr, align 8 + %0 = load i8*, i8** %argv0.addr, align 8 + %cmp = icmp eq i8* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stderr to %struct._IO_FILE**), align 8 + %call = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.51, i64 0, i64 0), %struct._IO_FILE* %1) + call void @abort() #26 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %argv0.addr, align 8 + %call1 = call i8* @strrchr(i8* %2, i32 47) #23 + store i8* %call1, i8** %slash, align 8 + %3 = load i8*, i8** %slash, align 8 + %cmp2 = icmp ne i8* %3, null + %4 = load i8*, i8** %slash, align 8 + %add.ptr = getelementptr inbounds i8, i8* %4, i64 1 + %5 = load i8*, i8** %argv0.addr, align 8 + %cond = select i1 %cmp2, i8* %add.ptr, i8* %5 + store i8* %cond, i8** %base, align 8 + %6 = load i8*, i8** %base, align 8 + %7 = load i8*, i8** %argv0.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %6 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %cmp3 = icmp sge i64 %sub.ptr.sub, 7 + br i1 %cmp3, label %land.lhs.true, label %if.end13 + +land.lhs.true: ; preds = %if.end + %8 = load i8*, i8** %base, align 8 + %add.ptr4 = getelementptr inbounds i8, i8* %8, i64 -7 + %call5 = call i32 @strncmp(i8* %add.ptr4, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1.52, i64 0, i64 0), i64 7) #23 + %cmp6 = icmp eq i32 %call5, 0 + br i1 %cmp6, label %if.then7, label %if.end13 + +if.then7: ; preds = %land.lhs.true + %9 = load i8*, i8** %base, align 8 + store i8* %9, i8** %argv0.addr, align 8 + %10 = load i8*, i8** %base, align 8 + %call8 = call i32 @strncmp(i8* %10, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2.53, i64 0, i64 0), i64 3) #23 + %cmp9 = icmp eq i32 %call8, 0 + br i1 %cmp9, label %if.then10, label %if.end13 + +if.then10: ; preds = %if.then7 + %11 = load i8*, i8** %base, align 8 + %add.ptr11 = getelementptr inbounds i8, i8* %11, i64 3 + store i8* %add.ptr11, i8** %argv0.addr, align 8 + %12 = load i8*, i8** %argv0.addr, align 8 + store i8* %12, i8** @program_invocation_short_name, align 8 + br label %if.end13 + +if.end13: ; preds = %if.then7, %if.then10, %land.lhs.true, %if.end + %13 = load i8*, i8** %argv0.addr, align 8 + store i8* %13, i8** @program_name, align 8 + %14 = load i8*, i8** %argv0.addr, align 8 + store i8* %14, i8** @program_invocation_name, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @close_stdout() #3 { +entry: + %write_error = alloca i8*, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call = call i32 @close_stream(%struct._IO_FILE* %0) + %cmp = icmp ne i32 %call, 0 + br i1 %cmp, label %land.lhs.true, label %if.end9 + +land.lhs.true: ; preds = %entry + %1 = load i8, i8* @ignore_EPIPE, align 1 + %tobool = trunc i8 %1 to i1 + br i1 %tobool, label %land.lhs.true1, label %if.then + +land.lhs.true1: ; preds = %land.lhs.true + %call2 = call i32* @__errno_location() #25 + %2 = load i32, i32* %call2, align 4 + %cmp3 = icmp eq i32 %2, 32 + br i1 %cmp3, label %if.end9, label %if.then + +if.then: ; preds = %land.lhs.true1, %land.lhs.true + store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.40, i64 0, i64 0), i8** %write_error, align 8 + %3 = load i8*, i8** @file_name, align 8 + %tobool4 = icmp ne i8* %3, null + %call6 = call i32* @__errno_location() #25 + %4 = load i32, i32* %call6, align 4 + br i1 %tobool4, label %if.then5, label %if.else + +if.then5: ; preds = %if.then + %5 = load i8*, i8** @file_name, align 8 + %call7 = call i8* @quotearg_colon(i8* %5) + %6 = load i8*, i8** %write_error, align 8 + call void (i32, i32, i8*, ...) @error(i32 0, i32 %4, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.41, i64 0, i64 0), i8* %call7, i8* %6) + br label %if.end + +if.else: ; preds = %if.then + %7 = load i8*, i8** %write_error, align 8 + call void (i32, i32, i8*, ...) @error(i32 0, i32 %4, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2.42, i64 0, i64 0), i8* %7) + br label %if.end + +if.end: ; preds = %if.else, %if.then5 + %8 = load volatile i32, i32* @exit_failure, align 4 + call void @_exit(i32 %8) #24 + unreachable + +if.end9: ; preds = %land.lhs.true1, %entry + %9 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stderr to %struct._IO_FILE**), align 8 + %call10 = call i32 @close_stream(%struct._IO_FILE* %9) + %cmp11 = icmp ne i32 %call10, 0 + br i1 %cmp11, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.end9 + %10 = load volatile i32, i32* @exit_failure, align 4 + call void @_exit(i32 %10) #24 + unreachable + +if.end13: ; preds = %if.end9 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @xdectoumax(i8* %n_str, i64 %min, i64 %max, i8* %suffixes, i8* %err, i32 %err_exit) #3 { +entry: + %n_str.addr = alloca i8*, align 8 + %min.addr = alloca i64, align 8 + %max.addr = alloca i64, align 8 + %suffixes.addr = alloca i8*, align 8 + %err.addr = alloca i8*, align 8 + %err_exit.addr = alloca i32, align 4 + store i8* %n_str, i8** %n_str.addr, align 8 + store i64 %min, i64* %min.addr, align 8 + store i64 %max, i64* %max.addr, align 8 + store i8* %suffixes, i8** %suffixes.addr, align 8 + store i8* %err, i8** %err.addr, align 8 + store i32 %err_exit, i32* %err_exit.addr, align 4 + %0 = load i8*, i8** %n_str.addr, align 8 + %1 = load i64, i64* %min.addr, align 8 + %2 = load i64, i64* %max.addr, align 8 + %3 = load i8*, i8** %suffixes.addr, align 8 + %4 = load i8*, i8** %err.addr, align 8 + %5 = load i32, i32* %err_exit.addr, align 4 + %call = call i64 @xnumtoumax(i8* %0, i32 10, i64 %1, i64 %2, i8* %3, i8* %4, i32 %5) + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, ...) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors = alloca [1 x %struct.__va_list_tag.0], align 16 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %authors, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %1 = load i8*, i8** %command_name.addr, align 8 + %2 = load i8*, i8** %package.addr, align 8 + %3 = load i8*, i8** %version.addr, align 8 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %authors, i64 0, i64 0 + call void @version_etc_va(%struct._IO_FILE* %0, i8* %1, i8* %2, i8* %3, %struct.__va_list_tag.0* %arraydecay2) + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %authors, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal zeroext i1 @fold_file(i8* %filename, i64 %width) #3 { +entry: + %retval = alloca i1, align 1 + %filename.addr = alloca i8*, align 8 + %width.addr = alloca i64, align 8 + %istream = alloca %struct._IO_FILE*, align 8 + %c = alloca i32, align 4 + %column = alloca i64, align 8 + %offset_out = alloca i64, align 8 + %saved_errno = alloca i32, align 4 + %found_blank = alloca i8, align 1 + %logical_end = alloca i64, align 8 + %i = alloca i64, align 8 + store i8* %filename, i8** %filename.addr, align 8 + store i64 %width, i64* %width.addr, align 8 + store i64 0, i64* %column, align 8 + store i64 0, i64* %offset_out, align 8 + %0 = load i8*, i8** %filename.addr, align 8 + %call = call i32 @strcmp(i8* %0, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.11.126, i64 0, i64 0)) #23 + %cmp = icmp eq i32 %call, 0 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdin to %struct._IO_FILE**), align 8 + store %struct._IO_FILE* %1, %struct._IO_FILE** %istream, align 8 + store i8 1, i8* @have_read_stdin, align 1 + br label %if.end + +if.else: ; preds = %entry + %2 = load i8*, i8** %filename.addr, align 8 + %call1 = call %struct._IO_FILE* bitcast (%struct.__STDIO_FILE_STRUCT.612* (i8*, i8*)* @fopen to %struct._IO_FILE* (i8*, i8*)*)(i8* %2, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.35.127, i64 0, i64 0)) + store %struct._IO_FILE* %call1, %struct._IO_FILE** %istream, align 8 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %3 = load %struct._IO_FILE*, %struct._IO_FILE** %istream, align 8 + %cmp2 = icmp eq %struct._IO_FILE* %3, null + br i1 %cmp2, label %if.then3, label %if.end6 + +if.then3: ; preds = %if.end + %call4 = call i32* @__errno_location() #25 + %4 = load i32, i32* %call4, align 4 + %5 = load i8*, i8** %filename.addr, align 8 + %call5 = call i8* @quotearg_n_style_colon(i32 0, i32 3, i8* %5) + call void (i32, i32, i8*, ...) @error(i32 0, i32 %4, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.36, i64 0, i64 0), i8* %call5) + store i1 false, i1* %retval, align 1 + br label %return + +if.end6: ; preds = %if.end + %6 = load %struct._IO_FILE*, %struct._IO_FILE** %istream, align 8 + call void @fadvise(%struct._IO_FILE* %6, i32 2) + br label %while.cond + +while.cond: ; preds = %if.end58, %if.then50, %if.then14, %if.end6 + %7 = load %struct._IO_FILE*, %struct._IO_FILE** %istream, align 8 + %call7 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @getc_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %7) + store i32 %call7, i32* %c, align 4 + %cmp8 = icmp ne i32 %call7, -1 + br i1 %cmp8, label %while.body, label %while.end62 + +while.body: ; preds = %while.cond + %8 = load i64, i64* %offset_out, align 8 + %add = add i64 %8, 1 + %9 = load i64, i64* @fold_file.allocated_out, align 8 + %cmp9 = icmp uge i64 %add, %9 + br i1 %cmp9, label %if.then10, label %if.end12 + +if.then10: ; preds = %while.body + %10 = load i8*, i8** @fold_file.line_out, align 8 + %call11 = call i8* @x2realloc(i8* %10, i64* @fold_file.allocated_out) + store i8* %call11, i8** @fold_file.line_out, align 8 + br label %if.end12 + +if.end12: ; preds = %if.then10, %while.body + %11 = load i32, i32* %c, align 4 + %cmp13 = icmp eq i32 %11, 10 + br i1 %cmp13, label %if.then14, label %rescan + +if.then14: ; preds = %if.end12 + %12 = load i32, i32* %c, align 4 + %conv = trunc i32 %12 to i8 + %13 = load i8*, i8** @fold_file.line_out, align 8 + %14 = load i64, i64* %offset_out, align 8 + %inc = add i64 %14, 1 + store i64 %inc, i64* %offset_out, align 8 + %arrayidx = getelementptr inbounds i8, i8* %13, i64 %14 + store i8 %conv, i8* %arrayidx, align 1 + %15 = load i8*, i8** @fold_file.line_out, align 8 + %16 = load i64, i64* %offset_out, align 8 + %17 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call15 = call i64 bitcast (i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*)* @fwrite_unlocked to i64 (i8*, i64, i64, %struct._IO_FILE*)*)(i8* %15, i64 1, i64 %16, %struct._IO_FILE* %17) + store i64 0, i64* %offset_out, align 8 + store i64 0, i64* %column, align 8 + br label %while.cond + +rescan: ; preds = %for.cond, %if.end12, %if.end54 + %18 = load i64, i64* %column, align 8 + %19 = load i32, i32* %c, align 4 + %conv17 = trunc i32 %19 to i8 + %call18 = call i64 @adjust_column(i64 %18, i8 signext %conv17) + store i64 %call18, i64* %column, align 8 + %20 = load i64, i64* %column, align 8 + %21 = load i64, i64* %width.addr, align 8 + %cmp19 = icmp ugt i64 %20, %21 + br i1 %cmp19, label %if.then21, label %if.end58 + +if.then21: ; preds = %rescan + %22 = load i8, i8* @break_spaces, align 1 + %tobool = trunc i8 %22 to i1 + br i1 %tobool, label %if.then22, label %if.end47 + +if.then22: ; preds = %if.then21 + store i8 0, i8* %found_blank, align 1 + %23 = load i64, i64* %offset_out, align 8 + store i64 %23, i64* %logical_end, align 8 + br label %while.cond23 + +while.cond23: ; preds = %while.body25, %if.then22 + %24 = load i64, i64* %logical_end, align 8 + %tobool24 = icmp ne i64 %24, 0 + br i1 %tobool24, label %while.body25, label %while.end + +while.body25: ; preds = %while.cond23 + %25 = load i64, i64* %logical_end, align 8 + %dec = add i64 %25, -1 + store i64 %dec, i64* %logical_end, align 8 + %call26 = call i16** @__ctype_b_loc() #25 + %26 = load i16*, i16** %call26, align 8 + %27 = load i8*, i8** @fold_file.line_out, align 8 + %28 = load i64, i64* %logical_end, align 8 + %arrayidx27 = getelementptr inbounds i8, i8* %27, i64 %28 + %29 = load i8, i8* %arrayidx27, align 1 + %call28 = call zeroext i8 @to_uchar(i8 signext %29) + %conv29 = zext i8 %call28 to i32 + %idxprom = sext i32 %conv29 to i64 + %arrayidx30 = getelementptr inbounds i16, i16* %26, i64 %idxprom + %30 = load i16, i16* %arrayidx30, align 2 + %conv31 = zext i16 %30 to i32 + %and = and i32 %conv31, 1 + %tobool32 = icmp ne i32 %and, 0 + br i1 %tobool32, label %if.then33, label %while.cond23 + +if.then33: ; preds = %while.body25 + store i8 1, i8* %found_blank, align 1 + br label %while.end + +while.end: ; preds = %if.then33, %while.cond23 + %31 = load i8, i8* %found_blank, align 1 + %tobool35 = trunc i8 %31 to i1 + br i1 %tobool35, label %if.then36, label %if.end47 + +if.then36: ; preds = %while.end + %32 = load i64, i64* %logical_end, align 8 + %inc37 = add i64 %32, 1 + store i64 %inc37, i64* %logical_end, align 8 + %33 = load i8*, i8** @fold_file.line_out, align 8 + %34 = load i64, i64* %logical_end, align 8 + %35 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call38 = call i64 bitcast (i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*)* @fwrite_unlocked to i64 (i8*, i64, i64, %struct._IO_FILE*)*)(i8* %33, i64 1, i64 %34, %struct._IO_FILE* %35) + %call39 = call i32 @putchar_unlocked(i32 10) + %36 = load i8*, i8** @fold_file.line_out, align 8 + %37 = load i8*, i8** @fold_file.line_out, align 8 + %38 = load i64, i64* %logical_end, align 8 + %add.ptr = getelementptr inbounds i8, i8* %37, i64 %38 + %39 = load i64, i64* %offset_out, align 8 + %40 = load i64, i64* %logical_end, align 8 + %sub = sub i64 %39, %40 + %41 = call i8* @memmove(i8* %36, i8* %add.ptr, i64 %sub) + %42 = load i64, i64* %logical_end, align 8 + %43 = load i64, i64* %offset_out, align 8 + %sub40 = sub i64 %43, %42 + store i64 %sub40, i64* %offset_out, align 8 + store i64 0, i64* %i, align 8 + store i64 0, i64* %column, align 8 + br label %for.cond + +for.cond: ; preds = %for.body, %if.then36 + %44 = load i64, i64* %i, align 8 + %45 = load i64, i64* %offset_out, align 8 + %cmp41 = icmp ult i64 %44, %45 + br i1 %cmp41, label %for.body, label %rescan + +for.body: ; preds = %for.cond + %46 = load i64, i64* %column, align 8 + %47 = load i8*, i8** @fold_file.line_out, align 8 + %48 = load i64, i64* %i, align 8 + %arrayidx43 = getelementptr inbounds i8, i8* %47, i64 %48 + %49 = load i8, i8* %arrayidx43, align 1 + %call44 = call i64 @adjust_column(i64 %46, i8 signext %49) + store i64 %call44, i64* %column, align 8 + %50 = load i64, i64* %i, align 8 + %inc45 = add i64 %50, 1 + store i64 %inc45, i64* %i, align 8 + br label %for.cond + +if.end47: ; preds = %while.end, %if.then21 + %51 = load i64, i64* %offset_out, align 8 + %cmp48 = icmp eq i64 %51, 0 + br i1 %cmp48, label %if.then50, label %if.end54 + +if.then50: ; preds = %if.end47 + %52 = load i32, i32* %c, align 4 + %conv51 = trunc i32 %52 to i8 + %53 = load i8*, i8** @fold_file.line_out, align 8 + %54 = load i64, i64* %offset_out, align 8 + %inc52 = add i64 %54, 1 + store i64 %inc52, i64* %offset_out, align 8 + %arrayidx53 = getelementptr inbounds i8, i8* %53, i64 %54 + store i8 %conv51, i8* %arrayidx53, align 1 + br label %while.cond + +if.end54: ; preds = %if.end47 + %55 = load i8*, i8** @fold_file.line_out, align 8 + %56 = load i64, i64* %offset_out, align 8 + %inc55 = add i64 %56, 1 + store i64 %inc55, i64* %offset_out, align 8 + %arrayidx56 = getelementptr inbounds i8, i8* %55, i64 %56 + store i8 10, i8* %arrayidx56, align 1 + %57 = load i8*, i8** @fold_file.line_out, align 8 + %58 = load i64, i64* %offset_out, align 8 + %59 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call57 = call i64 bitcast (i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*)* @fwrite_unlocked to i64 (i8*, i64, i64, %struct._IO_FILE*)*)(i8* %57, i64 1, i64 %58, %struct._IO_FILE* %59) + store i64 0, i64* %offset_out, align 8 + store i64 0, i64* %column, align 8 + br label %rescan + +if.end58: ; preds = %rescan + %60 = load i32, i32* %c, align 4 + %conv59 = trunc i32 %60 to i8 + %61 = load i8*, i8** @fold_file.line_out, align 8 + %62 = load i64, i64* %offset_out, align 8 + %inc60 = add i64 %62, 1 + store i64 %inc60, i64* %offset_out, align 8 + %arrayidx61 = getelementptr inbounds i8, i8* %61, i64 %62 + store i8 %conv59, i8* %arrayidx61, align 1 + br label %while.cond + +while.end62: ; preds = %while.cond + %call63 = call i32* @__errno_location() #25 + %63 = load i32, i32* %call63, align 4 + store i32 %63, i32* %saved_errno, align 4 + %64 = load i64, i64* %offset_out, align 8 + %tobool64 = icmp ne i64 %64, 0 + br i1 %tobool64, label %if.then65, label %if.end67 + +if.then65: ; preds = %while.end62 + %65 = load i8*, i8** @fold_file.line_out, align 8 + %66 = load i64, i64* %offset_out, align 8 + %67 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call66 = call i64 bitcast (i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*)* @fwrite_unlocked to i64 (i8*, i64, i64, %struct._IO_FILE*)*)(i8* %65, i64 1, i64 %66, %struct._IO_FILE* %67) + br label %if.end67 + +if.end67: ; preds = %if.then65, %while.end62 + %68 = load %struct._IO_FILE*, %struct._IO_FILE** %istream, align 8 + %call68 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.592*)* @ferror_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %68) #11 + %tobool69 = icmp ne i32 %call68, 0 + br i1 %tobool69, label %if.then70, label %if.end78 + +if.then70: ; preds = %if.end67 + %69 = load i32, i32* %saved_errno, align 4 + %70 = load i8*, i8** %filename.addr, align 8 + %call71 = call i8* @quotearg_n_style_colon(i32 0, i32 3, i8* %70) + call void (i32, i32, i8*, ...) @error(i32 0, i32 %69, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.36, i64 0, i64 0), i8* %call71) + %71 = load i8*, i8** %filename.addr, align 8 + %call72 = call i32 @strcmp(i8* %71, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.11.126, i64 0, i64 0)) #23 + %cmp73 = icmp eq i32 %call72, 0 + br i1 %cmp73, label %if.end77, label %if.then75 + +if.then75: ; preds = %if.then70 + %72 = load %struct._IO_FILE*, %struct._IO_FILE** %istream, align 8 + %call76 = call i32 @rpl_fclose(%struct._IO_FILE* %72) + br label %if.end77 + +if.end77: ; preds = %if.then75, %if.then70 + store i1 false, i1* %retval, align 1 + br label %return + +if.end78: ; preds = %if.end67 + %73 = load i8*, i8** %filename.addr, align 8 + %call79 = call i32 @strcmp(i8* %73, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.11.126, i64 0, i64 0)) #23 + %cmp80 = icmp eq i32 %call79, 0 + br i1 %cmp80, label %if.end88, label %land.lhs.true + +land.lhs.true: ; preds = %if.end78 + %74 = load %struct._IO_FILE*, %struct._IO_FILE** %istream, align 8 + %call82 = call i32 @rpl_fclose(%struct._IO_FILE* %74) + %cmp83 = icmp eq i32 %call82, -1 + br i1 %cmp83, label %if.then85, label %if.end88 + +if.then85: ; preds = %land.lhs.true + %call86 = call i32* @__errno_location() #25 + %75 = load i32, i32* %call86, align 4 + %76 = load i8*, i8** %filename.addr, align 8 + %call87 = call i8* @quotearg_n_style_colon(i32 0, i32 3, i8* %76) + call void (i32, i32, i8*, ...) @error(i32 0, i32 %75, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.36, i64 0, i64 0), i8* %call87) + store i1 false, i1* %retval, align 1 + br label %return + +if.end88: ; preds = %land.lhs.true, %if.end78 + store i1 true, i1* %retval, align 1 + br label %return + +return: ; preds = %if.end88, %if.then85, %if.end77, %if.then3 + %77 = load i1, i1* %retval, align 1 + ret i1 %77 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fclose(%struct._IO_FILE* nonnull %fp) #3 { +entry: + %retval = alloca i32, align 4 + %fp.addr = alloca %struct._IO_FILE*, align 8 + %saved_errno = alloca i32, align 4 + %fd = alloca i32, align 4 + %result = alloca i32, align 4 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + store i32 0, i32* %saved_errno, align 4 + store i32 0, i32* %result, align 4 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %0) #11 + store i32 %call, i32* %fd, align 4 + %1 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %1, 0 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call1 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fclose to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %2) + store i32 %call1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %call2 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.519*)* @__freading to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %2) #11 + %cmp3 = icmp ne i32 %call2, 0 + br i1 %cmp3, label %lor.lhs.false, label %land.lhs.true + +lor.lhs.false: ; preds = %if.end + %3 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call4 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %3) #11 + %call5 = call i64 @lseek(i32 %call4, i64 0, i32 1) #11 + %cmp6 = icmp ne i64 %call5, -1 + br i1 %cmp6, label %land.lhs.true, label %if.end10 + +land.lhs.true: ; preds = %lor.lhs.false, %if.end + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call7 = call i32 @rpl_fflush(%struct._IO_FILE* %4) + %tobool = icmp ne i32 %call7, 0 + br i1 %tobool, label %if.then8, label %if.end10 + +if.then8: ; preds = %land.lhs.true + %call9 = call i32* @__errno_location() #25 + %5 = load i32, i32* %call9, align 4 + store i32 %5, i32* %saved_errno, align 4 + br label %if.end10 + +if.end10: ; preds = %if.then8, %land.lhs.true, %lor.lhs.false + %6 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call11 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fclose to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %6) + store i32 %call11, i32* %result, align 4 + %7 = load i32, i32* %saved_errno, align 4 + %cmp12 = icmp ne i32 %7, 0 + br i1 %cmp12, label %if.then13, label %if.end15 + +if.then13: ; preds = %if.end10 + %8 = load i32, i32* %saved_errno, align 4 + %call14 = call i32* @__errno_location() #25 + store i32 %8, i32* %call14, align 4 + store i32 -1, i32* %result, align 4 + br label %if.end15 + +if.end15: ; preds = %if.then13, %if.end10 + %9 = load i32, i32* %result, align 4 + store i32 %9, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end15, %if.then + %10 = load i32, i32* %retval, align 4 + ret i32 %10 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fflush(%struct._IO_FILE* %stream) #3 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %cmp = icmp eq %struct._IO_FILE* %0, null + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.519*)* @__freading to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %1) #11 + %cmp1 = icmp ne i32 %call, 0 + br i1 %cmp1, label %if.end, label %if.then + +if.then: ; preds = %lor.lhs.false, %entry + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call2 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fflush to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %2) + store i32 %call2, i32* %retval, align 4 + br label %return + +if.end: ; preds = %lor.lhs.false + %3 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + call void @clear_ungetc_buffer_preserving_position(%struct._IO_FILE* %3) + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call3 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fflush to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %4) + store i32 %call3, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %5 = load i32, i32* %retval, align 4 + ret i32 %5 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @clear_ungetc_buffer_preserving_position(%struct._IO_FILE* %fp) #3 { +entry: + %fp.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_flags = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %0, i32 0, i32 0 + %1 = load i32, i32* %_flags, align 8 + %and = and i32 %1, 256 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 @rpl_fseeko(%struct._IO_FILE* %2, i64 0, i32 1) + br label %if.end + +if.end: ; preds = %if.then, %entry + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fseeko(%struct._IO_FILE* nonnull %fp, i64 %offset, i32 %whence) #3 { +entry: + %retval = alloca i32, align 4 + %fp.addr = alloca %struct._IO_FILE*, align 8 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + %pos = alloca i64, align 8 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_read_end = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %0, i32 0, i32 2 + %1 = load i8*, i8** %_IO_read_end, align 8 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_read_ptr = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %2, i32 0, i32 1 + %3 = load i8*, i8** %_IO_read_ptr, align 8 + %cmp = icmp eq i8* %1, %3 + br i1 %cmp, label %land.lhs.true, label %if.end7 + +land.lhs.true: ; preds = %entry + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_write_ptr = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %4, i32 0, i32 5 + %5 = load i8*, i8** %_IO_write_ptr, align 8 + %6 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_write_base = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %6, i32 0, i32 4 + %7 = load i8*, i8** %_IO_write_base, align 8 + %cmp1 = icmp eq i8* %5, %7 + br i1 %cmp1, label %land.lhs.true2, label %if.end7 + +land.lhs.true2: ; preds = %land.lhs.true + %8 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_save_base = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %8, i32 0, i32 9 + %9 = load i8*, i8** %_IO_save_base, align 8 + %cmp3 = icmp eq i8* %9, null + br i1 %cmp3, label %if.then, label %if.end7 + +if.then: ; preds = %land.lhs.true2 + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %10) #11 + %11 = load i64, i64* %offset.addr, align 8 + %12 = load i32, i32* %whence.addr, align 4 + %call4 = call i64 @lseek(i32 %call, i64 %11, i32 %12) #11 + store i64 %call4, i64* %pos, align 8 + %13 = load i64, i64* %pos, align 8 + %cmp5 = icmp eq i64 %13, -1 + br i1 %cmp5, label %if.then6, label %if.end + +if.then6: ; preds = %if.then + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %if.then + %14 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_flags = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %14, i32 0, i32 0 + %15 = load i32, i32* %_flags, align 8 + %and = and i32 %15, -17 + store i32 %and, i32* %_flags, align 8 + %16 = load i64, i64* %pos, align 8 + %17 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_offset = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %17, i32 0, i32 21 + store i64 %16, i64* %_offset, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.end7: ; preds = %land.lhs.true2, %land.lhs.true, %entry + %18 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %19 = load i64, i64* %offset.addr, align 8 + %20 = load i32, i32* %whence.addr, align 4 + %call8 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32)* @fseeko to i32 (%struct._IO_FILE*, i64, i32)*)(%struct._IO_FILE* %18, i64 %19, i32 %20) + store i32 %call8, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end7, %if.end, %if.then6 + %21 = load i32, i32* %retval, align 4 + ret i32 %21 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_style_colon(i32 %n, i32 %s, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %options = alloca %struct.quoting_options, align 8 + %tmp = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + call void @quoting_options_from_style(%struct.quoting_options* sret align 8 %tmp, i32 %0) + %1 = bitcast %struct.quoting_options* %options to i8* + %2 = bitcast %struct.quoting_options* %tmp to i8* + %3 = call i8* @memcpy(i8* %1, i8* %2, i64 56) + %call = call i32 @set_char_quoting(%struct.quoting_options* %options, i8 signext 58, i32 1) + %4 = load i32, i32* %n.addr, align 4 + %5 = load i8*, i8** %arg.addr, align 8 + %call1 = call i8* @quotearg_n_options(i32 %4, i8* %5, i64 -1, %struct.quoting_options* %options) + ret i8* %call1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @fadvise(%struct._IO_FILE* %fp, i32 %advice) #3 { +entry: + %fp.addr = alloca %struct._IO_FILE*, align 8 + %advice.addr = alloca i32, align 4 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + store i32 %advice, i32* %advice.addr, align 4 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %tobool = icmp ne %struct._IO_FILE* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %1) #11 + %2 = load i32, i32* %advice.addr, align 4 + call void @fdadvise(i32 %call, i64 0, i64 0, i32 %2) + br label %if.end + +if.end: ; preds = %if.then, %entry + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @x2realloc(i8* %p, i64* %pn) #3 { +entry: + %p.addr = alloca i8*, align 8 + %pn.addr = alloca i64*, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64* %pn, i64** %pn.addr, align 8 + %0 = load i8*, i8** %p.addr, align 8 + %1 = load i64*, i64** %pn.addr, align 8 + %call = call i8* @x2nrealloc(i8* %0, i64* %1, i64 1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @adjust_column(i64 %column, i8 signext %c) #3 { +entry: + %column.addr = alloca i64, align 8 + %c.addr = alloca i8, align 1 + store i64 %column, i64* %column.addr, align 8 + store i8 %c, i8* %c.addr, align 1 + %0 = load i8, i8* @count_bytes, align 1 + %tobool = trunc i8 %0 to i1 + br i1 %tobool, label %if.else19, label %if.then + +if.then: ; preds = %entry + %1 = load i8, i8* %c.addr, align 1 + %conv = sext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 8 + br i1 %cmp, label %if.then2, label %if.else + +if.then2: ; preds = %if.then + %2 = load i64, i64* %column.addr, align 8 + %cmp3 = icmp ugt i64 %2, 0 + br i1 %cmp3, label %if.then5, label %if.end21 + +if.then5: ; preds = %if.then2 + %3 = load i64, i64* %column.addr, align 8 + %dec = add i64 %3, -1 + store i64 %dec, i64* %column.addr, align 8 + br label %if.end21 + +if.else: ; preds = %if.then + %4 = load i8, i8* %c.addr, align 1 + %conv6 = sext i8 %4 to i32 + %cmp7 = icmp eq i32 %conv6, 13 + br i1 %cmp7, label %if.then9, label %if.else10 + +if.then9: ; preds = %if.else + store i64 0, i64* %column.addr, align 8 + br label %if.end21 + +if.else10: ; preds = %if.else + %5 = load i8, i8* %c.addr, align 1 + %conv11 = sext i8 %5 to i32 + %cmp12 = icmp eq i32 %conv11, 9 + %6 = load i64, i64* %column.addr, align 8 + br i1 %cmp12, label %if.then14, label %if.else15 + +if.then14: ; preds = %if.else10 + %rem = urem i64 %6, 8 + %sub = sub i64 8, %rem + %7 = load i64, i64* %column.addr, align 8 + %add = add i64 %7, %sub + store i64 %add, i64* %column.addr, align 8 + br label %if.end21 + +if.else15: ; preds = %if.else10 + %inc = add i64 %6, 1 + store i64 %inc, i64* %column.addr, align 8 + br label %if.end21 + +if.else19: ; preds = %entry + %8 = load i64, i64* %column.addr, align 8 + %inc20 = add i64 %8, 1 + store i64 %inc20, i64* %column.addr, align 8 + br label %if.end21 + +if.end21: ; preds = %if.then5, %if.then2, %if.then14, %if.else15, %if.then9, %if.else19 + %9 = load i64, i64* %column.addr, align 8 + ret i64 %9 +} + +; Function Attrs: noinline nounwind uwtable +define internal zeroext i8 @to_uchar(i8 signext %ch) #3 { +entry: + %ch.addr = alloca i8, align 1 + store i8 %ch, i8* %ch.addr, align 1 + %0 = load i8, i8* %ch.addr, align 1 + ret i8 %0 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @x2nrealloc(i8* %p, i64* %pn, i64 %s) #3 { +entry: + %p.addr = alloca i8*, align 8 + %pn.addr = alloca i64*, align 8 + %s.addr = alloca i64, align 8 + %n = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64* %pn, i64** %pn.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64*, i64** %pn.addr, align 8 + %1 = load i64, i64* %0, align 8 + store i64 %1, i64* %n, align 8 + %2 = load i8*, i8** %p.addr, align 8 + %tobool = icmp ne i8* %2, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %3 = load i64, i64* %n, align 8 + %tobool1 = icmp ne i64 %3, 0 + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + %4 = load i64, i64* %s.addr, align 8 + %div = udiv i64 128, %4 + store i64 %div, i64* %n, align 8 + %5 = load i64, i64* %n, align 8 + %tobool3 = icmp ne i64 %5, 0 + %lnot = xor i1 %tobool3, true + %lnot.ext = zext i1 %lnot to i32 + %conv = sext i32 %lnot.ext to i64 + %6 = load i64, i64* %n, align 8 + %add = add i64 %6, %conv + store i64 %add, i64* %n, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %7 = load i64, i64* %s.addr, align 8 + %div4 = udiv i64 9223372036854775807, %7 + %8 = load i64, i64* %n, align 8 + %cmp = icmp ult i64 %div4, %8 + br i1 %cmp, label %if.then6, label %if.end16 + +if.then6: ; preds = %if.end + call void @xalloc_die() #24 + unreachable + +if.else: ; preds = %entry + %9 = load i64, i64* %s.addr, align 8 + %div8 = udiv i64 6148914691236517204, %9 + %10 = load i64, i64* %n, align 8 + %cmp9 = icmp ule i64 %div8, %10 + br i1 %cmp9, label %if.then11, label %if.end12 + +if.then11: ; preds = %if.else + call void @xalloc_die() #24 + unreachable + +if.end12: ; preds = %if.else + %11 = load i64, i64* %n, align 8 + %div13 = udiv i64 %11, 2 + %add14 = add i64 %div13, 1 + %12 = load i64, i64* %n, align 8 + %add15 = add i64 %12, %add14 + store i64 %add15, i64* %n, align 8 + br label %if.end16 + +if.end16: ; preds = %if.end, %if.end12 + %13 = load i64, i64* %n, align 8 + %14 = load i64*, i64** %pn.addr, align 8 + store i64 %13, i64* %14, align 8 + %15 = load i8*, i8** %p.addr, align 8 + %16 = load i64, i64* %n, align 8 + %17 = load i64, i64* %s.addr, align 8 + %mul = mul i64 %16, %17 + %call = call i8* @xrealloc(i8* %15, i64 %mul) + ret i8* %call +} + +; Function Attrs: noinline noreturn nounwind uwtable +define dso_local void @xalloc_die() #6 { +entry: + %0 = load volatile i32, i32* @exit_failure, align 4 + call void (i32, i32, i8*, ...) @error(i32 %0, i32 0, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.114, i64 0, i64 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.1.115, i64 0, i64 0)) + call void @abort() #26 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @xrealloc(i8* %p, i64 %n) #3 { +entry: + %retval = alloca i8*, align 8 + %p.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %tobool = icmp eq i64 %0, 0 + %1 = load i8*, i8** %p.addr, align 8 + %tobool1 = icmp ne i8* %1, null + %or.cond = and i1 %tobool, %tobool1 + %2 = load i8*, i8** %p.addr, align 8 + br i1 %or.cond, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @free(i8* %2) #11 + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %3 = load i64, i64* %n.addr, align 8 + %call = call i8* @realloc(i8* %2, i64 %3) #11 + store i8* %call, i8** %p.addr, align 8 + %4 = load i8*, i8** %p.addr, align 8 + %tobool2 = icmp eq i8* %4, null + %5 = load i64, i64* %n.addr, align 8 + %tobool4 = icmp ne i64 %5, 0 + %or.cond1 = and i1 %tobool2, %tobool4 + br i1 %or.cond1, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end + call void @xalloc_die() #24 + unreachable + +if.end6: ; preds = %if.end + %6 = load i8*, i8** %p.addr, align 8 + store i8* %6, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end6, %if.then + %7 = load i8*, i8** %retval, align 8 + ret i8* %7 +} + +; Function Attrs: nounwind +declare dso_local i8* @realloc(i8*, i64) #4 + +; Function Attrs: noinline nounwind uwtable +define dso_local void @fdadvise(i32 %fd, i64 %offset, i64 %len, i32 %advice) #3 { +entry: + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %advice.addr = alloca i32, align 4 + %__x = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store i32 %advice, i32* %advice.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %offset.addr, align 8 + %2 = load i64, i64* %len.addr, align 8 + %3 = load i32, i32* %advice.addr, align 4 + %call = call i32 @posix_fadvise(i32 %0, i64 %1, i64 %2, i32 %3) #11 + store i32 %call, i32* %__x, align 4 + %4 = load i32, i32* %__x, align 4 + ret void +} + +; Function Attrs: nounwind +declare dso_local i32 @posix_fadvise(i32, i64, i64, i32) #4 + +; Function Attrs: noinline nounwind uwtable +define internal void @quoting_options_from_style(%struct.quoting_options* noalias sret align 8 %agg.result, i32 %style) #3 { +entry: + %style.addr = alloca i32, align 4 + store i32 %style, i32* %style.addr, align 4 + %0 = bitcast %struct.quoting_options* %agg.result to i8* + %1 = call i8* @memset(i8* %0, i32 0, i64 56) + %2 = load i32, i32* %style.addr, align 4 + %cmp = icmp eq i32 %2, 10 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @abort() #26 + unreachable + +if.end: ; preds = %entry + %3 = load i32, i32* %style.addr, align 4 + %style1 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %agg.result, i32 0, i32 0 + store i32 %3, i32* %style1, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @set_char_quoting(%struct.quoting_options* %o, i8 signext %c, i32 %i) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %c.addr = alloca i8, align 1 + %i.addr = alloca i32, align 4 + %uc = alloca i8, align 1 + %p = alloca i32*, align 8 + %shift = alloca i32, align 4 + %r = alloca i32, align 4 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i8 %c, i8* %c.addr, align 1 + store i32 %i, i32* %i.addr, align 4 + %0 = load i8, i8* %c.addr, align 1 + store i8 %0, i8* %uc, align 1 + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %1, null + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %2, %struct.quoting_options* @default_quoting_options + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %cond, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %3 = load i8, i8* %uc, align 1 + %conv = zext i8 %3 to i64 + %div = udiv i64 %conv, 32 + %add.ptr = getelementptr inbounds i32, i32* %arraydecay, i64 %div + store i32* %add.ptr, i32** %p, align 8 + %4 = load i8, i8* %uc, align 1 + %conv1 = zext i8 %4 to i64 + %rem = urem i64 %conv1, 32 + %conv2 = trunc i64 %rem to i32 + store i32 %conv2, i32* %shift, align 4 + %5 = load i32*, i32** %p, align 8 + %6 = load i32, i32* %5, align 4 + %7 = load i32, i32* %shift, align 4 + %shr = lshr i32 %6, %7 + %and = and i32 %shr, 1 + store i32 %and, i32* %r, align 4 + %8 = load i32, i32* %i.addr, align 4 + %and3 = and i32 %8, 1 + %9 = load i32, i32* %r, align 4 + %xor = xor i32 %and3, %9 + %10 = load i32, i32* %shift, align 4 + %shl = shl i32 %xor, %10 + %11 = load i32*, i32** %p, align 8 + %12 = load i32, i32* %11, align 4 + %xor4 = xor i32 %12, %shl + store i32 %xor4, i32* %11, align 4 + %13 = load i32, i32* %r, align 4 + ret i32 %13 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @quotearg_n_options(i32 %n, i8* %arg, i64 %argsize, %struct.quoting_options* %options) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %options.addr = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %sv = alloca %struct.slotvec*, align 8 + %preallocated = alloca i8, align 1 + %nmax = alloca i32, align 4 + %size = alloca i64, align 8 + %val = alloca i8*, align 8 + %flags = alloca i32, align 4 + %qsize = alloca i64, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store %struct.quoting_options* %options, %struct.quoting_options** %options.addr, align 8 + %call = call i32* @__errno_location() #25 + %0 = load i32, i32* %call, align 4 + store i32 %0, i32* %e, align 4 + %1 = load %struct.slotvec*, %struct.slotvec** @slotvec, align 8 + store %struct.slotvec* %1, %struct.slotvec** %sv, align 8 + %2 = load i32, i32* %n.addr, align 4 + %cmp = icmp slt i32 %2, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @abort() #26 + unreachable + +if.end: ; preds = %entry + %3 = load i32, i32* @nslots, align 4 + %4 = load i32, i32* %n.addr, align 4 + %cmp1 = icmp sle i32 %3, %4 + br i1 %cmp1, label %if.then2, label %if.end15 + +if.then2: ; preds = %if.end + %5 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %cmp3 = icmp eq %struct.slotvec* %5, @slotvec0 + %frombool = zext i1 %cmp3 to i8 + store i8 %frombool, i8* %preallocated, align 1 + store i32 2147483646, i32* %nmax, align 4 + %6 = load i32, i32* %nmax, align 4 + %7 = load i32, i32* %n.addr, align 4 + %cmp4 = icmp slt i32 %6, %7 + br i1 %cmp4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.then2 + call void @xalloc_die() #24 + unreachable + +if.end6: ; preds = %if.then2 + %8 = load i8, i8* %preallocated, align 1 + %tobool = trunc i8 %8 to i1 + %9 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %cond = select i1 %tobool, %struct.slotvec* null, %struct.slotvec* %9 + %10 = bitcast %struct.slotvec* %cond to i8* + %11 = load i32, i32* %n.addr, align 4 + %add = add nsw i32 %11, 1 + %conv = sext i32 %add to i64 + %mul = mul i64 %conv, 16 + %call7 = call i8* @xrealloc(i8* %10, i64 %mul) + %12 = bitcast i8* %call7 to %struct.slotvec* + store %struct.slotvec* %12, %struct.slotvec** %sv, align 8 + store %struct.slotvec* %12, %struct.slotvec** @slotvec, align 8 + %13 = load i8, i8* %preallocated, align 1 + %tobool8 = trunc i8 %13 to i1 + br i1 %tobool8, label %if.then9, label %if.end10 + +if.then9: ; preds = %if.end6 + %14 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %15 = bitcast %struct.slotvec* %14 to i8* + %16 = call i8* @memcpy(i8* %15, i8* bitcast (%struct.slotvec* @slotvec0 to i8*), i64 16) + br label %if.end10 + +if.end10: ; preds = %if.then9, %if.end6 + %17 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %18 = load i32, i32* @nslots, align 4 + %idx.ext = sext i32 %18 to i64 + %add.ptr = getelementptr inbounds %struct.slotvec, %struct.slotvec* %17, i64 %idx.ext + %19 = bitcast %struct.slotvec* %add.ptr to i8* + %20 = load i32, i32* %n.addr, align 4 + %add11 = add nsw i32 %20, 1 + %21 = load i32, i32* @nslots, align 4 + %sub = sub nsw i32 %add11, %21 + %conv12 = sext i32 %sub to i64 + %mul13 = mul i64 %conv12, 16 + %22 = call i8* @memset(i8* %19, i32 0, i64 %mul13) + %23 = load i32, i32* %n.addr, align 4 + %add14 = add nsw i32 %23, 1 + store i32 %add14, i32* @nslots, align 4 + br label %if.end15 + +if.end15: ; preds = %if.end10, %if.end + %24 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %25 = load i32, i32* %n.addr, align 4 + %idxprom = sext i32 %25 to i64 + %arrayidx = getelementptr inbounds %struct.slotvec, %struct.slotvec* %24, i64 %idxprom + %size16 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx, i32 0, i32 0 + %26 = load i64, i64* %size16, align 8 + store i64 %26, i64* %size, align 8 + %27 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %28 = load i32, i32* %n.addr, align 4 + %idxprom17 = sext i32 %28 to i64 + %arrayidx18 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %27, i64 %idxprom17 + %val19 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx18, i32 0, i32 1 + %29 = load i8*, i8** %val19, align 8 + store i8* %29, i8** %val, align 8 + %30 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %flags20 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %30, i32 0, i32 1 + %31 = load i32, i32* %flags20, align 4 + %or = or i32 %31, 1 + store i32 %or, i32* %flags, align 4 + %32 = load i8*, i8** %val, align 8 + %33 = load i64, i64* %size, align 8 + %34 = load i8*, i8** %arg.addr, align 8 + %35 = load i64, i64* %argsize.addr, align 8 + %36 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %36, i32 0, i32 0 + %37 = load i32, i32* %style, align 8 + %38 = load i32, i32* %flags, align 4 + %39 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %39, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %40 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %left_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %40, i32 0, i32 3 + %41 = load i8*, i8** %left_quote, align 8 + %42 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %right_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %42, i32 0, i32 4 + %43 = load i8*, i8** %right_quote, align 8 + %call21 = call i64 @quotearg_buffer_restyled(i8* %32, i64 %33, i8* %34, i64 %35, i32 %37, i32 %38, i32* %arraydecay, i8* %41, i8* %43) + store i64 %call21, i64* %qsize, align 8 + %44 = load i64, i64* %size, align 8 + %45 = load i64, i64* %qsize, align 8 + %cmp22 = icmp ule i64 %44, %45 + br i1 %cmp22, label %if.then24, label %if.end43 + +if.then24: ; preds = %if.end15 + %46 = load i64, i64* %qsize, align 8 + %add25 = add i64 %46, 1 + store i64 %add25, i64* %size, align 8 + %47 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %48 = load i32, i32* %n.addr, align 4 + %idxprom26 = sext i32 %48 to i64 + %arrayidx27 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %47, i64 %idxprom26 + %size28 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx27, i32 0, i32 0 + store i64 %add25, i64* %size28, align 8 + %49 = load i8*, i8** %val, align 8 + %cmp29 = icmp ne i8* %49, getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i64 0, i64 0) + br i1 %cmp29, label %if.then31, label %if.end32 + +if.then31: ; preds = %if.then24 + %50 = load i8*, i8** %val, align 8 + call void @free(i8* %50) #11 + br label %if.end32 + +if.end32: ; preds = %if.then31, %if.then24 + %51 = load i64, i64* %size, align 8 + %call33 = call noalias i8* @xcharalloc(i64 %51) + store i8* %call33, i8** %val, align 8 + %52 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %53 = load i32, i32* %n.addr, align 4 + %idxprom34 = sext i32 %53 to i64 + %arrayidx35 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %52, i64 %idxprom34 + %val36 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx35, i32 0, i32 1 + store i8* %call33, i8** %val36, align 8 + %54 = load i8*, i8** %val, align 8 + %55 = load i64, i64* %size, align 8 + %56 = load i8*, i8** %arg.addr, align 8 + %57 = load i64, i64* %argsize.addr, align 8 + %58 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %style37 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %58, i32 0, i32 0 + %59 = load i32, i32* %style37, align 8 + %60 = load i32, i32* %flags, align 4 + %61 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %quote_these_too38 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %61, i32 0, i32 2 + %arraydecay39 = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too38, i64 0, i64 0 + %62 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %left_quote40 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %62, i32 0, i32 3 + %63 = load i8*, i8** %left_quote40, align 8 + %64 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %right_quote41 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %64, i32 0, i32 4 + %65 = load i8*, i8** %right_quote41, align 8 + %call42 = call i64 @quotearg_buffer_restyled(i8* %54, i64 %55, i8* %56, i64 %57, i32 %59, i32 %60, i32* %arraydecay39, i8* %63, i8* %65) + br label %if.end43 + +if.end43: ; preds = %if.end32, %if.end15 + %66 = load i32, i32* %e, align 4 + %call44 = call i32* @__errno_location() #25 + store i32 %66, i32* %call44, align 4 + %67 = load i8*, i8** %val, align 8 + ret i8* %67 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @quotearg_buffer_restyled(i8* %buffer, i64 %buffersize, i8* %arg, i64 %argsize, i32 %quoting_style, i32 %flags, i32* %quote_these_too, i8* %left_quote, i8* %right_quote) #3 { +entry: + %retval = alloca i64, align 8 + %buffer.addr = alloca i8*, align 8 + %buffersize.addr = alloca i64, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %quoting_style.addr = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %quote_these_too.addr = alloca i32*, align 8 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %i = alloca i64, align 8 + %len = alloca i64, align 8 + %orig_buffersize = alloca i64, align 8 + %quote_string = alloca i8*, align 8 + %quote_string_len = alloca i64, align 8 + %backslash_escapes = alloca i8, align 1 + %unibyte_locale = alloca i8, align 1 + %elide_outer_quotes = alloca i8, align 1 + %pending_shell_escape_end = alloca i8, align 1 + %encountered_single_quote = alloca i8, align 1 + %all_c_and_shell_quote_compat = alloca i8, align 1 + %c = alloca i8, align 1 + %esc = alloca i8, align 1 + %is_right_quote = alloca i8, align 1 + %escaping = alloca i8, align 1 + %c_and_shell_quote_compat = alloca i8, align 1 + %m = alloca i64, align 8 + %printable = alloca i8, align 1 + %mbstate = alloca %struct.__mbstate_t, align 4 + %w = alloca i32, align 4 + %bytes = alloca i64, align 8 + %j = alloca i64, align 8 + %ilim = alloca i64, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %buffersize, i64* %buffersize.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store i32 %quoting_style, i32* %quoting_style.addr, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store i32* %quote_these_too, i32** %quote_these_too.addr, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i64 0, i64* %len, align 8 + store i64 0, i64* %orig_buffersize, align 8 + store i8* null, i8** %quote_string, align 8 + store i64 0, i64* %quote_string_len, align 8 + store i8 0, i8* %backslash_escapes, align 1 + %call = call i64 @__ctype_get_mb_cur_max() #11 + %cmp = icmp eq i64 %call, 1 + %frombool = zext i1 %cmp to i8 + store i8 %frombool, i8* %unibyte_locale, align 1 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 2 + %cmp1 = icmp ne i32 %and, 0 + %frombool2 = zext i1 %cmp1 to i8 + store i8 %frombool2, i8* %elide_outer_quotes, align 1 + store i8 0, i8* %pending_shell_escape_end, align 1 + store i8 0, i8* %encountered_single_quote, align 1 + store i8 1, i8* %all_c_and_shell_quote_compat, align 1 + br label %process_input + +process_input: ; preds = %if.then701, %entry + %1 = load i32, i32* %quoting_style.addr, align 4 + br label %NodeBlock27 + +NodeBlock27: ; preds = %process_input + %case.cmp28 = icmp eq i32 %1, 6 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %1, 5 + br i1 %case.cmp26, label %sw.bb3, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %1, 7 + br i1 %case.cmp24, label %sw.bb7, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %1, 8 + br i1 %case.cmp22, label %sw.bb8, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %1, 9 + br i1 %case.cmp20, label %sw.bb8, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %1, 10 + br i1 %case.cmp18, label %sw.bb8, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %1, 3 + br i1 %case.cmp16, label %sw.bb26, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %1, 1 + br i1 %case.cmp14, label %sw.bb27, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %1, 4 + br i1 %case.cmp12, label %sw.bb28, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %1, 2 + br i1 %case.cmp10, label %sw.bb32, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock9 + %case.cmp = icmp eq i32 %1, 0 + br i1 %case.cmp, label %sw.bb43, label %newDefault + +sw.bb: ; preds = %NodeBlock27 + store i32 5, i32* %quoting_style.addr, align 4 + store i8 1, i8* %elide_outer_quotes, align 1 + br label %sw.bb3 + +sw.bb3: ; preds = %NodeBlock25, %sw.bb + %2 = load i8, i8* %elide_outer_quotes, align 1 + %tobool = trunc i8 %2 to i1 + br i1 %tobool, label %if.end6, label %do.body + +do.body: ; preds = %sw.bb3 + %3 = load i64, i64* %len, align 8 + %4 = load i64, i64* %buffersize.addr, align 8 + %cmp4 = icmp ult i64 %3, %4 + br i1 %cmp4, label %if.then5, label %if.end + +if.then5: ; preds = %do.body + %5 = load i8*, i8** %buffer.addr, align 8 + %6 = load i64, i64* %len, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 %6 + store i8 34, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then5, %do.body + %7 = load i64, i64* %len, align 8 + %inc = add i64 %7, 1 + store i64 %inc, i64* %len, align 8 + br label %if.end6 + +if.end6: ; preds = %if.end, %sw.bb3 + store i8 1, i8* %backslash_escapes, align 1 + store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10.64, i64 0, i64 0), i8** %quote_string, align 8 + store i64 1, i64* %quote_string_len, align 8 + br label %sw.epilog + +sw.bb7: ; preds = %NodeBlock23 + store i8 1, i8* %backslash_escapes, align 1 + store i8 0, i8* %elide_outer_quotes, align 1 + br label %sw.epilog + +sw.bb8: ; preds = %NodeBlock21, %NodeBlock19, %NodeBlock17 + %8 = load i32, i32* %quoting_style.addr, align 4 + %cmp9 = icmp ne i32 %8, 10 + br i1 %cmp9, label %if.then10, label %if.end13 + +if.then10: ; preds = %sw.bb8 + %9 = load i32, i32* %quoting_style.addr, align 4 + %call11 = call i8* @gettext_quote(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.11.65, i64 0, i64 0), i32 %9) + store i8* %call11, i8** %left_quote.addr, align 8 + %10 = load i32, i32* %quoting_style.addr, align 4 + %call12 = call i8* @gettext_quote(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.66, i64 0, i64 0), i32 %10) + store i8* %call12, i8** %right_quote.addr, align 8 + br label %if.end13 + +if.end13: ; preds = %if.then10, %sw.bb8 + %11 = load i8, i8* %elide_outer_quotes, align 1 + %tobool14 = trunc i8 %11 to i1 + br i1 %tobool14, label %if.end24, label %if.then15 + +if.then15: ; preds = %if.end13 + %12 = load i8*, i8** %left_quote.addr, align 8 + store i8* %12, i8** %quote_string, align 8 + br label %for.cond + +for.cond: ; preds = %if.end21, %if.then15 + %13 = load i8*, i8** %quote_string, align 8 + %14 = load i8, i8* %13, align 1 + %tobool16 = icmp ne i8 %14, 0 + br i1 %tobool16, label %do.body17, label %if.end24 + +do.body17: ; preds = %for.cond + %15 = load i64, i64* %len, align 8 + %16 = load i64, i64* %buffersize.addr, align 8 + %cmp18 = icmp ult i64 %15, %16 + br i1 %cmp18, label %if.then19, label %if.end21 + +if.then19: ; preds = %do.body17 + %17 = load i8*, i8** %quote_string, align 8 + %18 = load i8, i8* %17, align 1 + %19 = load i8*, i8** %buffer.addr, align 8 + %20 = load i64, i64* %len, align 8 + %arrayidx20 = getelementptr inbounds i8, i8* %19, i64 %20 + store i8 %18, i8* %arrayidx20, align 1 + br label %if.end21 + +if.end21: ; preds = %if.then19, %do.body17 + %21 = load i64, i64* %len, align 8 + %inc22 = add i64 %21, 1 + store i64 %inc22, i64* %len, align 8 + %22 = load i8*, i8** %quote_string, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %22, i32 1 + store i8* %incdec.ptr, i8** %quote_string, align 8 + br label %for.cond + +if.end24: ; preds = %for.cond, %if.end13 + store i8 1, i8* %backslash_escapes, align 1 + %23 = load i8*, i8** %right_quote.addr, align 8 + store i8* %23, i8** %quote_string, align 8 + %24 = load i8*, i8** %quote_string, align 8 + %call25 = call i64 @strlen(i8* %24) #23 + store i64 %call25, i64* %quote_string_len, align 8 + br label %sw.epilog + +sw.bb26: ; preds = %NodeBlock15 + store i8 1, i8* %backslash_escapes, align 1 + br label %sw.bb27 + +sw.bb27: ; preds = %NodeBlock13, %sw.bb26 + store i8 1, i8* %elide_outer_quotes, align 1 + br label %sw.bb28 + +sw.bb28: ; preds = %NodeBlock11, %sw.bb27 + %25 = load i8, i8* %elide_outer_quotes, align 1 + %tobool29 = trunc i8 %25 to i1 + br i1 %tobool29, label %sw.bb32, label %if.then30 + +if.then30: ; preds = %sw.bb28 + store i8 1, i8* %backslash_escapes, align 1 + br label %sw.bb32 + +sw.bb32: ; preds = %NodeBlock9, %sw.bb28, %if.then30 + store i32 2, i32* %quoting_style.addr, align 4 + %26 = load i8, i8* %elide_outer_quotes, align 1 + %tobool33 = trunc i8 %26 to i1 + br i1 %tobool33, label %if.end42, label %do.body35 + +do.body35: ; preds = %sw.bb32 + %27 = load i64, i64* %len, align 8 + %28 = load i64, i64* %buffersize.addr, align 8 + %cmp36 = icmp ult i64 %27, %28 + br i1 %cmp36, label %if.then37, label %if.end39 + +if.then37: ; preds = %do.body35 + %29 = load i8*, i8** %buffer.addr, align 8 + %30 = load i64, i64* %len, align 8 + %arrayidx38 = getelementptr inbounds i8, i8* %29, i64 %30 + store i8 39, i8* %arrayidx38, align 1 + br label %if.end39 + +if.end39: ; preds = %if.then37, %do.body35 + %31 = load i64, i64* %len, align 8 + %inc40 = add i64 %31, 1 + store i64 %inc40, i64* %len, align 8 + br label %if.end42 + +if.end42: ; preds = %if.end39, %sw.bb32 + store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.66, i64 0, i64 0), i8** %quote_string, align 8 + store i64 1, i64* %quote_string_len, align 8 + br label %sw.epilog + +sw.bb43: ; preds = %NodeBlock + store i8 0, i8* %elide_outer_quotes, align 1 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @abort() #26 + unreachable + +sw.epilog: ; preds = %sw.bb43, %if.end42, %if.end24, %sw.bb7, %if.end6 + store i64 0, i64* %i, align 8 + br label %for.cond44 + +for.cond44: ; preds = %for.inc673, %sw.epilog + %32 = load i64, i64* %argsize.addr, align 8 + %cmp45 = icmp eq i64 %32, -1 + br i1 %cmp45, label %cond.true, label %cond.false + +cond.true: ; preds = %for.cond44 + %33 = load i8*, i8** %arg.addr, align 8 + %34 = load i64, i64* %i, align 8 + %arrayidx46 = getelementptr inbounds i8, i8* %33, i64 %34 + %35 = load i8, i8* %arrayidx46, align 1 + %conv = sext i8 %35 to i32 + %cmp47 = icmp eq i32 %conv, 0 + %conv48 = zext i1 %cmp47 to i32 + br label %cond.end + +cond.false: ; preds = %for.cond44 + %36 = load i64, i64* %i, align 8 + %37 = load i64, i64* %argsize.addr, align 8 + %cmp49 = icmp eq i64 %36, %37 + %conv50 = zext i1 %cmp49 to i32 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ %conv48, %cond.true ], [ %conv50, %cond.false ] + %tobool51 = icmp ne i32 %cond, 0 + %lnot = xor i1 %tobool51, true + br i1 %lnot, label %for.body52, label %for.end675 + +for.body52: ; preds = %cond.end + store i8 0, i8* %is_right_quote, align 1 + store i8 0, i8* %escaping, align 1 + store i8 0, i8* %c_and_shell_quote_compat, align 1 + %38 = load i8, i8* %backslash_escapes, align 1 + %tobool53 = trunc i8 %38 to i1 + %39 = load i32, i32* %quoting_style.addr, align 4 + %cmp55 = icmp ne i32 %39, 2 + %or.cond = and i1 %tobool53, %cmp55 + %40 = load i64, i64* %quote_string_len, align 8 + %tobool58 = icmp ne i64 %40, 0 + %or.cond1 = and i1 %or.cond, %tobool58 + br i1 %or.cond1, label %land.lhs.true59, label %if.end80 + +land.lhs.true59: ; preds = %for.body52 + %41 = load i64, i64* %i, align 8 + %42 = load i64, i64* %quote_string_len, align 8 + %add = add i64 %41, %42 + %43 = load i64, i64* %argsize.addr, align 8 + %cmp60 = icmp eq i64 %43, -1 + %44 = load i64, i64* %quote_string_len, align 8 + %cmp63 = icmp ult i64 1, %44 + %or.cond2 = and i1 %cmp60, %cmp63 + br i1 %or.cond2, label %cond.true65, label %cond.false67 + +cond.true65: ; preds = %land.lhs.true59 + %45 = load i8*, i8** %arg.addr, align 8 + %call66 = call i64 @strlen(i8* %45) #23 + store i64 %call66, i64* %argsize.addr, align 8 + br label %cond.end68 + +cond.false67: ; preds = %land.lhs.true59 + %46 = load i64, i64* %argsize.addr, align 8 + br label %cond.end68 + +cond.end68: ; preds = %cond.false67, %cond.true65 + %cond69 = phi i64 [ %call66, %cond.true65 ], [ %46, %cond.false67 ] + %cmp70 = icmp ule i64 %add, %cond69 + br i1 %cmp70, label %land.lhs.true72, label %if.end80 + +land.lhs.true72: ; preds = %cond.end68 + %47 = load i8*, i8** %arg.addr, align 8 + %48 = load i64, i64* %i, align 8 + %add.ptr = getelementptr inbounds i8, i8* %47, i64 %48 + %49 = load i8*, i8** %quote_string, align 8 + %50 = load i64, i64* %quote_string_len, align 8 + %call73 = call i32 @memcmp(i8* %add.ptr, i8* %49, i64 %50) #23 + %cmp74 = icmp eq i32 %call73, 0 + br i1 %cmp74, label %if.then76, label %if.end80 + +if.then76: ; preds = %land.lhs.true72 + %51 = load i8, i8* %elide_outer_quotes, align 1 + %tobool77 = trunc i8 %51 to i1 + br i1 %tobool77, label %force_outer_quoting_style, label %if.end79 + +if.end79: ; preds = %if.then76 + store i8 1, i8* %is_right_quote, align 1 + br label %if.end80 + +if.end80: ; preds = %if.end79, %land.lhs.true72, %cond.end68, %for.body52 + %52 = load i8*, i8** %arg.addr, align 8 + %53 = load i64, i64* %i, align 8 + %arrayidx81 = getelementptr inbounds i8, i8* %52, i64 %53 + %54 = load i8, i8* %arrayidx81, align 1 + store i8 %54, i8* %c, align 1 + %55 = load i8, i8* %c, align 1 + %conv82 = zext i8 %55 to i32 + br label %NodeBlock232 + +NodeBlock232: ; preds = %if.end80 + %case.cmp233 = icmp eq i32 %conv82, 0 + br i1 %case.cmp233, label %sw.bb83, label %NodeBlock230 + +NodeBlock230: ; preds = %NodeBlock232 + %case.cmp231 = icmp eq i32 %conv82, 63 + br i1 %case.cmp231, label %sw.bb170, label %NodeBlock228 + +NodeBlock228: ; preds = %NodeBlock230 + %case.cmp229 = icmp eq i32 %conv82, 7 + br i1 %case.cmp229, label %sw.bb236, label %NodeBlock226 + +NodeBlock226: ; preds = %NodeBlock228 + %case.cmp227 = icmp eq i32 %conv82, 8 + br i1 %case.cmp227, label %sw.bb237, label %NodeBlock224 + +NodeBlock224: ; preds = %NodeBlock226 + %case.cmp225 = icmp eq i32 %conv82, 12 + br i1 %case.cmp225, label %sw.bb238, label %NodeBlock222 + +NodeBlock222: ; preds = %NodeBlock224 + %case.cmp223 = icmp eq i32 %conv82, 10 + br i1 %case.cmp223, label %sw.bb239, label %NodeBlock220 + +NodeBlock220: ; preds = %NodeBlock222 + %case.cmp221 = icmp eq i32 %conv82, 13 + br i1 %case.cmp221, label %sw.bb240, label %NodeBlock218 + +NodeBlock218: ; preds = %NodeBlock220 + %case.cmp219 = icmp eq i32 %conv82, 9 + br i1 %case.cmp219, label %sw.bb241, label %NodeBlock216 + +NodeBlock216: ; preds = %NodeBlock218 + %case.cmp217 = icmp eq i32 %conv82, 11 + br i1 %case.cmp217, label %sw.bb242, label %NodeBlock214 + +NodeBlock214: ; preds = %NodeBlock216 + %case.cmp215 = icmp eq i32 %conv82, 92 + br i1 %case.cmp215, label %sw.bb243, label %NodeBlock212 + +NodeBlock212: ; preds = %NodeBlock214 + %case.cmp213 = icmp eq i32 %conv82, 123 + br i1 %case.cmp213, label %sw.bb270, label %NodeBlock210 + +NodeBlock210: ; preds = %NodeBlock212 + %case.cmp211 = icmp eq i32 %conv82, 125 + br i1 %case.cmp211, label %sw.bb270, label %NodeBlock208 + +NodeBlock208: ; preds = %NodeBlock210 + %case.cmp209 = icmp eq i32 %conv82, 35 + br i1 %case.cmp209, label %sw.bb283, label %NodeBlock206 + +NodeBlock206: ; preds = %NodeBlock208 + %case.cmp207 = icmp eq i32 %conv82, 126 + br i1 %case.cmp207, label %sw.bb283, label %NodeBlock204 + +NodeBlock204: ; preds = %NodeBlock206 + %case.cmp205 = icmp eq i32 %conv82, 32 + br i1 %case.cmp205, label %sw.bb288, label %NodeBlock202 + +NodeBlock202: ; preds = %NodeBlock204 + %case.cmp203 = icmp eq i32 %conv82, 33 + br i1 %case.cmp203, label %sw.bb289, label %NodeBlock200 + +NodeBlock200: ; preds = %NodeBlock202 + %case.cmp201 = icmp eq i32 %conv82, 34 + br i1 %case.cmp201, label %sw.bb289, label %NodeBlock198 + +NodeBlock198: ; preds = %NodeBlock200 + %case.cmp199 = icmp eq i32 %conv82, 36 + br i1 %case.cmp199, label %sw.bb289, label %NodeBlock196 + +NodeBlock196: ; preds = %NodeBlock198 + %case.cmp197 = icmp eq i32 %conv82, 38 + br i1 %case.cmp197, label %sw.bb289, label %NodeBlock194 + +NodeBlock194: ; preds = %NodeBlock196 + %case.cmp195 = icmp eq i32 %conv82, 40 + br i1 %case.cmp195, label %sw.bb289, label %NodeBlock192 + +NodeBlock192: ; preds = %NodeBlock194 + %case.cmp193 = icmp eq i32 %conv82, 41 + br i1 %case.cmp193, label %sw.bb289, label %NodeBlock190 + +NodeBlock190: ; preds = %NodeBlock192 + %case.cmp191 = icmp eq i32 %conv82, 42 + br i1 %case.cmp191, label %sw.bb289, label %NodeBlock188 + +NodeBlock188: ; preds = %NodeBlock190 + %case.cmp189 = icmp eq i32 %conv82, 59 + br i1 %case.cmp189, label %sw.bb289, label %NodeBlock186 + +NodeBlock186: ; preds = %NodeBlock188 + %case.cmp187 = icmp eq i32 %conv82, 60 + br i1 %case.cmp187, label %sw.bb289, label %NodeBlock184 + +NodeBlock184: ; preds = %NodeBlock186 + %case.cmp185 = icmp eq i32 %conv82, 61 + br i1 %case.cmp185, label %sw.bb289, label %NodeBlock182 + +NodeBlock182: ; preds = %NodeBlock184 + %case.cmp183 = icmp eq i32 %conv82, 62 + br i1 %case.cmp183, label %sw.bb289, label %NodeBlock180 + +NodeBlock180: ; preds = %NodeBlock182 + %case.cmp181 = icmp eq i32 %conv82, 91 + br i1 %case.cmp181, label %sw.bb289, label %NodeBlock178 + +NodeBlock178: ; preds = %NodeBlock180 + %case.cmp179 = icmp eq i32 %conv82, 94 + br i1 %case.cmp179, label %sw.bb289, label %NodeBlock176 + +NodeBlock176: ; preds = %NodeBlock178 + %case.cmp177 = icmp eq i32 %conv82, 96 + br i1 %case.cmp177, label %sw.bb289, label %NodeBlock174 + +NodeBlock174: ; preds = %NodeBlock176 + %case.cmp175 = icmp eq i32 %conv82, 124 + br i1 %case.cmp175, label %sw.bb289, label %NodeBlock172 + +NodeBlock172: ; preds = %NodeBlock174 + %case.cmp173 = icmp eq i32 %conv82, 39 + br i1 %case.cmp173, label %sw.bb297, label %NodeBlock170 + +NodeBlock170: ; preds = %NodeBlock172 + %case.cmp171 = icmp eq i32 %conv82, 37 + br i1 %case.cmp171, label %sw.bb334, label %NodeBlock168 + +NodeBlock168: ; preds = %NodeBlock170 + %case.cmp169 = icmp eq i32 %conv82, 43 + br i1 %case.cmp169, label %sw.bb334, label %NodeBlock166 + +NodeBlock166: ; preds = %NodeBlock168 + %case.cmp167 = icmp eq i32 %conv82, 44 + br i1 %case.cmp167, label %sw.bb334, label %NodeBlock164 + +NodeBlock164: ; preds = %NodeBlock166 + %case.cmp165 = icmp eq i32 %conv82, 45 + br i1 %case.cmp165, label %sw.bb334, label %NodeBlock162 + +NodeBlock162: ; preds = %NodeBlock164 + %case.cmp163 = icmp eq i32 %conv82, 46 + br i1 %case.cmp163, label %sw.bb334, label %NodeBlock160 + +NodeBlock160: ; preds = %NodeBlock162 + %case.cmp161 = icmp eq i32 %conv82, 47 + br i1 %case.cmp161, label %sw.bb334, label %NodeBlock158 + +NodeBlock158: ; preds = %NodeBlock160 + %case.cmp159 = icmp eq i32 %conv82, 48 + br i1 %case.cmp159, label %sw.bb334, label %NodeBlock156 + +NodeBlock156: ; preds = %NodeBlock158 + %case.cmp157 = icmp eq i32 %conv82, 49 + br i1 %case.cmp157, label %sw.bb334, label %NodeBlock154 + +NodeBlock154: ; preds = %NodeBlock156 + %case.cmp155 = icmp eq i32 %conv82, 50 + br i1 %case.cmp155, label %sw.bb334, label %NodeBlock152 + +NodeBlock152: ; preds = %NodeBlock154 + %case.cmp153 = icmp eq i32 %conv82, 51 + br i1 %case.cmp153, label %sw.bb334, label %NodeBlock150 + +NodeBlock150: ; preds = %NodeBlock152 + %case.cmp151 = icmp eq i32 %conv82, 52 + br i1 %case.cmp151, label %sw.bb334, label %NodeBlock148 + +NodeBlock148: ; preds = %NodeBlock150 + %case.cmp149 = icmp eq i32 %conv82, 53 + br i1 %case.cmp149, label %sw.bb334, label %NodeBlock146 + +NodeBlock146: ; preds = %NodeBlock148 + %case.cmp147 = icmp eq i32 %conv82, 54 + br i1 %case.cmp147, label %sw.bb334, label %NodeBlock144 + +NodeBlock144: ; preds = %NodeBlock146 + %case.cmp145 = icmp eq i32 %conv82, 55 + br i1 %case.cmp145, label %sw.bb334, label %NodeBlock142 + +NodeBlock142: ; preds = %NodeBlock144 + %case.cmp143 = icmp eq i32 %conv82, 56 + br i1 %case.cmp143, label %sw.bb334, label %NodeBlock140 + +NodeBlock140: ; preds = %NodeBlock142 + %case.cmp141 = icmp eq i32 %conv82, 57 + br i1 %case.cmp141, label %sw.bb334, label %NodeBlock138 + +NodeBlock138: ; preds = %NodeBlock140 + %case.cmp139 = icmp eq i32 %conv82, 58 + br i1 %case.cmp139, label %sw.bb334, label %NodeBlock136 + +NodeBlock136: ; preds = %NodeBlock138 + %case.cmp137 = icmp eq i32 %conv82, 65 + br i1 %case.cmp137, label %sw.bb334, label %NodeBlock134 + +NodeBlock134: ; preds = %NodeBlock136 + %case.cmp135 = icmp eq i32 %conv82, 66 + br i1 %case.cmp135, label %sw.bb334, label %NodeBlock132 + +NodeBlock132: ; preds = %NodeBlock134 + %case.cmp133 = icmp eq i32 %conv82, 67 + br i1 %case.cmp133, label %sw.bb334, label %NodeBlock130 + +NodeBlock130: ; preds = %NodeBlock132 + %case.cmp131 = icmp eq i32 %conv82, 68 + br i1 %case.cmp131, label %sw.bb334, label %NodeBlock128 + +NodeBlock128: ; preds = %NodeBlock130 + %case.cmp129 = icmp eq i32 %conv82, 69 + br i1 %case.cmp129, label %sw.bb334, label %NodeBlock126 + +NodeBlock126: ; preds = %NodeBlock128 + %case.cmp127 = icmp eq i32 %conv82, 70 + br i1 %case.cmp127, label %sw.bb334, label %NodeBlock124 + +NodeBlock124: ; preds = %NodeBlock126 + %case.cmp125 = icmp eq i32 %conv82, 71 + br i1 %case.cmp125, label %sw.bb334, label %NodeBlock122 + +NodeBlock122: ; preds = %NodeBlock124 + %case.cmp123 = icmp eq i32 %conv82, 72 + br i1 %case.cmp123, label %sw.bb334, label %NodeBlock120 + +NodeBlock120: ; preds = %NodeBlock122 + %case.cmp121 = icmp eq i32 %conv82, 73 + br i1 %case.cmp121, label %sw.bb334, label %NodeBlock118 + +NodeBlock118: ; preds = %NodeBlock120 + %case.cmp119 = icmp eq i32 %conv82, 74 + br i1 %case.cmp119, label %sw.bb334, label %NodeBlock116 + +NodeBlock116: ; preds = %NodeBlock118 + %case.cmp117 = icmp eq i32 %conv82, 75 + br i1 %case.cmp117, label %sw.bb334, label %NodeBlock114 + +NodeBlock114: ; preds = %NodeBlock116 + %case.cmp115 = icmp eq i32 %conv82, 76 + br i1 %case.cmp115, label %sw.bb334, label %NodeBlock112 + +NodeBlock112: ; preds = %NodeBlock114 + %case.cmp113 = icmp eq i32 %conv82, 77 + br i1 %case.cmp113, label %sw.bb334, label %NodeBlock110 + +NodeBlock110: ; preds = %NodeBlock112 + %case.cmp111 = icmp eq i32 %conv82, 78 + br i1 %case.cmp111, label %sw.bb334, label %NodeBlock108 + +NodeBlock108: ; preds = %NodeBlock110 + %case.cmp109 = icmp eq i32 %conv82, 79 + br i1 %case.cmp109, label %sw.bb334, label %NodeBlock106 + +NodeBlock106: ; preds = %NodeBlock108 + %case.cmp107 = icmp eq i32 %conv82, 80 + br i1 %case.cmp107, label %sw.bb334, label %NodeBlock104 + +NodeBlock104: ; preds = %NodeBlock106 + %case.cmp105 = icmp eq i32 %conv82, 81 + br i1 %case.cmp105, label %sw.bb334, label %NodeBlock102 + +NodeBlock102: ; preds = %NodeBlock104 + %case.cmp103 = icmp eq i32 %conv82, 82 + br i1 %case.cmp103, label %sw.bb334, label %NodeBlock100 + +NodeBlock100: ; preds = %NodeBlock102 + %case.cmp101 = icmp eq i32 %conv82, 83 + br i1 %case.cmp101, label %sw.bb334, label %NodeBlock98 + +NodeBlock98: ; preds = %NodeBlock100 + %case.cmp99 = icmp eq i32 %conv82, 84 + br i1 %case.cmp99, label %sw.bb334, label %NodeBlock96 + +NodeBlock96: ; preds = %NodeBlock98 + %case.cmp97 = icmp eq i32 %conv82, 85 + br i1 %case.cmp97, label %sw.bb334, label %NodeBlock94 + +NodeBlock94: ; preds = %NodeBlock96 + %case.cmp95 = icmp eq i32 %conv82, 86 + br i1 %case.cmp95, label %sw.bb334, label %NodeBlock92 + +NodeBlock92: ; preds = %NodeBlock94 + %case.cmp93 = icmp eq i32 %conv82, 87 + br i1 %case.cmp93, label %sw.bb334, label %NodeBlock90 + +NodeBlock90: ; preds = %NodeBlock92 + %case.cmp91 = icmp eq i32 %conv82, 88 + br i1 %case.cmp91, label %sw.bb334, label %NodeBlock88 + +NodeBlock88: ; preds = %NodeBlock90 + %case.cmp89 = icmp eq i32 %conv82, 89 + br i1 %case.cmp89, label %sw.bb334, label %NodeBlock86 + +NodeBlock86: ; preds = %NodeBlock88 + %case.cmp87 = icmp eq i32 %conv82, 90 + br i1 %case.cmp87, label %sw.bb334, label %NodeBlock84 + +NodeBlock84: ; preds = %NodeBlock86 + %case.cmp85 = icmp eq i32 %conv82, 93 + br i1 %case.cmp85, label %sw.bb334, label %NodeBlock82 + +NodeBlock82: ; preds = %NodeBlock84 + %case.cmp83 = icmp eq i32 %conv82, 95 + br i1 %case.cmp83, label %sw.bb334, label %NodeBlock80 + +NodeBlock80: ; preds = %NodeBlock82 + %case.cmp81 = icmp eq i32 %conv82, 97 + br i1 %case.cmp81, label %sw.bb334, label %NodeBlock78 + +NodeBlock78: ; preds = %NodeBlock80 + %case.cmp79 = icmp eq i32 %conv82, 98 + br i1 %case.cmp79, label %sw.bb334, label %NodeBlock76 + +NodeBlock76: ; preds = %NodeBlock78 + %case.cmp77 = icmp eq i32 %conv82, 99 + br i1 %case.cmp77, label %sw.bb334, label %NodeBlock74 + +NodeBlock74: ; preds = %NodeBlock76 + %case.cmp75 = icmp eq i32 %conv82, 100 + br i1 %case.cmp75, label %sw.bb334, label %NodeBlock72 + +NodeBlock72: ; preds = %NodeBlock74 + %case.cmp73 = icmp eq i32 %conv82, 101 + br i1 %case.cmp73, label %sw.bb334, label %NodeBlock70 + +NodeBlock70: ; preds = %NodeBlock72 + %case.cmp71 = icmp eq i32 %conv82, 102 + br i1 %case.cmp71, label %sw.bb334, label %NodeBlock68 + +NodeBlock68: ; preds = %NodeBlock70 + %case.cmp69 = icmp eq i32 %conv82, 103 + br i1 %case.cmp69, label %sw.bb334, label %NodeBlock66 + +NodeBlock66: ; preds = %NodeBlock68 + %case.cmp67 = icmp eq i32 %conv82, 104 + br i1 %case.cmp67, label %sw.bb334, label %NodeBlock64 + +NodeBlock64: ; preds = %NodeBlock66 + %case.cmp65 = icmp eq i32 %conv82, 105 + br i1 %case.cmp65, label %sw.bb334, label %NodeBlock62 + +NodeBlock62: ; preds = %NodeBlock64 + %case.cmp63 = icmp eq i32 %conv82, 106 + br i1 %case.cmp63, label %sw.bb334, label %NodeBlock60 + +NodeBlock60: ; preds = %NodeBlock62 + %case.cmp61 = icmp eq i32 %conv82, 107 + br i1 %case.cmp61, label %sw.bb334, label %NodeBlock58 + +NodeBlock58: ; preds = %NodeBlock60 + %case.cmp59 = icmp eq i32 %conv82, 108 + br i1 %case.cmp59, label %sw.bb334, label %NodeBlock56 + +NodeBlock56: ; preds = %NodeBlock58 + %case.cmp57 = icmp eq i32 %conv82, 109 + br i1 %case.cmp57, label %sw.bb334, label %NodeBlock54 + +NodeBlock54: ; preds = %NodeBlock56 + %case.cmp55 = icmp eq i32 %conv82, 110 + br i1 %case.cmp55, label %sw.bb334, label %NodeBlock52 + +NodeBlock52: ; preds = %NodeBlock54 + %case.cmp53 = icmp eq i32 %conv82, 111 + br i1 %case.cmp53, label %sw.bb334, label %NodeBlock50 + +NodeBlock50: ; preds = %NodeBlock52 + %case.cmp51 = icmp eq i32 %conv82, 112 + br i1 %case.cmp51, label %sw.bb334, label %NodeBlock48 + +NodeBlock48: ; preds = %NodeBlock50 + %case.cmp49 = icmp eq i32 %conv82, 113 + br i1 %case.cmp49, label %sw.bb334, label %NodeBlock46 + +NodeBlock46: ; preds = %NodeBlock48 + %case.cmp47 = icmp eq i32 %conv82, 114 + br i1 %case.cmp47, label %sw.bb334, label %NodeBlock44 + +NodeBlock44: ; preds = %NodeBlock46 + %case.cmp45 = icmp eq i32 %conv82, 115 + br i1 %case.cmp45, label %sw.bb334, label %NodeBlock42 + +NodeBlock42: ; preds = %NodeBlock44 + %case.cmp43 = icmp eq i32 %conv82, 116 + br i1 %case.cmp43, label %sw.bb334, label %NodeBlock40 + +NodeBlock40: ; preds = %NodeBlock42 + %case.cmp41 = icmp eq i32 %conv82, 117 + br i1 %case.cmp41, label %sw.bb334, label %NodeBlock38 + +NodeBlock38: ; preds = %NodeBlock40 + %case.cmp39 = icmp eq i32 %conv82, 118 + br i1 %case.cmp39, label %sw.bb334, label %NodeBlock36 + +NodeBlock36: ; preds = %NodeBlock38 + %case.cmp37 = icmp eq i32 %conv82, 119 + br i1 %case.cmp37, label %sw.bb334, label %NodeBlock34 + +NodeBlock34: ; preds = %NodeBlock36 + %case.cmp35 = icmp eq i32 %conv82, 120 + br i1 %case.cmp35, label %sw.bb334, label %NodeBlock32 + +NodeBlock32: ; preds = %NodeBlock34 + %case.cmp33 = icmp eq i32 %conv82, 121 + br i1 %case.cmp33, label %sw.bb334, label %NodeBlock30 + +NodeBlock30: ; preds = %NodeBlock32 + %case.cmp31 = icmp eq i32 %conv82, 122 + br i1 %case.cmp31, label %sw.bb334, label %newDefault29 + +sw.bb83: ; preds = %NodeBlock232 + %56 = load i8, i8* %backslash_escapes, align 1 + %tobool84 = trunc i8 %56 to i1 + br i1 %tobool84, label %do.body86, label %if.else + +do.body86: ; preds = %sw.bb83 + %57 = load i8, i8* %elide_outer_quotes, align 1 + %tobool87 = trunc i8 %57 to i1 + br i1 %tobool87, label %force_outer_quoting_style, label %if.end89 + +if.end89: ; preds = %do.body86 + store i8 1, i8* %escaping, align 1 + %58 = load i32, i32* %quoting_style.addr, align 4 + %cmp90 = icmp eq i32 %58, 2 + br i1 %cmp90, label %land.lhs.true92, label %do.body120 + +land.lhs.true92: ; preds = %if.end89 + %59 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool93 = trunc i8 %59 to i1 + br i1 %tobool93, label %do.body120, label %do.body95 + +do.body95: ; preds = %land.lhs.true92 + %60 = load i64, i64* %len, align 8 + %61 = load i64, i64* %buffersize.addr, align 8 + %cmp96 = icmp ult i64 %60, %61 + br i1 %cmp96, label %if.then98, label %if.end100 + +if.then98: ; preds = %do.body95 + %62 = load i8*, i8** %buffer.addr, align 8 + %63 = load i64, i64* %len, align 8 + %arrayidx99 = getelementptr inbounds i8, i8* %62, i64 %63 + store i8 39, i8* %arrayidx99, align 1 + br label %if.end100 + +if.end100: ; preds = %if.then98, %do.body95 + %64 = load i64, i64* %len, align 8 + %inc101 = add i64 %64, 1 + store i64 %inc101, i64* %len, align 8 + %65 = load i64, i64* %len, align 8 + %66 = load i64, i64* %buffersize.addr, align 8 + %cmp104 = icmp ult i64 %65, %66 + br i1 %cmp104, label %if.then106, label %if.end108 + +if.then106: ; preds = %if.end100 + %67 = load i8*, i8** %buffer.addr, align 8 + %68 = load i64, i64* %len, align 8 + %arrayidx107 = getelementptr inbounds i8, i8* %67, i64 %68 + store i8 36, i8* %arrayidx107, align 1 + br label %if.end108 + +if.end108: ; preds = %if.then106, %if.end100 + %69 = load i64, i64* %len, align 8 + %inc109 = add i64 %69, 1 + store i64 %inc109, i64* %len, align 8 + %70 = load i64, i64* %len, align 8 + %71 = load i64, i64* %buffersize.addr, align 8 + %cmp112 = icmp ult i64 %70, %71 + br i1 %cmp112, label %if.then114, label %if.end116 + +if.then114: ; preds = %if.end108 + %72 = load i8*, i8** %buffer.addr, align 8 + %73 = load i64, i64* %len, align 8 + %arrayidx115 = getelementptr inbounds i8, i8* %72, i64 %73 + store i8 39, i8* %arrayidx115, align 1 + br label %if.end116 + +if.end116: ; preds = %if.then114, %if.end108 + %74 = load i64, i64* %len, align 8 + %inc117 = add i64 %74, 1 + store i64 %inc117, i64* %len, align 8 + store i8 1, i8* %pending_shell_escape_end, align 1 + br label %do.body120 + +do.body120: ; preds = %if.end89, %land.lhs.true92, %if.end116 + %75 = load i64, i64* %len, align 8 + %76 = load i64, i64* %buffersize.addr, align 8 + %cmp121 = icmp ult i64 %75, %76 + br i1 %cmp121, label %if.then123, label %if.end125 + +if.then123: ; preds = %do.body120 + %77 = load i8*, i8** %buffer.addr, align 8 + %78 = load i64, i64* %len, align 8 + %arrayidx124 = getelementptr inbounds i8, i8* %77, i64 %78 + store i8 92, i8* %arrayidx124, align 1 + br label %if.end125 + +if.end125: ; preds = %if.then123, %do.body120 + %79 = load i64, i64* %len, align 8 + %inc126 = add i64 %79, 1 + store i64 %inc126, i64* %len, align 8 + %80 = load i32, i32* %quoting_style.addr, align 4 + %cmp129 = icmp ne i32 %80, 2 + br i1 %cmp129, label %land.lhs.true131, label %if.end164 + +land.lhs.true131: ; preds = %if.end125 + %81 = load i64, i64* %i, align 8 + %add132 = add i64 %81, 1 + %82 = load i64, i64* %argsize.addr, align 8 + %cmp133 = icmp ult i64 %add132, %82 + br i1 %cmp133, label %land.lhs.true135, label %if.end164 + +land.lhs.true135: ; preds = %land.lhs.true131 + %83 = load i8*, i8** %arg.addr, align 8 + %84 = load i64, i64* %i, align 8 + %add136 = add i64 %84, 1 + %arrayidx137 = getelementptr inbounds i8, i8* %83, i64 %add136 + %85 = load i8, i8* %arrayidx137, align 1 + %conv138 = sext i8 %85 to i32 + %cmp139 = icmp sle i32 48, %conv138 + br i1 %cmp139, label %land.lhs.true141, label %if.end164 + +land.lhs.true141: ; preds = %land.lhs.true135 + %86 = load i8*, i8** %arg.addr, align 8 + %87 = load i64, i64* %i, align 8 + %add142 = add i64 %87, 1 + %arrayidx143 = getelementptr inbounds i8, i8* %86, i64 %add142 + %88 = load i8, i8* %arrayidx143, align 1 + %conv144 = sext i8 %88 to i32 + %cmp145 = icmp sle i32 %conv144, 57 + br i1 %cmp145, label %do.body148, label %if.end164 + +do.body148: ; preds = %land.lhs.true141 + %89 = load i64, i64* %len, align 8 + %90 = load i64, i64* %buffersize.addr, align 8 + %cmp149 = icmp ult i64 %89, %90 + br i1 %cmp149, label %if.then151, label %if.end153 + +if.then151: ; preds = %do.body148 + %91 = load i8*, i8** %buffer.addr, align 8 + %92 = load i64, i64* %len, align 8 + %arrayidx152 = getelementptr inbounds i8, i8* %91, i64 %92 + store i8 48, i8* %arrayidx152, align 1 + br label %if.end153 + +if.end153: ; preds = %if.then151, %do.body148 + %93 = load i64, i64* %len, align 8 + %inc154 = add i64 %93, 1 + store i64 %inc154, i64* %len, align 8 + %94 = load i64, i64* %len, align 8 + %95 = load i64, i64* %buffersize.addr, align 8 + %cmp157 = icmp ult i64 %94, %95 + br i1 %cmp157, label %if.then159, label %if.end161 + +if.then159: ; preds = %if.end153 + %96 = load i8*, i8** %buffer.addr, align 8 + %97 = load i64, i64* %len, align 8 + %arrayidx160 = getelementptr inbounds i8, i8* %96, i64 %97 + store i8 48, i8* %arrayidx160, align 1 + br label %if.end161 + +if.end161: ; preds = %if.then159, %if.end153 + %98 = load i64, i64* %len, align 8 + %inc162 = add i64 %98, 1 + store i64 %inc162, i64* %len, align 8 + br label %if.end164 + +if.end164: ; preds = %if.end161, %land.lhs.true141, %land.lhs.true135, %land.lhs.true131, %if.end125 + store i8 48, i8* %c, align 1 + br label %sw.epilog564 + +if.else: ; preds = %sw.bb83 + %99 = load i32, i32* %flags.addr, align 4 + %and165 = and i32 %99, 1 + %tobool166 = icmp ne i32 %and165, 0 + br i1 %tobool166, label %for.inc673, label %sw.epilog564 + +sw.bb170: ; preds = %NodeBlock230 + %100 = load i32, i32* %quoting_style.addr, align 4 + br label %NodeBlock237 + +NodeBlock237: ; preds = %sw.bb170 + %case.cmp238 = icmp eq i32 %100, 2 + br i1 %case.cmp238, label %sw.bb171, label %NodeBlock235 + +NodeBlock235: ; preds = %NodeBlock237 + %case.cmp236 = icmp eq i32 %100, 5 + br i1 %case.cmp236, label %sw.bb175, label %newDefault234 + +sw.bb171: ; preds = %NodeBlock237 + %101 = load i8, i8* %elide_outer_quotes, align 1 + %tobool172 = trunc i8 %101 to i1 + br i1 %tobool172, label %force_outer_quoting_style, label %sw.epilog564 + +sw.bb175: ; preds = %NodeBlock235 + %102 = load i32, i32* %flags.addr, align 4 + %and176 = and i32 %102, 4 + %tobool177 = icmp ne i32 %and176, 0 + br i1 %tobool177, label %land.lhs.true178, label %sw.epilog564 + +land.lhs.true178: ; preds = %sw.bb175 + %103 = load i64, i64* %i, align 8 + %add179 = add i64 %103, 2 + %104 = load i64, i64* %argsize.addr, align 8 + %cmp180 = icmp ult i64 %add179, %104 + br i1 %cmp180, label %land.lhs.true182, label %sw.epilog564 + +land.lhs.true182: ; preds = %land.lhs.true178 + %105 = load i8*, i8** %arg.addr, align 8 + %106 = load i64, i64* %i, align 8 + %add183 = add i64 %106, 1 + %arrayidx184 = getelementptr inbounds i8, i8* %105, i64 %add183 + %107 = load i8, i8* %arrayidx184, align 1 + %conv185 = sext i8 %107 to i32 + %cmp186 = icmp eq i32 %conv185, 63 + br i1 %cmp186, label %if.then188, label %sw.epilog564 + +if.then188: ; preds = %land.lhs.true182 + %108 = load i8*, i8** %arg.addr, align 8 + %109 = load i64, i64* %i, align 8 + %add189 = add i64 %109, 2 + %arrayidx190 = getelementptr inbounds i8, i8* %108, i64 %add189 + %110 = load i8, i8* %arrayidx190, align 1 + %conv191 = sext i8 %110 to i32 + br label %NodeBlock256 + +NodeBlock256: ; preds = %if.then188 + %case.cmp257 = icmp eq i32 %conv191, 33 + br i1 %case.cmp257, label %sw.bb192, label %NodeBlock254 + +NodeBlock254: ; preds = %NodeBlock256 + %case.cmp255 = icmp eq i32 %conv191, 39 + br i1 %case.cmp255, label %sw.bb192, label %NodeBlock252 + +NodeBlock252: ; preds = %NodeBlock254 + %case.cmp253 = icmp eq i32 %conv191, 40 + br i1 %case.cmp253, label %sw.bb192, label %NodeBlock250 + +NodeBlock250: ; preds = %NodeBlock252 + %case.cmp251 = icmp eq i32 %conv191, 41 + br i1 %case.cmp251, label %sw.bb192, label %NodeBlock248 + +NodeBlock248: ; preds = %NodeBlock250 + %case.cmp249 = icmp eq i32 %conv191, 45 + br i1 %case.cmp249, label %sw.bb192, label %NodeBlock246 + +NodeBlock246: ; preds = %NodeBlock248 + %case.cmp247 = icmp eq i32 %conv191, 47 + br i1 %case.cmp247, label %sw.bb192, label %NodeBlock244 + +NodeBlock244: ; preds = %NodeBlock246 + %case.cmp245 = icmp eq i32 %conv191, 60 + br i1 %case.cmp245, label %sw.bb192, label %NodeBlock242 + +NodeBlock242: ; preds = %NodeBlock244 + %case.cmp243 = icmp eq i32 %conv191, 61 + br i1 %case.cmp243, label %sw.bb192, label %NodeBlock240 + +NodeBlock240: ; preds = %NodeBlock242 + %case.cmp241 = icmp eq i32 %conv191, 62 + br i1 %case.cmp241, label %sw.bb192, label %newDefault239 + +sw.bb192: ; preds = %NodeBlock256, %NodeBlock254, %NodeBlock252, %NodeBlock250, %NodeBlock248, %NodeBlock246, %NodeBlock244, %NodeBlock242, %NodeBlock240 + %111 = load i8, i8* %elide_outer_quotes, align 1 + %tobool193 = trunc i8 %111 to i1 + br i1 %tobool193, label %force_outer_quoting_style, label %if.end195 + +if.end195: ; preds = %sw.bb192 + %112 = load i8*, i8** %arg.addr, align 8 + %113 = load i64, i64* %i, align 8 + %add196 = add i64 %113, 2 + %arrayidx197 = getelementptr inbounds i8, i8* %112, i64 %add196 + %114 = load i8, i8* %arrayidx197, align 1 + store i8 %114, i8* %c, align 1 + %115 = load i64, i64* %i, align 8 + %add198 = add i64 %115, 2 + store i64 %add198, i64* %i, align 8 + %116 = load i64, i64* %len, align 8 + %117 = load i64, i64* %buffersize.addr, align 8 + %cmp200 = icmp ult i64 %116, %117 + br i1 %cmp200, label %if.then202, label %if.end204 + +if.then202: ; preds = %if.end195 + %118 = load i8*, i8** %buffer.addr, align 8 + %119 = load i64, i64* %len, align 8 + %arrayidx203 = getelementptr inbounds i8, i8* %118, i64 %119 + store i8 63, i8* %arrayidx203, align 1 + br label %if.end204 + +if.end204: ; preds = %if.then202, %if.end195 + %120 = load i64, i64* %len, align 8 + %inc205 = add i64 %120, 1 + store i64 %inc205, i64* %len, align 8 + %121 = load i64, i64* %len, align 8 + %122 = load i64, i64* %buffersize.addr, align 8 + %cmp208 = icmp ult i64 %121, %122 + br i1 %cmp208, label %if.then210, label %if.end212 + +if.then210: ; preds = %if.end204 + %123 = load i8*, i8** %buffer.addr, align 8 + %124 = load i64, i64* %len, align 8 + %arrayidx211 = getelementptr inbounds i8, i8* %123, i64 %124 + store i8 34, i8* %arrayidx211, align 1 + br label %if.end212 + +if.end212: ; preds = %if.then210, %if.end204 + %125 = load i64, i64* %len, align 8 + %inc213 = add i64 %125, 1 + store i64 %inc213, i64* %len, align 8 + %126 = load i64, i64* %len, align 8 + %127 = load i64, i64* %buffersize.addr, align 8 + %cmp216 = icmp ult i64 %126, %127 + br i1 %cmp216, label %if.then218, label %if.end220 + +if.then218: ; preds = %if.end212 + %128 = load i8*, i8** %buffer.addr, align 8 + %129 = load i64, i64* %len, align 8 + %arrayidx219 = getelementptr inbounds i8, i8* %128, i64 %129 + store i8 34, i8* %arrayidx219, align 1 + br label %if.end220 + +if.end220: ; preds = %if.then218, %if.end212 + %130 = load i64, i64* %len, align 8 + %inc221 = add i64 %130, 1 + store i64 %inc221, i64* %len, align 8 + %131 = load i64, i64* %len, align 8 + %132 = load i64, i64* %buffersize.addr, align 8 + %cmp224 = icmp ult i64 %131, %132 + br i1 %cmp224, label %if.then226, label %if.end228 + +if.then226: ; preds = %if.end220 + %133 = load i8*, i8** %buffer.addr, align 8 + %134 = load i64, i64* %len, align 8 + %arrayidx227 = getelementptr inbounds i8, i8* %133, i64 %134 + store i8 63, i8* %arrayidx227, align 1 + br label %if.end228 + +if.end228: ; preds = %if.then226, %if.end220 + %135 = load i64, i64* %len, align 8 + %inc229 = add i64 %135, 1 + store i64 %inc229, i64* %len, align 8 + br label %sw.epilog564 + +sw.bb236: ; preds = %NodeBlock228 + store i8 97, i8* %esc, align 1 + br label %c_escape + +sw.bb237: ; preds = %NodeBlock226 + store i8 98, i8* %esc, align 1 + br label %c_escape + +sw.bb238: ; preds = %NodeBlock224 + store i8 102, i8* %esc, align 1 + br label %c_escape + +sw.bb239: ; preds = %NodeBlock222 + store i8 110, i8* %esc, align 1 + br label %c_and_shell_escape + +sw.bb240: ; preds = %NodeBlock220 + store i8 114, i8* %esc, align 1 + br label %c_and_shell_escape + +sw.bb241: ; preds = %NodeBlock218 + store i8 116, i8* %esc, align 1 + br label %c_and_shell_escape + +sw.bb242: ; preds = %NodeBlock216 + store i8 118, i8* %esc, align 1 + br label %c_escape + +sw.bb243: ; preds = %NodeBlock214 + %136 = load i8, i8* %c, align 1 + store i8 %136, i8* %esc, align 1 + %137 = load i32, i32* %quoting_style.addr, align 4 + %cmp244 = icmp eq i32 %137, 2 + br i1 %cmp244, label %if.then246, label %if.end250 + +if.then246: ; preds = %sw.bb243 + %138 = load i8, i8* %elide_outer_quotes, align 1 + %tobool247 = trunc i8 %138 to i1 + br i1 %tobool247, label %force_outer_quoting_style, label %do.body634 + +if.end250: ; preds = %sw.bb243 + %139 = load i8, i8* %backslash_escapes, align 1 + %tobool251 = trunc i8 %139 to i1 + br i1 %tobool251, label %land.lhs.true253, label %c_and_shell_escape + +land.lhs.true253: ; preds = %if.end250 + %140 = load i8, i8* %elide_outer_quotes, align 1 + %tobool254 = trunc i8 %140 to i1 + %141 = load i64, i64* %quote_string_len, align 8 + %tobool257 = icmp ne i64 %141, 0 + %or.cond3 = and i1 %tobool254, %tobool257 + br i1 %or.cond3, label %do.body634, label %c_and_shell_escape + +c_and_shell_escape: ; preds = %if.end250, %land.lhs.true253, %sw.bb241, %sw.bb240, %sw.bb239 + %142 = load i32, i32* %quoting_style.addr, align 4 + %cmp260 = icmp eq i32 %142, 2 + br i1 %cmp260, label %land.lhs.true262, label %c_escape + +land.lhs.true262: ; preds = %c_and_shell_escape + %143 = load i8, i8* %elide_outer_quotes, align 1 + %tobool263 = trunc i8 %143 to i1 + br i1 %tobool263, label %force_outer_quoting_style, label %c_escape + +c_escape: ; preds = %c_and_shell_escape, %land.lhs.true262, %sw.bb242, %sw.bb238, %sw.bb237, %sw.bb236 + %144 = load i8, i8* %backslash_escapes, align 1 + %tobool267 = trunc i8 %144 to i1 + br i1 %tobool267, label %if.then268, label %sw.epilog564 + +if.then268: ; preds = %c_escape + %145 = load i8, i8* %esc, align 1 + store i8 %145, i8* %c, align 1 + br label %do.body586 + +sw.bb270: ; preds = %NodeBlock212, %NodeBlock210 + %146 = load i64, i64* %argsize.addr, align 8 + %cmp271 = icmp eq i64 %146, -1 + br i1 %cmp271, label %cond.true273, label %cond.false278 + +cond.true273: ; preds = %sw.bb270 + %147 = load i8*, i8** %arg.addr, align 8 + %arrayidx274 = getelementptr inbounds i8, i8* %147, i64 1 + %148 = load i8, i8* %arrayidx274, align 1 + %conv275 = sext i8 %148 to i32 + %cmp276 = icmp eq i32 %conv275, 0 + br i1 %cmp276, label %sw.bb283, label %sw.epilog564 + +cond.false278: ; preds = %sw.bb270 + %149 = load i64, i64* %argsize.addr, align 8 + %cmp279 = icmp eq i64 %149, 1 + br i1 %cmp279, label %sw.bb283, label %sw.epilog564 + +sw.bb283: ; preds = %NodeBlock208, %NodeBlock206, %cond.true273, %cond.false278 + %150 = load i64, i64* %i, align 8 + %cmp284 = icmp ne i64 %150, 0 + br i1 %cmp284, label %sw.epilog564, label %sw.bb288 + +sw.bb288: ; preds = %NodeBlock204, %sw.bb283 + store i8 1, i8* %c_and_shell_quote_compat, align 1 + br label %sw.bb289 + +sw.bb289: ; preds = %NodeBlock202, %NodeBlock200, %NodeBlock198, %NodeBlock196, %NodeBlock194, %NodeBlock192, %NodeBlock190, %NodeBlock188, %NodeBlock186, %NodeBlock184, %NodeBlock182, %NodeBlock180, %NodeBlock178, %NodeBlock176, %NodeBlock174, %sw.bb288 + %151 = load i32, i32* %quoting_style.addr, align 4 + %cmp290 = icmp eq i32 %151, 2 + br i1 %cmp290, label %land.lhs.true292, label %sw.epilog564 + +land.lhs.true292: ; preds = %sw.bb289 + %152 = load i8, i8* %elide_outer_quotes, align 1 + %tobool293 = trunc i8 %152 to i1 + br i1 %tobool293, label %force_outer_quoting_style, label %sw.epilog564 + +sw.bb297: ; preds = %NodeBlock172 + store i8 1, i8* %encountered_single_quote, align 1 + store i8 1, i8* %c_and_shell_quote_compat, align 1 + %153 = load i32, i32* %quoting_style.addr, align 4 + %cmp298 = icmp eq i32 %153, 2 + br i1 %cmp298, label %if.then300, label %sw.epilog564 + +if.then300: ; preds = %sw.bb297 + %154 = load i8, i8* %elide_outer_quotes, align 1 + %tobool301 = trunc i8 %154 to i1 + br i1 %tobool301, label %force_outer_quoting_style, label %if.end303 + +if.end303: ; preds = %if.then300 + %155 = load i64, i64* %buffersize.addr, align 8 + %tobool304 = icmp eq i64 %155, 0 + %156 = load i64, i64* %orig_buffersize, align 8 + %tobool306 = icmp ne i64 %156, 0 + %or.cond4 = or i1 %tobool304, %tobool306 + br i1 %or.cond4, label %do.body309, label %if.then307 + +if.then307: ; preds = %if.end303 + %157 = load i64, i64* %buffersize.addr, align 8 + store i64 %157, i64* %orig_buffersize, align 8 + store i64 0, i64* %buffersize.addr, align 8 + br label %do.body309 + +do.body309: ; preds = %if.then307, %if.end303 + %158 = load i64, i64* %len, align 8 + %159 = load i64, i64* %buffersize.addr, align 8 + %cmp310 = icmp ult i64 %158, %159 + br i1 %cmp310, label %if.then312, label %if.end314 + +if.then312: ; preds = %do.body309 + %160 = load i8*, i8** %buffer.addr, align 8 + %161 = load i64, i64* %len, align 8 + %arrayidx313 = getelementptr inbounds i8, i8* %160, i64 %161 + store i8 39, i8* %arrayidx313, align 1 + br label %if.end314 + +if.end314: ; preds = %if.then312, %do.body309 + %162 = load i64, i64* %len, align 8 + %inc315 = add i64 %162, 1 + store i64 %inc315, i64* %len, align 8 + %163 = load i64, i64* %len, align 8 + %164 = load i64, i64* %buffersize.addr, align 8 + %cmp318 = icmp ult i64 %163, %164 + br i1 %cmp318, label %if.then320, label %if.end322 + +if.then320: ; preds = %if.end314 + %165 = load i8*, i8** %buffer.addr, align 8 + %166 = load i64, i64* %len, align 8 + %arrayidx321 = getelementptr inbounds i8, i8* %165, i64 %166 + store i8 92, i8* %arrayidx321, align 1 + br label %if.end322 + +if.end322: ; preds = %if.then320, %if.end314 + %167 = load i64, i64* %len, align 8 + %inc323 = add i64 %167, 1 + store i64 %inc323, i64* %len, align 8 + %168 = load i64, i64* %len, align 8 + %169 = load i64, i64* %buffersize.addr, align 8 + %cmp326 = icmp ult i64 %168, %169 + br i1 %cmp326, label %if.then328, label %if.end330 + +if.then328: ; preds = %if.end322 + %170 = load i8*, i8** %buffer.addr, align 8 + %171 = load i64, i64* %len, align 8 + %arrayidx329 = getelementptr inbounds i8, i8* %170, i64 %171 + store i8 39, i8* %arrayidx329, align 1 + br label %if.end330 + +if.end330: ; preds = %if.then328, %if.end322 + %172 = load i64, i64* %len, align 8 + %inc331 = add i64 %172, 1 + store i64 %inc331, i64* %len, align 8 + store i8 0, i8* %pending_shell_escape_end, align 1 + br label %sw.epilog564 + +sw.bb334: ; preds = %NodeBlock170, %NodeBlock168, %NodeBlock166, %NodeBlock164, %NodeBlock162, %NodeBlock160, %NodeBlock158, %NodeBlock156, %NodeBlock154, %NodeBlock152, %NodeBlock150, %NodeBlock148, %NodeBlock146, %NodeBlock144, %NodeBlock142, %NodeBlock140, %NodeBlock138, %NodeBlock136, %NodeBlock134, %NodeBlock132, %NodeBlock130, %NodeBlock128, %NodeBlock126, %NodeBlock124, %NodeBlock122, %NodeBlock120, %NodeBlock118, %NodeBlock116, %NodeBlock114, %NodeBlock112, %NodeBlock110, %NodeBlock108, %NodeBlock106, %NodeBlock104, %NodeBlock102, %NodeBlock100, %NodeBlock98, %NodeBlock96, %NodeBlock94, %NodeBlock92, %NodeBlock90, %NodeBlock88, %NodeBlock86, %NodeBlock84, %NodeBlock82, %NodeBlock80, %NodeBlock78, %NodeBlock76, %NodeBlock74, %NodeBlock72, %NodeBlock70, %NodeBlock68, %NodeBlock66, %NodeBlock64, %NodeBlock62, %NodeBlock60, %NodeBlock58, %NodeBlock56, %NodeBlock54, %NodeBlock52, %NodeBlock50, %NodeBlock48, %NodeBlock46, %NodeBlock44, %NodeBlock42, %NodeBlock40, %NodeBlock38, %NodeBlock36, %NodeBlock34, %NodeBlock32, %NodeBlock30 + store i8 1, i8* %c_and_shell_quote_compat, align 1 + br label %sw.epilog564 + +newDefault29: ; preds = %NodeBlock30 + br label %sw.default335 + +sw.default335: ; preds = %newDefault29 + %173 = load i8, i8* %unibyte_locale, align 1 + %tobool336 = trunc i8 %173 to i1 + br i1 %tobool336, label %if.then337, label %if.else346 + +if.then337: ; preds = %sw.default335 + store i64 1, i64* %m, align 8 + %call338 = call i16** @__ctype_b_loc() #25 + %174 = load i16*, i16** %call338, align 8 + %175 = load i8, i8* %c, align 1 + %conv339 = zext i8 %175 to i32 + %idxprom = sext i32 %conv339 to i64 + %arrayidx340 = getelementptr inbounds i16, i16* %174, i64 %idxprom + %176 = load i16, i16* %arrayidx340, align 2 + %conv341 = zext i16 %176 to i32 + %and342 = and i32 %conv341, 16384 + %cmp343 = icmp ne i32 %and342, 0 + %frombool345 = zext i1 %cmp343 to i8 + store i8 %frombool345, i8* %printable, align 1 + br label %if.end410 + +if.else346: ; preds = %sw.default335 + %177 = bitcast %struct.__mbstate_t* %mbstate to i8* + %178 = call i8* @memset(i8* %177, i32 0, i64 8) + store i64 0, i64* %m, align 8 + store i8 1, i8* %printable, align 1 + %179 = load i64, i64* %argsize.addr, align 8 + %cmp347 = icmp eq i64 %179, -1 + br i1 %cmp347, label %if.then349, label %if.end351 + +if.then349: ; preds = %if.else346 + %180 = load i8*, i8** %arg.addr, align 8 + %call350 = call i64 @strlen(i8* %180) #23 + store i64 %call350, i64* %argsize.addr, align 8 + br label %if.end351 + +if.end351: ; preds = %if.then349, %if.else346 + br label %do.body352 + +do.body352: ; preds = %if.end401, %if.end351 + %181 = load i8*, i8** %arg.addr, align 8 + %182 = load i64, i64* %i, align 8 + %183 = load i64, i64* %m, align 8 + %add353 = add i64 %182, %183 + %arrayidx354 = getelementptr inbounds i8, i8* %181, i64 %add353 + %184 = load i64, i64* %argsize.addr, align 8 + %185 = load i64, i64* %i, align 8 + %186 = load i64, i64* %m, align 8 + %add355 = add i64 %185, %186 + %sub = sub i64 %184, %add355 + %call356 = call i64 @rpl_mbrtowc(i32* %w, i8* %arrayidx354, i64 %sub, %struct.__mbstate_t* %mbstate) + store i64 %call356, i64* %bytes, align 8 + %187 = load i64, i64* %bytes, align 8 + %cmp357 = icmp eq i64 %187, 0 + br i1 %cmp357, label %if.end410, label %if.else360 + +if.else360: ; preds = %do.body352 + %188 = load i64, i64* %bytes, align 8 + %cmp361 = icmp eq i64 %188, -1 + br i1 %cmp361, label %if.then363, label %if.else364 + +if.then363: ; preds = %if.else360 + store i8 0, i8* %printable, align 1 + br label %if.end410 + +if.else364: ; preds = %if.else360 + %189 = load i64, i64* %bytes, align 8 + %cmp365 = icmp eq i64 %189, -2 + br i1 %cmp365, label %if.then367, label %if.else376 + +if.then367: ; preds = %if.else364 + store i8 0, i8* %printable, align 1 + br label %while.cond + +while.cond: ; preds = %while.body, %if.then367 + %190 = load i64, i64* %i, align 8 + %191 = load i64, i64* %m, align 8 + %add368 = add i64 %190, %191 + %192 = load i64, i64* %argsize.addr, align 8 + %cmp369 = icmp ult i64 %add368, %192 + br i1 %cmp369, label %land.rhs, label %if.end410 + +land.rhs: ; preds = %while.cond + %193 = load i8*, i8** %arg.addr, align 8 + %194 = load i64, i64* %i, align 8 + %195 = load i64, i64* %m, align 8 + %add371 = add i64 %194, %195 + %arrayidx372 = getelementptr inbounds i8, i8* %193, i64 %add371 + %196 = load i8, i8* %arrayidx372, align 1 + %conv373 = sext i8 %196 to i32 + %tobool374 = icmp ne i32 %conv373, 0 + br i1 %tobool374, label %while.body, label %if.end410 + +while.body: ; preds = %land.rhs + %197 = load i64, i64* %m, align 8 + %inc375 = add i64 %197, 1 + store i64 %inc375, i64* %m, align 8 + br label %while.cond + +if.else376: ; preds = %if.else364 + %198 = load i8, i8* %elide_outer_quotes, align 1 + %tobool377 = trunc i8 %198 to i1 + %199 = load i32, i32* %quoting_style.addr, align 4 + %cmp380 = icmp eq i32 %199, 2 + %or.cond5 = and i1 %tobool377, %cmp380 + br i1 %or.cond5, label %if.then382, label %if.end397 + +if.then382: ; preds = %if.else376 + store i64 1, i64* %j, align 8 + br label %for.cond383 + +for.cond383: ; preds = %for.inc394, %if.then382 + %200 = load i64, i64* %j, align 8 + %201 = load i64, i64* %bytes, align 8 + %cmp384 = icmp ult i64 %200, %201 + br i1 %cmp384, label %for.body386, label %if.end397 + +for.body386: ; preds = %for.cond383 + %202 = load i8*, i8** %arg.addr, align 8 + %203 = load i64, i64* %i, align 8 + %204 = load i64, i64* %m, align 8 + %add387 = add i64 %203, %204 + %205 = load i64, i64* %j, align 8 + %add388 = add i64 %add387, %205 + %arrayidx389 = getelementptr inbounds i8, i8* %202, i64 %add388 + %206 = load i8, i8* %arrayidx389, align 1 + %conv390 = sext i8 %206 to i32 + br label %NodeBlock267 + +NodeBlock267: ; preds = %for.body386 + %case.cmp268 = icmp eq i32 %conv390, 91 + br i1 %case.cmp268, label %force_outer_quoting_style, label %NodeBlock265 + +NodeBlock265: ; preds = %NodeBlock267 + %case.cmp266 = icmp eq i32 %conv390, 92 + br i1 %case.cmp266, label %force_outer_quoting_style, label %NodeBlock263 + +NodeBlock263: ; preds = %NodeBlock265 + %case.cmp264 = icmp eq i32 %conv390, 94 + br i1 %case.cmp264, label %force_outer_quoting_style, label %NodeBlock261 + +NodeBlock261: ; preds = %NodeBlock263 + %case.cmp262 = icmp eq i32 %conv390, 96 + br i1 %case.cmp262, label %force_outer_quoting_style, label %NodeBlock259 + +NodeBlock259: ; preds = %NodeBlock261 + %case.cmp260 = icmp eq i32 %conv390, 124 + br i1 %case.cmp260, label %force_outer_quoting_style, label %newDefault258 + +newDefault258: ; preds = %NodeBlock259 + br label %for.inc394 + +for.inc394: ; preds = %newDefault258 + %207 = load i64, i64* %j, align 8 + %inc395 = add i64 %207, 1 + store i64 %inc395, i64* %j, align 8 + br label %for.cond383 + +if.end397: ; preds = %for.cond383, %if.else376 + %208 = load i32, i32* %w, align 4 + %call398 = call i32 @iswprint(i32 %208) #11 + %tobool399 = icmp ne i32 %call398, 0 + br i1 %tobool399, label %if.end401, label %if.then400 + +if.then400: ; preds = %if.end397 + store i8 0, i8* %printable, align 1 + br label %if.end401 + +if.end401: ; preds = %if.then400, %if.end397 + %209 = load i64, i64* %bytes, align 8 + %210 = load i64, i64* %m, align 8 + %add402 = add i64 %210, %209 + store i64 %add402, i64* %m, align 8 + %call406 = call i32 bitcast (i32 (%struct.__mbstate_t.512*)* @mbsinit to i32 (%struct.__mbstate_t*)*)(%struct.__mbstate_t* %mbstate) #23 + %tobool407 = icmp ne i32 %call406, 0 + %lnot408 = xor i1 %tobool407, true + br i1 %lnot408, label %do.body352, label %if.end410 + +if.end410: ; preds = %if.then363, %if.end401, %do.body352, %while.cond, %land.rhs, %if.then337 + %211 = load i8, i8* %printable, align 1 + %tobool411 = trunc i8 %211 to i1 + %frombool412 = zext i1 %tobool411 to i8 + store i8 %frombool412, i8* %c_and_shell_quote_compat, align 1 + %212 = load i64, i64* %m, align 8 + %cmp413 = icmp ult i64 1, %212 + br i1 %cmp413, label %if.then419, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end410 + %213 = load i8, i8* %backslash_escapes, align 1 + %tobool415 = trunc i8 %213 to i1 + br i1 %tobool415, label %land.lhs.true417, label %sw.epilog564 + +land.lhs.true417: ; preds = %lor.lhs.false + %214 = load i8, i8* %printable, align 1 + %tobool418 = trunc i8 %214 to i1 + br i1 %tobool418, label %sw.epilog564, label %if.then419 + +if.then419: ; preds = %land.lhs.true417, %if.end410 + %215 = load i64, i64* %i, align 8 + %216 = load i64, i64* %m, align 8 + %add420 = add i64 %215, %216 + store i64 %add420, i64* %ilim, align 8 + br label %for.cond421 + +for.cond421: ; preds = %if.end556, %if.then419 + %217 = load i8, i8* %backslash_escapes, align 1 + %tobool422 = trunc i8 %217 to i1 + br i1 %tobool422, label %land.lhs.true424, label %if.else505 + +land.lhs.true424: ; preds = %for.cond421 + %218 = load i8, i8* %printable, align 1 + %tobool425 = trunc i8 %218 to i1 + br i1 %tobool425, label %if.else505, label %do.body427 + +do.body427: ; preds = %land.lhs.true424 + %219 = load i8, i8* %elide_outer_quotes, align 1 + %tobool428 = trunc i8 %219 to i1 + br i1 %tobool428, label %force_outer_quoting_style, label %if.end430 + +if.end430: ; preds = %do.body427 + store i8 1, i8* %escaping, align 1 + %220 = load i32, i32* %quoting_style.addr, align 4 + %cmp431 = icmp eq i32 %220, 2 + br i1 %cmp431, label %land.lhs.true433, label %do.body464 + +land.lhs.true433: ; preds = %if.end430 + %221 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool434 = trunc i8 %221 to i1 + br i1 %tobool434, label %do.body464, label %do.body436 + +do.body436: ; preds = %land.lhs.true433 + %222 = load i64, i64* %len, align 8 + %223 = load i64, i64* %buffersize.addr, align 8 + %cmp437 = icmp ult i64 %222, %223 + br i1 %cmp437, label %if.then439, label %if.end441 + +if.then439: ; preds = %do.body436 + %224 = load i8*, i8** %buffer.addr, align 8 + %225 = load i64, i64* %len, align 8 + %arrayidx440 = getelementptr inbounds i8, i8* %224, i64 %225 + store i8 39, i8* %arrayidx440, align 1 + br label %if.end441 + +if.end441: ; preds = %if.then439, %do.body436 + %226 = load i64, i64* %len, align 8 + %inc442 = add i64 %226, 1 + store i64 %inc442, i64* %len, align 8 + %227 = load i64, i64* %len, align 8 + %228 = load i64, i64* %buffersize.addr, align 8 + %cmp446 = icmp ult i64 %227, %228 + br i1 %cmp446, label %if.then448, label %if.end450 + +if.then448: ; preds = %if.end441 + %229 = load i8*, i8** %buffer.addr, align 8 + %230 = load i64, i64* %len, align 8 + %arrayidx449 = getelementptr inbounds i8, i8* %229, i64 %230 + store i8 36, i8* %arrayidx449, align 1 + br label %if.end450 + +if.end450: ; preds = %if.then448, %if.end441 + %231 = load i64, i64* %len, align 8 + %inc451 = add i64 %231, 1 + store i64 %inc451, i64* %len, align 8 + %232 = load i64, i64* %len, align 8 + %233 = load i64, i64* %buffersize.addr, align 8 + %cmp455 = icmp ult i64 %232, %233 + br i1 %cmp455, label %if.then457, label %if.end459 + +if.then457: ; preds = %if.end450 + %234 = load i8*, i8** %buffer.addr, align 8 + %235 = load i64, i64* %len, align 8 + %arrayidx458 = getelementptr inbounds i8, i8* %234, i64 %235 + store i8 39, i8* %arrayidx458, align 1 + br label %if.end459 + +if.end459: ; preds = %if.then457, %if.end450 + %236 = load i64, i64* %len, align 8 + %inc460 = add i64 %236, 1 + store i64 %inc460, i64* %len, align 8 + store i8 1, i8* %pending_shell_escape_end, align 1 + br label %do.body464 + +do.body464: ; preds = %if.end430, %land.lhs.true433, %if.end459 + %237 = load i64, i64* %len, align 8 + %238 = load i64, i64* %buffersize.addr, align 8 + %cmp465 = icmp ult i64 %237, %238 + br i1 %cmp465, label %if.then467, label %if.end469 + +if.then467: ; preds = %do.body464 + %239 = load i8*, i8** %buffer.addr, align 8 + %240 = load i64, i64* %len, align 8 + %arrayidx468 = getelementptr inbounds i8, i8* %239, i64 %240 + store i8 92, i8* %arrayidx468, align 1 + br label %if.end469 + +if.end469: ; preds = %if.then467, %do.body464 + %241 = load i64, i64* %len, align 8 + %inc470 = add i64 %241, 1 + store i64 %inc470, i64* %len, align 8 + %242 = load i64, i64* %len, align 8 + %243 = load i64, i64* %buffersize.addr, align 8 + %cmp476 = icmp ult i64 %242, %243 + br i1 %cmp476, label %if.then478, label %if.end483 + +if.then478: ; preds = %if.end469 + %244 = load i8, i8* %c, align 1 + %conv479 = zext i8 %244 to i32 + %shr = ashr i32 %conv479, 6 + %add480 = add nsw i32 48, %shr + %conv481 = trunc i32 %add480 to i8 + %245 = load i8*, i8** %buffer.addr, align 8 + %246 = load i64, i64* %len, align 8 + %arrayidx482 = getelementptr inbounds i8, i8* %245, i64 %246 + store i8 %conv481, i8* %arrayidx482, align 1 + br label %if.end483 + +if.end483: ; preds = %if.then478, %if.end469 + %247 = load i64, i64* %len, align 8 + %inc484 = add i64 %247, 1 + store i64 %inc484, i64* %len, align 8 + %248 = load i64, i64* %len, align 8 + %249 = load i64, i64* %buffersize.addr, align 8 + %cmp488 = icmp ult i64 %248, %249 + br i1 %cmp488, label %if.then490, label %if.end497 + +if.then490: ; preds = %if.end483 + %250 = load i8, i8* %c, align 1 + %conv491 = zext i8 %250 to i32 + %shr492 = ashr i32 %conv491, 3 + %and493 = and i32 %shr492, 7 + %add494 = add nsw i32 48, %and493 + %conv495 = trunc i32 %add494 to i8 + %251 = load i8*, i8** %buffer.addr, align 8 + %252 = load i64, i64* %len, align 8 + %arrayidx496 = getelementptr inbounds i8, i8* %251, i64 %252 + store i8 %conv495, i8* %arrayidx496, align 1 + br label %if.end497 + +if.end497: ; preds = %if.then490, %if.end483 + %253 = load i64, i64* %len, align 8 + %inc498 = add i64 %253, 1 + store i64 %inc498, i64* %len, align 8 + %254 = load i8, i8* %c, align 1 + %conv501 = zext i8 %254 to i32 + %and502 = and i32 %conv501, 7 + %add503 = add nsw i32 48, %and502 + %conv504 = trunc i32 %add503 to i8 + store i8 %conv504, i8* %c, align 1 + br label %if.end518 + +if.else505: ; preds = %land.lhs.true424, %for.cond421 + %255 = load i8, i8* %is_right_quote, align 1 + %tobool506 = trunc i8 %255 to i1 + br i1 %tobool506, label %do.body508, label %if.end518 + +do.body508: ; preds = %if.else505 + %256 = load i64, i64* %len, align 8 + %257 = load i64, i64* %buffersize.addr, align 8 + %cmp509 = icmp ult i64 %256, %257 + br i1 %cmp509, label %if.then511, label %if.end513 + +if.then511: ; preds = %do.body508 + %258 = load i8*, i8** %buffer.addr, align 8 + %259 = load i64, i64* %len, align 8 + %arrayidx512 = getelementptr inbounds i8, i8* %258, i64 %259 + store i8 92, i8* %arrayidx512, align 1 + br label %if.end513 + +if.end513: ; preds = %if.then511, %do.body508 + %260 = load i64, i64* %len, align 8 + %inc514 = add i64 %260, 1 + store i64 %inc514, i64* %len, align 8 + store i8 0, i8* %is_right_quote, align 1 + br label %if.end518 + +if.end518: ; preds = %if.else505, %if.end513, %if.end497 + %261 = load i64, i64* %ilim, align 8 + %262 = load i64, i64* %i, align 8 + %add519 = add i64 %262, 1 + %cmp520 = icmp ule i64 %261, %add519 + br i1 %cmp520, label %do.body634, label %do.body524 + +do.body524: ; preds = %if.end518 + %263 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool525 = trunc i8 %263 to i1 + br i1 %tobool525, label %land.lhs.true527, label %do.body551 + +land.lhs.true527: ; preds = %do.body524 + %264 = load i8, i8* %escaping, align 1 + %tobool528 = trunc i8 %264 to i1 + br i1 %tobool528, label %do.body551, label %do.body530 + +do.body530: ; preds = %land.lhs.true527 + %265 = load i64, i64* %len, align 8 + %266 = load i64, i64* %buffersize.addr, align 8 + %cmp531 = icmp ult i64 %265, %266 + br i1 %cmp531, label %if.then533, label %if.end535 + +if.then533: ; preds = %do.body530 + %267 = load i8*, i8** %buffer.addr, align 8 + %268 = load i64, i64* %len, align 8 + %arrayidx534 = getelementptr inbounds i8, i8* %267, i64 %268 + store i8 39, i8* %arrayidx534, align 1 + br label %if.end535 + +if.end535: ; preds = %if.then533, %do.body530 + %269 = load i64, i64* %len, align 8 + %inc536 = add i64 %269, 1 + store i64 %inc536, i64* %len, align 8 + %270 = load i64, i64* %len, align 8 + %271 = load i64, i64* %buffersize.addr, align 8 + %cmp540 = icmp ult i64 %270, %271 + br i1 %cmp540, label %if.then542, label %if.end544 + +if.then542: ; preds = %if.end535 + %272 = load i8*, i8** %buffer.addr, align 8 + %273 = load i64, i64* %len, align 8 + %arrayidx543 = getelementptr inbounds i8, i8* %272, i64 %273 + store i8 39, i8* %arrayidx543, align 1 + br label %if.end544 + +if.end544: ; preds = %if.then542, %if.end535 + %274 = load i64, i64* %len, align 8 + %inc545 = add i64 %274, 1 + store i64 %inc545, i64* %len, align 8 + store i8 0, i8* %pending_shell_escape_end, align 1 + br label %do.body551 + +do.body551: ; preds = %if.end544, %land.lhs.true527, %do.body524 + %275 = load i64, i64* %len, align 8 + %276 = load i64, i64* %buffersize.addr, align 8 + %cmp552 = icmp ult i64 %275, %276 + br i1 %cmp552, label %if.then554, label %if.end556 + +if.then554: ; preds = %do.body551 + %277 = load i8, i8* %c, align 1 + %278 = load i8*, i8** %buffer.addr, align 8 + %279 = load i64, i64* %len, align 8 + %arrayidx555 = getelementptr inbounds i8, i8* %278, i64 %279 + store i8 %277, i8* %arrayidx555, align 1 + br label %if.end556 + +if.end556: ; preds = %if.then554, %do.body551 + %280 = load i64, i64* %len, align 8 + %inc557 = add i64 %280, 1 + store i64 %inc557, i64* %len, align 8 + %281 = load i8*, i8** %arg.addr, align 8 + %282 = load i64, i64* %i, align 8 + %inc560 = add i64 %282, 1 + store i64 %inc560, i64* %i, align 8 + %arrayidx561 = getelementptr inbounds i8, i8* %281, i64 %inc560 + %283 = load i8, i8* %arrayidx561, align 1 + store i8 %283, i8* %c, align 1 + br label %for.cond421 + +newDefault234: ; preds = %NodeBlock235 + br label %sw.epilog564 + +newDefault239: ; preds = %NodeBlock240 + br label %sw.epilog564 + +sw.epilog564: ; preds = %newDefault239, %newDefault234, %lor.lhs.false, %land.lhs.true417, %sw.bb297, %if.end330, %sw.bb289, %land.lhs.true292, %sw.bb283, %cond.true273, %cond.false278, %c_escape, %sw.bb171, %if.end228, %land.lhs.true182, %land.lhs.true178, %sw.bb175, %if.end164, %if.else, %sw.bb334 + %284 = load i8, i8* %backslash_escapes, align 1 + %tobool565 = trunc i8 %284 to i1 + %285 = load i32, i32* %quoting_style.addr, align 4 + %cmp568 = icmp ne i32 %285, 2 + %or.cond6 = and i1 %tobool565, %cmp568 + br i1 %or.cond6, label %land.lhs.true573, label %lor.lhs.false570 + +lor.lhs.false570: ; preds = %sw.epilog564 + %286 = load i8, i8* %elide_outer_quotes, align 1 + %tobool571 = trunc i8 %286 to i1 + br i1 %tobool571, label %land.lhs.true573, label %land.lhs.true582 + +land.lhs.true573: ; preds = %sw.epilog564, %lor.lhs.false570 + %287 = load i32*, i32** %quote_these_too.addr, align 8 + %tobool574 = icmp ne i32* %287, null + br i1 %tobool574, label %land.lhs.true575, label %land.lhs.true582 + +land.lhs.true575: ; preds = %land.lhs.true573 + %288 = load i32*, i32** %quote_these_too.addr, align 8 + %289 = load i8, i8* %c, align 1 + %conv576 = zext i8 %289 to i64 + %div = udiv i64 %conv576, 32 + %arrayidx577 = getelementptr inbounds i32, i32* %288, i64 %div + %290 = load i32, i32* %arrayidx577, align 4 + %291 = load i8, i8* %c, align 1 + %conv578 = zext i8 %291 to i64 + %rem = urem i64 %conv578, 32 + %sh_prom = trunc i64 %rem to i32 + %shr579 = lshr i32 %290, %sh_prom + %and580 = and i32 %shr579, 1 + %tobool581 = icmp ne i32 %and580, 0 + br i1 %tobool581, label %do.body586, label %land.lhs.true582 + +land.lhs.true582: ; preds = %land.lhs.true575, %land.lhs.true573, %lor.lhs.false570 + %292 = load i8, i8* %is_right_quote, align 1 + %tobool583 = trunc i8 %292 to i1 + br i1 %tobool583, label %do.body586, label %do.body634 + +do.body586: ; preds = %if.then268, %land.lhs.true582, %land.lhs.true575 + %293 = load i8, i8* %elide_outer_quotes, align 1 + %tobool587 = trunc i8 %293 to i1 + br i1 %tobool587, label %force_outer_quoting_style, label %if.end589 + +if.end589: ; preds = %do.body586 + store i8 1, i8* %escaping, align 1 + %294 = load i32, i32* %quoting_style.addr, align 4 + %cmp590 = icmp eq i32 %294, 2 + br i1 %cmp590, label %land.lhs.true592, label %do.body623 + +land.lhs.true592: ; preds = %if.end589 + %295 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool593 = trunc i8 %295 to i1 + br i1 %tobool593, label %do.body623, label %do.body595 + +do.body595: ; preds = %land.lhs.true592 + %296 = load i64, i64* %len, align 8 + %297 = load i64, i64* %buffersize.addr, align 8 + %cmp596 = icmp ult i64 %296, %297 + br i1 %cmp596, label %if.then598, label %if.end600 + +if.then598: ; preds = %do.body595 + %298 = load i8*, i8** %buffer.addr, align 8 + %299 = load i64, i64* %len, align 8 + %arrayidx599 = getelementptr inbounds i8, i8* %298, i64 %299 + store i8 39, i8* %arrayidx599, align 1 + br label %if.end600 + +if.end600: ; preds = %if.then598, %do.body595 + %300 = load i64, i64* %len, align 8 + %inc601 = add i64 %300, 1 + store i64 %inc601, i64* %len, align 8 + %301 = load i64, i64* %len, align 8 + %302 = load i64, i64* %buffersize.addr, align 8 + %cmp605 = icmp ult i64 %301, %302 + br i1 %cmp605, label %if.then607, label %if.end609 + +if.then607: ; preds = %if.end600 + %303 = load i8*, i8** %buffer.addr, align 8 + %304 = load i64, i64* %len, align 8 + %arrayidx608 = getelementptr inbounds i8, i8* %303, i64 %304 + store i8 36, i8* %arrayidx608, align 1 + br label %if.end609 + +if.end609: ; preds = %if.then607, %if.end600 + %305 = load i64, i64* %len, align 8 + %inc610 = add i64 %305, 1 + store i64 %inc610, i64* %len, align 8 + %306 = load i64, i64* %len, align 8 + %307 = load i64, i64* %buffersize.addr, align 8 + %cmp614 = icmp ult i64 %306, %307 + br i1 %cmp614, label %if.then616, label %if.end618 + +if.then616: ; preds = %if.end609 + %308 = load i8*, i8** %buffer.addr, align 8 + %309 = load i64, i64* %len, align 8 + %arrayidx617 = getelementptr inbounds i8, i8* %308, i64 %309 + store i8 39, i8* %arrayidx617, align 1 + br label %if.end618 + +if.end618: ; preds = %if.then616, %if.end609 + %310 = load i64, i64* %len, align 8 + %inc619 = add i64 %310, 1 + store i64 %inc619, i64* %len, align 8 + store i8 1, i8* %pending_shell_escape_end, align 1 + br label %do.body623 + +do.body623: ; preds = %if.end589, %land.lhs.true592, %if.end618 + %311 = load i64, i64* %len, align 8 + %312 = load i64, i64* %buffersize.addr, align 8 + %cmp624 = icmp ult i64 %311, %312 + br i1 %cmp624, label %if.then626, label %if.end628 + +if.then626: ; preds = %do.body623 + %313 = load i8*, i8** %buffer.addr, align 8 + %314 = load i64, i64* %len, align 8 + %arrayidx627 = getelementptr inbounds i8, i8* %313, i64 %314 + store i8 92, i8* %arrayidx627, align 1 + br label %if.end628 + +if.end628: ; preds = %if.then626, %do.body623 + %315 = load i64, i64* %len, align 8 + %inc629 = add i64 %315, 1 + store i64 %inc629, i64* %len, align 8 + br label %do.body634 + +do.body634: ; preds = %if.end628, %if.then246, %land.lhs.true253, %if.end518, %land.lhs.true582 + %316 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool635 = trunc i8 %316 to i1 + br i1 %tobool635, label %land.lhs.true637, label %do.body661 + +land.lhs.true637: ; preds = %do.body634 + %317 = load i8, i8* %escaping, align 1 + %tobool638 = trunc i8 %317 to i1 + br i1 %tobool638, label %do.body661, label %do.body640 + +do.body640: ; preds = %land.lhs.true637 + %318 = load i64, i64* %len, align 8 + %319 = load i64, i64* %buffersize.addr, align 8 + %cmp641 = icmp ult i64 %318, %319 + br i1 %cmp641, label %if.then643, label %if.end645 + +if.then643: ; preds = %do.body640 + %320 = load i8*, i8** %buffer.addr, align 8 + %321 = load i64, i64* %len, align 8 + %arrayidx644 = getelementptr inbounds i8, i8* %320, i64 %321 + store i8 39, i8* %arrayidx644, align 1 + br label %if.end645 + +if.end645: ; preds = %if.then643, %do.body640 + %322 = load i64, i64* %len, align 8 + %inc646 = add i64 %322, 1 + store i64 %inc646, i64* %len, align 8 + %323 = load i64, i64* %len, align 8 + %324 = load i64, i64* %buffersize.addr, align 8 + %cmp650 = icmp ult i64 %323, %324 + br i1 %cmp650, label %if.then652, label %if.end654 + +if.then652: ; preds = %if.end645 + %325 = load i8*, i8** %buffer.addr, align 8 + %326 = load i64, i64* %len, align 8 + %arrayidx653 = getelementptr inbounds i8, i8* %325, i64 %326 + store i8 39, i8* %arrayidx653, align 1 + br label %if.end654 + +if.end654: ; preds = %if.then652, %if.end645 + %327 = load i64, i64* %len, align 8 + %inc655 = add i64 %327, 1 + store i64 %inc655, i64* %len, align 8 + store i8 0, i8* %pending_shell_escape_end, align 1 + br label %do.body661 + +do.body661: ; preds = %if.end654, %land.lhs.true637, %do.body634 + %328 = load i64, i64* %len, align 8 + %329 = load i64, i64* %buffersize.addr, align 8 + %cmp662 = icmp ult i64 %328, %329 + br i1 %cmp662, label %if.then664, label %if.end666 + +if.then664: ; preds = %do.body661 + %330 = load i8, i8* %c, align 1 + %331 = load i8*, i8** %buffer.addr, align 8 + %332 = load i64, i64* %len, align 8 + %arrayidx665 = getelementptr inbounds i8, i8* %331, i64 %332 + store i8 %330, i8* %arrayidx665, align 1 + br label %if.end666 + +if.end666: ; preds = %if.then664, %do.body661 + %333 = load i64, i64* %len, align 8 + %inc667 = add i64 %333, 1 + store i64 %inc667, i64* %len, align 8 + %334 = load i8, i8* %c_and_shell_quote_compat, align 1 + %tobool670 = trunc i8 %334 to i1 + br i1 %tobool670, label %for.inc673, label %if.then671 + +if.then671: ; preds = %if.end666 + store i8 0, i8* %all_c_and_shell_quote_compat, align 1 + br label %for.inc673 + +for.inc673: ; preds = %if.end666, %if.then671, %if.else + %335 = load i64, i64* %i, align 8 + %inc674 = add i64 %335, 1 + store i64 %inc674, i64* %i, align 8 + br label %for.cond44 + +for.end675: ; preds = %cond.end + %336 = load i64, i64* %len, align 8 + %cmp676 = icmp eq i64 %336, 0 + %337 = load i32, i32* %quoting_style.addr, align 4 + %cmp679 = icmp eq i32 %337, 2 + %or.cond7 = and i1 %cmp676, %cmp679 + br i1 %or.cond7, label %land.lhs.true681, label %if.end685 + +land.lhs.true681: ; preds = %for.end675 + %338 = load i8, i8* %elide_outer_quotes, align 1 + %tobool682 = trunc i8 %338 to i1 + br i1 %tobool682, label %force_outer_quoting_style, label %if.end685 + +if.end685: ; preds = %land.lhs.true681, %for.end675 + %339 = load i32, i32* %quoting_style.addr, align 4 + %cmp686 = icmp eq i32 %339, 2 + br i1 %cmp686, label %land.lhs.true688, label %if.end704 + +land.lhs.true688: ; preds = %if.end685 + %340 = load i8, i8* %elide_outer_quotes, align 1 + %tobool689 = trunc i8 %340 to i1 + br i1 %tobool689, label %if.end704, label %land.lhs.true690 + +land.lhs.true690: ; preds = %land.lhs.true688 + %341 = load i8, i8* %encountered_single_quote, align 1 + %tobool691 = trunc i8 %341 to i1 + br i1 %tobool691, label %if.then693, label %if.end704 + +if.then693: ; preds = %land.lhs.true690 + %342 = load i8, i8* %all_c_and_shell_quote_compat, align 1 + %tobool694 = trunc i8 %342 to i1 + br i1 %tobool694, label %if.then695, label %if.else697 + +if.then695: ; preds = %if.then693 + %343 = load i8*, i8** %buffer.addr, align 8 + %344 = load i64, i64* %orig_buffersize, align 8 + %345 = load i8*, i8** %arg.addr, align 8 + %346 = load i64, i64* %argsize.addr, align 8 + %347 = load i32, i32* %flags.addr, align 4 + %348 = load i32*, i32** %quote_these_too.addr, align 8 + %349 = load i8*, i8** %left_quote.addr, align 8 + %350 = load i8*, i8** %right_quote.addr, align 8 + %call696 = call i64 @quotearg_buffer_restyled(i8* %343, i64 %344, i8* %345, i64 %346, i32 5, i32 %347, i32* %348, i8* %349, i8* %350) + store i64 %call696, i64* %retval, align 8 + br label %return + +if.else697: ; preds = %if.then693 + %351 = load i64, i64* %buffersize.addr, align 8 + %tobool698 = icmp eq i64 %351, 0 + %352 = load i64, i64* %orig_buffersize, align 8 + %tobool700 = icmp ne i64 %352, 0 + %or.cond8 = and i1 %tobool698, %tobool700 + br i1 %or.cond8, label %if.then701, label %if.end704 + +if.then701: ; preds = %if.else697 + %353 = load i64, i64* %orig_buffersize, align 8 + store i64 %353, i64* %buffersize.addr, align 8 + store i64 0, i64* %len, align 8 + br label %process_input + +if.end704: ; preds = %if.else697, %land.lhs.true690, %land.lhs.true688, %if.end685 + %354 = load i8*, i8** %quote_string, align 8 + %tobool705 = icmp ne i8* %354, null + br i1 %tobool705, label %land.lhs.true706, label %if.end724 + +land.lhs.true706: ; preds = %if.end704 + %355 = load i8, i8* %elide_outer_quotes, align 1 + %tobool707 = trunc i8 %355 to i1 + br i1 %tobool707, label %if.end724, label %for.cond709 + +for.cond709: ; preds = %land.lhs.true706, %if.end717 + %356 = load i8*, i8** %quote_string, align 8 + %357 = load i8, i8* %356, align 1 + %tobool710 = icmp ne i8 %357, 0 + br i1 %tobool710, label %do.body712, label %if.end724 + +do.body712: ; preds = %for.cond709 + %358 = load i64, i64* %len, align 8 + %359 = load i64, i64* %buffersize.addr, align 8 + %cmp713 = icmp ult i64 %358, %359 + br i1 %cmp713, label %if.then715, label %if.end717 + +if.then715: ; preds = %do.body712 + %360 = load i8*, i8** %quote_string, align 8 + %361 = load i8, i8* %360, align 1 + %362 = load i8*, i8** %buffer.addr, align 8 + %363 = load i64, i64* %len, align 8 + %arrayidx716 = getelementptr inbounds i8, i8* %362, i64 %363 + store i8 %361, i8* %arrayidx716, align 1 + br label %if.end717 + +if.end717: ; preds = %if.then715, %do.body712 + %364 = load i64, i64* %len, align 8 + %inc718 = add i64 %364, 1 + store i64 %inc718, i64* %len, align 8 + %365 = load i8*, i8** %quote_string, align 8 + %incdec.ptr722 = getelementptr inbounds i8, i8* %365, i32 1 + store i8* %incdec.ptr722, i8** %quote_string, align 8 + br label %for.cond709 + +if.end724: ; preds = %for.cond709, %land.lhs.true706, %if.end704 + %366 = load i64, i64* %len, align 8 + %367 = load i64, i64* %buffersize.addr, align 8 + %cmp725 = icmp ult i64 %366, %367 + br i1 %cmp725, label %if.then727, label %if.end729 + +if.then727: ; preds = %if.end724 + %368 = load i8*, i8** %buffer.addr, align 8 + %369 = load i64, i64* %len, align 8 + %arrayidx728 = getelementptr inbounds i8, i8* %368, i64 %369 + store i8 0, i8* %arrayidx728, align 1 + br label %if.end729 + +if.end729: ; preds = %if.then727, %if.end724 + %370 = load i64, i64* %len, align 8 + store i64 %370, i64* %retval, align 8 + br label %return + +force_outer_quoting_style: ; preds = %NodeBlock267, %NodeBlock265, %NodeBlock263, %NodeBlock261, %NodeBlock259, %land.lhs.true681, %do.body586, %do.body427, %if.then300, %land.lhs.true292, %land.lhs.true262, %if.then246, %sw.bb192, %sw.bb171, %do.body86, %if.then76 + %371 = load i32, i32* %quoting_style.addr, align 4 + %cmp730 = icmp eq i32 %371, 2 + br i1 %cmp730, label %land.lhs.true732, label %if.end736 + +land.lhs.true732: ; preds = %force_outer_quoting_style + %372 = load i8, i8* %backslash_escapes, align 1 + %tobool733 = trunc i8 %372 to i1 + br i1 %tobool733, label %if.then735, label %if.end736 + +if.then735: ; preds = %land.lhs.true732 + store i32 4, i32* %quoting_style.addr, align 4 + br label %if.end736 + +if.end736: ; preds = %if.then735, %land.lhs.true732, %force_outer_quoting_style + %373 = load i8*, i8** %buffer.addr, align 8 + %374 = load i64, i64* %buffersize.addr, align 8 + %375 = load i8*, i8** %arg.addr, align 8 + %376 = load i64, i64* %argsize.addr, align 8 + %377 = load i32, i32* %quoting_style.addr, align 4 + %378 = load i32, i32* %flags.addr, align 4 + %and737 = and i32 %378, -3 + %379 = load i8*, i8** %left_quote.addr, align 8 + %380 = load i8*, i8** %right_quote.addr, align 8 + %call738 = call i64 @quotearg_buffer_restyled(i8* %373, i64 %374, i8* %375, i64 %376, i32 %377, i32 %and737, i32* null, i8* %379, i8* %380) + store i64 %call738, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end736, %if.end729, %if.then695 + %381 = load i64, i64* %retval, align 8 + ret i64 %381 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xcharalloc(i64 %n) #3 { +entry: + %n.addr = alloca i64, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @xmalloc(i64 %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xmalloc(i64 %n) #3 { +entry: + %n.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @malloc(i64 %0) #11 + store i8* %call, i8** %p, align 8 + %1 = load i8*, i8** %p, align 8 + %tobool = icmp eq i8* %1, null + %2 = load i64, i64* %n.addr, align 8 + %cmp = icmp ne i64 %2, 0 + %or.cond = and i1 %tobool, %cmp + br i1 %or.cond, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %entry + %3 = load i8*, i8** %p, align 8 + ret i8* %3 +} + +; Function Attrs: nounwind +declare dso_local i64 @__ctype_get_mb_cur_max() #4 + +; Function Attrs: noinline nounwind uwtable +define internal i8* @gettext_quote(i8* %msgid, i32 %s) #3 { +entry: + %retval = alloca i8*, align 8 + %msgid.addr = alloca i8*, align 8 + %s.addr = alloca i32, align 4 + %translation = alloca i8*, align 8 + %locale_code = alloca i8*, align 8 + store i8* %msgid, i8** %msgid.addr, align 8 + store i32 %s, i32* %s.addr, align 4 + %0 = load i8*, i8** %msgid.addr, align 8 + store i8* %0, i8** %translation, align 8 + %1 = load i8*, i8** %translation, align 8 + %2 = load i8*, i8** %msgid.addr, align 8 + %cmp = icmp ne i8* %1, %2 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %3 = load i8*, i8** %translation, align 8 + store i8* %3, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %call = call i8* @locale_charset() + store i8* %call, i8** %locale_code, align 8 + %4 = load i8*, i8** %locale_code, align 8 + %call1 = call i32 @c_strcasecmp(i8* %4, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.13.67, i64 0, i64 0)) #23 + %cmp2 = icmp eq i32 %call1, 0 + br i1 %cmp2, label %if.then3, label %if.end6 + +if.then3: ; preds = %if.end + %5 = load i8*, i8** %msgid.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 0 + %6 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %6 to i32 + %cmp4 = icmp eq i32 %conv, 96 + %7 = zext i1 %cmp4 to i64 + %cond = select i1 %cmp4, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.14.68, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.15.69, i64 0, i64 0) + store i8* %cond, i8** %retval, align 8 + br label %return + +if.end6: ; preds = %if.end + %8 = load i8*, i8** %locale_code, align 8 + %call7 = call i32 @c_strcasecmp(i8* %8, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.16.70, i64 0, i64 0)) #23 + %cmp8 = icmp eq i32 %call7, 0 + br i1 %cmp8, label %if.then10, label %if.end16 + +if.then10: ; preds = %if.end6 + %9 = load i8*, i8** %msgid.addr, align 8 + %arrayidx11 = getelementptr inbounds i8, i8* %9, i64 0 + %10 = load i8, i8* %arrayidx11, align 1 + %conv12 = sext i8 %10 to i32 + %cmp13 = icmp eq i32 %conv12, 96 + %11 = zext i1 %cmp13 to i64 + %cond15 = select i1 %cmp13, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.17.71, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.18.72, i64 0, i64 0) + store i8* %cond15, i8** %retval, align 8 + br label %return + +if.end16: ; preds = %if.end6 + %12 = load i32, i32* %s.addr, align 4 + %cmp17 = icmp eq i32 %12, 9 + %13 = zext i1 %cmp17 to i64 + %cond19 = select i1 %cmp17, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10.64, i64 0, i64 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.66, i64 0, i64 0) + store i8* %cond19, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end16, %if.then10, %if.then3, %if.then + %14 = load i8*, i8** %retval, align 8 + ret i8* %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @rpl_mbrtowc(i32* %pwc, i8* %s, i64 %n, %struct.__mbstate_t* %ps) #3 { +entry: + %retval = alloca i64, align 8 + %pwc.addr = alloca i32*, align 8 + %s.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t*, align 8 + %ret = alloca i64, align 8 + %wc = alloca i32, align 4 + %uc = alloca i8, align 1 + store i32* %pwc, i32** %pwc.addr, align 8 + store i8* %s, i8** %s.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__mbstate_t* %ps, %struct.__mbstate_t** %ps.addr, align 8 + %0 = load i32*, i32** %pwc.addr, align 8 + %tobool = icmp ne i32* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i32* %wc, i32** %pwc.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i32*, i32** %pwc.addr, align 8 + %2 = load i8*, i8** %s.addr, align 8 + %3 = load i64, i64* %n.addr, align 8 + %4 = load %struct.__mbstate_t*, %struct.__mbstate_t** %ps.addr, align 8 + %call = call i64 bitcast (i64 (i32*, i8*, i64, %struct.__mbstate_t.512*)* @mbrtowc to i64 (i32*, i8*, i64, %struct.__mbstate_t*)*)(i32* %1, i8* %2, i64 %3, %struct.__mbstate_t* %4) #11 + store i64 %call, i64* %ret, align 8 + %5 = load i64, i64* %ret, align 8 + %cmp = icmp ule i64 -2, %5 + %6 = load i64, i64* %n.addr, align 8 + %cmp1 = icmp ne i64 %6, 0 + %or.cond = and i1 %cmp, %cmp1 + br i1 %or.cond, label %land.lhs.true2, label %if.end5 + +land.lhs.true2: ; preds = %if.end + %call3 = call zeroext i1 @hard_locale(i32 0) + br i1 %call3, label %if.end5, label %if.then4 + +if.then4: ; preds = %land.lhs.true2 + %7 = load i8*, i8** %s.addr, align 8 + %8 = load i8, i8* %7, align 1 + store i8 %8, i8* %uc, align 1 + %9 = load i8, i8* %uc, align 1 + %conv = zext i8 %9 to i32 + %10 = load i32*, i32** %pwc.addr, align 8 + store i32 %conv, i32* %10, align 4 + store i64 1, i64* %retval, align 8 + br label %return + +if.end5: ; preds = %land.lhs.true2, %if.end + %11 = load i64, i64* %ret, align 8 + store i64 %11, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end5, %if.then4 + %12 = load i64, i64* %retval, align 8 + ret i64 %12 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @hard_locale(i32 %category) #3 { +entry: + %retval = alloca i1, align 1 + %category.addr = alloca i32, align 4 + %locale = alloca [257 x i8], align 16 + store i32 %category, i32* %category.addr, align 4 + %0 = load i32, i32* %category.addr, align 4 + %arraydecay = getelementptr inbounds [257 x i8], [257 x i8]* %locale, i64 0, i64 0 + %call = call i32 @setlocale_null_r(i32 %0, i8* %arraydecay, i64 257) + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +if.end: ; preds = %entry + %arraydecay1 = getelementptr inbounds [257 x i8], [257 x i8]* %locale, i64 0, i64 0 + %call2 = call i32 @strcmp(i8* %arraydecay1, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.137, i64 0, i64 0)) #23 + %cmp = icmp eq i32 %call2, 0 + br i1 %cmp, label %lor.end, label %lor.rhs + +lor.rhs: ; preds = %if.end + %arraydecay3 = getelementptr inbounds [257 x i8], [257 x i8]* %locale, i64 0, i64 0 + %call4 = call i32 @strcmp(i8* %arraydecay3, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1.138, i64 0, i64 0)) #23 + %cmp5 = icmp eq i32 %call4, 0 + br label %lor.end + +lor.end: ; preds = %lor.rhs, %if.end + %1 = phi i1 [ true, %if.end ], [ %cmp5, %lor.rhs ] + %lnot = xor i1 %1, true + store i1 %lnot, i1* %retval, align 1 + br label %return + +return: ; preds = %lor.end, %if.then + %2 = load i1, i1* %retval, align 1 + ret i1 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @setlocale_null_r(i32 %category, i8* nonnull %buf, i64 %bufsize) #3 { +entry: + %category.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + store i32 %category, i32* %category.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i32, i32* %category.addr, align 4 + %1 = load i8*, i8** %buf.addr, align 8 + %2 = load i64, i64* %bufsize.addr, align 8 + %call = call i32 @setlocale_null_unlocked(i32 %0, i8* %1, i64 %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @setlocale_null_unlocked(i32 %category, i8* %buf, i64 %bufsize) #3 { +entry: + %retval = alloca i32, align 4 + %category.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %result = alloca i8*, align 8 + %length = alloca i64, align 8 + store i32 %category, i32* %category.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i32, i32* %category.addr, align 4 + %call = call i8* @setlocale_null_androidfix(i32 %0) + store i8* %call, i8** %result, align 8 + %1 = load i8*, i8** %result, align 8 + %cmp = icmp eq i8* %1, null + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %2 = load i64, i64* %bufsize.addr, align 8 + %cmp1 = icmp ugt i64 %2, 0 + br i1 %cmp1, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + %3 = load i8*, i8** %buf.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %3, i64 0 + store i8 0, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + store i32 22, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %4 = load i8*, i8** %result, align 8 + %call3 = call i64 @strlen(i8* %4) #23 + store i64 %call3, i64* %length, align 8 + %5 = load i64, i64* %length, align 8 + %6 = load i64, i64* %bufsize.addr, align 8 + %cmp4 = icmp ult i64 %5, %6 + br i1 %cmp4, label %if.then5, label %if.else6 + +if.then5: ; preds = %if.else + %7 = load i8*, i8** %buf.addr, align 8 + %8 = load i8*, i8** %result, align 8 + %9 = load i64, i64* %length, align 8 + %add = add i64 %9, 1 + %10 = call i8* @memcpy(i8* %7, i8* %8, i64 %add) + store i32 0, i32* %retval, align 4 + br label %return + +if.else6: ; preds = %if.else + %11 = load i64, i64* %bufsize.addr, align 8 + %cmp7 = icmp ugt i64 %11, 0 + br i1 %cmp7, label %if.then8, label %if.end11 + +if.then8: ; preds = %if.else6 + %12 = load i8*, i8** %buf.addr, align 8 + %13 = load i8*, i8** %result, align 8 + %14 = load i64, i64* %bufsize.addr, align 8 + %sub = sub i64 %14, 1 + %15 = call i8* @memcpy(i8* %12, i8* %13, i64 %sub) + %16 = load i8*, i8** %buf.addr, align 8 + %17 = load i64, i64* %bufsize.addr, align 8 + %sub9 = sub i64 %17, 1 + %arrayidx10 = getelementptr inbounds i8, i8* %16, i64 %sub9 + store i8 0, i8* %arrayidx10, align 1 + br label %if.end11 + +if.end11: ; preds = %if.then8, %if.else6 + store i32 34, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end11, %if.then5, %if.end + %18 = load i32, i32* %retval, align 4 + ret i32 %18 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @setlocale_null_androidfix(i32 %category) #3 { +entry: + %category.addr = alloca i32, align 4 + %result = alloca i8*, align 8 + store i32 %category, i32* %category.addr, align 4 + %0 = load i32, i32* %category.addr, align 4 + %call = call i8* @setlocale(i32 %0, i8* null) #11 + store i8* %call, i8** %result, align 8 + %1 = load i8*, i8** %result, align 8 + ret i8* %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @locale_charset() #3 { +entry: + %codeset = alloca i8*, align 8 + %call = call i8* @nl_langinfo(i32 14) #11 + store i8* %call, i8** %codeset, align 8 + %0 = load i8*, i8** %codeset, align 8 + %cmp = icmp eq i8* %0, null + %spec.store.select = select i1 %cmp, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.141, i64 0, i64 0), i8* %call + store i8* %spec.store.select, i8** %codeset, align 8 + %1 = load i8*, i8** %codeset, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %2 to i32 + %cmp1 = icmp eq i32 %conv, 0 + %spec.store.select1 = select i1 %cmp1, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1.142, i64 0, i64 0), i8* %spec.store.select + store i8* %spec.store.select1, i8** %codeset, align 8 + %3 = load i8*, i8** %codeset, align 8 + ret i8* %3 +} + +; Function Attrs: noinline nounwind readonly uwtable +define dso_local i32 @c_strcasecmp(i8* %s1, i8* %s2) #15 { +entry: + %retval = alloca i32, align 4 + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %p1 = alloca i8*, align 8 + %p2 = alloca i8*, align 8 + %c1 = alloca i8, align 1 + %c2 = alloca i8, align 1 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %p1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %p2, align 8 + %2 = load i8*, i8** %p1, align 8 + %3 = load i8*, i8** %p2, align 8 + %cmp = icmp eq i8* %2, %3 + br i1 %cmp, label %if.then, label %do.body + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +do.body: ; preds = %entry, %if.end9 + %4 = load i8*, i8** %p1, align 8 + %5 = load i8, i8* %4, align 1 + %conv = zext i8 %5 to i32 + %call = call i32 @c_tolower(i32 %conv) + %conv1 = trunc i32 %call to i8 + store i8 %conv1, i8* %c1, align 1 + %6 = load i8*, i8** %p2, align 8 + %7 = load i8, i8* %6, align 1 + %conv2 = zext i8 %7 to i32 + %call3 = call i32 @c_tolower(i32 %conv2) + %conv4 = trunc i32 %call3 to i8 + store i8 %conv4, i8* %c2, align 1 + %8 = load i8, i8* %c1, align 1 + %conv5 = zext i8 %8 to i32 + %cmp6 = icmp eq i32 %conv5, 0 + br i1 %cmp6, label %do.end, label %if.end9 + +if.end9: ; preds = %do.body + %9 = load i8*, i8** %p1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %p1, align 8 + %10 = load i8*, i8** %p2, align 8 + %incdec.ptr10 = getelementptr inbounds i8, i8* %10, i32 1 + store i8* %incdec.ptr10, i8** %p2, align 8 + %11 = load i8, i8* %c1, align 1 + %conv11 = zext i8 %11 to i32 + %12 = load i8, i8* %c2, align 1 + %conv12 = zext i8 %12 to i32 + %cmp13 = icmp eq i32 %conv11, %conv12 + br i1 %cmp13, label %do.body, label %do.end + +do.end: ; preds = %do.body, %if.end9 + %13 = load i8, i8* %c1, align 1 + %conv15 = zext i8 %13 to i32 + %14 = load i8, i8* %c2, align 1 + %conv16 = zext i8 %14 to i32 + %sub = sub nsw i32 %conv15, %conv16 + store i32 %sub, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end, %if.then + %15 = load i32, i32* %retval, align 4 + ret i32 %15 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @c_tolower(i32 %c) #3 { +entry: + %retval = alloca i32, align 4 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -65 + %switch = icmp ult i32 %.off, 26 + %1 = load i32, i32* %c.addr, align 4 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + %sub = sub nsw i32 %1, 65 + %add = add nsw i32 %sub, 97 + store i32 %add, i32* %retval, align 4 + br label %return + +sw.default: ; preds = %entry + store i32 %1, i32* %retval, align 4 + br label %return + +return: ; preds = %sw.default, %sw.bb + %2 = load i32, i32* %retval, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc_va(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, %struct.__va_list_tag.0* %authors) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors.addr = alloca %struct.__va_list_tag.0*, align 8 + %n_authors = alloca i64, align 8 + %authtab = alloca [10 x i8*], align 16 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + store %struct.__va_list_tag.0* %authors, %struct.__va_list_tag.0** %authors.addr, align 8 + store i64 0, i64* %n_authors, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i64, i64* %n_authors, align 8 + %cmp = icmp ult i64 %0, 10 + br i1 %cmp, label %land.rhs, label %for.end + +land.rhs: ; preds = %for.cond + %1 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %authors.addr, align 8 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %1, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 8 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %land.rhs + %2 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %1, i32 0, i32 3 + %reg_save_area = load i8*, i8** %2, align 8 + %3 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %4 = bitcast i8* %3 to i8** + %5 = add i32 %gp_offset, 8 + store i32 %5, i32* %gp_offset_p, align 8 + br label %vaarg.end + +vaarg.in_mem: ; preds = %land.rhs + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %1, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %6 = bitcast i8* %overflow_arg_area to i8** + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i8** [ %4, %vaarg.in_reg ], [ %6, %vaarg.in_mem ] + %7 = load i8*, i8** %vaarg.addr, align 8 + %8 = load i64, i64* %n_authors, align 8 + %arrayidx = getelementptr inbounds [10 x i8*], [10 x i8*]* %authtab, i64 0, i64 %8 + store i8* %7, i8** %arrayidx, align 8 + %cmp1 = icmp ne i8* %7, null + br i1 %cmp1, label %for.inc, label %for.end + +for.inc: ; preds = %vaarg.end + %9 = load i64, i64* %n_authors, align 8 + %inc = add i64 %9, 1 + store i64 %inc, i64* %n_authors, align 8 + br label %for.cond + +for.end: ; preds = %for.cond, %vaarg.end + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %11 = load i8*, i8** %command_name.addr, align 8 + %12 = load i8*, i8** %package.addr, align 8 + %13 = load i8*, i8** %version.addr, align 8 + %arraydecay = getelementptr inbounds [10 x i8*], [10 x i8*]* %authtab, i64 0, i64 0 + %14 = load i64, i64* %n_authors, align 8 + call void @version_etc_arn(%struct._IO_FILE* %10, i8* %11, i8* %12, i8* %13, i8** %arraydecay, i64 %14) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc_arn(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, i8** %authors, i64 %n_authors) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors.addr = alloca i8**, align 8 + %n_authors.addr = alloca i64, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + store i8** %authors, i8*** %authors.addr, align 8 + store i64 %n_authors, i64* %n_authors.addr, align 8 + %0 = load i8*, i8** %command_name.addr, align 8 + %tobool = icmp ne i8* %0, null + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %entry + %2 = load i8*, i8** %command_name.addr, align 8 + %3 = load i8*, i8** %package.addr, align 8 + %4 = load i8*, i8** %version.addr, align 8 + %call = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %1, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.77, i64 0, i64 0), i8* %2, i8* %3, i8* %4) + br label %if.end + +if.else: ; preds = %entry + %5 = load i8*, i8** %package.addr, align 8 + %6 = load i8*, i8** %version.addr, align 8 + %call1 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %1, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.78, i64 0, i64 0), i8* %5, i8* %6) + br label %if.end + +if.end: ; preds = %if.else, %if.then + %7 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call2 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %7, i8* getelementptr inbounds ([47 x i8], [47 x i8]* @version_etc_copyright, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2.79, i64 0, i64 0), i32 2020) + %8 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call3 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.80, i64 0, i64 0), %struct._IO_FILE* %8) + %9 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call4 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %9, i8* getelementptr inbounds ([171 x i8], [171 x i8]* @.str.4.81, i64 0, i64 0), i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.5.82, i64 0, i64 0)) + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call5 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.80, i64 0, i64 0), %struct._IO_FILE* %10) + %11 = load i64, i64* %n_authors.addr, align 8 + br label %NodeBlock17 + +NodeBlock17: ; preds = %if.end + %case.cmp18 = icmp eq i64 %11, 0 + br i1 %case.cmp18, label %sw.epilog, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i64 %11, 1 + br i1 %case.cmp16, label %sw.bb6, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i64 %11, 2 + br i1 %case.cmp14, label %sw.bb8, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i64 %11, 3 + br i1 %case.cmp12, label %sw.bb12, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i64 %11, 4 + br i1 %case.cmp10, label %sw.bb17, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i64 %11, 5 + br i1 %case.cmp8, label %sw.bb23, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i64 %11, 6 + br i1 %case.cmp6, label %sw.bb30, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i64 %11, 7 + br i1 %case.cmp4, label %sw.bb38, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i64 %11, 8 + br i1 %case.cmp2, label %sw.bb47, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i64 %11, 9 + br i1 %case.cmp, label %sw.bb57, label %newDefault + +sw.bb6: ; preds = %NodeBlock15 + %12 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %13 = load i8**, i8*** %authors.addr, align 8 + %arrayidx = getelementptr inbounds i8*, i8** %13, i64 0 + %14 = load i8*, i8** %arrayidx, align 8 + %call7 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %12, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.6.83, i64 0, i64 0), i8* %14) + br label %sw.epilog + +sw.bb8: ; preds = %NodeBlock13 + %15 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %16 = load i8**, i8*** %authors.addr, align 8 + %arrayidx9 = getelementptr inbounds i8*, i8** %16, i64 0 + %17 = load i8*, i8** %arrayidx9, align 8 + %18 = load i8**, i8*** %authors.addr, align 8 + %arrayidx10 = getelementptr inbounds i8*, i8** %18, i64 1 + %19 = load i8*, i8** %arrayidx10, align 8 + %call11 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %15, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.7.84, i64 0, i64 0), i8* %17, i8* %19) + br label %sw.epilog + +sw.bb12: ; preds = %NodeBlock11 + %20 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %21 = load i8**, i8*** %authors.addr, align 8 + %arrayidx13 = getelementptr inbounds i8*, i8** %21, i64 0 + %22 = load i8*, i8** %arrayidx13, align 8 + %23 = load i8**, i8*** %authors.addr, align 8 + %arrayidx14 = getelementptr inbounds i8*, i8** %23, i64 1 + %24 = load i8*, i8** %arrayidx14, align 8 + %25 = load i8**, i8*** %authors.addr, align 8 + %arrayidx15 = getelementptr inbounds i8*, i8** %25, i64 2 + %26 = load i8*, i8** %arrayidx15, align 8 + %call16 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %20, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.8.85, i64 0, i64 0), i8* %22, i8* %24, i8* %26) + br label %sw.epilog + +sw.bb17: ; preds = %NodeBlock9 + %27 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %28 = load i8**, i8*** %authors.addr, align 8 + %arrayidx18 = getelementptr inbounds i8*, i8** %28, i64 0 + %29 = load i8*, i8** %arrayidx18, align 8 + %30 = load i8**, i8*** %authors.addr, align 8 + %arrayidx19 = getelementptr inbounds i8*, i8** %30, i64 1 + %31 = load i8*, i8** %arrayidx19, align 8 + %32 = load i8**, i8*** %authors.addr, align 8 + %arrayidx20 = getelementptr inbounds i8*, i8** %32, i64 2 + %33 = load i8*, i8** %arrayidx20, align 8 + %34 = load i8**, i8*** %authors.addr, align 8 + %arrayidx21 = getelementptr inbounds i8*, i8** %34, i64 3 + %35 = load i8*, i8** %arrayidx21, align 8 + %call22 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %27, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.9.86, i64 0, i64 0), i8* %29, i8* %31, i8* %33, i8* %35) + br label %sw.epilog + +sw.bb23: ; preds = %NodeBlock7 + %36 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %37 = load i8**, i8*** %authors.addr, align 8 + %arrayidx24 = getelementptr inbounds i8*, i8** %37, i64 0 + %38 = load i8*, i8** %arrayidx24, align 8 + %39 = load i8**, i8*** %authors.addr, align 8 + %arrayidx25 = getelementptr inbounds i8*, i8** %39, i64 1 + %40 = load i8*, i8** %arrayidx25, align 8 + %41 = load i8**, i8*** %authors.addr, align 8 + %arrayidx26 = getelementptr inbounds i8*, i8** %41, i64 2 + %42 = load i8*, i8** %arrayidx26, align 8 + %43 = load i8**, i8*** %authors.addr, align 8 + %arrayidx27 = getelementptr inbounds i8*, i8** %43, i64 3 + %44 = load i8*, i8** %arrayidx27, align 8 + %45 = load i8**, i8*** %authors.addr, align 8 + %arrayidx28 = getelementptr inbounds i8*, i8** %45, i64 4 + %46 = load i8*, i8** %arrayidx28, align 8 + %call29 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %36, i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.10.87, i64 0, i64 0), i8* %38, i8* %40, i8* %42, i8* %44, i8* %46) + br label %sw.epilog + +sw.bb30: ; preds = %NodeBlock5 + %47 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %48 = load i8**, i8*** %authors.addr, align 8 + %arrayidx31 = getelementptr inbounds i8*, i8** %48, i64 0 + %49 = load i8*, i8** %arrayidx31, align 8 + %50 = load i8**, i8*** %authors.addr, align 8 + %arrayidx32 = getelementptr inbounds i8*, i8** %50, i64 1 + %51 = load i8*, i8** %arrayidx32, align 8 + %52 = load i8**, i8*** %authors.addr, align 8 + %arrayidx33 = getelementptr inbounds i8*, i8** %52, i64 2 + %53 = load i8*, i8** %arrayidx33, align 8 + %54 = load i8**, i8*** %authors.addr, align 8 + %arrayidx34 = getelementptr inbounds i8*, i8** %54, i64 3 + %55 = load i8*, i8** %arrayidx34, align 8 + %56 = load i8**, i8*** %authors.addr, align 8 + %arrayidx35 = getelementptr inbounds i8*, i8** %56, i64 4 + %57 = load i8*, i8** %arrayidx35, align 8 + %58 = load i8**, i8*** %authors.addr, align 8 + %arrayidx36 = getelementptr inbounds i8*, i8** %58, i64 5 + %59 = load i8*, i8** %arrayidx36, align 8 + %call37 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %47, i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.11.88, i64 0, i64 0), i8* %49, i8* %51, i8* %53, i8* %55, i8* %57, i8* %59) + br label %sw.epilog + +sw.bb38: ; preds = %NodeBlock3 + %60 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %61 = load i8**, i8*** %authors.addr, align 8 + %arrayidx39 = getelementptr inbounds i8*, i8** %61, i64 0 + %62 = load i8*, i8** %arrayidx39, align 8 + %63 = load i8**, i8*** %authors.addr, align 8 + %arrayidx40 = getelementptr inbounds i8*, i8** %63, i64 1 + %64 = load i8*, i8** %arrayidx40, align 8 + %65 = load i8**, i8*** %authors.addr, align 8 + %arrayidx41 = getelementptr inbounds i8*, i8** %65, i64 2 + %66 = load i8*, i8** %arrayidx41, align 8 + %67 = load i8**, i8*** %authors.addr, align 8 + %arrayidx42 = getelementptr inbounds i8*, i8** %67, i64 3 + %68 = load i8*, i8** %arrayidx42, align 8 + %69 = load i8**, i8*** %authors.addr, align 8 + %arrayidx43 = getelementptr inbounds i8*, i8** %69, i64 4 + %70 = load i8*, i8** %arrayidx43, align 8 + %71 = load i8**, i8*** %authors.addr, align 8 + %arrayidx44 = getelementptr inbounds i8*, i8** %71, i64 5 + %72 = load i8*, i8** %arrayidx44, align 8 + %73 = load i8**, i8*** %authors.addr, align 8 + %arrayidx45 = getelementptr inbounds i8*, i8** %73, i64 6 + %74 = load i8*, i8** %arrayidx45, align 8 + %call46 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %60, i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.12.89, i64 0, i64 0), i8* %62, i8* %64, i8* %66, i8* %68, i8* %70, i8* %72, i8* %74) + br label %sw.epilog + +sw.bb47: ; preds = %NodeBlock1 + %75 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %76 = load i8**, i8*** %authors.addr, align 8 + %arrayidx48 = getelementptr inbounds i8*, i8** %76, i64 0 + %77 = load i8*, i8** %arrayidx48, align 8 + %78 = load i8**, i8*** %authors.addr, align 8 + %arrayidx49 = getelementptr inbounds i8*, i8** %78, i64 1 + %79 = load i8*, i8** %arrayidx49, align 8 + %80 = load i8**, i8*** %authors.addr, align 8 + %arrayidx50 = getelementptr inbounds i8*, i8** %80, i64 2 + %81 = load i8*, i8** %arrayidx50, align 8 + %82 = load i8**, i8*** %authors.addr, align 8 + %arrayidx51 = getelementptr inbounds i8*, i8** %82, i64 3 + %83 = load i8*, i8** %arrayidx51, align 8 + %84 = load i8**, i8*** %authors.addr, align 8 + %arrayidx52 = getelementptr inbounds i8*, i8** %84, i64 4 + %85 = load i8*, i8** %arrayidx52, align 8 + %86 = load i8**, i8*** %authors.addr, align 8 + %arrayidx53 = getelementptr inbounds i8*, i8** %86, i64 5 + %87 = load i8*, i8** %arrayidx53, align 8 + %88 = load i8**, i8*** %authors.addr, align 8 + %arrayidx54 = getelementptr inbounds i8*, i8** %88, i64 6 + %89 = load i8*, i8** %arrayidx54, align 8 + %90 = load i8**, i8*** %authors.addr, align 8 + %arrayidx55 = getelementptr inbounds i8*, i8** %90, i64 7 + %91 = load i8*, i8** %arrayidx55, align 8 + %call56 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %75, i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.13.90, i64 0, i64 0), i8* %77, i8* %79, i8* %81, i8* %83, i8* %85, i8* %87, i8* %89, i8* %91) + br label %sw.epilog + +sw.bb57: ; preds = %NodeBlock + %92 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %93 = load i8**, i8*** %authors.addr, align 8 + %arrayidx58 = getelementptr inbounds i8*, i8** %93, i64 0 + %94 = load i8*, i8** %arrayidx58, align 8 + %95 = load i8**, i8*** %authors.addr, align 8 + %arrayidx59 = getelementptr inbounds i8*, i8** %95, i64 1 + %96 = load i8*, i8** %arrayidx59, align 8 + %97 = load i8**, i8*** %authors.addr, align 8 + %arrayidx60 = getelementptr inbounds i8*, i8** %97, i64 2 + %98 = load i8*, i8** %arrayidx60, align 8 + %99 = load i8**, i8*** %authors.addr, align 8 + %arrayidx61 = getelementptr inbounds i8*, i8** %99, i64 3 + %100 = load i8*, i8** %arrayidx61, align 8 + %101 = load i8**, i8*** %authors.addr, align 8 + %arrayidx62 = getelementptr inbounds i8*, i8** %101, i64 4 + %102 = load i8*, i8** %arrayidx62, align 8 + %103 = load i8**, i8*** %authors.addr, align 8 + %arrayidx63 = getelementptr inbounds i8*, i8** %103, i64 5 + %104 = load i8*, i8** %arrayidx63, align 8 + %105 = load i8**, i8*** %authors.addr, align 8 + %arrayidx64 = getelementptr inbounds i8*, i8** %105, i64 6 + %106 = load i8*, i8** %arrayidx64, align 8 + %107 = load i8**, i8*** %authors.addr, align 8 + %arrayidx65 = getelementptr inbounds i8*, i8** %107, i64 7 + %108 = load i8*, i8** %arrayidx65, align 8 + %109 = load i8**, i8*** %authors.addr, align 8 + %arrayidx66 = getelementptr inbounds i8*, i8** %109, i64 8 + %110 = load i8*, i8** %arrayidx66, align 8 + %call67 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %92, i8* getelementptr inbounds ([52 x i8], [52 x i8]* @.str.14.91, i64 0, i64 0), i8* %94, i8* %96, i8* %98, i8* %100, i8* %102, i8* %104, i8* %106, i8* %108, i8* %110) + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + %111 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %112 = load i8**, i8*** %authors.addr, align 8 + %arrayidx68 = getelementptr inbounds i8*, i8** %112, i64 0 + %113 = load i8*, i8** %arrayidx68, align 8 + %114 = load i8**, i8*** %authors.addr, align 8 + %arrayidx69 = getelementptr inbounds i8*, i8** %114, i64 1 + %115 = load i8*, i8** %arrayidx69, align 8 + %116 = load i8**, i8*** %authors.addr, align 8 + %arrayidx70 = getelementptr inbounds i8*, i8** %116, i64 2 + %117 = load i8*, i8** %arrayidx70, align 8 + %118 = load i8**, i8*** %authors.addr, align 8 + %arrayidx71 = getelementptr inbounds i8*, i8** %118, i64 3 + %119 = load i8*, i8** %arrayidx71, align 8 + %120 = load i8**, i8*** %authors.addr, align 8 + %arrayidx72 = getelementptr inbounds i8*, i8** %120, i64 4 + %121 = load i8*, i8** %arrayidx72, align 8 + %122 = load i8**, i8*** %authors.addr, align 8 + %arrayidx73 = getelementptr inbounds i8*, i8** %122, i64 5 + %123 = load i8*, i8** %arrayidx73, align 8 + %124 = load i8**, i8*** %authors.addr, align 8 + %arrayidx74 = getelementptr inbounds i8*, i8** %124, i64 6 + %125 = load i8*, i8** %arrayidx74, align 8 + %126 = load i8**, i8*** %authors.addr, align 8 + %arrayidx75 = getelementptr inbounds i8*, i8** %126, i64 7 + %127 = load i8*, i8** %arrayidx75, align 8 + %128 = load i8**, i8*** %authors.addr, align 8 + %arrayidx76 = getelementptr inbounds i8*, i8** %128, i64 8 + %129 = load i8*, i8** %arrayidx76, align 8 + %call77 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %111, i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.15.92, i64 0, i64 0), i8* %113, i8* %115, i8* %117, i8* %119, i8* %121, i8* %123, i8* %125, i8* %127, i8* %129) + br label %sw.epilog + +sw.epilog: ; preds = %NodeBlock17, %sw.default, %sw.bb57, %sw.bb47, %sw.bb38, %sw.bb30, %sw.bb23, %sw.bb17, %sw.bb12, %sw.bb8, %sw.bb6 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @xnumtoumax(i8* %n_str, i32 %base, i64 %min, i64 %max, i8* %suffixes, i8* %err, i32 %err_exit) #3 { +entry: + %n_str.addr = alloca i8*, align 8 + %base.addr = alloca i32, align 4 + %min.addr = alloca i64, align 8 + %max.addr = alloca i64, align 8 + %suffixes.addr = alloca i8*, align 8 + %err.addr = alloca i8*, align 8 + %err_exit.addr = alloca i32, align 4 + %s_err = alloca i32, align 4 + %tnum = alloca i64, align 8 + store i8* %n_str, i8** %n_str.addr, align 8 + store i32 %base, i32* %base.addr, align 4 + store i64 %min, i64* %min.addr, align 8 + store i64 %max, i64* %max.addr, align 8 + store i8* %suffixes, i8** %suffixes.addr, align 8 + store i8* %err, i8** %err.addr, align 8 + store i32 %err_exit, i32* %err_exit.addr, align 4 + %0 = load i8*, i8** %n_str.addr, align 8 + %1 = load i32, i32* %base.addr, align 4 + %2 = load i8*, i8** %suffixes.addr, align 8 + %call = call i32 @xstrtoumax(i8* %0, i8** null, i32 %1, i64* %tnum, i8* %2) + store i32 %call, i32* %s_err, align 4 + %3 = load i32, i32* %s_err, align 4 + %cmp = icmp eq i32 %3, 0 + br i1 %cmp, label %if.then, label %if.else9 + +if.then: ; preds = %entry + %4 = load i64, i64* %tnum, align 8 + %5 = load i64, i64* %min.addr, align 8 + %cmp1 = icmp ult i64 %4, %5 + br i1 %cmp1, label %if.then3, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then + %6 = load i64, i64* %max.addr, align 8 + %7 = load i64, i64* %tnum, align 8 + %cmp2 = icmp ult i64 %6, %7 + br i1 %cmp2, label %if.then3, label %if.end19 + +if.then3: ; preds = %lor.lhs.false, %if.then + store i32 1, i32* %s_err, align 4 + %8 = load i64, i64* %tnum, align 8 + %cmp4 = icmp ugt i64 %8, 1073741823 + %call6 = call i32* @__errno_location() #25 + br i1 %cmp4, label %if.then5, label %if.else + +if.then5: ; preds = %if.then3 + store i32 75, i32* %call6, align 4 + br label %if.end19 + +if.else: ; preds = %if.then3 + store i32 34, i32* %call6, align 4 + br label %if.end19 + +if.else9: ; preds = %entry + %9 = load i32, i32* %s_err, align 4 + %cmp10 = icmp eq i32 %9, 1 + br i1 %cmp10, label %if.then11, label %if.else13 + +if.then11: ; preds = %if.else9 + %call12 = call i32* @__errno_location() #25 + store i32 75, i32* %call12, align 4 + br label %if.end19 + +if.else13: ; preds = %if.else9 + %10 = load i32, i32* %s_err, align 4 + %cmp14 = icmp eq i32 %10, 3 + br i1 %cmp14, label %if.then15, label %if.end19 + +if.then15: ; preds = %if.else13 + %call16 = call i32* @__errno_location() #25 + store i32 0, i32* %call16, align 4 + br label %if.end19 + +if.end19: ; preds = %if.then11, %if.then15, %if.else13, %lor.lhs.false, %if.else, %if.then5 + %11 = load i32, i32* %s_err, align 4 + %cmp20 = icmp ne i32 %11, 0 + br i1 %cmp20, label %if.then21, label %if.end30 + +if.then21: ; preds = %if.end19 + %12 = load i32, i32* %err_exit.addr, align 4 + %tobool = icmp ne i32 %12, 0 + %13 = load i32, i32* %err_exit.addr, align 4 + %cond = select i1 %tobool, i32 %13, i32 1 + %call22 = call i32* @__errno_location() #25 + %14 = load i32, i32* %call22, align 4 + %cmp23 = icmp eq i32 %14, 22 + br i1 %cmp23, label %cond.end27, label %cond.false25 + +cond.false25: ; preds = %if.then21 + %call26 = call i32* @__errno_location() #25 + %15 = load i32, i32* %call26, align 4 + br label %cond.end27 + +cond.end27: ; preds = %if.then21, %cond.false25 + %cond28 = phi i32 [ %15, %cond.false25 ], [ 0, %if.then21 ] + %16 = load i8*, i8** %err.addr, align 8 + %17 = load i8*, i8** %n_str.addr, align 8 + %call29 = call i8* @quote(i8* %17) + call void (i32, i32, i8*, ...) @error(i32 %cond, i32 %cond28, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.116, i64 0, i64 0), i8* %16, i8* %call29) + br label %if.end30 + +if.end30: ; preds = %cond.end27, %if.end19 + %18 = load i64, i64* %tnum, align 8 + ret i64 %18 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @xstrtoumax(i8* %s, i8** %ptr, i32 %strtol_base, i64* %val, i8* %valid_suffixes) #3 { +entry: + %retval = alloca i32, align 4 + %s.addr = alloca i8*, align 8 + %ptr.addr = alloca i8**, align 8 + %strtol_base.addr = alloca i32, align 4 + %val.addr = alloca i64*, align 8 + %valid_suffixes.addr = alloca i8*, align 8 + %t_ptr = alloca i8*, align 8 + %p = alloca i8**, align 8 + %tmp = alloca i64, align 8 + %err = alloca i32, align 4 + %q = alloca i8*, align 8 + %ch = alloca i8, align 1 + %base = alloca i32, align 4 + %suffixes = alloca i32, align 4 + %overflow = alloca i32, align 4 + store i8* %s, i8** %s.addr, align 8 + store i8** %ptr, i8*** %ptr.addr, align 8 + store i32 %strtol_base, i32* %strtol_base.addr, align 4 + store i64* %val, i64** %val.addr, align 8 + store i8* %valid_suffixes, i8** %valid_suffixes.addr, align 8 + store i32 0, i32* %err, align 4 + %0 = load i32, i32* %strtol_base.addr, align 4 + %cmp = icmp sle i32 0, %0 + %1 = load i32, i32* %strtol_base.addr, align 4 + %cmp1 = icmp sle i32 %1, 36 + %or.cond = and i1 %cmp, %cmp1 + br i1 %or.cond, label %if.end, label %if.else + +if.else: ; preds = %entry + call void @__assert_fail(i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.121, i64 0, i64 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.1.122, i64 0, i64 0), i32 84, i8* getelementptr inbounds ([79 x i8], [79 x i8]* @__PRETTY_FUNCTION__.xstrtoumax, i64 0, i64 0)) #26 + unreachable + +if.end: ; preds = %entry + %2 = load i8**, i8*** %ptr.addr, align 8 + %tobool = icmp ne i8** %2, null + %3 = load i8**, i8*** %ptr.addr, align 8 + %cond = select i1 %tobool, i8** %3, i8** %t_ptr + store i8** %cond, i8*** %p, align 8 + %call = call i32* @__errno_location() #25 + store i32 0, i32* %call, align 4 + %4 = load i8*, i8** %s.addr, align 8 + store i8* %4, i8** %q, align 8 + %5 = load i8*, i8** %q, align 8 + %6 = load i8, i8* %5, align 1 + store i8 %6, i8* %ch, align 1 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end + %call2 = call i16** @__ctype_b_loc() #25 + %7 = load i16*, i16** %call2, align 8 + %8 = load i8, i8* %ch, align 1 + %conv = zext i8 %8 to i32 + %idxprom = sext i32 %conv to i64 + %arrayidx = getelementptr inbounds i16, i16* %7, i64 %idxprom + %9 = load i16, i16* %arrayidx, align 2 + %conv3 = zext i16 %9 to i32 + %and = and i32 %conv3, 8192 + %tobool4 = icmp ne i32 %and, 0 + br i1 %tobool4, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %10 = load i8*, i8** %q, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %10, i32 1 + store i8* %incdec.ptr, i8** %q, align 8 + %11 = load i8, i8* %incdec.ptr, align 1 + store i8 %11, i8* %ch, align 1 + br label %while.cond + +while.end: ; preds = %while.cond + %12 = load i8, i8* %ch, align 1 + %conv5 = zext i8 %12 to i32 + %cmp6 = icmp eq i32 %conv5, 45 + br i1 %cmp6, label %if.then8, label %if.end9 + +if.then8: ; preds = %while.end + store i32 4, i32* %retval, align 4 + br label %return + +if.end9: ; preds = %while.end + %13 = load i8*, i8** %s.addr, align 8 + %14 = load i8**, i8*** %p, align 8 + %15 = load i32, i32* %strtol_base.addr, align 4 + %call10 = call i64 @strtoumax(i8* %13, i8** %14, i32 %15) #11 + store i64 %call10, i64* %tmp, align 8 + %16 = load i8**, i8*** %p, align 8 + %17 = load i8*, i8** %16, align 8 + %18 = load i8*, i8** %s.addr, align 8 + %cmp11 = icmp eq i8* %17, %18 + br i1 %cmp11, label %if.then13, label %if.else25 + +if.then13: ; preds = %if.end9 + %19 = load i8*, i8** %valid_suffixes.addr, align 8 + %tobool14 = icmp ne i8* %19, null + br i1 %tobool14, label %land.lhs.true15, label %if.else23 + +land.lhs.true15: ; preds = %if.then13 + %20 = load i8**, i8*** %p, align 8 + %21 = load i8*, i8** %20, align 8 + %22 = load i8, i8* %21, align 1 + %conv16 = sext i8 %22 to i32 + %tobool17 = icmp ne i32 %conv16, 0 + br i1 %tobool17, label %land.lhs.true18, label %if.else23 + +land.lhs.true18: ; preds = %land.lhs.true15 + %23 = load i8*, i8** %valid_suffixes.addr, align 8 + %24 = load i8**, i8*** %p, align 8 + %25 = load i8*, i8** %24, align 8 + %26 = load i8, i8* %25, align 1 + %conv19 = sext i8 %26 to i32 + %call20 = call i8* @strchr(i8* %23, i32 %conv19) #23 + %tobool21 = icmp ne i8* %call20, null + br i1 %tobool21, label %if.then22, label %if.else23 + +if.then22: ; preds = %land.lhs.true18 + store i64 1, i64* %tmp, align 8 + br label %if.end36 + +if.else23: ; preds = %land.lhs.true18, %land.lhs.true15, %if.then13 + store i32 4, i32* %retval, align 4 + br label %return + +if.else25: ; preds = %if.end9 + %call26 = call i32* @__errno_location() #25 + %27 = load i32, i32* %call26, align 4 + %cmp27 = icmp ne i32 %27, 0 + br i1 %cmp27, label %if.then29, label %if.end36 + +if.then29: ; preds = %if.else25 + %call30 = call i32* @__errno_location() #25 + %28 = load i32, i32* %call30, align 4 + %cmp31 = icmp ne i32 %28, 34 + br i1 %cmp31, label %if.then33, label %if.end34 + +if.then33: ; preds = %if.then29 + store i32 4, i32* %retval, align 4 + br label %return + +if.end34: ; preds = %if.then29 + store i32 1, i32* %err, align 4 + br label %if.end36 + +if.end36: ; preds = %if.else25, %if.end34, %if.then22 + %29 = load i8*, i8** %valid_suffixes.addr, align 8 + %tobool37 = icmp ne i8* %29, null + br i1 %tobool37, label %if.end39, label %if.then38 + +if.then38: ; preds = %if.end36 + %30 = load i64, i64* %tmp, align 8 + %31 = load i64*, i64** %val.addr, align 8 + store i64 %30, i64* %31, align 8 + %32 = load i32, i32* %err, align 4 + store i32 %32, i32* %retval, align 4 + br label %return + +if.end39: ; preds = %if.end36 + %33 = load i8**, i8*** %p, align 8 + %34 = load i8*, i8** %33, align 8 + %35 = load i8, i8* %34, align 1 + %conv40 = sext i8 %35 to i32 + %cmp41 = icmp ne i32 %conv40, 0 + br i1 %cmp41, label %if.then43, label %if.end98 + +if.then43: ; preds = %if.end39 + store i32 1024, i32* %base, align 4 + store i32 1, i32* %suffixes, align 4 + %36 = load i8*, i8** %valid_suffixes.addr, align 8 + %37 = load i8**, i8*** %p, align 8 + %38 = load i8*, i8** %37, align 8 + %39 = load i8, i8* %38, align 1 + %conv44 = sext i8 %39 to i32 + %call45 = call i8* @strchr(i8* %36, i32 %conv44) #23 + %tobool46 = icmp ne i8* %call45, null + br i1 %tobool46, label %if.end48, label %if.then47 + +if.then47: ; preds = %if.then43 + %40 = load i64, i64* %tmp, align 8 + %41 = load i64*, i64** %val.addr, align 8 + store i64 %40, i64* %41, align 8 + %42 = load i32, i32* %err, align 4 + %or = or i32 %42, 2 + store i32 %or, i32* %retval, align 4 + br label %return + +if.end48: ; preds = %if.then43 + %43 = load i8**, i8*** %p, align 8 + %44 = load i8*, i8** %43, align 8 + %45 = load i8, i8* %44, align 1 + %conv49 = sext i8 %45 to i32 + br label %NodeBlock21 + +NodeBlock21: ; preds = %if.end48 + %case.cmp22 = icmp eq i32 %conv49, 69 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %conv49, 71 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %conv49, 103 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %conv49, 107 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %conv49, 75 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %conv49, 77 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %conv49, 109 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %conv49, 80 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %conv49, 84 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %conv49, 116 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %conv49, 89 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %conv49, 90 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + %46 = load i8*, i8** %valid_suffixes.addr, align 8 + %call50 = call i8* @strchr(i8* %46, i32 48) #23 + %tobool51 = icmp ne i8* %call50, null + br i1 %tobool51, label %if.then52, label %sw.epilog66 + +if.then52: ; preds = %sw.bb + %47 = load i8**, i8*** %p, align 8 + %arrayidx53 = getelementptr inbounds i8*, i8** %47, i64 0 + %48 = load i8*, i8** %arrayidx53, align 8 + %arrayidx54 = getelementptr inbounds i8, i8* %48, i64 1 + %49 = load i8, i8* %arrayidx54, align 1 + %conv55 = sext i8 %49 to i32 + br label %NodeBlock28 + +NodeBlock28: ; preds = %if.then52 + %case.cmp29 = icmp eq i32 %conv55, 105 + br i1 %case.cmp29, label %sw.bb56, label %NodeBlock26 + +NodeBlock26: ; preds = %NodeBlock28 + %case.cmp27 = icmp eq i32 %conv55, 66 + br i1 %case.cmp27, label %sw.bb64, label %NodeBlock24 + +NodeBlock24: ; preds = %NodeBlock26 + %case.cmp25 = icmp eq i32 %conv55, 68 + br i1 %case.cmp25, label %sw.bb64, label %newDefault23 + +sw.bb56: ; preds = %NodeBlock28 + %50 = load i8**, i8*** %p, align 8 + %arrayidx57 = getelementptr inbounds i8*, i8** %50, i64 0 + %51 = load i8*, i8** %arrayidx57, align 8 + %arrayidx58 = getelementptr inbounds i8, i8* %51, i64 2 + %52 = load i8, i8* %arrayidx58, align 1 + %conv59 = sext i8 %52 to i32 + %cmp60 = icmp eq i32 %conv59, 66 + br i1 %cmp60, label %if.then62, label %sw.epilog66 + +if.then62: ; preds = %sw.bb56 + %53 = load i32, i32* %suffixes, align 4 + %add = add nsw i32 %53, 2 + store i32 %add, i32* %suffixes, align 4 + br label %sw.epilog66 + +sw.bb64: ; preds = %NodeBlock26, %NodeBlock24 + store i32 1000, i32* %base, align 4 + %54 = load i32, i32* %suffixes, align 4 + %inc = add nsw i32 %54, 1 + store i32 %inc, i32* %suffixes, align 4 + br label %sw.epilog66 + +newDefault: ; preds = %NodeBlock + br label %sw.epilog66 + +newDefault23: ; preds = %NodeBlock24 + br label %sw.epilog66 + +sw.epilog66: ; preds = %newDefault23, %newDefault, %sw.bb, %sw.bb56, %if.then62, %sw.bb64 + %55 = load i8**, i8*** %p, align 8 + %56 = load i8*, i8** %55, align 8 + %57 = load i8, i8* %56, align 1 + %conv67 = sext i8 %57 to i32 + br label %NodeBlock61 + +NodeBlock61: ; preds = %sw.epilog66 + %case.cmp62 = icmp eq i32 %conv67, 98 + br i1 %case.cmp62, label %sw.bb68, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %conv67, 66 + br i1 %case.cmp60, label %sw.bb70, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %conv67, 99 + br i1 %case.cmp58, label %sw.bb72, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %conv67, 69 + br i1 %case.cmp56, label %sw.bb73, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %conv67, 71 + br i1 %case.cmp54, label %sw.bb75, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %conv67, 103 + br i1 %case.cmp52, label %sw.bb75, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %conv67, 107 + br i1 %case.cmp50, label %sw.bb77, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %conv67, 75 + br i1 %case.cmp48, label %sw.bb77, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %conv67, 77 + br i1 %case.cmp46, label %sw.bb79, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %conv67, 109 + br i1 %case.cmp44, label %sw.bb79, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %conv67, 80 + br i1 %case.cmp42, label %sw.bb81, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %conv67, 84 + br i1 %case.cmp40, label %sw.bb83, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %conv67, 116 + br i1 %case.cmp38, label %sw.bb83, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %conv67, 119 + br i1 %case.cmp36, label %sw.bb85, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %conv67, 89 + br i1 %case.cmp34, label %sw.bb87, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %conv67, 90 + br i1 %case.cmp32, label %sw.bb89, label %newDefault30 + +sw.bb68: ; preds = %NodeBlock61 + %call69 = call i32 @bkm_scale(i64* %tmp, i32 512) + store i32 %call69, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb70: ; preds = %NodeBlock59 + %call71 = call i32 @bkm_scale(i64* %tmp, i32 1024) + store i32 %call71, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb72: ; preds = %NodeBlock57 + store i32 0, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb73: ; preds = %NodeBlock55 + %58 = load i32, i32* %base, align 4 + %call74 = call i32 @bkm_scale_by_power(i64* %tmp, i32 %58, i32 6) + store i32 %call74, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb75: ; preds = %NodeBlock53, %NodeBlock51 + %59 = load i32, i32* %base, align 4 + %call76 = call i32 @bkm_scale_by_power(i64* %tmp, i32 %59, i32 3) + store i32 %call76, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb77: ; preds = %NodeBlock49, %NodeBlock47 + %60 = load i32, i32* %base, align 4 + %call78 = call i32 @bkm_scale_by_power(i64* %tmp, i32 %60, i32 1) + store i32 %call78, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb79: ; preds = %NodeBlock45, %NodeBlock43 + %61 = load i32, i32* %base, align 4 + %call80 = call i32 @bkm_scale_by_power(i64* %tmp, i32 %61, i32 2) + store i32 %call80, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb81: ; preds = %NodeBlock41 + %62 = load i32, i32* %base, align 4 + %call82 = call i32 @bkm_scale_by_power(i64* %tmp, i32 %62, i32 5) + store i32 %call82, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb83: ; preds = %NodeBlock39, %NodeBlock37 + %63 = load i32, i32* %base, align 4 + %call84 = call i32 @bkm_scale_by_power(i64* %tmp, i32 %63, i32 4) + store i32 %call84, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb85: ; preds = %NodeBlock35 + %call86 = call i32 @bkm_scale(i64* %tmp, i32 2) + store i32 %call86, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb87: ; preds = %NodeBlock33 + %64 = load i32, i32* %base, align 4 + %call88 = call i32 @bkm_scale_by_power(i64* %tmp, i32 %64, i32 8) + store i32 %call88, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb89: ; preds = %NodeBlock31 + %65 = load i32, i32* %base, align 4 + %call90 = call i32 @bkm_scale_by_power(i64* %tmp, i32 %65, i32 7) + store i32 %call90, i32* %overflow, align 4 + br label %sw.epilog92 + +newDefault30: ; preds = %NodeBlock31 + br label %sw.default + +sw.default: ; preds = %newDefault30 + %66 = load i64, i64* %tmp, align 8 + %67 = load i64*, i64** %val.addr, align 8 + store i64 %66, i64* %67, align 8 + %68 = load i32, i32* %err, align 4 + %or91 = or i32 %68, 2 + store i32 %or91, i32* %retval, align 4 + br label %return + +sw.epilog92: ; preds = %sw.bb89, %sw.bb87, %sw.bb85, %sw.bb83, %sw.bb81, %sw.bb79, %sw.bb77, %sw.bb75, %sw.bb73, %sw.bb72, %sw.bb70, %sw.bb68 + %69 = load i32, i32* %overflow, align 4 + %70 = load i32, i32* %err, align 4 + %or93 = or i32 %70, %69 + store i32 %or93, i32* %err, align 4 + %71 = load i32, i32* %suffixes, align 4 + %72 = load i8**, i8*** %p, align 8 + %73 = load i8*, i8** %72, align 8 + %idx.ext = sext i32 %71 to i64 + %add.ptr = getelementptr inbounds i8, i8* %73, i64 %idx.ext + store i8* %add.ptr, i8** %72, align 8 + %74 = load i8**, i8*** %p, align 8 + %75 = load i8*, i8** %74, align 8 + %76 = load i8, i8* %75, align 1 + %tobool94 = icmp ne i8 %76, 0 + br i1 %tobool94, label %if.then95, label %if.end98 + +if.then95: ; preds = %sw.epilog92 + %77 = load i32, i32* %err, align 4 + %or96 = or i32 %77, 2 + store i32 %or96, i32* %err, align 4 + br label %if.end98 + +if.end98: ; preds = %sw.epilog92, %if.then95, %if.end39 + %78 = load i64, i64* %tmp, align 8 + %79 = load i64*, i64** %val.addr, align 8 + store i64 %78, i64* %79, align 8 + %80 = load i32, i32* %err, align 4 + store i32 %80, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end98, %sw.default, %if.then47, %if.then38, %if.then33, %if.else23, %if.then8 + %81 = load i32, i32* %retval, align 4 + ret i32 %81 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote(i8* %arg) #3 { +entry: + %arg.addr = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quote_n(i32 0, i8* %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote_n(i32 %n, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quote_n_mem(i32 %0, i8* %1, i64 -1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote_n_mem(i32 %n, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %2 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %0, i8* %1, i64 %2, %struct.quoting_options* @quote_quoting_options) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @bkm_scale(i64* %x, i32 %scale_factor) #3 { +entry: + %retval = alloca i32, align 4 + %x.addr = alloca i64*, align 8 + %scale_factor.addr = alloca i32, align 4 + store i64* %x, i64** %x.addr, align 8 + store i32 %scale_factor, i32* %scale_factor.addr, align 4 + %0 = load i32, i32* %scale_factor.addr, align 4 + %conv = sext i32 %0 to i64 + %div = udiv i64 -1, %conv + %1 = load i64*, i64** %x.addr, align 8 + %2 = load i64, i64* %1, align 8 + %cmp = icmp ult i64 %div, %2 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %3 = load i64*, i64** %x.addr, align 8 + store i64 -1, i64* %3, align 8 + store i32 1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %4 = load i32, i32* %scale_factor.addr, align 4 + %conv2 = sext i32 %4 to i64 + %5 = load i64*, i64** %x.addr, align 8 + %6 = load i64, i64* %5, align 8 + %mul = mul i64 %6, %conv2 + store i64 %mul, i64* %5, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %7 = load i32, i32* %retval, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @bkm_scale_by_power(i64* %x, i32 %base, i32 %power) #3 { +entry: + %x.addr = alloca i64*, align 8 + %base.addr = alloca i32, align 4 + %power.addr = alloca i32, align 4 + %err = alloca i32, align 4 + store i64* %x, i64** %x.addr, align 8 + store i32 %base, i32* %base.addr, align 4 + store i32 %power, i32* %power.addr, align 4 + store i32 0, i32* %err, align 4 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %0 = load i32, i32* %power.addr, align 4 + %dec = add nsw i32 %0, -1 + store i32 %dec, i32* %power.addr, align 4 + %tobool = icmp ne i32 %0, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %1 = load i64*, i64** %x.addr, align 8 + %2 = load i32, i32* %base.addr, align 4 + %call = call i32 @bkm_scale(i64* %1, i32 %2) + %3 = load i32, i32* %err, align 4 + %or = or i32 %3, %call + store i32 %or, i32* %err, align 4 + br label %while.cond + +while.end: ; preds = %while.cond + %4 = load i32, i32* %err, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @close_stream(%struct._IO_FILE* %stream) #3 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct._IO_FILE*, align 8 + %some_pending = alloca i8, align 1 + %prev_fail = alloca i8, align 1 + %fclose_fail = alloca i8, align 1 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.513*)* @__fpending to i64 (%struct._IO_FILE*)*)(%struct._IO_FILE* %0) #11 + %cmp = icmp ne i64 %call, 0 + %frombool = zext i1 %cmp to i8 + store i8 %frombool, i8* %some_pending, align 1 + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call1 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.592*)* @ferror_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %1) #11 + %cmp2 = icmp ne i32 %call1, 0 + %frombool3 = zext i1 %cmp2 to i8 + store i8 %frombool3, i8* %prev_fail, align 1 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call4 = call i32 @rpl_fclose(%struct._IO_FILE* %2) + %cmp5 = icmp ne i32 %call4, 0 + %frombool6 = zext i1 %cmp5 to i8 + store i8 %frombool6, i8* %fclose_fail, align 1 + %3 = load i8, i8* %prev_fail, align 1 + %tobool = trunc i8 %3 to i1 + br i1 %tobool, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %4 = load i8, i8* %fclose_fail, align 1 + %tobool7 = trunc i8 %4 to i1 + br i1 %tobool7, label %land.lhs.true, label %if.end15 + +land.lhs.true: ; preds = %lor.lhs.false + %5 = load i8, i8* %some_pending, align 1 + %tobool8 = trunc i8 %5 to i1 + br i1 %tobool8, label %if.then, label %lor.lhs.false9 + +lor.lhs.false9: ; preds = %land.lhs.true + %call10 = call i32* @__errno_location() #25 + %6 = load i32, i32* %call10, align 4 + %cmp11 = icmp ne i32 %6, 9 + br i1 %cmp11, label %if.then, label %if.end15 + +if.then: ; preds = %lor.lhs.false9, %land.lhs.true, %entry + %7 = load i8, i8* %fclose_fail, align 1 + %tobool12 = trunc i8 %7 to i1 + br i1 %tobool12, label %if.end, label %if.then13 + +if.then13: ; preds = %if.then + %call14 = call i32* @__errno_location() #25 + store i32 0, i32* %call14, align 4 + br label %if.end + +if.end: ; preds = %if.then13, %if.then + store i32 -1, i32* %retval, align 4 + br label %return + +if.end15: ; preds = %lor.lhs.false9, %lor.lhs.false + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end15, %if.end + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_colon(i8* %arg) #3 { +entry: + %arg.addr = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_char(i8* %0, i8 signext 58) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_char(i8* %arg, i8 signext %ch) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %ch.addr = alloca i8, align 1 + store i8* %arg, i8** %arg.addr, align 8 + store i8 %ch, i8* %ch.addr, align 1 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i8, i8* %ch.addr, align 1 + %call = call i8* @quotearg_char_mem(i8* %0, i64 -1, i8 signext %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_char_mem(i8* %arg, i64 %argsize, i8 signext %ch) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %ch.addr = alloca i8, align 1 + %options = alloca %struct.quoting_options, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store i8 %ch, i8* %ch.addr, align 1 + %0 = bitcast %struct.quoting_options* %options to i8* + %1 = call i8* @memcpy(i8* %0, i8* bitcast (%struct.quoting_options* @default_quoting_options to i8*), i64 56) + %2 = load i8, i8* %ch.addr, align 1 + %call = call i32 @set_char_quoting(%struct.quoting_options* %options, i8 signext %2, i32 1) + %3 = load i8*, i8** %arg.addr, align 8 + %4 = load i64, i64* %argsize.addr, align 8 + %call1 = call i8* @quotearg_n_options(i32 0, i8* %3, i64 %4, %struct.quoting_options* %options) + ret i8* %call1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @close_stdout_set_file_name(i8* %file) #3 { +entry: + %file.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + store i8* %0, i8** @file_name, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @close_stdout_set_ignore_EPIPE(i1 zeroext %ignore) #3 { +entry: + %ignore.addr = alloca i8, align 1 + %frombool = zext i1 %ignore to i8 + store i8 %frombool, i8* %ignore.addr, align 1 + %0 = load i8, i8* %ignore.addr, align 1 + %tobool = trunc i8 %0 to i1 + %frombool1 = zext i1 %tobool to i8 + store i8 %frombool1, i8* @ignore_EPIPE, align 1 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local %struct.quoting_options* @clone_quoting_options(%struct.quoting_options* %o) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %p = alloca %struct.quoting_options*, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %call = call i32* @__errno_location() #25 + %0 = load i32, i32* %call, align 4 + store i32 %0, i32* %e, align 4 + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %1, null + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %2, %struct.quoting_options* @default_quoting_options + %3 = bitcast %struct.quoting_options* %cond to i8* + %call1 = call i8* @xmemdup(i8* %3, i64 56) + %4 = bitcast i8* %call1 to %struct.quoting_options* + store %struct.quoting_options* %4, %struct.quoting_options** %p, align 8 + %5 = load i32, i32* %e, align 4 + %call2 = call i32* @__errno_location() #25 + store i32 %5, i32* %call2, align 4 + %6 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + ret %struct.quoting_options* %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @xmemdup(i8* %p, i64 %s) #3 { +entry: + %p.addr = alloca i8*, align 8 + %s.addr = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %call = call noalias i8* @xmalloc(i64 %0) + %1 = load i8*, i8** %p.addr, align 8 + %2 = load i64, i64* %s.addr, align 8 + %3 = call i8* @memcpy(i8* %call, i8* %1, i64 %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @get_quoting_style(%struct.quoting_options* %o) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %1, %struct.quoting_options* @default_quoting_options + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %cond, i32 0, i32 0 + %2 = load i32, i32* %style, align 8 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_quoting_style(%struct.quoting_options* %o, i32 %s) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %s.addr = alloca i32, align 4 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i32 %s, i32* %s.addr, align 4 + %0 = load i32, i32* %s.addr, align 4 + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %1, null + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %2, %struct.quoting_options* @default_quoting_options + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %cond, i32 0, i32 0 + store i32 %0, i32* %style, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @set_quoting_flags(%struct.quoting_options* %o, i32 %i) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %i.addr = alloca i32, align 4 + %r = alloca i32, align 4 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i32 %i, i32* %i.addr, align 4 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store %struct.quoting_options* @default_quoting_options, %struct.quoting_options** %o.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %flags = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %1, i32 0, i32 1 + %2 = load i32, i32* %flags, align 4 + store i32 %2, i32* %r, align 4 + %3 = load i32, i32* %i.addr, align 4 + %4 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %flags1 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %4, i32 0, i32 1 + store i32 %3, i32* %flags1, align 4 + %5 = load i32, i32* %r, align 4 + ret i32 %5 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_custom_quoting(%struct.quoting_options* %o, i8* %left_quote, i8* %right_quote) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store %struct.quoting_options* @default_quoting_options, %struct.quoting_options** %o.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %1, i32 0, i32 0 + store i32 10, i32* %style, align 8 + %2 = load i8*, i8** %left_quote.addr, align 8 + %tobool1 = icmp ne i8* %2, null + %3 = load i8*, i8** %right_quote.addr, align 8 + %tobool2 = icmp ne i8* %3, null + %or.cond = and i1 %tobool1, %tobool2 + br i1 %or.cond, label %if.end4, label %if.then3 + +if.then3: ; preds = %if.end + call void @abort() #26 + unreachable + +if.end4: ; preds = %if.end + %4 = load i8*, i8** %left_quote.addr, align 8 + %5 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %left_quote5 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %5, i32 0, i32 3 + store i8* %4, i8** %left_quote5, align 8 + %6 = load i8*, i8** %right_quote.addr, align 8 + %7 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %right_quote6 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %7, i32 0, i32 4 + store i8* %6, i8** %right_quote6, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @quotearg_buffer(i8* %buffer, i64 %buffersize, i8* %arg, i64 %argsize, %struct.quoting_options* %o) #3 { +entry: + %buffer.addr = alloca i8*, align 8 + %buffersize.addr = alloca i64, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o.addr = alloca %struct.quoting_options*, align 8 + %p = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %r = alloca i64, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %buffersize, i64* %buffersize.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %1, %struct.quoting_options* @default_quoting_options + store %struct.quoting_options* %cond, %struct.quoting_options** %p, align 8 + %call = call i32* @__errno_location() #25 + %2 = load i32, i32* %call, align 4 + store i32 %2, i32* %e, align 4 + %3 = load i8*, i8** %buffer.addr, align 8 + %4 = load i64, i64* %buffersize.addr, align 8 + %5 = load i8*, i8** %arg.addr, align 8 + %6 = load i64, i64* %argsize.addr, align 8 + %7 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %7, i32 0, i32 0 + %8 = load i32, i32* %style, align 8 + %9 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %flags = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %9, i32 0, i32 1 + %10 = load i32, i32* %flags, align 4 + %11 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %11, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %12 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %left_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %12, i32 0, i32 3 + %13 = load i8*, i8** %left_quote, align 8 + %14 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %right_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %14, i32 0, i32 4 + %15 = load i8*, i8** %right_quote, align 8 + %call1 = call i64 @quotearg_buffer_restyled(i8* %3, i64 %4, i8* %5, i64 %6, i32 %8, i32 %10, i32* %arraydecay, i8* %13, i8* %15) + store i64 %call1, i64* %r, align 8 + %16 = load i32, i32* %e, align 4 + %call2 = call i32* @__errno_location() #25 + store i32 %16, i32* %call2, align 4 + %17 = load i64, i64* %r, align 8 + ret i64 %17 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_alloc(i8* %arg, i64 %argsize, %struct.quoting_options* %o) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o.addr = alloca %struct.quoting_options*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %call = call i8* @quotearg_alloc_mem(i8* %0, i64 %1, i64* null, %struct.quoting_options* %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_alloc_mem(i8* %arg, i64 %argsize, i64* %size, %struct.quoting_options* %o) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %size.addr = alloca i64*, align 8 + %o.addr = alloca %struct.quoting_options*, align 8 + %p = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %flags = alloca i32, align 4 + %bufsize = alloca i64, align 8 + %buf = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store i64* %size, i64** %size.addr, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %1, %struct.quoting_options* @default_quoting_options + store %struct.quoting_options* %cond, %struct.quoting_options** %p, align 8 + %call = call i32* @__errno_location() #25 + %2 = load i32, i32* %call, align 4 + store i32 %2, i32* %e, align 4 + %3 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %flags1 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %3, i32 0, i32 1 + %4 = load i32, i32* %flags1, align 4 + %5 = load i64*, i64** %size.addr, align 8 + %tobool2 = icmp ne i64* %5, null + %6 = zext i1 %tobool2 to i64 + %cond3 = select i1 %tobool2, i32 0, i32 1 + %or = or i32 %4, %cond3 + store i32 %or, i32* %flags, align 4 + %7 = load i8*, i8** %arg.addr, align 8 + %8 = load i64, i64* %argsize.addr, align 8 + %9 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %9, i32 0, i32 0 + %10 = load i32, i32* %style, align 8 + %11 = load i32, i32* %flags, align 4 + %12 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %12, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %13 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %left_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %13, i32 0, i32 3 + %14 = load i8*, i8** %left_quote, align 8 + %15 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %right_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %15, i32 0, i32 4 + %16 = load i8*, i8** %right_quote, align 8 + %call4 = call i64 @quotearg_buffer_restyled(i8* null, i64 0, i8* %7, i64 %8, i32 %10, i32 %11, i32* %arraydecay, i8* %14, i8* %16) + %add = add i64 %call4, 1 + store i64 %add, i64* %bufsize, align 8 + %17 = load i64, i64* %bufsize, align 8 + %call5 = call noalias i8* @xcharalloc(i64 %17) + store i8* %call5, i8** %buf, align 8 + %18 = load i8*, i8** %buf, align 8 + %19 = load i64, i64* %bufsize, align 8 + %20 = load i8*, i8** %arg.addr, align 8 + %21 = load i64, i64* %argsize.addr, align 8 + %22 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %style6 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %22, i32 0, i32 0 + %23 = load i32, i32* %style6, align 8 + %24 = load i32, i32* %flags, align 4 + %25 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %quote_these_too7 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %25, i32 0, i32 2 + %arraydecay8 = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too7, i64 0, i64 0 + %26 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %left_quote9 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %26, i32 0, i32 3 + %27 = load i8*, i8** %left_quote9, align 8 + %28 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %right_quote10 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %28, i32 0, i32 4 + %29 = load i8*, i8** %right_quote10, align 8 + %call11 = call i64 @quotearg_buffer_restyled(i8* %18, i64 %19, i8* %20, i64 %21, i32 %23, i32 %24, i32* %arraydecay8, i8* %27, i8* %29) + %30 = load i32, i32* %e, align 4 + %call12 = call i32* @__errno_location() #25 + store i32 %30, i32* %call12, align 4 + %31 = load i64*, i64** %size.addr, align 8 + %tobool13 = icmp ne i64* %31, null + br i1 %tobool13, label %if.then, label %if.end + +if.then: ; preds = %entry + %32 = load i64, i64* %bufsize, align 8 + %sub = sub i64 %32, 1 + %33 = load i64*, i64** %size.addr, align 8 + store i64 %sub, i64* %33, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %34 = load i8*, i8** %buf, align 8 + ret i8* %34 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @quotearg_free() #3 { +entry: + %sv = alloca %struct.slotvec*, align 8 + %i = alloca i32, align 4 + %0 = load %struct.slotvec*, %struct.slotvec** @slotvec, align 8 + store %struct.slotvec* %0, %struct.slotvec** %sv, align 8 + store i32 1, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %1 = load i32, i32* %i, align 4 + %2 = load i32, i32* @nslots, align 4 + %cmp = icmp slt i32 %1, %2 + %3 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %4 = load i32, i32* %i, align 4 + %idxprom = sext i32 %4 to i64 + %arrayidx = getelementptr inbounds %struct.slotvec, %struct.slotvec* %3, i64 %idxprom + %val = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx, i32 0, i32 1 + %5 = load i8*, i8** %val, align 8 + call void @free(i8* %5) #11 + %6 = load i32, i32* %i, align 4 + %inc = add nsw i32 %6, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %arrayidx1 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %3, i64 0 + %val2 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx1, i32 0, i32 1 + %7 = load i8*, i8** %val2, align 8 + %cmp3 = icmp ne i8* %7, getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i64 0, i64 0) + br i1 %cmp3, label %if.then, label %if.end + +if.then: ; preds = %for.end + %8 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %arrayidx4 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %8, i64 0 + %val5 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx4, i32 0, i32 1 + %9 = load i8*, i8** %val5, align 8 + call void @free(i8* %9) #11 + store i64 256, i64* getelementptr inbounds (%struct.slotvec, %struct.slotvec* @slotvec0, i32 0, i32 0), align 8 + store i8* getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i64 0, i64 0), i8** getelementptr inbounds (%struct.slotvec, %struct.slotvec* @slotvec0, i32 0, i32 1), align 8 + br label %if.end + +if.end: ; preds = %if.then, %for.end + %10 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %cmp6 = icmp ne %struct.slotvec* %10, @slotvec0 + br i1 %cmp6, label %if.then7, label %if.end8 + +if.then7: ; preds = %if.end + %11 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %12 = bitcast %struct.slotvec* %11 to i8* + call void @free(i8* %12) #11 + store %struct.slotvec* @slotvec0, %struct.slotvec** @slotvec, align 8 + br label %if.end8 + +if.end8: ; preds = %if.then7, %if.end + store i32 1, i32* @nslots, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n(i32 %n, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %0, i8* %1, i64 -1, %struct.quoting_options* @default_quoting_options) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_mem(i32 %n, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %2 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %0, i8* %1, i64 %2, %struct.quoting_options* @default_quoting_options) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg(i8* %arg) #3 { +entry: + %arg.addr = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n(i32 0, i8* %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_mem(i8* %arg, i64 %argsize) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_mem(i32 0, i8* %0, i64 %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_style(i32 %n, i32 %s, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %o = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + call void @quoting_options_from_style(%struct.quoting_options* sret align 8 %o, i32 %0) + %1 = load i32, i32* %n.addr, align 4 + %2 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %1, i8* %2, i64 -1, %struct.quoting_options* %o) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_style_mem(i32 %n, i32 %s, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + call void @quoting_options_from_style(%struct.quoting_options* sret align 8 %o, i32 %0) + %1 = load i32, i32* %n.addr, align 4 + %2 = load i8*, i8** %arg.addr, align 8 + %3 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %1, i8* %2, i64 %3, %struct.quoting_options* %o) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_style(i32 %s, i8* %arg) #3 { +entry: + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_style(i32 0, i32 %0, i8* %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_style_mem(i32 %s, i8* %arg, i64 %argsize) #3 { +entry: + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %2 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_style_mem(i32 0, i32 %0, i8* %1, i64 %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_colon_mem(i8* %arg, i64 %argsize) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_char_mem(i8* %0, i64 %1, i8 signext 58) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_custom(i32 %n, i8* %left_quote, i8* %right_quote, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %left_quote.addr, align 8 + %2 = load i8*, i8** %right_quote.addr, align 8 + %3 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_custom_mem(i32 %0, i8* %1, i8* %2, i8* %3, i64 -1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_custom_mem(i32 %n, i8* %left_quote, i8* %right_quote, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = bitcast %struct.quoting_options* %o to i8* + %1 = call i8* @memcpy(i8* %0, i8* bitcast (%struct.quoting_options* @default_quoting_options to i8*), i64 56) + %2 = load i8*, i8** %left_quote.addr, align 8 + %3 = load i8*, i8** %right_quote.addr, align 8 + call void @set_custom_quoting(%struct.quoting_options* %o, i8* %2, i8* %3) + %4 = load i32, i32* %n.addr, align 4 + %5 = load i8*, i8** %arg.addr, align 8 + %6 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %4, i8* %5, i64 %6, %struct.quoting_options* %o) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_custom(i8* %left_quote, i8* %right_quote, i8* %arg) #3 { +entry: + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %left_quote.addr, align 8 + %1 = load i8*, i8** %right_quote.addr, align 8 + %2 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_custom(i32 0, i8* %0, i8* %1, i8* %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_custom_mem(i8* %left_quote, i8* %right_quote, i8* %arg, i64 %argsize) #3 { +entry: + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %left_quote.addr, align 8 + %1 = load i8*, i8** %right_quote.addr, align 8 + %2 = load i8*, i8** %arg.addr, align 8 + %3 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_custom_mem(i32 0, i8* %0, i8* %1, i8* %2, i64 %3) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote_mem(i8* %arg, i64 %argsize) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quote_n_mem(i32 0, i8* %0, i64 %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc_ar(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, i8** %authors) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors.addr = alloca i8**, align 8 + %n_authors = alloca i64, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + store i8** %authors, i8*** %authors.addr, align 8 + store i64 0, i64* %n_authors, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i8**, i8*** %authors.addr, align 8 + %1 = load i64, i64* %n_authors, align 8 + %arrayidx = getelementptr inbounds i8*, i8** %0, i64 %1 + %2 = load i8*, i8** %arrayidx, align 8 + %tobool = icmp ne i8* %2, null + br i1 %tobool, label %for.inc, label %for.end + +for.inc: ; preds = %for.cond + %3 = load i64, i64* %n_authors, align 8 + %inc = add i64 %3, 1 + store i64 %inc, i64* %n_authors, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %5 = load i8*, i8** %command_name.addr, align 8 + %6 = load i8*, i8** %package.addr, align 8 + %7 = load i8*, i8** %version.addr, align 8 + %8 = load i8**, i8*** %authors.addr, align 8 + %9 = load i64, i64* %n_authors, align 8 + call void @version_etc_arn(%struct._IO_FILE* %4, i8* %5, i8* %6, i8* %7, i8** %8, i64 %9) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @emit_bug_reporting_address() #3 { +entry: + %0 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.80, i64 0, i64 0), %struct._IO_FILE* %0) + %call1 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.16.95, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.17.96, i64 0, i64 0)) + %call2 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.18.97, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.19.98, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.20.99, i64 0, i64 0)) + %call3 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.21.100, i64 0, i64 0), i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.22.101, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xnmalloc(i64 %n, i64 %s) #3 { +entry: + %n.addr = alloca i64, align 8 + %s.addr = alloca i64, align 8 + store i64 %n, i64* %n.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %div = udiv i64 9223372036854775807, %0 + %1 = load i64, i64* %n.addr, align 8 + %cmp = icmp ult i64 %div, %1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %entry + %2 = load i64, i64* %n.addr, align 8 + %3 = load i64, i64* %s.addr, align 8 + %mul = mul i64 %2, %3 + %call = call noalias i8* @xmalloc(i64 %mul) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @xnrealloc(i8* %p, i64 %n, i64 %s) #3 { +entry: + %p.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %s.addr = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %div = udiv i64 9223372036854775807, %0 + %1 = load i64, i64* %n.addr, align 8 + %cmp = icmp ult i64 %div, %1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %p.addr, align 8 + %3 = load i64, i64* %n.addr, align 8 + %4 = load i64, i64* %s.addr, align 8 + %mul = mul i64 %3, %4 + %call = call i8* @xrealloc(i8* %2, i64 %mul) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xzalloc(i64 %n) #3 { +entry: + %n.addr = alloca i64, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @xcalloc(i64 %0, i64 1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xcalloc(i64 %n, i64 %s) #3 { +entry: + %n.addr = alloca i64, align 8 + %s.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i64 %n, i64* %n.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %div = udiv i64 9223372036854775807, %0 + %1 = load i64, i64* %n.addr, align 8 + %cmp = icmp ult i64 %div, %1 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load i64, i64* %n.addr, align 8 + %3 = load i64, i64* %s.addr, align 8 + %call = call noalias i8* @calloc(i64 %2, i64 %3) #11 + store i8* %call, i8** %p, align 8 + %tobool = icmp ne i8* %call, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %lor.lhs.false, %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %lor.lhs.false + %4 = load i8*, i8** %p, align 8 + ret i8* %4 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xstrdup(i8* %string) #3 { +entry: + %string.addr = alloca i8*, align 8 + store i8* %string, i8** %string.addr, align 8 + %0 = load i8*, i8** %string.addr, align 8 + %1 = load i8*, i8** %string.addr, align 8 + %call = call i64 @strlen(i8* %1) #23 + %add = add i64 %call, 1 + %call1 = call i8* @xmemdup(i8* %0, i64 %add) + ret i8* %call1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @setlocale_null(i32 %category) #3 { +entry: + %category.addr = alloca i32, align 4 + store i32 %category, i32* %category.addr, align 4 + %0 = load i32, i32* %category.addr, align 4 + %call = call i8* @setlocale_null_androidfix(i32 %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isalnum(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock121 + +NodeBlock121: ; preds = %entry + %case.cmp122 = icmp eq i32 %0, 48 + br i1 %case.cmp122, label %sw.bb, label %NodeBlock119 + +NodeBlock119: ; preds = %NodeBlock121 + %case.cmp120 = icmp eq i32 %0, 49 + br i1 %case.cmp120, label %sw.bb, label %NodeBlock117 + +NodeBlock117: ; preds = %NodeBlock119 + %case.cmp118 = icmp eq i32 %0, 50 + br i1 %case.cmp118, label %sw.bb, label %NodeBlock115 + +NodeBlock115: ; preds = %NodeBlock117 + %case.cmp116 = icmp eq i32 %0, 51 + br i1 %case.cmp116, label %sw.bb, label %NodeBlock113 + +NodeBlock113: ; preds = %NodeBlock115 + %case.cmp114 = icmp eq i32 %0, 52 + br i1 %case.cmp114, label %sw.bb, label %NodeBlock111 + +NodeBlock111: ; preds = %NodeBlock113 + %case.cmp112 = icmp eq i32 %0, 53 + br i1 %case.cmp112, label %sw.bb, label %NodeBlock109 + +NodeBlock109: ; preds = %NodeBlock111 + %case.cmp110 = icmp eq i32 %0, 54 + br i1 %case.cmp110, label %sw.bb, label %NodeBlock107 + +NodeBlock107: ; preds = %NodeBlock109 + %case.cmp108 = icmp eq i32 %0, 55 + br i1 %case.cmp108, label %sw.bb, label %NodeBlock105 + +NodeBlock105: ; preds = %NodeBlock107 + %case.cmp106 = icmp eq i32 %0, 56 + br i1 %case.cmp106, label %sw.bb, label %NodeBlock103 + +NodeBlock103: ; preds = %NodeBlock105 + %case.cmp104 = icmp eq i32 %0, 57 + br i1 %case.cmp104, label %sw.bb, label %NodeBlock101 + +NodeBlock101: ; preds = %NodeBlock103 + %case.cmp102 = icmp eq i32 %0, 97 + br i1 %case.cmp102, label %sw.bb, label %NodeBlock99 + +NodeBlock99: ; preds = %NodeBlock101 + %case.cmp100 = icmp eq i32 %0, 98 + br i1 %case.cmp100, label %sw.bb, label %NodeBlock97 + +NodeBlock97: ; preds = %NodeBlock99 + %case.cmp98 = icmp eq i32 %0, 99 + br i1 %case.cmp98, label %sw.bb, label %NodeBlock95 + +NodeBlock95: ; preds = %NodeBlock97 + %case.cmp96 = icmp eq i32 %0, 100 + br i1 %case.cmp96, label %sw.bb, label %NodeBlock93 + +NodeBlock93: ; preds = %NodeBlock95 + %case.cmp94 = icmp eq i32 %0, 101 + br i1 %case.cmp94, label %sw.bb, label %NodeBlock91 + +NodeBlock91: ; preds = %NodeBlock93 + %case.cmp92 = icmp eq i32 %0, 102 + br i1 %case.cmp92, label %sw.bb, label %NodeBlock89 + +NodeBlock89: ; preds = %NodeBlock91 + %case.cmp90 = icmp eq i32 %0, 103 + br i1 %case.cmp90, label %sw.bb, label %NodeBlock87 + +NodeBlock87: ; preds = %NodeBlock89 + %case.cmp88 = icmp eq i32 %0, 104 + br i1 %case.cmp88, label %sw.bb, label %NodeBlock85 + +NodeBlock85: ; preds = %NodeBlock87 + %case.cmp86 = icmp eq i32 %0, 105 + br i1 %case.cmp86, label %sw.bb, label %NodeBlock83 + +NodeBlock83: ; preds = %NodeBlock85 + %case.cmp84 = icmp eq i32 %0, 106 + br i1 %case.cmp84, label %sw.bb, label %NodeBlock81 + +NodeBlock81: ; preds = %NodeBlock83 + %case.cmp82 = icmp eq i32 %0, 107 + br i1 %case.cmp82, label %sw.bb, label %NodeBlock79 + +NodeBlock79: ; preds = %NodeBlock81 + %case.cmp80 = icmp eq i32 %0, 108 + br i1 %case.cmp80, label %sw.bb, label %NodeBlock77 + +NodeBlock77: ; preds = %NodeBlock79 + %case.cmp78 = icmp eq i32 %0, 109 + br i1 %case.cmp78, label %sw.bb, label %NodeBlock75 + +NodeBlock75: ; preds = %NodeBlock77 + %case.cmp76 = icmp eq i32 %0, 110 + br i1 %case.cmp76, label %sw.bb, label %NodeBlock73 + +NodeBlock73: ; preds = %NodeBlock75 + %case.cmp74 = icmp eq i32 %0, 111 + br i1 %case.cmp74, label %sw.bb, label %NodeBlock71 + +NodeBlock71: ; preds = %NodeBlock73 + %case.cmp72 = icmp eq i32 %0, 112 + br i1 %case.cmp72, label %sw.bb, label %NodeBlock69 + +NodeBlock69: ; preds = %NodeBlock71 + %case.cmp70 = icmp eq i32 %0, 113 + br i1 %case.cmp70, label %sw.bb, label %NodeBlock67 + +NodeBlock67: ; preds = %NodeBlock69 + %case.cmp68 = icmp eq i32 %0, 114 + br i1 %case.cmp68, label %sw.bb, label %NodeBlock65 + +NodeBlock65: ; preds = %NodeBlock67 + %case.cmp66 = icmp eq i32 %0, 115 + br i1 %case.cmp66, label %sw.bb, label %NodeBlock63 + +NodeBlock63: ; preds = %NodeBlock65 + %case.cmp64 = icmp eq i32 %0, 116 + br i1 %case.cmp64, label %sw.bb, label %NodeBlock61 + +NodeBlock61: ; preds = %NodeBlock63 + %case.cmp62 = icmp eq i32 %0, 117 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 118 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 119 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 120 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 121 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 122 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 65 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 66 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 67 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 68 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 69 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 70 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 71 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 72 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 73 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 74 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 75 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 76 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 77 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 78 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 79 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 80 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 81 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 82 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 83 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 84 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 85 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 86 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 87 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 88 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 89 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 90 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock121, %NodeBlock119, %NodeBlock117, %NodeBlock115, %NodeBlock113, %NodeBlock111, %NodeBlock109, %NodeBlock107, %NodeBlock105, %NodeBlock103, %NodeBlock101, %NodeBlock99, %NodeBlock97, %NodeBlock95, %NodeBlock93, %NodeBlock91, %NodeBlock89, %NodeBlock87, %NodeBlock85, %NodeBlock83, %NodeBlock81, %NodeBlock79, %NodeBlock77, %NodeBlock75, %NodeBlock73, %NodeBlock71, %NodeBlock69, %NodeBlock67, %NodeBlock65, %NodeBlock63, %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isalpha(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock101 + +NodeBlock101: ; preds = %entry + %case.cmp102 = icmp eq i32 %0, 97 + br i1 %case.cmp102, label %sw.bb, label %NodeBlock99 + +NodeBlock99: ; preds = %NodeBlock101 + %case.cmp100 = icmp eq i32 %0, 98 + br i1 %case.cmp100, label %sw.bb, label %NodeBlock97 + +NodeBlock97: ; preds = %NodeBlock99 + %case.cmp98 = icmp eq i32 %0, 99 + br i1 %case.cmp98, label %sw.bb, label %NodeBlock95 + +NodeBlock95: ; preds = %NodeBlock97 + %case.cmp96 = icmp eq i32 %0, 100 + br i1 %case.cmp96, label %sw.bb, label %NodeBlock93 + +NodeBlock93: ; preds = %NodeBlock95 + %case.cmp94 = icmp eq i32 %0, 101 + br i1 %case.cmp94, label %sw.bb, label %NodeBlock91 + +NodeBlock91: ; preds = %NodeBlock93 + %case.cmp92 = icmp eq i32 %0, 102 + br i1 %case.cmp92, label %sw.bb, label %NodeBlock89 + +NodeBlock89: ; preds = %NodeBlock91 + %case.cmp90 = icmp eq i32 %0, 103 + br i1 %case.cmp90, label %sw.bb, label %NodeBlock87 + +NodeBlock87: ; preds = %NodeBlock89 + %case.cmp88 = icmp eq i32 %0, 104 + br i1 %case.cmp88, label %sw.bb, label %NodeBlock85 + +NodeBlock85: ; preds = %NodeBlock87 + %case.cmp86 = icmp eq i32 %0, 105 + br i1 %case.cmp86, label %sw.bb, label %NodeBlock83 + +NodeBlock83: ; preds = %NodeBlock85 + %case.cmp84 = icmp eq i32 %0, 106 + br i1 %case.cmp84, label %sw.bb, label %NodeBlock81 + +NodeBlock81: ; preds = %NodeBlock83 + %case.cmp82 = icmp eq i32 %0, 107 + br i1 %case.cmp82, label %sw.bb, label %NodeBlock79 + +NodeBlock79: ; preds = %NodeBlock81 + %case.cmp80 = icmp eq i32 %0, 108 + br i1 %case.cmp80, label %sw.bb, label %NodeBlock77 + +NodeBlock77: ; preds = %NodeBlock79 + %case.cmp78 = icmp eq i32 %0, 109 + br i1 %case.cmp78, label %sw.bb, label %NodeBlock75 + +NodeBlock75: ; preds = %NodeBlock77 + %case.cmp76 = icmp eq i32 %0, 110 + br i1 %case.cmp76, label %sw.bb, label %NodeBlock73 + +NodeBlock73: ; preds = %NodeBlock75 + %case.cmp74 = icmp eq i32 %0, 111 + br i1 %case.cmp74, label %sw.bb, label %NodeBlock71 + +NodeBlock71: ; preds = %NodeBlock73 + %case.cmp72 = icmp eq i32 %0, 112 + br i1 %case.cmp72, label %sw.bb, label %NodeBlock69 + +NodeBlock69: ; preds = %NodeBlock71 + %case.cmp70 = icmp eq i32 %0, 113 + br i1 %case.cmp70, label %sw.bb, label %NodeBlock67 + +NodeBlock67: ; preds = %NodeBlock69 + %case.cmp68 = icmp eq i32 %0, 114 + br i1 %case.cmp68, label %sw.bb, label %NodeBlock65 + +NodeBlock65: ; preds = %NodeBlock67 + %case.cmp66 = icmp eq i32 %0, 115 + br i1 %case.cmp66, label %sw.bb, label %NodeBlock63 + +NodeBlock63: ; preds = %NodeBlock65 + %case.cmp64 = icmp eq i32 %0, 116 + br i1 %case.cmp64, label %sw.bb, label %NodeBlock61 + +NodeBlock61: ; preds = %NodeBlock63 + %case.cmp62 = icmp eq i32 %0, 117 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 118 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 119 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 120 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 121 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 122 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 65 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 66 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 67 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 68 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 69 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 70 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 71 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 72 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 73 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 74 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 75 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 76 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 77 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 78 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 79 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 80 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 81 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 82 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 83 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 84 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 85 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 86 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 87 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 88 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 89 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 90 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock101, %NodeBlock99, %NodeBlock97, %NodeBlock95, %NodeBlock93, %NodeBlock91, %NodeBlock89, %NodeBlock87, %NodeBlock85, %NodeBlock83, %NodeBlock81, %NodeBlock79, %NodeBlock77, %NodeBlock75, %NodeBlock73, %NodeBlock71, %NodeBlock69, %NodeBlock67, %NodeBlock65, %NodeBlock63, %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isascii(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %switch = icmp ult i32 %0, 128 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isblank(i32 %c) #3 { +entry: + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %cmp = icmp eq i32 %0, 32 + %1 = load i32, i32* %c.addr, align 4 + %cmp1 = icmp eq i32 %1, 9 + %2 = select i1 %cmp, i1 true, i1 %cmp1 + ret i1 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_iscntrl(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock63 + +NodeBlock63: ; preds = %entry + %case.cmp64 = icmp eq i32 %0, 7 + br i1 %case.cmp64, label %sw.bb, label %NodeBlock61 + +NodeBlock61: ; preds = %NodeBlock63 + %case.cmp62 = icmp eq i32 %0, 8 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 12 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 10 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 13 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 9 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 11 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 0 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 1 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 2 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 3 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 4 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 5 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 6 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 14 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 15 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 16 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 17 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 18 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 19 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 20 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 21 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 22 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 23 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 24 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 25 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 26 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 27 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 28 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 29 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 30 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 31 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 127 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock63, %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isdigit(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -48 + %switch = icmp ult i32 %.off, 10 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isgraph(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -33 + %switch = icmp ult i32 %.off, 94 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_islower(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -97 + %switch = icmp ult i32 %.off, 26 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isprint(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -32 + %switch = icmp ult i32 %.off, 95 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_ispunct(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock61 + +NodeBlock61: ; preds = %entry + %case.cmp62 = icmp eq i32 %0, 33 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 34 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 35 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 36 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 37 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 38 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 39 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 40 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 41 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 42 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 43 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 44 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 45 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 46 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 47 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 58 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 59 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 60 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 61 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 62 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 63 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 64 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 91 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 92 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 93 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 94 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 95 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 96 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 123 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 124 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 125 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 126 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isspace(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock9 + +NodeBlock9: ; preds = %entry + %case.cmp10 = icmp eq i32 %0, 32 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 9 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 10 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 11 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 12 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 13 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isupper(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -65 + %switch = icmp ult i32 %.off, 26 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isxdigit(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock41 + +NodeBlock41: ; preds = %entry + %case.cmp42 = icmp eq i32 %0, 48 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 49 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 50 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 51 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 52 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 53 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 54 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 55 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 56 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 57 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 97 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 98 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 99 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 100 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 101 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 102 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 65 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 66 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 67 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 68 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 69 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 70 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @c_toupper(i32 %c) #3 { +entry: + %retval = alloca i32, align 4 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -97 + %switch = icmp ult i32 %.off, 26 + %1 = load i32, i32* %c.addr, align 4 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + %sub = sub nsw i32 %1, 97 + %add = add nsw i32 %sub, 65 + store i32 %add, i32* %retval, align 4 + br label %return + +sw.default: ; preds = %entry + store i32 %1, i32* %retval, align 4 + br label %return + +return: ; preds = %sw.default, %sw.bb + %2 = load i32, i32* %retval, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @klee_init_fds(i32 %n_files, i32 %file_length, i32 %stdin_length, i32 %sym_stdout_flag, i32 %save_all_writes_flag, i32 %max_failures) #3 { +entry: + %n_files.addr = alloca i32, align 4 + %file_length.addr = alloca i32, align 4 + %stdin_length.addr = alloca i32, align 4 + %sym_stdout_flag.addr = alloca i32, align 4 + %save_all_writes_flag.addr = alloca i32, align 4 + %max_failures.addr = alloca i32, align 4 + %k = alloca i32, align 4 + %name = alloca [7 x i8], align 1 + %s = alloca %struct.stat64, align 8 + store i32 %n_files, i32* %n_files.addr, align 4 + store i32 %file_length, i32* %file_length.addr, align 4 + store i32 %stdin_length, i32* %stdin_length.addr, align 4 + store i32 %sym_stdout_flag, i32* %sym_stdout_flag.addr, align 4 + store i32 %save_all_writes_flag, i32* %save_all_writes_flag.addr, align 4 + store i32 %max_failures, i32* %max_failures.addr, align 4 + %0 = bitcast [7 x i8]* %name to i8* + %1 = call i8* @memcpy(i8* %0, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @__const.klee_init_fds.name, i32 0, i32 0), i64 7) + %call = call i32 @stat64(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.139, i64 0, i64 0), %struct.stat64* %s) #11 + %2 = load i32, i32* %n_files.addr, align 4 + store i32 %2, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %3 = load i32, i32* %n_files.addr, align 4 + %conv = zext i32 %3 to i64 + %mul = mul i64 24, %conv + %call1 = call noalias i8* @malloc(i64 %mul) #11 + %4 = bitcast i8* %call1 to %struct.exe_disk_file_t* + store %struct.exe_disk_file_t* %4, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %5 = load i32, i32* %n_files.addr, align 4 + %tobool = icmp eq i32 %5, 0 + %6 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %6, null + %or.cond = or i1 %tobool, %tobool2 + br i1 %or.cond, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @gs_report_error.143(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.140, i64 0, i64 0), i32 124, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.141, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.142, i64 0, i64 0)) #24 + unreachable + +if.end: ; preds = %entry + store i32 0, i32* %k, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %7 = load i32, i32* %k, align 4 + %8 = load i32, i32* %n_files.addr, align 4 + %cmp = icmp ult i32 %7, %8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %9 = load i32, i32* %k, align 4 + %add = add i32 65, %9 + %conv4 = trunc i32 %add to i8 + %arrayidx = getelementptr inbounds [7 x i8], [7 x i8]* %name, i64 0, i64 0 + store i8 %conv4, i8* %arrayidx, align 1 + %10 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %11 = load i32, i32* %k, align 4 + %idxprom = zext i32 %11 to i64 + %arrayidx5 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %10, i64 %idxprom + %12 = load i32, i32* %file_length.addr, align 4 + %arraydecay = getelementptr inbounds [7 x i8], [7 x i8]* %name, i64 0, i64 0 + call void @__create_new_dfile(%struct.exe_disk_file_t* %arrayidx5, i32 %12, i8* %arraydecay, %struct.stat64* %s) + %13 = load i32, i32* %k, align 4 + %inc = add i32 %13, 1 + store i32 %inc, i32* %k, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %14 = load i32, i32* %stdin_length.addr, align 4 + %tobool6 = icmp ne i32 %14, 0 + br i1 %tobool6, label %if.then7, label %if.else + +if.then7: ; preds = %for.end + %call8 = call noalias i8* @malloc(i64 24) #11 + %15 = bitcast i8* %call8 to %struct.exe_disk_file_t* + store %struct.exe_disk_file_t* %15, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + %16 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + %tobool9 = icmp ne %struct.exe_disk_file_t* %16, null + br i1 %tobool9, label %if.end11, label %if.then10 + +if.then10: ; preds = %if.then7 + call void @gs_report_error.143(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.140, i64 0, i64 0), i32 135, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.141, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.142, i64 0, i64 0)) #24 + unreachable + +if.end11: ; preds = %if.then7 + %17 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + %18 = load i32, i32* %stdin_length.addr, align 4 + call void @__create_new_dfile(%struct.exe_disk_file_t* %17, i32 %18, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.4.144, i64 0, i64 0), %struct.stat64* %s) + %19 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + store %struct.exe_disk_file_t* %19, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0, i64 0, i32 3), align 8 + br label %if.end12 + +if.else: ; preds = %for.end + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + br label %if.end12 + +if.end12: ; preds = %if.else, %if.end11 + %20 = load i32, i32* %max_failures.addr, align 4 + store i32 %20, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %21 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool13 = icmp ne i32 %21, 0 + br i1 %tobool13, label %if.then14, label %if.end31 + +if.then14: ; preds = %if.end12 + %call15 = call noalias i8* @malloc(i64 4) #11 + %22 = bitcast i8* %call15 to i32* + store i32* %22, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %call16 = call noalias i8* @malloc(i64 4) #11 + %23 = bitcast i8* %call16 to i32* + store i32* %23, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %call17 = call noalias i8* @malloc(i64 4) #11 + %24 = bitcast i8* %call17 to i32* + store i32* %24, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %call18 = call noalias i8* @malloc(i64 4) #11 + %25 = bitcast i8* %call18 to i32* + store i32* %25, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %call19 = call noalias i8* @malloc(i64 4) #11 + %26 = bitcast i8* %call19 to i32* + store i32* %26, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %27 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %tobool20 = icmp ne i32* %27, null + %28 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %tobool22 = icmp ne i32* %28, null + %or.cond1 = and i1 %tobool20, %tobool22 + %29 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %tobool24 = icmp ne i32* %29, null + %or.cond2 = and i1 %or.cond1, %tobool24 + %30 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %tobool26 = icmp ne i32* %30, null + %or.cond3 = and i1 %or.cond2, %tobool26 + %31 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %tobool28 = icmp ne i32* %31, null + %or.cond4 = and i1 %or.cond3, %tobool28 + br i1 %or.cond4, label %if.end30, label %if.then29 + +if.then29: ; preds = %if.then14 + call void @gs_report_error.143(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.140, i64 0, i64 0), i32 150, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.141, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.142, i64 0, i64 0)) #24 + unreachable + +if.end30: ; preds = %if.then14 + %32 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %33 = bitcast i32* %32 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %33, i64 4, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.5.145, i64 0, i64 0)) + %34 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %35 = bitcast i32* %34 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %35, i64 4, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.6.146, i64 0, i64 0)) + %36 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %37 = bitcast i32* %36 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %37, i64 4, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.7.147, i64 0, i64 0)) + %38 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %39 = bitcast i32* %38 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %39, i64 4, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.8.148, i64 0, i64 0)) + %40 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %41 = bitcast i32* %40 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %41, i64 4, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.9.149, i64 0, i64 0)) + br label %if.end31 + +if.end31: ; preds = %if.end30, %if.end12 + %42 = load i32, i32* %sym_stdout_flag.addr, align 4 + %tobool32 = icmp ne i32 %42, 0 + br i1 %tobool32, label %if.then33, label %if.else38 + +if.then33: ; preds = %if.end31 + %call34 = call noalias i8* @malloc(i64 24) #11 + %43 = bitcast i8* %call34 to %struct.exe_disk_file_t* + store %struct.exe_disk_file_t* %43, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + %44 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + %tobool35 = icmp ne %struct.exe_disk_file_t* %44, null + br i1 %tobool35, label %if.end37, label %if.then36 + +if.then36: ; preds = %if.then33 + call void @gs_report_error.143(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.140, i64 0, i64 0), i32 163, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.141, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.142, i64 0, i64 0)) #24 + unreachable + +if.end37: ; preds = %if.then33 + %45 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + call void @__create_new_dfile(%struct.exe_disk_file_t* %45, i32 1024, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.10.150, i64 0, i64 0), %struct.stat64* %s) + %46 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + store %struct.exe_disk_file_t* %46, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0, i64 1, i32 3), align 8 + store i32 0, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 3), align 8 + br label %if.end39 + +if.else38: ; preds = %if.end31 + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + br label %if.end39 + +if.end39: ; preds = %if.else38, %if.end37 + %47 = load i32, i32* %save_all_writes_flag.addr, align 4 + store i32 %47, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 3), align 8 + %call40 = call i32 @__sym_uint32(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.11.151, i64 0, i64 0)) + store i32 %call40, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 2), align 4 + %48 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 2), align 4 + %cmp41 = icmp eq i32 %48, 1 + call void @gs_assume(i1 zeroext %cmp41) + ret void +} + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error.143(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.154, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__create_new_dfile(%struct.exe_disk_file_t* %dfile, i32 %size, i8* %name, %struct.stat64* %defaults) #3 { +entry: + %dfile.addr = alloca %struct.exe_disk_file_t*, align 8 + %size.addr = alloca i32, align 4 + %name.addr = alloca i8*, align 8 + %defaults.addr = alloca %struct.stat64*, align 8 + %s = alloca %struct.stat64*, align 8 + %sp = alloca i8*, align 8 + %sname = alloca [64 x i8], align 16 + store %struct.exe_disk_file_t* %dfile, %struct.exe_disk_file_t** %dfile.addr, align 8 + store i32 %size, i32* %size.addr, align 4 + store i8* %name, i8** %name.addr, align 8 + store %struct.stat64* %defaults, %struct.stat64** %defaults.addr, align 8 + %call = call noalias i8* @malloc(i64 144) #11 + %0 = bitcast i8* %call to %struct.stat64* + store %struct.stat64* %0, %struct.stat64** %s, align 8 + %1 = load %struct.stat64*, %struct.stat64** %s, align 8 + %tobool = icmp ne %struct.stat64* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @gs_report_error.143(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.140, i64 0, i64 0), i32 47, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.141, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.142, i64 0, i64 0)) #24 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %name.addr, align 8 + store i8* %2, i8** %sp, align 8 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %3 = load i8*, i8** %sp, align 8 + %4 = load i8, i8* %3, align 1 + %tobool1 = icmp ne i8 %4, 0 + %5 = load i8*, i8** %sp, align 8 + br i1 %tobool1, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %6 = load i8, i8* %5, align 1 + %7 = load i8*, i8** %sp, align 8 + %8 = load i8*, i8** %name.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %8 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %arrayidx = getelementptr inbounds [64 x i8], [64 x i8]* %sname, i64 0, i64 %sub.ptr.sub + store i8 %6, i8* %arrayidx, align 1 + %9 = load i8*, i8** %sp, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %sp, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %10 = load i8*, i8** %name.addr, align 8 + %sub.ptr.lhs.cast2 = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast3 = ptrtoint i8* %10 to i64 + %sub.ptr.sub4 = sub i64 %sub.ptr.lhs.cast2, %sub.ptr.rhs.cast3 + %arrayidx5 = getelementptr inbounds [64 x i8], [64 x i8]* %sname, i64 0, i64 %sub.ptr.sub4 + %11 = call i8* @memcpy(i8* %arrayidx5, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.13.152, i64 0, i64 0), i64 6) + %12 = load i32, i32* %size.addr, align 4 + %tobool6 = icmp ne i32 %12, 0 + br i1 %tobool6, label %if.end8, label %if.else + +if.else: ; preds = %for.end + call void @__assert_fail(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.14.153, i64 0, i64 0), i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.140, i64 0, i64 0), i32 55, i8* getelementptr inbounds ([88 x i8], [88 x i8]* @__PRETTY_FUNCTION__.__create_new_dfile, i64 0, i64 0)) #26 + unreachable + +if.end8: ; preds = %for.end + %13 = load i32, i32* %size.addr, align 4 + %14 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size9 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %14, i32 0, i32 0 + store i32 %13, i32* %size9, align 8 + %15 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size10 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %15, i32 0, i32 0 + %16 = load i32, i32* %size10, align 8 + %conv = zext i32 %16 to i64 + %call11 = call noalias i8* @malloc(i64 %conv) #11 + %17 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %contents = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %17, i32 0, i32 1 + store i8* %call11, i8** %contents, align 8 + %18 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %contents12 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %18, i32 0, i32 1 + %19 = load i8*, i8** %contents12, align 8 + %tobool13 = icmp ne i8* %19, null + br i1 %tobool13, label %if.end15, label %if.then14 + +if.then14: ; preds = %if.end8 + call void @gs_report_error.143(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.140, i64 0, i64 0), i32 60, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.141, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.142, i64 0, i64 0)) #24 + unreachable + +if.end15: ; preds = %if.end8 + %20 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %contents16 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %20, i32 0, i32 1 + %21 = load i8*, i8** %contents16, align 8 + %22 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size17 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %22, i32 0, i32 0 + %23 = load i32, i32* %size17, align 8 + %conv18 = zext i32 %23 to i64 + %24 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %21, i64 %conv18, i8* %24) + %25 = load %struct.stat64*, %struct.stat64** %s, align 8 + %26 = bitcast %struct.stat64* %25 to i8* + %arraydecay = getelementptr inbounds [64 x i8], [64 x i8]* %sname, i64 0, i64 0 + call void (i8*, i64, ...) @make_symbolic(i8* %26, i64 144, i8* %arraydecay) + %27 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %27, i32 0, i32 1 + %28 = load i64, i64* %st_ino, align 8 + %call19 = call i32 @gs_is_symbolic(i64 %28) + %tobool20 = icmp ne i32 %call19, 0 + br i1 %tobool20, label %if.end26, label %land.lhs.true + +land.lhs.true: ; preds = %if.end15 + %29 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino21 = getelementptr inbounds %struct.stat64, %struct.stat64* %29, i32 0, i32 1 + %30 = load i64, i64* %st_ino21, align 8 + %and = and i64 %30, 2147483647 + %cmp = icmp eq i64 %and, 0 + br i1 %cmp, label %if.then23, label %if.end26 + +if.then23: ; preds = %land.lhs.true + %31 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_ino24 = getelementptr inbounds %struct.stat64, %struct.stat64* %31, i32 0, i32 1 + %32 = load i64, i64* %st_ino24, align 8 + %33 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino25 = getelementptr inbounds %struct.stat64, %struct.stat64* %33, i32 0, i32 1 + store i64 %32, i64* %st_ino25, align 8 + br label %if.end26 + +if.end26: ; preds = %if.then23, %land.lhs.true, %if.end15 + %34 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino27 = getelementptr inbounds %struct.stat64, %struct.stat64* %34, i32 0, i32 1 + %35 = load i64, i64* %st_ino27, align 8 + %and28 = and i64 %35, 2147483647 + %cmp29 = icmp ne i64 %and28, 0 + call void @gs_assume(i1 zeroext %cmp29) + %36 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_blksize = getelementptr inbounds %struct.stat64, %struct.stat64* %36, i32 0, i32 9 + %37 = load i64, i64* %st_blksize, align 8 + %and31 = and i64 %37, -65536 + %cmp32 = icmp eq i64 %and31, 0 + call void @gs_assume(i1 zeroext %cmp32) + %38 = load %struct.stat64*, %struct.stat64** %s, align 8 + %39 = bitcast %struct.stat64* %38 to i8* + %40 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %40, i32 0, i32 3 + %41 = load i32, i32* %st_mode, align 8 + %and34 = and i32 %41, -61952 + %tobool35 = icmp ne i32 %and34, 0 + %lnot = xor i1 %tobool35, true + call void @gs_prefer_cex(i8* %39, i1 zeroext %lnot) + %42 = load %struct.stat64*, %struct.stat64** %s, align 8 + %43 = bitcast %struct.stat64* %42 to i8* + %44 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_dev = getelementptr inbounds %struct.stat64, %struct.stat64* %44, i32 0, i32 0 + %45 = load i64, i64* %st_dev, align 8 + %46 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_dev36 = getelementptr inbounds %struct.stat64, %struct.stat64* %46, i32 0, i32 0 + %47 = load i64, i64* %st_dev36, align 8 + %cmp37 = icmp eq i64 %45, %47 + call void @gs_prefer_cex(i8* %43, i1 zeroext %cmp37) + %48 = load %struct.stat64*, %struct.stat64** %s, align 8 + %49 = bitcast %struct.stat64* %48 to i8* + %50 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_rdev = getelementptr inbounds %struct.stat64, %struct.stat64* %50, i32 0, i32 7 + %51 = load i64, i64* %st_rdev, align 8 + %52 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_rdev39 = getelementptr inbounds %struct.stat64, %struct.stat64* %52, i32 0, i32 7 + %53 = load i64, i64* %st_rdev39, align 8 + %cmp40 = icmp eq i64 %51, %53 + call void @gs_prefer_cex(i8* %49, i1 zeroext %cmp40) + %54 = load %struct.stat64*, %struct.stat64** %s, align 8 + %55 = bitcast %struct.stat64* %54 to i8* + %56 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode42 = getelementptr inbounds %struct.stat64, %struct.stat64* %56, i32 0, i32 3 + %57 = load i32, i32* %st_mode42, align 8 + %and43 = and i32 %57, 448 + %cmp44 = icmp eq i32 %and43, 384 + call void @gs_prefer_cex(i8* %55, i1 zeroext %cmp44) + %58 = load %struct.stat64*, %struct.stat64** %s, align 8 + %59 = bitcast %struct.stat64* %58 to i8* + %60 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode46 = getelementptr inbounds %struct.stat64, %struct.stat64* %60, i32 0, i32 3 + %61 = load i32, i32* %st_mode46, align 8 + %and47 = and i32 %61, 56 + %cmp48 = icmp eq i32 %and47, 32 + call void @gs_prefer_cex(i8* %59, i1 zeroext %cmp48) + %62 = load %struct.stat64*, %struct.stat64** %s, align 8 + %63 = bitcast %struct.stat64* %62 to i8* + %64 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode50 = getelementptr inbounds %struct.stat64, %struct.stat64* %64, i32 0, i32 3 + %65 = load i32, i32* %st_mode50, align 8 + %and51 = and i32 %65, 7 + %cmp52 = icmp eq i32 %and51, 4 + call void @gs_prefer_cex(i8* %63, i1 zeroext %cmp52) + %66 = load %struct.stat64*, %struct.stat64** %s, align 8 + %67 = bitcast %struct.stat64* %66 to i8* + %68 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode54 = getelementptr inbounds %struct.stat64, %struct.stat64* %68, i32 0, i32 3 + %69 = load i32, i32* %st_mode54, align 8 + %and55 = and i32 %69, 61440 + %cmp56 = icmp eq i32 %and55, 32768 + call void @gs_prefer_cex(i8* %67, i1 zeroext %cmp56) + %70 = load %struct.stat64*, %struct.stat64** %s, align 8 + %71 = bitcast %struct.stat64* %70 to i8* + %72 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_nlink = getelementptr inbounds %struct.stat64, %struct.stat64* %72, i32 0, i32 2 + %73 = load i64, i64* %st_nlink, align 8 + %cmp58 = icmp eq i64 %73, 1 + call void @gs_prefer_cex(i8* %71, i1 zeroext %cmp58) + %74 = load %struct.stat64*, %struct.stat64** %s, align 8 + %75 = bitcast %struct.stat64* %74 to i8* + %76 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_uid = getelementptr inbounds %struct.stat64, %struct.stat64* %76, i32 0, i32 4 + %77 = load i32, i32* %st_uid, align 4 + %78 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_uid60 = getelementptr inbounds %struct.stat64, %struct.stat64* %78, i32 0, i32 4 + %79 = load i32, i32* %st_uid60, align 4 + %cmp61 = icmp eq i32 %77, %79 + call void @gs_prefer_cex(i8* %75, i1 zeroext %cmp61) + %80 = load %struct.stat64*, %struct.stat64** %s, align 8 + %81 = bitcast %struct.stat64* %80 to i8* + %82 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_gid = getelementptr inbounds %struct.stat64, %struct.stat64* %82, i32 0, i32 5 + %83 = load i32, i32* %st_gid, align 8 + %84 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_gid63 = getelementptr inbounds %struct.stat64, %struct.stat64* %84, i32 0, i32 5 + %85 = load i32, i32* %st_gid63, align 8 + %cmp64 = icmp eq i32 %83, %85 + call void @gs_prefer_cex(i8* %81, i1 zeroext %cmp64) + %86 = load %struct.stat64*, %struct.stat64** %s, align 8 + %87 = bitcast %struct.stat64* %86 to i8* + %88 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_blksize66 = getelementptr inbounds %struct.stat64, %struct.stat64* %88, i32 0, i32 9 + %89 = load i64, i64* %st_blksize66, align 8 + %cmp67 = icmp eq i64 %89, 4096 + call void @gs_prefer_cex(i8* %87, i1 zeroext %cmp67) + %90 = load %struct.stat64*, %struct.stat64** %s, align 8 + %91 = bitcast %struct.stat64* %90 to i8* + %92 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_atim = getelementptr inbounds %struct.stat64, %struct.stat64* %92, i32 0, i32 11 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim, i32 0, i32 0 + %93 = load i64, i64* %tv_sec, align 8 + %94 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_atim69 = getelementptr inbounds %struct.stat64, %struct.stat64* %94, i32 0, i32 11 + %tv_sec70 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim69, i32 0, i32 0 + %95 = load i64, i64* %tv_sec70, align 8 + %cmp71 = icmp eq i64 %93, %95 + call void @gs_prefer_cex(i8* %91, i1 zeroext %cmp71) + %96 = load %struct.stat64*, %struct.stat64** %s, align 8 + %97 = bitcast %struct.stat64* %96 to i8* + %98 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mtim = getelementptr inbounds %struct.stat64, %struct.stat64* %98, i32 0, i32 12 + %tv_sec73 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim, i32 0, i32 0 + %99 = load i64, i64* %tv_sec73, align 8 + %100 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_mtim74 = getelementptr inbounds %struct.stat64, %struct.stat64* %100, i32 0, i32 12 + %tv_sec75 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim74, i32 0, i32 0 + %101 = load i64, i64* %tv_sec75, align 8 + %cmp76 = icmp eq i64 %99, %101 + call void @gs_prefer_cex(i8* %97, i1 zeroext %cmp76) + %102 = load %struct.stat64*, %struct.stat64** %s, align 8 + %103 = bitcast %struct.stat64* %102 to i8* + %104 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ctim = getelementptr inbounds %struct.stat64, %struct.stat64* %104, i32 0, i32 13 + %tv_sec78 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim, i32 0, i32 0 + %105 = load i64, i64* %tv_sec78, align 8 + %106 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_ctim79 = getelementptr inbounds %struct.stat64, %struct.stat64* %106, i32 0, i32 13 + %tv_sec80 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim79, i32 0, i32 0 + %107 = load i64, i64* %tv_sec80, align 8 + %cmp81 = icmp eq i64 %105, %107 + call void @gs_prefer_cex(i8* %103, i1 zeroext %cmp81) + %108 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size83 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %108, i32 0, i32 0 + %109 = load i32, i32* %size83, align 8 + %conv84 = zext i32 %109 to i64 + %110 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_size = getelementptr inbounds %struct.stat64, %struct.stat64* %110, i32 0, i32 8 + store i64 %conv84, i64* %st_size, align 8 + %111 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_blocks = getelementptr inbounds %struct.stat64, %struct.stat64* %111, i32 0, i32 10 + store i64 8, i64* %st_blocks, align 8 + %112 = load %struct.stat64*, %struct.stat64** %s, align 8 + %113 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %113, i32 0, i32 2 + store %struct.stat64* %112, %struct.stat64** %stat, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__sym_uint32(i8* %name) #3 { +entry: + %name.addr = alloca i8*, align 8 + %x = alloca i32, align 4 + store i8* %name, i8** %name.addr, align 8 + %0 = bitcast i32* %x to i8* + %1 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %0, i64 4, i8* %1) + %2 = load i32, i32* %x, align 4 + ret i32 %2 +} + +declare dso_local void @gs_prefer_cex(i8*, i1 zeroext) #5 + +; Function Attrs: noinline nounwind uwtable +define weak hidden i32 @__syscall_rt_sigaction(i32 %signum, %struct.sigaction.800* %act, %struct.sigaction.800* %oldact, i64 %_something) #3 { +entry: + %signum.addr = alloca i32, align 4 + %act.addr = alloca %struct.sigaction.800*, align 8 + %oldact.addr = alloca %struct.sigaction.800*, align 8 + %_something.addr = alloca i64, align 8 + store i32 %signum, i32* %signum.addr, align 4 + store %struct.sigaction.800* %act, %struct.sigaction.800** %act.addr, align 8 + store %struct.sigaction.800* %oldact, %struct.sigaction.800** %oldact.addr, align 8 + store i64 %_something, i64* %_something.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.155, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @sigaction(i32 %signum, %struct.sigaction.800* %act, %struct.sigaction.800* %oldact) #3 { +entry: + %signum.addr = alloca i32, align 4 + %act.addr = alloca %struct.sigaction.800*, align 8 + %oldact.addr = alloca %struct.sigaction.800*, align 8 + store i32 %signum, i32* %signum.addr, align 4 + store %struct.sigaction.800* %act, %struct.sigaction.800** %act.addr, align 8 + store %struct.sigaction.800* %oldact, %struct.sigaction.800** %oldact.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.155, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @sigprocmask(i32 %how, %struct.fd_set* %set, %struct.fd_set* %oldset) #3 { +entry: + %how.addr = alloca i32, align 4 + %set.addr = alloca %struct.fd_set*, align 8 + %oldset.addr = alloca %struct.fd_set*, align 8 + store i32 %how, i32* %how.addr, align 4 + store %struct.fd_set* %set, %struct.fd_set** %set.addr, align 8 + store %struct.fd_set* %oldset, %struct.fd_set** %oldset.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.155, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @fdatasync(i32 %fd) #3 { +entry: + %fd.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local void @sync() #3 { +entry: + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @__socketcall(i32 %type, i32* %args) #3 { +entry: + %type.addr = alloca i32, align 4 + %args.addr = alloca i32*, align 8 + store i32 %type, i32* %type.addr, align 4 + store i32* %args, i32** %args.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.1.160, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 97, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @gs_warning.161(i8* %message) #3 { +entry: + %message.addr = alloca i8*, align 8 + store i8* %message, i8** %message.addr, align 8 + %0 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %0) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.11.162, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @_IO_getc(%struct._IO_FILE* %f) #3 { +entry: + %f.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %f, %struct._IO_FILE** %f.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %f.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %0) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @_IO_putc(i32 %c, %struct._IO_FILE* %f) #3 { +entry: + %c.addr = alloca i32, align 4 + %f.addr = alloca %struct._IO_FILE*, align 8 + store i32 %c, i32* %c.addr, align 4 + store %struct._IO_FILE* %f, %struct._IO_FILE** %f.addr, align 8 + %0 = load i32, i32* %c.addr, align 4 + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %f.addr, align 8 + %call = call i32 bitcast (i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked to i32 (i32, %struct._IO_FILE*)*)(i32 %0, %struct._IO_FILE* %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mkdir(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2.165, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 5, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mkfifo(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2.165, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 5, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mknod(i8* nonnull %pathname, i32 %mode, i64 %dev) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + %dev.addr = alloca i64, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + store i64 %dev, i64* %dev.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2.165, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 5, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @pipe(i32* %filedes) #3 { +entry: + %filedes.addr = alloca i32*, align 8 + store i32* %filedes, i32** %filedes.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.3.166, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 23, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @link(i8* nonnull %oldpath, i8* nonnull %newpath) #3 { +entry: + %oldpath.addr = alloca i8*, align 8 + %newpath.addr = alloca i8*, align 8 + store i8* %oldpath, i8** %oldpath.addr, align 8 + store i8* %newpath, i8** %newpath.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @symlink(i8* nonnull %oldpath, i8* nonnull %newpath) #3 { +entry: + %oldpath.addr = alloca i8*, align 8 + %newpath.addr = alloca i8*, align 8 + store i8* %oldpath, i8** %oldpath.addr, align 8 + store i8* %newpath, i8** %newpath.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @rename(i8* %oldpath, i8* %newpath) #3 { +entry: + %oldpath.addr = alloca i8*, align 8 + %newpath.addr = alloca i8*, align 8 + store i8* %oldpath, i8** %oldpath.addr, align 8 + store i8* %newpath, i8** %newpath.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @nanosleep(%struct.timespec* %req, %struct.timespec* %rem) #3 { +entry: + %req.addr = alloca %struct.timespec*, align 8 + %rem.addr = alloca %struct.timespec*, align 8 + store %struct.timespec* %req, %struct.timespec** %req.addr, align 8 + store %struct.timespec* %rem, %struct.timespec** %rem.addr, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @clock_gettime(i32 %clk_id, %struct.timespec* %res) #3 { +entry: + %clk_id.addr = alloca i32, align 4 + %res.addr = alloca %struct.timespec*, align 8 + %tv = alloca %struct.timespec, align 8 + store i32 %clk_id, i32* %clk_id.addr, align 4 + store %struct.timespec* %res, %struct.timespec** %res.addr, align 8 + %call = call i32 @gettimeofday(%struct.timespec* %tv, i8* null) #11 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %0 = load i64, i64* %tv_sec, align 8 + %1 = load %struct.timespec*, %struct.timespec** %res.addr, align 8 + %tv_sec1 = getelementptr inbounds %struct.timespec, %struct.timespec* %1, i32 0, i32 0 + store i64 %0, i64* %tv_sec1, align 8 + %tv_usec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 1 + %2 = load i64, i64* %tv_usec, align 8 + %mul = mul nsw i64 %2, 1000 + %3 = load %struct.timespec*, %struct.timespec** %res.addr, align 8 + %tv_nsec = getelementptr inbounds %struct.timespec, %struct.timespec* %3, i32 0, i32 1 + store i64 %mul, i64* %tv_nsec, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @clock_settime(i32 %clk_id, %struct.timespec* %res) #3 { +entry: + %clk_id.addr = alloca i32, align 4 + %res.addr = alloca %struct.timespec*, align 8 + store i32 %clk_id, i32* %clk_id.addr, align 4 + store %struct.timespec* %res, %struct.timespec** %res.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @time(i64* %t) #3 { +entry: + %t.addr = alloca i64*, align 8 + %tv = alloca %struct.timespec, align 8 + store i64* %t, i64** %t.addr, align 8 + %call = call i32 @gettimeofday(%struct.timespec* %tv, i8* null) #11 + %0 = load i64*, i64** %t.addr, align 8 + %tobool = icmp ne i64* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %1 = load i64, i64* %tv_sec, align 8 + %2 = load i64*, i64** %t.addr, align 8 + store i64 %1, i64* %2, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %tv_sec1 = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %3 = load i64, i64* %tv_sec1, align 8 + ret i64 %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @times(%struct.tms* %buf) #3 { +entry: + %buf.addr = alloca %struct.tms*, align 8 + store %struct.tms* %buf, %struct.tms** %buf.addr, align 8 + %0 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tobool = icmp ne %struct.tms* %0, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + call void @gs_warning.161(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.5.168, i64 0, i64 0)) + br label %if.end + +if.else: ; preds = %entry + call void @gs_warning.161(i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.6.169, i64 0, i64 0)) + %1 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_utime = getelementptr inbounds %struct.tms, %struct.tms* %1, i32 0, i32 0 + store i64 0, i64* %tms_utime, align 8 + %2 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_stime = getelementptr inbounds %struct.tms, %struct.tms* %2, i32 0, i32 1 + store i64 0, i64* %tms_stime, align 8 + %3 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_cutime = getelementptr inbounds %struct.tms, %struct.tms* %3, i32 0, i32 2 + store i64 0, i64* %tms_cutime, align 8 + %4 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_cstime = getelementptr inbounds %struct.tms, %struct.tms* %4, i32 0, i32 3 + store i64 0, i64* %tms_cstime, align 8 + br label %if.end + +if.end: ; preds = %if.else, %if.then + ret i64 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local %struct.utmpx* @getutxent() #3 { +entry: + %call = call %struct.utmp* bitcast (%struct.utmp.323* ()* @getutent to %struct.utmp* ()*)() #11 + %0 = bitcast %struct.utmp* %call to %struct.utmpx* + ret %struct.utmpx* %0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local void @setutxent() #3 { +entry: + call void @setutent() #11 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local void @endutxent() #3 { +entry: + call void @endutent() #11 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @utmpxname(i8* %file) #3 { +entry: + %file.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + %call = call i32 @utmpname(i8* %0) #11 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @euidaccess(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %1 = load i32, i32* %mode.addr, align 4 + %call = call i32 @access(i8* %0, i32 %1) #11 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @eaccess(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %1 = load i32, i32* %mode.addr, align 4 + %call = call i32 @euidaccess(i8* %0, i32 %1) #11 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @group_member(i32 %__gid) #3 { +entry: + %__gid.addr = alloca i32, align 4 + store i32 %__gid, i32* %__gid.addr, align 4 + %0 = load i32, i32* %__gid.addr, align 4 + %call = call i32 @getgid() #11 + %cmp = icmp eq i32 %0, %call + br i1 %cmp, label %lor.end, label %lor.rhs + +lor.rhs: ; preds = %entry + %1 = load i32, i32* %__gid.addr, align 4 + %call1 = call i32 @getegid() #11 + %cmp2 = icmp eq i32 %1, %call1 + br label %lor.end + +lor.end: ; preds = %lor.rhs, %entry + %2 = phi i1 [ true, %entry ], [ %cmp2, %lor.rhs ] + %lor.ext = zext i1 %2 to i32 + ret i32 %lor.ext +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @utime(i8* nonnull %filename, %struct.timespec* %buf) #3 { +entry: + %filename.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.timespec*, align 8 + store i8* %filename, i8** %filename.addr, align 8 + store %struct.timespec* %buf, %struct.timespec** %buf.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @futimes(i32 %fd, %struct.timespec* %times) #3 { +entry: + %fd.addr = alloca i32, align 4 + %times.addr = alloca %struct.timespec*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.timespec* %times, %struct.timespec** %times.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.7.170, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 9, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind readonly uwtable +define dso_local i32 @strverscmp(i8* nonnull %__s1, i8* nonnull %__s2) #15 { +entry: + %__s1.addr = alloca i8*, align 8 + %__s2.addr = alloca i8*, align 8 + store i8* %__s1, i8** %__s1.addr, align 8 + store i8* %__s2, i8** %__s2.addr, align 8 + %0 = load i8*, i8** %__s1.addr, align 8 + %1 = load i8*, i8** %__s2.addr, align 8 + %call = call i32 @strcmp(i8* %0, i8* %1) #23 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @gnu_dev_major(i64 %__dev) #3 { +entry: + %__dev.addr = alloca i64, align 8 + store i64 %__dev, i64* %__dev.addr, align 8 + %0 = load i64, i64* %__dev.addr, align 8 + %shr = lshr i64 %0, 8 + %and = and i64 %shr, 4095 + %1 = load i64, i64* %__dev.addr, align 8 + %shr1 = lshr i64 %1, 32 + %conv = trunc i64 %shr1 to i32 + %and2 = and i32 %conv, -4096 + %conv3 = zext i32 %and2 to i64 + %or = or i64 %and, %conv3 + %conv4 = trunc i64 %or to i32 + ret i32 %conv4 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @gnu_dev_minor(i64 %__dev) #3 { +entry: + %__dev.addr = alloca i64, align 8 + store i64 %__dev, i64* %__dev.addr, align 8 + %0 = load i64, i64* %__dev.addr, align 8 + %and = and i64 %0, 255 + %1 = load i64, i64* %__dev.addr, align 8 + %shr = lshr i64 %1, 12 + %conv = trunc i64 %shr to i32 + %and1 = and i32 %conv, -256 + %conv2 = zext i32 %and1 to i64 + %or = or i64 %and, %conv2 + %conv3 = trunc i64 %or to i32 + ret i32 %conv3 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i64 @gnu_dev_makedev(i32 %__major, i32 %__minor) #3 { +entry: + %__major.addr = alloca i32, align 4 + %__minor.addr = alloca i32, align 4 + store i32 %__major, i32* %__major.addr, align 4 + store i32 %__minor, i32* %__minor.addr, align 4 + %0 = load i32, i32* %__minor.addr, align 4 + %and = and i32 %0, 255 + %1 = load i32, i32* %__major.addr, align 4 + %and1 = and i32 %1, 4095 + %shl = shl i32 %and1, 8 + %or = or i32 %and, %shl + %conv = zext i32 %or to i64 + %2 = load i32, i32* %__minor.addr, align 4 + %and2 = and i32 %2, -256 + %conv3 = zext i32 %and2 to i64 + %shl4 = shl i64 %conv3, 12 + %or5 = or i64 %conv, %shl4 + %3 = load i32, i32* %__major.addr, align 4 + %and6 = and i32 %3, -4096 + %conv7 = zext i32 %and6 to i64 + %shl8 = shl i64 %conv7, 32 + %or9 = or i64 %or5, %shl8 + ret i64 %or9 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i8* @canonicalize_file_name(i8* nonnull %name) #3 { +entry: + %retval = alloca i8*, align 8 + %name.addr = alloca i8*, align 8 + %resolved_name = alloca i8*, align 8 + store i8* %name, i8** %name.addr, align 8 + %call = call noalias i8* @malloc(i64 4096) #11 + store i8* %call, i8** %resolved_name, align 8 + %0 = load i8*, i8** %resolved_name, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %name.addr, align 8 + %2 = load i8*, i8** %resolved_name, align 8 + %call1 = call i8* @realpath(i8* %1, i8* %2) #11 + %tobool2 = icmp ne i8* %call1, null + %3 = load i8*, i8** %resolved_name, align 8 + br i1 %tobool2, label %if.end4, label %if.then3 + +if.then3: ; preds = %if.end + call void @free(i8* %3) #11 + store i8* null, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %if.end + store i8* %3, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %4 = load i8*, i8** %retval, align 8 + ret i8* %4 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @getloadavg(double* nonnull %loadavg, i32 %nelem) #3 { +entry: + %loadavg.addr = alloca double*, align 8 + %nelem.addr = alloca i32, align 4 + store double* %loadavg, double** %loadavg.addr, align 8 + store i32 %nelem, i32* %nelem.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.8.173, i64 0, i64 0)) + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @wait(i32* %status) #3 { +entry: + %status.addr = alloca i32*, align 8 + store i32* %status, i32** %status.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.174, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @wait3(i32* %status, i32 %options, %struct.rusage* %rusage) #3 { +entry: + %status.addr = alloca i32*, align 8 + %options.addr = alloca i32, align 4 + %rusage.addr = alloca %struct.rusage*, align 8 + store i32* %status, i32** %status.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + store %struct.rusage* %rusage, %struct.rusage** %rusage.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.174, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @wait4(i32 %pid, i32* %status, i32 %options, %struct.rusage* %rusage) #3 { +entry: + %pid.addr = alloca i32, align 4 + %status.addr = alloca i32*, align 8 + %options.addr = alloca i32, align 4 + %rusage.addr = alloca %struct.rusage*, align 8 + store i32 %pid, i32* %pid.addr, align 4 + store i32* %status, i32** %status.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + store %struct.rusage* %rusage, %struct.rusage** %rusage.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.174, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @waitpid(i32 %pid, i32* %status, i32 %options) #3 { +entry: + %pid.addr = alloca i32, align 4 + %status.addr = alloca i32*, align 8 + %options.addr = alloca i32, align 4 + store i32 %pid, i32* %pid.addr, align 4 + store i32* %status, i32** %status.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.174, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @waitid(i32 %idtype, i32 %id, %struct.siginfo_t* %infop, i32 %options) #3 { +entry: + %idtype.addr = alloca i32, align 4 + %id.addr = alloca i32, align 4 + %infop.addr = alloca %struct.siginfo_t*, align 8 + %options.addr = alloca i32, align 4 + store i32 %idtype, i32* %idtype.addr, align 4 + store i32 %id, i32* %id.addr, align 4 + store %struct.siginfo_t* %infop, %struct.siginfo_t** %infop.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.174, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mount(i8* %source, i8* %target, i8* %filesystemtype, i64 %mountflags, i8* %data) #3 { +entry: + %source.addr = alloca i8*, align 8 + %target.addr = alloca i8*, align 8 + %filesystemtype.addr = alloca i8*, align 8 + %mountflags.addr = alloca i64, align 8 + %data.addr = alloca i8*, align 8 + store i8* %source, i8** %source.addr, align 8 + store i8* %target, i8** %target.addr, align 8 + store i8* %filesystemtype, i8** %filesystemtype.addr, align 8 + store i64 %mountflags, i64* %mountflags.addr, align 8 + store i8* %data, i8** %data.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @umount(i8* %target) #3 { +entry: + %target.addr = alloca i8*, align 8 + store i8* %target, i8** %target.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @umount2(i8* %target, i32 %flags) #3 { +entry: + %target.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + store i8* %target, i8** %target.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @swapon(i8* %path, i32 %swapflags) #3 { +entry: + %path.addr = alloca i8*, align 8 + %swapflags.addr = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store i32 %swapflags, i32* %swapflags.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @swapoff(i8* %path) #3 { +entry: + %path.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setgid(i32 %gid) #3 { +entry: + %gid.addr = alloca i32, align 4 + store i32 %gid, i32* %gid.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.10.175, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setgroups(i64 %size, i32* %list) #3 { +entry: + %size.addr = alloca i64, align 8 + %list.addr = alloca i32*, align 8 + store i64 %size, i64* %size.addr, align 8 + store i32* %list, i32** %list.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @sethostname(i8* nonnull %name, i64 %len) #3 { +entry: + %name.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + store i8* %name, i8** %name.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setpgid(i32 %pid, i32 %pgid) #3 { +entry: + %pid.addr = alloca i32, align 4 + %pgid.addr = alloca i32, align 4 + store i32 %pid, i32* %pid.addr, align 4 + store i32 %pgid, i32* %pgid.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setpgrp() #3 { +entry: + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setpriority(i32 %which, i32 %who, i32 %prio) #3 { +entry: + %which.addr = alloca i32, align 4 + %who.addr = alloca i32, align 4 + %prio.addr = alloca i32, align 4 + store i32 %which, i32* %which.addr, align 4 + store i32 %who, i32* %who.addr, align 4 + store i32 %prio, i32* %prio.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setresgid(i32 %rgid, i32 %egid, i32 %sgid) #3 { +entry: + %rgid.addr = alloca i32, align 4 + %egid.addr = alloca i32, align 4 + %sgid.addr = alloca i32, align 4 + store i32 %rgid, i32* %rgid.addr, align 4 + store i32 %egid, i32* %egid.addr, align 4 + store i32 %sgid, i32* %sgid.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setresuid(i32 %ruid, i32 %euid, i32 %suid) #3 { +entry: + %ruid.addr = alloca i32, align 4 + %euid.addr = alloca i32, align 4 + %suid.addr = alloca i32, align 4 + store i32 %ruid, i32* %ruid.addr, align 4 + store i32 %euid, i32* %euid.addr, align 4 + store i32 %suid, i32* %suid.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setrlimit(i32 %resource, %struct.timespec* %rlim) #3 { +entry: + %resource.addr = alloca i32, align 4 + %rlim.addr = alloca %struct.timespec*, align 8 + store i32 %resource, i32* %resource.addr, align 4 + store %struct.timespec* %rlim, %struct.timespec** %rlim.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setrlimit64(i32 %resource, %struct.timespec* %rlim) #3 { +entry: + %resource.addr = alloca i32, align 4 + %rlim.addr = alloca %struct.timespec*, align 8 + store i32 %resource, i32* %resource.addr, align 4 + store %struct.timespec* %rlim, %struct.timespec** %rlim.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setsid() #3 { +entry: + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @settimeofday(%struct.timespec* %tv, %struct.__mbstate_t.512* %tz) #3 { +entry: + %tv.addr = alloca %struct.timespec*, align 8 + %tz.addr = alloca %struct.__mbstate_t.512*, align 8 + store %struct.timespec* %tv, %struct.timespec** %tv.addr, align 8 + store %struct.__mbstate_t.512* %tz, %struct.__mbstate_t.512** %tz.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setuid(i32 %uid) #3 { +entry: + %uid.addr = alloca i32, align 4 + store i32 %uid, i32* %uid.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.10.175, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @reboot(i32 %flag) #3 { +entry: + %flag.addr = alloca i32, align 4 + store i32 %flag, i32* %flag.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mlock(i8* %addr, i64 %len) #3 { +entry: + %addr.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + store i8* %addr, i8** %addr.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @munlock(i8* %addr, i64 %len) #3 { +entry: + %addr.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + store i8* %addr, i8** %addr.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @pause() #3 { +entry: + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i64 @readahead(i32 %fd, i64* %offset, i64 %count) #3 { +entry: + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64*, align 8 + %count.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64* %offset, i64** %offset.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i64 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i8* @mmap(i8* %start, i64 %length, i32 %prot, i32 %flags, i32 %fd, i64 %offset) #3 { +entry: + %start.addr = alloca i8*, align 8 + %length.addr = alloca i64, align 8 + %prot.addr = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + store i8* %start, i8** %start.addr, align 8 + store i64 %length, i64* %length.addr, align 8 + store i32 %prot, i32* %prot.addr, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i8* inttoptr (i64 -1 to i8*) +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i8* @mmap64(i8* %start, i64 %length, i32 %prot, i32 %flags, i32 %fd, i64 %offset) #3 { +entry: + %start.addr = alloca i8*, align 8 + %length.addr = alloca i64, align 8 + %prot.addr = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + store i8* %start, i8** %start.addr, align 8 + store i64 %length, i64* %length.addr, align 8 + store i32 %prot, i32* %prot.addr, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i8* inttoptr (i64 -1 to i8*) +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @munmap(i8* %start, i64 %length) #3 { +entry: + %start.addr = alloca i8*, align 8 + %length.addr = alloca i64, align 8 + store i8* %start, i8** %start.addr, align 8 + store i64 %length, i64* %length.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__locale_mbrtowc_l(i32* noalias %dst, i8* noalias %src, %struct.__uclibc_locale_struct.201* %loc) #0 { +entry: + %retval = alloca i32, align 4 + %dst.addr = alloca i32*, align 8 + %src.addr = alloca i8*, align 8 + %loc.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %ps = alloca %struct.__mbstate_t.512, align 4 + %p = alloca i8*, align 8 + %r = alloca i64, align 8 + %wc = alloca i32, align 4 + store i32* %dst, i32** %dst.addr, align 8 + store i8* %src, i8** %src.addr, align 8 + store %struct.__uclibc_locale_struct.201* %loc, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 9 + %1 = load i8, i8* %encoding, align 8 + %conv = zext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 1 + %2 = load i8*, i8** %src.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i8* %2, i8** %p, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %ps, i32 0, i32 0 + store i32 0, i32* %__mask, align 4 + %3 = load i32*, i32** %dst.addr, align 8 + %call = call i64 @_wchar_utf8sntowcs(i32* %3, i64 1, i8** %p, i64 -1, %struct.__mbstate_t.512* %ps, i32 1) #18 + store i64 %call, i64* %r, align 8 + %4 = load i64, i64* %r, align 8 + %cmp2 = icmp eq i64 %4, 1 + %5 = load i8*, i8** %p, align 8 + %6 = load i8*, i8** %src.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %6 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %7 = load i64, i64* %r, align 8 + %cond = select i1 %cmp2, i64 %sub.ptr.sub, i64 %7 + %conv4 = trunc i64 %cond to i32 + store i32 %conv4, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load i8, i8* %2, align 1 + %conv5 = zext i8 %8 to i32 + %9 = load i32*, i32** %dst.addr, align 8 + store i32 %conv5, i32* %9, align 4 + %cmp6 = icmp slt i32 %conv5, 128 + br i1 %cmp6, label %if.then8, label %if.end12 + +if.then8: ; preds = %if.end + %10 = load i8*, i8** %src.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv9 = sext i8 %11 to i32 + %cmp10 = icmp ne i32 %conv9, 0 + %conv11 = zext i1 %cmp10 to i32 + store i32 %conv11, i32* %retval, align 4 + br label %return + +if.end12: ; preds = %if.end + %12 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %encoding13 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %12, i32 0, i32 9 + %13 = load i8, i8* %encoding13, align 8 + %conv14 = zext i8 %13 to i32 + %cmp15 = icmp eq i32 %conv14, 2 + br i1 %cmp15, label %if.then17, label %if.end24 + +if.then17: ; preds = %if.end12 + %14 = load i32*, i32** %dst.addr, align 8 + %15 = load i32, i32* %14, align 4 + %sub = sub nsw i32 %15, 128 + store i32 %sub, i32* %wc, align 4 + %16 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %tbl8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %16, i32 0, i32 17 + %17 = load i16*, i16** %tbl8c2wc, align 8 + %18 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %idx8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %18, i32 0, i32 16 + %19 = load i8*, i8** %idx8c2wc, align 8 + %20 = load i32, i32* %wc, align 4 + %shr = ashr i32 %20, 3 + %idxprom = sext i32 %shr to i64 + %arrayidx = getelementptr inbounds i8, i8* %19, i64 %idxprom + %21 = load i8, i8* %arrayidx, align 1 + %conv18 = zext i8 %21 to i32 + %shl = shl i32 %conv18, 3 + %22 = load i32, i32* %wc, align 4 + %and = and i32 %22, 7 + %add = add nsw i32 %shl, %and + %idxprom19 = sext i32 %add to i64 + %arrayidx20 = getelementptr inbounds i16, i16* %17, i64 %idxprom19 + %23 = load i16, i16* %arrayidx20, align 2 + %conv21 = zext i16 %23 to i32 + %24 = load i32*, i32** %dst.addr, align 8 + store i32 %conv21, i32* %24, align 4 + %25 = load i32*, i32** %dst.addr, align 8 + %26 = load i32, i32* %25, align 4 + %tobool = icmp ne i32 %26, 0 + br i1 %tobool, label %if.then22, label %if.end24 + +if.then22: ; preds = %if.then17 + store i32 1, i32* %retval, align 4 + br label %return + +if.end24: ; preds = %if.then17, %if.end12 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end24, %if.then22, %if.then8, %if.then + %27 = load i32, i32* %retval, align 4 + ret i32 %27 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__raise(i32 %signo) #0 { +entry: + %signo.addr = alloca i32, align 4 + store i32 %signo, i32* %signo.addr, align 4 + %call = call i32 @getpid() #19 + %0 = load i32, i32* %signo.addr, align 4 + %call1 = call i32 @kill(i32 %call, i32 %0) #19 + ret i32 %call1 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__libc_sigaction(i32 %sig, %struct.sigaction.800* %act, %struct.sigaction.800* %oact) #0 { +entry: + %sig.addr = alloca i32, align 4 + %act.addr = alloca %struct.sigaction.800*, align 8 + %oact.addr = alloca %struct.sigaction.800*, align 8 + %result = alloca i32, align 4 + %kact = alloca %struct.kernel_sigaction, align 8 + %koact = alloca %struct.kernel_sigaction, align 8 + store i32 %sig, i32* %sig.addr, align 4 + store %struct.sigaction.800* %act, %struct.sigaction.800** %act.addr, align 8 + store %struct.sigaction.800* %oact, %struct.sigaction.800** %oact.addr, align 8 + %0 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %tobool = icmp ne %struct.sigaction.800* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %__sigaction_handler = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %1, i32 0, i32 0 + %sa_handler = bitcast %union.anon.799* %__sigaction_handler to void (i32)** + %2 = load void (i32)*, void (i32)** %sa_handler, align 8 + %k_sa_handler = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 0 + store void (i32)* %2, void (i32)** %k_sa_handler, align 8 + %sa_mask = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 3 + %3 = bitcast %struct.fd_set* %sa_mask to i8* + %4 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %sa_mask1 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %4, i32 0, i32 1 + %5 = bitcast %struct.fd_set* %sa_mask1 to i8* + %call = call i8* @memcpy(i8* %3, i8* %5, i64 128) #19 + %6 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %sa_flags = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %6, i32 0, i32 2 + %7 = load i32, i32* %sa_flags, align 8 + %conv = sext i32 %7 to i64 + %sa_flags2 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 1 + store i64 %conv, i64* %sa_flags2, align 8 + %8 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %sa_restorer = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %8, i32 0, i32 3 + %9 = load void ()*, void ()** %sa_restorer, align 8 + %sa_restorer3 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 2 + store void ()* %9, void ()** %sa_restorer3, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %10 = load i32, i32* %sig.addr, align 4 + %11 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %tobool4 = icmp ne %struct.sigaction.800* %11, null + %kact. = select i1 %tobool4, %struct.kernel_sigaction* %kact, %struct.kernel_sigaction* null + %12 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %tobool5 = icmp ne %struct.sigaction.800* %12, null + %cond9 = select i1 %tobool5, %struct.kernel_sigaction* %koact, %struct.kernel_sigaction* null + %call10 = call i32 bitcast (i32 (i32, %struct.sigaction.800*, %struct.sigaction.800*, i64)* @__syscall_rt_sigaction to i32 (i32, %struct.kernel_sigaction*, %struct.kernel_sigaction*, i64)*)(i32 %10, %struct.kernel_sigaction* %kact., %struct.kernel_sigaction* %cond9, i64 8) #18 + store i32 %call10, i32* %result, align 4 + %13 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %tobool11 = icmp ne %struct.sigaction.800* %13, null + %14 = load i32, i32* %result, align 4 + %cmp = icmp sge i32 %14, 0 + %or.cond = and i1 %tobool11, %cmp + br i1 %or.cond, label %if.then13, label %if.end25 + +if.then13: ; preds = %if.end + %k_sa_handler14 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 0 + %15 = load void (i32)*, void (i32)** %k_sa_handler14, align 8 + %16 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %__sigaction_handler15 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %16, i32 0, i32 0 + %sa_handler16 = bitcast %union.anon.799* %__sigaction_handler15 to void (i32)** + store void (i32)* %15, void (i32)** %sa_handler16, align 8 + %17 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %sa_mask17 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %17, i32 0, i32 1 + %18 = bitcast %struct.fd_set* %sa_mask17 to i8* + %sa_mask18 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 3 + %19 = bitcast %struct.fd_set* %sa_mask18 to i8* + %call19 = call i8* @memcpy(i8* %18, i8* %19, i64 128) #19 + %sa_flags20 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 1 + %20 = load i64, i64* %sa_flags20, align 8 + %conv21 = trunc i64 %20 to i32 + %21 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %sa_flags22 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %21, i32 0, i32 2 + store i32 %conv21, i32* %sa_flags22, align 8 + %sa_restorer23 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 2 + %22 = load void ()*, void ()** %sa_restorer23, align 8 + %23 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %sa_restorer24 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %23, i32 0, i32 3 + store void ()* %22, void ()** %sa_restorer24, align 8 + br label %if.end25 + +if.end25: ; preds = %if.then13, %if.end + %24 = load i32, i32* %result, align 4 + ret i32 %24 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__sigismember(%struct.fd_set* %__set, i32 %__sig) #0 { +entry: + %__set.addr = alloca %struct.fd_set*, align 8 + %__sig.addr = alloca i32, align 4 + %__mask = alloca i64, align 8 + %__word = alloca i64, align 8 + store %struct.fd_set* %__set, %struct.fd_set** %__set.addr, align 8 + store i32 %__sig, i32* %__sig.addr, align 4 + %0 = load i32, i32* %__sig.addr, align 4 + %sub = sub nsw i32 %0, 1 + %conv = sext i32 %sub to i64 + %rem = urem i64 %conv, 64 + %shl = shl i64 1, %rem + store i64 %shl, i64* %__mask, align 8 + %1 = load i32, i32* %__sig.addr, align 4 + %sub1 = sub nsw i32 %1, 1 + %conv2 = sext i32 %sub1 to i64 + %div = udiv i64 %conv2, 64 + store i64 %div, i64* %__word, align 8 + %2 = load %struct.fd_set*, %struct.fd_set** %__set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %2, i32 0, i32 0 + %3 = load i64, i64* %__word, align 8 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 %3 + %4 = load i64, i64* %arrayidx, align 8 + %5 = load i64, i64* %__mask, align 8 + %and = and i64 %4, %5 + %tobool = icmp ne i64 %and, 0 + %6 = zext i1 %tobool to i64 + %cond = select i1 %tobool, i32 1, i32 0 + ret i32 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__sigaddset(%struct.fd_set* %__set, i32 %__sig) #0 { +entry: + %__set.addr = alloca %struct.fd_set*, align 8 + %__sig.addr = alloca i32, align 4 + %__mask = alloca i64, align 8 + %__word = alloca i64, align 8 + store %struct.fd_set* %__set, %struct.fd_set** %__set.addr, align 8 + store i32 %__sig, i32* %__sig.addr, align 4 + %0 = load i32, i32* %__sig.addr, align 4 + %sub = sub nsw i32 %0, 1 + %conv = sext i32 %sub to i64 + %rem = urem i64 %conv, 64 + %shl = shl i64 1, %rem + store i64 %shl, i64* %__mask, align 8 + %1 = load i32, i32* %__sig.addr, align 4 + %sub1 = sub nsw i32 %1, 1 + %conv2 = sext i32 %sub1 to i64 + %div = udiv i64 %conv2, 64 + store i64 %div, i64* %__word, align 8 + %2 = load i64, i64* %__mask, align 8 + %3 = load %struct.fd_set*, %struct.fd_set** %__set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %3, i32 0, i32 0 + %4 = load i64, i64* %__word, align 8 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 %4 + %5 = load i64, i64* %arrayidx, align 8 + %or = or i64 %5, %2 + store i64 %or, i64* %arrayidx, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__sigdelset(%struct.fd_set* %__set, i32 %__sig) #0 { +entry: + %__set.addr = alloca %struct.fd_set*, align 8 + %__sig.addr = alloca i32, align 4 + %__mask = alloca i64, align 8 + %__word = alloca i64, align 8 + store %struct.fd_set* %__set, %struct.fd_set** %__set.addr, align 8 + store i32 %__sig, i32* %__sig.addr, align 4 + %0 = load i32, i32* %__sig.addr, align 4 + %sub = sub nsw i32 %0, 1 + %conv = sext i32 %sub to i64 + %rem = urem i64 %conv, 64 + %shl = shl i64 1, %rem + store i64 %shl, i64* %__mask, align 8 + %1 = load i32, i32* %__sig.addr, align 4 + %sub1 = sub nsw i32 %1, 1 + %conv2 = sext i32 %sub1 to i64 + %div = udiv i64 %conv2, 64 + store i64 %div, i64* %__word, align 8 + %2 = load i64, i64* %__mask, align 8 + %neg = xor i64 %2, -1 + %3 = load %struct.fd_set*, %struct.fd_set** %__set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %3, i32 0, i32 0 + %4 = load i64, i64* %__word, align 8 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 %4 + %5 = load i64, i64* %arrayidx, align 8 + %and = and i64 %5, %neg + store i64 %and, i64* %arrayidx, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %bufsize = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 5 + %1 = load i8*, i8** %__bufpos, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 3 + %3 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %1 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %3 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %bufsize, align 8 + %cmp = icmp ne i64 %sub.ptr.sub, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 3 + %5 = load i8*, i8** %__bufstart1, align 8 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 5 + store i8* %5, i8** %__bufpos2, align 8 + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart3 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 3 + %9 = load i8*, i8** %__bufstart3, align 8 + %10 = load i64, i64* %bufsize, align 8 + %call = call i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %7, i8* %9, i64 %10) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos4 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 5 + %12 = load i8*, i8** %__bufpos4, align 8 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart5 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 3 + %14 = load i8*, i8** %__bufstart5, align 8 + %sub.ptr.lhs.cast6 = ptrtoint i8* %12 to i64 + %sub.ptr.rhs.cast7 = ptrtoint i8* %14 to i64 + %sub.ptr.sub8 = sub i64 %sub.ptr.lhs.cast6, %sub.ptr.rhs.cast7 + ret i64 %sub.ptr.sub8 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__fgetc_unlocked(%struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %uc = alloca i8, align 1 + %uc56 = alloca i8, align 1 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 5 + %1 = load i8*, i8** %__bufpos, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 7 + %3 = load i8*, i8** %__bufgetc_u, align 8 + %cmp = icmp ult i8* %1, %3 + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 5 + %5 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + %6 = load i8, i8* %5, align 1 + %conv = zext i8 %6 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 0 + %7 = load i16, i16* %__modeflags, align 8 + %conv2 = zext i16 %7 to i32 + %and = and i32 %conv2, 131 + %cmp3 = icmp ugt i32 %and, 128 + br i1 %cmp3, label %if.then5, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2r_o(%struct.__STDIO_FILE_STRUCT.568* %8, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end63, label %if.then5 + +if.then5: ; preds = %lor.lhs.false, %if.end + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %9, i32 0, i32 0 + %10 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %10 to i32 + %and8 = and i32 %conv7, 2 + %tobool9 = icmp ne i32 %and8, 0 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %tobool9, label %if.then10, label %if.end18 + +if.then10: ; preds = %if.then5 + %__ungot = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 10 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags11 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags11, align 8 + %dec = add i16 %13, -1 + store i16 %dec, i16* %__modeflags11, align 8 + %conv12 = zext i16 %13 to i32 + %and13 = and i32 %conv12, 1 + %idxprom = sext i32 %and13 to i64 + %arrayidx = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot, i64 0, i64 %idxprom + %14 = load i32, i32* %arrayidx, align 4 + %conv14 = trunc i32 %14 to i8 + store i8 %conv14, i8* %uc, align 1 + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__ungot15 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 10 + %arrayidx16 = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot15, i64 0, i64 1 + store i32 0, i32* %arrayidx16, align 4 + %16 = load i8, i8* %uc, align 1 + %conv17 = zext i8 %16 to i32 + store i32 %conv17, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %if.then5 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 6 + %17 = load i8*, i8** %__bufread, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos19 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 5 + %19 = load i8*, i8** %__bufpos19, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %17 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool20 = icmp ne i64 %sub.ptr.sub, 0 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %tobool20, label %if.then21, label %if.end25 + +if.then21: ; preds = %if.end18 + %__bufpos22 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 5 + %21 = load i8*, i8** %__bufpos22, align 8 + %incdec.ptr23 = getelementptr inbounds i8, i8* %21, i32 1 + store i8* %incdec.ptr23, i8** %__bufpos22, align 8 + %22 = load i8, i8* %21, align 1 + %conv24 = zext i8 %22 to i32 + store i32 %conv24, i32* %retval, align 4 + br label %return + +if.end25: ; preds = %if.end18 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 2 + %23 = load i32, i32* %__filedes, align 4 + %cmp26 = icmp eq i32 %23, -2 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags29 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 0 + %25 = load i16, i16* %__modeflags29, align 8 + %conv30 = zext i16 %25 to i32 + br i1 %cmp26, label %if.then28, label %if.end32 + +if.then28: ; preds = %if.end25 + %or = or i32 %conv30, 4 + %conv31 = trunc i32 %or to i16 + store i16 %conv31, i16* %__modeflags29, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end32: ; preds = %if.end25 + %and35 = and i32 %conv30, 768 + %tobool36 = icmp ne i32 %and35, 0 + br i1 %tobool36, label %if.then37, label %if.end39 + +if.then37: ; preds = %if.end32 + %call38 = call i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.568* bitcast (%struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist to %struct.__STDIO_FILE_STRUCT.568*)) #18 + br label %if.end39 + +if.end39: ; preds = %if.then37, %if.end32 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 4 + %27 = load i8*, i8** %__bufend, align 8 + %28 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %28, i32 0, i32 3 + %29 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast40 = ptrtoint i8* %27 to i64 + %sub.ptr.rhs.cast41 = ptrtoint i8* %29 to i64 + %sub.ptr.sub42 = sub i64 %sub.ptr.lhs.cast40, %sub.ptr.rhs.cast41 + %tobool43 = icmp ne i64 %sub.ptr.sub42, 0 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %tobool43, label %if.then44, label %if.else + +if.then44: ; preds = %if.end39 + %__bufstart45 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %30, i32 0, i32 3 + %31 = load i8*, i8** %__bufstart45, align 8 + %32 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u46 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %32, i32 0, i32 7 + store i8* %31, i8** %__bufgetc_u46, align 8 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call47 = call i64 @__stdio_rfill(%struct.__STDIO_FILE_STRUCT.568* %33) #18 + %tobool48 = icmp ne i64 %call47, 0 + br i1 %tobool48, label %if.then49, label %if.end63 + +if.then49: ; preds = %if.then44 + %34 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread50 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %34, i32 0, i32 6 + %35 = load i8*, i8** %__bufread50, align 8 + %36 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u51 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %36, i32 0, i32 7 + store i8* %35, i8** %__bufgetc_u51, align 8 + %37 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos52 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %37, i32 0, i32 5 + %38 = load i8*, i8** %__bufpos52, align 8 + %incdec.ptr53 = getelementptr inbounds i8, i8* %38, i32 1 + store i8* %incdec.ptr53, i8** %__bufpos52, align 8 + %39 = load i8, i8* %38, align 1 + %conv54 = zext i8 %39 to i32 + store i32 %conv54, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.end39 + %call57 = call i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.568* %30, i8* %uc56, i64 1) #18 + %tobool58 = icmp ne i64 %call57, 0 + br i1 %tobool58, label %if.then59, label %if.end63 + +if.then59: ; preds = %if.else + %40 = load i8, i8* %uc56, align 1 + %conv60 = zext i8 %40 to i32 + store i32 %conv60, i32* %retval, align 4 + br label %return + +if.end63: ; preds = %if.then44, %if.else, %lor.lhs.false + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end63, %if.then59, %if.then49, %if.then28, %if.then21, %if.then10, %if.then + %41 = load i32, i32* %retval, align 4 + ret i32 %41 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @sprintf(i8* noalias %buf, i8* noalias %format, ...) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %format.addr = alloca i8*, align 8 + %arg = alloca [1 x %struct.__va_list_tag.0], align 16 + %rv = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load i8*, i8** %buf.addr, align 8 + %1 = load i8*, i8** %format.addr, align 8 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %call = call i32 @vsnprintf(i8* %0, i64 -1, i8* %1, %struct.__va_list_tag.0* %arraydecay2) #19 + store i32 %call, i32* %rv, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + %2 = load i32, i32* %rv, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @strcmp(i8* nonnull %s1, i8* nonnull %s2) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %r = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + br label %while.cond + +while.cond: ; preds = %land.rhs, %entry + %0 = load i8*, i8** %s1.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = zext i8 %1 to i32 + %2 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %2, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %3 = load i8, i8* %2, align 1 + %conv1 = zext i8 %3 to i32 + %sub = sub nsw i32 %conv, %conv1 + store i32 %sub, i32* %r, align 4 + %cmp = icmp eq i32 %sub, 0 + br i1 %cmp, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %4 = load i8*, i8** %s1.addr, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr3, i8** %s1.addr, align 8 + %5 = load i8, i8* %4, align 1 + %conv4 = sext i8 %5 to i32 + %tobool = icmp ne i32 %conv4, 0 + br i1 %tobool, label %while.cond, label %while.end + +while.end: ; preds = %while.cond, %land.rhs + %6 = load i32, i32* %r, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i64 @strlen(i8* nonnull %s) #14 { +entry: + %s.addr = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load i8*, i8** %p, align 8 + %2 = load i8, i8* %1, align 1 + %tobool = icmp ne i8 %2, 0 + %3 = load i8*, i8** %p, align 8 + br i1 %tobool, label %for.inc, label %for.end + +for.inc: ; preds = %for.cond + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %4 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %3 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %4 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @strncmp(i8* nonnull %s1, i8* nonnull %s2, i64 %n) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i32 0, i32* %r, align 4 + br label %while.cond + +while.cond: ; preds = %land.rhs, %entry + %0 = load i64, i64* %n.addr, align 8 + %dec = add i64 %0, -1 + store i64 %dec, i64* %n.addr, align 8 + %tobool = icmp ne i64 %0, 0 + br i1 %tobool, label %land.lhs.true, label %while.end + +land.lhs.true: ; preds = %while.cond + %1 = load i8*, i8** %s1.addr, align 8 + %2 = load i8, i8* %1, align 1 + %conv = zext i8 %2 to i32 + %3 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %4 = load i8, i8* %3, align 1 + %conv1 = zext i8 %4 to i32 + %sub = sub nsw i32 %conv, %conv1 + store i32 %sub, i32* %r, align 4 + %cmp = icmp eq i32 %sub, 0 + br i1 %cmp, label %land.rhs, label %while.end + +land.rhs: ; preds = %land.lhs.true + %5 = load i8*, i8** %s1.addr, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr3, i8** %s1.addr, align 8 + %6 = load i8, i8* %5, align 1 + %conv4 = sext i8 %6 to i32 + %tobool5 = icmp ne i32 %conv4, 0 + br i1 %tobool5, label %while.cond, label %while.end + +while.end: ; preds = %while.cond, %land.lhs.true, %land.rhs + %7 = load i32, i32* %r, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @isatty(i32 %fd) #0 { +entry: + %fd.addr = alloca i32, align 4 + %term = alloca %struct.termios, align 4 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 @tcgetattr(i32 %0, %struct.termios* %term) #19 + %cmp = icmp eq i32 %call, 0 + %conv = zext i1 %cmp to i32 + ret i32 %conv +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @open64(i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i8*, i8** %pathname.addr, align 8 + %8 = load i32, i32* %flags.addr, align 4 + %9 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_open(i8* %7, i32 %8, i32 %9) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @openat64(i32 %fd, i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %fd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i32, i32* %fd.addr, align 4 + %8 = load i8*, i8** %pathname.addr, align 8 + %9 = load i32, i32* %flags.addr, align 4 + %10 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_openat(i32 %7, i8* %8, i32 %9, i32 %10) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @lseek64(i32 %fd, i64 %offset, i32 %whence) #3 { +entry: + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %offset.addr, align 8 + %2 = load i32, i32* %whence.addr, align 4 + %call = call i64 @__fd_lseek(i32 %0, i64 %1, i32 %2) + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__xstat64(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @stat64(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__lxstat64(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @lstat64(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fxstat64(i32 %vers, i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %vers, i32* %vers.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstat64(i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @ftruncate64(i32 %fd, i64 %length) #3 { +entry: + %fd.addr = alloca i32, align 4 + %length.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %length, i64* %length.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %length.addr, align 8 + %call = call i32 @__fd_ftruncate(i32 %0, i64 %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @statfs64(i8* nonnull %path, %struct.statfs* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.statfs*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.statfs* %buf, %struct.statfs** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.statfs*, %struct.statfs** %buf.addr, align 8 + %call = call i32 @__fd_statfs(i8* %0, %struct.statfs* %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @getdents64(i32 %fd, i8* nonnull %dirp, i64 %count) #3 { +entry: + %fd.addr = alloca i32, align 4 + %dirp.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %dirp, i8** %dirp.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i8*, i8** %dirp.addr, align 8 + %2 = bitcast i8* %1 to %struct.dirent64* + %3 = load i64, i64* %count.addr, align 8 + %conv = trunc i64 %3 to i32 + %call = call i32 @__fd_getdents(i32 %0, %struct.dirent64* %2, i32 %conv) + %conv1 = sext i32 %call to i64 + ret i64 %conv1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @kill(i32 %pid, i32 %sig) #3 { +entry: + %pid.addr = alloca i32, align 4 + %sig.addr = alloca i32, align 4 + store i32 %pid, i32* %pid.addr, align 4 + store i32 %sig, i32* %sig.addr, align 4 + call void @gs_warning.217(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.216, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @gs_warning.217(i8* %message) #3 { +entry: + %message.addr = alloca i8*, align 8 + store i8* %message, i8** %message.addr, align 8 + %0 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %0) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.7.218, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind returns_twice uwtable +define weak dso_local i32 @_setjmp(%struct.__jmp_buf_tag* %__env) #16 { +entry: + %__env.addr = alloca %struct.__jmp_buf_tag*, align 8 + store %struct.__jmp_buf_tag* %__env, %struct.__jmp_buf_tag** %__env.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1.219, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline noreturn nounwind uwtable +define dso_local void @longjmp(%struct.__jmp_buf_tag* %env, i32 %val) #6 { +entry: + %env.addr = alloca %struct.__jmp_buf_tag*, align 8 + %val.addr = alloca i32, align 4 + store %struct.__jmp_buf_tag* %env, %struct.__jmp_buf_tag** %env.addr, align 8 + store i32 %val, i32* %val.addr, align 4 + call void @gs_report_error.223(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.2.220, i64 0, i64 0), i32 37, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.3.221, i64 0, i64 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.4.222, i64 0, i64 0)) #24 + unreachable +} + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error.223(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.7.218, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execl(i8* nonnull %path, i8* nonnull %arg, ...) #3 { +entry: + %path.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + call void @gs_warning.217(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.224, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execlp(i8* nonnull %file, i8* nonnull %arg, ...) #3 { +entry: + %file.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + call void @gs_warning.217(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.224, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execle(i8* nonnull %path, i8* nonnull %arg, ...) #3 { +entry: + %path.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + call void @gs_warning.217(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.224, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execv(i8* nonnull %path, i8** nonnull %argv) #3 { +entry: + %path.addr = alloca i8*, align 8 + %argv.addr = alloca i8**, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + call void @gs_warning.217(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.224, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execvp(i8* nonnull %file, i8** nonnull %argv) #3 { +entry: + %file.addr = alloca i8*, align 8 + %argv.addr = alloca i8**, align 8 + store i8* %file, i8** %file.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + call void @gs_warning.217(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.224, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execve(i8* nonnull %file, i8** nonnull %argv, i8** %envp) #3 { +entry: + %file.addr = alloca i8*, align 8 + %argv.addr = alloca i8**, align 8 + %envp.addr = alloca i8**, align 8 + store i8* %file, i8** %file.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + store i8** %envp, i8*** %envp.addr, align 8 + call void @gs_warning.217(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.224, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fork() #3 { +entry: + call void @gs_warning.217(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.6.225, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 12, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind returns_twice uwtable +define dso_local i32 @vfork() #16 { +entry: + %call = call i32 @fork() #11 + ret i32 %call +} + +; Function Attrs: noinline nounwind readnone uwtable +define i16** @__ctype_b_loc() #12 { +entry: + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 0 + ret i16** %__ctype_b +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @__error(i32 %status, i32 %errnum, i8* %message, ...) #0 { +entry: + %status.addr = alloca i32, align 4 + %errnum.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %args = alloca [1 x %struct.__va_list_tag.0], align 16 + %__S = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %tmp = alloca i32, align 4 + store i32 %status, i32* %status.addr, align 4 + store i32 %errnum, i32* %errnum.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdout, align 8 + %call = call i32 @fflush(%struct.__STDIO_FILE_STRUCT.568* %0) #18 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %2 = load i8*, i8** %message.addr, align 8 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %call3 = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %1, i8* %2, %struct.__va_list_tag.0* %arraydecay2) #18 + %arraydecay4 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay45 = bitcast %struct.__va_list_tag.0* %arraydecay4 to i8* + call void @llvm.va_end(i8* %arraydecay45) + %3 = load i32, i32* @error_message_count, align 4 + %inc = add i32 %3, 1 + store i32 %inc, i32* @error_message_count, align 4 + %4 = load i32, i32* %errnum.addr, align 4 + %tobool = icmp ne i32 %4, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %6 = load i32, i32* %errnum.addr, align 4 + %call6 = call i8* @strerror(i32 %6) #19 + %call7 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %5, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.228, i64 0, i64 0), i8* %call6) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %7, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 5 + %9 = load i8*, i8** %__bufpos, align 8 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 8 + %11 = load i8*, i8** %__bufputc_u, align 8 + %cmp = icmp ult i8* %9, %11 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %if.end + %__bufpos8 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 5 + %13 = load i8*, i8** %__bufpos8, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %13, i32 1 + store i8* %incdec.ptr, i8** %__bufpos8, align 8 + store i8 10, i8* %13, align 1 + br label %cond.end + +cond.false: ; preds = %if.end + %call9 = call i32 @__fputc_unlocked(i32 10, %struct.__STDIO_FILE_STRUCT.568* %12) #18 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ 10, %cond.true ], [ %call9, %cond.false ] + store i32 %cond, i32* %tmp, align 4 + %14 = load i32, i32* %tmp, align 4 + %15 = load i32, i32* %status.addr, align 4 + %tobool10 = icmp ne i32 %15, 0 + br i1 %tobool10, label %if.then11, label %if.end12 + +if.then11: ; preds = %cond.end + %16 = load i32, i32* %status.addr, align 4 + call void @exit(i32 %16) #22 + unreachable + +if.end12: ; preds = %cond.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @__error_at_line(i32 %status, i32 %errnum, i8* %file_name, i32 %line_number, i8* %message, ...) #0 { +entry: + %status.addr = alloca i32, align 4 + %errnum.addr = alloca i32, align 4 + %file_name.addr = alloca i8*, align 8 + %line_number.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %args = alloca [1 x %struct.__va_list_tag.0], align 16 + %__S = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %tmp = alloca i32, align 4 + store i32 %status, i32* %status.addr, align 4 + store i32 %errnum, i32* %errnum.addr, align 4 + store i8* %file_name, i8** %file_name.addr, align 8 + store i32 %line_number, i32* %line_number.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + %0 = load i32, i32* @error_one_per_line, align 4 + %tobool = icmp ne i32 %0, 0 + br i1 %tobool, label %if.then, label %if.end4 + +if.then: ; preds = %entry + %1 = load i32, i32* @__error_at_line.old_line_number, align 4 + %2 = load i32, i32* %line_number.addr, align 4 + %cmp = icmp eq i32 %1, %2 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %if.then + %3 = load i8*, i8** %file_name.addr, align 8 + %4 = load i8*, i8** @__error_at_line.old_file_name, align 8 + %cmp1 = icmp eq i8* %3, %4 + br i1 %cmp1, label %if.end25, label %lor.lhs.false + +lor.lhs.false: ; preds = %land.lhs.true + %5 = load i8*, i8** @__error_at_line.old_file_name, align 8 + %6 = load i8*, i8** %file_name.addr, align 8 + %call = call i32 @strcmp(i8* %5, i8* %6) #20 + %tobool2 = icmp ne i32 %call, 0 + br i1 %tobool2, label %if.end, label %if.end25 + +if.end: ; preds = %lor.lhs.false, %if.then + %7 = load i8*, i8** %file_name.addr, align 8 + store i8* %7, i8** @__error_at_line.old_file_name, align 8 + %8 = load i32, i32* %line_number.addr, align 4 + store i32 %8, i32* @__error_at_line.old_line_number, align 4 + br label %if.end4 + +if.end4: ; preds = %if.end, %entry + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdout, align 8 + %call5 = call i32 @fflush(%struct.__STDIO_FILE_STRUCT.568* %9) #18 + %10 = load i8*, i8** %file_name.addr, align 8 + %cmp6 = icmp ne i8* %10, null + br i1 %cmp6, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end4 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %12 = load i8*, i8** %file_name.addr, align 8 + %13 = load i32, i32* %line_number.addr, align 4 + %call8 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %11, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1.229, i64 0, i64 0), i8* %12, i32 %13) #18 + br label %if.end9 + +if.end9: ; preds = %if.then7, %if.end4 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay10 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay10) + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %15 = load i8*, i8** %message.addr, align 8 + %arraydecay11 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %call12 = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %14, i8* %15, %struct.__va_list_tag.0* %arraydecay11) #18 + %arraydecay13 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay1314 = bitcast %struct.__va_list_tag.0* %arraydecay13 to i8* + call void @llvm.va_end(i8* %arraydecay1314) + %16 = load i32, i32* @error_message_count, align 4 + %inc = add i32 %16, 1 + store i32 %inc, i32* @error_message_count, align 4 + %17 = load i32, i32* %errnum.addr, align 4 + %tobool15 = icmp ne i32 %17, 0 + br i1 %tobool15, label %if.then16, label %if.end19 + +if.then16: ; preds = %if.end9 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %19 = load i32, i32* %errnum.addr, align 4 + %call17 = call i8* @strerror(i32 %19) #19 + %call18 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %18, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.228, i64 0, i64 0), i8* %call17) #18 + br label %if.end19 + +if.end19: ; preds = %if.then16, %if.end9 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %20, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %21 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %21, i32 0, i32 5 + %22 = load i8*, i8** %__bufpos, align 8 + %23 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %23, i32 0, i32 8 + %24 = load i8*, i8** %__bufputc_u, align 8 + %cmp20 = icmp ult i8* %22, %24 + %25 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + br i1 %cmp20, label %cond.true, label %cond.false + +cond.true: ; preds = %if.end19 + %__bufpos21 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %25, i32 0, i32 5 + %26 = load i8*, i8** %__bufpos21, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %26, i32 1 + store i8* %incdec.ptr, i8** %__bufpos21, align 8 + store i8 10, i8* %26, align 1 + br label %cond.end + +cond.false: ; preds = %if.end19 + %call22 = call i32 @__fputc_unlocked(i32 10, %struct.__STDIO_FILE_STRUCT.568* %25) #18 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ 10, %cond.true ], [ %call22, %cond.false ] + store i32 %cond, i32* %tmp, align 4 + %27 = load i32, i32* %tmp, align 4 + %28 = load i32, i32* %status.addr, align 4 + %tobool23 = icmp ne i32 %28, 0 + br i1 %tobool23, label %if.then24, label %if.end25 + +if.then24: ; preds = %cond.end + %29 = load i32, i32* %status.addr, align 4 + call void @exit(i32 %29) #22 + unreachable + +if.end25: ; preds = %land.lhs.true, %lor.lhs.false, %cond.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i8* @nl_langinfo(i32 %item) #0 { +entry: + %item.addr = alloca i32, align 4 + store i32 %item, i32* %item.addr, align 4 + %0 = load i32, i32* %item.addr, align 4 + %1 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %call = call i8* @nl_langinfo_l(i32 %0, %struct.__uclibc_locale_struct.201* %1) #18 + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define i8* @setlocale(i32 %category, i8* %locale) #0 { +entry: + %retval = alloca i8*, align 8 + %category.addr = alloca i32, align 4 + %locale.addr = alloca i8*, align 8 + store i32 %category, i32* %category.addr, align 4 + store i8* %locale, i8** %locale.addr, align 8 + %0 = load i32, i32* %category.addr, align 4 + %cmp = icmp ugt i32 %0, 6 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %locale.addr, align 8 + %cmp1 = icmp ne i8* %1, null + br i1 %cmp1, label %if.then2, label %if.end5 + +if.then2: ; preds = %if.end + %2 = load i32, i32* %category.addr, align 4 + %shl = shl i32 1, %2 + %3 = load i8*, i8** %locale.addr, align 8 + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__global_locale, align 8 + %call = call %struct.__uclibc_locale_struct.201* @newlocale(i32 %shl, i8* %3, %struct.__uclibc_locale_struct.201* %4) #19 + %tobool = icmp ne %struct.__uclibc_locale_struct.201* %call, null + br i1 %tobool, label %if.end4, label %if.then3 + +if.then3: ; preds = %if.then2 + store i8* null, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %if.then2 + %5 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__global_locale, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %5, i32 0, i32 6 + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + call void @update_hr_locale(i8* %arraydecay) #18 + br label %if.end5 + +if.end5: ; preds = %if.end4, %if.end + %6 = load i32, i32* %category.addr, align 4 + %mul = mul nsw i32 %6, 32 + %idx.ext = sext i32 %mul to i64 + %add.ptr = getelementptr inbounds i8, i8* getelementptr inbounds ([448 x i8], [448 x i8]* @hr_locale, i64 0, i64 0), i64 %idx.ext + store i8* %add.ptr, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %7 = load i8*, i8** %retval, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @update_hr_locale(i8* %spec) #0 { +entry: + %spec.addr = alloca i8*, align 8 + %loc = alloca i8*, align 8 + %s = alloca i8*, align 8 + %n = alloca i8*, align 8 + %i = alloca i32, align 4 + %category = alloca i32, align 4 + %done = alloca i32, align 4 + %at = alloca i8, align 1 + %q = alloca i8*, align 8 + store i8* %spec, i8** %spec.addr, align 8 + store i32 0, i32* %category, align 4 + store i32 0, i32* %done, align 4 + br label %do.body + +do.body: ; preds = %do.end127, %entry + %0 = load i8*, i8** %spec.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %0, i64 1 + store i8* %add.ptr, i8** %s, align 8 + %1 = load i32, i32* %category, align 4 + %mul = mul nsw i32 %1, 32 + %idx.ext = sext i32 %mul to i64 + %add.ptr1 = getelementptr inbounds i8, i8* getelementptr inbounds ([448 x i8], [448 x i8]* @hr_locale, i64 0, i64 0), i64 %idx.ext + store i8* %add.ptr1, i8** %n, align 8 + %2 = load i32, i32* %category, align 4 + %cmp = icmp eq i32 %2, 6 + br i1 %cmp, label %if.then, label %SKIP + +if.then: ; preds = %do.body + store i32 1, i32* %done, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.then + %3 = load i32, i32* %i, align 4 + %cmp2 = icmp slt i32 %3, 5 + br i1 %cmp2, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %4 = load i8*, i8** %s, align 8 + %5 = load i32, i32* %i, align 4 + %idxprom = sext i32 %5 to i64 + %arrayidx = getelementptr inbounds i8, i8* %4, i64 %idxprom + %6 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %6 to i32 + %7 = load i8*, i8** %s, align 8 + %8 = load i32, i32* %i, align 4 + %add = add nsw i32 %8, 2 + %idxprom3 = sext i32 %add to i64 + %arrayidx4 = getelementptr inbounds i8, i8* %7, i64 %idxprom3 + %9 = load i8, i8* %arrayidx4, align 1 + %conv5 = zext i8 %9 to i32 + %cmp6 = icmp ne i32 %conv, %conv5 + br i1 %cmp6, label %SKIP, label %lor.lhs.false + +lor.lhs.false: ; preds = %for.body + %10 = load i8*, i8** %s, align 8 + %11 = load i32, i32* %i, align 4 + %add8 = add nsw i32 %11, 1 + %idxprom9 = sext i32 %add8 to i64 + %arrayidx10 = getelementptr inbounds i8, i8* %10, i64 %idxprom9 + %12 = load i8, i8* %arrayidx10, align 1 + %conv11 = zext i8 %12 to i32 + %13 = load i8*, i8** %s, align 8 + %14 = load i32, i32* %i, align 4 + %add12 = add nsw i32 %14, 3 + %idxprom13 = sext i32 %add12 to i64 + %arrayidx14 = getelementptr inbounds i8, i8* %13, i64 %idxprom13 + %15 = load i8, i8* %arrayidx14, align 1 + %conv15 = zext i8 %15 to i32 + %cmp16 = icmp ne i32 %conv11, %conv15 + br i1 %cmp16, label %SKIP, label %for.inc + +for.inc: ; preds = %lor.lhs.false + %16 = load i32, i32* %i, align 4 + %add19 = add nsw i32 %16, 2 + store i32 %add19, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + store i32 0, i32* %category, align 4 + br label %SKIP + +SKIP: ; preds = %do.body, %for.end, %for.body, %lor.lhs.false + %17 = load i32, i32* %category, align 4 + %cmp21 = icmp eq i32 %17, 6 + %18 = load i32, i32* %category, align 4 + %cond = select i1 %cmp21, i32 0, i32 %18 + store i32 %cond, i32* %i, align 4 + %19 = load i32, i32* %i, align 4 + %mul23 = mul nsw i32 2, %19 + %20 = load i8*, i8** %s, align 8 + %idx.ext24 = sext i32 %mul23 to i64 + %add.ptr25 = getelementptr inbounds i8, i8* %20, i64 %idx.ext24 + store i8* %add.ptr25, i8** %s, align 8 + br label %do.body26 + +do.body26: ; preds = %if.end122, %SKIP + %21 = load i8*, i8** %s, align 8 + %22 = load i8, i8* %21, align 1 + %conv27 = zext i8 %22 to i32 + %cmp28 = icmp ne i32 %conv27, 255 + br i1 %cmp28, label %if.then35, label %lor.lhs.false30 + +lor.lhs.false30: ; preds = %do.body26 + %23 = load i8*, i8** %s, align 8 + %arrayidx31 = getelementptr inbounds i8, i8* %23, i64 1 + %24 = load i8, i8* %arrayidx31, align 1 + %conv32 = zext i8 %24 to i32 + %cmp33 = icmp ne i32 %conv32, 255 + br i1 %cmp33, label %if.then35, label %if.end122 + +if.then35: ; preds = %lor.lhs.false30, %do.body26 + %25 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %25, i32 0, i32 31 + %arraydecay = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales, i64 0, i64 0 + %26 = load i8*, i8** %s, align 8 + %27 = load i8, i8* %26, align 1 + %conv36 = zext i8 %27 to i32 + %and = and i32 %conv36, 127 + %shl = shl i32 %and, 7 + %28 = load i8*, i8** %s, align 8 + %arrayidx37 = getelementptr inbounds i8, i8* %28, i64 1 + %29 = load i8, i8* %arrayidx37, align 1 + %conv38 = zext i8 %29 to i32 + %and39 = and i32 %conv38, 127 + %add40 = add nsw i32 %shl, %and39 + %mul41 = mul nsw i32 9, %add40 + %idx.ext42 = sext i32 %mul41 to i64 + %add.ptr43 = getelementptr inbounds i8, i8* %arraydecay, i64 %idx.ext42 + store i8* %add.ptr43, i8** %loc, align 8 + %30 = load i32, i32* %category, align 4 + %cmp44 = icmp eq i32 %30, 6 + br i1 %cmp44, label %if.then46, label %if.end54 + +if.then46: ; preds = %if.then35 + %31 = load i8*, i8** %n, align 8 + %32 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %32, i32 0, i32 34 + %arraydecay47 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names, i64 0, i64 0 + %33 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names48 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %33, i32 0, i32 34 + %34 = load i32, i32* %i, align 4 + %idxprom49 = sext i32 %34 to i64 + %arrayidx50 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names48, i64 0, i64 %idxprom49 + %35 = load i8, i8* %arrayidx50, align 1 + %conv51 = zext i8 %35 to i32 + %idx.ext52 = sext i32 %conv51 to i64 + %add.ptr53 = getelementptr inbounds i8, i8* %arraydecay47, i64 %idx.ext52 + %call = call i8* @stpcpy(i8* %31, i8* %add.ptr53) #19 + store i8* %call, i8** %n, align 8 + %36 = load i8*, i8** %n, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %36, i32 1 + store i8* %incdec.ptr, i8** %n, align 8 + store i8 61, i8* %36, align 1 + br label %if.end54 + +if.end54: ; preds = %if.then46, %if.then35 + %37 = load i8*, i8** %loc, align 8 + %38 = load i8, i8* %37, align 1 + %conv55 = zext i8 %38 to i32 + %cmp56 = icmp eq i32 %conv55, 0 + br i1 %cmp56, label %if.then58, label %if.else + +if.then58: ; preds = %if.end54 + %39 = load i8*, i8** %n, align 8 + %incdec.ptr59 = getelementptr inbounds i8, i8* %39, i32 1 + store i8* %incdec.ptr59, i8** %n, align 8 + store i8 67, i8* %39, align 1 + %40 = load i8*, i8** %n, align 8 + store i8 0, i8* %40, align 1 + br label %if.end120 + +if.else: ; preds = %if.end54 + store i8 0, i8* %at, align 1 + %41 = load i8*, i8** %n, align 8 + %42 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_names5 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %42, i32 0, i32 32 + %arraydecay60 = getelementptr inbounds [835 x i8], [835 x i8]* %locale_names5, i64 0, i64 0 + %43 = load i8*, i8** %loc, align 8 + %44 = load i8, i8* %43, align 1 + %conv61 = zext i8 %44 to i32 + %sub = sub nsw i32 %conv61, 1 + %mul62 = mul nsw i32 5, %sub + %idx.ext63 = sext i32 %mul62 to i64 + %add.ptr64 = getelementptr inbounds i8, i8* %arraydecay60, i64 %idx.ext63 + %call65 = call i8* @memcpy(i8* %41, i8* %add.ptr64, i64 5) #19 + %45 = load i8*, i8** %n, align 8 + %arrayidx66 = getelementptr inbounds i8, i8* %45, i64 2 + %46 = load i8, i8* %arrayidx66, align 1 + %conv67 = sext i8 %46 to i32 + %cmp68 = icmp ne i32 %conv67, 95 + br i1 %cmp68, label %if.then70, label %if.end73 + +if.then70: ; preds = %if.else + %47 = load i8*, i8** %n, align 8 + %arrayidx71 = getelementptr inbounds i8, i8* %47, i64 2 + %48 = load i8, i8* %arrayidx71, align 1 + store i8 %48, i8* %at, align 1 + %49 = load i8*, i8** %n, align 8 + %arrayidx72 = getelementptr inbounds i8, i8* %49, i64 2 + store i8 95, i8* %arrayidx72, align 1 + br label %if.end73 + +if.end73: ; preds = %if.then70, %if.else + %50 = load i8*, i8** %n, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %50, i64 5 + store i8* %add.ptr74, i8** %n, align 8 + %51 = load i8*, i8** %n, align 8 + %incdec.ptr75 = getelementptr inbounds i8, i8* %51, i32 1 + store i8* %incdec.ptr75, i8** %n, align 8 + store i8 46, i8* %51, align 1 + %52 = load i8*, i8** %loc, align 8 + %arrayidx76 = getelementptr inbounds i8, i8* %52, i64 2 + %53 = load i8, i8* %arrayidx76, align 1 + %conv77 = zext i8 %53 to i32 + %cmp78 = icmp eq i32 %conv77, 2 + br i1 %cmp78, label %if.then80, label %if.else82 + +if.then80: ; preds = %if.end73 + %54 = load i8*, i8** %n, align 8 + %call81 = call i8* @stpcpy(i8* %54, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf8.236, i64 0, i64 0)) #19 + store i8* %call81, i8** %n, align 8 + br label %if.end100 + +if.else82: ; preds = %if.end73 + %55 = load i8*, i8** %loc, align 8 + %arrayidx83 = getelementptr inbounds i8, i8* %55, i64 2 + %56 = load i8, i8* %arrayidx83, align 1 + %conv84 = zext i8 %56 to i32 + %cmp85 = icmp sge i32 %conv84, 3 + br i1 %cmp85, label %if.then87, label %if.end100 + +if.then87: ; preds = %if.else82 + %57 = load i8*, i8** %n, align 8 + %58 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %58, i32 0, i32 35 + %arraydecay88 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list, i64 0, i64 0 + %59 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list89 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %59, i32 0, i32 35 + %60 = load i8*, i8** %loc, align 8 + %arrayidx90 = getelementptr inbounds i8, i8* %60, i64 2 + %61 = load i8, i8* %arrayidx90, align 1 + %conv91 = zext i8 %61 to i32 + %sub92 = sub nsw i32 %conv91, 3 + %idxprom93 = sext i32 %sub92 to i64 + %arrayidx94 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list89, i64 0, i64 %idxprom93 + %62 = load i8, i8* %arrayidx94, align 1 + %conv95 = zext i8 %62 to i32 + %idx.ext96 = sext i32 %conv95 to i64 + %add.ptr97 = getelementptr inbounds i8, i8* %arraydecay88, i64 %idx.ext96 + %call98 = call i8* @stpcpy(i8* %57, i8* %add.ptr97) #19 + store i8* %call98, i8** %n, align 8 + br label %if.end100 + +if.end100: ; preds = %if.else82, %if.then87, %if.then80 + %63 = load i8, i8* %at, align 1 + %tobool = icmp ne i8 %63, 0 + br i1 %tobool, label %if.then101, label %if.end120 + +if.then101: ; preds = %if.end100 + %64 = load i8*, i8** %n, align 8 + %incdec.ptr102 = getelementptr inbounds i8, i8* %64, i32 1 + store i8* %incdec.ptr102, i8** %n, align 8 + store i8 64, i8* %64, align 1 + %65 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_at_modifiers = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %65, i32 0, i32 33 + %arraydecay103 = getelementptr inbounds [18 x i8], [18 x i8]* %locale_at_modifiers, i64 0, i64 0 + store i8* %arraydecay103, i8** %q, align 8 + br label %do.body104 + +do.body104: ; preds = %if.end113, %if.then101 + %66 = load i8*, i8** %q, align 8 + %arrayidx105 = getelementptr inbounds i8, i8* %66, i64 1 + %67 = load i8, i8* %arrayidx105, align 1 + %conv106 = sext i8 %67 to i32 + %68 = load i8, i8* %at, align 1 + %conv107 = sext i8 %68 to i32 + %cmp108 = icmp eq i32 %conv106, %conv107 + br i1 %cmp108, label %if.then110, label %if.end113 + +if.then110: ; preds = %do.body104 + %69 = load i8*, i8** %n, align 8 + %70 = load i8*, i8** %q, align 8 + %add.ptr111 = getelementptr inbounds i8, i8* %70, i64 2 + %call112 = call i8* @stpcpy(i8* %69, i8* %add.ptr111) #19 + store i8* %call112, i8** %n, align 8 + br label %if.end120 + +if.end113: ; preds = %do.body104 + %71 = load i8*, i8** %q, align 8 + %72 = load i8, i8* %71, align 1 + %conv114 = sext i8 %72 to i32 + %add115 = add nsw i32 2, %conv114 + %73 = load i8*, i8** %q, align 8 + %idx.ext116 = sext i32 %add115 to i64 + %add.ptr117 = getelementptr inbounds i8, i8* %73, i64 %idx.ext116 + store i8* %add.ptr117, i8** %q, align 8 + %74 = load i8*, i8** %q, align 8 + %75 = load i8, i8* %74, align 1 + %tobool118 = icmp ne i8 %75, 0 + br i1 %tobool118, label %do.body104, label %if.end120 + +if.end120: ; preds = %if.end100, %if.end113, %if.then110, %if.then58 + %76 = load i8*, i8** %n, align 8 + %incdec.ptr121 = getelementptr inbounds i8, i8* %76, i32 1 + store i8* %incdec.ptr121, i8** %n, align 8 + store i8 59, i8* %76, align 1 + br label %if.end122 + +if.end122: ; preds = %if.end120, %lor.lhs.false30 + %77 = load i8*, i8** %s, align 8 + %add.ptr123 = getelementptr inbounds i8, i8* %77, i64 2 + store i8* %add.ptr123, i8** %s, align 8 + %78 = load i32, i32* %i, align 4 + %inc = add nsw i32 %78, 1 + store i32 %inc, i32* %i, align 4 + %79 = load i32, i32* %category, align 4 + %cmp125 = icmp slt i32 %inc, %79 + br i1 %cmp125, label %do.body26, label %do.end127 + +do.end127: ; preds = %if.end122 + %80 = load i8*, i8** %n, align 8 + %incdec.ptr128 = getelementptr inbounds i8, i8* %80, i32 -1 + store i8* %incdec.ptr128, i8** %n, align 8 + store i8 0, i8* %incdec.ptr128, align 1 + %81 = load i32, i32* %category, align 4 + %inc129 = add nsw i32 %81, 1 + store i32 %inc129, i32* %category, align 4 + %82 = load i32, i32* %done, align 4 + %tobool131 = icmp ne i32 %82, 0 + %lnot = xor i1 %tobool131, true + br i1 %lnot, label %do.body, label %do.end132 + +do.end132: ; preds = %do.end127 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define void @setutent() #0 { +entry: + call void @__setutent() #18 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__setutent() #0 { +entry: + %ret = alloca i32, align 4 + %0 = load i32, i32* @static_fd, align 4 + %cmp = icmp eq i32 %0, -1 + br i1 %cmp, label %if.then, label %if.end16 + +if.then: ; preds = %entry + %1 = load i8*, i8** @static_ut_name, align 8 + %call = call i32 (i8*, i32, ...) @open(i8* %1, i32 2) #18 + store i32 %call, i32* @static_fd, align 4 + %cmp1 = icmp slt i32 %call, 0 + br i1 %cmp1, label %if.then2, label %if.end6 + +if.then2: ; preds = %if.then + %2 = load i8*, i8** @static_ut_name, align 8 + %call3 = call i32 (i8*, i32, ...) @open(i8* %2, i32 0) #18 + store i32 %call3, i32* @static_fd, align 4 + %cmp4 = icmp slt i32 %call3, 0 + br i1 %cmp4, label %bummer, label %if.end6 + +if.end6: ; preds = %if.then2, %if.then + %3 = load i32, i32* @static_fd, align 4 + %call7 = call i32 (i32, i32, ...) @fcntl(i32 %3, i32 1, i32 0) #18 + store i32 %call7, i32* %ret, align 4 + %4 = load i32, i32* %ret, align 4 + %cmp8 = icmp sge i32 %4, 0 + br i1 %cmp8, label %if.then9, label %if.end11 + +if.then9: ; preds = %if.end6 + %5 = load i32, i32* @static_fd, align 4 + %6 = load i32, i32* %ret, align 4 + %or = or i32 %6, 1 + %call10 = call i32 (i32, i32, ...) @fcntl(i32 %5, i32 2, i32 %or) #18 + store i32 %call10, i32* %ret, align 4 + br label %if.end11 + +if.end11: ; preds = %if.then9, %if.end6 + %7 = load i32, i32* %ret, align 4 + %cmp12 = icmp slt i32 %7, 0 + br i1 %cmp12, label %bummer, label %if.end16 + +bummer: ; preds = %if.end11, %if.then2 + store i32 -1, i32* @static_fd, align 4 + %8 = load i32, i32* @static_fd, align 4 + %call14 = call i32 @close(i32 %8) #18 + br label %return + +if.end16: ; preds = %if.end11, %entry + %9 = load i32, i32* @static_fd, align 4 + %call17 = call i64 @lseek(i32 %9, i64 0, i32 0) #19 + br label %return + +return: ; preds = %if.end16, %bummer + ret void +} + +; Function Attrs: noinline nounwind uwtable +define void @endutent() #0 { +entry: + %0 = load i32, i32* @static_fd, align 4 + %cmp = icmp ne i32 %0, -1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load i32, i32* @static_fd, align 4 + %call = call i32 @close(i32 %1) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + store i32 -1, i32* @static_fd, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @getutent() #0 { +entry: + %ret = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* null, %struct.utmp.323** %ret, align 8 + %0 = load i32, i32* @static_fd, align 4 + %call = call %struct.utmp.323* @__getutent(i32 %0) #18 + store %struct.utmp.323* %call, %struct.utmp.323** %ret, align 8 + %1 = load %struct.utmp.323*, %struct.utmp.323** %ret, align 8 + ret %struct.utmp.323* %1 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.utmp.323* @__getutent(i32 %utmp_fd) #0 { +entry: + %retval = alloca %struct.utmp.323*, align 8 + %utmp_fd.addr = alloca i32, align 4 + %ret = alloca %struct.utmp.323*, align 8 + store i32 %utmp_fd, i32* %utmp_fd.addr, align 4 + store %struct.utmp.323* null, %struct.utmp.323** %ret, align 8 + %0 = load i32, i32* %utmp_fd.addr, align 4 + %cmp = icmp eq i32 %0, -1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @__setutent() #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i32, i32* %utmp_fd.addr, align 4 + %cmp1 = icmp eq i32 %1, -1 + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + store %struct.utmp.323* null, %struct.utmp.323** %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %2 = load i32, i32* %utmp_fd.addr, align 4 + %call = call i64 @read(i32 %2, i8* bitcast (%struct.utmp.323* @static_utmp to i8*), i64 400) #18 + %cmp4 = icmp eq i64 %call, 400 + br i1 %cmp4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end3 + store %struct.utmp.323* @static_utmp, %struct.utmp.323** %ret, align 8 + br label %if.end6 + +if.end6: ; preds = %if.then5, %if.end3 + %3 = load %struct.utmp.323*, %struct.utmp.323** %ret, align 8 + store %struct.utmp.323* %3, %struct.utmp.323** %retval, align 8 + br label %return + +return: ; preds = %if.end6, %if.then2 + %4 = load %struct.utmp.323*, %struct.utmp.323** %retval, align 8 + ret %struct.utmp.323* %4 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @getutid(%struct.utmp.323* %utmp_entry) #0 { +entry: + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + %ret = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + store %struct.utmp.323* null, %struct.utmp.323** %ret, align 8 + %0 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %call = call %struct.utmp.323* @__getutid(%struct.utmp.323* %0) #18 + store %struct.utmp.323* %call, %struct.utmp.323** %ret, align 8 + %1 = load %struct.utmp.323*, %struct.utmp.323** %ret, align 8 + ret %struct.utmp.323* %1 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.utmp.323* @__getutid(%struct.utmp.323* %utmp_entry) #0 { +entry: + %retval = alloca %struct.utmp.323*, align 8 + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + %lutmp = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end47, %entry + %0 = load i32, i32* @static_fd, align 4 + %call = call %struct.utmp.323* @__getutent(i32 %0) #18 + store %struct.utmp.323* %call, %struct.utmp.323** %lutmp, align 8 + %cmp = icmp ne %struct.utmp.323* %call, null + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %1 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %1, i32 0, i32 0 + %2 = load i16, i16* %ut_type, align 8 + %conv = sext i16 %2 to i32 + %cmp1 = icmp eq i32 %conv, 1 + br i1 %cmp1, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.body + %3 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type3 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %3, i32 0, i32 0 + %4 = load i16, i16* %ut_type3, align 8 + %conv4 = sext i16 %4 to i32 + %cmp5 = icmp eq i32 %conv4, 2 + br i1 %cmp5, label %land.lhs.true, label %lor.lhs.false7 + +lor.lhs.false7: ; preds = %lor.lhs.false + %5 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type8 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %5, i32 0, i32 0 + %6 = load i16, i16* %ut_type8, align 8 + %conv9 = sext i16 %6 to i32 + %cmp10 = icmp eq i32 %conv9, 3 + br i1 %cmp10, label %land.lhs.true, label %lor.lhs.false12 + +lor.lhs.false12: ; preds = %lor.lhs.false7 + %7 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type13 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %7, i32 0, i32 0 + %8 = load i16, i16* %ut_type13, align 8 + %conv14 = sext i16 %8 to i32 + %cmp15 = icmp eq i32 %conv14, 4 + br i1 %cmp15, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %lor.lhs.false12, %lor.lhs.false7, %lor.lhs.false, %while.body + %9 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_type17 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %9, i32 0, i32 0 + %10 = load i16, i16* %ut_type17, align 8 + %conv18 = sext i16 %10 to i32 + %11 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type19 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %11, i32 0, i32 0 + %12 = load i16, i16* %ut_type19, align 8 + %conv20 = sext i16 %12 to i32 + %cmp21 = icmp eq i32 %conv18, %conv20 + br i1 %cmp21, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %13 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + store %struct.utmp.323* %13, %struct.utmp.323** %retval, align 8 + br label %return + +if.end: ; preds = %land.lhs.true, %lor.lhs.false12 + %14 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type23 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %14, i32 0, i32 0 + %15 = load i16, i16* %ut_type23, align 8 + %conv24 = sext i16 %15 to i32 + %cmp25 = icmp eq i32 %conv24, 5 + br i1 %cmp25, label %land.lhs.true42, label %lor.lhs.false27 + +lor.lhs.false27: ; preds = %if.end + %16 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type28 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %16, i32 0, i32 0 + %17 = load i16, i16* %ut_type28, align 8 + %conv29 = sext i16 %17 to i32 + %cmp30 = icmp eq i32 %conv29, 8 + br i1 %cmp30, label %land.lhs.true42, label %lor.lhs.false32 + +lor.lhs.false32: ; preds = %lor.lhs.false27 + %18 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type33 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %18, i32 0, i32 0 + %19 = load i16, i16* %ut_type33, align 8 + %conv34 = sext i16 %19 to i32 + %cmp35 = icmp eq i32 %conv34, 6 + br i1 %cmp35, label %land.lhs.true42, label %lor.lhs.false37 + +lor.lhs.false37: ; preds = %lor.lhs.false32 + %20 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type38 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %20, i32 0, i32 0 + %21 = load i16, i16* %ut_type38, align 8 + %conv39 = sext i16 %21 to i32 + %cmp40 = icmp eq i32 %conv39, 7 + br i1 %cmp40, label %land.lhs.true42, label %if.end47 + +land.lhs.true42: ; preds = %lor.lhs.false37, %lor.lhs.false32, %lor.lhs.false27, %if.end + %22 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_id = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %22, i32 0, i32 3 + %arraydecay = getelementptr inbounds [4 x i8], [4 x i8]* %ut_id, i64 0, i64 0 + %23 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_id43 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %23, i32 0, i32 3 + %arraydecay44 = getelementptr inbounds [4 x i8], [4 x i8]* %ut_id43, i64 0, i64 0 + %call45 = call i32 @strncmp(i8* %arraydecay, i8* %arraydecay44, i64 4) #20 + %tobool = icmp ne i32 %call45, 0 + br i1 %tobool, label %if.end47, label %if.then46 + +if.then46: ; preds = %land.lhs.true42 + %24 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + store %struct.utmp.323* %24, %struct.utmp.323** %retval, align 8 + br label %return + +if.end47: ; preds = %land.lhs.true42, %lor.lhs.false37 + br label %while.cond + +while.end: ; preds = %while.cond + store %struct.utmp.323* null, %struct.utmp.323** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then46, %if.then + %25 = load %struct.utmp.323*, %struct.utmp.323** %retval, align 8 + ret %struct.utmp.323* %25 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @getutline(%struct.utmp.323* %utmp_entry) #0 { +entry: + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + %lutmp = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + store %struct.utmp.323* null, %struct.utmp.323** %lutmp, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %0 = load i32, i32* @static_fd, align 4 + %call = call %struct.utmp.323* @__getutent(i32 %0) #18 + store %struct.utmp.323* %call, %struct.utmp.323** %lutmp, align 8 + %cmp = icmp ne %struct.utmp.323* %call, null + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %1 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_type = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %1, i32 0, i32 0 + %2 = load i16, i16* %ut_type, align 8 + %conv = sext i16 %2 to i32 + %cmp1 = icmp eq i32 %conv, 7 + br i1 %cmp1, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.body + %3 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_type3 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %3, i32 0, i32 0 + %4 = load i16, i16* %ut_type3, align 8 + %conv4 = sext i16 %4 to i32 + %cmp5 = icmp eq i32 %conv4, 6 + br i1 %cmp5, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %lor.lhs.false, %while.body + %5 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_line = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %5, i32 0, i32 2 + %arraydecay = getelementptr inbounds [32 x i8], [32 x i8]* %ut_line, i64 0, i64 0 + %6 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_line7 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %6, i32 0, i32 2 + %arraydecay8 = getelementptr inbounds [32 x i8], [32 x i8]* %ut_line7, i64 0, i64 0 + %call9 = call i32 @strcmp(i8* %arraydecay, i8* %arraydecay8) #20 + %tobool = icmp ne i32 %call9, 0 + br i1 %tobool, label %if.end, label %while.end + +if.end: ; preds = %land.lhs.true, %lor.lhs.false + br label %while.cond + +while.end: ; preds = %land.lhs.true, %while.cond + %7 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + ret %struct.utmp.323* %7 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @pututline(%struct.utmp.323* %utmp_entry) #0 { +entry: + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + %0 = load i32, i32* @static_fd, align 4 + %call = call i64 @lseek(i32 %0, i64 -400, i32 1) #19 + %1 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %call1 = call %struct.utmp.323* @__getutid(%struct.utmp.323* %1) #18 + %cmp = icmp ne %struct.utmp.323* %call1, null + %2 = load i32, i32* @static_fd, align 4 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %call2 = call i64 @lseek(i32 %2, i64 -400, i32 1) #19 + br label %if.end + +if.else: ; preds = %entry + %call3 = call i64 @lseek(i32 %2, i64 0, i32 2) #19 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %3 = load i32, i32* @static_fd, align 4 + %4 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %5 = bitcast %struct.utmp.323* %4 to i8* + %call4 = call i64 @write(i32 %3, i8* %5, i64 400) #18 + %cmp5 = icmp ne i64 %call4, 400 + br i1 %cmp5, label %if.then6, label %if.end7 + +if.then6: ; preds = %if.end + store %struct.utmp.323* null, %struct.utmp.323** %utmp_entry.addr, align 8 + br label %if.end7 + +if.end7: ; preds = %if.then6, %if.end + %6 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + ret %struct.utmp.323* %6 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @utmpname(i8* %new_ut_name) #0 { +entry: + %new_ut_name.addr = alloca i8*, align 8 + store i8* %new_ut_name, i8** %new_ut_name.addr, align 8 + %0 = load i8*, i8** %new_ut_name.addr, align 8 + %cmp = icmp ne i8* %0, null + br i1 %cmp, label %if.then, label %if.end6 + +if.then: ; preds = %entry + %1 = load i8*, i8** @static_ut_name, align 8 + %cmp1 = icmp ne i8* %1, getelementptr inbounds ([14 x i8], [14 x i8]* @default_file_name, i64 0, i64 0) + br i1 %cmp1, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + %2 = load i8*, i8** @static_ut_name, align 8 + call void @free(i8* %2) #19 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %3 = load i8*, i8** %new_ut_name.addr, align 8 + %call = call noalias i8* @strdup(i8* %3) #19 + store i8* %call, i8** @static_ut_name, align 8 + %4 = load i8*, i8** @static_ut_name, align 8 + %cmp3 = icmp eq i8* %4, null + %spec.store.select = select i1 %cmp3, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @default_file_name, i64 0, i64 0), i8* %call + store i8* %spec.store.select, i8** @static_ut_name, align 8 + br label %if.end6 + +if.end6: ; preds = %if.end, %entry + %5 = load i32, i32* @static_fd, align 4 + %cmp7 = icmp ne i32 %5, -1 + br i1 %cmp7, label %if.then8, label %if.end10 + +if.then8: ; preds = %if.end6 + %6 = load i32, i32* @static_fd, align 4 + %call9 = call i32 @close(i32 %6) #18 + br label %if.end10 + +if.end10: ; preds = %if.then8, %if.end6 + store i32 -1, i32* @static_fd, align 4 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_wchar_utf8sntowcs(i32* noalias %pwc, i64 %wn, i8** noalias %src, i64 %n, %struct.__mbstate_t.512* %ps, i32 %allow_continuation) #0 { +entry: + %retval = alloca i64, align 8 + %pwc.addr = alloca i32*, align 8 + %wn.addr = alloca i64, align 8 + %src.addr = alloca i8**, align 8 + %n.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %allow_continuation.addr = alloca i32, align 4 + %s = alloca i8*, align 8 + %mask = alloca i32, align 4 + %wc = alloca i32, align 4 + %wcbuf = alloca [1 x i32], align 4 + %count = alloca i64, align 8 + %incr = alloca i32, align 4 + store i32* %pwc, i32** %pwc.addr, align 8 + store i64 %wn, i64* %wn.addr, align 8 + store i8** %src, i8*** %src.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + store i32 %allow_continuation, i32* %allow_continuation.addr, align 4 + %0 = load i8**, i8*** %src.addr, align 8 + %1 = load i8*, i8** %0, align 8 + store i8* %1, i8** %s, align 8 + store i32 1, i32* %incr, align 4 + %2 = load i32*, i32** %pwc.addr, align 8 + %tobool = icmp ne i32* %2, null + br i1 %tobool, label %lor.lhs.false, label %if.then + +lor.lhs.false: ; preds = %entry + %3 = load i32*, i32** %pwc.addr, align 8 + %4 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %5 = bitcast %struct.__mbstate_t.512* %4 to i32* + %cmp = icmp eq i32* %3, %5 + br i1 %cmp, label %if.then, label %if.end3 + +if.then: ; preds = %lor.lhs.false, %entry + %6 = load i32*, i32** %pwc.addr, align 8 + %tobool1 = icmp ne i32* %6, null + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + store i64 -1, i64* %wn.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %arraydecay = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay, i32** %pwc.addr, align 8 + store i32 0, i32* %incr, align 4 + br label %if.end3 + +if.end3: ; preds = %if.end, %lor.lhs.false + %7 = load i64, i64* %wn.addr, align 8 + store i64 %7, i64* %count, align 8 + %tobool4 = icmp ne i64 %7, 0 + br i1 %tobool4, label %if.end6, label %if.then5 + +if.then5: ; preds = %if.end3 + store i64 0, i64* %retval, align 8 + br label %return + +if.end6: ; preds = %if.end3 + %8 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %8, i32 0, i32 0 + %9 = load i32, i32* %__mask, align 4 + store i32 %9, i32* %mask, align 4 + %cmp7 = icmp ne i32 %9, 0 + br i1 %cmp7, label %if.then8, label %do.body + +if.then8: ; preds = %if.end6 + %10 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %10, i32 0, i32 1 + %11 = load i32, i32* %__wc, align 4 + store i32 %11, i32* %wc, align 4 + %cmp9 = icmp ne i32 %11, 65535 + br i1 %cmp9, label %if.then10, label %if.end14 + +if.then10: ; preds = %if.then8 + %12 = load i64, i64* %n.addr, align 8 + %tobool11 = icmp ne i64 %12, 0 + br i1 %tobool11, label %while.cond, label %DONE + +if.end14: ; preds = %if.then8 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +do.body: ; preds = %if.end6, %land.rhs + %13 = load i64, i64* %n.addr, align 8 + %tobool16 = icmp ne i64 %13, 0 + br i1 %tobool16, label %if.end18, label %DONE + +if.end18: ; preds = %do.body + %14 = load i64, i64* %n.addr, align 8 + %dec = add i64 %14, -1 + store i64 %dec, i64* %n.addr, align 8 + %15 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %15, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %16 = load i8, i8* %15, align 1 + %conv = zext i8 %16 to i32 + store i32 %conv, i32* %wc, align 4 + %cmp19 = icmp uge i32 %conv, 128 + br i1 %cmp19, label %if.then21, label %COMPLETE + +if.then21: ; preds = %if.end18 + store i32 64, i32* %mask, align 4 + %17 = load i8*, i8** %s, align 8 + %arrayidx = getelementptr inbounds i8, i8* %17, i64 -1 + %18 = load i8, i8* %arrayidx, align 1 + %conv22 = sext i8 %18 to i32 + %sub = sub nsw i32 %conv22, 192 + %conv23 = trunc i32 %sub to i8 + %conv24 = zext i8 %conv23 to i32 + %cmp25 = icmp slt i32 %conv24, 62 + br i1 %cmp25, label %START, label %BAD + +BAD: ; preds = %if.end52, %lor.lhs.false55, %lor.lhs.false59, %while.body, %if.then21 + %19 = load i32, i32* %mask, align 4 + %20 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask29 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %20, i32 0, i32 0 + store i32 %19, i32* %__mask29, align 4 + %21 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc30 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %21, i32 0, i32 1 + store i32 65535, i32* %__wc30, align 4 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +while.cond: ; preds = %START, %if.then10 + %22 = load i64, i64* %n.addr, align 8 + %tobool31 = icmp ne i64 %22, 0 + br i1 %tobool31, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %23 = load i64, i64* %n.addr, align 8 + %dec32 = add i64 %23, -1 + store i64 %dec32, i64* %n.addr, align 8 + %24 = load i8*, i8** %s, align 8 + %25 = load i8, i8* %24, align 1 + %conv33 = sext i8 %25 to i32 + %and = and i32 %conv33, 192 + %cmp34 = icmp ne i32 %and, 128 + br i1 %cmp34, label %BAD, label %if.end37 + +if.end37: ; preds = %while.body + %26 = load i32, i32* %mask, align 4 + %shl = shl i32 %26, 5 + store i32 %shl, i32* %mask, align 4 + %27 = load i32, i32* %wc, align 4 + %shl38 = shl i32 %27, 6 + store i32 %shl38, i32* %wc, align 4 + %28 = load i8*, i8** %s, align 8 + %29 = load i8, i8* %28, align 1 + %conv39 = sext i8 %29 to i32 + %and40 = and i32 %conv39, 63 + %30 = load i32, i32* %wc, align 4 + %add = add i32 %30, %and40 + store i32 %add, i32* %wc, align 4 + %31 = load i8*, i8** %s, align 8 + %incdec.ptr41 = getelementptr inbounds i8, i8* %31, i32 1 + store i8* %incdec.ptr41, i8** %s, align 8 + br label %START + +START: ; preds = %if.then21, %if.end37 + %32 = load i32, i32* %mask, align 4 + %shl42 = shl i32 %32, 1 + %neg = xor i32 %shl42, -1 + %33 = load i32, i32* %wc, align 4 + %and43 = and i32 %33, %neg + store i32 %and43, i32* %wc, align 4 + %34 = load i32, i32* %wc, align 4 + %35 = load i32, i32* %mask, align 4 + %and44 = and i32 %34, %35 + %cmp45 = icmp eq i32 %and44, 0 + br i1 %cmp45, label %if.then47, label %while.cond + +if.then47: ; preds = %START + %36 = load i32, i32* %mask, align 4 + %shr = lshr i32 %36, 5 + store i32 %shr, i32* %mask, align 4 + %cmp48 = icmp eq i32 %shr, 64 + br i1 %cmp48, label %if.then50, label %if.end52 + +if.then50: ; preds = %if.then47 + %37 = load i32, i32* %mask, align 4 + %38 = load i32, i32* %mask, align 4 + %add51 = add i32 %38, %37 + store i32 %add51, i32* %mask, align 4 + br label %if.end52 + +if.end52: ; preds = %if.then50, %if.then47 + %39 = load i32, i32* %wc, align 4 + %40 = load i32, i32* %mask, align 4 + %cmp53 = icmp ult i32 %39, %40 + br i1 %cmp53, label %BAD, label %lor.lhs.false55 + +lor.lhs.false55: ; preds = %if.end52 + %41 = load i32, i32* %wc, align 4 + %sub56 = sub i32 %41, 65534 + %cmp57 = icmp ult i32 %sub56, 2 + br i1 %cmp57, label %BAD, label %lor.lhs.false59 + +lor.lhs.false59: ; preds = %lor.lhs.false55 + %42 = load i32, i32* %wc, align 4 + %sub60 = sub i32 %42, 55296 + %cmp61 = icmp ult i32 %sub60, 2048 + br i1 %cmp61, label %BAD, label %COMPLETE + +while.end: ; preds = %while.cond + %43 = load i32, i32* %allow_continuation.addr, align 4 + %tobool66 = icmp ne i32 %43, 0 + br i1 %tobool66, label %if.end77, label %if.then67 + +if.then67: ; preds = %while.end + %44 = load i64, i64* %count, align 8 + %45 = load i64, i64* %wn.addr, align 8 + %cmp68 = icmp ne i64 %44, %45 + br i1 %cmp68, label %if.then70, label %do.body72 + +if.then70: ; preds = %if.then67 + store i64 0, i64* %retval, align 8 + br label %return + +do.body72: ; preds = %if.then67, %do.body72 + %46 = load i8*, i8** %s, align 8 + %incdec.ptr73 = getelementptr inbounds i8, i8* %46, i32 -1 + store i8* %incdec.ptr73, i8** %s, align 8 + %47 = load i32, i32* %mask, align 4 + %shr74 = lshr i32 %47, 5 + store i32 %shr74, i32* %mask, align 4 + %cmp75 = icmp uge i32 %shr74, 64 + br i1 %cmp75, label %do.body72, label %DONE + +if.end77: ; preds = %while.end + %48 = load i32, i32* %mask, align 4 + %49 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask78 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %49, i32 0, i32 0 + store i32 %48, i32* %__mask78, align 4 + %50 = load i32, i32* %wc, align 4 + %51 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc79 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %51, i32 0, i32 1 + store i32 %50, i32* %__wc79, align 4 + %52 = load i8*, i8** %s, align 8 + %53 = load i8**, i8*** %src.addr, align 8 + store i8* %52, i8** %53, align 8 + store i64 -2, i64* %retval, align 8 + br label %return + +COMPLETE: ; preds = %if.end18, %lor.lhs.false59 + %54 = load i32, i32* %wc, align 4 + %55 = load i32*, i32** %pwc.addr, align 8 + store i32 %54, i32* %55, align 4 + %56 = load i32, i32* %incr, align 4 + %57 = load i32*, i32** %pwc.addr, align 8 + %idx.ext = sext i32 %56 to i64 + %add.ptr = getelementptr inbounds i32, i32* %57, i64 %idx.ext + store i32* %add.ptr, i32** %pwc.addr, align 8 + %58 = load i32, i32* %wc, align 4 + %tobool82 = icmp ne i32 %58, 0 + br i1 %tobool82, label %land.rhs, label %do.end85 + +land.rhs: ; preds = %COMPLETE + %59 = load i64, i64* %count, align 8 + %dec83 = add i64 %59, -1 + store i64 %dec83, i64* %count, align 8 + %tobool84 = icmp ne i64 %dec83, 0 + br i1 %tobool84, label %do.body, label %do.end85 + +do.end85: ; preds = %COMPLETE, %land.rhs + %60 = load i32, i32* %wc, align 4 + %tobool86 = icmp ne i32 %60, 0 + br i1 %tobool86, label %DONE, label %if.then87 + +if.then87: ; preds = %do.end85 + store i8* null, i8** %s, align 8 + br label %DONE + +DONE: ; preds = %do.end85, %if.then87, %do.body72, %do.body, %if.then10 + %61 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask89 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %61, i32 0, i32 0 + store i32 0, i32* %__mask89, align 4 + %62 = load i32*, i32** %pwc.addr, align 8 + %arraydecay90 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %cmp91 = icmp ne i32* %62, %arraydecay90 + br i1 %cmp91, label %if.then93, label %if.end94 + +if.then93: ; preds = %DONE + %63 = load i8*, i8** %s, align 8 + %64 = load i8**, i8*** %src.addr, align 8 + store i8* %63, i8** %64, align 8 + br label %if.end94 + +if.end94: ; preds = %if.then93, %DONE + %65 = load i64, i64* %wn.addr, align 8 + %66 = load i64, i64* %count, align 8 + %sub95 = sub i64 %65, %66 + store i64 %sub95, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end94, %if.end77, %if.then70, %BAD, %if.end14, %if.then5 + %67 = load i64, i64* %retval, align 8 + ret i64 %67 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @mbrtowc(i32* noalias %pwc, i8* noalias %s, i64 %n, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %retval = alloca i64, align 8 + %pwc.addr = alloca i32*, align 8 + %s.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %wcbuf = alloca [1 x i32], align 4 + %p = alloca i8*, align 8 + %r = alloca i64, align 8 + %empty_string = alloca [1 x i8], align 1 + store i32* %pwc, i32** %pwc.addr, align 8 + store i8* %s, i8** %s.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %tobool = icmp ne %struct.__mbstate_t.512* %0, null + %spec.store.select = select i1 %tobool, %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512* @mbrtowc.mbstate + store %struct.__mbstate_t.512* %spec.store.select, %struct.__mbstate_t.512** %ps.addr, align 8 + %1 = load i8*, i8** %s.addr, align 8 + %tobool1 = icmp ne i8* %1, null + br i1 %tobool1, label %if.else, label %if.then2 + +if.then2: ; preds = %entry + %2 = load i8*, i8** %s.addr, align 8 + %3 = bitcast i8* %2 to i32* + store i32* %3, i32** %pwc.addr, align 8 + %arrayidx = getelementptr inbounds [1 x i8], [1 x i8]* %empty_string, i64 0, i64 0 + store i8 0, i8* %arrayidx, align 1 + %arraydecay = getelementptr inbounds [1 x i8], [1 x i8]* %empty_string, i64 0, i64 0 + store i8* %arraydecay, i8** %s.addr, align 8 + store i64 1, i64* %n.addr, align 8 + br label %if.end7 + +if.else: ; preds = %entry + %4 = load i64, i64* %n.addr, align 8 + %tobool3 = icmp ne i64 %4, 0 + br i1 %tobool3, label %if.end7, label %if.then4 + +if.then4: ; preds = %if.else + %5 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %5, i32 0, i32 0 + %6 = load i32, i32* %__mask, align 4 + %tobool5 = icmp ne i32 %6, 0 + br i1 %tobool5, label %land.rhs, label %land.end + +land.rhs: ; preds = %if.then4 + %7 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %7, i32 0, i32 1 + %8 = load i32, i32* %__wc, align 4 + %cmp = icmp eq i32 %8, 65535 + br label %land.end + +land.end: ; preds = %land.rhs, %if.then4 + %9 = phi i1 [ false, %if.then4 ], [ %cmp, %land.rhs ] + %10 = zext i1 %9 to i64 + %cond = select i1 %9, i64 -1, i64 -2 + store i64 %cond, i64* %retval, align 8 + br label %return + +if.end7: ; preds = %if.else, %if.then2 + %11 = load i8*, i8** %s.addr, align 8 + store i8* %11, i8** %p, align 8 + %12 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %12, i32 0, i32 9 + %13 = load i8, i8* %encoding, align 8 + %conv = zext i8 %13 to i32 + %cmp8 = icmp eq i32 %conv, 1 + br i1 %cmp8, label %if.then10, label %if.end18 + +if.then10: ; preds = %if.end7 + %14 = load i32*, i32** %pwc.addr, align 8 + %tobool11 = icmp ne i32* %14, null + br i1 %tobool11, label %if.end14, label %if.then12 + +if.then12: ; preds = %if.then10 + %arraydecay13 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay13, i32** %pwc.addr, align 8 + br label %if.end14 + +if.end14: ; preds = %if.then12, %if.then10 + %15 = load i32*, i32** %pwc.addr, align 8 + %16 = load i64, i64* %n.addr, align 8 + %17 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @_wchar_utf8sntowcs(i32* %15, i64 1, i8** %p, i64 %16, %struct.__mbstate_t.512* %17, i32 1) #18 + store i64 %call, i64* %r, align 8 + %18 = load i64, i64* %r, align 8 + %cmp15 = icmp eq i64 %18, 1 + %19 = load i8*, i8** %p, align 8 + %20 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %20 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %21 = load i64, i64* %r, align 8 + %cond17 = select i1 %cmp15, i64 %sub.ptr.sub, i64 %21 + store i64 %cond17, i64* %retval, align 8 + br label %return + +if.end18: ; preds = %if.end7 + %arraydecay19 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %22 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call20 = call i64 @mbsnrtowcs(i32* %arraydecay19, i8** %p, i64 -1, i64 1, %struct.__mbstate_t.512* %22) #19 + store i64 %call20, i64* %r, align 8 + %23 = load i64, i64* %r, align 8 + %cmp21 = icmp sge i64 %23, 0 + %24 = load i32*, i32** %pwc.addr, align 8 + %tobool24 = icmp ne i32* %24, null + %or.cond = and i1 %cmp21, %tobool24 + br i1 %or.cond, label %if.then25, label %if.end28 + +if.then25: ; preds = %if.end18 + %arraydecay26 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %25 = load i32, i32* %arraydecay26, align 4 + %26 = load i32*, i32** %pwc.addr, align 8 + store i32 %25, i32* %26, align 4 + br label %if.end28 + +if.end28: ; preds = %if.then25, %if.end18 + %27 = load i64, i64* %r, align 8 + store i64 %27, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end28, %if.end14, %land.end + %28 = load i64, i64* %retval, align 8 + ret i64 %28 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @mbsinit(%struct.__mbstate_t.512* %ps) #14 { +entry: + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %tobool = icmp ne %struct.__mbstate_t.512* %0, null + br i1 %tobool, label %lor.rhs, label %lor.end + +lor.rhs: ; preds = %entry + %1 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %1, i32 0, i32 0 + %2 = load i32, i32* %__mask, align 4 + %tobool1 = icmp ne i32 %2, 0 + %lnot = xor i1 %tobool1, true + br label %lor.end + +lor.end: ; preds = %lor.rhs, %entry + %3 = phi i1 [ true, %entry ], [ %lnot, %lor.rhs ] + %lor.ext = zext i1 %3 to i32 + ret i32 %lor.ext +} + +; Function Attrs: noinline nounwind uwtable +define i32 @iswprint(i32 %wc) #0 { +entry: + %wc.addr = alloca i32, align 4 + store i32 %wc, i32* %wc.addr, align 4 + %0 = load i32, i32* %wc.addr, align 4 + %call = call i32 @iswctype(i32 %0, i32 8) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.568* %stream, i8* %buf, i64 %bufsize) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %rv = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + store i64 0, i64* %rv, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 4 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end18, label %if.then + +if.then: ; preds = %entry + %2 = load i64, i64* %bufsize.addr, align 8 + %cmp = icmp ugt i64 %2, 9223372036854775807 + br i1 %cmp, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + store i64 9223372036854775807, i64* %bufsize.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 2 + %4 = load i32, i32* %__filedes, align 4 + %5 = load i8*, i8** %buf.addr, align 8 + %6 = load i64, i64* %bufsize.addr, align 8 + %call = call i64 @read(i32 %4, i8* %5, i64 %6) #18 + store i64 %call, i64* %rv, align 8 + %cmp3 = icmp sle i64 %call, 0 + br i1 %cmp3, label %if.then5, label %if.end18 + +if.then5: ; preds = %if.end + %7 = load i64, i64* %rv, align 8 + %cmp6 = icmp eq i64 %7, 0 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags9 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags9, align 8 + %conv10 = zext i16 %9 to i32 + br i1 %cmp6, label %if.then8, label %if.else + +if.then8: ; preds = %if.then5 + %or = or i32 %conv10, 4 + %conv11 = trunc i32 %or to i16 + store i16 %conv11, i16* %__modeflags9, align 8 + br label %if.end18 + +if.else: ; preds = %if.then5 + %or14 = or i32 %conv10, 8 + %conv15 = trunc i32 %or14 to i16 + store i16 %conv15, i16* %__modeflags9, align 8 + store i64 0, i64* %rv, align 8 + br label %if.end18 + +if.end18: ; preds = %if.end, %if.else, %if.then8, %entry + %10 = load i64, i64* %rv, align 8 + ret i64 %10 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %stream, i8* %buf, i64 %bufsize) #0 { +entry: + %retval = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %todo = alloca i64, align 8 + %rv = alloca i64, align 8 + %stodo = alloca i64, align 8 + %s = alloca i8*, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i64, i64* %bufsize.addr, align 8 + store i64 %0, i64* %todo, align 8 + br label %do.body + +do.body: ; preds = %if.then3, %entry + %1 = load i64, i64* %todo, align 8 + %cmp = icmp eq i64 %1, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %do.body + %2 = load i64, i64* %bufsize.addr, align 8 + store i64 %2, i64* %retval, align 8 + br label %do.end32 + +if.end: ; preds = %do.body + %3 = load i64, i64* %todo, align 8 + %cmp1 = icmp ule i64 %3, 9223372036854775807 + %4 = load i64, i64* %todo, align 8 + %cond = select i1 %cmp1, i64 %4, i64 9223372036854775807 + store i64 %cond, i64* %stodo, align 8 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 2 + %6 = load i32, i32* %__filedes, align 4 + %7 = load i8*, i8** %buf.addr, align 8 + %8 = load i64, i64* %stodo, align 8 + %call = call i64 @write(i32 %6, i8* %7, i64 %8) #18 + store i64 %call, i64* %rv, align 8 + %cmp2 = icmp sge i64 %call, 0 + br i1 %cmp2, label %if.then3, label %if.else + +if.then3: ; preds = %if.end + %9 = load i64, i64* %rv, align 8 + %10 = load i64, i64* %todo, align 8 + %sub = sub i64 %10, %9 + store i64 %sub, i64* %todo, align 8 + %11 = load i64, i64* %rv, align 8 + %12 = load i8*, i8** %buf.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %12, i64 %11 + store i8* %add.ptr, i8** %buf.addr, align 8 + br label %do.body + +if.else: ; preds = %if.end + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 0 + %14 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %14 to i32 + %or = or i32 %conv, 8 + %conv4 = trunc i32 %or to i16 + store i16 %conv4, i16* %__modeflags, align 8 + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 4 + %16 = load i8*, i8** %__bufend, align 8 + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 3 + %18 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %16 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %18 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %stodo, align 8 + %cmp5 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %cmp5, label %if.then7, label %if.end28 + +if.then7: ; preds = %if.else + %19 = load i64, i64* %stodo, align 8 + %20 = load i64, i64* %todo, align 8 + %cmp8 = icmp ugt i64 %19, %20 + br i1 %cmp8, label %if.then10, label %if.end11 + +if.then10: ; preds = %if.then7 + %21 = load i64, i64* %todo, align 8 + store i64 %21, i64* %stodo, align 8 + br label %if.end11 + +if.end11: ; preds = %if.then10, %if.then7 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart12 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 3 + %23 = load i8*, i8** %__bufstart12, align 8 + store i8* %23, i8** %s, align 8 + br label %do.body13 + +do.body13: ; preds = %if.end20, %if.end11 + %24 = load i8*, i8** %buf.addr, align 8 + %25 = load i8, i8* %24, align 1 + %26 = load i8*, i8** %s, align 8 + store i8 %25, i8* %26, align 1 + %conv14 = zext i8 %25 to i32 + %cmp15 = icmp eq i32 %conv14, 10 + br i1 %cmp15, label %land.lhs.true, label %if.end20 + +land.lhs.true: ; preds = %do.body13 + %27 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %27, i32 0, i32 0 + %28 = load i16, i16* %__modeflags17, align 8 + %conv18 = zext i16 %28 to i32 + %and = and i32 %conv18, 256 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %do.end, label %if.end20 + +if.end20: ; preds = %land.lhs.true, %do.body13 + %29 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %29, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %30 = load i8*, i8** %buf.addr, align 8 + %incdec.ptr21 = getelementptr inbounds i8, i8* %30, i32 1 + store i8* %incdec.ptr21, i8** %buf.addr, align 8 + %31 = load i64, i64* %stodo, align 8 + %dec = add nsw i64 %31, -1 + store i64 %dec, i64* %stodo, align 8 + %tobool22 = icmp ne i64 %dec, 0 + br i1 %tobool22, label %do.body13, label %do.end + +do.end: ; preds = %land.lhs.true, %if.end20 + %32 = load i8*, i8** %s, align 8 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %33, i32 0, i32 5 + store i8* %32, i8** %__bufpos, align 8 + %34 = load i8*, i8** %s, align 8 + %35 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart23 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %35, i32 0, i32 3 + %36 = load i8*, i8** %__bufstart23, align 8 + %sub.ptr.lhs.cast24 = ptrtoint i8* %34 to i64 + %sub.ptr.rhs.cast25 = ptrtoint i8* %36 to i64 + %sub.ptr.sub26 = sub i64 %sub.ptr.lhs.cast24, %sub.ptr.rhs.cast25 + %37 = load i64, i64* %todo, align 8 + %sub27 = sub i64 %37, %sub.ptr.sub26 + store i64 %sub27, i64* %todo, align 8 + br label %if.end28 + +if.end28: ; preds = %do.end, %if.else + %38 = load i64, i64* %bufsize.addr, align 8 + %39 = load i64, i64* %todo, align 8 + %sub29 = sub i64 %38, %39 + store i64 %sub29, i64* %retval, align 8 + br label %do.end32 + +do.end32: ; preds = %if.then, %if.end28 + %40 = load i64, i64* %retval, align 8 + ret i64 %40 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__freading(%struct.__STDIO_FILE_STRUCT.519* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.519*, align 8 + store %struct.__STDIO_FILE_STRUCT.519* %stream, %struct.__STDIO_FILE_STRUCT.519** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.519*, %struct.__STDIO_FILE_STRUCT.519** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.519, %struct.__STDIO_FILE_STRUCT.519* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 35 + ret i32 %and +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_rfill(%struct.__STDIO_FILE_STRUCT.568* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %rv = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %1, i32 0, i32 3 + %2 = load i8*, i8** %__bufstart, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 4 + %4 = load i8*, i8** %__bufend, align 8 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 3 + %6 = load i8*, i8** %__bufstart1, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %4 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %6 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %call = call i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.568* %0, i8* %2, i64 %sub.ptr.sub) #18 + store i64 %call, i64* %rv, align 8 + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %7, i32 0, i32 3 + %8 = load i8*, i8** %__bufstart2, align 8 + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %9, i32 0, i32 5 + store i8* %8, i8** %__bufpos, align 8 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart3 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 3 + %11 = load i8*, i8** %__bufstart3, align 8 + %12 = load i64, i64* %rv, align 8 + %add.ptr = getelementptr inbounds i8, i8* %11, i64 %12 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 6 + store i8* %add.ptr, i8** %__bufread, align 8 + %14 = load i64, i64* %rv, align 8 + ret i64 %14 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_trans2r_o(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %oflag) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %oflag.addr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %oflag, i32* %oflag.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %2 = load i32, i32* %oflag.addr, align 4 + %and = and i32 %conv, %2 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end9, label %if.then + +if.then: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 0 + %4 = load i16, i16* %__modeflags1, align 8 + %conv2 = zext i16 %4 to i32 + %and3 = and i32 %conv2, 2176 + %tobool4 = icmp ne i32 %and3, 0 + br i1 %tobool4, label %DO_EBADF, label %if.end + +if.end: ; preds = %if.then + %5 = load i32, i32* %oflag.addr, align 4 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 0 + %7 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %7 to i32 + %or = or i32 %conv7, %5 + %conv8 = trunc i32 %or to i16 + store i16 %conv8, i16* %__modeflags6, align 8 + br label %if.end9 + +if.end9: ; preds = %if.end, %entry + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags10, align 8 + %conv11 = zext i16 %9 to i32 + %and12 = and i32 %conv11, 16 + %tobool13 = icmp ne i32 %and12, 0 + br i1 %tobool13, label %DO_EBADF, label %if.end19 + +DO_EBADF: ; preds = %if.end9, %if.then + store i32 9, i32* @errno, align 4 + br label %ERROR + +ERROR: ; preds = %if.then24, %DO_EBADF + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags15 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 0 + %11 = load i16, i16* %__modeflags15, align 8 + %conv16 = zext i16 %11 to i32 + %or17 = or i32 %conv16, 8 + %conv18 = trunc i32 %or17 to i16 + store i16 %conv18, i16* %__modeflags15, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end19: ; preds = %if.end9 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags20 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags20, align 8 + %conv21 = zext i16 %13 to i32 + %and22 = and i32 %conv21, 64 + %tobool23 = icmp ne i32 %and22, 0 + br i1 %tobool23, label %if.then24, label %if.end32 + +if.then24: ; preds = %if.end19 + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %14) #18 + %tobool25 = icmp ne i64 %call, 0 + br i1 %tobool25, label %ERROR, label %if.end27 + +if.end27: ; preds = %if.then24 + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 3 + %16 = load i8*, i8** %__bufstart, align 8 + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 8 + store i8* %16, i8** %__bufputc_u, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags28 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 0 + %19 = load i16, i16* %__modeflags28, align 8 + %conv29 = zext i16 %19 to i32 + %and30 = and i32 %conv29, -65 + %conv31 = trunc i32 %and30 to i16 + store i16 %conv31, i16* %__modeflags28, align 8 + br label %if.end32 + +if.end32: ; preds = %if.end27, %if.end19 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags33 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 0 + %21 = load i16, i16* %__modeflags33, align 8 + %conv34 = zext i16 %21 to i32 + %or35 = or i32 %conv34, 1 + %conv36 = trunc i32 %or35 to i16 + store i16 %conv36, i16* %__modeflags33, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end32, %ERROR + %22 = load i32, i32* %retval, align 4 + ret i32 %22 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fclose(%struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %rv = alloca i32, align 4 + %ptr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 0, i32* %rv, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %0, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %1, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp = icmp eq %struct.__STDIO_FILE_STRUCT.568* %1, %2 + br i1 %cmp, label %if.then, label %while.cond + +if.then: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 9 + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %4, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + br label %if.end7 + +while.cond: ; preds = %entry, %if.end + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %5, null + br i1 %tobool, label %while.body, label %if.end7 + +while.body: ; preds = %while.cond + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 9 + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen1, align 8 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp2 = icmp eq %struct.__STDIO_FILE_STRUCT.568* %7, %8 + br i1 %cmp2, label %if.then3, label %if.end + +if.then3: ; preds = %while.body + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen4 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %9, i32 0, i32 9 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen4, align 8 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen5 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 9 + store %struct.__STDIO_FILE_STRUCT.568* %10, %struct.__STDIO_FILE_STRUCT.568** %__nextopen5, align 8 + br label %if.end7 + +if.end: ; preds = %while.body + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 9 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen6, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %13, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + br label %while.cond + +if.end7: ; preds = %while.cond, %if.then3, %if.then + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %14, i32 0, i32 0 + %15 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %15 to i32 + %and = and i32 %conv, 64 + %tobool8 = icmp ne i32 %and, 0 + br i1 %tobool8, label %if.then9, label %if.end10 + +if.then9: ; preds = %if.end7 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.568* %16) #18 + store i32 %call, i32* %rv, align 4 + br label %if.end10 + +if.end10: ; preds = %if.then9, %if.end7 + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 2 + %18 = load i32, i32* %__filedes, align 4 + %call11 = call i32 @close(i32 %18) #18 + %cmp12 = icmp slt i32 %call11, 0 + br i1 %cmp12, label %if.then14, label %if.end15 + +if.then14: ; preds = %if.end10 + store i32 -1, i32* %rv, align 4 + br label %if.end15 + +if.end15: ; preds = %if.then14, %if.end10 + %19 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes16 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %19, i32 0, i32 2 + store i32 -1, i32* %__filedes16, align 4 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 0 + %21 = load i16, i16* %__modeflags17, align 8 + %conv18 = zext i16 %21 to i32 + %and19 = and i32 %conv18, 24576 + %conv20 = trunc i32 %and19 to i16 + store i16 %conv20, i16* %__modeflags17, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags21 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 0 + %23 = load i16, i16* %__modeflags21, align 8 + %conv22 = zext i16 %23 to i32 + %or = or i32 %conv22, 48 + %conv23 = trunc i32 %or to i16 + store i16 %conv23, i16* %__modeflags21, align 8 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags24 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 0 + %25 = load i16, i16* %__modeflags24, align 8 + %conv25 = zext i16 %25 to i32 + %and26 = and i32 %conv25, 16384 + %tobool27 = icmp ne i32 %and26, 0 + br i1 %tobool27, label %if.then28, label %do.body30 + +if.then28: ; preds = %if.end15 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 3 + %27 = load i8*, i8** %__bufstart, align 8 + call void @free(i8* %27) #19 + br label %do.body30 + +do.body30: ; preds = %if.then28, %if.end15 + %28 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags31 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %28, i32 0, i32 0 + %29 = load i16, i16* %__modeflags31, align 8 + %conv32 = zext i16 %29 to i32 + %and33 = and i32 %conv32, 8192 + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %if.then35, label %do.end37 + +if.then35: ; preds = %do.body30 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %31 = bitcast %struct.__STDIO_FILE_STRUCT.568* %30 to i8* + call void @free(i8* %31) #19 + br label %do.end37 + +do.end37: ; preds = %do.body30, %if.then35 + %32 = load i32, i32* %rv, align 4 + ret i32 %32 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @ferror_unlocked(%struct.__STDIO_FILE_STRUCT.592* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.592*, align 8 + store %struct.__STDIO_FILE_STRUCT.592* %stream, %struct.__STDIO_FILE_STRUCT.592** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.592*, %struct.__STDIO_FILE_STRUCT.592** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.592, %struct.__STDIO_FILE_STRUCT.592* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 8 + ret i32 %and +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %retval1 = alloca i32, align 4 + %bufmask = alloca i16, align 2 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 0, i32* %retval1, align 4 + store i16 256, i16* %bufmask, align 2 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp = icmp eq %struct.__STDIO_FILE_STRUCT.568* %0, bitcast (%struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist to %struct.__STDIO_FILE_STRUCT.568*) + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store %struct.__STDIO_FILE_STRUCT.568* null, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i16 0, i16* %bufmask, align 2 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %1, null + br i1 %tobool, label %if.else21, label %if.then2 + +if.then2: ; preds = %if.end + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %2, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end20, %if.then2 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %tobool3 = icmp ne %struct.__STDIO_FILE_STRUCT.568* %3, null + br i1 %tobool3, label %while.body, label %if.end39 + +while.body: ; preds = %while.cond + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 0 + %5 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %5 to i32 + %and = and i32 %conv, 64 + %tobool4 = icmp ne i32 %and, 0 + br i1 %tobool4, label %if.then5, label %if.end20 + +if.then5: ; preds = %while.body + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 0 + %7 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %7 to i32 + %8 = load i16, i16* %bufmask, align 2 + %conv8 = zext i16 %8 to i32 + %or = or i32 %conv7, %conv8 + %xor = xor i32 %or, 320 + %and9 = and i32 %xor, 832 + %tobool10 = icmp ne i32 %and9, 0 + br i1 %tobool10, label %if.end20, label %if.then11 + +if.then11: ; preds = %if.then5 + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %9) #18 + %tobool12 = icmp ne i64 %call, 0 + br i1 %tobool12, label %if.else, label %if.then13 + +if.then13: ; preds = %if.then11 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 3 + %11 = load i8*, i8** %__bufstart, align 8 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 8 + store i8* %11, i8** %__bufputc_u, align 8 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags14 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 0 + %14 = load i16, i16* %__modeflags14, align 8 + %conv15 = zext i16 %14 to i32 + %and16 = and i32 %conv15, -65 + %conv17 = trunc i32 %and16 to i16 + store i16 %conv17, i16* %__modeflags14, align 8 + br label %if.end20 + +if.else: ; preds = %if.then11 + store i32 -1, i32* %retval1, align 4 + br label %if.end20 + +if.end20: ; preds = %if.then5, %if.else, %if.then13, %while.body + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 9 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %16, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br label %while.cond + +if.else21: ; preds = %if.end + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags22 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 0 + %18 = load i16, i16* %__modeflags22, align 8 + %conv23 = zext i16 %18 to i32 + %and24 = and i32 %conv23, 64 + %tobool25 = icmp ne i32 %and24, 0 + br i1 %tobool25, label %if.then26, label %if.end39 + +if.then26: ; preds = %if.else21 + %19 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call27 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %19) #18 + %tobool28 = icmp ne i64 %call27, 0 + br i1 %tobool28, label %if.else36, label %if.then29 + +if.then29: ; preds = %if.then26 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart30 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 3 + %21 = load i8*, i8** %__bufstart30, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u31 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 8 + store i8* %21, i8** %__bufputc_u31, align 8 + %23 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags32 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %23, i32 0, i32 0 + %24 = load i16, i16* %__modeflags32, align 8 + %conv33 = zext i16 %24 to i32 + %and34 = and i32 %conv33, -65 + %conv35 = trunc i32 %and34 to i16 + store i16 %conv35, i16* %__modeflags32, align 8 + br label %if.end39 + +if.else36: ; preds = %if.then26 + store i32 -1, i32* %retval1, align 4 + br label %if.end39 + +if.end39: ; preds = %if.else21, %if.else36, %if.then29, %while.cond + %25 = load i32, i32* %retval1, align 4 + ret i32 %25 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fileno_unlocked(%struct.__STDIO_FILE_STRUCT.608* %stream) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.608*, align 8 + store %struct.__STDIO_FILE_STRUCT.608* %stream, %struct.__STDIO_FILE_STRUCT.608** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.608*, %struct.__STDIO_FILE_STRUCT.608** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.608, %struct.__STDIO_FILE_STRUCT.608* %0, i32 0, i32 2 + %1 = load i32, i32* %__filedes, align 4 + %cmp = icmp sge i32 %1, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.608*, %struct.__STDIO_FILE_STRUCT.608** %stream.addr, align 8 + %__filedes1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.608, %struct.__STDIO_FILE_STRUCT.608* %2, i32 0, i32 2 + %3 = load i32, i32* %__filedes1, align 4 + store i32 %3, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + store i32 9, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.__STDIO_FILE_STRUCT.612* @fopen(i8* noalias %filename, i8* noalias %mode) #0 { +entry: + %filename.addr = alloca i8*, align 8 + %mode.addr = alloca i8*, align 8 + store i8* %filename, i8** %filename.addr, align 8 + store i8* %mode, i8** %mode.addr, align 8 + %0 = load i8*, i8** %filename.addr, align 8 + %1 = ptrtoint i8* %0 to i64 + %2 = load i8*, i8** %mode.addr, align 8 + %call = call %struct.__STDIO_FILE_STRUCT.612* bitcast (%struct.__STDIO_FILE_STRUCT.568* (i64, i8*, %struct.__STDIO_FILE_STRUCT.568*, i32)* @_stdio_fopen to %struct.__STDIO_FILE_STRUCT.612* (i64, i8*, %struct.__STDIO_FILE_STRUCT.612*, i32)*)(i64 %1, i8* %2, %struct.__STDIO_FILE_STRUCT.612* null, i32 -1) #18 + ret %struct.__STDIO_FILE_STRUCT.612* %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fprintf(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i8* noalias %format, ...) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %format.addr = alloca i8*, align 8 + %arg = alloca [1 x %struct.__va_list_tag.0], align 16 + %rv = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdout, align 8 + %cmp = icmp eq %struct.__STDIO_FILE_STRUCT.568* %0, %1 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %cmp2 = icmp eq %struct.__STDIO_FILE_STRUCT.568* %2, %3 + br i1 %cmp2, label %if.then, label %if.else + +if.then: ; preds = %lor.lhs.false, %entry + %4 = load i8*, i8** %format.addr, align 8 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %call = call i32 @vprintf(i8* %4, %struct.__va_list_tag.0* %arraydecay3) #18 + store i32 %call, i32* %rv, align 4 + br label %if.end + +if.else: ; preds = %lor.lhs.false + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %6 = load i8*, i8** %format.addr, align 8 + %arraydecay4 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %call5 = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %5, i8* %6, %struct.__va_list_tag.0* %arraydecay4) #18 + store i32 %call5, i32* %rv, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %arraydecay6 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay67 = bitcast %struct.__va_list_tag.0* %arraydecay6 to i8* + call void @llvm.va_end(i8* %arraydecay67) + %7 = load i32, i32* %rv, align 4 + ret i32 %7 +} + +declare i32 @vprintf(i8*, %struct.__va_list_tag.0*) #17 + +; Function Attrs: noinline nounwind uwtable +define i32 @__fputc_unlocked(i32 %c, %struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %retval = alloca i32, align 4 + %c.addr = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %uc = alloca i8, align 1 + store i32 %c, i32* %c.addr, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 5 + %1 = load i8*, i8** %__bufpos, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 8 + %3 = load i8*, i8** %__bufputc_u, align 8 + %cmp = icmp ult i8* %1, %3 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %4 = load i32, i32* %c.addr, align 4 + %conv = trunc i32 %4 to i8 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 5 + %6 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + store i8 %conv, i8* %6, align 1 + %7 = load i32, i32* %c.addr, align 4 + %conv2 = trunc i32 %7 to i8 + %conv3 = zext i8 %conv2 to i32 + store i32 %conv3, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags, align 8 + %conv4 = zext i16 %9 to i32 + %and = and i32 %conv4, 192 + %cmp5 = icmp eq i32 %and, 192 + br i1 %cmp5, label %if.then7, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* %10, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %BAD, label %if.then7 + +if.then7: ; preds = %lor.lhs.false, %if.end + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 2 + %12 = load i32, i32* %__filedes, align 4 + %cmp8 = icmp eq i32 %12, -2 + br i1 %cmp8, label %if.then10, label %if.end13 + +if.then10: ; preds = %if.then7 + %13 = load i32, i32* %c.addr, align 4 + %conv11 = trunc i32 %13 to i8 + %conv12 = zext i8 %conv11 to i32 + store i32 %conv12, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.then7 + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %14, i32 0, i32 4 + %15 = load i8*, i8** %__bufend, align 8 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %16, i32 0, i32 3 + %17 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %15 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %17 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool14 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %tobool14, label %if.then15, label %if.else + +if.then15: ; preds = %if.end13 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend16 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 4 + %19 = load i8*, i8** %__bufend16, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 5 + %21 = load i8*, i8** %__bufpos17, align 8 + %sub.ptr.lhs.cast18 = ptrtoint i8* %19 to i64 + %sub.ptr.rhs.cast19 = ptrtoint i8* %21 to i64 + %sub.ptr.sub20 = sub i64 %sub.ptr.lhs.cast18, %sub.ptr.rhs.cast19 + %tobool21 = icmp ne i64 %sub.ptr.sub20, 0 + br i1 %tobool21, label %if.end25, label %land.lhs.true + +land.lhs.true: ; preds = %if.then15 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call22 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %22) #18 + %tobool23 = icmp ne i64 %call22, 0 + br i1 %tobool23, label %BAD, label %if.end25 + +if.end25: ; preds = %land.lhs.true, %if.then15 + %23 = load i32, i32* %c.addr, align 4 + %conv26 = trunc i32 %23 to i8 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos27 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 5 + %25 = load i8*, i8** %__bufpos27, align 8 + %incdec.ptr28 = getelementptr inbounds i8, i8* %25, i32 1 + store i8* %incdec.ptr28, i8** %__bufpos27, align 8 + store i8 %conv26, i8* %25, align 1 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags29 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 0 + %27 = load i16, i16* %__modeflags29, align 8 + %conv30 = zext i16 %27 to i32 + %and31 = and i32 %conv30, 256 + %tobool32 = icmp ne i32 %and31, 0 + br i1 %tobool32, label %if.then33, label %if.end51 + +if.then33: ; preds = %if.end25 + %28 = load i32, i32* %c.addr, align 4 + %conv34 = trunc i32 %28 to i8 + %conv35 = zext i8 %conv34 to i32 + %cmp36 = icmp eq i32 %conv35, 10 + br i1 %cmp36, label %land.lhs.true38, label %if.end51 + +land.lhs.true38: ; preds = %if.then33 + %29 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call39 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %29) #18 + %tobool40 = icmp ne i64 %call39, 0 + br i1 %tobool40, label %if.then41, label %if.end51 + +if.then41: ; preds = %land.lhs.true38 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos42 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %30, i32 0, i32 5 + %31 = load i8*, i8** %__bufpos42, align 8 + %incdec.ptr43 = getelementptr inbounds i8, i8* %31, i32 -1 + store i8* %incdec.ptr43, i8** %__bufpos42, align 8 + br label %BAD + +if.else: ; preds = %if.end13 + %32 = load i32, i32* %c.addr, align 4 + %conv46 = trunc i32 %32 to i8 + store i8 %conv46, i8* %uc, align 1 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call47 = call i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %33, i8* %uc, i64 1) #18 + %tobool48 = icmp ne i64 %call47, 0 + br i1 %tobool48, label %if.end51, label %BAD + +if.end51: ; preds = %if.else, %if.end25, %land.lhs.true38, %if.then33 + %34 = load i32, i32* %c.addr, align 4 + %conv52 = trunc i32 %34 to i8 + %conv53 = zext i8 %conv52 to i32 + store i32 %conv53, i32* %retval, align 4 + br label %return + +BAD: ; preds = %lor.lhs.false, %if.else, %land.lhs.true, %if.then41 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %BAD, %if.end51, %if.then10, %if.then + %35 = load i32, i32* %retval, align 4 + ret i32 %35 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fputs_unlocked(i8* noalias %s, %struct.__STDIO_FILE_STRUCT.621* noalias %stream) #0 { +entry: + %s.addr = alloca i8*, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.621*, align 8 + %n = alloca i64, align 8 + store i8* %s, i8** %s.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.621* %stream, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %call = call i64 @strlen(i8* %0) #20 + store i64 %call, i64* %n, align 8 + %1 = load i8*, i8** %s.addr, align 8 + %2 = load i64, i64* %n, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %call1 = call i64 bitcast (i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*)* @fwrite_unlocked to i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.621*)*)(i8* %1, i64 1, i64 %2, %struct.__STDIO_FILE_STRUCT.621* %3) #18 + %4 = load i64, i64* %n, align 8 + %cmp = icmp eq i64 %call1, %4 + %5 = load i64, i64* %n, align 8 + %cond = select i1 %cmp, i64 %5, i64 -1 + %conv = trunc i64 %cond to i32 + ret i32 %conv +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fseek(%struct.__STDIO_FILE_STRUCT.636* %stream, i64 %offset, i32 %whence) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %1 = load i64, i64* %offset.addr, align 8 + %2 = load i32, i32* %whence.addr, align 4 + %call = call i32 @fseeko64(%struct.__STDIO_FILE_STRUCT.636* %0, i64 %1, i32 %2) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i64 @fwrite_unlocked(i8* noalias %ptr, i64 %size, i64 %nmemb, %struct.__STDIO_FILE_STRUCT.568* noalias %stream) #0 { +entry: + %retval = alloca i64, align 8 + %ptr.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %nmemb.addr = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + store i8* %ptr, i8** %ptr.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + store i64 %nmemb, i64* %nmemb.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 192 + %cmp = icmp eq i32 %and, 192 + br i1 %cmp, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* %2, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end13, label %land.lhs.true + +land.lhs.true: ; preds = %lor.lhs.false, %entry + %3 = load i64, i64* %size.addr, align 8 + %tobool2 = icmp ne i64 %3, 0 + %4 = load i64, i64* %nmemb.addr, align 8 + %tobool4 = icmp ne i64 %4, 0 + %or.cond = and i1 %tobool2, %tobool4 + br i1 %or.cond, label %if.then, label %if.end13 + +if.then: ; preds = %land.lhs.true + %5 = load i64, i64* %nmemb.addr, align 8 + %6 = load i64, i64* %size.addr, align 8 + %div = udiv i64 -1, %6 + %cmp5 = icmp ule i64 %5, %div + br i1 %cmp5, label %if.then7, label %if.end + +if.then7: ; preds = %if.then + %7 = load i8*, i8** %ptr.addr, align 8 + %8 = load i64, i64* %size.addr, align 8 + %9 = load i64, i64* %nmemb.addr, align 8 + %mul = mul i64 %8, %9 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call8 = call i64 @__stdio_fwrite(i8* %7, i64 %mul, %struct.__STDIO_FILE_STRUCT.568* %10) #18 + %11 = load i64, i64* %size.addr, align 8 + %div9 = udiv i64 %call8, %11 + store i64 %div9, i64* %retval, align 8 + br label %return + +if.end: ; preds = %if.then + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags10, align 8 + %conv11 = zext i16 %13 to i32 + %or = or i32 %conv11, 8 + %conv12 = trunc i32 %or to i16 + store i16 %conv12, i16* %__modeflags10, align 8 + store i32 22, i32* @errno, align 4 + br label %if.end13 + +if.end13: ; preds = %if.end, %land.lhs.true, %lor.lhs.false + store i64 0, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end13, %if.then7 + %14 = load i64, i64* %retval, align 8 + ret i64 %14 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @putchar_unlocked(i32 %c) #0 { +entry: + %c.addr = alloca i32, align 4 + %stream = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + store i32 %c, i32* %c.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdout, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %0, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %1, i32 0, i32 5 + %2 = load i8*, i8** %__bufpos, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 8 + %4 = load i8*, i8** %__bufputc_u, align 8 + %cmp = icmp ult i8* %2, %4 + %5 = load i32, i32* %c.addr, align 4 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %entry + %conv = trunc i32 %5 to i8 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 5 + %7 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %7, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + store i8 %conv, i8* %7, align 1 + %conv2 = zext i8 %conv to i32 + br label %cond.end + +cond.false: ; preds = %entry + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %call = call i32 @__fputc_unlocked(i32 %5, %struct.__STDIO_FILE_STRUCT.568* %8) #18 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ %conv2, %cond.true ], [ %call, %cond.false ] + ret i32 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i32 @vsnprintf(i8* noalias %buf, i64 %size, i8* noalias %format, %struct.__va_list_tag.0* %arg) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %format.addr = alloca i8*, align 8 + %arg.addr = alloca %struct.__va_list_tag.0*, align 8 + %f = alloca %struct.__STDIO_FILE_STRUCT.568, align 8 + %rv = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + store %struct.__va_list_tag.0* %arg, %struct.__va_list_tag.0** %arg.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 2 + store i32 -2, i32* %__filedes, align 4 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 0 + store i16 208, i16* %__modeflags, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 1 + %arrayidx = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 0 + store i8 0, i8* %arrayidx, align 2 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + store i32 0, i32* %__mask, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 9 + store %struct.__STDIO_FILE_STRUCT.568* null, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + %0 = load i64, i64* %size.addr, align 8 + %1 = load i8*, i8** %buf.addr, align 8 + %2 = ptrtoint i8* %1 to i64 + %sub = sub i64 -1, %2 + %cmp = icmp ugt i64 %0, %sub + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %3 = load i8*, i8** %buf.addr, align 8 + %4 = ptrtoint i8* %3 to i64 + %sub1 = sub i64 -1, %4 + store i64 %sub1, i64* %size.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %5 = load i8*, i8** %buf.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 3 + store i8* %5, i8** %__bufstart, align 8 + %6 = load i8*, i8** %buf.addr, align 8 + %7 = load i64, i64* %size.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %6, i64 %7 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 4 + store i8* %add.ptr, i8** %__bufend, align 8 + %__bufstart2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 3 + %8 = load i8*, i8** %__bufstart2, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + store i8* %8, i8** %__bufpos, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 6 + store i8* %8, i8** %__bufread, align 8 + %__bufstart3 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 3 + %9 = load i8*, i8** %__bufstart3, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 7 + store i8* %9, i8** %__bufgetc_u, align 8 + %__bufend4 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 4 + %10 = load i8*, i8** %__bufend4, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 8 + store i8* %10, i8** %__bufputc_u, align 8 + %11 = load i8*, i8** %format.addr, align 8 + %12 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %arg.addr, align 8 + %call = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %f, i8* %11, %struct.__va_list_tag.0* %12) #18 + store i32 %call, i32* %rv, align 4 + %13 = load i64, i64* %size.addr, align 8 + %tobool = icmp ne i64 %13, 0 + br i1 %tobool, label %if.then5, label %if.end13 + +if.then5: ; preds = %if.end + %__bufpos6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + %14 = load i8*, i8** %__bufpos6, align 8 + %__bufend7 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 4 + %15 = load i8*, i8** %__bufend7, align 8 + %cmp8 = icmp eq i8* %14, %15 + br i1 %cmp8, label %if.then9, label %if.end11 + +if.then9: ; preds = %if.then5 + %__bufpos10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + %16 = load i8*, i8** %__bufpos10, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %16, i32 -1 + store i8* %incdec.ptr, i8** %__bufpos10, align 8 + br label %if.end11 + +if.end11: ; preds = %if.then9, %if.then5 + %__bufpos12 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + %17 = load i8*, i8** %__bufpos12, align 8 + store i8 0, i8* %17, align 1 + br label %if.end13 + +if.end13: ; preds = %if.end11, %if.end + %18 = load i32, i32* %rv, align 4 + ret i32 %18 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @atexit(void ()* nonnull %func) #0 { +entry: + %func.addr = alloca void ()*, align 8 + store void ()* %func, void ()** %func.addr, align 8 + %0 = load void ()*, void ()** %func.addr, align 8 + %1 = bitcast void ()* %0 to void (i8*)* + br i1 icmp eq (i8** @__dso_handle, i8** null), label %cond.end, label %cond.false + +cond.false: ; preds = %entry + %2 = load i8*, i8** @__dso_handle, align 8 + br label %cond.end + +cond.end: ; preds = %entry, %cond.false + %cond = phi i8* [ %2, %cond.false ], [ null, %entry ] + %call = call i32 @__cxa_atexit(void (i8*)* %1, i8* null, i8* %cond) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i8* @realpath(i8* %path, i8* nonnull %got_path) #0 { +entry: + %retval = alloca i8*, align 8 + %path.addr = alloca i8*, align 8 + %got_path.addr = alloca i8*, align 8 + %copy_path = alloca [4096 x i8], align 16 + %max_path = alloca i8*, align 8 + %new_path = alloca i8*, align 8 + %path_len = alloca i64, align 8 + %readlinks = alloca i32, align 4 + %link_len = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store i8* %got_path, i8** %got_path.addr, align 8 + store i32 0, i32* %readlinks, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %cmp = icmp eq i8* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 22, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %path.addr, align 8 + %2 = load i8, i8* %1, align 1 + %conv = sext i8 %2 to i32 + %cmp1 = icmp eq i32 %conv, 0 + br i1 %cmp1, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.end + store i32 2, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %if.end + %3 = load i8*, i8** %path.addr, align 8 + %call = call i64 @strlen(i8* %3) #20 + store i64 %call, i64* %path_len, align 8 + %4 = load i64, i64* %path_len, align 8 + %cmp5 = icmp uge i64 %4, 4094 + br i1 %cmp5, label %if.then7, label %if.end8 + +if.then7: ; preds = %if.end4 + store i32 36, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end8: ; preds = %if.end4 + %arraydecay = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 4095 + %5 = load i64, i64* %path_len, align 8 + %idx.neg = sub i64 0, %5 + %add.ptr9 = getelementptr inbounds i8, i8* %add.ptr, i64 %idx.neg + %6 = load i8*, i8** %path.addr, align 8 + %call10 = call i8* @strcpy(i8* %add.ptr9, i8* %6) #19 + %arraydecay11 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr12 = getelementptr inbounds i8, i8* %arraydecay11, i64 4095 + %7 = load i64, i64* %path_len, align 8 + %idx.neg13 = sub i64 0, %7 + %add.ptr14 = getelementptr inbounds i8, i8* %add.ptr12, i64 %idx.neg13 + store i8* %add.ptr14, i8** %path.addr, align 8 + %8 = load i8*, i8** %got_path.addr, align 8 + %add.ptr15 = getelementptr inbounds i8, i8* %8, i64 4096 + %add.ptr16 = getelementptr inbounds i8, i8* %add.ptr15, i64 -2 + store i8* %add.ptr16, i8** %max_path, align 8 + %9 = load i8*, i8** %got_path.addr, align 8 + store i8* %9, i8** %new_path, align 8 + %10 = load i8*, i8** %path.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv17 = sext i8 %11 to i32 + %cmp18 = icmp ne i32 %conv17, 47 + %12 = load i8*, i8** %new_path, align 8 + br i1 %cmp18, label %if.then20, label %if.else + +if.then20: ; preds = %if.end8 + %call21 = call i8* @getcwd(i8* %12, i64 4095) #19 + %tobool = icmp ne i8* %call21, null + br i1 %tobool, label %if.end23, label %if.then22 + +if.then22: ; preds = %if.then20 + store i8* null, i8** %retval, align 8 + br label %return + +if.end23: ; preds = %if.then20 + %13 = load i8*, i8** %new_path, align 8 + %call24 = call i64 @strlen(i8* %13) #20 + %14 = load i8*, i8** %new_path, align 8 + %add.ptr25 = getelementptr inbounds i8, i8* %14, i64 %call24 + store i8* %add.ptr25, i8** %new_path, align 8 + %15 = load i8*, i8** %new_path, align 8 + %arrayidx = getelementptr inbounds i8, i8* %15, i64 -1 + %16 = load i8, i8* %arrayidx, align 1 + %conv26 = sext i8 %16 to i32 + %cmp27 = icmp ne i32 %conv26, 47 + br i1 %cmp27, label %if.then29, label %if.end33 + +if.then29: ; preds = %if.end23 + %17 = load i8*, i8** %new_path, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %17, i32 1 + store i8* %incdec.ptr, i8** %new_path, align 8 + store i8 47, i8* %17, align 1 + br label %if.end33 + +if.else: ; preds = %if.end8 + %incdec.ptr31 = getelementptr inbounds i8, i8* %12, i32 1 + store i8* %incdec.ptr31, i8** %new_path, align 8 + store i8 47, i8* %12, align 1 + %18 = load i8*, i8** %path.addr, align 8 + %incdec.ptr32 = getelementptr inbounds i8, i8* %18, i32 1 + store i8* %incdec.ptr32, i8** %path.addr, align 8 + br label %if.end33 + +if.end33: ; preds = %if.end23, %if.then29, %if.else + br label %while.cond + +while.cond: ; preds = %while.cond79, %if.then72, %if.end155, %if.then55, %if.then40, %if.end33 + %19 = load i8*, i8** %path.addr, align 8 + %20 = load i8, i8* %19, align 1 + %conv34 = sext i8 %20 to i32 + %cmp35 = icmp ne i32 %conv34, 0 + br i1 %cmp35, label %while.body, label %while.end157 + +while.body: ; preds = %while.cond + %21 = load i8*, i8** %path.addr, align 8 + %22 = load i8, i8* %21, align 1 + %conv37 = sext i8 %22 to i32 + %cmp38 = icmp eq i32 %conv37, 47 + %23 = load i8*, i8** %path.addr, align 8 + br i1 %cmp38, label %if.then40, label %if.end42 + +if.then40: ; preds = %while.body + %incdec.ptr41 = getelementptr inbounds i8, i8* %23, i32 1 + store i8* %incdec.ptr41, i8** %path.addr, align 8 + br label %while.cond + +if.end42: ; preds = %while.body + %24 = load i8, i8* %23, align 1 + %conv43 = sext i8 %24 to i32 + %cmp44 = icmp eq i32 %conv43, 46 + br i1 %cmp44, label %if.then46, label %if.end88 + +if.then46: ; preds = %if.end42 + %25 = load i8*, i8** %path.addr, align 8 + %arrayidx47 = getelementptr inbounds i8, i8* %25, i64 1 + %26 = load i8, i8* %arrayidx47, align 1 + %conv48 = sext i8 %26 to i32 + %cmp49 = icmp eq i32 %conv48, 0 + br i1 %cmp49, label %if.then55, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then46 + %27 = load i8*, i8** %path.addr, align 8 + %arrayidx51 = getelementptr inbounds i8, i8* %27, i64 1 + %28 = load i8, i8* %arrayidx51, align 1 + %conv52 = sext i8 %28 to i32 + %cmp53 = icmp eq i32 %conv52, 47 + br i1 %cmp53, label %if.then55, label %if.end57 + +if.then55: ; preds = %lor.lhs.false, %if.then46 + %29 = load i8*, i8** %path.addr, align 8 + %incdec.ptr56 = getelementptr inbounds i8, i8* %29, i32 1 + store i8* %incdec.ptr56, i8** %path.addr, align 8 + br label %while.cond + +if.end57: ; preds = %lor.lhs.false + %30 = load i8*, i8** %path.addr, align 8 + %arrayidx58 = getelementptr inbounds i8, i8* %30, i64 1 + %31 = load i8, i8* %arrayidx58, align 1 + %conv59 = sext i8 %31 to i32 + %cmp60 = icmp eq i32 %conv59, 46 + br i1 %cmp60, label %if.then62, label %if.end88 + +if.then62: ; preds = %if.end57 + %32 = load i8*, i8** %path.addr, align 8 + %arrayidx63 = getelementptr inbounds i8, i8* %32, i64 2 + %33 = load i8, i8* %arrayidx63, align 1 + %conv64 = sext i8 %33 to i32 + %cmp65 = icmp eq i32 %conv64, 0 + br i1 %cmp65, label %if.then72, label %lor.lhs.false67 + +lor.lhs.false67: ; preds = %if.then62 + %34 = load i8*, i8** %path.addr, align 8 + %arrayidx68 = getelementptr inbounds i8, i8* %34, i64 2 + %35 = load i8, i8* %arrayidx68, align 1 + %conv69 = sext i8 %35 to i32 + %cmp70 = icmp eq i32 %conv69, 47 + br i1 %cmp70, label %if.then72, label %if.end88 + +if.then72: ; preds = %lor.lhs.false67, %if.then62 + %36 = load i8*, i8** %path.addr, align 8 + %add.ptr73 = getelementptr inbounds i8, i8* %36, i64 2 + store i8* %add.ptr73, i8** %path.addr, align 8 + %37 = load i8*, i8** %new_path, align 8 + %38 = load i8*, i8** %got_path.addr, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %38, i64 1 + %cmp75 = icmp eq i8* %37, %add.ptr74 + br i1 %cmp75, label %while.cond, label %while.cond79 + +while.cond79: ; preds = %while.cond79, %if.then72 + %39 = load i8*, i8** %new_path, align 8 + %incdec.ptr80 = getelementptr inbounds i8, i8* %39, i32 -1 + store i8* %incdec.ptr80, i8** %new_path, align 8 + %arrayidx81 = getelementptr inbounds i8, i8* %incdec.ptr80, i64 -1 + %40 = load i8, i8* %arrayidx81, align 1 + %conv82 = sext i8 %40 to i32 + %cmp83 = icmp ne i32 %conv82, 47 + br i1 %cmp83, label %while.cond79, label %while.cond + +if.end88: ; preds = %if.end57, %lor.lhs.false67, %if.end42 + br label %while.cond89 + +while.cond89: ; preds = %if.end100, %if.end88 + %41 = load i8*, i8** %path.addr, align 8 + %42 = load i8, i8* %41, align 1 + %conv90 = sext i8 %42 to i32 + %cmp91 = icmp ne i32 %conv90, 0 + br i1 %cmp91, label %land.rhs, label %while.end103 + +land.rhs: ; preds = %while.cond89 + %43 = load i8*, i8** %path.addr, align 8 + %44 = load i8, i8* %43, align 1 + %conv93 = sext i8 %44 to i32 + %cmp94 = icmp ne i32 %conv93, 47 + br i1 %cmp94, label %while.body96, label %while.end103 + +while.body96: ; preds = %land.rhs + %45 = load i8*, i8** %new_path, align 8 + %46 = load i8*, i8** %max_path, align 8 + %cmp97 = icmp ugt i8* %45, %46 + br i1 %cmp97, label %if.then99, label %if.end100 + +if.then99: ; preds = %while.body96 + store i32 36, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end100: ; preds = %while.body96 + %47 = load i8*, i8** %path.addr, align 8 + %incdec.ptr101 = getelementptr inbounds i8, i8* %47, i32 1 + store i8* %incdec.ptr101, i8** %path.addr, align 8 + %48 = load i8, i8* %47, align 1 + %49 = load i8*, i8** %new_path, align 8 + %incdec.ptr102 = getelementptr inbounds i8, i8* %49, i32 1 + store i8* %incdec.ptr102, i8** %new_path, align 8 + store i8 %48, i8* %49, align 1 + br label %while.cond89 + +while.end103: ; preds = %while.cond89, %land.rhs + %50 = load i32, i32* %readlinks, align 4 + %inc = add nsw i32 %50, 1 + store i32 %inc, i32* %readlinks, align 4 + %cmp104 = icmp sgt i32 %50, 32 + br i1 %cmp104, label %if.then106, label %if.end107 + +if.then106: ; preds = %while.end103 + store i32 40, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end107: ; preds = %while.end103 + %51 = load i8*, i8** %path.addr, align 8 + %call108 = call i64 @strlen(i8* %51) #20 + store i64 %call108, i64* %path_len, align 8 + %52 = load i8*, i8** %new_path, align 8 + store i8 0, i8* %52, align 1 + %53 = load i8*, i8** %got_path.addr, align 8 + %arraydecay109 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %call110 = call i64 @readlink(i8* %53, i8* %arraydecay109, i64 4095) #19 + %conv111 = trunc i64 %call110 to i32 + store i32 %conv111, i32* %link_len, align 4 + %54 = load i32, i32* %link_len, align 4 + %cmp112 = icmp slt i32 %54, 0 + br i1 %cmp112, label %if.then114, label %if.else119 + +if.then114: ; preds = %if.end107 + %55 = load i32, i32* @errno, align 4 + %cmp115 = icmp ne i32 %55, 22 + br i1 %cmp115, label %if.then117, label %if.end155 + +if.then117: ; preds = %if.then114 + store i8* null, i8** %retval, align 8 + br label %return + +if.else119: ; preds = %if.end107 + %56 = load i64, i64* %path_len, align 8 + %57 = load i32, i32* %link_len, align 4 + %conv120 = sext i32 %57 to i64 + %add = add i64 %56, %conv120 + %cmp121 = icmp uge i64 %add, 4094 + br i1 %cmp121, label %if.then123, label %if.end124 + +if.then123: ; preds = %if.else119 + store i32 36, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end124: ; preds = %if.else119 + %arraydecay125 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %58 = load i8, i8* %arraydecay125, align 16 + %conv126 = sext i8 %58 to i32 + %cmp127 = icmp eq i32 %conv126, 47 + br i1 %cmp127, label %if.then129, label %while.cond131 + +if.then129: ; preds = %if.end124 + %59 = load i8*, i8** %got_path.addr, align 8 + store i8* %59, i8** %new_path, align 8 + br label %if.end138 + +while.cond131: ; preds = %while.cond131, %if.end124 + %60 = load i8*, i8** %new_path, align 8 + %incdec.ptr132 = getelementptr inbounds i8, i8* %60, i32 -1 + store i8* %incdec.ptr132, i8** %new_path, align 8 + %61 = load i8, i8* %incdec.ptr132, align 1 + %conv133 = sext i8 %61 to i32 + %cmp134 = icmp ne i32 %conv133, 47 + br i1 %cmp134, label %while.cond131, label %if.end138 + +if.end138: ; preds = %while.cond131, %if.then129 + %arraydecay139 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr140 = getelementptr inbounds i8, i8* %arraydecay139, i64 4095 + %62 = load i32, i32* %link_len, align 4 + %idx.ext = sext i32 %62 to i64 + %idx.neg141 = sub i64 0, %idx.ext + %add.ptr142 = getelementptr inbounds i8, i8* %add.ptr140, i64 %idx.neg141 + %63 = load i64, i64* %path_len, align 8 + %idx.neg143 = sub i64 0, %63 + %add.ptr144 = getelementptr inbounds i8, i8* %add.ptr142, i64 %idx.neg143 + %arraydecay145 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %64 = load i32, i32* %link_len, align 4 + %conv146 = sext i32 %64 to i64 + %call147 = call i8* @memmove(i8* %add.ptr144, i8* %arraydecay145, i64 %conv146) #19 + %arraydecay148 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr149 = getelementptr inbounds i8, i8* %arraydecay148, i64 4095 + %65 = load i32, i32* %link_len, align 4 + %idx.ext150 = sext i32 %65 to i64 + %idx.neg151 = sub i64 0, %idx.ext150 + %add.ptr152 = getelementptr inbounds i8, i8* %add.ptr149, i64 %idx.neg151 + %66 = load i64, i64* %path_len, align 8 + %idx.neg153 = sub i64 0, %66 + %add.ptr154 = getelementptr inbounds i8, i8* %add.ptr152, i64 %idx.neg153 + store i8* %add.ptr154, i8** %path.addr, align 8 + br label %if.end155 + +if.end155: ; preds = %if.then114, %if.end138 + %67 = load i8*, i8** %new_path, align 8 + %incdec.ptr156 = getelementptr inbounds i8, i8* %67, i32 1 + store i8* %incdec.ptr156, i8** %new_path, align 8 + store i8 47, i8* %67, align 1 + br label %while.cond + +while.end157: ; preds = %while.cond + %68 = load i8*, i8** %new_path, align 8 + %69 = load i8*, i8** %got_path.addr, align 8 + %add.ptr158 = getelementptr inbounds i8, i8* %69, i64 1 + %cmp159 = icmp ne i8* %68, %add.ptr158 + br i1 %cmp159, label %land.lhs.true, label %if.end167 + +land.lhs.true: ; preds = %while.end157 + %70 = load i8*, i8** %new_path, align 8 + %arrayidx161 = getelementptr inbounds i8, i8* %70, i64 -1 + %71 = load i8, i8* %arrayidx161, align 1 + %conv162 = sext i8 %71 to i32 + %cmp163 = icmp eq i32 %conv162, 47 + br i1 %cmp163, label %if.then165, label %if.end167 + +if.then165: ; preds = %land.lhs.true + %72 = load i8*, i8** %new_path, align 8 + %incdec.ptr166 = getelementptr inbounds i8, i8* %72, i32 -1 + store i8* %incdec.ptr166, i8** %new_path, align 8 + br label %if.end167 + +if.end167: ; preds = %if.then165, %land.lhs.true, %while.end157 + %73 = load i8*, i8** %new_path, align 8 + store i8 0, i8* %73, align 1 + %74 = load i8*, i8** %got_path.addr, align 8 + store i8* %74, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end167, %if.then123, %if.then117, %if.then106, %if.then99, %if.then22, %if.then7, %if.then3, %if.then + %75 = load i8*, i8** %retval, align 8 + ret i8* %75 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @strtoul(i8* noalias nonnull %str, i8** noalias %endptr, i32 %base) #0 { +entry: + %str.addr = alloca i8*, align 8 + %endptr.addr = alloca i8**, align 8 + %base.addr = alloca i32, align 4 + store i8* %str, i8** %str.addr, align 8 + store i8** %endptr, i8*** %endptr.addr, align 8 + store i32 %base, i32* %base.addr, align 4 + %0 = load i8*, i8** %str.addr, align 8 + %1 = load i8**, i8*** %endptr.addr, align 8 + %2 = load i32, i32* %base.addr, align 4 + %call = call i64 @_stdlib_strto_l(i8* %0, i8** %1, i32 %2, i32 0) #18 + ret i64 %call +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @memcmp(i8* nonnull %s1, i8* nonnull %s2, i64 %n) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r1 = alloca i8*, align 8 + %r2 = alloca i8*, align 8 + %r = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %r1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %r2, align 8 + store i32 0, i32* %r, align 4 + br label %while.cond + +while.cond: ; preds = %land.rhs, %entry + %2 = load i64, i64* %n.addr, align 8 + %dec = add i64 %2, -1 + store i64 %dec, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %3 = load i8*, i8** %r1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %r1, align 8 + %4 = load i8, i8* %3, align 1 + %conv = zext i8 %4 to i32 + %5 = load i8*, i8** %r2, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr1, i8** %r2, align 8 + %6 = load i8, i8* %5, align 1 + %conv2 = zext i8 %6 to i32 + %sub = sub nsw i32 %conv, %conv2 + store i32 %sub, i32* %r, align 4 + %cmp = icmp eq i32 %sub, 0 + br i1 %cmp, label %while.cond, label %while.end + +while.end: ; preds = %while.cond, %land.rhs + %7 = load i32, i32* %r, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @strchr(i8* nonnull %s, i32 %c) #14 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %entry + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %2 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %2 to i8 + %conv2 = sext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + %3 = load i8*, i8** %s.addr, align 8 + br i1 %cmp, label %if.then, label %do.cond + +if.then: ; preds = %do.body + store i8* %3, i8** %retval, align 8 + br label %return + +do.cond: ; preds = %do.body + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %s.addr, align 8 + %4 = load i8, i8* %3, align 1 + %tobool = icmp ne i8 %4, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %do.end, %if.then + %5 = load i8*, i8** %retval, align 8 + ret i8* %5 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @tcgetattr(i32 %fd, %struct.termios* %termios_p) #0 { +entry: + %fd.addr = alloca i32, align 4 + %termios_p.addr = alloca %struct.termios*, align 8 + %k_termios = alloca %struct.__kernel_termios, align 4 + %retval1 = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.termios* %termios_p, %struct.termios** %termios_p.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 (i32, i64, ...) @ioctl(i32 %0, i64 21505, %struct.__kernel_termios* %k_termios) #19 + store i32 %call, i32* %retval1, align 4 + %c_iflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 0 + %1 = load i32, i32* %c_iflag, align 4 + %2 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_iflag2 = getelementptr inbounds %struct.termios, %struct.termios* %2, i32 0, i32 0 + store i32 %1, i32* %c_iflag2, align 4 + %c_oflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 1 + %3 = load i32, i32* %c_oflag, align 4 + %4 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_oflag3 = getelementptr inbounds %struct.termios, %struct.termios* %4, i32 0, i32 1 + store i32 %3, i32* %c_oflag3, align 4 + %c_cflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 2 + %5 = load i32, i32* %c_cflag, align 4 + %6 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_cflag4 = getelementptr inbounds %struct.termios, %struct.termios* %6, i32 0, i32 2 + store i32 %5, i32* %c_cflag4, align 4 + %c_lflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 3 + %7 = load i32, i32* %c_lflag, align 4 + %8 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_lflag5 = getelementptr inbounds %struct.termios, %struct.termios* %8, i32 0, i32 3 + store i32 %7, i32* %c_lflag5, align 4 + %c_line = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 4 + %9 = load i8, i8* %c_line, align 4 + %10 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_line6 = getelementptr inbounds %struct.termios, %struct.termios* %10, i32 0, i32 4 + store i8 %9, i8* %c_line6, align 4 + %11 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_cc = getelementptr inbounds %struct.termios, %struct.termios* %11, i32 0, i32 5 + %arrayidx = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc, i64 0, i64 0 + %c_cc7 = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 5 + %arrayidx8 = getelementptr inbounds [19 x i8], [19 x i8]* %c_cc7, i64 0, i64 0 + %call9 = call i8* @mempcpy(i8* %arrayidx, i8* %arrayidx8, i64 19) #19 + %call10 = call i8* @memset(i8* %call9, i32 0, i64 13) #19 + %12 = load i32, i32* %retval1, align 4 + ret i32 %12 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_getopt_internal(i32 %argc, i8** %argv, i8* %optstring, %struct.option* %longopts, i32* %longind, i32 %long_only) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + %longopts.addr = alloca %struct.option*, align 8 + %longind.addr = alloca i32*, align 8 + %long_only.addr = alloca i32, align 4 + %result = alloca i32, align 4 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + store %struct.option* %longopts, %struct.option** %longopts.addr, align 8 + store i32* %longind, i32** %longind.addr, align 8 + store i32 %long_only, i32* %long_only.addr, align 4 + %0 = load i32, i32* @optind, align 4 + store i32 %0, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 0), align 8 + %1 = load i32, i32* @opterr, align 4 + store i32 %1, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 1), align 4 + %2 = load i32, i32* %argc.addr, align 4 + %3 = load i8**, i8*** %argv.addr, align 8 + %4 = load i8*, i8** %optstring.addr, align 8 + %5 = load %struct.option*, %struct.option** %longopts.addr, align 8 + %6 = load i32*, i32** %longind.addr, align 8 + %7 = load i32, i32* %long_only.addr, align 4 + %call = call i32 @_getopt_internal_r(i32 %2, i8** %3, i8* %4, %struct.option* %5, i32* %6, i32 %7, %struct._getopt_data* @getopt_data) #18 + store i32 %call, i32* %result, align 4 + %8 = load i32, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 0), align 8 + store i32 %8, i32* @optind, align 4 + %9 = load i8*, i8** getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 3), align 8 + store i8* %9, i8** @optarg, align 8 + %10 = load i32, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 2), align 8 + store i32 %10, i32* @optopt, align 4 + %11 = load i32, i32* %result, align 4 + ret i32 %11 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_getopt_internal_r(i32 %argc, i8** %argv, i8* %optstring, %struct.option* %longopts, i32* %longind, i32 %long_only, %struct._getopt_data* %d) #0 { +entry: + %retval = alloca i32, align 4 + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + %longopts.addr = alloca %struct.option*, align 8 + %longind.addr = alloca i32*, align 8 + %long_only.addr = alloca i32, align 4 + %d.addr = alloca %struct._getopt_data*, align 8 + %print_errors = alloca i32, align 4 + %nameend = alloca i8*, align 8 + %p = alloca %struct.option*, align 8 + %pfound = alloca %struct.option*, align 8 + %exact = alloca i32, align 4 + %ambig = alloca i32, align 4 + %indfound = alloca i32, align 4 + %option_index = alloca i32, align 4 + %c = alloca i8, align 1 + %temp = alloca i8*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + store %struct.option* %longopts, %struct.option** %longopts.addr, align 8 + store i32* %longind, i32** %longind.addr, align 8 + store i32 %long_only, i32* %long_only.addr, align 4 + store %struct._getopt_data* %d, %struct._getopt_data** %d.addr, align 8 + %0 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %opterr = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %0, i32 0, i32 1 + %1 = load i32, i32* %opterr, align 4 + store i32 %1, i32* %print_errors, align 4 + %2 = load i8*, i8** %optstring.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %2, i64 0 + %3 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %3 to i32 + %cmp = icmp eq i32 %conv, 58 + %spec.store.select = select i1 %cmp, i32 0, i32 %1 + store i32 %spec.store.select, i32* %print_errors, align 4 + %4 = load i32, i32* %argc.addr, align 4 + %cmp2 = icmp slt i32 %4, 1 + br i1 %cmp2, label %if.then4, label %if.end5 + +if.then4: ; preds = %entry + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %entry + %5 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %5, i32 0, i32 3 + store i8* null, i8** %optarg, align 8 + %6 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %6, i32 0, i32 0 + %7 = load i32, i32* %optind, align 8 + %cmp6 = icmp eq i32 %7, 0 + br i1 %cmp6, label %if.then8, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end5 + %8 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__initialized = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %8, i32 0, i32 4 + %9 = load i32, i32* %__initialized, align 8 + %tobool = icmp ne i32 %9, 0 + br i1 %tobool, label %if.end16, label %if.then8 + +if.then8: ; preds = %lor.lhs.false, %if.end5 + %10 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind9 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %10, i32 0, i32 0 + %11 = load i32, i32* %optind9, align 8 + %cmp10 = icmp eq i32 %11, 0 + br i1 %cmp10, label %if.then12, label %if.end14 + +if.then12: ; preds = %if.then8 + %12 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind13 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %12, i32 0, i32 0 + store i32 1, i32* %optind13, align 8 + br label %if.end14 + +if.end14: ; preds = %if.then12, %if.then8 + %13 = load i32, i32* %argc.addr, align 4 + %14 = load i8**, i8*** %argv.addr, align 8 + %15 = load i8*, i8** %optstring.addr, align 8 + %16 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %call = call i8* @_getopt_initialize(i32 %13, i8** %14, i8* %15, %struct._getopt_data* %16) #18 + store i8* %call, i8** %optstring.addr, align 8 + %17 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__initialized15 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %17, i32 0, i32 4 + store i32 1, i32* %__initialized15, align 8 + br label %if.end16 + +if.end16: ; preds = %if.end14, %lor.lhs.false + %18 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %18, i32 0, i32 5 + %19 = load i8*, i8** %__nextchar, align 8 + %cmp17 = icmp eq i8* %19, null + br i1 %cmp17, label %if.then24, label %lor.lhs.false19 + +lor.lhs.false19: ; preds = %if.end16 + %20 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar20 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %20, i32 0, i32 5 + %21 = load i8*, i8** %__nextchar20, align 8 + %22 = load i8, i8* %21, align 1 + %conv21 = sext i8 %22 to i32 + %cmp22 = icmp eq i32 %conv21, 0 + br i1 %cmp22, label %if.then24, label %if.end171 + +if.then24: ; preds = %lor.lhs.false19, %if.end16 + %23 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %23, i32 0, i32 9 + %24 = load i32, i32* %__last_nonopt, align 4 + %25 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind25 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %25, i32 0, i32 0 + %26 = load i32, i32* %optind25, align 8 + %cmp26 = icmp sgt i32 %24, %26 + br i1 %cmp26, label %if.then28, label %if.end31 + +if.then28: ; preds = %if.then24 + %27 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind29 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %27, i32 0, i32 0 + %28 = load i32, i32* %optind29, align 8 + %29 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt30 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %29, i32 0, i32 9 + store i32 %28, i32* %__last_nonopt30, align 4 + br label %if.end31 + +if.end31: ; preds = %if.then28, %if.then24 + %30 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %30, i32 0, i32 8 + %31 = load i32, i32* %__first_nonopt, align 8 + %32 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind32 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %32, i32 0, i32 0 + %33 = load i32, i32* %optind32, align 8 + %cmp33 = icmp sgt i32 %31, %33 + br i1 %cmp33, label %if.then35, label %if.end38 + +if.then35: ; preds = %if.end31 + %34 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind36 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %34, i32 0, i32 0 + %35 = load i32, i32* %optind36, align 8 + %36 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt37 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %36, i32 0, i32 8 + store i32 %35, i32* %__first_nonopt37, align 8 + br label %if.end38 + +if.end38: ; preds = %if.then35, %if.end31 + %37 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %37, i32 0, i32 6 + %38 = load i32, i32* %__ordering, align 8 + %cmp39 = icmp eq i32 %38, 1 + br i1 %cmp39, label %if.then41, label %if.end79 + +if.then41: ; preds = %if.end38 + %39 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt42 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %39, i32 0, i32 8 + %40 = load i32, i32* %__first_nonopt42, align 8 + %41 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt43 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %41, i32 0, i32 9 + %42 = load i32, i32* %__last_nonopt43, align 4 + %cmp44 = icmp ne i32 %40, %42 + br i1 %cmp44, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %if.then41 + %43 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt46 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %43, i32 0, i32 9 + %44 = load i32, i32* %__last_nonopt46, align 4 + %45 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind47 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %45, i32 0, i32 0 + %46 = load i32, i32* %optind47, align 8 + %cmp48 = icmp ne i32 %44, %46 + br i1 %cmp48, label %if.then50, label %if.else + +if.then50: ; preds = %land.lhs.true + %47 = load i8**, i8*** %argv.addr, align 8 + %48 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + call void @exchange(i8** %47, %struct._getopt_data* %48) #18 + br label %if.end59 + +if.else: ; preds = %land.lhs.true, %if.then41 + %49 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt51 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %49, i32 0, i32 9 + %50 = load i32, i32* %__last_nonopt51, align 4 + %51 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind52 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %51, i32 0, i32 0 + %52 = load i32, i32* %optind52, align 8 + %cmp53 = icmp ne i32 %50, %52 + br i1 %cmp53, label %if.then55, label %if.end59 + +if.then55: ; preds = %if.else + %53 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind56 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %53, i32 0, i32 0 + %54 = load i32, i32* %optind56, align 8 + %55 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt57 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %55, i32 0, i32 8 + store i32 %54, i32* %__first_nonopt57, align 8 + br label %if.end59 + +if.end59: ; preds = %if.else, %if.then55, %if.then50 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end59 + %56 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind60 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %56, i32 0, i32 0 + %57 = load i32, i32* %optind60, align 8 + %58 = load i32, i32* %argc.addr, align 4 + %cmp61 = icmp slt i32 %57, %58 + br i1 %cmp61, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %59 = load i8**, i8*** %argv.addr, align 8 + %60 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind63 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %60, i32 0, i32 0 + %61 = load i32, i32* %optind63, align 8 + %idxprom = sext i32 %61 to i64 + %arrayidx64 = getelementptr inbounds i8*, i8** %59, i64 %idxprom + %62 = load i8*, i8** %arrayidx64, align 8 + %arrayidx65 = getelementptr inbounds i8, i8* %62, i64 0 + %63 = load i8, i8* %arrayidx65, align 1 + %conv66 = sext i8 %63 to i32 + %cmp67 = icmp ne i32 %conv66, 45 + br i1 %cmp67, label %land.end, label %lor.rhs + +lor.rhs: ; preds = %land.rhs + %64 = load i8**, i8*** %argv.addr, align 8 + %65 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind69 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %65, i32 0, i32 0 + %66 = load i32, i32* %optind69, align 8 + %idxprom70 = sext i32 %66 to i64 + %arrayidx71 = getelementptr inbounds i8*, i8** %64, i64 %idxprom70 + %67 = load i8*, i8** %arrayidx71, align 8 + %arrayidx72 = getelementptr inbounds i8, i8* %67, i64 1 + %68 = load i8, i8* %arrayidx72, align 1 + %conv73 = sext i8 %68 to i32 + %cmp74 = icmp eq i32 %conv73, 0 + br label %land.end + +land.end: ; preds = %land.rhs, %lor.rhs, %while.cond + %69 = phi i1 [ false, %while.cond ], [ true, %land.rhs ], [ %cmp74, %lor.rhs ] + %70 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind76 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %70, i32 0, i32 0 + %71 = load i32, i32* %optind76, align 8 + br i1 %69, label %while.body, label %while.end + +while.body: ; preds = %land.end + %inc = add nsw i32 %71, 1 + store i32 %inc, i32* %optind76, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %72 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt78 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %72, i32 0, i32 9 + store i32 %71, i32* %__last_nonopt78, align 4 + br label %if.end79 + +if.end79: ; preds = %while.end, %if.end38 + %73 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind80 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %73, i32 0, i32 0 + %74 = load i32, i32* %optind80, align 8 + %75 = load i32, i32* %argc.addr, align 4 + %cmp81 = icmp ne i32 %74, %75 + br i1 %cmp81, label %land.lhs.true83, label %if.end114 + +land.lhs.true83: ; preds = %if.end79 + %76 = load i8**, i8*** %argv.addr, align 8 + %77 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind84 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %77, i32 0, i32 0 + %78 = load i32, i32* %optind84, align 8 + %idxprom85 = sext i32 %78 to i64 + %arrayidx86 = getelementptr inbounds i8*, i8** %76, i64 %idxprom85 + %79 = load i8*, i8** %arrayidx86, align 8 + %call87 = call i32 @strcmp(i8* %79, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.307, i64 0, i64 0)) #20 + %tobool88 = icmp ne i32 %call87, 0 + br i1 %tobool88, label %if.end114, label %if.then89 + +if.then89: ; preds = %land.lhs.true83 + %80 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind90 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %80, i32 0, i32 0 + %81 = load i32, i32* %optind90, align 8 + %inc91 = add nsw i32 %81, 1 + store i32 %inc91, i32* %optind90, align 8 + %82 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt92 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %82, i32 0, i32 8 + %83 = load i32, i32* %__first_nonopt92, align 8 + %84 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt93 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %84, i32 0, i32 9 + %85 = load i32, i32* %__last_nonopt93, align 4 + %cmp94 = icmp ne i32 %83, %85 + br i1 %cmp94, label %land.lhs.true96, label %if.else102 + +land.lhs.true96: ; preds = %if.then89 + %86 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt97 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %86, i32 0, i32 9 + %87 = load i32, i32* %__last_nonopt97, align 4 + %88 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind98 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %88, i32 0, i32 0 + %89 = load i32, i32* %optind98, align 8 + %cmp99 = icmp ne i32 %87, %89 + br i1 %cmp99, label %if.then101, label %if.else102 + +if.then101: ; preds = %land.lhs.true96 + %90 = load i8**, i8*** %argv.addr, align 8 + %91 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + call void @exchange(i8** %90, %struct._getopt_data* %91) #18 + br label %if.end111 + +if.else102: ; preds = %land.lhs.true96, %if.then89 + %92 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt103 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %92, i32 0, i32 8 + %93 = load i32, i32* %__first_nonopt103, align 8 + %94 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt104 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %94, i32 0, i32 9 + %95 = load i32, i32* %__last_nonopt104, align 4 + %cmp105 = icmp eq i32 %93, %95 + br i1 %cmp105, label %if.then107, label %if.end111 + +if.then107: ; preds = %if.else102 + %96 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind108 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %96, i32 0, i32 0 + %97 = load i32, i32* %optind108, align 8 + %98 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt109 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %98, i32 0, i32 8 + store i32 %97, i32* %__first_nonopt109, align 8 + br label %if.end111 + +if.end111: ; preds = %if.else102, %if.then107, %if.then101 + %99 = load i32, i32* %argc.addr, align 4 + %100 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt112 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %100, i32 0, i32 9 + store i32 %99, i32* %__last_nonopt112, align 4 + %101 = load i32, i32* %argc.addr, align 4 + %102 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind113 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %102, i32 0, i32 0 + store i32 %101, i32* %optind113, align 8 + br label %if.end114 + +if.end114: ; preds = %if.end111, %land.lhs.true83, %if.end79 + %103 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind115 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %103, i32 0, i32 0 + %104 = load i32, i32* %optind115, align 8 + %105 = load i32, i32* %argc.addr, align 4 + %cmp116 = icmp eq i32 %104, %105 + br i1 %cmp116, label %if.then118, label %if.end127 + +if.then118: ; preds = %if.end114 + %106 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt119 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %106, i32 0, i32 8 + %107 = load i32, i32* %__first_nonopt119, align 8 + %108 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt120 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %108, i32 0, i32 9 + %109 = load i32, i32* %__last_nonopt120, align 4 + %cmp121 = icmp ne i32 %107, %109 + br i1 %cmp121, label %if.then123, label %if.end126 + +if.then123: ; preds = %if.then118 + %110 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt124 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %110, i32 0, i32 8 + %111 = load i32, i32* %__first_nonopt124, align 8 + %112 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind125 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %112, i32 0, i32 0 + store i32 %111, i32* %optind125, align 8 + br label %if.end126 + +if.end126: ; preds = %if.then123, %if.then118 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end127: ; preds = %if.end114 + %113 = load i8**, i8*** %argv.addr, align 8 + %114 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind128 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %114, i32 0, i32 0 + %115 = load i32, i32* %optind128, align 8 + %idxprom129 = sext i32 %115 to i64 + %arrayidx130 = getelementptr inbounds i8*, i8** %113, i64 %idxprom129 + %116 = load i8*, i8** %arrayidx130, align 8 + %arrayidx131 = getelementptr inbounds i8, i8* %116, i64 0 + %117 = load i8, i8* %arrayidx131, align 1 + %conv132 = sext i8 %117 to i32 + %cmp133 = icmp ne i32 %conv132, 45 + br i1 %cmp133, label %if.then143, label %lor.lhs.false135 + +lor.lhs.false135: ; preds = %if.end127 + %118 = load i8**, i8*** %argv.addr, align 8 + %119 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind136 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %119, i32 0, i32 0 + %120 = load i32, i32* %optind136, align 8 + %idxprom137 = sext i32 %120 to i64 + %arrayidx138 = getelementptr inbounds i8*, i8** %118, i64 %idxprom137 + %121 = load i8*, i8** %arrayidx138, align 8 + %arrayidx139 = getelementptr inbounds i8, i8* %121, i64 1 + %122 = load i8, i8* %arrayidx139, align 1 + %conv140 = sext i8 %122 to i32 + %cmp141 = icmp eq i32 %conv140, 0 + br i1 %cmp141, label %if.then143, label %if.end154 + +if.then143: ; preds = %lor.lhs.false135, %if.end127 + %123 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering144 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %123, i32 0, i32 6 + %124 = load i32, i32* %__ordering144, align 8 + %cmp145 = icmp eq i32 %124, 0 + br i1 %cmp145, label %if.then147, label %if.end148 + +if.then147: ; preds = %if.then143 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end148: ; preds = %if.then143 + %125 = load i8**, i8*** %argv.addr, align 8 + %126 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind149 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %126, i32 0, i32 0 + %127 = load i32, i32* %optind149, align 8 + %inc150 = add nsw i32 %127, 1 + store i32 %inc150, i32* %optind149, align 8 + %idxprom151 = sext i32 %127 to i64 + %arrayidx152 = getelementptr inbounds i8*, i8** %125, i64 %idxprom151 + %128 = load i8*, i8** %arrayidx152, align 8 + %129 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg153 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %129, i32 0, i32 3 + store i8* %128, i8** %optarg153, align 8 + store i32 1, i32* %retval, align 4 + br label %return + +if.end154: ; preds = %lor.lhs.false135 + %130 = load i8**, i8*** %argv.addr, align 8 + %131 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind155 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %131, i32 0, i32 0 + %132 = load i32, i32* %optind155, align 8 + %idxprom156 = sext i32 %132 to i64 + %arrayidx157 = getelementptr inbounds i8*, i8** %130, i64 %idxprom156 + %133 = load i8*, i8** %arrayidx157, align 8 + %add.ptr = getelementptr inbounds i8, i8* %133, i64 1 + %134 = load %struct.option*, %struct.option** %longopts.addr, align 8 + %cmp158 = icmp ne %struct.option* %134, null + br i1 %cmp158, label %land.rhs160, label %land.end168 + +land.rhs160: ; preds = %if.end154 + %135 = load i8**, i8*** %argv.addr, align 8 + %136 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind161 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %136, i32 0, i32 0 + %137 = load i32, i32* %optind161, align 8 + %idxprom162 = sext i32 %137 to i64 + %arrayidx163 = getelementptr inbounds i8*, i8** %135, i64 %idxprom162 + %138 = load i8*, i8** %arrayidx163, align 8 + %arrayidx164 = getelementptr inbounds i8, i8* %138, i64 1 + %139 = load i8, i8* %arrayidx164, align 1 + %conv165 = sext i8 %139 to i32 + %cmp166 = icmp eq i32 %conv165, 45 + br label %land.end168 + +land.end168: ; preds = %land.rhs160, %if.end154 + %140 = phi i1 [ false, %if.end154 ], [ %cmp166, %land.rhs160 ] + %land.ext = zext i1 %140 to i32 + %idx.ext = sext i32 %land.ext to i64 + %add.ptr169 = getelementptr inbounds i8, i8* %add.ptr, i64 %idx.ext + %141 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar170 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %141, i32 0, i32 5 + store i8* %add.ptr169, i8** %__nextchar170, align 8 + br label %if.end171 + +if.end171: ; preds = %land.end168, %lor.lhs.false19 + %142 = load %struct.option*, %struct.option** %longopts.addr, align 8 + %cmp172 = icmp ne %struct.option* %142, null + br i1 %cmp172, label %land.lhs.true174, label %if.end418 + +land.lhs.true174: ; preds = %if.end171 + %143 = load i8**, i8*** %argv.addr, align 8 + %144 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind175 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %144, i32 0, i32 0 + %145 = load i32, i32* %optind175, align 8 + %idxprom176 = sext i32 %145 to i64 + %arrayidx177 = getelementptr inbounds i8*, i8** %143, i64 %idxprom176 + %146 = load i8*, i8** %arrayidx177, align 8 + %arrayidx178 = getelementptr inbounds i8, i8* %146, i64 1 + %147 = load i8, i8* %arrayidx178, align 1 + %conv179 = sext i8 %147 to i32 + %cmp180 = icmp eq i32 %conv179, 45 + br i1 %cmp180, label %if.then199, label %lor.lhs.false182 + +lor.lhs.false182: ; preds = %land.lhs.true174 + %148 = load i32, i32* %long_only.addr, align 4 + %tobool183 = icmp ne i32 %148, 0 + br i1 %tobool183, label %land.lhs.true184, label %if.end418 + +land.lhs.true184: ; preds = %lor.lhs.false182 + %149 = load i8**, i8*** %argv.addr, align 8 + %150 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind185 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %150, i32 0, i32 0 + %151 = load i32, i32* %optind185, align 8 + %idxprom186 = sext i32 %151 to i64 + %arrayidx187 = getelementptr inbounds i8*, i8** %149, i64 %idxprom186 + %152 = load i8*, i8** %arrayidx187, align 8 + %arrayidx188 = getelementptr inbounds i8, i8* %152, i64 2 + %153 = load i8, i8* %arrayidx188, align 1 + %conv189 = sext i8 %153 to i32 + %tobool190 = icmp ne i32 %conv189, 0 + br i1 %tobool190, label %if.then199, label %lor.lhs.false191 + +lor.lhs.false191: ; preds = %land.lhs.true184 + %154 = load i8*, i8** %optstring.addr, align 8 + %155 = load i8**, i8*** %argv.addr, align 8 + %156 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind192 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %156, i32 0, i32 0 + %157 = load i32, i32* %optind192, align 8 + %idxprom193 = sext i32 %157 to i64 + %arrayidx194 = getelementptr inbounds i8*, i8** %155, i64 %idxprom193 + %158 = load i8*, i8** %arrayidx194, align 8 + %arrayidx195 = getelementptr inbounds i8, i8* %158, i64 1 + %159 = load i8, i8* %arrayidx195, align 1 + %conv196 = sext i8 %159 to i32 + %call197 = call i8* @strchr(i8* %154, i32 %conv196) #20 + %tobool198 = icmp ne i8* %call197, null + br i1 %tobool198, label %if.end418, label %if.then199 + +if.then199: ; preds = %lor.lhs.false191, %land.lhs.true184, %land.lhs.true174 + store %struct.option* null, %struct.option** %pfound, align 8 + store i32 0, i32* %exact, align 4 + store i32 0, i32* %ambig, align 4 + store i32 -1, i32* %indfound, align 4 + %160 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar200 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %160, i32 0, i32 5 + %161 = load i8*, i8** %__nextchar200, align 8 + store i8* %161, i8** %nameend, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.then199 + %162 = load i8*, i8** %nameend, align 8 + %163 = load i8, i8* %162, align 1 + %conv201 = sext i8 %163 to i32 + %tobool202 = icmp ne i32 %conv201, 0 + br i1 %tobool202, label %land.rhs203, label %for.end + +land.rhs203: ; preds = %for.cond + %164 = load i8*, i8** %nameend, align 8 + %165 = load i8, i8* %164, align 1 + %conv204 = sext i8 %165 to i32 + %cmp205 = icmp ne i32 %conv204, 61 + br i1 %cmp205, label %for.inc, label %for.end + +for.inc: ; preds = %land.rhs203 + %166 = load i8*, i8** %nameend, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %166, i32 1 + store i8* %incdec.ptr, i8** %nameend, align 8 + br label %for.cond + +for.end: ; preds = %for.cond, %land.rhs203 + %167 = load %struct.option*, %struct.option** %longopts.addr, align 8 + store %struct.option* %167, %struct.option** %p, align 8 + store i32 0, i32* %option_index, align 4 + br label %for.cond209 + +for.cond209: ; preds = %for.inc252, %for.end + %168 = load %struct.option*, %struct.option** %p, align 8 + %name = getelementptr inbounds %struct.option, %struct.option* %168, i32 0, i32 0 + %169 = load i8*, i8** %name, align 8 + %tobool210 = icmp ne i8* %169, null + br i1 %tobool210, label %for.body211, label %for.end255 + +for.body211: ; preds = %for.cond209 + %170 = load %struct.option*, %struct.option** %p, align 8 + %name212 = getelementptr inbounds %struct.option, %struct.option* %170, i32 0, i32 0 + %171 = load i8*, i8** %name212, align 8 + %172 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar213 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %172, i32 0, i32 5 + %173 = load i8*, i8** %__nextchar213, align 8 + %174 = load i8*, i8** %nameend, align 8 + %175 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar214 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %175, i32 0, i32 5 + %176 = load i8*, i8** %__nextchar214, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %174 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %176 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %call215 = call i32 @strncmp(i8* %171, i8* %173, i64 %sub.ptr.sub) #20 + %tobool216 = icmp ne i32 %call215, 0 + br i1 %tobool216, label %for.inc252, label %if.then217 + +if.then217: ; preds = %for.body211 + %177 = load i8*, i8** %nameend, align 8 + %178 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar218 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %178, i32 0, i32 5 + %179 = load i8*, i8** %__nextchar218, align 8 + %sub.ptr.lhs.cast219 = ptrtoint i8* %177 to i64 + %sub.ptr.rhs.cast220 = ptrtoint i8* %179 to i64 + %sub.ptr.sub221 = sub i64 %sub.ptr.lhs.cast219, %sub.ptr.rhs.cast220 + %conv222 = trunc i64 %sub.ptr.sub221 to i32 + %180 = load %struct.option*, %struct.option** %p, align 8 + %name223 = getelementptr inbounds %struct.option, %struct.option* %180, i32 0, i32 0 + %181 = load i8*, i8** %name223, align 8 + %call224 = call i64 @strlen(i8* %181) #20 + %conv225 = trunc i64 %call224 to i32 + %cmp226 = icmp eq i32 %conv222, %conv225 + br i1 %cmp226, label %if.then228, label %if.else229 + +if.then228: ; preds = %if.then217 + %182 = load %struct.option*, %struct.option** %p, align 8 + store %struct.option* %182, %struct.option** %pfound, align 8 + %183 = load i32, i32* %option_index, align 4 + store i32 %183, i32* %indfound, align 4 + store i32 1, i32* %exact, align 4 + br label %for.end255 + +if.else229: ; preds = %if.then217 + %184 = load %struct.option*, %struct.option** %pfound, align 8 + %cmp230 = icmp eq %struct.option* %184, null + br i1 %cmp230, label %if.then232, label %if.else233 + +if.then232: ; preds = %if.else229 + %185 = load %struct.option*, %struct.option** %p, align 8 + store %struct.option* %185, %struct.option** %pfound, align 8 + %186 = load i32, i32* %option_index, align 4 + store i32 %186, i32* %indfound, align 4 + br label %for.inc252 + +if.else233: ; preds = %if.else229 + %187 = load i32, i32* %long_only.addr, align 4 + %tobool234 = icmp ne i32 %187, 0 + br i1 %tobool234, label %if.then247, label %lor.lhs.false235 + +lor.lhs.false235: ; preds = %if.else233 + %188 = load %struct.option*, %struct.option** %pfound, align 8 + %has_arg = getelementptr inbounds %struct.option, %struct.option* %188, i32 0, i32 1 + %189 = load i32, i32* %has_arg, align 8 + %190 = load %struct.option*, %struct.option** %p, align 8 + %has_arg236 = getelementptr inbounds %struct.option, %struct.option* %190, i32 0, i32 1 + %191 = load i32, i32* %has_arg236, align 8 + %cmp237 = icmp ne i32 %189, %191 + br i1 %cmp237, label %if.then247, label %lor.lhs.false239 + +lor.lhs.false239: ; preds = %lor.lhs.false235 + %192 = load %struct.option*, %struct.option** %pfound, align 8 + %flag = getelementptr inbounds %struct.option, %struct.option* %192, i32 0, i32 2 + %193 = load i32*, i32** %flag, align 8 + %194 = load %struct.option*, %struct.option** %p, align 8 + %flag240 = getelementptr inbounds %struct.option, %struct.option* %194, i32 0, i32 2 + %195 = load i32*, i32** %flag240, align 8 + %cmp241 = icmp ne i32* %193, %195 + br i1 %cmp241, label %if.then247, label %lor.lhs.false243 + +lor.lhs.false243: ; preds = %lor.lhs.false239 + %196 = load %struct.option*, %struct.option** %pfound, align 8 + %val = getelementptr inbounds %struct.option, %struct.option* %196, i32 0, i32 3 + %197 = load i32, i32* %val, align 8 + %198 = load %struct.option*, %struct.option** %p, align 8 + %val244 = getelementptr inbounds %struct.option, %struct.option* %198, i32 0, i32 3 + %199 = load i32, i32* %val244, align 8 + %cmp245 = icmp ne i32 %197, %199 + br i1 %cmp245, label %if.then247, label %for.inc252 + +if.then247: ; preds = %lor.lhs.false243, %lor.lhs.false239, %lor.lhs.false235, %if.else233 + store i32 1, i32* %ambig, align 4 + br label %for.inc252 + +for.inc252: ; preds = %for.body211, %if.then232, %if.then247, %lor.lhs.false243 + %200 = load %struct.option*, %struct.option** %p, align 8 + %incdec.ptr253 = getelementptr inbounds %struct.option, %struct.option* %200, i32 1 + store %struct.option* %incdec.ptr253, %struct.option** %p, align 8 + %201 = load i32, i32* %option_index, align 4 + %inc254 = add nsw i32 %201, 1 + store i32 %inc254, i32* %option_index, align 4 + br label %for.cond209 + +for.end255: ; preds = %if.then228, %for.cond209 + %202 = load i32, i32* %ambig, align 4 + %tobool256 = icmp eq i32 %202, 0 + %203 = load i32, i32* %exact, align 4 + %tobool258 = icmp ne i32 %203, 0 + %or.cond = or i1 %tobool256, %tobool258 + br i1 %or.cond, label %if.end274, label %if.then259 + +if.then259: ; preds = %for.end255 + %204 = load i32, i32* %print_errors, align 4 + %tobool260 = icmp ne i32 %204, 0 + br i1 %tobool260, label %if.then261, label %if.end267 + +if.then261: ; preds = %if.then259 + %205 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %206 = load i8**, i8*** %argv.addr, align 8 + %arrayidx262 = getelementptr inbounds i8*, i8** %206, i64 0 + %207 = load i8*, i8** %arrayidx262, align 8 + %208 = load i8**, i8*** %argv.addr, align 8 + %209 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind263 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %209, i32 0, i32 0 + %210 = load i32, i32* %optind263, align 8 + %idxprom264 = sext i32 %210 to i64 + %arrayidx265 = getelementptr inbounds i8*, i8** %208, i64 %idxprom264 + %211 = load i8*, i8** %arrayidx265, align 8 + %call266 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %205, i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.1.308, i64 0, i64 0), i8* %207, i8* %211) #18 + br label %if.end267 + +if.end267: ; preds = %if.then261, %if.then259 + %212 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar268 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %212, i32 0, i32 5 + %213 = load i8*, i8** %__nextchar268, align 8 + %call269 = call i64 @strlen(i8* %213) #20 + %214 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar270 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %214, i32 0, i32 5 + %215 = load i8*, i8** %__nextchar270, align 8 + %add.ptr271 = getelementptr inbounds i8, i8* %215, i64 %call269 + store i8* %add.ptr271, i8** %__nextchar270, align 8 + %216 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind272 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %216, i32 0, i32 0 + %217 = load i32, i32* %optind272, align 8 + %inc273 = add nsw i32 %217, 1 + store i32 %inc273, i32* %optind272, align 8 + %218 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %218, i32 0, i32 2 + store i32 0, i32* %optopt, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.end274: ; preds = %for.end255 + %219 = load %struct.option*, %struct.option** %pfound, align 8 + %cmp275 = icmp ne %struct.option* %219, null + br i1 %cmp275, label %if.then277, label %if.end372 + +if.then277: ; preds = %if.end274 + %220 = load i32, i32* %indfound, align 4 + store i32 %220, i32* %option_index, align 4 + %221 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind278 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %221, i32 0, i32 0 + %222 = load i32, i32* %optind278, align 8 + %inc279 = add nsw i32 %222, 1 + store i32 %inc279, i32* %optind278, align 8 + %223 = load i8*, i8** %nameend, align 8 + %224 = load i8, i8* %223, align 1 + %tobool280 = icmp ne i8 %224, 0 + %225 = load %struct.option*, %struct.option** %pfound, align 8 + %has_arg282 = getelementptr inbounds %struct.option, %struct.option* %225, i32 0, i32 1 + %226 = load i32, i32* %has_arg282, align 8 + br i1 %tobool280, label %if.then281, label %if.else320 + +if.then281: ; preds = %if.then277 + %tobool283 = icmp ne i32 %226, 0 + br i1 %tobool283, label %if.then284, label %if.else287 + +if.then284: ; preds = %if.then281 + %227 = load i8*, i8** %nameend, align 8 + %add.ptr285 = getelementptr inbounds i8, i8* %227, i64 1 + %228 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg286 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %228, i32 0, i32 3 + store i8* %add.ptr285, i8** %optarg286, align 8 + br label %if.end356 + +if.else287: ; preds = %if.then281 + %229 = load i32, i32* %print_errors, align 4 + %tobool288 = icmp ne i32 %229, 0 + br i1 %tobool288, label %if.then289, label %if.end312 + +if.then289: ; preds = %if.else287 + %230 = load i8**, i8*** %argv.addr, align 8 + %231 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind290 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %231, i32 0, i32 0 + %232 = load i32, i32* %optind290, align 8 + %sub = sub nsw i32 %232, 1 + %idxprom291 = sext i32 %sub to i64 + %arrayidx292 = getelementptr inbounds i8*, i8** %230, i64 %idxprom291 + %233 = load i8*, i8** %arrayidx292, align 8 + %arrayidx293 = getelementptr inbounds i8, i8* %233, i64 1 + %234 = load i8, i8* %arrayidx293, align 1 + %conv294 = sext i8 %234 to i32 + %cmp295 = icmp eq i32 %conv294, 45 + %235 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %236 = load i8**, i8*** %argv.addr, align 8 + %arrayidx298 = getelementptr inbounds i8*, i8** %236, i64 0 + %237 = load i8*, i8** %arrayidx298, align 8 + br i1 %cmp295, label %if.then297, label %if.else301 + +if.then297: ; preds = %if.then289 + %238 = load %struct.option*, %struct.option** %pfound, align 8 + %name299 = getelementptr inbounds %struct.option, %struct.option* %238, i32 0, i32 0 + %239 = load i8*, i8** %name299, align 8 + %call300 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %235, i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.2.309, i64 0, i64 0), i8* %237, i8* %239) #18 + br label %if.end312 + +if.else301: ; preds = %if.then289 + %240 = load i8**, i8*** %argv.addr, align 8 + %241 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind303 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %241, i32 0, i32 0 + %242 = load i32, i32* %optind303, align 8 + %sub304 = sub nsw i32 %242, 1 + %idxprom305 = sext i32 %sub304 to i64 + %arrayidx306 = getelementptr inbounds i8*, i8** %240, i64 %idxprom305 + %243 = load i8*, i8** %arrayidx306, align 8 + %arrayidx307 = getelementptr inbounds i8, i8* %243, i64 0 + %244 = load i8, i8* %arrayidx307, align 1 + %conv308 = sext i8 %244 to i32 + %245 = load %struct.option*, %struct.option** %pfound, align 8 + %name309 = getelementptr inbounds %struct.option, %struct.option* %245, i32 0, i32 0 + %246 = load i8*, i8** %name309, align 8 + %call310 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %235, i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.3.310, i64 0, i64 0), i8* %237, i32 %conv308, i8* %246) #18 + br label %if.end312 + +if.end312: ; preds = %if.then297, %if.else301, %if.else287 + %247 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar313 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %247, i32 0, i32 5 + %248 = load i8*, i8** %__nextchar313, align 8 + %call314 = call i64 @strlen(i8* %248) #20 + %249 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar315 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %249, i32 0, i32 5 + %250 = load i8*, i8** %__nextchar315, align 8 + %add.ptr316 = getelementptr inbounds i8, i8* %250, i64 %call314 + store i8* %add.ptr316, i8** %__nextchar315, align 8 + %251 = load %struct.option*, %struct.option** %pfound, align 8 + %val317 = getelementptr inbounds %struct.option, %struct.option* %251, i32 0, i32 3 + %252 = load i32, i32* %val317, align 8 + %253 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt318 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %253, i32 0, i32 2 + store i32 %252, i32* %optopt318, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.else320: ; preds = %if.then277 + %cmp322 = icmp eq i32 %226, 1 + br i1 %cmp322, label %if.then324, label %if.end356 + +if.then324: ; preds = %if.else320 + %254 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind325 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %254, i32 0, i32 0 + %255 = load i32, i32* %optind325, align 8 + %256 = load i32, i32* %argc.addr, align 4 + %cmp326 = icmp slt i32 %255, %256 + br i1 %cmp326, label %if.then328, label %if.else334 + +if.then328: ; preds = %if.then324 + %257 = load i8**, i8*** %argv.addr, align 8 + %258 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind329 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %258, i32 0, i32 0 + %259 = load i32, i32* %optind329, align 8 + %inc330 = add nsw i32 %259, 1 + store i32 %inc330, i32* %optind329, align 8 + %idxprom331 = sext i32 %259 to i64 + %arrayidx332 = getelementptr inbounds i8*, i8** %257, i64 %idxprom331 + %260 = load i8*, i8** %arrayidx332, align 8 + %261 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg333 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %261, i32 0, i32 3 + store i8* %260, i8** %optarg333, align 8 + br label %if.end356 + +if.else334: ; preds = %if.then324 + %262 = load i32, i32* %print_errors, align 4 + %tobool335 = icmp ne i32 %262, 0 + br i1 %tobool335, label %if.then336, label %if.end343 + +if.then336: ; preds = %if.else334 + %263 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %264 = load i8**, i8*** %argv.addr, align 8 + %arrayidx337 = getelementptr inbounds i8*, i8** %264, i64 0 + %265 = load i8*, i8** %arrayidx337, align 8 + %266 = load i8**, i8*** %argv.addr, align 8 + %267 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind338 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %267, i32 0, i32 0 + %268 = load i32, i32* %optind338, align 8 + %sub339 = sub nsw i32 %268, 1 + %idxprom340 = sext i32 %sub339 to i64 + %arrayidx341 = getelementptr inbounds i8*, i8** %266, i64 %idxprom340 + %269 = load i8*, i8** %arrayidx341, align 8 + %call342 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %263, i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.4.311, i64 0, i64 0), i8* %265, i8* %269) #18 + br label %if.end343 + +if.end343: ; preds = %if.then336, %if.else334 + %270 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar344 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %270, i32 0, i32 5 + %271 = load i8*, i8** %__nextchar344, align 8 + %call345 = call i64 @strlen(i8* %271) #20 + %272 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar346 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %272, i32 0, i32 5 + %273 = load i8*, i8** %__nextchar346, align 8 + %add.ptr347 = getelementptr inbounds i8, i8* %273, i64 %call345 + store i8* %add.ptr347, i8** %__nextchar346, align 8 + %274 = load %struct.option*, %struct.option** %pfound, align 8 + %val348 = getelementptr inbounds %struct.option, %struct.option* %274, i32 0, i32 3 + %275 = load i32, i32* %val348, align 8 + %276 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt349 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %276, i32 0, i32 2 + store i32 %275, i32* %optopt349, align 8 + %277 = load i8*, i8** %optstring.addr, align 8 + %arrayidx350 = getelementptr inbounds i8, i8* %277, i64 0 + %278 = load i8, i8* %arrayidx350, align 1 + %conv351 = sext i8 %278 to i32 + %cmp352 = icmp eq i32 %conv351, 58 + %279 = zext i1 %cmp352 to i64 + %cond = select i1 %cmp352, i32 58, i32 63 + store i32 %cond, i32* %retval, align 4 + br label %return + +if.end356: ; preds = %if.else320, %if.then328, %if.then284 + %280 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar357 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %280, i32 0, i32 5 + %281 = load i8*, i8** %__nextchar357, align 8 + %call358 = call i64 @strlen(i8* %281) #20 + %282 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar359 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %282, i32 0, i32 5 + %283 = load i8*, i8** %__nextchar359, align 8 + %add.ptr360 = getelementptr inbounds i8, i8* %283, i64 %call358 + store i8* %add.ptr360, i8** %__nextchar359, align 8 + %284 = load i32*, i32** %longind.addr, align 8 + %cmp361 = icmp ne i32* %284, null + br i1 %cmp361, label %if.then363, label %if.end364 + +if.then363: ; preds = %if.end356 + %285 = load i32, i32* %option_index, align 4 + %286 = load i32*, i32** %longind.addr, align 8 + store i32 %285, i32* %286, align 4 + br label %if.end364 + +if.end364: ; preds = %if.then363, %if.end356 + %287 = load %struct.option*, %struct.option** %pfound, align 8 + %flag365 = getelementptr inbounds %struct.option, %struct.option* %287, i32 0, i32 2 + %288 = load i32*, i32** %flag365, align 8 + %tobool366 = icmp ne i32* %288, null + %289 = load %struct.option*, %struct.option** %pfound, align 8 + %val368 = getelementptr inbounds %struct.option, %struct.option* %289, i32 0, i32 3 + %290 = load i32, i32* %val368, align 8 + br i1 %tobool366, label %if.then367, label %if.end370 + +if.then367: ; preds = %if.end364 + %291 = load %struct.option*, %struct.option** %pfound, align 8 + %flag369 = getelementptr inbounds %struct.option, %struct.option* %291, i32 0, i32 2 + %292 = load i32*, i32** %flag369, align 8 + store i32 %290, i32* %292, align 4 + store i32 0, i32* %retval, align 4 + br label %return + +if.end370: ; preds = %if.end364 + store i32 %290, i32* %retval, align 4 + br label %return + +if.end372: ; preds = %if.end274 + %293 = load i32, i32* %long_only.addr, align 4 + %tobool373 = icmp ne i32 %293, 0 + br i1 %tobool373, label %lor.lhs.false374, label %if.then388 + +lor.lhs.false374: ; preds = %if.end372 + %294 = load i8**, i8*** %argv.addr, align 8 + %295 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind375 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %295, i32 0, i32 0 + %296 = load i32, i32* %optind375, align 8 + %idxprom376 = sext i32 %296 to i64 + %arrayidx377 = getelementptr inbounds i8*, i8** %294, i64 %idxprom376 + %297 = load i8*, i8** %arrayidx377, align 8 + %arrayidx378 = getelementptr inbounds i8, i8* %297, i64 1 + %298 = load i8, i8* %arrayidx378, align 1 + %conv379 = sext i8 %298 to i32 + %cmp380 = icmp eq i32 %conv379, 45 + br i1 %cmp380, label %if.then388, label %lor.lhs.false382 + +lor.lhs.false382: ; preds = %lor.lhs.false374 + %299 = load i8*, i8** %optstring.addr, align 8 + %300 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar383 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %300, i32 0, i32 5 + %301 = load i8*, i8** %__nextchar383, align 8 + %302 = load i8, i8* %301, align 1 + %conv384 = sext i8 %302 to i32 + %call385 = call i8* @strchr(i8* %299, i32 %conv384) #20 + %cmp386 = icmp eq i8* %call385, null + br i1 %cmp386, label %if.then388, label %if.end418 + +if.then388: ; preds = %lor.lhs.false382, %lor.lhs.false374, %if.end372 + %303 = load i32, i32* %print_errors, align 4 + %tobool389 = icmp ne i32 %303, 0 + br i1 %tobool389, label %if.then390, label %if.end412 + +if.then390: ; preds = %if.then388 + %304 = load i8**, i8*** %argv.addr, align 8 + %305 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind391 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %305, i32 0, i32 0 + %306 = load i32, i32* %optind391, align 8 + %idxprom392 = sext i32 %306 to i64 + %arrayidx393 = getelementptr inbounds i8*, i8** %304, i64 %idxprom392 + %307 = load i8*, i8** %arrayidx393, align 8 + %arrayidx394 = getelementptr inbounds i8, i8* %307, i64 1 + %308 = load i8, i8* %arrayidx394, align 1 + %conv395 = sext i8 %308 to i32 + %cmp396 = icmp eq i32 %conv395, 45 + %309 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %310 = load i8**, i8*** %argv.addr, align 8 + %arrayidx399 = getelementptr inbounds i8*, i8** %310, i64 0 + %311 = load i8*, i8** %arrayidx399, align 8 + br i1 %cmp396, label %if.then398, label %if.else402 + +if.then398: ; preds = %if.then390 + %312 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar400 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %312, i32 0, i32 5 + %313 = load i8*, i8** %__nextchar400, align 8 + %call401 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %309, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.5.312, i64 0, i64 0), i8* %311, i8* %313) #18 + br label %if.end412 + +if.else402: ; preds = %if.then390 + %314 = load i8**, i8*** %argv.addr, align 8 + %315 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind404 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %315, i32 0, i32 0 + %316 = load i32, i32* %optind404, align 8 + %idxprom405 = sext i32 %316 to i64 + %arrayidx406 = getelementptr inbounds i8*, i8** %314, i64 %idxprom405 + %317 = load i8*, i8** %arrayidx406, align 8 + %arrayidx407 = getelementptr inbounds i8, i8* %317, i64 0 + %318 = load i8, i8* %arrayidx407, align 1 + %conv408 = sext i8 %318 to i32 + %319 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar409 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %319, i32 0, i32 5 + %320 = load i8*, i8** %__nextchar409, align 8 + %call410 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %309, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.6.313, i64 0, i64 0), i8* %311, i32 %conv408, i8* %320) #18 + br label %if.end412 + +if.end412: ; preds = %if.then398, %if.else402, %if.then388 + %321 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar413 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %321, i32 0, i32 5 + store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.7.314, i64 0, i64 0), i8** %__nextchar413, align 8 + %322 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind414 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %322, i32 0, i32 0 + %323 = load i32, i32* %optind414, align 8 + %inc415 = add nsw i32 %323, 1 + store i32 %inc415, i32* %optind414, align 8 + %324 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt416 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %324, i32 0, i32 2 + store i32 0, i32* %optopt416, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.end418: ; preds = %lor.lhs.false382, %lor.lhs.false191, %lor.lhs.false182, %if.end171 + %325 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar419 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %325, i32 0, i32 5 + %326 = load i8*, i8** %__nextchar419, align 8 + %incdec.ptr420 = getelementptr inbounds i8, i8* %326, i32 1 + store i8* %incdec.ptr420, i8** %__nextchar419, align 8 + %327 = load i8, i8* %326, align 1 + store i8 %327, i8* %c, align 1 + %328 = load i8*, i8** %optstring.addr, align 8 + %329 = load i8, i8* %c, align 1 + %conv421 = sext i8 %329 to i32 + %call422 = call i8* @strchr(i8* %328, i32 %conv421) #20 + store i8* %call422, i8** %temp, align 8 + %330 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar423 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %330, i32 0, i32 5 + %331 = load i8*, i8** %__nextchar423, align 8 + %332 = load i8, i8* %331, align 1 + %conv424 = sext i8 %332 to i32 + %cmp425 = icmp eq i32 %conv424, 0 + br i1 %cmp425, label %if.then427, label %if.end430 + +if.then427: ; preds = %if.end418 + %333 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind428 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %333, i32 0, i32 0 + %334 = load i32, i32* %optind428, align 8 + %inc429 = add nsw i32 %334, 1 + store i32 %inc429, i32* %optind428, align 8 + br label %if.end430 + +if.end430: ; preds = %if.then427, %if.end418 + %335 = load i8*, i8** %temp, align 8 + %cmp431 = icmp eq i8* %335, null + br i1 %cmp431, label %if.then437, label %lor.lhs.false433 + +lor.lhs.false433: ; preds = %if.end430 + %336 = load i8, i8* %c, align 1 + %conv434 = sext i8 %336 to i32 + %cmp435 = icmp eq i32 %conv434, 58 + br i1 %cmp435, label %if.then437, label %if.end453 + +if.then437: ; preds = %lor.lhs.false433, %if.end430 + %337 = load i32, i32* %print_errors, align 4 + %tobool438 = icmp ne i32 %337, 0 + br i1 %tobool438, label %if.then439, label %if.end450 + +if.then439: ; preds = %if.then437 + %338 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__posixly_correct = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %338, i32 0, i32 7 + %339 = load i32, i32* %__posixly_correct, align 4 + %tobool440 = icmp ne i32 %339, 0 + %340 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %341 = load i8**, i8*** %argv.addr, align 8 + %arrayidx442 = getelementptr inbounds i8*, i8** %341, i64 0 + %342 = load i8*, i8** %arrayidx442, align 8 + %343 = load i8, i8* %c, align 1 + %conv443 = sext i8 %343 to i32 + br i1 %tobool440, label %if.then441, label %if.else445 + +if.then441: ; preds = %if.then439 + %call444 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %340, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.8.315, i64 0, i64 0), i8* %342, i32 %conv443) #18 + br label %if.end450 + +if.else445: ; preds = %if.then439 + %call448 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %340, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.9.316, i64 0, i64 0), i8* %342, i32 %conv443) #18 + br label %if.end450 + +if.end450: ; preds = %if.then441, %if.else445, %if.then437 + %344 = load i8, i8* %c, align 1 + %conv451 = sext i8 %344 to i32 + %345 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt452 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %345, i32 0, i32 2 + store i32 %conv451, i32* %optopt452, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.end453: ; preds = %lor.lhs.false433 + %346 = load i8*, i8** %temp, align 8 + %arrayidx454 = getelementptr inbounds i8, i8* %346, i64 1 + %347 = load i8, i8* %arrayidx454, align 1 + %conv455 = sext i8 %347 to i32 + %cmp456 = icmp eq i32 %conv455, 58 + br i1 %cmp456, label %if.then458, label %if.end517 + +if.then458: ; preds = %if.end453 + %348 = load i8*, i8** %temp, align 8 + %arrayidx459 = getelementptr inbounds i8, i8* %348, i64 2 + %349 = load i8, i8* %arrayidx459, align 1 + %conv460 = sext i8 %349 to i32 + %cmp461 = icmp eq i32 %conv460, 58 + %350 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar464 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %350, i32 0, i32 5 + %351 = load i8*, i8** %__nextchar464, align 8 + %352 = load i8, i8* %351, align 1 + %conv465 = sext i8 %352 to i32 + %cmp466 = icmp ne i32 %conv465, 0 + %353 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + br i1 %cmp461, label %if.then463, label %if.else477 + +if.then463: ; preds = %if.then458 + br i1 %cmp466, label %if.then468, label %if.else473 + +if.then468: ; preds = %if.then463 + %__nextchar469 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 5 + %354 = load i8*, i8** %__nextchar469, align 8 + %355 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg470 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %355, i32 0, i32 3 + store i8* %354, i8** %optarg470, align 8 + %356 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind471 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %356, i32 0, i32 0 + %357 = load i32, i32* %optind471, align 8 + %inc472 = add nsw i32 %357, 1 + store i32 %inc472, i32* %optind471, align 8 + br label %if.end475 + +if.else473: ; preds = %if.then463 + %optarg474 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 3 + store i8* null, i8** %optarg474, align 8 + br label %if.end475 + +if.end475: ; preds = %if.else473, %if.then468 + %358 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar476 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %358, i32 0, i32 5 + store i8* null, i8** %__nextchar476, align 8 + br label %if.end517 + +if.else477: ; preds = %if.then458 + br i1 %cmp466, label %if.then482, label %if.else487 + +if.then482: ; preds = %if.else477 + %__nextchar483 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 5 + %359 = load i8*, i8** %__nextchar483, align 8 + %360 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg484 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %360, i32 0, i32 3 + store i8* %359, i8** %optarg484, align 8 + %361 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind485 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %361, i32 0, i32 0 + %362 = load i32, i32* %optind485, align 8 + %inc486 = add nsw i32 %362, 1 + store i32 %inc486, i32* %optind485, align 8 + br label %if.end514 + +if.else487: ; preds = %if.else477 + %optind488 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 0 + %363 = load i32, i32* %optind488, align 8 + %364 = load i32, i32* %argc.addr, align 4 + %cmp489 = icmp eq i32 %363, %364 + br i1 %cmp489, label %if.then491, label %if.else507 + +if.then491: ; preds = %if.else487 + %365 = load i32, i32* %print_errors, align 4 + %tobool492 = icmp ne i32 %365, 0 + br i1 %tobool492, label %if.then493, label %if.end497 + +if.then493: ; preds = %if.then491 + %366 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %367 = load i8**, i8*** %argv.addr, align 8 + %arrayidx494 = getelementptr inbounds i8*, i8** %367, i64 0 + %368 = load i8*, i8** %arrayidx494, align 8 + %369 = load i8, i8* %c, align 1 + %conv495 = sext i8 %369 to i32 + %call496 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %366, i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.10.317, i64 0, i64 0), i8* %368, i32 %conv495) #18 + br label %if.end497 + +if.end497: ; preds = %if.then493, %if.then491 + %370 = load i8, i8* %c, align 1 + %conv498 = sext i8 %370 to i32 + %371 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt499 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %371, i32 0, i32 2 + store i32 %conv498, i32* %optopt499, align 8 + %372 = load i8*, i8** %optstring.addr, align 8 + %arrayidx500 = getelementptr inbounds i8, i8* %372, i64 0 + %373 = load i8, i8* %arrayidx500, align 1 + %conv501 = sext i8 %373 to i32 + %cmp502 = icmp eq i32 %conv501, 58 + br i1 %cmp502, label %if.then504, label %if.else505 + +if.then504: ; preds = %if.end497 + store i8 58, i8* %c, align 1 + br label %if.end514 + +if.else505: ; preds = %if.end497 + store i8 63, i8* %c, align 1 + br label %if.end514 + +if.else507: ; preds = %if.else487 + %374 = load i8**, i8*** %argv.addr, align 8 + %375 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind508 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %375, i32 0, i32 0 + %376 = load i32, i32* %optind508, align 8 + %inc509 = add nsw i32 %376, 1 + store i32 %inc509, i32* %optind508, align 8 + %idxprom510 = sext i32 %376 to i64 + %arrayidx511 = getelementptr inbounds i8*, i8** %374, i64 %idxprom510 + %377 = load i8*, i8** %arrayidx511, align 8 + %378 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg512 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %378, i32 0, i32 3 + store i8* %377, i8** %optarg512, align 8 + br label %if.end514 + +if.end514: ; preds = %if.else507, %if.else505, %if.then504, %if.then482 + %379 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar515 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %379, i32 0, i32 5 + store i8* null, i8** %__nextchar515, align 8 + br label %if.end517 + +if.end517: ; preds = %if.end475, %if.end514, %if.end453 + %380 = load i8, i8* %c, align 1 + %conv518 = sext i8 %380 to i32 + store i32 %conv518, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end517, %if.end450, %if.end412, %if.end370, %if.then367, %if.end343, %if.end312, %if.end267, %if.end148, %if.then147, %if.end126, %if.then4 + %381 = load i32, i32* %retval, align 4 + ret i32 %381 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @_getopt_initialize(i32 %argc, i8** %argv, i8* %optstring, %struct._getopt_data* %d) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + %d.addr = alloca %struct._getopt_data*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + store %struct._getopt_data* %d, %struct._getopt_data** %d.addr, align 8 + %0 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %0, i32 0, i32 0 + %1 = load i32, i32* %optind, align 8 + %2 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %2, i32 0, i32 9 + store i32 %1, i32* %__last_nonopt, align 4 + %3 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %3, i32 0, i32 8 + store i32 %1, i32* %__first_nonopt, align 8 + %4 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %4, i32 0, i32 5 + store i8* null, i8** %__nextchar, align 8 + %call = call i8* @getenv(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.11.318, i64 0, i64 0)) #19 + %tobool = icmp ne i8* %call, null + %lnot = xor i1 %tobool, true + %lnot1 = xor i1 %lnot, true + %lnot.ext = zext i1 %lnot1 to i32 + %5 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__posixly_correct = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %5, i32 0, i32 7 + store i32 %lnot.ext, i32* %__posixly_correct, align 4 + %6 = load i8*, i8** %optstring.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %6, i64 0 + %7 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %7 to i32 + %cmp = icmp eq i32 %conv, 45 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %8 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %8, i32 0, i32 6 + store i32 2, i32* %__ordering, align 8 + %9 = load i8*, i8** %optstring.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %optstring.addr, align 8 + br label %if.end18 + +if.else: ; preds = %entry + %10 = load i8*, i8** %optstring.addr, align 8 + %arrayidx3 = getelementptr inbounds i8, i8* %10, i64 0 + %11 = load i8, i8* %arrayidx3, align 1 + %conv4 = sext i8 %11 to i32 + %cmp5 = icmp eq i32 %conv4, 43 + %12 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + br i1 %cmp5, label %if.then7, label %if.else10 + +if.then7: ; preds = %if.else + %__ordering8 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %12, i32 0, i32 6 + store i32 0, i32* %__ordering8, align 8 + %13 = load i8*, i8** %optstring.addr, align 8 + %incdec.ptr9 = getelementptr inbounds i8, i8* %13, i32 1 + store i8* %incdec.ptr9, i8** %optstring.addr, align 8 + br label %if.end18 + +if.else10: ; preds = %if.else + %__posixly_correct11 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %12, i32 0, i32 7 + %14 = load i32, i32* %__posixly_correct11, align 4 + %tobool12 = icmp ne i32 %14, 0 + %15 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering14 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %15, i32 0, i32 6 + br i1 %tobool12, label %if.then13, label %if.else15 + +if.then13: ; preds = %if.else10 + store i32 0, i32* %__ordering14, align 8 + br label %if.end18 + +if.else15: ; preds = %if.else10 + store i32 1, i32* %__ordering14, align 8 + br label %if.end18 + +if.end18: ; preds = %if.then7, %if.else15, %if.then13, %if.then + %16 = load i8*, i8** %optstring.addr, align 8 + ret i8* %16 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @exchange(i8** %argv, %struct._getopt_data* %d) #0 { +entry: + %argv.addr = alloca i8**, align 8 + %d.addr = alloca %struct._getopt_data*, align 8 + %bottom = alloca i32, align 4 + %middle = alloca i32, align 4 + %top = alloca i32, align 4 + %tem = alloca i8*, align 8 + %len = alloca i32, align 4 + %i = alloca i32, align 4 + %len20 = alloca i32, align 4 + %i22 = alloca i32, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store %struct._getopt_data* %d, %struct._getopt_data** %d.addr, align 8 + %0 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %0, i32 0, i32 8 + %1 = load i32, i32* %__first_nonopt, align 8 + store i32 %1, i32* %bottom, align 4 + %2 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %2, i32 0, i32 9 + %3 = load i32, i32* %__last_nonopt, align 4 + store i32 %3, i32* %middle, align 4 + %4 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %4, i32 0, i32 0 + %5 = load i32, i32* %optind, align 8 + store i32 %5, i32* %top, align 4 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %6 = load i32, i32* %top, align 4 + %7 = load i32, i32* %middle, align 4 + %cmp = icmp sgt i32 %6, %7 + %8 = load i32, i32* %middle, align 4 + %9 = load i32, i32* %bottom, align 4 + %cmp1 = icmp sgt i32 %8, %9 + %10 = select i1 %cmp, i1 %cmp1, i1 false + br i1 %10, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %11 = load i32, i32* %top, align 4 + %12 = load i32, i32* %middle, align 4 + %sub = sub nsw i32 %11, %12 + %13 = load i32, i32* %middle, align 4 + %14 = load i32, i32* %bottom, align 4 + %sub2 = sub nsw i32 %13, %14 + %cmp3 = icmp sgt i32 %sub, %sub2 + br i1 %cmp3, label %if.then, label %if.else + +if.then: ; preds = %while.body + %15 = load i32, i32* %middle, align 4 + %16 = load i32, i32* %bottom, align 4 + %sub4 = sub nsw i32 %15, %16 + store i32 %sub4, i32* %len, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.then + %17 = load i32, i32* %i, align 4 + %18 = load i32, i32* %len, align 4 + %cmp5 = icmp slt i32 %17, %18 + br i1 %cmp5, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %19 = load i8**, i8*** %argv.addr, align 8 + %20 = load i32, i32* %bottom, align 4 + %21 = load i32, i32* %i, align 4 + %add = add nsw i32 %20, %21 + %idxprom = sext i32 %add to i64 + %arrayidx = getelementptr inbounds i8*, i8** %19, i64 %idxprom + %22 = load i8*, i8** %arrayidx, align 8 + store i8* %22, i8** %tem, align 8 + %23 = load i8**, i8*** %argv.addr, align 8 + %24 = load i32, i32* %top, align 4 + %25 = load i32, i32* %middle, align 4 + %26 = load i32, i32* %bottom, align 4 + %sub6 = sub nsw i32 %25, %26 + %sub7 = sub nsw i32 %24, %sub6 + %27 = load i32, i32* %i, align 4 + %add8 = add nsw i32 %sub7, %27 + %idxprom9 = sext i32 %add8 to i64 + %arrayidx10 = getelementptr inbounds i8*, i8** %23, i64 %idxprom9 + %28 = load i8*, i8** %arrayidx10, align 8 + %29 = load i8**, i8*** %argv.addr, align 8 + %30 = load i32, i32* %bottom, align 4 + %31 = load i32, i32* %i, align 4 + %add11 = add nsw i32 %30, %31 + %idxprom12 = sext i32 %add11 to i64 + %arrayidx13 = getelementptr inbounds i8*, i8** %29, i64 %idxprom12 + store i8* %28, i8** %arrayidx13, align 8 + %32 = load i8*, i8** %tem, align 8 + %33 = load i8**, i8*** %argv.addr, align 8 + %34 = load i32, i32* %top, align 4 + %35 = load i32, i32* %middle, align 4 + %36 = load i32, i32* %bottom, align 4 + %sub14 = sub nsw i32 %35, %36 + %sub15 = sub nsw i32 %34, %sub14 + %37 = load i32, i32* %i, align 4 + %add16 = add nsw i32 %sub15, %37 + %idxprom17 = sext i32 %add16 to i64 + %arrayidx18 = getelementptr inbounds i8*, i8** %33, i64 %idxprom17 + store i8* %32, i8** %arrayidx18, align 8 + %38 = load i32, i32* %i, align 4 + %inc = add nsw i32 %38, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %39 = load i32, i32* %len, align 4 + %40 = load i32, i32* %top, align 4 + %sub19 = sub nsw i32 %40, %39 + store i32 %sub19, i32* %top, align 4 + br label %if.end + +if.else: ; preds = %while.body + %41 = load i32, i32* %top, align 4 + %42 = load i32, i32* %middle, align 4 + %sub21 = sub nsw i32 %41, %42 + store i32 %sub21, i32* %len20, align 4 + store i32 0, i32* %i22, align 4 + br label %for.cond23 + +for.cond23: ; preds = %for.body25, %if.else + %43 = load i32, i32* %i22, align 4 + %44 = load i32, i32* %len20, align 4 + %cmp24 = icmp slt i32 %43, %44 + br i1 %cmp24, label %for.body25, label %for.end40 + +for.body25: ; preds = %for.cond23 + %45 = load i8**, i8*** %argv.addr, align 8 + %46 = load i32, i32* %bottom, align 4 + %47 = load i32, i32* %i22, align 4 + %add26 = add nsw i32 %46, %47 + %idxprom27 = sext i32 %add26 to i64 + %arrayidx28 = getelementptr inbounds i8*, i8** %45, i64 %idxprom27 + %48 = load i8*, i8** %arrayidx28, align 8 + store i8* %48, i8** %tem, align 8 + %49 = load i8**, i8*** %argv.addr, align 8 + %50 = load i32, i32* %middle, align 4 + %51 = load i32, i32* %i22, align 4 + %add29 = add nsw i32 %50, %51 + %idxprom30 = sext i32 %add29 to i64 + %arrayidx31 = getelementptr inbounds i8*, i8** %49, i64 %idxprom30 + %52 = load i8*, i8** %arrayidx31, align 8 + %53 = load i8**, i8*** %argv.addr, align 8 + %54 = load i32, i32* %bottom, align 4 + %55 = load i32, i32* %i22, align 4 + %add32 = add nsw i32 %54, %55 + %idxprom33 = sext i32 %add32 to i64 + %arrayidx34 = getelementptr inbounds i8*, i8** %53, i64 %idxprom33 + store i8* %52, i8** %arrayidx34, align 8 + %56 = load i8*, i8** %tem, align 8 + %57 = load i8**, i8*** %argv.addr, align 8 + %58 = load i32, i32* %middle, align 4 + %59 = load i32, i32* %i22, align 4 + %add35 = add nsw i32 %58, %59 + %idxprom36 = sext i32 %add35 to i64 + %arrayidx37 = getelementptr inbounds i8*, i8** %57, i64 %idxprom36 + store i8* %56, i8** %arrayidx37, align 8 + %60 = load i32, i32* %i22, align 4 + %inc39 = add nsw i32 %60, 1 + store i32 %inc39, i32* %i22, align 4 + br label %for.cond23 + +for.end40: ; preds = %for.cond23 + %61 = load i32, i32* %len20, align 4 + %62 = load i32, i32* %bottom, align 4 + %add41 = add nsw i32 %62, %61 + store i32 %add41, i32* %bottom, align 4 + br label %if.end + +if.end: ; preds = %for.end40, %for.end + br label %while.cond + +while.end: ; preds = %while.cond + %63 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind42 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %63, i32 0, i32 0 + %64 = load i32, i32* %optind42, align 8 + %65 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt43 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %65, i32 0, i32 9 + %66 = load i32, i32* %__last_nonopt43, align 4 + %sub44 = sub nsw i32 %64, %66 + %67 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt45 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %67, i32 0, i32 8 + %68 = load i32, i32* %__first_nonopt45, align 8 + %add46 = add nsw i32 %68, %sub44 + store i32 %add46, i32* %__first_nonopt45, align 8 + %69 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind47 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %69, i32 0, i32 0 + %70 = load i32, i32* %optind47, align 8 + %71 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt48 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %71, i32 0, i32 9 + store i32 %70, i32* %__last_nonopt48, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getopt(i32 %argc, i8** %argv, i8* %optstring) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + %0 = load i32, i32* %argc.addr, align 4 + %1 = load i8**, i8*** %argv.addr, align 8 + %2 = load i8*, i8** %optstring.addr, align 8 + %call = call i32 @_getopt_internal(i32 %0, i8** %1, i8* %2, %struct.option* null, i32* null, i32 0) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getopt_long(i32 %argc, i8** %argv, i8* %options, %struct.option* %long_options, i32* %opt_index) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %options.addr = alloca i8*, align 8 + %long_options.addr = alloca %struct.option*, align 8 + %opt_index.addr = alloca i32*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %options, i8** %options.addr, align 8 + store %struct.option* %long_options, %struct.option** %long_options.addr, align 8 + store i32* %opt_index, i32** %opt_index.addr, align 8 + %0 = load i32, i32* %argc.addr, align 4 + %1 = load i8**, i8*** %argv.addr, align 8 + %2 = load i8*, i8** %options.addr, align 8 + %3 = load %struct.option*, %struct.option** %long_options.addr, align 8 + %4 = load i32*, i32** %opt_index.addr, align 8 + %call = call i32 @_getopt_internal(i32 %0, i8** %1, i8* %2, %struct.option* %3, i32* %4, i32 0) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getopt_long_only(i32 %argc, i8** %argv, i8* %options, %struct.option* %long_options, i32* %opt_index) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %options.addr = alloca i8*, align 8 + %long_options.addr = alloca %struct.option*, align 8 + %opt_index.addr = alloca i32*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %options, i8** %options.addr, align 8 + store %struct.option* %long_options, %struct.option** %long_options.addr, align 8 + store i32* %opt_index, i32** %opt_index.addr, align 8 + %0 = load i32, i32* %argc.addr, align 4 + %1 = load i8**, i8*** %argv.addr, align 8 + %2 = load i8*, i8** %options.addr, align 8 + %3 = load %struct.option*, %struct.option** %long_options.addr, align 8 + %4 = load i32*, i32** %opt_index.addr, align 8 + %call = call i32 @_getopt_internal(i32 %0, i8** %1, i8* %2, %struct.option* %3, i32* %4, i32 1) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define %struct.__uclibc_locale_struct.201* @newlocale(i32 %category_mask, i8* %locale, %struct.__uclibc_locale_struct.201* %base) #0 { +entry: + %retval = alloca %struct.__uclibc_locale_struct.201*, align 8 + %category_mask.addr = alloca i32, align 4 + %locale.addr = alloca i8*, align 8 + %base.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %p = alloca i8*, align 8 + %i = alloca i32, align 4 + %j = alloca i32, align 4 + %k = alloca i32, align 4 + %new_selector = alloca [14 x i8], align 1 + store i32 %category_mask, i32* %category_mask.addr, align 4 + store i8* %locale, i8** %locale.addr, align 8 + store %struct.__uclibc_locale_struct.201* %base, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %0 = load i32, i32* %category_mask.addr, align 4 + %cmp = icmp eq i32 %0, 64 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 8127, i32* %category_mask.addr, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i8*, i8** %locale.addr, align 8 + %tobool = icmp eq i8* %1, null + %2 = load i32, i32* %category_mask.addr, align 4 + %cmp1 = icmp ugt i32 %2, 8127 + %or.cond = or i1 %tobool, %cmp1 + br i1 %or.cond, label %INVALID, label %if.end3 + +INVALID: ; preds = %if.else, %do.end, %if.end + store i32 22, i32* @errno, align 4 + store %struct.__uclibc_locale_struct.201* null, %struct.__uclibc_locale_struct.201** %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %3 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tobool4 = icmp ne %struct.__uclibc_locale_struct.201* %3, null + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %4, i32 0, i32 6 + %arraydecay5 = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + %cond = select i1 %tobool4, i8* %arraydecay5, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.323, i64 0, i64 0) + %call = call i8* @strcpy(i8* %arraydecay, i8* %cond) #19 + %5 = load i8*, i8** %locale.addr, align 8 + %6 = load i8, i8* %5, align 1 + %tobool6 = icmp ne i8 %6, 0 + br i1 %tobool6, label %if.else, label %if.then7 + +if.then7: ; preds = %if.end3 + store i32 1, i32* %i, align 4 + store i32 0, i32* %k, align 4 + br label %do.body + +do.body: ; preds = %if.end25, %if.then7 + %7 = load i32, i32* %category_mask.addr, align 4 + %8 = load i32, i32* %i, align 4 + %and = and i32 %7, %8 + %tobool8 = icmp ne i32 %and, 0 + br i1 %tobool8, label %if.then9, label %if.end25 + +if.then9: ; preds = %do.body + %9 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %9, i32 0, i32 34 + %arraydecay10 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names, i64 0, i64 0 + %10 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names11 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %10, i32 0, i32 34 + %11 = load i32, i32* %k, align 4 + %idxprom = sext i32 %11 to i64 + %arrayidx = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names11, i64 0, i64 %idxprom + %12 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %12 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay10, i64 %idx.ext + store i8* %add.ptr, i8** getelementptr inbounds ([4 x i8*], [4 x i8*]* @newlocale.envstr, i64 0, i64 1), align 8 + store i32 0, i32* %j, align 4 + br label %do.body12 + +do.body12: ; preds = %land.rhs, %lor.rhs, %if.then9 + %13 = load i32, i32* %j, align 4 + %idxprom13 = sext i32 %13 to i64 + %arrayidx14 = getelementptr inbounds [4 x i8*], [4 x i8*]* @newlocale.envstr, i64 0, i64 %idxprom13 + %14 = load i8*, i8** %arrayidx14, align 8 + store i8* %14, i8** %p, align 8 + %15 = load i32, i32* %j, align 4 + %inc = add nsw i32 %15, 1 + store i32 %inc, i32* %j, align 4 + %cmp15 = icmp slt i32 %inc, 4 + br i1 %cmp15, label %land.rhs, label %do.end + +land.rhs: ; preds = %do.body12 + %16 = load i8*, i8** %p, align 8 + %call17 = call i8* @getenv(i8* %16) #19 + store i8* %call17, i8** %p, align 8 + %tobool18 = icmp ne i8* %call17, null + br i1 %tobool18, label %lor.rhs, label %do.body12 + +lor.rhs: ; preds = %land.rhs + %17 = load i8*, i8** %p, align 8 + %18 = load i8, i8* %17, align 1 + %tobool19 = icmp ne i8 %18, 0 + %lnot = xor i1 %tobool19, true + br i1 %lnot, label %do.body12, label %do.end + +do.end: ; preds = %do.body12, %lor.rhs + %19 = load i32, i32* %i, align 4 + %20 = load i8*, i8** %p, align 8 + %arraydecay20 = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %call21 = call i32 @find_locale(i32 %19, i8* %20, i8* %arraydecay20) #18 + %tobool22 = icmp ne i32 %call21, 0 + br i1 %tobool22, label %if.end25, label %INVALID + +if.end25: ; preds = %do.end, %do.body + %21 = load i32, i32* %i, align 4 + %22 = load i32, i32* %i, align 4 + %add = add nsw i32 %22, %21 + store i32 %add, i32* %i, align 4 + %23 = load i32, i32* %k, align 4 + %inc27 = add nsw i32 %23, 1 + store i32 %inc27, i32* %k, align 4 + %cmp28 = icmp slt i32 %inc27, 6 + br i1 %cmp28, label %do.body, label %if.end36 + +if.else: ; preds = %if.end3 + %24 = load i32, i32* %category_mask.addr, align 4 + %25 = load i8*, i8** %locale.addr, align 8 + %arraydecay31 = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %call32 = call i8* @composite_locale(i32 %24, i8* %25, i8* %arraydecay31) #18 + %tobool33 = icmp ne i8* %call32, null + br i1 %tobool33, label %if.end36, label %INVALID + +if.end36: ; preds = %if.else, %if.end25 + %26 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tobool37 = icmp ne %struct.__uclibc_locale_struct.201* %26, null + br i1 %tobool37, label %if.end44, label %if.then38 + +if.then38: ; preds = %if.end36 + %call39 = call noalias i8* @calloc(i64 1, i64 3320) #19 + %27 = bitcast i8* %call39 to %struct.__uclibc_locale_struct.201* + store %struct.__uclibc_locale_struct.201* %27, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cmp40 = icmp eq %struct.__uclibc_locale_struct.201* %27, null + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + br i1 %cmp40, label %if.then42, label %if.end43 + +if.then42: ; preds = %if.then38 + store %struct.__uclibc_locale_struct.201* %28, %struct.__uclibc_locale_struct.201** %retval, align 8 + br label %return + +if.end43: ; preds = %if.then38 + call void @_locale_init_l(%struct.__uclibc_locale_struct.201* %28) #18 + br label %if.end44 + +if.end44: ; preds = %if.end43, %if.end36 + %arraydecay45 = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %29 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call46 = call i32 @_locale_set_l(i8* %arraydecay45, %struct.__uclibc_locale_struct.201* %29) #18 + %30 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + store %struct.__uclibc_locale_struct.201* %30, %struct.__uclibc_locale_struct.201** %retval, align 8 + br label %return + +return: ; preds = %if.end44, %if.then42, %INVALID + %31 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %retval, align 8 + ret %struct.__uclibc_locale_struct.201* %31 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @find_locale(i32 %category_mask, i8* %p, i8* %new_locale) #0 { +entry: + %retval = alloca i32, align 4 + %category_mask.addr = alloca i32, align 4 + %p.addr = alloca i8*, align 8 + %new_locale.addr = alloca i8*, align 8 + %i = alloca i32, align 4 + %s = alloca i8*, align 8 + %n = alloca i16, align 2 + %lang_cult = alloca i8, align 1 + %codeset = alloca i8, align 1 + %buf = alloca [18 x i8], align 16 + %q = alloca i8*, align 8 + store i32 %category_mask, i32* %category_mask.addr, align 4 + store i8* %p, i8** %p.addr, align 8 + store i8* %new_locale, i8** %new_locale.addr, align 8 + %0 = load i8*, i8** %p.addr, align 8 + %call = call i8* @strchr(i8* %0, i32 64) #20 + store i8* %call, i8** %q, align 8 + %cmp = icmp ne i8* %call, null + br i1 %cmp, label %if.then, label %if.end27 + +if.then: ; preds = %entry + %1 = load i8*, i8** %q, align 8 + %2 = load i8*, i8** %p.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %1 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %2 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %sub = sub nsw i64 %sub.ptr.sub, 5 + %cmp1 = icmp ugt i64 %sub, 13 + br i1 %cmp1, label %if.then4, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then + %3 = load i8*, i8** %p.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %3, i64 2 + %4 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %4 to i32 + %cmp2 = icmp ne i32 %conv, 95 + br i1 %cmp2, label %if.then4, label %if.end + +if.then4: ; preds = %lor.lhs.false, %if.then + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %lor.lhs.false + %5 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_at_modifiers = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %5, i32 0, i32 33 + %arraydecay = getelementptr inbounds [18 x i8], [18 x i8]* %locale_at_modifiers, i64 0, i64 0 + store i8* %arraydecay, i8** %s, align 8 + br label %do.body + +do.body: ; preds = %if.end8, %if.end + %6 = load i8*, i8** %s, align 8 + %add.ptr = getelementptr inbounds i8, i8* %6, i64 2 + %7 = load i8*, i8** %q, align 8 + %add.ptr5 = getelementptr inbounds i8, i8* %7, i64 1 + %call6 = call i32 @strcmp(i8* %add.ptr, i8* %add.ptr5) #20 + %tobool = icmp ne i32 %call6, 0 + br i1 %tobool, label %if.end8, label %do.end + +if.end8: ; preds = %do.body + %8 = load i8*, i8** %s, align 8 + %9 = load i8, i8* %8, align 1 + %conv9 = zext i8 %9 to i32 + %add = add nsw i32 2, %conv9 + %10 = load i8*, i8** %s, align 8 + %idx.ext = sext i32 %add to i64 + %add.ptr10 = getelementptr inbounds i8, i8* %10, i64 %idx.ext + store i8* %add.ptr10, i8** %s, align 8 + %11 = load i8*, i8** %s, align 8 + %12 = load i8, i8* %11, align 1 + %tobool11 = icmp ne i8 %12, 0 + br i1 %tobool11, label %do.body, label %do.end + +do.end: ; preds = %do.body, %if.end8 + %13 = load i8*, i8** %s, align 8 + %14 = load i8, i8* %13, align 1 + %tobool12 = icmp ne i8 %14, 0 + br i1 %tobool12, label %if.end14, label %if.then13 + +if.then13: ; preds = %do.end + store i32 0, i32* %retval, align 4 + br label %return + +if.end14: ; preds = %do.end + %arraydecay15 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 0 + %15 = load i8*, i8** %p.addr, align 8 + %16 = load i8*, i8** %q, align 8 + %17 = load i8*, i8** %p.addr, align 8 + %sub.ptr.lhs.cast16 = ptrtoint i8* %16 to i64 + %sub.ptr.rhs.cast17 = ptrtoint i8* %17 to i64 + %sub.ptr.sub18 = sub i64 %sub.ptr.lhs.cast16, %sub.ptr.rhs.cast17 + %call19 = call i8* @memcpy(i8* %arraydecay15, i8* %15, i64 %sub.ptr.sub18) #19 + %18 = load i8*, i8** %q, align 8 + %19 = load i8*, i8** %p.addr, align 8 + %sub.ptr.lhs.cast20 = ptrtoint i8* %18 to i64 + %sub.ptr.rhs.cast21 = ptrtoint i8* %19 to i64 + %sub.ptr.sub22 = sub i64 %sub.ptr.lhs.cast20, %sub.ptr.rhs.cast21 + %arrayidx23 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 %sub.ptr.sub22 + store i8 0, i8* %arrayidx23, align 1 + %20 = load i8*, i8** %s, align 8 + %arrayidx24 = getelementptr inbounds i8, i8* %20, i64 1 + %21 = load i8, i8* %arrayidx24, align 1 + %arrayidx25 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 2 + store i8 %21, i8* %arrayidx25, align 2 + %arraydecay26 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay26, i8** %p.addr, align 8 + br label %if.end27 + +if.end27: ; preds = %if.end14, %entry + store i8 0, i8* %codeset, align 1 + store i8 0, i8* %lang_cult, align 1 + %22 = load i8*, i8** %p.addr, align 8 + %23 = load i8, i8* %22, align 1 + %conv28 = sext i8 %23 to i32 + %cmp29 = icmp eq i32 %conv28, 67 + br i1 %cmp29, label %land.lhs.true, label %lor.lhs.false33 + +land.lhs.true: ; preds = %if.end27 + %24 = load i8*, i8** %p.addr, align 8 + %arrayidx31 = getelementptr inbounds i8, i8* %24, i64 1 + %25 = load i8, i8* %arrayidx31, align 1 + %tobool32 = icmp ne i8 %25, 0 + br i1 %tobool32, label %lor.lhs.false33, label %FIND_LOCALE + +lor.lhs.false33: ; preds = %land.lhs.true, %if.end27 + %26 = load i8*, i8** %p.addr, align 8 + %call34 = call i32 @strcmp(i8* %26, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @posix, i64 0, i64 0)) #20 + %tobool35 = icmp ne i32 %call34, 0 + br i1 %tobool35, label %if.end37, label %FIND_LOCALE + +if.end37: ; preds = %lor.lhs.false33 + %27 = load i8*, i8** %p.addr, align 8 + %call38 = call i64 @strlen(i8* %27) #20 + %cmp39 = icmp ugt i64 %call38, 5 + br i1 %cmp39, label %land.lhs.true41, label %FIND_LANG_CULT + +land.lhs.true41: ; preds = %if.end37 + %28 = load i8*, i8** %p.addr, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %28, i64 5 + %29 = load i8, i8* %arrayidx42, align 1 + %conv43 = sext i8 %29 to i32 + %cmp44 = icmp eq i32 %conv43, 46 + br i1 %cmp44, label %if.then46, label %FIND_LANG_CULT + +if.then46: ; preds = %land.lhs.true41 + store i8 2, i8* %codeset, align 1 + %30 = load i8*, i8** %p.addr, align 8 + %add.ptr47 = getelementptr inbounds i8, i8* %30, i64 6 + %call48 = call i32 @strcmp(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf8.326, i64 0, i64 0), i8* %add.ptr47) #20 + %cmp49 = icmp ne i32 %call48, 0 + br i1 %cmp49, label %if.then51, label %FIND_LANG_CULT + +if.then51: ; preds = %if.then46 + %31 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %31, i32 0, i32 35 + %arraydecay52 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list, i64 0, i64 0 + store i8* %arraydecay52, i8** %s, align 8 + br label %do.body53 + +do.body53: ; preds = %do.cond64, %if.then51 + %32 = load i8, i8* %codeset, align 1 + %inc = add i8 %32, 1 + store i8 %inc, i8* %codeset, align 1 + %33 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list54 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %33, i32 0, i32 35 + %arraydecay55 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list54, i64 0, i64 0 + %34 = load i8*, i8** %s, align 8 + %35 = load i8, i8* %34, align 1 + %conv56 = zext i8 %35 to i32 + %idx.ext57 = sext i32 %conv56 to i64 + %add.ptr58 = getelementptr inbounds i8, i8* %arraydecay55, i64 %idx.ext57 + %36 = load i8*, i8** %p.addr, align 8 + %add.ptr59 = getelementptr inbounds i8, i8* %36, i64 6 + %call60 = call i32 @strcmp(i8* %add.ptr58, i8* %add.ptr59) #20 + %tobool61 = icmp ne i32 %call60, 0 + br i1 %tobool61, label %do.cond64, label %FIND_LANG_CULT + +do.cond64: ; preds = %do.body53 + %37 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %37, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %38 = load i8, i8* %incdec.ptr, align 1 + %tobool65 = icmp ne i8 %38, 0 + br i1 %tobool65, label %do.body53, label %do.end66 + +do.end66: ; preds = %do.cond64 + store i32 0, i32* %retval, align 4 + br label %return + +FIND_LANG_CULT: ; preds = %if.end37, %land.lhs.true41, %if.then46, %do.body53 + %39 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_names5 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %39, i32 0, i32 32 + %arraydecay69 = getelementptr inbounds [835 x i8], [835 x i8]* %locale_names5, i64 0, i64 0 + store i8* %arraydecay69, i8** %s, align 8 + br label %do.body70 + +do.body70: ; preds = %if.end75, %FIND_LANG_CULT + %40 = load i8, i8* %lang_cult, align 1 + %inc71 = add i8 %40, 1 + store i8 %inc71, i8* %lang_cult, align 1 + %41 = load i8*, i8** %s, align 8 + %42 = load i8*, i8** %p.addr, align 8 + %call72 = call i32 @strncmp(i8* %41, i8* %42, i64 5) #20 + %tobool73 = icmp ne i32 %call72, 0 + br i1 %tobool73, label %if.end75, label %FIND_LOCALE + +if.end75: ; preds = %do.body70 + %43 = load i8*, i8** %s, align 8 + %add.ptr76 = getelementptr inbounds i8, i8* %43, i64 5 + store i8* %add.ptr76, i8** %s, align 8 + %44 = load i8, i8* %lang_cult, align 1 + %conv78 = zext i8 %44 to i32 + %cmp79 = icmp slt i32 %conv78, 167 + br i1 %cmp79, label %do.body70, label %do.end81 + +do.end81: ; preds = %if.end75 + store i32 0, i32* %retval, align 4 + br label %return + +FIND_LOCALE: ; preds = %do.body70, %land.lhs.true, %lor.lhs.false33 + %45 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %45, i32 0, i32 31 + %arraydecay82 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales, i64 0, i64 0 + store i8* %arraydecay82, i8** %s, align 8 + store i16 0, i16* %n, align 2 + br label %do.body83 + +do.body83: ; preds = %if.end120, %FIND_LOCALE + %46 = load i8, i8* %lang_cult, align 1 + %conv84 = zext i8 %46 to i32 + %47 = load i8*, i8** %s, align 8 + %48 = load i8, i8* %47, align 1 + %conv85 = zext i8 %48 to i32 + %cmp86 = icmp eq i32 %conv84, %conv85 + br i1 %cmp86, label %land.lhs.true88, label %if.end120 + +land.lhs.true88: ; preds = %do.body83 + %49 = load i8, i8* %codeset, align 1 + %conv89 = zext i8 %49 to i32 + %50 = load i8*, i8** %s, align 8 + %arrayidx90 = getelementptr inbounds i8, i8* %50, i64 1 + %51 = load i8, i8* %arrayidx90, align 1 + %conv91 = zext i8 %51 to i32 + %cmp92 = icmp eq i32 %conv89, %conv91 + br i1 %cmp92, label %if.then100, label %lor.lhs.false94 + +lor.lhs.false94: ; preds = %land.lhs.true88 + %52 = load i8, i8* %codeset, align 1 + %conv95 = zext i8 %52 to i32 + %53 = load i8*, i8** %s, align 8 + %arrayidx96 = getelementptr inbounds i8, i8* %53, i64 2 + %54 = load i8, i8* %arrayidx96, align 1 + %conv97 = zext i8 %54 to i32 + %cmp98 = icmp eq i32 %conv95, %conv97 + br i1 %cmp98, label %if.then100, label %if.end120 + +if.then100: ; preds = %lor.lhs.false94, %land.lhs.true88 + store i32 1, i32* %i, align 4 + %55 = load i8*, i8** %new_locale.addr, align 8 + %add.ptr101 = getelementptr inbounds i8, i8* %55, i64 1 + store i8* %add.ptr101, i8** %s, align 8 + br label %do.body102 + +do.body102: ; preds = %if.end113, %if.then100 + %56 = load i32, i32* %category_mask.addr, align 4 + %57 = load i32, i32* %i, align 4 + %and = and i32 %56, %57 + %tobool103 = icmp ne i32 %and, 0 + br i1 %tobool103, label %if.then104, label %if.end113 + +if.then104: ; preds = %do.body102 + %58 = load i16, i16* %n, align 2 + %conv105 = zext i16 %58 to i32 + %shr = ashr i32 %conv105, 7 + %or = or i32 %shr, 128 + %conv106 = trunc i32 %or to i8 + %59 = load i8*, i8** %s, align 8 + %arrayidx107 = getelementptr inbounds i8, i8* %59, i64 0 + store i8 %conv106, i8* %arrayidx107, align 1 + %60 = load i16, i16* %n, align 2 + %conv108 = zext i16 %60 to i32 + %and109 = and i32 %conv108, 127 + %or110 = or i32 %and109, 128 + %conv111 = trunc i32 %or110 to i8 + %61 = load i8*, i8** %s, align 8 + %arrayidx112 = getelementptr inbounds i8, i8* %61, i64 1 + store i8 %conv111, i8* %arrayidx112, align 1 + br label %if.end113 + +if.end113: ; preds = %if.then104, %do.body102 + %62 = load i8*, i8** %s, align 8 + %add.ptr114 = getelementptr inbounds i8, i8* %62, i64 2 + store i8* %add.ptr114, i8** %s, align 8 + %63 = load i32, i32* %i, align 4 + %64 = load i32, i32* %i, align 4 + %add115 = add nsw i32 %64, %63 + store i32 %add115, i32* %i, align 4 + %65 = load i32, i32* %i, align 4 + %cmp117 = icmp slt i32 %65, 64 + br i1 %cmp117, label %do.body102, label %do.end119 + +do.end119: ; preds = %if.end113 + %66 = load i32, i32* %i, align 4 + store i32 %66, i32* %retval, align 4 + br label %return + +if.end120: ; preds = %lor.lhs.false94, %do.body83 + %67 = load i8*, i8** %s, align 8 + %add.ptr121 = getelementptr inbounds i8, i8* %67, i64 9 + store i8* %add.ptr121, i8** %s, align 8 + %68 = load i16, i16* %n, align 2 + %inc122 = add i16 %68, 1 + store i16 %inc122, i16* %n, align 2 + %69 = load i16, i16* %n, align 2 + %conv124 = zext i16 %69 to i32 + %cmp125 = icmp sle i32 %conv124, 314 + br i1 %cmp125, label %do.body83, label %do.end127 + +do.end127: ; preds = %if.end120 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end127, %do.end119, %do.end81, %do.end66, %if.then13, %if.then4 + %70 = load i32, i32* %retval, align 4 + ret i32 %70 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @composite_locale(i32 %category_mask, i8* %locale, i8* %new_locale) #0 { +entry: + %retval = alloca i8*, align 8 + %category_mask.addr = alloca i32, align 4 + %locale.addr = alloca i8*, align 8 + %new_locale.addr = alloca i8*, align 8 + %buf = alloca [256 x i8], align 16 + %t = alloca i8*, align 8 + %e = alloca i8*, align 8 + %c = alloca i32, align 4 + %component_mask = alloca i32, align 4 + store i32 %category_mask, i32* %category_mask.addr, align 4 + store i8* %locale, i8** %locale.addr, align 8 + store i8* %new_locale, i8** %new_locale.addr, align 8 + %0 = load i8*, i8** %locale.addr, align 8 + %call = call i8* @strchr(i8* %0, i32 61) #20 + %tobool = icmp ne i8* %call, null + br i1 %tobool, label %if.end4, label %if.then + +if.then: ; preds = %entry + %1 = load i32, i32* %category_mask.addr, align 4 + %2 = load i8*, i8** %locale.addr, align 8 + %3 = load i8*, i8** %new_locale.addr, align 8 + %call1 = call i32 @find_locale(i32 %1, i8* %2, i8* %3) #18 + %tobool2 = icmp ne i32 %call1, 0 + br i1 %tobool2, label %if.end, label %if.then3 + +if.then3: ; preds = %if.then + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %if.then + %4 = load i8*, i8** %new_locale.addr, align 8 + store i8* %4, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %entry + %5 = load i8*, i8** %locale.addr, align 8 + %call5 = call i64 @strlen(i8* %5) #20 + %cmp = icmp uge i64 %call5, 256 + br i1 %cmp, label %if.then6, label %if.end7 + +if.then6: ; preds = %if.end4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end7: ; preds = %if.end4 + %arraydecay = getelementptr inbounds [256 x i8], [256 x i8]* %buf, i64 0, i64 0 + %6 = load i8*, i8** %locale.addr, align 8 + %call8 = call i8* @stpcpy(i8* %arraydecay, i8* %6) #19 + store i32 0, i32* %component_mask, align 4 + %arraydecay9 = getelementptr inbounds [256 x i8], [256 x i8]* %buf, i64 0, i64 0 + %call10 = call i8* @strtok_r(i8* %arraydecay9, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.324, i64 0, i64 0), i8** %e) #19 + store i8* %call10, i8** %t, align 8 + br label %do.body + +do.body: ; preds = %do.cond, %if.end7 + store i32 0, i32* %c, align 4 + br label %while.cond + +while.cond: ; preds = %while.body, %do.body + %7 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %7, i32 0, i32 34 + %arraydecay11 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names, i64 0, i64 0 + %8 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names12 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %8, i32 0, i32 34 + %9 = load i32, i32* %c, align 4 + %idxprom = sext i32 %9 to i64 + %arrayidx = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names12, i64 0, i64 %idxprom + %10 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %10 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay11, i64 %idx.ext + %11 = load i8*, i8** %t, align 8 + %call13 = call i32 @strcmp(i8* %add.ptr, i8* %11) #20 + %tobool14 = icmp ne i32 %call13, 0 + br i1 %tobool14, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %12 = load i32, i32* %c, align 4 + %inc = add nsw i32 %12, 1 + store i32 %inc, i32* %c, align 4 + %cmp15 = icmp eq i32 %inc, 6 + br i1 %cmp15, label %if.then17, label %while.cond + +if.then17: ; preds = %while.body + store i8* null, i8** %retval, align 8 + br label %return + +while.end: ; preds = %while.cond + %call19 = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.4.325, i64 0, i64 0), i8** %e) #19 + store i8* %call19, i8** %t, align 8 + %13 = load i32, i32* %c, align 4 + %shl = shl i32 1, %13 + store i32 %shl, i32* %c, align 4 + %14 = load i32, i32* %component_mask, align 4 + %15 = load i32, i32* %c, align 4 + %and = and i32 %14, %15 + %tobool20 = icmp ne i32 %and, 0 + br i1 %tobool20, label %if.then21, label %if.end22 + +if.then21: ; preds = %while.end + store i8* null, i8** %retval, align 8 + br label %return + +if.end22: ; preds = %while.end + %16 = load i32, i32* %c, align 4 + %17 = load i32, i32* %component_mask, align 4 + %or = or i32 %17, %16 + store i32 %or, i32* %component_mask, align 4 + %18 = load i32, i32* %category_mask.addr, align 4 + %19 = load i32, i32* %c, align 4 + %and23 = and i32 %18, %19 + %tobool24 = icmp ne i32 %and23, 0 + br i1 %tobool24, label %land.lhs.true, label %do.cond + +land.lhs.true: ; preds = %if.end22 + %20 = load i8*, i8** %t, align 8 + %tobool25 = icmp ne i8* %20, null + br i1 %tobool25, label %lor.lhs.false, label %if.then28 + +lor.lhs.false: ; preds = %land.lhs.true + %21 = load i32, i32* %c, align 4 + %22 = load i8*, i8** %t, align 8 + %23 = load i8*, i8** %new_locale.addr, align 8 + %call26 = call i32 @find_locale(i32 %21, i8* %22, i8* %23) #18 + %tobool27 = icmp ne i32 %call26, 0 + br i1 %tobool27, label %do.cond, label %if.then28 + +if.then28: ; preds = %lor.lhs.false, %land.lhs.true + store i8* null, i8** %retval, align 8 + br label %return + +do.cond: ; preds = %if.end22, %lor.lhs.false + %call30 = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.324, i64 0, i64 0), i8** %e) #19 + store i8* %call30, i8** %t, align 8 + %cmp31 = icmp ne i8* %call30, null + br i1 %cmp31, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %24 = load i32, i32* %category_mask.addr, align 4 + %25 = load i32, i32* %component_mask, align 4 + %neg = xor i32 %25, -1 + %and33 = and i32 %24, %neg + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %if.then35, label %if.end36 + +if.then35: ; preds = %do.end + store i8* null, i8** %retval, align 8 + br label %return + +if.end36: ; preds = %do.end + %26 = load i8*, i8** %new_locale.addr, align 8 + store i8* %26, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end36, %if.then35, %if.then28, %if.then21, %if.then17, %if.then6, %if.end, %if.then3 + %27 = load i8*, i8** %retval, align 8 + ret i8* %27 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @nl_langinfo_l(i32 %item, %struct.__uclibc_locale_struct.201* %locale_arg) #0 { +entry: + %retval = alloca i8*, align 8 + %item.addr = alloca i32, align 4 + %locale_arg.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %c = alloca i32, align 4 + %i = alloca i32, align 4 + store i32 %item, i32* %item.addr, align 4 + store %struct.__uclibc_locale_struct.201* %locale_arg, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %0 = load i32, i32* %item.addr, align 4 + %shr = ashr i32 %0, 8 + store i32 %shr, i32* %c, align 4 + %1 = load i32, i32* %item.addr, align 4 + %and = and i32 %1, 255 + store i32 %and, i32* %i, align 4 + %2 = load i32, i32* %c, align 4 + %cmp = icmp ult i32 %2, 6 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %3 = load i32, i32* %i, align 4 + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %category_item_count = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %4, i32 0, i32 8 + %5 = load i32, i32* %c, align 4 + %idxprom = zext i32 %5 to i64 + %arrayidx = getelementptr inbounds [6 x i8], [6 x i8]* %category_item_count, i64 0, i64 %idxprom + %6 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %6 to i32 + %cmp1 = icmp ult i32 %3, %conv + br i1 %cmp1, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %7 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %8 = bitcast %struct.__uclibc_locale_struct.201* %7 to i8* + %9 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %category_offsets = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %9, i32 0, i32 7 + %10 = load i32, i32* %c, align 4 + %idxprom3 = zext i32 %10 to i64 + %arrayidx4 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets, i64 0, i64 %idxprom3 + %11 = load i16, i16* %arrayidx4, align 2 + %conv5 = zext i16 %11 to i32 + %idx.ext = sext i32 %conv5 to i64 + %add.ptr = getelementptr inbounds i8, i8* %8, i64 %idx.ext + %12 = bitcast i8* %add.ptr to i8** + %13 = load i32, i32* %i, align 4 + %idxprom6 = zext i32 %13 to i64 + %arrayidx7 = getelementptr inbounds i8*, i8** %12, i64 %idxprom6 + %14 = load i8*, i8** %arrayidx7, align 8 + store i8* %14, i8** %retval, align 8 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @empty, i64 0, i64 0), i8** %retval, align 8 + br label %return + +return: ; preds = %if.end, %if.then + %15 = load i8*, i8** %retval, align 8 + ret i8* %15 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @mbsnrtowcs(i32* noalias %dst, i8** noalias %src, i64 %NMC, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %retval = alloca i64, align 8 + %dst.addr = alloca i32*, align 8 + %src.addr = alloca i8**, align 8 + %NMC.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %wcbuf = alloca [1 x i32], align 4 + %s = alloca i8*, align 8 + %count = alloca i64, align 8 + %incr = alloca i32, align 4 + %r = alloca i64, align 8 + %wc = alloca i32, align 4 + store i32* %dst, i32** %dst.addr, align 8 + store i8** %src, i8*** %src.addr, align 8 + store i64 %NMC, i64* %NMC.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %tobool = icmp ne %struct.__mbstate_t.512* %0, null + %spec.store.select = select i1 %tobool, %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512* @mbsnrtowcs.mbstate + store %struct.__mbstate_t.512* %spec.store.select, %struct.__mbstate_t.512** %ps.addr, align 8 + %1 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %1, i32 0, i32 9 + %2 = load i8, i8* %encoding, align 8 + %conv = zext i8 %2 to i32 + %cmp = icmp eq i32 %conv, 1 + br i1 %cmp, label %if.then2, label %if.end5 + +if.then2: ; preds = %entry + %3 = load i32*, i32** %dst.addr, align 8 + %4 = load i64, i64* %len.addr, align 8 + %5 = load i8**, i8*** %src.addr, align 8 + %6 = load i64, i64* %NMC.addr, align 8 + %7 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @_wchar_utf8sntowcs(i32* %3, i64 %4, i8** %5, i64 %6, %struct.__mbstate_t.512* %7, i32 1) #18 + store i64 %call, i64* %r, align 8 + %cmp3 = icmp ne i64 %call, -2 + %8 = load i64, i64* %r, align 8 + %cond = select i1 %cmp3, i64 %8, i64 0 + store i64 %cond, i64* %retval, align 8 + br label %return + +if.end5: ; preds = %entry + store i32 1, i32* %incr, align 4 + %9 = load i32*, i32** %dst.addr, align 8 + %tobool6 = icmp ne i32* %9, null + br i1 %tobool6, label %lor.lhs.false, label %if.then9 + +lor.lhs.false: ; preds = %if.end5 + %10 = load i32*, i32** %dst.addr, align 8 + %11 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %12 = bitcast %struct.__mbstate_t.512* %11 to i32* + %cmp7 = icmp eq i32* %10, %12 + br i1 %cmp7, label %if.then9, label %if.end13 + +if.then9: ; preds = %lor.lhs.false, %if.end5 + %13 = load i32*, i32** %dst.addr, align 8 + %tobool10 = icmp ne i32* %13, null + br i1 %tobool10, label %if.end12, label %if.then11 + +if.then11: ; preds = %if.then9 + store i64 -1, i64* %len.addr, align 8 + br label %if.end12 + +if.end12: ; preds = %if.then11, %if.then9 + %arraydecay = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay, i32** %dst.addr, align 8 + store i32 0, i32* %incr, align 4 + br label %if.end13 + +if.end13: ; preds = %if.end12, %lor.lhs.false + %14 = load i64, i64* %len.addr, align 8 + %15 = load i64, i64* %NMC.addr, align 8 + %cmp14 = icmp ugt i64 %14, %15 + br i1 %cmp14, label %if.then16, label %if.end17 + +if.then16: ; preds = %if.end13 + %16 = load i64, i64* %NMC.addr, align 8 + store i64 %16, i64* %len.addr, align 8 + br label %if.end17 + +if.end17: ; preds = %if.then16, %if.end13 + %17 = load i64, i64* %len.addr, align 8 + store i64 %17, i64* %count, align 8 + %18 = load i8**, i8*** %src.addr, align 8 + %19 = load i8*, i8** %18, align 8 + store i8* %19, i8** %s, align 8 + %20 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding18 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %20, i32 0, i32 9 + %21 = load i8, i8* %encoding18, align 8 + %conv19 = zext i8 %21 to i32 + %cmp20 = icmp eq i32 %conv19, 2 + br i1 %cmp20, label %while.cond, label %while.cond46 + +while.cond: ; preds = %if.end17, %if.end38 + %22 = load i64, i64* %count, align 8 + %tobool23 = icmp ne i64 %22, 0 + br i1 %tobool23, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %23 = load i8*, i8** %s, align 8 + %24 = load i8, i8* %23, align 1 + %conv24 = zext i8 %24 to i32 + store i32 %conv24, i32* %wc, align 4 + %cmp25 = icmp sge i32 %conv24, 128 + br i1 %cmp25, label %if.then27, label %if.end35 + +if.then27: ; preds = %while.body + %25 = load i32, i32* %wc, align 4 + %sub = sub nsw i32 %25, 128 + store i32 %sub, i32* %wc, align 4 + %26 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %tbl8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %26, i32 0, i32 17 + %27 = load i16*, i16** %tbl8c2wc, align 8 + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %idx8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %28, i32 0, i32 16 + %29 = load i8*, i8** %idx8c2wc, align 8 + %30 = load i32, i32* %wc, align 4 + %shr = ashr i32 %30, 3 + %idxprom = sext i32 %shr to i64 + %arrayidx = getelementptr inbounds i8, i8* %29, i64 %idxprom + %31 = load i8, i8* %arrayidx, align 1 + %conv28 = zext i8 %31 to i32 + %shl = shl i32 %conv28, 3 + %32 = load i32, i32* %wc, align 4 + %and = and i32 %32, 7 + %add = add nsw i32 %shl, %and + %idxprom29 = sext i32 %add to i64 + %arrayidx30 = getelementptr inbounds i16, i16* %27, i64 %idxprom29 + %33 = load i16, i16* %arrayidx30, align 2 + %conv31 = zext i16 %33 to i32 + store i32 %conv31, i32* %wc, align 4 + %34 = load i32, i32* %wc, align 4 + %tobool32 = icmp ne i32 %34, 0 + br i1 %tobool32, label %if.end35, label %BAD + +if.end35: ; preds = %if.then27, %while.body + %35 = load i32, i32* %wc, align 4 + %36 = load i32*, i32** %dst.addr, align 8 + store i32 %35, i32* %36, align 4 + %tobool36 = icmp ne i32 %35, 0 + br i1 %tobool36, label %if.end38, label %if.then37 + +if.then37: ; preds = %if.end35 + store i8* null, i8** %s, align 8 + br label %while.end + +if.end38: ; preds = %if.end35 + %37 = load i32, i32* %incr, align 4 + %38 = load i32*, i32** %dst.addr, align 8 + %idx.ext = sext i32 %37 to i64 + %add.ptr = getelementptr inbounds i32, i32* %38, i64 %idx.ext + store i32* %add.ptr, i32** %dst.addr, align 8 + %39 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %39, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %40 = load i64, i64* %count, align 8 + %dec = add i64 %40, -1 + store i64 %dec, i64* %count, align 8 + br label %while.cond + +while.end: ; preds = %if.then37, %while.cond + %41 = load i32*, i32** %dst.addr, align 8 + %arraydecay39 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %cmp40 = icmp ne i32* %41, %arraydecay39 + br i1 %cmp40, label %if.then42, label %if.end43 + +if.then42: ; preds = %while.end + %42 = load i8*, i8** %s, align 8 + %43 = load i8**, i8*** %src.addr, align 8 + store i8* %42, i8** %43, align 8 + br label %if.end43 + +if.end43: ; preds = %if.then42, %while.end + %44 = load i64, i64* %len.addr, align 8 + %45 = load i64, i64* %count, align 8 + %sub44 = sub i64 %44, %45 + store i64 %sub44, i64* %retval, align 8 + br label %return + +while.cond46: ; preds = %if.end17, %if.end57 + %46 = load i64, i64* %count, align 8 + %tobool47 = icmp ne i64 %46, 0 + br i1 %tobool47, label %while.body48, label %while.end62 + +while.body48: ; preds = %while.cond46 + %47 = load i8*, i8** %s, align 8 + %48 = load i8, i8* %47, align 1 + %conv49 = zext i8 %48 to i32 + %49 = load i32*, i32** %dst.addr, align 8 + store i32 %conv49, i32* %49, align 4 + %cmp50 = icmp eq i32 %conv49, 0 + br i1 %cmp50, label %if.then52, label %if.end53 + +if.then52: ; preds = %while.body48 + store i8* null, i8** %s, align 8 + br label %while.end62 + +if.end53: ; preds = %while.body48 + %50 = load i32*, i32** %dst.addr, align 8 + %51 = load i32, i32* %50, align 4 + %cmp54 = icmp sge i32 %51, 128 + br i1 %cmp54, label %BAD, label %if.end57 + +BAD: ; preds = %if.end53, %if.then27 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end57: ; preds = %if.end53 + %52 = load i8*, i8** %s, align 8 + %incdec.ptr58 = getelementptr inbounds i8, i8* %52, i32 1 + store i8* %incdec.ptr58, i8** %s, align 8 + %53 = load i32, i32* %incr, align 4 + %54 = load i32*, i32** %dst.addr, align 8 + %idx.ext59 = sext i32 %53 to i64 + %add.ptr60 = getelementptr inbounds i32, i32* %54, i64 %idx.ext59 + store i32* %add.ptr60, i32** %dst.addr, align 8 + %55 = load i64, i64* %count, align 8 + %dec61 = add i64 %55, -1 + store i64 %dec61, i64* %count, align 8 + br label %while.cond46 + +while.end62: ; preds = %if.then52, %while.cond46 + %56 = load i32*, i32** %dst.addr, align 8 + %arraydecay63 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %cmp64 = icmp ne i32* %56, %arraydecay63 + br i1 %cmp64, label %if.then66, label %if.end67 + +if.then66: ; preds = %while.end62 + %57 = load i8*, i8** %s, align 8 + %58 = load i8**, i8*** %src.addr, align 8 + store i8* %57, i8** %58, align 8 + br label %if.end67 + +if.end67: ; preds = %if.then66, %while.end62 + %59 = load i64, i64* %len.addr, align 8 + %60 = load i64, i64* %count, align 8 + %sub68 = sub i64 %59, %60 + store i64 %sub68, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end67, %BAD, %if.end43, %if.then2 + %61 = load i64, i64* %retval, align 8 + ret i64 %61 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @iswctype(i32 %wc, i32 %desc) #0 { +entry: + %wc.addr = alloca i32, align 4 + %desc.addr = alloca i32, align 4 + store i32 %wc, i32* %wc.addr, align 4 + store i32 %desc, i32* %desc.addr, align 4 + %0 = load i32, i32* %wc.addr, align 4 + %1 = load i32, i32* %desc.addr, align 4 + %2 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %call = call i32 @iswctype_l(i32 %0, i32 %1, %struct.__uclibc_locale_struct.201* %2) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define hidden %struct.__STDIO_FILE_STRUCT.568* @_stdio_fopen(i64 %fname_or_mode, i8* noalias %mode, %struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %filedes) #0 { +entry: + %retval = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %fname_or_mode.addr = alloca i64, align 8 + %mode.addr = alloca i8*, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %filedes.addr = alloca i32, align 4 + %open_mode = alloca i32, align 4 + %i = alloca i32, align 4 + store i64 %fname_or_mode, i64* %fname_or_mode.addr, align 8 + store i8* %mode, i8** %mode.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %filedes, i32* %filedes.addr, align 4 + store i32 0, i32* %open_mode, align 4 + %0 = load i8*, i8** %mode.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %cmp = icmp ne i32 %conv, 114 + br i1 %cmp, label %if.then, label %if.end17 + +if.then: ; preds = %entry + store i32 577, i32* %open_mode, align 4 + %2 = load i8*, i8** %mode.addr, align 8 + %3 = load i8, i8* %2, align 1 + %conv2 = sext i8 %3 to i32 + %cmp3 = icmp ne i32 %conv2, 119 + br i1 %cmp3, label %if.then5, label %if.end17 + +if.then5: ; preds = %if.then + store i32 1089, i32* %open_mode, align 4 + %4 = load i8*, i8** %mode.addr, align 8 + %5 = load i8, i8* %4, align 1 + %conv6 = sext i8 %5 to i32 + %cmp7 = icmp ne i32 %conv6, 97 + br i1 %cmp7, label %DO_EINVAL, label %if.end17 + +DO_EINVAL: ; preds = %if.then40, %land.lhs.true, %if.then5 + store i32 22, i32* @errno, align 4 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %6, null + br i1 %tobool, label %do.body, label %if.end14 + +do.body: ; preds = %if.end62, %DO_EINVAL + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %7, i32 0, i32 0 + %8 = load i16, i16* %__modeflags, align 8 + %conv11 = zext i16 %8 to i32 + %and = and i32 %conv11, 8192 + %tobool12 = icmp ne i32 %and, 0 + br i1 %tobool12, label %if.then13, label %if.end14 + +if.then13: ; preds = %do.body + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %10 = bitcast %struct.__STDIO_FILE_STRUCT.568* %9 to i8* + call void @free(i8* %10) #19 + br label %if.end14 + +if.end14: ; preds = %if.then13, %do.body, %DO_EINVAL + store %struct.__STDIO_FILE_STRUCT.568* null, %struct.__STDIO_FILE_STRUCT.568** %retval, align 8 + br label %return + +if.end17: ; preds = %if.then, %if.then5, %entry + %11 = load i8*, i8** %mode.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %11, i64 1 + %12 = load i8, i8* %arrayidx, align 1 + %conv18 = sext i8 %12 to i32 + %cmp19 = icmp eq i32 %conv18, 98 + br i1 %cmp19, label %if.then21, label %if.end22 + +if.then21: ; preds = %if.end17 + %13 = load i8*, i8** %mode.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %13, i32 1 + store i8* %incdec.ptr, i8** %mode.addr, align 8 + br label %if.end22 + +if.end22: ; preds = %if.then21, %if.end17 + %14 = load i8*, i8** %mode.addr, align 8 + %arrayidx23 = getelementptr inbounds i8, i8* %14, i64 1 + %15 = load i8, i8* %arrayidx23, align 1 + %conv24 = sext i8 %15 to i32 + %cmp25 = icmp eq i32 %conv24, 43 + br i1 %cmp25, label %if.then27, label %if.end29 + +if.then27: ; preds = %if.end22 + %16 = load i8*, i8** %mode.addr, align 8 + %incdec.ptr28 = getelementptr inbounds i8, i8* %16, i32 1 + store i8* %incdec.ptr28, i8** %mode.addr, align 8 + %17 = load i32, i32* %open_mode, align 4 + %or = or i32 %17, 1 + store i32 %or, i32* %open_mode, align 4 + %18 = load i32, i32* %open_mode, align 4 + %add = add i32 %18, 1 + store i32 %add, i32* %open_mode, align 4 + br label %if.end29 + +if.end29: ; preds = %if.then27, %if.end22 + %19 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %tobool30 = icmp ne %struct.__STDIO_FILE_STRUCT.568* %19, null + br i1 %tobool30, label %if.end37, label %if.then31 + +if.then31: ; preds = %if.end29 + %call = call noalias i8* @malloc(i64 88) #19 + %20 = bitcast i8* %call to %struct.__STDIO_FILE_STRUCT.568* + store %struct.__STDIO_FILE_STRUCT.568* %20, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp32 = icmp eq %struct.__STDIO_FILE_STRUCT.568* %20, null + %21 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %cmp32, label %if.then34, label %if.end35 + +if.then34: ; preds = %if.then31 + store %struct.__STDIO_FILE_STRUCT.568* %21, %struct.__STDIO_FILE_STRUCT.568** %retval, align 8 + br label %return + +if.end35: ; preds = %if.then31 + %__modeflags36 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %21, i32 0, i32 0 + store i16 8192, i16* %__modeflags36, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 3 + store i8* null, i8** %__bufstart, align 8 + br label %if.end37 + +if.end37: ; preds = %if.end35, %if.end29 + %23 = load i32, i32* %filedes.addr, align 4 + %cmp38 = icmp sge i32 %23, 0 + %24 = load i32, i32* %filedes.addr, align 4 + br i1 %cmp38, label %if.then40, label %if.else + +if.then40: ; preds = %if.end37 + %25 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %25, i32 0, i32 2 + store i32 %24, i32* %__filedes, align 4 + %26 = load i32, i32* %open_mode, align 4 + %and41 = and i32 %26, 3 + %add42 = add i32 %and41, 1 + store i32 %add42, i32* %i, align 4 + %27 = load i32, i32* %i, align 4 + %28 = load i64, i64* %fname_or_mode.addr, align 8 + %conv43 = trunc i64 %28 to i32 + %add44 = add nsw i32 %conv43, 1 + %and45 = and i32 %27, %add44 + %29 = load i32, i32* %i, align 4 + %cmp46 = icmp ne i32 %and45, %29 + br i1 %cmp46, label %DO_EINVAL, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then40 + %30 = load i32, i32* %open_mode, align 4 + %31 = load i64, i64* %fname_or_mode.addr, align 8 + %conv48 = trunc i64 %31 to i32 + %neg = xor i32 %conv48, -1 + %and49 = and i32 %30, %neg + %and50 = and i32 %and49, 1024 + %tobool51 = icmp ne i32 %and50, 0 + br i1 %tobool51, label %land.lhs.true, label %if.end55 + +land.lhs.true: ; preds = %lor.lhs.false + %32 = load i32, i32* %filedes.addr, align 4 + %call52 = call i32 (i32, i32, ...) @fcntl(i32 %32, i32 4, i32 1024) #18 + %tobool53 = icmp ne i32 %call52, 0 + br i1 %tobool53, label %DO_EINVAL, label %if.end55 + +if.end55: ; preds = %land.lhs.true, %lor.lhs.false + %33 = load i64, i64* %fname_or_mode.addr, align 8 + %conv56 = trunc i64 %33 to i32 + %and57 = and i32 %conv56, 0 + %34 = load i32, i32* %open_mode, align 4 + %or58 = or i32 %34, %and57 + store i32 %or58, i32* %open_mode, align 4 + br label %if.end69 + +if.else: ; preds = %if.end37 + %cmp59 = icmp slt i32 %24, -1 + br i1 %cmp59, label %if.then61, label %if.end62 + +if.then61: ; preds = %if.else + %35 = load i32, i32* %open_mode, align 4 + store i32 %35, i32* %open_mode, align 4 + br label %if.end62 + +if.end62: ; preds = %if.then61, %if.else + %36 = load i64, i64* %fname_or_mode.addr, align 8 + %37 = inttoptr i64 %36 to i8* + %38 = load i32, i32* %open_mode, align 4 + %call63 = call i32 (i8*, i32, ...) @open(i8* %37, i32 %38, i32 438) #18 + %39 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes64 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %39, i32 0, i32 2 + store i32 %call63, i32* %__filedes64, align 4 + %cmp65 = icmp slt i32 %call63, 0 + br i1 %cmp65, label %do.body, label %if.end69 + +if.end69: ; preds = %if.end62, %if.end55 + %40 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags70 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %40, i32 0, i32 0 + %41 = load i16, i16* %__modeflags70, align 8 + %conv71 = zext i16 %41 to i32 + %and72 = and i32 %conv71, 8192 + %conv73 = trunc i32 %and72 to i16 + store i16 %conv73, i16* %__modeflags70, align 8 + %42 = load i32, i32* %open_mode, align 4 + %and74 = and i32 %42, 1024 + %43 = load i32, i32* %open_mode, align 4 + %and75 = and i32 %43, 3 + %add76 = add i32 %and75, 1 + %xor = xor i32 %add76, 3 + %mul = mul i32 %xor, 16 + %or77 = or i32 %and74, %mul + %44 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags78 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %44, i32 0, i32 0 + %45 = load i16, i16* %__modeflags78, align 8 + %conv79 = zext i16 %45 to i32 + %or80 = or i32 %conv79, %or77 + %conv81 = trunc i32 %or80 to i16 + store i16 %conv81, i16* %__modeflags78, align 8 + %46 = load i32, i32* @errno, align 4 + store i32 %46, i32* %i, align 4 + %47 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes82 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %47, i32 0, i32 2 + %48 = load i32, i32* %__filedes82, align 4 + %call83 = call i32 @isatty(i32 %48) #19 + %mul84 = mul i32 %call83, 256 + %49 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags85 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %49, i32 0, i32 0 + %50 = load i16, i16* %__modeflags85, align 8 + %conv86 = zext i16 %50 to i32 + %or87 = or i32 %conv86, %mul84 + %conv88 = trunc i32 %or87 to i16 + store i16 %conv88, i16* %__modeflags85, align 8 + %51 = load i32, i32* %i, align 4 + store i32 %51, i32* @errno, align 4 + %52 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart89 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %52, i32 0, i32 3 + %53 = load i8*, i8** %__bufstart89, align 8 + %tobool90 = icmp ne i8* %53, null + br i1 %tobool90, label %if.end106, label %if.then91 + +if.then91: ; preds = %if.end69 + %call92 = call noalias i8* @malloc(i64 4096) #19 + %54 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart93 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %54, i32 0, i32 3 + store i8* %call92, i8** %__bufstart93, align 8 + %cmp94 = icmp ne i8* %call92, null + %55 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart97 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %55, i32 0, i32 3 + %56 = load i8*, i8** %__bufstart97, align 8 + br i1 %cmp94, label %if.then96, label %if.else102 + +if.then96: ; preds = %if.then91 + %add.ptr = getelementptr inbounds i8, i8* %56, i64 4096 + %57 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %57, i32 0, i32 4 + store i8* %add.ptr, i8** %__bufend, align 8 + %58 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags98 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %58, i32 0, i32 0 + %59 = load i16, i16* %__modeflags98, align 8 + %conv99 = zext i16 %59 to i32 + %or100 = or i32 %conv99, 16384 + %conv101 = trunc i32 %or100 to i16 + store i16 %conv101, i16* %__modeflags98, align 8 + br label %if.end106 + +if.else102: ; preds = %if.then91 + %60 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend104 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %60, i32 0, i32 4 + store i8* %56, i8** %__bufend104, align 8 + br label %if.end106 + +if.end106: ; preds = %if.then96, %if.else102, %if.end69 + %61 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart107 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %61, i32 0, i32 3 + %62 = load i8*, i8** %__bufstart107, align 8 + %63 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %63, i32 0, i32 7 + store i8* %62, i8** %__bufgetc_u, align 8 + %64 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart108 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %64, i32 0, i32 3 + %65 = load i8*, i8** %__bufstart108, align 8 + %66 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %66, i32 0, i32 8 + store i8* %65, i8** %__bufputc_u, align 8 + %67 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart109 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %67, i32 0, i32 3 + %68 = load i8*, i8** %__bufstart109, align 8 + %69 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %69, i32 0, i32 5 + store i8* %68, i8** %__bufpos, align 8 + %70 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %70, i32 0, i32 6 + store i8* %68, i8** %__bufread, align 8 + %71 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %71, i32 0, i32 1 + %arrayidx110 = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 0 + store i8 0, i8* %arrayidx110, align 2 + %72 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %72, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + store i32 0, i32* %__mask, align 8 + %73 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + %74 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %74, i32 0, i32 9 + store %struct.__STDIO_FILE_STRUCT.568* %73, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + %75 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %75, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + %76 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %76, %struct.__STDIO_FILE_STRUCT.568** %retval, align 8 + br label %return + +return: ; preds = %if.end106, %if.then34, %if.end14 + %77 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %retval, align 8 + ret %struct.__STDIO_FILE_STRUCT.568* %77 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_fwrite(i8* noalias %buffer, i64 %bytes, %struct.__STDIO_FILE_STRUCT.568* noalias %stream) #0 { +entry: + %retval = alloca i64, align 8 + %buffer.addr = alloca i8*, align 8 + %bytes.addr = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %pending = alloca i64, align 8 + %p = alloca i8*, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %bytes, i64* %bytes.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 512 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end63, label %if.then + +if.then: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 2 + %3 = load i32, i32* %__filedes, align 4 + %cmp = icmp eq i32 %3, -2 + br i1 %cmp, label %if.then2, label %if.end8 + +if.then2: ; preds = %if.then + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 4 + %5 = load i8*, i8** %__bufend, align 8 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 5 + %7 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %pending, align 8 + %8 = load i64, i64* %pending, align 8 + %9 = load i64, i64* %bytes.addr, align 8 + %cmp3 = icmp ugt i64 %8, %9 + br i1 %cmp3, label %if.then5, label %if.end + +if.then5: ; preds = %if.then2 + %10 = load i64, i64* %bytes.addr, align 8 + store i64 %10, i64* %pending, align 8 + br label %if.end + +if.end: ; preds = %if.then5, %if.then2 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 5 + %12 = load i8*, i8** %__bufpos6, align 8 + %13 = load i8*, i8** %buffer.addr, align 8 + %14 = load i64, i64* %pending, align 8 + %call = call i8* @memcpy(i8* %12, i8* %13, i64 %14) #19 + %15 = load i64, i64* %pending, align 8 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos7 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %16, i32 0, i32 5 + %17 = load i8*, i8** %__bufpos7, align 8 + %add.ptr = getelementptr inbounds i8, i8* %17, i64 %15 + store i8* %add.ptr, i8** %__bufpos7, align 8 + %18 = load i64, i64* %bytes.addr, align 8 + store i64 %18, i64* %retval, align 8 + br label %return + +if.end8: ; preds = %if.then + %19 = load i64, i64* %bytes.addr, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend9 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 4 + %21 = load i8*, i8** %__bufend9, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 5 + %23 = load i8*, i8** %__bufpos10, align 8 + %sub.ptr.lhs.cast11 = ptrtoint i8* %21 to i64 + %sub.ptr.rhs.cast12 = ptrtoint i8* %23 to i64 + %sub.ptr.sub13 = sub i64 %sub.ptr.lhs.cast11, %sub.ptr.rhs.cast12 + %cmp14 = icmp ule i64 %19, %sub.ptr.sub13 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 5 + %25 = load i8*, i8** %__bufpos17, align 8 + br i1 %cmp14, label %if.then16, label %if.end51 + +if.then16: ; preds = %if.end8 + %26 = load i8*, i8** %buffer.addr, align 8 + %27 = load i64, i64* %bytes.addr, align 8 + %call18 = call i8* @memcpy(i8* %25, i8* %26, i64 %27) #19 + %28 = load i64, i64* %bytes.addr, align 8 + %29 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos19 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %29, i32 0, i32 5 + %30 = load i8*, i8** %__bufpos19, align 8 + %add.ptr20 = getelementptr inbounds i8, i8* %30, i64 %28 + store i8* %add.ptr20, i8** %__bufpos19, align 8 + %31 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags21 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %31, i32 0, i32 0 + %32 = load i16, i16* %__modeflags21, align 8 + %conv22 = zext i16 %32 to i32 + %and23 = and i32 %conv22, 256 + %tobool24 = icmp ne i32 %and23, 0 + br i1 %tobool24, label %land.lhs.true, label %if.end50 + +land.lhs.true: ; preds = %if.then16 + %33 = load i8*, i8** %buffer.addr, align 8 + %34 = load i64, i64* %bytes.addr, align 8 + %call25 = call i8* @memrchr(i8* %33, i32 10, i64 %34) #20 + %tobool26 = icmp ne i8* %call25, null + br i1 %tobool26, label %if.then27, label %if.end50 + +if.then27: ; preds = %land.lhs.true + %35 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call28 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %35) #18 + store i64 %call28, i64* %pending, align 8 + %cmp29 = icmp ugt i64 %call28, 0 + br i1 %cmp29, label %if.then31, label %if.end50 + +if.then31: ; preds = %if.then27 + %36 = load i64, i64* %pending, align 8 + %37 = load i64, i64* %bytes.addr, align 8 + %cmp32 = icmp ugt i64 %36, %37 + br i1 %cmp32, label %if.then34, label %if.end35 + +if.then34: ; preds = %if.then31 + %38 = load i64, i64* %bytes.addr, align 8 + store i64 %38, i64* %pending, align 8 + br label %if.end35 + +if.end35: ; preds = %if.then34, %if.then31 + %39 = load i64, i64* %bytes.addr, align 8 + %40 = load i64, i64* %pending, align 8 + %sub = sub i64 %39, %40 + %41 = load i8*, i8** %buffer.addr, align 8 + %add.ptr36 = getelementptr inbounds i8, i8* %41, i64 %sub + store i8* %add.ptr36, i8** %buffer.addr, align 8 + %42 = load i8*, i8** %buffer.addr, align 8 + %43 = load i64, i64* %pending, align 8 + %call37 = call i8* @memchr(i8* %42, i32 10, i64 %43) #20 + store i8* %call37, i8** %p, align 8 + %cmp38 = icmp ne i8* %call37, null + br i1 %cmp38, label %if.then40, label %if.end50 + +if.then40: ; preds = %if.end35 + %44 = load i8*, i8** %buffer.addr, align 8 + %45 = load i64, i64* %pending, align 8 + %add.ptr41 = getelementptr inbounds i8, i8* %44, i64 %45 + %46 = load i8*, i8** %p, align 8 + %sub.ptr.lhs.cast42 = ptrtoint i8* %add.ptr41 to i64 + %sub.ptr.rhs.cast43 = ptrtoint i8* %46 to i64 + %sub.ptr.sub44 = sub i64 %sub.ptr.lhs.cast42, %sub.ptr.rhs.cast43 + store i64 %sub.ptr.sub44, i64* %pending, align 8 + %47 = load i64, i64* %pending, align 8 + %48 = load i64, i64* %bytes.addr, align 8 + %sub45 = sub i64 %48, %47 + store i64 %sub45, i64* %bytes.addr, align 8 + %49 = load i64, i64* %pending, align 8 + %50 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos46 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %50, i32 0, i32 5 + %51 = load i8*, i8** %__bufpos46, align 8 + %idx.neg = sub i64 0, %49 + %add.ptr47 = getelementptr inbounds i8, i8* %51, i64 %idx.neg + store i8* %add.ptr47, i8** %__bufpos46, align 8 + br label %if.end50 + +if.end50: ; preds = %if.then27, %if.then40, %if.end35, %land.lhs.true, %if.then16 + %52 = load i64, i64* %bytes.addr, align 8 + store i64 %52, i64* %retval, align 8 + br label %return + +if.end51: ; preds = %if.end8 + %53 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %53, i32 0, i32 3 + %54 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast53 = ptrtoint i8* %25 to i64 + %sub.ptr.rhs.cast54 = ptrtoint i8* %54 to i64 + %sub.ptr.sub55 = sub i64 %sub.ptr.lhs.cast53, %sub.ptr.rhs.cast54 + %tobool56 = icmp ne i64 %sub.ptr.sub55, 0 + br i1 %tobool56, label %if.then57, label %if.end63 + +if.then57: ; preds = %if.end51 + %55 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call58 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %55) #18 + %tobool59 = icmp ne i64 %call58, 0 + br i1 %tobool59, label %if.then60, label %if.end63 + +if.then60: ; preds = %if.then57 + store i64 0, i64* %retval, align 8 + br label %return + +if.end63: ; preds = %if.end51, %if.then57, %entry + %56 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %57 = load i8*, i8** %buffer.addr, align 8 + %58 = load i64, i64* %bytes.addr, align 8 + %call64 = call i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %56, i8* %57, i64 %58) #18 + store i64 %call64, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end63, %if.then60, %if.end50, %if.end + %59 = load i64, i64* %retval, align 8 + ret i64 %59 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %oflag) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %oflag.addr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %oflag, i32* %oflag.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %2 = load i32, i32* %oflag.addr, align 4 + %and = and i32 %conv, %2 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end9, label %if.then + +if.then: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 0 + %4 = load i16, i16* %__modeflags1, align 8 + %conv2 = zext i16 %4 to i32 + %and3 = and i32 %conv2, 2176 + %tobool4 = icmp ne i32 %and3, 0 + br i1 %tobool4, label %DO_EBADF, label %if.end + +if.end: ; preds = %if.then + %5 = load i32, i32* %oflag.addr, align 4 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 0 + %7 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %7 to i32 + %or = or i32 %conv7, %5 + %conv8 = trunc i32 %or to i16 + store i16 %conv8, i16* %__modeflags6, align 8 + br label %if.end9 + +if.end9: ; preds = %if.end, %entry + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags10, align 8 + %conv11 = zext i16 %9 to i32 + %and12 = and i32 %conv11, 32 + %tobool13 = icmp ne i32 %and12, 0 + br i1 %tobool13, label %DO_EBADF, label %if.end19 + +DO_EBADF: ; preds = %if.end9, %if.then + store i32 9, i32* @errno, align 4 + br label %ERROR + +ERROR: ; preds = %land.lhs.true, %DO_EBADF + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags15 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 0 + %11 = load i16, i16* %__modeflags15, align 8 + %conv16 = zext i16 %11 to i32 + %or17 = or i32 %conv16, 8 + %conv18 = trunc i32 %or17 to i16 + store i16 %conv18, i16* %__modeflags15, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end19: ; preds = %if.end9 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags20 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags20, align 8 + %conv21 = zext i16 %13 to i32 + %and22 = and i32 %conv21, 3 + %tobool23 = icmp ne i32 %and22, 0 + br i1 %tobool23, label %if.then24, label %if.end50 + +if.then24: ; preds = %if.end19 + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags25 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %14, i32 0, i32 0 + %15 = load i16, i16* %__modeflags25, align 8 + %conv26 = zext i16 %15 to i32 + %and27 = and i32 %conv26, 4 + %tobool28 = icmp ne i32 %and27, 0 + br i1 %tobool28, label %if.end42, label %if.then29 + +if.then29: ; preds = %if.then24 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %16, i32 0, i32 6 + %17 = load i8*, i8** %__bufread, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 5 + %19 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %17 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool30 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %tobool30, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then29 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags31 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 0 + %21 = load i16, i16* %__modeflags31, align 8 + %conv32 = zext i16 %21 to i32 + %and33 = and i32 %conv32, 2 + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %land.lhs.true, label %if.end42 + +land.lhs.true: ; preds = %lor.lhs.false, %if.then29 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %23 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags35 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %23, i32 0, i32 0 + %24 = load i16, i16* %__modeflags35, align 8 + %conv36 = zext i16 %24 to i32 + %and37 = and i32 %conv36, 1024 + %tobool38 = icmp ne i32 %and37, 0 + %25 = zext i1 %tobool38 to i64 + %cond = select i1 %tobool38, i32 2, i32 1 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32)* @fseek to i32 (%struct.__STDIO_FILE_STRUCT.568*, i64, i32)*)(%struct.__STDIO_FILE_STRUCT.568* %22, i64 0, i32 %cond) #18 + %tobool39 = icmp ne i32 %call, 0 + br i1 %tobool39, label %ERROR, label %if.end42 + +if.end42: ; preds = %lor.lhs.false, %land.lhs.true, %if.then24 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags43 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 0 + %27 = load i16, i16* %__modeflags43, align 8 + %conv44 = zext i16 %27 to i32 + %and45 = and i32 %conv44, -4 + %conv46 = trunc i32 %and45 to i16 + store i16 %conv46, i16* %__modeflags43, align 8 + %28 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %28, i32 0, i32 3 + %29 = load i8*, i8** %__bufstart, align 8 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %30, i32 0, i32 7 + store i8* %29, i8** %__bufgetc_u, align 8 + %31 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart47 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %31, i32 0, i32 3 + %32 = load i8*, i8** %__bufstart47, align 8 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos48 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %33, i32 0, i32 5 + store i8* %32, i8** %__bufpos48, align 8 + %34 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread49 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %34, i32 0, i32 6 + store i8* %32, i8** %__bufread49, align 8 + br label %if.end50 + +if.end50: ; preds = %if.end42, %if.end19 + %35 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags51 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %35, i32 0, i32 0 + %36 = load i16, i16* %__modeflags51, align 8 + %conv52 = zext i16 %36 to i32 + %or53 = or i32 %conv52, 64 + %conv54 = trunc i32 %or53 to i16 + store i16 %conv54, i16* %__modeflags51, align 8 + %37 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags55 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %37, i32 0, i32 0 + %38 = load i16, i16* %__modeflags55, align 8 + %conv56 = zext i16 %38 to i32 + %and57 = and i32 %conv56, 2816 + %tobool58 = icmp ne i32 %and57, 0 + br i1 %tobool58, label %if.end60, label %if.then59 + +if.then59: ; preds = %if.end50 + %39 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %39, i32 0, i32 4 + %40 = load i8*, i8** %__bufend, align 8 + %41 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %41, i32 0, i32 8 + store i8* %40, i8** %__bufputc_u, align 8 + br label %if.end60 + +if.end60: ; preds = %if.then59, %if.end50 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end60, %ERROR + %42 = load i32, i32* %retval, align 4 + ret i32 %42 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fseeko64(%struct.__STDIO_FILE_STRUCT.636* %stream, i64 %offset, i32 %whence) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + %pos = alloca i64, align 8 + %retval1 = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i64, i64* %offset.addr, align 8 + store i64 %0, i64* %pos, align 8 + store i32 -1, i32* %retval1, align 4 + %1 = load i32, i32* %whence.addr, align 4 + %cmp = icmp ugt i32 %1, 2 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + store i32 22, i32* @errno, align 4 + br label %if.end20 + +if.else: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %2, i32 0, i32 0 + %3 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %3 to i32 + %and = and i32 %conv, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %lor.lhs.false, label %land.lhs.true + +lor.lhs.false: ; preds = %if.else + %4 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %call = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.568*)* @__stdio_wcommit to i64 (%struct.__STDIO_FILE_STRUCT.636*)*)(%struct.__STDIO_FILE_STRUCT.636* %4) #18 + %tobool2 = icmp ne i64 %call, 0 + br i1 %tobool2, label %if.end20, label %land.lhs.true + +land.lhs.true: ; preds = %lor.lhs.false, %if.else + %5 = load i32, i32* %whence.addr, align 4 + %cmp3 = icmp ne i32 %5, 1 + br i1 %cmp3, label %land.lhs.true9, label %lor.lhs.false5 + +lor.lhs.false5: ; preds = %land.lhs.true + %6 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %call6 = call i32 @__stdio_adjust_position(%struct.__STDIO_FILE_STRUCT.636* %6, i64* %pos) #18 + %cmp7 = icmp sge i32 %call6, 0 + br i1 %cmp7, label %land.lhs.true9, label %if.end20 + +land.lhs.true9: ; preds = %lor.lhs.false5, %land.lhs.true + %7 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %8 = load i32, i32* %whence.addr, align 4 + %call10 = call i32 @__stdio_seek(%struct.__STDIO_FILE_STRUCT.636* %7, i64* %pos, i32 %8) #18 + %cmp11 = icmp sge i32 %call10, 0 + br i1 %cmp11, label %if.then13, label %if.end20 + +if.then13: ; preds = %land.lhs.true9 + %9 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags14 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %9, i32 0, i32 0 + %10 = load i16, i16* %__modeflags14, align 8 + %conv15 = zext i16 %10 to i32 + %and16 = and i32 %conv15, -72 + %conv17 = trunc i32 %and16 to i16 + store i16 %conv17, i16* %__modeflags14, align 8 + %11 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %11, i32 0, i32 3 + %12 = load i8*, i8** %__bufstart, align 8 + %13 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %13, i32 0, i32 5 + store i8* %12, i8** %__bufpos, align 8 + %14 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %14, i32 0, i32 6 + store i8* %12, i8** %__bufread, align 8 + %15 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufstart18 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %15, i32 0, i32 3 + %16 = load i8*, i8** %__bufstart18, align 8 + %17 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %17, i32 0, i32 7 + store i8* %16, i8** %__bufgetc_u, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufstart19 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %18, i32 0, i32 3 + %19 = load i8*, i8** %__bufstart19, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %20, i32 0, i32 8 + store i8* %19, i8** %__bufputc_u, align 8 + %21 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %21, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + store i32 0, i32* %__mask, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %22, i32 0, i32 1 + %arrayidx = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 0 + store i8 0, i8* %arrayidx, align 2 + store i32 0, i32* %retval1, align 4 + br label %if.end20 + +if.end20: ; preds = %lor.lhs.false, %lor.lhs.false5, %land.lhs.true9, %if.then13, %if.then + %23 = load i32, i32* %retval1, align 4 + ret i32 %23 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i8* noalias %format, %struct.__va_list_tag.0* %arg) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %format.addr = alloca i8*, align 8 + %arg.addr = alloca %struct.__va_list_tag.0*, align 8 + %ppfs = alloca %struct.ppfs_t.722, align 8 + %count = alloca i32, align 4 + %r = alloca i32, align 4 + %s = alloca i8*, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + store %struct.__va_list_tag.0* %arg, %struct.__va_list_tag.0** %arg.addr, align 8 + store i32 0, i32* %count, align 4 + %0 = load i8*, i8** %format.addr, align 8 + store i8* %0, i8** %s, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %1, i32 0, i32 0 + %2 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %2 to i32 + %and = and i32 %conv, 192 + %cmp = icmp eq i32 %and, 192 + br i1 %cmp, label %if.else, label %land.lhs.true + +land.lhs.true: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* %3, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %land.lhs.true + store i32 -1, i32* %count, align 4 + br label %if.end65 + +if.else: ; preds = %land.lhs.true, %entry + %4 = load i8*, i8** %format.addr, align 8 + %call2 = call i32 @_ppfs_init(%struct.ppfs_t.722* %ppfs, i8* %4) #18 + %cmp3 = icmp slt i32 %call2, 0 + br i1 %cmp3, label %if.then5, label %if.else13 + +if.then5: ; preds = %if.else + %fmtpos = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %5 = load i8*, i8** %fmtpos, align 8 + %call6 = call i64 @strlen(i8* %5) #20 + %cmp7 = icmp ugt i64 %call6, 0 + br i1 %cmp7, label %cond.true, label %cond.end + +cond.true: ; preds = %if.then5 + %fmtpos9 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %6 = load i8*, i8** %fmtpos9, align 8 + %fmtpos10 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %7 = load i8*, i8** %fmtpos10, align 8 + %call11 = call i64 @strlen(i8* %7) #20 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call12 = call i64 @__stdio_fwrite(i8* %6, i64 %call11, %struct.__STDIO_FILE_STRUCT.568* %8) #18 + br label %cond.end + +cond.end: ; preds = %if.then5, %cond.true + %cond = phi i64 [ %call12, %cond.true ], [ 0, %if.then5 ] + store i32 -1, i32* %count, align 4 + br label %if.end65 + +if.else13: ; preds = %if.else + %9 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %arg.addr, align 8 + call void @_ppfs_prepargs(%struct.ppfs_t.722* %ppfs, %struct.__va_list_tag.0* %9) #18 + br label %do.body + +do.body: ; preds = %do.cond, %if.else13 + br label %while.cond + +while.cond: ; preds = %while.body, %do.body + %10 = load i8*, i8** %format.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv14 = sext i8 %11 to i32 + %tobool15 = icmp ne i32 %conv14, 0 + br i1 %tobool15, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %12 = load i8*, i8** %format.addr, align 8 + %13 = load i8, i8* %12, align 1 + %conv16 = sext i8 %13 to i32 + %cmp17 = icmp ne i32 %conv16, 37 + br label %land.end + +land.end: ; preds = %land.rhs, %while.cond + %14 = phi i1 [ false, %while.cond ], [ %cmp17, %land.rhs ] + %15 = load i8*, i8** %format.addr, align 8 + br i1 %14, label %while.body, label %while.end + +while.body: ; preds = %land.end + %incdec.ptr = getelementptr inbounds i8, i8* %15, i32 1 + store i8* %incdec.ptr, i8** %format.addr, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %16 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %15 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %16 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool19 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %tobool19, label %if.then20, label %if.end42 + +if.then20: ; preds = %while.end + %17 = load i8*, i8** %format.addr, align 8 + %18 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast21 = ptrtoint i8* %17 to i64 + %sub.ptr.rhs.cast22 = ptrtoint i8* %18 to i64 + %sub.ptr.sub23 = sub i64 %sub.ptr.lhs.cast21, %sub.ptr.rhs.cast22 + %cmp24 = icmp sgt i64 %sub.ptr.sub23, 0 + br i1 %cmp24, label %cond.true26, label %cond.end32 + +cond.true26: ; preds = %if.then20 + %19 = load i8*, i8** %s, align 8 + %20 = load i8*, i8** %format.addr, align 8 + %21 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast27 = ptrtoint i8* %20 to i64 + %sub.ptr.rhs.cast28 = ptrtoint i8* %21 to i64 + %sub.ptr.sub29 = sub i64 %sub.ptr.lhs.cast27, %sub.ptr.rhs.cast28 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call30 = call i64 @__stdio_fwrite(i8* %19, i64 %sub.ptr.sub29, %struct.__STDIO_FILE_STRUCT.568* %22) #18 + br label %cond.end32 + +cond.end32: ; preds = %if.then20, %cond.true26 + %cond33 = phi i64 [ %call30, %cond.true26 ], [ 0, %if.then20 ] + %conv34 = trunc i64 %cond33 to i32 + store i32 %conv34, i32* %r, align 4 + %conv35 = sext i32 %conv34 to i64 + %23 = load i8*, i8** %format.addr, align 8 + %24 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast36 = ptrtoint i8* %23 to i64 + %sub.ptr.rhs.cast37 = ptrtoint i8* %24 to i64 + %sub.ptr.sub38 = sub i64 %sub.ptr.lhs.cast36, %sub.ptr.rhs.cast37 + %cmp39 = icmp ne i64 %conv35, %sub.ptr.sub38 + br i1 %cmp39, label %if.then41, label %if.end + +if.then41: ; preds = %cond.end32 + store i32 -1, i32* %count, align 4 + br label %do.end + +if.end: ; preds = %cond.end32 + %25 = load i32, i32* %r, align 4 + %26 = load i32, i32* %count, align 4 + %add = add nsw i32 %26, %25 + store i32 %add, i32* %count, align 4 + br label %if.end42 + +if.end42: ; preds = %if.end, %while.end + %27 = load i8*, i8** %format.addr, align 8 + %28 = load i8, i8* %27, align 1 + %tobool43 = icmp ne i8 %28, 0 + br i1 %tobool43, label %if.end45, label %do.end + +if.end45: ; preds = %if.end42 + %29 = load i8*, i8** %format.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %29, i64 1 + %30 = load i8, i8* %arrayidx, align 1 + %conv46 = sext i8 %30 to i32 + %cmp47 = icmp ne i32 %conv46, 37 + %31 = load i8*, i8** %format.addr, align 8 + %incdec.ptr50 = getelementptr inbounds i8, i8* %31, i32 1 + store i8* %incdec.ptr50, i8** %format.addr, align 8 + br i1 %cmp47, label %if.then49, label %if.else58 + +if.then49: ; preds = %if.end45 + %fmtpos51 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + store i8* %incdec.ptr50, i8** %fmtpos51, align 8 + %32 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call52 = call i32 @_do_one_spec(%struct.__STDIO_FILE_STRUCT.568* %32, %struct.ppfs_t.722* %ppfs, i32* %count) #18 + store i32 %call52, i32* %r, align 4 + %cmp53 = icmp slt i32 %call52, 0 + br i1 %cmp53, label %if.then55, label %if.end56 + +if.then55: ; preds = %if.then49 + store i32 -1, i32* %count, align 4 + br label %do.end + +if.end56: ; preds = %if.then49 + %fmtpos57 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %33 = load i8*, i8** %fmtpos57, align 8 + store i8* %33, i8** %format.addr, align 8 + store i8* %33, i8** %s, align 8 + br label %do.cond + +if.else58: ; preds = %if.end45 + store i8* %incdec.ptr50, i8** %s, align 8 + %34 = load i8*, i8** %format.addr, align 8 + %incdec.ptr60 = getelementptr inbounds i8, i8* %34, i32 1 + store i8* %incdec.ptr60, i8** %format.addr, align 8 + br label %do.cond + +do.cond: ; preds = %if.end56, %if.else58 + br label %do.body + +do.end: ; preds = %if.end42, %if.then55, %if.then41 + %arg62 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 7 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg62, i64 0, i64 0 + %arraydecay63 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_end(i8* %arraydecay63) + br label %if.end65 + +if.end65: ; preds = %cond.end, %do.end, %if.then + %35 = load i32, i32* %count, align 4 + ret i32 %35 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_do_one_spec(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, %struct.ppfs_t.722* %ppfs, i32* %count) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %count.addr = alloca i32*, align 8 + %argptr = alloca [1 x i8*], align 8 + %argtype = alloca i32*, align 8 + %ws = alloca i32*, align 8 + %mbstate = alloca %struct.__mbstate_t.512, align 4 + %slen = alloca i64, align 8 + %base = alloca i32, align 4 + %numpad = alloca i32, align 4 + %alphacase = alloca i32, align 4 + %numfill = alloca i32, align 4 + %prefix_num = alloca i32, align 4 + %padchar = alloca i8, align 1 + %buf = alloca [128 x i8], align 16 + %p = alloca %union.anon.193*, align 8 + %i = alloca i32, align 4 + %s = alloca i8*, align 8 + %nf = alloca i64, align 8 + %t = alloca i64, align 8 + %t351 = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store i32* %count, i32** %count.addr, align 8 + store i32* null, i32** %ws, align 8 + store i32 0, i32* %numfill, align 4 + store i32 11, i32* %prefix_num, align 4 + store i8 32, i8* %padchar, align 1 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %call = call i32 @_ppfs_parsespec(%struct.ppfs_t.722* %0) #18 + %1 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + call void @_ppfs_setargs(%struct.ppfs_t.722* %1) #18 + %2 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype1 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %2, i32 0, i32 6 + %arraydecay = getelementptr inbounds [9 x i32], [9 x i32]* %argtype1, i64 0, i64 0 + %3 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %3, i32 0, i32 5 + %arrayidx = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber, i64 0, i64 2 + %4 = load i8, i8* %arrayidx, align 2 + %conv = zext i8 %4 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds i32, i32* %arraydecay, i64 %idx.ext + %add.ptr2 = getelementptr inbounds i32, i32* %add.ptr, i64 -1 + store i32* %add.ptr2, i32** %argtype, align 8 + %5 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argvalue = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %5, i32 0, i32 8 + %arraydecay3 = getelementptr inbounds [9 x %union.anon.193], [9 x %union.anon.193]* %argvalue, i64 0, i64 0 + store %union.anon.193* %arraydecay3, %union.anon.193** %p, align 8 + %6 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %6, i32 0, i32 2 + %7 = load i32, i32* %maxposarg, align 4 + %cmp = icmp sgt i32 %7, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %8 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber5 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %8, i32 0, i32 5 + %arrayidx6 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber5, i64 0, i64 2 + %9 = load i8, i8* %arrayidx6, align 2 + %conv7 = zext i8 %9 to i32 + %sub = sub nsw i32 %conv7, 1 + %10 = load %union.anon.193*, %union.anon.193** %p, align 8 + %idx.ext8 = sext i32 %sub to i64 + %add.ptr9 = getelementptr inbounds %union.anon.193, %union.anon.193* %10, i64 %idx.ext8 + store %union.anon.193* %add.ptr9, %union.anon.193** %p, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %11 = load i32, i32* %i, align 4 + %12 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %12, i32 0, i32 3 + %13 = load i32, i32* %num_data_args, align 8 + %cmp10 = icmp slt i32 %11, %13 + br i1 %cmp10, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %14 = load %union.anon.193*, %union.anon.193** %p, align 8 + %incdec.ptr = getelementptr inbounds %union.anon.193, %union.anon.193* %14, i32 1 + store %union.anon.193* %incdec.ptr, %union.anon.193** %p, align 8 + %15 = bitcast %union.anon.193* %14 to i8* + %16 = load i32, i32* %i, align 4 + %idxprom = sext i32 %16 to i64 + %arrayidx12 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 %idxprom + store i8* %15, i8** %arrayidx12, align 8 + %17 = load i32, i32* %i, align 4 + %inc = add nsw i32 %17, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + store i8* null, i8** %s, align 8 + %18 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %18, i32 0, i32 4 + %19 = load i32, i32* %conv_num, align 4 + %cmp13 = icmp eq i32 %19, 0 + br i1 %cmp13, label %if.then15, label %if.end18 + +if.then15: ; preds = %for.end + %arraydecay16 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %20 = load i8*, i8** %arraydecay16, align 8 + %21 = bitcast i8* %20 to i8** + %22 = load i8*, i8** %21, align 8 + %23 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %23, i32 0, i32 1 + %_flags = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 3 + %24 = load i32, i32* %_flags, align 4 + %and = and i32 %24, 3840 + %25 = load i32*, i32** %count.addr, align 8 + %26 = load i32, i32* %25, align 4 + %conv17 = sext i32 %26 to i64 + call void @_store_inttype(i8* %22, i32 %and, i64 %conv17) #18 + store i32 0, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %for.end + %27 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num19 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %27, i32 0, i32 4 + %28 = load i32, i32* %conv_num19, align 4 + %cmp20 = icmp ule i32 %28, 7 + br i1 %cmp20, label %if.then22, label %if.else179 + +if.then22: ; preds = %if.end18 + store i32 87, i32* %alphacase, align 4 + %29 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num23 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %29, i32 0, i32 4 + %30 = load i32, i32* %conv_num23, align 4 + %sub24 = sub i32 %30, 1 + %idxprom25 = sext i32 %sub24 to i64 + %arrayidx26 = getelementptr inbounds [7 x i8], [7 x i8]* @_do_one_spec.spec_base, i64 0, i64 %idxprom25 + %31 = load i8, i8* %arrayidx26, align 1 + %conv27 = sext i8 %31 to i32 + store i32 %conv27, i32* %base, align 4 + %cmp28 = icmp eq i32 %conv27, 10 + br i1 %cmp28, label %if.then30, label %if.end42 + +if.then30: ; preds = %if.then22 + %32 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info31 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %32, i32 0, i32 1 + %_flags32 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info31, i32 0, i32 3 + %33 = load i32, i32* %_flags32, align 4 + %and33 = and i32 %33, 32 + %tobool = icmp ne i32 %and33, 0 + br i1 %tobool, label %if.then34, label %if.end35 + +if.then34: ; preds = %if.then30 + store i32 44, i32* %alphacase, align 4 + br label %if.end35 + +if.end35: ; preds = %if.then34, %if.then30 + %34 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info36 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %34, i32 0, i32 1 + %_flags37 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info36, i32 0, i32 3 + %35 = load i32, i32* %_flags37, align 4 + %and38 = and i32 %35, 64 + %tobool39 = icmp ne i32 %and38, 0 + br i1 %tobool39, label %if.then40, label %if.end42 + +if.then40: ; preds = %if.end35 + %36 = load i32, i32* %alphacase, align 4 + %or = or i32 %36, 128 + store i32 %or, i32* %alphacase, align 4 + br label %if.end42 + +if.end42: ; preds = %if.end35, %if.then40, %if.then22 + %37 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num43 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %37, i32 0, i32 4 + %38 = load i32, i32* %conv_num43, align 4 + %cmp44 = icmp ule i32 %38, 5 + br i1 %cmp44, label %if.then46, label %if.else57 + +if.then46: ; preds = %if.end42 + %39 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num47 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %39, i32 0, i32 4 + %40 = load i32, i32* %conv_num47, align 4 + %cmp48 = icmp eq i32 %40, 3 + br i1 %cmp48, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.then46 + store i32 55, i32* %alphacase, align 4 + br label %if.end51 + +if.end51: ; preds = %if.then50, %if.then46 + %41 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num52 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %41, i32 0, i32 4 + %42 = load i32, i32* %conv_num52, align 4 + %cmp53 = icmp eq i32 %42, 1 + br i1 %cmp53, label %if.then55, label %if.end59 + +if.then55: ; preds = %if.end51 + store i32 6, i32* %prefix_num, align 4 + br label %if.end59 + +if.else57: ; preds = %if.end42 + %43 = load i32, i32* %base, align 4 + %sub58 = sub nsw i32 0, %43 + store i32 %sub58, i32* %base, align 4 + br label %if.end59 + +if.end59: ; preds = %if.then55, %if.end51, %if.else57 + %44 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info60 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %44, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info60, i32 0, i32 0 + %45 = load i32, i32* %prec, align 8 + %cmp61 = icmp slt i32 %45, 0 + br i1 %cmp61, label %if.then63, label %if.end66 + +if.then63: ; preds = %if.end59 + %46 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info64 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %46, i32 0, i32 1 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info64, i32 0, i32 4 + %47 = load i32, i32* %pad, align 8 + %conv65 = trunc i32 %47 to i8 + store i8 %conv65, i8* %padchar, align 1 + br label %if.end66 + +if.end66: ; preds = %if.then63, %if.end59 + %arraydecay67 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %add.ptr68 = getelementptr inbounds i8, i8* %arraydecay67, i64 128 + %add.ptr69 = getelementptr inbounds i8, i8* %add.ptr68, i64 -1 + %48 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num70 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %48, i32 0, i32 4 + %49 = load i32, i32* %conv_num70, align 4 + %cmp71 = icmp eq i32 %49, 1 + br i1 %cmp71, label %cond.end, label %cond.false + +cond.false: ; preds = %if.end66 + %50 = load i32*, i32** %argtype, align 8 + %51 = load i32, i32* %50, align 4 + %and73 = and i32 %51, 3840 + br label %cond.end + +cond.end: ; preds = %if.end66, %cond.false + %cond = phi i32 [ %and73, %cond.false ], [ 1024, %if.end66 ] + %arraydecay74 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %52 = load i8*, i8** %arraydecay74, align 8 + %53 = load i32, i32* %base, align 4 + %call75 = call i64 @_load_inttype(i32 %cond, i8* %52, i32 %53) #18 + %54 = load i32, i32* %base, align 4 + %55 = load i32, i32* %alphacase, align 4 + %call76 = call i8* @_uintmaxtostr(i8* %add.ptr69, i64 %call75, i32 %54, i32 %55) #18 + store i8* %call76, i8** %s, align 8 + %56 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num77 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %56, i32 0, i32 4 + %57 = load i32, i32* %conv_num77, align 4 + %cmp78 = icmp ugt i32 %57, 5 + br i1 %cmp78, label %if.then80, label %if.end104 + +if.then80: ; preds = %cond.end + %58 = load i8*, i8** %s, align 8 + %59 = load i8, i8* %58, align 1 + %conv81 = sext i8 %59 to i32 + %cmp82 = icmp eq i32 %conv81, 45 + %60 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info85 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %60, i32 0, i32 1 + %_flags86 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info85, i32 0, i32 3 + %61 = load i32, i32* %_flags86, align 4 + br i1 %cmp82, label %if.then84, label %if.else89 + +if.then84: ; preds = %if.then80 + %or87 = or i32 %61, 2 + store i32 %or87, i32* %_flags86, align 4 + %62 = load i8*, i8** %s, align 8 + %incdec.ptr88 = getelementptr inbounds i8, i8* %62, i32 1 + store i8* %incdec.ptr88, i8** %s, align 8 + store i32 2, i32* %prefix_num, align 4 + br label %if.end104 + +if.else89: ; preds = %if.then80 + %and92 = and i32 %61, 2 + %tobool93 = icmp ne i32 %and92, 0 + br i1 %tobool93, label %if.then94, label %if.else95 + +if.then94: ; preds = %if.else89 + store i32 0, i32* %prefix_num, align 4 + br label %if.end104 + +if.else95: ; preds = %if.else89 + %63 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info96 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %63, i32 0, i32 1 + %_flags97 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info96, i32 0, i32 3 + %64 = load i32, i32* %_flags97, align 4 + %and98 = and i32 %64, 1 + %tobool99 = icmp ne i32 %and98, 0 + br i1 %tobool99, label %if.then100, label %if.end104 + +if.then100: ; preds = %if.else95 + store i32 4, i32* %prefix_num, align 4 + br label %if.end104 + +if.end104: ; preds = %if.then84, %if.else95, %if.then100, %if.then94, %cond.end + %arraydecay105 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %add.ptr106 = getelementptr inbounds i8, i8* %arraydecay105, i64 128 + %add.ptr107 = getelementptr inbounds i8, i8* %add.ptr106, i64 -1 + %65 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %add.ptr107 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %65 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %slen, align 8 + %66 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info108 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %66, i32 0, i32 1 + %prec109 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info108, i32 0, i32 0 + %67 = load i32, i32* %prec109, align 8 + %cmp110 = icmp slt i32 %67, 0 + br i1 %cmp110, label %cond.end116, label %cond.false113 + +cond.false113: ; preds = %if.end104 + %68 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info114 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %68, i32 0, i32 1 + %prec115 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info114, i32 0, i32 0 + %69 = load i32, i32* %prec115, align 8 + br label %cond.end116 + +cond.end116: ; preds = %if.end104, %cond.false113 + %cond117 = phi i32 [ %69, %cond.false113 ], [ 1, %if.end104 ] + store i32 %cond117, i32* %numfill, align 4 + %70 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info118 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %70, i32 0, i32 1 + %_flags119 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info118, i32 0, i32 3 + %71 = load i32, i32* %_flags119, align 4 + %and120 = and i32 %71, 16 + %tobool121 = icmp ne i32 %and120, 0 + br i1 %tobool121, label %if.then122, label %if.end149 + +if.then122: ; preds = %cond.end116 + %72 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num123 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %72, i32 0, i32 4 + %73 = load i32, i32* %conv_num123, align 4 + %cmp124 = icmp ule i32 %73, 2 + br i1 %cmp124, label %if.then126, label %if.end127 + +if.then126: ; preds = %if.then122 + store i32 6, i32* %prefix_num, align 4 + br label %if.end127 + +if.end127: ; preds = %if.then126, %if.then122 + %74 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num128 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %74, i32 0, i32 4 + %75 = load i32, i32* %conv_num128, align 4 + %cmp129 = icmp eq i32 %75, 3 + br i1 %cmp129, label %if.then131, label %if.end132 + +if.then131: ; preds = %if.end127 + store i32 9, i32* %prefix_num, align 4 + br label %if.end132 + +if.end132: ; preds = %if.then131, %if.end127 + %76 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num133 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %76, i32 0, i32 4 + %77 = load i32, i32* %conv_num133, align 4 + %cmp134 = icmp eq i32 %77, 4 + br i1 %cmp134, label %land.lhs.true, label %if.end149 + +land.lhs.true: ; preds = %if.end132 + %78 = load i32, i32* %numfill, align 4 + %conv136 = sext i32 %78 to i64 + %79 = load i64, i64* %slen, align 8 + %cmp137 = icmp ule i64 %conv136, %79 + br i1 %cmp137, label %if.then139, label %if.end149 + +if.then139: ; preds = %land.lhs.true + %80 = load i8*, i8** %s, align 8 + %81 = load i8, i8* %80, align 1 + %conv140 = sext i8 %81 to i32 + %cmp141 = icmp eq i32 %conv140, 48 + %82 = load i64, i64* %slen, align 8 + %add = add i64 %82, 1 + %cond146 = select i1 %cmp141, i64 1, i64 %add + %conv147 = trunc i64 %cond146 to i32 + store i32 %conv147, i32* %numfill, align 4 + br label %if.end149 + +if.end149: ; preds = %if.end132, %land.lhs.true, %if.then139, %cond.end116 + %83 = load i8*, i8** %s, align 8 + %84 = load i8, i8* %83, align 1 + %conv150 = sext i8 %84 to i32 + %cmp151 = icmp eq i32 %conv150, 48 + br i1 %cmp151, label %if.then153, label %if.end168 + +if.then153: ; preds = %if.end149 + %85 = load i32, i32* %prefix_num, align 4 + %cmp154 = icmp sge i32 %85, 6 + br i1 %cmp154, label %if.then156, label %if.end157 + +if.then156: ; preds = %if.then153 + store i32 11, i32* %prefix_num, align 4 + br label %if.end157 + +if.end157: ; preds = %if.then156, %if.then153 + %86 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num158 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %86, i32 0, i32 4 + %87 = load i32, i32* %conv_num158, align 4 + %cmp159 = icmp eq i32 %87, 1 + br i1 %cmp159, label %if.then161, label %if.else162 + +if.then161: ; preds = %if.end157 + store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.345, i64 0, i64 0), i8** %s, align 8 + store i64 5, i64* %slen, align 8 + store i32 0, i32* %numfill, align 4 + br label %if.end168 + +if.else162: ; preds = %if.end157 + %88 = load i32, i32* %numfill, align 4 + %cmp163 = icmp eq i32 %88, 0 + br i1 %cmp163, label %if.then165, label %if.end168 + +if.then165: ; preds = %if.else162 + store i64 0, i64* %slen, align 8 + br label %if.end168 + +if.end168: ; preds = %if.then161, %if.then165, %if.else162, %if.end149 + %89 = load i32, i32* %numfill, align 4 + %conv169 = sext i32 %89 to i64 + %90 = load i64, i64* %slen, align 8 + %cmp170 = icmp ugt i64 %conv169, %90 + %91 = load i32, i32* %numfill, align 4 + %conv173 = sext i32 %91 to i64 + %92 = load i64, i64* %slen, align 8 + %sub174 = sub i64 %conv173, %92 + %cond177 = select i1 %cmp170, i64 %sub174, i64 0 + %conv178 = trunc i64 %cond177 to i32 + store i32 %conv178, i32* %numfill, align 4 + br label %if.end278 + +if.else179: ; preds = %if.end18 + %93 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num180 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %93, i32 0, i32 4 + %94 = load i32, i32* %conv_num180, align 4 + %cmp181 = icmp ule i32 %94, 15 + br i1 %cmp181, label %if.then183, label %if.else203 + +if.then183: ; preds = %if.else179 + %95 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %arraydecay189 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %96 = load i8*, i8** %arraydecay189, align 8 + %97 = bitcast i8* %96 to double* + %98 = load double, double* %97, align 8 + %99 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info194 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %99, i32 0, i32 1 + %call195 = call i64 @_fpmaxtostr(%struct.__STDIO_FILE_STRUCT.568* %95, double %98, %struct.printf_info.720* %info194, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)* @_fp_out_narrow) #18 + store i64 %call195, i64* %nf, align 8 + %100 = load i64, i64* %nf, align 8 + %cmp196 = icmp slt i64 %100, 0 + br i1 %cmp196, label %if.then198, label %if.end199 + +if.then198: ; preds = %if.then183 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end199: ; preds = %if.then183 + %101 = load i64, i64* %nf, align 8 + %102 = load i32*, i32** %count.addr, align 8 + %103 = load i32, i32* %102, align 4 + %conv200 = sext i32 %103 to i64 + %add201 = add nsw i64 %conv200, %101 + %conv202 = trunc i64 %add201 to i32 + store i32 %conv202, i32* %102, align 4 + store i32 0, i32* %retval, align 4 + br label %return + +if.else203: ; preds = %if.else179 + %104 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num204 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %104, i32 0, i32 4 + %105 = load i32, i32* %conv_num204, align 4 + %cmp205 = icmp ule i32 %105, 17 + br i1 %cmp205, label %if.then207, label %if.else242 + +if.then207: ; preds = %if.else203 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %mbstate, i32 0, i32 0 + store i32 0, i32* %__mask, align 4 + %106 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num208 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %106, i32 0, i32 4 + %107 = load i32, i32* %conv_num208, align 4 + %cmp209 = icmp eq i32 %107, 17 + br i1 %cmp209, label %if.then211, label %if.else232 + +if.then211: ; preds = %if.then207 + %arraydecay212 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %108 = load i8*, i8** %arraydecay212, align 8 + %109 = bitcast i8* %108 to i32** + %110 = load i32*, i32** %109, align 8 + store i32* %110, i32** %ws, align 8 + %tobool213 = icmp ne i32* %110, null + br i1 %tobool213, label %if.end215, label %NULL_STRING + +if.end215: ; preds = %if.then211 + %111 = bitcast i32** %ws to i8* + %112 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info216 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %112, i32 0, i32 1 + %prec217 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info216, i32 0, i32 0 + %113 = load i32, i32* %prec217, align 8 + %cmp218 = icmp sge i32 %113, 0 + br i1 %cmp218, label %cond.true220, label %cond.end225 + +cond.true220: ; preds = %if.end215 + %114 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info221 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %114, i32 0, i32 1 + %prec222 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info221, i32 0, i32 0 + %115 = load i32, i32* %prec222, align 8 + %conv223 = sext i32 %115 to i64 + br label %cond.end225 + +cond.end225: ; preds = %if.end215, %cond.true220 + %cond226 = phi i64 [ %conv223, %cond.true220 ], [ -1, %if.end215 ] + %call227 = call i64 @wcsrtombs(i8* %111, i32** %ws, i64 %cond226, %struct.__mbstate_t.512* %mbstate) #19 + store i64 %call227, i64* %slen, align 8 + %cmp228 = icmp eq i64 %call227, -1 + br i1 %cmp228, label %if.then230, label %if.end278 + +if.then230: ; preds = %cond.end225 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else232: ; preds = %if.then207 + %arraydecay233 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay233, i8** %s, align 8 + %116 = load i8*, i8** %s, align 8 + %arraydecay234 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %117 = load i8*, i8** %arraydecay234, align 8 + %118 = bitcast i8* %117 to i32* + %119 = load i32, i32* %118, align 4 + %call235 = call i64 @wcrtomb(i8* %116, i32 %119, %struct.__mbstate_t.512* %mbstate) #19 + store i64 %call235, i64* %slen, align 8 + %120 = load i64, i64* %slen, align 8 + %cmp236 = icmp eq i64 %120, -1 + br i1 %cmp236, label %if.then238, label %if.end239 + +if.then238: ; preds = %if.else232 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end239: ; preds = %if.else232 + %121 = load i8*, i8** %s, align 8 + %122 = load i64, i64* %slen, align 8 + %arrayidx240 = getelementptr inbounds i8, i8* %121, i64 %122 + store i8 0, i8* %arrayidx240, align 1 + br label %if.end278 + +if.else242: ; preds = %if.else203 + %123 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num243 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %123, i32 0, i32 4 + %124 = load i32, i32* %conv_num243, align 4 + %cmp244 = icmp ule i32 %124, 19 + br i1 %cmp244, label %if.then246, label %if.else274 + +if.then246: ; preds = %if.else242 + %125 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num247 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %125, i32 0, i32 4 + %126 = load i32, i32* %conv_num247, align 4 + %cmp248 = icmp eq i32 %126, 19 + br i1 %cmp248, label %if.then250, label %if.else268 + +if.then250: ; preds = %if.then246 + %arraydecay251 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %127 = load i8*, i8** %arraydecay251, align 8 + %128 = bitcast i8* %127 to i8** + %129 = load i8*, i8** %128, align 8 + store i8* %129, i8** %s, align 8 + %130 = load i8*, i8** %s, align 8 + %tobool252 = icmp ne i8* %130, null + br i1 %tobool252, label %if.then253, label %NULL_STRING + +if.then253: ; preds = %if.then250 + %131 = load i8*, i8** %s, align 8 + %132 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info254 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %132, i32 0, i32 1 + %prec255 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info254, i32 0, i32 0 + %133 = load i32, i32* %prec255, align 8 + %cmp256 = icmp sge i32 %133, 0 + br i1 %cmp256, label %cond.true258, label %cond.end263 + +cond.true258: ; preds = %if.then253 + %134 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info259 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %134, i32 0, i32 1 + %prec260 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info259, i32 0, i32 0 + %135 = load i32, i32* %prec260, align 8 + %conv261 = sext i32 %135 to i64 + br label %cond.end263 + +cond.end263: ; preds = %if.then253, %cond.true258 + %cond264 = phi i64 [ %conv261, %cond.true258 ], [ -1, %if.then253 ] + %call265 = call i64 @strnlen(i8* %131, i64 %cond264) #20 + store i64 %call265, i64* %slen, align 8 + br label %if.end278 + +NULL_STRING: ; preds = %if.then250, %if.then211 + store i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.346, i64 0, i64 0), i8** %s, align 8 + store i64 6, i64* %slen, align 8 + br label %if.end278 + +if.else268: ; preds = %if.then246 + %arraydecay269 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay269, i8** %s, align 8 + %arraydecay270 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %136 = load i8*, i8** %arraydecay270, align 8 + %137 = bitcast i8* %136 to i32* + %138 = load i32, i32* %137, align 4 + %conv271 = trunc i32 %138 to i8 + %139 = load i8*, i8** %s, align 8 + store i8 %conv271, i8* %139, align 1 + %140 = load i8*, i8** %s, align 8 + %arrayidx272 = getelementptr inbounds i8, i8* %140, i64 1 + store i8 0, i8* %arrayidx272, align 1 + store i64 1, i64* %slen, align 8 + br label %if.end278 + +if.else274: ; preds = %if.else242 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end278: ; preds = %cond.end263, %NULL_STRING, %if.else268, %if.end239, %cond.end225, %if.end168 + %141 = load i64, i64* %slen, align 8 + %142 = load i32, i32* %numfill, align 4 + %conv279 = sext i32 %142 to i64 + %add280 = add i64 %141, %conv279 + store i64 %add280, i64* %t, align 8 + %143 = load i32, i32* %prefix_num, align 4 + %cmp281 = icmp ne i32 %143, 11 + br i1 %cmp281, label %if.then283, label %if.end289 + +if.then283: ; preds = %if.end278 + %144 = load i32, i32* %prefix_num, align 4 + %cmp284 = icmp slt i32 %144, 6 + %145 = zext i1 %cmp284 to i64 + %cond286 = select i1 %cmp284, i32 1, i32 2 + %conv287 = sext i32 %cond286 to i64 + %146 = load i64, i64* %t, align 8 + %add288 = add i64 %146, %conv287 + store i64 %add288, i64* %t, align 8 + br label %if.end289 + +if.end289: ; preds = %if.then283, %if.end278 + %147 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info290 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %147, i32 0, i32 1 + %width = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info290, i32 0, i32 1 + %148 = load i32, i32* %width, align 4 + %conv291 = sext i32 %148 to i64 + %149 = load i64, i64* %t, align 8 + %cmp292 = icmp ugt i64 %conv291, %149 + br i1 %cmp292, label %cond.true294, label %cond.end300 + +cond.true294: ; preds = %if.end289 + %150 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info295 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %150, i32 0, i32 1 + %width296 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info295, i32 0, i32 1 + %151 = load i32, i32* %width296, align 4 + %conv297 = sext i32 %151 to i64 + %152 = load i64, i64* %t, align 8 + %sub298 = sub i64 %conv297, %152 + br label %cond.end300 + +cond.end300: ; preds = %if.end289, %cond.true294 + %cond301 = phi i64 [ %sub298, %cond.true294 ], [ 0, %if.end289 ] + %conv302 = trunc i64 %cond301 to i32 + store i32 %conv302, i32* %numpad, align 4 + %153 = load i64, i64* %t, align 8 + %154 = load i32, i32* %numpad, align 4 + %conv303 = sext i32 %154 to i64 + %add304 = add i64 %153, %conv303 + %155 = load i32*, i32** %count.addr, align 8 + %156 = load i32, i32* %155, align 4 + %conv305 = sext i32 %156 to i64 + %add306 = add i64 %conv305, %add304 + %conv307 = trunc i64 %add306 to i32 + store i32 %conv307, i32* %155, align 4 + %157 = load i8, i8* %padchar, align 1 + %conv308 = sext i8 %157 to i32 + %cmp309 = icmp eq i32 %conv308, 48 + br i1 %cmp309, label %if.then311, label %if.end313 + +if.then311: ; preds = %cond.end300 + %158 = load i32, i32* %numpad, align 4 + %159 = load i32, i32* %numfill, align 4 + %add312 = add nsw i32 %159, %158 + store i32 %add312, i32* %numfill, align 4 + store i32 0, i32* %numpad, align 4 + br label %if.end313 + +if.end313: ; preds = %if.then311, %cond.end300 + %160 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info314 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %160, i32 0, i32 1 + %_flags315 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info314, i32 0, i32 3 + %161 = load i32, i32* %_flags315, align 4 + %and316 = and i32 %161, 8 + %tobool317 = icmp ne i32 %and316, 0 + br i1 %tobool317, label %if.end326, label %if.then318 + +if.then318: ; preds = %if.end313 + %162 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %163 = load i32, i32* %numpad, align 4 + %conv319 = sext i32 %163 to i64 + %call320 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %162, i32 32, i64 %conv319) #18 + %164 = load i32, i32* %numpad, align 4 + %conv321 = sext i32 %164 to i64 + %cmp322 = icmp ne i64 %call320, %conv321 + br i1 %cmp322, label %if.then324, label %if.end325 + +if.then324: ; preds = %if.then318 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end325: ; preds = %if.then318 + store i32 0, i32* %numpad, align 4 + br label %if.end326 + +if.end326: ; preds = %if.end325, %if.end313 + %165 = load i32, i32* %prefix_num, align 4 + %idx.ext327 = sext i32 %165 to i64 + %add.ptr328 = getelementptr inbounds i8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @_do_one_spec.prefix, i64 0, i64 0), i64 %idx.ext327 + %166 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call329 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct.__STDIO_FILE_STRUCT.568*)*)(i8* %add.ptr328, %struct.__STDIO_FILE_STRUCT.568* %166) #18 + %167 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %168 = load i32, i32* %numfill, align 4 + %conv330 = sext i32 %168 to i64 + %call331 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %167, i32 48, i64 %conv330) #18 + %169 = load i32, i32* %numfill, align 4 + %conv332 = sext i32 %169 to i64 + %cmp333 = icmp ne i64 %call331, %conv332 + br i1 %cmp333, label %if.then335, label %if.end336 + +if.then335: ; preds = %if.end326 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end336: ; preds = %if.end326 + %170 = load i32*, i32** %ws, align 8 + %tobool337 = icmp ne i32* %170, null + br i1 %tobool337, label %if.else350, label %if.then338 + +if.then338: ; preds = %if.end336 + %171 = load i64, i64* %slen, align 8 + %cmp339 = icmp ugt i64 %171, 0 + br i1 %cmp339, label %cond.true341, label %cond.end344 + +cond.true341: ; preds = %if.then338 + %172 = load i8*, i8** %s, align 8 + %173 = load i64, i64* %slen, align 8 + %174 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call342 = call i64 @__stdio_fwrite(i8* %172, i64 %173, %struct.__STDIO_FILE_STRUCT.568* %174) #18 + br label %cond.end344 + +cond.end344: ; preds = %if.then338, %cond.true341 + %cond345 = phi i64 [ %call342, %cond.true341 ], [ 0, %if.then338 ] + %175 = load i64, i64* %slen, align 8 + %cmp346 = icmp ne i64 %cond345, %175 + br i1 %cmp346, label %if.then348, label %if.end375 + +if.then348: ; preds = %cond.end344 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else350: ; preds = %if.end336 + %__mask352 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %mbstate, i32 0, i32 0 + store i32 0, i32* %__mask352, align 4 + br label %while.cond + +while.cond: ; preds = %if.end373, %if.else350 + %176 = load i64, i64* %slen, align 8 + %tobool353 = icmp ne i64 %176, 0 + br i1 %tobool353, label %while.body, label %if.end375 + +while.body: ; preds = %while.cond + %177 = load i64, i64* %slen, align 8 + %cmp354 = icmp ule i64 %177, 128 + %178 = load i64, i64* %slen, align 8 + %cond359 = select i1 %cmp354, i64 %178, i64 128 + store i64 %cond359, i64* %t351, align 8 + %arraydecay360 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %179 = load i64, i64* %t351, align 8 + %call361 = call i64 @wcsrtombs(i8* %arraydecay360, i32** %ws, i64 %179, %struct.__mbstate_t.512* %mbstate) #19 + store i64 %call361, i64* %t351, align 8 + %180 = load i64, i64* %t351, align 8 + %cmp362 = icmp ugt i64 %180, 0 + br i1 %cmp362, label %cond.true364, label %cond.end368 + +cond.true364: ; preds = %while.body + %arraydecay365 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %181 = load i64, i64* %t351, align 8 + %182 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call366 = call i64 @__stdio_fwrite(i8* %arraydecay365, i64 %181, %struct.__STDIO_FILE_STRUCT.568* %182) #18 + br label %cond.end368 + +cond.end368: ; preds = %while.body, %cond.true364 + %cond369 = phi i64 [ %call366, %cond.true364 ], [ 0, %while.body ] + %183 = load i64, i64* %t351, align 8 + %cmp370 = icmp ne i64 %cond369, %183 + br i1 %cmp370, label %if.then372, label %if.end373 + +if.then372: ; preds = %cond.end368 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end373: ; preds = %cond.end368 + %184 = load i64, i64* %t351, align 8 + %185 = load i64, i64* %slen, align 8 + %sub374 = sub i64 %185, %184 + store i64 %sub374, i64* %slen, align 8 + br label %while.cond + +if.end375: ; preds = %while.cond, %cond.end344 + %186 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %187 = load i32, i32* %numpad, align 4 + %conv376 = sext i32 %187 to i64 + %call377 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %186, i32 32, i64 %conv376) #18 + %188 = load i32, i32* %numpad, align 4 + %conv378 = sext i32 %188 to i64 + %cmp379 = icmp ne i64 %call377, %conv378 + br i1 %cmp379, label %if.then381, label %if.end382 + +if.then381: ; preds = %if.end375 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end382: ; preds = %if.end375 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end382, %if.then381, %if.then372, %if.then348, %if.then335, %if.then324, %if.else274, %if.then238, %if.then230, %if.end199, %if.then198, %if.then15 + %189 = load i32, i32* %retval, align 4 + ret i32 %189 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @_fp_out_narrow(%struct.__STDIO_FILE_STRUCT.568* %fp, i64 %type, i64 %len, i64 %buf) #0 { +entry: + %retval = alloca i64, align 8 + %fp.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %type.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %buf.addr = alloca i64, align 8 + %r = alloca i64, align 8 + %buflen = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %fp, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + store i64 %type, i64* %type.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store i64 %buf, i64* %buf.addr, align 8 + store i64 0, i64* %r, align 8 + %0 = load i64, i64* %type.addr, align 8 + %and = and i64 %0, 128 + %tobool = icmp ne i64 %and, 0 + br i1 %tobool, label %if.then, label %if.end12 + +if.then: ; preds = %entry + %1 = load i64, i64* %buf.addr, align 8 + %2 = inttoptr i64 %1 to i8* + %call = call i64 @strlen(i8* %2) #20 + %conv = trunc i64 %call to i32 + store i32 %conv, i32* %buflen, align 4 + %3 = load i32, i32* %buflen, align 4 + %conv1 = sext i32 %3 to i64 + %4 = load i64, i64* %len.addr, align 8 + %sub = sub nsw i64 %4, %conv1 + store i64 %sub, i64* %len.addr, align 8 + %cmp = icmp sgt i64 %sub, 0 + br i1 %cmp, label %if.then3, label %if.end10 + +if.then3: ; preds = %if.then + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + %6 = load i64, i64* %type.addr, align 8 + %and4 = and i64 %6, 127 + %conv5 = trunc i64 %and4 to i32 + %7 = load i64, i64* %len.addr, align 8 + %call6 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %5, i32 %conv5, i64 %7) #18 + store i64 %call6, i64* %r, align 8 + %8 = load i64, i64* %len.addr, align 8 + %cmp7 = icmp ne i64 %call6, %8 + br i1 %cmp7, label %if.then9, label %if.end10 + +if.then9: ; preds = %if.then3 + %9 = load i64, i64* %r, align 8 + store i64 %9, i64* %retval, align 8 + br label %return + +if.end10: ; preds = %if.then3, %if.then + %10 = load i32, i32* %buflen, align 4 + %conv11 = sext i32 %10 to i64 + store i64 %conv11, i64* %len.addr, align 8 + br label %if.end12 + +if.end12: ; preds = %if.end10, %entry + %11 = load i64, i64* %r, align 8 + %12 = load i64, i64* %len.addr, align 8 + %cmp13 = icmp sgt i64 %12, 0 + br i1 %cmp13, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end12 + %13 = load i64, i64* %buf.addr, align 8 + %14 = inttoptr i64 %13 to i8* + %15 = load i64, i64* %len.addr, align 8 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + %call15 = call i64 @__stdio_fwrite(i8* %14, i64 %15, %struct.__STDIO_FILE_STRUCT.568* %16) #18 + br label %cond.end + +cond.end: ; preds = %if.end12, %cond.true + %cond = phi i64 [ %call15, %cond.true ], [ 0, %if.end12 ] + %add = add i64 %11, %cond + store i64 %add, i64* %retval, align 8 + br label %return + +return: ; preds = %cond.end, %if.then9 + %17 = load i64, i64* %retval, align 8 + ret i64 %17 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %padchar, i64 %numpad) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %padchar.addr = alloca i32, align 4 + %numpad.addr = alloca i64, align 8 + %todo = alloca i64, align 8 + %pad = alloca [1 x i8], align 1 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %padchar, i32* %padchar.addr, align 4 + store i64 %numpad, i64* %numpad.addr, align 8 + %0 = load i64, i64* %numpad.addr, align 8 + store i64 %0, i64* %todo, align 8 + %1 = load i32, i32* %padchar.addr, align 4 + %conv = trunc i32 %1 to i8 + %arraydecay = getelementptr inbounds [1 x i8], [1 x i8]* %pad, i64 0, i64 0 + store i8 %conv, i8* %arraydecay, align 1 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %2 = load i64, i64* %todo, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %arraydecay1 = getelementptr inbounds [1 x i8], [1 x i8]* %pad, i64 0, i64 0 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i64 @__stdio_fwrite(i8* %arraydecay1, i64 1, %struct.__STDIO_FILE_STRUCT.568* %3) #18 + %cmp = icmp eq i64 %call, 1 + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %land.rhs + %4 = load i64, i64* %todo, align 8 + %dec = add i64 %4, -1 + store i64 %dec, i64* %todo, align 8 + br label %while.cond + +while.end: ; preds = %while.cond, %land.rhs + %5 = load i64, i64* %numpad.addr, align 8 + %6 = load i64, i64* %todo, align 8 + %sub = sub i64 %5, %6 + ret i64 %sub +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__cxa_atexit(void (i8*)* %func, i8* %arg, i8* %dso_handle) #0 { +entry: + %retval = alloca i32, align 4 + %func.addr = alloca void (i8*)*, align 8 + %arg.addr = alloca i8*, align 8 + %dso_handle.addr = alloca i8*, align 8 + %efp = alloca %struct.exit_function*, align 8 + store void (i8*)* %func, void (i8*)** %func.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i8* %dso_handle, i8** %dso_handle.addr, align 8 + %0 = load void (i8*)*, void (i8*)** %func.addr, align 8 + %cmp = icmp eq void (i8*)* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %call = call %struct.exit_function* @__new_exitfn() #18 + store %struct.exit_function* %call, %struct.exit_function** %efp, align 8 + %1 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %cmp1 = icmp eq %struct.exit_function* %1, null + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + store i32 -1, i32* %retval, align 4 + br label %return + +if.end3: ; preds = %if.end + %2 = load void (i8*)*, void (i8*)** %func.addr, align 8 + %3 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs = getelementptr inbounds %struct.exit_function, %struct.exit_function* %3, i32 0, i32 1 + %cxa_atexit = bitcast %union.anon.772* %funcs to %struct.anon.0.771* + %func4 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit, i32 0, i32 0 + store void (i8*)* %2, void (i8*)** %func4, align 8 + %4 = load i8*, i8** %arg.addr, align 8 + %5 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs5 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %5, i32 0, i32 1 + %cxa_atexit6 = bitcast %union.anon.772* %funcs5 to %struct.anon.0.771* + %arg7 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit6, i32 0, i32 1 + store i8* %4, i8** %arg7, align 8 + %6 = load i8*, i8** %dso_handle.addr, align 8 + %7 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs8 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %7, i32 0, i32 1 + %cxa_atexit9 = bitcast %union.anon.772* %funcs8 to %struct.anon.0.771* + %dso_handle10 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit9, i32 0, i32 2 + store i8* %6, i8** %dso_handle10, align 8 + %8 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %type = getelementptr inbounds %struct.exit_function, %struct.exit_function* %8, i32 0, i32 0 + store i64 3, i64* %type, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end3, %if.then2, %if.then + %9 = load i32, i32* %retval, align 4 + ret i32 %9 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_stdlib_strto_l(i8* noalias %str, i8** noalias %endptr, i32 %base, i32 %sflag) #0 { +entry: + %str.addr = alloca i8*, align 8 + %endptr.addr = alloca i8**, align 8 + %base.addr = alloca i32, align 4 + %sflag.addr = alloca i32, align 4 + store i8* %str, i8** %str.addr, align 8 + store i8** %endptr, i8*** %endptr.addr, align 8 + store i32 %base, i32* %base.addr, align 4 + store i32 %sflag, i32* %sflag.addr, align 4 + %0 = load i8*, i8** %str.addr, align 8 + %1 = load i8**, i8*** %endptr.addr, align 8 + %2 = load i32, i32* %base.addr, align 4 + %3 = load i32, i32* %sflag.addr, align 4 + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %call = call i64 @_stdlib_strto_l_l(i8* %0, i8** %1, i32 %2, i32 %3, %struct.__uclibc_locale_struct.201* %4) #18 + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define i8* @getenv(i8* nonnull %var) #0 { +entry: + %retval = alloca i8*, align 8 + %var.addr = alloca i8*, align 8 + %len = alloca i32, align 4 + %ep = alloca i8**, align 8 + store i8* %var, i8** %var.addr, align 8 + %0 = load i8**, i8*** @__environ, align 8 + store i8** %0, i8*** %ep, align 8 + %tobool = icmp ne i8** %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %var.addr, align 8 + %call = call i64 @strlen(i8* %1) #20 + %conv = trunc i64 %call to i32 + store i32 %conv, i32* %len, align 4 + br label %while.cond + +while.cond: ; preds = %if.end10, %if.end + %2 = load i8**, i8*** %ep, align 8 + %3 = load i8*, i8** %2, align 8 + %tobool1 = icmp ne i8* %3, null + br i1 %tobool1, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i8*, i8** %var.addr, align 8 + %5 = load i8**, i8*** %ep, align 8 + %6 = load i8*, i8** %5, align 8 + %7 = load i32, i32* %len, align 4 + %conv2 = sext i32 %7 to i64 + %call3 = call i32 @memcmp(i8* %4, i8* %6, i64 %conv2) #20 + %cmp = icmp eq i32 %call3, 0 + br i1 %cmp, label %land.lhs.true, label %if.end10 + +land.lhs.true: ; preds = %while.body + %8 = load i8**, i8*** %ep, align 8 + %9 = load i8*, i8** %8, align 8 + %10 = load i32, i32* %len, align 4 + %idxprom = sext i32 %10 to i64 + %arrayidx = getelementptr inbounds i8, i8* %9, i64 %idxprom + %11 = load i8, i8* %arrayidx, align 1 + %conv5 = sext i8 %11 to i32 + %cmp6 = icmp eq i32 %conv5, 61 + br i1 %cmp6, label %if.then8, label %if.end10 + +if.then8: ; preds = %land.lhs.true + %12 = load i8**, i8*** %ep, align 8 + %13 = load i8*, i8** %12, align 8 + %14 = load i32, i32* %len, align 4 + %idx.ext = sext i32 %14 to i64 + %add.ptr = getelementptr inbounds i8, i8* %13, i64 %idx.ext + %add.ptr9 = getelementptr inbounds i8, i8* %add.ptr, i64 1 + store i8* %add.ptr9, i8** %retval, align 8 + br label %return + +if.end10: ; preds = %land.lhs.true, %while.body + %15 = load i8**, i8*** %ep, align 8 + %incdec.ptr = getelementptr inbounds i8*, i8** %15, i32 1 + store i8** %incdec.ptr, i8*** %ep, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then8, %if.then + %16 = load i8*, i8** %retval, align 8 + ret i8* %16 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @memmove(i8* nonnull %s1, i8* nonnull %s2, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %p, align 8 + %2 = load i8*, i8** %p, align 8 + %3 = load i8*, i8** %s, align 8 + %cmp = icmp uge i8* %2, %3 + br i1 %cmp, label %while.cond, label %while.cond2 + +while.cond: ; preds = %entry, %while.body + %4 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %4, 0 + br i1 %tobool, label %while.body, label %if.end + +while.body: ; preds = %while.cond + %5 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %6 = load i8, i8* %5, align 1 + %7 = load i8*, i8** %s, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %7, i32 1 + store i8* %incdec.ptr1, i8** %s, align 8 + store i8 %6, i8* %7, align 1 + %8 = load i64, i64* %n.addr, align 8 + %dec = add i64 %8, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.cond2: ; preds = %entry, %while.body4 + %9 = load i64, i64* %n.addr, align 8 + %tobool3 = icmp ne i64 %9, 0 + br i1 %tobool3, label %while.body4, label %if.end + +while.body4: ; preds = %while.cond2 + %10 = load i64, i64* %n.addr, align 8 + %dec5 = add i64 %10, -1 + store i64 %dec5, i64* %n.addr, align 8 + %11 = load i8*, i8** %p, align 8 + %12 = load i64, i64* %n.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %11, i64 %12 + %13 = load i8, i8* %arrayidx, align 1 + %14 = load i8*, i8** %s, align 8 + %15 = load i64, i64* %n.addr, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %14, i64 %15 + store i8 %13, i8* %arrayidx6, align 1 + br label %while.cond2 + +if.end: ; preds = %while.cond2, %while.cond + %16 = load i8*, i8** %s1.addr, align 8 + ret i8* %16 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @mempcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r1 = alloca i8*, align 8 + %r2 = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %r1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %r2, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %2 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load i8*, i8** %r2, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %r2, align 8 + %4 = load i8, i8* %3, align 1 + %5 = load i8*, i8** %r1, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr1, i8** %r1, align 8 + store i8 %4, i8* %5, align 1 + %6 = load i64, i64* %n.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %7 = load i8*, i8** %r1, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @stpcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + br label %while.cond + +while.cond: ; preds = %while.cond, %entry + %0 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %0, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %1 = load i8, i8* %0, align 1 + %2 = load i8*, i8** %s1.addr, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %2, i32 1 + store i8* %incdec.ptr1, i8** %s1.addr, align 8 + store i8 %1, i8* %2, align 1 + %conv = sext i8 %1 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %while.cond, label %while.end + +while.end: ; preds = %while.cond + %3 = load i8*, i8** %s1.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %3, i64 -1 + ret i8* %add.ptr +} + +; Function Attrs: noinline nounwind uwtable +define i8* @strcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + br label %while.cond + +while.cond: ; preds = %while.cond, %entry + %1 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %1, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %2 = load i8, i8* %1, align 1 + %3 = load i8*, i8** %s, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr1, i8** %s, align 8 + store i8 %2, i8* %3, align 1 + %conv = sext i8 %2 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %while.cond, label %while.end + +while.end: ; preds = %while.cond + %4 = load i8*, i8** %s1.addr, align 8 + ret i8* %4 +} + +; Function Attrs: noinline nounwind uwtable +define noalias i8* @strdup(i8* nonnull %s1) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + %l = alloca i64, align 8 + store i8* %s1, i8** %s1.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + %call = call i64 @strlen(i8* %0) #20 + %add = add i64 %call, 1 + %mul = mul i64 %add, 1 + store i64 %mul, i64* %l, align 8 + %1 = load i64, i64* %l, align 8 + %call1 = call noalias i8* @malloc(i64 %1) #19 + store i8* %call1, i8** %s, align 8 + %cmp = icmp ne i8* %call1, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load i8*, i8** %s, align 8 + %3 = load i8*, i8** %s1.addr, align 8 + %4 = load i64, i64* %l, align 8 + %call2 = call i8* @memcpy(i8* %2, i8* %3, i64 %4) #19 + br label %if.end + +if.end: ; preds = %if.then, %entry + %5 = load i8*, i8** %s, align 8 + ret i8* %5 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @strerror(i32 %errnum) #0 { +entry: + %errnum.addr = alloca i32, align 4 + store i32 %errnum, i32* %errnum.addr, align 4 + %0 = load i32, i32* %errnum.addr, align 4 + %call = call i32 @__xpg_strerror_r(i32 %0, i8* getelementptr inbounds ([50 x i8], [50 x i8]* @strerror.buf, i64 0, i64 0), i64 50) #18 + ret i8* getelementptr inbounds ([50 x i8], [50 x i8]* @strerror.buf, i64 0, i64 0) +} + +; Function Attrs: noinline nounwind uwtable +define i64 @wcrtomb(i8* noalias %s, i32 %wc, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %s.addr = alloca i8*, align 8 + %wc.addr = alloca i32, align 4 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %wcbuf = alloca [1 x i32], align 4 + %pwc = alloca i32*, align 8 + %r = alloca i64, align 8 + %buf = alloca [16 x i8], align 16 + store i8* %s, i8** %s.addr, align 8 + store i32 %wc, i32* %wc.addr, align 4 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay, i8** %s.addr, align 8 + store i32 0, i32* %wc.addr, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %arraydecay1 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay1, i32** %pwc, align 8 + %1 = load i32, i32* %wc.addr, align 4 + %arrayidx = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32 %1, i32* %arrayidx, align 4 + %2 = load i8*, i8** %s.addr, align 8 + %3 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @wcsnrtombs(i8* %2, i32** %pwc, i64 1, i64 16, %struct.__mbstate_t.512* %3) #19 + store i64 %call, i64* %r, align 8 + %4 = load i64, i64* %r, align 8 + %cmp = icmp ne i64 %4, 0 + %5 = load i64, i64* %r, align 8 + %cond = select i1 %cmp, i64 %5, i64 1 + ret i64 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i64 @wcsrtombs(i8* noalias %dst, i32** noalias %src, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %dst.addr = alloca i8*, align 8 + %src.addr = alloca i32**, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + store i8* %dst, i8** %dst.addr, align 8 + store i32** %src, i32*** %src.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load i8*, i8** %dst.addr, align 8 + %1 = load i32**, i32*** %src.addr, align 8 + %2 = load i64, i64* %len.addr, align 8 + %3 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @wcsnrtombs(i8* %0, i32** %1, i64 -1, i64 %2, %struct.__mbstate_t.512* %3) #19 + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @iswctype_l(i32 %wc, i32 %desc, %struct.__uclibc_locale_struct.201* %locale) #0 { +entry: + %retval = alloca i32, align 4 + %wc.addr = alloca i32, align 4 + %desc.addr = alloca i32, align 4 + %locale.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %sc = alloca i32, align 4 + %n = alloca i32, align 4 + %i0 = alloca i32, align 4 + %i1 = alloca i32, align 4 + %d = alloca i8, align 1 + store i32 %wc, i32* %wc.addr, align 4 + store i32 %desc, i32* %desc.addr, align 4 + store %struct.__uclibc_locale_struct.201* %locale, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + store i8 0, i8* %d, align 1 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 9 + %1 = load i8, i8* %encoding, align 8 + %conv = zext i8 %1 to i32 + %cmp = icmp ne i32 %conv, 0 + %2 = load i32, i32* %wc.addr, align 4 + %cmp2 = icmp ule i32 %2, 127 + %or.cond = or i1 %cmp, %cmp2 + br i1 %or.cond, label %if.then, label %if.end78 + +if.then: ; preds = %entry + %3 = load i32, i32* %desc.addr, align 4 + %cmp4 = icmp ult i32 %3, 12 + br i1 %cmp4, label %if.then6, label %if.end58 + +if.then6: ; preds = %if.then + %4 = load i32, i32* %wc.addr, align 4 + %cmp7 = icmp ule i32 %4, 196607 + %5 = load i32, i32* %wc.addr, align 4 + br i1 %cmp7, label %if.then9, label %if.else + +if.then9: ; preds = %if.then6 + %and = and i32 %5, 7 + store i32 %and, i32* %sc, align 4 + %6 = load i32, i32* %wc.addr, align 4 + %shr = lshr i32 %6, 3 + store i32 %shr, i32* %wc.addr, align 4 + %7 = load i32, i32* %wc.addr, align 4 + %and10 = and i32 %7, 31 + store i32 %and10, i32* %n, align 4 + %8 = load i32, i32* %wc.addr, align 4 + %shr11 = lshr i32 %8, 5 + store i32 %shr11, i32* %wc.addr, align 4 + %9 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %tblwctype = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %9, i32 0, i32 21 + %10 = load i8*, i8** %tblwctype, align 8 + %11 = load i32, i32* %wc.addr, align 4 + %idxprom = zext i32 %11 to i64 + %arrayidx = getelementptr inbounds i8, i8* %10, i64 %idxprom + %12 = load i8, i8* %arrayidx, align 1 + %conv12 = zext i8 %12 to i32 + store i32 %conv12, i32* %i0, align 4 + %13 = load i32, i32* %i0, align 4 + %shl = shl i32 %13, 5 + store i32 %shl, i32* %i0, align 4 + %14 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %tblwctype13 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %14, i32 0, i32 21 + %15 = load i8*, i8** %tblwctype13, align 8 + %16 = load i32, i32* %i0, align 4 + %add = add i32 768, %16 + %17 = load i32, i32* %n, align 4 + %add14 = add i32 %add, %17 + %idxprom15 = zext i32 %add14 to i64 + %arrayidx16 = getelementptr inbounds i8, i8* %15, i64 %idxprom15 + %18 = load i8, i8* %arrayidx16, align 1 + %conv17 = zext i8 %18 to i32 + store i32 %conv17, i32* %i1, align 4 + %19 = load i32, i32* %i1, align 4 + %shl18 = shl i32 %19, 2 + store i32 %shl18, i32* %i1, align 4 + %20 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %tblwctype19 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %20, i32 0, i32 21 + %21 = load i8*, i8** %tblwctype19, align 8 + %22 = load i32, i32* %i1, align 4 + %add20 = add i32 2656, %22 + %23 = load i32, i32* %sc, align 4 + %shr21 = lshr i32 %23, 1 + %add22 = add i32 %add20, %shr21 + %idxprom23 = zext i32 %add22 to i64 + %arrayidx24 = getelementptr inbounds i8, i8* %21, i64 %idxprom23 + %24 = load i8, i8* %arrayidx24, align 1 + store i8 %24, i8* %d, align 1 + %25 = load i32, i32* %sc, align 4 + %and25 = and i32 %25, 1 + %tobool = icmp ne i32 %and25, 0 + %26 = load i8, i8* %d, align 1 + %conv26 = zext i8 %26 to i32 + %shr27 = ashr i32 %conv26, 4 + %and29 = and i32 %conv26, 15 + %cond = select i1 %tobool, i32 %shr27, i32 %and29 + %conv30 = trunc i32 %cond to i8 + store i8 %conv30, i8* %d, align 1 + br label %if.end50 + +if.else: ; preds = %if.then6 + %conv31 = zext i32 %5 to i64 + %sub = sub i64 %conv31, 917536 + %conv32 = trunc i64 %sub to i32 + %cmp33 = icmp ule i32 %conv32, 95 + br i1 %cmp33, label %if.then49, label %lor.lhs.false35 + +lor.lhs.false35: ; preds = %if.else + %27 = load i32, i32* %wc.addr, align 4 + %conv36 = zext i32 %27 to i64 + %cmp37 = icmp eq i64 %conv36, 917505 + br i1 %cmp37, label %if.then49, label %lor.lhs.false39 + +lor.lhs.false39: ; preds = %lor.lhs.false35 + %28 = load i32, i32* %wc.addr, align 4 + %conv40 = zext i32 %28 to i64 + %sub41 = sub i64 %conv40, 983040 + %conv42 = trunc i64 %sub41 to i32 + %conv43 = zext i32 %conv42 to i64 + %cmp44 = icmp ult i64 %conv43, 131072 + br i1 %cmp44, label %land.lhs.true, label %if.end50 + +land.lhs.true: ; preds = %lor.lhs.false39 + %29 = load i32, i32* %wc.addr, align 4 + %and46 = and i32 %29, 65535 + %cmp47 = icmp ule i32 %and46, 65533 + br i1 %cmp47, label %if.then49, label %if.end50 + +if.then49: ; preds = %land.lhs.true, %lor.lhs.false35, %if.else + store i8 6, i8* %d, align 1 + br label %if.end50 + +if.end50: ; preds = %lor.lhs.false39, %land.lhs.true, %if.then49, %if.then9 + %30 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %code2flag = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %30, i32 0, i32 20 + %31 = load i16*, i16** %code2flag, align 8 + %32 = load i8, i8* %d, align 1 + %idxprom51 = zext i8 %32 to i64 + %arrayidx52 = getelementptr inbounds i16, i16* %31, i64 %idxprom51 + %33 = load i16, i16* %arrayidx52, align 2 + %conv53 = zext i16 %33 to i32 + %34 = load i32, i32* %desc.addr, align 4 + %idxprom54 = zext i32 %34 to i64 + %arrayidx55 = getelementptr inbounds [13 x i16], [13 x i16]* @desc2flag, i64 0, i64 %idxprom54 + %35 = load i16, i16* %arrayidx55, align 2 + %conv56 = zext i16 %35 to i32 + %and57 = and i32 %conv53, %conv56 + store i32 %and57, i32* %retval, align 4 + br label %return + +if.end58: ; preds = %if.then + %36 = load i32, i32* %desc.addr, align 4 + %cmp59 = icmp eq i32 %36, 12 + br i1 %cmp59, label %cond.false68, label %cond.end76 + +cond.false68: ; preds = %if.end58 + %37 = load i32, i32* %wc.addr, align 4 + %sub69 = sub i32 %37, 48 + %cmp70 = icmp ult i32 %sub69, 10 + %38 = load i32, i32* %wc.addr, align 4 + %or = or i32 %38, 32 + %sub72 = sub i32 %or, 97 + %cmp73 = icmp ult i32 %sub72, 6 + %39 = select i1 %cmp70, i1 true, i1 %cmp73 + %lor.ext = zext i1 %39 to i32 + br label %cond.end76 + +cond.end76: ; preds = %if.end58, %cond.false68 + %cond77 = phi i32 [ %lor.ext, %cond.false68 ], [ 0, %if.end58 ] + store i32 %cond77, i32* %retval, align 4 + br label %return + +if.end78: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end78, %cond.end76, %if.end50 + %40 = load i32, i32* %retval, align 4 + ret i32 %40 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_adjust_position(%struct.__STDIO_FILE_STRUCT.636* noalias %stream, i64* %pos) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %pos.addr = alloca i64*, align 8 + %oldpos = alloca i64, align 8 + %corr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64* %pos, i64** %pos.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 3 + store i32 %and, i32* %corr, align 4 + %cmp = icmp ne i32 %and, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load i32, i32* %corr, align 4 + %dec = add nsw i32 %2, -1 + store i32 %dec, i32* %corr, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %3 = load i32, i32* %corr, align 4 + %tobool = icmp ne i32 %3, 0 + br i1 %tobool, label %land.lhs.true, label %if.end22 + +land.lhs.true: ; preds = %if.end + %4 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %4, i32 0, i32 0 + %5 = load i16, i16* %__modeflags2, align 8 + %conv3 = zext i16 %5 to i32 + %and4 = and i32 %conv3, 2048 + %tobool5 = icmp ne i32 %and4, 0 + br i1 %tobool5, label %if.then6, label %if.end22 + +if.then6: ; preds = %land.lhs.true + %6 = load i32, i32* %corr, align 4 + %cmp7 = icmp sgt i32 %6, 1 + br i1 %cmp7, label %if.then10, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then6 + %7 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %7, i32 0, i32 10 + %arrayidx = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot, i64 0, i64 1 + %8 = load i32, i32* %arrayidx, align 4 + %tobool9 = icmp ne i32 %8, 0 + br i1 %tobool9, label %if.then10, label %if.end11 + +if.then10: ; preds = %lor.lhs.false, %if.then6 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end11: ; preds = %lor.lhs.false + %9 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %9, i32 0, i32 1 + %arrayidx12 = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 1 + %10 = load i8, i8* %arrayidx12, align 1 + %conv13 = zext i8 %10 to i32 + %add = add nsw i32 1, %conv13 + %11 = load i32, i32* %corr, align 4 + %sub = sub nsw i32 %11, %add + store i32 %sub, i32* %corr, align 4 + %12 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %12, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + %13 = load i32, i32* %__mask, align 8 + %cmp14 = icmp sgt i32 %13, 0 + br i1 %cmp14, label %if.then16, label %if.end22 + +if.then16: ; preds = %if.end11 + %14 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot_width17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %14, i32 0, i32 1 + %arrayidx18 = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width17, i64 0, i64 0 + %15 = load i8, i8* %arrayidx18, align 2 + %conv19 = zext i8 %15 to i32 + %16 = load i32, i32* %corr, align 4 + %sub20 = sub nsw i32 %16, %conv19 + store i32 %sub20, i32* %corr, align 4 + br label %if.end22 + +if.end22: ; preds = %if.end11, %if.then16, %land.lhs.true, %if.end + %17 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags23 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %17, i32 0, i32 0 + %18 = load i16, i16* %__modeflags23, align 8 + %conv24 = zext i16 %18 to i32 + %and25 = and i32 %conv24, 64 + %tobool26 = icmp ne i32 %and25, 0 + %19 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + br i1 %tobool26, label %cond.true, label %cond.false + +cond.true: ; preds = %if.end22 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %19, i32 0, i32 3 + %20 = load i8*, i8** %__bufstart, align 8 + br label %cond.end + +cond.false: ; preds = %if.end22 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %19, i32 0, i32 6 + %21 = load i8*, i8** %__bufread, align 8 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i8* [ %20, %cond.true ], [ %21, %cond.false ] + %22 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %22, i32 0, i32 5 + %23 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %cond to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %23 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %24 = load i32, i32* %corr, align 4 + %conv27 = sext i32 %24 to i64 + %add28 = add nsw i64 %conv27, %sub.ptr.sub + %conv29 = trunc i64 %add28 to i32 + store i32 %conv29, i32* %corr, align 4 + %25 = load i64*, i64** %pos.addr, align 8 + %26 = load i64, i64* %25, align 8 + store i64 %26, i64* %oldpos, align 8 + %27 = load i32, i32* %corr, align 4 + %conv30 = sext i32 %27 to i64 + %28 = load i64*, i64** %pos.addr, align 8 + %29 = load i64, i64* %28, align 8 + %sub31 = sub nsw i64 %29, %conv30 + store i64 %sub31, i64* %28, align 8 + %30 = load i64, i64* %oldpos, align 8 + %cmp32 = icmp sgt i64 %sub31, %30 + br i1 %cmp32, label %if.then34, label %if.end36 + +if.then34: ; preds = %cond.end + %31 = load i32, i32* %corr, align 4 + %sub35 = sub nsw i32 0, %31 + store i32 %sub35, i32* %corr, align 4 + br label %if.end36 + +if.end36: ; preds = %if.then34, %cond.end + %32 = load i32, i32* %corr, align 4 + %cmp37 = icmp slt i32 %32, 0 + br i1 %cmp37, label %if.then39, label %if.end40 + +if.then39: ; preds = %if.end36 + store i32 75, i32* @errno, align 4 + br label %if.end40 + +if.end40: ; preds = %if.then39, %if.end36 + %33 = load i32, i32* %corr, align 4 + store i32 %33, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end40, %if.then10 + %34 = load i32, i32* %retval, align 4 + ret i32 %34 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_seek(%struct.__STDIO_FILE_STRUCT.636* %stream, i64* %pos, i32 %whence) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %pos.addr = alloca i64*, align 8 + %whence.addr = alloca i32, align 4 + %res = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64* %pos, i64** %pos.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %0, i32 0, i32 2 + %1 = load i32, i32* %__filedes, align 4 + %2 = load i64*, i64** %pos.addr, align 8 + %3 = load i64, i64* %2, align 8 + %4 = load i32, i32* %whence.addr, align 4 + %call = call i64 @lseek64(i32 %1, i64 %3, i32 %4) #19 + store i64 %call, i64* %res, align 8 + %5 = load i64, i64* %res, align 8 + %cmp = icmp sge i64 %5, 0 + %6 = load i64, i64* %res, align 8 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %entry + %7 = load i64*, i64** %pos.addr, align 8 + store i64 %6, i64* %7, align 8 + br label %cond.end + +cond.false: ; preds = %entry + %conv = trunc i64 %6 to i32 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ 0, %cond.true ], [ %conv, %cond.false ] + ret i32 %cond +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_fpmaxtostr(%struct.__STDIO_FILE_STRUCT.568* %fp, double %x, %struct.printf_info.720* %info, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)* %fp_outfunc) #0 { +entry: + %retval = alloca i64, align 8 + %fp.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %x.addr = alloca double, align 8 + %info.addr = alloca %struct.printf_info.720*, align 8 + %fp_outfunc.addr = alloca i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)*, align 8 + %round = alloca i32, align 4 + %o_exp = alloca i32, align 4 + %exp = alloca i32, align 4 + %width = alloca i32, align 4 + %preci = alloca i32, align 4 + %cnt = alloca i32, align 4 + %s = alloca i8*, align 8 + %e = alloca i8*, align 8 + %pc_fwi = alloca [24 x i64], align 16 + %ppc = alloca i64*, align 8 + %ppc_last = alloca i64*, align 8 + %exp_buf = alloca [16 x i8], align 16 + %buf = alloca [21 x i8], align 16 + %sign_str = alloca [6 x i8], align 1 + %o_mode = alloca i8, align 1 + %mode = alloca i8, align 1 + %i = alloca i32, align 4 + %j = alloca i32, align 4 + %exp_neg = alloca i32, align 4 + %i92 = alloca i32, align 4 + %j93 = alloca i32, align 4 + %digit_block = alloca i64, align 8 + %i151 = alloca i32, align 4 + %i218 = alloca i32, align 4 + %p = alloca i8*, align 8 + %j329 = alloca i32, align 4 + %exp_char = alloca i8, align 1 + %exp_sign = alloca i8, align 1 + %i359 = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %fp, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + store double %x, double* %x.addr, align 8 + store %struct.printf_info.720* %info, %struct.printf_info.720** %info.addr, align 8 + store i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)* %fp_outfunc, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)** %fp_outfunc.addr, align 8 + %0 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %width1 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %0, i32 0, i32 1 + %1 = load i32, i32* %width1, align 4 + store i32 %1, i32* %width, align 4 + %2 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %2, i32 0, i32 0 + %3 = load i32, i32* %prec, align 4 + store i32 %3, i32* %preci, align 4 + %4 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %spec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %4, i32 0, i32 2 + %5 = load i32, i32* %spec, align 4 + %conv = trunc i32 %5 to i8 + store i8 %conv, i8* %mode, align 1 + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + store i8 101, i8* %arraydecay, align 16 + %6 = load i8, i8* %mode, align 1 + %conv2 = sext i8 %6 to i32 + %or = or i32 %conv2, 32 + %cmp = icmp eq i32 %or, 97 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %7 = load i8, i8* %mode, align 1 + %conv4 = sext i8 %7 to i32 + %add = add nsw i32 %conv4, 6 + %conv5 = trunc i32 %add to i8 + store i8 %conv5, i8* %mode, align 1 + br label %if.end + +if.end: ; preds = %if.then, %entry + %8 = load i32, i32* %preci, align 4 + %cmp6 = icmp slt i32 %8, 0 + br i1 %cmp6, label %if.then8, label %if.end9 + +if.then8: ; preds = %if.end + store i32 6, i32* %preci, align 4 + br label %if.end9 + +if.end9: ; preds = %if.then8, %if.end + %arraydecay10 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 0, i8* %arraydecay10, align 1 + %9 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %showsign = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %9, i32 0, i32 3 + %bf.load = load i32, i32* %showsign, align 4 + %bf.lshr = lshr i32 %bf.load, 1 + %bf.clear = and i32 %bf.lshr, 1 + %tobool = icmp ne i32 %bf.clear, 0 + br i1 %tobool, label %if.then11, label %if.else + +if.then11: ; preds = %if.end9 + %arraydecay12 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 43, i8* %arraydecay12, align 1 + br label %if.end19 + +if.else: ; preds = %if.end9 + %10 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %space = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %10, i32 0, i32 3 + %bf.load13 = load i32, i32* %space, align 4 + %bf.clear14 = and i32 %bf.load13, 1 + %tobool15 = icmp ne i32 %bf.clear14, 0 + br i1 %tobool15, label %if.then16, label %if.end19 + +if.then16: ; preds = %if.else + %arraydecay17 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 32, i8* %arraydecay17, align 1 + br label %if.end19 + +if.end19: ; preds = %if.else, %if.then16, %if.then11 + %arraydecay20 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay20, i64 1 + store i8 0, i8* %add.ptr, align 1 + %arrayidx = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 0, i64* %arrayidx, align 8 + %11 = load double, double* %x.addr, align 8 + %12 = load double, double* %x.addr, align 8 + %cmp21 = fcmp une double %11, %12 + br i1 %cmp21, label %if.then23, label %if.end25 + +if.then23: ; preds = %if.end19 + %arrayidx24 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 8, i64* %arrayidx24, align 8 + br label %INF_NAN + +if.end25: ; preds = %if.end19 + %13 = load double, double* %x.addr, align 8 + %cmp26 = fcmp oeq double %13, 0.000000e+00 + %14 = load double, double* %x.addr, align 8 + br i1 %cmp26, label %if.then28, label %if.end34 + +if.then28: ; preds = %if.end25 + %div = fdiv double 1.000000e+00, %14 + %cmp29 = fcmp olt double %div, 0.000000e+00 + br i1 %cmp29, label %if.then31, label %if.end33 + +if.then31: ; preds = %if.then28 + %arraydecay32 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 45, i8* %arraydecay32, align 1 + br label %if.end33 + +if.end33: ; preds = %if.then31, %if.then28 + store i32 -1, i32* %exp, align 4 + br label %GENERATE_DIGITS + +if.end34: ; preds = %if.end25 + %cmp35 = fcmp olt double %14, 0.000000e+00 + br i1 %cmp35, label %if.then37, label %if.end39 + +if.then37: ; preds = %if.end34 + %arraydecay38 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 45, i8* %arraydecay38, align 1 + %15 = load double, double* %x.addr, align 8 + %fneg = fneg double %15 + store double %fneg, double* %x.addr, align 8 + br label %if.end39 + +if.end39: ; preds = %if.then37, %if.end34 + %16 = load double, double* %x.addr, align 8 + %17 = load double, double* %x.addr, align 8 + %div40 = fdiv double %17, 4.000000e+00 + %cmp41 = fcmp oeq double %16, %div40 + br i1 %cmp41, label %INF_NAN, label %if.end58 + +INF_NAN: ; preds = %if.end39, %if.then23 + %18 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %18, i32 0, i32 4 + store i32 32, i32* %pad, align 4 + %arraydecay44 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + %add.ptr45 = getelementptr inbounds i64, i64* %arraydecay44, i64 6 + store i64* %add.ptr45, i64** %ppc, align 8 + %arrayidx46 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 3 + store i64 112, i64* %arrayidx46, align 8 + %arrayidx47 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 4 + store i64 3, i64* %arrayidx47, align 16 + %19 = load i8, i8* %mode, align 1 + %conv48 = sext i8 %19 to i32 + %cmp49 = icmp slt i32 %conv48, 97 + br i1 %cmp49, label %if.then51, label %if.end54 + +if.then51: ; preds = %INF_NAN + %arrayidx52 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + %20 = load i64, i64* %arrayidx52, align 8 + %add53 = add nsw i64 %20, 4 + store i64 %add53, i64* %arrayidx52, align 8 + br label %if.end54 + +if.end54: ; preds = %if.then51, %INF_NAN + %arrayidx55 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + %21 = load i64, i64* %arrayidx55, align 8 + %add.ptr56 = getelementptr inbounds i8, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 0), i64 %21 + %22 = ptrtoint i8* %add.ptr56 to i64 + %arrayidx57 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 %22, i64* %arrayidx57, align 8 + br label %EXIT_SPECIAL + +if.end58: ; preds = %if.end39 + store i32 8, i32* %exp, align 4 + store i32 9, i32* %i, align 4 + store i32 256, i32* %j, align 4 + store i32 0, i32* %exp_neg, align 4 + %23 = load double, double* %x.addr, align 8 + %cmp59 = fcmp olt double %23, 1.000000e+08 + br i1 %cmp59, label %if.then61, label %if.end62 + +if.then61: ; preds = %if.end58 + store i32 1, i32* %exp_neg, align 4 + br label %if.end62 + +if.end62: ; preds = %if.then61, %if.end58 + br label %do.body + +do.body: ; preds = %if.end85, %if.end62 + %24 = load i32, i32* %i, align 4 + %dec = add nsw i32 %24, -1 + store i32 %dec, i32* %i, align 4 + %25 = load i32, i32* %exp_neg, align 4 + %tobool63 = icmp ne i32 %25, 0 + %26 = load double, double* %x.addr, align 8 + %27 = load i32, i32* %i, align 4 + %idxprom = sext i32 %27 to i64 + %arrayidx65 = getelementptr inbounds [9 x double], [9 x double]* @exp10_table, i64 0, i64 %idxprom + %28 = load double, double* %arrayidx65, align 8 + br i1 %tobool63, label %if.then64, label %if.else73 + +if.then64: ; preds = %do.body + %mul = fmul double %26, %28 + %cmp66 = fcmp olt double %mul, 1.000000e+09 + br i1 %cmp66, label %if.then68, label %if.end85 + +if.then68: ; preds = %if.then64 + %29 = load i32, i32* %i, align 4 + %idxprom69 = sext i32 %29 to i64 + %arrayidx70 = getelementptr inbounds [9 x double], [9 x double]* @exp10_table, i64 0, i64 %idxprom69 + %30 = load double, double* %arrayidx70, align 8 + %31 = load double, double* %x.addr, align 8 + %mul71 = fmul double %31, %30 + store double %mul71, double* %x.addr, align 8 + %32 = load i32, i32* %j, align 4 + %33 = load i32, i32* %exp, align 4 + %sub = sub nsw i32 %33, %32 + store i32 %sub, i32* %exp, align 4 + br label %if.end85 + +if.else73: ; preds = %do.body + %div76 = fdiv double %26, %28 + %cmp77 = fcmp oge double %div76, 1.000000e+08 + br i1 %cmp77, label %if.then79, label %if.end85 + +if.then79: ; preds = %if.else73 + %34 = load i32, i32* %i, align 4 + %idxprom80 = sext i32 %34 to i64 + %arrayidx81 = getelementptr inbounds [9 x double], [9 x double]* @exp10_table, i64 0, i64 %idxprom80 + %35 = load double, double* %arrayidx81, align 8 + %36 = load double, double* %x.addr, align 8 + %div82 = fdiv double %36, %35 + store double %div82, double* %x.addr, align 8 + %37 = load i32, i32* %j, align 4 + %38 = load i32, i32* %exp, align 4 + %add83 = add nsw i32 %38, %37 + store i32 %add83, i32* %exp, align 4 + br label %if.end85 + +if.end85: ; preds = %if.else73, %if.then79, %if.then64, %if.then68 + %39 = load i32, i32* %j, align 4 + %shr = ashr i32 %39, 1 + store i32 %shr, i32* %j, align 4 + %40 = load i32, i32* %i, align 4 + %tobool86 = icmp ne i32 %40, 0 + br i1 %tobool86, label %do.body, label %do.end + +do.end: ; preds = %if.end85 + %41 = load double, double* %x.addr, align 8 + %cmp87 = fcmp oge double %41, 1.000000e+09 + br i1 %cmp87, label %if.then89, label %GENERATE_DIGITS + +if.then89: ; preds = %do.end + %42 = load double, double* getelementptr inbounds ([9 x double], [9 x double]* @exp10_table, i64 0, i64 0), align 16 + %43 = load double, double* %x.addr, align 8 + %div90 = fdiv double %43, %42 + store double %div90, double* %x.addr, align 8 + %44 = load i32, i32* %exp, align 4 + %inc = add nsw i32 %44, 1 + store i32 %inc, i32* %exp, align 4 + br label %GENERATE_DIGITS + +GENERATE_DIGITS: ; preds = %do.end, %if.then89, %if.end33 + %arraydecay94 = getelementptr inbounds [21 x i8], [21 x i8]* %buf, i64 0, i64 0 + %add.ptr95 = getelementptr inbounds i8, i8* %arraydecay94, i64 2 + store i8* %add.ptr95, i8** %s, align 8 + store i32 0, i32* %i92, align 4 + br label %do.body96 + +do.body96: ; preds = %do.cond114, %GENERATE_DIGITS + %45 = load double, double* %x.addr, align 8 + %conv97 = fptoui double %45 to i64 + store i64 %conv97, i64* %digit_block, align 8 + %46 = load double, double* %x.addr, align 8 + %47 = load i64, i64* %digit_block, align 8 + %conv98 = uitofp i64 %47 to double + %sub99 = fsub double %46, %conv98 + %mul100 = fmul double %sub99, 1.000000e+09 + store double %mul100, double* %x.addr, align 8 + %48 = load i8*, i8** %s, align 8 + %add.ptr101 = getelementptr inbounds i8, i8* %48, i64 9 + store i8* %add.ptr101, i8** %s, align 8 + store i32 0, i32* %j93, align 4 + br label %do.body102 + +do.body102: ; preds = %do.body102, %do.body96 + %49 = load i64, i64* %digit_block, align 8 + %rem = urem i64 %49, 10 + %add103 = add i64 48, %rem + %conv104 = trunc i64 %add103 to i8 + %50 = load i8*, i8** %s, align 8 + %51 = load i32, i32* %j93, align 4 + %inc105 = add nsw i32 %51, 1 + store i32 %inc105, i32* %j93, align 4 + %sub106 = sub nsw i32 0, %inc105 + %idxprom107 = sext i32 %sub106 to i64 + %arrayidx108 = getelementptr inbounds i8, i8* %50, i64 %idxprom107 + store i8 %conv104, i8* %arrayidx108, align 1 + %52 = load i64, i64* %digit_block, align 8 + %div109 = udiv i64 %52, 10 + store i64 %div109, i64* %digit_block, align 8 + %53 = load i32, i32* %j93, align 4 + %cmp111 = icmp slt i32 %53, 9 + br i1 %cmp111, label %do.body102, label %do.cond114 + +do.cond114: ; preds = %do.body102 + %54 = load i32, i32* %i92, align 4 + %inc115 = add nsw i32 %54, 1 + store i32 %inc115, i32* %i92, align 4 + %cmp116 = icmp slt i32 %inc115, 2 + br i1 %cmp116, label %do.body96, label %do.end118 + +do.end118: ; preds = %do.cond114 + %55 = load i8, i8* %mode, align 1 + %conv119 = sext i8 %55 to i32 + %cmp120 = icmp slt i32 %conv119, 97 + br i1 %cmp120, label %if.then122, label %if.end130 + +if.then122: ; preds = %do.end118 + %arraydecay123 = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + %56 = load i8, i8* %arraydecay123, align 16 + %conv124 = sext i8 %56 to i32 + %sub125 = sub nsw i32 %conv124, 32 + %conv126 = trunc i32 %sub125 to i8 + store i8 %conv126, i8* %arraydecay123, align 16 + %57 = load i8, i8* %mode, align 1 + %conv127 = sext i8 %57 to i32 + %add128 = add nsw i32 %conv127, 32 + %conv129 = trunc i32 %add128 to i8 + store i8 %conv129, i8* %mode, align 1 + br label %if.end130 + +if.end130: ; preds = %if.then122, %do.end118 + %58 = load i8, i8* %mode, align 1 + store i8 %58, i8* %o_mode, align 1 + %59 = load i8, i8* %mode, align 1 + %conv131 = sext i8 %59 to i32 + %cmp132 = icmp eq i32 %conv131, 103 + %60 = load i32, i32* %preci, align 4 + %cmp134 = icmp sgt i32 %60, 0 + %or.cond = and i1 %cmp132, %cmp134 + br i1 %or.cond, label %if.then136, label %if.end138 + +if.then136: ; preds = %if.end130 + %61 = load i32, i32* %preci, align 4 + %dec137 = add nsw i32 %61, -1 + store i32 %dec137, i32* %preci, align 4 + br label %if.end138 + +if.end138: ; preds = %if.then136, %if.end130 + %62 = load i32, i32* %preci, align 4 + store i32 %62, i32* %round, align 4 + %63 = load i8, i8* %mode, align 1 + %conv139 = sext i8 %63 to i32 + %cmp140 = icmp eq i32 %conv139, 102 + br i1 %cmp140, label %if.then142, label %if.end149 + +if.then142: ; preds = %if.end138 + %64 = load i32, i32* %exp, align 4 + %65 = load i32, i32* %round, align 4 + %add143 = add nsw i32 %65, %64 + store i32 %add143, i32* %round, align 4 + %66 = load i32, i32* %round, align 4 + %cmp144 = icmp slt i32 %66, -1 + br i1 %cmp144, label %if.then146, label %if.end149 + +if.then146: ; preds = %if.then142 + %arraydecay147 = getelementptr inbounds [21 x i8], [21 x i8]* %buf, i64 0, i64 0 + %call = call i8* @memset(i8* %arraydecay147, i32 48, i64 17) #19 + store i32 -1, i32* %exp, align 4 + store i32 -1, i32* %round, align 4 + br label %if.end149 + +if.end149: ; preds = %if.then142, %if.then146, %if.end138 + %arraydecay150 = getelementptr inbounds [21 x i8], [21 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay150, i8** %s, align 8 + %67 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %67, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + store i8 0, i8* %67, align 1 + %68 = load i8*, i8** %s, align 8 + store i8 48, i8* %68, align 1 + store i32 0, i32* %i151, align 4 + %69 = load i8*, i8** %s, align 8 + %add.ptr152 = getelementptr inbounds i8, i8* %69, i64 17 + %add.ptr153 = getelementptr inbounds i8, i8* %add.ptr152, i64 1 + store i8* %add.ptr153, i8** %e, align 8 + %70 = load i32, i32* %round, align 4 + %cmp154 = icmp slt i32 %70, 17 + br i1 %cmp154, label %if.then156, label %if.end164 + +if.then156: ; preds = %if.end149 + %71 = load i8*, i8** %s, align 8 + %72 = load i32, i32* %round, align 4 + %idx.ext = sext i32 %72 to i64 + %add.ptr157 = getelementptr inbounds i8, i8* %71, i64 %idx.ext + %add.ptr158 = getelementptr inbounds i8, i8* %add.ptr157, i64 2 + store i8* %add.ptr158, i8** %e, align 8 + %73 = load i8*, i8** %e, align 8 + %74 = load i8, i8* %73, align 1 + %conv159 = sext i8 %74 to i32 + %cmp160 = icmp sge i32 %conv159, 53 + br i1 %cmp160, label %if.then162, label %if.end164 + +if.then162: ; preds = %if.then156 + store i32 1, i32* %i151, align 4 + br label %if.end164 + +if.end164: ; preds = %if.then156, %if.then162, %if.end149 + br label %do.body165 + +do.body165: ; preds = %do.body165, %lor.rhs, %if.end164 + %75 = load i32, i32* %i151, align 4 + %76 = load i8*, i8** %e, align 8 + %incdec.ptr166 = getelementptr inbounds i8, i8* %76, i32 -1 + store i8* %incdec.ptr166, i8** %e, align 8 + %77 = load i8, i8* %incdec.ptr166, align 1 + %conv167 = sext i8 %77 to i32 + %add168 = add nsw i32 %conv167, %75 + %conv169 = trunc i32 %add168 to i8 + store i8 %conv169, i8* %incdec.ptr166, align 1 + %78 = load i8*, i8** %e, align 8 + %79 = load i8, i8* %78, align 1 + %conv171 = sext i8 %79 to i32 + %cmp172 = icmp eq i32 %conv171, 48 + br i1 %cmp172, label %do.body165, label %lor.rhs + +lor.rhs: ; preds = %do.body165 + %80 = load i8*, i8** %e, align 8 + %81 = load i8, i8* %80, align 1 + %conv174 = sext i8 %81 to i32 + %cmp175 = icmp sgt i32 %conv174, 57 + br i1 %cmp175, label %do.body165, label %do.end177 + +do.end177: ; preds = %lor.rhs + %82 = load i32, i32* %exp, align 4 + store i32 %82, i32* %o_exp, align 4 + %83 = load i8*, i8** %e, align 8 + %84 = load i8*, i8** %s, align 8 + %cmp178 = icmp ule i8* %83, %84 + br i1 %cmp178, label %if.then180, label %if.else182 + +if.then180: ; preds = %do.end177 + %85 = load i32, i32* %o_exp, align 4 + %inc181 = add nsw i32 %85, 1 + store i32 %inc181, i32* %o_exp, align 4 + %86 = load i8*, i8** %s, align 8 + store i8* %86, i8** %e, align 8 + br label %if.end184 + +if.else182: ; preds = %do.end177 + %87 = load i8*, i8** %s, align 8 + %incdec.ptr183 = getelementptr inbounds i8, i8* %87, i32 1 + store i8* %incdec.ptr183, i8** %s, align 8 + br label %if.end184 + +if.end184: ; preds = %if.else182, %if.then180 + %88 = load i8*, i8** %e, align 8 + %incdec.ptr185 = getelementptr inbounds i8, i8* %88, i32 1 + store i8* %incdec.ptr185, i8** %e, align 8 + store i8 0, i8* %incdec.ptr185, align 1 + %89 = load i8, i8* %mode, align 1 + %conv186 = sext i8 %89 to i32 + %cmp187 = icmp eq i32 %conv186, 103 + %90 = load i32, i32* %o_exp, align 4 + %cmp190 = icmp sge i32 %90, -4 + %or.cond1 = and i1 %cmp187, %cmp190 + br i1 %or.cond1, label %land.lhs.true192, label %if.end197 + +land.lhs.true192: ; preds = %if.end184 + %91 = load i32, i32* %o_exp, align 4 + %92 = load i32, i32* %round, align 4 + %cmp193 = icmp sle i32 %91, %92 + br i1 %cmp193, label %if.then195, label %if.end197 + +if.then195: ; preds = %land.lhs.true192 + store i8 102, i8* %mode, align 1 + %93 = load i32, i32* %round, align 4 + %94 = load i32, i32* %o_exp, align 4 + %sub196 = sub nsw i32 %93, %94 + store i32 %sub196, i32* %preci, align 4 + br label %if.end197 + +if.end197: ; preds = %if.then195, %land.lhs.true192, %if.end184 + %95 = load i32, i32* %o_exp, align 4 + store i32 %95, i32* %exp, align 4 + %96 = load i8, i8* %mode, align 1 + %conv198 = sext i8 %96 to i32 + %cmp199 = icmp ne i32 %conv198, 102 + br i1 %cmp199, label %if.then201, label %if.end202 + +if.then201: ; preds = %if.end197 + store i32 0, i32* %o_exp, align 4 + br label %if.end202 + +if.end202: ; preds = %if.then201, %if.end197 + %97 = load i32, i32* %o_exp, align 4 + %cmp203 = icmp slt i32 %97, 0 + br i1 %cmp203, label %if.then205, label %if.end207 + +if.then205: ; preds = %if.end202 + %98 = load i8*, i8** %s, align 8 + %incdec.ptr206 = getelementptr inbounds i8, i8* %98, i32 -1 + store i8* %incdec.ptr206, i8** %s, align 8 + store i8 48, i8* %incdec.ptr206, align 1 + br label %if.end207 + +if.end207: ; preds = %if.then205, %if.end202 + %arrayidx208 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 3 + store i64 176, i64* %arrayidx208, align 8 + %arrayidx209 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 4 + store i64 1, i64* %arrayidx209, align 16 + %arraydecay210 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %add.ptr211 = getelementptr inbounds i8, i8* %arraydecay210, i64 4 + %99 = ptrtoint i8* %add.ptr211 to i64 + %arrayidx212 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 %99, i64* %arrayidx212, align 8 + %100 = load i8*, i8** %s, align 8 + %incdec.ptr213 = getelementptr inbounds i8, i8* %100, i32 1 + store i8* %incdec.ptr213, i8** %s, align 8 + %101 = load i8, i8* %100, align 1 + %arrayidx214 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 4 + store i8 %101, i8* %arrayidx214, align 1 + %arrayidx215 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 5 + store i8 0, i8* %arrayidx215, align 1 + %arraydecay216 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + %add.ptr217 = getelementptr inbounds i64, i64* %arraydecay216, i64 6 + store i64* %add.ptr217, i64** %ppc, align 8 + %102 = load i8*, i8** %e, align 8 + %103 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %102 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %103 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %conv219 = trunc i64 %sub.ptr.sub to i32 + store i32 %conv219, i32* %i218, align 4 + %104 = load i32, i32* %o_exp, align 4 + %cmp220 = icmp sge i32 %104, 0 + br i1 %cmp220, label %if.then222, label %if.end253 + +if.then222: ; preds = %if.end207 + %105 = load i64*, i64** %ppc, align 8 + %arrayidx223 = getelementptr inbounds i64, i64* %105, i64 0 + store i64 112, i64* %arrayidx223, align 8 + %106 = load i8*, i8** %s, align 8 + %107 = ptrtoint i8* %106 to i64 + %108 = load i64*, i64** %ppc, align 8 + %arrayidx224 = getelementptr inbounds i64, i64* %108, i64 2 + store i64 %107, i64* %arrayidx224, align 8 + %109 = load i32, i32* %o_exp, align 4 + %110 = load i32, i32* %i218, align 4 + %cmp225 = icmp sge i32 %109, %110 + br i1 %cmp225, label %if.then227, label %if.else241 + +if.then227: ; preds = %if.then222 + %111 = load i32, i32* %i218, align 4 + %conv228 = sext i32 %111 to i64 + %112 = load i64*, i64** %ppc, align 8 + %arrayidx229 = getelementptr inbounds i64, i64* %112, i64 1 + store i64 %conv228, i64* %arrayidx229, align 8 + %113 = load i64*, i64** %ppc, align 8 + %add.ptr230 = getelementptr inbounds i64, i64* %113, i64 3 + store i64* %add.ptr230, i64** %ppc, align 8 + %114 = load i32, i32* %i218, align 4 + %115 = load i32, i32* %o_exp, align 4 + %sub231 = sub nsw i32 %115, %114 + store i32 %sub231, i32* %o_exp, align 4 + store i32 0, i32* %i218, align 4 + %116 = load i32, i32* %o_exp, align 4 + %cmp232 = icmp sgt i32 %116, 0 + br i1 %cmp232, label %if.then234, label %if.end252 + +if.then234: ; preds = %if.then227 + %117 = load i64*, i64** %ppc, align 8 + %arrayidx235 = getelementptr inbounds i64, i64* %117, i64 0 + store i64 176, i64* %arrayidx235, align 8 + %118 = load i32, i32* %o_exp, align 4 + %conv236 = sext i32 %118 to i64 + %119 = load i64*, i64** %ppc, align 8 + %arrayidx237 = getelementptr inbounds i64, i64* %119, i64 1 + store i64 %conv236, i64* %arrayidx237, align 8 + %120 = load i64*, i64** %ppc, align 8 + %arrayidx238 = getelementptr inbounds i64, i64* %120, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx238, align 8 + %121 = load i64*, i64** %ppc, align 8 + %add.ptr239 = getelementptr inbounds i64, i64* %121, i64 3 + store i64* %add.ptr239, i64** %ppc, align 8 + br label %if.end252 + +if.else241: ; preds = %if.then222 + %122 = load i32, i32* %o_exp, align 4 + %cmp242 = icmp sgt i32 %122, 0 + br i1 %cmp242, label %if.then244, label %if.end252 + +if.then244: ; preds = %if.else241 + %123 = load i32, i32* %o_exp, align 4 + %conv245 = sext i32 %123 to i64 + %124 = load i64*, i64** %ppc, align 8 + %arrayidx246 = getelementptr inbounds i64, i64* %124, i64 1 + store i64 %conv245, i64* %arrayidx246, align 8 + %125 = load i64*, i64** %ppc, align 8 + %add.ptr247 = getelementptr inbounds i64, i64* %125, i64 3 + store i64* %add.ptr247, i64** %ppc, align 8 + %126 = load i32, i32* %o_exp, align 4 + %127 = load i8*, i8** %s, align 8 + %idx.ext248 = sext i32 %126 to i64 + %add.ptr249 = getelementptr inbounds i8, i8* %127, i64 %idx.ext248 + store i8* %add.ptr249, i8** %s, align 8 + %128 = load i32, i32* %o_exp, align 4 + %129 = load i32, i32* %i218, align 4 + %sub250 = sub nsw i32 %129, %128 + store i32 %sub250, i32* %i218, align 4 + br label %if.end252 + +if.end252: ; preds = %if.else241, %if.then244, %if.then227, %if.then234 + store i32 -1, i32* %o_exp, align 4 + br label %if.end253 + +if.end253: ; preds = %if.end252, %if.end207 + %130 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %alt = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %130, i32 0, i32 3 + %bf.load254 = load i32, i32* %alt, align 4 + %bf.lshr255 = lshr i32 %bf.load254, 4 + %bf.clear256 = and i32 %bf.lshr255, 1 + %tobool257 = icmp ne i32 %bf.clear256, 0 + %131 = load i32, i32* %i218, align 4 + %tobool258 = icmp ne i32 %131, 0 + %or.cond2 = or i1 %tobool257, %tobool258 + br i1 %or.cond2, label %if.then266, label %lor.lhs.false259 + +lor.lhs.false259: ; preds = %if.end253 + %132 = load i8, i8* %o_mode, align 1 + %conv260 = sext i8 %132 to i32 + %cmp261 = icmp ne i32 %conv260, 103 + %133 = load i32, i32* %preci, align 4 + %cmp264 = icmp sgt i32 %133, 0 + %or.cond3 = and i1 %cmp261, %cmp264 + br i1 %or.cond3, label %if.then266, label %if.end281 + +if.then266: ; preds = %lor.lhs.false259, %if.end253 + %134 = load i64*, i64** %ppc, align 8 + %arrayidx267 = getelementptr inbounds i64, i64* %134, i64 0 + store i64 112, i64* %arrayidx267, align 8 + %135 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %wide = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %135, i32 0, i32 3 + %bf.load268 = load i32, i32* %wide, align 4 + %bf.lshr269 = lshr i32 %bf.load268, 7 + %bf.clear270 = and i32 %bf.lshr269, 1 + %tobool271 = icmp ne i32 %bf.clear270, 0 + br i1 %tobool271, label %if.then272, label %if.else275 + +if.then272: ; preds = %if.then266 + %136 = load i64*, i64** %ppc, align 8 + %arrayidx273 = getelementptr inbounds i64, i64* %136, i64 1 + store i64 1, i64* %arrayidx273, align 8 + %137 = load i64*, i64** %ppc, align 8 + %arrayidx274 = getelementptr inbounds i64, i64* %137, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 16) to i64), i64* %arrayidx274, align 8 + br label %if.end279 + +if.else275: ; preds = %if.then266 + %138 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %decimal_point_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %138, i32 0, i32 26 + %139 = load i32, i32* %decimal_point_len, align 8 + %conv276 = sext i32 %139 to i64 + %140 = load i64*, i64** %ppc, align 8 + %arrayidx277 = getelementptr inbounds i64, i64* %140, i64 1 + store i64 %conv276, i64* %arrayidx277, align 8 + %141 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %decimal_point = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %141, i32 0, i32 39 + %142 = load i8*, i8** %decimal_point, align 8 + %143 = ptrtoint i8* %142 to i64 + %144 = load i64*, i64** %ppc, align 8 + %arrayidx278 = getelementptr inbounds i64, i64* %144, i64 2 + store i64 %143, i64* %arrayidx278, align 8 + br label %if.end279 + +if.end279: ; preds = %if.else275, %if.then272 + %145 = load i64*, i64** %ppc, align 8 + %add.ptr280 = getelementptr inbounds i64, i64* %145, i64 3 + store i64* %add.ptr280, i64** %ppc, align 8 + br label %if.end281 + +if.end281: ; preds = %if.end279, %lor.lhs.false259 + %146 = load i32, i32* %o_exp, align 4 + %inc282 = add nsw i32 %146, 1 + store i32 %inc282, i32* %o_exp, align 4 + %cmp283 = icmp slt i32 %inc282, 0 + br i1 %cmp283, label %if.then285, label %if.end292 + +if.then285: ; preds = %if.end281 + %147 = load i64*, i64** %ppc, align 8 + %arrayidx286 = getelementptr inbounds i64, i64* %147, i64 0 + store i64 176, i64* %arrayidx286, align 8 + %148 = load i32, i32* %o_exp, align 4 + %sub287 = sub nsw i32 0, %148 + %conv288 = sext i32 %sub287 to i64 + %149 = load i64*, i64** %ppc, align 8 + %arrayidx289 = getelementptr inbounds i64, i64* %149, i64 1 + store i64 %conv288, i64* %arrayidx289, align 8 + %150 = load i64*, i64** %ppc, align 8 + %arrayidx290 = getelementptr inbounds i64, i64* %150, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx290, align 8 + %151 = load i64*, i64** %ppc, align 8 + %add.ptr291 = getelementptr inbounds i64, i64* %151, i64 3 + store i64* %add.ptr291, i64** %ppc, align 8 + br label %if.end292 + +if.end292: ; preds = %if.then285, %if.end281 + %152 = load i32, i32* %i218, align 4 + %tobool293 = icmp ne i32 %152, 0 + br i1 %tobool293, label %if.then294, label %if.end300 + +if.then294: ; preds = %if.end292 + %153 = load i64*, i64** %ppc, align 8 + %arrayidx295 = getelementptr inbounds i64, i64* %153, i64 0 + store i64 112, i64* %arrayidx295, align 8 + %154 = load i32, i32* %i218, align 4 + %conv296 = sext i32 %154 to i64 + %155 = load i64*, i64** %ppc, align 8 + %arrayidx297 = getelementptr inbounds i64, i64* %155, i64 1 + store i64 %conv296, i64* %arrayidx297, align 8 + %156 = load i8*, i8** %s, align 8 + %157 = ptrtoint i8* %156 to i64 + %158 = load i64*, i64** %ppc, align 8 + %arrayidx298 = getelementptr inbounds i64, i64* %158, i64 2 + store i64 %157, i64* %arrayidx298, align 8 + %159 = load i64*, i64** %ppc, align 8 + %add.ptr299 = getelementptr inbounds i64, i64* %159, i64 3 + store i64* %add.ptr299, i64** %ppc, align 8 + br label %if.end300 + +if.end300: ; preds = %if.then294, %if.end292 + %160 = load i8, i8* %o_mode, align 1 + %conv301 = sext i8 %160 to i32 + %cmp302 = icmp ne i32 %conv301, 103 + br i1 %cmp302, label %if.then310, label %lor.lhs.false304 + +lor.lhs.false304: ; preds = %if.end300 + %161 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %alt305 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %161, i32 0, i32 3 + %bf.load306 = load i32, i32* %alt305, align 4 + %bf.lshr307 = lshr i32 %bf.load306, 4 + %bf.clear308 = and i32 %bf.lshr307, 1 + %tobool309 = icmp ne i32 %bf.clear308, 0 + br i1 %tobool309, label %if.then310, label %if.end322 + +if.then310: ; preds = %lor.lhs.false304, %if.end300 + %162 = load i32, i32* %o_exp, align 4 + %163 = load i32, i32* %i218, align 4 + %sub311 = sub nsw i32 %163, %162 + store i32 %sub311, i32* %i218, align 4 + %164 = load i32, i32* %i218, align 4 + %165 = load i32, i32* %preci, align 4 + %cmp312 = icmp slt i32 %164, %165 + br i1 %cmp312, label %if.then314, label %if.end322 + +if.then314: ; preds = %if.then310 + %166 = load i32, i32* %preci, align 4 + %167 = load i32, i32* %i218, align 4 + %sub315 = sub nsw i32 %166, %167 + store i32 %sub315, i32* %i218, align 4 + %168 = load i64*, i64** %ppc, align 8 + %arrayidx316 = getelementptr inbounds i64, i64* %168, i64 0 + store i64 176, i64* %arrayidx316, align 8 + %169 = load i32, i32* %i218, align 4 + %conv317 = sext i32 %169 to i64 + %170 = load i64*, i64** %ppc, align 8 + %arrayidx318 = getelementptr inbounds i64, i64* %170, i64 1 + store i64 %conv317, i64* %arrayidx318, align 8 + %171 = load i64*, i64** %ppc, align 8 + %arrayidx319 = getelementptr inbounds i64, i64* %171, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx319, align 8 + %172 = load i64*, i64** %ppc, align 8 + %add.ptr320 = getelementptr inbounds i64, i64* %172, i64 3 + store i64* %add.ptr320, i64** %ppc, align 8 + br label %if.end322 + +if.end322: ; preds = %if.then310, %if.then314, %lor.lhs.false304 + %173 = load i8, i8* %mode, align 1 + %conv323 = sext i8 %173 to i32 + %cmp324 = icmp ne i32 %conv323, 102 + br i1 %cmp324, label %if.then326, label %EXIT_SPECIAL + +if.then326: ; preds = %if.end322 + %arraydecay327 = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + %add.ptr328 = getelementptr inbounds i8, i8* %arraydecay327, i64 16 + store i8* %add.ptr328, i8** %p, align 8 + %arraydecay330 = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + %174 = load i8, i8* %arraydecay330, align 16 + store i8 %174, i8* %exp_char, align 1 + store i8 43, i8* %exp_sign, align 1 + %175 = load i32, i32* %exp, align 4 + %cmp331 = icmp slt i32 %175, 0 + br i1 %cmp331, label %if.then333, label %if.end335 + +if.then333: ; preds = %if.then326 + store i8 45, i8* %exp_sign, align 1 + %176 = load i32, i32* %exp, align 4 + %sub334 = sub nsw i32 0, %176 + store i32 %sub334, i32* %exp, align 4 + br label %if.end335 + +if.end335: ; preds = %if.then333, %if.then326 + %177 = load i8*, i8** %p, align 8 + %incdec.ptr336 = getelementptr inbounds i8, i8* %177, i32 -1 + store i8* %incdec.ptr336, i8** %p, align 8 + store i8 0, i8* %incdec.ptr336, align 1 + store i32 2, i32* %j329, align 4 + br label %do.body337 + +do.body337: ; preds = %do.body337, %if.end335 + %178 = load i32, i32* %exp, align 4 + %rem338 = srem i32 %178, 10 + %add339 = add nsw i32 48, %rem338 + %conv340 = trunc i32 %add339 to i8 + %179 = load i8*, i8** %p, align 8 + %incdec.ptr341 = getelementptr inbounds i8, i8* %179, i32 -1 + store i8* %incdec.ptr341, i8** %p, align 8 + store i8 %conv340, i8* %incdec.ptr341, align 1 + %180 = load i32, i32* %exp, align 4 + %div342 = sdiv i32 %180, 10 + store i32 %div342, i32* %exp, align 4 + %181 = load i32, i32* %j329, align 4 + %inc344 = add nsw i32 %181, 1 + store i32 %inc344, i32* %j329, align 4 + %cmp345 = icmp slt i32 %inc344, 4 + %182 = load i32, i32* %exp, align 4 + %tobool348 = icmp ne i32 %182, 0 + %183 = select i1 %cmp345, i1 true, i1 %tobool348 + br i1 %183, label %do.body337, label %do.end350 + +do.end350: ; preds = %do.body337 + %184 = load i8, i8* %exp_sign, align 1 + %185 = load i8*, i8** %p, align 8 + %incdec.ptr351 = getelementptr inbounds i8, i8* %185, i32 -1 + store i8* %incdec.ptr351, i8** %p, align 8 + store i8 %184, i8* %incdec.ptr351, align 1 + %186 = load i8, i8* %exp_char, align 1 + %187 = load i8*, i8** %p, align 8 + %incdec.ptr352 = getelementptr inbounds i8, i8* %187, i32 -1 + store i8* %incdec.ptr352, i8** %p, align 8 + store i8 %186, i8* %incdec.ptr352, align 1 + %188 = load i64*, i64** %ppc, align 8 + %arrayidx353 = getelementptr inbounds i64, i64* %188, i64 0 + store i64 112, i64* %arrayidx353, align 8 + %189 = load i32, i32* %j329, align 4 + %conv354 = sext i32 %189 to i64 + %190 = load i64*, i64** %ppc, align 8 + %arrayidx355 = getelementptr inbounds i64, i64* %190, i64 1 + store i64 %conv354, i64* %arrayidx355, align 8 + %191 = load i8*, i8** %p, align 8 + %192 = ptrtoint i8* %191 to i64 + %193 = load i64*, i64** %ppc, align 8 + %arrayidx356 = getelementptr inbounds i64, i64* %193, i64 2 + store i64 %192, i64* %arrayidx356, align 8 + %194 = load i64*, i64** %ppc, align 8 + %add.ptr357 = getelementptr inbounds i64, i64* %194, i64 3 + store i64* %add.ptr357, i64** %ppc, align 8 + br label %EXIT_SPECIAL + +EXIT_SPECIAL: ; preds = %if.end322, %do.end350, %if.end54 + %195 = load i64*, i64** %ppc, align 8 + store i64* %195, i64** %ppc_last, align 8 + %arraydecay360 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + %add.ptr361 = getelementptr inbounds i64, i64* %arraydecay360, i64 4 + store i64* %add.ptr361, i64** %ppc, align 8 + br label %do.body362 + +do.body362: ; preds = %do.body362, %EXIT_SPECIAL + %196 = load i64*, i64** %ppc, align 8 + %197 = load i64, i64* %196, align 8 + %198 = load i32, i32* %width, align 4 + %conv363 = sext i32 %198 to i64 + %sub364 = sub nsw i64 %conv363, %197 + %conv365 = trunc i64 %sub364 to i32 + store i32 %conv365, i32* %width, align 4 + %199 = load i64*, i64** %ppc, align 8 + %add.ptr366 = getelementptr inbounds i64, i64* %199, i64 3 + store i64* %add.ptr366, i64** %ppc, align 8 + %200 = load i64*, i64** %ppc, align 8 + %201 = load i64*, i64** %ppc_last, align 8 + %cmp368 = icmp ult i64* %200, %201 + br i1 %cmp368, label %do.body362, label %do.end370 + +do.end370: ; preds = %do.body362 + %arraydecay371 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + store i64* %arraydecay371, i64** %ppc, align 8 + %202 = load i64*, i64** %ppc, align 8 + %arrayidx372 = getelementptr inbounds i64, i64* %202, i64 0 + store i64 160, i64* %arrayidx372, align 8 + %arraydecay373 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %203 = load i8, i8* %arraydecay373, align 1 + %conv374 = sext i8 %203 to i32 + %cmp375 = icmp ne i32 %conv374, 0 + %conv376 = zext i1 %cmp375 to i32 + store i32 %conv376, i32* %i359, align 4 + %conv377 = sext i32 %conv376 to i64 + %204 = load i64*, i64** %ppc, align 8 + %arrayidx378 = getelementptr inbounds i64, i64* %204, i64 1 + store i64 %conv377, i64* %arrayidx378, align 8 + %arraydecay379 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %205 = ptrtoint i8* %arraydecay379 to i64 + %206 = load i64*, i64** %ppc, align 8 + %arrayidx380 = getelementptr inbounds i64, i64* %206, i64 2 + store i64 %205, i64* %arrayidx380, align 8 + %207 = load i32, i32* %i359, align 4 + %208 = load i32, i32* %width, align 4 + %sub381 = sub nsw i32 %208, %207 + store i32 %sub381, i32* %width, align 4 + %cmp382 = icmp sgt i32 %sub381, 0 + br i1 %cmp382, label %if.then384, label %if.end409 + +if.then384: ; preds = %do.end370 + %209 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %left = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %209, i32 0, i32 3 + %bf.load385 = load i32, i32* %left, align 4 + %bf.lshr386 = lshr i32 %bf.load385, 3 + %bf.clear387 = and i32 %bf.lshr386, 1 + %tobool388 = icmp ne i32 %bf.clear387, 0 + br i1 %tobool388, label %if.then389, label %if.else395 + +if.then389: ; preds = %if.then384 + %210 = load i64*, i64** %ppc_last, align 8 + %arrayidx390 = getelementptr inbounds i64, i64* %210, i64 0 + store i64 160, i64* %arrayidx390, align 8 + %211 = load i32, i32* %width, align 4 + %conv391 = sext i32 %211 to i64 + %212 = load i64*, i64** %ppc_last, align 8 + %arrayidx392 = getelementptr inbounds i64, i64* %212, i64 1 + store i64 %conv391, i64* %arrayidx392, align 8 + %213 = load i64*, i64** %ppc_last, align 8 + %arrayidx393 = getelementptr inbounds i64, i64* %213, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx393, align 8 + %214 = load i64*, i64** %ppc_last, align 8 + %add.ptr394 = getelementptr inbounds i64, i64* %214, i64 3 + store i64* %add.ptr394, i64** %ppc_last, align 8 + br label %if.end409 + +if.else395: ; preds = %if.then384 + %215 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %pad396 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %215, i32 0, i32 4 + %216 = load i32, i32* %pad396, align 4 + %cmp397 = icmp eq i32 %216, 48 + %217 = load i32, i32* %width, align 4 + %conv400 = sext i32 %217 to i64 + %218 = load i64*, i64** %ppc, align 8 + br i1 %cmp397, label %if.then399, label %if.else403 + +if.then399: ; preds = %if.else395 + %arrayidx401 = getelementptr inbounds i64, i64* %218, i64 4 + %219 = load i64, i64* %arrayidx401, align 8 + %add402 = add nsw i64 %219, %conv400 + store i64 %add402, i64* %arrayidx401, align 8 + br label %if.end409 + +if.else403: ; preds = %if.else395 + %arrayidx405 = getelementptr inbounds i64, i64* %218, i64 1 + %220 = load i64, i64* %arrayidx405, align 8 + %add406 = add nsw i64 %220, %conv400 + store i64 %add406, i64* %arrayidx405, align 8 + br label %if.end409 + +if.end409: ; preds = %if.then389, %if.else403, %if.then399, %do.end370 + store i32 0, i32* %cnt, align 4 + br label %do.body410 + +do.body410: ; preds = %if.end418, %if.end409 + %221 = load i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)*, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)** %fp_outfunc.addr, align 8 + %222 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + %223 = load i64*, i64** %ppc, align 8 + %224 = load i64, i64* %223, align 8 + %225 = load i64*, i64** %ppc, align 8 + %arrayidx411 = getelementptr inbounds i64, i64* %225, i64 1 + %226 = load i64, i64* %arrayidx411, align 8 + %227 = load i64*, i64** %ppc, align 8 + %arrayidx412 = getelementptr inbounds i64, i64* %227, i64 2 + %228 = load i64, i64* %arrayidx412, align 8 + %call413 = call i64 %221(%struct.__STDIO_FILE_STRUCT.568* %222, i64 %224, i64 %226, i64 %228) #18 + %229 = load i64*, i64** %ppc, align 8 + %arrayidx414 = getelementptr inbounds i64, i64* %229, i64 1 + %230 = load i64, i64* %arrayidx414, align 8 + %cmp415 = icmp ne i64 %call413, %230 + br i1 %cmp415, label %if.then417, label %if.end418 + +if.then417: ; preds = %do.body410 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end418: ; preds = %do.body410 + %231 = load i64*, i64** %ppc, align 8 + %arrayidx419 = getelementptr inbounds i64, i64* %231, i64 1 + %232 = load i64, i64* %arrayidx419, align 8 + %233 = load i32, i32* %cnt, align 4 + %conv420 = sext i32 %233 to i64 + %add421 = add nsw i64 %conv420, %232 + %conv422 = trunc i64 %add421 to i32 + store i32 %conv422, i32* %cnt, align 4 + %234 = load i64*, i64** %ppc, align 8 + %add.ptr423 = getelementptr inbounds i64, i64* %234, i64 3 + store i64* %add.ptr423, i64** %ppc, align 8 + %235 = load i64*, i64** %ppc, align 8 + %236 = load i64*, i64** %ppc_last, align 8 + %cmp425 = icmp ult i64* %235, %236 + br i1 %cmp425, label %do.body410, label %do.end427 + +do.end427: ; preds = %if.end418 + %237 = load i32, i32* %cnt, align 4 + %conv428 = sext i32 %237 to i64 + store i64 %conv428, i64* %retval, align 8 + br label %return + +return: ; preds = %do.end427, %if.then417 + %238 = load i64, i64* %retval, align 8 + ret i64 %238 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_load_inttype(i32 %desttype, i8* %src, i32 %uflag) #0 { +entry: + %retval = alloca i64, align 8 + %desttype.addr = alloca i32, align 4 + %src.addr = alloca i8*, align 8 + %uflag.addr = alloca i32, align 4 + %x = alloca i32, align 4 + %x24 = alloca i32, align 4 + store i32 %desttype, i32* %desttype.addr, align 4 + store i8* %src, i8** %src.addr, align 8 + store i32 %uflag, i32* %uflag.addr, align 4 + %0 = load i32, i32* %uflag.addr, align 4 + %cmp = icmp sge i32 %0, 0 + %1 = load i32, i32* %desttype.addr, align 4 + %and = and i32 %1, 3072 + %tobool = icmp ne i32 %and, 0 + %2 = load i8*, i8** %src.addr, align 8 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + br i1 %tobool, label %if.then1, label %if.end4 + +if.then1: ; preds = %if.then + %3 = bitcast i8* %2 to i64* + %4 = load i64, i64* %3, align 8 + store i64 %4, i64* %retval, align 8 + br label %return + +if.end4: ; preds = %if.then + %5 = bitcast i8* %2 to i32* + %6 = load i32, i32* %5, align 4 + store i32 %6, i32* %x, align 4 + %7 = load i32, i32* %desttype.addr, align 4 + %cmp5 = icmp eq i32 %7, 256 + br i1 %cmp5, label %if.then6, label %if.end8 + +if.then6: ; preds = %if.end4 + %8 = load i32, i32* %x, align 4 + %conv = trunc i32 %8 to i8 + %conv7 = zext i8 %conv to i32 + store i32 %conv7, i32* %x, align 4 + br label %if.end8 + +if.end8: ; preds = %if.then6, %if.end4 + %9 = load i32, i32* %desttype.addr, align 4 + %cmp9 = icmp eq i32 %9, 512 + br i1 %cmp9, label %if.then11, label %if.end14 + +if.then11: ; preds = %if.end8 + %10 = load i32, i32* %x, align 4 + %conv12 = trunc i32 %10 to i16 + %conv13 = zext i16 %conv12 to i32 + store i32 %conv13, i32* %x, align 4 + br label %if.end14 + +if.end14: ; preds = %if.then11, %if.end8 + %11 = load i32, i32* %x, align 4 + %conv15 = zext i32 %11 to i64 + store i64 %conv15, i64* %retval, align 8 + br label %return + +if.else: ; preds = %entry + br i1 %tobool, label %if.then18, label %if.end23 + +if.then18: ; preds = %if.else + %12 = bitcast i8* %2 to i64* + %13 = load i64, i64* %12, align 8 + store i64 %13, i64* %retval, align 8 + br label %return + +if.end23: ; preds = %if.else + %14 = bitcast i8* %2 to i32* + %15 = load i32, i32* %14, align 4 + store i32 %15, i32* %x24, align 4 + %16 = load i32, i32* %desttype.addr, align 4 + %cmp25 = icmp eq i32 %16, 256 + br i1 %cmp25, label %if.then27, label %if.end30 + +if.then27: ; preds = %if.end23 + %17 = load i32, i32* %x24, align 4 + %conv28 = trunc i32 %17 to i8 + %conv29 = sext i8 %conv28 to i32 + store i32 %conv29, i32* %x24, align 4 + br label %if.end30 + +if.end30: ; preds = %if.then27, %if.end23 + %18 = load i32, i32* %desttype.addr, align 4 + %cmp31 = icmp eq i32 %18, 512 + br i1 %cmp31, label %if.then33, label %if.end36 + +if.then33: ; preds = %if.end30 + %19 = load i32, i32* %x24, align 4 + %conv34 = trunc i32 %19 to i16 + %conv35 = sext i16 %conv34 to i32 + store i32 %conv35, i32* %x24, align 4 + br label %if.end36 + +if.end36: ; preds = %if.then33, %if.end30 + %20 = load i32, i32* %x24, align 4 + %conv37 = sext i32 %20 to i64 + store i64 %conv37, i64* %retval, align 8 + br label %return + +return: ; preds = %if.then18, %if.then1, %if.end36, %if.end14 + %21 = load i64, i64* %retval, align 8 + ret i64 %21 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_ppfs_init(%struct.ppfs_t.722* %ppfs, i8* %fmt0) #0 { +entry: + %retval = alloca i32, align 4 + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %fmt0.addr = alloca i8*, align 8 + %r = alloca i32, align 4 + %mbstate = alloca %struct.__mbstate_t.512, align 4 + %p = alloca i8*, align 8 + %p8 = alloca i32*, align 8 + %fmt = alloca i8*, align 8 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store i8* %fmt0, i8** %fmt0.addr, align 8 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %1 = bitcast %struct.ppfs_t.722* %0 to i8* + %call = call i8* @memset(i8* %1, i32 0, i64 176) #19 + %2 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %2, i32 0, i32 2 + %3 = load i32, i32* %maxposarg, align 4 + %dec = add nsw i32 %3, -1 + store i32 %dec, i32* %maxposarg, align 4 + %4 = load i8*, i8** %fmt0.addr, align 8 + %5 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %5, i32 0, i32 0 + store i8* %4, i8** %fmtpos, align 8 + %6 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %6, i32 0, i32 9 + %7 = load i8, i8* %encoding, align 8 + %conv = zext i8 %7 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %if.then, label %if.end7 + +if.then: ; preds = %entry + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %mbstate, i32 0, i32 0 + store i32 0, i32* %__mask, align 4 + %8 = load i8*, i8** %fmt0.addr, align 8 + store i8* %8, i8** %p, align 8 + %call2 = call i64 @mbsrtowcs(i32* null, i8** %p, i64 -1, %struct.__mbstate_t.512* %mbstate) #19 + %cmp3 = icmp eq i64 %call2, -1 + br i1 %cmp3, label %if.then5, label %if.end7 + +if.then5: ; preds = %if.then + %9 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos6 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %9, i32 0, i32 0 + store i8* getelementptr inbounds ([33 x i8], [33 x i8]* @_ppfs_init.invalid_mbs, i64 0, i64 0), i8** %fmtpos6, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end7: ; preds = %if.then, %entry + %10 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %10, i32 0, i32 6 + %arraydecay = getelementptr inbounds [9 x i32], [9 x i32]* %argtype, i64 0, i64 0 + store i32* %arraydecay, i32** %p8, align 8 + store i32 9, i32* %r, align 4 + br label %do.body + +do.body: ; preds = %do.body, %if.end7 + %11 = load i32*, i32** %p8, align 8 + %incdec.ptr = getelementptr inbounds i32, i32* %11, i32 1 + store i32* %incdec.ptr, i32** %p8, align 8 + store i32 8, i32* %11, align 4 + %12 = load i32, i32* %r, align 4 + %dec9 = add nsw i32 %12, -1 + store i32 %dec9, i32* %r, align 4 + %tobool = icmp ne i32 %dec9, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.body + %13 = load i8*, i8** %fmt0.addr, align 8 + store i8* %13, i8** %fmt, align 8 + br label %while.cond + +while.cond: ; preds = %if.end27, %do.end + %14 = load i8*, i8** %fmt, align 8 + %15 = load i8, i8* %14, align 1 + %tobool10 = icmp ne i8 %15, 0 + br i1 %tobool10, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %16 = load i8*, i8** %fmt, align 8 + %17 = load i8, i8* %16, align 1 + %conv11 = sext i8 %17 to i32 + %cmp12 = icmp eq i32 %conv11, 37 + br i1 %cmp12, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %while.body + %18 = load i8*, i8** %fmt, align 8 + %incdec.ptr14 = getelementptr inbounds i8, i8* %18, i32 1 + store i8* %incdec.ptr14, i8** %fmt, align 8 + %19 = load i8, i8* %incdec.ptr14, align 1 + %conv15 = sext i8 %19 to i32 + %cmp16 = icmp ne i32 %conv15, 37 + br i1 %cmp16, label %if.then18, label %if.else + +if.then18: ; preds = %land.lhs.true + %20 = load i8*, i8** %fmt, align 8 + %21 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos19 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %21, i32 0, i32 0 + store i8* %20, i8** %fmtpos19, align 8 + %22 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %call20 = call i32 @_ppfs_parsespec(%struct.ppfs_t.722* %22) #18 + store i32 %call20, i32* %r, align 4 + %cmp21 = icmp slt i32 %call20, 0 + br i1 %cmp21, label %if.then23, label %if.end24 + +if.then23: ; preds = %if.then18 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end24: ; preds = %if.then18 + %23 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos25 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %23, i32 0, i32 0 + %24 = load i8*, i8** %fmtpos25, align 8 + store i8* %24, i8** %fmt, align 8 + br label %if.end27 + +if.else: ; preds = %land.lhs.true, %while.body + %25 = load i8*, i8** %fmt, align 8 + %incdec.ptr26 = getelementptr inbounds i8, i8* %25, i32 1 + store i8* %incdec.ptr26, i8** %fmt, align 8 + br label %if.end27 + +if.end27: ; preds = %if.else, %if.end24 + br label %while.cond + +while.end: ; preds = %while.cond + %26 = load i8*, i8** %fmt0.addr, align 8 + %27 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos28 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %27, i32 0, i32 0 + store i8* %26, i8** %fmtpos28, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %while.end, %if.then23, %if.then5 + %28 = load i32, i32* %retval, align 4 + ret i32 %28 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_ppfs_parsespec(%struct.ppfs_t.722* %ppfs) #0 { +entry: + %retval = alloca i32, align 4 + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %fmt = alloca i8*, align 8 + %p = alloca i8*, align 8 + %preci = alloca i32, align 4 + %width = alloca i32, align 4 + %flags = alloca i32, align 4 + %dataargtype = alloca i32, align 4 + %i = alloca i32, align 4 + %dpoint = alloca i32, align 4 + %maxposarg = alloca i32, align 4 + %p_m_spec_chars = alloca i32, align 4 + %n = alloca i32, align 4 + %argtype = alloca [3 x i32], align 4 + %argnumber = alloca [3 x i32], align 4 + %buf = alloca [32 x i8], align 16 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store i32 -1, i32* %preci, align 4 + %arrayidx = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 0 + store i32 0, i32* %arrayidx, align 4 + %arrayidx1 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 1 + store i32 0, i32* %arrayidx1, align 4 + %arrayidx2 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 0 + store i32 8, i32* %arrayidx2, align 4 + %arrayidx3 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 1 + store i32 8, i32* %arrayidx3, align 4 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg4 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %0, i32 0, i32 2 + %1 = load i32, i32* %maxposarg4, align 4 + store i32 %1, i32* %maxposarg, align 4 + store i32 0, i32* %dpoint, align 4 + store i32 0, i32* %width, align 4 + %2 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %2, i32 0, i32 1 + %_flags = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 3 + %3 = load i32, i32* %_flags, align 4 + %and = and i32 %3, 128 + store i32 %and, i32* %flags, align 4 + %cmp = icmp eq i32 %and, 0 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %4 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %4, i32 0, i32 0 + %5 = load i8*, i8** %fmtpos, align 8 + store i8* %5, i8** %fmt, align 8 + br label %if.end20 + +if.else: ; preds = %entry + %arraydecay = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 1 + store i8* %add.ptr, i8** %fmt, align 8 + store i32 0, i32* %i, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %if.else + %6 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos5 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %6, i32 0, i32 0 + %7 = load i8*, i8** %fmtpos5, align 8 + %8 = bitcast i8* %7 to i32* + %9 = load i32, i32* %i, align 4 + %sub = sub nsw i32 %9, 1 + %idxprom = sext i32 %sub to i64 + %arrayidx6 = getelementptr inbounds i32, i32* %8, i64 %idxprom + %10 = load i32, i32* %arrayidx6, align 4 + %conv = trunc i32 %10 to i8 + %11 = load i32, i32* %i, align 4 + %idxprom7 = sext i32 %11 to i64 + %arrayidx8 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 %idxprom7 + store i8 %conv, i8* %arrayidx8, align 1 + %conv9 = sext i8 %conv to i32 + %12 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos10 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %12, i32 0, i32 0 + %13 = load i8*, i8** %fmtpos10, align 8 + %14 = bitcast i8* %13 to i32* + %15 = load i32, i32* %i, align 4 + %sub11 = sub nsw i32 %15, 1 + %idxprom12 = sext i32 %sub11 to i64 + %arrayidx13 = getelementptr inbounds i32, i32* %14, i64 %idxprom12 + %16 = load i32, i32* %arrayidx13, align 4 + %cmp14 = icmp ne i32 %conv9, %16 + br i1 %cmp14, label %if.then16, label %do.cond + +if.then16: ; preds = %do.body + store i32 -1, i32* %retval, align 4 + br label %return + +do.cond: ; preds = %do.body + %17 = load i32, i32* %i, align 4 + %inc = add nsw i32 %17, 1 + store i32 %inc, i32* %i, align 4 + %idxprom17 = sext i32 %17 to i64 + %arrayidx18 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 %idxprom17 + %18 = load i8, i8* %arrayidx18, align 1 + %tobool = icmp ne i8 %18, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %arrayidx19 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 31 + store i8 0, i8* %arrayidx19, align 1 + br label %if.end20 + +if.end20: ; preds = %do.end, %if.then + br label %width_precision + +width_precision: ; preds = %do.end89, %if.then129, %if.end20 + %19 = load i8*, i8** %fmt, align 8 + store i8* %19, i8** %p, align 8 + %20 = load i8*, i8** %fmt, align 8 + %21 = load i8, i8* %20, align 1 + %conv21 = sext i8 %21 to i32 + %cmp22 = icmp eq i32 %conv21, 42 + br i1 %cmp22, label %if.then24, label %if.end28 + +if.then24: ; preds = %width_precision + %22 = load i32, i32* %dpoint, align 4 + %sub25 = sub nsw i32 0, %22 + %idxprom26 = sext i32 %sub25 to i64 + %arrayidx27 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 %idxprom26 + store i32 0, i32* %arrayidx27, align 4 + %23 = load i8*, i8** %fmt, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %23, i32 1 + store i8* %incdec.ptr, i8** %fmt, align 8 + br label %if.end28 + +if.end28: ; preds = %if.then24, %width_precision + store i32 0, i32* %i, align 4 + br label %while.cond + +while.cond: ; preds = %if.end40, %if.end28 + %call = call i16** @__ctype_b_loc() #21 + %24 = load i16*, i16** %call, align 8 + %25 = load i8*, i8** %fmt, align 8 + %26 = load i8, i8* %25, align 1 + %conv29 = sext i8 %26 to i32 + %idxprom30 = sext i32 %conv29 to i64 + %arrayidx31 = getelementptr inbounds i16, i16* %24, i64 %idxprom30 + %27 = load i16, i16* %arrayidx31, align 2 + %conv32 = zext i16 %27 to i32 + %and33 = and i32 %conv32, 2048 + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %28 = load i32, i32* %i, align 4 + %cmp35 = icmp slt i32 %28, 4095 + br i1 %cmp35, label %if.then37, label %if.end40 + +if.then37: ; preds = %while.body + %29 = load i32, i32* %i, align 4 + %mul = mul nsw i32 %29, 10 + %30 = load i8*, i8** %fmt, align 8 + %31 = load i8, i8* %30, align 1 + %conv38 = sext i8 %31 to i32 + %sub39 = sub nsw i32 %conv38, 48 + %add = add nsw i32 %mul, %sub39 + store i32 %add, i32* %i, align 4 + br label %if.end40 + +if.end40: ; preds = %if.then37, %while.body + %32 = load i8*, i8** %fmt, align 8 + %incdec.ptr41 = getelementptr inbounds i8, i8* %32, i32 1 + store i8* %incdec.ptr41, i8** %fmt, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %33 = load i8*, i8** %p, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %33, i64 -1 + %34 = load i8, i8* %arrayidx42, align 1 + %conv43 = sext i8 %34 to i32 + %cmp44 = icmp eq i32 %conv43, 37 + br i1 %cmp44, label %if.then46, label %PREC_WIDTH + +if.then46: ; preds = %while.end + %35 = load i8*, i8** %fmt, align 8 + %36 = load i8, i8* %35, align 1 + %conv47 = sext i8 %36 to i32 + %cmp48 = icmp eq i32 %conv47, 36 + %37 = load i32, i32* %i, align 4 + %cmp50 = icmp sgt i32 %37, 0 + %or.cond = and i1 %cmp48, %cmp50 + br i1 %or.cond, label %if.then52, label %if.else63 + +if.then52: ; preds = %if.then46 + %38 = load i8*, i8** %fmt, align 8 + %incdec.ptr53 = getelementptr inbounds i8, i8* %38, i32 1 + store i8* %incdec.ptr53, i8** %fmt, align 8 + %39 = load i32, i32* %maxposarg, align 4 + %cmp54 = icmp eq i32 %39, 0 + br i1 %cmp54, label %if.then56, label %if.end57 + +if.then56: ; preds = %if.then52 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end57: ; preds = %if.then52 + %40 = load i32, i32* %i, align 4 + %arrayidx58 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 2 + store i32 %40, i32* %arrayidx58, align 4 + %41 = load i32, i32* %maxposarg, align 4 + %cmp59 = icmp sgt i32 %40, %41 + br i1 %cmp59, label %if.then61, label %if.end76 + +if.then61: ; preds = %if.end57 + %42 = load i32, i32* %i, align 4 + store i32 %42, i32* %maxposarg, align 4 + br label %if.end76 + +if.else63: ; preds = %if.then46 + %43 = load i32, i32* %maxposarg, align 4 + %cmp64 = icmp sgt i32 %43, 0 + br i1 %cmp64, label %if.then66, label %if.end67 + +if.then66: ; preds = %if.else63 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end67: ; preds = %if.else63 + store i32 0, i32* %maxposarg, align 4 + %44 = load i8*, i8** %fmt, align 8 + %45 = load i8*, i8** %p, align 8 + %cmp68 = icmp ugt i8* %44, %45 + br i1 %cmp68, label %land.lhs.true70, label %if.end75 + +land.lhs.true70: ; preds = %if.end67 + %46 = load i8*, i8** %p, align 8 + %47 = load i8, i8* %46, align 1 + %conv71 = sext i8 %47 to i32 + %cmp72 = icmp ne i32 %conv71, 48 + br i1 %cmp72, label %PREC_WIDTH, label %if.end75 + +if.end75: ; preds = %land.lhs.true70, %if.end67 + %48 = load i8*, i8** %p, align 8 + store i8* %48, i8** %fmt, align 8 + br label %if.end76 + +if.end76: ; preds = %if.end57, %if.then61, %if.end75 + br label %restart_flags + +restart_flags: ; preds = %if.then83, %if.end76 + store i32 1, i32* %i, align 4 + store i8* getelementptr inbounds ([8 x i8], [8 x i8]* @_ppfs_parsespec.spec_flags, i64 0, i64 0), i8** %p, align 8 + br label %do.body77 + +do.body77: ; preds = %if.end85, %restart_flags + %49 = load i8*, i8** %fmt, align 8 + %50 = load i8, i8* %49, align 1 + %conv78 = sext i8 %50 to i32 + %51 = load i8*, i8** %p, align 8 + %incdec.ptr79 = getelementptr inbounds i8, i8* %51, i32 1 + store i8* %incdec.ptr79, i8** %p, align 8 + %52 = load i8, i8* %51, align 1 + %conv80 = sext i8 %52 to i32 + %cmp81 = icmp eq i32 %conv78, %conv80 + br i1 %cmp81, label %if.then83, label %if.end85 + +if.then83: ; preds = %do.body77 + %53 = load i8*, i8** %fmt, align 8 + %incdec.ptr84 = getelementptr inbounds i8, i8* %53, i32 1 + store i8* %incdec.ptr84, i8** %fmt, align 8 + %54 = load i32, i32* %i, align 4 + %55 = load i32, i32* %flags, align 4 + %or = or i32 %55, %54 + store i32 %or, i32* %flags, align 4 + br label %restart_flags + +if.end85: ; preds = %do.body77 + %56 = load i32, i32* %i, align 4 + %57 = load i32, i32* %i, align 4 + %add86 = add nsw i32 %57, %56 + store i32 %add86, i32* %i, align 4 + %58 = load i8*, i8** %p, align 8 + %59 = load i8, i8* %58, align 1 + %tobool88 = icmp ne i8 %59, 0 + br i1 %tobool88, label %do.body77, label %do.end89 + +do.end89: ; preds = %if.end85 + store i32 0, i32* %i, align 4 + %60 = load i32, i32* %flags, align 4 + %and90 = and i32 %60, 10 + %shr = ashr i32 %and90, 1 + %neg = xor i32 %shr, -1 + %61 = load i32, i32* %flags, align 4 + %and91 = and i32 %61, %neg + store i32 %and91, i32* %flags, align 4 + %62 = load i8*, i8** %fmt, align 8 + %arrayidx92 = getelementptr inbounds i8, i8* %62, i64 -1 + %63 = load i8, i8* %arrayidx92, align 1 + %conv93 = sext i8 %63 to i32 + %cmp94 = icmp ne i32 %conv93, 37 + br i1 %cmp94, label %width_precision, label %PREC_WIDTH + +PREC_WIDTH: ; preds = %while.end, %do.end89, %land.lhs.true70 + %64 = load i8*, i8** %p, align 8 + %65 = load i8, i8* %64, align 1 + %conv99 = sext i8 %65 to i32 + %cmp100 = icmp eq i32 %conv99, 42 + br i1 %cmp100, label %if.then102, label %if.end123 + +if.then102: ; preds = %PREC_WIDTH + %66 = load i32, i32* %maxposarg, align 4 + %tobool103 = icmp ne i32 %66, 0 + br i1 %tobool103, label %if.then104, label %if.else116 + +if.then104: ; preds = %if.then102 + %67 = load i8*, i8** %fmt, align 8 + %incdec.ptr105 = getelementptr inbounds i8, i8* %67, i32 1 + store i8* %incdec.ptr105, i8** %fmt, align 8 + %68 = load i8, i8* %67, align 1 + %conv106 = sext i8 %68 to i32 + %cmp107 = icmp ne i32 %conv106, 36 + %69 = load i32, i32* %i, align 4 + %cmp109 = icmp sle i32 %69, 0 + %or.cond1 = or i1 %cmp107, %cmp109 + br i1 %or.cond1, label %if.then111, label %if.end112 + +if.then111: ; preds = %if.then104 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end112: ; preds = %if.then104 + %70 = load i32, i32* %i, align 4 + %71 = load i32, i32* %dpoint, align 4 + %sub113 = sub nsw i32 0, %71 + %idxprom114 = sext i32 %sub113 to i64 + %arrayidx115 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 %idxprom114 + store i32 %70, i32* %arrayidx115, align 4 + br label %if.end122 + +if.else116: ; preds = %if.then102 + %72 = load i8*, i8** %p, align 8 + %incdec.ptr117 = getelementptr inbounds i8, i8* %72, i32 1 + store i8* %incdec.ptr117, i8** %p, align 8 + %73 = load i8*, i8** %fmt, align 8 + %cmp118 = icmp ne i8* %incdec.ptr117, %73 + br i1 %cmp118, label %if.then120, label %if.end122 + +if.then120: ; preds = %if.else116 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end122: ; preds = %if.else116, %if.end112 + store i32 -2147483648, i32* %i, align 4 + br label %if.end123 + +if.end123: ; preds = %if.end122, %PREC_WIDTH + %74 = load i32, i32* %dpoint, align 4 + %tobool124 = icmp ne i32 %74, 0 + %75 = load i32, i32* %i, align 4 + br i1 %tobool124, label %if.else132, label %if.then125 + +if.then125: ; preds = %if.end123 + store i32 %75, i32* %width, align 4 + %76 = load i8*, i8** %fmt, align 8 + %77 = load i8, i8* %76, align 1 + %conv126 = sext i8 %77 to i32 + %cmp127 = icmp eq i32 %conv126, 46 + br i1 %cmp127, label %if.then129, label %if.end133 + +if.then129: ; preds = %if.then125 + %78 = load i8*, i8** %fmt, align 8 + %incdec.ptr130 = getelementptr inbounds i8, i8* %78, i32 1 + store i8* %incdec.ptr130, i8** %fmt, align 8 + store i32 -1, i32* %dpoint, align 4 + br label %width_precision + +if.else132: ; preds = %if.end123 + store i32 %75, i32* %preci, align 4 + br label %if.end133 + +if.end133: ; preds = %if.then125, %if.else132 + store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @_ppfs_parsespec.qual_chars, i64 0, i64 0), i8** %p, align 8 + br label %do.body134 + +do.body134: ; preds = %do.cond142, %if.end133 + %79 = load i8*, i8** %fmt, align 8 + %80 = load i8, i8* %79, align 1 + %conv135 = sext i8 %80 to i32 + %81 = load i8*, i8** %p, align 8 + %82 = load i8, i8* %81, align 1 + %conv136 = sext i8 %82 to i32 + %cmp137 = icmp eq i32 %conv135, %conv136 + br i1 %cmp137, label %if.then139, label %do.cond142 + +if.then139: ; preds = %do.body134 + %83 = load i8*, i8** %fmt, align 8 + %incdec.ptr140 = getelementptr inbounds i8, i8* %83, i32 1 + store i8* %incdec.ptr140, i8** %fmt, align 8 + br label %do.end145 + +do.cond142: ; preds = %do.body134 + %84 = load i8*, i8** %p, align 8 + %incdec.ptr143 = getelementptr inbounds i8, i8* %84, i32 1 + store i8* %incdec.ptr143, i8** %p, align 8 + %85 = load i8, i8* %incdec.ptr143, align 1 + %tobool144 = icmp ne i8 %85, 0 + br i1 %tobool144, label %do.body134, label %do.end145 + +do.end145: ; preds = %do.cond142, %if.then139 + %86 = load i8*, i8** %p, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %86 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, ptrtoint ([20 x i8]* @_ppfs_parsespec.qual_chars to i64) + %cmp146 = icmp slt i64 %sub.ptr.sub, 2 + br i1 %cmp146, label %land.lhs.true148, label %if.end156 + +land.lhs.true148: ; preds = %do.end145 + %87 = load i8*, i8** %fmt, align 8 + %88 = load i8, i8* %87, align 1 + %conv149 = sext i8 %88 to i32 + %89 = load i8*, i8** %p, align 8 + %90 = load i8, i8* %89, align 1 + %conv150 = sext i8 %90 to i32 + %cmp151 = icmp eq i32 %conv149, %conv150 + br i1 %cmp151, label %if.then153, label %if.end156 + +if.then153: ; preds = %land.lhs.true148 + %91 = load i8*, i8** %p, align 8 + %add.ptr154 = getelementptr inbounds i8, i8* %91, i64 9 + store i8* %add.ptr154, i8** %p, align 8 + %92 = load i8*, i8** %fmt, align 8 + %incdec.ptr155 = getelementptr inbounds i8, i8* %92, i32 1 + store i8* %incdec.ptr155, i8** %fmt, align 8 + br label %if.end156 + +if.end156: ; preds = %if.then153, %land.lhs.true148, %do.end145 + %93 = load i8*, i8** %p, align 8 + %arrayidx157 = getelementptr inbounds i8, i8* %93, i64 9 + %94 = load i8, i8* %arrayidx157, align 1 + %conv158 = sext i8 %94 to i32 + %shl = shl i32 %conv158, 8 + store i32 %shl, i32* %dataargtype, align 4 + %95 = load i8*, i8** %fmt, align 8 + %96 = load i8, i8* %95, align 1 + %tobool159 = icmp ne i8 %96, 0 + br i1 %tobool159, label %if.end161, label %if.then160 + +if.then160: ; preds = %if.end156 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end161: ; preds = %if.end156 + store i8* getelementptr inbounds ([21 x i8], [21 x i8]* @_ppfs_parsespec.spec_chars, i64 0, i64 0), i8** %p, align 8 + br label %do.body162 + +do.body162: ; preds = %do.cond199, %if.end161 + %97 = load i8*, i8** %fmt, align 8 + %98 = load i8, i8* %97, align 1 + %conv163 = sext i8 %98 to i32 + %99 = load i8*, i8** %p, align 8 + %100 = load i8, i8* %99, align 1 + %conv164 = sext i8 %100 to i32 + %cmp165 = icmp eq i32 %conv163, %conv164 + %101 = load i8*, i8** %p, align 8 + br i1 %cmp165, label %if.then167, label %do.cond199 + +if.then167: ; preds = %do.body162 + %sub.ptr.lhs.cast168 = ptrtoint i8* %101 to i64 + %sub.ptr.sub169 = sub i64 %sub.ptr.lhs.cast168, ptrtoint ([21 x i8]* @_ppfs_parsespec.spec_chars to i64) + %conv170 = trunc i64 %sub.ptr.sub169 to i32 + store i32 %conv170, i32* %p_m_spec_chars, align 4 + %102 = load i32, i32* %p_m_spec_chars, align 4 + %cmp171 = icmp sge i32 %102, 18 + br i1 %cmp171, label %land.lhs.true173, label %if.end178 + +land.lhs.true173: ; preds = %if.then167 + %103 = load i32, i32* %dataargtype, align 4 + %and174 = and i32 %103, 1024 + %tobool175 = icmp ne i32 %and174, 0 + br i1 %tobool175, label %if.then176, label %if.end178 + +if.then176: ; preds = %land.lhs.true173 + %104 = load i32, i32* %p_m_spec_chars, align 4 + %sub177 = sub nsw i32 %104, 2 + store i32 %sub177, i32* %p_m_spec_chars, align 4 + br label %if.end178 + +if.end178: ; preds = %if.then176, %land.lhs.true173, %if.then167 + %105 = load i32, i32* %p_m_spec_chars, align 4 + %106 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %106, i32 0, i32 4 + store i32 %105, i32* %conv_num, align 4 + store i8* getelementptr inbounds (i8, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @_ppfs_parsespec.spec_ranges, i64 0, i64 0), i64 -1), i8** %p, align 8 + br label %while.cond179 + +while.cond179: ; preds = %while.cond179, %if.end178 + %107 = load i32, i32* %p_m_spec_chars, align 4 + %108 = load i8*, i8** %p, align 8 + %incdec.ptr180 = getelementptr inbounds i8, i8* %108, i32 1 + store i8* %incdec.ptr180, i8** %p, align 8 + %109 = load i8, i8* %incdec.ptr180, align 1 + %conv181 = sext i8 %109 to i32 + %cmp182 = icmp sgt i32 %107, %conv181 + br i1 %cmp182, label %while.cond179, label %while.end185 + +while.end185: ; preds = %while.cond179 + %110 = load i8*, i8** %p, align 8 + %sub.ptr.lhs.cast186 = ptrtoint i8* %110 to i64 + %sub.ptr.sub187 = sub i64 %sub.ptr.lhs.cast186, ptrtoint ([9 x i8]* @_ppfs_parsespec.spec_ranges to i64) + %conv188 = trunc i64 %sub.ptr.sub187 to i32 + store i32 %conv188, i32* %i, align 4 + %111 = load i32, i32* %dataargtype, align 4 + %112 = load i32, i32* %i, align 4 + %idxprom189 = sext i32 %112 to i64 + %arrayidx190 = getelementptr inbounds [8 x i16], [8 x i16]* @_ppfs_parsespec.spec_or_mask, i64 0, i64 %idxprom189 + %113 = load i16, i16* %arrayidx190, align 2 + %conv191 = sext i16 %113 to i32 + %or192 = or i32 %111, %conv191 + %114 = load i32, i32* %i, align 4 + %idxprom193 = sext i32 %114 to i64 + %arrayidx194 = getelementptr inbounds [8 x i16], [8 x i16]* @_ppfs_parsespec.spec_and_mask, i64 0, i64 %idxprom193 + %115 = load i16, i16* %arrayidx194, align 2 + %conv195 = sext i16 %115 to i32 + %and196 = and i32 %or192, %conv195 + %arrayidx197 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 2 + store i32 %and196, i32* %arrayidx197, align 4 + store i8* getelementptr inbounds ([21 x i8], [21 x i8]* @_ppfs_parsespec.spec_chars, i64 0, i64 0), i8** %p, align 8 + br label %do.end202 + +do.cond199: ; preds = %do.body162 + %incdec.ptr200 = getelementptr inbounds i8, i8* %101, i32 1 + store i8* %incdec.ptr200, i8** %p, align 8 + %116 = load i8, i8* %incdec.ptr200, align 1 + %tobool201 = icmp ne i8 %116, 0 + br i1 %tobool201, label %do.body162, label %do.end202 + +do.end202: ; preds = %do.cond199, %while.end185 + %117 = load i8*, i8** %fmt, align 8 + %118 = load i8, i8* %117, align 1 + %conv203 = sext i8 %118 to i32 + %119 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info204 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %119, i32 0, i32 1 + %spec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info204, i32 0, i32 2 + store i32 %conv203, i32* %spec, align 8 + %120 = load i32, i32* %preci, align 4 + %121 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info205 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %121, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info205, i32 0, i32 0 + store i32 %120, i32* %prec, align 8 + %122 = load i32, i32* %width, align 4 + %123 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info206 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %123, i32 0, i32 1 + %width207 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info206, i32 0, i32 1 + store i32 %122, i32* %width207, align 4 + %124 = load i32, i32* %flags, align 4 + %and208 = and i32 %124, 4 + %tobool209 = icmp ne i32 %and208, 0 + %125 = zext i1 %tobool209 to i64 + %cond = select i1 %tobool209, i32 48, i32 32 + %126 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info210 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %126, i32 0, i32 1 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info210, i32 0, i32 4 + store i32 %cond, i32* %pad, align 8 + %127 = load i32, i32* %flags, align 4 + %and211 = and i32 %127, -5 + %128 = load i32, i32* %dataargtype, align 4 + %and212 = and i32 %128, 3840 + %or213 = or i32 %and211, %and212 + %129 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info214 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %129, i32 0, i32 1 + %_flags215 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info214, i32 0, i32 3 + store i32 %or213, i32* %_flags215, align 4 + %130 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %130, i32 0, i32 3 + store i32 1, i32* %num_data_args, align 8 + %131 = load i8*, i8** %p, align 8 + %132 = load i8, i8* %131, align 1 + %tobool216 = icmp ne i8 %132, 0 + br i1 %tobool216, label %if.end218, label %if.then217 + +if.then217: ; preds = %do.end202 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end218: ; preds = %do.end202 + %133 = load i32, i32* %maxposarg, align 4 + %cmp219 = icmp sgt i32 %133, 0 + br i1 %cmp219, label %if.then221, label %if.else265 + +if.then221: ; preds = %if.end218 + store i32 0, i32* %i, align 4 + br label %do.body222 + +do.body222: ; preds = %do.cond258, %if.then221 + %134 = load i32, i32* %i, align 4 + %cmp223 = icmp sle i32 %134, 2 + br i1 %cmp223, label %cond.true, label %cond.false + +cond.true: ; preds = %do.body222 + %135 = load i32, i32* %i, align 4 + %idxprom225 = sext i32 %135 to i64 + %arrayidx226 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 %idxprom225 + %136 = load i32, i32* %arrayidx226, align 4 + %conv227 = trunc i32 %136 to i8 + %137 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber228 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %137, i32 0, i32 5 + %138 = load i32, i32* %i, align 4 + %idxprom229 = sext i32 %138 to i64 + %arrayidx230 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber228, i64 0, i64 %idxprom229 + store i8 %conv227, i8* %arrayidx230, align 1 + %conv231 = zext i8 %conv227 to i32 + br label %cond.end + +cond.false: ; preds = %do.body222 + %arrayidx232 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 2 + %139 = load i32, i32* %arrayidx232, align 4 + %140 = load i32, i32* %i, align 4 + %sub233 = sub nsw i32 %140, 2 + %add234 = add nsw i32 %139, %sub233 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond235 = phi i32 [ %conv231, %cond.true ], [ %add234, %cond.false ] + store i32 %cond235, i32* %n, align 4 + %141 = load i32, i32* %n, align 4 + %142 = load i32, i32* %maxposarg, align 4 + %cmp236 = icmp sgt i32 %141, %142 + br i1 %cmp236, label %if.then238, label %if.end243 + +if.then238: ; preds = %cond.end + %143 = load i32, i32* %n, align 4 + store i32 %143, i32* %maxposarg, align 4 + %cmp239 = icmp sgt i32 %143, 9 + br i1 %cmp239, label %if.then241, label %if.end243 + +if.then241: ; preds = %if.then238 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end243: ; preds = %if.then238, %cond.end + %144 = load i32, i32* %n, align 4 + %dec = add nsw i32 %144, -1 + store i32 %dec, i32* %n, align 4 + %145 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype244 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %145, i32 0, i32 6 + %146 = load i32, i32* %n, align 4 + %idxprom245 = sext i32 %146 to i64 + %arrayidx246 = getelementptr inbounds [9 x i32], [9 x i32]* %argtype244, i64 0, i64 %idxprom245 + %147 = load i32, i32* %arrayidx246, align 4 + %148 = load i32, i32* %i, align 4 + %idxprom247 = sext i32 %148 to i64 + %arrayidx248 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 %idxprom247 + %149 = load i32, i32* %arrayidx248, align 4 + %call249 = call i32 @_is_equal_or_bigger_arg(i32 %147, i32 %149) #18 + %tobool250 = icmp ne i32 %call249, 0 + br i1 %tobool250, label %if.then251, label %do.cond258 + +if.then251: ; preds = %if.end243 + %150 = load i32, i32* %i, align 4 + %idxprom252 = sext i32 %150 to i64 + %arrayidx253 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 %idxprom252 + %151 = load i32, i32* %arrayidx253, align 4 + %152 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype254 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %152, i32 0, i32 6 + %153 = load i32, i32* %n, align 4 + %idxprom255 = sext i32 %153 to i64 + %arrayidx256 = getelementptr inbounds [9 x i32], [9 x i32]* %argtype254, i64 0, i64 %idxprom255 + store i32 %151, i32* %arrayidx256, align 4 + br label %do.cond258 + +do.cond258: ; preds = %if.end243, %if.then251 + %154 = load i32, i32* %i, align 4 + %inc259 = add nsw i32 %154, 1 + store i32 %inc259, i32* %i, align 4 + %155 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args260 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %155, i32 0, i32 3 + %156 = load i32, i32* %num_data_args260, align 8 + %add261 = add nsw i32 %156, 2 + %cmp262 = icmp slt i32 %inc259, %add261 + br i1 %cmp262, label %do.body222, label %if.end276 + +if.else265: ; preds = %if.end218 + %157 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber266 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %157, i32 0, i32 5 + %arrayidx267 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber266, i64 0, i64 2 + store i8 1, i8* %arrayidx267, align 2 + %158 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype268 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %158, i32 0, i32 6 + %arraydecay269 = getelementptr inbounds [9 x i32], [9 x i32]* %argtype268, i64 0, i64 0 + %159 = bitcast i32* %arraydecay269 to i8* + %arraydecay270 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 0 + %add.ptr271 = getelementptr inbounds i32, i32* %arraydecay270, i64 2 + %160 = bitcast i32* %add.ptr271 to i8* + %161 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args272 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %161, i32 0, i32 3 + %162 = load i32, i32* %num_data_args272, align 8 + %conv273 = sext i32 %162 to i64 + %mul274 = mul i64 %conv273, 4 + %call275 = call i8* @memcpy(i8* %159, i8* %160, i64 %mul274) #19 + br label %if.end276 + +if.end276: ; preds = %do.cond258, %if.else265 + %163 = load i32, i32* %maxposarg, align 4 + %164 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg277 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %164, i32 0, i32 2 + store i32 %163, i32* %maxposarg277, align 4 + %165 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info278 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %165, i32 0, i32 1 + %_flags279 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info278, i32 0, i32 3 + %166 = load i32, i32* %_flags279, align 4 + %and280 = and i32 %166, 128 + store i32 %and280, i32* %flags, align 4 + %cmp281 = icmp eq i32 %and280, 0 + br i1 %cmp281, label %if.then283, label %if.else286 + +if.then283: ; preds = %if.end276 + %167 = load i8*, i8** %fmt, align 8 + %incdec.ptr284 = getelementptr inbounds i8, i8* %167, i32 1 + store i8* %incdec.ptr284, i8** %fmt, align 8 + %168 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos285 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %168, i32 0, i32 0 + store i8* %incdec.ptr284, i8** %fmtpos285, align 8 + br label %if.end293 + +if.else286: ; preds = %if.end276 + %169 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos287 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %169, i32 0, i32 0 + %170 = load i8*, i8** %fmtpos287, align 8 + %171 = bitcast i8* %170 to i32* + %172 = load i8*, i8** %fmt, align 8 + %arraydecay288 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 0 + %sub.ptr.lhs.cast289 = ptrtoint i8* %172 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %arraydecay288 to i64 + %sub.ptr.sub290 = sub i64 %sub.ptr.lhs.cast289, %sub.ptr.rhs.cast + %add.ptr291 = getelementptr inbounds i32, i32* %171, i64 %sub.ptr.sub290 + %173 = bitcast i32* %add.ptr291 to i8* + %174 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos292 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %174, i32 0, i32 0 + store i8* %173, i8** %fmtpos292, align 8 + br label %if.end293 + +if.end293: ; preds = %if.else286, %if.then283 + %175 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args294 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %175, i32 0, i32 3 + %176 = load i32, i32* %num_data_args294, align 8 + %add295 = add nsw i32 %176, 2 + store i32 %add295, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end293, %if.then241, %if.then217, %if.then160, %if.then120, %if.then111, %if.then66, %if.then56, %if.then16 + %177 = load i32, i32* %retval, align 4 + ret i32 %177 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_is_equal_or_bigger_arg(i32 %curtype, i32 %newtype) #0 { +entry: + %retval = alloca i32, align 4 + %curtype.addr = alloca i32, align 4 + %newtype.addr = alloca i32, align 4 + store i32 %curtype, i32* %curtype.addr, align 4 + store i32 %newtype, i32* %newtype.addr, align 4 + %0 = load i32, i32* %newtype.addr, align 4 + %cmp = icmp eq i32 %0, 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %1 = load i32, i32* %curtype.addr, align 4 + %cmp1 = icmp eq i32 %1, 8 + br i1 %cmp1, label %if.then3, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %2 = load i32, i32* %curtype.addr, align 4 + %3 = load i32, i32* %newtype.addr, align 4 + %cmp2 = icmp eq i32 %2, %3 + br i1 %cmp2, label %if.then3, label %if.end4 + +if.then3: ; preds = %lor.lhs.false, %if.end + store i32 1, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %lor.lhs.false + %4 = load i32, i32* %curtype.addr, align 4 + %call = call i32 @_promoted_size(i32 %4) #18 + %5 = load i32, i32* %newtype.addr, align 4 + %call5 = call i32 @_promoted_size(i32 %5) #18 + %cmp6 = icmp sle i32 %call, %call5 + %conv = zext i1 %cmp6 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_promoted_size(i32 %argtype) #0 { +entry: + %argtype.addr = alloca i32, align 4 + %p = alloca i16*, align 8 + store i32 %argtype, i32* %argtype.addr, align 4 + store i16* getelementptr inbounds (i16, i16* getelementptr inbounds ([12 x i16], [12 x i16]* @type_codes, i64 0, i64 0), i64 12), i16** %p, align 8 + br label %do.body + +do.body: ; preds = %do.body, %entry + %0 = load i16*, i16** %p, align 8 + %incdec.ptr = getelementptr inbounds i16, i16* %0, i32 -1 + store i16* %incdec.ptr, i16** %p, align 8 + %1 = load i16, i16* %incdec.ptr, align 2 + %conv = sext i16 %1 to i32 + %2 = load i32, i32* %argtype.addr, align 4 + %cmp = icmp ne i32 %conv, %2 + %3 = load i16*, i16** %p, align 8 + %cmp2 = icmp ugt i16* %3, getelementptr inbounds ([12 x i16], [12 x i16]* @type_codes, i64 0, i64 0) + %or.cond = and i1 %cmp, %cmp2 + br i1 %or.cond, label %do.body, label %do.end + +do.end: ; preds = %do.body + %4 = load i16*, i16** %p, align 8 + %sub.ptr.lhs.cast = ptrtoint i16* %4 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, ptrtoint ([12 x i16]* @type_codes to i64) + %sub.ptr.div = sdiv exact i64 %sub.ptr.sub, 2 + %conv4 = trunc i64 %sub.ptr.div to i32 + %idxprom = sext i32 %conv4 to i64 + %arrayidx = getelementptr inbounds [12 x i8], [12 x i8]* @type_sizes, i64 0, i64 %idxprom + %5 = load i8, i8* %arrayidx, align 1 + %conv5 = zext i8 %5 to i32 + ret i32 %conv5 +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_ppfs_prepargs(%struct.ppfs_t.722* %ppfs, %struct.__va_list_tag.0* %arg) #0 { +entry: + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %arg.addr = alloca %struct.__va_list_tag.0*, align 8 + %i = alloca i32, align 4 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store %struct.__va_list_tag.0* %arg, %struct.__va_list_tag.0** %arg.addr, align 8 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg1 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %0, i32 0, i32 7 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg1, i64 0, i64 0 + %1 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %arg.addr, align 8 + %2 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + %3 = bitcast %struct.__va_list_tag.0* %1 to i8* + %vacopy.cast.dst = bitcast i8* %2 to i64* + %vacopy.cast.src = bitcast i8* %3 to i64* + %4 = load i64, i64* %vacopy.cast.src, align 8 + store volatile i64 %4, i64* %vacopy.cast.dst, align 8 + %5 = getelementptr i64, i64* %vacopy.cast.dst, i64 1 + %6 = getelementptr i64, i64* %vacopy.cast.src, i64 1 + %7 = load i64, i64* %6, align 8 + store i64 %7, i64* %5, align 8 + %8 = getelementptr i64, i64* %5, i64 1 + %9 = getelementptr i64, i64* %6, i64 1 + %10 = load i64, i64* %9, align 8 + store i64 %10, i64* %8, align 8 + %11 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %11, i32 0, i32 2 + %12 = load i32, i32* %maxposarg, align 4 + store i32 %12, i32* %i, align 4 + %cmp = icmp sgt i32 %12, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %13 = load i32, i32* %i, align 4 + %14 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %14, i32 0, i32 3 + store i32 %13, i32* %num_data_args, align 8 + %15 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg2 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %15, i32 0, i32 2 + store i32 0, i32* %maxposarg2, align 4 + %16 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %16, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 0 + store i32 0, i32* %prec, align 8 + %17 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info3 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %17, i32 0, i32 1 + %width = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info3, i32 0, i32 1 + store i32 0, i32* %width, align 4 + %18 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + call void @_ppfs_setargs(%struct.ppfs_t.722* %18) #18 + %19 = load i32, i32* %i, align 4 + %20 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg4 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %20, i32 0, i32 2 + store i32 %19, i32* %maxposarg4, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + ret void +} + +; Function Attrs: nounwind +declare void @llvm.va_copy(i8*, i8*) #11 + +; Function Attrs: noinline nounwind uwtable +define hidden void @_ppfs_setargs(%struct.ppfs_t.722* %ppfs) #0 { +entry: + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %p = alloca %union.anon.193*, align 8 + %i = alloca i32, align 4 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argvalue = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %0, i32 0, i32 8 + %arraydecay = getelementptr inbounds [9 x %union.anon.193], [9 x %union.anon.193]* %argvalue, i64 0, i64 0 + store %union.anon.193* %arraydecay, %union.anon.193** %p, align 8 + %1 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %1, i32 0, i32 2 + %2 = load i32, i32* %maxposarg, align 4 + %cmp = icmp eq i32 %2, 0 + %3 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %3, i32 0, i32 1 + %width = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 1 + %4 = load i32, i32* %width, align 4 + %cmp1 = icmp eq i32 %4, -2147483648 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + br i1 %cmp1, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + %5 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %5, i32 0, i32 7 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 8 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then2 + %6 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 3 + %reg_save_area = load i8*, i8** %6, align 8 + %7 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %8 = bitcast i8* %7 to i32* + %9 = add i32 %gp_offset, 8 + store i32 %9, i32* %gp_offset_p, align 8 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then2 + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %10 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %8, %vaarg.in_reg ], [ %10, %vaarg.in_mem ] + %11 = load i32, i32* %vaarg.addr, align 4 + %12 = load %union.anon.193*, %union.anon.193** %p, align 8 + %u = bitcast %union.anon.193* %12 to i32* + store i32 %11, i32* %u, align 8 + %13 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info4 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %13, i32 0, i32 1 + %width5 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info4, i32 0, i32 1 + store i32 %11, i32* %width5, align 4 + br label %if.end + +if.end: ; preds = %vaarg.end, %if.then + %14 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info6 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %14, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info6, i32 0, i32 0 + %15 = load i32, i32* %prec, align 8 + %cmp7 = icmp eq i32 %15, -2147483648 + br i1 %cmp7, label %if.then8, label %if.end25 + +if.then8: ; preds = %if.end + %16 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg9 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %16, i32 0, i32 7 + %arraydecay10 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg9, i64 0, i64 0 + %gp_offset_p11 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay10, i32 0, i32 0 + %gp_offset12 = load i32, i32* %gp_offset_p11, align 8 + %fits_in_gp13 = icmp ule i32 %gp_offset12, 40 + br i1 %fits_in_gp13, label %vaarg.in_reg14, label %vaarg.in_mem16 + +vaarg.in_reg14: ; preds = %if.then8 + %17 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay10, i32 0, i32 3 + %reg_save_area15 = load i8*, i8** %17, align 8 + %18 = getelementptr i8, i8* %reg_save_area15, i32 %gp_offset12 + %19 = bitcast i8* %18 to i32* + %20 = add i32 %gp_offset12, 8 + store i32 %20, i32* %gp_offset_p11, align 8 + br label %vaarg.end20 + +vaarg.in_mem16: ; preds = %if.then8 + %overflow_arg_area_p17 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay10, i32 0, i32 2 + %overflow_arg_area18 = load i8*, i8** %overflow_arg_area_p17, align 8 + %21 = bitcast i8* %overflow_arg_area18 to i32* + %overflow_arg_area.next19 = getelementptr i8, i8* %overflow_arg_area18, i32 8 + store i8* %overflow_arg_area.next19, i8** %overflow_arg_area_p17, align 8 + br label %vaarg.end20 + +vaarg.end20: ; preds = %vaarg.in_mem16, %vaarg.in_reg14 + %vaarg.addr21 = phi i32* [ %19, %vaarg.in_reg14 ], [ %21, %vaarg.in_mem16 ] + %22 = load i32, i32* %vaarg.addr21, align 4 + %23 = load %union.anon.193*, %union.anon.193** %p, align 8 + %u22 = bitcast %union.anon.193* %23 to i32* + store i32 %22, i32* %u22, align 8 + %24 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info23 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %24, i32 0, i32 1 + %prec24 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info23, i32 0, i32 0 + store i32 %22, i32* %prec24, align 8 + br label %if.end25 + +if.end25: ; preds = %vaarg.end20, %if.end + store i32 0, i32* %i, align 4 + br label %while.cond + +while.cond: ; preds = %NodeBlock, %sw.epilog, %if.end25 + %25 = load i32, i32* %i, align 4 + %26 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %26, i32 0, i32 3 + %27 = load i32, i32* %num_data_args, align 8 + %cmp26 = icmp slt i32 %25, %27 + br i1 %cmp26, label %while.body, label %if.end149 + +while.body: ; preds = %while.cond + %28 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %28, i32 0, i32 6 + %29 = load i32, i32* %i, align 4 + %inc = add nsw i32 %29, 1 + store i32 %inc, i32* %i, align 4 + %idxprom = sext i32 %29 to i64 + %arrayidx = getelementptr inbounds [9 x i32], [9 x i32]* %argtype, i64 0, i64 %idxprom + %30 = load i32, i32* %arrayidx, align 4 + br label %NodeBlock17 + +NodeBlock17: ; preds = %while.body + %case.cmp18 = icmp eq i32 %30, 2048 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %30, 1024 + br i1 %case.cmp16, label %sw.bb40, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %30, 1 + br i1 %case.cmp14, label %sw.bb54, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %30, 256 + br i1 %case.cmp12, label %sw.bb54, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %30, 512 + br i1 %case.cmp10, label %sw.bb54, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %30, 0 + br i1 %case.cmp8, label %sw.bb54, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %30, 2 + br i1 %case.cmp6, label %sw.bb69, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %30, 7 + br i1 %case.cmp4, label %sw.bb83, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %30, 2055 + br i1 %case.cmp2, label %sw.bb94, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %30, 8 + br i1 %case.cmp, label %while.cond, label %newDefault + +sw.bb: ; preds = %NodeBlock17 + %31 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg27 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %31, i32 0, i32 7 + %arraydecay28 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg27, i64 0, i64 0 + %gp_offset_p29 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay28, i32 0, i32 0 + %gp_offset30 = load i32, i32* %gp_offset_p29, align 8 + %fits_in_gp31 = icmp ule i32 %gp_offset30, 40 + br i1 %fits_in_gp31, label %vaarg.in_reg32, label %vaarg.in_mem34 + +vaarg.in_reg32: ; preds = %sw.bb + %32 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay28, i32 0, i32 3 + %reg_save_area33 = load i8*, i8** %32, align 8 + %33 = getelementptr i8, i8* %reg_save_area33, i32 %gp_offset30 + %34 = bitcast i8* %33 to i64* + %35 = add i32 %gp_offset30, 8 + store i32 %35, i32* %gp_offset_p29, align 8 + br label %vaarg.end38 + +vaarg.in_mem34: ; preds = %sw.bb + %overflow_arg_area_p35 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay28, i32 0, i32 2 + %overflow_arg_area36 = load i8*, i8** %overflow_arg_area_p35, align 8 + %36 = bitcast i8* %overflow_arg_area36 to i64* + %overflow_arg_area.next37 = getelementptr i8, i8* %overflow_arg_area36, i32 8 + store i8* %overflow_arg_area.next37, i8** %overflow_arg_area_p35, align 8 + br label %vaarg.end38 + +vaarg.end38: ; preds = %vaarg.in_mem34, %vaarg.in_reg32 + %vaarg.addr39 = phi i64* [ %34, %vaarg.in_reg32 ], [ %36, %vaarg.in_mem34 ] + %37 = load i64, i64* %vaarg.addr39, align 8 + %38 = load %union.anon.193*, %union.anon.193** %p, align 8 + %ull = bitcast %union.anon.193* %38 to i64* + store i64 %37, i64* %ull, align 8 + br label %sw.epilog + +sw.bb40: ; preds = %NodeBlock15 + %39 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg41 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %39, i32 0, i32 7 + %arraydecay42 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg41, i64 0, i64 0 + %gp_offset_p43 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay42, i32 0, i32 0 + %gp_offset44 = load i32, i32* %gp_offset_p43, align 8 + %fits_in_gp45 = icmp ule i32 %gp_offset44, 40 + br i1 %fits_in_gp45, label %vaarg.in_reg46, label %vaarg.in_mem48 + +vaarg.in_reg46: ; preds = %sw.bb40 + %40 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay42, i32 0, i32 3 + %reg_save_area47 = load i8*, i8** %40, align 8 + %41 = getelementptr i8, i8* %reg_save_area47, i32 %gp_offset44 + %42 = bitcast i8* %41 to i64* + %43 = add i32 %gp_offset44, 8 + store i32 %43, i32* %gp_offset_p43, align 8 + br label %vaarg.end52 + +vaarg.in_mem48: ; preds = %sw.bb40 + %overflow_arg_area_p49 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay42, i32 0, i32 2 + %overflow_arg_area50 = load i8*, i8** %overflow_arg_area_p49, align 8 + %44 = bitcast i8* %overflow_arg_area50 to i64* + %overflow_arg_area.next51 = getelementptr i8, i8* %overflow_arg_area50, i32 8 + store i8* %overflow_arg_area.next51, i8** %overflow_arg_area_p49, align 8 + br label %vaarg.end52 + +vaarg.end52: ; preds = %vaarg.in_mem48, %vaarg.in_reg46 + %vaarg.addr53 = phi i64* [ %42, %vaarg.in_reg46 ], [ %44, %vaarg.in_mem48 ] + %45 = load i64, i64* %vaarg.addr53, align 8 + %46 = load %union.anon.193*, %union.anon.193** %p, align 8 + %ul = bitcast %union.anon.193* %46 to i64* + store i64 %45, i64* %ul, align 8 + br label %sw.epilog + +sw.bb54: ; preds = %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7 + %47 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg55 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %47, i32 0, i32 7 + %arraydecay56 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg55, i64 0, i64 0 + %gp_offset_p57 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay56, i32 0, i32 0 + %gp_offset58 = load i32, i32* %gp_offset_p57, align 8 + %fits_in_gp59 = icmp ule i32 %gp_offset58, 40 + br i1 %fits_in_gp59, label %vaarg.in_reg60, label %vaarg.in_mem62 + +vaarg.in_reg60: ; preds = %sw.bb54 + %48 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay56, i32 0, i32 3 + %reg_save_area61 = load i8*, i8** %48, align 8 + %49 = getelementptr i8, i8* %reg_save_area61, i32 %gp_offset58 + %50 = bitcast i8* %49 to i32* + %51 = add i32 %gp_offset58, 8 + store i32 %51, i32* %gp_offset_p57, align 8 + br label %vaarg.end66 + +vaarg.in_mem62: ; preds = %sw.bb54 + %overflow_arg_area_p63 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay56, i32 0, i32 2 + %overflow_arg_area64 = load i8*, i8** %overflow_arg_area_p63, align 8 + %52 = bitcast i8* %overflow_arg_area64 to i32* + %overflow_arg_area.next65 = getelementptr i8, i8* %overflow_arg_area64, i32 8 + store i8* %overflow_arg_area.next65, i8** %overflow_arg_area_p63, align 8 + br label %vaarg.end66 + +vaarg.end66: ; preds = %vaarg.in_mem62, %vaarg.in_reg60 + %vaarg.addr67 = phi i32* [ %50, %vaarg.in_reg60 ], [ %52, %vaarg.in_mem62 ] + %53 = load i32, i32* %vaarg.addr67, align 4 + %54 = load %union.anon.193*, %union.anon.193** %p, align 8 + %u68 = bitcast %union.anon.193* %54 to i32* + store i32 %53, i32* %u68, align 8 + br label %sw.epilog + +sw.bb69: ; preds = %NodeBlock5 + %55 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg70 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %55, i32 0, i32 7 + %arraydecay71 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg70, i64 0, i64 0 + %gp_offset_p72 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay71, i32 0, i32 0 + %gp_offset73 = load i32, i32* %gp_offset_p72, align 8 + %fits_in_gp74 = icmp ule i32 %gp_offset73, 40 + br i1 %fits_in_gp74, label %vaarg.in_reg75, label %vaarg.in_mem77 + +vaarg.in_reg75: ; preds = %sw.bb69 + %56 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay71, i32 0, i32 3 + %reg_save_area76 = load i8*, i8** %56, align 8 + %57 = getelementptr i8, i8* %reg_save_area76, i32 %gp_offset73 + %58 = bitcast i8* %57 to i32* + %59 = add i32 %gp_offset73, 8 + store i32 %59, i32* %gp_offset_p72, align 8 + br label %vaarg.end81 + +vaarg.in_mem77: ; preds = %sw.bb69 + %overflow_arg_area_p78 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay71, i32 0, i32 2 + %overflow_arg_area79 = load i8*, i8** %overflow_arg_area_p78, align 8 + %60 = bitcast i8* %overflow_arg_area79 to i32* + %overflow_arg_area.next80 = getelementptr i8, i8* %overflow_arg_area79, i32 8 + store i8* %overflow_arg_area.next80, i8** %overflow_arg_area_p78, align 8 + br label %vaarg.end81 + +vaarg.end81: ; preds = %vaarg.in_mem77, %vaarg.in_reg75 + %vaarg.addr82 = phi i32* [ %58, %vaarg.in_reg75 ], [ %60, %vaarg.in_mem77 ] + %61 = load i32, i32* %vaarg.addr82, align 4 + %62 = load %union.anon.193*, %union.anon.193** %p, align 8 + %wc = bitcast %union.anon.193* %62 to i32* + store i32 %61, i32* %wc, align 8 + br label %sw.epilog + +sw.bb83: ; preds = %NodeBlock3 + %63 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg84 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %63, i32 0, i32 7 + %arraydecay85 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg84, i64 0, i64 0 + %fp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay85, i32 0, i32 1 + %fp_offset = load i32, i32* %fp_offset_p, align 4 + %fits_in_fp = icmp ule i32 %fp_offset, 160 + br i1 %fits_in_fp, label %vaarg.in_reg86, label %vaarg.in_mem88 + +vaarg.in_reg86: ; preds = %sw.bb83 + %64 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay85, i32 0, i32 3 + %reg_save_area87 = load i8*, i8** %64, align 8 + %65 = getelementptr i8, i8* %reg_save_area87, i32 %fp_offset + %66 = bitcast i8* %65 to double* + %67 = add i32 %fp_offset, 16 + store i32 %67, i32* %fp_offset_p, align 4 + br label %vaarg.end92 + +vaarg.in_mem88: ; preds = %sw.bb83 + %overflow_arg_area_p89 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay85, i32 0, i32 2 + %overflow_arg_area90 = load i8*, i8** %overflow_arg_area_p89, align 8 + %68 = bitcast i8* %overflow_arg_area90 to double* + %overflow_arg_area.next91 = getelementptr i8, i8* %overflow_arg_area90, i32 8 + store i8* %overflow_arg_area.next91, i8** %overflow_arg_area_p89, align 8 + br label %vaarg.end92 + +vaarg.end92: ; preds = %vaarg.in_mem88, %vaarg.in_reg86 + %vaarg.addr93 = phi double* [ %66, %vaarg.in_reg86 ], [ %68, %vaarg.in_mem88 ] + %69 = load double, double* %vaarg.addr93, align 8 + %70 = load %union.anon.193*, %union.anon.193** %p, align 8 + %d = bitcast %union.anon.193* %70 to double* + store double %69, double* %d, align 8 + br label %sw.epilog + +sw.bb94: ; preds = %NodeBlock1 + %71 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg95 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %71, i32 0, i32 7 + %arraydecay96 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg95, i64 0, i64 0 + %fp_offset_p97 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay96, i32 0, i32 1 + %fp_offset98 = load i32, i32* %fp_offset_p97, align 4 + %fits_in_fp99 = icmp ule i32 %fp_offset98, 160 + br i1 %fits_in_fp99, label %vaarg.in_reg100, label %vaarg.in_mem102 + +vaarg.in_reg100: ; preds = %sw.bb94 + %72 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay96, i32 0, i32 3 + %reg_save_area101 = load i8*, i8** %72, align 8 + %73 = getelementptr i8, i8* %reg_save_area101, i32 %fp_offset98 + %74 = bitcast i8* %73 to double* + %75 = add i32 %fp_offset98, 16 + store i32 %75, i32* %fp_offset_p97, align 4 + br label %vaarg.end106 + +vaarg.in_mem102: ; preds = %sw.bb94 + %overflow_arg_area_p103 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay96, i32 0, i32 2 + %overflow_arg_area104 = load i8*, i8** %overflow_arg_area_p103, align 8 + %76 = bitcast i8* %overflow_arg_area104 to double* + %overflow_arg_area.next105 = getelementptr i8, i8* %overflow_arg_area104, i32 8 + store i8* %overflow_arg_area.next105, i8** %overflow_arg_area_p103, align 8 + br label %vaarg.end106 + +vaarg.end106: ; preds = %vaarg.in_mem102, %vaarg.in_reg100 + %vaarg.addr107 = phi double* [ %74, %vaarg.in_reg100 ], [ %76, %vaarg.in_mem102 ] + %77 = load double, double* %vaarg.addr107, align 8 + %78 = load %union.anon.193*, %union.anon.193** %p, align 8 + %ld = bitcast %union.anon.193* %78 to double* + store double %77, double* %ld, align 8 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.bb108 + +sw.bb108: ; preds = %newDefault + %79 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg109 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %79, i32 0, i32 7 + %arraydecay110 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg109, i64 0, i64 0 + %gp_offset_p111 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay110, i32 0, i32 0 + %gp_offset112 = load i32, i32* %gp_offset_p111, align 8 + %fits_in_gp113 = icmp ule i32 %gp_offset112, 40 + br i1 %fits_in_gp113, label %vaarg.in_reg114, label %vaarg.in_mem116 + +vaarg.in_reg114: ; preds = %sw.bb108 + %80 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay110, i32 0, i32 3 + %reg_save_area115 = load i8*, i8** %80, align 8 + %81 = getelementptr i8, i8* %reg_save_area115, i32 %gp_offset112 + %82 = bitcast i8* %81 to i8** + %83 = add i32 %gp_offset112, 8 + store i32 %83, i32* %gp_offset_p111, align 8 + br label %vaarg.end120 + +vaarg.in_mem116: ; preds = %sw.bb108 + %overflow_arg_area_p117 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay110, i32 0, i32 2 + %overflow_arg_area118 = load i8*, i8** %overflow_arg_area_p117, align 8 + %84 = bitcast i8* %overflow_arg_area118 to i8** + %overflow_arg_area.next119 = getelementptr i8, i8* %overflow_arg_area118, i32 8 + store i8* %overflow_arg_area.next119, i8** %overflow_arg_area_p117, align 8 + br label %vaarg.end120 + +vaarg.end120: ; preds = %vaarg.in_mem116, %vaarg.in_reg114 + %vaarg.addr121 = phi i8** [ %82, %vaarg.in_reg114 ], [ %84, %vaarg.in_mem116 ] + %85 = load i8*, i8** %vaarg.addr121, align 8 + %86 = load %union.anon.193*, %union.anon.193** %p, align 8 + %p122 = bitcast %union.anon.193* %86 to i8** + store i8* %85, i8** %p122, align 8 + br label %sw.epilog + +sw.epilog: ; preds = %vaarg.end120, %vaarg.end106, %vaarg.end92, %vaarg.end81, %vaarg.end66, %vaarg.end52, %vaarg.end38 + %87 = load %union.anon.193*, %union.anon.193** %p, align 8 + %incdec.ptr = getelementptr inbounds %union.anon.193, %union.anon.193* %87, i32 1 + store %union.anon.193* %incdec.ptr, %union.anon.193** %p, align 8 + br label %while.cond + +if.else: ; preds = %entry + br i1 %cmp1, label %if.then127, label %if.end133 + +if.then127: ; preds = %if.else + %88 = load %union.anon.193*, %union.anon.193** %p, align 8 + %89 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %89, i32 0, i32 5 + %arrayidx128 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber, i64 0, i64 0 + %90 = load i8, i8* %arrayidx128, align 8 + %conv = zext i8 %90 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds %union.anon.193, %union.anon.193* %88, i64 %idx.ext + %add.ptr129 = getelementptr inbounds %union.anon.193, %union.anon.193* %add.ptr, i64 -1 + %u130 = bitcast %union.anon.193* %add.ptr129 to i32* + %91 = load i32, i32* %u130, align 8 + %92 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info131 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %92, i32 0, i32 1 + %width132 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info131, i32 0, i32 1 + store i32 %91, i32* %width132, align 4 + br label %if.end133 + +if.end133: ; preds = %if.then127, %if.else + %93 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info134 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %93, i32 0, i32 1 + %prec135 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info134, i32 0, i32 0 + %94 = load i32, i32* %prec135, align 8 + %cmp136 = icmp eq i32 %94, -2147483648 + br i1 %cmp136, label %if.then138, label %if.end149 + +if.then138: ; preds = %if.end133 + %95 = load %union.anon.193*, %union.anon.193** %p, align 8 + %96 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber139 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %96, i32 0, i32 5 + %arrayidx140 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber139, i64 0, i64 1 + %97 = load i8, i8* %arrayidx140, align 1 + %conv141 = zext i8 %97 to i32 + %idx.ext142 = sext i32 %conv141 to i64 + %add.ptr143 = getelementptr inbounds %union.anon.193, %union.anon.193* %95, i64 %idx.ext142 + %add.ptr144 = getelementptr inbounds %union.anon.193, %union.anon.193* %add.ptr143, i64 -1 + %u145 = bitcast %union.anon.193* %add.ptr144 to i32* + %98 = load i32, i32* %u145, align 8 + %99 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info146 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %99, i32 0, i32 1 + %prec147 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info146, i32 0, i32 0 + store i32 %98, i32* %prec147, align 8 + br label %if.end149 + +if.end149: ; preds = %if.end133, %if.then138, %while.cond + %100 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info150 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %100, i32 0, i32 1 + %width151 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info150, i32 0, i32 1 + %101 = load i32, i32* %width151, align 4 + %cmp152 = icmp slt i32 %101, 0 + br i1 %cmp152, label %if.then154, label %if.end163 + +if.then154: ; preds = %if.end149 + %102 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info155 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %102, i32 0, i32 1 + %width156 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info155, i32 0, i32 1 + %103 = load i32, i32* %width156, align 4 + %sub = sub nsw i32 0, %103 + %104 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info157 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %104, i32 0, i32 1 + %width158 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info157, i32 0, i32 1 + store i32 %sub, i32* %width158, align 4 + %105 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info159 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %105, i32 0, i32 1 + %_flags = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info159, i32 0, i32 3 + %106 = load i32, i32* %_flags, align 4 + %or = or i32 %106, 8 + store i32 %or, i32* %_flags, align 4 + %107 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info160 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %107, i32 0, i32 1 + %_flags161 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info160, i32 0, i32 3 + %108 = load i32, i32* %_flags161, align 4 + %and = and i32 %108, -2 + store i32 %and, i32* %_flags161, align 4 + %109 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info162 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %109, i32 0, i32 1 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info162, i32 0, i32 4 + store i32 32, i32* %pad, align 8 + br label %if.end163 + +if.end163: ; preds = %if.then154, %if.end149 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_store_inttype(i8* %dest, i32 %desttype, i64 %val) #0 { +entry: + %dest.addr = alloca i8*, align 8 + %desttype.addr = alloca i32, align 4 + %val.addr = alloca i64, align 8 + store i8* %dest, i8** %dest.addr, align 8 + store i32 %desttype, i32* %desttype.addr, align 4 + store i64 %val, i64* %val.addr, align 8 + %0 = load i32, i32* %desttype.addr, align 4 + %cmp = icmp eq i32 %0, 256 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load i64, i64* %val.addr, align 8 + %conv = trunc i64 %1 to i8 + %2 = load i8*, i8** %dest.addr, align 8 + store i8 %conv, i8* %2, align 1 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* %desttype.addr, align 4 + %cmp1 = icmp eq i32 %3, 2048 + br i1 %cmp1, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.end + %4 = load i64, i64* %val.addr, align 8 + %5 = load i8*, i8** %dest.addr, align 8 + %6 = bitcast i8* %5 to i64* + store i64 %4, i64* %6, align 8 + br label %return + +if.end4: ; preds = %if.end + %7 = load i32, i32* %desttype.addr, align 4 + %cmp5 = icmp eq i32 %7, 512 + br i1 %cmp5, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end4 + %8 = load i64, i64* %val.addr, align 8 + %conv8 = trunc i64 %8 to i16 + %9 = load i8*, i8** %dest.addr, align 8 + %10 = bitcast i8* %9 to i16* + store i16 %conv8, i16* %10, align 2 + br label %return + +if.end9: ; preds = %if.end4 + %11 = load i32, i32* %desttype.addr, align 4 + %cmp10 = icmp eq i32 %11, 1024 + %12 = load i64, i64* %val.addr, align 8 + br i1 %cmp10, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.end9 + %13 = load i8*, i8** %dest.addr, align 8 + %14 = bitcast i8* %13 to i64* + store i64 %12, i64* %14, align 8 + br label %return + +if.end13: ; preds = %if.end9 + %conv14 = trunc i64 %12 to i32 + %15 = load i8*, i8** %dest.addr, align 8 + %16 = bitcast i8* %15 to i32* + store i32 %conv14, i32* %16, align 4 + br label %return + +return: ; preds = %if.end13, %if.then12, %if.then7, %if.then3, %if.then + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden i8* @_uintmaxtostr(i8* noalias %bufend, i64 %uval, i32 %base, i32 %alphacase) #0 { +entry: + %bufend.addr = alloca i8*, align 8 + %uval.addr = alloca i64, align 8 + %base.addr = alloca i32, align 4 + %alphacase.addr = alloca i32, align 4 + %negative = alloca i32, align 4 + %digit = alloca i32, align 4 + %H = alloca i32, align 4 + %L = alloca i32, align 4 + %high = alloca i32, align 4 + %low = alloca i32, align 4 + %rh = alloca i32, align 4 + %grouping = alloca i32, align 4 + %outdigit = alloca i32, align 4 + %g = alloca i8*, align 8 + store i8* %bufend, i8** %bufend.addr, align 8 + store i64 %uval, i64* %uval.addr, align 8 + store i32 %base, i32* %base.addr, align 4 + store i32 %alphacase, i32* %alphacase.addr, align 4 + store i32 0, i32* %negative, align 4 + %0 = load i32, i32* %base.addr, align 4 + %cmp = icmp slt i32 %0, 0 + br i1 %cmp, label %if.then, label %if.end4 + +if.then: ; preds = %entry + %1 = load i32, i32* %base.addr, align 4 + %sub = sub nsw i32 0, %1 + store i32 %sub, i32* %base.addr, align 4 + %2 = load i64, i64* %uval.addr, align 8 + %cmp1 = icmp ugt i64 %2, 9223372036854775807 + br i1 %cmp1, label %if.then2, label %if.end4 + +if.then2: ; preds = %if.then + %3 = load i64, i64* %uval.addr, align 8 + %sub3 = sub i64 0, %3 + store i64 %sub3, i64* %uval.addr, align 8 + store i32 1, i32* %negative, align 4 + br label %if.end4 + +if.end4: ; preds = %if.then, %if.then2, %entry + store i32 -1, i32* %grouping, align 4 + %4 = load i32, i32* %alphacase.addr, align 4 + %and = and i32 128, %4 + store i32 %and, i32* %outdigit, align 4 + %5 = load i32, i32* %outdigit, align 4 + %6 = load i32, i32* %alphacase.addr, align 4 + %xor = xor i32 %6, %5 + store i32 %xor, i32* %alphacase.addr, align 4 + %7 = load i32, i32* %alphacase.addr, align 4 + %cmp5 = icmp eq i32 %7, 44 + br i1 %cmp5, label %if.then6, label %if.end10 + +if.then6: ; preds = %if.end4 + %8 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %grouping7 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %8, i32 0, i32 41 + %9 = load i8*, i8** %grouping7, align 8 + store i8* %9, i8** %g, align 8 + %10 = load i8, i8* %9, align 1 + %tobool = icmp ne i8 %10, 0 + br i1 %tobool, label %if.then8, label %if.end10 + +if.then8: ; preds = %if.then6 + %11 = load i8*, i8** %g, align 8 + %12 = load i8, i8* %11, align 1 + %conv = sext i8 %12 to i32 + store i32 %conv, i32* %grouping, align 4 + br label %if.end10 + +if.end10: ; preds = %if.then6, %if.then8, %if.end4 + %13 = load i8*, i8** %bufend.addr, align 8 + store i8 0, i8* %13, align 1 + %14 = load i32, i32* %base.addr, align 4 + %div = udiv i32 -1, %14 + store i32 %div, i32* %H, align 4 + %15 = load i32, i32* %base.addr, align 4 + %rem = urem i32 -1, %15 + %add = add i32 %rem, 1 + store i32 %add, i32* %L, align 4 + %16 = load i32, i32* %L, align 4 + %17 = load i32, i32* %base.addr, align 4 + %cmp11 = icmp eq i32 %16, %17 + br i1 %cmp11, label %if.then13, label %if.end14 + +if.then13: ; preds = %if.end10 + %18 = load i32, i32* %H, align 4 + %inc = add i32 %18, 1 + store i32 %inc, i32* %H, align 4 + store i32 0, i32* %L, align 4 + br label %if.end14 + +if.end14: ; preds = %if.then13, %if.end10 + %19 = load i64, i64* %uval.addr, align 8 + %conv15 = trunc i64 %19 to i32 + store i32 %conv15, i32* %low, align 4 + %20 = load i64, i64* %uval.addr, align 8 + %shr = lshr i64 %20, 32 + %conv16 = trunc i64 %shr to i32 + store i32 %conv16, i32* %high, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %if.end14 + %21 = load i32, i32* %grouping, align 4 + %tobool17 = icmp ne i32 %21, 0 + br i1 %tobool17, label %if.end27, label %if.then18 + +if.then18: ; preds = %do.body + %22 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %thousands_sep_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %22, i32 0, i32 27 + %23 = load i32, i32* %thousands_sep_len, align 4 + %24 = load i8*, i8** %bufend.addr, align 8 + %idx.ext = sext i32 %23 to i64 + %idx.neg = sub i64 0, %idx.ext + %add.ptr = getelementptr inbounds i8, i8* %24, i64 %idx.neg + store i8* %add.ptr, i8** %bufend.addr, align 8 + %25 = load i8*, i8** %bufend.addr, align 8 + %26 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %thousands_sep = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %26, i32 0, i32 40 + %27 = load i8*, i8** %thousands_sep, align 8 + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %thousands_sep_len19 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %28, i32 0, i32 27 + %29 = load i32, i32* %thousands_sep_len19, align 4 + %conv20 = sext i32 %29 to i64 + %call = call i8* @memcpy(i8* %25, i8* %27, i64 %conv20) #19 + %30 = load i8*, i8** %g, align 8 + %arrayidx = getelementptr inbounds i8, i8* %30, i64 1 + %31 = load i8, i8* %arrayidx, align 1 + %conv21 = sext i8 %31 to i32 + %cmp22 = icmp ne i32 %conv21, 0 + br i1 %cmp22, label %if.then24, label %if.end25 + +if.then24: ; preds = %if.then18 + %32 = load i8*, i8** %g, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %32, i32 1 + store i8* %incdec.ptr, i8** %g, align 8 + br label %if.end25 + +if.end25: ; preds = %if.then24, %if.then18 + %33 = load i8*, i8** %g, align 8 + %34 = load i8, i8* %33, align 1 + %conv26 = sext i8 %34 to i32 + store i32 %conv26, i32* %grouping, align 4 + br label %if.end27 + +if.end27: ; preds = %if.end25, %do.body + %35 = load i32, i32* %grouping, align 4 + %dec = add nsw i32 %35, -1 + store i32 %dec, i32* %grouping, align 4 + %36 = load i32, i32* %high, align 4 + %tobool28 = icmp ne i32 %36, 0 + %lnot = xor i1 %tobool28, true + %lnot29 = xor i1 %lnot, true + %lnot.ext = zext i1 %lnot29 to i32 + %conv30 = sext i32 %lnot.ext to i64 + %tobool31 = icmp ne i64 %conv30, 0 + br i1 %tobool31, label %if.then32, label %if.else + +if.then32: ; preds = %if.end27 + %37 = load i32, i32* %high, align 4 + %38 = load i32, i32* %base.addr, align 4 + %rem33 = urem i32 %37, %38 + store i32 %rem33, i32* %rh, align 4 + %39 = load i32, i32* %base.addr, align 4 + %40 = load i32, i32* %high, align 4 + %div34 = udiv i32 %40, %39 + store i32 %div34, i32* %high, align 4 + %41 = load i32, i32* %low, align 4 + %42 = load i32, i32* %base.addr, align 4 + %rem35 = urem i32 %41, %42 + %43 = load i32, i32* %L, align 4 + %44 = load i32, i32* %rh, align 4 + %mul = mul i32 %43, %44 + %add36 = add i32 %rem35, %mul + store i32 %add36, i32* %digit, align 4 + %45 = load i32, i32* %low, align 4 + %46 = load i32, i32* %base.addr, align 4 + %div37 = udiv i32 %45, %46 + %47 = load i32, i32* %H, align 4 + %48 = load i32, i32* %rh, align 4 + %mul38 = mul i32 %47, %48 + %add39 = add i32 %div37, %mul38 + %49 = load i32, i32* %digit, align 4 + %50 = load i32, i32* %base.addr, align 4 + %div40 = udiv i32 %49, %50 + %add41 = add i32 %add39, %div40 + store i32 %add41, i32* %low, align 4 + %51 = load i32, i32* %base.addr, align 4 + %52 = load i32, i32* %digit, align 4 + %rem42 = urem i32 %52, %51 + store i32 %rem42, i32* %digit, align 4 + br label %if.end45 + +if.else: ; preds = %if.end27 + %53 = load i32, i32* %low, align 4 + %54 = load i32, i32* %base.addr, align 4 + %rem43 = urem i32 %53, %54 + store i32 %rem43, i32* %digit, align 4 + %55 = load i32, i32* %base.addr, align 4 + %56 = load i32, i32* %low, align 4 + %div44 = udiv i32 %56, %55 + store i32 %div44, i32* %low, align 4 + br label %if.end45 + +if.end45: ; preds = %if.else, %if.then32 + %57 = load i32, i32* %outdigit, align 4 + %tobool46 = icmp ne i32 %57, 0 + %lnot47 = xor i1 %tobool46, true + %lnot49 = xor i1 %lnot47, true + %lnot.ext50 = zext i1 %lnot49 to i32 + %conv51 = sext i32 %lnot.ext50 to i64 + %tobool52 = icmp ne i64 %conv51, 0 + br i1 %tobool52, label %if.then53, label %if.else66 + +if.then53: ; preds = %if.end45 + %58 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %outdigit_length = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %58, i32 0, i32 11 + %59 = load i32, i32* %digit, align 4 + %idxprom = zext i32 %59 to i64 + %arrayidx54 = getelementptr inbounds [10 x i8], [10 x i8]* %outdigit_length, i64 0, i64 %idxprom + %60 = load i8, i8* %arrayidx54, align 1 + %conv55 = zext i8 %60 to i32 + %61 = load i8*, i8** %bufend.addr, align 8 + %idx.ext56 = sext i32 %conv55 to i64 + %idx.neg57 = sub i64 0, %idx.ext56 + %add.ptr58 = getelementptr inbounds i8, i8* %61, i64 %idx.neg57 + store i8* %add.ptr58, i8** %bufend.addr, align 8 + %62 = load i8*, i8** %bufend.addr, align 8 + %63 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %outdigit0_mb = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %63, i32 0, i32 28 + %64 = load i32, i32* %digit, align 4 + %idxprom59 = zext i32 %64 to i64 + %arrayidx60 = getelementptr inbounds i8*, i8** %outdigit0_mb, i64 %idxprom59 + %65 = load i8*, i8** %arrayidx60, align 8 + %66 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %outdigit_length61 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %66, i32 0, i32 11 + %67 = load i32, i32* %digit, align 4 + %idxprom62 = zext i32 %67 to i64 + %arrayidx63 = getelementptr inbounds [10 x i8], [10 x i8]* %outdigit_length61, i64 0, i64 %idxprom62 + %68 = load i8, i8* %arrayidx63, align 1 + %conv64 = zext i8 %68 to i64 + %call65 = call i8* @memcpy(i8* %62, i8* %65, i64 %conv64) #19 + br label %do.cond + +if.else66: ; preds = %if.end45 + %69 = load i32, i32* %digit, align 4 + %cmp67 = icmp ult i32 %69, 10 + %70 = load i32, i32* %digit, align 4 + %add69 = add i32 %70, 48 + %71 = load i32, i32* %alphacase.addr, align 4 + %add70 = add i32 %70, %71 + %cond = select i1 %cmp67, i32 %add69, i32 %add70 + %conv71 = trunc i32 %cond to i8 + %72 = load i8*, i8** %bufend.addr, align 8 + %incdec.ptr72 = getelementptr inbounds i8, i8* %72, i32 -1 + store i8* %incdec.ptr72, i8** %bufend.addr, align 8 + store i8 %conv71, i8* %incdec.ptr72, align 1 + br label %do.cond + +do.cond: ; preds = %if.then53, %if.else66 + %73 = load i32, i32* %low, align 4 + %74 = load i32, i32* %high, align 4 + %or = or i32 %73, %74 + %tobool74 = icmp ne i32 %or, 0 + br i1 %tobool74, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %75 = load i32, i32* %negative, align 4 + %tobool75 = icmp ne i32 %75, 0 + br i1 %tobool75, label %if.then76, label %if.end78 + +if.then76: ; preds = %do.end + %76 = load i8*, i8** %bufend.addr, align 8 + %incdec.ptr77 = getelementptr inbounds i8, i8* %76, i32 -1 + store i8* %incdec.ptr77, i8** %bufend.addr, align 8 + store i8 45, i8* %incdec.ptr77, align 1 + br label %if.end78 + +if.end78: ; preds = %if.then76, %do.end + %77 = load i8*, i8** %bufend.addr, align 8 + ret i8* %77 +} + +; Function Attrs: noinline nounwind uwtable +define hidden %struct.exit_function* @__new_exitfn() #0 { +entry: + %efp = alloca %struct.exit_function*, align 8 + %0 = load i32, i32* @__exit_slots, align 4 + %1 = load i32, i32* @__exit_count, align 4 + %add = add nsw i32 %1, 1 + %cmp = icmp slt i32 %0, %add + br i1 %cmp, label %if.then, label %if.end6 + +if.then: ; preds = %entry + %2 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + %3 = bitcast %struct.exit_function* %2 to i8* + %4 = load i32, i32* @__exit_slots, align 4 + %add1 = add nsw i32 %4, 20 + %conv = sext i32 %add1 to i64 + %mul = mul i64 %conv, 32 + %call = call noalias i8* @realloc(i8* %3, i64 %mul) #19 + %5 = bitcast i8* %call to %struct.exit_function* + store %struct.exit_function* %5, %struct.exit_function** %efp, align 8 + %6 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %cmp2 = icmp eq %struct.exit_function* %6, null + br i1 %cmp2, label %if.then4, label %if.end + +if.then4: ; preds = %if.then + store i32 12, i32* @errno, align 4 + br label %DONE + +if.end: ; preds = %if.then + %7 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + store %struct.exit_function* %7, %struct.exit_function** @__exit_function_table, align 8 + %8 = load i32, i32* @__exit_slots, align 4 + %add5 = add nsw i32 %8, 20 + store i32 %add5, i32* @__exit_slots, align 4 + br label %if.end6 + +if.end6: ; preds = %if.end, %entry + store void (i32)* @__exit_handler, void (i32)** @__exit_cleanup, align 8 + %9 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + %10 = load i32, i32* @__exit_count, align 4 + %inc = add nsw i32 %10, 1 + store i32 %inc, i32* @__exit_count, align 4 + %idxprom = sext i32 %10 to i64 + %arrayidx = getelementptr inbounds %struct.exit_function, %struct.exit_function* %9, i64 %idxprom + store %struct.exit_function* %arrayidx, %struct.exit_function** %efp, align 8 + %11 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %type = getelementptr inbounds %struct.exit_function, %struct.exit_function* %11, i32 0, i32 0 + store i64 1, i64* %type, align 8 + br label %DONE + +DONE: ; preds = %if.end6, %if.then4 + %12 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + ret %struct.exit_function* %12 +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @__exit_handler(i32 %status) #0 { +entry: + %status.addr = alloca i32, align 4 + %efp = alloca %struct.exit_function*, align 8 + store i32 %status, i32* %status.addr, align 4 + br label %while.cond + +while.cond: ; preds = %sw.epilog, %entry + %0 = load i32, i32* @__exit_count, align 4 + %tobool = icmp ne i32 %0, 0 + %1 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %2 = load i32, i32* @__exit_count, align 4 + %dec = add nsw i32 %2, -1 + store i32 %dec, i32* @__exit_count, align 4 + %idxprom = sext i32 %dec to i64 + %arrayidx = getelementptr inbounds %struct.exit_function, %struct.exit_function* %1, i64 %idxprom + store %struct.exit_function* %arrayidx, %struct.exit_function** %efp, align 8 + %3 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %type = getelementptr inbounds %struct.exit_function, %struct.exit_function* %3, i32 0, i32 0 + %4 = load i64, i64* %type, align 8 + br label %NodeBlock1 + +NodeBlock1: ; preds = %while.body + %case.cmp2 = icmp eq i64 %4, 2 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i64 %4, 3 + br i1 %case.cmp, label %sw.bb7, label %newDefault + +sw.bb: ; preds = %NodeBlock1 + %5 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs = getelementptr inbounds %struct.exit_function, %struct.exit_function* %5, i32 0, i32 1 + %on_exit = bitcast %union.anon.772* %funcs to %struct.anon.779* + %func = getelementptr inbounds %struct.anon.779, %struct.anon.779* %on_exit, i32 0, i32 0 + %6 = load void (i32, i8*)*, void (i32, i8*)** %func, align 8 + %tobool1 = icmp ne void (i32, i8*)* %6, null + br i1 %tobool1, label %if.then, label %sw.epilog + +if.then: ; preds = %sw.bb + %7 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs2 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %7, i32 0, i32 1 + %on_exit3 = bitcast %union.anon.772* %funcs2 to %struct.anon.779* + %func4 = getelementptr inbounds %struct.anon.779, %struct.anon.779* %on_exit3, i32 0, i32 0 + %8 = load void (i32, i8*)*, void (i32, i8*)** %func4, align 8 + %9 = load i32, i32* %status.addr, align 4 + %10 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs5 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %10, i32 0, i32 1 + %on_exit6 = bitcast %union.anon.772* %funcs5 to %struct.anon.779* + %arg = getelementptr inbounds %struct.anon.779, %struct.anon.779* %on_exit6, i32 0, i32 1 + %11 = load i8*, i8** %arg, align 8 + call void %8(i32 %9, i8* %11) #18 + br label %sw.epilog + +sw.bb7: ; preds = %NodeBlock + %12 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs8 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %12, i32 0, i32 1 + %cxa_atexit = bitcast %union.anon.772* %funcs8 to %struct.anon.0.771* + %func9 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit, i32 0, i32 0 + %13 = load void (i8*)*, void (i8*)** %func9, align 8 + %tobool10 = icmp ne void (i8*)* %13, null + br i1 %tobool10, label %if.then11, label %sw.epilog + +if.then11: ; preds = %sw.bb7 + %14 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs12 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %14, i32 0, i32 1 + %cxa_atexit13 = bitcast %union.anon.772* %funcs12 to %struct.anon.0.771* + %func14 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit13, i32 0, i32 0 + %15 = load void (i8*)*, void (i8*)** %func14, align 8 + %16 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs15 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %16, i32 0, i32 1 + %cxa_atexit16 = bitcast %union.anon.772* %funcs15 to %struct.anon.0.771* + %arg17 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit16, i32 0, i32 1 + %17 = load i8*, i8** %arg17, align 8 + call void %15(i8* %17) #18 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.epilog + +sw.epilog: ; preds = %newDefault, %sw.bb7, %if.then11, %sw.bb, %if.then + br label %while.cond + +while.end: ; preds = %while.cond + %tobool19 = icmp ne %struct.exit_function* %1, null + br i1 %tobool19, label %if.then20, label %if.end21 + +if.then20: ; preds = %while.end + %18 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + %19 = bitcast %struct.exit_function* %18 to i8* + call void @free(i8* %19) #19 + br label %if.end21 + +if.end21: ; preds = %if.then20, %while.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_stdlib_strto_l_l(i8* noalias %str, i8** noalias %endptr, i32 %base, i32 %sflag, %struct.__uclibc_locale_struct.201* %locale_arg) #0 { +entry: + %str.addr = alloca i8*, align 8 + %endptr.addr = alloca i8**, align 8 + %base.addr = alloca i32, align 4 + %sflag.addr = alloca i32, align 4 + %locale_arg.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %number = alloca i64, align 8 + %cutoff = alloca i64, align 8 + %fail_char = alloca i8*, align 8 + %negative = alloca i8, align 1 + %digit = alloca i8, align 1 + %cutoff_digit = alloca i8, align 1 + %tmp = alloca i64, align 8 + store i8* %str, i8** %str.addr, align 8 + store i8** %endptr, i8*** %endptr.addr, align 8 + store i32 %base, i32* %base.addr, align 4 + store i32 %sflag, i32* %sflag.addr, align 4 + store %struct.__uclibc_locale_struct.201* %locale_arg, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %0 = load i8*, i8** %str.addr, align 8 + store i8* %0, i8** %fail_char, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %1 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %1, i32 0, i32 0 + %2 = load i16*, i16** %__ctype_b, align 8 + %3 = load i8*, i8** %str.addr, align 8 + %4 = load i8, i8* %3, align 1 + %conv = sext i8 %4 to i32 + %idxprom = sext i32 %conv to i64 + %arrayidx = getelementptr inbounds i16, i16* %2, i64 %idxprom + %5 = load i16, i16* %arrayidx, align 2 + %conv1 = zext i16 %5 to i32 + %and = and i32 %conv1, 8192 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %6 = load i8*, i8** %str.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %str.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8 0, i8* %negative, align 1 + %7 = load i8*, i8** %str.addr, align 8 + %8 = load i8, i8* %7, align 1 + %conv2 = sext i8 %8 to i32 + br label %NodeBlock1 + +NodeBlock1: ; preds = %while.end + %case.cmp2 = icmp eq i32 %conv2, 45 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %conv2, 43 + br i1 %case.cmp, label %sw.bb3, label %newDefault + +sw.bb: ; preds = %NodeBlock1 + store i8 1, i8* %negative, align 1 + br label %sw.bb3 + +sw.bb3: ; preds = %NodeBlock, %sw.bb + %9 = load i8*, i8** %str.addr, align 8 + %incdec.ptr4 = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr4, i8** %str.addr, align 8 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.epilog + +sw.epilog: ; preds = %newDefault, %sw.bb3 + %10 = load i32, i32* %base.addr, align 4 + %and5 = and i32 %10, -17 + %tobool6 = icmp ne i32 %and5, 0 + br i1 %tobool6, label %if.end22, label %if.then + +if.then: ; preds = %sw.epilog + %11 = load i32, i32* %base.addr, align 4 + %add = add nsw i32 %11, 10 + store i32 %add, i32* %base.addr, align 4 + %12 = load i8*, i8** %str.addr, align 8 + %13 = load i8, i8* %12, align 1 + %conv7 = sext i8 %13 to i32 + %cmp = icmp eq i32 %conv7, 48 + br i1 %cmp, label %if.then9, label %if.end17 + +if.then9: ; preds = %if.then + %14 = load i8*, i8** %str.addr, align 8 + %incdec.ptr10 = getelementptr inbounds i8, i8* %14, i32 1 + store i8* %incdec.ptr10, i8** %str.addr, align 8 + store i8* %incdec.ptr10, i8** %fail_char, align 8 + %15 = load i32, i32* %base.addr, align 4 + %sub = sub nsw i32 %15, 2 + store i32 %sub, i32* %base.addr, align 4 + %16 = load i8*, i8** %str.addr, align 8 + %17 = load i8, i8* %16, align 1 + %conv11 = sext i8 %17 to i32 + %or = or i32 32, %conv11 + %cmp12 = icmp eq i32 %or, 120 + br i1 %cmp12, label %if.then14, label %if.end17 + +if.then14: ; preds = %if.then9 + %18 = load i8*, i8** %str.addr, align 8 + %incdec.ptr15 = getelementptr inbounds i8, i8* %18, i32 1 + store i8* %incdec.ptr15, i8** %str.addr, align 8 + %19 = load i32, i32* %base.addr, align 4 + %20 = load i32, i32* %base.addr, align 4 + %add16 = add nsw i32 %20, %19 + store i32 %add16, i32* %base.addr, align 4 + br label %if.end17 + +if.end17: ; preds = %if.then9, %if.then14, %if.then + %21 = load i32, i32* %base.addr, align 4 + %cmp18 = icmp sgt i32 %21, 16 + br i1 %cmp18, label %if.then20, label %if.end22 + +if.then20: ; preds = %if.end17 + store i32 16, i32* %base.addr, align 4 + br label %if.end22 + +if.end22: ; preds = %if.end17, %if.then20, %sw.epilog + store i64 0, i64* %number, align 8 + %22 = load i32, i32* %base.addr, align 4 + %sub23 = sub nsw i32 %22, 2 + %cmp24 = icmp ult i32 %sub23, 35 + br i1 %cmp24, label %if.then26, label %if.end72 + +if.then26: ; preds = %if.end22 + %23 = load i32, i32* %base.addr, align 4 + %conv27 = sext i32 %23 to i64 + %rem = urem i64 -1, %conv27 + %conv28 = trunc i64 %rem to i8 + store i8 %conv28, i8* %cutoff_digit, align 1 + %24 = load i32, i32* %base.addr, align 4 + %conv29 = sext i32 %24 to i64 + %div = udiv i64 -1, %conv29 + store i64 %div, i64* %cutoff, align 8 + br label %do.body + +do.body: ; preds = %do.cond, %if.then26 + %25 = load i8*, i8** %str.addr, align 8 + %26 = load i8, i8* %25, align 1 + %conv30 = sext i8 %26 to i32 + %sub31 = sub nsw i32 %conv30, 48 + %conv32 = trunc i32 %sub31 to i8 + %conv33 = zext i8 %conv32 to i32 + %cmp34 = icmp sle i32 %conv33, 9 + %27 = load i8*, i8** %str.addr, align 8 + %28 = load i8, i8* %27, align 1 + %conv36 = sext i8 %28 to i32 + br i1 %cmp34, label %cond.true, label %cond.false + +cond.true: ; preds = %do.body + %sub37 = sub nsw i32 %conv36, 48 + br label %cond.end47 + +cond.false: ; preds = %do.body + %cmp39 = icmp sge i32 %conv36, 65 + br i1 %cmp39, label %cond.true41, label %cond.end47 + +cond.true41: ; preds = %cond.false + %29 = load i8*, i8** %str.addr, align 8 + %30 = load i8, i8* %29, align 1 + %conv42 = sext i8 %30 to i32 + %or43 = or i32 32, %conv42 + %sub44 = sub nsw i32 %or43, 97 + %add45 = add nsw i32 %sub44, 10 + br label %cond.end47 + +cond.end47: ; preds = %cond.true41, %cond.false, %cond.true + %cond48 = phi i32 [ %sub37, %cond.true ], [ %add45, %cond.true41 ], [ 40, %cond.false ] + %conv49 = trunc i32 %cond48 to i8 + store i8 %conv49, i8* %digit, align 1 + %31 = load i8, i8* %digit, align 1 + %conv50 = zext i8 %31 to i32 + %32 = load i32, i32* %base.addr, align 4 + %cmp51 = icmp sge i32 %conv50, %32 + br i1 %cmp51, label %if.end72, label %if.end54 + +if.end54: ; preds = %cond.end47 + %33 = load i8*, i8** %str.addr, align 8 + %incdec.ptr55 = getelementptr inbounds i8, i8* %33, i32 1 + store i8* %incdec.ptr55, i8** %str.addr, align 8 + store i8* %incdec.ptr55, i8** %fail_char, align 8 + %34 = load i64, i64* %number, align 8 + %35 = load i64, i64* %cutoff, align 8 + %cmp56 = icmp ugt i64 %34, %35 + br i1 %cmp56, label %if.then64, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end54 + %36 = load i64, i64* %number, align 8 + %37 = load i64, i64* %cutoff, align 8 + %cmp58 = icmp eq i64 %36, %37 + br i1 %cmp58, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %lor.lhs.false + %38 = load i8, i8* %digit, align 1 + %conv60 = zext i8 %38 to i32 + %39 = load i8, i8* %cutoff_digit, align 1 + %conv61 = zext i8 %39 to i32 + %cmp62 = icmp sgt i32 %conv60, %conv61 + br i1 %cmp62, label %if.then64, label %if.else + +if.then64: ; preds = %land.lhs.true, %if.end54 + store i64 -1, i64* %number, align 8 + %40 = load i32, i32* %sflag.addr, align 4 + %41 = load i8, i8* %negative, align 1 + %conv65 = zext i8 %41 to i32 + %and66 = and i32 %conv65, %40 + %conv67 = trunc i32 %and66 to i8 + store i8 %conv67, i8* %negative, align 1 + store i32 34, i32* @errno, align 4 + br label %do.cond + +if.else: ; preds = %land.lhs.true, %lor.lhs.false + %42 = load i64, i64* %number, align 8 + %43 = load i32, i32* %base.addr, align 4 + %conv68 = sext i32 %43 to i64 + %mul = mul i64 %42, %conv68 + %44 = load i8, i8* %digit, align 1 + %conv69 = zext i8 %44 to i64 + %add70 = add i64 %mul, %conv69 + store i64 %add70, i64* %number, align 8 + br label %do.cond + +do.cond: ; preds = %if.then64, %if.else + br label %do.body + +if.end72: ; preds = %cond.end47, %if.end22 + %45 = load i8**, i8*** %endptr.addr, align 8 + %tobool73 = icmp ne i8** %45, null + br i1 %tobool73, label %if.then74, label %if.end75 + +if.then74: ; preds = %if.end72 + %46 = load i8*, i8** %fail_char, align 8 + %47 = load i8**, i8*** %endptr.addr, align 8 + store i8* %46, i8** %47, align 8 + br label %if.end75 + +if.end75: ; preds = %if.then74, %if.end72 + %48 = load i8, i8* %negative, align 1 + %conv76 = zext i8 %48 to i32 + %tobool77 = icmp ne i32 %conv76, 0 + %49 = zext i1 %tobool77 to i64 + %cond78 = select i1 %tobool77, i64 -9223372036854775808, i64 9223372036854775807 + store i64 %cond78, i64* %tmp, align 8 + %50 = load i32, i32* %sflag.addr, align 4 + %tobool79 = icmp ne i32 %50, 0 + br i1 %tobool79, label %land.lhs.true80, label %if.end84 + +land.lhs.true80: ; preds = %if.end75 + %51 = load i64, i64* %number, align 8 + %52 = load i64, i64* %tmp, align 8 + %cmp81 = icmp ugt i64 %51, %52 + br i1 %cmp81, label %if.then83, label %if.end84 + +if.then83: ; preds = %land.lhs.true80 + %53 = load i64, i64* %tmp, align 8 + store i64 %53, i64* %number, align 8 + store i32 34, i32* @errno, align 4 + br label %if.end84 + +if.end84: ; preds = %if.then83, %land.lhs.true80, %if.end75 + %54 = load i8, i8* %negative, align 1 + %conv85 = zext i8 %54 to i32 + %tobool86 = icmp ne i32 %conv85, 0 + %55 = load i64, i64* %number, align 8 + %sub88 = sub nsw i64 0, %55 + %cond91 = select i1 %tobool86, i64 %sub88, i64 %55 + ret i64 %cond91 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__xpg_strerror_r(i32 %errnum, i8* %strerrbuf, i64 %buflen) #0 { +entry: + %errnum.addr = alloca i32, align 4 + %strerrbuf.addr = alloca i8*, align 8 + %buflen.addr = alloca i64, align 8 + %s = alloca i8*, align 8 + %i = alloca i32, align 4 + %retval1 = alloca i32, align 4 + %buf = alloca [50 x i8], align 16 + store i32 %errnum, i32* %errnum.addr, align 4 + store i8* %strerrbuf, i8** %strerrbuf.addr, align 8 + store i64 %buflen, i64* %buflen.addr, align 8 + store i32 22, i32* %retval1, align 4 + %0 = load i32, i32* %errnum.addr, align 4 + store i32 %0, i32* %i, align 4 + %1 = load i32, i32* %i, align 4 + %cmp = icmp ult i32 %1, 125 + br i1 %cmp, label %if.then, label %if.end7 + +if.then: ; preds = %entry + store i8* getelementptr inbounds ([2906 x i8], [2906 x i8]* @_string_syserrmsgs, i64 0, i64 0), i8** %s, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.then + %2 = load i32, i32* %i, align 4 + %tobool = icmp ne i32 %2, 0 + %3 = load i8*, i8** %s, align 8 + %4 = load i8, i8* %3, align 1 + %tobool2 = icmp ne i8 %4, 0 + br i1 %tobool, label %for.body, label %for.end + +for.body: ; preds = %for.cond + br i1 %tobool2, label %for.inc, label %if.then3 + +if.then3: ; preds = %for.body + %5 = load i32, i32* %i, align 4 + %dec = add nsw i32 %5, -1 + store i32 %dec, i32* %i, align 4 + br label %for.inc + +for.inc: ; preds = %for.body, %if.then3 + %6 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + br i1 %tobool2, label %if.then5, label %if.end7 + +if.then5: ; preds = %for.end + store i32 0, i32* %retval1, align 4 + br label %GOT_MESG + +if.end7: ; preds = %for.end, %entry + %arraydecay = getelementptr inbounds [50 x i8], [50 x i8]* %buf, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 50 + %add.ptr8 = getelementptr inbounds i8, i8* %add.ptr, i64 -1 + %7 = load i32, i32* %errnum.addr, align 4 + %conv = sext i32 %7 to i64 + %call = call i8* @_uintmaxtostr(i8* %add.ptr8, i64 %conv, i32 -10, i32 0) #18 + %add.ptr9 = getelementptr inbounds i8, i8* %call, i64 -14 + store i8* %add.ptr9, i8** %s, align 8 + %8 = load i8*, i8** %s, align 8 + %call10 = call i8* @memcpy(i8* %8, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @__xpg_strerror_r.unknown, i64 0, i64 0), i64 14) #19 + br label %GOT_MESG + +GOT_MESG: ; preds = %if.end7, %if.then5 + %9 = load i8*, i8** %strerrbuf.addr, align 8 + %tobool11 = icmp ne i8* %9, null + br i1 %tobool11, label %if.end13, label %if.then12 + +if.then12: ; preds = %GOT_MESG + store i64 0, i64* %buflen.addr, align 8 + br label %if.end13 + +if.end13: ; preds = %if.then12, %GOT_MESG + %10 = load i8*, i8** %s, align 8 + %call14 = call i64 @strlen(i8* %10) #20 + %add = add i64 %call14, 1 + %conv15 = trunc i64 %add to i32 + store i32 %conv15, i32* %i, align 4 + %11 = load i32, i32* %i, align 4 + %conv16 = sext i32 %11 to i64 + %12 = load i64, i64* %buflen.addr, align 8 + %cmp17 = icmp ugt i64 %conv16, %12 + br i1 %cmp17, label %if.then19, label %if.end21 + +if.then19: ; preds = %if.end13 + %13 = load i64, i64* %buflen.addr, align 8 + %conv20 = trunc i64 %13 to i32 + store i32 %conv20, i32* %i, align 4 + store i32 34, i32* %retval1, align 4 + br label %if.end21 + +if.end21: ; preds = %if.then19, %if.end13 + %14 = load i32, i32* %i, align 4 + %tobool22 = icmp ne i32 %14, 0 + br i1 %tobool22, label %if.then23, label %if.end26 + +if.then23: ; preds = %if.end21 + %15 = load i8*, i8** %strerrbuf.addr, align 8 + %16 = load i8*, i8** %s, align 8 + %17 = load i32, i32* %i, align 4 + %conv24 = sext i32 %17 to i64 + %call25 = call i8* @memcpy(i8* %15, i8* %16, i64 %conv24) #19 + %18 = load i8*, i8** %strerrbuf.addr, align 8 + %19 = load i32, i32* %i, align 4 + %sub = sub nsw i32 %19, 1 + %idxprom = sext i32 %sub to i64 + %arrayidx = getelementptr inbounds i8, i8* %18, i64 %idxprom + store i8 0, i8* %arrayidx, align 1 + br label %if.end26 + +if.end26: ; preds = %if.then23, %if.end21 + %20 = load i32, i32* %retval1, align 4 + %tobool27 = icmp ne i32 %20, 0 + br i1 %tobool27, label %if.then28, label %if.end29 + +if.then28: ; preds = %if.end26 + %21 = load i32, i32* %retval1, align 4 + store i32 %21, i32* @errno, align 4 + br label %if.end29 + +if.end29: ; preds = %if.then28, %if.end26 + %22 = load i32, i32* %retval1, align 4 + ret i32 %22 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @memchr(i8* nonnull %s, i32 %c, i64 %n) #14 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %n.addr = alloca i64, align 8 + %r = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %r, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %1 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %2 = load i8*, i8** %r, align 8 + %3 = load i8, i8* %2, align 1 + %conv = zext i8 %3 to i32 + %4 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %4 to i8 + %conv2 = zext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + %5 = load i8*, i8** %r, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + store i8* %5, i8** %retval, align 8 + br label %return + +if.end: ; preds = %while.body + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %r, align 8 + %6 = load i64, i64* %n.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then + %7 = load i8*, i8** %retval, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @memrchr(i8* nonnull %s, i32 %c, i64 %n) #14 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %n.addr = alloca i64, align 8 + %r = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i64, i64* %n.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %0, i64 %1 + store i8* %add.ptr, i8** %r, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %2 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load i8*, i8** %r, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 -1 + store i8* %incdec.ptr, i8** %r, align 8 + %4 = load i8, i8* %incdec.ptr, align 1 + %conv = zext i8 %4 to i32 + %5 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %5 to i8 + %conv2 = zext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + %6 = load i8*, i8** %r, align 8 + store i8* %6, i8** %retval, align 8 + br label %return + +if.end: ; preds = %while.body + %7 = load i64, i64* %n.addr, align 8 + %dec = add i64 %7, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then + %8 = load i8*, i8** %retval, align 8 + ret i8* %8 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i64 @strnlen(i8* nonnull %s, i64 %max) #14 { +entry: + %s.addr = alloca i8*, align 8 + %max.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i64 %max, i64* %max.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %1 = load i64, i64* %max.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %2 = load i8*, i8** %p, align 8 + %3 = load i8, i8* %2, align 1 + %conv = sext i8 %3 to i32 + %tobool1 = icmp ne i32 %conv, 0 + br label %land.end + +land.end: ; preds = %land.rhs, %while.cond + %4 = phi i1 [ false, %while.cond ], [ %tobool1, %land.rhs ] + %5 = load i8*, i8** %p, align 8 + br i1 %4, label %while.body, label %while.end + +while.body: ; preds = %land.end + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %6 = load i64, i64* %max.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %max.addr, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %7 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind uwtable +define i8* @strtok_r(i8* noalias %s1, i8* noalias nonnull %s2, i8** noalias nonnull %next_start) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %next_start.addr = alloca i8**, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i8** %next_start, i8*** %next_start.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + %cmp = icmp ne i8* %0, null + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %1 = load i8**, i8*** %next_start.addr, align 8 + %2 = load i8*, i8** %1, align 8 + store i8* %2, i8** %s, align 8 + %cmp1 = icmp ne i8* %2, null + br i1 %cmp1, label %if.then, label %if.end7 + +if.then: ; preds = %lor.lhs.false, %entry + %3 = load i8*, i8** %s, align 8 + %4 = load i8*, i8** %s2.addr, align 8 + %call = call i64 @strspn(i8* %3, i8* %4) #20 + %5 = load i8*, i8** %s, align 8 + %add.ptr = getelementptr inbounds i8, i8* %5, i64 %call + store i8* %add.ptr, i8** %s, align 8 + %6 = load i8, i8* %add.ptr, align 1 + %tobool = icmp ne i8 %6, 0 + br i1 %tobool, label %if.then2, label %if.else + +if.then2: ; preds = %if.then + %7 = load i8*, i8** %s, align 8 + %8 = load i8*, i8** %s2.addr, align 8 + %call3 = call i8* @strpbrk(i8* %7, i8* %8) #20 + store i8* %call3, i8** %p, align 8 + %cmp4 = icmp ne i8* %call3, null + br i1 %cmp4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.then2 + %9 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + store i8 0, i8* %9, align 1 + br label %if.end6 + +if.else: ; preds = %if.then + store i8* null, i8** %s, align 8 + store i8* null, i8** %p, align 8 + br label %if.end6 + +if.end6: ; preds = %if.then2, %if.then5, %if.else + %10 = load i8*, i8** %p, align 8 + %11 = load i8**, i8*** %next_start.addr, align 8 + store i8* %10, i8** %11, align 8 + br label %if.end7 + +if.end7: ; preds = %if.end6, %lor.lhs.false + %12 = load i8*, i8** %s, align 8 + ret i8* %12 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @mbsrtowcs(i32* noalias %dst, i8** noalias %src, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %dst.addr = alloca i32*, align 8 + %src.addr = alloca i8**, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + store i32* %dst, i32** %dst.addr, align 8 + store i8** %src, i8*** %src.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load i32*, i32** %dst.addr, align 8 + %1 = load i8**, i8*** %src.addr, align 8 + %2 = load i64, i64* %len.addr, align 8 + %3 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %cmp = icmp ne %struct.__mbstate_t.512* %3, null + %4 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %cond = select i1 %cmp, %struct.__mbstate_t.512* %4, %struct.__mbstate_t.512* @mbsrtowcs.mbstate + %call = call i64 @mbsnrtowcs(i32* %0, i8** %1, i64 -1, i64 %2, %struct.__mbstate_t.512* %cond) #19 + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define i64 @wcsnrtombs(i8* noalias %dst, i32** noalias %src, i64 %NWC, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %retval = alloca i64, align 8 + %dst.addr = alloca i8*, align 8 + %src.addr = alloca i32**, align 8 + %NWC.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %s = alloca i32*, align 8 + %count = alloca i64, align 8 + %incr = alloca i32, align 4 + %buf = alloca [16 x i8], align 16 + %wc = alloca i32, align 4 + %u = alloca i32, align 4 + store i8* %dst, i8** %dst.addr, align 8 + store i32** %src, i32*** %src.addr, align 8 + store i64 %NWC, i64* %NWC.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 9 + %1 = load i8, i8* %encoding, align 8 + %conv = zext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load i8*, i8** %dst.addr, align 8 + %3 = load i64, i64* %len.addr, align 8 + %4 = load i32**, i32*** %src.addr, align 8 + %5 = load i64, i64* %NWC.addr, align 8 + %call = call i64 @_wchar_wcsntoutf8s(i8* %2, i64 %3, i32** %4, i64 %5) #18 + store i64 %call, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + store i32 1, i32* %incr, align 4 + %6 = load i8*, i8** %dst.addr, align 8 + %tobool = icmp ne i8* %6, null + br i1 %tobool, label %lor.lhs.false, label %if.then4 + +lor.lhs.false: ; preds = %if.end + %7 = load i8*, i8** %dst.addr, align 8 + %8 = load i32**, i32*** %src.addr, align 8 + %9 = bitcast i32** %8 to i8* + %cmp2 = icmp eq i8* %7, %9 + br i1 %cmp2, label %if.then4, label %if.end8 + +if.then4: ; preds = %lor.lhs.false, %if.end + %10 = load i8*, i8** %dst.addr, align 8 + %tobool5 = icmp ne i8* %10, null + br i1 %tobool5, label %if.end7, label %if.then6 + +if.then6: ; preds = %if.then4 + store i64 -1, i64* %len.addr, align 8 + br label %if.end7 + +if.end7: ; preds = %if.then6, %if.then4 + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay, i8** %dst.addr, align 8 + store i32 0, i32* %incr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end7, %lor.lhs.false + %11 = load i64, i64* %len.addr, align 8 + %12 = load i64, i64* %NWC.addr, align 8 + %cmp9 = icmp ugt i64 %11, %12 + br i1 %cmp9, label %if.then11, label %if.end12 + +if.then11: ; preds = %if.end8 + %13 = load i64, i64* %NWC.addr, align 8 + store i64 %13, i64* %len.addr, align 8 + br label %if.end12 + +if.end12: ; preds = %if.then11, %if.end8 + %14 = load i64, i64* %len.addr, align 8 + store i64 %14, i64* %count, align 8 + %15 = load i32**, i32*** %src.addr, align 8 + %16 = load i32*, i32** %15, align 8 + store i32* %16, i32** %s, align 8 + %17 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding13 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %17, i32 0, i32 9 + %18 = load i8, i8* %encoding13, align 8 + %conv14 = zext i8 %18 to i32 + %cmp15 = icmp eq i32 %conv14, 2 + br i1 %cmp15, label %while.cond, label %while.cond52 + +while.cond: ; preds = %if.end12, %if.end45 + %19 = load i64, i64* %count, align 8 + %tobool18 = icmp ne i64 %19, 0 + br i1 %tobool18, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %20 = load i32*, i32** %s, align 8 + %21 = load i32, i32* %20, align 4 + store i32 %21, i32* %wc, align 4 + %cmp19 = icmp ule i32 %21, 127 + br i1 %cmp19, label %if.then21, label %if.else + +if.then21: ; preds = %while.body + %22 = load i32, i32* %wc, align 4 + %conv22 = trunc i32 %22 to i8 + %23 = load i8*, i8** %dst.addr, align 8 + store i8 %conv22, i8* %23, align 1 + %tobool23 = icmp ne i8 %conv22, 0 + br i1 %tobool23, label %if.end45, label %if.then24 + +if.then24: ; preds = %if.then21 + store i32* null, i32** %s, align 8 + br label %while.end + +if.else: ; preds = %while.body + store i32 0, i32* %u, align 4 + %24 = load i32, i32* %wc, align 4 + %cmp26 = icmp ule i32 %24, 9727 + br i1 %cmp26, label %if.then28, label %if.end42 + +if.then28: ; preds = %if.else + %25 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %idx8wc2c = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %25, i32 0, i32 18 + %26 = load i8*, i8** %idx8wc2c, align 8 + %27 = load i32, i32* %wc, align 4 + %shr = lshr i32 %27, 8 + %idxprom = zext i32 %shr to i64 + %arrayidx = getelementptr inbounds i8, i8* %26, i64 %idxprom + %28 = load i8, i8* %arrayidx, align 1 + %conv29 = zext i8 %28 to i32 + store i32 %conv29, i32* %u, align 4 + %29 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %tbl8wc2c = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %29, i32 0, i32 19 + %30 = load i8*, i8** %tbl8wc2c, align 8 + %31 = load i32, i32* %u, align 4 + %shl = shl i32 %31, 4 + %32 = load i32, i32* %wc, align 4 + %shr30 = lshr i32 %32, 4 + %and = and i32 %shr30, 15 + %add = add i32 %shl, %and + %idxprom31 = zext i32 %add to i64 + %arrayidx32 = getelementptr inbounds i8, i8* %30, i64 %idxprom31 + %33 = load i8, i8* %arrayidx32, align 1 + %conv33 = zext i8 %33 to i32 + store i32 %conv33, i32* %u, align 4 + %34 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %tbl8wc2c34 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %34, i32 0, i32 19 + %35 = load i8*, i8** %tbl8wc2c34, align 8 + %36 = load i32, i32* %u, align 4 + %shl35 = shl i32 %36, 4 + %add36 = add i32 1072, %shl35 + %37 = load i32, i32* %wc, align 4 + %and37 = and i32 %37, 15 + %add38 = add i32 %add36, %and37 + %idxprom39 = zext i32 %add38 to i64 + %arrayidx40 = getelementptr inbounds i8, i8* %35, i64 %idxprom39 + %38 = load i8, i8* %arrayidx40, align 1 + %conv41 = zext i8 %38 to i32 + store i32 %conv41, i32* %u, align 4 + br label %if.end42 + +if.end42: ; preds = %if.then28, %if.else + %39 = load i32, i32* %u, align 4 + %tobool43 = icmp ne i32 %39, 0 + %40 = load i32, i32* %u, align 4 + %cond = select i1 %tobool43, i32 %40, i32 63 + %conv44 = trunc i32 %cond to i8 + %41 = load i8*, i8** %dst.addr, align 8 + store i8 %conv44, i8* %41, align 1 + br label %if.end45 + +if.end45: ; preds = %if.then21, %if.end42 + %42 = load i32*, i32** %s, align 8 + %incdec.ptr = getelementptr inbounds i32, i32* %42, i32 1 + store i32* %incdec.ptr, i32** %s, align 8 + %43 = load i32, i32* %incr, align 4 + %44 = load i8*, i8** %dst.addr, align 8 + %idx.ext = sext i32 %43 to i64 + %add.ptr = getelementptr inbounds i8, i8* %44, i64 %idx.ext + store i8* %add.ptr, i8** %dst.addr, align 8 + %45 = load i64, i64* %count, align 8 + %dec = add i64 %45, -1 + store i64 %dec, i64* %count, align 8 + br label %while.cond + +while.end: ; preds = %if.then24, %while.cond + %46 = load i8*, i8** %dst.addr, align 8 + %arraydecay46 = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + %cmp47 = icmp ne i8* %46, %arraydecay46 + br i1 %cmp47, label %if.then49, label %if.end50 + +if.then49: ; preds = %while.end + %47 = load i32*, i32** %s, align 8 + %48 = load i32**, i32*** %src.addr, align 8 + store i32* %47, i32** %48, align 8 + br label %if.end50 + +if.end50: ; preds = %if.then49, %while.end + %49 = load i64, i64* %len.addr, align 8 + %50 = load i64, i64* %count, align 8 + %sub = sub i64 %49, %50 + store i64 %sub, i64* %retval, align 8 + br label %return + +while.cond52: ; preds = %if.end12, %if.end64 + %51 = load i64, i64* %count, align 8 + %tobool53 = icmp ne i64 %51, 0 + br i1 %tobool53, label %while.body54, label %while.end69 + +while.body54: ; preds = %while.cond52 + %52 = load i32*, i32** %s, align 8 + %53 = load i32, i32* %52, align 4 + %cmp55 = icmp uge i32 %53, 128 + br i1 %cmp55, label %if.then57, label %if.end58 + +if.then57: ; preds = %while.body54 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end58: ; preds = %while.body54 + %54 = load i32*, i32** %s, align 8 + %55 = load i32, i32* %54, align 4 + %conv59 = trunc i32 %55 to i8 + %56 = load i8*, i8** %dst.addr, align 8 + store i8 %conv59, i8* %56, align 1 + %conv60 = sext i8 %conv59 to i32 + %cmp61 = icmp eq i32 %conv60, 0 + br i1 %cmp61, label %if.then63, label %if.end64 + +if.then63: ; preds = %if.end58 + store i32* null, i32** %s, align 8 + br label %while.end69 + +if.end64: ; preds = %if.end58 + %57 = load i32*, i32** %s, align 8 + %incdec.ptr65 = getelementptr inbounds i32, i32* %57, i32 1 + store i32* %incdec.ptr65, i32** %s, align 8 + %58 = load i32, i32* %incr, align 4 + %59 = load i8*, i8** %dst.addr, align 8 + %idx.ext66 = sext i32 %58 to i64 + %add.ptr67 = getelementptr inbounds i8, i8* %59, i64 %idx.ext66 + store i8* %add.ptr67, i8** %dst.addr, align 8 + %60 = load i64, i64* %count, align 8 + %dec68 = add i64 %60, -1 + store i64 %dec68, i64* %count, align 8 + br label %while.cond52 + +while.end69: ; preds = %if.then63, %while.cond52 + %61 = load i8*, i8** %dst.addr, align 8 + %arraydecay70 = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + %cmp71 = icmp ne i8* %61, %arraydecay70 + br i1 %cmp71, label %if.then73, label %if.end74 + +if.then73: ; preds = %while.end69 + %62 = load i32*, i32** %s, align 8 + %63 = load i32**, i32*** %src.addr, align 8 + store i32* %62, i32** %63, align 8 + br label %if.end74 + +if.end74: ; preds = %if.then73, %while.end69 + %64 = load i64, i64* %len.addr, align 8 + %65 = load i64, i64* %count, align 8 + %sub75 = sub i64 %64, %65 + store i64 %sub75, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end74, %if.then57, %if.end50, %if.then + %66 = load i64, i64* %retval, align 8 + ret i64 %66 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @strpbrk(i8* nonnull %s1, i8* nonnull %s2) #14 { +entry: + %retval = alloca i8*, align 8 + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc6, %entry + %1 = load i8*, i8** %s, align 8 + %2 = load i8, i8* %1, align 1 + %tobool = icmp ne i8 %2, 0 + br i1 %tobool, label %for.body, label %for.end8 + +for.body: ; preds = %for.cond + %3 = load i8*, i8** %s2.addr, align 8 + store i8* %3, i8** %p, align 8 + br label %for.cond1 + +for.cond1: ; preds = %for.inc, %for.body + %4 = load i8*, i8** %p, align 8 + %5 = load i8, i8* %4, align 1 + %tobool2 = icmp ne i8 %5, 0 + br i1 %tobool2, label %for.body3, label %for.inc6 + +for.body3: ; preds = %for.cond1 + %6 = load i8*, i8** %p, align 8 + %7 = load i8, i8* %6, align 1 + %conv = sext i8 %7 to i32 + %8 = load i8*, i8** %s, align 8 + %9 = load i8, i8* %8, align 1 + %conv4 = sext i8 %9 to i32 + %cmp = icmp eq i32 %conv, %conv4 + br i1 %cmp, label %if.then, label %for.inc + +if.then: ; preds = %for.body3 + %10 = load i8*, i8** %s, align 8 + store i8* %10, i8** %retval, align 8 + br label %return + +for.inc: ; preds = %for.body3 + %11 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %11, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + br label %for.cond1 + +for.inc6: ; preds = %for.cond1 + %12 = load i8*, i8** %s, align 8 + %incdec.ptr7 = getelementptr inbounds i8, i8* %12, i32 1 + store i8* %incdec.ptr7, i8** %s, align 8 + br label %for.cond + +for.end8: ; preds = %for.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %for.end8, %if.then + %13 = load i8*, i8** %retval, align 8 + ret i8* %13 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i64 @strspn(i8* nonnull %s1, i8* nonnull %s2) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %2 = load i8*, i8** %p, align 8 + %3 = load i8, i8* %2, align 1 + %tobool = icmp ne i8 %3, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %5 = load i8, i8* %4, align 1 + %conv = sext i8 %5 to i32 + %6 = load i8*, i8** %s, align 8 + %7 = load i8, i8* %6, align 1 + %conv1 = sext i8 %7 to i32 + %cmp = icmp eq i32 %conv, %conv1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + %8 = load i8*, i8** %s, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %8, i32 1 + store i8* %incdec.ptr3, i8** %s, align 8 + %9 = load i8*, i8** %s2.addr, align 8 + store i8* %9, i8** %p, align 8 + br label %if.end + +if.end: ; preds = %if.then, %while.body + br label %while.cond + +while.end: ; preds = %while.cond + %10 = load i8*, i8** %s, align 8 + %11 = load i8*, i8** %s1.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %10 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %11 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_wchar_wcsntoutf8s(i8* noalias %s, i64 %n, i32** noalias %src, i64 %wn) #0 { +entry: + %retval = alloca i64, align 8 + %s.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %src.addr = alloca i32**, align 8 + %wn.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + %len = alloca i64, align 8 + %t = alloca i64, align 8 + %wc = alloca i32, align 4 + %swc = alloca i32*, align 8 + %store = alloca i32, align 4 + %buf = alloca [16 x i8], align 16 + %m = alloca i8, align 1 + store i8* %s, i8** %s.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i32** %src, i32*** %src.addr, align 8 + store i64 %wn, i64* %wn.addr, align 8 + store i32 1, i32* %store, align 4 + %0 = load i8*, i8** %s.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %lor.lhs.false, label %if.then + +lor.lhs.false: ; preds = %entry + %1 = load i8*, i8** %s.addr, align 8 + %2 = load i32**, i32*** %src.addr, align 8 + %3 = bitcast i32** %2 to i8* + %cmp = icmp eq i8* %1, %3 + br i1 %cmp, label %if.then, label %if.end3 + +if.then: ; preds = %lor.lhs.false, %entry + %4 = load i8*, i8** %s.addr, align 8 + %tobool1 = icmp ne i8* %4, null + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + store i64 -1, i64* %n.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay, i8** %s.addr, align 8 + store i32 0, i32* %store, align 4 + br label %if.end3 + +if.end3: ; preds = %if.end, %lor.lhs.false + %5 = load i64, i64* %n.addr, align 8 + store i64 %5, i64* %t, align 8 + %6 = load i32**, i32*** %src.addr, align 8 + %7 = load i32*, i32** %6, align 8 + store i32* %7, i32** %swc, align 8 + br label %while.cond + +while.cond: ; preds = %if.end51, %if.end3 + %8 = load i64, i64* %wn.addr, align 8 + %tobool4 = icmp ne i64 %8, 0 + %9 = load i64, i64* %t, align 8 + %tobool5 = icmp ne i64 %9, 0 + %10 = select i1 %tobool4, i1 %tobool5, i1 false + br i1 %10, label %while.body, label %while.end52 + +while.body: ; preds = %while.cond + %11 = load i32*, i32** %swc, align 8 + %12 = load i32, i32* %11, align 4 + store i32 %12, i32* %wc, align 4 + %13 = load i32, i32* %wc, align 4 + %conv = trunc i32 %13 to i8 + %14 = load i8*, i8** %s.addr, align 8 + store i8 %conv, i8* %14, align 1 + store i64 1, i64* %len, align 8 + %15 = load i32, i32* %wc, align 4 + %cmp6 = icmp uge i32 %15, 128 + %16 = load i32, i32* %wc, align 4 + br i1 %cmp6, label %if.then8, label %if.else + +if.then8: ; preds = %while.body + %conv9 = zext i32 %16 to i64 + %cmp10 = icmp ugt i64 %conv9, 2147483647 + br i1 %cmp10, label %if.then19, label %lor.lhs.false12 + +lor.lhs.false12: ; preds = %if.then8 + %17 = load i32, i32* %wc, align 4 + %sub = sub i32 %17, 65534 + %cmp13 = icmp ult i32 %sub, 2 + br i1 %cmp13, label %if.then19, label %lor.lhs.false15 + +lor.lhs.false15: ; preds = %lor.lhs.false12 + %18 = load i32, i32* %wc, align 4 + %sub16 = sub i32 %18, 55296 + %cmp17 = icmp ult i32 %sub16, 2048 + br i1 %cmp17, label %if.then19, label %if.end20 + +if.then19: ; preds = %lor.lhs.false15, %lor.lhs.false12, %if.then8 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end20: ; preds = %lor.lhs.false15 + %19 = load i32, i32* %wc, align 4 + %shr = lshr i32 %19, 1 + store i32 %shr, i32* %wc, align 4 + %20 = load i8*, i8** %s.addr, align 8 + store i8* %20, i8** %p, align 8 + br label %do.body + +do.body: ; preds = %do.body, %if.end20 + %21 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %21, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %22 = load i32, i32* %wc, align 4 + %shr21 = lshr i32 %22, 5 + store i32 %shr21, i32* %wc, align 4 + %tobool22 = icmp ne i32 %shr21, 0 + br i1 %tobool22, label %do.body, label %do.end + +do.end: ; preds = %do.body + %23 = load i32*, i32** %swc, align 8 + %24 = load i32, i32* %23, align 4 + store i32 %24, i32* %wc, align 4 + %25 = load i8*, i8** %p, align 8 + %26 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %25 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %26 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %len, align 8 + %27 = load i64, i64* %t, align 8 + %cmp23 = icmp ugt i64 %sub.ptr.sub, %27 + br i1 %cmp23, label %while.end52, label %if.end26 + +if.end26: ; preds = %do.end + store i8 -128, i8* %m, align 1 + br label %while.cond27 + +while.cond27: ; preds = %while.body30, %if.end26 + %28 = load i8*, i8** %p, align 8 + %29 = load i8*, i8** %s.addr, align 8 + %cmp28 = icmp ugt i8* %28, %29 + %30 = load i8, i8* %m, align 1 + %conv31 = sext i8 %30 to i32 + br i1 %cmp28, label %while.body30, label %while.end + +while.body30: ; preds = %while.cond27 + %shr32 = ashr i32 %conv31, 1 + %or = or i32 %shr32, 128 + %conv33 = trunc i32 %or to i8 + store i8 %conv33, i8* %m, align 1 + %31 = load i32, i32* %wc, align 4 + %and = and i32 %31, 63 + %or34 = or i32 %and, 128 + %conv35 = trunc i32 %or34 to i8 + %32 = load i8*, i8** %p, align 8 + %incdec.ptr36 = getelementptr inbounds i8, i8* %32, i32 -1 + store i8* %incdec.ptr36, i8** %p, align 8 + store i8 %conv35, i8* %incdec.ptr36, align 1 + %33 = load i32, i32* %wc, align 4 + %shr37 = lshr i32 %33, 6 + store i32 %shr37, i32* %wc, align 4 + br label %while.cond27 + +while.end: ; preds = %while.cond27 + %shl = shl i32 %conv31, 1 + %34 = load i8*, i8** %s.addr, align 8 + %35 = load i8, i8* %34, align 1 + %conv39 = sext i8 %35 to i32 + %or40 = or i32 %conv39, %shl + %conv41 = trunc i32 %or40 to i8 + store i8 %conv41, i8* %34, align 1 + br label %if.end46 + +if.else: ; preds = %while.body + %cmp42 = icmp eq i32 %16, 0 + br i1 %cmp42, label %if.then44, label %if.end46 + +if.then44: ; preds = %if.else + store i32* null, i32** %swc, align 8 + br label %while.end52 + +if.end46: ; preds = %if.else, %while.end + %36 = load i32*, i32** %swc, align 8 + %incdec.ptr47 = getelementptr inbounds i32, i32* %36, i32 1 + store i32* %incdec.ptr47, i32** %swc, align 8 + %37 = load i64, i64* %wn.addr, align 8 + %dec = add i64 %37, -1 + store i64 %dec, i64* %wn.addr, align 8 + %38 = load i64, i64* %len, align 8 + %39 = load i64, i64* %t, align 8 + %sub48 = sub i64 %39, %38 + store i64 %sub48, i64* %t, align 8 + %40 = load i32, i32* %store, align 4 + %tobool49 = icmp ne i32 %40, 0 + br i1 %tobool49, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.end46 + %41 = load i64, i64* %len, align 8 + %42 = load i8*, i8** %s.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %42, i64 %41 + store i8* %add.ptr, i8** %s.addr, align 8 + br label %if.end51 + +if.end51: ; preds = %if.then50, %if.end46 + br label %while.cond + +while.end52: ; preds = %do.end, %if.then44, %while.cond + %43 = load i32, i32* %store, align 4 + %tobool53 = icmp ne i32 %43, 0 + br i1 %tobool53, label %if.then54, label %if.end55 + +if.then54: ; preds = %while.end52 + %44 = load i32*, i32** %swc, align 8 + %45 = load i32**, i32*** %src.addr, align 8 + store i32* %44, i32** %45, align 8 + br label %if.end55 + +if.end55: ; preds = %if.then54, %while.end52 + %46 = load i64, i64* %n.addr, align 8 + %47 = load i64, i64* %t, align 8 + %sub56 = sub i64 %46, %47 + store i64 %sub56, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end55, %if.then19 + %48 = load i64, i64* %retval, align 8 + ret i64 %48 +} + +attributes #0 = { noinline nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #1 = { noinline noreturn nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #2 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #3 = { noinline nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #4 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #5 = { "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #6 = { noinline noreturn nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #7 = { noreturn "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #8 = { argmemonly nounwind willreturn writeonly } +attributes #9 = { argmemonly nounwind willreturn } +attributes #10 = { noreturn nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #11 = { nounwind } +attributes #12 = { noinline nounwind readnone uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #13 = { noreturn "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #14 = { noinline nounwind readonly uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #15 = { noinline nounwind readonly uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #16 = { noinline nounwind returns_twice uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #17 = { "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #18 = { nobuiltin "no-builtins" } +attributes #19 = { nobuiltin nounwind "no-builtins" } +attributes #20 = { nobuiltin nounwind readonly "no-builtins" } +attributes #21 = { nobuiltin nounwind readnone "no-builtins" } +attributes #22 = { nobuiltin noreturn nounwind "no-builtins" } +attributes #23 = { nounwind readonly } +attributes #24 = { noreturn } +attributes #25 = { nounwind readnone } +attributes #26 = { noreturn nounwind } +attributes #27 = { nobuiltin noreturn "no-builtins" } + +!llvm.module.flags = !{!0, !1} +!llvm.ident = !{!2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2} + +!0 = !{i32 1, !"wchar_size", i32 4} +!1 = !{i32 7, !"PIC Level", i32 2} +!2 = !{!"clang version 11.1.0 (https://github.com/llvm/llvm-project.git 1fdec59bffc11ae37eb51a1b9869f0696bfd5312)"} diff --git a/benchmarks/coreutils/gensym_posix/join.ll b/benchmarks/coreutils/gensym_posix/join.ll new file mode 100644 index 000000000..bf582094a --- /dev/null +++ b/benchmarks/coreutils/gensym_posix/join.ll @@ -0,0 +1,37858 @@ +; ModuleID = '__uClibc_main.os' +source_filename = "libc/misc/internals/__uClibc_main.c" +target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" +target triple = "x86_64-unknown-linux-gnu" + +module asm ".section .gnu.warning.siggetmask" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.__fpending" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.gets" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.tmpnam" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.mktemp" +module asm "\09.previous" + +%struct.__uclibc_locale_struct.201 = type { i16*, i16*, i16*, [384 x i16], [384 x i16], [384 x i16], [14 x i8], [6 x i16], [6 x i8], i8, i8, [10 x i8], i8*, i8*, i8*, i8*, i8*, i16*, i8*, i8*, i16*, i8*, i8*, i16*, i32, i32, i32, i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__collate_t.200 } +%struct.__collate_t.200 = type { i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16*, i16*, i16*, i16*, i16*, i16*, i16*, i16*, i16*, i16 } +%struct.__STDIO_FILE_STRUCT.568 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.568*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__mbstate_t.512 = type { i32, i32 } +%struct.quoting_options = type { i32, i32, [8 x i32], i8*, i8* } +%struct.infomap = type { i8*, i8* } +%struct.option = type { i8*, i32, i32*, i32 } +%struct.line = type { %struct.linebuffer, i64, i64, %struct.field* } +%struct.linebuffer = type { i64, i64, i8* } +%struct.field = type { i8*, i64 } +%struct.slotvec = type { i64, i8* } +%struct.outlist = type { i32, i64, %struct.outlist* } +%struct.exe_file_t = type { i32, i32, i64, %struct.exe_disk_file_t* } +%struct.exe_disk_file_t = type { i32, i8*, %struct.stat64* } +%struct.stat64 = type { i64, i64, i64, i32, i32, i32, i32, i64, i64, i64, i64, %struct.timespec, %struct.timespec, %struct.timespec, [3 x i64] } +%struct.timespec = type { i64, i64 } +%struct.exe_file_system_t = type { i32, %struct.exe_disk_file_t*, %struct.exe_disk_file_t*, i32, %struct.exe_disk_file_t*, i32, i32*, i32*, i32*, i32*, i32*, i32*, i32* } +%struct.__locale_mmap_t.203 = type { [420 x i8], [504 x i8], [1760 x i16], [4528 x i8], [3604 x i8], [1680 x i8], [196 x i16], [51 x i8], [28 x i8], [1646 x i8], [28353 x i8], [1804 x i8], [23 x %struct.__codeset_8_bit_t.202], [20 x i8], [10 x i16], [20 x i16], [45 x i8], [3 x i16], [15 x i16], [3894 x i8], [22 x i16], [407 x i16], [8250 x i8], [50 x i16], [3429 x i16], [372 x i8], [4 x i16], [200 x i16], [91141 x i16], [6 x i8], [24 x i64], [2826 x i8], [835 x i8], [18 x i8], [69 x i8], [255 x i8] } +%struct.__codeset_8_bit_t.202 = type { [16 x i8], [16 x i8], [16 x i8], [38 x i8] } +%struct.utmp.323 = type { i16, i32, [32 x i8], [4 x i8], [32 x i8], [256 x i8], %struct.exit_status, i64, %struct.timespec, [4 x i32], [20 x i8] } +%struct.exit_status = type { i16, i16 } +%struct._getopt_data = type { i32, i32, i32, i8*, i32, i8*, i32, i32, i32, i32 } +%struct.exit_function = type { i64, %union.anon.772 } +%union.anon.772 = type { %struct.anon.0.771 } +%struct.anon.0.771 = type { void (i8*)*, i8*, i8* } +%struct.dirent64 = type { i64, i64, i16, i8, [256 x i8] } +%struct.__STDIO_FILE_STRUCT.590 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.590*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.592 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.592*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.608 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.608*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.621 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.621*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.636 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.636*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.Elf64_auxv_t = type { i64, %union.anon.193 } +%union.anon.193 = type { i64 } +%struct.stat.192 = type { i64, i64, i64, i32, i32, i32, i32, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, [3 x i64] } +%struct.__STDIO_FILE_STRUCT.513 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.513*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.exe_sym_env_t = type { [32 x %struct.exe_file_t], i32, i32, i32 } +%struct.__va_list_tag.0 = type { i32, i32, i8*, i8* } +%struct.termios = type { i32, i32, i32, i32, i8, [32 x i8], i32, i32 } +%struct.winsize = type { i16, i16, i16, i16 } +%struct.flock = type { i16, i16, i64, i64, i32 } +%struct.statfs = type { i64, i64, i64, i64, i64, i64, i64, %struct.__fsid_t, i64, i64, i64, [4 x i64] } +%struct.__fsid_t = type { [2 x i32] } +%struct.fd_set = type { [16 x i64] } +%struct.coldata_header_t = type { i16, i16, i16, i16, i16, i16, i16, i16 } +%struct.coldata_base_t = type { i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16 } +%struct._IO_FILE = type { i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct._IO_marker*, %struct._IO_FILE*, i32, i32, i64, i16, i8, [1 x i8], i8*, i64, %struct._IO_codecvt*, %struct._IO_wide_data*, %struct._IO_FILE*, i8*, i64, i32, [20 x i8] } +%struct._IO_marker = type opaque +%struct._IO_codecvt = type opaque +%struct._IO_wide_data = type opaque +%struct.seq = type { i64, i64, %struct.line** } +%struct.__mbstate_t = type { i32, %union.anon } +%union.anon = type { i32 } +%struct.sigaction.800 = type { %union.anon.799, %struct.fd_set, i32, void ()* } +%union.anon.799 = type { void (i32)* } +%struct.tms = type { i64, i64, i64, i64 } +%struct.utmpx = type opaque +%struct.utmp = type { i16, i32, [32 x i8], [4 x i8], [32 x i8], [256 x i8], %struct.exit_status, i32, %struct.__mbstate_t.512, [4 x i32], [20 x i8] } +%struct.rusage = type { %struct.timespec, %struct.timespec, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193 } +%struct.siginfo_t = type { i32, i32, i32, i32, %union.anon.0 } +%union.anon.0 = type { %struct.anon.3, [80 x i8] } +%struct.anon.3 = type { i32, i32, i32, i64, i64 } +%struct.kernel_sigaction = type { void (i32)*, i64, void ()*, %struct.fd_set } +%struct.__jmp_buf_tag = type { [8 x i64], i32, %struct.fd_set } +%struct.__STDIO_FILE_STRUCT.519 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.519*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.588 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.588*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__kernel_termios = type { i32, i32, i32, i32, i8, [19 x i8] } +%struct.ppfs_t.722 = type { i8*, %struct.printf_info.720, i32, i32, i32, [4 x i8], [9 x i32], [1 x %struct.__va_list_tag.0], [9 x %union.anon.193] } +%struct.printf_info.720 = type { i32, i32, i32, i32, i32 } +%struct.col_state_t = type { i8*, i8*, i32, i32, i32, i32, i32, i64, i32*, [8 x i32], i8*, i8*, i8*, [128 x i8], i64, i32 } +%struct.anon.779 = type { void (i32, i8*)*, i8* } + +@__libc_stack_end = global i8* null, align 8 +@.str = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@__uclibc_progname = hidden global i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i32 0, i32 0), align 8 +@program_invocation_short_name = global i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i32 0, i32 0), align 8 +@program_invocation_name = global i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i32 0, i32 0), align 8 +@__environ = global i8** null, align 8 +@__pagesize = global i64 0, align 8 +@__uClibc_init.been_there_done_that = internal global i32 0, align 4 +@__app_fini = hidden global void ()* null, align 8 +@__rtld_fini = hidden global void ()* null, align 8 +@.str.1 = private unnamed_addr constant [10 x i8] c"/dev/null\00", align 1 +@llvm.used = appending global [5 x i8*] [i8* getelementptr inbounds ([57 x i8], [57 x i8]* @__evoke_link_warning_siggetmask, i32 0, i32 0), i8* getelementptr inbounds ([167 x i8], [167 x i8]* @__evoke_link_warning___fpending, i32 0, i32 0), i8* getelementptr inbounds ([57 x i8], [57 x i8]* @__evoke_link_warning_gets, i32 0, i32 0), i8* getelementptr inbounds ([55 x i8], [55 x i8]* @__evoke_link_warning_tmpnam, i32 0, i32 0), i8* getelementptr inbounds ([55 x i8], [55 x i8]* @__evoke_link_warning_mktemp, i32 0, i32 0)], section "llvm.metadata" +@__evoke_link_warning_siggetmask = internal constant [57 x i8] c"warning: `siggetmask' is obsolete; `sigprocmask' is best\00", section ".gnu.warning.siggetmask\0A#APP\0A\09#", align 16 +@__evoke_link_warning___fpending = internal constant [167 x i8] c"This version of __fpending returns bytes remaining in buffer for both narrow and wide streams. glibc's version returns wide chars in buffer for the wide stream case.\00", section ".gnu.warning.__fpending\0A#APP\0A\09#", align 16 +@__evoke_link_warning_gets = internal constant [57 x i8] c"the 'gets' function is dangerous and should not be used.\00", section ".gnu.warning.gets\0A#APP\0A\09#", align 16 +@__evoke_link_warning_tmpnam = internal constant [55 x i8] c"the use of `tmpnam' is dangerous, better use `mkstemp'\00", section ".gnu.warning.tmpnam\0A#APP\0A\09#", align 16 +@tmpnam_buffer = internal global [20 x i8] zeroinitializer, align 16 +@__evoke_link_warning_mktemp = internal constant [55 x i8] c"the use of `mktemp' is dangerous, better use `mkstemp'\00", section ".gnu.warning.mktemp\0A#APP\0A\09#", align 16 +@.str.4 = private unnamed_addr constant [77 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/fd.c\00", align 1 +@.str.27 = private unnamed_addr constant [37 x i8] c"ERROR: concretizing symbolic pointer\00", align 1 +@.str.28 = private unnamed_addr constant [9 x i8] c"user.err\00", align 1 +@.str.25 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@getcwd.n_calls = internal global i32 0, align 4 +@.str.5 = private unnamed_addr constant [46 x i8] c"Undefined call to open(): O_TRUNC | O_RDONLY\0A\00", align 1 +@.str.1.6 = private unnamed_addr constant [47 x i8] c"Undefined call to open(): O_EXCL w/o O_RDONLY\0A\00", align 1 +@.str.2 = private unnamed_addr constant [44 x i8] c"symbolic file descriptor, ignoring (ENOENT)\00", align 1 +@close.n_calls = internal global i32 0, align 4 +@read.n_calls = internal global i32 0, align 4 +@.str.3 = private unnamed_addr constant [12 x i8] c"f->off >= 0\00", align 1 +@__PRETTY_FUNCTION__.read = private unnamed_addr constant [34 x i8] c"ssize_t read(int, void *, size_t)\00", align 1 +@write.n_calls = internal global i32 0, align 4 +@.str.5.7 = private unnamed_addr constant [7 x i8] c"r >= 0\00", align 1 +@__PRETTY_FUNCTION__.write = private unnamed_addr constant [41 x i8] c"ssize_t write(int, const void *, size_t)\00", align 1 +@.str.6 = private unnamed_addr constant [2 x i8] c"0\00", align 1 +@.str.7 = private unnamed_addr constant [24 x i8] c"write() ignores bytes.\0A\00", align 1 +@.str.8 = private unnamed_addr constant [18 x i8] c"new_off == f->off\00", align 1 +@__PRETTY_FUNCTION__.__fd_lseek = private unnamed_addr constant [38 x i8] c"off64_t __fd_lseek(int, off64_t, int)\00", align 1 +@.str.9 = private unnamed_addr constant [33 x i8] c"symbolic file, ignoring (ENOENT)\00", align 1 +@chmod.n_calls = internal global i32 0, align 4 +@fchmod.n_calls = internal global i32 0, align 4 +@.str.26 = private unnamed_addr constant [32 x i8] c"symbolic file, ignoring (EPERM)\00", align 1 +@__fd_ftruncate.n_calls = internal global i32 0, align 4 +@.str.10 = private unnamed_addr constant [30 x i8] c"symbolic file, ignoring (EIO)\00", align 1 +@.str.11 = private unnamed_addr constant [33 x i8] c"symbolic file, ignoring (EINVAL)\00", align 1 +@.str.12 = private unnamed_addr constant [18 x i8] c"s != (off64_t) -1\00", align 1 +@__PRETTY_FUNCTION__.__fd_getdents = private unnamed_addr constant [65 x i8] c"int __fd_getdents(unsigned int, struct dirent64 *, unsigned int)\00", align 1 +@.str.13 = private unnamed_addr constant [22 x i8] c"f->off != (off64_t)-1\00", align 1 +@.str.14 = private unnamed_addr constant [41 x i8] c"(TCGETS) symbolic file, incomplete model\00", align 1 +@.str.15 = private unnamed_addr constant [42 x i8] c"(TCSETS) symbolic file, silently ignoring\00", align 1 +@.str.16 = private unnamed_addr constant [43 x i8] c"(TCSETSW) symbolic file, silently ignoring\00", align 1 +@.str.17 = private unnamed_addr constant [43 x i8] c"(TCSETSF) symbolic file, silently ignoring\00", align 1 +@.str.18 = private unnamed_addr constant [45 x i8] c"(TIOCGWINSZ) symbolic file, incomplete model\00", align 1 +@.str.19 = private unnamed_addr constant [46 x i8] c"(TIOCSWINSZ) symbolic file, ignoring (EINVAL)\00", align 1 +@.str.20 = private unnamed_addr constant [43 x i8] c"(FIONREAD) symbolic file, incomplete model\00", align 1 +@.str.21 = private unnamed_addr constant [44 x i8] c"(MTIOCGET) symbolic file, ignoring (EINVAL)\00", align 1 +@.str.22 = private unnamed_addr constant [32 x i8] c"symbolic file, ignoring (EBADF)\00", align 1 +@.str.23 = private unnamed_addr constant [17 x i8] c"ignoring (EPERM)\00", align 1 +@.str.24 = private unnamed_addr constant [18 x i8] c"ignoring (ENOENT)\00", align 1 +@__const.klee_init_env.sym_arg_name = private unnamed_addr constant [6 x i8] c"arg\00\00\00", align 1 +@.str.29 = private unnamed_addr constant [7 x i8] c"--help\00", align 1 +@.str.1.30 = private unnamed_addr constant [964 x i8] c"klee_init_env\0A\0Ausage: (klee_init_env) [options] [program arguments]\0A -sym-arg - Replace by a symbolic argument with length N\0A -sym-args - Replace by at least MIN arguments and at most\0A MAX arguments, each with maximum length N\0A -sym-files - Make NUM symbolic files ('A', 'B', 'C', etc.),\0A each with size N\0A -sym-stdin - Make stdin symbolic with size N.\0A -sym-stdout - Make stdout symbolic.\0A -save-all-writes - Allow write operations to execute as expected\0A even if they exceed the file size. If set to 0, all\0A writes exceeding the initial file size are discarded.\0A Note: file offset is always incremented.\0A -max-fail - Allow up to N injected failures\0A -fd-fail - Shortcut for '-max-fail 1'\0A\0A\00", align 1 +@.str.2.31 = private unnamed_addr constant [10 x i8] c"--sym-arg\00", align 1 +@.str.3.32 = private unnamed_addr constant [9 x i8] c"-sym-arg\00", align 1 +@.str.4.33 = private unnamed_addr constant [48 x i8] c"--sym-arg expects an integer argument \00", align 1 +@.str.5.34 = private unnamed_addr constant [45 x i8] c"No more than 100 symbolic arguments allowed.\00", align 1 +@.str.6.35 = private unnamed_addr constant [11 x i8] c"--sym-args\00", align 1 +@.str.7.36 = private unnamed_addr constant [10 x i8] c"-sym-args\00", align 1 +@.str.8.37 = private unnamed_addr constant [77 x i8] c"--sym-args expects three integer arguments \00", align 1 +@.str.9.38 = private unnamed_addr constant [28 x i8] c"Invalid range to --sym-args\00", align 1 +@.str.10.39 = private unnamed_addr constant [7 x i8] c"n_args\00", align 1 +@.str.11.40 = private unnamed_addr constant [12 x i8] c"--sym-files\00", align 1 +@.str.12.41 = private unnamed_addr constant [11 x i8] c"-sym-files\00", align 1 +@.str.13.42 = private unnamed_addr constant [72 x i8] c"--sym-files expects two integer arguments \00", align 1 +@.str.14.43 = private unnamed_addr constant [39 x i8] c"Multiple --sym-files are not allowed.\0A\00", align 1 +@.str.15.44 = private unnamed_addr constant [65 x i8] c"The first argument to --sym-files (number of files) cannot be 0\0A\00", align 1 +@.str.16.45 = private unnamed_addr constant [60 x i8] c"The second argument to --sym-files (file size) cannot be 0\0A\00", align 1 +@.str.17.46 = private unnamed_addr constant [12 x i8] c"--sym-stdin\00", align 1 +@.str.18.47 = private unnamed_addr constant [11 x i8] c"-sym-stdin\00", align 1 +@.str.19.48 = private unnamed_addr constant [57 x i8] c"--sym-stdin expects one integer argument \00", align 1 +@.str.20.49 = private unnamed_addr constant [13 x i8] c"--sym-stdout\00", align 1 +@.str.21.50 = private unnamed_addr constant [12 x i8] c"-sym-stdout\00", align 1 +@.str.22.51 = private unnamed_addr constant [18 x i8] c"--save-all-writes\00", align 1 +@.str.23.52 = private unnamed_addr constant [17 x i8] c"-save-all-writes\00", align 1 +@.str.24.53 = private unnamed_addr constant [10 x i8] c"--fd-fail\00", align 1 +@.str.25.54 = private unnamed_addr constant [9 x i8] c"-fd-fail\00", align 1 +@.str.26.55 = private unnamed_addr constant [12 x i8] c"--bout-file\00", align 1 +@.str.27.56 = private unnamed_addr constant [11 x i8] c"-bout-file\00", align 1 +@.str.28.57 = private unnamed_addr constant [11 x i8] c"--max-fail\00", align 1 +@.str.29.58 = private unnamed_addr constant [10 x i8] c"-max-fail\00", align 1 +@.str.30 = private unnamed_addr constant [54 x i8] c"--max-fail expects an integer argument \00", align 1 +@.str.31 = private unnamed_addr constant [31 x i8] c"out of memory in klee_init_env\00", align 1 +@.str.35 = private unnamed_addr constant [37 x i8] c"too many arguments for klee_init_env\00", align 1 +@.str.32 = private unnamed_addr constant [88 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/klee_init_env.c\00", align 1 +@.str.33 = private unnamed_addr constant [9 x i8] c"user.err\00", align 1 +@.str.34 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.68 = private unnamed_addr constant [5 x i8] c"file\00", align 1 +@.str.1.69 = private unnamed_addr constant [5 x i8] c"/tmp\00", align 1 +@.str.2.70 = private unnamed_addr constant [16 x i8] c"%.*s/%.*sXXXXXX\00", align 1 +@.str.3.73 = private unnamed_addr constant [7 x i8] c"XXXXXX\00", align 1 +@letters = internal constant [63 x i8] c"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\00", align 16 +@brain_damaged_fillrand.value = internal global i64 0, align 8 +@.str.4.74 = private unnamed_addr constant [13 x i8] c"/dev/urandom\00", align 1 +@.str.5.75 = private unnamed_addr constant [12 x i8] c"/dev/random\00", align 1 +@__global_locale_data = global %struct.__uclibc_locale_struct.201 zeroinitializer, align 8 +@__global_locale = global %struct.__uclibc_locale_struct.201* @__global_locale_data, align 8 +@__curlocale_var = global %struct.__uclibc_locale_struct.201* @__global_locale_data, align 8 +@utf8 = internal constant [6 x i8] c"UTF-8\00", align 1 +@ascii = internal constant [6 x i8] c"ASCII\00", align 1 +@__code2flag = internal constant [16 x i16] [i16 0, i16 -15352, i16 -14840, i16 -14584, i16 -15096, i16 -14328, i16 -16380, i16 -16384, i16 24576, i16 24577, i16 8192, i16 8193, i16 8194, i16 8195, i16 2, i16 0], align 16 +@.str.76 = private unnamed_addr constant [14 x i8] c"#\80\80\80\80\80\80\80\80\80\80\80\80\00", align 1 +@stdin = global %struct.__STDIO_FILE_STRUCT.568* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i32 0, i32 0), align 8 +@_stdio_streams = internal global [3 x %struct.__STDIO_FILE_STRUCT.568] [%struct.__STDIO_FILE_STRUCT.568 { i16 544, [2 x i8] zeroinitializer, i32 0, i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 88) to %struct.__STDIO_FILE_STRUCT.568*), [2 x i32] zeroinitializer, %struct.__mbstate_t.512 zeroinitializer, i8* null }, %struct.__STDIO_FILE_STRUCT.568 { i16 528, [2 x i8] zeroinitializer, i32 1, i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 176) to %struct.__STDIO_FILE_STRUCT.568*), [2 x i32] zeroinitializer, %struct.__mbstate_t.512 zeroinitializer, i8* null }, %struct.__STDIO_FILE_STRUCT.568 { i16 528, [2 x i8] zeroinitializer, i32 2, i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, %struct.__STDIO_FILE_STRUCT.568* null, [2 x i32] zeroinitializer, %struct.__mbstate_t.512 zeroinitializer, i8* null }], align 16 +@stdout = global %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 88) to %struct.__STDIO_FILE_STRUCT.568*), align 8 +@stderr = global %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 176) to %struct.__STDIO_FILE_STRUCT.568*), align 8 +@__stdin = global %struct.__STDIO_FILE_STRUCT.568* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i32 0, i32 0), align 8 +@__stdout = global %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 88) to %struct.__STDIO_FILE_STRUCT.568*), align 8 +@_stdio_openlist = global %struct.__STDIO_FILE_STRUCT.568* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i32 0, i32 0), align 8 +@been_there_done_that = internal global i32 0, align 4 +@__exit_cleanup = hidden global void (i32)* null, align 8 +@Version = dso_local global i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.62, i32 0, i32 0), align 8 +@.str.62 = private unnamed_addr constant [5 x i8] c"8.32\00", align 1 +@exit_failure = dso_local global i32 1, align 4 +@program_name = dso_local global i8* null, align 8 +@quoting_style_args = dso_local constant [11 x i8*] [i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.89, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1.90, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2.91, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.3.92, i32 0, i32 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.4.93, i32 0, i32 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.5.94, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.6.95, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.7.96, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.8.97, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.9.98, i32 0, i32 0), i8* null], align 16 +@.str.89 = private unnamed_addr constant [8 x i8] c"literal\00", align 1 +@.str.1.90 = private unnamed_addr constant [6 x i8] c"shell\00", align 1 +@.str.2.91 = private unnamed_addr constant [13 x i8] c"shell-always\00", align 1 +@.str.3.92 = private unnamed_addr constant [13 x i8] c"shell-escape\00", align 1 +@.str.4.93 = private unnamed_addr constant [20 x i8] c"shell-escape-always\00", align 1 +@.str.5.94 = private unnamed_addr constant [2 x i8] c"c\00", align 1 +@.str.6.95 = private unnamed_addr constant [8 x i8] c"c-maybe\00", align 1 +@.str.7.96 = private unnamed_addr constant [7 x i8] c"escape\00", align 1 +@.str.8.97 = private unnamed_addr constant [7 x i8] c"locale\00", align 1 +@.str.9.98 = private unnamed_addr constant [8 x i8] c"clocale\00", align 1 +@quoting_style_vals = dso_local constant [10 x i32] [i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9], align 16 +@quote_quoting_options = dso_local global %struct.quoting_options { i32 8, i32 0, [8 x i32] zeroinitializer, i8* null, i8* null }, align 8 +@version_etc_copyright = dso_local constant [47 x i8] c"Copyright %s %d Free Software Foundation, Inc.\00", align 16 +@.str.95 = private unnamed_addr constant [39 x i8] c"Try '%s --help' for more information.\0A\00", align 1 +@.str.1.96 = private unnamed_addr constant [35 x i8] c"Usage: %s [OPTION]... FILE1 FILE2\0A\00", align 1 +@.str.2.97 = private unnamed_addr constant [150 x i8] c"For each pair of input lines with identical join fields, write a line to\0Astandard output. The default join field is the first, delimited by blanks.\0A\00", align 1 +@.str.3.98 = private unnamed_addr constant [60 x i8] c"\0AWhen FILE1 or FILE2 (not both) is -, read standard input.\0A\00", align 1 +@.str.4.99 = private unnamed_addr constant [208 x i8] c"\0A -a FILENUM also print unpairable lines from file FILENUM, where\0A FILENUM is 1 or 2, corresponding to FILE1 or FILE2\0A -e EMPTY replace missing input fields with EMPTY\0A\00", align 1 +@.str.5.100 = private unnamed_addr constant [253 x i8] c" -i, --ignore-case ignore differences in case when comparing fields\0A -j FIELD equivalent to '-1 FIELD -2 FIELD'\0A -o FORMAT obey FORMAT while constructing output line\0A -t CHAR use CHAR as input and output field separator\0A\00", align 1 +@.str.6.101 = private unnamed_addr constant [491 x i8] c" -v FILENUM like -a FILENUM, but suppress joined output lines\0A -1 FIELD join on this FIELD of file 1\0A -2 FIELD join on this FIELD of file 2\0A --check-order check that the input is correctly sorted, even\0A if all input lines are pairable\0A --nocheck-order do not check that the input is correctly sorted\0A --header treat the first line in each file as field headers,\0A print them without trying to pair them\0A\00", align 1 +@.str.7.102 = private unnamed_addr constant [64 x i8] c" -z, --zero-terminated line delimiter is NUL, not newline\0A\00", align 1 +@.str.8.103 = private unnamed_addr constant [45 x i8] c" --help display this help and exit\0A\00", align 1 +@.str.9.104 = private unnamed_addr constant [54 x i8] c" --version output version information and exit\0A\00", align 1 +@.str.10.105 = private unnamed_addr constant [818 x i8] c"\0AUnless -t CHAR is given, leading blanks separate fields and are ignored,\0Aelse fields are separated by CHAR. Any FIELD is a field number counted\0Afrom 1. FORMAT is one or more comma or blank separated specifications,\0Aeach being 'FILENUM.FIELD' or '0'. Default FORMAT outputs the join field,\0Athe remaining fields from FILE1, the remaining fields from FILE2, all\0Aseparated by CHAR. If FORMAT is the keyword 'auto', then the first\0Aline of each file determines the number of fields output for each line.\0A\0AImportant: FILE1 and FILE2 must be sorted on the join fields.\0AE.g., use \22sort -k 1b,1\22 if 'join' has no options,\0Aor use \22join -t ''\22 if 'sort' has no options.\0ANote, comparisons honor the rules specified by 'LC_COLLATE'.\0AIf the input is not sorted and some lines cannot be joined, a\0Awarning message will be given.\0A\00", align 1 +@.str.11.106 = private unnamed_addr constant [5 x i8] c"join\00", align 1 +@__const.emit_ancillary_info.infomap = private unnamed_addr constant [7 x %struct.infomap] [%struct.infomap { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.29.109, i32 0, i32 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.30.110, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.31.111, i32 0, i32 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.32.112, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.33.113, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.34.114, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.35.115, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.34.114, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.36, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.34.114, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.37, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.34.114, i32 0, i32 0) }, %struct.infomap zeroinitializer], align 16 +@.str.38 = private unnamed_addr constant [23 x i8] c"\0A%s online help: <%s>\0A\00", align 1 +@.str.20.107 = private unnamed_addr constant [14 x i8] c"GNU coreutils\00", align 1 +@.str.39 = private unnamed_addr constant [40 x i8] c"https://www.gnu.org/software/coreutils/\00", align 1 +@.str.40 = private unnamed_addr constant [4 x i8] c"en_\00", align 1 +@.str.41 = private unnamed_addr constant [71 x i8] c"Report any translation bugs to \0A\00", align 1 +@.str.42 = private unnamed_addr constant [27 x i8] c"Full documentation <%s%s>\0A\00", align 1 +@.str.44 = private unnamed_addr constant [12 x i8] c" invocation\00", align 1 +@.str.12.108 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@.str.43 = private unnamed_addr constant [51 x i8] c"or available locally via: info '(coreutils) %s%s'\0A\00", align 1 +@.str.29.109 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@.str.30.110 = private unnamed_addr constant [16 x i8] c"test invocation\00", align 1 +@.str.31.111 = private unnamed_addr constant [10 x i8] c"coreutils\00", align 1 +@.str.32.112 = private unnamed_addr constant [22 x i8] c"Multi-call invocation\00", align 1 +@.str.33.113 = private unnamed_addr constant [10 x i8] c"sha224sum\00", align 1 +@.str.34.114 = private unnamed_addr constant [15 x i8] c"sha2 utilities\00", align 1 +@.str.35.115 = private unnamed_addr constant [10 x i8] c"sha256sum\00", align 1 +@.str.36 = private unnamed_addr constant [10 x i8] c"sha384sum\00", align 1 +@.str.37 = private unnamed_addr constant [10 x i8] c"sha512sum\00", align 1 +@hard_LC_COLLATE = internal global i8 0, align 1 +@print_pairables = internal global i8 0, align 1 +@seen_unpairable = internal global i8 0, align 1 +@issued_disorder_warning = internal global [2 x i8] zeroinitializer, align 1 +@check_input_order = internal global i32 0, align 4 +@.str.13.118 = private unnamed_addr constant [20 x i8] c"-a:e:i1:2:j:o:t:v:z\00", align 1 +@longopts = internal constant [8 x %struct.option] [%struct.option { i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.45, i32 0, i32 0), i32 0, i32* null, i32 105 }, %struct.option { i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.46, i32 0, i32 0), i32 0, i32* null, i32 128 }, %struct.option { i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.47, i32 0, i32 0), i32 0, i32* null, i32 129 }, %struct.option { i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.48, i32 0, i32 0), i32 0, i32* null, i32 122 }, %struct.option { i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.49, i32 0, i32 0), i32 0, i32* null, i32 130 }, %struct.option { i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.50, i32 0, i32 0), i32 0, i32* null, i32 -130 }, %struct.option { i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.51, i32 0, i32 0), i32 0, i32* null, i32 -131 }, %struct.option zeroinitializer], align 16 +@.str.14.119 = private unnamed_addr constant [25 x i8] c"invalid field number: %s\00", align 1 +@print_unpairables_1 = internal global i8 0, align 1 +@print_unpairables_2 = internal global i8 0, align 1 +@empty_filler = internal global i8* null, align 8 +@.str.15.120 = private unnamed_addr constant [44 x i8] c"conflicting empty-field replacement strings\00", align 1 +@ignore_case = internal global i8 0, align 1 +@join_field_1 = internal global i64 -1, align 8 +@join_field_2 = internal global i64 -1, align 8 +@.str.16.121 = private unnamed_addr constant [5 x i8] c"auto\00", align 1 +@autoformat = internal global i8 0, align 1 +@.str.17.122 = private unnamed_addr constant [3 x i8] c"\\0\00", align 1 +@.str.18.123 = private unnamed_addr constant [23 x i8] c"multi-character tab %s\00", align 1 +@tab = internal global i32 -1, align 4 +@.str.19.124 = private unnamed_addr constant [18 x i8] c"incompatible tabs\00", align 1 +@eolchar = internal global i8 10, align 1 +@g_names = internal global [2 x i8*] zeroinitializer, align 16 +@join_header_lines = internal global i8 0, align 1 +@.str.21.125 = private unnamed_addr constant [13 x i8] c"Mike Haertel\00", align 1 +@.str.22.126 = private unnamed_addr constant [16 x i8] c"missing operand\00", align 1 +@.str.23.127 = private unnamed_addr constant [25 x i8] c"missing operand after %s\00", align 1 +@.str.24.128 = private unnamed_addr constant [2 x i8] c"-\00", align 1 +@.str.25.129 = private unnamed_addr constant [2 x i8] c"r\00", align 1 +@.str.26.130 = private unnamed_addr constant [3 x i8] c"%s\00", align 1 +@.str.27.131 = private unnamed_addr constant [36 x i8] c"both files cannot be standard input\00", align 1 +@.str.28.132 = private unnamed_addr constant [29 x i8] c"input is not in sorted order\00", align 1 +@autocount_1 = internal global i64 0, align 8 +@autocount_2 = internal global i64 0, align 8 +@uni_blank = internal global %struct.line zeroinitializer, align 8 +@prevline = internal global [2 x %struct.line*] zeroinitializer, align 16 +@spareline = internal global [2 x %struct.line*] zeroinitializer, align 16 +@.str.60 = private unnamed_addr constant [11 x i8] c"read error\00", align 1 +@line_no = internal global [2 x i64] zeroinitializer, align 16 +@.str.61 = private unnamed_addr constant [28 x i8] c"%s:%lu: is not sorted: %.*s\00", align 1 +@.str.163 = private unnamed_addr constant [3 x i8] c"%s\00", align 1 +@.str.1.164 = private unnamed_addr constant [17 x i8] c"memory exhausted\00", align 1 +@.str.167 = private unnamed_addr constant [25 x i8] c"string comparison failed\00", align 1 +@.str.1.168 = private unnamed_addr constant [43 x i8] c"Set LC_ALL='C' to work around the problem.\00", align 1 +@.str.2.169 = private unnamed_addr constant [37 x i8] c"The strings compared were %s and %s.\00", align 1 +@slotvec = internal global %struct.slotvec* @slotvec0, align 8 +@nslots = internal global i32 1, align 4 +@slotvec0 = internal global %struct.slotvec { i64 256, i8* getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i32 0, i32 0) }, align 8 +@slot0 = internal global [256 x i8] zeroinitializer, align 16 +@.str.10.99 = private unnamed_addr constant [2 x i8] c"\22\00", align 1 +@.str.11.100 = private unnamed_addr constant [2 x i8] c"`\00", align 1 +@.str.12.101 = private unnamed_addr constant [2 x i8] c"'\00", align 1 +@.str.13.102 = private unnamed_addr constant [6 x i8] c"UTF-8\00", align 1 +@.str.14.103 = private unnamed_addr constant [4 x i8] c"\E2\80\98\00", align 1 +@.str.15.104 = private unnamed_addr constant [4 x i8] c"\E2\80\99\00", align 1 +@.str.16.105 = private unnamed_addr constant [8 x i8] c"GB18030\00", align 1 +@.str.17.106 = private unnamed_addr constant [4 x i8] c"\A1\07e\00", align 1 +@.str.18.107 = private unnamed_addr constant [3 x i8] c"\A1\AF\00", align 1 +@.str.196 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@.str.1.197 = private unnamed_addr constant [6 x i8] c"ASCII\00", align 1 +@outlist_head = internal global %struct.outlist zeroinitializer, align 8 +@default_quoting_options = internal global %struct.quoting_options zeroinitializer, align 8 +@rpl_fcntl_DUPFD_CLOEXEC.have_dupfd_cloexec = internal global i32 0, align 4 +@.str.120 = private unnamed_addr constant [12 x i8] c"%s (%s) %s\0A\00", align 1 +@.str.1.121 = private unnamed_addr constant [7 x i8] c"%s %s\0A\00", align 1 +@.str.2.122 = private unnamed_addr constant [4 x i8] c"(C)\00", align 1 +@.str.3.123 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.4.124 = private unnamed_addr constant [171 x i8] c"License GPLv3+: GNU GPL version 3 or later <%s>.\0AThis is free software: you are free to change and redistribute it.\0AThere is NO WARRANTY, to the extent permitted by law.\0A\00", align 1 +@.str.5.125 = private unnamed_addr constant [34 x i8] c"https://gnu.org/licenses/gpl.html\00", align 1 +@.str.6.126 = private unnamed_addr constant [16 x i8] c"Written by %s.\0A\00", align 1 +@.str.7.127 = private unnamed_addr constant [23 x i8] c"Written by %s and %s.\0A\00", align 1 +@.str.8.128 = private unnamed_addr constant [28 x i8] c"Written by %s, %s, and %s.\0A\00", align 1 +@.str.9.129 = private unnamed_addr constant [32 x i8] c"Written by %s, %s, %s,\0Aand %s.\0A\00", align 1 +@.str.10.130 = private unnamed_addr constant [36 x i8] c"Written by %s, %s, %s,\0A%s, and %s.\0A\00", align 1 +@.str.11.131 = private unnamed_addr constant [40 x i8] c"Written by %s, %s, %s,\0A%s, %s, and %s.\0A\00", align 1 +@.str.12.132 = private unnamed_addr constant [44 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, and %s.\0A\00", align 1 +@.str.13.133 = private unnamed_addr constant [48 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, %s,\0Aand %s.\0A\00", align 1 +@.str.14.134 = private unnamed_addr constant [52 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, %s,\0A%s, and %s.\0A\00", align 1 +@.str.15.135 = private unnamed_addr constant [60 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, %s,\0A%s, %s, and others.\0A\00", align 1 +@.str.59 = private unnamed_addr constant [17 x i8] c"extra operand %s\00", align 1 +@.str.53 = private unnamed_addr constant [4 x i8] c", \09\00", align 1 +@.str.56 = private unnamed_addr constant [36 x i8] c"file == 0 || file == 1 || file == 2\00", align 1 +@.str.57 = private unnamed_addr constant [14 x i8] c"../src/join.c\00", align 1 +@__PRETTY_FUNCTION__.add_field = private unnamed_addr constant [28 x i8] c"void add_field(int, size_t)\00", align 1 +@.str.58 = private unnamed_addr constant [24 x i8] c"file != 0 || field == 0\00", align 1 +@outlist_end = internal global %struct.outlist* @outlist_head, align 8 +@.str.54 = private unnamed_addr constant [28 x i8] c"invalid field specifier: %s\00", align 1 +@.str.55 = private unnamed_addr constant [38 x i8] c"invalid file number in field spec: %s\00", align 1 +@.str.52 = private unnamed_addr constant [34 x i8] c"incompatible join fields %lu, %lu\00", align 1 +@.str.176 = private unnamed_addr constant [38 x i8] c"0 <= strtol_base && strtol_base <= 36\00", align 1 +@.str.1.177 = private unnamed_addr constant [17 x i8] c"../lib/xstrtol.c\00", align 1 +@__PRETTY_FUNCTION__.xstrtoumax = private unnamed_addr constant [79 x i8] c"strtol_error xstrtoumax(const char *, char **, int, uintmax_t *, const char *)\00", align 1 +@.str.172 = private unnamed_addr constant [38 x i8] c"0 <= strtol_base && strtol_base <= 36\00", align 1 +@.str.1.173 = private unnamed_addr constant [17 x i8] c"../lib/xstrtol.c\00", align 1 +@__PRETTY_FUNCTION__.xstrtoul = private unnamed_addr constant [81 x i8] c"strtol_error xstrtoul(const char *, char **, int, unsigned long *, const char *)\00", align 1 +@.str.45 = private unnamed_addr constant [12 x i8] c"ignore-case\00", align 1 +@.str.46 = private unnamed_addr constant [12 x i8] c"check-order\00", align 1 +@.str.47 = private unnamed_addr constant [14 x i8] c"nocheck-order\00", align 1 +@.str.48 = private unnamed_addr constant [16 x i8] c"zero-terminated\00", align 1 +@.str.49 = private unnamed_addr constant [7 x i8] c"header\00", align 1 +@.str.50 = private unnamed_addr constant [5 x i8] c"help\00", align 1 +@.str.51 = private unnamed_addr constant [8 x i8] c"version\00", align 1 +@ignore_EPIPE = internal global i8 0, align 1 +@.str.65 = private unnamed_addr constant [12 x i8] c"write error\00", align 1 +@file_name = internal global i8* null, align 8 +@.str.1.66 = private unnamed_addr constant [7 x i8] c"%s: %s\00", align 1 +@.str.2.67 = private unnamed_addr constant [3 x i8] c"%s\00", align 1 +@.str.76.133 = private unnamed_addr constant [2 x i8] c"C\00", align 1 +@.str.1.77 = private unnamed_addr constant [6 x i8] c"POSIX\00", align 1 +@.str.86 = private unnamed_addr constant [56 x i8] c"A NULL argv[0] was passed through an exec system call.\0A\00", align 1 +@.str.1.87 = private unnamed_addr constant [8 x i8] c"/.libs/\00", align 1 +@.str.2.88 = private unnamed_addr constant [4 x i8] c"lt-\00", align 1 +@.str.16.138 = private unnamed_addr constant [20 x i8] c"Report bugs to: %s\0A\00", align 1 +@.str.17.139 = private unnamed_addr constant [22 x i8] c"bug-coreutils@gnu.org\00", align 1 +@.str.18.140 = private unnamed_addr constant [20 x i8] c"%s home page: <%s>\0A\00", align 1 +@.str.19.141 = private unnamed_addr constant [14 x i8] c"GNU coreutils\00", align 1 +@.str.20.142 = private unnamed_addr constant [40 x i8] c"https://www.gnu.org/software/coreutils/\00", align 1 +@.str.21.143 = private unnamed_addr constant [39 x i8] c"General help using GNU software: <%s>\0A\00", align 1 +@.str.22.144 = private unnamed_addr constant [29 x i8] c"https://www.gnu.org/gethelp/\00", align 1 +@__exe_env = dso_local global { <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] } { <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }> <{ %struct.exe_file_t { i32 0, i32 5, i64 0, %struct.exe_disk_file_t* null }, %struct.exe_file_t { i32 1, i32 9, i64 0, %struct.exe_disk_file_t* null }, %struct.exe_file_t { i32 2, i32 9, i64 0, %struct.exe_disk_file_t* null }, [29 x %struct.exe_file_t] zeroinitializer }>, i32 18, i32 0, i32 0, [4 x i8] undef }, align 8 +@__exe_fs = dso_local global %struct.exe_file_system_t zeroinitializer, align 8 +@__const.klee_init_fds.name = private unnamed_addr constant [7 x i8] c"?-data\00", align 1 +@.str.140 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@.str.1.141 = private unnamed_addr constant [82 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/fd_init.c\00", align 1 +@.str.2.142 = private unnamed_addr constant [31 x i8] c"out of memory in klee_init_env\00", align 1 +@.str.3.143 = private unnamed_addr constant [9 x i8] c"user.err\00", align 1 +@.str.4.145 = private unnamed_addr constant [6 x i8] c"stdin\00", align 1 +@.str.5.146 = private unnamed_addr constant [10 x i8] c"read_fail\00", align 1 +@.str.6.147 = private unnamed_addr constant [11 x i8] c"write_fail\00", align 1 +@.str.7.148 = private unnamed_addr constant [11 x i8] c"close_fail\00", align 1 +@.str.8.149 = private unnamed_addr constant [15 x i8] c"ftruncate_fail\00", align 1 +@.str.9.150 = private unnamed_addr constant [12 x i8] c"getcwd_fail\00", align 1 +@.str.10.151 = private unnamed_addr constant [7 x i8] c"stdout\00", align 1 +@.str.11.152 = private unnamed_addr constant [14 x i8] c"model_version\00", align 1 +@.str.13.153 = private unnamed_addr constant [6 x i8] c"-stat\00", align 1 +@.str.14.154 = private unnamed_addr constant [5 x i8] c"size\00", align 1 +@__PRETTY_FUNCTION__.__create_new_dfile = private unnamed_addr constant [88 x i8] c"void __create_new_dfile(exe_disk_file_t *, unsigned int, const char *, struct stat64 *)\00", align 1 +@.str.12.155 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.156 = private unnamed_addr constant [18 x i8] c"silently ignoring\00", align 1 +@.str.1.161 = private unnamed_addr constant [24 x i8] c"ignoring (EAFNOSUPPORT)\00", align 1 +@.str.11.163 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.2.166 = private unnamed_addr constant [15 x i8] c"ignoring (EIO)\00", align 1 +@.str.3.167 = private unnamed_addr constant [18 x i8] c"ignoring (ENFILE)\00", align 1 +@.str.4.168 = private unnamed_addr constant [17 x i8] c"ignoring (EPERM)\00", align 1 +@.str.5.169 = private unnamed_addr constant [13 x i8] c"returning 0\0A\00", align 1 +@.str.6.170 = private unnamed_addr constant [40 x i8] c"setting all times to 0 and returning 0\0A\00", align 1 +@.str.7.171 = private unnamed_addr constant [17 x i8] c"ignoring (EBADF)\00", align 1 +@.str.8.174 = private unnamed_addr constant [21 x i8] c"ignoring (-1 result)\00", align 1 +@.str.9.175 = private unnamed_addr constant [18 x i8] c"ignoring (ECHILD)\00", align 1 +@.str.10.176 = private unnamed_addr constant [32 x i8] c"silently ignoring (returning 0)\00", align 1 +@__locale_mmap = global %struct.__locale_mmap_t.203* @locale_mmap, align 8 +@locale_mmap = internal constant %struct.__locale_mmap_t.203 { [420 x i8] c"\EE\EE\EE\EE\06afffffff$$$$$$$$$$\06\00\00\00\00D&fffdDDbfff`b\22\22FBFfddfFf$\22fbbB\22DDDD\22\22\22\22\06&fff`\00\00`fffff&ff`ffff\11a\06\00\00\00\11\11\11\11\11\01`\06\EE&fffd\E4\EEnffffb\E2Nfaff\11\11\11\22\22\22\22bDDDdDDD$FDDdDDdD&\22\22b\22\22b\22\22\22\22\12bbf&Fb$dd$dF$$$F\22BB\22fffdbaffff$fba$dFBfdbddBf$df\22b$$FFFdFDdD&&&b&\22b\22Ff\06dFDd@&f&b&\22b D\04DD@DDd\22\02\22\22 \22\22bFAFdFDdd&\22B\22FDDD&\22\22\22\06\00\06\00\00\00f\00\00`\00`\10\11\11\11\11\01\00\00\11afff\06\00\00ff\00ff`f`DddDADDDD@DDDD\22\22!\22\22\22\22\22\22\02\06ffffff\06\00\00\00`f&fffFff\22Fff`b$\04dfff``\00\00 $&f\00`f\06fF@f``\00`f&b\22fFdDffFf\11\11\11a\11\01\00`\11\11\11\16\11f\00\00", [504 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00{}\00\00\00{\00\7F\7F\00\00\00\00\00\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\00\00\F0\FE\00\FE\00\00\00\00\00\00\F0\00\F0\F0\F0\F0\F0\00\00\00\00\00\00\00\00\FF\FF\E7\00\F1\00\00\F0\00\F0\00\00\00\00\F0\00\00\FF\FF\F1\00\00\00\F0\00\F0\00\E7\FF\FF\F0\E0\E0\E0\E0\E0\E0\E0\E0\00\00\F0\00\F0\00\00\00\00\00\F0\00\F0\00\00\A0\00\00\00\00\00\00\00\A0\E0\E0\E0\E0\E0\E0\E0\00\00\F0\F0\F0\F0\F0\F0\00\F0\F0\F0\F0\F0\00\F0\F0\00\FF\FF\00\FF\FF\FB\00\F0\00\F0\FB\F0\00\00\B0\FF\FF\FF\FF\FF\FF\00\FE\F0\FE\F0\FC\F0\FF\FF\FC\E0\E0\E0\E0\E0\E0\E0\B0\00\00\00\00\00\00\FE\00\FE\00\00\00\00\00\00\00\00\00\00\00\FC\00\00\00\FC\00\00\00\FF\FF\BF\00\E0\E0\E0\E0\E0\E0\E0\BF\00\FF\FF\F0\00\00\FE\00\FE\00\F0\00\FE\00\FE\F0\00\00\F9\F0\FC\00\00\00\FC\F9\F0\00\FF\FF\BF\F0\00\F0\00\F0\00\F0\F0\00\00\F0\F0\F0\F0\00\F0\F0\00\F0\00\00\00\00\F0\00\00@\F0\F0\F0\00\00\F0\00\90\F0\F0\F0\00\00\F0\E0\E0\E0\00\E0\E0\E0\E0\00\E0\E0\E0\E0\E0\E0\00\00\F0\F0\F0\F0\00\F0\00\00\F0\F0\F0\F0\FE\F0\FE\00\B0\B0\B0\B0\B0\B0\B0\B0\B0\B0\B0\B0\00\B0\B0\00\00\00\00\00\00\DA\00\DB\DB\DB\00\C0\00\C1\C1\00\E0\E0\E0\E0\E0\E0\E0\E0\E0\00\E0\E0\E0\E0\E0\E0\E0\E0\E0\DA\DB\DB\DB\E0\E0\E1\E0\E0\E0\E0\E0\E0\E0\E0\E0\C0\C1\C1\00\E0\E0\E0\E0\E0t\E0\00\E0\E0\E0\E0\E0L\E0\00\00\00\00\10\00\00\00\00 \10\02\00\02\00\00\00\00\00\00\02\00\02\01\01\00\10\00\00\00\00\00\00\00\00\01\01\10\00\10\00\00\00\00\00\10\00\10\00\00\00\00\00\10\10\00\10\10\00\00\00\00\00\10\00\00", [1760 x i16] [i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 0, i16 1415, i16 1417, i16 41, i16 40, i16 187, i16 171, i16 8212, i16 46, i16 1373, i16 44, i16 45, i16 1418, i16 8230, i16 1372, i16 1371, i16 1374, i16 1329, i16 1377, i16 1330, i16 1378, i16 1331, i16 1379, i16 1332, i16 1380, i16 1333, i16 1381, i16 1334, i16 1382, i16 1335, i16 1383, i16 1336, i16 1384, i16 1337, i16 1385, i16 1338, i16 1386, i16 1339, i16 1387, i16 1340, i16 1388, i16 1341, i16 1389, i16 1342, i16 1390, i16 1343, i16 1391, i16 1344, i16 1392, i16 1345, i16 1393, i16 1346, i16 1394, i16 1347, i16 1395, i16 1348, i16 1396, i16 1349, i16 1397, i16 1350, i16 1398, i16 1351, i16 1399, i16 1352, i16 1400, i16 1353, i16 1401, i16 1354, i16 1402, i16 1355, i16 1403, i16 1356, i16 1404, i16 1357, i16 1405, i16 1358, i16 1406, i16 1359, i16 1407, i16 1360, i16 1408, i16 1361, i16 1409, i16 1362, i16 1410, i16 1363, i16 1411, i16 1364, i16 1412, i16 1365, i16 1413, i16 1366, i16 1414, i16 1370, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1026, i16 1027, i16 8218, i16 1107, i16 8222, i16 8230, i16 8224, i16 8225, i16 8364, i16 8240, i16 1033, i16 8249, i16 1034, i16 1036, i16 1035, i16 1039, i16 1106, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 0, i16 8482, i16 1113, i16 8250, i16 1114, i16 1116, i16 1115, i16 1119, i16 160, i16 1038, i16 1118, i16 1032, i16 164, i16 1168, i16 166, i16 167, i16 1025, i16 169, i16 1028, i16 171, i16 172, i16 173, i16 174, i16 1031, i16 176, i16 177, i16 1030, i16 1110, i16 1169, i16 181, i16 182, i16 183, i16 1105, i16 8470, i16 1108, i16 187, i16 1112, i16 1029, i16 1109, i16 1111, i16 1040, i16 1041, i16 1042, i16 1043, i16 1044, i16 1045, i16 1046, i16 1047, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 1058, i16 1059, i16 1060, i16 1061, i16 1062, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1070, i16 1071, i16 1072, i16 1073, i16 1074, i16 1075, i16 1076, i16 1077, i16 1078, i16 1079, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1088, i16 1089, i16 1090, i16 1091, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1099, i16 1100, i16 1101, i16 1102, i16 1103, i16 8364, i16 0, i16 8218, i16 402, i16 8222, i16 8230, i16 8224, i16 8225, i16 710, i16 8240, i16 0, i16 8249, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 732, i16 8482, i16 0, i16 8250, i16 0, i16 0, i16 0, i16 0, i16 160, i16 161, i16 162, i16 163, i16 8362, i16 165, i16 166, i16 167, i16 168, i16 169, i16 215, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 247, i16 187, i16 188, i16 189, i16 190, i16 191, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 0, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 0, i16 0, i16 8206, i16 8207, i16 0, i16 128, i16 129, i16 8218, i16 402, i16 8222, i16 8230, i16 8224, i16 8225, i16 710, i16 8240, i16 352, i16 8249, i16 338, i16 141, i16 142, i16 143, i16 144, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 732, i16 8482, i16 353, i16 8250, i16 339, i16 157, i16 158, i16 376, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 4304, i16 4305, i16 4306, i16 4307, i16 4308, i16 4309, i16 4310, i16 4337, i16 4311, i16 4312, i16 4313, i16 4314, i16 4315, i16 4316, i16 4338, i16 4317, i16 4318, i16 4319, i16 4320, i16 4321, i16 4322, i16 4339, i16 4323, i16 4324, i16 4325, i16 4326, i16 4327, i16 4328, i16 4329, i16 4330, i16 4331, i16 4332, i16 4333, i16 4334, i16 4340, i16 4335, i16 4336, i16 4341, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 160, i16 260, i16 274, i16 290, i16 298, i16 296, i16 310, i16 167, i16 315, i16 272, i16 352, i16 358, i16 381, i16 173, i16 362, i16 330, i16 176, i16 261, i16 275, i16 291, i16 299, i16 297, i16 311, i16 183, i16 316, i16 273, i16 353, i16 359, i16 382, i16 8213, i16 363, i16 331, i16 256, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 302, i16 268, i16 201, i16 280, i16 203, i16 278, i16 205, i16 206, i16 207, i16 208, i16 325, i16 332, i16 211, i16 212, i16 213, i16 214, i16 360, i16 216, i16 370, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 257, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 303, i16 269, i16 233, i16 281, i16 235, i16 279, i16 237, i16 238, i16 239, i16 240, i16 326, i16 333, i16 243, i16 244, i16 245, i16 246, i16 361, i16 248, i16 371, i16 250, i16 251, i16 252, i16 253, i16 254, i16 312, i16 160, i16 8221, i16 162, i16 163, i16 164, i16 8222, i16 166, i16 167, i16 216, i16 169, i16 342, i16 171, i16 172, i16 173, i16 174, i16 198, i16 176, i16 177, i16 178, i16 179, i16 8220, i16 181, i16 182, i16 183, i16 248, i16 185, i16 343, i16 187, i16 188, i16 189, i16 190, i16 230, i16 260, i16 302, i16 256, i16 262, i16 196, i16 197, i16 280, i16 274, i16 268, i16 201, i16 377, i16 278, i16 290, i16 310, i16 298, i16 315, i16 352, i16 323, i16 325, i16 211, i16 332, i16 213, i16 214, i16 215, i16 370, i16 321, i16 346, i16 362, i16 220, i16 379, i16 381, i16 223, i16 261, i16 303, i16 257, i16 263, i16 228, i16 229, i16 281, i16 275, i16 269, i16 233, i16 378, i16 279, i16 291, i16 311, i16 299, i16 316, i16 353, i16 324, i16 326, i16 243, i16 333, i16 245, i16 246, i16 247, i16 371, i16 322, i16 347, i16 363, i16 252, i16 380, i16 382, i16 8217, i16 160, i16 7682, i16 7683, i16 163, i16 266, i16 267, i16 7690, i16 167, i16 7808, i16 169, i16 7810, i16 7691, i16 7922, i16 173, i16 174, i16 376, i16 7710, i16 7711, i16 288, i16 289, i16 7744, i16 7745, i16 182, i16 7766, i16 7809, i16 7767, i16 7811, i16 7776, i16 7923, i16 7812, i16 7813, i16 7777, i16 372, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 7786, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 374, i16 223, i16 373, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 7787, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 375, i16 255, i16 160, i16 161, i16 162, i16 163, i16 8364, i16 165, i16 352, i16 167, i16 353, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 381, i16 181, i16 182, i16 183, i16 382, i16 185, i16 186, i16 187, i16 338, i16 339, i16 376, i16 191, i16 160, i16 260, i16 261, i16 321, i16 8364, i16 171, i16 352, i16 167, i16 353, i16 169, i16 536, i16 8222, i16 377, i16 173, i16 378, i16 379, i16 176, i16 177, i16 268, i16 322, i16 381, i16 8221, i16 182, i16 183, i16 382, i16 269, i16 537, i16 187, i16 338, i16 339, i16 376, i16 380, i16 192, i16 193, i16 194, i16 258, i16 196, i16 262, i16 198, i16 199, i16 272, i16 323, i16 210, i16 211, i16 212, i16 336, i16 214, i16 346, i16 368, i16 217, i16 218, i16 219, i16 220, i16 280, i16 538, i16 223, i16 224, i16 225, i16 226, i16 259, i16 228, i16 263, i16 230, i16 231, i16 273, i16 324, i16 242, i16 243, i16 244, i16 337, i16 246, i16 347, i16 369, i16 249, i16 250, i16 251, i16 252, i16 281, i16 539, i16 255, i16 160, i16 260, i16 728, i16 321, i16 164, i16 317, i16 346, i16 167, i16 168, i16 352, i16 350, i16 356, i16 377, i16 173, i16 381, i16 379, i16 176, i16 261, i16 731, i16 322, i16 180, i16 318, i16 347, i16 711, i16 184, i16 353, i16 351, i16 357, i16 378, i16 733, i16 382, i16 380, i16 340, i16 193, i16 194, i16 258, i16 196, i16 313, i16 262, i16 199, i16 268, i16 201, i16 280, i16 203, i16 282, i16 205, i16 206, i16 270, i16 272, i16 323, i16 327, i16 211, i16 212, i16 336, i16 214, i16 215, i16 344, i16 366, i16 218, i16 368, i16 220, i16 221, i16 354, i16 223, i16 341, i16 225, i16 226, i16 259, i16 228, i16 314, i16 263, i16 231, i16 269, i16 233, i16 281, i16 235, i16 283, i16 237, i16 238, i16 271, i16 273, i16 324, i16 328, i16 243, i16 244, i16 337, i16 246, i16 247, i16 345, i16 367, i16 250, i16 369, i16 252, i16 253, i16 355, i16 729, i16 160, i16 294, i16 728, i16 163, i16 164, i16 0, i16 292, i16 167, i16 168, i16 304, i16 350, i16 286, i16 308, i16 173, i16 0, i16 379, i16 176, i16 295, i16 178, i16 179, i16 180, i16 181, i16 293, i16 183, i16 184, i16 305, i16 351, i16 287, i16 309, i16 189, i16 0, i16 380, i16 192, i16 193, i16 194, i16 0, i16 196, i16 266, i16 264, i16 199, i16 0, i16 209, i16 210, i16 211, i16 212, i16 288, i16 214, i16 215, i16 284, i16 217, i16 218, i16 219, i16 220, i16 364, i16 348, i16 223, i16 224, i16 225, i16 226, i16 0, i16 228, i16 267, i16 265, i16 231, i16 0, i16 241, i16 242, i16 243, i16 244, i16 289, i16 246, i16 247, i16 285, i16 249, i16 250, i16 251, i16 252, i16 365, i16 349, i16 729, i16 160, i16 260, i16 312, i16 342, i16 164, i16 296, i16 315, i16 167, i16 168, i16 352, i16 274, i16 290, i16 358, i16 173, i16 381, i16 175, i16 176, i16 261, i16 731, i16 343, i16 180, i16 297, i16 316, i16 711, i16 184, i16 353, i16 275, i16 291, i16 359, i16 330, i16 382, i16 331, i16 268, i16 201, i16 280, i16 203, i16 278, i16 205, i16 206, i16 298, i16 272, i16 325, i16 332, i16 310, i16 212, i16 213, i16 214, i16 215, i16 216, i16 370, i16 218, i16 219, i16 220, i16 360, i16 362, i16 223, i16 269, i16 233, i16 281, i16 235, i16 279, i16 237, i16 238, i16 299, i16 273, i16 326, i16 333, i16 311, i16 244, i16 245, i16 246, i16 247, i16 248, i16 371, i16 250, i16 251, i16 252, i16 361, i16 363, i16 729, i16 160, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 173, i16 1038, i16 1039, i16 8470, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 167, i16 1118, i16 1119, i16 160, i16 0, i16 0, i16 0, i16 164, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1548, i16 173, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1563, i16 0, i16 0, i16 0, i16 1567, i16 0, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1611, i16 1612, i16 1613, i16 1614, i16 1615, i16 1616, i16 1617, i16 1618, i16 0, i16 0, i16 0, i16 0, i16 0, i16 160, i16 8216, i16 8217, i16 163, i16 0, i16 0, i16 166, i16 167, i16 168, i16 169, i16 0, i16 171, i16 172, i16 173, i16 0, i16 8213, i16 176, i16 177, i16 178, i16 179, i16 900, i16 901, i16 902, i16 183, i16 904, i16 905, i16 906, i16 187, i16 908, i16 189, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 918, i16 919, i16 920, i16 921, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 929, i16 0, i16 931, i16 932, i16 933, i16 934, i16 935, i16 936, i16 937, i16 938, i16 939, i16 940, i16 941, i16 942, i16 943, i16 944, i16 945, i16 946, i16 947, i16 948, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 964, i16 965, i16 966, i16 967, i16 968, i16 969, i16 970, i16 971, i16 972, i16 973, i16 974, i16 0, i16 160, i16 0, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 184, i16 185, i16 247, i16 187, i16 188, i16 189, i16 190, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8215, i16 286, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 304, i16 350, i16 223, i16 287, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 305, i16 351, i16 255, i16 9472, i16 9474, i16 9484, i16 9488, i16 9492, i16 9496, i16 9500, i16 9508, i16 9516, i16 9524, i16 9532, i16 9600, i16 9604, i16 9608, i16 9612, i16 9616, i16 9617, i16 9618, i16 9619, i16 8992, i16 9632, i16 8729, i16 8730, i16 8776, i16 8804, i16 8805, i16 160, i16 8993, i16 176, i16 178, i16 183, i16 247, i16 9552, i16 9553, i16 9554, i16 1105, i16 9555, i16 9556, i16 9557, i16 9558, i16 9559, i16 9560, i16 9561, i16 9562, i16 9563, i16 9564, i16 9565, i16 9566, i16 9567, i16 9568, i16 9569, i16 1025, i16 9570, i16 9571, i16 9572, i16 9573, i16 9574, i16 9575, i16 9576, i16 9577, i16 9578, i16 9579, i16 9580, i16 169, i16 1102, i16 1072, i16 1073, i16 1094, i16 1076, i16 1077, i16 1092, i16 1075, i16 1093, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1103, i16 1088, i16 1089, i16 1090, i16 1091, i16 1078, i16 1074, i16 1100, i16 1099, i16 1079, i16 1096, i16 1101, i16 1097, i16 1095, i16 1098, i16 1070, i16 1040, i16 1041, i16 1062, i16 1044, i16 1045, i16 1060, i16 1043, i16 1061, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1071, i16 1056, i16 1057, i16 1058, i16 1059, i16 1046, i16 1042, i16 1068, i16 1067, i16 1047, i16 1064, i16 1069, i16 1065, i16 1063, i16 1066, i16 1179, i16 1171, i16 8218, i16 1170, i16 8222, i16 8230, i16 8224, i16 8225, i16 0, i16 8240, i16 1203, i16 8249, i16 1202, i16 1207, i16 1206, i16 0, i16 1178, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 0, i16 8482, i16 0, i16 8250, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1263, i16 1262, i16 1105, i16 164, i16 1251, i16 166, i16 167, i16 0, i16 0, i16 0, i16 171, i16 172, i16 173, i16 174, i16 0, i16 176, i16 177, i16 178, i16 1025, i16 0, i16 1250, i16 182, i16 183, i16 0, i16 8470, i16 0, i16 187, i16 0, i16 0, i16 0, i16 169, i16 9552, i16 9553, i16 9554, i16 1105, i16 1108, i16 9556, i16 1110, i16 1111, i16 9559, i16 9560, i16 9561, i16 9562, i16 9563, i16 1169, i16 9565, i16 9566, i16 9567, i16 9568, i16 9569, i16 1025, i16 1028, i16 9571, i16 1030, i16 1031, i16 9574, i16 9575, i16 9576, i16 9577, i16 9578, i16 1168, i16 9580, i16 169, i16 0, i16 3585, i16 3586, i16 3587, i16 3588, i16 3589, i16 3590, i16 3591, i16 3592, i16 3593, i16 3594, i16 3595, i16 3596, i16 3597, i16 3598, i16 3599, i16 3600, i16 3601, i16 3602, i16 3603, i16 3604, i16 3605, i16 3606, i16 3607, i16 3608, i16 3609, i16 3610, i16 3611, i16 3612, i16 3613, i16 3614, i16 3615, i16 3616, i16 3617, i16 3618, i16 3619, i16 3620, i16 3621, i16 3622, i16 3623, i16 3624, i16 3625, i16 3626, i16 3627, i16 3628, i16 3629, i16 3630, i16 3631, i16 3632, i16 3633, i16 3634, i16 3635, i16 3636, i16 3637, i16 3638, i16 3639, i16 3640, i16 3641, i16 3642, i16 0, i16 0, i16 0, i16 0, i16 3647, i16 3648, i16 3649, i16 3650, i16 3651, i16 3652, i16 3653, i16 3654, i16 3655, i16 3656, i16 3657, i16 3658, i16 3659, i16 3660, i16 3661, i16 3662, i16 3663, i16 3664, i16 3665, i16 3666, i16 3667, i16 3668, i16 3669, i16 3670, i16 3671, i16 3672, i16 3673, i16 3674, i16 3675, i16 0, i16 0, i16 0, i16 0], [4528 x i8] c"\00\00\01\00\00\00\00\00\02\03\04\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\06\07\08\09\0A\0B\00\00\00\00\00\00\00\00\0C\0D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\0F\00\00\00\00\10\11\12\13\14\15\00\00\00\16\00\00\00\00\00\00\00\17\18\19\00\00\00\00\00\00\1A\00\00\00\00\00\00\1B\1C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\1D\1E\00\1F\00 \00\00\00\00\00\00\00\00\00!\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\22#\00\00\00\00\00\00\00\00\00\00\00\00\00$%\13&'(\17\18\19\00\00\00\00\00\00)\00\00\00\00\00\00\00\1C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00*+,-\00\00.\14\00\00\00\00\00/01\00!\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00234\00\17\18\19\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03,-\11\12\13\14\00\00\00\00\00\00\00\00\02\0356789:;<=>?\00@A\00\00\00\00\00\00\00\00\00B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03CDEFGHIJKLMNOP\00\00\00\00\00\00\00\00\00Q\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03RS\11T\13UV\00W\00\00\00\00X\00\00\00\00\00\00\00\00YZ\00\00[\\]\00^\00\00\00\00\00\00_\00\00\00\00\00\00\00\00\02\03`a\11\12\13\14\00\00\00\00\00bcd\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00e\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03fghijklm\00\00nocp\00\00\00\00\00\00\00\00\00q\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00r\00\00\00\00\00\00\00\00e\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03stuvwxyz\00{|}~\7F\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\81\00\00\00\00\00\00\00\00\00\00\02\03\82\83\84\85\86\87\88\89\8A\8B\00\8C\8D\8E\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\8F\00\00\00\00\00\00\00\00\00\00\02\03\90t\91\92\93\94;\95\96\97\98\99\9A\9B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\9C\00\00\00\00\00\00\00\00\00\00\02\03\9D\00\00\00\00\00\9E-\11\12\13\9F\00\00\00\00\00\00\00\00\00\00\00\A0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03\A1\00\00\00\00\00\A2\A3\A4\A5\13\A6\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03\A7\A8\00\00\00\00\00\00\00\00\00\00\00\00\A9\11\AA\13\AB\00\00\00\00\AC\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03\AD\AE\00\1F\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\13&\00(\AF\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03,-\11\B0\13\B1\00\B2\00\B3\00\B4\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B5\B6\00\00\00\B7\B8\B9\BA\BB\BC\BD\00\00\00\00\00\00\00\00\00\00\00\BE\00\00\BF\00\C0\00\00\00\00\00\00\00\00\00\00\00\C1\00\00\00\00\00\00\00\00\00\00\00\00\00\C2\C3\C4\C5\00\C6\C7\00\C8\C9\CA\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\CB\CC\00\00\00\00\B8\B9\BA\BB\BC\BD\00\00\00\CD\00\CE\00\00\CF\00\D0\B9\BA\BB\BC\D1\00\00\00\D2\00\00\00\00\00\00\C2\C3\C4\C5\00\D3\D4\00\C8\C9\CA\00\00\00\00\00\D5-\11\D6\13\D7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A5\A4\00\00\AB\AC\A9\00\80\81\82\83\84\85\86\87\88\89\8A\8B\8C\8D\8E\8F\90\91\92\93\94\95\96\97\98\99\9A\9B\9C\9D\9E\9F\A0\00\00\00\00\00\00\00\00\00\00\A7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A6\00\00\00\00\00\B2\B4\B6\B8\BA\BC\BE\C0\C2\C4\C6\C8\CA\CC\CE\D0\D2\D4\D6\D8\DA\DC\DE\E0\E2\E4\E6\E8\EA\EC\EE\F0\F2\F4\F6\F8\FA\FC\00\00\00\FE\B0\AF\AA\B1\00\00\B3\B5\B7\B9\BB\BD\BF\C1\C3\C5\C7\C9\CB\CD\CF\D1\D3\D5\D7\D9\DB\DD\DF\E1\E3\E5\E7\E9\EB\ED\EF\F1\F3\F5\F7\F9\FB\FD\A2\00\A3\AD\00\00\00\00\00\00\00\00\00\A8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\AE\00\00\00\00\00\00\00\00\00\A0\00\00\00\A4\00\A6\A7\00\A9\00\AB\AC\AD\AE\00\B0\B1\00\00\00\B5\B6\B7\00\00\00\BB\00\00\00\00\00\A8\80\81\AA\BD\B2\AF\A3\8A\8C\8E\8D\00\A1\8F\C0\C1\C2\C3\C4\C5\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\E0\E1\E2\E3\E4\E5\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\FD\FE\FF\00\B8\90\83\BA\BE\B3\BF\BC\9A\9C\9E\9D\00\A2\9F\A5\B4\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\96\97\00\00\00\91\92\82\00\93\94\84\00\86\87\95\00\00\00\85\00\00\00\00\00\00\00\00\00\89\00\00\00\00\00\00\00\00\8B\9B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\88\00\00\00\00\00\00\00\00\00\B9\00\00\00\00\00\00\00\00\00\00\00\99\00\00\00\00\00\00\00\00\00\00\00\00\00\A0\A1\A2\A3\00\A5\A6\A7\A8\A9\00\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\00\BB\BC\BD\BE\BF\00\00\00\00\00\00\00\AA\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\BA\00\00\00\00\00\00\00\00\00\00\83\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\88\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\98\00\00\00\C0\C1\C2\C3\C4\C5\C6\C7\C8\C9\00\CB\CC\CD\CE\CF\D0\D1\D2\D3\00\00\00\00\00\00\00\00\00\00\00\00\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\00\00\00\00\00\D4\D5\D6\D7\D8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\FD\FE\00\00\00\00\00\00\00\00\00\00\A4\00\80\00\00\00\80\81\00\00\00\00\00\00\00\00\00\00\00\8D\8E\8F\90\00\00\00\00\00\00\00\00\00\00\00\00\9D\9E\00\A0\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\BF\00\00\00\00\00\00\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\00\00\8C\9C\00\00\00\00\00\00\00\00\00\00\00\00\8A\9A\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\9F\00\00\00\00\00\00\00\C0\C1\C2\C3\C4\C5\C6\C8\C9\CA\CB\CC\CD\CF\D0\D1\D2\D3\D4\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\E0\E1\E3\E4\C7\CE\D5\E2\E5\00\00\00\00\00\00\00\00\00\00\A0\00\00\00\00\00\00\A7\00\00\00\00\00\AD\00\00\B0\00\00\00\00\00\00\B7\00\00\00\00\00\00\00\00\00\C1\C2\C3\C4\C5\C6\00\00\C9\00\CB\00\CD\CE\CF\D0\00\00\D3\D4\D5\D6\00\D8\00\DA\DB\DC\DD\DE\DF\00\E1\E2\E3\E4\E5\E6\00\00\E9\00\EB\00\ED\EE\EF\F0\00\00\F3\F4\F5\F6\00\F8\00\FA\FB\FC\FD\FE\00\C0\E0\00\00\A1\B1\00\00\00\00\00\00\C8\E8\00\00\A9\B9\A2\B2\00\00\CC\EC\CA\EA\00\00\00\00\00\00\00\00\A3\B3\00\00\00\00\A5\B5\A4\B4\00\00\C7\E7\00\00\00\00\00\00\A6\B6\FF\00\00\A8\B8\00\00\00\00\00\00\00\00\D1\F1\00\00\00\AF\BF\D2\F2\00\00\AA\BA\00\00\00\00\AB\BB\D7\F7\AE\BE\00\00\00\00\00\00\D9\F9\00\00\00\00\00\00\00\00\00\AC\BC\00\00\00\00\00\00\BD\00\00\00\00\00\00\00\00\00\00\A0\00\A2\A3\A4\00\A6\A7\00\A9\00\AB\AC\AD\AE\00\B0\B1\B2\B3\00\B5\B6\B7\00\B9\00\BB\BC\BD\BE\00\00\00\00\00\C4\C5\AF\00\00\C9\00\00\00\00\00\00\00\00\00\D3\00\D5\D6\D7\A8\00\00\00\DC\00\00\DF\00\00\00\00\E4\E5\BF\00\00\E9\00\00\00\00\00\00\00\00\00\F3\00\F5\F6\F7\B8\00\00\00\FC\00\00\00\C2\E2\00\00\C0\E0\C3\E3\00\00\00\00\C8\E8\00\00\00\00\C7\E7\00\00\CB\EB\C6\E6\00\00\00\00\00\00\00\00\CC\EC\00\00\00\00\00\00\CE\EE\00\00\C1\E1\00\00\00\00\00\00\CD\ED\00\00\00\CF\EF\00\00\00\00\D9\F9\D1\F1\D2\F2\00\00\00\00\00\D4\F4\00\00\00\00\00\00\00\00\AA\BA\00\00\DA\FA\00\00\00\00\D0\F0\00\00\00\00\00\00\00\00\DB\FB\00\00\00\00\00\00\D8\F8\00\00\00\00\00\CA\EA\DD\FD\DE\FE\00\00\00\00\00\00\00\00\00\00\FF\00\00\B4\A1\A5\00\A0\00\00\A3\00\00\00\A7\00\A9\00\00\00\AD\AE\00\00\00\00\00\00\00\B6\00\00\00\00\00\00\00\00\00\00\D1\D2\D3\D4\D5\D6\00\D8\D9\DA\DB\DC\DD\00\DF\00\F1\F2\F3\F4\F5\F6\00\F8\F9\FA\FB\FC\FD\00\FF\00\00\00\00\00\00\00\00\00\00\A4\A5\00\00\00\00\B2\B3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\D0\F0\DE\FE\AF\00\00\00\00\00\00\00\00\00\A1\A2\00\00\00\00\00\00\A6\AB\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B0\B1\B4\B5\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B7\B9\00\00\00\00\00\00\00\00\BB\BF\00\00\00\00\00\00\00\00\D7\F7\00\00\00\00\A8\B8\AA\BA\BD\BE\00\00\00\00\00\00\00\00\00\00\00\00\AC\BC\00\00\00\00\00\00\00\00\00\00\00\00\A0\A1\A2\A3\00\A5\00\A7\00\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B3\00\B5\B6\B7\00\B9\BA\BB\00\00\00\BF\00\00\BC\BD\00\00\00\00\00\00\00\00\00\00\00\00\A6\A8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\BE\00\00\00\00\B4\B8\00\00\00\00\00\00\00\00\00\00\00\00\00\A4\00\00\00\A0\00\00\00\00\00\00\A7\00\A9\00\A5\00\AD\00\00\B0\B1\00\00\00\00\B6\B7\00\00\00\BB\00\00\00\00\C0\C1\C2\00\C4\00\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\00\00\D2\D3\D4\00\D6\00\00\D9\DA\DB\DC\00\00\DF\E0\E1\E2\00\E4\00\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\00\00\F2\F3\F4\00\F6\00\00\F9\FA\FB\FC\00\00\FF\00\00\C3\E3\A1\A2\C5\E5\00\00\00\00\B2\B9\00\00\D0\F0\00\00\00\00\00\00\DD\FD\00\00\00\00\00\00\00\A3\B3\D1\F1\00\00\00\00\00\00\00\00\00\00\00\D5\F5\BC\BD\00\00\00\00\00\00\D7\F7\00\00\00\00\D8\F8\00\00\00\00\00\00\BE\AC\AE\AF\BF\B4\B8\00\00\00\00\00\00\00\00\00\AA\BA\DE\FE\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B5\AB\00\A0\00\00\00\A4\00\00\A7\A8\00\00\00\00\AD\00\00\B0\00\00\00\B4\00\00\00\B8\00\00\00\00\00\00\00\00\C1\C2\00\C4\00\00\C7\00\C9\00\CB\00\CD\CE\00\00\00\00\D3\D4\00\D6\D7\00\00\DA\00\DC\DD\00\DF\00\E1\E2\00\E4\00\00\E7\00\E9\00\EB\00\ED\EE\00\00\00\00\F3\F4\00\F6\F7\00\00\FA\00\FC\FD\00\00\00\00\C3\E3\A1\B1\C6\E6\00\00\00\00\C8\E8\CF\EF\D0\F0\00\00\00\00\00\00\CA\EA\CC\EC\00\00\00\00\00\00\00\00\00\00\00\00\00\C5\E5\00\00\A5\B5\00\00\A3\B3\D1\F1\00\00\D2\F2\00\00\00\00\00\00\00\D5\F5\00\00\C0\E0\00\00\D8\F8\A6\B6\00\00\AA\BA\A9\B9\DE\FE\AB\BB\00\00\00\00\00\00\00\00\D9\F9\DB\FB\00\00\00\00\00\00\00\AC\BC\AF\BF\AE\BE\00\00\00\00\00\00\00\00\B7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A2\FF\00\B2\00\BD\00\00\A0\00\00\A3\A4\00\00\A7\A8\00\00\00\00\AD\00\00\B0\00\B2\B3\B4\B5\00\B7\B8\00\00\00\00\BD\00\00\C0\C1\C2\00\C4\00\00\C7\C8\C9\CA\CB\CC\CD\CE\CF\00\D1\D2\D3\D4\00\D6\D7\00\D9\DA\DB\DC\00\00\DF\E0\E1\E2\00\E4\00\00\E7\E8\E9\EA\EB\EC\ED\EE\EF\00\F1\F2\F3\F4\00\F6\F7\00\F9\FA\FB\FC\00\00\00\00\00\00\00\00\00\00\00\C6\E6\C5\E5\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\D8\F8\AB\BB\D5\F5\00\00\A6\B6\A1\B1\00\00\00\00\00\00\00\00\A9\B9\00\00\AC\BC\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\DE\FE\AA\BA\00\00\00\00\00\00\00\00\00\00\00\00\DD\FD\00\00\00\00\00\00\00\00\00\00\00\00\00\AF\BF\00\00\00\00\00\00\00\00\00\00\00\A2\FF\00\00\00\00\00\00\A0\00\00\00\A4\00\00\A7\A8\00\00\00\00\AD\00\AF\00\C1\C2\C3\C4\C5\C6\00\00\C9\00\CB\00\CD\CE\00\00\00\00\00\D4\D5\D6\D7\D8\00\DA\DB\DC\00\00\DF\00\E1\E2\E3\E4\E5\E6\00\00\E9\00\EB\00\ED\EE\00\00\00\00\00\F4\F5\F6\F7\F8\00\FA\FB\FC\00\00\00\D0\F0\AA\BA\00\00\CC\EC\CA\EA\00\00\00\00\00\00\00\00\AB\BB\00\00\00\00\A5\B5\CF\EF\00\00\C7\E7\00\00\00\00\00\00\D3\F3\A2\00\00\A6\B6\00\00\00\00\00\00\00\00\D1\F1\00\00\00\BD\BF\D2\F2\00\00\00\00\00\00\00\00\A3\B3\00\00\00\00\00\00\00\00\A9\B9\00\00\00\00\AC\BC\DD\FD\DE\FE\00\00\00\00\00\00\D9\F9\00\00\00\00\00\00\00\00\00\AE\BE\00\00\00\00\00\00\00\00\00\00\FF\00\B2\00\00\00\00\A0\00\00\00\00\00\00\FD\00\00\00\00\00\AD\00\00\00\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\00\AE\AF\00\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\00\FE\FF\00\00\00\00\00\00\F0\00\00\00\00\00\00\00\00\00\A0\00\00\00\A4\00\00\00\00\00\00\00\00\AD\00\00\00\00\00\00\00\00\00\00\00\00\00\00\AC\00\00\00\00\00\00\00\00\00\00\00\00\00\00\BB\00\00\00\BF\00\C1\C2\C3\C4\C5\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\00\00\00\00\00\F0\F1\F2\00\00\00\00\00\00\00\00\00\00\00\00\00\A0\00\00\A3\00\00\A6\A7\A8\A9\00\AB\AC\AD\00\00\B0\B1\B2\B3\00\00\00\B7\00\00\00\BB\00\BD\00\00\00\00\00\00\B4\B5\B6\00\B8\B9\BA\00\BC\00\BE\BF\D0\D1\00\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\FD\FE\00\00\00\00\00\00\AF\00\00\A1\A2\00\00\00\00\00\00\A0\00\A2\A3\A4\A5\A6\A7\A8\A9\00\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\00\BB\BC\BD\BE\00\00\00\00\00\00\00\00\DF\00\00\00\00\00\00\00\00\00\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\00\00\DF\00\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\00\00\FF\00\00\00\00\00\00\00\00\00\00\00\00\00\00\D0\F0\DD\FD\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\DE\FE\9A\00\00\00\00\00\00\00\00\BF\00\00\00\00\00\00\9C\00\9D\00\00\00\00\9E\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\9F\00\00\00\00\00\00\00\00\00\B3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E1\E2\F7\E7\E4\E5\F6\FA\E9\EA\EB\EC\ED\EE\EF\F0\F2\F3\F4\F5\E6\E8\E3\FE\FB\FD\FF\F9\F8\FC\E0\F1\C1\C2\D7\C7\C4\C5\D6\DA\C9\CA\CB\CC\CD\CE\CF\D0\D2\D3\D4\D5\C6\C8\C3\DE\DB\DD\DF\D9\D8\DC\C0\D1\00\A3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\95\96\00\00\00\00\00\00\00\00\00\00\00\00\00\97\00\00\00\00\00\00\00\00\00\00\00\98\99\00\00\00\00\00\00\00\00\00\00\93\9B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\00\81\00\00\00\00\00\00\00\00\00\82\00\00\00\83\00\00\00\84\00\00\00\85\00\00\00\86\00\00\00\00\00\00\00\87\00\00\00\00\00\00\00\88\00\00\00\00\00\00\00\89\00\00\00\00\00\00\00\8A\00\00\00\A0\A1\A2\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\00\00\00\8B\00\00\00\8C\00\00\00\8D\00\00\00\8E\00\00\00\8F\90\91\92\00\00\00\00\00\00\00\00\00\00\00\00\94\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A4\00\A6\A7\00\BF\00\AB\AC\AD\AE\00\B0\B1\B2\00\00\00\B6\B7\00\00\00\BB\00\00\00\00\00\00\83\81\00\00\00\00\00\00\90\80\00\00\00\00\00\00\8C\8A\00\00\8E\8D\00\00\00\00\00\00\00\00\00\00\B5\A5\00\00\00\00\00\00\00\00\00\00\A2\A1\00\B3\00\00\B4\00\B6\B7\00\00\00\00\00\00\00\00\00\A3\00\00\A4\00\A6\A7\00\00\00\00\00\00\00\00\BD\AD\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A0\A1\A2\00\A5\00\00\A8\A9\AA\AB\AC\00\AE\AF\B0\B1\B2\00\B5\00\00\B8\B9\BA\BB\BC\00\BE\00\00\00\00\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\00\00\00\00\DF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\00\00\00\00", [3604 x i8] c":!\1F2#\1E\02,\00'\04%&\05\07)\0F\12\09\0C\06\19\1A\0B+\00\00\00\00\00 \1D9*7407.$777\00\00\00\0158\03/3\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\17\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\16\19\19\19\19\13\00\00\00\00\00\00\00\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\14\00\00\00\00\00\00\00\007777777777777777777777777\19\10\08\19\1B-(\00\00\00\0E\22\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0061\00\00\11\0A\15\1C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\18\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\19\19\0D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E4\E4\E4\CD\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\D0\00\00\07\00\1A5UU>Uj\DE\00UovUUUUUUUUUUUZ\E4\DA\DEU\\\08UUUUI5UUUUUUUUUUS\E4\E4UUU\00\00\00\00\00\00\00UU\12?#UU(%;\C4-\002\03U\C7\00\B6PGUU(&=\E3\CC\1F\00 U\00\00\1DL(UU(U:\D2.\04\009U\00\00\1DUS\17UUGOS\11\D5\E4\00\00\1C\005UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU5UUUUXUAVXUk\00\00\00\00/\22\0B54\16\BC\CBJ\DEU<\00\00\00\00S\00\14\09U\BBSJDUUUUUUUUUUUUU7\00\00\00\14UUUUUSUUUUUUUS'S'UUUUS'UUUS'S'SSUUSUUTBLLUUUFJ\17(UUUUUUUUUUUUUUUUUUUUUULm\00UUn\00UUk\00UL*\00UUUUUU`\E4\E4\E4\E2\D3U7\00\00US'SUUUUSUU>\B9vp\D4\00\00\00\00UUUUUUUUUUI\00UUUR\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00UUUS\D0\00UUU>\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00UUUUG1\C5\C0UpY\C0\00\00\00\00\00\00\00\00UUUUR\00UUUUU)UUUUURUUUUUUU>\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00UUUUUUUUUULUUUUUUUUL\103UE&UUUUUUUUUUUUUUUUUU8UUUUUUUU>UUUUUUUUUU7UUUUUUUUUUUUUUUUUI\E4\E4\E4\E4\E4\E4\E0\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUH\00\00\00\00\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUHUUU\BBUUhUUUhUUUUUUUUUUUUUUUUUUUUR\00\00\00\00\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUUUR\00\00\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUUUUUUUS\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU^S\00xUUgUUUUUUUUUi\1F\00UUUUUUUY\00\00UUUUUUUU\17UUUUUU\00\00\00\00\00UNUU]UUU]UUXUUUXUUU\BBUUU\BBUUh9UUUUUU\86\AA\83\A7\86\AA\86\AA\83\A7{\96\86\AA\86\83\86\AA\86\AA\86\AA\82\AE\C9\AF}\AC\7F\AF\19\AD\92\92\00\00\00\00\97\AA\AA\AA\A86y\86\86\86\85\B4\B9\E4\CD\E4\E4\CD\D4\00UUU>g\00\92\92\92\92+\92\8F\00\00\00ezq~bUqraUURU\BDp\E4p\E4_\DF\00\00\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\91d\92\92\92\92\92\92\92\92\92\92\92\8C\92\92\92\92\92\92\92\9A\9Fs\92\92\92\92\92\A5\99\A0\A4\8E\93\9C\A1\8D[\8B\9F\9D\92\92\98\92\AA\AA\AA\AA\A7\86\86\86\86\83\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\AA\AA\AA\AA\AA\AA\86\86\86\86\86\86\92\92\92\92\94\CA\92\92\92\92\92\92\9A\9E\92\92\92\92\90\8C\B5\C1\E4\E4\E4\B9\E4\E4\E4\DC\C3\E0\B9\E4\E4\E4\E4\E4\D4\E4\E4\E4\B9\E0\00\00\E4\E4\E4\D0\E4\E4\B6K#UU($=\D1-\05\0A9U,\00\18@'0\13@T:\C5.\04\00\02U\C2\00\B6L(UU(Q:\D7.\0C\009U\00\00\1DL(UU(Q:\D7.\0C\019U\00\00\B6UUUUUU=\E4\DE\BEUoU,\00\B6K#UU(!;\D6-\04\0AlUp\C2\B9\E4Up\B1\AA\AA\B0\95\86\86\88\E1UUUUUUUUUUS\17\17\17\15\E0\E0\00\B8\BF\E4\E4\E4Up\E4\E4U5UUU>\B9\E4\E4H\E4\B9\E4\E4\E4\D7\E4\D6\00\00\00\00\00\00\CE\C8Zw\DDfcC\D9k\1B\E4\AA\AA\86\86H\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E0U7UUUUUUUUUUU\00UUUUU\BA\00\00\00\00\00\00\00\00\00\00\E4\E3\BBUUI\E4\E4\E4\C2\00\00\00\00\00\00UUUUY\E4t\00\00\00\00\00\00\00\00\00\E4\E4\00\00\D0\00\E4\E4\E5\B9\C6\E4\E0\D0LUUUUUUUUUUUUUUUUM\E4\E4\D2\B9\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\E4\C0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E4\E4\E4\D4\E4\E4\E4\E4\D0\00\B9\E4\E4\E4\E4\D1\E4\E4\E4\E4\E4\E4\E4\E4\E4\D0\E4\E4\E4\E4\E4\E0\E4\E4\E4\E4\E0\00\00\00\E4\C2\00\00\E4\E4\E4\E4\E4\E4\E4\D8UUW\AA\AA\AA\86\86\86\8A\E4\E0\E4\E4\E4\E4\E0\1E\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\00\00\00\00\E4\E4\E4\E4\E4\E4\E4\E4\DB\E4\00\00\E4\E4\0D\0F\0E\A2\9B\AA\A3\A6|\86\86\84\80\92\92\92\81\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E0\1B\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\E4\E4\E4\E0\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E0\00\00\00\00\00\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\00\00\00\E4\D0\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E6\E4\E4\E4vpw_5UUUUUUUUUS\B7vUUUUUUUUUUh\E9\E8\E4\E4\E4\EA\E4\E4\E4\E4\C4\06\D0\1Eu\E2\E4\E0\00\00\E4\E4\C0\00\00\00\E4\E4\E4\C2\00\00\EC\EB\EC\EC\E7\E4\B2\B3\B1\AA\AA\B0\95\86\86\89\EC\EC\EC\EC\E4\CF\DB\CF\AA\AA\AB\A9\86\86\87\86\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\11\00\00\00`\00\00\00f\00\00\00\90\00\00\06\00\00\00\10\11\00\00\10\16\00\00\11\10\00\00\11\11\00\00`\06\00\00f\00\00\00fd\00\01\00\06\00\01\10\01\00\06\00`\00\06\10\11\00\10\01\00\00\10\11\11\00\11\01\00\00\11\10\11\00\11\11\11\00\16\10\11\00!\01\11\00`\00`\00`ff\00f\06\00\00f\10\11\00fff\01\00\00\00\01\00\00\11\01\01\00\11\01\01\10\00\01\10\11\11\01\11\00\11\01\11\10\01\01\11\10\11\01\11\11\00\01\11\11\11\01`\00\00\01f\00\00\04$$$\06\00\00\00\06`f\00\06ff\00\10\01\01\10\10\01\01\11\10\01ff\10\11\01\01\10\11\01\11\10\11\10\10\10\11\11\11\10fff\11\00\00\00\11\00\00\10\11\00\00\11\11\00\00f\11\00\06f\11\00\11\00\11\00\16f\11\01\00\00\11\01\00\10\11\01\00\11\11\01\00`\11\01\10\11\11\06\10\11\11\10\01\11\11\10\10\11\11\10\11\01\11\10\11\11\11\11\00\00\11\11\01\00\11\11\01\01\11\11\01\10\11\11\01\11\11\11\01`\11\11\06\00\11\11\10\00\11\11\10\10\11\11\10\11\11\11\11\00\11\11\11\01\11\11\11\10\11\11\11\11\11\11\11\16\11\11\11D\11\11\11a\11\11\11f\11\11\16f\11\114B\11\11a\06\11\11a\11\11\11a\16\11\11af\11\11ff\11\12\11\11\11\12!\11\11\16\11\11\11!\00\00\11!\12\22\11D\11\16\11a\06\00\11a\11\11\11af\11\11aff\11f\00\00\11f\00\11\11f\06\00\11ff\06\11ff\11\11fff\12!\11\11\12\22\11\11\12$$$\16\00\00\00\16\00ff\16\11\11\11\16\11\11f\19\11\11\11 \22\22\22!!\11\11!!!!!\22\22\22\22\11\00\11\22\11\11!\22\11!\11\22\11!\12\22\12$\06\22!\01\11\22\22\22\00\22\22\22\02\22\22\22\12\22\22\22\22\22\22\22b\22bff\22bf\E6\22fff#4BB$\00\00\00$\11$!$\11DB$$\00\00$$$\00$$$\11$$$$$$$D$ff\06&\22\22\22@@@@@DDDA#$DA$$DABBBADDDB\11$DBB\22$BBB\02BBBBBD\12DBDBBD\04\04DD@DDDB$DDBB\22DD\22\22DDD\00DDD\04DDD$DDDDDDDdDD`fDDd\06DDdbDDdfDdffFDDDUUUUUfff`\06\00\00`f\06f`f\10\11`f\16\11`ff\00`fffa\00\00\00a\11\11\11a\11ffa\16\11\11af\06\00affff\00\00\00f\00fff\06\00\00f\06\00\06f\06\00`f\06\00ff\06fff\11\01\00f\11\11\11f!\01\11f$$$f`\16\00f`f\00f`fffaf\16faffff\00\00ff\00`ff\00fff\01\00ff\06\00ff\06\06ff\06`ff\06fff\11\11ff\16\11ff\16aff&fff``ffadfff\00fff\01fff\06fff\11fff\16fff`ffffffv\07if\16\11ifff\99\99ff\99\99\99i\CCfff\DE\CC\CC\EE\EE\EE\EE\EE", [1680 x i8] c"\04\06\07\00\00\00\00\00\00\00\00\00\00\00\00\05\01\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\00\00\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\0D\00\00\00\00\00\00QQRR\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\1B\1B\19\0F\1F\1F\1D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\03SSSUUUT\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\1B\1B\19\0F\1F\1F\1D\00\00\00\00\00\00\04\00\1B\1B\1A\1A\1F\1F\1E ((((((1\10,*(((((2\11.3%)/0$\064,-((\12((((((((((((((((((('\08(((((((((((#GIFHGIGIFH\16\17GIMNGIGIGIEJ\09OCKDL\09P((((5(&\00\00\00\07\1367\0B\0089\0C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\01:\0E\1B\18\1C\0F\1F\22!;(((<\00>>\1B\1B\1B\1B\1F\1F\1F\1F==((((#\0A((((((\10+(((('#((\00\00\00\00\14@@@?\00\15BBBA\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00WWWWVYYYYX\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\001\00\00\00\00\00\00\00Y\00\00\00\00\00\00\00^^\00\00\00\00\00\03\00\00\00\00\00\00\000\00\00\00\00\00\00\1C\1D\1E\1C\00\00\00#$\00%%\00\00\00E\00\00\00\00\00\00\00N\00\00\00\00\00\00\05\06\05\06\05\06\00\00+\00\00,\00\00\00\00/\00\00\00\00\00\00\00Z[\00\00\00\00\00\01\01\01\01\01\01\01\00\02\02\02\02\02\02\02\00\05\06\05\06\05\06\05\00\0B\05\06\05\06\0C\05\00\1C\1D\1E\05\06 !\00&\00'\00\00\00\00\00CCCCCCC\00DDDDDDD\00F\00F\00F\00F\00G\00G\00G\00G\01\01\00\01\01\01\01\01\01\01\01\00\00\00\00\00\01\01\01\01\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\015666\02\02\02\00\00\00\00\00\02\02\02\02\02\02\02\00\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\04\02\02\02\02899\00\02\027\02\02\02\02\02\05\06\00\00\00\00\00\00\05\06\00\00\05\06\00\1B\05\06\00\00\13\15\16\17\05\06\05\06\00\00\00\00\05\06\05\06\05\06\00\00\05\06\05\06\05\06\05\06\05\06\05\06\05\06\18\05\06\00\05\06\05\06\05\06\06\05\06\05\06\05\06\00\06\05\06\05\06\05\06\05\06\05\06\05\06\1F\05\06\06\0D\0D\05\06\00\0E\0F\06\18\00\00\05\06\18\05\06\19\19\05\06\05\06\1A\07\08\05\06\05\06\05\06\09\05\06\05\06\05\06\0A\10\05\06\0D\11\12\13\14\1D\1E\1C\1D\1E\05\06\05\22\00\05\06\05\06\05\06%\00\00(\00\00\00\00)*\00\00\00\00\00*-\00\00-\00\00\00\00-\00..\00\00\00\00222\003\0044:;\00\00\00<=\00>?\1F\00@A\00\00????????BBBBBBBBCCCCCCC\00CCCCCCCCDDDDDDD\00DDDDDDDDFF\00\00\00\00\00\00FF\00\00\00T\00\00FF\00N\00\00\00\00FFFFFF\00\00FFFFFFFFGGGGGG\00\00GGGGGGGGGGOOP\00Q\00GGSS\00\00\00\00GGUUV\00\00\00HHIIIIJJKKLLMM\00\00RRRRP\00\00\00WWXXP\00\00\00\\\\\\\\\\\\\\\\]]]]]]]]^^^^^^^^__\00\00\00\00\00\00________``````\00\00````````aaaaaa\00\00aaaaaaaa", [196 x i16] [i16 0, i16 0, i16 0, i16 32, i16 -32, i16 0, i16 743, i16 0, i16 121, i16 0, i16 0, i16 1, i16 -1, i16 0, i16 0, i16 -199, i16 -232, i16 0, i16 0, i16 -121, i16 -300, i16 0, i16 0, i16 210, i16 0, i16 206, i16 0, i16 205, i16 0, i16 79, i16 0, i16 202, i16 0, i16 203, i16 0, i16 207, i16 97, i16 0, i16 0, i16 211, i16 0, i16 209, i16 0, i16 213, i16 130, i16 0, i16 0, i16 214, i16 0, i16 218, i16 0, i16 217, i16 0, i16 219, i16 56, i16 0, i16 0, i16 2, i16 -1, i16 1, i16 -2, i16 0, i16 -79, i16 0, i16 0, i16 -97, i16 0, i16 -56, i16 0, i16 -130, i16 -210, i16 0, i16 -206, i16 0, i16 -205, i16 0, i16 -202, i16 0, i16 -203, i16 0, i16 -207, i16 0, i16 -209, i16 0, i16 -211, i16 0, i16 -213, i16 0, i16 -214, i16 0, i16 -218, i16 0, i16 -217, i16 0, i16 -219, i16 0, i16 84, i16 0, i16 0, i16 38, i16 0, i16 37, i16 0, i16 64, i16 0, i16 63, i16 -38, i16 0, i16 -37, i16 0, i16 -31, i16 0, i16 -64, i16 0, i16 -63, i16 0, i16 -62, i16 0, i16 -57, i16 0, i16 -47, i16 0, i16 -54, i16 0, i16 -86, i16 0, i16 -80, i16 0, i16 0, i16 -60, i16 -96, i16 0, i16 0, i16 80, i16 0, i16 48, i16 -48, i16 0, i16 -59, i16 0, i16 8, i16 0, i16 0, i16 -8, i16 74, i16 0, i16 86, i16 0, i16 100, i16 0, i16 128, i16 0, i16 112, i16 0, i16 126, i16 0, i16 9, i16 0, i16 0, i16 -74, i16 0, i16 -9, i16 -7205, i16 0, i16 0, i16 -86, i16 0, i16 -100, i16 7, i16 0, i16 0, i16 -112, i16 0, i16 -7, i16 0, i16 -128, i16 0, i16 -126, i16 0, i16 -7517, i16 0, i16 -8383, i16 0, i16 -8262, i16 0, i16 16, i16 -16, i16 0, i16 0, i16 26, i16 -26, i16 0, i16 0, i16 40, i16 -40, i16 0], [51 x i8] c"\000\001\002\003\004\005\006\007\008\009\00\DB\B0\00\DB\B1\00\DB\B2\00\DB\B3\00\DB\B4\00\DB\B5\00\DB\B6\00\DB\B7\00\DB\B8\00\DB\B9\00", [28 x i8] c"\00.\00,\00\03\00\03\02\00\A0\00\C2\A0\00 \00\D9\AB\00\D9\AC\00'\00\02\03\00", [1646 x i8] c"\00\7F\00-\00ZAR \00R\00,\00.\00\03\00\02\00\01\00-R\00ETB \00$\00-$\00AED \00\CF.\C5.\00-\CF.\C5.\00\D8\AF.\D8\A5.\00-\D8\AF.\D8\A5.\00BHD \00\CF.\C8.\00-\CF.\C8.\00\D8\AF.\D8\A8.\00-\D8\AF.\D8\A8.\00DZD \00\CF.\CC.\00-\CF.\CC.\00\D8\AF.\D8\AC.\00-\D8\AF.\D8\AC.\00EGP \00\CC.\E5.\00-\CC.\E5.\00\D8\AC.\D9\85.\00-\D8\AC.\D9\85.\00INR \00\E2\82\A8\00\03\02\00-\E2\82\A8\00IQD \00\CF.\D9.\00-\CF.\D9.\00\D8\AF.\D8\B9.\00-\D8\AF.\D8\B9.\00JOD \00\CF.\C3.\00-\CF.\C3.\00\D8\AF.\D8\A3.\00-\D8\AF.\D8\A3.\00KWD \00\CF.\E3.\00-\CF.\E3.\00\D8\AF.\D9\83.\00-\D8\AF.\D9\83.\00LBP \00\E4.\E4.\00-\E4.\E4.\00\D9\84.\D9\84.\00-\D9\84.\D9\84.\00LYD \00\CF.\E4.\00-\CF.\E4.\00\D8\AF.\D9\84.\00-\D8\AF.\D9\84.\00MAD \00\CF.\E5.\00-\CF.\E5.\00\D8\AF.\D9\85.\00-\D8\AF.\D9\85.\00OMR \00\D1.\D9.\00-\D1.\D9.\00\D8\B1.\D8\B9.\00-\D8\B1.\D8\B9.\00QAR \00\D1.\E2.\00-\D1.\E2.\00\D8\B1.\D9\82.\00-\D8\B1.\D9\82.\00SAR \00\D1\EA\C7\E4\00+\D1\EA\C7\E4\00\D8\B1\D9\8A\D8\A7\D9\84\00+\D8\B1\D9\8A\D8\A7\D9\84\00SDP \00\CC.\D3.\00-\CC.\D3.\00\D8\AC.\D8\B3.\00-\D8\AC.\D8\B3.\00SYP \00\E4.\D3.\00-\E4.\D3.\00\D9\84.\D8\B3.\00-\D9\84.\D8\B3.\00TND \00\CF.\CA.\00-\CF.\CA.\00\D8\AF.\D8\AA.\00-\D8\AF.\D8\AA.\00YER \00\D1.\EA.\00-\D1.\EA.\00\D8\B1.\D9\8A.\00-\D8\B1.\D9\8A.\00AZM \00man.\00 \00+man.\00BYR \00\F0\F3\E1\00+\F0\F3\E1\00\D1\80\D1\83\D0\B1\00+\D1\80\D1\83\D0\B1\00BGL \00\EB\E2\00\A0\00+\EB\E2\00\D0\BB\D0\B2\00\C2\A0\00+\D0\BB\D0\B2\00\E0\A7\B3\00-\E0\A7\B3\00\E0\A6\9F\E0\A6\BE\E0\A6\95\E0\A6\BE\00\02\03\00-\E0\A6\9F\E0\A6\BE\E0\A6\95\E0\A6\BE\00EUR \00EUR\00+EUR\00\E2\82\AC\00+\E2\82\AC\00BAK \00KM\00-KM\00-EUR\00-\E2\82\AC\00\A4\00-\A4\00CZK \00K\E8\00+K\E8\00K\C4\8D\00+K\C4\8D\00GBP \00\A3\00-\A3\00\C2\A3\00-\C2\A3\00DKK \00kr\00\04\00-kr\00CHF \00Fr.\00-Fr.\00+\A4\00AUD \00BWP \00Pu\00-Pu\00CAD \00\C2\A4\00-\C2\A4\00HKD \00HK$\00-HK$\00NZD \00PHP \00Php\00-Php\00SGD \00USD \00ZWD \00Z$\00-Z$\00-EUR \00ARS \00BOB \00$b\00-$b\00CLP \00COP \00CRC \00C\00-C\00DOP \00ECS \00GTQ \00Q\00-Q\00HNL \00L.\00-L.\00MXP \00NIO \00$C\00-$C\00PAB \00B/\00-B/\00PEN \00S/\00-S/\00PYG \00Gs.\00-Gs.\00SVC \00\A2\00-\A2\00\C2\A2\00-\C2\A2\00UYU \00N$\00-N$\00VEB \00Bs.\00-Bs.\00EEK \00IRR \00\D8\B1\DB\8C\D8\A7\D9\84\00\D9\AB\00\D9\AC\00+\D8\B1\DB\8C\D8\A7\D9\84\00+$\00ILS \00\F9\E7\00-\F9\E7\00\D7\A9\D7\97\00-\D7\A9\D7\97\00\E0\A4\B0\E0\A5\82\00-\E0\A4\B0\E0\A5\82\00HRK \00Kn\00-Kn\00HUF \00Ft\00+Ft\00AMD \00\B8\00-\B8\00\D4\B4\00-\D4\B4\00IDR \00Rp\00-Rp\00ISK \00+kr\00JPY \00\EF\BF\A5\00-\EF\BF\A5\00GEL \00\CB\00-\CB\00\E1\83\9A\00-\E1\83\9A\00KRW \00\EF\BF\A6\00-\EF\BF\A6\00LTL \00Lt\00+Lt\00LVL \00Ls\00-Ls\00MKD \00\D4\D5\DD\00+\D4\D5\DD\00\D0\B4\D0\B5\D0\BD\00+\D0\B4\D0\B5\D0\BD\00\E0\A4\B0\E0\A5\81\00-\E0\A4\B0\E0\A5\81\00MYR \00RM\00-RM\00MTL \00Lm\00-Lm\00NOK \00PLN \00Z\B3\00-Z\B3\00Z\C5\82\00-Z\C5\82\00BRL \00R$\00+R$\00ROL \00Lei\00-Lei\00RUR \00\D2\D5\C2\00+\D2\D5\C2\00\E0\E3\D1\00+\E0\E3\D1\00UAH \00\C7\D2\00+\C7\D2\00\D0\B3\D1\80\00+\D0\B3\D1\80\00 ru\00- ru\00SKK \00Sk\00+Sk\00SIT \00SIT\00+SIT\00ALL \00Lek\00-Lek\00YUN \00din\00-din\00\D4\D8\DD\00-\D4\D8\DD\00\D0\B4\D0\B8\D0\BD\00-\D0\B4\D0\B8\D0\BD\00SEK \00THB \00\DF\00-\DF\00\E0\B8\BF\00-\E0\B8\BF\00ERB \00PhP\00-PhP\00TRL \00TL\00+TL\00PKR \00Rs\00-Rs\00UZS \00so'm\00-so'm\00VND \00\E2\82\AB\00+\E2\82\AB\00CNY \00TWD \00NT$\00-NT$\00", [28353 x i8] c"\00Sun\00Mon\00Tue\00Wed\00Thu\00Fri\00Sat\00Sunday\00Monday\00Tuesday\00Wednesday\00Thursday\00Friday\00Saturday\00Jan\00Feb\00Mar\00Apr\00May\00Jun\00Jul\00Aug\00Sep\00Oct\00Nov\00Dec\00January\00February\00March\00April\00June\00July\00August\00September\00October\00November\00December\00AM\00PM\00%a %b %e %H:%M:%S %Y\00%m/%d/%y\00%H:%M:%S\00%I:%M:%S %p\00So\00Ma\00Di\00Wo\00Do\00Vr\00Sa\00Sondag\00Maandag\00Dinsdag\00Woensdag\00Donderdag\00Vrydag\00Saterdag\00Mei\00Okt\00Des\00Januarie\00Februarie\00Maart\00Junie\00Julie\00Augustus\00Oktober\00Desember\00VM\00NM\00%a %d %b %Y %T %Z\00%d/%m/%y\00%T\00\E1\8A\A5\E1\88\91\E1\8B\B5\00\E1\88\B0\E1\8A\9E\00\E1\88\9B\E1\8A\AD\E1\88\B0\E1\8A\9E\00\E1\88\A8\E1\89\A1\E1\8B\95\00\E1\88\90\E1\88\99\E1\88\B5\00\E1\8B\93\E1\88\AD\E1\89\A5\00\E1\89\85\E1\8B\B3\E1\88\9C\00\E1\8C\83\E1\8A\95\E1\8B\A9\00\E1\8D\8C\E1\89\A5\E1\88\A9\00\E1\88\9B\E1\88\AD\E1\89\BD\00\E1\8A\A4\E1\8D\95\E1\88\A8\00\E1\88\9C\E1\8B\AD\00\E1\8C\81\E1\8A\95\00\E1\8C\81\E1\88\8B\E1\8B\AD\00\E1\8A\A6\E1\8C\88\E1\88\B5\00\E1\88\B4\E1\8D\95\E1\89\B4\00\E1\8A\A6\E1\8A\AD\E1\89\B0\00\E1\8A\96\E1\89\AC\E1\88\9D\00\E1\8B\B2\E1\88\B4\E1\88\9D\00\E1\8C\83\E1\8A\95\E1\8B\A9\E1\8B\88\E1\88\AA\00\E1\8D\8C\E1\89\A5\E1\88\A9\E1\8B\88\E1\88\AA\00\E1\8A\A4\E1\8D\95\E1\88\A8\E1\88\8D\00\E1\8A\A6\E1\8C\88\E1\88\B5\E1\89\B5\00\E1\88\B4\E1\8D\95\E1\89\B4\E1\88\9D\E1\89\A0\E1\88\AD\00\E1\8A\A6\E1\8A\AD\E1\89\B0\E1\8B\8D\E1\89\A0\E1\88\AD\00\E1\8A\96\E1\89\AC\E1\88\9D\E1\89\A0\E1\88\AD\00\E1\8B\B2\E1\88\B4\E1\88\9D\E1\89\A0\E1\88\AD\00\E1\8C\A0\E1\8B\8B\E1\89\B5\00\E1\8A\A8\E1\88\B3\E1\8B\93\E1\89\B5\00%A\E1\8D\A3 %b %e \E1\89\80\E1\8A\95 %l:%M:%S %Z %Y\00%d/%m/%Y\00%r\00\CD\00\E6\00\CB\00\D1\00\CE\00\CC\00\D3\00\C7\E4\C3\CD\CF\00\C7\E4\C7\CB\E6\EA\E6\00\C7\E4\CB\E4\C7\CB\C7\C1\00\C7\E4\C3\D1\C8\D9\C7\C1\00\C7\E4\CE\E5\EA\D3\00\C7\E4\CC\E5\D9\C9\00\C7\E4\D3\C8\CA \00\EA\E6\C7\00\E1\C8\D1\00\E5\C7\D1\00\C3\C8\D1\00\E5\C7\EA\00\EA\E8\E6\00\EA\E8\E4\00\C3\DA\D3\00\D3\C8\CA\00\C3\E3\CA\00\E6\E8\E1\00\CF\EA\D3\00\EA\E6\C7\EA\D1\00\E1\C8\D1\C7\EA\D1\00\E5\C7\D1\D3\00\C3\C8\D1\EA\E4\00\E5\C7\EA\E8\00\EA\E8\E6\EA\E8\00\EA\E8\E4\EA\E8\00\C3\DA\D3\D7\D3\00\D3\C8\CA\E5\C8\D1\00\C3\E3\CA\E8\C8\D1\00\E6\E8\E1\E5\C8\D1\00\CF\EA\D3\E5\C8\D1\00\D5\00\E5\00%d %b, %Y %Z %I:%M:%S %p\00%d %b, %Y\00%Z %I:%M:%S \00%Z %I:%M:%S %p\00\D8\AD\00\D9\86\00\D8\AB\00\D8\B1\00\D8\AE\00\D8\AC\00\D8\B3\00\D8\A7\D9\84\D8\A3\D8\AD\D8\AF\00\D8\A7\D9\84\D8\A7\D8\AB\D9\86\D9\8A\D9\86\00\D8\A7\D9\84\D8\AB\D9\84\D8\A7\D8\AB\D8\A7\D8\A1\00\D8\A7\D9\84\D8\A3\D8\B1\D8\A8\D8\B9\D8\A7\D8\A1\00\D8\A7\D9\84\D8\AE\D9\85\D9\8A\D8\B3\00\D8\A7\D9\84\D8\AC\D9\85\D8\B9\D8\A9\00\D8\A7\D9\84\D8\B3\D8\A8\D8\AA \00\D9\8A\D9\86\D8\A7\00\D9\81\D8\A8\D8\B1\00\D9\85\D8\A7\D8\B1\00\D8\A3\D8\A8\D8\B1\00\D9\85\D8\A7\D9\8A\00\D9\8A\D9\88\D9\86\00\D9\8A\D9\88\D9\84\00\D8\A3\D8\BA\D8\B3\00\D8\B3\D8\A8\D8\AA\00\D8\A3\D9\83\D8\AA\00\D9\86\D9\88\D9\81\00\D8\AF\D9\8A\D8\B3\00\D9\8A\D9\86\D8\A7\D9\8A\D8\B1\00\D9\81\D8\A8\D8\B1\D8\A7\D9\8A\D8\B1\00\D9\85\D8\A7\D8\B1\D8\B3\00\D8\A3\D8\A8\D8\B1\D9\8A\D9\84\00\D9\85\D8\A7\D9\8A\D9\88\00\D9\8A\D9\88\D9\86\D9\8A\D9\88\00\D9\8A\D9\88\D9\84\D9\8A\D9\88\00\D8\A3\D8\BA\D8\B3\D8\B7\D8\B3\00\D8\B3\D8\A8\D8\AA\D9\85\D8\A8\D8\B1\00\D8\A3\D9\83\D8\AA\D9\88\D8\A8\D8\B1\00\D9\86\D9\88\D9\81\D9\85\D8\A8\D8\B1\00\D8\AF\D9\8A\D8\B3\D9\85\D8\A8\D8\B1\00\D8\B5\00\D9\85\00\C7\E4\D3\C8\CA\00\D8\A7\D9\84\D8\B3\D8\A8\D8\AA\00%A %d %B %Y %I:%M:%S %p %Z\00%A %d %B %Y\00%I:%M:%S %Z\00%I:%M:%S %p %Z\00\E3\C7\E6\E8\E6 \C7\E4\CB\C7\E6\EA\00\D4\C8\C7\D7\00\C2\D0\C7\D1\00\E6\EA\D3\C7\E6\00\E6\E8\C7\D1\00\CD\D2\EA\D1\C7\E6\00\CA\E5\E8\D2\00\C2\C8\00\C3\EA\E4\E8\E4\00\CA\D4\D1\EA\E6 \C7\E4\C3\E8\E4\00\CA\D4\D1\EA\E6 \C7\E4\CB\C7\E6\EA\00\E3\C7\E6\E8\E6 \C7\E4\C3\E8\E4\00\D9\83\D8\A7\D9\86\D9\88\D9\86 \D8\A7\D9\84\D8\AB\D8\A7\D9\86\D9\8A\00\D8\B4\D8\A8\D8\A7\D8\B7\00\D8\A2\D8\B0\D8\A7\D8\B1\00\D9\86\D9\8A\D8\B3\D8\A7\D9\86\00\D9\86\D9\88\D8\A7\D8\B1\00\D8\AD\D8\B2\D9\8A\D8\B1\D8\A7\D9\86\00\D8\AA\D9\85\D9\88\D8\B2\00\D8\A2\D8\A8\00\D8\A3\D9\8A\D9\84\D9\88\D9\84\00\D8\AA\D8\B4\D8\B1\D9\8A\D9\86 \D8\A7\D9\84\D8\A3\D9\88\D9\84\00\D8\AA\D8\B4\D8\B1\D9\8A\D9\86 \D8\A7\D9\84\D8\AB\D8\A7\D9\86\D9\8A\00\D9\83\D8\A7\D9\86\D9\88\D9\86 \D8\A7\D9\84\D8\A3\D9\88\D9\84\00\C7\E4\C5\CB\E6\EA\E6\00\C7\E4\CC\E5\D9\E0\C9\00\E6\EA\D3\E0\C7\E6\00\C3\EA\C7\D1\00\CA\E0\E5\E0\E8\D2\00%A %.1d %B %Y %.1H:%M:%S\00%A %.1d %B %Y\00%.1H:%M:%S\00\D8\A7\D9\84\D8\A5\D8\AB\D9\86\D9\8A\D9\86\00\D8\A7\D9\84\D8\AC\D9\85\D8\B9\D9\80\D8\A9\00\D9\86\D9\8A\D8\B3\D9\80\D8\A7\D9\86\00\D8\A3\D9\8A\D8\A7\D8\B1\00\D8\AA\D9\80\D9\85\D9\80\D9\88\D8\B2\00\E6\E8\C7\D1\C7\E6\00\CD\D2\EA\D1\00\D9\86\D9\88\D8\A7\D8\B1\D8\A7\D9\86\00\D8\AD\D8\B2\D9\8A\D8\B1\00baz\00bir\00iki\00\FC\E7\FC\00d\F6r\00be\FE\00alt\00bazar g\FCn\FC\00birinci g\FCn\00ikinci g\FCn\00\FC\E7\FCnc\FC g\FCn\00d\F6rd\FCnc\FC g\FCn\00be\FEinci g\FCn\00alt\FDnc\FD g\FCn\00Yan\00Fev\00\DDyn\00\DDyl\00Avq\00Sen\00Noy\00Dek\00yanvar\00fevral\00mart\00aprel\00may\00iyun\00iyul\00avqust\00sentyabr\00oktyabr\00noyabr\00dekabr\00%A, %d %B %Y %T\00%d.%m.%Y\00\C3\BC\C3\A7\C3\BC\00d\C3\B6r\00be\C5\9F\00bazar g\C3\BCn\C3\BC\00birinci g\C3\BCn\00ikinci g\C3\BCn\00\C3\BC\C3\A7\C3\BCnc\C3\BC g\C3\BCn\00d\C3\B6rd\C3\BCnc\C3\BC g\C3\BCn\00be\C5\9Finci g\C3\BCn\00alt\C4\B1nc\C4\B1 g\C3\BCn\00\C4\B0yn\00\C4\B0yl\00\CD\FF\E4\00\CF\E0\ED\00\C0\A2\F2\00\D1\F0\E4\00\D7\F6\E2\00\CF\FF\F2\00\D1\F3\E1\00\CD\FF\E4\E7\E5\EB\FF\00\CF\E0\ED\FF\E4\E7\E5\EB\E0\EA\00\C0\A2\F2\EE\F0\E0\EA\00\D1\E5\F0\E0\E4\E0\00\D7\E0\F6\E2\E5\F0\00\CF\FF\F2\ED\B3\F6\E0\00\D1\F3\E1\EE\F2\E0\00\D1\F2\E4\00\CB\FE\F2\00\D1\E0\EA\00\CA\F0\F1\00\D2\F0\E0\00\D7\FD\F0\00\CB\B3\EF\00\C6\ED\E2\00\C2\F0\F1\00\CA\F1\F2\00\CB\B3\F1\00\D1\ED\E6\00\D1\F2\F3\E4\E7\E5\ED\FC\00\CB\FE\F2\FB\00\D1\E0\EA\E0\E2\B3\EA\00\CA\F0\E0\F1\E0\E2\B3\EA\00\D2\F0\E0\E2\E5\ED\FC\00\D7\FD\F0\E2\E5\ED\FC\00\CB\B3\EF\E5\ED\FC\00\C6\ED\B3\E2\E5\ED\FC\00\C2\E5\F0\E0\F1\E5\ED\FC\00\CA\E0\F1\F2\F0\FB\F7\ED\B3\EA\00\CB\B3\F1\F2\E0\EF\E0\E4\00\D1\ED\E5\E6\E0\ED\FC\00%a %d %b %Y %T\00\D0\9D\D1\8F\D0\B4\00\D0\9F\D0\B0\D0\BD\00\D0\90\D1\9E\D1\82\00\D0\A1\D1\80\D0\B4\00\D0\A7\D1\86\D0\B2\00\D0\9F\D1\8F\D1\82\00\D0\A1\D1\83\D0\B1\00\D0\9D\D1\8F\D0\B4\D0\B7\D0\B5\D0\BB\D1\8F\00\D0\9F\D0\B0\D0\BD\D1\8F\D0\B4\D0\B7\D0\B5\D0\BB\D0\B0\D0\BA\00\D0\90\D1\9E\D1\82\D0\BE\D1\80\D0\B0\D0\BA\00\D0\A1\D0\B5\D1\80\D0\B0\D0\B4\D0\B0\00\D0\A7\D0\B0\D1\86\D0\B2\D0\B5\D1\80\00\D0\9F\D1\8F\D1\82\D0\BD\D1\96\D1\86\D0\B0\00\D0\A1\D1\83\D0\B1\D0\BE\D1\82\D0\B0\00\D0\A1\D1\82\D0\B4\00\D0\9B\D1\8E\D1\82\00\D0\A1\D0\B0\D0\BA\00\D0\9A\D1\80\D1\81\00\D0\A2\D1\80\D0\B0\00\D0\A7\D1\8D\D1\80\00\D0\9B\D1\96\D0\BF\00\D0\96\D0\BD\D0\B2\00\D0\92\D1\80\D1\81\00\D0\9A\D1\81\D1\82\00\D0\9B\D1\96\D1\81\00\D0\A1\D0\BD\D0\B6\00\D0\A1\D1\82\D1\83\D0\B4\D0\B7\D0\B5\D0\BD\D1\8C\00\D0\9B\D1\8E\D1\82\D1\8B\00\D0\A1\D0\B0\D0\BA\D0\B0\D0\B2\D1\96\D0\BA\00\D0\9A\D1\80\D0\B0\D1\81\D0\B0\D0\B2\D1\96\D0\BA\00\D0\A2\D1\80\D0\B0\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\A7\D1\8D\D1\80\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\9B\D1\96\D0\BF\D0\B5\D0\BD\D1\8C\00\D0\96\D0\BD\D1\96\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\92\D0\B5\D1\80\D0\B0\D1\81\D0\B5\D0\BD\D1\8C\00\D0\9A\D0\B0\D1\81\D1\82\D1\80\D1\8B\D1\87\D0\BD\D1\96\D0\BA\00\D0\9B\D1\96\D1\81\D1\82\D0\B0\D0\BF\D0\B0\D0\B4\00\D0\A1\D0\BD\D0\B5\D0\B6\D0\B0\D0\BD\D1\8C\00\ED\E4\00\EF\ED\00\E2\F2\00\F1\F0\00\F7\F2\00\EF\F2\00\F1\E1\00\ED\E5\E4\E5\EB\FF\00\EF\EE\ED\E5\E4\E5\EB\ED\E8\EA\00\E2\F2\EE\F0\ED\E8\EA\00\F1\F0\FF\E4\E0\00\F7\E5\F2\E2\FA\F0\F2\FA\EA\00\EF\E5\F2\FA\EA\00\F1\FA\E1\EE\F2\E0\00\FF\ED\F3\00\F4\E5\E2\00\EC\E0\F0\00\E0\EF\F0\00\EC\E0\E9\00\FE\ED\E8\00\FE\EB\E8\00\E0\E2\E3\00\F1\E5\EF\00\EE\EA\F2\00\ED\EE\E5\00\E4\E5\EA\00\FF\ED\F3\E0\F0\E8\00\F4\E5\E2\F0\F3\E0\F0\E8\00\EC\E0\F0\F2\00\E0\EF\F0\E8\EB\00\E0\E2\E3\F3\F1\F2\00\F1\E5\EF\F2\E5\EC\E2\F0\E8\00\EE\EA\F2\EE\EC\E2\F0\E8\00\ED\EE\E5\EC\E2\F0\E8\00\E4\E5\EA\E5\EC\E2\F0\E8\00%x (%a) %X %Z\00%e.%m.%Y\00%k,%M,%S\00%l,%M,%S\00\D0\BD\D0\B4\00\D0\BF\D0\BD\00\D0\B2\D1\82\00\D1\81\D1\80\00\D1\87\D1\82\00\D0\BF\D1\82\00\D1\81\D0\B1\00\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D1\8F\00\D0\BF\D0\BE\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D0\BD\D0\B8\D0\BA\00\D0\B2\D1\82\D0\BE\D1\80\D0\BD\D0\B8\D0\BA\00\D1\81\D1\80\D1\8F\D0\B4\D0\B0\00\D1\87\D0\B5\D1\82\D0\B2\D1\8A\D1\80\D1\82\D1\8A\D0\BA\00\D0\BF\D0\B5\D1\82\D1\8A\D0\BA\00\D1\81\D1\8A\D0\B1\D0\BE\D1\82\D0\B0\00\D1\8F\D0\BD\D1\83\00\D1\84\D0\B5\D0\B2\00\D0\BC\D0\B0\D1\80\00\D0\B0\D0\BF\D1\80\00\D0\BC\D0\B0\D0\B9\00\D1\8E\D0\BD\D0\B8\00\D1\8E\D0\BB\D0\B8\00\D0\B0\D0\B2\D0\B3\00\D1\81\D0\B5\D0\BF\00\D0\BE\D0\BA\D1\82\00\D0\BD\D0\BE\D0\B5\00\D0\B4\D0\B5\D0\BA\00\D1\8F\D0\BD\D1\83\D0\B0\D1\80\D0\B8\00\D1\84\D0\B5\D0\B2\D1\80\D1\83\D0\B0\D1\80\D0\B8\00\D0\BC\D0\B0\D1\80\D1\82\00\D0\B0\D0\BF\D1\80\D0\B8\D0\BB\00\D0\B0\D0\B2\D0\B3\D1\83\D1\81\D1\82\00\D1\81\D0\B5\D0\BF\D1\82\D0\B5\D0\BC\D0\B2\D1\80\D0\B8\00\D0\BE\D0\BA\D1\82\D0\BE\D0\BC\D0\B2\D1\80\D0\B8\00\D0\BD\D0\BE\D0\B5\D0\BC\D0\B2\D1\80\D0\B8\00\D0\B4\D0\B5\D0\BA\D0\B5\D0\BC\D0\B2\D1\80\D0\B8\00\E0\A6\B0\E0\A6\AC\E0\A6\BF\00\E0\A6\B8\E0\A7\8B\E0\A6\AE\00\E0\A6\AE\E0\A6\99\E0\A6\97\E0\A6\B2\00\E0\A6\AC\E0\A7\81\E0\A6\A7\00\E0\A6\AC\E0\A7\83\E0\A6\B9\E0\A6\B8\E0\A7\8D\E0\A6\AA\E0\A6\A4\E0\A6\BF\00\E0\A6\B6\E0\A7\81\E0\A6\95\E0\A7\8D\E0\A6\B0\00\E0\A6\B6\E0\A6\A8\E0\A6\BF\00\E0\A6\B0\E0\A6\AC\E0\A6\BF\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B8\E0\A7\8B\E0\A6\AE\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\AE\E0\A6\99\E0\A6\97\E0\A6\B2\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\AC\E0\A7\81\E0\A6\A7\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\AC\E0\A7\83\E0\A6\B9\E0\A6\B8\E0\A7\8D\E0\A6\AA\E0\A6\A4\E0\A6\BF\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B6\E0\A7\81\E0\A6\95\E0\A7\8D\E0\A6\B0\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B6\E0\A6\A8\E0\A6\BF\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\9C\E0\A6\BE\E0\A6\A8\00\E0\A6\AB\E0\A7\87\E0\A6\AC\00\E0\A6\AE\E0\A6\BE\E0\A6\B0\00\E0\A6\8F\E0\A6\AA\E0\A7\8D\E0\A6\B0\00\E0\A6\AE\E0\A7\87\00\E0\A6\9C\E0\A7\81\E0\A6\A8\00\E0\A6\9C\E0\A7\81\E0\A6\B2\00\E0\A6\86\E0\A6\97\00\E0\A6\B8\E0\A7\87\E0\A6\AA\00\E0\A6\85\E0\A6\95\E0\A7\8D\E0\A6\9F\E0\A7\8B\E0\A6\AC\E0\A6\B0\00\E0\A6\A8\E0\A6\AD\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\B0\00\E0\A6\A1\E0\A6\BF\E0\A6\B8\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\B0\00\E0\A6\9C\E0\A6\BE\E0\A6\A8\E0\A7\81\E0\A7\9F\E0\A6\BE\E0\A6\B0\E0\A7\80\00\E0\A6\AB\E0\A7\87\E0\A6\AC\E0\A7\8D\E0\A6\B0\E0\A7\81\E0\A7\9F\E0\A6\BE\E0\A6\B0\E0\A7\80\00\E0\A6\AE\E0\A6\BE\E0\A6\B0\E0\A7\8D\E0\A6\9A\00\E0\A6\8F\E0\A6\AA\E0\A7\8D\E0\A6\B0\E0\A6\BF\E0\A6\B2\00\E0\A6\9C\E0\A7\81\E0\A6\B2\E0\A6\BE\E0\A6\87\00\E0\A6\86\E0\A6\97\E0\A6\B8\E0\A7\8D\E0\A6\9F\00\E0\A6\B8\E0\A7\87\E0\A6\AA\E0\A7\8D\E0\A6\9F\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\85\E0\A6\95\E0\A7\8D\E0\A6\9F\E0\A7\8B\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\A8\E0\A6\AD\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\A1\E0\A6\BF\E0\A6\B8\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B8\E0\A6\95\E0\A6\BE\E0\A6\B2\00\E0\A6\AC\E0\A6\BF\E0\A6\95\E0\A6\BE\E0\A6\B2\00%A %d %b %Y %I:%M:%S %p %Z\00%A %d %b %Y\00\E0\A6\B8\E0\A7\87\E0\A6\AA\E0\A7\8D\E0\A6\9F\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\B0\00\E0\A6\AA\E0\A7\82\E0\A6\B0\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B9\E0\A7\8D\E0\A6\A3\00\E0\A6\85\E0\A6\AA\E0\A6\B0\E0\A6\BE\E0\A6\B9\E0\A7\8D\E0\A6\A3\00sul\00lun\00meu\00mer\00yao\00gwe\00sad\00meurzh\00merc'her\00yaou\00gwener\00sadorn\00Gen \00C'hw\00Meu \00Ebr \00Mae \00Eve \00Gou \00Eos \00Gwe \00Her \00Du \00Ker \00Genver\00C'hwevrer\00Meurzh\00Ebrel\00Mae\00Mezheven\00Gouere\00Eost\00Gwengolo\00Here\00Du\00Kerzu\00 \00D'ar %A %d a viz %B %Y\00%Ie%M:%S %p\00Ned\00Pon\00Uto\00Sri\00\C8et\00Pet\00Sub\00Nedjelja\00Ponedjeljak\00Utorak\00Srijeda\00\C8etvrtak\00Petak\00Subota\00Maj\00Januar\00Februar\00Mart\00Juni\00Juli\00Septembar\00Oktobar\00Novembar\00Decembar\00\C4\8Cet\00\C4\8Cetvrtak\00dg\00dl\00dt\00dc\00dj\00dv\00ds\00diumenge\00dilluns\00dimarts\00dimecres\00dijous\00divendres\00dissabte\00gen\00feb\00mar\00abr\00mai\00jun\00jul\00ago\00set\00oct\00nov\00des\00gener\00febrer\00mar\E7\00abril\00maig\00juny\00juliol\00agost\00setembre\00octubre\00novembre\00desembre\00mar\C3\A7\00Ne\00Po\00\DAt\00St\00\C8t\00P\E1\00Ned\ECle\00Pond\ECl\ED\00\DAter\FD\00St\F8eda\00\C8tvrtek\00P\E1tek\00Sobota\00led\00\FAno\00b\F8e\00dub\00kv\EC\00\E8en\00\E8ec\00srp\00z\E1\F8\00\F8\EDj\00lis\00pro\00leden\00\FAnor\00b\F8ezen\00duben\00kv\ECten\00\E8erven\00\E8ervenec\00srpen\00z\E1\F8\ED\00\F8\EDjen\00listopad\00prosinec\00%a\A0%e.\A0%B\A0%Y,\A0%H:%M:%S\A0%Z\00%I:%M:%S\00\C3\9At\00\C4\8Ct\00P\C3\A1\00Ned\C4\9Ble\00Pond\C4\9Bl\C3\AD\00\C3\9Ater\C3\BD\00St\C5\99eda\00\C4\8Ctvrtek\00P\C3\A1tek\00\C3\BAno\00b\C5\99e\00kv\C4\9B\00\C4\8Den\00\C4\8Dec\00z\C3\A1\C5\99\00\C5\99\C3\ADj\00\C3\BAnor\00b\C5\99ezen\00kv\C4\9Bten\00\C4\8Derven\00\C4\8Dervenec\00z\C3\A1\C5\99\C3\AD\00\C5\99\C3\ADjen\00%a\C2\A0%e.\C2\A0%B\C2\A0%Y,\C2\A0%H:%M:%S\C2\A0%Z\00Sul\00Llu\00Maw\00Mer\00Iau\00Gwe\00Sad\00Llun\00Mawrth\00Mercher\00Gwener\00Sadwrn\00Ion\00Chw\00Ebr\00Mai\00Meh\00Gor\00Aws\00Med\00Hyd\00Tach\00Rha\00Ionawr\00Chwefror\00Ebrill\00Mehefin\00Gorffennaf\00Awst\00Medi\00Hydref\00Tachwedd\00Rhagfyr\00Dydd %A %d a viz %B %Y %T %Z\00%d.%m.%y\00s\F8n\00man\00tir\00ons\00tor\00fre\00l\F8r\00s\F8ndag\00mandag\00tirsdag\00onsdag\00torsdag\00fredag\00l\F8rdag\00jan\00apr\00maj\00aug\00sep\00okt\00dec\00januar\00februar\00marts\00april\00juni\00juli\00august\00september\00oktober\00november\00december\00%d-%m-%Y\00s\C3\B8n\00l\C3\B8r\00s\C3\B8ndag\00l\C3\B8rdag\00Son\00Die\00Mit\00Don\00Fre\00Sam\00Sonntag\00Montag\00Dienstag\00Mittwoch\00Donnerstag\00Freitag\00Samstag\00J\E4n\00M\E4r\00Dez\00J\E4nner\00Feber\00M\E4rz\00Dezember\00%Y-%m-%d\00J\C3\A4n\00M\C3\A4r\00J\C3\A4nner\00M\C3\A4rz\00\CA\F5\F1\00\C4\E5\F5\00\D4\F1\E9\00\D4\E5\F4\00\D0\E5\EC\00\D0\E1\F1\00\D3\E1\E2\00\CA\F5\F1\E9\E1\EA\DE\00\C4\E5\F5\F4\DD\F1\E1\00\D4\F1\DF\F4\E7\00\D4\E5\F4\DC\F1\F4\E7\00\D0\DD\EC\F0\F4\E7\00\D0\E1\F1\E1\F3\EA\E5\F5\DE\00\D3\DC\E2\E2\E1\F4\EF\00\C9\E1\ED\00\D6\E5\E2\00\CC\DC\F1\00\C1\F0\F1\00\CC\DC\E9\00\C9\EF\FD\ED\00\C9\EF\FD\EB\00\C1\FD\E3\00\D3\E5\F0\00\CF\EA\F4\00\CD\EF\DD\00\C4\E5\EA\00\C9\E1\ED\EF\F5\DC\F1\E9\EF\F2\00\D6\E5\E2\F1\EF\F5\DC\F1\E9\EF\F2\00\CC\DC\F1\F4\E9\EF\F2\00\C1\F0\F1\DF\EB\E9\EF\F2\00\CC\DC\E9\EF\F2\00\C9\EF\FD\ED\E9\EF\F2\00\C9\EF\FD\EB\E9\EF\F2\00\C1\FD\E3\EF\F5\F3\F4\EF\F2\00\D3\E5\F0\F4\DD\EC\E2\F1\E9\EF\F2\00\CF\EA\F4\FE\E2\F1\E9\EF\F2\00\CD\EF\DD\EC\E2\F1\E9\EF\F2\00\C4\E5\EA\DD\EC\E2\F1\E9\EF\F2\00\CE\9A\CF\85\CF\81\00\CE\94\CE\B5\CF\85\00\CE\A4\CF\81\CE\B9\00\CE\A4\CE\B5\CF\84\00\CE\A0\CE\B5\CE\BC\00\CE\A0\CE\B1\CF\81\00\CE\A3\CE\B1\CE\B2\00\CE\9A\CF\85\CF\81\CE\B9\CE\B1\CE\BA\CE\AE\00\CE\94\CE\B5\CF\85\CF\84\CE\AD\CF\81\CE\B1\00\CE\A4\CF\81\CE\AF\CF\84\CE\B7\00\CE\A4\CE\B5\CF\84\CE\AC\CF\81\CF\84\CE\B7\00\CE\A0\CE\AD\CE\BC\CF\80\CF\84\CE\B7\00\CE\A0\CE\B1\CF\81\CE\B1\CF\83\CE\BA\CE\B5\CF\85\CE\AE\00\CE\A3\CE\AC\CE\B2\CE\B2\CE\B1\CF\84\CE\BF\00\CE\99\CE\B1\CE\BD\00\CE\A6\CE\B5\CE\B2\00\CE\9C\CE\AC\CF\81\00\CE\91\CF\80\CF\81\00\CE\9C\CE\AC\CE\B9\00\CE\99\CE\BF\CF\8D\CE\BD\00\CE\99\CE\BF\CF\8D\CE\BB\00\CE\91\CF\8D\CE\B3\00\CE\A3\CE\B5\CF\80\00\CE\9F\CE\BA\CF\84\00\CE\9D\CE\BF\CE\AD\00\CE\94\CE\B5\CE\BA\00\CE\99\CE\B1\CE\BD\CE\BF\CF\85\CE\AC\CF\81\CE\B9\CE\BF\CF\82\00\CE\A6\CE\B5\CE\B2\CF\81\CE\BF\CF\85\CE\AC\CF\81\CE\B9\CE\BF\CF\82\00\CE\9C\CE\AC\CF\81\CF\84\CE\B9\CE\BF\CF\82\00\CE\91\CF\80\CF\81\CE\AF\CE\BB\CE\B9\CE\BF\CF\82\00\CE\9C\CE\AC\CE\B9\CE\BF\CF\82\00\CE\99\CE\BF\CF\8D\CE\BD\CE\B9\CE\BF\CF\82\00\CE\99\CE\BF\CF\8D\CE\BB\CE\B9\CE\BF\CF\82\00\CE\91\CF\8D\CE\B3\CE\BF\CF\85\CF\83\CF\84\CE\BF\CF\82\00\CE\A3\CE\B5\CF\80\CF\84\CE\AD\CE\BC\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00\CE\9F\CE\BA\CF\84\CF\8E\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00\CE\9D\CE\BF\CE\AD\CE\BC\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00\CE\94\CE\B5\CE\BA\CE\AD\CE\BC\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00%a %d %b %Y %r %Z\00%Y-%m-%dT%T %Z\00%A, %B %d, %Y %p%I:%M:%S %Z\00%A, %B %d, %Y\00%I:%M:%S %Z\00%p%I:%M:%S %Z\00%A, %d %B, %Y %I:%M:%S %p %Z\00%A, %d %B, %Y\00%A %d,%B,%Y %I:%M:%S %p %Z\00%A %d,%B,%Y\00%m/%d/%Y\00dim\00\C4\B5a\C5\AD\00ven\00sab\00diman\C4\89o\00lundo\00mardo\00merkredo\00\C4\B5a\C5\ADdo\00vendredo\00sabato\00A\C5\ADg\00Januaro\00Februaro\00Marto\00Aprilo\00Majo\00Junio\00Julio\00A\C5\ADgusto\00Septembro\00Oktobro\00Novembro\00Decembro\00%a %d %b %Y %T %z\00dom\00mi\E9\00jue\00vie\00s\E1b\00domingo\00lunes\00martes\00mi\E9rcoles\00jueves\00viernes\00s\E1bado\00ene\00dic\00enero\00febrero\00marzo\00mayo\00junio\00julio\00agosto\00septiembre\00noviembre\00diciembre\00mi\C3\A9\00s\C3\A1b\00mi\C3\A9rcoles\00s\C3\A1bado\00P\00E\00T\00K\00N\00R\00L\00p\FChap\E4ev\00esmasp\E4ev\00teisip\E4ev\00kolmap\E4ev\00neljap\E4ev\00reede\00laup\E4ev\00jaan \00veebr\00m\E4rts\00apr \00mai \00juuni\00juuli\00aug \00sept \00okt \00nov \00dets \00jaanuar\00veebruar\00aprill\00oktoober\00detsember\00p\C3\BChap\C3\A4ev\00esmasp\C3\A4ev\00teisip\C3\A4ev\00kolmap\C3\A4ev\00neljap\C3\A4ev\00laup\C3\A4ev\00m\C3\A4rts\00ig.\00al.\00ar.\00az.\00og.\00or.\00lr.\00igandea\00astelehena\00asteartea\00asteazkena\00osteguna\00ostirala\00larunbata\00urt\00ots\00api\00eka\00uzt\00abu\00ira\00urr\00aza\00abe\00urtarrila\00otsaila\00martxoa\00apirila\00maiatza\00ekaina\00uztaila\00abuztua\00iraila\00urria\00azaroa\00abendua\00%y-%m-%d %T %Z\00%a, %Y.eko %bren %da\00\DB\8C.\00\D8\AF.\00\D8\B3.\00\DA\86.\00\D9\BE.\00\D8\AC.\00\D8\B4.\00\DB\8C\DA\A9\E2\80\8C\D8\B4\D9\86\D8\A8\D9\87\00\D8\AF\D9\88\D8\B4\D9\86\D8\A8\D9\87\00\D8\B3\D9\87\E2\80\8C\D8\B4\D9\86\D8\A8\D9\87\00\DA\86\D9\87\D8\A7\D8\B1\D8\B4\D9\86\D8\A8\D9\87\00\D9\BE\D9\86\D8\AC\E2\80\8C\D8\B4\D9\86\D8\A8\D9\87\00\D8\AC\D9\85\D8\B9\D9\87\00\D8\B4\D9\86\D8\A8\D9\87\00\DA\98\D8\A7\D9\86\00\D9\81\D9\88\D8\B1\00\D8\A2\D9\88\D8\B1\00\D9\85\D9\80\D9\87\00\DA\98\D9\88\D9\86\00\DA\98\D9\88\DB\8C\00\D8\A7\D9\88\D8\AA\00\D8\B3\D9\BE\D8\AA\00\D8\A7\D9\83\D8\AA\00\D9\86\D9\88\D8\A7\00\D8\AF\D8\B3\D8\A7\00\DA\98\D8\A7\D9\86\D9\88\DB\8C\D9\87\00\D9\81\D9\88\D8\B1\DB\8C\D9\87\00\D8\A2\D9\88\D8\B1\DB\8C\D9\84\00\D9\85\D9\87\00\DA\98\D9\88\D8\A6\D9\86\00\DA\98\D9\88\D8\A6\DB\8C\D9\87\00\D8\B3\D9\BE\D8\AA\D8\A7\D9\85\D8\A8\D8\B1\00\D8\A7\D9\83\D8\AA\D8\A8\D8\B1\00\D9\86\D9\88\D8\A7\D9\85\D8\A8\D8\B1\00\D8\AF\D8\B3\D8\A7\D9\85\D8\A8\D8\B1\00\D8\B5\D8\A8\D8\AD\00\D8\B9\D8\B5\D8\B1\00\E2\80\AB%A %e %B %Y\D8\8C %I:%M:%S %p\E2\80\AC\00%Y/%m/%d\00\E2\80\AB%I:%M:%S %p\E2\80\AC\00su\00ma\00ti\00ke\00to\00pe\00la\00sunnuntai\00maanantai\00tiistai\00keskiviikko\00torstai\00perjantai\00lauantai\00tammi\A0\00helmi\A0\00maalis\00huhti\A0\00touko\A0\00kes\E4\A0\A0\00hein\E4\A0\00elo\A0\A0\A0\00syys\A0\A0\00loka\A0\A0\00marras\00joulu\A0\00tammikuu\00helmikuu\00maaliskuu\00huhtikuu\00toukokuu\00kes\E4kuu\00hein\E4kuu\00elokuu\00syyskuu\00lokakuu\00marraskuu\00joulukuu\00%a %e %B %Y %T\00tammi\C2\A0\00helmi\C2\A0\00huhti\C2\A0\00touko\C2\A0\00kes\C3\A4\C2\A0\C2\A0\00hein\C3\A4\C2\A0\00elo\C2\A0\C2\A0\C2\A0\00syys\C2\A0\C2\A0\00loka\C2\A0\C2\A0\00joulu\C2\A0\00kes\C3\A4kuu\00hein\C3\A4kuu\00sun\00m\E1n\00t\FDs\00mik\00h\F3s\00fr\ED\00ley\00sunnudagur\00m\E1nadagur\00t\FDsdagur\00mikudagur\00h\F3sdagur\00fr\EDggjadagur\00leygardagur\00mars\00apr\EDl\00desember\00%d/%m-%Y\00m\C3\A1n\00t\C3\BDs\00h\C3\B3s\00fr\C3\AD\00m\C3\A1nadagur\00t\C3\BDsdagur\00h\C3\B3sdagur\00fr\C3\ADggjadagur\00apr\C3\ADl\00jeu\00sam\00dimanche\00lundi\00mardi\00mercredi\00jeudi\00vendredi\00samedi\00f\E9v\00avr\00jui\00ao\FB\00d\E9c\00janvier\00f\E9vrier\00avril\00juin\00juillet\00ao\FBt\00septembre\00octobre\00d\E9cembre\00f\C3\A9v\00ao\C3\BB\00d\C3\A9c\00f\C3\A9vrier\00ao\C3\BBt\00d\C3\A9cembre\00%d. %m. %y\00Domh\00Luan\00M\E1irt\00C\E9ad\00D\E9ar\00Aoine\00Sath\00D\E9 Domhnaigh\00D\E9 Luain\00D\E9 M\E1irt\00D\E9 C\E9adaoin\00D\E9ardaoin\00D\E9 hAoine\00D\E9 Sathairn\00Ean\00Feabh\00M\E1rta\00Aib\00Beal\00Meith\00I\FAil\00L\FAn\00MF\F3mh\00DF\F3mh\00Samh\00Noll\00Ean\E1ir\00Feabhra\00Aibre\E1n\00M\ED na Bealtaine\00L\FAnasa\00Me\E1n F\F3mhair\00Deireadh F\F3mhair\00M\ED na Samhna\00M\ED na Nollag\00M\C3\A1irt\00C\C3\A9ad\00D\C3\A9ar\00D\C3\A9 Domhnaigh\00D\C3\A9 Luain\00D\C3\A9 M\C3\A1irt\00D\C3\A9 C\C3\A9adaoin\00D\C3\A9ardaoin\00D\C3\A9 hAoine\00D\C3\A9 Sathairn\00M\C3\A1rta\00I\C3\BAil\00L\C3\BAn\00MF\C3\B3mh\00DF\C3\B3mh\00Ean\C3\A1ir\00Aibre\C3\A1n\00M\C3\AD na Bealtaine\00L\C3\BAnasa\00Me\C3\A1n F\C3\B3mhair\00Deireadh F\C3\B3mhair\00M\C3\AD na Samhna\00M\C3\AD na Nollag\00Dido\00Dilu\00Dim\00Dic\00Diar\00Diha\00Disa\00Did\F2mhnaich\00Diluain\00Dim\E0irt\00Diciadain\00Diardaoin\00Dihaoine\00Disathairne\00Fao\00Gea\00M\E0r\00Gib\00Mh\E0\00OgM\00luc\00L\F9n\00Dam\00D\F9b\00Am Faoilteach\00An Gearran\00Am M\E0rt\00An Giblean\00A' Mh\E0igh\00An t-Mh\ECos\00An t-luchar\00An L\F9nasdal\00An t-Sultain\00An Damhair\00An t-Samhain\00An D\F9bhlachd\00Did\C3\B2mhnaich\00Dim\C3\A0irt\00M\C3\A0r\00Mh\C3\A0\00L\C3\B9n\00D\C3\B9b\00Am M\C3\A0rt\00A' Mh\C3\A0igh\00An t-Mh\C3\ACos\00An L\C3\B9nasdal\00An D\C3\B9bhlachd\00Dom\00Lun\00M\E9r\00Xov\00Ven\00S\E1b\00Domingo\00Luns\00Martes\00M\E9rcores\00Xoves\00Venres\00S\E1bado\00Xan\00Abr\00Xu\F1\00Xul\00Ago\00Set\00Out\00Xaneiro\00Febreiro\00Marzo\00Abril\00Maio\00Xu\F1o\00Xullo\00Agosto\00Setembro\00Outubro\00M\C3\A9r\00S\C3\A1b\00M\C3\A9rcores\00S\C3\A1bado\00Xu\C3\B1\00Xu\C3\B1o\00Jed\00Jel\00Jem\00Jerc\00Jerd\00Jeh\00Jes\00Jedoonee\00Jelhein\00Jemayrt\00Jercean\00Jerdein\00Jeheiney\00Jesarn\00J-guer\00T-arree\00Mayrnt\00Avrril\00Boaldyn\00M-souree\00J-souree\00Luanistyn\00M-fouyir\00J-fouyir\00M.Houney\00M.Nollick\00Jerrey-geuree\00Toshiaght-arree\00Averil\00Mean-souree\00Jerrey-souree\00Mean-fouyir\00Jerrey-fouyir\00Mee Houney\00Mee ny Nollick\00\E0'\00\E1'\00\E2'\00\E3'\00\E4'\00\E5'\00\F9'\00\F8\E0\F9\E5\EF\00\F9\F0\E9\00\F9\EC\E9\F9\E9\00\F8\E1\E9\F2\E9\00\E7\EE\E9\F9\E9\00\F9\E9\F9\E9\00\F9\E1\FA\00\E9\F0\E5\00\F4\E1\F8\00\EE\F8\F5\00\E0\F4\F8\00\EE\E0\E9\00\E9\E5\F0\00\E9\E5\EC\00\E0\E5\E2\00\F1\F4\E8\00\E0\E5\F7\00\F0\E5\E1\00\E3\F6\EE\00\E9\F0\E5\E0\F8\00\F4\E1\F8\E5\E0\F8\00\E0\F4\F8\E9\EC\00\E9\E5\F0\E9\00\E9\E5\EC\E9\00\E0\E5\E2\E5\F1\E8\00\F1\F4\E8\EE\E1\F8\00\E0\E5\F7\E8\E5\E1\F8\00\F0\E5\E1\EE\E1\F8\00\E3\F6\EE\E1\F8\00%Z %H:%M:%S %Y %b %d %a\00%I:%M:%S %P\00\D7\90'\00\D7\91'\00\D7\92'\00\D7\93'\00\D7\94'\00\D7\95'\00\D7\A9'\00\D7\A8\D7\90\D7\A9\D7\95\D7\9F\00\D7\A9\D7\A0\D7\99\00\D7\A9\D7\9C\D7\99\D7\A9\D7\99\00\D7\A8\D7\91\D7\99\D7\A2\D7\99\00\D7\97\D7\9E\D7\99\D7\A9\D7\99\00\D7\A9\D7\99\D7\A9\D7\99\00\D7\A9\D7\91\D7\AA\00\D7\99\D7\A0\D7\95\00\D7\A4\D7\91\D7\A8\00\D7\9E\D7\A8\D7\A5\00\D7\90\D7\A4\D7\A8\00\D7\9E\D7\90\D7\99\00\D7\99\D7\95\D7\A0\00\D7\99\D7\95\D7\9C\00\D7\90\D7\95\D7\92\00\D7\A1\D7\A4\D7\98\00\D7\90\D7\95\D7\A7\00\D7\A0\D7\95\D7\91\00\D7\93\D7\A6\D7\9E\00\D7\99\D7\A0\D7\95\D7\90\D7\A8\00\D7\A4\D7\91\D7\A8\D7\95\D7\90\D7\A8\00\D7\90\D7\A4\D7\A8\D7\99\D7\9C\00\D7\99\D7\95\D7\A0\D7\99\00\D7\99\D7\95\D7\9C\D7\99\00\D7\90\D7\95\D7\92\D7\95\D7\A1\D7\98\00\D7\A1\D7\A4\D7\98\D7\9E\D7\91\D7\A8\00\D7\90\D7\95\D7\A7\D7\98\D7\95\D7\91\D7\A8\00\D7\A0\D7\95\D7\91\D7\9E\D7\91\D7\A8\00\D7\93\D7\A6\D7\9E\D7\91\D7\A8\00\E0\A4\B0\E0\A4\B5\E0\A4\BF \00\E0\A4\B8\E0\A5\8B\E0\A4\AE \00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B2 \00\E0\A4\AC\E0\A5\81\E0\A4\A7 \00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81 \00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0 \00\E0\A4\B6\E0\A4\A8\E0\A4\BF \00\E0\A4\B0\E0\A4\B5\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\B8\E0\A5\8B\E0\A4\AE\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B2\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\AC\E0\A5\81\E0\A4\A7\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\B6\E0\A4\A8\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\9C\E0\A4\A8\E0\A4\B5\E0\A4\B0\E0\A5\80\00\E0\A4\AB\E0\A4\BC\E0\A4\B0\E0\A4\B5\E0\A4\B0\E0\A5\80\00\E0\A4\AE\E0\A4\BE\E0\A4\B0\E0\A5\8D\E0\A4\9A\00\E0\A4\85\E0\A4\AA\E0\A5\8D\E0\A4\B0\E0\A5\87\E0\A4\B2\00\E0\A4\AE\E0\A4\88\00\E0\A4\9C\E0\A5\82\E0\A4\A8\00\E0\A4\9C\E0\A5\81\E0\A4\B2\E0\A4\BE\E0\A4\88\00\E0\A4\85\E0\A4\97\E0\A4\B8\E0\A5\8D\E0\A4\A4\00\E0\A4\B8\E0\A4\BF\E0\A4\A4\E0\A4\AE\E0\A5\8D\E0\A4\AC\E0\A4\B0\00\E0\A4\85\E0\A4\95\E0\A5\8D\E0\A4\9F\E0\A5\82\E0\A4\AC\E0\A4\B0\00\E0\A4\A8\E0\A4\B5\E0\A4\AE\E0\A5\8D\E0\A4\AC\E0\A4\B0\00\E0\A4\A6\E0\A4\BF\E0\A4\B8\E0\A4\AE\E0\A5\8D\E0\A4\AC\E0\A4\B0\00\E0\A4\AA\E0\A5\82\E0\A4\B0\E0\A5\8D\E0\A4\B5\E0\A4\BE\E0\A4\B9\E0\A5\8D\E0\A4\A8\00\E0\A4\85\E0\A4\AA\E0\A4\B0\E0\A4\BE\E0\A4\B9\E0\A5\8D\E0\A4\A8\00Sij\00Vel\00O\BEu\00Tra\00Svi\00Lip\00Srp\00Kol\00Ruj\00Lis\00Stu\00Pro\00Sije\E8anj\00Velja\E8a\00O\BEujak\00Travanj\00Svibanj\00Lipanj\00Srpanj\00Kolovoz\00Rujan\00Listopad\00Studeni\00Prosinac\00O\C5\BEu\00Sije\C4\8Danj\00Velja\C4\8Da\00O\C5\BEujak\00v\00h\00k\00sze\00cs\00p\00szo\00vas\E1rnap\00h\E9tf\F5\00kedd\00szerda\00cs\FCt\F6rt\F6k\00p\E9ntek\00szombat\00m\E1r\00\E1pr\00m\E1j\00j\FAn\00j\FAl\00janu\E1r\00febru\E1r\00m\E1rcius\00\E1prilis\00m\E1jus\00j\FAnius\00j\FAlius\00augusztus\00szeptember\00okt\F3ber\00%Y. %b. %e., %A, %H.%M.%S %Z\00%H.%M.%S\00vas\C3\A1rnap\00h\C3\A9tf\C5\91\00cs\C3\BCt\C3\B6rt\C3\B6k\00p\C3\A9ntek\00m\C3\A1r\00\C3\A1pr\00m\C3\A1j\00j\C3\BAn\00j\C3\BAl\00janu\C3\A1r\00febru\C3\A1r\00m\C3\A1rcius\00\C3\A1prilis\00m\C3\A1jus\00j\C3\BAnius\00j\C3\BAlius\00okt\C3\B3ber\00\CE\F1\CF\00\BA\F1\CF\00\BA\F1\F9\00\E2\F1\F9\00\D0\DD\B7\00\E0\F5\F1\00\DE\B5\C3\00\CE\C7\F1\B3\CF\C7\00\BA\F1\CF\E1\F5\DF\B3\B5\C3\C7\00\BA\F1\BB\F9\DF\B3\B5\C3\C7\00\E2\E1\F1\BB\F9\DF\B3\B5\C3\C7\00\D0\C7\DD\B7\DF\B3\B5\C3\C7\00\E0\F5\F1\B5\B3\C3\00\DE\B3\B5\B3\C3\00\D0\DD\ED\00\F6\EF\F1\00\D8\B3\F1\00\B2\E5\F1\00\D8\B3\DB\00\D0\DD\EB\00\D0\C9\EB\00\FA\B7\EB\00\EA\BB\E5\00\D0\E1\CF\00\DC\D9\B5\00\B8\BB\CF\00\D0\E1\F5\DD\ED\B3\F1\C7\00\F6\BB\EF\F1\ED\B3\F1\C7\00\D8\B3\F1\EF\C7\00\B2\E5\F1\C7\C9\C7\00\D8\B3\DB\C7\EB\C7\00\D0\E1\F5\DD\C7\EB\C7\00\D0\E1\F5\C9\C7\EB\C7\00\FA\B7\E1\EB\EF\E1\EB\C7\00\EA\BB\E5\EF\BB\D9\B5\BB\F1\C7\00\D0\E1\CF\EF\BB\D9\B5\BB\F1\C7\00\DC\E1\DB\BB\D9\B5\BB\F1\C7\00\B8\BB\CF\EF\BB\D9\B5\BB\F1\C7\00\D4\BF\D6\80\D5\AF\00\D4\B5\D6\80\D5\AF\00\D4\B5\D6\80\D6\84\00\D5\89\D6\80\D6\84\00\D5\80\D5\B6\D5\A3\00\D5\88\D6\82\D6\80\00\D5\87\D5\A2\D5\A9\00\D4\BF\D5\AB\D6\80\D5\A1\D5\AF\D5\AB\00\D4\B5\D6\80\D5\AF\D5\B8\D6\82\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D4\B5\D6\80\D5\A5\D6\84\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D5\89\D5\B8\D6\80\D5\A5\D6\84\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D5\80\D5\AB\D5\B6\D5\A3\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D5\88\D6\82\D6\80\D5\A2\D5\A1\D5\A9\00\D5\87\D5\A1\D5\A2\D5\A1\D5\A9\00\D5\80\D5\B6\D5\BE\00\D5\93\D5\BF\D6\80\00\D5\84\D5\A1\D6\80\00\D4\B1\D5\BA\D6\80\00\D5\84\D5\A1\D5\B5\00\D5\80\D5\B6\D5\BD\00\D5\80\D5\AC\D5\BD\00\D5\95\D5\A3\D5\BD\00\D5\8D\D5\A5\D5\BA\00\D5\80\D5\B8\D5\AF\00\D5\86\D5\B4\D5\A2\00\D4\B4\D5\A5\D5\AF\00\D5\80\D5\B8\D6\82\D5\B6\D5\BE\D5\A1\D6\80\D5\AB\00\D5\93\D5\A5\D5\BF\D6\80\D5\BE\D5\A1\D6\80\D5\AB\00\D5\84\D5\A1\D6\80\D5\BF\D5\AB\00\D4\B1\D5\BA\D6\80\D5\AB\D5\AC\D5\AB\00\D5\84\D5\A1\D5\B5\D5\AB\D5\BD\D5\AB\00\D5\80\D5\B8\D6\82\D5\B6\D5\AB\D5\BD\D5\AB\00\D5\80\D5\B8\D6\82\D5\AC\D5\AB\D5\BD\D5\AB\00\D5\95\D5\A3\D5\B8\D5\BD\D5\BF\D5\B8\D5\BD\D5\AB\00\D5\8D\D5\A5\D5\BA\D5\BF\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00\D5\80\D5\B8\D5\AF\D5\BF\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00\D5\86\D5\B8\D5\B5\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00\D4\B4\D5\A5\D5\AF\D5\BF\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00Min\00Sel\00Rab\00Kam\00Jum\00Sab\00Minggu\00Senin\00Selasa\00Rabu\00Kamis\00Jumat\00Sabtu\00Peb\00Agu\00Januari\00Pebruari\00Maret\00Agustus\00M\E1n\00\DEri\00Mi\F0\00Fim\00F\F6s\00Lau\00Sunnudagur\00M\E1nudagur\00\DEri\F0judagur\00Mi\F0vikudagur\00Fimmtudagur\00F\F6studagur\00Laugardagur\00Ma\ED\00J\FAn\00J\FAl\00\C1g\FA\00N\F3v\00Jan\FAar\00Febr\FAar\00Mars\00Apr\EDl\00J\FAn\ED\00J\FAl\ED\00\C1g\FAst\00Okt\F3ber\00N\F3vember\00fh\00eh\00%a %e.%b %Y, %T %Z\00%a %e.%b %Y\00M\C3\A1n\00\C3\9Eri\00Mi\C3\B0\00F\C3\B6s\00M\C3\A1nudagur\00\C3\9Eri\C3\B0judagur\00Mi\C3\B0vikudagur\00F\C3\B6studagur\00Ma\C3\AD\00J\C3\BAn\00J\C3\BAl\00\C3\81g\C3\BA\00N\C3\B3v\00Jan\C3\BAar\00Febr\C3\BAar\00Apr\C3\ADl\00J\C3\BAn\C3\AD\00J\C3\BAl\C3\AD\00\C3\81g\C3\BAst\00Okt\C3\B3ber\00N\C3\B3vember\00gio\00domenica\00luned\EC\00marted\EC\00mercoled\EC\00gioved\EC\00venerd\EC\00mag\00giu\00lug\00ott\00gennaio\00febbraio\00aprile\00maggio\00giugno\00luglio\00settembre\00ottobre\00dicembre\00luned\C3\AC\00marted\C3\AC\00mercoled\C3\AC\00gioved\C3\AC\00venerd\C3\AC\00\E6\97\A5\00\E6\9C\88\00\E7\81\AB\00\E6\B0\B4\00\E6\9C\A8\00\E9\87\91\00\E5\9C\9F\00\E6\97\A5\E6\9B\9C\E6\97\A5\00\E6\9C\88\E6\9B\9C\E6\97\A5\00\E7\81\AB\E6\9B\9C\E6\97\A5\00\E6\B0\B4\E6\9B\9C\E6\97\A5\00\E6\9C\A8\E6\9B\9C\E6\97\A5\00\E9\87\91\E6\9B\9C\E6\97\A5\00\E5\9C\9F\E6\9B\9C\E6\97\A5\00 1\E6\9C\88\00 2\E6\9C\88\00 3\E6\9C\88\00 4\E6\9C\88\00 5\E6\9C\88\00 6\E6\9C\88\00 7\E6\9C\88\00 8\E6\9C\88\00 9\E6\9C\88\0010\E6\9C\88\0011\E6\9C\88\0012\E6\9C\88\001\E6\9C\88\002\E6\9C\88\003\E6\9C\88\004\E6\9C\88\005\E6\9C\88\006\E6\9C\88\007\E6\9C\88\008\E6\9C\88\009\E6\9C\88\00\E5\8D\88\E5\89\8D\00\E5\8D\88\E5\BE\8C\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %H\E6\99\82%M\E5\88\86%S\E7\A7\92\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5\00%H\E6\99\82%M\E5\88\86%S\E7\A7\92\00%p%I\E6\99\82%M\E5\88\86%S\E7\A7\92\00+:2:1990/01/01:+*:\E5\B9\B3\E6\88\90:%EC%Ey\E5\B9\B4\00+:1:1989/01/08:1989/12/31:\E5\B9\B3\E6\88\90:%EC\E5\85\83\E5\B9\B4\00+:2:1927/01/01:1989/01/07:\E6\98\AD\E5\92\8C:%EC%Ey\E5\B9\B4\00+:1:1926/12/25:1926/12/31:\E6\98\AD\E5\92\8C:%EC\E5\85\83\E5\B9\B4\00+:2:1913/01/01:1926/12/24:\E5\A4\A7\E6\AD\A3:%EC%Ey\E5\B9\B4\00+:2:1912/07/30:1912/12/31:\E5\A4\A7\E6\AD\A3:%EC\E5\85\83\E5\B9\B4\00+:6:1873/01/01:1912/07/29:\E6\98\8E\E6\B2\BB:%EC%Ey\E5\B9\B4\00+:1:0001/01/01:1872/12/31:\E8\A5\BF\E6\9A\A6:%EC%Ey\E5\B9\B4\00+:1:-0001/12/31:-*:\E7\B4\80\E5\85\83\E5\89\8D:%EC%Ey\E5\B9\B4\00\00%EY%m\E6\9C\88%d\E6\97\A5\00\E3\80\87\00\E4\B8\80\00\E4\BA\8C\00\E4\B8\89\00\E5\9B\9B\00\E4\BA\94\00\E5\85\AD\00\E4\B8\83\00\E5\85\AB\00\E4\B9\9D\00\E5\8D\81\00\E5\8D\81\E4\B8\80\00\E5\8D\81\E4\BA\8C\00\E5\8D\81\E4\B8\89\00\E5\8D\81\E5\9B\9B\00\E5\8D\81\E4\BA\94\00\E5\8D\81\E5\85\AD\00\E5\8D\81\E4\B8\83\00\E5\8D\81\E5\85\AB\00\E5\8D\81\E4\B9\9D\00\E4\BA\8C\E5\8D\81\00\E4\BA\8C\E5\8D\81\E4\B8\80\00\E4\BA\8C\E5\8D\81\E4\BA\8C\00\E4\BA\8C\E5\8D\81\E4\B8\89\00\E4\BA\8C\E5\8D\81\E5\9B\9B\00\E4\BA\8C\E5\8D\81\E4\BA\94\00\E4\BA\8C\E5\8D\81\E5\85\AD\00\E4\BA\8C\E5\8D\81\E4\B8\83\00\E4\BA\8C\E5\8D\81\E5\85\AB\00\E4\BA\8C\E5\8D\81\E4\B9\9D\00\E4\B8\89\E5\8D\81\00\E4\B8\89\E5\8D\81\E4\B8\80\00\E4\B8\89\E5\8D\81\E4\BA\8C\00\E4\B8\89\E5\8D\81\E4\B8\89\00\E4\B8\89\E5\8D\81\E5\9B\9B\00\E4\B8\89\E5\8D\81\E4\BA\94\00\E4\B8\89\E5\8D\81\E5\85\AD\00\E4\B8\89\E5\8D\81\E4\B8\83\00\E4\B8\89\E5\8D\81\E5\85\AB\00\E4\B8\89\E5\8D\81\E4\B9\9D\00\E5\9B\9B\E5\8D\81\00\E5\9B\9B\E5\8D\81\E4\B8\80\00\E5\9B\9B\E5\8D\81\E4\BA\8C\00\E5\9B\9B\E5\8D\81\E4\B8\89\00\E5\9B\9B\E5\8D\81\E5\9B\9B\00\E5\9B\9B\E5\8D\81\E4\BA\94\00\E5\9B\9B\E5\8D\81\E5\85\AD\00\E5\9B\9B\E5\8D\81\E4\B8\83\00\E5\9B\9B\E5\8D\81\E5\85\AB\00\E5\9B\9B\E5\8D\81\E4\B9\9D\00\E4\BA\94\E5\8D\81\00\E4\BA\94\E5\8D\81\E4\B8\80\00\E4\BA\94\E5\8D\81\E4\BA\8C\00\E4\BA\94\E5\8D\81\E4\B8\89\00\E4\BA\94\E5\8D\81\E5\9B\9B\00\E4\BA\94\E5\8D\81\E4\BA\94\00\E4\BA\94\E5\8D\81\E5\85\AD\00\E4\BA\94\E5\8D\81\E4\B8\83\00\E4\BA\94\E5\8D\81\E5\85\AB\00\E4\BA\94\E5\8D\81\E4\B9\9D\00\E5\85\AD\E5\8D\81\00\E5\85\AD\E5\8D\81\E4\B8\80\00\E5\85\AD\E5\8D\81\E4\BA\8C\00\E5\85\AD\E5\8D\81\E4\B8\89\00\E5\85\AD\E5\8D\81\E5\9B\9B\00\E5\85\AD\E5\8D\81\E4\BA\94\00\E5\85\AD\E5\8D\81\E5\85\AD\00\E5\85\AD\E5\8D\81\E4\B8\83\00\E5\85\AD\E5\8D\81\E5\85\AB\00\E5\85\AD\E5\8D\81\E4\B9\9D\00\E4\B8\83\E5\8D\81\00\E4\B8\83\E5\8D\81\E4\B8\80\00\E4\B8\83\E5\8D\81\E4\BA\8C\00\E4\B8\83\E5\8D\81\E4\B8\89\00\E4\B8\83\E5\8D\81\E5\9B\9B\00\E4\B8\83\E5\8D\81\E4\BA\94\00\E4\B8\83\E5\8D\81\E5\85\AD\00\E4\B8\83\E5\8D\81\E4\B8\83\00\E4\B8\83\E5\8D\81\E5\85\AB\00\E4\B8\83\E5\8D\81\E4\B9\9D\00\E5\85\AB\E5\8D\81\00\E5\85\AB\E5\8D\81\E4\B8\80\00\E5\85\AB\E5\8D\81\E4\BA\8C\00\E5\85\AB\E5\8D\81\E4\B8\89\00\E5\85\AB\E5\8D\81\E5\9B\9B\00\E5\85\AB\E5\8D\81\E4\BA\94\00\E5\85\AB\E5\8D\81\E5\85\AD\00\E5\85\AB\E5\8D\81\E4\B8\83\00\E5\85\AB\E5\8D\81\E5\85\AB\00\E5\85\AB\E5\8D\81\E4\B9\9D\00\E4\B9\9D\E5\8D\81\00\E4\B9\9D\E5\8D\81\E4\B8\80\00\E4\B9\9D\E5\8D\81\E4\BA\8C\00\E4\B9\9D\E5\8D\81\E4\B8\89\00\E4\B9\9D\E5\8D\81\E5\9B\9B\00\E4\B9\9D\E5\8D\81\E4\BA\94\00\E4\B9\9D\E5\8D\81\E5\85\AD\00\E4\B9\9D\E5\8D\81\E4\B8\83\00\E4\B9\9D\E5\8D\81\E5\85\AB\00\E4\B9\9D\E5\8D\81\E4\B9\9D\00%EY%m\E6\9C\88%d\E6\97\A5 %H\E6\99\82%M\E5\88\86%S\E7\A7\92\00\CA\C5\C9\00\CF\D2\DB\00\D3\C0\CC\00\CF\C8\E1\00\E1\D6\C8\00\D0\C0\D2\00\DB\C0\C1\00\CA\C5\C9\D2\C0\00\CF\D2\DB\C0\C1\C0\C8\C9\00\D3\C0\CC\DB\C0\C1\C0\C8\C9\00\CF\C8\E1\DB\C0\C1\C0\C8\C9\00\E1\D6\C8\DB\C0\C1\C0\C8\C9\00\D0\C0\D2\C0\D3\CA\C4\C5\C9\00\DB\C0\C1\C0\C8\C9\00\C9\C0\CD\00\C8\C4\C1\00\CC\C0\D2\00\C0\D0\D2\00\CC\C0\C9\00\C9\C5\CD\00\C9\C5\CB\00\C0\C2\C5\00\D3\C4\D8\00\CF\D8\D4\00\CD\CF\C4\00\C3\C4\CA\00\C9\C0\CD\C5\C0\D2\C9\00\C8\C4\C1\C4\D2\C5\C0\CB\C9\00\CC\C0\D2\D4\C9\00\C0\D0\D2\C9\CB\C9\00\CC\C0\C9\D3\C9\00\C9\C5\CD\C9\D3\C9\00\C9\C5\CB\C9\D3\C9\00\C0\C2\C5\C9\D3\D4\CF\00\D3\C4\D8\D4\C4\CC\C1\C4\D2\C9\00\CF\D8\D4\CF\CC\C1\C4\D2\C9\00\CD\CF\C4\CC\C1\C4\D2\C9\00\C3\C4\CA\C4\CC\C1\C4\D2\C9\00%Y \DF\CB\C9\D3 %d %B, %T %Z\00\E1\83\99\E1\83\95\E1\83\98\00\E1\83\9D\E1\83\A0\E1\83\A8\00\E1\83\A1\E1\83\90\E1\83\9B\00\E1\83\9D\E1\83\97\E1\83\AE\00\E1\83\AE\E1\83\A3\E1\83\97\00\E1\83\9E\E1\83\90\E1\83\A0\00\E1\83\A8\E1\83\90\E1\83\91\00\E1\83\99\E1\83\95\E1\83\98\E1\83\A0\E1\83\90\00\E1\83\9D\E1\83\A0\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\A1\E1\83\90\E1\83\9B\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\9D\E1\83\97\E1\83\AE\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\AE\E1\83\A3\E1\83\97\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\9E\E1\83\90\E1\83\A0\E1\83\90\E1\83\A1\E1\83\99\E1\83\94\E1\83\95\E1\83\98\00\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\98\E1\83\90\E1\83\9C\00\E1\83\97\E1\83\94\E1\83\91\00\E1\83\9B\E1\83\90\E1\83\A0\00\E1\83\90\E1\83\9E\E1\83\A0\00\E1\83\9B\E1\83\90\E1\83\98\00\E1\83\98\E1\83\95\E1\83\9C\00\E1\83\98\E1\83\95\E1\83\9A\00\E1\83\90\E1\83\92\E1\83\95\00\E1\83\A1\E1\83\94\E1\83\A5\00\E1\83\9D\E1\83\A5\E1\83\A2\00\E1\83\9C\E1\83\9D\E1\83\94\00\E1\83\93\E1\83\94\E1\83\99\00\E1\83\98\E1\83\90\E1\83\9C\E1\83\95\E1\83\90\E1\83\A0\E1\83\98\00\E1\83\97\E1\83\94\E1\83\91\E1\83\94\E1\83\A0\E1\83\95\E1\83\90\E1\83\9A\E1\83\98\00\E1\83\9B\E1\83\90\E1\83\A0\E1\83\A2\E1\83\98\00\E1\83\90\E1\83\9E\E1\83\A0\E1\83\98\E1\83\9A\E1\83\98\00\E1\83\9B\E1\83\90\E1\83\98\E1\83\A1\E1\83\98\00\E1\83\98\E1\83\95\E1\83\9C\E1\83\98\E1\83\A1\E1\83\98\00\E1\83\98\E1\83\95\E1\83\9A\E1\83\98\E1\83\A1\E1\83\98\00\E1\83\90\E1\83\92\E1\83\95\E1\83\98\E1\83\A1\E1\83\A2\E1\83\9D\00\E1\83\A1\E1\83\94\E1\83\A5\E1\83\A2\E1\83\94\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00\E1\83\9D\E1\83\A5\E1\83\A2\E1\83\9D\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00\E1\83\9C\E1\83\9D\E1\83\94\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00\E1\83\93\E1\83\94\E1\83\99\E1\83\94\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00%Y \E1\83\AC\E1\83\9A\E1\83\98\E1\83\A1 %d %B, %T %Z\00ata\00pin\00sis\00tal\00arf\00sabaat\00ataasinngorneq\00marlunngorneq\00pingasunngorneq\00sisamanngorneq\00tallimanngorneq\00arfininngorneq\00januari\00februari\00martsi\00aprili\00maji\00augustusi\00septemberi\00oktoberi\00novemberi\00decemberi\00%d %b %Y\00\EC\9D\BC\00\EC\9B\94\00\ED\99\94\00\EC\88\98\00\EB\AA\A9\00\EA\B8\88\00\ED\86\A0\00\EC\9D\BC\EC\9A\94\EC\9D\BC\00\EC\9B\94\EC\9A\94\EC\9D\BC\00\ED\99\94\EC\9A\94\EC\9D\BC\00\EC\88\98\EC\9A\94\EC\9D\BC\00\EB\AA\A9\EC\9A\94\EC\9D\BC\00\EA\B8\88\EC\9A\94\EC\9D\BC\00\ED\86\A0\EC\9A\94\EC\9D\BC\00 1\EC\9B\94\00 2\EC\9B\94\00 3\EC\9B\94\00 4\EC\9B\94\00 5\EC\9B\94\00 6\EC\9B\94\00 7\EC\9B\94\00 8\EC\9B\94\00 9\EC\9B\94\0010\EC\9B\94\0011\EC\9B\94\0012\EC\9B\94\00\EC\9D\BC\EC\9B\94\00\EC\9D\B4\EC\9B\94\00\EC\82\BC\EC\9B\94\00\EC\82\AC\EC\9B\94\00\EC\98\A4\EC\9B\94\00\EC\9C\A0\EC\9B\94\00\EC\B9\A0\EC\9B\94\00\ED\8C\94\EC\9B\94\00\EA\B5\AC\EC\9B\94\00\EC\8B\9C\EC\9B\94\00\EC\8B\AD\EC\9D\BC\EC\9B\94\00\EC\8B\AD\EC\9D\B4\EC\9B\94\00\EC\98\A4\EC\A0\84\00\EC\98\A4\ED\9B\84\00%x (%a) %r\00%Y\EB\85\84 %m\EC\9B\94 %d\EC\9D\BC\00%H\EC\8B\9C %M\EB\B6\84 %S\EC\B4\88\00%p %I\EC\8B\9C %M\EB\B6\84 %S\EC\B4\88\00Mth\00Mhr\00Yow\00De Sul\00De Lun\00De Merth\00De Merher\00De Yow\00De Gwener\00De Sadorn\00Gen\00Whe>\00Me\00Evn\00Est\00Gwn\00Hed\00Kev\00Mys Genver\00Mys Whevrel\00Mys Merth\00Mys Ebrel\00Mys Me\00Mys Evan\00Mys Gortheren\00Mye Est\00Mys Gwyngala\00Mys Hedra\00Mys Du\00Mys Kevardhu\00Sk\00Pr\00An\00Tr\00Kt\00Pn\00\D0t\00Sekmadienis\00Pirmadienis\00Antradienis\00Tre\E8iadienis\00Ketvirtadienis\00Penktadienis\00\D0e\F0tadienis\00Sau\00Vas\00Kov\00Bal\00Geg\00Bir\00Lie\00Rgp\00Rgs\00Spa\00Lap\00Grd\00sausio\00vasario\00kovo\00baland\FEio\00gegu\FE\EBs\00bir\FEelio\00liepos\00rugpj\FB\E8io\00rugs\EBjo\00spalio\00lapkri\E8io\00gruod\FEio\00%Y m. %B %d d. %T\00%Y.%m.%d\00\C5\A0t\00Tre\C4\8Diadienis\00\C5\A0e\C5\A1tadienis\00baland\C5\BEio\00gegu\C5\BE\C4\97s\00bir\C5\BEelio\00rugpj\C5\AB\C4\8Dio\00rugs\C4\97jo\00lapkri\C4\8Dio\00gruod\C5\BEio\00Sv\00P\A0\00O\A0\00T\A0\00C\A0\00Pk\00S\A0\00sv\E7tdiena\00pirmdiena\00otrdiena\00tre\F0diena\00ceturtdiena\00piektdiena\00sestdiena\00j\FBn\00j\FBl\00janv\E2ris\00febru\E2ris\00apr\EElis\00maijs\00j\FBnijs\00j\FBlijs\00augusts\00septembris\00oktobris\00novembris\00decembris\00%A, %Y. gada %e. %B, plkst. %H un %M\00%Y.%m.%d.\00P\C2\A0\00O\C2\A0\00T\C2\A0\00C\C2\A0\00S\C2\A0\00sv\C4\93tdiena\00tre\C5\A1diena\00j\C5\ABn\00j\C5\ABl\00janv\C4\81ris\00febru\C4\81ris\00apr\C4\ABlis\00j\C5\ABnijs\00j\C5\ABlijs\00Ta\00T\FB\00We\00T\E2i\00Pa\00H\E2\00R\E2tapu\00Mane\00T\FBrei\00Wenerei\00T\E2ite\00Paraire\00H\E2tarei\00Kohi\00Hui\00Pou\00Pae\00Hara\00Pipi\00H\F4ngoi\00Mahu\00Whi-nu\00Whi-ra\00Haki\00Kohi-t\E2tea\00Hui-tanguru\00Pout\FB-te-rangi\00Paenga-wh\E2wh\E2\00Haratua\00Pipiri\00H\F4ngoingoi\00Here-turi-k\F4k\E2\00Mahuru\00Whiringa-\E2-nuku\00Whiringa-\E2-rangi\00Hakihea\00Te %A, te %d o %B, %Y %T %Z\00T\C5\AB\00T\C4\81i\00H\C4\81\00R\C4\81tapu\00T\C5\ABrei\00T\C4\81ite\00H\C4\81tarei\00H\C5\8Dngoi\00Kohi-t\C4\81tea\00Pout\C5\AB-te-rangi\00Paenga-wh\C4\81wh\C4\81\00H\C5\8Dngoingoi\00Here-turi-k\C5\8Dk\C4\81\00Whiringa-\C4\81-nuku\00Whiringa-\C4\81-rangi\00\DD\D5\D4\00\DF\DE\DD\00\D2\E2\DE\00\E1\E0\D5\00\E7\D5\E2\00\DF\D5\E2\00\E1\D0\D1\00\DD\D5\D4\D5\DB\D0\00\DF\DE\DD\D5\D4\D5\DB\DD\D8\DA\00\D2\E2\DE\E0\DD\D8\DA\00\E1\E0\D5\D4\D0\00\E7\D5\E2\D2\E0\E2\DE\DA\00\DF\D5\E2\DE\DA\00\E1\D0\D1\DE\E2\D0\00\F8\D0\DD\00\E4\D5\D2\00\DC\D0\E0\00\D0\DF\E0\00\DC\D0\F8\00\F8\E3\DD\00\F8\E3\DB\00\D0\D2\D3\00\E1\D5\DF\00\DE\DA\E2\00\DD\DE\D5\00\D4\D5\DA\00\F8\D0\DD\E3\D0\E0\D8\00\E4\D5\D2\E0\E3\D0\E0\D8\00\DC\D0\E0\E2\00\D0\DF\E0\D8\DB\00\F8\E3\DD\D8\00\F8\E3\DB\D8\00\D0\D2\D3\E3\E1\E2\00\E1\D5\DF\E2\D5\DC\D2\E0\D8\00\DE\DA\E2\DE\DC\D2\E0\D8\00\DD\DE\D5\DC\D2\E0\D8\00\D4\D5\DA\D5\DC\D2\E0\D8\00%a, %d %b %Y %T %Z\00\D0\BD\D0\B5\D0\B4\00\D0\BF\D0\BE\D0\BD\00\D0\B2\D1\82\D0\BE\00\D1\81\D1\80\D0\B5\00\D1\87\D0\B5\D1\82\00\D0\BF\D0\B5\D1\82\00\D1\81\D0\B0\D0\B1\00\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D0\B0\00\D1\81\D1\80\D0\B5\D0\B4\D0\B0\00\D1\87\D0\B5\D1\82\D0\B2\D1\80\D1\82\D0\BE\D0\BA\00\D0\BF\D0\B5\D1\82\D0\BE\D0\BA\00\D1\81\D0\B0\D0\B1\D0\BE\D1\82\D0\B0\00\D1\98\D0\B0\D0\BD\00\D0\BC\D0\B0\D1\98\00\D1\98\D1\83\D0\BD\00\D1\98\D1\83\D0\BB\00\D1\98\D0\B0\D0\BD\D1\83\D0\B0\D1\80\D0\B8\00\D1\98\D1\83\D0\BD\D0\B8\00\D1\98\D1\83\D0\BB\D0\B8\00\E0\A4\B0\E0\A4\B5\E0\A4\BF\00\E0\A4\B8\E0\A5\8B\E0\A4\AE\00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B3\00\E0\A4\AC\E0\A5\81\E0\A4\A7\00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81\00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0\00\E0\A4\B6\E0\A4\A8\E0\A4\BF\00\E0\A4\B0\E0\A4\B5\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\B8\E0\A5\8B\E0\A4\AE\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B3\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\B6\E0\A4\A8\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\9C\E0\A4\BE\E0\A4\A8\E0\A5\87\E0\A4\B5\E0\A4\BE\E0\A4\B0\E0\A5\80\00\E0\A4\AB\E0\A5\87\E0\A4\AC\E0\A5\83\E0\A4\B5\E0\A4\BE\E0\A4\B0\E0\A5\80\00\E0\A4\8F\E0\A4\AA\E0\A5\8D\E0\A4\B0\E0\A4\BF\E0\A4\B2\00\E0\A4\AE\E0\A5\87\00\E0\A4\9C\E0\A5\81\E0\A4\B2\E0\A5\88\00\E0\A4\93\E0\A4\97\E0\A4\B8\E0\A5\8D\E0\A4\9F\00\E0\A4\B8\E0\A5\87\E0\A4\AA\E0\A5\8D\E0\A4\9F\E0\A5\87\E0\A4\82\E0\A4\AC\E0\A4\B0\00\E0\A4\93\E0\A4\95\E0\A5\8D\E0\A4\9F\E0\A5\8B\E0\A4\AC\E0\A4\B0\00\E0\A4\A8\E0\A5\8B\E0\A4\B5\E0\A5\8D\E0\A4\B9\E0\A5\87\E0\A4\82\E0\A4\AC\E0\A4\B0\00\E0\A4\A1\E0\A4\BF\E0\A4\B8\E0\A5\87\E0\A4\82\E0\A4\AC\E0\A4\B0\00\E0\A4\AE.\E0\A4\AA\E0\A5\82.\00\E0\A4\AE.\E0\A4\A8\E0\A4\82.\00Ahd\00Isn\00Kha\00Ahad\00Isnin\00Khamis\00Jumaat\00Mac\00Ogos\00Dis\00Februari\00Julai\00Disember\00\A1ad\00Tne\00Tli\00Erb\00\A1am\00\D5im\00Sib\00il-\A1add\00it-Tnejn\00it-Tlieta\00l-Erbg\B1a\00il-\A1amis\00il-\D5img\B1a\00is-Sibt\00Fra\00Mej\00\D5un\00Lul\00Awi\00Ott\00Di\E5\00Jannar\00Frar\00Marzu\00Mejju\00\D5unju\00Lulju\00Awissu\00Settembru\00Ottubru\00Novembru\00Di\E5embru \00%A, %d ta %b, %Y %I:%M:%S %p %Z\00%A, %d ta %b, %Y\00\C4\A6ad\00\C4\A6am\00\C4\A0im\00il-\C4\A6add\00l-Erbg\C4\A7a\00il-\C4\A6amis\00il-\C4\A0img\C4\A7a\00\C4\A0un\00Di\C4\8B\00\C4\A0unju\00Di\C4\8Bembru \00zo\00di\00wo\00do\00vr\00za\00zondag\00maandag\00dinsdag\00woensdag\00donderdag\00vrijdag\00zaterdag\00mrt\00mei\00maart\00augustus\00%d-%m-%y\00su \00m\E5 \00ty \00on \00to \00fr \00lau \00sundag \00m\E5ndag \00tysdag \00onsdag \00torsdag \00fredag \00laurdag \00%d. %b %Y kl %H.%M %Z\00%d. %b %Y\00kl %H.%M %Z\00m\C3\A5 \00m\C3\A5ndag \00%a %d-%m-%Y %T %Z\00mec\00j\F3u\00dimenge\00diluns\00dimars\00dij\F3us\00disabte\00ag\F3\00geni\E8r\00febri\E8r\00abrial\00junh\00julhet\00ag\F3st\00decembre\00j\C3\B3u\00dij\C3\B3us\00ag\C3\B3\00geni\C3\A8r\00febri\C3\A8r\00ag\C3\B3st\00nie\00pon\00wto\00\B6ro\00czw\00pi\B1\00sob\00niedziela\00poniedzia\B3ek\00wtorek\00\B6roda\00czwartek\00pi\B1tek\00sobota\00sty\00lut\00kwi\00cze\00lip\00sie\00wrz\00pa\BC\00gru\00stycze\F1\00luty\00marzec\00kwiecie\F1\00czerwiec\00lipiec\00sierpie\F1\00wrzesie\F1\00pa\BCdziernik\00grudzie\F1\00\C5\9Bro\00pi\C4\85\00poniedzia\C5\82ek\00\C5\9Broda\00pi\C4\85tek\00pa\C5\BA\00stycze\C5\84\00kwiecie\C5\84\00sierpie\C5\84\00wrzesie\C5\84\00pa\C5\BAdziernik\00grudzie\C5\84\00Seg\00Ter\00Qua\00Qui\00Sex\00segunda\00ter\E7a\00quarta\00quinta\00sexta\00janeiro\00fevereiro\00mar\E7o\00maio\00junho\00julho\00setembro\00outubro\00novembro\00dezembro\00ter\C3\A7a\00mar\C3\A7o\00Segunda\00Ter\E7a\00Quarta\00Quinta\00Sexta\00Janeiro\00Fevereiro\00Mar\E7o\00Junho\00Julho\00Dezembro\00Ter\C3\A7a\00Mar\C3\A7o\00Lu\00Mi\00Jo\00Vi\00S\EE\00Duminic\C3\00Luni\00Mar\FEi\00Miercuri\00Joi\00Vineri\00S\EEmb\C3t\C3\00ian\00iun\00iul\00Ianuarie\00Martie\00Aprilie\00Iunie\00Iulie\00Septembrie\00Octombrie\00Noiembrie\00Decembrie\00S\C3\AE\00Duminic\C4\82\00Mar\C5\A3i\00S\C3\AEmb\C4\82t\C4\82\00\F7\D3\CB\00\F0\CE\C4\00\F7\D4\D2\00\F3\D2\C4\00\FE\D4\D7\00\F0\D4\CE\00\F3\C2\D4\00\F7\CF\D3\CB\D2\C5\D3\C5\CE\D8\C5\00\F0\CF\CE\C5\C4\C5\CC\D8\CE\C9\CB\00\F7\D4\CF\D2\CE\C9\CB\00\F3\D2\C5\C4\C1\00\FE\C5\D4\D7\C5\D2\C7\00\F0\D1\D4\CE\C9\C3\C1\00\F3\D5\C2\C2\CF\D4\C1\00\F1\CE\D7\00\E6\C5\D7\00\ED\C1\D2\00\E1\D0\D2\00\ED\C1\CA\00\E9\C0\CE\00\E9\C0\CC\00\E1\D7\C7\00\F3\C5\CE\00\EF\CB\D4\00\EE\CF\D1\00\E4\C5\CB\00\F1\CE\D7\C1\D2\D1\00\E6\C5\D7\D2\C1\CC\D1\00\ED\C1\D2\D4\C1\00\E1\D0\D2\C5\CC\D1\00\ED\C1\D1\00\E9\C0\CE\D1\00\E9\C0\CC\D1\00\E1\D7\C7\D5\D3\D4\C1\00\F3\C5\CE\D4\D1\C2\D2\D1\00\EF\CB\D4\D1\C2\D2\D1\00\EE\CF\D1\C2\D2\D1\00\E4\C5\CB\C1\C2\D2\D1\00\B2\E1\DA\00\BF\DD\D4\00\B2\E2\E0\00\C1\E0\D4\00\C7\E2\D2\00\BF\E2\DD\00\C1\D1\E2\00\B2\DE\E1\DA\E0\D5\E1\D5\DD\EC\D5\00\BF\DE\DD\D5\D4\D5\DB\EC\DD\D8\DA\00\B2\E2\DE\E0\DD\D8\DA\00\C1\E0\D5\D4\D0\00\C7\D5\E2\D2\D5\E0\D3\00\BF\EF\E2\DD\D8\E6\D0\00\C1\E3\D1\D1\DE\E2\D0\00\CF\DD\D2\00\C4\D5\D2\00\BC\D0\E0\00\B0\DF\E0\00\BC\D0\D9\00\B8\EE\DD\00\B8\EE\DB\00\B0\D2\D3\00\C1\D5\DD\00\BE\DA\E2\00\BD\DE\EF\00\B4\D5\DA\00\CF\DD\D2\D0\E0\EF\00\C4\D5\D2\E0\D0\DB\EF\00\BC\D0\E0\E2\D0\00\B0\DF\E0\D5\DB\EF\00\BC\D0\EF\00\B8\EE\DD\EF\00\B8\EE\DB\EF\00\B0\D2\D3\E3\E1\E2\D0\00\C1\D5\DD\E2\EF\D1\E0\EF\00\BE\DA\E2\EF\D1\E0\EF\00\BD\DE\EF\D1\E0\EF\00\B4\D5\DA\D0\D1\E0\EF\00\D0\92\D1\81\D0\BA\00\D0\9F\D0\BD\D0\B4\00\D0\92\D1\82\D1\80\00\D0\A7\D1\82\D0\B2\00\D0\9F\D1\82\D0\BD\00\D0\A1\D0\B1\D1\82\00\D0\92\D0\BE\D1\81\D0\BA\D1\80\D0\B5\D1\81\D0\B5\D0\BD\D1\8C\D0\B5\00\D0\9F\D0\BE\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D1\8C\D0\BD\D0\B8\D0\BA\00\D0\92\D1\82\D0\BE\D1\80\D0\BD\D0\B8\D0\BA\00\D0\A1\D1\80\D0\B5\D0\B4\D0\B0\00\D0\A7\D0\B5\D1\82\D0\B2\D0\B5\D1\80\D0\B3\00\D0\9F\D1\8F\D1\82\D0\BD\D0\B8\D1\86\D0\B0\00\D0\A1\D1\83\D0\B1\D0\B1\D0\BE\D1\82\D0\B0\00\D0\AF\D0\BD\D0\B2\00\D0\A4\D0\B5\D0\B2\00\D0\9C\D0\B0\D1\80\00\D0\90\D0\BF\D1\80\00\D0\9C\D0\B0\D0\B9\00\D0\98\D1\8E\D0\BD\00\D0\98\D1\8E\D0\BB\00\D0\90\D0\B2\D0\B3\00\D0\A1\D0\B5\D0\BD\00\D0\9E\D0\BA\D1\82\00\D0\9D\D0\BE\D1\8F\00\D0\94\D0\B5\D0\BA\00\D0\AF\D0\BD\D0\B2\D0\B0\D1\80\D1\8F\00\D0\A4\D0\B5\D0\B2\D1\80\D0\B0\D0\BB\D1\8F\00\D0\9C\D0\B0\D1\80\D1\82\D0\B0\00\D0\90\D0\BF\D1\80\D0\B5\D0\BB\D1\8F\00\D0\9C\D0\B0\D1\8F\00\D0\98\D1\8E\D0\BD\D1\8F\00\D0\98\D1\8E\D0\BB\D1\8F\00\D0\90\D0\B2\D0\B3\D1\83\D1\81\D1\82\D0\B0\00\D0\A1\D0\B5\D0\BD\D1\82\D1\8F\D0\B1\D1\80\D1\8F\00\D0\9E\D0\BA\D1\82\D1\8F\D0\B1\D1\80\D1\8F\00\D0\9D\D0\BE\D1\8F\D0\B1\D1\80\D1\8F\00\D0\94\D0\B5\D0\BA\D0\B0\D0\B1\D1\80\D1\8F\00\F7\D4\CF\00\F3\D5\C2\00\F1\CE\D7\C1\D2\D8\00\E6\C5\D7\D2\C1\CC\D8\00\ED\C1\D2\D4\00\E1\D0\D2\C5\CC\D8\00\E9\C0\CE\D8\00\E9\C0\CC\D8\00\E1\D7\C7\D5\D3\D4\00\F3\C5\CE\D4\D1\C2\D2\D8\00\EF\CB\D4\D1\C2\D2\D8\00\EE\CF\D1\C2\D2\D8\00\E4\C5\CB\C1\C2\D2\D8\00\D0\92\D1\82\D0\BE\00\D0\AF\D0\BD\D0\B2\D0\B0\D1\80\D1\8C\00\D0\A4\D0\B5\D0\B2\D1\80\D0\B0\D0\BB\D1\8C\00\D0\9C\D0\B0\D1\80\D1\82\00\D0\90\D0\BF\D1\80\D0\B5\D0\BB\D1\8C\00\D0\98\D1\8E\D0\BD\D1\8C\00\D0\98\D1\8E\D0\BB\D1\8C\00\D0\90\D0\B2\D0\B3\D1\83\D1\81\D1\82\00\D0\A1\D0\B5\D0\BD\D1\82\D1\8F\D0\B1\D1\80\D1\8C\00\D0\9E\D0\BA\D1\82\D1\8F\D0\B1\D1\80\D1\8C\00\D0\9D\D0\BE\D1\8F\D0\B1\D1\80\D1\8C\00\D0\94\D0\B5\D0\BA\D0\B0\D0\B1\D1\80\D1\8C\00sotn\00vuos\00ma\C5\8B\00gask\00duor\00bear\00l\C3\A1v\00sotnabeaivi\00vuoss\C3\A1rga\00ma\C5\8B\C5\8Bebarga\00gaskavahkku\00duorasdat\00bearjadat\00l\C3\A1vvardat\00o\C4\91\C4\91j\00guov\00njuk\00cuo\C5\8B\00mies\00geas\00suoi\00borg\00\C4\8Dak\C4\8D\00golg\00sk\C3\A1b\00juov\00o\C4\91\C4\91ajagem\C3\A1nu\00guovvam\C3\A1nu\00njuk\C4\8Dam\C3\A1nu\00cuo\C5\8Bom\C3\A1nu\00miessem\C3\A1nu\00geassem\C3\A1nu\00suoidnem\C3\A1nu\00borgem\C3\A1nu\00\C4\8Dak\C4\8Dam\C3\A1nu\00golggotm\C3\A1nu\00sk\C3\A1bmam\C3\A1nu\00juovlam\C3\A1nu\00%a, %b %e. b. %Y %T %Z\00Ut\00\A9t\00Pi\00Nede\B5a\00Pondelok\00Utorok\00Streda\00\A9tvrtok\00Piatok\00marec\00Nede\C4\BEa\00\C5\A0tvrtok\00ned\00sre\00\E8et\00pet\00nedelja\00ponedeljek\00torek\00sreda\00\E8etrtek\00petek\00avg\00junij\00julij\00avgust\00\C4\8Det\00\C4\8Detrtek\00Die \00H\EBn \00Mar \00M\EBr \00Enj \00Pre \00Sht \00e diel \00e h\EBn\EB \00e mart\EB \00e m\EBrkur\EB \00e enjte \00e premte \00e shtun\EB \00Shk\00Pri\00Qer\00Kor\00Gsh\00Sht\00Tet\00N\EBn\00Dhj\00janar\00shkurt\00prill\00qershor\00korrik\00gusht\00shtator\00tetor\00n\EBntor\00dhjetor\00PD\00MD\00%Y-%b-%d %I.%M.%S.%p %Z\00%Y-%b-%d\00%I.%M.%S. %Z\00%I.%M.%S.%p %Z\00H\C3\ABn \00M\C3\ABr \00e h\C3\ABn\C3\AB \00e mart\C3\AB \00e m\C3\ABrkur\C3\AB \00e shtun\C3\AB \00N\C3\ABn\00n\C3\ABntor\00uto\00sub\00ponedeljak\00utorak\00\E8etvrtak\00petak\00subota\00septembar\00oktobar\00novembar\00decembar\00%d-%m-%Y.\00\C4\8Detvrtak\00\E3\E2\DE\00\E1\E3\D1\00\DD\D5\D4\D5\F9a\00\DF\DE\DD\D5\D4\D5\F9\D0\DA\00\E3\E2\DE\E0\D0\DA\00\E7\D5\E2\D2\E0\E2\D0\DA\00\DF\D5\E2\D0\DA\00\E1\E3\D1\DE\E2\D0\00\E4\D5\D1\00\DD\DE\D2\00\D4\D5\E6\00\F8\D0\DD\E3\D0\E0\00\E4\D5\D1\E0\E3\D0\E0\00\E1\D5\DF\E2\D5\DC\D1\D0\E0\00\DE\DA\E2\DE\D1\D0\E0\00\DD\DE\D2\D5\DC\D1\D0\E0\00\D4\D5\E6\D5\DC\D1\D0\E0\00+%a %d %b %Y %T %Z\00\D1\83\D1\82\D0\BE\00\D1\81\D1\83\D0\B1\00\D0\BD\D0\B5\D0\B4\D0\B5\D1\99a\00\D0\BF\D0\BE\D0\BD\D0\B5\D0\B4\D0\B5\D1\99\D0\B0\D0\BA\00\D1\83\D1\82\D0\BE\D1\80\D0\B0\D0\BA\00\D1\87\D0\B5\D1\82\D0\B2\D1\80\D1\82\D0\B0\D0\BA\00\D0\BF\D0\B5\D1\82\D0\B0\D0\BA\00\D1\81\D1\83\D0\B1\D0\BE\D1\82\D0\B0\00\D1\84\D0\B5\D0\B1\00\D0\BD\D0\BE\D0\B2\00\D0\B4\D0\B5\D1\86\00\D1\98\D0\B0\D0\BD\D1\83\D0\B0\D1\80\00\D1\84\D0\B5\D0\B1\D1\80\D1\83\D0\B0\D1\80\00\D1\81\D0\B5\D0\BF\D1\82\D0\B5\D0\BC\D0\B1\D0\B0\D1\80\00\D0\BE\D0\BA\D1\82\D0\BE\D0\B1\D0\B0\D1\80\00\D0\BD\D0\BE\D0\B2\D0\B5\D0\BC\D0\B1\D0\B0\D1\80\00\D0\B4\D0\B5\D1\86\D0\B5\D0\BC\D0\B1\D0\B0\D1\80\00s\F6n\00m\E5n\00tis\00l\F6r\00s\F6ndag\00m\E5ndag\00tisdag\00l\F6rdag\00augusti\00%a %e %b %Y %H.%M.%S\00s\C3\B6n\00m\C3\A5n\00l\C3\B6r\00s\C3\B6ndag\00m\C3\A5ndag\00l\C3\B6rdag\00\E0\AE\9E\00\E0\AE\A4\00\E0\AE\9A\00\E0\AE\AA\00\E0\AE\B5\00\E0\AE\9E\E0\AE\BE\E0\AE\AF\E0\AE\BF\E0\AE\B1\E0\AF\81\00\E0\AE\A4\E0\AE\BF\E0\AE\99\E0\AF\8D\E0\AE\95\E0\AE\B3\E0\AF\8D\00\E0\AE\9A\E0\AF\86\E0\AE\B5\E0\AF\8D\E0\AE\B5\E0\AE\BE\E0\AE\AF\E0\AF\8D\00\E0\AE\AA\E0\AF\81\E0\AE\A4\E0\AE\A9\E0\AF\8D\00\E0\AE\B5\E0\AE\BF\E0\AE\AF\E0\AE\BE\E0\AE\B4\E0\AE\A9\E0\AF\8D\00\E0\AE\B5\E0\AF\86\E0\AE\B3\E0\AF\8D\E0\AE\B3\E0\AE\BF\00\E0\AE\9A\E0\AE\A9\E0\AE\BF\00\E0\AE\9C\E0\AE\A9\E0\AE\B5\E0\AE\B0\E0\AE\BF\00\E0\AE\AA\E0\AF\86\E0\AE\AA\E0\AF\8D\E0\AE\B0\E0\AE\B5\E0\AE\B0\E0\AE\BF\00\E0\AE\AE\E0\AE\BE\E0\AE\B0\E0\AF\8D\E0\AE\9A\E0\AF\8D\00\E0\AE\8F\E0\AE\AA\E0\AF\8D\E0\AE\B0\E0\AE\B2\E0\AF\8D\00\E0\AE\AE\E0\AF\87\00\E0\AE\9C\E0\AF\82\E0\AE\A9\E0\AF\8D\00\E0\AE\9C\E0\AF\82\E0\AE\B2\E0\AF\88\00\E0\AE\86\E0\AE\95\E0\AE\B8\E0\AF\8D\E0\AE\9F\E0\AF\8D\00\E0\AE\9A\E0\AF\86\E0\AE\AA\E0\AF\8D\E0\AE\9F\E0\AE\AE\E0\AF\8D\E0\AE\AA\E0\AE\B0\E0\AF\8D\00\E0\AE\85\E0\AE\95\E0\AF\8D\E0\AE\9F\E0\AF\8B\E0\AE\AA\E0\AE\B0\E0\AF\8D\00\E0\AE\A8\E0\AE\B5\E0\AE\AE\E0\AF\8D\E0\AE\AA\E0\AE\B0\E0\AF\8D\00\E0\AE\9F\E0\AE\BF\E0\AE\9A\E0\AE\AE\E0\AF\8D\E0\AE\AA\E0\AE\B0\E0\AF\8Dr\00\E0\AE\95\E0\AE\BE\E0\AE\B2\E0\AF\88\00\E0\AE\AE\E0\AE\BE\E0\AE\B2\E0\AF\88\00\E0\B0\86\E0\B0\A6\E0\B0\BF\00\E0\B0\B8\E0\B1\8B\E0\B0\AE\00\E0\B0\AE\E0\B0\82\E0\B0\97\E0\B0\B3\00\E0\B0\AC\E0\B1\81\E0\B0\A7\00\E0\B0\97\E0\B1\81\E0\B0\B0\E0\B1\81\00\E0\B0\B6\E0\B1\81\E0\B0\95\E0\B1\8D\E0\B0\B0\00\E0\B0\B6\E0\B0\A8\E0\B0\BF\00\E0\B0\86\E0\B0\A6\E0\B0\BF\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\B8\E0\B1\8B\E0\B0\AE\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\AE\E0\B0\82\E0\B0\97\E0\B0\B3\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\AC\E0\B1\81\E0\B0\A7\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\97\E0\B1\81\E0\B0\B0\E0\B1\81\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\B6\E0\B1\81\E0\B0\95\E0\B1\8D\E0\B0\B0\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\B6\E0\B0\A8\E0\B0\BF\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\9C\E0\B0\A8\E0\B0\B5\E0\B0\B0\E0\B0\BF\00\E0\B0\AB\E0\B0\BF\E0\B0\AC\E0\B1\8D\E0\B0\B0\E0\B0\B5\E0\B0\B0\E0\B0\BF\00\E0\B0\AE\E0\B0\BE\E0\B0\B0\E0\B1\8D\E0\B0\9A\E0\B0\BF\00\E0\B0\8F\E0\B0\AA\E0\B1\8D\E0\B0\B0\E0\B0\BF\E0\B0\B2\E0\B1\8D\00\E0\B0\AE\E0\B1\87\00\E0\B0\9C\E0\B1\82\E0\B0\A8\E0\B1\8D\00\E0\B0\9C\E0\B1\82\E0\B0\B2\E0\B1\88\00\E0\B0\86\E0\B0\97\E0\B0\B8\E0\B1\8D\E0\B0\9F\E0\B1\81\00\E0\B0\B8\E0\B1\86\E0\B0\AA\E0\B1\8D\E0\B0\9F\E0\B1\86\E0\B0\82\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\85\E0\B0\95\E0\B1\8D\E0\B0\9F\E0\B1\8B\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\A8\E0\B0\B5\E0\B0\82\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\A1\E0\B0\BF\E0\B0\B8\E0\B1\86\E0\B0\82\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\AA\E0\B1\82\E0\B0\B0\E0\B1\8D\E0\B0\B5\E0\B0\BE\E0\B0\B9\E0\B1\8D\E0\B0\A8\00\E0\B0\85\E0\B0\AA\E0\B0\B0\E0\B0\BE\E0\B0\B9\E0\B1\8D\E0\B0\A8\00\CD\D2.\00\A8.\00\CD.\00\BE.\00\BE\C4.\00\C8.\00\CA.\00\CD\D2\B7\D4\B5\C2\EC\00\A8\D1\B9\B7\C3\EC\00\CD\D1\A7\A4\D2\C3\00\BE\D8\B8\00\BE\C4\CB\D1\CA\BA\B4\D5\00\C8\D8\A1\C3\EC\00\E0\CA\D2\C3\EC\00\C1.\A4.\00\A1.\BE.\00\C1\D5.\A4.\00\E0\C1.\C2.\00\BE.\A4.\00\C1\D4.\C2.\00\A1.\A4.\00\CA.\A4.\00\A1.\C2.\00\B5.\A4.\00\BE.\C2.\00\B8.\A4.\00\C1\A1\C3\D2\A4\C1\00\A1\D8\C1\C0\D2\BE\D1\B9\B8\EC\00\C1\D5\B9\D2\A4\C1\00\E0\C1\C9\D2\C2\B9\00\BE\C4\C9\C0\D2\A4\C1\00\C1\D4\B6\D8\B9\D2\C2\B9\00\A1\C3\A1\AE\D2\A4\C1\00\CA\D4\A7\CB\D2\A4\C1\00\A1\D1\B9\C2\D2\C2\B9\00\B5\D8\C5\D2\A4\C1\00\BE\C4\C8\A8\D4\A1\D2\C2\B9\00\B8\D1\B9\C7\D2\A4\C1\00%a %e %b %Ey, %H:%M:%S\00%d/%m/%Ey\00+:1:-543/01/01:+*:\BE.\C8.:%EC %Ey\00\00%e %b %Ey\00\C7\D1\B9%A\B7\D5\E8 %e %B %EC %Ey, %H.%M.%S \B9.\00%H.%M.%S \B9.\00\E0\B8\AD\E0\B8\B2.\00\E0\B8\88.\00\E0\B8\AD.\00\E0\B8\9E.\00\E0\B8\9E\E0\B8\A4.\00\E0\B8\A8.\00\E0\B8\AA.\00\E0\B8\AD\E0\B8\B2\E0\B8\97\E0\B8\B4\E0\B8\95\E0\B8\A2\E0\B9\8C\00\E0\B8\88\E0\B8\B1\E0\B8\99\E0\B8\97\E0\B8\A3\E0\B9\8C\00\E0\B8\AD\E0\B8\B1\E0\B8\87\E0\B8\84\E0\B8\B2\E0\B8\A3\00\E0\B8\9E\E0\B8\B8\E0\B8\98\00\E0\B8\9E\E0\B8\A4\E0\B8\AB\E0\B8\B1\E0\B8\AA\E0\B8\9A\E0\B8\94\E0\B8\B5\00\E0\B8\A8\E0\B8\B8\E0\B8\81\E0\B8\A3\E0\B9\8C\00\E0\B9\80\E0\B8\AA\E0\B8\B2\E0\B8\A3\E0\B9\8C\00\E0\B8\A1.\E0\B8\84.\00\E0\B8\81.\E0\B8\9E.\00\E0\B8\A1\E0\B8\B5.\E0\B8\84.\00\E0\B9\80\E0\B8\A1.\E0\B8\A2.\00\E0\B8\9E.\E0\B8\84.\00\E0\B8\A1\E0\B8\B4.\E0\B8\A2.\00\E0\B8\81.\E0\B8\84.\00\E0\B8\AA.\E0\B8\84.\00\E0\B8\81.\E0\B8\A2.\00\E0\B8\95.\E0\B8\84.\00\E0\B8\9E.\E0\B8\A2.\00\E0\B8\98.\E0\B8\84.\00\E0\B8\A1\E0\B8\81\E0\B8\A3\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\81\E0\B8\B8\E0\B8\A1\E0\B8\A0\E0\B8\B2\E0\B8\9E\E0\B8\B1\E0\B8\99\E0\B8\98\E0\B9\8C\00\E0\B8\A1\E0\B8\B5\E0\B8\99\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B9\80\E0\B8\A1\E0\B8\A9\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\9E\E0\B8\A4\E0\B8\A9\E0\B8\A0\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\A1\E0\B8\B4\E0\B8\96\E0\B8\B8\E0\B8\99\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\81\E0\B8\A3\E0\B8\81\E0\B8\8E\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\AA\E0\B8\B4\E0\B8\87\E0\B8\AB\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\81\E0\B8\B1\E0\B8\99\E0\B8\A2\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\95\E0\B8\B8\E0\B8\A5\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\9E\E0\B8\A4\E0\B8\A8\E0\B8\88\E0\B8\B4\E0\B8\81\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\98\E0\B8\B1\E0\B8\99\E0\B8\A7\E0\B8\B2\E0\B8\84\E0\B8\A1\00+:1:-543/01/01:+*:\E0\B8\9E.\E0\B8\A8.:%EC %Ey\00\00\E0\B8\A7\E0\B8\B1\E0\B8\99%A\E0\B8\97\E0\B8\B5\E0\B9\88 %e %B %EC %Ey, %H.%M.%S \E0\B8\99.\00%H.%M.%S \E0\B8\99.\00\E1\88\B0\E1\8A\95\E1\89\A0\E1\89\B5\00\E1\88\B0\E1\8A\91\E1\8B\AD\00\E1\88\B0\E1\88\89\E1\88\B5\00\E1\88\93\E1\88\99\E1\88\B5\00\E1\8B\93\E1\88\AD\E1\89\A2\00\E1\89\80\E1\8B\B3\E1\88\9D\00\E1\8C\A5\E1\88\AA\00\E1\88\88\E1\8A\AB\E1\89\B2\00\E1\88\98\E1\8C\8B\E1\89\A2\00\E1\88\9A\E1\8B\AB\E1\8B\9D\00\E1\8C\8D\E1\8A\95\E1\89\A6\00\E1\88\B0\E1\8A\90\00\E1\88\93\E1\88\9D\E1\88\88\00\E1\8A\90\E1\88\93\E1\88\B0\00\E1\88\98\E1\88\B5\E1\8A\A8\00\E1\8C\A5\E1\89\85\E1\88\9D\00\E1\88\95\E1\8B\B3\E1\88\AD\00\E1\89\B3\E1\88\95\E1\88\B3\00\E1\88\88\E1\8A\AB\E1\89\B2\E1\89\B5\00\E1\88\98\E1\8C\8B\E1\89\A2\E1\89\B5\00\E1\88\9A\E1\8B\AB\E1\8B\9D\E1\8B\AB\00\E1\8C\8D\E1\8A\95\E1\89\A6\E1\89\B5\00\E1\88\98\E1\88\B5\E1\8A\A8\E1\88\A8\E1\88\9D\00\E1\8C\A5\E1\89\85\E1\88\9D\E1\89\B2\00\E1\89\B3\E1\88\95\E1\88\B3\E1\88\B5\00\E1\8A\95\E1\8C\89\E1\88\86 \E1\88\B0\E1\8B\93\E1\89\B0\00\E1\8B\B5\E1\88\95\E1\88\AD \E1\88\B0\E1\8B\93\E1\89\B5\00%A\E1\8D\A3 %b %e \E1\88\98\E1\8B\93\E1\88\8D\E1\89\B2 %l:%M:%S %Z %Y\00Lin\00Miy\00Huw\00Biy\00Linggo\00Lunes\00Miyerkoles\00Huwebes\00Biyernes\00Sabado\00Ene\00Hun\00Hul\00Nob\00Enero\00Pebrero\00Marso\00Mayo\00Hunyo\00Hulyo\00Septiyembre\00Oktubre\00Nobiyembre\00Disyembre\00Paz\00Pzt\00Sal\00\C7r\FE\00Pr\FE\00Cum\00Cts\00Pazar\00Pazartesi\00Sal\FD\00\C7ar\FEamba\00Per\FEembe\00Cuma\00Cumartesi\00Oca\00\DEub\00Nis\00Haz\00Tem\00A\F0u\00Eyl\00Eki\00Kas\00Ara\00Ocak\00\DEubat\00Nisan\00May\FDs\00Haziran\00Temmuz\00A\F0ustos\00Eyl\FCl\00Ekim\00Kas\FDm\00Aral\FDk\00\D6\D6\00\D6S\00\C3\87r\C5\9F\00Pr\C5\9F\00Sal\C4\B1\00\C3\87ar\C5\9Famba\00Per\C5\9Fembe\00\C5\9Eub\00A\C4\9Fu\00\C5\9Eubat\00May\C4\B1s\00A\C4\9Fustos\00Eyl\C3\BCl\00Kas\C4\B1m\00Aral\C4\B1k\00\C3\96\C3\96\00\C3\96S\00\D0\AF\D0\BA\D1\88\00\D0\94\D1\8B\D1\88\00\D0\A1\D0\B8\D1\88\00\D0\A7\D3\99\D1\80\D1\88\00\D0\9F\D3\99\D0\BD\D2\97\00\D2\96\D0\BE\D0\BC\00\D0\A8\D0\B8\D0\BC\00\D0\AF\D0\BA\D1\88\D3\99\D0\BC\D0\B1\D0\B5\00\D0\94\D1\8B\D1\88\D3\99\D0\BC\D0\B1\D0\B5\00\D0\A1\D0\B8\D1\88\D3\99\D0\BC\D0\B1\D0\B5\00\D0\A7\D3\99\D1\80\D1\88\D3\99\D3\99\D0\BC\D0\B1\D0\B5\00\D0\9F\D3\99\D0\BD\D2\97\D0\B5\D1\88\D0\BC\D0\B1\D0\B5\00\D2\96\D0\BE\D0\BC\D0\B3\D0\B0\00\D0\A8\D0\B8\D0\BC\D0\B1\D3\99\00\EE\C4\CC\00\EE\C5\C4\A6\CC\D1\00\F0\CF\CE\C5\C4\A6\CC\CF\CB\00\F7\A6\D7\D4\CF\D2\CF\CB\00\F3\C5\D2\C5\C4\C1\00\FE\C5\D4\D7\C5\D2\00\F0'\D1\D4\CE\C9\C3\D1\00\F3\D5\C2\CF\D4\C1\00\F3\A6\DE\00\EC\C0\D4\00\E2\C5\D2\00\EB\D7\A6\00\F4\D2\C1\00\FE\C5\D2\00\EC\C9\D0\00\F3\C5\D2\00\F7\C5\D2\00\F6\CF\D7\00\EC\C9\D3\00\E7\D2\D5\00\F3\A6\DE\C5\CE\D8\00\EC\C0\D4\C9\CA\00\E2\C5\D2\C5\DA\C5\CE\D8\00\EB\D7\A6\D4\C5\CE\D8\00\F4\D2\C1\D7\C5\CE\D8\00\FE\C5\D2\D7\C5\CE\D8\00\EC\C9\D0\C5\CE\D8\00\F3\C5\D2\D0\C5\CE\D8\00\F7\C5\D2\C5\D3\C5\CE\D8\00\F6\CF\D7\D4\C5\CE\D8\00\EC\C9\D3\D4\CF\D0\C1\C4\00\E7\D2\D5\C4\C5\CE\D8\00\D0\9D\D0\B4\D0\BB\00\D0\9D\D0\B5\D0\B4\D1\96\D0\BB\D1\8F\00\D0\9F\D0\BE\D0\BD\D0\B5\D0\B4\D1\96\D0\BB\D0\BE\D0\BA\00\D0\92\D1\96\D0\B2\D1\82\D0\BE\D1\80\D0\BE\D0\BA\00\D0\A1\D0\B5\D1\80\D0\B5\D0\B4\D0\B0\00\D0\A7\D0\B5\D1\82\D0\B2\D0\B5\D1\80\00\D0\9F'\D1\8F\D1\82\D0\BD\D0\B8\D1\86\D1\8F\00\D0\A1\D1\96\D1\87\00\D0\91\D0\B5\D1\80\00\D0\9A\D0\B2\D1\96\00\D0\A7\D0\B5\D1\80\00\D0\9B\D0\B8\D0\BF\00\D0\A1\D0\B5\D1\80\00\D0\92\D0\B5\D1\80\00\D0\96\D0\BE\D0\B2\00\D0\9B\D0\B8\D1\81\00\D0\93\D1\80\D1\83\00\D0\A1\D1\96\D1\87\D0\B5\D0\BD\D1\8C\00\D0\9B\D1\8E\D1\82\D0\B8\D0\B9\00\D0\91\D0\B5\D1\80\D0\B5\D0\B7\D0\B5\D0\BD\D1\8C\00\D0\9A\D0\B2\D1\96\D1\82\D0\B5\D0\BD\D1\8C\00\D0\A7\D0\B5\D1\80\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\9B\D0\B8\D0\BF\D0\B5\D0\BD\D1\8C\00\D0\A1\D0\B5\D1\80\D0\BF\D0\B5\D0\BD\D1\8C\00\D0\92\D0\B5\D1\80\D0\B5\D1\81\D0\B5\D0\BD\D1\8C\00\D0\96\D0\BE\D0\B2\D1\82\D0\B5\D0\BD\D1\8C\00\D0\9B\D0\B8\D1\81\D1\82\D0\BE\D0\BF\D0\B0\D0\B4\00\D0\93\D1\80\D1\83\D0\B4\D0\B5\D0\BD\D1\8C\00\D8\A7\D8\AA\D9\88\D8\A7\D8\B1\00\D9\BE\D9\8A\D8\B1\00\D9\85\D9\86\DA\AF\D9\84\00\D8\A8\D8\AF\DA\BE\00\D8\AC\D9\85\D8\B9\D8\B1\D8\A7\D8\AA\00\D9\87\D9\81\D8\AA\D9\87\00\D8\AC\D9\86\D9\88\D8\B1\D9\8A\00\D9\81\D8\B1\D9\88\D8\B1\D9\8A\00\D9\85\D8\A7\D8\B1\DA\86\00\D8\A7\D9\BE\D8\B1\D9\8A\D9\84\00\D9\85\D9\93\DB\8C\00\D8\AC\D9\88\D9\86\00\D8\AC\D9\88\D9\84\D8\A7\D9\8A\00\D8\A7\DA\AF\D8\B3\D8\AA\00\D8\B3\D8\AA\D9\85\D8\A8\D8\B1\00\D8\A7\D9\83\D8\AA\D9\88\D8\A8\D8\B1\00\D9\86\D9\88\D9\85\D8\A8\D8\B1\00\D8\AF\D8\B3\D9\85\D8\A8\D8\B1\00\D8\B4\00\D9\88 %H:%M:%S %Z \D8\AA %d %B %Y\00%P %I:%M:%S\00Yak\00Se\00Cho\00Pay\00Ju\00Sha\00yakshanba\00dushanba\00seshanba\00chorshanba\00payshanba\00juma\00shanba\00Yav\00Iyn\00Iyl\00Avg\00senyabr\00%T, %d %B, %Y yil, %A\00CN \00Th 2 \00Th 3 \00Th 4 \00Th 5 \00Th 6 \00Th 7 \00Chu\CC\89 nh\C3\A2\CC\A3t \00Th\C6\B0\CC\81 hai \00Th\C6\B0\CC\81 ba \00Th\C6\B0\CC\81 t\C6\B0 \00Th\C6\B0\CC\81 n\C4\83m \00Th\C6\B0\CC\81 s\C3\A1u \00Th\C6\B0\CC\81 ba\CC\89y \00Thg 1\00Thg 2\00Thg 3\00Thg 4\00Thg 5\00Thg 6\00Thg 7\00Thg 8\00Thg 9\00Thg 10\00Thg 11\00Thg 12\00Th\C3\A1ng m\C3\B4\CC\A3t\00Th\C3\A1ng hai\00Th\C3\A1ng ba\00Th\C3\A1ng t\C6\B0\00Th\C3\A1ng n\C4\83m\00Th\C3\A1ng s\C3\A1u\00Th\C3\A1ng ba\CC\89y\00Th\C3\A1ng t\C3\A1m\00Th\C3\A1ng ch\C3\ADn\00Th\C3\A1ng m\C6\B0\C6\A1\CC\80i\00Th\C3\A1ng m\C6\B0\C6\A1\CC\80i m\C3\B4\CC\A3t\00Th\C3\A1ng m\C6\B0\C6\A1\CC\80i hai\00%H:%M:%S %Z %A %d %b %Y\00%H:%M:%S %Z\00d\EEm\00lon\00m\E5r\00dju\00vin\00sem\00d\EEmegne\00londi\00m\E5rdi\00merkidi\00djudi\00vinrdi\00semdi\00dja\00fev\00m\E5s\00djn\00djl\00awo\00n\F4v\00djanv\EE\00fevr\EE\00m\E5ss\00avri\00djun\00djulete\00awousse\00setimbe\00oct\F4be\00n\F4vimbe\00decimbe\00Li %A %d di %B %Y %T %Z\00d\C3\AEm\00m\C3\A5r\00d\C3\AEmegne\00m\C3\A5rdi\00m\C3\A5s\00n\C3\B4v\00djanv\C3\AE\00fevr\C3\AE\00m\C3\A5ss\00oct\C3\B4be\00n\C3\B4vimbe\00\E6\E5\F0'\00\EE\E0\C8\F0'\00\E3\E9\F0'\00\EE\E9\E8'\00\E3\E0\C8\F0'\00\F4\CF\F8\D6\C7'\00\E6\E5\F0\E8\E9\F7\00\EE\E0\C8\F0\E8\E9\F7\00\E3\E9\F0\F1\E8\E9\F7\00\EE\E9\E8\D4\E0\C8\EA\00\E3\E0\C8\F0\F2\F8\F9\E8\E9\F7\00\F4\CF\F8\D6\C7\E8\E9\F7\00\E9\E0\C7\F0'\00\F4\CF\F2\E1'\00\EE\E0\C7\F8'\00\E0\C7\F4\CC\F8'\00\EE\D6\C7\00\E9\E5\F0'\00\E9\E5\EC'\00\E0\D5\E2'\00\F1\F2\F4\CC'\00\E0\C8\F7\E8'\00\F0\E0\C8\D4'\00\E3\F2\F6'\00\E9\E0\C7\F0\E5\E0\C7\F8\00\F4\CF\F2\E1\F8\E5\E0\C7\F8\00\EE\E0\C7\F8\F5\00\E0\C7\F4\CC\F8\E9\EC\00\E0\D5\E2\F1\E8\00\F1\F2\F4\CC\E8\F2\EE\E1\F2\F8\00\E0\C8\F7\E8\E0\C8\E1\F2\F8\00\F0A\C8\D4\F2\EE\E1\F2\F8\00\D7\96\D7\95\D7\A0'\00\D7\9E\D7\90\D6\B8\D7\A0'\00\D7\93\D7\99\D7\A0'\00\D7\9E\D7\99\D7\98'\00\D7\93\D7\90\D6\B8\D7\A0'\00\D7\A4\D6\BF\D7\A8\D7\B2\D6\B7'\00\D7\96\D7\95\D7\A0\D7\98\D7\99\D7\A7\00\D7\9E\D7\90\D6\B8\D7\A0\D7\98\D7\99\D7\A7\00\D7\93\D7\99\D7\A0\D7\A1\D7\98\D7\99\D7\A7\00\D7\9E\D7\99\D7\98\D7\B0\D7\90\D6\B8\D7\9A\00\D7\93\D7\90\D6\B8\D7\A0\D7\A2\D7\A8\D7\A9\D7\98\D7\99\D7\A7\00\D7\A4\D6\BF\D7\A8\D7\B2\D6\B7\D7\98\D7\99\D7\A7\00\D7\99\D7\90\D6\B7\D7\A0'\00\D7\A4\D6\BF\D7\A2\D7\91'\00\D7\9E\D7\90\D6\B7\D7\A8'\00\D7\90\D6\B7\D7\A4\D6\BC\D7\A8'\00\D7\9E\D7\B2\D6\B7\00\D7\99\D7\95\D7\A0'\00\D7\99\D7\95\D7\9C'\00\D7\90\D7\B1\D7\92'\00\D7\A1\D7\A2\D7\A4\D6\BC'\00\D7\90\D6\B8\D7\A7\D7\98'\00\D7\A0\D7\90\D6\B8\D7\B0'\00\D7\93\D7\A2\D7\A6'\00\D7\99\D7\90\D6\B7\D7\A0\D7\95\D7\90\D6\B7\D7\A8\00\D7\A4\D6\BF\D7\A2\D7\91\D7\A8\D7\95\D7\90\D6\B7\D7\A8\00\D7\9E\D7\90\D6\B7\D7\A8\D7\A5\00\D7\90\D6\B7\D7\A4\D6\BC\D7\A8\D7\99\D7\9C\00\D7\90\D7\B1\D7\92\D7\A1\D7\98\00\D7\A1\D7\A2\D7\A4\D6\BC\D7\98\D7\A2\D7\9E\D7\91\D7\A2\D7\A8\00\D7\90\D6\B8\D7\A7\D7\98\D7\90\D6\B8\D7\91\D7\A2\D7\A8\00\D7\A0A\D6\B8\D7\B0\D7\A2\D7\9E\D7\91\D7\A2\D7\A8\00\E4\B8\80\00\E4\BA\8C\00\E4\B8\89\00\E5\9B\9B\00\E4\BA\94\00\E5\85\AD\00\E6\98\9F\E6\9C\9F\E6\97\A5\00\E6\98\9F\E6\9C\9F\E4\B8\80\00\E6\98\9F\E6\9C\9F\E4\BA\8C\00\E6\98\9F\E6\9C\9F\E4\B8\89\00\E6\98\9F\E6\9C\9F\E5\9B\9B\00\E6\98\9F\E6\9C\9F\E4\BA\94\00\E6\98\9F\E6\9C\9F\E5\85\AD\00\E4\B8\80\E6\9C\88\00\E4\BA\8C\E6\9C\88\00\E4\B8\89\E6\9C\88\00\E5\9B\9B\E6\9C\88\00\E4\BA\94\E6\9C\88\00\E5\85\AD\E6\9C\88\00\E4\B8\83\E6\9C\88\00\E5\85\AB\E6\9C\88\00\E4\B9\9D\E6\9C\88\00\E5\8D\81\E6\9C\88\00\E5\8D\81\E4\B8\80\E6\9C\88\00\E5\8D\81\E4\BA\8C\E6\9C\88\00\E4\B8\8A\E5\8D\88\00\E4\B8\8B\E5\8D\88\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %A %H\E6\97\B6%M\E5\88\86%S\E7\A7\92\00%H\E6\97\B6%M\E5\88\86%S\E7\A7\92\00%p %I\E6\97\B6%M\E5\88\86%S\E7\A7\92\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %A %H:%M:%S\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %A\00%I\E6\99\82%M\E5\88\86%S\E7\A7\92 %Z\00%p %I:%M:%S\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %H\E6\97\B6%M\E5\88\86%S\E7\A7\92 %Z\00%H\E6\97\B6%M\E5\88\86%S\E7\A7\92 %Z\00\E9\80\B1\E6\97\A5\00\E9\80\B1\E4\B8\80\00\E9\80\B1\E4\BA\8C\00\E9\80\B1\E4\B8\89\00\E9\80\B1\E5\9B\9B\00\E9\80\B1\E4\BA\94\00\E9\80\B1\E5\85\AD\00\E8\A5\BF\E5\85\83%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 (%A) %H\E6\99\82%M\E5\88\86%S\E7\A7\92\00\E8\A5\BF\E5\85\83%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5\00%p %I\E6\99\82%M\E5\88\86%S\E7\A7\92\00", [1804 x i8] c"\00^[yY]\00^[nN]\00[jJ].*\00[nN].*\00^[yY].*\00^[nN].*\00^[\E6].*\00^[\E4].*\00^[\D9\86].*\00^[\D9\84].*\00^[\D9\86]\00^[\D9\84]\00\D9\86\D8\B9\D9\85\00\D9\84\D8\A7\00^(\E6|\E6\D9\E5)\00^(\E4|\E4\C7)\00\E6\D9\E5\00\E4\C7\00^(\D9\86|\D9\86\D8\B9\D9\85)\00^(\D9\84|\D9\84\D8\A7)\00^[Bb].*\00^[YyNn].*\00yox\00b\C9\99li\00^[\C4\E4Yy].*\00^[\CD\EDNn].*\00^[\D0\94\D0\B4Yy].*\00^[\D0\9D\D0\BDNn].*\00^[+1\C4\E4DdYyOo].*\00^[-0\CD\EDNnKk].*\00^[+1\D0\94\D0\B4DdYyOo].*\00^[-0\D0\9D\D0\BDNnKk].*\00[yYsS\D5\A1\D4\B1].*\00[nN\D5\B8\D5\88].*\00\D5\A1\D5\B5\D5\B8\00\D5\B8\D5\B9\00^[\E0\A6\B9\E0\A7\8D\E0\A6\AF\E0\A6\BE\E0\A6\81]\00^[\E0\A6\A8\E0\A6\BE]\00\E0\A6\B9\E0\A7\8D\E0\A6\AF\E0\A6\BE\E0\A6\81\00\E0\A6\A8\E0\A6\BE\00[oOyY].*\00^[dDyY]*.\00^[nN]*.\00[sSyY].*\00^[aAyY].*\00ano\00ne\00[iItTyY].*\00ie\00na\00^[1JjYy].*\00^[0Nn].*\00^[jJyY].*\00^[\ED\CDyY].*\00^[\EF\CFnN].*\00^[\CE\BD\CE\9DyY].*\00^[\CE\BF\CE\9FnN].*\00[yY].*\00^[yYoO].*\00^[1JjsSyYoO].*\00^[0nN].*\00Yes\00No\00^[JjYy].*\00^[sSyY].*\00^[EeNn].*\00^[bBsSyY].*\00^[eEnN].*\00[yY\D8\A8f].*\00[nN\D8\AE\D9\86o].*\00^[KkJjYy].*\00^[NnEe].*\00^[Nn].*\00^[oOjJyY1].*\00^[nN0].*\00^[oOyY].*\00^[OojJsSyY].*\00^[tTyY].*\00^[Yy\EB].*\00^[Nn\EC].*\00^[Yy\D7\9B].*\00^[Nn\D7\9C].*\00^[dDyY].*\00^[IiYy].*\00[yYsS\B3\B2].*\00[nN\E1\E0].*\00\B3\DB\E1\00\E1\E3\00[tTnN].*\00^[sSjJoOyY].*\00^([yY\EF\BD\99\EF\BC\B9]|\E3\81\AF\E3\81\84|\E3\83\8F\E3\82\A4)\00^([nN\EF\BD\8E\EF\BC\AE]|\E3\81\84\E3\81\84\E3\81\88|\E3\82\A4\E3\82\A4\E3\82\A8)\00\E3\81\AF\E3\81\84\00\E3\81\84\E3\81\84\E3\81\88\00[1yYkKxX\E1].*\00[0nNaA\C0].*\00[1yYkKxX\E1\83\AE].*\00[0nNaA\E1\83\90].*\00^[JjYyAa].*\00^[yY\EC\98\88]\00^[nN\EC\95\84\EB\8B\88\EC\98\A4]\00[eE].*\00^[TtYy].*\00^[1yY\E2\C2\E4\C4aA].*\00^[0nNkK].*\00\E2e\00k\E2ore\00^[1yY\C4\81\C4\80\C3\A4\C3\84aA].*\00\C4\81e\00k\C4\81ore\00[\B4\D4DdYy1].*\00[\BD\DDNn0].*\00\D4\D0\00\DD\D5\00[\D0\94\D0\B4DdYy1].*\00[\D0\9D\D0\BDNn0].*\00\D0\B4\D0\B0\00\D0\BD\D0\B5\00^(Yes|[yY])\00^(No|[nN])\00^[tT]\00Ya\00Tidak\00[oOsS].*\00^[SsyY].*\00^[DdYy].*\00^[\E4\C4Yy].*\00^[\EE\CENn].*\00^[\B4\D4Yy].*\00^[\BD\DDNn].*\00[\E4\C4Yy].*\00[\EE\CENn].*\00[\D0\94\D0\B4Yy].*\00[\D0\9D\D0\BDNn].*\00^[Ii].*\00[aA\E1\C1yY].*\00\E1no\00nie\00[aA\C3\A1\C3\81yY].*\00\C3\A1no\00^[YyJj].*\00[dDyY1].*\00[nN0].*\00[\B4\D4Yy].*\00[\BD\DDNn].*\00^[\E0\AE\86\E0\AE\AE\E0\AF\8D]\00^[\E0\AE\87\E0\AE\B2\E0\AF\8D\E0\AE\B2\E0\AF\88]\00\E0\AE\86\E0\AE\AE\E0\AF\8D\00\E0\AE\87\E0\AE\B2\E0\AF\8D\E0\AE\B2\E0\AF\88\00^[\E0\B0\85]\00^[\E0\B0\95]\00\E0\B0\85\E0\B0\B5\E0\B0\A8\E0\B1\81\00\E0\B0\95\E0\B0\BE\E0\B0\A6\E0\B1\81\00\C4\C1\00\CE\C5\D4\00\D0\BD\D0\B5\D1\82\00^[yY\AA]\00^[nN\C1]\00\E3\AA\E8\00\E4\C1\E8\E3\AA\E8\00^[yY\E0\B8\8A]\00^[nN\E0\B8\A1]\00\E0\B9\83\E0\B8\8A\E0\B9\88\00\E0\B9\84\E0\B8\A1\E0\B9\88\E0\B9\83\E0\B8\8A\E0\B9\88\00^[eE].*\00^[hH].*\00evet\00hay\FDr\00hay\C4\B1r\00\D3\98\D0\B9\D0\B5\00\D0\AE\D0\BA\00[\F4\D4Yy].*\00[\D0\A2\D1\82Yy].*\00[yY\D9\87\D8\A8f].*\00[nN\D9\86o].*\00\D8\A8\D9\84\D9\83\D9\84\00\D9\86\D9\87\D9\8A\DA\BA\00^[YyHh].*\00^[JjNn].*\00Ha\00Yo'q\00[oOyYaAwW].*\00Oyi\00Neni\00^[Yy\E9].*\00^[Nn\F0\F7].*\00\E9\E0\C7\00\F7\D6\EF\00^[Yy\D7\99].*\00^[Nn\D7\A0\D7\A7].*\00\D7\99\D7\90\D6\B7\00\D7\A7\D7\B2\D7\9F\00^[yY\E6\98\AF]\00^[nN\E4\B8\8D\E5\90\A6]\00", [23 x %struct.__codeset_8_bit_t.202] [%struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\01\02\03\04\04\04\04\04\04\04\04\05", [16 x i8] c"\00\00\00\00\01\02\03\04\04\04\04\04\04\04\04\05", [16 x i8] c"\00\01\02\03\04\05\06\07\08\09\0A\0B\0C\0D\0E\0F", [38 x i8] c"\00\01\01\01\01\02\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\03\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06", [16 x i8] zeroinitializer, [16 x i8] c"\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10", [38 x i8] c"\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\07\08\09\0A\0B\0C\0D\0E\0F\0F\0F\0F\10\10\10\10", [16 x i8] c"\06\07\08\07\09\0A\0B\0C\0D\0D\0D\0D\0D\0D\0D\0D", [16 x i8] c"\11\12\13\14\15\16\17\18\19\1A\1B\1C\1D\1E\1F ", [38 x i8] c"\04\01\01\01\05\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\06\07\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\11\12\13\12\02\02\14\02\02\15\16\17\18\18\18\19", [16 x i8] zeroinitializer, [16 x i8] c"!\22#$%&'()*+,-./0", [38 x i8] c"\08\09\0A\01\01\0B\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\0C\0D\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\1A\1B\1C\1D\02\1E\14\1E\18\18\18\18\1F\10 \10", [16 x i8] c"\00\0E\00\0F\00\00\00\00\00\00\00\00\00\00\00\10", [16 x i8] c"123456'789:;<=>?", [38 x i8] c"\0E\0F\0A\01\01\01\01\01\01\01\01\01\01\01\01\01\10\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\11\0D\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\02\1E\14\1E\0F\0F!\22\10\10 \10", [16 x i8] c"\00\00\00\00\00\00\00\00\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\0356'7@ABCD=>?", [38 x i8] c"\12\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00#$%&\0F\0F\0F\22\10\10\10'", [16 x i8] c"\00\00\00\00\12\13\12\13\0D\0D\0D\11\0D\0D\0D\11", [16 x i8] c"\00\01\02\03EFGHIJKLMNOP", [38 x i8] c"\13\14\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\15\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\02\0C\14(\0F\0F!\22\10\10 ", [16 x i8] c"\00\00\00\00\00\0A\00\0A\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\03QRSTUVWXYZ[\\", [38 x i8] c"\16\17\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\18\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00)*+,\0F\0F\0F\22\10\10\10\10", [16 x i8] c"\00\00\00\00\14\15\16\17\0D\0D\0D\11\0D\0D\0D\18", [16 x i8] c"\00\01\02\03]^_`@AabD=cd", [38 x i8] c"\19\1A\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\1B\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00-./0\0F\0F!\22\10\10 \10", [16 x i8] c"\00\00\00\00\19\1A\1B\1C\0D\0D\11\11\0D\0D\11\1D", [16 x i8] c"\00\01\02\03efgh@ABCD=>?", [38 x i8] c"\1C\1D\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\1E\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\001234\0F\0F\0F\22\10\10\10\10", [16 x i8] c"\00\00\00\00\1E\1F !\0D\0D\0D\11\0D\0D\0D\1D", [16 x i8] c"\00\01\02\03ijklmAnop=qr", [38 x i8] c"\1F !\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\22\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\005678\0F\0F!\22\10\10 ", [16 x i8] c"\00\00\00\00\22#\22#\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\03stuvwxyz{|}~", [38 x i8] c"#$%\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\009:;<=\0F>\22?\10@ ", [16 x i8] c"\00\00\00\00$%$&'\0D(\11'\0D(\11", [16 x i8] c"\00\01\02\03\7F\80\81\82\83A\84\85\86=\87\88", [38 x i8] c"&'(\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00AB7C\0F\0F!\22\10\10 ", [16 x i8] c"\00\00\00\00\22)\22*\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\03\89\8A\8B\8CI\8D\8E\8FM\90\91\92", [38 x i8] c")*+\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00D$\0F\0F\0F\0F\10\10\10\10E&", [16 x i8] c"\00\00\00\00+,\0D\0D\0D\0D\0D\0D\0D\0D+,", [16 x i8] c"\00\01\02\03\93\94\19\1A\1B\1C\1D\1E\1F \95\96", [38 x i8] c",\01\01\01-\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01.\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00FG\06HI\18\18J\18KL\06", [16 x i8] zeroinitializer, [16 x i8] c"\00\01\02\03\97\98\10\99\9A\9B\9C\9D\9E\9F\A0\10", [38 x i8] c"/\01\01\01\01\010\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00MN-OP\0FQRS\10\10T", [16 x i8] c"\00\00\00\00\00\00-./\0D01/\0D23", [16 x i8] c"\00\01\02\03\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC", [38 x i8] c"1\01\012\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\013\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00U\02\14V\06\06\06W\18\18\18\19", [16 x i8] zeroinitializer, [16 x i8] c"\00\01\02\03\AD&'\AE\10\10\10\AF-./0", [38 x i8] c"4\01\01\01\015\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\016\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\02\1E\14\1E\0F\0F!\22\10\10 \10", [16 x i8] c"\00\00\00\00\00\00\00\00\0D\0D\114\0D\0D\115", [16 x i8] c"\00\01\02\0356'7@A\B0\B1D=\B2\B3", [38 x i8] c"78\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\02\02\02\02X\02Y\02\10\10\10\10\0F\0F\0F\0F", [16 x i8] c"\00\00\00\006\006\0077777777", [16 x i8] c"\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\BF\C0\C1\C2\C3", [38 x i8] c"9\01\01\01:\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01;<\01=" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"Z[\\]^_`a\10\10\10\10\0F\0F\0F\0F", [16 x i8] c"89:\00;\00<\0077777777", [16 x i8] c"\C4\C5\C6\C7\C8\C9\CA\CB\BC\BD\BE\BF\C0\C1\C2\C3", [38 x i8] c">\01\01\01?\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\11\07\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\02\02\02\02b\14cd\10\10\10\10\0F\0F\0F\0F", [16 x i8] c"\00\00\00\00=>=>77777777", [16 x i8] c"\B4\B5\B6\B7\CC\CD\CE\CF\BC\BD\BE\BF\C0\C1\C2\C3", [38 x i8] c"9\01\01\01@\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01;<\01A" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\06\06\06\06I\18\18\18\18e\18fge\18h", [16 x i8] zeroinitializer, [16 x i8] c"\10\10\10\10\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB", [38 x i8] c"\01\01\01\01\01\01\01\01\01\01\01\01\01\01B\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }], [20 x i8] c"\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\01\01\01\01\01", [10 x i16] [i16 0, i16 2, i16 4, i16 6, i16 8, i16 10, i16 12, i16 14, i16 16, i16 18], [20 x i16] [i16 1, i16 21, i16 3, i16 24, i16 5, i16 27, i16 7, i16 30, i16 9, i16 33, i16 11, i16 36, i16 13, i16 39, i16 15, i16 42, i16 17, i16 45, i16 19, i16 48], [45 x i8] c"\00\00\00\01\01\01\00\02\01\00\02\02\01\00\01\01\00\00\01\03\01\01\04\01\00\05\01\01\01\00\02\06\01\01\05\00\01\07\01\01\05\01\00\02\03", [3 x i16] [i16 0, i16 3, i16 11], [15 x i16] [i16 1, i16 3, i16 17, i16 0, i16 1, i16 3, i16 10, i16 12, i16 15, i16 20, i16 23, i16 0, i16 5, i16 7, i16 25], [3894 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\03\03\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\03\03\04\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\04\04\05\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\05\04\06\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\06\05\07\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\07\05\08\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\08\06\09\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\09\06\0A\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0A\07\0B\02\02\02\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\0B\08\0C\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0C\08\0D\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0D\09\0E\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0E\09\0F\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0F\0A\10\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\10\0A\11\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\11\0B\12\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\12\0B\13\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\13\0C\14\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\14\0C\15\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\15\0D\16\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\16\0D\17\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\17\0E\18\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\18\0E\19\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\19\0F\1A\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1A\0F\1B\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1B\10\1C\02\00\00\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01\1C\10\1D\02\00\00\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01\1D\11\1E\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1E\11\1F\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1F\12 \02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02 \12!\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02!\13\22\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\22\13#\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02#\14$\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02$\14%\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02%\15&\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01&\16'\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01'\16(\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01(\17)\01\04\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01)\17*\01\05\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01*\00+\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01+\07,\02\02\03\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01,\18-\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01-\18.\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01.\19/\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01/\18-\01\01\03\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\01\03\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\011\180\01\01\03\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\012\1A1\01\04\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\013\1A2\01\05\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\014\1B3\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\015\1B4\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\016\1C5\01\01\01\00\01\01\01\01\03\01\03\02\03\01\03\01\03\02\037\18-\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\011\180\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\012\18-\01\01\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\030\18.\01\01\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\031\180\01\01\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\032\1D6\02\03\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\038\18-\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01-\18.\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01.\180\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\019\18-\01\01\01\00\01\04\04\02\01\01\01\01\01\02\01\01\01\01\01-\18.\01\01\01\00\01\04\04\02\01\01\01\01\01\02\01\01\01\01\01.\1E\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\1F7\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01: \02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\1C0\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\012\1C8\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01;!9\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04<\18-\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\010\18.\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\011\180\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\012\22\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02#:\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04=$\02\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04\02%\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\01\01\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01&;\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01>\18<\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01?'\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02(=\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01@)\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02*\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02+>\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01A,\02\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02-\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02\18-\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\011\180\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\012.?\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01B/@\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01C0\02\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\021A\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01D2B\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01E3C\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01F%\02\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\024D\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01G5E\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01H5F\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01I6G\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01J7H\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01K85\01\04\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01785\01\05\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\017\18-\01\01\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\01\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\011\180\01\01\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\0129I\03\06\01\00\01\03\03\02\02\02\02\01\01\02\02\02\02\01\01L\18-\01\01\01\00\01\01\01\02\03\02\03\01\01\02\03\02\03\01\01-\18.\01\01\01\00\01\01\01\02\03\02\03\01\01\02\03\02\03\01\01.\180\01\01\01\00\01\01\01\02\03\02\03\01\01\02\03\02\03\01\019 \02\01\03\01\00\01\01\01\02\02\02\02\01\04\02\02\02\02\01\04M\180\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\019:J\02\02\01\00\01\01\01\01\02\01\02\03\02\01\02\01\02\03\02N:K\02\02\01\00\01\01\01\01\02\01\02\03\02\01\02\01\02\03\02O\07L\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01P;M\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01QQ\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01U?5\01\01\01\00\01\03\03\02\02\02\02\01\01\02\02\02\02\01\01V@R\02\02\01\00\01\03\03\01\01\01\01\01\03\01\01\01\01\01\03WAS\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01XAT\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01YBU\02\02\01\00\01\03\03\01\01\01\01\01\03\01\01\01\01\01\03ZCV\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01[DW\01\04\01\00\01\01\01\01\02\01\02\04\05\01\02\01\02\04\05\\DW\01\05\01\00\01\01\01\01\02\01\02\04\05\01\02\01\02\04\05\\EX\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01]EY\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01^\07Z\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01_F[\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04`G\\\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04a\18-\01\03\01\00\01\01\01\01\02\01\02\01\02\01\02\01\02\01\020\18.\01\03\01\00\01\01\01\01\02\01\02\01\02\01\02\01\02\01\021\180\01\03\01\00\01\01\01\01\02\01\02\01\02\01\02\01\02\01\022H5\01\04\01\00\01\01\01\01\02\01\01\01\05\01\02\01\01\01\057H5\01\05\01\00\01\01\01\01\02\01\01\01\05\01\02\01\01\01\057H5\01\01\01\00\01\01\01\01\01\01\01\02\03\01\01\01\01\02\037I]\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01bI^\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01cJ_\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01d\18-\04\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01-\18.\04\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01.\180\04\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\019K`\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01eLa\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01fLb\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01gL(\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01(Mc\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01hMd\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01iHe\01\01\01\00\01\01\01\01\01\01\01\02\03\01\01\01\01\02\03jNf\01\04\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01kNf\01\05\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01kOg\01\03\01\00\01\01\01\02\03\02\03\03\02\02\03\02\03\03\02lPh\01\01\01\00\01\02\02\01\01\01\01\01\01\01\01\01\01\01\01mQi\01\03\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\01nQj\01\03\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\01oQk\01\03\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\01pR5\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01V\07L\02\02\03\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01PSl\02\02\01\00\01\01\01\01\03\01\03\02\03\01\03\01\03\02\03qSm\02\02\01\00\01\01\01\01\03\01\03\02\03\01\03\01\03\02\03rT\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02#n\02\02\01\00\01\01\01\01\01\01\02\01\01\01\01\01\02\01\01sUo\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01tVp\02\02\01\00\01\01\01\01\02\01\01\03\01\01\02\01\01\03\01uWq\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01vXr\01\01\01\00\01\01\01\02\01\01\01\01\01\02\01\01\01\01\01w%\02\02\02\01\00\01\01\01\01\02\01\02\03\02\01\02\01\02\03\02\02YR\02\02\01\00\01\01\01\01\01\01\01\02\03\01\01\01\01\01\01WZs\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01x", [22 x i16] [i16 0, i16 91, i16 207, i16 212, i16 219, i16 223, i16 224, i16 226, i16 231, i16 236, i16 239, i16 243, i16 246, i16 250, i16 255, i16 261, i16 264, i16 268, i16 271, i16 275, i16 280, i16 286], [407 x i16] [i16 0, i16 5, i16 25, i16 35, i16 66, i16 97, i16 128, i16 159, i16 176, i16 207, i16 238, i16 269, i16 300, i16 331, i16 362, i16 393, i16 424, i16 459, i16 490, i16 521, i16 552, i16 583, i16 601, i16 630, i16 697, i16 720, i16 747, i16 768, i16 785, i16 799, i16 816, i16 821, i16 833, i16 845, i16 859, i16 864, i16 878, i16 883, i16 888, i16 906, i16 911, i16 923, i16 928, i16 933, i16 943, i16 948, i16 953, i16 963, i16 975, i16 980, i16 992, i16 1004, i16 1016, i16 1030, i16 1047, i16 1059, i16 1073, i16 1078, i16 1111, i16 1149, i16 1161, i16 1173, i16 1190, i16 1202, i16 1211, i16 1225, i16 1244, i16 1258, i16 1270, i16 1282, i16 1326, i16 1338, i16 1350, i16 1355, i16 1376, i16 1388, i16 1402, i16 1425, i16 1457, i16 1469, i16 1483, i16 1497, i16 1535, i16 1540, i16 1559, i16 1573, i16 1585, i16 1597, i16 1613, i16 1627, i16 1632, i16 0, i16 10, i16 30, i16 40, i16 51, i16 71, i16 82, i16 102, i16 113, i16 133, i16 144, i16 164, i16 181, i16 192, i16 212, i16 223, i16 243, i16 254, i16 274, i16 285, i16 305, i16 316, i16 336, i16 347, i16 367, i16 378, i16 398, i16 409, i16 429, i16 440, i16 464, i16 475, i16 495, i16 506, i16 526, i16 537, i16 557, i16 568, i16 588, i16 606, i16 615, i16 635, i16 644, i16 658, i16 667, i16 702, i16 711, i16 725, i16 742, i16 752, i16 759, i16 773, i16 778, i16 790, i16 804, i16 826, i16 838, i16 850, i16 869, i16 893, i16 697, i16 916, i16 938, i16 958, i16 968, i16 985, i16 997, i16 1009, i16 1021, i16 1035, i16 1040, i16 1052, i16 1064, i16 1083, i16 1116, i16 1123, i16 1134, i16 1154, i16 1166, i16 1178, i16 1183, i16 1195, i16 1216, i16 1230, i16 1235, i16 1249, i16 1263, i16 1275, i16 1287, i16 1296, i16 1311, i16 1331, i16 1343, i16 1360, i16 1367, i16 1381, i16 1393, i16 1407, i16 1416, i16 1430, i16 1437, i16 1448, i16 1462, i16 1474, i16 1488, i16 1502, i16 1511, i16 1520, i16 1545, i16 1550, i16 1564, i16 1578, i16 1590, i16 1602, i16 1618, i16 1637, i16 0, i16 12, i16 14, i16 1092, i16 30, i16 0, i16 14, i16 12, i16 593, i16 638, i16 649, i16 1095, i16 0, i16 16, i16 168, i16 680, i16 0, i16 0, i16 3, i16 1, i16 18, i16 16, i16 0, i16 793, i16 1, i16 18, i16 16, i16 0, i16 793, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 793, i16 18, i16 16, i16 1, i16 20, i16 18, i16 793, i16 0, i16 16, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 793, i16 18, i16 16, i16 1, i16 20, i16 18, i16 793, i16 0, i16 16, i16 3, i16 22, i16 32, i16 45, i16 58, i16 76, i16 89, i16 107, i16 120, i16 138, i16 151, i16 171, i16 186, i16 199, i16 217, i16 230, i16 248, i16 261, i16 279, i16 292, i16 310, i16 323, i16 341, i16 354, i16 372, i16 385, i16 403, i16 416, i16 434, i16 449, i16 469, i16 482, i16 500, i16 513, i16 531, i16 544, i16 562, i16 575, i16 595, i16 610, i16 622, i16 640, i16 652, i16 662, i16 683, i16 706, i16 715, i16 728, i16 732, i16 737, i16 744, i16 755, i16 763, i16 775, i16 781, i16 795, i16 808, i16 813, i16 829, i16 841, i16 854, i16 873, i16 896, i16 900, i16 919, i16 940, i16 960, i16 971, i16 988, i16 1000, i16 1012, i16 1025, i16 1037, i16 1043, i16 1055, i16 1068, i16 1098, i16 1108, i16 1119, i16 1128, i16 1141, i16 1157, i16 1169, i16 1180, i16 1186, i16 1198, i16 1207, i16 1220, i16 1232, i16 1239, i16 1253, i16 1266, i16 1278, i16 1291, i16 1303, i16 1318, i16 1334, i16 1346, i16 1363, i16 1371, i16 1384, i16 1397, i16 1411, i16 1420, i16 1433, i16 1442, i16 1452, i16 1465, i16 1478, i16 1492, i16 1506, i16 1515, i16 1527, i16 1547, i16 1554, i16 1568, i16 1581, i16 1593, i16 1607, i16 1622, i16 1641], [8250 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\00\00\00\00\01\00\00\00\00\01\00\01\01\01\01\00\01\01\01\01\00\01\00\01\01\01\01\01\01\01\00\00\00\00\00\00\02\02\02\02\02\02\02\02\02\02\02\02\02\02\01\01\01\01\02\01\01\01\01\02\01\02\02\02\02\01\02\02\02\02\01\02\01\02\02\02\02\02\02\00\00\00\00\00\00\00\03\03\03\03\03\03\03\03\03\03\03\03\03\03\02\02\02\02\03\02\02\02\02\03\02\03\03\03\03\02\03\03\03\03\02\03\02\03\03\03\03\03\03\02\00\00\00\00\00\00\04\04\04\04\04\04\04\04\04\04\04\04\04\04\03\03\03\03\04\03\03\03\03\04\03\04\04\04\04\03\04\04\04\04\03\04\03\04\04\04\03\03\03\02\00\00\00\00\00\00\03\03\03\03\03\03\03\03\03\03\03\03\03\05\02\02\02\02\03\02\02\02\02\03\02\03\03\03\03\02\03\03\03\03\02\03\02\03\03\03\03\03\03\02\00\00\00\00\00\00\04\04\04\04\04\04\04\04\04\04\04\04\04\06\03\03\03\03\04\03\03\03\03\04\03\04\04\04\04\03\04\04\04\04\03\04\03\04\04\04\03\03\03\02\00\00\00\00\00\00\04\04\04\04\04\04\04\04\04\04\04\04\04\06\03\03\03\03\04\03\03\03\03\04\03\04\04\04\04\03\04\04\04\04\03\04\03\04\04\04\04\04\04\03\00\00\00\00\00\00\05\05\05\05\05\05\05\03\03\03\03\03\03\05\04\04\04\04\05\04\04\04\04\05\04\05\05\05\05\04\05\05\05\05\04\05\04\05\03\03\03\03\03\02\00\00\00\00\00\00\06\06\06\06\06\06\06\04\04\04\04\04\04\06\05\05\05\05\06\05\05\05\05\06\05\06\06\06\06\05\06\06\06\06\05\06\05\06\04\04\03\03\03\02\00\00\00\00\00\00\00\00\00\00\00\00\00\03\05\03\03\03\05\05\00\00\00\00\00\00\00\00\00\00\00\00\05\05\05\06\07\05\07\05\04\05\04\05\05\05\05\05\05\04\00\00\00\00\00\00\00\00\00\00\00\00\00\04\06\04\04\04\06\06\00\00\00\00\00\00\00\00\00\00\00\00\06\06\06\07\08\06\08\06\05\06\05\06\05\05\05\05\05\04\00\00\00\00\00\00\05\05\05\05\05\05\05\03\03\03\03\03\03\05\04\04\04\04\05\04\04\04\04\05\04\05\05\05\05\04\09\07\05\05\04\05\04\05\03\03\03\03\03\02\00\00\00\00\00\00\06\06\06\06\06\06\06\04\04\04\04\04\04\06\05\05\05\05\06\05\05\05\05\06\05\06\06\06\06\05\0A\08\06\06\05\06\05\06\04\04\03\03\03\02\00\00\00\00\00\00\07\07\07\07\07\07\07\05\07\05\05\05\07\07\06\06\00\00\00\06\06\06\06\01\06\07\07\07\07\08\0B\09\09\07\06\07\06\07\05\05\06\06\01\01\00\00\00\00\00\00\07\07\07\08\08\08\07\06\08\06\06\06\08\08\06\06\00\00\00\07\07\06\06\01\06\07\07\07\07\08\0B\09\09\07\06\07\06\07\05\05\06\06\01\01\00\00\00\00\00\00\08\08\08\09\09\09\08\07\09\07\07\07\09\09\07\07\06\06\07\08\08\07\07\07\07\08\08\08\08\09\0C\0A\0A\08\07\08\07\08\05\05\07\06\01\01\00\00\00\00\00\00\09\09\09\0A\0A\0A\09\08\0A\08\08\08\0A\0A\08\08\07\07\08\09\09\08\08\08\08\09\09\09\09\0A\0D\0B\0B\09\08\09\08\09\05\05\07\06\01\01\00\00\00\00\00\00\0A\0A\0A\0B\0B\0B\0A\09\0B\09\09\09\0B\0B\09\09\08\08\09\0A\0A\09\09\09\09\0A\0A\0A\0A\0B\0E\0C\0C\0A\09\0A\09\0A\05\05\08\07\06\05\00\00\00\00\00\00\0B\0B\0B\0C\0C\0C\0B\0A\0C\0A\0A\0A\0C\0C\0A\0A\09\09\0A\0B\0B\0A\0A\0A\0A\0B\0B\0B\0B\0C\0F\0D\0D\0B\0A\0B\0A\0B\05\05\08\07\06\05\00\00\00\00\00\00\0C\0C\0C\0D\0D\0D\0C\0B\0D\0B\0B\0B\0D\0D\0B\0B\0A\0A\0B\0C\0C\0B\0B\0B\0B\0C\0C\0C\0C\0D\10\0E\0E\0C\0B\0C\0B\0C\06\06\09\08\04\03\00\00\00\00\00\00\0C\0C\0C\0D\0D\0D\0C\0B\0D\0B\0B\0B\0D\0D\0C\0C\0B\0B\0B\0C\0D\0C\0C\0B\0B\0C\0C\0C\0C\0D\10\0E\0E\0C\0C\0D\0C\0D\07\07\09\08\04\03\00\00\00\00\00\00\0D\0D\0D\0E\0E\0E\0D\0C\0E\0C\0C\0C\0E\0E\0D\0D\0C\0C\0C\0D\0E\0D\0D\0C\0C\0D\0D\0D\0D\0E\11\0F\0F\0D\0D\0E\0D\0E\08\08\0A\06\01\06\00\00\00\00\00\00\0E\0E\0E\0F\0F\0F\0E\0D\0F\0D\0D\0D\0F\0F\00\00\00\00\0D\00\00\00\00\01\00\00\0E\0E\0E\00\12\10\10\00\0E\0F\0E\0F\05\05\07\06\01\01\00\00\00\00\00\00\0E\0E\0E\0F\10\0F\0E\0D\0F\0D\0D\0E\0F\0F\00\00\00\00\0D\00\00\00\00\01\00\00\0E\0E\0E\00\12\10\10\00\0E\0F\0E\0F\05\05\07\06\01\01\00\00\00\00\00\00\0F\0F\0F\10\11\10\0F\0E\10\0E\0E\0F\10\10\0E\0E\0D\0D\0E\0E\0F\0E\0E\0D\0D\0E\0F\0F\0F\0F\13\11\11\0E\0F\10\0F\10\05\05\01\01\01\01\00\00\00\00\00\00\0F\0F\0F\10\11\10\0F\0E\10\0E\0E\0F\10\10\0E\0E\0D\0D\0E\0E\0F\0E\0E\0D\0D\0E\0F\0F\10\0F\13\11\11\0E\0F\10\0F\10\05\05\01\01\01\01\00\00\00\00\00\00\10\10\10\11\12\11\10\0F\11\0F\0F\10\11\11\0F\0F\0E\0E\0F\0F\10\0F\0F\0E\0E\0F\10\10\11\10\14\12\12\0F\10\11\10\11\05\05\0B\06\00\07\00\00\00\00\00\00\10\10\11\11\13\12\10\10\12\10\10\11\12\11\0F\10\0F\0E\10\10\11\0F\10\0F\0E\0F\10\11\12\10\15\13\13\0F\11\12\10\11\05\05\0C\06\00\07\00\00\00\00\00\00\11\11\12\12\14\13\11\11\13\11\11\12\13\12\10\11\10\0F\11\11\12\10\11\10\0F\10\11\12\13\11\16\14\14\10\12\13\11\12\05\05\0D\09\01\01\00\00\00\00\00\00\12\12\13\13\15\14\12\12\14\12\12\13\14\13\11\0E\0D\10\12\0E\0F\11\12\11\0D\11\12\13\14\12\17\15\15\11\13\14\12\13\05\05\01\0A\01\01\00\00\00\00\00\00\13\12\13\13\15\14\13\13\14\12\12\13\14\14\11\0E\0D\10\12\0E\0F\11\12\11\0D\11\12\13\14\12\17\15\15\11\13\14\12\13\05\05\01\0A\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\12\00\11\00\11\00\00\00\00\01\00\12\13\14\15\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\13\00\12\00\11\00\00\00\00\01\00\12\14\14\16\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\11\00\11\00\00\00\00\01\00\12\0E\0E\15\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\12\00\11\00\00\00\00\01\00\12\0E\0E\16\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\11\00\11\00\00\00\00\01\00\12\0E\0E\15\00\16\10\10\00\00\01\00\14\05\05\01\06\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\12\00\11\00\00\00\00\01\00\12\0E\0E\16\00\16\10\10\00\00\01\00\14\05\05\01\06\01\01\00\00\00\00\00\00\15\13\15\15\17\16\15\15\16\14\14\15\16\16\14\12\13\11\13\12\13\12\13\12\10\13\15\15\17\13\18\16\16\12\14\15\13\15\05\05\01\02\01\01\00\00\00\00\00\00\16\14\16\16\18\17\16\16\17\15\15\16\17\17\15\13\14\12\14\13\14\13\14\13\11\14\16\16\18\14\19\17\17\13\15\16\14\16\05\05\01\02\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\05\01\01\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\01\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\05\0F\0B\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\10\0C\07\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\04\04\04\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\11\0D\04\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\12\0E\04\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\0F\02\00\00\00\00\00\00\00\17\0D\17\0E\19\18\17\17\18\16\16\17\18\18\00\00\00\00\0D\00\00\14\00\01\00\00\17\17\19\15\1A\18\18\14\16\17\15\17\05\05\13\0B\01\01\00\00\00\00\00\00\18\0D\17\17\1A\19\18\18\19\17\17\18\19\19\16\0E\0D\0D\15\0E\0F\0E\12\0D\0D\15\18\18\1A\0F\1B\19\19\15\17\10\16\18\05\05\01\01\01\01\00\00\00\00\00\00\18\0D\17\18\1A\19\19\18\19\17\18\18\19\1A\16\0E\0D\0D\15\0E\0F\0E\12\0D\0D\15\18\18\1A\0F\1B\19\19\15\17\10\16\18\05\05\01\01\01\01\00\00\00\00\00\00\19\15\18\19\1B\1A\1A\19\1A\18\19\19\1A\1B\17\14\15\13\16\14\15\15\15\14\12\16\19\19\1B\16\1C\1A\1A\11\13\18\12\19\05\05\01\06\01\01\00\00\00\00\00\00\19\15\18\19\1B\1A\1A\1A\1B\19\1A\1A\1A\1C\17\14\16\13\16\14\15\15\15\14\12\16\19\19\1C\16\1C\1A\1A\11\13\18\12\19\05\05\01\06\01\01\00\00\00\00\00\00\1A\16\19\1A\1C\1B\1B\1B\1C\1A\1B\1B\1B\1D\18\15\0D\14\0E\15\16\16\16\15\13\17\1A\1A\1D\17\1D\1B\1B\16\18\19\17\1A\05\05\14\10\01\01\00\00\00\00\00\00\1B\17\1A\1B\1D\1C\1C\1C\1D\1B\1C\1C\1C\1E\19\16\03\15\17\16\17\17\17\16\14\18\1B\1B\04\18\1E\1C\1C\17\19\1A\18\1B\09\09\15\11\00\09\00\00\00\00\00\00\1C\18\1B\1C\1E\1D\1D\1D\1E\1C\1D\1D\1D\1F\1A\17\17\16\18\17\18\18\18\17\15\19\1C\1C\1E\19\1F\1D\1D\18\1A\1B\19\1C\05\05\16\06\01\01\00\00\00\00\00\00\1C\18\1B\1C\1E\1D\1D\1D\1E\1C\1D\1D\1D\1F\1B\18\17\17\19\18\19\19\19\18\15\1A\1C\1C\1E\19\1F\1E\1E\18\1A\1B\19\1C\05\05\16\06\01\01\00\00\00\00\00\00\1D\19\1C\1D\1F\1E\1E\1E\1F\1D\1E\1E\1E \11\0E\0D\10\0E\0E\0F\11\12\11\0D\0E\12\13\1F\1A\1C\15\15\11\13\14\12\1D\05\05\01\12\01\01\00\00\00\00\00\00\1D\1A\1D\1D \1F\1E\1E \1E\1E\1F\1F \11\0E\0D\10\0E\0E\0F\11\12\11\0D\0E\12\13\1F\1B\1C\15\15\11\13\14\12\1D\05\05\01\12\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\01\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\01\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\0B\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\0B\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\13\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\13\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\06\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\06\01\01\00\00\00\00\00\00\1E\1B\1E\1E\22 \22 !!\22\1C\1B\18\19\1A\19\1B\1C\1A\19\16\1D\1E\1F \1D \1B\1C\1D\1A \05\05\01\09\01\01\00\00\00\00\00\00\1E\1B\1F\1F# !#!!\22\22#\1C\1B\19\19\1A\19\1C\1D\1B\1A\16\1D\1F\1F!\1E! !\1C\1D\1E\1B!\05\05\01\09\01\01\00\00\00\00\00\00\1F\1C $!!\22$\22\22##$\1D\1C\1A\1A\1B\1A\1D\1E\1C\1B\17\1E \22\1F\22!\22\1D\1E\1F\1C\22\05\05\01\01\01\01\00\00\00\00\00\00\1F\1C $!!#$#\22##$\1D\1C\1B\1A\1C\1A\1D\1F\1C\1B\17\1F #\1F#\22\22\1E\1E\1F\1C#\05\05\01\01\01\01\00\00\00\00\00\00 \1D!!%\22\22$%$#$$%\1E\00\00\1B\11\1B\1E \1D\1C\00\00!!$ $##\1F\1F \15\17\05\05\01\01\01\01\00\00\00\00\00\00 \1D!\22%\22#$%$$$$&\1E\00\00\1B\11\1C\1E \1D\1C\00\00!!$ $$#\1F\1F \15\17\05\05\01\01\01\01\00\00\00\00\00\00!\1E\22#&#$%&%%%%'\1F\1D\1C\1C\1D\1D\1F!\1E\1D\18 \22\22%!%%$ !\1D$\05\05\01\01\01\01\00\00\00\00\00\00\22\1F#$'$%&'&&&&( \1E\1D\1D\1E\1E \22\1F\1E\19!##&\22&&%!!\22\1E%\00\00\17\01\00\0A\00\00\00\00\00\00# $%(%&'('''')!\1F\1E\1E\1F\1F!# \1F\1A\22$$'#''&\22\22#\1F&\00\00\17\01\00\0A\00\00\00\00\00\00$!%&)&'()((((*\22 \1F\1F \22$! \1B#%%($(('##$ '\0A\0A\09\08\04\03\00\00\00\00\00\00\0E\0E\0E\0F\0F\0F\0E\0D\0F\0D\0D\0D\0F\0F#! !!#%\22!\1C$&&)%))($$%!(\05\05\07\06\01\01\00\00\00\00\00\00\0E\0E\0E\0F\10\0F\0E\0D\0F\0D\0D\0E\0F\0F#!! !!#%\22!\1C$''*%))($$%!(\05\05\07\06\01\01\00\00\00\00\00\00%\22&'*'()*))))+\11\0E\22!\22\22$\11#\11\0D\11((+&**)%%&\12\13\05\05\18\0B\08\0B\00\00\00\00\00\00%\22&'*'(*+))**+\11\0E#\22##%\11#\11\0D\11)),'++*%%'\12\13\05\05\18\0B\08\0B\00\00\00\00\00\00&#'(+()+,**++,$\22$#$$&&$\22\1D%**-(,,+&&(\22)\05\05\0E\00\02\01\00\00\00\00\00\00'$(),)*,-++,,-%#%$%%''%#\1E&++.)--,'')#*\05\05\0E\00\02\01\00\00\00\00\00\00(%)*-*+-.,,--.\00$\00\00\01\00\00(\00\01\00\01,,/\00\01\10\10(\00\01\00\01\05\05\0E\01\01\01\00\00\00\00\00\00\00&*+.+,./--../\00\00\00\00&&()\00\01\1F\01--0*..-)\00*$\01\0B\0B\19\14\01\01\00\00\00\00\00\00\00'+,.,,.0...//\00\00\00\00'')*\00\01 \01..0+//.*\00+%\01\0B\0B\19\14\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/1///0\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\13\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/20001\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\13\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/1///0\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\02\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/20001\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\02\01\01\00\00\00\00\00\00)(,-0--0311120&%&%))++&%!'001-110+)-&,\0C\0C\1A\15\09\0C\01\00\01\01\01\00*)-.1..1422231'&'&**,,'&\22(112.221,*.'-\05\05\1B\0F\01\01\00\00\00\00\00\00+*./2//2533342('('++--('#)223/332-+/(.\05\05\1C\0F\01\01\00\00\00\00\00\00,+\1703003644453\11\0E\0D\10\12\0E\0F\11\12\11\0D\1133404\15\15.,0)/\05\05\01\16\01\01\00\00\00\00\00\00-,/14114755564)()(,,..)($*4451543/-1*0\0D\0D\1D\17\0A\0D\00\00\00\00\00\00\11\1D025\13\115866675*)*\0F--\12/*)%+55626540.2+1\05\05\01\01\01\01\00\00\00\00\00\00.-136226977786+*+)../0+*&,66737651/3,2\05\05\1E\18\01\01\00\00\00\00\00\00.-136236978787+*+)../0+*&,6674875203-3\05\05\1E\18\01\01\00\00\00\00\00\00/.247347:89898\11\0E\0D\10\0E/0\11\12\11\0D\1177\145986314.4\05\05\1F\19\01\01\00\00\00\00\00\00//358358:8:898\11\0E\0D\10\0E01\11\12\11\0D\1188\146997314.4\05\05\1F\19\01\01\00\00\00\00\00\000\01469469;9;9:9,+,*/121,+'-9987::8425/5\05\05 \01\01\01\00\00\00\00\00\000\0156:47:;:;:::,+,*/131,+'-:998::952605\05\05 \01\01\01\00\00\00\00\00\001067;58;<;<;;;-,-+0242-,(.;::9;;:63716\05\05!\06\01\01\00\00\00\00\00\002178<69<\0C\0A=<<<.\0A\09\09135\0A\0A\0A\0A\0B<\0B\0B\0C<<;\0B\0A\0B\0A\0B\05\05!\06\01\01\00\00\00\00\00\003289=7:==<>===/-\1F,2 63.-)/=;(:=(<74827\0E\0E\09\08\04\03\00\00\00\00\00\0043)*>*+>>,,>>.\00\00.\00\01\00\004\00\01\000,<;\00\01==8\00\01\008\05\05\09\08\04\03\00\00\00\00\00\00549:?8;??=???>\00.\00\003475\1D.\001>=<\00>>>95939\05\05\22\1A\04\03\00\00\00\00\00\00649:@9;@?=@@@>\00.\00\003575\1D.\002>=<\00>?>9593:\05\05\22\1A\04\03\00\00\00\00\00\007\18:;A:AAA?\11\0E/\104\0E\0F\11\12\11\0D\1133=\12?\15\15:\13\14\12\13\05\05\01\1B\01\01\00\00\00\00\00\0085;\0F;\1C@?;\0F\1C\0F;\05\05\01\06\01\01\00\00\00\00\00\00\17\0D\17=D\18\17CC@\0ED\10A\0E\0E\0D\0D\0E\0E\0F7\0E\0D\0D\11@?\10;\1C@?<\0F\1C\0F;\05\05\01\06\01\01\00\00\00\00\00\0097<>E<>DDACECB0/\0D-\12688//\0E3A@><\17A@=6:\10<\05\05\01\0B\01\01\00\00\00\00\00\0097DEADEDB0/\0D-\12688/0\0E3B@>=\17A@>7;\10=\05\05\01\0B\01\01\00\00\00\00\00\00 8=@F>\22\18FBEFE\19\00\06\00\1B\11\00\00 \1D\1C\00\12CA?\0F@BA\158<4>\05\05\01\0A\01\01\00\00\00\00\00\00 8=@F>#\18FCEFE\1A\00\06\00\1B\11\00\00 \1D\1C\00\12CA@\0F@BA\158<4>\05\05\01\0A\01\01\00\00\00\00\00\00 8=@F>\22$GDFGF%\00\06\00\1B\11\00\00 \1D\1C\00\12DBA $CB\1F\1F \15?\05\05\01\0A\01\01\00\00\00\00\00\00 8=@F>#$GEFGF&\00\06\00\1B\11\00\00 \1D\1C\00\12DBB $CB\1F\1F \15?\05\05\01\0A\01\01\00\00\00\00\00\00:9>AG??EHFGHGC1\0E\0D\10\0E79\11\12\0D\0D\11E\01C>\16DC\009=5@\05\05\01\0B\01\01\00\00\00\00\00\00:9>AG?@FHGGHGD1\0E\0D\10\0E79\11\12\0D\0D\11E\01C>\16DC\009=5@\05\05\01\0B\01\01\00\00\00\00\00\00;:?BH@AGIHHIHE200.58:901*4FCD?AED?:>6A\05\05\07\06\01\01\00\00\00\00\00\00<;@CIABHJIIJIF311/69;:12+5GDE@BFE@;?7B\05\05\07\06\01\01\00\00\00\00\00\00=B:E\05\05\07\06\01\01\00\00\00\00\00\00>=DDKCEJLKKLKH53318;=<34-7KHIDFJID?C;F\05\05%\0B\01\01\00\00\00\00\00\00\10\10E\11LD\10KMLLML\11\11\0E\0D\10\22\22$\11\12\11\0D\11((J\1AGKJ\11\13&\12\13\05\05\0B\06\00\07\00\00\00\00\00\00\10\10E\11MD\10LMLLNL\11\11\0E\0D\10##%\11\12\11\0D\11))J\1BHLK\11\13'\12\13\05\05\0C\06\00\07\00\00\00\00\00\00?7FENE>MNMMOMB\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13J\12\17MLE\13\14\12\13\05\05\01\06\01\01\00\00\00\00\00\00?7FEOE>MNMMPMB\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13J\12\17MLE\13\14\12\13\05\05\01\06\01\01\00\00\00\00\00\00@>GFPFFNONNQNI\004\002\0D<>>45.8LI\1FE\17NMF@D>45/8LI\1FE\17NMF@D=G\0F\0F&\1D\0C\0E\00\00\00\00\00\00?7HENEGMQPMROK\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13\07\12\17\15\15EAE>H\05\05\01\1E\01\01\00\00\00\00\00\00?7HEOEGMQPMSOK\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13\07\12\17\15\15EAE>H\05\05\01\1E\01\01\00\00\00\00\00\0010I7;5HORQ@@673RONILTSKGKDN\00\00)\1F\00\00\03\00\02\00\03\02GFP\02UKPWZX\02ZVT:;87=ACC9:6?SPOJMUTLHLEO\12\12*\02\02\00\00\00\00\00\00\00GFP\02UKPWZX\02ZVT\01\01\01\01\02\01\01\01\01\02\01\02\02\02\02\01\02\02\02\02\01\02\01\02\12\12*\02\02\00\00\00\00\00\00\00H\1D!LVL+X[$T[WU;$\00\1B\00BD \00\0170TQP NVU\1FIMFP\00\00\0E\00\02\00\00\00\00\00\00\00IGQMWMQY\\YU\\XV<<\008\00CED:;8@UR\0EKOWVMJNGQ\13\13\01\0A\01\00\00\00\00\00\00\00IGQNXMQY\\ZV]XV<=\008\00CEE:;8@US\0EKPWVNKNHR\14\14\01\0A\01\00\00\00\00\00\00\00JHROYNRZ][W^YW42207:<;23,6HEFACGFA<@8C\05\05\07\06\01\01\00\00\00\00\00\00K:?BH@A[^\\X_ZX=>99>DFF;<9AVTQLQXWOLOIS\05\05\07\06\01\01\00\00\00\00\00\00L\08::\08EGG<=:BWURM\0DYXPMPJT\05\05\07\06\01\01\00\00\00\00\00\00MISPZOS]`^Za\1CY??;;?FHH=>;CXVSNRZYQNQKU\04\15+\02\00\0F\00\00\00\00\00\00NJTQ[PT^a_[b\\Z@\06\00\00\00GII\06\01\06\07\07\07\07\08\0B\09\09EO\07\06\07\05\05,\01\01\01\00\00\00\00\00\00OKUR\\QU_b`\\c][A@<<@HJJ>?\18\15IKK\0E\0D>\11[YVP\0B\\[SQTNW\00\00.\02\00\00\00\00\00\00\00\00RMXS^SWbdc^e_(CB?=AJLL?@?E\\ZWQT&%TRUO%\00\00\17\01\00\0A\00\00\00\00\00\00SNYT_TXced_f`)DC@>BKMM@A@F][XRU'&USVP&\00\00\17\01\00\0A\00\00\00\00\00\00)OZU`UYdfe`ga]&%&%))++&%!'^\\YSV]\\VTWQX\15\16/\15\0E\10\00\00\00\00\00\00)OZU`UYdfe`ga]EDA?CLNNA%!'^\\YSV]\\VTWQX\15\160 \0F\11\00\00\00\00\00\00TP[VaVZdfe`ga]FEB@DMOOBBAG^\\YSV]\\VTWQX\15\161\15\10\01\00\00\00\00\00\00)OZU`UYegfahb^&%&%))++&%!'^\\YSV]\\VTWQX\15\162!\09\12\00\00\00\00\00\00", [50 x i16] [i16 0, i16 85, i16 166, i16 258, i16 345, i16 443, i16 530, i16 621, i16 723, i16 827, i16 930, i16 1028, i16 1133, i16 1232, i16 1327, i16 1398, i16 1468, i16 1535, i16 1600, i16 1669, i16 1747, i16 1827, i16 1907, i16 1974, i16 2041, i16 2107, i16 2179, i16 2274, i16 2367, i16 2457, i16 2541, i16 2628, i16 2722, i16 2815, i16 2902, i16 2987, i16 3075, i16 3157, i16 3246, i16 3268, i16 3291, i16 3342, i16 3376, i16 3393, i16 3412, i16 3416, i16 3417, i16 3420, i16 3422, i16 3426], [3429 x i16] [i16 1, i16 273, i16 463, i16 844, i16 1101, i16 858, i16 1122, i16 1977, i16 2348, i16 2594, i16 3018, i16 3253, i16 3606, i16 4397, i16 4635, i16 4806, i16 5023, i16 5441, i16 5662, i16 5858, i16 5884, i16 6040, i16 6288, i16 6938, i16 7125, i16 7310, i16 7573, i16 7838, i16 8226, i16 8624, i16 9025, i16 9539, i16 9921, i16 10130, i16 10434, i16 10640, i16 10937, i16 11606, i16 11946, i16 12190, i16 12640, i16 13317, i16 14931, i16 15189, i16 6952, i16 16066, i16 16636, i16 17024, i16 17365, i16 17819, i16 18049, i16 18224, i16 18661, i16 18735, i16 18983, i16 19067, i16 19176, i16 19479, i16 4589, i16 20213, i16 20433, i16 20653, i16 21280, i16 21712, i16 21810, i16 22607, i16 22680, i16 22719, i16 23133, i16 23665, i16 24019, i16 24674, i16 25025, i16 25183, i16 25483, i16 25641, i16 25844, i16 26175, i16 26395, i16 26524, i16 26932, i16 27130, i16 27204, i16 27426, i16 27844, i16 5, i16 276, i16 473, i16 846, i16 1104, i16 864, i16 1133, i16 1981, i16 2352, i16 2601, i16 3021, i16 3258, i16 3616, i16 4401, i16 4639, i16 4809, i16 5026, i16 5445, i16 5666, i16 6044, i16 6295, i16 7312, i16 7577, i16 7842, i16 8229, i16 8628, i16 8755, i16 9030, i16 9544, i16 9925, i16 10134, i16 10437, i16 10644, i16 10948, i16 11608, i16 11950, i16 12197, i16 2107, i16 12746, i16 12967, i16 13321, i16 14935, i16 15199, i16 15853, i16 16070, i16 16639, i16 17027, i16 17267, i16 17823, i16 18056, i16 18234, i16 18665, i16 18739, i16 19180, i16 19307, i16 19483, i16 19792, i16 20029, i16 20217, i16 20437, i16 20660, i16 21285, i16 21815, i16 22082, i16 22611, i16 22685, i16 22723, i16 23143, i16 23669, i16 24027, i16 24687, i16 25187, i16 25490, i16 26186, i16 4589, i16 26528, i16 26936, i16 27209, i16 27434, i16 27820, i16 27854, i16 9, i16 279, i16 480, i16 848, i16 1107, i16 872, i16 1148, i16 1985, i16 2356, i16 2608, i16 3024, i16 3263, i16 3626, i16 4405, i16 4643, i16 4812, i16 5029, i16 5255, i16 5449, i16 5670, i16 5888, i16 6048, i16 6302, i16 4895, i16 7314, i16 7581, i16 7846, i16 8232, i16 8632, i16 8760, i16 9035, i16 9301, i16 9549, i16 94, i16 10138, i16 10440, i16 10648, i16 10959, i16 11610, i16 11954, i16 12204, i16 12644, i16 12750, i16 12972, i16 13325, i16 14939, i16 15209, i16 16074, i16 16408, i16 16642, i16 17030, i16 17271, i16 17368, i16 17659, i16 17827, i16 18063, i16 18244, i16 18743, i16 19070, i16 19184, i16 19487, i16 19796, i16 276, i16 20221, i16 20441, i16 20667, i16 21048, i16 21132, i16 21290, i16 21635, i16 5678, i16 21820, i16 22151, i16 22255, i16 22391, i16 22615, i16 22727, i16 23153, i16 23672, i16 24032, i16 24697, i16 25191, i16 25497, i16 26193, i16 26399, i16 26534, i16 26940, i16 27135, i16 27215, i16 27444, i16 27824, i16 27864, i16 13, i16 282, i16 493, i16 850, i16 1110, i16 881, i16 1165, i16 1989, i16 2221, i16 2360, i16 2615, i16 3027, i16 3268, i16 3639, i16 4409, i16 4647, i16 4815, i16 5032, i16 5453, i16 5674, i16 5892, i16 6052, i16 6309, i16 7129, i16 7281, i16 7316, i16 7585, i16 7850, i16 8235, i16 8636, i16 9041, i16 9308, i16 9553, i16 9929, i16 10091, i16 10142, i16 10443, i16 10652, i16 10973, i16 11612, i16 11958, i16 12211, i16 12648, i16 12754, i16 12977, i16 13329, i16 14943, i16 15219, i16 15857, i16 16078, i16 16412, i16 16645, i16 17033, i16 17275, i16 17371, i16 17831, i16 18070, i16 18257, i16 18747, i16 19073, i16 19188, i16 19339, i16 19491, i16 19686, i16 19800, i16 20032, i16 20225, i16 20445, i16 21295, i16 21716, i16 21825, i16 22088, i16 22731, i16 23166, i16 23675, i16 24037, i16 25029, i16 25195, i16 25381, i16 25504, i16 26202, i16 26402, i16 26540, i16 27220, i16 27452, i16 27828, i16 27874, i16 17, i16 285, i16 503, i16 852, i16 1113, i16 890, i16 1182, i16 1993, i16 2228, i16 2364, i16 2622, i16 3030, i16 3273, i16 3649, i16 4413, i16 4651, i16 4791, i16 4818, i16 5035, i16 5259, i16 5457, i16 5678, i16 5896, i16 6056, i16 6316, i16 6942, i16 7133, i16 7318, i16 7589, i16 7854, i16 8238, i16 8640, i16 8765, i16 8827, i16 9046, i16 9314, i16 9557, i16 9933, i16 10147, i16 10446, i16 10656, i16 10984, i16 11616, i16 11962, i16 12218, i16 12652, i16 12758, i16 13129, i16 13333, i16 14947, i16 15229, i16 15861, i16 16082, i16 16416, i16 16648, i16 17036, i16 17279, i16 17374, i16 17663, i16 17835, i16 18077, i16 18267, i16 18669, i16 18751, i16 18988, i16 19076, i16 19192, i16 19343, i16 19437, i16 19495, i16 19804, i16 20035, i16 20229, i16 20449, i16 20674, i16 21300, i16 21638, i16 16919, i16 21720, i16 21796, i16 21830, i16 22735, i16 23176, i16 23678, i16 24042, i16 24707, i16 25033, i16 25199, i16 25387, i16 25513, i16 26209, i16 26406, i16 26546, i16 26944, i16 27225, i16 27460, i16 27832, i16 27884, i16 21, i16 288, i16 513, i16 854, i16 1116, i16 897, i16 1195, i16 1997, i16 2233, i16 2368, i16 2629, i16 3033, i16 3278, i16 3674, i16 4417, i16 4655, i16 4821, i16 5038, i16 5263, i16 5461, i16 5682, i16 5900, i16 6060, i16 6323, i16 6948, i16 7137, i16 7320, i16 7593, i16 7858, i16 8241, i16 8644, i16 8770, i16 9051, i16 9562, i16 9937, i16 10152, i16 10449, i16 10660, i16 10998, i16 11619, i16 11966, i16 12225, i16 12656, i16 12762, i16 12982, i16 13337, i16 14951, i16 15239, i16 15865, i16 16086, i16 16651, i16 17039, i16 17378, i16 17839, i16 18084, i16 18280, i16 18755, i16 18993, i16 19079, i16 19196, i16 19499, i16 19691, i16 19808, i16 20038, i16 20233, i16 20453, i16 20681, i16 21305, i16 21641, i16 21724, i16 21835, i16 22735, i16 23189, i16 23682, i16 24050, i16 24717, i16 25037, i16 25203, i16 25522, i16 7946, i16 26410, i16 26552, i16 26948, i16 27231, i16 27470, i16 27836, i16 27894, i16 25, i16 291, i16 523, i16 856, i16 1119, i16 1448, i16 1454, i16 2001, i16 2372, i16 2636, i16 3036, i16 3283, i16 3690, i16 4421, i16 4659, i16 4824, i16 273, i16 5465, i16 5686, i16 5863, i16 5904, i16 6064, i16 6330, i16 6952, i16 7141, i16 7286, i16 7322, i16 7597, i16 7862, i16 8244, i16 8648, i16 8831, i16 9057, i16 9567, i16 9941, i16 10096, i16 10156, i16 10452, i16 10664, i16 11015, i16 11621, i16 11970, i16 12232, i16 12660, i16 12766, i16 13341, i16 14955, i16 15249, i16 15869, i16 16090, i16 16654, i16 16919, i16 17042, i16 17283, i16 17381, i16 17668, i16 17843, i16 18091, i16 18296, i16 18759, i16 19082, i16 19200, i16 19503, i16 20041, i16 20181, i16 20237, i16 20457, i16 20688, i16 21052, i16 21310, i16 21840, i16 22155, i16 22259, i16 22398, i16 22619, i16 22690, i16 22727, i16 23205, i16 23685, i16 24055, i16 24727, i16 25207, i16 25529, i16 26222, i16 26413, i16 26558, i16 26952, i16 10488, i16 10728, i16 27840, i16 27904, i16 29, i16 294, i16 463, i16 858, i16 1122, i16 2005, i16 2238, i16 2376, i16 2643, i16 3039, i16 3288, i16 3700, i16 4397, i16 4663, i16 4827, i16 5041, i16 5267, i16 5441, i16 5690, i16 5868, i16 5908, i16 6068, i16 6337, i16 6956, i16 7145, i16 7324, i16 7502, i16 7601, i16 7866, i16 8247, i16 8652, i16 8835, i16 9062, i16 9320, i16 9572, i16 9820, i16 9945, i16 10160, i16 10455, i16 10668, i16 11026, i16 11625, i16 11815, i16 11974, i16 12239, i16 12664, i16 12770, i16 13133, i16 13345, i16 14959, i16 15259, i16 15873, i16 16094, i16 16420, i16 16657, i16 17045, i16 17287, i16 17384, i16 17672, i16 17847, i16 18098, i16 18306, i16 18673, i16 18763, i16 18998, i16 19085, i16 19205, i16 19347, i16 19507, i16 20044, i16 20185, i16 20241, i16 20461, i16 20695, i16 21315, i16 21644, i16 21695, i16 21728, i16 21845, i16 22263, i16 22405, i16 22623, i16 22695, i16 22739, i16 23215, i16 23688, i16 24060, i16 24674, i16 25041, i16 25211, i16 25536, i16 25645, i16 25851, i16 26175, i16 26417, i16 26564, i16 26956, i16 27140, i16 27238, i16 27482, i16 27844, i16 28220, i16 36, i16 301, i16 473, i16 864, i16 1133, i16 1792, i16 1878, i16 2016, i16 2251, i16 2384, i16 2658, i16 3046, i16 3301, i16 3719, i16 4401, i16 4672, i16 4836, i16 5048, i16 5275, i16 5469, i16 5697, i16 5916, i16 6076, i16 6352, i16 6965, i16 7153, i16 7333, i16 7513, i16 7609, i16 7882, i16 8257, i16 8663, i16 8775, i16 8844, i16 9075, i16 9334, i16 9584, i16 9953, i16 10169, i16 10461, i16 10679, i16 11046, i16 11634, i16 11825, i16 11981, i16 12252, i16 12671, i16 12781, i16 12987, i16 13142, i16 13271, i16 13355, i16 14965, i16 15275, i16 15880, i16 16104, i16 16427, i16 16669, i16 17055, i16 17391, i16 17854, i16 18325, i16 18678, i16 18771, i16 19092, i16 19213, i16 19312, i16 19355, i16 19517, i16 19696, i16 19812, i16 19936, i16 20053, i16 20253, i16 20473, i16 20718, i16 21327, i16 21651, i16 21736, i16 21853, i16 22094, i16 22159, i16 22270, i16 22417, i16 22630, i16 22703, i16 22758, i16 23237, i16 23696, i16 24082, i16 24687, i16 25048, i16 25217, i16 25551, i16 25652, i16 25864, i16 26186, i16 26427, i16 26579, i16 26964, i16 27245, i16 27495, i16 27854, i16 28227, i16 43, i16 309, i16 480, i16 872, i16 1148, i16 2028, i16 2264, i16 2395, i16 2679, i16 3057, i16 3322, i16 3738, i16 4425, i16 4684, i16 4844, i16 5056, i16 5285, i16 5474, i16 5704, i16 5923, i16 6084, i16 6367, i16 6971, i16 7159, i16 7343, i16 7524, i16 7620, i16 7895, i16 8267, i16 8673, i16 8786, i16 8850, i16 9084, i16 9344, i16 9592, i16 9833, i16 9958, i16 10177, i16 10465, i16 10686, i16 11066, i16 11640, i16 11992, i16 12273, i16 12677, i16 12791, i16 12998, i16 13149, i16 13279, i16 13365, i16 14974, i16 15300, i16 15895, i16 16114, i16 16434, i16 16681, i16 17065, i16 17396, i16 17680, i16 17865, i16 18344, i16 18780, i16 19100, i16 19221, i16 19362, i16 19530, i16 19820, i16 19922, i16 19944, i16 20015, i16 20058, i16 20195, i16 20265, i16 20485, i16 20741, i16 21338, i16 21660, i16 21747, i16 21861, i16 22104, i16 22170, i16 22280, i16 22436, i16 22637, i16 22780, i16 23259, i16 23703, i16 24101, i16 24697, i16 25227, i16 25392, i16 25566, i16 25662, i16 25883, i16 26193, i16 26436, i16 26591, i16 26970, i16 27149, i16 27253, i16 27510, i16 27864, i16 28234, i16 51, i16 317, i16 493, i16 881, i16 1165, i16 2039, i16 2276, i16 2403, i16 2694, i16 3065, i16 3337, i16 3760, i16 4432, i16 4691, i16 4852, i16 5062, i16 5293, i16 5481, i16 5712, i16 5932, i16 6090, i16 6378, i16 6977, i16 7166, i16 7291, i16 7353, i16 7535, i16 7630, i16 7911, i16 8275, i16 8682, i16 8856, i16 9093, i16 9355, i16 9600, i16 9965, i16 10101, i16 10185, i16 10471, i16 10697, i16 11089, i16 11645, i16 12002, i16 12292, i16 12684, i16 12803, i16 13012, i16 13157, i16 13288, i16 13375, i16 14984, i16 15328, i16 15909, i16 16124, i16 16443, i16 16693, i16 16923, i16 17074, i16 17298, i16 17402, i16 17873, i16 18111, i16 18344, i16 18790, i16 19007, i16 19108, i16 19229, i16 19537, i16 19710, i16 19826, i16 19950, i16 20064, i16 20273, i16 20493, i16 20756, i16 21351, i16 21667, i16 21753, i16 21870, i16 22114, i16 22805, i16 23284, i16 23710, i16 24120, i16 25054, i16 25232, i16 25398, i16 25581, i16 25671, i16 25900, i16 26202, i16 26445, i16 26602, i16 26976, i16 27261, i16 27525, i16 27874, i16 28241, i16 61, i16 326, i16 503, i16 890, i16 1182, i16 2050, i16 2292, i16 2410, i16 2707, i16 3071, i16 3348, i16 3779, i16 4441, i16 4699, i16 4796, i16 4861, i16 5069, i16 5301, i16 5457, i16 5719, i16 5941, i16 6098, i16 6393, i16 6986, i16 7176, i16 7363, i16 7546, i16 7641, i16 7928, i16 8287, i16 8692, i16 8796, i16 8865, i16 9105, i16 9369, i16 9610, i16 9974, i16 10193, i16 10477, i16 10708, i16 11109, i16 11652, i16 11833, i16 12013, i16 12313, i16 12689, i16 12816, i16 13167, i16 13299, i16 13385, i16 14994, i16 15356, i16 15925, i16 16134, i16 16453, i16 16706, i16 17084, i16 17410, i16 17687, i16 17879, i16 18122, i16 18366, i16 18684, i16 18799, i16 19017, i16 19117, i16 19237, i16 19369, i16 19442, i16 19543, i16 19833, i16 19957, i16 20073, i16 20279, i16 20499, i16 20767, i16 21363, i16 21674, i16 21703, i16 21759, i16 21801, i16 21881, i16 22177, i16 22245, i16 22287, i16 22449, i16 22821, i16 23306, i16 23714, i16 24130, i16 24707, i16 25065, i16 25241, i16 25409, i16 25600, i16 25678, i16 25913, i16 26209, i16 26456, i16 26614, i16 26984, i16 27269, i16 27540, i16 27884, i16 28248, i16 70, i16 336, i16 513, i16 897, i16 1195, i16 1800, i16 1893, i16 2063, i16 2309, i16 2417, i16 2720, i16 3081, i16 3367, i16 3813, i16 4446, i16 4708, i16 4868, i16 5077, i16 5310, i16 5489, i16 5727, i16 5952, i16 6105, i16 6406, i16 6994, i16 7183, i16 7373, i16 7650, i16 7946, i16 8295, i16 8701, i16 8806, i16 8871, i16 9115, i16 9380, i16 9620, i16 9980, i16 10201, i16 10483, i16 10719, i16 11132, i16 11662, i16 11846, i16 12023, i16 12332, i16 12695, i16 12828, i16 13026, i16 13175, i16 13308, i16 13395, i16 15004, i16 15384, i16 15940, i16 16144, i16 16460, i16 16721, i16 17096, i16 17416, i16 17888, i16 18139, i16 18388, i16 18691, i16 18808, i16 19027, i16 19127, i16 19246, i16 19552, i16 19717, i16 19840, i16 19964, i16 20077, i16 20287, i16 20507, i16 20782, i16 21373, i16 21682, i16 21767, i16 21890, i16 22186, i16 22296, i16 22466, i16 22843, i16 23331, i16 23723, i16 24155, i16 24717, i16 25073, i16 25250, i16 25619, i16 25685, i16 25926, i16 26466, i16 26627, i16 26990, i16 27280, i16 27561, i16 27894, i16 28255, i16 77, i16 343, i16 523, i16 904, i16 1208, i16 1448, i16 1454, i16 2075, i16 2323, i16 2425, i16 2735, i16 3087, i16 3378, i16 3838, i16 4453, i16 4714, i16 4878, i16 5083, i16 5496, i16 5734, i16 5876, i16 5960, i16 6115, i16 6425, i16 7003, i16 7191, i16 7302, i16 7379, i16 7557, i16 7659, i16 7955, i16 8305, i16 8714, i16 8880, i16 9125, i16 9391, i16 9629, i16 9987, i16 10111, i16 10210, i16 10488, i16 10728, i16 11158, i16 11669, i16 12030, i16 12345, i16 12701, i16 12839, i16 13405, i16 15014, i16 15412, i16 15956, i16 16154, i16 16470, i16 16734, i16 16937, i16 17107, i16 17424, i16 17694, i16 17894, i16 18150, i16 18413, i16 18818, i16 19135, i16 19254, i16 19376, i16 19559, i16 20084, i16 20202, i16 20295, i16 20515, i16 20797, i16 21383, i16 21900, i16 22127, i16 22192, i16 22302, i16 22477, i16 22644, i16 22711, i16 22862, i16 23359, i16 23729, i16 24171, i16 24727, i16 25082, i16 25255, i16 25630, i16 25694, i16 26222, i16 26471, i16 26640, i16 26997, i16 27904, i16 28262, i16 86, i16 533, i16 911, i16 1220, i16 1532, i16 1624, i16 2087, i16 2432, i16 2748, i16 3094, i16 3391, i16 3857, i16 4013, i16 4460, i16 4887, i16 5090, i16 5503, i16 5741, i16 5968, i16 6016, i16 6123, i16 6440, i16 7198, i16 7387, i16 7669, i16 7964, i16 8314, i16 8518, i16 9137, i16 9641, i16 9994, i16 10217, i16 10492, i16 10735, i16 11178, i16 11432, i16 12036, i16 12356, i16 13415, i16 15021, i16 15431, i16 16164, i16 16480, i16 16746, i16 17432, i16 17901, i16 18163, i16 18432, i16 19566, i16 20092, i16 20303, i16 20523, i16 20812, i16 21394, i16 22872, i16 23381, i16 23735, i16 24187, i16 24737, i16 25089, i16 25265, i16 25701, i16 25942, i16 26231, i16 26478, i16 26654, i16 27003, i16 27289, i16 27578, i16 13487, i16 27914, i16 90, i16 543, i16 915, i16 1227, i16 1545, i16 1648, i16 2091, i16 2436, i16 2755, i16 3098, i16 3398, i16 3867, i16 4038, i16 4465, i16 4891, i16 5094, i16 5317, i16 5507, i16 6127, i16 6447, i16 7393, i16 7673, i16 7971, i16 8321, i16 8526, i16 8887, i16 8974, i16 9141, i16 9645, i16 10224, i16 10496, i16 10742, i16 11194, i16 11436, i16 12040, i16 12363, i16 12707, i16 13421, i16 15025, i16 15441, i16 16170, i16 16484, i16 16750, i16 17437, i16 17905, i16 18457, i16 18826, i16 19570, i16 20307, i16 20527, i16 20819, i16 21401, i16 21910, i16 22309, i16 22490, i16 22888, i16 23397, i16 23740, i16 24196, i16 24744, i16 25269, i16 25419, i16 25705, i16 26242, i16 26660, i16 27007, i16 27295, i16 27588, i16 13492, i16 27921, i16 94, i16 553, i16 919, i16 1234, i16 1550, i16 1657, i16 2440, i16 2762, i16 3102, i16 3405, i16 3877, i16 4069, i16 4470, i16 4895, i16 5098, i16 5322, i16 5449, i16 5972, i16 6021, i16 6131, i16 6454, i16 7399, i16 7566, i16 8328, i16 9147, i16 9404, i16 9649, i16 9842, i16 10232, i16 10500, i16 10749, i16 11213, i16 11440, i16 11574, i16 11677, i16 11854, i16 12044, i16 12370, i16 13427, i16 15029, i16 15451, i16 16176, i16 5453, i16 16754, i16 17441, i16 17909, i16 18698, i16 19144, i16 20311, i16 20531, i16 20826, i16 21406, i16 22913, i16 23422, i16 23745, i16 24205, i16 24754, i16 25709, i16 25949, i16 26253, i16 26666, i16 27011, i16 27156, i16 27301, i16 27598, i16 13497, i16 27928, i16 98, i16 563, i16 923, i16 1241, i16 1555, i16 1666, i16 2444, i16 2769, i16 3106, i16 3412, i16 3887, i16 4085, i16 4475, i16 4899, i16 5102, i16 5511, i16 5745, i16 6135, i16 6461, i16 7405, i16 7677, i16 7978, i16 8335, i16 8534, i16 8891, i16 9153, i16 9653, i16 9998, i16 10239, i16 10504, i16 10756, i16 11229, i16 11444, i16 11681, i16 11859, i16 12048, i16 12377, i16 13433, i16 15033, i16 15461, i16 16182, i16 16758, i16 17445, i16 17913, i16 18482, i16 19574, i16 20315, i16 20535, i16 20833, i16 21411, i16 21914, i16 22932, i16 23441, i16 23751, i16 24217, i16 24764, i16 25273, i16 25713, i16 25956, i16 26262, i16 26672, i16 27307, i16 27608, i16 13502, i16 27935, i16 102, i16 352, i16 573, i16 927, i16 1248, i16 1561, i16 1677, i16 2448, i16 2776, i16 3110, i16 3419, i16 3900, i16 4480, i16 4721, i16 4903, i16 5106, i16 5327, i16 5515, i16 5749, i16 6139, i16 6468, i16 2144, i16 7411, i16 7985, i16 8342, i16 8542, i16 9157, i16 9657, i16 9847, i16 10246, i16 10508, i16 10763, i16 11248, i16 11448, i16 11685, i16 11864, i16 12052, i16 12384, i16 12851, i16 13038, i16 13183, i16 13439, i16 15037, i16 15471, i16 16188, i16 16489, i16 16762, i16 17449, i16 17917, i16 18170, i16 18501, i16 18830, i16 19148, i16 20319, i16 20539, i16 20840, i16 21417, i16 22951, i16 23463, i16 23757, i16 24229, i16 24774, i16 25717, i16 26273, i16 26678, i16 27314, i16 27620, i16 13507, i16 27942, i16 106, i16 580, i16 931, i16 1255, i16 1566, i16 1686, i16 2095, i16 2338, i16 2452, i16 2783, i16 3114, i16 3426, i16 3907, i16 4485, i16 4907, i16 5110, i16 5332, i16 5519, i16 6143, i16 6475, i16 7417, i16 7681, i16 7992, i16 8349, i16 8550, i16 9162, i16 9661, i16 10002, i16 10119, i16 10254, i16 10512, i16 10770, i16 11255, i16 11452, i16 11689, i16 11869, i16 12056, i16 12391, i16 12855, i16 13043, i16 13187, i16 13445, i16 15041, i16 15481, i16 16194, i16 16492, i16 16766, i16 17117, i16 17309, i16 17454, i16 17921, i16 18177, i16 18834, i16 19039, i16 19578, i16 20096, i16 20323, i16 20543, i16 20847, i16 21422, i16 21918, i16 22958, i16 23470, i16 23762, i16 24238, i16 24784, i16 25093, i16 25277, i16 25721, i16 25963, i16 26280, i16 26482, i16 26684, i16 27015, i16 27318, i16 27627, i16 13512, i16 27949, i16 110, i16 587, i16 935, i16 1262, i16 1573, i16 1699, i16 2099, i16 2343, i16 2456, i16 2790, i16 3118, i16 3433, i16 3917, i16 4104, i16 4490, i16 4911, i16 5114, i16 5337, i16 5523, i16 6148, i16 6484, i16 7423, i16 7685, i16 7999, i16 8356, i16 8560, i16 8895, i16 9168, i16 9411, i16 9665, i16 10006, i16 10263, i16 10516, i16 10777, i16 11265, i16 11456, i16 11693, i16 11874, i16 12060, i16 12398, i16 12859, i16 13048, i16 13191, i16 13451, i16 15045, i16 15491, i16 16200, i16 16770, i16 17121, i16 17314, i16 17459, i16 17703, i16 17925, i16 18184, i16 18508, i16 18838, i16 19582, i16 20100, i16 20327, i16 20547, i16 20854, i16 21427, i16 21922, i16 22971, i16 23483, i16 23768, i16 24250, i16 24791, i16 25097, i16 25281, i16 25725, i16 25970, i16 26287, i16 26486, i16 26690, i16 27019, i16 27323, i16 27635, i16 13517, i16 27956, i16 114, i16 597, i16 939, i16 1269, i16 1578, i16 1708, i16 2103, i16 2460, i16 2797, i16 3122, i16 3440, i16 3927, i16 4120, i16 4495, i16 4915, i16 5118, i16 5527, i16 5753, i16 6153, i16 6493, i16 7010, i16 7429, i16 7689, i16 8006, i16 8363, i16 8569, i16 8899, i16 8979, i16 9173, i16 9417, i16 9669, i16 9852, i16 10010, i16 10272, i16 10520, i16 10784, i16 11281, i16 11460, i16 12064, i16 12405, i16 12711, i16 12863, i16 13053, i16 13457, i16 15049, i16 15501, i16 16206, i16 16496, i16 16774, i16 4584, i16 17929, i16 18521, i16 18702, i16 18842, i16 19384, i16 19450, i16 19586, i16 20331, i16 20551, i16 20861, i16 21432, i16 21773, i16 21926, i16 22984, i16 23496, i16 23773, i16 24259, i16 24801, i16 25285, i16 25424, i16 25729, i16 25977, i16 26298, i16 26490, i16 26696, i16 27023, i16 27328, i16 27643, i16 13522, i16 27963, i16 118, i16 607, i16 943, i16 1276, i16 1581, i16 1713, i16 2107, i16 2464, i16 2804, i16 3126, i16 3447, i16 3934, i16 4316, i16 4500, i16 4919, i16 5122, i16 5342, i16 5531, i16 5757, i16 6157, i16 6500, i16 7435, i16 7693, i16 8013, i16 8370, i16 8579, i16 9177, i16 9422, i16 5441, i16 10014, i16 10282, i16 10524, i16 10791, i16 11297, i16 11464, i16 11612, i16 12068, i16 12412, i16 13463, i16 15053, i16 15511, i16 16212, i16 16500, i16 16778, i16 17466, i16 17933, i16 18537, i16 19590, i16 20335, i16 20555, i16 20868, i16 21437, i16 21930, i16 23003, i16 23515, i16 23778, i16 24268, i16 24811, i16 25289, i16 25733, i16 25984, i16 26307, i16 26702, i16 27333, i16 27651, i16 13527, i16 27970, i16 122, i16 356, i16 617, i16 947, i16 1283, i16 1587, i16 1724, i16 2468, i16 2811, i16 3130, i16 3454, i16 3944, i16 4505, i16 4923, i16 5126, i16 5348, i16 5535, i16 5761, i16 6161, i16 6507, i16 7441, i16 7697, i16 8020, i16 8377, i16 8588, i16 9183, i16 9429, i16 9673, i16 10018, i16 10291, i16 10528, i16 10798, i16 11319, i16 11468, i16 12072, i16 12419, i16 13195, i16 13469, i16 15057, i16 15521, i16 16218, i16 16504, i16 16782, i16 17471, i16 17937, i16 18565, i16 18846, i16 19594, i16 19725, i16 20339, i16 20559, i16 20875, i16 21444, i16 21934, i16 23034, i16 23546, i16 23783, i16 24277, i16 24821, i16 25293, i16 25737, i16 25991, i16 26318, i16 26708, i16 27339, i16 27661, i16 27977, i16 126, i16 627, i16 951, i16 1290, i16 1599, i16 1746, i16 2111, i16 2472, i16 2818, i16 3134, i16 3461, i16 3966, i16 4510, i16 4927, i16 5130, i16 5539, i16 6165, i16 6514, i16 7447, i16 7701, i16 8027, i16 8384, i16 9189, i16 5904, i16 10300, i16 10532, i16 10805, i16 11341, i16 11472, i16 12076, i16 12426, i16 12867, i16 13059, i16 13475, i16 15061, i16 15531, i16 16224, i16 4589, i16 16786, i16 17478, i16 17941, i16 18587, i16 20343, i16 20563, i16 20882, i16 21449, i16 21938, i16 22138, i16 22313, i16 22497, i16 23059, i16 23571, i16 23788, i16 24286, i16 24831, i16 25101, i16 25297, i16 25741, i16 25998, i16 26331, i16 26715, i16 27027, i16 27161, i16 27345, i16 27671, i16 27984, i16 130, i16 360, i16 637, i16 955, i16 1297, i16 1612, i16 1770, i16 2115, i16 2476, i16 2825, i16 3138, i16 3468, i16 3988, i16 4515, i16 4931, i16 5134, i16 5544, i16 5765, i16 5976, i16 6169, i16 6521, i16 7202, i16 7453, i16 7705, i16 8034, i16 8391, i16 8597, i16 8903, i16 8984, i16 9194, i16 9677, i16 9857, i16 10309, i16 10536, i16 10812, i16 11360, i16 11476, i16 12080, i16 12433, i16 13481, i16 15065, i16 15541, i16 16230, i16 16508, i16 16790, i16 17485, i16 17945, i16 18615, i16 18707, i16 18850, i16 19044, i16 19598, i16 20347, i16 20567, i16 20889, i16 21455, i16 21942, i16 22317, i16 22504, i16 23081, i16 23590, i16 23793, i16 24295, i16 24841, i16 25301, i16 25745, i16 26005, i16 26342, i16 26722, i16 27351, i16 27681, i16 27994, i16 134, i16 364, i16 647, i16 959, i16 1304, i16 1532, i16 1624, i16 2119, i16 2480, i16 2832, i16 3142, i16 3475, i16 4013, i16 4520, i16 4725, i16 4935, i16 5138, i16 5548, i16 5769, i16 5980, i16 6026, i16 6173, i16 6528, i16 7015, i16 7206, i16 7459, i16 7709, i16 8041, i16 8398, i16 8907, i16 9199, i16 9436, i16 9681, i16 10022, i16 10319, i16 10540, i16 10819, i16 11178, i16 11480, i16 11579, i16 11697, i16 11879, i16 12084, i16 12440, i16 12715, i16 12871, i16 13064, i16 13199, i16 13487, i16 15069, i16 15551, i16 15971, i16 16236, i16 16512, i16 16794, i16 17125, i16 17319, i16 17490, i16 17711, i16 17949, i16 18191, i16 18432, i16 18854, i16 19388, i16 19455, i16 19602, i16 19730, i16 19846, i16 19970, i16 20104, i16 20351, i16 20571, i16 20896, i16 21056, i16 21139, i16 21460, i16 21946, i16 22321, i16 22511, i16 22872, i16 23381, i16 23798, i16 24304, i16 24737, i16 25105, i16 25305, i16 25749, i16 26012, i16 26231, i16 26729, i16 27031, i16 27166, i16 27356, i16 27689, i16 27914, i16 142, i16 373, i16 663, i16 965, i16 1315, i16 1545, i16 1648, i16 2126, i16 2489, i16 2849, i16 3149, i16 3488, i16 4038, i16 4527, i16 4732, i16 4941, i16 5144, i16 5354, i16 5555, i16 5776, i16 5987, i16 6184, i16 6549, i16 7023, i16 7212, i16 7467, i16 7719, i16 8054, i16 8407, i16 8915, i16 8989, i16 9206, i16 9695, i16 10030, i16 10333, i16 10546, i16 10830, i16 11194, i16 11489, i16 11589, i16 11704, i16 11887, i16 12093, i16 12457, i16 12723, i16 12878, i16 13072, i16 13207, i16 13492, i16 15077, i16 15573, i16 15979, i16 16243, i16 16523, i16 16801, i16 17134, i16 17329, i16 17501, i16 17957, i16 18457, i16 18711, i16 18861, i16 19395, i16 19463, i16 19610, i16 19854, i16 19978, i16 20358, i16 20578, i16 20909, i16 21063, i16 21152, i16 21476, i16 21952, i16 22328, i16 22524, i16 22888, i16 23397, i16 23805, i16 24323, i16 24851, i16 25111, i16 25310, i16 25429, i16 25756, i16 26025, i16 26242, i16 26743, i16 27038, i16 27174, i16 27365, i16 27706, i16 27921, i16 151, i16 383, i16 553, i16 972, i16 1328, i16 1550, i16 1657, i16 2133, i16 2494, i16 2858, i16 3158, i16 3505, i16 4069, i16 4537, i16 4740, i16 4948, i16 5017, i16 5149, i16 5360, i16 5474, i16 5784, i16 5993, i16 6034, i16 6196, i16 6572, i16 7032, i16 7220, i16 7399, i16 7566, i16 7727, i16 8416, i16 8726, i16 9147, i16 9404, i16 9706, i16 9862, i16 10039, i16 10232, i16 10500, i16 10749, i16 11213, i16 11497, i16 11598, i16 11712, i16 11896, i16 12102, i16 12474, i16 12732, i16 12886, i16 13497, i16 15087, i16 15601, i16 15988, i16 16250, i16 16535, i16 16809, i16 17513, i16 17723, i16 17966, i16 18698, i16 18866, i16 19152, i16 19615, i16 19864, i16 19929, i16 19988, i16 20022, i16 20113, i16 20366, i16 20586, i16 20924, i16 21071, i16 21167, i16 21488, i16 21689, i16 22913, i16 23422, i16 23816, i16 24354, i16 24864, i16 25119, i16 25762, i16 26036, i16 26253, i16 26754, i16 27044, i16 27181, i16 27375, i16 27725, i16 27928, i16 157, i16 679, i16 977, i16 1337, i16 1555, i16 1666, i16 1808, i16 1908, i16 2138, i16 2502, i16 2873, i16 3163, i16 3514, i16 4085, i16 4544, i16 4953, i16 5156, i16 5564, i16 5790, i16 6204, i16 6587, i16 7038, i16 7476, i16 7735, i16 8065, i16 8426, i16 8731, i16 8820, i16 8923, i16 9214, i16 9444, i16 9714, i16 10045, i16 10349, i16 10553, i16 10843, i16 11229, i16 11504, i16 11720, i16 11905, i16 12108, i16 12485, i16 12891, i16 13081, i16 13216, i16 13502, i16 15093, i16 15617, i16 15995, i16 16257, i16 16545, i16 16814, i16 16951, i16 17144, i16 17340, i16 17528, i16 17739, i16 17971, i16 18482, i16 19403, i16 19622, i16 19739, i16 20120, i16 20372, i16 20592, i16 20935, i16 21076, i16 21176, i16 21501, i16 21959, i16 22932, i16 23441, i16 23823, i16 24373, i16 24877, i16 25316, i16 25771, i16 26053, i16 26262, i16 26764, i16 27049, i16 27381, i16 27736, i16 27935, i16 102, i16 352, i16 573, i16 983, i16 1348, i16 1561, i16 1677, i16 1815, i16 1921, i16 1943, i16 1955, i16 2144, i16 2511, i16 2890, i16 3110, i16 3419, i16 3900, i16 4550, i16 4721, i16 4959, i16 5162, i16 5368, i16 5515, i16 5749, i16 6213, i16 6604, i16 7045, i16 7226, i16 4903, i16 7743, i16 8076, i16 8435, i16 9222, i16 9453, i16 9725, i16 9871, i16 10051, i16 10246, i16 10508, i16 10763, i16 11248, i16 11512, i16 11728, i16 11914, i16 12115, i16 12498, i16 12851, i16 13038, i16 13223, i16 13507, i16 15100, i16 15636, i16 16002, i16 16264, i16 16555, i16 16824, i16 16962, i16 17152, i16 17542, i16 17917, i16 18170, i16 18501, i16 18872, i16 19148, i16 19870, i16 20379, i16 20599, i16 20948, i16 20319, i16 20840, i16 21513, i16 11685, i16 11864, i16 22951, i16 23463, i16 23830, i16 24392, i16 24890, i16 25125, i16 25322, i16 25436, i16 25779, i16 26273, i16 26775, i16 27314, i16 27620, i16 27942, i16 163, i16 389, i16 580, i16 988, i16 1357, i16 1566, i16 1686, i16 1950, i16 1968, i16 2148, i16 2519, i16 2905, i16 3114, i16 3426, i16 3907, i16 4554, i16 4745, i16 4964, i16 5169, i16 5376, i16 5571, i16 5796, i16 6219, i16 6615, i16 7050, i16 7231, i16 7417, i16 7751, i16 8081, i16 8444, i16 8605, i16 8929, i16 9162, i16 9735, i16 9882, i16 10056, i16 10124, i16 10356, i16 10559, i16 10854, i16 11255, i16 11520, i16 11734, i16 11921, i16 12122, i16 12511, i16 12897, i16 13088, i16 13230, i16 13512, i16 15106, i16 15652, i16 16271, i16 16562, i16 16832, i16 16972, i16 17158, i16 17349, i16 17550, i16 17977, i16 18206, i16 106, i16 18878, i16 19049, i16 19410, i16 19631, i16 19875, i16 19994, i16 20128, i16 20383, i16 20603, i16 20955, i16 21083, i16 21189, i16 21525, i16 11689, i16 11869, i16 21777, i16 21965, i16 17921, i16 18177, i16 22958, i16 23470, i16 23838, i16 24414, i16 24784, i16 25130, i16 25328, i16 25787, i16 26068, i16 26280, i16 26787, i16 27054, i16 27949, i16 168, i16 395, i16 587, i16 994, i16 1368, i16 1573, i16 1699, i16 1820, i16 1930, i16 2153, i16 2527, i16 2920, i16 3118, i16 3433, i16 4104, i16 4563, i16 4750, i16 4969, i16 5176, i16 5384, i16 5579, i16 5801, i16 6227, i16 6630, i16 7056, i16 7237, i16 7423, i16 7758, i16 8090, i16 8452, i16 8614, i16 8934, i16 9168, i16 9411, i16 9746, i16 10061, i16 10368, i16 10564, i16 10863, i16 11265, i16 11527, i16 11741, i16 11929, i16 12130, i16 12526, i16 12902, i16 13095, i16 13237, i16 13517, i16 15113, i16 15671, i16 16278, i16 16571, i16 16841, i16 17165, i16 17357, i16 17557, i16 17755, i16 17982, i16 18215, i16 18508, i16 18720, i16 18884, i16 19415, i16 19640, i16 19881, i16 20000, i16 20134, i16 20388, i16 20608, i16 20964, i16 21088, i16 21198, i16 21537, i16 11693, i16 11874, i16 21783, i16 21973, i16 17925, i16 18184, i16 22971, i16 23483, i16 23847, i16 24439, i16 24791, i16 25136, i16 25336, i16 25795, i16 26083, i16 26287, i16 26799, i16 27059, i16 27956, i16 173, i16 401, i16 692, i16 1000, i16 1379, i16 1578, i16 1708, i16 2158, i16 2534, i16 2933, i16 3169, i16 3525, i16 4120, i16 4570, i16 4976, i16 5185, i16 5590, i16 5806, i16 6235, i16 6645, i16 7062, i16 7243, i16 7766, i16 8006, i16 8461, i16 8942, i16 8998, i16 9238, i16 9470, i16 9758, i16 9894, i16 10067, i16 10272, i16 10569, i16 10872, i16 11281, i16 11534, i16 11748, i16 12138, i16 12541, i16 12738, i16 12907, i16 13102, i16 13522, i16 15120, i16 15690, i16 16007, i16 16285, i16 16585, i16 16848, i16 16982, i16 17172, i16 17568, i16 17767, i16 17987, i16 18521, i16 18702, i16 18890, i16 19158, i16 19422, i16 19472, i16 19647, i16 19749, i16 20393, i16 20613, i16 20973, i16 21093, i16 21207, i16 21550, i16 21789, i16 21980, i16 22651, i16 22984, i16 23496, i16 23855, i16 24461, i16 24801, i16 25343, i16 25443, i16 25802, i16 26096, i16 26298, i16 26812, i16 27067, i16 27389, i16 27751, i16 27963, i16 180, i16 705, i16 1006, i16 1390, i16 1581, i16 1713, i16 2165, i16 2542, i16 2948, i16 3176, i16 3538, i16 4136, i16 4316, i16 4575, i16 4755, i16 4982, i16 5191, i16 5394, i16 5595, i16 5813, i16 6245, i16 6664, i16 7071, i16 7250, i16 7774, i16 8101, i16 8468, i16 8947, i16 9245, i16 9478, i16 9770, i16 10074, i16 10382, i16 10576, i16 10885, i16 11297, i16 11542, i16 11758, i16 12147, i16 12558, i16 13244, i16 13527, i16 15128, i16 15712, i16 16017, i16 16292, i16 16593, i16 16858, i16 16994, i16 17180, i16 17583, i16 17994, i16 18537, i16 18897, i16 19656, i16 19759, i16 19887, i16 20140, i16 20401, i16 20621, i16 20988, i16 21100, i16 21220, i16 21561, i16 21986, i16 22199, i16 22336, i16 22539, i16 23003, i16 23515, i16 23863, i16 24483, i16 24903, i16 25142, i16 25351, i16 25452, i16 25810, i16 26111, i16 26307, i16 26494, i16 26824, i16 27075, i16 27395, i16 27762, i16 27970, i16 190, i16 410, i16 724, i16 1013, i16 1403, i16 1587, i16 1724, i16 2174, i16 2551, i16 2965, i16 3186, i16 3557, i16 4170, i16 3944, i16 4584, i16 4765, i16 4991, i16 5196, i16 5402, i16 5600, i16 5823, i16 6257, i16 6687, i16 7081, i16 7483, i16 7781, i16 8116, i16 8476, i16 8957, i16 9258, i16 9493, i16 9783, i16 10083, i16 10394, i16 10583, i16 10898, i16 11319, i16 11548, i16 11769, i16 11937, i16 12158, i16 12579, i16 12913, i16 13110, i16 13254, i16 13469, i16 15139, i16 15743, i16 16028, i16 16299, i16 16606, i16 16866, i16 17191, i16 17590, i16 17784, i16 18004, i16 18565, i16 18907, i16 19665, i16 19769, i16 19896, i16 20151, i16 20410, i16 20630, i16 21005, i16 21109, i16 21237, i16 21574, i16 21994, i16 22209, i16 22346, i16 22558, i16 23034, i16 23546, i16 23871, i16 24505, i16 24919, i16 25154, i16 25357, i16 25819, i16 26128, i16 26318, i16 26837, i16 27083, i16 27187, i16 27406, i16 27783, i16 27977, i16 198, i16 743, i16 1020, i16 1416, i16 1599, i16 1746, i16 2182, i16 2562, i16 2986, i16 3195, i16 3574, i16 4195, i16 3966, i16 4589, i16 4773, i16 4999, i16 5202, i16 5607, i16 5831, i16 6267, i16 6706, i16 7089, i16 7261, i16 7787, i16 8127, i16 8484, i16 9275, i16 9511, i16 9794, i16 10408, i16 10591, i16 10913, i16 11341, i16 11557, i16 12169, i16 12600, i16 12921, i16 13119, i16 13475, i16 15149, i16 15771, i16 16037, i16 16306, i16 16616, i16 16873, i16 17003, i16 17200, i16 17606, i16 17801, i16 18013, i16 18587, i16 18915, i16 19904, i16 20161, i16 20418, i16 20638, i16 21020, i16 21117, i16 21252, i16 21587, i16 22000, i16 22143, i16 22217, i16 22354, i16 22573, i16 23059, i16 23571, i16 23878, i16 24524, i16 24831, i16 25162, i16 25362, i16 25459, i16 25827, i16 26143, i16 26331, i16 26853, i16 27090, i16 27195, i16 27416, i16 27802, i16 27984, i16 207, i16 418, i16 759, i16 1027, i16 1429, i16 1612, i16 1770, i16 2189, i16 2571, i16 3003, i16 3203, i16 3589, i16 4220, i16 3988, i16 4592, i16 4782, i16 5008, i16 5211, i16 5616, i16 5840, i16 5998, i16 6277, i16 6725, i16 7098, i16 7271, i16 7492, i16 7794, i16 8140, i16 8494, i16 8737, i16 8965, i16 9004, i16 9288, i16 9525, i16 9807, i16 9907, i16 10419, i16 10598, i16 10926, i16 11360, i16 11565, i16 12179, i16 12619, i16 13262, i16 13481, i16 15158, i16 15796, i16 16047, i16 16316, i16 16623, i16 16883, i16 17014, i16 17210, i16 17623, i16 18021, i16 18615, i16 18726, i16 18924, i16 19056, i16 19428, i16 19677, i16 19782, i16 19913, i16 20006, i16 20171, i16 20425, i16 20645, i16 21033, i16 21124, i16 21265, i16 21600, i16 22007, i16 22226, i16 22363, i16 22590, i16 23081, i16 23590, i16 23888, i16 24552, i16 24932, i16 25173, i16 25368, i16 25466, i16 25836, i16 26160, i16 26342, i16 26876, i16 27098, i16 27994, i16 216, i16 427, i16 775, i16 1034, i16 1442, i16 0, i16 4248, i16 4347, i16 4598, i16 8153, i16 11382, i16 12930, i16 13532, i16 16326, i16 18637, i16 22015, i16 23107, i16 23615, i16 24945, i16 25375, i16 25474, i16 28004, i16 219, i16 430, i16 785, i16 1036, i16 1445, i16 0, i16 4261, i16 4375, i16 4598, i16 8160, i16 11410, i16 12933, i16 13539, i16 16333, i16 18649, i16 22018, i16 23120, i16 23643, i16 24965, i16 25378, i16 25479, i16 26353, i16 28011, i16 222, i16 433, i16 798, i16 1038, i16 1465, i16 1827, i16 2196, i16 2579, i16 3212, i16 4277, i16 4600, i16 5220, i16 5410, i16 5624, i16 6746, i16 6764, i16 6779, i16 6847, i16 6890, i16 7107, i16 7802, i16 8167, i16 8503, i16 10604, i16 11777, i16 12936, i16 13546, i16 15168, i16 15824, i16 16340, i16 16892, i16 17220, i16 17631, i16 18030, i16 18934, i16 19263, i16 19321, i16 21612, i16 22021, i16 22372, i16 22659, i16 23896, i16 24985, i16 26356, i16 26502, i16 26896, i16 27106, i16 28018, i16 28088, i16 28166, i16 28269, i16 243, i16 451, i16 832, i16 1063, i16 1492, i16 1853, i16 2212, i16 3226, i16 4304, i16 5653, i16 5849, i16 6007, i16 6807, i16 6876, i16 6917, i16 6929, i16 7817, i16 8199, i16 8746, i16 9014, i16 12955, i16 13578, i16 16057, i16 16351, i16 16910, i16 17257, i16 18966, i16 19167, i16 19285, i16 22045, i16 22235, i16 23919, i16 28116, i16 28312, i16 252, i16 460, i16 841, i16 1073, i16 1504, i16 1867, i16 3235, i16 6821, i16 11806, i16 13594, i16 16369, i16 19295, i16 22054, i16 26920, i16 28053, i16 28135, i16 28201, i16 261, i16 0, i16 1086, i16 1517, i16 1867, i16 3244, i16 4623, i16 5246, i16 6833, i16 8208, i16 10628, i16 11806, i16 13610, i16 16387, i16 22067, i16 26383, i16 28069, i16 28154, i16 28334, i16 0, i16 13628, i16 23929, i16 24574, i16 0, i16 0, i16 14004, i16 23961, i16 0, i16 14018, i16 0, i16 14901, i16 23971, i16 24610, i16 0, i16 24007, i16 24660], [372 x i8] c"\00\00\00\00\01\01\00\00\02\02\00\00\03\03\00\00\04\04\00\00\05\05\01\01\06\06\02\02\07\07\01\01\08\08\00\00\09\09\00\00\0A\0A\00\03\0A\0A\03\03\0B\0B\00\00\0C\0C\00\00\0D\0D\00\00\0E\0E\00\00\0F\0F\04\04\10\10\05\05\11\01\00\00\12\11\00\00\13\01\00\00\14\02\06\06\15\01\07\07\16\12\00\00\17\02\00\00\18\13\00\00\19\14\00\00\1A\01\00\00\1B\02\00\00\1C\15\00\00\00\00\08\08\1D\02\00\00\1E\02\00\00\1D\16\00\00\1F\17\00\00 \18\00\00!\19\00\00\1D\1A\00\00\22\1B\00\00#\02\00\00$\02\00\00%\02\00\00&\1C\00\00'\1D\00\00(\02\00\00)\02\00\00*\1E\09\09\1A\1F\00\00+\02\00\00, \0A\0A-!\00\00.\22\00\00/\1A\00\000#\00\001\01\00\002\1A\00\003$\0B\0B4$\0C\0C5%\0D\0D6&\0E\0E7'\00\00\00(\0F\0F8\01\00\002\02\00\009\02\00\00:\02\00\00;)\00\00<*\00\00=+\00\00>,\00\00\1D-\00\00?\01\10\10@\01\11\10A\1A\00\00B.\00\00C/\00\00D0\12\11E1\13\12;)\14\13\0C\0C\0E\14F2\15\15G3\16\16H4\17\17H4\17\18\0C\0C\18\19I+\00\00J,\00\00K5\19\1AL6\1A\1BM\01\1B\1CN7\1C\1DO8\1D\1EP9\00\00", [4 x i16] [i16 0, i16 81, i16 139, i16 169], [200 x i16] [i16 1, i16 13, i16 27, i16 43, i16 57, i16 73, i16 97, i16 121, i16 114, i16 85, i16 145, i16 173, i16 193, i16 217, i16 247, i16 281, i16 317, i16 369, i16 378, i16 396, i16 405, i16 422, i16 439, i16 459, i16 469, i16 489, i16 513, i16 520, i16 530, i16 561, i16 571, i16 591, i16 613, i16 635, i16 665, i16 687, i16 697, i16 711, i16 721, i16 739, i16 759, i16 769, i16 779, i16 815, i16 829, i16 908, i16 932, i16 960, i16 972, i16 996, i16 1003, i16 1013, i16 1048, i16 1078, i16 1106, i16 1142, i16 1180, i16 1189, i16 1199, i16 1209, i16 1229, i16 1249, i16 1267, i16 1297, i16 1316, i16 1334, i16 1344, i16 1362, i16 1380, i16 1438, i16 1492, i16 1517, i16 1564, i16 1610, i16 1619, i16 1630, i16 1670, i16 1698, i16 1720, i16 1747, i16 1783, i16 7, i16 20, i16 35, i16 50, i16 65, i16 79, i16 106, i16 134, i16 118, i16 92, i16 153, i16 183, i16 205, i16 233, i16 265, i16 294, i16 336, i16 388, i16 450, i16 479, i16 501, i16 545, i16 581, i16 603, i16 623, i16 647, i16 657, i16 678, i16 730, i16 749, i16 790, i16 806, i16 857, i16 921, i16 947, i16 981, i16 1028, i16 1090, i16 1120, i16 1154, i16 1165, i16 1219, i16 1239, i16 1258, i16 1278, i16 1289, i16 1354, i16 1371, i16 1393, i16 1445, i16 1499, i16 1526, i16 1572, i16 1642, i16 1680, i16 1729, i16 1757, i16 1792, i16 0, i16 85, i16 114, i16 167, i16 305, i16 346, i16 415, i16 433, i16 554, i16 799, i16 891, i16 1039, i16 1067, i16 1100, i16 1132, i16 1171, i16 1308, i16 1329, i16 1412, i16 1452, i16 1478, i16 1506, i16 1535, i16 1580, i16 1598, i16 1652, i16 1690, i16 1711, i16 1739, i16 1769, i16 0, i16 92, i16 118, i16 163, i16 312, i16 362, i16 419, i16 436, i16 558, i16 803, i16 898, i16 1042, i16 1071, i16 1103, i16 1137, i16 1174, i16 1312, i16 1422, i16 1465, i16 1481, i16 1485, i16 1510, i16 1545, i16 1585, i16 1591, i16 1605, i16 1661, i16 1693, i16 1715, i16 1743, i16 1776], [91141 x i16] [i16 7, i16 145, i16 4, i16 5352, i16 1159, i16 2868, i16 9485, i16 12504, i16 4, i16 38, i16 5, i16 3, i16 256, i16 576, i16 22623, i16 1154, i16 1623, i16 0, i16 19968, i16 20901, i16 1708, i16 747, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4, i16 10, i16 5, i16 4, i16 128, i16 480, i16 2038, i16 1693, i16 1947, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1154, i16 1154, i16 1986, i16 2440, i16 0, i16 4, i16 2, i16 5, i16 4, i16 128, i16 480, i16 1886, i16 1885, i16 1886, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2847, i16 2847, i16 2178, i16 5976, i16 0, i16 2, i16 0, i16 5, i16 6, i16 32, i16 64, i16 213, i16 212, i16 213, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4732, i16 4732, i16 0, i16 9496, i16 0, i16 4, i16 5, i16 5, i16 5, i16 64, i16 96, i16 409, i16 408, i16 409, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4944, i16 4944, i16 2193, i16 9976, i16 0, i16 1, i16 0, i16 4, i16 5, i16 128, i16 816, i16 13169, i16 13168, i16 13169, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5352, i16 5352, i16 0, i16 10360, i16 0, i16 1, i16 0, i16 5, i16 2, i16 512, i16 6176, i16 17172, i16 5999, i16 17172, i16 0, i16 -21504, i16 11171, i16 1111, i16 3125, i16 5352, i16 5352, i16 0, i16 -32216, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 5, i16 114, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 55, i16 246, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 92, i16 0, i16 0, i16 1155, i16 274, i16 372, i16 0, i16 1155, i16 300, i16 0, i16 0, i16 1155, i16 300, i16 0, i16 0, i16 1155, i16 331, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 390, i16 0, i16 0, i16 1155, i16 448, i16 498, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 547, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 730, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 798, i16 648, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 875, i16 786, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 916, i16 0, i16 0, i16 1155, i16 1075, i16 924, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 1433, i16 1502, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 1721, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 1780, i16 1634, i16 0, i16 1155, i16 1915, i16 498, i16 0, i16 1155, i16 2012, i16 1844, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 2049, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 2235, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 300, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 1, i16 680, i16 2383, i16 1986, i16 1, i16 680, i16 2880, i16 1986, i16 1, i16 680, i16 3369, i16 1986, i16 1, i16 680, i16 3871, i16 1986, i16 1, i16 680, i16 4373, i16 2016, i16 1, i16 680, i16 4869, i16 1986, i16 1, i16 680, i16 5366, i16 1986, i16 1, i16 680, i16 5868, i16 2016, i16 1, i16 680, i16 6369, i16 1986, i16 1, i16 680, i16 6952, i16 2058, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7976, i16 1986, i16 1, i16 680, i16 5868, i16 2016, i16 1, i16 680, i16 2880, i16 1986, i16 1, i16 680, i16 8476, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 8967, i16 2124, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 8967, i16 2124, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7976, i16 1986, i16 1, i16 680, i16 5868, i16 2016, i16 1, i16 680, i16 7478, i16 1986, i16 2, i16 1338, i16 3, i16 2178, i16 2, i16 1338, i16 3, i16 2178, i16 3, i16 212, i16 3, i16 0, i16 4, i16 6, i16 3, i16 2193, i16 5, i16 13168, i16 3, i16 0, i16 6, i16 17171, i16 3, i16 0, i16 1, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 21, i16 22, i16 23, i16 24, i16 30, i16 40, i16 44, i16 45, i16 50, i16 51, i16 52, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 120, i16 125, i16 126, i16 135, i16 137, i16 144, i16 157, i16 159, i16 160, i16 162, i16 167, i16 170, i16 172, i16 175, i16 177, i16 182, i16 183, i16 186, i16 188, i16 193, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 236, i16 237, i16 240, i16 241, i16 242, i16 243, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 458, i16 459, i16 460, i16 461, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 640, i16 651, i16 652, i16 654, i16 655, i16 669, i16 683, i16 685, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 698, i16 708, i16 711, i16 719, i16 720, i16 722, i16 724, i16 725, i16 726, i16 727, i16 728, i16 731, i16 732, i16 733, i16 735, i16 742, i16 743, i16 744, i16 745, i16 746, i16 747, i16 748, i16 756, i16 757, i16 758, i16 759, i16 761, i16 764, i16 765, i16 766, i16 767, i16 768, i16 774, i16 775, i16 776, i16 779, i16 780, i16 783, i16 784, i16 785, i16 786, i16 793, i16 798, i16 805, i16 806, i16 808, i16 810, i16 811, i16 812, i16 816, i16 818, i16 819, i16 820, i16 821, i16 826, i16 827, i16 828, i16 830, i16 831, i16 832, i16 833, i16 840, i16 843, i16 844, i16 859, i16 860, i16 862, i16 863, i16 877, i16 891, i16 893, i16 895, i16 896, i16 897, i16 898, i16 899, i16 900, i16 901, i16 902, i16 903, i16 906, i16 916, i16 919, i16 927, i16 928, i16 930, i16 932, i16 933, i16 934, i16 935, i16 936, i16 939, i16 940, i16 942, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 955, i16 963, i16 964, i16 965, i16 967, i16 970, i16 971, i16 972, i16 973, i16 979, i16 980, i16 981, i16 984, i16 985, i16 988, i16 989, i16 990, i16 991, i16 998, i16 1002, i16 1009, i16 1010, i16 1012, i16 1014, i16 1015, i16 1016, i16 1020, i16 1022, i16 1023, i16 1024, i16 1025, i16 1030, i16 1031, i16 1032, i16 1034, i16 1035, i16 1036, i16 1037, i16 1044, i16 1047, i16 1108, i16 1109, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 1117, i16 1118, i16 1119, i16 1120, i16 1121, i16 1122, i16 1123, i16 1124, i16 1125, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1132, i16 1133, i16 1134, i16 1139, i16 1140, i16 1141, i16 1142, i16 1143, i16 1147, i16 1157, i16 1158, i16 1183, i16 1184, i16 1185, i16 1186, i16 1187, i16 1188, i16 1189, i16 1190, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1206, i16 1207, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1235, i16 1236, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1242, i16 1243, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 1251, i16 1252, i16 1253, i16 1254, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1263, i16 1264, i16 1265, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1318, i16 1319, i16 1348, i16 1349, i16 1350, i16 1351, i16 1356, i16 1357, i16 1358, i16 1359, i16 1368, i16 1369, i16 1371, i16 1372, i16 1373, i16 1374, i16 1377, i16 1378, i16 1379, i16 1380, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 1390, i16 1391, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1400, i16 1403, i16 1404, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1418, i16 1419, i16 1420, i16 1421, i16 1422, i16 1423, i16 1424, i16 1425, i16 1426, i16 1427, i16 1428, i16 1429, i16 1430, i16 1431, i16 1432, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1440, i16 1441, i16 1442, i16 1443, i16 1444, i16 1445, i16 1446, i16 1447, i16 1448, i16 1449, i16 1450, i16 1451, i16 1452, i16 1453, i16 1454, i16 1455, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1481, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1507, i16 1513, i16 1520, i16 1521, i16 1523, i16 1529, i16 1530, i16 1531, i16 1533, i16 1536, i16 1537, i16 1540, i16 1542, i16 1543, i16 1544, i16 1545, i16 1548, i16 1551, i16 1552, i16 1554, i16 1555, i16 1558, i16 1559, i16 1560, i16 1562, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1571, i16 1578, i16 1584, i16 1585, i16 1587, i16 1593, i16 1596, i16 1598, i16 1601, i16 1602, i16 1605, i16 1607, i16 1608, i16 1609, i16 1610, i16 1613, i16 1616, i16 1617, i16 1619, i16 1620, i16 1623, i16 1624, i16 1625, i16 1627, i16 1629, i16 1630, i16 2, i16 25, i16 26, i16 27, i16 28, i16 29, i16 41, i16 48, i16 49, i16 132, i16 141, i16 151, i16 153, i16 155, i16 169, i16 185, i16 199, i16 200, i16 235, i16 299, i16 300, i16 301, i16 302, i16 304, i16 305, i16 307, i16 308, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 317, i16 318, i16 319, i16 320, i16 321, i16 323, i16 324, i16 325, i16 326, i16 328, i16 329, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 339, i16 341, i16 342, i16 344, i16 345, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 641, i16 642, i16 643, i16 644, i16 648, i16 649, i16 650, i16 653, i16 662, i16 663, i16 664, i16 665, i16 666, i16 682, i16 684, i16 705, i16 706, i16 707, i16 714, i16 715, i16 716, i16 721, i16 723, i16 730, i16 755, i16 760, i16 771, i16 772, i16 773, i16 794, i16 795, i16 796, i16 797, i16 807, i16 814, i16 815, i16 817, i16 823, i16 841, i16 842, i16 849, i16 850, i16 851, i16 852, i16 856, i16 857, i16 858, i16 861, i16 870, i16 871, i16 872, i16 873, i16 874, i16 890, i16 892, i16 913, i16 914, i16 915, i16 922, i16 923, i16 924, i16 929, i16 931, i16 938, i16 962, i16 966, i16 976, i16 977, i16 978, i16 999, i16 1000, i16 1001, i16 1011, i16 1018, i16 1019, i16 1021, i16 1027, i16 1045, i16 1046, i16 1048, i16 1084, i16 1085, i16 1086, i16 1087, i16 1088, i16 1089, i16 1090, i16 1091, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1099, i16 1100, i16 1101, i16 1102, i16 1103, i16 1104, i16 1105, i16 1106, i16 1107, i16 1110, i16 1137, i16 1138, i16 1144, i16 1145, i16 1146, i16 1154, i16 1155, i16 1156, i16 1159, i16 1175, i16 1176, i16 1177, i16 1178, i16 1179, i16 1180, i16 1181, i16 1182, i16 1191, i16 1192, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1310, i16 1311, i16 1312, i16 1313, i16 1314, i16 1315, i16 1316, i16 1317, i16 1346, i16 1347, i16 1352, i16 1353, i16 1354, i16 1355, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 1367, i16 1511, i16 1517, i16 1518, i16 1519, i16 1522, i16 1527, i16 1528, i16 1535, i16 1539, i16 1546, i16 1547, i16 1550, i16 1557, i16 1561, i16 1563, i16 1575, i16 1577, i16 1582, i16 1583, i16 1586, i16 1591, i16 1592, i16 1595, i16 1600, i16 1604, i16 1611, i16 1612, i16 1615, i16 1622, i16 1626, i16 1628, i16 4, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 322, i16 323, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 446, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 460, i16 464, i16 468, i16 472, i16 474, i16 475, i16 477, i16 478, i16 480, i16 482, i16 483, i16 485, i16 486, i16 488, i16 489, i16 490, i16 493, i16 494, i16 496, i16 497, i16 498, i16 501, i16 502, i16 504, i16 505, i16 506, i16 508, i16 509, i16 511, i16 512, i16 513, i16 514, i16 515, i16 516, i16 517, i16 518, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 714, i16 715, i16 716, i16 717, i16 718, i16 719, i16 720, i16 721, i16 722, i16 723, i16 724, i16 725, i16 726, i16 727, i16 728, i16 729, i16 730, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 737, i16 738, i16 739, i16 740, i16 741, i16 742, i16 743, i16 744, i16 745, i16 746, i16 747, i16 748, i16 749, i16 750, i16 751, i16 752, i16 755, i16 783, i16 784, i16 785, i16 788, i16 789, i16 790, i16 791, i16 792, i16 793, i16 794, i16 795, i16 796, i16 797, i16 798, i16 799, i16 800, i16 801, i16 802, i16 803, i16 804, i16 805, i16 806, i16 807, i16 808, i16 809, i16 810, i16 811, i16 812, i16 813, i16 814, i16 815, i16 816, i16 817, i16 818, i16 819, i16 824, i16 825, i16 828, i16 829, i16 830, i16 831, i16 832, i16 833, i16 834, i16 835, i16 840, i16 841, i16 842, i16 851, i16 852, i16 853, i16 854, i16 855, i16 856, i16 857, i16 858, i16 859, i16 860, i16 861, i16 864, i16 865, i16 868, i16 869, i16 870, i16 871, i16 874, i16 875, i16 876, i16 881, i16 882, i16 883, i16 884, i16 885, i16 886, i16 887, i16 888, i16 891, i16 892, i16 893, i16 894, i16 895, i16 896, i16 897, i16 904, i16 905, i16 908, i16 909, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 918, i16 919, i16 920, i16 921, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 929, i16 930, i16 931, i16 932, i16 933, i16 934, i16 935, i16 936, i16 937, i16 938, i16 939, i16 940, i16 941, i16 942, i16 943, i16 948, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 964, i16 965, i16 966, i16 967, i16 968, i16 969, i16 970, i16 971, i16 972, i16 977, i16 978, i16 979, i16 980, i16 981, i16 982, i16 983, i16 984, i16 987, i16 988, i16 989, i16 992, i16 993, i16 994, i16 995, i16 996, i16 997, i16 998, i16 999, i16 1000, i16 1001, i16 1002, i16 1003, i16 1004, i16 1005, i16 1006, i16 1007, i16 1008, i16 1012, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1023, i16 1024, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 1039, i16 1040, i16 1041, i16 1042, i16 1045, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 1058, i16 1059, i16 1060, i16 1061, i16 1062, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1072, i16 1073, i16 1074, i16 1078, i16 1079, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1103, i16 1104, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1112, i16 1113, i16 1116, i16 1117, i16 1120, i16 1121, i16 1122, i16 1123, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1138, i16 1139, i16 1140, i16 1143, i16 1144, i16 1145, i16 1146, i16 1147, i16 1148, i16 1149, i16 1150, i16 1151, i16 1152, i16 1153, i16 1154, i16 1155, i16 1156, i16 1157, i16 1158, i16 1159, i16 1160, i16 1161, i16 1162, i16 1163, i16 1164, i16 1169, i16 1170, i16 1173, i16 1174, i16 1175, i16 1176, i16 1177, i16 1178, i16 1183, i16 1184, i16 1185, i16 1186, i16 1189, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1244, i16 1245, i16 1246, i16 1249, i16 1250, i16 1251, i16 1252, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1265, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1281, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1298, i16 1299, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1314, i16 1315, i16 1318, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1328, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 1336, i16 1337, i16 1338, i16 1339, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 1360, i16 1369, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1404, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1427, i16 1428, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1481, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 1528, i16 1529, i16 1530, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 1539, i16 1540, i16 1541, i16 1542, i16 1543, i16 1544, i16 1545, i16 1546, i16 1547, i16 1548, i16 1549, i16 1550, i16 1551, i16 1552, i16 1553, i16 1554, i16 1555, i16 1556, i16 1557, i16 1558, i16 1559, i16 1560, i16 1561, i16 1562, i16 1563, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 1595, i16 1596, i16 1597, i16 1598, i16 1599, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1611, i16 1612, i16 1613, i16 1614, i16 1615, i16 1616, i16 1617, i16 1618, i16 1619, i16 1620, i16 1621, i16 1622, i16 1623, i16 1624, i16 1625, i16 1626, i16 1627, i16 1628, i16 1629, i16 1630, i16 1631, i16 1632, i16 1633, i16 1634, i16 1635, i16 1636, i16 1637, i16 1638, i16 1639, i16 1640, i16 1641, i16 1642, i16 1643, i16 1644, i16 1645, i16 1646, i16 1647, i16 1648, i16 1649, i16 1650, i16 1651, i16 1652, i16 1653, i16 1654, i16 1655, i16 1656, i16 1657, i16 1658, i16 1659, i16 1660, i16 1661, i16 1662, i16 1663, i16 1664, i16 1665, i16 1666, i16 1667, i16 1668, i16 1669, i16 1670, i16 1671, i16 1672, i16 1673, i16 1674, i16 1675, i16 1676, i16 1677, i16 1678, i16 1679, i16 1680, i16 1681, i16 1682, i16 1683, i16 1684, i16 1685, i16 1686, i16 1687, i16 1688, i16 1689, i16 1690, i16 1691, i16 1692, i16 1693, i16 1694, i16 1695, i16 1696, i16 1697, i16 1698, i16 1699, i16 1700, i16 1701, i16 1702, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 1717, i16 1718, i16 1719, i16 1720, i16 1721, i16 1722, i16 1723, i16 1724, i16 1725, i16 1726, i16 1727, i16 1728, i16 1729, i16 1730, i16 1731, i16 1732, i16 1733, i16 1734, i16 1735, i16 1736, i16 1737, i16 1738, i16 1739, i16 1740, i16 1741, i16 1742, i16 1743, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 1749, i16 1750, i16 1751, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 1758, i16 1759, i16 1760, i16 1761, i16 1762, i16 1763, i16 1764, i16 1765, i16 1766, i16 1767, i16 1768, i16 1769, i16 1770, i16 1771, i16 1772, i16 1773, i16 1774, i16 1775, i16 1776, i16 1777, i16 1778, i16 1779, i16 1780, i16 1781, i16 1782, i16 1783, i16 1784, i16 1785, i16 1786, i16 1787, i16 1788, i16 1789, i16 1790, i16 1791, i16 1792, i16 1793, i16 1794, i16 1795, i16 1796, i16 1797, i16 1798, i16 1799, i16 1800, i16 1801, i16 1802, i16 1803, i16 1804, i16 1805, i16 1806, i16 1807, i16 1808, i16 1809, i16 1810, i16 1811, i16 1812, i16 1813, i16 1814, i16 1815, i16 1816, i16 1817, i16 1818, i16 1819, i16 1820, i16 1821, i16 1822, i16 1823, i16 1824, i16 1825, i16 1826, i16 1827, i16 1828, i16 1829, i16 1830, i16 1831, i16 1832, i16 1833, i16 1834, i16 1835, i16 1836, i16 1837, i16 1838, i16 1839, i16 1840, i16 1841, i16 1842, i16 1843, i16 1844, i16 1845, i16 1846, i16 1847, i16 1848, i16 1849, i16 1850, i16 1851, i16 1852, i16 1853, i16 1854, i16 1855, i16 1856, i16 1857, i16 1858, i16 1859, i16 1860, i16 1861, i16 1862, i16 1863, i16 1864, i16 1865, i16 1866, i16 1867, i16 1868, i16 1869, i16 1870, i16 1871, i16 1872, i16 1873, i16 1874, i16 1875, i16 1876, i16 1877, i16 1878, i16 1879, i16 1880, i16 1881, i16 1882, i16 1883, i16 1884, i16 1885, i16 1886, i16 1887, i16 1888, i16 1889, i16 1890, i16 1891, i16 1892, i16 1893, i16 1894, i16 1895, i16 1896, i16 1897, i16 1898, i16 1899, i16 1900, i16 1901, i16 1902, i16 1903, i16 1904, i16 1905, i16 1906, i16 1907, i16 1908, i16 1909, i16 1910, i16 1911, i16 1912, i16 1913, i16 1914, i16 1915, i16 1916, i16 1917, i16 1918, i16 1919, i16 1920, i16 1921, i16 1922, i16 1923, i16 1924, i16 1925, i16 1926, i16 1927, i16 1928, i16 1929, i16 1930, i16 1931, i16 1932, i16 1933, i16 1934, i16 1935, i16 1936, i16 1937, i16 1938, i16 1939, i16 1940, i16 1941, i16 1942, i16 1943, i16 1944, i16 1945, i16 1946, i16 1947, i16 1948, i16 1949, i16 1950, i16 1951, i16 1952, i16 1953, i16 1954, i16 1955, i16 1956, i16 1957, i16 1958, i16 1959, i16 1960, i16 1961, i16 1962, i16 1963, i16 1964, i16 1965, i16 1966, i16 1967, i16 1968, i16 1969, i16 1970, i16 1971, i16 1972, i16 1973, i16 1974, i16 1975, i16 1976, i16 1977, i16 1978, i16 1979, i16 1980, i16 1981, i16 1982, i16 1983, i16 1984, i16 1985, i16 1986, i16 1987, i16 1988, i16 1989, i16 1990, i16 1991, i16 1992, i16 1993, i16 1994, i16 1995, i16 1996, i16 1997, i16 1998, i16 1999, i16 2000, i16 2001, i16 2002, i16 2003, i16 2004, i16 2005, i16 2006, i16 2007, i16 2008, i16 2009, i16 2010, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 458, i16 459, i16 460, i16 461, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 482, i16 483, i16 484, i16 485, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 494, i16 495, i16 496, i16 497, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 520, i16 521, i16 522, i16 523, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 714, i16 715, i16 716, i16 717, i16 718, i16 719, i16 720, i16 721, i16 722, i16 723, i16 724, i16 725, i16 726, i16 727, i16 728, i16 729, i16 730, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 737, i16 738, i16 739, i16 740, i16 741, i16 742, i16 743, i16 744, i16 745, i16 746, i16 747, i16 748, i16 749, i16 750, i16 751, i16 752, i16 753, i16 754, i16 755, i16 756, i16 757, i16 758, i16 759, i16 760, i16 761, i16 762, i16 763, i16 764, i16 765, i16 766, i16 767, i16 768, i16 769, i16 770, i16 771, i16 772, i16 773, i16 774, i16 775, i16 776, i16 777, i16 778, i16 779, i16 780, i16 781, i16 782, i16 783, i16 784, i16 785, i16 786, i16 787, i16 788, i16 789, i16 790, i16 791, i16 792, i16 793, i16 794, i16 795, i16 796, i16 797, i16 798, i16 799, i16 800, i16 801, i16 802, i16 803, i16 804, i16 805, i16 806, i16 807, i16 808, i16 809, i16 810, i16 811, i16 812, i16 813, i16 814, i16 815, i16 816, i16 817, i16 818, i16 819, i16 820, i16 821, i16 822, i16 823, i16 824, i16 825, i16 826, i16 827, i16 828, i16 829, i16 830, i16 831, i16 832, i16 833, i16 834, i16 835, i16 836, i16 837, i16 838, i16 839, i16 840, i16 841, i16 842, i16 843, i16 844, i16 845, i16 846, i16 847, i16 848, i16 849, i16 850, i16 851, i16 852, i16 853, i16 854, i16 855, i16 856, i16 857, i16 858, i16 859, i16 860, i16 861, i16 862, i16 863, i16 864, i16 865, i16 866, i16 867, i16 868, i16 869, i16 870, i16 871, i16 872, i16 873, i16 874, i16 875, i16 876, i16 877, i16 878, i16 879, i16 880, i16 881, i16 882, i16 883, i16 884, i16 885, i16 886, i16 887, i16 888, i16 889, i16 890, i16 891, i16 892, i16 893, i16 894, i16 895, i16 896, i16 897, i16 898, i16 899, i16 900, i16 901, i16 902, i16 903, i16 904, i16 905, i16 906, i16 907, i16 908, i16 909, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 918, i16 919, i16 920, i16 921, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 929, i16 930, i16 931, i16 932, i16 933, i16 934, i16 935, i16 936, i16 937, i16 938, i16 939, i16 940, i16 941, i16 942, i16 943, i16 944, i16 945, i16 946, i16 947, i16 948, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 964, i16 965, i16 966, i16 967, i16 968, i16 969, i16 970, i16 971, i16 972, i16 973, i16 974, i16 975, i16 976, i16 977, i16 978, i16 979, i16 980, i16 981, i16 982, i16 983, i16 984, i16 985, i16 986, i16 987, i16 988, i16 989, i16 990, i16 991, i16 992, i16 993, i16 994, i16 995, i16 996, i16 997, i16 998, i16 999, i16 1000, i16 1001, i16 1002, i16 1003, i16 1004, i16 1005, i16 1006, i16 1007, i16 1008, i16 1009, i16 1010, i16 1011, i16 1012, i16 1013, i16 1014, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1023, i16 1024, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 1037, i16 1038, i16 1039, i16 1040, i16 1041, i16 1042, i16 1043, i16 1044, i16 1045, i16 1046, i16 1047, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 1058, i16 1059, i16 1060, i16 1061, i16 1062, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1070, i16 1071, i16 1072, i16 1073, i16 1074, i16 1075, i16 1076, i16 1077, i16 1078, i16 1079, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1088, i16 1089, i16 1090, i16 1091, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1099, i16 1100, i16 1101, i16 1102, i16 1103, i16 1104, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 1117, i16 1118, i16 1119, i16 1120, i16 1121, i16 1122, i16 1123, i16 1124, i16 1125, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1132, i16 1133, i16 1134, i16 1135, i16 1136, i16 1137, i16 1138, i16 1139, i16 1140, i16 1141, i16 1142, i16 1143, i16 1144, i16 1145, i16 1146, i16 1147, i16 1148, i16 1149, i16 1150, i16 1151, i16 1152, i16 1153, i16 1154, i16 1155, i16 1156, i16 1157, i16 1158, i16 1159, i16 1160, i16 1161, i16 1162, i16 1163, i16 1164, i16 1165, i16 1166, i16 1167, i16 1168, i16 1169, i16 1170, i16 1171, i16 1172, i16 1173, i16 1174, i16 1175, i16 1176, i16 1177, i16 1178, i16 1179, i16 1180, i16 1181, i16 1182, i16 1183, i16 1184, i16 1185, i16 1186, i16 1187, i16 1188, i16 1189, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1206, i16 1207, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1235, i16 1236, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1242, i16 1243, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 1251, i16 1252, i16 1253, i16 1254, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1263, i16 1264, i16 1265, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1281, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1314, i16 1315, i16 1316, i16 1317, i16 1318, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 1367, i16 1368, i16 1369, i16 1370, i16 1371, i16 1372, i16 1373, i16 1374, i16 1375, i16 1376, i16 1377, i16 1378, i16 1379, i16 1380, i16 1381, i16 1382, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 1390, i16 1391, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1400, i16 1401, i16 1402, i16 1403, i16 1404, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1418, i16 1419, i16 1420, i16 1421, i16 1422, i16 1423, i16 1424, i16 1425, i16 1426, i16 1427, i16 1428, i16 1429, i16 1430, i16 1431, i16 1432, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1440, i16 1441, i16 1442, i16 1443, i16 1444, i16 1445, i16 1446, i16 1447, i16 1448, i16 1449, i16 1450, i16 1451, i16 1452, i16 1453, i16 1454, i16 1455, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1481, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 1528, i16 1529, i16 1530, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 1539, i16 1540, i16 1541, i16 1542, i16 1543, i16 1544, i16 1545, i16 1546, i16 1547, i16 1548, i16 1549, i16 1550, i16 1551, i16 1552, i16 1553, i16 1554, i16 1555, i16 1556, i16 1557, i16 1558, i16 1559, i16 1560, i16 1561, i16 1562, i16 1563, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 1595, i16 1596, i16 1597, i16 1598, i16 1599, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1611, i16 1612, i16 1613, i16 1614, i16 1615, i16 1616, i16 1617, i16 1618, i16 1619, i16 1620, i16 1621, i16 1622, i16 1623, i16 1624, i16 1625, i16 1626, i16 1627, i16 1628, i16 1629, i16 1630, i16 1631, i16 1632, i16 1633, i16 1634, i16 1635, i16 1636, i16 1637, i16 1638, i16 1639, i16 1640, i16 1641, i16 1642, i16 1643, i16 1644, i16 1645, i16 1646, i16 1647, i16 1648, i16 1649, i16 1650, i16 1651, i16 1652, i16 1653, i16 1654, i16 1655, i16 1656, i16 1657, i16 1658, i16 1659, i16 1660, i16 1661, i16 1662, i16 1663, i16 1664, i16 1665, i16 1666, i16 1667, i16 1668, i16 1669, i16 1670, i16 1671, i16 1672, i16 1673, i16 1674, i16 1675, i16 1676, i16 1677, i16 1678, i16 1679, i16 1680, i16 1681, i16 1682, i16 1683, i16 1684, i16 1685, i16 1686, i16 1687, i16 1688, i16 1689, i16 1690, i16 1691, i16 1692, i16 1693, i16 1694, i16 1695, i16 1696, i16 1697, i16 1698, i16 1699, i16 1700, i16 1701, i16 1702, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 1717, i16 1718, i16 1719, i16 1720, i16 1721, i16 1722, i16 1723, i16 1724, i16 1725, i16 1726, i16 1727, i16 1728, i16 1729, i16 1730, i16 1731, i16 1732, i16 1733, i16 1734, i16 1735, i16 1736, i16 1737, i16 1738, i16 1739, i16 1740, i16 1741, i16 1742, i16 1743, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 1749, i16 1750, i16 1751, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 1758, i16 1759, i16 1760, i16 1761, i16 1762, i16 1763, i16 1764, i16 1765, i16 1766, i16 1767, i16 1768, i16 1769, i16 1770, i16 1771, i16 1772, i16 1773, i16 1774, i16 1775, i16 1776, i16 1777, i16 1778, i16 1779, i16 1780, i16 1781, i16 1782, i16 1783, i16 1784, i16 1785, i16 1786, i16 1787, i16 1788, i16 1789, i16 1790, i16 1791, i16 1792, i16 1793, i16 1794, i16 1795, i16 1796, i16 1797, i16 1798, i16 1799, i16 1800, i16 1801, i16 1802, i16 1803, i16 1804, i16 1805, i16 1806, i16 1807, i16 1808, i16 1809, i16 1810, i16 1811, i16 1812, i16 1813, i16 1814, i16 1815, i16 1816, i16 1817, i16 1818, i16 1819, i16 1820, i16 1821, i16 1822, i16 1823, i16 1824, i16 1825, i16 1826, i16 1827, i16 1828, i16 1829, i16 1830, i16 1831, i16 1832, i16 1833, i16 1834, i16 1835, i16 1836, i16 1837, i16 1838, i16 1839, i16 1840, i16 1841, i16 1842, i16 1843, i16 1844, i16 1845, i16 1846, i16 1847, i16 1848, i16 1849, i16 1850, i16 1851, i16 1852, i16 1853, i16 1854, i16 1855, i16 1856, i16 1857, i16 1858, i16 1859, i16 1860, i16 1861, i16 1862, i16 1863, i16 1864, i16 1865, i16 1866, i16 1867, i16 1868, i16 1869, i16 1870, i16 1871, i16 1872, i16 1873, i16 1874, i16 1875, i16 1876, i16 1877, i16 1878, i16 1879, i16 1880, i16 1881, i16 1882, i16 1883, i16 1884, i16 1885, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 2, i16 1, i16 3, i16 1, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 457, i16 458, i16 459, i16 460, i16 461, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 482, i16 483, i16 484, i16 485, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 494, i16 495, i16 496, i16 497, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 520, i16 521, i16 522, i16 523, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 714, i16 715, i16 716, i16 717, i16 718, i16 719, i16 720, i16 721, i16 722, i16 723, i16 724, i16 725, i16 726, i16 727, i16 728, i16 729, i16 730, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 737, i16 738, i16 739, i16 740, i16 741, i16 742, i16 743, i16 744, i16 745, i16 746, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1188, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1206, i16 1207, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1235, i16 1236, i16 1187, i16 1190, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1242, i16 1243, i16 1187, i16 1190, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 1251, i16 1252, i16 1187, i16 1190, i16 1253, i16 1254, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1263, i16 1264, i16 1265, i16 1187, i16 1190, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1281, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1187, i16 1190, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1187, i16 1314, i16 1315, i16 1316, i16 1317, i16 1318, i16 1190, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1329, i16 1330, i16 1331, i16 1187, i16 1190, i16 1332, i16 1333, i16 1334, i16 1335, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 1187, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 1367, i16 1368, i16 1369, i16 1370, i16 1371, i16 1372, i16 1373, i16 1187, i16 1374, i16 1375, i16 1190, i16 1376, i16 1377, i16 1378, i16 1187, i16 1190, i16 1379, i16 1380, i16 1381, i16 1382, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 1187, i16 1190, i16 1390, i16 1391, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1400, i16 1401, i16 1402, i16 1403, i16 1404, i16 1187, i16 1190, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1187, i16 1190, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1418, i16 1419, i16 1420, i16 1421, i16 1422, i16 1423, i16 1187, i16 1190, i16 1424, i16 1425, i16 1426, i16 1427, i16 1428, i16 1429, i16 1430, i16 1431, i16 1432, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1440, i16 1441, i16 1442, i16 1443, i16 1444, i16 1445, i16 1446, i16 1447, i16 1448, i16 1449, i16 1450, i16 1451, i16 1452, i16 1453, i16 1454, i16 1455, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1187, i16 1190, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1187, i16 1190, i16 1481, i16 1187, i16 1190, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1187, i16 1190, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1187, i16 1513, i16 1514, i16 1515, i16 1190, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 1528, i16 1529, i16 1530, i16 1187, i16 1190, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 1539, i16 1540, i16 1541, i16 1542, i16 1543, i16 1544, i16 1545, i16 1546, i16 1547, i16 1548, i16 1549, i16 1550, i16 1551, i16 1552, i16 1553, i16 1554, i16 1555, i16 1556, i16 1557, i16 1558, i16 1559, i16 1560, i16 1561, i16 1562, i16 1563, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1187, i16 1187, i16 1187, i16 1190, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1187, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 1595, i16 1596, i16 1597, i16 1598, i16 1599, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1187, i16 1611, i16 1612, i16 1613, i16 1614, i16 1611, i16 1615, i16 1611, i16 1616, i16 1611, i16 1617, i16 1611, i16 1618, i16 1619, i16 1620, i16 1611, i16 1621, i16 1611, i16 1622, i16 1623, i16 1624, i16 1611, i16 1625, i16 1611, i16 1626, i16 1627, i16 1628, i16 1629, i16 1630, i16 1631, i16 1611, i16 1632, i16 1611, i16 1633, i16 1611, i16 1634, i16 1611, i16 1635, i16 1611, i16 1636, i16 1611, i16 1637, i16 1638, i16 1639, i16 1611, i16 1640, i16 1611, i16 1641, i16 1611, i16 1642, i16 1643, i16 1611, i16 1644, i16 1611, i16 1645, i16 1646, i16 1647, i16 1648, i16 1649, i16 1650, i16 1611, i16 1651, i16 1611, i16 1652, i16 1611, i16 1653, i16 1611, i16 1654, i16 1655, i16 1656, i16 1657, i16 1658, i16 1657, i16 1659, i16 1657, i16 1660, i16 1657, i16 1661, i16 1657, i16 1662, i16 1657, i16 1663, i16 1657, i16 1664, i16 1657, i16 1665, i16 1657, i16 1666, i16 1657, i16 1667, i16 1657, i16 1668, i16 1657, i16 1669, i16 1657, i16 1670, i16 1657, i16 1671, i16 1657, i16 1672, i16 1657, i16 1673, i16 1657, i16 1674, i16 1657, i16 1675, i16 1657, i16 1676, i16 1657, i16 1677, i16 1657, i16 1678, i16 1657, i16 1679, i16 1657, i16 1680, i16 1657, i16 1681, i16 1657, i16 1682, i16 1657, i16 1683, i16 1657, i16 1684, i16 1657, i16 1685, i16 1657, i16 1686, i16 1657, i16 1687, i16 1657, i16 1688, i16 1657, i16 1689, i16 1657, i16 1690, i16 1657, i16 1691, i16 1657, i16 1692, i16 1657, i16 1693, i16 1657, i16 1694, i16 1657, i16 1695, i16 1657, i16 1696, i16 1657, i16 1697, i16 1657, i16 1698, i16 1699, i16 1700, i16 1657, i16 1701, i16 1699, i16 1702, i16 1657, i16 1703, i16 1657, i16 1704, i16 1657, i16 1705, i16 1657, i16 1706, i16 1657, i16 1707, i16 1657, i16 1708, i16 1657, i16 1709, i16 1657, i16 1710, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1189, i16 1189, i16 1189, i16 1189, i16 1712, i16 1712, i16 1713, i16 1714, i16 1714, i16 1714, i16 1714, i16 1714, i16 1714, i16 1712, i16 1712, i16 1715, i16 1715, i16 1715, i16 1712, i16 1716, i16 1716, i16 1716, i16 1716, i16 1712, i16 1712, i16 1712, i16 1717, i16 1717, i16 1717, i16 1717, i16 1717, i16 1717, i16 1717, i16 1712, i16 1718, i16 1718, i16 1718, i16 1718, i16 1712, i16 1719, i16 1719, i16 1719, i16 1719, i16 1712, i16 1720, i16 1720, i16 1720, i16 1720, i16 1712, i16 1721, i16 1721, i16 1721, i16 1721, i16 1712, i16 1722, i16 1722, i16 1712, i16 1723, i16 1723, i16 1712, i16 1724, i16 1724, i16 1712, i16 1725, i16 1725, i16 1712, i16 1726, i16 1726, i16 1726, i16 1726, i16 1712, i16 1727, i16 1727, i16 1727, i16 1727, i16 1712, i16 1728, i16 1728, i16 1728, i16 1728, i16 1712, i16 1729, i16 1729, i16 1729, i16 1729, i16 1712, i16 1730, i16 1730, i16 1730, i16 1730, i16 1712, i16 1731, i16 1731, i16 1731, i16 1731, i16 1712, i16 1732, i16 1732, i16 1732, i16 1732, i16 1712, i16 1733, i16 1733, i16 1733, i16 1733, i16 1712, i16 1734, i16 1734, i16 1734, i16 1734, i16 1712, i16 1735, i16 1735, i16 1735, i16 1735, i16 1712, i16 1736, i16 1736, i16 1736, i16 1736, i16 1712, i16 1737, i16 1737, i16 1737, i16 1737, i16 1712, i16 1738, i16 1738, i16 1738, i16 1738, i16 1712, i16 1739, i16 1739, i16 1739, i16 1739, i16 1712, i16 1740, i16 1740, i16 1740, i16 1740, i16 1712, i16 1741, i16 1741, i16 1712, i16 1742, i16 1742, i16 1712, i16 1743, i16 1743, i16 1743, i16 1743, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 1749, i16 1750, i16 1751, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 1758, i16 1759, i16 1760, i16 1761, i16 1762, i16 1712, i16 1763, i16 1763, i16 1763, i16 1712, i16 1764, i16 1764, i16 1764, i16 1712, i16 1765, i16 1765, i16 1765, i16 1765, i16 1712, i16 1766, i16 1766, i16 1766, i16 1712, i16 1767, i16 1767, i16 1767, i16 1712, i16 1768, i16 1768, i16 1768, i16 1768, i16 1712, i16 1769, i16 1769, i16 1769, i16 1712, i16 1770, i16 1770, i16 1770, i16 1712, i16 1771, i16 1771, i16 1771, i16 1771, i16 1712, i16 1772, i16 1772, i16 1772, i16 1712, i16 1773, i16 1773, i16 1773, i16 1712, i16 1774, i16 1774, i16 1774, i16 1712, i16 1775, i16 1775, i16 1775, i16 1712, i16 1776, i16 1776, i16 1776, i16 1712, i16 1777, i16 1777, i16 1777, i16 1712, i16 1778, i16 1778, i16 1778, i16 1712, i16 1779, i16 1779, i16 1779, i16 1712, i16 1780, i16 1780, i16 1780, i16 1780, i16 1780, i16 1712, i16 1781, i16 1781, i16 1781, i16 1712, i16 1782, i16 1782, i16 1782, i16 1712, i16 1783, i16 1712, i16 1784, i16 1712, i16 1785, i16 1712, i16 1786, i16 1712, i16 1787, i16 1712, i16 1788, i16 1788, i16 1788, i16 1788, i16 1788, i16 1712, i16 1789, i16 1789, i16 1789, i16 1789, i16 1789, i16 1712, i16 1790, i16 1790, i16 1790, i16 1790, i16 1790, i16 1712, i16 1791, i16 1791, i16 1791, i16 1791, i16 1791, i16 1712, i16 1792, i16 1792, i16 1792, i16 1792, i16 1792, i16 1712, i16 1793, i16 1712, i16 1794, i16 1712, i16 1795, i16 1712, i16 1796, i16 1712, i16 1797, i16 1712, i16 1798, i16 1798, i16 1798, i16 1712, i16 1799, i16 1799, i16 1799, i16 1712, i16 1800, i16 1800, i16 1800, i16 1712, i16 1801, i16 1712, i16 1802, i16 1712, i16 1803, i16 1712, i16 1804, i16 1712, i16 1805, i16 1712, i16 1806, i16 1806, i16 1806, i16 1712, i16 1807, i16 1712, i16 1808, i16 1712, i16 1809, i16 1712, i16 1810, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2093, i16 2094, i16 2095, i16 2096, i16 2097, i16 2098, i16 2099, i16 2100, i16 2101, i16 2102, i16 2103, i16 2104, i16 2105, i16 2106, i16 2107, i16 2108, i16 2109, i16 2110, i16 2111, i16 2112, i16 2113, i16 2114, i16 2115, i16 2116, i16 2117, i16 2118, i16 2119, i16 2120, i16 2121, i16 2122, i16 2123, i16 2124, i16 2125, i16 2126, i16 2127, i16 2128, i16 2129, i16 2130, i16 2131, i16 2132, i16 2133, i16 2134, i16 2135, i16 2136, i16 2137, i16 2138, i16 2139, i16 2140, i16 2141, i16 2142, i16 2143, i16 2144, i16 2145, i16 2146, i16 2147, i16 2148, i16 2149, i16 2150, i16 2151, i16 2091, i16 2152, i16 2153, i16 2154, i16 2155, i16 2156, i16 2157, i16 2093, i16 2158, i16 2159, i16 2160, i16 2161, i16 2162, i16 2163, i16 2164, i16 2091, i16 2093, i16 2165, i16 2166, i16 2167, i16 2168, i16 2169, i16 2170, i16 2171, i16 2172, i16 2173, i16 2174, i16 2175, i16 2176, i16 2177, i16 2178, i16 2179, i16 2091, i16 2093, i16 2180, i16 2181, i16 2182, i16 2183, i16 2184, i16 2185, i16 2186, i16 2187, i16 2188, i16 2189, i16 2190, i16 2191, i16 2192, i16 2193, i16 2194, i16 2091, i16 2093, i16 2195, i16 2196, i16 2197, i16 2198, i16 2199, i16 2200, i16 2201, i16 2202, i16 2203, i16 2204, i16 2205, i16 2206, i16 2207, i16 2208, i16 2209, i16 2210, i16 2211, i16 2212, i16 2213, i16 2214, i16 2215, i16 2216, i16 2217, i16 2218, i16 2219, i16 2220, i16 2221, i16 2222, i16 2223, i16 2224, i16 2225, i16 2226, i16 2227, i16 2228, i16 2229, i16 2230, i16 2231, i16 2232, i16 2233, i16 2234, i16 2235, i16 2236, i16 2237, i16 2238, i16 2239, i16 2240, i16 2241, i16 2242, i16 2243, i16 2091, i16 2093, i16 2244, i16 2245, i16 2246, i16 2247, i16 2248, i16 2091, i16 2249, i16 2250, i16 2251, i16 2252, i16 2253, i16 2093, i16 2254, i16 2255, i16 2256, i16 2257, i16 2258, i16 2259, i16 2260, i16 2261, i16 2262, i16 2263, i16 2264, i16 2265, i16 2266, i16 2267, i16 2268, i16 2269, i16 2270, i16 2091, i16 2093, i16 2271, i16 2272, i16 2273, i16 2274, i16 2275, i16 2276, i16 2277, i16 2278, i16 2279, i16 2280, i16 2281, i16 2282, i16 2283, i16 2284, i16 2285, i16 2091, i16 2093, i16 2286, i16 2287, i16 2093, i16 2288, i16 2289, i16 2290, i16 2291, i16 2292, i16 2293, i16 2294, i16 2295, i16 2296, i16 2297, i16 2298, i16 2299, i16 2300, i16 2301, i16 2302, i16 2303, i16 2304, i16 2305, i16 2306, i16 2307, i16 2308, i16 2309, i16 2310, i16 2311, i16 2312, i16 2313, i16 2314, i16 2315, i16 2316, i16 2317, i16 2318, i16 2319, i16 2320, i16 2091, i16 2321, i16 2322, i16 2093, i16 2323, i16 2324, i16 2325, i16 2091, i16 2093, i16 2326, i16 2327, i16 2328, i16 2329, i16 2330, i16 2331, i16 2332, i16 2333, i16 2334, i16 2335, i16 2336, i16 2337, i16 2338, i16 2091, i16 2339, i16 2093, i16 2340, i16 2341, i16 2342, i16 2343, i16 2344, i16 2345, i16 2346, i16 2347, i16 2348, i16 2349, i16 2350, i16 2351, i16 2352, i16 2353, i16 2354, i16 2355, i16 2356, i16 2357, i16 2358, i16 2091, i16 2093, i16 2359, i16 2360, i16 2361, i16 2362, i16 2363, i16 2364, i16 2365, i16 2091, i16 2093, i16 2366, i16 2367, i16 2368, i16 2369, i16 2370, i16 2371, i16 2372, i16 2373, i16 2374, i16 2375, i16 2376, i16 2377, i16 2378, i16 2379, i16 2380, i16 2381, i16 2382, i16 2383, i16 2091, i16 2384, i16 2385, i16 2093, i16 2386, i16 2387, i16 2388, i16 2389, i16 2390, i16 2391, i16 2392, i16 2393, i16 2394, i16 2395, i16 2396, i16 2397, i16 2398, i16 2399, i16 2400, i16 2401, i16 2402, i16 2403, i16 2404, i16 2405, i16 2406, i16 2407, i16 2408, i16 2409, i16 2410, i16 2411, i16 2412, i16 2413, i16 2414, i16 2415, i16 2416, i16 2417, i16 2418, i16 2419, i16 2420, i16 2421, i16 2422, i16 2423, i16 2424, i16 2425, i16 2426, i16 2427, i16 2428, i16 2429, i16 2430, i16 2431, i16 2432, i16 2433, i16 2434, i16 2435, i16 2436, i16 2437, i16 2438, i16 2439, i16 2440, i16 2441, i16 2442, i16 2443, i16 2444, i16 2445, i16 2446, i16 2447, i16 2448, i16 2449, i16 2450, i16 2451, i16 2091, i16 2452, i16 2453, i16 2093, i16 2454, i16 2455, i16 2456, i16 2457, i16 2458, i16 2091, i16 2093, i16 2459, i16 2091, i16 2093, i16 2460, i16 2461, i16 2462, i16 2463, i16 2464, i16 2465, i16 2466, i16 2467, i16 2468, i16 2469, i16 2470, i16 2471, i16 2472, i16 2473, i16 2474, i16 2475, i16 2476, i16 2178, i16 2477, i16 2091, i16 2093, i16 2478, i16 2479, i16 2480, i16 2481, i16 2482, i16 2483, i16 2484, i16 2485, i16 2486, i16 2487, i16 2488, i16 2489, i16 2490, i16 2491, i16 2492, i16 2493, i16 2178, i16 2494, i16 2495, i16 2496, i16 2091, i16 2497, i16 2498, i16 2499, i16 2093, i16 2500, i16 2501, i16 2502, i16 2503, i16 2504, i16 2505, i16 2506, i16 2507, i16 2508, i16 2509, i16 2510, i16 2511, i16 2512, i16 2513, i16 2514, i16 2091, i16 2515, i16 2516, i16 2093, i16 2517, i16 2518, i16 2519, i16 2520, i16 2521, i16 2522, i16 2523, i16 2524, i16 2525, i16 2526, i16 2527, i16 2528, i16 2529, i16 2530, i16 2531, i16 2532, i16 2533, i16 2534, i16 2535, i16 2536, i16 2537, i16 2538, i16 2539, i16 2540, i16 2541, i16 2542, i16 2543, i16 2544, i16 2545, i16 2546, i16 2547, i16 2548, i16 2549, i16 2550, i16 2551, i16 2552, i16 2553, i16 2554, i16 2555, i16 2556, i16 2557, i16 2558, i16 2559, i16 2560, i16 2561, i16 2562, i16 2563, i16 2564, i16 2565, i16 2566, i16 2567, i16 2568, i16 2569, i16 2570, i16 2571, i16 2572, i16 2573, i16 2574, i16 2575, i16 2576, i16 2577, i16 2091, i16 2093, i16 2578, i16 2579, i16 2580, i16 2581, i16 2582, i16 2091, i16 2093, i16 2583, i16 2584, i16 2585, i16 2586, i16 2587, i16 2588, i16 2589, i16 2590, i16 2591, i16 2592, i16 2593, i16 2594, i16 2595, i16 2091, i16 2093, i16 2596, i16 2597, i16 2598, i16 2599, i16 2600, i16 2091, i16 2093, i16 2601, i16 2602, i16 2603, i16 2604, i16 2605, i16 2606, i16 2607, i16 2608, i16 2609, i16 2610, i16 2611, i16 2612, i16 2613, i16 2614, i16 2615, i16 2616, i16 2617, i16 2091, i16 2093, i16 2618, i16 2619, i16 2620, i16 2621, i16 2622, i16 2623, i16 2624, i16 2625, i16 2626, i16 2627, i16 2628, i16 2629, i16 2630, i16 2091, i16 2178, i16 2631, i16 2632, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2634, i16 2635, i16 2636, i16 2637, i16 2638, i16 2639, i16 2640, i16 2641, i16 2642, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2643, i16 2092, i16 2644, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2645, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2646, i16 2647, i16 2648, i16 2649, i16 2650, i16 2647, i16 2651, i16 2647, i16 2652, i16 2647, i16 2653, i16 2647, i16 2654, i16 2655, i16 2656, i16 2647, i16 2657, i16 2647, i16 2658, i16 2659, i16 2660, i16 2647, i16 2661, i16 2647, i16 2662, i16 2663, i16 2664, i16 2665, i16 2666, i16 2667, i16 2647, i16 2668, i16 2647, i16 2669, i16 2647, i16 2670, i16 2647, i16 2671, i16 2647, i16 2672, i16 2647, i16 2673, i16 2674, i16 2675, i16 2647, i16 2676, i16 2647, i16 2677, i16 2647, i16 2678, i16 2679, i16 2647, i16 2680, i16 2647, i16 2681, i16 2682, i16 2683, i16 2684, i16 2685, i16 2686, i16 2647, i16 2687, i16 2647, i16 2688, i16 2647, i16 2689, i16 2647, i16 2690, i16 2691, i16 2692, i16 2693, i16 2694, i16 2693, i16 2695, i16 2693, i16 2696, i16 2693, i16 2697, i16 2693, i16 2698, i16 2693, i16 2699, i16 2693, i16 2700, i16 2693, i16 2701, i16 2693, i16 2702, i16 2693, i16 2703, i16 2693, i16 2704, i16 2693, i16 2705, i16 2693, i16 2706, i16 2693, i16 2707, i16 2693, i16 2708, i16 2693, i16 2709, i16 2693, i16 2710, i16 2693, i16 2711, i16 2693, i16 2712, i16 2693, i16 2713, i16 2693, i16 2714, i16 2693, i16 2715, i16 2693, i16 2716, i16 2693, i16 2717, i16 2693, i16 2718, i16 2693, i16 2719, i16 2693, i16 2720, i16 2693, i16 2721, i16 2693, i16 2722, i16 2693, i16 2723, i16 2693, i16 2724, i16 2693, i16 2725, i16 2693, i16 2726, i16 2693, i16 2727, i16 2693, i16 2728, i16 2693, i16 2729, i16 2693, i16 2730, i16 2693, i16 2731, i16 2693, i16 2732, i16 2693, i16 2733, i16 2693, i16 2734, i16 2735, i16 2736, i16 2693, i16 2737, i16 2735, i16 2738, i16 2693, i16 2739, i16 2693, i16 2740, i16 2693, i16 2741, i16 2693, i16 2742, i16 2693, i16 2743, i16 2693, i16 2744, i16 2693, i16 2745, i16 2693, i16 2746, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2092, i16 2092, i16 2092, i16 2092, i16 2632, i16 2632, i16 2748, i16 2749, i16 2749, i16 2749, i16 2749, i16 2749, i16 2749, i16 2632, i16 2632, i16 2750, i16 2750, i16 2750, i16 2632, i16 2751, i16 2751, i16 2751, i16 2751, i16 2632, i16 2632, i16 2632, i16 2752, i16 2752, i16 2752, i16 2752, i16 2752, i16 2752, i16 2752, i16 2632, i16 2753, i16 2753, i16 2753, i16 2753, i16 2632, i16 2754, i16 2754, i16 2754, i16 2754, i16 2632, i16 2755, i16 2755, i16 2755, i16 2755, i16 2632, i16 2756, i16 2756, i16 2756, i16 2756, i16 2632, i16 2757, i16 2757, i16 2632, i16 2758, i16 2758, i16 2632, i16 2759, i16 2759, i16 2632, i16 2760, i16 2760, i16 2632, i16 2761, i16 2761, i16 2761, i16 2761, i16 2632, i16 2762, i16 2762, i16 2762, i16 2762, i16 2632, i16 2763, i16 2763, i16 2763, i16 2763, i16 2632, i16 2764, i16 2764, i16 2764, i16 2764, i16 2632, i16 2765, i16 2765, i16 2765, i16 2765, i16 2632, i16 2766, i16 2766, i16 2766, i16 2766, i16 2632, i16 2767, i16 2767, i16 2767, i16 2767, i16 2632, i16 2768, i16 2768, i16 2768, i16 2768, i16 2632, i16 2769, i16 2769, i16 2769, i16 2769, i16 2632, i16 2770, i16 2770, i16 2770, i16 2770, i16 2632, i16 2771, i16 2771, i16 2771, i16 2771, i16 2632, i16 2772, i16 2772, i16 2772, i16 2772, i16 2632, i16 2773, i16 2773, i16 2773, i16 2773, i16 2632, i16 2774, i16 2774, i16 2774, i16 2774, i16 2632, i16 2775, i16 2775, i16 2775, i16 2775, i16 2632, i16 2776, i16 2776, i16 2632, i16 2777, i16 2777, i16 2632, i16 2778, i16 2778, i16 2778, i16 2778, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2633, i16 2634, i16 2635, i16 2636, i16 2637, i16 2638, i16 2639, i16 2640, i16 2641, i16 2642, i16 2780, i16 2781, i16 2782, i16 2783, i16 2784, i16 2785, i16 2786, i16 2787, i16 2632, i16 2788, i16 2788, i16 2788, i16 2632, i16 2789, i16 2789, i16 2789, i16 2632, i16 2790, i16 2790, i16 2790, i16 2790, i16 2632, i16 2791, i16 2791, i16 2791, i16 2632, i16 2792, i16 2792, i16 2792, i16 2632, i16 2793, i16 2793, i16 2793, i16 2793, i16 2632, i16 2794, i16 2794, i16 2794, i16 2632, i16 2795, i16 2795, i16 2795, i16 2632, i16 2796, i16 2796, i16 2796, i16 2796, i16 2632, i16 2797, i16 2797, i16 2797, i16 2632, i16 2798, i16 2798, i16 2798, i16 2632, i16 2799, i16 2799, i16 2799, i16 2632, i16 2800, i16 2800, i16 2800, i16 2632, i16 2801, i16 2801, i16 2801, i16 2632, i16 2802, i16 2802, i16 2802, i16 2632, i16 2803, i16 2803, i16 2803, i16 2632, i16 2804, i16 2804, i16 2804, i16 2632, i16 2805, i16 2805, i16 2805, i16 2805, i16 2805, i16 2632, i16 2806, i16 2806, i16 2806, i16 2632, i16 2807, i16 2807, i16 2807, i16 2632, i16 2808, i16 2632, i16 2809, i16 2632, i16 2810, i16 2632, i16 2811, i16 2632, i16 2812, i16 2632, i16 2813, i16 2813, i16 2813, i16 2813, i16 2813, i16 2632, i16 2814, i16 2814, i16 2814, i16 2814, i16 2814, i16 2632, i16 2815, i16 2815, i16 2815, i16 2815, i16 2815, i16 2632, i16 2816, i16 2816, i16 2816, i16 2816, i16 2816, i16 2632, i16 2817, i16 2817, i16 2817, i16 2817, i16 2817, i16 2632, i16 2818, i16 2632, i16 2819, i16 2632, i16 2820, i16 2632, i16 2821, i16 2632, i16 2822, i16 2632, i16 2823, i16 2823, i16 2823, i16 2632, i16 2824, i16 2824, i16 2824, i16 2632, i16 2825, i16 2825, i16 2825, i16 2632, i16 2826, i16 2632, i16 2827, i16 2632, i16 2828, i16 2632, i16 2829, i16 2632, i16 2830, i16 2632, i16 2831, i16 2831, i16 2831, i16 2632, i16 2832, i16 2632, i16 2833, i16 2632, i16 2834, i16 2632, i16 2835, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2837, i16 2836, i16 2838, i16 2836, i16 2839, i16 2836, i16 2840, i16 2836, i16 2841, i16 2836, i16 2842, i16 2836, i16 2843, i16 2836, i16 2844, i16 2836, i16 2845, i16 2836, i16 2846, i16 2836, i16 2847, i16 2836, i16 2848, i16 2836, i16 2849, i16 2836, i16 2850, i16 2836, i16 2851, i16 2836, i16 2852, i16 2836, i16 2853, i16 2836, i16 2854, i16 2836, i16 2855, i16 2836, i16 2856, i16 2836, i16 2857, i16 2836, i16 2858, i16 2836, i16 2859, i16 2836, i16 2860, i16 2836, i16 2861, i16 2836, i16 2862, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2836, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2646, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2866, i16 2867, i16 2866, i16 2868, i16 2866, i16 2869, i16 2866, i16 2870, i16 2866, i16 2871, i16 2866, i16 2872, i16 2866, i16 2873, i16 2866, i16 2874, i16 2866, i16 2875, i16 2866, i16 2876, i16 2877, i16 2878, i16 2877, i16 2879, i16 2877, i16 2880, i16 2877, i16 2881, i16 2877, i16 2882, i16 2877, i16 2883, i16 2877, i16 2884, i16 2877, i16 2885, i16 2877, i16 2886, i16 2877, i16 2887, i16 2877, i16 2888, i16 2877, i16 2889, i16 2877, i16 2890, i16 2877, i16 2891, i16 2877, i16 2892, i16 2877, i16 2893, i16 2877, i16 2894, i16 2877, i16 2895, i16 2877, i16 2896, i16 2877, i16 2897, i16 2877, i16 2898, i16 2877, i16 2899, i16 2877, i16 2900, i16 2877, i16 2901, i16 2877, i16 2902, i16 2877, i16 2903, i16 2866, i16 2904, i16 2905, i16 2906, i16 2907, i16 2908, i16 2866, i16 2909, i16 2910, i16 2911, i16 2912, i16 2913, i16 2866, i16 2914, i16 2915, i16 2916, i16 2917, i16 2918, i16 2866, i16 2919, i16 2920, i16 2921, i16 2922, i16 2923, i16 2866, i16 2924, i16 2925, i16 2926, i16 2927, i16 2928, i16 2866, i16 2929, i16 2930, i16 2931, i16 2932, i16 2933, i16 2866, i16 2934, i16 2935, i16 2936, i16 2937, i16 2938, i16 2866, i16 2939, i16 2940, i16 2941, i16 2942, i16 2943, i16 2866, i16 2944, i16 2945, i16 2946, i16 2947, i16 2948, i16 2866, i16 2949, i16 2950, i16 2951, i16 2952, i16 2953, i16 2866, i16 2954, i16 2955, i16 2956, i16 2957, i16 2958, i16 2866, i16 2959, i16 2960, i16 2961, i16 2962, i16 2963, i16 2866, i16 2964, i16 2965, i16 2966, i16 2967, i16 2968, i16 2866, i16 2969, i16 2970, i16 2971, i16 2972, i16 2973, i16 2866, i16 2974, i16 2975, i16 2976, i16 2977, i16 2978, i16 2866, i16 2979, i16 2980, i16 2981, i16 2982, i16 2983, i16 2866, i16 2984, i16 2985, i16 2986, i16 2987, i16 2988, i16 2866, i16 2989, i16 2990, i16 2991, i16 2992, i16 2993, i16 2866, i16 2994, i16 2995, i16 2996, i16 2997, i16 2998, i16 2866, i16 2999, i16 3000, i16 3001, i16 3002, i16 3003, i16 2866, i16 3004, i16 3005, i16 3006, i16 3007, i16 3008, i16 2866, i16 3009, i16 3010, i16 3011, i16 3012, i16 3013, i16 2866, i16 3014, i16 3015, i16 3016, i16 3017, i16 3018, i16 2866, i16 3019, i16 3020, i16 3021, i16 3022, i16 3023, i16 2866, i16 3024, i16 3025, i16 3026, i16 3027, i16 3028, i16 2866, i16 3029, i16 3030, i16 3031, i16 3032, i16 3033, i16 2866, i16 3034, i16 3035, i16 3036, i16 3037, i16 3038, i16 2866, i16 3039, i16 3040, i16 3041, i16 3042, i16 3043, i16 2866, i16 3044, i16 3045, i16 3046, i16 3047, i16 3048, i16 2866, i16 3049, i16 3050, i16 3051, i16 3052, i16 3053, i16 2866, i16 3054, i16 3055, i16 3056, i16 3057, i16 3058, i16 2866, i16 3059, i16 3060, i16 3061, i16 3062, i16 3063, i16 2866, i16 3064, i16 3065, i16 3066, i16 3067, i16 3068, i16 2866, i16 3069, i16 3070, i16 3071, i16 3072, i16 3073, i16 2866, i16 3074, i16 3075, i16 3076, i16 3077, i16 3078, i16 2866, i16 2866, i16 3079, i16 3080, i16 3081, i16 3082, i16 3083, i16 2866, i16 2866, i16 3084, i16 3085, i16 3086, i16 3087, i16 3088, i16 2866, i16 3089, i16 3090, i16 3091, i16 3092, i16 3093, i16 2866, i16 3094, i16 3095, i16 3096, i16 3097, i16 3098, i16 2866, i16 3099, i16 3100, i16 3101, i16 3102, i16 3103, i16 2866, i16 3104, i16 3105, i16 3106, i16 3107, i16 3108, i16 2866, i16 3109, i16 3110, i16 3111, i16 3112, i16 3113, i16 2866, i16 3114, i16 3115, i16 3116, i16 3117, i16 3118, i16 2866, i16 3119, i16 3120, i16 3121, i16 3122, i16 3123, i16 2866, i16 2866, i16 2866, i16 2866, i16 3124, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 99, i16 104, i16 112, i16 117, i16 122, i16 124, i16 126, i16 128, i16 130, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 1162, i16 296, i16 0, i16 704, i16 0, i16 1166, i16 293, i16 0, i16 714, i16 0, i16 1168, i16 296, i16 0, i16 1167, i16 293, i16 0, i16 723, i16 0, i16 1169, i16 299, i16 0, i16 728, i16 0, i16 1170, i16 293, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 49, i16 51, i16 53, i16 55, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 83, i16 85, i16 87, i16 89, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 1174, i16 169, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 1176, i16 169, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 1173, i16 169, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 1175, i16 169, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 1222, i16 411, i16 0, i16 1221, i16 491, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 1219, i16 411, i16 0, i16 1220, i16 491, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 48, i16 50, i16 52, i16 54, i16 62, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 94, i16 96, i16 98, i16 100, i16 108, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 138, i16 140, i16 142, i16 144, i16 146, i16 148, i16 478, i16 0, i16 1265, i16 1008, i16 0, i16 1264, i16 1047, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 1269, i16 421, i16 0, i16 1268, i16 501, i16 0, i16 504, i16 0, i16 1273, i16 421, i16 0, i16 1272, i16 501, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 1262, i16 1008, i16 0, i16 1263, i16 1047, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 1266, i16 421, i16 0, i16 1267, i16 501, i16 0, i16 425, i16 0, i16 1270, i16 421, i16 0, i16 1271, i16 501, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 52, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 92, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 1318, i16 989, i16 0, i16 1317, i16 1029, i16 0, i16 491, i16 0, i16 1322, i16 401, i16 0, i16 1321, i16 481, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 1315, i16 989, i16 0, i16 1316, i16 1029, i16 0, i16 411, i16 0, i16 1319, i16 401, i16 0, i16 1320, i16 481, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 1222, i16 411, i16 0, i16 1221, i16 491, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1328, i16 413, i16 0, i16 1327, i16 493, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 1219, i16 411, i16 0, i16 1220, i16 491, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1325, i16 413, i16 0, i16 1326, i16 493, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 62, i16 142, i16 144, i16 168, i16 170, i16 194, i16 218, i16 220, i16 222, i16 224, i16 248, i16 272, i16 274, i16 298, i16 322, i16 402, i16 404, i16 428, i16 430, i16 454, i16 478, i16 480, i16 482, i16 484, i16 508, i16 532, i16 534, i16 558, i16 560, i16 562, i16 564, i16 566, i16 568, i16 570, i16 572, i16 574, i16 576, i16 1425, i16 451, i16 0, i16 1429, i16 398, i16 451, i16 0, i16 1428, i16 398, i16 528, i16 0, i16 1424, i16 528, i16 0, i16 1427, i16 478, i16 451, i16 0, i16 1426, i16 478, i16 528, i16 0, i16 478, i16 0, i16 1451, i16 471, i16 451, i16 0, i16 1450, i16 471, i16 528, i16 0, i16 1437, i16 471, i16 0, i16 1459, i16 399, i16 471, i16 451, i16 0, i16 1458, i16 399, i16 471, i16 528, i16 0, i16 1441, i16 399, i16 471, i16 0, i16 1457, i16 399, i16 548, i16 451, i16 0, i16 1456, i16 399, i16 548, i16 528, i16 0, i16 1440, i16 399, i16 548, i16 0, i16 1449, i16 548, i16 451, i16 0, i16 1448, i16 548, i16 528, i16 0, i16 1436, i16 548, i16 0, i16 1455, i16 479, i16 471, i16 451, i16 0, i16 1454, i16 479, i16 471, i16 528, i16 0, i16 1439, i16 479, i16 471, i16 0, i16 1453, i16 479, i16 548, i16 451, i16 0, i16 1452, i16 479, i16 548, i16 528, i16 0, i16 1438, i16 479, i16 548, i16 0, i16 479, i16 0, i16 490, i16 0, i16 1473, i16 467, i16 0, i16 1477, i16 411, i16 467, i16 0, i16 1476, i16 411, i16 544, i16 0, i16 1472, i16 544, i16 0, i16 1475, i16 491, i16 467, i16 0, i16 1474, i16 491, i16 544, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 1485, i16 467, i16 0, i16 1489, i16 425, i16 467, i16 0, i16 1488, i16 425, i16 544, i16 0, i16 1484, i16 544, i16 0, i16 1487, i16 504, i16 467, i16 0, i16 1486, i16 504, i16 544, i16 0, i16 504, i16 0, i16 1497, i16 467, i16 0, i16 1501, i16 432, i16 467, i16 0, i16 1500, i16 432, i16 544, i16 0, i16 1496, i16 544, i16 0, i16 1499, i16 511, i16 467, i16 0, i16 1498, i16 511, i16 544, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 1509, i16 471, i16 0, i16 1513, i16 451, i16 471, i16 0, i16 1512, i16 451, i16 548, i16 0, i16 1508, i16 548, i16 0, i16 1511, i16 528, i16 471, i16 0, i16 1510, i16 528, i16 548, i16 0, i16 528, i16 0, i16 1521, i16 467, i16 0, i16 1525, i16 453, i16 467, i16 0, i16 1524, i16 453, i16 544, i16 0, i16 1520, i16 544, i16 0, i16 1523, i16 530, i16 467, i16 0, i16 1522, i16 530, i16 544, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 1537, i16 471, i16 451, i16 0, i16 1536, i16 471, i16 528, i16 0, i16 1533, i16 451, i16 0, i16 1535, i16 548, i16 451, i16 0, i16 1534, i16 548, i16 528, i16 0, i16 1532, i16 528, i16 0, i16 548, i16 0, i16 1431, i16 451, i16 0, i16 1435, i16 398, i16 451, i16 0, i16 1434, i16 398, i16 528, i16 0, i16 1430, i16 528, i16 0, i16 1433, i16 478, i16 451, i16 0, i16 1432, i16 478, i16 528, i16 0, i16 398, i16 0, i16 1463, i16 471, i16 451, i16 0, i16 1462, i16 471, i16 528, i16 0, i16 1443, i16 471, i16 0, i16 1471, i16 399, i16 471, i16 451, i16 0, i16 1470, i16 399, i16 471, i16 528, i16 0, i16 1447, i16 399, i16 471, i16 0, i16 1469, i16 399, i16 548, i16 451, i16 0, i16 1468, i16 399, i16 548, i16 528, i16 0, i16 1446, i16 399, i16 548, i16 0, i16 1461, i16 548, i16 451, i16 0, i16 1460, i16 548, i16 528, i16 0, i16 1442, i16 548, i16 0, i16 1467, i16 479, i16 471, i16 451, i16 0, i16 1466, i16 479, i16 471, i16 528, i16 0, i16 1445, i16 479, i16 471, i16 0, i16 1465, i16 479, i16 548, i16 451, i16 0, i16 1464, i16 479, i16 548, i16 528, i16 0, i16 1444, i16 479, i16 548, i16 0, i16 399, i16 0, i16 410, i16 0, i16 1478, i16 467, i16 0, i16 1483, i16 411, i16 467, i16 0, i16 1482, i16 411, i16 544, i16 0, i16 1479, i16 544, i16 0, i16 1481, i16 491, i16 467, i16 0, i16 1480, i16 491, i16 544, i16 0, i16 411, i16 0, i16 990, i16 0, i16 1490, i16 467, i16 0, i16 1495, i16 425, i16 467, i16 0, i16 1494, i16 425, i16 544, i16 0, i16 1491, i16 544, i16 0, i16 1493, i16 504, i16 467, i16 0, i16 1492, i16 504, i16 544, i16 0, i16 425, i16 0, i16 1502, i16 467, i16 0, i16 1507, i16 432, i16 467, i16 0, i16 1506, i16 432, i16 544, i16 0, i16 1503, i16 544, i16 0, i16 1505, i16 511, i16 467, i16 0, i16 1504, i16 511, i16 544, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 1515, i16 471, i16 0, i16 1519, i16 451, i16 471, i16 0, i16 1518, i16 451, i16 548, i16 0, i16 1514, i16 548, i16 0, i16 1517, i16 528, i16 471, i16 0, i16 1516, i16 528, i16 548, i16 0, i16 451, i16 0, i16 1527, i16 467, i16 0, i16 1531, i16 453, i16 467, i16 0, i16 1530, i16 453, i16 544, i16 0, i16 1526, i16 544, i16 0, i16 1529, i16 530, i16 467, i16 0, i16 1528, i16 530, i16 544, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 1543, i16 471, i16 451, i16 0, i16 1542, i16 471, i16 528, i16 0, i16 1539, i16 451, i16 0, i16 1541, i16 548, i16 451, i16 0, i16 1540, i16 548, i16 528, i16 0, i16 1538, i16 528, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 112, i16 117, i16 122, i16 127, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1559, i16 1554, i16 0, i16 1556, i16 1552, i16 0, i16 1073, i16 0, i16 1560, i16 1553, i16 0, i16 582, i16 0, i16 1562, i16 1553, i16 0, i16 1080, i16 0, i16 1563, i16 1553, i16 0, i16 1082, i16 0, i16 1561, i16 1553, i16 0, i16 1564, i16 0, i16 38, i16 46, i16 54, i16 62, i16 64, i16 66, i16 74, i16 82, i16 84, i16 92, i16 100, i16 102, i16 110, i16 112, i16 114, i16 122, i16 130, i16 138, i16 140, i16 142, i16 150, i16 158, i16 160, i16 168, i16 176, i16 178, i16 186, i16 188, i16 190, i16 192, i16 194, i16 196, i16 198, i16 200, i16 202, i16 204, i16 206, i16 208, i16 1591, i16 413, i16 0, i16 1590, i16 493, i16 0, i16 478, i16 0, i16 1595, i16 399, i16 0, i16 1594, i16 479, i16 0, i16 479, i16 0, i16 1599, i16 410, i16 0, i16 1598, i16 490, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 1603, i16 425, i16 0, i16 1602, i16 504, i16 0, i16 504, i16 0, i16 1222, i16 411, i16 0, i16 1221, i16 491, i16 0, i16 511, i16 0, i16 515, i16 0, i16 1607, i16 413, i16 0, i16 1606, i16 493, i16 0, i16 522, i16 0, i16 1611, i16 413, i16 0, i16 1610, i16 493, i16 0, i16 524, i16 0, i16 528, i16 0, i16 1615, i16 413, i16 0, i16 1614, i16 493, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 1588, i16 413, i16 0, i16 1589, i16 493, i16 0, i16 398, i16 0, i16 1592, i16 399, i16 0, i16 1593, i16 479, i16 0, i16 399, i16 0, i16 1596, i16 410, i16 0, i16 1597, i16 490, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 1600, i16 425, i16 0, i16 1601, i16 504, i16 0, i16 425, i16 0, i16 1219, i16 411, i16 0, i16 1220, i16 491, i16 0, i16 432, i16 0, i16 437, i16 0, i16 1604, i16 413, i16 0, i16 1605, i16 493, i16 0, i16 445, i16 0, i16 1608, i16 413, i16 0, i16 1609, i16 493, i16 0, i16 447, i16 0, i16 451, i16 0, i16 1612, i16 413, i16 0, i16 1613, i16 493, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 138, i16 140, i16 1591, i16 413, i16 0, i16 1590, i16 493, i16 0, i16 1621, i16 169, i16 413, i16 0, i16 1620, i16 169, i16 493, i16 0, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 1588, i16 413, i16 0, i16 1589, i16 493, i16 0, i16 1618, i16 169, i16 413, i16 0, i16 1619, i16 169, i16 493, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 10, i16 12, i16 14, i16 16, i16 18, i16 20, i16 22, i16 24, i16 26, i16 28, i16 681, i16 0, i16 738, i16 0, i16 749, i16 0, i16 901, i16 0, i16 927, i16 0, i16 682, i16 0, i16 739, i16 0, i16 750, i16 0, i16 902, i16 0, i16 928, i16 0, i16 10, i16 18, i16 20, i16 22, i16 24, i16 26, i16 34, i16 36, i16 38, i16 40, i16 1884, i16 682, i16 0, i16 1883, i16 681, i16 0, i16 681, i16 0, i16 738, i16 0, i16 749, i16 0, i16 901, i16 0, i16 927, i16 0, i16 1886, i16 682, i16 0, i16 1885, i16 681, i16 0, i16 682, i16 0, i16 739, i16 0, i16 750, i16 0, i16 902, i16 0, i16 928, i16 0, i16 10, i16 12, i16 14, i16 22, i16 30, i16 38, i16 40, i16 42, i16 50, i16 58, i16 681, i16 0, i16 738, i16 0, i16 1928, i16 1880, i16 0, i16 1927, i16 1879, i16 0, i16 749, i16 0, i16 1932, i16 884, i16 0, i16 1931, i16 883, i16 0, i16 901, i16 0, i16 1936, i16 884, i16 0, i16 1935, i16 883, i16 0, i16 927, i16 0, i16 682, i16 0, i16 739, i16 0, i16 1930, i16 1880, i16 0, i16 1929, i16 1879, i16 0, i16 750, i16 0, i16 1934, i16 884, i16 0, i16 1933, i16 883, i16 0, i16 902, i16 0, i16 1938, i16 884, i16 0, i16 1937, i16 883, i16 0, i16 928, i16 0, i16 10, i16 12, i16 20, i16 22, i16 30, i16 32, i16 34, i16 42, i16 44, i16 52, i16 681, i16 0, i16 1940, i16 837, i16 0, i16 1939, i16 836, i16 0, i16 738, i16 0, i16 749, i16 0, i16 1944, i16 902, i16 0, i16 1943, i16 901, i16 0, i16 901, i16 0, i16 927, i16 0, i16 682, i16 0, i16 1942, i16 837, i16 0, i16 1941, i16 836, i16 0, i16 739, i16 0, i16 750, i16 0, i16 1946, i16 902, i16 0, i16 1945, i16 901, i16 0, i16 902, i16 0, i16 928, i16 0, i16 2, i16 10, i16 295, i16 278, i16 0, i16 294, i16 277, i16 0, i16 161, i16 0, i16 296, i16 278, i16 0, i16 162, i16 0, i16 5, i16 139, i16 273, i16 407, i16 541, i16 387, i16 386, i16 0, i16 381, i16 380, i16 0, i16 375, i16 374, i16 0, i16 369, i16 368, i16 0, i16 363, i16 362, i16 0, i16 357, i16 356, i16 0, i16 351, i16 350, i16 0, i16 345, i16 344, i16 0, i16 338, i16 337, i16 0, i16 331, i16 330, i16 0, i16 325, i16 324, i16 0, i16 319, i16 318, i16 0, i16 313, i16 312, i16 0, i16 307, i16 306, i16 0, i16 301, i16 300, i16 0, i16 295, i16 294, i16 0, i16 289, i16 288, i16 0, i16 283, i16 282, i16 0, i16 277, i16 276, i16 0, i16 271, i16 270, i16 0, i16 265, i16 264, i16 0, i16 259, i16 258, i16 0, i16 253, i16 252, i16 0, i16 247, i16 246, i16 0, i16 241, i16 240, i16 0, i16 235, i16 234, i16 0, i16 229, i16 228, i16 0, i16 223, i16 222, i16 0, i16 217, i16 216, i16 0, i16 211, i16 210, i16 0, i16 205, i16 204, i16 0, i16 199, i16 198, i16 0, i16 193, i16 192, i16 0, i16 187, i16 186, i16 0, i16 181, i16 180, i16 0, i16 175, i16 174, i16 0, i16 169, i16 168, i16 0, i16 163, i16 162, i16 0, i16 157, i16 156, i16 0, i16 151, i16 150, i16 0, i16 145, i16 144, i16 0, i16 139, i16 138, i16 0, i16 133, i16 132, i16 0, i16 127, i16 126, i16 0, i16 404, i16 0, i16 388, i16 386, i16 0, i16 382, i16 380, i16 0, i16 376, i16 374, i16 0, i16 370, i16 368, i16 0, i16 364, i16 362, i16 0, i16 358, i16 356, i16 0, i16 352, i16 350, i16 0, i16 346, i16 344, i16 0, i16 339, i16 337, i16 0, i16 332, i16 330, i16 0, i16 326, i16 324, i16 0, i16 320, i16 318, i16 0, i16 314, i16 312, i16 0, i16 308, i16 306, i16 0, i16 302, i16 300, i16 0, i16 296, i16 294, i16 0, i16 290, i16 288, i16 0, i16 284, i16 282, i16 0, i16 278, i16 276, i16 0, i16 272, i16 270, i16 0, i16 266, i16 264, i16 0, i16 260, i16 258, i16 0, i16 254, i16 252, i16 0, i16 248, i16 246, i16 0, i16 242, i16 240, i16 0, i16 236, i16 234, i16 0, i16 230, i16 228, i16 0, i16 224, i16 222, i16 0, i16 218, i16 216, i16 0, i16 212, i16 210, i16 0, i16 206, i16 204, i16 0, i16 200, i16 198, i16 0, i16 194, i16 192, i16 0, i16 188, i16 186, i16 0, i16 182, i16 180, i16 0, i16 176, i16 174, i16 0, i16 170, i16 168, i16 0, i16 164, i16 162, i16 0, i16 158, i16 156, i16 0, i16 152, i16 150, i16 0, i16 146, i16 144, i16 0, i16 140, i16 138, i16 0, i16 134, i16 132, i16 0, i16 128, i16 126, i16 0, i16 405, i16 0, i16 389, i16 386, i16 0, i16 383, i16 380, i16 0, i16 377, i16 374, i16 0, i16 371, i16 368, i16 0, i16 365, i16 362, i16 0, i16 359, i16 356, i16 0, i16 353, i16 350, i16 0, i16 347, i16 344, i16 0, i16 340, i16 337, i16 0, i16 333, i16 330, i16 0, i16 327, i16 324, i16 0, i16 321, i16 318, i16 0, i16 315, i16 312, i16 0, i16 309, i16 306, i16 0, i16 303, i16 300, i16 0, i16 297, i16 294, i16 0, i16 291, i16 288, i16 0, i16 285, i16 282, i16 0, i16 279, i16 276, i16 0, i16 273, i16 270, i16 0, i16 267, i16 264, i16 0, i16 261, i16 258, i16 0, i16 255, i16 252, i16 0, i16 249, i16 246, i16 0, i16 243, i16 240, i16 0, i16 237, i16 234, i16 0, i16 231, i16 228, i16 0, i16 225, i16 222, i16 0, i16 219, i16 216, i16 0, i16 213, i16 210, i16 0, i16 207, i16 204, i16 0, i16 201, i16 198, i16 0, i16 195, i16 192, i16 0, i16 189, i16 186, i16 0, i16 183, i16 180, i16 0, i16 177, i16 174, i16 0, i16 171, i16 168, i16 0, i16 165, i16 162, i16 0, i16 159, i16 156, i16 0, i16 153, i16 150, i16 0, i16 147, i16 144, i16 0, i16 141, i16 138, i16 0, i16 135, i16 132, i16 0, i16 129, i16 126, i16 0, i16 406, i16 0, i16 390, i16 386, i16 0, i16 384, i16 380, i16 0, i16 378, i16 374, i16 0, i16 372, i16 368, i16 0, i16 366, i16 362, i16 0, i16 360, i16 356, i16 0, i16 354, i16 350, i16 0, i16 348, i16 344, i16 0, i16 341, i16 337, i16 0, i16 334, i16 330, i16 0, i16 328, i16 324, i16 0, i16 322, i16 318, i16 0, i16 316, i16 312, i16 0, i16 310, i16 306, i16 0, i16 304, i16 300, i16 0, i16 298, i16 294, i16 0, i16 292, i16 288, i16 0, i16 286, i16 282, i16 0, i16 280, i16 276, i16 0, i16 274, i16 270, i16 0, i16 268, i16 264, i16 0, i16 262, i16 258, i16 0, i16 256, i16 252, i16 0, i16 250, i16 246, i16 0, i16 244, i16 240, i16 0, i16 238, i16 234, i16 0, i16 232, i16 228, i16 0, i16 226, i16 222, i16 0, i16 220, i16 216, i16 0, i16 214, i16 210, i16 0, i16 208, i16 204, i16 0, i16 202, i16 198, i16 0, i16 196, i16 192, i16 0, i16 190, i16 186, i16 0, i16 184, i16 180, i16 0, i16 178, i16 174, i16 0, i16 172, i16 168, i16 0, i16 166, i16 162, i16 0, i16 160, i16 156, i16 0, i16 154, i16 150, i16 0, i16 148, i16 144, i16 0, i16 142, i16 138, i16 0, i16 136, i16 132, i16 0, i16 130, i16 126, i16 0, i16 407, i16 0, i16 391, i16 386, i16 0, i16 385, i16 380, i16 0, i16 379, i16 374, i16 0, i16 373, i16 368, i16 0, i16 367, i16 362, i16 0, i16 361, i16 356, i16 0, i16 355, i16 350, i16 0, i16 349, i16 344, i16 0, i16 342, i16 337, i16 0, i16 335, i16 330, i16 0, i16 329, i16 324, i16 0, i16 323, i16 318, i16 0, i16 317, i16 312, i16 0, i16 311, i16 306, i16 0, i16 305, i16 300, i16 0, i16 299, i16 294, i16 0, i16 293, i16 288, i16 0, i16 287, i16 282, i16 0, i16 281, i16 276, i16 0, i16 275, i16 270, i16 0, i16 269, i16 264, i16 0, i16 263, i16 258, i16 0, i16 257, i16 252, i16 0, i16 251, i16 246, i16 0, i16 245, i16 240, i16 0, i16 239, i16 234, i16 0, i16 233, i16 228, i16 0, i16 227, i16 222, i16 0, i16 221, i16 216, i16 0, i16 215, i16 210, i16 0, i16 209, i16 204, i16 0, i16 203, i16 198, i16 0, i16 197, i16 192, i16 0, i16 191, i16 186, i16 0, i16 185, i16 180, i16 0, i16 179, i16 174, i16 0, i16 173, i16 168, i16 0, i16 167, i16 162, i16 0, i16 161, i16 156, i16 0, i16 155, i16 150, i16 0, i16 149, i16 144, i16 0, i16 143, i16 138, i16 0, i16 137, i16 132, i16 0, i16 131, i16 126, i16 0, i16 408, i16 0, i16 1, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 263, i16 1158, i16 0, i16 1159, i16 0, i16 2, i16 272, i16 1160, i16 0, i16 1161, i16 0, i16 2, i16 1375, i16 1163, i16 748, i16 1164, i16 749, i16 2, i16 1381, i16 1165, i16 750, i16 1166, i16 751, i16 2, i16 1392, i16 1167, i16 752, i16 1168, i16 753, i16 2, i16 1401, i16 1169, i16 754, i16 1170, i16 755, i16 1, i16 1156, i16 244, i16 0, i16 1157, i16 253, i16 0, i16 1162, i16 1370, i16 756, i16 1155, i16 22611, i16 1, i16 0, i16 1, i16 1171, i16 142, i16 0, i16 1172, i16 163, i16 0, i16 1173, i16 699, i16 757, i16 1174, i16 907, i16 758, i16 1175, i16 762, i16 759, i16 1176, i16 968, i16 760, i16 1155, i16 22611, i16 1, i16 0, i16 1, i16 1177, i16 306, i16 0, i16 1178, i16 1512, i16 761, i16 1179, i16 1576, i16 762, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 145, i16 900, i16 0, i16 1183, i16 0, i16 901, i16 0, i16 902, i16 0, i16 903, i16 0, i16 2, i16 636, i16 1196, i16 763, i16 974, i16 764, i16 2, i16 845, i16 1197, i16 765, i16 1014, i16 766, i16 2, i16 712, i16 992, i16 767, i16 990, i16 768, i16 2, i16 920, i16 1030, i16 769, i16 1032, i16 770, i16 2, i16 749, i16 995, i16 771, i16 994, i16 772, i16 2, i16 956, i16 1035, i16 773, i16 1034, i16 774, i16 2, i16 762, i16 1198, i16 775, i16 996, i16 775, i16 2, i16 968, i16 1199, i16 776, i16 1036, i16 776, i16 1, i16 1180, i16 121, i16 0, i16 1181, i16 127, i16 0, i16 1182, i16 142, i16 0, i16 1184, i16 161, i16 0, i16 1185, i16 163, i16 0, i16 1186, i16 173, i16 0, i16 1187, i16 178, i16 0, i16 1188, i16 303, i16 0, i16 1189, i16 309, i16 0, i16 1190, i16 322, i16 0, i16 1191, i16 327, i16 0, i16 1192, i16 330, i16 0, i16 1193, i16 340, i16 0, i16 1194, i16 343, i16 0, i16 1195, i16 346, i16 0, i16 978, i16 656, i16 777, i16 1018, i16 864, i16 778, i16 985, i16 699, i16 779, i16 1025, i16 907, i16 780, i16 1001, i16 787, i16 781, i16 1041, i16 992, i16 782, i16 1004, i16 809, i16 783, i16 1043, i16 1013, i16 784, i16 1200, i16 1506, i16 785, i16 1201, i16 1570, i16 786, i16 1202, i16 1514, i16 787, i16 1203, i16 1579, i16 788, i16 1204, i16 1532, i16 789, i16 1205, i16 1597, i16 790, i16 1206, i16 1538, i16 791, i16 1207, i16 1603, i16 792, i16 1208, i16 1541, i16 793, i16 1209, i16 1606, i16 794, i16 1210, i16 1549, i16 795, i16 1211, i16 1614, i16 796, i16 1212, i16 1553, i16 797, i16 1213, i16 1618, i16 798, i16 1214, i16 1556, i16 799, i16 1215, i16 1621, i16 800, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 749, i16 1219, i16 801, i16 1220, i16 802, i16 2, i16 956, i16 1221, i16 803, i16 1222, i16 804, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1218, i16 161, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 12, i16 22611, i16 1223, i16 805, i16 1224, i16 805, i16 1225, i16 805, i16 1226, i16 805, i16 1227, i16 805, i16 1228, i16 805, i16 1229, i16 805, i16 1230, i16 805, i16 1231, i16 805, i16 1232, i16 805, i16 1233, i16 805, i16 1234, i16 805, i16 1, i16 1155, i16 22623, i16 1, i16 0, i16 1, i16 1188, i16 303, i16 0, i16 1235, i16 316, i16 0, i16 1236, i16 322, i16 0, i16 1237, i16 338, i16 0, i16 1238, i16 343, i16 0, i16 1239, i16 346, i16 0, i16 1200, i16 1506, i16 785, i16 1201, i16 1570, i16 786, i16 1240, i16 1524, i16 806, i16 1241, i16 1588, i16 807, i16 1242, i16 1532, i16 808, i16 1243, i16 1597, i16 809, i16 1244, i16 1549, i16 810, i16 1245, i16 1614, i16 811, i16 1246, i16 1553, i16 812, i16 1247, i16 1618, i16 813, i16 1248, i16 1556, i16 814, i16 1249, i16 1621, i16 815, i16 1155, i16 22611, i16 1, i16 0, i16 4, i16 189, i16 1250, i16 0, i16 1251, i16 0, i16 1252, i16 0, i16 1253, i16 0, i16 3, i16 645, i16 974, i16 816, i16 975, i16 817, i16 977, i16 818, i16 2, i16 769, i16 996, i16 819, i16 997, i16 820, i16 3, i16 853, i16 1014, i16 821, i16 1015, i16 822, i16 1017, i16 823, i16 2, i16 974, i16 1036, i16 824, i16 1037, i16 825, i16 1, i16 895, i16 53, i16 0, i16 1046, i16 1026, i16 826, i16 1007, i16 822, i16 827, i16 1004, i16 813, i16 828, i16 1043, i16 1017, i16 829, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 127, i16 1254, i16 0, i16 1255, i16 0, i16 898, i16 0, i16 1256, i16 0, i16 1257, i16 0, i16 2, i16 656, i16 979, i16 830, i16 981, i16 831, i16 2, i16 864, i16 1019, i16 832, i16 1021, i16 833, i16 3, i16 670, i16 1262, i16 834, i16 1263, i16 835, i16 984, i16 836, i16 3, i16 878, i16 1264, i16 837, i16 1265, i16 838, i16 1024, i16 839, i16 2, i16 736, i16 1266, i16 840, i16 1267, i16 841, i16 2, i16 943, i16 1268, i16 842, i16 1269, i16 843, i16 2, i16 749, i16 1270, i16 844, i16 1271, i16 845, i16 2, i16 956, i16 1272, i16 846, i16 1273, i16 847, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1258, i16 158, i16 0, i16 1259, i16 161, i16 0, i16 1260, i16 173, i16 0, i16 1261, i16 189, i16 0, i16 1000, i16 787, i16 848, i16 1040, i16 992, i16 849, i16 1008, i16 834, i16 850, i16 1047, i16 1038, i16 851, i16 1155, i16 22611, i16 1, i16 0, i16 4, i16 121, i16 1274, i16 0, i16 1275, i16 0, i16 1276, i16 0, i16 1277, i16 0, i16 4, i16 127, i16 1255, i16 0, i16 1278, i16 0, i16 1279, i16 0, i16 1280, i16 0, i16 2, i16 133, i16 1281, i16 0, i16 1282, i16 0, i16 2, i16 142, i16 1284, i16 0, i16 1285, i16 0, i16 2, i16 173, i16 1287, i16 0, i16 1260, i16 0, i16 5, i16 194, i16 1288, i16 0, i16 1253, i16 0, i16 1250, i16 0, i16 1289, i16 0, i16 1252, i16 0, i16 4, i16 636, i16 971, i16 852, i16 970, i16 853, i16 972, i16 854, i16 973, i16 855, i16 4, i16 845, i16 1011, i16 856, i16 1010, i16 857, i16 1012, i16 858, i16 1013, i16 859, i16 2, i16 656, i16 978, i16 860, i16 981, i16 861, i16 2, i16 864, i16 1018, i16 862, i16 1021, i16 863, i16 2, i16 667, i16 1290, i16 864, i16 1291, i16 865, i16 2, i16 875, i16 1292, i16 864, i16 1293, i16 866, i16 2, i16 670, i16 983, i16 867, i16 984, i16 868, i16 2, i16 878, i16 1023, i16 869, i16 1024, i16 870, i16 2, i16 709, i16 1295, i16 871, i16 1296, i16 872, i16 2, i16 917, i16 1297, i16 871, i16 1298, i16 872, i16 3, i16 992, i16 1002, i16 873, i16 1000, i16 874, i16 1040, i16 875, i16 3, i16 645, i16 974, i16 876, i16 975, i16 817, i16 977, i16 877, i16 2, i16 769, i16 996, i16 819, i16 997, i16 820, i16 3, i16 853, i16 1014, i16 878, i16 1015, i16 822, i16 1017, i16 879, i16 2, i16 974, i16 1036, i16 824, i16 1037, i16 825, i16 1, i16 889, i16 16, i16 0, i16 1283, i16 138, i16 0, i16 1286, i16 156, i16 0, i16 1294, i16 696, i16 880, i16 1299, i16 734, i16 881, i16 1300, i16 941, i16 882, i16 1004, i16 813, i16 828, i16 1043, i16 1017, i16 829, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 46, i16 897, i16 0, i16 896, i16 0, i16 2, i16 121, i16 1301, i16 0, i16 1302, i16 0, i16 2, i16 636, i16 972, i16 883, i16 976, i16 884, i16 2, i16 845, i16 1012, i16 885, i16 1016, i16 886, i16 2, i16 787, i16 1305, i16 781, i16 1001, i16 781, i16 2, i16 992, i16 1306, i16 781, i16 1041, i16 782, i16 2, i16 799, i16 1307, i16 887, i16 1003, i16 887, i16 2, i16 1003, i16 1308, i16 887, i16 1042, i16 888, i16 1, i16 1303, i16 152, i16 0, i16 1186, i16 173, i16 0, i16 1304, i16 176, i16 0, i16 991, i16 717, i16 889, i16 1031, i16 925, i16 890, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 699, i16 1315, i16 891, i16 1316, i16 892, i16 2, i16 907, i16 1317, i16 893, i16 1318, i16 894, i16 2, i16 717, i16 1319, i16 895, i16 1320, i16 896, i16 2, i16 925, i16 1321, i16 897, i16 1322, i16 898, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1309, i16 127, i16 0, i16 1310, i16 138, i16 0, i16 1311, i16 142, i16 0, i16 1312, i16 145, i16 0, i16 1313, i16 152, i16 0, i16 1314, i16 187, i16 0, i16 982, i16 656, i16 899, i16 1022, i16 864, i16 900, i16 987, i16 696, i16 901, i16 1027, i16 904, i16 902, i16 989, i16 712, i16 903, i16 1029, i16 920, i16 904, i16 1009, i16 829, i16 905, i16 1048, i16 1033, i16 906, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 749, i16 1219, i16 907, i16 1220, i16 908, i16 2, i16 956, i16 1221, i16 909, i16 1222, i16 910, i16 2, i16 824, i16 1325, i16 911, i16 1326, i16 912, i16 2, i16 1028, i16 1327, i16 913, i16 1328, i16 914, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1323, i16 161, i16 0, i16 1324, i16 184, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 76, i16 1632, i16 1329, i16 915, i16 1330, i16 915, i16 1331, i16 915, i16 1332, i16 915, i16 1333, i16 915, i16 1334, i16 915, i16 1335, i16 915, i16 1336, i16 915, i16 1337, i16 915, i16 1338, i16 915, i16 1339, i16 915, i16 1340, i16 915, i16 1341, i16 915, i16 1342, i16 915, i16 1343, i16 915, i16 1344, i16 915, i16 1345, i16 915, i16 1346, i16 915, i16 1347, i16 915, i16 1348, i16 915, i16 1349, i16 915, i16 1350, i16 915, i16 1351, i16 915, i16 1352, i16 915, i16 1353, i16 915, i16 1354, i16 915, i16 1355, i16 915, i16 1356, i16 915, i16 1357, i16 915, i16 1358, i16 915, i16 1359, i16 915, i16 1360, i16 915, i16 1361, i16 915, i16 1362, i16 915, i16 1363, i16 915, i16 1364, i16 915, i16 1365, i16 915, i16 1366, i16 915, i16 1367, i16 916, i16 1368, i16 916, i16 1369, i16 916, i16 1370, i16 916, i16 1371, i16 916, i16 1372, i16 916, i16 1373, i16 916, i16 1374, i16 916, i16 1375, i16 916, i16 1376, i16 916, i16 1377, i16 916, i16 1378, i16 916, i16 1379, i16 916, i16 1380, i16 916, i16 1381, i16 916, i16 1382, i16 916, i16 1383, i16 916, i16 1384, i16 916, i16 1385, i16 916, i16 1386, i16 916, i16 1387, i16 916, i16 1388, i16 916, i16 1389, i16 916, i16 1390, i16 916, i16 1391, i16 916, i16 1392, i16 916, i16 1393, i16 916, i16 1394, i16 916, i16 1395, i16 916, i16 1396, i16 916, i16 1397, i16 916, i16 1398, i16 916, i16 1399, i16 916, i16 1400, i16 916, i16 1401, i16 916, i16 1402, i16 916, i16 1403, i16 916, i16 1404, i16 916, i16 1, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 3, i16 1216, i16 0, i16 1405, i16 0, i16 1406, i16 0, i16 1407, i16 0, i16 1408, i16 0, i16 5, i16 16, i16 1217, i16 0, i16 1409, i16 0, i16 1410, i16 0, i16 1411, i16 0, i16 1412, i16 0, i16 2, i16 133, i16 1414, i16 0, i16 1415, i16 0, i16 4, i16 163, i16 996, i16 917, i16 998, i16 918, i16 1036, i16 919, i16 1038, i16 920, i16 4, i16 178, i16 1004, i16 921, i16 1006, i16 922, i16 1043, i16 923, i16 1045, i16 924, i16 6, i16 864, i16 1424, i16 925, i16 1425, i16 926, i16 1426, i16 927, i16 1427, i16 928, i16 1428, i16 929, i16 1429, i16 930, i16 6, i16 656, i16 1430, i16 931, i16 1431, i16 932, i16 1432, i16 933, i16 1433, i16 934, i16 1434, i16 935, i16 1435, i16 936, i16 6, i16 878, i16 1436, i16 937, i16 1437, i16 938, i16 1438, i16 939, i16 1439, i16 940, i16 1440, i16 941, i16 1441, i16 942, i16 6, i16 670, i16 1442, i16 943, i16 1443, i16 944, i16 1444, i16 945, i16 1445, i16 946, i16 1446, i16 947, i16 1447, i16 948, i16 12, i16 878, i16 1448, i16 949, i16 1449, i16 950, i16 1450, i16 951, i16 1451, i16 952, i16 1452, i16 953, i16 1453, i16 954, i16 1454, i16 955, i16 1455, i16 956, i16 1456, i16 953, i16 1457, i16 954, i16 1458, i16 955, i16 1459, i16 956, i16 12, i16 670, i16 1460, i16 957, i16 1461, i16 958, i16 1462, i16 959, i16 1463, i16 960, i16 1464, i16 961, i16 1465, i16 962, i16 1466, i16 963, i16 1467, i16 964, i16 1468, i16 961, i16 1469, i16 962, i16 1470, i16 963, i16 1471, i16 964, i16 6, i16 907, i16 1472, i16 965, i16 1473, i16 966, i16 1474, i16 967, i16 1475, i16 968, i16 1476, i16 969, i16 1477, i16 970, i16 6, i16 699, i16 1478, i16 971, i16 1479, i16 972, i16 1480, i16 973, i16 1481, i16 974, i16 1482, i16 975, i16 1483, i16 976, i16 6, i16 943, i16 1484, i16 977, i16 1485, i16 978, i16 1486, i16 979, i16 1487, i16 980, i16 1488, i16 981, i16 1489, i16 982, i16 6, i16 736, i16 1490, i16 983, i16 1491, i16 984, i16 1492, i16 985, i16 1493, i16 986, i16 1494, i16 987, i16 1495, i16 988, i16 6, i16 956, i16 1496, i16 989, i16 1497, i16 990, i16 1498, i16 991, i16 1499, i16 992, i16 1500, i16 993, i16 1501, i16 994, i16 6, i16 749, i16 1502, i16 995, i16 1503, i16 996, i16 1504, i16 997, i16 1505, i16 998, i16 1506, i16 999, i16 1507, i16 1000, i16 6, i16 992, i16 1508, i16 1001, i16 1509, i16 1002, i16 1510, i16 1003, i16 1511, i16 1004, i16 1512, i16 1005, i16 1513, i16 1006, i16 6, i16 787, i16 1514, i16 1007, i16 1515, i16 1008, i16 1516, i16 1009, i16 1517, i16 1010, i16 1518, i16 1011, i16 1519, i16 1012, i16 6, i16 1003, i16 1520, i16 1013, i16 1521, i16 1014, i16 1522, i16 1015, i16 1523, i16 1016, i16 1524, i16 1017, i16 1525, i16 1018, i16 6, i16 799, i16 1526, i16 1019, i16 1527, i16 1020, i16 1528, i16 1021, i16 1529, i16 1022, i16 1530, i16 1023, i16 1531, i16 1024, i16 6, i16 1038, i16 1532, i16 1025, i16 1533, i16 1026, i16 1534, i16 1027, i16 1535, i16 1028, i16 1536, i16 1029, i16 1537, i16 1030, i16 6, i16 834, i16 1538, i16 1031, i16 1539, i16 1032, i16 1540, i16 1033, i16 1541, i16 1034, i16 1542, i16 1035, i16 1543, i16 1036, i16 1, i16 1413, i16 127, i16 0, i16 1416, i16 142, i16 0, i16 1417, i16 158, i16 0, i16 1418, i16 161, i16 0, i16 1419, i16 163, i16 0, i16 1420, i16 173, i16 0, i16 1421, i16 176, i16 0, i16 1422, i16 178, i16 0, i16 1423, i16 189, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 9, i16 31, i16 890, i16 0, i16 892, i16 0, i16 1544, i16 0, i16 891, i16 0, i16 1545, i16 0, i16 1546, i16 0, i16 1547, i16 0, i16 893, i16 0, i16 894, i16 0, i16 2, i16 42, i16 1548, i16 0, i16 1549, i16 0, i16 3, i16 194, i16 1550, i16 0, i16 906, i16 0, i16 905, i16 0, i16 2, i16 238, i16 907, i16 0, i16 1551, i16 0, i16 16, i16 482, i16 961, i16 1037, i16 962, i16 1037, i16 963, i16 1037, i16 967, i16 1037, i16 968, i16 1037, i16 969, i16 1037, i16 964, i16 1037, i16 965, i16 1037, i16 966, i16 1037, i16 954, i16 1037, i16 955, i16 1037, i16 956, i16 1037, i16 959, i16 1037, i16 960, i16 1037, i16 957, i16 1037, i16 958, i16 1037, i16 4, i16 520, i16 1552, i16 1037, i16 1553, i16 1037, i16 1554, i16 1037, i16 1555, i16 1037, i16 35, i16 1049, i16 1050, i16 641, i16 1049, i16 642, i16 1052, i16 643, i16 1051, i16 644, i16 1054, i16 645, i16 1053, i16 646, i16 1056, i16 647, i16 1055, i16 648, i16 1058, i16 649, i16 1057, i16 650, i16 1060, i16 651, i16 1059, i16 652, i16 1062, i16 653, i16 1061, i16 654, i16 1064, i16 655, i16 1063, i16 656, i16 1066, i16 657, i16 1065, i16 658, i16 1068, i16 659, i16 1067, i16 660, i16 1070, i16 1038, i16 1556, i16 1038, i16 1073, i16 665, i16 1557, i16 1039, i16 1069, i16 661, i16 1071, i16 1040, i16 1558, i16 1040, i16 1072, i16 1041, i16 1559, i16 1041, i16 1079, i16 1042, i16 1560, i16 1042, i16 1081, i16 1043, i16 1561, i16 1044, i16 1562, i16 1045, i16 1563, i16 1043, i16 2, i16 1135, i16 1076, i16 667, i16 1075, i16 1046, i16 6, i16 1148, i16 1077, i16 669, i16 1074, i16 1047, i16 1078, i16 1048, i16 1564, i16 1049, i16 1080, i16 1050, i16 1082, i16 1051, i16 15, i16 1160, i16 1084, i16 1052, i16 1085, i16 1053, i16 1090, i16 1054, i16 1091, i16 1055, i16 1565, i16 1056, i16 1566, i16 1057, i16 1083, i16 1058, i16 1086, i16 1059, i16 1087, i16 1060, i16 1088, i16 1061, i16 1089, i16 1062, i16 1108, i16 1063, i16 1109, i16 1064, i16 1567, i16 1065, i16 1568, i16 1066, i16 8, i16 1276, i16 1098, i16 1067, i16 1099, i16 1068, i16 1100, i16 1069, i16 1101, i16 1070, i16 1094, i16 1071, i16 1095, i16 1072, i16 1096, i16 1073, i16 1097, i16 1074, i16 26, i16 1320, i16 1102, i16 1075, i16 1103, i16 1076, i16 1104, i16 1077, i16 1105, i16 1078, i16 1092, i16 1079, i16 1093, i16 1080, i16 1106, i16 1081, i16 1107, i16 1082, i16 1570, i16 1083, i16 1571, i16 1084, i16 1572, i16 1085, i16 1573, i16 1086, i16 1110, i16 1087, i16 1111, i16 1088, i16 1112, i16 1089, i16 1113, i16 1090, i16 1114, i16 1091, i16 1115, i16 1092, i16 1116, i16 1093, i16 1117, i16 1094, i16 1118, i16 1095, i16 1119, i16 1096, i16 1120, i16 1097, i16 1121, i16 1098, i16 1122, i16 1099, i16 1123, i16 1100, i16 1, i16 1569, i16 1229, i16 1101, i16 1155, i16 22611, i16 1, i16 0, i16 1, i16 1574, i16 127, i16 0, i16 1575, i16 142, i16 0, i16 1576, i16 145, i16 0, i16 1577, i16 154, i16 0, i16 1578, i16 173, i16 0, i16 1579, i16 178, i16 0, i16 1020, i16 864, i16 1102, i16 980, i16 656, i16 1103, i16 1026, i16 907, i16 1104, i16 986, i16 699, i16 1105, i16 1028, i16 920, i16 1106, i16 988, i16 712, i16 1107, i16 1033, i16 937, i16 1108, i16 993, i16 729, i16 1109, i16 1039, i16 992, i16 1110, i16 999, i16 787, i16 1111, i16 1044, i16 1013, i16 1112, i16 1005, i16 809, i16 1113, i16 1155, i16 22611, i16 1, i16 0, i16 3, i16 127, i16 1580, i16 0, i16 898, i16 0, i16 1581, i16 0, i16 3, i16 138, i16 1582, i16 0, i16 899, i16 0, i16 1583, i16 0, i16 2, i16 656, i16 1588, i16 1114, i16 1589, i16 1115, i16 2, i16 864, i16 1590, i16 1116, i16 1591, i16 1117, i16 2, i16 670, i16 1592, i16 1118, i16 1593, i16 1119, i16 2, i16 878, i16 1594, i16 1120, i16 1595, i16 1121, i16 2, i16 696, i16 1596, i16 1122, i16 1597, i16 1123, i16 2, i16 904, i16 1598, i16 1124, i16 1599, i16 1125, i16 2, i16 699, i16 1219, i16 1126, i16 1220, i16 1127, i16 2, i16 907, i16 1221, i16 1128, i16 1222, i16 1129, i16 2, i16 736, i16 1600, i16 1130, i16 1601, i16 1131, i16 2, i16 943, i16 1602, i16 1132, i16 1603, i16 1133, i16 2, i16 777, i16 1604, i16 1134, i16 1605, i16 1135, i16 2, i16 982, i16 1606, i16 1136, i16 1607, i16 1137, i16 2, i16 781, i16 1608, i16 1138, i16 1609, i16 1139, i16 2, i16 986, i16 1610, i16 1140, i16 1611, i16 1141, i16 2, i16 799, i16 1612, i16 1142, i16 1613, i16 1143, i16 2, i16 1003, i16 1614, i16 1144, i16 1615, i16 1145, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1584, i16 158, i16 0, i16 1585, i16 168, i16 0, i16 1586, i16 171, i16 0, i16 1587, i16 176, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 127, i16 1254, i16 0, i16 1255, i16 0, i16 898, i16 0, i16 1256, i16 0, i16 1257, i16 0, i16 2, i16 656, i16 979, i16 830, i16 981, i16 831, i16 2, i16 864, i16 1019, i16 832, i16 1021, i16 833, i16 3, i16 670, i16 1262, i16 834, i16 1263, i16 835, i16 984, i16 836, i16 5, i16 878, i16 1264, i16 837, i16 1265, i16 838, i16 1024, i16 839, i16 1266, i16 840, i16 1267, i16 841, i16 2, i16 943, i16 1268, i16 842, i16 1269, i16 843, i16 2, i16 749, i16 1270, i16 844, i16 1271, i16 845, i16 2, i16 956, i16 1272, i16 846, i16 1273, i16 847, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1258, i16 158, i16 0, i16 1259, i16 161, i16 0, i16 1260, i16 173, i16 0, i16 1261, i16 189, i16 0, i16 1000, i16 787, i16 848, i16 1040, i16 992, i16 849, i16 1008, i16 834, i16 850, i16 1047, i16 1038, i16 851, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 127, i16 1616, i16 0, i16 1617, i16 0, i16 4, i16 656, i16 1588, i16 1146, i16 1589, i16 1147, i16 1618, i16 1148, i16 1619, i16 1149, i16 4, i16 864, i16 1590, i16 1150, i16 1591, i16 1151, i16 1620, i16 1152, i16 1621, i16 1153, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 46, i16 74, i16 908, i16 0, i16 909, i16 0, i16 910, i16 0, i16 911, i16 0, i16 912, i16 0, i16 913, i16 0, i16 914, i16 0, i16 915, i16 0, i16 916, i16 0, i16 917, i16 0, i16 918, i16 0, i16 919, i16 0, i16 920, i16 0, i16 921, i16 0, i16 922, i16 0, i16 923, i16 0, i16 924, i16 0, i16 925, i16 0, i16 926, i16 0, i16 927, i16 0, i16 928, i16 0, i16 929, i16 0, i16 930, i16 0, i16 931, i16 0, i16 932, i16 0, i16 933, i16 0, i16 934, i16 0, i16 935, i16 0, i16 936, i16 0, i16 937, i16 0, i16 938, i16 0, i16 939, i16 0, i16 940, i16 0, i16 941, i16 0, i16 942, i16 0, i16 943, i16 0, i16 944, i16 0, i16 945, i16 0, i16 946, i16 0, i16 947, i16 0, i16 948, i16 0, i16 949, i16 0, i16 950, i16 0, i16 951, i16 0, i16 952, i16 0, i16 953, i16 0, i16 3, i16 1508, i16 1125, i16 1154, i16 1136, i16 1155, i16 1128, i16 1156, i16 3, i16 1514, i16 1126, i16 1157, i16 1127, i16 1158, i16 1138, i16 1159, i16 3, i16 1524, i16 1144, i16 1160, i16 1130, i16 1161, i16 1137, i16 1162, i16 3, i16 1572, i16 1140, i16 1163, i16 1152, i16 1164, i16 1143, i16 1165, i16 3, i16 1579, i16 1141, i16 1166, i16 1142, i16 1167, i16 1154, i16 1168, i16 3, i16 1588, i16 1129, i16 1169, i16 1145, i16 1170, i16 1153, i16 1171, i16 1, i16 1124, i16 1506, i16 1172, i16 1133, i16 1532, i16 1173, i16 1131, i16 1534, i16 1174, i16 1132, i16 1538, i16 1175, i16 1135, i16 1549, i16 1176, i16 1134, i16 1556, i16 1177, i16 1139, i16 1570, i16 1178, i16 1146, i16 1594, i16 1179, i16 1149, i16 1597, i16 1180, i16 1147, i16 1599, i16 1181, i16 1148, i16 1603, i16 1182, i16 1151, i16 1614, i16 1183, i16 1150, i16 1621, i16 1184, i16 1155, i16 22611, i16 1, i16 0, i16 6, i16 145, i16 904, i16 0, i16 900, i16 0, i16 1183, i16 0, i16 901, i16 0, i16 902, i16 0, i16 903, i16 0, i16 2, i16 712, i16 992, i16 767, i16 990, i16 768, i16 2, i16 920, i16 1030, i16 769, i16 1032, i16 770, i16 1, i16 1181, i16 127, i16 0, i16 1180, i16 136, i16 0, i16 1182, i16 142, i16 0, i16 1622, i16 163, i16 0, i16 1186, i16 173, i16 0, i16 1187, i16 178, i16 0, i16 1188, i16 303, i16 0, i16 1189, i16 309, i16 0, i16 1190, i16 322, i16 0, i16 1192, i16 330, i16 0, i16 1193, i16 340, i16 0, i16 1194, i16 343, i16 0, i16 1195, i16 346, i16 0, i16 978, i16 656, i16 777, i16 1018, i16 864, i16 778, i16 1196, i16 686, i16 763, i16 1197, i16 894, i16 765, i16 985, i16 699, i16 779, i16 1025, i16 907, i16 780, i16 996, i16 762, i16 1185, i16 1036, i16 968, i16 1186, i16 1001, i16 787, i16 781, i16 1041, i16 992, i16 782, i16 1004, i16 809, i16 783, i16 1043, i16 1013, i16 784, i16 1200, i16 1506, i16 785, i16 1201, i16 1570, i16 786, i16 1202, i16 1514, i16 787, i16 1203, i16 1579, i16 788, i16 1204, i16 1532, i16 789, i16 1205, i16 1597, i16 790, i16 1208, i16 1541, i16 793, i16 1209, i16 1606, i16 794, i16 1210, i16 1549, i16 795, i16 1211, i16 1614, i16 796, i16 1212, i16 1553, i16 797, i16 1213, i16 1618, i16 798, i16 1214, i16 1556, i16 799, i16 1215, i16 1621, i16 800, i16 1155, i16 22611, i16 1, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 877, i16 1780, i16 1190, i16 1781, i16 1833, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 990, i16 1792, i16 1190, i16 1793, i16 1844, i16 3, i16 1009, i16 1794, i16 1845, i16 1795, i16 1846, i16 1796, i16 1847, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 4, i16 1206, i16 1828, i16 1190, i16 1829, i16 1878, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1266, i16 1838, i16 1190, i16 1839, i16 1887, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 8, i16 1361, i16 1848, i16 1190, i16 1849, i16 1896, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1803, i16 1075, i16 1925, i16 0, i16 2, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 20, i16 1370, i16 1850, i16 1934, i16 1851, i16 1935, i16 1852, i16 1936, i16 1853, i16 1937, i16 1854, i16 1938, i16 1855, i16 1939, i16 1856, i16 1934, i16 1857, i16 1940, i16 1858, i16 1941, i16 1859, i16 1942, i16 1860, i16 1943, i16 1861, i16 1944, i16 1862, i16 1945, i16 1863, i16 1946, i16 1864, i16 1947, i16 1865, i16 1948, i16 1866, i16 1949, i16 1867, i16 1950, i16 1868, i16 1951, i16 1869, i16 1952, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 7, i16 1418, i16 1874, i16 1187, i16 1848, i16 1953, i16 1849, i16 1954, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 20, i16 1440, i16 1760, i16 1190, i16 1761, i16 1955, i16 1762, i16 1956, i16 1763, i16 1957, i16 1764, i16 1190, i16 1765, i16 1958, i16 1770, i16 1959, i16 1771, i16 1960, i16 1772, i16 1959, i16 1773, i16 1961, i16 1774, i16 1959, i16 1775, i16 1962, i16 1828, i16 1190, i16 1829, i16 1878, i16 1822, i16 1963, i16 1823, i16 1964, i16 1824, i16 1963, i16 1825, i16 1965, i16 1820, i16 1966, i16 1821, i16 1967, i16 27, i16 2011, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 1, i16 1696, i16 1, i16 1187, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 877, i16 1778, i16 1968, i16 1779, i16 1846, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1836, i16 1971, i16 1837, i16 1846, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 2, i16 1429, i16 1881, i16 1923, i16 1882, i16 1924, i16 2, i16 1440, i16 1879, i16 1974, i16 1880, i16 1846, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 2, i16 836, i16 1768, i16 1821, i16 1769, i16 1822, i16 8, i16 843, i16 1766, i16 1190, i16 1767, i16 1975, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 877, i16 1776, i16 1190, i16 1777, i16 1976, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 2, i16 944, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 955, i16 1786, i16 1190, i16 1787, i16 1977, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 2, i16 1088, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1099, i16 1804, i16 1190, i16 1805, i16 1978, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 4, i16 1132, i16 1808, i16 1190, i16 1809, i16 1979, i16 1814, i16 1864, i16 1815, i16 1865, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 4, i16 1206, i16 1816, i16 1190, i16 1817, i16 1980, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1834, i16 1190, i16 1835, i16 1981, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 3, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 2, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 4, i16 1440, i16 1877, i16 1190, i16 1878, i16 1982, i16 1881, i16 1190, i16 1882, i16 1983, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 9, i16 1418, i16 1874, i16 1187, i16 1848, i16 1984, i16 1849, i16 1985, i16 1844, i16 1984, i16 1845, i16 1986, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 24, i16 1440, i16 1770, i16 1190, i16 1771, i16 1987, i16 1772, i16 1988, i16 1773, i16 1989, i16 1774, i16 1990, i16 1775, i16 1991, i16 1764, i16 1992, i16 1765, i16 1993, i16 1822, i16 1190, i16 1823, i16 1994, i16 1824, i16 1995, i16 1825, i16 1996, i16 1828, i16 1997, i16 1829, i16 1998, i16 1818, i16 1999, i16 1819, i16 2000, i16 1760, i16 1190, i16 1761, i16 1955, i16 1883, i16 2001, i16 1884, i16 2002, i16 1885, i16 2003, i16 1886, i16 2004, i16 1762, i16 2001, i16 1763, i16 2005, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 2, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 8, i16 843, i16 1768, i16 1190, i16 1769, i16 2006, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 877, i16 1778, i16 1190, i16 1779, i16 2007, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 2, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 2, i16 955, i16 1788, i16 1190, i16 1789, i16 2008, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 990, i16 1790, i16 1190, i16 1791, i16 2009, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 7, i16 1046, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 1874, i16 1187, i16 1799, i16 1190, i16 1800, i16 2010, i16 3, i16 1075, i16 1801, i16 1190, i16 1802, i16 2011, i16 1803, i16 1925, i16 2, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 2, i16 1099, i16 1806, i16 1190, i16 1807, i16 2012, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 4, i16 1132, i16 1812, i16 1190, i16 1813, i16 2013, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 4, i16 1206, i16 1826, i16 1190, i16 1827, i16 2014, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1242, i16 1832, i16 1190, i16 1833, i16 2015, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1836, i16 1190, i16 1837, i16 2016, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 8, i16 1361, i16 1846, i16 1190, i16 1847, i16 2017, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1418, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 2, i16 1429, i16 1881, i16 1923, i16 1882, i16 1924, i16 2, i16 1440, i16 1879, i16 1190, i16 1880, i16 2018, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1046, i16 1870, i16 1190, i16 1871, i16 1915, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 2, i16 1400, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 81, i16 1697, i16 1712, i16 1698, i16 2019, i16 1699, i16 2019, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 898, i16 1887, i16 2020, i16 1888, i16 2021, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 9, i16 1418, i16 1874, i16 1187, i16 1848, i16 1984, i16 1849, i16 1985, i16 1844, i16 1984, i16 1845, i16 1986, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 24, i16 1440, i16 1770, i16 1190, i16 1771, i16 1987, i16 1772, i16 1988, i16 1773, i16 1989, i16 1774, i16 1990, i16 1775, i16 1991, i16 1764, i16 1992, i16 1765, i16 1993, i16 1822, i16 1190, i16 1823, i16 1994, i16 1824, i16 1995, i16 1825, i16 1996, i16 1828, i16 1997, i16 1829, i16 1998, i16 1818, i16 1999, i16 1819, i16 2000, i16 1760, i16 1190, i16 1761, i16 1955, i16 1883, i16 2001, i16 1884, i16 2002, i16 1885, i16 2003, i16 1886, i16 2004, i16 1762, i16 2001, i16 1763, i16 2005, i16 1, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1220, i16 2022, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1892, i16 1189, i16 1893, i16 1189, i16 1894, i16 1189, i16 3, i16 461, i16 1895, i16 1189, i16 1896, i16 1189, i16 1897, i16 1189, i16 3, i16 465, i16 1898, i16 1189, i16 1899, i16 1189, i16 1900, i16 1189, i16 3, i16 469, i16 1901, i16 1189, i16 1902, i16 1189, i16 1903, i16 1189, i16 2, i16 491, i16 1910, i16 1189, i16 1911, i16 1189, i16 2, i16 499, i16 1913, i16 1189, i16 1914, i16 1189, i16 29, i16 519, i16 1918, i16 1189, i16 1703, i16 1189, i16 1704, i16 1189, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 1717, i16 1189, i16 1718, i16 1189, i16 1719, i16 1189, i16 1720, i16 1189, i16 1721, i16 1189, i16 1722, i16 1189, i16 1723, i16 1189, i16 1724, i16 1189, i16 1725, i16 1189, i16 1726, i16 1189, i16 1727, i16 1189, i16 1728, i16 1189, i16 1729, i16 1189, i16 1730, i16 1189, i16 2, i16 753, i16 1919, i16 1189, i16 1920, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1759, i16 1846, i16 1758, i16 2023, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 898, i16 1888, i16 1846, i16 1887, i16 2024, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 955, i16 1785, i16 1846, i16 1784, i16 2025, i16 4, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 1921, i16 2026, i16 1922, i16 2027, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1046, i16 1798, i16 1846, i16 1797, i16 2028, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 2029, i16 1815, i16 2030, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 2, i16 1179, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1817, i16 1846, i16 1816, i16 2031, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 8, i16 1361, i16 1843, i16 1846, i16 1842, i16 2032, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 2, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 7, i16 1418, i16 1874, i16 1187, i16 1873, i16 1846, i16 1872, i16 2033, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 10, i16 1440, i16 1841, i16 1846, i16 1840, i16 2034, i16 1771, i16 1846, i16 1770, i16 2035, i16 1831, i16 2036, i16 1830, i16 2037, i16 1829, i16 1846, i16 1828, i16 2038, i16 1823, i16 2039, i16 1822, i16 2040, i16 4, i16 2011, i16 1923, i16 1744, i16 1924, i16 2041, i16 1925, i16 2042, i16 1926, i16 2043, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1702, i16 205, i16 1189, i16 1701, i16 221, i16 1189, i16 1700, i16 324, i16 1189, i16 1889, i16 371, i16 1189, i16 1890, i16 445, i16 1189, i16 1891, i16 447, i16 1189, i16 1904, i16 473, i16 1189, i16 1905, i16 476, i16 1189, i16 1906, i16 479, i16 1189, i16 1907, i16 481, i16 1189, i16 1908, i16 484, i16 1189, i16 1909, i16 487, i16 1189, i16 1912, i16 495, i16 1189, i16 1915, i16 503, i16 1189, i16 1916, i16 507, i16 1189, i16 1917, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 4, i16 877, i16 1778, i16 1190, i16 1779, i16 2007, i16 1776, i16 1190, i16 1777, i16 1976, i16 6, i16 898, i16 1927, i16 1190, i16 1928, i16 2044, i16 1929, i16 2045, i16 1930, i16 2046, i16 1782, i16 1190, i16 1783, i16 2047, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 4, i16 1099, i16 1931, i16 1190, i16 1932, i16 2048, i16 1933, i16 2049, i16 1934, i16 2050, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 6, i16 1132, i16 1935, i16 1190, i16 1936, i16 2051, i16 1937, i16 2052, i16 1938, i16 2053, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1836, i16 1190, i16 1837, i16 2016, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 2, i16 1429, i16 1881, i16 1923, i16 1882, i16 1924, i16 2, i16 1440, i16 1879, i16 1190, i16 1880, i16 2018, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 4, i16 1132, i16 1810, i16 1190, i16 1811, i16 2054, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 10, i16 1266, i16 1836, i16 2055, i16 1837, i16 2056, i16 1875, i16 2057, i16 1876, i16 2058, i16 1877, i16 2059, i16 1878, i16 2060, i16 1881, i16 2061, i16 1882, i16 2062, i16 1879, i16 2063, i16 1880, i16 2064, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 22, i16 1370, i16 1856, i16 2065, i16 1857, i16 2066, i16 1858, i16 2067, i16 1859, i16 2068, i16 1860, i16 2069, i16 1861, i16 2070, i16 1862, i16 2071, i16 1863, i16 2072, i16 1868, i16 2073, i16 1869, i16 2074, i16 1866, i16 2075, i16 1867, i16 2076, i16 1864, i16 2077, i16 1865, i16 2078, i16 1820, i16 2079, i16 1821, i16 2080, i16 1764, i16 2081, i16 1765, i16 2082, i16 1828, i16 2081, i16 1829, i16 2083, i16 1848, i16 2081, i16 1849, i16 2084, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 1874, i16 1418, i16 1187, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 4, i16 877, i16 1939, i16 1190, i16 1940, i16 2085, i16 1941, i16 2086, i16 1942, i16 2087, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 4, i16 1099, i16 1943, i16 1190, i16 1944, i16 2088, i16 1945, i16 2089, i16 1946, i16 2090, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 4, i16 1132, i16 1810, i16 1190, i16 1811, i16 2054, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 32766, i16 32766, i16 32766, i16 -2, i16 16384, i16 0, i16 16384, i16 -2, i16 16384, i16 0, i16 16384, i16 -16206, i16 16384, i16 0, i16 16384, i16 -16204, i16 16384, i16 0, i16 16384, i16 -16353, i16 16384, i16 0, i16 16384, i16 -16352, i16 16384, i16 0, i16 16384, i16 -16351, i16 16384, i16 0, i16 16384, i16 -16350, i16 16384, i16 0, i16 16384, i16 -16349, i16 16384, i16 0, i16 16384, i16 -16348, i16 16384, i16 0, i16 16384, i16 -16347, i16 16384, i16 0, i16 16384, i16 -16346, i16 16384, i16 0, i16 16384, i16 -16345, i16 16384, i16 0, i16 16384, i16 -16344, i16 16384, i16 0, i16 16384, i16 -16343, i16 16384, i16 0, i16 16384, i16 -16342, i16 16384, i16 0, i16 16384, i16 -16341, i16 16384, i16 0, i16 16384, i16 -15486, i16 16384, i16 0, i16 16384, i16 -16340, i16 16384, i16 0, i16 16384, i16 -16339, i16 16384, i16 0, i16 16384, i16 -15485, i16 16384, i16 0, i16 16384, i16 -16338, i16 16384, i16 0, i16 16384, i16 -15484, i16 16384, i16 0, i16 16384, i16 -15483, i16 16384, i16 0, i16 16384, i16 -15482, i16 16384, i16 0, i16 16384, i16 -16337, i16 16384, i16 0, i16 16384, i16 -16336, i16 16384, i16 0, i16 16384, i16 -16335, i16 16384, i16 0, i16 16384, i16 -16334, i16 16384, i16 0, i16 16384, i16 -16333, i16 16384, i16 0, i16 16384, i16 -15481, i16 16384, i16 0, i16 16384, i16 -16332, i16 16384, i16 0, i16 16384, i16 -16331, i16 16384, i16 0, i16 16384, i16 -16330, i16 16384, i16 0, i16 16384, i16 -16329, i16 16384, i16 0, i16 16384, i16 -16328, i16 16384, i16 0, i16 16384, i16 -16327, i16 16384, i16 0, i16 16384, i16 -15480, i16 16384, i16 0, i16 16384, i16 -16326, i16 16384, i16 0, i16 16384, i16 -16325, i16 16534, i16 14, i16 17273, i16 -16384, i16 16415, i16 14, i16 17273, i16 -16384, i16 16416, i16 14, i16 17273, i16 -16384, i16 16417, i16 14, i16 17273, i16 -16384, i16 16418, i16 14, i16 17273, i16 -16384, i16 16419, i16 14, i16 17273, i16 -16384, i16 16420, i16 14, i16 17273, i16 -16384, i16 16421, i16 14, i16 17273, i16 -16384, i16 16422, i16 14, i16 17273, i16 -16384, i16 16423, i16 14, i16 17273, i16 -16384, i16 16424, i16 14, i16 17273, i16 -16384, i16 16415, i16 17, i16 17273, i16 -16384, i16 16415, i16 896, i16 17273, i16 -16384, i16 16415, i16 897, i16 17273, i16 -16384, i16 16415, i16 19, i16 17273, i16 -16384, i16 16415, i16 21, i16 17273, i16 -16384, i16 16415, i16 18, i16 17273, i16 -16384, i16 16415, i16 20, i16 17273, i16 -16384, i16 16415, i16 14, i16 16392, i16 -16384, i16 16416, i16 14, i16 16392, i16 -16384, i16 16417, i16 14, i16 16392, i16 -16384, i16 16418, i16 14, i16 16392, i16 -16384, i16 16419, i16 14, i16 16392, i16 -16384, i16 16420, i16 14, i16 16392, i16 -16384, i16 16421, i16 14, i16 16392, i16 -16384, i16 16422, i16 14, i16 16392, i16 -16384, i16 16423, i16 14, i16 16392, i16 -16384, i16 16424, i16 14, i16 16392, i16 -16384, i16 16425, i16 14, i16 17273, i16 -16384, i16 16425, i16 15, i16 16392, i16 -16384, i16 16425, i16 26, i16 17273, i16 -16384, i16 16425, i16 27, i16 17273, i16 -16384, i16 16426, i16 14, i16 17273, i16 -16384, i16 16427, i16 14, i16 17273, i16 -16384, i16 17282, i16 14, i16 17273, i16 -16384, i16 17282, i16 18, i16 17273, i16 -16384, i16 16428, i16 14, i16 17273, i16 -16384, i16 16428, i16 16, i16 17273, i16 -16384, i16 16428, i16 17, i16 17273, i16 -16384, i16 16428, i16 897, i16 17273, i16 -16384, i16 16428, i16 20, i16 17273, i16 -16384, i16 16428, i16 18, i16 17273, i16 -16384, i16 16428, i16 23, i16 17273, i16 -16384, i16 16428, i16 26, i16 17273, i16 -16384, i16 16428, i16 27, i16 17273, i16 -16384, i16 16429, i16 14, i16 17273, i16 -16384, i16 17283, i16 14, i16 17273, i16 -16384, i16 17283, i16 25, i16 17273, i16 -16384, i16 16430, i16 14, i16 17273, i16 -16384, i16 17284, i16 16, i16 17273, i16 -16384, i16 17284, i16 17, i16 17273, i16 -16384, i16 17284, i16 20, i16 17273, i16 -16384, i16 17284, i16 22, i16 17273, i16 -16384, i16 17284, i16 26, i16 17273, i16 -16384, i16 17284, i16 27, i16 17273, i16 -16384, i16 18009, i16 1628, i16 18015, i16 -16384, i16 17285, i16 14, i16 17273, i16 -16384, i16 17286, i16 14, i16 17273, i16 -16384, i16 17286, i16 15, i16 17273, i16 -16384, i16 17286, i16 25, i16 17273, i16 -16384, i16 16431, i16 14, i16 17273, i16 -16384, i16 16431, i16 16, i16 17273, i16 -16384, i16 16431, i16 18, i16 17273, i16 -16384, i16 16431, i16 24, i16 17273, i16 -16384, i16 16431, i16 25, i16 17273, i16 -16384, i16 16431, i16 23, i16 17273, i16 -16384, i16 16432, i16 14, i16 17273, i16 -16384, i16 16433, i16 14, i16 17273, i16 -16384, i16 16433, i16 15, i16 17273, i16 -16384, i16 16433, i16 16, i16 17273, i16 -16384, i16 16433, i16 18, i16 17273, i16 -16384, i16 16433, i16 25, i16 17273, i16 -16384, i16 16434, i16 14, i16 17273, i16 -16384, i16 16434, i16 15, i16 16392, i16 -16384, i16 16434, i16 16, i16 17273, i16 -16384, i16 16434, i16 17, i16 17273, i16 -16384, i16 16434, i16 897, i16 17273, i16 -16384, i16 16434, i16 22, i16 17273, i16 -16384, i16 16434, i16 27, i16 17273, i16 -16384, i16 18018, i16 1628, i16 18015, i16 -16384, i16 16435, i16 14, i16 17273, i16 -16384, i16 17287, i16 14, i16 17273, i16 -16384, i16 16436, i16 14, i16 17273, i16 -16384, i16 16436, i16 16, i16 17273, i16 -16384, i16 16436, i16 18, i16 17273, i16 -16384, i16 16436, i16 25, i16 17273, i16 -16384, i16 16437, i16 14, i16 17273, i16 -16384, i16 16437, i16 16, i16 17273, i16 -16384, i16 16438, i16 14, i16 17273, i16 -16384, i16 16438, i16 18, i16 17273, i16 -16384, i16 16438, i16 24, i16 17273, i16 -16384, i16 16439, i16 14, i16 17273, i16 -16384, i16 16439, i16 16, i16 17273, i16 -16384, i16 16439, i16 17, i16 17273, i16 -16384, i16 16439, i16 897, i16 17273, i16 -16384, i16 16439, i16 19, i16 17273, i16 -16384, i16 16439, i16 22, i16 17273, i16 -16384, i16 16439, i16 26, i16 17273, i16 -16384, i16 16439, i16 27, i16 17273, i16 -16384, i16 16440, i16 14, i16 17273, i16 -16384, i16 16441, i16 897, i16 17273, i16 -16384, i16 17288, i16 14, i16 17273, i16 -16384, i16 16442, i16 14, i16 17273, i16 -16384, i16 16442, i16 16, i16 17273, i16 -16384, i16 16442, i16 20, i16 17273, i16 -16384, i16 16442, i16 897, i16 17273, i16 -16384, i16 16443, i16 14, i16 17273, i16 -16384, i16 16443, i16 16, i16 17273, i16 -16384, i16 16444, i16 14, i16 17273, i16 -16384, i16 16425, i16 14, i16 16393, i16 -16384, i16 16425, i16 26, i16 16393, i16 -16384, i16 16425, i16 27, i16 16393, i16 -16384, i16 16426, i16 14, i16 16393, i16 -16384, i16 16427, i16 14, i16 16393, i16 -16384, i16 17282, i16 14, i16 16393, i16 -16384, i16 17282, i16 18, i16 16393, i16 -16384, i16 16428, i16 14, i16 16393, i16 -16384, i16 16428, i16 16, i16 16393, i16 -16384, i16 16428, i16 17, i16 16393, i16 -16384, i16 16428, i16 897, i16 16393, i16 -16384, i16 16428, i16 20, i16 16393, i16 -16384, i16 16428, i16 18, i16 16393, i16 -16384, i16 16428, i16 23, i16 16393, i16 -16384, i16 16428, i16 26, i16 16393, i16 -16384, i16 16428, i16 27, i16 16393, i16 -16384, i16 16429, i16 14, i16 16393, i16 -16384, i16 17283, i16 14, i16 16393, i16 -16384, i16 17283, i16 25, i16 16393, i16 -16384, i16 16430, i16 14, i16 16393, i16 -16384, i16 17284, i16 16, i16 16393, i16 -16384, i16 17284, i16 17, i16 16393, i16 -16384, i16 17284, i16 20, i16 16393, i16 -16384, i16 17284, i16 22, i16 16393, i16 -16384, i16 17284, i16 26, i16 16393, i16 -16384, i16 17284, i16 27, i16 16393, i16 -16384, i16 18009, i16 1628, i16 18021, i16 -16384, i16 17285, i16 14, i16 16393, i16 -16384, i16 17286, i16 14, i16 16393, i16 -16384, i16 17286, i16 25, i16 16393, i16 -16384, i16 16431, i16 14, i16 16393, i16 -16384, i16 16431, i16 16, i16 16393, i16 -16384, i16 16431, i16 18, i16 16393, i16 -16384, i16 16431, i16 24, i16 16393, i16 -16384, i16 16431, i16 25, i16 16393, i16 -16384, i16 16431, i16 23, i16 16393, i16 -16384, i16 16432, i16 14, i16 16393, i16 -16384, i16 16433, i16 14, i16 16393, i16 -16384, i16 16433, i16 16, i16 16393, i16 -16384, i16 16433, i16 18, i16 16393, i16 -16384, i16 16433, i16 25, i16 16393, i16 -16384, i16 16434, i16 14, i16 16393, i16 -16384, i16 16434, i16 16, i16 16393, i16 -16384, i16 16434, i16 17, i16 16393, i16 -16384, i16 16434, i16 897, i16 16393, i16 -16384, i16 16434, i16 22, i16 16393, i16 -16384, i16 16434, i16 27, i16 16393, i16 -16384, i16 18018, i16 1628, i16 18021, i16 -16384, i16 16435, i16 14, i16 16393, i16 -16384, i16 17287, i16 14, i16 16393, i16 -16384, i16 16436, i16 14, i16 16393, i16 -16384, i16 16436, i16 16, i16 16393, i16 -16384, i16 16436, i16 18, i16 16393, i16 -16384, i16 16436, i16 25, i16 16393, i16 -16384, i16 16437, i16 14, i16 16393, i16 -16384, i16 16437, i16 16, i16 16393, i16 -16384, i16 16438, i16 14, i16 16393, i16 -16384, i16 16438, i16 18, i16 16393, i16 -16384, i16 16438, i16 24, i16 16393, i16 -16384, i16 16439, i16 14, i16 16393, i16 -16384, i16 16439, i16 16, i16 16393, i16 -16384, i16 16439, i16 17, i16 16393, i16 -16384, i16 16439, i16 897, i16 16393, i16 -16384, i16 16439, i16 19, i16 16393, i16 -16384, i16 16439, i16 22, i16 16393, i16 -16384, i16 16439, i16 26, i16 16393, i16 -16384, i16 16439, i16 27, i16 16393, i16 -16384, i16 16440, i16 14, i16 16393, i16 -16384, i16 16441, i16 897, i16 16393, i16 -16384, i16 17288, i16 14, i16 16393, i16 -16384, i16 16442, i16 14, i16 16393, i16 -16384, i16 16442, i16 16, i16 16393, i16 -16384, i16 16442, i16 897, i16 16393, i16 -16384, i16 16442, i16 20, i16 16393, i16 -16384, i16 16443, i16 14, i16 16393, i16 -16384, i16 16443, i16 16, i16 16393, i16 -16384, i16 16444, i16 14, i16 16393, i16 -16384, i16 16445, i16 16398, i16 17273, i16 -16384, i16 16446, i16 16398, i16 17273, i16 -16384, i16 16448, i16 16398, i16 17273, i16 -16384, i16 16449, i16 16398, i16 17273, i16 -16384, i16 16450, i16 16398, i16 17273, i16 -16384, i16 16451, i16 16398, i16 17273, i16 -16384, i16 16452, i16 16398, i16 17273, i16 -16384, i16 16453, i16 16398, i16 17273, i16 -16384, i16 16454, i16 16398, i16 17273, i16 -16384, i16 16455, i16 16398, i16 17273, i16 -16384, i16 16456, i16 16398, i16 17273, i16 -16384, i16 16457, i16 16398, i16 17273, i16 -16384, i16 16458, i16 16398, i16 17273, i16 -16384, i16 16459, i16 16398, i16 17273, i16 -16384, i16 16460, i16 16398, i16 17273, i16 -16384, i16 16461, i16 16398, i16 17273, i16 -16384, i16 16462, i16 16398, i16 17273, i16 -16384, i16 16463, i16 16398, i16 17273, i16 -16384, i16 16464, i16 16398, i16 17273, i16 -16384, i16 16465, i16 16398, i16 17273, i16 -16384, i16 16466, i16 16398, i16 17273, i16 -16384, i16 16467, i16 16398, i16 17273, i16 -16384, i16 16468, i16 16398, i16 17273, i16 -16384, i16 16469, i16 16398, i16 17273, i16 -16384, i16 16470, i16 16398, i16 17273, i16 -16384, i16 16471, i16 16398, i16 17273, i16 -16384, i16 16474, i16 16398, i16 17273, i16 -16384, i16 16475, i16 16398, i16 17273, i16 -16384, i16 16476, i16 16398, i16 17273, i16 -16384, i16 16477, i16 16398, i16 17273, i16 -16384, i16 16478, i16 16398, i16 17273, i16 -16384, i16 16480, i16 16398, i16 17273, i16 -16384, i16 16482, i16 17278, i16 17273, i16 -16384, i16 16482, i16 16398, i16 17273, i16 -16384, i16 61, i16 14, i16 3, i16 -16384, i16 61, i16 14, i16 4, i16 -16384, i16 61, i16 14, i16 5, i16 -16384, i16 61, i16 14, i16 6, i16 -16384, i16 62, i16 14, i16 3, i16 -16384, i16 62, i16 14, i16 4, i16 -16384, i16 62, i16 14, i16 5, i16 -16384, i16 62, i16 14, i16 6, i16 -16384, i16 64, i16 14, i16 3, i16 -16384, i16 64, i16 14, i16 4, i16 -16384, i16 64, i16 14, i16 5, i16 -16384, i16 64, i16 14, i16 6, i16 -16384, i16 65, i16 14, i16 3, i16 -16384, i16 65, i16 14, i16 4, i16 -16384, i16 65, i16 14, i16 5, i16 -16384, i16 65, i16 14, i16 6, i16 -16384, i16 66, i16 14, i16 3, i16 -16384, i16 66, i16 14, i16 4, i16 -16384, i16 66, i16 14, i16 5, i16 -16384, i16 66, i16 14, i16 6, i16 -16384, i16 67, i16 14, i16 3, i16 -16384, i16 67, i16 14, i16 4, i16 -16384, i16 67, i16 14, i16 5, i16 -16384, i16 67, i16 14, i16 6, i16 -16384, i16 68, i16 14, i16 3, i16 -16384, i16 68, i16 14, i16 4, i16 -16384, i16 68, i16 14, i16 5, i16 -16384, i16 68, i16 14, i16 6, i16 -16384, i16 69, i16 14, i16 3, i16 -16384, i16 69, i16 14, i16 4, i16 -16384, i16 69, i16 14, i16 5, i16 -16384, i16 69, i16 14, i16 6, i16 -16384, i16 70, i16 14, i16 3, i16 -16384, i16 70, i16 14, i16 4, i16 -16384, i16 70, i16 14, i16 5, i16 -16384, i16 70, i16 14, i16 6, i16 -16384, i16 71, i16 14, i16 3, i16 -16384, i16 71, i16 14, i16 4, i16 -16384, i16 72, i16 14, i16 3, i16 -16384, i16 72, i16 14, i16 4, i16 -16384, i16 73, i16 14, i16 3, i16 -16384, i16 73, i16 14, i16 4, i16 -16384, i16 74, i16 14, i16 3, i16 -16384, i16 74, i16 14, i16 4, i16 -16384, i16 75, i16 14, i16 3, i16 -16384, i16 75, i16 14, i16 4, i16 -16384, i16 76, i16 14, i16 3, i16 -16384, i16 76, i16 14, i16 4, i16 -16384, i16 77, i16 14, i16 3, i16 -16384, i16 77, i16 14, i16 4, i16 -16384, i16 78, i16 14, i16 3, i16 -16384, i16 78, i16 14, i16 4, i16 -16384, i16 78, i16 14, i16 5, i16 -16384, i16 78, i16 14, i16 6, i16 -16384, i16 79, i16 14, i16 3, i16 -16384, i16 79, i16 14, i16 4, i16 -16384, i16 79, i16 14, i16 5, i16 -16384, i16 79, i16 14, i16 6, i16 -16384, i16 80, i16 14, i16 3, i16 -16384, i16 80, i16 14, i16 4, i16 -16384, i16 80, i16 14, i16 5, i16 -16384, i16 80, i16 14, i16 6, i16 -16384, i16 81, i16 14, i16 3, i16 -16384, i16 81, i16 14, i16 4, i16 -16384, i16 81, i16 14, i16 5, i16 -16384, i16 81, i16 14, i16 6, i16 -16384, i16 82, i16 14, i16 3, i16 -16384, i16 82, i16 14, i16 4, i16 -16384, i16 82, i16 14, i16 5, i16 -16384, i16 82, i16 14, i16 6, i16 -16384, i16 83, i16 14, i16 3, i16 -16384, i16 83, i16 14, i16 4, i16 -16384, i16 83, i16 14, i16 5, i16 -16384, i16 83, i16 14, i16 6, i16 -16384, i16 84, i16 14, i16 3, i16 -16384, i16 84, i16 14, i16 4, i16 -16384, i16 84, i16 14, i16 5, i16 -16384, i16 84, i16 14, i16 6, i16 -16384, i16 85, i16 14, i16 3, i16 -16384, i16 85, i16 14, i16 4, i16 -16384, i16 85, i16 14, i16 5, i16 -16384, i16 85, i16 14, i16 6, i16 -16384, i16 86, i16 14, i16 3, i16 -16384, i16 86, i16 14, i16 4, i16 -16384, i16 86, i16 14, i16 5, i16 -16384, i16 86, i16 14, i16 6, i16 -16384, i16 87, i16 14, i16 3, i16 -16384, i16 87, i16 14, i16 4, i16 -16384, i16 87, i16 14, i16 5, i16 -16384, i16 87, i16 14, i16 6, i16 -16384, i16 90, i16 14, i16 3, i16 -16384, i16 90, i16 14, i16 4, i16 -16384, i16 90, i16 14, i16 5, i16 -16384, i16 90, i16 14, i16 6, i16 -16384, i16 91, i16 14, i16 3, i16 -16384, i16 91, i16 14, i16 4, i16 -16384, i16 91, i16 14, i16 5, i16 -16384, i16 91, i16 14, i16 6, i16 -16384, i16 92, i16 14, i16 3, i16 -16384, i16 92, i16 14, i16 4, i16 -16384, i16 92, i16 14, i16 5, i16 -16384, i16 92, i16 14, i16 6, i16 -16384, i16 93, i16 14, i16 3, i16 -16384, i16 93, i16 14, i16 4, i16 -16384, i16 93, i16 14, i16 5, i16 -16384, i16 93, i16 14, i16 6, i16 -16384, i16 94, i16 14, i16 3, i16 -16384, i16 94, i16 14, i16 4, i16 -16384, i16 96, i16 14, i16 3, i16 -16384, i16 96, i16 14, i16 4, i16 -16384, i16 1640, i16 1643, i16 1646, i16 -16384, i16 1640, i16 1643, i16 1649, i16 -16384, i16 1640, i16 1643, i16 1652, i16 -16384, i16 1640, i16 1643, i16 1655, i16 -16384, i16 98, i16 894, i16 3, i16 -16384, i16 98, i16 894, i16 4, i16 -16384, i16 98, i16 14, i16 3, i16 -16384, i16 98, i16 14, i16 4, i16 -16384, i16 16483, i16 16398, i16 16384, i16 -16384, i16 16484, i16 16398, i16 16384, i16 -16384, i16 16485, i16 16398, i16 16384, i16 -16384, i16 16486, i16 16398, i16 16384, i16 -16384, i16 16487, i16 16398, i16 16384, i16 -16384, i16 16488, i16 16398, i16 16384, i16 -16384, i16 16489, i16 16398, i16 16384, i16 -16384, i16 16490, i16 16398, i16 16384, i16 -16384, i16 16491, i16 16398, i16 16384, i16 -16384, i16 16492, i16 16398, i16 16384, i16 -16384, i16 16493, i16 16398, i16 16384, i16 -16384, i16 16494, i16 16398, i16 16384, i16 -16384, i16 16495, i16 16398, i16 16384, i16 -16384, i16 16496, i16 16398, i16 16384, i16 -16384, i16 16497, i16 16398, i16 16384, i16 -16384, i16 16498, i16 16398, i16 16384, i16 -16384, i16 16499, i16 16398, i16 16384, i16 -16384, i16 16500, i16 16398, i16 16384, i16 -16384, i16 16501, i16 16398, i16 16384, i16 -16384, i16 16502, i16 16398, i16 16384, i16 -16384, i16 16503, i16 16398, i16 16384, i16 -16384, i16 16504, i16 16398, i16 16384, i16 -16384, i16 16505, i16 16398, i16 16384, i16 -16384, i16 16506, i16 16398, i16 16384, i16 -16384, i16 16507, i16 16398, i16 16384, i16 -16384, i16 16508, i16 16398, i16 16384, i16 -16384, i16 16509, i16 16398, i16 16384, i16 -16384, i16 16510, i16 14, i16 16393, i16 -16384, i16 16510, i16 28, i16 16393, i16 -16384, i16 16511, i16 14, i16 16393, i16 -16384, i16 16512, i16 14, i16 16393, i16 -16384, i16 16512, i16 15, i16 16393, i16 -16384, i16 16513, i16 14, i16 16393, i16 -16384, i16 16513, i16 15, i16 16393, i16 -16384, i16 16514, i16 14, i16 16393, i16 -16384, i16 16514, i16 28, i16 16393, i16 -16384, i16 16515, i16 14, i16 16393, i16 -16384, i16 16515, i16 15, i16 16393, i16 -16384, i16 16516, i16 14, i16 16393, i16 -16384, i16 16516, i16 28, i16 16393, i16 -16384, i16 16517, i16 14, i16 16393, i16 -16384, i16 16518, i16 14, i16 16393, i16 -16384, i16 16518, i16 28, i16 16393, i16 -16384, i16 16518, i16 29, i16 16393, i16 -16384, i16 16519, i16 14, i16 16393, i16 -16384, i16 16519, i16 15, i16 16393, i16 -16384, i16 16519, i16 895, i16 16393, i16 -16384, i16 16520, i16 14, i16 16393, i16 -16384, i16 16521, i16 14, i16 16393, i16 -16384, i16 16522, i16 14, i16 16393, i16 -16384, i16 16523, i16 14, i16 16393, i16 -16384, i16 16524, i16 14, i16 16393, i16 -16384, i16 16524, i16 28, i16 16393, i16 -16384, i16 16525, i16 14, i16 16393, i16 -16384, i16 16526, i16 14, i16 16393, i16 -16384, i16 16527, i16 14, i16 16393, i16 -16384, i16 16527, i16 15, i16 16393, i16 -16384, i16 16527, i16 895, i16 16393, i16 -16384, i16 16528, i16 14, i16 16393, i16 -16384, i16 16528, i16 15, i16 16393, i16 -16384, i16 16529, i16 14, i16 16393, i16 -16384, i16 16529, i16 28, i16 16393, i16 -16384, i16 16529, i16 29, i16 16393, i16 -16384, i16 16529, i16 30, i16 16393, i16 -16384, i16 16529, i16 26, i16 16393, i16 -16384, i16 16529, i16 27, i16 16393, i16 -16384, i16 16530, i16 14, i16 16393, i16 -16384, i16 16530, i16 895, i16 16393, i16 -16384, i16 16531, i16 14, i16 16393, i16 -16384, i16 16531, i16 15, i16 16393, i16 -16384, i16 16532, i16 14, i16 16393, i16 -16384, i16 16532, i16 15, i16 16393, i16 -16384, i16 16533, i16 14, i16 16393, i16 -16384, i16 16533, i16 28, i16 16393, i16 -16384, i16 16510, i16 14, i16 16396, i16 -16384, i16 16510, i16 28, i16 16396, i16 -16384, i16 16511, i16 14, i16 16396, i16 -16384, i16 16511, i16 15, i16 16396, i16 -16384, i16 16512, i16 14, i16 16396, i16 -16384, i16 16513, i16 14, i16 16396, i16 -16384, i16 16514, i16 14, i16 16396, i16 -16384, i16 16514, i16 28, i16 16396, i16 -16384, i16 16515, i16 14, i16 16396, i16 -16384, i16 16515, i16 15, i16 16396, i16 -16384, i16 16516, i16 14, i16 16396, i16 -16384, i16 16516, i16 28, i16 16396, i16 -16384, i16 16517, i16 14, i16 16396, i16 -16384, i16 16517, i16 15, i16 16396, i16 -16384, i16 16518, i16 14, i16 16396, i16 -16384, i16 16518, i16 28, i16 16396, i16 -16384, i16 16518, i16 29, i16 16396, i16 -16384, i16 16518, i16 30, i16 16396, i16 -16384, i16 16518, i16 26, i16 16396, i16 -16384, i16 16519, i16 14, i16 16396, i16 -16384, i16 16519, i16 15, i16 16396, i16 -16384, i16 16519, i16 895, i16 16396, i16 -16384, i16 16520, i16 14, i16 16396, i16 -16384, i16 16521, i16 14, i16 16396, i16 -16384, i16 16522, i16 14, i16 16396, i16 -16384, i16 16523, i16 14, i16 16396, i16 -16384, i16 16524, i16 14, i16 16396, i16 -16384, i16 16524, i16 28, i16 16396, i16 -16384, i16 16525, i16 14, i16 16396, i16 -16384, i16 16525, i16 15, i16 16396, i16 -16384, i16 16526, i16 15, i16 16396, i16 -16384, i16 16527, i16 14, i16 16396, i16 -16384, i16 16527, i16 15, i16 16396, i16 -16384, i16 16527, i16 895, i16 16396, i16 -16384, i16 16527, i16 26, i16 16396, i16 -16384, i16 16528, i16 14, i16 16396, i16 -16384, i16 16528, i16 15, i16 16396, i16 -16384, i16 16529, i16 14, i16 16396, i16 -16384, i16 16529, i16 28, i16 16396, i16 -16384, i16 16529, i16 29, i16 16396, i16 -16384, i16 16529, i16 30, i16 16396, i16 -16384, i16 16530, i16 14, i16 16396, i16 -16384, i16 16530, i16 15, i16 16396, i16 -16384, i16 16530, i16 895, i16 16396, i16 -16384, i16 16531, i16 14, i16 16396, i16 -16384, i16 16532, i16 14, i16 16396, i16 -16384, i16 16532, i16 15, i16 16396, i16 -16384, i16 16533, i16 14, i16 16396, i16 -16384, i16 16533, i16 28, i16 16396, i16 -16384, i16 17292, i16 16398, i16 17273, i16 -16384, i16 17293, i16 16398, i16 17273, i16 -16384, i16 17294, i16 16398, i16 17273, i16 -16384, i16 17295, i16 16398, i16 17273, i16 -16384, i16 17296, i16 16398, i16 17273, i16 -16384, i16 17299, i16 16398, i16 17273, i16 -16384, i16 17302, i16 16398, i16 17273, i16 -16384, i16 17303, i16 16398, i16 17273, i16 -16384, i16 17305, i16 16398, i16 17273, i16 -16384, i16 17308, i16 16398, i16 17273, i16 -16384, i16 17309, i16 16398, i16 17273, i16 -16384, i16 17310, i16 16398, i16 17273, i16 -16384, i16 17311, i16 16398, i16 17273, i16 -16384, i16 17313, i16 16398, i16 17273, i16 -16384, i16 17314, i16 16398, i16 17273, i16 -16384, i16 17316, i16 16398, i16 17273, i16 -16384, i16 17317, i16 16398, i16 17273, i16 -16384, i16 17318, i16 16398, i16 17273, i16 -16384, i16 17319, i16 16398, i16 17273, i16 -16384, i16 17320, i16 16398, i16 17273, i16 -16384, i16 17323, i16 16398, i16 17273, i16 -16384, i16 17325, i16 16398, i16 17273, i16 -16384, i16 17326, i16 16398, i16 17273, i16 -16384, i16 17327, i16 16398, i16 17273, i16 -16384, i16 17328, i16 16398, i16 17273, i16 -16384, i16 17330, i16 16398, i16 17273, i16 -16384, i16 17331, i16 16398, i16 17273, i16 -16384, i16 17332, i16 16398, i16 17273, i16 -16384, i16 17334, i16 16398, i16 17273, i16 -16384, i16 17336, i16 16398, i16 17273, i16 -16384, i16 17337, i16 16398, i16 17273, i16 -16384, i16 17292, i16 16398, i16 16393, i16 -16384, i16 17293, i16 16398, i16 16393, i16 -16384, i16 17294, i16 16398, i16 16393, i16 -16384, i16 17295, i16 16398, i16 16393, i16 -16384, i16 17296, i16 16398, i16 16393, i16 -16384, i16 17299, i16 16398, i16 16393, i16 -16384, i16 17302, i16 16398, i16 16393, i16 -16384, i16 17303, i16 16398, i16 16393, i16 -16384, i16 17305, i16 16398, i16 16393, i16 -16384, i16 17308, i16 16398, i16 16393, i16 -16384, i16 17310, i16 16398, i16 16393, i16 -16384, i16 17311, i16 16398, i16 16393, i16 -16384, i16 17313, i16 16398, i16 16393, i16 -16384, i16 17314, i16 16398, i16 16393, i16 -16384, i16 17316, i16 16398, i16 16393, i16 -16384, i16 17317, i16 16398, i16 16393, i16 -16384, i16 17318, i16 16398, i16 16393, i16 -16384, i16 17319, i16 16398, i16 16393, i16 -16384, i16 17320, i16 16398, i16 16393, i16 -16384, i16 17323, i16 16398, i16 16393, i16 -16384, i16 17325, i16 16398, i16 16393, i16 -16384, i16 17326, i16 16398, i16 16393, i16 -16384, i16 17327, i16 16398, i16 16393, i16 -16384, i16 17328, i16 16398, i16 16393, i16 -16384, i16 17330, i16 16398, i16 16393, i16 -16384, i16 17331, i16 16398, i16 16393, i16 -16384, i16 17332, i16 16398, i16 16393, i16 -16384, i16 17334, i16 16398, i16 16393, i16 -16384, i16 17336, i16 16398, i16 16393, i16 -16384, i16 17337, i16 16398, i16 16393, i16 -16384, i16 16425, i16 16, i16 17273, i16 -16384, i16 16425, i16 17, i16 17273, i16 -16384, i16 16425, i16 897, i16 17273, i16 -16384, i16 16425, i16 22, i16 17273, i16 -16384, i16 16425, i16 20, i16 17273, i16 -16384, i16 16425, i16 19, i16 17273, i16 -16384, i16 16425, i16 896, i16 17273, i16 -16384, i16 18042, i16 1628, i16 18015, i16 -16384, i16 16427, i16 25, i16 17273, i16 -16384, i16 16427, i16 16, i16 17273, i16 -16384, i16 16427, i16 897, i16 17273, i16 -16384, i16 16427, i16 18, i16 17273, i16 -16384, i16 16427, i16 23, i16 17273, i16 -16384, i16 17282, i16 15, i16 17273, i16 -16384, i16 17282, i16 24, i16 17273, i16 -16384, i16 17283, i16 896, i16 17273, i16 -16384, i16 17283, i16 897, i16 17273, i16 -16384, i16 17283, i16 23, i16 17273, i16 -16384, i16 16430, i16 897, i16 17273, i16 -16384, i16 16430, i16 24, i16 17273, i16 -16384, i16 17284, i16 14, i16 17273, i16 -16384, i16 17284, i16 897, i16 17273, i16 -16384, i16 17284, i16 15, i16 17273, i16 -16384, i16 17285, i16 897, i16 17273, i16 -16384, i16 16433, i16 22, i16 17273, i16 -16384, i16 18045, i16 1628, i16 18015, i16 -16384, i16 16434, i16 20, i16 17273, i16 -16384, i16 16434, i16 24, i16 17273, i16 -16384, i16 16434, i16 21, i16 17273, i16 -16384, i16 16437, i16 897, i16 17273, i16 -16384, i16 16437, i16 18, i16 17273, i16 -16384, i16 16437, i16 25, i16 17273, i16 -16384, i16 18048, i16 1628, i16 18015, i16 -16384, i16 16438, i16 25, i16 17273, i16 -16384, i16 16439, i16 20, i16 17273, i16 -16384, i16 16439, i16 896, i16 17273, i16 -16384, i16 16439, i16 21, i16 17273, i16 -16384, i16 16441, i16 14, i16 17273, i16 -16384, i16 16443, i16 18, i16 17273, i16 -16384, i16 16443, i16 23, i16 17273, i16 -16384, i16 16425, i16 16, i16 16393, i16 -16384, i16 16425, i16 17, i16 16393, i16 -16384, i16 16425, i16 897, i16 16393, i16 -16384, i16 16425, i16 22, i16 16393, i16 -16384, i16 16425, i16 20, i16 16393, i16 -16384, i16 16425, i16 19, i16 16393, i16 -16384, i16 16425, i16 896, i16 16393, i16 -16384, i16 18042, i16 1628, i16 18021, i16 -16384, i16 16427, i16 25, i16 16393, i16 -16384, i16 16427, i16 16, i16 16393, i16 -16384, i16 16427, i16 897, i16 16393, i16 -16384, i16 16427, i16 18, i16 16393, i16 -16384, i16 16427, i16 23, i16 16393, i16 -16384, i16 17282, i16 15, i16 16393, i16 -16384, i16 17282, i16 24, i16 16393, i16 -16384, i16 17283, i16 896, i16 16393, i16 -16384, i16 17283, i16 897, i16 16393, i16 -16384, i16 17283, i16 23, i16 16393, i16 -16384, i16 16430, i16 897, i16 16393, i16 -16384, i16 16430, i16 24, i16 16393, i16 -16384, i16 17284, i16 14, i16 16393, i16 -16384, i16 17284, i16 897, i16 16393, i16 -16384, i16 17284, i16 15, i16 16393, i16 -16384, i16 17285, i16 897, i16 16393, i16 -16384, i16 16433, i16 22, i16 16393, i16 -16384, i16 18045, i16 1628, i16 18021, i16 -16384, i16 16434, i16 20, i16 16393, i16 -16384, i16 16434, i16 24, i16 16393, i16 -16384, i16 16434, i16 21, i16 16393, i16 -16384, i16 16437, i16 897, i16 16393, i16 -16384, i16 16437, i16 18, i16 16393, i16 -16384, i16 16437, i16 25, i16 16393, i16 -16384, i16 16438, i16 25, i16 16393, i16 -16384, i16 16439, i16 20, i16 16393, i16 -16384, i16 16439, i16 896, i16 16393, i16 -16384, i16 16439, i16 21, i16 16393, i16 -16384, i16 16441, i16 14, i16 16393, i16 -16384, i16 16443, i16 18, i16 16393, i16 -16384, i16 16443, i16 23, i16 16393, i16 -16384, i16 16415, i16 16398, i16 17273, i16 -16384, i16 16415, i16 16399, i16 17273, i16 -16384, i16 16416, i16 16398, i16 17273, i16 -16384, i16 16416, i16 16399, i16 17273, i16 -16384, i16 16417, i16 16398, i16 17273, i16 -16384, i16 16417, i16 16399, i16 17273, i16 -16384, i16 16418, i16 16398, i16 17273, i16 -16384, i16 16418, i16 16399, i16 17273, i16 -16384, i16 16419, i16 16398, i16 17273, i16 -16384, i16 16419, i16 16399, i16 17273, i16 -16384, i16 16420, i16 16398, i16 17273, i16 -16384, i16 16420, i16 16399, i16 17273, i16 -16384, i16 16421, i16 16398, i16 17273, i16 -16384, i16 16421, i16 16399, i16 17273, i16 -16384, i16 16422, i16 16398, i16 17273, i16 -16384, i16 16422, i16 16399, i16 17273, i16 -16384, i16 16423, i16 16398, i16 17273, i16 -16384, i16 16423, i16 16399, i16 17273, i16 -16384, i16 16424, i16 16398, i16 17273, i16 -16384, i16 16424, i16 16399, i16 17273, i16 -16384, i16 17289, i16 16398, i16 17273, i16 -16384, i16 17290, i16 16397, i16 17273, i16 -16384, i16 17290, i16 17274, i16 17273, i16 -16384, i16 17290, i16 17276, i16 17273, i16 -16384, i16 17290, i16 16398, i16 17273, i16 -16384, i16 16447, i16 16398, i16 17273, i16 -16384, i16 16472, i16 16398, i16 17273, i16 -16384, i16 16473, i16 16398, i16 17273, i16 -16384, i16 17291, i16 16398, i16 17273, i16 -16384, i16 16479, i16 16398, i16 17273, i16 -16384, i16 16480, i16 17275, i16 17273, i16 -16384, i16 16481, i16 16398, i16 17273, i16 -16384, i16 18051, i16 18054, i16 18015, i16 -16384, i16 16481, i16 17277, i16 17273, i16 -16384, i16 905, i16 14, i16 3, i16 -16384, i16 906, i16 13, i16 3, i16 -16384, i16 906, i16 13, i16 4, i16 -16384, i16 906, i16 890, i16 3, i16 -16384, i16 906, i16 890, i16 4, i16 -16384, i16 906, i16 892, i16 3, i16 -16384, i16 906, i16 892, i16 4, i16 -16384, i16 906, i16 14, i16 3, i16 -16384, i16 906, i16 14, i16 4, i16 -16384, i16 63, i16 14, i16 3, i16 -16384, i16 63, i16 14, i16 4, i16 -16384, i16 88, i16 14, i16 3, i16 -16384, i16 88, i16 14, i16 4, i16 -16384, i16 88, i16 14, i16 5, i16 -16384, i16 88, i16 14, i16 6, i16 -16384, i16 89, i16 14, i16 3, i16 -16384, i16 89, i16 14, i16 4, i16 -16384, i16 89, i16 14, i16 5, i16 -16384, i16 89, i16 14, i16 6, i16 -16384, i16 907, i16 14, i16 3, i16 -16384, i16 907, i16 14, i16 4, i16 -16384, i16 907, i16 14, i16 5, i16 -16384, i16 907, i16 14, i16 6, i16 -16384, i16 95, i16 14, i16 3, i16 -16384, i16 95, i16 14, i16 4, i16 -16384, i16 96, i16 891, i16 3, i16 -16384, i16 96, i16 891, i16 4, i16 -16384, i16 97, i16 14, i16 3, i16 -16384, i16 97, i16 14, i16 4, i16 -16384, i16 97, i16 893, i16 3, i16 -16384, i16 97, i16 893, i16 4, i16 -16384, i16 97, i16 893, i16 5, i16 -16384, i16 97, i16 893, i16 6, i16 -16384, i16 1673, i16 1676, i16 1679, i16 -16384, i16 1673, i16 1676, i16 1682, i16 -16384, i16 1673, i16 1685, i16 1679, i16 -16384, i16 1673, i16 1685, i16 1682, i16 -16384, i16 1673, i16 1688, i16 1679, i16 -16384, i16 1673, i16 1688, i16 1682, i16 -16384, i16 1673, i16 1643, i16 1679, i16 -16384, i16 1673, i16 1643, i16 1682, i16 -16384, i16 17297, i16 16398, i16 17273, i16 -16384, i16 17298, i16 16398, i16 17273, i16 -16384, i16 17300, i16 16398, i16 17273, i16 -16384, i16 17301, i16 16398, i16 17273, i16 -16384, i16 17304, i16 16398, i16 17273, i16 -16384, i16 17306, i16 16398, i16 17273, i16 -16384, i16 17307, i16 16398, i16 17273, i16 -16384, i16 17312, i16 16398, i16 17273, i16 -16384, i16 17315, i16 16398, i16 17273, i16 -16384, i16 17321, i16 16398, i16 17273, i16 -16384, i16 17322, i16 16398, i16 17273, i16 -16384, i16 17324, i16 16398, i16 17273, i16 -16384, i16 17329, i16 16398, i16 17273, i16 -16384, i16 17333, i16 16398, i16 17273, i16 -16384, i16 17335, i16 16398, i16 17273, i16 -16384, i16 17297, i16 16398, i16 16393, i16 -16384, i16 17298, i16 16398, i16 16393, i16 -16384, i16 17300, i16 16398, i16 16393, i16 -16384, i16 17301, i16 16398, i16 16393, i16 -16384, i16 17304, i16 16398, i16 16393, i16 -16384, i16 17306, i16 16398, i16 16393, i16 -16384, i16 17307, i16 16398, i16 16393, i16 -16384, i16 17309, i16 16398, i16 16393, i16 -16384, i16 17312, i16 16398, i16 16393, i16 -16384, i16 17315, i16 16398, i16 16393, i16 -16384, i16 17321, i16 16398, i16 16393, i16 -16384, i16 17322, i16 16398, i16 16393, i16 -16384, i16 17324, i16 16398, i16 16393, i16 -16384, i16 17329, i16 16398, i16 16393, i16 -16384, i16 17333, i16 16398, i16 16393, i16 -16384, i16 17335, i16 16398, i16 16393, i16 -16384, i16 32767, i16 16384, i16 16384, i16 -16384, i16 18075, i16 18078, i16 16384, i16 -16384, i16 18081, i16 18078, i16 16384, i16 -16384, i16 18084, i16 18078, i16 16384, i16 -16384, i16 17541, i16 16407, i16 17273, i16 -16384, i16 17542, i16 16407, i16 17273, i16 -16384, i16 17543, i16 16407, i16 17273, i16 -16384, i16 17544, i16 16407, i16 17273, i16 -16384, i16 17545, i16 16407, i16 17273, i16 -16384, i16 17540, i16 16407, i16 17273, i16 -16384, i16 17555, i16 16399, i16 17273, i16 -16384, i16 17555, i16 16399, i16 16393, i16 -16384, i16 17556, i16 16399, i16 17273, i16 -16384, i16 17556, i16 16399, i16 16393, i16 -16384, i16 17561, i16 16398, i16 17273, i16 -16384, i16 17561, i16 16398, i16 16393, i16 -16384, i16 17564, i16 16399, i16 17273, i16 -16384, i16 17564, i16 16404, i16 17273, i16 -16384, i16 17564, i16 16399, i16 16393, i16 -16384, i16 17564, i16 16404, i16 16393, i16 -16384, i16 17284, i16 16398, i16 17273, i16 -16384, i16 17567, i16 16407, i16 17273, i16 -16384, i16 17284, i16 16398, i16 16393, i16 -16384, i16 17567, i16 16407, i16 16393, i16 -16384, i16 17568, i16 16399, i16 17273, i16 -16384, i16 17568, i16 16406, i16 17273, i16 -16384, i16 17568, i16 16399, i16 16393, i16 -16384, i16 17568, i16 16406, i16 16393, i16 -16384, i16 17569, i16 16404, i16 17273, i16 -16384, i16 17569, i16 16404, i16 16393, i16 -16384, i16 17565, i16 16409, i16 17273, i16 -16384, i16 17565, i16 16409, i16 16393, i16 -16384, i16 17566, i16 17280, i16 17273, i16 -16384, i16 17566, i16 17280, i16 16393, i16 -16384, i16 17570, i16 16409, i16 17273, i16 -16384, i16 17570, i16 16409, i16 16393, i16 -16384, i16 17571, i16 16404, i16 17273, i16 -16384, i16 17571, i16 16404, i16 16393, i16 -16384, i16 17572, i16 16399, i16 17273, i16 -16384, i16 17572, i16 16399, i16 16393, i16 -16384, i16 17573, i16 16399, i16 17273, i16 -16384, i16 17573, i16 16399, i16 16393, i16 -16384, i16 17574, i16 16399, i16 17273, i16 -16384, i16 17574, i16 16399, i16 16393, i16 -16384, i16 17575, i16 16399, i16 17273, i16 -16384, i16 17575, i16 16399, i16 16393, i16 -16384, i16 17576, i16 16399, i16 17273, i16 -16384, i16 17576, i16 16399, i16 16393, i16 -16384, i16 17577, i16 16399, i16 17273, i16 -16384, i16 17577, i16 16399, i16 16393, i16 -16384, i16 17578, i16 16399, i16 17273, i16 -16384, i16 17578, i16 16399, i16 16393, i16 -16384, i16 17579, i16 16399, i16 17273, i16 -16384, i16 17579, i16 16399, i16 16393, i16 -16384, i16 17602, i16 16407, i16 17273, i16 -16384, i16 17602, i16 16407, i16 17600, i16 -16384, i16 17602, i16 16407, i16 16393, i16 -16384, i16 17602, i16 16407, i16 17601, i16 -16384, i16 32766, i16 16384, i16 16384, i16 16384, i16 17619, i16 16399, i16 17273, i16 -16384, i16 17619, i16 16399, i16 16393, i16 -16384, i16 17620, i16 16399, i16 17273, i16 -16384, i16 17620, i16 16399, i16 16393, i16 -16384, i16 17621, i16 16399, i16 17273, i16 -16384, i16 17621, i16 16399, i16 16393, i16 -16384, i16 17622, i16 16399, i16 17273, i16 -16384, i16 17622, i16 16399, i16 16393, i16 -16384, i16 17623, i16 16399, i16 17273, i16 -16384, i16 17623, i16 16399, i16 16393, i16 -16384, i16 17635, i16 16404, i16 17273, i16 -16384, i16 17634, i16 16403, i16 17273, i16 -16384, i16 17635, i16 17279, i16 17273, i16 -16384, i16 17636, i16 16404, i16 17273, i16 -16384, i16 17637, i16 16408, i16 17273, i16 -16384, i16 17635, i16 16404, i16 16393, i16 -16384, i16 17634, i16 16403, i16 16393, i16 -16384, i16 17635, i16 17279, i16 16393, i16 -16384, i16 17636, i16 16404, i16 16393, i16 -16384, i16 17637, i16 16408, i16 16393, i16 -16384, i16 16440, i16 16398, i16 16393, i16 -16327, i16 16440, i16 16398, i16 17273, i16 -16327, i16 16442, i16 16404, i16 17273, i16 -16384, i16 16442, i16 16404, i16 16393, i16 -16384, i16 17638, i16 16407, i16 17273, i16 -16384, i16 17639, i16 16407, i16 17273, i16 -16384, i16 17638, i16 16407, i16 16393, i16 -16384, i16 17639, i16 16407, i16 16393, i16 -16384, i16 17640, i16 16407, i16 17273, i16 -16384, i16 17640, i16 16407, i16 17600, i16 -16384, i16 17641, i16 16407, i16 17273, i16 -16384, i16 17640, i16 16407, i16 16393, i16 -16384, i16 17640, i16 16407, i16 17601, i16 -16384, i16 17641, i16 16407, i16 16393, i16 -16384, i16 17642, i16 16407, i16 17273, i16 -16384, i16 17642, i16 16407, i16 17600, i16 -16384, i16 17642, i16 16407, i16 16393, i16 -16384, i16 17642, i16 16407, i16 17601, i16 -16384, i16 17643, i16 16407, i16 17273, i16 -16384, i16 17643, i16 16407, i16 17600, i16 -16384, i16 17643, i16 16407, i16 16393, i16 -16384, i16 17643, i16 16407, i16 17601, i16 -16384, i16 17644, i16 16407, i16 17273, i16 -16384, i16 17644, i16 16407, i16 16393, i16 -16384, i16 17645, i16 16407, i16 17273, i16 -16384, i16 17645, i16 16407, i16 16393, i16 -16384, i16 17658, i16 16401, i16 17273, i16 -16384, i16 17660, i16 16400, i16 17273, i16 -16384, i16 17661, i16 17281, i16 17273, i16 -16384, i16 17659, i16 16406, i16 17273, i16 -16384, i16 17658, i16 16401, i16 16393, i16 -16384, i16 17660, i16 16400, i16 16393, i16 -16384, i16 17661, i16 17281, i16 16393, i16 -16384, i16 17659, i16 16406, i16 16393, i16 -16384, i16 17662, i16 16409, i16 17273, i16 -16384, i16 17639, i16 16402, i16 17273, i16 -16384, i16 17662, i16 16409, i16 16393, i16 -16384, i16 17639, i16 16402, i16 16393, i16 -16384, i16 17663, i16 16398, i16 17273, i16 -16384, i16 17664, i16 16402, i16 17273, i16 -16384, i16 17664, i16 16402, i16 16393, i16 -16384, i16 17666, i16 16399, i16 17273, i16 -16384, i16 17665, i16 16408, i16 17273, i16 -16384, i16 17666, i16 16399, i16 16393, i16 -16384, i16 17665, i16 16408, i16 16393, i16 -16384, i16 17668, i16 16402, i16 17273, i16 -16384, i16 17669, i16 16408, i16 17273, i16 -16384, i16 17671, i16 18078, i16 18015, i16 -16384, i16 17644, i16 16402, i16 17273, i16 -16384, i16 17644, i16 16402, i16 16393, i16 -16384, i16 17673, i16 16404, i16 17273, i16 -16384, i16 17672, i16 17279, i16 17273, i16 -16384, i16 17673, i16 16404, i16 16393, i16 -16384, i16 17672, i16 17279, i16 16393, i16 -16384, i16 17667, i16 16398, i16 17273, i16 -16384, i16 17670, i16 16402, i16 17273, i16 -16384, i16 17670, i16 16402, i16 16393, i16 -16384, i16 17685, i16 17281, i16 17273, i16 -16384, i16 17686, i16 17280, i16 17273, i16 -16384, i16 17685, i16 17281, i16 16393, i16 -16384, i16 17686, i16 17280, i16 16393, i16 -16384, i16 17688, i16 16409, i16 17273, i16 -16384, i16 17688, i16 16409, i16 16393, i16 -16384, i16 17687, i16 17281, i16 17273, i16 -16384, i16 17687, i16 17281, i16 16393, i16 -16384, i16 17695, i16 16399, i16 17273, i16 -16384, i16 17695, i16 16399, i16 17600, i16 -16384, i16 17695, i16 16399, i16 16393, i16 -16384, i16 17695, i16 16399, i16 17601, i16 -16384, i16 17697, i16 16399, i16 17273, i16 -16384, i16 17697, i16 16399, i16 17600, i16 -16384, i16 17697, i16 16399, i16 16393, i16 -16384, i16 17697, i16 16399, i16 17601, i16 -16384, i16 17693, i16 16407, i16 17273, i16 -16384, i16 17693, i16 16407, i16 16393, i16 -16384, i16 17694, i16 16407, i16 17273, i16 -16384, i16 17694, i16 16407, i16 16393, i16 -16384, i16 17696, i16 16408, i16 17273, i16 -16384, i16 17696, i16 16408, i16 16393, i16 -16384, i16 17698, i16 16407, i16 17273, i16 -16384, i16 17698, i16 16407, i16 16393, i16 -16384, i16 17707, i16 16407, i16 17273, i16 -16384, i16 17707, i16 16407, i16 17600, i16 -16384, i16 17707, i16 16407, i16 16393, i16 -16384, i16 17707, i16 16407, i16 17601, i16 -16384, i16 17708, i16 16407, i16 17273, i16 -16384, i16 17708, i16 16407, i16 17600, i16 -16384, i16 17708, i16 16407, i16 16393, i16 -16384, i16 17708, i16 16407, i16 17601, i16 -16384, i16 32766, i16 16398, i16 17273, i16 -16384, i16 32766, i16 16398, i16 16393, i16 -16384, i16 17803, i16 16404, i16 17273, i16 -16384, i16 17803, i16 16405, i16 17273, i16 -16384, i16 17803, i16 16404, i16 16393, i16 -16384, i16 17803, i16 16405, i16 16393, i16 -16384, i16 17806, i16 16404, i16 17273, i16 -16384, i16 17806, i16 16405, i16 17273, i16 -16384, i16 17806, i16 16404, i16 16393, i16 -16384, i16 17806, i16 16405, i16 16393, i16 -16384, i16 17797, i16 16398, i16 16393, i16 -16384, i16 17797, i16 16398, i16 17601, i16 -16384, i16 18087, i16 18054, i16 18021, i16 -16384, i16 18087, i16 18054, i16 18090, i16 -16384, i16 18087, i16 18054, i16 18093, i16 -16384, i16 18087, i16 18054, i16 18096, i16 -16384, i16 17797, i16 16398, i16 17600, i16 -16384, i16 17797, i16 16398, i16 17273, i16 -16384, i16 18087, i16 18054, i16 18099, i16 -16384, i16 18087, i16 18054, i16 18102, i16 -16384, i16 18087, i16 18054, i16 18105, i16 -16384, i16 18087, i16 18054, i16 18015, i16 -16384, i16 17798, i16 16398, i16 16393, i16 -16384, i16 17798, i16 16398, i16 17601, i16 -16384, i16 18108, i16 18054, i16 18021, i16 -16384, i16 18108, i16 18054, i16 18090, i16 -16384, i16 18108, i16 18054, i16 18093, i16 -16384, i16 18108, i16 18054, i16 18096, i16 -16384, i16 17798, i16 16398, i16 17600, i16 -16384, i16 17798, i16 16398, i16 17273, i16 -16384, i16 18108, i16 18054, i16 18099, i16 -16384, i16 18108, i16 18054, i16 18102, i16 -16384, i16 18108, i16 18054, i16 18105, i16 -16384, i16 18108, i16 18054, i16 18015, i16 -16384, i16 17799, i16 16398, i16 17796, i16 -16384, i16 17799, i16 16398, i16 17795, i16 -16384, i16 17799, i16 16398, i16 17794, i16 -16384, i16 17799, i16 16398, i16 17793, i16 -16384, i16 18111, i16 18054, i16 18114, i16 -16384, i16 18111, i16 18054, i16 18117, i16 -16384, i16 18111, i16 18054, i16 18120, i16 -16384, i16 18111, i16 18054, i16 18123, i16 -16384, i16 17799, i16 16398, i16 17792, i16 -16384, i16 17799, i16 16398, i16 17791, i16 -16384, i16 17799, i16 16398, i16 17790, i16 -16384, i16 17799, i16 16398, i16 17789, i16 -16384, i16 18111, i16 18054, i16 18126, i16 -16384, i16 18111, i16 18054, i16 18129, i16 -16384, i16 18111, i16 18054, i16 18132, i16 -16384, i16 18111, i16 18054, i16 18135, i16 -16384, i16 17800, i16 16398, i16 16393, i16 -16384, i16 17800, i16 16398, i16 17601, i16 -16384, i16 18138, i16 18054, i16 18021, i16 -16384, i16 18138, i16 18054, i16 18090, i16 -16384, i16 18138, i16 18054, i16 18093, i16 -16384, i16 18138, i16 18054, i16 18096, i16 -16384, i16 17800, i16 16398, i16 17273, i16 -16384, i16 17800, i16 16398, i16 17600, i16 -16384, i16 18138, i16 18054, i16 18099, i16 -16384, i16 18138, i16 18054, i16 18102, i16 -16384, i16 18138, i16 18054, i16 18105, i16 -16384, i16 18138, i16 18054, i16 18015, i16 -16384, i16 17801, i16 16398, i16 16393, i16 -16384, i16 17801, i16 16398, i16 17601, i16 -16384, i16 18141, i16 18054, i16 18021, i16 -16384, i16 18141, i16 18054, i16 18090, i16 -16384, i16 18141, i16 18054, i16 18093, i16 -16384, i16 18141, i16 18054, i16 18096, i16 -16384, i16 17801, i16 16398, i16 17273, i16 -16384, i16 17801, i16 16398, i16 17600, i16 -16384, i16 18141, i16 18054, i16 18099, i16 -16384, i16 18141, i16 18054, i16 18102, i16 -16384, i16 18141, i16 18054, i16 18105, i16 -16384, i16 18141, i16 18054, i16 18015, i16 -16384, i16 17802, i16 16398, i16 16393, i16 -16384, i16 17802, i16 16398, i16 17601, i16 -16384, i16 18144, i16 18054, i16 18021, i16 -16384, i16 18144, i16 18054, i16 18090, i16 -16384, i16 18144, i16 18054, i16 18093, i16 -16384, i16 18144, i16 18054, i16 18096, i16 -16384, i16 17802, i16 16398, i16 17273, i16 -16384, i16 17802, i16 16398, i16 17600, i16 -16384, i16 18144, i16 18054, i16 18099, i16 -16384, i16 18144, i16 18054, i16 18102, i16 -16384, i16 18144, i16 18054, i16 18105, i16 -16384, i16 18144, i16 18054, i16 18015, i16 -16384, i16 17804, i16 16398, i16 16393, i16 -16384, i16 17804, i16 16398, i16 17601, i16 -16384, i16 18147, i16 18054, i16 18021, i16 -16384, i16 18147, i16 18054, i16 18090, i16 -16384, i16 18147, i16 18054, i16 18093, i16 -16384, i16 18147, i16 18054, i16 18096, i16 -16384, i16 17804, i16 16398, i16 17600, i16 -16384, i16 17804, i16 16398, i16 17273, i16 -16384, i16 18147, i16 18054, i16 18099, i16 -16384, i16 18147, i16 18054, i16 18102, i16 -16384, i16 18147, i16 18054, i16 18105, i16 -16384, i16 18147, i16 18054, i16 18015, i16 -16384, i16 17805, i16 16398, i16 16393, i16 -16384, i16 17805, i16 16398, i16 17601, i16 -16384, i16 18150, i16 18054, i16 18021, i16 -16384, i16 18150, i16 18054, i16 18090, i16 -16384, i16 18150, i16 18054, i16 18093, i16 -16384, i16 18150, i16 18054, i16 18096, i16 -16384, i16 17805, i16 16398, i16 17600, i16 -16384, i16 17805, i16 16398, i16 17273, i16 -16384, i16 18150, i16 18054, i16 18099, i16 -16384, i16 18150, i16 18054, i16 18102, i16 -16384, i16 18150, i16 18054, i16 18105, i16 -16384, i16 18150, i16 18054, i16 18015, i16 -16384, i16 17807, i16 16398, i16 16393, i16 -16384, i16 17807, i16 16398, i16 17601, i16 -16384, i16 18153, i16 18054, i16 18021, i16 -16384, i16 18153, i16 18054, i16 18090, i16 -16384, i16 18153, i16 18054, i16 18093, i16 -16384, i16 18153, i16 18054, i16 18096, i16 -16384, i16 17807, i16 16398, i16 17600, i16 -16384, i16 17807, i16 16398, i16 17273, i16 -16384, i16 18153, i16 18054, i16 18099, i16 -16384, i16 18153, i16 18054, i16 18102, i16 -16384, i16 18153, i16 18054, i16 18105, i16 -16384, i16 18153, i16 18054, i16 18015, i16 -16384, i16 16384, i16 16384, i16 16384, i16 -2, i16 17934, i16 16398, i16 17273, i16 -16384, i16 17290, i16 17928, i16 17273, i16 -16384, i16 17289, i16 17274, i16 17273, i16 -16384, i16 17289, i16 17276, i16 17273, i16 -16384, i16 17289, i16 17275, i16 17273, i16 -16384, i16 17289, i16 17929, i16 17273, i16 -16384, i16 17289, i16 17929, i16 17932, i16 -16384, i16 17289, i16 17929, i16 17933, i16 -16384, i16 16472, i16 16399, i16 17273, i16 -16384, i16 17291, i16 17931, i16 17273, i16 -16384, i16 17291, i16 17274, i16 17273, i16 -16384, i16 17935, i16 16398, i16 17273, i16 -16384, i16 17935, i16 17930, i16 17273, i16 -16384, i16 17935, i16 17277, i16 17273, i16 -16384, i16 17934, i16 16398, i16 16387, i16 -16384, i16 17934, i16 16398, i16 16388, i16 -16384, i16 17290, i16 16398, i16 16387, i16 -16384, i16 17290, i16 16398, i16 16388, i16 -16384, i16 17290, i16 17928, i16 16387, i16 -16384, i16 17290, i16 17928, i16 16388, i16 -16384, i16 17289, i16 16398, i16 16387, i16 -16384, i16 17289, i16 17274, i16 16387, i16 -16384, i16 17289, i16 17274, i16 16388, i16 -16384, i16 17289, i16 17276, i16 16387, i16 -16384, i16 17289, i16 17276, i16 16388, i16 -16384, i16 17289, i16 17275, i16 16387, i16 -16384, i16 17289, i16 17275, i16 16388, i16 -16384, i16 17289, i16 17929, i16 16387, i16 -16384, i16 17289, i16 17929, i16 16388, i16 -16384, i16 16472, i16 16398, i16 16387, i16 -16384, i16 16472, i16 16398, i16 16388, i16 -16384, i16 16472, i16 16398, i16 16389, i16 -16384, i16 16472, i16 16398, i16 16390, i16 -16384, i16 16472, i16 16399, i16 16387, i16 -16384, i16 16472, i16 16399, i16 16388, i16 -16384, i16 16472, i16 16399, i16 16389, i16 -16384, i16 16472, i16 16399, i16 16390, i16 -16384, i16 17291, i16 16398, i16 16387, i16 -16384, i16 17291, i16 16398, i16 16388, i16 -16384, i16 17291, i16 16398, i16 16389, i16 -16384, i16 17291, i16 16398, i16 16390, i16 -16384, i16 17291, i16 17931, i16 16387, i16 -16384, i16 17291, i16 17931, i16 16388, i16 -16384, i16 17291, i16 17274, i16 16387, i16 -16384, i16 17291, i16 17274, i16 16388, i16 -16384, i16 17935, i16 16398, i16 16387, i16 -16384, i16 17935, i16 16398, i16 16388, i16 -16384, i16 17935, i16 16398, i16 16389, i16 -16384, i16 17935, i16 16398, i16 16390, i16 -16384, i16 17935, i16 17930, i16 16387, i16 -16384, i16 17935, i16 17930, i16 16388, i16 -16384, i16 17935, i16 17277, i16 16387, i16 -16384, i16 17935, i16 17277, i16 16388, i16 -16384, i16 17935, i16 17277, i16 16389, i16 -16384, i16 17935, i16 17277, i16 16390, i16 -16384, i16 18156, i16 18054, i16 18159, i16 -16384, i16 18156, i16 18054, i16 18162, i16 -16384, i16 18165, i16 18168, i16 18159, i16 -16384, i16 18165, i16 18168, i16 18162, i16 -16384, i16 18165, i16 18171, i16 18159, i16 -16384, i16 18165, i16 18171, i16 18162, i16 -16384, i16 18174, i16 18054, i16 18159, i16 -16384, i16 18174, i16 18054, i16 18162, i16 -16384, i16 18177, i16 18182, i16 18187, i16 -16384, i16 17958, i16 17281, i16 16393, i16 -16384, i16 17958, i16 17281, i16 17273, i16 -16384, i16 17959, i16 17281, i16 16393, i16 -16384, i16 17959, i16 17281, i16 17273, i16 -16384, i16 17960, i16 17281, i16 16393, i16 -16384, i16 17960, i16 17281, i16 17273, i16 -16384, i16 17961, i16 17281, i16 16393, i16 -16384, i16 17961, i16 17281, i16 17273, i16 -16384, i16 17962, i16 17281, i16 16393, i16 -16384, i16 17962, i16 17281, i16 17273, i16 -16384, i16 17963, i16 17280, i16 16393, i16 -16384, i16 17963, i16 17280, i16 17273, i16 -16384, i16 17964, i16 16407, i16 17273, i16 -16384, i16 17964, i16 16407, i16 17600, i16 -16384, i16 17964, i16 16407, i16 16393, i16 -16384, i16 17964, i16 16407, i16 17601, i16 -16384, i16 17965, i16 16407, i16 17273, i16 -16384, i16 17965, i16 16407, i16 17600, i16 -16384, i16 17965, i16 16407, i16 16393, i16 -16384, i16 17965, i16 16407, i16 17601, i16 -16384, i16 17966, i16 16407, i16 17273, i16 -16384, i16 17966, i16 16407, i16 17600, i16 -16384, i16 17966, i16 16407, i16 16393, i16 -16384, i16 17966, i16 16407, i16 17601, i16 -16384, i16 17967, i16 16407, i16 17273, i16 -16384, i16 17967, i16 16407, i16 17600, i16 -16384, i16 17967, i16 16407, i16 16393, i16 -16384, i16 17967, i16 16407, i16 17601, i16 -16384, i16 17968, i16 16407, i16 17273, i16 -16384, i16 17968, i16 16407, i16 17600, i16 -16384, i16 17968, i16 16407, i16 16393, i16 -16384, i16 17968, i16 16407, i16 17601, i16 -16384, i16 17969, i16 16407, i16 17273, i16 -16384, i16 17969, i16 16407, i16 17600, i16 -16384, i16 17969, i16 16407, i16 16393, i16 -16384, i16 17969, i16 16407, i16 17601, i16 -16384, i16 17970, i16 16407, i16 17273, i16 -16384, i16 17970, i16 16407, i16 17600, i16 -16384, i16 17970, i16 16407, i16 16393, i16 -16384, i16 17970, i16 16407, i16 17601, i16 -16384, i16 17971, i16 16407, i16 17273, i16 -16384, i16 17971, i16 16407, i16 17600, i16 -16384, i16 17971, i16 16407, i16 16393, i16 -16384, i16 17971, i16 16407, i16 17601, i16 -16384, i16 18000, i16 16407, i16 17273, i16 -16384, i16 18000, i16 16407, i16 17600, i16 -16384, i16 18001, i16 16407, i16 17273, i16 -16384, i16 18001, i16 16407, i16 17600, i16 -16384, i16 18000, i16 16407, i16 16393, i16 -16384, i16 18000, i16 16407, i16 17601, i16 -16384, i16 18001, i16 16407, i16 16393, i16 -16384, i16 18001, i16 16407, i16 17601, i16 -16384, i16 18192, i16 18078, i16 18015, i16 -16384, i16 18192, i16 18195, i16 18015, i16 -16384, i16 18198, i16 18078, i16 18015, i16 -16384, i16 17299, i16 17300, i16 17273, i16 -16384, i16 17299, i16 17301, i16 17273, i16 -16384, i16 17299, i16 17335, i16 17273, i16 -16384, i16 17305, i16 17306, i16 17273, i16 -16384, i16 17305, i16 17307, i16 17273, i16 -16384, i16 17305, i16 17333, i16 17273, i16 -16384, i16 18192, i16 18078, i16 18021, i16 -16384, i16 18192, i16 18195, i16 18021, i16 -16384, i16 18198, i16 18078, i16 18021, i16 -16384, i16 17299, i16 17300, i16 16393, i16 -16384, i16 17299, i16 17301, i16 16393, i16 -16384, i16 17299, i16 17335, i16 16393, i16 -16384, i16 17305, i16 17306, i16 16393, i16 -16384, i16 17305, i16 17307, i16 16393, i16 -16384, i16 17305, i16 17333, i16 16393, i16 -16384, i16 17295, i16 17297, i16 17273, i16 -16384, i16 17310, i16 17321, i16 17273, i16 -16384, i16 18201, i16 18078, i16 18015, i16 -16384, i16 18204, i16 18078, i16 18015, i16 -16384, i16 17323, i16 17324, i16 17273, i16 -16384, i16 17328, i16 17322, i16 17273, i16 -16384, i16 17295, i16 17297, i16 16393, i16 -16384, i16 17308, i16 17309, i16 16393, i16 -16384, i16 17310, i16 17321, i16 16393, i16 -16384, i16 18201, i16 18078, i16 18021, i16 -16384, i16 18204, i16 18078, i16 18021, i16 -16384, i16 17323, i16 17324, i16 16393, i16 -16384, i16 17328, i16 17322, i16 16393, i16 -16384, i16 18006, i16 16404, i16 17273, i16 -16384, i16 18006, i16 16404, i16 16393, i16 -16384, i16 32766, i16 16382, i16 32766, i16 -16386, i16 32766, i16 16382, i16 32766, i16 -32768, i16 16384, i16 0, i16 16384, i16 -16386, i16 32766, i16 2, i16 16385, i16 -32768, i16 17065, i16 2, i16 18080, i16 -32768, i16 17065, i16 2, i16 32766, i16 -32768, i16 17065, i16 5, i16 16385, i16 -32768, i16 17065, i16 5, i16 18080, i16 -32768, i16 17065, i16 6, i16 16385, i16 -32768, i16 17065, i16 6, i16 18080, i16 -32768, i16 17065, i16 7, i16 16385, i16 -32768, i16 17065, i16 7, i16 18080, i16 -32768, i16 17065, i16 8, i16 16385, i16 -32768, i16 17065, i16 8, i16 18080, i16 -32768, i16 17065, i16 9, i16 16385, i16 -32768, i16 17065, i16 9, i16 18080, i16 -32768, i16 17065, i16 11, i16 16385, i16 -32768, i16 17065, i16 11, i16 18080, i16 -32768, i16 17065, i16 12, i16 16385, i16 -32768, i16 17065, i16 12, i16 18080, i16 -32768, i16 17065, i16 13, i16 16385, i16 -32768, i16 17065, i16 13, i16 18080, i16 -32768, i16 17065, i16 15, i16 16385, i16 -32768, i16 17065, i16 15, i16 18080, i16 -32768, i16 17065, i16 16, i16 16385, i16 -32768, i16 17065, i16 16, i16 18080, i16 -32768, i16 17065, i16 17, i16 16385, i16 -32768, i16 17065, i16 17, i16 18080, i16 -32768, i16 17065, i16 18, i16 16385, i16 -32768, i16 17065, i16 18, i16 18080, i16 -32768, i16 17065, i16 19, i16 16385, i16 -32768, i16 17065, i16 19, i16 18080, i16 -32768, i16 17065, i16 20, i16 16385, i16 -32768, i16 17065, i16 20, i16 18080, i16 -32768, i16 17065, i16 21, i16 16385, i16 -32768, i16 17065, i16 21, i16 18080, i16 -32768, i16 17065, i16 22, i16 16385, i16 -32768, i16 17065, i16 22, i16 18080, i16 -32768, i16 17065, i16 27, i16 16385, i16 -32768, i16 17065, i16 27, i16 18080, i16 -32768, i16 17065, i16 29, i16 16385, i16 -32768, i16 17065, i16 29, i16 18080, i16 -32768, i16 17065, i16 34, i16 16385, i16 -32768, i16 17065, i16 34, i16 18080, i16 -32768, i16 17065, i16 35, i16 16385, i16 -32768, i16 17065, i16 35, i16 18080, i16 -32768, i16 17065, i16 40, i16 16385, i16 -32768, i16 17065, i16 40, i16 18080, i16 -32768, i16 17065, i16 55, i16 16385, i16 -32768, i16 17065, i16 55, i16 18080, i16 -32768, i16 17113, i16 2, i16 18080, i16 -32768, i16 17113, i16 39, i16 16385, i16 -32768, i16 17113, i16 39, i16 18080, i16 -32768, i16 17113, i16 40, i16 16385, i16 -32768, i16 17113, i16 40, i16 18080, i16 -32768, i16 17113, i16 58, i16 16385, i16 -32768, i16 17113, i16 58, i16 18080, i16 -32768, i16 17122, i16 2, i16 18080, i16 -32768, i16 17122, i16 16, i16 16385, i16 -32768, i16 17122, i16 16, i16 18080, i16 -32768, i16 17122, i16 34, i16 16385, i16 -32768, i16 17122, i16 34, i16 18080, i16 -32768, i16 17122, i16 39, i16 16385, i16 -32768, i16 17122, i16 39, i16 18080, i16 -32768, i16 17122, i16 45, i16 16385, i16 -32768, i16 17122, i16 45, i16 18080, i16 -32768, i16 17133, i16 2, i16 18080, i16 -32768, i16 17133, i16 22, i16 16385, i16 -32768, i16 17133, i16 22, i16 18080, i16 -32768, i16 17133, i16 39, i16 16385, i16 -32768, i16 17133, i16 39, i16 18080, i16 -32768, i16 17133, i16 40, i16 16385, i16 -32768, i16 17133, i16 40, i16 18080, i16 -32768, i16 17133, i16 44, i16 16385, i16 -32768, i16 17133, i16 44, i16 18080, i16 -32768, i16 17133, i16 57, i16 16385, i16 -32768, i16 17133, i16 57, i16 18080, i16 -32768, i16 17133, i16 58, i16 16385, i16 -32768, i16 17133, i16 58, i16 18080, i16 -32768, i16 17148, i16 2, i16 18080, i16 -32768, i16 17148, i16 5, i16 16385, i16 -32768, i16 17148, i16 5, i16 18080, i16 -32768, i16 17148, i16 6, i16 16385, i16 -32768, i16 17148, i16 6, i16 18080, i16 -32768, i16 17148, i16 7, i16 16385, i16 -32768, i16 17148, i16 7, i16 18080, i16 -32768, i16 17148, i16 15, i16 16385, i16 -32768, i16 17148, i16 15, i16 18080, i16 -32768, i16 17148, i16 16, i16 16385, i16 -32768, i16 17148, i16 16, i16 18080, i16 -32768, i16 17148, i16 17, i16 16385, i16 -32768, i16 17148, i16 17, i16 18080, i16 -32768, i16 17148, i16 18, i16 16385, i16 -32768, i16 17148, i16 18, i16 18080, i16 -32768, i16 17148, i16 19, i16 16385, i16 -32768, i16 17148, i16 19, i16 18080, i16 -32768, i16 17148, i16 20, i16 16385, i16 -32768, i16 17148, i16 20, i16 18080, i16 -32768, i16 17148, i16 21, i16 16385, i16 -32768, i16 17148, i16 21, i16 18080, i16 -32768, i16 17148, i16 22, i16 16385, i16 -32768, i16 17148, i16 22, i16 18080, i16 -32768, i16 17148, i16 28, i16 16385, i16 -32768, i16 17148, i16 28, i16 18080, i16 -32768, i16 17148, i16 34, i16 16385, i16 -32768, i16 17148, i16 34, i16 18080, i16 -32768, i16 17148, i16 35, i16 16385, i16 -32768, i16 17148, i16 35, i16 18080, i16 -32768, i16 17148, i16 38, i16 16385, i16 -32768, i16 17148, i16 38, i16 18080, i16 -32768, i16 17148, i16 39, i16 16385, i16 -32768, i16 17148, i16 39, i16 18080, i16 -32768, i16 17148, i16 40, i16 16385, i16 -32768, i16 17148, i16 40, i16 18080, i16 -32768, i16 17148, i16 47, i16 16385, i16 -32768, i16 17148, i16 47, i16 18080, i16 -32768, i16 17148, i16 51, i16 16385, i16 -32768, i16 17148, i16 51, i16 18080, i16 -32768, i16 17148, i16 52, i16 16385, i16 -32768, i16 17148, i16 52, i16 18080, i16 -32768, i16 17148, i16 57, i16 16385, i16 -32768, i16 17148, i16 57, i16 18080, i16 -32768, i16 17193, i16 2, i16 18080, i16 -32768, i16 17193, i16 34, i16 16385, i16 -32768, i16 17193, i16 34, i16 18080, i16 -32768, i16 17193, i16 39, i16 16385, i16 -32768, i16 17193, i16 39, i16 18080, i16 -32768, i16 18531, i16 2150, i16 18537, i16 -32768, i16 18540, i16 2150, i16 18543, i16 -32768, i16 18546, i16 2150, i16 18549, i16 -32768, i16 18552, i16 2172, i16 18560, i16 -32768, i16 18564, i16 2172, i16 18568, i16 -32768, i16 17205, i16 2, i16 18080, i16 -32768, i16 17205, i16 3, i16 16385, i16 -32768, i16 17205, i16 3, i16 18080, i16 -32768, i16 17205, i16 16, i16 16385, i16 -32768, i16 17205, i16 16, i16 18080, i16 -32768, i16 17205, i16 22, i16 16385, i16 -32768, i16 17205, i16 22, i16 18080, i16 -32768, i16 17205, i16 39, i16 16385, i16 -32768, i16 17205, i16 39, i16 18080, i16 -32768, i16 17205, i16 42, i16 16385, i16 -32768, i16 17205, i16 42, i16 18080, i16 -32768, i16 17205, i16 50, i16 16385, i16 -32768, i16 17205, i16 50, i16 18080, i16 -32768, i16 17220, i16 2, i16 18080, i16 -32768, i16 17220, i16 14, i16 16385, i16 -32768, i16 17220, i16 14, i16 18080, i16 -32768, i16 17220, i16 16, i16 16385, i16 -32768, i16 17220, i16 16, i16 18080, i16 -32768, i16 17220, i16 28, i16 16385, i16 -32768, i16 17220, i16 28, i16 18080, i16 -32768, i16 17220, i16 39, i16 16385, i16 -32768, i16 17220, i16 39, i16 18080, i16 -32768, i16 17220, i16 40, i16 16385, i16 -32768, i16 17220, i16 40, i16 18080, i16 -32768, i16 17220, i16 42, i16 16385, i16 -32768, i16 17220, i16 42, i16 18080, i16 -32768, i16 17220, i16 44, i16 16385, i16 -32768, i16 17220, i16 44, i16 18080, i16 -32768, i16 18178, i16 2, i16 18080, i16 -32768, i16 18178, i16 5, i16 16385, i16 -32768, i16 18178, i16 5, i16 18080, i16 -32768, i16 18178, i16 6, i16 16385, i16 -32768, i16 18178, i16 6, i16 18080, i16 -32768, i16 18178, i16 7, i16 16385, i16 -32768, i16 18178, i16 7, i16 18080, i16 -32768, i16 18178, i16 15, i16 16385, i16 -32768, i16 18178, i16 15, i16 18080, i16 -32768, i16 18178, i16 16, i16 16385, i16 -32768, i16 18178, i16 16, i16 18080, i16 -32768, i16 18178, i16 22, i16 16385, i16 -32768, i16 18178, i16 22, i16 18080, i16 -32768, i16 18178, i16 28, i16 16385, i16 -32768, i16 18178, i16 28, i16 18080, i16 -32768, i16 18178, i16 30, i16 16385, i16 -32768, i16 18178, i16 30, i16 18080, i16 -32768, i16 18178, i16 34, i16 16385, i16 -32768, i16 18178, i16 34, i16 18080, i16 -32768, i16 18178, i16 35, i16 16385, i16 -32768, i16 18178, i16 35, i16 18080, i16 -32768, i16 18178, i16 38, i16 16385, i16 -32768, i16 18178, i16 38, i16 18080, i16 -32768, i16 18178, i16 40, i16 16385, i16 -32768, i16 18178, i16 40, i16 18080, i16 -32768, i16 18178, i16 48, i16 16385, i16 -32768, i16 18178, i16 48, i16 18080, i16 -32768, i16 18572, i16 2191, i16 18578, i16 -32768, i16 18572, i16 2191, i16 18581, i16 -32768, i16 17267, i16 2, i16 18080, i16 -32768, i16 17267, i16 16, i16 16385, i16 -32768, i16 17267, i16 16, i16 18080, i16 -32768, i16 17272, i16 2, i16 18080, i16 -32768, i16 17272, i16 3, i16 16385, i16 -32768, i16 17272, i16 3, i16 18080, i16 -32768, i16 17272, i16 22, i16 16385, i16 -32768, i16 17272, i16 22, i16 18080, i16 -32768, i16 17272, i16 34, i16 16385, i16 -32768, i16 17272, i16 34, i16 18080, i16 -32768, i16 17272, i16 40, i16 16385, i16 -32768, i16 17272, i16 40, i16 18080, i16 -32768, i16 17272, i16 58, i16 16385, i16 -32768, i16 17272, i16 58, i16 18080, i16 -32768, i16 17285, i16 2, i16 18080, i16 -32768, i16 17285, i16 3, i16 16385, i16 -32768, i16 17285, i16 3, i16 18080, i16 -32768, i16 17285, i16 22, i16 16385, i16 -32768, i16 17285, i16 22, i16 18080, i16 -32768, i16 17285, i16 39, i16 16385, i16 -32768, i16 17285, i16 39, i16 18080, i16 -32768, i16 17285, i16 40, i16 16385, i16 -32768, i16 17285, i16 40, i16 18080, i16 -32768, i16 17285, i16 56, i16 16385, i16 -32768, i16 17285, i16 56, i16 18080, i16 -32768, i16 17285, i16 57, i16 16385, i16 -32768, i16 17285, i16 57, i16 18080, i16 -32768, i16 17285, i16 58, i16 16385, i16 -32768, i16 17285, i16 58, i16 18080, i16 -32768, i16 17302, i16 2, i16 18080, i16 -32768, i16 17302, i16 3, i16 16385, i16 -32768, i16 17302, i16 3, i16 18080, i16 -32768, i16 17302, i16 39, i16 16385, i16 -32768, i16 17302, i16 39, i16 18080, i16 -32768, i16 17302, i16 40, i16 16385, i16 -32768, i16 17302, i16 40, i16 18080, i16 -32768, i16 17311, i16 2, i16 18080, i16 -32768, i16 17311, i16 22, i16 16385, i16 -32768, i16 17311, i16 22, i16 18080, i16 -32768, i16 17311, i16 39, i16 16385, i16 -32768, i16 17311, i16 39, i16 18080, i16 -32768, i16 17311, i16 40, i16 16385, i16 -32768, i16 17311, i16 40, i16 18080, i16 -32768, i16 17311, i16 57, i16 16385, i16 -32768, i16 17311, i16 57, i16 18080, i16 -32768, i16 17311, i16 58, i16 16385, i16 -32768, i16 17311, i16 58, i16 18080, i16 -32768, i16 17311, i16 65, i16 18080, i16 -32768, i16 17325, i16 2, i16 18080, i16 -32768, i16 17325, i16 2, i16 32766, i16 -32768, i16 17325, i16 5, i16 16385, i16 -32768, i16 17325, i16 5, i16 18080, i16 -32768, i16 17325, i16 6, i16 16385, i16 -32768, i16 17325, i16 6, i16 18080, i16 -32768, i16 17325, i16 7, i16 16385, i16 -32768, i16 17325, i16 7, i16 18080, i16 -32768, i16 17325, i16 15, i16 16385, i16 -32768, i16 17325, i16 15, i16 18080, i16 -32768, i16 17325, i16 16, i16 16385, i16 -32768, i16 17325, i16 16, i16 18080, i16 -32768, i16 17325, i16 17, i16 16385, i16 -32768, i16 17325, i16 17, i16 18080, i16 -32768, i16 17325, i16 18, i16 16385, i16 -32768, i16 17325, i16 18, i16 18080, i16 -32768, i16 17325, i16 19, i16 16385, i16 -32768, i16 17325, i16 19, i16 18080, i16 -32768, i16 17325, i16 20, i16 16385, i16 -32768, i16 17325, i16 20, i16 18080, i16 -32768, i16 17325, i16 21, i16 16385, i16 -32768, i16 17325, i16 21, i16 18080, i16 -32768, i16 17325, i16 22, i16 16385, i16 -32768, i16 17325, i16 22, i16 18080, i16 -32768, i16 17325, i16 34, i16 16385, i16 -32768, i16 17325, i16 34, i16 18080, i16 -32768, i16 17325, i16 36, i16 16385, i16 -32768, i16 17325, i16 36, i16 18080, i16 -32768, i16 17325, i16 37, i16 16385, i16 -32768, i16 17325, i16 37, i16 18080, i16 -32768, i16 17325, i16 40, i16 16385, i16 -32768, i16 17325, i16 40, i16 18080, i16 -32768, i16 17325, i16 48, i16 16385, i16 -32768, i16 17325, i16 48, i16 18080, i16 -32768, i16 17325, i16 49, i16 16385, i16 -32768, i16 17325, i16 49, i16 18080, i16 -32768, i16 17325, i16 51, i16 16385, i16 -32768, i16 17325, i16 51, i16 18080, i16 -32768, i16 17325, i16 52, i16 16385, i16 -32768, i16 17325, i16 52, i16 18080, i16 -32768, i16 17325, i16 59, i16 16385, i16 -32768, i16 17325, i16 59, i16 18080, i16 -32768, i16 17325, i16 60, i16 16385, i16 -32768, i16 17325, i16 60, i16 18080, i16 -32768, i16 17325, i16 61, i16 16385, i16 -32768, i16 17325, i16 61, i16 18080, i16 -32768, i16 17325, i16 62, i16 16385, i16 -32768, i16 17325, i16 62, i16 18080, i16 -32768, i16 17325, i16 63, i16 16385, i16 -32768, i16 17325, i16 63, i16 18080, i16 -32768, i16 17325, i16 64, i16 16385, i16 -32768, i16 17325, i16 64, i16 18080, i16 -32768, i16 17379, i16 2, i16 18080, i16 -32768, i16 17379, i16 3, i16 16385, i16 -32768, i16 17379, i16 3, i16 18080, i16 -32768, i16 17379, i16 39, i16 16385, i16 -32768, i16 17379, i16 39, i16 18080, i16 -32768, i16 17386, i16 2, i16 18080, i16 -32768, i16 17389, i16 2, i16 18080, i16 -32768, i16 17389, i16 3, i16 16385, i16 -32768, i16 17389, i16 3, i16 18080, i16 -32768, i16 17389, i16 6, i16 16385, i16 -32768, i16 17389, i16 6, i16 18080, i16 -32768, i16 17389, i16 15, i16 16385, i16 -32768, i16 17389, i16 15, i16 18080, i16 -32768, i16 17389, i16 22, i16 16385, i16 -32768, i16 17389, i16 22, i16 18080, i16 -32768, i16 17389, i16 39, i16 16385, i16 -32768, i16 17389, i16 39, i16 18080, i16 -32768, i16 17389, i16 40, i16 16385, i16 -32768, i16 17389, i16 40, i16 18080, i16 -32768, i16 17389, i16 56, i16 16385, i16 -32768, i16 17389, i16 56, i16 18080, i16 -32768, i16 17389, i16 58, i16 16385, i16 -32768, i16 17389, i16 58, i16 18080, i16 -32768, i16 17408, i16 2, i16 18080, i16 -32768, i16 18584, i16 2150, i16 18587, i16 -32768, i16 17408, i16 4, i16 16385, i16 -32768, i16 17408, i16 4, i16 18080, i16 -32768, i16 17408, i16 16, i16 16385, i16 -32768, i16 17408, i16 16, i16 18080, i16 -32768, i16 17408, i16 24, i16 16385, i16 -32768, i16 17408, i16 24, i16 18080, i16 -32768, i16 17408, i16 39, i16 16385, i16 -32768, i16 17408, i16 39, i16 18080, i16 -32768, i16 17408, i16 40, i16 16385, i16 -32768, i16 17408, i16 40, i16 18080, i16 -32768, i16 17408, i16 41, i16 16385, i16 -32768, i16 17408, i16 41, i16 18080, i16 -32768, i16 17408, i16 16382, i16 18080, i16 -32768, i16 18590, i16 2150, i16 18593, i16 -32768, i16 18584, i16 2150, i16 18596, i16 -32768, i16 17427, i16 2, i16 18080, i16 -32768, i16 17427, i16 22, i16 16385, i16 -32768, i16 17427, i16 22, i16 18080, i16 -32768, i16 17427, i16 39, i16 16385, i16 -32768, i16 17427, i16 39, i16 18080, i16 -32768, i16 17427, i16 40, i16 16385, i16 -32768, i16 17427, i16 40, i16 18080, i16 -32768, i16 17427, i16 42, i16 16385, i16 -32768, i16 17427, i16 42, i16 18080, i16 -32768, i16 17427, i16 44, i16 16385, i16 -32768, i16 17427, i16 44, i16 18080, i16 -32768, i16 17427, i16 57, i16 16385, i16 -32768, i16 17427, i16 57, i16 18080, i16 -32768, i16 17427, i16 58, i16 16385, i16 -32768, i16 17427, i16 58, i16 18080, i16 -32768, i16 17444, i16 2, i16 18080, i16 -32768, i16 17444, i16 5, i16 16385, i16 -32768, i16 17444, i16 5, i16 18080, i16 -32768, i16 17444, i16 6, i16 16385, i16 -32768, i16 17444, i16 6, i16 18080, i16 -32768, i16 17444, i16 7, i16 16385, i16 -32768, i16 17444, i16 7, i16 18080, i16 -32768, i16 17444, i16 15, i16 16385, i16 -32768, i16 17444, i16 15, i16 18080, i16 -32768, i16 17444, i16 16, i16 16385, i16 -32768, i16 17444, i16 16, i16 18080, i16 -32768, i16 17444, i16 22, i16 16385, i16 -32768, i16 17444, i16 22, i16 18080, i16 -32768, i16 17444, i16 25, i16 16385, i16 -32768, i16 17444, i16 25, i16 18080, i16 -32768, i16 17444, i16 29, i16 16385, i16 -32768, i16 17444, i16 29, i16 18080, i16 -32768, i16 17444, i16 30, i16 16385, i16 -32768, i16 17444, i16 30, i16 18080, i16 -32768, i16 17444, i16 31, i16 16385, i16 -32768, i16 17444, i16 31, i16 18080, i16 -32768, i16 17444, i16 32, i16 16385, i16 -32768, i16 17444, i16 32, i16 18080, i16 -32768, i16 17444, i16 34, i16 16385, i16 -32768, i16 17444, i16 34, i16 18080, i16 -32768, i16 17444, i16 35, i16 16385, i16 -32768, i16 17444, i16 35, i16 18080, i16 -32768, i16 17444, i16 36, i16 16385, i16 -32768, i16 17444, i16 36, i16 18080, i16 -32768, i16 17444, i16 38, i16 16385, i16 -32768, i16 17444, i16 38, i16 18080, i16 -32768, i16 17444, i16 40, i16 16385, i16 -32768, i16 17444, i16 40, i16 18080, i16 -32768, i16 17444, i16 48, i16 16385, i16 -32768, i16 17444, i16 48, i16 18080, i16 -32768, i16 17444, i16 53, i16 16385, i16 -32768, i16 17444, i16 53, i16 18080, i16 -32768, i16 17444, i16 54, i16 16385, i16 -32768, i16 17444, i16 54, i16 18080, i16 -32768, i16 17444, i16 57, i16 16385, i16 -32768, i16 17444, i16 57, i16 18080, i16 -32768, i16 17444, i16 59, i16 16385, i16 -32768, i16 17444, i16 59, i16 18080, i16 -32768, i16 17444, i16 60, i16 16385, i16 -32768, i16 17444, i16 60, i16 18080, i16 -32768, i16 17444, i16 61, i16 16385, i16 -32768, i16 17444, i16 61, i16 18080, i16 -32768, i16 17444, i16 62, i16 16385, i16 -32768, i16 17444, i16 62, i16 18080, i16 -32768, i16 17444, i16 63, i16 16385, i16 -32768, i16 17444, i16 63, i16 18080, i16 -32768, i16 17444, i16 64, i16 16385, i16 -32768, i16 17444, i16 64, i16 18080, i16 -32768, i16 17501, i16 2, i16 18080, i16 -32768, i16 17501, i16 28, i16 16385, i16 -32768, i16 17501, i16 28, i16 18080, i16 -32768, i16 17501, i16 39, i16 16385, i16 -32768, i16 17501, i16 39, i16 18080, i16 -32768, i16 18254, i16 5, i16 16385, i16 -32768, i16 18254, i16 5, i16 18080, i16 -32768, i16 18254, i16 16, i16 16385, i16 -32768, i16 18254, i16 16, i16 18080, i16 -32768, i16 18254, i16 28, i16 16385, i16 -32768, i16 18254, i16 28, i16 18080, i16 -32768, i16 18254, i16 34, i16 16385, i16 -32768, i16 18254, i16 34, i16 18080, i16 -32768, i16 18254, i16 35, i16 16385, i16 -32768, i16 18254, i16 35, i16 18080, i16 -32768, i16 18254, i16 39, i16 16385, i16 -32768, i16 18254, i16 39, i16 18080, i16 -32768, i16 18254, i16 40, i16 16385, i16 -32768, i16 18254, i16 40, i16 18080, i16 -32768, i16 18259, i16 16, i16 16385, i16 -32768, i16 18259, i16 16, i16 18080, i16 -32768, i16 18259, i16 40, i16 16385, i16 -32768, i16 18259, i16 40, i16 18080, i16 -32768, i16 18259, i16 42, i16 16385, i16 -32768, i16 18259, i16 42, i16 18080, i16 -32768, i16 18259, i16 58, i16 16385, i16 -32768, i16 18259, i16 58, i16 18080, i16 -32768, i16 32766, i16 1, i16 16450, i16 -32768, i16 17531, i16 1, i16 16451, i16 -32768, i16 17531, i16 1696, i16 16450, i16 -32768, i16 17531, i16 1696, i16 16451, i16 -32768, i16 17535, i16 1696, i16 16450, i16 -32768, i16 17537, i16 1696, i16 16450, i16 -32768, i16 17539, i16 1696, i16 16450, i16 -32768, i16 17541, i16 1, i16 16451, i16 -32768, i16 17541, i16 1696, i16 16450, i16 -32768, i16 17541, i16 1696, i16 16451, i16 -32768, i16 17545, i16 1696, i16 16450, i16 -32768, i16 17547, i16 1, i16 16451, i16 -32768, i16 17547, i16 1696, i16 16450, i16 -32768, i16 17547, i16 1696, i16 16451, i16 -32768, i16 17551, i16 1696, i16 16450, i16 -32768, i16 17553, i16 1, i16 16451, i16 -32768, i16 17553, i16 1, i16 16452, i16 -32768, i16 17553, i16 1696, i16 16450, i16 -32768, i16 17553, i16 1696, i16 16451, i16 -32768, i16 17553, i16 1696, i16 16452, i16 -32768, i16 17553, i16 1696, i16 16453, i16 -32768, i16 17560, i16 1696, i16 16450, i16 -32768, i16 17562, i16 1696, i16 16450, i16 -32768, i16 17564, i16 1696, i16 16450, i16 -32768, i16 17566, i16 1696, i16 16450, i16 -32768, i16 17568, i16 1696, i16 16450, i16 -32768, i16 17570, i16 1, i16 16451, i16 -32768, i16 17570, i16 1696, i16 16450, i16 -32768, i16 17570, i16 1696, i16 16451, i16 -32768, i16 17574, i16 1696, i16 16450, i16 -32768, i16 17576, i16 1696, i16 16450, i16 -32768, i16 17578, i16 1696, i16 16450, i16 -32768, i16 17578, i16 1696, i16 32766, i16 -32768, i16 17581, i16 1696, i16 16450, i16 -32768, i16 17583, i16 1, i16 16451, i16 -32768, i16 17583, i16 1, i16 16452, i16 -32768, i16 17583, i16 1696, i16 16450, i16 -32768, i16 17583, i16 1696, i16 16451, i16 -32768, i16 17583, i16 1696, i16 16452, i16 -32768, i16 17583, i16 1696, i16 16453, i16 -32768, i16 17590, i16 1696, i16 16450, i16 -32768, i16 17592, i16 1696, i16 16450, i16 -32768, i16 17594, i16 1696, i16 16450, i16 -32768, i16 17596, i16 1, i16 16451, i16 -32768, i16 17596, i16 1696, i16 16450, i16 -32768, i16 17596, i16 1696, i16 16451, i16 -32768, i16 32766, i16 70, i16 16385, i16 -32768, i16 17600, i16 70, i16 18080, i16 -32768, i16 17602, i16 70, i16 18080, i16 -32768, i16 17604, i16 70, i16 18080, i16 -32768, i16 17606, i16 70, i16 18080, i16 -32768, i16 17608, i16 70, i16 18080, i16 -32768, i16 17610, i16 70, i16 18080, i16 -32768, i16 17612, i16 70, i16 18080, i16 -32768, i16 17614, i16 70, i16 18080, i16 -32768, i16 17616, i16 70, i16 18080, i16 -32768, i16 17618, i16 70, i16 18080, i16 -32768, i16 17620, i16 70, i16 18080, i16 -32768, i16 17622, i16 70, i16 18080, i16 -32768, i16 17624, i16 70, i16 18080, i16 -32768, i16 17626, i16 70, i16 18080, i16 -32768, i16 17628, i16 70, i16 18080, i16 -32768, i16 17630, i16 70, i16 18080, i16 -32768, i16 17632, i16 70, i16 18080, i16 -32768, i16 17634, i16 70, i16 18080, i16 -32768, i16 17636, i16 70, i16 18080, i16 -32768, i16 17638, i16 70, i16 18080, i16 -32768, i16 17640, i16 70, i16 18080, i16 -32768, i16 17642, i16 70, i16 18080, i16 -32768, i16 17644, i16 70, i16 18080, i16 -32768, i16 17646, i16 70, i16 18080, i16 -32768, i16 17648, i16 70, i16 18080, i16 -32768, i16 17650, i16 70, i16 18080, i16 -32768, i16 17652, i16 70, i16 18080, i16 -32768, i16 17654, i16 70, i16 18080, i16 -32768, i16 17656, i16 70, i16 18080, i16 -32768, i16 17658, i16 70, i16 18080, i16 -32768, i16 17660, i16 70, i16 18080, i16 -32768, i16 17662, i16 70, i16 18080, i16 -32768, i16 17664, i16 70, i16 18080, i16 -32768, i16 17666, i16 70, i16 18080, i16 -32768, i16 17668, i16 70, i16 18080, i16 -32768, i16 17670, i16 70, i16 18080, i16 -32768, i16 17672, i16 70, i16 18080, i16 -32768, i16 17674, i16 70, i16 18080, i16 -32768, i16 17676, i16 70, i16 18080, i16 -32768, i16 17678, i16 70, i16 18080, i16 -32768, i16 17680, i16 70, i16 18080, i16 -32768, i16 32766, i16 70, i16 18080, i16 -32768, i16 17682, i16 70, i16 16385, i16 -32768, i16 17684, i16 70, i16 18080, i16 -32768, i16 17686, i16 70, i16 16385, i16 -32768, i16 17688, i16 70, i16 18080, i16 -32768, i16 17690, i16 70, i16 18080, i16 -32768, i16 17692, i16 70, i16 18080, i16 -32768, i16 17694, i16 70, i16 18080, i16 -32768, i16 17696, i16 70, i16 18080, i16 -32768, i16 17698, i16 70, i16 18080, i16 -32768, i16 17700, i16 70, i16 18080, i16 -32768, i16 17702, i16 70, i16 18080, i16 -32768, i16 32766, i16 0, i16 16384, i16 -32768, i16 32766, i16 16382, i16 16384, i16 -32768, i16 17736, i16 16382, i16 16384, i16 -32768, i16 17735, i16 16382, i16 16384, i16 -32768, i16 17745, i16 16382, i16 16384, i16 -32768, i16 17749, i16 16382, i16 16384, i16 -32768, i16 17756, i16 16382, i16 16384, i16 -32768, i16 17764, i16 16382, i16 16384, i16 -32768, i16 17769, i16 16382, i16 16384, i16 -32768, i16 17774, i16 16382, i16 16384, i16 -32768, i16 17779, i16 16382, i16 16384, i16 -32768, i16 17784, i16 16382, i16 16384, i16 -32768, i16 17787, i16 16382, i16 16384, i16 -32768, i16 17790, i16 16382, i16 16384, i16 -32768, i16 17793, i16 16382, i16 16384, i16 -32768, i16 17796, i16 16382, i16 16384, i16 -32768, i16 17801, i16 16382, i16 16384, i16 -32768, i16 17806, i16 16382, i16 16384, i16 -32768, i16 17811, i16 16382, i16 16384, i16 -32768, i16 17816, i16 16382, i16 16384, i16 -32768, i16 17821, i16 16382, i16 16384, i16 -32768, i16 17826, i16 16382, i16 16384, i16 -32768, i16 17831, i16 16382, i16 16384, i16 -32768, i16 17836, i16 16382, i16 16384, i16 -32768, i16 17841, i16 16382, i16 16384, i16 -32768, i16 17846, i16 16382, i16 16384, i16 -32768, i16 17851, i16 16382, i16 16384, i16 -32768, i16 17856, i16 16382, i16 16384, i16 -32768, i16 17861, i16 16382, i16 16384, i16 -32768, i16 17866, i16 16382, i16 16384, i16 -32768, i16 17871, i16 16382, i16 16384, i16 -32768, i16 17874, i16 16382, i16 16384, i16 -32768, i16 17877, i16 16382, i16 16384, i16 -32768, i16 16384, i16 0, i16 32766, i16 -32768, i16 18115, i16 16382, i16 16384, i16 -32768, i16 18124, i16 16382, i16 16384, i16 -32768, i16 18125, i16 16382, i16 16384, i16 -32768, i16 18126, i16 16382, i16 16384, i16 -32768, i16 18127, i16 16382, i16 16384, i16 -32768, i16 18128, i16 16382, i16 16384, i16 -32768, i16 18129, i16 16382, i16 16384, i16 -32768, i16 18130, i16 16382, i16 16384, i16 -32768, i16 18131, i16 16382, i16 16384, i16 -32768, i16 18132, i16 16382, i16 16384, i16 -32768, i16 18599, i16 2218, i16 18605, i16 -32768, i16 18599, i16 2224, i16 18611, i16 -32768, i16 18614, i16 2233, i16 18620, i16 -32768, i16 18614, i16 2239, i16 18626, i16 -32768, i16 18629, i16 2248, i16 18635, i16 -32768, i16 18629, i16 2254, i16 18641, i16 -32768, i16 18644, i16 2263, i16 18650, i16 -32768, i16 18644, i16 2269, i16 18656, i16 -32768, i16 17909, i16 16382, i16 16384, i16 -32768, i16 17913, i16 16382, i16 16384, i16 -32768, i16 17917, i16 16382, i16 16384, i16 -32768, i16 17922, i16 16382, i16 16384, i16 -32768, i16 17926, i16 16382, i16 16384, i16 -32768, i16 17930, i16 16382, i16 16384, i16 -32768, i16 17935, i16 16382, i16 16384, i16 -32768, i16 17939, i16 16382, i16 16384, i16 -32768, i16 17943, i16 16382, i16 16384, i16 -32768, i16 17948, i16 16382, i16 16384, i16 -32768, i16 17952, i16 16382, i16 16384, i16 -32768, i16 17956, i16 16382, i16 16384, i16 -32768, i16 17960, i16 16382, i16 16384, i16 -32768, i16 17964, i16 16382, i16 16384, i16 -32768, i16 17968, i16 16382, i16 16384, i16 -32768, i16 17972, i16 16382, i16 16384, i16 -32768, i16 17976, i16 16382, i16 16384, i16 -32768, i16 17980, i16 16382, i16 16384, i16 -32768, i16 17986, i16 16382, i16 16384, i16 -32768, i16 17990, i16 16382, i16 16384, i16 -32768, i16 17994, i16 16382, i16 16384, i16 -32768, i16 17996, i16 16382, i16 16384, i16 -32768, i16 17998, i16 16382, i16 16384, i16 -32768, i16 18000, i16 16382, i16 16384, i16 -32768, i16 18002, i16 16382, i16 16384, i16 -32768, i16 18004, i16 16382, i16 16384, i16 -32768, i16 18010, i16 16382, i16 16384, i16 -32768, i16 18016, i16 16382, i16 16384, i16 -32768, i16 18022, i16 16382, i16 16384, i16 -32768, i16 18028, i16 16382, i16 16384, i16 -32768, i16 18034, i16 16382, i16 16384, i16 -32768, i16 18036, i16 16382, i16 16384, i16 -32768, i16 18038, i16 16382, i16 16384, i16 -32768, i16 18040, i16 16382, i16 16384, i16 -32768, i16 18042, i16 16382, i16 16384, i16 -32768, i16 18044, i16 16382, i16 16384, i16 -32768, i16 18048, i16 16382, i16 16384, i16 -32768, i16 18052, i16 16382, i16 16384, i16 -32768, i16 18056, i16 16382, i16 16384, i16 -32768, i16 18058, i16 16382, i16 16384, i16 -32768, i16 18060, i16 16382, i16 16384, i16 -32768, i16 18062, i16 16382, i16 16384, i16 -32768, i16 18064, i16 16382, i16 16384, i16 -32768, i16 18066, i16 16382, i16 16384, i16 -32768, i16 18070, i16 16382, i16 16384, i16 -32768, i16 18072, i16 16382, i16 16384, i16 -32768, i16 18074, i16 16382, i16 16384, i16 -32768, i16 18076, i16 16382, i16 16384, i16 -32768, i16 17065, i16 3, i16 16385, i16 -32768, i16 17065, i16 3, i16 18080, i16 -32768, i16 17065, i16 25, i16 16385, i16 -32768, i16 17065, i16 25, i16 18080, i16 -32768, i16 17065, i16 26, i16 16385, i16 -32768, i16 17065, i16 26, i16 18080, i16 -32768, i16 17065, i16 28, i16 16385, i16 -32768, i16 17065, i16 28, i16 18080, i16 -32768, i16 17065, i16 48, i16 16385, i16 -32768, i16 17065, i16 48, i16 18080, i16 -32768, i16 17065, i16 50, i16 16385, i16 -32768, i16 17065, i16 50, i16 18080, i16 -32768, i16 18659, i16 2278, i16 18578, i16 -32768, i16 18659, i16 2278, i16 18581, i16 -32768, i16 18659, i16 2281, i16 18578, i16 -32768, i16 18659, i16 2281, i16 18581, i16 -32768, i16 18659, i16 2284, i16 18578, i16 -32768, i16 18659, i16 2284, i16 18581, i16 -32768, i16 17122, i16 3, i16 16385, i16 -32768, i16 17122, i16 3, i16 18080, i16 -32768, i16 17122, i16 22, i16 16385, i16 -32768, i16 17122, i16 22, i16 18080, i16 -32768, i16 18164, i16 2, i16 18080, i16 -32768, i16 17133, i16 42, i16 16385, i16 -32768, i16 17133, i16 42, i16 18080, i16 -32768, i16 17148, i16 3, i16 16385, i16 -32768, i16 17148, i16 3, i16 18080, i16 -32768, i16 17148, i16 48, i16 16385, i16 -32768, i16 17148, i16 48, i16 18080, i16 -32768, i16 17148, i16 50, i16 16385, i16 -32768, i16 17148, i16 50, i16 18080, i16 -32768, i16 17205, i16 44, i16 16385, i16 -32768, i16 17205, i16 44, i16 18080, i16 -32768, i16 18176, i16 2, i16 18080, i16 -32768, i16 18179, i16 2, i16 16385, i16 -32768, i16 32766, i16 2, i16 18080, i16 -32768, i16 18178, i16 2, i16 16385, i16 -32768, i16 18178, i16 3, i16 16385, i16 -32768, i16 18178, i16 3, i16 18080, i16 -32768, i16 18178, i16 50, i16 16385, i16 -32768, i16 18178, i16 50, i16 18080, i16 -32768, i16 17272, i16 44, i16 16385, i16 -32768, i16 17272, i16 44, i16 18080, i16 -32768, i16 17285, i16 42, i16 16385, i16 -32768, i16 17285, i16 42, i16 18080, i16 -32768, i16 17285, i16 44, i16 16385, i16 -32768, i16 17285, i16 44, i16 18080, i16 -32768, i16 17311, i16 3, i16 16385, i16 -32768, i16 17311, i16 3, i16 18080, i16 -32768, i16 17311, i16 35, i16 16385, i16 -32768, i16 17311, i16 35, i16 18080, i16 -32768, i16 17311, i16 44, i16 16385, i16 -32768, i16 17311, i16 44, i16 18080, i16 -32768, i16 18671, i16 2290, i16 18578, i16 -32768, i16 18671, i16 2290, i16 18581, i16 -32768, i16 17325, i16 3, i16 16385, i16 -32768, i16 17325, i16 3, i16 18080, i16 -32768, i16 17325, i16 33, i16 16385, i16 -32768, i16 17325, i16 33, i16 18080, i16 -32768, i16 17325, i16 35, i16 16385, i16 -32768, i16 17325, i16 35, i16 18080, i16 -32768, i16 17325, i16 42, i16 16385, i16 -32768, i16 17325, i16 42, i16 18080, i16 -32768, i16 17325, i16 43, i16 16385, i16 -32768, i16 17325, i16 43, i16 18080, i16 -32768, i16 17325, i16 50, i16 16385, i16 -32768, i16 17325, i16 50, i16 18080, i16 -32768, i16 18212, i16 2, i16 18080, i16 -32768, i16 18677, i16 2296, i16 18578, i16 -32768, i16 18677, i16 2296, i16 18581, i16 -32768, i16 17389, i16 44, i16 16385, i16 -32768, i16 17389, i16 44, i16 18080, i16 -32768, i16 17408, i16 3, i16 16385, i16 -32768, i16 17408, i16 3, i16 18080, i16 -32768, i16 17408, i16 22, i16 16385, i16 -32768, i16 17408, i16 22, i16 18080, i16 -32768, i16 18222, i16 2, i16 18080, i16 -32768, i16 18683, i16 2302, i16 18578, i16 -32768, i16 18683, i16 2302, i16 18581, i16 -32768, i16 17444, i16 3, i16 16385, i16 -32768, i16 17444, i16 3, i16 18080, i16 -32768, i16 17444, i16 33, i16 16385, i16 -32768, i16 17444, i16 33, i16 18080, i16 -32768, i16 17444, i16 50, i16 16385, i16 -32768, i16 17444, i16 50, i16 18080, i16 -32768, i16 18232, i16 2, i16 18080, i16 -32768, i16 18234, i16 2, i16 18080, i16 -32768, i16 18234, i16 35, i16 16385, i16 -32768, i16 18234, i16 35, i16 18080, i16 -32768, i16 18234, i16 40, i16 16385, i16 -32768, i16 18234, i16 40, i16 18080, i16 -32768, i16 18240, i16 2, i16 18080, i16 -32768, i16 18240, i16 3, i16 16385, i16 -32768, i16 18240, i16 3, i16 18080, i16 -32768, i16 18240, i16 5, i16 16385, i16 -32768, i16 18240, i16 5, i16 18080, i16 -32768, i16 18240, i16 16, i16 16385, i16 -32768, i16 18240, i16 16, i16 18080, i16 -32768, i16 18240, i16 28, i16 16385, i16 -32768, i16 18240, i16 28, i16 18080, i16 -32768, i16 18240, i16 39, i16 16385, i16 -32768, i16 18240, i16 39, i16 18080, i16 -32768, i16 18240, i16 40, i16 16385, i16 -32768, i16 18240, i16 40, i16 18080, i16 -32768, i16 18254, i16 2, i16 18080, i16 -32768, i16 18254, i16 3, i16 16385, i16 -32768, i16 18254, i16 3, i16 18080, i16 -32768, i16 18259, i16 2, i16 18080, i16 -32768, i16 18259, i16 3, i16 16385, i16 -32768, i16 18259, i16 3, i16 18080, i16 -32768, i16 18259, i16 22, i16 16385, i16 -32768, i16 18259, i16 22, i16 18080, i16 -32768, i16 18259, i16 39, i16 16385, i16 -32768, i16 18259, i16 39, i16 18080, i16 -32768, i16 17272, i16 16382, i16 18080, i16 -32768, i16 17122, i16 44, i16 16385, i16 -32768, i16 17122, i16 44, i16 18080, i16 -32768, i16 17205, i16 7, i16 16385, i16 -32768, i16 17205, i16 7, i16 18080, i16 -32768, i16 18178, i16 39, i16 16385, i16 -32768, i16 18178, i16 39, i16 18080, i16 -32768, i16 17408, i16 44, i16 16385, i16 -32768, i16 17408, i16 44, i16 18080, i16 -32768, i16 32766, i16 16382, i16 16386, i16 -32767, i16 18234, i16 1850, i16 16386, i16 -31072, i16 18234, i16 1850, i16 16419, i16 -32767, i16 18234, i16 1850, i16 16419, i16 -31072, i16 18234, i16 1850, i16 16424, i16 -32767, i16 18234, i16 1850, i16 16424, i16 -31072, i16 18240, i16 1856, i16 16386, i16 -31072, i16 18240, i16 1856, i16 16387, i16 -32767, i16 18240, i16 1856, i16 16387, i16 -31072, i16 18240, i16 1856, i16 16389, i16 -32767, i16 18240, i16 1856, i16 16389, i16 -31072, i16 18240, i16 1856, i16 16400, i16 -32767, i16 18240, i16 1856, i16 16400, i16 -31072, i16 18240, i16 1856, i16 16412, i16 -32767, i16 18240, i16 1856, i16 16412, i16 -31072, i16 18240, i16 1856, i16 16423, i16 -32767, i16 18240, i16 1856, i16 16423, i16 -31072, i16 18240, i16 1856, i16 16424, i16 -32767, i16 18240, i16 1856, i16 16424, i16 -31072, i16 18254, i16 73, i16 16385, i16 -32768, i16 18254, i16 73, i16 18080, i16 -32768, i16 18144, i16 2, i16 18080, i16 -32768, i16 18144, i16 3, i16 16385, i16 -32768, i16 18144, i16 3, i16 18080, i16 -32768, i16 18148, i16 2, i16 18080, i16 -32768, i16 18148, i16 16382, i16 16385, i16 -32768, i16 18148, i16 1770, i16 18080, i16 -32768, i16 18148, i16 1772, i16 18080, i16 -32768, i16 18148, i16 1774, i16 18080, i16 -32768, i16 18212, i16 16382, i16 16385, i16 -32768, i16 18212, i16 1822, i16 18080, i16 -32768, i16 18212, i16 1824, i16 18080, i16 -32768, i16 18212, i16 35, i16 16385, i16 -32768, i16 18212, i16 35, i16 18080, i16 -32768, i16 18163, i16 2, i16 16385, i16 -32768, i16 17325, i16 28, i16 16385, i16 -32768, i16 17325, i16 28, i16 18080, i16 -32768, i16 18221, i16 2, i16 16385, i16 -32768, i16 17444, i16 28, i16 16385, i16 -32768, i16 17444, i16 28, i16 18080, i16 -32768, i16 18264, i16 2, i16 16385, i16 -32768, i16 18150, i16 2, i16 18080, i16 -32768, i16 18160, i16 2, i16 18080, i16 -32768, i16 18170, i16 2, i16 18080, i16 -32768, i16 18188, i16 2, i16 18080, i16 -32768, i16 18192, i16 2, i16 18080, i16 -32768, i16 18200, i16 2, i16 18080, i16 -32768, i16 18218, i16 2, i16 18080, i16 -32768, i16 18261, i16 2, i16 18080, i16 -32768, i16 18265, i16 2, i16 18080, i16 -32768, i16 18254, i16 16382, i16 16385, i16 -32768, i16 18254, i16 1848, i16 18080, i16 -32768, i16 18254, i16 1844, i16 18080, i16 -32768, i16 18154, i16 2, i16 18080, i16 -32768, i16 18154, i16 3, i16 16385, i16 -32768, i16 18154, i16 3, i16 18080, i16 -32768, i16 18154, i16 50, i16 16385, i16 -32768, i16 18154, i16 50, i16 18080, i16 -32768, i16 18154, i16 73, i16 16385, i16 -32768, i16 18154, i16 73, i16 18080, i16 -32768, i16 18206, i16 2, i16 18080, i16 -32768, i16 18206, i16 3, i16 16385, i16 -32768, i16 18206, i16 3, i16 18080, i16 -32768, i16 18206, i16 28, i16 16385, i16 -32768, i16 18206, i16 28, i16 18080, i16 -32768, i16 18206, i16 33, i16 16385, i16 -32768, i16 18206, i16 33, i16 18080, i16 -32768, i16 18144, i16 16382, i16 16385, i16 -32768, i16 18144, i16 1883, i16 18078, i16 -32768, i16 18144, i16 1883, i16 18079, i16 -32768, i16 18144, i16 1883, i16 18080, i16 -32768, i16 18144, i16 1762, i16 18080, i16 -32768, i16 18152, i16 2, i16 18080, i16 -32768, i16 18162, i16 2, i16 18080, i16 -32768, i16 18172, i16 2, i16 18080, i16 -32768, i16 18174, i16 2, i16 18080, i16 -32768, i16 18183, i16 2, i16 18080, i16 -32768, i16 18185, i16 2, i16 18080, i16 -32768, i16 18190, i16 2, i16 18080, i16 -32768, i16 18196, i16 2, i16 18080, i16 -32768, i16 18210, i16 2, i16 18080, i16 -32768, i16 18216, i16 2, i16 18080, i16 -32768, i16 18220, i16 2, i16 18080, i16 -32768, i16 18230, i16 2, i16 18080, i16 -32768, i16 18263, i16 2, i16 18080, i16 -32768, i16 18081, i16 16382, i16 16384, i16 -32768, i16 17133, i16 16382, i16 16385, i16 -32768, i16 17133, i16 1887, i16 18080, i16 -32768, i16 17386, i16 73, i16 18080, i16 -32768, i16 18143, i16 2, i16 16385, i16 -32768, i16 18272, i16 2, i16 16385, i16 -32768, i16 18169, i16 2, i16 16385, i16 -32768, i16 17205, i16 8, i16 16385, i16 -32768, i16 17205, i16 8, i16 18080, i16 -32768, i16 18182, i16 2, i16 16385, i16 -32768, i16 17311, i16 16382, i16 16385, i16 -32768, i16 17311, i16 1814, i16 18080, i16 -32768, i16 18201, i16 2, i16 16385, i16 -32768, i16 18227, i16 2, i16 16385, i16 -32768, i16 18257, i16 2, i16 16385, i16 -32768, i16 18225, i16 2, i16 16385, i16 -32768, i16 18155, i16 2, i16 16385, i16 -32768, i16 18155, i16 73, i16 18080, i16 -32768, i16 18155, i16 73, i16 16385, i16 -32768, i16 18213, i16 2, i16 16385, i16 -32768, i16 18213, i16 73, i16 18080, i16 -32768, i16 18213, i16 73, i16 16385, i16 -32768, i16 16384, i16 0, i16 16400, i16 -32768, i16 16384, i16 0, i16 16434, i16 -32768, i16 16384, i16 0, i16 16389, i16 -32768, i16 18311, i16 2, i16 18078, i16 -32768, i16 18311, i16 2, i16 18079, i16 -32768, i16 18311, i16 2, i16 18080, i16 -32768, i16 18166, i16 2, i16 18080, i16 -32768, i16 18315, i16 2, i16 18078, i16 -32768, i16 18315, i16 2, i16 18079, i16 -32768, i16 18315, i16 2, i16 18080, i16 -32768, i16 18319, i16 2, i16 18078, i16 -32768, i16 18319, i16 2, i16 18079, i16 -32768, i16 18319, i16 2, i16 18080, i16 -32768, i16 18194, i16 2, i16 18080, i16 -32768, i16 32766, i16 22, i16 16385, i16 -16386, i16 18220, i16 22, i16 18080, i16 -16386, i16 32766, i16 2, i16 16385, i16 -16386, i16 18259, i16 2, i16 18080, i16 -16386, i16 18259, i16 3, i16 16385, i16 -16386, i16 18259, i16 3, i16 18080, i16 -16386, i16 18259, i16 39, i16 16385, i16 -16386, i16 18259, i16 39, i16 18080, i16 -16386, i16 18259, i16 22, i16 16385, i16 -16386, i16 18259, i16 22, i16 18080, i16 -16386, i16 18234, i16 16382, i16 16386, i16 -32767, i16 18234, i16 1856, i16 16386, i16 -31072, i16 18234, i16 1856, i16 16387, i16 -32767, i16 18234, i16 1856, i16 16387, i16 -31072, i16 18234, i16 1856, i16 16389, i16 -32767, i16 18234, i16 1856, i16 16389, i16 -31072, i16 18234, i16 1856, i16 16400, i16 -32767, i16 18234, i16 1856, i16 16400, i16 -31072, i16 18234, i16 1856, i16 16434, i16 -32767, i16 18234, i16 1856, i16 16434, i16 -31072, i16 18234, i16 1856, i16 16423, i16 -32767, i16 18234, i16 1856, i16 16423, i16 -31072, i16 18234, i16 1856, i16 16412, i16 -32767, i16 18234, i16 1856, i16 16412, i16 -31072, i16 32766, i16 35, i16 16385, i16 -16386, i16 18204, i16 35, i16 18080, i16 -16386, i16 32766, i16 28, i16 16385, i16 -16386, i16 18148, i16 28, i16 18080, i16 -16386, i16 18212, i16 28, i16 18080, i16 -16386, i16 18232, i16 28, i16 18080, i16 -16386, i16 18323, i16 2, i16 18078, i16 -32768, i16 18323, i16 2, i16 18079, i16 -32768, i16 18323, i16 2, i16 18080, i16 -32768, i16 18327, i16 2, i16 18078, i16 -32768, i16 18327, i16 2, i16 18079, i16 -32768, i16 18327, i16 2, i16 18080, i16 -32768, i16 32766, i16 32766, i16 32766, i16 32766, i16 16384, i16 16384, i16 16384, i16 32766, i16 32766, i16 16389, i16 16385, i16 32766, i16 16470, i16 16389, i16 16388, i16 16470, i16 16470, i16 16389, i16 32766, i16 16470, i16 16470, i16 16392, i16 16385, i16 16470, i16 16470, i16 16392, i16 16388, i16 16470, i16 16470, i16 16393, i16 16385, i16 16470, i16 16470, i16 16393, i16 16388, i16 16470, i16 16470, i16 16405, i16 16385, i16 16470, i16 16470, i16 16405, i16 16388, i16 16470, i16 16470, i16 16397, i16 16385, i16 16470, i16 16470, i16 16397, i16 16388, i16 16470, i16 16470, i16 16408, i16 16385, i16 16470, i16 16470, i16 16408, i16 16388, i16 16470, i16 16470, i16 16409, i16 16385, i16 16470, i16 16470, i16 16409, i16 16388, i16 16470, i16 16470, i16 16411, i16 16385, i16 16470, i16 16470, i16 16411, i16 16388, i16 16470, i16 16470, i16 16410, i16 16385, i16 16470, i16 16470, i16 16410, i16 16388, i16 16470, i16 16470, i16 16435, i16 16385, i16 16470, i16 16470, i16 16435, i16 16388, i16 16470, i16 16470, i16 16398, i16 16385, i16 16470, i16 16470, i16 16398, i16 16388, i16 16470, i16 16470, i16 16394, i16 16385, i16 16470, i16 16470, i16 16394, i16 16388, i16 16470, i16 16470, i16 16412, i16 16385, i16 16470, i16 16470, i16 16412, i16 16388, i16 16470, i16 16470, i16 16413, i16 16385, i16 16470, i16 16470, i16 16413, i16 16388, i16 16470, i16 16470, i16 16415, i16 16385, i16 16470, i16 16470, i16 16415, i16 16388, i16 16470, i16 16470, i16 16414, i16 16385, i16 16470, i16 16470, i16 16414, i16 16388, i16 16470, i16 16470, i16 16436, i16 16385, i16 16470, i16 16470, i16 16436, i16 16388, i16 16470, i16 16470, i16 16395, i16 16385, i16 16470, i16 16470, i16 16395, i16 16388, i16 16470, i16 16470, i16 16399, i16 16385, i16 16470, i16 16470, i16 16399, i16 16388, i16 16470, i16 16470, i16 16417, i16 16385, i16 16470, i16 16470, i16 16417, i16 16388, i16 16470, i16 16470, i16 16450, i16 16385, i16 16470, i16 16470, i16 16450, i16 16388, i16 16470, i16 16470, i16 16402, i16 16385, i16 16470, i16 16470, i16 16402, i16 16388, i16 16470, i16 16470, i16 16426, i16 16385, i16 16470, i16 16470, i16 16426, i16 16388, i16 16470, i16 16470, i16 16400, i16 16385, i16 16470, i16 16470, i16 16400, i16 16388, i16 16470, i16 16470, i16 16396, i16 16385, i16 16470, i16 16470, i16 16396, i16 16388, i16 16470, i16 16470, i16 16444, i16 16385, i16 16470, i16 16470, i16 16444, i16 16388, i16 16470, i16 16470, i16 16449, i16 16385, i16 16470, i16 16470, i16 16449, i16 16388, i16 16470, i16 16470, i16 16391, i16 16385, i16 16470, i16 16470, i16 16391, i16 16388, i16 16470, i16 16470, i16 16418, i16 16385, i16 16470, i16 16470, i16 16418, i16 16388, i16 16470, i16 18628, i16 18631, i16 18517, i16 18628, i16 18628, i16 18631, i16 18425, i16 18628, i16 18628, i16 18634, i16 18517, i16 18628, i16 18628, i16 18634, i16 18425, i16 18628, i16 18628, i16 18637, i16 18517, i16 18628, i16 18628, i16 18637, i16 18425, i16 18628, i16 16536, i16 16389, i16 16388, i16 16536, i16 16536, i16 16390, i16 16385, i16 16536, i16 16536, i16 16390, i16 16388, i16 16536, i16 16536, i16 16444, i16 16385, i16 16536, i16 16536, i16 16444, i16 16388, i16 16536, i16 16536, i16 16445, i16 16385, i16 16536, i16 16536, i16 16445, i16 16388, i16 16536, i16 16545, i16 16389, i16 16388, i16 16545, i16 16545, i16 16392, i16 16385, i16 16545, i16 16545, i16 16392, i16 16388, i16 16545, i16 16545, i16 16394, i16 16385, i16 16545, i16 16545, i16 16394, i16 16388, i16 16545, i16 16545, i16 16400, i16 16385, i16 16545, i16 16545, i16 16400, i16 16388, i16 16545, i16 16545, i16 16390, i16 16385, i16 16545, i16 16545, i16 16390, i16 16388, i16 16545, i16 16545, i16 16448, i16 16385, i16 16545, i16 16545, i16 16448, i16 16388, i16 16545, i16 16545, i16 16437, i16 16385, i16 16545, i16 16545, i16 16437, i16 16388, i16 16545, i16 32766, i16 16395, i16 16385, i16 32766, i16 16559, i16 16395, i16 16388, i16 16559, i16 16562, i16 16389, i16 16388, i16 16562, i16 16562, i16 16395, i16 16385, i16 16562, i16 16562, i16 16395, i16 16388, i16 16562, i16 16562, i16 16390, i16 16385, i16 16562, i16 16562, i16 16390, i16 16388, i16 16562, i16 16562, i16 16444, i16 16385, i16 16562, i16 16562, i16 16444, i16 16388, i16 16562, i16 16562, i16 16452, i16 16385, i16 16562, i16 16562, i16 16452, i16 16388, i16 16562, i16 16562, i16 16448, i16 16385, i16 16562, i16 16562, i16 16448, i16 16388, i16 16562, i16 16562, i16 16421, i16 16385, i16 16562, i16 16562, i16 16421, i16 16388, i16 16562, i16 16562, i16 16445, i16 16385, i16 16562, i16 16562, i16 16445, i16 16388, i16 16562, i16 16579, i16 16389, i16 16388, i16 16579, i16 16579, i16 16392, i16 16385, i16 16579, i16 16579, i16 16392, i16 16388, i16 16579, i16 16579, i16 16393, i16 16385, i16 16579, i16 16579, i16 16393, i16 16388, i16 16579, i16 16579, i16 16405, i16 16385, i16 16579, i16 16579, i16 16405, i16 16388, i16 16579, i16 16579, i16 16397, i16 16385, i16 16579, i16 16579, i16 16397, i16 16388, i16 16579, i16 16579, i16 16398, i16 16385, i16 16579, i16 16579, i16 16398, i16 16388, i16 16579, i16 16579, i16 16394, i16 16385, i16 16579, i16 16579, i16 16394, i16 16388, i16 16579, i16 16579, i16 16412, i16 16385, i16 16579, i16 16579, i16 16412, i16 16388, i16 16579, i16 16579, i16 16413, i16 16385, i16 16579, i16 16579, i16 16413, i16 16388, i16 16579, i16 16579, i16 16415, i16 16385, i16 16579, i16 16579, i16 16415, i16 16388, i16 16579, i16 16579, i16 16414, i16 16385, i16 16579, i16 16579, i16 16414, i16 16388, i16 16579, i16 16579, i16 16436, i16 16385, i16 16579, i16 16579, i16 16436, i16 16388, i16 16579, i16 16579, i16 16395, i16 16385, i16 16579, i16 16579, i16 16395, i16 16388, i16 16579, i16 16579, i16 16402, i16 16385, i16 16579, i16 16579, i16 16402, i16 16388, i16 16579, i16 16579, i16 16400, i16 16385, i16 16579, i16 16579, i16 16400, i16 16388, i16 16579, i16 16579, i16 16396, i16 16385, i16 16579, i16 16579, i16 16396, i16 16388, i16 16579, i16 16579, i16 16446, i16 16385, i16 16579, i16 16579, i16 16446, i16 16388, i16 16579, i16 16579, i16 16390, i16 16385, i16 16579, i16 16579, i16 16390, i16 16388, i16 16579, i16 16579, i16 16444, i16 16385, i16 16579, i16 16579, i16 16444, i16 16388, i16 16579, i16 16579, i16 16439, i16 16385, i16 16579, i16 16579, i16 16439, i16 16388, i16 16579, i16 16579, i16 16449, i16 16385, i16 16579, i16 16579, i16 16449, i16 16388, i16 16579, i16 16579, i16 16391, i16 16385, i16 16579, i16 16579, i16 16391, i16 16388, i16 16579, i16 16579, i16 16419, i16 16385, i16 16579, i16 16579, i16 16419, i16 16388, i16 16579, i16 16579, i16 16420, i16 16385, i16 16579, i16 16579, i16 16420, i16 16388, i16 16579, i16 16579, i16 16421, i16 16385, i16 16579, i16 16579, i16 16421, i16 16388, i16 16579, i16 16630, i16 16389, i16 16388, i16 16630, i16 16630, i16 16400, i16 16385, i16 16630, i16 16630, i16 16400, i16 16388, i16 16630, i16 16630, i16 16390, i16 16385, i16 16630, i16 16630, i16 16390, i16 16388, i16 16630, i16 18640, i16 18643, i16 18646, i16 18640, i16 18649, i16 18643, i16 18652, i16 18649, i16 18655, i16 18643, i16 18658, i16 18655, i16 18661, i16 18665, i16 18669, i16 18661, i16 18673, i16 18665, i16 18677, i16 18673, i16 16642, i16 16389, i16 16388, i16 16642, i16 16642, i16 16392, i16 16385, i16 16642, i16 16642, i16 16392, i16 16388, i16 16642, i16 16642, i16 16397, i16 16385, i16 16642, i16 16642, i16 16397, i16 16388, i16 16642, i16 16642, i16 16394, i16 16385, i16 16642, i16 16642, i16 16394, i16 16388, i16 16642, i16 16642, i16 16395, i16 16385, i16 16642, i16 16642, i16 16395, i16 16388, i16 16642, i16 16642, i16 16390, i16 16385, i16 16642, i16 16642, i16 16390, i16 16388, i16 16642, i16 16642, i16 16452, i16 16385, i16 16642, i16 16642, i16 16452, i16 16388, i16 16642, i16 16642, i16 16448, i16 16385, i16 16642, i16 16642, i16 16448, i16 16388, i16 16642, i16 16642, i16 16391, i16 16385, i16 16642, i16 16642, i16 16391, i16 16388, i16 16642, i16 16661, i16 16389, i16 16388, i16 16661, i16 16661, i16 16447, i16 16385, i16 16661, i16 16661, i16 16447, i16 16388, i16 16661, i16 16661, i16 16394, i16 16385, i16 16661, i16 16661, i16 16394, i16 16388, i16 16661, i16 16661, i16 16402, i16 16385, i16 16661, i16 16661, i16 16402, i16 16388, i16 16661, i16 16661, i16 16390, i16 16385, i16 16661, i16 16661, i16 16390, i16 16388, i16 16661, i16 16661, i16 16444, i16 16385, i16 16661, i16 16661, i16 16444, i16 16388, i16 16661, i16 16661, i16 16452, i16 16385, i16 16661, i16 16661, i16 16452, i16 16388, i16 16661, i16 16661, i16 16448, i16 16385, i16 16661, i16 16661, i16 16448, i16 16388, i16 16661, i16 16678, i16 16389, i16 16386, i16 16678, i16 16678, i16 16389, i16 16388, i16 16678, i16 16681, i16 16389, i16 16388, i16 16681, i16 16681, i16 16392, i16 16385, i16 16681, i16 16681, i16 16392, i16 16388, i16 16681, i16 16681, i16 16393, i16 16385, i16 16681, i16 16681, i16 16393, i16 16388, i16 16681, i16 16681, i16 16405, i16 16385, i16 16681, i16 16681, i16 16405, i16 16388, i16 16681, i16 16681, i16 16397, i16 16385, i16 16681, i16 16681, i16 16397, i16 16388, i16 16681, i16 16681, i16 16398, i16 16385, i16 16681, i16 16681, i16 16398, i16 16388, i16 16681, i16 16681, i16 16394, i16 16385, i16 16681, i16 16681, i16 16394, i16 16388, i16 16681, i16 16681, i16 16395, i16 16385, i16 16681, i16 16681, i16 16395, i16 16388, i16 16681, i16 16681, i16 16402, i16 16385, i16 16681, i16 16681, i16 16402, i16 16388, i16 16681, i16 16681, i16 16427, i16 16385, i16 16681, i16 16681, i16 16427, i16 16388, i16 16681, i16 16681, i16 16400, i16 16385, i16 16681, i16 16681, i16 16400, i16 16388, i16 16681, i16 16681, i16 16396, i16 16385, i16 16681, i16 16681, i16 16396, i16 16388, i16 16681, i16 16681, i16 16446, i16 16385, i16 16681, i16 16681, i16 16446, i16 16388, i16 16681, i16 16681, i16 16390, i16 16385, i16 16681, i16 16681, i16 16390, i16 16388, i16 16681, i16 16681, i16 16444, i16 16385, i16 16681, i16 16681, i16 16444, i16 16388, i16 16681, i16 16681, i16 16449, i16 16385, i16 16681, i16 16681, i16 16449, i16 16388, i16 16681, i16 16681, i16 16391, i16 16385, i16 16681, i16 16681, i16 16391, i16 16388, i16 16681, i16 18681, i16 18684, i16 18517, i16 18681, i16 18681, i16 18684, i16 18425, i16 18681, i16 16718, i16 16389, i16 16388, i16 16718, i16 16718, i16 16394, i16 16385, i16 16718, i16 16718, i16 16394, i16 16388, i16 16718, i16 16723, i16 16389, i16 16388, i16 16723, i16 16723, i16 16392, i16 16385, i16 16723, i16 16723, i16 16392, i16 16388, i16 16723, i16 16723, i16 16395, i16 16385, i16 16723, i16 16723, i16 16395, i16 16388, i16 16723, i16 16723, i16 16400, i16 16385, i16 16723, i16 16723, i16 16400, i16 16388, i16 16723, i16 16723, i16 16444, i16 16385, i16 16723, i16 16723, i16 16444, i16 16388, i16 16723, i16 16723, i16 16448, i16 16385, i16 16723, i16 16723, i16 16448, i16 16388, i16 16723, i16 16723, i16 16445, i16 16385, i16 16723, i16 16723, i16 16445, i16 16388, i16 16723, i16 16723, i16 32766, i16 16388, i16 16723, i16 16739, i16 16389, i16 16388, i16 16739, i16 16739, i16 16392, i16 16385, i16 16739, i16 16739, i16 16392, i16 16388, i16 16739, i16 16739, i16 16395, i16 16385, i16 16739, i16 16739, i16 16395, i16 16388, i16 16739, i16 16739, i16 16390, i16 16385, i16 16739, i16 16739, i16 16390, i16 16388, i16 16739, i16 16739, i16 16444, i16 16385, i16 16739, i16 16739, i16 16444, i16 16388, i16 16739, i16 16739, i16 16452, i16 16385, i16 16739, i16 16739, i16 16452, i16 16388, i16 16739, i16 16739, i16 16448, i16 16385, i16 16739, i16 16739, i16 16448, i16 16388, i16 16739, i16 16739, i16 16434, i16 16385, i16 16739, i16 16739, i16 16434, i16 16388, i16 16739, i16 16739, i16 16421, i16 16385, i16 16739, i16 16739, i16 16421, i16 16388, i16 16739, i16 16739, i16 16445, i16 16385, i16 16739, i16 16739, i16 16445, i16 16388, i16 16739, i16 16760, i16 16389, i16 16388, i16 16760, i16 16760, i16 16392, i16 16385, i16 16760, i16 16760, i16 16392, i16 16388, i16 16760, i16 16760, i16 16390, i16 16385, i16 16760, i16 16760, i16 16390, i16 16388, i16 16760, i16 16760, i16 16444, i16 16385, i16 16760, i16 16760, i16 16444, i16 16388, i16 16760, i16 16769, i16 16389, i16 16388, i16 16769, i16 16769, i16 16392, i16 16385, i16 16769, i16 16769, i16 16392, i16 16388, i16 16769, i16 16769, i16 16395, i16 16385, i16 16769, i16 16769, i16 16395, i16 16388, i16 16769, i16 16769, i16 16396, i16 16385, i16 16769, i16 16769, i16 16396, i16 16388, i16 16769, i16 16769, i16 16390, i16 16385, i16 16769, i16 16769, i16 16390, i16 16388, i16 16769, i16 16769, i16 16444, i16 16385, i16 16769, i16 16769, i16 16444, i16 16388, i16 16769, i16 16769, i16 16448, i16 16385, i16 16769, i16 16769, i16 16448, i16 16388, i16 16769, i16 16769, i16 16421, i16 16385, i16 16769, i16 16769, i16 16421, i16 16388, i16 16769, i16 16769, i16 16445, i16 16385, i16 16769, i16 16769, i16 16445, i16 16388, i16 16769, i16 16769, i16 16451, i16 16388, i16 16769, i16 18687, i16 18690, i16 18517, i16 18687, i16 18687, i16 18690, i16 18425, i16 18687, i16 16791, i16 16389, i16 16388, i16 16791, i16 16791, i16 16389, i16 32766, i16 16791, i16 16791, i16 16392, i16 16385, i16 16791, i16 16791, i16 16392, i16 16388, i16 16791, i16 16791, i16 16393, i16 16385, i16 16791, i16 16791, i16 16393, i16 16388, i16 16791, i16 16791, i16 16405, i16 16385, i16 16791, i16 16791, i16 16405, i16 16388, i16 16791, i16 16791, i16 16397, i16 16385, i16 16791, i16 16791, i16 16397, i16 16388, i16 16791, i16 16791, i16 16398, i16 16385, i16 16791, i16 16791, i16 16398, i16 16388, i16 16791, i16 16791, i16 16394, i16 16385, i16 16791, i16 16791, i16 16394, i16 16388, i16 16791, i16 16791, i16 16412, i16 16385, i16 16791, i16 16791, i16 16412, i16 16388, i16 16791, i16 16791, i16 16413, i16 16385, i16 16791, i16 16791, i16 16413, i16 16388, i16 16791, i16 16791, i16 16415, i16 16385, i16 16791, i16 16791, i16 16415, i16 16388, i16 16791, i16 16791, i16 16414, i16 16385, i16 16791, i16 16791, i16 16414, i16 16388, i16 16791, i16 16791, i16 16436, i16 16385, i16 16791, i16 16791, i16 16436, i16 16388, i16 16791, i16 16791, i16 16395, i16 16385, i16 16791, i16 16791, i16 16395, i16 16388, i16 16791, i16 16791, i16 16402, i16 16385, i16 16791, i16 16791, i16 16402, i16 16388, i16 16791, i16 16791, i16 16404, i16 16385, i16 16791, i16 16791, i16 16404, i16 16388, i16 16791, i16 16791, i16 16400, i16 16385, i16 16791, i16 16791, i16 16400, i16 16388, i16 16791, i16 16791, i16 16396, i16 16385, i16 16791, i16 16791, i16 16396, i16 16388, i16 16791, i16 16791, i16 16406, i16 16385, i16 16791, i16 16791, i16 16406, i16 16388, i16 16791, i16 16791, i16 16431, i16 16385, i16 16791, i16 16791, i16 16431, i16 16388, i16 16791, i16 16791, i16 16444, i16 16385, i16 16791, i16 16791, i16 16444, i16 16388, i16 16791, i16 16791, i16 16452, i16 16385, i16 16791, i16 16791, i16 16452, i16 16388, i16 16791, i16 16791, i16 16443, i16 16385, i16 16791, i16 16791, i16 16443, i16 16388, i16 16791, i16 16791, i16 16449, i16 16385, i16 16791, i16 16791, i16 16449, i16 16388, i16 16791, i16 16791, i16 16440, i16 16385, i16 16791, i16 16791, i16 16440, i16 16388, i16 16791, i16 16791, i16 16391, i16 16385, i16 16791, i16 16791, i16 16391, i16 16388, i16 16791, i16 16791, i16 16419, i16 16385, i16 16791, i16 16791, i16 16419, i16 16388, i16 16791, i16 16791, i16 16420, i16 16385, i16 16791, i16 16791, i16 16420, i16 16388, i16 16791, i16 16791, i16 16401, i16 16385, i16 16791, i16 16791, i16 16401, i16 16388, i16 16791, i16 16791, i16 16422, i16 16385, i16 16791, i16 16791, i16 16422, i16 16388, i16 16791, i16 16791, i16 16423, i16 16385, i16 16791, i16 16791, i16 16423, i16 16388, i16 16791, i16 16791, i16 16425, i16 16385, i16 16791, i16 16791, i16 16425, i16 16388, i16 16791, i16 16791, i16 16424, i16 16385, i16 16791, i16 16791, i16 16424, i16 16388, i16 16791, i16 16791, i16 16441, i16 16385, i16 16791, i16 16791, i16 16441, i16 16388, i16 16791, i16 18693, i16 18696, i16 18517, i16 18693, i16 18693, i16 18696, i16 18425, i16 18693, i16 16861, i16 16389, i16 16388, i16 16861, i16 16861, i16 16392, i16 16385, i16 16861, i16 16861, i16 16392, i16 16388, i16 16861, i16 16861, i16 16390, i16 16385, i16 16861, i16 16861, i16 16390, i16 16388, i16 16861, i16 16868, i16 16389, i16 16388, i16 16868, i16 16871, i16 16389, i16 16388, i16 16871, i16 16871, i16 16392, i16 16385, i16 16871, i16 16871, i16 16392, i16 16388, i16 16871, i16 16871, i16 16405, i16 16385, i16 16871, i16 16871, i16 16405, i16 16388, i16 16871, i16 16871, i16 16398, i16 16385, i16 16871, i16 16871, i16 16398, i16 16388, i16 16871, i16 16871, i16 16390, i16 16385, i16 16871, i16 16871, i16 16390, i16 16388, i16 16871, i16 16871, i16 16444, i16 16385, i16 16871, i16 16871, i16 16444, i16 16388, i16 16871, i16 16871, i16 16448, i16 16385, i16 16871, i16 16871, i16 16448, i16 16388, i16 16871, i16 16871, i16 16434, i16 16385, i16 16871, i16 16871, i16 16434, i16 16388, i16 16871, i16 16871, i16 16445, i16 16385, i16 16871, i16 16871, i16 16445, i16 16388, i16 16871, i16 16889, i16 16395, i16 16388, i16 16889, i16 16892, i16 16389, i16 16388, i16 16892, i16 18699, i16 18643, i16 18702, i16 18699, i16 16892, i16 16392, i16 16385, i16 16892, i16 16892, i16 16392, i16 16388, i16 16892, i16 16892, i16 16403, i16 16385, i16 16892, i16 16892, i16 16403, i16 16388, i16 16892, i16 16892, i16 16394, i16 16385, i16 16892, i16 16892, i16 16394, i16 16388, i16 16892, i16 16892, i16 16390, i16 16385, i16 16892, i16 16892, i16 16390, i16 16388, i16 16892, i16 16892, i16 16444, i16 16385, i16 16892, i16 16892, i16 16444, i16 16388, i16 16892, i16 16892, i16 16433, i16 16385, i16 16892, i16 16892, i16 16433, i16 16388, i16 16892, i16 16892, i16 16448, i16 16385, i16 16892, i16 16892, i16 16448, i16 16388, i16 16892, i16 16909, i16 16395, i16 16388, i16 16909, i16 16909, i16 16416, i16 16385, i16 16909, i16 16909, i16 16416, i16 16388, i16 16909, i16 16892, i16 32766, i16 16388, i16 16892, i16 18705, i16 18643, i16 18708, i16 18705, i16 18699, i16 18643, i16 18711, i16 16384, i16 16917, i16 16389, i16 16388, i16 16917, i16 16917, i16 16395, i16 16385, i16 16917, i16 16917, i16 16395, i16 16388, i16 16917, i16 16917, i16 16390, i16 16385, i16 16917, i16 16917, i16 16390, i16 16388, i16 16917, i16 16917, i16 16444, i16 16385, i16 16917, i16 16917, i16 16444, i16 16388, i16 16917, i16 16917, i16 16452, i16 16385, i16 16917, i16 16917, i16 16452, i16 16388, i16 16917, i16 16917, i16 16448, i16 16385, i16 16917, i16 16917, i16 16448, i16 16388, i16 16917, i16 16917, i16 16421, i16 16385, i16 16917, i16 16917, i16 16421, i16 16388, i16 16917, i16 16917, i16 16445, i16 16385, i16 16917, i16 16917, i16 16445, i16 16388, i16 16917, i16 18714, i16 18717, i16 18517, i16 18714, i16 18714, i16 18717, i16 18425, i16 18714, i16 16936, i16 16389, i16 16388, i16 16936, i16 16936, i16 16392, i16 16385, i16 16936, i16 16936, i16 16392, i16 16388, i16 16936, i16 16936, i16 16393, i16 16385, i16 16936, i16 16936, i16 16393, i16 16388, i16 16936, i16 16936, i16 16405, i16 16385, i16 16936, i16 16936, i16 16405, i16 16388, i16 16936, i16 16936, i16 16397, i16 16385, i16 16936, i16 16936, i16 16397, i16 16388, i16 16936, i16 16936, i16 16398, i16 16385, i16 16936, i16 16936, i16 16398, i16 16388, i16 16936, i16 16936, i16 16394, i16 16385, i16 16936, i16 16936, i16 16394, i16 16388, i16 16936, i16 16936, i16 16395, i16 16385, i16 16936, i16 16936, i16 16395, i16 16388, i16 16936, i16 16936, i16 16399, i16 16385, i16 16936, i16 16936, i16 16399, i16 16388, i16 16936, i16 16936, i16 16402, i16 16385, i16 16936, i16 16936, i16 16402, i16 16388, i16 16936, i16 16936, i16 16426, i16 16385, i16 16936, i16 16936, i16 16426, i16 16388, i16 16936, i16 16936, i16 16427, i16 16385, i16 16936, i16 16936, i16 16427, i16 16388, i16 16936, i16 16936, i16 16428, i16 16385, i16 16936, i16 16936, i16 16428, i16 16388, i16 16936, i16 16936, i16 16429, i16 16385, i16 16936, i16 16936, i16 16429, i16 16388, i16 16936, i16 16936, i16 16404, i16 16385, i16 16936, i16 16936, i16 16404, i16 16388, i16 16936, i16 16936, i16 16400, i16 16385, i16 16936, i16 16936, i16 16400, i16 16388, i16 16936, i16 16936, i16 16396, i16 16385, i16 16936, i16 16936, i16 16396, i16 16388, i16 16936, i16 16936, i16 16406, i16 16385, i16 16936, i16 16936, i16 16406, i16 16388, i16 16936, i16 16936, i16 16446, i16 16385, i16 16936, i16 16936, i16 16446, i16 16388, i16 16936, i16 16936, i16 16444, i16 16385, i16 16936, i16 16936, i16 16444, i16 16388, i16 16936, i16 16936, i16 16449, i16 16385, i16 16936, i16 16936, i16 16449, i16 16388, i16 16936, i16 16936, i16 16391, i16 16385, i16 16936, i16 16936, i16 16391, i16 16388, i16 16936, i16 16936, i16 16430, i16 16385, i16 16936, i16 16936, i16 16430, i16 16388, i16 16936, i16 16936, i16 16442, i16 16385, i16 16936, i16 16936, i16 16442, i16 16388, i16 16936, i16 16936, i16 16421, i16 16385, i16 16936, i16 16936, i16 16421, i16 16388, i16 16936, i16 16936, i16 16401, i16 16385, i16 16936, i16 16936, i16 16401, i16 16388, i16 16936, i16 16936, i16 16422, i16 16385, i16 16936, i16 16936, i16 16422, i16 16388, i16 16936, i16 16936, i16 16423, i16 16385, i16 16936, i16 16936, i16 16423, i16 16388, i16 16936, i16 16936, i16 16425, i16 16385, i16 16936, i16 16936, i16 16425, i16 16388, i16 16936, i16 16936, i16 16424, i16 16385, i16 16936, i16 16936, i16 16424, i16 16388, i16 16936, i16 16936, i16 16441, i16 16385, i16 16936, i16 16936, i16 16441, i16 16388, i16 16936, i16 16999, i16 16389, i16 16388, i16 16999, i16 16999, i16 16396, i16 16385, i16 16999, i16 16999, i16 16396, i16 16388, i16 16999, i16 16999, i16 16444, i16 16385, i16 16999, i16 16999, i16 16444, i16 16388, i16 16999, i16 17006, i16 16389, i16 16388, i16 17006, i16 17006, i16 16392, i16 16385, i16 17006, i16 17006, i16 16392, i16 16388, i16 17006, i16 17006, i16 16393, i16 16385, i16 17006, i16 17006, i16 16393, i16 16388, i16 17006, i16 17006, i16 16394, i16 16385, i16 17006, i16 17006, i16 16394, i16 16388, i16 17006, i16 17006, i16 16402, i16 16385, i16 17006, i16 17006, i16 16402, i16 16388, i16 17006, i16 17006, i16 16390, i16 16385, i16 17006, i16 17006, i16 16390, i16 16388, i16 17006, i16 17006, i16 16444, i16 16385, i16 17006, i16 17006, i16 16444, i16 16388, i16 17006, i16 17021, i16 16389, i16 16388, i16 17021, i16 17021, i16 16402, i16 16385, i16 17021, i16 17021, i16 16402, i16 16388, i16 17021, i16 17021, i16 16390, i16 16385, i16 17021, i16 17021, i16 16390, i16 16388, i16 17021, i16 17028, i16 16389, i16 16388, i16 17028, i16 17028, i16 16392, i16 16385, i16 17028, i16 17028, i16 16392, i16 16388, i16 17028, i16 17028, i16 16393, i16 16385, i16 17028, i16 17028, i16 16393, i16 16388, i16 17028, i16 17028, i16 16394, i16 16385, i16 17028, i16 17028, i16 16394, i16 16388, i16 17028, i16 17028, i16 16402, i16 16385, i16 17028, i16 17028, i16 16402, i16 16388, i16 17028, i16 17028, i16 16400, i16 16385, i16 17028, i16 17028, i16 16400, i16 16388, i16 17028, i16 17028, i16 16396, i16 16385, i16 17028, i16 17028, i16 16396, i16 16388, i16 17028, i16 17028, i16 16390, i16 16385, i16 17028, i16 17028, i16 16390, i16 16388, i16 17028, i16 17028, i16 16444, i16 16385, i16 17028, i16 17028, i16 16444, i16 16388, i16 17028, i16 17047, i16 16389, i16 16388, i16 17047, i16 17047, i16 16392, i16 16385, i16 17047, i16 17047, i16 16392, i16 16388, i16 17047, i16 17047, i16 16394, i16 16385, i16 17047, i16 17047, i16 16394, i16 16388, i16 17047, i16 17047, i16 16390, i16 16385, i16 17047, i16 17047, i16 16390, i16 16388, i16 17047, i16 17047, i16 16444, i16 16385, i16 17047, i16 17047, i16 16444, i16 16388, i16 17047, i16 17047, i16 16452, i16 16385, i16 17047, i16 17047, i16 16452, i16 16388, i16 17047, i16 17047, i16 16445, i16 16385, i16 17047, i16 17047, i16 16445, i16 16388, i16 17047, i16 17062, i16 16395, i16 16388, i16 17062, i16 32766, i16 32766, i16 16384, i16 32766, i16 17064, i16 32766, i16 16384, i16 17064, i16 17073, i16 32766, i16 16384, i16 17073, i16 17074, i16 32766, i16 16384, i16 17074, i16 17075, i16 32766, i16 16384, i16 17075, i16 17076, i16 32766, i16 16384, i16 17076, i16 17077, i16 32766, i16 16384, i16 17077, i16 17078, i16 32766, i16 16384, i16 17078, i16 17079, i16 32766, i16 16384, i16 17079, i16 17080, i16 32766, i16 16384, i16 17080, i16 17081, i16 32766, i16 16384, i16 17081, i16 16384, i16 16384, i16 16384, i16 17133, i16 16384, i16 16384, i16 16384, i16 17135, i16 16384, i16 16384, i16 16384, i16 17197, i16 16384, i16 16384, i16 16384, i16 16384, i16 32766, i16 16385, i16 16453, i16 32766, i16 17723, i16 16385, i16 16454, i16 17723, i16 17723, i16 16388, i16 16453, i16 17723, i16 17723, i16 16388, i16 16454, i16 17723, i16 17727, i16 16388, i16 16453, i16 17727, i16 17729, i16 16388, i16 16453, i16 17729, i16 17731, i16 16388, i16 16453, i16 17731, i16 17733, i16 16385, i16 16454, i16 17733, i16 17733, i16 16388, i16 16453, i16 17733, i16 17733, i16 16388, i16 16454, i16 17733, i16 17737, i16 16388, i16 16453, i16 17737, i16 17739, i16 16385, i16 16454, i16 17739, i16 17739, i16 16388, i16 16453, i16 17739, i16 17739, i16 16388, i16 16454, i16 17739, i16 17743, i16 16388, i16 16453, i16 17743, i16 17745, i16 16385, i16 16454, i16 17745, i16 17745, i16 16385, i16 16455, i16 17745, i16 17745, i16 16388, i16 16453, i16 17745, i16 17745, i16 16388, i16 16454, i16 17745, i16 17745, i16 16388, i16 16455, i16 17745, i16 17745, i16 16388, i16 16456, i16 17745, i16 17752, i16 16388, i16 16453, i16 17752, i16 17754, i16 16388, i16 16453, i16 17754, i16 17756, i16 16388, i16 16453, i16 17756, i16 17758, i16 16388, i16 16453, i16 17758, i16 17760, i16 16388, i16 16453, i16 17760, i16 17762, i16 16385, i16 16454, i16 17762, i16 17762, i16 16388, i16 16453, i16 17762, i16 17762, i16 16388, i16 16454, i16 17762, i16 17766, i16 16388, i16 16453, i16 17766, i16 17768, i16 16388, i16 16453, i16 17768, i16 17770, i16 16388, i16 16453, i16 17770, i16 17770, i16 16388, i16 32766, i16 17770, i16 17773, i16 16388, i16 16453, i16 17773, i16 17775, i16 16385, i16 16454, i16 17775, i16 17775, i16 16385, i16 16455, i16 17775, i16 17775, i16 16388, i16 16453, i16 17775, i16 17775, i16 16388, i16 16454, i16 17775, i16 17775, i16 16388, i16 16455, i16 17775, i16 17775, i16 16388, i16 16456, i16 17775, i16 17782, i16 16388, i16 16453, i16 17782, i16 17784, i16 16388, i16 16453, i16 17784, i16 17786, i16 16388, i16 16453, i16 17786, i16 17788, i16 16385, i16 16454, i16 17788, i16 17788, i16 16388, i16 16453, i16 17788, i16 17788, i16 16388, i16 16454, i16 17788, i16 32766, i16 16457, i16 16385, i16 32766, i16 17792, i16 16457, i16 16388, i16 17792, i16 17794, i16 16457, i16 16388, i16 17794, i16 17796, i16 16457, i16 16388, i16 17796, i16 17798, i16 16457, i16 16388, i16 17798, i16 17800, i16 16457, i16 16388, i16 17800, i16 17802, i16 16457, i16 16388, i16 17802, i16 17804, i16 16457, i16 16388, i16 17804, i16 17806, i16 16457, i16 16388, i16 17806, i16 17808, i16 16457, i16 16388, i16 17808, i16 17810, i16 16457, i16 16388, i16 17810, i16 17812, i16 16457, i16 16388, i16 17812, i16 17814, i16 16457, i16 16388, i16 17814, i16 17816, i16 16457, i16 16388, i16 17816, i16 17818, i16 16457, i16 16388, i16 17818, i16 17820, i16 16457, i16 16388, i16 17820, i16 17822, i16 16457, i16 16388, i16 17822, i16 17824, i16 16457, i16 16388, i16 17824, i16 17826, i16 16457, i16 16388, i16 17826, i16 17828, i16 16457, i16 16388, i16 17828, i16 17830, i16 16457, i16 16388, i16 17830, i16 17832, i16 16457, i16 16388, i16 17832, i16 17834, i16 16457, i16 16388, i16 17834, i16 17836, i16 16457, i16 16388, i16 17836, i16 17838, i16 16457, i16 16388, i16 17838, i16 17840, i16 16457, i16 16388, i16 17840, i16 17842, i16 16457, i16 16388, i16 17842, i16 17844, i16 16457, i16 16388, i16 17844, i16 17846, i16 16457, i16 16388, i16 17846, i16 17848, i16 16457, i16 16388, i16 17848, i16 17850, i16 16457, i16 16388, i16 17850, i16 17852, i16 16457, i16 16388, i16 17852, i16 17854, i16 16457, i16 16388, i16 17854, i16 17856, i16 16457, i16 16388, i16 17856, i16 17858, i16 16457, i16 16388, i16 17858, i16 17860, i16 16457, i16 16388, i16 17860, i16 17862, i16 16457, i16 16388, i16 17862, i16 17864, i16 16457, i16 16388, i16 17864, i16 17866, i16 16457, i16 16388, i16 17866, i16 17868, i16 16457, i16 16388, i16 17868, i16 17870, i16 16457, i16 16388, i16 17870, i16 17872, i16 16457, i16 16388, i16 17872, i16 32766, i16 16457, i16 16388, i16 32766, i16 17874, i16 16457, i16 16385, i16 17874, i16 17876, i16 16457, i16 16388, i16 17876, i16 17878, i16 16457, i16 16385, i16 17878, i16 17880, i16 16457, i16 16388, i16 17880, i16 17882, i16 16457, i16 16388, i16 17882, i16 17884, i16 16457, i16 16388, i16 17884, i16 17886, i16 16457, i16 16388, i16 17886, i16 17888, i16 16457, i16 16388, i16 17888, i16 17890, i16 16457, i16 16388, i16 17890, i16 17892, i16 16457, i16 16388, i16 17892, i16 17894, i16 16457, i16 16388, i16 17894, i16 32766, i16 16384, i16 16384, i16 32766, i16 17928, i16 32766, i16 16384, i16 17928, i16 17927, i16 32766, i16 16384, i16 17927, i16 17937, i16 32766, i16 16384, i16 17937, i16 17941, i16 32766, i16 16384, i16 17941, i16 17948, i16 32766, i16 16384, i16 17948, i16 17956, i16 32766, i16 16384, i16 17956, i16 17961, i16 32766, i16 16384, i16 17961, i16 17966, i16 32766, i16 16384, i16 17966, i16 17971, i16 32766, i16 16384, i16 17971, i16 17976, i16 32766, i16 16384, i16 17976, i16 17979, i16 32766, i16 16384, i16 17979, i16 17982, i16 32766, i16 16384, i16 17982, i16 17985, i16 32766, i16 16384, i16 17985, i16 17988, i16 32766, i16 16384, i16 17988, i16 17993, i16 32766, i16 16384, i16 17993, i16 17998, i16 32766, i16 16384, i16 17998, i16 18003, i16 32766, i16 16384, i16 18003, i16 18008, i16 32766, i16 16384, i16 18008, i16 18013, i16 32766, i16 16384, i16 18013, i16 18018, i16 32766, i16 16384, i16 18018, i16 18023, i16 32766, i16 16384, i16 18023, i16 18028, i16 32766, i16 16384, i16 18028, i16 18033, i16 32766, i16 16384, i16 18033, i16 18038, i16 32766, i16 16384, i16 18038, i16 18043, i16 32766, i16 16384, i16 18043, i16 18048, i16 32766, i16 16384, i16 18048, i16 18053, i16 32766, i16 16384, i16 18053, i16 18058, i16 32766, i16 16384, i16 18058, i16 18063, i16 32766, i16 16384, i16 18063, i16 18066, i16 32766, i16 16384, i16 18066, i16 18069, i16 32766, i16 16384, i16 18069, i16 16384, i16 16384, i16 32766, i16 32766, i16 18720, i16 18720, i16 18723, i16 18720, i16 18720, i16 18726, i16 18729, i16 18720, i16 18732, i16 18732, i16 18735, i16 18732, i16 18732, i16 18738, i16 18741, i16 18732, i16 18744, i16 18744, i16 18747, i16 18744, i16 18744, i16 18750, i16 18753, i16 18744, i16 18756, i16 18759, i16 18762, i16 18756, i16 18756, i16 18765, i16 18768, i16 18756, i16 18101, i16 32766, i16 16384, i16 18101, i16 18105, i16 32766, i16 16384, i16 18105, i16 18109, i16 32766, i16 16384, i16 18109, i16 18114, i16 32766, i16 16384, i16 18114, i16 18118, i16 32766, i16 16384, i16 18118, i16 18122, i16 32766, i16 16384, i16 18122, i16 18127, i16 32766, i16 16384, i16 18127, i16 18131, i16 32766, i16 16384, i16 18131, i16 18135, i16 32766, i16 16384, i16 18135, i16 18140, i16 32766, i16 16384, i16 18140, i16 18144, i16 32766, i16 16384, i16 18144, i16 18148, i16 32766, i16 16384, i16 18148, i16 18152, i16 32766, i16 16384, i16 18152, i16 18156, i16 32766, i16 16384, i16 18156, i16 18160, i16 32766, i16 16384, i16 18160, i16 18164, i16 32766, i16 16384, i16 18164, i16 18168, i16 32766, i16 16384, i16 18168, i16 18172, i16 32766, i16 16384, i16 18172, i16 18178, i16 32766, i16 16384, i16 18178, i16 18182, i16 32766, i16 16384, i16 18182, i16 18186, i16 32766, i16 16384, i16 18186, i16 18188, i16 32766, i16 16384, i16 18188, i16 18190, i16 32766, i16 16384, i16 18190, i16 18192, i16 32766, i16 16384, i16 18192, i16 18194, i16 32766, i16 16384, i16 18194, i16 18196, i16 32766, i16 16384, i16 18196, i16 18202, i16 32766, i16 16384, i16 18202, i16 18208, i16 32766, i16 16384, i16 18208, i16 18214, i16 32766, i16 16384, i16 18214, i16 18220, i16 32766, i16 16384, i16 18220, i16 18226, i16 32766, i16 16384, i16 18226, i16 18228, i16 32766, i16 16384, i16 18228, i16 18230, i16 32766, i16 16384, i16 18230, i16 18232, i16 32766, i16 16384, i16 18232, i16 18234, i16 32766, i16 16384, i16 18234, i16 18236, i16 32766, i16 16384, i16 18236, i16 18240, i16 32766, i16 16384, i16 18240, i16 18244, i16 32766, i16 16384, i16 18244, i16 18248, i16 32766, i16 16384, i16 18248, i16 18250, i16 32766, i16 16384, i16 18250, i16 18252, i16 32766, i16 16384, i16 18252, i16 18254, i16 32766, i16 16384, i16 18254, i16 18256, i16 32766, i16 16384, i16 18256, i16 18258, i16 32766, i16 16384, i16 18258, i16 18262, i16 32766, i16 16384, i16 18262, i16 18264, i16 32766, i16 16384, i16 18264, i16 18266, i16 32766, i16 16384, i16 18266, i16 18268, i16 32766, i16 16384, i16 18268, i16 32766, i16 32766, i16 16384, i16 16384, i16 16396, i16 32766, i16 16384, i16 16384, i16 16398, i16 32766, i16 16384, i16 16384, i16 16400, i16 32766, i16 16384, i16 16384, i16 16402, i16 32766, i16 16384, i16 16384, i16 16404, i16 32766, i16 16384, i16 16384, i16 16406, i16 32766, i16 16384, i16 16384, i16 16408, i16 32766, i16 16384, i16 16384, i16 16410, i16 32766, i16 16384, i16 16384, i16 16412, i16 32766, i16 16384, i16 16384, i16 16414, i16 32766, i16 16384, i16 16384, i16 16416, i16 32766, i16 16384, i16 16384, i16 16418, i16 32766, i16 16384, i16 16384, i16 16420, i16 32766, i16 16384, i16 16384, i16 16422, i16 32766, i16 16384, i16 16384, i16 16424, i16 32766, i16 16384, i16 16384, i16 16426, i16 32766, i16 16384, i16 16384, i16 16428, i16 32766, i16 16384, i16 16384, i16 16430, i16 32766, i16 16384, i16 16384, i16 16432, i16 32766, i16 16384, i16 16384, i16 16434, i16 32766, i16 16384, i16 16384, i16 16436, i16 32766, i16 16384, i16 16384, i16 16438, i16 32766, i16 16384, i16 16384, i16 16440, i16 32766, i16 16384, i16 16384, i16 16442, i16 32766, i16 16384, i16 16384, i16 16444, i16 32766, i16 16384, i16 16384, i16 16446, i16 32766, i16 16384, i16 16384, i16 16384, i16 32766, i16 16384, i16 16384, i16 16384, i16 16384, i16 32766, i16 16384, i16 16384, i16 32766, i16 16385, i16 16385, i16 32766, i16 16385, i16 16385, i16 16385, i16 16438, i16 16386, i16 16385, i16 16385, i16 16440, i16 16386, i16 16385, i16 16385, i16 16442, i16 16386, i16 16385, i16 16385, i16 16444, i16 16386, i16 16385, i16 16385, i16 16446, i16 16386, i16 16385, i16 16385, i16 16448, i16 16386, i16 16385, i16 16385, i16 16450, i16 16386, i16 16385, i16 16385, i16 16452, i16 16386, i16 16385, i16 16385, i16 16454, i16 16386, i16 16385, i16 16385, i16 16456, i16 16386, i16 16385, i16 16385, i16 32766, i16 16385, i16 16385, i16 16387, i16 16458, i16 16385, i16 16385, i16 16388, i16 16460, i16 16385, i16 16385, i16 16388, i16 16462, i16 16385, i16 16385, i16 16388, i16 16464, i16 16385, i16 16385, i16 16388, i16 16466, i16 16385, i16 16385, i16 16388, i16 16468, i16 16385, i16 16385, i16 16388, i16 16470, i16 16385, i16 16385, i16 16388, i16 16472, i16 16385, i16 16385, i16 16388, i16 16474, i16 16385, i16 16385, i16 16388, i16 16476, i16 16385, i16 16385, i16 16388, i16 16478, i16 16385, i16 16385, i16 16388, i16 16480, i16 16385, i16 16385, i16 16388, i16 16482, i16 16385, i16 16385, i16 16388, i16 16484, i16 16385, i16 16385, i16 16388, i16 16486, i16 16385, i16 16385, i16 16388, i16 16488, i16 16385, i16 16385, i16 16388, i16 16490, i16 16385, i16 16385, i16 16388, i16 16492, i16 16385, i16 16385, i16 16388, i16 16494, i16 16385, i16 16385, i16 16388, i16 16496, i16 16385, i16 16385, i16 16388, i16 16498, i16 16385, i16 16385, i16 16388, i16 16500, i16 16385, i16 16385, i16 16388, i16 16502, i16 16385, i16 16385, i16 16388, i16 16504, i16 16385, i16 16385, i16 16388, i16 16506, i16 16385, i16 16385, i16 16388, i16 16508, i16 16385, i16 16385, i16 16388, i16 17294, i16 16385, i16 16385, i16 16385, i16 17297, i16 16385, i16 16385, i16 16385, i16 17300, i16 16385, i16 16385, i16 16385, i16 17303, i16 16385, i16 16385, i16 16385, i16 17306, i16 16385, i16 16385, i16 16385, i16 17309, i16 16385, i16 16385, i16 16385, i16 17312, i16 16385, i16 16385, i16 16385, i16 17315, i16 16385, i16 16385, i16 16385, i16 17318, i16 16385, i16 16385, i16 16385, i16 17321, i16 16385, i16 16385, i16 16385, i16 17324, i16 16385, i16 16385, i16 16385, i16 17327, i16 16385, i16 16385, i16 16385, i16 17330, i16 16385, i16 16385, i16 16385, i16 17333, i16 16385, i16 16385, i16 16385, i16 17336, i16 16385, i16 16385, i16 16385, i16 17339, i16 16385, i16 16385, i16 16385, i16 17342, i16 16385, i16 16385, i16 16385, i16 17345, i16 16385, i16 16385, i16 16385, i16 17348, i16 16385, i16 16385, i16 16385, i16 17351, i16 16385, i16 16385, i16 16385, i16 17354, i16 16385, i16 16385, i16 16385, i16 17357, i16 16385, i16 16385, i16 16385, i16 17360, i16 16385, i16 16385, i16 16385, i16 17363, i16 16385, i16 16385, i16 16385, i16 17366, i16 16385, i16 16385, i16 16385, i16 17369, i16 16385, i16 16385, i16 16385, i16 17372, i16 16385, i16 16385, i16 16385, i16 17375, i16 16385, i16 16385, i16 16385, i16 17378, i16 16385, i16 16385, i16 16385, i16 17381, i16 16385, i16 16385, i16 16385, i16 17384, i16 16385, i16 16385, i16 16385, i16 17387, i16 16385, i16 16385, i16 16385, i16 17390, i16 16385, i16 16385, i16 16385, i16 17393, i16 16385, i16 16385, i16 16385, i16 17396, i16 16385, i16 16385, i16 16385, i16 17399, i16 16385, i16 16385, i16 16385, i16 17402, i16 16385, i16 16385, i16 16385, i16 17405, i16 16385, i16 16385, i16 16385, i16 17408, i16 16385, i16 16385, i16 16385, i16 17411, i16 16385, i16 16385, i16 16385, i16 17414, i16 16385, i16 16385, i16 16385, i16 17417, i16 16385, i16 16385, i16 16385, i16 17420, i16 16385, i16 16385, i16 16385, i16 17423, i16 16385, i16 16385, i16 16385, i16 17426, i16 16385, i16 16385, i16 16385, i16 17429, i16 16385, i16 16385, i16 16385, i16 17432, i16 16385, i16 16385, i16 16385, i16 17435, i16 16385, i16 16385, i16 16385, i16 17438, i16 16385, i16 16385, i16 16385, i16 17441, i16 16385, i16 16385, i16 16385, i16 17444, i16 16385, i16 16385, i16 16385, i16 17447, i16 16385, i16 16385, i16 16385, i16 17450, i16 16385, i16 16385, i16 16385, i16 17453, i16 16385, i16 16385, i16 16385, i16 17456, i16 16385, i16 16385, i16 16385, i16 17459, i16 16385, i16 16385, i16 16385, i16 17462, i16 16385, i16 16385, i16 16385, i16 17465, i16 16385, i16 16385, i16 16385, i16 17468, i16 16385, i16 16385, i16 16385, i16 17471, i16 16385, i16 16385, i16 16385, i16 17474, i16 16385, i16 16385, i16 16385, i16 17477, i16 16385, i16 16385, i16 16385, i16 17480, i16 16385, i16 16385, i16 16385, i16 17483, i16 16385, i16 16385, i16 16385, i16 17486, i16 16385, i16 16385, i16 16385, i16 17489, i16 16385, i16 16385, i16 16385, i16 17492, i16 16385, i16 16385, i16 16385, i16 17495, i16 16385, i16 16385, i16 16385, i16 17498, i16 16385, i16 16385, i16 16385, i16 17501, i16 16385, i16 16385, i16 16385, i16 17504, i16 16385, i16 16385, i16 16385, i16 17507, i16 16385, i16 16385, i16 16385, i16 17510, i16 16385, i16 16385, i16 16385, i16 17513, i16 16385, i16 16385, i16 16385, i16 17516, i16 16385, i16 16385, i16 16385, i16 17519, i16 16385, i16 16385, i16 16385, i16 17522, i16 16385, i16 16385, i16 16385, i16 17525, i16 16385, i16 16385, i16 16385, i16 17528, i16 16385, i16 16385, i16 16385, i16 17531, i16 16385, i16 16385, i16 16385, i16 17534, i16 16385, i16 16385, i16 16385, i16 17537, i16 16385, i16 16385, i16 16385, i16 17540, i16 16385, i16 16385, i16 16385, i16 17543, i16 16385, i16 16385, i16 16385, i16 17546, i16 16385, i16 16385, i16 16385, i16 17549, i16 16385, i16 16385, i16 16385, i16 17552, i16 16385, i16 16385, i16 16385, i16 17555, i16 16385, i16 16385, i16 16385, i16 17558, i16 16385, i16 16385, i16 16385, i16 17561, i16 16385, i16 16385, i16 16385, i16 17564, i16 16385, i16 16385, i16 16385, i16 17567, i16 16385, i16 16385, i16 16385, i16 17570, i16 16385, i16 16385, i16 16385, i16 17573, i16 16385, i16 16385, i16 16385, i16 17576, i16 16385, i16 16385, i16 16385, i16 17579, i16 16385, i16 16385, i16 16385, i16 17582, i16 16385, i16 16385, i16 16385, i16 17585, i16 16385, i16 16385, i16 16385, i16 17588, i16 16385, i16 16385, i16 16385, i16 17591, i16 16385, i16 16385, i16 16385, i16 17594, i16 16385, i16 16385, i16 16385, i16 17597, i16 16385, i16 16385, i16 16385, i16 17600, i16 16385, i16 16385, i16 16385, i16 17603, i16 16385, i16 16385, i16 16385, i16 17606, i16 16385, i16 16385, i16 16385, i16 17609, i16 16385, i16 16385, i16 16385, i16 17612, i16 16385, i16 16385, i16 16385, i16 17615, i16 16385, i16 16385, i16 16385, i16 17618, i16 16385, i16 16385, i16 16385, i16 17621, i16 16385, i16 16385, i16 16385, i16 17624, i16 16385, i16 16385, i16 16385, i16 17627, i16 16385, i16 16385, i16 16385, i16 17630, i16 16385, i16 16385, i16 16385, i16 17633, i16 16385, i16 16385, i16 16385, i16 17636, i16 16385, i16 16385, i16 16385, i16 17639, i16 16385, i16 16385, i16 16385, i16 17642, i16 16385, i16 16385, i16 16385, i16 17645, i16 16385, i16 16385, i16 16385, i16 17648, i16 16385, i16 16385, i16 16385, i16 17651, i16 16385, i16 16385, i16 16385, i16 17654, i16 16385, i16 16385, i16 16385, i16 17657, i16 16385, i16 16385, i16 16385, i16 17660, i16 16385, i16 16385, i16 16385, i16 17663, i16 16385, i16 16385, i16 16385, i16 17666, i16 16385, i16 16385, i16 16385, i16 17669, i16 16385, i16 16385, i16 16385, i16 17672, i16 16385, i16 16385, i16 16385, i16 17675, i16 16385, i16 16385, i16 16385, i16 17678, i16 16385, i16 16385, i16 16385, i16 17681, i16 16385, i16 16385, i16 16385, i16 17684, i16 16385, i16 16385, i16 16385, i16 17687, i16 16385, i16 16385, i16 16385, i16 17690, i16 16385, i16 16385, i16 16385, i16 17693, i16 16385, i16 16385, i16 16385, i16 17696, i16 16385, i16 16385, i16 16385, i16 17699, i16 16385, i16 16385, i16 16385, i16 17702, i16 16385, i16 16385, i16 16385, i16 17705, i16 16385, i16 16385, i16 16385, i16 17708, i16 16385, i16 16385, i16 16385, i16 17711, i16 16385, i16 16385, i16 16385, i16 17714, i16 16385, i16 16385, i16 16385, i16 17717, i16 16385, i16 16385, i16 16385, i16 17720, i16 16385, i16 16385, i16 16385, i16 17723, i16 16385, i16 16385, i16 16385, i16 17726, i16 16385, i16 16385, i16 16385, i16 17729, i16 16385, i16 16385, i16 16385, i16 17732, i16 16385, i16 16385, i16 16385, i16 17735, i16 16385, i16 16385, i16 16385, i16 17738, i16 16385, i16 16385, i16 16385, i16 17741, i16 16385, i16 16385, i16 16385, i16 17744, i16 16385, i16 16385, i16 16385, i16 17747, i16 16385, i16 16385, i16 16385, i16 17750, i16 16385, i16 16385, i16 16385, i16 17753, i16 16385, i16 16385, i16 16385, i16 17756, i16 16385, i16 16385, i16 16385, i16 17759, i16 16385, i16 16385, i16 16385, i16 17762, i16 16385, i16 16385, i16 16385, i16 17765, i16 16385, i16 16385, i16 16385, i16 17768, i16 16385, i16 16385, i16 16385, i16 17771, i16 16385, i16 16385, i16 16385, i16 17774, i16 16385, i16 16385, i16 16385, i16 17777, i16 16385, i16 16385, i16 16385, i16 17780, i16 16385, i16 16385, i16 16385, i16 17783, i16 16385, i16 16385, i16 16385, i16 17786, i16 16385, i16 16385, i16 16385, i16 17789, i16 16385, i16 16385, i16 16385, i16 17792, i16 16385, i16 16385, i16 16385, i16 17795, i16 16385, i16 16385, i16 16385, i16 17798, i16 16385, i16 16385, i16 16385, i16 17801, i16 16385, i16 16385, i16 16385, i16 17804, i16 16385, i16 16385, i16 16385, i16 17807, i16 16385, i16 16385, i16 16385, i16 17810, i16 16385, i16 16385, i16 16385, i16 17813, i16 16385, i16 16385, i16 16385, i16 17816, i16 16385, i16 16385, i16 16385, i16 17819, i16 16385, i16 16385, i16 16385, i16 17822, i16 16385, i16 16385, i16 16385, i16 17825, i16 16385, i16 16385, i16 16385, i16 17828, i16 16385, i16 16385, i16 16385, i16 17831, i16 16385, i16 16385, i16 16385, i16 17834, i16 16385, i16 16385, i16 16385, i16 17837, i16 16385, i16 16385, i16 16385, i16 17840, i16 16385, i16 16385, i16 16385, i16 17843, i16 16385, i16 16385, i16 16385, i16 17846, i16 16385, i16 16385, i16 16385, i16 17849, i16 16385, i16 16385, i16 16385, i16 17852, i16 16385, i16 16385, i16 16385, i16 17855, i16 16385, i16 16385, i16 16385, i16 17858, i16 16385, i16 16385, i16 16385, i16 17861, i16 16385, i16 16385, i16 16385, i16 17864, i16 16385, i16 16385, i16 16385, i16 17867, i16 16385, i16 16385, i16 16385, i16 17870, i16 16385, i16 16385, i16 16385, i16 17873, i16 16385, i16 16385, i16 16385, i16 17876, i16 16385, i16 16385, i16 16385, i16 17879, i16 16385, i16 16385, i16 16385, i16 17882, i16 16385, i16 16385, i16 16385, i16 17885, i16 16385, i16 16385, i16 16385, i16 17888, i16 16385, i16 16385, i16 16385, i16 17891, i16 16385, i16 16385, i16 16385, i16 17894, i16 16385, i16 16385, i16 16385, i16 17897, i16 16385, i16 16385, i16 16385, i16 17900, i16 16385, i16 16385, i16 16385, i16 17903, i16 16385, i16 16385, i16 16385, i16 17906, i16 16385, i16 16385, i16 16385, i16 17909, i16 16385, i16 16385, i16 16385, i16 17912, i16 16385, i16 16385, i16 16385, i16 17915, i16 16385, i16 16385, i16 16385, i16 17918, i16 16385, i16 16385, i16 16385, i16 17921, i16 16385, i16 16385, i16 16385, i16 17924, i16 16385, i16 16385, i16 16385, i16 17927, i16 16385, i16 16385, i16 16385, i16 17930, i16 16385, i16 16385, i16 16385, i16 17933, i16 16385, i16 16385, i16 16385, i16 17936, i16 16385, i16 16385, i16 16385, i16 17939, i16 16385, i16 16385, i16 16385, i16 17942, i16 16385, i16 16385, i16 16385, i16 17945, i16 16385, i16 16385, i16 16385, i16 17948, i16 16385, i16 16385, i16 16385, i16 17951, i16 16385, i16 16385, i16 16385, i16 16779, i16 16385, i16 16385, i16 16389, i16 32767, i16 16384, i16 16384, i16 16384, i16 17284, i16 17285, i16 0, i16 895, i16 895, i16 0, i16 17273, i16 17273, i16 0, i16 16434, i16 16428, i16 0, i16 16393, i16 16393, i16 0, i16 97, i16 905, i16 0, i16 14, i16 14, i16 0, i16 3, i16 3, i16 0, i16 4, i16 3, i16 0, i16 5, i16 3, i16 0, i16 6, i16 3, i16 0, i16 16425, i16 16428, i16 0, i16 16433, i16 17283, i16 0, i16 16437, i16 16437, i16 0, i16 16481, i16 17289, i16 0, i16 16398, i16 16398, i16 0, i16 91, i16 906, i16 0, i16 14, i16 13, i16 0, i16 3, i16 4, i16 0, i16 4, i16 4, i16 0, i16 14, i16 890, i16 0, i16 14, i16 892, i16 0, i16 16488, i16 16488, i16 0, i16 17279, i16 17279, i16 0, i16 16488, i16 16492, i16 0, i16 16492, i16 16492, i16 0, i16 17797, i16 17797, i16 0, i16 16393, i16 17601, i16 0, i16 16393, i16 17600, i16 0, i16 16393, i16 17273, i16 0, i16 17273, i16 16393, i16 0, i16 17273, i16 17601, i16 0, i16 17273, i16 17600, i16 0, i16 17798, i16 17798, i16 0, i16 17799, i16 17799, i16 0, i16 16393, i16 17796, i16 0, i16 16393, i16 17795, i16 0, i16 16393, i16 17794, i16 0, i16 16393, i16 17793, i16 0, i16 17273, i16 17796, i16 0, i16 17273, i16 17795, i16 0, i16 17273, i16 17794, i16 0, i16 17273, i16 17793, i16 0, i16 17800, i16 17800, i16 0, i16 17801, i16 17801, i16 0, i16 17802, i16 17802, i16 0, i16 17804, i16 17804, i16 0, i16 17805, i16 17805, i16 0, i16 17807, i16 17807, i16 0, i16 16475, i16 17934, i16 0, i16 16387, i16 16388, i16 0, i16 16388, i16 16388, i16 0, i16 16475, i16 17289, i16 0, i16 16398, i16 17274, i16 0, i16 16398, i16 17276, i16 0, i16 16475, i16 17290, i16 0, i16 16458, i16 17935, i16 17290, i16 16475, i16 0, i16 17279, i16 17279, i16 17279, i16 17279, i16 0, i16 16389, i16 16390, i16 16388, i16 16387, i16 0, i16 17296, i16 17302, i16 0, i16 17329, i16 17279, i16 0, i16 17296, i16 17303, i16 0, i16 17311, i16 17334, i16 0, i16 17314, i16 17334, i16 0, i16 17193, i16 17193, i16 0, i16 2, i16 2, i16 0, i16 17200, i16 17200, i16 0, i16 17193, i16 18178, i16 0, i16 17201, i16 17201, i16 0, i16 17193, i16 17285, i16 0, i16 17202, i16 17202, i16 0, i16 17193, i16 17193, i16 18178, i16 0, i16 2, i16 2, i16 2, i16 0, i16 17203, i16 17203, i16 17203, i16 0, i16 17193, i16 17193, i16 17285, i16 0, i16 17204, i16 17204, i16 17204, i16 0, i16 18178, i16 17267, i16 0, i16 881, i16 881, i16 0, i16 16385, i16 16385, i16 0, i16 18080, i16 18080, i16 0, i16 17408, i16 17427, i16 0, i16 17410, i16 17410, i16 0, i16 17408, i16 17408, i16 0, i16 18080, i16 17425, i16 0, i16 17426, i16 17426, i16 0, i16 17851, i16 17736, i16 0, i16 1467, i16 1352, i16 0, i16 17901, i16 17901, i16 0, i16 1467, i16 1353, i16 0, i16 17902, i16 17902, i16 0, i16 17851, i16 17738, i16 0, i16 1467, i16 1354, i16 0, i16 17903, i16 17903, i16 0, i16 1467, i16 1355, i16 0, i16 17904, i16 17904, i16 0, i16 17851, i16 17741, i16 0, i16 1467, i16 1357, i16 0, i16 17905, i16 17905, i16 0, i16 1467, i16 1358, i16 0, i16 17906, i16 17906, i16 0, i16 17851, i16 17745, i16 0, i16 1467, i16 1362, i16 0, i16 17907, i16 17907, i16 0, i16 1467, i16 1363, i16 0, i16 17908, i16 17908, i16 0, i16 17065, i16 17148, i16 0, i16 1770, i16 1770, i16 0, i16 1772, i16 1772, i16 0, i16 1774, i16 1774, i16 0, i16 17311, i16 17205, i16 0, i16 1814, i16 1814, i16 0, i16 17325, i16 17148, i16 0, i16 1830, i16 1830, i16 0, i16 17427, i16 17220, i16 0, i16 1840, i16 1840, i16 0, i16 16470, i16 16579, i16 0, i16 16530, i16 16530, i16 0, i16 16532, i16 16532, i16 0, i16 16534, i16 16534, i16 0, i16 16630, i16 16630, i16 0, i16 16389, i16 16389, i16 0, i16 16637, i16 16637, i16 0, i16 16630, i16 16681, i16 0, i16 16638, i16 16638, i16 0, i16 16630, i16 16739, i16 0, i16 16639, i16 16639, i16 0, i16 16630, i16 16630, i16 16681, i16 0, i16 16389, i16 16389, i16 16389, i16 0, i16 16640, i16 16640, i16 16640, i16 0, i16 16630, i16 16630, i16 16739, i16 0, i16 16641, i16 16641, i16 16641, i16 0, i16 16681, i16 16718, i16 0, i16 16716, i16 16716, i16 0, i16 16769, i16 16642, i16 0, i16 16789, i16 16789, i16 0, i16 16791, i16 16579, i16 0, i16 16859, i16 16859, i16 0, i16 16892, i16 16917, i16 0, i16 16894, i16 16894, i16 0, i16 16892, i16 16892, i16 0, i16 16388, i16 16915, i16 0, i16 16916, i16 16916, i16 0, i16 16917, i16 16661, i16 0, i16 16934, i16 16934, i16 0, i16 18043, i16 17928, i16 0, i16 18093, i16 18093, i16 0, i16 18043, i16 17929, i16 0, i16 18094, i16 18094, i16 0, i16 18043, i16 17930, i16 0, i16 18095, i16 18095, i16 0, i16 18043, i16 17931, i16 0, i16 18096, i16 18096, i16 0, i16 18043, i16 17933, i16 0, i16 18097, i16 18097, i16 0, i16 18043, i16 17934, i16 0, i16 18098, i16 18098, i16 0, i16 18043, i16 17937, i16 0, i16 18043, i16 17938, i16 0, i16 18099, i16 18099, i16 0, i16 18043, i16 17939, i16 0, i16 18100, i16 18100, i16 0, i16 16510, i16 16788, i16 0, i16 16510, i16 16789, i16 0, i16 16510, i16 16790, i16 0, i16 16510, i16 16791, i16 0, i16 16510, i16 16792, i16 0, i16 16516, i16 16788, i16 0, i16 16516, i16 16789, i16 0, i16 16516, i16 16790, i16 0, i16 16516, i16 16791, i16 0, i16 16516, i16 16792, i16 0, i16 16522, i16 16788, i16 0, i16 16522, i16 16789, i16 0, i16 16522, i16 16790, i16 0, i16 16522, i16 16791, i16 0, i16 16522, i16 16792, i16 0, i16 16528, i16 16788, i16 0, i16 16528, i16 16789, i16 0, i16 16528, i16 16790, i16 0, i16 16528, i16 16791, i16 0, i16 16528, i16 16792, i16 0, i16 16534, i16 16788, i16 0, i16 16534, i16 16789, i16 0, i16 16534, i16 16790, i16 0, i16 16534, i16 16791, i16 0, i16 16534, i16 16792, i16 0, i16 16540, i16 16788, i16 0, i16 16540, i16 16789, i16 0, i16 16540, i16 16790, i16 0, i16 16540, i16 16791, i16 0, i16 16540, i16 16792, i16 0, i16 16546, i16 16788, i16 0, i16 16546, i16 16789, i16 0, i16 16546, i16 16790, i16 0, i16 16546, i16 16791, i16 0, i16 16546, i16 16792, i16 0, i16 16552, i16 16788, i16 0, i16 16552, i16 16789, i16 0, i16 16552, i16 16790, i16 0, i16 16552, i16 16791, i16 0, i16 16552, i16 16792, i16 0, i16 16558, i16 16788, i16 0, i16 16558, i16 16789, i16 0, i16 16558, i16 16790, i16 0, i16 16558, i16 16791, i16 0, i16 16558, i16 16792, i16 0, i16 16564, i16 16788, i16 0, i16 16564, i16 16789, i16 0, i16 16564, i16 16790, i16 0, i16 16564, i16 16791, i16 0, i16 16564, i16 16792, i16 0, i16 16570, i16 16788, i16 0, i16 16570, i16 16789, i16 0, i16 16570, i16 16790, i16 0, i16 16570, i16 16791, i16 0, i16 16570, i16 16792, i16 0, i16 16576, i16 16788, i16 0, i16 16576, i16 16789, i16 0, i16 16576, i16 16790, i16 0, i16 16576, i16 16791, i16 0, i16 16576, i16 16792, i16 0, i16 16582, i16 16788, i16 0, i16 16582, i16 16789, i16 0, i16 16582, i16 16790, i16 0, i16 16582, i16 16791, i16 0, i16 16582, i16 16792, i16 0, i16 16588, i16 16788, i16 0, i16 16588, i16 16789, i16 0, i16 16588, i16 16790, i16 0, i16 16588, i16 16791, i16 0, i16 16588, i16 16792, i16 0, i16 16594, i16 16788, i16 0, i16 16594, i16 16789, i16 0, i16 16594, i16 16790, i16 0, i16 16594, i16 16791, i16 0, i16 16594, i16 16792, i16 0, i16 16600, i16 16788, i16 0, i16 16600, i16 16789, i16 0, i16 16600, i16 16790, i16 0, i16 16600, i16 16791, i16 0, i16 16600, i16 16792, i16 0, i16 16606, i16 16788, i16 0, i16 16606, i16 16789, i16 0, i16 16606, i16 16790, i16 0, i16 16606, i16 16791, i16 0, i16 16606, i16 16792, i16 0, i16 16612, i16 16788, i16 0, i16 16612, i16 16789, i16 0, i16 16612, i16 16790, i16 0, i16 16612, i16 16791, i16 0, i16 16612, i16 16792, i16 0, i16 16618, i16 16788, i16 0, i16 16618, i16 16789, i16 0, i16 16618, i16 16790, i16 0, i16 16618, i16 16791, i16 0, i16 16618, i16 16792, i16 0, i16 16624, i16 16788, i16 0, i16 16624, i16 16789, i16 0, i16 16624, i16 16790, i16 0, i16 16624, i16 16791, i16 0, i16 16624, i16 16792, i16 0, i16 16630, i16 16788, i16 0, i16 16630, i16 16789, i16 0, i16 16630, i16 16790, i16 0, i16 16630, i16 16791, i16 0, i16 16630, i16 16792, i16 0, i16 16636, i16 16788, i16 0, i16 16636, i16 16789, i16 0, i16 16636, i16 16790, i16 0, i16 16636, i16 16791, i16 0, i16 16636, i16 16792, i16 0, i16 16642, i16 16788, i16 0, i16 16642, i16 16789, i16 0, i16 16642, i16 16790, i16 0, i16 16642, i16 16791, i16 0, i16 16642, i16 16792, i16 0, i16 16648, i16 16788, i16 0, i16 16648, i16 16789, i16 0, i16 16648, i16 16790, i16 0, i16 16648, i16 16791, i16 0, i16 16648, i16 16792, i16 0, i16 16654, i16 16788, i16 0, i16 16654, i16 16789, i16 0, i16 16654, i16 16790, i16 0, i16 16654, i16 16791, i16 0, i16 16654, i16 16792, i16 0, i16 16660, i16 16788, i16 0, i16 16660, i16 16789, i16 0, i16 16660, i16 16790, i16 0, i16 16660, i16 16791, i16 0, i16 16660, i16 16792, i16 0, i16 16666, i16 16788, i16 0, i16 16666, i16 16789, i16 0, i16 16666, i16 16790, i16 0, i16 16666, i16 16791, i16 0, i16 16666, i16 16792, i16 0, i16 16672, i16 16788, i16 0, i16 16672, i16 16789, i16 0, i16 16672, i16 16790, i16 0, i16 16672, i16 16791, i16 0, i16 16672, i16 16792, i16 0, i16 16678, i16 16788, i16 0, i16 16678, i16 16789, i16 0, i16 16678, i16 16790, i16 0, i16 16678, i16 16791, i16 0, i16 16678, i16 16792, i16 0, i16 16684, i16 16788, i16 0, i16 16684, i16 16789, i16 0, i16 16684, i16 16790, i16 0, i16 16684, i16 16791, i16 0, i16 16684, i16 16792, i16 0, i16 16690, i16 16788, i16 0, i16 16690, i16 16789, i16 0, i16 16690, i16 16790, i16 0, i16 16690, i16 16791, i16 0, i16 16690, i16 16792, i16 0, i16 16696, i16 16788, i16 0, i16 16696, i16 16789, i16 0, i16 16696, i16 16790, i16 0, i16 16696, i16 16791, i16 0, i16 16696, i16 16792, i16 0, i16 16702, i16 16788, i16 0, i16 16702, i16 16789, i16 0, i16 16702, i16 16790, i16 0, i16 16702, i16 16791, i16 0, i16 16702, i16 16792, i16 0, i16 16708, i16 16788, i16 0, i16 16708, i16 16789, i16 0, i16 16708, i16 16790, i16 0, i16 16708, i16 16791, i16 0, i16 16708, i16 16792, i16 0, i16 16714, i16 16788, i16 0, i16 16714, i16 16789, i16 0, i16 16714, i16 16790, i16 0, i16 16714, i16 16791, i16 0, i16 16714, i16 16792, i16 0, i16 16721, i16 16788, i16 0, i16 16721, i16 16789, i16 0, i16 16721, i16 16790, i16 0, i16 16721, i16 16791, i16 0, i16 16721, i16 16792, i16 0, i16 16728, i16 16788, i16 0, i16 16728, i16 16789, i16 0, i16 16728, i16 16790, i16 0, i16 16728, i16 16791, i16 0, i16 16728, i16 16792, i16 0, i16 16734, i16 16788, i16 0, i16 16734, i16 16789, i16 0, i16 16734, i16 16790, i16 0, i16 16734, i16 16791, i16 0, i16 16734, i16 16792, i16 0, i16 16740, i16 16788, i16 0, i16 16740, i16 16789, i16 0, i16 16740, i16 16790, i16 0, i16 16740, i16 16791, i16 0, i16 16740, i16 16792, i16 0, i16 16746, i16 16788, i16 0, i16 16746, i16 16789, i16 0, i16 16746, i16 16790, i16 0, i16 16746, i16 16791, i16 0, i16 16746, i16 16792, i16 0, i16 16752, i16 16788, i16 0, i16 16752, i16 16789, i16 0, i16 16752, i16 16790, i16 0, i16 16752, i16 16791, i16 0, i16 16752, i16 16792, i16 0, i16 16758, i16 16788, i16 0, i16 16758, i16 16789, i16 0, i16 16758, i16 16790, i16 0, i16 16758, i16 16791, i16 0, i16 16758, i16 16792, i16 0, i16 16764, i16 16788, i16 0, i16 16764, i16 16789, i16 0, i16 16764, i16 16790, i16 0, i16 16764, i16 16791, i16 0, i16 16764, i16 16792, i16 0, i16 16770, i16 16788, i16 0, i16 16770, i16 16789, i16 0, i16 16770, i16 16790, i16 0, i16 16770, i16 16791, i16 0, i16 16770, i16 16792, i16 0, i16 14, i16 17, i16 8, i16 13, i16 15, i16 6, i16 12, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5, i16 10, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9, i16 7, i16 11, i16 0, i16 0, i16 16, i16 3, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4, i16 0, i16 1, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 15, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 168, i16 173, i16 100, i16 105, i16 110, i16 116, i16 125, i16 131, i16 140, i16 144, i16 146, i16 148, i16 151, i16 154, i16 160, i16 163, i16 120, i16 124, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 26, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 82, i16 114, i16 5, i16 119, i16 0, i16 32, i16 0, i16 136, i16 111, i16 6, i16 17, i16 8, i16 167, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 16, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 36, i16 0, i16 37, i16 0, i16 0, i16 0, i16 0, i16 0, i16 38, i16 0, i16 0, i16 0, i16 0, i16 39, i16 0, i16 40, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 55, i16 123, i16 129, i16 134, i16 139, i16 0, i16 52, i16 99, i16 104, i16 109, i16 115, i16 0, i16 0, i16 0, i16 0, i16 0, i16 77, i16 85, i16 89, i16 0, i16 170, i16 174, i16 178, i16 180, i16 147, i16 0, i16 0, i16 0, i16 0, i16 0, i16 35, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 25, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 61, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 80, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 58, i16 0, i16 0, i16 12, i16 0, i16 0, i16 0, i16 28, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 159, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 143, i16 145, i16 0, i16 0, i16 0, i16 0, i16 172, i16 177, i16 0, i16 0, i16 0, i16 0, i16 47, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 41, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 191, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 13, i16 0, i16 24, i16 51, i16 87, i16 93, i16 102, i16 70, i16 142, i16 175, i16 0, i16 76, i16 90, i16 72, i16 49, i16 4, i16 92, i16 53, i16 96, i16 0, i16 54, i16 0, i16 30, i16 97, i16 18, i16 31, i16 0, i16 0, i16 0, i16 79, i16 91, i16 10, i16 45, i16 0, i16 0, i16 0, i16 158, i16 33, i16 155, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9, i16 184, i16 81, i16 189, i16 196, i16 64, i16 94, i16 75, i16 88, i16 98, i16 66, i16 46, i16 63, i16 187, i16 84, i16 0, i16 50, i16 95, i16 101, i16 106, i16 150, i16 162, i16 133, i16 138, i16 169, i16 192, i16 126, i16 83, i16 183, i16 153, i16 135, i16 179, i16 112, i16 117, i16 122, i16 128, i16 132, i16 185, i16 194, i16 156, i16 195, i16 186, i16 200, i16 67, i16 176, i16 149, i16 181, i16 188, i16 57, i16 141, i16 121, i16 127, i16 130, i16 137, i16 103, i16 107, i16 113, i16 118, i16 56, i16 108, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 152, i16 43, i16 34, i16 7, i16 44, i16 171, i16 0, i16 0, i16 0, i16 165, i16 42, i16 166, i16 0, i16 0, i16 59, i16 19, i16 197, i16 199, i16 22, i16 20, i16 23, i16 21, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 48, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 27, i16 0, i16 0, i16 0, i16 182, i16 198, i16 60, i16 190, i16 62, i16 193, i16 65, i16 157, i16 161, i16 164, i16 69, i16 68, i16 71, i16 78, i16 74, i16 86, i16 0, i16 2, i16 29, i16 3, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 14, i16 73, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1292, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1197, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1199, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 557, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 597, i16 598, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 691, i16 692, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1211, i16 1210, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 701, i16 702, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 731, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 223, i16 230, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 245, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1198, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 268, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1298, i16 1296, i16 1297, i16 1295, i16 0, i16 0, i16 0, i16 0, i16 1569, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1570, i16 1571, i16 1572, i16 1573, i16 0, i16 0, i16 0, i16 0, i16 1106, i16 1107, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1661, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 246, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 247, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 250, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 251, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 253, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 269, i16 0, i16 0, i16 0, i16 270, i16 0, i16 0, i16 0, i16 376, i16 378, i16 379, i16 380, i16 0, i16 0, i16 0, i16 263, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 266, i16 267, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1290, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 581, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 584, i16 583, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 609, i16 610, i16 611, i16 612, i16 0, i16 0, i16 0, i16 0, i16 152, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1207, i16 1206, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 189, i16 0, i16 0, i16 0, i16 244, i16 0, i16 0, i16 0, i16 1224, i16 0, i16 0, i16 1223, i16 0, i16 0, i16 0, i16 0, i16 1226, i16 0, i16 0, i16 1225, i16 0, i16 0, i16 0, i16 0, i16 1228, i16 0, i16 0, i16 1227, i16 0, i16 0, i16 0, i16 0, i16 1230, i16 0, i16 0, i16 1229, i16 0, i16 0, i16 0, i16 0, i16 1232, i16 0, i16 0, i16 1231, i16 0, i16 0, i16 0, i16 0, i16 1234, i16 0, i16 0, i16 1233, i16 0, i16 0, i16 0, i16 0, i16 1241, i16 1240, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1243, i16 1242, i16 1205, i16 1204, i16 0, i16 0, i16 0, i16 0, i16 1247, i16 1246, i16 0, i16 0, i16 1249, i16 1248, i16 0, i16 0, i16 226, i16 228, i16 225, i16 0, i16 0, i16 0, i16 0, i16 0, i16 760, i16 0, i16 734, i16 0, i16 748, i16 0, i16 0, i16 260, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 264, i16 265, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 554, i16 0, i16 0, i16 0, i16 0, i16 552, i16 0, i16 0, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 0, i16 1069, i16 1070, i16 1071, i16 1079, i16 1072, i16 1081, i16 1657, i16 0, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 0, i16 564, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1076, i16 0, i16 0, i16 0, i16 0, i16 0, i16 577, i16 0, i16 1367, i16 1368, i16 1369, i16 1370, i16 1371, i16 1372, i16 1373, i16 0, i16 1127, i16 1125, i16 1124, i16 1126, i16 1128, i16 1129, i16 1130, i16 0, i16 1142, i16 1140, i16 1139, i16 1141, i16 1143, i16 1144, i16 1145, i16 0, i16 1196, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 256, i16 257, i16 255, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1024, i16 984, i16 489, i16 409, i16 0, i16 0, i16 487, i16 407, i16 258, i16 261, i16 259, i16 262, i16 0, i16 0, i16 0, i16 0, i16 1027, i16 987, i16 492, i16 412, i16 1028, i16 988, i16 1029, i16 989, i16 773, i16 0, i16 775, i16 825, i16 771, i16 822, i16 749, i16 800, i16 774, i16 776, i16 746, i16 766, i16 779, i16 786, i16 790, i16 794, i16 1032, i16 992, i16 500, i16 420, i16 1033, i16 993, i16 503, i16 424, i16 781, i16 792, i16 768, i16 769, i16 767, i16 821, i16 808, i16 0, i16 1037, i16 535, i16 534, i16 536, i16 1043, i16 545, i16 550, i16 1002, i16 526, i16 449, i16 529, i16 452, i16 1039, i16 999, i16 1041, i16 1001, i16 1038, i16 998, i16 521, i16 444, i16 525, i16 448, i16 527, i16 450, i16 271, i16 575, i16 576, i16 1075, i16 578, i16 579, i16 580, i16 1077, i16 1040, i16 1000, i16 1042, i16 1003, i16 531, i16 454, i16 532, i16 455, i16 1555, i16 1557, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1300, i16 1299, i16 0, i16 0, i16 0, i16 0, i16 1293, i16 1291, i16 1045, i16 1006, i16 539, i16 462, i16 542, i16 465, i16 546, i16 470, i16 791, i16 793, i16 798, i16 801, i16 802, i16 803, i16 804, i16 805, i16 1049, i16 1051, i16 1053, i16 1055, i16 1057, i16 1059, i16 1061, i16 1063, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 538, i16 461, i16 540, i16 463, i16 1044, i16 1005, i16 537, i16 460, i16 1050, i16 1052, i16 1054, i16 1056, i16 1058, i16 1060, i16 1062, i16 1064, i16 1306, i16 1305, i16 1308, i16 1307, i16 0, i16 0, i16 0, i16 0, i16 796, i16 730, i16 732, i16 733, i16 735, i16 737, i16 739, i16 741, i16 1565, i16 1566, i16 0, i16 0, i16 0, i16 0, i16 589, i16 590, i16 543, i16 544, i16 1637, i16 181, i16 213, i16 182, i16 224, i16 151, i16 799, i16 809, i16 813, i16 797, i16 0, i16 0, i16 0, i16 0, i16 290, i16 291, i16 0, i16 292, i16 293, i16 294, i16 295, i16 296, i16 547, i16 549, i16 472, i16 1048, i16 1009, i16 1047, i16 1008, i16 0, i16 551, i16 1074, i16 553, i16 555, i16 556, i16 558, i16 559, i16 560, i16 807, i16 758, i16 811, i16 810, i16 814, i16 816, i16 820, i16 823, i16 297, i16 298, i16 299, i16 300, i16 0, i16 0, i16 0, i16 0, i16 1065, i16 1067, i16 272, i16 273, i16 274, i16 275, i16 0, i16 0, i16 1066, i16 1068, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 561, i16 1567, i16 1568, i16 0, i16 0, i16 0, i16 0, i16 0, i16 562, i16 563, i16 565, i16 567, i16 568, i16 569, i16 570, i16 571, i16 819, i16 778, i16 780, i16 782, i16 783, i16 785, i16 787, i16 789, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 566, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1078, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 824, i16 826, i16 795, i16 818, i16 806, i16 817, i16 827, i16 0, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1108, i16 1109, i16 1088, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 572, i16 573, i16 574, i16 0, i16 0, i16 0, i16 0, i16 0, i16 828, i16 829, i16 830, i16 831, i16 832, i16 833, i16 834, i16 835, i16 1344, i16 1345, i16 1346, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1089, i16 695, i16 696, i16 697, i16 698, i16 1090, i16 1091, i16 585, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 836, i16 837, i16 839, i16 840, i16 841, i16 842, i16 843, i16 844, i16 838, i16 1131, i16 1132, i16 1134, i16 1133, i16 0, i16 1135, i16 1136, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 586, i16 587, i16 588, i16 1092, i16 1093, i16 593, i16 594, i16 595, i16 1100, i16 1101, i16 675, i16 676, i16 677, i16 678, i16 0, i16 0, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 845, i16 846, i16 847, i16 848, i16 849, i16 850, i16 851, i16 852, i16 591, i16 592, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 0, i16 596, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 853, i16 854, i16 855, i16 1137, i16 856, i16 1138, i16 857, i16 858, i16 599, i16 600, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 1117, i16 1118, i16 859, i16 860, i16 861, i16 862, i16 863, i16 864, i16 865, i16 866, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 1374, i16 1375, i16 1376, i16 1377, i16 1378, i16 1379, i16 1380, i16 1381, i16 1119, i16 1120, i16 1121, i16 1122, i16 1123, i16 0, i16 0, i16 0, i16 608, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 1632, i16 523, i16 1633, i16 1634, i16 1635, i16 533, i16 541, i16 1636, i16 867, i16 868, i16 869, i16 870, i16 871, i16 872, i16 873, i16 874, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 1382, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 875, i16 876, i16 877, i16 878, i16 879, i16 880, i16 881, i16 882, i16 620, i16 621, i16 622, i16 625, i16 626, i16 627, i16 628, i16 631, i16 365, i16 160, i16 192, i16 194, i16 191, i16 195, i16 241, i16 185, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 1390, i16 1391, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1646, i16 446, i16 1647, i16 1648, i16 1649, i16 456, i16 464, i16 1650, i16 623, i16 624, i16 633, i16 634, i16 629, i16 630, i16 1098, i16 1099, i16 883, i16 884, i16 885, i16 1153, i16 886, i16 1154, i16 887, i16 888, i16 374, i16 375, i16 158, i16 157, i16 234, i16 236, i16 238, i16 161, i16 1398, i16 1399, i16 1400, i16 1401, i16 1402, i16 1403, i16 1404, i16 0, i16 632, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 1146, i16 1147, i16 1148, i16 1150, i16 1149, i16 0, i16 1151, i16 1152, i16 1658, i16 1659, i16 1660, i16 954, i16 957, i16 959, i16 961, i16 964, i16 383, i16 0, i16 0, i16 0, i16 387, i16 388, i16 389, i16 390, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 391, i16 392, i16 219, i16 217, i16 0, i16 178, i16 180, i16 0, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 1163, i16 1164, i16 1165, i16 0, i16 0, i16 0, i16 0, i16 0, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 403, i16 402, i16 404, i16 405, i16 415, i16 414, i16 991, i16 416, i16 150, i16 159, i16 172, i16 215, i16 193, i16 216, i16 214, i16 169, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 1179, i16 1178, i16 1201, i16 1200, i16 0, i16 0, i16 0, i16 0, i16 413, i16 1642, i16 421, i16 422, i16 1643, i16 431, i16 1644, i16 1645, i16 674, i16 1094, i16 1095, i16 1096, i16 1097, i16 679, i16 680, i16 681, i16 164, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 167, i16 384, i16 438, i16 176, i16 377, i16 381, i16 382, i16 162, i16 423, i16 505, i16 426, i16 508, i16 429, i16 506, i16 427, i16 509, i16 168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 170, i16 171, i16 0, i16 0, i16 173, i16 174, i16 0, i16 0, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 430, i16 507, i16 428, i16 512, i16 434, i16 514, i16 436, i16 513, i16 177, i16 179, i16 212, i16 218, i16 156, i16 155, i16 165, i16 163, i16 690, i16 1102, i16 1103, i16 1104, i16 1105, i16 693, i16 694, i16 1110, i16 435, i16 433, i16 1035, i16 995, i16 520, i16 443, i16 0, i16 0, i16 1203, i16 1202, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1209, i16 1208, i16 0, i16 0, i16 0, i16 0, i16 1245, i16 1244, i16 699, i16 700, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 955, i16 956, i16 958, i16 0, i16 960, i16 0, i16 962, i16 963, i16 190, i16 474, i16 477, i16 1624, i16 1625, i16 481, i16 1626, i16 1627, i16 703, i16 1652, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 1215, i16 1214, i16 1213, i16 1212, i16 0, i16 0, i16 0, i16 0, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 965, i16 966, i16 968, i16 969, i16 277, i16 278, i16 280, i16 281, i16 711, i16 712, i16 713, i16 1653, i16 715, i16 716, i16 717, i16 718, i16 967, i16 276, i16 279, i16 1552, i16 1553, i16 1554, i16 0, i16 0, i16 971, i16 970, i16 972, i16 973, i16 974, i16 975, i16 977, i16 978, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 719, i16 720, i16 721, i16 722, i16 1654, i16 724, i16 725, i16 726, i16 466, i16 467, i16 1651, i16 183, i16 240, i16 184, i16 229, i16 332, i16 727, i16 1655, i16 1656, i16 0, i16 0, i16 0, i16 0, i16 0, i16 983, i16 994, i16 440, i16 439, i16 441, i16 442, i16 996, i16 231, i16 476, i16 396, i16 1016, i16 976, i16 475, i16 395, i16 1019, i16 979, i16 222, i16 393, i16 397, i16 1638, i16 1639, i16 401, i16 1640, i16 1641, i16 738, i16 742, i16 745, i16 0, i16 755, i16 0, i16 765, i16 777, i16 227, i16 187, i16 394, i16 175, i16 239, i16 154, i16 188, i16 153, i16 483, i16 482, i16 484, i16 485, i16 495, i16 494, i16 1031, i16 496, i16 740, i16 788, i16 736, i16 784, i16 761, i16 812, i16 763, i16 815, i16 997, i16 458, i16 457, i16 459, i16 1004, i16 468, i16 473, i16 469, i16 743, i16 744, i16 747, i16 750, i16 751, i16 752, i16 753, i16 754, i16 488, i16 408, i16 486, i16 406, i16 1026, i16 986, i16 1025, i16 985, i16 233, i16 0, i16 0, i16 0, i16 235, i16 237, i16 0, i16 0, i16 493, i16 1628, i16 501, i16 502, i16 1629, i16 510, i16 1630, i16 1631, i16 497, i16 417, i16 499, i16 419, i16 0, i16 0, i16 498, i16 418, i16 242, i16 220, i16 385, i16 386, i16 221, i16 243, i16 186, i16 166, i16 1011, i16 1010, i16 1012, i16 1013, i16 1014, i16 1015, i16 1017, i16 1018, i16 756, i16 757, i16 0, i16 759, i16 762, i16 764, i16 770, i16 772, i16 248, i16 0, i16 0, i16 0, i16 252, i16 0, i16 0, i16 0, i16 1020, i16 980, i16 1022, i16 982, i16 1021, i16 981, i16 480, i16 400, i16 254, i16 0, i16 0, i16 0, i16 249, i16 0, i16 0, i16 0, i16 1023, i16 1034, i16 517, i16 516, i16 518, i16 519, i16 1036, i16 232, i16 8, i16 13, i16 9, i16 5, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 14, i16 7, i16 11, i16 3, i16 6, i16 0, i16 0, i16 0, i16 0, i16 10, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 81, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8, i16 42, i16 98, i16 109, i16 122, i16 130, i16 140, i16 151, i16 164, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 35, i16 0, i16 108, i16 0, i16 110, i16 120, i16 125, i16 133, i16 0, i16 0, i16 0, i16 0, i16 15, i16 0, i16 141, i16 148, i16 112, i16 117, i16 160, i16 139, i16 149, i16 57, i16 167, i16 170, i16 174, i16 47, i16 60, i16 61, i16 39, i16 0, i16 0, i16 11, i16 92, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 43, i16 18, i16 0, i16 0, i16 10, i16 12, i16 51, i16 119, i16 93, i16 169, i16 172, i16 96, i16 0, i16 0, i16 28, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 23, i16 9, i16 0, i16 14, i16 66, i16 0, i16 67, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 32, i16 75, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 46, i16 147, i16 152, i16 156, i16 31, i16 0, i16 0, i16 157, i16 161, i16 0, i16 36, i16 0, i16 0, i16 0, i16 0, i16 0, i16 37, i16 22, i16 176, i16 0, i16 0, i16 38, i16 181, i16 63, i16 70, i16 48, i16 17, i16 0, i16 73, i16 74, i16 0, i16 0, i16 52, i16 102, i16 135, i16 155, i16 114, i16 171, i16 101, i16 173, i16 111, i16 121, i16 94, i16 127, i16 142, i16 103, i16 143, i16 104, i16 175, i16 180, i16 89, i16 62, i16 124, i16 71, i16 80, i16 83, i16 20, i16 49, i16 166, i16 95, i16 7, i16 106, i16 165, i16 26, i16 55, i16 153, i16 179, i16 154, i16 182, i16 56, i16 40, i16 41, i16 77, i16 158, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 79, i16 86, i16 0, i16 76, i16 82, i16 88, i16 0, i16 59, i16 69, i16 85, i16 99, i16 116, i16 131, i16 58, i16 68, i16 84, i16 97, i16 115, i16 128, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 78, i16 50, i16 87, i16 27, i16 33, i16 34, i16 123, i16 0, i16 44, i16 16, i16 24, i16 0, i16 25, i16 0, i16 3, i16 0, i16 45, i16 105, i16 107, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 126, i16 54, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 144, i16 177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 13, i16 21, i16 19, i16 0, i16 0, i16 53, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 29, i16 30, i16 129, i16 137, i16 146, i16 138, i16 134, i16 0, i16 0, i16 159, i16 178, i16 90, i16 118, i16 132, i16 163, i16 64, i16 72, i16 91, i16 113, i16 162, i16 145, i16 65, i16 150, i16 168, i16 100, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 136, i16 5, i16 6, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 592, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 161, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 172, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 167, i16 168, i16 169, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 170, i16 0, i16 171, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 714, i16 715, i16 864, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1505, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 524, i16 0, i16 525, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 581, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1348, i16 0, i16 0, i16 0, i16 1349, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1923, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 526, i16 527, i16 528, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 427, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 343, i16 344, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 290, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 594, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 742, i16 743, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1924, i16 146, i16 0, i16 1925, i16 0, i16 1926, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 232, i16 233, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 234, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 520, i16 521, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 522, i16 523, i16 0, i16 0, i16 0, i16 0, i16 0, i16 345, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 823, i16 824, i16 0, i16 0, i16 0, i16 0, i16 1762, i16 1763, i16 1772, i16 1773, i16 1824, i16 1825, i16 0, i16 0, i16 0, i16 0, i16 323, i16 324, i16 325, i16 326, i16 0, i16 0, i16 0, i16 0, i16 327, i16 0, i16 328, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1371, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 153, i16 154, i16 0, i16 0, i16 0, i16 0, i16 155, i16 0, i16 0, i16 0, i16 156, i16 0, i16 0, i16 0, i16 0, i16 0, i16 157, i16 158, i16 1148, i16 159, i16 1158, i16 1164, i16 1170, i16 0, i16 1187, i16 0, i16 1200, i16 1213, i16 0, i16 0, i16 0, i16 0, i16 1701, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 546, i16 0, i16 0, i16 0, i16 547, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 329, i16 0, i16 330, i16 0, i16 0, i16 331, i16 0, i16 0, i16 0, i16 332, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 333, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 358, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 225, i16 226, i16 0, i16 0, i16 227, i16 0, i16 228, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 229, i16 0, i16 230, i16 0, i16 0, i16 0, i16 231, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 1733, i16 1735, i16 1737, i16 1739, i16 0, i16 0, i16 0, i16 517, i16 518, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 519, i16 0, i16 0, i16 1310, i16 1311, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1312, i16 1313, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1314, i16 1315, i16 1316, i16 1317, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1353, i16 0, i16 1355, i16 0, i16 0, i16 0, i16 1358, i16 0, i16 0, i16 0, i16 0, i16 1362, i16 1363, i16 1366, i16 0, i16 0, i16 593, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 339, i16 340, i16 0, i16 0, i16 341, i16 342, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 348, i16 0, i16 0, i16 0, i16 0, i16 0, i16 349, i16 350, i16 351, i16 352, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 173, i16 174, i16 175, i16 176, i16 177, i16 0, i16 0, i16 180, i16 181, i16 0, i16 0, i16 0, i16 178, i16 179, i16 0, i16 0, i16 499, i16 500, i16 0, i16 0, i16 0, i16 501, i16 0, i16 0, i16 502, i16 0, i16 503, i16 504, i16 0, i16 0, i16 0, i16 282, i16 0, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 811, i16 812, i16 0, i16 0, i16 0, i16 0, i16 0, i16 894, i16 895, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 304, i16 305, i16 306, i16 307, i16 0, i16 0, i16 308, i16 309, i16 1700, i16 310, i16 0, i16 0, i16 311, i16 312, i16 313, i16 0, i16 1351, i16 1352, i16 1354, i16 1356, i16 1357, i16 1359, i16 1361, i16 1365, i16 1372, i16 1375, i16 1380, i16 1385, i16 1390, i16 1395, i16 1400, i16 0, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 75, i16 78, i16 76, i16 79, i16 77, i16 604, i16 605, i16 0, i16 658, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 672, i16 673, i16 674, i16 675, i16 676, i16 1364, i16 677, i16 678, i16 679, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1234, i16 1230, i16 1224, i16 1236, i16 1288, i16 1244, i16 1246, i16 1248, i16 1258, i16 1264, i16 1276, i16 1254, i16 0, i16 1280, i16 1292, i16 0, i16 1235, i16 1231, i16 1225, i16 1237, i16 1289, i16 1245, i16 1247, i16 1249, i16 1259, i16 1265, i16 1277, i16 1255, i16 0, i16 1281, i16 1293, i16 0, i16 476, i16 477, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1525, i16 1527, i16 1529, i16 1531, i16 1533, i16 1535, i16 1538, i16 1540, i16 1542, i16 1544, i16 1547, i16 1549, i16 1551, i16 1553, i16 1555, i16 0, i16 1526, i16 1528, i16 1530, i16 1532, i16 1534, i16 1536, i16 1539, i16 1541, i16 1543, i16 1545, i16 1548, i16 1550, i16 1552, i16 1554, i16 1556, i16 0, i16 505, i16 0, i16 0, i16 506, i16 0, i16 507, i16 508, i16 0, i16 0, i16 509, i16 510, i16 0, i16 0, i16 511, i16 512, i16 513, i16 514, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 515, i16 516, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1796, i16 1795, i16 881, i16 882, i16 885, i16 886, i16 1801, i16 1802, i16 1803, i16 903, i16 904, i16 1806, i16 1807, i16 905, i16 906, i16 907, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 1033, i16 1034, i16 1035, i16 1036, i16 1027, i16 1028, i16 1031, i16 1032, i16 1037, i16 1038, i16 1047, i16 1048, i16 1049, i16 1050, i16 1057, i16 1058, i16 778, i16 779, i16 780, i16 781, i16 782, i16 783, i16 784, i16 785, i16 870, i16 871, i16 876, i16 877, i16 972, i16 973, i16 966, i16 967, i16 529, i16 0, i16 530, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 0, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 1557, i16 1560, i16 1562, i16 1564, i16 1566, i16 1568, i16 1570, i16 1572, i16 1574, i16 1576, i16 1578, i16 1580, i16 1582, i16 1584, i16 1586, i16 1588, i16 1558, i16 1561, i16 1563, i16 1565, i16 1567, i16 1569, i16 1571, i16 1573, i16 1575, i16 1577, i16 1579, i16 1581, i16 1583, i16 1585, i16 1587, i16 1589, i16 279, i16 280, i16 281, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1818, i16 1819, i16 1830, i16 1831, i16 1007, i16 1008, i16 1832, i16 1833, i16 1013, i16 1014, i16 1834, i16 1835, i16 1029, i16 1030, i16 1838, i16 1839, i16 1055, i16 1056, i16 1098, i16 1099, i16 1090, i16 1091, i16 1100, i16 1101, i16 1088, i16 1089, i16 1096, i16 1097, i16 1852, i16 1853, i16 1854, i16 1855, i16 291, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 292, i16 0, i16 293, i16 0, i16 294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 548, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 0, i16 0, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 1318, i16 1319, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 295, i16 0, i16 296, i16 297, i16 0, i16 298, i16 299, i16 300, i16 301, i16 0, i16 0, i16 302, i16 0, i16 0, i16 0, i16 303, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 1836, i16 1837, i16 1053, i16 1054, i16 1045, i16 1046, i16 1051, i16 1052, i16 1086, i16 1087, i16 1846, i16 1847, i16 1066, i16 1067, i16 1074, i16 1075, i16 816, i16 817, i16 818, i16 819, i16 820, i16 1042, i16 1026, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 0, i16 0, i16 0, i16 0, i16 571, i16 0, i16 0, i16 0, i16 1844, i16 1845, i16 1094, i16 1095, i16 1862, i16 1863, i16 1126, i16 1127, i16 1128, i16 1877, i16 1878, i16 1881, i16 1882, i16 1879, i16 1880, i16 1040, i16 1590, i16 1592, i16 1594, i16 1596, i16 1598, i16 1600, i16 1602, i16 1604, i16 1606, i16 1608, i16 1610, i16 1612, i16 1614, i16 1616, i16 1618, i16 1620, i16 1591, i16 1593, i16 1595, i16 1597, i16 1599, i16 1601, i16 1603, i16 1605, i16 1607, i16 1609, i16 1611, i16 1613, i16 1615, i16 1617, i16 1619, i16 1621, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 314, i16 0, i16 0, i16 0, i16 0, i16 315, i16 0, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 0, i16 322, i16 0, i16 572, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 829, i16 830, i16 1790, i16 1791, i16 840, i16 841, i16 848, i16 849, i16 872, i16 873, i16 1799, i16 1800, i16 858, i16 859, i16 878, i16 879, i16 833, i16 834, i16 844, i16 845, i16 846, i16 847, i16 842, i16 843, i16 850, i16 851, i16 838, i16 839, i16 874, i16 875, i16 868, i16 869, i16 1860, i16 1861, i16 1858, i16 1859, i16 1864, i16 1865, i16 1866, i16 1867, i16 1868, i16 1869, i16 1121, i16 1122, i16 1119, i16 1120, i16 1134, i16 1135, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1350, i16 1452, i16 1457, i16 1462, i16 1467, i16 1472, i16 1477, i16 1482, i16 1487, i16 1490, i16 1493, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 74, i16 87, i16 120, i16 122, i16 119, i16 123, i16 143, i16 114, i16 94, i16 116, i16 683, i16 104, i16 141, i16 82, i16 117, i16 81, i16 1103, i16 0, i16 0, i16 0, i16 0, i16 1142, i16 1143, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1360, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1370, i16 0, i16 1622, i16 1624, i16 1626, i16 1628, i16 1630, i16 1632, i16 1634, i16 1636, i16 1638, i16 1640, i16 1642, i16 1644, i16 1646, i16 1648, i16 1650, i16 1652, i16 1367, i16 1368, i16 1369, i16 1373, i16 1374, i16 1376, i16 1377, i16 1378, i16 1379, i16 1381, i16 1382, i16 1383, i16 1384, i16 1386, i16 1387, i16 1388, i16 1623, i16 1625, i16 1627, i16 1629, i16 1631, i16 1633, i16 1635, i16 1637, i16 1639, i16 1641, i16 1643, i16 1645, i16 1647, i16 1649, i16 1651, i16 1653, i16 1112, i16 1113, i16 1124, i16 1125, i16 1136, i16 1137, i16 1130, i16 1131, i16 1132, i16 1133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 92, i16 1953, i16 730, i16 1954, i16 1955, i16 765, i16 810, i16 822, i16 837, i16 853, i16 884, i16 889, i16 1956, i16 919, i16 1957, i16 942, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 1887, i16 1810, i16 944, i16 1816, i16 952, i16 1820, i16 1828, i16 134, i16 1822, i16 1062, i16 1842, i16 1070, i16 1848, i16 1872, i16 1840, i16 1041, i16 1888, i16 1811, i16 945, i16 1817, i16 953, i16 1821, i16 1829, i16 133, i16 1823, i16 1063, i16 1843, i16 1071, i16 1849, i16 1873, i16 1841, i16 1129, i16 353, i16 0, i16 354, i16 0, i16 0, i16 355, i16 0, i16 0, i16 1889, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 865, i16 964, i16 965, i16 1072, i16 1073, i16 1076, i16 1077, i16 1078, i16 1079, i16 1082, i16 1083, i16 1080, i16 1081, i16 0, i16 718, i16 719, i16 356, i16 357, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 359, i16 360, i16 361, i16 362, i16 0, i16 0, i16 363, i16 364, i16 365, i16 366, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1389, i16 1391, i16 1392, i16 1393, i16 1394, i16 1396, i16 1397, i16 1398, i16 1399, i16 1401, i16 1402, i16 1404, i16 1405, i16 1407, i16 1408, i16 1410, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 1905, i16 445, i16 446, i16 1906, i16 447, i16 1907, i16 448, i16 449, i16 1908, i16 450, i16 451, i16 1909, i16 452, i16 453, i16 454, i16 1910, i16 1138, i16 1139, i16 1140, i16 1141, i16 1144, i16 1145, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 118, i16 1948, i16 729, i16 1949, i16 1950, i16 764, i16 809, i16 821, i16 836, i16 1794, i16 883, i16 888, i16 1951, i16 918, i16 1952, i16 941, i16 1654, i16 1656, i16 1658, i16 1660, i16 1662, i16 1664, i16 1666, i16 1668, i16 1670, i16 1672, i16 1674, i16 1676, i16 1678, i16 1680, i16 1682, i16 1684, i16 1655, i16 1657, i16 1659, i16 1661, i16 1663, i16 1665, i16 1667, i16 1669, i16 1671, i16 1673, i16 1675, i16 1677, i16 1679, i16 1681, i16 1683, i16 1685, i16 1911, i16 455, i16 456, i16 1912, i16 457, i16 458, i16 459, i16 1913, i16 1914, i16 460, i16 461, i16 1915, i16 462, i16 463, i16 464, i16 1916, i16 890, i16 891, i16 896, i16 897, i16 898, i16 899, i16 909, i16 910, i16 911, i16 912, i16 915, i16 916, i16 913, i16 914, i16 920, i16 921, i16 1403, i16 1406, i16 1409, i16 1412, i16 1417, i16 1422, i16 1427, i16 1432, i16 1437, i16 1442, i16 1447, i16 0, i16 0, i16 0, i16 0, i16 0, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 1411, i16 1413, i16 1414, i16 1415, i16 1416, i16 1418, i16 1419, i16 1420, i16 1421, i16 1423, i16 1424, i16 1425, i16 1426, i16 1428, i16 1429, i16 1430, i16 135, i16 334, i16 0, i16 0, i16 137, i16 139, i16 0, i16 0, i16 0, i16 0, i16 335, i16 336, i16 0, i16 0, i16 337, i16 338, i16 908, i16 1804, i16 1805, i16 1808, i16 1809, i16 1812, i16 1813, i16 929, i16 930, i16 939, i16 1814, i16 1815, i16 1826, i16 1827, i16 948, i16 949, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 655, i16 656, i16 657, i16 0, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 144, i16 132, i16 1750, i16 1751, i16 91, i16 145, i16 115, i16 96, i16 97, i16 1749, i16 943, i16 105, i16 1734, i16 1736, i16 1738, i16 89, i16 1686, i16 1688, i16 1690, i16 1692, i16 1537, i16 1546, i16 1559, i16 0, i16 0, i16 0, i16 0, i16 577, i16 578, i16 579, i16 580, i16 0, i16 1175, i16 1147, i16 1151, i16 1153, i16 1155, i16 1157, i16 1161, i16 1163, i16 1167, i16 1169, i16 1176, i16 1178, i16 1180, i16 1182, i16 1184, i16 1186, i16 1431, i16 1433, i16 1434, i16 1435, i16 1436, i16 1438, i16 1439, i16 1440, i16 1441, i16 1443, i16 1444, i16 1445, i16 1446, i16 1448, i16 1449, i16 1450, i16 1687, i16 1689, i16 1691, i16 1693, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 573, i16 574, i16 575, i16 576, i16 0, i16 922, i16 923, i16 924, i16 925, i16 931, i16 932, i16 933, i16 934, i16 937, i16 938, i16 935, i16 936, i16 968, i16 969, i16 970, i16 971, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 0, i16 0, i16 0, i16 0, i16 160, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1697, i16 86, i16 101, i16 127, i16 121, i16 128, i16 126, i16 98, i16 106, i16 108, i16 124, i16 130, i16 83, i16 1698, i16 90, i16 1699, i16 162, i16 163, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 164, i16 165, i16 166, i16 1190, i16 1192, i16 0, i16 1194, i16 1197, i16 1199, i16 1206, i16 1208, i16 1210, i16 1212, i16 1171, i16 1201, i16 1150, i16 1160, i16 1166, i16 1173, i16 1191, i16 1193, i16 1196, i16 1195, i16 1198, i16 1202, i16 1207, i16 1209, i16 1211, i16 1214, i16 1174, i16 1204, i16 1189, i16 1203, i16 1215, i16 0, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 1717, i16 1718, i16 1451, i16 1453, i16 1454, i16 1455, i16 1456, i16 1458, i16 1459, i16 1460, i16 1461, i16 1463, i16 1464, i16 1465, i16 1466, i16 1468, i16 1469, i16 1470, i16 428, i16 1890, i16 429, i16 1891, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 1892, i16 1893, i16 1894, i16 684, i16 1758, i16 702, i16 722, i16 1764, i16 1760, i16 1770, i16 1780, i16 766, i16 1784, i16 774, i16 788, i16 854, i16 1797, i16 862, i16 866, i16 685, i16 1759, i16 703, i16 723, i16 1765, i16 1761, i16 1771, i16 1781, i16 767, i16 1785, i16 775, i16 789, i16 855, i16 1798, i16 863, i16 867, i16 686, i16 687, i16 700, i16 701, i16 768, i16 769, i16 772, i16 773, i16 856, i16 857, i16 860, i16 861, i16 946, i16 947, i16 950, i16 951, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 798, i16 799, i16 790, i16 791, i16 792, i16 793, i16 776, i16 777, i16 1205, i16 1149, i16 1152, i16 1154, i16 1156, i16 1159, i16 1162, i16 1165, i16 1168, i16 1172, i16 1177, i16 1179, i16 1181, i16 1183, i16 1185, i16 1188, i16 182, i16 0, i16 0, i16 183, i16 184, i16 185, i16 186, i16 187, i16 99, i16 100, i16 188, i16 189, i16 102, i16 103, i16 190, i16 191, i16 439, i16 1895, i16 1896, i16 1897, i16 440, i16 1898, i16 1899, i16 1900, i16 441, i16 1901, i16 1902, i16 1903, i16 442, i16 1904, i16 443, i16 444, i16 1719, i16 1720, i16 1721, i16 1722, i16 1723, i16 1724, i16 1725, i16 1726, i16 1727, i16 1728, i16 1729, i16 1730, i16 475, i16 0, i16 0, i16 0, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 984, i16 985, i16 986, i16 987, i16 988, i16 989, i16 1471, i16 1473, i16 1474, i16 1475, i16 1476, i16 1478, i16 1479, i16 1480, i16 1481, i16 1483, i16 1484, i16 1485, i16 1486, i16 1488, i16 1489, i16 1491, i16 192, i16 193, i16 1702, i16 0, i16 0, i16 194, i16 195, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1216, i16 1218, i16 1220, i16 1222, i16 1228, i16 1232, i16 1238, i16 1240, i16 1242, i16 1250, i16 1252, i16 1256, i16 1260, i16 1262, i16 1266, i16 1268, i16 1217, i16 1219, i16 1221, i16 1223, i16 1229, i16 1233, i16 1239, i16 1241, i16 1243, i16 1251, i16 1253, i16 1257, i16 1261, i16 1263, i16 1267, i16 1269, i16 1731, i16 1740, i16 1741, i16 1742, i16 1743, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 85, i16 84, i16 136, i16 138, i16 140, i16 88, i16 196, i16 0, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 0, i16 208, i16 0, i16 1732, i16 0, i16 0, i16 0, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 131, i16 129, i16 209, i16 107, i16 109, i16 0, i16 1226, i16 1227, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 716, i16 717, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 746, i16 747, i16 753, i16 754, i16 755, i16 756, i16 761, i16 762, i16 465, i16 466, i16 1917, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 1918, i16 0, i16 0, i16 0, i16 0, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 0, i16 724, i16 725, i16 720, i16 721, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 690, i16 691, i16 980, i16 981, i16 978, i16 979, i16 997, i16 998, i16 999, i16 1000, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1492, i16 1494, i16 1495, i16 1496, i16 1497, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 0, i16 0, i16 0, i16 726, i16 727, i16 1774, i16 1775, i16 831, i16 832, i16 827, i16 828, i16 892, i16 893, i16 974, i16 975, i16 976, i16 977, i16 0, i16 0, i16 982, i16 983, i16 1921, i16 1922, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1102, i16 478, i16 0, i16 0, i16 0, i16 479, i16 0, i16 0, i16 0, i16 480, i16 0, i16 0, i16 0, i16 481, i16 0, i16 0, i16 0, i16 990, i16 991, i16 992, i16 993, i16 1092, i16 1093, i16 1084, i16 1085, i16 1104, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1503, i16 1504, i16 1506, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 482, i16 483, i16 484, i16 485, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 995, i16 1002, i16 1005, i16 1024, i16 1043, i16 1060, i16 1850, i16 1856, i16 1117, i16 1870, i16 1875, i16 110, i16 125, i16 111, i16 93, i16 80, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 996, i16 1003, i16 1006, i16 1025, i16 1044, i16 1061, i16 1851, i16 1857, i16 1118, i16 1871, i16 1876, i16 112, i16 142, i16 113, i16 95, i16 622, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 494, i16 495, i16 496, i16 0, i16 497, i16 498, i16 0, i16 0, i16 1768, i16 1769, i16 688, i16 689, i16 1766, i16 1767, i16 1776, i16 1777, i16 740, i16 741, i16 744, i16 745, i16 1778, i16 1779, i16 751, i16 752, i16 235, i16 0, i16 236, i16 0, i16 0, i16 0, i16 237, i16 0, i16 0, i16 0, i16 0, i16 238, i16 0, i16 0, i16 0, i16 0, i16 1009, i16 1010, i16 1011, i16 1012, i16 1064, i16 1065, i16 1068, i16 1069, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 757, i16 758, i16 759, i16 760, i16 804, i16 805, i16 802, i16 803, i16 806, i16 807, i16 794, i16 795, i16 800, i16 801, i16 813, i16 814, i16 1270, i16 1272, i16 1274, i16 1278, i16 1282, i16 1284, i16 1286, i16 1290, i16 1294, i16 1296, i16 1299, i16 1300, i16 1303, i16 1304, i16 1306, i16 1308, i16 1782, i16 1783, i16 1788, i16 1789, i16 770, i16 771, i16 796, i16 797, i16 1786, i16 1787, i16 786, i16 787, i16 825, i16 826, i16 1792, i16 1793, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 1271, i16 1273, i16 1275, i16 1279, i16 1283, i16 1285, i16 1287, i16 1291, i16 1295, i16 1297, i16 1298, i16 1301, i16 1302, i16 1305, i16 1307, i16 1309, i16 9, i16 11, i16 8, i16 5, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12, i16 7, i16 13, i16 3, i16 6, i16 0, i16 0, i16 0, i16 0, i16 14, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 181, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8, i16 38, i16 76, i16 84, i16 94, i16 104, i16 117, i16 126, i16 135, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 36, i16 0, i16 170, i16 0, i16 171, i16 176, i16 66, i16 74, i16 0, i16 0, i16 0, i16 0, i16 13, i16 0, i16 81, i16 86, i16 49, i16 50, i16 112, i16 82, i16 96, i16 51, i16 118, i16 120, i16 123, i16 40, i16 54, i16 134, i16 41, i16 0, i16 0, i16 11, i16 165, i16 0, i16 0, i16 0, i16 0, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 46, i16 18, i16 0, i16 0, i16 9, i16 12, i16 47, i16 90, i16 67, i16 138, i16 141, i16 71, i16 0, i16 0, i16 26, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 22, i16 10, i16 0, i16 14, i16 142, i16 0, i16 145, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 34, i16 150, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 39, i16 169, i16 98, i16 100, i16 29, i16 0, i16 0, i16 147, i16 110, i16 0, i16 37, i16 0, i16 0, i16 0, i16 0, i16 0, i16 32, i16 21, i16 65, i16 0, i16 0, i16 33, i16 122, i16 129, i16 136, i16 57, i16 17, i16 0, i16 139, i16 140, i16 0, i16 0, i16 55, i16 127, i16 149, i16 128, i16 151, i16 56, i16 44, i16 45, i16 172, i16 131, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 173, i16 179, i16 0, i16 61, i16 175, i16 99, i16 146, i16 180, i16 167, i16 160, i16 168, i16 63, i16 73, i16 97, i16 83, i16 106, i16 52, i16 108, i16 53, i16 132, i16 154, i16 68, i16 93, i16 116, i16 148, i16 70, i16 95, i16 20, i16 62, i16 158, i16 107, i16 7, i16 89, i16 133, i16 25, i16 80, i16 85, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 109, i16 174, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 19, i16 16, i16 0, i16 0, i16 48, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 27, i16 28, i16 103, i16 114, i16 121, i16 115, i16 91, i16 0, i16 0, i16 125, i16 155, i16 72, i16 101, i16 124, i16 157, i16 64, i16 79, i16 119, i16 137, i16 130, i16 111, i16 161, i16 143, i16 163, i16 113, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 92, i16 5, i16 6, i16 3, i16 144, i16 58, i16 152, i16 30, i16 31, i16 35, i16 78, i16 0, i16 42, i16 15, i16 23, i16 0, i16 24, i16 0, i16 4, i16 0, i16 43, i16 69, i16 166, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 153, i16 156, i16 159, i16 0, i16 60, i16 164, i16 178, i16 77, i16 88, i16 105, i16 59, i16 162, i16 177, i16 75, i16 87, i16 102, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 831, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1251, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 842, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 979, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 837, i16 838, i16 839, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 840, i16 0, i16 841, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 121, i16 122, i16 311, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1697, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1539, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1183, i16 0, i16 1184, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1240, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1540, i16 0, i16 0, i16 0, i16 1541, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1058, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1185, i16 1186, i16 1187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 975, i16 976, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 816, i16 811, i16 819, i16 818, i16 800, i16 821, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 929, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1253, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 815, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 167, i16 168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 771, i16 772, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 877, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1179, i16 1180, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1181, i16 1182, i16 0, i16 0, i16 0, i16 0, i16 0, i16 977, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 978, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 260, i16 261, i16 0, i16 0, i16 0, i16 0, i16 125, i16 126, i16 148, i16 149, i16 450, i16 451, i16 0, i16 0, i16 0, i16 0, i16 1563, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 823, i16 824, i16 0, i16 0, i16 0, i16 0, i16 825, i16 0, i16 0, i16 0, i16 826, i16 0, i16 0, i16 0, i16 0, i16 0, i16 827, i16 828, i16 1340, i16 829, i16 1350, i16 1356, i16 1362, i16 0, i16 1379, i16 0, i16 1392, i16 1405, i16 0, i16 0, i16 0, i16 0, i16 946, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 961, i16 962, i16 963, i16 964, i16 0, i16 0, i16 0, i16 0, i16 803, i16 0, i16 965, i16 0, i16 0, i16 0, i16 0, i16 804, i16 0, i16 805, i16 0, i16 0, i16 806, i16 0, i16 0, i16 0, i16 802, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 808, i16 0, i16 876, i16 0, i16 0, i16 0, i16 809, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 878, i16 879, i16 880, i16 881, i16 882, i16 883, i16 884, i16 885, i16 682, i16 684, i16 686, i16 688, i16 0, i16 0, i16 0, i16 0, i16 1205, i16 0, i16 0, i16 0, i16 1206, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 966, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 989, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 767, i16 768, i16 0, i16 0, i16 769, i16 0, i16 770, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1545, i16 0, i16 1547, i16 0, i16 0, i16 0, i16 1550, i16 0, i16 0, i16 0, i16 0, i16 1554, i16 1555, i16 1558, i16 0, i16 0, i16 79, i16 80, i16 81, i16 82, i16 83, i16 0, i16 0, i16 84, i16 85, i16 0, i16 0, i16 0, i16 843, i16 844, i16 0, i16 0, i16 1158, i16 1159, i16 0, i16 0, i16 0, i16 1160, i16 0, i16 0, i16 1161, i16 0, i16 1162, i16 1163, i16 0, i16 0, i16 0, i16 0, i16 1176, i16 1177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1178, i16 0, i16 0, i16 971, i16 972, i16 0, i16 0, i16 973, i16 974, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 980, i16 0, i16 0, i16 0, i16 0, i16 0, i16 981, i16 982, i16 983, i16 984, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1502, i16 1503, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1504, i16 1505, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1506, i16 1507, i16 1508, i16 1509, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1252, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1543, i16 1544, i16 1546, i16 1548, i16 1549, i16 1551, i16 1553, i16 1557, i16 1564, i16 1567, i16 1572, i16 1577, i16 1582, i16 1587, i16 1592, i16 0, i16 1317, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1092, i16 1093, i16 0, i16 1095, i16 0, i16 1097, i16 1098, i16 0, i16 1100, i16 1101, i16 0, i16 1103, i16 1104, i16 1105, i16 0, i16 0, i16 1108, i16 1109, i16 0, i16 1111, i16 1112, i16 1113, i16 0, i16 0, i16 1116, i16 1117, i16 0, i16 1119, i16 1120, i16 1121, i16 0, i16 0, i16 1135, i16 1136, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 391, i16 412, i16 410, i16 420, i16 440, i16 434, i16 791, i16 448, i16 556, i16 554, i16 564, i16 570, i16 646, i16 550, i16 531, i16 0, i16 392, i16 413, i16 411, i16 421, i16 441, i16 435, i16 787, i16 449, i16 557, i16 555, i16 565, i16 571, i16 647, i16 551, i16 653, i16 0, i16 1164, i16 0, i16 0, i16 1165, i16 0, i16 1166, i16 1167, i16 0, i16 0, i16 1168, i16 1169, i16 0, i16 0, i16 1170, i16 1171, i16 0, i16 1426, i16 1422, i16 1416, i16 1428, i16 1480, i16 1436, i16 1438, i16 1440, i16 1450, i16 1456, i16 1468, i16 1446, i16 0, i16 1472, i16 1484, i16 0, i16 1427, i16 1423, i16 1417, i16 1429, i16 1481, i16 1437, i16 1439, i16 1441, i16 1451, i16 1457, i16 1469, i16 1447, i16 0, i16 1473, i16 1485, i16 0, i16 921, i16 0, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 943, i16 735, i16 944, i16 945, i16 0, i16 0, i16 793, i16 947, i16 847, i16 788, i16 0, i16 0, i16 949, i16 950, i16 951, i16 0, i16 1717, i16 1719, i16 1721, i16 1723, i16 1725, i16 1727, i16 1730, i16 1732, i16 1734, i16 1736, i16 1739, i16 1741, i16 1743, i16 1745, i16 1747, i16 0, i16 1718, i16 1720, i16 1722, i16 1724, i16 1726, i16 1728, i16 1731, i16 1733, i16 1735, i16 1737, i16 1740, i16 1742, i16 1744, i16 1746, i16 1748, i16 0, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 707, i16 710, i16 708, i16 711, i16 709, i16 1263, i16 1264, i16 0, i16 248, i16 249, i16 0, i16 0, i16 0, i16 0, i16 0, i16 345, i16 346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 517, i16 518, i16 519, i16 520, i16 513, i16 514, i16 527, i16 528, i16 521, i16 522, i16 537, i16 538, i16 539, i16 540, i16 547, i16 548, i16 773, i16 0, i16 774, i16 0, i16 0, i16 0, i16 775, i16 0, i16 0, i16 0, i16 0, i16 776, i16 0, i16 0, i16 0, i16 0, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 1037, i16 1038, i16 1039, i16 1040, i16 1041, i16 1042, i16 1043, i16 1044, i16 1045, i16 1542, i16 1644, i16 1649, i16 1654, i16 1659, i16 1664, i16 1669, i16 1674, i16 1679, i16 1682, i16 1685, i16 1690, i16 1691, i16 1692, i16 1693, i16 1694, i16 268, i16 269, i16 272, i16 273, i16 281, i16 282, i16 289, i16 290, i16 319, i16 320, i16 329, i16 330, i16 305, i16 306, i16 327, i16 328, i16 780, i16 0, i16 985, i16 0, i16 0, i16 986, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 525, i16 526, i16 543, i16 544, i16 535, i16 536, i16 541, i16 542, i16 584, i16 585, i16 594, i16 595, i16 560, i16 561, i16 568, i16 569, i16 1552, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1562, i16 0, i16 274, i16 275, i16 285, i16 286, i16 287, i16 288, i16 283, i16 284, i16 291, i16 292, i16 279, i16 280, i16 321, i16 322, i16 315, i16 316, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1046, i16 1047, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 0, i16 0, i16 0, i16 0, i16 1814, i16 1816, i16 1818, i16 1820, i16 1822, i16 1824, i16 1826, i16 1828, i16 1830, i16 1832, i16 1834, i16 1836, i16 1838, i16 1840, i16 1842, i16 1844, i16 1559, i16 1560, i16 1561, i16 1565, i16 1566, i16 1568, i16 1569, i16 1570, i16 1571, i16 1573, i16 1574, i16 1575, i16 1576, i16 1578, i16 1579, i16 1580, i16 1815, i16 1817, i16 1819, i16 1821, i16 1823, i16 1825, i16 1827, i16 1829, i16 1831, i16 1833, i16 1835, i16 1837, i16 1839, i16 1841, i16 1843, i16 1845, i16 795, i16 784, i16 0, i16 0, i16 796, i16 797, i16 0, i16 0, i16 0, i16 0, i16 967, i16 968, i16 0, i16 0, i16 969, i16 970, i16 545, i16 546, i16 598, i16 599, i16 588, i16 589, i16 600, i16 601, i16 586, i16 587, i16 596, i16 597, i16 617, i16 618, i16 619, i16 620, i16 1314, i16 1315, i16 1316, i16 0, i16 1318, i16 801, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1059, i16 0, i16 1061, i16 0, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1070, i16 1071, i16 0, i16 0, i16 0, i16 1060, i16 1062, i16 1072, i16 1073, i16 1074, i16 1076, i16 1077, i16 1078, i16 1080, i16 1081, i16 1082, i16 1084, i16 1085, i16 1086, i16 1088, i16 1091, i16 807, i16 794, i16 699, i16 700, i16 814, i16 766, i16 762, i16 822, i16 817, i16 698, i16 409, i16 786, i16 683, i16 685, i16 687, i16 716, i16 1581, i16 1583, i16 1584, i16 1585, i16 1586, i16 1588, i16 1589, i16 1590, i16 1591, i16 1593, i16 1594, i16 1596, i16 1597, i16 1599, i16 1600, i16 1602, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1556, i16 1335, i16 1336, i16 1337, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1075, i16 0, i16 0, i16 0, i16 1079, i16 0, i16 0, i16 0, i16 1083, i16 0, i16 0, i16 0, i16 1087, i16 0, i16 1089, i16 1090, i16 1846, i16 1848, i16 1850, i16 1852, i16 1854, i16 1856, i16 1858, i16 1860, i16 1862, i16 1864, i16 1866, i16 1868, i16 1870, i16 1872, i16 1874, i16 1876, i16 1847, i16 1849, i16 1851, i16 1853, i16 1855, i16 1857, i16 1859, i16 1861, i16 1863, i16 1865, i16 1867, i16 1869, i16 1871, i16 1873, i16 1875, i16 1877, i16 312, i16 432, i16 433, i16 566, i16 567, i16 572, i16 573, i16 574, i16 575, i16 578, i16 579, i16 576, i16 577, i16 0, i16 131, i16 132, i16 1595, i16 1598, i16 1601, i16 1604, i16 1609, i16 1614, i16 1619, i16 1624, i16 1629, i16 1634, i16 1639, i16 0, i16 0, i16 0, i16 0, i16 0, i16 830, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 832, i16 833, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 834, i16 835, i16 836, i16 323, i16 324, i16 332, i16 333, i16 336, i16 337, i16 349, i16 350, i16 354, i16 357, i16 358, i16 367, i16 368, i16 359, i16 360, i16 361, i16 1603, i16 1605, i16 1606, i16 1607, i16 1608, i16 1610, i16 1611, i16 1612, i16 1613, i16 1615, i16 1616, i16 1617, i16 1618, i16 1620, i16 1621, i16 1622, i16 580, i16 581, i16 592, i16 593, i16 628, i16 629, i16 650, i16 651, i16 652, i16 665, i16 666, i16 669, i16 670, i16 678, i16 679, i16 530, i16 1094, i16 1096, i16 1099, i16 1102, i16 1106, i16 1107, i16 1110, i16 1114, i16 1115, i16 1118, i16 1122, i16 1125, i16 1134, i16 0, i16 0, i16 0, i16 77, i16 718, i16 764, i16 756, i16 810, i16 765, i16 739, i16 757, i16 820, i16 761, i16 88, i16 785, i16 781, i16 733, i16 760, i16 812, i16 845, i16 846, i16 948, i16 0, i16 0, i16 848, i16 849, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 78, i16 717, i16 720, i16 798, i16 759, i16 758, i16 755, i16 721, i16 743, i16 745, i16 792, i16 789, i16 713, i16 731, i16 712, i16 741, i16 850, i16 0, i16 851, i16 852, i16 853, i16 854, i16 855, i16 856, i16 857, i16 750, i16 752, i16 858, i16 859, i16 0, i16 813, i16 0, i16 341, i16 342, i16 347, i16 348, i16 351, i16 352, i16 363, i16 364, i16 369, i16 370, i16 373, i16 374, i16 371, i16 372, i16 378, i16 379, i16 1878, i16 1880, i16 1882, i16 1884, i16 1729, i16 1738, i16 1751, i16 0, i16 0, i16 0, i16 0, i16 1236, i16 1237, i16 1238, i16 1239, i16 0, i16 1367, i16 1339, i16 1343, i16 1345, i16 1347, i16 1349, i16 1353, i16 1355, i16 1359, i16 1361, i16 1368, i16 1370, i16 1372, i16 1374, i16 1376, i16 1378, i16 1623, i16 1625, i16 1626, i16 1627, i16 1628, i16 1630, i16 1631, i16 1632, i16 1633, i16 1635, i16 1636, i16 1637, i16 1638, i16 1640, i16 1641, i16 1642, i16 1879, i16 1881, i16 1883, i16 1885, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1232, i16 1233, i16 1234, i16 1235, i16 0, i16 91, i16 89, i16 109, i16 135, i16 129, i16 123, i16 146, i16 171, i16 199, i16 197, i16 207, i16 221, i16 301, i16 299, i16 309, i16 313, i16 603, i16 0, i16 0, i16 0, i16 0, i16 673, i16 674, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 92, i16 90, i16 110, i16 136, i16 130, i16 124, i16 147, i16 172, i16 200, i16 198, i16 208, i16 222, i16 302, i16 300, i16 310, i16 314, i16 93, i16 94, i16 107, i16 108, i16 201, i16 202, i16 205, i16 206, i16 303, i16 304, i16 307, i16 308, i16 414, i16 415, i16 418, i16 419, i16 861, i16 862, i16 863, i16 864, i16 865, i16 866, i16 867, i16 868, i16 869, i16 870, i16 871, i16 872, i16 873, i16 874, i16 875, i16 0, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 231, i16 232, i16 223, i16 224, i16 225, i16 226, i16 209, i16 210, i16 1123, i16 1124, i16 0, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1132, i16 1133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 612, i16 613, i16 648, i16 649, i16 660, i16 661, i16 654, i16 655, i16 656, i16 657, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1382, i16 1384, i16 0, i16 1386, i16 1389, i16 1391, i16 1398, i16 1400, i16 1402, i16 1404, i16 1363, i16 1393, i16 1342, i16 1352, i16 1358, i16 1365, i16 1383, i16 1385, i16 1388, i16 1387, i16 1390, i16 1394, i16 1399, i16 1401, i16 1403, i16 1406, i16 1366, i16 1396, i16 1381, i16 1395, i16 1407, i16 0, i16 362, i16 365, i16 366, i16 387, i16 388, i16 397, i16 398, i16 389, i16 390, i16 403, i16 405, i16 406, i16 456, i16 457, i16 416, i16 417, i16 1643, i16 1645, i16 1646, i16 1647, i16 1648, i16 1650, i16 1651, i16 1652, i16 1653, i16 1655, i16 1656, i16 1657, i16 1658, i16 1660, i16 1661, i16 1662, i16 1137, i16 0, i16 0, i16 0, i16 1138, i16 0, i16 0, i16 0, i16 1139, i16 0, i16 0, i16 0, i16 1140, i16 0, i16 0, i16 0, i16 626, i16 627, i16 624, i16 625, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 641, i16 642, i16 639, i16 640, i16 658, i16 659, i16 1141, i16 1142, i16 1143, i16 1144, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1397, i16 1341, i16 1344, i16 1346, i16 1348, i16 1351, i16 1354, i16 1357, i16 1360, i16 1364, i16 1369, i16 1371, i16 1373, i16 1375, i16 1377, i16 1380, i16 886, i16 887, i16 888, i16 889, i16 890, i16 891, i16 892, i16 893, i16 894, i16 895, i16 896, i16 897, i16 898, i16 899, i16 900, i16 901, i16 1145, i16 1146, i16 1147, i16 1148, i16 1149, i16 1150, i16 1151, i16 1152, i16 1153, i16 1154, i16 1155, i16 0, i16 1156, i16 1157, i16 0, i16 0, i16 380, i16 381, i16 382, i16 383, i16 393, i16 394, i16 395, i16 396, i16 401, i16 402, i16 399, i16 400, i16 442, i16 443, i16 444, i16 445, i16 127, i16 128, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 173, i16 174, i16 182, i16 183, i16 184, i16 185, i16 192, i16 193, i16 1663, i16 1665, i16 1666, i16 1667, i16 1668, i16 1670, i16 1671, i16 1672, i16 1673, i16 1675, i16 1676, i16 1677, i16 1678, i16 1680, i16 1681, i16 1683, i16 1408, i16 1410, i16 1412, i16 1414, i16 1420, i16 1424, i16 1430, i16 1432, i16 1434, i16 1442, i16 1444, i16 1448, i16 1452, i16 1454, i16 1458, i16 1460, i16 1409, i16 1411, i16 1413, i16 1415, i16 1421, i16 1425, i16 1431, i16 1433, i16 1435, i16 1443, i16 1445, i16 1449, i16 1453, i16 1455, i16 1459, i16 1461, i16 902, i16 903, i16 904, i16 905, i16 906, i16 907, i16 908, i16 909, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 137, i16 138, i16 133, i16 134, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 97, i16 98, i16 1418, i16 1419, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 141, i16 142, i16 95, i16 96, i16 139, i16 140, i16 163, i16 164, i16 165, i16 166, i16 169, i16 170, i16 175, i16 176, i16 180, i16 181, i16 143, i16 144, i16 150, i16 151, i16 270, i16 271, i16 266, i16 267, i16 343, i16 344, i16 452, i16 453, i16 454, i16 455, i16 0, i16 0, i16 1172, i16 1173, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1174, i16 1175, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1684, i16 1686, i16 1687, i16 1688, i16 1689, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 0, i16 0, i16 0, i16 918, i16 919, i16 920, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 667, i16 668, i16 671, i16 672, i16 675, i16 676, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1695, i16 1696, i16 1698, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 930, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 931, i16 0, i16 932, i16 0, i16 933, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1699, i16 1700, i16 1701, i16 1702, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1188, i16 0, i16 1189, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 934, i16 0, i16 935, i16 936, i16 0, i16 937, i16 938, i16 939, i16 940, i16 0, i16 0, i16 941, i16 0, i16 0, i16 0, i16 942, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 0, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 680, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 719, i16 714, i16 749, i16 778, i16 751, i16 715, i16 681, i16 0, i16 0, i16 0, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 790, i16 732, i16 860, i16 744, i16 746, i16 0, i16 436, i16 437, i16 475, i16 476, i16 489, i16 490, i16 499, i16 500, i16 505, i16 506, i16 511, i16 512, i16 515, i16 516, i16 523, i16 524, i16 1462, i16 1464, i16 1466, i16 1470, i16 1474, i16 1476, i16 1478, i16 1482, i16 1486, i16 1488, i16 1491, i16 1492, i16 1495, i16 1496, i16 1498, i16 1500, i16 1207, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1463, i16 1465, i16 1467, i16 1471, i16 1475, i16 1477, i16 1479, i16 1483, i16 1487, i16 1489, i16 1490, i16 1493, i16 1494, i16 1497, i16 1499, i16 1501, i16 952, i16 0, i16 0, i16 0, i16 0, i16 953, i16 0, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 0, i16 960, i16 0, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 0, i16 0, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 186, i16 187, i16 237, i16 238, i16 203, i16 204, i16 229, i16 230, i16 235, i16 236, i16 219, i16 220, i16 264, i16 265, i16 262, i16 263, i16 188, i16 189, i16 190, i16 191, i16 241, i16 242, i16 239, i16 240, i16 243, i16 244, i16 227, i16 228, i16 233, i16 234, i16 250, i16 251, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 0, i16 0, i16 0, i16 0, i16 1230, i16 0, i16 0, i16 0, i16 460, i16 461, i16 458, i16 459, i16 479, i16 480, i16 481, i16 482, i16 495, i16 496, i16 497, i16 498, i16 501, i16 502, i16 503, i16 504, i16 462, i16 463, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 602, i16 1231, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 722, i16 87, i16 153, i16 1888, i16 179, i16 196, i16 247, i16 259, i16 278, i16 298, i16 335, i16 340, i16 356, i16 377, i16 386, i16 408, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 317, i16 318, i16 325, i16 326, i16 446, i16 447, i16 438, i16 439, i16 1749, i16 1752, i16 1754, i16 1756, i16 1758, i16 1760, i16 1762, i16 1764, i16 1766, i16 1768, i16 1770, i16 1772, i16 1774, i16 1776, i16 1778, i16 1780, i16 470, i16 471, i16 472, i16 473, i16 590, i16 591, i16 582, i16 583, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 1750, i16 1753, i16 1755, i16 1757, i16 1759, i16 1761, i16 1763, i16 1765, i16 1767, i16 1769, i16 1771, i16 1773, i16 1775, i16 1777, i16 1779, i16 1781, i16 1241, i16 1242, i16 1243, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 987, i16 988, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 477, i16 484, i16 487, i16 508, i16 533, i16 552, i16 615, i16 622, i16 637, i16 644, i16 663, i16 747, i16 742, i16 748, i16 779, i16 777, i16 478, i16 485, i16 488, i16 509, i16 534, i16 553, i16 616, i16 623, i16 638, i16 645, i16 664, i16 753, i16 740, i16 754, i16 799, i16 1281, i16 734, i16 0, i16 0, i16 736, i16 737, i16 738, i16 782, i16 783, i16 729, i16 730, i16 723, i16 728, i16 726, i16 727, i16 724, i16 725, i16 990, i16 991, i16 992, i16 993, i16 0, i16 0, i16 994, i16 995, i16 996, i16 997, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 998, i16 999, i16 1000, i16 1001, i16 1002, i16 1003, i16 1004, i16 1005, i16 1006, i16 1007, i16 1008, i16 1009, i16 1010, i16 1011, i16 1012, i16 1013, i16 1510, i16 1511, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 491, i16 492, i16 493, i16 494, i16 558, i16 559, i16 562, i16 563, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1265, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1014, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1023, i16 1024, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1782, i16 1784, i16 1786, i16 1788, i16 1790, i16 1792, i16 1794, i16 1796, i16 1798, i16 1800, i16 1802, i16 1804, i16 1806, i16 1808, i16 1810, i16 1812, i16 1783, i16 1785, i16 1787, i16 1789, i16 1791, i16 1793, i16 1795, i16 1797, i16 1799, i16 1801, i16 1803, i16 1805, i16 1807, i16 1809, i16 1811, i16 1813, i16 1528, i16 1529, i16 1530, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 0, i16 0, i16 0, i16 0, i16 0, i16 763, i16 86, i16 152, i16 1887, i16 178, i16 195, i16 246, i16 258, i16 277, i16 297, i16 334, i16 339, i16 355, i16 376, i16 385, i16 407, i16 253, i16 254, i16 255, i16 256, i16 257, i16 532, i16 510, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 3, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 5, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 134, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 136, i16 0, i16 0, i16 0, i16 137, i16 0, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 1, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 12, i16 14, i16 16, i16 18, i16 20, i16 22, i16 24, i16 26, i16 28, i16 30, i16 32, i16 34, i16 36, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 13, i16 15, i16 17, i16 19, i16 21, i16 23, i16 25, i16 27, i16 29, i16 31, i16 33, i16 35, i16 37, i16 39, i16 41, i16 43, i16 45, i16 47, i16 49, i16 51, i16 53, i16 55, i16 57, i16 59, i16 61, i16 63, i16 92, i16 93, i16 94, i16 95, i16 202, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 96, i16 0, i16 0, i16 0, i16 133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 135, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 203, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 5, i16 6, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 4, i16 3, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 126, i16 132, i16 138, i16 144, i16 150, i16 156, i16 162, i16 168, i16 174, i16 180, i16 186, i16 192, i16 198, i16 204, i16 210, i16 216, i16 222, i16 228, i16 234, i16 240, i16 246, i16 252, i16 258, i16 264, i16 270, i16 276, i16 282, i16 288, i16 294, i16 300, i16 306, i16 7, i16 13, i16 23, i16 39, i16 32, i16 40, i16 38, i16 22, i16 24, i16 29, i16 36, i16 41, i16 10, i16 9, i16 16, i16 15, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 12, i16 11, i16 42, i16 43, i16 44, i16 14, i16 19, i16 75, i16 77, i16 79, i16 81, i16 83, i16 85, i16 87, i16 89, i16 91, i16 93, i16 95, i16 97, i16 99, i16 101, i16 103, i16 105, i16 107, i16 109, i16 111, i16 113, i16 115, i16 117, i16 119, i16 121, i16 123, i16 125, i16 26, i16 45, i16 27, i16 21, i16 0, i16 30, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 25, i16 37, i16 28, i16 20, i16 8, i16 312, i16 318, i16 324, i16 330, i16 336, i16 337, i16 343, i16 344, i16 350, i16 356, i16 362, i16 368, i16 374, i16 380, i16 386, i16 17, i16 393, i16 394, i16 395, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 47, i16 0, i16 0, i16 0, i16 0, i16 31, i16 410, i16 411, i16 412, i16 413, i16 414, i16 396, i16 18, i16 49, i16 50, i16 51, i16 52, i16 53, i16 48, i16 392, i16 46, i16 33, i16 55, i16 57, i16 59, i16 61, i16 63, i16 65, i16 67, i16 69, i16 71, i16 73, i16 34, i16 35, i16 0, i16 0, i16 0, i16 0, i16 32, i16 3, i16 45, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7, i16 37, i16 2, i16 12, i16 0, i16 0, i16 0, i16 0, i16 27, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 25, i16 33, i16 28, i16 44, i16 11, i16 14, i16 29, i16 40, i16 23, i16 9, i16 20, i16 10, i16 38, i16 22, i16 42, i16 31, i16 49, i16 36, i16 43, i16 16, i16 15, i16 26, i16 21, i16 35, i16 17, i16 18, i16 13, i16 47, i16 24, i16 6, i16 34, i16 4, i16 39, i16 19, i16 8, i16 41, i16 5, i16 48, i16 50, i16 46, i16 30, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 266, i16 373, i16 661, i16 236, i16 595, i16 0, i16 0, i16 94, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 615, i16 647, i16 136, i16 0, i16 0, i16 390, i16 36, i16 15, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 31, i16 0, i16 0, i16 0, i16 0, i16 0, i16 60, i16 455, i16 499, i16 0, i16 0, i16 4, i16 259, i16 192, i16 133, i16 445, i16 669, i16 550, i16 172, i16 0, i16 0, i16 62, i16 153, i16 389, i16 409, i16 145, i16 1, i16 180, i16 570, i16 258, i16 261, i16 414, i16 610, i16 140, i16 566, i16 280, i16 150, i16 468, i16 333, i16 655, i16 176, i16 402, i16 260, i16 173, i16 607, i16 281, i16 293, i16 306, i16 319, i16 267, i16 168, i16 368, i16 382, i16 456, i16 249, i16 437, i16 500, i16 95, i16 14, i16 465, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 68, i16 129, i16 0, i16 0, i16 12, i16 0, i16 9, i16 0, i16 533, i16 84, i16 587, i16 606, i16 447, i16 652, i16 668, i16 291, i16 318, i16 459, i16 61, i16 659, i16 395, i16 195, i16 202, i16 186, i16 30, i16 590, i16 617, i16 422, i16 209, i16 535, i16 137, i16 485, i16 511, i16 222, i16 165, i16 337, i16 355, i16 371, i16 385, i16 190, i16 35, i16 627, i16 98, i16 660, i16 85, i16 278, i16 244, i16 376, i16 391, i16 101, i16 69, i16 377, i16 185, i16 401, i16 205, i16 453, i16 38, i16 24, i16 331, i16 352, i16 644, i16 649, i16 662, i16 398, i16 673, i16 454, i16 287, i16 152, i16 223, i16 307, i16 294, i16 419, i16 39, i16 0, i16 357, i16 22, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 296, i16 160, i16 363, i16 342, i16 360, i16 378, i16 42, i16 415, i16 434, i16 206, i16 431, i16 13, i16 490, i16 462, i16 521, i16 486, i16 304, i16 593, i16 525, i16 253, i16 622, i16 645, i16 234, i16 269, i16 104, i16 279, i16 63, i16 425, i16 199, i16 78, i16 174, i16 72, i16 569, i16 295, i16 620, i16 161, i16 340, i16 658, i16 273, i16 680, i16 289, i16 404, i16 361, i16 359, i16 372, i16 423, i16 73, i16 417, i16 315, i16 132, i16 356, i16 362, i16 381, i16 412, i16 26, i16 594, i16 87, i16 471, i16 497, i16 601, i16 227, i16 118, i16 542, i16 557, i16 317, i16 353, i16 265, i16 182, i16 188, i16 0, i16 0, i16 0, i16 0, i16 5, i16 74, i16 544, i16 448, i16 211, i16 475, i16 575, i16 599, i16 524, i16 545, i16 552, i16 239, i16 157, i16 66, i16 585, i16 103, i16 614, i16 48, i16 632, i16 687, i16 282, i16 308, i16 329, i16 604, i16 514, i16 183, i16 537, i16 530, i16 326, i16 177, i16 226, i16 380, i16 406, i16 76, i16 204, i16 208, i16 215, i16 584, i16 247, i16 605, i16 428, i16 679, i16 634, i16 637, i16 37, i16 138, i16 316, i16 196, i16 34, i16 230, i16 44, i16 286, i16 676, i16 312, i16 603, i16 609, i16 549, i16 513, i16 310, i16 325, i16 346, i16 77, i16 388, i16 128, i16 399, i16 411, i16 418, i16 54, i16 444, i16 299, i16 480, i16 113, i16 197, i16 602, i16 89, i16 158, i16 635, i16 59, i16 670, i16 493, i16 276, i16 105, i16 416, i16 429, i16 334, i16 159, i16 110, i16 370, i16 384, i16 684, i16 248, i16 424, i16 301, i16 156, i16 343, i16 242, i16 214, i16 504, i16 515, i16 556, i16 403, i16 81, i16 364, i16 374, i16 189, i16 413, i16 427, i16 28, i16 207, i16 473, i16 494, i16 672, i16 228, i16 540, i16 283, i16 100, i16 586, i16 323, i16 344, i16 375, i16 155, i16 630, i16 124, i16 626, i16 526, i16 613, i16 665, i16 677, i16 16, i16 305, i16 290, i16 167, i16 339, i16 383, i16 408, i16 122, i16 449, i16 80, i16 467, i16 169, i16 218, i16 200, i16 532, i16 543, i16 561, i16 508, i16 510, i16 553, i16 256, i16 582, i16 653, i16 643, i16 0, i16 241, i16 619, i16 666, i16 147, i16 348, i16 397, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 648, i16 141, i16 82, i16 292, i16 309, i16 608, i16 354, i16 410, i16 386, i16 311, i16 439, i16 321, i16 109, i16 460, i16 481, i16 498, i16 394, i16 495, i16 461, i16 112, i16 19, i16 457, i16 254, i16 489, i16 503, i16 221, i16 512, i16 86, i16 527, i16 139, i16 568, i16 580, i16 143, i16 0, i16 0, i16 7, i16 300, i16 49, i16 57, i16 528, i16 102, i16 430, i16 194, i16 564, i16 17, i16 579, i16 0, i16 0, i16 144, i16 83, i16 531, i16 324, i16 229, i16 154, i16 179, i16 387, i16 53, i16 43, i16 277, i16 201, i16 108, i16 21, i16 625, i16 483, i16 146, i16 347, i16 396, i16 446, i16 505, i16 252, i16 336, i16 477, i16 351, i16 379, i16 322, i16 436, i16 0, i16 0, i16 18, i16 8, i16 420, i16 250, i16 450, i16 472, i16 633, i16 518, i16 529, i16 119, i16 631, i16 268, i16 674, i16 142, i16 686, i16 458, i16 134, i16 328, i16 678, i16 488, i16 509, i16 491, i16 541, i16 657, i16 120, i16 563, i16 675, i16 583, i16 245, i16 91, i16 618, i16 0, i16 0, i16 0, i16 683, i16 516, i16 314, i16 681, i16 193, i16 572, i16 358, i16 443, i16 611, i16 421, i16 646, i16 262, i16 272, i16 107, i16 99, i16 538, i16 685, i16 288, i16 64, i16 70, i16 166, i16 50, i16 25, i16 52, i16 71, i16 392, i16 191, i16 426, i16 433, i16 442, i16 451, i16 441, i16 435, i16 438, i16 11, i16 338, i16 106, i16 40, i16 0, i16 0, i16 10, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 440, i16 466, i16 478, i16 501, i16 523, i16 536, i16 554, i16 522, i16 592, i16 581, i16 233, i16 555, i16 251, i16 476, i16 636, i16 264, i16 203, i16 452, i16 474, i16 365, i16 178, i16 187, i16 539, i16 126, i16 565, i16 578, i16 600, i16 220, i16 2, i16 624, i16 639, i16 654, i16 212, i16 562, i16 407, i16 616, i16 33, i16 650, i16 47, i16 332, i16 271, i16 131, i16 97, i16 298, i16 162, i16 341, i16 65, i16 367, i16 213, i16 149, i16 151, i16 302, i16 163, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3, i16 484, i16 345, i16 67, i16 591, i16 469, i16 487, i16 51, i16 171, i16 303, i16 400, i16 175, i16 58, i16 125, i16 598, i16 79, i16 628, i16 463, i16 651, i16 350, i16 274, i16 470, i16 56, i16 464, i16 520, i16 612, i16 640, i16 238, i16 507, i16 123, i16 127, i16 88, i16 623, i16 642, i16 664, i16 548, i16 547, i16 216, i16 682, i16 492, i16 116, i16 519, i16 240, i16 667, i16 588, i16 597, i16 23, i16 559, i16 641, i16 577, i16 93, i16 270, i16 96, i16 225, i16 534, i16 589, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 482, i16 184, i16 224, i16 393, i16 0, i16 0, i16 0, i16 41, i16 121, i16 75, i16 198, i16 517, i16 90, i16 263, i16 210, i16 671, i16 231, i16 496, i16 45, i16 574, i16 246, i16 235, i16 621, i16 32, i16 479, i16 237, i16 560, i16 284, i16 571, i16 327, i16 217, i16 366, i16 232, i16 432, i16 55, i16 111, i16 0, i16 27, i16 114, i16 219, i16 115, i16 573, i16 546, i16 567, i16 6, i16 46, i16 243, i16 130, i16 502, i16 320, i16 92, i16 117, i16 369, i16 551, i16 558, i16 20, i16 164, i16 576, i16 275, i16 257, i16 297, i16 656, i16 596, i16 506, i16 255, i16 629, i16 638, i16 135, i16 0, i16 29, i16 663, i16 285, i16 313, i16 349, i16 148, i16 181, i16 405, i16 330, i16 335, i16 170, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3171, i16 12478, i16 12479, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2196, i16 6503, i16 11985, i16 1886, i16 6504, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2650, i16 12441, i16 12442, i16 0, i16 0, i16 0, i16 0, i16 12443, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2542, i16 11756, i16 11757, i16 6356, i16 0, i16 0, i16 11758, i16 11759, i16 6358, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1165, i16 0, i16 5777, i16 0, i16 5778, i16 10826, i16 10825, i16 10827, i16 10828, i16 10829, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1956, i16 6848, i16 6849, i16 1656, i16 0, i16 12717, i16 0, i16 12718, i16 0, i16 12719, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7035, i16 0, i16 0, i16 1517, i16 7036, i16 13063, i16 13064, i16 13065, i16 7037, i16 0, i16 1888, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7306, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 341, i16 0, i16 342, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 351, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 326, i16 327, i16 325, i16 328, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11125, i16 0, i16 0, i16 5992, i16 0, i16 5993, i16 0, i16 990, i16 11126, i16 0, i16 0, i16 947, i16 5990, i16 11127, i16 0, i16 11128, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 251, i16 0, i16 0, i16 0, i16 0, i16 250, i16 255, i16 0, i16 259, i16 260, i16 0, i16 0, i16 261, i16 262, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 368, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7427, i16 2983, i16 3748, i16 7428, i16 0, i16 7430, i16 3029, i16 7431, i16 3631, i16 7432, i16 2168, i16 7433, i16 1818, i16 7434, i16 1866, i16 965, i16 7435, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3587, i16 0, i16 13156, i16 13157, i16 13158, i16 13159, i16 0, i16 13160, i16 7092, i16 13161, i16 13162, i16 0, i16 0, i16 0, i16 0, i16 7093, i16 5548, i16 13163, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7201, i16 7287, i16 7229, i16 7315, i16 7247, i16 7332, i16 7265, i16 7350, i16 7274, i16 7359, i16 7271, i16 7356, i16 7273, i16 7358, i16 7272, i16 7357, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8287, i16 0, i16 0, i16 0, i16 0, i16 8288, i16 0, i16 2969, i16 8289, i16 0, i16 0, i16 8290, i16 0, i16 0, i16 8291, i16 4207, i16 3113, i16 8292, i16 0, i16 8293, i16 8294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9649, i16 5112, i16 9650, i16 9651, i16 5118, i16 0, i16 0, i16 5116, i16 0, i16 2728, i16 0, i16 0, i16 5123, i16 5113, i16 9652, i16 0, i16 9653, i16 0, i16 9654, i16 5114, i16 5090, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9574, i16 0, i16 9575, i16 0, i16 0, i16 1049, i16 0, i16 0, i16 892, i16 0, i16 9576, i16 5056, i16 0, i16 9577, i16 5059, i16 9578, i16 0, i16 0, i16 3600, i16 9579, i16 0, i16 9580, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 364, i16 0, i16 0, i16 363, i16 0, i16 362, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7882, i16 7883, i16 0, i16 0, i16 4012, i16 3474, i16 0, i16 2068, i16 7884, i16 4018, i16 0, i16 7885, i16 7886, i16 0, i16 4017, i16 4008, i16 0, i16 7887, i16 7888, i16 7889, i16 2472, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 995, i16 0, i16 0, i16 7950, i16 0, i16 0, i16 4058, i16 7951, i16 2153, i16 4054, i16 7952, i16 4052, i16 7953, i16 4053, i16 7954, i16 4055, i16 7955, i16 0, i16 7956, i16 7957, i16 7958, i16 0, i16 7959, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3650, i16 0, i16 9772, i16 5182, i16 0, i16 0, i16 0, i16 847, i16 0, i16 9773, i16 0, i16 9774, i16 9775, i16 9776, i16 9777, i16 0, i16 9778, i16 5184, i16 0, i16 0, i16 9779, i16 5183, i16 0, i16 5181, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10072, i16 10073, i16 5305, i16 0, i16 10074, i16 0, i16 0, i16 5306, i16 10075, i16 0, i16 0, i16 10076, i16 5307, i16 0, i16 0, i16 0, i16 10077, i16 0, i16 10078, i16 10079, i16 866, i16 0, i16 10080, i16 10081, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3182, i16 0, i16 6816, i16 12656, i16 0, i16 12657, i16 12658, i16 6817, i16 12659, i16 6818, i16 0, i16 0, i16 12660, i16 0, i16 6819, i16 12661, i16 12662, i16 0, i16 12663, i16 12664, i16 0, i16 0, i16 0, i16 12665, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11391, i16 0, i16 1000, i16 6110, i16 6111, i16 11358, i16 0, i16 0, i16 0, i16 11359, i16 0, i16 6106, i16 0, i16 1808, i16 11360, i16 0, i16 11361, i16 0, i16 11362, i16 0, i16 11363, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1683, i16 0, i16 12778, i16 0, i16 12779, i16 6888, i16 12780, i16 12781, i16 6889, i16 0, i16 12782, i16 0, i16 12783, i16 12784, i16 12785, i16 0, i16 1055, i16 12786, i16 0, i16 12787, i16 6890, i16 0, i16 12788, i16 12789, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8637, i16 0, i16 0, i16 8638, i16 0, i16 0, i16 8639, i16 4435, i16 4441, i16 4433, i16 0, i16 2779, i16 8640, i16 8641, i16 4438, i16 3156, i16 8642, i16 8643, i16 4432, i16 8644, i16 4437, i16 3636, i16 1834, i16 0, i16 8645, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7102, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7101, i16 7104, i16 7108, i16 7107, i16 0, i16 7105, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11222, i16 0, i16 0, i16 11223, i16 0, i16 3292, i16 0, i16 3660, i16 11224, i16 11225, i16 11226, i16 11227, i16 0, i16 6049, i16 0, i16 0, i16 11228, i16 0, i16 0, i16 11230, i16 11231, i16 6056, i16 11232, i16 0, i16 6048, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8409, i16 8410, i16 0, i16 8411, i16 0, i16 4283, i16 0, i16 0, i16 8412, i16 1205, i16 4284, i16 8413, i16 0, i16 4285, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8414, i16 0, i16 8415, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4599, i16 752, i16 8844, i16 8845, i16 1720, i16 0, i16 8846, i16 0, i16 2177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8847, i16 8848, i16 0, i16 0, i16 8849, i16 2707, i16 0, i16 8850, i16 3053, i16 4605, i16 2405, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4632, i16 0, i16 0, i16 8909, i16 8910, i16 0, i16 0, i16 2464, i16 0, i16 4639, i16 8911, i16 0, i16 8912, i16 4633, i16 8913, i16 0, i16 4630, i16 4637, i16 8914, i16 0, i16 0, i16 0, i16 4607, i16 0, i16 8915, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 316, i16 315, i16 0, i16 0, i16 0, i16 312, i16 0, i16 0, i16 314, i16 313, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8817, i16 0, i16 8818, i16 0, i16 0, i16 3069, i16 4663, i16 0, i16 0, i16 0, i16 0, i16 3279, i16 0, i16 8819, i16 0, i16 2706, i16 8820, i16 8821, i16 0, i16 3368, i16 8822, i16 4583, i16 934, i16 2605, i16 8823, i16 8824, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7940, i16 2549, i16 0, i16 7941, i16 970, i16 7942, i16 0, i16 0, i16 7943, i16 7944, i16 7945, i16 7946, i16 7947, i16 7948, i16 0, i16 4042, i16 0, i16 4044, i16 2069, i16 858, i16 7949, i16 0, i16 4047, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 311, i16 310, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2652, i16 12969, i16 6980, i16 0, i16 3024, i16 0, i16 6985, i16 6981, i16 0, i16 0, i16 0, i16 6982, i16 0, i16 12970, i16 3300, i16 3413, i16 0, i16 2861, i16 12971, i16 0, i16 12972, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1124, i16 11078, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11079, i16 920, i16 5954, i16 3639, i16 2498, i16 11080, i16 0, i16 3131, i16 0, i16 5966, i16 11081, i16 988, i16 5964, i16 0, i16 5962, i16 5953, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2662, i16 9547, i16 9548, i16 9549, i16 883, i16 1622, i16 5035, i16 0, i16 0, i16 9551, i16 9552, i16 0, i16 9553, i16 1974, i16 5040, i16 0, i16 5039, i16 5034, i16 0, i16 5037, i16 9554, i16 0, i16 1099, i16 9555, i16 5036, i16 2948, i16 9556, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8864, i16 8865, i16 3280, i16 1919, i16 4620, i16 0, i16 4619, i16 8866, i16 8867, i16 2243, i16 0, i16 0, i16 8868, i16 1497, i16 0, i16 8869, i16 8870, i16 4613, i16 2086, i16 8871, i16 0, i16 2885, i16 2924, i16 8872, i16 8873, i16 0, i16 8874, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11173, i16 6028, i16 11174, i16 11175, i16 3524, i16 11176, i16 0, i16 0, i16 11177, i16 3575, i16 11178, i16 0, i16 11179, i16 11180, i16 0, i16 0, i16 0, i16 11181, i16 2619, i16 11182, i16 11183, i16 11184, i16 1102, i16 11185, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6850, i16 12720, i16 0, i16 1057, i16 0, i16 0, i16 0, i16 2954, i16 6851, i16 6852, i16 0, i16 12721, i16 12722, i16 12723, i16 2589, i16 2888, i16 12724, i16 0, i16 0, i16 0, i16 12725, i16 12726, i16 0, i16 6853, i16 12727, i16 0, i16 12728, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4292, i16 0, i16 4294, i16 0, i16 8425, i16 0, i16 8426, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8427, i16 0, i16 0, i16 0, i16 0, i16 8429, i16 0, i16 4295, i16 0, i16 0, i16 0, i16 8428, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10961, i16 5874, i16 10962, i16 0, i16 0, i16 10963, i16 5872, i16 10964, i16 0, i16 2208, i16 0, i16 3164, i16 5877, i16 10965, i16 5876, i16 1639, i16 3710, i16 0, i16 10966, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5893, i16 0, i16 0, i16 0, i16 0, i16 13078, i16 7046, i16 3001, i16 0, i16 13079, i16 7047, i16 7049, i16 0, i16 13080, i16 7050, i16 13081, i16 13082, i16 13083, i16 0, i16 0, i16 13084, i16 13085, i16 13086, i16 0, i16 0, i16 7048, i16 1668, i16 3422, i16 3350, i16 4361, i16 0, i16 4996, i16 3374, i16 0, i16 0, i16 0, i16 0, i16 9766, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9767, i16 5177, i16 2557, i16 5180, i16 5175, i16 9768, i16 9769, i16 0, i16 5179, i16 9770, i16 0, i16 0, i16 9771, i16 5178, i16 2751, i16 802, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4915, i16 9346, i16 9347, i16 4920, i16 4924, i16 9348, i16 9349, i16 1331, i16 0, i16 0, i16 9350, i16 0, i16 9351, i16 9352, i16 9353, i16 0, i16 0, i16 9354, i16 9355, i16 0, i16 1259, i16 4922, i16 0, i16 9356, i16 0, i16 0, i16 0, i16 1216, i16 0, i16 0, i16 0, i16 0, i16 9780, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5176, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3286, i16 9781, i16 0, i16 0, i16 5186, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9539, i16 0, i16 0, i16 9540, i16 0, i16 0, i16 9541, i16 3517, i16 5042, i16 0, i16 9542, i16 9543, i16 0, i16 9544, i16 5041, i16 9545, i16 0, i16 0, i16 0, i16 2335, i16 0, i16 5038, i16 9546, i16 3547, i16 0, i16 0, i16 2835, i16 5032, i16 0, i16 0, i16 0, i16 0, i16 10582, i16 0, i16 3236, i16 986, i16 0, i16 10583, i16 0, i16 5611, i16 0, i16 5608, i16 10584, i16 5613, i16 10585, i16 10586, i16 5612, i16 0, i16 2990, i16 3384, i16 10587, i16 1806, i16 5606, i16 5615, i16 5610, i16 10588, i16 5609, i16 5605, i16 10589, i16 5607, i16 0, i16 0, i16 0, i16 0, i16 12640, i16 0, i16 6807, i16 12641, i16 0, i16 0, i16 12642, i16 6809, i16 2511, i16 1086, i16 1087, i16 6808, i16 0, i16 12643, i16 12644, i16 12645, i16 1194, i16 1515, i16 12646, i16 12647, i16 1195, i16 12648, i16 12649, i16 2750, i16 0, i16 0, i16 3629, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9849, i16 0, i16 0, i16 0, i16 5220, i16 0, i16 2687, i16 9850, i16 5222, i16 5221, i16 0, i16 9851, i16 5223, i16 0, i16 5224, i16 0, i16 9852, i16 1936, i16 3162, i16 0, i16 9853, i16 9854, i16 3453, i16 5225, i16 5226, i16 2397, i16 1877, i16 5227, i16 0, i16 0, i16 0, i16 0, i16 944, i16 0, i16 13087, i16 0, i16 13088, i16 0, i16 0, i16 13089, i16 7052, i16 1263, i16 7053, i16 7054, i16 7055, i16 0, i16 1676, i16 0, i16 7056, i16 13090, i16 0, i16 0, i16 5266, i16 3436, i16 0, i16 2504, i16 7057, i16 7059, i16 7058, i16 13091, i16 0, i16 0, i16 0, i16 0, i16 9393, i16 0, i16 0, i16 9394, i16 3008, i16 0, i16 4946, i16 0, i16 9395, i16 0, i16 0, i16 0, i16 9396, i16 9397, i16 9398, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4950, i16 4947, i16 9399, i16 9400, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1215, i16 9243, i16 4856, i16 0, i16 9244, i16 3418, i16 4831, i16 1214, i16 9245, i16 4838, i16 0, i16 9246, i16 9247, i16 9248, i16 3315, i16 9249, i16 4839, i16 4841, i16 9250, i16 4845, i16 4833, i16 9251, i16 2541, i16 0, i16 9252, i16 9253, i16 0, i16 2798, i16 0, i16 0, i16 0, i16 0, i16 7110, i16 7111, i16 7122, i16 0, i16 7123, i16 7124, i16 7125, i16 0, i16 7127, i16 0, i16 7128, i16 7130, i16 7136, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 0, i16 0, i16 0, i16 0, i16 6623, i16 0, i16 0, i16 12326, i16 12327, i16 12328, i16 0, i16 2886, i16 0, i16 2772, i16 0, i16 0, i16 12329, i16 12330, i16 12331, i16 0, i16 2680, i16 12332, i16 6636, i16 12333, i16 12334, i16 0, i16 12335, i16 2566, i16 6632, i16 0, i16 12336, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2303, i16 11822, i16 1920, i16 6405, i16 0, i16 11823, i16 0, i16 1077, i16 11824, i16 6406, i16 11825, i16 0, i16 2429, i16 6407, i16 0, i16 6408, i16 3170, i16 0, i16 0, i16 1230, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11826, i16 0, i16 0, i16 0, i16 8200, i16 905, i16 0, i16 8201, i16 1202, i16 2877, i16 3273, i16 0, i16 0, i16 0, i16 0, i16 4173, i16 2396, i16 4172, i16 1435, i16 8202, i16 8203, i16 3342, i16 4171, i16 0, i16 2788, i16 4175, i16 8204, i16 4174, i16 8205, i16 0, i16 8206, i16 8207, i16 8208, i16 0, i16 0, i16 0, i16 9739, i16 9740, i16 0, i16 0, i16 0, i16 9741, i16 9742, i16 9743, i16 9744, i16 5111, i16 0, i16 9749, i16 0, i16 0, i16 5171, i16 0, i16 0, i16 9745, i16 9746, i16 0, i16 0, i16 2884, i16 0, i16 0, i16 0, i16 0, i16 9747, i16 9748, i16 0, i16 0, i16 0, i16 0, i16 8486, i16 0, i16 0, i16 0, i16 8487, i16 0, i16 4332, i16 0, i16 8488, i16 1185, i16 4333, i16 8490, i16 0, i16 8489, i16 0, i16 4335, i16 4334, i16 0, i16 0, i16 4336, i16 0, i16 8491, i16 8492, i16 0, i16 4337, i16 0, i16 2327, i16 1970, i16 0, i16 0, i16 0, i16 0, i16 808, i16 5862, i16 0, i16 2563, i16 0, i16 10928, i16 0, i16 0, i16 0, i16 2963, i16 10929, i16 2496, i16 10930, i16 0, i16 0, i16 10931, i16 0, i16 10932, i16 10933, i16 5864, i16 10934, i16 10935, i16 5860, i16 5863, i16 5858, i16 0, i16 5861, i16 3289, i16 0, i16 0, i16 0, i16 0, i16 6698, i16 0, i16 0, i16 12462, i16 784, i16 12463, i16 12464, i16 6696, i16 12465, i16 6700, i16 6699, i16 0, i16 0, i16 12466, i16 12467, i16 12468, i16 12469, i16 6702, i16 6701, i16 6703, i16 0, i16 2827, i16 12470, i16 12471, i16 0, i16 6704, i16 12472, i16 12473, i16 12474, i16 0, i16 0, i16 0, i16 299, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7121, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9006, i16 0, i16 1543, i16 0, i16 9007, i16 4685, i16 9008, i16 0, i16 0, i16 0, i16 4688, i16 0, i16 3145, i16 9009, i16 1278, i16 9010, i16 0, i16 9011, i16 4687, i16 4686, i16 2959, i16 4689, i16 1330, i16 0, i16 0, i16 0, i16 4691, i16 4690, i16 9012, i16 0, i16 0, i16 0, i16 5172, i16 9750, i16 9751, i16 0, i16 0, i16 0, i16 0, i16 0, i16 981, i16 9752, i16 0, i16 9753, i16 2803, i16 1032, i16 0, i16 0, i16 0, i16 0, i16 9754, i16 9755, i16 0, i16 1283, i16 0, i16 0, i16 0, i16 1935, i16 1735, i16 9756, i16 0, i16 0, i16 0, i16 0, i16 9782, i16 9783, i16 9784, i16 9785, i16 9786, i16 0, i16 5185, i16 0, i16 9787, i16 9788, i16 0, i16 0, i16 9789, i16 0, i16 0, i16 0, i16 0, i16 914, i16 0, i16 0, i16 0, i16 0, i16 5188, i16 3207, i16 0, i16 5187, i16 0, i16 9790, i16 0, i16 0, i16 0, i16 0, i16 8247, i16 8248, i16 863, i16 1136, i16 8249, i16 4189, i16 0, i16 3414, i16 3112, i16 0, i16 0, i16 8250, i16 8251, i16 0, i16 8252, i16 8253, i16 0, i16 8254, i16 0, i16 753, i16 8255, i16 0, i16 0, i16 0, i16 834, i16 0, i16 0, i16 0, i16 1828, i16 0, i16 0, i16 0, i16 10308, i16 0, i16 0, i16 0, i16 5464, i16 0, i16 10309, i16 0, i16 0, i16 0, i16 5465, i16 0, i16 0, i16 0, i16 10310, i16 10311, i16 0, i16 0, i16 10312, i16 0, i16 5466, i16 0, i16 10313, i16 5467, i16 3400, i16 5468, i16 0, i16 10314, i16 10315, i16 0, i16 0, i16 0, i16 10830, i16 10831, i16 5779, i16 0, i16 10832, i16 0, i16 0, i16 0, i16 0, i16 5780, i16 5781, i16 5782, i16 10833, i16 5783, i16 5784, i16 10834, i16 10835, i16 5786, i16 5785, i16 0, i16 0, i16 5787, i16 0, i16 0, i16 10836, i16 10837, i16 10838, i16 0, i16 5788, i16 0, i16 0, i16 0, i16 6991, i16 0, i16 0, i16 6989, i16 0, i16 1118, i16 0, i16 6988, i16 1891, i16 942, i16 0, i16 0, i16 12981, i16 12982, i16 0, i16 12983, i16 12984, i16 12985, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12986, i16 1658, i16 12987, i16 12989, i16 6998, i16 6997, i16 0, i16 0, i16 0, i16 12117, i16 0, i16 0, i16 0, i16 12118, i16 12119, i16 2864, i16 6566, i16 1989, i16 1937, i16 2966, i16 2612, i16 12120, i16 0, i16 0, i16 1955, i16 12121, i16 2231, i16 0, i16 6567, i16 12122, i16 6568, i16 12123, i16 12124, i16 12125, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1113, i16 5562, i16 5561, i16 10536, i16 5565, i16 5558, i16 10537, i16 5566, i16 3574, i16 10538, i16 5567, i16 10539, i16 5568, i16 0, i16 10540, i16 4170, i16 5570, i16 0, i16 5569, i16 0, i16 0, i16 0, i16 5571, i16 5572, i16 10541, i16 3586, i16 5573, i16 0, i16 6797, i16 0, i16 0, i16 0, i16 4186, i16 8227, i16 2474, i16 0, i16 8228, i16 3307, i16 0, i16 0, i16 0, i16 2761, i16 8229, i16 8230, i16 8231, i16 8232, i16 0, i16 4187, i16 8233, i16 0, i16 0, i16 0, i16 8234, i16 0, i16 3352, i16 8235, i16 1727, i16 8236, i16 0, i16 2071, i16 0, i16 0, i16 0, i16 0, i16 4961, i16 0, i16 0, i16 9421, i16 4960, i16 0, i16 4962, i16 9422, i16 0, i16 979, i16 9423, i16 2554, i16 0, i16 4963, i16 0, i16 9424, i16 1152, i16 4965, i16 0, i16 9425, i16 0, i16 9426, i16 4964, i16 0, i16 4966, i16 0, i16 9427, i16 0, i16 4967, i16 0, i16 0, i16 0, i16 10341, i16 10342, i16 5477, i16 0, i16 10343, i16 10344, i16 0, i16 0, i16 0, i16 10345, i16 0, i16 10346, i16 0, i16 0, i16 0, i16 10347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10348, i16 2104, i16 10349, i16 0, i16 0, i16 0, i16 0, i16 2175, i16 8612, i16 3107, i16 0, i16 8613, i16 8614, i16 8615, i16 0, i16 8616, i16 1208, i16 2913, i16 0, i16 0, i16 8617, i16 8618, i16 8619, i16 8620, i16 8621, i16 0, i16 4422, i16 1833, i16 3309, i16 3310, i16 0, i16 0, i16 933, i16 4427, i16 8622, i16 0, i16 0, i16 0, i16 0, i16 2695, i16 3881, i16 7678, i16 0, i16 2444, i16 0, i16 7679, i16 1764, i16 3882, i16 3883, i16 2359, i16 0, i16 3880, i16 0, i16 0, i16 0, i16 0, i16 3885, i16 7680, i16 3305, i16 7681, i16 7682, i16 0, i16 7683, i16 1659, i16 7684, i16 0, i16 3884, i16 7685, i16 0, i16 0, i16 0, i16 5002, i16 5001, i16 0, i16 9479, i16 9480, i16 9481, i16 0, i16 0, i16 0, i16 9482, i16 0, i16 9483, i16 0, i16 0, i16 0, i16 0, i16 9484, i16 2224, i16 9485, i16 9486, i16 3120, i16 881, i16 0, i16 9487, i16 9488, i16 0, i16 0, i16 3038, i16 9489, i16 0, i16 0, i16 0, i16 12200, i16 12201, i16 12202, i16 12203, i16 0, i16 12204, i16 6671, i16 0, i16 0, i16 6599, i16 0, i16 12205, i16 12206, i16 12207, i16 0, i16 0, i16 12208, i16 3640, i16 12209, i16 12210, i16 1555, i16 12211, i16 12212, i16 12213, i16 0, i16 12214, i16 0, i16 12215, i16 6609, i16 0, i16 0, i16 0, i16 1469, i16 0, i16 8946, i16 0, i16 8947, i16 4649, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8948, i16 8949, i16 8950, i16 1800, i16 4646, i16 0, i16 4645, i16 0, i16 0, i16 8951, i16 8952, i16 2925, i16 8953, i16 0, i16 8954, i16 2834, i16 8955, i16 0, i16 0, i16 0, i16 1223, i16 1538, i16 4235, i16 1083, i16 0, i16 8338, i16 4236, i16 0, i16 2462, i16 0, i16 0, i16 8339, i16 8340, i16 4237, i16 4277, i16 0, i16 4238, i16 0, i16 4239, i16 0, i16 0, i16 4240, i16 0, i16 4242, i16 0, i16 8341, i16 8342, i16 8343, i16 8344, i16 0, i16 0, i16 0, i16 5320, i16 5319, i16 5321, i16 10092, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5322, i16 5324, i16 5323, i16 0, i16 0, i16 1680, i16 10093, i16 5326, i16 0, i16 5325, i16 10094, i16 10095, i16 1158, i16 0, i16 2206, i16 0, i16 2747, i16 0, i16 5327, i16 2273, i16 0, i16 0, i16 0, i16 9928, i16 1677, i16 1845, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9929, i16 5264, i16 5265, i16 9930, i16 0, i16 9931, i16 0, i16 0, i16 0, i16 9932, i16 5267, i16 9933, i16 0, i16 0, i16 0, i16 0, i16 9934, i16 9935, i16 9936, i16 0, i16 0, i16 0, i16 4811, i16 0, i16 0, i16 0, i16 3111, i16 0, i16 0, i16 0, i16 9216, i16 0, i16 0, i16 9217, i16 9218, i16 9219, i16 9220, i16 9221, i16 0, i16 4823, i16 9222, i16 952, i16 4812, i16 0, i16 9223, i16 9224, i16 9225, i16 9226, i16 0, i16 4829, i16 4813, i16 0, i16 0, i16 0, i16 13009, i16 13010, i16 0, i16 13011, i16 7009, i16 0, i16 7008, i16 13012, i16 0, i16 0, i16 13013, i16 13014, i16 1463, i16 0, i16 0, i16 13015, i16 13016, i16 0, i16 13017, i16 13018, i16 13019, i16 13020, i16 0, i16 7013, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11738, i16 0, i16 0, i16 1460, i16 0, i16 0, i16 0, i16 0, i16 6342, i16 6344, i16 11739, i16 0, i16 6345, i16 1251, i16 5811, i16 2150, i16 0, i16 6346, i16 0, i16 11740, i16 1575, i16 11741, i16 11742, i16 0, i16 0, i16 11743, i16 6347, i16 11744, i16 0, i16 0, i16 0, i16 0, i16 5086, i16 9609, i16 9610, i16 0, i16 0, i16 9611, i16 9612, i16 3388, i16 9613, i16 0, i16 5084, i16 5088, i16 9614, i16 0, i16 9615, i16 9616, i16 9617, i16 9618, i16 0, i16 1545, i16 9619, i16 2098, i16 0, i16 0, i16 2556, i16 9620, i16 9621, i16 9622, i16 5078, i16 0, i16 0, i16 0, i16 7917, i16 7918, i16 0, i16 0, i16 1489, i16 4034, i16 4032, i16 2394, i16 1257, i16 1321, i16 7919, i16 4029, i16 0, i16 1393, i16 0, i16 7920, i16 0, i16 0, i16 0, i16 875, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7921, i16 0, i16 0, i16 0, i16 238, i16 0, i16 300, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1015, i16 0, i16 11621, i16 2163, i16 6275, i16 0, i16 11622, i16 0, i16 11623, i16 0, i16 11624, i16 0, i16 0, i16 0, i16 11625, i16 0, i16 11626, i16 6276, i16 0, i16 11627, i16 0, i16 6277, i16 11628, i16 0, i16 0, i16 0, i16 11629, i16 0, i16 11630, i16 0, i16 0, i16 7936, i16 1823, i16 4040, i16 0, i16 0, i16 0, i16 0, i16 7937, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7938, i16 4043, i16 0, i16 4048, i16 0, i16 0, i16 0, i16 4046, i16 4045, i16 7939, i16 0, i16 0, i16 8448, i16 8449, i16 0, i16 0, i16 8450, i16 0, i16 8451, i16 0, i16 8455, i16 4317, i16 4314, i16 0, i16 4316, i16 0, i16 3553, i16 8453, i16 4315, i16 0, i16 0, i16 8452, i16 0, i16 0, i16 0, i16 8454, i16 0, i16 0, i16 4305, i16 0, i16 0, i16 8456, i16 0, i16 0, i16 2310, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8927, i16 0, i16 0, i16 4643, i16 8928, i16 0, i16 8929, i16 8930, i16 8931, i16 8932, i16 0, i16 0, i16 0, i16 2725, i16 0, i16 8933, i16 8934, i16 8935, i16 8936, i16 0, i16 8937, i16 0, i16 0, i16 10759, i16 10760, i16 10761, i16 10762, i16 10763, i16 5714, i16 0, i16 0, i16 1368, i16 3077, i16 10764, i16 10765, i16 10766, i16 2420, i16 0, i16 3613, i16 2046, i16 0, i16 0, i16 5762, i16 0, i16 10767, i16 5724, i16 10768, i16 2343, i16 0, i16 5720, i16 5725, i16 5727, i16 0, i16 0, i16 0, i16 6161, i16 11432, i16 11433, i16 11434, i16 11435, i16 11436, i16 11437, i16 11438, i16 0, i16 11439, i16 11440, i16 3498, i16 0, i16 0, i16 11441, i16 0, i16 0, i16 11442, i16 0, i16 11443, i16 0, i16 11444, i16 11445, i16 11446, i16 0, i16 0, i16 0, i16 0, i16 11447, i16 6160, i16 0, i16 0, i16 8998, i16 4677, i16 4676, i16 0, i16 8999, i16 0, i16 0, i16 9000, i16 4644, i16 4678, i16 4666, i16 0, i16 9001, i16 1836, i16 0, i16 9002, i16 0, i16 0, i16 4679, i16 4680, i16 4682, i16 4681, i16 4683, i16 1027, i16 9003, i16 1613, i16 9004, i16 9005, i16 3281, i16 2264, i16 0, i16 0, i16 13103, i16 13104, i16 0, i16 0, i16 0, i16 7071, i16 7072, i16 13105, i16 0, i16 0, i16 0, i16 0, i16 2723, i16 13106, i16 13107, i16 13108, i16 13109, i16 1558, i16 13110, i16 7074, i16 13111, i16 13112, i16 0, i16 13113, i16 13114, i16 13115, i16 0, i16 0, i16 0, i16 13116, i16 0, i16 0, i16 1852, i16 10946, i16 0, i16 1337, i16 2289, i16 3697, i16 3391, i16 5865, i16 2301, i16 10947, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10948, i16 10949, i16 10950, i16 0, i16 1266, i16 5868, i16 10951, i16 0, i16 10952, i16 0, i16 0, i16 0, i16 4159, i16 0, i16 0, i16 8181, i16 8182, i16 0, i16 0, i16 3238, i16 4160, i16 8183, i16 8184, i16 0, i16 0, i16 971, i16 4161, i16 0, i16 8185, i16 8186, i16 8187, i16 3499, i16 1043, i16 0, i16 3939, i16 2007, i16 2468, i16 4162, i16 3452, i16 8189, i16 0, i16 0, i16 0, i16 0, i16 9280, i16 0, i16 0, i16 9281, i16 0, i16 0, i16 0, i16 9282, i16 3515, i16 0, i16 0, i16 0, i16 9283, i16 0, i16 0, i16 0, i16 0, i16 3181, i16 4862, i16 2479, i16 0, i16 9284, i16 0, i16 4868, i16 2374, i16 9285, i16 4859, i16 4872, i16 4871, i16 0, i16 0, i16 0, i16 334, i16 335, i16 0, i16 0, i16 332, i16 333, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5718, i16 5712, i16 0, i16 0, i16 10752, i16 10753, i16 0, i16 0, i16 10754, i16 5716, i16 1963, i16 806, i16 5711, i16 5719, i16 5723, i16 1634, i16 3431, i16 10755, i16 2679, i16 5713, i16 10756, i16 10757, i16 5721, i16 10758, i16 5710, i16 2561, i16 0, i16 5715, i16 774, i16 3419, i16 0, i16 0, i16 9566, i16 0, i16 0, i16 5052, i16 0, i16 9567, i16 2096, i16 0, i16 0, i16 0, i16 3487, i16 0, i16 5049, i16 0, i16 0, i16 9568, i16 9569, i16 5044, i16 9570, i16 5050, i16 9571, i16 9572, i16 9573, i16 3627, i16 0, i16 2802, i16 2847, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3942, i16 7777, i16 3458, i16 0, i16 0, i16 7778, i16 7779, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7780, i16 0, i16 0, i16 0, i16 0, i16 7781, i16 7782, i16 0, i16 3943, i16 0, i16 3615, i16 7783, i16 1589, i16 0, i16 0, i16 7784, i16 0, i16 1519, i16 0, i16 0, i16 9320, i16 0, i16 0, i16 9321, i16 0, i16 4903, i16 4896, i16 0, i16 0, i16 4909, i16 0, i16 4907, i16 9322, i16 9323, i16 0, i16 9324, i16 4902, i16 9325, i16 0, i16 9326, i16 0, i16 0, i16 0, i16 4901, i16 0, i16 2673, i16 0, i16 2412, i16 9327, i16 4899, i16 0, i16 0, i16 12650, i16 12651, i16 0, i16 12652, i16 12653, i16 1557, i16 0, i16 0, i16 12654, i16 6810, i16 12655, i16 0, i16 0, i16 6811, i16 6812, i16 6813, i16 0, i16 6815, i16 6814, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4205, i16 8279, i16 0, i16 8280, i16 3151, i16 8281, i16 0, i16 0, i16 4206, i16 0, i16 4201, i16 8282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8283, i16 0, i16 0, i16 8284, i16 8285, i16 0, i16 0, i16 8286, i16 3404, i16 0, i16 0, i16 2671, i16 2855, i16 880, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2331, i16 9194, i16 0, i16 2269, i16 1413, i16 0, i16 9195, i16 0, i16 0, i16 0, i16 9196, i16 4801, i16 9197, i16 0, i16 0, i16 12666, i16 6821, i16 6820, i16 12667, i16 6822, i16 0, i16 12668, i16 0, i16 0, i16 0, i16 12669, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3085, i16 5822, i16 0, i16 0, i16 2164, i16 0, i16 0, i16 12678, i16 6825, i16 0, i16 3440, i16 0, i16 12679, i16 12680, i16 6826, i16 3531, i16 0, i16 873, i16 0, i16 0, i16 0, i16 1812, i16 12681, i16 6827, i16 1011, i16 6828, i16 12682, i16 12683, i16 12684, i16 6829, i16 0, i16 12685, i16 12686, i16 12687, i16 6831, i16 6832, i16 12688, i16 0, i16 0, i16 7827, i16 0, i16 7828, i16 0, i16 7829, i16 7830, i16 1967, i16 7831, i16 1959, i16 7832, i16 0, i16 7833, i16 7834, i16 0, i16 3977, i16 3975, i16 0, i16 3380, i16 7835, i16 3972, i16 3981, i16 3976, i16 0, i16 0, i16 0, i16 3979, i16 1535, i16 3408, i16 0, i16 7836, i16 0, i16 0, i16 9623, i16 9624, i16 0, i16 0, i16 0, i16 3486, i16 9625, i16 0, i16 0, i16 5081, i16 0, i16 0, i16 5074, i16 2801, i16 0, i16 0, i16 5077, i16 9626, i16 0, i16 0, i16 5083, i16 0, i16 0, i16 0, i16 0, i16 9627, i16 0, i16 9628, i16 3708, i16 1903, i16 0, i16 0, i16 10135, i16 5355, i16 10136, i16 5354, i16 0, i16 0, i16 0, i16 0, i16 0, i16 893, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5363, i16 3073, i16 5357, i16 10137, i16 5359, i16 0, i16 0, i16 5361, i16 2185, i16 10138, i16 0, i16 5362, i16 5360, i16 1905, i16 10139, i16 0, i16 0, i16 7585, i16 3813, i16 7586, i16 3811, i16 7587, i16 2389, i16 7588, i16 7589, i16 0, i16 0, i16 0, i16 3812, i16 3814, i16 7590, i16 0, i16 7591, i16 7603, i16 0, i16 0, i16 3816, i16 7592, i16 0, i16 0, i16 3815, i16 7593, i16 3229, i16 0, i16 0, i16 7594, i16 0, i16 0, i16 0, i16 6307, i16 11695, i16 6305, i16 0, i16 11696, i16 2575, i16 11697, i16 11698, i16 11699, i16 2282, i16 1171, i16 6306, i16 0, i16 2214, i16 0, i16 11700, i16 3607, i16 11701, i16 11702, i16 11703, i16 3691, i16 11704, i16 0, i16 0, i16 6308, i16 6319, i16 2646, i16 11705, i16 6318, i16 11706, i16 0, i16 0, i16 12974, i16 6986, i16 0, i16 0, i16 6987, i16 2843, i16 6984, i16 6983, i16 0, i16 12973, i16 0, i16 0, i16 943, i16 0, i16 0, i16 12975, i16 6995, i16 0, i16 0, i16 6994, i16 0, i16 12976, i16 12977, i16 0, i16 0, i16 924, i16 12978, i16 12979, i16 12980, i16 6992, i16 0, i16 0, i16 1714, i16 0, i16 0, i16 10326, i16 10327, i16 0, i16 0, i16 10328, i16 0, i16 0, i16 5472, i16 10329, i16 10330, i16 0, i16 0, i16 10331, i16 5473, i16 0, i16 1503, i16 1738, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10332, i16 0, i16 0, i16 0, i16 0, i16 9906, i16 0, i16 9907, i16 9908, i16 0, i16 9909, i16 0, i16 0, i16 5255, i16 9910, i16 0, i16 9911, i16 0, i16 0, i16 0, i16 0, i16 9912, i16 9913, i16 0, i16 0, i16 5257, i16 5254, i16 9914, i16 9915, i16 0, i16 3429, i16 5256, i16 5258, i16 9916, i16 3601, i16 0, i16 0, i16 4280, i16 7388, i16 0, i16 0, i16 0, i16 0, i16 7389, i16 7390, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3551, i16 0, i16 2906, i16 7391, i16 7392, i16 0, i16 0, i16 0, i16 7393, i16 0, i16 0, i16 0, i16 0, i16 1126, i16 7394, i16 0, i16 0, i16 9401, i16 9402, i16 3554, i16 4948, i16 9403, i16 9404, i16 0, i16 9405, i16 4900, i16 0, i16 0, i16 0, i16 0, i16 9406, i16 9407, i16 9408, i16 4951, i16 0, i16 0, i16 0, i16 4952, i16 9409, i16 0, i16 0, i16 0, i16 9410, i16 0, i16 860, i16 9411, i16 4954, i16 0, i16 0, i16 2749, i16 6472, i16 0, i16 0, i16 0, i16 0, i16 11939, i16 0, i16 0, i16 6475, i16 0, i16 11946, i16 11940, i16 0, i16 11941, i16 11942, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11943, i16 1893, i16 11944, i16 11945, i16 6474, i16 6473, i16 1461, i16 6476, i16 0, i16 0, i16 0, i16 9917, i16 0, i16 9918, i16 5262, i16 0, i16 9919, i16 9920, i16 5261, i16 2617, i16 2920, i16 9921, i16 0, i16 1502, i16 5260, i16 0, i16 9922, i16 9923, i16 0, i16 5259, i16 9924, i16 3488, i16 3489, i16 0, i16 0, i16 9925, i16 9926, i16 0, i16 9927, i16 5263, i16 917, i16 0, i16 0, i16 5579, i16 0, i16 5592, i16 0, i16 5582, i16 10551, i16 1287, i16 0, i16 5581, i16 5594, i16 0, i16 0, i16 0, i16 5580, i16 0, i16 2109, i16 0, i16 0, i16 10552, i16 0, i16 0, i16 0, i16 5584, i16 5585, i16 0, i16 2730, i16 0, i16 0, i16 5586, i16 10553, i16 0, i16 0, i16 7119, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 360, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6868, i16 0, i16 0, i16 0, i16 0, i16 12737, i16 0, i16 0, i16 12738, i16 12739, i16 12740, i16 6859, i16 6860, i16 0, i16 12741, i16 6861, i16 6862, i16 0, i16 12742, i16 12743, i16 0, i16 0, i16 6864, i16 12744, i16 0, i16 6863, i16 0, i16 12745, i16 12746, i16 2024, i16 0, i16 0, i16 4310, i16 8439, i16 8440, i16 0, i16 8441, i16 8442, i16 0, i16 3277, i16 0, i16 8438, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8443, i16 0, i16 0, i16 8444, i16 0, i16 0, i16 0, i16 0, i16 8445, i16 0, i16 0, i16 0, i16 8446, i16 0, i16 8447, i16 0, i16 0, i16 2523, i16 0, i16 10008, i16 5286, i16 10009, i16 0, i16 10010, i16 10011, i16 10012, i16 10013, i16 10014, i16 10015, i16 10016, i16 10017, i16 10018, i16 10019, i16 5288, i16 3619, i16 1364, i16 3093, i16 2949, i16 0, i16 0, i16 10020, i16 5289, i16 0, i16 0, i16 0, i16 0, i16 5291, i16 0, i16 0, i16 6368, i16 0, i16 0, i16 6370, i16 11784, i16 11785, i16 0, i16 6369, i16 6371, i16 11786, i16 3321, i16 6372, i16 6373, i16 0, i16 11787, i16 0, i16 11788, i16 11789, i16 6374, i16 0, i16 0, i16 0, i16 6376, i16 11790, i16 0, i16 11791, i16 11792, i16 1040, i16 2696, i16 0, i16 0, i16 0, i16 7648, i16 0, i16 2257, i16 3861, i16 2025, i16 0, i16 7649, i16 3862, i16 0, i16 2623, i16 3596, i16 2783, i16 0, i16 7650, i16 0, i16 7651, i16 7652, i16 7653, i16 0, i16 7654, i16 3935, i16 0, i16 7655, i16 0, i16 0, i16 3863, i16 7099, i16 1346, i16 7656, i16 0, i16 0, i16 0, i16 6882, i16 0, i16 6884, i16 6883, i16 0, i16 0, i16 0, i16 6885, i16 6887, i16 6886, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 745, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 735, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8685, i16 0, i16 8686, i16 2141, i16 4477, i16 2868, i16 8687, i16 8688, i16 8689, i16 8690, i16 0, i16 0, i16 8691, i16 8692, i16 0, i16 3698, i16 0, i16 4473, i16 8693, i16 8694, i16 0, i16 0, i16 4479, i16 8695, i16 1682, i16 8696, i16 2292, i16 8697, i16 8698, i16 797, i16 0, i16 0, i16 4592, i16 0, i16 8825, i16 2551, i16 4586, i16 4593, i16 4588, i16 4595, i16 4591, i16 0, i16 4590, i16 2986, i16 8826, i16 4584, i16 1026, i16 4582, i16 1296, i16 2520, i16 4578, i16 8827, i16 8828, i16 4581, i16 1611, i16 2308, i16 8829, i16 2084, i16 4589, i16 2957, i16 0, i16 0, i16 0, i16 0, i16 1265, i16 2324, i16 1901, i16 3479, i16 4245, i16 0, i16 8355, i16 8356, i16 0, i16 0, i16 8357, i16 8358, i16 1275, i16 8359, i16 1728, i16 8360, i16 8361, i16 1045, i16 906, i16 2073, i16 973, i16 8362, i16 4246, i16 3509, i16 8363, i16 0, i16 8364, i16 0, i16 0, i16 2008, i16 0, i16 0, i16 3570, i16 2894, i16 0, i16 0, i16 0, i16 0, i16 850, i16 12532, i16 2316, i16 1895, i16 0, i16 0, i16 0, i16 12533, i16 3212, i16 12534, i16 871, i16 0, i16 0, i16 0, i16 3642, i16 3546, i16 0, i16 6745, i16 12535, i16 2756, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7672, i16 0, i16 3030, i16 3233, i16 0, i16 3875, i16 7673, i16 3559, i16 3876, i16 0, i16 0, i16 0, i16 3877, i16 0, i16 2813, i16 7674, i16 7675, i16 3878, i16 0, i16 7676, i16 2258, i16 1779, i16 1487, i16 3879, i16 1820, i16 1670, i16 7677, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3834, i16 0, i16 7631, i16 2907, i16 7632, i16 0, i16 2363, i16 3836, i16 3837, i16 3013, i16 1585, i16 3686, i16 3838, i16 0, i16 0, i16 1315, i16 0, i16 0, i16 0, i16 3217, i16 2459, i16 1390, i16 2740, i16 0, i16 0, i16 0, i16 1486, i16 0, i16 7633, i16 0, i16 0, i16 0, i16 13052, i16 0, i16 0, i16 0, i16 0, i16 13053, i16 0, i16 0, i16 13051, i16 0, i16 0, i16 0, i16 13054, i16 0, i16 13055, i16 13056, i16 13057, i16 0, i16 0, i16 13058, i16 13059, i16 0, i16 0, i16 13060, i16 7032, i16 7033, i16 13061, i16 13062, i16 7034, i16 0, i16 0, i16 0, i16 9469, i16 0, i16 9470, i16 9471, i16 0, i16 0, i16 4997, i16 9472, i16 0, i16 0, i16 0, i16 9473, i16 9474, i16 1844, i16 9475, i16 3394, i16 9476, i16 4998, i16 4999, i16 0, i16 0, i16 1219, i16 0, i16 9477, i16 0, i16 5000, i16 0, i16 0, i16 0, i16 9478, i16 0, i16 2304, i16 0, i16 6423, i16 11858, i16 11859, i16 0, i16 11860, i16 1554, i16 0, i16 6420, i16 6421, i16 11861, i16 0, i16 0, i16 3668, i16 11862, i16 11864, i16 11865, i16 2648, i16 11866, i16 2352, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6424, i16 11867, i16 0, i16 6427, i16 0, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 0, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 520, i16 521, i16 522, i16 523, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 0, i16 1028, i16 1703, i16 6923, i16 6922, i16 3382, i16 0, i16 0, i16 12844, i16 0, i16 0, i16 12845, i16 12846, i16 6925, i16 6926, i16 6924, i16 0, i16 6927, i16 0, i16 0, i16 3349, i16 12847, i16 12848, i16 12849, i16 6928, i16 0, i16 1306, i16 12850, i16 0, i16 0, i16 12851, i16 0, i16 0, i16 6661, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6659, i16 0, i16 0, i16 12412, i16 12413, i16 0, i16 12414, i16 12415, i16 12416, i16 12417, i16 6660, i16 6658, i16 0, i16 2525, i16 0, i16 6662, i16 12418, i16 0, i16 12420, i16 0, i16 12419, i16 0, i16 12549, i16 6764, i16 12550, i16 6761, i16 0, i16 6762, i16 0, i16 6763, i16 6765, i16 12551, i16 0, i16 0, i16 0, i16 12552, i16 12553, i16 0, i16 0, i16 2285, i16 0, i16 0, i16 12554, i16 3464, i16 12555, i16 12556, i16 2286, i16 12557, i16 12558, i16 6766, i16 0, i16 3084, i16 0, i16 0, i16 6663, i16 0, i16 12421, i16 6665, i16 12422, i16 0, i16 0, i16 12423, i16 0, i16 12424, i16 0, i16 12425, i16 0, i16 0, i16 0, i16 0, i16 1174, i16 6664, i16 3467, i16 0, i16 12426, i16 0, i16 0, i16 0, i16 12427, i16 6676, i16 6666, i16 12428, i16 0, i16 6669, i16 12429, i16 0, i16 4105, i16 8057, i16 0, i16 1690, i16 8058, i16 2550, i16 8059, i16 8060, i16 4102, i16 2683, i16 8061, i16 0, i16 8062, i16 8063, i16 8064, i16 8065, i16 8066, i16 0, i16 8067, i16 8068, i16 8069, i16 0, i16 8070, i16 0, i16 8071, i16 8072, i16 8073, i16 8074, i16 0, i16 8075, i16 4106, i16 0, i16 6409, i16 11827, i16 0, i16 11828, i16 2647, i16 0, i16 0, i16 11829, i16 0, i16 898, i16 0, i16 0, i16 11830, i16 0, i16 0, i16 11831, i16 11832, i16 0, i16 0, i16 0, i16 11833, i16 0, i16 0, i16 0, i16 6410, i16 0, i16 0, i16 0, i16 0, i16 11834, i16 11835, i16 0, i16 3338, i16 2521, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3370, i16 0, i16 0, i16 5024, i16 0, i16 9517, i16 5025, i16 9518, i16 980, i16 9519, i16 0, i16 0, i16 0, i16 3197, i16 3470, i16 5027, i16 1876, i16 2095, i16 5020, i16 5026, i16 911, i16 0, i16 3595, i16 0, i16 7373, i16 7374, i16 0, i16 3223, i16 0, i16 7375, i16 0, i16 3714, i16 7376, i16 0, i16 2601, i16 7377, i16 7378, i16 7379, i16 3715, i16 1399, i16 0, i16 0, i16 7380, i16 3716, i16 0, i16 1182, i16 2547, i16 0, i16 1944, i16 3717, i16 0, i16 0, i16 3718, i16 0, i16 4364, i16 4365, i16 2956, i16 0, i16 0, i16 8542, i16 0, i16 4366, i16 3652, i16 3672, i16 8544, i16 8543, i16 0, i16 8545, i16 4368, i16 4367, i16 8546, i16 8547, i16 1066, i16 8548, i16 8549, i16 4369, i16 0, i16 0, i16 0, i16 4372, i16 4373, i16 8550, i16 4371, i16 8551, i16 3127, i16 0, i16 1549, i16 1851, i16 0, i16 0, i16 3079, i16 10923, i16 10924, i16 0, i16 1507, i16 3318, i16 10925, i16 5857, i16 5855, i16 0, i16 1637, i16 0, i16 1638, i16 818, i16 0, i16 1757, i16 0, i16 0, i16 0, i16 10926, i16 10927, i16 2964, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3599, i16 9227, i16 4820, i16 9228, i16 2970, i16 9229, i16 0, i16 9230, i16 0, i16 0, i16 0, i16 0, i16 4828, i16 0, i16 4815, i16 0, i16 0, i16 0, i16 765, i16 4817, i16 0, i16 9231, i16 1619, i16 9232, i16 0, i16 9233, i16 4819, i16 9234, i16 4818, i16 0, i16 4814, i16 0, i16 4879, i16 0, i16 4887, i16 0, i16 9315, i16 0, i16 7096, i16 9316, i16 0, i16 4884, i16 1620, i16 2665, i16 2411, i16 4882, i16 0, i16 4877, i16 9317, i16 0, i16 4880, i16 0, i16 0, i16 9318, i16 9319, i16 3516, i16 3357, i16 0, i16 0, i16 0, i16 4885, i16 4895, i16 0, i16 0, i16 11023, i16 11024, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11025, i16 5925, i16 1641, i16 5926, i16 3045, i16 0, i16 5940, i16 0, i16 0, i16 0, i16 11026, i16 5928, i16 11027, i16 2478, i16 2992, i16 1528, i16 5927, i16 2348, i16 11028, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5395, i16 5396, i16 0, i16 10200, i16 10201, i16 0, i16 5400, i16 5397, i16 5398, i16 5399, i16 0, i16 5401, i16 10202, i16 10203, i16 10204, i16 5402, i16 10205, i16 5403, i16 0, i16 10206, i16 0, i16 5404, i16 0, i16 5405, i16 0, i16 3016, i16 2767, i16 5406, i16 2989, i16 3115, i16 0, i16 0, i16 8468, i16 4323, i16 8469, i16 4322, i16 0, i16 0, i16 4321, i16 8470, i16 0, i16 8471, i16 2791, i16 4300, i16 0, i16 0, i16 0, i16 4329, i16 0, i16 8472, i16 8473, i16 8474, i16 8475, i16 0, i16 0, i16 0, i16 8476, i16 0, i16 8477, i16 0, i16 4325, i16 0, i16 8478, i16 0, i16 6679, i16 0, i16 12440, i16 12439, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1304, i16 3121, i16 0, i16 9655, i16 0, i16 1904, i16 0, i16 9656, i16 1678, i16 9657, i16 0, i16 9658, i16 9659, i16 0, i16 3678, i16 0, i16 5110, i16 0, i16 5122, i16 912, i16 2413, i16 9660, i16 0, i16 9661, i16 0, i16 9662, i16 9663, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8729, i16 4504, i16 0, i16 4505, i16 8730, i16 8731, i16 4494, i16 1871, i16 8732, i16 4498, i16 2491, i16 1609, i16 4480, i16 2176, i16 0, i16 0, i16 0, i16 0, i16 4518, i16 0, i16 3262, i16 0, i16 0, i16 4508, i16 4509, i16 4510, i16 0, i16 0, i16 4517, i16 8733, i16 4516, i16 0, i16 9757, i16 0, i16 0, i16 0, i16 9758, i16 9759, i16 0, i16 0, i16 3666, i16 2225, i16 0, i16 0, i16 0, i16 913, i16 0, i16 0, i16 0, i16 5174, i16 0, i16 9760, i16 9761, i16 9762, i16 9763, i16 9764, i16 5173, i16 0, i16 9765, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7458, i16 7459, i16 1127, i16 7460, i16 7461, i16 3762, i16 0, i16 3754, i16 7462, i16 7463, i16 3632, i16 7464, i16 1867, i16 7465, i16 3755, i16 7466, i16 3760, i16 7467, i16 7468, i16 7469, i16 0, i16 3763, i16 7470, i16 3756, i16 7471, i16 7472, i16 1310, i16 0, i16 790, i16 7473, i16 7474, i16 0, i16 11555, i16 6226, i16 0, i16 6231, i16 0, i16 11556, i16 3192, i16 0, i16 0, i16 6233, i16 0, i16 6232, i16 11557, i16 11558, i16 11559, i16 1103, i16 0, i16 3294, i16 6234, i16 0, i16 11560, i16 11561, i16 0, i16 11562, i16 11563, i16 11564, i16 0, i16 11565, i16 6246, i16 6236, i16 0, i16 0, i16 1572, i16 0, i16 0, i16 0, i16 0, i16 5480, i16 2711, i16 0, i16 0, i16 10359, i16 0, i16 5483, i16 1050, i16 5478, i16 10360, i16 0, i16 3075, i16 0, i16 855, i16 10361, i16 1761, i16 0, i16 3709, i16 10362, i16 0, i16 5482, i16 0, i16 0, i16 10364, i16 10365, i16 10366, i16 0, i16 6950, i16 6947, i16 6946, i16 6948, i16 12905, i16 0, i16 12906, i16 1466, i16 0, i16 12907, i16 12908, i16 0, i16 0, i16 0, i16 12909, i16 6954, i16 6953, i16 6952, i16 12910, i16 0, i16 764, i16 0, i16 12911, i16 12912, i16 12913, i16 12914, i16 0, i16 0, i16 12915, i16 0, i16 12916, i16 0, i16 2856, i16 4921, i16 0, i16 9357, i16 0, i16 4923, i16 9358, i16 0, i16 0, i16 9359, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9360, i16 4917, i16 9361, i16 0, i16 0, i16 0, i16 0, i16 4919, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9362, i16 1091, i16 0, i16 11816, i16 0, i16 11817, i16 6393, i16 6394, i16 0, i16 6396, i16 2440, i16 11818, i16 6395, i16 1191, i16 0, i16 6398, i16 0, i16 6397, i16 6399, i16 0, i16 11819, i16 6401, i16 6403, i16 0, i16 6404, i16 11820, i16 0, i16 0, i16 0, i16 11821, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6188, i16 6187, i16 6118, i16 0, i16 0, i16 0, i16 6192, i16 11497, i16 0, i16 0, i16 0, i16 0, i16 11498, i16 11499, i16 0, i16 11500, i16 6189, i16 11501, i16 0, i16 0, i16 11502, i16 6190, i16 0, i16 0, i16 6191, i16 11503, i16 6193, i16 11504, i16 0, i16 0, i16 0, i16 0, i16 8237, i16 0, i16 8238, i16 8239, i16 0, i16 4188, i16 0, i16 8240, i16 1827, i16 8241, i16 1826, i16 0, i16 8242, i16 0, i16 0, i16 770, i16 1537, i16 8243, i16 2260, i16 794, i16 0, i16 0, i16 0, i16 0, i16 4192, i16 4193, i16 0, i16 4190, i16 8244, i16 8245, i16 8246, i16 0, i16 4912, i16 4937, i16 4936, i16 0, i16 0, i16 9383, i16 0, i16 9385, i16 9384, i16 0, i16 0, i16 9386, i16 0, i16 0, i16 0, i16 9387, i16 4942, i16 0, i16 3665, i16 9388, i16 9389, i16 9390, i16 0, i16 0, i16 0, i16 4945, i16 1400, i16 9391, i16 9392, i16 4941, i16 4943, i16 0, i16 12592, i16 0, i16 6789, i16 12593, i16 12594, i16 6790, i16 12595, i16 6791, i16 12596, i16 12597, i16 6792, i16 12598, i16 12599, i16 12600, i16 0, i16 12601, i16 12602, i16 0, i16 1179, i16 12603, i16 0, i16 0, i16 12604, i16 12605, i16 12606, i16 0, i16 12610, i16 6793, i16 12607, i16 12608, i16 0, i16 0, i16 819, i16 0, i16 12066, i16 12067, i16 12068, i16 0, i16 12069, i16 12070, i16 0, i16 1648, i16 0, i16 12064, i16 0, i16 3685, i16 0, i16 0, i16 0, i16 12079, i16 0, i16 0, i16 12071, i16 0, i16 12072, i16 12073, i16 12074, i16 0, i16 6560, i16 12075, i16 12076, i16 0, i16 12077, i16 0, i16 6451, i16 11911, i16 11912, i16 6454, i16 6453, i16 0, i16 6452, i16 0, i16 11913, i16 6456, i16 6455, i16 0, i16 3463, i16 0, i16 0, i16 11914, i16 6458, i16 11915, i16 6457, i16 6459, i16 11916, i16 0, i16 0, i16 0, i16 6460, i16 11917, i16 11918, i16 0, i16 11919, i16 11920, i16 0, i16 0, i16 1332, i16 9520, i16 0, i16 5017, i16 5022, i16 9521, i16 0, i16 0, i16 2333, i16 2988, i16 0, i16 3072, i16 9522, i16 0, i16 9523, i16 9524, i16 9525, i16 9526, i16 5019, i16 9527, i16 3284, i16 9528, i16 5021, i16 0, i16 5030, i16 9529, i16 5028, i16 9530, i16 5023, i16 0, i16 0, i16 0, i16 6708, i16 12480, i16 0, i16 12481, i16 12482, i16 12483, i16 0, i16 6709, i16 0, i16 1754, i16 0, i16 12484, i16 0, i16 6710, i16 6711, i16 0, i16 12485, i16 3324, i16 12486, i16 0, i16 0, i16 0, i16 12487, i16 12488, i16 12489, i16 12490, i16 2386, i16 12491, i16 12492, i16 0, i16 749, i16 0, i16 12852, i16 0, i16 12853, i16 0, i16 12854, i16 12855, i16 0, i16 12856, i16 0, i16 12857, i16 12858, i16 12859, i16 12860, i16 12861, i16 3664, i16 0, i16 0, i16 0, i16 12862, i16 6929, i16 12863, i16 0, i16 12864, i16 12865, i16 12866, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12867, i16 0, i16 10805, i16 10806, i16 0, i16 0, i16 10807, i16 5742, i16 5750, i16 0, i16 5758, i16 5757, i16 10808, i16 0, i16 3373, i16 10809, i16 10810, i16 1414, i16 0, i16 0, i16 10811, i16 0, i16 0, i16 0, i16 0, i16 10812, i16 5756, i16 0, i16 5760, i16 5759, i16 5763, i16 10813, i16 5765, i16 0, i16 2872, i16 2230, i16 12031, i16 12032, i16 2588, i16 0, i16 1397, i16 0, i16 6536, i16 3494, i16 870, i16 12033, i16 3244, i16 998, i16 6531, i16 6532, i16 6533, i16 6534, i16 2840, i16 2534, i16 812, i16 6538, i16 0, i16 6539, i16 7097, i16 0, i16 12034, i16 2466, i16 12035, i16 6540, i16 0, i16 0, i16 6969, i16 12928, i16 12929, i16 6968, i16 6967, i16 12930, i16 12931, i16 12932, i16 12933, i16 12934, i16 0, i16 0, i16 3136, i16 6965, i16 828, i16 6970, i16 12935, i16 6972, i16 0, i16 0, i16 12936, i16 12937, i16 12938, i16 0, i16 1106, i16 6951, i16 862, i16 0, i16 12939, i16 6974, i16 0, i16 0, i16 9018, i16 4694, i16 4695, i16 0, i16 9019, i16 0, i16 3213, i16 4241, i16 2287, i16 9020, i16 0, i16 3139, i16 0, i16 1741, i16 0, i16 3070, i16 3036, i16 9021, i16 0, i16 0, i16 9022, i16 0, i16 2764, i16 9023, i16 3598, i16 0, i16 4697, i16 1921, i16 9024, i16 0, i16 4698, i16 0, i16 1341, i16 12391, i16 0, i16 6651, i16 6645, i16 12392, i16 12393, i16 6644, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12395, i16 12396, i16 12394, i16 12397, i16 12398, i16 0, i16 12399, i16 0, i16 0, i16 0, i16 6462, i16 11921, i16 0, i16 0, i16 0, i16 0, i16 11922, i16 0, i16 11923, i16 6461, i16 2195, i16 6463, i16 11924, i16 11925, i16 1386, i16 6464, i16 6466, i16 0, i16 11926, i16 0, i16 11927, i16 0, i16 0, i16 0, i16 0, i16 11928, i16 11929, i16 0, i16 0, i16 6467, i16 0, i16 0, i16 10814, i16 1807, i16 5761, i16 0, i16 0, i16 10815, i16 10816, i16 5766, i16 5767, i16 10817, i16 0, i16 5768, i16 10818, i16 5774, i16 2746, i16 5770, i16 10819, i16 5769, i16 5771, i16 5772, i16 10820, i16 5773, i16 0, i16 10821, i16 0, i16 10822, i16 5775, i16 5776, i16 10823, i16 10824, i16 0, i16 0, i16 11328, i16 6096, i16 0, i16 0, i16 0, i16 0, i16 11329, i16 0, i16 11330, i16 0, i16 0, i16 0, i16 3557, i16 0, i16 5430, i16 6098, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11331, i16 0, i16 11332, i16 0, i16 11333, i16 0, i16 11334, i16 11335, i16 0, i16 6099, i16 0, i16 8772, i16 8773, i16 4542, i16 0, i16 8776, i16 4541, i16 8774, i16 0, i16 8775, i16 0, i16 0, i16 8777, i16 8778, i16 0, i16 8779, i16 0, i16 0, i16 2633, i16 0, i16 4545, i16 0, i16 4543, i16 4533, i16 1495, i16 0, i16 4544, i16 0, i16 4548, i16 4547, i16 4549, i16 4546, i16 0, i16 9798, i16 0, i16 0, i16 0, i16 9799, i16 9800, i16 9801, i16 0, i16 3656, i16 9802, i16 9803, i16 5194, i16 0, i16 2338, i16 0, i16 9804, i16 0, i16 9805, i16 0, i16 0, i16 5190, i16 5195, i16 9806, i16 0, i16 915, i16 9807, i16 0, i16 9808, i16 0, i16 9809, i16 0, i16 0, i16 2122, i16 6364, i16 11773, i16 11774, i16 0, i16 11775, i16 0, i16 11776, i16 11777, i16 1666, i16 3724, i16 6365, i16 11778, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11779, i16 0, i16 11780, i16 11781, i16 0, i16 6366, i16 3126, i16 6367, i16 11782, i16 6375, i16 0, i16 11783, i16 0, i16 0, i16 1355, i16 1412, i16 5657, i16 0, i16 0, i16 10668, i16 10669, i16 0, i16 3209, i16 0, i16 2227, i16 0, i16 3393, i16 0, i16 10670, i16 5658, i16 0, i16 3584, i16 0, i16 10671, i16 2991, i16 0, i16 2381, i16 2927, i16 0, i16 0, i16 2012, i16 0, i16 0, i16 10672, i16 777, i16 0, i16 13131, i16 0, i16 13132, i16 13133, i16 13134, i16 13135, i16 13136, i16 0, i16 0, i16 7078, i16 5519, i16 0, i16 0, i16 6400, i16 6795, i16 0, i16 0, i16 7079, i16 13137, i16 7080, i16 13138, i16 13139, i16 13140, i16 13141, i16 0, i16 13142, i16 0, i16 0, i16 13143, i16 13144, i16 7082, i16 0, i16 12365, i16 0, i16 12366, i16 12367, i16 0, i16 12368, i16 1054, i16 12369, i16 12375, i16 0, i16 12370, i16 6638, i16 6639, i16 2660, i16 0, i16 6637, i16 0, i16 0, i16 0, i16 12371, i16 12372, i16 12373, i16 0, i16 0, i16 6641, i16 12374, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1872, i16 4600, i16 8835, i16 8836, i16 0, i16 0, i16 1835, i16 4601, i16 781, i16 8837, i16 8838, i16 4596, i16 8839, i16 0, i16 0, i16 8840, i16 2634, i16 0, i16 8841, i16 0, i16 0, i16 8842, i16 0, i16 8843, i16 1298, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1329, i16 0, i16 1618, i16 1119, i16 0, i16 0, i16 0, i16 0, i16 9199, i16 9198, i16 4803, i16 1111, i16 4809, i16 9200, i16 9201, i16 0, i16 9202, i16 9203, i16 9204, i16 4806, i16 9205, i16 2332, i16 0, i16 0, i16 0, i16 1070, i16 1697, i16 0, i16 9206, i16 1069, i16 1732, i16 0, i16 9207, i16 0, i16 6996, i16 12990, i16 12991, i16 6993, i16 12988, i16 6999, i16 12992, i16 7000, i16 0, i16 12993, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7005, i16 7004, i16 0, i16 12994, i16 12995, i16 0, i16 0, i16 0, i16 0, i16 7006, i16 0, i16 0, i16 852, i16 7001, i16 7002, i16 12996, i16 0, i16 4182, i16 2908, i16 3063, i16 3426, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2912, i16 8220, i16 8221, i16 4191, i16 8222, i16 0, i16 0, i16 0, i16 8223, i16 1239, i16 0, i16 8224, i16 3508, i16 8225, i16 0, i16 3392, i16 0, i16 4286, i16 0, i16 4183, i16 0, i16 8226, i16 0, i16 1880, i16 0, i16 0, i16 0, i16 5494, i16 5489, i16 10378, i16 10379, i16 10380, i16 5495, i16 5490, i16 10381, i16 0, i16 10382, i16 0, i16 3057, i16 5488, i16 10383, i16 10384, i16 5491, i16 10385, i16 10386, i16 0, i16 0, i16 0, i16 5498, i16 10388, i16 0, i16 0, i16 0, i16 10389, i16 0, i16 9560, i16 0, i16 5043, i16 5045, i16 9561, i16 865, i16 9562, i16 0, i16 1623, i16 3677, i16 0, i16 1056, i16 0, i16 3161, i16 9563, i16 9564, i16 0, i16 0, i16 0, i16 3536, i16 0, i16 0, i16 1031, i16 2182, i16 5047, i16 0, i16 0, i16 9565, i16 0, i16 0, i16 0, i16 0, i16 12376, i16 0, i16 6647, i16 12377, i16 12378, i16 12379, i16 12380, i16 6650, i16 12381, i16 12382, i16 12383, i16 12384, i16 12385, i16 0, i16 0, i16 6649, i16 2732, i16 0, i16 12386, i16 0, i16 0, i16 6642, i16 6643, i16 6646, i16 12387, i16 0, i16 0, i16 12388, i16 6648, i16 12389, i16 12390, i16 0, i16 11868, i16 0, i16 0, i16 11869, i16 11870, i16 11871, i16 0, i16 6425, i16 6426, i16 3528, i16 11872, i16 0, i16 0, i16 0, i16 2820, i16 6430, i16 11873, i16 0, i16 0, i16 11874, i16 0, i16 11875, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6428, i16 6429, i16 6431, i16 0, i16 12126, i16 2216, i16 6569, i16 12127, i16 6570, i16 0, i16 12128, i16 0, i16 6571, i16 3550, i16 0, i16 1990, i16 12129, i16 0, i16 0, i16 0, i16 0, i16 6573, i16 6572, i16 12130, i16 1649, i16 0, i16 1674, i16 1811, i16 12131, i16 12132, i16 12133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4703, i16 9033, i16 4701, i16 4704, i16 3590, i16 4702, i16 0, i16 9034, i16 9035, i16 0, i16 2340, i16 4705, i16 0, i16 9036, i16 2455, i16 9037, i16 0, i16 4706, i16 0, i16 9038, i16 0, i16 9039, i16 1211, i16 9040, i16 4708, i16 0, i16 4707, i16 0, i16 0, i16 0, i16 9041, i16 0, i16 11104, i16 11105, i16 5986, i16 0, i16 0, i16 0, i16 0, i16 826, i16 0, i16 0, i16 5977, i16 11106, i16 11107, i16 11108, i16 5976, i16 11109, i16 5971, i16 5970, i16 11110, i16 5968, i16 5967, i16 2598, i16 11111, i16 2528, i16 5973, i16 11112, i16 0, i16 11113, i16 11114, i16 0, i16 0, i16 0, i16 11364, i16 0, i16 6107, i16 2941, i16 0, i16 11365, i16 11366, i16 11367, i16 6108, i16 6109, i16 6119, i16 0, i16 11368, i16 0, i16 6113, i16 6116, i16 11369, i16 0, i16 11370, i16 11371, i16 11372, i16 6112, i16 11373, i16 11374, i16 11375, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11376, i16 0, i16 12134, i16 6576, i16 12135, i16 0, i16 12136, i16 12137, i16 2037, i16 0, i16 6575, i16 12138, i16 6574, i16 0, i16 2510, i16 12139, i16 0, i16 1576, i16 12140, i16 2284, i16 12141, i16 12142, i16 12143, i16 0, i16 3017, i16 12144, i16 0, i16 0, i16 0, i16 1992, i16 0, i16 12145, i16 0, i16 0, i16 4458, i16 8665, i16 4461, i16 4463, i16 0, i16 8666, i16 0, i16 8667, i16 1902, i16 8668, i16 4469, i16 2705, i16 4459, i16 8669, i16 0, i16 0, i16 8670, i16 4467, i16 8671, i16 1022, i16 8672, i16 4465, i16 4466, i16 8673, i16 0, i16 4462, i16 4464, i16 0, i16 8674, i16 8675, i16 1568, i16 0, i16 7018, i16 7024, i16 13030, i16 7017, i16 0, i16 7022, i16 13031, i16 0, i16 13032, i16 13033, i16 0, i16 0, i16 0, i16 0, i16 7023, i16 0, i16 0, i16 0, i16 7026, i16 13034, i16 13035, i16 13036, i16 13037, i16 0, i16 7025, i16 13038, i16 0, i16 0, i16 0, i16 13039, i16 13040, i16 0, i16 10858, i16 10859, i16 5804, i16 1421, i16 0, i16 10860, i16 0, i16 2345, i16 1248, i16 10861, i16 0, i16 0, i16 10862, i16 5808, i16 5805, i16 0, i16 0, i16 5806, i16 0, i16 10863, i16 0, i16 5809, i16 0, i16 5810, i16 5807, i16 0, i16 0, i16 10864, i16 848, i16 0, i16 10865, i16 0, i16 3180, i16 2325, i16 0, i16 1918, i16 4261, i16 2074, i16 4262, i16 4263, i16 796, i16 2463, i16 2205, i16 8379, i16 4264, i16 2832, i16 2075, i16 0, i16 2076, i16 0, i16 4265, i16 0, i16 0, i16 2326, i16 8380, i16 0, i16 0, i16 2077, i16 0, i16 0, i16 0, i16 8381, i16 8382, i16 0, i16 12400, i16 12401, i16 6655, i16 12402, i16 0, i16 0, i16 6656, i16 12403, i16 12404, i16 0, i16 0, i16 0, i16 12405, i16 12406, i16 12407, i16 6657, i16 0, i16 0, i16 6654, i16 6653, i16 12408, i16 12409, i16 12410, i16 2127, i16 2823, i16 6652, i16 0, i16 0, i16 0, i16 0, i16 12411, i16 0, i16 8562, i16 8563, i16 8564, i16 8565, i16 3456, i16 1522, i16 1541, i16 8566, i16 4392, i16 0, i16 8567, i16 8568, i16 4393, i16 8569, i16 4399, i16 8570, i16 1942, i16 0, i16 0, i16 8571, i16 2630, i16 8572, i16 1324, i16 4394, i16 0, i16 0, i16 8573, i16 3106, i16 8574, i16 2569, i16 8575, i16 0, i16 12146, i16 6577, i16 0, i16 2124, i16 0, i16 12147, i16 0, i16 12148, i16 0, i16 6580, i16 6578, i16 12149, i16 12150, i16 12151, i16 6579, i16 12152, i16 12153, i16 12154, i16 12155, i16 6582, i16 6581, i16 12156, i16 0, i16 2151, i16 0, i16 6583, i16 12157, i16 12158, i16 12159, i16 0, i16 12160, i16 0, i16 3960, i16 7810, i16 1256, i16 1065, i16 0, i16 0, i16 0, i16 1662, i16 1255, i16 2688, i16 844, i16 2830, i16 3407, i16 1592, i16 3560, i16 2758, i16 1591, i16 0, i16 7811, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7812, i16 1418, i16 0, i16 3969, i16 0, i16 1376, i16 0, i16 3705, i16 11299, i16 0, i16 0, i16 0, i16 0, i16 11300, i16 0, i16 6080, i16 11301, i16 11302, i16 0, i16 3556, i16 11303, i16 6082, i16 6084, i16 0, i16 0, i16 0, i16 0, i16 6085, i16 0, i16 0, i16 11305, i16 0, i16 11306, i16 0, i16 6088, i16 6086, i16 0, i16 11307, i16 0, i16 10363, i16 0, i16 5484, i16 10367, i16 0, i16 0, i16 3232, i16 10368, i16 2306, i16 5486, i16 0, i16 10369, i16 10370, i16 0, i16 5487, i16 10371, i16 10372, i16 10373, i16 10374, i16 0, i16 5485, i16 0, i16 0, i16 0, i16 0, i16 1073, i16 10375, i16 5493, i16 10376, i16 5492, i16 10377, i16 0, i16 12670, i16 1233, i16 12671, i16 0, i16 12672, i16 12673, i16 12674, i16 0, i16 6823, i16 12675, i16 6824, i16 0, i16 3910, i16 4959, i16 3052, i16 0, i16 0, i16 836, i16 12676, i16 772, i16 0, i16 12677, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1863, i16 3299, i16 2155, i16 0, i16 0, i16 1408, i16 6500, i16 6501, i16 6502, i16 11984, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8328, i16 2139, i16 0, i16 0, i16 8329, i16 0, i16 0, i16 0, i16 0, i16 4225, i16 0, i16 2685, i16 8330, i16 0, i16 0, i16 876, i16 0, i16 4223, i16 0, i16 8324, i16 0, i16 4226, i16 0, i16 8331, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4227, i16 0, i16 0, i16 4489, i16 8720, i16 0, i16 0, i16 0, i16 0, i16 4497, i16 4496, i16 0, i16 8721, i16 8722, i16 4501, i16 0, i16 0, i16 0, i16 8723, i16 8724, i16 0, i16 0, i16 4502, i16 8725, i16 8726, i16 8727, i16 0, i16 8728, i16 0, i16 0, i16 4500, i16 4503, i16 4495, i16 4499, i16 0, i16 8076, i16 2221, i16 8077, i16 0, i16 0, i16 0, i16 0, i16 4104, i16 4107, i16 0, i16 1434, i16 8078, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4108, i16 8079, i16 8088, i16 0, i16 8080, i16 0, i16 8081, i16 8082, i16 0, i16 8083, i16 8084, i16 8085, i16 8086, i16 0, i16 12940, i16 0, i16 12941, i16 12942, i16 12943, i16 6973, i16 6971, i16 2544, i16 12944, i16 12945, i16 0, i16 0, i16 0, i16 12946, i16 12947, i16 12948, i16 0, i16 3363, i16 12949, i16 12950, i16 0, i16 12951, i16 3623, i16 12952, i16 0, i16 6975, i16 12953, i16 12960, i16 12954, i16 12955, i16 12956, i16 0, i16 654, i16 7143, i16 7144, i16 7145, i16 7146, i16 7147, i16 7148, i16 7149, i16 7150, i16 7151, i16 7152, i16 7153, i16 0, i16 7154, i16 7155, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 0, i16 1423, i16 6557, i16 0, i16 6558, i16 12078, i16 0, i16 0, i16 3179, i16 0, i16 0, i16 12081, i16 0, i16 1079, i16 0, i16 12082, i16 12083, i16 0, i16 0, i16 0, i16 12084, i16 3496, i16 12080, i16 1340, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2771, i16 12085, i16 12086, i16 0, i16 10127, i16 5350, i16 0, i16 0, i16 10128, i16 5345, i16 5346, i16 0, i16 5349, i16 5348, i16 3100, i16 0, i16 0, i16 2377, i16 2376, i16 10129, i16 1246, i16 10130, i16 10131, i16 5351, i16 10132, i16 0, i16 0, i16 0, i16 10133, i16 5352, i16 0, i16 10134, i16 5353, i16 0, i16 0, i16 0, i16 11407, i16 0, i16 11408, i16 0, i16 6142, i16 0, i16 0, i16 11409, i16 6143, i16 0, i16 0, i16 0, i16 0, i16 11410, i16 11411, i16 0, i16 11412, i16 11413, i16 0, i16 6138, i16 0, i16 0, i16 6140, i16 0, i16 11414, i16 11415, i16 6141, i16 11416, i16 11417, i16 11418, i16 6139, i16 0, i16 5010, i16 5007, i16 3535, i16 0, i16 9507, i16 9508, i16 9509, i16 2657, i16 9510, i16 0, i16 0, i16 2870, i16 5008, i16 0, i16 0, i16 5016, i16 0, i16 5015, i16 1406, i16 9511, i16 9512, i16 946, i16 9513, i16 9514, i16 1712, i16 5009, i16 5011, i16 9515, i16 0, i16 0, i16 9516, i16 0, i16 8851, i16 8852, i16 8853, i16 8854, i16 0, i16 8855, i16 0, i16 0, i16 2447, i16 8856, i16 8857, i16 1790, i16 4606, i16 8858, i16 4608, i16 4604, i16 0, i16 8859, i16 8860, i16 8861, i16 3254, i16 0, i16 2654, i16 8862, i16 0, i16 0, i16 8863, i16 2403, i16 0, i16 0, i16 0, i16 0, i16 11163, i16 0, i16 6002, i16 2839, i16 0, i16 11164, i16 6007, i16 0, i16 0, i16 11165, i16 6004, i16 3291, i16 6010, i16 809, i16 11166, i16 0, i16 11167, i16 0, i16 5998, i16 0, i16 11168, i16 0, i16 0, i16 0, i16 11169, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3228, i16 2651, i16 1687, i16 0, i16 1655, i16 2038, i16 12619, i16 2215, i16 0, i16 12620, i16 0, i16 6801, i16 12622, i16 12623, i16 6800, i16 3505, i16 1193, i16 3051, i16 2873, i16 12624, i16 0, i16 12625, i16 2247, i16 3611, i16 12621, i16 1462, i16 0, i16 12626, i16 0, i16 12627, i16 0, i16 0, i16 4765, i16 0, i16 0, i16 0, i16 9146, i16 4768, i16 9147, i16 9148, i16 2244, i16 0, i16 0, i16 9149, i16 0, i16 3562, i16 786, i16 1749, i16 2465, i16 0, i16 1934, i16 9150, i16 9151, i16 2144, i16 0, i16 0, i16 4771, i16 0, i16 0, i16 2765, i16 9152, i16 4769, i16 2448, i16 0, i16 3230, i16 8167, i16 0, i16 8165, i16 4143, i16 0, i16 2568, i16 8168, i16 0, i16 1018, i16 0, i16 2138, i16 8169, i16 8170, i16 0, i16 8171, i16 4145, i16 8172, i16 4144, i16 8173, i16 1663, i16 8174, i16 4146, i16 4148, i16 4147, i16 8175, i16 0, i16 4150, i16 8176, i16 4139, i16 4152, i16 0, i16 6046, i16 0, i16 0, i16 0, i16 0, i16 11204, i16 0, i16 11205, i16 11206, i16 11207, i16 0, i16 0, i16 6024, i16 0, i16 11208, i16 0, i16 11209, i16 1114, i16 0, i16 11210, i16 0, i16 0, i16 0, i16 2149, i16 6035, i16 11211, i16 6040, i16 2426, i16 11212, i16 11213, i16 6036, i16 0, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 0, i16 6047, i16 11241, i16 11242, i16 11243, i16 11244, i16 2678, i16 11245, i16 0, i16 0, i16 11246, i16 11247, i16 6052, i16 839, i16 0, i16 11248, i16 0, i16 0, i16 11229, i16 11249, i16 11250, i16 2439, i16 11251, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3224, i16 0, i16 11252, i16 0, i16 9892, i16 1333, i16 5243, i16 5245, i16 0, i16 5244, i16 9893, i16 0, i16 9894, i16 0, i16 0, i16 9895, i16 0, i16 5246, i16 0, i16 1546, i16 0, i16 5247, i16 0, i16 0, i16 9896, i16 9897, i16 1382, i16 9898, i16 2375, i16 0, i16 1684, i16 0, i16 0, i16 0, i16 9899, i16 0, i16 10918, i16 0, i16 0, i16 5849, i16 5851, i16 5850, i16 3006, i16 10919, i16 2902, i16 0, i16 3689, i16 3010, i16 0, i16 10920, i16 0, i16 0, i16 0, i16 0, i16 5853, i16 0, i16 0, i16 2112, i16 0, i16 3105, i16 0, i16 5854, i16 5852, i16 10921, i16 1167, i16 10922, i16 0, i16 0, i16 7848, i16 3986, i16 0, i16 3995, i16 3988, i16 7849, i16 7850, i16 3992, i16 7851, i16 7852, i16 3993, i16 3989, i16 7853, i16 7854, i16 4022, i16 0, i16 7855, i16 1758, i16 1044, i16 0, i16 0, i16 0, i16 7856, i16 3987, i16 7857, i16 7858, i16 7859, i16 3997, i16 831, i16 3996, i16 7860, i16 0, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 458, i16 459, i16 460, i16 461, i16 0, i16 3248, i16 8554, i16 4385, i16 3673, i16 0, i16 8555, i16 8556, i16 8557, i16 4386, i16 3221, i16 4389, i16 3711, i16 3727, i16 8558, i16 1889, i16 2898, i16 4390, i16 0, i16 1276, i16 2629, i16 835, i16 4391, i16 3195, i16 1607, i16 8559, i16 0, i16 2579, i16 8560, i16 8561, i16 0, i16 2704, i16 0, i16 3000, i16 0, i16 12729, i16 2481, i16 895, i16 1387, i16 0, i16 1388, i16 12730, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2614, i16 6858, i16 1389, i16 12731, i16 12732, i16 1012, i16 0, i16 0, i16 6857, i16 12733, i16 12734, i16 6855, i16 12735, i16 6856, i16 12736, i16 6854, i16 0, i16 3513, i16 4657, i16 0, i16 8965, i16 4653, i16 0, i16 4654, i16 0, i16 8966, i16 8967, i16 8968, i16 8969, i16 2407, i16 8970, i16 0, i16 8971, i16 8972, i16 4652, i16 0, i16 4587, i16 8973, i16 0, i16 8974, i16 4656, i16 0, i16 4651, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6334, i16 11726, i16 11727, i16 11728, i16 11729, i16 11730, i16 0, i16 11731, i16 6338, i16 0, i16 0, i16 6335, i16 11736, i16 6337, i16 6336, i16 0, i16 0, i16 11732, i16 11733, i16 11734, i16 0, i16 6339, i16 0, i16 1890, i16 11735, i16 6341, i16 6340, i16 3167, i16 0, i16 11737, i16 6343, i16 0, i16 11198, i16 6026, i16 0, i16 6021, i16 11199, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2114, i16 0, i16 0, i16 0, i16 0, i16 1982, i16 0, i16 11200, i16 11201, i16 1885, i16 11202, i16 0, i16 0, i16 0, i16 3433, i16 0, i16 0, i16 3134, i16 0, i16 11203, i16 6037, i16 0, i16 6591, i16 0, i16 2689, i16 12170, i16 12171, i16 3336, i16 1401, i16 0, i16 12172, i16 12173, i16 0, i16 12174, i16 12175, i16 12176, i16 12177, i16 12178, i16 12179, i16 0, i16 0, i16 0, i16 6594, i16 6595, i16 12180, i16 0, i16 12181, i16 0, i16 12182, i16 6593, i16 12183, i16 0, i16 6597, i16 0, i16 3009, i16 4355, i16 3219, i16 4356, i16 0, i16 0, i16 0, i16 8521, i16 0, i16 8522, i16 8523, i16 8524, i16 8525, i16 8526, i16 0, i16 8527, i16 0, i16 1140, i16 3220, i16 2922, i16 4358, i16 4359, i16 0, i16 1603, i16 1141, i16 4360, i16 1521, i16 3507, i16 3480, i16 1207, i16 4362, i16 0, i16 3526, i16 0, i16 6257, i16 0, i16 0, i16 3193, i16 2945, i16 6258, i16 11600, i16 6259, i16 1508, i16 0, i16 11601, i16 0, i16 1227, i16 11602, i16 0, i16 0, i16 6260, i16 11603, i16 11604, i16 1854, i16 2940, i16 6261, i16 0, i16 1075, i16 11605, i16 11606, i16 0, i16 0, i16 11607, i16 0, i16 3783, i16 7516, i16 3268, i16 2576, i16 3779, i16 1484, i16 7517, i16 3776, i16 3784, i16 3778, i16 3614, i16 3785, i16 3692, i16 7518, i16 0, i16 7519, i16 0, i16 7520, i16 7521, i16 0, i16 7522, i16 1379, i16 0, i16 0, i16 1483, i16 0, i16 7546, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9159, i16 0, i16 0, i16 9160, i16 4783, i16 0, i16 3091, i16 0, i16 4774, i16 0, i16 4780, i16 4779, i16 0, i16 9161, i16 9162, i16 2296, i16 9163, i16 0, i16 9164, i16 0, i16 3360, i16 9165, i16 3616, i16 9166, i16 9167, i16 3354, i16 9168, i16 977, i16 1841, i16 0, i16 0, i16 0, i16 7112, i16 302, i16 303, i16 7120, i16 0, i16 7113, i16 309, i16 236, i16 7117, i16 7116, i16 0, i16 340, i16 0, i16 7118, i16 7106, i16 296, i16 283, i16 0, i16 0, i16 234, i16 0, i16 367, i16 0, i16 7103, i16 0, i16 7115, i16 0, i16 0, i16 0, i16 0, i16 7114, i16 0, i16 8138, i16 4127, i16 0, i16 8139, i16 0, i16 0, i16 8140, i16 8141, i16 925, i16 0, i16 2741, i16 0, i16 0, i16 0, i16 0, i16 4129, i16 0, i16 4125, i16 0, i16 0, i16 2203, i16 0, i16 0, i16 8142, i16 4133, i16 0, i16 0, i16 8143, i16 0, i16 2013, i16 8144, i16 0, i16 972, i16 4211, i16 0, i16 8307, i16 0, i16 8308, i16 0, i16 8309, i16 1900, i16 0, i16 4210, i16 1492, i16 0, i16 0, i16 8310, i16 4224, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4217, i16 4214, i16 0, i16 0, i16 8311, i16 0, i16 8312, i16 0, i16 0, i16 0, i16 0, i16 6865, i16 12747, i16 12748, i16 12749, i16 6867, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12750, i16 12751, i16 0, i16 1234, i16 6866, i16 12752, i16 12753, i16 2434, i16 1516, i16 0, i16 0, i16 12754, i16 0, i16 0, i16 6869, i16 0, i16 0, i16 0, i16 0, i16 12755, i16 0, i16 0, i16 10449, i16 0, i16 0, i16 0, i16 0, i16 1305, i16 5518, i16 10450, i16 10451, i16 5520, i16 10452, i16 0, i16 0, i16 5521, i16 10453, i16 2916, i16 10454, i16 0, i16 5522, i16 10455, i16 0, i16 0, i16 0, i16 10456, i16 5523, i16 5524, i16 10457, i16 0, i16 1366, i16 984, i16 2850, i16 0, i16 9683, i16 9684, i16 0, i16 2032, i16 0, i16 5139, i16 0, i16 9685, i16 0, i16 0, i16 0, i16 9686, i16 5132, i16 2637, i16 5129, i16 2682, i16 0, i16 0, i16 0, i16 5164, i16 0, i16 0, i16 0, i16 5126, i16 0, i16 5125, i16 0, i16 5134, i16 9687, i16 9688, i16 0, i16 0, i16 12499, i16 840, i16 2211, i16 2059, i16 1178, i16 6721, i16 0, i16 0, i16 0, i16 2977, i16 0, i16 6723, i16 0, i16 12500, i16 0, i16 841, i16 0, i16 6722, i16 2661, i16 12501, i16 3610, i16 2824, i16 6716, i16 3571, i16 0, i16 1514, i16 12502, i16 12503, i16 3530, i16 12504, i16 12505, i16 0, i16 6357, i16 0, i16 0, i16 0, i16 11760, i16 2819, i16 11761, i16 6359, i16 11762, i16 3296, i16 11763, i16 6360, i16 0, i16 6361, i16 11764, i16 6362, i16 11765, i16 0, i16 11766, i16 11767, i16 6363, i16 0, i16 11768, i16 11769, i16 11772, i16 2871, i16 11770, i16 0, i16 11771, i16 0, i16 0, i16 0, i16 11480, i16 0, i16 11481, i16 0, i16 6158, i16 11482, i16 0, i16 0, i16 11483, i16 11484, i16 11485, i16 0, i16 6178, i16 6182, i16 6177, i16 11486, i16 6184, i16 11488, i16 11489, i16 11490, i16 6186, i16 6185, i16 0, i16 11491, i16 11487, i16 11492, i16 11493, i16 11494, i16 0, i16 11495, i16 11496, i16 0, i16 12506, i16 12507, i16 12508, i16 12509, i16 1398, i16 3585, i16 0, i16 1411, i16 12510, i16 2503, i16 5873, i16 0, i16 6724, i16 1039, i16 2234, i16 0, i16 12511, i16 0, i16 0, i16 1081, i16 6726, i16 12512, i16 6727, i16 6725, i16 1471, i16 12513, i16 1746, i16 2128, i16 12514, i16 0, i16 12515, i16 0, i16 3548, i16 773, i16 5703, i16 0, i16 10730, i16 1290, i16 10731, i16 5700, i16 0, i16 10732, i16 0, i16 0, i16 0, i16 5701, i16 0, i16 10733, i16 2812, i16 5699, i16 5696, i16 0, i16 1035, i16 2317, i16 0, i16 10734, i16 1505, i16 10735, i16 10736, i16 0, i16 5708, i16 0, i16 10737, i16 0, i16 13021, i16 0, i16 0, i16 7014, i16 0, i16 0, i16 0, i16 0, i16 7015, i16 13022, i16 7010, i16 13023, i16 0, i16 13024, i16 6990, i16 0, i16 13025, i16 7016, i16 0, i16 2690, i16 13026, i16 0, i16 0, i16 7020, i16 13027, i16 7021, i16 7019, i16 13028, i16 0, i16 0, i16 13029, i16 0, i16 9187, i16 4794, i16 0, i16 4791, i16 0, i16 9188, i16 4799, i16 0, i16 4789, i16 0, i16 0, i16 4787, i16 0, i16 4795, i16 4785, i16 9189, i16 2607, i16 9190, i16 3465, i16 1911, i16 1769, i16 9191, i16 9192, i16 0, i16 9176, i16 0, i16 1711, i16 0, i16 0, i16 3362, i16 1060, i16 0, i16 3044, i16 0, i16 5746, i16 10797, i16 10798, i16 5741, i16 10799, i16 0, i16 0, i16 2344, i16 1453, i16 0, i16 1978, i16 10800, i16 0, i16 10801, i16 0, i16 10802, i16 0, i16 2160, i16 2365, i16 5752, i16 0, i16 10803, i16 5754, i16 5755, i16 0, i16 0, i16 5751, i16 5753, i16 10804, i16 0, i16 231, i16 0, i16 305, i16 301, i16 304, i16 306, i16 0, i16 263, i16 264, i16 307, i16 281, i16 225, i16 0, i16 226, i16 252, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 228, i16 229, i16 288, i16 286, i16 289, i16 230, i16 0, i16 3568, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11549, i16 6229, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11550, i16 11551, i16 11552, i16 6230, i16 2117, i16 6228, i16 11553, i16 0, i16 11554, i16 3542, i16 6225, i16 0, i16 0, i16 6227, i16 2278, i16 2249, i16 0, i16 0, i16 3824, i16 0, i16 7611, i16 0, i16 0, i16 0, i16 7612, i16 7613, i16 0, i16 3476, i16 0, i16 7614, i16 7615, i16 0, i16 7616, i16 0, i16 7617, i16 3434, i16 7618, i16 7619, i16 7620, i16 0, i16 3826, i16 7621, i16 7622, i16 3825, i16 3828, i16 3827, i16 0, i16 0, i16 3829, i16 0, i16 8177, i16 8178, i16 0, i16 4151, i16 4149, i16 0, i16 0, i16 0, i16 8179, i16 0, i16 1825, i16 2204, i16 0, i16 2395, i16 4153, i16 2277, i16 822, i16 2975, i16 8180, i16 0, i16 0, i16 0, i16 2684, i16 0, i16 4155, i16 4154, i16 4156, i16 4157, i16 4158, i16 0, i16 0, i16 0, i16 7922, i16 0, i16 7923, i16 4038, i16 4036, i16 7924, i16 4093, i16 0, i16 7925, i16 0, i16 7926, i16 7927, i16 0, i16 7928, i16 0, i16 0, i16 7929, i16 7930, i16 7931, i16 4041, i16 0, i16 0, i16 7932, i16 7933, i16 0, i16 4035, i16 7934, i16 4039, i16 0, i16 7935, i16 4037, i16 0, i16 8434, i16 0, i16 0, i16 0, i16 0, i16 8435, i16 2237, i16 0, i16 0, i16 0, i16 4302, i16 0, i16 8436, i16 1759, i16 0, i16 0, i16 4308, i16 8437, i16 0, i16 4309, i16 4303, i16 1046, i16 4304, i16 4313, i16 4312, i16 4311, i16 4307, i16 0, i16 0, i16 0, i16 4306, i16 0, i16 10738, i16 10739, i16 10740, i16 0, i16 10741, i16 10742, i16 0, i16 10743, i16 5705, i16 0, i16 10744, i16 10745, i16 10746, i16 0, i16 5707, i16 0, i16 10747, i16 0, i16 5704, i16 0, i16 0, i16 10748, i16 10749, i16 0, i16 1452, i16 2456, i16 5709, i16 2421, i16 10750, i16 10751, i16 5722, i16 0, i16 10227, i16 5421, i16 2961, i16 0, i16 10228, i16 3346, i16 0, i16 885, i16 10229, i16 894, i16 10230, i16 10231, i16 5422, i16 10232, i16 0, i16 0, i16 0, i16 5424, i16 0, i16 10233, i16 0, i16 5423, i16 2799, i16 0, i16 10234, i16 0, i16 2274, i16 4957, i16 0, i16 5425, i16 3410, i16 0, i16 9460, i16 0, i16 9461, i16 0, i16 0, i16 9462, i16 9463, i16 0, i16 0, i16 0, i16 4993, i16 4992, i16 0, i16 9464, i16 4995, i16 0, i16 9465, i16 0, i16 4994, i16 0, i16 0, i16 0, i16 9466, i16 0, i16 9467, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9468, i16 0, i16 5109, i16 0, i16 0, i16 0, i16 1156, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9674, i16 0, i16 9675, i16 9676, i16 9677, i16 1476, i16 0, i16 0, i16 9678, i16 5135, i16 9679, i16 9680, i16 5130, i16 2337, i16 9681, i16 9682, i16 1094, i16 0, i16 4855, i16 4834, i16 4854, i16 0, i16 4847, i16 4835, i16 0, i16 4851, i16 0, i16 4852, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4869, i16 9275, i16 0, i16 9276, i16 2859, i16 9277, i16 4842, i16 0, i16 9278, i16 4865, i16 0, i16 9279, i16 0, i16 4867, i16 0, i16 2681, i16 0, i16 3579, i16 0, i16 0, i16 2145, i16 2334, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9557, i16 0, i16 5048, i16 5046, i16 0, i16 3140, i16 0, i16 9558, i16 9559, i16 0, i16 8956, i16 0, i16 8957, i16 2736, i16 4647, i16 8958, i16 0, i16 8959, i16 4648, i16 0, i16 3174, i16 8960, i16 2944, i16 1782, i16 0, i16 2330, i16 0, i16 3331, i16 8961, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1068, i16 0, i16 4655, i16 4650, i16 8962, i16 8963, i16 8964, i16 0, i16 8190, i16 3397, i16 8191, i16 8192, i16 4164, i16 0, i16 2508, i16 8193, i16 2742, i16 2469, i16 3150, i16 4165, i16 4166, i16 930, i16 8194, i16 8195, i16 1899, i16 4167, i16 8196, i16 0, i16 8197, i16 8198, i16 793, i16 4168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4169, i16 8199, i16 0, i16 12543, i16 12544, i16 12545, i16 6755, i16 0, i16 0, i16 3401, i16 12546, i16 0, i16 6756, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6757, i16 12547, i16 3669, i16 12548, i16 0, i16 0, i16 0, i16 0, i16 4761, i16 6758, i16 0, i16 0, i16 0, i16 6759, i16 6760, i16 0, i16 11520, i16 1644, i16 6199, i16 810, i16 11521, i16 0, i16 0, i16 0, i16 3124, i16 11522, i16 0, i16 6200, i16 0, i16 0, i16 0, i16 0, i16 2229, i16 11523, i16 6207, i16 0, i16 0, i16 6204, i16 0, i16 2610, i16 0, i16 11524, i16 0, i16 11525, i16 0, i16 6205, i16 6202, i16 1371, i16 5889, i16 0, i16 10986, i16 5892, i16 5891, i16 0, i16 0, i16 0, i16 3319, i16 5895, i16 0, i16 0, i16 0, i16 0, i16 10987, i16 0, i16 5896, i16 0, i16 10988, i16 2366, i16 10989, i16 5897, i16 0, i16 0, i16 5899, i16 0, i16 5903, i16 10990, i16 0, i16 5900, i16 5898, i16 2938, i16 6145, i16 11425, i16 0, i16 6156, i16 11426, i16 11427, i16 993, i16 0, i16 6152, i16 0, i16 6157, i16 0, i16 0, i16 0, i16 6153, i16 11428, i16 0, i16 11429, i16 11430, i16 0, i16 6150, i16 0, i16 2644, i16 0, i16 6147, i16 0, i16 0, i16 11431, i16 0, i16 0, i16 0, i16 2979, i16 11265, i16 11266, i16 11267, i16 6058, i16 11268, i16 0, i16 0, i16 0, i16 3706, i16 2815, i16 3178, i16 11269, i16 0, i16 6071, i16 0, i16 11270, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6077, i16 0, i16 11271, i16 11272, i16 11273, i16 0, i16 11274, i16 6078, i16 11275, i16 12802, i16 0, i16 6898, i16 6899, i16 12803, i16 12804, i16 6900, i16 12805, i16 0, i16 12806, i16 3018, i16 6902, i16 12807, i16 3101, i16 6903, i16 6901, i16 0, i16 6905, i16 12808, i16 12809, i16 6904, i16 12810, i16 0, i16 6906, i16 0, i16 12811, i16 12812, i16 6907, i16 0, i16 12813, i16 0, i16 12814, i16 4611, i16 0, i16 8875, i16 2404, i16 8876, i16 0, i16 0, i16 8877, i16 1961, i16 4616, i16 8878, i16 0, i16 2085, i16 0, i16 4610, i16 4615, i16 8879, i16 0, i16 2958, i16 0, i16 8880, i16 8881, i16 4609, i16 0, i16 1404, i16 8882, i16 8883, i16 1088, i16 0, i16 0, i16 8884, i16 4617, i16 4100, i16 0, i16 1753, i16 0, i16 0, i16 8052, i16 8053, i16 1358, i16 0, i16 0, i16 3306, i16 0, i16 8054, i16 8055, i16 4098, i16 4101, i16 1718, i16 1594, i16 8056, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9732, i16 0, i16 0, i16 9733, i16 0, i16 0, i16 2616, i16 2514, i16 0, i16 0, i16 0, i16 0, i16 2254, i16 0, i16 0, i16 9734, i16 5168, i16 0, i16 5170, i16 0, i16 9735, i16 0, i16 0, i16 9736, i16 0, i16 9737, i16 0, i16 0, i16 9738, i16 0, i16 5169, i16 0, i16 10244, i16 2103, i16 0, i16 0, i16 5434, i16 0, i16 10245, i16 5433, i16 5432, i16 3094, i16 10246, i16 1160, i16 1506, i16 0, i16 10247, i16 0, i16 0, i16 0, i16 10248, i16 0, i16 10249, i16 10250, i16 0, i16 10251, i16 0, i16 10252, i16 10253, i16 5440, i16 10254, i16 0, i16 5437, i16 2186, i16 7429, i16 0, i16 0, i16 7447, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3758, i16 7448, i16 0, i16 7449, i16 0, i16 7450, i16 3761, i16 3759, i16 7451, i16 0, i16 967, i16 0, i16 3216, i16 3753, i16 7452, i16 7453, i16 7454, i16 7455, i16 3757, i16 1580, i16 7456, i16 7457, i16 1819, i16 12293, i16 12294, i16 0, i16 12295, i16 2058, i16 12296, i16 0, i16 12297, i16 12298, i16 6620, i16 3252, i16 0, i16 12299, i16 891, i16 12300, i16 0, i16 12301, i16 0, i16 3133, i16 2613, i16 0, i16 0, i16 0, i16 0, i16 1303, i16 12302, i16 6622, i16 12303, i16 1652, i16 0, i16 0, i16 12304, i16 7686, i16 7687, i16 0, i16 1488, i16 1747, i16 2984, i16 7688, i16 0, i16 0, i16 3888, i16 3886, i16 0, i16 0, i16 0, i16 7689, i16 3186, i16 2135, i16 3895, i16 1095, i16 3889, i16 3887, i16 2390, i16 0, i16 7690, i16 7691, i16 7692, i16 0, i16 0, i16 0, i16 3891, i16 0, i16 3890, i16 11526, i16 6201, i16 6208, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1425, i16 0, i16 0, i16 2499, i16 0, i16 6214, i16 0, i16 0, i16 0, i16 0, i16 6210, i16 0, i16 0, i16 0, i16 2458, i16 6209, i16 11527, i16 6212, i16 11528, i16 11529, i16 11530, i16 0, i16 6203, i16 11531, i16 4103, i16 0, i16 0, i16 4114, i16 0, i16 0, i16 4115, i16 8095, i16 8096, i16 0, i16 0, i16 3351, i16 8097, i16 0, i16 2136, i16 8098, i16 0, i16 0, i16 4117, i16 4118, i16 4116, i16 8099, i16 4120, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2931, i16 8100, i16 8101, i16 817, i16 5383, i16 5384, i16 5385, i16 10177, i16 5386, i16 10178, i16 10179, i16 5382, i16 0, i16 10180, i16 0, i16 0, i16 0, i16 10181, i16 0, i16 0, i16 5388, i16 0, i16 10182, i16 10183, i16 5387, i16 10184, i16 0, i16 0, i16 10185, i16 10186, i16 10187, i16 5389, i16 10188, i16 0, i16 0, i16 0, i16 11015, i16 5917, i16 5918, i16 11016, i16 0, i16 5919, i16 0, i16 5920, i16 1338, i16 4660, i16 5921, i16 0, i16 2318, i16 5922, i16 1916, i16 11017, i16 5923, i16 0, i16 3726, i16 11018, i16 11019, i16 0, i16 5924, i16 3251, i16 1181, i16 11020, i16 11021, i16 2347, i16 2023, i16 11022, i16 3176, i16 1981, i16 5128, i16 5127, i16 5133, i16 9689, i16 2250, i16 0, i16 5124, i16 9690, i16 9691, i16 0, i16 0, i16 9692, i16 9693, i16 9694, i16 5136, i16 0, i16 9695, i16 5137, i16 9696, i16 9697, i16 9698, i16 0, i16 9699, i16 1155, i16 0, i16 0, i16 9700, i16 0, i16 0, i16 0, i16 0, i16 9701, i16 8457, i16 8458, i16 8459, i16 0, i16 8460, i16 0, i16 0, i16 0, i16 0, i16 2238, i16 8461, i16 0, i16 4318, i16 8462, i16 0, i16 1708, i16 8463, i16 0, i16 0, i16 4319, i16 0, i16 0, i16 4320, i16 0, i16 0, i16 8464, i16 8465, i16 0, i16 0, i16 0, i16 8466, i16 8467, i16 2314, i16 5617, i16 10602, i16 0, i16 3048, i16 10603, i16 5621, i16 3240, i16 10604, i16 2590, i16 10605, i16 5616, i16 5618, i16 0, i16 0, i16 5619, i16 0, i16 0, i16 0, i16 0, i16 10606, i16 0, i16 10607, i16 10608, i16 0, i16 10609, i16 10610, i16 10611, i16 0, i16 5622, i16 0, i16 0, i16 13066, i16 7038, i16 13067, i16 13068, i16 13069, i16 13070, i16 0, i16 13071, i16 7039, i16 0, i16 0, i16 7040, i16 7041, i16 0, i16 13072, i16 13073, i16 0, i16 7044, i16 7042, i16 3687, i16 0, i16 7043, i16 13074, i16 3644, i16 13075, i16 0, i16 0, i16 13076, i16 0, i16 7045, i16 13077, i16 3624, i16 4363, i16 0, i16 8531, i16 0, i16 8532, i16 8533, i16 2776, i16 1719, i16 8534, i16 0, i16 8535, i16 1540, i16 8536, i16 2702, i16 0, i16 0, i16 0, i16 8537, i16 0, i16 8538, i16 0, i16 780, i16 2045, i16 1606, i16 3510, i16 0, i16 0, i16 0, i16 0, i16 8539, i16 8540, i16 8541, i16 6667, i16 12430, i16 6668, i16 12431, i16 0, i16 0, i16 0, i16 0, i16 12432, i16 0, i16 6670, i16 12433, i16 0, i16 12434, i16 12435, i16 12436, i16 6672, i16 12437, i16 12438, i16 0, i16 0, i16 6673, i16 0, i16 6674, i16 0, i16 0, i16 0, i16 0, i16 6677, i16 6675, i16 6678, i16 6680, i16 2572, i16 9363, i16 0, i16 9364, i16 4930, i16 0, i16 9365, i16 9366, i16 0, i16 9367, i16 0, i16 9368, i16 0, i16 4928, i16 1570, i16 0, i16 4927, i16 9369, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4933, i16 0, i16 0, i16 0, i16 9370, i16 4800, i16 9371, i16 9372, i16 9373, i16 3340, i16 0, i16 2831, i16 8114, i16 8115, i16 1491, i16 2484, i16 0, i16 8116, i16 8117, i16 4119, i16 4122, i16 8119, i16 8120, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2473, i16 0, i16 0, i16 0, i16 4123, i16 0, i16 8121, i16 0, i16 4124, i16 8122, i16 8123, i16 7436, i16 0, i16 7437, i16 2674, i16 0, i16 0, i16 2533, i16 3752, i16 7438, i16 7439, i16 0, i16 7440, i16 7441, i16 789, i16 2692, i16 1994, i16 1705, i16 3475, i16 7442, i16 2483, i16 7443, i16 964, i16 7444, i16 3751, i16 7445, i16 3501, i16 3747, i16 3749, i16 1763, i16 3750, i16 4184, i16 7446, i16 11532, i16 0, i16 6213, i16 0, i16 6215, i16 0, i16 0, i16 0, i16 11533, i16 0, i16 11534, i16 3080, i16 0, i16 0, i16 6211, i16 0, i16 6216, i16 6218, i16 0, i16 0, i16 1548, i16 6206, i16 0, i16 778, i16 0, i16 0, i16 11535, i16 0, i16 0, i16 11536, i16 11537, i16 6217, i16 4109, i16 8087, i16 1595, i16 1059, i16 4111, i16 0, i16 0, i16 8089, i16 8090, i16 8091, i16 4112, i16 0, i16 8092, i16 0, i16 0, i16 0, i16 4113, i16 0, i16 0, i16 4110, i16 0, i16 0, i16 0, i16 0, i16 8093, i16 0, i16 0, i16 0, i16 0, i16 8094, i16 0, i16 0, i16 5901, i16 0, i16 5902, i16 10992, i16 0, i16 10993, i16 951, i16 0, i16 5909, i16 5904, i16 10994, i16 10991, i16 0, i16 5905, i16 10995, i16 10996, i16 0, i16 5906, i16 0, i16 2438, i16 0, i16 10997, i16 0, i16 10998, i16 5908, i16 5907, i16 5910, i16 10999, i16 0, i16 11000, i16 11001, i16 5911, i16 7693, i16 0, i16 7694, i16 1063, i16 0, i16 7695, i16 0, i16 1467, i16 3896, i16 3578, i16 7696, i16 0, i16 7697, i16 3892, i16 0, i16 0, i16 0, i16 3897, i16 3894, i16 7698, i16 3893, i16 7699, i16 7700, i16 7701, i16 7702, i16 0, i16 7703, i16 3612, i16 7704, i16 0, i16 0, i16 1586, i16 10510, i16 5545, i16 5546, i16 2148, i16 0, i16 10511, i16 0, i16 10512, i16 0, i16 5547, i16 10513, i16 1074, i16 0, i16 10514, i16 0, i16 0, i16 5549, i16 0, i16 0, i16 0, i16 1477, i16 10515, i16 1285, i16 0, i16 10516, i16 5550, i16 1394, i16 0, i16 0, i16 5551, i16 10517, i16 2341, i16 2063, i16 1318, i16 0, i16 3924, i16 0, i16 7751, i16 0, i16 7752, i16 7753, i16 7754, i16 3060, i16 7755, i16 7756, i16 7757, i16 0, i16 3925, i16 7758, i16 3926, i16 7759, i16 3927, i16 0, i16 7760, i16 0, i16 0, i16 3928, i16 3099, i16 1381, i16 814, i16 7761, i16 7762, i16 7763, i16 2844, i16 4623, i16 8891, i16 0, i16 2460, i16 4629, i16 8892, i16 4624, i16 0, i16 8893, i16 4626, i16 0, i16 0, i16 0, i16 0, i16 8894, i16 3128, i16 2708, i16 8895, i16 4627, i16 8896, i16 8897, i16 8898, i16 3483, i16 0, i16 0, i16 0, i16 3511, i16 1146, i16 8899, i16 0, i16 0, i16 0, i16 12815, i16 12816, i16 12817, i16 12818, i16 12819, i16 12820, i16 6908, i16 0, i16 12821, i16 12822, i16 0, i16 12823, i16 12824, i16 12825, i16 12826, i16 0, i16 12827, i16 0, i16 12828, i16 0, i16 0, i16 0, i16 12829, i16 0, i16 6909, i16 12830, i16 6910, i16 12831, i16 12832, i16 0, i16 0, i16 6911, i16 5648, i16 0, i16 0, i16 5645, i16 0, i16 0, i16 10645, i16 0, i16 0, i16 0, i16 10646, i16 0, i16 5644, i16 2299, i16 0, i16 5647, i16 5649, i16 10648, i16 10649, i16 10650, i16 5646, i16 10647, i16 5653, i16 0, i16 5650, i16 10651, i16 10652, i16 10653, i16 10654, i16 10655, i16 10656, i16 5651, i16 10000, i16 10001, i16 0, i16 1284, i16 10002, i16 5284, i16 3564, i16 10003, i16 0, i16 3581, i16 10004, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10005, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10006, i16 10007, i16 0, i16 0, i16 0, i16 0, i16 1297, i16 1067, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8830, i16 0, i16 1098, i16 2156, i16 4597, i16 4602, i16 0, i16 4598, i16 8831, i16 1496, i16 8832, i16 4603, i16 1781, i16 1664, i16 0, i16 0, i16 0, i16 0, i16 8833, i16 8834, i16 1973, i16 4585, i16 10769, i16 918, i16 0, i16 0, i16 2889, i16 5731, i16 0, i16 0, i16 10781, i16 5738, i16 5732, i16 5739, i16 0, i16 0, i16 0, i16 0, i16 10782, i16 10783, i16 5735, i16 0, i16 0, i16 10784, i16 0, i16 10785, i16 0, i16 0, i16 0, i16 2998, i16 10786, i16 10787, i16 1915, i16 5737, i16 12305, i16 0, i16 12306, i16 0, i16 0, i16 0, i16 1791, i16 0, i16 12307, i16 0, i16 0, i16 0, i16 0, i16 12308, i16 0, i16 6621, i16 2232, i16 12309, i16 0, i16 0, i16 12310, i16 12311, i16 0, i16 0, i16 2233, i16 6625, i16 6627, i16 0, i16 12312, i16 12313, i16 12314, i16 12315, i16 11538, i16 1744, i16 3651, i16 6219, i16 6220, i16 2428, i16 0, i16 0, i16 0, i16 0, i16 11539, i16 11540, i16 11541, i16 11542, i16 11543, i16 3567, i16 0, i16 11544, i16 11545, i16 11546, i16 6221, i16 3492, i16 0, i16 0, i16 6222, i16 6223, i16 0, i16 11547, i16 3257, i16 6224, i16 11548, i16 1717, i16 1299, i16 2766, i16 9602, i16 5080, i16 5089, i16 760, i16 857, i16 9603, i16 0, i16 958, i16 0, i16 5082, i16 2449, i16 5073, i16 5075, i16 1624, i16 0, i16 0, i16 9604, i16 0, i16 0, i16 0, i16 9605, i16 0, i16 5092, i16 9606, i16 5087, i16 9607, i16 9608, i16 0, i16 5079, i16 0, i16 2323, i16 7769, i16 0, i16 7770, i16 0, i16 7771, i16 1424, i16 0, i16 0, i16 3937, i16 0, i16 0, i16 7772, i16 7773, i16 3938, i16 851, i16 830, i16 1198, i16 7774, i16 2445, i16 1264, i16 3552, i16 0, i16 3941, i16 956, i16 7775, i16 0, i16 3940, i16 0, i16 0, i16 7776, i16 1319, i16 7188, i16 7173, i16 7187, i16 7239, i16 7324, i16 7241, i16 7326, i16 7240, i16 7325, i16 7189, i16 7175, i16 7190, i16 7249, i16 7334, i16 0, i16 0, i16 7248, i16 7333, i16 7177, i16 7192, i16 7251, i16 7336, i16 7253, i16 7338, i16 7252, i16 7337, i16 7254, i16 7339, i16 7255, i16 7340, i16 7257, i16 7342, i16 6165, i16 11458, i16 0, i16 0, i16 6169, i16 0, i16 6172, i16 6171, i16 11459, i16 11460, i16 11461, i16 6163, i16 0, i16 0, i16 11462, i16 0, i16 6166, i16 0, i16 6183, i16 0, i16 0, i16 11463, i16 11464, i16 0, i16 0, i16 11465, i16 11466, i16 0, i16 11467, i16 0, i16 0, i16 11468, i16 2582, i16 0, i16 5005, i16 0, i16 0, i16 0, i16 0, i16 9550, i16 5013, i16 0, i16 5006, i16 9499, i16 0, i16 9500, i16 0, i16 9501, i16 2470, i16 0, i16 1281, i16 5014, i16 9502, i16 0, i16 9503, i16 0, i16 9504, i16 9505, i16 1475, i16 9506, i16 0, i16 1220, i16 5012, i16 0, i16 10518, i16 2858, i16 10519, i16 2313, i16 1770, i16 10520, i16 10521, i16 0, i16 5552, i16 0, i16 10522, i16 10523, i16 0, i16 0, i16 0, i16 0, i16 10524, i16 10525, i16 2597, i16 2418, i16 10526, i16 5554, i16 5556, i16 5553, i16 5555, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10527, i16 1405, i16 12054, i16 12055, i16 12056, i16 2878, i16 0, i16 12057, i16 3297, i16 0, i16 6553, i16 0, i16 1930, i16 0, i16 0, i16 0, i16 0, i16 6554, i16 12058, i16 6555, i16 12059, i16 12060, i16 12061, i16 6556, i16 12062, i16 0, i16 2720, i16 0, i16 0, i16 0, i16 0, i16 12063, i16 12065, i16 0, i16 11287, i16 0, i16 11288, i16 0, i16 6066, i16 11289, i16 2349, i16 11290, i16 6070, i16 1786, i16 2192, i16 1419, i16 3461, i16 11304, i16 3466, i16 2049, i16 0, i16 0, i16 0, i16 0, i16 11291, i16 0, i16 11292, i16 11293, i16 11294, i16 6083, i16 6081, i16 0, i16 11295, i16 11296, i16 11297, i16 11298, i16 3864, i16 3345, i16 7657, i16 0, i16 0, i16 7658, i16 2039, i16 2529, i16 0, i16 3866, i16 2881, i16 0, i16 0, i16 3867, i16 7659, i16 0, i16 3868, i16 1041, i16 7660, i16 7661, i16 7662, i16 3869, i16 1316, i16 7663, i16 2857, i16 929, i16 2015, i16 0, i16 0, i16 3002, i16 3870, i16 0, i16 5912, i16 11002, i16 0, i16 2190, i16 11003, i16 1006, i16 0, i16 5913, i16 3620, i16 0, i16 1884, i16 11004, i16 11005, i16 1980, i16 0, i16 0, i16 11006, i16 11007, i16 11008, i16 1853, i16 2586, i16 11009, i16 11010, i16 0, i16 11011, i16 11012, i16 5914, i16 5915, i16 856, i16 11013, i16 5916, i16 11014, i16 6936, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12883, i16 12884, i16 6937, i16 12885, i16 3361, i16 1792, i16 12886, i16 1775, i16 2358, i16 0, i16 12887, i16 12888, i16 12889, i16 0, i16 6938, i16 0, i16 0, i16 12890, i16 12891, i16 6941, i16 0, i16 12892, i16 12893, i16 0, i16 12894, i16 12895, i16 7960, i16 7961, i16 868, i16 7962, i16 7963, i16 0, i16 7964, i16 0, i16 0, i16 7965, i16 0, i16 7966, i16 2368, i16 7967, i16 4049, i16 7968, i16 4050, i16 0, i16 0, i16 0, i16 7969, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1117, i16 0, i16 0, i16 7970, i16 0, i16 2842, i16 1323, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1002, i16 4296, i16 4301, i16 0, i16 0, i16 4299, i16 8430, i16 3276, i16 3275, i16 8431, i16 8432, i16 0, i16 8433, i16 0, i16 2790, i16 0, i16 0, i16 0, i16 4298, i16 2019, i16 0, i16 4297, i16 0, i16 0, i16 12570, i16 6777, i16 0, i16 0, i16 1110, i16 6775, i16 6779, i16 0, i16 0, i16 12571, i16 0, i16 6780, i16 0, i16 785, i16 0, i16 6781, i16 6782, i16 0, i16 0, i16 0, i16 0, i16 12572, i16 12573, i16 12574, i16 2129, i16 12575, i16 12576, i16 0, i16 6783, i16 0, i16 12577, i16 12578, i16 4891, i16 9304, i16 0, i16 0, i16 0, i16 9305, i16 9306, i16 4888, i16 9307, i16 0, i16 0, i16 9308, i16 0, i16 9309, i16 4876, i16 9310, i16 0, i16 4905, i16 4875, i16 0, i16 4894, i16 0, i16 0, i16 9311, i16 9312, i16 0, i16 9313, i16 4886, i16 9314, i16 0, i16 4881, i16 4878, i16 6939, i16 12896, i16 0, i16 0, i16 0, i16 0, i16 6942, i16 12897, i16 12898, i16 1578, i16 6940, i16 0, i16 0, i16 0, i16 12899, i16 6943, i16 12900, i16 6944, i16 6945, i16 0, i16 6949, i16 0, i16 1789, i16 12901, i16 12902, i16 0, i16 0, i16 2505, i16 0, i16 12903, i16 0, i16 12904, i16 7197, i16 7196, i16 7199, i16 7205, i16 7198, i16 7204, i16 7169, i16 7209, i16 7213, i16 7212, i16 7215, i16 7214, i16 7226, i16 7225, i16 7228, i16 7227, i16 0, i16 7242, i16 7244, i16 7243, i16 7246, i16 7250, i16 7245, i16 284, i16 7176, i16 7261, i16 7260, i16 7263, i16 7262, i16 7276, i16 7179, i16 7193, i16 8734, i16 0, i16 3376, i16 1144, i16 0, i16 4514, i16 0, i16 1440, i16 1047, i16 0, i16 0, i16 4511, i16 8735, i16 0, i16 3589, i16 4513, i16 799, i16 4515, i16 8736, i16 4506, i16 4512, i16 4519, i16 1439, i16 4507, i16 8737, i16 0, i16 0, i16 8738, i16 8739, i16 0, i16 3532, i16 8740, i16 287, i16 350, i16 0, i16 0, i16 0, i16 0, i16 290, i16 291, i16 0, i16 0, i16 352, i16 353, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1311, i16 966, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4185, i16 0, i16 3372, i16 3173, i16 1581, i16 0, i16 0, i16 7475, i16 0, i16 0, i16 2170, i16 3588, i16 7476, i16 0, i16 7477, i16 0, i16 7478, i16 7479, i16 7480, i16 7481, i16 3245, i16 5407, i16 10207, i16 0, i16 5408, i16 2729, i16 10208, i16 1034, i16 1627, i16 5409, i16 0, i16 0, i16 5410, i16 10209, i16 10210, i16 5411, i16 0, i16 1788, i16 0, i16 0, i16 5413, i16 0, i16 10211, i16 5412, i16 0, i16 0, i16 5414, i16 5415, i16 10212, i16 10213, i16 10214, i16 0, i16 10215, i16 8479, i16 0, i16 4324, i16 0, i16 0, i16 0, i16 0, i16 8480, i16 0, i16 0, i16 0, i16 8481, i16 4326, i16 0, i16 4327, i16 0, i16 8482, i16 0, i16 12526, i16 0, i16 8483, i16 0, i16 0, i16 4330, i16 8484, i16 8485, i16 3635, i16 0, i16 4331, i16 4328, i16 0, i16 0, i16 11039, i16 0, i16 5936, i16 11040, i16 5935, i16 0, i16 1168, i16 11041, i16 5937, i16 0, i16 5938, i16 5939, i16 0, i16 11042, i16 1702, i16 3606, i16 0, i16 5941, i16 2162, i16 0, i16 11043, i16 0, i16 919, i16 5942, i16 5943, i16 0, i16 0, i16 11044, i16 0, i16 11045, i16 5944, i16 11046, i16 2080, i16 4375, i16 4374, i16 4370, i16 0, i16 8552, i16 0, i16 0, i16 4376, i16 4377, i16 0, i16 8553, i16 4378, i16 0, i16 0, i16 0, i16 4381, i16 4379, i16 0, i16 4380, i16 4382, i16 0, i16 907, i16 2703, i16 4383, i16 0, i16 1493, i16 1019, i16 2929, i16 0, i16 4384, i16 2904, i16 6176, i16 0, i16 11469, i16 11470, i16 11471, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11472, i16 11473, i16 0, i16 11474, i16 0, i16 6174, i16 0, i16 11475, i16 6175, i16 11476, i16 0, i16 0, i16 6180, i16 6181, i16 11477, i16 1037, i16 11478, i16 1249, i16 0, i16 0, i16 6179, i16 11479, i16 6688, i16 12452, i16 1177, i16 1080, i16 1653, i16 3023, i16 12453, i16 6690, i16 6689, i16 12454, i16 0, i16 12455, i16 12456, i16 6691, i16 0, i16 0, i16 0, i16 0, i16 899, i16 0, i16 12457, i16 0, i16 12458, i16 0, i16 0, i16 6694, i16 12459, i16 6693, i16 6692, i16 12460, i16 6695, i16 12461, i16 10528, i16 0, i16 0, i16 10529, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5557, i16 1409, i16 0, i16 10530, i16 0, i16 1286, i16 3521, i16 5559, i16 0, i16 0, i16 10531, i16 0, i16 10532, i16 5560, i16 0, i16 0, i16 10533, i16 853, i16 10534, i16 10535, i16 0, i16 0, i16 5563, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 12833, i16 0, i16 6912, i16 6913, i16 0, i16 6914, i16 12834, i16 6915, i16 6916, i16 6917, i16 6918, i16 12835, i16 0, i16 12836, i16 6919, i16 6920, i16 0, i16 4953, i16 6921, i16 12837, i16 12838, i16 12839, i16 0, i16 12840, i16 0, i16 12841, i16 12842, i16 5678, i16 1235, i16 12843, i16 0, i16 0, i16 4130, i16 0, i16 0, i16 9454, i16 9455, i16 1218, i16 4988, i16 0, i16 0, i16 9456, i16 0, i16 4989, i16 9457, i16 3265, i16 3355, i16 0, i16 0, i16 0, i16 2852, i16 4990, i16 3071, i16 0, i16 9458, i16 0, i16 3092, i16 0, i16 9459, i16 3428, i16 0, i16 0, i16 0, i16 4991, i16 7202, i16 7288, i16 7200, i16 7286, i16 7203, i16 7289, i16 7206, i16 7292, i16 7207, i16 7293, i16 7210, i16 7296, i16 7208, i16 7294, i16 7211, i16 7297, i16 7170, i16 7181, i16 7218, i16 7304, i16 0, i16 0, i16 7217, i16 7303, i16 7219, i16 7305, i16 7216, i16 7302, i16 7220, i16 7307, i16 7221, i16 7308, i16 7971, i16 7972, i16 7973, i16 7974, i16 4057, i16 0, i16 7975, i16 0, i16 1200, i16 7976, i16 4060, i16 4056, i16 4059, i16 7977, i16 0, i16 7978, i16 0, i16 7979, i16 7980, i16 0, i16 3203, i16 7981, i16 0, i16 0, i16 2866, i16 0, i16 3025, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10788, i16 5734, i16 5740, i16 5733, i16 0, i16 0, i16 2003, i16 10789, i16 10790, i16 0, i16 0, i16 3288, i16 10791, i16 10792, i16 2011, i16 10793, i16 0, i16 5736, i16 5748, i16 10794, i16 0, i16 5744, i16 10795, i16 5747, i16 0, i16 5745, i16 5749, i16 5743, i16 0, i16 5717, i16 2300, i16 10796, i16 7717, i16 3904, i16 0, i16 3337, i16 7718, i16 2653, i16 7719, i16 3477, i16 7720, i16 3246, i16 0, i16 0, i16 7721, i16 3905, i16 0, i16 7722, i16 0, i16 7723, i16 6771, i16 0, i16 7724, i16 2829, i16 7725, i16 3906, i16 1131, i16 3396, i16 0, i16 7726, i16 7727, i16 2062, i16 3907, i16 3260, i16 8741, i16 8742, i16 3482, i16 8743, i16 8744, i16 0, i16 0, i16 4522, i16 0, i16 0, i16 4526, i16 8745, i16 0, i16 8746, i16 2437, i16 0, i16 3654, i16 4527, i16 8747, i16 8748, i16 4524, i16 0, i16 4521, i16 8749, i16 8750, i16 4520, i16 4525, i16 0, i16 8751, i16 8752, i16 0, i16 8753, i16 10021, i16 5294, i16 0, i16 10022, i16 10023, i16 0, i16 10024, i16 10025, i16 0, i16 0, i16 0, i16 10026, i16 0, i16 10027, i16 0, i16 0, i16 0, i16 10028, i16 10029, i16 0, i16 0, i16 5290, i16 0, i16 10030, i16 0, i16 5293, i16 1571, i16 884, i16 5295, i16 10031, i16 2235, i16 5292, i16 295, i16 0, i16 294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5671, i16 0, i16 5673, i16 0, i16 10682, i16 5672, i16 0, i16 10683, i16 10684, i16 10685, i16 1547, i16 0, i16 0, i16 10686, i16 2367, i16 10687, i16 0, i16 0, i16 5675, i16 10688, i16 10689, i16 10690, i16 2811, i16 10691, i16 5674, i16 10692, i16 10693, i16 0, i16 5676, i16 10694, i16 3210, i16 2419, i16 10279, i16 2226, i16 10280, i16 2849, i16 10281, i16 5448, i16 3334, i16 10282, i16 5445, i16 0, i16 10283, i16 5446, i16 10284, i16 0, i16 0, i16 0, i16 10285, i16 0, i16 10286, i16 10287, i16 10288, i16 0, i16 0, i16 0, i16 0, i16 5451, i16 10289, i16 0, i16 0, i16 10290, i16 5450, i16 5449, i16 11047, i16 11048, i16 0, i16 11049, i16 11050, i16 0, i16 0, i16 11051, i16 0, i16 11052, i16 11053, i16 827, i16 0, i16 5945, i16 11054, i16 0, i16 0, i16 11055, i16 5946, i16 0, i16 11056, i16 0, i16 11057, i16 0, i16 11058, i16 3166, i16 11059, i16 11060, i16 0, i16 1912, i16 0, i16 5948, i16 2600, i16 0, i16 10266, i16 0, i16 0, i16 10267, i16 10268, i16 5443, i16 0, i16 0, i16 10269, i16 0, i16 0, i16 10270, i16 10271, i16 10272, i16 0, i16 0, i16 10273, i16 0, i16 0, i16 0, i16 10274, i16 10275, i16 0, i16 0, i16 5444, i16 5447, i16 10276, i16 0, i16 10277, i16 10278, i16 3625, i16 0, i16 10032, i16 5298, i16 7098, i16 0, i16 10033, i16 10034, i16 10035, i16 5296, i16 5299, i16 10036, i16 0, i16 10037, i16 10038, i16 5285, i16 5297, i16 10039, i16 10040, i16 1713, i16 0, i16 0, i16 5300, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5301, i16 0, i16 5929, i16 0, i16 0, i16 11029, i16 11030, i16 11031, i16 11032, i16 2715, i16 0, i16 0, i16 0, i16 11033, i16 0, i16 0, i16 11034, i16 11035, i16 0, i16 11036, i16 0, i16 0, i16 0, i16 0, i16 11037, i16 0, i16 5931, i16 5930, i16 5933, i16 0, i16 11038, i16 5932, i16 0, i16 5934, i16 2604, i16 8623, i16 8624, i16 0, i16 4424, i16 0, i16 0, i16 0, i16 8625, i16 8626, i16 8627, i16 1020, i16 8628, i16 8629, i16 8630, i16 8631, i16 4475, i16 4426, i16 8632, i16 8633, i16 0, i16 2923, i16 8634, i16 0, i16 4425, i16 0, i16 8635, i16 4423, i16 8636, i16 1681, i16 0, i16 4429, i16 6444, i16 11900, i16 11901, i16 6446, i16 6443, i16 0, i16 0, i16 0, i16 0, i16 11902, i16 0, i16 0, i16 11903, i16 11904, i16 0, i16 11905, i16 11906, i16 11907, i16 6449, i16 0, i16 1986, i16 0, i16 6448, i16 0, i16 0, i16 11908, i16 11909, i16 11910, i16 6450, i16 0, i16 0, i16 0, i16 11308, i16 0, i16 0, i16 0, i16 2816, i16 6087, i16 11309, i16 0, i16 11310, i16 3046, i16 6074, i16 0, i16 0, i16 11311, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11312, i16 0, i16 0, i16 11313, i16 2050, i16 0, i16 6089, i16 6094, i16 2427, i16 11314, i16 0, i16 6093, i16 11315, i16 8493, i16 2035, i16 0, i16 2410, i16 8494, i16 1600, i16 1709, i16 1601, i16 1295, i16 8495, i16 0, i16 4338, i16 0, i16 0, i16 1710, i16 0, i16 0, i16 1539, i16 4339, i16 3383, i16 2942, i16 4340, i16 0, i16 1602, i16 8496, i16 8497, i16 0, i16 1133, i16 0, i16 2538, i16 1359, i16 0, i16 11566, i16 0, i16 0, i16 0, i16 0, i16 6237, i16 11567, i16 11568, i16 11569, i16 0, i16 6238, i16 6239, i16 0, i16 0, i16 0, i16 0, i16 11570, i16 11571, i16 11572, i16 0, i16 0, i16 11573, i16 6243, i16 0, i16 6244, i16 11574, i16 11575, i16 6242, i16 0, i16 0, i16 11576, i16 0, i16 3377, i16 0, i16 5093, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3015, i16 9629, i16 0, i16 5105, i16 1524, i16 0, i16 0, i16 9630, i16 0, i16 0, i16 2031, i16 0, i16 5095, i16 9631, i16 0, i16 0, i16 3580, i16 1625, i16 0, i16 5108, i16 8498, i16 0, i16 1831, i16 3154, i16 0, i16 0, i16 3034, i16 8499, i16 0, i16 0, i16 0, i16 4341, i16 1206, i16 8500, i16 0, i16 0, i16 0, i16 4344, i16 8501, i16 0, i16 8502, i16 8503, i16 2626, i16 0, i16 8504, i16 4343, i16 4342, i16 4345, i16 0, i16 2700, i16 0, i16 8505, i16 8754, i16 0, i16 0, i16 0, i16 3205, i16 8755, i16 0, i16 2833, i16 8756, i16 1441, i16 8757, i16 4528, i16 4523, i16 8758, i16 4529, i16 0, i16 0, i16 0, i16 1494, i16 0, i16 0, i16 0, i16 950, i16 0, i16 8759, i16 8760, i16 4537, i16 0, i16 8761, i16 0, i16 1145, i16 0, i16 10291, i16 0, i16 0, i16 0, i16 10292, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5453, i16 10293, i16 10294, i16 5452, i16 0, i16 0, i16 5454, i16 0, i16 0, i16 10295, i16 10296, i16 10297, i16 0, i16 0, i16 0, i16 10298, i16 0, i16 0, i16 0, i16 5456, i16 10299, i16 308, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 267, i16 253, i16 268, i16 237, i16 239, i16 11316, i16 0, i16 6062, i16 0, i16 11317, i16 11318, i16 6095, i16 2384, i16 0, i16 0, i16 6090, i16 6092, i16 0, i16 11319, i16 11320, i16 0, i16 11321, i16 11322, i16 11323, i16 6091, i16 0, i16 0, i16 4949, i16 4934, i16 11324, i16 11325, i16 6097, i16 11326, i16 0, i16 0, i16 11327, i16 0, i16 821, i16 2621, i16 7367, i16 1896, i16 7368, i16 7369, i16 0, i16 3375, i16 2131, i16 1795, i16 2130, i16 961, i16 7370, i16 3147, i16 3502, i16 0, i16 3712, i16 854, i16 7371, i16 0, i16 1105, i16 3713, i16 2253, i16 3932, i16 1269, i16 3215, i16 0, i16 0, i16 0, i16 0, i16 2132, i16 7372, i16 4661, i16 4662, i16 2726, i16 4664, i16 8975, i16 8976, i16 1783, i16 4659, i16 0, i16 8977, i16 8978, i16 0, i16 1243, i16 8979, i16 0, i16 4665, i16 8980, i16 4658, i16 4669, i16 0, i16 4668, i16 8981, i16 4667, i16 8982, i16 0, i16 0, i16 4670, i16 8983, i16 0, i16 4672, i16 2142, i16 8984, i16 9013, i16 0, i16 1147, i16 1801, i16 0, i16 0, i16 2869, i16 9014, i16 0, i16 0, i16 0, i16 9015, i16 1444, i16 0, i16 0, i16 0, i16 2239, i16 0, i16 4692, i16 0, i16 2265, i16 2727, i16 0, i16 3158, i16 4693, i16 0, i16 9016, i16 0, i16 0, i16 9017, i16 0, i16 0, i16 11061, i16 11062, i16 0, i16 11063, i16 11064, i16 1036, i16 763, i16 11065, i16 11066, i16 11067, i16 11068, i16 5947, i16 5950, i16 2953, i16 11069, i16 2191, i16 11070, i16 987, i16 11071, i16 3290, i16 11072, i16 0, i16 0, i16 11073, i16 1464, i16 1369, i16 11074, i16 5949, i16 11075, i16 1007, i16 11076, i16 11077, i16 7223, i16 7309, i16 7222, i16 0, i16 7224, i16 7310, i16 7171, i16 7183, i16 7233, i16 7318, i16 7231, i16 7316, i16 0, i16 0, i16 7232, i16 7317, i16 7230, i16 7184, i16 7172, i16 7185, i16 7234, i16 7319, i16 7235, i16 7320, i16 7186, i16 7236, i16 7321, i16 7238, i16 7323, i16 7237, i16 7322, i16 7174, i16 12087, i16 0, i16 6561, i16 0, i16 12088, i16 12089, i16 12090, i16 0, i16 12091, i16 0, i16 0, i16 0, i16 0, i16 12092, i16 0, i16 0, i16 12093, i16 0, i16 6562, i16 0, i16 12094, i16 0, i16 12095, i16 12096, i16 12097, i16 6563, i16 12098, i16 0, i16 12099, i16 0, i16 12100, i16 0, i16 10041, i16 10042, i16 0, i16 3565, i16 0, i16 10043, i16 10044, i16 10045, i16 0, i16 10046, i16 0, i16 5302, i16 0, i16 0, i16 0, i16 10047, i16 10048, i16 10049, i16 10050, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10051, i16 10052, i16 10053, i16 0, i16 10054, i16 0, i16 5303, i16 10055, i16 11577, i16 6240, i16 11578, i16 6235, i16 6241, i16 11579, i16 11580, i16 0, i16 0, i16 11581, i16 0, i16 0, i16 6245, i16 6741, i16 0, i16 11582, i16 0, i16 0, i16 11583, i16 0, i16 0, i16 0, i16 941, i16 11584, i16 0, i16 0, i16 11585, i16 11586, i16 11587, i16 0, i16 6248, i16 1372, i16 7482, i16 7483, i16 1427, i16 2442, i16 1001, i16 7484, i16 7485, i16 0, i16 7486, i16 7487, i16 2018, i16 7488, i16 7489, i16 7490, i16 3767, i16 7491, i16 3772, i16 3770, i16 7492, i16 0, i16 3765, i16 0, i16 0, i16 2452, i16 3768, i16 0, i16 3771, i16 3769, i16 7493, i16 3250, i16 0, i16 3766, i16 8506, i16 0, i16 0, i16 0, i16 0, i16 2222, i16 0, i16 0, i16 8508, i16 0, i16 0, i16 1832, i16 0, i16 2291, i16 8507, i16 2488, i16 1217, i16 0, i16 8509, i16 2627, i16 0, i16 8510, i16 4346, i16 4347, i16 2140, i16 0, i16 0, i16 0, i16 0, i16 3308, i16 8511, i16 0, i16 8762, i16 8763, i16 8764, i16 4535, i16 0, i16 0, i16 4536, i16 1694, i16 4534, i16 4532, i16 4531, i16 4538, i16 4530, i16 4540, i16 8765, i16 8766, i16 1024, i16 0, i16 0, i16 0, i16 0, i16 8767, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8768, i16 8769, i16 8770, i16 8771, i16 7739, i16 3449, i16 2900, i16 7740, i16 0, i16 3270, i16 3916, i16 0, i16 3917, i16 0, i16 7741, i16 7742, i16 7743, i16 3919, i16 0, i16 3921, i16 3920, i16 7744, i16 0, i16 7745, i16 0, i16 3922, i16 962, i16 3327, i16 7746, i16 1777, i16 3923, i16 7747, i16 7748, i16 2400, i16 7749, i16 7750, i16 9531, i16 3285, i16 2947, i16 1282, i16 0, i16 2724, i16 0, i16 9532, i16 2608, i16 9533, i16 5031, i16 9534, i16 9535, i16 0, i16 9536, i16 5029, i16 2494, i16 5018, i16 9537, i16 882, i16 9538, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2108, i16 5574, i16 5575, i16 2022, i16 0, i16 2837, i16 5576, i16 0, i16 10542, i16 10543, i16 2539, i16 10544, i16 10545, i16 5577, i16 0, i16 2559, i16 5578, i16 10546, i16 0, i16 0, i16 10547, i16 0, i16 1314, i16 0, i16 3835, i16 2592, i16 1892, i16 10548, i16 0, i16 10549, i16 10550, i16 1161, i16 11836, i16 0, i16 0, i16 1954, i16 0, i16 0, i16 11837, i16 0, i16 2241, i16 0, i16 0, i16 11838, i16 11839, i16 0, i16 0, i16 11840, i16 0, i16 0, i16 11841, i16 2450, i16 0, i16 11842, i16 0, i16 11843, i16 0, i16 11844, i16 6413, i16 11845, i16 11863, i16 0, i16 6412, i16 0, i16 318, i16 317, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 320, i16 319, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 322, i16 321, i16 0, i16 0, i16 4671, i16 8985, i16 0, i16 0, i16 8986, i16 4675, i16 0, i16 0, i16 8987, i16 8988, i16 8989, i16 0, i16 0, i16 0, i16 0, i16 8990, i16 0, i16 0, i16 0, i16 8991, i16 8992, i16 0, i16 8993, i16 0, i16 4673, i16 8994, i16 0, i16 8995, i16 4674, i16 4636, i16 8996, i16 8997, i16 9791, i16 3398, i16 0, i16 0, i16 0, i16 0, i16 2100, i16 0, i16 0, i16 0, i16 0, i16 9792, i16 0, i16 9793, i16 0, i16 9794, i16 9795, i16 9796, i16 0, i16 0, i16 0, i16 0, i16 2362, i16 0, i16 9797, i16 0, i16 0, i16 0, i16 2099, i16 0, i16 0, i16 0, i16 6976, i16 0, i16 0, i16 12957, i16 0, i16 0, i16 0, i16 6977, i16 12962, i16 12958, i16 12959, i16 12961, i16 0, i16 0, i16 12963, i16 0, i16 12964, i16 0, i16 12965, i16 0, i16 0, i16 12966, i16 6978, i16 12967, i16 6979, i16 0, i16 0, i16 12968, i16 0, i16 0, i16 0, i16 0, i16 8256, i16 795, i16 0, i16 748, i16 8257, i16 0, i16 0, i16 0, i16 0, i16 4198, i16 0, i16 0, i16 8258, i16 8259, i16 8260, i16 0, i16 0, i16 4196, i16 8261, i16 8262, i16 0, i16 0, i16 0, i16 0, i16 3405, i16 0, i16 4199, i16 0, i16 4197, i16 0, i16 8263, i16 4195, i16 12352, i16 12353, i16 12354, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12355, i16 0, i16 12356, i16 12357, i16 1116, i16 12358, i16 0, i16 12359, i16 0, i16 0, i16 12360, i16 0, i16 6640, i16 12361, i16 1716, i16 2432, i16 12362, i16 0, i16 2667, i16 12363, i16 0, i16 0, i16 12364, i16 0, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 0, i16 0, i16 0, i16 0, i16 227, i16 249, i16 240, i16 241, i16 0, i16 833, i16 8016, i16 0, i16 2567, i16 8017, i16 8018, i16 8019, i16 8020, i16 8021, i16 0, i16 0, i16 8023, i16 0, i16 8024, i16 4081, i16 0, i16 1689, i16 8022, i16 792, i16 2217, i16 0, i16 0, i16 8025, i16 8026, i16 0, i16 4082, i16 1536, i16 0, i16 0, i16 1672, i16 0, i16 4084, i16 1089, i16 0, i16 0, i16 10554, i16 0, i16 2213, i16 3163, i16 10555, i16 5588, i16 10556, i16 10557, i16 10558, i16 2509, i16 10559, i16 10560, i16 10561, i16 10562, i16 10563, i16 0, i16 5583, i16 10564, i16 5587, i16 5589, i16 0, i16 0, i16 1776, i16 0, i16 0, i16 0, i16 10565, i16 0, i16 10566, i16 4929, i16 0, i16 4931, i16 4932, i16 0, i16 9374, i16 0, i16 0, i16 0, i16 0, i16 4944, i16 9375, i16 4940, i16 0, i16 4821, i16 9376, i16 9377, i16 9378, i16 0, i16 4939, i16 9379, i16 0, i16 0, i16 0, i16 4938, i16 0, i16 0, i16 4935, i16 0, i16 9380, i16 9381, i16 9382, i16 9025, i16 767, i16 0, i16 9026, i16 1361, i16 2294, i16 9027, i16 3159, i16 0, i16 0, i16 0, i16 4699, i16 1813, i16 2570, i16 9028, i16 1838, i16 2178, i16 0, i16 9029, i16 9030, i16 9031, i16 0, i16 0, i16 4700, i16 0, i16 3282, i16 0, i16 0, i16 926, i16 1839, i16 0, i16 9032, i16 12609, i16 12611, i16 0, i16 0, i16 12612, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6794, i16 2910, i16 12613, i16 0, i16 12614, i16 6796, i16 960, i16 12615, i16 6799, i16 6798, i16 12616, i16 12617, i16 0, i16 12618, i16 843, i16 0, i16 0, i16 0, i16 1342, i16 4418, i16 1567, i16 8603, i16 0, i16 8606, i16 0, i16 0, i16 8604, i16 4419, i16 3187, i16 2026, i16 8605, i16 8607, i16 4420, i16 3090, i16 8608, i16 8609, i16 8610, i16 0, i16 2846, i16 2632, i16 0, i16 0, i16 0, i16 8611, i16 2735, i16 0, i16 0, i16 4421, i16 1226, i16 0, i16 0, i16 3395, i16 0, i16 10255, i16 0, i16 5436, i16 5438, i16 5439, i16 0, i16 10256, i16 5435, i16 0, i16 0, i16 0, i16 10257, i16 10258, i16 10259, i16 0, i16 0, i16 0, i16 0, i16 10260, i16 10261, i16 10262, i16 5441, i16 5442, i16 10263, i16 2640, i16 0, i16 1188, i16 10264, i16 10265, i16 0, i16 12868, i16 0, i16 0, i16 6931, i16 12869, i16 12870, i16 12871, i16 12872, i16 0, i16 12873, i16 12874, i16 12875, i16 0, i16 12876, i16 775, i16 12877, i16 12878, i16 6932, i16 3200, i16 6930, i16 12879, i16 0, i16 6933, i16 6934, i16 0, i16 0, i16 12880, i16 0, i16 0, i16 12881, i16 12882, i16 6935, i16 12101, i16 0, i16 12103, i16 12104, i16 0, i16 12102, i16 0, i16 12105, i16 0, i16 12106, i16 0, i16 0, i16 0, i16 2721, i16 12107, i16 12108, i16 6565, i16 12109, i16 6564, i16 0, i16 12110, i16 0, i16 12111, i16 12112, i16 0, i16 12113, i16 12114, i16 0, i16 12115, i16 12116, i16 0, i16 0, i16 1350, i16 4271, i16 0, i16 0, i16 0, i16 1294, i16 4272, i16 0, i16 1403, i16 0, i16 2860, i16 949, i16 0, i16 1830, i16 4273, i16 4276, i16 4275, i16 1402, i16 0, i16 4274, i16 0, i16 2743, i16 0, i16 0, i16 0, i16 8393, i16 8394, i16 0, i16 8395, i16 0, i16 2453, i16 0, i16 7494, i16 2169, i16 7495, i16 3366, i16 3773, i16 3774, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1971, i16 3787, i16 7496, i16 0, i16 7497, i16 2955, i16 0, i16 3117, i16 3782, i16 0, i16 3269, i16 0, i16 955, i16 0, i16 7498, i16 7499, i16 3786, i16 7500, i16 11846, i16 0, i16 6411, i16 0, i16 0, i16 11847, i16 11848, i16 11849, i16 11850, i16 0, i16 11851, i16 6419, i16 6417, i16 0, i16 11852, i16 6414, i16 0, i16 11853, i16 0, i16 0, i16 11854, i16 11855, i16 6416, i16 11856, i16 0, i16 11857, i16 6415, i16 6418, i16 0, i16 1302, i16 0, i16 6422, i16 3911, i16 7728, i16 2259, i16 3908, i16 1357, i16 7729, i16 3909, i16 1132, i16 7730, i16 7731, i16 7732, i16 0, i16 7733, i16 0, i16 0, i16 0, i16 7734, i16 7735, i16 1417, i16 3912, i16 7736, i16 3913, i16 7737, i16 7738, i16 3914, i16 3915, i16 1932, i16 0, i16 0, i16 0, i16 1588, i16 3439, i16 10567, i16 10568, i16 0, i16 0, i16 0, i16 5596, i16 3109, i16 10569, i16 3007, i16 2808, i16 0, i16 1367, i16 5595, i16 5593, i16 10570, i16 3022, i16 5590, i16 2593, i16 2810, i16 0, i16 2809, i16 10571, i16 1771, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5614, i16 0, i16 0, i16 10056, i16 10057, i16 5283, i16 10058, i16 0, i16 0, i16 10059, i16 5304, i16 10060, i16 10061, i16 10062, i16 10063, i16 0, i16 0, i16 10064, i16 10065, i16 1157, i16 10066, i16 10067, i16 0, i16 0, i16 10068, i16 0, i16 0, i16 0, i16 10069, i16 0, i16 10070, i16 0, i16 1878, i16 0, i16 10071, i16 11336, i16 8188, i16 11337, i16 0, i16 0, i16 0, i16 11338, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6100, i16 1552, i16 0, i16 1267, i16 0, i16 11339, i16 11340, i16 6102, i16 3865, i16 11341, i16 11342, i16 11343, i16 11344, i16 1300, i16 0, i16 3591, i16 11345, i16 1392, i16 6103, i16 842, i16 0, i16 0, i16 3622, i16 12516, i16 12517, i16 12518, i16 6729, i16 6544, i16 12519, i16 6728, i16 0, i16 0, i16 0, i16 12520, i16 12521, i16 6732, i16 6730, i16 6731, i16 12522, i16 6733, i16 0, i16 6734, i16 3641, i16 6735, i16 6736, i16 12523, i16 2290, i16 3028, i16 0, i16 0, i16 0, i16 11082, i16 5951, i16 11083, i16 5952, i16 11084, i16 1940, i16 1385, i16 2618, i16 11085, i16 0, i16 11086, i16 2862, i16 0, i16 11087, i16 0, i16 11088, i16 0, i16 888, i16 0, i16 5956, i16 5955, i16 0, i16 11089, i16 11090, i16 0, i16 5961, i16 5957, i16 5960, i16 0, i16 11091, i16 11092, i16 0, i16 2892, i16 4870, i16 2887, i16 9286, i16 9287, i16 9288, i16 9289, i16 0, i16 9290, i16 9291, i16 4874, i16 4861, i16 9292, i16 1349, i16 4864, i16 2028, i16 9293, i16 9294, i16 9295, i16 2971, i16 4866, i16 1352, i16 0, i16 4858, i16 4860, i16 4857, i16 9296, i16 9297, i16 3675, i16 1085, i16 4863, i16 9298, i16 10316, i16 0, i16 3457, i16 5469, i16 10317, i16 2577, i16 10318, i16 2981, i16 0, i16 1384, i16 10319, i16 0, i16 10320, i16 2558, i16 5470, i16 1335, i16 10321, i16 10322, i16 0, i16 2297, i16 10323, i16 0, i16 0, i16 0, i16 10324, i16 0, i16 0, i16 10325, i16 5471, i16 0, i16 0, i16 0, i16 10572, i16 0, i16 0, i16 0, i16 10573, i16 5598, i16 10574, i16 5600, i16 0, i16 10575, i16 10576, i16 0, i16 5603, i16 10577, i16 5604, i16 10578, i16 5601, i16 5602, i16 10579, i16 10580, i16 5599, i16 5597, i16 0, i16 10581, i16 0, i16 0, i16 5591, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3149, i16 8118, i16 0, i16 4121, i16 8102, i16 0, i16 8103, i16 8104, i16 0, i16 8105, i16 0, i16 0, i16 0, i16 8106, i16 0, i16 0, i16 8107, i16 0, i16 0, i16 0, i16 2154, i16 8108, i16 8109, i16 1898, i16 8110, i16 2968, i16 1201, i16 0, i16 1760, i16 8111, i16 8112, i16 8113, i16 7501, i16 7502, i16 0, i16 0, i16 7503, i16 3780, i16 3789, i16 7504, i16 0, i16 2393, i16 7505, i16 1533, i16 7506, i16 2967, i16 7507, i16 5253, i16 7508, i16 3788, i16 2780, i16 7509, i16 3777, i16 0, i16 1583, i16 7510, i16 7511, i16 1582, i16 3775, i16 7512, i16 7513, i16 7514, i16 7515, i16 1931, i16 2382, i16 3317, i16 1772, i16 10710, i16 0, i16 0, i16 10711, i16 0, i16 0, i16 0, i16 10712, i16 1850, i16 2686, i16 10713, i16 5691, i16 3628, i16 1742, i16 10714, i16 5692, i16 2189, i16 0, i16 5694, i16 0, i16 0, i16 0, i16 2111, i16 1701, i16 0, i16 10715, i16 10716, i16 10717, i16 5693, i16 4431, i16 8660, i16 1023, i16 4451, i16 4453, i16 2580, i16 0, i16 8661, i16 1693, i16 957, i16 4445, i16 4456, i16 4455, i16 1328, i16 0, i16 2446, i16 1097, i16 8662, i16 0, i16 0, i16 0, i16 1438, i16 0, i16 4446, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8663, i16 8664, i16 5455, i16 0, i16 10300, i16 0, i16 0, i16 3234, i16 0, i16 10301, i16 0, i16 0, i16 10302, i16 0, i16 2021, i16 3603, i16 10303, i16 10304, i16 5457, i16 10305, i16 0, i16 2836, i16 0, i16 10306, i16 5458, i16 0, i16 0, i16 5459, i16 0, i16 5463, i16 5461, i16 5462, i16 10307, i16 5460, i16 8528, i16 2628, i16 0, i16 1604, i16 2078, i16 0, i16 0, i16 3064, i16 0, i16 0, i16 2079, i16 8529, i16 0, i16 0, i16 8530, i16 2055, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2701, i16 3278, i16 2744, i16 0, i16 0, i16 1605, i16 0, i16 3155, i16 0, i16 0, i16 0, i16 4177, i16 8209, i16 4176, i16 8210, i16 0, i16 931, i16 0, i16 4178, i16 2070, i16 4180, i16 2536, i16 8211, i16 4179, i16 8212, i16 3208, i16 8213, i16 0, i16 0, i16 8214, i16 2054, i16 2778, i16 8215, i16 8216, i16 0, i16 4181, i16 8217, i16 0, i16 8218, i16 8219, i16 1596, i16 0, i16 0, i16 9810, i16 0, i16 5193, i16 0, i16 2972, i16 5189, i16 5192, i16 2101, i16 9811, i16 3050, i16 0, i16 0, i16 5196, i16 0, i16 1922, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9812, i16 0, i16 0, i16 0, i16 2339, i16 0, i16 0, i16 11346, i16 11347, i16 11348, i16 11349, i16 11350, i16 0, i16 0, i16 6104, i16 0, i16 11351, i16 0, i16 2609, i16 11352, i16 0, i16 0, i16 11353, i16 0, i16 6105, i16 0, i16 0, i16 0, i16 11354, i16 11355, i16 11356, i16 0, i16 2903, i16 11357, i16 771, i16 0, i16 0, i16 0, i16 0, i16 8787, i16 4558, i16 8788, i16 8789, i16 0, i16 0, i16 2328, i16 8790, i16 0, i16 8791, i16 4559, i16 8792, i16 0, i16 0, i16 4560, i16 1241, i16 4561, i16 0, i16 4562, i16 4563, i16 2492, i16 0, i16 0, i16 0, i16 1542, i16 8793, i16 0, i16 3442, i16 0, i16 8794, i16 0, i16 3311, i16 9299, i16 4873, i16 1048, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1756, i16 0, i16 0, i16 9300, i16 900, i16 0, i16 0, i16 4890, i16 9301, i16 0, i16 3676, i16 4893, i16 9302, i16 0, i16 9303, i16 0, i16 0, i16 2181, i16 4892, i16 0, i16 0, i16 0, i16 2388, i16 7075, i16 13117, i16 0, i16 0, i16 0, i16 13118, i16 0, i16 0, i16 0, i16 13119, i16 13120, i16 7076, i16 0, i16 0, i16 13121, i16 0, i16 13122, i16 13123, i16 0, i16 13124, i16 0, i16 0, i16 13125, i16 0, i16 13126, i16 13127, i16 3096, i16 13128, i16 13129, i16 7077, i16 13130, i16 5972, i16 0, i16 11115, i16 11116, i16 11117, i16 5975, i16 0, i16 11118, i16 0, i16 2423, i16 1456, i16 0, i16 0, i16 11119, i16 11120, i16 872, i16 5974, i16 11121, i16 1642, i16 11156, i16 11099, i16 11122, i16 11123, i16 11124, i16 2424, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12628, i16 6804, i16 0, i16 12629, i16 6803, i16 12638, i16 12630, i16 0, i16 0, i16 0, i16 0, i16 12631, i16 3326, i16 2825, i16 12632, i16 12633, i16 12634, i16 0, i16 12635, i16 12636, i16 887, i16 12637, i16 0, i16 6805, i16 6802, i16 0, i16 0, i16 3144, i16 3545, i16 6806, i16 12639, i16 0, i16 9813, i16 0, i16 0, i16 0, i16 5199, i16 9814, i16 0, i16 9815, i16 5191, i16 0, i16 1410, i16 0, i16 9816, i16 0, i16 0, i16 5197, i16 0, i16 0, i16 9817, i16 0, i16 3519, i16 5200, i16 0, i16 0, i16 0, i16 7100, i16 9818, i16 9819, i16 0, i16 0, i16 0, i16 2014, i16 11093, i16 11094, i16 3425, i16 5959, i16 989, i16 1120, i16 5963, i16 11095, i16 11096, i16 5965, i16 11097, i16 11098, i16 0, i16 0, i16 1455, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5969, i16 5978, i16 5979, i16 0, i16 0, i16 11100, i16 756, i16 11101, i16 11102, i16 11103, i16 343, i16 0, i16 348, i16 344, i16 0, i16 0, i16 0, i16 349, i16 330, i16 0, i16 0, i16 331, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 354, i16 0, i16 0, i16 356, i16 292, i16 0, i16 7256, i16 7341, i16 7259, i16 7344, i16 7258, i16 7343, i16 7178, i16 7194, i16 7270, i16 7355, i16 7267, i16 7352, i16 7264, i16 7349, i16 7269, i16 7354, i16 7266, i16 7351, i16 7268, i16 7353, i16 7275, i16 7360, i16 7278, i16 7363, i16 7277, i16 7279, i16 7364, i16 7281, i16 7366, i16 7280, i16 7365, i16 0, i16 11608, i16 6262, i16 0, i16 0, i16 0, i16 11609, i16 6264, i16 3558, i16 0, i16 6263, i16 2193, i16 0, i16 6265, i16 0, i16 0, i16 6266, i16 11610, i16 0, i16 6267, i16 1170, i16 11611, i16 11612, i16 11613, i16 11614, i16 0, i16 0, i16 6268, i16 0, i16 11615, i16 6269, i16 0, i16 6270, i16 345, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 338, i16 339, i16 337, i16 336, i16 358, i16 359, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 293, i16 357, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 355, i16 0, i16 0, i16 3929, i16 1996, i16 7764, i16 2322, i16 0, i16 3931, i16 3930, i16 2064, i16 1562, i16 3933, i16 3031, i16 7766, i16 7765, i16 3934, i16 0, i16 0, i16 0, i16 3061, i16 2457, i16 2515, i16 1317, i16 0, i16 0, i16 2891, i16 2548, i16 7767, i16 2985, i16 7768, i16 3329, i16 0, i16 3936, i16 0, i16 9049, i16 0, i16 1614, i16 4714, i16 9050, i16 0, i16 1696, i16 2087, i16 9051, i16 9052, i16 4713, i16 0, i16 2088, i16 9053, i16 3409, i16 1695, i16 0, i16 9054, i16 9055, i16 800, i16 2295, i16 9056, i16 9057, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4720, i16 9058, i16 9059, i16 2266, i16 5210, i16 0, i16 0, i16 0, i16 0, i16 2414, i16 1803, i16 5212, i16 0, i16 0, i16 0, i16 0, i16 5211, i16 2159, i16 3955, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5213, i16 0, i16 0, i16 9838, i16 5215, i16 0, i16 5198, i16 5214, i16 0, i16 9839, i16 5216, i16 9820, i16 0, i16 9821, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5201, i16 0, i16 0, i16 0, i16 5202, i16 0, i16 0, i16 9822, i16 9823, i16 2921, i16 9824, i16 9825, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5204, i16 9826, i16 0, i16 0, i16 0, i16 5205, i16 9827, i16 1630, i16 0, i16 5677, i16 0, i16 0, i16 0, i16 10695, i16 3605, i16 0, i16 10696, i16 0, i16 10697, i16 0, i16 0, i16 0, i16 5679, i16 0, i16 0, i16 5680, i16 0, i16 5681, i16 10698, i16 5682, i16 0, i16 1848, i16 0, i16 5683, i16 1450, i16 0, i16 0, i16 1289, i16 0, i16 10590, i16 1162, i16 0, i16 0, i16 0, i16 10591, i16 0, i16 0, i16 0, i16 0, i16 2560, i16 0, i16 10592, i16 2342, i16 0, i16 10593, i16 10594, i16 3003, i16 10595, i16 0, i16 5620, i16 10596, i16 10597, i16 0, i16 3005, i16 0, i16 10598, i16 10599, i16 10600, i16 10601, i16 0, i16 0, i16 3168, i16 1751, i16 1646, i16 0, i16 11793, i16 0, i16 0, i16 3142, i16 996, i16 3047, i16 6379, i16 1172, i16 2302, i16 6378, i16 6383, i16 2620, i16 3444, i16 0, i16 6381, i16 6382, i16 1229, i16 0, i16 6384, i16 2974, i16 2500, i16 11794, i16 11795, i16 3082, i16 2748, i16 6380, i16 0, i16 3322, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 1377, i16 0, i16 0, i16 2005, i16 0, i16 2841, i16 0, i16 0, i16 12248, i16 12249, i16 12250, i16 0, i16 0, i16 12251, i16 12252, i16 0, i16 0, i16 2356, i16 12253, i16 6614, i16 0, i16 6608, i16 6613, i16 12254, i16 3412, i16 12255, i16 2649, i16 6615, i16 6612, i16 0, i16 0, i16 12256, i16 10849, i16 0, i16 5794, i16 5796, i16 0, i16 3540, i16 5795, i16 5798, i16 5797, i16 0, i16 3522, i16 10850, i16 5799, i16 10851, i16 3095, i16 10852, i16 10853, i16 10854, i16 0, i16 0, i16 5800, i16 0, i16 10855, i16 10856, i16 0, i16 0, i16 5803, i16 0, i16 10857, i16 5802, i16 5801, i16 0, i16 5475, i16 10333, i16 10334, i16 10335, i16 0, i16 2773, i16 1739, i16 1261, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10336, i16 10337, i16 0, i16 10338, i16 0, i16 3287, i16 0, i16 2950, i16 10339, i16 0, i16 10340, i16 0, i16 0, i16 2774, i16 0, i16 0, i16 0, i16 0, i16 1651, i16 7523, i16 7524, i16 7525, i16 3790, i16 0, i16 7526, i16 7527, i16 3791, i16 3795, i16 791, i16 7528, i16 0, i16 7529, i16 0, i16 7530, i16 3237, i16 3794, i16 7531, i16 7532, i16 7533, i16 0, i16 3793, i16 3797, i16 7534, i16 0, i16 7535, i16 3796, i16 0, i16 2693, i16 0, i16 0, i16 7536, i16 9828, i16 9829, i16 0, i16 2926, i16 9830, i16 0, i16 0, i16 0, i16 2804, i16 5207, i16 0, i16 9831, i16 9832, i16 0, i16 5209, i16 0, i16 3618, i16 0, i16 5206, i16 9833, i16 5208, i16 916, i16 9834, i16 5203, i16 0, i16 9835, i16 9836, i16 0, i16 9837, i16 0, i16 0, i16 4051, i16 11876, i16 11877, i16 11878, i16 11879, i16 0, i16 0, i16 11880, i16 11881, i16 0, i16 0, i16 6445, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6434, i16 11882, i16 0, i16 11883, i16 6435, i16 6433, i16 11884, i16 11885, i16 11886, i16 11887, i16 0, i16 0, i16 0, i16 11888, i16 0, i16 0, i16 4709, i16 4710, i16 1212, i16 0, i16 0, i16 2905, i16 2553, i16 1291, i16 1840, i16 2408, i16 0, i16 0, i16 2027, i16 761, i16 0, i16 0, i16 9042, i16 4711, i16 9043, i16 0, i16 9044, i16 9045, i16 0, i16 0, i16 0, i16 9046, i16 935, i16 4715, i16 0, i16 0, i16 9047, i16 9048, i16 8037, i16 0, i16 8038, i16 8039, i16 8040, i16 8041, i16 4095, i16 766, i16 1748, i16 8042, i16 8043, i16 0, i16 8044, i16 1432, i16 8045, i16 8046, i16 2578, i16 0, i16 0, i16 8047, i16 8048, i16 0, i16 0, i16 4096, i16 4097, i16 0, i16 0, i16 4099, i16 0, i16 8049, i16 8050, i16 8051, i16 615, i16 616, i16 0, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 7126, i16 7129, i16 7131, i16 7132, i16 7133, i16 7134, i16 7141, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 6247, i16 11588, i16 11589, i16 11590, i16 6250, i16 0, i16 6249, i16 0, i16 0, i16 0, i16 6252, i16 11591, i16 0, i16 6251, i16 11592, i16 6253, i16 11593, i16 0, i16 1984, i16 11594, i16 6254, i16 11595, i16 0, i16 6255, i16 0, i16 0, i16 11596, i16 11597, i16 11598, i16 11599, i16 6256, i16 2279, i16 8295, i16 0, i16 8296, i16 0, i16 0, i16 0, i16 0, i16 8297, i16 0, i16 0, i16 0, i16 0, i16 8298, i16 0, i16 0, i16 0, i16 0, i16 8299, i16 8300, i16 8301, i16 0, i16 8302, i16 0, i16 0, i16 8303, i16 0, i16 8304, i16 8305, i16 4208, i16 4212, i16 4209, i16 8306, i16 1128, i16 7640, i16 3851, i16 7641, i16 3849, i16 3406, i16 3850, i16 0, i16 3153, i16 3852, i16 3853, i16 3854, i16 2782, i16 7642, i16 0, i16 0, i16 3858, i16 3856, i16 3857, i16 3855, i16 1752, i16 3859, i16 3451, i16 3633, i16 7643, i16 0, i16 7644, i16 0, i16 7645, i16 3860, i16 7646, i16 7647, i16 2152, i16 12316, i16 6626, i16 6628, i16 12317, i16 12318, i16 1360, i16 12319, i16 3132, i16 12320, i16 12321, i16 1939, i16 3662, i16 0, i16 6624, i16 1773, i16 0, i16 0, i16 3690, i16 12322, i16 12323, i16 6630, i16 12324, i16 12325, i16 0, i16 0, i16 6629, i16 6631, i16 0, i16 0, i16 0, i16 0, i16 3944, i16 7785, i16 0, i16 0, i16 7786, i16 3946, i16 3945, i16 0, i16 2218, i16 864, i16 7787, i16 7788, i16 0, i16 901, i16 3947, i16 7789, i16 3948, i16 0, i16 7790, i16 1520, i16 7791, i16 7792, i16 3949, i16 7793, i16 7794, i16 0, i16 7795, i16 1293, i16 0, i16 7796, i16 0, i16 0, i16 4200, i16 3671, i16 0, i16 0, i16 8271, i16 8272, i16 2951, i16 8273, i16 8274, i16 4202, i16 0, i16 0, i16 8275, i16 0, i16 0, i16 0, i16 8276, i16 0, i16 0, i16 0, i16 0, i16 8277, i16 0, i16 0, i16 0, i16 0, i16 1692, i16 0, i16 0, i16 0, i16 8278, i16 0, i16 5994, i16 0, i16 5984, i16 0, i16 0, i16 0, i16 11142, i16 11143, i16 5996, i16 11144, i16 5982, i16 2999, i16 11145, i16 11170, i16 0, i16 0, i16 0, i16 3544, i16 0, i16 0, i16 0, i16 5991, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6013, i16 11146, i16 11147, i16 4972, i16 0, i16 9436, i16 4974, i16 4973, i16 9437, i16 3339, i16 0, i16 0, i16 2029, i16 1949, i16 1815, i16 0, i16 4975, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4977, i16 2158, i16 9438, i16 4976, i16 0, i16 0, i16 9439, i16 0, i16 0, i16 4978, i16 9440, i16 5228, i16 9855, i16 9856, i16 9857, i16 0, i16 9858, i16 5229, i16 3239, i16 3040, i16 0, i16 0, i16 5230, i16 2962, i16 0, i16 9859, i16 9860, i16 9861, i16 0, i16 2638, i16 9862, i16 0, i16 9863, i16 9864, i16 0, i16 5231, i16 1004, i16 9865, i16 1292, i16 9866, i16 3415, i16 9867, i16 3399, i16 365, i16 366, i16 0, i16 0, i16 0, i16 258, i16 257, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 361, i16 0, i16 297, i16 298, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 323, i16 0, i16 0, i16 0, i16 0, i16 878, i16 9060, i16 9061, i16 9062, i16 9063, i16 2020, i16 9064, i16 3353, i16 1767, i16 9065, i16 9066, i16 9067, i16 9068, i16 2089, i16 9069, i16 2256, i16 9070, i16 9071, i16 0, i16 9072, i16 4719, i16 4717, i16 4718, i16 9074, i16 0, i16 9073, i16 0, i16 0, i16 2606, i16 0, i16 0, i16 4750, i16 10350, i16 10351, i16 0, i16 10352, i16 10353, i16 0, i16 0, i16 0, i16 10354, i16 0, i16 10355, i16 3583, i16 1628, i16 0, i16 10356, i16 1504, i16 0, i16 0, i16 3004, i16 0, i16 5479, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10357, i16 0, i16 5481, i16 0, i16 10358, i16 0, i16 6767, i16 7051, i16 3421, i16 12559, i16 6768, i16 0, i16 6769, i16 12560, i16 6770, i16 1082, i16 12561, i16 6772, i16 0, i16 2212, i16 12562, i16 0, i16 0, i16 6773, i16 0, i16 12563, i16 1407, i16 0, i16 12564, i16 12565, i16 12566, i16 6774, i16 6778, i16 12567, i16 6776, i16 12568, i16 0, i16 12569, i16 9328, i16 9329, i16 4897, i16 9330, i16 0, i16 4904, i16 0, i16 0, i16 0, i16 0, i16 4910, i16 3086, i16 4916, i16 0, i16 0, i16 9331, i16 0, i16 9332, i16 4911, i16 4914, i16 4908, i16 9333, i16 0, i16 2615, i16 0, i16 3119, i16 9334, i16 4898, i16 0, i16 9335, i16 4906, i16 2093, i16 9840, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2997, i16 9841, i16 9842, i16 9843, i16 0, i16 0, i16 0, i16 5217, i16 0, i16 0, i16 5218, i16 0, i16 0, i16 9844, i16 0, i16 0, i16 0, i16 9845, i16 0, i16 0, i16 9846, i16 5219, i16 0, i16 9847, i16 0, i16 9848, i16 10096, i16 10097, i16 0, i16 1805, i16 10098, i16 928, i16 5328, i16 10099, i16 3520, i16 10100, i16 10101, i16 3256, i16 5329, i16 0, i16 0, i16 10102, i16 2755, i16 3490, i16 1626, i16 2184, i16 0, i16 0, i16 10103, i16 2574, i16 3918, i16 10104, i16 2639, i16 1005, i16 5330, i16 10105, i16 10106, i16 10107, i16 7537, i16 0, i16 7538, i16 7539, i16 0, i16 1485, i16 7540, i16 7541, i16 0, i16 0, i16 7542, i16 0, i16 3798, i16 7543, i16 0, i16 0, i16 7544, i16 7545, i16 1910, i16 0, i16 2443, i16 2694, i16 1395, i16 0, i16 3799, i16 0, i16 0, i16 0, i16 0, i16 1237, i16 0, i16 0, i16 11377, i16 11378, i16 0, i16 11379, i16 6114, i16 11380, i16 6115, i16 1929, i16 0, i16 6117, i16 0, i16 2564, i16 0, i16 1457, i16 1061, i16 0, i16 0, i16 11381, i16 11382, i16 0, i16 6120, i16 11383, i16 0, i16 11384, i16 0, i16 1058, i16 11385, i16 6125, i16 11386, i16 0, i16 6121, i16 6124, i16 11889, i16 11890, i16 6432, i16 0, i16 2718, i16 0, i16 0, i16 6437, i16 6441, i16 6438, i16 6436, i16 11891, i16 6439, i16 11892, i16 11893, i16 11894, i16 6440, i16 0, i16 0, i16 0, i16 11895, i16 6447, i16 0, i16 0, i16 0, i16 6442, i16 0, i16 11896, i16 11897, i16 11898, i16 11899, i16 2305, i16 10866, i16 940, i16 0, i16 10867, i16 0, i16 5812, i16 5813, i16 0, i16 10868, i16 0, i16 5814, i16 0, i16 3537, i16 0, i16 10869, i16 10870, i16 0, i16 0, i16 1979, i16 0, i16 5816, i16 5815, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10871, i16 0, i16 0, i16 0, i16 10872, i16 3699, i16 4782, i16 2240, i16 0, i16 0, i16 0, i16 4781, i16 0, i16 0, i16 4776, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1544, i16 9169, i16 9170, i16 9171, i16 4788, i16 4786, i16 9172, i16 978, i16 4784, i16 4790, i16 4796, i16 0, i16 9173, i16 9174, i16 9175, i16 0, i16 0, i16 7283, i16 7282, i16 7285, i16 7291, i16 7284, i16 7290, i16 7180, i16 7295, i16 7299, i16 7298, i16 7301, i16 7300, i16 7312, i16 7311, i16 7314, i16 7313, i16 7182, i16 7327, i16 7329, i16 7328, i16 7331, i16 7335, i16 7330, i16 285, i16 7191, i16 7346, i16 7345, i16 7348, i16 7347, i16 7361, i16 7195, i16 7362, i16 9075, i16 4724, i16 1873, i16 1615, i16 4722, i16 9076, i16 9077, i16 0, i16 0, i16 4723, i16 9078, i16 2179, i16 9079, i16 0, i16 9081, i16 4721, i16 0, i16 9080, i16 1794, i16 0, i16 0, i16 0, i16 0, i16 9082, i16 9083, i16 9084, i16 0, i16 9085, i16 9086, i16 4726, i16 4725, i16 4730, i16 1908, i16 0, i16 11233, i16 11234, i16 0, i16 0, i16 6015, i16 11235, i16 0, i16 0, i16 0, i16 0, i16 11236, i16 0, i16 11237, i16 0, i16 11238, i16 3235, i16 0, i16 3379, i16 6055, i16 6054, i16 0, i16 6050, i16 6051, i16 0, i16 861, i16 0, i16 11239, i16 0, i16 11240, i16 6053, i16 1909, i16 0, i16 0, i16 0, i16 2851, i16 5627, i16 5626, i16 0, i16 10612, i16 5623, i16 10613, i16 0, i16 0, i16 3681, i16 0, i16 0, i16 0, i16 0, i16 10614, i16 5632, i16 10615, i16 10616, i16 5636, i16 5633, i16 10617, i16 10618, i16 10619, i16 0, i16 10620, i16 0, i16 10621, i16 0, i16 7797, i16 0, i16 1797, i16 3950, i16 0, i16 7798, i16 0, i16 0, i16 3367, i16 1706, i16 1273, i16 3478, i16 2391, i16 3032, i16 1966, i16 7799, i16 0, i16 0, i16 7800, i16 7801, i16 2006, i16 7802, i16 1945, i16 1958, i16 0, i16 2053, i16 7803, i16 3033, i16 0, i16 7804, i16 7805, i16 3953, i16 12917, i16 0, i16 12918, i16 0, i16 6964, i16 0, i16 6960, i16 0, i16 6961, i16 6957, i16 6963, i16 12919, i16 6959, i16 1093, i16 0, i16 12920, i16 3703, i16 12921, i16 6962, i16 6958, i16 6956, i16 6955, i16 12922, i16 0, i16 12923, i16 12924, i16 12925, i16 6966, i16 12926, i16 0, i16 12927, i16 0, i16 9590, i16 2555, i16 9591, i16 0, i16 5069, i16 9592, i16 5058, i16 0, i16 5064, i16 9593, i16 5071, i16 837, i16 5061, i16 0, i16 5072, i16 9594, i16 9595, i16 2183, i16 0, i16 2030, i16 9596, i16 3194, i16 9597, i16 1699, i16 0, i16 5053, i16 5067, i16 2745, i16 9598, i16 0, i16 0, i16 0, i16 3448, i16 0, i16 6681, i16 2357, i16 12444, i16 0, i16 0, i16 6682, i16 12445, i16 3225, i16 6683, i16 1038, i16 12446, i16 12447, i16 12448, i16 867, i16 0, i16 1176, i16 0, i16 1175, i16 6684, i16 0, i16 6685, i16 0, i16 6686, i16 6687, i16 0, i16 0, i16 0, i16 12449, i16 12450, i16 12451, i16 4472, i16 4470, i16 8699, i16 2401, i16 0, i16 8700, i16 0, i16 4460, i16 1799, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2475, i16 4491, i16 8701, i16 2402, i16 4486, i16 8702, i16 4483, i16 4484, i16 8703, i16 1943, i16 4487, i16 4490, i16 8704, i16 8705, i16 0, i16 0, i16 6008, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11157, i16 3267, i16 11158, i16 5999, i16 0, i16 0, i16 0, i16 991, i16 1551, i16 3104, i16 6009, i16 0, i16 5997, i16 0, i16 11159, i16 6006, i16 11160, i16 11161, i16 0, i16 6016, i16 11162, i16 6001, i16 0, i16 0, i16 9336, i16 3424, i16 4926, i16 4913, i16 9337, i16 0, i16 0, i16 0, i16 9338, i16 1499, i16 936, i16 1090, i16 0, i16 0, i16 4889, i16 0, i16 9339, i16 0, i16 9340, i16 0, i16 9341, i16 2094, i16 4918, i16 9342, i16 4925, i16 1962, i16 1109, i16 9343, i16 0, i16 2545, i16 9344, i16 9345, i16 11640, i16 0, i16 11641, i16 1480, i16 11642, i16 6284, i16 11643, i16 0, i16 0, i16 0, i16 3295, i16 11644, i16 11645, i16 2312, i16 0, i16 11646, i16 0, i16 1301, i16 0, i16 3462, i16 2385, i16 11647, i16 6285, i16 11648, i16 0, i16 0, i16 2194, i16 2611, i16 2119, i16 11649, i16 11650, i16 0, i16 8313, i16 2599, i16 0, i16 4213, i16 0, i16 8314, i16 4215, i16 0, i16 0, i16 4216, i16 8315, i16 0, i16 0, i16 0, i16 8316, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8317, i16 8318, i16 0, i16 0, i16 0, i16 4218, i16 4219, i16 0, i16 8319, i16 0, i16 0, i16 11129, i16 0, i16 11130, i16 0, i16 11131, i16 5980, i16 11132, i16 5988, i16 0, i16 5995, i16 5989, i16 0, i16 0, i16 11133, i16 5987, i16 0, i16 0, i16 0, i16 11134, i16 5958, i16 11135, i16 11136, i16 5985, i16 0, i16 11137, i16 11138, i16 5981, i16 11139, i16 11140, i16 11141, i16 1169, i16 5983, i16 890, i16 11664, i16 6294, i16 1459, i16 0, i16 11665, i16 1857, i16 11666, i16 0, i16 1856, i16 0, i16 3704, i16 6293, i16 6292, i16 2350, i16 0, i16 1260, i16 3694, i16 1053, i16 2121, i16 0, i16 11667, i16 11668, i16 11669, i16 0, i16 11670, i16 11671, i16 11672, i16 6291, i16 0, i16 11673, i16 11674, i16 3962, i16 0, i16 3663, i16 7821, i16 7822, i16 0, i16 3271, i16 7823, i16 2697, i16 1563, i16 1671, i16 0, i16 0, i16 7824, i16 3970, i16 7825, i16 0, i16 2874, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7826, i16 3974, i16 3707, i16 4830, i16 0, i16 0, i16 4844, i16 801, i16 9267, i16 0, i16 4832, i16 9268, i16 9269, i16 3403, i16 4837, i16 2157, i16 2664, i16 4827, i16 9270, i16 9271, i16 4843, i16 9272, i16 0, i16 0, i16 9273, i16 9274, i16 0, i16 2245, i16 4853, i16 1108, i16 1498, i16 0, i16 0, i16 0, i16 11387, i16 0, i16 0, i16 11388, i16 3027, i16 11389, i16 0, i16 11390, i16 0, i16 6122, i16 0, i16 0, i16 6123, i16 3135, i16 3059, i16 6126, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2530, i16 6136, i16 11392, i16 6132, i16 11393, i16 11394, i16 1008, i16 0, i16 2172, i16 0, i16 0, i16 8264, i16 8265, i16 4194, i16 0, i16 8266, i16 8267, i16 3247, i16 8268, i16 0, i16 0, i16 8269, i16 0, i16 1565, i16 8270, i16 0, i16 0, i16 0, i16 0, i16 4203, i16 4204, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2072, i16 0, i16 0, i16 0, i16 6012, i16 0, i16 6011, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2982, i16 6018, i16 0, i16 6029, i16 0, i16 0, i16 11171, i16 0, i16 1121, i16 0, i16 0, i16 0, i16 6032, i16 0, i16 0, i16 6014, i16 11172, i16 0, i16 0, i16 6019, i16 3549, i16 0, i16 0, i16 10108, i16 0, i16 0, i16 10109, i16 5331, i16 0, i16 5336, i16 10110, i16 10111, i16 5334, i16 5333, i16 4684, i16 1033, i16 5332, i16 10112, i16 803, i16 10113, i16 3011, i16 10114, i16 0, i16 3043, i16 0, i16 0, i16 10115, i16 0, i16 3582, i16 5337, i16 5335, i16 2591, i16 2255, i16 10116, i16 10117, i16 7806, i16 874, i16 2392, i16 1590, i16 1534, i16 1380, i16 7807, i16 7808, i16 3957, i16 2532, i16 2531, i16 1320, i16 2065, i16 3958, i16 3956, i16 969, i16 2507, i16 1897, i16 1822, i16 845, i16 0, i16 7809, i16 1107, i16 1661, i16 1821, i16 0, i16 3959, i16 0, i16 0, i16 0, i16 0, i16 0, i16 639, i16 640, i16 7138, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 7135, i16 7140, i16 7137, i16 7139, i16 7142, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6271, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1076, i16 0, i16 11616, i16 11617, i16 11618, i16 11619, i16 11620, i16 0, i16 6272, i16 0, i16 6273, i16 6274, i16 0, i16 0, i16 9087, i16 9088, i16 4731, i16 0, i16 4727, i16 0, i16 1029, i16 4728, i16 4729, i16 3054, i16 9090, i16 9091, i16 9092, i16 0, i16 3160, i16 1445, i16 4732, i16 0, i16 0, i16 9094, i16 2267, i16 9095, i16 2090, i16 9097, i16 9098, i16 9099, i16 2581, i16 9100, i16 9102, i16 0, i16 9093, i16 9096, i16 9599, i16 0, i16 0, i16 0, i16 9600, i16 2271, i16 0, i16 1100, i16 1734, i16 2097, i16 5055, i16 2001, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1447, i16 0, i16 5054, i16 0, i16 0, i16 0, i16 5076, i16 2044, i16 1523, i16 0, i16 5091, i16 9601, i16 5085, i16 8320, i16 8321, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8322, i16 1203, i16 0, i16 4221, i16 4220, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4222, i16 8323, i16 0, i16 8325, i16 0, i16 8326, i16 0, i16 8327, i16 0, i16 0, i16 8576, i16 4395, i16 0, i16 0, i16 8577, i16 8578, i16 0, i16 8579, i16 4396, i16 0, i16 1325, i16 0, i16 4397, i16 8580, i16 4398, i16 0, i16 8581, i16 4400, i16 0, i16 2805, i16 8582, i16 0, i16 4401, i16 4402, i16 8583, i16 4403, i16 0, i16 8584, i16 4388, i16 4387, i16 0, i16 0, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 0, i16 0, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 1665, i16 2915, i16 0, i16 0, i16 5051, i16 0, i16 0, i16 0, i16 9719, i16 9720, i16 0, i16 3555, i16 5149, i16 0, i16 5153, i16 2522, i16 9721, i16 5152, i16 0, i16 5131, i16 0, i16 9722, i16 6697, i16 0, i16 0, i16 9723, i16 5157, i16 0, i16 9724, i16 9725, i16 5161, i16 0, i16 5249, i16 5250, i16 5248, i16 0, i16 0, i16 9900, i16 0, i16 0, i16 0, i16 1950, i16 0, i16 0, i16 2853, i16 1334, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9901, i16 9902, i16 0, i16 0, i16 5252, i16 2543, i16 5251, i16 9903, i16 9904, i16 3680, i16 2973, i16 9905, i16 0, i16 5507, i16 1426, i16 0, i16 0, i16 10420, i16 10421, i16 10422, i16 1247, i16 1222, i16 1846, i16 10423, i16 10424, i16 0, i16 0, i16 0, i16 10425, i16 3491, i16 10426, i16 0, i16 5513, i16 10427, i16 5512, i16 2379, i16 5509, i16 10428, i16 0, i16 5511, i16 10429, i16 10430, i16 2010, i16 2187, i16 5510, i16 11651, i16 6286, i16 0, i16 11652, i16 0, i16 11653, i16 6289, i16 11654, i16 6290, i16 11655, i16 0, i16 0, i16 0, i16 11656, i16 11657, i16 0, i16 1715, i16 2471, i16 6288, i16 11658, i16 2120, i16 3125, i16 11659, i16 11660, i16 11661, i16 0, i16 0, i16 6287, i16 11662, i16 11663, i16 1855, i16 0, i16 5508, i16 0, i16 2917, i16 0, i16 0, i16 2106, i16 0, i16 10431, i16 3123, i16 10432, i16 0, i16 10433, i16 0, i16 1740, i16 0, i16 0, i16 0, i16 0, i16 10434, i16 0, i16 0, i16 0, i16 0, i16 2807, i16 0, i16 10435, i16 5514, i16 10436, i16 10437, i16 0, i16 10438, i16 5515, i16 4485, i16 1972, i16 8706, i16 4488, i16 0, i16 0, i16 4482, i16 8707, i16 3469, i16 3468, i16 8708, i16 0, i16 8709, i16 4492, i16 4493, i16 798, i16 8710, i16 8711, i16 8712, i16 8713, i16 8714, i16 4481, i16 8715, i16 8716, i16 0, i16 8717, i16 1391, i16 751, i16 8718, i16 0, i16 8719, i16 1143, i16 4230, i16 8332, i16 0, i16 4228, i16 0, i16 4229, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8333, i16 8334, i16 0, i16 0, i16 0, i16 1829, i16 4231, i16 8335, i16 0, i16 1597, i16 4232, i16 8336, i16 1869, i16 2461, i16 0, i16 4233, i16 4234, i16 1837, i16 1598, i16 8337, i16 3427, i16 1673, i16 0, i16 3259, i16 5542, i16 10499, i16 10500, i16 3335, i16 10501, i16 10502, i16 5544, i16 0, i16 0, i16 10503, i16 2298, i16 886, i16 959, i16 757, i16 0, i16 0, i16 0, i16 0, i16 10504, i16 10505, i16 5543, i16 0, i16 10506, i16 0, i16 0, i16 10507, i16 10508, i16 0, i16 10509, i16 2441, i16 6521, i16 754, i16 3661, i16 0, i16 0, i16 0, i16 6526, i16 12021, i16 12022, i16 12024, i16 0, i16 12025, i16 12026, i16 2502, i16 12023, i16 0, i16 1988, i16 2197, i16 12027, i16 12028, i16 6528, i16 6527, i16 12029, i16 824, i16 6529, i16 0, i16 0, i16 3110, i16 0, i16 6537, i16 12030, i16 8585, i16 4404, i16 1436, i16 8586, i16 8587, i16 0, i16 3102, i16 8588, i16 0, i16 1729, i16 3118, i16 2631, i16 3138, i16 4405, i16 0, i16 8589, i16 2081, i16 877, i16 8590, i16 4406, i16 8591, i16 8592, i16 0, i16 4407, i16 8593, i16 3459, i16 8594, i16 0, i16 3065, i16 8595, i16 8596, i16 4410, i16 10634, i16 1163, i16 0, i16 5637, i16 0, i16 10635, i16 10636, i16 5638, i16 10637, i16 0, i16 5639, i16 5642, i16 10638, i16 0, i16 0, i16 0, i16 0, i16 10639, i16 0, i16 10640, i16 10641, i16 0, i16 10642, i16 5641, i16 3087, i16 10643, i16 10644, i16 0, i16 0, i16 5643, i16 3657, i16 3266, i16 1675, i16 3402, i16 12998, i16 12997, i16 7003, i16 12999, i16 0, i16 0, i16 0, i16 13000, i16 13001, i16 13002, i16 3301, i16 0, i16 0, i16 7011, i16 13003, i16 0, i16 7007, i16 0, i16 0, i16 0, i16 13004, i16 13005, i16 0, i16 0, i16 7012, i16 13006, i16 13007, i16 0, i16 13008, i16 0, i16 7563, i16 7564, i16 7565, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7566, i16 0, i16 1722, i16 3506, i16 0, i16 7567, i16 7568, i16 0, i16 3804, i16 3807, i16 3803, i16 1721, i16 0, i16 2060, i16 0, i16 7569, i16 7570, i16 0, i16 0, i16 7571, i16 1428, i16 0, i16 3980, i16 7837, i16 0, i16 7838, i16 3982, i16 7839, i16 3984, i16 0, i16 7840, i16 7841, i16 0, i16 1765, i16 3693, i16 7842, i16 3973, i16 3971, i16 3983, i16 7843, i16 3978, i16 0, i16 0, i16 7844, i16 7845, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7846, i16 0, i16 0, i16 7847, i16 9868, i16 953, i16 3679, i16 9869, i16 0, i16 0, i16 0, i16 3333, i16 9870, i16 3199, i16 0, i16 9871, i16 0, i16 0, i16 9872, i16 9873, i16 0, i16 9874, i16 2272, i16 0, i16 5232, i16 0, i16 0, i16 9875, i16 9876, i16 2848, i16 0, i16 9877, i16 9878, i16 1500, i16 5233, i16 9879, i16 11148, i16 6005, i16 0, i16 0, i16 0, i16 2246, i16 0, i16 11149, i16 0, i16 11150, i16 1253, i16 0, i16 1370, i16 0, i16 6000, i16 11151, i16 11152, i16 11153, i16 0, i16 992, i16 11154, i16 0, i16 2113, i16 0, i16 6003, i16 0, i16 0, i16 0, i16 1743, i16 11155, i16 0, i16 2768, i16 4749, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4751, i16 0, i16 9131, i16 4752, i16 0, i16 9132, i16 9133, i16 0, i16 9134, i16 0, i16 4753, i16 0, i16 1351, i16 879, i16 1616, i16 4754, i16 0, i16 4755, i16 2048, i16 2409, i16 9135, i16 9089, i16 3954, i16 2373, i16 2372, i16 2493, i16 9101, i16 1348, i16 0, i16 4733, i16 4737, i16 0, i16 0, i16 976, i16 4734, i16 4736, i16 0, i16 9103, i16 9104, i16 9105, i16 4735, i16 0, i16 9106, i16 2042, i16 9107, i16 0, i16 0, i16 0, i16 2571, i16 782, i16 4738, i16 9108, i16 9109, i16 9110, i16 9111, i16 4739, i16 0, i16 9112, i16 10897, i16 5830, i16 0, i16 0, i16 10898, i16 0, i16 10899, i16 0, i16 5831, i16 0, i16 0, i16 0, i16 10900, i16 0, i16 10901, i16 0, i16 10902, i16 0, i16 0, i16 1883, i16 10903, i16 10904, i16 3454, i16 10905, i16 0, i16 10906, i16 10907, i16 5833, i16 10908, i16 2562, i16 10909, i16 5832, i16 3218, i16 3626, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8131, i16 1017, i16 4128, i16 8132, i16 8133, i16 0, i16 8134, i16 8135, i16 2369, i16 4131, i16 0, i16 2786, i16 8136, i16 0, i16 2760, i16 2787, i16 3026, i16 2670, i16 0, i16 0, i16 0, i16 1726, i16 8137, i16 3731, i16 3303, i16 3732, i16 0, i16 1579, i16 816, i16 3365, i16 0, i16 1307, i16 0, i16 0, i16 1308, i16 1309, i16 2691, i16 3593, i16 7399, i16 3733, i16 0, i16 0, i16 3734, i16 0, i16 0, i16 3735, i16 0, i16 0, i16 7400, i16 2200, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4243, i16 8345, i16 0, i16 4244, i16 8346, i16 2517, i16 8347, i16 846, i16 1946, i16 779, i16 8348, i16 2398, i16 1137, i16 1894, i16 8349, i16 1599, i16 8350, i16 8351, i16 0, i16 8352, i16 8353, i16 2789, i16 8354, i16 1968, i16 1138, i16 2603, i16 2699, i16 769, i16 1240, i16 3274, i16 0, i16 1907, i16 7060, i16 0, i16 0, i16 0, i16 13092, i16 7061, i16 0, i16 13093, i16 7062, i16 0, i16 0, i16 0, i16 13094, i16 13095, i16 13096, i16 7063, i16 13097, i16 13098, i16 13099, i16 0, i16 7064, i16 13100, i16 7065, i16 7066, i16 13101, i16 7067, i16 0, i16 7068, i16 7069, i16 7070, i16 0, i16 13102, i16 7572, i16 0, i16 3808, i16 7573, i16 7574, i16 1356, i16 0, i16 7575, i16 0, i16 3805, i16 3806, i16 0, i16 7576, i16 2828, i16 7577, i16 2435, i16 7578, i16 1312, i16 0, i16 7579, i16 7580, i16 3328, i16 3809, i16 0, i16 7581, i16 0, i16 3594, i16 0, i16 7582, i16 7583, i16 3810, i16 7584, i16 6549, i16 6548, i16 6546, i16 5564, i16 1173, i16 12043, i16 0, i16 6514, i16 12044, i16 6551, i16 6550, i16 12045, i16 12046, i16 0, i16 12047, i16 6552, i16 12048, i16 3495, i16 0, i16 0, i16 0, i16 12049, i16 0, i16 12050, i16 12051, i16 12052, i16 0, i16 12053, i16 0, i16 0, i16 0, i16 0, i16 2710, i16 2000, i16 1280, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9490, i16 9491, i16 0, i16 9492, i16 3039, i16 9493, i16 1887, i16 0, i16 9494, i16 0, i16 9495, i16 5004, i16 0, i16 1153, i16 0, i16 9496, i16 927, i16 9497, i16 9498, i16 2895, i16 5003, i16 1621, i16 10390, i16 10391, i16 0, i16 0, i16 10387, i16 0, i16 10392, i16 5497, i16 3348, i16 0, i16 10393, i16 0, i16 5496, i16 0, i16 0, i16 820, i16 0, i16 0, i16 10394, i16 10395, i16 5500, i16 0, i16 10397, i16 10398, i16 0, i16 0, i16 10399, i16 10400, i16 0, i16 5499, i16 0, i16 10401, i16 12184, i16 12185, i16 0, i16 0, i16 12186, i16 12187, i16 12188, i16 12189, i16 0, i16 12190, i16 12191, i16 0, i16 12192, i16 2876, i16 1062, i16 0, i16 12193, i16 6601, i16 12194, i16 12195, i16 6598, i16 6600, i16 12196, i16 0, i16 12197, i16 0, i16 0, i16 0, i16 12198, i16 12199, i16 6596, i16 0, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 3481, i16 0, i16 8676, i16 1142, i16 8677, i16 8678, i16 896, i16 4468, i16 8679, i16 2933, i16 758, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8680, i16 8681, i16 3066, i16 4428, i16 4474, i16 4478, i16 3446, i16 8682, i16 4471, i16 0, i16 0, i16 8683, i16 2792, i16 4476, i16 8684, i16 0, i16 9113, i16 0, i16 2635, i16 0, i16 9114, i16 0, i16 3646, i16 0, i16 0, i16 0, i16 0, i16 1814, i16 0, i16 9115, i16 3264, i16 0, i16 0, i16 9116, i16 9117, i16 0, i16 3312, i16 9118, i16 0, i16 0, i16 4746, i16 4741, i16 0, i16 9119, i16 4744, i16 0, i16 4743, i16 9120, i16 922, i16 2387, i16 12036, i16 1512, i16 0, i16 3529, i16 12037, i16 12038, i16 6541, i16 2731, i16 0, i16 0, i16 12039, i16 2431, i16 1928, i16 6542, i16 12040, i16 0, i16 6545, i16 0, i16 12041, i16 2036, i16 6543, i16 2354, i16 2353, i16 12042, i16 813, i16 0, i16 3608, i16 6547, i16 0, i16 3083, i16 2714, i16 5730, i16 10770, i16 0, i16 5726, i16 10771, i16 10772, i16 0, i16 3241, i16 1164, i16 10773, i16 10774, i16 3420, i16 10775, i16 0, i16 807, i16 0, i16 10776, i16 5729, i16 0, i16 3658, i16 10777, i16 10778, i16 0, i16 0, i16 10779, i16 10780, i16 5728, i16 0, i16 0, i16 0, i16 0, i16 11930, i16 11931, i16 0, i16 11932, i16 11933, i16 6468, i16 6465, i16 11934, i16 6469, i16 0, i16 1927, i16 6470, i16 1231, i16 1422, i16 0, i16 11935, i16 0, i16 11936, i16 1511, i16 0, i16 11937, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6471, i16 11938, i16 0, i16 0, i16 2893, i16 11419, i16 0, i16 0, i16 11420, i16 0, i16 11421, i16 0, i16 0, i16 0, i16 2319, i16 0, i16 3684, i16 6148, i16 11422, i16 6149, i16 0, i16 0, i16 0, i16 0, i16 6155, i16 0, i16 2165, i16 0, i16 6151, i16 11423, i16 6154, i16 0, i16 0, i16 0, i16 11424, i16 0, i16 6146, i16 11675, i16 0, i16 6296, i16 11676, i16 6297, i16 6295, i16 11677, i16 1553, i16 0, i16 3503, i16 0, i16 11678, i16 1858, i16 2914, i16 0, i16 11679, i16 11680, i16 6300, i16 11681, i16 2281, i16 0, i16 2565, i16 11682, i16 11683, i16 3493, i16 11684, i16 6303, i16 0, i16 0, i16 0, i16 1573, i16 11685, i16 10140, i16 10141, i16 5356, i16 5358, i16 10142, i16 3129, i16 10143, i16 2102, i16 0, i16 0, i16 5365, i16 0, i16 10144, i16 5364, i16 10145, i16 10146, i16 0, i16 0, i16 5366, i16 0, i16 1879, i16 1700, i16 0, i16 10147, i16 2806, i16 5367, i16 0, i16 2668, i16 10148, i16 0, i16 5369, i16 10149, i16 10396, i16 2105, i16 0, i16 0, i16 0, i16 0, i16 10402, i16 5501, i16 0, i16 0, i16 0, i16 0, i16 10403, i16 0, i16 2378, i16 0, i16 10404, i16 5503, i16 5502, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5504, i16 10405, i16 0, i16 10406, i16 0, i16 10407, i16 10408, i16 5789, i16 10839, i16 0, i16 10840, i16 10841, i16 10842, i16 10843, i16 5792, i16 5790, i16 5791, i16 1750, i16 1454, i16 0, i16 10844, i16 2585, i16 0, i16 3020, i16 10845, i16 2047, i16 0, i16 0, i16 2952, i16 0, i16 3078, i16 5793, i16 4539, i16 0, i16 0, i16 0, i16 10846, i16 10847, i16 10848, i16 10910, i16 0, i16 0, i16 0, i16 10911, i16 0, i16 5835, i16 0, i16 0, i16 0, i16 5834, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5836, i16 0, i16 0, i16 0, i16 2276, i16 0, i16 5837, i16 0, i16 5838, i16 0, i16 0, i16 0, i16 3214, i16 5839, i16 12702, i16 12703, i16 6839, i16 0, i16 0, i16 6841, i16 12704, i16 12705, i16 12706, i16 6840, i16 0, i16 6843, i16 6846, i16 12707, i16 12708, i16 0, i16 6842, i16 6844, i16 6845, i16 0, i16 12709, i16 6847, i16 0, i16 1343, i16 12710, i16 12711, i16 0, i16 12712, i16 12713, i16 0, i16 12714, i16 12715, i16 1951, i16 9987, i16 0, i16 9988, i16 0, i16 5280, i16 9989, i16 9990, i16 0, i16 9991, i16 1433, i16 0, i16 0, i16 3042, i16 5281, i16 0, i16 0, i16 5308, i16 0, i16 0, i16 9992, i16 9993, i16 0, i16 9994, i16 5287, i16 9995, i16 9996, i16 9997, i16 0, i16 9998, i16 1526, i16 9999, i16 5279, i16 0, i16 982, i16 0, i16 0, i16 9976, i16 9977, i16 0, i16 5275, i16 9978, i16 1804, i16 9979, i16 9980, i16 2658, i16 5277, i16 9981, i16 0, i16 0, i16 9982, i16 9983, i16 0, i16 0, i16 9984, i16 0, i16 0, i16 9985, i16 0, i16 0, i16 0, i16 9986, i16 5282, i16 0, i16 5535, i16 10488, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10489, i16 0, i16 0, i16 0, i16 10490, i16 0, i16 10491, i16 1952, i16 10492, i16 10493, i16 5538, i16 825, i16 0, i16 10494, i16 10495, i16 0, i16 5541, i16 10496, i16 10497, i16 10498, i16 5539, i16 985, i16 1449, i16 5540, i16 1629, i16 2976, i16 11805, i16 1510, i16 6388, i16 6387, i16 0, i16 3169, i16 0, i16 11806, i16 0, i16 1906, i16 0, i16 11807, i16 2769, i16 0, i16 11808, i16 11809, i16 0, i16 11810, i16 0, i16 0, i16 11811, i16 0, i16 11812, i16 11813, i16 0, i16 6391, i16 6392, i16 1647, i16 6390, i16 11814, i16 11815, i16 9632, i16 0, i16 823, i16 0, i16 0, i16 5106, i16 0, i16 9633, i16 0, i16 0, i16 5094, i16 0, i16 0, i16 9634, i16 9635, i16 5100, i16 0, i16 9636, i16 5102, i16 9637, i16 0, i16 0, i16 3518, i16 5097, i16 0, i16 0, i16 2733, i16 9638, i16 0, i16 5099, i16 0, i16 9639, i16 10912, i16 2422, i16 5840, i16 0, i16 10913, i16 0, i16 10914, i16 0, i16 5841, i16 0, i16 0, i16 0, i16 0, i16 10915, i16 0, i16 3659, i16 5844, i16 10916, i16 5843, i16 5842, i16 2641, i16 10917, i16 5845, i16 2161, i16 0, i16 5846, i16 0, i16 0, i16 0, i16 5847, i16 3683, i16 5848, i16 5537, i16 1365, i16 0, i16 0, i16 3688, i16 2364, i16 0, i16 0, i16 0, i16 0, i16 5516, i16 10439, i16 10440, i16 983, i16 2712, i16 3190, i16 0, i16 10441, i16 0, i16 10442, i16 10443, i16 10444, i16 10445, i16 0, i16 10446, i16 0, i16 0, i16 10447, i16 10448, i16 5517, i16 0, i16 0, i16 9121, i16 4740, i16 9122, i16 9123, i16 4745, i16 0, i16 0, i16 2875, i16 9124, i16 4742, i16 0, i16 0, i16 9125, i16 0, i16 9126, i16 9127, i16 0, i16 0, i16 0, i16 0, i16 9128, i16 0, i16 4747, i16 0, i16 0, i16 2043, i16 4748, i16 9129, i16 3514, i16 2995, i16 0, i16 9130, i16 4770, i16 2143, i16 3438, i16 4772, i16 4773, i16 3543, i16 9153, i16 0, i16 0, i16 0, i16 4778, i16 0, i16 9154, i16 1617, i16 9155, i16 2960, i16 4775, i16 2795, i16 4712, i16 4716, i16 9156, i16 1262, i16 9157, i16 2946, i16 0, i16 0, i16 0, i16 9158, i16 4777, i16 0, i16 2091, i16 3037, i16 932, i16 2261, i16 4409, i16 4408, i16 1437, i16 2489, i16 0, i16 4414, i16 4412, i16 8597, i16 4411, i16 3572, i16 1566, i16 8598, i16 0, i16 8599, i16 2056, i16 4413, i16 2763, i16 1997, i16 0, i16 0, i16 8600, i16 2845, i16 4417, i16 4416, i16 0, i16 0, i16 8601, i16 8602, i16 4415, i16 0, i16 10150, i16 10151, i16 3566, i16 5368, i16 10152, i16 0, i16 0, i16 10153, i16 0, i16 2416, i16 0, i16 0, i16 10154, i16 0, i16 10155, i16 10156, i16 5374, i16 10157, i16 5376, i16 5377, i16 2583, i16 0, i16 0, i16 0, i16 0, i16 10158, i16 5375, i16 0, i16 5372, i16 0, i16 5370, i16 5371, i16 9640, i16 9641, i16 5107, i16 9642, i16 5101, i16 3416, i16 0, i16 9643, i16 9644, i16 5096, i16 9645, i16 1875, i16 5120, i16 9646, i16 9647, i16 9648, i16 0, i16 1101, i16 0, i16 5098, i16 5103, i16 5104, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2513, i16 2495, i16 0, i16 4009, i16 7890, i16 0, i16 0, i16 2516, i16 4014, i16 2067, i16 7891, i16 0, i16 7892, i16 7893, i16 0, i16 4011, i16 7894, i16 0, i16 3445, i16 7895, i16 7896, i16 0, i16 1431, i16 0, i16 0, i16 4015, i16 4016, i16 7897, i16 0, i16 7898, i16 7899, i16 4013, i16 4019, i16 7900, i16 0, i16 6057, i16 6061, i16 0, i16 3058, i16 0, i16 0, i16 11253, i16 0, i16 6060, i16 2115, i16 1914, i16 6063, i16 0, i16 0, i16 1339, i16 11254, i16 11255, i16 11256, i16 11257, i16 11258, i16 0, i16 6064, i16 11259, i16 3184, i16 6059, i16 11260, i16 6020, i16 0, i16 11261, i16 11262, i16 11263, i16 11264, i16 10409, i16 0, i16 0, i16 0, i16 0, i16 10410, i16 5474, i16 10411, i16 0, i16 10412, i16 5476, i16 5506, i16 5505, i16 10413, i16 0, i16 0, i16 0, i16 10414, i16 0, i16 0, i16 10415, i16 10416, i16 0, i16 0, i16 0, i16 0, i16 1881, i16 10417, i16 3638, i16 10418, i16 1923, i16 10419, i16 4266, i16 0, i16 4267, i16 8383, i16 3441, i16 0, i16 8384, i16 0, i16 4268, i16 8385, i16 0, i16 8386, i16 8387, i16 1347, i16 8388, i16 0, i16 8389, i16 1969, i16 8390, i16 0, i16 0, i16 8391, i16 8392, i16 0, i16 4269, i16 4270, i16 1933, i16 2167, i16 2897, i16 2207, i16 3089, i16 2909, i16 6315, i16 6323, i16 6316, i16 0, i16 6312, i16 0, i16 2717, i16 6311, i16 0, i16 0, i16 0, i16 6309, i16 11707, i16 3472, i16 1859, i16 0, i16 11708, i16 6313, i16 0, i16 6310, i16 11709, i16 11710, i16 11711, i16 6317, i16 2051, i16 0, i16 1530, i16 0, i16 11712, i16 0, i16 2527, i16 11713, i16 7083, i16 7084, i16 3645, i16 7081, i16 0, i16 0, i16 7085, i16 7086, i16 13145, i16 13146, i16 7088, i16 0, i16 7087, i16 13147, i16 13148, i16 13149, i16 13150, i16 13151, i16 7090, i16 13152, i16 0, i16 13153, i16 7091, i16 7089, i16 0, i16 0, i16 13154, i16 0, i16 0, i16 13155, i16 0, i16 0, i16 11947, i16 0, i16 11948, i16 1078, i16 0, i16 6478, i16 0, i16 11949, i16 11950, i16 1745, i16 6477, i16 0, i16 6486, i16 0, i16 0, i16 11951, i16 11952, i16 0, i16 6480, i16 6482, i16 3258, i16 6479, i16 11953, i16 11954, i16 11955, i16 6481, i16 0, i16 6485, i16 6483, i16 1232, i16 11956, i16 6484, i16 1964, i16 0, i16 12536, i16 12537, i16 6746, i16 12538, i16 6747, i16 2199, i16 6748, i16 12539, i16 3643, i16 0, i16 0, i16 6743, i16 6750, i16 6752, i16 0, i16 6751, i16 0, i16 6749, i16 0, i16 0, i16 6753, i16 0, i16 0, i16 6754, i16 12540, i16 12541, i16 2433, i16 12542, i16 999, i16 0, i16 12716, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8365, i16 8366, i16 1941, i16 4247, i16 1204, i16 2863, i16 3386, i16 4248, i16 0, i16 4249, i16 0, i16 0, i16 3152, i16 8367, i16 0, i16 8368, i16 4251, i16 0, i16 1129, i16 1396, i16 4250, i16 0, i16 8369, i16 8370, i16 8371, i16 8372, i16 8373, i16 1139, i16 0, i16 2173, i16 4255, i16 1780, i16 10159, i16 5373, i16 10160, i16 10161, i16 10162, i16 0, i16 0, i16 10163, i16 10164, i16 5380, i16 10165, i16 5378, i16 10166, i16 5379, i16 0, i16 10167, i16 0, i16 0, i16 10168, i16 10169, i16 0, i16 10170, i16 10171, i16 0, i16 0, i16 10172, i16 0, i16 10173, i16 10174, i16 10175, i16 10176, i16 5381, i16 2480, i16 12493, i16 6712, i16 0, i16 3172, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6715, i16 6713, i16 1654, i16 0, i16 6714, i16 1531, i16 0, i16 12494, i16 0, i16 12495, i16 0, i16 12496, i16 12497, i16 12498, i16 0, i16 0, i16 3226, i16 6717, i16 6719, i16 6718, i16 6720, i16 6065, i16 11276, i16 0, i16 0, i16 2993, i16 11277, i16 11278, i16 6075, i16 6067, i16 11279, i16 6069, i16 11280, i16 11281, i16 0, i16 0, i16 11282, i16 6079, i16 6068, i16 0, i16 11283, i16 6072, i16 0, i16 0, i16 921, i16 11284, i16 2882, i16 0, i16 6073, i16 6076, i16 11285, i16 0, i16 11286, i16 10673, i16 5663, i16 5661, i16 0, i16 5659, i16 1122, i16 10674, i16 2110, i16 5664, i16 0, i16 0, i16 5662, i16 0, i16 5660, i16 5668, i16 0, i16 10675, i16 5667, i16 5666, i16 5665, i16 0, i16 0, i16 10676, i16 10677, i16 0, i16 5669, i16 10678, i16 10679, i16 10680, i16 5670, i16 2275, i16 10681, i16 6834, i16 6830, i16 12689, i16 0, i16 6833, i16 0, i16 12690, i16 12691, i16 1180, i16 0, i16 0, i16 12692, i16 6835, i16 0, i16 6836, i16 0, i16 0, i16 12693, i16 12694, i16 12695, i16 12696, i16 12697, i16 0, i16 0, i16 0, i16 12698, i16 12699, i16 12700, i16 12701, i16 6837, i16 6838, i16 0, i16 11186, i16 3177, i16 6034, i16 2814, i16 11187, i16 11188, i16 762, i16 11189, i16 0, i16 6027, i16 11190, i16 6023, i16 2425, i16 6017, i16 6025, i16 6030, i16 11191, i16 2919, i16 0, i16 11192, i16 11193, i16 755, i16 11194, i16 6022, i16 11195, i16 6031, i16 3183, i16 0, i16 11196, i16 11197, i16 0, i16 0, i16 2228, i16 5817, i16 0, i16 10873, i16 0, i16 10874, i16 5818, i16 0, i16 10875, i16 5819, i16 0, i16 1190, i16 10876, i16 0, i16 10877, i16 10878, i16 1166, i16 0, i16 10879, i16 5820, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5821, i16 10880, i16 3344, i16 3538, i16 10881, i16 10882, i16 10883, i16 2996, i16 0, i16 1154, i16 3655, i16 0, i16 0, i16 9664, i16 0, i16 0, i16 9665, i16 9666, i16 3378, i16 2675, i16 9673, i16 0, i16 9667, i16 9668, i16 5117, i16 5119, i16 9669, i16 0, i16 0, i16 9670, i16 0, i16 2361, i16 0, i16 0, i16 9671, i16 9672, i16 0, i16 5121, i16 5115, i16 4021, i16 7906, i16 7907, i16 4031, i16 2360, i16 0, i16 7908, i16 4033, i16 7909, i16 1593, i16 4023, i16 2624, i16 0, i16 0, i16 7910, i16 7911, i16 0, i16 7912, i16 7913, i16 7914, i16 7915, i16 0, i16 0, i16 7916, i16 4027, i16 4020, i16 1134, i16 0, i16 1199, i16 1096, i16 4028, i16 4024, i16 11957, i16 11958, i16 0, i16 11959, i16 0, i16 11960, i16 6487, i16 11961, i16 11962, i16 2965, i16 3621, i16 0, i16 11963, i16 11964, i16 11965, i16 1987, i16 0, i16 0, i16 0, i16 6488, i16 11966, i16 11967, i16 11968, i16 11969, i16 3473, i16 6490, i16 11970, i16 6489, i16 0, i16 0, i16 6493, i16 3504, i16 7094, i16 13164, i16 13165, i16 13166, i16 0, i16 13167, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8374, i16 974, i16 4254, i16 0, i16 4252, i16 4256, i16 4253, i16 2918, i16 4883, i16 2174, i16 0, i16 4257, i16 0, i16 0, i16 3597, i16 8375, i16 4258, i16 8376, i16 0, i16 4260, i16 8377, i16 2625, i16 4259, i16 0, i16 2252, i16 0, i16 1870, i16 0, i16 0, i16 8378, i16 2485, i16 1960, i16 9142, i16 0, i16 9143, i16 0, i16 0, i16 0, i16 4759, i16 4760, i16 3435, i16 0, i16 3381, i16 3369, i16 3343, i16 1784, i16 4762, i16 0, i16 0, i16 1948, i16 0, i16 9144, i16 3332, i16 0, i16 4764, i16 4767, i16 4766, i16 0, i16 1210, i16 0, i16 0, i16 1279, i16 9145, i16 4763, i16 1975, i16 1847, i16 10458, i16 0, i16 10459, i16 0, i16 0, i16 10460, i16 10461, i16 5525, i16 10462, i16 1976, i16 0, i16 0, i16 0, i16 10463, i16 0, i16 975, i16 3130, i16 0, i16 10464, i16 5526, i16 10465, i16 0, i16 3076, i16 0, i16 10466, i16 0, i16 0, i16 10467, i16 10468, i16 2380, i16 6327, i16 3527, i16 0, i16 0, i16 0, i16 0, i16 6330, i16 0, i16 6333, i16 0, i16 0, i16 6331, i16 3116, i16 11722, i16 0, i16 0, i16 11723, i16 0, i16 0, i16 6328, i16 0, i16 0, i16 0, i16 11724, i16 0, i16 1373, i16 0, i16 0, i16 11725, i16 0, i16 6332, i16 0, i16 6584, i16 6585, i16 12161, i16 12162, i16 0, i16 12163, i16 3049, i16 1736, i16 1938, i16 6586, i16 0, i16 6587, i16 3569, i16 2004, i16 3455, i16 3609, i16 6588, i16 1375, i16 0, i16 12164, i16 12165, i16 0, i16 6589, i16 12166, i16 2722, i16 12167, i16 12168, i16 6592, i16 1115, i16 2198, i16 12169, i16 6590, i16 10936, i16 1550, i16 0, i16 0, i16 838, i16 5859, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10937, i16 10938, i16 5866, i16 10939, i16 5867, i16 10940, i16 10941, i16 2838, i16 0, i16 10942, i16 0, i16 1336, i16 10943, i16 10944, i16 0, i16 5878, i16 2936, i16 10945, i16 0, i16 11448, i16 0, i16 6159, i16 11449, i16 0, i16 0, i16 0, i16 11450, i16 0, i16 0, i16 0, i16 6168, i16 11451, i16 11452, i16 11453, i16 6162, i16 0, i16 11454, i16 0, i16 6170, i16 0, i16 11455, i16 0, i16 0, i16 0, i16 0, i16 3541, i16 6173, i16 0, i16 6164, i16 11456, i16 11457, i16 12216, i16 0, i16 12217, i16 12218, i16 2739, i16 6604, i16 12219, i16 12220, i16 6607, i16 6605, i16 12221, i16 6610, i16 0, i16 12222, i16 12223, i16 12224, i16 6611, i16 12225, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6603, i16 12226, i16 12227, i16 6616, i16 923, i16 12228, i16 12229, i16 6602, i16 0, i16 7865, i16 832, i16 4007, i16 0, i16 0, i16 3999, i16 4000, i16 0, i16 2066, i16 3356, i16 7866, i16 0, i16 7867, i16 4005, i16 4004, i16 7868, i16 0, i16 0, i16 2734, i16 0, i16 0, i16 0, i16 7869, i16 0, i16 0, i16 0, i16 4006, i16 0, i16 7870, i16 4003, i16 7871, i16 7872, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 0, i16 687, i16 7156, i16 7157, i16 7158, i16 7159, i16 7160, i16 7161, i16 7162, i16 7163, i16 7164, i16 7165, i16 7166, i16 0, i16 7167, i16 7168, i16 2490, i16 4430, i16 0, i16 0, i16 8646, i16 1277, i16 4440, i16 2262, i16 908, i16 4434, i16 1021, i16 4439, i16 0, i16 8647, i16 0, i16 1326, i16 0, i16 4436, i16 0, i16 8648, i16 0, i16 8649, i16 0, i16 0, i16 0, i16 0, i16 4442, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12475, i16 6705, i16 6707, i16 0, i16 12476, i16 6706, i16 12477, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1724, i16 0, i16 0, i16 3792, i16 0, i16 9136, i16 0, i16 9137, i16 1481, i16 3484, i16 0, i16 3283, i16 0, i16 3189, i16 9138, i16 4756, i16 0, i16 0, i16 0, i16 9139, i16 1768, i16 2656, i16 4757, i16 3674, i16 0, i16 9140, i16 0, i16 3313, i16 9141, i16 2636, i16 4758, i16 1213, i16 8124, i16 4126, i16 0, i16 0, i16 2698, i16 0, i16 8125, i16 8126, i16 0, i16 0, i16 1135, i16 0, i16 0, i16 8127, i16 0, i16 7095, i16 904, i16 3272, i16 8128, i16 0, i16 2137, i16 2759, i16 0, i16 0, i16 0, i16 8129, i16 1755, i16 0, i16 0, i16 4132, i16 0, i16 8130, i16 5309, i16 0, i16 3122, i16 5310, i16 10082, i16 0, i16 1125, i16 5311, i16 10083, i16 5312, i16 10084, i16 10085, i16 0, i16 0, i16 5313, i16 10086, i16 5315, i16 5316, i16 5314, i16 0, i16 10087, i16 0, i16 3146, i16 5318, i16 5317, i16 0, i16 10088, i16 10089, i16 10090, i16 0, i16 0, i16 10091, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 1470, i16 2526, i16 5138, i16 2934, i16 0, i16 9713, i16 5145, i16 9714, i16 9715, i16 0, i16 9716, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5150, i16 5148, i16 0, i16 0, i16 5151, i16 0, i16 9717, i16 5154, i16 0, i16 0, i16 9718, i16 5147, i16 7873, i16 7874, i16 0, i16 0, i16 859, i16 7875, i16 1707, i16 2171, i16 7876, i16 7877, i16 0, i16 0, i16 7878, i16 7879, i16 7880, i16 4001, i16 2785, i16 0, i16 0, i16 0, i16 4002, i16 7881, i16 747, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1474, i16 1874, i16 0, i16 1362, i16 9412, i16 0, i16 0, i16 937, i16 9413, i16 0, i16 0, i16 9414, i16 9415, i16 0, i16 0, i16 9416, i16 0, i16 0, i16 3534, i16 0, i16 0, i16 9417, i16 9418, i16 4956, i16 4955, i16 4958, i16 1244, i16 9419, i16 0, i16 1363, i16 1151, i16 9420, i16 3523, i16 3682, i16 0, i16 1636, i16 5824, i16 1925, i16 5823, i16 10884, i16 10885, i16 0, i16 10886, i16 5825, i16 1882, i16 10887, i16 10888, i16 10889, i16 2486, i16 10890, i16 5826, i16 10891, i16 10892, i16 1635, i16 10893, i16 3432, i16 5827, i16 5828, i16 0, i16 0, i16 5829, i16 10894, i16 10895, i16 10896, i16 11971, i16 11972, i16 6492, i16 11973, i16 1104, i16 6491, i16 6496, i16 11974, i16 0, i16 6495, i16 0, i16 0, i16 6494, i16 2737, i16 6497, i16 11975, i16 0, i16 11976, i16 11977, i16 11978, i16 11979, i16 11980, i16 0, i16 6498, i16 11981, i16 0, i16 0, i16 0, i16 6499, i16 11982, i16 11983, i16 1667, i16 3012, i16 10118, i16 3108, i16 0, i16 5339, i16 3577, i16 1448, i16 5340, i16 0, i16 5338, i16 3055, i16 5341, i16 0, i16 5342, i16 0, i16 10119, i16 804, i16 10120, i16 0, i16 2147, i16 5347, i16 0, i16 5344, i16 2890, i16 5343, i16 10121, i16 10122, i16 10123, i16 10124, i16 10125, i16 10126, i16 1221, i16 4804, i16 1472, i16 1446, i16 2796, i16 9208, i16 9209, i16 4802, i16 0, i16 783, i16 0, i16 9210, i16 0, i16 9211, i16 4805, i16 4807, i16 0, i16 1354, i16 1415, i16 9193, i16 1149, i16 1258, i16 9212, i16 0, i16 9213, i16 9214, i16 4810, i16 0, i16 9215, i16 1774, i16 3364, i16 0, i16 1802, i16 8900, i16 759, i16 0, i16 4625, i16 0, i16 8901, i16 0, i16 0, i16 0, i16 4622, i16 8902, i16 0, i16 8903, i16 0, i16 1209, i16 0, i16 0, i16 0, i16 8904, i16 8905, i16 910, i16 8906, i16 4628, i16 0, i16 8907, i16 8908, i16 3512, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2501, i16 2430, i16 12015, i16 2821, i16 12016, i16 6516, i16 1268, i16 0, i16 12017, i16 0, i16 0, i16 6525, i16 12018, i16 6522, i16 6535, i16 2822, i16 2595, i16 6519, i16 0, i16 2719, i16 2770, i16 6520, i16 6524, i16 2219, i16 12019, i16 2978, i16 2669, i16 12020, i16 0, i16 2283, i16 6523, i16 2451, i16 4550, i16 8780, i16 0, i16 8781, i16 8782, i16 0, i16 0, i16 8783, i16 4551, i16 4552, i16 3263, i16 0, i16 4554, i16 4553, i16 1998, i16 0, i16 2263, i16 1003, i16 1025, i16 8784, i16 4555, i16 8785, i16 776, i16 0, i16 0, i16 0, i16 2293, i16 4556, i16 8786, i16 6377, i16 4557, i16 1468, i16 12230, i16 12231, i16 3014, i16 0, i16 6606, i16 12232, i16 2125, i16 12233, i16 12234, i16 12235, i16 0, i16 0, i16 0, i16 0, i16 12236, i16 12237, i16 12238, i16 1650, i16 0, i16 0, i16 0, i16 12239, i16 12240, i16 12241, i16 12242, i16 12243, i16 0, i16 12244, i16 12245, i16 12246, i16 3323, i16 12247, i16 1479, i16 11505, i16 6195, i16 11506, i16 6194, i16 11507, i16 1983, i16 0, i16 11508, i16 11509, i16 11510, i16 11511, i16 1643, i16 5033, i16 11512, i16 0, i16 0, i16 11513, i16 6196, i16 2016, i16 0, i16 11514, i16 11515, i16 1052, i16 11516, i16 6197, i16 11517, i16 889, i16 11518, i16 2116, i16 6198, i16 11519, i16 968, i16 0, i16 0, i16 3649, i16 7705, i16 7706, i16 7707, i16 7708, i16 0, i16 2052, i16 2775, i16 1660, i16 3900, i16 3901, i16 0, i16 7709, i16 7710, i16 3634, i16 0, i16 0, i16 3670, i16 3903, i16 7711, i16 7712, i16 7713, i16 1587, i16 7714, i16 7715, i16 3902, i16 7716, i16 1042, i16 0, i16 1224, i16 0, i16 10478, i16 10479, i16 0, i16 0, i16 0, i16 10480, i16 5531, i16 10481, i16 10482, i16 2713, i16 10483, i16 5532, i16 2288, i16 0, i16 0, i16 10484, i16 0, i16 0, i16 3390, i16 10485, i16 0, i16 3098, i16 5533, i16 5534, i16 2584, i16 10486, i16 3604, i16 0, i16 10487, i16 5536, i16 2248, i16 1192, i16 0, i16 0, i16 3497, i16 1010, i16 1991, i16 1556, i16 0, i16 6739, i16 12524, i16 6738, i16 1862, i16 6740, i16 6737, i16 0, i16 0, i16 1787, i16 12525, i16 0, i16 0, i16 6744, i16 6167, i16 0, i16 12527, i16 3952, i16 12528, i16 2242, i16 6742, i16 12529, i16 12530, i16 12531, i16 1225, i16 0, i16 5685, i16 10699, i16 3460, i16 1631, i16 5684, i16 10700, i16 10701, i16 10702, i16 5688, i16 3447, i16 0, i16 2935, i16 0, i16 10703, i16 3114, i16 10704, i16 10705, i16 10706, i16 2034, i16 5687, i16 10707, i16 1924, i16 1632, i16 1849, i16 1288, i16 3211, i16 5686, i16 10708, i16 10709, i16 0, i16 1737, i16 5235, i16 5234, i16 0, i16 9880, i16 0, i16 0, i16 5236, i16 0, i16 9881, i16 0, i16 0, i16 0, i16 9882, i16 9883, i16 0, i16 0, i16 0, i16 5237, i16 9884, i16 0, i16 0, i16 5238, i16 0, i16 0, i16 0, i16 0, i16 9885, i16 0, i16 0, i16 0, i16 0, i16 1993, i16 2201, i16 3740, i16 7401, i16 3738, i16 0, i16 3739, i16 1271, i16 0, i16 0, i16 1688, i16 1013, i16 0, i16 3737, i16 3736, i16 3198, i16 7402, i16 0, i16 0, i16 0, i16 1817, i16 1816, i16 2467, i16 3741, i16 3148, i16 2320, i16 7403, i16 7404, i16 0, i16 245, i16 3742, i16 3744, i16 10953, i16 0, i16 0, i16 5870, i16 10954, i16 0, i16 0, i16 10955, i16 0, i16 5869, i16 0, i16 0, i16 10956, i16 0, i16 0, i16 5871, i16 10957, i16 2537, i16 0, i16 2937, i16 0, i16 10958, i16 0, i16 0, i16 0, i16 2642, i16 10959, i16 0, i16 10960, i16 0, i16 5875, i16 0, i16 714, i16 725, i16 715, i16 726, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 716, i16 0, i16 0, i16 727, i16 717, i16 0, i16 0, i16 728, i16 719, i16 0, i16 0, i16 730, i16 718, i16 0, i16 0, i16 729, i16 720, i16 741, i16 0, i16 0, i16 2762, i16 1913, i16 8396, i16 8397, i16 2399, i16 3561, i16 0, i16 8398, i16 8399, i16 8400, i16 0, i16 0, i16 4278, i16 8401, i16 4279, i16 2867, i16 8402, i16 1798, i16 0, i16 0, i16 8403, i16 8404, i16 4281, i16 0, i16 0, i16 4282, i16 8405, i16 8406, i16 8407, i16 8408, i16 0, i16 0, i16 8650, i16 4444, i16 4454, i16 4452, i16 0, i16 0, i16 4449, i16 8651, i16 8652, i16 8653, i16 4448, i16 3653, i16 8654, i16 4450, i16 0, i16 0, i16 1327, i16 8655, i16 1608, i16 0, i16 8656, i16 2057, i16 8657, i16 8658, i16 0, i16 4457, i16 4443, i16 0, i16 0, i16 8659, i16 0, i16 4447, i16 6348, i16 11745, i16 0, i16 1809, i16 11746, i16 11747, i16 0, i16 0, i16 0, i16 0, i16 4696, i16 11748, i16 6349, i16 11749, i16 6350, i16 11750, i16 1985, i16 0, i16 6351, i16 6352, i16 11751, i16 11752, i16 6353, i16 0, i16 0, i16 6354, i16 6355, i16 0, i16 11753, i16 0, i16 11754, i16 11755, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 482, i16 483, i16 484, i16 485, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 10190, i16 10191, i16 3602, i16 10192, i16 10193, i16 10194, i16 5392, i16 5390, i16 5391, i16 10195, i16 10189, i16 10196, i16 1187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3471, i16 0, i16 0, i16 10197, i16 3231, i16 0, i16 5394, i16 10198, i16 0, i16 0, i16 5393, i16 0, i16 0, i16 10199, i16 11214, i16 6043, i16 11215, i16 0, i16 2594, i16 0, i16 6044, i16 11216, i16 11217, i16 3525, i16 6033, i16 1051, i16 11218, i16 6039, i16 0, i16 11219, i16 6042, i16 3389, i16 0, i16 11220, i16 0, i16 0, i16 6045, i16 0, i16 0, i16 6038, i16 6041, i16 0, i16 11221, i16 0, i16 0, i16 0, i16 8145, i16 8146, i16 0, i16 1322, i16 0, i16 4134, i16 0, i16 8147, i16 8148, i16 8149, i16 8150, i16 0, i16 8151, i16 8152, i16 0, i16 8153, i16 8154, i16 0, i16 0, i16 3261, i16 8155, i16 0, i16 8156, i16 2436, i16 0, i16 0, i16 0, i16 0, i16 2663, i16 8157, i16 0, i16 4136, i16 9937, i16 0, i16 0, i16 2002, i16 0, i16 0, i16 9938, i16 9939, i16 5269, i16 9940, i16 5268, i16 9941, i16 9942, i16 0, i16 9943, i16 9944, i16 5270, i16 9945, i16 1072, i16 0, i16 0, i16 5272, i16 0, i16 9946, i16 5271, i16 9947, i16 5274, i16 5273, i16 9948, i16 0, i16 0, i16 0, i16 11986, i16 11987, i16 0, i16 6505, i16 11988, i16 11989, i16 11990, i16 3899, i16 3898, i16 0, i16 0, i16 0, i16 0, i16 6506, i16 5764, i16 6507, i16 2535, i16 2166, i16 2939, i16 0, i16 0, i16 11991, i16 11992, i16 6508, i16 11993, i16 0, i16 3242, i16 2677, i16 1685, i16 0, i16 11994, i16 2540, i16 3539, i16 0, i16 0, i16 0, i16 9581, i16 5066, i16 5060, i16 5057, i16 9582, i16 0, i16 9583, i16 3617, i16 5063, i16 0, i16 9584, i16 9585, i16 0, i16 2009, i16 5065, i16 0, i16 0, i16 5070, i16 9586, i16 0, i16 2800, i16 5068, i16 0, i16 9587, i16 0, i16 9588, i16 5062, i16 9589, i16 1236, i16 0, i16 3722, i16 0, i16 0, i16 3723, i16 3592, i16 0, i16 3500, i16 2415, i16 3725, i16 1865, i16 2896, i16 7395, i16 3728, i16 0, i16 0, i16 869, i16 1560, i16 0, i16 1559, i16 815, i16 7396, i16 7397, i16 3702, i16 3701, i16 0, i16 1704, i16 746, i16 7398, i16 3729, i16 3730, i16 8916, i16 0, i16 8917, i16 0, i16 8918, i16 8919, i16 4634, i16 0, i16 4638, i16 8920, i16 8921, i16 0, i16 3035, i16 2794, i16 0, i16 8922, i16 8923, i16 0, i16 0, i16 0, i16 4631, i16 8924, i16 4635, i16 0, i16 0, i16 0, i16 1443, i16 0, i16 0, i16 8925, i16 1766, i16 8926, i16 9428, i16 4968, i16 1842, i16 2270, i16 1686, i16 0, i16 3175, i16 9429, i16 0, i16 3255, i16 3695, i16 9430, i16 0, i16 0, i16 9431, i16 1864, i16 9432, i16 0, i16 0, i16 1733, i16 3647, i16 9433, i16 0, i16 0, i16 4969, i16 4970, i16 0, i16 1843, i16 0, i16 9434, i16 9435, i16 4971, i16 12756, i16 0, i16 12757, i16 12758, i16 12759, i16 0, i16 0, i16 12760, i16 2482, i16 0, i16 0, i16 6870, i16 0, i16 12761, i16 12762, i16 0, i16 2826, i16 0, i16 0, i16 12763, i16 0, i16 12764, i16 12765, i16 6871, i16 12766, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6876, i16 0, i16 7381, i16 7382, i16 3719, i16 2928, i16 7383, i16 1270, i16 0, i16 7384, i16 0, i16 0, i16 0, i16 2930, i16 0, i16 2880, i16 1532, i16 3302, i16 0, i16 7385, i16 0, i16 0, i16 0, i16 6101, i16 3720, i16 2133, i16 3721, i16 954, i16 7386, i16 0, i16 7387, i16 1378, i16 1577, i16 3450, i16 1238, i16 3818, i16 3819, i16 7595, i16 948, i16 0, i16 7596, i16 7597, i16 7598, i16 3817, i16 0, i16 7599, i16 7600, i16 7601, i16 7602, i16 0, i16 7604, i16 0, i16 1957, i16 0, i16 3822, i16 3821, i16 3820, i16 7605, i16 3764, i16 7606, i16 3823, i16 7607, i16 7608, i16 7609, i16 7610, i16 2061, i16 10967, i16 10968, i16 0, i16 0, i16 0, i16 5881, i16 5882, i16 10969, i16 10970, i16 10971, i16 0, i16 1953, i16 0, i16 10972, i16 5880, i16 10973, i16 1679, i16 5879, i16 0, i16 0, i16 5883, i16 0, i16 0, i16 10974, i16 2643, i16 3191, i16 2346, i16 0, i16 0, i16 0, i16 0, i16 2497, i16 3800, i16 7547, i16 0, i16 7548, i16 7549, i16 3802, i16 7550, i16 0, i16 0, i16 0, i16 7551, i16 0, i16 0, i16 3304, i16 7552, i16 7553, i16 7554, i16 1473, i16 7555, i16 7556, i16 7557, i16 0, i16 7558, i16 0, i16 1796, i16 3088, i16 3801, i16 7559, i16 7560, i16 0, i16 7561, i16 7562, i16 4569, i16 0, i16 0, i16 4567, i16 8807, i16 0, i16 0, i16 0, i16 4570, i16 0, i16 0, i16 0, i16 0, i16 8808, i16 3206, i16 8809, i16 0, i16 768, i16 0, i16 8810, i16 0, i16 0, i16 3157, i16 0, i16 0, i16 3068, i16 8811, i16 0, i16 4571, i16 8812, i16 4574, i16 2082, i16 4825, i16 9235, i16 2092, i16 9236, i16 0, i16 9237, i16 4163, i16 1569, i16 3563, i16 9238, i16 9239, i16 0, i16 0, i16 4816, i16 9240, i16 2709, i16 1030, i16 1698, i16 9241, i16 4808, i16 0, i16 4824, i16 1092, i16 0, i16 0, i16 4822, i16 4826, i16 9242, i16 2797, i16 0, i16 0, i16 0, i16 9177, i16 2477, i16 9178, i16 9179, i16 3222, i16 9180, i16 4798, i16 0, i16 9181, i16 9182, i16 3097, i16 0, i16 0, i16 0, i16 4797, i16 2987, i16 3314, i16 1148, i16 9183, i16 2336, i16 1999, i16 0, i16 0, i16 9184, i16 2676, i16 9185, i16 3485, i16 0, i16 9186, i16 4793, i16 4792, i16 0, i16 1242, i16 0, i16 4572, i16 4579, i16 2083, i16 0, i16 0, i16 0, i16 0, i16 4573, i16 2943, i16 0, i16 0, i16 8813, i16 8814, i16 8815, i16 8816, i16 3533, i16 4575, i16 4576, i16 4580, i16 2793, i16 4577, i16 1610, i16 2311, i16 0, i16 0, i16 4594, i16 3021, i16 0, i16 2519, i16 0, i16 6874, i16 12768, i16 6873, i16 6875, i16 12769, i16 6872, i16 0, i16 12767, i16 0, i16 0, i16 12770, i16 12771, i16 12772, i16 6878, i16 12773, i16 0, i16 0, i16 12774, i16 0, i16 0, i16 12775, i16 6877, i16 12776, i16 6880, i16 0, i16 0, i16 1344, i16 6879, i16 0, i16 12777, i16 0, i16 6881, i16 11995, i16 11996, i16 849, i16 0, i16 3371, i16 2210, i16 11997, i16 0, i16 0, i16 0, i16 11998, i16 11999, i16 0, i16 12000, i16 1465, i16 0, i16 12001, i16 1374, i16 12002, i16 12003, i16 3243, i16 12004, i16 0, i16 0, i16 0, i16 0, i16 6509, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1245, i16 0, i16 5239, i16 0, i16 0, i16 0, i16 0, i16 5240, i16 9886, i16 0, i16 0, i16 0, i16 1501, i16 9887, i16 9888, i16 3041, i16 0, i16 9889, i16 5242, i16 0, i16 9890, i16 0, i16 2146, i16 0, i16 0, i16 5241, i16 0, i16 0, i16 0, i16 0, i16 9891, i16 0, i16 7901, i16 7902, i16 0, i16 4010, i16 7903, i16 0, i16 7904, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4025, i16 4030, i16 0, i16 4026, i16 7905, i16 9949, i16 9950, i16 0, i16 9951, i16 1525, i16 9952, i16 9953, i16 3573, i16 0, i16 1353, i16 0, i16 939, i16 0, i16 0, i16 9954, i16 0, i16 9955, i16 0, i16 0, i16 9956, i16 0, i16 9957, i16 1383, i16 9958, i16 9959, i16 0, i16 0, i16 0, i16 9960, i16 0, i16 9961, i16 9962, i16 222, i16 223, i16 224, i16 244, i16 0, i16 246, i16 247, i16 248, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 324, i16 329, i16 265, i16 266, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 254, i16 0, i16 0, i16 0, i16 4062, i16 0, i16 0, i16 0, i16 7982, i16 7983, i16 4061, i16 1064, i16 7984, i16 0, i16 4063, i16 7985, i16 7986, i16 0, i16 0, i16 4066, i16 0, i16 0, i16 0, i16 0, i16 4065, i16 7987, i16 0, i16 0, i16 0, i16 7988, i16 7989, i16 0, i16 0, i16 7990, i16 7991, i16 7992, i16 8158, i16 8159, i16 8160, i16 0, i16 0, i16 0, i16 8161, i16 0, i16 3330, i16 8162, i16 0, i16 4137, i16 0, i16 0, i16 4142, i16 0, i16 0, i16 8163, i16 8164, i16 3204, i16 0, i16 0, i16 0, i16 0, i16 4141, i16 4135, i16 4138, i16 4140, i16 8166, i16 0, i16 1691, i16 0, i16 10718, i16 10719, i16 1977, i16 1527, i16 2383, i16 5689, i16 5695, i16 10720, i16 10721, i16 0, i16 0, i16 5690, i16 1451, i16 10722, i16 5698, i16 5702, i16 1478, i16 10723, i16 0, i16 10724, i16 0, i16 0, i16 5697, i16 10725, i16 0, i16 10726, i16 10727, i16 5706, i16 10728, i16 10729, i16 1633, i16 0, i16 736, i16 0, i16 0, i16 731, i16 722, i16 743, i16 0, i16 0, i16 738, i16 0, i16 0, i16 733, i16 721, i16 0, i16 0, i16 737, i16 742, i16 0, i16 0, i16 732, i16 723, i16 0, i16 0, i16 739, i16 744, i16 0, i16 0, i16 734, i16 724, i16 0, i16 0, i16 740, i16 2784, i16 7664, i16 7665, i16 2202, i16 3871, i16 7666, i16 3201, i16 2307, i16 1123, i16 0, i16 1130, i16 3872, i16 0, i16 0, i16 3874, i16 0, i16 0, i16 1429, i16 7667, i16 7668, i16 3873, i16 7669, i16 7670, i16 3648, i16 7671, i16 0, i16 0, i16 0, i16 0, i16 2040, i16 0, i16 0, i16 4064, i16 0, i16 2932, i16 0, i16 0, i16 4067, i16 7993, i16 7994, i16 7995, i16 7996, i16 0, i16 7997, i16 7998, i16 7999, i16 4068, i16 0, i16 0, i16 8000, i16 0, i16 8001, i16 4070, i16 0, i16 4069, i16 8002, i16 0, i16 0, i16 0, i16 0, i16 4072, i16 0, i16 8003, i16 0, i16 8416, i16 945, i16 8417, i16 8418, i16 0, i16 0, i16 8419, i16 0, i16 2370, i16 1189, i16 8420, i16 4287, i16 3385, i16 0, i16 0, i16 0, i16 0, i16 2487, i16 8421, i16 1084, i16 8422, i16 8423, i16 4289, i16 4291, i16 1184, i16 0, i16 8424, i16 4288, i16 4290, i16 0, i16 4293, i16 0, i16 9441, i16 0, i16 9442, i16 9443, i16 4979, i16 0, i16 0, i16 0, i16 9444, i16 9445, i16 4980, i16 4981, i16 9446, i16 9447, i16 9448, i16 4982, i16 9449, i16 4984, i16 4983, i16 4985, i16 938, i16 2573, i16 0, i16 4986, i16 9450, i16 9451, i16 1785, i16 1071, i16 4987, i16 9452, i16 9453, i16 2753, i16 12257, i16 0, i16 0, i16 0, i16 12258, i16 12259, i16 0, i16 12260, i16 12261, i16 0, i16 0, i16 12262, i16 0, i16 2355, i16 0, i16 12263, i16 0, i16 0, i16 12264, i16 0, i16 0, i16 0, i16 12265, i16 6619, i16 12266, i16 6618, i16 12267, i16 12268, i16 12269, i16 12270, i16 0, i16 12271, i16 10469, i16 5529, i16 10470, i16 5530, i16 2980, i16 10471, i16 2188, i16 5527, i16 0, i16 2596, i16 10472, i16 10473, i16 5528, i16 10474, i16 0, i16 0, i16 2107, i16 10475, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10476, i16 0, i16 0, i16 805, i16 10477, i16 0, i16 0, i16 0, i16 12005, i16 0, i16 6511, i16 12006, i16 12007, i16 6510, i16 997, i16 0, i16 12008, i16 2899, i16 6512, i16 2994, i16 0, i16 2738, i16 12009, i16 6513, i16 2017, i16 12010, i16 0, i16 0, i16 6515, i16 12011, i16 12012, i16 3411, i16 6530, i16 6517, i16 6518, i16 12013, i16 0, i16 2666, i16 12014, i16 0, i16 1254, i16 0, i16 12579, i16 6786, i16 0, i16 0, i16 6785, i16 0, i16 6784, i16 0, i16 0, i16 6329, i16 12580, i16 3249, i16 12581, i16 0, i16 0, i16 12582, i16 12583, i16 6787, i16 6788, i16 12584, i16 12585, i16 0, i16 12586, i16 12587, i16 12588, i16 0, i16 12589, i16 0, i16 12590, i16 12591, i16 9702, i16 5142, i16 0, i16 5141, i16 5143, i16 9703, i16 9704, i16 9705, i16 9706, i16 0, i16 5146, i16 0, i16 0, i16 0, i16 9707, i16 9708, i16 9709, i16 2754, i16 0, i16 5140, i16 0, i16 9710, i16 9711, i16 0, i16 0, i16 5144, i16 0, i16 0, i16 9712, i16 0, i16 0, i16 0, i16 2280, i16 6299, i16 0, i16 6304, i16 1574, i16 6301, i16 6302, i16 11686, i16 6298, i16 11687, i16 0, i16 0, i16 2315, i16 2854, i16 11688, i16 11689, i16 2546, i16 0, i16 994, i16 11690, i16 0, i16 0, i16 11691, i16 11692, i16 0, i16 3081, i16 0, i16 11693, i16 1250, i16 0, i16 11694, i16 2645, i16 10216, i16 0, i16 10217, i16 10218, i16 10219, i16 10220, i16 10221, i16 10222, i16 10223, i16 0, i16 10224, i16 0, i16 0, i16 10225, i16 3074, i16 0, i16 5416, i16 0, i16 0, i16 0, i16 5417, i16 0, i16 0, i16 7073, i16 5418, i16 5419, i16 5420, i16 0, i16 0, i16 10226, i16 0, i16 1793, i16 6633, i16 0, i16 0, i16 0, i16 12337, i16 12338, i16 0, i16 12339, i16 0, i16 12340, i16 12341, i16 0, i16 1416, i16 12342, i16 6635, i16 12343, i16 12344, i16 12345, i16 0, i16 12346, i16 12347, i16 1513, i16 12348, i16 0, i16 0, i16 0, i16 12349, i16 0, i16 6634, i16 12350, i16 2126, i16 12351, i16 8938, i16 8939, i16 0, i16 8940, i16 0, i16 0, i16 0, i16 4640, i16 0, i16 3347, i16 0, i16 0, i16 0, i16 8941, i16 0, i16 4641, i16 0, i16 0, i16 0, i16 8942, i16 8943, i16 0, i16 4642, i16 0, i16 3423, i16 0, i16 2251, i16 8944, i16 0, i16 8945, i16 0, i16 0, i16 235, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 269, i16 256, i16 270, i16 7109, i16 0, i16 4075, i16 4073, i16 4071, i16 4074, i16 0, i16 8004, i16 0, i16 0, i16 4076, i16 8005, i16 8006, i16 8007, i16 8010, i16 8011, i16 4077, i16 8008, i16 8009, i16 4078, i16 0, i16 4079, i16 0, i16 0, i16 0, i16 4080, i16 3841, i16 8012, i16 1965, i16 1824, i16 8013, i16 8014, i16 1016, i16 8015, i16 6891, i16 12790, i16 0, i16 12791, i16 2236, i16 0, i16 12792, i16 0, i16 12793, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12794, i16 6892, i16 12795, i16 6893, i16 12796, i16 6894, i16 6895, i16 12797, i16 12798, i16 12799, i16 1657, i16 0, i16 0, i16 12800, i16 12801, i16 0, i16 6896, i16 6897, i16 9963, i16 0, i16 9964, i16 0, i16 0, i16 9965, i16 9966, i16 0, i16 0, i16 1186, i16 9967, i16 9968, i16 0, i16 9969, i16 0, i16 0, i16 0, i16 0, i16 3637, i16 5276, i16 0, i16 9970, i16 0, i16 9971, i16 0, i16 9972, i16 0, i16 5278, i16 9973, i16 9974, i16 0, i16 9975, i16 7405, i16 7406, i16 7407, i16 2506, i16 3630, i16 787, i16 0, i16 0, i16 7408, i16 0, i16 0, i16 0, i16 0, i16 3743, i16 963, i16 7409, i16 1345, i16 7410, i16 2602, i16 7411, i16 0, i16 7412, i16 1482, i16 3745, i16 0, i16 0, i16 0, i16 2911, i16 0, i16 7413, i16 7414, i16 7415, i16 494, i16 495, i16 496, i16 497, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 232, i16 233, i16 242, i16 243, i16 0, i16 750, i16 3137, i16 3994, i16 0, i16 3990, i16 0, i16 7861, i16 3985, i16 3991, i16 1725, i16 7862, i16 0, i16 0, i16 7863, i16 7864, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3998, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12272, i16 12273, i16 12274, i16 12275, i16 0, i16 12276, i16 12277, i16 12278, i16 12279, i16 0, i16 0, i16 12280, i16 12281, i16 12282, i16 12283, i16 6617, i16 12284, i16 0, i16 3298, i16 12285, i16 0, i16 12286, i16 0, i16 12287, i16 12288, i16 12289, i16 0, i16 0, i16 12290, i16 12291, i16 0, i16 12292, i16 1009, i16 6386, i16 3667, i16 2659, i16 3696, i16 11796, i16 11797, i16 1860, i16 6385, i16 11798, i16 2454, i16 11799, i16 0, i16 6402, i16 2351, i16 11800, i16 0, i16 2901, i16 0, i16 3143, i16 0, i16 11802, i16 11801, i16 0, i16 0, i16 11803, i16 6389, i16 1810, i16 1861, i16 11804, i16 2123, i16 0, i16 4849, i16 4836, i16 0, i16 4846, i16 0, i16 9254, i16 0, i16 4840, i16 9255, i16 0, i16 9256, i16 9257, i16 9258, i16 9259, i16 2180, i16 4850, i16 9260, i16 9261, i16 2268, i16 0, i16 0, i16 9262, i16 9263, i16 0, i16 0, i16 4848, i16 1150, i16 9264, i16 9265, i16 9266, i16 0, i16 0, i16 13041, i16 0, i16 0, i16 0, i16 0, i16 13042, i16 7028, i16 13043, i16 0, i16 13044, i16 0, i16 13045, i16 0, i16 7029, i16 13046, i16 7030, i16 13047, i16 0, i16 3700, i16 13048, i16 13049, i16 0, i16 0, i16 0, i16 7027, i16 2512, i16 1762, i16 0, i16 0, i16 7031, i16 13050, i16 0, i16 6130, i16 0, i16 3293, i16 6131, i16 11395, i16 11396, i16 6128, i16 11397, i16 6129, i16 6134, i16 6137, i16 11398, i16 0, i16 6135, i16 11399, i16 11400, i16 11401, i16 6133, i16 6127, i16 11402, i16 11403, i16 0, i16 0, i16 0, i16 2587, i16 11404, i16 6144, i16 0, i16 3387, i16 0, i16 11405, i16 11406, i16 4083, i16 8027, i16 8028, i16 3253, i16 4085, i16 0, i16 0, i16 8029, i16 4087, i16 4086, i16 8030, i16 4088, i16 8031, i16 4089, i16 0, i16 1490, i16 0, i16 8032, i16 903, i16 4090, i16 0, i16 8033, i16 4092, i16 0, i16 4091, i16 0, i16 8034, i16 8035, i16 4094, i16 8036, i16 0, i16 2777, i16 3830, i16 829, i16 7623, i16 1518, i16 1430, i16 1995, i16 2622, i16 1313, i16 2321, i16 1584, i16 7624, i16 1669, i16 3832, i16 3417, i16 2757, i16 7625, i16 1868, i16 0, i16 3831, i16 7626, i16 3833, i16 7627, i16 0, i16 7628, i16 7629, i16 0, i16 2781, i16 0, i16 1112, i16 0, i16 0, i16 7630, i16 3320, i16 897, i16 811, i16 0, i16 2818, i16 11714, i16 11715, i16 6321, i16 0, i16 0, i16 11721, i16 11716, i16 6320, i16 0, i16 2883, i16 0, i16 6325, i16 11717, i16 0, i16 0, i16 6314, i16 0, i16 6324, i16 6326, i16 0, i16 1509, i16 6322, i16 1645, i16 11718, i16 1926, i16 11719, i16 11720, i16 3576, i16 1731, i16 2552, i16 4614, i16 8885, i16 2309, i16 8886, i16 1612, i16 2223, i16 909, i16 2371, i16 4612, i16 1252, i16 8887, i16 8888, i16 8889, i16 0, i16 0, i16 1442, i16 0, i16 2672, i16 4618, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2406, i16 0, i16 8890, i16 4621, i16 0, i16 7416, i16 1196, i16 7417, i16 7418, i16 0, i16 0, i16 0, i16 0, i16 7419, i16 3746, i16 788, i16 7420, i16 7421, i16 1561, i16 1197, i16 3185, i16 3019, i16 1272, i16 7422, i16 0, i16 0, i16 7423, i16 7424, i16 7425, i16 0, i16 7426, i16 1014, i16 0, i16 3781, i16 2752, i16 0, i16 0, i16 1529, i16 0, i16 2716, i16 6278, i16 11631, i16 11632, i16 0, i16 11633, i16 1458, i16 0, i16 2209, i16 0, i16 6281, i16 0, i16 2817, i16 11634, i16 6280, i16 11635, i16 11636, i16 1420, i16 11637, i16 11638, i16 6279, i16 2524, i16 1228, i16 0, i16 0, i16 6282, i16 0, i16 6283, i16 11639, i16 2118, i16 2041, i16 4564, i16 8795, i16 8796, i16 8797, i16 0, i16 8798, i16 2329, i16 6559, i16 3067, i16 0, i16 1947, i16 8799, i16 1730, i16 4565, i16 0, i16 8800, i16 8801, i16 8802, i16 2476, i16 8803, i16 3196, i16 8804, i16 0, i16 2518, i16 0, i16 8805, i16 4568, i16 8806, i16 0, i16 4566, i16 0, i16 10235, i16 5426, i16 0, i16 1159, i16 3056, i16 5427, i16 10236, i16 5428, i16 10237, i16 0, i16 5429, i16 0, i16 10238, i16 0, i16 3437, i16 0, i16 10239, i16 10240, i16 3430, i16 0, i16 2655, i16 0, i16 10241, i16 0, i16 2417, i16 10242, i16 0, i16 5431, i16 10243, i16 0, i16 2033, i16 0, i16 5628, i16 10657, i16 0, i16 10658, i16 5652, i16 5654, i16 0, i16 10659, i16 0, i16 10660, i16 0, i16 0, i16 5655, i16 10661, i16 10662, i16 0, i16 10663, i16 0, i16 10664, i16 3227, i16 0, i16 5656, i16 0, i16 0, i16 0, i16 10665, i16 0, i16 0, i16 10666, i16 10667, i16 3443, i16 0, i16 3325, i16 7813, i16 0, i16 0, i16 0, i16 0, i16 3062, i16 7814, i16 7815, i16 3968, i16 7816, i16 1183, i16 3963, i16 3964, i16 3966, i16 7817, i16 0, i16 7818, i16 0, i16 0, i16 7819, i16 7820, i16 3967, i16 0, i16 1274, i16 2220, i16 0, i16 3202, i16 3965, i16 3961, i16 1564, i16 0, i16 5629, i16 10622, i16 10623, i16 10624, i16 10625, i16 0, i16 10626, i16 5630, i16 0, i16 10627, i16 0, i16 10628, i16 10629, i16 5635, i16 10630, i16 10631, i16 0, i16 5624, i16 3951, i16 5631, i16 5625, i16 0, i16 0, i16 5634, i16 0, i16 10632, i16 0, i16 10633, i16 0, i16 0, i16 0, i16 5640, i16 4350, i16 0, i16 0, i16 4349, i16 4348, i16 3188, i16 0, i16 4357, i16 0, i16 8514, i16 0, i16 8512, i16 3341, i16 0, i16 4351, i16 0, i16 8513, i16 8515, i16 0, i16 0, i16 4353, i16 3358, i16 8516, i16 4352, i16 8517, i16 0, i16 0, i16 8518, i16 8519, i16 0, i16 8520, i16 4354, i16 9726, i16 5159, i16 0, i16 0, i16 0, i16 9727, i16 9728, i16 9729, i16 0, i16 5155, i16 0, i16 5156, i16 0, i16 9730, i16 0, i16 5160, i16 0, i16 5158, i16 0, i16 0, i16 0, i16 3141, i16 0, i16 9731, i16 5166, i16 0, i16 5163, i16 5162, i16 0, i16 5165, i16 2865, i16 5167, i16 3839, i16 0, i16 3840, i16 7634, i16 7635, i16 2879, i16 902, i16 0, i16 0, i16 3843, i16 1778, i16 7636, i16 3842, i16 1723, i16 7637, i16 3844, i16 5856, i16 3845, i16 3316, i16 3846, i16 0, i16 3847, i16 3848, i16 2134, i16 7638, i16 1917, i16 0, i16 0, i16 0, i16 7639, i16 0, i16 0, i16 5887, i16 10975, i16 5888, i16 5884, i16 10977, i16 10978, i16 10979, i16 0, i16 5885, i16 0, i16 5886, i16 10980, i16 0, i16 0, i16 10981, i16 1640, i16 10976, i16 0, i16 0, i16 5894, i16 0, i16 5890, i16 10982, i16 0, i16 10983, i16 0, i16 3165, i16 10984, i16 3359, i16 3103, i16 10985, i16 0, i16 120, i16 12, i16 25, i16 0, i16 0, i16 5, i16 0, i16 23, i16 156, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 17, i16 157, i16 107, i16 21, i16 147, i16 174, i16 24, i16 0, i16 3, i16 173, i16 137, i16 30, i16 88, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 143, i16 145, i16 8, i16 117, i16 132, i16 0, i16 0, i16 177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 187, i16 95, i16 182, i16 161, i16 129, i16 127, i16 97, i16 135, i16 103, i16 108, i16 83, i16 86, i16 166, i16 139, i16 89, i16 172, i16 56, i16 77, i16 106, i16 162, i16 189, i16 155, i16 41, i16 141, i16 124, i16 28, i16 74, i16 68, i16 113, i16 27, i16 67, i16 85, i16 144, i16 70, i16 126, i16 96, i16 35, i16 61, i16 190, i16 123, i16 176, i16 171, i16 148, i16 183, i16 38, i16 54, i16 142, i16 186, i16 87, i16 75, i16 94, i16 76, i16 32, i16 98, i16 163, i16 20, i16 133, i16 154, i16 66, i16 138, i16 52, i16 101, i16 44, i16 63, i16 19, i16 22, i16 164, i16 191, i16 136, i16 80, i16 65, i16 91, i16 114, i16 181, i16 51, i16 79, i16 184, i16 116, i16 151, i16 92, i16 140, i16 64, i16 167, i16 50, i16 110, i16 130, i16 192, i16 152, i16 100, i16 99, i16 36, i16 93, i16 72, i16 146, i16 131, i16 33, i16 47, i16 119, i16 7, i16 73, i16 185, i16 57, i16 160, i16 150, i16 78, i16 45, i16 118, i16 49, i16 115, i16 29, i16 31, i16 69, i16 188, i16 53, i16 149, i16 121, i16 55, i16 109, i16 82, i16 153, i16 178, i16 90, i16 122, i16 104, i16 6, i16 175, i16 60, i16 59, i16 43, i16 180, i16 125, i16 16, i16 179, i16 102, i16 134, i16 62, i16 37, i16 158, i16 71, i16 40, i16 84, i16 0, i16 1, i16 159, i16 13, i16 81, i16 111, i16 46, i16 105, i16 9, i16 128, i16 18, i16 170, i16 11, i16 15, i16 39, i16 34, i16 2, i16 48, i16 10, i16 14, i16 26, i16 58, i16 42, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 169, i16 112, i16 168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 165, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 84, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1270, i16 1950, i16 0, i16 426, i16 2786, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3365, i16 3389, i16 3410, i16 1975, i16 0, i16 2471, i16 2480, i16 2502, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2924, i16 1668, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 408, i16 0, i16 0, i16 3296, i16 0, i16 3249, i16 1864, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 141, i16 0, i16 51, i16 1513, i16 1049, i16 2968, i16 2294, i16 0, i16 1390, i16 979, i16 0, i16 1886, i16 0, i16 617, i16 0, i16 0, i16 0, i16 1282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 471, i16 2852, i16 0, i16 0, i16 0, i16 0, i16 3275, i16 2769, i16 2449, i16 0, i16 0, i16 0, i16 0, i16 693, i16 657, i16 2725, i16 1421, i16 1123, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1524, i16 2708, i16 2736, i16 2762, i16 2793, i16 2808, i16 2834, i16 2854, i16 2870, i16 2890, i16 2909, i16 2932, i16 2958, i16 2983, i16 3003, i16 3025, i16 3042, i16 3062, i16 3085, i16 3108, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2374, i16 367, i16 1664, i16 0, i16 0, i16 0, i16 0, i16 2342, i16 0, i16 0, i16 0, i16 0, i16 165, i16 2704, i16 1683, i16 0, i16 0, i16 1370, i16 0, i16 2875, i16 0, i16 2939, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1678, i16 423, i16 0, i16 2585, i16 0, i16 0, i16 0, i16 2178, i16 0, i16 0, i16 0, i16 463, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 603, i16 0, i16 3282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2510, i16 0, i16 0, i16 0, i16 2978, i16 0, i16 0, i16 0, i16 0, i16 0, i16 454, i16 3047, i16 2404, i16 0, i16 0, i16 1652, i16 0, i16 628, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1882, i16 3318, i16 2723, i16 1548, i16 2895, i16 3235, i16 3268, i16 2013, i16 0, i16 899, i16 0, i16 0, i16 2999, i16 270, i16 3031, i16 926, i16 0, i16 511, i16 0, i16 0, i16 2064, i16 271, i16 2107, i16 537, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2071, i16 1576, i16 0, i16 1014, i16 610, i16 703, i16 0, i16 89, i16 277, i16 2618, i16 2078, i16 373, i16 2562, i16 2653, i16 0, i16 20, i16 2792, i16 1006, i16 1991, i16 745, i16 0, i16 2504, i16 1920, i16 3246, i16 1187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1040, i16 538, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1639, i16 1552, i16 1656, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1084, i16 0, i16 0, i16 343, i16 947, i16 0, i16 1748, i16 0, i16 0, i16 2269, i16 1677, i16 2648, i16 0, i16 455, i16 0, i16 2224, i16 572, i16 0, i16 0, i16 0, i16 0, i16 272, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 218, i16 2385, i16 42, i16 1008, i16 2883, i16 1666, i16 3317, i16 0, i16 0, i16 0, i16 845, i16 1527, i16 0, i16 966, i16 1411, i16 2278, i16 0, i16 0, i16 0, i16 529, i16 764, i16 1103, i16 2200, i16 446, i16 1517, i16 1958, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1554, i16 2767, i16 2782, i16 2040, i16 1538, i16 0, i16 0, i16 3329, i16 0, i16 320, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2561, i16 0, i16 183, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1077, i16 1744, i16 1381, i16 0, i16 1821, i16 2017, i16 2216, i16 1487, i16 2180, i16 1772, i16 0, i16 1191, i16 0, i16 0, i16 0, i16 2697, i16 1177, i16 1167, i16 1491, i16 0, i16 0, i16 0, i16 1684, i16 1161, i16 0, i16 0, i16 261, i16 0, i16 0, i16 0, i16 0, i16 0, i16 353, i16 1482, i16 385, i16 2859, i16 2317, i16 136, i16 2314, i16 598, i16 2350, i16 2114, i16 3321, i16 177, i16 3325, i16 740, i16 1376, i16 0, i16 564, i16 3237, i16 2522, i16 0, i16 220, i16 451, i16 896, i16 985, i16 0, i16 931, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1514, i16 391, i16 2423, i16 0, i16 1547, i16 0, i16 904, i16 0, i16 3173, i16 265, i16 0, i16 1255, i16 0, i16 406, i16 3030, i16 2947, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2682, i16 0, i16 0, i16 0, i16 90, i16 1190, i16 0, i16 0, i16 0, i16 0, i16 3076, i16 3092, i16 2084, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1002, i16 3212, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3169, i16 789, i16 0, i16 3187, i16 948, i16 1953, i16 530, i16 245, i16 1845, i16 769, i16 646, i16 0, i16 670, i16 2443, i16 1563, i16 2644, i16 1508, i16 2949, i16 0, i16 0, i16 0, i16 0, i16 0, i16 330, i16 0, i16 2594, i16 2182, i16 696, i16 0, i16 0, i16 0, i16 0, i16 1906, i16 3349, i16 3372, i16 3395, i16 3415, i16 1974, i16 1997, i16 0, i16 1128, i16 2030, i16 2057, i16 2085, i16 2106, i16 2126, i16 2152, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 884, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1151, i16 0, i16 0, i16 0, i16 0, i16 907, i16 0, i16 0, i16 1164, i16 0, i16 2089, i16 328, i16 2093, i16 0, i16 1196, i16 0, i16 921, i16 0, i16 0, i16 0, i16 0, i16 929, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 910, i16 152, i16 0, i16 1679, i16 0, i16 1452, i16 0, i16 0, i16 0, i16 1992, i16 65, i16 1016, i16 259, i16 0, i16 0, i16 1174, i16 1900, i16 3026, i16 3184, i16 2125, i16 0, i16 0, i16 2720, i16 0, i16 0, i16 3373, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2737, i16 0, i16 0, i16 0, i16 1427, i16 0, i16 1750, i16 2491, i16 1564, i16 1184, i16 2996, i16 889, i16 3105, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1290, i16 0, i16 3191, i16 0, i16 2844, i16 401, i16 3231, i16 3156, i16 241, i16 1896, i16 0, i16 0, i16 0, i16 0, i16 699, i16 0, i16 1035, i16 0, i16 0, i16 2360, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1115, i16 3123, i16 1925, i16 3287, i16 0, i16 0, i16 0, i16 0, i16 1450, i16 803, i16 1267, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3280, i16 2450, i16 1696, i16 3032, i16 1377, i16 0, i16 0, i16 0, i16 568, i16 0, i16 2921, i16 2479, i16 2955, i16 2063, i16 1546, i16 1367, i16 1641, i16 0, i16 1039, i16 0, i16 0, i16 0, i16 0, i16 3264, i16 0, i16 2136, i16 0, i16 3056, i16 0, i16 0, i16 0, i16 0, i16 467, i16 0, i16 0, i16 0, i16 3041, i16 1967, i16 1980, i16 0, i16 932, i16 1066, i16 0, i16 3061, i16 3344, i16 920, i16 3399, i16 915, i16 3409, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1520, i16 3160, i16 3104, i16 973, i16 1426, i16 1893, i16 0, i16 2838, i16 0, i16 0, i16 0, i16 1137, i16 1473, i16 0, i16 1810, i16 942, i16 331, i16 0, i16 1150, i16 0, i16 43, i16 0, i16 2179, i16 1614, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 508, i16 487, i16 0, i16 0, i16 1726, i16 0, i16 734, i16 308, i16 0, i16 0, i16 2990, i16 3063, i16 2991, i16 0, i16 3011, i16 1074, i16 3210, i16 3037, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1827, i16 0, i16 897, i16 0, i16 75, i16 0, i16 0, i16 0, i16 1030, i16 462, i16 0, i16 0, i16 2414, i16 2898, i16 0, i16 0, i16 3253, i16 1468, i16 2833, i16 3273, i16 1955, i16 0, i16 127, i16 913, i16 0, i16 0, i16 507, i16 2716, i16 1126, i16 3029, i16 0, i16 3382, i16 2668, i16 0, i16 2555, i16 128, i16 0, i16 0, i16 0, i16 0, i16 1127, i16 2981, i16 1437, i16 0, i16 0, i16 0, i16 1500, i16 0, i16 0, i16 480, i16 0, i16 114, i16 0, i16 0, i16 205, i16 1655, i16 0, i16 0, i16 34, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 370, i16 500, i16 528, i16 0, i16 2690, i16 2876, i16 1477, i16 3133, i16 333, i16 0, i16 0, i16 0, i16 0, i16 1793, i16 0, i16 0, i16 1529, i16 2550, i16 1096, i16 1112, i16 1588, i16 820, i16 3267, i16 2595, i16 1977, i16 3394, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 125, i16 1589, i16 0, i16 1933, i16 847, i16 2168, i16 468, i16 0, i16 3405, i16 0, i16 0, i16 1506, i16 0, i16 0, i16 683, i16 1939, i16 2846, i16 2878, i16 2642, i16 0, i16 0, i16 2377, i16 0, i16 0, i16 2596, i16 0, i16 1532, i16 0, i16 1107, i16 0, i16 0, i16 0, i16 1919, i16 3021, i16 120, i16 0, i16 644, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2732, i16 501, i16 279, i16 2509, i16 1644, i16 1863, i16 0, i16 0, i16 395, i16 246, i16 1025, i16 626, i16 3384, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1675, i16 0, i16 2734, i16 0, i16 3140, i16 990, i16 0, i16 0, i16 2169, i16 0, i16 0, i16 1027, i16 552, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2583, i16 0, i16 3286, i16 0, i16 1212, i16 316, i16 0, i16 0, i16 2830, i16 0, i16 0, i16 0, i16 0, i16 909, i16 1229, i16 0, i16 0, i16 335, i16 0, i16 0, i16 359, i16 647, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1153, i16 0, i16 0, i16 901, i16 0, i16 0, i16 0, i16 2492, i16 2027, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3219, i16 0, i16 2744, i16 476, i16 0, i16 11, i16 243, i16 0, i16 2327, i16 3098, i16 0, i16 0, i16 0, i16 97, i16 0, i16 0, i16 0, i16 1523, i16 0, i16 0, i16 783, i16 1121, i16 3144, i16 0, i16 0, i16 0, i16 496, i16 0, i16 0, i16 0, i16 0, i16 0, i16 158, i16 0, i16 2711, i16 1954, i16 3311, i16 886, i16 239, i16 1528, i16 1343, i16 1531, i16 225, i16 0, i16 1047, i16 0, i16 2311, i16 3385, i16 607, i16 2571, i16 2130, i16 848, i16 0, i16 2750, i16 440, i16 794, i16 2102, i16 460, i16 2018, i16 2208, i16 1181, i16 0, i16 0, i16 0, i16 1755, i16 2493, i16 1397, i16 0, i16 3417, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 780, i16 206, i16 2759, i16 0, i16 0, i16 834, i16 0, i16 0, i16 672, i16 0, i16 2241, i16 1359, i16 0, i16 0, i16 584, i16 1978, i16 3009, i16 0, i16 0, i16 0, i16 1160, i16 211, i16 2666, i16 0, i16 0, i16 0, i16 0, i16 2074, i16 0, i16 0, i16 0, i16 0, i16 17, i16 2606, i16 1737, i16 202, i16 1812, i16 1007, i16 0, i16 1841, i16 1345, i16 0, i16 738, i16 1162, i16 2860, i16 1943, i16 1814, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1674, i16 2556, i16 66, i16 542, i16 1205, i16 3419, i16 0, i16 2603, i16 2500, i16 425, i16 0, i16 0, i16 278, i16 1961, i16 680, i16 0, i16 1124, i16 1758, i16 0, i16 1555, i16 1446, i16 2210, i16 1405, i16 350, i16 3028, i16 2892, i16 0, i16 0, i16 0, i16 0, i16 1826, i16 2907, i16 21, i16 558, i16 1600, i16 1932, i16 0, i16 0, i16 1779, i16 0, i16 0, i16 1295, i16 0, i16 0, i16 28, i16 1725, i16 0, i16 0, i16 0, i16 0, i16 1981, i16 0, i16 2384, i16 1942, i16 0, i16 0, i16 0, i16 0, i16 0, i16 795, i16 452, i16 0, i16 208, i16 0, i16 0, i16 3044, i16 0, i16 0, i16 0, i16 0, i16 166, i16 836, i16 340, i16 337, i16 0, i16 0, i16 1875, i16 0, i16 0, i16 1159, i16 32, i16 1879, i16 1304, i16 0, i16 414, i16 515, i16 1347, i16 365, i16 0, i16 1884, i16 1521, i16 970, i16 0, i16 0, i16 858, i16 3141, i16 0, i16 717, i16 1866, i16 0, i16 1280, i16 1791, i16 2234, i16 0, i16 1414, i16 2147, i16 0, i16 0, i16 1645, i16 0, i16 0, i16 0, i16 404, i16 0, i16 0, i16 984, i16 3122, i16 0, i16 0, i16 0, i16 145, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1803, i16 0, i16 0, i16 1651, i16 2447, i16 0, i16 0, i16 2291, i16 472, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1134, i16 838, i16 0, i16 470, i16 2650, i16 606, i16 1065, i16 0, i16 1130, i16 0, i16 0, i16 0, i16 0, i16 1374, i16 1694, i16 1572, i16 1648, i16 2386, i16 200, i16 694, i16 0, i16 2530, i16 0, i16 0, i16 1752, i16 159, i16 2351, i16 3097, i16 1410, i16 1125, i16 0, i16 0, i16 412, i16 0, i16 1556, i16 0, i16 0, i16 625, i16 0, i16 1649, i16 0, i16 2100, i16 2469, i16 0, i16 273, i16 3016, i16 0, i16 0, i16 0, i16 0, i16 0, i16 399, i16 276, i16 2646, i16 671, i16 1732, i16 1888, i16 1382, i16 57, i16 0, i16 0, i16 0, i16 0, i16 0, i16 999, i16 0, i16 0, i16 681, i16 190, i16 2424, i16 0, i16 1319, i16 1454, i16 0, i16 0, i16 539, i16 0, i16 761, i16 0, i16 2021, i16 0, i16 0, i16 2189, i16 54, i16 0, i16 0, i16 0, i16 0, i16 3073, i16 0, i16 3049, i16 1501, i16 3198, i16 0, i16 0, i16 0, i16 2802, i16 255, i16 1960, i16 0, i16 0, i16 0, i16 263, i16 0, i16 0, i16 0, i16 0, i16 3168, i16 3007, i16 784, i16 3164, i16 0, i16 0, i16 788, i16 2164, i16 1711, i16 1088, i16 1328, i16 3024, i16 0, i16 2497, i16 1825, i16 2888, i16 1003, i16 986, i16 1603, i16 0, i16 0, i16 1012, i16 2473, i16 329, i16 0, i16 0, i16 0, i16 189, i16 2254, i16 1348, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 283, i16 155, i16 0, i16 0, i16 2908, i16 1209, i16 346, i16 0, i16 2765, i16 0, i16 1957, i16 0, i16 0, i16 0, i16 828, i16 0, i16 0, i16 2807, i16 0, i16 1676, i16 0, i16 1091, i16 768, i16 0, i16 2818, i16 349, i16 1789, i16 2193, i16 0, i16 164, i16 0, i16 1171, i16 2810, i16 938, i16 1163, i16 719, i16 2554, i16 2822, i16 0, i16 1575, i16 1200, i16 0, i16 2598, i16 753, i16 2532, i16 972, i16 689, i16 0, i16 1284, i16 0, i16 0, i16 0, i16 0, i16 0, i16 64, i16 800, i16 0, i16 0, i16 0, i16 1307, i16 509, i16 106, i16 0, i16 3278, i16 819, i16 0, i16 3013, i16 1015, i16 26, i16 1631, i16 1202, i16 1117, i16 0, i16 2326, i16 0, i16 3046, i16 49, i16 0, i16 736, i16 0, i16 776, i16 1109, i16 0, i16 0, i16 3182, i16 0, i16 0, i16 0, i16 0, i16 0, i16 217, i16 510, i16 2212, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 341, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2689, i16 0, i16 0, i16 2117, i16 0, i16 0, i16 0, i16 2825, i16 1273, i16 2948, i16 0, i16 977, i16 268, i16 1266, i16 1283, i16 1369, i16 1795, i16 207, i16 1685, i16 3014, i16 497, i16 0, i16 437, i16 2505, i16 0, i16 2563, i16 0, i16 0, i16 732, i16 553, i16 1247, i16 2372, i16 0, i16 0, i16 1637, i16 3251, i16 3313, i16 1308, i16 0, i16 10, i16 2912, i16 1061, i16 131, i16 0, i16 0, i16 0, i16 2111, i16 0, i16 0, i16 0, i16 0, i16 0, i16 169, i16 0, i16 0, i16 0, i16 490, i16 642, i16 677, i16 0, i16 0, i16 180, i16 1565, i16 148, i16 569, i16 2201, i16 0, i16 315, i16 0, i16 0, i16 0, i16 1818, i16 1021, i16 0, i16 0, i16 0, i16 1244, i16 0, i16 76, i16 0, i16 3406, i16 0, i16 93, i16 0, i16 513, i16 960, i16 0, i16 859, i16 96, i16 1964, i16 0, i16 0, i16 386, i16 1629, i16 1510, i16 0, i16 2656, i16 269, i16 321, i16 0, i16 0, i16 0, i16 0, i16 3106, i16 2930, i16 1402, i16 80, i16 867, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2660, i16 368, i16 0, i16 2661, i16 2045, i16 0, i16 0, i16 0, i16 1581, i16 1544, i16 3381, i16 0, i16 2853, i16 891, i16 449, i16 2010, i16 3277, i16 0, i16 0, i16 2382, i16 2172, i16 2069, i16 2897, i16 0, i16 1773, i16 0, i16 0, i16 1291, i16 0, i16 645, i16 2135, i16 2034, i16 0, i16 0, i16 0, i16 2584, i16 772, i16 1898, i16 0, i16 0, i16 48, i16 1245, i16 1113, i16 747, i16 0, i16 0, i16 1973, i16 0, i16 0, i16 209, i16 2281, i16 1289, i16 2785, i16 0, i16 0, i16 2118, i16 176, i16 1248, i16 2037, i16 2043, i16 339, i16 3293, i16 2066, i16 86, i16 248, i16 857, i16 0, i16 0, i16 1433, i16 0, i16 0, i16 0, i16 1585, i16 2756, i16 2680, i16 1650, i16 1718, i16 0, i16 0, i16 0, i16 0, i16 0, i16 394, i16 1024, i16 1537, i16 0, i16 0, i16 3170, i16 2362, i16 40, i16 53, i16 1101, i16 0, i16 2933, i16 900, i16 1447, i16 0, i16 3179, i16 833, i16 1566, i16 1494, i16 2973, i16 0, i16 0, i16 2609, i16 0, i16 927, i16 2303, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 650, i16 0, i16 0, i16 1075, i16 235, i16 823, i16 565, i16 3079, i16 0, i16 785, i16 777, i16 186, i16 2969, i16 1860, i16 2232, i16 0, i16 873, i16 741, i16 3125, i16 3257, i16 2239, i16 0, i16 3121, i16 1242, i16 2791, i16 0, i16 0, i16 1435, i16 974, i16 1780, i16 961, i16 0, i16 0, i16 2874, i16 757, i16 0, i16 0, i16 0, i16 400, i16 1432, i16 2766, i16 3039, i16 1001, i16 1507, i16 2972, i16 0, i16 2514, i16 1512, i16 2046, i16 0, i16 0, i16 0, i16 1253, i16 0, i16 2098, i16 545, i16 2165, i16 531, i16 555, i16 0, i16 0, i16 3371, i16 0, i16 0, i16 0, i16 742, i16 0, i16 807, i16 1931, i16 0, i16 1076, i16 0, i16 2026, i16 3245, i16 0, i16 0, i16 117, i16 1467, i16 2104, i16 631, i16 0, i16 754, i16 156, i16 2258, i16 307, i16 0, i16 60, i16 0, i16 1260, i16 1371, i16 3328, i16 1870, i16 0, i16 0, i16 61, i16 1241, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 424, i16 2403, i16 2148, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1231, i16 2367, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1596, i16 3096, i16 2202, i16 363, i16 1609, i16 2710, i16 2582, i16 791, i16 2705, i16 0, i16 2543, i16 2319, i16 2558, i16 2597, i16 1, i16 2495, i16 2730, i16 0, i16 3374, i16 2485, i16 2487, i16 0, i16 581, i16 1476, i16 3359, i16 2499, i16 2719, i16 0, i16 1876, i16 3240, i16 0, i16 0, i16 2110, i16 0, i16 198, i16 1488, i16 2262, i16 140, i16 0, i16 0, i16 782, i16 3157, i16 27, i16 3136, i16 0, i16 1092, i16 0, i16 1302, i16 0, i16 1912, i16 1217, i16 0, i16 1642, i16 0, i16 2457, i16 0, i16 3400, i16 1530, i16 0, i16 0, i16 167, i16 524, i16 221, i16 0, i16 2119, i16 998, i16 461, i16 0, i16 1358, i16 1037, i16 3378, i16 3206, i16 841, i16 68, i16 1762, i16 0, i16 1756, i16 2665, i16 482, i16 1004, i16 0, i16 2501, i16 0, i16 3204, i16 918, i16 724, i16 322, i16 2401, i16 0, i16 0, i16 2412, i16 306, i16 733, i16 863, i16 0, i16 0, i16 2904, i16 0, i16 0, i16 1979, i16 0, i16 1985, i16 556, i16 3312, i16 2987, i16 3045, i16 643, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3128, i16 1729, i16 0, i16 2970, i16 161, i16 0, i16 0, i16 0, i16 0, i16 602, i16 0, i16 1682, i16 0, i16 2523, i16 0, i16 92, i16 0, i16 0, i16 583, i16 0, i16 0, i16 697, i16 1263, i16 253, i16 504, i16 0, i16 0, i16 0, i16 0, i16 1636, i16 56, i16 0, i16 0, i16 2617, i16 0, i16 0, i16 0, i16 0, i16 2960, i16 2884, i16 0, i16 1999, i16 438, i16 0, i16 0, i16 0, i16 0, i16 1116, i16 2929, i16 2605, i16 0, i16 2323, i16 774, i16 1032, i16 0, i16 2015, i16 2336, i16 0, i16 520, i16 0, i16 2016, i16 1634, i16 1182, i16 1362, i16 850, i16 2906, i16 596, i16 3274, i16 0, i16 199, i16 2242, i16 0, i16 1934, i16 0, i16 2635, i16 0, i16 1746, i16 2915, i16 0, i16 1375, i16 1118, i16 3004, i16 0, i16 477, i16 0, i16 0, i16 0, i16 0, i16 715, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3185, i16 0, i16 0, i16 0, i16 3248, i16 2541, i16 2340, i16 3258, i16 24, i16 2230, i16 1654, i16 0, i16 3421, i16 1923, i16 2565, i16 2280, i16 0, i16 3167, i16 3149, i16 895, i16 3306, i16 994, i16 2009, i16 1543, i16 2273, i16 0, i16 14, i16 814, i16 540, i16 2243, i16 1384, i16 969, i16 0, i16 2914, i16 1698, i16 0, i16 0, i16 995, i16 1119, i16 2474, i16 2855, i16 498, i16 0, i16 0, i16 2312, i16 3331, i16 2002, i16 2324, i16 0, i16 111, i16 1281, i16 410, i16 2158, i16 1404, i16 708, i16 2625, i16 0, i16 0, i16 0, i16 82, i16 1965, i16 486, i16 3228, i16 661, i16 0, i16 2961, i16 0, i16 197, i16 2842, i16 2060, i16 517, i16 1518, i16 0, i16 0, i16 1853, i16 2257, i16 3392, i16 2419, i16 251, i16 975, i16 0, i16 883, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1423, i16 0, i16 2521, i16 0, i16 2305, i16 0, i16 3380, i16 0, i16 0, i16 1054, i16 1108, i16 1842, i16 0, i16 943, i16 811, i16 2963, i16 0, i16 0, i16 0, i16 2455, i16 0, i16 1511, i16 0, i16 0, i16 1907, i16 3408, i16 2431, i16 516, i16 0, i16 238, i16 2124, i16 1483, i16 0, i16 825, i16 2271, i16 0, i16 1475, i16 1297, i16 0, i16 2001, i16 1346, i16 0, i16 0, i16 0, i16 0, i16 1387, i16 0, i16 0, i16 2629, i16 0, i16 614, i16 1274, i16 839, i16 3154, i16 1005, i16 0, i16 3189, i16 1136, i16 1000, i16 0, i16 2727, i16 2848, i16 3, i16 0, i16 112, i16 1234, i16 1459, i16 770, i16 0, i16 1828, i16 0, i16 2065, i16 0, i16 1106, i16 2444, i16 0, i16 830, i16 1457, i16 1764, i16 2604, i16 3057, i16 1098, i16 1223, i16 0, i16 362, i16 1460, i16 1840, i16 0, i16 1913, i16 580, i16 829, i16 958, i16 0, i16 3337, i16 0, i16 1833, i16 2778, i16 387, i16 2865, i16 310, i16 193, i16 3403, i16 0, i16 0, i16 0, i16 2614, i16 466, i16 0, i16 0, i16 2428, i16 1646, i16 0, i16 0, i16 0, i16 0, i16 1917, i16 0, i16 1908, i16 1859, i16 0, i16 1660, i16 804, i16 1592, i16 0, i16 3094, i16 3216, i16 2295, i16 33, i16 443, i16 3358, i16 0, i16 1394, i16 250, i16 213, i16 0, i16 1971, i16 3080, i16 1354, i16 3360, i16 0, i16 1265, i16 1584, i16 2053, i16 512, i16 0, i16 2928, i16 409, i16 2225, i16 779, i16 1186, i16 0, i16 0, i16 381, i16 0, i16 0, i16 2369, i16 0, i16 3368, i16 0, i16 0, i16 1479, i16 924, i16 0, i16 0, i16 599, i16 3139, i16 0, i16 1492, i16 2101, i16 0, i16 0, i16 0, i16 0, i16 0, i16 184, i16 0, i16 2197, i16 651, i16 0, i16 601, i16 0, i16 0, i16 29, i16 0, i16 1149, i16 3302, i16 1156, i16 3111, i16 1269, i16 1298, i16 0, i16 2073, i16 0, i16 615, i16 262, i16 0, i16 0, i16 1349, i16 118, i16 3159, i16 3178, i16 3316, i16 1252, i16 1277, i16 3301, i16 493, i16 3119, i16 2977, i16 842, i16 2399, i16 318, i16 2940, i16 2123, i16 0, i16 1620, i16 0, i16 2951, i16 0, i16 0, i16 0, i16 0, i16 2453, i16 0, i16 0, i16 1323, i16 288, i16 0, i16 0, i16 1615, i16 2715, i16 0, i16 0, i16 2691, i16 0, i16 0, i16 1388, i16 0, i16 280, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1250, i16 0, i16 392, i16 275, i16 0, i16 0, i16 0, i16 0, i16 1926, i16 3008, i16 0, i16 620, i16 0, i16 0, i16 0, i16 2971, i16 3401, i16 0, i16 0, i16 0, i16 1314, i16 608, i16 944, i16 0, i16 1534, i16 1131, i16 1430, i16 2835, i16 525, i16 1559, i16 3115, i16 0, i16 1672, i16 0, i16 3232, i16 0, i16 0, i16 382, i16 0, i16 3377, i16 352, i16 2301, i16 1207, i16 0, i16 1611, i16 0, i16 0, i16 260, i16 0, i16 94, i16 0, i16 2795, i16 1197, i16 0, i16 3402, i16 45, i16 0, i16 1816, i16 2185, i16 1216, i16 2678, i16 2866, i16 0, i16 2677, i16 0, i16 0, i16 687, i16 1342, i16 2420, i16 2163, i16 2142, i16 0, i16 876, i16 2989, i16 1172, i16 3393, i16 1550, i16 2506, i16 3017, i16 879, i16 0, i16 1169, i16 2729, i16 1817, i16 323, i16 0, i16 0, i16 1562, i16 1436, i16 0, i16 3397, i16 2616, i16 922, i16 44, i16 2966, i16 3135, i16 0, i16 0, i16 1713, i16 0, i16 491, i16 0, i16 0, i16 0, i16 2024, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2943, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3364, i16 3355, i16 2004, i16 2105, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3262, i16 0, i16 1082, i16 2663, i16 0, i16 0, i16 2379, i16 0, i16 0, i16 0, i16 2, i16 1330, i16 1747, i16 0, i16 731, i16 0, i16 2639, i16 0, i16 393, i16 18, i16 722, i16 0, i16 813, i16 223, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3353, i16 0, i16 1504, i16 0, i16 3099, i16 30, i16 1574, i16 2218, i16 566, i16 2621, i16 1989, i16 2917, i16 0, i16 3305, i16 0, i16 1398, i16 2651, i16 843, i16 2159, i16 317, i16 1335, i16 640, i16 865, i16 62, i16 2937, i16 1385, i16 919, i16 1034, i16 1233, i16 1850, i16 792, i16 1972, i16 987, i16 0, i16 2529, i16 1717, i16 364, i16 1095, i16 2696, i16 1142, i16 5, i16 1029, i16 0, i16 0, i16 1962, i16 1595, i16 0, i16 1145, i16 637, i16 1662, i16 0, i16 3386, i16 925, i16 2076, i16 2672, i16 0, i16 338, i16 0, i16 1198, i16 0, i16 1846, i16 0, i16 0, i16 366, i16 2622, i16 0, i16 739, i16 869, i16 799, i16 1480, i16 0, i16 0, i16 1721, i16 0, i16 1542, i16 160, i16 0, i16 1195, i16 1891, i16 2526, i16 3236, i16 502, i16 1697, i16 0, i16 1577, i16 514, i16 2373, i16 3289, i16 0, i16 478, i16 0, i16 0, i16 0, i16 2591, i16 2383, i16 660, i16 2297, i16 0, i16 234, i16 267, i16 124, i16 0, i16 2077, i16 534, i16 1838, i16 1568, i16 0, i16 0, i16 1619, i16 1873, i16 2033, i16 2484, i16 0, i16 2964, i16 2787, i16 1147, i16 0, i16 721, i16 0, i16 0, i16 0, i16 2815, i16 3086, i16 1622, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3336, i16 0, i16 3239, i16 1796, i16 0, i16 2976, i16 139, i16 1176, i16 0, i16 888, i16 2919, i16 3196, i16 1440, i16 2044, i16 574, i16 1754, i16 0, i16 586, i16 1760, i16 1087, i16 2331, i16 544, i16 0, i16 3279, i16 0, i16 0, i16 0, i16 1602, i16 2985, i16 1366, i16 91, i16 894, i16 523, i16 911, i16 2345, i16 2669, i16 3067, i16 3292, i16 2638, i16 806, i16 1341, i16 2986, i16 3363, i16 3227, i16 0, i16 659, i16 868, i16 0, i16 2794, i16 2296, i16 713, i16 1832, i16 0, i16 3217, i16 3304, i16 1811, i16 231, i16 2657, i16 0, i16 0, i16 3127, i16 852, i16 358, i16 0, i16 2318, i16 1570, i16 817, i16 3069, i16 3420, i16 447, i16 2520, i16 638, i16 2299, i16 0, i16 2693, i16 1043, i16 0, i16 1140, i16 1591, i16 1837, i16 236, i16 1355, i16 0, i16 2763, i16 0, i16 1022, i16 2422, i16 0, i16 2138, i16 0, i16 179, i16 0, i16 0, i16 1100, i16 0, i16 1326, i16 2574, i16 2211, i16 1702, i16 0, i16 1089, i16 0, i16 0, i16 377, i16 1687, i16 0, i16 793, i16 0, i16 667, i16 126, i16 934, i16 2300, i16 2079, i16 3370, i16 2233, i16 2862, i16 810, i16 0, i16 0, i16 3263, i16 756, i16 1809, i16 2714, i16 2518, i16 1422, i16 1665, i16 2722, i16 3194, i16 1296, i16 1412, i16 0, i16 138, i16 101, i16 2353, i16 0, i16 1179, i16 1225, i16 458, i16 3413, i16 1579, i16 2090, i16 1561, i16 0, i16 0, i16 0, i16 2809, i16 1497, i16 1389, i16 1019, i16 1329, i16 2421, i16 396, i16 2695, i16 6, i16 2095, i16 950, i16 489, i16 0, i16 1661, i16 0, i16 1808, i16 2171, i16 2511, i16 0, i16 1086, i16 1219, i16 2006, i16 25, i16 0, i16 0, i16 1201, i16 522, i16 0, i16 0, i16 618, i16 0, i16 0, i16 2235, i16 880, i16 0, i16 0, i16 334, i16 1305, i16 1705, i16 2204, i16 1858, i16 1013, i16 1306, i16 0, i16 1085, i16 1533, i16 87, i16 2067, i16 1502, i16 2290, i16 1799, i16 0, i16 3146, i16 1794, i16 3346, i16 2192, i16 0, i16 0, i16 653, i16 1429, i16 887, i16 314, i16 2041, i16 2436, i16 875, i16 1331, i16 1481, i16 0, i16 403, i16 0, i16 0, i16 1910, i16 0, i16 1155, i16 0, i16 2072, i16 3266, i16 1165, i16 1857, i16 1557, i16 1801, i16 2496, i16 3131, i16 2926, i16 2643, i16 1582, i16 0, i16 0, i16 0, i16 122, i16 686, i16 168, i16 0, i16 2398, i16 2749, i16 1553, i16 2413, i16 1541, i16 2440, i16 134, i16 1578, i16 247, i16 0, i16 1193, i16 1321, i16 2575, i16 570, i16 2894, i16 0, i16 0, i16 0, i16 2581, i16 2636, i16 2270, i16 12, i16 1424, i16 1188, i16 1383, i16 0, i16 485, i16 700, i16 3254, i16 149, i16 2922, i16 1627, i16 2545, i16 0, i16 1693, i16 0, i16 953, i16 0, i16 0, i16 0, i16 0, i16 600, i16 1138, i16 0, i16 2059, i16 1525, i16 0, i16 1657, i16 0, i16 1727, i16 2841, i16 532, i16 3176, i16 993, i16 1930, i16 192, i16 0, i16 1740, i16 0, i16 3192, i16 1927, i16 802, i16 2849, i16 1064, i16 2109, i16 0, i16 324, i16 144, i16 881, i16 2133, i16 0, i16 2610, i16 171, i16 1129, i16 1378, i16 0, i16 1835, i16 435, i16 760, i16 1324, i16 0, i16 1251, i16 3100, i16 0, i16 835, i16 0, i16 3310, i16 636, i16 594, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2333, i16 1632, i16 3379, i16 3018, i16 3285, i16 388, i16 2748, i16 0, i16 0, i16 0, i16 0, i16 1905, i16 3354, i16 0, i16 2014, i16 0, i16 0, i16 763, i16 0, i16 2011, i16 0, i16 3033, i16 3223, i16 1009, i16 0, i16 1287, i16 292, i16 413, i16 0, i16 0, i16 0, i16 0, i16 31, i16 2143, i16 2128, i16 1878, i16 956, i16 822, i16 2430, i16 311, i16 0, i16 0, i16 2313, i16 1256, i16 2956, i16 0, i16 224, i16 0, i16 2965, i16 109, i16 634, i16 1431, i16 2465, i16 0, i16 0, i16 0, i16 1775, i16 2462, i16 1090, i16 778, i16 3271, i16 1819, i16 0, i16 2645, i16 291, i16 0, i16 1904, i16 0, i16 182, i16 536, i16 0, i16 0, i16 1203, i16 827, i16 294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8, i16 2005, i16 15, i16 2031, i16 3269, i16 3297, i16 3319, i16 0, i16 3213, i16 3241, i16 3259, i16 0, i16 295, i16 133, i16 2811, i16 1707, i16 1915, i16 0, i16 154, i16 174, i16 3416, i16 2448, i16 1144, i16 0, i16 0, i16 0, i16 0, i16 890, i16 1865, i16 1368, i16 1496, i16 1868, i16 1050, i16 1823, i16 2389, i16 1264, i16 752, i16 2456, i16 0, i16 0, i16 356, i16 1336, i16 2116, i16 978, i16 1831, i16 0, i16 2068, i16 1215, i16 705, i16 1044, i16 0, i16 702, i16 0, i16 0, i16 129, i16 0, i16 0, i16 2364, i16 0, i16 0, i16 1312, i16 0, i16 0, i16 16, i16 0, i16 3244, i16 1133, i16 3078, i16 1139, i16 0, i16 2478, i16 0, i16 422, i16 2573, i16 2007, i16 1097, i16 812, i16 0, i16 0, i16 0, i16 665, i16 0, i16 0, i16 0, i16 0, i16 1736, i16 0, i16 2157, i16 549, i16 3165, i16 0, i16 0, i16 0, i16 1271, i16 0, i16 219, i16 0, i16 0, i16 0, i16 1783, i16 0, i16 0, i16 397, i16 3383, i16 0, i16 0, i16 0, i16 2279, i16 3375, i16 1052, i16 0, i16 0, i16 1712, i16 546, i16 1798, i16 3309, i16 0, i16 380, i16 0, i16 0, i16 3038, i16 0, i16 1621, i16 1122, i16 711, i16 3222, i16 2742, i16 0, i16 1701, i16 1053, i16 0, i16 3327, i16 1922, i16 0, i16 1800, i16 1731, i16 0, i16 2516, i16 655, i16 0, i16 2358, i16 2393, i16 2464, i16 2494, i16 2580, i16 2679, i16 2743, i16 2788, i16 2824, i16 2858, i16 2935, i16 2982, i16 3101, i16 3153, i16 3276, i16 2438, i16 2488, i16 2757, i16 2052, i16 2144, i16 2286, i16 2337, i16 2400, i16 2452, i16 2738, i16 2779, i16 2845, i16 2887, i16 3020, i16 3134, i16 3188, i16 3102, i16 1847, i16 2733, i16 2758, i16 1560, i16 1535, i16 824, i16 1822, i16 0, i16 0, i16 2816, i16 2380, i16 0, i16 1228, i16 0, i16 2366, i16 2378, i16 1968, i16 1599, i16 2042, i16 1318, i16 1338, i16 1569, i16 300, i16 0, i16 2873, i16 2320, i16 0, i16 2893, i16 1706, i16 0, i16 1916, i16 0, i16 3129, i16 590, i16 0, i16 0, i16 2836, i16 0, i16 37, i16 0, i16 0, i16 0, i16 551, i16 3155, i16 3177, i16 1951, i16 1056, i16 1855, i16 3247, i16 562, i16 3208, i16 3294, i16 862, i16 0, i16 3055, i16 1453, i16 1626, i16 296, i16 1871, i16 0, i16 1069, i16 0, i16 1767, i16 1776, i16 58, i16 2992, i16 611, i16 2607, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1941, i16 2347, i16 1813, i16 0, i16 2203, i16 1148, i16 0, i16 0, i16 1667, i16 0, i16 0, i16 162, i16 108, i16 0, i16 1211, i16 1063, i16 83, i16 2249, i16 0, i16 1288, i16 832, i16 0, i16 826, i16 88, i16 1434, i16 0, i16 0, i16 0, i16 2087, i16 2773, i16 1852, i16 1921, i16 2220, i16 0, i16 2627, i16 1333, i16 1120, i16 1902, i16 0, i16 1079, i16 1073, i16 305, i16 0, i16 3074, i16 2755, i16 2628, i16 2244, i16 547, i16 0, i16 527, i16 0, i16 428, i16 0, i16 0, i16 3130, i16 3158, i16 3180, i16 3200, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1601, i16 2058, i16 1332, i16 0, i16 0, i16 242, i16 0, i16 0, i16 0, i16 0, i16 3335, i16 374, i16 1877, i16 2903, i16 2726, i16 0, i16 2131, i16 325, i16 1807, i16 378, i16 1606, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 429, i16 172, i16 201, i16 0, i16 585, i16 0, i16 0, i16 2913, i16 351, i16 698, i16 2264, i16 2187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1104, i16 1114, i16 2003, i16 2029, i16 2056, i16 2083, i16 2103, i16 2120, i16 2145, i16 2173, i16 2195, i16 2228, i16 2256, i16 2277, i16 2302, i16 2328, i16 2346, i16 2363, i16 2388, i16 2408, i16 2429, i16 2454, i16 2472, i16 1406, i16 2507, i16 2533, i16 2553, i16 2578, i16 2601, i16 2623, i16 2640, i16 2667, i16 597, i16 0, i16 0, i16 1363, i16 0, i16 0, i16 0, i16 244, i16 474, i16 0, i16 0, i16 0, i16 229, i16 0, i16 481, i16 0, i16 0, i16 2531, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2275, i16 0, i16 0, i16 2357, i16 548, i16 0, i16 1670, i16 701, i16 2901, i16 3404, i16 0, i16 1067, i16 2008, i16 2577, i16 1844, i16 1659, i16 2564, i16 0, i16 2905, i16 3220, i16 442, i16 0, i16 1407, i16 0, i16 1416, i16 0, i16 1663, i16 1036, i16 0, i16 0, i16 2548, i16 3088, i16 0, i16 473, i16 0, i16 2486, i16 2659, i16 3143, i16 0, i16 1861, i16 1881, i16 0, i16 629, i16 840, i16 2519, i16 3068, i16 2012, i16 0, i16 0, i16 2149, i16 1739, i16 3303, i16 949, i16 577, i16 725, i16 658, i16 146, i16 67, i16 2916, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 945, i16 0, i16 0, i16 505, i16 469, i16 3166, i16 3209, i16 1883, i16 0, i16 0, i16 0, i16 1540, i16 0, i16 3332, i16 3072, i16 2593, i16 1610, i16 1257, i16 0, i16 0, i16 578, i16 0, i16 2394, i16 1766, i16 959, i16 1218, i16 0, i16 0, i16 0, i16 632, i16 0, i16 623, i16 1068, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 348, i16 1624, i16 1315, i16 0, i16 878, i16 3095, i16 116, i16 2426, i16 0, i16 737, i16 1466, i16 13, i16 212, i16 0, i16 3315, i16 831, i16 0, i16 2670, i16 1635, i16 1612, i16 0, i16 0, i16 0, i16 1357, i16 709, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1630, i16 2934, i16 488, i16 157, i16 1327, i16 2054, i16 2407, i16 450, i16 0, i16 981, i16 1135, i16 0, i16 1918, i16 1189, i16 729, i16 2427, i16 0, i16 0, i16 2739, i16 3291, i16 0, i16 675, i16 1834, i16 0, i16 1080, i16 589, i16 1415, i16 2537, i16 2406, i16 119, i16 1393, i16 2387, i16 2910, i16 1897, i16 0, i16 1310, i16 1690, i16 0, i16 2988, i16 0, i16 0, i16 0, i16 0, i16 3322, i16 1048, i16 1399, i16 0, i16 1023, i16 0, i16 1361, i16 1617, i16 375, i16 1699, i16 1778, i16 914, i16 1033, i16 0, i16 1334, i16 0, i16 1279, i16 0, i16 0, i16 1952, i16 210, i16 354, i16 0, i16 1738, i16 2881, i16 2283, i16 0, i16 2451, i16 861, i16 3006, i16 0, i16 2800, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1313, i16 1417, i16 2287, i16 1703, i16 2137, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 866, i16 622, i16 1316, i16 1408, i16 1820, i16 898, i16 1728, i16 2600, i16 1320, i16 2332, i16 2813, i16 2630, i16 0, i16 0, i16 427, i16 0, i16 69, i16 459, i16 3043, i16 445, i16 0, i16 1640, i16 706, i16 3050, i16 0, i16 1658, i16 0, i16 0, i16 0, i16 2288, i16 3051, i16 0, i16 1638, i16 402, i16 0, i16 2886, i16 1350, i16 74, i16 0, i16 0, i16 105, i16 266, i16 1214, i16 0, i16 0, i16 0, i16 723, i16 2198, i16 1895, i16 1356, i16 893, i16 535, i16 2248, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2209, i16 3391, i16 0, i16 1254, i16 72, i16 0, i16 2918, i16 3376, i16 2631, i16 1889, i16 2329, i16 2112, i16 2967, i16 0, i16 2831, i16 0, i16 433, i16 2626, i16 2664, i16 1403, i16 1604, i16 0, i16 656, i16 2227, i16 0, i16 0, i16 3181, i16 0, i16 0, i16 933, i16 1146, i16 750, i16 2439, i16 503, i16 1715, i16 885, i16 1784, i16 432, i16 2153, i16 2176, i16 2206, i16 2237, i16 2265, i16 2284, i16 2308, i16 2121, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3054, i16 3082, i16 3103, i16 3126, i16 3151, i16 3171, i16 3193, i16 36, i16 877, i16 0, i16 758, i16 0, i16 1301, i16 147, i16 1262, i16 1072, i16 1616, i16 0, i16 0, i16 0, i16 0, i16 1774, i16 2051, i16 1567, i16 0, i16 2435, i16 2483, i16 0, i16 905, i16 0, i16 2397, i16 256, i16 1851, i16 0, i16 303, i16 0, i16 0, i16 0, i16 0, i16 0, i16 882, i16 0, i16 0, i16 0, i16 1094, i16 1733, i16 1409, i16 0, i16 0, i16 464, i16 0, i16 1880, i16 707, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1243, i16 1963, i16 767, i16 0, i16 0, i16 0, i16 992, i16 0, i16 1571, i16 3334, i16 0, i16 1719, i16 3036, i16 0, i16 2676, i16 624, i16 728, i16 1261, i16 798, i16 1493, i16 0, i16 0, i16 2702, i16 1526, i16 746, i16 3183, i16 0, i16 1046, i16 0, i16 1462, i16 0, i16 2576, i16 1293, i16 3333, i16 0, i16 0, i16 0, i16 3324, i16 1549, i16 0, i16 0, i16 0, i16 2681, i16 1041, i16 2798, i16 1516, i16 1143, i16 1949, i16 1598, i16 390, i16 1236, i16 1448, i16 2829, i16 2432, i16 298, i16 304, i16 2980, i16 336, i16 0, i16 284, i16 0, i16 533, i16 0, i16 0, i16 0, i16 2741, i16 3407, i16 0, i16 2760, i16 1224, i16 100, i16 0, i16 151, i16 0, i16 2885, i16 0, i16 3272, i16 3398, i16 2167, i16 0, i16 0, i16 2175, i16 2184, i16 2196, i16 2191, i16 2205, i16 2307, i16 2222, i16 2322, i16 2214, i16 2343, i16 2229, i16 2348, i16 2236, i16 2490, i16 2508, i16 2534, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 376, i16 3202, i16 1158, i16 0, i16 0, i16 712, i16 1994, i16 906, i16 0, i16 0, i16 0, i16 751, i16 692, i16 1372, i16 936, i16 2146, i16 1829, i16 1474, i16 357, i16 1618, i16 930, i16 2381, i16 2392, i16 0, i16 0, i16 0, i16 46, i16 3256, i16 0, i16 0, i16 0, i16 0, i16 2425, i16 519, i16 0, i16 2466, i16 3340, i16 0, i16 0, i16 0, i16 0, i16 2559, i16 3233, i16 2995, i16 281, i16 0, i16 2685, i16 1680, i16 3175, i16 2402, i16 2752, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1770, i16 1105, i16 3059, i16 1340, i16 801, i16 0, i16 521, i16 0, i16 2170, i16 0, i16 0, i16 1154, i16 0, i16 0, i16 1583, i16 22, i16 2652, i16 3211, i16 0, i16 0, i16 0, i16 0, i16 361, i16 0, i16 928, i16 0, i16 0, i16 3089, i16 557, i16 815, i16 0, i16 0, i16 1325, i16 2950, i16 1110, i16 2310, i16 2113, i16 0, i16 2115, i16 2330, i16 635, i16 2418, i16 967, i16 0, i16 230, i16 666, i16 1709, i16 0, i16 0, i16 1456, i16 2370, i16 3060, i16 0, i16 0, i16 1392, i16 851, i16 342, i16 805, i16 1854, i16 0, i16 2433, i16 3281, i16 1787, i16 2535, i16 0, i16 576, i16 2700, i16 1987, i16 0, i16 0, i16 2549, i16 407, i16 2174, i16 2957, i16 0, i16 0, i16 0, i16 0, i16 1993, i16 1413, i16 175, i16 0, i16 912, i16 2161, i16 0, i16 976, i16 2039, i16 649, i16 0, i16 1239, i16 2979, i16 1111, i16 1849, i16 1078, i16 0, i16 662, i16 668, i16 964, i16 0, i16 3314, i16 595, i16 3120, i16 3152, i16 592, i16 2687, i16 0, i16 2804, i16 2828, i16 2847, i16 2796, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1465, i16 2612, i16 2633, i16 2655, i16 2675, i16 2699, i16 2724, i16 2747, i16 2774, i16 2799, i16 2821, i16 2840, i16 2864, i16 2882, i16 2899, i16 2925, i16 641, i16 781, i16 0, i16 1996, i16 1613, i16 856, i16 1929, i16 1924, i16 0, i16 1781, i16 240, i16 1192, i16 35, i16 787, i16 3197, i16 1593, i16 3081, i16 2927, i16 0, i16 2686, i16 0, i16 1235, i16 0, i16 104, i16 1505, i16 0, i16 0, i16 0, i16 579, i16 3412, i16 2998, i16 1990, i16 2945, i16 2975, i16 2994, i16 3015, i16 3035, i16 0, i16 0, i16 0, i16 1742, i16 3070, i16 3093, i16 3116, i16 3137, i16 3162, i16 3186, i16 3203, i16 3226, i16 3250, i16 3270, i16 3298, i16 3320, i16 3345, i16 3366, i16 3390, i16 3411, i16 1976, i16 1998, i16 2025, i16 2049, i16 2075, i16 0, i16 0, i16 142, i16 0, i16 1213, i16 0, i16 560, i16 1166, i16 3001, i16 290, i16 0, i16 1536, i16 0, i16 633, i16 1309, i16 0, i16 1856, i16 1026, i16 0, i16 0, i16 591, i16 0, i16 0, i16 773, i16 0, i16 571, i16 2590, i16 110, i16 0, i16 0, i16 0, i16 0, i16 41, i16 621, i16 3218, i16 312, i16 3150, i16 431, i16 1894, i16 0, i16 963, i16 1790, i16 2952, i16 1558, i16 3199, i16 3142, i16 0, i16 2889, i16 0, i16 2761, i16 0, i16 0, i16 0, i16 0, i16 892, i16 0, i16 0, i16 0, i16 2869, i16 2877, i16 955, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1688, i16 313, i16 1710, i16 0, i16 1647, i16 0, i16 0, i16 0, i16 0, i16 0, i16 150, i16 383, i16 0, i16 0, i16 957, i16 1268, i16 0, i16 0, i16 1199, i16 3255, i16 2586, i16 1183, i16 0, i16 0, i16 0, i16 405, i16 2764, i16 818, i16 543, i16 293, i16 1017, i16 4, i16 3225, i16 0, i16 1984, i16 0, i16 0, i16 0, i16 3091, i16 2000, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 639, i16 0, i16 1428, i16 0, i16 444, i16 0, i16 718, i16 2251, i16 0, i16 0, i16 2306, i16 2181, i16 0, i16 2458, i16 0, i16 3083, i16 99, i16 0, i16 0, i16 479, i16 2260, i16 3064, i16 0, i16 3343, i16 0, i16 103, i16 1210, i16 727, i16 1469, i16 3339, i16 582, i16 0, i16 1956, i16 0, i16 0, i16 2223, i16 63, i16 203, i16 1208, i16 2141, i16 1238, i16 344, i16 2415, i16 796, i16 3323, i16 1692, i16 3117, i16 0, i16 0, i16 1653, i16 1175, i16 2446, i16 448, i16 327, i16 1928, i16 2706, i16 2713, i16 2826, i16 421, i16 2832, i16 0, i16 0, i16 113, i16 0, i16 2108, i16 1607, i16 2217, i16 1839, i16 2023, i16 679, i16 1275, i16 766, i16 252, i16 2789, i16 1391, i16 2872, i16 274, i16 1438, i16 0, i16 0, i16 1396, i16 1625, i16 0, i16 0, i16 0, i16 0, i16 561, i16 616, i16 790, i16 1691, i16 0, i16 1628, i16 1443, i16 3221, i16 0, i16 1700, i16 0, i16 1495, i16 1353, i16 2437, i16 59, i16 0, i16 2539, i16 1940, i16 0, i16 0, i16 0, i16 254, i16 0, i16 1439, i16 988, i16 369, i16 102, i16 195, i16 682, i16 0, i16 0, i16 1765, i16 0, i16 1704, i16 0, i16 704, i16 0, i16 554, i16 1222, i16 2784, i16 0, i16 0, i16 0, i16 559, i16 0, i16 0, i16 0, i16 302, i16 0, i16 0, i16 0, i16 0, i16 3284, i16 3234, i16 0, i16 2463, i16 3071, i16 1802, i16 1232, i16 0, i16 264, i16 0, i16 2868, i16 908, i16 0, i16 0, i16 0, i16 178, i16 0, i16 228, i16 0, i16 871, i16 0, i16 0, i16 0, i16 257, i16 0, i16 673, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 952, i16 416, i16 0, i16 419, i16 1936, i16 1503, i16 0, i16 319, i16 0, i16 0, i16 3342, i16 0, i16 0, i16 3174, i16 735, i16 39, i16 0, i16 1062, i16 573, i16 1594, i16 1168, i16 0, i16 962, i16 1441, i16 1173, i16 3084, i16 864, i16 0, i16 1970, i16 227, i16 3114, i16 0, i16 0, i16 1753, i16 1761, i16 1194, i16 0, i16 0, i16 0, i16 2094, i16 2122, i16 2154, i16 2177, i16 2207, i16 2238, i16 2266, i16 2285, i16 2309, i16 2335, i16 2355, i16 2376, i16 2396, i16 2417, i16 2442, i16 2468, i16 1292, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1451, i16 2589, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1401, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2475, i16 1869, i16 0, i16 0, i16 1317, i16 1059, i16 2777, i16 2728, i16 0, i16 0, i16 0, i16 0, i16 417, i16 1081, i16 1911, i16 0, i16 0, i16 0, i16 0, i16 3307, i16 1038, i16 0, i16 0, i16 0, i16 0, i16 2099, i16 575, i16 0, i16 0, i16 0, i16 2896, i16 2637, i16 3243, i16 0, i16 1141, i16 123, i16 1498, i16 1988, i16 2513, i16 0, i16 55, i16 2772, i16 2356, i16 1373, i16 1605, i16 0, i16 287, i16 3052, i16 0, i16 355, i16 765, i16 0, i16 0, i16 2781, i16 0, i16 2797, i16 1573, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 941, i16 1909, i16 2552, i16 0, i16 0, i16 0, i16 2276, i16 0, i16 38, i16 0, i16 1874, i16 50, i16 0, i16 0, i16 1380, i16 684, i16 0, i16 0, i16 411, i16 755, i16 1983, i16 2613, i16 0, i16 0, i16 0, i16 1478, i16 137, i16 0, i16 2544, i16 0, i16 2219, i16 332, i16 1455, i16 3350, i16 2325, i16 1294, i16 1946, i16 1028, i16 2062, i16 1445, i16 0, i16 0, i16 0, i16 797, i16 0, i16 1395, i16 0, i16 441, i16 499, i16 2823, i16 1890, i16 495, i16 1490, i16 3148, i16 1071, i16 1716, i16 3295, i16 0, i16 0, i16 937, i16 1797, i16 1246, i16 3205, i16 0, i16 946, i16 0, i16 2731, i16 0, i16 285, i16 0, i16 0, i16 0, i16 2459, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 384, i16 204, i16 2735, i16 716, i16 0, i16 0, i16 0, i16 153, i16 3347, i16 0, i16 0, i16 0, i16 2489, i16 2482, i16 1419, i16 2703, i16 2226, i16 1471, i16 0, i16 1418, i16 951, i16 0, i16 0, i16 0, i16 0, i16 232, i16 0, i16 0, i16 3326, i16 0, i16 0, i16 1470, i16 0, i16 0, i16 494, i16 0, i16 107, i16 2409, i16 1769, i16 1058, i16 3261, i16 0, i16 3147, i16 1285, i16 0, i16 1351, i16 3362, i16 0, i16 1204, i16 695, i16 0, i16 360, i16 1539, i16 2634, i16 0, i16 0, i16 2250, i16 0, i16 95, i16 3034, i16 1815, i16 0, i16 2993, i16 52, i16 1722, i16 0, i16 0, i16 0, i16 1276, i16 3172, i16 2199, i16 808, i16 786, i16 2361, i16 0, i16 1458, i16 2215, i16 0, i16 483, i16 3230, i16 1206, i16 2183, i16 2213, i16 2245, i16 2268, i16 2289, i16 2315, i16 2339, i16 2354, i16 2375, i16 2395, i16 2416, i16 2441, i16 2467, i16 2477, i16 2753, i16 2517, i16 2547, i16 2566, i16 2587, i16 2611, i16 2632, i16 2654, i16 2674, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 439, i16 2127, i16 2746, i16 3195, i16 2974, i16 0, i16 9, i16 1157, i16 1986, i16 1055, i16 1178, i16 0, i16 436, i16 0, i16 3388, i16 3048, i16 654, i16 0, i16 3058, i16 0, i16 1545, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2515, i16 0, i16 1221, i16 1099, i16 187, i16 2092, i16 1463, i16 2647, i16 2803, i16 0, i16 0, i16 0, i16 0, i16 1031, i16 2658, i16 0, i16 1836, i16 0, i16 0, i16 47, i16 2879, i16 3019, i16 2166, i16 0, i16 0, i16 1843, i16 0, i16 0, i16 398, i16 0, i16 1848, i16 874, i16 297, i16 0, i16 0, i16 0, i16 1686, i16 613, i16 3002, i16 2931, i16 2867, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2754, i16 2503, i16 2391, i16 3065, i16 3110, i16 3138, i16 3163, i16 3190, i16 3229, i16 3288, i16 3338, i16 3357, i16 2036, i16 2070, i16 2097, i16 2129, i16 2156, i16 2186, i16 2247, i16 2274, i16 2298, i16 2344, i16 2365, i16 2019, i16 2801, i16 2684, i16 2405, i16 3341, i16 3027, i16 3348, i16 3422, i16 2091, i16 1485, i16 0, i16 3010, i16 902, i16 0, i16 0, i16 1948, i16 0, i16 0, i16 0, i16 309, i16 0, i16 3418, i16 484, i16 0, i16 0, i16 2567, i16 1944, i16 0, i16 1724, i16 0, i16 1777, i16 492, i16 81, i16 688, i16 1714, i16 1499, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2770, i16 3075, i16 1804, i16 0, i16 1227, i16 1751, i16 2936, i16 0, i16 0, i16 0, i16 121, i16 0, i16 1180, i16 1364, i16 1322, i16 3112, i16 588, i16 347, i16 1982, i16 2162, i16 2938, i16 2304, i16 3215, i16 2528, i16 0, i16 0, i16 0, i16 2814, i16 1442, i16 71, i16 0, i16 593, i16 2775, i16 2240, i16 1741, i16 0, i16 0, i16 0, i16 2692, i16 1966, i16 0, i16 379, i16 1102, i16 3000, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1745, i16 0, i16 0, i16 0, i16 3161, i16 1057, i16 2683, i16 222, i16 2338, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1749, i16 2524, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2334, i16 2349, i16 2368, i16 2390, i16 2411, i16 2434, i16 2461, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3214, i16 3242, i16 3260, i16 3283, i16 3308, i16 3330, i16 3352, i16 0, i16 0, i16 0, i16 0, i16 0, i16 989, i16 982, i16 0, i16 0, i16 0, i16 0, i16 1938, i16 0, i16 0, i16 1681, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 991, i16 0, i16 730, i16 2911, i16 0, i16 0, i16 0, i16 1899, i16 2028, i16 185, i16 2512, i16 2569, i16 2673, i16 2267, i16 2806, i16 2941, i16 2540, i16 2923, i16 2086, i16 0, i16 1892, i16 0, i16 903, i16 2920, i16 2592, i16 2751, i16 1093, i16 1708, i16 0, i16 3005, i16 19, i16 3356, i16 2527, i16 216, i16 2619, i16 2188, i16 2557, i16 627, i16 748, i16 135, i16 1344, i16 0, i16 872, i16 1018, i16 2790, i16 2776, i16 0, i16 669, i16 2721, i16 73, i16 2139, i16 1278, i16 188, i16 0, i16 2662, i16 0, i16 0, i16 0, i16 0, i16 550, i16 1484, i16 1083, i16 1303, i16 3238, i16 2783, i16 2805, i16 2688, i16 2891, i16 2839, i16 2863, i16 2572, i16 2624, i16 2641, i16 2588, i16 2709, i16 2944, i16 2718, i16 2740, i16 2768, i16 2820, i16 2871, i16 2579, i16 2698, i16 215, i16 2959, i16 844, i16 2151, i16 2984, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2272, i16 0, i16 2155, i16 2445, i16 371, i16 1070, i16 2953, i16 1633, i16 389, i16 1272, i16 691, i16 1365, i16 1759, i16 2857, i16 1045, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2902, i16 2263, i16 170, i16 855, i16 3113, i16 685, i16 1379, i16 1226, i16 2082, i16 1311, i16 1643, i16 0, i16 3040, i16 1768, i16 1995, i16 1623, i16 2088, i16 3022, i16 1425, i16 1170, i16 2282, i16 0, i16 0, i16 923, i16 1515, i16 1300, i16 3090, i16 2476, i16 1914, i16 289, i16 587, i16 1937, i16 2546, i16 2536, i16 1449, i16 2962, i16 3207, i16 0, i16 1519, i16 1259, i16 968, i16 1590, i16 2371, i16 3066, i16 1249, i16 173, i16 759, i16 1945, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 526, i16 2096, i16 0, i16 0, i16 0, i16 0, i16 3367, i16 0, i16 541, i16 2231, i16 954, i16 0, i16 0, i16 237, i16 0, i16 0, i16 430, i16 0, i16 0, i16 0, i16 2081, i16 726, i16 2020, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 939, i16 23, i16 0, i16 3109, i16 0, i16 0, i16 0, i16 0, i16 3252, i16 2599, i16 0, i16 965, i16 2221, i16 420, i16 1386, i16 0, i16 1734, i16 0, i16 1824, i16 0, i16 0, i16 0, i16 1969, i16 2259, i16 1509, i16 0, i16 1580, i16 1887, i16 2712, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 194, i16 0, i16 2134, i16 2568, i16 2649, i16 226, i16 663, i16 2048, i16 1862, i16 2460, i16 1400, i16 1299, i16 3369, i16 0, i16 0, i16 1867, i16 465, i16 2620, i16 916, i16 771, i16 940, i16 233, i16 0, i16 3132, i16 2132, i16 720, i16 1020, i16 2050, i16 0, i16 2316, i16 1723, i16 3351, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2246, i16 2032, i16 0, i16 326, i16 3387, i16 714, i16 475, i16 0, i16 1673, i16 0, i16 0, i16 1743, i16 0, i16 3145, i16 0, i16 0, i16 1258, i16 1240, i16 1830, i16 0, i16 70, i16 0, i16 163, i16 0, i16 2817, i16 1230, i16 2481, i16 2253, i16 2880, i16 2551, i16 2701, i16 115, i16 2851, i16 2292, i16 434, i16 0, i16 0, i16 1420, i16 1152, i16 2150, i16 3201, i16 2498, i16 3224, i16 77, i16 0, i16 0, i16 0, i16 690, i16 2538, i16 1903, i16 1901, i16 2812, i16 3396, i16 1959, i16 3023, i16 0, i16 0, i16 0, i16 0, i16 1671, i16 258, i16 1060, i16 0, i16 1587, i16 191, i16 775, i16 935, i16 0, i16 0, i16 743, i16 2615, i16 1010, i16 0, i16 0, i16 0, i16 181, i16 3300, i16 372, i16 0, i16 1689, i16 749, i16 1695, i16 0, i16 2542, i16 2359, i16 418, i16 1730, i16 2771, i16 1735, i16 2470, i16 453, i16 2352, i16 2608, i16 143, i16 1337, i16 2160, i16 1339, i16 1352, i16 78, i16 3124, i16 983, i16 249, i16 0, i16 0, i16 3087, i16 1757, i16 2997, i16 2038, i16 1472, i16 2837, i16 619, i16 3414, i16 3053, i16 79, i16 2061, i16 1885, i16 1132, i16 2055, i16 3118, i16 604, i16 0, i16 0, i16 0, i16 1608, i16 744, i16 0, i16 2560, i16 0, i16 980, i16 1785, i16 301, i16 1489, i16 0, i16 853, i16 2293, i16 1792, i16 0, i16 0, i16 98, i16 1805, i16 456, i16 997, i16 0, i16 849, i16 1011, i16 821, i16 518, i16 0, i16 0, i16 605, i16 630, i16 0, i16 0, i16 0, i16 0, i16 1185, i16 0, i16 0, i16 0, i16 7, i16 0, i16 0, i16 0, i16 609, i16 2570, i16 2946, i16 345, i16 2856, i16 0, i16 415, i16 0, i16 0, i16 0, i16 0, i16 1360, i16 0, i16 2035, i16 1771, i16 2525, i16 0, i16 0, i16 0, i16 0, i16 846, i16 1720, i16 3361, i16 648, i16 132, i16 2252, i16 2080, i16 506, i16 0, i16 0, i16 0, i16 860, i16 214, i16 1522, i16 2819, i16 2671, i16 1051, i16 1551, i16 3107, i16 0, i16 0, i16 0, i16 1806, i16 1286, i16 2745, i16 1782, i16 870, i16 2022, i16 1935, i16 0, i16 1669, i16 809, i16 130, i16 0, i16 299, i16 0, i16 0, i16 2707, i16 2410, i16 0, i16 2602, i16 762, i16 3290, i16 3265, i16 2717, i16 85, i16 1597, i16 2341, i16 1763, i16 612, i16 2140, i16 2694, i16 664, i16 3299, i16 1042, i16 0, i16 1486, i16 1786, i16 2047, i16 2827, i16 1464, i16 3012, i16 2190, i16 0, i16 0, i16 196, i16 2942, i16 0, i16 837, i16 1586, i16 0, i16 1461, i16 710, i16 3077, i16 0, i16 996, i16 0, i16 0, i16 1237, i16 917, i16 457, i16 2194, i16 2954, i16 1220, i16 2780, i16 1444, i16 0, i16 0, i16 676, i16 1788, i16 0, i16 0, i16 971, i16 0, i16 652, i16 0, i16 0, i16 0, i16 0, i16 678, i16 2261, i16 0, i16 0, i16 674, i16 816, i16 2843, i16 286, i16 2900, i16 0, i16 2861, i16 563, i16 567, i16 2255, i16 2850, i16 1872, i16 2321, i16 1947, i16 0, i16 0, i16 854, i16 282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 14592, i16 0, i16 0, i16 0, i16 15360, i16 0, i16 0, i16 0, i16 13825, i16 0, i16 0, i16 0, i16 14338, i16 0, i16 0, i16 0, i16 14595, i16 0, i16 0, i16 0, i16 15620, i16 0, i16 0, i16 0, i16 13317, i16 0, i16 0, i16 0, i16 774, i16 0, i16 0, i16 0, i16 12806, i16 0, i16 0, i16 0, i16 15110, i16 0, i16 0, i16 0, i16 16903, i16 0, i16 0, i16 0, i16 13320, i16 0, i16 0, i16 0, i16 16136, i16 0, i16 0, i16 0, i16 15625, i16 0, i16 0, i16 0, i16 778, i16 0, i16 0, i16 0, i16 13578, i16 0, i16 0, i16 0, i16 14859, i16 0, i16 0, i16 0, i16 12556, i16 0, i16 0, i16 0, i16 14092, i16 0, i16 0, i16 0, i16 16652, i16 0, i16 0, i16 0, i16 12302, i16 0, i16 0, i16 0, i16 15118, i16 0, i16 0, i16 0, i16 17166, i16 0, i16 0, i16 0, i16 12559, i16 0, i16 0, i16 0, i16 12815, i16 0, i16 0, i16 0, i16 12304, i16 0, i16 0, i16 0, i16 14353, i16 0, i16 0, i16 0, i16 16913, i16 0, i16 0, i16 0, i16 14354, i16 0, i16 0, i16 0, i16 14355, i16 0, i16 0, i16 0, i16 16659, i16 0, i16 0, i16 0, i16 13844, i16 0, i16 0, i16 0, i16 13590, i16 0, i16 0, i16 0, i16 13591, i16 0, i16 0, i16 0, i16 15639, i16 0, i16 0, i16 0, i16 280, i16 0, i16 0, i16 0, i16 13336, i16 0, i16 0, i16 0, i16 14616, i16 0, i16 0, i16 0, i16 14105, i16 0, i16 0, i16 0, i16 13594, i16 0, i16 0, i16 0, i16 12571, i16 0, i16 0, i16 0, i16 13340, i16 0, i16 0, i16 0, i16 14620, i16 0, i16 0, i16 0, i16 14365, i16 0, i16 0, i16 0, i16 13854, i16 0, i16 0, i16 0, i16 16926, i16 0, i16 0, i16 0, i16 12831, i16 0, i16 0, i16 0, i16 14623, i16 0, i16 0, i16 0, i16 16415, i16 0, i16 0, i16 0, i16 16671, i16 0, i16 0, i16 0, i16 12576, i16 0, i16 0, i16 0, i16 15648, i16 0, i16 0, i16 0, i16 16928, i16 0, i16 0, i16 0, i16 12833, i16 0, i16 0, i16 0, i16 12322, i16 0, i16 0, i16 0, i16 13346, i16 0, i16 0, i16 0, i16 14370, i16 0, i16 0, i16 0, i16 16418, i16 0, i16 0, i16 0, i16 15907, i16 0, i16 0, i16 0, i16 14631, i16 0, i16 0, i16 0, i16 14632, i16 0, i16 0, i16 0, i16 15400, i16 0, i16 0, i16 0, i16 15656, i16 0, i16 0, i16 0, i16 13353, i16 0, i16 0, i16 0, i16 13609, i16 0, i16 0, i16 0, i16 15145, i16 0, i16 0, i16 0, i16 12330, i16 0, i16 0, i16 0, i16 12587, i16 0, i16 0, i16 0, i16 14891, i16 0, i16 0, i16 0, i16 15147, i16 0, i16 0, i16 0, i16 12588, i16 0, i16 0, i16 0, i16 13868, i16 0, i16 0, i16 0, i16 14381, i16 0, i16 0, i16 0, i16 15149, i16 0, i16 0, i16 0, i16 12334, i16 0, i16 0, i16 0, i16 16430, i16 0, i16 0, i16 0, i16 13359, i16 0, i16 0, i16 0, i16 14383, i16 0, i16 0, i16 0, i16 13616, i16 0, i16 0, i16 0, i16 15664, i16 0, i16 0, i16 0, i16 16432, i16 0, i16 0, i16 0, i16 12593, i16 0, i16 0, i16 0, i16 16945, i16 0, i16 0, i16 0, i16 15666, i16 0, i16 0, i16 0, i16 16690, i16 0, i16 0, i16 0, i16 15923, i16 0, i16 0, i16 0, i16 12340, i16 0, i16 0, i16 0, i16 14388, i16 0, i16 0, i16 0, i16 15924, i16 0, i16 0, i16 0, i16 12853, i16 0, i16 0, i16 0, i16 13112, i16 0, i16 0, i16 0, i16 15928, i16 0, i16 0, i16 0, i16 15929, i16 0, i16 0, i16 0, i16 16185, i16 0, i16 0, i16 0, i16 13626, i16 0, i16 0, i16 0, i16 13882, i16 0, i16 0, i16 0, i16 15930, i16 0, i16 0, i16 0, i16 12347, i16 0, i16 0, i16 0, i16 12603, i16 0, i16 0, i16 0, i16 13627, i16 0, i16 0, i16 0, i16 15675, i16 0, i16 0, i16 0, i16 12860, i16 0, i16 0, i16 0, i16 14396, i16 0, i16 0, i16 0, i16 16444, i16 0, i16 0, i16 0, i16 12351, i16 0, i16 0, i16 0, i16 13631, i16 0, i16 0, i16 0, i16 16703, i16 0, i16 0, i16 0, i16 12353, i16 0, i16 0, i16 0, i16 12865, i16 0, i16 0, i16 0, i16 13377, i16 0, i16 0, i16 0, i16 14145, i16 0, i16 0, i16 0, i16 15425, i16 0, i16 0, i16 0, i16 12866, i16 0, i16 0, i16 0, i16 13634, i16 0, i16 0, i16 0, i16 16962, i16 0, i16 0, i16 0, i16 13380, i16 0, i16 0, i16 0, i16 14916, i16 0, i16 0, i16 0, i16 13125, i16 0, i16 0, i16 0, i16 13893, i16 0, i16 0, i16 0, i16 15429, i16 0, i16 0, i16 0, i16 16709, i16 0, i16 0, i16 0, i16 13638, i16 0, i16 0, i16 0, i16 15430, i16 0, i16 0, i16 0, i16 15686, i16 0, i16 0, i16 0, i16 16966, i16 0, i16 0, i16 0, i16 13383, i16 0, i16 0, i16 0, i16 16455, i16 0, i16 0, i16 0, i16 16456, i16 0, i16 0, i16 0, i16 16712, i16 0, i16 0, i16 0, i16 12361, i16 0, i16 0, i16 0, i16 12617, i16 0, i16 0, i16 0, i16 15177, i16 0, i16 0, i16 0, i16 12874, i16 0, i16 0, i16 0, i16 16970, i16 0, i16 0, i16 0, i16 12875, i16 0, i16 0, i16 0, i16 14412, i16 0, i16 0, i16 0, i16 15948, i16 0, i16 0, i16 0, i16 12621, i16 0, i16 0, i16 0, i16 13646, i16 0, i16 0, i16 0, i16 14414, i16 0, i16 0, i16 0, i16 12623, i16 0, i16 0, i16 0, i16 14159, i16 0, i16 0, i16 0, i16 13136, i16 0, i16 0, i16 0, i16 16464, i16 0, i16 0, i16 0, i16 16976, i16 0, i16 0, i16 0, i16 12882, i16 0, i16 0, i16 0, i16 15698, i16 0, i16 0, i16 0, i16 14419, i16 0, i16 0, i16 0, i16 12373, i16 0, i16 0, i16 0, i16 15957, i16 0, i16 0, i16 0, i16 16981, i16 0, i16 0, i16 0, i16 13398, i16 0, i16 0, i16 0, i16 14934, i16 0, i16 0, i16 0, i16 13400, i16 0, i16 0, i16 0, i16 13145, i16 0, i16 0, i16 0, i16 13402, i16 0, i16 0, i16 0, i16 14682, i16 0, i16 0, i16 0, i16 16730, i16 0, i16 0, i16 0, i16 16986, i16 0, i16 0, i16 0, i16 14939, i16 0, i16 0, i16 0, i16 13148, i16 0, i16 0, i16 0, i16 15708, i16 0, i16 0, i16 0, i16 16476, i16 0, i16 0, i16 0, i16 13149, i16 0, i16 0, i16 0, i16 14173, i16 0, i16 0, i16 0, i16 15453, i16 0, i16 0, i16 0, i16 15709, i16 0, i16 0, i16 0, i16 16733, i16 0, i16 0, i16 0, i16 14174, i16 0, i16 0, i16 0, i16 15710, i16 0, i16 0, i16 0, i16 12383, i16 0, i16 0, i16 0, i16 16735, i16 0, i16 0, i16 0, i16 15712, i16 0, i16 0, i16 0, i16 12641, i16 0, i16 0, i16 0, i16 13409, i16 0, i16 0, i16 0, i16 16226, i16 0, i16 0, i16 0, i16 13923, i16 0, i16 0, i16 0, i16 14179, i16 0, i16 0, i16 0, i16 16483, i16 0, i16 0, i16 0, i16 15716, i16 0, i16 0, i16 0, i16 13414, i16 0, i16 0, i16 0, i16 615, i16 0, i16 0, i16 0, i16 871, i16 0, i16 0, i16 0, i16 12906, i16 0, i16 0, i16 0, i16 14186, i16 0, i16 0, i16 0, i16 14442, i16 0, i16 0, i16 0, i16 14698, i16 0, i16 0, i16 0, i16 16490, i16 0, i16 0, i16 0, i16 12651, i16 0, i16 0, i16 0, i16 13675, i16 0, i16 0, i16 0, i16 13164, i16 0, i16 0, i16 0, i16 13420, i16 0, i16 0, i16 0, i16 15980, i16 0, i16 0, i16 0, i16 13935, i16 0, i16 0, i16 0, i16 13680, i16 0, i16 0, i16 0, i16 16752, i16 0, i16 0, i16 0, i16 13938, i16 0, i16 0, i16 0, i16 15475, i16 0, i16 0, i16 0, i16 15731, i16 0, i16 0, i16 0, i16 12660, i16 0, i16 0, i16 0, i16 15732, i16 0, i16 0, i16 0, i16 14453, i16 0, i16 0, i16 0, i16 14709, i16 0, i16 0, i16 0, i16 15221, i16 0, i16 0, i16 0, i16 12406, i16 0, i16 0, i16 0, i16 13174, i16 0, i16 0, i16 0, i16 12919, i16 0, i16 0, i16 0, i16 16759, i16 0, i16 0, i16 0, i16 15480, i16 0, i16 0, i16 0, i16 14201, i16 0, i16 0, i16 0, i16 15737, i16 0, i16 0, i16 0, i16 15993, i16 0, i16 0, i16 0, i16 16250, i16 0, i16 0, i16 0, i16 12411, i16 0, i16 0, i16 0, i16 636, i16 0, i16 0, i16 0, i16 13180, i16 0, i16 0, i16 0, i16 14460, i16 0, i16 0, i16 0, i16 14716, i16 0, i16 0, i16 0, i16 14972, i16 0, i16 0, i16 0, i16 15228, i16 0, i16 0, i16 0, i16 12669, i16 0, i16 0, i16 0, i16 14205, i16 0, i16 0, i16 0, i16 16765, i16 0, i16 0, i16 0, i16 12926, i16 0, i16 0, i16 0, i16 15486, i16 0, i16 0, i16 0, i16 15742, i16 0, i16 0, i16 0, i16 14207, i16 0, i16 0, i16 0, i16 16767, i16 0, i16 0, i16 0, i16 13185, i16 0, i16 0, i16 0, i16 12931, i16 0, i16 0, i16 0, i16 13187, i16 0, i16 0, i16 0, i16 13699, i16 0, i16 0, i16 0, i16 14467, i16 0, i16 0, i16 0, i16 12421, i16 0, i16 0, i16 0, i16 13701, i16 0, i16 0, i16 0, i16 14725, i16 0, i16 0, i16 0, i16 14981, i16 0, i16 0, i16 0, i16 16261, i16 0, i16 0, i16 0, i16 13190, i16 0, i16 0, i16 0, i16 14214, i16 0, i16 0, i16 0, i16 16006, i16 0, i16 0, i16 0, i16 13703, i16 0, i16 0, i16 0, i16 12425, i16 0, i16 0, i16 0, i16 13705, i16 0, i16 0, i16 0, i16 14473, i16 0, i16 0, i16 0, i16 14985, i16 0, i16 0, i16 0, i16 13962, i16 0, i16 0, i16 0, i16 16266, i16 0, i16 0, i16 0, i16 12939, i16 0, i16 0, i16 0, i16 13453, i16 0, i16 0, i16 0, i16 14221, i16 0, i16 0, i16 0, i16 16013, i16 0, i16 0, i16 0, i16 17037, i16 0, i16 0, i16 0, i16 15503, i16 0, i16 0, i16 0, i16 14737, i16 0, i16 0, i16 0, i16 12946, i16 0, i16 0, i16 0, i16 13458, i16 0, i16 0, i16 0, i16 15506, i16 0, i16 0, i16 0, i16 17042, i16 0, i16 0, i16 0, i16 12435, i16 0, i16 0, i16 0, i16 16019, i16 0, i16 0, i16 0, i16 17043, i16 0, i16 0, i16 0, i16 12948, i16 0, i16 0, i16 0, i16 13972, i16 0, i16 0, i16 0, i16 16532, i16 0, i16 0, i16 0, i16 13975, i16 0, i16 0, i16 0, i16 15768, i16 0, i16 0, i16 0, i16 16793, i16 0, i16 0, i16 0, i16 13466, i16 0, i16 0, i16 0, i16 155, i16 0, i16 0, i16 0, i16 156, i16 0, i16 0, i16 0, i16 13469, i16 0, i16 0, i16 0, i16 16285, i16 0, i16 0, i16 0, i16 12958, i16 0, i16 0, i16 0, i16 13215, i16 0, i16 0, i16 0, i16 13727, i16 0, i16 0, i16 0, i16 14751, i16 0, i16 0, i16 0, i16 15263, i16 0, i16 0, i16 0, i16 15775, i16 0, i16 0, i16 0, i16 12704, i16 0, i16 0, i16 0, i16 16800, i16 0, i16 0, i16 0, i16 13473, i16 0, i16 0, i16 0, i16 14241, i16 0, i16 0, i16 0, i16 15521, i16 0, i16 0, i16 0, i16 16801, i16 0, i16 0, i16 0, i16 12962, i16 0, i16 0, i16 0, i16 15010, i16 0, i16 0, i16 0, i16 15778, i16 0, i16 0, i16 0, i16 15267, i16 0, i16 0, i16 0, i16 14500, i16 0, i16 0, i16 0, i16 165, i16 0, i16 0, i16 0, i16 15781, i16 0, i16 0, i16 0, i16 16293, i16 0, i16 0, i16 0, i16 166, i16 0, i16 0, i16 0, i16 17063, i16 0, i16 0, i16 0, i16 13736, i16 0, i16 0, i16 0, i16 16296, i16 0, i16 0, i16 0, i16 16808, i16 0, i16 0, i16 0, i16 12713, i16 0, i16 0, i16 0, i16 13993, i16 0, i16 0, i16 0, i16 16041, i16 0, i16 0, i16 0, i16 16810, i16 0, i16 0, i16 0, i16 17066, i16 0, i16 0, i16 0, i16 13483, i16 0, i16 0, i16 0, i16 13484, i16 0, i16 0, i16 0, i16 16300, i16 0, i16 0, i16 0, i16 13741, i16 0, i16 0, i16 0, i16 15277, i16 0, i16 0, i16 0, i16 12462, i16 0, i16 0, i16 0, i16 13999, i16 0, i16 0, i16 0, i16 16559, i16 0, i16 0, i16 0, i16 176, i16 0, i16 0, i16 0, i16 16048, i16 0, i16 0, i16 0, i16 13233, i16 0, i16 0, i16 0, i16 14769, i16 0, i16 0, i16 0, i16 16049, i16 0, i16 0, i16 0, i16 16305, i16 0, i16 0, i16 0, i16 13746, i16 0, i16 0, i16 0, i16 13747, i16 0, i16 0, i16 0, i16 180, i16 0, i16 0, i16 0, i16 13237, i16 0, i16 0, i16 0, i16 13749, i16 0, i16 0, i16 0, i16 14773, i16 0, i16 0, i16 0, i16 16309, i16 0, i16 0, i16 0, i16 16821, i16 0, i16 0, i16 0, i16 13750, i16 0, i16 0, i16 0, i16 14263, i16 0, i16 0, i16 0, i16 696, i16 0, i16 0, i16 0, i16 15544, i16 0, i16 0, i16 0, i16 16312, i16 0, i16 0, i16 0, i16 15290, i16 0, i16 0, i16 0, i16 16570, i16 0, i16 0, i16 0, i16 12475, i16 0, i16 0, i16 0, i16 13755, i16 0, i16 0, i16 0, i16 14779, i16 0, i16 0, i16 0, i16 15035, i16 0, i16 0, i16 0, i16 16828, i16 0, i16 0, i16 0, i16 15037, i16 0, i16 0, i16 0, i16 14526, i16 0, i16 0, i16 0, i16 15294, i16 0, i16 0, i16 0, i16 16832, i16 0, i16 0, i16 0, i16 15809, i16 0, i16 0, i16 0, i16 13506, i16 0, i16 0, i16 0, i16 16066, i16 0, i16 0, i16 0, i16 16834, i16 0, i16 0, i16 0, i16 12739, i16 0, i16 0, i16 0, i16 13763, i16 0, i16 0, i16 0, i16 12740, i16 0, i16 0, i16 0, i16 13764, i16 0, i16 0, i16 0, i16 16068, i16 0, i16 0, i16 0, i16 15045, i16 0, i16 0, i16 0, i16 15301, i16 0, i16 0, i16 0, i16 14278, i16 0, i16 0, i16 0, i16 12743, i16 0, i16 0, i16 0, i16 14791, i16 0, i16 0, i16 0, i16 17095, i16 0, i16 0, i16 0, i16 13768, i16 0, i16 0, i16 0, i16 15560, i16 0, i16 0, i16 0, i16 12745, i16 0, i16 0, i16 0, i16 13513, i16 0, i16 0, i16 0, i16 13514, i16 0, i16 0, i16 0, i16 13770, i16 0, i16 0, i16 0, i16 14027, i16 0, i16 0, i16 0, i16 17099, i16 0, i16 0, i16 0, i16 13516, i16 0, i16 0, i16 0, i16 17100, i16 0, i16 0, i16 0, i16 14285, i16 0, i16 0, i16 0, i16 16845, i16 0, i16 0, i16 0, i16 12494, i16 0, i16 0, i16 0, i16 14798, i16 0, i16 0, i16 0, i16 17102, i16 0, i16 0, i16 0, i16 16079, i16 0, i16 0, i16 0, i16 13520, i16 0, i16 0, i16 0, i16 14032, i16 0, i16 0, i16 0, i16 14288, i16 0, i16 0, i16 0, i16 14800, i16 0, i16 0, i16 0, i16 14289, i16 0, i16 0, i16 0, i16 15569, i16 0, i16 0, i16 0, i16 17105, i16 0, i16 0, i16 0, i16 13778, i16 0, i16 0, i16 0, i16 14034, i16 0, i16 0, i16 0, i16 14803, i16 0, i16 0, i16 0, i16 16083, i16 0, i16 0, i16 0, i16 14805, i16 0, i16 0, i16 0, i16 15829, i16 0, i16 0, i16 0, i16 16597, i16 0, i16 0, i16 0, i16 16853, i16 0, i16 0, i16 0, i16 16598, i16 0, i16 0, i16 0, i16 12503, i16 0, i16 0, i16 0, i16 13527, i16 0, i16 0, i16 0, i16 16088, i16 0, i16 0, i16 0, i16 12761, i16 0, i16 0, i16 0, i16 13785, i16 0, i16 0, i16 0, i16 14809, i16 0, i16 0, i16 0, i16 12508, i16 0, i16 0, i16 0, i16 13276, i16 0, i16 0, i16 0, i16 13532, i16 0, i16 0, i16 0, i16 15836, i16 0, i16 0, i16 0, i16 16348, i16 0, i16 0, i16 0, i16 17116, i16 0, i16 0, i16 0, i16 14045, i16 0, i16 0, i16 0, i16 15837, i16 0, i16 0, i16 0, i16 14558, i16 0, i16 0, i16 0, i16 15326, i16 0, i16 0, i16 0, i16 14047, i16 0, i16 0, i16 0, i16 12768, i16 0, i16 0, i16 0, i16 15584, i16 0, i16 0, i16 0, i16 225, i16 0, i16 0, i16 0, i16 13793, i16 0, i16 0, i16 0, i16 13027, i16 0, i16 0, i16 0, i16 14819, i16 0, i16 0, i16 0, i16 16099, i16 0, i16 0, i16 0, i16 16867, i16 0, i16 0, i16 0, i16 14052, i16 0, i16 0, i16 0, i16 17124, i16 0, i16 0, i16 0, i16 14821, i16 0, i16 0, i16 0, i16 15077, i16 0, i16 0, i16 0, i16 13286, i16 0, i16 0, i16 0, i16 12519, i16 0, i16 0, i16 0, i16 12775, i16 0, i16 0, i16 0, i16 13031, i16 0, i16 0, i16 0, i16 14311, i16 0, i16 0, i16 0, i16 14823, i16 0, i16 0, i16 0, i16 13800, i16 0, i16 0, i16 0, i16 16616, i16 0, i16 0, i16 0, i16 14057, i16 0, i16 0, i16 0, i16 14826, i16 0, i16 0, i16 0, i16 15594, i16 0, i16 0, i16 0, i16 13291, i16 0, i16 0, i16 0, i16 16108, i16 0, i16 0, i16 0, i16 237, i16 0, i16 0, i16 0, i16 12781, i16 0, i16 0, i16 0, i16 15597, i16 0, i16 0, i16 0, i16 15342, i16 0, i16 0, i16 0, i16 14063, i16 0, i16 0, i16 0, i16 15087, i16 0, i16 0, i16 0, i16 15344, i16 0, i16 0, i16 0, i16 13809, i16 0, i16 0, i16 0, i16 17138, i16 0, i16 0, i16 0, i16 15091, i16 0, i16 0, i16 0, i16 16627, i16 0, i16 0, i16 0, i16 12788, i16 0, i16 0, i16 0, i16 14580, i16 0, i16 0, i16 0, i16 15348, i16 0, i16 0, i16 0, i16 16628, i16 0, i16 0, i16 0, i16 13813, i16 0, i16 0, i16 0, i16 13302, i16 0, i16 0, i16 0, i16 14326, i16 0, i16 0, i16 0, i16 15094, i16 0, i16 0, i16 0, i16 15863, i16 0, i16 0, i16 0, i16 16375, i16 0, i16 0, i16 0, i16 15353, i16 0, i16 0, i16 0, i16 15609, i16 0, i16 0, i16 0, i16 14586, i16 0, i16 0, i16 0, i16 15354, i16 0, i16 0, i16 0, i16 15355, i16 0, i16 0, i16 0, i16 15867, i16 0, i16 0, i16 0, i16 15100, i16 0, i16 0, i16 0, i16 12285, i16 0, i16 0, i16 0, i16 13053, i16 0, i16 0, i16 0, i16 14333, i16 0, i16 0, i16 0, i16 12542, i16 0, i16 0, i16 0, i16 12798, i16 0, i16 0, i16 0, i16 13310, i16 0, i16 0, i16 0, i16 14846, i16 0, i16 0, i16 0, i16 15103, i16 0, i16 0, i16 256, i16 0, i16 0, i16 0, i16 14080, i16 0, i16 0, i16 0, i16 13313, i16 17049, i16 0, i16 0, i16 12546, i16 0, i16 0, i16 0, i16 14082, i16 0, i16 0, i16 0, i16 15618, i16 0, i16 0, i16 0, i16 12547, i16 0, i16 0, i16 0, i16 16899, i16 0, i16 0, i16 0, i16 14852, i16 17003, i16 0, i16 0, i16 16388, i16 0, i16 0, i16 0, i16 16644, i16 0, i16 0, i16 0, i16 13573, i16 0, i16 0, i16 0, i16 14085, i16 0, i16 0, i16 0, i16 15109, i16 0, i16 0, i16 0, i16 13318, i16 0, i16 0, i16 0, i16 15366, i16 0, i16 0, i16 0, i16 15622, i16 0, i16 0, i16 0, i16 16390, i16 14495, i16 0, i16 0, i16 16902, i16 13005, i16 0, i16 0, i16 12295, i16 12296, i16 0, i16 0, i16 14343, i16 13546, i16 0, i16 0, i16 16647, i16 0, i16 0, i16 0, i16 14344, i16 0, i16 0, i16 0, i16 15880, i16 15683, i16 0, i16 0, i16 265, i16 264, i16 0, i16 0, i16 12553, i16 14944, i16 0, i16 0, i16 13833, i16 0, i16 0, i16 0, i16 14857, i16 0, i16 0, i16 0, i16 15881, i16 0, i16 0, i16 0, i16 16137, i16 0, i16 0, i16 0, i16 16649, i16 0, i16 0, i16 0, i16 17162, i16 0, i16 0, i16 0, i16 12555, i16 16345, i16 0, i16 0, i16 13067, i16 0, i16 0, i16 0, i16 15115, i16 0, i16 0, i16 0, i16 12300, i16 0, i16 0, i16 0, i16 14348, i16 0, i16 0, i16 0, i16 15628, i16 14483, i16 0, i16 0, i16 16140, i16 0, i16 0, i16 0, i16 12557, i16 0, i16 0, i16 0, i16 14349, i16 0, i16 0, i16 0, i16 14605, i16 15757, i16 0, i16 0, i16 15629, i16 0, i16 0, i16 0, i16 15885, i16 0, i16 0, i16 0, i16 782, i16 0, i16 0, i16 0, i16 13582, i16 13021, i16 0, i16 0, i16 14094, i16 0, i16 0, i16 0, i16 14862, i16 0, i16 0, i16 0, i16 16398, i16 14978, i16 0, i16 0, i16 14352, i16 0, i16 0, i16 0, i16 15376, i16 0, i16 0, i16 0, i16 15121, i16 0, i16 0, i16 0, i16 16657, i16 0, i16 0, i16 0, i16 17169, i16 0, i16 0, i16 0, i16 16658, i16 0, i16 0, i16 0, i16 12819, i16 15198, i16 0, i16 0, i16 13331, i16 0, i16 0, i16 0, i16 13588, i16 15915, i16 0, i16 0, i16 16148, i16 0, i16 0, i16 0, i16 13589, i16 14715, i16 0, i16 0, i16 15125, i16 0, i16 0, i16 0, i16 16661, i16 0, i16 0, i16 0, i16 12310, i16 0, i16 0, i16 0, i16 12566, i16 15116, i16 0, i16 0, i16 13334, i16 0, i16 0, i16 0, i16 14102, i16 15783, i16 0, i16 0, i16 13335, i16 0, i16 0, i16 0, i16 16152, i16 0, i16 0, i16 0, i16 12569, i16 0, i16 0, i16 0, i16 282, i16 0, i16 0, i16 0, i16 794, i16 0, i16 0, i16 0, i16 13338, i16 0, i16 0, i16 0, i16 15386, i16 15387, i16 0, i16 0, i16 15643, i16 16909, i16 0, i16 0, i16 16155, i16 14782, i16 0, i16 0, i16 16667, i16 0, i16 0, i16 0, i16 12828, i16 0, i16 0, i16 0, i16 15644, i16 0, i16 0, i16 0, i16 12829, i16 0, i16 0, i16 0, i16 13597, i16 0, i16 0, i16 0, i16 15133, i16 0, i16 0, i16 0, i16 16413, i16 0, i16 0, i16 0, i16 16669, i16 0, i16 0, i16 0, i16 14110, i16 0, i16 0, i16 0, i16 15902, i16 0, i16 0, i16 0, i16 16158, i16 0, i16 0, i16 0, i16 16670, i16 0, i16 0, i16 0, i16 12320, i16 0, i16 0, i16 0, i16 13344, i16 0, i16 0, i16 0, i16 14624, i16 13170, i16 0, i16 0, i16 15392, i16 0, i16 0, i16 0, i16 16672, i16 12786, i16 0, i16 0, i16 12321, i16 0, i16 0, i16 0, i16 13601, i16 0, i16 0, i16 0, i16 14881, i16 17167, i16 0, i16 0, i16 15649, i16 16630, i16 0, i16 0, i16 15905, i16 16062, i16 0, i16 0, i16 16929, i16 0, i16 0, i16 0, i16 14114, i16 0, i16 0, i16 0, i16 14882, i16 0, i16 0, i16 0, i16 15906, i16 12444, i16 0, i16 0, i16 16674, i16 0, i16 0, i16 0, i16 16163, i16 0, i16 0, i16 0, i16 13860, i16 13824, i16 0, i16 0, i16 14116, i16 15911, i16 0, i16 0, i16 14884, i16 0, i16 0, i16 0, i16 12325, i16 0, i16 0, i16 0, i16 12837, i16 0, i16 0, i16 0, i16 16678, i16 0, i16 0, i16 0, i16 12327, i16 0, i16 0, i16 0, i16 14887, i16 0, i16 0, i16 0, i16 16423, i16 0, i16 0, i16 0, i16 12328, i16 16639, i16 0, i16 0, i16 16425, i16 0, i16 0, i16 0, i16 13610, i16 16180, i16 0, i16 0, i16 14890, i16 0, i16 0, i16 0, i16 16170, i16 0, i16 0, i16 0, i16 15403, i16 0, i16 0, i16 0, i16 16171, i16 0, i16 0, i16 0, i16 12332, i16 0, i16 0, i16 0, i16 15404, i16 15291, i16 0, i16 0, i16 14125, i16 0, i16 0, i16 0, i16 14893, i16 15274, i16 0, i16 0, i16 16685, i16 0, i16 0, i16 0, i16 16941, i16 0, i16 0, i16 0, i16 14382, i16 0, i16 0, i16 0, i16 14638, i16 12998, i16 0, i16 0, i16 16174, i16 0, i16 0, i16 0, i16 12591, i16 0, i16 0, i16 0, i16 14639, i16 0, i16 0, i16 0, i16 13360, i16 0, i16 0, i16 0, i16 14384, i16 0, i16 0, i16 0, i16 14640, i16 0, i16 0, i16 0, i16 13361, i16 0, i16 0, i16 0, i16 14641, i16 0, i16 0, i16 0, i16 15409, i16 0, i16 0, i16 0, i16 16433, i16 0, i16 0, i16 0, i16 14642, i16 0, i16 0, i16 0, i16 14898, i16 13976, i16 0, i16 0, i16 15154, i16 0, i16 0, i16 0, i16 12851, i16 15968, i16 0, i16 0, i16 13619, i16 0, i16 0, i16 0, i16 16947, i16 0, i16 0, i16 0, i16 15156, i16 0, i16 0, i16 0, i16 13365, i16 0, i16 0, i16 0, i16 13621, i16 12675, i16 0, i16 0, i16 12598, i16 15066, i16 0, i16 0, i16 12343, i16 13378, i16 0, i16 0, i16 14135, i16 0, i16 0, i16 0, i16 14391, i16 0, i16 0, i16 0, i16 16951, i16 15075, i16 0, i16 0, i16 12856, i16 0, i16 0, i16 0, i16 15160, i16 13821, i16 0, i16 0, i16 14905, i16 0, i16 0, i16 0, i16 12858, i16 0, i16 0, i16 0, i16 13370, i16 0, i16 0, i16 0, i16 14138, i16 0, i16 0, i16 0, i16 14907, i16 0, i16 0, i16 0, i16 13628, i16 0, i16 0, i16 0, i16 13884, i16 0, i16 0, i16 0, i16 16956, i16 0, i16 0, i16 0, i16 13885, i16 0, i16 0, i16 0, i16 14141, i16 0, i16 0, i16 0, i16 14398, i16 0, i16 0, i16 0, i16 15166, i16 0, i16 0, i16 0, i16 16958, i16 0, i16 0, i16 0, i16 13375, i16 0, i16 0, i16 0, i16 13889, i16 0, i16 0, i16 0, i16 14913, i16 14137, i16 0, i16 0, i16 16193, i16 0, i16 0, i16 0, i16 16449, i16 0, i16 0, i16 0, i16 15938, i16 0, i16 0, i16 0, i16 12355, i16 0, i16 0, i16 0, i16 13379, i16 0, i16 0, i16 0, i16 14660, i16 16660, i16 0, i16 0, i16 15684, i16 0, i16 0, i16 0, i16 12613, i16 16161, i16 0, i16 0, i16 12869, i16 0, i16 0, i16 0, i16 16965, i16 0, i16 0, i16 0, i16 13126, i16 0, i16 0, i16 0, i16 14406, i16 0, i16 0, i16 0, i16 12359, i16 0, i16 0, i16 0, i16 13895, i16 15817, i16 0, i16 0, i16 16711, i16 0, i16 0, i16 0, i16 13640, i16 0, i16 0, i16 0, i16 14920, i16 0, i16 0, i16 0, i16 15944, i16 0, i16 0, i16 0, i16 13385, i16 0, i16 0, i16 0, i16 13641, i16 0, i16 0, i16 0, i16 15945, i16 16859, i16 0, i16 0, i16 16457, i16 0, i16 0, i16 0, i16 12362, i16 0, i16 0, i16 0, i16 13130, i16 0, i16 0, i16 0, i16 14154, i16 0, i16 0, i16 0, i16 14666, i16 0, i16 0, i16 0, i16 16202, i16 0, i16 0, i16 0, i16 13131, i16 15689, i16 0, i16 0, i16 13387, i16 0, i16 0, i16 0, i16 14155, i16 0, i16 0, i16 0, i16 15179, i16 12896, i16 0, i16 0, i16 15691, i16 0, i16 0, i16 0, i16 12364, i16 14260, i16 0, i16 0, i16 13388, i16 13894, i16 0, i16 0, i16 13901, i16 0, i16 0, i16 0, i16 14669, i16 15472, i16 0, i16 0, i16 15949, i16 0, i16 0, i16 0, i16 13390, i16 16026, i16 0, i16 0, i16 14670, i16 0, i16 0, i16 0, i16 13135, i16 16906, i16 0, i16 0, i16 13391, i16 0, i16 0, i16 0, i16 16463, i16 0, i16 0, i16 0, i16 13392, i16 13404, i16 0, i16 0, i16 16720, i16 0, i16 0, i16 0, i16 13649, i16 0, i16 0, i16 0, i16 16209, i16 0, i16 0, i16 0, i16 14674, i16 0, i16 0, i16 0, i16 16722, i16 0, i16 0, i16 0, i16 14163, i16 0, i16 0, i16 0, i16 14675, i16 0, i16 0, i16 0, i16 15699, i16 0, i16 0, i16 0, i16 12628, i16 14648, i16 0, i16 0, i16 13396, i16 0, i16 0, i16 0, i16 15188, i16 0, i16 0, i16 0, i16 12886, i16 0, i16 0, i16 0, i16 13910, i16 0, i16 0, i16 0, i16 14422, i16 0, i16 0, i16 0, i16 15958, i16 12707, i16 0, i16 0, i16 16214, i16 0, i16 0, i16 0, i16 16470, i16 0, i16 0, i16 0, i16 12631, i16 13625, i16 0, i16 0, i16 13143, i16 0, i16 0, i16 0, i16 14423, i16 0, i16 0, i16 0, i16 13656, i16 0, i16 0, i16 0, i16 13912, i16 0, i16 0, i16 0, i16 14424, i16 0, i16 0, i16 0, i16 12633, i16 0, i16 0, i16 0, i16 13913, i16 0, i16 0, i16 0, i16 12890, i16 0, i16 0, i16 0, i16 13146, i16 0, i16 0, i16 0, i16 15962, i16 0, i16 0, i16 0, i16 13147, i16 0, i16 0, i16 0, i16 13659, i16 0, i16 0, i16 0, i16 13405, i16 0, i16 0, i16 0, i16 13150, i16 0, i16 0, i16 0, i16 13406, i16 0, i16 0, i16 0, i16 14686, i16 0, i16 0, i16 0, i16 12895, i16 12407, i16 0, i16 0, i16 15455, i16 0, i16 0, i16 0, i16 14176, i16 0, i16 0, i16 0, i16 14432, i16 0, i16 0, i16 0, i16 15200, i16 0, i16 0, i16 0, i16 16736, i16 0, i16 0, i16 0, i16 12897, i16 0, i16 0, i16 0, i16 13921, i16 0, i16 0, i16 0, i16 14689, i16 0, i16 0, i16 0, i16 13154, i16 0, i16 0, i16 0, i16 16994, i16 16995, i16 0, i16 0, i16 15971, i16 15754, i16 0, i16 0, i16 13156, i16 0, i16 0, i16 0, i16 14692, i16 0, i16 0, i16 0, i16 15460, i16 0, i16 0, i16 0, i16 16228, i16 0, i16 0, i16 0, i16 12389, i16 0, i16 0, i16 0, i16 13669, i16 0, i16 0, i16 0, i16 16486, i16 0, i16 0, i16 0, i16 13927, i16 12380, i16 0, i16 0, i16 14951, i16 15813, i16 0, i16 0, i16 15975, i16 0, i16 0, i16 0, i16 16487, i16 0, i16 0, i16 0, i16 12904, i16 12905, i16 0, i16 0, i16 13416, i16 14004, i16 0, i16 0, i16 15977, i16 0, i16 0, i16 0, i16 12394, i16 15982, i16 0, i16 0, i16 15978, i16 0, i16 0, i16 0, i16 13676, i16 0, i16 0, i16 0, i16 15212, i16 0, i16 0, i16 0, i16 14445, i16 0, i16 0, i16 0, i16 12654, i16 0, i16 0, i16 0, i16 13934, i16 0, i16 0, i16 0, i16 13679, i16 0, i16 0, i16 0, i16 14449, i16 0, i16 0, i16 0, i16 16241, i16 0, i16 0, i16 0, i16 13426, i16 16648, i16 0, i16 0, i16 12915, i16 0, i16 0, i16 0, i16 13427, i16 14180, i16 0, i16 0, i16 14451, i16 15717, i16 0, i16 0, i16 16243, i16 0, i16 0, i16 0, i16 14452, i16 0, i16 0, i16 0, i16 14708, i16 0, i16 0, i16 0, i16 12917, i16 0, i16 0, i16 0, i16 14966, i16 0, i16 0, i16 0, i16 13944, i16 0, i16 0, i16 0, i16 15992, i16 0, i16 0, i16 0, i16 16760, i16 0, i16 0, i16 0, i16 17016, i16 15317, i16 0, i16 0, i16 15225, i16 0, i16 0, i16 0, i16 12666, i16 0, i16 0, i16 0, i16 15738, i16 13848, i16 0, i16 0, i16 17018, i16 0, i16 0, i16 0, i16 13947, i16 0, i16 0, i16 0, i16 15996, i16 0, i16 0, i16 0, i16 13181, i16 0, i16 0, i16 0, i16 15229, i16 0, i16 0, i16 0, i16 13438, i16 13197, i16 0, i16 0, i16 15743, i16 0, i16 0, i16 0, i16 17023, i16 0, i16 0, i16 0, i16 13184, i16 0, i16 0, i16 0, i16 13440, i16 0, i16 0, i16 0, i16 13442, i16 0, i16 0, i16 0, i16 16515, i16 0, i16 0, i16 0, i16 12420, i16 0, i16 0, i16 0, i16 13189, i16 0, i16 0, i16 0, i16 13445, i16 13494, i16 0, i16 0, i16 15237, i16 0, i16 0, i16 0, i16 13958, i16 0, i16 0, i16 0, i16 16262, i16 0, i16 0, i16 0, i16 15239, i16 0, i16 0, i16 0, i16 13960, i16 0, i16 0, i16 0, i16 16776, i16 0, i16 0, i16 0, i16 17032, i16 0, i16 0, i16 0, i16 13193, i16 0, i16 0, i16 0, i16 13961, i16 0, i16 0, i16 0, i16 16010, i16 0, i16 0, i16 0, i16 13451, i16 0, i16 0, i16 0, i16 12428, i16 14380, i16 0, i16 0, i16 14732, i16 16704, i16 0, i16 0, i16 15244, i16 0, i16 0, i16 0, i16 16524, i16 15420, i16 0, i16 0, i16 16269, i16 0, i16 0, i16 0, i16 13198, i16 16103, i16 0, i16 0, i16 13710, i16 17081, i16 0, i16 0, i16 13711, i16 0, i16 0, i16 0, i16 14479, i16 14478, i16 0, i16 0, i16 16015, i16 13394, i16 0, i16 0, i16 16271, i16 0, i16 0, i16 0, i16 12688, i16 0, i16 0, i16 0, i16 16784, i16 0, i16 0, i16 0, i16 13201, i16 14579, i16 0, i16 0, i16 13713, i16 0, i16 0, i16 0, i16 14738, i16 0, i16 0, i16 0, i16 12947, i16 0, i16 0, i16 0, i16 13459, i16 14369, i16 0, i16 0, i16 15251, i16 14807, i16 0, i16 0, i16 14740, i16 0, i16 0, i16 0, i16 17044, i16 0, i16 0, i16 0, i16 14229, i16 0, i16 0, i16 0, i16 14741, i16 0, i16 0, i16 0, i16 13718, i16 0, i16 0, i16 0, i16 13974, i16 0, i16 0, i16 0, i16 14230, i16 0, i16 0, i16 0, i16 17046, i16 13544, i16 0, i16 0, i16 12439, i16 0, i16 0, i16 0, i16 16023, i16 0, i16 0, i16 0, i16 17047, i16 15588, i16 0, i16 0, i16 13464, i16 14488, i16 0, i16 0, i16 13209, i16 0, i16 0, i16 0, i16 15257, i16 13925, i16 0, i16 0, i16 16281, i16 0, i16 0, i16 0, i16 16794, i16 13906, i16 0, i16 0, i16 12955, i16 13571, i16 0, i16 0, i16 668, i16 0, i16 0, i16 0, i16 14748, i16 0, i16 0, i16 0, i16 15004, i16 0, i16 0, i16 0, i16 12701, i16 0, i16 0, i16 0, i16 15773, i16 14925, i16 0, i16 0, i16 16029, i16 0, i16 0, i16 0, i16 17053, i16 0, i16 0, i16 0, i16 12446, i16 0, i16 0, i16 0, i16 13982, i16 0, i16 0, i16 0, i16 14494, i16 0, i16 0, i16 0, i16 17054, i16 16165, i16 0, i16 0, i16 14239, i16 0, i16 0, i16 0, i16 15007, i16 0, i16 0, i16 0, i16 16031, i16 0, i16 0, i16 0, i16 13216, i16 15956, i16 0, i16 0, i16 12705, i16 0, i16 0, i16 0, i16 16289, i16 0, i16 0, i16 0, i16 674, i16 0, i16 0, i16 0, i16 15266, i16 0, i16 0, i16 0, i16 16290, i16 0, i16 0, i16 0, i16 16546, i16 0, i16 0, i16 0, i16 16802, i16 0, i16 0, i16 0, i16 12451, i16 0, i16 0, i16 0, i16 15523, i16 0, i16 0, i16 0, i16 16291, i16 0, i16 0, i16 0, i16 12452, i16 12408, i16 0, i16 0, i16 12708, i16 0, i16 0, i16 0, i16 12964, i16 0, i16 0, i16 0, i16 14244, i16 0, i16 0, i16 0, i16 16292, i16 0, i16 0, i16 0, i16 15269, i16 0, i16 0, i16 0, i16 16037, i16 0, i16 0, i16 0, i16 16549, i16 0, i16 0, i16 0, i16 12710, i16 15019, i16 0, i16 0, i16 15782, i16 0, i16 0, i16 0, i16 16294, i16 0, i16 0, i16 0, i16 12455, i16 17045, i16 0, i16 0, i16 12711, i16 13480, i16 0, i16 0, i16 13479, i16 0, i16 0, i16 0, i16 13991, i16 0, i16 0, i16 0, i16 14503, i16 0, i16 0, i16 0, i16 15527, i16 0, i16 0, i16 0, i16 16295, i16 16721, i16 0, i16 0, i16 12456, i16 0, i16 0, i16 0, i16 13224, i16 12838, i16 0, i16 0, i16 15784, i16 0, i16 0, i16 0, i16 13737, i16 0, i16 0, i16 0, i16 13738, i16 0, i16 0, i16 0, i16 13739, i16 0, i16 0, i16 0, i16 13995, i16 14438, i16 0, i16 0, i16 14763, i16 0, i16 0, i16 0, i16 16299, i16 13632, i16 0, i16 0, i16 13996, i16 14799, i16 0, i16 0, i16 15788, i16 13599, i16 0, i16 0, i16 14253, i16 12873, i16 0, i16 0, i16 14765, i16 0, i16 0, i16 0, i16 17069, i16 0, i16 0, i16 0, i16 174, i16 0, i16 0, i16 0, i16 15790, i16 0, i16 0, i16 0, i16 13743, i16 0, i16 0, i16 0, i16 15279, i16 16077, i16 0, i16 0, i16 13744, i16 13482, i16 0, i16 0, i16 15792, i16 0, i16 0, i16 0, i16 16816, i16 0, i16 0, i16 0, i16 14513, i16 15755, i16 0, i16 0, i16 178, i16 0, i16 0, i16 0, i16 13490, i16 16151, i16 0, i16 0, i16 14514, i16 16601, i16 0, i16 0, i16 15026, i16 0, i16 0, i16 0, i16 15538, i16 16535, i16 0, i16 0, i16 16562, i16 0, i16 0, i16 0, i16 16818, i16 0, i16 0, i16 0, i16 691, i16 0, i16 0, i16 0, i16 14515, i16 0, i16 0, i16 0, i16 16307, i16 0, i16 0, i16 0, i16 12980, i16 12981, i16 0, i16 0, i16 13492, i16 0, i16 0, i16 0, i16 15028, i16 0, i16 0, i16 0, i16 15284, i16 14607, i16 0, i16 0, i16 15285, i16 0, i16 0, i16 0, i16 694, i16 785, i16 0, i16 0, i16 12470, i16 15646, i16 0, i16 0, i16 15798, i16 0, i16 0, i16 0, i16 12983, i16 13478, i16 0, i16 0, i16 13495, i16 0, i16 0, i16 0, i16 12728, i16 16993, i16 0, i16 0, i16 12984, i16 14160, i16 0, i16 0, i16 13496, i16 0, i16 0, i16 0, i16 185, i16 184, i16 0, i16 0, i16 12985, i16 0, i16 0, i16 0, i16 15033, i16 0, i16 0, i16 0, i16 13498, i16 0, i16 0, i16 0, i16 16314, i16 16812, i16 0, i16 0, i16 187, i16 186, i16 0, i16 0, i16 699, i16 792, i16 0, i16 0, i16 14011, i16 12526, i16 0, i16 0, i16 16315, i16 0, i16 0, i16 0, i16 16571, i16 0, i16 0, i16 0, i16 13500, i16 0, i16 0, i16 0, i16 701, i16 793, i16 0, i16 0, i16 12733, i16 0, i16 0, i16 0, i16 13501, i16 0, i16 0, i16 0, i16 702, i16 795, i16 0, i16 0, i16 13246, i16 15414, i16 0, i16 0, i16 14014, i16 0, i16 0, i16 0, i16 191, i16 190, i16 0, i16 0, i16 12735, i16 0, i16 0, i16 0, i16 12991, i16 0, i16 0, i16 0, i16 13503, i16 0, i16 0, i16 0, i16 14271, i16 0, i16 0, i16 0, i16 14527, i16 14060, i16 0, i16 0, i16 12480, i16 0, i16 0, i16 0, i16 13249, i16 0, i16 0, i16 0, i16 15553, i16 14199, i16 0, i16 0, i16 16065, i16 0, i16 0, i16 0, i16 12738, i16 0, i16 0, i16 0, i16 14530, i16 14206, i16 0, i16 0, i16 14786, i16 0, i16 0, i16 0, i16 12995, i16 0, i16 0, i16 0, i16 14531, i16 0, i16 0, i16 0, i16 16579, i16 0, i16 0, i16 0, i16 15556, i16 0, i16 0, i16 0, i16 16836, i16 0, i16 0, i16 0, i16 14277, i16 0, i16 0, i16 0, i16 16325, i16 0, i16 0, i16 0, i16 16837, i16 0, i16 0, i16 0, i16 12742, i16 0, i16 0, i16 0, i16 16839, i16 0, i16 0, i16 0, i16 200, i16 201, i16 0, i16 0, i16 15304, i16 15303, i16 0, i16 0, i16 15816, i16 14955, i16 0, i16 0, i16 16328, i16 0, i16 0, i16 0, i16 16584, i16 0, i16 0, i16 0, i16 16073, i16 0, i16 0, i16 0, i16 16329, i16 0, i16 0, i16 0, i16 17097, i16 0, i16 0, i16 0, i16 202, i16 0, i16 0, i16 0, i16 13258, i16 0, i16 0, i16 0, i16 14794, i16 0, i16 0, i16 0, i16 15050, i16 0, i16 0, i16 0, i16 15562, i16 0, i16 0, i16 0, i16 16074, i16 0, i16 0, i16 0, i16 13260, i16 0, i16 0, i16 0, i16 13772, i16 15199, i16 0, i16 0, i16 16332, i16 0, i16 0, i16 0, i16 16588, i16 0, i16 0, i16 0, i16 13517, i16 0, i16 0, i16 0, i16 13262, i16 0, i16 0, i16 0, i16 15822, i16 0, i16 0, i16 0, i16 14543, i16 12589, i16 0, i16 0, i16 16335, i16 0, i16 0, i16 0, i16 12752, i16 13794, i16 0, i16 0, i16 13264, i16 0, i16 0, i16 0, i16 15057, i16 13046, i16 0, i16 0, i16 16849, i16 16921, i16 0, i16 0, i16 210, i16 211, i16 0, i16 0, i16 13522, i16 0, i16 0, i16 0, i16 14802, i16 0, i16 0, i16 0, i16 15314, i16 13029, i16 0, i16 0, i16 12499, i16 0, i16 0, i16 0, i16 13011, i16 0, i16 0, i16 0, i16 14035, i16 16620, i16 0, i16 0, i16 212, i16 213, i16 0, i16 0, i16 16084, i16 0, i16 0, i16 0, i16 16340, i16 0, i16 0, i16 0, i16 16342, i16 0, i16 0, i16 0, i16 13783, i16 0, i16 0, i16 0, i16 13016, i16 14788, i16 0, i16 0, i16 14808, i16 0, i16 0, i16 0, i16 15064, i16 0, i16 0, i16 0, i16 14041, i16 14269, i16 0, i16 0, i16 14297, i16 0, i16 0, i16 0, i16 15065, i16 0, i16 0, i16 0, i16 15833, i16 0, i16 0, i16 0, i16 13018, i16 0, i16 0, i16 0, i16 219, i16 0, i16 0, i16 0, i16 13787, i16 0, i16 0, i16 0, i16 14299, i16 0, i16 0, i16 0, i16 14811, i16 0, i16 0, i16 0, i16 15324, i16 16112, i16 0, i16 0, i16 13277, i16 0, i16 0, i16 0, i16 16605, i16 0, i16 0, i16 0, i16 13534, i16 0, i16 0, i16 0, i16 13790, i16 0, i16 0, i16 0, i16 15070, i16 0, i16 0, i16 0, i16 13791, i16 0, i16 0, i16 0, i16 14559, i16 0, i16 0, i16 0, i16 16607, i16 0, i16 0, i16 0, i16 16863, i16 14628, i16 0, i16 0, i16 17119, i16 0, i16 0, i16 0, i16 13024, i16 13060, i16 0, i16 0, i16 13536, i16 0, i16 0, i16 0, i16 14048, i16 0, i16 0, i16 0, i16 14816, i16 0, i16 0, i16 0, i16 15328, i16 0, i16 0, i16 0, i16 16352, i16 16046, i16 0, i16 0, i16 12513, i16 0, i16 0, i16 0, i16 14817, i16 0, i16 0, i16 0, i16 15329, i16 0, i16 0, i16 0, i16 15841, i16 0, i16 0, i16 0, i16 17121, i16 0, i16 0, i16 0, i16 13538, i16 0, i16 0, i16 0, i16 14050, i16 0, i16 0, i16 0, i16 15842, i16 14561, i16 0, i16 0, i16 16098, i16 0, i16 0, i16 0, i16 14564, i16 0, i16 0, i16 0, i16 15332, i16 0, i16 0, i16 0, i16 15845, i16 12345, i16 0, i16 0, i16 13798, i16 15306, i16 0, i16 0, i16 17126, i16 12973, i16 0, i16 0, i16 12520, i16 0, i16 0, i16 0, i16 14056, i16 0, i16 0, i16 0, i16 14568, i16 0, i16 0, i16 0, i16 14824, i16 0, i16 0, i16 0, i16 17129, i16 0, i16 0, i16 0, i16 12522, i16 12391, i16 0, i16 0, i16 13802, i16 0, i16 0, i16 0, i16 14570, i16 16105, i16 0, i16 0, i16 16106, i16 15989, i16 0, i16 0, i16 14827, i16 13366, i16 0, i16 0, i16 16875, i16 0, i16 0, i16 0, i16 15084, i16 15744, i16 0, i16 0, i16 13293, i16 0, i16 0, i16 0, i16 13549, i16 0, i16 0, i16 0, i16 14317, i16 0, i16 0, i16 0, i16 15853, i16 16114, i16 0, i16 0, i16 15854, i16 0, i16 0, i16 0, i16 13039, i16 0, i16 0, i16 0, i16 14064, i16 0, i16 0, i16 0, i16 14832, i16 17077, i16 0, i16 0, i16 15088, i16 0, i16 0, i16 0, i16 13553, i16 0, i16 0, i16 0, i16 14577, i16 0, i16 0, i16 0, i16 14833, i16 0, i16 0, i16 0, i16 15857, i16 0, i16 0, i16 0, i16 15090, i16 15635, i16 0, i16 0, i16 15346, i16 0, i16 0, i16 0, i16 15858, i16 14520, i16 0, i16 0, i16 16882, i16 0, i16 0, i16 0, i16 244, i16 243, i16 0, i16 0, i16 13812, i16 0, i16 0, i16 0, i16 14068, i16 0, i16 0, i16 0, i16 14325, i16 0, i16 0, i16 0, i16 17141, i16 16512, i16 0, i16 0, i16 13558, i16 0, i16 0, i16 0, i16 16374, i16 15645, i16 0, i16 0, i16 12535, i16 0, i16 0, i16 0, i16 16120, i16 0, i16 0, i16 0, i16 16376, i16 0, i16 0, i16 0, i16 17144, i16 16840, i16 0, i16 0, i16 14585, i16 0, i16 0, i16 0, i16 15097, i16 16614, i16 0, i16 0, i16 16121, i16 0, i16 0, i16 0, i16 16889, i16 0, i16 0, i16 0, i16 12794, i16 14493, i16 0, i16 0, i16 13562, i16 0, i16 0, i16 0, i16 14074, i16 0, i16 0, i16 0, i16 14587, i16 0, i16 0, i16 0, i16 12540, i16 0, i16 0, i16 0, i16 16124, i16 16211, i16 0, i16 0, i16 13565, i16 16820, i16 0, i16 0, i16 15101, i16 0, i16 0, i16 0, i16 15357, i16 0, i16 0, i16 0, i16 16638, i16 0, i16 0, i16 0, i16 13055, i16 0, i16 0, i16 0, i16 15871, i16 0, i16 0, i16 0, i16 16127, i16 0, i16 0, i16 0, i16 16383, i16 0, i16 0, i16 0, i16 16895, i16 0, i16 0, i16 14336, i16 0, i16 0, i16 0, i16 15872, i16 0, i16 0, i16 0, i16 16896, i16 12854, i16 0, i16 0, i16 12289, i16 0, i16 0, i16 0, i16 13057, i16 0, i16 0, i16 0, i16 14593, i16 0, i16 0, i16 0, i16 15361, i16 14291, i16 12990, i16 0, i16 16129, i16 0, i16 0, i16 0, i16 2, i16 3, i16 0, i16 0, i16 12290, i16 0, i16 0, i16 0, i16 13826, i16 14262, i16 0, i16 0, i16 15106, i16 0, i16 0, i16 0, i16 17154, i16 0, i16 0, i16 0, i16 12291, i16 0, i16 0, i16 0, i16 13315, i16 0, i16 0, i16 0, i16 14339, i16 12729, i16 13820, i16 0, i16 14851, i16 0, i16 0, i16 0, i16 15875, i16 0, i16 0, i16 0, i16 4, i16 5, i16 6, i16 0, i16 12292, i16 14533, i16 0, i16 0, i16 13316, i16 0, i16 0, i16 0, i16 16900, i16 12787, i16 15477, i16 0, i16 17156, i16 0, i16 14379, i16 0, i16 14341, i16 0, i16 0, i16 0, i16 14597, i16 0, i16 0, i16 0, i16 12550, i16 0, i16 0, i16 0, i16 15878, i16 0, i16 0, i16 0, i16 13575, i16 0, i16 0, i16 0, i16 14087, i16 13298, i16 0, i16 0, i16 14599, i16 0, i16 0, i16 0, i16 16135, i16 13144, i16 0, i16 0, i16 16391, i16 0, i16 0, i16 0, i16 520, i16 521, i16 522, i16 0, i16 13832, i16 0, i16 0, i16 0, i16 14088, i16 14747, i16 13614, i16 0, i16 14600, i16 14465, i16 0, i16 0, i16 16392, i16 0, i16 0, i16 0, i16 12809, i16 0, i16 0, i16 0, i16 13577, i16 15658, i16 0, i16 0, i16 13066, i16 0, i16 0, i16 0, i16 15114, i16 0, i16 15163, i16 0, i16 16650, i16 0, i16 15347, i16 0, i16 12811, i16 0, i16 0, i16 0, i16 13579, i16 0, i16 0, i16 0, i16 16139, i16 0, i16 13204, i16 0, i16 16651, i16 0, i16 12426, i16 0, i16 17163, i16 0, i16 0, i16 0, i16 14860, i16 0, i16 0, i16 0, i16 15884, i16 13063, i16 12474, i16 0, i16 17164, i16 17165, i16 0, i16 0, i16 13325, i16 16860, i16 0, i16 0, i16 16397, i16 0, i16 0, i16 0, i16 13326, i16 0, i16 0, i16 0, i16 16654, i16 0, i16 0, i16 0, i16 16910, i16 0, i16 0, i16 0, i16 783, i16 0, i16 0, i16 0, i16 13071, i16 16937, i16 15040, i16 0, i16 13583, i16 0, i16 0, i16 0, i16 14863, i16 0, i16 0, i16 0, i16 15119, i16 0, i16 16996, i16 0, i16 16655, i16 0, i16 16656, i16 0, i16 13584, i16 0, i16 15449, i16 0, i16 14608, i16 14546, i16 0, i16 0, i16 15120, i16 0, i16 0, i16 0, i16 16400, i16 0, i16 0, i16 0, i16 13329, i16 0, i16 0, i16 0, i16 14609, i16 17131, i16 0, i16 0, i16 15889, i16 12524, i16 0, i16 0, i16 786, i16 695, i16 787, i16 0, i16 12818, i16 12650, i16 0, i16 0, i16 13843, i16 0, i16 15910, i16 0, i16 14099, i16 0, i16 0, i16 0, i16 15123, i16 0, i16 13134, i16 0, i16 15891, i16 14665, i16 17026, i16 0, i16 14356, i16 13443, i16 14504, i16 0, i16 15124, i16 0, i16 0, i16 0, i16 16404, i16 0, i16 13658, i16 0, i16 16917, i16 0, i16 0, i16 0, i16 14358, i16 13399, i16 0, i16 0, i16 15126, i16 0, i16 0, i16 0, i16 15894, i16 12941, i16 12942, i16 0, i16 12311, i16 0, i16 0, i16 0, i16 14103, i16 0, i16 16763, i16 0, i16 15895, i16 0, i16 17074, i16 0, i16 16663, i16 0, i16 0, i16 0, i16 16919, i16 0, i16 0, i16 0, i16 15128, i16 0, i16 0, i16 0, i16 16664, i16 0, i16 0, i16 0, i16 16920, i16 0, i16 13816, i16 0, i16 13337, i16 0, i16 0, i16 0, i16 13849, i16 0, i16 15779, i16 0, i16 14873, i16 0, i16 0, i16 0, i16 15129, i16 0, i16 0, i16 0, i16 15641, i16 0, i16 0, i16 0, i16 15897, i16 0, i16 12885, i16 0, i16 13850, i16 0, i16 0, i16 0, i16 14362, i16 0, i16 0, i16 0, i16 16666, i16 16590, i16 15456, i16 0, i16 1051, i16 0, i16 0, i16 0, i16 16668, i16 16710, i16 12369, i16 0, i16 797, i16 703, i16 796, i16 0, i16 13853, i16 0, i16 0, i16 0, i16 15901, i16 16166, i16 14550, i16 0, i16 16157, i16 0, i16 0, i16 0, i16 13342, i16 16181, i16 12441, i16 0, i16 15134, i16 15135, i16 0, i16 0, i16 16414, i16 0, i16 0, i16 0, i16 287, i16 284, i16 0, i16 0, i16 14879, i16 16693, i16 0, i16 0, i16 16927, i16 13356, i16 0, i16 0, i16 288, i16 289, i16 290, i16 0, i16 12832, i16 16729, i16 0, i16 0, i16 15136, i16 0, i16 15657, i16 0, i16 15137, i16 0, i16 15988, i16 0, i16 16417, i16 0, i16 0, i16 0, i16 16673, i16 0, i16 13283, i16 0, i16 13602, i16 0, i16 0, i16 0, i16 14115, i16 0, i16 0, i16 0, i16 14371, i16 0, i16 0, i16 0, i16 16675, i16 0, i16 0, i16 0, i16 12580, i16 16042, i16 12849, i16 0, i16 13348, i16 14712, i16 15662, i16 0, i16 15140, i16 0, i16 0, i16 0, i16 15909, i16 0, i16 0, i16 0, i16 16933, i16 0, i16 13345, i16 0, i16 12582, i16 0, i16 13797, i16 0, i16 13350, i16 0, i16 0, i16 0, i16 13862, i16 0, i16 0, i16 0, i16 16934, i16 0, i16 0, i16 0, i16 15143, i16 16324, i16 0, i16 0, i16 12840, i16 15772, i16 0, i16 0, i16 14888, i16 14337, i16 0, i16 0, i16 16424, i16 0, i16 0, i16 0, i16 16680, i16 0, i16 0, i16 0, i16 16936, i16 12953, i16 0, i16 0, i16 14633, i16 0, i16 0, i16 0, i16 14889, i16 12899, i16 0, i16 0, i16 15401, i16 15603, i16 0, i16 0, i16 15146, i16 0, i16 0, i16 0, i16 13611, i16 0, i16 0, i16 0, i16 16684, i16 0, i16 0, i16 0, i16 14637, i16 0, i16 0, i16 0, i16 16429, i16 0, i16 0, i16 0, i16 12590, i16 0, i16 0, i16 0, i16 13358, i16 13570, i16 14553, i16 0, i16 14126, i16 0, i16 0, i16 0, i16 14894, i16 0, i16 0, i16 0, i16 15407, i16 15848, i16 16384, i16 0, i16 15919, i16 0, i16 0, i16 0, i16 16431, i16 0, i16 16343, i16 0, i16 16687, i16 0, i16 0, i16 0, i16 16943, i16 0, i16 0, i16 0, i16 15408, i16 0, i16 14373, i16 0, i16 15920, i16 0, i16 0, i16 0, i16 16176, i16 0, i16 16162, i16 0, i16 16688, i16 0, i16 16319, i16 0, i16 13617, i16 0, i16 0, i16 0, i16 14385, i16 0, i16 0, i16 0, i16 12338, i16 0, i16 0, i16 0, i16 12594, i16 0, i16 13859, i16 0, i16 12850, i16 0, i16 0, i16 0, i16 13618, i16 0, i16 0, i16 0, i16 14386, i16 0, i16 12777, i16 0, i16 15922, i16 16156, i16 13300, i16 0, i16 13363, i16 12934, i16 0, i16 0, i16 15668, i16 0, i16 0, i16 0, i16 16692, i16 0, i16 0, i16 0, i16 12341, i16 0, i16 0, i16 0, i16 14645, i16 13454, i16 13712, i16 0, i16 15925, i16 14582, i16 0, i16 0, i16 12342, i16 0, i16 0, i16 0, i16 13110, i16 0, i16 0, i16 0, i16 13622, i16 16877, i16 0, i16 0, i16 14134, i16 16977, i16 14101, i16 0, i16 15926, i16 0, i16 14100, i16 0, i16 12855, i16 0, i16 0, i16 0, i16 13111, i16 0, i16 0, i16 0, i16 15415, i16 0, i16 13550, i16 0, i16 12344, i16 14324, i16 0, i16 0, i16 13368, i16 17123, i16 0, i16 0, i16 13880, i16 0, i16 0, i16 0, i16 14136, i16 15933, i16 16499, i16 0, i16 15672, i16 0, i16 0, i16 0, i16 16184, i16 0, i16 0, i16 0, i16 14649, i16 17057, i16 12572, i16 0, i16 15161, i16 0, i16 13899, i16 0, i16 16697, i16 14679, i16 0, i16 0, i16 12602, i16 16064, i16 0, i16 0, i16 14650, i16 0, i16 0, i16 0, i16 14906, i16 15697, i16 14606, i16 0, i16 16186, i16 0, i16 0, i16 0, i16 16954, i16 0, i16 12615, i16 0, i16 12859, i16 0, i16 0, i16 0, i16 13883, i16 0, i16 0, i16 0, i16 16443, i16 0, i16 0, i16 0, i16 16955, i16 0, i16 0, i16 0, i16 1084, i16 0, i16 0, i16 0, i16 13372, i16 0, i16 15883, i16 0, i16 14652, i16 0, i16 15961, i16 0, i16 12605, i16 16723, i16 0, i16 0, i16 13373, i16 0, i16 0, i16 0, i16 14397, i16 0, i16 0, i16 0, i16 14653, i16 0, i16 0, i16 0, i16 14909, i16 15552, i16 14122, i16 0, i16 12862, i16 0, i16 0, i16 0, i16 13374, i16 0, i16 13511, i16 0, i16 12607, i16 0, i16 0, i16 0, i16 14143, i16 0, i16 0, i16 0, i16 15679, i16 0, i16 16861, i16 0, i16 16191, i16 0, i16 0, i16 0, i16 12352, i16 0, i16 13142, i16 0, i16 12608, i16 0, i16 0, i16 0, i16 13120, i16 0, i16 0, i16 0, i16 13376, i16 16172, i16 12431, i16 0, i16 13888, i16 0, i16 0, i16 0, i16 14400, i16 0, i16 0, i16 0, i16 15680, i16 13424, i16 0, i16 0, i16 13633, i16 0, i16 0, i16 0, i16 15170, i16 0, i16 0, i16 0, i16 15682, i16 0, i16 0, i16 0, i16 16194, i16 0, i16 12409, i16 0, i16 14403, i16 0, i16 15776, i16 0, i16 14659, i16 14658, i16 0, i16 0, i16 15171, i16 0, i16 0, i16 0, i16 16195, i16 0, i16 13887, i16 0, i16 13124, i16 0, i16 0, i16 0, i16 13636, i16 0, i16 0, i16 0, i16 14404, i16 0, i16 0, i16 0, i16 16196, i16 0, i16 0, i16 0, i16 16452, i16 0, i16 0, i16 0, i16 16964, i16 0, i16 14108, i16 0, i16 14661, i16 0, i16 12817, i16 0, i16 14917, i16 16969, i16 12392, i16 0, i16 15941, i16 0, i16 15896, i16 0, i16 16197, i16 0, i16 0, i16 0, i16 16454, i16 0, i16 0, i16 0, i16 13639, i16 0, i16 0, i16 0, i16 14919, i16 0, i16 0, i16 0, i16 15175, i16 0, i16 14644, i16 0, i16 15687, i16 0, i16 16380, i16 0, i16 13384, i16 0, i16 0, i16 0, i16 13896, i16 0, i16 0, i16 0, i16 14408, i16 0, i16 0, i16 0, i16 13897, i16 0, i16 0, i16 0, i16 12618, i16 17068, i16 0, i16 0, i16 13642, i16 16781, i16 0, i16 0, i16 13898, i16 16924, i16 0, i16 0, i16 15178, i16 14797, i16 0, i16 0, i16 12363, i16 0, i16 0, i16 0, i16 14411, i16 16971, i16 0, i16 0, i16 14923, i16 0, i16 15843, i16 0, i16 15947, i16 0, i16 0, i16 0, i16 16459, i16 0, i16 0, i16 0, i16 16715, i16 0, i16 0, i16 0, i16 14156, i16 0, i16 0, i16 0, i16 12877, i16 0, i16 16806, i16 0, i16 13389, i16 0, i16 0, i16 0, i16 14157, i16 0, i16 0, i16 0, i16 16461, i16 0, i16 16018, i16 0, i16 16717, i16 0, i16 0, i16 0, i16 13902, i16 0, i16 0, i16 0, i16 14926, i16 0, i16 12720, i16 0, i16 15694, i16 0, i16 15793, i16 0, i16 15950, i16 0, i16 0, i16 0, i16 16974, i16 0, i16 0, i16 0, i16 12879, i16 0, i16 0, i16 0, i16 14671, i16 0, i16 0, i16 0, i16 15439, i16 0, i16 0, i16 0, i16 15695, i16 0, i16 0, i16 0, i16 14416, i16 0, i16 0, i16 0, i16 15696, i16 0, i16 16589, i16 0, i16 14673, i16 0, i16 0, i16 0, i16 16465, i16 0, i16 15220, i16 0, i16 14162, i16 0, i16 0, i16 0, i16 16466, i16 15454, i16 13875, i16 0, i16 12627, i16 0, i16 0, i16 0, i16 13139, i16 0, i16 15444, i16 0, i16 13395, i16 0, i16 0, i16 0, i16 13651, i16 0, i16 0, i16 0, i16 16979, i16 0, i16 0, i16 0, i16 13140, i16 0, i16 0, i16 0, i16 13908, i16 0, i16 0, i16 0, i16 14420, i16 0, i16 0, i16 0, i16 14676, i16 0, i16 0, i16 0, i16 16212, i16 0, i16 0, i16 0, i16 16724, i16 0, i16 0, i16 0, i16 13141, i16 15167, i16 12734, i16 0, i16 13653, i16 0, i16 0, i16 0, i16 14421, i16 0, i16 12527, i16 0, i16 14677, i16 0, i16 0, i16 0, i16 15701, i16 0, i16 0, i16 0, i16 16213, i16 0, i16 0, i16 0, i16 12374, i16 12375, i16 0, i16 0, i16 12630, i16 0, i16 0, i16 0, i16 14678, i16 0, i16 0, i16 0, i16 16982, i16 13183, i16 0, i16 0, i16 13655, i16 0, i16 16233, i16 0, i16 14935, i16 0, i16 0, i16 0, i16 15447, i16 0, i16 0, i16 0, i16 16471, i16 13382, i16 0, i16 0, i16 16983, i16 15838, i16 14030, i16 0, i16 12376, i16 0, i16 0, i16 0, i16 14168, i16 0, i16 0, i16 0, i16 16216, i16 0, i16 14287, i16 0, i16 16728, i16 0, i16 0, i16 0, i16 89, i16 0, i16 0, i16 0, i16 14425, i16 0, i16 0, i16 0, i16 15705, i16 0, i16 0, i16 0, i16 16473, i16 0, i16 13593, i16 0, i16 16985, i16 0, i16 13907, i16 0, i16 90, i16 91, i16 92, i16 0, i16 12891, i16 0, i16 0, i16 0, i16 13915, i16 0, i16 0, i16 0, i16 14171, i16 0, i16 0, i16 0, i16 15707, i16 0, i16 0, i16 0, i16 12892, i16 0, i16 0, i16 0, i16 13660, i16 0, i16 0, i16 0, i16 14428, i16 0, i16 0, i16 0, i16 14940, i16 0, i16 0, i16 0, i16 16220, i16 16689, i16 15887, i16 0, i16 16988, i16 0, i16 0, i16 0, i16 12893, i16 0, i16 12842, i16 0, i16 14685, i16 16372, i16 0, i16 0, i16 13918, i16 12927, i16 0, i16 0, i16 16734, i16 0, i16 15318, i16 0, i16 13663, i16 0, i16 16595, i16 0, i16 12640, i16 0, i16 0, i16 0, i16 14945, i16 0, i16 0, i16 0, i16 15457, i16 0, i16 0, i16 0, i16 15713, i16 16567, i16 0, i16 0, i16 16225, i16 0, i16 15660, i16 0, i16 12386, i16 0, i16 0, i16 0, i16 14690, i16 0, i16 17039, i16 0, i16 16482, i16 0, i16 0, i16 0, i16 12643, i16 15955, i16 12727, i16 0, i16 13155, i16 12358, i16 0, i16 0, i16 13411, i16 17107, i16 0, i16 0, i16 16227, i16 0, i16 0, i16 0, i16 13412, i16 0, i16 15652, i16 0, i16 13924, i16 14113, i16 0, i16 0, i16 15972, i16 17161, i16 14439, i16 0, i16 16740, i16 0, i16 0, i16 0, i16 12901, i16 0, i16 0, i16 0, i16 15205, i16 0, i16 13167, i16 0, i16 15973, i16 0, i16 0, i16 0, i16 16741, i16 0, i16 14792, i16 0, i16 12646, i16 0, i16 12827, i16 0, i16 12902, i16 16984, i16 13252, i16 0, i16 14182, i16 0, i16 0, i16 0, i16 15462, i16 0, i16 0, i16 0, i16 12903, i16 0, i16 0, i16 0, i16 13159, i16 0, i16 0, i16 0, i16 14183, i16 0, i16 0, i16 0, i16 15207, i16 0, i16 0, i16 0, i16 15719, i16 0, i16 0, i16 0, i16 872, i16 873, i16 874, i16 0, i16 13672, i16 0, i16 0, i16 0, i16 14184, i16 0, i16 13723, i16 0, i16 14440, i16 15702, i16 13754, i16 0, i16 14696, i16 0, i16 12323, i16 0, i16 16488, i16 0, i16 0, i16 0, i16 12649, i16 0, i16 0, i16 0, i16 13161, i16 15899, i16 0, i16 0, i16 14185, i16 0, i16 0, i16 0, i16 14441, i16 0, i16 0, i16 0, i16 13162, i16 0, i16 0, i16 0, i16 13419, i16 0, i16 0, i16 0, i16 14443, i16 0, i16 0, i16 0, i16 15979, i16 16623, i16 0, i16 0, i16 876, i16 877, i16 878, i16 0, i16 13932, i16 13543, i16 0, i16 0, i16 17004, i16 16055, i16 15825, i16 0, i16 12397, i16 13647, i16 0, i16 0, i16 13165, i16 17058, i16 13093, i16 0, i16 14957, i16 0, i16 16405, i16 0, i16 15469, i16 0, i16 0, i16 0, i16 16749, i16 0, i16 0, i16 0, i16 13166, i16 0, i16 13950, i16 0, i16 15470, i16 12770, i16 0, i16 0, i16 16494, i16 13846, i16 16862, i16 0, i16 12655, i16 16472, i16 0, i16 0, i16 12911, i16 0, i16 14435, i16 0, i16 14447, i16 13098, i16 0, i16 0, i16 15215, i16 0, i16 0, i16 0, i16 15471, i16 0, i16 0, i16 0, i16 15727, i16 15044, i16 0, i16 0, i16 17007, i16 15700, i16 12367, i16 0, i16 12400, i16 0, i16 0, i16 0, i16 12912, i16 0, i16 0, i16 0, i16 14192, i16 0, i16 0, i16 0, i16 16240, i16 15211, i16 0, i16 0, i16 16496, i16 0, i16 16462, i16 0, i16 12401, i16 0, i16 0, i16 0, i16 14193, i16 16914, i16 16725, i16 0, i16 15217, i16 0, i16 12511, i16 0, i16 16497, i16 0, i16 14251, i16 0, i16 12402, i16 0, i16 0, i16 0, i16 13682, i16 0, i16 15219, i16 0, i16 14962, i16 0, i16 16960, i16 0, i16 12659, i16 16333, i16 0, i16 0, i16 13683, i16 0, i16 0, i16 0, i16 13684, i16 0, i16 12944, i16 0, i16 16756, i16 16757, i16 12346, i16 0, i16 17012, i16 13397, i16 0, i16 0, i16 17013, i16 0, i16 0, i16 0, i16 13430, i16 0, i16 0, i16 0, i16 14454, i16 0, i16 0, i16 0, i16 15222, i16 0, i16 0, i16 0, i16 15990, i16 0, i16 12661, i16 0, i16 13943, i16 13179, i16 16645, i16 0, i16 14455, i16 0, i16 0, i16 0, i16 14967, i16 0, i16 0, i16 0, i16 17015, i16 0, i16 15677, i16 0, i16 12920, i16 0, i16 0, i16 0, i16 15736, i16 0, i16 14401, i16 0, i16 13433, i16 12583, i16 0, i16 0, i16 13945, i16 0, i16 0, i16 0, i16 17017, i16 0, i16 0, i16 0, i16 15226, i16 0, i16 0, i16 0, i16 15994, i16 16110, i16 0, i16 0, i16 16762, i16 0, i16 0, i16 0, i16 15739, i16 0, i16 0, i16 0, i16 16507, i16 0, i16 0, i16 0, i16 15740, i16 0, i16 0, i16 0, i16 13693, i16 0, i16 13630, i16 0, i16 13949, i16 0, i16 14130, i16 0, i16 14461, i16 0, i16 0, i16 0, i16 15741, i16 0, i16 0, i16 0, i16 382, i16 383, i16 384, i16 0, i16 12670, i16 0, i16 0, i16 0, i16 13694, i16 0, i16 0, i16 0, i16 14718, i16 0, i16 0, i16 0, i16 16254, i16 16540, i16 14067, i16 0, i16 17022, i16 0, i16 0, i16 0, i16 13951, i16 14569, i16 0, i16 0, i16 14719, i16 0, i16 0, i16 0, i16 14975, i16 0, i16 0, i16 0, i16 15999, i16 16395, i16 0, i16 0, i16 16255, i16 15970, i16 0, i16 0, i16 14464, i16 0, i16 0, i16 0, i16 16000, i16 0, i16 15654, i16 0, i16 16768, i16 0, i16 0, i16 0, i16 129, i16 130, i16 0, i16 0, i16 12417, i16 0, i16 0, i16 0, i16 14209, i16 0, i16 0, i16 0, i16 16257, i16 13839, i16 0, i16 0, i16 12418, i16 0, i16 0, i16 0, i16 13698, i16 0, i16 0, i16 0, i16 14722, i16 0, i16 0, i16 0, i16 16514, i16 0, i16 0, i16 0, i16 15236, i16 0, i16 12423, i16 0, i16 17028, i16 0, i16 14146, i16 0, i16 133, i16 0, i16 0, i16 0, i16 13957, i16 0, i16 0, i16 0, i16 14469, i16 0, i16 14664, i16 0, i16 15749, i16 15089, i16 0, i16 0, i16 16773, i16 0, i16 0, i16 0, i16 17029, i16 16890, i16 0, i16 0, i16 134, i16 0, i16 0, i16 0, i16 12422, i16 16944, i16 0, i16 0, i16 13702, i16 0, i16 0, i16 0, i16 14726, i16 12950, i16 15112, i16 0, i16 135, i16 0, i16 216, i16 0, i16 12935, i16 15489, i16 14213, i16 0, i16 13191, i16 13212, i16 14463, i16 0, i16 13959, i16 13804, i16 0, i16 0, i16 16007, i16 0, i16 16851, i16 0, i16 17031, i16 0, i16 15590, i16 0, i16 13192, i16 0, i16 14757, i16 0, i16 13448, i16 0, i16 0, i16 0, i16 14728, i16 0, i16 14610, i16 0, i16 16008, i16 0, i16 0, i16 0, i16 12681, i16 0, i16 0, i16 0, i16 15753, i16 0, i16 0, i16 0, i16 13194, i16 0, i16 14601, i16 0, i16 13706, i16 13328, i16 0, i16 0, i16 12683, i16 0, i16 0, i16 0, i16 16267, i16 13977, i16 0, i16 0, i16 16523, i16 0, i16 0, i16 0, i16 13196, i16 16505, i16 0, i16 0, i16 16268, i16 0, i16 0, i16 0, i16 15501, i16 0, i16 0, i16 0, i16 13966, i16 0, i16 14225, i16 0, i16 14222, i16 0, i16 15866, i16 0, i16 16782, i16 15483, i16 12909, i16 0, i16 14991, i16 0, i16 0, i16 0, i16 14224, i16 16057, i16 16615, i16 0, i16 14480, i16 0, i16 0, i16 0, i16 14736, i16 0, i16 16389, i16 0, i16 14992, i16 0, i16 12530, i16 0, i16 15760, i16 0, i16 15102, i16 0, i16 16528, i16 0, i16 12544, i16 0, i16 12689, i16 0, i16 0, i16 0, i16 14481, i16 0, i16 0, i16 0, i16 16017, i16 0, i16 16265, i16 0, i16 16273, i16 0, i16 0, i16 0, i16 17041, i16 12577, i16 0, i16 0, i16 13714, i16 0, i16 17088, i16 0, i16 13970, i16 0, i16 0, i16 0, i16 14994, i16 0, i16 0, i16 0, i16 13203, i16 0, i16 15248, i16 0, i16 13715, i16 0, i16 0, i16 0, i16 14227, i16 0, i16 14729, i16 0, i16 12436, i16 12560, i16 0, i16 0, i16 15508, i16 0, i16 0, i16 0, i16 16020, i16 13774, i16 13965, i16 0, i16 16788, i16 0, i16 13922, i16 0, i16 12949, i16 14112, i16 0, i16 0, i16 14485, i16 12372, i16 0, i16 0, i16 14997, i16 0, i16 0, i16 0, i16 15509, i16 17038, i16 0, i16 0, i16 15765, i16 0, i16 13172, i16 0, i16 16021, i16 0, i16 0, i16 0, i16 16533, i16 17065, i16 15937, i16 0, i16 14742, i16 0, i16 0, i16 0, i16 14998, i16 0, i16 0, i16 0, i16 16278, i16 12741, i16 0, i16 0, i16 16534, i16 0, i16 0, i16 0, i16 14487, i16 0, i16 0, i16 0, i16 16279, i16 0, i16 0, i16 0, i16 13720, i16 0, i16 14858, i16 0, i16 16280, i16 14376, i16 0, i16 0, i16 13721, i16 0, i16 13661, i16 0, i16 15769, i16 0, i16 0, i16 0, i16 16025, i16 0, i16 12517, i16 0, i16 13978, i16 0, i16 0, i16 0, i16 14234, i16 0, i16 0, i16 0, i16 14490, i16 0, i16 16578, i16 0, i16 13467, i16 0, i16 0, i16 0, i16 15259, i16 0, i16 0, i16 0, i16 13724, i16 13489, i16 0, i16 0, i16 14492, i16 0, i16 0, i16 0, i16 15260, i16 0, i16 0, i16 0, i16 12445, i16 0, i16 0, i16 0, i16 13981, i16 0, i16 0, i16 0, i16 14749, i16 0, i16 15349, i16 0, i16 16797, i16 14625, i16 0, i16 0, i16 14750, i16 0, i16 14516, i16 0, i16 15262, i16 0, i16 0, i16 0, i16 15774, i16 0, i16 0, i16 0, i16 16286, i16 13429, i16 14081, i16 0, i16 12703, i16 0, i16 0, i16 0, i16 12959, i16 0, i16 0, i16 0, i16 13471, i16 0, i16 0, i16 0, i16 16799, i16 0, i16 0, i16 0, i16 14240, i16 0, i16 0, i16 0, i16 15264, i16 0, i16 0, i16 0, i16 16288, i16 0, i16 0, i16 0, i16 12449, i16 0, i16 0, i16 0, i16 14754, i16 0, i16 0, i16 0, i16 16034, i16 0, i16 14965, i16 0, i16 13219, i16 0, i16 0, i16 0, i16 13475, i16 12802, i16 0, i16 0, i16 13987, i16 0, i16 0, i16 0, i16 14499, i16 0, i16 14961, i16 0, i16 14755, i16 0, i16 0, i16 0, i16 15011, i16 0, i16 0, i16 0, i16 16035, i16 0, i16 0, i16 0, i16 16803, i16 0, i16 14505, i16 0, i16 13988, i16 0, i16 0, i16 0, i16 15012, i16 0, i16 13477, i16 0, i16 15268, i16 0, i16 0, i16 0, i16 12453, i16 0, i16 0, i16 0, i16 14245, i16 0, i16 0, i16 0, i16 15270, i16 13548, i16 0, i16 0, i16 13223, i16 12676, i16 0, i16 0, i16 15015, i16 0, i16 14969, i16 0, i16 16039, i16 0, i16 0, i16 0, i16 16551, i16 0, i16 0, i16 0, i16 13992, i16 12922, i16 12751, i16 0, i16 14248, i16 0, i16 13984, i16 0, i16 15016, i16 0, i16 0, i16 0, i16 169, i16 347, i16 0, i16 0, i16 14761, i16 0, i16 0, i16 0, i16 16809, i16 0, i16 15476, i16 0, i16 12970, i16 0, i16 0, i16 0, i16 14506, i16 12454, i16 0, i16 0, i16 14762, i16 0, i16 0, i16 0, i16 15786, i16 16009, i16 0, i16 0, i16 14507, i16 0, i16 13835, i16 0, i16 16555, i16 14270, i16 15187, i16 0, i16 12716, i16 16963, i16 13886, i16 0, i16 13740, i16 0, i16 0, i16 0, i16 14252, i16 0, i16 13592, i16 0, i16 15532, i16 0, i16 0, i16 0, i16 173, i16 0, i16 0, i16 0, i16 12461, i16 0, i16 0, i16 0, i16 14510, i16 12978, i16 0, i16 0, i16 16814, i16 0, i16 0, i16 0, i16 12719, i16 15416, i16 0, i16 0, i16 13231, i16 0, i16 0, i16 0, i16 13487, i16 0, i16 0, i16 0, i16 16047, i16 0, i16 0, i16 0, i16 16303, i16 13486, i16 15435, i16 0, i16 12464, i16 0, i16 0, i16 0, i16 13232, i16 0, i16 14864, i16 0, i16 14000, i16 0, i16 0, i16 0, i16 15280, i16 0, i16 0, i16 0, i16 16304, i16 0, i16 0, i16 0, i16 17072, i16 0, i16 13786, i16 0, i16 13745, i16 0, i16 0, i16 0, i16 14001, i16 0, i16 16036, i16 0, i16 17073, i16 0, i16 0, i16 0, i16 12722, i16 0, i16 0, i16 0, i16 14002, i16 13056, i16 16377, i16 0, i16 16306, i16 0, i16 0, i16 0, i16 12467, i16 0, i16 0, i16 0, i16 12979, i16 15210, i16 0, i16 0, i16 13235, i16 16467, i16 0, i16 0, i16 14003, i16 0, i16 12539, i16 0, i16 14259, i16 0, i16 0, i16 0, i16 12468, i16 0, i16 0, i16 0, i16 13236, i16 0, i16 0, i16 0, i16 13748, i16 0, i16 0, i16 0, i16 14772, i16 0, i16 0, i16 0, i16 14261, i16 0, i16 16750, i16 0, i16 15797, i16 0, i16 15079, i16 0, i16 182, i16 181, i16 0, i16 0, i16 12982, i16 0, i16 0, i16 0, i16 16566, i16 14236, i16 12396, i16 0, i16 14007, i16 0, i16 14200, i16 0, i16 15287, i16 15298, i16 0, i16 0, i16 16311, i16 0, i16 0, i16 0, i16 17079, i16 0, i16 16957, i16 0, i16 14008, i16 0, i16 0, i16 0, i16 14264, i16 0, i16 0, i16 0, i16 15032, i16 0, i16 0, i16 0, i16 15800, i16 0, i16 12647, i16 0, i16 17080, i16 0, i16 0, i16 0, i16 14777, i16 0, i16 12653, i16 0, i16 12730, i16 13939, i16 0, i16 0, i16 13242, i16 0, i16 0, i16 0, i16 17082, i16 15463, i16 0, i16 0, i16 13243, i16 0, i16 0, i16 0, i16 13499, i16 0, i16 12619, i16 0, i16 15547, i16 0, i16 0, i16 0, i16 16059, i16 0, i16 0, i16 0, i16 16827, i16 0, i16 0, i16 0, i16 12732, i16 0, i16 0, i16 0, i16 14780, i16 0, i16 0, i16 0, i16 16060, i16 16222, i16 16477, i16 0, i16 14013, i16 0, i16 0, i16 0, i16 16829, i16 14875, i16 0, i16 0, i16 12478, i16 0, i16 13819, i16 0, i16 16318, i16 0, i16 0, i16 0, i16 17086, i16 16766, i16 0, i16 0, i16 959, i16 960, i16 961, i16 0, i16 12479, i16 17114, i16 0, i16 0, i16 16831, i16 0, i16 0, i16 0, i16 17087, i16 0, i16 14320, i16 0, i16 12736, i16 0, i16 0, i16 0, i16 14784, i16 0, i16 0, i16 0, i16 15296, i16 0, i16 0, i16 0, i16 14529, i16 15967, i16 0, i16 0, i16 14785, i16 0, i16 14535, i16 0, i16 16577, i16 0, i16 16787, i16 0, i16 14018, i16 0, i16 12889, i16 0, i16 15554, i16 16918, i16 14331, i16 0, i16 17090, i16 0, i16 0, i16 0, i16 13507, i16 0, i16 0, i16 0, i16 14787, i16 14334, i16 12388, i16 0, i16 15555, i16 13137, i16 0, i16 0, i16 16067, i16 0, i16 14279, i16 0, i16 16835, i16 0, i16 0, i16 0, i16 14276, i16 0, i16 0, i16 0, i16 14532, i16 0, i16 0, i16 0, i16 15812, i16 0, i16 0, i16 0, i16 16580, i16 0, i16 16561, i16 0, i16 17092, i16 13324, i16 0, i16 0, i16 12485, i16 0, i16 0, i16 0, i16 13509, i16 0, i16 0, i16 0, i16 16581, i16 0, i16 0, i16 0, i16 17093, i16 14943, i16 0, i16 0, i16 13766, i16 16326, i16 0, i16 0, i16 15302, i16 0, i16 0, i16 0, i16 12487, i16 16568, i16 0, i16 0, i16 15559, i16 0, i16 0, i16 0, i16 15815, i16 0, i16 13257, i16 0, i16 16327, i16 0, i16 0, i16 0, i16 16583, i16 0, i16 0, i16 0, i16 12488, i16 0, i16 0, i16 0, i16 12744, i16 0, i16 16842, i16 0, i16 14024, i16 17150, i16 0, i16 0, i16 15048, i16 0, i16 0, i16 0, i16 13769, i16 0, i16 0, i16 0, i16 14537, i16 0, i16 0, i16 0, i16 14538, i16 0, i16 0, i16 0, i16 16330, i16 0, i16 0, i16 0, i16 12491, i16 0, i16 0, i16 0, i16 12747, i16 0, i16 0, i16 0, i16 14283, i16 0, i16 0, i16 0, i16 15563, i16 15180, i16 0, i16 0, i16 16331, i16 0, i16 0, i16 0, i16 16587, i16 16365, i16 0, i16 0, i16 204, i16 160, i16 0, i16 0, i16 12492, i16 0, i16 0, i16 0, i16 12748, i16 12463, i16 14825, i16 0, i16 15564, i16 14603, i16 14662, i16 0, i16 16076, i16 16453, i16 0, i16 0, i16 12493, i16 13904, i16 0, i16 0, i16 14029, i16 0, i16 0, i16 0, i16 12750, i16 0, i16 13916, i16 0, i16 15054, i16 0, i16 0, i16 0, i16 16334, i16 0, i16 0, i16 0, i16 16846, i16 0, i16 0, i16 0, i16 15312, i16 16790, i16 14958, i16 0, i16 15824, i16 0, i16 0, i16 0, i16 12497, i16 0, i16 0, i16 0, i16 12498, i16 16586, i16 0, i16 0, i16 13266, i16 0, i16 0, i16 0, i16 16082, i16 0, i16 0, i16 0, i16 16338, i16 16898, i16 0, i16 0, i16 13267, i16 0, i16 0, i16 0, i16 15571, i16 0, i16 13048, i16 0, i16 16339, i16 0, i16 0, i16 0, i16 13268, i16 0, i16 16251, i16 0, i16 14548, i16 0, i16 13322, i16 0, i16 17108, i16 0, i16 0, i16 0, i16 13525, i16 0, i16 0, i16 0, i16 14549, i16 16208, i16 0, i16 0, i16 15061, i16 16355, i16 12754, i16 0, i16 16085, i16 0, i16 16086, i16 0, i16 16341, i16 0, i16 0, i16 0, i16 12758, i16 0, i16 0, i16 0, i16 13782, i16 13206, i16 0, i16 0, i16 14038, i16 0, i16 0, i16 0, i16 14294, i16 0, i16 0, i16 0, i16 13271, i16 15273, i16 0, i16 0, i16 14551, i16 0, i16 0, i16 0, i16 15063, i16 0, i16 0, i16 0, i16 15319, i16 15008, i16 0, i16 0, i16 16087, i16 0, i16 0, i16 0, i16 16855, i16 0, i16 0, i16 0, i16 17111, i16 0, i16 0, i16 0, i16 13528, i16 0, i16 0, i16 0, i16 15320, i16 13709, i16 0, i16 0, i16 15576, i16 0, i16 0, i16 0, i16 15832, i16 0, i16 0, i16 0, i16 17112, i16 0, i16 15491, i16 0, i16 15577, i16 15748, i16 0, i16 0, i16 16857, i16 0, i16 0, i16 0, i16 17113, i16 0, i16 0, i16 0, i16 12506, i16 0, i16 0, i16 0, i16 13530, i16 0, i16 16095, i16 0, i16 15834, i16 16856, i16 0, i16 0, i16 16090, i16 0, i16 15381, i16 0, i16 16346, i16 0, i16 0, i16 0, i16 16858, i16 0, i16 0, i16 0, i16 12507, i16 15526, i16 12403, i16 0, i16 16091, i16 0, i16 0, i16 0, i16 16347, i16 14430, i16 0, i16 0, i16 14044, i16 0, i16 0, i16 0, i16 14556, i16 0, i16 13251, i16 0, i16 12765, i16 0, i16 0, i16 0, i16 17117, i16 0, i16 0, i16 0, i16 14302, i16 0, i16 0, i16 0, i16 16094, i16 0, i16 12956, i16 0, i16 12767, i16 0, i16 0, i16 0, i16 15583, i16 0, i16 14655, i16 0, i16 14304, i16 15497, i16 0, i16 0, i16 14560, i16 0, i16 0, i16 0, i16 15840, i16 0, i16 16260, i16 0, i16 13281, i16 0, i16 0, i16 0, i16 14049, i16 0, i16 0, i16 0, i16 16097, i16 0, i16 12370, i16 0, i16 15074, i16 0, i16 0, i16 0, i16 15330, i16 15690, i16 15960, i16 0, i16 16866, i16 0, i16 0, i16 0, i16 227, i16 0, i16 0, i16 0, i16 12515, i16 0, i16 13876, i16 0, i16 14563, i16 0, i16 0, i16 0, i16 16611, i16 0, i16 0, i16 0, i16 12516, i16 0, i16 0, i16 0, i16 13284, i16 0, i16 0, i16 0, i16 13540, i16 0, i16 0, i16 0, i16 13796, i16 0, i16 0, i16 0, i16 14308, i16 0, i16 0, i16 0, i16 14309, i16 0, i16 0, i16 0, i16 14565, i16 0, i16 16525, i16 0, i16 16101, i16 14818, i16 0, i16 0, i16 16357, i16 14010, i16 0, i16 0, i16 14566, i16 0, i16 0, i16 0, i16 15334, i16 0, i16 0, i16 0, i16 16102, i16 16942, i16 15214, i16 0, i16 15847, i16 0, i16 0, i16 0, i16 16359, i16 15252, i16 0, i16 0, i16 232, i16 0, i16 0, i16 0, i16 15336, i16 0, i16 15165, i16 0, i16 16361, i16 15730, i16 0, i16 0, i16 14058, i16 0, i16 0, i16 0, i16 14314, i16 0, i16 0, i16 0, i16 15082, i16 12921, i16 14023, i16 0, i16 12779, i16 0, i16 0, i16 0, i16 13035, i16 0, i16 0, i16 0, i16 15083, i16 16001, i16 0, i16 0, i16 15595, i16 0, i16 0, i16 0, i16 16107, i16 0, i16 14187, i16 0, i16 16363, i16 0, i16 0, i16 0, i16 236, i16 0, i16 0, i16 0, i16 15596, i16 0, i16 0, i16 0, i16 16876, i16 0, i16 0, i16 0, i16 14061, i16 0, i16 0, i16 0, i16 14829, i16 14436, i16 16437, i16 0, i16 16621, i16 15846, i16 0, i16 0, i16 17133, i16 0, i16 0, i16 0, i16 12782, i16 0, i16 0, i16 0, i16 14318, i16 0, i16 14389, i16 0, i16 15598, i16 12969, i16 0, i16 0, i16 239, i16 0, i16 0, i16 0, i16 13295, i16 0, i16 0, i16 0, i16 496, i16 497, i16 498, i16 0, i16 12784, i16 0, i16 14922, i16 0, i16 16624, i16 0, i16 0, i16 0, i16 16880, i16 16428, i16 16881, i16 0, i16 14322, i16 15067, i16 0, i16 0, i16 14578, i16 0, i16 0, i16 0, i16 15602, i16 0, i16 0, i16 0, i16 12531, i16 0, i16 0, i16 0, i16 13299, i16 14574, i16 0, i16 0, i16 15859, i16 12469, i16 0, i16 0, i16 17139, i16 0, i16 0, i16 0, i16 12532, i16 0, i16 0, i16 0, i16 14836, i16 0, i16 0, i16 0, i16 13301, i16 0, i16 0, i16 0, i16 13557, i16 13244, i16 16772, i16 0, i16 12534, i16 0, i16 13973, i16 0, i16 13814, i16 13690, i16 0, i16 0, i16 14070, i16 0, i16 0, i16 0, i16 15862, i16 0, i16 0, i16 0, i16 16118, i16 0, i16 0, i16 0, i16 13303, i16 0, i16 0, i16 0, i16 13559, i16 14258, i16 0, i16 0, i16 14327, i16 14477, i16 0, i16 0, i16 16119, i16 0, i16 13937, i16 0, i16 16887, i16 0, i16 0, i16 0, i16 17143, i16 12677, i16 0, i16 0, i16 14840, i16 12604, i16 15706, i16 0, i16 14329, i16 0, i16 15728, i16 0, i16 16633, i16 0, i16 15151, i16 0, i16 13818, i16 16626, i16 15466, i16 0, i16 14330, i16 0, i16 0, i16 0, i16 16634, i16 12664, i16 0, i16 0, i16 251, i16 0, i16 0, i16 0, i16 13307, i16 0, i16 12887, i16 0, i16 16123, i16 0, i16 0, i16 0, i16 16379, i16 0, i16 0, i16 0, i16 16635, i16 0, i16 0, i16 0, i16 17147, i16 16591, i16 0, i16 0, i16 12796, i16 0, i16 0, i16 0, i16 14844, i16 0, i16 0, i16 0, i16 15356, i16 0, i16 0, i16 0, i16 15868, i16 0, i16 0, i16 0, i16 16636, i16 0, i16 0, i16 0, i16 16892, i16 13247, i16 0, i16 0, i16 12797, i16 0, i16 0, i16 0, i16 15613, i16 14079, i16 0, i16 0, i16 12286, i16 0, i16 13968, i16 0, i16 14078, i16 0, i16 0, i16 0, i16 14590, i16 13127, i16 0, i16 0, i16 15614, i16 13555, i16 13688, i16 0, i16 15870, i16 0, i16 0, i16 0, i16 16126, i16 0, i16 0, i16 0, i16 16382, i16 0, i16 0, i16 0, i16 12543, i16 0, i16 13728, i16 0, i16 13823, i16 0, i16 13674, i16 0, i16 15615, i16 12820, i16 0, i16 15104, i16 0, i16 0, i16 0, i16 15616, i16 13933, i16 15995, i16 0, i16 16128, i16 0, i16 0, i16 12308, i16 16640, i16 0, i16 0, i16 16054, i16 17152, i16 12348, i16 0, i16 0, i16 257, i16 258, i16 261, i16 260, i16 12801, i16 0, i16 0, i16 0, i16 13569, i16 16879, i16 0, i16 0, i16 14849, i16 0, i16 0, i16 0, i16 15617, i16 14776, i16 0, i16 0, i16 15873, i16 0, i16 14896, i16 0, i16 16385, i16 0, i16 0, i16 0, i16 514, i16 515, i16 516, i16 517, i16 770, i16 771, i16 772, i16 0, i16 1026, i16 1027, i16 1028, i16 1029, i16 13058, i16 12645, i16 0, i16 14683, i16 15874, i16 0, i16 0, i16 12460, i16 16386, i16 0, i16 0, i16 0, i16 259, i16 262, i16 0, i16 0, i16 12803, i16 0, i16 0, i16 0, i16 13059, i16 13351, i16 0, i16 0, i16 14083, i16 14084, i16 0, i16 0, i16 15107, i16 0, i16 0, i16 0, i16 16387, i16 0, i16 15688, i16 0, i16 16643, i16 0, i16 0, i16 0, i16 17155, i16 0, i16 16783, i16 0, i16 13828, i16 0, i16 0, i16 0, i16 15108, i16 12610, i16 14517, i16 0, i16 15364, i16 15365, i16 12936, i16 0, i16 15876, i16 0, i16 0, i16 0, i16 12805, i16 13691, i16 0, i16 0, i16 14853, i16 0, i16 0, i16 0, i16 15621, i16 0, i16 0, i16 0, i16 16901, i16 0, i16 0, i16 16677, i16 17157, i16 0, i16 0, i16 0, i16 518, i16 519, i16 0, i16 0, i16 1030, i16 1031, i16 1032, i16 1033, i16 13574, i16 0, i16 0, i16 0, i16 13830, i16 0, i16 0, i16 0, i16 14086, i16 0, i16 0, i16 0, i16 14342, i16 15893, i16 15892, i16 0, i16 7, i16 8, i16 9, i16 10, i16 263, i16 277, i16 278, i16 0, i16 775, i16 0, i16 0, i16 0, i16 12807, i16 0, i16 0, i16 0, i16 13319, i16 0, i16 0, i16 0, i16 13831, i16 0, i16 0, i16 0, i16 14855, i16 0, i16 0, i16 0, i16 15367, i16 0, i16 0, i16 17002, i16 15879, i16 14820, i16 14767, i16 0, i16 17159, i16 17158, i16 16518, i16 0, i16 776, i16 773, i16 777, i16 233, i16 12552, i16 16573, i16 0, i16 14188, i16 12808, i16 0, i16 0, i16 0, i16 13576, i16 12432, i16 0, i16 0, i16 16904, i16 0, i16 0, i16 0, i16 13065, i16 0, i16 0, i16 0, i16 13321, i16 13327, i16 13330, i16 13434, i16 14345, i16 13568, i16 0, i16 0, i16 15113, i16 14228, i16 0, i16 0, i16 15369, i16 15370, i16 0, i16 0, i16 16393, i16 13771, i16 0, i16 0, i16 266, i16 0, i16 267, i16 0, i16 1034, i16 1035, i16 1036, i16 1037, i16 12298, i16 0, i16 16519, i16 0, i16 12554, i16 0, i16 0, i16 0, i16 14090, i16 15681, i16 12652, i16 0, i16 11, i16 12, i16 13, i16 14, i16 523, i16 524, i16 525, i16 526, i16 779, i16 780, i16 781, i16 0, i16 15371, i16 0, i16 12852, i16 0, i16 15627, i16 0, i16 0, i16 0, i16 16907, i16 14760, i16 0, i16 0, i16 12812, i16 0, i16 13177, i16 0, i16 13068, i16 13069, i16 13070, i16 13072, i16 13580, i16 16024, i16 14835, i16 13381, i16 14604, i16 15275, i16 0, i16 0, i16 15372, i16 12415, i16 0, i16 12648, i16 269, i16 270, i16 0, i16 0, i16 12301, i16 12570, i16 0, i16 12599, i16 12813, i16 0, i16 0, i16 15111, i16 13581, i16 12989, i16 0, i16 0, i16 13837, i16 0, i16 16492, i16 0, i16 14093, i16 0, i16 0, i16 12975, i16 14861, i16 0, i16 15592, i16 0, i16 16141, i16 0, i16 0, i16 0, i16 16653, i16 0, i16 0, i16 0, i16 1038, i16 1039, i16 1040, i16 1041, i16 12814, i16 0, i16 0, i16 12706, i16 13838, i16 14545, i16 16980, i16 0, i16 15374, i16 15377, i16 15382, i16 15384, i16 15630, i16 0, i16 0, i16 0, i16 15886, i16 15536, i16 0, i16 14123, i16 16142, i16 14132, i16 14450, i16 0, i16 15, i16 16, i16 17, i16 18, i16 527, i16 528, i16 529, i16 530, i16 12303, i16 13730, i16 0, i16 0, i16 14095, i16 0, i16 0, i16 0, i16 15375, i16 0, i16 0, i16 0, i16 15631, i16 14274, i16 14286, i16 16727, i16 16143, i16 0, i16 0, i16 12638, i16 16399, i16 0, i16 14372, i16 0, i16 784, i16 0, i16 0, i16 0, i16 13840, i16 0, i16 12299, i16 0, i16 14096, i16 16478, i16 0, i16 0, i16 17168, i16 0, i16 0, i16 0, i16 12305, i16 0, i16 0, i16 13199, i16 12561, i16 0, i16 0, i16 0, i16 13073, i16 13074, i16 13075, i16 13076, i16 14097, i16 0, i16 0, i16 0, i16 14865, i16 0, i16 0, i16 0, i16 15633, i16 12694, i16 0, i16 12377, i16 16401, i16 0, i16 12835, i16 0, i16 1042, i16 1043, i16 1044, i16 0, i16 13586, i16 0, i16 14476, i16 0, i16 13842, i16 12965, i16 0, i16 14265, i16 14098, i16 0, i16 0, i16 0, i16 15122, i16 15419, i16 0, i16 15300, i16 15634, i16 13210, i16 0, i16 0, i16 16402, i16 0, i16 0, i16 12309, i16 17170, i16 16987, i16 16811, i16 14313, i16 19, i16 20, i16 21, i16 0, i16 275, i16 273, i16 0, i16 0, i16 531, i16 532, i16 533, i16 534, i16 12307, i16 0, i16 15734, i16 0, i16 13587, i16 0, i16 0, i16 0, i16 16403, i16 12791, i16 0, i16 0, i16 788, i16 0, i16 0, i16 0, i16 12564, i16 12629, i16 0, i16 14470, i16 14868, i16 14870, i16 14874, i16 14910, i16 16916, i16 13696, i16 0, i16 0, i16 789, i16 697, i16 790, i16 0, i16 1045, i16 1046, i16 1047, i16 1048, i16 12565, i16 0, i16 0, i16 0, i16 12821, i16 0, i16 0, i16 0, i16 13077, i16 13079, i16 13080, i16 13081, i16 13333, i16 0, i16 0, i16 0, i16 14357, i16 0, i16 0, i16 0, i16 14613, i16 13502, i16 0, i16 0, i16 14869, i16 0, i16 0, i16 0, i16 15637, i16 14361, i16 14107, i16 0, i16 22, i16 0, i16 23, i16 24, i16 16150, i16 14012, i16 13767, i16 0, i16 279, i16 276, i16 0, i16 0, i16 535, i16 536, i16 0, i16 537, i16 791, i16 0, i16 0, i16 0, i16 12567, i16 0, i16 0, i16 15172, i16 12823, i16 16179, i16 15581, i16 12312, i16 13847, i16 0, i16 0, i16 13811, i16 14359, i16 0, i16 0, i16 0, i16 14615, i16 0, i16 0, i16 14235, i16 15127, i16 0, i16 15766, i16 0, i16 15383, i16 0, i16 13753, i16 0, i16 12568, i16 0, i16 0, i16 13306, i16 12824, i16 0, i16 15607, i16 12864, i16 14104, i16 0, i16 0, i16 0, i16 14872, i16 0, i16 0, i16 0, i16 15640, i16 0, i16 0, i16 14139, i16 25, i16 26, i16 27, i16 28, i16 281, i16 0, i16 0, i16 0, i16 1049, i16 1050, i16 1052, i16 1053, i16 12313, i16 13332, i16 0, i16 12825, i16 14617, i16 0, i16 13773, i16 15987, i16 16409, i16 0, i16 15799, i16 0, i16 538, i16 539, i16 540, i16 541, i16 12314, i16 0, i16 0, i16 0, i16 12826, i16 0, i16 0, i16 12800, i16 13082, i16 13083, i16 13084, i16 13085, i16 14106, i16 16843, i16 0, i16 16575, i16 14618, i16 0, i16 0, i16 0, i16 15642, i16 0, i16 0, i16 0, i16 13339, i16 15747, i16 0, i16 0, i16 13851, i16 0, i16 13432, i16 0, i16 14363, i16 0, i16 0, i16 15368, i16 14619, i16 0, i16 0, i16 0, i16 15131, i16 0, i16 0, i16 16830, i16 16411, i16 0, i16 0, i16 0, i16 16923, i16 14142, i16 0, i16 14540, i16 12316, i16 0, i16 0, i16 16908, i16 13596, i16 0, i16 15599, i16 0, i16 14364, i16 17134, i16 0, i16 0, i16 14876, i16 0, i16 0, i16 0, i16 15388, i16 15391, i16 15393, i16 15394, i16 29, i16 30, i16 31, i16 32, i16 12317, i16 0, i16 0, i16 15758, i16 12573, i16 0, i16 0, i16 0, i16 13341, i16 0, i16 0, i16 0, i16 14109, i16 0, i16 0, i16 13273, i16 15389, i16 0, i16 14346, i16 14634, i16 286, i16 0, i16 0, i16 679, i16 542, i16 543, i16 0, i16 0, i16 798, i16 799, i16 800, i16 801, i16 1054, i16 1055, i16 1056, i16 1057, i16 12574, i16 0, i16 14714, i16 0, i16 13086, i16 13087, i16 13088, i16 13089, i16 13598, i16 0, i16 0, i16 0, i16 14366, i16 0, i16 0, i16 13288, i16 14622, i16 0, i16 0, i16 13168, i16 14878, i16 14663, i16 0, i16 0, i16 13343, i16 0, i16 0, i16 16050, i16 13855, i16 13834, i16 0, i16 12997, i16 14111, i16 12898, i16 0, i16 14936, i16 14367, i16 0, i16 0, i16 0, i16 15647, i16 0, i16 0, i16 0, i16 16159, i16 0, i16 0, i16 0, i16 544, i16 555, i16 545, i16 556, i16 13600, i16 0, i16 0, i16 0, i16 13856, i16 16531, i16 0, i16 0, i16 14880, i16 0, i16 0, i16 0, i16 16160, i16 0, i16 0, i16 0, i16 16416, i16 0, i16 13817, i16 0, i16 33, i16 34, i16 35, i16 36, i16 13857, i16 0, i16 0, i16 0, i16 546, i16 583, i16 582, i16 557, i16 802, i16 803, i16 804, i16 805, i16 1058, i16 1059, i16 1060, i16 1061, i16 12578, i16 0, i16 0, i16 0, i16 12834, i16 16537, i16 13775, i16 0, i16 14626, i16 0, i16 0, i16 0, i16 15138, i16 0, i16 0, i16 0, i16 16930, i16 0, i16 0, i16 0, i16 291, i16 292, i16 293, i16 294, i16 547, i16 577, i16 576, i16 558, i16 12579, i16 12755, i16 0, i16 0, i16 13091, i16 13092, i16 13096, i16 13097, i16 13347, i16 0, i16 0, i16 0, i16 14627, i16 14539, i16 15436, i16 0, i16 15651, i16 0, i16 15105, i16 0, i16 16931, i16 0, i16 0, i16 12335, i16 548, i16 579, i16 578, i16 559, i16 15908, i16 0, i16 0, i16 0, i16 16164, i16 0, i16 13836, i16 0, i16 16932, i16 15385, i16 0, i16 0, i16 37, i16 38, i16 39, i16 40, i16 549, i16 581, i16 580, i16 560, i16 13349, i16 0, i16 0, i16 0, i16 13605, i16 0, i16 0, i16 0, i16 13861, i16 0, i16 14594, i16 15626, i16 14629, i16 0, i16 12476, i16 0, i16 14885, i16 0, i16 0, i16 0, i16 15141, i16 0, i16 0, i16 12717, i16 15397, i16 0, i16 0, i16 0, i16 15653, i16 0, i16 0, i16 16014, i16 550, i16 571, i16 584, i16 585, i16 806, i16 807, i16 808, i16 809, i16 1062, i16 1063, i16 1064, i16 1065, i16 12326, i16 0, i16 0, i16 0, i16 13606, i16 0, i16 0, i16 0, i16 14118, i16 16596, i16 15068, i16 14731, i16 14886, i16 0, i16 12514, i16 0, i16 16422, i16 0, i16 14654, i16 0, i16 295, i16 296, i16 297, i16 298, i16 551, i16 592, i16 593, i16 567, i16 12839, i16 0, i16 0, i16 0, i16 13607, i16 14883, i16 16707, i16 0, i16 13863, i16 0, i16 0, i16 0, i16 15399, i16 0, i16 0, i16 0, i16 15655, i16 14031, i16 14395, i16 0, i16 16167, i16 0, i16 15903, i16 0, i16 16935, i16 0, i16 0, i16 0, i16 552, i16 573, i16 588, i16 589, i16 13352, i16 0, i16 0, i16 0, i16 13608, i16 0, i16 0, i16 0, i16 14120, i16 0, i16 15293, i16 0, i16 15144, i16 0, i16 0, i16 0, i16 15912, i16 12541, i16 13870, i16 0, i16 41, i16 42, i16 43, i16 44, i16 553, i16 596, i16 597, i16 569, i16 12585, i16 0, i16 0, i16 0, i16 12841, i16 12810, i16 0, i16 0, i16 13865, i16 0, i16 0, i16 13462, i16 14377, i16 12693, i16 0, i16 12872, i16 15913, i16 0, i16 0, i16 0, i16 16169, i16 12857, i16 0, i16 13290, i16 554, i16 600, i16 601, i16 570, i16 810, i16 811, i16 812, i16 813, i16 1066, i16 1067, i16 1068, i16 1069, i16 13866, i16 0, i16 14612, i16 0, i16 14378, i16 0, i16 16272, i16 13312, i16 15402, i16 0, i16 0, i16 0, i16 16426, i16 14161, i16 0, i16 0, i16 16682, i16 0, i16 0, i16 0, i16 16938, i16 0, i16 16694, i16 16603, i16 299, i16 300, i16 301, i16 302, i16 12331, i16 0, i16 0, i16 0, i16 13099, i16 13100, i16 13102, i16 13103, i16 13867, i16 0, i16 0, i16 0, i16 15659, i16 0, i16 0, i16 14841, i16 13612, i16 0, i16 16751, i16 13410, i16 14636, i16 0, i16 0, i16 0, i16 14892, i16 14009, i16 0, i16 0, i16 15148, i16 0, i16 15943, i16 12679, i16 15916, i16 0, i16 0, i16 0, i16 16940, i16 16394, i16 14706, i16 0, i16 45, i16 46, i16 47, i16 48, i16 12333, i16 0, i16 0, i16 12297, i16 12845, i16 0, i16 0, i16 14223, i16 13357, i16 16618, i16 0, i16 0, i16 13613, i16 14635, i16 0, i16 0, i16 13869, i16 0, i16 0, i16 0, i16 15661, i16 0, i16 0, i16 0, i16 15917, i16 16642, i16 0, i16 0, i16 16173, i16 0, i16 0, i16 13254, i16 814, i16 815, i16 816, i16 817, i16 1070, i16 1071, i16 1072, i16 1073, i16 12846, i16 0, i16 16637, i16 13664, i16 303, i16 304, i16 305, i16 306, i16 12847, i16 0, i16 0, i16 0, i16 13615, i16 0, i16 13985, i16 0, i16 13871, i16 0, i16 0, i16 0, i16 14895, i16 0, i16 15844, i16 14089, i16 12592, i16 0, i16 16205, i16 0, i16 13104, i16 13105, i16 13106, i16 13107, i16 13872, i16 0, i16 0, i16 0, i16 15152, i16 0, i16 12319, i16 12545, i16 49, i16 50, i16 51, i16 52, i16 13873, i16 0, i16 0, i16 0, i16 14129, i16 0, i16 0, i16 0, i16 14897, i16 0, i16 0, i16 0, i16 15665, i16 0, i16 16344, i16 16912, i16 15921, i16 16016, i16 14055, i16 13417, i16 16177, i16 0, i16 0, i16 14753, i16 818, i16 819, i16 820, i16 821, i16 1074, i16 1075, i16 1076, i16 1077, i16 15410, i16 15411, i16 15413, i16 15417, i16 16178, i16 14405, i16 0, i16 0, i16 16434, i16 15807, i16 15243, i16 0, i16 307, i16 308, i16 309, i16 310, i16 12339, i16 0, i16 0, i16 15839, i16 14131, i16 0, i16 0, i16 0, i16 14387, i16 0, i16 0, i16 0, i16 14643, i16 15448, i16 0, i16 0, i16 15155, i16 0, i16 0, i16 0, i16 15667, i16 0, i16 0, i16 0, i16 16435, i16 0, i16 0, i16 12749, i16 12596, i16 0, i16 0, i16 0, i16 13108, i16 13109, i16 13114, i16 13115, i16 13364, i16 14877, i16 0, i16 0, i16 14900, i16 0, i16 0, i16 0, i16 16436, i16 0, i16 0, i16 0, i16 53, i16 54, i16 55, i16 56, i16 12597, i16 0, i16 0, i16 16939, i16 13877, i16 0, i16 16491, i16 15185, i16 14901, i16 0, i16 0, i16 0, i16 16949, i16 0, i16 15802, i16 0, i16 566, i16 586, i16 587, i16 561, i16 822, i16 823, i16 824, i16 825, i16 1078, i16 1079, i16 1080, i16 1081, i16 14390, i16 0, i16 0, i16 0, i16 14902, i16 0, i16 0, i16 12930, i16 15158, i16 0, i16 12620, i16 15062, i16 15670, i16 0, i16 0, i16 0, i16 16438, i16 15340, i16 0, i16 16791, i16 311, i16 312, i16 313, i16 314, i16 13367, i16 16221, i16 16526, i16 0, i16 13879, i16 14764, i16 15132, i16 0, i16 15159, i16 15814, i16 0, i16 0, i16 15671, i16 0, i16 0, i16 16804, i16 16439, i16 13563, i16 0, i16 0, i16 16695, i16 0, i16 0, i16 0, i16 568, i16 590, i16 591, i16 563, i16 12600, i16 0, i16 0, i16 0, i16 13624, i16 0, i16 16032, i16 16310, i16 16440, i16 0, i16 12692, i16 13449, i16 16696, i16 0, i16 0, i16 14281, i16 16952, i16 16111, i16 0, i16 0, i16 57, i16 58, i16 59, i16 60, i16 13113, i16 0, i16 0, i16 0, i16 13881, i16 13940, i16 13941, i16 0, i16 15673, i16 16353, i16 0, i16 16691, i16 16441, i16 0, i16 12822, i16 15936, i16 16953, i16 16871, i16 15856, i16 12551, i16 826, i16 827, i16 828, i16 829, i16 1082, i16 1083, i16 1085, i16 1086, i16 14394, i16 15473, i16 0, i16 0, i16 15418, i16 15422, i16 15423, i16 15428, i16 16442, i16 0, i16 0, i16 0, i16 315, i16 316, i16 317, i16 318, i16 15931, i16 0, i16 14069, i16 0, i16 16187, i16 16188, i16 0, i16 0, i16 16699, i16 0, i16 0, i16 16698, i16 572, i16 594, i16 595, i16 562, i16 13116, i16 13117, i16 13118, i16 13119, i16 14908, i16 0, i16 0, i16 14194, i16 61, i16 62, i16 63, i16 64, i16 13629, i16 0, i16 0, i16 0, i16 574, i16 598, i16 599, i16 564, i16 830, i16 831, i16 832, i16 833, i16 12350, i16 0, i16 15031, i16 0, i16 12606, i16 13556, i16 14165, i16 0, i16 16190, i16 0, i16 0, i16 14219, i16 16446, i16 0, i16 0, i16 12529, i16 319, i16 320, i16 321, i16 322, i16 1087, i16 1088, i16 1089, i16 1090, i16 12863, i16 0, i16 0, i16 0, i16 14399, i16 0, i16 0, i16 15204, i16 14911, i16 14912, i16 14914, i16 14915, i16 14144, i16 13858, i16 0, i16 0, i16 14656, i16 0, i16 0, i16 0, i16 15424, i16 0, i16 0, i16 0, i16 16448, i16 14368, i16 17076, i16 12951, i16 65, i16 66, i16 67, i16 68, i16 12609, i16 0, i16 0, i16 0, i16 13121, i16 13122, i16 13292, i16 13314, i16 14657, i16 15421, i16 16239, i16 12586, i16 15169, i16 0, i16 0, i16 16147, i16 834, i16 835, i16 836, i16 837, i16 12354, i16 0, i16 16676, i16 14020, i16 13890, i16 0, i16 0, i16 0, i16 14402, i16 0, i16 15406, i16 0, i16 15426, i16 14351, i16 0, i16 0, i16 16450, i16 17137, i16 0, i16 0, i16 16706, i16 0, i16 0, i16 0, i16 323, i16 324, i16 325, i16 326, i16 1091, i16 1092, i16 1093, i16 1094, i16 12867, i16 0, i16 0, i16 0, i16 13123, i16 0, i16 13799, i16 13101, i16 13635, i16 0, i16 0, i16 0, i16 13891, i16 0, i16 0, i16 0, i16 14147, i16 0, i16 14148, i16 14149, i16 15939, i16 0, i16 14140, i16 13205, i16 16451, i16 0, i16 0, i16 0, i16 12356, i16 0, i16 0, i16 12804, i16 12612, i16 0, i16 0, i16 0, i16 12868, i16 0, i16 0, i16 0, i16 16708, i16 0, i16 0, i16 14124, i16 69, i16 70, i16 71, i16 72, i16 12357, i16 13758, i16 0, i16 17094, i16 838, i16 839, i16 840, i16 841, i16 12870, i16 12894, i16 12907, i16 12992, i16 14150, i16 0, i16 0, i16 13722, i16 14918, i16 14921, i16 14927, i16 14929, i16 16198, i16 0, i16 0, i16 0, i16 327, i16 328, i16 329, i16 330, i16 1095, i16 1096, i16 1097, i16 1098, i16 12871, i16 13304, i16 0, i16 0, i16 14151, i16 15380, i16 0, i16 16447, i16 14407, i16 0, i16 0, i16 0, i16 15431, i16 15432, i16 15433, i16 15434, i16 16199, i16 0, i16 16646, i16 12696, i16 16967, i16 0, i16 0, i16 0, i16 12360, i16 0, i16 0, i16 0, i16 12616, i16 0, i16 0, i16 0, i16 14152, i16 14254, i16 14256, i16 14275, i16 16200, i16 15023, i16 0, i16 0, i16 16968, i16 0, i16 0, i16 15490, i16 73, i16 74, i16 75, i16 76, i16 14409, i16 16493, i16 0, i16 12457, i16 16201, i16 0, i16 0, i16 12412, i16 842, i16 843, i16 844, i16 845, i16 13386, i16 0, i16 0, i16 0, i16 14410, i16 0, i16 0, i16 0, i16 15946, i16 0, i16 0, i16 0, i16 16458, i16 0, i16 0, i16 0, i16 331, i16 332, i16 333, i16 334, i16 1099, i16 1100, i16 1101, i16 1102, i16 13643, i16 0, i16 0, i16 0, i16 14667, i16 16229, i16 14220, i16 0, i16 16203, i16 0, i16 13697, i16 16959, i16 12876, i16 0, i16 14128, i16 0, i16 13644, i16 13645, i16 0, i16 0, i16 13900, i16 0, i16 0, i16 0, i16 14668, i16 15935, i16 0, i16 0, i16 15692, i16 0, i16 0, i16 0, i16 16460, i16 17118, i16 13652, i16 16277, i16 16716, i16 0, i16 0, i16 0, i16 16972, i16 13323, i16 0, i16 0, i16 77, i16 78, i16 79, i16 80, i16 13133, i16 0, i16 0, i16 0, i16 14413, i16 14238, i16 0, i16 0, i16 15437, i16 13403, i16 15831, i16 14474, i16 15693, i16 12584, i16 0, i16 14433, i16 846, i16 847, i16 848, i16 849, i16 12366, i16 0, i16 0, i16 0, i16 12622, i16 0, i16 0, i16 0, i16 14158, i16 0, i16 0, i16 0, i16 15182, i16 15183, i16 15189, i16 15191, i16 15438, i16 0, i16 15541, i16 0, i16 16718, i16 0, i16 0, i16 0, i16 335, i16 336, i16 337, i16 338, i16 1103, i16 1104, i16 1105, i16 1106, i16 16207, i16 13692, i16 0, i16 0, i16 16719, i16 16092, i16 0, i16 12318, i16 16975, i16 0, i16 16560, i16 0, i16 12368, i16 0, i16 14730, i16 16284, i16 12624, i16 13779, i16 0, i16 0, i16 12880, i16 0, i16 0, i16 0, i16 13648, i16 16754, i16 0, i16 0, i16 14672, i16 0, i16 0, i16 0, i16 14928, i16 0, i16 0, i16 0, i16 15440, i16 15484, i16 15485, i16 15488, i16 15952, i16 0, i16 0, i16 0, i16 81, i16 82, i16 83, i16 84, i16 12625, i16 0, i16 0, i16 0, i16 12881, i16 0, i16 0, i16 0, i16 13393, i16 15069, i16 0, i16 0, i16 13905, i16 0, i16 0, i16 0, i16 15441, i16 0, i16 12759, i16 15305, i16 15953, i16 15242, i16 0, i16 0, i16 850, i16 851, i16 0, i16 0, i16 12626, i16 0, i16 16516, i16 0, i16 13138, i16 0, i16 0, i16 0, i16 14930, i16 14931, i16 14933, i16 14937, i16 15954, i16 12429, i16 0, i16 0, i16 16978, i16 0, i16 12756, i16 0, i16 339, i16 340, i16 341, i16 342, i16 1107, i16 1108, i16 1109, i16 1110, i16 12371, i16 0, i16 0, i16 13280, i16 12883, i16 16244, i16 0, i16 14076, i16 852, i16 853, i16 854, i16 855, i16 85, i16 86, i16 87, i16 88, i16 13909, i16 0, i16 0, i16 0, i16 15190, i16 16683, i16 0, i16 0, i16 15446, i16 0, i16 0, i16 16364, i16 16726, i16 0, i16 15405, i16 0, i16 343, i16 344, i16 345, i16 346, i16 14167, i16 0, i16 0, i16 0, i16 16215, i16 0, i16 0, i16 16946, i16 856, i16 857, i16 858, i16 859, i16 12632, i16 0, i16 12954, i16 14051, i16 14680, i16 0, i16 0, i16 16133, i16 15192, i16 0, i16 0, i16 12731, i16 15704, i16 0, i16 0, i16 0, i16 13657, i16 0, i16 16746, i16 15249, i16 14169, i16 0, i16 0, i16 14941, i16 14681, i16 0, i16 0, i16 13062, i16 15193, i16 15196, i16 15203, i16 15208, i16 16217, i16 0, i16 0, i16 0, i16 602, i16 603, i16 575, i16 604, i16 12378, i16 0, i16 0, i16 0, i16 12634, i16 0, i16 0, i16 0, i16 13914, i16 0, i16 0, i16 0, i16 14938, i16 14942, i16 14950, i16 14952, i16 16218, i16 0, i16 15720, i16 15308, i16 16474, i16 0, i16 0, i16 0, i16 12635, i16 0, i16 15162, i16 0, i16 15195, i16 15117, i16 0, i16 0, i16 16219, i16 14723, i16 0, i16 14210, i16 16475, i16 16878, i16 0, i16 0, i16 16731, i16 13425, i16 13354, i16 0, i16 860, i16 861, i16 862, i16 863, i16 12636, i16 12671, i16 12843, i16 12848, i16 15452, i16 0, i16 0, i16 16113, i16 15964, i16 0, i16 0, i16 0, i16 16732, i16 15276, i16 0, i16 0, i16 93, i16 94, i16 95, i16 96, i16 605, i16 606, i16 607, i16 608, i16 12381, i16 0, i16 0, i16 0, i16 12637, i16 0, i16 0, i16 0, i16 15197, i16 0, i16 0, i16 0, i16 16989, i16 16604, i16 16529, i16 12685, i16 12382, i16 0, i16 0, i16 0, i16 13662, i16 17008, i16 17091, i16 15900, i16 15966, i16 0, i16 15965, i16 0, i16 16990, i16 0, i16 0, i16 15548, i16 351, i16 352, i16 353, i16 354, i16 12639, i16 13535, i16 16905, i16 0, i16 13407, i16 14189, i16 0, i16 0, i16 13919, i16 14215, i16 0, i16 0, i16 14175, i16 0, i16 16825, i16 0, i16 14687, i16 0, i16 15830, i16 17030, i16 16479, i16 0, i16 15951, i16 0, i16 864, i16 865, i16 866, i16 0, i16 12384, i16 15412, i16 14756, i16 0, i16 13152, i16 16096, i16 0, i16 0, i16 13408, i16 0, i16 0, i16 0, i16 13920, i16 0, i16 0, i16 0, i16 14688, i16 0, i16 0, i16 0, i16 16224, i16 0, i16 0, i16 0, i16 16480, i16 0, i16 0, i16 0, i16 16992, i16 0, i16 0, i16 0, i16 97, i16 98, i16 99, i16 100, i16 609, i16 610, i16 611, i16 565, i16 12385, i16 15963, i16 0, i16 0, i16 13153, i16 15352, i16 0, i16 0, i16 14177, i16 16622, i16 0, i16 0, i16 15201, i16 13463, i16 0, i16 12601, i16 16481, i16 0, i16 16100, i16 14801, i16 16737, i16 14119, i16 13491, i16 15570, i16 12642, i16 15578, i16 0, i16 15586, i16 14178, i16 0, i16 0, i16 0, i16 14434, i16 0, i16 12816, i16 0, i16 15202, i16 12458, i16 0, i16 0, i16 15714, i16 0, i16 0, i16 0, i16 16738, i16 17040, i16 0, i16 13241, i16 355, i16 356, i16 357, i16 358, i16 14691, i16 0, i16 13169, i16 0, i16 14947, i16 0, i16 0, i16 15534, i16 12644, i16 0, i16 16786, i16 0, i16 12900, i16 14153, i16 16593, i16 0, i16 13668, i16 0, i16 16247, i16 0, i16 101, i16 102, i16 103, i16 104, i16 13157, i16 0, i16 0, i16 0, i16 13413, i16 0, i16 0, i16 0, i16 14181, i16 0, i16 0, i16 0, i16 14437, i16 14744, i16 12562, i16 0, i16 14949, i16 14462, i16 12293, i16 0, i16 16485, i16 0, i16 0, i16 0, i16 16997, i16 13129, i16 0, i16 15959, i16 870, i16 0, i16 0, i16 0, i16 13670, i16 12405, i16 0, i16 0, i16 13926, i16 0, i16 16547, i16 0, i16 15206, i16 0, i16 0, i16 0, i16 16742, i16 0, i16 15362, i16 0, i16 359, i16 360, i16 361, i16 362, i16 13671, i16 0, i16 0, i16 16700, i16 14695, i16 0, i16 14197, i16 0, i16 16231, i16 0, i16 0, i16 15711, i16 16743, i16 0, i16 0, i16 0, i16 16999, i16 12558, i16 0, i16 0, i16 616, i16 622, i16 623, i16 624, i16 13928, i16 13929, i16 0, i16 0, i16 15464, i16 16002, i16 0, i16 0, i16 15976, i16 0, i16 0, i16 16852, i16 16232, i16 0, i16 16003, i16 0, i16 16744, i16 0, i16 14502, i16 13911, i16 105, i16 106, i16 107, i16 108, i16 617, i16 675, i16 690, i16 283, i16 14953, i16 14956, i16 14964, i16 14968, i16 15209, i16 13666, i16 16813, i16 14575, i16 15465, i16 0, i16 0, i16 0, i16 15721, i16 0, i16 0, i16 0, i16 16489, i16 13095, i16 0, i16 14300, i16 16745, i16 0, i16 0, i16 0, i16 14954, i16 0, i16 0, i16 0, i16 363, i16 364, i16 365, i16 366, i16 619, i16 620, i16 621, i16 640, i16 875, i16 0, i16 0, i16 0, i16 12395, i16 0, i16 0, i16 0, i16 13163, i16 0, i16 13604, i16 0, i16 13931, i16 0, i16 16865, i16 13665, i16 14699, i16 0, i16 0, i16 0, i16 15723, i16 0, i16 0, i16 0, i16 16747, i16 15442, i16 12315, i16 0, i16 14444, i16 0, i16 14347, i16 0, i16 14700, i16 15223, i16 0, i16 0, i16 15468, i16 0, i16 0, i16 0, i16 15724, i16 0, i16 0, i16 0, i16 16236, i16 0, i16 12512, i16 16144, i16 109, i16 110, i16 111, i16 112, i16 14701, i16 0, i16 12413, i16 15310, i16 15213, i16 0, i16 0, i16 16807, i16 15981, i16 0, i16 0, i16 14611, i16 12398, i16 0, i16 13810, i16 0, i16 13422, i16 0, i16 0, i16 0, i16 13678, i16 16641, i16 15345, i16 0, i16 14702, i16 0, i16 0, i16 0, i16 15726, i16 0, i16 12419, i16 17035, i16 16238, i16 0, i16 14062, i16 0, i16 367, i16 368, i16 369, i16 370, i16 879, i16 880, i16 881, i16 882, i16 12399, i16 15153, i16 0, i16 0, i16 13423, i16 0, i16 0, i16 17122, i16 14191, i16 0, i16 16427, i16 0, i16 14703, i16 13623, i16 0, i16 16506, i16 15983, i16 15729, i16 0, i16 0, i16 16495, i16 0, i16 16714, i16 0, i16 12656, i16 0, i16 13762, i16 0, i16 13936, i16 0, i16 0, i16 12284, i16 14448, i16 12575, i16 0, i16 13776, i16 14704, i16 0, i16 13229, i16 15194, i16 113, i16 114, i16 115, i16 116, i16 625, i16 626, i16 627, i16 628, i16 12657, i16 16053, i16 0, i16 0, i16 15985, i16 0, i16 16183, i16 13515, i16 17009, i16 0, i16 14554, i16 0, i16 12658, i16 0, i16 0, i16 0, i16 15474, i16 0, i16 16770, i16 0, i16 16498, i16 15164, i16 0, i16 0, i16 17010, i16 0, i16 13788, i16 13789, i16 371, i16 372, i16 373, i16 374, i16 883, i16 884, i16 885, i16 886, i16 14963, i16 15898, i16 0, i16 0, i16 16755, i16 0, i16 0, i16 0, i16 17011, i16 0, i16 0, i16 15514, i16 12404, i16 0, i16 0, i16 0, i16 12916, i16 0, i16 0, i16 14195, i16 16500, i16 0, i16 14290, i16 0, i16 117, i16 118, i16 119, i16 120, i16 629, i16 630, i16 631, i16 618, i16 13173, i16 0, i16 16230, i16 0, i16 13685, i16 13795, i16 16412, i16 0, i16 16245, i16 0, i16 16891, i16 0, i16 16501, i16 0, i16 0, i16 0, i16 12918, i16 0, i16 0, i16 0, i16 13686, i16 0, i16 0, i16 0, i16 13942, i16 13667, i16 0, i16 0, i16 14198, i16 12283, i16 0, i16 0, i16 14710, i16 0, i16 0, i16 0, i16 15478, i16 0, i16 15445, i16 15918, i16 16246, i16 16210, i16 13864, i16 0, i16 16758, i16 0, i16 0, i16 0, i16 375, i16 376, i16 377, i16 378, i16 887, i16 888, i16 889, i16 890, i16 12663, i16 0, i16 0, i16 0, i16 13431, i16 15482, i16 0, i16 0, i16 13687, i16 0, i16 0, i16 0, i16 15479, i16 0, i16 0, i16 0, i16 15735, i16 0, i16 14247, i16 0, i16 15991, i16 0, i16 0, i16 12861, i16 16503, i16 0, i16 0, i16 0, i16 13176, i16 0, i16 0, i16 0, i16 14456, i16 0, i16 0, i16 14707, i16 15224, i16 0, i16 0, i16 0, i16 16248, i16 0, i16 0, i16 0, i16 121, i16 122, i16 123, i16 124, i16 13689, i16 0, i16 0, i16 15343, i16 15481, i16 0, i16 15241, i16 0, i16 16761, i16 15321, i16 0, i16 0, i16 13178, i16 0, i16 16356, i16 0, i16 13946, i16 14970, i16 0, i16 0, i16 14458, i16 0, i16 0, i16 15513, i16 379, i16 380, i16 224, i16 0, i16 891, i16 892, i16 893, i16 894, i16 12923, i16 0, i16 0, i16 0, i16 14203, i16 0, i16 0, i16 0, i16 14459, i16 16609, i16 0, i16 12288, i16 14971, i16 14974, i16 14977, i16 14979, i16 15227, i16 17075, i16 14960, i16 0, i16 17019, i16 12410, i16 0, i16 0, i16 12668, i16 0, i16 12416, i16 0, i16 12924, i16 0, i16 0, i16 16146, i16 13948, i16 13979, i16 14073, i16 14121, i16 16764, i16 0, i16 0, i16 0, i16 17020, i16 0, i16 0, i16 0, i16 125, i16 126, i16 127, i16 132, i16 637, i16 638, i16 671, i16 672, i16 12925, i16 0, i16 0, i16 17153, i16 13437, i16 14216, i16 0, i16 0, i16 15997, i16 0, i16 0, i16 0, i16 16253, i16 17110, i16 16998, i16 0, i16 17021, i16 14028, i16 14602, i16 0, i16 12414, i16 0, i16 0, i16 15940, i16 13182, i16 0, i16 0, i16 0, i16 15230, i16 0, i16 0, i16 0, i16 15998, i16 13078, i16 12795, i16 0, i16 639, i16 688, i16 632, i16 0, i16 895, i16 896, i16 897, i16 898, i16 15487, i16 0, i16 16117, i16 0, i16 16511, i16 0, i16 13967, i16 0, i16 12672, i16 0, i16 0, i16 0, i16 12928, i16 0, i16 0, i16 0, i16 13952, i16 0, i16 0, i16 14693, i16 14720, i16 15363, i16 17000, i16 0, i16 15232, i16 0, i16 0, i16 14017, i16 17024, i16 0, i16 0, i16 0, i16 385, i16 386, i16 387, i16 388, i16 641, i16 680, i16 681, i16 682, i16 12673, i16 15969, i16 15810, i16 15142, i16 12929, i16 14360, i16 15168, i16 0, i16 13953, i16 17120, i16 0, i16 0, i16 15233, i16 0, i16 0, i16 0, i16 15745, i16 13371, i16 15358, i16 16608, i16 16513, i16 0, i16 0, i16 0, i16 16769, i16 0, i16 14392, i16 0, i16 17025, i16 0, i16 0, i16 0, i16 642, i16 643, i16 644, i16 645, i16 12674, i16 0, i16 13497, i16 16005, i16 13186, i16 0, i16 0, i16 0, i16 14466, i16 16629, i16 0, i16 0, i16 15746, i16 0, i16 0, i16 0, i16 131, i16 0, i16 693, i16 0, i16 899, i16 900, i16 901, i16 902, i16 13955, i16 0, i16 14350, i16 0, i16 15235, i16 14924, i16 0, i16 0, i16 16259, i16 0, i16 12776, i16 15255, i16 16771, i16 0, i16 0, i16 0, i16 17027, i16 0, i16 0, i16 0, i16 12932, i16 15535, i16 13829, i16 12760, i16 13188, i16 0, i16 0, i16 16888, i16 13444, i16 0, i16 0, i16 0, i16 14212, i16 0, i16 0, i16 15638, i16 14468, i16 0, i16 15186, i16 13221, i16 16004, i16 0, i16 0, i16 13654, i16 389, i16 390, i16 391, i16 392, i16 12933, i16 15624, i16 0, i16 0, i16 15493, i16 15494, i16 15495, i16 15496, i16 16517, i16 0, i16 12390, i16 0, i16 646, i16 647, i16 648, i16 649, i16 12678, i16 0, i16 0, i16 0, i16 13446, i16 0, i16 0, i16 0, i16 14982, i16 14983, i16 14984, i16 14986, i16 15238, i16 0, i16 14524, i16 0, i16 15750, i16 0, i16 14589, i16 0, i16 16774, i16 12986, i16 15718, i16 0, i16 903, i16 904, i16 905, i16 906, i16 13447, i16 0, i16 0, i16 0, i16 14471, i16 12595, i16 16282, i16 14959, i16 15751, i16 0, i16 14208, i16 0, i16 16263, i16 0, i16 14091, i16 0, i16 16775, i16 15669, i16 0, i16 0, i16 136, i16 348, i16 349, i16 350, i16 12424, i16 12430, i16 12447, i16 12611, i16 12680, i16 0, i16 16168, i16 0, i16 14472, i16 14429, i16 0, i16 0, i16 15240, i16 15283, i16 15323, i16 15359, i16 15752, i16 15337, i16 15932, i16 14724, i16 16264, i16 0, i16 0, i16 0, i16 16520, i16 0, i16 0, i16 0, i16 137, i16 203, i16 0, i16 0, i16 393, i16 394, i16 395, i16 396, i16 12937, i16 15537, i16 0, i16 0, i16 14217, i16 0, i16 0, i16 0, i16 16777, i16 0, i16 0, i16 0, i16 17033, i16 0, i16 15761, i16 0, i16 138, i16 139, i16 0, i16 0, i16 650, i16 651, i16 657, i16 658, i16 12682, i16 0, i16 0, i16 0, i16 12938, i16 0, i16 0, i16 0, i16 14218, i16 0, i16 0, i16 16130, i16 16778, i16 13956, i16 0, i16 0, i16 17034, i16 0, i16 13841, i16 12533, i16 907, i16 908, i16 909, i16 910, i16 12427, i16 0, i16 0, i16 0, i16 13195, i16 0, i16 16922, i16 0, i16 13707, i16 0, i16 0, i16 0, i16 14475, i16 0, i16 0, i16 0, i16 15499, i16 15502, i16 15504, i16 15510, i16 16011, i16 0, i16 0, i16 16509, i16 16779, i16 12836, i16 16582, i16 0, i16 140, i16 141, i16 0, i16 0, i16 652, i16 653, i16 654, i16 655, i16 12684, i16 0, i16 0, i16 0, i16 13452, i16 12433, i16 0, i16 0, i16 13708, i16 0, i16 14987, i16 0, i16 13964, i16 0, i16 15770, i16 16631, i16 14988, i16 14989, i16 14990, i16 14993, i16 15500, i16 0, i16 0, i16 0, i16 15756, i16 17160, i16 0, i16 0, i16 16012, i16 0, i16 0, i16 0, i16 16780, i16 14427, i16 14651, i16 16249, i16 397, i16 398, i16 399, i16 400, i16 14733, i16 15528, i16 0, i16 0, i16 15245, i16 16145, i16 12910, i16 15246, i16 142, i16 143, i16 0, i16 0, i16 12686, i16 0, i16 0, i16 0, i16 16270, i16 15176, i16 16407, i16 0, i16 911, i16 912, i16 913, i16 914, i16 12687, i16 0, i16 0, i16 0, i16 13455, i16 13547, i16 13572, i16 13917, i16 15759, i16 0, i16 0, i16 0, i16 16527, i16 13808, i16 0, i16 12337, i16 144, i16 145, i16 146, i16 147, i16 656, i16 0, i16 0, i16 0, i16 13200, i16 0, i16 0, i16 14170, i16 13456, i16 0, i16 0, i16 0, i16 401, i16 402, i16 403, i16 404, i16 12945, i16 13998, i16 0, i16 0, i16 13457, i16 16256, i16 0, i16 16553, i16 13969, i16 13521, i16 0, i16 0, i16 15505, i16 0, i16 0, i16 0, i16 12434, i16 0, i16 15058, i16 13539, i16 12690, i16 14684, i16 12987, i16 16033, i16 14482, i16 0, i16 0, i16 0, i16 15250, i16 0, i16 0, i16 0, i16 15762, i16 14596, i16 16510, i16 0, i16 16274, i16 13878, i16 0, i16 0, i16 16530, i16 0, i16 0, i16 13211, i16 659, i16 660, i16 661, i16 662, i16 915, i16 916, i16 917, i16 918, i16 13971, i16 0, i16 12440, i16 0, i16 14739, i16 0, i16 0, i16 0, i16 14995, i16 14996, i16 14999, i16 15000, i16 15507, i16 14598, i16 14237, i16 15914, i16 15763, i16 15390, i16 12379, i16 14705, i16 16275, i16 0, i16 0, i16 0, i16 148, i16 149, i16 150, i16 151, i16 13460, i16 0, i16 16753, i16 15034, i16 13716, i16 13717, i16 15801, i16 0, i16 14484, i16 13903, i16 14323, i16 0, i16 15764, i16 0, i16 15835, i16 0, i16 16276, i16 16223, i16 0, i16 0, i16 405, i16 406, i16 407, i16 408, i16 12437, i16 0, i16 0, i16 13759, i16 13461, i16 0, i16 0, i16 0, i16 15253, i16 0, i16 0, i16 0, i16 14486, i16 15451, i16 0, i16 16104, i16 663, i16 664, i16 665, i16 666, i16 919, i16 920, i16 921, i16 922, i16 13207, i16 0, i16 0, i16 15529, i16 13719, i16 12365, i16 16469, i16 15002, i16 14231, i16 12961, i16 0, i16 0, i16 14743, i16 0, i16 0, i16 0, i16 15511, i16 15515, i16 15516, i16 15519, i16 15767, i16 14614, i16 0, i16 13954, i16 152, i16 153, i16 0, i16 199, i16 12952, i16 0, i16 0, i16 0, i16 13208, i16 0, i16 0, i16 0, i16 14232, i16 0, i16 0, i16 0, i16 15256, i16 13725, i16 0, i16 16406, i16 16792, i16 0, i16 12502, i16 0, i16 17048, i16 0, i16 16613, i16 0, i16 409, i16 410, i16 411, i16 412, i16 12697, i16 0, i16 0, i16 0, i16 13465, i16 0, i16 15265, i16 16948, i16 14489, i16 0, i16 12306, i16 0, i16 15001, i16 15003, i16 15009, i16 15014, i16 12442, i16 13226, i16 0, i16 14226, i16 12698, i16 15313, i16 0, i16 17014, i16 15258, i16 0, i16 0, i16 0, i16 16538, i16 13681, i16 16557, i16 0, i16 667, i16 612, i16 613, i16 614, i16 923, i16 924, i16 925, i16 926, i16 12443, i16 16521, i16 0, i16 16894, i16 16539, i16 16116, i16 14202, i16 15247, i16 16795, i16 16796, i16 16864, i16 16991, i16 17052, i16 0, i16 0, i16 0, i16 157, i16 177, i16 0, i16 0, i16 413, i16 414, i16 415, i16 416, i16 669, i16 670, i16 285, i16 687, i16 12957, i16 0, i16 12393, i16 0, i16 13213, i16 0, i16 13510, i16 0, i16 15005, i16 0, i16 0, i16 0, i16 15517, i16 0, i16 0, i16 0, i16 16541, i16 15492, i16 0, i16 0, i16 158, i16 159, i16 0, i16 0, i16 12702, i16 16396, i16 16565, i16 0, i16 13726, i16 0, i16 15904, i16 0, i16 15006, i16 0, i16 0, i16 13595, i16 15518, i16 0, i16 0, i16 0, i16 927, i16 928, i16 929, i16 930, i16 13983, i16 0, i16 0, i16 0, i16 16287, i16 0, i16 0, i16 0, i16 17055, i16 0, i16 0, i16 0, i16 13472, i16 14810, i16 14523, i16 0, i16 15520, i16 15531, i16 15539, i16 15540, i16 16544, i16 0, i16 12913, i16 0, i16 161, i16 205, i16 0, i16 0, i16 417, i16 418, i16 419, i16 420, i16 673, i16 633, i16 634, i16 635, i16 13729, i16 14746, i16 0, i16 15579, i16 14497, i16 0, i16 0, i16 13296, i16 16545, i16 0, i16 0, i16 15030, i16 162, i16 154, i16 868, i16 869, i16 12450, i16 0, i16 0, i16 0, i16 13218, i16 16234, i16 0, i16 0, i16 13474, i16 0, i16 15986, i16 0, i16 931, i16 932, i16 933, i16 934, i16 12963, i16 16061, i16 0, i16 0, i16 13731, i16 14781, i16 15351, i16 0, i16 14243, i16 0, i16 0, i16 0, i16 17059, i16 15542, i16 13128, i16 0, i16 13476, i16 0, i16 0, i16 0, i16 13732, i16 0, i16 0, i16 15733, i16 15524, i16 0, i16 13441, i16 0, i16 16548, i16 16337, i16 0, i16 13756, i16 17060, i16 0, i16 0, i16 0, i16 421, i16 422, i16 423, i16 424, i16 12709, i16 0, i16 0, i16 0, i16 13733, i16 0, i16 0, i16 0, i16 13989, i16 0, i16 0, i16 0, i16 14501, i16 0, i16 0, i16 15771, i16 15013, i16 0, i16 13401, i16 13158, i16 15525, i16 0, i16 0, i16 0, i16 16805, i16 15459, i16 15096, i16 13761, i16 17061, i16 0, i16 14417, i16 0, i16 12966, i16 0, i16 15984, i16 0, i16 13734, i16 0, i16 13803, i16 13637, i16 14246, i16 0, i16 14315, i16 0, i16 16038, i16 0, i16 0, i16 14842, i16 16550, i16 12792, i16 0, i16 0, i16 17062, i16 0, i16 0, i16 15604, i16 167, i16 168, i16 218, i16 381, i16 935, i16 936, i16 937, i16 938, i16 13735, i16 0, i16 13742, i16 13171, i16 14759, i16 16681, i16 0, i16 13892, i16 15271, i16 15272, i16 14418, i16 0, i16 12968, i16 0, i16 14867, i16 0, i16 16040, i16 0, i16 16175, i16 0, i16 16552, i16 16563, i16 16665, i16 16686, i16 425, i16 426, i16 427, i16 428, i16 13225, i16 15942, i16 13512, i16 0, i16 13481, i16 0, i16 0, i16 0, i16 15017, i16 15018, i16 15020, i16 15021, i16 15785, i16 0, i16 0, i16 16662, i16 16297, i16 0, i16 0, i16 0, i16 12714, i16 0, i16 12438, i16 16242, i16 14250, i16 16679, i16 14694, i16 0, i16 15530, i16 15333, i16 0, i16 0, i16 16298, i16 15512, i16 0, i16 13777, i16 16554, i16 0, i16 0, i16 13450, i16 171, i16 0, i16 170, i16 0, i16 683, i16 676, i16 677, i16 678, i16 939, i16 940, i16 941, i16 942, i16 12459, i16 16235, i16 0, i16 0, i16 12715, i16 0, i16 0, i16 0, i16 12971, i16 0, i16 0, i16 0, i16 13227, i16 0, i16 0, i16 0, i16 15787, i16 0, i16 0, i16 0, i16 17067, i16 0, i16 0, i16 0, i16 172, i16 0, i16 0, i16 0, i16 12972, i16 0, i16 0, i16 15139, i16 13228, i16 0, i16 0, i16 0, i16 14508, i16 0, i16 13704, i16 0, i16 16044, i16 0, i16 0, i16 0, i16 16556, i16 0, i16 0, i16 0, i16 429, i16 430, i16 431, i16 432, i16 685, i16 0, i16 0, i16 686, i16 13485, i16 0, i16 0, i16 0, i16 13997, i16 0, i16 0, i16 0, i16 14509, i16 13175, i16 16316, i16 0, i16 15533, i16 0, i16 0, i16 0, i16 15789, i16 17036, i16 0, i16 0, i16 16045, i16 0, i16 16600, i16 0, i16 16301, i16 0, i16 15820, i16 12844, i16 12718, i16 16063, i16 12914, i16 14117, i16 12974, i16 0, i16 16705, i16 0, i16 13230, i16 0, i16 15623, i16 13677, i16 14766, i16 0, i16 0, i16 0, i16 15022, i16 0, i16 13436, i16 0, i16 15278, i16 0, i16 14272, i16 0, i16 16302, i16 14904, i16 16258, i16 16283, i16 16558, i16 16824, i16 0, i16 0, i16 943, i16 944, i16 945, i16 946, i16 14255, i16 16131, i16 0, i16 13355, i16 15791, i16 0, i16 0, i16 0, i16 16815, i16 0, i16 0, i16 0, i16 17071, i16 0, i16 0, i16 0, i16 13488, i16 0, i16 0, i16 0, i16 14768, i16 0, i16 14039, i16 0, i16 15024, i16 15039, i16 15041, i16 15046, i16 433, i16 434, i16 435, i16 436, i16 689, i16 684, i16 0, i16 0, i16 12465, i16 13274, i16 0, i16 13752, i16 12721, i16 16798, i16 14932, i16 0, i16 12977, i16 0, i16 12908, i16 0, i16 14257, i16 14133, i16 0, i16 0, i16 15025, i16 0, i16 0, i16 0, i16 16817, i16 12884, i16 0, i16 0, i16 12466, i16 16789, i16 12563, i16 13222, i16 13234, i16 0, i16 0, i16 0, i16 15794, i16 0, i16 0, i16 0, i16 947, i16 948, i16 949, i16 950, i16 12723, i16 0, i16 0, i16 0, i16 14771, i16 0, i16 13435, i16 0, i16 16051, i16 15890, i16 0, i16 0, i16 16819, i16 12329, i16 0, i16 17001, i16 692, i16 0, i16 0, i16 0, i16 12724, i16 0, i16 13132, i16 0, i16 15796, i16 0, i16 0, i16 0, i16 16308, i16 16502, i16 16504, i16 16536, i16 437, i16 438, i16 439, i16 440, i16 12725, i16 0, i16 0, i16 0, i16 13493, i16 0, i16 0, i16 0, i16 14005, i16 0, i16 0, i16 0, i16 15029, i16 0, i16 0, i16 0, i16 12726, i16 0, i16 15184, i16 0, i16 13238, i16 16154, i16 16911, i16 0, i16 14006, i16 0, i16 0, i16 0, i16 14774, i16 0, i16 0, i16 0, i16 15286, i16 0, i16 0, i16 0, i16 16822, i16 14980, i16 0, i16 0, i16 17078, i16 0, i16 0, i16 0, i16 951, i16 952, i16 953, i16 954, i16 12471, i16 0, i16 0, i16 12778, i16 13751, i16 0, i16 16204, i16 0, i16 14519, i16 0, i16 0, i16 0, i16 14775, i16 0, i16 0, i16 0, i16 15543, i16 15546, i16 15549, i16 15550, i16 12472, i16 16606, i16 14284, i16 0, i16 13240, i16 12549, i16 0, i16 13294, i16 15288, i16 0, i16 0, i16 0, i16 16056, i16 0, i16 0, i16 0, i16 441, i16 442, i16 443, i16 444, i16 12473, i16 0, i16 0, i16 0, i16 14521, i16 14717, i16 14727, i16 14735, i16 15289, i16 12888, i16 0, i16 16378, i16 16313, i16 13827, i16 0, i16 14976, i16 16569, i16 16206, i16 0, i16 0, i16 698, i16 0, i16 0, i16 0, i16 14266, i16 0, i16 0, i16 0, i16 14778, i16 0, i16 0, i16 0, i16 16058, i16 0, i16 0, i16 0, i16 955, i16 956, i16 957, i16 958, i16 14267, i16 0, i16 0, i16 0, i16 12988, i16 0, i16 0, i16 0, i16 14268, i16 0, i16 13468, i16 0, i16 15036, i16 0, i16 0, i16 0, i16 16572, i16 14518, i16 12691, i16 13239, i16 189, i16 188, i16 0, i16 253, i16 445, i16 446, i16 447, i16 448, i16 12477, i16 15331, i16 0, i16 0, i16 13245, i16 0, i16 0, i16 0, i16 13757, i16 0, i16 0, i16 14374, i16 14525, i16 0, i16 13038, i16 0, i16 16317, i16 0, i16 0, i16 0, i16 17085, i16 0, i16 15086, i16 0, i16 15038, i16 0, i16 17064, i16 0, i16 15806, i16 0, i16 0, i16 0, i16 16574, i16 0, i16 0, i16 0, i16 14783, i16 0, i16 0, i16 0, i16 15551, i16 15803, i16 0, i16 16468, i16 704, i16 705, i16 706, i16 707, i16 13248, i16 14745, i16 0, i16 15254, i16 13504, i16 0, i16 0, i16 0, i16 14016, i16 15498, i16 16826, i16 0, i16 15808, i16 0, i16 12581, i16 0, i16 16320, i16 0, i16 0, i16 0, i16 16576, i16 0, i16 0, i16 0, i16 193, i16 192, i16 0, i16 0, i16 449, i16 450, i16 451, i16 452, i16 12481, i16 15674, i16 0, i16 0, i16 12737, i16 0, i16 0, i16 16125, i16 12993, i16 12996, i16 12999, i16 13000, i16 13505, i16 12448, i16 0, i16 16713, i16 15297, i16 15282, i16 16915, i16 0, i16 16321, i16 0, i16 0, i16 0, i16 17089, i16 0, i16 0, i16 0, i16 962, i16 963, i16 964, i16 965, i16 12482, i16 0, i16 0, i16 0, i16 12994, i16 0, i16 0, i16 14948, i16 13250, i16 0, i16 17056, i16 0, i16 15042, i16 0, i16 0, i16 0, i16 16322, i16 0, i16 0, i16 0, i16 195, i16 196, i16 194, i16 197, i16 12483, i16 16508, i16 13428, i16 13090, i16 14019, i16 15663, i16 0, i16 14242, i16 15043, i16 0, i16 15522, i16 0, i16 15299, i16 14752, i16 16138, i16 12614, i16 15811, i16 0, i16 0, i16 0, i16 708, i16 709, i16 710, i16 711, i16 12484, i16 0, i16 13845, i16 0, i16 13508, i16 12695, i16 0, i16 0, i16 453, i16 454, i16 455, i16 456, i16 13253, i16 0, i16 0, i16 0, i16 13765, i16 0, i16 0, i16 12940, i16 14021, i16 0, i16 0, i16 0, i16 14789, i16 0, i16 12336, i16 0, i16 15557, i16 0, i16 0, i16 0, i16 16069, i16 0, i16 14166, i16 0, i16 198, i16 271, i16 274, i16 272, i16 966, i16 967, i16 968, i16 969, i16 12486, i16 15292, i16 0, i16 0, i16 14022, i16 12548, i16 0, i16 0, i16 14534, i16 14770, i16 0, i16 14512, i16 14790, i16 0, i16 0, i16 0, i16 15558, i16 0, i16 0, i16 0, i16 16070, i16 15545, i16 0, i16 0, i16 13255, i16 0, i16 0, i16 0, i16 15047, i16 15051, i16 15053, i16 15055, i16 16071, i16 16132, i16 16153, i16 16237, i16 712, i16 713, i16 714, i16 715, i16 14280, i16 0, i16 15295, i16 0, i16 14536, i16 0, i16 0, i16 0, i16 16072, i16 16419, i16 0, i16 15427, i16 17096, i16 0, i16 0, i16 0, i16 457, i16 458, i16 459, i16 460, i16 12489, i16 0, i16 0, i16 13963, i16 13001, i16 13002, i16 13003, i16 13004, i16 14025, i16 0, i16 0, i16 0, i16 14793, i16 16370, i16 0, i16 0, i16 15049, i16 0, i16 14621, i16 15073, i16 15561, i16 0, i16 0, i16 15636, i16 16585, i16 0, i16 0, i16 16785, i16 970, i16 971, i16 972, i16 973, i16 12490, i16 0, i16 0, i16 0, i16 12746, i16 13990, i16 0, i16 0, i16 14026, i16 0, i16 13980, i16 0, i16 15818, i16 15722, i16 0, i16 14075, i16 17098, i16 0, i16 0, i16 0, i16 14795, i16 0, i16 0, i16 0, i16 15307, i16 0, i16 0, i16 0, i16 15819, i16 0, i16 0, i16 15927, i16 16075, i16 0, i16 0, i16 0, i16 716, i16 717, i16 718, i16 719, i16 14796, i16 0, i16 16022, i16 0, i16 15052, i16 0, i16 13418, i16 12665, i16 16844, i16 0, i16 0, i16 0, i16 461, i16 462, i16 463, i16 464, i16 13261, i16 0, i16 0, i16 0, i16 14541, i16 13220, i16 0, i16 0, i16 15309, i16 0, i16 12712, i16 0, i16 15565, i16 15566, i16 15568, i16 15573, i16 15821, i16 0, i16 16052, i16 0, i16 17101, i16 0, i16 0, i16 0, i16 974, i16 975, i16 976, i16 977, i16 13006, i16 13007, i16 13008, i16 13009, i16 13518, i16 0, i16 0, i16 14415, i16 14542, i16 0, i16 0, i16 0, i16 16078, i16 14393, i16 0, i16 0, i16 207, i16 0, i16 235, i16 0, i16 12495, i16 0, i16 0, i16 16950, i16 13519, i16 0, i16 0, i16 0, i16 15311, i16 0, i16 14830, i16 14282, i16 15567, i16 0, i16 0, i16 16619, i16 15823, i16 0, i16 0, i16 16027, i16 16847, i16 0, i16 0, i16 14496, i16 17103, i16 17115, i16 0, i16 0, i16 208, i16 0, i16 0, i16 209, i16 720, i16 721, i16 722, i16 723, i16 14544, i16 0, i16 0, i16 0, i16 15056, i16 15059, i16 15071, i16 15076, i16 16336, i16 0, i16 0, i16 0, i16 16592, i16 15685, i16 0, i16 0, i16 16848, i16 0, i16 13214, i16 0, i16 17104, i16 14273, i16 14711, i16 0, i16 465, i16 466, i16 467, i16 468, i16 12753, i16 14734, i16 0, i16 16252, i16 14033, i16 0, i16 0, i16 15601, i16 16081, i16 0, i16 0, i16 0, i16 978, i16 979, i16 980, i16 981, i16 13010, i16 13012, i16 13013, i16 13014, i16 15826, i16 16028, i16 12772, i16 0, i16 16594, i16 0, i16 0, i16 0, i16 16850, i16 0, i16 16189, i16 0, i16 17106, i16 0, i16 0, i16 12294, i16 14547, i16 0, i16 0, i16 14190, i16 15315, i16 0, i16 0, i16 0, i16 15827, i16 0, i16 0, i16 12830, i16 724, i16 725, i16 726, i16 727, i16 12500, i16 0, i16 0, i16 16134, i16 13524, i16 0, i16 0, i16 0, i16 13780, i16 13256, i16 0, i16 0, i16 14804, i16 16701, i16 0, i16 0, i16 15060, i16 0, i16 12324, i16 0, i16 15316, i16 0, i16 15341, i16 0, i16 15572, i16 0, i16 0, i16 14646, i16 15828, i16 0, i16 13541, i16 15450, i16 469, i16 470, i16 471, i16 472, i16 12501, i16 0, i16 0, i16 0, i16 12757, i16 0, i16 0, i16 14292, i16 13269, i16 0, i16 0, i16 0, i16 13781, i16 0, i16 0, i16 13202, i16 14293, i16 0, i16 0, i16 14850, i16 982, i16 983, i16 984, i16 985, i16 13526, i16 12773, i16 0, i16 13700, i16 15574, i16 15575, i16 15650, i16 15725, i16 16854, i16 0, i16 15593, i16 14511, i16 13015, i16 13017, i16 13019, i16 13020, i16 14295, i16 0, i16 0, i16 0, i16 16599, i16 13986, i16 0, i16 0, i16 728, i16 729, i16 730, i16 731, i16 12504, i16 0, i16 0, i16 0, i16 13272, i16 13695, i16 17084, i16 13561, i16 14040, i16 16182, i16 16408, i16 0, i16 14296, i16 0, i16 0, i16 0, i16 14552, i16 0, i16 13151, i16 16838, i16 217, i16 215, i16 214, i16 206, i16 473, i16 474, i16 475, i16 0, i16 13529, i16 0, i16 15231, i16 0, i16 16089, i16 0, i16 16543, i16 0, i16 986, i16 987, i16 988, i16 989, i16 12762, i16 0, i16 0, i16 12667, i16 14042, i16 0, i16 14899, i16 0, i16 14298, i16 0, i16 0, i16 0, i16 15322, i16 14491, i16 0, i16 12496, i16 16602, i16 0, i16 0, i16 0, i16 12763, i16 0, i16 0, i16 15467, i16 13275, i16 14301, i16 0, i16 17006, i16 13531, i16 0, i16 14555, i16 0, i16 220, i16 0, i16 0, i16 0, i16 476, i16 477, i16 478, i16 479, i16 732, i16 733, i16 734, i16 735, i16 12764, i16 15934, i16 0, i16 16323, i16 14812, i16 12878, i16 0, i16 15877, i16 15580, i16 14196, i16 16484, i16 15632, i16 221, i16 0, i16 175, i16 222, i16 12509, i16 0, i16 0, i16 0, i16 13533, i16 0, i16 0, i16 0, i16 14557, i16 14233, i16 0, i16 0, i16 14813, i16 0, i16 0, i16 0, i16 15325, i16 0, i16 15780, i16 0, i16 16093, i16 16897, i16 13603, i16 0, i16 16349, i16 0, i16 14054, i16 14713, i16 990, i16 991, i16 992, i16 993, i16 12510, i16 15805, i16 13369, i16 0, i16 12766, i16 0, i16 0, i16 0, i16 13022, i16 13026, i16 13030, i16 13032, i16 13278, i16 14015, i16 13585, i16 0, i16 14046, i16 0, i16 0, i16 0, i16 14814, i16 0, i16 0, i16 0, i16 15582, i16 0, i16 0, i16 16043, i16 16350, i16 0, i16 0, i16 0, i16 223, i16 0, i16 268, i16 128, i16 13279, i16 15703, i16 16122, i16 0, i16 14303, i16 0, i16 0, i16 13160, i16 14815, i16 0, i16 0, i16 14647, i16 15327, i16 15373, i16 0, i16 14127, i16 16351, i16 0, i16 14211, i16 0, i16 480, i16 481, i16 482, i16 483, i16 736, i16 737, i16 738, i16 739, i16 13792, i16 0, i16 0, i16 14426, i16 15072, i16 15398, i16 0, i16 0, i16 12769, i16 0, i16 0, i16 0, i16 13537, i16 0, i16 0, i16 0, i16 14305, i16 0, i16 0, i16 0, i16 15585, i16 16868, i16 0, i16 0, i16 226, i16 229, i16 228, i16 231, i16 994, i16 995, i16 996, i16 997, i16 13282, i16 0, i16 0, i16 0, i16 14306, i16 0, i16 12700, i16 0, i16 14562, i16 15395, i16 0, i16 0, i16 16354, i16 0, i16 14249, i16 0, i16 16610, i16 0, i16 0, i16 13023, i16 12771, i16 0, i16 0, i16 0, i16 14307, i16 0, i16 0, i16 0, i16 15587, i16 17070, i16 0, i16 13673, i16 484, i16 485, i16 0, i16 0, i16 740, i16 741, i16 742, i16 743, i16 13028, i16 15378, i16 15379, i16 13805, i16 16612, i16 0, i16 14204, i16 16080, i16 13285, i16 0, i16 0, i16 0, i16 14053, i16 0, i16 13415, i16 0, i16 15589, i16 0, i16 12505, i16 16542, i16 16869, i16 0, i16 12780, i16 0, i16 17125, i16 16445, i16 0, i16 0, i16 230, i16 867, i16 700, i16 0, i16 486, i16 487, i16 488, i16 489, i16 998, i16 999, i16 1000, i16 1001, i16 12518, i16 0, i16 0, i16 0, i16 12774, i16 0, i16 0, i16 0, i16 13542, i16 0, i16 12967, i16 16522, i16 14310, i16 17148, i16 0, i16 0, i16 14822, i16 0, i16 0, i16 0, i16 15078, i16 15095, i16 15173, i16 15174, i16 16358, i16 0, i16 0, i16 13564, i16 16870, i16 0, i16 0, i16 0, i16 13287, i16 0, i16 12943, i16 14498, i16 14567, i16 0, i16 0, i16 0, i16 15335, i16 0, i16 0, i16 0, i16 17127, i16 15461, i16 13470, i16 0, i16 744, i16 745, i16 746, i16 747, i16 14312, i16 0, i16 0, i16 0, i16 15080, i16 15157, i16 13874, i16 13265, i16 16360, i16 0, i16 0, i16 0, i16 16872, i16 0, i16 0, i16 0, i16 13033, i16 13034, i16 13036, i16 13037, i16 13289, i16 12536, i16 0, i16 16564, i16 13545, i16 0, i16 0, i16 15443, i16 13801, i16 0, i16 13620, i16 0, i16 15081, i16 15804, i16 0, i16 0, i16 15849, i16 0, i16 0, i16 0, i16 16617, i16 0, i16 0, i16 0, i16 16873, i16 14697, i16 0, i16 0, i16 234, i16 0, i16 0, i16 0, i16 490, i16 491, i16 492, i16 493, i16 1002, i16 1003, i16 1004, i16 1005, i16 15338, i16 0, i16 0, i16 0, i16 16362, i16 0, i16 14446, i16 15234, i16 16874, i16 0, i16 0, i16 13025, i16 17130, i16 0, i16 0, i16 0, i16 12523, i16 0, i16 13760, i16 0, i16 14059, i16 14375, i16 0, i16 0, i16 14571, i16 0, i16 12662, i16 0, i16 15339, i16 14340, i16 0, i16 0, i16 15851, i16 0, i16 0, i16 16883, i16 748, i16 749, i16 750, i16 751, i16 14316, i16 0, i16 16739, i16 0, i16 14572, i16 0, i16 16192, i16 14871, i16 14828, i16 0, i16 0, i16 0, i16 15852, i16 12976, i16 15777, i16 0, i16 17132, i16 0, i16 0, i16 0, i16 12525, i16 14854, i16 0, i16 0, i16 14573, i16 14036, i16 0, i16 14037, i16 15085, i16 17109, i16 13852, i16 0, i16 16109, i16 15216, i16 13094, i16 0, i16 238, i16 0, i16 0, i16 179, i16 494, i16 495, i16 0, i16 0, i16 1006, i16 1007, i16 1008, i16 1009, i16 13806, i16 15676, i16 16961, i16 0, i16 16366, i16 15218, i16 0, i16 0, i16 12783, i16 0, i16 15396, i16 0, i16 13551, i16 15458, i16 17151, i16 0, i16 13807, i16 0, i16 0, i16 0, i16 14831, i16 0, i16 0, i16 0, i16 15855, i16 0, i16 14172, i16 0, i16 16367, i16 0, i16 14806, i16 12387, i16 240, i16 0, i16 163, i16 164, i16 752, i16 753, i16 754, i16 755, i16 12528, i16 0, i16 0, i16 12349, i16 13040, i16 0, i16 0, i16 15092, i16 13552, i16 13270, i16 0, i16 0, i16 14576, i16 0, i16 0, i16 0, i16 15600, i16 0, i16 0, i16 13650, i16 16368, i16 0, i16 0, i16 17051, i16 17136, i16 15591, i16 12699, i16 0, i16 13041, i16 13042, i16 13043, i16 13044, i16 13297, i16 0, i16 14164, i16 0, i16 14065, i16 0, i16 0, i16 0, i16 14321, i16 14328, i16 14431, i16 14457, i16 16369, i16 0, i16 16030, i16 16833, i16 16625, i16 0, i16 0, i16 0, i16 242, i16 241, i16 0, i16 0, i16 1010, i16 1011, i16 1012, i16 1013, i16 13554, i16 0, i16 0, i16 16702, i16 14066, i16 0, i16 0, i16 0, i16 14834, i16 14837, i16 14838, i16 14845, i16 499, i16 500, i16 501, i16 502, i16 16115, i16 0, i16 13362, i16 0, i16 16371, i16 14903, i16 15888, i16 0, i16 756, i16 757, i16 0, i16 0, i16 15860, i16 0, i16 0, i16 0, i16 16884, i16 0, i16 0, i16 0, i16 245, i16 248, i16 0, i16 249, i16 12789, i16 14319, i16 0, i16 0, i16 13045, i16 13047, i16 13052, i16 13064, i16 14581, i16 0, i16 16841, i16 0, i16 15093, i16 15181, i16 14721, i16 13061, i16 15605, i16 15130, i16 15715, i16 0, i16 15861, i16 0, i16 0, i16 14946, i16 16373, i16 15027, i16 0, i16 0, i16 16885, i16 0, i16 0, i16 16823, i16 246, i16 247, i16 0, i16 250, i16 758, i16 759, i16 760, i16 761, i16 1014, i16 1015, i16 1016, i16 1017, i16 12790, i16 0, i16 0, i16 0, i16 15350, i16 13930, i16 0, i16 0, i16 15606, i16 0, i16 0, i16 0, i16 16886, i16 16410, i16 15882, i16 17128, i16 17142, i16 16149, i16 0, i16 17135, i16 503, i16 504, i16 505, i16 506, i16 13815, i16 0, i16 0, i16 0, i16 14071, i16 0, i16 0, i16 0, i16 14583, i16 0, i16 0, i16 0, i16 14839, i16 16973, i16 15261, i16 17140, i16 13560, i16 0, i16 17083, i16 0, i16 14072, i16 0, i16 0, i16 0, i16 14584, i16 0, i16 15281, i16 0, i16 15608, i16 0, i16 0, i16 0, i16 15864, i16 16748, i16 0, i16 0, i16 16632, i16 15150, i16 0, i16 0, i16 12537, i16 0, i16 0, i16 14973, i16 12793, i16 14630, i16 15850, i16 0, i16 13049, i16 14043, i16 0, i16 0, i16 13305, i16 13263, i16 0, i16 0, i16 15865, i16 0, i16 0, i16 0, i16 17145, i16 16421, i16 0, i16 13784, i16 762, i16 763, i16 764, i16 765, i16 1018, i16 1019, i16 1020, i16 1021, i16 12538, i16 0, i16 0, i16 12960, i16 13050, i16 15974, i16 0, i16 13523, i16 15610, i16 0, i16 0, i16 0, i16 17146, i16 0, i16 0, i16 0, i16 507, i16 508, i16 509, i16 510, i16 13051, i16 0, i16 0, i16 0, i16 15099, i16 17005, i16 17050, i16 16925, i16 15611, i16 15678, i16 0, i16 0, i16 252, i16 0, i16 0, i16 183, i16 13308, i16 14843, i16 0, i16 0, i16 14332, i16 14758, i16 0, i16 0, i16 14588, i16 0, i16 16420, i16 14528, i16 15612, i16 15795, i16 0, i16 0, i16 13309, i16 0, i16 0, i16 0, i16 15869, i16 13439, i16 0, i16 0, i16 16381, i16 0, i16 0, i16 0, i16 16893, i16 14522, i16 0, i16 0, i16 17149, i16 0, i16 12785, i16 0, i16 254, i16 255, i16 0, i16 0, i16 766, i16 767, i16 768, i16 769, i16 1022, i16 1023, i16 1024, i16 1025, i16 13054, i16 0, i16 0, i16 13994, i16 13566, i16 0, i16 0, i16 0, i16 13822, i16 13259, i16 0, i16 15098, i16 511, i16 512, i16 0, i16 513, i16 12287, i16 0, i16 0, i16 13421, i16 12799, i16 0, i16 0, i16 0, i16 13311, i16 0, i16 0, i16 0, i16 13567, i16 0, i16 14077, i16 0, i16 14335, i16 12521, i16 13217, i16 0, i16 14591, i16 15619, i16 0, i16 0, i16 14847, i16 14848, i16 14856, i16 14866], [6 x i8] c"\0A\03\162\00\04", [24 x i64] [i64 48508, i64 48528, i64 48548, i64 14648, i64 48588, i64 48634, i64 48640, i64 14699, i64 48670, i64 52564, i64 52608, i64 14727, i64 53422, i64 61672, i64 61772, i64 16373, i64 0, i64 0, i64 0, i64 0, i64 68630, i64 69002, i64 69010, i64 44726], [2826 x i8] c"\00\00\01\00\00\00\00\00\00\01\00\08\00\01\01\01e\01\01\02\02\00\01\01\01e\01\02\00\02\00\02\02\02d\02\03\00\12\00\02\03\03c\03\03\02\02\00\02\04\04c\04\04\00\12\00\02\05\05b\03\04\02\02\00\02\06\06b\04\05\00\12\00\02\07\05a\03\05\02\02\00\02\08\06a\04\06\00\12\00\02\09\05`\03\06\02\02\00\02\0A\06`\04\07\00\02\00\03\0B\07_\05\08\00\12\00\02\0C\05^\03\08\02\02\00\02\0D\06^\04\09\00\12\00\02\0E\08]\03\09\02\02\00\02\0F\09]\04\0A\00\12\00\02\10\05\\\03\0A\02\02\00\02\11\06\\\04\0B\00\12\00\02\12\08[\03\0B\02\02\00\02\13\09[\04\0C\00\12\00\02\14\05Z\03\0C\02\02\00\02\15\06Z\04\0D\00\12\00\02\16\05Y\03\0D\02\02\00\02\17\06Y\04\0E\00\12\00\02\18\05X\03\0E\02\02\00\02\19\06X\04\0F\00\12\00\02\1A\05W\03\0F\02\02\00\02\1B\06W\04\10\00\12\00\00\1C\0A\8E\06\10\02\02\00\00\1D\0B\8E\07\11\00\12\00\02\1E\05V\03\11\02\02\00\02\1F\06V\04\12\00\12\00\02 \0CU\03\12\02\02\00\02!\0DU\04\13\00\12\00\02\22\05T\08\13\02\02\00\02#\06T\09\14\00\12\00\02$\05S\08\14\02\02\00\02%\06S\09\15\00\15\00\01&\0ER\0A\15\02\02\00\01&\0FR\0B\16\00\05\00\01'\10Q\0C\16\02\02\00\01(\11Q\0D\17\00\05\00\04)\12P\0E\17\02\02\00\04*\13P\0F\18\00\02\00\02+\14O\10\19\00\02\00\03,\15N\11\1A\00\08\00\05-\16M\12\1A\02\02\00\05.\16M\12\1B\00\0E\00\05/\17L\13\1B\02\02\00\05/\18L\13\1C\00\08\00\050\19\8B\14\1C\02\02\00\051\1A\8B\14\1D\00\0C\00\052\19\8B\14\1D\02\02\00\051\1A\8B\14\1E\00\0E\00\063\1B\8C\15\1E\02\02\00\074\1C\8C\15\1F\00\0B\00\025\1DK\16\1F\02\02\00\026\1DK\16 \00\08\00\017\1E\8A\17 \02\02\00\017\1F\8A\17!\00\08\00\058 J\18!\02\02\00\059!J\18\22\00\0C\00\05: J\18\22\02\02\00\059!J\18#\00\08\00\01;\22I\18#\02\02\00\01<#I\18$\00\0C\00\01=\22I\18$\02\02\00\01<#I\18%\00\08\00\08>$H\18%\02\02\00\08>%H\18&\00\08\00\01?$G\18&\02\02\00\01@%G\18'\00\0C\00\01A$G\18'\02\02\00\01@%G\18(\00\08\00\01;\22F\18(\02\02\00\01<#F\18)\00\0C\00\01=\22F\18)\02\02\00\01<#F\18*\00\13\00\09B&E\19*\02\02\00\09C'E\1A+\00\08\00\02D(D\02+\02\02\00\02D(D\02,\00\08\00\02E)C\1B,\02\02\00\02E)C\1B-\00\08\00\02F*\89\1C-\02\02\00\02F*\89\1C.\00\08\00\01G+B\1D.\02\02\00\01H+B\1D/\00\08\00\025)A\02/\02\02\00\026)A\020\00\08\00\02I,@\1E0\02\02\00\02I,@\1E1\00\08\00\02J)?\021\02\02\00\02K)?\022\00\0C\00\02L)?\022\02\02\00\02K)?\023\00\02\00\03\0B->\1E4\00\08\00\02M)=\024\02\02\00\02M)=\025\00\08\00\02N.<\1E5\02\02\00\02N.<\1E6\00\08\00\02O/;\1E6\02\02\00\02O/;\1E7\00\08\00\02P0:\027\02\02\00\02P0:\028\00\08\00\02Q)9\1B8\02\02\00\02Q)9\1B9\00\08\00\02R)8\1B9\02\02\00\02R)8\1B:\02\02\00\05S17\1F;\00\08\00\01T2\88 ;\02\02\00\01T3\88 <\00\08\00\05U2\87 <\02\02\00\05U3\87 =\00\08\00\05V2\86 =\02\02\00\05V3\86 >\00\08\00\05W2\85 >\02\02\00\05W3\85 ?\00\08\00\00X2\84 ?\02\02\00\00X3\84 @\00\08\00\00Y2\83 @\02\02\00\00Y3\83 A\00\08\00\05Z2\82 A\02\02\00\05Z3\82 B\00\08\00\05[2\81 B\02\02\00\05\\3\81 C\00\0C\00\05]2\81 C\02\02\00\05\\3\81 D\00\08\00\00^2\80 D\02\02\00\00^3\80 E\00\08\00\00_2\7F E\02\02\00\00_3\7F F\00\08\00\00`2~ F\02\02\00\00`3~ G\00\08\00\00a2} G\02\02\00\00a3} H\00\08\00\00b2| H\02\02\00\00b3| I\00\08\00\00c2{ I\02\02\00\00c3{ J\00\08\00\00d2z J\02\02\00\00d3z K\00\08\00\05e2y K\02\02\00\05e3y L\00\08\00\00f2x L\02\02\00\00g3x M\00\08\00\02P2w M\02\02\00\02P3w N\00\08\00\05h2v N\02\02\00\05h3v O\00\08\00\05i2u O\02\02\00\05i3u P\00\08\00\06j4t!P\02\02\00\07k5t!Q\00\08\00\05l66\22Q\02\02\00\05m66\22R\00\0C\00\05n66\22R\02\02\00\05m66\22S\02\02\01\0Ao75#S\00\02\01\0Ao75#T\00\08\00\01p8s$T\02\02\00\01q9s$U\00\0C\00\01r8s$U\02\02\00\01q9s$V\00\08\00\017:r%V\02\02\00\017;r%W\00\08\00\09?<4&W\02\02\00\09@=4&X\00\0C\00\09A<4&X\02\02\00\09@=4&Y\00\08\00\0Bs>q'Y\02\02\00\0Bs?q'Z\00\08\00\05>@3(Z\02\02\00\05>A3([\00\08\00\05-B2'[\02\02\00\05.C2'\\\00\0C\00\05tB2'\\\02\02\00\05.C2']\00\08\00\05-B1']\02\02\00\05.C1'^\00\0C\00\05tB1'^\02\02\00\05.C1'_\00\08\00\02JD0)_\02\02\00\02KE0)`\00\0C\00\02LD0)`\02\02\00\02KE0)a\00\0C\00\025F/\1Ba\02\02\00\026G/\1Bb\00\08\00\05lHp b\02\02\00\05mIp c\00\0C\00\05nHp c\02\02\00\05mIp d\00\08\00\025J.\1Bd\02\02\00\026J.\1Be\00\14\00\02uK-*e\02\02\00\02vL-+f\02\02\00\02wM,\02f\00\02\00\02wM,\02g\00\0E\00\05xNo,g\02\02\00\05xOo,h\00\0E\00\01yP+-h\02\02\00\01yQ+-i\00\03\00\02zR*.i\02\02\00\02{S*\10j\00\08\00\01|T)/j\02\02\00\01|T)/k\00\08\00\01}Un\18k\02\02\00\01}Vn\18l\00\08\00\0C>W(0l\02\02\00\0C>X(0m\00\08\00\05lY' m\02\02\00\05mZ' n\00\0C\00\05nY' n\02\02\00\05mZ' o\00\14\00\02uK&*o\02\02\00\02vL&+p\02\02\00\02~[\901q\00\07\00\01\7F\\%2q\02\02\00\01\80]%3r\00\08\00\017^m4r\02\02\00\017^m4s\02\02\00\02\81_\915t\00\08\00\025`$6t\02\02\00\026`$6u\00\0A\00\01\82al7u\02\02\00\01\82bl7v\00\0A\00\06\83ck%v\02\02\00\07\84dk%w\00\0A\00\02Me#8w\02\02\00\02Mf#9x\00\11\00\0D\85g\22:x\02\02\00\0D\86h\22;y\02\02\00\02\87i!\82\02\02\00\05.s\1B>\83\00\0E\00\05\90ti?\83\02\02\00\05\91ui?\84\00\08\00\05\92v\1A@\84\02\02\00\05\92w\1A@\85\00\08\00\05\93x\19@\85\02\02\00\05\94y\19@\86\00\0C\00\05\95x\19@\86\02\02\00\05\94y\19@\87\00\0E\00\05\96z\18A\87\02\02\00\05\96{\18A\88\16\16\00\01\97|\17B\88\00\11\00\01\98}\17C\88\02\02\00\01\99~\17\0D\89\00\18\00\01\9A\7F\16D\89\02\02\00\01\9B\80\16E\8A\00\02\00\01\9C\81\15F\8B\00\0E\00\06\9D\82\8DG\8B\02\02\00\07\9E\83\8DH\8C\00\0E\00\0B\9F\84hI\8C\02\02\00\0B\9F\85hI\8D\00\08\00\01\A0\86\14\02\8D\02\02\00\01\A0\87\14\02\8E\00\0E\00\05\A1\88\13J\8E\02\02\00\05\A1\89\13J\8F\00\11\00\05\A2\8A\13K\8F\02\02\00\05\A3\8B\13E\90\00\08\00\01p\8Cg\18\90\02\02\00\01q\8Dg\18\91\00\0C\00\01r\8Cg\18\91\02\02\00\01q\8Dg\18\92\00\08\00\0D\A4\8C\12\18\92\02\02\00\0D\A4\8D\12\18\93\00\02\00\03\0B\8E\11L\94\00\02\00\0E\A5\8F\10M\95\00\17\00\01\97|\0FN\95\02\02\00\01\99~\0FO\96\00\19\00\02\A6\90\8FP\96\02\02\00\02\A7\91\8FQ\97\00\02\00\02\A8\92\0E\02\98\00\02\00\02\02\93\0D\02\99\00\08\00\02\A9\94\0C\02\99\02\02\00\02\A9\94\0C\02\9A\00\15\00\00\AA\95fR\9A\02\02\00\00\AA\96fS\9B\02\02\00\01\99\97\0BT\9C\00\18\00\01\9A\98\0AU\9C\02\02\00\01\9B\99\0AV\9D\00\02\00\02\AB\9A\09W\9E\00\08\00\02\AC\9B\08X\9E\02\02\00\02\AC\9B\08X\9F\02\02\00\01\AD\9C\07\02\9F\00\02\00\01\AD\9C\07\02\A0\00\08\00\09?\9D\06Y\A0\02\02\00\09@\9E\06Y\A1\00\0C\00\09A\9D\06Y\A2\00\06\00\02\AE\9F\05Z\A2\02\02\00\02\AE\A0\05[\A3\02\02\00\02\AF\A1\04\\\A4\02\02\00\02I\A2\03\\\A5\00\02\00\02O\A3\02\1E\A6\02\02\00\02\B0\A4\01\\", [835 x i8] c"af_ZAam_ETar_AEar_BHar_DZar_EGar_INar_IQar_JOar_KWar_LBar_LYar_MAar_OMar_QAar_SAar_SDar_SYar_TNar_YEaz_AZbe_BYbg_BGbn_BDbn_INbr_FRbs_BAca_EScaeEScs_CZcy_GBda_DKde_ATdeeATde_BEdeeBEde_CHde_DEdeeDEde_LUdeeLUel_GRen_AUen_BWen_CAen_DKen_GBen_HKen_IEeneIEen_INen_NZen_PHen_SGen_USen_ZAen_ZWeo_EOes_ARes_BOes_CLes_COes_CRes_DOes_ECes_ESeseESes_GTes_HNes_MXes_NIes_PAes_PEes_PRes_PYes_SVes_USes_UYes_VEet_EEeu_ESeueESfa_IRfi_FIfieFIfo_FOfr_BEfreBEfr_CAfr_CHfr_FRfreFRfr_LUfreLUga_IEgaeIEgd_GBgl_ESgleESgv_GBhe_ILhi_INhr_HRhu_HUhy_AMid_IDis_ISit_CHit_ITiteITiw_ILja_JPka_GEkl_GLko_KRkw_GBlt_LTlv_LVmi_NZmk_MKmr_INms_MYmt_MTnl_BEnleBEnl_NLnleNLnn_NOno_NOoc_FRpl_PLpt_BRpt_PTptePTro_ROru_RUru_UAse_NOsk_SKsl_SIsq_ALsr_YUsrcYUsv_FIsveFIsv_SEta_INte_INtg_TJth_THti_ERti_ETtl_PHtr_TRtt_RUuk_UAur_PKuz_UZvi_VNwa_BEwaeBEyi_USzh_CNzh_HKzh_SGzh_TW\00\00\00\00\00", [18 x i8] c"\05eeuro\00\09ccyrillic\00", [69 x i8] c"\06\0F\1A&.9LC_CTYPE\00LC_NUMERIC\00LC_MONETARY\00LC_TIME\00LC_COLLATE\00LC_MESSAGES\00", [255 x i8] c"\18\22(/6BMYeq}\89\94\9F\AA\B5\C0\CB\D6\E1\E8\EF\F6\00ARMSCII-8\00ASCII\00CP1251\00CP1255\00GEORGIAN-PS\00ISO-8859-1\00ISO-8859-10\00ISO-8859-13\00ISO-8859-14\00ISO-8859-15\00ISO-8859-16\00ISO-8859-2\00ISO-8859-3\00ISO-8859-4\00ISO-8859-5\00ISO-8859-6\00ISO-8859-7\00ISO-8859-8\00ISO-8859-9\00KOI8-R\00KOI8-T\00KOI8-U\00TIS-620\00\00" }, align 8 +@__C_ctype_b_data = constant <{ [256 x i16], [128 x i16] }> <{ [256 x i16] [i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 8195, i16 8194, i16 8194, i16 8194, i16 8194, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 24577, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -11000, i16 -11000, i16 -11000, i16 -11000, i16 -11000, i16 -11000, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -10744, i16 -10744, i16 -10744, i16 -10744, i16 -10744, i16 -10744, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 2], [128 x i16] zeroinitializer }>, align 16 +@__C_ctype_b = global i16* bitcast (i8* getelementptr (i8, i8* bitcast (<{ [256 x i16], [128 x i16] }>* @__C_ctype_b_data to i8*), i64 256) to i16*), align 8 +@__C_ctype_tolower_data = constant [384 x i16] [i16 -128, i16 -127, i16 -126, i16 -125, i16 -124, i16 -123, i16 -122, i16 -121, i16 -120, i16 -119, i16 -118, i16 -117, i16 -116, i16 -115, i16 -114, i16 -113, i16 -112, i16 -111, i16 -110, i16 -109, i16 -108, i16 -107, i16 -106, i16 -105, i16 -104, i16 -103, i16 -102, i16 -101, i16 -100, i16 -99, i16 -98, i16 -97, i16 -96, i16 -95, i16 -94, i16 -93, i16 -92, i16 -91, i16 -90, i16 -89, i16 -88, i16 -87, i16 -86, i16 -85, i16 -84, i16 -83, i16 -82, i16 -81, i16 -80, i16 -79, i16 -78, i16 -77, i16 -76, i16 -75, i16 -74, i16 -73, i16 -72, i16 -71, i16 -70, i16 -69, i16 -68, i16 -67, i16 -66, i16 -65, i16 -64, i16 -63, i16 -62, i16 -61, i16 -60, i16 -59, i16 -58, i16 -57, i16 -56, i16 -55, i16 -54, i16 -53, i16 -52, i16 -51, i16 -50, i16 -49, i16 -48, i16 -47, i16 -46, i16 -45, i16 -44, i16 -43, i16 -42, i16 -41, i16 -40, i16 -39, i16 -38, i16 -37, i16 -36, i16 -35, i16 -34, i16 -33, i16 -32, i16 -31, i16 -30, i16 -29, i16 -28, i16 -27, i16 -26, i16 -25, i16 -24, i16 -23, i16 -22, i16 -21, i16 -20, i16 -19, i16 -18, i16 -17, i16 -16, i16 -15, i16 -14, i16 -13, i16 -12, i16 -11, i16 -10, i16 -9, i16 -8, i16 -7, i16 -6, i16 -5, i16 -4, i16 -3, i16 -2, i16 -1, i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255], align 16 +@__C_ctype_tolower = global i16* bitcast (i8* getelementptr (i8, i8* bitcast ([384 x i16]* @__C_ctype_tolower_data to i8*), i64 256) to i16*), align 8 +@__C_ctype_toupper_data = constant [384 x i16] [i16 -128, i16 -127, i16 -126, i16 -125, i16 -124, i16 -123, i16 -122, i16 -121, i16 -120, i16 -119, i16 -118, i16 -117, i16 -116, i16 -115, i16 -114, i16 -113, i16 -112, i16 -111, i16 -110, i16 -109, i16 -108, i16 -107, i16 -106, i16 -105, i16 -104, i16 -103, i16 -102, i16 -101, i16 -100, i16 -99, i16 -98, i16 -97, i16 -96, i16 -95, i16 -94, i16 -93, i16 -92, i16 -91, i16 -90, i16 -89, i16 -88, i16 -87, i16 -86, i16 -85, i16 -84, i16 -83, i16 -82, i16 -81, i16 -80, i16 -79, i16 -78, i16 -77, i16 -76, i16 -75, i16 -74, i16 -73, i16 -72, i16 -71, i16 -70, i16 -69, i16 -68, i16 -67, i16 -66, i16 -65, i16 -64, i16 -63, i16 -62, i16 -61, i16 -60, i16 -59, i16 -58, i16 -57, i16 -56, i16 -55, i16 -54, i16 -53, i16 -52, i16 -51, i16 -50, i16 -49, i16 -48, i16 -47, i16 -46, i16 -45, i16 -44, i16 -43, i16 -42, i16 -41, i16 -40, i16 -39, i16 -38, i16 -37, i16 -36, i16 -35, i16 -34, i16 -33, i16 -32, i16 -31, i16 -30, i16 -29, i16 -28, i16 -27, i16 -26, i16 -25, i16 -24, i16 -23, i16 -22, i16 -21, i16 -20, i16 -19, i16 -18, i16 -17, i16 -16, i16 -15, i16 -14, i16 -13, i16 -12, i16 -11, i16 -10, i16 -9, i16 -8, i16 -7, i16 -6, i16 -5, i16 -4, i16 -3, i16 -2, i16 -1, i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255], align 16 +@__C_ctype_toupper = global i16* bitcast (i8* getelementptr (i8, i8* bitcast ([384 x i16]* @__C_ctype_toupper_data to i8*), i64 256) to i16*), align 8 +@errno = global i32 0, align 4 +@h_errno = global i32 0, align 4 +@.str.217 = private unnamed_addr constant [17 x i8] c"ignoring (EPERM)\00", align 1 +@.str.7.219 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.1.220 = private unnamed_addr constant [9 x i8] c"ignoring\00", align 1 +@.str.2.221 = private unnamed_addr constant [82 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/illegal.c\00", align 1 +@.str.3.222 = private unnamed_addr constant [20 x i8] c"longjmp unsupported\00", align 1 +@.str.4.223 = private unnamed_addr constant [8 x i8] c"xxx.err\00", align 1 +@.str.5.225 = private unnamed_addr constant [18 x i8] c"ignoring (EACCES)\00", align 1 +@.str.6.226 = private unnamed_addr constant [18 x i8] c"ignoring (ENOMEM)\00", align 1 +@error_message_count = global i32 0, align 4 +@error_one_per_line = global i32 0, align 4 +@.str.231 = private unnamed_addr constant [5 x i8] c": %s\00", align 1 +@__error_at_line.old_line_number = internal global i32 0, align 4 +@__error_at_line.old_file_name = internal global i8* null, align 8 +@.str.1.232 = private unnamed_addr constant [8 x i8] c"%s:%d: \00", align 1 +@hr_locale = internal global [448 x i8] zeroinitializer, align 16 +@utf8.239 = internal constant [6 x i8] c"UTF-8\00", align 1 +@static_fd = internal global i32 -1, align 4 +@static_ut_name = internal global i8* getelementptr inbounds ([14 x i8], [14 x i8]* @default_file_name, i32 0, i32 0), align 8 +@default_file_name = internal constant [14 x i8] c"/var/run/utmp\00", align 1 +@static_utmp = internal global %struct.utmp.323 zeroinitializer, align 8 +@mbrtowc.mbstate = internal global %struct.__mbstate_t.512 zeroinitializer, align 4 +@__dso_handle = extern_weak global i8*, align 8 +@optind = global i32 1, align 4 +@opterr = global i32 1, align 4 +@optopt = global i32 63, align 4 +@optarg = global i8* null, align 8 +@getopt_data = internal global %struct._getopt_data zeroinitializer, align 8 +@.str.322 = private unnamed_addr constant [3 x i8] c"--\00", align 1 +@.str.1.323 = private unnamed_addr constant [30 x i8] c"%s: option `%s' is ambiguous\0A\00", align 1 +@.str.2.324 = private unnamed_addr constant [45 x i8] c"%s: option `--%s' doesn't allow an argument\0A\00", align 1 +@.str.3.325 = private unnamed_addr constant [45 x i8] c"%s: option `%c%s' doesn't allow an argument\0A\00", align 1 +@.str.4.326 = private unnamed_addr constant [38 x i8] c"%s: option `%s' requires an argument\0A\00", align 1 +@.str.5.327 = private unnamed_addr constant [32 x i8] c"%s: unrecognized option `--%s'\0A\00", align 1 +@.str.6.328 = private unnamed_addr constant [32 x i8] c"%s: unrecognized option `%c%s'\0A\00", align 1 +@.str.7.329 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@.str.8.330 = private unnamed_addr constant [26 x i8] c"%s: illegal option -- %c\0A\00", align 1 +@.str.9.331 = private unnamed_addr constant [26 x i8] c"%s: invalid option -- %c\0A\00", align 1 +@.str.10.332 = private unnamed_addr constant [39 x i8] c"%s: option requires an argument -- %c\0A\00", align 1 +@.str.11.333 = private unnamed_addr constant [16 x i8] c"POSIXLY_CORRECT\00", align 1 +@.str.340 = private unnamed_addr constant [14 x i8] c"#\80\80\80\80\80\80\80\80\80\80\80\80\00", align 1 +@newlocale.envstr = internal global [4 x i8*] [i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.344, i32 0, i32 0), i8* null, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.2.345, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @posix, i32 0, i32 0)], align 16 +@.str.3.341 = private unnamed_addr constant [2 x i8] c"=\00", align 1 +@.str.4.342 = private unnamed_addr constant [2 x i8] c";\00", align 1 +@posix = internal constant [6 x i8] c"POSIX\00", align 1 +@utf8.343 = internal constant [6 x i8] c"UTF-8\00", align 1 +@.str.1.344 = private unnamed_addr constant [7 x i8] c"LC_ALL\00", align 1 +@.str.2.345 = private unnamed_addr constant [5 x i8] c"LANG\00", align 1 +@empty = internal constant [1 x i8] zeroinitializer, align 1 +@mbsnrtowcs.mbstate = internal global %struct.__mbstate_t.512 zeroinitializer, align 4 +@_do_one_spec.spec_base = internal constant [7 x i8] c"\10\10\10\08\0A\0A\0A", align 1 +@.str.362 = private unnamed_addr constant [6 x i8] c"(nil)\00", align 1 +@.str.1.363 = private unnamed_addr constant [7 x i8] c"(null)\00", align 1 +@_do_one_spec.prefix = internal constant [12 x i8] c"+\00-\00 \000x\000X\00", align 1 +@strerror.buf = internal global [50 x i8] zeroinitializer, align 16 +@bound = internal constant [5 x i64] [i64 128, i64 2048, i64 65536, i64 2097152, i64 67108864], align 16 +@first = internal global [6 x i8] c"\00\C0\E0\F0\F8\FC", align 1 +@desc2flag = internal constant [13 x i16] [i16 0, i16 2048, i16 4, i16 256, i16 512, i16 8, i16 128, i16 2, i16 64, i16 1024, i16 32, i16 1, i16 16], align 16 +@fmt = internal constant [20 x i8] c"inf\00INF\00nan\00NAN\00.\00,\00", align 16 +@exp10_table = internal constant [9 x double] [double 1.000000e+01, double 1.000000e+02, double 1.000000e+04, double 1.000000e+08, double 1.000000e+16, double 1.000000e+32, double 1.000000e+64, double 1.000000e+128, double 1.000000e+256], align 16 +@_ppfs_init.invalid_mbs = internal constant [33 x i8] c"Invalid multibyte format string.\00", align 16 +@_ppfs_parsespec.spec_flags = internal constant [8 x i8] c" +0-#'I\00", align 1 +@_ppfs_parsespec.qual_chars = internal constant [20 x i8] c"hlLjztqZ\00\02\04\08\04\04\04\08\04\00\01\08", align 16 +@_ppfs_parsespec.spec_chars = internal constant [21 x i8] c"npxXoudifFeEgGaACScs\00", align 16 +@_ppfs_parsespec.spec_ranges = internal constant [9 x i8] c"\00\01\07\0F\10\11\12\13\14", align 1 +@_ppfs_parsespec.spec_or_mask = internal constant [8 x i16] [i16 4096, i16 5, i16 0, i16 7, i16 2, i16 4, i16 1, i16 3], align 16 +@_ppfs_parsespec.spec_and_mask = internal constant [8 x i16] [i16 7936, i16 5, i16 3840, i16 2055, i16 2, i16 4, i16 1, i16 3], align 16 +@type_codes = internal constant [12 x i16] [i16 8, i16 5, i16 3, i16 4, i16 1, i16 512, i16 0, i16 1024, i16 2048, i16 2, i16 7, i16 2055], align 16 +@type_sizes = internal constant [12 x i8] c"\00\01\01\01\04\02\01\01\01\01\01\01", align 1 +@__exit_count = hidden global i32 0, align 4 +@__exit_function_table = hidden global %struct.exit_function* null, align 8 +@__exit_slots = hidden global i32 0, align 4 +@__xpg_strerror_r.unknown = internal constant [14 x i8] c"Unknown error ", align 1 +@mbsrtowcs.mbstate = internal global %struct.__mbstate_t.512 zeroinitializer, align 4 +@_string_syserrmsgs = hidden constant [2906 x i8] c"Success\00Operation not permitted\00No such file or directory\00No such process\00Interrupted system call\00Input/output error\00No such device or address\00Argument list too long\00Exec format error\00Bad file descriptor\00No child processes\00Resource temporarily unavailable\00Cannot allocate memory\00Permission denied\00Bad address\00Block device required\00Device or resource busy\00File exists\00Invalid cross-device link\00No such device\00Not a directory\00Is a directory\00Invalid argument\00Too many open files in system\00Too many open files\00Inappropriate ioctl for device\00Text file busy\00File too large\00No space left on device\00Illegal seek\00Read-only file system\00Too many links\00Broken pipe\00Numerical argument out of domain\00Numerical result out of range\00Resource deadlock avoided\00File name too long\00No locks available\00Function not implemented\00Directory not empty\00Too many levels of symbolic links\00\00No message of desired type\00Identifier removed\00Channel number out of range\00Level 2 not synchronized\00Level 3 halted\00Level 3 reset\00Link number out of range\00Protocol driver not attached\00No CSI structure available\00Level 2 halted\00Invalid exchange\00Invalid request descriptor\00Exchange full\00No anode\00Invalid request code\00Invalid slot\00\00Bad font file format\00Device not a stream\00No data available\00Timer expired\00Out of streams resources\00Machine is not on the network\00Package not installed\00Object is remote\00Link has been severed\00Advertise error\00Srmount error\00Communication error on send\00Protocol error\00Multihop attempted\00RFS specific error\00Bad message\00Value too large for defined data type\00Name not unique on network\00File descriptor in bad state\00Remote address changed\00Can not access a needed shared library\00Accessing a corrupted shared library\00.lib section in a.out corrupted\00Attempting to link in too many shared libraries\00Cannot exec a shared library directly\00Invalid or incomplete multibyte or wide character\00Interrupted system call should be restarted\00Streams pipe error\00Too many users\00Socket operation on non-socket\00Destination address required\00Message too long\00Protocol wrong type for socket\00Protocol not available\00Protocol not supported\00Socket type not supported\00Operation not supported\00Protocol family not supported\00Address family not supported by protocol\00Address already in use\00Cannot assign requested address\00Network is down\00Network is unreachable\00Network dropped connection on reset\00Software caused connection abort\00Connection reset by peer\00No buffer space available\00Transport endpoint is already connected\00Transport endpoint is not connected\00Cannot send after transport endpoint shutdown\00Too many references: cannot splice\00Connection timed out\00Connection refused\00Host is down\00No route to host\00Operation already in progress\00Operation now in progress\00Stale NFS file handle\00Structure needs cleaning\00Not a XENIX named type file\00No XENIX semaphores available\00Is a named type file\00Remote I/O error\00Disk quota exceeded\00No medium found\00Wrong medium type\00", align 16 + +@__progname = weak alias i8*, i8** @program_invocation_short_name +@__progname_full = weak alias i8*, i8** @program_invocation_name +@environ = weak alias i8**, i8*** @__environ +@__getdents = dso_local alias i64 (i32, %struct.dirent64*, i64), i64 (i32, %struct.dirent64*, i64)* @getdents +@getchar = alias i32 (), i32 ()* @getchar_unlocked +@raise = weak alias i32 (i32), i32 (i32)* @__raise +@fgetc_unlocked = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@getc_unlocked = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@fgetc = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@getc = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@__getdents64 = dso_local alias i64 (i32, i8*, i64), i64 (i32, i8*, i64)* @getdents64 +@error = weak alias void (i32, i32, i8*, ...), void (i32, i32, i8*, ...)* @__error +@error_at_line = weak alias void (i32, i32, i8*, i32, i8*, ...), void (i32, i32, i8*, i32, i8*, ...)* @__error_at_line +@feof = alias i32 (%struct.__STDIO_FILE_STRUCT.590*), i32 (%struct.__STDIO_FILE_STRUCT.590*)* @feof_unlocked +@ferror = alias i32 (%struct.__STDIO_FILE_STRUCT.592*), i32 (%struct.__STDIO_FILE_STRUCT.592*)* @ferror_unlocked +@fflush = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fflush_unlocked +@fileno = alias i32 (%struct.__STDIO_FILE_STRUCT.608*), i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno_unlocked +@fputc_unlocked = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@putc_unlocked = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@fputc = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@putc = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@fputs = alias i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*), i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked +@fseeko = alias i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32), i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32)* @fseek +@fwrite = alias i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*), i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*)* @fwrite_unlocked +@putchar = alias i32 (i32), i32 (i32)* @putchar_unlocked +@strtoumax = alias i64 (i8*, i8**, i32), i64 (i8*, i8**, i32)* @strtoul +@strtoull = alias i64 (i8*, i8**, i32), i64 (i8*, i8**, i32)* @strtoul +@strerror_r = weak alias i32 (i32, i8*, i64), i32 (i32, i8*, i64)* @__xpg_strerror_r + +; Function Attrs: noinline nounwind uwtable +define void @__uClibc_init() #0 { +entry: + %0 = load i32, i32* @__uClibc_init.been_there_done_that, align 4 + %tobool = icmp ne i32 %0, 0 + br i1 %tobool, label %if.end4, label %if.end + +if.end: ; preds = %entry + %1 = load i32, i32* @__uClibc_init.been_there_done_that, align 4 + %inc = add nsw i32 %1, 1 + store i32 %inc, i32* @__uClibc_init.been_there_done_that, align 4 + store i64 4096, i64* @__pagesize, align 8 + call void @_locale_init() #18 + call void @_stdio_init() #18 + br label %if.end4 + +if.end4: ; preds = %entry, %if.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define void @__uClibc_fini() #0 { +entry: + %0 = load void ()*, void ()** @__app_fini, align 8 + %cmp = icmp ne void ()* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load void ()*, void ()** @__app_fini, align 8 + call void %1() #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %2 = load void ()*, void ()** @__rtld_fini, align 8 + %cmp1 = icmp ne void ()* %2, null + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + %3 = load void ()*, void ()** @__rtld_fini, align 8 + call void %3() #18 + br label %if.end3 + +if.end3: ; preds = %if.then2, %if.end + ret void +} + +; Function Attrs: noinline noreturn nounwind uwtable +define void @__uClibc_main(i32 (i32, i8**, i8**)* %main, i32 %argc, i8** %argv, void ()* %app_init, void ()* %app_fini, void ()* %rtld_fini, i8* %stack_end) #1 { +entry: + %main.addr = alloca i32 (i32, i8**, i8**)*, align 8 + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %app_init.addr = alloca void ()*, align 8 + %app_fini.addr = alloca void ()*, align 8 + %rtld_fini.addr = alloca void ()*, align 8 + %stack_end.addr = alloca i8*, align 8 + %aux_dat = alloca i64*, align 8 + %auxvt = alloca [15 x %struct.Elf64_auxv_t], align 16 + %auxv_entry = alloca %struct.Elf64_auxv_t*, align 8 + store i32 (i32, i8**, i8**)* %main, i32 (i32, i8**, i8**)** %main.addr, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store void ()* %app_init, void ()** %app_init.addr, align 8 + store void ()* %app_fini, void ()** %app_fini.addr, align 8 + store void ()* %rtld_fini, void ()** %rtld_fini.addr, align 8 + store i8* %stack_end, i8** %stack_end.addr, align 8 + %0 = load i8*, i8** %stack_end.addr, align 8 + store i8* %0, i8** @__libc_stack_end, align 8 + %1 = load void ()*, void ()** %rtld_fini.addr, align 8 + store void ()* %1, void ()** @__rtld_fini, align 8 + %2 = load i8**, i8*** %argv.addr, align 8 + %3 = load i32, i32* %argc.addr, align 4 + %add = add nsw i32 %3, 1 + %idxprom = sext i32 %add to i64 + %arrayidx = getelementptr inbounds i8*, i8** %2, i64 %idxprom + store i8** %arrayidx, i8*** @__environ, align 8 + %4 = load i8**, i8*** @__environ, align 8 + %5 = bitcast i8** %4 to i8* + %6 = load i8**, i8*** %argv.addr, align 8 + %7 = load i8*, i8** %6, align 8 + %cmp = icmp eq i8* %5, %7 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %8 = load i8**, i8*** %argv.addr, align 8 + %9 = load i32, i32* %argc.addr, align 4 + %idxprom1 = sext i32 %9 to i64 + %arrayidx2 = getelementptr inbounds i8*, i8** %8, i64 %idxprom1 + store i8** %arrayidx2, i8*** @__environ, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %arraydecay = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 0 + %10 = bitcast %struct.Elf64_auxv_t* %arraydecay to i8* + %call = call i8* @memset(i8* %10, i32 0, i64 240) #19 + %11 = load i8**, i8*** @__environ, align 8 + %12 = bitcast i8** %11 to i64* + store i64* %12, i64** %aux_dat, align 8 + br label %while.cond + +while.cond: ; preds = %while.cond, %if.end + %13 = load i64*, i64** %aux_dat, align 8 + %14 = load i64, i64* %13, align 8 + %tobool = icmp ne i64 %14, 0 + %15 = load i64*, i64** %aux_dat, align 8 + %incdec.ptr = getelementptr inbounds i64, i64* %15, i32 1 + store i64* %incdec.ptr, i64** %aux_dat, align 8 + br i1 %tobool, label %while.cond, label %while.cond4 + +while.cond4: ; preds = %while.cond, %if.end12 + %16 = load i64*, i64** %aux_dat, align 8 + %17 = load i64, i64* %16, align 8 + %tobool5 = icmp ne i64 %17, 0 + br i1 %tobool5, label %while.body6, label %while.end13 + +while.body6: ; preds = %while.cond4 + %18 = load i64*, i64** %aux_dat, align 8 + %19 = bitcast i64* %18 to %struct.Elf64_auxv_t* + store %struct.Elf64_auxv_t* %19, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %20 = load %struct.Elf64_auxv_t*, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %a_type = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %20, i32 0, i32 0 + %21 = load i64, i64* %a_type, align 8 + %cmp7 = icmp ule i64 %21, 14 + br i1 %cmp7, label %if.then8, label %if.end12 + +if.then8: ; preds = %while.body6 + %22 = load %struct.Elf64_auxv_t*, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %a_type9 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %22, i32 0, i32 0 + %23 = load i64, i64* %a_type9, align 8 + %arrayidx10 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 %23 + %24 = bitcast %struct.Elf64_auxv_t* %arrayidx10 to i8* + %25 = load %struct.Elf64_auxv_t*, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %26 = bitcast %struct.Elf64_auxv_t* %25 to i8* + %call11 = call i8* @memcpy(i8* %24, i8* %26, i64 16) #19 + br label %if.end12 + +if.end12: ; preds = %if.then8, %while.body6 + %27 = load i64*, i64** %aux_dat, align 8 + %add.ptr = getelementptr inbounds i64, i64* %27, i64 2 + store i64* %add.ptr, i64** %aux_dat, align 8 + br label %while.cond4 + +while.end13: ; preds = %while.cond4 + call void @__uClibc_init() #18 + %arrayidx14 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 6 + %a_un = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx14, i32 0, i32 1 + %a_val = bitcast %union.anon.193* %a_un to i64* + %28 = load i64, i64* %a_val, align 8 + %tobool15 = icmp ne i64 %28, 0 + %arrayidx16 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 6 + %a_un17 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx16, i32 0, i32 1 + %a_val18 = bitcast %union.anon.193* %a_un17 to i64* + %29 = load i64, i64* %a_val18, align 8 + %cond = select i1 %tobool15, i64 %29, i64 4096 + store i64 %cond, i64* @__pagesize, align 8 + %arrayidx19 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 11 + %a_un20 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx19, i32 0, i32 1 + %a_val21 = bitcast %union.anon.193* %a_un20 to i64* + %30 = load i64, i64* %a_val21, align 8 + %cmp22 = icmp eq i64 %30, -1 + br i1 %cmp22, label %land.lhs.true, label %lor.lhs.false + +land.lhs.true: ; preds = %while.end13 + %call23 = call i32 @__check_suid() #18 + %tobool24 = icmp ne i32 %call23, 0 + br i1 %tobool24, label %if.then45, label %lor.lhs.false + +lor.lhs.false: ; preds = %land.lhs.true, %while.end13 + %arrayidx25 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 11 + %a_un26 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx25, i32 0, i32 1 + %a_val27 = bitcast %union.anon.193* %a_un26 to i64* + %31 = load i64, i64* %a_val27, align 8 + %cmp28 = icmp ne i64 %31, -1 + br i1 %cmp28, label %land.lhs.true29, label %if.end46 + +land.lhs.true29: ; preds = %lor.lhs.false + %arrayidx30 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 11 + %a_un31 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx30, i32 0, i32 1 + %a_val32 = bitcast %union.anon.193* %a_un31 to i64* + %32 = load i64, i64* %a_val32, align 8 + %arrayidx33 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 12 + %a_un34 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx33, i32 0, i32 1 + %a_val35 = bitcast %union.anon.193* %a_un34 to i64* + %33 = load i64, i64* %a_val35, align 8 + %cmp36 = icmp ne i64 %32, %33 + br i1 %cmp36, label %if.then45, label %lor.lhs.false37 + +lor.lhs.false37: ; preds = %land.lhs.true29 + %arrayidx38 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 13 + %a_un39 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx38, i32 0, i32 1 + %a_val40 = bitcast %union.anon.193* %a_un39 to i64* + %34 = load i64, i64* %a_val40, align 8 + %arrayidx41 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 14 + %a_un42 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx41, i32 0, i32 1 + %a_val43 = bitcast %union.anon.193* %a_un42 to i64* + %35 = load i64, i64* %a_val43, align 8 + %cmp44 = icmp ne i64 %34, %35 + br i1 %cmp44, label %if.then45, label %if.end46 + +if.then45: ; preds = %lor.lhs.false37, %land.lhs.true29, %land.lhs.true + call void @__check_one_fd(i32 0, i32 131072) #18 + call void @__check_one_fd(i32 1, i32 131074) #18 + call void @__check_one_fd(i32 2, i32 131074) #18 + br label %if.end46 + +if.end46: ; preds = %if.then45, %lor.lhs.false37, %lor.lhs.false + %36 = load i8**, i8*** %argv.addr, align 8 + %37 = load i8*, i8** %36, align 8 + store i8* %37, i8** @__uclibc_progname, align 8 + %38 = load i8**, i8*** %argv.addr, align 8 + %39 = load i8*, i8** %38, align 8 + store i8* %39, i8** @program_invocation_name, align 8 + %40 = load i8**, i8*** %argv.addr, align 8 + %41 = load i8*, i8** %40, align 8 + %call47 = call i8* @strrchr(i8* %41, i32 47) #20 + store i8* %call47, i8** @program_invocation_short_name, align 8 + %42 = load i8*, i8** @program_invocation_short_name, align 8 + %cmp48 = icmp ne i8* %42, null + br i1 %cmp48, label %if.then49, label %if.else + +if.then49: ; preds = %if.end46 + %43 = load i8*, i8** @program_invocation_short_name, align 8 + %incdec.ptr50 = getelementptr inbounds i8, i8* %43, i32 1 + store i8* %incdec.ptr50, i8** @program_invocation_short_name, align 8 + br label %if.end51 + +if.else: ; preds = %if.end46 + %44 = load i8*, i8** @program_invocation_name, align 8 + store i8* %44, i8** @program_invocation_short_name, align 8 + br label %if.end51 + +if.end51: ; preds = %if.else, %if.then49 + %45 = load void ()*, void ()** %app_fini.addr, align 8 + store void ()* %45, void ()** @__app_fini, align 8 + %46 = load void ()*, void ()** %app_init.addr, align 8 + %cmp52 = icmp ne void ()* %46, null + br i1 %cmp52, label %if.then53, label %if.then55 + +if.then53: ; preds = %if.end51 + %47 = load void ()*, void ()** %app_init.addr, align 8 + call void %47() #18 + br label %if.then55 + +if.then55: ; preds = %if.end51, %if.then53 + %call56 = call i32* @__errno_location() #21 + store i32 0, i32* %call56, align 4 + %call59 = call i32* @__h_errno_location() #21 + store i32 0, i32* %call59, align 4 + %48 = load i32 (i32, i8**, i8**)*, i32 (i32, i8**, i8**)** %main.addr, align 8 + %49 = load i32, i32* %argc.addr, align 4 + %50 = load i8**, i8*** %argv.addr, align 8 + %51 = load i8**, i8*** @__environ, align 8 + %call61 = call i32 %48(i32 %49, i8** %50, i8** %51) #18 + call void @exit(i32 %call61) #22 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__check_suid() #0 { +entry: + %retval = alloca i32, align 4 + %uid = alloca i32, align 4 + %euid = alloca i32, align 4 + %gid = alloca i32, align 4 + %egid = alloca i32, align 4 + %call = call i32 @getuid() #19 + store i32 %call, i32* %uid, align 4 + %call1 = call i32 @geteuid() #19 + store i32 %call1, i32* %euid, align 4 + %call2 = call i32 @getgid() #19 + store i32 %call2, i32* %gid, align 4 + %call3 = call i32 @getegid() #19 + store i32 %call3, i32* %egid, align 4 + %0 = load i32, i32* %uid, align 4 + %1 = load i32, i32* %euid, align 4 + %cmp = icmp eq i32 %0, %1 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %2 = load i32, i32* %gid, align 4 + %3 = load i32, i32* %egid, align 4 + %cmp4 = icmp eq i32 %2, %3 + br i1 %cmp4, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__check_one_fd(i32 %fd, i32 %mode) #0 { +entry: + %fd.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %st = alloca %struct.stat.192, align 8 + %nullfd = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 (i32, i32, ...) @fcntl(i32 %0, i32 1) #18 + %cmp = icmp eq i32 %call, -1 + br i1 %cmp, label %land.rhs, label %land.end + +land.rhs: ; preds = %entry + %call1 = call i32* @__errno_location() #21 + %1 = load i32, i32* %call1, align 4 + %cmp2 = icmp eq i32 %1, 9 + br label %land.end + +land.end: ; preds = %land.rhs, %entry + %2 = phi i1 [ false, %entry ], [ %cmp2, %land.rhs ] + %lnot = xor i1 %2, true + %lnot3 = xor i1 %lnot, true + %lnot.ext = zext i1 %lnot3 to i32 + %conv = sext i32 %lnot.ext to i64 + %tobool = icmp ne i64 %conv, 0 + br i1 %tobool, label %if.then, label %if.end17 + +if.then: ; preds = %land.end + %3 = load i32, i32* %mode.addr, align 4 + %call4 = call i32 (i8*, i32, ...) @open(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.1, i64 0, i64 0), i32 %3) #18 + store i32 %call4, i32* %nullfd, align 4 + %4 = load i32, i32* %nullfd, align 4 + %5 = load i32, i32* %fd.addr, align 4 + %cmp5 = icmp ne i32 %4, %5 + br i1 %cmp5, label %if.then16, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then + %6 = load i32, i32* %fd.addr, align 4 + %call7 = call i32 bitcast (i32 (i32, %struct.stat64*)* @fstat to i32 (i32, %struct.stat.192*)*)(i32 %6, %struct.stat.192* %st) #19 + %tobool8 = icmp ne i32 %call7, 0 + br i1 %tobool8, label %if.then16, label %lor.lhs.false9 + +lor.lhs.false9: ; preds = %lor.lhs.false + %st_mode = getelementptr inbounds %struct.stat.192, %struct.stat.192* %st, i32 0, i32 3 + %7 = load i32, i32* %st_mode, align 8 + %and = and i32 %7, 61440 + %cmp10 = icmp eq i32 %and, 8192 + br i1 %cmp10, label %lor.lhs.false12, label %if.then16 + +lor.lhs.false12: ; preds = %lor.lhs.false9 + %st_rdev = getelementptr inbounds %struct.stat.192, %struct.stat.192* %st, i32 0, i32 7 + %8 = load i64, i64* %st_rdev, align 8 + %call13 = call i64 @gnu_dev_makedev.173(i32 1, i32 3) #19 + %cmp14 = icmp ne i64 %8, %call13 + br i1 %cmp14, label %if.then16, label %if.end17 + +if.then16: ; preds = %lor.lhs.false12, %lor.lhs.false9, %lor.lhs.false, %if.then + call void @abort() #22 + unreachable + +if.end17: ; preds = %lor.lhs.false12, %land.end + ret void +} + +; Function Attrs: nounwind +declare i32 @getuid() #2 + +; Function Attrs: nounwind +declare i32 @geteuid() #2 + +; Function Attrs: nounwind +declare i32 @getgid() #2 + +; Function Attrs: nounwind +declare i32 @getegid() #2 + +; Function Attrs: noinline nounwind uwtable +define internal i64 @gnu_dev_makedev.173(i32 %__major, i32 %__minor) #0 { +entry: + %__major.addr = alloca i32, align 4 + %__minor.addr = alloca i32, align 4 + store i32 %__major, i32* %__major.addr, align 4 + store i32 %__minor, i32* %__minor.addr, align 4 + %0 = load i32, i32* %__minor.addr, align 4 + %and = and i32 %0, 255 + %1 = load i32, i32* %__major.addr, align 4 + %and1 = and i32 %1, 4095 + %shl = shl i32 %and1, 8 + %or = or i32 %and, %shl + %conv = zext i32 %or to i64 + %2 = load i32, i32* %__minor.addr, align 4 + %and2 = and i32 %2, -256 + %conv3 = zext i32 %and2 to i64 + %shl4 = shl i64 %conv3, 12 + %or5 = or i64 %conv, %shl4 + %3 = load i32, i32* %__major.addr, align 4 + %and6 = and i32 %3, -4096 + %conv7 = zext i32 %and6 to i64 + %shl8 = shl i64 %conv7, 32 + %or9 = or i64 %or5, %shl8 + ret i64 %or9 +} + +define i32 @main(i32 %argc, i8** %argv) { +entry: + call void @__uClibc_main(i32 (i32, i8**, i8**)* @__user_main, i32 %argc, i8** %argv, void ()* null, void ()* null, void ()* null, i8* null) + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define i32 @siggetmask() #0 { +entry: + %call = call i32 @sigblock(i32 0) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i64 @__fpending(%struct.__STDIO_FILE_STRUCT.513* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.513*, align 8 + store %struct.__STDIO_FILE_STRUCT.513* %stream, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.513*, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.513, %struct.__STDIO_FILE_STRUCT.513* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %cond.true, label %cond.end + +cond.true: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.513*, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.513, %struct.__STDIO_FILE_STRUCT.513* %2, i32 0, i32 5 + %3 = load i8*, i8** %__bufpos, align 8 + %4 = load %struct.__STDIO_FILE_STRUCT.513*, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.513, %struct.__STDIO_FILE_STRUCT.513* %4, i32 0, i32 3 + %5 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %3 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + br label %cond.end + +cond.end: ; preds = %entry, %cond.true + %cond = phi i64 [ %sub.ptr.sub, %cond.true ], [ 0, %entry ] + ret i64 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i8* @gets(i8* %s) #0 { +entry: + %s.addr = alloca i8*, align 8 + %p = alloca i8*, align 8 + %c = alloca i32, align 4 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %call = call i32 @getchar_unlocked() #18 + store i32 %call, i32* %c, align 4 + %cmp = icmp ne i32 %call, -1 + br i1 %cmp, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %1 = load i32, i32* %c, align 4 + %conv = trunc i32 %1 to i8 + %2 = load i8*, i8** %p, align 8 + store i8 %conv, i8* %2, align 1 + %conv1 = sext i8 %conv to i32 + %cmp2 = icmp ne i32 %conv1, 10 + br i1 %cmp2, label %while.body, label %while.end + +while.body: ; preds = %land.rhs + %3 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + br label %while.cond + +while.end: ; preds = %while.cond, %land.rhs + %4 = load i32, i32* %c, align 4 + %cmp4 = icmp eq i32 %4, -1 + br i1 %cmp4, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.end + %5 = load i8*, i8** %s.addr, align 8 + %6 = load i8*, i8** %p, align 8 + %cmp6 = icmp eq i8* %5, %6 + br i1 %cmp6, label %if.then, label %if.else + +if.then: ; preds = %lor.lhs.false, %while.end + store i8* null, i8** %s.addr, align 8 + br label %if.end + +if.else: ; preds = %lor.lhs.false + %7 = load i8*, i8** %p, align 8 + store i8 0, i8* %7, align 1 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %8 = load i8*, i8** %s.addr, align 8 + ret i8* %8 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @tmpnam(i8* %s) #0 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %tmpbufmem = alloca [20 x i8], align 16 + %tmpbuf = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %tobool = icmp ne i8* %0, null + %arraydecay = getelementptr inbounds [20 x i8], [20 x i8]* %tmpbufmem, i64 0, i64 0 + %cond = select i1 %tobool, i8* %0, i8* %arraydecay + store i8* %cond, i8** %tmpbuf, align 8 + %1 = load i8*, i8** %tmpbuf, align 8 + %call = call i32 @___path_search(i8* %1, i64 20, i8* null, i8* null) #18 + %conv = sext i32 %call to i64 + %tobool1 = icmp ne i64 %conv, 0 + br i1 %tobool1, label %if.then, label %if.end + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %tmpbuf, align 8 + %call2 = call i32 @__gen_tempname(i8* %2, i32 3) #18 + %conv3 = sext i32 %call2 to i64 + %tobool4 = icmp ne i64 %conv3, 0 + br i1 %tobool4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end + store i8* null, i8** %retval, align 8 + br label %return + +if.end6: ; preds = %if.end + %3 = load i8*, i8** %s.addr, align 8 + %cmp = icmp eq i8* %3, null + br i1 %cmp, label %if.then8, label %if.end10 + +if.then8: ; preds = %if.end6 + %4 = load i8*, i8** %tmpbuf, align 8 + %call9 = call i8* @memcpy(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @tmpnam_buffer, i64 0, i64 0), i8* %4, i64 20) #19 + store i8* %call9, i8** %retval, align 8 + br label %return + +if.end10: ; preds = %if.end6 + %5 = load i8*, i8** %s.addr, align 8 + store i8* %5, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end10, %if.then8, %if.then5, %if.then + %6 = load i8*, i8** %retval, align 8 + ret i8* %6 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @mktemp(i8* nonnull %template) #0 { +entry: + %template.addr = alloca i8*, align 8 + store i8* %template, i8** %template.addr, align 8 + %0 = load i8*, i8** %template.addr, align 8 + %call = call i32 @__gen_tempname(i8* %0, i32 3) #18 + %cmp = icmp slt i32 %call, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load i8*, i8** %template.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + store i8 0, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then, %entry + %2 = load i8*, i8** %template.addr, align 8 + ret i8* %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @access(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %pathname.addr, align 8 + %call1 = call i8* @__concretize_string(i8* %2) + %3 = load i32, i32* %mode.addr, align 4 + %call2 = call i64 (i64, ...) @syscall(i64 21, i8* %call1, i32 %3) #11 + %conv = trunc i64 %call2 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.exe_disk_file_t* @__get_sym_file(i8* %pathname) #3 { +entry: + %retval = alloca %struct.exe_disk_file_t*, align 8 + %pathname.addr = alloca i8*, align 8 + %cwd = alloca [1024 x i8], align 16 + %cwd_len = alloca i64, align 8 + %c = alloca i8, align 1 + %i = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + %0 = load i8*, i8** %pathname.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %pathname.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %2 to i32 + %cmp = icmp eq i32 %conv, 47 + br i1 %cmp, label %if.then2, label %if.end29 + +if.then2: ; preds = %if.end + %3 = bitcast [1024 x i8]* %cwd to i8* + %4 = call i8* @memset(i8* %3, i32 0, i64 1024) + %arraydecay = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 0 + %call = call i8* @getcwd(i8* %arraydecay, i64 1024) #11 + %tobool3 = icmp ne i8* %call, null + br i1 %tobool3, label %if.then4, label %if.end29 + +if.then4: ; preds = %if.then2 + %arraydecay5 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 0 + %call6 = call i64 @strlen(i8* %arraydecay5) #23 + store i64 %call6, i64* %cwd_len, align 8 + %5 = load i64, i64* %cwd_len, align 8 + %cmp7 = icmp ugt i64 %5, 0 + br i1 %cmp7, label %land.lhs.true, label %if.end15 + +land.lhs.true: ; preds = %if.then4 + %6 = load i64, i64* %cwd_len, align 8 + %sub = sub i64 %6, 1 + %arrayidx9 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 %sub + %7 = load i8, i8* %arrayidx9, align 1 + %conv10 = sext i8 %7 to i32 + %cmp11 = icmp eq i32 %conv10, 47 + br i1 %cmp11, label %if.then13, label %if.end15 + +if.then13: ; preds = %land.lhs.true + %8 = load i64, i64* %cwd_len, align 8 + %dec = add i64 %8, -1 + store i64 %dec, i64* %cwd_len, align 8 + %arrayidx14 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 %dec + store i8 0, i8* %arrayidx14, align 1 + br label %if.end15 + +if.end15: ; preds = %if.then13, %land.lhs.true, %if.then4 + %9 = load i8*, i8** %pathname.addr, align 8 + %arraydecay16 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 0 + %10 = load i64, i64* %cwd_len, align 8 + %call17 = call i32 @strncmp(i8* %9, i8* %arraydecay16, i64 %10) #23 + %cmp18 = icmp eq i32 %call17, 0 + br i1 %cmp18, label %if.then20, label %if.end29 + +if.then20: ; preds = %if.end15 + %11 = load i8*, i8** %pathname.addr, align 8 + %12 = load i64, i64* %cwd_len, align 8 + %arrayidx21 = getelementptr inbounds i8, i8* %11, i64 %12 + %13 = load i8, i8* %arrayidx21, align 1 + %conv22 = sext i8 %13 to i32 + %cmp23 = icmp ne i32 %conv22, 0 + br i1 %cmp23, label %if.then25, label %if.end29 + +if.then25: ; preds = %if.then20 + %14 = load i64, i64* %cwd_len, align 8 + %add = add i64 %14, 1 + %15 = load i8*, i8** %pathname.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %15, i64 %add + store i8* %add.ptr, i8** %pathname.addr, align 8 + br label %if.end29 + +if.end29: ; preds = %if.then2, %if.then20, %if.then25, %if.end15, %if.end + %16 = load i8*, i8** %pathname.addr, align 8 + %arrayidx30 = getelementptr inbounds i8, i8* %16, i64 0 + %17 = load i8, i8* %arrayidx30, align 1 + store i8 %17, i8* %c, align 1 + %18 = load i8, i8* %c, align 1 + %conv31 = sext i8 %18 to i32 + %cmp32 = icmp eq i32 %conv31, 0 + br i1 %cmp32, label %if.then38, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end29 + %19 = load i8*, i8** %pathname.addr, align 8 + %arrayidx34 = getelementptr inbounds i8, i8* %19, i64 1 + %20 = load i8, i8* %arrayidx34, align 1 + %conv35 = sext i8 %20 to i32 + %cmp36 = icmp ne i32 %conv35, 0 + br i1 %cmp36, label %if.then38, label %if.end39 + +if.then38: ; preds = %lor.lhs.false, %if.end29 + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +if.end39: ; preds = %lor.lhs.false + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end39 + %21 = load i32, i32* %i, align 4 + %22 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %cmp40 = icmp ult i32 %21, %22 + br i1 %cmp40, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %23 = load i8, i8* %c, align 1 + %conv42 = sext i8 %23 to i32 + %24 = load i32, i32* %i, align 4 + %conv43 = trunc i32 %24 to i8 + %conv44 = sext i8 %conv43 to i32 + %add45 = add nsw i32 65, %conv44 + %cmp46 = icmp eq i32 %conv42, %add45 + br i1 %cmp46, label %if.then48, label %for.inc + +if.then48: ; preds = %for.body + %25 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %26 = load i32, i32* %i, align 4 + %idxprom = zext i32 %26 to i64 + %arrayidx49 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %25, i64 %idxprom + store %struct.exe_disk_file_t* %arrayidx49, %struct.exe_disk_file_t** %df, align 8 + %27 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %27, i32 0, i32 2 + %28 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %28, i32 0, i32 1 + %29 = load i64, i64* %st_ino, align 8 + %cmp50 = icmp eq i64 %29, 0 + br i1 %cmp50, label %if.then52, label %if.end53 + +if.then52: ; preds = %if.then48 + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +if.end53: ; preds = %if.then48 + %30 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + store %struct.exe_disk_file_t* %30, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +for.inc: ; preds = %for.body + %31 = load i32, i32* %i, align 4 + %inc = add i32 %31, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +return: ; preds = %for.end, %if.end53, %if.then52, %if.then38, %if.then + %32 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %retval, align 8 + ret %struct.exe_disk_file_t* %32 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @__concretize_string(i8* %s) #3 { +entry: + %s.addr = alloca i8*, align 8 + %sc = alloca i8*, align 8 + %i = alloca i32, align 4 + %c = alloca i8, align 1 + %cc = alloca i8, align 1 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %call = call i8* @__concretize_ptr(i8* %0) + store i8* %call, i8** %sc, align 8 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load i8*, i8** %sc, align 8 + %2 = load i8, i8* %1, align 1 + store i8 %2, i8* %c, align 1 + %3 = load i8, i8* %c, align 1 + %conv = sext i8 %3 to i64 + %call1 = call i32 @gs_is_symbolic(i64 %conv) + %tobool = icmp ne i32 %call1, 0 + br i1 %tobool, label %if.end4, label %if.then + +if.then: ; preds = %for.cond + %4 = load i8, i8* %c, align 1 + %tobool2 = icmp ne i8 %4, 0 + br i1 %tobool2, label %for.inc, label %for.end + +if.end4: ; preds = %for.cond + %5 = load i32, i32* %i, align 4 + %6 = load i32, i32* %i, align 4 + %sub = sub i32 %6, 1 + %and = and i32 %5, %sub + %tobool5 = icmp ne i32 %and, 0 + %7 = load i8, i8* %c, align 1 + br i1 %tobool5, label %if.else14, label %if.then6 + +if.then6: ; preds = %if.end4 + %tobool7 = icmp ne i8 %7, 0 + br i1 %tobool7, label %if.else, label %if.then8 + +if.then8: ; preds = %if.then6 + %8 = load i8*, i8** %sc, align 8 + store i8 0, i8* %8, align 1 + br label %for.end + +if.else: ; preds = %if.then6 + %9 = load i8, i8* %c, align 1 + %conv9 = sext i8 %9 to i32 + %cmp = icmp eq i32 %conv9, 47 + br i1 %cmp, label %if.then11, label %for.inc + +if.then11: ; preds = %if.else + %10 = load i8*, i8** %sc, align 8 + store i8 47, i8* %10, align 1 + br label %for.inc + +if.else14: ; preds = %if.end4 + %conv15 = sext i8 %7 to i64 + %call16 = call i64 @gs_get_valuel(i64 %conv15) + %conv17 = trunc i64 %call16 to i8 + store i8 %conv17, i8* %cc, align 1 + %11 = load i8, i8* %cc, align 1 + %conv18 = sext i8 %11 to i32 + %12 = load i8, i8* %c, align 1 + %conv19 = sext i8 %12 to i32 + %cmp20 = icmp eq i32 %conv18, %conv19 + call void @gs_assume(i1 zeroext %cmp20) + %13 = load i8, i8* %cc, align 1 + %14 = load i8*, i8** %sc, align 8 + store i8 %13, i8* %14, align 1 + %15 = load i8, i8* %cc, align 1 + %tobool22 = icmp ne i8 %15, 0 + br i1 %tobool22, label %for.inc, label %for.end + +for.inc: ; preds = %if.else, %if.then11, %if.else14, %if.then + %16 = load i32, i32* %i, align 4 + %inc = add i32 %16, 1 + store i32 %inc, i32* %i, align 4 + %17 = load i8*, i8** %sc, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %17, i32 1 + store i8* %incdec.ptr, i8** %sc, align 8 + br label %for.cond + +for.end: ; preds = %if.else14, %if.then, %if.then8 + %18 = load i8*, i8** %s.addr, align 8 + ret i8* %18 +} + +; Function Attrs: nounwind +declare dso_local i64 @syscall(i64, ...) #4 + +; Function Attrs: noinline nounwind uwtable +define internal i8* @__concretize_ptr(i8* %p) #3 { +entry: + %p.addr = alloca i8*, align 8 + store i8* %p, i8** %p.addr, align 8 + %0 = load i8*, i8** %p.addr, align 8 + %1 = ptrtoint i8* %0 to i64 + %call = call i32 @gs_is_symbolic(i64 %1) + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @gs_report_error(i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 1386, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.27, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.28, i64 0, i64 0)) #24 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %p.addr, align 8 + ret i8* %2 +} + +declare dso_local i32 @gs_is_symbolic(i64) #5 + +declare dso_local i64 @gs_get_valuel(i64) #5 + +declare dso_local void @gs_assume(i1 zeroext) #5 + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.25, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +declare dso_local void @print_string(i8*) #5 + +declare dso_local void @sym_print(i32, ...) #5 + +; Function Attrs: noreturn +declare dso_local void @stop(i32) #7 + +; Function Attrs: argmemonly nounwind willreturn writeonly +declare void @llvm.memset.p0i8.i64(i8* nocapture writeonly, i8, i64, i1 immarg) #8 + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @getcwd(i8* %buf, i64 %size) #3 { +entry: + %retval = alloca i8*, align 8 + %buf.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %r = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + %0 = load i32, i32* @getcwd.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @getcwd.n_calls, align 4 + %1 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool = icmp ne i32 %1, 0 + br i1 %tobool, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %2 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %3 = load i32, i32* %2, align 4 + %4 = load i32, i32* @getcwd.n_calls, align 4 + %cmp = icmp eq i32 %3, %4 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %5 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %5, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call = call i32* @__errno_location() #25 + store i32 34, i32* %call, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + %6 = load i8*, i8** %buf.addr, align 8 + %tobool1 = icmp ne i8* %6, null + br i1 %tobool1, label %if.else, label %if.then2 + +if.then2: ; preds = %if.end + store i64 1024, i64* %size.addr, align 8 + %7 = load i64, i64* %size.addr, align 8 + %call3 = call noalias i8* @malloc(i64 %7) #11 + store i8* %call3, i8** %buf.addr, align 8 + %8 = load i8*, i8** %buf.addr, align 8 + %tobool4 = icmp ne i8* %8, null + br i1 %tobool4, label %if.end12, label %if.then5 + +if.then5: ; preds = %if.then2 + %call6 = call i32* @__errno_location() #25 + store i32 12, i32* %call6, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.else: ; preds = %if.end + %9 = load i64, i64* %size.addr, align 8 + %tobool8 = icmp ne i64 %9, 0 + br i1 %tobool8, label %if.end12, label %if.then9 + +if.then9: ; preds = %if.else + %call10 = call i32* @__errno_location() #25 + store i32 22, i32* %call10, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end12: ; preds = %if.else, %if.then2 + %10 = load i8*, i8** %buf.addr, align 8 + %call13 = call i8* @__concretize_ptr(i8* %10) + store i8* %call13, i8** %buf.addr, align 8 + %11 = load i64, i64* %size.addr, align 8 + %call14 = call i64 @__concretize_size(i64 %11) + store i64 %call14, i64* %size.addr, align 8 + %12 = load i8*, i8** %buf.addr, align 8 + %13 = load i64, i64* %size.addr, align 8 + %call15 = call i64 (i64, ...) @syscall(i64 79, i8* %12, i64 %13) #11 + %conv = trunc i64 %call15 to i32 + store i32 %conv, i32* %r, align 4 + %14 = load i32, i32* %r, align 4 + %cmp16 = icmp eq i32 %14, -1 + br i1 %cmp16, label %if.then18, label %if.end19 + +if.then18: ; preds = %if.end12 + store i8* null, i8** %retval, align 8 + br label %return + +if.end19: ; preds = %if.end12 + %15 = load i8*, i8** %buf.addr, align 8 + store i8* %15, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end19, %if.then18, %if.then9, %if.then5, %if.then + %16 = load i8*, i8** %retval, align 8 + ret i8* %16 +} + +; Function Attrs: nounwind +declare dso_local noalias i8* @malloc(i64) #4 + +; Function Attrs: noinline nounwind uwtable +define internal i64 @__concretize_size(i64 %s) #3 { +entry: + %s.addr = alloca i64, align 8 + %sc = alloca i64, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %call = call i64 @gs_get_valuel(i64 %0) + store i64 %call, i64* %sc, align 8 + %1 = load i64, i64* %sc, align 8 + %2 = load i64, i64* %s.addr, align 8 + %cmp = icmp eq i64 %1, %2 + call void @gs_assume(i1 zeroext %cmp) + %3 = load i64, i64* %sc, align 8 + ret i64 %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @umask(i32 %mask) #3 { +entry: + %mask.addr = alloca i32, align 4 + %r = alloca i32, align 4 + store i32 %mask, i32* %mask.addr, align 4 + %0 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 1), align 8 + store i32 %0, i32* %r, align 4 + %1 = load i32, i32* %mask.addr, align 4 + %and = and i32 %1, 511 + store i32 %and, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 1), align 8 + %2 = load i32, i32* %r, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_open(i8* %pathname, i32 %flags, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %fd = alloca i32, align 4 + %os_fd = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + store i32 0, i32* %fd, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %0, 32 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %1 = load i32, i32* %fd, align 4 + %idxprom = sext i32 %1 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + %flags1 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %arrayidx, i32 0, i32 1 + %2 = load i32, i32* %flags1, align 4 + %and = and i32 %2, 1 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %for.inc, label %for.end + +for.inc: ; preds = %for.body + %3 = load i32, i32* %fd, align 4 + %inc = add nsw i32 %3, 1 + store i32 %inc, i32* %fd, align 4 + br label %for.cond + +for.end: ; preds = %for.body, %for.cond + %4 = load i32, i32* %fd, align 4 + %cmp2 = icmp eq i32 %4, 32 + br i1 %cmp2, label %if.then3, label %if.end4 + +if.then3: ; preds = %for.end + %call = call i32* @__errno_location() #25 + store i32 24, i32* %call, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %for.end + %5 = load i32, i32* %fd, align 4 + %idxprom5 = sext i32 %5 to i64 + %arrayidx6 = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom5 + store %struct.exe_file_t* %arrayidx6, %struct.exe_file_t** %f, align 8 + %6 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %7 = bitcast %struct.exe_file_t* %6 to i8* + %8 = call i8* @memset(i8* %7, i32 0, i64 24) + %9 = load i8*, i8** %pathname.addr, align 8 + %call7 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %9) + store %struct.exe_disk_file_t* %call7, %struct.exe_disk_file_t** %df, align 8 + %10 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %tobool8 = icmp ne %struct.exe_disk_file_t* %10, null + br i1 %tobool8, label %if.then9, label %if.else45 + +if.then9: ; preds = %if.end4 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %12 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %12, i32 0, i32 3 + store %struct.exe_disk_file_t* %11, %struct.exe_disk_file_t** %dfile, align 8 + %13 = load i32, i32* %flags.addr, align 4 + %and10 = and i32 %13, 64 + %tobool11 = icmp ne i32 %and10, 0 + br i1 %tobool11, label %land.lhs.true, label %if.end16 + +land.lhs.true: ; preds = %if.then9 + %14 = load i32, i32* %flags.addr, align 4 + %and12 = and i32 %14, 128 + %tobool13 = icmp ne i32 %and12, 0 + br i1 %tobool13, label %if.then14, label %if.end16 + +if.then14: ; preds = %land.lhs.true + %call15 = call i32* @__errno_location() #25 + store i32 17, i32* %call15, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end16: ; preds = %land.lhs.true, %if.then9 + %15 = load i32, i32* %flags.addr, align 4 + %and17 = and i32 %15, 512 + %tobool18 = icmp ne i32 %and17, 0 + br i1 %tobool18, label %land.lhs.true19, label %if.end24 + +land.lhs.true19: ; preds = %if.end16 + %16 = load i32, i32* %flags.addr, align 4 + %and20 = and i32 %16, 0 + %tobool21 = icmp ne i32 %and20, 0 + br i1 %tobool21, label %if.then22, label %if.end24 + +if.then22: ; preds = %land.lhs.true19 + call void @gs_warning(i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.5, i64 0, i64 0)) + %call23 = call i32* @__errno_location() #25 + store i32 13, i32* %call23, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end24: ; preds = %land.lhs.true19, %if.end16 + %17 = load i32, i32* %flags.addr, align 4 + %and25 = and i32 %17, 128 + %tobool26 = icmp ne i32 %and25, 0 + br i1 %tobool26, label %land.lhs.true27, label %if.end32 + +land.lhs.true27: ; preds = %if.end24 + %18 = load i32, i32* %flags.addr, align 4 + %and28 = and i32 %18, 64 + %tobool29 = icmp ne i32 %and28, 0 + br i1 %tobool29, label %if.end32, label %if.then30 + +if.then30: ; preds = %land.lhs.true27 + call void @gs_warning(i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.1.6, i64 0, i64 0)) + %call31 = call i32* @__errno_location() #25 + store i32 13, i32* %call31, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end32: ; preds = %land.lhs.true27, %if.end24 + %19 = load i32, i32* %flags.addr, align 4 + %20 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %20, i32 0, i32 2 + %21 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %call33 = call i32 @has_permission(i32 %19, %struct.stat64* %21) + %tobool34 = icmp ne i32 %call33, 0 + br i1 %tobool34, label %if.else, label %if.then35 + +if.then35: ; preds = %if.end32 + %call36 = call i32* @__errno_location() #25 + store i32 13, i32* %call36, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.end32 + %22 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile37 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %22, i32 0, i32 3 + %23 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile37, align 8 + %stat38 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %23, i32 0, i32 2 + %24 = load %struct.stat64*, %struct.stat64** %stat38, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %24, i32 0, i32 3 + %25 = load i32, i32* %st_mode, align 8 + %and39 = and i32 %25, -512 + %26 = load i32, i32* %mode.addr, align 4 + %27 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 1), align 8 + %neg = xor i32 %27, -1 + %and40 = and i32 %26, %neg + %or = or i32 %and39, %and40 + %28 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile41 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %28, i32 0, i32 3 + %29 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile41, align 8 + %stat42 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %29, i32 0, i32 2 + %30 = load %struct.stat64*, %struct.stat64** %stat42, align 8 + %st_mode43 = getelementptr inbounds %struct.stat64, %struct.stat64* %30, i32 0, i32 3 + store i32 %or, i32* %st_mode43, align 8 + br label %if.end53 + +if.else45: ; preds = %if.end4 + %31 = load i8*, i8** %pathname.addr, align 8 + %call46 = call i8* @__concretize_string(i8* %31) + %32 = load i32, i32* %flags.addr, align 4 + %33 = load i32, i32* %mode.addr, align 4 + %call47 = call i64 (i64, ...) @syscall(i64 2, i8* %call46, i32 %32, i32 %33) #11 + %conv = trunc i64 %call47 to i32 + store i32 %conv, i32* %os_fd, align 4 + %34 = load i32, i32* %os_fd, align 4 + %cmp48 = icmp eq i32 %34, -1 + br i1 %cmp48, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.else45 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end51: ; preds = %if.else45 + %35 = load i32, i32* %os_fd, align 4 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd52 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 0 + store i32 %35, i32* %fd52, align 8 + br label %if.end53 + +if.end53: ; preds = %if.end51, %if.else + %37 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %37, i32 0, i32 1 + store i32 1, i32* %flags54, align 4 + %38 = load i32, i32* %flags.addr, align 4 + %and55 = and i32 %38, 3 + %cmp56 = icmp eq i32 %and55, 0 + br i1 %cmp56, label %if.then58, label %if.else61 + +if.then58: ; preds = %if.end53 + %39 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags59 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %39, i32 0, i32 1 + %40 = load i32, i32* %flags59, align 4 + %or60 = or i32 %40, 4 + store i32 %or60, i32* %flags59, align 4 + br label %if.end72 + +if.else61: ; preds = %if.end53 + %41 = load i32, i32* %flags.addr, align 4 + %and62 = and i32 %41, 3 + %cmp63 = icmp eq i32 %and62, 1 + %42 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags66 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %42, i32 0, i32 1 + %43 = load i32, i32* %flags66, align 4 + br i1 %cmp63, label %if.then65, label %if.else68 + +if.then65: ; preds = %if.else61 + %or67 = or i32 %43, 8 + store i32 %or67, i32* %flags66, align 4 + br label %if.end72 + +if.else68: ; preds = %if.else61 + %or70 = or i32 %43, 12 + store i32 %or70, i32* %flags66, align 4 + br label %if.end72 + +if.end72: ; preds = %if.then65, %if.else68, %if.then58 + %44 = load i32, i32* %fd, align 4 + store i32 %44, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end72, %if.then50, %if.then35, %if.then30, %if.then22, %if.then14, %if.then3 + %45 = load i32, i32* %retval, align 4 + ret i32 %45 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @gs_warning(i8* %message) #3 { +entry: + %message.addr = alloca i8*, align 8 + store i8* %message, i8** %message.addr, align 8 + %0 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %0) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.25, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @has_permission(i32 %flags, %struct.stat64* %s) #3 { +entry: + %retval = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %s.addr = alloca %struct.stat64*, align 8 + %write_access = alloca i32, align 4 + %read_access = alloca i32, align 4 + %mode = alloca i32, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store %struct.stat64* %s, %struct.stat64** %s.addr, align 8 + %0 = load %struct.stat64*, %struct.stat64** %s.addr, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %0, i32 0, i32 3 + %1 = load i32, i32* %st_mode, align 8 + store i32 %1, i32* %mode, align 4 + %2 = load i32, i32* %flags.addr, align 4 + %and = and i32 %2, 0 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %3 = load i32, i32* %flags.addr, align 4 + %and1 = and i32 %3, 2 + %tobool2 = icmp ne i32 %and1, 0 + br i1 %tobool2, label %if.then, label %if.else + +if.then: ; preds = %lor.lhs.false, %entry + store i32 1, i32* %read_access, align 4 + br label %if.end + +if.else: ; preds = %lor.lhs.false + store i32 0, i32* %read_access, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %4 = load i32, i32* %flags.addr, align 4 + %and3 = and i32 %4, 1 + %tobool4 = icmp ne i32 %and3, 0 + br i1 %tobool4, label %if.then8, label %lor.lhs.false5 + +lor.lhs.false5: ; preds = %if.end + %5 = load i32, i32* %flags.addr, align 4 + %and6 = and i32 %5, 2 + %tobool7 = icmp ne i32 %and6, 0 + br i1 %tobool7, label %if.then8, label %if.else9 + +if.then8: ; preds = %lor.lhs.false5, %if.end + store i32 1, i32* %write_access, align 4 + br label %if.end10 + +if.else9: ; preds = %lor.lhs.false5 + store i32 0, i32* %write_access, align 4 + br label %if.end10 + +if.end10: ; preds = %if.else9, %if.then8 + %6 = load i32, i32* %read_access, align 4 + %tobool11 = icmp ne i32 %6, 0 + br i1 %tobool11, label %land.lhs.true, label %if.end18 + +land.lhs.true: ; preds = %if.end10 + %7 = load i32, i32* %mode, align 4 + %and12 = and i32 %7, 256 + %8 = load i32, i32* %mode, align 4 + %and13 = and i32 %8, 32 + %or = or i32 %and12, %and13 + %9 = load i32, i32* %mode, align 4 + %and14 = and i32 %9, 4 + %or15 = or i32 %or, %and14 + %tobool16 = icmp ne i32 %or15, 0 + br i1 %tobool16, label %if.then17, label %if.end18 + +if.then17: ; preds = %land.lhs.true + store i32 0, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %land.lhs.true, %if.end10 + %10 = load i32, i32* %write_access, align 4 + %tobool19 = icmp ne i32 %10, 0 + br i1 %tobool19, label %land.lhs.true20, label %if.end28 + +land.lhs.true20: ; preds = %if.end18 + %11 = load i32, i32* %mode, align 4 + %and21 = and i32 %11, 128 + %12 = load i32, i32* %mode, align 4 + %and22 = and i32 %12, 16 + %or23 = or i32 %and21, %and22 + %13 = load i32, i32* %mode, align 4 + %and24 = and i32 %13, 2 + %or25 = or i32 %or23, %and24 + %tobool26 = icmp ne i32 %or25, 0 + br i1 %tobool26, label %if.end28, label %if.then27 + +if.then27: ; preds = %land.lhs.true20 + store i32 0, i32* %retval, align 4 + br label %return + +if.end28: ; preds = %land.lhs.true20, %if.end18 + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end28, %if.then27, %if.then17 + %14 = load i32, i32* %retval, align 4 + ret i32 %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_openat(i32 %basefd, i8* %pathname, i32 %flags, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %basefd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %fd = alloca i32, align 4 + %bf = alloca %struct.exe_file_t*, align 8 + %os_fd = alloca i32, align 4 + store i32 %basefd, i32* %basefd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %basefd.addr, align 4 + %cmp = icmp ne i32 %0, -100 + br i1 %cmp, label %if.then, label %if.end8 + +if.then: ; preds = %entry + %1 = load i32, i32* %basefd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %bf, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %bf, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.else, label %if.then1 + +if.then1: ; preds = %if.then + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %bf, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 3 + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool3 = icmp ne %struct.exe_disk_file_t* %4, null + br i1 %tobool3, label %if.then4, label %if.end6 + +if.then4: ; preds = %if.else + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0)) + %call5 = call i32* @__errno_location() #25 + store i32 2, i32* %call5, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.else + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %bf, align 8 + %fd7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd7, align 8 + store i32 %6, i32* %basefd.addr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end6, %entry + %7 = load i8*, i8** %pathname.addr, align 8 + %call9 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %7) + %tobool10 = icmp ne %struct.exe_disk_file_t* %call9, null + br i1 %tobool10, label %if.then11, label %if.end13 + +if.then11: ; preds = %if.end8 + %8 = load i8*, i8** %pathname.addr, align 8 + %9 = load i32, i32* %flags.addr, align 4 + %10 = load i32, i32* %mode.addr, align 4 + %call12 = call i32 @__fd_open(i8* %8, i32 %9, i32 %10) + store i32 %call12, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.end8 + store i32 0, i32* %fd, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end13 + %11 = load i32, i32* %fd, align 4 + %cmp14 = icmp slt i32 %11, 32 + br i1 %cmp14, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %12 = load i32, i32* %fd, align 4 + %idxprom = sext i32 %12 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + %flags15 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %arrayidx, i32 0, i32 1 + %13 = load i32, i32* %flags15, align 4 + %and = and i32 %13, 1 + %tobool16 = icmp ne i32 %and, 0 + br i1 %tobool16, label %for.inc, label %for.end + +for.inc: ; preds = %for.body + %14 = load i32, i32* %fd, align 4 + %inc = add nsw i32 %14, 1 + store i32 %inc, i32* %fd, align 4 + br label %for.cond + +for.end: ; preds = %for.body, %for.cond + %15 = load i32, i32* %fd, align 4 + %cmp19 = icmp eq i32 %15, 32 + br i1 %cmp19, label %if.then20, label %if.end22 + +if.then20: ; preds = %for.end + %call21 = call i32* @__errno_location() #25 + store i32 24, i32* %call21, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end22: ; preds = %for.end + %16 = load i32, i32* %fd, align 4 + %idxprom23 = sext i32 %16 to i64 + %arrayidx24 = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom23 + store %struct.exe_file_t* %arrayidx24, %struct.exe_file_t** %f, align 8 + %17 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %18 = bitcast %struct.exe_file_t* %17 to i8* + %19 = call i8* @memset(i8* %18, i32 0, i64 24) + %20 = load i32, i32* %basefd.addr, align 4 + %conv = sext i32 %20 to i64 + %21 = load i8*, i8** %pathname.addr, align 8 + %call25 = call i8* @__concretize_string(i8* %21) + %22 = load i32, i32* %flags.addr, align 4 + %conv26 = sext i32 %22 to i64 + %23 = load i32, i32* %mode.addr, align 4 + %call27 = call i64 (i64, ...) @syscall(i64 257, i64 %conv, i8* %call25, i64 %conv26, i32 %23) #11 + %conv28 = trunc i64 %call27 to i32 + store i32 %conv28, i32* %os_fd, align 4 + %24 = load i32, i32* %os_fd, align 4 + %cmp29 = icmp eq i32 %24, -1 + br i1 %cmp29, label %if.then31, label %if.end32 + +if.then31: ; preds = %if.end22 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end32: ; preds = %if.end22 + %25 = load i32, i32* %os_fd, align 4 + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd33 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 0 + store i32 %25, i32* %fd33, align 8 + %27 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags34 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %27, i32 0, i32 1 + store i32 1, i32* %flags34, align 4 + %28 = load i32, i32* %flags.addr, align 4 + %and35 = and i32 %28, 3 + %cmp36 = icmp eq i32 %and35, 0 + br i1 %cmp36, label %if.then38, label %if.else40 + +if.then38: ; preds = %if.end32 + %29 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags39 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %29, i32 0, i32 1 + %30 = load i32, i32* %flags39, align 4 + %or = or i32 %30, 4 + store i32 %or, i32* %flags39, align 4 + br label %if.end51 + +if.else40: ; preds = %if.end32 + %31 = load i32, i32* %flags.addr, align 4 + %and41 = and i32 %31, 3 + %cmp42 = icmp eq i32 %and41, 1 + %32 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags45 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %32, i32 0, i32 1 + %33 = load i32, i32* %flags45, align 4 + br i1 %cmp42, label %if.then44, label %if.else47 + +if.then44: ; preds = %if.else40 + %or46 = or i32 %33, 8 + store i32 %or46, i32* %flags45, align 4 + br label %if.end51 + +if.else47: ; preds = %if.else40 + %or49 = or i32 %33, 12 + store i32 %or49, i32* %flags45, align 4 + br label %if.end51 + +if.end51: ; preds = %if.then44, %if.else47, %if.then38 + %34 = load i32, i32* %fd, align 4 + store i32 %34, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end51, %if.then31, %if.then20, %if.then11, %if.then4, %if.then1 + %35 = load i32, i32* %retval, align 4 + ret i32 %35 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.exe_file_t* @__get_file(i32 %fd) #3 { +entry: + %retval = alloca %struct.exe_file_t*, align 8 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %cmp = icmp sge i32 %0, 0 + %1 = load i32, i32* %fd.addr, align 4 + %cmp1 = icmp slt i32 %1, 32 + %or.cond = and i1 %cmp, %cmp1 + br i1 %or.cond, label %if.then, label %if.end3 + +if.then: ; preds = %entry + %2 = load i32, i32* %fd.addr, align 4 + %idxprom = sext i32 %2 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + store %struct.exe_file_t* %arrayidx, %struct.exe_file_t** %f, align 8 + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 1 + %4 = load i32, i32* %flags, align 4 + %and = and i32 %4, 1 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.then + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + store %struct.exe_file_t* %5, %struct.exe_file_t** %retval, align 8 + br label %return + +if.end3: ; preds = %if.then, %entry + store %struct.exe_file_t* null, %struct.exe_file_t** %retval, align 8 + br label %return + +return: ; preds = %if.end3, %if.then2 + %6 = load %struct.exe_file_t*, %struct.exe_file_t** %retval, align 8 + ret %struct.exe_file_t* %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @utimes(i8* nonnull %path, %struct.timespec* %times) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %times.addr = alloca %struct.timespec*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + %newTimes = alloca [2 x %struct.timespec], align 16 + store i8* %path, i8** %path.addr, align 8 + store %struct.timespec* %times, %struct.timespec** %times.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end12 + +if.then: ; preds = %entry + %2 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %tobool1 = icmp ne %struct.timespec* %2, null + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + %arrayidx = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 0 + %call3 = call i32 @gettimeofday(%struct.timespec* %arrayidx, i8* null) #11 + %arrayidx4 = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 1 + %arrayidx5 = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 0 + %3 = bitcast %struct.timespec* %arrayidx4 to i8* + %4 = bitcast %struct.timespec* %arrayidx5 to i8* + %5 = call i8* @memcpy(i8* %3, i8* %4, i64 16) + %arraydecay = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 0 + store %struct.timespec* %arraydecay, %struct.timespec** %times.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %6 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %arrayidx6 = getelementptr inbounds %struct.timespec, %struct.timespec* %6, i64 0 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %arrayidx6, i32 0, i32 0 + %7 = load i64, i64* %tv_sec, align 8 + %8 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %8, i32 0, i32 2 + %9 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_atim = getelementptr inbounds %struct.stat64, %struct.stat64* %9, i32 0, i32 11 + %tv_sec7 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim, i32 0, i32 0 + store i64 %7, i64* %tv_sec7, align 8 + %10 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %arrayidx8 = getelementptr inbounds %struct.timespec, %struct.timespec* %10, i64 1 + %tv_sec9 = getelementptr inbounds %struct.timespec, %struct.timespec* %arrayidx8, i32 0, i32 0 + %11 = load i64, i64* %tv_sec9, align 8 + %12 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat10 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %12, i32 0, i32 2 + %13 = load %struct.stat64*, %struct.stat64** %stat10, align 8 + %st_mtim = getelementptr inbounds %struct.stat64, %struct.stat64* %13, i32 0, i32 12 + %tv_sec11 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim, i32 0, i32 0 + store i64 %11, i64* %tv_sec11, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.end12: ; preds = %entry + %14 = load i8*, i8** %path.addr, align 8 + %call13 = call i8* @__concretize_string(i8* %14) + %15 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %call14 = call i64 (i64, ...) @syscall(i64 235, i8* %call13, %struct.timespec* %15) #11 + %conv = trunc i64 %call14 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end12, %if.end + %16 = load i32, i32* %retval, align 4 + ret i32 %16 +} + +; Function Attrs: nounwind +declare dso_local i32 @gettimeofday(%struct.timespec*, i8*) #4 + +; Function Attrs: argmemonly nounwind willreturn +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* noalias nocapture writeonly, i8* noalias nocapture readonly, i64, i1 immarg) #9 + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @futimesat(i32 %fd, i8* %path, %struct.timespec* %times) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %times.addr = alloca %struct.timespec*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.timespec* %times, %struct.timespec** %times.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %cmp = icmp ne i32 %0, -100 + br i1 %cmp, label %if.then, label %if.end8 + +if.then: ; preds = %entry + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.else, label %if.then1 + +if.then1: ; preds = %if.then + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 3 + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool3 = icmp ne %struct.exe_disk_file_t* %4, null + br i1 %tobool3, label %if.then4, label %if.end6 + +if.then4: ; preds = %if.else + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0)) + %call5 = call i32* @__errno_location() #25 + store i32 2, i32* %call5, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.else + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd7, align 8 + store i32 %6, i32* %fd.addr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end6, %entry + %7 = load i8*, i8** %path.addr, align 8 + %call9 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %7) + %tobool10 = icmp ne %struct.exe_disk_file_t* %call9, null + br i1 %tobool10, label %if.then11, label %if.end13 + +if.then11: ; preds = %if.end8 + %8 = load i8*, i8** %path.addr, align 8 + %9 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %call12 = call i32 @utimes(i8* %8, %struct.timespec* %9) #11 + store i32 %call12, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.end8 + %10 = load i32, i32* %fd.addr, align 4 + %conv = sext i32 %10 to i64 + %11 = load i8*, i8** %path.addr, align 8 + %tobool14 = icmp ne i8* %11, null + br i1 %tobool14, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end13 + %12 = load i8*, i8** %path.addr, align 8 + %call15 = call i8* @__concretize_string(i8* %12) + br label %cond.end + +cond.end: ; preds = %if.end13, %cond.true + %cond = phi i8* [ %call15, %cond.true ], [ null, %if.end13 ] + %13 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %call16 = call i64 (i64, ...) @syscall(i64 261, i64 %conv, i8* %cond, %struct.timespec* %13) #11 + %conv17 = trunc i64 %call16 to i32 + store i32 %conv17, i32* %retval, align 4 + br label %return + +return: ; preds = %cond.end, %if.then11, %if.then4, %if.then1 + %14 = load i32, i32* %retval, align 4 + ret i32 %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @close(i32 %fd) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %r = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 0, i32* %r, align 4 + %0 = load i32, i32* @close.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @close.n_calls, align 4 + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @close.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %9 = bitcast %struct.exe_file_t* %8 to i8* + %10 = call i8* @memset(i8* %9, i32 0, i64 24) + %11 = load i32, i32* %r, align 4 + store i32 %11, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %12 = load i32, i32* %retval, align 4 + ret i32 %12 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @read(i32 %fd, i8* %buf, i64 %count) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %r = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + %0 = load i32, i32* @read.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @read.n_calls, align 4 + %1 = load i64, i64* %count.addr, align 8 + %cmp = icmp eq i64 %1, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i64 0, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %buf.addr, align 8 + %cmp1 = icmp eq i8* %2, null + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + %call = call i32* @__errno_location() #25 + store i32 14, i32* %call, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %3 = load i32, i32* %fd.addr, align 4 + %call4 = call %struct.exe_file_t* @__get_file(i32 %3) + store %struct.exe_file_t* %call4, %struct.exe_file_t** %f, align 8 + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %4, null + br i1 %tobool, label %if.end7, label %if.then5 + +if.then5: ; preds = %if.end3 + %call6 = call i32* @__errno_location() #25 + store i32 9, i32* %call6, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end7: ; preds = %if.end3 + %5 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool8 = icmp ne i32 %5, 0 + br i1 %tobool8, label %land.lhs.true, label %if.end12 + +land.lhs.true: ; preds = %if.end7 + %6 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %7 = load i32, i32* %6, align 4 + %8 = load i32, i32* @read.n_calls, align 4 + %cmp9 = icmp eq i32 %7, %8 + br i1 %cmp9, label %if.then10, label %if.end12 + +if.then10: ; preds = %land.lhs.true + %9 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %9, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call11 = call i32* @__errno_location() #25 + store i32 5, i32* %call11, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end12: ; preds = %land.lhs.true, %if.end7 + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 3 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool13 = icmp ne %struct.exe_disk_file_t* %11, null + br i1 %tobool13, label %if.else38, label %if.then14 + +if.then14: ; preds = %if.end12 + %12 = load i8*, i8** %buf.addr, align 8 + %call15 = call i8* @__concretize_ptr(i8* %12) + store i8* %call15, i8** %buf.addr, align 8 + %13 = load i64, i64* %count.addr, align 8 + %call16 = call i64 @__concretize_size(i64 %13) + store i64 %call16, i64* %count.addr, align 8 + %14 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd17 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %14, i32 0, i32 0 + %15 = load i32, i32* %fd17, align 8 + %cmp18 = icmp eq i32 %15, 0 + %16 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd20 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %16, i32 0, i32 0 + %17 = load i32, i32* %fd20, align 8 + %18 = load i8*, i8** %buf.addr, align 8 + %19 = load i64, i64* %count.addr, align 8 + br i1 %cmp18, label %if.then19, label %if.else + +if.then19: ; preds = %if.then14 + %call21 = call i64 (i64, ...) @syscall(i64 0, i32 %17, i8* %18, i64 %19) #11 + %conv = trunc i64 %call21 to i32 + store i32 %conv, i32* %r, align 4 + br label %if.end25 + +if.else: ; preds = %if.then14 + %20 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %20, i32 0, i32 2 + %21 = load i64, i64* %off, align 8 + %call23 = call i64 (i64, ...) @syscall(i64 17, i32 %17, i8* %18, i64 %19, i64 %21) #11 + %conv24 = trunc i64 %call23 to i32 + store i32 %conv24, i32* %r, align 4 + br label %if.end25 + +if.end25: ; preds = %if.else, %if.then19 + %22 = load i32, i32* %r, align 4 + %cmp26 = icmp eq i32 %22, -1 + br i1 %cmp26, label %if.then28, label %if.end29 + +if.then28: ; preds = %if.end25 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end29: ; preds = %if.end25 + %23 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd30 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %23, i32 0, i32 0 + %24 = load i32, i32* %fd30, align 8 + %cmp31 = icmp ne i32 %24, 0 + br i1 %cmp31, label %if.then33, label %if.end36 + +if.then33: ; preds = %if.end29 + %25 = load i32, i32* %r, align 4 + %conv34 = sext i32 %25 to i64 + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off35 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 2 + %27 = load i64, i64* %off35, align 8 + %add = add nsw i64 %27, %conv34 + store i64 %add, i64* %off35, align 8 + br label %if.end36 + +if.end36: ; preds = %if.then33, %if.end29 + %28 = load i32, i32* %r, align 4 + %conv37 = sext i32 %28 to i64 + store i64 %conv37, i64* %retval, align 8 + br label %return + +if.else38: ; preds = %if.end12 + %29 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off39 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %29, i32 0, i32 2 + %30 = load i64, i64* %off39, align 8 + %cmp40 = icmp sge i64 %30, 0 + br i1 %cmp40, label %if.end44, label %if.else43 + +if.else43: ; preds = %if.else38 + call void @__assert_fail(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.3, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 393, i8* getelementptr inbounds ([34 x i8], [34 x i8]* @__PRETTY_FUNCTION__.read, i64 0, i64 0)) #26 + unreachable + +if.end44: ; preds = %if.else38 + %31 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile45 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %31, i32 0, i32 3 + %32 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile45, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %32, i32 0, i32 0 + %33 = load i32, i32* %size, align 8 + %conv46 = zext i32 %33 to i64 + %34 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off47 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %34, i32 0, i32 2 + %35 = load i64, i64* %off47, align 8 + %cmp48 = icmp slt i64 %conv46, %35 + br i1 %cmp48, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.end44 + store i64 0, i64* %retval, align 8 + br label %return + +if.end51: ; preds = %if.end44 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off52 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 2 + %37 = load i64, i64* %off52, align 8 + %38 = load i64, i64* %count.addr, align 8 + %add53 = add i64 %37, %38 + %39 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %39, i32 0, i32 3 + %40 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile54, align 8 + %size55 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %40, i32 0, i32 0 + %41 = load i32, i32* %size55, align 8 + %conv56 = zext i32 %41 to i64 + %cmp57 = icmp ugt i64 %add53, %conv56 + br i1 %cmp57, label %if.then59, label %if.end64 + +if.then59: ; preds = %if.end51 + %42 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile60 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %42, i32 0, i32 3 + %43 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile60, align 8 + %size61 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %43, i32 0, i32 0 + %44 = load i32, i32* %size61, align 8 + %conv62 = zext i32 %44 to i64 + %45 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off63 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %45, i32 0, i32 2 + %46 = load i64, i64* %off63, align 8 + %sub = sub nsw i64 %conv62, %46 + store i64 %sub, i64* %count.addr, align 8 + br label %if.end64 + +if.end64: ; preds = %if.then59, %if.end51 + %47 = load i8*, i8** %buf.addr, align 8 + %48 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile65 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %48, i32 0, i32 3 + %49 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile65, align 8 + %contents = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %49, i32 0, i32 1 + %50 = load i8*, i8** %contents, align 8 + %51 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off66 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %51, i32 0, i32 2 + %52 = load i64, i64* %off66, align 8 + %add.ptr = getelementptr inbounds i8, i8* %50, i64 %52 + %53 = load i64, i64* %count.addr, align 8 + %54 = call i8* @memcpy(i8* %47, i8* %add.ptr, i64 %53) + %55 = load i64, i64* %count.addr, align 8 + %56 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off67 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %56, i32 0, i32 2 + %57 = load i64, i64* %off67, align 8 + %add68 = add i64 %57, %55 + store i64 %add68, i64* %off67, align 8 + %58 = load i64, i64* %count.addr, align 8 + store i64 %58, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end64, %if.then50, %if.end36, %if.then28, %if.then10, %if.then5, %if.then2, %if.then + %59 = load i64, i64* %retval, align 8 + ret i64 %59 +} + +; Function Attrs: noreturn nounwind +declare dso_local void @__assert_fail(i8*, i8*, i32, i8*) #10 + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @write(i32 %fd, i8* %buf, i64 %count) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %r = alloca i32, align 4 + %actual_count = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + %0 = load i32, i32* @write.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @write.n_calls, align 4 + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @write.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + br i1 %tobool6, label %if.else42, label %if.then7 + +if.then7: ; preds = %if.end5 + %10 = load i8*, i8** %buf.addr, align 8 + %call8 = call i8* @__concretize_ptr(i8* %10) + store i8* %call8, i8** %buf.addr, align 8 + %11 = load i64, i64* %count.addr, align 8 + %call9 = call i64 @__concretize_size(i64 %11) + store i64 %call9, i64* %count.addr, align 8 + %12 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd10 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %12, i32 0, i32 0 + %13 = load i32, i32* %fd10, align 8 + %cmp11 = icmp eq i32 %13, 1 + br i1 %cmp11, label %if.then14, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then7 + %14 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd12 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %14, i32 0, i32 0 + %15 = load i32, i32* %fd12, align 8 + %cmp13 = icmp eq i32 %15, 2 + br i1 %cmp13, label %if.then14, label %if.else + +if.then14: ; preds = %lor.lhs.false, %if.then7 + %16 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd15 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %16, i32 0, i32 0 + %17 = load i32, i32* %fd15, align 8 + %18 = load i8*, i8** %buf.addr, align 8 + %19 = load i64, i64* %count.addr, align 8 + %call16 = call i64 (i64, ...) @syscall(i64 1, i32 %17, i8* %18, i64 %19) #11 + %conv = trunc i64 %call16 to i32 + store i32 %conv, i32* %r, align 4 + br label %if.end20 + +if.else: ; preds = %lor.lhs.false + %20 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd17 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %20, i32 0, i32 0 + %21 = load i32, i32* %fd17, align 8 + %22 = load i8*, i8** %buf.addr, align 8 + %23 = load i64, i64* %count.addr, align 8 + %24 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %24, i32 0, i32 2 + %25 = load i64, i64* %off, align 8 + %call18 = call i64 (i64, ...) @syscall(i64 18, i32 %21, i8* %22, i64 %23, i64 %25) #11 + %conv19 = trunc i64 %call18 to i32 + store i32 %conv19, i32* %r, align 4 + br label %if.end20 + +if.end20: ; preds = %if.else, %if.then14 + %26 = load i32, i32* %r, align 4 + %cmp21 = icmp eq i32 %26, -1 + br i1 %cmp21, label %if.then23, label %if.end24 + +if.then23: ; preds = %if.end20 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end24: ; preds = %if.end20 + %27 = load i32, i32* %r, align 4 + %cmp25 = icmp sge i32 %27, 0 + br i1 %cmp25, label %if.end29, label %if.else28 + +if.else28: ; preds = %if.end24 + call void @__assert_fail(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.5.7, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 445, i8* getelementptr inbounds ([41 x i8], [41 x i8]* @__PRETTY_FUNCTION__.write, i64 0, i64 0)) #26 + unreachable + +if.end29: ; preds = %if.end24 + %28 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd30 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %28, i32 0, i32 0 + %29 = load i32, i32* %fd30, align 8 + %cmp31 = icmp ne i32 %29, 1 + br i1 %cmp31, label %land.lhs.true33, label %if.end40 + +land.lhs.true33: ; preds = %if.end29 + %30 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd34 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %30, i32 0, i32 0 + %31 = load i32, i32* %fd34, align 8 + %cmp35 = icmp ne i32 %31, 2 + br i1 %cmp35, label %if.then37, label %if.end40 + +if.then37: ; preds = %land.lhs.true33 + %32 = load i32, i32* %r, align 4 + %conv38 = sext i32 %32 to i64 + %33 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off39 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %33, i32 0, i32 2 + %34 = load i64, i64* %off39, align 8 + %add = add nsw i64 %34, %conv38 + store i64 %add, i64* %off39, align 8 + br label %if.end40 + +if.end40: ; preds = %if.then37, %land.lhs.true33, %if.end29 + %35 = load i32, i32* %r, align 4 + %conv41 = sext i32 %35 to i64 + store i64 %conv41, i64* %retval, align 8 + br label %return + +if.else42: ; preds = %if.end5 + store i64 0, i64* %actual_count, align 8 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off43 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 2 + %37 = load i64, i64* %off43, align 8 + %38 = load i64, i64* %count.addr, align 8 + %add44 = add i64 %37, %38 + %39 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile45 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %39, i32 0, i32 3 + %40 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile45, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %40, i32 0, i32 0 + %41 = load i32, i32* %size, align 8 + %conv46 = zext i32 %41 to i64 + %cmp47 = icmp ule i64 %add44, %conv46 + br i1 %cmp47, label %if.then49, label %if.else50 + +if.then49: ; preds = %if.else42 + %42 = load i64, i64* %count.addr, align 8 + store i64 %42, i64* %actual_count, align 8 + br label %if.end67 + +if.else50: ; preds = %if.else42 + %43 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 3), align 8 + %tobool51 = icmp ne i32 %43, 0 + br i1 %tobool51, label %if.then52, label %if.else53 + +if.then52: ; preds = %if.else50 + call void @__assert_fail(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.6, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 458, i8* getelementptr inbounds ([41 x i8], [41 x i8]* @__PRETTY_FUNCTION__.write, i64 0, i64 0)) #26 + unreachable + +if.else53: ; preds = %if.else50 + %44 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %44, i32 0, i32 2 + %45 = load i64, i64* %off54, align 8 + %46 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile55 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %46, i32 0, i32 3 + %47 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile55, align 8 + %size56 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %47, i32 0, i32 0 + %48 = load i32, i32* %size56, align 8 + %conv57 = zext i32 %48 to i64 + %cmp58 = icmp slt i64 %45, %conv57 + br i1 %cmp58, label %if.then60, label %if.end67 + +if.then60: ; preds = %if.else53 + %49 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile61 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %49, i32 0, i32 3 + %50 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile61, align 8 + %size62 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %50, i32 0, i32 0 + %51 = load i32, i32* %size62, align 8 + %conv63 = zext i32 %51 to i64 + %52 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off64 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %52, i32 0, i32 2 + %53 = load i64, i64* %off64, align 8 + %sub = sub nsw i64 %conv63, %53 + store i64 %sub, i64* %actual_count, align 8 + br label %if.end67 + +if.end67: ; preds = %if.then60, %if.else53, %if.then49 + %54 = load i64, i64* %actual_count, align 8 + %tobool68 = icmp ne i64 %54, 0 + br i1 %tobool68, label %if.then69, label %if.end72 + +if.then69: ; preds = %if.end67 + %55 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile70 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %55, i32 0, i32 3 + %56 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile70, align 8 + %contents = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %56, i32 0, i32 1 + %57 = load i8*, i8** %contents, align 8 + %58 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off71 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %58, i32 0, i32 2 + %59 = load i64, i64* %off71, align 8 + %add.ptr = getelementptr inbounds i8, i8* %57, i64 %59 + %60 = load i8*, i8** %buf.addr, align 8 + %61 = load i64, i64* %actual_count, align 8 + %62 = call i8* @memcpy(i8* %add.ptr, i8* %60, i64 %61) + br label %if.end72 + +if.end72: ; preds = %if.then69, %if.end67 + %63 = load i64, i64* %count.addr, align 8 + %64 = load i64, i64* %actual_count, align 8 + %cmp73 = icmp ne i64 %63, %64 + br i1 %cmp73, label %if.then75, label %if.end76 + +if.then75: ; preds = %if.end72 + call void @gs_warning(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.7, i64 0, i64 0)) + br label %if.end76 + +if.end76: ; preds = %if.then75, %if.end72 + %65 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile77 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %65, i32 0, i32 3 + %66 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile77, align 8 + %67 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + %cmp78 = icmp eq %struct.exe_disk_file_t* %66, %67 + br i1 %cmp78, label %if.then80, label %if.end84 + +if.then80: ; preds = %if.end76 + %68 = load i64, i64* %actual_count, align 8 + %69 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 3), align 8 + %conv81 = zext i32 %69 to i64 + %add82 = add i64 %conv81, %68 + %conv83 = trunc i64 %add82 to i32 + store i32 %conv83, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 3), align 8 + br label %if.end84 + +if.end84: ; preds = %if.then80, %if.end76 + %70 = load i64, i64* %count.addr, align 8 + %71 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off85 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %71, i32 0, i32 2 + %72 = load i64, i64* %off85, align 8 + %add86 = add i64 %72, %70 + store i64 %add86, i64* %off85, align 8 + %73 = load i64, i64* %count.addr, align 8 + store i64 %73, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end84, %if.end40, %if.then23, %if.then3, %if.then + %74 = load i64, i64* %retval, align 8 + ret i64 %74 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @__fd_lseek(i32 %fd, i64 %offset, i32 %whence) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + %new_off = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + %4 = load i32, i32* %whence.addr, align 4 + br i1 %tobool2, label %if.end24, label %if.then3 + +if.then3: ; preds = %if.end + %cmp = icmp eq i32 %4, 0 + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd5 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd5, align 8 + br i1 %cmp, label %if.then4, label %if.else + +if.then4: ; preds = %if.then3 + %7 = load i64, i64* %offset.addr, align 8 + %call6 = call i64 (i64, ...) @syscall(i64 8, i32 %6, i64 %7, i32 0) #11 + store i64 %call6, i64* %new_off, align 8 + br label %if.end19 + +if.else: ; preds = %if.then3 + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 2 + %9 = load i64, i64* %off, align 8 + %call8 = call i64 (i64, ...) @syscall(i64 8, i32 %6, i64 %9, i32 0) #11 + store i64 %call8, i64* %new_off, align 8 + %10 = load i64, i64* %new_off, align 8 + %cmp9 = icmp ne i64 %10, -1 + br i1 %cmp9, label %if.then10, label %if.end19 + +if.then10: ; preds = %if.else + %11 = load i64, i64* %new_off, align 8 + %12 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off11 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %12, i32 0, i32 2 + %13 = load i64, i64* %off11, align 8 + %cmp12 = icmp eq i64 %11, %13 + br i1 %cmp12, label %if.end15, label %if.else14 + +if.else14: ; preds = %if.then10 + call void @__assert_fail(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.8, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 504, i8* getelementptr inbounds ([38 x i8], [38 x i8]* @__PRETTY_FUNCTION__.__fd_lseek, i64 0, i64 0)) #26 + unreachable + +if.end15: ; preds = %if.then10 + %14 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd16 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %14, i32 0, i32 0 + %15 = load i32, i32* %fd16, align 8 + %16 = load i64, i64* %offset.addr, align 8 + %17 = load i32, i32* %whence.addr, align 4 + %call17 = call i64 (i64, ...) @syscall(i64 8, i32 %15, i64 %16, i32 %17) #11 + store i64 %call17, i64* %new_off, align 8 + br label %if.end19 + +if.end19: ; preds = %if.else, %if.end15, %if.then4 + %18 = load i64, i64* %new_off, align 8 + %cmp20 = icmp eq i64 %18, -1 + br i1 %cmp20, label %if.then21, label %if.end22 + +if.then21: ; preds = %if.end19 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end22: ; preds = %if.end19 + %19 = load i64, i64* %new_off, align 8 + %20 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off23 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %20, i32 0, i32 2 + store i64 %19, i64* %off23, align 8 + %21 = load i64, i64* %new_off, align 8 + store i64 %21, i64* %retval, align 8 + br label %return + +if.end24: ; preds = %if.end + br label %NodeBlock3 + +NodeBlock3: ; preds = %if.end24 + %case.cmp4 = icmp eq i32 %4, 0 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %4, 1 + br i1 %case.cmp2, label %sw.bb25, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %4, 2 + br i1 %case.cmp, label %sw.bb27, label %newDefault + +sw.bb: ; preds = %NodeBlock3 + %22 = load i64, i64* %offset.addr, align 8 + store i64 %22, i64* %new_off, align 8 + br label %sw.epilog + +sw.bb25: ; preds = %NodeBlock1 + %23 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off26 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %23, i32 0, i32 2 + %24 = load i64, i64* %off26, align 8 + %25 = load i64, i64* %offset.addr, align 8 + %add = add nsw i64 %24, %25 + store i64 %add, i64* %new_off, align 8 + br label %sw.epilog + +sw.bb27: ; preds = %NodeBlock + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile28 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 3 + %27 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile28, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %27, i32 0, i32 0 + %28 = load i32, i32* %size, align 8 + %conv = zext i32 %28 to i64 + %29 = load i64, i64* %offset.addr, align 8 + %add29 = add nsw i64 %conv, %29 + store i64 %add29, i64* %new_off, align 8 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + %call30 = call i32* @__errno_location() #25 + store i32 22, i32* %call30, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +sw.epilog: ; preds = %sw.bb27, %sw.bb25, %sw.bb + %30 = load i64, i64* %new_off, align 8 + %cmp31 = icmp slt i64 %30, 0 + br i1 %cmp31, label %if.then33, label %if.end35 + +if.then33: ; preds = %sw.epilog + %call34 = call i32* @__errno_location() #25 + store i32 22, i32* %call34, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end35: ; preds = %sw.epilog + %31 = load i64, i64* %new_off, align 8 + %32 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off36 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %32, i32 0, i32 2 + store i64 %31, i64* %off36, align 8 + %33 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off37 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %33, i32 0, i32 2 + %34 = load i64, i64* %off37, align 8 + store i64 %34, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end35, %if.then33, %sw.default, %if.end22, %if.then21, %if.then + %35 = load i64, i64* %retval, align 8 + ret i64 %35 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_stat(i8* %path, %struct.stat64* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %3 = bitcast %struct.stat64* %2 to i8* + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %4, i32 0, i32 2 + %5 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %6 = bitcast %struct.stat64* %5 to i8* + %7 = call i8* @memcpy(i8* %3, i8* %6, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load i8*, i8** %path.addr, align 8 + %call1 = call i8* @__concretize_string(i8* %8) + %9 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %call2 = call i64 (i64, ...) @syscall(i64 4, i8* %call1, %struct.stat64* %9) #11 + %conv = trunc i64 %call2 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %10 = load i32, i32* %retval, align 4 + ret i32 %10 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstatat(i32 %fd, i8* nonnull %path, %struct.stat64* nonnull %buf, i32 %flags) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %flags.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %dfile9 = alloca %struct.exe_disk_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %cmp = icmp ne i32 %0, -100 + br i1 %cmp, label %if.then, label %if.end8 + +if.then: ; preds = %entry + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.else, label %if.then1 + +if.then1: ; preds = %if.then + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 3 + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool3 = icmp ne %struct.exe_disk_file_t* %4, null + br i1 %tobool3, label %if.then4, label %if.end6 + +if.then4: ; preds = %if.else + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0)) + %call5 = call i32* @__errno_location() #25 + store i32 2, i32* %call5, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.else + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd7, align 8 + store i32 %6, i32* %fd.addr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end6, %entry + %7 = load i8*, i8** %path.addr, align 8 + %call10 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %7) + store %struct.exe_disk_file_t* %call10, %struct.exe_disk_file_t** %dfile9, align 8 + %8 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile9, align 8 + %tobool11 = icmp ne %struct.exe_disk_file_t* %8, null + br i1 %tobool11, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.end8 + %9 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %10 = bitcast %struct.stat64* %9 to i8* + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile9, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %11, i32 0, i32 2 + %12 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %13 = bitcast %struct.stat64* %12 to i8* + %14 = call i8* @memcpy(i8* %10, i8* %13, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.end8 + %15 = load i32, i32* %fd.addr, align 4 + %conv = sext i32 %15 to i64 + %16 = load i8*, i8** %path.addr, align 8 + %tobool14 = icmp ne i8* %16, null + br i1 %tobool14, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end13 + %17 = load i8*, i8** %path.addr, align 8 + %call15 = call i8* @__concretize_string(i8* %17) + br label %cond.end + +cond.end: ; preds = %if.end13, %cond.true + %cond = phi i8* [ %call15, %cond.true ], [ null, %if.end13 ] + %18 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %19 = load i32, i32* %flags.addr, align 4 + %conv16 = sext i32 %19 to i64 + %call17 = call i64 (i64, ...) @syscall(i64 262, i64 %conv, i8* %cond, %struct.stat64* %18, i64 %conv16) #11 + %conv18 = trunc i64 %call17 to i32 + store i32 %conv18, i32* %retval, align 4 + br label %return + +return: ; preds = %cond.end, %if.then12, %if.then4, %if.then1 + %20 = load i32, i32* %retval, align 4 + ret i32 %20 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_lstat(i8* %path, %struct.stat64* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %3 = bitcast %struct.stat64* %2 to i8* + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %4, i32 0, i32 2 + %5 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %6 = bitcast %struct.stat64* %5 to i8* + %7 = call i8* @memcpy(i8* %3, i8* %6, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load i8*, i8** %path.addr, align 8 + %call1 = call i8* @__concretize_string(i8* %8) + %9 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %call2 = call i64 (i64, ...) @syscall(i64 6, i8* %call1, %struct.stat64* %9) #11 + %conv = trunc i64 %call2 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %10 = load i32, i32* %retval, align 4 + ret i32 %10 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chdir(i8* nonnull %path) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0)) + %call1 = call i32* @__errno_location() #25 + store i32 2, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %2) + %call3 = call i64 (i64, ...) @syscall(i64 80, i8* %call2) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %3 = load i32, i32* %retval, align 4 + ret i32 %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fchdir(i32 %fd) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %if.end + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 2, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd6, align 8 + %call7 = call i64 (i64, ...) @syscall(i64 81, i32 %5) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chmod(i8* nonnull %path, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load i32, i32* @chmod.n_calls, align 4 + %inc = add nsw i32 %1, 1 + store i32 %inc, i32* @chmod.n_calls, align 4 + %2 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool = icmp ne i32 %2, 0 + br i1 %tobool, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %3 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 11), align 8 + %4 = load i32, i32* %3, align 4 + %5 = load i32, i32* @chmod.n_calls, align 4 + %cmp = icmp eq i32 %4, %5 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %6 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %6, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call1 = call i32* @__errno_location() #25 + store i32 5, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + %7 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %7, null + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %if.end + %8 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %9 = load i32, i32* %mode.addr, align 4 + %call4 = call i32 @__df_chmod(%struct.exe_disk_file_t* %8, i32 %9) + store i32 %call4, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %if.end + %10 = load i8*, i8** %path.addr, align 8 + %call6 = call i8* @__concretize_string(i8* %10) + %11 = load i32, i32* %mode.addr, align 4 + %call7 = call i64 (i64, ...) @syscall(i64 90, i8* %call6, i32 %11) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %12 = load i32, i32* %retval, align 4 + ret i32 %12 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__df_chmod(%struct.exe_disk_file_t* %df, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %df.addr = alloca %struct.exe_disk_file_t*, align 8 + %mode.addr = alloca i32, align 4 + store %struct.exe_disk_file_t* %df, %struct.exe_disk_file_t** %df.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %call = call i32 @geteuid() #11 + %0 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %0, i32 0, i32 2 + %1 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_uid = getelementptr inbounds %struct.stat64, %struct.stat64* %1, i32 0, i32 4 + %2 = load i32, i32* %st_uid, align 4 + %cmp = icmp eq i32 %call, %2 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %call1 = call i32 @getgid() #11 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %3, i32 0, i32 2 + %4 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + %st_gid = getelementptr inbounds %struct.stat64, %struct.stat64* %4, i32 0, i32 5 + %5 = load i32, i32* %st_gid, align 8 + %cmp3 = icmp ne i32 %call1, %5 + br i1 %cmp3, label %if.then4, label %if.end + +if.then4: ; preds = %if.then + %6 = load i32, i32* %mode.addr, align 4 + %and = and i32 %6, -1025 + store i32 %and, i32* %mode.addr, align 4 + br label %if.end + +if.end: ; preds = %if.then4, %if.then + %7 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat5 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %7, i32 0, i32 2 + %8 = load %struct.stat64*, %struct.stat64** %stat5, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %8, i32 0, i32 3 + %9 = load i32, i32* %st_mode, align 8 + %and6 = and i32 %9, -4096 + %10 = load i32, i32* %mode.addr, align 4 + %and7 = and i32 %10, 4095 + %or = or i32 %and6, %and7 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat8 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %11, i32 0, i32 2 + %12 = load %struct.stat64*, %struct.stat64** %stat8, align 8 + %st_mode9 = getelementptr inbounds %struct.stat64, %struct.stat64* %12, i32 0, i32 3 + store i32 %or, i32* %st_mode9, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %call10 = call i32* @__errno_location() #25 + store i32 1, i32* %call10, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.else, %if.end + %13 = load i32, i32* %retval, align 4 + ret i32 %13 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fchmod(i32 %fd, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i32, i32* @fchmod.n_calls, align 4 + %inc = add nsw i32 %2, 1 + store i32 %inc, i32* @fchmod.n_calls, align 4 + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 12), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @fchmod.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + br i1 %tobool6, label %if.then7, label %if.end10 + +if.then7: ; preds = %if.end5 + %dfile8 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 3 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile8, align 8 + %12 = load i32, i32* %mode.addr, align 4 + %call9 = call i32 @__df_chmod(%struct.exe_disk_file_t* %11, i32 %12) + store i32 %call9, i32* %retval, align 4 + br label %return + +if.end10: ; preds = %if.end5 + %fd11 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 0 + %13 = load i32, i32* %fd11, align 8 + %14 = load i32, i32* %mode.addr, align 4 + %call12 = call i64 (i64, ...) @syscall(i64 91, i32 %13, i32 %14) #11 + %conv = trunc i64 %call12 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end10, %if.then7, %if.then3, %if.then + %15 = load i32, i32* %retval, align 4 + ret i32 %15 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chown(i8* nonnull %path, i32 %owner, i32 %group) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %df, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %3 = load i32, i32* %owner.addr, align 4 + %4 = load i32, i32* %group.addr, align 4 + %call1 = call i32 @__df_chown(%struct.exe_disk_file_t* %2, i32 %3, i32 %4) + store i32 %call1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %5 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %5) + %6 = load i32, i32* %owner.addr, align 4 + %7 = load i32, i32* %group.addr, align 4 + %call3 = call i64 (i64, ...) @syscall(i64 92, i8* %call2, i32 %6, i32 %7) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__df_chown(%struct.exe_disk_file_t* %df, i32 %owner, i32 %group) #3 { +entry: + %df.addr = alloca %struct.exe_disk_file_t*, align 8 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + store %struct.exe_disk_file_t* %df, %struct.exe_disk_file_t** %df.addr, align 8 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + call void @gs_warning(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.26, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fchown(i32 %fd, i32 %owner, i32 %group) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end6 + +if.then3: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile4 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 3 + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile4, align 8 + %6 = load i32, i32* %owner.addr, align 4 + %7 = load i32, i32* %group.addr, align 4 + %call5 = call i32 @__df_chown(%struct.exe_disk_file_t* %5, i32 %6, i32 %7) + store i32 %call5, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.end + %8 = load i32, i32* %fd.addr, align 4 + %9 = load i32, i32* %owner.addr, align 4 + %10 = load i32, i32* %group.addr, align 4 + %call7 = call i64 (i64, ...) @syscall(i64 93, i32 %8, i32 %9, i32 %10) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end6, %if.then3, %if.then + %11 = load i32, i32* %retval, align 4 + ret i32 %11 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @lchown(i8* nonnull %path, i32 %owner, i32 %group) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %df, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %3 = load i32, i32* %owner.addr, align 4 + %4 = load i32, i32* %group.addr, align 4 + %call1 = call i32 @__df_chown(%struct.exe_disk_file_t* %2, i32 %3, i32 %4) + store i32 %call1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %5 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %5) + %6 = load i32, i32* %owner.addr, align 4 + %7 = load i32, i32* %group.addr, align 4 + %call3 = call i64 (i64, ...) @syscall(i64 92, i8* %call2, i32 %6, i32 %7) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_fstat(i32 %fd, %struct.stat64* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.end6, label %if.then3 + +if.then3: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd4 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd4, align 8 + %6 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %call5 = call i64 (i64, ...) @syscall(i64 5, i32 %5, %struct.stat64* %6) #11 + %conv = trunc i64 %call5 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.end + %7 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %8 = bitcast %struct.stat64* %7 to i8* + %9 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %9, i32 0, i32 3 + %10 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile7, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %10, i32 0, i32 2 + %11 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %12 = bitcast %struct.stat64* %11 to i8* + %13 = call i8* @memcpy(i8* %8, i8* %12, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end6, %if.then3, %if.then + %14 = load i32, i32* %retval, align 4 + ret i32 %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_ftruncate(i32 %fd, i64 %length) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %length.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %length, i64* %length.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load i32, i32* @__fd_ftruncate.n_calls, align 4 + %inc = add nsw i32 %1, 1 + store i32 %inc, i32* @__fd_ftruncate.n_calls, align 4 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @__fd_ftruncate.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + br i1 %tobool6, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end5 + call void @gs_warning(i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.10, i64 0, i64 0)) + %call8 = call i32* @__errno_location() #25 + store i32 5, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end9: ; preds = %if.end5 + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd10 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 0 + %11 = load i32, i32* %fd10, align 8 + %12 = load i64, i64* %length.addr, align 8 + %call11 = call i64 (i64, ...) @syscall(i64 77, i32 %11, i64 %12) #11 + %conv = trunc i64 %call11 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end9, %if.then7, %if.then3, %if.then + %13 = load i32, i32* %retval, align 4 + ret i32 %13 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_getdents(i32 %fd, %struct.dirent64* %dirp, i32 %count) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %dirp.addr = alloca %struct.dirent64*, align 8 + %count.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %i = alloca i64, align 8 + %pad = alloca i64, align 8 + %bytes = alloca i64, align 8 + %df = alloca %struct.exe_disk_file_t*, align 8 + %os_pos = alloca i64, align 8 + %res = alloca i32, align 4 + %s = alloca i64, align 8 + %pos = alloca i32, align 4 + %dp = alloca %struct.dirent64*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.dirent64* %dirp, %struct.dirent64** %dirp.addr, align 8 + store i32 %count, i32* %count.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.else + +if.then3: ; preds = %if.end + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 22, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 2 + %5 = load i64, i64* %off, align 8 + %cmp = icmp ult i64 %5, 4096 + br i1 %cmp, label %if.then5, label %if.else43 + +if.then5: ; preds = %if.else + store i64 0, i64* %bytes, align 8 + %6 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %6, i32 0, i32 2 + %7 = load i64, i64* %off6, align 8 + %div = udiv i64 %7, 280 + store i64 %div, i64* %i, align 8 + %8 = load i64, i64* %i, align 8 + %mul = mul i64 %8, 280 + %9 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %9, i32 0, i32 2 + %10 = load i64, i64* %off7, align 8 + %cmp8 = icmp ne i64 %mul, %10 + br i1 %cmp8, label %if.then11, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then5 + %11 = load i64, i64* %i, align 8 + %12 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %conv = zext i32 %12 to i64 + %cmp9 = icmp sgt i64 %11, %conv + br i1 %cmp9, label %if.then11, label %for.cond + +if.then11: ; preds = %lor.lhs.false, %if.then5 + %call12 = call i32* @__errno_location() #25 + store i32 22, i32* %call12, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +for.cond: ; preds = %lor.lhs.false, %for.body + %13 = load i64, i64* %i, align 8 + %14 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %conv14 = zext i32 %14 to i64 + %cmp15 = icmp slt i64 %13, %conv14 + br i1 %cmp15, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %15 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %16 = load i64, i64* %i, align 8 + %arrayidx = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %15, i64 %16 + store %struct.exe_disk_file_t* %arrayidx, %struct.exe_disk_file_t** %df, align 8 + %17 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %17, i32 0, i32 2 + %18 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %18, i32 0, i32 1 + %19 = load i64, i64* %st_ino, align 8 + %20 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_ino = getelementptr inbounds %struct.dirent64, %struct.dirent64* %20, i32 0, i32 0 + store i64 %19, i64* %d_ino, align 8 + %21 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen = getelementptr inbounds %struct.dirent64, %struct.dirent64* %21, i32 0, i32 2 + store i16 280, i16* %d_reclen, align 8 + %22 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat17 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %22, i32 0, i32 2 + %23 = load %struct.stat64*, %struct.stat64** %stat17, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %23, i32 0, i32 3 + %24 = load i32, i32* %st_mode, align 8 + %and = and i32 %24, 61440 + %shr = lshr i32 %and, 12 + %conv18 = trunc i32 %shr to i8 + %25 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_type = getelementptr inbounds %struct.dirent64, %struct.dirent64* %25, i32 0, i32 3 + store i8 %conv18, i8* %d_type, align 2 + %26 = load i64, i64* %i, align 8 + %add = add nsw i64 65, %26 + %conv19 = trunc i64 %add to i8 + %27 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_name = getelementptr inbounds %struct.dirent64, %struct.dirent64* %27, i32 0, i32 4 + %arrayidx20 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name, i64 0, i64 0 + store i8 %conv19, i8* %arrayidx20, align 1 + %28 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_name21 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %28, i32 0, i32 4 + %arrayidx22 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name21, i64 0, i64 1 + store i8 0, i8* %arrayidx22, align 1 + %29 = load i64, i64* %i, align 8 + %add23 = add nsw i64 %29, 1 + %mul24 = mul i64 %add23, 280 + %30 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_off = getelementptr inbounds %struct.dirent64, %struct.dirent64* %30, i32 0, i32 1 + store i64 %mul24, i64* %d_off, align 8 + %31 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen25 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %31, i32 0, i32 2 + %32 = load i16, i16* %d_reclen25, align 8 + %conv26 = zext i16 %32 to i64 + %33 = load i64, i64* %bytes, align 8 + %add27 = add nsw i64 %33, %conv26 + store i64 %add27, i64* %bytes, align 8 + %34 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %incdec.ptr = getelementptr inbounds %struct.dirent64, %struct.dirent64* %34, i32 1 + store %struct.dirent64* %incdec.ptr, %struct.dirent64** %dirp.addr, align 8 + %35 = load i64, i64* %i, align 8 + %inc = add nsw i64 %35, 1 + store i64 %inc, i64* %i, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %36 = load i32, i32* %count.addr, align 4 + %cmp28 = icmp uge i32 %36, 4096 + %37 = load i32, i32* %count.addr, align 4 + %cond = select i1 %cmp28, i32 4096, i32 %37 + %conv30 = zext i32 %cond to i64 + store i64 %conv30, i64* %pad, align 8 + %38 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_ino31 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %38, i32 0, i32 0 + store i64 0, i64* %d_ino31, align 8 + %39 = load i64, i64* %pad, align 8 + %40 = load i64, i64* %bytes, align 8 + %sub = sub nsw i64 %39, %40 + %conv32 = trunc i64 %sub to i16 + %41 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen33 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %41, i32 0, i32 2 + store i16 %conv32, i16* %d_reclen33, align 8 + %42 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_type34 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %42, i32 0, i32 3 + store i8 0, i8* %d_type34, align 2 + %43 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_name35 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %43, i32 0, i32 4 + %arrayidx36 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name35, i64 0, i64 0 + store i8 0, i8* %arrayidx36, align 1 + %44 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_off37 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %44, i32 0, i32 1 + store i64 4096, i64* %d_off37, align 8 + %45 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen38 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %45, i32 0, i32 2 + %46 = load i16, i16* %d_reclen38, align 8 + %conv39 = zext i16 %46 to i64 + %47 = load i64, i64* %bytes, align 8 + %add40 = add nsw i64 %47, %conv39 + store i64 %add40, i64* %bytes, align 8 + %48 = load i64, i64* %pad, align 8 + %49 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off41 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %49, i32 0, i32 2 + store i64 %48, i64* %off41, align 8 + %50 = load i64, i64* %bytes, align 8 + %conv42 = trunc i64 %50 to i32 + store i32 %conv42, i32* %retval, align 4 + br label %return + +if.else43: ; preds = %if.else + %51 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off44 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %51, i32 0, i32 2 + %52 = load i64, i64* %off44, align 8 + %sub45 = sub nsw i64 %52, 4096 + store i64 %sub45, i64* %os_pos, align 8 + store i64 0, i64* %s, align 8 + %53 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %54 = bitcast %struct.dirent64* %53 to i8* + %55 = load i32, i32* %count.addr, align 4 + %conv46 = zext i32 %55 to i64 + %56 = call i8* @memset(i8* %54, i32 0, i64 %conv46) + %57 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd47 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %57, i32 0, i32 0 + %58 = load i32, i32* %fd47, align 8 + %59 = load i64, i64* %os_pos, align 8 + %call48 = call i64 (i64, ...) @syscall(i64 8, i32 %58, i64 %59, i32 0) #11 + store i64 %call48, i64* %s, align 8 + %60 = load i64, i64* %s, align 8 + %cmp49 = icmp ne i64 %60, -1 + br i1 %cmp49, label %if.end53, label %if.else52 + +if.else52: ; preds = %if.else43 + call void @__assert_fail(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.12, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 840, i8* getelementptr inbounds ([65 x i8], [65 x i8]* @__PRETTY_FUNCTION__.__fd_getdents, i64 0, i64 0)) #26 + unreachable + +if.end53: ; preds = %if.else43 + %61 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %61, i32 0, i32 0 + %62 = load i32, i32* %fd54, align 8 + %63 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %64 = load i32, i32* %count.addr, align 4 + %call55 = call i64 (i64, ...) @syscall(i64 217, i32 %62, %struct.dirent64* %63, i32 %64) #11 + %conv56 = trunc i64 %call55 to i32 + store i32 %conv56, i32* %res, align 4 + %65 = load i32, i32* %res, align 4 + %cmp57 = icmp sgt i32 %65, -1 + br i1 %cmp57, label %if.then59, label %if.end78 + +if.then59: ; preds = %if.end53 + store i32 0, i32* %pos, align 4 + %66 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd60 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %66, i32 0, i32 0 + %67 = load i32, i32* %fd60, align 8 + %call61 = call i64 (i64, ...) @syscall(i64 8, i32 %67, i32 0, i32 1) #11 + %68 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off62 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %68, i32 0, i32 2 + store i64 %call61, i64* %off62, align 8 + %69 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off63 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %69, i32 0, i32 2 + %70 = load i64, i64* %off63, align 8 + %cmp64 = icmp ne i64 %70, -1 + br i1 %cmp64, label %if.end68, label %if.else67 + +if.else67: ; preds = %if.then59 + call void @__assert_fail(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.13, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 845, i8* getelementptr inbounds ([65 x i8], [65 x i8]* @__PRETTY_FUNCTION__.__fd_getdents, i64 0, i64 0)) #26 + unreachable + +if.end68: ; preds = %if.then59 + %71 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off69 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %71, i32 0, i32 2 + %72 = load i64, i64* %off69, align 8 + %add70 = add nsw i64 %72, 4096 + store i64 %add70, i64* %off69, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end68 + %73 = load i32, i32* %pos, align 4 + %74 = load i32, i32* %res, align 4 + %cmp71 = icmp slt i32 %73, %74 + br i1 %cmp71, label %while.body, label %if.end78 + +while.body: ; preds = %while.cond + %75 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %76 = bitcast %struct.dirent64* %75 to i8* + %77 = load i32, i32* %pos, align 4 + %idx.ext = sext i32 %77 to i64 + %add.ptr = getelementptr inbounds i8, i8* %76, i64 %idx.ext + %78 = bitcast i8* %add.ptr to %struct.dirent64* + store %struct.dirent64* %78, %struct.dirent64** %dp, align 8 + %79 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_off73 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %79, i32 0, i32 1 + %80 = load i64, i64* %d_off73, align 8 + %add74 = add nsw i64 %80, 4096 + store i64 %add74, i64* %d_off73, align 8 + %81 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_reclen75 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %81, i32 0, i32 2 + %82 = load i16, i16* %d_reclen75, align 8 + %conv76 = zext i16 %82 to i32 + %83 = load i32, i32* %pos, align 4 + %add77 = add nsw i32 %83, %conv76 + store i32 %add77, i32* %pos, align 4 + br label %while.cond + +if.end78: ; preds = %while.cond, %if.end53 + %84 = load i32, i32* %res, align 4 + store i32 %84, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end78, %for.end, %if.then11, %if.then3, %if.then + %85 = load i32, i32* %retval, align 4 + ret i32 %85 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @ioctl(i32 %fd, i64 %request, ...) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %request.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + %buf = alloca i8*, align 8 + %stat = alloca %struct.stat64*, align 8 + %ts = alloca %struct.termios*, align 8 + %ws = alloca %struct.winsize*, align 8 + %res = alloca i32*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %request, i64* %request.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay2 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay2) + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.end + %2 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 3 + %reg_save_area = load i8*, i8** %2, align 16 + %3 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %4 = bitcast i8* %3 to i8** + %5 = add i32 %gp_offset, 8 + store i32 %5, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.end + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %6 = bitcast i8* %overflow_arg_area to i8** + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i8** [ %4, %vaarg.in_reg ], [ %6, %vaarg.in_mem ] + %7 = load i8*, i8** %vaarg.addr, align 8 + store i8* %7, i8** %buf, align 8 + %arraydecay4 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay45 = bitcast %struct.__va_list_tag.0* %arraydecay4 to i8* + call void @llvm.va_end(i8* %arraydecay45) + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + br i1 %tobool6, label %if.then7, label %if.end103 + +if.then7: ; preds = %vaarg.end + %dfile8 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 3 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile8, align 8 + %stat9 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %11, i32 0, i32 2 + %12 = load %struct.stat64*, %struct.stat64** %stat9, align 8 + %13 = bitcast %struct.stat64* %12 to %struct.stat64* + store %struct.stat64* %13, %struct.stat64** %stat, align 8 + %14 = load i64, i64* %request.addr, align 8 + br label %NodeBlock13 + +NodeBlock13: ; preds = %if.then7 + %case.cmp14 = icmp eq i64 %14, 21505 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i64 %14, 21506 + br i1 %case.cmp12, label %sw.bb48, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i64 %14, 21507 + br i1 %case.cmp10, label %sw.bb55, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i64 %14, 21508 + br i1 %case.cmp8, label %sw.bb60, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i64 %14, 21523 + br i1 %case.cmp6, label %sw.bb67, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i64 %14, 21524 + br i1 %case.cmp4, label %sw.bb74, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i64 %14, 21531 + br i1 %case.cmp2, label %sw.bb82, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i64 %14, 2150657282 + br i1 %case.cmp, label %sw.bb100, label %newDefault + +sw.bb: ; preds = %NodeBlock13 + %15 = load i8*, i8** %buf, align 8 + %16 = bitcast i8* %15 to %struct.termios* + store %struct.termios* %16, %struct.termios** %ts, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.14, i64 0, i64 0)) + %17 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %17, i32 0, i32 3 + %18 = load i32, i32* %st_mode, align 8 + %and = and i32 %18, 61440 + %cmp = icmp eq i32 %and, 8192 + br i1 %cmp, label %if.then10, label %if.else + +if.then10: ; preds = %sw.bb + %19 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_iflag = getelementptr inbounds %struct.termios, %struct.termios* %19, i32 0, i32 0 + store i32 27906, i32* %c_iflag, align 4 + %20 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_oflag = getelementptr inbounds %struct.termios, %struct.termios* %20, i32 0, i32 1 + store i32 5, i32* %c_oflag, align 4 + %21 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cflag = getelementptr inbounds %struct.termios, %struct.termios* %21, i32 0, i32 2 + store i32 1215, i32* %c_cflag, align 4 + %22 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_lflag = getelementptr inbounds %struct.termios, %struct.termios* %22, i32 0, i32 3 + store i32 35287, i32* %c_lflag, align 4 + %23 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_line = getelementptr inbounds %struct.termios, %struct.termios* %23, i32 0, i32 4 + store i8 0, i8* %c_line, align 4 + %24 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc = getelementptr inbounds %struct.termios, %struct.termios* %24, i32 0, i32 5 + %arrayidx = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc, i64 0, i64 0 + store i8 3, i8* %arrayidx, align 1 + %25 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc11 = getelementptr inbounds %struct.termios, %struct.termios* %25, i32 0, i32 5 + %arrayidx12 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc11, i64 0, i64 1 + store i8 28, i8* %arrayidx12, align 1 + %26 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc13 = getelementptr inbounds %struct.termios, %struct.termios* %26, i32 0, i32 5 + %arrayidx14 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc13, i64 0, i64 2 + store i8 127, i8* %arrayidx14, align 1 + %27 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc15 = getelementptr inbounds %struct.termios, %struct.termios* %27, i32 0, i32 5 + %arrayidx16 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc15, i64 0, i64 3 + store i8 21, i8* %arrayidx16, align 1 + %28 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc17 = getelementptr inbounds %struct.termios, %struct.termios* %28, i32 0, i32 5 + %arrayidx18 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc17, i64 0, i64 4 + store i8 4, i8* %arrayidx18, align 1 + %29 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc19 = getelementptr inbounds %struct.termios, %struct.termios* %29, i32 0, i32 5 + %arrayidx20 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc19, i64 0, i64 5 + store i8 0, i8* %arrayidx20, align 1 + %30 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc21 = getelementptr inbounds %struct.termios, %struct.termios* %30, i32 0, i32 5 + %arrayidx22 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc21, i64 0, i64 6 + store i8 1, i8* %arrayidx22, align 1 + %31 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc23 = getelementptr inbounds %struct.termios, %struct.termios* %31, i32 0, i32 5 + %arrayidx24 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc23, i64 0, i64 7 + store i8 -1, i8* %arrayidx24, align 1 + %32 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc25 = getelementptr inbounds %struct.termios, %struct.termios* %32, i32 0, i32 5 + %arrayidx26 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc25, i64 0, i64 8 + store i8 17, i8* %arrayidx26, align 1 + %33 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc27 = getelementptr inbounds %struct.termios, %struct.termios* %33, i32 0, i32 5 + %arrayidx28 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc27, i64 0, i64 9 + store i8 19, i8* %arrayidx28, align 1 + %34 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc29 = getelementptr inbounds %struct.termios, %struct.termios* %34, i32 0, i32 5 + %arrayidx30 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc29, i64 0, i64 10 + store i8 26, i8* %arrayidx30, align 1 + %35 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc31 = getelementptr inbounds %struct.termios, %struct.termios* %35, i32 0, i32 5 + %arrayidx32 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc31, i64 0, i64 11 + store i8 -1, i8* %arrayidx32, align 1 + %36 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc33 = getelementptr inbounds %struct.termios, %struct.termios* %36, i32 0, i32 5 + %arrayidx34 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc33, i64 0, i64 12 + store i8 18, i8* %arrayidx34, align 1 + %37 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc35 = getelementptr inbounds %struct.termios, %struct.termios* %37, i32 0, i32 5 + %arrayidx36 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc35, i64 0, i64 13 + store i8 15, i8* %arrayidx36, align 1 + %38 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc37 = getelementptr inbounds %struct.termios, %struct.termios* %38, i32 0, i32 5 + %arrayidx38 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc37, i64 0, i64 14 + store i8 23, i8* %arrayidx38, align 1 + %39 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc39 = getelementptr inbounds %struct.termios, %struct.termios* %39, i32 0, i32 5 + %arrayidx40 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc39, i64 0, i64 15 + store i8 22, i8* %arrayidx40, align 1 + %40 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc41 = getelementptr inbounds %struct.termios, %struct.termios* %40, i32 0, i32 5 + %arrayidx42 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc41, i64 0, i64 16 + store i8 -1, i8* %arrayidx42, align 1 + %41 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc43 = getelementptr inbounds %struct.termios, %struct.termios* %41, i32 0, i32 5 + %arrayidx44 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc43, i64 0, i64 17 + store i8 0, i8* %arrayidx44, align 1 + %42 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc45 = getelementptr inbounds %struct.termios, %struct.termios* %42, i32 0, i32 5 + %arrayidx46 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc45, i64 0, i64 18 + store i8 0, i8* %arrayidx46, align 1 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %sw.bb + %call47 = call i32* @__errno_location() #25 + store i32 25, i32* %call47, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb48: ; preds = %NodeBlock11 + call void @gs_warning_once(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.15, i64 0, i64 0)) + %43 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode49 = getelementptr inbounds %struct.stat64, %struct.stat64* %43, i32 0, i32 3 + %44 = load i32, i32* %st_mode49, align 8 + %and50 = and i32 %44, 61440 + %cmp51 = icmp eq i32 %and50, 8192 + br i1 %cmp51, label %if.then52, label %if.else53 + +if.then52: ; preds = %sw.bb48 + store i32 0, i32* %retval, align 4 + br label %return + +if.else53: ; preds = %sw.bb48 + %call54 = call i32* @__errno_location() #25 + store i32 25, i32* %call54, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb55: ; preds = %NodeBlock9 + call void @gs_warning_once(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.16, i64 0, i64 0)) + %45 = load i32, i32* %fd.addr, align 4 + %cmp56 = icmp eq i32 %45, 0 + br i1 %cmp56, label %if.then57, label %if.else58 + +if.then57: ; preds = %sw.bb55 + store i32 0, i32* %retval, align 4 + br label %return + +if.else58: ; preds = %sw.bb55 + %call59 = call i32* @__errno_location() #25 + store i32 25, i32* %call59, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb60: ; preds = %NodeBlock7 + call void @gs_warning_once(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.17, i64 0, i64 0)) + %46 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode61 = getelementptr inbounds %struct.stat64, %struct.stat64* %46, i32 0, i32 3 + %47 = load i32, i32* %st_mode61, align 8 + %and62 = and i32 %47, 61440 + %cmp63 = icmp eq i32 %and62, 8192 + br i1 %cmp63, label %if.then64, label %if.else65 + +if.then64: ; preds = %sw.bb60 + store i32 0, i32* %retval, align 4 + br label %return + +if.else65: ; preds = %sw.bb60 + %call66 = call i32* @__errno_location() #25 + store i32 25, i32* %call66, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb67: ; preds = %NodeBlock5 + %48 = load i8*, i8** %buf, align 8 + %49 = bitcast i8* %48 to %struct.winsize* + store %struct.winsize* %49, %struct.winsize** %ws, align 8 + %50 = load %struct.winsize*, %struct.winsize** %ws, align 8 + %ws_row = getelementptr inbounds %struct.winsize, %struct.winsize* %50, i32 0, i32 0 + store i16 24, i16* %ws_row, align 2 + %51 = load %struct.winsize*, %struct.winsize** %ws, align 8 + %ws_col = getelementptr inbounds %struct.winsize, %struct.winsize* %51, i32 0, i32 1 + store i16 80, i16* %ws_col, align 2 + call void @gs_warning_once(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.18, i64 0, i64 0)) + %52 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode68 = getelementptr inbounds %struct.stat64, %struct.stat64* %52, i32 0, i32 3 + %53 = load i32, i32* %st_mode68, align 8 + %and69 = and i32 %53, 61440 + %cmp70 = icmp eq i32 %and69, 8192 + br i1 %cmp70, label %if.then71, label %if.else72 + +if.then71: ; preds = %sw.bb67 + store i32 0, i32* %retval, align 4 + br label %return + +if.else72: ; preds = %sw.bb67 + %call73 = call i32* @__errno_location() #25 + store i32 25, i32* %call73, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb74: ; preds = %NodeBlock3 + call void @gs_warning_once(i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.19, i64 0, i64 0)) + %54 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode75 = getelementptr inbounds %struct.stat64, %struct.stat64* %54, i32 0, i32 3 + %55 = load i32, i32* %st_mode75, align 8 + %and76 = and i32 %55, 61440 + %cmp77 = icmp eq i32 %and76, 8192 + %call79 = call i32* @__errno_location() #25 + br i1 %cmp77, label %if.then78, label %if.else80 + +if.then78: ; preds = %sw.bb74 + store i32 22, i32* %call79, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else80: ; preds = %sw.bb74 + store i32 25, i32* %call79, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb82: ; preds = %NodeBlock1 + %56 = load i8*, i8** %buf, align 8 + %57 = bitcast i8* %56 to i32* + store i32* %57, i32** %res, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.20, i64 0, i64 0)) + %58 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode83 = getelementptr inbounds %struct.stat64, %struct.stat64* %58, i32 0, i32 3 + %59 = load i32, i32* %st_mode83, align 8 + %and84 = and i32 %59, 61440 + %cmp85 = icmp eq i32 %and84, 8192 + br i1 %cmp85, label %if.then86, label %if.else98 + +if.then86: ; preds = %sw.bb82 + %60 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %60, i32 0, i32 2 + %61 = load i64, i64* %off, align 8 + %62 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile87 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %62, i32 0, i32 3 + %63 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile87, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %63, i32 0, i32 0 + %64 = load i32, i32* %size, align 8 + %conv = zext i32 %64 to i64 + %cmp88 = icmp slt i64 %61, %conv + br i1 %cmp88, label %if.then90, label %if.else96 + +if.then90: ; preds = %if.then86 + %65 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile91 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %65, i32 0, i32 3 + %66 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile91, align 8 + %size92 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %66, i32 0, i32 0 + %67 = load i32, i32* %size92, align 8 + %conv93 = zext i32 %67 to i64 + %68 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off94 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %68, i32 0, i32 2 + %69 = load i64, i64* %off94, align 8 + %sub = sub nsw i64 %conv93, %69 + %conv95 = trunc i64 %sub to i32 + %70 = load i32*, i32** %res, align 8 + store i32 %conv95, i32* %70, align 4 + br label %if.end97 + +if.else96: ; preds = %if.then86 + %71 = load i32*, i32** %res, align 8 + store i32 0, i32* %71, align 4 + br label %if.end97 + +if.end97: ; preds = %if.else96, %if.then90 + store i32 0, i32* %retval, align 4 + br label %return + +if.else98: ; preds = %sw.bb82 + %call99 = call i32* @__errno_location() #25 + store i32 25, i32* %call99, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb100: ; preds = %NodeBlock + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.21, i64 0, i64 0)) + %call101 = call i32* @__errno_location() #25 + store i32 22, i32* %call101, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0)) + %call102 = call i32* @__errno_location() #25 + store i32 22, i32* %call102, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end103: ; preds = %vaarg.end + %fd104 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 0 + %72 = load i32, i32* %fd104, align 8 + %73 = load i64, i64* %request.addr, align 8 + %74 = load i8*, i8** %buf, align 8 + %call105 = call i64 (i64, ...) @syscall(i64 16, i32 %72, i64 %73, i8* %74) #11 + %conv106 = trunc i64 %call105 to i32 + store i32 %conv106, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end103, %sw.default, %sw.bb100, %if.else98, %if.end97, %if.else80, %if.then78, %if.else72, %if.then71, %if.else65, %if.then64, %if.else58, %if.then57, %if.else53, %if.then52, %if.else, %if.then10, %if.then + %75 = load i32, i32* %retval, align 4 + ret i32 %75 +} + +; Function Attrs: nounwind +declare void @llvm.va_start(i8*) #11 + +; Function Attrs: nounwind +declare void @llvm.va_end(i8*) #11 + +declare dso_local void @gs_warning_once(i8*) #5 + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fcntl(i32 %fd, i32 %cmd, ...) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %cmd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + %arg = alloca i32, align 4 + %lock = alloca %struct.flock*, align 8 + %flags = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %cmd, i32* %cmd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i32, i32* %cmd.addr, align 4 + %cmp = icmp eq i32 %2, 1 + %3 = load i32, i32* %cmd.addr, align 4 + %cmp2 = icmp eq i32 %3, 3 + %or.cond = or i1 %cmp, %cmp2 + %4 = load i32, i32* %cmd.addr, align 4 + %cmp4 = icmp eq i32 %4, 9 + %or.cond1 = or i1 %or.cond, %cmp4 + %5 = load i32, i32* %cmd.addr, align 4 + %cmp6 = icmp eq i32 %5, 11 + %or.cond2 = or i1 %or.cond1, %cmp6 + %6 = load i32, i32* %cmd.addr, align 4 + %cmp8 = icmp eq i32 %6, 1025 + %or.cond3 = or i1 %or.cond2, %cmp8 + %7 = load i32, i32* %cmd.addr, align 4 + %cmp10 = icmp eq i32 %7, 1026 + %or.cond4 = or i1 %or.cond3, %cmp10 + br i1 %or.cond4, label %if.then11, label %if.else + +if.then11: ; preds = %if.end + store i32 0, i32* %arg, align 4 + br label %if.end40 + +if.else: ; preds = %if.end + %8 = load i32, i32* %cmd.addr, align 4 + %cmp12 = icmp eq i32 %8, 5 + %9 = load i32, i32* %cmd.addr, align 4 + %cmp14 = icmp eq i32 %9, 6 + %or.cond5 = or i1 %cmp12, %cmp14 + %10 = load i32, i32* %cmd.addr, align 4 + %cmp16 = icmp eq i32 %10, 7 + %or.cond6 = or i1 %or.cond5, %cmp16 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay18 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay18) + %arraydecay19 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %or.cond6, label %if.then17, label %if.else22 + +if.then17: ; preds = %if.else + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then17 + %11 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 3 + %reg_save_area = load i8*, i8** %11, align 16 + %12 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %13 = bitcast i8* %12 to %struct.flock** + %14 = add i32 %gp_offset, 8 + store i32 %14, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then17 + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %15 = bitcast i8* %overflow_arg_area to %struct.flock** + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi %struct.flock** [ %13, %vaarg.in_reg ], [ %15, %vaarg.in_mem ] + %16 = load %struct.flock*, %struct.flock** %vaarg.addr, align 8 + store %struct.flock* %16, %struct.flock** %lock, align 8 + %arraydecay20 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay2021 = bitcast %struct.__va_list_tag.0* %arraydecay20 to i8* + call void @llvm.va_end(i8* %arraydecay2021) + br label %if.end40 + +if.else22: ; preds = %if.else + br i1 %fits_in_gp, label %vaarg.in_reg29, label %vaarg.in_mem31 + +vaarg.in_reg29: ; preds = %if.else22 + %17 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 3 + %reg_save_area30 = load i8*, i8** %17, align 16 + %18 = getelementptr i8, i8* %reg_save_area30, i32 %gp_offset + %19 = bitcast i8* %18 to i32* + %20 = add i32 %gp_offset, 8 + store i32 %20, i32* %gp_offset_p, align 16 + br label %vaarg.end35 + +vaarg.in_mem31: ; preds = %if.else22 + %overflow_arg_area_p32 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 2 + %overflow_arg_area33 = load i8*, i8** %overflow_arg_area_p32, align 8 + %21 = bitcast i8* %overflow_arg_area33 to i32* + %overflow_arg_area.next34 = getelementptr i8, i8* %overflow_arg_area33, i32 8 + store i8* %overflow_arg_area.next34, i8** %overflow_arg_area_p32, align 8 + br label %vaarg.end35 + +vaarg.end35: ; preds = %vaarg.in_mem31, %vaarg.in_reg29 + %vaarg.addr36 = phi i32* [ %19, %vaarg.in_reg29 ], [ %21, %vaarg.in_mem31 ] + %22 = load i32, i32* %vaarg.addr36, align 4 + store i32 %22, i32* %arg, align 4 + %arraydecay37 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay3738 = bitcast %struct.__va_list_tag.0* %arraydecay37 to i8* + call void @llvm.va_end(i8* %arraydecay3738) + br label %if.end40 + +if.end40: ; preds = %vaarg.end, %vaarg.end35, %if.then11 + %23 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %23, i32 0, i32 3 + %24 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool41 = icmp ne %struct.exe_disk_file_t* %24, null + br i1 %tobool41, label %if.then42, label %if.end60 + +if.then42: ; preds = %if.end40 + %25 = load i32, i32* %cmd.addr, align 4 + br label %NodeBlock13 + +NodeBlock13: ; preds = %if.then42 + %case.cmp14 = icmp eq i32 %25, 1 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %25, 2 + br i1 %case.cmp12, label %sw.bb47, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %25, 3 + br i1 %case.cmp10, label %sw.bb56, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %25, 5 + br i1 %case.cmp8, label %sw.bb57, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock7 + %case.cmp = icmp eq i32 %25, 6 + br i1 %case.cmp, label %sw.bb58, label %newDefault + +sw.bb: ; preds = %NodeBlock13 + store i32 0, i32* %flags, align 4 + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags43 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 1 + %27 = load i32, i32* %flags43, align 4 + %and = and i32 %27, 2 + %tobool44 = icmp ne i32 %and, 0 + br i1 %tobool44, label %if.then45, label %if.end46 + +if.then45: ; preds = %sw.bb + %28 = load i32, i32* %flags, align 4 + %or = or i32 %28, 1 + store i32 %or, i32* %flags, align 4 + br label %if.end46 + +if.end46: ; preds = %if.then45, %sw.bb + %29 = load i32, i32* %flags, align 4 + store i32 %29, i32* %retval, align 4 + br label %return + +sw.bb47: ; preds = %NodeBlock11 + %30 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags48 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %30, i32 0, i32 1 + %31 = load i32, i32* %flags48, align 4 + %and49 = and i32 %31, -3 + store i32 %and49, i32* %flags48, align 4 + %32 = load i32, i32* %arg, align 4 + %and50 = and i32 %32, 1 + %tobool51 = icmp ne i32 %and50, 0 + br i1 %tobool51, label %if.then52, label %if.end55 + +if.then52: ; preds = %sw.bb47 + %33 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags53 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %33, i32 0, i32 1 + %34 = load i32, i32* %flags53, align 4 + %or54 = or i32 %34, 2 + store i32 %or54, i32* %flags53, align 4 + br label %if.end55 + +if.end55: ; preds = %if.then52, %sw.bb47 + store i32 0, i32* %retval, align 4 + br label %return + +sw.bb56: ; preds = %NodeBlock9 + store i32 0, i32* %retval, align 4 + br label %return + +sw.bb57: ; preds = %NodeBlock7 + %35 = load %struct.flock*, %struct.flock** %lock, align 8 + %l_type = getelementptr inbounds %struct.flock, %struct.flock* %35, i32 0, i32 0 + store i16 2, i16* %l_type, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +sw.bb58: ; preds = %NodeBlock + store i32 0, i32* %retval, align 4 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0)) + %call59 = call i32* @__errno_location() #25 + store i32 22, i32* %call59, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end60: ; preds = %if.end40 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd61 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 0 + %37 = load i32, i32* %fd61, align 8 + %38 = load i32, i32* %cmd.addr, align 4 + %39 = load i32, i32* %arg, align 4 + %call62 = call i64 (i64, ...) @syscall(i64 72, i32 %37, i32 %38, i32 %39) #11 + %conv = trunc i64 %call62 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end60, %sw.default, %sw.bb58, %sw.bb57, %sw.bb56, %if.end55, %if.end46, %if.then + %40 = load i32, i32* %retval, align 4 + ret i32 %40 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_statfs(i8* %path, %struct.statfs* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.statfs*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.statfs* %buf, %struct.statfs** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0)) + %call1 = call i32* @__errno_location() #25 + store i32 2, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %2) + %3 = load %struct.statfs*, %struct.statfs** %buf.addr, align 8 + %call3 = call i64 (i64, ...) @syscall(i64 137, i8* %call2, %struct.statfs* %3) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstatfs(i32 %fd, %struct.statfs* nonnull %buf) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.statfs*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.statfs* %buf, %struct.statfs** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %if.end + call void @gs_warning(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.22, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 9, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd6, align 8 + %6 = load %struct.statfs*, %struct.statfs** %buf.addr, align 8 + %call7 = call i64 (i64, ...) @syscall(i64 138, i32 %5, %struct.statfs* %6) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %7 = load i32, i32* %retval, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fsync(i32 %fd) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.else + store i32 0, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %if.else + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd5 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd5, align 8 + %call6 = call i64 (i64, ...) @syscall(i64 74, i32 %5) #11 + %conv = trunc i64 %call6 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @dup2(i32 %oldfd, i32 %newfd) #3 { +entry: + %retval = alloca i32, align 4 + %oldfd.addr = alloca i32, align 4 + %newfd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %f2 = alloca %struct.exe_file_t*, align 8 + store i32 %oldfd, i32* %oldfd.addr, align 4 + store i32 %newfd, i32* %newfd.addr, align 4 + %0 = load i32, i32* %oldfd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + %2 = load i32, i32* %newfd.addr, align 4 + %cmp = icmp sge i32 %2, 0 + %or.cond = and i1 %tobool, %cmp + %3 = load i32, i32* %newfd.addr, align 4 + %cmp1 = icmp slt i32 %3, 32 + %or.cond1 = and i1 %or.cond, %cmp1 + br i1 %or.cond1, label %if.else, label %if.then + +if.then: ; preds = %entry + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %4 = load i32, i32* %newfd.addr, align 4 + %idxprom = sext i32 %4 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + store %struct.exe_file_t* %arrayidx, %struct.exe_file_t** %f2, align 8 + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f2, align 8 + %flags = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 1 + %6 = load i32, i32* %flags, align 4 + %and = and i32 %6, 1 + %tobool3 = icmp ne i32 %and, 0 + br i1 %tobool3, label %if.then4, label %if.end + +if.then4: ; preds = %if.else + %7 = load i32, i32* %newfd.addr, align 4 + %call5 = call i32 @close(i32 %7) + br label %if.end + +if.end: ; preds = %if.then4, %if.else + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f2, align 8 + %9 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %10 = bitcast %struct.exe_file_t* %8 to i8* + %11 = bitcast %struct.exe_file_t* %9 to i8* + %12 = call i8* @memcpy(i8* %10, i8* %11, i64 24) + %13 = load %struct.exe_file_t*, %struct.exe_file_t** %f2, align 8 + %flags6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %13, i32 0, i32 1 + %14 = load i32, i32* %flags6, align 4 + %and7 = and i32 %14, -3 + store i32 %and7, i32* %flags6, align 4 + %15 = load i32, i32* %newfd.addr, align 4 + store i32 %15, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %16 = load i32, i32* %retval, align 4 + ret i32 %16 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @dup(i32 %oldfd) #3 { +entry: + %retval = alloca i32, align 4 + %oldfd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %fd = alloca i32, align 4 + store i32 %oldfd, i32* %oldfd.addr, align 4 + %0 = load i32, i32* %oldfd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + store i32 0, i32* %fd, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.else + %2 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %2, 32 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %3 = load i32, i32* %fd, align 4 + %idxprom = sext i32 %3 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + %flags = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %arrayidx, i32 0, i32 1 + %4 = load i32, i32* %flags, align 4 + %and = and i32 %4, 1 + %tobool2 = icmp ne i32 %and, 0 + br i1 %tobool2, label %for.inc, label %for.end + +for.inc: ; preds = %for.body + %5 = load i32, i32* %fd, align 4 + %inc = add nsw i32 %5, 1 + store i32 %inc, i32* %fd, align 4 + br label %for.cond + +for.end: ; preds = %for.body, %for.cond + %6 = load i32, i32* %fd, align 4 + %cmp4 = icmp eq i32 %6, 32 + br i1 %cmp4, label %if.then5, label %if.else7 + +if.then5: ; preds = %for.end + %call6 = call i32* @__errno_location() #25 + store i32 24, i32* %call6, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else7: ; preds = %for.end + %7 = load i32, i32* %oldfd.addr, align 4 + %8 = load i32, i32* %fd, align 4 + %call8 = call i32 @dup2(i32 %7, i32 %8) #11 + store i32 %call8, i32* %retval, align 4 + br label %return + +return: ; preds = %if.else7, %if.then5, %if.then + %9 = load i32, i32* %retval, align 4 + ret i32 %9 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rmdir(i8* nonnull %pathname) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 16384 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %5, i32 0, i32 2 + %6 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 1 + store i64 0, i64* %st_ino, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %call3 = call i32* @__errno_location() #25 + store i32 20, i32* %call3, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 1, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.else, %if.then1 + %7 = load i32, i32* %retval, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @unlink(i8* nonnull %pathname) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 32768 + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %5, i32 0, i32 2 + %6 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 1 + store i64 0, i64* %st_ino, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %st_mode4 = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 3 + %7 = load i32, i32* %st_mode4, align 8 + %and5 = and i32 %7, 61440 + %cmp6 = icmp eq i32 %and5, 16384 + %call8 = call i32* @__errno_location() #25 + br i1 %cmp6, label %if.then7, label %if.else9 + +if.then7: ; preds = %if.else + store i32 21, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else9: ; preds = %if.else + store i32 1, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0)) + %call11 = call i32* @__errno_location() #25 + store i32 1, i32* %call11, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.else9, %if.then7, %if.then1 + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @unlinkat(i32 %dirfd, i8* nonnull %pathname, i32 %flags) #3 { +entry: + %retval = alloca i32, align 4 + %dirfd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i32 %dirfd, i32* %dirfd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 32768 + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %5, i32 0, i32 2 + %6 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 1 + store i64 0, i64* %st_ino, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %st_mode4 = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 3 + %7 = load i32, i32* %st_mode4, align 8 + %and5 = and i32 %7, 61440 + %cmp6 = icmp eq i32 %and5, 16384 + %call8 = call i32* @__errno_location() #25 + br i1 %cmp6, label %if.then7, label %if.else9 + +if.then7: ; preds = %if.else + store i32 21, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else9: ; preds = %if.else + store i32 1, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0)) + %call11 = call i32* @__errno_location() #25 + store i32 1, i32* %call11, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.else9, %if.then7, %if.then1 + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @readlink(i8* nonnull %path, i8* nonnull %buf, i64 %bufsize) #3 { +entry: + %retval = alloca i64, align 8 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end20 + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 40960 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %5 = load i8*, i8** %path.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 0 + %6 = load i8, i8* %arrayidx, align 1 + %7 = load i8*, i8** %buf.addr, align 8 + %arrayidx2 = getelementptr inbounds i8, i8* %7, i64 0 + store i8 %6, i8* %arrayidx2, align 1 + %8 = load i64, i64* %bufsize.addr, align 8 + %cmp3 = icmp ugt i64 %8, 1 + br i1 %cmp3, label %if.then4, label %if.end + +if.then4: ; preds = %if.then1 + %9 = load i8*, i8** %buf.addr, align 8 + %arrayidx5 = getelementptr inbounds i8, i8* %9, i64 1 + store i8 46, i8* %arrayidx5, align 1 + br label %if.end + +if.end: ; preds = %if.then4, %if.then1 + %10 = load i64, i64* %bufsize.addr, align 8 + %cmp6 = icmp ugt i64 %10, 2 + br i1 %cmp6, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end + %11 = load i8*, i8** %buf.addr, align 8 + %arrayidx8 = getelementptr inbounds i8, i8* %11, i64 2 + store i8 108, i8* %arrayidx8, align 1 + br label %if.end9 + +if.end9: ; preds = %if.then7, %if.end + %12 = load i64, i64* %bufsize.addr, align 8 + %cmp10 = icmp ugt i64 %12, 3 + br i1 %cmp10, label %if.then11, label %if.end13 + +if.then11: ; preds = %if.end9 + %13 = load i8*, i8** %buf.addr, align 8 + %arrayidx12 = getelementptr inbounds i8, i8* %13, i64 3 + store i8 110, i8* %arrayidx12, align 1 + br label %if.end13 + +if.end13: ; preds = %if.then11, %if.end9 + %14 = load i64, i64* %bufsize.addr, align 8 + %cmp14 = icmp ugt i64 %14, 4 + br i1 %cmp14, label %if.then15, label %if.end17 + +if.then15: ; preds = %if.end13 + %15 = load i8*, i8** %buf.addr, align 8 + %arrayidx16 = getelementptr inbounds i8, i8* %15, i64 4 + store i8 107, i8* %arrayidx16, align 1 + br label %if.end17 + +if.end17: ; preds = %if.then15, %if.end13 + %16 = load i64, i64* %bufsize.addr, align 8 + %cmp18 = icmp ugt i64 %16, 5 + %17 = load i64, i64* %bufsize.addr, align 8 + %cond = select i1 %cmp18, i64 5, i64 %17 + store i64 %cond, i64* %retval, align 8 + br label %return + +if.else: ; preds = %if.then + %call19 = call i32* @__errno_location() #25 + store i32 22, i32* %call19, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end20: ; preds = %entry + %18 = load i8*, i8** %path.addr, align 8 + %19 = load i8*, i8** %buf.addr, align 8 + %20 = load i64, i64* %bufsize.addr, align 8 + %call21 = call i64 (i64, ...) @syscall(i64 89, i8* %18, i8* %19, i64 %20) #11 + store i64 %call21, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end20, %if.else, %if.end17 + %21 = load i64, i64* %retval, align 8 + ret i64 %21 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @select(i32 %nfds, %struct.fd_set* %read, %struct.fd_set* %write, %struct.fd_set* %except, %struct.timespec* %timeout) #3 { +entry: + %retval = alloca i32, align 4 + %nfds.addr = alloca i32, align 4 + %read.addr = alloca %struct.fd_set*, align 8 + %write.addr = alloca %struct.fd_set*, align 8 + %except.addr = alloca %struct.fd_set*, align 8 + %timeout.addr = alloca %struct.timespec*, align 8 + %in_read = alloca %struct.fd_set, align 8 + %in_write = alloca %struct.fd_set, align 8 + %in_except = alloca %struct.fd_set, align 8 + %os_read = alloca %struct.fd_set, align 8 + %os_write = alloca %struct.fd_set, align 8 + %os_except = alloca %struct.fd_set, align 8 + %i = alloca i32, align 4 + %count = alloca i32, align 4 + %os_nfds = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %tv = alloca %struct.timespec, align 8 + %r = alloca i32, align 4 + %f182 = alloca %struct.exe_file_t*, align 8 + store i32 %nfds, i32* %nfds.addr, align 4 + store %struct.fd_set* %read, %struct.fd_set** %read.addr, align 8 + store %struct.fd_set* %write, %struct.fd_set** %write.addr, align 8 + store %struct.fd_set* %except, %struct.fd_set** %except.addr, align 8 + store %struct.timespec* %timeout, %struct.timespec** %timeout.addr, align 8 + store i32 0, i32* %count, align 4 + store i32 0, i32* %os_nfds, align 4 + %0 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %tobool = icmp ne %struct.fd_set* %0, null + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %entry + %1 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %2 = bitcast %struct.fd_set* %in_read to i8* + %3 = bitcast %struct.fd_set* %1 to i8* + %4 = call i8* @memcpy(i8* %2, i8* %3, i64 128) + %5 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %6 = bitcast %struct.fd_set* %5 to i8* + %7 = call i8* @memset(i8* %6, i32 0, i64 128) + br label %if.end + +if.else: ; preds = %entry + %8 = bitcast %struct.fd_set* %in_read to i8* + %9 = call i8* @memset(i8* %8, i32 0, i64 128) + br label %if.end + +if.end: ; preds = %if.else, %if.then + %10 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %tobool1 = icmp ne %struct.fd_set* %10, null + br i1 %tobool1, label %if.then2, label %if.else3 + +if.then2: ; preds = %if.end + %11 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %12 = bitcast %struct.fd_set* %in_write to i8* + %13 = bitcast %struct.fd_set* %11 to i8* + %14 = call i8* @memcpy(i8* %12, i8* %13, i64 128) + %15 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %16 = bitcast %struct.fd_set* %15 to i8* + %17 = call i8* @memset(i8* %16, i32 0, i64 128) + br label %if.end4 + +if.else3: ; preds = %if.end + %18 = bitcast %struct.fd_set* %in_write to i8* + %19 = call i8* @memset(i8* %18, i32 0, i64 128) + br label %if.end4 + +if.end4: ; preds = %if.else3, %if.then2 + %20 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %tobool5 = icmp ne %struct.fd_set* %20, null + br i1 %tobool5, label %if.then6, label %if.else7 + +if.then6: ; preds = %if.end4 + %21 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %22 = bitcast %struct.fd_set* %in_except to i8* + %23 = bitcast %struct.fd_set* %21 to i8* + %24 = call i8* @memcpy(i8* %22, i8* %23, i64 128) + %25 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %26 = bitcast %struct.fd_set* %25 to i8* + %27 = call i8* @memset(i8* %26, i32 0, i64 128) + br label %if.end8 + +if.else7: ; preds = %if.end4 + %28 = bitcast %struct.fd_set* %in_except to i8* + %29 = call i8* @memset(i8* %28, i32 0, i64 128) + br label %if.end8 + +if.end8: ; preds = %if.else7, %if.then6 + %30 = bitcast %struct.fd_set* %os_read to i8* + %31 = call i8* @memset(i8* %30, i32 0, i64 128) + %32 = bitcast %struct.fd_set* %os_write to i8* + %33 = call i8* @memset(i8* %32, i32 0, i64 128) + %34 = bitcast %struct.fd_set* %os_except to i8* + %35 = call i8* @memset(i8* %34, i32 0, i64 128) + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end8 + %36 = load i32, i32* %i, align 4 + %37 = load i32, i32* %nfds.addr, align 4 + %cmp = icmp slt i32 %36, %37 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %fds_bits = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_read, i32 0, i32 0 + %38 = load i32, i32* %i, align 4 + %div = sdiv i32 %38, 64 + %idxprom = sext i32 %div to i64 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits, i64 0, i64 %idxprom + %39 = load i64, i64* %arrayidx, align 8 + %40 = load i32, i32* %i, align 4 + %rem = srem i32 %40, 64 + %shl = shl i32 1, %rem + %conv = sext i32 %shl to i64 + %and = and i64 %39, %conv + %tobool9 = icmp ne i64 %and, 0 + br i1 %tobool9, label %if.then29, label %lor.lhs.false + +lor.lhs.false: ; preds = %for.body + %fds_bits10 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_write, i32 0, i32 0 + %41 = load i32, i32* %i, align 4 + %div11 = sdiv i32 %41, 64 + %idxprom12 = sext i32 %div11 to i64 + %arrayidx13 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits10, i64 0, i64 %idxprom12 + %42 = load i64, i64* %arrayidx13, align 8 + %43 = load i32, i32* %i, align 4 + %rem14 = srem i32 %43, 64 + %shl15 = shl i32 1, %rem14 + %conv16 = sext i32 %shl15 to i64 + %and17 = and i64 %42, %conv16 + %tobool18 = icmp ne i64 %and17, 0 + br i1 %tobool18, label %if.then29, label %lor.lhs.false19 + +lor.lhs.false19: ; preds = %lor.lhs.false + %fds_bits20 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_except, i32 0, i32 0 + %44 = load i32, i32* %i, align 4 + %div21 = sdiv i32 %44, 64 + %idxprom22 = sext i32 %div21 to i64 + %arrayidx23 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits20, i64 0, i64 %idxprom22 + %45 = load i64, i64* %arrayidx23, align 8 + %46 = load i32, i32* %i, align 4 + %rem24 = srem i32 %46, 64 + %shl25 = shl i32 1, %rem24 + %conv26 = sext i32 %shl25 to i64 + %and27 = and i64 %45, %conv26 + %tobool28 = icmp ne i64 %and27, 0 + br i1 %tobool28, label %if.then29, label %for.inc + +if.then29: ; preds = %lor.lhs.false19, %lor.lhs.false, %for.body + %47 = load i32, i32* %i, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %47) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %48 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool30 = icmp ne %struct.exe_file_t* %48, null + br i1 %tobool30, label %if.else33, label %if.then31 + +if.then31: ; preds = %if.then29 + %call32 = call i32* @__errno_location() #25 + store i32 9, i32* %call32, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else33: ; preds = %if.then29 + %49 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %49, i32 0, i32 3 + %50 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool34 = icmp ne %struct.exe_disk_file_t* %50, null + %fds_bits36 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_read, i32 0, i32 0 + %51 = load i32, i32* %i, align 4 + %div37 = sdiv i32 %51, 64 + %idxprom38 = sext i32 %div37 to i64 + %arrayidx39 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits36, i64 0, i64 %idxprom38 + %52 = load i64, i64* %arrayidx39, align 8 + %53 = load i32, i32* %i, align 4 + %rem40 = srem i32 %53, 64 + %shl41 = shl i32 1, %rem40 + %conv42 = sext i32 %shl41 to i64 + %and43 = and i64 %52, %conv42 + %tobool44 = icmp ne i64 %and43, 0 + br i1 %tobool34, label %if.then35, label %if.else92 + +if.then35: ; preds = %if.else33 + br i1 %tobool44, label %if.then45, label %if.end53 + +if.then45: ; preds = %if.then35 + %54 = load i32, i32* %i, align 4 + %rem46 = srem i32 %54, 64 + %shl47 = shl i32 1, %rem46 + %conv48 = sext i32 %shl47 to i64 + %55 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %fds_bits49 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %55, i32 0, i32 0 + %56 = load i32, i32* %i, align 4 + %div50 = sdiv i32 %56, 64 + %idxprom51 = sext i32 %div50 to i64 + %arrayidx52 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits49, i64 0, i64 %idxprom51 + %57 = load i64, i64* %arrayidx52, align 8 + %or = or i64 %57, %conv48 + store i64 %or, i64* %arrayidx52, align 8 + br label %if.end53 + +if.end53: ; preds = %if.then45, %if.then35 + %fds_bits54 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_write, i32 0, i32 0 + %58 = load i32, i32* %i, align 4 + %div55 = sdiv i32 %58, 64 + %idxprom56 = sext i32 %div55 to i64 + %arrayidx57 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits54, i64 0, i64 %idxprom56 + %59 = load i64, i64* %arrayidx57, align 8 + %60 = load i32, i32* %i, align 4 + %rem58 = srem i32 %60, 64 + %shl59 = shl i32 1, %rem58 + %conv60 = sext i32 %shl59 to i64 + %and61 = and i64 %59, %conv60 + %tobool62 = icmp ne i64 %and61, 0 + br i1 %tobool62, label %if.then63, label %if.end72 + +if.then63: ; preds = %if.end53 + %61 = load i32, i32* %i, align 4 + %rem64 = srem i32 %61, 64 + %shl65 = shl i32 1, %rem64 + %conv66 = sext i32 %shl65 to i64 + %62 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %fds_bits67 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %62, i32 0, i32 0 + %63 = load i32, i32* %i, align 4 + %div68 = sdiv i32 %63, 64 + %idxprom69 = sext i32 %div68 to i64 + %arrayidx70 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits67, i64 0, i64 %idxprom69 + %64 = load i64, i64* %arrayidx70, align 8 + %or71 = or i64 %64, %conv66 + store i64 %or71, i64* %arrayidx70, align 8 + br label %if.end72 + +if.end72: ; preds = %if.then63, %if.end53 + %fds_bits73 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_except, i32 0, i32 0 + %65 = load i32, i32* %i, align 4 + %div74 = sdiv i32 %65, 64 + %idxprom75 = sext i32 %div74 to i64 + %arrayidx76 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits73, i64 0, i64 %idxprom75 + %66 = load i64, i64* %arrayidx76, align 8 + %67 = load i32, i32* %i, align 4 + %rem77 = srem i32 %67, 64 + %shl78 = shl i32 1, %rem77 + %conv79 = sext i32 %shl78 to i64 + %and80 = and i64 %66, %conv79 + %tobool81 = icmp ne i64 %and80, 0 + br i1 %tobool81, label %if.then82, label %if.end91 + +if.then82: ; preds = %if.end72 + %68 = load i32, i32* %i, align 4 + %rem83 = srem i32 %68, 64 + %shl84 = shl i32 1, %rem83 + %conv85 = sext i32 %shl84 to i64 + %69 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %fds_bits86 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %69, i32 0, i32 0 + %70 = load i32, i32* %i, align 4 + %div87 = sdiv i32 %70, 64 + %idxprom88 = sext i32 %div87 to i64 + %arrayidx89 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits86, i64 0, i64 %idxprom88 + %71 = load i64, i64* %arrayidx89, align 8 + %or90 = or i64 %71, %conv85 + store i64 %or90, i64* %arrayidx89, align 8 + br label %if.end91 + +if.end91: ; preds = %if.then82, %if.end72 + %72 = load i32, i32* %count, align 4 + %inc = add nsw i32 %72, 1 + store i32 %inc, i32* %count, align 4 + br label %for.inc + +if.else92: ; preds = %if.else33 + br i1 %tobool44, label %if.then102, label %if.end112 + +if.then102: ; preds = %if.else92 + %73 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %73, i32 0, i32 0 + %74 = load i32, i32* %fd, align 8 + %rem103 = srem i32 %74, 64 + %shl104 = shl i32 1, %rem103 + %conv105 = sext i32 %shl104 to i64 + %fds_bits106 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_read, i32 0, i32 0 + %75 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd107 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %75, i32 0, i32 0 + %76 = load i32, i32* %fd107, align 8 + %div108 = sdiv i32 %76, 64 + %idxprom109 = sext i32 %div108 to i64 + %arrayidx110 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits106, i64 0, i64 %idxprom109 + %77 = load i64, i64* %arrayidx110, align 8 + %or111 = or i64 %77, %conv105 + store i64 %or111, i64* %arrayidx110, align 8 + br label %if.end112 + +if.end112: ; preds = %if.then102, %if.else92 + %fds_bits113 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_write, i32 0, i32 0 + %78 = load i32, i32* %i, align 4 + %div114 = sdiv i32 %78, 64 + %idxprom115 = sext i32 %div114 to i64 + %arrayidx116 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits113, i64 0, i64 %idxprom115 + %79 = load i64, i64* %arrayidx116, align 8 + %80 = load i32, i32* %i, align 4 + %rem117 = srem i32 %80, 64 + %shl118 = shl i32 1, %rem117 + %conv119 = sext i32 %shl118 to i64 + %and120 = and i64 %79, %conv119 + %tobool121 = icmp ne i64 %and120, 0 + br i1 %tobool121, label %if.then122, label %if.end133 + +if.then122: ; preds = %if.end112 + %81 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd123 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %81, i32 0, i32 0 + %82 = load i32, i32* %fd123, align 8 + %rem124 = srem i32 %82, 64 + %shl125 = shl i32 1, %rem124 + %conv126 = sext i32 %shl125 to i64 + %fds_bits127 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_write, i32 0, i32 0 + %83 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd128 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %83, i32 0, i32 0 + %84 = load i32, i32* %fd128, align 8 + %div129 = sdiv i32 %84, 64 + %idxprom130 = sext i32 %div129 to i64 + %arrayidx131 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits127, i64 0, i64 %idxprom130 + %85 = load i64, i64* %arrayidx131, align 8 + %or132 = or i64 %85, %conv126 + store i64 %or132, i64* %arrayidx131, align 8 + br label %if.end133 + +if.end133: ; preds = %if.then122, %if.end112 + %fds_bits134 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_except, i32 0, i32 0 + %86 = load i32, i32* %i, align 4 + %div135 = sdiv i32 %86, 64 + %idxprom136 = sext i32 %div135 to i64 + %arrayidx137 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits134, i64 0, i64 %idxprom136 + %87 = load i64, i64* %arrayidx137, align 8 + %88 = load i32, i32* %i, align 4 + %rem138 = srem i32 %88, 64 + %shl139 = shl i32 1, %rem138 + %conv140 = sext i32 %shl139 to i64 + %and141 = and i64 %87, %conv140 + %tobool142 = icmp ne i64 %and141, 0 + br i1 %tobool142, label %if.then143, label %if.end154 + +if.then143: ; preds = %if.end133 + %89 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd144 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %89, i32 0, i32 0 + %90 = load i32, i32* %fd144, align 8 + %rem145 = srem i32 %90, 64 + %shl146 = shl i32 1, %rem145 + %conv147 = sext i32 %shl146 to i64 + %fds_bits148 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_except, i32 0, i32 0 + %91 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd149 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %91, i32 0, i32 0 + %92 = load i32, i32* %fd149, align 8 + %div150 = sdiv i32 %92, 64 + %idxprom151 = sext i32 %div150 to i64 + %arrayidx152 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits148, i64 0, i64 %idxprom151 + %93 = load i64, i64* %arrayidx152, align 8 + %or153 = or i64 %93, %conv147 + store i64 %or153, i64* %arrayidx152, align 8 + br label %if.end154 + +if.end154: ; preds = %if.then143, %if.end133 + %94 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd155 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %94, i32 0, i32 0 + %95 = load i32, i32* %fd155, align 8 + %96 = load i32, i32* %os_nfds, align 4 + %cmp156 = icmp sge i32 %95, %96 + br i1 %cmp156, label %if.then158, label %for.inc + +if.then158: ; preds = %if.end154 + %97 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd159 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %97, i32 0, i32 0 + %98 = load i32, i32* %fd159, align 8 + %add = add nsw i32 %98, 1 + store i32 %add, i32* %os_nfds, align 4 + br label %for.inc + +for.inc: ; preds = %lor.lhs.false19, %if.end91, %if.then158, %if.end154 + %99 = load i32, i32* %i, align 4 + %inc164 = add nsw i32 %99, 1 + store i32 %inc164, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %100 = load i32, i32* %os_nfds, align 4 + %cmp165 = icmp sgt i32 %100, 0 + br i1 %cmp165, label %if.then167, label %if.end262 + +if.then167: ; preds = %for.end + %101 = bitcast %struct.timespec* %tv to i8* + %102 = call i8* @memset(i8* %101, i32 0, i64 16) + %103 = load i32, i32* %os_nfds, align 4 + %call168 = call i64 (i64, ...) @syscall(i64 23, i32 %103, %struct.fd_set* %os_read, %struct.fd_set* %os_write, %struct.fd_set* %os_except, %struct.timespec* %tv) #11 + %conv169 = trunc i64 %call168 to i32 + store i32 %conv169, i32* %r, align 4 + %104 = load i32, i32* %r, align 4 + %cmp170 = icmp eq i32 %104, -1 + br i1 %cmp170, label %if.then172, label %if.else176 + +if.then172: ; preds = %if.then167 + %105 = load i32, i32* %count, align 4 + %tobool173 = icmp ne i32 %105, 0 + br i1 %tobool173, label %if.end262, label %if.then174 + +if.then174: ; preds = %if.then172 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else176: ; preds = %if.then167 + %106 = load i32, i32* %r, align 4 + %107 = load i32, i32* %count, align 4 + %add177 = add nsw i32 %107, %106 + store i32 %add177, i32* %count, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond178 + +for.cond178: ; preds = %for.inc258, %if.else176 + %108 = load i32, i32* %i, align 4 + %109 = load i32, i32* %nfds.addr, align 4 + %cmp179 = icmp slt i32 %108, %109 + br i1 %cmp179, label %for.body181, label %if.end262 + +for.body181: ; preds = %for.cond178 + %110 = load i32, i32* %i, align 4 + %call183 = call %struct.exe_file_t* @__get_file(i32 %110) + store %struct.exe_file_t* %call183, %struct.exe_file_t** %f182, align 8 + %111 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %tobool184 = icmp ne %struct.exe_file_t* %111, null + br i1 %tobool184, label %land.lhs.true, label %for.inc258 + +land.lhs.true: ; preds = %for.body181 + %112 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %dfile185 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %112, i32 0, i32 3 + %113 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile185, align 8 + %tobool186 = icmp ne %struct.exe_disk_file_t* %113, null + br i1 %tobool186, label %for.inc258, label %if.then187 + +if.then187: ; preds = %land.lhs.true + %114 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %tobool188 = icmp ne %struct.fd_set* %114, null + br i1 %tobool188, label %land.lhs.true189, label %if.end210 + +land.lhs.true189: ; preds = %if.then187 + %fds_bits190 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_read, i32 0, i32 0 + %115 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd191 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %115, i32 0, i32 0 + %116 = load i32, i32* %fd191, align 8 + %div192 = sdiv i32 %116, 64 + %idxprom193 = sext i32 %div192 to i64 + %arrayidx194 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits190, i64 0, i64 %idxprom193 + %117 = load i64, i64* %arrayidx194, align 8 + %118 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd195 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %118, i32 0, i32 0 + %119 = load i32, i32* %fd195, align 8 + %rem196 = srem i32 %119, 64 + %shl197 = shl i32 1, %rem196 + %conv198 = sext i32 %shl197 to i64 + %and199 = and i64 %117, %conv198 + %tobool200 = icmp ne i64 %and199, 0 + br i1 %tobool200, label %if.then201, label %if.end210 + +if.then201: ; preds = %land.lhs.true189 + %120 = load i32, i32* %i, align 4 + %rem202 = srem i32 %120, 64 + %shl203 = shl i32 1, %rem202 + %conv204 = sext i32 %shl203 to i64 + %121 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %fds_bits205 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %121, i32 0, i32 0 + %122 = load i32, i32* %i, align 4 + %div206 = sdiv i32 %122, 64 + %idxprom207 = sext i32 %div206 to i64 + %arrayidx208 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits205, i64 0, i64 %idxprom207 + %123 = load i64, i64* %arrayidx208, align 8 + %or209 = or i64 %123, %conv204 + store i64 %or209, i64* %arrayidx208, align 8 + br label %if.end210 + +if.end210: ; preds = %if.then201, %land.lhs.true189, %if.then187 + %124 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %tobool211 = icmp ne %struct.fd_set* %124, null + br i1 %tobool211, label %land.lhs.true212, label %if.end233 + +land.lhs.true212: ; preds = %if.end210 + %fds_bits213 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_write, i32 0, i32 0 + %125 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd214 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %125, i32 0, i32 0 + %126 = load i32, i32* %fd214, align 8 + %div215 = sdiv i32 %126, 64 + %idxprom216 = sext i32 %div215 to i64 + %arrayidx217 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits213, i64 0, i64 %idxprom216 + %127 = load i64, i64* %arrayidx217, align 8 + %128 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd218 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %128, i32 0, i32 0 + %129 = load i32, i32* %fd218, align 8 + %rem219 = srem i32 %129, 64 + %shl220 = shl i32 1, %rem219 + %conv221 = sext i32 %shl220 to i64 + %and222 = and i64 %127, %conv221 + %tobool223 = icmp ne i64 %and222, 0 + br i1 %tobool223, label %if.then224, label %if.end233 + +if.then224: ; preds = %land.lhs.true212 + %130 = load i32, i32* %i, align 4 + %rem225 = srem i32 %130, 64 + %shl226 = shl i32 1, %rem225 + %conv227 = sext i32 %shl226 to i64 + %131 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %fds_bits228 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %131, i32 0, i32 0 + %132 = load i32, i32* %i, align 4 + %div229 = sdiv i32 %132, 64 + %idxprom230 = sext i32 %div229 to i64 + %arrayidx231 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits228, i64 0, i64 %idxprom230 + %133 = load i64, i64* %arrayidx231, align 8 + %or232 = or i64 %133, %conv227 + store i64 %or232, i64* %arrayidx231, align 8 + br label %if.end233 + +if.end233: ; preds = %if.then224, %land.lhs.true212, %if.end210 + %134 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %tobool234 = icmp ne %struct.fd_set* %134, null + br i1 %tobool234, label %land.lhs.true235, label %for.inc258 + +land.lhs.true235: ; preds = %if.end233 + %fds_bits236 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_except, i32 0, i32 0 + %135 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd237 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %135, i32 0, i32 0 + %136 = load i32, i32* %fd237, align 8 + %div238 = sdiv i32 %136, 64 + %idxprom239 = sext i32 %div238 to i64 + %arrayidx240 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits236, i64 0, i64 %idxprom239 + %137 = load i64, i64* %arrayidx240, align 8 + %138 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd241 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %138, i32 0, i32 0 + %139 = load i32, i32* %fd241, align 8 + %rem242 = srem i32 %139, 64 + %shl243 = shl i32 1, %rem242 + %conv244 = sext i32 %shl243 to i64 + %and245 = and i64 %137, %conv244 + %tobool246 = icmp ne i64 %and245, 0 + br i1 %tobool246, label %if.then247, label %for.inc258 + +if.then247: ; preds = %land.lhs.true235 + %140 = load i32, i32* %i, align 4 + %rem248 = srem i32 %140, 64 + %shl249 = shl i32 1, %rem248 + %conv250 = sext i32 %shl249 to i64 + %141 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %fds_bits251 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %141, i32 0, i32 0 + %142 = load i32, i32* %i, align 4 + %div252 = sdiv i32 %142, 64 + %idxprom253 = sext i32 %div252 to i64 + %arrayidx254 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits251, i64 0, i64 %idxprom253 + %143 = load i64, i64* %arrayidx254, align 8 + %or255 = or i64 %143, %conv250 + store i64 %or255, i64* %arrayidx254, align 8 + br label %for.inc258 + +for.inc258: ; preds = %for.body181, %land.lhs.true, %if.then247, %land.lhs.true235, %if.end233 + %144 = load i32, i32* %i, align 4 + %inc259 = add nsw i32 %144, 1 + store i32 %inc259, i32* %i, align 4 + br label %for.cond178 + +if.end262: ; preds = %if.then172, %for.cond178, %for.end + %145 = load i32, i32* %count, align 4 + store i32 %145, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end262, %if.then174, %if.then31 + %146 = load i32, i32* %retval, align 4 + ret i32 %146 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chroot(i8* nonnull %path) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %0, i64 0 + %1 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call = call i32* @__errno_location() #25 + store i32 2, i32* %call, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %path.addr, align 8 + %arrayidx2 = getelementptr inbounds i8, i8* %2, i64 0 + %3 = load i8, i8* %arrayidx2, align 1 + %conv3 = sext i8 %3 to i32 + %cmp4 = icmp eq i32 %conv3, 47 + br i1 %cmp4, label %land.lhs.true, label %if.end11 + +land.lhs.true: ; preds = %if.end + %4 = load i8*, i8** %path.addr, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %4, i64 1 + %5 = load i8, i8* %arrayidx6, align 1 + %conv7 = sext i8 %5 to i32 + %cmp8 = icmp eq i32 %conv7, 0 + br i1 %cmp8, label %if.then10, label %if.end11 + +if.then10: ; preds = %land.lhs.true + store i32 0, i32* %retval, align 4 + br label %return + +if.end11: ; preds = %land.lhs.true, %if.end + call void @gs_warning(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.24, i64 0, i64 0)) + %call12 = call i32* @__errno_location() #25 + store i32 2, i32* %call12, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end11, %if.then10, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @open(i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i8*, i8** %pathname.addr, align 8 + %8 = load i32, i32* %flags.addr, align 4 + %9 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_open(i8* %7, i32 %8, i32 %9) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @openat(i32 %fd, i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %fd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i32, i32* %fd.addr, align 4 + %8 = load i8*, i8** %pathname.addr, align 8 + %9 = load i32, i32* %flags.addr, align 4 + %10 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_openat(i32 %7, i8* %8, i32 %9, i32 %10) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @lseek(i32 %fd, i64 %off, i32 %whence) #3 { +entry: + %fd.addr = alloca i32, align 4 + %off.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %off, i64* %off.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %off.addr, align 8 + %2 = load i32, i32* %whence.addr, align 4 + %call = call i64 @__fd_lseek(i32 %0, i64 %1, i32 %2) + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__xstat(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__stat64_to_stat(%struct.stat64* %a, %struct.stat64* %b) #3 { +entry: + %a.addr = alloca %struct.stat64*, align 8 + %b.addr = alloca %struct.stat64*, align 8 + store %struct.stat64* %a, %struct.stat64** %a.addr, align 8 + store %struct.stat64* %b, %struct.stat64** %b.addr, align 8 + %0 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_dev = getelementptr inbounds %struct.stat64, %struct.stat64* %0, i32 0, i32 0 + %1 = load i64, i64* %st_dev, align 8 + %2 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_dev1 = getelementptr inbounds %struct.stat64, %struct.stat64* %2, i32 0, i32 0 + store i64 %1, i64* %st_dev1, align 8 + %3 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 1 + %4 = load i64, i64* %st_ino, align 8 + %5 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_ino2 = getelementptr inbounds %struct.stat64, %struct.stat64* %5, i32 0, i32 1 + store i64 %4, i64* %st_ino2, align 8 + %6 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 3 + %7 = load i32, i32* %st_mode, align 8 + %8 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_mode3 = getelementptr inbounds %struct.stat64, %struct.stat64* %8, i32 0, i32 3 + store i32 %7, i32* %st_mode3, align 8 + %9 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_nlink = getelementptr inbounds %struct.stat64, %struct.stat64* %9, i32 0, i32 2 + %10 = load i64, i64* %st_nlink, align 8 + %11 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_nlink4 = getelementptr inbounds %struct.stat64, %struct.stat64* %11, i32 0, i32 2 + store i64 %10, i64* %st_nlink4, align 8 + %12 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_uid = getelementptr inbounds %struct.stat64, %struct.stat64* %12, i32 0, i32 4 + %13 = load i32, i32* %st_uid, align 4 + %14 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_uid5 = getelementptr inbounds %struct.stat64, %struct.stat64* %14, i32 0, i32 4 + store i32 %13, i32* %st_uid5, align 4 + %15 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_gid = getelementptr inbounds %struct.stat64, %struct.stat64* %15, i32 0, i32 5 + %16 = load i32, i32* %st_gid, align 8 + %17 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_gid6 = getelementptr inbounds %struct.stat64, %struct.stat64* %17, i32 0, i32 5 + store i32 %16, i32* %st_gid6, align 8 + %18 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_rdev = getelementptr inbounds %struct.stat64, %struct.stat64* %18, i32 0, i32 7 + %19 = load i64, i64* %st_rdev, align 8 + %20 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_rdev7 = getelementptr inbounds %struct.stat64, %struct.stat64* %20, i32 0, i32 7 + store i64 %19, i64* %st_rdev7, align 8 + %21 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_size = getelementptr inbounds %struct.stat64, %struct.stat64* %21, i32 0, i32 8 + %22 = load i64, i64* %st_size, align 8 + %23 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_size8 = getelementptr inbounds %struct.stat64, %struct.stat64* %23, i32 0, i32 8 + store i64 %22, i64* %st_size8, align 8 + %24 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_atim = getelementptr inbounds %struct.stat64, %struct.stat64* %24, i32 0, i32 11 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim, i32 0, i32 0 + %25 = load i64, i64* %tv_sec, align 8 + %26 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_atim9 = getelementptr inbounds %struct.stat64, %struct.stat64* %26, i32 0, i32 11 + %tv_sec10 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim9, i32 0, i32 0 + store i64 %25, i64* %tv_sec10, align 8 + %27 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_mtim = getelementptr inbounds %struct.stat64, %struct.stat64* %27, i32 0, i32 12 + %tv_sec11 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim, i32 0, i32 0 + %28 = load i64, i64* %tv_sec11, align 8 + %29 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_mtim12 = getelementptr inbounds %struct.stat64, %struct.stat64* %29, i32 0, i32 12 + %tv_sec13 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim12, i32 0, i32 0 + store i64 %28, i64* %tv_sec13, align 8 + %30 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_ctim = getelementptr inbounds %struct.stat64, %struct.stat64* %30, i32 0, i32 13 + %tv_sec14 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim, i32 0, i32 0 + %31 = load i64, i64* %tv_sec14, align 8 + %32 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_ctim15 = getelementptr inbounds %struct.stat64, %struct.stat64* %32, i32 0, i32 13 + %tv_sec16 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim15, i32 0, i32 0 + store i64 %31, i64* %tv_sec16, align 8 + %33 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_blksize = getelementptr inbounds %struct.stat64, %struct.stat64* %33, i32 0, i32 9 + %34 = load i64, i64* %st_blksize, align 8 + %35 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_blksize17 = getelementptr inbounds %struct.stat64, %struct.stat64* %35, i32 0, i32 9 + store i64 %34, i64* %st_blksize17, align 8 + %36 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_blocks = getelementptr inbounds %struct.stat64, %struct.stat64* %36, i32 0, i32 10 + %37 = load i64, i64* %st_blocks, align 8 + %38 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_blocks18 = getelementptr inbounds %struct.stat64, %struct.stat64* %38, i32 0, i32 10 + store i64 %37, i64* %st_blocks18, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @stat(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__lxstat(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @lstat(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fxstat(i32 %vers, i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %vers, i32* %vers.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstat(i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @ftruncate(i32 %fd, i64 %length) #3 { +entry: + %fd.addr = alloca i32, align 4 + %length.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %length, i64* %length.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %length.addr, align 8 + %call = call i32 @__fd_ftruncate(i32 %0, i64 %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @statfs(i8* nonnull %path, %struct.statfs* nonnull %buf32) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf32.addr = alloca %struct.statfs*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.statfs* %buf32, %struct.statfs** %buf32.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.statfs*, %struct.statfs** %buf32.addr, align 8 + %call = call i32 @__fd_statfs(i8* %0, %struct.statfs* %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @getdents(i32 %fd, %struct.dirent64* %dirp, i64 %nbytes) #3 { +entry: + %fd.addr = alloca i32, align 4 + %dirp.addr = alloca %struct.dirent64*, align 8 + %nbytes.addr = alloca i64, align 8 + %dp64 = alloca %struct.dirent64*, align 8 + %res = alloca i64, align 8 + %end = alloca %struct.dirent64*, align 8 + %dp = alloca %struct.dirent64*, align 8 + %name_len = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.dirent64* %dirp, %struct.dirent64** %dirp.addr, align 8 + store i64 %nbytes, i64* %nbytes.addr, align 8 + %0 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %1 = bitcast %struct.dirent64* %0 to %struct.dirent64* + store %struct.dirent64* %1, %struct.dirent64** %dp64, align 8 + %2 = load i32, i32* %fd.addr, align 4 + %3 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %4 = load i64, i64* %nbytes.addr, align 8 + %conv = trunc i64 %4 to i32 + %call = call i32 @__fd_getdents(i32 %2, %struct.dirent64* %3, i32 %conv) + %conv1 = sext i32 %call to i64 + store i64 %conv1, i64* %res, align 8 + %5 = load i64, i64* %res, align 8 + %cmp = icmp sgt i64 %5, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %6 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %7 = bitcast %struct.dirent64* %6 to i8* + %8 = load i64, i64* %res, align 8 + %add.ptr = getelementptr inbounds i8, i8* %7, i64 %8 + %9 = bitcast i8* %add.ptr to %struct.dirent64* + store %struct.dirent64* %9, %struct.dirent64** %end, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.then + %10 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %11 = load %struct.dirent64*, %struct.dirent64** %end, align 8 + %cmp3 = icmp ult %struct.dirent64* %10, %11 + br i1 %cmp3, label %while.body, label %if.end + +while.body: ; preds = %while.cond + %12 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %13 = bitcast %struct.dirent64* %12 to %struct.dirent64* + store %struct.dirent64* %13, %struct.dirent64** %dp, align 8 + %14 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_reclen = getelementptr inbounds %struct.dirent64, %struct.dirent64* %14, i32 0, i32 2 + %15 = load i16, i16* %d_reclen, align 8 + %conv5 = zext i16 %15 to i64 + %sub = sub i64 %conv5, ptrtoint ([256 x i8]* getelementptr inbounds (%struct.dirent64, %struct.dirent64* null, i32 0, i32 4) to i64) + store i64 %sub, i64* %name_len, align 8 + %16 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_ino = getelementptr inbounds %struct.dirent64, %struct.dirent64* %16, i32 0, i32 0 + %17 = load i64, i64* %d_ino, align 8 + %18 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_ino6 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %18, i32 0, i32 0 + store i64 %17, i64* %d_ino6, align 8 + %19 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_off = getelementptr inbounds %struct.dirent64, %struct.dirent64* %19, i32 0, i32 1 + %20 = load i64, i64* %d_off, align 8 + %21 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_off7 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %21, i32 0, i32 1 + store i64 %20, i64* %d_off7, align 8 + %22 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_reclen8 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %22, i32 0, i32 2 + %23 = load i16, i16* %d_reclen8, align 8 + %24 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_reclen9 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %24, i32 0, i32 2 + store i16 %23, i16* %d_reclen9, align 8 + %25 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_type = getelementptr inbounds %struct.dirent64, %struct.dirent64* %25, i32 0, i32 3 + %26 = load i8, i8* %d_type, align 2 + %27 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_type10 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %27, i32 0, i32 3 + store i8 %26, i8* %d_type10, align 2 + %28 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_name = getelementptr inbounds %struct.dirent64, %struct.dirent64* %28, i32 0, i32 4 + %arraydecay = getelementptr inbounds [256 x i8], [256 x i8]* %d_name, i64 0, i64 0 + %29 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_name11 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %29, i32 0, i32 4 + %arraydecay12 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name11, i64 0, i64 0 + %30 = load i64, i64* %name_len, align 8 + %31 = call i8* @memmove(i8* %arraydecay, i8* %arraydecay12, i64 %30) + %32 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %33 = bitcast %struct.dirent64* %32 to i8* + %34 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_reclen13 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %34, i32 0, i32 2 + %35 = load i16, i16* %d_reclen13, align 8 + %conv14 = zext i16 %35 to i32 + %idx.ext = sext i32 %conv14 to i64 + %add.ptr15 = getelementptr inbounds i8, i8* %33, i64 %idx.ext + %36 = bitcast i8* %add.ptr15 to %struct.dirent64* + store %struct.dirent64* %36, %struct.dirent64** %dp64, align 8 + br label %while.cond + +if.end: ; preds = %while.cond, %entry + %37 = load i64, i64* %res, align 8 + ret i64 %37 +} + +; Function Attrs: argmemonly nounwind willreturn +declare void @llvm.memmove.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i1 immarg) #9 + +; Function Attrs: noinline nounwind uwtable +define dso_local void @klee_init_env(i32* %argcPtr, i8*** %argvPtr) #3 { +entry: + %argcPtr.addr = alloca i32*, align 8 + %argvPtr.addr = alloca i8***, align 8 + %argc = alloca i32, align 4 + %argv = alloca i8**, align 8 + %new_argc = alloca i32, align 4 + %n_args = alloca i32, align 4 + %new_argv = alloca [1024 x i8*], align 16 + %max_len = alloca i32, align 4 + %min_argvs = alloca i32, align 4 + %max_argvs = alloca i32, align 4 + %sym_files = alloca i32, align 4 + %sym_file_len = alloca i32, align 4 + %sym_stdin_len = alloca i32, align 4 + %sym_stdout_flag = alloca i32, align 4 + %save_all_writes_flag = alloca i32, align 4 + %fd_fail = alloca i32, align 4 + %final_argv = alloca i8**, align 8 + %sym_arg_name = alloca [6 x i8], align 1 + %sym_arg_num = alloca i32, align 4 + %k = alloca i32, align 4 + %i = alloca i32, align 4 + %msg = alloca i8*, align 8 + %msg40 = alloca i8*, align 8 + %msg105 = alloca i8*, align 8 + %msg145 = alloca i8*, align 8 + %msg215 = alloca i8*, align 8 + store i32* %argcPtr, i32** %argcPtr.addr, align 8 + store i8*** %argvPtr, i8**** %argvPtr.addr, align 8 + %0 = load i32*, i32** %argcPtr.addr, align 8 + %1 = load i32, i32* %0, align 4 + store i32 %1, i32* %argc, align 4 + %2 = load i8***, i8**** %argvPtr.addr, align 8 + %3 = load i8**, i8*** %2, align 8 + store i8** %3, i8*** %argv, align 8 + store i32 0, i32* %new_argc, align 4 + store i32 0, i32* %sym_files, align 4 + store i32 0, i32* %sym_file_len, align 4 + store i32 0, i32* %sym_stdin_len, align 4 + store i32 0, i32* %sym_stdout_flag, align 4 + store i32 0, i32* %save_all_writes_flag, align 4 + store i32 0, i32* %fd_fail, align 4 + %4 = bitcast [6 x i8]* %sym_arg_name to i8* + %5 = call i8* @memcpy(i8* %4, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @__const.klee_init_env.sym_arg_name, i32 0, i32 0), i64 6) + store i32 0, i32* %sym_arg_num, align 4 + store i32 0, i32* %k, align 4 + %arrayidx = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 5 + store i8 0, i8* %arrayidx, align 1 + %6 = load i32, i32* %argc, align 4 + %cmp = icmp eq i32 %6, 2 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %7 = load i8**, i8*** %argv, align 8 + %arrayidx1 = getelementptr inbounds i8*, i8** %7, i64 1 + %8 = load i8*, i8** %arrayidx1, align 8 + %call = call i32 @__streq(i8* %8, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.29, i64 0, i64 0)) + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + call void @__emit_error(i8* getelementptr inbounds ([964 x i8], [964 x i8]* @.str.1.30, i64 0, i64 0)) + br label %if.end + +if.end: ; preds = %if.then, %land.lhs.true, %entry + br label %while.cond + +while.cond: ; preds = %if.end239, %if.end + %9 = load i32, i32* %k, align 4 + %10 = load i32, i32* %argc, align 4 + %cmp2 = icmp slt i32 %9, %10 + br i1 %cmp2, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %11 = load i8**, i8*** %argv, align 8 + %12 = load i32, i32* %k, align 4 + %idxprom = sext i32 %12 to i64 + %arrayidx3 = getelementptr inbounds i8*, i8** %11, i64 %idxprom + %13 = load i8*, i8** %arrayidx3, align 8 + %call4 = call i32 @__streq(i8* %13, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.2.31, i64 0, i64 0)) + %tobool5 = icmp ne i32 %call4, 0 + br i1 %tobool5, label %if.then10, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.body + %14 = load i8**, i8*** %argv, align 8 + %15 = load i32, i32* %k, align 4 + %idxprom6 = sext i32 %15 to i64 + %arrayidx7 = getelementptr inbounds i8*, i8** %14, i64 %idxprom6 + %16 = load i8*, i8** %arrayidx7, align 8 + %call8 = call i32 @__streq(i8* %16, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.32, i64 0, i64 0)) + %tobool9 = icmp ne i32 %call8, 0 + br i1 %tobool9, label %if.then10, label %if.else + +if.then10: ; preds = %lor.lhs.false, %while.body + store i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.4.33, i64 0, i64 0), i8** %msg, align 8 + %17 = load i32, i32* %k, align 4 + %inc = add nsw i32 %17, 1 + store i32 %inc, i32* %k, align 4 + %18 = load i32, i32* %argc, align 4 + %cmp11 = icmp eq i32 %inc, %18 + br i1 %cmp11, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.then10 + %19 = load i8*, i8** %msg, align 8 + call void @__emit_error(i8* %19) + br label %if.end13 + +if.end13: ; preds = %if.then12, %if.then10 + %20 = load i8**, i8*** %argv, align 8 + %21 = load i32, i32* %k, align 4 + %inc14 = add nsw i32 %21, 1 + store i32 %inc14, i32* %k, align 4 + %idxprom15 = sext i32 %21 to i64 + %arrayidx16 = getelementptr inbounds i8*, i8** %20, i64 %idxprom15 + %22 = load i8*, i8** %arrayidx16, align 8 + %23 = load i8*, i8** %msg, align 8 + %call17 = call i64 @__str_to_int(i8* %22, i8* %23) + %conv = trunc i64 %call17 to i32 + store i32 %conv, i32* %max_len, align 4 + %24 = load i32, i32* %sym_arg_num, align 4 + %cmp18 = icmp ugt i32 %24, 99 + br i1 %cmp18, label %if.then20, label %if.end21 + +if.then20: ; preds = %if.end13 + call void @__emit_error(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.5.34, i64 0, i64 0)) + br label %if.end21 + +if.end21: ; preds = %if.then20, %if.end13 + %25 = load i32, i32* %sym_arg_num, align 4 + %div = udiv i32 %25, 10 + %add = add i32 48, %div + %conv22 = trunc i32 %add to i8 + %arrayidx23 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 3 + store i8 %conv22, i8* %arrayidx23, align 1 + %26 = load i32, i32* %sym_arg_num, align 4 + %rem = urem i32 %26, 10 + %add24 = add i32 48, %rem + %conv25 = trunc i32 %add24 to i8 + %arrayidx26 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 4 + store i8 %conv25, i8* %arrayidx26, align 1 + %27 = load i32, i32* %sym_arg_num, align 4 + %inc27 = add i32 %27, 1 + store i32 %inc27, i32* %sym_arg_num, align 4 + %arraydecay = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %28 = load i32, i32* %max_len, align 4 + %arraydecay28 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 0 + %call29 = call i8* @__get_sym_str(i32 %28, i8* %arraydecay28) + call void @__add_arg(i32* %new_argc, i8** %arraydecay, i8* %call29, i32 1024) + br label %if.end239 + +if.else: ; preds = %lor.lhs.false + %29 = load i8**, i8*** %argv, align 8 + %30 = load i32, i32* %k, align 4 + %idxprom30 = sext i32 %30 to i64 + %arrayidx31 = getelementptr inbounds i8*, i8** %29, i64 %idxprom30 + %31 = load i8*, i8** %arrayidx31, align 8 + %call32 = call i32 @__streq(i8* %31, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.6.35, i64 0, i64 0)) + %tobool33 = icmp ne i32 %call32, 0 + br i1 %tobool33, label %if.then39, label %lor.lhs.false34 + +lor.lhs.false34: ; preds = %if.else + %32 = load i8**, i8*** %argv, align 8 + %33 = load i32, i32* %k, align 4 + %idxprom35 = sext i32 %33 to i64 + %arrayidx36 = getelementptr inbounds i8*, i8** %32, i64 %idxprom35 + %34 = load i8*, i8** %arrayidx36, align 8 + %call37 = call i32 @__streq(i8* %34, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.7.36, i64 0, i64 0)) + %tobool38 = icmp ne i32 %call37, 0 + br i1 %tobool38, label %if.then39, label %if.else94 + +if.then39: ; preds = %lor.lhs.false34, %if.else + store i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.8.37, i64 0, i64 0), i8** %msg40, align 8 + %35 = load i32, i32* %k, align 4 + %add41 = add nsw i32 %35, 3 + %36 = load i32, i32* %argc, align 4 + %cmp42 = icmp sge i32 %add41, %36 + br i1 %cmp42, label %if.then44, label %if.end45 + +if.then44: ; preds = %if.then39 + %37 = load i8*, i8** %msg40, align 8 + call void @__emit_error(i8* %37) + br label %if.end45 + +if.end45: ; preds = %if.then44, %if.then39 + %38 = load i32, i32* %k, align 4 + %inc46 = add nsw i32 %38, 1 + store i32 %inc46, i32* %k, align 4 + %39 = load i8**, i8*** %argv, align 8 + %40 = load i32, i32* %k, align 4 + %inc47 = add nsw i32 %40, 1 + store i32 %inc47, i32* %k, align 4 + %idxprom48 = sext i32 %40 to i64 + %arrayidx49 = getelementptr inbounds i8*, i8** %39, i64 %idxprom48 + %41 = load i8*, i8** %arrayidx49, align 8 + %42 = load i8*, i8** %msg40, align 8 + %call50 = call i64 @__str_to_int(i8* %41, i8* %42) + %conv51 = trunc i64 %call50 to i32 + store i32 %conv51, i32* %min_argvs, align 4 + %43 = load i8**, i8*** %argv, align 8 + %44 = load i32, i32* %k, align 4 + %inc52 = add nsw i32 %44, 1 + store i32 %inc52, i32* %k, align 4 + %idxprom53 = sext i32 %44 to i64 + %arrayidx54 = getelementptr inbounds i8*, i8** %43, i64 %idxprom53 + %45 = load i8*, i8** %arrayidx54, align 8 + %46 = load i8*, i8** %msg40, align 8 + %call55 = call i64 @__str_to_int(i8* %45, i8* %46) + %conv56 = trunc i64 %call55 to i32 + store i32 %conv56, i32* %max_argvs, align 4 + %47 = load i8**, i8*** %argv, align 8 + %48 = load i32, i32* %k, align 4 + %inc57 = add nsw i32 %48, 1 + store i32 %inc57, i32* %k, align 4 + %idxprom58 = sext i32 %48 to i64 + %arrayidx59 = getelementptr inbounds i8*, i8** %47, i64 %idxprom58 + %49 = load i8*, i8** %arrayidx59, align 8 + %50 = load i8*, i8** %msg40, align 8 + %call60 = call i64 @__str_to_int(i8* %49, i8* %50) + %conv61 = trunc i64 %call60 to i32 + store i32 %conv61, i32* %max_len, align 4 + %51 = load i32, i32* %min_argvs, align 4 + %52 = load i32, i32* %max_argvs, align 4 + %cmp62 = icmp ugt i32 %51, %52 + br i1 %cmp62, label %if.then70, label %lor.lhs.false64 + +lor.lhs.false64: ; preds = %if.end45 + %53 = load i32, i32* %min_argvs, align 4 + %cmp65 = icmp eq i32 %53, 0 + %54 = load i32, i32* %max_argvs, align 4 + %cmp68 = icmp eq i32 %54, 0 + %or.cond = and i1 %cmp65, %cmp68 + br i1 %or.cond, label %if.then70, label %if.end71 + +if.then70: ; preds = %lor.lhs.false64, %if.end45 + call void @__emit_error(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.9.38, i64 0, i64 0)) + br label %if.end71 + +if.end71: ; preds = %if.then70, %lor.lhs.false64 + %55 = load i32, i32* %min_argvs, align 4 + %56 = load i32, i32* %max_argvs, align 4 + %add72 = add i32 %56, 1 + %call73 = call i32 @gs_range(i32 %55, i32 %add72, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.10.39, i64 0, i64 0)) + store i32 %call73, i32* %n_args, align 4 + %57 = load i32, i32* %sym_arg_num, align 4 + %58 = load i32, i32* %max_argvs, align 4 + %add74 = add i32 %57, %58 + %cmp75 = icmp ugt i32 %add74, 99 + br i1 %cmp75, label %if.then77, label %if.end78 + +if.then77: ; preds = %if.end71 + call void @__emit_error(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.5.34, i64 0, i64 0)) + br label %if.end78 + +if.end78: ; preds = %if.then77, %if.end71 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end78 + %59 = load i32, i32* %i, align 4 + %60 = load i32, i32* %n_args, align 4 + %cmp79 = icmp slt i32 %59, %60 + br i1 %cmp79, label %for.body, label %if.end239 + +for.body: ; preds = %for.cond + %61 = load i32, i32* %sym_arg_num, align 4 + %div81 = udiv i32 %61, 10 + %add82 = add i32 48, %div81 + %conv83 = trunc i32 %add82 to i8 + %arrayidx84 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 3 + store i8 %conv83, i8* %arrayidx84, align 1 + %62 = load i32, i32* %sym_arg_num, align 4 + %rem85 = urem i32 %62, 10 + %add86 = add i32 48, %rem85 + %conv87 = trunc i32 %add86 to i8 + %arrayidx88 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 4 + store i8 %conv87, i8* %arrayidx88, align 1 + %63 = load i32, i32* %sym_arg_num, align 4 + %inc89 = add i32 %63, 1 + store i32 %inc89, i32* %sym_arg_num, align 4 + %arraydecay90 = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %64 = load i32, i32* %max_len, align 4 + %arraydecay91 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 0 + %call92 = call i8* @__get_sym_str(i32 %64, i8* %arraydecay91) + call void @__add_arg(i32* %new_argc, i8** %arraydecay90, i8* %call92, i32 1024) + %65 = load i32, i32* %i, align 4 + %inc93 = add nsw i32 %65, 1 + store i32 %inc93, i32* %i, align 4 + br label %for.cond + +if.else94: ; preds = %lor.lhs.false34 + %66 = load i8**, i8*** %argv, align 8 + %67 = load i32, i32* %k, align 4 + %idxprom95 = sext i32 %67 to i64 + %arrayidx96 = getelementptr inbounds i8*, i8** %66, i64 %idxprom95 + %68 = load i8*, i8** %arrayidx96, align 8 + %call97 = call i32 @__streq(i8* %68, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.11.40, i64 0, i64 0)) + %tobool98 = icmp ne i32 %call97, 0 + br i1 %tobool98, label %if.then104, label %lor.lhs.false99 + +lor.lhs.false99: ; preds = %if.else94 + %69 = load i8**, i8*** %argv, align 8 + %70 = load i32, i32* %k, align 4 + %idxprom100 = sext i32 %70 to i64 + %arrayidx101 = getelementptr inbounds i8*, i8** %69, i64 %idxprom100 + %71 = load i8*, i8** %arrayidx101, align 8 + %call102 = call i32 @__streq(i8* %71, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.12.41, i64 0, i64 0)) + %tobool103 = icmp ne i32 %call102, 0 + br i1 %tobool103, label %if.then104, label %if.else134 + +if.then104: ; preds = %lor.lhs.false99, %if.else94 + store i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.13.42, i64 0, i64 0), i8** %msg105, align 8 + %72 = load i32, i32* %k, align 4 + %add106 = add nsw i32 %72, 2 + %73 = load i32, i32* %argc, align 4 + %cmp107 = icmp sge i32 %add106, %73 + br i1 %cmp107, label %if.then109, label %if.end110 + +if.then109: ; preds = %if.then104 + %74 = load i8*, i8** %msg105, align 8 + call void @__emit_error(i8* %74) + br label %if.end110 + +if.end110: ; preds = %if.then109, %if.then104 + %75 = load i32, i32* %sym_files, align 4 + %cmp111 = icmp ne i32 %75, 0 + br i1 %cmp111, label %if.then113, label %if.end114 + +if.then113: ; preds = %if.end110 + call void @__emit_error(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.14.43, i64 0, i64 0)) + br label %if.end114 + +if.end114: ; preds = %if.then113, %if.end110 + %76 = load i32, i32* %k, align 4 + %inc115 = add nsw i32 %76, 1 + store i32 %inc115, i32* %k, align 4 + %77 = load i8**, i8*** %argv, align 8 + %78 = load i32, i32* %k, align 4 + %inc116 = add nsw i32 %78, 1 + store i32 %inc116, i32* %k, align 4 + %idxprom117 = sext i32 %78 to i64 + %arrayidx118 = getelementptr inbounds i8*, i8** %77, i64 %idxprom117 + %79 = load i8*, i8** %arrayidx118, align 8 + %80 = load i8*, i8** %msg105, align 8 + %call119 = call i64 @__str_to_int(i8* %79, i8* %80) + %conv120 = trunc i64 %call119 to i32 + store i32 %conv120, i32* %sym_files, align 4 + %81 = load i8**, i8*** %argv, align 8 + %82 = load i32, i32* %k, align 4 + %inc121 = add nsw i32 %82, 1 + store i32 %inc121, i32* %k, align 4 + %idxprom122 = sext i32 %82 to i64 + %arrayidx123 = getelementptr inbounds i8*, i8** %81, i64 %idxprom122 + %83 = load i8*, i8** %arrayidx123, align 8 + %84 = load i8*, i8** %msg105, align 8 + %call124 = call i64 @__str_to_int(i8* %83, i8* %84) + %conv125 = trunc i64 %call124 to i32 + store i32 %conv125, i32* %sym_file_len, align 4 + %85 = load i32, i32* %sym_files, align 4 + %cmp126 = icmp eq i32 %85, 0 + br i1 %cmp126, label %if.then128, label %if.end129 + +if.then128: ; preds = %if.end114 + call void @__emit_error(i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.15.44, i64 0, i64 0)) + br label %if.end129 + +if.end129: ; preds = %if.then128, %if.end114 + %86 = load i32, i32* %sym_file_len, align 4 + %cmp130 = icmp eq i32 %86, 0 + br i1 %cmp130, label %if.then132, label %if.end239 + +if.then132: ; preds = %if.end129 + call void @__emit_error(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.16.45, i64 0, i64 0)) + br label %if.end239 + +if.else134: ; preds = %lor.lhs.false99 + %87 = load i8**, i8*** %argv, align 8 + %88 = load i32, i32* %k, align 4 + %idxprom135 = sext i32 %88 to i64 + %arrayidx136 = getelementptr inbounds i8*, i8** %87, i64 %idxprom135 + %89 = load i8*, i8** %arrayidx136, align 8 + %call137 = call i32 @__streq(i8* %89, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.17.46, i64 0, i64 0)) + %tobool138 = icmp ne i32 %call137, 0 + br i1 %tobool138, label %if.then144, label %lor.lhs.false139 + +lor.lhs.false139: ; preds = %if.else134 + %90 = load i8**, i8*** %argv, align 8 + %91 = load i32, i32* %k, align 4 + %idxprom140 = sext i32 %91 to i64 + %arrayidx141 = getelementptr inbounds i8*, i8** %90, i64 %idxprom140 + %92 = load i8*, i8** %arrayidx141, align 8 + %call142 = call i32 @__streq(i8* %92, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.18.47, i64 0, i64 0)) + %tobool143 = icmp ne i32 %call142, 0 + br i1 %tobool143, label %if.then144, label %if.else156 + +if.then144: ; preds = %lor.lhs.false139, %if.else134 + store i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.19.48, i64 0, i64 0), i8** %msg145, align 8 + %93 = load i32, i32* %k, align 4 + %inc146 = add nsw i32 %93, 1 + store i32 %inc146, i32* %k, align 4 + %94 = load i32, i32* %argc, align 4 + %cmp147 = icmp eq i32 %inc146, %94 + br i1 %cmp147, label %if.then149, label %if.end150 + +if.then149: ; preds = %if.then144 + %95 = load i8*, i8** %msg145, align 8 + call void @__emit_error(i8* %95) + br label %if.end150 + +if.end150: ; preds = %if.then149, %if.then144 + %96 = load i8**, i8*** %argv, align 8 + %97 = load i32, i32* %k, align 4 + %inc151 = add nsw i32 %97, 1 + store i32 %inc151, i32* %k, align 4 + %idxprom152 = sext i32 %97 to i64 + %arrayidx153 = getelementptr inbounds i8*, i8** %96, i64 %idxprom152 + %98 = load i8*, i8** %arrayidx153, align 8 + %99 = load i8*, i8** %msg145, align 8 + %call154 = call i64 @__str_to_int(i8* %98, i8* %99) + %conv155 = trunc i64 %call154 to i32 + store i32 %conv155, i32* %sym_stdin_len, align 4 + br label %if.end239 + +if.else156: ; preds = %lor.lhs.false139 + %100 = load i8**, i8*** %argv, align 8 + %101 = load i32, i32* %k, align 4 + %idxprom157 = sext i32 %101 to i64 + %arrayidx158 = getelementptr inbounds i8*, i8** %100, i64 %idxprom157 + %102 = load i8*, i8** %arrayidx158, align 8 + %call159 = call i32 @__streq(i8* %102, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.20.49, i64 0, i64 0)) + %tobool160 = icmp ne i32 %call159, 0 + br i1 %tobool160, label %if.then166, label %lor.lhs.false161 + +lor.lhs.false161: ; preds = %if.else156 + %103 = load i8**, i8*** %argv, align 8 + %104 = load i32, i32* %k, align 4 + %idxprom162 = sext i32 %104 to i64 + %arrayidx163 = getelementptr inbounds i8*, i8** %103, i64 %idxprom162 + %105 = load i8*, i8** %arrayidx163, align 8 + %call164 = call i32 @__streq(i8* %105, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.21.50, i64 0, i64 0)) + %tobool165 = icmp ne i32 %call164, 0 + br i1 %tobool165, label %if.then166, label %if.else168 + +if.then166: ; preds = %lor.lhs.false161, %if.else156 + store i32 1, i32* %sym_stdout_flag, align 4 + %106 = load i32, i32* %k, align 4 + %inc167 = add nsw i32 %106, 1 + store i32 %inc167, i32* %k, align 4 + br label %if.end239 + +if.else168: ; preds = %lor.lhs.false161 + %107 = load i8**, i8*** %argv, align 8 + %108 = load i32, i32* %k, align 4 + %idxprom169 = sext i32 %108 to i64 + %arrayidx170 = getelementptr inbounds i8*, i8** %107, i64 %idxprom169 + %109 = load i8*, i8** %arrayidx170, align 8 + %call171 = call i32 @__streq(i8* %109, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.22.51, i64 0, i64 0)) + %tobool172 = icmp ne i32 %call171, 0 + br i1 %tobool172, label %if.then178, label %lor.lhs.false173 + +lor.lhs.false173: ; preds = %if.else168 + %110 = load i8**, i8*** %argv, align 8 + %111 = load i32, i32* %k, align 4 + %idxprom174 = sext i32 %111 to i64 + %arrayidx175 = getelementptr inbounds i8*, i8** %110, i64 %idxprom174 + %112 = load i8*, i8** %arrayidx175, align 8 + %call176 = call i32 @__streq(i8* %112, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23.52, i64 0, i64 0)) + %tobool177 = icmp ne i32 %call176, 0 + br i1 %tobool177, label %if.then178, label %if.else180 + +if.then178: ; preds = %lor.lhs.false173, %if.else168 + store i32 1, i32* %save_all_writes_flag, align 4 + %113 = load i32, i32* %k, align 4 + %inc179 = add nsw i32 %113, 1 + store i32 %inc179, i32* %k, align 4 + br label %if.end239 + +if.else180: ; preds = %lor.lhs.false173 + %114 = load i8**, i8*** %argv, align 8 + %115 = load i32, i32* %k, align 4 + %idxprom181 = sext i32 %115 to i64 + %arrayidx182 = getelementptr inbounds i8*, i8** %114, i64 %idxprom181 + %116 = load i8*, i8** %arrayidx182, align 8 + %call183 = call i32 @__streq(i8* %116, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.24.53, i64 0, i64 0)) + %tobool184 = icmp ne i32 %call183, 0 + br i1 %tobool184, label %if.then190, label %lor.lhs.false185 + +lor.lhs.false185: ; preds = %if.else180 + %117 = load i8**, i8*** %argv, align 8 + %118 = load i32, i32* %k, align 4 + %idxprom186 = sext i32 %118 to i64 + %arrayidx187 = getelementptr inbounds i8*, i8** %117, i64 %idxprom186 + %119 = load i8*, i8** %arrayidx187, align 8 + %call188 = call i32 @__streq(i8* %119, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.25.54, i64 0, i64 0)) + %tobool189 = icmp ne i32 %call188, 0 + br i1 %tobool189, label %if.then190, label %if.else192 + +if.then190: ; preds = %lor.lhs.false185, %if.else180 + store i32 1, i32* %fd_fail, align 4 + %120 = load i32, i32* %k, align 4 + %inc191 = add nsw i32 %120, 1 + store i32 %inc191, i32* %k, align 4 + br label %if.end239 + +if.else192: ; preds = %lor.lhs.false185 + %121 = load i8**, i8*** %argv, align 8 + %122 = load i32, i32* %k, align 4 + %idxprom193 = sext i32 %122 to i64 + %arrayidx194 = getelementptr inbounds i8*, i8** %121, i64 %idxprom193 + %123 = load i8*, i8** %arrayidx194, align 8 + %call195 = call i32 @__streq(i8* %123, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.26.55, i64 0, i64 0)) + %tobool196 = icmp ne i32 %call195, 0 + br i1 %tobool196, label %if.then202, label %lor.lhs.false197 + +lor.lhs.false197: ; preds = %if.else192 + %124 = load i8**, i8*** %argv, align 8 + %125 = load i32, i32* %k, align 4 + %idxprom198 = sext i32 %125 to i64 + %arrayidx199 = getelementptr inbounds i8*, i8** %124, i64 %idxprom198 + %126 = load i8*, i8** %arrayidx199, align 8 + %call200 = call i32 @__streq(i8* %126, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.27.56, i64 0, i64 0)) + %tobool201 = icmp ne i32 %call200, 0 + br i1 %tobool201, label %if.then202, label %if.else204 + +if.then202: ; preds = %lor.lhs.false197, %if.else192 + %127 = load i32, i32* %k, align 4 + %add203 = add nsw i32 %127, 2 + store i32 %add203, i32* %k, align 4 + br label %if.end239 + +if.else204: ; preds = %lor.lhs.false197 + %128 = load i8**, i8*** %argv, align 8 + %129 = load i32, i32* %k, align 4 + %idxprom205 = sext i32 %129 to i64 + %arrayidx206 = getelementptr inbounds i8*, i8** %128, i64 %idxprom205 + %130 = load i8*, i8** %arrayidx206, align 8 + %call207 = call i32 @__streq(i8* %130, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.28.57, i64 0, i64 0)) + %tobool208 = icmp ne i32 %call207, 0 + br i1 %tobool208, label %if.then214, label %lor.lhs.false209 + +lor.lhs.false209: ; preds = %if.else204 + %131 = load i8**, i8*** %argv, align 8 + %132 = load i32, i32* %k, align 4 + %idxprom210 = sext i32 %132 to i64 + %arrayidx211 = getelementptr inbounds i8*, i8** %131, i64 %idxprom210 + %133 = load i8*, i8** %arrayidx211, align 8 + %call212 = call i32 @__streq(i8* %133, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.29.58, i64 0, i64 0)) + %tobool213 = icmp ne i32 %call212, 0 + br i1 %tobool213, label %if.then214, label %if.else226 + +if.then214: ; preds = %lor.lhs.false209, %if.else204 + store i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.30, i64 0, i64 0), i8** %msg215, align 8 + %134 = load i32, i32* %k, align 4 + %inc216 = add nsw i32 %134, 1 + store i32 %inc216, i32* %k, align 4 + %135 = load i32, i32* %argc, align 4 + %cmp217 = icmp eq i32 %inc216, %135 + br i1 %cmp217, label %if.then219, label %if.end220 + +if.then219: ; preds = %if.then214 + %136 = load i8*, i8** %msg215, align 8 + call void @__emit_error(i8* %136) + br label %if.end220 + +if.end220: ; preds = %if.then219, %if.then214 + %137 = load i8**, i8*** %argv, align 8 + %138 = load i32, i32* %k, align 4 + %inc221 = add nsw i32 %138, 1 + store i32 %inc221, i32* %k, align 4 + %idxprom222 = sext i32 %138 to i64 + %arrayidx223 = getelementptr inbounds i8*, i8** %137, i64 %idxprom222 + %139 = load i8*, i8** %arrayidx223, align 8 + %140 = load i8*, i8** %msg215, align 8 + %call224 = call i64 @__str_to_int(i8* %139, i8* %140) + %conv225 = trunc i64 %call224 to i32 + store i32 %conv225, i32* %fd_fail, align 4 + br label %if.end239 + +if.else226: ; preds = %lor.lhs.false209 + %arraydecay227 = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %141 = load i8**, i8*** %argv, align 8 + %142 = load i32, i32* %k, align 4 + %inc228 = add nsw i32 %142, 1 + store i32 %inc228, i32* %k, align 4 + %idxprom229 = sext i32 %142 to i64 + %arrayidx230 = getelementptr inbounds i8*, i8** %141, i64 %idxprom229 + %143 = load i8*, i8** %arrayidx230, align 8 + call void @__add_arg(i32* %new_argc, i8** %arraydecay227, i8* %143, i32 1024) + br label %if.end239 + +if.end239: ; preds = %for.cond, %if.end150, %if.then178, %if.then202, %if.else226, %if.end220, %if.then190, %if.then166, %if.end129, %if.then132, %if.end21 + br label %while.cond + +while.end: ; preds = %while.cond + %144 = load i32, i32* %new_argc, align 4 + %add240 = add nsw i32 %144, 1 + %conv241 = sext i32 %add240 to i64 + %mul = mul i64 %conv241, 8 + %call242 = call noalias i8* @malloc(i64 %mul) #11 + %145 = bitcast i8* %call242 to i8** + store i8** %145, i8*** %final_argv, align 8 + %146 = load i8**, i8*** %final_argv, align 8 + %tobool243 = icmp ne i8** %146, null + br i1 %tobool243, label %if.end245, label %if.then244 + +if.then244: ; preds = %while.end + call void @__emit_error(i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.31, i64 0, i64 0)) + br label %if.end245 + +if.end245: ; preds = %if.then244, %while.end + %147 = load i8**, i8*** %final_argv, align 8 + %148 = bitcast i8** %147 to i8* + %arraydecay246 = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %149 = bitcast i8** %arraydecay246 to i8* + %150 = load i32, i32* %new_argc, align 4 + %conv247 = sext i32 %150 to i64 + %mul248 = mul i64 %conv247, 8 + %151 = call i8* @memcpy(i8* %148, i8* %149, i64 %mul248) + %152 = load i8**, i8*** %final_argv, align 8 + %153 = load i32, i32* %new_argc, align 4 + %idxprom249 = sext i32 %153 to i64 + %arrayidx250 = getelementptr inbounds i8*, i8** %152, i64 %idxprom249 + store i8* null, i8** %arrayidx250, align 8 + %154 = load i32, i32* %new_argc, align 4 + %155 = load i32*, i32** %argcPtr.addr, align 8 + store i32 %154, i32* %155, align 4 + %156 = load i8**, i8*** %final_argv, align 8 + %157 = load i8***, i8**** %argvPtr.addr, align 8 + store i8** %156, i8*** %157, align 8 + %158 = load i32, i32* %sym_files, align 4 + %159 = load i32, i32* %sym_file_len, align 4 + %160 = load i32, i32* %sym_stdin_len, align 4 + %161 = load i32, i32* %sym_stdout_flag, align 4 + %162 = load i32, i32* %save_all_writes_flag, align 4 + %163 = load i32, i32* %fd_fail, align 4 + call void @klee_init_fds(i32 %158, i32 %159, i32 %160, i32 %161, i32 %162, i32 %163) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__streq(i8* %a, i8* %b) #3 { +entry: + %retval = alloca i32, align 4 + %a.addr = alloca i8*, align 8 + %b.addr = alloca i8*, align 8 + store i8* %a, i8** %a.addr, align 8 + store i8* %b, i8** %b.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %0 = load i8*, i8** %a.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %2 = load i8*, i8** %b.addr, align 8 + %3 = load i8, i8* %2, align 1 + %conv1 = sext i8 %3 to i32 + %cmp = icmp eq i32 %conv, %conv1 + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i8*, i8** %a.addr, align 8 + %5 = load i8, i8* %4, align 1 + %tobool = icmp ne i8 %5, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %while.body + store i32 1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %while.body + %6 = load i8*, i8** %a.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %a.addr, align 8 + %7 = load i8*, i8** %b.addr, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %7, i32 1 + store i8* %incdec.ptr3, i8** %b.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %while.end, %if.then + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__emit_error(i8* %msg) #3 { +entry: + %msg.addr = alloca i8*, align 8 + store i8* %msg, i8** %msg.addr, align 8 + %0 = load i8*, i8** %msg.addr, align 8 + call void @gs_report_error.59(i8* getelementptr inbounds ([88 x i8], [88 x i8]* @.str.32, i64 0, i64 0), i32 21, i8* %0, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.33, i64 0, i64 0)) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @__str_to_int(i8* %s, i8* %error_msg) #3 { +entry: + %s.addr = alloca i8*, align 8 + %error_msg.addr = alloca i8*, align 8 + %res = alloca i64, align 8 + %c = alloca i8, align 1 + store i8* %s, i8** %s.addr, align 8 + store i8* %error_msg, i8** %error_msg.addr, align 8 + store i64 0, i64* %res, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i8, i8* %0, align 1 + %tobool = icmp ne i8 %1, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %2 = load i8*, i8** %error_msg.addr, align 8 + call void @__emit_error(i8* %2) + br label %if.end + +if.end: ; preds = %if.then, %entry + br label %while.cond + +while.cond: ; preds = %if.end9, %if.end + %3 = load i8*, i8** %s.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %s.addr, align 8 + %4 = load i8, i8* %3, align 1 + store i8 %4, i8* %c, align 1 + %tobool1 = icmp ne i8 %4, 0 + br i1 %tobool1, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %5 = load i8, i8* %c, align 1 + %conv = sext i8 %5 to i32 + %cmp = icmp sge i32 %conv, 48 + br i1 %cmp, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %while.body + %6 = load i8, i8* %c, align 1 + %conv3 = sext i8 %6 to i32 + %cmp4 = icmp sle i32 %conv3, 57 + br i1 %cmp4, label %if.then6, label %if.else + +if.then6: ; preds = %land.lhs.true + %7 = load i64, i64* %res, align 8 + %mul = mul nsw i64 %7, 10 + %8 = load i8, i8* %c, align 1 + %conv7 = sext i8 %8 to i32 + %sub = sub nsw i32 %conv7, 48 + %conv8 = sext i32 %sub to i64 + %add = add nsw i64 %mul, %conv8 + store i64 %add, i64* %res, align 8 + br label %if.end9 + +if.else: ; preds = %land.lhs.true, %while.body + %9 = load i8*, i8** %error_msg.addr, align 8 + call void @__emit_error(i8* %9) + br label %if.end9 + +if.end9: ; preds = %if.else, %if.then6 + br label %while.cond + +while.end: ; preds = %while.cond + %10 = load i64, i64* %res, align 8 + ret i64 %10 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @__get_sym_str(i32 %numChars, i8* %name) #3 { +entry: + %numChars.addr = alloca i32, align 4 + %name.addr = alloca i8*, align 8 + %i = alloca i32, align 4 + %s = alloca i8*, align 8 + store i32 %numChars, i32* %numChars.addr, align 4 + store i8* %name, i8** %name.addr, align 8 + %0 = load i32, i32* %numChars.addr, align 4 + %add = add nsw i32 %0, 1 + %conv = sext i32 %add to i64 + %call = call noalias i8* @malloc(i64 %conv) #11 + store i8* %call, i8** %s, align 8 + %1 = load i8*, i8** %s, align 8 + %tobool = icmp ne i8* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @__emit_error(i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.31, i64 0, i64 0)) + br label %if.end + +if.end: ; preds = %if.then, %entry + %2 = load i8*, i8** %s, align 8 + %3 = load i32, i32* %numChars.addr, align 4 + %add1 = add nsw i32 %3, 1 + %conv2 = sext i32 %add1 to i64 + %4 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %2, i64 %conv2, i8* %4) + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %5 = load i32, i32* %i, align 4 + %6 = load i32, i32* %numChars.addr, align 4 + %cmp = icmp slt i32 %5, %6 + %7 = load i8*, i8** %s, align 8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %8 = load i8*, i8** %s, align 8 + %9 = load i32, i32* %i, align 4 + %idxprom = sext i32 %9 to i64 + %arrayidx = getelementptr inbounds i8, i8* %8, i64 %idxprom + %10 = load i8, i8* %arrayidx, align 1 + %call4 = call i32 @__isprint(i8 signext %10) + %tobool5 = icmp ne i32 %call4, 0 + call void @gs_posix_prefer_cex(i8* %7, i1 zeroext %tobool5) + %11 = load i32, i32* %i, align 4 + %inc = add nsw i32 %11, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %12 = load i32, i32* %numChars.addr, align 4 + %idxprom6 = sext i32 %12 to i64 + %arrayidx7 = getelementptr inbounds i8, i8* %7, i64 %idxprom6 + store i8 0, i8* %arrayidx7, align 1 + %13 = load i8*, i8** %s, align 8 + ret i8* %13 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__add_arg(i32* %argc, i8** %argv, i8* %arg, i32 %argcMax) #3 { +entry: + %argc.addr = alloca i32*, align 8 + %argv.addr = alloca i8**, align 8 + %arg.addr = alloca i8*, align 8 + %argcMax.addr = alloca i32, align 4 + store i32* %argc, i32** %argc.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i32 %argcMax, i32* %argcMax.addr, align 4 + %0 = load i32*, i32** %argc.addr, align 8 + %1 = load i32, i32* %0, align 4 + %2 = load i32, i32* %argcMax.addr, align 4 + %cmp = icmp eq i32 %1, %2 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + call void @__emit_error(i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.35, i64 0, i64 0)) + br label %if.end + +if.else: ; preds = %entry + %3 = load i8*, i8** %arg.addr, align 8 + %4 = load i8**, i8*** %argv.addr, align 8 + %5 = load i32*, i32** %argc.addr, align 8 + %6 = load i32, i32* %5, align 4 + %idxprom = sext i32 %6 to i64 + %arrayidx = getelementptr inbounds i8*, i8** %4, i64 %idxprom + store i8* %3, i8** %arrayidx, align 8 + %7 = load i32*, i32** %argc.addr, align 8 + %8 = load i32, i32* %7, align 4 + %inc = add nsw i32 %8, 1 + store i32 %inc, i32* %7, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @gs_range(i32 %begin, i32 %end, i8* %name) #3 { +entry: + %begin.addr = alloca i32, align 4 + %end.addr = alloca i32, align 4 + %name.addr = alloca i8*, align 8 + %x = alloca i32, align 4 + store i32 %begin, i32* %begin.addr, align 4 + store i32 %end, i32* %end.addr, align 4 + store i8* %name, i8** %name.addr, align 8 + %0 = bitcast i32* %x to i8* + %1 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %0, i64 4, i8* %1) + %2 = load i32, i32* %x, align 4 + %3 = load i32, i32* %begin.addr, align 4 + %cmp = icmp sge i32 %2, %3 + call void @gs_assume(i1 zeroext %cmp) + %4 = load i32, i32* %x, align 4 + %5 = load i32, i32* %end.addr, align 4 + %cmp1 = icmp slt i32 %4, %5 + call void @gs_assume(i1 zeroext %cmp1) + %6 = load i32, i32* %x, align 4 + ret i32 %6 +} + +declare dso_local void @make_symbolic(i8*, i64, ...) #5 + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__isprint(i8 signext %c) #3 { +entry: + %c.addr = alloca i8, align 1 + store i8 %c, i8* %c.addr, align 1 + %0 = load i8, i8* %c.addr, align 1 + %conv = sext i8 %0 to i32 + %cmp = icmp sle i32 32, %conv + %conv1 = zext i1 %cmp to i32 + %1 = load i8, i8* %c.addr, align 1 + %conv2 = sext i8 %1 to i32 + %cmp3 = icmp sle i32 %conv2, 126 + %conv4 = zext i1 %cmp3 to i32 + %and = and i32 %conv1, %conv4 + ret i32 %and +} + +declare dso_local void @gs_posix_prefer_cex(i8*, i1 zeroext) #5 + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error.59(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.34, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__user_main(i32 %argcPtr, i8** %argvPtr, i8** %envp) #3 { +entry: + %argcPtr.addr = alloca i32, align 4 + %argvPtr.addr = alloca i8**, align 8 + %envp.addr = alloca i8**, align 8 + store i32 %argcPtr, i32* %argcPtr.addr, align 4 + store i8** %argvPtr, i8*** %argvPtr.addr, align 8 + store i8** %envp, i8*** %envp.addr, align 8 + call void @klee_init_env(i32* %argcPtr.addr, i8*** %argvPtr.addr) + %0 = load i32, i32* %argcPtr.addr, align 4 + %1 = load i8**, i8*** %argvPtr.addr, align 8 + %2 = load i8**, i8*** %envp.addr, align 8 + %call = call i32 bitcast (i32 (i32, i8**)* @__klee_posix_wrapped_main to i32 (i32, i8**, i8**)*)(i32 %0, i8** %1, i8** %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind readnone uwtable +declare i32* @__errno_location() #12 + +; Function Attrs: noinline nounwind readnone uwtable +define weak i32* @__h_errno_location() #12 { +entry: + ret i32* @h_errno +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @___path_search(i8* %tmpl, i64 %tmpl_len, i8* %dir, i8* %pfx) #0 { +entry: + %retval = alloca i32, align 4 + %tmpl.addr = alloca i8*, align 8 + %tmpl_len.addr = alloca i64, align 8 + %dir.addr = alloca i8*, align 8 + %pfx.addr = alloca i8*, align 8 + %dlen = alloca i64, align 8 + %plen = alloca i64, align 8 + store i8* %tmpl, i8** %tmpl.addr, align 8 + store i64 %tmpl_len, i64* %tmpl_len.addr, align 8 + store i8* %dir, i8** %dir.addr, align 8 + store i8* %pfx, i8** %pfx.addr, align 8 + %0 = load i8*, i8** %pfx.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %lor.lhs.false, label %if.then + +lor.lhs.false: ; preds = %entry + %1 = load i8*, i8** %pfx.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %tobool1 = icmp ne i8 %2, 0 + br i1 %tobool1, label %if.else, label %if.then + +if.then: ; preds = %lor.lhs.false, %entry + store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.68, i64 0, i64 0), i8** %pfx.addr, align 8 + store i64 4, i64* %plen, align 8 + br label %if.end3 + +if.else: ; preds = %lor.lhs.false + %3 = load i8*, i8** %pfx.addr, align 8 + %call = call i64 @strlen(i8* %3) #20 + store i64 %call, i64* %plen, align 8 + %4 = load i64, i64* %plen, align 8 + %cmp = icmp ugt i64 %4, 5 + %spec.store.select = select i1 %cmp, i64 5, i64 %call + store i64 %spec.store.select, i64* %plen, align 8 + br label %if.end3 + +if.end3: ; preds = %if.else, %if.then + %5 = load i8*, i8** %dir.addr, align 8 + %cmp4 = icmp eq i8* %5, null + br i1 %cmp4, label %if.then5, label %if.end18 + +if.then5: ; preds = %if.end3 + %call6 = call i32 @direxists(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0)) #18 + %tobool7 = icmp ne i32 %call6, 0 + br i1 %tobool7, label %if.then8, label %if.else9 + +if.then8: ; preds = %if.then5 + store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0), i8** %dir.addr, align 8 + br label %if.end18 + +if.else9: ; preds = %if.then5 + %call10 = call i32 @strcmp(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0)) #20 + %cmp11 = icmp ne i32 %call10, 0 + br i1 %cmp11, label %land.lhs.true, label %if.else15 + +land.lhs.true: ; preds = %if.else9 + %call12 = call i32 @direxists(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0)) #18 + %tobool13 = icmp ne i32 %call12, 0 + br i1 %tobool13, label %if.then14, label %if.else15 + +if.then14: ; preds = %land.lhs.true + store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0), i8** %dir.addr, align 8 + br label %if.end18 + +if.else15: ; preds = %land.lhs.true, %if.else9 + store i32 2, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %if.then8, %if.then14, %if.end3 + %6 = load i8*, i8** %dir.addr, align 8 + %call19 = call i64 @strlen(i8* %6) #20 + store i64 %call19, i64* %dlen, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end18 + %7 = load i64, i64* %dlen, align 8 + %cmp20 = icmp ugt i64 %7, 1 + br i1 %cmp20, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %8 = load i8*, i8** %dir.addr, align 8 + %9 = load i64, i64* %dlen, align 8 + %sub = sub i64 %9, 1 + %arrayidx21 = getelementptr inbounds i8, i8* %8, i64 %sub + %10 = load i8, i8* %arrayidx21, align 1 + %conv = sext i8 %10 to i32 + %cmp22 = icmp eq i32 %conv, 47 + br i1 %cmp22, label %while.body, label %while.end + +while.body: ; preds = %land.rhs + %11 = load i64, i64* %dlen, align 8 + %dec = add i64 %11, -1 + store i64 %dec, i64* %dlen, align 8 + br label %while.cond + +while.end: ; preds = %while.cond, %land.rhs + %12 = load i64, i64* %tmpl_len.addr, align 8 + %13 = load i64, i64* %dlen, align 8 + %add = add i64 %13, 1 + %14 = load i64, i64* %plen, align 8 + %add24 = add i64 %add, %14 + %add25 = add i64 %add24, 6 + %add26 = add i64 %add25, 1 + %cmp27 = icmp ult i64 %12, %add26 + br i1 %cmp27, label %if.then29, label %if.end30 + +if.then29: ; preds = %while.end + store i32 22, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end30: ; preds = %while.end + %15 = load i8*, i8** %tmpl.addr, align 8 + %16 = load i64, i64* %dlen, align 8 + %17 = load i8*, i8** %dir.addr, align 8 + %18 = load i64, i64* %plen, align 8 + %19 = load i8*, i8** %pfx.addr, align 8 + %call31 = call i32 (i8*, i8*, ...) @sprintf(i8* %15, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.2.70, i64 0, i64 0), i64 %16, i8* %17, i64 %18, i8* %19) #19 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end30, %if.then29, %if.else15 + %20 = load i32, i32* %retval, align 4 + ret i32 %20 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @direxists(i8* %dir) #0 { +entry: + %dir.addr = alloca i8*, align 8 + %buf = alloca %struct.stat.192, align 8 + store i8* %dir, i8** %dir.addr, align 8 + %0 = load i8*, i8** %dir.addr, align 8 + %call = call i32 bitcast (i32 (i8*, %struct.stat64*)* @stat to i32 (i8*, %struct.stat.192*)*)(i8* %0, %struct.stat.192* %buf) #19 + %cmp = icmp eq i32 %call, 0 + %st_mode = getelementptr inbounds %struct.stat.192, %struct.stat.192* %buf, i32 0, i32 3 + %1 = load i32, i32* %st_mode, align 8 + %and = and i32 %1, 61440 + %cmp1 = icmp eq i32 %and, 16384 + %2 = select i1 %cmp, i1 %cmp1, i1 false + %land.ext = zext i1 %2 to i32 + ret i32 %land.ext +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__gen_tempname(i8* %tmpl, i32 %kind) #0 { +entry: + %retval = alloca i32, align 4 + %tmpl.addr = alloca i8*, align 8 + %kind.addr = alloca i32, align 4 + %XXXXXX = alloca i8*, align 8 + %i = alloca i32, align 4 + %fd = alloca i32, align 4 + %save_errno = alloca i32, align 4 + %randomness = alloca [6 x i8], align 1 + %len = alloca i64, align 8 + %j = alloca i32, align 4 + %st = alloca %struct.stat.192, align 8 + store i8* %tmpl, i8** %tmpl.addr, align 8 + store i32 %kind, i32* %kind.addr, align 4 + %0 = load i32, i32* @errno, align 4 + store i32 %0, i32* %save_errno, align 4 + %1 = load i8*, i8** %tmpl.addr, align 8 + %call = call i64 @strlen(i8* %1) #20 + store i64 %call, i64* %len, align 8 + %2 = load i8*, i8** %tmpl.addr, align 8 + %3 = load i64, i64* %len, align 8 + %add.ptr = getelementptr inbounds i8, i8* %2, i64 %3 + %add.ptr1 = getelementptr inbounds i8, i8* %add.ptr, i64 -6 + store i8* %add.ptr1, i8** %XXXXXX, align 8 + %4 = load i64, i64* %len, align 8 + %cmp = icmp ult i64 %4, 6 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %5 = load i8*, i8** %XXXXXX, align 8 + %call2 = call i32 @strcmp(i8* %5, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.3.73, i64 0, i64 0)) #20 + %tobool = icmp ne i32 %call2, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %lor.lhs.false, %entry + store i32 22, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %lor.lhs.false + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc44, %if.end + %6 = load i32, i32* %i, align 4 + %cmp3 = icmp ult i32 %6, 238328 + br i1 %cmp3, label %for.body, label %for.end46 + +for.body: ; preds = %for.cond + %arraydecay = getelementptr inbounds [6 x i8], [6 x i8]* %randomness, i64 0, i64 0 + %call4 = call i32 @fillrand(i8* %arraydecay, i32 6) #18 + %conv = zext i32 %call4 to i64 + %cmp5 = icmp ne i64 %conv, 6 + br i1 %cmp5, label %if.then7, label %if.end9 + +if.then7: ; preds = %for.body + %arraydecay8 = getelementptr inbounds [6 x i8], [6 x i8]* %randomness, i64 0, i64 0 + call void @brain_damaged_fillrand(i8* %arraydecay8, i32 6) #18 + br label %if.end9 + +if.end9: ; preds = %if.then7, %for.body + store i32 0, i32* %j, align 4 + br label %for.cond10 + +for.cond10: ; preds = %for.body14, %if.end9 + %7 = load i32, i32* %j, align 4 + %conv11 = sext i32 %7 to i64 + %cmp12 = icmp ult i64 %conv11, 6 + br i1 %cmp12, label %for.body14, label %for.end + +for.body14: ; preds = %for.cond10 + %8 = load i32, i32* %j, align 4 + %idxprom = sext i32 %8 to i64 + %arrayidx = getelementptr inbounds [6 x i8], [6 x i8]* %randomness, i64 0, i64 %idxprom + %9 = load i8, i8* %arrayidx, align 1 + %conv15 = zext i8 %9 to i32 + %rem = srem i32 %conv15, 62 + %idxprom16 = sext i32 %rem to i64 + %arrayidx17 = getelementptr inbounds [63 x i8], [63 x i8]* @letters, i64 0, i64 %idxprom16 + %10 = load i8, i8* %arrayidx17, align 1 + %11 = load i8*, i8** %XXXXXX, align 8 + %12 = load i32, i32* %j, align 4 + %idxprom18 = sext i32 %12 to i64 + %arrayidx19 = getelementptr inbounds i8, i8* %11, i64 %idxprom18 + store i8 %10, i8* %arrayidx19, align 1 + %13 = load i32, i32* %j, align 4 + %inc = add nsw i32 %13, 1 + store i32 %inc, i32* %j, align 4 + br label %for.cond10 + +for.end: ; preds = %for.cond10 + %14 = load i32, i32* %kind.addr, align 4 + br label %NodeBlock5 + +NodeBlock5: ; preds = %for.end + %case.cmp6 = icmp eq i32 %14, 3 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %14, 0 + br i1 %case.cmp4, label %sw.bb29, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %14, 1 + br i1 %case.cmp2, label %sw.bb31, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %14, 2 + br i1 %case.cmp, label %sw.bb33, label %newDefault + +sw.bb: ; preds = %NodeBlock5 + %15 = load i8*, i8** %tmpl.addr, align 8 + %call20 = call i32 bitcast (i32 (i8*, %struct.stat64*)* @stat to i32 (i8*, %struct.stat.192*)*)(i8* %15, %struct.stat.192* %st) #19 + %cmp21 = icmp slt i32 %call20, 0 + br i1 %cmp21, label %if.then23, label %if.else27 + +if.then23: ; preds = %sw.bb + %16 = load i32, i32* @errno, align 4 + %cmp24 = icmp eq i32 %16, 2 + br i1 %cmp24, label %if.then26, label %if.else + +if.then26: ; preds = %if.then23 + store i32 0, i32* %fd, align 4 + br label %restore_and_ret + +if.else: ; preds = %if.then23 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else27: ; preds = %sw.bb + store i32 0, i32* %fd, align 4 + br label %sw.bb29 + +sw.bb29: ; preds = %NodeBlock3, %if.else27 + %17 = load i8*, i8** %tmpl.addr, align 8 + %call30 = call i32 (i8*, i32, ...) @open(i8* %17, i32 194, i32 384) #18 + store i32 %call30, i32* %fd, align 4 + br label %sw.epilog + +sw.bb31: ; preds = %NodeBlock1 + %18 = load i8*, i8** %tmpl.addr, align 8 + %call32 = call i32 (i8*, i32, ...) @open64(i8* %18, i32 194, i32 384) #18 + store i32 %call32, i32* %fd, align 4 + br label %sw.epilog + +sw.bb33: ; preds = %NodeBlock + %19 = load i8*, i8** %tmpl.addr, align 8 + %call34 = call i32 @mkdir(i8* %19, i32 448) #19 + store i32 %call34, i32* %fd, align 4 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i32 -1, i32* %fd, align 4 + br label %sw.epilog + +sw.epilog: ; preds = %sw.default, %sw.bb33, %sw.bb31, %sw.bb29 + %20 = load i32, i32* %fd, align 4 + %cmp35 = icmp sge i32 %20, 0 + br i1 %cmp35, label %restore_and_ret, label %if.else38 + +restore_and_ret: ; preds = %sw.epilog, %if.then26 + %21 = load i32, i32* %save_errno, align 4 + store i32 %21, i32* @errno, align 4 + %22 = load i32, i32* %fd, align 4 + store i32 %22, i32* %retval, align 4 + br label %return + +if.else38: ; preds = %sw.epilog + %23 = load i32, i32* @errno, align 4 + %cmp39 = icmp ne i32 %23, 17 + br i1 %cmp39, label %if.then41, label %for.inc44 + +if.then41: ; preds = %if.else38 + store i32 -1, i32* %retval, align 4 + br label %return + +for.inc44: ; preds = %if.else38 + %24 = load i32, i32* %i, align 4 + %inc45 = add i32 %24, 1 + store i32 %inc45, i32* %i, align 4 + br label %for.cond + +for.end46: ; preds = %for.cond + store i32 17, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %for.end46, %if.then41, %restore_and_ret, %if.else, %if.then + %25 = load i32, i32* %retval, align 4 + ret i32 %25 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @fillrand(i8* %buf, i32 %len) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %len.addr = alloca i32, align 4 + %fd = alloca i32, align 4 + %result = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i32 %len, i32* %len.addr, align 4 + store i32 -1, i32* %result, align 4 + %call = call i32 (i8*, i32, ...) @open(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.4.74, i64 0, i64 0), i32 0) #18 + store i32 %call, i32* %fd, align 4 + %0 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %0, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call1 = call i32 (i8*, i32, ...) @open(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.5.75, i64 0, i64 0), i32 2048) #18 + store i32 %call1, i32* %fd, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i32, i32* %fd, align 4 + %cmp2 = icmp sge i32 %1, 0 + br i1 %cmp2, label %if.then3, label %if.end7 + +if.then3: ; preds = %if.end + %2 = load i32, i32* %fd, align 4 + %3 = load i8*, i8** %buf.addr, align 8 + %4 = load i32, i32* %len.addr, align 4 + %conv = zext i32 %4 to i64 + %call4 = call i64 @read(i32 %2, i8* %3, i64 %conv) #18 + %conv5 = trunc i64 %call4 to i32 + store i32 %conv5, i32* %result, align 4 + %5 = load i32, i32* %fd, align 4 + %call6 = call i32 @close(i32 %5) #18 + br label %if.end7 + +if.end7: ; preds = %if.then3, %if.end + %6 = load i32, i32* %result, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @brain_damaged_fillrand(i8* %buf, i32 %len) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %len.addr = alloca i32, align 4 + %i = alloca i32, align 4 + %k = alloca i32, align 4 + %tv = alloca %struct.timespec, align 8 + %high = alloca i32, align 4 + %low = alloca i32, align 4 + %rh = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i32 %len, i32* %len.addr, align 4 + %call = call i32 bitcast (i32 (%struct.timespec*, i8*)* @gettimeofday to i32 (%struct.timespec*, %struct.__mbstate_t.512*)*)(%struct.timespec* %tv, %struct.__mbstate_t.512* null) #19 + %tv_usec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 1 + %0 = load i64, i64* %tv_usec, align 8 + %shl = shl i64 %0, 16 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %1 = load i64, i64* %tv_sec, align 8 + %xor = xor i64 %shl, %1 + %call1 = call i32 @getpid() #19 + %conv = sext i32 %call1 to i64 + %xor2 = xor i64 %xor, %conv + %2 = load i64, i64* @brain_damaged_fillrand.value, align 8 + %add = add i64 %2, %xor2 + store i64 %add, i64* @brain_damaged_fillrand.value, align 8 + %3 = load i64, i64* @brain_damaged_fillrand.value, align 8 + %and = and i64 %3, 4294967295 + %conv3 = trunc i64 %and to i32 + store i32 %conv3, i32* %low, align 4 + %4 = load i64, i64* @brain_damaged_fillrand.value, align 8 + %shr = lshr i64 %4, 32 + %conv4 = trunc i64 %shr to i32 + store i32 %conv4, i32* %high, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %5 = load i32, i32* %i, align 4 + %6 = load i32, i32* %len.addr, align 4 + %cmp = icmp ult i32 %5, %6 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %7 = load i32, i32* %high, align 4 + %rem = urem i32 %7, 62 + store i32 %rem, i32* %rh, align 4 + %8 = load i32, i32* %high, align 4 + %div = udiv i32 %8, 62 + store i32 %div, i32* %high, align 4 + %9 = load i32, i32* %low, align 4 + %rem6 = urem i32 %9, 62 + %10 = load i32, i32* %rh, align 4 + %mul = mul i32 4, %10 + %add7 = add i32 %rem6, %mul + store i32 %add7, i32* %k, align 4 + %11 = load i32, i32* %low, align 4 + %div8 = udiv i32 %11, 62 + %12 = load i32, i32* %rh, align 4 + %mul9 = mul i32 69273666, %12 + %add10 = add i32 %div8, %mul9 + %13 = load i32, i32* %k, align 4 + %div11 = udiv i32 %13, 62 + %add12 = add i32 %add10, %div11 + store i32 %add12, i32* %low, align 4 + %14 = load i32, i32* %k, align 4 + %rem13 = urem i32 %14, 62 + store i32 %rem13, i32* %k, align 4 + %15 = load i32, i32* %k, align 4 + %idxprom = zext i32 %15 to i64 + %arrayidx = getelementptr inbounds [63 x i8], [63 x i8]* @letters, i64 0, i64 %idxprom + %16 = load i8, i8* %arrayidx, align 1 + %17 = load i8*, i8** %buf.addr, align 8 + %18 = load i32, i32* %i, align 4 + %idxprom14 = zext i32 %18 to i64 + %arrayidx15 = getelementptr inbounds i8, i8* %17, i64 %idxprom14 + store i8 %16, i8* %arrayidx15, align 1 + %19 = load i32, i32* %i, align 4 + %inc = add i32 %19, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + ret void +} + +; Function Attrs: nounwind +declare i32 @getpid() #2 + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_locale_set_l(i8* %p, %struct.__uclibc_locale_struct.201* %base) #0 { +entry: + %retval = alloca i32, align 4 + %p.addr = alloca i8*, align 8 + %base.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %x = alloca i8**, align 8 + %s = alloca i8*, align 8 + %stp = alloca i64*, align 8 + %r = alloca i8*, align 8 + %io = alloca i16*, align 8 + %ii = alloca i16*, align 8 + %d = alloca i8*, align 8 + %row = alloca i32, align 4 + %crow = alloca i32, align 4 + %len = alloca i32, align 4 + %c = alloca i32, align 4 + %i = alloca i32, align 4 + %newcol = alloca %struct.__collate_t.200, align 8 + %c8b = alloca %struct.__codeset_8_bit_t.202*, align 8 + %u = alloca i32, align 4 + %m = alloca i16, align 2 + store i8* %p, i8** %p.addr, align 8 + store %struct.__uclibc_locale_struct.201* %base, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 6 + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 1 + store i8* %add.ptr, i8** %s, align 8 + store i32 0, i32* %i, align 4 + %1 = load i8*, i8** %p.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %1, i32 1 + store i8* %incdec.ptr, i8** %p.addr, align 8 + %index2weight = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %newcol, i32 0, i32 23 + store i16* null, i16** %index2weight, align 8 + %2 = load i8*, i8** %p.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %2, i64 8 + %3 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %3 to i32 + %4 = load i8*, i8** %s, align 8 + %arrayidx1 = getelementptr inbounds i8, i8* %4, i64 8 + %5 = load i8, i8* %arrayidx1, align 1 + %conv2 = zext i8 %5 to i32 + %cmp = icmp ne i32 %conv, %conv2 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %6 = load i8*, i8** %p.addr, align 8 + %arrayidx4 = getelementptr inbounds i8, i8* %6, i64 9 + %7 = load i8, i8* %arrayidx4, align 1 + %conv5 = zext i8 %7 to i32 + %8 = load i8*, i8** %s, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %8, i64 9 + %9 = load i8, i8* %arrayidx6, align 1 + %conv7 = zext i8 %9 to i32 + %cmp8 = icmp ne i32 %conv5, %conv7 + br i1 %cmp8, label %if.then, label %if.end22 + +if.then: ; preds = %lor.lhs.false, %entry + %10 = load i8*, i8** %p.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv10 = zext i8 %11 to i32 + %and = and i32 %conv10, 127 + %shl = shl i32 %and, 7 + %12 = load i8*, i8** %p.addr, align 8 + %arrayidx11 = getelementptr inbounds i8, i8* %12, i64 1 + %13 = load i8, i8* %arrayidx11, align 1 + %conv12 = zext i8 %13 to i32 + %and13 = and i32 %conv12, 127 + %add = add nsw i32 %shl, %and13 + store i32 %add, i32* %row, align 4 + %14 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %14, i32 0, i32 31 + %15 = load i32, i32* %row, align 4 + %mul = mul nsw i32 9, %15 + %add14 = add nsw i32 %mul, 3 + %add15 = add nsw i32 %add14, 4 + %idxprom = sext i32 %add15 to i64 + %arrayidx16 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales, i64 0, i64 %idxprom + %16 = load i8, i8* %arrayidx16, align 1 + %conv17 = zext i8 %16 to i32 + %call = call i32 @init_cur_collate(i32 %conv17, %struct.__collate_t.200* %newcol) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end, label %if.then18 + +if.then18: ; preds = %if.then + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %if.then + %17 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %collate = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %17, i32 0, i32 118 + %index2weight19 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate, i32 0, i32 23 + %18 = load i16*, i16** %index2weight19, align 8 + %19 = bitcast i16* %18 to i8* + call void @free(i8* %19) #19 + %20 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %collate20 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %20, i32 0, i32 118 + %21 = bitcast %struct.__collate_t.200* %collate20 to i8* + %22 = bitcast %struct.__collate_t.200* %newcol to i8* + %call21 = call i8* @memcpy(i8* %21, i8* %22, i64 112) #19 + br label %if.end22 + +if.end22: ; preds = %if.end, %lor.lhs.false + br label %do.body + +do.body: ; preds = %if.end313, %if.end22 + %23 = load i8*, i8** %p.addr, align 8 + %24 = load i8, i8* %23, align 1 + %conv23 = zext i8 %24 to i32 + %25 = load i8*, i8** %s, align 8 + %26 = load i8, i8* %25, align 1 + %conv24 = zext i8 %26 to i32 + %cmp25 = icmp ne i32 %conv23, %conv24 + br i1 %cmp25, label %if.then34, label %lor.lhs.false27 + +lor.lhs.false27: ; preds = %do.body + %27 = load i8*, i8** %p.addr, align 8 + %arrayidx28 = getelementptr inbounds i8, i8* %27, i64 1 + %28 = load i8, i8* %arrayidx28, align 1 + %conv29 = zext i8 %28 to i32 + %29 = load i8*, i8** %s, align 8 + %arrayidx30 = getelementptr inbounds i8, i8* %29, i64 1 + %30 = load i8, i8* %arrayidx30, align 1 + %conv31 = zext i8 %30 to i32 + %cmp32 = icmp ne i32 %conv29, %conv31 + br i1 %cmp32, label %if.then34, label %if.end313 + +if.then34: ; preds = %lor.lhs.false27, %do.body + %31 = load i8*, i8** %p.addr, align 8 + %32 = load i8, i8* %31, align 1 + %conv35 = zext i8 %32 to i32 + %and36 = and i32 %conv35, 127 + %shl37 = shl i32 %and36, 7 + %33 = load i8*, i8** %p.addr, align 8 + %arrayidx38 = getelementptr inbounds i8, i8* %33, i64 1 + %34 = load i8, i8* %arrayidx38, align 1 + %conv39 = zext i8 %34 to i32 + %and40 = and i32 %conv39, 127 + %add41 = add nsw i32 %shl37, %and40 + store i32 %add41, i32* %row, align 4 + %35 = load i8*, i8** %p.addr, align 8 + %36 = load i8, i8* %35, align 1 + %37 = load i8*, i8** %s, align 8 + store i8 %36, i8* %37, align 1 + %38 = load i8*, i8** %p.addr, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %38, i64 1 + %39 = load i8, i8* %arrayidx42, align 1 + %40 = load i8*, i8** %s, align 8 + %arrayidx43 = getelementptr inbounds i8, i8* %40, i64 1 + store i8 %39, i8* %arrayidx43, align 1 + %41 = load i32, i32* %i, align 4 + %cmp44 = icmp ne i32 %41, 4 + br i1 %cmp44, label %land.lhs.true, label %if.end92 + +land.lhs.true: ; preds = %if.then34 + %42 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_common_item_offsets_LEN = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %42, i32 0, i32 29 + %43 = load i32, i32* %i, align 4 + %idxprom46 = sext i32 %43 to i64 + %arrayidx47 = getelementptr inbounds [6 x i8], [6 x i8]* %lc_common_item_offsets_LEN, i64 0, i64 %idxprom46 + %44 = load i8, i8* %arrayidx47, align 1 + %conv48 = zext i8 %44 to i32 + store i32 %conv48, i32* %len, align 4 + %cmp49 = icmp ne i32 %conv48, 0 + br i1 %cmp49, label %if.then51, label %if.end92 + +if.then51: ; preds = %land.lhs.true + %45 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales52 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %45, i32 0, i32 31 + %46 = load i32, i32* %row, align 4 + %mul53 = mul nsw i32 9, %46 + %add54 = add nsw i32 %mul53, 3 + %47 = load i32, i32* %i, align 4 + %add55 = add nsw i32 %add54, %47 + %idxprom56 = sext i32 %add55 to i64 + %arrayidx57 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales52, i64 0, i64 %idxprom56 + %48 = load i8, i8* %arrayidx57, align 1 + %conv58 = zext i8 %48 to i32 + %49 = load i32, i32* %len, align 4 + %mul59 = mul nsw i32 %conv58, %49 + store i32 %mul59, i32* %crow, align 4 + %50 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %51 = bitcast %struct.__uclibc_locale_struct.201* %50 to i8* + %52 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %52, i32 0, i32 7 + %53 = load i32, i32* %i, align 4 + %idxprom60 = sext i32 %53 to i64 + %arrayidx61 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets, i64 0, i64 %idxprom60 + %54 = load i16, i16* %arrayidx61, align 2 + %conv62 = zext i16 %54 to i32 + %idx.ext = sext i32 %conv62 to i64 + %add.ptr63 = getelementptr inbounds i8, i8* %51, i64 %idx.ext + %55 = bitcast i8* %add.ptr63 to i8** + store i8** %55, i8*** %x, align 8 + %56 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_common_tbl_offsets = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %56, i32 0, i32 30 + %arraydecay64 = getelementptr inbounds [24 x i64], [24 x i64]* %lc_common_tbl_offsets, i64 0, i64 0 + %57 = load i32, i32* %i, align 4 + %mul65 = mul nsw i32 4, %57 + %idx.ext66 = sext i32 %mul65 to i64 + %add.ptr67 = getelementptr inbounds i64, i64* %arraydecay64, i64 %idx.ext66 + store i64* %add.ptr67, i64** %stp, align 8 + %58 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %59 = bitcast %struct.__locale_mmap_t.203* %58 to i8* + %60 = load i64*, i64** %stp, align 8 + %61 = load i64, i64* %60, align 8 + %add.ptr68 = getelementptr inbounds i8, i8* %59, i64 %61 + store i8* %add.ptr68, i8** %r, align 8 + %62 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %63 = bitcast %struct.__locale_mmap_t.203* %62 to i8* + %64 = load i64*, i64** %stp, align 8 + %incdec.ptr69 = getelementptr inbounds i64, i64* %64, i32 1 + store i64* %incdec.ptr69, i64** %stp, align 8 + %65 = load i64, i64* %incdec.ptr69, align 8 + %add.ptr70 = getelementptr inbounds i8, i8* %63, i64 %65 + %66 = bitcast i8* %add.ptr70 to i16* + store i16* %66, i16** %io, align 8 + %67 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %68 = bitcast %struct.__locale_mmap_t.203* %67 to i8* + %69 = load i64*, i64** %stp, align 8 + %incdec.ptr71 = getelementptr inbounds i64, i64* %69, i32 1 + store i64* %incdec.ptr71, i64** %stp, align 8 + %70 = load i64, i64* %incdec.ptr71, align 8 + %add.ptr72 = getelementptr inbounds i8, i8* %68, i64 %70 + %71 = bitcast i8* %add.ptr72 to i16* + store i16* %71, i16** %ii, align 8 + %72 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %73 = bitcast %struct.__locale_mmap_t.203* %72 to i8* + %74 = load i64*, i64** %stp, align 8 + %incdec.ptr73 = getelementptr inbounds i64, i64* %74, i32 1 + store i64* %incdec.ptr73, i64** %stp, align 8 + %75 = load i64, i64* %incdec.ptr73, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %73, i64 %75 + store i8* %add.ptr74, i8** %d, align 8 + store i32 0, i32* %c, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.then51 + %76 = load i32, i32* %c, align 4 + %77 = load i32, i32* %len, align 4 + %cmp75 = icmp slt i32 %76, %77 + br i1 %cmp75, label %for.body, label %if.end92 + +for.body: ; preds = %for.cond + %78 = load i8*, i8** %d, align 8 + %79 = load i16*, i16** %ii, align 8 + %80 = load i8*, i8** %r, align 8 + %81 = load i32, i32* %crow, align 4 + %82 = load i32, i32* %c, align 4 + %add77 = add nsw i32 %81, %82 + %idxprom78 = sext i32 %add77 to i64 + %arrayidx79 = getelementptr inbounds i8, i8* %80, i64 %idxprom78 + %83 = load i8, i8* %arrayidx79, align 1 + %conv80 = zext i8 %83 to i32 + %84 = load i16*, i16** %io, align 8 + %85 = load i32, i32* %c, align 4 + %idxprom81 = sext i32 %85 to i64 + %arrayidx82 = getelementptr inbounds i16, i16* %84, i64 %idxprom81 + %86 = load i16, i16* %arrayidx82, align 2 + %conv83 = zext i16 %86 to i32 + %add84 = add nsw i32 %conv80, %conv83 + %idxprom85 = sext i32 %add84 to i64 + %arrayidx86 = getelementptr inbounds i16, i16* %79, i64 %idxprom85 + %87 = load i16, i16* %arrayidx86, align 2 + %conv87 = zext i16 %87 to i32 + %idx.ext88 = sext i32 %conv87 to i64 + %add.ptr89 = getelementptr inbounds i8, i8* %78, i64 %idx.ext88 + %88 = load i8**, i8*** %x, align 8 + %89 = load i32, i32* %c, align 4 + %idx.ext90 = sext i32 %89 to i64 + %add.ptr91 = getelementptr inbounds i8*, i8** %88, i64 %idx.ext90 + store i8* %add.ptr89, i8** %add.ptr91, align 8 + %90 = load i32, i32* %c, align 4 + %inc = add nsw i32 %90, 1 + store i32 %inc, i32* %c, align 4 + br label %for.cond + +if.end92: ; preds = %for.cond, %land.lhs.true, %if.then34 + %91 = load i32, i32* %i, align 4 + %cmp93 = icmp eq i32 %91, 0 + br i1 %cmp93, label %if.then95, label %if.else295 + +if.then95: ; preds = %if.end92 + %92 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales96 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %92, i32 0, i32 31 + %93 = load i32, i32* %row, align 4 + %mul97 = mul nsw i32 9, %93 + %add98 = add nsw i32 %mul97, 2 + %idxprom99 = sext i32 %add98 to i64 + %arrayidx100 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales96, i64 0, i64 %idxprom99 + %94 = load i8, i8* %arrayidx100, align 1 + %conv101 = zext i8 %94 to i32 + store i32 %conv101, i32* %c, align 4 + %95 = load i32, i32* %c, align 4 + %cmp102 = icmp sle i32 %95, 2 + br i1 %cmp102, label %if.then104, label %if.else112 + +if.then104: ; preds = %if.then95 + %96 = load i32, i32* %c, align 4 + %cmp105 = icmp eq i32 %96, 2 + %97 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %codeset = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %97, i32 0, i32 38 + br i1 %cmp105, label %if.then107, label %if.else + +if.then107: ; preds = %if.then104 + store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf8, i64 0, i64 0), i8** %codeset, align 8 + %98 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %98, i32 0, i32 9 + store i8 1, i8* %encoding, align 8 + %99 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %mb_cur_max = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %99, i32 0, i32 10 + store i8 6, i8* %mb_cur_max, align 1 + br label %if.end280 + +if.else: ; preds = %if.then104 + store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @ascii, i64 0, i64 0), i8** %codeset, align 8 + %100 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %encoding109 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %100, i32 0, i32 9 + store i8 0, i8* %encoding109, align 8 + %101 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %mb_cur_max110 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %101, i32 0, i32 10 + store i8 1, i8* %mb_cur_max110, align 1 + br label %if.end280 + +if.else112: ; preds = %if.then95 + %102 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %102, i32 0, i32 35 + %arraydecay113 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list, i64 0, i64 0 + store i8* %arraydecay113, i8** %r, align 8 + %103 = load i8*, i8** %r, align 8 + %104 = load i8*, i8** %r, align 8 + %105 = load i32, i32* %c, align 4 + %sub = sub nsw i32 %105, 3 + store i32 %sub, i32* %c, align 4 + %idxprom114 = sext i32 %sub to i64 + %arrayidx115 = getelementptr inbounds i8, i8* %104, i64 %idxprom114 + %106 = load i8, i8* %arrayidx115, align 1 + %conv116 = zext i8 %106 to i32 + %idx.ext117 = sext i32 %conv116 to i64 + %add.ptr118 = getelementptr inbounds i8, i8* %103, i64 %idx.ext117 + %107 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %codeset119 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %107, i32 0, i32 38 + store i8* %add.ptr118, i8** %codeset119, align 8 + %108 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %encoding120 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %108, i32 0, i32 9 + store i8 2, i8* %encoding120, align 8 + %109 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %mb_cur_max121 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %109, i32 0, i32 10 + store i8 1, i8* %mb_cur_max121, align 1 + %110 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_8_bit = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %110, i32 0, i32 12 + %arraydecay122 = getelementptr inbounds [23 x %struct.__codeset_8_bit_t.202], [23 x %struct.__codeset_8_bit_t.202]* %codeset_8_bit, i64 0, i64 0 + %111 = load i32, i32* %c, align 4 + %idx.ext123 = sext i32 %111 to i64 + %add.ptr124 = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %arraydecay122, i64 %idx.ext123 + store %struct.__codeset_8_bit_t.202* %add.ptr124, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %112 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8ctype = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %112, i32 0, i32 0 + %arraydecay125 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8ctype, i64 0, i64 0 + %113 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8ctype126 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %113, i32 0, i32 12 + store i8* %arraydecay125, i8** %idx8ctype126, align 8 + %114 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8uplow = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %114, i32 0, i32 1 + %arraydecay127 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8uplow, i64 0, i64 0 + %115 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8uplow128 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %115, i32 0, i32 14 + store i8* %arraydecay127, i8** %idx8uplow128, align 8 + %116 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8c2wc = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %116, i32 0, i32 2 + %arraydecay129 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8c2wc, i64 0, i64 0 + %117 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8c2wc130 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %117, i32 0, i32 16 + store i8* %arraydecay129, i8** %idx8c2wc130, align 8 + %118 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8wc2c = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %118, i32 0, i32 3 + %arraydecay131 = getelementptr inbounds [38 x i8], [38 x i8]* %idx8wc2c, i64 0, i64 0 + %119 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8wc2c132 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %119, i32 0, i32 18 + store i8* %arraydecay131, i8** %idx8wc2c132, align 8 + %120 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b_data = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %120, i32 0, i32 3 + %arraydecay133 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data, i64 0, i64 0 + %121 = bitcast i16* %arraydecay133 to i8* + %122 = load i16*, i16** @__C_ctype_b, align 8 + %add.ptr134 = getelementptr inbounds i16, i16* %122, i64 -128 + %123 = bitcast i16* %add.ptr134 to i8* + %call135 = call i8* @memcpy(i8* %121, i8* %123, i64 768) #19 + %124 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %124, i32 0, i32 4 + %arraydecay136 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data, i64 0, i64 0 + %125 = bitcast i16* %arraydecay136 to i8* + %126 = load i16*, i16** @__C_ctype_tolower, align 8 + %add.ptr137 = getelementptr inbounds i16, i16* %126, i64 -128 + %127 = bitcast i16* %add.ptr137 to i8* + %call138 = call i8* @memcpy(i8* %125, i8* %127, i64 768) #19 + %128 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %128, i32 0, i32 5 + %arraydecay139 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data, i64 0, i64 0 + %129 = bitcast i16* %arraydecay139 to i8* + %130 = load i16*, i16** @__C_ctype_toupper, align 8 + %add.ptr140 = getelementptr inbounds i16, i16* %130, i64 -128 + %131 = bitcast i16* %add.ptr140 to i8* + %call141 = call i8* @memcpy(i8* %129, i8* %131, i64 768) #19 + store i32 0, i32* %u, align 4 + br label %for.cond142 + +for.cond142: ; preds = %for.inc268, %if.else112 + %132 = load i32, i32* %u, align 4 + %cmp143 = icmp slt i32 %132, 128 + %133 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + br i1 %cmp143, label %for.body145, label %for.end270 + +for.body145: ; preds = %for.cond142 + %tbl8ctype = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %133, i32 0, i32 13 + %134 = load i8*, i8** %tbl8ctype, align 8 + %135 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8ctype146 = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %135, i32 0, i32 0 + %136 = load i32, i32* %u, align 4 + %shr = ashr i32 %136, 3 + %idxprom147 = sext i32 %shr to i64 + %arrayidx148 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8ctype146, i64 0, i64 %idxprom147 + %137 = load i8, i8* %arrayidx148, align 1 + %conv149 = zext i8 %137 to i32 + %shl150 = shl i32 %conv149, 2 + %138 = load i32, i32* %u, align 4 + %and151 = and i32 %138, 7 + %shr152 = ashr i32 %and151, 1 + %add153 = add nsw i32 %shl150, %shr152 + %idxprom154 = sext i32 %add153 to i64 + %arrayidx155 = getelementptr inbounds i8, i8* %134, i64 %idxprom154 + %139 = load i8, i8* %arrayidx155, align 1 + %conv156 = zext i8 %139 to i32 + store i32 %conv156, i32* %c, align 4 + %140 = load i32, i32* %u, align 4 + %and157 = and i32 %140, 1 + %tobool158 = icmp ne i32 %and157, 0 + %141 = load i32, i32* %c, align 4 + %shr159 = ashr i32 %141, 4 + %and160 = and i32 %141, 15 + %cond = select i1 %tobool158, i32 %shr159, i32 %and160 + store i32 %cond, i32* %c, align 4 + %142 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %code2flag = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %142, i32 0, i32 20 + %143 = load i16*, i16** %code2flag, align 8 + %144 = load i32, i32* %c, align 4 + %idxprom161 = sext i32 %144 to i64 + %arrayidx162 = getelementptr inbounds i16, i16* %143, i64 %idxprom161 + %145 = load i16, i16* %arrayidx162, align 2 + store i16 %145, i16* %m, align 2 + %146 = load i16, i16* %m, align 2 + %147 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b_data163 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %147, i32 0, i32 3 + %148 = load i32, i32* %u, align 4 + %add164 = add nsw i32 256, %148 + %idxprom165 = sext i32 %add164 to i64 + %arrayidx166 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data163, i64 0, i64 %idxprom165 + store i16 %146, i16* %arrayidx166, align 2 + %149 = load i32, i32* %u, align 4 + %add167 = add nsw i32 128, %149 + %conv168 = trunc i32 %add167 to i8 + %conv169 = sext i8 %conv168 to i32 + %cmp170 = icmp ne i32 %conv169, -1 + br i1 %cmp170, label %if.then172, label %if.end180 + +if.then172: ; preds = %for.body145 + %150 = load i16, i16* %m, align 2 + %151 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b_data173 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %151, i32 0, i32 3 + %152 = load i32, i32* %u, align 4 + %add174 = add nsw i32 128, %152 + %conv175 = trunc i32 %add174 to i8 + %conv176 = sext i8 %conv175 to i32 + %add177 = add nsw i32 128, %conv176 + %idxprom178 = sext i32 %add177 to i64 + %arrayidx179 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data173, i64 0, i64 %idxprom178 + store i16 %150, i16* %arrayidx179, align 2 + br label %if.end180 + +if.end180: ; preds = %if.then172, %for.body145 + %153 = load i32, i32* %u, align 4 + %add181 = add nsw i32 128, %153 + %conv182 = trunc i32 %add181 to i16 + %154 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data183 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %154, i32 0, i32 4 + %155 = load i32, i32* %u, align 4 + %add184 = add nsw i32 256, %155 + %idxprom185 = sext i32 %add184 to i64 + %arrayidx186 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data183, i64 0, i64 %idxprom185 + store i16 %conv182, i16* %arrayidx186, align 2 + %156 = load i32, i32* %u, align 4 + %add187 = add nsw i32 128, %156 + %conv188 = trunc i32 %add187 to i16 + %157 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data189 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %157, i32 0, i32 5 + %158 = load i32, i32* %u, align 4 + %add190 = add nsw i32 256, %158 + %idxprom191 = sext i32 %add190 to i64 + %arrayidx192 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data189, i64 0, i64 %idxprom191 + store i16 %conv188, i16* %arrayidx192, align 2 + %159 = load i16, i16* %m, align 2 + %conv193 = zext i16 %159 to i32 + %and194 = and i32 %conv193, 768 + %tobool195 = icmp ne i32 %and194, 0 + br i1 %tobool195, label %if.then196, label %for.inc268 + +if.then196: ; preds = %if.end180 + %160 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8uplow = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %160, i32 0, i32 15 + %161 = load i8*, i8** %tbl8uplow, align 8 + %162 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8uplow197 = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %162, i32 0, i32 1 + %163 = load i32, i32* %u, align 4 + %shr198 = ashr i32 %163, 3 + %idxprom199 = sext i32 %shr198 to i64 + %arrayidx200 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8uplow197, i64 0, i64 %idxprom199 + %164 = load i8, i8* %arrayidx200, align 1 + %conv201 = zext i8 %164 to i32 + %shl202 = shl i32 %conv201, 3 + %165 = load i32, i32* %u, align 4 + %add203 = add nsw i32 128, %165 + %and204 = and i32 %add203, 7 + %add205 = add nsw i32 %shl202, %and204 + %idxprom206 = sext i32 %add205 to i64 + %arrayidx207 = getelementptr inbounds i8, i8* %161, i64 %idxprom206 + %166 = load i8, i8* %arrayidx207, align 1 + %conv208 = zext i8 %166 to i32 + store i32 %conv208, i32* %c, align 4 + %167 = load i16, i16* %m, align 2 + %conv209 = zext i16 %167 to i32 + %and210 = and i32 %conv209, 512 + %tobool211 = icmp ne i32 %and210, 0 + %168 = load i32, i32* %u, align 4 + %add213 = add nsw i32 128, %168 + %169 = load i32, i32* %c, align 4 + br i1 %tobool211, label %if.then212, label %if.else239 + +if.then212: ; preds = %if.then196 + %add214 = add nsw i32 %add213, %169 + %conv215 = trunc i32 %add214 to i8 + %conv216 = zext i8 %conv215 to i16 + %170 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data217 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %170, i32 0, i32 5 + %171 = load i32, i32* %u, align 4 + %add218 = add nsw i32 256, %171 + %idxprom219 = sext i32 %add218 to i64 + %arrayidx220 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data217, i64 0, i64 %idxprom219 + store i16 %conv216, i16* %arrayidx220, align 2 + %172 = load i32, i32* %u, align 4 + %add221 = add nsw i32 128, %172 + %conv222 = trunc i32 %add221 to i8 + %conv223 = sext i8 %conv222 to i32 + %cmp224 = icmp ne i32 %conv223, -1 + br i1 %cmp224, label %if.then226, label %for.inc268 + +if.then226: ; preds = %if.then212 + %173 = load i32, i32* %u, align 4 + %add227 = add nsw i32 128, %173 + %174 = load i32, i32* %c, align 4 + %add228 = add nsw i32 %add227, %174 + %conv229 = trunc i32 %add228 to i8 + %conv230 = zext i8 %conv229 to i16 + %175 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data231 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %175, i32 0, i32 5 + %176 = load i32, i32* %u, align 4 + %add232 = add nsw i32 128, %176 + %conv233 = trunc i32 %add232 to i8 + %conv234 = sext i8 %conv233 to i32 + %add235 = add nsw i32 128, %conv234 + %idxprom236 = sext i32 %add235 to i64 + %arrayidx237 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data231, i64 0, i64 %idxprom236 + store i16 %conv230, i16* %arrayidx237, align 2 + br label %for.inc268 + +if.else239: ; preds = %if.then196 + %sub241 = sub nsw i32 %add213, %169 + %conv242 = trunc i32 %sub241 to i8 + %conv243 = zext i8 %conv242 to i16 + %177 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data244 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %177, i32 0, i32 4 + %178 = load i32, i32* %u, align 4 + %add245 = add nsw i32 256, %178 + %idxprom246 = sext i32 %add245 to i64 + %arrayidx247 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data244, i64 0, i64 %idxprom246 + store i16 %conv243, i16* %arrayidx247, align 2 + %179 = load i32, i32* %u, align 4 + %add248 = add nsw i32 128, %179 + %conv249 = trunc i32 %add248 to i8 + %conv250 = sext i8 %conv249 to i32 + %cmp251 = icmp ne i32 %conv250, -1 + br i1 %cmp251, label %if.then253, label %for.inc268 + +if.then253: ; preds = %if.else239 + %180 = load i32, i32* %u, align 4 + %add254 = add nsw i32 128, %180 + %181 = load i32, i32* %c, align 4 + %sub255 = sub nsw i32 %add254, %181 + %conv256 = trunc i32 %sub255 to i8 + %conv257 = zext i8 %conv256 to i16 + %182 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data258 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %182, i32 0, i32 4 + %183 = load i32, i32* %u, align 4 + %add259 = add nsw i32 128, %183 + %conv260 = trunc i32 %add259 to i8 + %conv261 = sext i8 %conv260 to i32 + %add262 = add nsw i32 128, %conv261 + %idxprom263 = sext i32 %add262 to i64 + %arrayidx264 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data258, i64 0, i64 %idxprom263 + store i16 %conv257, i16* %arrayidx264, align 2 + br label %for.inc268 + +for.inc268: ; preds = %if.end180, %if.else239, %if.then253, %if.then212, %if.then226 + %184 = load i32, i32* %u, align 4 + %inc269 = add nsw i32 %184, 1 + store i32 %inc269, i32* %u, align 4 + br label %for.cond142 + +for.end270: ; preds = %for.cond142 + %__ctype_b_data271 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %133, i32 0, i32 3 + %arraydecay272 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data271, i64 0, i64 0 + %add.ptr273 = getelementptr inbounds i16, i16* %arraydecay272, i64 128 + %185 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %185, i32 0, i32 0 + store i16* %add.ptr273, i16** %__ctype_b, align 8 + %186 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data274 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %186, i32 0, i32 4 + %arraydecay275 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data274, i64 0, i64 0 + %add.ptr276 = getelementptr inbounds i16, i16* %arraydecay275, i64 128 + %187 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %187, i32 0, i32 1 + store i16* %add.ptr276, i16** %__ctype_tolower, align 8 + %188 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data277 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %188, i32 0, i32 5 + %arraydecay278 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data277, i64 0, i64 0 + %add.ptr279 = getelementptr inbounds i16, i16* %arraydecay278, i64 128 + %189 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %189, i32 0, i32 2 + store i16* %add.ptr279, i16** %__ctype_toupper, align 8 + br label %if.end280 + +if.end280: ; preds = %if.then107, %if.else, %for.end270 + %190 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %outdigit_length = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %190, i32 0, i32 11 + %arraydecay281 = getelementptr inbounds [10 x i8], [10 x i8]* %outdigit_length, i64 0, i64 0 + store i8* %arraydecay281, i8** %d, align 8 + %191 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %outdigit0_mb = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %191, i32 0, i32 28 + store i8** %outdigit0_mb, i8*** %x, align 8 + store i32 0, i32* %c, align 4 + br label %for.cond282 + +for.cond282: ; preds = %for.body285, %if.end280 + %192 = load i32, i32* %c, align 4 + %cmp283 = icmp slt i32 %192, 10 + br i1 %cmp283, label %for.body285, label %if.end313 + +for.body285: ; preds = %for.cond282 + %193 = load i8**, i8*** %x, align 8 + %194 = load i32, i32* %c, align 4 + %idxprom286 = sext i32 %194 to i64 + %arrayidx287 = getelementptr inbounds i8*, i8** %193, i64 %idxprom286 + %195 = load i8*, i8** %arrayidx287, align 8 + %call288 = call i64 @strlen(i8* %195) #20 + %conv289 = trunc i64 %call288 to i8 + %196 = load i8*, i8** %d, align 8 + %197 = load i32, i32* %c, align 4 + %idxprom290 = sext i32 %197 to i64 + %arrayidx291 = getelementptr inbounds i8, i8* %196, i64 %idxprom290 + store i8 %conv289, i8* %arrayidx291, align 1 + %198 = load i32, i32* %c, align 4 + %inc293 = add nsw i32 %198, 1 + store i32 %inc293, i32* %c, align 4 + br label %for.cond282 + +if.else295: ; preds = %if.end92 + %199 = load i32, i32* %i, align 4 + %cmp296 = icmp eq i32 %199, 1 + br i1 %cmp296, label %if.then298, label %if.end313 + +if.then298: ; preds = %if.else295 + %200 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %decimal_point_wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %200, i32 0, i32 24 + %201 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %decimal_point = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %201, i32 0, i32 39 + %202 = load i8*, i8** %decimal_point, align 8 + %203 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call299 = call i32 @__locale_mbrtowc_l(i32* %decimal_point_wc, i8* %202, %struct.__uclibc_locale_struct.201* %203) #18 + %204 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %decimal_point_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %204, i32 0, i32 26 + store i32 %call299, i32* %decimal_point_len, align 8 + %205 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %grouping = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %205, i32 0, i32 41 + %206 = load i8*, i8** %grouping, align 8 + %207 = load i8, i8* %206, align 1 + %tobool300 = icmp ne i8 %207, 0 + br i1 %tobool300, label %if.then301, label %if.end313 + +if.then301: ; preds = %if.then298 + %208 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep_wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %208, i32 0, i32 25 + %209 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %209, i32 0, i32 40 + %210 = load i8*, i8** %thousands_sep, align 8 + %211 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call302 = call i32 @__locale_mbrtowc_l(i32* %thousands_sep_wc, i8* %210, %struct.__uclibc_locale_struct.201* %211) #18 + %212 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %212, i32 0, i32 27 + store i32 %call302, i32* %thousands_sep_len, align 4 + %213 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep_len303 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %213, i32 0, i32 27 + %214 = load i32, i32* %thousands_sep_len303, align 4 + %cmp304 = icmp eq i32 %214, 0 + br i1 %cmp304, label %if.then306, label %if.end313 + +if.then306: ; preds = %if.then301 + %215 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep307 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %215, i32 0, i32 40 + %216 = load i8*, i8** %thousands_sep307, align 8 + %217 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %grouping308 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %217, i32 0, i32 41 + store i8* %216, i8** %grouping308, align 8 + br label %if.end313 + +if.end313: ; preds = %for.cond282, %if.then298, %if.then306, %if.then301, %if.else295, %lor.lhs.false27 + %218 = load i32, i32* %i, align 4 + %inc314 = add nsw i32 %218, 1 + store i32 %inc314, i32* %i, align 4 + %219 = load i8*, i8** %p.addr, align 8 + %add.ptr315 = getelementptr inbounds i8, i8* %219, i64 2 + store i8* %add.ptr315, i8** %p.addr, align 8 + %220 = load i8*, i8** %s, align 8 + %add.ptr316 = getelementptr inbounds i8, i8* %220, i64 2 + store i8* %add.ptr316, i8** %s, align 8 + %221 = load i32, i32* %i, align 4 + %cmp317 = icmp slt i32 %221, 6 + br i1 %cmp317, label %do.body, label %do.end + +do.end: ; preds = %if.end313 + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end, %if.then18 + %222 = load i32, i32* %retval, align 4 + ret i32 %222 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @init_cur_collate(i32 %der_num, %struct.__collate_t.200* %cur_collate) #0 { +entry: + %retval = alloca i32, align 4 + %der_num.addr = alloca i32, align 4 + %cur_collate.addr = alloca %struct.__collate_t.200*, align 8 + %__locale_collate_tbl = alloca i16*, align 8 + %cdh = alloca %struct.coldata_header_t*, align 8 + %cdb = alloca %struct.coldata_base_t*, align 8 + %cdd = alloca %struct.winsize*, align 8 + %p = alloca i16*, align 8 + %n = alloca i64, align 8 + %i = alloca i16, align 2 + %w = alloca i16, align 2 + store i32 %der_num, i32* %der_num.addr, align 4 + store %struct.__collate_t.200* %cur_collate, %struct.__collate_t.200** %cur_collate.addr, align 8 + %0 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %collate_data = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %0, i32 0, i32 28 + %arraydecay = getelementptr inbounds [91141 x i16], [91141 x i16]* %collate_data, i64 0, i64 0 + store i16* %arraydecay, i16** %__locale_collate_tbl, align 8 + %1 = load i32, i32* %der_num.addr, align 4 + %tobool = icmp ne i32 %1, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %2 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %num_weights = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %2, i32 0, i32 0 + store i16 0, i16* %num_weights, align 8 + store i32 1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* %der_num.addr, align 4 + %dec = add nsw i32 %3, -1 + store i32 %dec, i32* %der_num.addr, align 4 + %4 = load i16*, i16** %__locale_collate_tbl, align 8 + %5 = bitcast i16* %4 to %struct.coldata_header_t* + store %struct.coldata_header_t* %5, %struct.coldata_header_t** %cdh, align 8 + %6 = load i16*, i16** %__locale_collate_tbl, align 8 + %7 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_base = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %7, i32 0, i32 0 + %8 = load i16, i16* %num_base, align 2 + %conv = zext i16 %8 to i64 + %mul = mul i64 %conv, 38 + %add = add i64 16, %mul + %9 = load i32, i32* %der_num.addr, align 4 + %conv1 = sext i32 %9 to i64 + %mul2 = mul i64 %conv1, 8 + %add3 = add i64 %add, %mul2 + %div = udiv i64 %add3, 2 + %add.ptr = getelementptr inbounds i16, i16* %6, i64 %div + %10 = bitcast i16* %add.ptr to %struct.winsize* + store %struct.winsize* %10, %struct.winsize** %cdd, align 8 + %11 = load i16*, i16** %__locale_collate_tbl, align 8 + %12 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %base_idx = getelementptr inbounds %struct.winsize, %struct.winsize* %12, i32 0, i32 0 + %13 = load i16, i16* %base_idx, align 2 + %conv4 = zext i16 %13 to i64 + %mul5 = mul i64 %conv4, 38 + %add6 = add i64 16, %mul5 + %div7 = udiv i64 %add6, 2 + %add.ptr8 = getelementptr inbounds i16, i16* %11, i64 %div7 + %14 = bitcast i16* %add.ptr8 to %struct.coldata_base_t* + store %struct.coldata_base_t* %14, %struct.coldata_base_t** %cdb, align 8 + %15 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %16 = bitcast %struct.__collate_t.200* %15 to i8* + %17 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %18 = bitcast %struct.coldata_base_t* %17 to i8* + %call = call i8* @memcpy(i8* %16, i8* %18, i64 28) #19 + %19 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %undefined_idx = getelementptr inbounds %struct.winsize, %struct.winsize* %19, i32 0, i32 1 + %20 = load i16, i16* %undefined_idx, align 2 + %21 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %undefined_idx9 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %21, i32 0, i32 9 + store i16 %20, i16* %undefined_idx9, align 2 + %22 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ti_shift = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %22, i32 0, i32 3 + %23 = load i16, i16* %ti_shift, align 2 + %conv10 = zext i16 %23 to i32 + %shl = shl i32 1, %conv10 + %sub = sub nsw i32 %shl, 1 + %conv11 = trunc i32 %sub to i16 + %24 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ti_mask = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %24, i32 0, i32 15 + store i16 %conv11, i16* %ti_mask, align 2 + %25 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ii_shift = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %25, i32 0, i32 2 + %26 = load i16, i16* %ii_shift, align 4 + %conv12 = zext i16 %26 to i32 + %shl13 = shl i32 1, %conv12 + %sub14 = sub nsw i32 %shl13, 1 + %conv15 = trunc i32 %sub14 to i16 + %27 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ii_mask = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %27, i32 0, i32 14 + store i16 %conv15, i16* %ii_mask, align 4 + %28 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_base16 = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %28, i32 0, i32 0 + %29 = load i16, i16* %num_base16, align 2 + %conv17 = zext i16 %29 to i64 + %mul18 = mul i64 %conv17, 38 + %add19 = add i64 16, %mul18 + %30 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_der = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %30, i32 0, i32 1 + %31 = load i16, i16* %num_der, align 2 + %conv20 = zext i16 %31 to i64 + %mul21 = mul i64 %conv20, 8 + %add22 = add i64 %add19, %mul21 + %div23 = udiv i64 %add22, 2 + store i64 %div23, i64* %n, align 8 + %32 = load i16*, i16** %__locale_collate_tbl, align 8 + %33 = load i64, i64* %n, align 8 + %add.ptr24 = getelementptr inbounds i16, i16* %32, i64 %33 + %34 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %index2weight_offset = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %34, i32 0, i32 14 + %35 = load i16, i16* %index2weight_offset, align 2 + %conv25 = zext i16 %35 to i32 + %idx.ext = sext i32 %conv25 to i64 + %add.ptr26 = getelementptr inbounds i16, i16* %add.ptr24, i64 %idx.ext + %36 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %36, i32 0, i32 16 + store i16* %add.ptr26, i16** %index2weight_tbl, align 8 + %37 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_index2weight = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %37, i32 0, i32 3 + %38 = load i16, i16* %num_index2weight, align 2 + %conv27 = zext i16 %38 to i64 + %39 = load i64, i64* %n, align 8 + %add28 = add i64 %39, %conv27 + store i64 %add28, i64* %n, align 8 + %40 = load i16*, i16** %__locale_collate_tbl, align 8 + %41 = load i64, i64* %n, align 8 + %add.ptr29 = getelementptr inbounds i16, i16* %40, i64 %41 + %42 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %index2ruleidx_offset = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %42, i32 0, i32 15 + %43 = load i16, i16* %index2ruleidx_offset, align 2 + %conv30 = zext i16 %43 to i32 + %idx.ext31 = sext i32 %conv30 to i64 + %add.ptr32 = getelementptr inbounds i16, i16* %add.ptr29, i64 %idx.ext31 + %44 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %44, i32 0, i32 17 + store i16* %add.ptr32, i16** %index2ruleidx_tbl, align 8 + %45 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_index2weight33 = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %45, i32 0, i32 3 + %46 = load i16, i16* %num_index2weight33, align 2 + %conv34 = zext i16 %46 to i64 + %47 = load i64, i64* %n, align 8 + %add35 = add i64 %47, %conv34 + store i64 %add35, i64* %n, align 8 + %48 = load i16*, i16** %__locale_collate_tbl, align 8 + %49 = load i64, i64* %n, align 8 + %add.ptr36 = getelementptr inbounds i16, i16* %48, i64 %49 + %50 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %multistart_offset = getelementptr inbounds %struct.winsize, %struct.winsize* %50, i32 0, i32 3 + %51 = load i16, i16* %multistart_offset, align 2 + %conv37 = zext i16 %51 to i32 + %idx.ext38 = sext i32 %conv37 to i64 + %add.ptr39 = getelementptr inbounds i16, i16* %add.ptr36, i64 %idx.ext38 + %52 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %multistart_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %52, i32 0, i32 18 + store i16* %add.ptr39, i16** %multistart_tbl, align 8 + %53 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_multistart = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %53, i32 0, i32 5 + %54 = load i16, i16* %num_multistart, align 2 + %conv40 = zext i16 %54 to i64 + %55 = load i64, i64* %n, align 8 + %add41 = add i64 %55, %conv40 + store i64 %add41, i64* %n, align 8 + %56 = load i16*, i16** %__locale_collate_tbl, align 8 + %57 = load i64, i64* %n, align 8 + %add.ptr42 = getelementptr inbounds i16, i16* %56, i64 %57 + %58 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %overrides_offset = getelementptr inbounds %struct.winsize, %struct.winsize* %58, i32 0, i32 2 + %59 = load i16, i16* %overrides_offset, align 2 + %conv43 = zext i16 %59 to i32 + %idx.ext44 = sext i32 %conv43 to i64 + %add.ptr45 = getelementptr inbounds i16, i16* %add.ptr42, i64 %idx.ext44 + %60 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %overrides_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %60, i32 0, i32 20 + store i16* %add.ptr45, i16** %overrides_tbl, align 8 + %61 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_override = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %61, i32 0, i32 6 + %62 = load i16, i16* %num_override, align 2 + %conv46 = zext i16 %62 to i64 + %63 = load i64, i64* %n, align 8 + %add47 = add i64 %63, %conv46 + store i64 %add47, i64* %n, align 8 + %64 = load i16*, i16** %__locale_collate_tbl, align 8 + %65 = load i64, i64* %n, align 8 + %add.ptr48 = getelementptr inbounds i16, i16* %64, i64 %65 + %66 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ruletable = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %66, i32 0, i32 22 + store i16* %add.ptr48, i16** %ruletable, align 8 + %67 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_ruletable = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %67, i32 0, i32 7 + %68 = load i16, i16* %num_ruletable, align 2 + %conv49 = zext i16 %68 to i64 + %69 = load i64, i64* %n, align 8 + %add50 = add i64 %69, %conv49 + store i64 %add50, i64* %n, align 8 + %70 = load i16*, i16** %__locale_collate_tbl, align 8 + %71 = load i64, i64* %n, align 8 + %add.ptr51 = getelementptr inbounds i16, i16* %70, i64 %71 + %72 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %weightstr = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %72, i32 0, i32 21 + store i16* %add.ptr51, i16** %weightstr, align 8 + %73 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_weightstr = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %73, i32 0, i32 4 + %74 = load i16, i16* %num_weightstr, align 2 + %conv52 = zext i16 %74 to i64 + %75 = load i64, i64* %n, align 8 + %add53 = add i64 %75, %conv52 + store i64 %add53, i64* %n, align 8 + %76 = load i16*, i16** %__locale_collate_tbl, align 8 + %77 = load i64, i64* %n, align 8 + %add.ptr54 = getelementptr inbounds i16, i16* %76, i64 %77 + %78 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %wcs2colidt_offset_hi = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %78, i32 0, i32 18 + %79 = load i16, i16* %wcs2colidt_offset_hi, align 2 + %conv55 = zext i16 %79 to i64 + %shl56 = shl i64 %conv55, 16 + %add.ptr57 = getelementptr inbounds i16, i16* %add.ptr54, i64 %shl56 + %80 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %wcs2colidt_offset_low = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %80, i32 0, i32 17 + %81 = load i16, i16* %wcs2colidt_offset_low, align 2 + %conv58 = zext i16 %81 to i32 + %idx.ext59 = sext i32 %conv58 to i64 + %add.ptr60 = getelementptr inbounds i16, i16* %add.ptr57, i64 %idx.ext59 + %82 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %wcs2colidt_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %82, i32 0, i32 19 + store i16* %add.ptr60, i16** %wcs2colidt_tbl, align 8 + %83 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %MAX_WEIGHTS = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %83, i32 0, i32 2 + %84 = load i16, i16* %MAX_WEIGHTS, align 2 + %85 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %MAX_WEIGHTS61 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %85, i32 0, i32 25 + store i16 %84, i16* %MAX_WEIGHTS61, align 8 + %86 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %max_col_index = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %86, i32 0, i32 8 + %87 = load i16, i16* %max_col_index, align 8 + %conv62 = zext i16 %87 to i32 + %mul63 = mul nsw i32 2, %conv62 + %add64 = add nsw i32 %mul63, 2 + %conv65 = sext i32 %add64 to i64 + %call66 = call noalias i8* @calloc(i64 %conv65, i64 2) #19 + %88 = bitcast i8* %call66 to i16* + %89 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %89, i32 0, i32 23 + store i16* %88, i16** %index2weight, align 8 + %90 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight67 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %90, i32 0, i32 23 + %91 = load i16*, i16** %index2weight67, align 8 + %tobool68 = icmp ne i16* %91, null + br i1 %tobool68, label %if.end70, label %if.then69 + +if.then69: ; preds = %if.end + store i32 0, i32* %retval, align 4 + br label %return + +if.end70: ; preds = %if.end + %92 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight71 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %92, i32 0, i32 23 + %93 = load i16*, i16** %index2weight71, align 8 + %94 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %max_col_index72 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %94, i32 0, i32 8 + %95 = load i16, i16* %max_col_index72, align 8 + %conv73 = zext i16 %95 to i32 + %idx.ext74 = sext i32 %conv73 to i64 + %add.ptr75 = getelementptr inbounds i16, i16* %93, i64 %idx.ext74 + %add.ptr76 = getelementptr inbounds i16, i16* %add.ptr75, i64 1 + %96 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %96, i32 0, i32 24 + store i16* %add.ptr76, i16** %index2ruleidx, align 8 + %97 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight77 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %97, i32 0, i32 23 + %98 = load i16*, i16** %index2weight77, align 8 + %99 = bitcast i16* %98 to i8* + %100 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight_tbl78 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %100, i32 0, i32 16 + %101 = load i16*, i16** %index2weight_tbl78, align 8 + %102 = bitcast i16* %101 to i8* + %103 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %num_col_base = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %103, i32 0, i32 7 + %104 = load i16, i16* %num_col_base, align 2 + %conv79 = zext i16 %104 to i64 + %mul80 = mul i64 %conv79, 2 + %call81 = call i8* @memcpy(i8* %99, i8* %102, i64 %mul80) #19 + %105 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx82 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %105, i32 0, i32 24 + %106 = load i16*, i16** %index2ruleidx82, align 8 + %107 = bitcast i16* %106 to i8* + %108 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx_tbl83 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %108, i32 0, i32 17 + %109 = load i16*, i16** %index2ruleidx_tbl83, align 8 + %110 = bitcast i16* %109 to i8* + %111 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %num_col_base84 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %111, i32 0, i32 7 + %112 = load i16, i16* %num_col_base84, align 2 + %conv85 = zext i16 %112 to i64 + %mul86 = mul i64 %conv85, 2 + %call87 = call i8* @memcpy(i8* %107, i8* %110, i64 %mul86) #19 + %113 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %overrides_tbl88 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %113, i32 0, i32 20 + %114 = load i16*, i16** %overrides_tbl88, align 8 + store i16* %114, i16** %p, align 8 + br label %while.cond + +while.cond: ; preds = %do.body, %if.end70 + %115 = load i16*, i16** %p, align 8 + %116 = load i16, i16* %115, align 2 + %conv89 = zext i16 %116 to i32 + %cmp = icmp sgt i32 %conv89, 1 + br i1 %cmp, label %while.body, label %while.cond105 + +while.body: ; preds = %while.cond + %117 = load i16*, i16** %p, align 8 + %incdec.ptr = getelementptr inbounds i16, i16* %117, i32 1 + store i16* %incdec.ptr, i16** %p, align 8 + %118 = load i16, i16* %117, align 2 + %conv91 = zext i16 %118 to i64 + store i64 %conv91, i64* %n, align 8 + %119 = load i16*, i16** %p, align 8 + %incdec.ptr92 = getelementptr inbounds i16, i16* %119, i32 1 + store i16* %incdec.ptr92, i16** %p, align 8 + %120 = load i16, i16* %119, align 2 + store i16 %120, i16* %w, align 2 + br label %do.body + +do.body: ; preds = %do.body, %while.body + %121 = load i16*, i16** %p, align 8 + %incdec.ptr93 = getelementptr inbounds i16, i16* %121, i32 1 + store i16* %incdec.ptr93, i16** %p, align 8 + %122 = load i16, i16* %121, align 2 + store i16 %122, i16* %i, align 2 + %123 = load i16, i16* %w, align 2 + %inc = add i16 %123, 1 + store i16 %inc, i16* %w, align 2 + %124 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight94 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %124, i32 0, i32 23 + %125 = load i16*, i16** %index2weight94, align 8 + %126 = load i16, i16* %i, align 2 + %conv95 = zext i16 %126 to i32 + %sub96 = sub nsw i32 %conv95, 1 + %idxprom = sext i32 %sub96 to i64 + %arrayidx = getelementptr inbounds i16, i16* %125, i64 %idxprom + store i16 %123, i16* %arrayidx, align 2 + %127 = load i16*, i16** %p, align 8 + %incdec.ptr97 = getelementptr inbounds i16, i16* %127, i32 1 + store i16* %incdec.ptr97, i16** %p, align 8 + %128 = load i16, i16* %127, align 2 + %129 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx98 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %129, i32 0, i32 24 + %130 = load i16*, i16** %index2ruleidx98, align 8 + %131 = load i16, i16* %i, align 2 + %conv99 = zext i16 %131 to i32 + %sub100 = sub nsw i32 %conv99, 1 + %idxprom101 = sext i32 %sub100 to i64 + %arrayidx102 = getelementptr inbounds i16, i16* %130, i64 %idxprom101 + store i16 %128, i16* %arrayidx102, align 2 + %132 = load i64, i64* %n, align 8 + %dec103 = add i64 %132, -1 + store i64 %dec103, i64* %n, align 8 + %tobool104 = icmp ne i64 %dec103, 0 + br i1 %tobool104, label %do.body, label %while.cond + +while.cond105: ; preds = %while.cond, %while.body108 + %133 = load i16*, i16** %p, align 8 + %incdec.ptr106 = getelementptr inbounds i16, i16* %133, i32 1 + store i16* %incdec.ptr106, i16** %p, align 8 + %134 = load i16, i16* %incdec.ptr106, align 2 + %tobool107 = icmp ne i16 %134, 0 + br i1 %tobool107, label %while.body108, label %while.end121 + +while.body108: ; preds = %while.cond105 + %135 = load i16*, i16** %p, align 8 + %136 = load i16, i16* %135, align 2 + store i16 %136, i16* %i, align 2 + %137 = load i16*, i16** %p, align 8 + %incdec.ptr109 = getelementptr inbounds i16, i16* %137, i32 1 + store i16* %incdec.ptr109, i16** %p, align 8 + %138 = load i16, i16* %incdec.ptr109, align 2 + %139 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight110 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %139, i32 0, i32 23 + %140 = load i16*, i16** %index2weight110, align 8 + %141 = load i16, i16* %i, align 2 + %conv111 = zext i16 %141 to i32 + %sub112 = sub nsw i32 %conv111, 1 + %idxprom113 = sext i32 %sub112 to i64 + %arrayidx114 = getelementptr inbounds i16, i16* %140, i64 %idxprom113 + store i16 %138, i16* %arrayidx114, align 2 + %142 = load i16*, i16** %p, align 8 + %incdec.ptr115 = getelementptr inbounds i16, i16* %142, i32 1 + store i16* %incdec.ptr115, i16** %p, align 8 + %143 = load i16, i16* %incdec.ptr115, align 2 + %144 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx116 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %144, i32 0, i32 24 + %145 = load i16*, i16** %index2ruleidx116, align 8 + %146 = load i16, i16* %i, align 2 + %conv117 = zext i16 %146 to i32 + %sub118 = sub nsw i32 %conv117, 1 + %idxprom119 = sext i32 %sub118 to i64 + %arrayidx120 = getelementptr inbounds i16, i16* %145, i64 %idxprom119 + store i16 %143, i16* %arrayidx120, align 2 + br label %while.cond105 + +while.end121: ; preds = %while.cond105 + store i16 0, i16* %i, align 2 + br label %for.cond + +for.cond: ; preds = %for.inc, %while.end121 + %147 = load i16, i16* %i, align 2 + %conv122 = zext i16 %147 to i32 + %148 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %multistart_tbl123 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %148, i32 0, i32 18 + %149 = load i16*, i16** %multistart_tbl123, align 8 + %arrayidx124 = getelementptr inbounds i16, i16* %149, i64 0 + %150 = load i16, i16* %arrayidx124, align 2 + %conv125 = zext i16 %150 to i32 + %cmp126 = icmp slt i32 %conv122, %conv125 + br i1 %cmp126, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %151 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %multistart_tbl128 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %151, i32 0, i32 18 + %152 = load i16*, i16** %multistart_tbl128, align 8 + store i16* %152, i16** %p, align 8 + %153 = load i16*, i16** %p, align 8 + %154 = load i16, i16* %i, align 2 + %idxprom129 = zext i16 %154 to i64 + %arrayidx130 = getelementptr inbounds i16, i16* %153, i64 %idxprom129 + %155 = load i16, i16* %arrayidx130, align 2 + %conv131 = zext i16 %155 to i32 + %156 = load i16*, i16** %p, align 8 + %idx.ext132 = sext i32 %conv131 to i64 + %add.ptr133 = getelementptr inbounds i16, i16* %156, i64 %idx.ext132 + store i16* %add.ptr133, i16** %p, align 8 + br label %do.body134 + +do.body134: ; preds = %do.body141, %for.body + %157 = load i16*, i16** %p, align 8 + %incdec.ptr135 = getelementptr inbounds i16, i16* %157, i32 1 + store i16* %incdec.ptr135, i16** %p, align 8 + %158 = load i16, i16* %157, align 2 + %conv136 = zext i16 %158 to i64 + store i64 %conv136, i64* %n, align 8 + %159 = load i16*, i16** %p, align 8 + %160 = load i16, i16* %159, align 2 + %tobool138 = icmp ne i16 %160, 0 + br i1 %tobool138, label %do.body141, label %for.inc + +do.body141: ; preds = %do.body134, %do.body141 + %161 = load i16*, i16** %p, align 8 + %incdec.ptr143 = getelementptr inbounds i16, i16* %161, i32 1 + store i16* %incdec.ptr143, i16** %p, align 8 + %162 = load i16, i16* %161, align 2 + %tobool144 = icmp ne i16 %162, 0 + br i1 %tobool144, label %do.body141, label %do.body134 + +for.inc: ; preds = %do.body134 + %163 = load i16, i16* %i, align 2 + %inc150 = add i16 %163, 1 + store i16 %inc150, i16* %i, align 2 + br label %for.cond + +for.end: ; preds = %for.cond + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %for.end, %if.then69, %if.then + %164 = load i32, i32* %retval, align 4 + ret i32 %164 +} + +; Function Attrs: nounwind +declare void @free(i8*) #2 + +; Function Attrs: nounwind +declare noalias i8* @calloc(i64, i64) #2 + +; Function Attrs: noinline nounwind uwtable +define hidden void @_locale_init_l(%struct.__uclibc_locale_struct.201* %base) #0 { +entry: + %base.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + store %struct.__uclibc_locale_struct.201* %base, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 6 + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + %call = call i8* @memset(i8* %arraydecay, i32 0, i64 14) #19 + %1 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale1 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %1, i32 0, i32 6 + %arrayidx = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale1, i64 0, i64 0 + store i8 35, i8* %arrayidx, align 8 + %2 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_item_count = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %2, i32 0, i32 8 + %arraydecay2 = getelementptr inbounds [6 x i8], [6 x i8]* %category_item_count, i64 0, i64 0 + %3 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_common_item_offsets_LEN = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %3, i32 0, i32 29 + %arraydecay3 = getelementptr inbounds [6 x i8], [6 x i8]* %lc_common_item_offsets_LEN, i64 0, i64 0 + %call4 = call i8* @memcpy(i8* %arraydecay2, i8* %arraydecay3, i64 6) #19 + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_item_count5 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %4, i32 0, i32 8 + %arrayidx6 = getelementptr inbounds [6 x i8], [6 x i8]* %category_item_count5, i64 0, i64 0 + %5 = load i8, i8* %arrayidx6, align 2 + %inc = add i8 %5, 1 + store i8 %inc, i8* %arrayidx6, align 2 + %6 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %6, i32 0, i32 7 + %arrayidx7 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets, i64 0, i64 0 + store i16 2488, i16* %arrayidx7, align 2 + %7 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets8 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %7, i32 0, i32 7 + %arrayidx9 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets8, i64 0, i64 1 + store i16 2576, i16* %arrayidx9, align 2 + %8 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets10 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %8, i32 0, i32 7 + %arrayidx11 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets10, i64 0, i64 2 + store i16 2600, i16* %arrayidx11, align 2 + %9 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets12 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %9, i32 0, i32 7 + %arrayidx13 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets12, i64 0, i64 3 + store i16 2776, i16* %arrayidx13, align 2 + %10 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets14 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %10, i32 0, i32 7 + %arrayidx15 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets14, i64 0, i64 5 + store i16 3176, i16* %arrayidx15, align 2 + %11 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8ctype = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %11, i32 0, i32 0 + %12 = bitcast [420 x i8]* %tbl8ctype to i8* + %13 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8ctype16 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %13, i32 0, i32 13 + store i8* %12, i8** %tbl8ctype16, align 8 + %14 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8uplow = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %14, i32 0, i32 1 + %15 = bitcast [504 x i8]* %tbl8uplow to i8* + %16 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8uplow17 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %16, i32 0, i32 15 + store i8* %15, i8** %tbl8uplow17, align 8 + %17 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8c2wc = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %17, i32 0, i32 2 + %18 = bitcast [1760 x i16]* %tbl8c2wc to i16* + %19 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8c2wc18 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %19, i32 0, i32 17 + store i16* %18, i16** %tbl8c2wc18, align 8 + %20 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8wc2c = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %20, i32 0, i32 3 + %21 = bitcast [4528 x i8]* %tbl8wc2c to i8* + %22 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8wc2c19 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %22, i32 0, i32 19 + store i8* %21, i8** %tbl8wc2c19, align 8 + %23 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tblwctype = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %23, i32 0, i32 4 + %24 = bitcast [3604 x i8]* %tblwctype to i8* + %25 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tblwctype20 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %25, i32 0, i32 21 + store i8* %24, i8** %tblwctype20, align 8 + %26 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tblwuplow = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %26, i32 0, i32 5 + %27 = bitcast [1680 x i8]* %tblwuplow to i8* + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tblwuplow21 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %28, i32 0, i32 22 + store i8* %27, i8** %tblwuplow21, align 8 + %29 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tblwuplow_diff = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %29, i32 0, i32 6 + %30 = bitcast [196 x i16]* %tblwuplow_diff to i16* + %31 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tblwuplow_diff22 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %31, i32 0, i32 23 + store i16* %30, i16** %tblwuplow_diff22, align 8 + %32 = load i16*, i16** @__C_ctype_b, align 8 + %33 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %33, i32 0, i32 0 + store i16* %32, i16** %__ctype_b, align 8 + %34 = load i16*, i16** @__C_ctype_tolower, align 8 + %35 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %35, i32 0, i32 1 + store i16* %34, i16** %__ctype_tolower, align 8 + %36 = load i16*, i16** @__C_ctype_toupper, align 8 + %37 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %37, i32 0, i32 2 + store i16* %36, i16** %__ctype_toupper, align 8 + %38 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %code2flag = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %38, i32 0, i32 20 + store i16* getelementptr inbounds ([16 x i16], [16 x i16]* @__code2flag, i64 0, i64 0), i16** %code2flag, align 8 + %39 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call23 = call i32 @_locale_set_l(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.76, i64 0, i64 0), %struct.__uclibc_locale_struct.201* %39) #18 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_locale_init() #0 { +entry: + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__global_locale, align 8 + call void @_locale_init_l(%struct.__uclibc_locale_struct.201* %0) #18 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @sigblock(i32 %mask) #0 { +entry: + %retval = alloca i32, align 4 + %mask.addr = alloca i32, align 4 + %set = alloca %struct.fd_set, align 8 + %oset = alloca %struct.fd_set, align 8 + store i32 %mask, i32* %mask.addr, align 4 + %0 = load i32, i32* %mask.addr, align 4 + %call = call i32 @sigset_set_old_mask(%struct.fd_set* %set, i32 %0) #18 + %cmp = icmp slt i32 %call, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %call1 = call i32 @sigprocmask(i32 0, %struct.fd_set* %set, %struct.fd_set* %oset) #19 + %cmp2 = icmp slt i32 %call1, 0 + br i1 %cmp2, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.end + store i32 -1, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %if.end + %call5 = call i32 @sigset_get_old_mask(%struct.fd_set* %oset) #18 + store i32 %call5, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %1 = load i32, i32* %retval, align 4 + ret i32 %1 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @sigset_set_old_mask(%struct.fd_set* %set, i32 %mask) #0 { +entry: + %set.addr = alloca %struct.fd_set*, align 8 + %mask.addr = alloca i32, align 4 + %ptr = alloca i64*, align 8 + %cnt = alloca i32, align 4 + store %struct.fd_set* %set, %struct.fd_set** %set.addr, align 8 + store i32 %mask, i32* %mask.addr, align 4 + %0 = load %struct.fd_set*, %struct.fd_set** %set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %0, i32 0, i32 0 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 0 + store i64* %arrayidx, i64** %ptr, align 8 + %1 = load i32, i32* %mask.addr, align 4 + %conv = zext i32 %1 to i64 + %2 = load i64*, i64** %ptr, align 8 + %incdec.ptr = getelementptr inbounds i64, i64* %2, i32 1 + store i64* %incdec.ptr, i64** %ptr, align 8 + store i64 %conv, i64* %2, align 8 + store i32 14, i32* %cnt, align 4 + br label %do.body + +do.body: ; preds = %do.body, %entry + %3 = load i64*, i64** %ptr, align 8 + %incdec.ptr1 = getelementptr inbounds i64, i64* %3, i32 1 + store i64* %incdec.ptr1, i64** %ptr, align 8 + store i64 0, i64* %3, align 8 + %4 = load i32, i32* %cnt, align 4 + %dec = add nsw i32 %4, -1 + store i32 %dec, i32* %cnt, align 4 + %cmp = icmp sge i32 %dec, 0 + br i1 %cmp, label %do.body, label %do.end + +do.end: ; preds = %do.body + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @sigset_get_old_mask(%struct.fd_set* %set) #0 { +entry: + %set.addr = alloca %struct.fd_set*, align 8 + store %struct.fd_set* %set, %struct.fd_set** %set.addr, align 8 + %0 = load %struct.fd_set*, %struct.fd_set** %set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %0, i32 0, i32 0 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 0 + %1 = load i64, i64* %arrayidx, align 8 + %conv = trunc i64 %1 to i32 + ret i32 %conv +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_stdio_term() #0 { +entry: + %ptr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %0, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %1, null + br i1 %tobool, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 0 + %3 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %3 to i32 + %and = and i32 %conv, 64 + %tobool1 = icmp ne i32 %and, 0 + br i1 %tobool1, label %if.then, label %for.inc + +if.then: ; preds = %for.body + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %call = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %4) #18 + br label %for.inc + +for.inc: ; preds = %for.body, %if.then + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 9 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %6, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_stdio_init() #0 { +entry: + %old_errno = alloca i32, align 4 + %0 = load i32, i32* @errno, align 4 + store i32 %0, i32* %old_errno, align 4 + %call = call i32 @isatty(i32 0) #19 + %sub = sub nsw i32 1, %call + %mul = mul i32 %sub, 256 + %1 = load i16, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 0, i32 0), align 16 + %conv = zext i16 %1 to i32 + %xor = xor i32 %conv, %mul + %conv1 = trunc i32 %xor to i16 + store i16 %conv1, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 0, i32 0), align 16 + %call2 = call i32 @isatty(i32 1) #19 + %sub3 = sub nsw i32 1, %call2 + %mul4 = mul i32 %sub3, 256 + %2 = load i16, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 1, i32 0), align 8 + %conv5 = zext i16 %2 to i32 + %xor6 = xor i32 %conv5, %mul4 + %conv7 = trunc i32 %xor6 to i16 + store i16 %conv7, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 1, i32 0), align 8 + %3 = load i32, i32* %old_errno, align 4 + store i32 %3, i32* @errno, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getchar_unlocked() #0 { +entry: + %stream = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdin, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %0, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %1, i32 0, i32 5 + %2 = load i8*, i8** %__bufpos, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 7 + %4 = load i8*, i8** %__bufgetc_u, align 8 + %cmp = icmp ult i8* %2, %4 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %entry + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 5 + %6 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + %7 = load i8, i8* %6, align 1 + %conv = zext i8 %7 to i32 + br label %cond.end + +cond.false: ; preds = %entry + %call = call i32 @__fgetc_unlocked(%struct.__STDIO_FILE_STRUCT.568* %5) #18 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ %conv, %cond.true ], [ %call, %cond.false ] + ret i32 %cond +} + +; Function Attrs: noinline noreturn nounwind uwtable +declare void @abort() #1 + +; Function Attrs: noreturn +declare void @_exit(i32) #13 + +; Function Attrs: noinline noreturn nounwind uwtable +define void @exit(i32 %rv) #1 { +entry: + %rv.addr = alloca i32, align 4 + store i32 %rv, i32* %rv.addr, align 4 + %0 = load void (i32)*, void (i32)** @__exit_cleanup, align 8 + %tobool = icmp ne void (i32)* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load void (i32)*, void (i32)** @__exit_cleanup, align 8 + %2 = load i32, i32* %rv.addr, align 4 + call void %1(i32 %2) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + call void @__uClibc_fini() #18 + call void @_stdio_term() #18 + %3 = load i32, i32* %rv.addr, align 4 + call void @_exit(i32 %3) #27 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define i8* @memcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r1 = alloca i8*, align 8 + %r2 = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %r1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %r2, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %2 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load i8*, i8** %r2, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %r2, align 8 + %4 = load i8, i8* %3, align 1 + %5 = load i8*, i8** %r1, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr1, i8** %r1, align 8 + store i8 %4, i8* %5, align 1 + %6 = load i64, i64* %n.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %7 = load i8*, i8** %s1.addr, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @memset(i8* nonnull %s, i32 %c, i64 %n) #0 { +entry: + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %n.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %1 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %2 = load i32, i32* %c.addr, align 4 + %conv = trunc i32 %2 to i8 + %3 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + store i8 %conv, i8* %3, align 1 + %4 = load i64, i64* %n.addr, align 8 + %dec = add i64 %4, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %5 = load i8*, i8** %s.addr, align 8 + ret i8* %5 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @strrchr(i8* nonnull %s, i32 %c) #14 { +entry: + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i8* null, i8** %p, align 8 + br label %do.body + +do.body: ; preds = %do.cond, %entry + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %2 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %2 to i8 + %conv2 = sext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + br i1 %cmp, label %if.then, label %do.cond + +if.then: ; preds = %do.body + %3 = load i8*, i8** %s.addr, align 8 + store i8* %3, i8** %p, align 8 + br label %do.cond + +do.cond: ; preds = %do.body, %if.then + %4 = load i8*, i8** %s.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr, i8** %s.addr, align 8 + %5 = load i8, i8* %4, align 1 + %tobool = icmp ne i8 %5, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %6 = load i8*, i8** %p, align 8 + ret i8* %6 +} + +; Function Attrs: noinline noreturn nounwind uwtable +define dso_local void @usage(i32 %status) #6 { +entry: + %status.addr = alloca i32, align 4 + store i32 %status, i32* %status.addr, align 4 + %0 = load i32, i32* %status.addr, align 4 + %cmp = icmp ne i32 %0, 0 + br i1 %cmp, label %do.body, label %if.else + +do.body: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stderr to %struct._IO_FILE**), align 8 + %2 = load i8*, i8** @program_name, align 8 + %call = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %1, i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.95, i64 0, i64 0), i8* %2) + br label %if.end + +if.else: ; preds = %entry + %3 = load i8*, i8** @program_name, align 8 + %call1 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([35 x i8], [35 x i8]* @.str.1.96, i64 0, i64 0), i8* %3) + %4 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call2 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([150 x i8], [150 x i8]* @.str.2.97, i64 0, i64 0), %struct._IO_FILE* %4) + %5 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call3 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.3.98, i64 0, i64 0), %struct._IO_FILE* %5) + %6 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call4 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([208 x i8], [208 x i8]* @.str.4.99, i64 0, i64 0), %struct._IO_FILE* %6) + %7 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call5 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([253 x i8], [253 x i8]* @.str.5.100, i64 0, i64 0), %struct._IO_FILE* %7) + %8 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call6 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([491 x i8], [491 x i8]* @.str.6.101, i64 0, i64 0), %struct._IO_FILE* %8) + %9 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call7 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([64 x i8], [64 x i8]* @.str.7.102, i64 0, i64 0), %struct._IO_FILE* %9) + %10 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call8 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.8.103, i64 0, i64 0), %struct._IO_FILE* %10) + %11 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call9 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.9.104, i64 0, i64 0), %struct._IO_FILE* %11) + %12 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call10 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([818 x i8], [818 x i8]* @.str.10.105, i64 0, i64 0), %struct._IO_FILE* %12) + call void @emit_ancillary_info(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.11.106, i64 0, i64 0)) + br label %if.end + +if.end: ; preds = %if.else, %do.body + %13 = load i32, i32* %status.addr, align 4 + call void @exit(i32 %13) #26 + unreachable +} + +declare dso_local i32 @printf(i8*, ...) #5 + +; Function Attrs: noinline nounwind uwtable +define internal void @emit_ancillary_info(i8* %program) #3 { +entry: + %program.addr = alloca i8*, align 8 + %infomap = alloca [7 x %struct.infomap], align 16 + %node = alloca i8*, align 8 + %map_prog = alloca %struct.infomap*, align 8 + %lc_messages = alloca i8*, align 8 + store i8* %program, i8** %program.addr, align 8 + %0 = bitcast [7 x %struct.infomap]* %infomap to i8* + %1 = call i8* @memcpy(i8* %0, i8* bitcast ([7 x %struct.infomap]* @__const.emit_ancillary_info.infomap to i8*), i64 112) + %2 = load i8*, i8** %program.addr, align 8 + store i8* %2, i8** %node, align 8 + %arraydecay = getelementptr inbounds [7 x %struct.infomap], [7 x %struct.infomap]* %infomap, i64 0, i64 0 + store %struct.infomap* %arraydecay, %struct.infomap** %map_prog, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %3 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + %program1 = getelementptr inbounds %struct.infomap, %struct.infomap* %3, i32 0, i32 0 + %4 = load i8*, i8** %program1, align 8 + %tobool = icmp ne i8* %4, null + br i1 %tobool, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %5 = load i8*, i8** %program.addr, align 8 + %6 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + %program2 = getelementptr inbounds %struct.infomap, %struct.infomap* %6, i32 0, i32 0 + %7 = load i8*, i8** %program2, align 8 + %call = call i32 @strcmp(i8* %5, i8* %7) #23 + %cmp = icmp eq i32 %call, 0 + %lnot = xor i1 %cmp, true + br label %land.end + +land.end: ; preds = %land.rhs, %while.cond + %8 = phi i1 [ false, %while.cond ], [ %lnot, %land.rhs ] + %9 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + br i1 %8, label %while.body, label %while.end + +while.body: ; preds = %land.end + %incdec.ptr = getelementptr inbounds %struct.infomap, %struct.infomap* %9, i32 1 + store %struct.infomap* %incdec.ptr, %struct.infomap** %map_prog, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %node3 = getelementptr inbounds %struct.infomap, %struct.infomap* %9, i32 0, i32 1 + %10 = load i8*, i8** %node3, align 8 + %tobool4 = icmp ne i8* %10, null + br i1 %tobool4, label %if.then, label %if.end + +if.then: ; preds = %while.end + %11 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + %node5 = getelementptr inbounds %struct.infomap, %struct.infomap* %11, i32 0, i32 1 + %12 = load i8*, i8** %node5, align 8 + store i8* %12, i8** %node, align 8 + br label %if.end + +if.end: ; preds = %if.then, %while.end + %call6 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.38, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.20.107, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.39, i64 0, i64 0)) + %call7 = call i8* @setlocale(i32 5, i8* null) #11 + store i8* %call7, i8** %lc_messages, align 8 + %13 = load i8*, i8** %lc_messages, align 8 + %tobool8 = icmp ne i8* %13, null + br i1 %tobool8, label %land.lhs.true, label %if.end13 + +land.lhs.true: ; preds = %if.end + %14 = load i8*, i8** %lc_messages, align 8 + %call9 = call i32 @strncmp(i8* %14, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.40, i64 0, i64 0), i64 3) #23 + %tobool10 = icmp ne i32 %call9, 0 + br i1 %tobool10, label %if.then11, label %if.end13 + +if.then11: ; preds = %land.lhs.true + %15 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call12 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.41, i64 0, i64 0), %struct._IO_FILE* %15) + br label %if.end13 + +if.end13: ; preds = %if.then11, %land.lhs.true, %if.end + %16 = load i8*, i8** %program.addr, align 8 + %call14 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.42, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.39, i64 0, i64 0), i8* %16) + %17 = load i8*, i8** %node, align 8 + %18 = load i8*, i8** %node, align 8 + %19 = load i8*, i8** %program.addr, align 8 + %cmp15 = icmp eq i8* %18, %19 + %20 = zext i1 %cmp15 to i64 + %cond = select i1 %cmp15, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.44, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.12.108, i64 0, i64 0) + %call16 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([51 x i8], [51 x i8]* @.str.43, i64 0, i64 0), i8* %17, i8* %cond) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__klee_posix_wrapped_main(i32 %argc, i8** %argv) #3 { +entry: + %retval = alloca i32, align 4 + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optc_status = alloca i32, align 4 + %prev_optc_status = alloca i32, align 4 + %operand_status = alloca [2 x i32], align 4 + %joption_count = alloca [2 x i32], align 4 + %fp1 = alloca %struct._IO_FILE*, align 8 + %fp2 = alloca %struct._IO_FILE*, align 8 + %optc = alloca i32, align 4 + %nfiles = alloca i32, align 4 + %i = alloca i32, align 4 + %val = alloca i64, align 8 + %is_j2 = alloca i8, align 1 + %newtab = alloca i8, align 1 + store i32 0, i32* %retval, align 4 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i32 0, i32* %prev_optc_status, align 4 + %0 = bitcast [2 x i32]* %joption_count to i8* + %1 = call i8* @memset(i8* %0, i32 0, i64 8) + store i32 0, i32* %nfiles, align 4 + %2 = load i8**, i8*** %argv.addr, align 8 + %arrayidx = getelementptr inbounds i8*, i8** %2, i64 0 + %3 = load i8*, i8** %arrayidx, align 8 + call void @set_program_name(i8* %3) + %call = call i8* @setlocale(i32 6, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.12.108, i64 0, i64 0)) #11 + %call1 = call zeroext i1 @hard_locale(i32 3) + %frombool = zext i1 %call1 to i8 + store i8 %frombool, i8* @hard_LC_COLLATE, align 1 + %call2 = call i32 @atexit(void ()* @close_stdout) #11 + %call3 = call i32 @atexit(void ()* @free_spareline) #11 + store i8 1, i8* @print_pairables, align 1 + store i8 0, i8* @seen_unpairable, align 1 + store i8 0, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @issued_disorder_warning, i64 0, i64 1), align 1 + store i8 0, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @issued_disorder_warning, i64 0, i64 0), align 1 + store i32 0, i32* @check_input_order, align 4 + br label %while.cond + +while.cond: ; preds = %sw.epilog, %entry + %4 = load i32, i32* %argc.addr, align 4 + %5 = load i8**, i8*** %argv.addr, align 8 + %call4 = call i32 @getopt_long(i32 %4, i8** %5, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.13.118, i64 0, i64 0), %struct.option* getelementptr inbounds ([8 x %struct.option], [8 x %struct.option]* @longopts, i64 0, i64 0), i32* null) #11 + store i32 %call4, i32* %optc, align 4 + %cmp = icmp ne i32 %call4, -1 + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + store i32 0, i32* %optc_status, align 4 + %6 = load i32, i32* %optc, align 4 + br label %NodeBlock29 + +NodeBlock29: ; preds = %while.body + %case.cmp30 = icmp eq i32 %6, 118 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %6, 97 + br i1 %case.cmp28, label %sw.bb5, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %6, 101 + br i1 %case.cmp26, label %sw.bb14, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %6, 105 + br i1 %case.cmp24, label %sw.bb20, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %6, 49 + br i1 %case.cmp22, label %sw.bb21, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %6, 50 + br i1 %case.cmp20, label %sw.bb23, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %6, 106 + br i1 %case.cmp18, label %sw.bb25, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %6, 111 + br i1 %case.cmp16, label %sw.bb55, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %6, 116 + br i1 %case.cmp14, label %sw.bb62, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %6, 122 + br i1 %case.cmp12, label %sw.bb88, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %6, 129 + br i1 %case.cmp10, label %sw.bb89, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %6, 128 + br i1 %case.cmp8, label %sw.bb90, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %6, 1 + br i1 %case.cmp6, label %sw.bb91, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %6, 130 + br i1 %case.cmp4, label %sw.bb93, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %6, -130 + br i1 %case.cmp2, label %sw.bb94, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %6, -131 + br i1 %case.cmp, label %sw.bb95, label %newDefault + +sw.bb: ; preds = %NodeBlock29 + store i8 0, i8* @print_pairables, align 1 + br label %sw.bb5 + +sw.bb5: ; preds = %NodeBlock27, %sw.bb + %7 = load i8*, i8** @optarg, align 8 + %call6 = call i32 @xstrtoul(i8* %7, i8** null, i32 10, i64* %val, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.12.108, i64 0, i64 0)) + %cmp7 = icmp ne i32 %call6, 0 + br i1 %cmp7, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %sw.bb5 + %8 = load i64, i64* %val, align 8 + %cmp8 = icmp ne i64 %8, 1 + %9 = load i64, i64* %val, align 8 + %cmp9 = icmp ne i64 %9, 2 + %or.cond = and i1 %cmp8, %cmp9 + br i1 %or.cond, label %if.then, label %if.end + +if.then: ; preds = %lor.lhs.false, %sw.bb5 + %10 = load i8*, i8** @optarg, align 8 + %call10 = call i8* @quote(i8* %10) + call void (i32, i32, i8*, ...) @error(i32 1, i32 0, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.14.119, i64 0, i64 0), i8* %call10) + unreachable + +if.end: ; preds = %lor.lhs.false + %11 = load i64, i64* %val, align 8 + %cmp11 = icmp eq i64 %11, 1 + br i1 %cmp11, label %if.then12, label %if.else + +if.then12: ; preds = %if.end + store i8 1, i8* @print_unpairables_1, align 1 + br label %sw.epilog + +if.else: ; preds = %if.end + store i8 1, i8* @print_unpairables_2, align 1 + br label %sw.epilog + +sw.bb14: ; preds = %NodeBlock25 + %12 = load i8*, i8** @empty_filler, align 8 + %tobool = icmp ne i8* %12, null + br i1 %tobool, label %land.lhs.true15, label %if.end19 + +land.lhs.true15: ; preds = %sw.bb14 + %13 = load i8*, i8** @empty_filler, align 8 + %14 = load i8*, i8** @optarg, align 8 + %call16 = call i32 @strcmp(i8* %13, i8* %14) #23 + %cmp17 = icmp eq i32 %call16, 0 + br i1 %cmp17, label %if.end19, label %if.then18 + +if.then18: ; preds = %land.lhs.true15 + call void (i32, i32, i8*, ...) @error(i32 1, i32 0, i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.15.120, i64 0, i64 0)) + unreachable + +if.end19: ; preds = %land.lhs.true15, %sw.bb14 + %15 = load i8*, i8** @optarg, align 8 + store i8* %15, i8** @empty_filler, align 8 + br label %sw.epilog + +sw.bb20: ; preds = %NodeBlock23 + store i8 1, i8* @ignore_case, align 1 + br label %sw.epilog + +sw.bb21: ; preds = %NodeBlock21 + %16 = load i8*, i8** @optarg, align 8 + %call22 = call i64 @string_to_join_field(i8* %16) + call void @set_join_field(i64* @join_field_1, i64 %call22) + br label %sw.epilog + +sw.bb23: ; preds = %NodeBlock19 + %17 = load i8*, i8** @optarg, align 8 + %call24 = call i64 @string_to_join_field(i8* %17) + call void @set_join_field(i64* @join_field_2, i64 %call24) + br label %sw.epilog + +sw.bb25: ; preds = %NodeBlock17 + %18 = load i8*, i8** @optarg, align 8 + %arrayidx26 = getelementptr inbounds i8, i8* %18, i64 0 + %19 = load i8, i8* %arrayidx26, align 1 + %conv = sext i8 %19 to i32 + %cmp27 = icmp eq i32 %conv, 49 + br i1 %cmp27, label %land.lhs.true34, label %lor.lhs.false29 + +lor.lhs.false29: ; preds = %sw.bb25 + %20 = load i8*, i8** @optarg, align 8 + %arrayidx30 = getelementptr inbounds i8, i8* %20, i64 0 + %21 = load i8, i8* %arrayidx30, align 1 + %conv31 = sext i8 %21 to i32 + %cmp32 = icmp eq i32 %conv31, 50 + br i1 %cmp32, label %land.lhs.true34, label %if.else52 + +land.lhs.true34: ; preds = %lor.lhs.false29, %sw.bb25 + %22 = load i8*, i8** @optarg, align 8 + %arrayidx35 = getelementptr inbounds i8, i8* %22, i64 1 + %23 = load i8, i8* %arrayidx35, align 1 + %tobool36 = icmp ne i8 %23, 0 + br i1 %tobool36, label %if.else52, label %land.lhs.true37 + +land.lhs.true37: ; preds = %land.lhs.true34 + %24 = load i8*, i8** @optarg, align 8 + %25 = load i8**, i8*** %argv.addr, align 8 + %26 = load i32, i32* @optind, align 4 + %sub = sub nsw i32 %26, 1 + %idxprom = sext i32 %sub to i64 + %arrayidx38 = getelementptr inbounds i8*, i8** %25, i64 %idxprom + %27 = load i8*, i8** %arrayidx38, align 8 + %add.ptr = getelementptr inbounds i8, i8* %27, i64 2 + %cmp39 = icmp eq i8* %24, %add.ptr + br i1 %cmp39, label %if.then41, label %if.else52 + +if.then41: ; preds = %land.lhs.true37 + %28 = load i8*, i8** @optarg, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %28, i64 0 + %29 = load i8, i8* %arrayidx42, align 1 + %conv43 = sext i8 %29 to i32 + %cmp44 = icmp eq i32 %conv43, 50 + %frombool46 = zext i1 %cmp44 to i8 + store i8 %frombool46, i8* %is_j2, align 1 + %30 = load i8, i8* %is_j2, align 1 + %tobool47 = trunc i8 %30 to i1 + %idxprom48 = zext i1 %tobool47 to i64 + %arrayidx49 = getelementptr inbounds [2 x i32], [2 x i32]* %joption_count, i64 0, i64 %idxprom48 + %31 = load i32, i32* %arrayidx49, align 4 + %inc = add nsw i32 %31, 1 + store i32 %inc, i32* %arrayidx49, align 4 + %32 = load i8, i8* %is_j2, align 1 + %tobool50 = trunc i8 %32 to i1 + %conv51 = zext i1 %tobool50 to i32 + %add = add nsw i32 1, %conv51 + store i32 %add, i32* %optc_status, align 4 + br label %sw.epilog + +if.else52: ; preds = %land.lhs.true37, %land.lhs.true34, %lor.lhs.false29 + %33 = load i8*, i8** @optarg, align 8 + %call53 = call i64 @string_to_join_field(i8* %33) + call void @set_join_field(i64* @join_field_1, i64 %call53) + %34 = load i64, i64* @join_field_1, align 8 + call void @set_join_field(i64* @join_field_2, i64 %34) + br label %sw.epilog + +sw.bb55: ; preds = %NodeBlock15 + %35 = load i8*, i8** @optarg, align 8 + %call56 = call i32 @strcmp(i8* %35, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.16.121, i64 0, i64 0)) #23 + %cmp57 = icmp eq i32 %call56, 0 + br i1 %cmp57, label %if.then59, label %if.else60 + +if.then59: ; preds = %sw.bb55 + store i8 1, i8* @autoformat, align 1 + br label %sw.epilog + +if.else60: ; preds = %sw.bb55 + %36 = load i8*, i8** @optarg, align 8 + call void @add_field_list(i8* %36) + store i32 3, i32* %optc_status, align 4 + br label %sw.epilog + +sw.bb62: ; preds = %NodeBlock13 + %37 = load i8*, i8** @optarg, align 8 + %arrayidx63 = getelementptr inbounds i8, i8* %37, i64 0 + %38 = load i8, i8* %arrayidx63, align 1 + store i8 %38, i8* %newtab, align 1 + %39 = load i8, i8* %newtab, align 1 + %tobool64 = icmp ne i8 %39, 0 + br i1 %tobool64, label %if.else66, label %if.then65 + +if.then65: ; preds = %sw.bb62 + store i8 10, i8* %newtab, align 1 + br label %if.end78 + +if.else66: ; preds = %sw.bb62 + %40 = load i8*, i8** @optarg, align 8 + %arrayidx67 = getelementptr inbounds i8, i8* %40, i64 1 + %41 = load i8, i8* %arrayidx67, align 1 + %tobool68 = icmp ne i8 %41, 0 + br i1 %tobool68, label %if.then69, label %if.end78 + +if.then69: ; preds = %if.else66 + %42 = load i8*, i8** @optarg, align 8 + %call70 = call i32 @strcmp(i8* %42, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.17.122, i64 0, i64 0)) #23 + %cmp71 = icmp eq i32 %call70, 0 + br i1 %cmp71, label %if.then73, label %if.else74 + +if.then73: ; preds = %if.then69 + store i8 0, i8* %newtab, align 1 + br label %if.end78 + +if.else74: ; preds = %if.then69 + %43 = load i8*, i8** @optarg, align 8 + %call75 = call i8* @quote(i8* %43) + call void (i32, i32, i8*, ...) @error(i32 1, i32 0, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.18.123, i64 0, i64 0), i8* %call75) + unreachable + +if.end78: ; preds = %if.else66, %if.then73, %if.then65 + %44 = load i32, i32* @tab, align 4 + %cmp79 = icmp sle i32 0, %44 + br i1 %cmp79, label %land.lhs.true81, label %if.end86 + +land.lhs.true81: ; preds = %if.end78 + %45 = load i32, i32* @tab, align 4 + %46 = load i8, i8* %newtab, align 1 + %conv82 = zext i8 %46 to i32 + %cmp83 = icmp ne i32 %45, %conv82 + br i1 %cmp83, label %if.then85, label %if.end86 + +if.then85: ; preds = %land.lhs.true81 + call void (i32, i32, i8*, ...) @error(i32 1, i32 0, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.19.124, i64 0, i64 0)) + unreachable + +if.end86: ; preds = %land.lhs.true81, %if.end78 + %47 = load i8, i8* %newtab, align 1 + %conv87 = zext i8 %47 to i32 + store i32 %conv87, i32* @tab, align 4 + br label %sw.epilog + +sw.bb88: ; preds = %NodeBlock11 + store i8 0, i8* @eolchar, align 1 + br label %sw.epilog + +sw.bb89: ; preds = %NodeBlock9 + store i32 2, i32* @check_input_order, align 4 + br label %sw.epilog + +sw.bb90: ; preds = %NodeBlock7 + store i32 1, i32* @check_input_order, align 4 + br label %sw.epilog + +sw.bb91: ; preds = %NodeBlock5 + %48 = load i8*, i8** @optarg, align 8 + %arraydecay = getelementptr inbounds [2 x i32], [2 x i32]* %operand_status, i64 0, i64 0 + %arraydecay92 = getelementptr inbounds [2 x i32], [2 x i32]* %joption_count, i64 0, i64 0 + call void @add_file_name(i8* %48, i8** getelementptr inbounds ([2 x i8*], [2 x i8*]* @g_names, i64 0, i64 0), i32* %arraydecay, i32* %arraydecay92, i32* %nfiles, i32* %prev_optc_status, i32* %optc_status) + br label %sw.epilog + +sw.bb93: ; preds = %NodeBlock3 + store i8 1, i8* @join_header_lines, align 1 + br label %sw.epilog + +sw.bb94: ; preds = %NodeBlock1 + call void @usage(i32 0) #24 + unreachable + +sw.bb95: ; preds = %NodeBlock + %49 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %50 = load i8*, i8** @Version, align 8 + call void (%struct._IO_FILE*, i8*, i8*, i8*, ...) @version_etc(%struct._IO_FILE* %49, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.11.106, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.20.107, i64 0, i64 0), i8* %50, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.21.125, i64 0, i64 0), i8* null) + call void @exit(i32 0) #26 + unreachable + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @usage(i32 1) #24 + unreachable + +sw.epilog: ; preds = %if.then59, %if.else60, %if.then41, %if.else52, %if.then12, %if.else, %sw.bb93, %sw.bb91, %sw.bb90, %sw.bb89, %sw.bb88, %if.end86, %sw.bb23, %sw.bb21, %sw.bb20, %if.end19 + %51 = load i32, i32* %optc_status, align 4 + store i32 %51, i32* %prev_optc_status, align 4 + br label %while.cond + +while.end: ; preds = %while.cond + store i32 0, i32* %prev_optc_status, align 4 + br label %while.cond96 + +while.cond96: ; preds = %while.body99, %while.end + %52 = load i32, i32* @optind, align 4 + %53 = load i32, i32* %argc.addr, align 4 + %cmp97 = icmp slt i32 %52, %53 + br i1 %cmp97, label %while.body99, label %while.end105 + +while.body99: ; preds = %while.cond96 + %54 = load i8**, i8*** %argv.addr, align 8 + %55 = load i32, i32* @optind, align 4 + %inc100 = add nsw i32 %55, 1 + store i32 %inc100, i32* @optind, align 4 + %idxprom101 = sext i32 %55 to i64 + %arrayidx102 = getelementptr inbounds i8*, i8** %54, i64 %idxprom101 + %56 = load i8*, i8** %arrayidx102, align 8 + %arraydecay103 = getelementptr inbounds [2 x i32], [2 x i32]* %operand_status, i64 0, i64 0 + %arraydecay104 = getelementptr inbounds [2 x i32], [2 x i32]* %joption_count, i64 0, i64 0 + call void @add_file_name(i8* %56, i8** getelementptr inbounds ([2 x i8*], [2 x i8*]* @g_names, i64 0, i64 0), i32* %arraydecay103, i32* %arraydecay104, i32* %nfiles, i32* %prev_optc_status, i32* %optc_status) + br label %while.cond96 + +while.end105: ; preds = %while.cond96 + %57 = load i32, i32* %nfiles, align 4 + %cmp106 = icmp ne i32 %57, 2 + br i1 %cmp106, label %if.then108, label %if.end118 + +if.then108: ; preds = %while.end105 + %58 = load i32, i32* %nfiles, align 4 + %cmp109 = icmp eq i32 %58, 0 + br i1 %cmp109, label %if.then111, label %if.else112 + +if.then111: ; preds = %if.then108 + call void (i32, i32, i8*, ...) @error(i32 0, i32 0, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.22.126, i64 0, i64 0)) + br label %if.end117 + +if.else112: ; preds = %if.then108 + %59 = load i8**, i8*** %argv.addr, align 8 + %60 = load i32, i32* %argc.addr, align 4 + %sub113 = sub nsw i32 %60, 1 + %idxprom114 = sext i32 %sub113 to i64 + %arrayidx115 = getelementptr inbounds i8*, i8** %59, i64 %idxprom114 + %61 = load i8*, i8** %arrayidx115, align 8 + %call116 = call i8* @quote(i8* %61) + call void (i32, i32, i8*, ...) @error(i32 0, i32 0, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.23.127, i64 0, i64 0), i8* %call116) + br label %if.end117 + +if.end117: ; preds = %if.else112, %if.then111 + call void @usage(i32 1) #24 + unreachable + +if.end118: ; preds = %while.end105 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end118 + %62 = load i32, i32* %i, align 4 + %cmp119 = icmp slt i32 %62, 2 + br i1 %cmp119, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %63 = load i32, i32* %i, align 4 + %idxprom121 = sext i32 %63 to i64 + %arrayidx122 = getelementptr inbounds [2 x i32], [2 x i32]* %joption_count, i64 0, i64 %idxprom121 + %64 = load i32, i32* %arrayidx122, align 4 + %cmp123 = icmp ne i32 %64, 0 + br i1 %cmp123, label %if.then125, label %for.inc + +if.then125: ; preds = %for.body + %65 = load i32, i32* %i, align 4 + %conv126 = sext i32 %65 to i64 + call void @set_join_field(i64* @join_field_1, i64 %conv126) + %66 = load i32, i32* %i, align 4 + %conv127 = sext i32 %66 to i64 + call void @set_join_field(i64* @join_field_2, i64 %conv127) + br label %for.inc + +for.inc: ; preds = %for.body, %if.then125 + %67 = load i32, i32* %i, align 4 + %inc129 = add nsw i32 %67, 1 + store i32 %inc129, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %68 = load i64, i64* @join_field_1, align 8 + %cmp130 = icmp eq i64 %68, -1 + br i1 %cmp130, label %if.then132, label %if.end133 + +if.then132: ; preds = %for.end + store i64 0, i64* @join_field_1, align 8 + br label %if.end133 + +if.end133: ; preds = %if.then132, %for.end + %69 = load i64, i64* @join_field_2, align 8 + %cmp134 = icmp eq i64 %69, -1 + br i1 %cmp134, label %if.then136, label %if.end137 + +if.then136: ; preds = %if.end133 + store i64 0, i64* @join_field_2, align 8 + br label %if.end137 + +if.end137: ; preds = %if.then136, %if.end133 + %70 = load i8*, i8** getelementptr inbounds ([2 x i8*], [2 x i8*]* @g_names, i64 0, i64 0), align 16 + %call138 = call i32 @strcmp(i8* %70, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.24.128, i64 0, i64 0)) #23 + %cmp139 = icmp eq i32 %call138, 0 + br i1 %cmp139, label %cond.true, label %cond.false + +cond.true: ; preds = %if.end137 + %71 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdin to %struct._IO_FILE**), align 8 + br label %cond.end + +cond.false: ; preds = %if.end137 + %72 = load i8*, i8** getelementptr inbounds ([2 x i8*], [2 x i8*]* @g_names, i64 0, i64 0), align 16 + %call141 = call %struct._IO_FILE* @fopen_safer(i8* %72, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.25.129, i64 0, i64 0)) + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi %struct._IO_FILE* [ %71, %cond.true ], [ %call141, %cond.false ] + store %struct._IO_FILE* %cond, %struct._IO_FILE** %fp1, align 8 + %73 = load %struct._IO_FILE*, %struct._IO_FILE** %fp1, align 8 + %tobool142 = icmp ne %struct._IO_FILE* %73, null + br i1 %tobool142, label %if.end146, label %if.then143 + +if.then143: ; preds = %cond.end + %call144 = call i32* @__errno_location() #25 + %74 = load i32, i32* %call144, align 4 + %75 = load i8*, i8** getelementptr inbounds ([2 x i8*], [2 x i8*]* @g_names, i64 0, i64 0), align 16 + %call145 = call i8* @quotearg_n_style_colon(i32 0, i32 3, i8* %75) + call void (i32, i32, i8*, ...) @error(i32 1, i32 %74, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.26.130, i64 0, i64 0), i8* %call145) + unreachable + +if.end146: ; preds = %cond.end + %76 = load i8*, i8** getelementptr inbounds ([2 x i8*], [2 x i8*]* @g_names, i64 0, i64 1), align 8 + %call147 = call i32 @strcmp(i8* %76, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.24.128, i64 0, i64 0)) #23 + %cmp148 = icmp eq i32 %call147, 0 + br i1 %cmp148, label %cond.true150, label %cond.false151 + +cond.true150: ; preds = %if.end146 + %77 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdin to %struct._IO_FILE**), align 8 + br label %cond.end153 + +cond.false151: ; preds = %if.end146 + %78 = load i8*, i8** getelementptr inbounds ([2 x i8*], [2 x i8*]* @g_names, i64 0, i64 1), align 8 + %call152 = call %struct._IO_FILE* @fopen_safer(i8* %78, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.25.129, i64 0, i64 0)) + br label %cond.end153 + +cond.end153: ; preds = %cond.false151, %cond.true150 + %cond154 = phi %struct._IO_FILE* [ %77, %cond.true150 ], [ %call152, %cond.false151 ] + store %struct._IO_FILE* %cond154, %struct._IO_FILE** %fp2, align 8 + %79 = load %struct._IO_FILE*, %struct._IO_FILE** %fp2, align 8 + %tobool155 = icmp ne %struct._IO_FILE* %79, null + br i1 %tobool155, label %if.end159, label %if.then156 + +if.then156: ; preds = %cond.end153 + %call157 = call i32* @__errno_location() #25 + %80 = load i32, i32* %call157, align 4 + %81 = load i8*, i8** getelementptr inbounds ([2 x i8*], [2 x i8*]* @g_names, i64 0, i64 1), align 8 + %call158 = call i8* @quotearg_n_style_colon(i32 0, i32 3, i8* %81) + call void (i32, i32, i8*, ...) @error(i32 1, i32 %80, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.26.130, i64 0, i64 0), i8* %call158) + unreachable + +if.end159: ; preds = %cond.end153 + %82 = load %struct._IO_FILE*, %struct._IO_FILE** %fp1, align 8 + %83 = load %struct._IO_FILE*, %struct._IO_FILE** %fp2, align 8 + %cmp160 = icmp eq %struct._IO_FILE* %82, %83 + br i1 %cmp160, label %if.then162, label %if.end164 + +if.then162: ; preds = %if.end159 + %call163 = call i32* @__errno_location() #25 + %84 = load i32, i32* %call163, align 4 + call void (i32, i32, i8*, ...) @error(i32 1, i32 %84, i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.27.131, i64 0, i64 0)) + unreachable + +if.end164: ; preds = %if.end159 + %85 = load %struct._IO_FILE*, %struct._IO_FILE** %fp1, align 8 + %86 = load %struct._IO_FILE*, %struct._IO_FILE** %fp2, align 8 + call void @system_join(%struct._IO_FILE* %85, %struct._IO_FILE* %86) + %87 = load %struct._IO_FILE*, %struct._IO_FILE** %fp1, align 8 + %call165 = call i32 @rpl_fclose(%struct._IO_FILE* %87) + %cmp166 = icmp ne i32 %call165, 0 + br i1 %cmp166, label %if.then168, label %if.end171 + +if.then168: ; preds = %if.end164 + %call169 = call i32* @__errno_location() #25 + %88 = load i32, i32* %call169, align 4 + %89 = load i8*, i8** getelementptr inbounds ([2 x i8*], [2 x i8*]* @g_names, i64 0, i64 0), align 16 + %call170 = call i8* @quotearg_n_style_colon(i32 0, i32 3, i8* %89) + call void (i32, i32, i8*, ...) @error(i32 1, i32 %88, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.26.130, i64 0, i64 0), i8* %call170) + unreachable + +if.end171: ; preds = %if.end164 + %90 = load %struct._IO_FILE*, %struct._IO_FILE** %fp2, align 8 + %call172 = call i32 @rpl_fclose(%struct._IO_FILE* %90) + %cmp173 = icmp ne i32 %call172, 0 + br i1 %cmp173, label %if.then175, label %if.end178 + +if.then175: ; preds = %if.end171 + %call176 = call i32* @__errno_location() #25 + %91 = load i32, i32* %call176, align 4 + %92 = load i8*, i8** getelementptr inbounds ([2 x i8*], [2 x i8*]* @g_names, i64 0, i64 1), align 8 + %call177 = call i8* @quotearg_n_style_colon(i32 0, i32 3, i8* %92) + call void (i32, i32, i8*, ...) @error(i32 1, i32 %91, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.26.130, i64 0, i64 0), i8* %call177) + unreachable + +if.end178: ; preds = %if.end171 + %93 = load i8, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @issued_disorder_warning, i64 0, i64 0), align 1 + %tobool179 = trunc i8 %93 to i1 + br i1 %tobool179, label %if.then184, label %lor.lhs.false181 + +lor.lhs.false181: ; preds = %if.end178 + %94 = load i8, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @issued_disorder_warning, i64 0, i64 1), align 1 + %tobool182 = trunc i8 %94 to i1 + br i1 %tobool182, label %if.then184, label %if.else185 + +if.then184: ; preds = %lor.lhs.false181, %if.end178 + call void (i32, i32, i8*, ...) @error(i32 1, i32 0, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.28.132, i64 0, i64 0)) + unreachable + +if.else185: ; preds = %lor.lhs.false181 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_program_name(i8* %argv0) #3 { +entry: + %argv0.addr = alloca i8*, align 8 + %slash = alloca i8*, align 8 + %base = alloca i8*, align 8 + store i8* %argv0, i8** %argv0.addr, align 8 + %0 = load i8*, i8** %argv0.addr, align 8 + %cmp = icmp eq i8* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stderr to %struct._IO_FILE**), align 8 + %call = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.86, i64 0, i64 0), %struct._IO_FILE* %1) + call void @abort() #26 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %argv0.addr, align 8 + %call1 = call i8* @strrchr(i8* %2, i32 47) #23 + store i8* %call1, i8** %slash, align 8 + %3 = load i8*, i8** %slash, align 8 + %cmp2 = icmp ne i8* %3, null + %4 = load i8*, i8** %slash, align 8 + %add.ptr = getelementptr inbounds i8, i8* %4, i64 1 + %5 = load i8*, i8** %argv0.addr, align 8 + %cond = select i1 %cmp2, i8* %add.ptr, i8* %5 + store i8* %cond, i8** %base, align 8 + %6 = load i8*, i8** %base, align 8 + %7 = load i8*, i8** %argv0.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %6 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %cmp3 = icmp sge i64 %sub.ptr.sub, 7 + br i1 %cmp3, label %land.lhs.true, label %if.end13 + +land.lhs.true: ; preds = %if.end + %8 = load i8*, i8** %base, align 8 + %add.ptr4 = getelementptr inbounds i8, i8* %8, i64 -7 + %call5 = call i32 @strncmp(i8* %add.ptr4, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1.87, i64 0, i64 0), i64 7) #23 + %cmp6 = icmp eq i32 %call5, 0 + br i1 %cmp6, label %if.then7, label %if.end13 + +if.then7: ; preds = %land.lhs.true + %9 = load i8*, i8** %base, align 8 + store i8* %9, i8** %argv0.addr, align 8 + %10 = load i8*, i8** %base, align 8 + %call8 = call i32 @strncmp(i8* %10, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2.88, i64 0, i64 0), i64 3) #23 + %cmp9 = icmp eq i32 %call8, 0 + br i1 %cmp9, label %if.then10, label %if.end13 + +if.then10: ; preds = %if.then7 + %11 = load i8*, i8** %base, align 8 + %add.ptr11 = getelementptr inbounds i8, i8* %11, i64 3 + store i8* %add.ptr11, i8** %argv0.addr, align 8 + %12 = load i8*, i8** %argv0.addr, align 8 + store i8* %12, i8** @program_invocation_short_name, align 8 + br label %if.end13 + +if.end13: ; preds = %if.then7, %if.then10, %land.lhs.true, %if.end + %13 = load i8*, i8** %argv0.addr, align 8 + store i8* %13, i8** @program_name, align 8 + %14 = load i8*, i8** %argv0.addr, align 8 + store i8* %14, i8** @program_invocation_name, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @hard_locale(i32 %category) #3 { +entry: + %retval = alloca i1, align 1 + %category.addr = alloca i32, align 4 + %locale = alloca [257 x i8], align 16 + store i32 %category, i32* %category.addr, align 4 + %0 = load i32, i32* %category.addr, align 4 + %arraydecay = getelementptr inbounds [257 x i8], [257 x i8]* %locale, i64 0, i64 0 + %call = call i32 @setlocale_null_r(i32 %0, i8* %arraydecay, i64 257) + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +if.end: ; preds = %entry + %arraydecay1 = getelementptr inbounds [257 x i8], [257 x i8]* %locale, i64 0, i64 0 + %call2 = call i32 @strcmp(i8* %arraydecay1, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.76.133, i64 0, i64 0)) #23 + %cmp = icmp eq i32 %call2, 0 + br i1 %cmp, label %lor.end, label %lor.rhs + +lor.rhs: ; preds = %if.end + %arraydecay3 = getelementptr inbounds [257 x i8], [257 x i8]* %locale, i64 0, i64 0 + %call4 = call i32 @strcmp(i8* %arraydecay3, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1.77, i64 0, i64 0)) #23 + %cmp5 = icmp eq i32 %call4, 0 + br label %lor.end + +lor.end: ; preds = %lor.rhs, %if.end + %1 = phi i1 [ true, %if.end ], [ %cmp5, %lor.rhs ] + %lnot = xor i1 %1, true + store i1 %lnot, i1* %retval, align 1 + br label %return + +return: ; preds = %lor.end, %if.then + %2 = load i1, i1* %retval, align 1 + ret i1 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @close_stdout() #3 { +entry: + %write_error = alloca i8*, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call = call i32 @close_stream(%struct._IO_FILE* %0) + %cmp = icmp ne i32 %call, 0 + br i1 %cmp, label %land.lhs.true, label %if.end9 + +land.lhs.true: ; preds = %entry + %1 = load i8, i8* @ignore_EPIPE, align 1 + %tobool = trunc i8 %1 to i1 + br i1 %tobool, label %land.lhs.true1, label %if.then + +land.lhs.true1: ; preds = %land.lhs.true + %call2 = call i32* @__errno_location() #25 + %2 = load i32, i32* %call2, align 4 + %cmp3 = icmp eq i32 %2, 32 + br i1 %cmp3, label %if.end9, label %if.then + +if.then: ; preds = %land.lhs.true1, %land.lhs.true + store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.65, i64 0, i64 0), i8** %write_error, align 8 + %3 = load i8*, i8** @file_name, align 8 + %tobool4 = icmp ne i8* %3, null + %call6 = call i32* @__errno_location() #25 + %4 = load i32, i32* %call6, align 4 + br i1 %tobool4, label %if.then5, label %if.else + +if.then5: ; preds = %if.then + %5 = load i8*, i8** @file_name, align 8 + %call7 = call i8* @quotearg_colon(i8* %5) + %6 = load i8*, i8** %write_error, align 8 + call void (i32, i32, i8*, ...) @error(i32 0, i32 %4, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.66, i64 0, i64 0), i8* %call7, i8* %6) + br label %if.end + +if.else: ; preds = %if.then + %7 = load i8*, i8** %write_error, align 8 + call void (i32, i32, i8*, ...) @error(i32 0, i32 %4, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2.67, i64 0, i64 0), i8* %7) + br label %if.end + +if.end: ; preds = %if.else, %if.then5 + %8 = load volatile i32, i32* @exit_failure, align 4 + call void @_exit(i32 %8) #24 + unreachable + +if.end9: ; preds = %land.lhs.true1, %entry + %9 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stderr to %struct._IO_FILE**), align 8 + %call10 = call i32 @close_stream(%struct._IO_FILE* %9) + %cmp11 = icmp ne i32 %call10, 0 + br i1 %cmp11, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.end9 + %10 = load volatile i32, i32* @exit_failure, align 4 + call void @_exit(i32 %10) #24 + unreachable + +if.end13: ; preds = %if.end9 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @free_spareline() #3 { +entry: + %i = alloca i64, align 8 + store i64 0, i64* %i, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i64, i64* %i, align 8 + %cmp = icmp ult i64 %0, 2 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %1 = load i64, i64* %i, align 8 + %arrayidx = getelementptr inbounds [2 x %struct.line*], [2 x %struct.line*]* @spareline, i64 0, i64 %1 + %2 = load %struct.line*, %struct.line** %arrayidx, align 8 + %tobool = icmp ne %struct.line* %2, null + br i1 %tobool, label %if.then, label %for.inc + +if.then: ; preds = %for.body + %3 = load i64, i64* %i, align 8 + %arrayidx1 = getelementptr inbounds [2 x %struct.line*], [2 x %struct.line*]* @spareline, i64 0, i64 %3 + %4 = load %struct.line*, %struct.line** %arrayidx1, align 8 + call void @freeline(%struct.line* %4) + %5 = load i64, i64* %i, align 8 + %arrayidx2 = getelementptr inbounds [2 x %struct.line*], [2 x %struct.line*]* @spareline, i64 0, i64 %5 + %6 = load %struct.line*, %struct.line** %arrayidx2, align 8 + %7 = bitcast %struct.line* %6 to i8* + call void @free(i8* %7) #11 + br label %for.inc + +for.inc: ; preds = %for.body, %if.then + %8 = load i64, i64* %i, align 8 + %inc = add i64 %8, 1 + store i64 %inc, i64* %i, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @xstrtoul(i8* %s, i8** %ptr, i32 %strtol_base, i64* %val, i8* %valid_suffixes) #3 { +entry: + %retval = alloca i32, align 4 + %s.addr = alloca i8*, align 8 + %ptr.addr = alloca i8**, align 8 + %strtol_base.addr = alloca i32, align 4 + %val.addr = alloca i64*, align 8 + %valid_suffixes.addr = alloca i8*, align 8 + %t_ptr = alloca i8*, align 8 + %p = alloca i8**, align 8 + %tmp = alloca i64, align 8 + %err = alloca i32, align 4 + %q = alloca i8*, align 8 + %ch = alloca i8, align 1 + %base = alloca i32, align 4 + %suffixes = alloca i32, align 4 + %overflow = alloca i32, align 4 + store i8* %s, i8** %s.addr, align 8 + store i8** %ptr, i8*** %ptr.addr, align 8 + store i32 %strtol_base, i32* %strtol_base.addr, align 4 + store i64* %val, i64** %val.addr, align 8 + store i8* %valid_suffixes, i8** %valid_suffixes.addr, align 8 + store i32 0, i32* %err, align 4 + %0 = load i32, i32* %strtol_base.addr, align 4 + %cmp = icmp sle i32 0, %0 + %1 = load i32, i32* %strtol_base.addr, align 4 + %cmp1 = icmp sle i32 %1, 36 + %or.cond = and i1 %cmp, %cmp1 + br i1 %or.cond, label %if.end, label %if.else + +if.else: ; preds = %entry + call void @__assert_fail(i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.172, i64 0, i64 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.1.173, i64 0, i64 0), i32 84, i8* getelementptr inbounds ([81 x i8], [81 x i8]* @__PRETTY_FUNCTION__.xstrtoul, i64 0, i64 0)) #26 + unreachable + +if.end: ; preds = %entry + %2 = load i8**, i8*** %ptr.addr, align 8 + %tobool = icmp ne i8** %2, null + %3 = load i8**, i8*** %ptr.addr, align 8 + %cond = select i1 %tobool, i8** %3, i8** %t_ptr + store i8** %cond, i8*** %p, align 8 + %call = call i32* @__errno_location() #25 + store i32 0, i32* %call, align 4 + %4 = load i8*, i8** %s.addr, align 8 + store i8* %4, i8** %q, align 8 + %5 = load i8*, i8** %q, align 8 + %6 = load i8, i8* %5, align 1 + store i8 %6, i8* %ch, align 1 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end + %call2 = call i16** @__ctype_b_loc() #25 + %7 = load i16*, i16** %call2, align 8 + %8 = load i8, i8* %ch, align 1 + %conv = zext i8 %8 to i32 + %idxprom = sext i32 %conv to i64 + %arrayidx = getelementptr inbounds i16, i16* %7, i64 %idxprom + %9 = load i16, i16* %arrayidx, align 2 + %conv3 = zext i16 %9 to i32 + %and = and i32 %conv3, 8192 + %tobool4 = icmp ne i32 %and, 0 + br i1 %tobool4, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %10 = load i8*, i8** %q, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %10, i32 1 + store i8* %incdec.ptr, i8** %q, align 8 + %11 = load i8, i8* %incdec.ptr, align 1 + store i8 %11, i8* %ch, align 1 + br label %while.cond + +while.end: ; preds = %while.cond + %12 = load i8, i8* %ch, align 1 + %conv5 = zext i8 %12 to i32 + %cmp6 = icmp eq i32 %conv5, 45 + br i1 %cmp6, label %if.then8, label %if.end9 + +if.then8: ; preds = %while.end + store i32 4, i32* %retval, align 4 + br label %return + +if.end9: ; preds = %while.end + %13 = load i8*, i8** %s.addr, align 8 + %14 = load i8**, i8*** %p, align 8 + %15 = load i32, i32* %strtol_base.addr, align 4 + %call10 = call i64 @strtoul(i8* %13, i8** %14, i32 %15) #11 + store i64 %call10, i64* %tmp, align 8 + %16 = load i8**, i8*** %p, align 8 + %17 = load i8*, i8** %16, align 8 + %18 = load i8*, i8** %s.addr, align 8 + %cmp11 = icmp eq i8* %17, %18 + br i1 %cmp11, label %if.then13, label %if.else25 + +if.then13: ; preds = %if.end9 + %19 = load i8*, i8** %valid_suffixes.addr, align 8 + %tobool14 = icmp ne i8* %19, null + br i1 %tobool14, label %land.lhs.true15, label %if.else23 + +land.lhs.true15: ; preds = %if.then13 + %20 = load i8**, i8*** %p, align 8 + %21 = load i8*, i8** %20, align 8 + %22 = load i8, i8* %21, align 1 + %conv16 = sext i8 %22 to i32 + %tobool17 = icmp ne i32 %conv16, 0 + br i1 %tobool17, label %land.lhs.true18, label %if.else23 + +land.lhs.true18: ; preds = %land.lhs.true15 + %23 = load i8*, i8** %valid_suffixes.addr, align 8 + %24 = load i8**, i8*** %p, align 8 + %25 = load i8*, i8** %24, align 8 + %26 = load i8, i8* %25, align 1 + %conv19 = sext i8 %26 to i32 + %call20 = call i8* @strchr(i8* %23, i32 %conv19) #23 + %tobool21 = icmp ne i8* %call20, null + br i1 %tobool21, label %if.then22, label %if.else23 + +if.then22: ; preds = %land.lhs.true18 + store i64 1, i64* %tmp, align 8 + br label %if.end36 + +if.else23: ; preds = %land.lhs.true18, %land.lhs.true15, %if.then13 + store i32 4, i32* %retval, align 4 + br label %return + +if.else25: ; preds = %if.end9 + %call26 = call i32* @__errno_location() #25 + %27 = load i32, i32* %call26, align 4 + %cmp27 = icmp ne i32 %27, 0 + br i1 %cmp27, label %if.then29, label %if.end36 + +if.then29: ; preds = %if.else25 + %call30 = call i32* @__errno_location() #25 + %28 = load i32, i32* %call30, align 4 + %cmp31 = icmp ne i32 %28, 34 + br i1 %cmp31, label %if.then33, label %if.end34 + +if.then33: ; preds = %if.then29 + store i32 4, i32* %retval, align 4 + br label %return + +if.end34: ; preds = %if.then29 + store i32 1, i32* %err, align 4 + br label %if.end36 + +if.end36: ; preds = %if.else25, %if.end34, %if.then22 + %29 = load i8*, i8** %valid_suffixes.addr, align 8 + %tobool37 = icmp ne i8* %29, null + br i1 %tobool37, label %if.end39, label %if.then38 + +if.then38: ; preds = %if.end36 + %30 = load i64, i64* %tmp, align 8 + %31 = load i64*, i64** %val.addr, align 8 + store i64 %30, i64* %31, align 8 + %32 = load i32, i32* %err, align 4 + store i32 %32, i32* %retval, align 4 + br label %return + +if.end39: ; preds = %if.end36 + %33 = load i8**, i8*** %p, align 8 + %34 = load i8*, i8** %33, align 8 + %35 = load i8, i8* %34, align 1 + %conv40 = sext i8 %35 to i32 + %cmp41 = icmp ne i32 %conv40, 0 + br i1 %cmp41, label %if.then43, label %if.end98 + +if.then43: ; preds = %if.end39 + store i32 1024, i32* %base, align 4 + store i32 1, i32* %suffixes, align 4 + %36 = load i8*, i8** %valid_suffixes.addr, align 8 + %37 = load i8**, i8*** %p, align 8 + %38 = load i8*, i8** %37, align 8 + %39 = load i8, i8* %38, align 1 + %conv44 = sext i8 %39 to i32 + %call45 = call i8* @strchr(i8* %36, i32 %conv44) #23 + %tobool46 = icmp ne i8* %call45, null + br i1 %tobool46, label %if.end48, label %if.then47 + +if.then47: ; preds = %if.then43 + %40 = load i64, i64* %tmp, align 8 + %41 = load i64*, i64** %val.addr, align 8 + store i64 %40, i64* %41, align 8 + %42 = load i32, i32* %err, align 4 + %or = or i32 %42, 2 + store i32 %or, i32* %retval, align 4 + br label %return + +if.end48: ; preds = %if.then43 + %43 = load i8**, i8*** %p, align 8 + %44 = load i8*, i8** %43, align 8 + %45 = load i8, i8* %44, align 1 + %conv49 = sext i8 %45 to i32 + br label %NodeBlock21 + +NodeBlock21: ; preds = %if.end48 + %case.cmp22 = icmp eq i32 %conv49, 69 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %conv49, 71 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %conv49, 103 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %conv49, 107 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %conv49, 75 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %conv49, 77 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %conv49, 109 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %conv49, 80 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %conv49, 84 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %conv49, 116 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %conv49, 89 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %conv49, 90 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + %46 = load i8*, i8** %valid_suffixes.addr, align 8 + %call50 = call i8* @strchr(i8* %46, i32 48) #23 + %tobool51 = icmp ne i8* %call50, null + br i1 %tobool51, label %if.then52, label %sw.epilog66 + +if.then52: ; preds = %sw.bb + %47 = load i8**, i8*** %p, align 8 + %arrayidx53 = getelementptr inbounds i8*, i8** %47, i64 0 + %48 = load i8*, i8** %arrayidx53, align 8 + %arrayidx54 = getelementptr inbounds i8, i8* %48, i64 1 + %49 = load i8, i8* %arrayidx54, align 1 + %conv55 = sext i8 %49 to i32 + br label %NodeBlock28 + +NodeBlock28: ; preds = %if.then52 + %case.cmp29 = icmp eq i32 %conv55, 105 + br i1 %case.cmp29, label %sw.bb56, label %NodeBlock26 + +NodeBlock26: ; preds = %NodeBlock28 + %case.cmp27 = icmp eq i32 %conv55, 66 + br i1 %case.cmp27, label %sw.bb64, label %NodeBlock24 + +NodeBlock24: ; preds = %NodeBlock26 + %case.cmp25 = icmp eq i32 %conv55, 68 + br i1 %case.cmp25, label %sw.bb64, label %newDefault23 + +sw.bb56: ; preds = %NodeBlock28 + %50 = load i8**, i8*** %p, align 8 + %arrayidx57 = getelementptr inbounds i8*, i8** %50, i64 0 + %51 = load i8*, i8** %arrayidx57, align 8 + %arrayidx58 = getelementptr inbounds i8, i8* %51, i64 2 + %52 = load i8, i8* %arrayidx58, align 1 + %conv59 = sext i8 %52 to i32 + %cmp60 = icmp eq i32 %conv59, 66 + br i1 %cmp60, label %if.then62, label %sw.epilog66 + +if.then62: ; preds = %sw.bb56 + %53 = load i32, i32* %suffixes, align 4 + %add = add nsw i32 %53, 2 + store i32 %add, i32* %suffixes, align 4 + br label %sw.epilog66 + +sw.bb64: ; preds = %NodeBlock26, %NodeBlock24 + store i32 1000, i32* %base, align 4 + %54 = load i32, i32* %suffixes, align 4 + %inc = add nsw i32 %54, 1 + store i32 %inc, i32* %suffixes, align 4 + br label %sw.epilog66 + +newDefault: ; preds = %NodeBlock + br label %sw.epilog66 + +newDefault23: ; preds = %NodeBlock24 + br label %sw.epilog66 + +sw.epilog66: ; preds = %newDefault23, %newDefault, %sw.bb, %sw.bb56, %if.then62, %sw.bb64 + %55 = load i8**, i8*** %p, align 8 + %56 = load i8*, i8** %55, align 8 + %57 = load i8, i8* %56, align 1 + %conv67 = sext i8 %57 to i32 + br label %NodeBlock61 + +NodeBlock61: ; preds = %sw.epilog66 + %case.cmp62 = icmp eq i32 %conv67, 98 + br i1 %case.cmp62, label %sw.bb68, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %conv67, 66 + br i1 %case.cmp60, label %sw.bb70, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %conv67, 99 + br i1 %case.cmp58, label %sw.bb72, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %conv67, 69 + br i1 %case.cmp56, label %sw.bb73, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %conv67, 71 + br i1 %case.cmp54, label %sw.bb75, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %conv67, 103 + br i1 %case.cmp52, label %sw.bb75, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %conv67, 107 + br i1 %case.cmp50, label %sw.bb77, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %conv67, 75 + br i1 %case.cmp48, label %sw.bb77, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %conv67, 77 + br i1 %case.cmp46, label %sw.bb79, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %conv67, 109 + br i1 %case.cmp44, label %sw.bb79, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %conv67, 80 + br i1 %case.cmp42, label %sw.bb81, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %conv67, 84 + br i1 %case.cmp40, label %sw.bb83, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %conv67, 116 + br i1 %case.cmp38, label %sw.bb83, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %conv67, 119 + br i1 %case.cmp36, label %sw.bb85, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %conv67, 89 + br i1 %case.cmp34, label %sw.bb87, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %conv67, 90 + br i1 %case.cmp32, label %sw.bb89, label %newDefault30 + +sw.bb68: ; preds = %NodeBlock61 + %call69 = call i32 @bkm_scale(i64* %tmp, i32 512) + store i32 %call69, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb70: ; preds = %NodeBlock59 + %call71 = call i32 @bkm_scale(i64* %tmp, i32 1024) + store i32 %call71, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb72: ; preds = %NodeBlock57 + store i32 0, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb73: ; preds = %NodeBlock55 + %58 = load i32, i32* %base, align 4 + %call74 = call i32 @bkm_scale_by_power(i64* %tmp, i32 %58, i32 6) + store i32 %call74, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb75: ; preds = %NodeBlock53, %NodeBlock51 + %59 = load i32, i32* %base, align 4 + %call76 = call i32 @bkm_scale_by_power(i64* %tmp, i32 %59, i32 3) + store i32 %call76, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb77: ; preds = %NodeBlock49, %NodeBlock47 + %60 = load i32, i32* %base, align 4 + %call78 = call i32 @bkm_scale_by_power(i64* %tmp, i32 %60, i32 1) + store i32 %call78, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb79: ; preds = %NodeBlock45, %NodeBlock43 + %61 = load i32, i32* %base, align 4 + %call80 = call i32 @bkm_scale_by_power(i64* %tmp, i32 %61, i32 2) + store i32 %call80, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb81: ; preds = %NodeBlock41 + %62 = load i32, i32* %base, align 4 + %call82 = call i32 @bkm_scale_by_power(i64* %tmp, i32 %62, i32 5) + store i32 %call82, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb83: ; preds = %NodeBlock39, %NodeBlock37 + %63 = load i32, i32* %base, align 4 + %call84 = call i32 @bkm_scale_by_power(i64* %tmp, i32 %63, i32 4) + store i32 %call84, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb85: ; preds = %NodeBlock35 + %call86 = call i32 @bkm_scale(i64* %tmp, i32 2) + store i32 %call86, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb87: ; preds = %NodeBlock33 + %64 = load i32, i32* %base, align 4 + %call88 = call i32 @bkm_scale_by_power(i64* %tmp, i32 %64, i32 8) + store i32 %call88, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb89: ; preds = %NodeBlock31 + %65 = load i32, i32* %base, align 4 + %call90 = call i32 @bkm_scale_by_power(i64* %tmp, i32 %65, i32 7) + store i32 %call90, i32* %overflow, align 4 + br label %sw.epilog92 + +newDefault30: ; preds = %NodeBlock31 + br label %sw.default + +sw.default: ; preds = %newDefault30 + %66 = load i64, i64* %tmp, align 8 + %67 = load i64*, i64** %val.addr, align 8 + store i64 %66, i64* %67, align 8 + %68 = load i32, i32* %err, align 4 + %or91 = or i32 %68, 2 + store i32 %or91, i32* %retval, align 4 + br label %return + +sw.epilog92: ; preds = %sw.bb89, %sw.bb87, %sw.bb85, %sw.bb83, %sw.bb81, %sw.bb79, %sw.bb77, %sw.bb75, %sw.bb73, %sw.bb72, %sw.bb70, %sw.bb68 + %69 = load i32, i32* %overflow, align 4 + %70 = load i32, i32* %err, align 4 + %or93 = or i32 %70, %69 + store i32 %or93, i32* %err, align 4 + %71 = load i32, i32* %suffixes, align 4 + %72 = load i8**, i8*** %p, align 8 + %73 = load i8*, i8** %72, align 8 + %idx.ext = sext i32 %71 to i64 + %add.ptr = getelementptr inbounds i8, i8* %73, i64 %idx.ext + store i8* %add.ptr, i8** %72, align 8 + %74 = load i8**, i8*** %p, align 8 + %75 = load i8*, i8** %74, align 8 + %76 = load i8, i8* %75, align 1 + %tobool94 = icmp ne i8 %76, 0 + br i1 %tobool94, label %if.then95, label %if.end98 + +if.then95: ; preds = %sw.epilog92 + %77 = load i32, i32* %err, align 4 + %or96 = or i32 %77, 2 + store i32 %or96, i32* %err, align 4 + br label %if.end98 + +if.end98: ; preds = %sw.epilog92, %if.then95, %if.end39 + %78 = load i64, i64* %tmp, align 8 + %79 = load i64*, i64** %val.addr, align 8 + store i64 %78, i64* %79, align 8 + %80 = load i32, i32* %err, align 4 + store i32 %80, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end98, %sw.default, %if.then47, %if.then38, %if.then33, %if.else23, %if.then8 + %81 = load i32, i32* %retval, align 4 + ret i32 %81 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote(i8* %arg) #3 { +entry: + %arg.addr = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quote_n(i32 0, i8* %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @string_to_join_field(i8* %str) #3 { +entry: + %str.addr = alloca i8*, align 8 + %result = alloca i64, align 8 + %val = alloca i64, align 8 + %s_err = alloca i32, align 4 + store i8* %str, i8** %str.addr, align 8 + %0 = load i8*, i8** %str.addr, align 8 + %call = call i32 @xstrtoumax(i8* %0, i8** null, i32 10, i64* %val, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.12.108, i64 0, i64 0)) + store i32 %call, i32* %s_err, align 4 + %1 = load i32, i32* %s_err, align 4 + %cmp = icmp eq i32 %1, 1 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load i32, i32* %s_err, align 4 + %cmp1 = icmp eq i32 %2, 0 + %3 = load i64, i64* %val, align 8 + %cmp2 = icmp ult i64 -1, %3 + %or.cond = and i1 %cmp1, %cmp2 + br i1 %or.cond, label %if.then, label %if.else + +if.then: ; preds = %lor.lhs.false, %entry + store i64 -1, i64* %val, align 8 + br label %if.end8 + +if.else: ; preds = %lor.lhs.false + %4 = load i32, i32* %s_err, align 4 + %cmp3 = icmp ne i32 %4, 0 + %5 = load i64, i64* %val, align 8 + %cmp5 = icmp eq i64 %5, 0 + %or.cond1 = or i1 %cmp3, %cmp5 + br i1 %or.cond1, label %if.then6, label %if.end8 + +if.then6: ; preds = %if.else + %6 = load i8*, i8** %str.addr, align 8 + %call7 = call i8* @quote(i8* %6) + call void (i32, i32, i8*, ...) @error(i32 1, i32 0, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.14.119, i64 0, i64 0), i8* %call7) + unreachable + +if.end8: ; preds = %if.else, %if.then + %7 = load i64, i64* %val, align 8 + %sub = sub i64 %7, 1 + store i64 %sub, i64* %result, align 8 + %8 = load i64, i64* %result, align 8 + ret i64 %8 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @set_join_field(i64* %var, i64 %val) #3 { +entry: + %var.addr = alloca i64*, align 8 + %val.addr = alloca i64, align 8 + %var1 = alloca i64, align 8 + %val1 = alloca i64, align 8 + store i64* %var, i64** %var.addr, align 8 + store i64 %val, i64* %val.addr, align 8 + %0 = load i64*, i64** %var.addr, align 8 + %1 = load i64, i64* %0, align 8 + %cmp = icmp ne i64 %1, -1 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %2 = load i64*, i64** %var.addr, align 8 + %3 = load i64, i64* %2, align 8 + %4 = load i64, i64* %val.addr, align 8 + %cmp1 = icmp ne i64 %3, %4 + br i1 %cmp1, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %5 = load i64*, i64** %var.addr, align 8 + %6 = load i64, i64* %5, align 8 + %add = add i64 %6, 1 + store i64 %add, i64* %var1, align 8 + %7 = load i64, i64* %val.addr, align 8 + %add2 = add i64 %7, 1 + store i64 %add2, i64* %val1, align 8 + %8 = load i64, i64* %var1, align 8 + %9 = load i64, i64* %val1, align 8 + call void (i32, i32, i8*, ...) @error(i32 1, i32 0, i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.52, i64 0, i64 0), i64 %8, i64 %9) + unreachable + +if.end: ; preds = %land.lhs.true, %entry + %10 = load i64, i64* %val.addr, align 8 + %11 = load i64*, i64** %var.addr, align 8 + store i64 %10, i64* %11, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @add_field_list(i8* %str) #3 { +entry: + %str.addr = alloca i8*, align 8 + %p = alloca i8*, align 8 + %file_index = alloca i32, align 4 + %field_index = alloca i64, align 8 + %spec_item = alloca i8*, align 8 + store i8* %str, i8** %str.addr, align 8 + %0 = load i8*, i8** %str.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %do.body + +do.body: ; preds = %if.end, %entry + %1 = load i8*, i8** %p, align 8 + store i8* %1, i8** %spec_item, align 8 + %2 = load i8*, i8** %p, align 8 + %call = call i8* @strpbrk(i8* %2, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.53, i64 0, i64 0)) #23 + store i8* %call, i8** %p, align 8 + %3 = load i8*, i8** %p, align 8 + %tobool = icmp ne i8* %3, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %do.body + %4 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + store i8 0, i8* %4, align 1 + br label %if.end + +if.end: ; preds = %if.then, %do.body + %5 = load i8*, i8** %spec_item, align 8 + call void @decode_field_spec(i8* %5, i32* %file_index, i64* %field_index) + %6 = load i32, i32* %file_index, align 4 + %7 = load i64, i64* %field_index, align 8 + call void @add_field(i32 %6, i64 %7) + %8 = load i8*, i8** %p, align 8 + %tobool1 = icmp ne i8* %8, null + br i1 %tobool1, label %do.body, label %do.end + +do.end: ; preds = %if.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @add_file_name(i8* %name, i8** %names, i32* %operand_status, i32* %joption_count, i32* %nfiles, i32* %prev_optc_status, i32* %optc_status) #3 { +entry: + %name.addr = alloca i8*, align 8 + %names.addr = alloca i8**, align 8 + %operand_status.addr = alloca i32*, align 8 + %joption_count.addr = alloca i32*, align 8 + %nfiles.addr = alloca i32*, align 8 + %prev_optc_status.addr = alloca i32*, align 8 + %optc_status.addr = alloca i32*, align 8 + %n = alloca i32, align 4 + %op0 = alloca i8, align 1 + %arg = alloca i8*, align 8 + store i8* %name, i8** %name.addr, align 8 + store i8** %names, i8*** %names.addr, align 8 + store i32* %operand_status, i32** %operand_status.addr, align 8 + store i32* %joption_count, i32** %joption_count.addr, align 8 + store i32* %nfiles, i32** %nfiles.addr, align 8 + store i32* %prev_optc_status, i32** %prev_optc_status.addr, align 8 + store i32* %optc_status, i32** %optc_status.addr, align 8 + %0 = load i32*, i32** %nfiles.addr, align 8 + %1 = load i32, i32* %0, align 4 + store i32 %1, i32* %n, align 4 + %2 = load i32, i32* %n, align 4 + %cmp = icmp eq i32 %2, 2 + br i1 %cmp, label %if.then, label %if.end20 + +if.then: ; preds = %entry + %3 = load i32*, i32** %operand_status.addr, align 8 + %arrayidx = getelementptr inbounds i32, i32* %3, i64 0 + %4 = load i32, i32* %arrayidx, align 4 + %cmp1 = icmp eq i32 %4, 0 + %frombool = zext i1 %cmp1 to i8 + store i8 %frombool, i8* %op0, align 1 + %5 = load i8**, i8*** %names.addr, align 8 + %6 = load i8, i8* %op0, align 1 + %tobool = trunc i8 %6 to i1 + %idxprom = zext i1 %tobool to i64 + %arrayidx2 = getelementptr inbounds i8*, i8** %5, i64 %idxprom + %7 = load i8*, i8** %arrayidx2, align 8 + store i8* %7, i8** %arg, align 8 + %8 = load i32*, i32** %operand_status.addr, align 8 + %9 = load i8, i8* %op0, align 1 + %tobool3 = trunc i8 %9 to i1 + %idxprom4 = zext i1 %tobool3 to i64 + %arrayidx5 = getelementptr inbounds i32, i32* %8, i64 %idxprom4 + %10 = load i32, i32* %arrayidx5, align 4 + br label %NodeBlock5 + +NodeBlock5: ; preds = %if.then + %case.cmp6 = icmp eq i32 %10, 0 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %10, 1 + br i1 %case.cmp4, label %sw.bb6, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %10, 2 + br i1 %case.cmp2, label %sw.bb9, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %10, 3 + br i1 %case.cmp, label %sw.bb13, label %newDefault + +sw.bb: ; preds = %NodeBlock5 + %11 = load i8*, i8** %name.addr, align 8 + %call = call i8* @quotearg_style(i32 4, i8* %11) + call void (i32, i32, i8*, ...) @error(i32 0, i32 0, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.59, i64 0, i64 0), i8* %call) + call void @usage(i32 1) #24 + unreachable + +sw.bb6: ; preds = %NodeBlock3 + %12 = load i32*, i32** %joption_count.addr, align 8 + %arrayidx7 = getelementptr inbounds i32, i32* %12, i64 0 + %13 = load i32, i32* %arrayidx7, align 4 + %dec = add nsw i32 %13, -1 + store i32 %dec, i32* %arrayidx7, align 4 + %14 = load i8*, i8** %arg, align 8 + %call8 = call i64 @string_to_join_field(i8* %14) + call void @set_join_field(i64* @join_field_1, i64 %call8) + br label %sw.epilog + +sw.bb9: ; preds = %NodeBlock1 + %15 = load i32*, i32** %joption_count.addr, align 8 + %arrayidx10 = getelementptr inbounds i32, i32* %15, i64 1 + %16 = load i32, i32* %arrayidx10, align 4 + %dec11 = add nsw i32 %16, -1 + store i32 %dec11, i32* %arrayidx10, align 4 + %17 = load i8*, i8** %arg, align 8 + %call12 = call i64 @string_to_join_field(i8* %17) + call void @set_join_field(i64* @join_field_2, i64 %call12) + br label %sw.epilog + +sw.bb13: ; preds = %NodeBlock + %18 = load i8*, i8** %arg, align 8 + call void @add_field_list(i8* %18) + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.epilog + +sw.epilog: ; preds = %newDefault, %sw.bb13, %sw.bb9, %sw.bb6 + %19 = load i8, i8* %op0, align 1 + %tobool14 = trunc i8 %19 to i1 + br i1 %tobool14, label %if.end, label %if.then15 + +if.then15: ; preds = %sw.epilog + %20 = load i32*, i32** %operand_status.addr, align 8 + %arrayidx16 = getelementptr inbounds i32, i32* %20, i64 1 + %21 = load i32, i32* %arrayidx16, align 4 + %22 = load i32*, i32** %operand_status.addr, align 8 + %arrayidx17 = getelementptr inbounds i32, i32* %22, i64 0 + store i32 %21, i32* %arrayidx17, align 4 + %23 = load i8**, i8*** %names.addr, align 8 + %arrayidx18 = getelementptr inbounds i8*, i8** %23, i64 1 + %24 = load i8*, i8** %arrayidx18, align 8 + %25 = load i8**, i8*** %names.addr, align 8 + %arrayidx19 = getelementptr inbounds i8*, i8** %25, i64 0 + store i8* %24, i8** %arrayidx19, align 8 + br label %if.end + +if.end: ; preds = %if.then15, %sw.epilog + store i32 1, i32* %n, align 4 + br label %if.end20 + +if.end20: ; preds = %if.end, %entry + %26 = load i32*, i32** %prev_optc_status.addr, align 8 + %27 = load i32, i32* %26, align 4 + %28 = load i32*, i32** %operand_status.addr, align 8 + %29 = load i32, i32* %n, align 4 + %idxprom21 = sext i32 %29 to i64 + %arrayidx22 = getelementptr inbounds i32, i32* %28, i64 %idxprom21 + store i32 %27, i32* %arrayidx22, align 4 + %30 = load i8*, i8** %name.addr, align 8 + %31 = load i8**, i8*** %names.addr, align 8 + %32 = load i32, i32* %n, align 4 + %idxprom23 = sext i32 %32 to i64 + %arrayidx24 = getelementptr inbounds i8*, i8** %31, i64 %idxprom23 + store i8* %30, i8** %arrayidx24, align 8 + %33 = load i32, i32* %n, align 4 + %add = add nsw i32 %33, 1 + %34 = load i32*, i32** %nfiles.addr, align 8 + store i32 %add, i32* %34, align 4 + %35 = load i32*, i32** %prev_optc_status.addr, align 8 + %36 = load i32, i32* %35, align 4 + %cmp25 = icmp eq i32 %36, 3 + br i1 %cmp25, label %if.then26, label %if.end27 + +if.then26: ; preds = %if.end20 + %37 = load i32*, i32** %optc_status.addr, align 8 + store i32 3, i32* %37, align 4 + br label %if.end27 + +if.end27: ; preds = %if.then26, %if.end20 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, ...) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors = alloca [1 x %struct.__va_list_tag.0], align 16 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %authors, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %1 = load i8*, i8** %command_name.addr, align 8 + %2 = load i8*, i8** %package.addr, align 8 + %3 = load i8*, i8** %version.addr, align 8 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %authors, i64 0, i64 0 + call void @version_etc_va(%struct._IO_FILE* %0, i8* %1, i8* %2, i8* %3, %struct.__va_list_tag.0* %arraydecay2) + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %authors, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local %struct._IO_FILE* @fopen_safer(i8* %file, i8* %mode) #3 { +entry: + %retval = alloca %struct._IO_FILE*, align 8 + %file.addr = alloca i8*, align 8 + %mode.addr = alloca i8*, align 8 + %fp = alloca %struct._IO_FILE*, align 8 + %fd = alloca i32, align 4 + %f = alloca i32, align 4 + %e = alloca i32, align 4 + %e15 = alloca i32, align 4 + store i8* %file, i8** %file.addr, align 8 + store i8* %mode, i8** %mode.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + %1 = load i8*, i8** %mode.addr, align 8 + %call = call %struct._IO_FILE* bitcast (%struct.__STDIO_FILE_STRUCT.588* (i8*, i8*)* @fopen to %struct._IO_FILE* (i8*, i8*)*)(i8* %0, i8* %1) + store %struct._IO_FILE* %call, %struct._IO_FILE** %fp, align 8 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp, align 8 + %tobool = icmp ne %struct._IO_FILE* %2, null + br i1 %tobool, label %if.then, label %if.end21 + +if.then: ; preds = %entry + %3 = load %struct._IO_FILE*, %struct._IO_FILE** %fp, align 8 + %call1 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %3) #11 + store i32 %call1, i32* %fd, align 4 + %4 = load i32, i32* %fd, align 4 + %cmp = icmp sle i32 0, %4 + %5 = load i32, i32* %fd, align 4 + %cmp2 = icmp sle i32 %5, 2 + %or.cond = and i1 %cmp, %cmp2 + br i1 %or.cond, label %if.then3, label %if.end21 + +if.then3: ; preds = %if.then + %6 = load i32, i32* %fd, align 4 + %call4 = call i32 @dup_safer(i32 %6) + store i32 %call4, i32* %f, align 4 + %7 = load i32, i32* %f, align 4 + %cmp5 = icmp slt i32 %7, 0 + br i1 %cmp5, label %if.then6, label %if.end + +if.then6: ; preds = %if.then3 + %call7 = call i32* @__errno_location() #25 + %8 = load i32, i32* %call7, align 4 + store i32 %8, i32* %e, align 4 + %9 = load %struct._IO_FILE*, %struct._IO_FILE** %fp, align 8 + %call8 = call i32 @rpl_fclose(%struct._IO_FILE* %9) + %10 = load i32, i32* %e, align 4 + %call9 = call i32* @__errno_location() #25 + store i32 %10, i32* %call9, align 4 + store %struct._IO_FILE* null, %struct._IO_FILE** %retval, align 8 + br label %return + +if.end: ; preds = %if.then3 + %11 = load %struct._IO_FILE*, %struct._IO_FILE** %fp, align 8 + %call10 = call i32 @rpl_fclose(%struct._IO_FILE* %11) + %cmp11 = icmp ne i32 %call10, 0 + br i1 %cmp11, label %if.then14, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %12 = load i32, i32* %f, align 4 + %13 = load i8*, i8** %mode.addr, align 8 + %call12 = call %struct._IO_FILE* bitcast (%struct.__STDIO_FILE_STRUCT.588* (i32, i8*)* @fdopen to %struct._IO_FILE* (i32, i8*)*)(i32 %12, i8* %13) #11 + store %struct._IO_FILE* %call12, %struct._IO_FILE** %fp, align 8 + %tobool13 = icmp ne %struct._IO_FILE* %call12, null + br i1 %tobool13, label %if.end21, label %if.then14 + +if.then14: ; preds = %lor.lhs.false, %if.end + %call16 = call i32* @__errno_location() #25 + %14 = load i32, i32* %call16, align 4 + store i32 %14, i32* %e15, align 4 + %15 = load i32, i32* %f, align 4 + %call17 = call i32 @close(i32 %15) + %16 = load i32, i32* %e15, align 4 + %call18 = call i32* @__errno_location() #25 + store i32 %16, i32* %call18, align 4 + store %struct._IO_FILE* null, %struct._IO_FILE** %retval, align 8 + br label %return + +if.end21: ; preds = %if.then, %lor.lhs.false, %entry + %17 = load %struct._IO_FILE*, %struct._IO_FILE** %fp, align 8 + store %struct._IO_FILE* %17, %struct._IO_FILE** %retval, align 8 + br label %return + +return: ; preds = %if.end21, %if.then14, %if.then6 + %18 = load %struct._IO_FILE*, %struct._IO_FILE** %retval, align 8 + ret %struct._IO_FILE* %18 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_style_colon(i32 %n, i32 %s, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %options = alloca %struct.quoting_options, align 8 + %tmp = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + call void @quoting_options_from_style(%struct.quoting_options* sret align 8 %tmp, i32 %0) + %1 = bitcast %struct.quoting_options* %options to i8* + %2 = bitcast %struct.quoting_options* %tmp to i8* + %3 = call i8* @memcpy(i8* %1, i8* %2, i64 56) + %call = call i32 @set_char_quoting(%struct.quoting_options* %options, i8 signext 58, i32 1) + %4 = load i32, i32* %n.addr, align 4 + %5 = load i8*, i8** %arg.addr, align 8 + %call1 = call i8* @quotearg_n_options(i32 %4, i8* %5, i64 -1, %struct.quoting_options* %options) + ret i8* %call1 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @system_join(%struct._IO_FILE* %fp1, %struct._IO_FILE* %fp2) #3 { +entry: + %fp1.addr = alloca %struct._IO_FILE*, align 8 + %fp2.addr = alloca %struct._IO_FILE*, align 8 + %seq1 = alloca %struct.seq, align 8 + %seq2 = alloca %struct.seq, align 8 + %diff = alloca i32, align 4 + %eof1 = alloca i8, align 1 + %eof2 = alloca i8, align 1 + %hline1 = alloca %struct.line*, align 8 + %hline2 = alloca %struct.line*, align 8 + %i = alloca i64, align 8 + %j = alloca i64, align 8 + %tmp = alloca %struct.line*, align 8 + %tmp141 = alloca %struct.line*, align 8 + %line = alloca %struct.line*, align 8 + %checktail = alloca i8, align 1 + store %struct._IO_FILE* %fp1, %struct._IO_FILE** %fp1.addr, align 8 + store %struct._IO_FILE* %fp2, %struct._IO_FILE** %fp2.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp1.addr, align 8 + call void @fadvise(%struct._IO_FILE* %0, i32 2) + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %fp2.addr, align 8 + call void @fadvise(%struct._IO_FILE* %1, i32 2) + call void @initseq(%struct.seq* %seq1) + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp1.addr, align 8 + %call = call zeroext i1 @getseq(%struct._IO_FILE* %2, %struct.seq* %seq1, i32 1) + call void @initseq(%struct.seq* %seq2) + %3 = load %struct._IO_FILE*, %struct._IO_FILE** %fp2.addr, align 8 + %call1 = call zeroext i1 @getseq(%struct._IO_FILE* %3, %struct.seq* %seq2, i32 2) + %4 = load i8, i8* @autoformat, align 1 + %tobool = trunc i8 %4 to i1 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %count = getelementptr inbounds %struct.seq, %struct.seq* %seq1, i32 0, i32 0 + %5 = load i64, i64* %count, align 8 + %tobool2 = icmp ne i64 %5, 0 + br i1 %tobool2, label %cond.true, label %cond.end + +cond.true: ; preds = %if.then + %lines = getelementptr inbounds %struct.seq, %struct.seq* %seq1, i32 0, i32 2 + %6 = load %struct.line**, %struct.line*** %lines, align 8 + %arrayidx = getelementptr inbounds %struct.line*, %struct.line** %6, i64 0 + %7 = load %struct.line*, %struct.line** %arrayidx, align 8 + %nfields = getelementptr inbounds %struct.line, %struct.line* %7, i32 0, i32 1 + %8 = load i64, i64* %nfields, align 8 + br label %cond.end + +cond.end: ; preds = %if.then, %cond.true + %cond = phi i64 [ %8, %cond.true ], [ 0, %if.then ] + store i64 %cond, i64* @autocount_1, align 8 + %count3 = getelementptr inbounds %struct.seq, %struct.seq* %seq2, i32 0, i32 0 + %9 = load i64, i64* %count3, align 8 + %tobool4 = icmp ne i64 %9, 0 + br i1 %tobool4, label %cond.true5, label %cond.end10 + +cond.true5: ; preds = %cond.end + %lines6 = getelementptr inbounds %struct.seq, %struct.seq* %seq2, i32 0, i32 2 + %10 = load %struct.line**, %struct.line*** %lines6, align 8 + %arrayidx7 = getelementptr inbounds %struct.line*, %struct.line** %10, i64 0 + %11 = load %struct.line*, %struct.line** %arrayidx7, align 8 + %nfields8 = getelementptr inbounds %struct.line, %struct.line* %11, i32 0, i32 1 + %12 = load i64, i64* %nfields8, align 8 + br label %cond.end10 + +cond.end10: ; preds = %cond.end, %cond.true5 + %cond11 = phi i64 [ %12, %cond.true5 ], [ 0, %cond.end ] + store i64 %cond11, i64* @autocount_2, align 8 + br label %if.end + +if.end: ; preds = %cond.end10, %entry + %13 = load i8, i8* @join_header_lines, align 1 + %tobool12 = trunc i8 %13 to i1 + br i1 %tobool12, label %land.lhs.true, label %if.end44 + +land.lhs.true: ; preds = %if.end + %count13 = getelementptr inbounds %struct.seq, %struct.seq* %seq1, i32 0, i32 0 + %14 = load i64, i64* %count13, align 8 + %tobool14 = icmp ne i64 %14, 0 + br i1 %tobool14, label %if.then17, label %lor.lhs.false + +lor.lhs.false: ; preds = %land.lhs.true + %count15 = getelementptr inbounds %struct.seq, %struct.seq* %seq2, i32 0, i32 0 + %15 = load i64, i64* %count15, align 8 + %tobool16 = icmp ne i64 %15, 0 + br i1 %tobool16, label %if.then17, label %if.end44 + +if.then17: ; preds = %lor.lhs.false, %land.lhs.true + %count18 = getelementptr inbounds %struct.seq, %struct.seq* %seq1, i32 0, i32 0 + %16 = load i64, i64* %count18, align 8 + %tobool19 = icmp ne i64 %16, 0 + br i1 %tobool19, label %cond.true20, label %cond.end24 + +cond.true20: ; preds = %if.then17 + %lines21 = getelementptr inbounds %struct.seq, %struct.seq* %seq1, i32 0, i32 2 + %17 = load %struct.line**, %struct.line*** %lines21, align 8 + %arrayidx22 = getelementptr inbounds %struct.line*, %struct.line** %17, i64 0 + %18 = load %struct.line*, %struct.line** %arrayidx22, align 8 + br label %cond.end24 + +cond.end24: ; preds = %if.then17, %cond.true20 + %cond25 = phi %struct.line* [ %18, %cond.true20 ], [ @uni_blank, %if.then17 ] + store %struct.line* %cond25, %struct.line** %hline1, align 8 + %count26 = getelementptr inbounds %struct.seq, %struct.seq* %seq2, i32 0, i32 0 + %19 = load i64, i64* %count26, align 8 + %tobool27 = icmp ne i64 %19, 0 + br i1 %tobool27, label %cond.true28, label %cond.end32 + +cond.true28: ; preds = %cond.end24 + %lines29 = getelementptr inbounds %struct.seq, %struct.seq* %seq2, i32 0, i32 2 + %20 = load %struct.line**, %struct.line*** %lines29, align 8 + %arrayidx30 = getelementptr inbounds %struct.line*, %struct.line** %20, i64 0 + %21 = load %struct.line*, %struct.line** %arrayidx30, align 8 + br label %cond.end32 + +cond.end32: ; preds = %cond.end24, %cond.true28 + %cond33 = phi %struct.line* [ %21, %cond.true28 ], [ @uni_blank, %cond.end24 ] + store %struct.line* %cond33, %struct.line** %hline2, align 8 + %22 = load %struct.line*, %struct.line** %hline1, align 8 + %23 = load %struct.line*, %struct.line** %hline2, align 8 + call void @prjoin(%struct.line* %22, %struct.line* %23) + store %struct.line* null, %struct.line** getelementptr inbounds ([2 x %struct.line*], [2 x %struct.line*]* @prevline, i64 0, i64 0), align 16 + store %struct.line* null, %struct.line** getelementptr inbounds ([2 x %struct.line*], [2 x %struct.line*]* @prevline, i64 0, i64 1), align 8 + %count34 = getelementptr inbounds %struct.seq, %struct.seq* %seq1, i32 0, i32 0 + %24 = load i64, i64* %count34, align 8 + %tobool35 = icmp ne i64 %24, 0 + br i1 %tobool35, label %if.then36, label %if.end38 + +if.then36: ; preds = %cond.end32 + %25 = load %struct._IO_FILE*, %struct._IO_FILE** %fp1.addr, align 8 + %call37 = call zeroext i1 @advance_seq(%struct._IO_FILE* %25, %struct.seq* %seq1, i1 zeroext true, i32 1) + br label %if.end38 + +if.end38: ; preds = %if.then36, %cond.end32 + %count39 = getelementptr inbounds %struct.seq, %struct.seq* %seq2, i32 0, i32 0 + %26 = load i64, i64* %count39, align 8 + %tobool40 = icmp ne i64 %26, 0 + br i1 %tobool40, label %if.then41, label %if.end44 + +if.then41: ; preds = %if.end38 + %27 = load %struct._IO_FILE*, %struct._IO_FILE** %fp2.addr, align 8 + %call42 = call zeroext i1 @advance_seq(%struct._IO_FILE* %27, %struct.seq* %seq2, i1 zeroext true, i32 2) + br label %if.end44 + +if.end44: ; preds = %if.end38, %if.then41, %lor.lhs.false, %if.end + br label %while.cond + +while.cond: ; preds = %if.end159, %if.end68, %if.end59, %if.end44 + %count45 = getelementptr inbounds %struct.seq, %struct.seq* %seq1, i32 0, i32 0 + %28 = load i64, i64* %count45, align 8 + %tobool46 = icmp ne i64 %28, 0 + %count47 = getelementptr inbounds %struct.seq, %struct.seq* %seq2, i32 0, i32 0 + %29 = load i64, i64* %count47, align 8 + %tobool48 = icmp ne i64 %29, 0 + %30 = select i1 %tobool46, i1 %tobool48, i1 false + br i1 %30, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %lines49 = getelementptr inbounds %struct.seq, %struct.seq* %seq1, i32 0, i32 2 + %31 = load %struct.line**, %struct.line*** %lines49, align 8 + %arrayidx50 = getelementptr inbounds %struct.line*, %struct.line** %31, i64 0 + %32 = load %struct.line*, %struct.line** %arrayidx50, align 8 + %lines51 = getelementptr inbounds %struct.seq, %struct.seq* %seq2, i32 0, i32 2 + %33 = load %struct.line**, %struct.line*** %lines51, align 8 + %arrayidx52 = getelementptr inbounds %struct.line*, %struct.line** %33, i64 0 + %34 = load %struct.line*, %struct.line** %arrayidx52, align 8 + %35 = load i64, i64* @join_field_1, align 8 + %36 = load i64, i64* @join_field_2, align 8 + %call53 = call i32 @keycmp(%struct.line* %32, %struct.line* %34, i64 %35, i64 %36) + store i32 %call53, i32* %diff, align 4 + %37 = load i32, i32* %diff, align 4 + %cmp = icmp slt i32 %37, 0 + br i1 %cmp, label %if.then54, label %if.end61 + +if.then54: ; preds = %while.body + %38 = load i8, i8* @print_unpairables_1, align 1 + %tobool55 = trunc i8 %38 to i1 + br i1 %tobool55, label %if.then56, label %if.end59 + +if.then56: ; preds = %if.then54 + %lines57 = getelementptr inbounds %struct.seq, %struct.seq* %seq1, i32 0, i32 2 + %39 = load %struct.line**, %struct.line*** %lines57, align 8 + %arrayidx58 = getelementptr inbounds %struct.line*, %struct.line** %39, i64 0 + %40 = load %struct.line*, %struct.line** %arrayidx58, align 8 + call void @prjoin(%struct.line* %40, %struct.line* @uni_blank) + br label %if.end59 + +if.end59: ; preds = %if.then56, %if.then54 + %41 = load %struct._IO_FILE*, %struct._IO_FILE** %fp1.addr, align 8 + %call60 = call zeroext i1 @advance_seq(%struct._IO_FILE* %41, %struct.seq* %seq1, i1 zeroext true, i32 1) + store i8 1, i8* @seen_unpairable, align 1 + br label %while.cond + +if.end61: ; preds = %while.body + %42 = load i32, i32* %diff, align 4 + %cmp62 = icmp sgt i32 %42, 0 + br i1 %cmp62, label %if.then63, label %if.end70 + +if.then63: ; preds = %if.end61 + %43 = load i8, i8* @print_unpairables_2, align 1 + %tobool64 = trunc i8 %43 to i1 + br i1 %tobool64, label %if.then65, label %if.end68 + +if.then65: ; preds = %if.then63 + %lines66 = getelementptr inbounds %struct.seq, %struct.seq* %seq2, i32 0, i32 2 + %44 = load %struct.line**, %struct.line*** %lines66, align 8 + %arrayidx67 = getelementptr inbounds %struct.line*, %struct.line** %44, i64 0 + %45 = load %struct.line*, %struct.line** %arrayidx67, align 8 + call void @prjoin(%struct.line* @uni_blank, %struct.line* %45) + br label %if.end68 + +if.end68: ; preds = %if.then65, %if.then63 + %46 = load %struct._IO_FILE*, %struct._IO_FILE** %fp2.addr, align 8 + %call69 = call zeroext i1 @advance_seq(%struct._IO_FILE* %46, %struct.seq* %seq2, i1 zeroext true, i32 2) + store i8 1, i8* @seen_unpairable, align 1 + br label %while.cond + +if.end70: ; preds = %if.end61 + store i8 0, i8* %eof1, align 1 + br label %do.body + +do.body: ; preds = %do.cond, %if.end70 + %47 = load %struct._IO_FILE*, %struct._IO_FILE** %fp1.addr, align 8 + %call71 = call zeroext i1 @advance_seq(%struct._IO_FILE* %47, %struct.seq* %seq1, i1 zeroext false, i32 1) + br i1 %call71, label %do.cond, label %if.then72 + +if.then72: ; preds = %do.body + store i8 1, i8* %eof1, align 1 + %count73 = getelementptr inbounds %struct.seq, %struct.seq* %seq1, i32 0, i32 0 + %48 = load i64, i64* %count73, align 8 + %inc = add i64 %48, 1 + store i64 %inc, i64* %count73, align 8 + br label %do.end + +do.cond: ; preds = %do.body + %lines75 = getelementptr inbounds %struct.seq, %struct.seq* %seq1, i32 0, i32 2 + %49 = load %struct.line**, %struct.line*** %lines75, align 8 + %count76 = getelementptr inbounds %struct.seq, %struct.seq* %seq1, i32 0, i32 0 + %50 = load i64, i64* %count76, align 8 + %sub = sub i64 %50, 1 + %arrayidx77 = getelementptr inbounds %struct.line*, %struct.line** %49, i64 %sub + %51 = load %struct.line*, %struct.line** %arrayidx77, align 8 + %lines78 = getelementptr inbounds %struct.seq, %struct.seq* %seq2, i32 0, i32 2 + %52 = load %struct.line**, %struct.line*** %lines78, align 8 + %arrayidx79 = getelementptr inbounds %struct.line*, %struct.line** %52, i64 0 + %53 = load %struct.line*, %struct.line** %arrayidx79, align 8 + %54 = load i64, i64* @join_field_1, align 8 + %55 = load i64, i64* @join_field_2, align 8 + %call80 = call i32 @keycmp(%struct.line* %51, %struct.line* %53, i64 %54, i64 %55) + %tobool81 = icmp ne i32 %call80, 0 + %lnot = xor i1 %tobool81, true + br i1 %lnot, label %do.body, label %do.end + +do.end: ; preds = %do.cond, %if.then72 + store i8 0, i8* %eof2, align 1 + br label %do.body82 + +do.body82: ; preds = %do.cond88, %do.end + %56 = load %struct._IO_FILE*, %struct._IO_FILE** %fp2.addr, align 8 + %call83 = call zeroext i1 @advance_seq(%struct._IO_FILE* %56, %struct.seq* %seq2, i1 zeroext false, i32 2) + br i1 %call83, label %do.cond88, label %if.then84 + +if.then84: ; preds = %do.body82 + store i8 1, i8* %eof2, align 1 + %count85 = getelementptr inbounds %struct.seq, %struct.seq* %seq2, i32 0, i32 0 + %57 = load i64, i64* %count85, align 8 + %inc86 = add i64 %57, 1 + store i64 %inc86, i64* %count85, align 8 + br label %do.end98 + +do.cond88: ; preds = %do.body82 + %lines89 = getelementptr inbounds %struct.seq, %struct.seq* %seq1, i32 0, i32 2 + %58 = load %struct.line**, %struct.line*** %lines89, align 8 + %arrayidx90 = getelementptr inbounds %struct.line*, %struct.line** %58, i64 0 + %59 = load %struct.line*, %struct.line** %arrayidx90, align 8 + %lines91 = getelementptr inbounds %struct.seq, %struct.seq* %seq2, i32 0, i32 2 + %60 = load %struct.line**, %struct.line*** %lines91, align 8 + %count92 = getelementptr inbounds %struct.seq, %struct.seq* %seq2, i32 0, i32 0 + %61 = load i64, i64* %count92, align 8 + %sub93 = sub i64 %61, 1 + %arrayidx94 = getelementptr inbounds %struct.line*, %struct.line** %60, i64 %sub93 + %62 = load %struct.line*, %struct.line** %arrayidx94, align 8 + %63 = load i64, i64* @join_field_1, align 8 + %64 = load i64, i64* @join_field_2, align 8 + %call95 = call i32 @keycmp(%struct.line* %59, %struct.line* %62, i64 %63, i64 %64) + %tobool96 = icmp ne i32 %call95, 0 + %lnot97 = xor i1 %tobool96, true + br i1 %lnot97, label %do.body82, label %do.end98 + +do.end98: ; preds = %do.cond88, %if.then84 + %65 = load i8, i8* @print_pairables, align 1 + %tobool99 = trunc i8 %65 to i1 + br i1 %tobool99, label %if.then100, label %if.end117 + +if.then100: ; preds = %do.end98 + store i64 0, i64* %i, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc114, %if.then100 + %66 = load i64, i64* %i, align 8 + %count101 = getelementptr inbounds %struct.seq, %struct.seq* %seq1, i32 0, i32 0 + %67 = load i64, i64* %count101, align 8 + %sub102 = sub i64 %67, 1 + %cmp103 = icmp ult i64 %66, %sub102 + br i1 %cmp103, label %for.body, label %if.end117 + +for.body: ; preds = %for.cond + store i64 0, i64* %j, align 8 + br label %for.cond104 + +for.cond104: ; preds = %for.body108, %for.body + %68 = load i64, i64* %j, align 8 + %count105 = getelementptr inbounds %struct.seq, %struct.seq* %seq2, i32 0, i32 0 + %69 = load i64, i64* %count105, align 8 + %sub106 = sub i64 %69, 1 + %cmp107 = icmp ult i64 %68, %sub106 + br i1 %cmp107, label %for.body108, label %for.inc114 + +for.body108: ; preds = %for.cond104 + %lines109 = getelementptr inbounds %struct.seq, %struct.seq* %seq1, i32 0, i32 2 + %70 = load %struct.line**, %struct.line*** %lines109, align 8 + %71 = load i64, i64* %i, align 8 + %arrayidx110 = getelementptr inbounds %struct.line*, %struct.line** %70, i64 %71 + %72 = load %struct.line*, %struct.line** %arrayidx110, align 8 + %lines111 = getelementptr inbounds %struct.seq, %struct.seq* %seq2, i32 0, i32 2 + %73 = load %struct.line**, %struct.line*** %lines111, align 8 + %74 = load i64, i64* %j, align 8 + %arrayidx112 = getelementptr inbounds %struct.line*, %struct.line** %73, i64 %74 + %75 = load %struct.line*, %struct.line** %arrayidx112, align 8 + call void @prjoin(%struct.line* %72, %struct.line* %75) + %76 = load i64, i64* %j, align 8 + %inc113 = add i64 %76, 1 + store i64 %inc113, i64* %j, align 8 + br label %for.cond104 + +for.inc114: ; preds = %for.cond104 + %77 = load i64, i64* %i, align 8 + %inc115 = add i64 %77, 1 + store i64 %inc115, i64* %i, align 8 + br label %for.cond + +if.end117: ; preds = %for.cond, %do.end98 + %78 = load i8, i8* %eof1, align 1 + %tobool118 = trunc i8 %78 to i1 + br i1 %tobool118, label %if.else, label %do.body120 + +do.body120: ; preds = %if.end117 + %lines121 = getelementptr inbounds %struct.seq, %struct.seq* %seq1, i32 0, i32 2 + %79 = load %struct.line**, %struct.line*** %lines121, align 8 + %arrayidx122 = getelementptr inbounds %struct.line*, %struct.line** %79, i64 0 + %80 = load %struct.line*, %struct.line** %arrayidx122, align 8 + store %struct.line* %80, %struct.line** %tmp, align 8 + %lines123 = getelementptr inbounds %struct.seq, %struct.seq* %seq1, i32 0, i32 2 + %81 = load %struct.line**, %struct.line*** %lines123, align 8 + %count124 = getelementptr inbounds %struct.seq, %struct.seq* %seq1, i32 0, i32 0 + %82 = load i64, i64* %count124, align 8 + %sub125 = sub i64 %82, 1 + %arrayidx126 = getelementptr inbounds %struct.line*, %struct.line** %81, i64 %sub125 + %83 = load %struct.line*, %struct.line** %arrayidx126, align 8 + %lines127 = getelementptr inbounds %struct.seq, %struct.seq* %seq1, i32 0, i32 2 + %84 = load %struct.line**, %struct.line*** %lines127, align 8 + %arrayidx128 = getelementptr inbounds %struct.line*, %struct.line** %84, i64 0 + store %struct.line* %83, %struct.line** %arrayidx128, align 8 + %85 = load %struct.line*, %struct.line** %tmp, align 8 + %lines129 = getelementptr inbounds %struct.seq, %struct.seq* %seq1, i32 0, i32 2 + %86 = load %struct.line**, %struct.line*** %lines129, align 8 + %count130 = getelementptr inbounds %struct.seq, %struct.seq* %seq1, i32 0, i32 0 + %87 = load i64, i64* %count130, align 8 + %sub131 = sub i64 %87, 1 + %arrayidx132 = getelementptr inbounds %struct.line*, %struct.line** %86, i64 %sub131 + store %struct.line* %85, %struct.line** %arrayidx132, align 8 + %count135 = getelementptr inbounds %struct.seq, %struct.seq* %seq1, i32 0, i32 0 + store i64 1, i64* %count135, align 8 + br label %if.end137 + +if.else: ; preds = %if.end117 + %count136 = getelementptr inbounds %struct.seq, %struct.seq* %seq1, i32 0, i32 0 + store i64 0, i64* %count136, align 8 + br label %if.end137 + +if.end137: ; preds = %if.else, %do.body120 + %88 = load i8, i8* %eof2, align 1 + %tobool138 = trunc i8 %88 to i1 + br i1 %tobool138, label %if.else157, label %do.body140 + +do.body140: ; preds = %if.end137 + %lines142 = getelementptr inbounds %struct.seq, %struct.seq* %seq2, i32 0, i32 2 + %89 = load %struct.line**, %struct.line*** %lines142, align 8 + %arrayidx143 = getelementptr inbounds %struct.line*, %struct.line** %89, i64 0 + %90 = load %struct.line*, %struct.line** %arrayidx143, align 8 + store %struct.line* %90, %struct.line** %tmp141, align 8 + %lines144 = getelementptr inbounds %struct.seq, %struct.seq* %seq2, i32 0, i32 2 + %91 = load %struct.line**, %struct.line*** %lines144, align 8 + %count145 = getelementptr inbounds %struct.seq, %struct.seq* %seq2, i32 0, i32 0 + %92 = load i64, i64* %count145, align 8 + %sub146 = sub i64 %92, 1 + %arrayidx147 = getelementptr inbounds %struct.line*, %struct.line** %91, i64 %sub146 + %93 = load %struct.line*, %struct.line** %arrayidx147, align 8 + %lines148 = getelementptr inbounds %struct.seq, %struct.seq* %seq2, i32 0, i32 2 + %94 = load %struct.line**, %struct.line*** %lines148, align 8 + %arrayidx149 = getelementptr inbounds %struct.line*, %struct.line** %94, i64 0 + store %struct.line* %93, %struct.line** %arrayidx149, align 8 + %95 = load %struct.line*, %struct.line** %tmp141, align 8 + %lines150 = getelementptr inbounds %struct.seq, %struct.seq* %seq2, i32 0, i32 2 + %96 = load %struct.line**, %struct.line*** %lines150, align 8 + %count151 = getelementptr inbounds %struct.seq, %struct.seq* %seq2, i32 0, i32 0 + %97 = load i64, i64* %count151, align 8 + %sub152 = sub i64 %97, 1 + %arrayidx153 = getelementptr inbounds %struct.line*, %struct.line** %96, i64 %sub152 + store %struct.line* %95, %struct.line** %arrayidx153, align 8 + %count156 = getelementptr inbounds %struct.seq, %struct.seq* %seq2, i32 0, i32 0 + store i64 1, i64* %count156, align 8 + br label %if.end159 + +if.else157: ; preds = %if.end137 + %count158 = getelementptr inbounds %struct.seq, %struct.seq* %seq2, i32 0, i32 0 + store i64 0, i64* %count158, align 8 + br label %if.end159 + +if.end159: ; preds = %if.else157, %do.body140 + br label %while.cond + +while.end: ; preds = %while.cond + store %struct.line* null, %struct.line** %line, align 8 + store i8 0, i8* %checktail, align 1 + %98 = load i32, i32* @check_input_order, align 4 + %cmp160 = icmp ne i32 %98, 2 + br i1 %cmp160, label %land.lhs.true161, label %if.end166 + +land.lhs.true161: ; preds = %while.end + %99 = load i8, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @issued_disorder_warning, i64 0, i64 0), align 1 + %tobool162 = trunc i8 %99 to i1 + br i1 %tobool162, label %land.lhs.true163, label %if.then165 + +land.lhs.true163: ; preds = %land.lhs.true161 + %100 = load i8, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @issued_disorder_warning, i64 0, i64 1), align 1 + %tobool164 = trunc i8 %100 to i1 + br i1 %tobool164, label %if.end166, label %if.then165 + +if.then165: ; preds = %land.lhs.true163, %land.lhs.true161 + store i8 1, i8* %checktail, align 1 + br label %if.end166 + +if.end166: ; preds = %if.then165, %land.lhs.true163, %while.end + %101 = load i8, i8* @print_unpairables_1, align 1 + %tobool167 = trunc i8 %101 to i1 + br i1 %tobool167, label %land.lhs.true170, label %lor.lhs.false168 + +lor.lhs.false168: ; preds = %if.end166 + %102 = load i8, i8* %checktail, align 1 + %tobool169 = trunc i8 %102 to i1 + br i1 %tobool169, label %land.lhs.true170, label %if.end195 + +land.lhs.true170: ; preds = %lor.lhs.false168, %if.end166 + %count171 = getelementptr inbounds %struct.seq, %struct.seq* %seq1, i32 0, i32 0 + %103 = load i64, i64* %count171, align 8 + %tobool172 = icmp ne i64 %103, 0 + br i1 %tobool172, label %if.then173, label %if.end195 + +if.then173: ; preds = %land.lhs.true170 + %104 = load i8, i8* @print_unpairables_1, align 1 + %tobool174 = trunc i8 %104 to i1 + br i1 %tobool174, label %if.then175, label %if.end178 + +if.then175: ; preds = %if.then173 + %lines176 = getelementptr inbounds %struct.seq, %struct.seq* %seq1, i32 0, i32 2 + %105 = load %struct.line**, %struct.line*** %lines176, align 8 + %arrayidx177 = getelementptr inbounds %struct.line*, %struct.line** %105, i64 0 + %106 = load %struct.line*, %struct.line** %arrayidx177, align 8 + call void @prjoin(%struct.line* %106, %struct.line* @uni_blank) + br label %if.end178 + +if.end178: ; preds = %if.then175, %if.then173 + %count179 = getelementptr inbounds %struct.seq, %struct.seq* %seq2, i32 0, i32 0 + %107 = load i64, i64* %count179, align 8 + %tobool180 = icmp ne i64 %107, 0 + br i1 %tobool180, label %if.then181, label %if.end182 + +if.then181: ; preds = %if.end178 + store i8 1, i8* @seen_unpairable, align 1 + br label %if.end182 + +if.end182: ; preds = %if.then181, %if.end178 + br label %while.cond183 + +while.cond183: ; preds = %if.end193, %if.end182 + %108 = load %struct._IO_FILE*, %struct._IO_FILE** %fp1.addr, align 8 + %call184 = call zeroext i1 @get_line(%struct._IO_FILE* %108, %struct.line** %line, i32 1) + br i1 %call184, label %while.body185, label %if.end195 + +while.body185: ; preds = %while.cond183 + %109 = load i8, i8* @print_unpairables_1, align 1 + %tobool186 = trunc i8 %109 to i1 + br i1 %tobool186, label %if.then187, label %if.end188 + +if.then187: ; preds = %while.body185 + %110 = load %struct.line*, %struct.line** %line, align 8 + call void @prjoin(%struct.line* %110, %struct.line* @uni_blank) + br label %if.end188 + +if.end188: ; preds = %if.then187, %while.body185 + %111 = load i8, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @issued_disorder_warning, i64 0, i64 0), align 1 + %tobool189 = trunc i8 %111 to i1 + br i1 %tobool189, label %land.lhs.true190, label %if.end193 + +land.lhs.true190: ; preds = %if.end188 + %112 = load i8, i8* @print_unpairables_1, align 1 + %tobool191 = trunc i8 %112 to i1 + br i1 %tobool191, label %if.end193, label %if.end195 + +if.end193: ; preds = %land.lhs.true190, %if.end188 + br label %while.cond183 + +if.end195: ; preds = %while.cond183, %land.lhs.true190, %land.lhs.true170, %lor.lhs.false168 + %113 = load i8, i8* @print_unpairables_2, align 1 + %tobool196 = trunc i8 %113 to i1 + br i1 %tobool196, label %land.lhs.true199, label %lor.lhs.false197 + +lor.lhs.false197: ; preds = %if.end195 + %114 = load i8, i8* %checktail, align 1 + %tobool198 = trunc i8 %114 to i1 + br i1 %tobool198, label %land.lhs.true199, label %if.end224 + +land.lhs.true199: ; preds = %lor.lhs.false197, %if.end195 + %count200 = getelementptr inbounds %struct.seq, %struct.seq* %seq2, i32 0, i32 0 + %115 = load i64, i64* %count200, align 8 + %tobool201 = icmp ne i64 %115, 0 + br i1 %tobool201, label %if.then202, label %if.end224 + +if.then202: ; preds = %land.lhs.true199 + %116 = load i8, i8* @print_unpairables_2, align 1 + %tobool203 = trunc i8 %116 to i1 + br i1 %tobool203, label %if.then204, label %if.end207 + +if.then204: ; preds = %if.then202 + %lines205 = getelementptr inbounds %struct.seq, %struct.seq* %seq2, i32 0, i32 2 + %117 = load %struct.line**, %struct.line*** %lines205, align 8 + %arrayidx206 = getelementptr inbounds %struct.line*, %struct.line** %117, i64 0 + %118 = load %struct.line*, %struct.line** %arrayidx206, align 8 + call void @prjoin(%struct.line* @uni_blank, %struct.line* %118) + br label %if.end207 + +if.end207: ; preds = %if.then204, %if.then202 + %count208 = getelementptr inbounds %struct.seq, %struct.seq* %seq1, i32 0, i32 0 + %119 = load i64, i64* %count208, align 8 + %tobool209 = icmp ne i64 %119, 0 + br i1 %tobool209, label %if.then210, label %if.end211 + +if.then210: ; preds = %if.end207 + store i8 1, i8* @seen_unpairable, align 1 + br label %if.end211 + +if.end211: ; preds = %if.then210, %if.end207 + br label %while.cond212 + +while.cond212: ; preds = %if.end222, %if.end211 + %120 = load %struct._IO_FILE*, %struct._IO_FILE** %fp2.addr, align 8 + %call213 = call zeroext i1 @get_line(%struct._IO_FILE* %120, %struct.line** %line, i32 2) + br i1 %call213, label %while.body214, label %if.end224 + +while.body214: ; preds = %while.cond212 + %121 = load i8, i8* @print_unpairables_2, align 1 + %tobool215 = trunc i8 %121 to i1 + br i1 %tobool215, label %if.then216, label %if.end217 + +if.then216: ; preds = %while.body214 + %122 = load %struct.line*, %struct.line** %line, align 8 + call void @prjoin(%struct.line* @uni_blank, %struct.line* %122) + br label %if.end217 + +if.end217: ; preds = %if.then216, %while.body214 + %123 = load i8, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @issued_disorder_warning, i64 0, i64 1), align 1 + %tobool218 = trunc i8 %123 to i1 + br i1 %tobool218, label %land.lhs.true219, label %if.end222 + +land.lhs.true219: ; preds = %if.end217 + %124 = load i8, i8* @print_unpairables_2, align 1 + %tobool220 = trunc i8 %124 to i1 + br i1 %tobool220, label %if.end222, label %if.end224 + +if.end222: ; preds = %land.lhs.true219, %if.end217 + br label %while.cond212 + +if.end224: ; preds = %while.cond212, %land.lhs.true219, %land.lhs.true199, %lor.lhs.false197 + %125 = load %struct.line*, %struct.line** %line, align 8 + call void @freeline(%struct.line* %125) + %126 = load %struct.line*, %struct.line** %line, align 8 + %127 = bitcast %struct.line* %126 to i8* + call void @free(i8* %127) #11 + call void @delseq(%struct.seq* %seq1) + call void @delseq(%struct.seq* %seq2) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fclose(%struct._IO_FILE* nonnull %fp) #3 { +entry: + %retval = alloca i32, align 4 + %fp.addr = alloca %struct._IO_FILE*, align 8 + %saved_errno = alloca i32, align 4 + %fd = alloca i32, align 4 + %result = alloca i32, align 4 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + store i32 0, i32* %saved_errno, align 4 + store i32 0, i32* %result, align 4 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %0) #11 + store i32 %call, i32* %fd, align 4 + %1 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %1, 0 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call1 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fclose to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %2) + store i32 %call1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %call2 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.519*)* @__freading to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %2) #11 + %cmp3 = icmp ne i32 %call2, 0 + br i1 %cmp3, label %lor.lhs.false, label %land.lhs.true + +lor.lhs.false: ; preds = %if.end + %3 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call4 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %3) #11 + %call5 = call i64 @lseek(i32 %call4, i64 0, i32 1) #11 + %cmp6 = icmp ne i64 %call5, -1 + br i1 %cmp6, label %land.lhs.true, label %if.end10 + +land.lhs.true: ; preds = %lor.lhs.false, %if.end + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call7 = call i32 @rpl_fflush(%struct._IO_FILE* %4) + %tobool = icmp ne i32 %call7, 0 + br i1 %tobool, label %if.then8, label %if.end10 + +if.then8: ; preds = %land.lhs.true + %call9 = call i32* @__errno_location() #25 + %5 = load i32, i32* %call9, align 4 + store i32 %5, i32* %saved_errno, align 4 + br label %if.end10 + +if.end10: ; preds = %if.then8, %land.lhs.true, %lor.lhs.false + %6 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call11 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fclose to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %6) + store i32 %call11, i32* %result, align 4 + %7 = load i32, i32* %saved_errno, align 4 + %cmp12 = icmp ne i32 %7, 0 + br i1 %cmp12, label %if.then13, label %if.end15 + +if.then13: ; preds = %if.end10 + %8 = load i32, i32* %saved_errno, align 4 + %call14 = call i32* @__errno_location() #25 + store i32 %8, i32* %call14, align 4 + store i32 -1, i32* %result, align 4 + br label %if.end15 + +if.end15: ; preds = %if.then13, %if.end10 + %9 = load i32, i32* %result, align 4 + store i32 %9, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end15, %if.then + %10 = load i32, i32* %retval, align 4 + ret i32 %10 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fflush(%struct._IO_FILE* %stream) #3 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %cmp = icmp eq %struct._IO_FILE* %0, null + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.519*)* @__freading to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %1) #11 + %cmp1 = icmp ne i32 %call, 0 + br i1 %cmp1, label %if.end, label %if.then + +if.then: ; preds = %lor.lhs.false, %entry + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call2 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fflush to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %2) + store i32 %call2, i32* %retval, align 4 + br label %return + +if.end: ; preds = %lor.lhs.false + %3 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + call void @clear_ungetc_buffer_preserving_position(%struct._IO_FILE* %3) + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call3 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fflush to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %4) + store i32 %call3, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %5 = load i32, i32* %retval, align 4 + ret i32 %5 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @clear_ungetc_buffer_preserving_position(%struct._IO_FILE* %fp) #3 { +entry: + %fp.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_flags = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %0, i32 0, i32 0 + %1 = load i32, i32* %_flags, align 8 + %and = and i32 %1, 256 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 @rpl_fseeko(%struct._IO_FILE* %2, i64 0, i32 1) + br label %if.end + +if.end: ; preds = %if.then, %entry + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fseeko(%struct._IO_FILE* nonnull %fp, i64 %offset, i32 %whence) #3 { +entry: + %retval = alloca i32, align 4 + %fp.addr = alloca %struct._IO_FILE*, align 8 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + %pos = alloca i64, align 8 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_read_end = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %0, i32 0, i32 2 + %1 = load i8*, i8** %_IO_read_end, align 8 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_read_ptr = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %2, i32 0, i32 1 + %3 = load i8*, i8** %_IO_read_ptr, align 8 + %cmp = icmp eq i8* %1, %3 + br i1 %cmp, label %land.lhs.true, label %if.end7 + +land.lhs.true: ; preds = %entry + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_write_ptr = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %4, i32 0, i32 5 + %5 = load i8*, i8** %_IO_write_ptr, align 8 + %6 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_write_base = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %6, i32 0, i32 4 + %7 = load i8*, i8** %_IO_write_base, align 8 + %cmp1 = icmp eq i8* %5, %7 + br i1 %cmp1, label %land.lhs.true2, label %if.end7 + +land.lhs.true2: ; preds = %land.lhs.true + %8 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_save_base = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %8, i32 0, i32 9 + %9 = load i8*, i8** %_IO_save_base, align 8 + %cmp3 = icmp eq i8* %9, null + br i1 %cmp3, label %if.then, label %if.end7 + +if.then: ; preds = %land.lhs.true2 + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %10) #11 + %11 = load i64, i64* %offset.addr, align 8 + %12 = load i32, i32* %whence.addr, align 4 + %call4 = call i64 @lseek(i32 %call, i64 %11, i32 %12) #11 + store i64 %call4, i64* %pos, align 8 + %13 = load i64, i64* %pos, align 8 + %cmp5 = icmp eq i64 %13, -1 + br i1 %cmp5, label %if.then6, label %if.end + +if.then6: ; preds = %if.then + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %if.then + %14 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_flags = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %14, i32 0, i32 0 + %15 = load i32, i32* %_flags, align 8 + %and = and i32 %15, -17 + store i32 %and, i32* %_flags, align 8 + %16 = load i64, i64* %pos, align 8 + %17 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_offset = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %17, i32 0, i32 21 + store i64 %16, i64* %_offset, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.end7: ; preds = %land.lhs.true2, %land.lhs.true, %entry + %18 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %19 = load i64, i64* %offset.addr, align 8 + %20 = load i32, i32* %whence.addr, align 4 + %call8 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32)* @fseeko to i32 (%struct._IO_FILE*, i64, i32)*)(%struct._IO_FILE* %18, i64 %19, i32 %20) + store i32 %call8, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end7, %if.end, %if.then6 + %21 = load i32, i32* %retval, align 4 + ret i32 %21 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @fadvise(%struct._IO_FILE* %fp, i32 %advice) #3 { +entry: + %fp.addr = alloca %struct._IO_FILE*, align 8 + %advice.addr = alloca i32, align 4 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + store i32 %advice, i32* %advice.addr, align 4 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %tobool = icmp ne %struct._IO_FILE* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %1) #11 + %2 = load i32, i32* %advice.addr, align 4 + call void @fdadvise(i32 %call, i64 0, i64 0, i32 %2) + br label %if.end + +if.end: ; preds = %if.then, %entry + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @initseq(%struct.seq* %seq) #3 { +entry: + %seq.addr = alloca %struct.seq*, align 8 + store %struct.seq* %seq, %struct.seq** %seq.addr, align 8 + %0 = load %struct.seq*, %struct.seq** %seq.addr, align 8 + %count = getelementptr inbounds %struct.seq, %struct.seq* %0, i32 0, i32 0 + store i64 0, i64* %count, align 8 + %1 = load %struct.seq*, %struct.seq** %seq.addr, align 8 + %alloc = getelementptr inbounds %struct.seq, %struct.seq* %1, i32 0, i32 1 + store i64 0, i64* %alloc, align 8 + %2 = load %struct.seq*, %struct.seq** %seq.addr, align 8 + %lines = getelementptr inbounds %struct.seq, %struct.seq* %2, i32 0, i32 2 + store %struct.line** null, %struct.line*** %lines, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal zeroext i1 @getseq(%struct._IO_FILE* %fp, %struct.seq* %seq, i32 %whichfile) #3 { +entry: + %retval = alloca i1, align 1 + %fp.addr = alloca %struct._IO_FILE*, align 8 + %seq.addr = alloca %struct.seq*, align 8 + %whichfile.addr = alloca i32, align 4 + %i = alloca i64, align 8 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + store %struct.seq* %seq, %struct.seq** %seq.addr, align 8 + store i32 %whichfile, i32* %whichfile.addr, align 4 + %0 = load %struct.seq*, %struct.seq** %seq.addr, align 8 + %count = getelementptr inbounds %struct.seq, %struct.seq* %0, i32 0, i32 0 + %1 = load i64, i64* %count, align 8 + %2 = load %struct.seq*, %struct.seq** %seq.addr, align 8 + %alloc = getelementptr inbounds %struct.seq, %struct.seq* %2, i32 0, i32 1 + %3 = load i64, i64* %alloc, align 8 + %cmp = icmp eq i64 %1, %3 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %4 = load %struct.seq*, %struct.seq** %seq.addr, align 8 + %lines = getelementptr inbounds %struct.seq, %struct.seq* %4, i32 0, i32 2 + %5 = load %struct.line**, %struct.line*** %lines, align 8 + %6 = bitcast %struct.line** %5 to i8* + %7 = load %struct.seq*, %struct.seq** %seq.addr, align 8 + %alloc1 = getelementptr inbounds %struct.seq, %struct.seq* %7, i32 0, i32 1 + %call = call i8* @x2nrealloc(i8* %6, i64* %alloc1, i64 8) + %8 = bitcast i8* %call to %struct.line** + %9 = load %struct.seq*, %struct.seq** %seq.addr, align 8 + %lines2 = getelementptr inbounds %struct.seq, %struct.seq* %9, i32 0, i32 2 + store %struct.line** %8, %struct.line*** %lines2, align 8 + %10 = load %struct.seq*, %struct.seq** %seq.addr, align 8 + %count3 = getelementptr inbounds %struct.seq, %struct.seq* %10, i32 0, i32 0 + %11 = load i64, i64* %count3, align 8 + store i64 %11, i64* %i, align 8 + br label %for.cond + +for.cond: ; preds = %for.body, %if.then + %12 = load i64, i64* %i, align 8 + %13 = load %struct.seq*, %struct.seq** %seq.addr, align 8 + %alloc4 = getelementptr inbounds %struct.seq, %struct.seq* %13, i32 0, i32 1 + %14 = load i64, i64* %alloc4, align 8 + %cmp5 = icmp ult i64 %12, %14 + br i1 %cmp5, label %for.body, label %if.end + +for.body: ; preds = %for.cond + %15 = load %struct.seq*, %struct.seq** %seq.addr, align 8 + %lines6 = getelementptr inbounds %struct.seq, %struct.seq* %15, i32 0, i32 2 + %16 = load %struct.line**, %struct.line*** %lines6, align 8 + %17 = load i64, i64* %i, align 8 + %arrayidx = getelementptr inbounds %struct.line*, %struct.line** %16, i64 %17 + store %struct.line* null, %struct.line** %arrayidx, align 8 + %18 = load i64, i64* %i, align 8 + %inc = add i64 %18, 1 + store i64 %inc, i64* %i, align 8 + br label %for.cond + +if.end: ; preds = %for.cond, %entry + %19 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %20 = load %struct.seq*, %struct.seq** %seq.addr, align 8 + %lines7 = getelementptr inbounds %struct.seq, %struct.seq* %20, i32 0, i32 2 + %21 = load %struct.line**, %struct.line*** %lines7, align 8 + %22 = load %struct.seq*, %struct.seq** %seq.addr, align 8 + %count8 = getelementptr inbounds %struct.seq, %struct.seq* %22, i32 0, i32 0 + %23 = load i64, i64* %count8, align 8 + %arrayidx9 = getelementptr inbounds %struct.line*, %struct.line** %21, i64 %23 + %24 = load i32, i32* %whichfile.addr, align 4 + %call10 = call zeroext i1 @get_line(%struct._IO_FILE* %19, %struct.line** %arrayidx9, i32 %24) + br i1 %call10, label %if.then11, label %if.end14 + +if.then11: ; preds = %if.end + %25 = load %struct.seq*, %struct.seq** %seq.addr, align 8 + %count12 = getelementptr inbounds %struct.seq, %struct.seq* %25, i32 0, i32 0 + %26 = load i64, i64* %count12, align 8 + %inc13 = add i64 %26, 1 + store i64 %inc13, i64* %count12, align 8 + store i1 true, i1* %retval, align 1 + br label %return + +if.end14: ; preds = %if.end + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %if.end14, %if.then11 + %27 = load i1, i1* %retval, align 1 + ret i1 %27 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @prjoin(%struct.line* %line1, %struct.line* %line2) #3 { +entry: + %line1.addr = alloca %struct.line*, align 8 + %line2.addr = alloca %struct.line*, align 8 + %outlist = alloca %struct.outlist*, align 8 + %output_separator = alloca i8, align 1 + %field = alloca i64, align 8 + %line = alloca %struct.line*, align 8 + %o = alloca %struct.outlist*, align 8 + store %struct.line* %line1, %struct.line** %line1.addr, align 8 + store %struct.line* %line2, %struct.line** %line2.addr, align 8 + %0 = load i32, i32* @tab, align 4 + %cmp = icmp slt i32 %0, 0 + %1 = load i32, i32* @tab, align 4 + %cond = select i1 %cmp, i32 32, i32 %1 + %conv = trunc i32 %cond to i8 + store i8 %conv, i8* %output_separator, align 1 + %2 = load %struct.outlist*, %struct.outlist** getelementptr inbounds (%struct.outlist, %struct.outlist* @outlist_head, i32 0, i32 2), align 8 + store %struct.outlist* %2, %struct.outlist** %outlist, align 8 + %3 = load %struct.outlist*, %struct.outlist** %outlist, align 8 + %tobool = icmp ne %struct.outlist* %3, null + br i1 %tobool, label %if.then, label %if.else24 + +if.then: ; preds = %entry + %4 = load %struct.outlist*, %struct.outlist** %outlist, align 8 + store %struct.outlist* %4, %struct.outlist** %o, align 8 + br label %while.body + +while.body: ; preds = %if.then, %if.end20 + %5 = load %struct.outlist*, %struct.outlist** %o, align 8 + %file = getelementptr inbounds %struct.outlist, %struct.outlist* %5, i32 0, i32 0 + %6 = load i32, i32* %file, align 8 + %cmp1 = icmp eq i32 %6, 0 + br i1 %cmp1, label %if.then3, label %if.else7 + +if.then3: ; preds = %while.body + %7 = load %struct.line*, %struct.line** %line1.addr, align 8 + %cmp4 = icmp eq %struct.line* %7, @uni_blank + br i1 %cmp4, label %if.then6, label %if.else + +if.then6: ; preds = %if.then3 + %8 = load %struct.line*, %struct.line** %line2.addr, align 8 + store %struct.line* %8, %struct.line** %line, align 8 + %9 = load i64, i64* @join_field_2, align 8 + store i64 %9, i64* %field, align 8 + br label %if.end16 + +if.else: ; preds = %if.then3 + %10 = load %struct.line*, %struct.line** %line1.addr, align 8 + store %struct.line* %10, %struct.line** %line, align 8 + %11 = load i64, i64* @join_field_1, align 8 + store i64 %11, i64* %field, align 8 + br label %if.end16 + +if.else7: ; preds = %while.body + %12 = load %struct.outlist*, %struct.outlist** %o, align 8 + %file8 = getelementptr inbounds %struct.outlist, %struct.outlist* %12, i32 0, i32 0 + %13 = load i32, i32* %file8, align 8 + %cmp9 = icmp eq i32 %13, 1 + %14 = load %struct.line*, %struct.line** %line1.addr, align 8 + %15 = load %struct.line*, %struct.line** %line2.addr, align 8 + %cond14 = select i1 %cmp9, %struct.line* %14, %struct.line* %15 + store %struct.line* %cond14, %struct.line** %line, align 8 + %16 = load %struct.outlist*, %struct.outlist** %o, align 8 + %field15 = getelementptr inbounds %struct.outlist, %struct.outlist* %16, i32 0, i32 1 + %17 = load i64, i64* %field15, align 8 + store i64 %17, i64* %field, align 8 + br label %if.end16 + +if.end16: ; preds = %if.then6, %if.else, %if.else7 + %18 = load i64, i64* %field, align 8 + %19 = load %struct.line*, %struct.line** %line, align 8 + call void @prfield(i64 %18, %struct.line* %19) + %20 = load %struct.outlist*, %struct.outlist** %o, align 8 + %next = getelementptr inbounds %struct.outlist, %struct.outlist* %20, i32 0, i32 2 + %21 = load %struct.outlist*, %struct.outlist** %next, align 8 + store %struct.outlist* %21, %struct.outlist** %o, align 8 + %22 = load %struct.outlist*, %struct.outlist** %o, align 8 + %cmp17 = icmp eq %struct.outlist* %22, null + br i1 %cmp17, label %while.end, label %if.end20 + +if.end20: ; preds = %if.end16 + %23 = load i8, i8* %output_separator, align 1 + %conv21 = sext i8 %23 to i32 + %call = call i32 @putchar_unlocked(i32 %conv21) + br label %while.body + +while.end: ; preds = %if.end16 + %24 = load i8, i8* @eolchar, align 1 + %conv22 = sext i8 %24 to i32 + %call23 = call i32 @putchar_unlocked(i32 %conv22) + br label %if.end32 + +if.else24: ; preds = %entry + %25 = load %struct.line*, %struct.line** %line1.addr, align 8 + %cmp25 = icmp eq %struct.line* %25, @uni_blank + br i1 %cmp25, label %if.then27, label %if.else28 + +if.then27: ; preds = %if.else24 + %26 = load %struct.line*, %struct.line** %line2.addr, align 8 + store %struct.line* %26, %struct.line** %line, align 8 + %27 = load i64, i64* @join_field_2, align 8 + store i64 %27, i64* %field, align 8 + br label %if.end29 + +if.else28: ; preds = %if.else24 + %28 = load %struct.line*, %struct.line** %line1.addr, align 8 + store %struct.line* %28, %struct.line** %line, align 8 + %29 = load i64, i64* @join_field_1, align 8 + store i64 %29, i64* %field, align 8 + br label %if.end29 + +if.end29: ; preds = %if.else28, %if.then27 + %30 = load i64, i64* %field, align 8 + %31 = load %struct.line*, %struct.line** %line, align 8 + call void @prfield(i64 %30, %struct.line* %31) + %32 = load %struct.line*, %struct.line** %line1.addr, align 8 + %33 = load i64, i64* @join_field_1, align 8 + %34 = load i64, i64* @autocount_1, align 8 + call void @prfields(%struct.line* %32, i64 %33, i64 %34) + %35 = load %struct.line*, %struct.line** %line2.addr, align 8 + %36 = load i64, i64* @join_field_2, align 8 + %37 = load i64, i64* @autocount_2, align 8 + call void @prfields(%struct.line* %35, i64 %36, i64 %37) + %38 = load i8, i8* @eolchar, align 1 + %conv30 = sext i8 %38 to i32 + %call31 = call i32 @putchar_unlocked(i32 %conv30) + br label %if.end32 + +if.end32: ; preds = %if.end29, %while.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal zeroext i1 @advance_seq(%struct._IO_FILE* %fp, %struct.seq* %seq, i1 zeroext %first, i32 %whichfile) #3 { +entry: + %fp.addr = alloca %struct._IO_FILE*, align 8 + %seq.addr = alloca %struct.seq*, align 8 + %first.addr = alloca i8, align 1 + %whichfile.addr = alloca i32, align 4 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + store %struct.seq* %seq, %struct.seq** %seq.addr, align 8 + %frombool = zext i1 %first to i8 + store i8 %frombool, i8* %first.addr, align 1 + store i32 %whichfile, i32* %whichfile.addr, align 4 + %0 = load i8, i8* %first.addr, align 1 + %tobool = trunc i8 %0 to i1 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load %struct.seq*, %struct.seq** %seq.addr, align 8 + %count = getelementptr inbounds %struct.seq, %struct.seq* %1, i32 0, i32 0 + store i64 0, i64* %count, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %3 = load %struct.seq*, %struct.seq** %seq.addr, align 8 + %4 = load i32, i32* %whichfile.addr, align 4 + %call = call zeroext i1 @getseq(%struct._IO_FILE* %2, %struct.seq* %3, i32 %4) + ret i1 %call +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @keycmp(%struct.line* %line1, %struct.line* %line2, i64 %jf_1, i64 %jf_2) #3 { +entry: + %retval = alloca i32, align 4 + %line1.addr = alloca %struct.line*, align 8 + %line2.addr = alloca %struct.line*, align 8 + %jf_1.addr = alloca i64, align 8 + %jf_2.addr = alloca i64, align 8 + %beg1 = alloca i8*, align 8 + %beg2 = alloca i8*, align 8 + %len1 = alloca i64, align 8 + %len2 = alloca i64, align 8 + %diff = alloca i32, align 4 + store %struct.line* %line1, %struct.line** %line1.addr, align 8 + store %struct.line* %line2, %struct.line** %line2.addr, align 8 + store i64 %jf_1, i64* %jf_1.addr, align 8 + store i64 %jf_2, i64* %jf_2.addr, align 8 + %0 = load i64, i64* %jf_1.addr, align 8 + %1 = load %struct.line*, %struct.line** %line1.addr, align 8 + %nfields = getelementptr inbounds %struct.line, %struct.line* %1, i32 0, i32 1 + %2 = load i64, i64* %nfields, align 8 + %cmp = icmp ult i64 %0, %2 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %3 = load %struct.line*, %struct.line** %line1.addr, align 8 + %fields = getelementptr inbounds %struct.line, %struct.line* %3, i32 0, i32 3 + %4 = load %struct.field*, %struct.field** %fields, align 8 + %5 = load i64, i64* %jf_1.addr, align 8 + %arrayidx = getelementptr inbounds %struct.field, %struct.field* %4, i64 %5 + %beg = getelementptr inbounds %struct.field, %struct.field* %arrayidx, i32 0, i32 0 + %6 = load i8*, i8** %beg, align 8 + store i8* %6, i8** %beg1, align 8 + %7 = load %struct.line*, %struct.line** %line1.addr, align 8 + %fields1 = getelementptr inbounds %struct.line, %struct.line* %7, i32 0, i32 3 + %8 = load %struct.field*, %struct.field** %fields1, align 8 + %9 = load i64, i64* %jf_1.addr, align 8 + %arrayidx2 = getelementptr inbounds %struct.field, %struct.field* %8, i64 %9 + %len = getelementptr inbounds %struct.field, %struct.field* %arrayidx2, i32 0, i32 1 + %10 = load i64, i64* %len, align 8 + store i64 %10, i64* %len1, align 8 + br label %if.end + +if.else: ; preds = %entry + store i8* null, i8** %beg1, align 8 + store i64 0, i64* %len1, align 8 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %11 = load i64, i64* %jf_2.addr, align 8 + %12 = load %struct.line*, %struct.line** %line2.addr, align 8 + %nfields3 = getelementptr inbounds %struct.line, %struct.line* %12, i32 0, i32 1 + %13 = load i64, i64* %nfields3, align 8 + %cmp4 = icmp ult i64 %11, %13 + br i1 %cmp4, label %if.then5, label %if.else12 + +if.then5: ; preds = %if.end + %14 = load %struct.line*, %struct.line** %line2.addr, align 8 + %fields6 = getelementptr inbounds %struct.line, %struct.line* %14, i32 0, i32 3 + %15 = load %struct.field*, %struct.field** %fields6, align 8 + %16 = load i64, i64* %jf_2.addr, align 8 + %arrayidx7 = getelementptr inbounds %struct.field, %struct.field* %15, i64 %16 + %beg8 = getelementptr inbounds %struct.field, %struct.field* %arrayidx7, i32 0, i32 0 + %17 = load i8*, i8** %beg8, align 8 + store i8* %17, i8** %beg2, align 8 + %18 = load %struct.line*, %struct.line** %line2.addr, align 8 + %fields9 = getelementptr inbounds %struct.line, %struct.line* %18, i32 0, i32 3 + %19 = load %struct.field*, %struct.field** %fields9, align 8 + %20 = load i64, i64* %jf_2.addr, align 8 + %arrayidx10 = getelementptr inbounds %struct.field, %struct.field* %19, i64 %20 + %len11 = getelementptr inbounds %struct.field, %struct.field* %arrayidx10, i32 0, i32 1 + %21 = load i64, i64* %len11, align 8 + store i64 %21, i64* %len2, align 8 + br label %if.end13 + +if.else12: ; preds = %if.end + store i8* null, i8** %beg2, align 8 + store i64 0, i64* %len2, align 8 + br label %if.end13 + +if.end13: ; preds = %if.else12, %if.then5 + %22 = load i64, i64* %len1, align 8 + %cmp14 = icmp eq i64 %22, 0 + %23 = load i64, i64* %len2, align 8 + %cmp16 = icmp eq i64 %23, 0 + br i1 %cmp14, label %if.then15, label %if.end17 + +if.then15: ; preds = %if.end13 + %24 = zext i1 %cmp16 to i64 + %cond = select i1 %cmp16, i32 0, i32 -1 + store i32 %cond, i32* %retval, align 4 + br label %return + +if.end17: ; preds = %if.end13 + br i1 %cmp16, label %if.then19, label %if.end20 + +if.then19: ; preds = %if.end17 + store i32 1, i32* %retval, align 4 + br label %return + +if.end20: ; preds = %if.end17 + %25 = load i8, i8* @ignore_case, align 1 + %tobool = trunc i8 %25 to i1 + br i1 %tobool, label %if.then21, label %if.else24 + +if.then21: ; preds = %if.end20 + %26 = load i8*, i8** %beg1, align 8 + %27 = load i8*, i8** %beg2, align 8 + %28 = load i64, i64* %len1, align 8 + %29 = load i64, i64* %len2, align 8 + %cmp22 = icmp ult i64 %28, %29 + %30 = load i64, i64* %len1, align 8 + %31 = load i64, i64* %len2, align 8 + %cond23 = select i1 %cmp22, i64 %30, i64 %31 + %call = call i32 @memcasecmp(i8* %26, i8* %27, i64 %cond23) #23 + store i32 %call, i32* %diff, align 4 + br label %if.end35 + +if.else24: ; preds = %if.end20 + %32 = load i8, i8* @hard_LC_COLLATE, align 1 + %tobool25 = trunc i8 %32 to i1 + %33 = load i8*, i8** %beg1, align 8 + br i1 %tobool25, label %if.then26, label %if.end28 + +if.then26: ; preds = %if.else24 + %34 = load i64, i64* %len1, align 8 + %35 = load i8*, i8** %beg2, align 8 + %36 = load i64, i64* %len2, align 8 + %call27 = call i32 @xmemcoll(i8* %33, i64 %34, i8* %35, i64 %36) + store i32 %call27, i32* %retval, align 4 + br label %return + +if.end28: ; preds = %if.else24 + %37 = load i8*, i8** %beg2, align 8 + %38 = load i64, i64* %len1, align 8 + %39 = load i64, i64* %len2, align 8 + %cmp29 = icmp ult i64 %38, %39 + %40 = load i64, i64* %len1, align 8 + %41 = load i64, i64* %len2, align 8 + %cond33 = select i1 %cmp29, i64 %40, i64 %41 + %call34 = call i32 @memcmp(i8* %33, i8* %37, i64 %cond33) #23 + store i32 %call34, i32* %diff, align 4 + br label %if.end35 + +if.end35: ; preds = %if.end28, %if.then21 + %42 = load i32, i32* %diff, align 4 + %tobool36 = icmp ne i32 %42, 0 + br i1 %tobool36, label %if.then37, label %if.end38 + +if.then37: ; preds = %if.end35 + %43 = load i32, i32* %diff, align 4 + store i32 %43, i32* %retval, align 4 + br label %return + +if.end38: ; preds = %if.end35 + %44 = load i64, i64* %len1, align 8 + %45 = load i64, i64* %len2, align 8 + %cmp39 = icmp ult i64 %44, %45 + %46 = load i64, i64* %len1, align 8 + %47 = load i64, i64* %len2, align 8 + %cmp42 = icmp ne i64 %46, %47 + %conv = zext i1 %cmp42 to i32 + %cond44 = select i1 %cmp39, i32 -1, i32 %conv + store i32 %cond44, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end38, %if.then37, %if.then26, %if.then19, %if.then15 + %48 = load i32, i32* %retval, align 4 + ret i32 %48 +} + +; Function Attrs: noinline nounwind uwtable +define internal zeroext i1 @get_line(%struct._IO_FILE* %fp, %struct.line** %linep, i32 %which) #3 { +entry: + %retval = alloca i1, align 1 + %fp.addr = alloca %struct._IO_FILE*, align 8 + %linep.addr = alloca %struct.line**, align 8 + %which.addr = alloca i32, align 4 + %line = alloca %struct.line*, align 8 + %tmp = alloca %struct.line*, align 8 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + store %struct.line** %linep, %struct.line*** %linep.addr, align 8 + store i32 %which, i32* %which.addr, align 4 + %0 = load %struct.line**, %struct.line*** %linep.addr, align 8 + %1 = load %struct.line*, %struct.line** %0, align 8 + store %struct.line* %1, %struct.line** %line, align 8 + %2 = load %struct.line*, %struct.line** %line, align 8 + %3 = load i32, i32* %which.addr, align 4 + %sub = sub nsw i32 %3, 1 + %idxprom = sext i32 %sub to i64 + %arrayidx = getelementptr inbounds [2 x %struct.line*], [2 x %struct.line*]* @prevline, i64 0, i64 %idxprom + %4 = load %struct.line*, %struct.line** %arrayidx, align 8 + %cmp = icmp eq %struct.line* %2, %4 + br i1 %cmp, label %do.body, label %if.end + +do.body: ; preds = %entry + %5 = load %struct.line*, %struct.line** %line, align 8 + store %struct.line* %5, %struct.line** %tmp, align 8 + %6 = load i32, i32* %which.addr, align 4 + %sub1 = sub nsw i32 %6, 1 + %idxprom2 = sext i32 %sub1 to i64 + %arrayidx3 = getelementptr inbounds [2 x %struct.line*], [2 x %struct.line*]* @spareline, i64 0, i64 %idxprom2 + %7 = load %struct.line*, %struct.line** %arrayidx3, align 8 + store %struct.line* %7, %struct.line** %line, align 8 + %8 = load %struct.line*, %struct.line** %tmp, align 8 + %9 = load i32, i32* %which.addr, align 4 + %sub4 = sub nsw i32 %9, 1 + %idxprom5 = sext i32 %sub4 to i64 + %arrayidx6 = getelementptr inbounds [2 x %struct.line*], [2 x %struct.line*]* @spareline, i64 0, i64 %idxprom5 + store %struct.line* %8, %struct.line** %arrayidx6, align 8 + %10 = load %struct.line*, %struct.line** %line, align 8 + %11 = load %struct.line**, %struct.line*** %linep.addr, align 8 + store %struct.line* %10, %struct.line** %11, align 8 + br label %if.end + +if.end: ; preds = %do.body, %entry + %12 = load %struct.line*, %struct.line** %line, align 8 + %tobool = icmp ne %struct.line* %12, null + br i1 %tobool, label %if.then7, label %if.else + +if.then7: ; preds = %if.end + %13 = load %struct.line*, %struct.line** %line, align 8 + call void @reset_line(%struct.line* %13) + br label %if.end8 + +if.else: ; preds = %if.end + %14 = load %struct.line**, %struct.line*** %linep.addr, align 8 + %call = call %struct.line* @init_linep(%struct.line** %14) + store %struct.line* %call, %struct.line** %line, align 8 + br label %if.end8 + +if.end8: ; preds = %if.else, %if.then7 + %15 = load %struct.line*, %struct.line** %line, align 8 + %buf = getelementptr inbounds %struct.line, %struct.line* %15, i32 0, i32 0 + %16 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %17 = load i8, i8* @eolchar, align 1 + %call9 = call %struct.linebuffer* @readlinebuffer_delim(%struct.linebuffer* %buf, %struct._IO_FILE* %16, i8 signext %17) + %tobool10 = icmp ne %struct.linebuffer* %call9, null + br i1 %tobool10, label %if.end17, label %if.then11 + +if.then11: ; preds = %if.end8 + %18 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call12 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.592*)* @ferror_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %18) #11 + %tobool13 = icmp ne i32 %call12, 0 + br i1 %tobool13, label %if.then14, label %if.end16 + +if.then14: ; preds = %if.then11 + %call15 = call i32* @__errno_location() #25 + %19 = load i32, i32* %call15, align 4 + call void (i32, i32, i8*, ...) @error(i32 1, i32 %19, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.60, i64 0, i64 0)) + unreachable + +if.end16: ; preds = %if.then11 + %20 = load %struct.line*, %struct.line** %line, align 8 + call void @freeline(%struct.line* %20) + store i1 false, i1* %retval, align 1 + br label %return + +if.end17: ; preds = %if.end8 + %21 = load i32, i32* %which.addr, align 4 + %sub18 = sub nsw i32 %21, 1 + %idxprom19 = sext i32 %sub18 to i64 + %arrayidx20 = getelementptr inbounds [2 x i64], [2 x i64]* @line_no, i64 0, i64 %idxprom19 + %22 = load i64, i64* %arrayidx20, align 8 + %inc = add i64 %22, 1 + store i64 %inc, i64* %arrayidx20, align 8 + %23 = load %struct.line*, %struct.line** %line, align 8 + call void @xfields(%struct.line* %23) + %24 = load i32, i32* %which.addr, align 4 + %sub21 = sub nsw i32 %24, 1 + %idxprom22 = sext i32 %sub21 to i64 + %arrayidx23 = getelementptr inbounds [2 x %struct.line*], [2 x %struct.line*]* @prevline, i64 0, i64 %idxprom22 + %25 = load %struct.line*, %struct.line** %arrayidx23, align 8 + %tobool24 = icmp ne %struct.line* %25, null + br i1 %tobool24, label %if.then25, label %if.end29 + +if.then25: ; preds = %if.end17 + %26 = load i32, i32* %which.addr, align 4 + %sub26 = sub nsw i32 %26, 1 + %idxprom27 = sext i32 %sub26 to i64 + %arrayidx28 = getelementptr inbounds [2 x %struct.line*], [2 x %struct.line*]* @prevline, i64 0, i64 %idxprom27 + %27 = load %struct.line*, %struct.line** %arrayidx28, align 8 + %28 = load %struct.line*, %struct.line** %line, align 8 + %29 = load i32, i32* %which.addr, align 4 + call void @check_order(%struct.line* %27, %struct.line* %28, i32 %29) + br label %if.end29 + +if.end29: ; preds = %if.then25, %if.end17 + %30 = load %struct.line*, %struct.line** %line, align 8 + %31 = load i32, i32* %which.addr, align 4 + %sub30 = sub nsw i32 %31, 1 + %idxprom31 = sext i32 %sub30 to i64 + %arrayidx32 = getelementptr inbounds [2 x %struct.line*], [2 x %struct.line*]* @prevline, i64 0, i64 %idxprom31 + store %struct.line* %30, %struct.line** %arrayidx32, align 8 + store i1 true, i1* %retval, align 1 + br label %return + +return: ; preds = %if.end29, %if.end16 + %32 = load i1, i1* %retval, align 1 + ret i1 %32 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @freeline(%struct.line* %line) #3 { +entry: + %line.addr = alloca %struct.line*, align 8 + store %struct.line* %line, %struct.line** %line.addr, align 8 + %0 = load %struct.line*, %struct.line** %line.addr, align 8 + %cmp = icmp eq %struct.line* %0, null + br i1 %cmp, label %return, label %if.end + +if.end: ; preds = %entry + %1 = load %struct.line*, %struct.line** %line.addr, align 8 + %fields = getelementptr inbounds %struct.line, %struct.line* %1, i32 0, i32 3 + %2 = load %struct.field*, %struct.field** %fields, align 8 + %3 = bitcast %struct.field* %2 to i8* + call void @free(i8* %3) #11 + %4 = load %struct.line*, %struct.line** %line.addr, align 8 + %fields1 = getelementptr inbounds %struct.line, %struct.line* %4, i32 0, i32 3 + store %struct.field* null, %struct.field** %fields1, align 8 + %5 = load %struct.line*, %struct.line** %line.addr, align 8 + %buf = getelementptr inbounds %struct.line, %struct.line* %5, i32 0, i32 0 + %buffer = getelementptr inbounds %struct.linebuffer, %struct.linebuffer* %buf, i32 0, i32 2 + %6 = load i8*, i8** %buffer, align 8 + call void @free(i8* %6) #11 + %7 = load %struct.line*, %struct.line** %line.addr, align 8 + %buf2 = getelementptr inbounds %struct.line, %struct.line* %7, i32 0, i32 0 + %buffer3 = getelementptr inbounds %struct.linebuffer, %struct.linebuffer* %buf2, i32 0, i32 2 + store i8* null, i8** %buffer3, align 8 + br label %return + +return: ; preds = %entry, %if.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @delseq(%struct.seq* %seq) #3 { +entry: + %seq.addr = alloca %struct.seq*, align 8 + %i = alloca i64, align 8 + store %struct.seq* %seq, %struct.seq** %seq.addr, align 8 + store i64 0, i64* %i, align 8 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %0 = load i64, i64* %i, align 8 + %1 = load %struct.seq*, %struct.seq** %seq.addr, align 8 + %alloc = getelementptr inbounds %struct.seq, %struct.seq* %1, i32 0, i32 1 + %2 = load i64, i64* %alloc, align 8 + %cmp = icmp ult i64 %0, %2 + %3 = load %struct.seq*, %struct.seq** %seq.addr, align 8 + %lines = getelementptr inbounds %struct.seq, %struct.seq* %3, i32 0, i32 2 + %4 = load %struct.line**, %struct.line*** %lines, align 8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %5 = load i64, i64* %i, align 8 + %arrayidx = getelementptr inbounds %struct.line*, %struct.line** %4, i64 %5 + %6 = load %struct.line*, %struct.line** %arrayidx, align 8 + call void @freeline(%struct.line* %6) + %7 = load %struct.seq*, %struct.seq** %seq.addr, align 8 + %lines1 = getelementptr inbounds %struct.seq, %struct.seq* %7, i32 0, i32 2 + %8 = load %struct.line**, %struct.line*** %lines1, align 8 + %9 = load i64, i64* %i, align 8 + %arrayidx2 = getelementptr inbounds %struct.line*, %struct.line** %8, i64 %9 + %10 = load %struct.line*, %struct.line** %arrayidx2, align 8 + %11 = bitcast %struct.line* %10 to i8* + call void @free(i8* %11) #11 + %12 = load i64, i64* %i, align 8 + %inc = add i64 %12, 1 + store i64 %inc, i64* %i, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %13 = bitcast %struct.line** %4 to i8* + call void @free(i8* %13) #11 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @reset_line(%struct.line* %line) #3 { +entry: + %line.addr = alloca %struct.line*, align 8 + store %struct.line* %line, %struct.line** %line.addr, align 8 + %0 = load %struct.line*, %struct.line** %line.addr, align 8 + %nfields = getelementptr inbounds %struct.line, %struct.line* %0, i32 0, i32 1 + store i64 0, i64* %nfields, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.line* @init_linep(%struct.line** %linep) #3 { +entry: + %linep.addr = alloca %struct.line**, align 8 + %line = alloca %struct.line*, align 8 + store %struct.line** %linep, %struct.line*** %linep.addr, align 8 + %call = call noalias i8* @xcalloc(i64 1, i64 48) + %0 = bitcast i8* %call to %struct.line* + store %struct.line* %0, %struct.line** %line, align 8 + %1 = load %struct.line*, %struct.line** %line, align 8 + %2 = load %struct.line**, %struct.line*** %linep.addr, align 8 + store %struct.line* %1, %struct.line** %2, align 8 + %3 = load %struct.line*, %struct.line** %line, align 8 + ret %struct.line* %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local %struct.linebuffer* @readlinebuffer_delim(%struct.linebuffer* %linebuffer, %struct._IO_FILE* %stream, i8 signext %delimiter) #3 { +entry: + %retval = alloca %struct.linebuffer*, align 8 + %linebuffer.addr = alloca %struct.linebuffer*, align 8 + %stream.addr = alloca %struct._IO_FILE*, align 8 + %delimiter.addr = alloca i8, align 1 + %c = alloca i32, align 4 + %buffer = alloca i8*, align 8 + %p = alloca i8*, align 8 + %end = alloca i8*, align 8 + %oldsize = alloca i64, align 8 + store %struct.linebuffer* %linebuffer, %struct.linebuffer** %linebuffer.addr, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8 %delimiter, i8* %delimiter.addr, align 1 + %0 = load %struct.linebuffer*, %struct.linebuffer** %linebuffer.addr, align 8 + %buffer1 = getelementptr inbounds %struct.linebuffer, %struct.linebuffer* %0, i32 0, i32 2 + %1 = load i8*, i8** %buffer1, align 8 + store i8* %1, i8** %buffer, align 8 + %2 = load %struct.linebuffer*, %struct.linebuffer** %linebuffer.addr, align 8 + %buffer2 = getelementptr inbounds %struct.linebuffer, %struct.linebuffer* %2, i32 0, i32 2 + %3 = load i8*, i8** %buffer2, align 8 + store i8* %3, i8** %p, align 8 + %4 = load i8*, i8** %buffer, align 8 + %5 = load %struct.linebuffer*, %struct.linebuffer** %linebuffer.addr, align 8 + %size = getelementptr inbounds %struct.linebuffer, %struct.linebuffer* %5, i32 0, i32 0 + %6 = load i64, i64* %size, align 8 + %add.ptr = getelementptr inbounds i8, i8* %4, i64 %6 + store i8* %add.ptr, i8** %end, align 8 + %7 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.590*)* @feof_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %7) #11 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %do.body + +if.then: ; preds = %entry + store %struct.linebuffer* null, %struct.linebuffer** %retval, align 8 + br label %return + +do.body: ; preds = %entry, %if.end27 + %8 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call3 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @getc_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %8) + store i32 %call3, i32* %c, align 4 + %9 = load i32, i32* %c, align 4 + %cmp = icmp eq i32 %9, -1 + br i1 %cmp, label %if.then4, label %if.end16 + +if.then4: ; preds = %do.body + %10 = load i8*, i8** %p, align 8 + %11 = load i8*, i8** %buffer, align 8 + %cmp5 = icmp eq i8* %10, %11 + br i1 %cmp5, label %if.then8, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then4 + %12 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call6 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.592*)* @ferror_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %12) #11 + %tobool7 = icmp ne i32 %call6, 0 + br i1 %tobool7, label %if.then8, label %if.end9 + +if.then8: ; preds = %lor.lhs.false, %if.then4 + store %struct.linebuffer* null, %struct.linebuffer** %retval, align 8 + br label %return + +if.end9: ; preds = %lor.lhs.false + %13 = load i8*, i8** %p, align 8 + %arrayidx = getelementptr inbounds i8, i8* %13, i64 -1 + %14 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %14 to i32 + %15 = load i8, i8* %delimiter.addr, align 1 + %conv10 = sext i8 %15 to i32 + %cmp11 = icmp eq i32 %conv, %conv10 + br i1 %cmp11, label %do.end, label %if.end14 + +if.end14: ; preds = %if.end9 + %16 = load i8, i8* %delimiter.addr, align 1 + %conv15 = sext i8 %16 to i32 + store i32 %conv15, i32* %c, align 4 + br label %if.end16 + +if.end16: ; preds = %if.end14, %do.body + %17 = load i8*, i8** %p, align 8 + %18 = load i8*, i8** %end, align 8 + %cmp17 = icmp eq i8* %17, %18 + br i1 %cmp17, label %if.then19, label %if.end27 + +if.then19: ; preds = %if.end16 + %19 = load %struct.linebuffer*, %struct.linebuffer** %linebuffer.addr, align 8 + %size20 = getelementptr inbounds %struct.linebuffer, %struct.linebuffer* %19, i32 0, i32 0 + %20 = load i64, i64* %size20, align 8 + store i64 %20, i64* %oldsize, align 8 + %21 = load i8*, i8** %buffer, align 8 + %22 = load %struct.linebuffer*, %struct.linebuffer** %linebuffer.addr, align 8 + %size21 = getelementptr inbounds %struct.linebuffer, %struct.linebuffer* %22, i32 0, i32 0 + %call22 = call i8* @x2realloc(i8* %21, i64* %size21) + store i8* %call22, i8** %buffer, align 8 + %23 = load i8*, i8** %buffer, align 8 + %24 = load i64, i64* %oldsize, align 8 + %add.ptr23 = getelementptr inbounds i8, i8* %23, i64 %24 + store i8* %add.ptr23, i8** %p, align 8 + %25 = load i8*, i8** %buffer, align 8 + %26 = load %struct.linebuffer*, %struct.linebuffer** %linebuffer.addr, align 8 + %buffer24 = getelementptr inbounds %struct.linebuffer, %struct.linebuffer* %26, i32 0, i32 2 + store i8* %25, i8** %buffer24, align 8 + %27 = load i8*, i8** %buffer, align 8 + %28 = load %struct.linebuffer*, %struct.linebuffer** %linebuffer.addr, align 8 + %size25 = getelementptr inbounds %struct.linebuffer, %struct.linebuffer* %28, i32 0, i32 0 + %29 = load i64, i64* %size25, align 8 + %add.ptr26 = getelementptr inbounds i8, i8* %27, i64 %29 + store i8* %add.ptr26, i8** %end, align 8 + br label %if.end27 + +if.end27: ; preds = %if.then19, %if.end16 + %30 = load i32, i32* %c, align 4 + %conv28 = trunc i32 %30 to i8 + %31 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %31, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + store i8 %conv28, i8* %31, align 1 + %32 = load i32, i32* %c, align 4 + %33 = load i8, i8* %delimiter.addr, align 1 + %conv29 = sext i8 %33 to i32 + %cmp30 = icmp ne i32 %32, %conv29 + br i1 %cmp30, label %do.body, label %do.end + +do.end: ; preds = %if.end9, %if.end27 + %34 = load i8*, i8** %p, align 8 + %35 = load i8*, i8** %buffer, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %34 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %35 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %36 = load %struct.linebuffer*, %struct.linebuffer** %linebuffer.addr, align 8 + %length = getelementptr inbounds %struct.linebuffer, %struct.linebuffer* %36, i32 0, i32 1 + store i64 %sub.ptr.sub, i64* %length, align 8 + %37 = load %struct.linebuffer*, %struct.linebuffer** %linebuffer.addr, align 8 + store %struct.linebuffer* %37, %struct.linebuffer** %retval, align 8 + br label %return + +return: ; preds = %do.end, %if.then8, %if.then + %38 = load %struct.linebuffer*, %struct.linebuffer** %retval, align 8 + ret %struct.linebuffer* %38 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @xfields(%struct.line* %line) #3 { +entry: + %line.addr = alloca %struct.line*, align 8 + %ptr = alloca i8*, align 8 + %lim = alloca i8*, align 8 + %sep = alloca i8*, align 8 + %sep17 = alloca i8*, align 8 + store %struct.line* %line, %struct.line** %line.addr, align 8 + %0 = load %struct.line*, %struct.line** %line.addr, align 8 + %buf = getelementptr inbounds %struct.line, %struct.line* %0, i32 0, i32 0 + %buffer = getelementptr inbounds %struct.linebuffer, %struct.linebuffer* %buf, i32 0, i32 2 + %1 = load i8*, i8** %buffer, align 8 + store i8* %1, i8** %ptr, align 8 + %2 = load i8*, i8** %ptr, align 8 + %3 = load %struct.line*, %struct.line** %line.addr, align 8 + %buf1 = getelementptr inbounds %struct.line, %struct.line* %3, i32 0, i32 0 + %length = getelementptr inbounds %struct.linebuffer, %struct.linebuffer* %buf1, i32 0, i32 1 + %4 = load i64, i64* %length, align 8 + %add.ptr = getelementptr inbounds i8, i8* %2, i64 %4 + %add.ptr2 = getelementptr inbounds i8, i8* %add.ptr, i64 -1 + store i8* %add.ptr2, i8** %lim, align 8 + %5 = load i8*, i8** %ptr, align 8 + %6 = load i8*, i8** %lim, align 8 + %cmp = icmp eq i8* %5, %6 + br i1 %cmp, label %return, label %if.end + +if.end: ; preds = %entry + %7 = load i32, i32* @tab, align 4 + %cmp3 = icmp sle i32 0, %7 + %8 = load i32, i32* @tab, align 4 + %cmp4 = icmp ne i32 %8, 10 + %or.cond = and i1 %cmp3, %cmp4 + br i1 %or.cond, label %for.cond, label %if.else + +for.cond: ; preds = %if.end, %for.body + %9 = load i8*, i8** %ptr, align 8 + %10 = load i32, i32* @tab, align 4 + %11 = load i8*, i8** %lim, align 8 + %12 = load i8*, i8** %ptr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %11 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %12 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %call = call i8* @memchr(i8* %9, i32 %10, i64 %sub.ptr.sub) #23 + store i8* %call, i8** %sep, align 8 + %cmp6 = icmp ne i8* %call, null + br i1 %cmp6, label %for.body, label %if.end44 + +for.body: ; preds = %for.cond + %13 = load %struct.line*, %struct.line** %line.addr, align 8 + %14 = load i8*, i8** %ptr, align 8 + %15 = load i8*, i8** %sep, align 8 + %16 = load i8*, i8** %ptr, align 8 + %sub.ptr.lhs.cast7 = ptrtoint i8* %15 to i64 + %sub.ptr.rhs.cast8 = ptrtoint i8* %16 to i64 + %sub.ptr.sub9 = sub i64 %sub.ptr.lhs.cast7, %sub.ptr.rhs.cast8 + call void @extract_field(%struct.line* %13, i8* %14, i64 %sub.ptr.sub9) + %17 = load i8*, i8** %sep, align 8 + %add.ptr10 = getelementptr inbounds i8, i8* %17, i64 1 + store i8* %add.ptr10, i8** %ptr, align 8 + br label %for.cond + +if.else: ; preds = %if.end + %18 = load i32, i32* @tab, align 4 + %cmp11 = icmp slt i32 %18, 0 + br i1 %cmp11, label %while.cond, label %if.end44 + +while.cond: ; preds = %while.body, %if.else + %19 = load i8*, i8** %ptr, align 8 + %20 = load i8, i8* %19, align 1 + %call13 = call zeroext i1 @field_sep(i8 zeroext %20) + br i1 %call13, label %while.body, label %do.body + +while.body: ; preds = %while.cond + %21 = load i8*, i8** %ptr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %21, i32 1 + store i8* %incdec.ptr, i8** %ptr, align 8 + %22 = load i8*, i8** %lim, align 8 + %cmp14 = icmp eq i8* %incdec.ptr, %22 + br i1 %cmp14, label %return, label %while.cond + +do.body: ; preds = %while.cond, %do.cond + %23 = load i8*, i8** %ptr, align 8 + %add.ptr18 = getelementptr inbounds i8, i8* %23, i64 1 + store i8* %add.ptr18, i8** %sep17, align 8 + br label %for.cond19 + +for.cond19: ; preds = %for.inc23, %do.body + %24 = load i8*, i8** %sep17, align 8 + %25 = load i8*, i8** %lim, align 8 + %cmp20 = icmp ne i8* %24, %25 + br i1 %cmp20, label %land.rhs, label %for.end25 + +land.rhs: ; preds = %for.cond19 + %26 = load i8*, i8** %sep17, align 8 + %27 = load i8, i8* %26, align 1 + %call21 = call zeroext i1 @field_sep(i8 zeroext %27) + %lnot = xor i1 %call21, true + br i1 %lnot, label %for.inc23, label %for.end25 + +for.inc23: ; preds = %land.rhs + %28 = load i8*, i8** %sep17, align 8 + %incdec.ptr24 = getelementptr inbounds i8, i8* %28, i32 1 + store i8* %incdec.ptr24, i8** %sep17, align 8 + br label %for.cond19 + +for.end25: ; preds = %for.cond19, %land.rhs + %29 = load %struct.line*, %struct.line** %line.addr, align 8 + %30 = load i8*, i8** %ptr, align 8 + %31 = load i8*, i8** %sep17, align 8 + %32 = load i8*, i8** %ptr, align 8 + %sub.ptr.lhs.cast26 = ptrtoint i8* %31 to i64 + %sub.ptr.rhs.cast27 = ptrtoint i8* %32 to i64 + %sub.ptr.sub28 = sub i64 %sub.ptr.lhs.cast26, %sub.ptr.rhs.cast27 + call void @extract_field(%struct.line* %29, i8* %30, i64 %sub.ptr.sub28) + %33 = load i8*, i8** %sep17, align 8 + %34 = load i8*, i8** %lim, align 8 + %cmp29 = icmp eq i8* %33, %34 + br i1 %cmp29, label %return, label %if.end31 + +if.end31: ; preds = %for.end25 + %35 = load i8*, i8** %sep17, align 8 + %add.ptr32 = getelementptr inbounds i8, i8* %35, i64 1 + store i8* %add.ptr32, i8** %ptr, align 8 + br label %for.cond33 + +for.cond33: ; preds = %for.inc39, %if.end31 + %36 = load i8*, i8** %ptr, align 8 + %37 = load i8*, i8** %lim, align 8 + %cmp34 = icmp ne i8* %36, %37 + br i1 %cmp34, label %land.rhs35, label %do.cond + +land.rhs35: ; preds = %for.cond33 + %38 = load i8*, i8** %ptr, align 8 + %39 = load i8, i8* %38, align 1 + %call36 = call zeroext i1 @field_sep(i8 zeroext %39) + br i1 %call36, label %for.inc39, label %do.cond + +for.inc39: ; preds = %land.rhs35 + %40 = load i8*, i8** %ptr, align 8 + %incdec.ptr40 = getelementptr inbounds i8, i8* %40, i32 1 + store i8* %incdec.ptr40, i8** %ptr, align 8 + br label %for.cond33 + +do.cond: ; preds = %land.rhs35, %for.cond33 + %41 = load i8*, i8** %ptr, align 8 + %42 = load i8*, i8** %lim, align 8 + %cmp42 = icmp ne i8* %41, %42 + br i1 %cmp42, label %do.body, label %if.end44 + +if.end44: ; preds = %if.else, %do.cond, %for.cond + %43 = load %struct.line*, %struct.line** %line.addr, align 8 + %44 = load i8*, i8** %ptr, align 8 + %45 = load i8*, i8** %lim, align 8 + %46 = load i8*, i8** %ptr, align 8 + %sub.ptr.lhs.cast45 = ptrtoint i8* %45 to i64 + %sub.ptr.rhs.cast46 = ptrtoint i8* %46 to i64 + %sub.ptr.sub47 = sub i64 %sub.ptr.lhs.cast45, %sub.ptr.rhs.cast46 + call void @extract_field(%struct.line* %43, i8* %44, i64 %sub.ptr.sub47) + br label %return + +return: ; preds = %for.end25, %while.body, %entry, %if.end44 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @check_order(%struct.line* %prev, %struct.line* %current, i32 %whatfile) #3 { +entry: + %prev.addr = alloca %struct.line*, align 8 + %current.addr = alloca %struct.line*, align 8 + %whatfile.addr = alloca i32, align 4 + %join_field = alloca i64, align 8 + %len = alloca i64, align 8 + store %struct.line* %prev, %struct.line** %prev.addr, align 8 + store %struct.line* %current, %struct.line** %current.addr, align 8 + store i32 %whatfile, i32* %whatfile.addr, align 4 + %0 = load i32, i32* @check_input_order, align 4 + %cmp = icmp ne i32 %0, 2 + br i1 %cmp, label %land.lhs.true, label %if.end38 + +land.lhs.true: ; preds = %entry + %1 = load i32, i32* @check_input_order, align 4 + %cmp1 = icmp eq i32 %1, 1 + br i1 %cmp1, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %land.lhs.true + %2 = load i8, i8* @seen_unpairable, align 1 + %tobool = trunc i8 %2 to i1 + br i1 %tobool, label %if.then, label %if.end38 + +if.then: ; preds = %lor.lhs.false, %land.lhs.true + %3 = load i32, i32* %whatfile.addr, align 4 + %sub = sub nsw i32 %3, 1 + %idxprom = sext i32 %sub to i64 + %arrayidx = getelementptr inbounds [2 x i8], [2 x i8]* @issued_disorder_warning, i64 0, i64 %idxprom + %4 = load i8, i8* %arrayidx, align 1 + %tobool2 = trunc i8 %4 to i1 + br i1 %tobool2, label %if.end38, label %if.then3 + +if.then3: ; preds = %if.then + %5 = load i32, i32* %whatfile.addr, align 4 + %cmp4 = icmp eq i32 %5, 1 + %6 = load i64, i64* @join_field_1, align 8 + %7 = load i64, i64* @join_field_2, align 8 + %cond = select i1 %cmp4, i64 %6, i64 %7 + store i64 %cond, i64* %join_field, align 8 + %8 = load %struct.line*, %struct.line** %prev.addr, align 8 + %9 = load %struct.line*, %struct.line** %current.addr, align 8 + %10 = load i64, i64* %join_field, align 8 + %11 = load i64, i64* %join_field, align 8 + %call = call i32 @keycmp(%struct.line* %8, %struct.line* %9, i64 %10, i64 %11) + %cmp5 = icmp sgt i32 %call, 0 + br i1 %cmp5, label %if.then6, label %if.end38 + +if.then6: ; preds = %if.then3 + %12 = load %struct.line*, %struct.line** %current.addr, align 8 + %buf = getelementptr inbounds %struct.line, %struct.line* %12, i32 0, i32 0 + %length = getelementptr inbounds %struct.linebuffer, %struct.linebuffer* %buf, i32 0, i32 1 + %13 = load i64, i64* %length, align 8 + store i64 %13, i64* %len, align 8 + %14 = load i64, i64* %len, align 8 + %cmp7 = icmp ult i64 0, %14 + br i1 %cmp7, label %land.lhs.true8, label %if.end + +land.lhs.true8: ; preds = %if.then6 + %15 = load %struct.line*, %struct.line** %current.addr, align 8 + %buf9 = getelementptr inbounds %struct.line, %struct.line* %15, i32 0, i32 0 + %buffer = getelementptr inbounds %struct.linebuffer, %struct.linebuffer* %buf9, i32 0, i32 2 + %16 = load i8*, i8** %buffer, align 8 + %17 = load i64, i64* %len, align 8 + %sub10 = sub i64 %17, 1 + %arrayidx11 = getelementptr inbounds i8, i8* %16, i64 %sub10 + %18 = load i8, i8* %arrayidx11, align 1 + %conv = sext i8 %18 to i32 + %cmp12 = icmp eq i32 %conv, 10 + br i1 %cmp12, label %if.then14, label %if.end + +if.then14: ; preds = %land.lhs.true8 + %19 = load i64, i64* %len, align 8 + %dec = add i64 %19, -1 + store i64 %dec, i64* %len, align 8 + br label %if.end + +if.end: ; preds = %if.then14, %land.lhs.true8, %if.then6 + %20 = load i64, i64* %len, align 8 + %cmp15 = icmp ult i64 2147483647, %20 + %21 = load i64, i64* %len, align 8 + %cond20 = select i1 %cmp15, i64 2147483647, i64 %21 + store i64 %cond20, i64* %len, align 8 + %22 = load i32, i32* @check_input_order, align 4 + %cmp21 = icmp eq i32 %22, 1 + %23 = zext i1 %cmp21 to i64 + %cond23 = select i1 %cmp21, i32 1, i32 0 + %24 = load i32, i32* %whatfile.addr, align 4 + %sub24 = sub nsw i32 %24, 1 + %idxprom25 = sext i32 %sub24 to i64 + %arrayidx26 = getelementptr inbounds [2 x i8*], [2 x i8*]* @g_names, i64 0, i64 %idxprom25 + %25 = load i8*, i8** %arrayidx26, align 8 + %26 = load i32, i32* %whatfile.addr, align 4 + %sub27 = sub nsw i32 %26, 1 + %idxprom28 = sext i32 %sub27 to i64 + %arrayidx29 = getelementptr inbounds [2 x i64], [2 x i64]* @line_no, i64 0, i64 %idxprom28 + %27 = load i64, i64* %arrayidx29, align 8 + %28 = load i64, i64* %len, align 8 + %conv30 = trunc i64 %28 to i32 + %29 = load %struct.line*, %struct.line** %current.addr, align 8 + %buf31 = getelementptr inbounds %struct.line, %struct.line* %29, i32 0, i32 0 + %buffer32 = getelementptr inbounds %struct.linebuffer, %struct.linebuffer* %buf31, i32 0, i32 2 + %30 = load i8*, i8** %buffer32, align 8 + call void (i32, i32, i8*, ...) @error(i32 %cond23, i32 0, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.61, i64 0, i64 0), i8* %25, i64 %27, i32 %conv30, i8* %30) + %31 = load i32, i32* %whatfile.addr, align 4 + %sub33 = sub nsw i32 %31, 1 + %idxprom34 = sext i32 %sub33 to i64 + %arrayidx35 = getelementptr inbounds [2 x i8], [2 x i8]* @issued_disorder_warning, i64 0, i64 %idxprom34 + store i8 1, i8* %arrayidx35, align 1 + br label %if.end38 + +if.end38: ; preds = %if.then, %if.end, %if.then3, %lor.lhs.false, %entry + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @extract_field(%struct.line* %line, i8* %field, i64 %len) #3 { +entry: + %line.addr = alloca %struct.line*, align 8 + %field.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + store %struct.line* %line, %struct.line** %line.addr, align 8 + store i8* %field, i8** %field.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + %0 = load %struct.line*, %struct.line** %line.addr, align 8 + %nfields = getelementptr inbounds %struct.line, %struct.line* %0, i32 0, i32 1 + %1 = load i64, i64* %nfields, align 8 + %2 = load %struct.line*, %struct.line** %line.addr, align 8 + %nfields_allocated = getelementptr inbounds %struct.line, %struct.line* %2, i32 0, i32 2 + %3 = load i64, i64* %nfields_allocated, align 8 + %cmp = icmp uge i64 %1, %3 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %4 = load %struct.line*, %struct.line** %line.addr, align 8 + %fields = getelementptr inbounds %struct.line, %struct.line* %4, i32 0, i32 3 + %5 = load %struct.field*, %struct.field** %fields, align 8 + %6 = bitcast %struct.field* %5 to i8* + %7 = load %struct.line*, %struct.line** %line.addr, align 8 + %nfields_allocated1 = getelementptr inbounds %struct.line, %struct.line* %7, i32 0, i32 2 + %call = call i8* @x2nrealloc(i8* %6, i64* %nfields_allocated1, i64 16) + %8 = bitcast i8* %call to %struct.field* + %9 = load %struct.line*, %struct.line** %line.addr, align 8 + %fields2 = getelementptr inbounds %struct.line, %struct.line* %9, i32 0, i32 3 + store %struct.field* %8, %struct.field** %fields2, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %10 = load i8*, i8** %field.addr, align 8 + %11 = load %struct.line*, %struct.line** %line.addr, align 8 + %fields3 = getelementptr inbounds %struct.line, %struct.line* %11, i32 0, i32 3 + %12 = load %struct.field*, %struct.field** %fields3, align 8 + %13 = load %struct.line*, %struct.line** %line.addr, align 8 + %nfields4 = getelementptr inbounds %struct.line, %struct.line* %13, i32 0, i32 1 + %14 = load i64, i64* %nfields4, align 8 + %arrayidx = getelementptr inbounds %struct.field, %struct.field* %12, i64 %14 + %beg = getelementptr inbounds %struct.field, %struct.field* %arrayidx, i32 0, i32 0 + store i8* %10, i8** %beg, align 8 + %15 = load i64, i64* %len.addr, align 8 + %16 = load %struct.line*, %struct.line** %line.addr, align 8 + %fields5 = getelementptr inbounds %struct.line, %struct.line* %16, i32 0, i32 3 + %17 = load %struct.field*, %struct.field** %fields5, align 8 + %18 = load %struct.line*, %struct.line** %line.addr, align 8 + %nfields6 = getelementptr inbounds %struct.line, %struct.line* %18, i32 0, i32 1 + %19 = load i64, i64* %nfields6, align 8 + %arrayidx7 = getelementptr inbounds %struct.field, %struct.field* %17, i64 %19 + %len8 = getelementptr inbounds %struct.field, %struct.field* %arrayidx7, i32 0, i32 1 + store i64 %15, i64* %len8, align 8 + %20 = load %struct.line*, %struct.line** %line.addr, align 8 + %nfields9 = getelementptr inbounds %struct.line, %struct.line* %20, i32 0, i32 1 + %21 = load i64, i64* %nfields9, align 8 + %inc = add i64 %21, 1 + store i64 %inc, i64* %nfields9, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal zeroext i1 @field_sep(i8 zeroext %ch) #3 { +entry: + %ch.addr = alloca i8, align 1 + store i8 %ch, i8* %ch.addr, align 1 + %call = call i16** @__ctype_b_loc() #25 + %0 = load i16*, i16** %call, align 8 + %1 = load i8, i8* %ch.addr, align 1 + %conv = zext i8 %1 to i32 + %idxprom = sext i32 %conv to i64 + %arrayidx = getelementptr inbounds i16, i16* %0, i64 %idxprom + %2 = load i16, i16* %arrayidx, align 2 + %conv1 = zext i16 %2 to i32 + %and = and i32 %conv1, 1 + %tobool = icmp ne i32 %and, 0 + %3 = load i8, i8* %ch.addr, align 1 + %conv2 = zext i8 %3 to i32 + %cmp = icmp eq i32 %conv2, 10 + %4 = select i1 %tobool, i1 true, i1 %cmp + ret i1 %4 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @x2nrealloc(i8* %p, i64* %pn, i64 %s) #3 { +entry: + %p.addr = alloca i8*, align 8 + %pn.addr = alloca i64*, align 8 + %s.addr = alloca i64, align 8 + %n = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64* %pn, i64** %pn.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64*, i64** %pn.addr, align 8 + %1 = load i64, i64* %0, align 8 + store i64 %1, i64* %n, align 8 + %2 = load i8*, i8** %p.addr, align 8 + %tobool = icmp ne i8* %2, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %3 = load i64, i64* %n, align 8 + %tobool1 = icmp ne i64 %3, 0 + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + %4 = load i64, i64* %s.addr, align 8 + %div = udiv i64 128, %4 + store i64 %div, i64* %n, align 8 + %5 = load i64, i64* %n, align 8 + %tobool3 = icmp ne i64 %5, 0 + %lnot = xor i1 %tobool3, true + %lnot.ext = zext i1 %lnot to i32 + %conv = sext i32 %lnot.ext to i64 + %6 = load i64, i64* %n, align 8 + %add = add i64 %6, %conv + store i64 %add, i64* %n, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %7 = load i64, i64* %s.addr, align 8 + %div4 = udiv i64 9223372036854775807, %7 + %8 = load i64, i64* %n, align 8 + %cmp = icmp ult i64 %div4, %8 + br i1 %cmp, label %if.then6, label %if.end16 + +if.then6: ; preds = %if.end + call void @xalloc_die() #24 + unreachable + +if.else: ; preds = %entry + %9 = load i64, i64* %s.addr, align 8 + %div8 = udiv i64 6148914691236517204, %9 + %10 = load i64, i64* %n, align 8 + %cmp9 = icmp ule i64 %div8, %10 + br i1 %cmp9, label %if.then11, label %if.end12 + +if.then11: ; preds = %if.else + call void @xalloc_die() #24 + unreachable + +if.end12: ; preds = %if.else + %11 = load i64, i64* %n, align 8 + %div13 = udiv i64 %11, 2 + %add14 = add i64 %div13, 1 + %12 = load i64, i64* %n, align 8 + %add15 = add i64 %12, %add14 + store i64 %add15, i64* %n, align 8 + br label %if.end16 + +if.end16: ; preds = %if.end, %if.end12 + %13 = load i64, i64* %n, align 8 + %14 = load i64*, i64** %pn.addr, align 8 + store i64 %13, i64* %14, align 8 + %15 = load i8*, i8** %p.addr, align 8 + %16 = load i64, i64* %n, align 8 + %17 = load i64, i64* %s.addr, align 8 + %mul = mul i64 %16, %17 + %call = call i8* @xrealloc(i8* %15, i64 %mul) + ret i8* %call +} + +; Function Attrs: noinline noreturn nounwind uwtable +define dso_local void @xalloc_die() #6 { +entry: + %0 = load volatile i32, i32* @exit_failure, align 4 + call void (i32, i32, i8*, ...) @error(i32 %0, i32 0, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.163, i64 0, i64 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.1.164, i64 0, i64 0)) + call void @abort() #26 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @xrealloc(i8* %p, i64 %n) #3 { +entry: + %retval = alloca i8*, align 8 + %p.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %tobool = icmp eq i64 %0, 0 + %1 = load i8*, i8** %p.addr, align 8 + %tobool1 = icmp ne i8* %1, null + %or.cond = and i1 %tobool, %tobool1 + %2 = load i8*, i8** %p.addr, align 8 + br i1 %or.cond, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @free(i8* %2) #11 + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %3 = load i64, i64* %n.addr, align 8 + %call = call i8* @realloc(i8* %2, i64 %3) #11 + store i8* %call, i8** %p.addr, align 8 + %4 = load i8*, i8** %p.addr, align 8 + %tobool2 = icmp eq i8* %4, null + %5 = load i64, i64* %n.addr, align 8 + %tobool4 = icmp ne i64 %5, 0 + %or.cond1 = and i1 %tobool2, %tobool4 + br i1 %or.cond1, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end + call void @xalloc_die() #24 + unreachable + +if.end6: ; preds = %if.end + %6 = load i8*, i8** %p.addr, align 8 + store i8* %6, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end6, %if.then + %7 = load i8*, i8** %retval, align 8 + ret i8* %7 +} + +; Function Attrs: nounwind +declare dso_local i8* @realloc(i8*, i64) #4 + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @x2realloc(i8* %p, i64* %pn) #3 { +entry: + %p.addr = alloca i8*, align 8 + %pn.addr = alloca i64*, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64* %pn, i64** %pn.addr, align 8 + %0 = load i8*, i8** %p.addr, align 8 + %1 = load i64*, i64** %pn.addr, align 8 + %call = call i8* @x2nrealloc(i8* %0, i64* %1, i64 1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xcalloc(i64 %n, i64 %s) #3 { +entry: + %n.addr = alloca i64, align 8 + %s.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i64 %n, i64* %n.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %div = udiv i64 9223372036854775807, %0 + %1 = load i64, i64* %n.addr, align 8 + %cmp = icmp ult i64 %div, %1 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load i64, i64* %n.addr, align 8 + %3 = load i64, i64* %s.addr, align 8 + %call = call noalias i8* @calloc(i64 %2, i64 %3) #11 + store i8* %call, i8** %p, align 8 + %tobool = icmp ne i8* %call, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %lor.lhs.false, %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %lor.lhs.false + %4 = load i8*, i8** %p, align 8 + ret i8* %4 +} + +; Function Attrs: noinline nounwind readonly uwtable +define dso_local i32 @memcasecmp(i8* %vs1, i8* %vs2, i64 %n) #15 { +entry: + %retval = alloca i32, align 4 + %vs1.addr = alloca i8*, align 8 + %vs2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %i = alloca i64, align 8 + %s1 = alloca i8*, align 8 + %s2 = alloca i8*, align 8 + %u1 = alloca i8, align 1 + %u2 = alloca i8, align 1 + %U1 = alloca i32, align 4 + %U2 = alloca i32, align 4 + %diff = alloca i32, align 4 + store i8* %vs1, i8** %vs1.addr, align 8 + store i8* %vs2, i8** %vs2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %vs1.addr, align 8 + store i8* %0, i8** %s1, align 8 + %1 = load i8*, i8** %vs2.addr, align 8 + store i8* %1, i8** %s2, align 8 + store i64 0, i64* %i, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %2 = load i64, i64* %i, align 8 + %3 = load i64, i64* %n.addr, align 8 + %cmp = icmp ult i64 %2, %3 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %4 = load i8*, i8** %s1, align 8 + %5 = load i64, i64* %i, align 8 + %arrayidx = getelementptr inbounds i8, i8* %4, i64 %5 + %6 = load i8, i8* %arrayidx, align 1 + store i8 %6, i8* %u1, align 1 + %7 = load i8*, i8** %s2, align 8 + %8 = load i64, i64* %i, align 8 + %arrayidx1 = getelementptr inbounds i8, i8* %7, i64 %8 + %9 = load i8, i8* %arrayidx1, align 1 + store i8 %9, i8* %u2, align 1 + %10 = load i8, i8* %u1, align 1 + %conv = zext i8 %10 to i32 + %call = call i32 @toupper(i32 %conv) #23 + store i32 %call, i32* %U1, align 4 + %11 = load i8, i8* %u2, align 1 + %conv2 = zext i8 %11 to i32 + %call3 = call i32 @toupper(i32 %conv2) #23 + store i32 %call3, i32* %U2, align 4 + %12 = load i32, i32* %U1, align 4 + %13 = load i32, i32* %U2, align 4 + %sub = sub nsw i32 %12, %13 + store i32 %sub, i32* %diff, align 4 + %14 = load i32, i32* %diff, align 4 + %tobool = icmp ne i32 %14, 0 + br i1 %tobool, label %if.then, label %for.inc + +if.then: ; preds = %for.body + %15 = load i32, i32* %diff, align 4 + store i32 %15, i32* %retval, align 4 + br label %return + +for.inc: ; preds = %for.body + %16 = load i64, i64* %i, align 8 + %inc = add i64 %16, 1 + store i64 %inc, i64* %i, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %for.end, %if.then + %17 = load i32, i32* %retval, align 4 + ret i32 %17 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @xmemcoll(i8* %s1, i64 %s1len, i8* %s2, i64 %s2len) #3 { +entry: + %s1.addr = alloca i8*, align 8 + %s1len.addr = alloca i64, align 8 + %s2.addr = alloca i8*, align 8 + %s2len.addr = alloca i64, align 8 + %diff = alloca i32, align 4 + %collation_errno = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i64 %s1len, i64* %s1len.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %s2len, i64* %s2len.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + %1 = load i64, i64* %s1len.addr, align 8 + %2 = load i8*, i8** %s2.addr, align 8 + %3 = load i64, i64* %s2len.addr, align 8 + %call = call i32 @memcoll(i8* %0, i64 %1, i8* %2, i64 %3) + store i32 %call, i32* %diff, align 4 + %call1 = call i32* @__errno_location() #25 + %4 = load i32, i32* %call1, align 4 + store i32 %4, i32* %collation_errno, align 4 + %5 = load i32, i32* %collation_errno, align 4 + %tobool = icmp ne i32 %5, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %6 = load i32, i32* %collation_errno, align 4 + %7 = load i8*, i8** %s1.addr, align 8 + %8 = load i64, i64* %s1len.addr, align 8 + %9 = load i8*, i8** %s2.addr, align 8 + %10 = load i64, i64* %s2len.addr, align 8 + call void @collate_error(i32 %6, i8* %7, i64 %8, i8* %9, i64 %10) + br label %if.end + +if.end: ; preds = %if.then, %entry + %11 = load i32, i32* %diff, align 4 + ret i32 %11 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @memcoll(i8* %s1, i64 %s1len, i8* %s2, i64 %s2len) #3 { +entry: + %s1.addr = alloca i8*, align 8 + %s1len.addr = alloca i64, align 8 + %s2.addr = alloca i8*, align 8 + %s2len.addr = alloca i64, align 8 + %diff = alloca i32, align 4 + %n1 = alloca i8, align 1 + %n2 = alloca i8, align 1 + store i8* %s1, i8** %s1.addr, align 8 + store i64 %s1len, i64* %s1len.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %s2len, i64* %s2len.addr, align 8 + %0 = load i64, i64* %s1len.addr, align 8 + %1 = load i64, i64* %s2len.addr, align 8 + %cmp = icmp eq i64 %0, %1 + br i1 %cmp, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %entry + %2 = load i8*, i8** %s1.addr, align 8 + %3 = load i8*, i8** %s2.addr, align 8 + %4 = load i64, i64* %s1len.addr, align 8 + %call = call i32 @memcmp(i8* %2, i8* %3, i64 %4) #23 + %cmp1 = icmp eq i32 %call, 0 + br i1 %cmp1, label %if.then, label %if.else + +if.then: ; preds = %land.lhs.true + %call2 = call i32* @__errno_location() #25 + store i32 0, i32* %call2, align 4 + store i32 0, i32* %diff, align 4 + br label %if.end + +if.else: ; preds = %land.lhs.true, %entry + %5 = load i8*, i8** %s1.addr, align 8 + %6 = load i64, i64* %s1len.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 %6 + %7 = load i8, i8* %arrayidx, align 1 + store i8 %7, i8* %n1, align 1 + %8 = load i8*, i8** %s2.addr, align 8 + %9 = load i64, i64* %s2len.addr, align 8 + %arrayidx3 = getelementptr inbounds i8, i8* %8, i64 %9 + %10 = load i8, i8* %arrayidx3, align 1 + store i8 %10, i8* %n2, align 1 + %11 = load i8*, i8** %s1.addr, align 8 + %12 = load i64, i64* %s1len.addr, align 8 + %arrayidx4 = getelementptr inbounds i8, i8* %11, i64 %12 + store i8 0, i8* %arrayidx4, align 1 + %13 = load i8*, i8** %s2.addr, align 8 + %14 = load i64, i64* %s2len.addr, align 8 + %arrayidx5 = getelementptr inbounds i8, i8* %13, i64 %14 + store i8 0, i8* %arrayidx5, align 1 + %15 = load i8*, i8** %s1.addr, align 8 + %16 = load i64, i64* %s1len.addr, align 8 + %add = add i64 %16, 1 + %17 = load i8*, i8** %s2.addr, align 8 + %18 = load i64, i64* %s2len.addr, align 8 + %add6 = add i64 %18, 1 + %call7 = call i32 @strcoll_loop(i8* %15, i64 %add, i8* %17, i64 %add6) + store i32 %call7, i32* %diff, align 4 + %19 = load i8, i8* %n1, align 1 + %20 = load i8*, i8** %s1.addr, align 8 + %21 = load i64, i64* %s1len.addr, align 8 + %arrayidx8 = getelementptr inbounds i8, i8* %20, i64 %21 + store i8 %19, i8* %arrayidx8, align 1 + %22 = load i8, i8* %n2, align 1 + %23 = load i8*, i8** %s2.addr, align 8 + %24 = load i64, i64* %s2len.addr, align 8 + %arrayidx9 = getelementptr inbounds i8, i8* %23, i64 %24 + store i8 %22, i8* %arrayidx9, align 1 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %25 = load i32, i32* %diff, align 4 + ret i32 %25 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @collate_error(i32 %collation_errno, i8* %s1, i64 %s1len, i8* %s2, i64 %s2len) #3 { +entry: + %collation_errno.addr = alloca i32, align 4 + %s1.addr = alloca i8*, align 8 + %s1len.addr = alloca i64, align 8 + %s2.addr = alloca i8*, align 8 + %s2len.addr = alloca i64, align 8 + store i32 %collation_errno, i32* %collation_errno.addr, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i64 %s1len, i64* %s1len.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %s2len, i64* %s2len.addr, align 8 + %0 = load i32, i32* %collation_errno.addr, align 4 + call void (i32, i32, i8*, ...) @error(i32 0, i32 %0, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.167, i64 0, i64 0)) + call void (i32, i32, i8*, ...) @error(i32 0, i32 0, i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.1.168, i64 0, i64 0)) + %1 = load volatile i32, i32* @exit_failure, align 4 + %2 = load i8*, i8** %s1.addr, align 8 + %3 = load i64, i64* %s1len.addr, align 8 + %call = call i8* @quotearg_n_style_mem(i32 0, i32 8, i8* %2, i64 %3) + %4 = load i8*, i8** %s2.addr, align 8 + %5 = load i64, i64* %s2len.addr, align 8 + %call1 = call i8* @quotearg_n_style_mem(i32 1, i32 8, i8* %4, i64 %5) + call void (i32, i32, i8*, ...) @error(i32 %1, i32 0, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.2.169, i64 0, i64 0), i8* %call, i8* %call1) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_style_mem(i32 %n, i32 %s, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + call void @quoting_options_from_style(%struct.quoting_options* sret align 8 %o, i32 %0) + %1 = load i32, i32* %n.addr, align 4 + %2 = load i8*, i8** %arg.addr, align 8 + %3 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %1, i8* %2, i64 %3, %struct.quoting_options* %o) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define internal void @quoting_options_from_style(%struct.quoting_options* noalias sret align 8 %agg.result, i32 %style) #3 { +entry: + %style.addr = alloca i32, align 4 + store i32 %style, i32* %style.addr, align 4 + %0 = bitcast %struct.quoting_options* %agg.result to i8* + %1 = call i8* @memset(i8* %0, i32 0, i64 56) + %2 = load i32, i32* %style.addr, align 4 + %cmp = icmp eq i32 %2, 10 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @abort() #26 + unreachable + +if.end: ; preds = %entry + %3 = load i32, i32* %style.addr, align 4 + %style1 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %agg.result, i32 0, i32 0 + store i32 %3, i32* %style1, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @quotearg_n_options(i32 %n, i8* %arg, i64 %argsize, %struct.quoting_options* %options) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %options.addr = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %sv = alloca %struct.slotvec*, align 8 + %preallocated = alloca i8, align 1 + %nmax = alloca i32, align 4 + %size = alloca i64, align 8 + %val = alloca i8*, align 8 + %flags = alloca i32, align 4 + %qsize = alloca i64, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store %struct.quoting_options* %options, %struct.quoting_options** %options.addr, align 8 + %call = call i32* @__errno_location() #25 + %0 = load i32, i32* %call, align 4 + store i32 %0, i32* %e, align 4 + %1 = load %struct.slotvec*, %struct.slotvec** @slotvec, align 8 + store %struct.slotvec* %1, %struct.slotvec** %sv, align 8 + %2 = load i32, i32* %n.addr, align 4 + %cmp = icmp slt i32 %2, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @abort() #26 + unreachable + +if.end: ; preds = %entry + %3 = load i32, i32* @nslots, align 4 + %4 = load i32, i32* %n.addr, align 4 + %cmp1 = icmp sle i32 %3, %4 + br i1 %cmp1, label %if.then2, label %if.end15 + +if.then2: ; preds = %if.end + %5 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %cmp3 = icmp eq %struct.slotvec* %5, @slotvec0 + %frombool = zext i1 %cmp3 to i8 + store i8 %frombool, i8* %preallocated, align 1 + store i32 2147483646, i32* %nmax, align 4 + %6 = load i32, i32* %nmax, align 4 + %7 = load i32, i32* %n.addr, align 4 + %cmp4 = icmp slt i32 %6, %7 + br i1 %cmp4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.then2 + call void @xalloc_die() #24 + unreachable + +if.end6: ; preds = %if.then2 + %8 = load i8, i8* %preallocated, align 1 + %tobool = trunc i8 %8 to i1 + %9 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %cond = select i1 %tobool, %struct.slotvec* null, %struct.slotvec* %9 + %10 = bitcast %struct.slotvec* %cond to i8* + %11 = load i32, i32* %n.addr, align 4 + %add = add nsw i32 %11, 1 + %conv = sext i32 %add to i64 + %mul = mul i64 %conv, 16 + %call7 = call i8* @xrealloc(i8* %10, i64 %mul) + %12 = bitcast i8* %call7 to %struct.slotvec* + store %struct.slotvec* %12, %struct.slotvec** %sv, align 8 + store %struct.slotvec* %12, %struct.slotvec** @slotvec, align 8 + %13 = load i8, i8* %preallocated, align 1 + %tobool8 = trunc i8 %13 to i1 + br i1 %tobool8, label %if.then9, label %if.end10 + +if.then9: ; preds = %if.end6 + %14 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %15 = bitcast %struct.slotvec* %14 to i8* + %16 = call i8* @memcpy(i8* %15, i8* bitcast (%struct.slotvec* @slotvec0 to i8*), i64 16) + br label %if.end10 + +if.end10: ; preds = %if.then9, %if.end6 + %17 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %18 = load i32, i32* @nslots, align 4 + %idx.ext = sext i32 %18 to i64 + %add.ptr = getelementptr inbounds %struct.slotvec, %struct.slotvec* %17, i64 %idx.ext + %19 = bitcast %struct.slotvec* %add.ptr to i8* + %20 = load i32, i32* %n.addr, align 4 + %add11 = add nsw i32 %20, 1 + %21 = load i32, i32* @nslots, align 4 + %sub = sub nsw i32 %add11, %21 + %conv12 = sext i32 %sub to i64 + %mul13 = mul i64 %conv12, 16 + %22 = call i8* @memset(i8* %19, i32 0, i64 %mul13) + %23 = load i32, i32* %n.addr, align 4 + %add14 = add nsw i32 %23, 1 + store i32 %add14, i32* @nslots, align 4 + br label %if.end15 + +if.end15: ; preds = %if.end10, %if.end + %24 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %25 = load i32, i32* %n.addr, align 4 + %idxprom = sext i32 %25 to i64 + %arrayidx = getelementptr inbounds %struct.slotvec, %struct.slotvec* %24, i64 %idxprom + %size16 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx, i32 0, i32 0 + %26 = load i64, i64* %size16, align 8 + store i64 %26, i64* %size, align 8 + %27 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %28 = load i32, i32* %n.addr, align 4 + %idxprom17 = sext i32 %28 to i64 + %arrayidx18 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %27, i64 %idxprom17 + %val19 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx18, i32 0, i32 1 + %29 = load i8*, i8** %val19, align 8 + store i8* %29, i8** %val, align 8 + %30 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %flags20 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %30, i32 0, i32 1 + %31 = load i32, i32* %flags20, align 4 + %or = or i32 %31, 1 + store i32 %or, i32* %flags, align 4 + %32 = load i8*, i8** %val, align 8 + %33 = load i64, i64* %size, align 8 + %34 = load i8*, i8** %arg.addr, align 8 + %35 = load i64, i64* %argsize.addr, align 8 + %36 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %36, i32 0, i32 0 + %37 = load i32, i32* %style, align 8 + %38 = load i32, i32* %flags, align 4 + %39 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %39, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %40 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %left_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %40, i32 0, i32 3 + %41 = load i8*, i8** %left_quote, align 8 + %42 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %right_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %42, i32 0, i32 4 + %43 = load i8*, i8** %right_quote, align 8 + %call21 = call i64 @quotearg_buffer_restyled(i8* %32, i64 %33, i8* %34, i64 %35, i32 %37, i32 %38, i32* %arraydecay, i8* %41, i8* %43) + store i64 %call21, i64* %qsize, align 8 + %44 = load i64, i64* %size, align 8 + %45 = load i64, i64* %qsize, align 8 + %cmp22 = icmp ule i64 %44, %45 + br i1 %cmp22, label %if.then24, label %if.end43 + +if.then24: ; preds = %if.end15 + %46 = load i64, i64* %qsize, align 8 + %add25 = add i64 %46, 1 + store i64 %add25, i64* %size, align 8 + %47 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %48 = load i32, i32* %n.addr, align 4 + %idxprom26 = sext i32 %48 to i64 + %arrayidx27 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %47, i64 %idxprom26 + %size28 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx27, i32 0, i32 0 + store i64 %add25, i64* %size28, align 8 + %49 = load i8*, i8** %val, align 8 + %cmp29 = icmp ne i8* %49, getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i64 0, i64 0) + br i1 %cmp29, label %if.then31, label %if.end32 + +if.then31: ; preds = %if.then24 + %50 = load i8*, i8** %val, align 8 + call void @free(i8* %50) #11 + br label %if.end32 + +if.end32: ; preds = %if.then31, %if.then24 + %51 = load i64, i64* %size, align 8 + %call33 = call noalias i8* @xcharalloc(i64 %51) + store i8* %call33, i8** %val, align 8 + %52 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %53 = load i32, i32* %n.addr, align 4 + %idxprom34 = sext i32 %53 to i64 + %arrayidx35 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %52, i64 %idxprom34 + %val36 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx35, i32 0, i32 1 + store i8* %call33, i8** %val36, align 8 + %54 = load i8*, i8** %val, align 8 + %55 = load i64, i64* %size, align 8 + %56 = load i8*, i8** %arg.addr, align 8 + %57 = load i64, i64* %argsize.addr, align 8 + %58 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %style37 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %58, i32 0, i32 0 + %59 = load i32, i32* %style37, align 8 + %60 = load i32, i32* %flags, align 4 + %61 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %quote_these_too38 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %61, i32 0, i32 2 + %arraydecay39 = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too38, i64 0, i64 0 + %62 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %left_quote40 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %62, i32 0, i32 3 + %63 = load i8*, i8** %left_quote40, align 8 + %64 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %right_quote41 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %64, i32 0, i32 4 + %65 = load i8*, i8** %right_quote41, align 8 + %call42 = call i64 @quotearg_buffer_restyled(i8* %54, i64 %55, i8* %56, i64 %57, i32 %59, i32 %60, i32* %arraydecay39, i8* %63, i8* %65) + br label %if.end43 + +if.end43: ; preds = %if.end32, %if.end15 + %66 = load i32, i32* %e, align 4 + %call44 = call i32* @__errno_location() #25 + store i32 %66, i32* %call44, align 4 + %67 = load i8*, i8** %val, align 8 + ret i8* %67 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @quotearg_buffer_restyled(i8* %buffer, i64 %buffersize, i8* %arg, i64 %argsize, i32 %quoting_style, i32 %flags, i32* %quote_these_too, i8* %left_quote, i8* %right_quote) #3 { +entry: + %retval = alloca i64, align 8 + %buffer.addr = alloca i8*, align 8 + %buffersize.addr = alloca i64, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %quoting_style.addr = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %quote_these_too.addr = alloca i32*, align 8 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %i = alloca i64, align 8 + %len = alloca i64, align 8 + %orig_buffersize = alloca i64, align 8 + %quote_string = alloca i8*, align 8 + %quote_string_len = alloca i64, align 8 + %backslash_escapes = alloca i8, align 1 + %unibyte_locale = alloca i8, align 1 + %elide_outer_quotes = alloca i8, align 1 + %pending_shell_escape_end = alloca i8, align 1 + %encountered_single_quote = alloca i8, align 1 + %all_c_and_shell_quote_compat = alloca i8, align 1 + %c = alloca i8, align 1 + %esc = alloca i8, align 1 + %is_right_quote = alloca i8, align 1 + %escaping = alloca i8, align 1 + %c_and_shell_quote_compat = alloca i8, align 1 + %m = alloca i64, align 8 + %printable = alloca i8, align 1 + %mbstate = alloca %struct.__mbstate_t, align 4 + %w = alloca i32, align 4 + %bytes = alloca i64, align 8 + %j = alloca i64, align 8 + %ilim = alloca i64, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %buffersize, i64* %buffersize.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store i32 %quoting_style, i32* %quoting_style.addr, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store i32* %quote_these_too, i32** %quote_these_too.addr, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i64 0, i64* %len, align 8 + store i64 0, i64* %orig_buffersize, align 8 + store i8* null, i8** %quote_string, align 8 + store i64 0, i64* %quote_string_len, align 8 + store i8 0, i8* %backslash_escapes, align 1 + %call = call i64 @__ctype_get_mb_cur_max() #11 + %cmp = icmp eq i64 %call, 1 + %frombool = zext i1 %cmp to i8 + store i8 %frombool, i8* %unibyte_locale, align 1 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 2 + %cmp1 = icmp ne i32 %and, 0 + %frombool2 = zext i1 %cmp1 to i8 + store i8 %frombool2, i8* %elide_outer_quotes, align 1 + store i8 0, i8* %pending_shell_escape_end, align 1 + store i8 0, i8* %encountered_single_quote, align 1 + store i8 1, i8* %all_c_and_shell_quote_compat, align 1 + br label %process_input + +process_input: ; preds = %if.then701, %entry + %1 = load i32, i32* %quoting_style.addr, align 4 + br label %NodeBlock27 + +NodeBlock27: ; preds = %process_input + %case.cmp28 = icmp eq i32 %1, 6 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %1, 5 + br i1 %case.cmp26, label %sw.bb3, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %1, 7 + br i1 %case.cmp24, label %sw.bb7, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %1, 8 + br i1 %case.cmp22, label %sw.bb8, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %1, 9 + br i1 %case.cmp20, label %sw.bb8, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %1, 10 + br i1 %case.cmp18, label %sw.bb8, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %1, 3 + br i1 %case.cmp16, label %sw.bb26, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %1, 1 + br i1 %case.cmp14, label %sw.bb27, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %1, 4 + br i1 %case.cmp12, label %sw.bb28, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %1, 2 + br i1 %case.cmp10, label %sw.bb32, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock9 + %case.cmp = icmp eq i32 %1, 0 + br i1 %case.cmp, label %sw.bb43, label %newDefault + +sw.bb: ; preds = %NodeBlock27 + store i32 5, i32* %quoting_style.addr, align 4 + store i8 1, i8* %elide_outer_quotes, align 1 + br label %sw.bb3 + +sw.bb3: ; preds = %NodeBlock25, %sw.bb + %2 = load i8, i8* %elide_outer_quotes, align 1 + %tobool = trunc i8 %2 to i1 + br i1 %tobool, label %if.end6, label %do.body + +do.body: ; preds = %sw.bb3 + %3 = load i64, i64* %len, align 8 + %4 = load i64, i64* %buffersize.addr, align 8 + %cmp4 = icmp ult i64 %3, %4 + br i1 %cmp4, label %if.then5, label %if.end + +if.then5: ; preds = %do.body + %5 = load i8*, i8** %buffer.addr, align 8 + %6 = load i64, i64* %len, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 %6 + store i8 34, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then5, %do.body + %7 = load i64, i64* %len, align 8 + %inc = add i64 %7, 1 + store i64 %inc, i64* %len, align 8 + br label %if.end6 + +if.end6: ; preds = %if.end, %sw.bb3 + store i8 1, i8* %backslash_escapes, align 1 + store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10.99, i64 0, i64 0), i8** %quote_string, align 8 + store i64 1, i64* %quote_string_len, align 8 + br label %sw.epilog + +sw.bb7: ; preds = %NodeBlock23 + store i8 1, i8* %backslash_escapes, align 1 + store i8 0, i8* %elide_outer_quotes, align 1 + br label %sw.epilog + +sw.bb8: ; preds = %NodeBlock21, %NodeBlock19, %NodeBlock17 + %8 = load i32, i32* %quoting_style.addr, align 4 + %cmp9 = icmp ne i32 %8, 10 + br i1 %cmp9, label %if.then10, label %if.end13 + +if.then10: ; preds = %sw.bb8 + %9 = load i32, i32* %quoting_style.addr, align 4 + %call11 = call i8* @gettext_quote(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.11.100, i64 0, i64 0), i32 %9) + store i8* %call11, i8** %left_quote.addr, align 8 + %10 = load i32, i32* %quoting_style.addr, align 4 + %call12 = call i8* @gettext_quote(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.101, i64 0, i64 0), i32 %10) + store i8* %call12, i8** %right_quote.addr, align 8 + br label %if.end13 + +if.end13: ; preds = %if.then10, %sw.bb8 + %11 = load i8, i8* %elide_outer_quotes, align 1 + %tobool14 = trunc i8 %11 to i1 + br i1 %tobool14, label %if.end24, label %if.then15 + +if.then15: ; preds = %if.end13 + %12 = load i8*, i8** %left_quote.addr, align 8 + store i8* %12, i8** %quote_string, align 8 + br label %for.cond + +for.cond: ; preds = %if.end21, %if.then15 + %13 = load i8*, i8** %quote_string, align 8 + %14 = load i8, i8* %13, align 1 + %tobool16 = icmp ne i8 %14, 0 + br i1 %tobool16, label %do.body17, label %if.end24 + +do.body17: ; preds = %for.cond + %15 = load i64, i64* %len, align 8 + %16 = load i64, i64* %buffersize.addr, align 8 + %cmp18 = icmp ult i64 %15, %16 + br i1 %cmp18, label %if.then19, label %if.end21 + +if.then19: ; preds = %do.body17 + %17 = load i8*, i8** %quote_string, align 8 + %18 = load i8, i8* %17, align 1 + %19 = load i8*, i8** %buffer.addr, align 8 + %20 = load i64, i64* %len, align 8 + %arrayidx20 = getelementptr inbounds i8, i8* %19, i64 %20 + store i8 %18, i8* %arrayidx20, align 1 + br label %if.end21 + +if.end21: ; preds = %if.then19, %do.body17 + %21 = load i64, i64* %len, align 8 + %inc22 = add i64 %21, 1 + store i64 %inc22, i64* %len, align 8 + %22 = load i8*, i8** %quote_string, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %22, i32 1 + store i8* %incdec.ptr, i8** %quote_string, align 8 + br label %for.cond + +if.end24: ; preds = %for.cond, %if.end13 + store i8 1, i8* %backslash_escapes, align 1 + %23 = load i8*, i8** %right_quote.addr, align 8 + store i8* %23, i8** %quote_string, align 8 + %24 = load i8*, i8** %quote_string, align 8 + %call25 = call i64 @strlen(i8* %24) #23 + store i64 %call25, i64* %quote_string_len, align 8 + br label %sw.epilog + +sw.bb26: ; preds = %NodeBlock15 + store i8 1, i8* %backslash_escapes, align 1 + br label %sw.bb27 + +sw.bb27: ; preds = %NodeBlock13, %sw.bb26 + store i8 1, i8* %elide_outer_quotes, align 1 + br label %sw.bb28 + +sw.bb28: ; preds = %NodeBlock11, %sw.bb27 + %25 = load i8, i8* %elide_outer_quotes, align 1 + %tobool29 = trunc i8 %25 to i1 + br i1 %tobool29, label %sw.bb32, label %if.then30 + +if.then30: ; preds = %sw.bb28 + store i8 1, i8* %backslash_escapes, align 1 + br label %sw.bb32 + +sw.bb32: ; preds = %NodeBlock9, %sw.bb28, %if.then30 + store i32 2, i32* %quoting_style.addr, align 4 + %26 = load i8, i8* %elide_outer_quotes, align 1 + %tobool33 = trunc i8 %26 to i1 + br i1 %tobool33, label %if.end42, label %do.body35 + +do.body35: ; preds = %sw.bb32 + %27 = load i64, i64* %len, align 8 + %28 = load i64, i64* %buffersize.addr, align 8 + %cmp36 = icmp ult i64 %27, %28 + br i1 %cmp36, label %if.then37, label %if.end39 + +if.then37: ; preds = %do.body35 + %29 = load i8*, i8** %buffer.addr, align 8 + %30 = load i64, i64* %len, align 8 + %arrayidx38 = getelementptr inbounds i8, i8* %29, i64 %30 + store i8 39, i8* %arrayidx38, align 1 + br label %if.end39 + +if.end39: ; preds = %if.then37, %do.body35 + %31 = load i64, i64* %len, align 8 + %inc40 = add i64 %31, 1 + store i64 %inc40, i64* %len, align 8 + br label %if.end42 + +if.end42: ; preds = %if.end39, %sw.bb32 + store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.101, i64 0, i64 0), i8** %quote_string, align 8 + store i64 1, i64* %quote_string_len, align 8 + br label %sw.epilog + +sw.bb43: ; preds = %NodeBlock + store i8 0, i8* %elide_outer_quotes, align 1 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @abort() #26 + unreachable + +sw.epilog: ; preds = %sw.bb43, %if.end42, %if.end24, %sw.bb7, %if.end6 + store i64 0, i64* %i, align 8 + br label %for.cond44 + +for.cond44: ; preds = %for.inc673, %sw.epilog + %32 = load i64, i64* %argsize.addr, align 8 + %cmp45 = icmp eq i64 %32, -1 + br i1 %cmp45, label %cond.true, label %cond.false + +cond.true: ; preds = %for.cond44 + %33 = load i8*, i8** %arg.addr, align 8 + %34 = load i64, i64* %i, align 8 + %arrayidx46 = getelementptr inbounds i8, i8* %33, i64 %34 + %35 = load i8, i8* %arrayidx46, align 1 + %conv = sext i8 %35 to i32 + %cmp47 = icmp eq i32 %conv, 0 + %conv48 = zext i1 %cmp47 to i32 + br label %cond.end + +cond.false: ; preds = %for.cond44 + %36 = load i64, i64* %i, align 8 + %37 = load i64, i64* %argsize.addr, align 8 + %cmp49 = icmp eq i64 %36, %37 + %conv50 = zext i1 %cmp49 to i32 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ %conv48, %cond.true ], [ %conv50, %cond.false ] + %tobool51 = icmp ne i32 %cond, 0 + %lnot = xor i1 %tobool51, true + br i1 %lnot, label %for.body52, label %for.end675 + +for.body52: ; preds = %cond.end + store i8 0, i8* %is_right_quote, align 1 + store i8 0, i8* %escaping, align 1 + store i8 0, i8* %c_and_shell_quote_compat, align 1 + %38 = load i8, i8* %backslash_escapes, align 1 + %tobool53 = trunc i8 %38 to i1 + %39 = load i32, i32* %quoting_style.addr, align 4 + %cmp55 = icmp ne i32 %39, 2 + %or.cond = and i1 %tobool53, %cmp55 + %40 = load i64, i64* %quote_string_len, align 8 + %tobool58 = icmp ne i64 %40, 0 + %or.cond1 = and i1 %or.cond, %tobool58 + br i1 %or.cond1, label %land.lhs.true59, label %if.end80 + +land.lhs.true59: ; preds = %for.body52 + %41 = load i64, i64* %i, align 8 + %42 = load i64, i64* %quote_string_len, align 8 + %add = add i64 %41, %42 + %43 = load i64, i64* %argsize.addr, align 8 + %cmp60 = icmp eq i64 %43, -1 + %44 = load i64, i64* %quote_string_len, align 8 + %cmp63 = icmp ult i64 1, %44 + %or.cond2 = and i1 %cmp60, %cmp63 + br i1 %or.cond2, label %cond.true65, label %cond.false67 + +cond.true65: ; preds = %land.lhs.true59 + %45 = load i8*, i8** %arg.addr, align 8 + %call66 = call i64 @strlen(i8* %45) #23 + store i64 %call66, i64* %argsize.addr, align 8 + br label %cond.end68 + +cond.false67: ; preds = %land.lhs.true59 + %46 = load i64, i64* %argsize.addr, align 8 + br label %cond.end68 + +cond.end68: ; preds = %cond.false67, %cond.true65 + %cond69 = phi i64 [ %call66, %cond.true65 ], [ %46, %cond.false67 ] + %cmp70 = icmp ule i64 %add, %cond69 + br i1 %cmp70, label %land.lhs.true72, label %if.end80 + +land.lhs.true72: ; preds = %cond.end68 + %47 = load i8*, i8** %arg.addr, align 8 + %48 = load i64, i64* %i, align 8 + %add.ptr = getelementptr inbounds i8, i8* %47, i64 %48 + %49 = load i8*, i8** %quote_string, align 8 + %50 = load i64, i64* %quote_string_len, align 8 + %call73 = call i32 @memcmp(i8* %add.ptr, i8* %49, i64 %50) #23 + %cmp74 = icmp eq i32 %call73, 0 + br i1 %cmp74, label %if.then76, label %if.end80 + +if.then76: ; preds = %land.lhs.true72 + %51 = load i8, i8* %elide_outer_quotes, align 1 + %tobool77 = trunc i8 %51 to i1 + br i1 %tobool77, label %force_outer_quoting_style, label %if.end79 + +if.end79: ; preds = %if.then76 + store i8 1, i8* %is_right_quote, align 1 + br label %if.end80 + +if.end80: ; preds = %if.end79, %land.lhs.true72, %cond.end68, %for.body52 + %52 = load i8*, i8** %arg.addr, align 8 + %53 = load i64, i64* %i, align 8 + %arrayidx81 = getelementptr inbounds i8, i8* %52, i64 %53 + %54 = load i8, i8* %arrayidx81, align 1 + store i8 %54, i8* %c, align 1 + %55 = load i8, i8* %c, align 1 + %conv82 = zext i8 %55 to i32 + br label %NodeBlock232 + +NodeBlock232: ; preds = %if.end80 + %case.cmp233 = icmp eq i32 %conv82, 0 + br i1 %case.cmp233, label %sw.bb83, label %NodeBlock230 + +NodeBlock230: ; preds = %NodeBlock232 + %case.cmp231 = icmp eq i32 %conv82, 63 + br i1 %case.cmp231, label %sw.bb170, label %NodeBlock228 + +NodeBlock228: ; preds = %NodeBlock230 + %case.cmp229 = icmp eq i32 %conv82, 7 + br i1 %case.cmp229, label %sw.bb236, label %NodeBlock226 + +NodeBlock226: ; preds = %NodeBlock228 + %case.cmp227 = icmp eq i32 %conv82, 8 + br i1 %case.cmp227, label %sw.bb237, label %NodeBlock224 + +NodeBlock224: ; preds = %NodeBlock226 + %case.cmp225 = icmp eq i32 %conv82, 12 + br i1 %case.cmp225, label %sw.bb238, label %NodeBlock222 + +NodeBlock222: ; preds = %NodeBlock224 + %case.cmp223 = icmp eq i32 %conv82, 10 + br i1 %case.cmp223, label %sw.bb239, label %NodeBlock220 + +NodeBlock220: ; preds = %NodeBlock222 + %case.cmp221 = icmp eq i32 %conv82, 13 + br i1 %case.cmp221, label %sw.bb240, label %NodeBlock218 + +NodeBlock218: ; preds = %NodeBlock220 + %case.cmp219 = icmp eq i32 %conv82, 9 + br i1 %case.cmp219, label %sw.bb241, label %NodeBlock216 + +NodeBlock216: ; preds = %NodeBlock218 + %case.cmp217 = icmp eq i32 %conv82, 11 + br i1 %case.cmp217, label %sw.bb242, label %NodeBlock214 + +NodeBlock214: ; preds = %NodeBlock216 + %case.cmp215 = icmp eq i32 %conv82, 92 + br i1 %case.cmp215, label %sw.bb243, label %NodeBlock212 + +NodeBlock212: ; preds = %NodeBlock214 + %case.cmp213 = icmp eq i32 %conv82, 123 + br i1 %case.cmp213, label %sw.bb270, label %NodeBlock210 + +NodeBlock210: ; preds = %NodeBlock212 + %case.cmp211 = icmp eq i32 %conv82, 125 + br i1 %case.cmp211, label %sw.bb270, label %NodeBlock208 + +NodeBlock208: ; preds = %NodeBlock210 + %case.cmp209 = icmp eq i32 %conv82, 35 + br i1 %case.cmp209, label %sw.bb283, label %NodeBlock206 + +NodeBlock206: ; preds = %NodeBlock208 + %case.cmp207 = icmp eq i32 %conv82, 126 + br i1 %case.cmp207, label %sw.bb283, label %NodeBlock204 + +NodeBlock204: ; preds = %NodeBlock206 + %case.cmp205 = icmp eq i32 %conv82, 32 + br i1 %case.cmp205, label %sw.bb288, label %NodeBlock202 + +NodeBlock202: ; preds = %NodeBlock204 + %case.cmp203 = icmp eq i32 %conv82, 33 + br i1 %case.cmp203, label %sw.bb289, label %NodeBlock200 + +NodeBlock200: ; preds = %NodeBlock202 + %case.cmp201 = icmp eq i32 %conv82, 34 + br i1 %case.cmp201, label %sw.bb289, label %NodeBlock198 + +NodeBlock198: ; preds = %NodeBlock200 + %case.cmp199 = icmp eq i32 %conv82, 36 + br i1 %case.cmp199, label %sw.bb289, label %NodeBlock196 + +NodeBlock196: ; preds = %NodeBlock198 + %case.cmp197 = icmp eq i32 %conv82, 38 + br i1 %case.cmp197, label %sw.bb289, label %NodeBlock194 + +NodeBlock194: ; preds = %NodeBlock196 + %case.cmp195 = icmp eq i32 %conv82, 40 + br i1 %case.cmp195, label %sw.bb289, label %NodeBlock192 + +NodeBlock192: ; preds = %NodeBlock194 + %case.cmp193 = icmp eq i32 %conv82, 41 + br i1 %case.cmp193, label %sw.bb289, label %NodeBlock190 + +NodeBlock190: ; preds = %NodeBlock192 + %case.cmp191 = icmp eq i32 %conv82, 42 + br i1 %case.cmp191, label %sw.bb289, label %NodeBlock188 + +NodeBlock188: ; preds = %NodeBlock190 + %case.cmp189 = icmp eq i32 %conv82, 59 + br i1 %case.cmp189, label %sw.bb289, label %NodeBlock186 + +NodeBlock186: ; preds = %NodeBlock188 + %case.cmp187 = icmp eq i32 %conv82, 60 + br i1 %case.cmp187, label %sw.bb289, label %NodeBlock184 + +NodeBlock184: ; preds = %NodeBlock186 + %case.cmp185 = icmp eq i32 %conv82, 61 + br i1 %case.cmp185, label %sw.bb289, label %NodeBlock182 + +NodeBlock182: ; preds = %NodeBlock184 + %case.cmp183 = icmp eq i32 %conv82, 62 + br i1 %case.cmp183, label %sw.bb289, label %NodeBlock180 + +NodeBlock180: ; preds = %NodeBlock182 + %case.cmp181 = icmp eq i32 %conv82, 91 + br i1 %case.cmp181, label %sw.bb289, label %NodeBlock178 + +NodeBlock178: ; preds = %NodeBlock180 + %case.cmp179 = icmp eq i32 %conv82, 94 + br i1 %case.cmp179, label %sw.bb289, label %NodeBlock176 + +NodeBlock176: ; preds = %NodeBlock178 + %case.cmp177 = icmp eq i32 %conv82, 96 + br i1 %case.cmp177, label %sw.bb289, label %NodeBlock174 + +NodeBlock174: ; preds = %NodeBlock176 + %case.cmp175 = icmp eq i32 %conv82, 124 + br i1 %case.cmp175, label %sw.bb289, label %NodeBlock172 + +NodeBlock172: ; preds = %NodeBlock174 + %case.cmp173 = icmp eq i32 %conv82, 39 + br i1 %case.cmp173, label %sw.bb297, label %NodeBlock170 + +NodeBlock170: ; preds = %NodeBlock172 + %case.cmp171 = icmp eq i32 %conv82, 37 + br i1 %case.cmp171, label %sw.bb334, label %NodeBlock168 + +NodeBlock168: ; preds = %NodeBlock170 + %case.cmp169 = icmp eq i32 %conv82, 43 + br i1 %case.cmp169, label %sw.bb334, label %NodeBlock166 + +NodeBlock166: ; preds = %NodeBlock168 + %case.cmp167 = icmp eq i32 %conv82, 44 + br i1 %case.cmp167, label %sw.bb334, label %NodeBlock164 + +NodeBlock164: ; preds = %NodeBlock166 + %case.cmp165 = icmp eq i32 %conv82, 45 + br i1 %case.cmp165, label %sw.bb334, label %NodeBlock162 + +NodeBlock162: ; preds = %NodeBlock164 + %case.cmp163 = icmp eq i32 %conv82, 46 + br i1 %case.cmp163, label %sw.bb334, label %NodeBlock160 + +NodeBlock160: ; preds = %NodeBlock162 + %case.cmp161 = icmp eq i32 %conv82, 47 + br i1 %case.cmp161, label %sw.bb334, label %NodeBlock158 + +NodeBlock158: ; preds = %NodeBlock160 + %case.cmp159 = icmp eq i32 %conv82, 48 + br i1 %case.cmp159, label %sw.bb334, label %NodeBlock156 + +NodeBlock156: ; preds = %NodeBlock158 + %case.cmp157 = icmp eq i32 %conv82, 49 + br i1 %case.cmp157, label %sw.bb334, label %NodeBlock154 + +NodeBlock154: ; preds = %NodeBlock156 + %case.cmp155 = icmp eq i32 %conv82, 50 + br i1 %case.cmp155, label %sw.bb334, label %NodeBlock152 + +NodeBlock152: ; preds = %NodeBlock154 + %case.cmp153 = icmp eq i32 %conv82, 51 + br i1 %case.cmp153, label %sw.bb334, label %NodeBlock150 + +NodeBlock150: ; preds = %NodeBlock152 + %case.cmp151 = icmp eq i32 %conv82, 52 + br i1 %case.cmp151, label %sw.bb334, label %NodeBlock148 + +NodeBlock148: ; preds = %NodeBlock150 + %case.cmp149 = icmp eq i32 %conv82, 53 + br i1 %case.cmp149, label %sw.bb334, label %NodeBlock146 + +NodeBlock146: ; preds = %NodeBlock148 + %case.cmp147 = icmp eq i32 %conv82, 54 + br i1 %case.cmp147, label %sw.bb334, label %NodeBlock144 + +NodeBlock144: ; preds = %NodeBlock146 + %case.cmp145 = icmp eq i32 %conv82, 55 + br i1 %case.cmp145, label %sw.bb334, label %NodeBlock142 + +NodeBlock142: ; preds = %NodeBlock144 + %case.cmp143 = icmp eq i32 %conv82, 56 + br i1 %case.cmp143, label %sw.bb334, label %NodeBlock140 + +NodeBlock140: ; preds = %NodeBlock142 + %case.cmp141 = icmp eq i32 %conv82, 57 + br i1 %case.cmp141, label %sw.bb334, label %NodeBlock138 + +NodeBlock138: ; preds = %NodeBlock140 + %case.cmp139 = icmp eq i32 %conv82, 58 + br i1 %case.cmp139, label %sw.bb334, label %NodeBlock136 + +NodeBlock136: ; preds = %NodeBlock138 + %case.cmp137 = icmp eq i32 %conv82, 65 + br i1 %case.cmp137, label %sw.bb334, label %NodeBlock134 + +NodeBlock134: ; preds = %NodeBlock136 + %case.cmp135 = icmp eq i32 %conv82, 66 + br i1 %case.cmp135, label %sw.bb334, label %NodeBlock132 + +NodeBlock132: ; preds = %NodeBlock134 + %case.cmp133 = icmp eq i32 %conv82, 67 + br i1 %case.cmp133, label %sw.bb334, label %NodeBlock130 + +NodeBlock130: ; preds = %NodeBlock132 + %case.cmp131 = icmp eq i32 %conv82, 68 + br i1 %case.cmp131, label %sw.bb334, label %NodeBlock128 + +NodeBlock128: ; preds = %NodeBlock130 + %case.cmp129 = icmp eq i32 %conv82, 69 + br i1 %case.cmp129, label %sw.bb334, label %NodeBlock126 + +NodeBlock126: ; preds = %NodeBlock128 + %case.cmp127 = icmp eq i32 %conv82, 70 + br i1 %case.cmp127, label %sw.bb334, label %NodeBlock124 + +NodeBlock124: ; preds = %NodeBlock126 + %case.cmp125 = icmp eq i32 %conv82, 71 + br i1 %case.cmp125, label %sw.bb334, label %NodeBlock122 + +NodeBlock122: ; preds = %NodeBlock124 + %case.cmp123 = icmp eq i32 %conv82, 72 + br i1 %case.cmp123, label %sw.bb334, label %NodeBlock120 + +NodeBlock120: ; preds = %NodeBlock122 + %case.cmp121 = icmp eq i32 %conv82, 73 + br i1 %case.cmp121, label %sw.bb334, label %NodeBlock118 + +NodeBlock118: ; preds = %NodeBlock120 + %case.cmp119 = icmp eq i32 %conv82, 74 + br i1 %case.cmp119, label %sw.bb334, label %NodeBlock116 + +NodeBlock116: ; preds = %NodeBlock118 + %case.cmp117 = icmp eq i32 %conv82, 75 + br i1 %case.cmp117, label %sw.bb334, label %NodeBlock114 + +NodeBlock114: ; preds = %NodeBlock116 + %case.cmp115 = icmp eq i32 %conv82, 76 + br i1 %case.cmp115, label %sw.bb334, label %NodeBlock112 + +NodeBlock112: ; preds = %NodeBlock114 + %case.cmp113 = icmp eq i32 %conv82, 77 + br i1 %case.cmp113, label %sw.bb334, label %NodeBlock110 + +NodeBlock110: ; preds = %NodeBlock112 + %case.cmp111 = icmp eq i32 %conv82, 78 + br i1 %case.cmp111, label %sw.bb334, label %NodeBlock108 + +NodeBlock108: ; preds = %NodeBlock110 + %case.cmp109 = icmp eq i32 %conv82, 79 + br i1 %case.cmp109, label %sw.bb334, label %NodeBlock106 + +NodeBlock106: ; preds = %NodeBlock108 + %case.cmp107 = icmp eq i32 %conv82, 80 + br i1 %case.cmp107, label %sw.bb334, label %NodeBlock104 + +NodeBlock104: ; preds = %NodeBlock106 + %case.cmp105 = icmp eq i32 %conv82, 81 + br i1 %case.cmp105, label %sw.bb334, label %NodeBlock102 + +NodeBlock102: ; preds = %NodeBlock104 + %case.cmp103 = icmp eq i32 %conv82, 82 + br i1 %case.cmp103, label %sw.bb334, label %NodeBlock100 + +NodeBlock100: ; preds = %NodeBlock102 + %case.cmp101 = icmp eq i32 %conv82, 83 + br i1 %case.cmp101, label %sw.bb334, label %NodeBlock98 + +NodeBlock98: ; preds = %NodeBlock100 + %case.cmp99 = icmp eq i32 %conv82, 84 + br i1 %case.cmp99, label %sw.bb334, label %NodeBlock96 + +NodeBlock96: ; preds = %NodeBlock98 + %case.cmp97 = icmp eq i32 %conv82, 85 + br i1 %case.cmp97, label %sw.bb334, label %NodeBlock94 + +NodeBlock94: ; preds = %NodeBlock96 + %case.cmp95 = icmp eq i32 %conv82, 86 + br i1 %case.cmp95, label %sw.bb334, label %NodeBlock92 + +NodeBlock92: ; preds = %NodeBlock94 + %case.cmp93 = icmp eq i32 %conv82, 87 + br i1 %case.cmp93, label %sw.bb334, label %NodeBlock90 + +NodeBlock90: ; preds = %NodeBlock92 + %case.cmp91 = icmp eq i32 %conv82, 88 + br i1 %case.cmp91, label %sw.bb334, label %NodeBlock88 + +NodeBlock88: ; preds = %NodeBlock90 + %case.cmp89 = icmp eq i32 %conv82, 89 + br i1 %case.cmp89, label %sw.bb334, label %NodeBlock86 + +NodeBlock86: ; preds = %NodeBlock88 + %case.cmp87 = icmp eq i32 %conv82, 90 + br i1 %case.cmp87, label %sw.bb334, label %NodeBlock84 + +NodeBlock84: ; preds = %NodeBlock86 + %case.cmp85 = icmp eq i32 %conv82, 93 + br i1 %case.cmp85, label %sw.bb334, label %NodeBlock82 + +NodeBlock82: ; preds = %NodeBlock84 + %case.cmp83 = icmp eq i32 %conv82, 95 + br i1 %case.cmp83, label %sw.bb334, label %NodeBlock80 + +NodeBlock80: ; preds = %NodeBlock82 + %case.cmp81 = icmp eq i32 %conv82, 97 + br i1 %case.cmp81, label %sw.bb334, label %NodeBlock78 + +NodeBlock78: ; preds = %NodeBlock80 + %case.cmp79 = icmp eq i32 %conv82, 98 + br i1 %case.cmp79, label %sw.bb334, label %NodeBlock76 + +NodeBlock76: ; preds = %NodeBlock78 + %case.cmp77 = icmp eq i32 %conv82, 99 + br i1 %case.cmp77, label %sw.bb334, label %NodeBlock74 + +NodeBlock74: ; preds = %NodeBlock76 + %case.cmp75 = icmp eq i32 %conv82, 100 + br i1 %case.cmp75, label %sw.bb334, label %NodeBlock72 + +NodeBlock72: ; preds = %NodeBlock74 + %case.cmp73 = icmp eq i32 %conv82, 101 + br i1 %case.cmp73, label %sw.bb334, label %NodeBlock70 + +NodeBlock70: ; preds = %NodeBlock72 + %case.cmp71 = icmp eq i32 %conv82, 102 + br i1 %case.cmp71, label %sw.bb334, label %NodeBlock68 + +NodeBlock68: ; preds = %NodeBlock70 + %case.cmp69 = icmp eq i32 %conv82, 103 + br i1 %case.cmp69, label %sw.bb334, label %NodeBlock66 + +NodeBlock66: ; preds = %NodeBlock68 + %case.cmp67 = icmp eq i32 %conv82, 104 + br i1 %case.cmp67, label %sw.bb334, label %NodeBlock64 + +NodeBlock64: ; preds = %NodeBlock66 + %case.cmp65 = icmp eq i32 %conv82, 105 + br i1 %case.cmp65, label %sw.bb334, label %NodeBlock62 + +NodeBlock62: ; preds = %NodeBlock64 + %case.cmp63 = icmp eq i32 %conv82, 106 + br i1 %case.cmp63, label %sw.bb334, label %NodeBlock60 + +NodeBlock60: ; preds = %NodeBlock62 + %case.cmp61 = icmp eq i32 %conv82, 107 + br i1 %case.cmp61, label %sw.bb334, label %NodeBlock58 + +NodeBlock58: ; preds = %NodeBlock60 + %case.cmp59 = icmp eq i32 %conv82, 108 + br i1 %case.cmp59, label %sw.bb334, label %NodeBlock56 + +NodeBlock56: ; preds = %NodeBlock58 + %case.cmp57 = icmp eq i32 %conv82, 109 + br i1 %case.cmp57, label %sw.bb334, label %NodeBlock54 + +NodeBlock54: ; preds = %NodeBlock56 + %case.cmp55 = icmp eq i32 %conv82, 110 + br i1 %case.cmp55, label %sw.bb334, label %NodeBlock52 + +NodeBlock52: ; preds = %NodeBlock54 + %case.cmp53 = icmp eq i32 %conv82, 111 + br i1 %case.cmp53, label %sw.bb334, label %NodeBlock50 + +NodeBlock50: ; preds = %NodeBlock52 + %case.cmp51 = icmp eq i32 %conv82, 112 + br i1 %case.cmp51, label %sw.bb334, label %NodeBlock48 + +NodeBlock48: ; preds = %NodeBlock50 + %case.cmp49 = icmp eq i32 %conv82, 113 + br i1 %case.cmp49, label %sw.bb334, label %NodeBlock46 + +NodeBlock46: ; preds = %NodeBlock48 + %case.cmp47 = icmp eq i32 %conv82, 114 + br i1 %case.cmp47, label %sw.bb334, label %NodeBlock44 + +NodeBlock44: ; preds = %NodeBlock46 + %case.cmp45 = icmp eq i32 %conv82, 115 + br i1 %case.cmp45, label %sw.bb334, label %NodeBlock42 + +NodeBlock42: ; preds = %NodeBlock44 + %case.cmp43 = icmp eq i32 %conv82, 116 + br i1 %case.cmp43, label %sw.bb334, label %NodeBlock40 + +NodeBlock40: ; preds = %NodeBlock42 + %case.cmp41 = icmp eq i32 %conv82, 117 + br i1 %case.cmp41, label %sw.bb334, label %NodeBlock38 + +NodeBlock38: ; preds = %NodeBlock40 + %case.cmp39 = icmp eq i32 %conv82, 118 + br i1 %case.cmp39, label %sw.bb334, label %NodeBlock36 + +NodeBlock36: ; preds = %NodeBlock38 + %case.cmp37 = icmp eq i32 %conv82, 119 + br i1 %case.cmp37, label %sw.bb334, label %NodeBlock34 + +NodeBlock34: ; preds = %NodeBlock36 + %case.cmp35 = icmp eq i32 %conv82, 120 + br i1 %case.cmp35, label %sw.bb334, label %NodeBlock32 + +NodeBlock32: ; preds = %NodeBlock34 + %case.cmp33 = icmp eq i32 %conv82, 121 + br i1 %case.cmp33, label %sw.bb334, label %NodeBlock30 + +NodeBlock30: ; preds = %NodeBlock32 + %case.cmp31 = icmp eq i32 %conv82, 122 + br i1 %case.cmp31, label %sw.bb334, label %newDefault29 + +sw.bb83: ; preds = %NodeBlock232 + %56 = load i8, i8* %backslash_escapes, align 1 + %tobool84 = trunc i8 %56 to i1 + br i1 %tobool84, label %do.body86, label %if.else + +do.body86: ; preds = %sw.bb83 + %57 = load i8, i8* %elide_outer_quotes, align 1 + %tobool87 = trunc i8 %57 to i1 + br i1 %tobool87, label %force_outer_quoting_style, label %if.end89 + +if.end89: ; preds = %do.body86 + store i8 1, i8* %escaping, align 1 + %58 = load i32, i32* %quoting_style.addr, align 4 + %cmp90 = icmp eq i32 %58, 2 + br i1 %cmp90, label %land.lhs.true92, label %do.body120 + +land.lhs.true92: ; preds = %if.end89 + %59 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool93 = trunc i8 %59 to i1 + br i1 %tobool93, label %do.body120, label %do.body95 + +do.body95: ; preds = %land.lhs.true92 + %60 = load i64, i64* %len, align 8 + %61 = load i64, i64* %buffersize.addr, align 8 + %cmp96 = icmp ult i64 %60, %61 + br i1 %cmp96, label %if.then98, label %if.end100 + +if.then98: ; preds = %do.body95 + %62 = load i8*, i8** %buffer.addr, align 8 + %63 = load i64, i64* %len, align 8 + %arrayidx99 = getelementptr inbounds i8, i8* %62, i64 %63 + store i8 39, i8* %arrayidx99, align 1 + br label %if.end100 + +if.end100: ; preds = %if.then98, %do.body95 + %64 = load i64, i64* %len, align 8 + %inc101 = add i64 %64, 1 + store i64 %inc101, i64* %len, align 8 + %65 = load i64, i64* %len, align 8 + %66 = load i64, i64* %buffersize.addr, align 8 + %cmp104 = icmp ult i64 %65, %66 + br i1 %cmp104, label %if.then106, label %if.end108 + +if.then106: ; preds = %if.end100 + %67 = load i8*, i8** %buffer.addr, align 8 + %68 = load i64, i64* %len, align 8 + %arrayidx107 = getelementptr inbounds i8, i8* %67, i64 %68 + store i8 36, i8* %arrayidx107, align 1 + br label %if.end108 + +if.end108: ; preds = %if.then106, %if.end100 + %69 = load i64, i64* %len, align 8 + %inc109 = add i64 %69, 1 + store i64 %inc109, i64* %len, align 8 + %70 = load i64, i64* %len, align 8 + %71 = load i64, i64* %buffersize.addr, align 8 + %cmp112 = icmp ult i64 %70, %71 + br i1 %cmp112, label %if.then114, label %if.end116 + +if.then114: ; preds = %if.end108 + %72 = load i8*, i8** %buffer.addr, align 8 + %73 = load i64, i64* %len, align 8 + %arrayidx115 = getelementptr inbounds i8, i8* %72, i64 %73 + store i8 39, i8* %arrayidx115, align 1 + br label %if.end116 + +if.end116: ; preds = %if.then114, %if.end108 + %74 = load i64, i64* %len, align 8 + %inc117 = add i64 %74, 1 + store i64 %inc117, i64* %len, align 8 + store i8 1, i8* %pending_shell_escape_end, align 1 + br label %do.body120 + +do.body120: ; preds = %if.end89, %land.lhs.true92, %if.end116 + %75 = load i64, i64* %len, align 8 + %76 = load i64, i64* %buffersize.addr, align 8 + %cmp121 = icmp ult i64 %75, %76 + br i1 %cmp121, label %if.then123, label %if.end125 + +if.then123: ; preds = %do.body120 + %77 = load i8*, i8** %buffer.addr, align 8 + %78 = load i64, i64* %len, align 8 + %arrayidx124 = getelementptr inbounds i8, i8* %77, i64 %78 + store i8 92, i8* %arrayidx124, align 1 + br label %if.end125 + +if.end125: ; preds = %if.then123, %do.body120 + %79 = load i64, i64* %len, align 8 + %inc126 = add i64 %79, 1 + store i64 %inc126, i64* %len, align 8 + %80 = load i32, i32* %quoting_style.addr, align 4 + %cmp129 = icmp ne i32 %80, 2 + br i1 %cmp129, label %land.lhs.true131, label %if.end164 + +land.lhs.true131: ; preds = %if.end125 + %81 = load i64, i64* %i, align 8 + %add132 = add i64 %81, 1 + %82 = load i64, i64* %argsize.addr, align 8 + %cmp133 = icmp ult i64 %add132, %82 + br i1 %cmp133, label %land.lhs.true135, label %if.end164 + +land.lhs.true135: ; preds = %land.lhs.true131 + %83 = load i8*, i8** %arg.addr, align 8 + %84 = load i64, i64* %i, align 8 + %add136 = add i64 %84, 1 + %arrayidx137 = getelementptr inbounds i8, i8* %83, i64 %add136 + %85 = load i8, i8* %arrayidx137, align 1 + %conv138 = sext i8 %85 to i32 + %cmp139 = icmp sle i32 48, %conv138 + br i1 %cmp139, label %land.lhs.true141, label %if.end164 + +land.lhs.true141: ; preds = %land.lhs.true135 + %86 = load i8*, i8** %arg.addr, align 8 + %87 = load i64, i64* %i, align 8 + %add142 = add i64 %87, 1 + %arrayidx143 = getelementptr inbounds i8, i8* %86, i64 %add142 + %88 = load i8, i8* %arrayidx143, align 1 + %conv144 = sext i8 %88 to i32 + %cmp145 = icmp sle i32 %conv144, 57 + br i1 %cmp145, label %do.body148, label %if.end164 + +do.body148: ; preds = %land.lhs.true141 + %89 = load i64, i64* %len, align 8 + %90 = load i64, i64* %buffersize.addr, align 8 + %cmp149 = icmp ult i64 %89, %90 + br i1 %cmp149, label %if.then151, label %if.end153 + +if.then151: ; preds = %do.body148 + %91 = load i8*, i8** %buffer.addr, align 8 + %92 = load i64, i64* %len, align 8 + %arrayidx152 = getelementptr inbounds i8, i8* %91, i64 %92 + store i8 48, i8* %arrayidx152, align 1 + br label %if.end153 + +if.end153: ; preds = %if.then151, %do.body148 + %93 = load i64, i64* %len, align 8 + %inc154 = add i64 %93, 1 + store i64 %inc154, i64* %len, align 8 + %94 = load i64, i64* %len, align 8 + %95 = load i64, i64* %buffersize.addr, align 8 + %cmp157 = icmp ult i64 %94, %95 + br i1 %cmp157, label %if.then159, label %if.end161 + +if.then159: ; preds = %if.end153 + %96 = load i8*, i8** %buffer.addr, align 8 + %97 = load i64, i64* %len, align 8 + %arrayidx160 = getelementptr inbounds i8, i8* %96, i64 %97 + store i8 48, i8* %arrayidx160, align 1 + br label %if.end161 + +if.end161: ; preds = %if.then159, %if.end153 + %98 = load i64, i64* %len, align 8 + %inc162 = add i64 %98, 1 + store i64 %inc162, i64* %len, align 8 + br label %if.end164 + +if.end164: ; preds = %if.end161, %land.lhs.true141, %land.lhs.true135, %land.lhs.true131, %if.end125 + store i8 48, i8* %c, align 1 + br label %sw.epilog564 + +if.else: ; preds = %sw.bb83 + %99 = load i32, i32* %flags.addr, align 4 + %and165 = and i32 %99, 1 + %tobool166 = icmp ne i32 %and165, 0 + br i1 %tobool166, label %for.inc673, label %sw.epilog564 + +sw.bb170: ; preds = %NodeBlock230 + %100 = load i32, i32* %quoting_style.addr, align 4 + br label %NodeBlock237 + +NodeBlock237: ; preds = %sw.bb170 + %case.cmp238 = icmp eq i32 %100, 2 + br i1 %case.cmp238, label %sw.bb171, label %NodeBlock235 + +NodeBlock235: ; preds = %NodeBlock237 + %case.cmp236 = icmp eq i32 %100, 5 + br i1 %case.cmp236, label %sw.bb175, label %newDefault234 + +sw.bb171: ; preds = %NodeBlock237 + %101 = load i8, i8* %elide_outer_quotes, align 1 + %tobool172 = trunc i8 %101 to i1 + br i1 %tobool172, label %force_outer_quoting_style, label %sw.epilog564 + +sw.bb175: ; preds = %NodeBlock235 + %102 = load i32, i32* %flags.addr, align 4 + %and176 = and i32 %102, 4 + %tobool177 = icmp ne i32 %and176, 0 + br i1 %tobool177, label %land.lhs.true178, label %sw.epilog564 + +land.lhs.true178: ; preds = %sw.bb175 + %103 = load i64, i64* %i, align 8 + %add179 = add i64 %103, 2 + %104 = load i64, i64* %argsize.addr, align 8 + %cmp180 = icmp ult i64 %add179, %104 + br i1 %cmp180, label %land.lhs.true182, label %sw.epilog564 + +land.lhs.true182: ; preds = %land.lhs.true178 + %105 = load i8*, i8** %arg.addr, align 8 + %106 = load i64, i64* %i, align 8 + %add183 = add i64 %106, 1 + %arrayidx184 = getelementptr inbounds i8, i8* %105, i64 %add183 + %107 = load i8, i8* %arrayidx184, align 1 + %conv185 = sext i8 %107 to i32 + %cmp186 = icmp eq i32 %conv185, 63 + br i1 %cmp186, label %if.then188, label %sw.epilog564 + +if.then188: ; preds = %land.lhs.true182 + %108 = load i8*, i8** %arg.addr, align 8 + %109 = load i64, i64* %i, align 8 + %add189 = add i64 %109, 2 + %arrayidx190 = getelementptr inbounds i8, i8* %108, i64 %add189 + %110 = load i8, i8* %arrayidx190, align 1 + %conv191 = sext i8 %110 to i32 + br label %NodeBlock256 + +NodeBlock256: ; preds = %if.then188 + %case.cmp257 = icmp eq i32 %conv191, 33 + br i1 %case.cmp257, label %sw.bb192, label %NodeBlock254 + +NodeBlock254: ; preds = %NodeBlock256 + %case.cmp255 = icmp eq i32 %conv191, 39 + br i1 %case.cmp255, label %sw.bb192, label %NodeBlock252 + +NodeBlock252: ; preds = %NodeBlock254 + %case.cmp253 = icmp eq i32 %conv191, 40 + br i1 %case.cmp253, label %sw.bb192, label %NodeBlock250 + +NodeBlock250: ; preds = %NodeBlock252 + %case.cmp251 = icmp eq i32 %conv191, 41 + br i1 %case.cmp251, label %sw.bb192, label %NodeBlock248 + +NodeBlock248: ; preds = %NodeBlock250 + %case.cmp249 = icmp eq i32 %conv191, 45 + br i1 %case.cmp249, label %sw.bb192, label %NodeBlock246 + +NodeBlock246: ; preds = %NodeBlock248 + %case.cmp247 = icmp eq i32 %conv191, 47 + br i1 %case.cmp247, label %sw.bb192, label %NodeBlock244 + +NodeBlock244: ; preds = %NodeBlock246 + %case.cmp245 = icmp eq i32 %conv191, 60 + br i1 %case.cmp245, label %sw.bb192, label %NodeBlock242 + +NodeBlock242: ; preds = %NodeBlock244 + %case.cmp243 = icmp eq i32 %conv191, 61 + br i1 %case.cmp243, label %sw.bb192, label %NodeBlock240 + +NodeBlock240: ; preds = %NodeBlock242 + %case.cmp241 = icmp eq i32 %conv191, 62 + br i1 %case.cmp241, label %sw.bb192, label %newDefault239 + +sw.bb192: ; preds = %NodeBlock256, %NodeBlock254, %NodeBlock252, %NodeBlock250, %NodeBlock248, %NodeBlock246, %NodeBlock244, %NodeBlock242, %NodeBlock240 + %111 = load i8, i8* %elide_outer_quotes, align 1 + %tobool193 = trunc i8 %111 to i1 + br i1 %tobool193, label %force_outer_quoting_style, label %if.end195 + +if.end195: ; preds = %sw.bb192 + %112 = load i8*, i8** %arg.addr, align 8 + %113 = load i64, i64* %i, align 8 + %add196 = add i64 %113, 2 + %arrayidx197 = getelementptr inbounds i8, i8* %112, i64 %add196 + %114 = load i8, i8* %arrayidx197, align 1 + store i8 %114, i8* %c, align 1 + %115 = load i64, i64* %i, align 8 + %add198 = add i64 %115, 2 + store i64 %add198, i64* %i, align 8 + %116 = load i64, i64* %len, align 8 + %117 = load i64, i64* %buffersize.addr, align 8 + %cmp200 = icmp ult i64 %116, %117 + br i1 %cmp200, label %if.then202, label %if.end204 + +if.then202: ; preds = %if.end195 + %118 = load i8*, i8** %buffer.addr, align 8 + %119 = load i64, i64* %len, align 8 + %arrayidx203 = getelementptr inbounds i8, i8* %118, i64 %119 + store i8 63, i8* %arrayidx203, align 1 + br label %if.end204 + +if.end204: ; preds = %if.then202, %if.end195 + %120 = load i64, i64* %len, align 8 + %inc205 = add i64 %120, 1 + store i64 %inc205, i64* %len, align 8 + %121 = load i64, i64* %len, align 8 + %122 = load i64, i64* %buffersize.addr, align 8 + %cmp208 = icmp ult i64 %121, %122 + br i1 %cmp208, label %if.then210, label %if.end212 + +if.then210: ; preds = %if.end204 + %123 = load i8*, i8** %buffer.addr, align 8 + %124 = load i64, i64* %len, align 8 + %arrayidx211 = getelementptr inbounds i8, i8* %123, i64 %124 + store i8 34, i8* %arrayidx211, align 1 + br label %if.end212 + +if.end212: ; preds = %if.then210, %if.end204 + %125 = load i64, i64* %len, align 8 + %inc213 = add i64 %125, 1 + store i64 %inc213, i64* %len, align 8 + %126 = load i64, i64* %len, align 8 + %127 = load i64, i64* %buffersize.addr, align 8 + %cmp216 = icmp ult i64 %126, %127 + br i1 %cmp216, label %if.then218, label %if.end220 + +if.then218: ; preds = %if.end212 + %128 = load i8*, i8** %buffer.addr, align 8 + %129 = load i64, i64* %len, align 8 + %arrayidx219 = getelementptr inbounds i8, i8* %128, i64 %129 + store i8 34, i8* %arrayidx219, align 1 + br label %if.end220 + +if.end220: ; preds = %if.then218, %if.end212 + %130 = load i64, i64* %len, align 8 + %inc221 = add i64 %130, 1 + store i64 %inc221, i64* %len, align 8 + %131 = load i64, i64* %len, align 8 + %132 = load i64, i64* %buffersize.addr, align 8 + %cmp224 = icmp ult i64 %131, %132 + br i1 %cmp224, label %if.then226, label %if.end228 + +if.then226: ; preds = %if.end220 + %133 = load i8*, i8** %buffer.addr, align 8 + %134 = load i64, i64* %len, align 8 + %arrayidx227 = getelementptr inbounds i8, i8* %133, i64 %134 + store i8 63, i8* %arrayidx227, align 1 + br label %if.end228 + +if.end228: ; preds = %if.then226, %if.end220 + %135 = load i64, i64* %len, align 8 + %inc229 = add i64 %135, 1 + store i64 %inc229, i64* %len, align 8 + br label %sw.epilog564 + +sw.bb236: ; preds = %NodeBlock228 + store i8 97, i8* %esc, align 1 + br label %c_escape + +sw.bb237: ; preds = %NodeBlock226 + store i8 98, i8* %esc, align 1 + br label %c_escape + +sw.bb238: ; preds = %NodeBlock224 + store i8 102, i8* %esc, align 1 + br label %c_escape + +sw.bb239: ; preds = %NodeBlock222 + store i8 110, i8* %esc, align 1 + br label %c_and_shell_escape + +sw.bb240: ; preds = %NodeBlock220 + store i8 114, i8* %esc, align 1 + br label %c_and_shell_escape + +sw.bb241: ; preds = %NodeBlock218 + store i8 116, i8* %esc, align 1 + br label %c_and_shell_escape + +sw.bb242: ; preds = %NodeBlock216 + store i8 118, i8* %esc, align 1 + br label %c_escape + +sw.bb243: ; preds = %NodeBlock214 + %136 = load i8, i8* %c, align 1 + store i8 %136, i8* %esc, align 1 + %137 = load i32, i32* %quoting_style.addr, align 4 + %cmp244 = icmp eq i32 %137, 2 + br i1 %cmp244, label %if.then246, label %if.end250 + +if.then246: ; preds = %sw.bb243 + %138 = load i8, i8* %elide_outer_quotes, align 1 + %tobool247 = trunc i8 %138 to i1 + br i1 %tobool247, label %force_outer_quoting_style, label %do.body634 + +if.end250: ; preds = %sw.bb243 + %139 = load i8, i8* %backslash_escapes, align 1 + %tobool251 = trunc i8 %139 to i1 + br i1 %tobool251, label %land.lhs.true253, label %c_and_shell_escape + +land.lhs.true253: ; preds = %if.end250 + %140 = load i8, i8* %elide_outer_quotes, align 1 + %tobool254 = trunc i8 %140 to i1 + %141 = load i64, i64* %quote_string_len, align 8 + %tobool257 = icmp ne i64 %141, 0 + %or.cond3 = and i1 %tobool254, %tobool257 + br i1 %or.cond3, label %do.body634, label %c_and_shell_escape + +c_and_shell_escape: ; preds = %if.end250, %land.lhs.true253, %sw.bb241, %sw.bb240, %sw.bb239 + %142 = load i32, i32* %quoting_style.addr, align 4 + %cmp260 = icmp eq i32 %142, 2 + br i1 %cmp260, label %land.lhs.true262, label %c_escape + +land.lhs.true262: ; preds = %c_and_shell_escape + %143 = load i8, i8* %elide_outer_quotes, align 1 + %tobool263 = trunc i8 %143 to i1 + br i1 %tobool263, label %force_outer_quoting_style, label %c_escape + +c_escape: ; preds = %c_and_shell_escape, %land.lhs.true262, %sw.bb242, %sw.bb238, %sw.bb237, %sw.bb236 + %144 = load i8, i8* %backslash_escapes, align 1 + %tobool267 = trunc i8 %144 to i1 + br i1 %tobool267, label %if.then268, label %sw.epilog564 + +if.then268: ; preds = %c_escape + %145 = load i8, i8* %esc, align 1 + store i8 %145, i8* %c, align 1 + br label %do.body586 + +sw.bb270: ; preds = %NodeBlock212, %NodeBlock210 + %146 = load i64, i64* %argsize.addr, align 8 + %cmp271 = icmp eq i64 %146, -1 + br i1 %cmp271, label %cond.true273, label %cond.false278 + +cond.true273: ; preds = %sw.bb270 + %147 = load i8*, i8** %arg.addr, align 8 + %arrayidx274 = getelementptr inbounds i8, i8* %147, i64 1 + %148 = load i8, i8* %arrayidx274, align 1 + %conv275 = sext i8 %148 to i32 + %cmp276 = icmp eq i32 %conv275, 0 + br i1 %cmp276, label %sw.bb283, label %sw.epilog564 + +cond.false278: ; preds = %sw.bb270 + %149 = load i64, i64* %argsize.addr, align 8 + %cmp279 = icmp eq i64 %149, 1 + br i1 %cmp279, label %sw.bb283, label %sw.epilog564 + +sw.bb283: ; preds = %NodeBlock208, %NodeBlock206, %cond.true273, %cond.false278 + %150 = load i64, i64* %i, align 8 + %cmp284 = icmp ne i64 %150, 0 + br i1 %cmp284, label %sw.epilog564, label %sw.bb288 + +sw.bb288: ; preds = %NodeBlock204, %sw.bb283 + store i8 1, i8* %c_and_shell_quote_compat, align 1 + br label %sw.bb289 + +sw.bb289: ; preds = %NodeBlock202, %NodeBlock200, %NodeBlock198, %NodeBlock196, %NodeBlock194, %NodeBlock192, %NodeBlock190, %NodeBlock188, %NodeBlock186, %NodeBlock184, %NodeBlock182, %NodeBlock180, %NodeBlock178, %NodeBlock176, %NodeBlock174, %sw.bb288 + %151 = load i32, i32* %quoting_style.addr, align 4 + %cmp290 = icmp eq i32 %151, 2 + br i1 %cmp290, label %land.lhs.true292, label %sw.epilog564 + +land.lhs.true292: ; preds = %sw.bb289 + %152 = load i8, i8* %elide_outer_quotes, align 1 + %tobool293 = trunc i8 %152 to i1 + br i1 %tobool293, label %force_outer_quoting_style, label %sw.epilog564 + +sw.bb297: ; preds = %NodeBlock172 + store i8 1, i8* %encountered_single_quote, align 1 + store i8 1, i8* %c_and_shell_quote_compat, align 1 + %153 = load i32, i32* %quoting_style.addr, align 4 + %cmp298 = icmp eq i32 %153, 2 + br i1 %cmp298, label %if.then300, label %sw.epilog564 + +if.then300: ; preds = %sw.bb297 + %154 = load i8, i8* %elide_outer_quotes, align 1 + %tobool301 = trunc i8 %154 to i1 + br i1 %tobool301, label %force_outer_quoting_style, label %if.end303 + +if.end303: ; preds = %if.then300 + %155 = load i64, i64* %buffersize.addr, align 8 + %tobool304 = icmp eq i64 %155, 0 + %156 = load i64, i64* %orig_buffersize, align 8 + %tobool306 = icmp ne i64 %156, 0 + %or.cond4 = or i1 %tobool304, %tobool306 + br i1 %or.cond4, label %do.body309, label %if.then307 + +if.then307: ; preds = %if.end303 + %157 = load i64, i64* %buffersize.addr, align 8 + store i64 %157, i64* %orig_buffersize, align 8 + store i64 0, i64* %buffersize.addr, align 8 + br label %do.body309 + +do.body309: ; preds = %if.then307, %if.end303 + %158 = load i64, i64* %len, align 8 + %159 = load i64, i64* %buffersize.addr, align 8 + %cmp310 = icmp ult i64 %158, %159 + br i1 %cmp310, label %if.then312, label %if.end314 + +if.then312: ; preds = %do.body309 + %160 = load i8*, i8** %buffer.addr, align 8 + %161 = load i64, i64* %len, align 8 + %arrayidx313 = getelementptr inbounds i8, i8* %160, i64 %161 + store i8 39, i8* %arrayidx313, align 1 + br label %if.end314 + +if.end314: ; preds = %if.then312, %do.body309 + %162 = load i64, i64* %len, align 8 + %inc315 = add i64 %162, 1 + store i64 %inc315, i64* %len, align 8 + %163 = load i64, i64* %len, align 8 + %164 = load i64, i64* %buffersize.addr, align 8 + %cmp318 = icmp ult i64 %163, %164 + br i1 %cmp318, label %if.then320, label %if.end322 + +if.then320: ; preds = %if.end314 + %165 = load i8*, i8** %buffer.addr, align 8 + %166 = load i64, i64* %len, align 8 + %arrayidx321 = getelementptr inbounds i8, i8* %165, i64 %166 + store i8 92, i8* %arrayidx321, align 1 + br label %if.end322 + +if.end322: ; preds = %if.then320, %if.end314 + %167 = load i64, i64* %len, align 8 + %inc323 = add i64 %167, 1 + store i64 %inc323, i64* %len, align 8 + %168 = load i64, i64* %len, align 8 + %169 = load i64, i64* %buffersize.addr, align 8 + %cmp326 = icmp ult i64 %168, %169 + br i1 %cmp326, label %if.then328, label %if.end330 + +if.then328: ; preds = %if.end322 + %170 = load i8*, i8** %buffer.addr, align 8 + %171 = load i64, i64* %len, align 8 + %arrayidx329 = getelementptr inbounds i8, i8* %170, i64 %171 + store i8 39, i8* %arrayidx329, align 1 + br label %if.end330 + +if.end330: ; preds = %if.then328, %if.end322 + %172 = load i64, i64* %len, align 8 + %inc331 = add i64 %172, 1 + store i64 %inc331, i64* %len, align 8 + store i8 0, i8* %pending_shell_escape_end, align 1 + br label %sw.epilog564 + +sw.bb334: ; preds = %NodeBlock170, %NodeBlock168, %NodeBlock166, %NodeBlock164, %NodeBlock162, %NodeBlock160, %NodeBlock158, %NodeBlock156, %NodeBlock154, %NodeBlock152, %NodeBlock150, %NodeBlock148, %NodeBlock146, %NodeBlock144, %NodeBlock142, %NodeBlock140, %NodeBlock138, %NodeBlock136, %NodeBlock134, %NodeBlock132, %NodeBlock130, %NodeBlock128, %NodeBlock126, %NodeBlock124, %NodeBlock122, %NodeBlock120, %NodeBlock118, %NodeBlock116, %NodeBlock114, %NodeBlock112, %NodeBlock110, %NodeBlock108, %NodeBlock106, %NodeBlock104, %NodeBlock102, %NodeBlock100, %NodeBlock98, %NodeBlock96, %NodeBlock94, %NodeBlock92, %NodeBlock90, %NodeBlock88, %NodeBlock86, %NodeBlock84, %NodeBlock82, %NodeBlock80, %NodeBlock78, %NodeBlock76, %NodeBlock74, %NodeBlock72, %NodeBlock70, %NodeBlock68, %NodeBlock66, %NodeBlock64, %NodeBlock62, %NodeBlock60, %NodeBlock58, %NodeBlock56, %NodeBlock54, %NodeBlock52, %NodeBlock50, %NodeBlock48, %NodeBlock46, %NodeBlock44, %NodeBlock42, %NodeBlock40, %NodeBlock38, %NodeBlock36, %NodeBlock34, %NodeBlock32, %NodeBlock30 + store i8 1, i8* %c_and_shell_quote_compat, align 1 + br label %sw.epilog564 + +newDefault29: ; preds = %NodeBlock30 + br label %sw.default335 + +sw.default335: ; preds = %newDefault29 + %173 = load i8, i8* %unibyte_locale, align 1 + %tobool336 = trunc i8 %173 to i1 + br i1 %tobool336, label %if.then337, label %if.else346 + +if.then337: ; preds = %sw.default335 + store i64 1, i64* %m, align 8 + %call338 = call i16** @__ctype_b_loc() #25 + %174 = load i16*, i16** %call338, align 8 + %175 = load i8, i8* %c, align 1 + %conv339 = zext i8 %175 to i32 + %idxprom = sext i32 %conv339 to i64 + %arrayidx340 = getelementptr inbounds i16, i16* %174, i64 %idxprom + %176 = load i16, i16* %arrayidx340, align 2 + %conv341 = zext i16 %176 to i32 + %and342 = and i32 %conv341, 16384 + %cmp343 = icmp ne i32 %and342, 0 + %frombool345 = zext i1 %cmp343 to i8 + store i8 %frombool345, i8* %printable, align 1 + br label %if.end410 + +if.else346: ; preds = %sw.default335 + %177 = bitcast %struct.__mbstate_t* %mbstate to i8* + %178 = call i8* @memset(i8* %177, i32 0, i64 8) + store i64 0, i64* %m, align 8 + store i8 1, i8* %printable, align 1 + %179 = load i64, i64* %argsize.addr, align 8 + %cmp347 = icmp eq i64 %179, -1 + br i1 %cmp347, label %if.then349, label %if.end351 + +if.then349: ; preds = %if.else346 + %180 = load i8*, i8** %arg.addr, align 8 + %call350 = call i64 @strlen(i8* %180) #23 + store i64 %call350, i64* %argsize.addr, align 8 + br label %if.end351 + +if.end351: ; preds = %if.then349, %if.else346 + br label %do.body352 + +do.body352: ; preds = %if.end401, %if.end351 + %181 = load i8*, i8** %arg.addr, align 8 + %182 = load i64, i64* %i, align 8 + %183 = load i64, i64* %m, align 8 + %add353 = add i64 %182, %183 + %arrayidx354 = getelementptr inbounds i8, i8* %181, i64 %add353 + %184 = load i64, i64* %argsize.addr, align 8 + %185 = load i64, i64* %i, align 8 + %186 = load i64, i64* %m, align 8 + %add355 = add i64 %185, %186 + %sub = sub i64 %184, %add355 + %call356 = call i64 @rpl_mbrtowc(i32* %w, i8* %arrayidx354, i64 %sub, %struct.__mbstate_t* %mbstate) + store i64 %call356, i64* %bytes, align 8 + %187 = load i64, i64* %bytes, align 8 + %cmp357 = icmp eq i64 %187, 0 + br i1 %cmp357, label %if.end410, label %if.else360 + +if.else360: ; preds = %do.body352 + %188 = load i64, i64* %bytes, align 8 + %cmp361 = icmp eq i64 %188, -1 + br i1 %cmp361, label %if.then363, label %if.else364 + +if.then363: ; preds = %if.else360 + store i8 0, i8* %printable, align 1 + br label %if.end410 + +if.else364: ; preds = %if.else360 + %189 = load i64, i64* %bytes, align 8 + %cmp365 = icmp eq i64 %189, -2 + br i1 %cmp365, label %if.then367, label %if.else376 + +if.then367: ; preds = %if.else364 + store i8 0, i8* %printable, align 1 + br label %while.cond + +while.cond: ; preds = %while.body, %if.then367 + %190 = load i64, i64* %i, align 8 + %191 = load i64, i64* %m, align 8 + %add368 = add i64 %190, %191 + %192 = load i64, i64* %argsize.addr, align 8 + %cmp369 = icmp ult i64 %add368, %192 + br i1 %cmp369, label %land.rhs, label %if.end410 + +land.rhs: ; preds = %while.cond + %193 = load i8*, i8** %arg.addr, align 8 + %194 = load i64, i64* %i, align 8 + %195 = load i64, i64* %m, align 8 + %add371 = add i64 %194, %195 + %arrayidx372 = getelementptr inbounds i8, i8* %193, i64 %add371 + %196 = load i8, i8* %arrayidx372, align 1 + %conv373 = sext i8 %196 to i32 + %tobool374 = icmp ne i32 %conv373, 0 + br i1 %tobool374, label %while.body, label %if.end410 + +while.body: ; preds = %land.rhs + %197 = load i64, i64* %m, align 8 + %inc375 = add i64 %197, 1 + store i64 %inc375, i64* %m, align 8 + br label %while.cond + +if.else376: ; preds = %if.else364 + %198 = load i8, i8* %elide_outer_quotes, align 1 + %tobool377 = trunc i8 %198 to i1 + %199 = load i32, i32* %quoting_style.addr, align 4 + %cmp380 = icmp eq i32 %199, 2 + %or.cond5 = and i1 %tobool377, %cmp380 + br i1 %or.cond5, label %if.then382, label %if.end397 + +if.then382: ; preds = %if.else376 + store i64 1, i64* %j, align 8 + br label %for.cond383 + +for.cond383: ; preds = %for.inc394, %if.then382 + %200 = load i64, i64* %j, align 8 + %201 = load i64, i64* %bytes, align 8 + %cmp384 = icmp ult i64 %200, %201 + br i1 %cmp384, label %for.body386, label %if.end397 + +for.body386: ; preds = %for.cond383 + %202 = load i8*, i8** %arg.addr, align 8 + %203 = load i64, i64* %i, align 8 + %204 = load i64, i64* %m, align 8 + %add387 = add i64 %203, %204 + %205 = load i64, i64* %j, align 8 + %add388 = add i64 %add387, %205 + %arrayidx389 = getelementptr inbounds i8, i8* %202, i64 %add388 + %206 = load i8, i8* %arrayidx389, align 1 + %conv390 = sext i8 %206 to i32 + br label %NodeBlock267 + +NodeBlock267: ; preds = %for.body386 + %case.cmp268 = icmp eq i32 %conv390, 91 + br i1 %case.cmp268, label %force_outer_quoting_style, label %NodeBlock265 + +NodeBlock265: ; preds = %NodeBlock267 + %case.cmp266 = icmp eq i32 %conv390, 92 + br i1 %case.cmp266, label %force_outer_quoting_style, label %NodeBlock263 + +NodeBlock263: ; preds = %NodeBlock265 + %case.cmp264 = icmp eq i32 %conv390, 94 + br i1 %case.cmp264, label %force_outer_quoting_style, label %NodeBlock261 + +NodeBlock261: ; preds = %NodeBlock263 + %case.cmp262 = icmp eq i32 %conv390, 96 + br i1 %case.cmp262, label %force_outer_quoting_style, label %NodeBlock259 + +NodeBlock259: ; preds = %NodeBlock261 + %case.cmp260 = icmp eq i32 %conv390, 124 + br i1 %case.cmp260, label %force_outer_quoting_style, label %newDefault258 + +newDefault258: ; preds = %NodeBlock259 + br label %for.inc394 + +for.inc394: ; preds = %newDefault258 + %207 = load i64, i64* %j, align 8 + %inc395 = add i64 %207, 1 + store i64 %inc395, i64* %j, align 8 + br label %for.cond383 + +if.end397: ; preds = %for.cond383, %if.else376 + %208 = load i32, i32* %w, align 4 + %call398 = call i32 @iswprint(i32 %208) #11 + %tobool399 = icmp ne i32 %call398, 0 + br i1 %tobool399, label %if.end401, label %if.then400 + +if.then400: ; preds = %if.end397 + store i8 0, i8* %printable, align 1 + br label %if.end401 + +if.end401: ; preds = %if.then400, %if.end397 + %209 = load i64, i64* %bytes, align 8 + %210 = load i64, i64* %m, align 8 + %add402 = add i64 %210, %209 + store i64 %add402, i64* %m, align 8 + %call406 = call i32 bitcast (i32 (%struct.__mbstate_t.512*)* @mbsinit to i32 (%struct.__mbstate_t*)*)(%struct.__mbstate_t* %mbstate) #23 + %tobool407 = icmp ne i32 %call406, 0 + %lnot408 = xor i1 %tobool407, true + br i1 %lnot408, label %do.body352, label %if.end410 + +if.end410: ; preds = %if.then363, %if.end401, %do.body352, %while.cond, %land.rhs, %if.then337 + %211 = load i8, i8* %printable, align 1 + %tobool411 = trunc i8 %211 to i1 + %frombool412 = zext i1 %tobool411 to i8 + store i8 %frombool412, i8* %c_and_shell_quote_compat, align 1 + %212 = load i64, i64* %m, align 8 + %cmp413 = icmp ult i64 1, %212 + br i1 %cmp413, label %if.then419, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end410 + %213 = load i8, i8* %backslash_escapes, align 1 + %tobool415 = trunc i8 %213 to i1 + br i1 %tobool415, label %land.lhs.true417, label %sw.epilog564 + +land.lhs.true417: ; preds = %lor.lhs.false + %214 = load i8, i8* %printable, align 1 + %tobool418 = trunc i8 %214 to i1 + br i1 %tobool418, label %sw.epilog564, label %if.then419 + +if.then419: ; preds = %land.lhs.true417, %if.end410 + %215 = load i64, i64* %i, align 8 + %216 = load i64, i64* %m, align 8 + %add420 = add i64 %215, %216 + store i64 %add420, i64* %ilim, align 8 + br label %for.cond421 + +for.cond421: ; preds = %if.end556, %if.then419 + %217 = load i8, i8* %backslash_escapes, align 1 + %tobool422 = trunc i8 %217 to i1 + br i1 %tobool422, label %land.lhs.true424, label %if.else505 + +land.lhs.true424: ; preds = %for.cond421 + %218 = load i8, i8* %printable, align 1 + %tobool425 = trunc i8 %218 to i1 + br i1 %tobool425, label %if.else505, label %do.body427 + +do.body427: ; preds = %land.lhs.true424 + %219 = load i8, i8* %elide_outer_quotes, align 1 + %tobool428 = trunc i8 %219 to i1 + br i1 %tobool428, label %force_outer_quoting_style, label %if.end430 + +if.end430: ; preds = %do.body427 + store i8 1, i8* %escaping, align 1 + %220 = load i32, i32* %quoting_style.addr, align 4 + %cmp431 = icmp eq i32 %220, 2 + br i1 %cmp431, label %land.lhs.true433, label %do.body464 + +land.lhs.true433: ; preds = %if.end430 + %221 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool434 = trunc i8 %221 to i1 + br i1 %tobool434, label %do.body464, label %do.body436 + +do.body436: ; preds = %land.lhs.true433 + %222 = load i64, i64* %len, align 8 + %223 = load i64, i64* %buffersize.addr, align 8 + %cmp437 = icmp ult i64 %222, %223 + br i1 %cmp437, label %if.then439, label %if.end441 + +if.then439: ; preds = %do.body436 + %224 = load i8*, i8** %buffer.addr, align 8 + %225 = load i64, i64* %len, align 8 + %arrayidx440 = getelementptr inbounds i8, i8* %224, i64 %225 + store i8 39, i8* %arrayidx440, align 1 + br label %if.end441 + +if.end441: ; preds = %if.then439, %do.body436 + %226 = load i64, i64* %len, align 8 + %inc442 = add i64 %226, 1 + store i64 %inc442, i64* %len, align 8 + %227 = load i64, i64* %len, align 8 + %228 = load i64, i64* %buffersize.addr, align 8 + %cmp446 = icmp ult i64 %227, %228 + br i1 %cmp446, label %if.then448, label %if.end450 + +if.then448: ; preds = %if.end441 + %229 = load i8*, i8** %buffer.addr, align 8 + %230 = load i64, i64* %len, align 8 + %arrayidx449 = getelementptr inbounds i8, i8* %229, i64 %230 + store i8 36, i8* %arrayidx449, align 1 + br label %if.end450 + +if.end450: ; preds = %if.then448, %if.end441 + %231 = load i64, i64* %len, align 8 + %inc451 = add i64 %231, 1 + store i64 %inc451, i64* %len, align 8 + %232 = load i64, i64* %len, align 8 + %233 = load i64, i64* %buffersize.addr, align 8 + %cmp455 = icmp ult i64 %232, %233 + br i1 %cmp455, label %if.then457, label %if.end459 + +if.then457: ; preds = %if.end450 + %234 = load i8*, i8** %buffer.addr, align 8 + %235 = load i64, i64* %len, align 8 + %arrayidx458 = getelementptr inbounds i8, i8* %234, i64 %235 + store i8 39, i8* %arrayidx458, align 1 + br label %if.end459 + +if.end459: ; preds = %if.then457, %if.end450 + %236 = load i64, i64* %len, align 8 + %inc460 = add i64 %236, 1 + store i64 %inc460, i64* %len, align 8 + store i8 1, i8* %pending_shell_escape_end, align 1 + br label %do.body464 + +do.body464: ; preds = %if.end430, %land.lhs.true433, %if.end459 + %237 = load i64, i64* %len, align 8 + %238 = load i64, i64* %buffersize.addr, align 8 + %cmp465 = icmp ult i64 %237, %238 + br i1 %cmp465, label %if.then467, label %if.end469 + +if.then467: ; preds = %do.body464 + %239 = load i8*, i8** %buffer.addr, align 8 + %240 = load i64, i64* %len, align 8 + %arrayidx468 = getelementptr inbounds i8, i8* %239, i64 %240 + store i8 92, i8* %arrayidx468, align 1 + br label %if.end469 + +if.end469: ; preds = %if.then467, %do.body464 + %241 = load i64, i64* %len, align 8 + %inc470 = add i64 %241, 1 + store i64 %inc470, i64* %len, align 8 + %242 = load i64, i64* %len, align 8 + %243 = load i64, i64* %buffersize.addr, align 8 + %cmp476 = icmp ult i64 %242, %243 + br i1 %cmp476, label %if.then478, label %if.end483 + +if.then478: ; preds = %if.end469 + %244 = load i8, i8* %c, align 1 + %conv479 = zext i8 %244 to i32 + %shr = ashr i32 %conv479, 6 + %add480 = add nsw i32 48, %shr + %conv481 = trunc i32 %add480 to i8 + %245 = load i8*, i8** %buffer.addr, align 8 + %246 = load i64, i64* %len, align 8 + %arrayidx482 = getelementptr inbounds i8, i8* %245, i64 %246 + store i8 %conv481, i8* %arrayidx482, align 1 + br label %if.end483 + +if.end483: ; preds = %if.then478, %if.end469 + %247 = load i64, i64* %len, align 8 + %inc484 = add i64 %247, 1 + store i64 %inc484, i64* %len, align 8 + %248 = load i64, i64* %len, align 8 + %249 = load i64, i64* %buffersize.addr, align 8 + %cmp488 = icmp ult i64 %248, %249 + br i1 %cmp488, label %if.then490, label %if.end497 + +if.then490: ; preds = %if.end483 + %250 = load i8, i8* %c, align 1 + %conv491 = zext i8 %250 to i32 + %shr492 = ashr i32 %conv491, 3 + %and493 = and i32 %shr492, 7 + %add494 = add nsw i32 48, %and493 + %conv495 = trunc i32 %add494 to i8 + %251 = load i8*, i8** %buffer.addr, align 8 + %252 = load i64, i64* %len, align 8 + %arrayidx496 = getelementptr inbounds i8, i8* %251, i64 %252 + store i8 %conv495, i8* %arrayidx496, align 1 + br label %if.end497 + +if.end497: ; preds = %if.then490, %if.end483 + %253 = load i64, i64* %len, align 8 + %inc498 = add i64 %253, 1 + store i64 %inc498, i64* %len, align 8 + %254 = load i8, i8* %c, align 1 + %conv501 = zext i8 %254 to i32 + %and502 = and i32 %conv501, 7 + %add503 = add nsw i32 48, %and502 + %conv504 = trunc i32 %add503 to i8 + store i8 %conv504, i8* %c, align 1 + br label %if.end518 + +if.else505: ; preds = %land.lhs.true424, %for.cond421 + %255 = load i8, i8* %is_right_quote, align 1 + %tobool506 = trunc i8 %255 to i1 + br i1 %tobool506, label %do.body508, label %if.end518 + +do.body508: ; preds = %if.else505 + %256 = load i64, i64* %len, align 8 + %257 = load i64, i64* %buffersize.addr, align 8 + %cmp509 = icmp ult i64 %256, %257 + br i1 %cmp509, label %if.then511, label %if.end513 + +if.then511: ; preds = %do.body508 + %258 = load i8*, i8** %buffer.addr, align 8 + %259 = load i64, i64* %len, align 8 + %arrayidx512 = getelementptr inbounds i8, i8* %258, i64 %259 + store i8 92, i8* %arrayidx512, align 1 + br label %if.end513 + +if.end513: ; preds = %if.then511, %do.body508 + %260 = load i64, i64* %len, align 8 + %inc514 = add i64 %260, 1 + store i64 %inc514, i64* %len, align 8 + store i8 0, i8* %is_right_quote, align 1 + br label %if.end518 + +if.end518: ; preds = %if.else505, %if.end513, %if.end497 + %261 = load i64, i64* %ilim, align 8 + %262 = load i64, i64* %i, align 8 + %add519 = add i64 %262, 1 + %cmp520 = icmp ule i64 %261, %add519 + br i1 %cmp520, label %do.body634, label %do.body524 + +do.body524: ; preds = %if.end518 + %263 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool525 = trunc i8 %263 to i1 + br i1 %tobool525, label %land.lhs.true527, label %do.body551 + +land.lhs.true527: ; preds = %do.body524 + %264 = load i8, i8* %escaping, align 1 + %tobool528 = trunc i8 %264 to i1 + br i1 %tobool528, label %do.body551, label %do.body530 + +do.body530: ; preds = %land.lhs.true527 + %265 = load i64, i64* %len, align 8 + %266 = load i64, i64* %buffersize.addr, align 8 + %cmp531 = icmp ult i64 %265, %266 + br i1 %cmp531, label %if.then533, label %if.end535 + +if.then533: ; preds = %do.body530 + %267 = load i8*, i8** %buffer.addr, align 8 + %268 = load i64, i64* %len, align 8 + %arrayidx534 = getelementptr inbounds i8, i8* %267, i64 %268 + store i8 39, i8* %arrayidx534, align 1 + br label %if.end535 + +if.end535: ; preds = %if.then533, %do.body530 + %269 = load i64, i64* %len, align 8 + %inc536 = add i64 %269, 1 + store i64 %inc536, i64* %len, align 8 + %270 = load i64, i64* %len, align 8 + %271 = load i64, i64* %buffersize.addr, align 8 + %cmp540 = icmp ult i64 %270, %271 + br i1 %cmp540, label %if.then542, label %if.end544 + +if.then542: ; preds = %if.end535 + %272 = load i8*, i8** %buffer.addr, align 8 + %273 = load i64, i64* %len, align 8 + %arrayidx543 = getelementptr inbounds i8, i8* %272, i64 %273 + store i8 39, i8* %arrayidx543, align 1 + br label %if.end544 + +if.end544: ; preds = %if.then542, %if.end535 + %274 = load i64, i64* %len, align 8 + %inc545 = add i64 %274, 1 + store i64 %inc545, i64* %len, align 8 + store i8 0, i8* %pending_shell_escape_end, align 1 + br label %do.body551 + +do.body551: ; preds = %if.end544, %land.lhs.true527, %do.body524 + %275 = load i64, i64* %len, align 8 + %276 = load i64, i64* %buffersize.addr, align 8 + %cmp552 = icmp ult i64 %275, %276 + br i1 %cmp552, label %if.then554, label %if.end556 + +if.then554: ; preds = %do.body551 + %277 = load i8, i8* %c, align 1 + %278 = load i8*, i8** %buffer.addr, align 8 + %279 = load i64, i64* %len, align 8 + %arrayidx555 = getelementptr inbounds i8, i8* %278, i64 %279 + store i8 %277, i8* %arrayidx555, align 1 + br label %if.end556 + +if.end556: ; preds = %if.then554, %do.body551 + %280 = load i64, i64* %len, align 8 + %inc557 = add i64 %280, 1 + store i64 %inc557, i64* %len, align 8 + %281 = load i8*, i8** %arg.addr, align 8 + %282 = load i64, i64* %i, align 8 + %inc560 = add i64 %282, 1 + store i64 %inc560, i64* %i, align 8 + %arrayidx561 = getelementptr inbounds i8, i8* %281, i64 %inc560 + %283 = load i8, i8* %arrayidx561, align 1 + store i8 %283, i8* %c, align 1 + br label %for.cond421 + +newDefault234: ; preds = %NodeBlock235 + br label %sw.epilog564 + +newDefault239: ; preds = %NodeBlock240 + br label %sw.epilog564 + +sw.epilog564: ; preds = %newDefault239, %newDefault234, %lor.lhs.false, %land.lhs.true417, %sw.bb297, %if.end330, %sw.bb289, %land.lhs.true292, %sw.bb283, %cond.true273, %cond.false278, %c_escape, %sw.bb171, %if.end228, %land.lhs.true182, %land.lhs.true178, %sw.bb175, %if.end164, %if.else, %sw.bb334 + %284 = load i8, i8* %backslash_escapes, align 1 + %tobool565 = trunc i8 %284 to i1 + %285 = load i32, i32* %quoting_style.addr, align 4 + %cmp568 = icmp ne i32 %285, 2 + %or.cond6 = and i1 %tobool565, %cmp568 + br i1 %or.cond6, label %land.lhs.true573, label %lor.lhs.false570 + +lor.lhs.false570: ; preds = %sw.epilog564 + %286 = load i8, i8* %elide_outer_quotes, align 1 + %tobool571 = trunc i8 %286 to i1 + br i1 %tobool571, label %land.lhs.true573, label %land.lhs.true582 + +land.lhs.true573: ; preds = %sw.epilog564, %lor.lhs.false570 + %287 = load i32*, i32** %quote_these_too.addr, align 8 + %tobool574 = icmp ne i32* %287, null + br i1 %tobool574, label %land.lhs.true575, label %land.lhs.true582 + +land.lhs.true575: ; preds = %land.lhs.true573 + %288 = load i32*, i32** %quote_these_too.addr, align 8 + %289 = load i8, i8* %c, align 1 + %conv576 = zext i8 %289 to i64 + %div = udiv i64 %conv576, 32 + %arrayidx577 = getelementptr inbounds i32, i32* %288, i64 %div + %290 = load i32, i32* %arrayidx577, align 4 + %291 = load i8, i8* %c, align 1 + %conv578 = zext i8 %291 to i64 + %rem = urem i64 %conv578, 32 + %sh_prom = trunc i64 %rem to i32 + %shr579 = lshr i32 %290, %sh_prom + %and580 = and i32 %shr579, 1 + %tobool581 = icmp ne i32 %and580, 0 + br i1 %tobool581, label %do.body586, label %land.lhs.true582 + +land.lhs.true582: ; preds = %land.lhs.true575, %land.lhs.true573, %lor.lhs.false570 + %292 = load i8, i8* %is_right_quote, align 1 + %tobool583 = trunc i8 %292 to i1 + br i1 %tobool583, label %do.body586, label %do.body634 + +do.body586: ; preds = %if.then268, %land.lhs.true582, %land.lhs.true575 + %293 = load i8, i8* %elide_outer_quotes, align 1 + %tobool587 = trunc i8 %293 to i1 + br i1 %tobool587, label %force_outer_quoting_style, label %if.end589 + +if.end589: ; preds = %do.body586 + store i8 1, i8* %escaping, align 1 + %294 = load i32, i32* %quoting_style.addr, align 4 + %cmp590 = icmp eq i32 %294, 2 + br i1 %cmp590, label %land.lhs.true592, label %do.body623 + +land.lhs.true592: ; preds = %if.end589 + %295 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool593 = trunc i8 %295 to i1 + br i1 %tobool593, label %do.body623, label %do.body595 + +do.body595: ; preds = %land.lhs.true592 + %296 = load i64, i64* %len, align 8 + %297 = load i64, i64* %buffersize.addr, align 8 + %cmp596 = icmp ult i64 %296, %297 + br i1 %cmp596, label %if.then598, label %if.end600 + +if.then598: ; preds = %do.body595 + %298 = load i8*, i8** %buffer.addr, align 8 + %299 = load i64, i64* %len, align 8 + %arrayidx599 = getelementptr inbounds i8, i8* %298, i64 %299 + store i8 39, i8* %arrayidx599, align 1 + br label %if.end600 + +if.end600: ; preds = %if.then598, %do.body595 + %300 = load i64, i64* %len, align 8 + %inc601 = add i64 %300, 1 + store i64 %inc601, i64* %len, align 8 + %301 = load i64, i64* %len, align 8 + %302 = load i64, i64* %buffersize.addr, align 8 + %cmp605 = icmp ult i64 %301, %302 + br i1 %cmp605, label %if.then607, label %if.end609 + +if.then607: ; preds = %if.end600 + %303 = load i8*, i8** %buffer.addr, align 8 + %304 = load i64, i64* %len, align 8 + %arrayidx608 = getelementptr inbounds i8, i8* %303, i64 %304 + store i8 36, i8* %arrayidx608, align 1 + br label %if.end609 + +if.end609: ; preds = %if.then607, %if.end600 + %305 = load i64, i64* %len, align 8 + %inc610 = add i64 %305, 1 + store i64 %inc610, i64* %len, align 8 + %306 = load i64, i64* %len, align 8 + %307 = load i64, i64* %buffersize.addr, align 8 + %cmp614 = icmp ult i64 %306, %307 + br i1 %cmp614, label %if.then616, label %if.end618 + +if.then616: ; preds = %if.end609 + %308 = load i8*, i8** %buffer.addr, align 8 + %309 = load i64, i64* %len, align 8 + %arrayidx617 = getelementptr inbounds i8, i8* %308, i64 %309 + store i8 39, i8* %arrayidx617, align 1 + br label %if.end618 + +if.end618: ; preds = %if.then616, %if.end609 + %310 = load i64, i64* %len, align 8 + %inc619 = add i64 %310, 1 + store i64 %inc619, i64* %len, align 8 + store i8 1, i8* %pending_shell_escape_end, align 1 + br label %do.body623 + +do.body623: ; preds = %if.end589, %land.lhs.true592, %if.end618 + %311 = load i64, i64* %len, align 8 + %312 = load i64, i64* %buffersize.addr, align 8 + %cmp624 = icmp ult i64 %311, %312 + br i1 %cmp624, label %if.then626, label %if.end628 + +if.then626: ; preds = %do.body623 + %313 = load i8*, i8** %buffer.addr, align 8 + %314 = load i64, i64* %len, align 8 + %arrayidx627 = getelementptr inbounds i8, i8* %313, i64 %314 + store i8 92, i8* %arrayidx627, align 1 + br label %if.end628 + +if.end628: ; preds = %if.then626, %do.body623 + %315 = load i64, i64* %len, align 8 + %inc629 = add i64 %315, 1 + store i64 %inc629, i64* %len, align 8 + br label %do.body634 + +do.body634: ; preds = %if.end628, %if.then246, %land.lhs.true253, %if.end518, %land.lhs.true582 + %316 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool635 = trunc i8 %316 to i1 + br i1 %tobool635, label %land.lhs.true637, label %do.body661 + +land.lhs.true637: ; preds = %do.body634 + %317 = load i8, i8* %escaping, align 1 + %tobool638 = trunc i8 %317 to i1 + br i1 %tobool638, label %do.body661, label %do.body640 + +do.body640: ; preds = %land.lhs.true637 + %318 = load i64, i64* %len, align 8 + %319 = load i64, i64* %buffersize.addr, align 8 + %cmp641 = icmp ult i64 %318, %319 + br i1 %cmp641, label %if.then643, label %if.end645 + +if.then643: ; preds = %do.body640 + %320 = load i8*, i8** %buffer.addr, align 8 + %321 = load i64, i64* %len, align 8 + %arrayidx644 = getelementptr inbounds i8, i8* %320, i64 %321 + store i8 39, i8* %arrayidx644, align 1 + br label %if.end645 + +if.end645: ; preds = %if.then643, %do.body640 + %322 = load i64, i64* %len, align 8 + %inc646 = add i64 %322, 1 + store i64 %inc646, i64* %len, align 8 + %323 = load i64, i64* %len, align 8 + %324 = load i64, i64* %buffersize.addr, align 8 + %cmp650 = icmp ult i64 %323, %324 + br i1 %cmp650, label %if.then652, label %if.end654 + +if.then652: ; preds = %if.end645 + %325 = load i8*, i8** %buffer.addr, align 8 + %326 = load i64, i64* %len, align 8 + %arrayidx653 = getelementptr inbounds i8, i8* %325, i64 %326 + store i8 39, i8* %arrayidx653, align 1 + br label %if.end654 + +if.end654: ; preds = %if.then652, %if.end645 + %327 = load i64, i64* %len, align 8 + %inc655 = add i64 %327, 1 + store i64 %inc655, i64* %len, align 8 + store i8 0, i8* %pending_shell_escape_end, align 1 + br label %do.body661 + +do.body661: ; preds = %if.end654, %land.lhs.true637, %do.body634 + %328 = load i64, i64* %len, align 8 + %329 = load i64, i64* %buffersize.addr, align 8 + %cmp662 = icmp ult i64 %328, %329 + br i1 %cmp662, label %if.then664, label %if.end666 + +if.then664: ; preds = %do.body661 + %330 = load i8, i8* %c, align 1 + %331 = load i8*, i8** %buffer.addr, align 8 + %332 = load i64, i64* %len, align 8 + %arrayidx665 = getelementptr inbounds i8, i8* %331, i64 %332 + store i8 %330, i8* %arrayidx665, align 1 + br label %if.end666 + +if.end666: ; preds = %if.then664, %do.body661 + %333 = load i64, i64* %len, align 8 + %inc667 = add i64 %333, 1 + store i64 %inc667, i64* %len, align 8 + %334 = load i8, i8* %c_and_shell_quote_compat, align 1 + %tobool670 = trunc i8 %334 to i1 + br i1 %tobool670, label %for.inc673, label %if.then671 + +if.then671: ; preds = %if.end666 + store i8 0, i8* %all_c_and_shell_quote_compat, align 1 + br label %for.inc673 + +for.inc673: ; preds = %if.end666, %if.then671, %if.else + %335 = load i64, i64* %i, align 8 + %inc674 = add i64 %335, 1 + store i64 %inc674, i64* %i, align 8 + br label %for.cond44 + +for.end675: ; preds = %cond.end + %336 = load i64, i64* %len, align 8 + %cmp676 = icmp eq i64 %336, 0 + %337 = load i32, i32* %quoting_style.addr, align 4 + %cmp679 = icmp eq i32 %337, 2 + %or.cond7 = and i1 %cmp676, %cmp679 + br i1 %or.cond7, label %land.lhs.true681, label %if.end685 + +land.lhs.true681: ; preds = %for.end675 + %338 = load i8, i8* %elide_outer_quotes, align 1 + %tobool682 = trunc i8 %338 to i1 + br i1 %tobool682, label %force_outer_quoting_style, label %if.end685 + +if.end685: ; preds = %land.lhs.true681, %for.end675 + %339 = load i32, i32* %quoting_style.addr, align 4 + %cmp686 = icmp eq i32 %339, 2 + br i1 %cmp686, label %land.lhs.true688, label %if.end704 + +land.lhs.true688: ; preds = %if.end685 + %340 = load i8, i8* %elide_outer_quotes, align 1 + %tobool689 = trunc i8 %340 to i1 + br i1 %tobool689, label %if.end704, label %land.lhs.true690 + +land.lhs.true690: ; preds = %land.lhs.true688 + %341 = load i8, i8* %encountered_single_quote, align 1 + %tobool691 = trunc i8 %341 to i1 + br i1 %tobool691, label %if.then693, label %if.end704 + +if.then693: ; preds = %land.lhs.true690 + %342 = load i8, i8* %all_c_and_shell_quote_compat, align 1 + %tobool694 = trunc i8 %342 to i1 + br i1 %tobool694, label %if.then695, label %if.else697 + +if.then695: ; preds = %if.then693 + %343 = load i8*, i8** %buffer.addr, align 8 + %344 = load i64, i64* %orig_buffersize, align 8 + %345 = load i8*, i8** %arg.addr, align 8 + %346 = load i64, i64* %argsize.addr, align 8 + %347 = load i32, i32* %flags.addr, align 4 + %348 = load i32*, i32** %quote_these_too.addr, align 8 + %349 = load i8*, i8** %left_quote.addr, align 8 + %350 = load i8*, i8** %right_quote.addr, align 8 + %call696 = call i64 @quotearg_buffer_restyled(i8* %343, i64 %344, i8* %345, i64 %346, i32 5, i32 %347, i32* %348, i8* %349, i8* %350) + store i64 %call696, i64* %retval, align 8 + br label %return + +if.else697: ; preds = %if.then693 + %351 = load i64, i64* %buffersize.addr, align 8 + %tobool698 = icmp eq i64 %351, 0 + %352 = load i64, i64* %orig_buffersize, align 8 + %tobool700 = icmp ne i64 %352, 0 + %or.cond8 = and i1 %tobool698, %tobool700 + br i1 %or.cond8, label %if.then701, label %if.end704 + +if.then701: ; preds = %if.else697 + %353 = load i64, i64* %orig_buffersize, align 8 + store i64 %353, i64* %buffersize.addr, align 8 + store i64 0, i64* %len, align 8 + br label %process_input + +if.end704: ; preds = %if.else697, %land.lhs.true690, %land.lhs.true688, %if.end685 + %354 = load i8*, i8** %quote_string, align 8 + %tobool705 = icmp ne i8* %354, null + br i1 %tobool705, label %land.lhs.true706, label %if.end724 + +land.lhs.true706: ; preds = %if.end704 + %355 = load i8, i8* %elide_outer_quotes, align 1 + %tobool707 = trunc i8 %355 to i1 + br i1 %tobool707, label %if.end724, label %for.cond709 + +for.cond709: ; preds = %land.lhs.true706, %if.end717 + %356 = load i8*, i8** %quote_string, align 8 + %357 = load i8, i8* %356, align 1 + %tobool710 = icmp ne i8 %357, 0 + br i1 %tobool710, label %do.body712, label %if.end724 + +do.body712: ; preds = %for.cond709 + %358 = load i64, i64* %len, align 8 + %359 = load i64, i64* %buffersize.addr, align 8 + %cmp713 = icmp ult i64 %358, %359 + br i1 %cmp713, label %if.then715, label %if.end717 + +if.then715: ; preds = %do.body712 + %360 = load i8*, i8** %quote_string, align 8 + %361 = load i8, i8* %360, align 1 + %362 = load i8*, i8** %buffer.addr, align 8 + %363 = load i64, i64* %len, align 8 + %arrayidx716 = getelementptr inbounds i8, i8* %362, i64 %363 + store i8 %361, i8* %arrayidx716, align 1 + br label %if.end717 + +if.end717: ; preds = %if.then715, %do.body712 + %364 = load i64, i64* %len, align 8 + %inc718 = add i64 %364, 1 + store i64 %inc718, i64* %len, align 8 + %365 = load i8*, i8** %quote_string, align 8 + %incdec.ptr722 = getelementptr inbounds i8, i8* %365, i32 1 + store i8* %incdec.ptr722, i8** %quote_string, align 8 + br label %for.cond709 + +if.end724: ; preds = %for.cond709, %land.lhs.true706, %if.end704 + %366 = load i64, i64* %len, align 8 + %367 = load i64, i64* %buffersize.addr, align 8 + %cmp725 = icmp ult i64 %366, %367 + br i1 %cmp725, label %if.then727, label %if.end729 + +if.then727: ; preds = %if.end724 + %368 = load i8*, i8** %buffer.addr, align 8 + %369 = load i64, i64* %len, align 8 + %arrayidx728 = getelementptr inbounds i8, i8* %368, i64 %369 + store i8 0, i8* %arrayidx728, align 1 + br label %if.end729 + +if.end729: ; preds = %if.then727, %if.end724 + %370 = load i64, i64* %len, align 8 + store i64 %370, i64* %retval, align 8 + br label %return + +force_outer_quoting_style: ; preds = %NodeBlock267, %NodeBlock265, %NodeBlock263, %NodeBlock261, %NodeBlock259, %land.lhs.true681, %do.body586, %do.body427, %if.then300, %land.lhs.true292, %land.lhs.true262, %if.then246, %sw.bb192, %sw.bb171, %do.body86, %if.then76 + %371 = load i32, i32* %quoting_style.addr, align 4 + %cmp730 = icmp eq i32 %371, 2 + br i1 %cmp730, label %land.lhs.true732, label %if.end736 + +land.lhs.true732: ; preds = %force_outer_quoting_style + %372 = load i8, i8* %backslash_escapes, align 1 + %tobool733 = trunc i8 %372 to i1 + br i1 %tobool733, label %if.then735, label %if.end736 + +if.then735: ; preds = %land.lhs.true732 + store i32 4, i32* %quoting_style.addr, align 4 + br label %if.end736 + +if.end736: ; preds = %if.then735, %land.lhs.true732, %force_outer_quoting_style + %373 = load i8*, i8** %buffer.addr, align 8 + %374 = load i64, i64* %buffersize.addr, align 8 + %375 = load i8*, i8** %arg.addr, align 8 + %376 = load i64, i64* %argsize.addr, align 8 + %377 = load i32, i32* %quoting_style.addr, align 4 + %378 = load i32, i32* %flags.addr, align 4 + %and737 = and i32 %378, -3 + %379 = load i8*, i8** %left_quote.addr, align 8 + %380 = load i8*, i8** %right_quote.addr, align 8 + %call738 = call i64 @quotearg_buffer_restyled(i8* %373, i64 %374, i8* %375, i64 %376, i32 %377, i32 %and737, i32* null, i8* %379, i8* %380) + store i64 %call738, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end736, %if.end729, %if.then695 + %381 = load i64, i64* %retval, align 8 + ret i64 %381 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xcharalloc(i64 %n) #3 { +entry: + %n.addr = alloca i64, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @xmalloc(i64 %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xmalloc(i64 %n) #3 { +entry: + %n.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @malloc(i64 %0) #11 + store i8* %call, i8** %p, align 8 + %1 = load i8*, i8** %p, align 8 + %tobool = icmp eq i8* %1, null + %2 = load i64, i64* %n.addr, align 8 + %cmp = icmp ne i64 %2, 0 + %or.cond = and i1 %tobool, %cmp + br i1 %or.cond, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %entry + %3 = load i8*, i8** %p, align 8 + ret i8* %3 +} + +; Function Attrs: nounwind +declare dso_local i64 @__ctype_get_mb_cur_max() #4 + +; Function Attrs: noinline nounwind uwtable +define internal i8* @gettext_quote(i8* %msgid, i32 %s) #3 { +entry: + %retval = alloca i8*, align 8 + %msgid.addr = alloca i8*, align 8 + %s.addr = alloca i32, align 4 + %translation = alloca i8*, align 8 + %locale_code = alloca i8*, align 8 + store i8* %msgid, i8** %msgid.addr, align 8 + store i32 %s, i32* %s.addr, align 4 + %0 = load i8*, i8** %msgid.addr, align 8 + store i8* %0, i8** %translation, align 8 + %1 = load i8*, i8** %translation, align 8 + %2 = load i8*, i8** %msgid.addr, align 8 + %cmp = icmp ne i8* %1, %2 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %3 = load i8*, i8** %translation, align 8 + store i8* %3, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %call = call i8* @locale_charset() + store i8* %call, i8** %locale_code, align 8 + %4 = load i8*, i8** %locale_code, align 8 + %call1 = call i32 @c_strcasecmp(i8* %4, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.13.102, i64 0, i64 0)) #23 + %cmp2 = icmp eq i32 %call1, 0 + br i1 %cmp2, label %if.then3, label %if.end6 + +if.then3: ; preds = %if.end + %5 = load i8*, i8** %msgid.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 0 + %6 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %6 to i32 + %cmp4 = icmp eq i32 %conv, 96 + %7 = zext i1 %cmp4 to i64 + %cond = select i1 %cmp4, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.14.103, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.15.104, i64 0, i64 0) + store i8* %cond, i8** %retval, align 8 + br label %return + +if.end6: ; preds = %if.end + %8 = load i8*, i8** %locale_code, align 8 + %call7 = call i32 @c_strcasecmp(i8* %8, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.16.105, i64 0, i64 0)) #23 + %cmp8 = icmp eq i32 %call7, 0 + br i1 %cmp8, label %if.then10, label %if.end16 + +if.then10: ; preds = %if.end6 + %9 = load i8*, i8** %msgid.addr, align 8 + %arrayidx11 = getelementptr inbounds i8, i8* %9, i64 0 + %10 = load i8, i8* %arrayidx11, align 1 + %conv12 = sext i8 %10 to i32 + %cmp13 = icmp eq i32 %conv12, 96 + %11 = zext i1 %cmp13 to i64 + %cond15 = select i1 %cmp13, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.17.106, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.18.107, i64 0, i64 0) + store i8* %cond15, i8** %retval, align 8 + br label %return + +if.end16: ; preds = %if.end6 + %12 = load i32, i32* %s.addr, align 4 + %cmp17 = icmp eq i32 %12, 9 + %13 = zext i1 %cmp17 to i64 + %cond19 = select i1 %cmp17, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10.99, i64 0, i64 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.101, i64 0, i64 0) + store i8* %cond19, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end16, %if.then10, %if.then3, %if.then + %14 = load i8*, i8** %retval, align 8 + ret i8* %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @rpl_mbrtowc(i32* %pwc, i8* %s, i64 %n, %struct.__mbstate_t* %ps) #3 { +entry: + %retval = alloca i64, align 8 + %pwc.addr = alloca i32*, align 8 + %s.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t*, align 8 + %ret = alloca i64, align 8 + %wc = alloca i32, align 4 + %uc = alloca i8, align 1 + store i32* %pwc, i32** %pwc.addr, align 8 + store i8* %s, i8** %s.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__mbstate_t* %ps, %struct.__mbstate_t** %ps.addr, align 8 + %0 = load i32*, i32** %pwc.addr, align 8 + %tobool = icmp ne i32* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i32* %wc, i32** %pwc.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i32*, i32** %pwc.addr, align 8 + %2 = load i8*, i8** %s.addr, align 8 + %3 = load i64, i64* %n.addr, align 8 + %4 = load %struct.__mbstate_t*, %struct.__mbstate_t** %ps.addr, align 8 + %call = call i64 bitcast (i64 (i32*, i8*, i64, %struct.__mbstate_t.512*)* @mbrtowc to i64 (i32*, i8*, i64, %struct.__mbstate_t*)*)(i32* %1, i8* %2, i64 %3, %struct.__mbstate_t* %4) #11 + store i64 %call, i64* %ret, align 8 + %5 = load i64, i64* %ret, align 8 + %cmp = icmp ule i64 -2, %5 + %6 = load i64, i64* %n.addr, align 8 + %cmp1 = icmp ne i64 %6, 0 + %or.cond = and i1 %cmp, %cmp1 + br i1 %or.cond, label %land.lhs.true2, label %if.end5 + +land.lhs.true2: ; preds = %if.end + %call3 = call zeroext i1 @hard_locale(i32 0) + br i1 %call3, label %if.end5, label %if.then4 + +if.then4: ; preds = %land.lhs.true2 + %7 = load i8*, i8** %s.addr, align 8 + %8 = load i8, i8* %7, align 1 + store i8 %8, i8* %uc, align 1 + %9 = load i8, i8* %uc, align 1 + %conv = zext i8 %9 to i32 + %10 = load i32*, i32** %pwc.addr, align 8 + store i32 %conv, i32* %10, align 4 + store i64 1, i64* %retval, align 8 + br label %return + +if.end5: ; preds = %land.lhs.true2, %if.end + %11 = load i64, i64* %ret, align 8 + store i64 %11, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end5, %if.then4 + %12 = load i64, i64* %retval, align 8 + ret i64 %12 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @locale_charset() #3 { +entry: + %codeset = alloca i8*, align 8 + %call = call i8* @nl_langinfo(i32 14) #11 + store i8* %call, i8** %codeset, align 8 + %0 = load i8*, i8** %codeset, align 8 + %cmp = icmp eq i8* %0, null + %spec.store.select = select i1 %cmp, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.196, i64 0, i64 0), i8* %call + store i8* %spec.store.select, i8** %codeset, align 8 + %1 = load i8*, i8** %codeset, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %2 to i32 + %cmp1 = icmp eq i32 %conv, 0 + %spec.store.select1 = select i1 %cmp1, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1.197, i64 0, i64 0), i8* %spec.store.select + store i8* %spec.store.select1, i8** %codeset, align 8 + %3 = load i8*, i8** %codeset, align 8 + ret i8* %3 +} + +; Function Attrs: noinline nounwind readonly uwtable +define dso_local i32 @c_strcasecmp(i8* %s1, i8* %s2) #15 { +entry: + %retval = alloca i32, align 4 + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %p1 = alloca i8*, align 8 + %p2 = alloca i8*, align 8 + %c1 = alloca i8, align 1 + %c2 = alloca i8, align 1 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %p1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %p2, align 8 + %2 = load i8*, i8** %p1, align 8 + %3 = load i8*, i8** %p2, align 8 + %cmp = icmp eq i8* %2, %3 + br i1 %cmp, label %if.then, label %do.body + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +do.body: ; preds = %entry, %if.end9 + %4 = load i8*, i8** %p1, align 8 + %5 = load i8, i8* %4, align 1 + %conv = zext i8 %5 to i32 + %call = call i32 @c_tolower(i32 %conv) + %conv1 = trunc i32 %call to i8 + store i8 %conv1, i8* %c1, align 1 + %6 = load i8*, i8** %p2, align 8 + %7 = load i8, i8* %6, align 1 + %conv2 = zext i8 %7 to i32 + %call3 = call i32 @c_tolower(i32 %conv2) + %conv4 = trunc i32 %call3 to i8 + store i8 %conv4, i8* %c2, align 1 + %8 = load i8, i8* %c1, align 1 + %conv5 = zext i8 %8 to i32 + %cmp6 = icmp eq i32 %conv5, 0 + br i1 %cmp6, label %do.end, label %if.end9 + +if.end9: ; preds = %do.body + %9 = load i8*, i8** %p1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %p1, align 8 + %10 = load i8*, i8** %p2, align 8 + %incdec.ptr10 = getelementptr inbounds i8, i8* %10, i32 1 + store i8* %incdec.ptr10, i8** %p2, align 8 + %11 = load i8, i8* %c1, align 1 + %conv11 = zext i8 %11 to i32 + %12 = load i8, i8* %c2, align 1 + %conv12 = zext i8 %12 to i32 + %cmp13 = icmp eq i32 %conv11, %conv12 + br i1 %cmp13, label %do.body, label %do.end + +do.end: ; preds = %do.body, %if.end9 + %13 = load i8, i8* %c1, align 1 + %conv15 = zext i8 %13 to i32 + %14 = load i8, i8* %c2, align 1 + %conv16 = zext i8 %14 to i32 + %sub = sub nsw i32 %conv15, %conv16 + store i32 %sub, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end, %if.then + %15 = load i32, i32* %retval, align 4 + ret i32 %15 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @c_tolower(i32 %c) #3 { +entry: + %retval = alloca i32, align 4 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -65 + %switch = icmp ult i32 %.off, 26 + %1 = load i32, i32* %c.addr, align 4 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + %sub = sub nsw i32 %1, 65 + %add = add nsw i32 %sub, 97 + store i32 %add, i32* %retval, align 4 + br label %return + +sw.default: ; preds = %entry + store i32 %1, i32* %retval, align 4 + br label %return + +return: ; preds = %sw.default, %sw.bb + %2 = load i32, i32* %retval, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @strcoll_loop(i8* %s1, i64 %s1size, i8* %s2, i64 %s2size) #3 { +entry: + %retval = alloca i32, align 4 + %s1.addr = alloca i8*, align 8 + %s1size.addr = alloca i64, align 8 + %s2.addr = alloca i8*, align 8 + %s2size.addr = alloca i64, align 8 + %diff = alloca i32, align 4 + %size1 = alloca i64, align 8 + %size2 = alloca i64, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i64 %s1size, i64* %s1size.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %s2size, i64* %s2size.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %call = call i32* @__errno_location() #25 + store i32 0, i32* %call, align 4 + %0 = load i8*, i8** %s1.addr, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + %call1 = call i32 @strcoll(i8* %0, i8* %1) #23 + store i32 %call1, i32* %diff, align 4 + %tobool = icmp ne i32 %call1, 0 + br i1 %tobool, label %lor.end, label %lor.rhs + +lor.rhs: ; preds = %while.cond + %call2 = call i32* @__errno_location() #25 + %2 = load i32, i32* %call2, align 4 + %tobool3 = icmp ne i32 %2, 0 + br label %lor.end + +lor.end: ; preds = %lor.rhs, %while.cond + %3 = phi i1 [ true, %while.cond ], [ %tobool3, %lor.rhs ] + %lnot = xor i1 %3, true + br i1 %lnot, label %while.body, label %while.end + +while.body: ; preds = %lor.end + %4 = load i8*, i8** %s1.addr, align 8 + %call4 = call i64 @strlen(i8* %4) #23 + %add = add i64 %call4, 1 + store i64 %add, i64* %size1, align 8 + %5 = load i8*, i8** %s2.addr, align 8 + %call5 = call i64 @strlen(i8* %5) #23 + %add6 = add i64 %call5, 1 + store i64 %add6, i64* %size2, align 8 + %6 = load i64, i64* %size1, align 8 + %7 = load i8*, i8** %s1.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %7, i64 %6 + store i8* %add.ptr, i8** %s1.addr, align 8 + %8 = load i64, i64* %size2, align 8 + %9 = load i8*, i8** %s2.addr, align 8 + %add.ptr7 = getelementptr inbounds i8, i8* %9, i64 %8 + store i8* %add.ptr7, i8** %s2.addr, align 8 + %10 = load i64, i64* %size1, align 8 + %11 = load i64, i64* %s1size.addr, align 8 + %sub = sub i64 %11, %10 + store i64 %sub, i64* %s1size.addr, align 8 + %12 = load i64, i64* %size2, align 8 + %13 = load i64, i64* %s2size.addr, align 8 + %sub8 = sub i64 %13, %12 + store i64 %sub8, i64* %s2size.addr, align 8 + %14 = load i64, i64* %s1size.addr, align 8 + %cmp = icmp eq i64 %14, 0 + %15 = load i64, i64* %s2size.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + %cmp9 = icmp ne i64 %15, 0 + %conv = zext i1 %cmp9 to i32 + %sub10 = sub nsw i32 0, %conv + store i32 %sub10, i32* %retval, align 4 + br label %return + +if.end: ; preds = %while.body + %cmp11 = icmp eq i64 %15, 0 + br i1 %cmp11, label %if.then13, label %while.cond + +if.then13: ; preds = %if.end + store i32 1, i32* %retval, align 4 + br label %return + +while.end: ; preds = %lor.end + %16 = load i32, i32* %diff, align 4 + store i32 %16, i32* %retval, align 4 + br label %return + +return: ; preds = %while.end, %if.then13, %if.then + %17 = load i32, i32* %retval, align 4 + ret i32 %17 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @prfield(i64 %n, %struct.line* %line) #3 { +entry: + %n.addr = alloca i64, align 8 + %line.addr = alloca %struct.line*, align 8 + %len = alloca i64, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.line* %line, %struct.line** %line.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %1 = load %struct.line*, %struct.line** %line.addr, align 8 + %nfields = getelementptr inbounds %struct.line, %struct.line* %1, i32 0, i32 1 + %2 = load i64, i64* %nfields, align 8 + %cmp = icmp ult i64 %0, %2 + br i1 %cmp, label %if.then, label %if.else9 + +if.then: ; preds = %entry + %3 = load %struct.line*, %struct.line** %line.addr, align 8 + %fields = getelementptr inbounds %struct.line, %struct.line* %3, i32 0, i32 3 + %4 = load %struct.field*, %struct.field** %fields, align 8 + %5 = load i64, i64* %n.addr, align 8 + %arrayidx = getelementptr inbounds %struct.field, %struct.field* %4, i64 %5 + %len1 = getelementptr inbounds %struct.field, %struct.field* %arrayidx, i32 0, i32 1 + %6 = load i64, i64* %len1, align 8 + store i64 %6, i64* %len, align 8 + %7 = load i64, i64* %len, align 8 + %tobool = icmp ne i64 %7, 0 + br i1 %tobool, label %if.then2, label %if.else + +if.then2: ; preds = %if.then + %8 = load %struct.line*, %struct.line** %line.addr, align 8 + %fields3 = getelementptr inbounds %struct.line, %struct.line* %8, i32 0, i32 3 + %9 = load %struct.field*, %struct.field** %fields3, align 8 + %10 = load i64, i64* %n.addr, align 8 + %arrayidx4 = getelementptr inbounds %struct.field, %struct.field* %9, i64 %10 + %beg = getelementptr inbounds %struct.field, %struct.field* %arrayidx4, i32 0, i32 0 + %11 = load i8*, i8** %beg, align 8 + %12 = load i64, i64* %len, align 8 + %13 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call = call i64 bitcast (i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*)* @fwrite_unlocked to i64 (i8*, i64, i64, %struct._IO_FILE*)*)(i8* %11, i64 1, i64 %12, %struct._IO_FILE* %13) + br label %if.end14 + +if.else: ; preds = %if.then + %14 = load i8*, i8** @empty_filler, align 8 + %tobool5 = icmp ne i8* %14, null + br i1 %tobool5, label %if.then6, label %if.end14 + +if.then6: ; preds = %if.else + %15 = load i8*, i8** @empty_filler, align 8 + %16 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call7 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* %15, %struct._IO_FILE* %16) + br label %if.end14 + +if.else9: ; preds = %entry + %17 = load i8*, i8** @empty_filler, align 8 + %tobool10 = icmp ne i8* %17, null + br i1 %tobool10, label %if.then11, label %if.end14 + +if.then11: ; preds = %if.else9 + %18 = load i8*, i8** @empty_filler, align 8 + %19 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call12 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* %18, %struct._IO_FILE* %19) + br label %if.end14 + +if.end14: ; preds = %if.else9, %if.then11, %if.then2, %if.then6, %if.else + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @prfields(%struct.line* %line, i64 %join_field, i64 %autocount) #3 { +entry: + %line.addr = alloca %struct.line*, align 8 + %join_field.addr = alloca i64, align 8 + %autocount.addr = alloca i64, align 8 + %i = alloca i64, align 8 + %nfields = alloca i64, align 8 + %output_separator = alloca i8, align 1 + store %struct.line* %line, %struct.line** %line.addr, align 8 + store i64 %join_field, i64* %join_field.addr, align 8 + store i64 %autocount, i64* %autocount.addr, align 8 + %0 = load i8, i8* @autoformat, align 1 + %tobool = trunc i8 %0 to i1 + br i1 %tobool, label %cond.true, label %cond.false + +cond.true: ; preds = %entry + %1 = load i64, i64* %autocount.addr, align 8 + br label %cond.end + +cond.false: ; preds = %entry + %2 = load %struct.line*, %struct.line** %line.addr, align 8 + %nfields1 = getelementptr inbounds %struct.line, %struct.line* %2, i32 0, i32 1 + %3 = load i64, i64* %nfields1, align 8 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i64 [ %1, %cond.true ], [ %3, %cond.false ] + store i64 %cond, i64* %nfields, align 8 + %4 = load i32, i32* @tab, align 4 + %cmp = icmp slt i32 %4, 0 + %5 = load i32, i32* @tab, align 4 + %cond5 = select i1 %cmp, i32 32, i32 %5 + %conv = trunc i32 %cond5 to i8 + store i8 %conv, i8* %output_separator, align 1 + store i64 0, i64* %i, align 8 + br label %for.cond + +for.cond: ; preds = %for.body, %cond.end + %6 = load i64, i64* %i, align 8 + %7 = load i64, i64* %join_field.addr, align 8 + %cmp6 = icmp ult i64 %6, %7 + %8 = load i64, i64* %i, align 8 + %9 = load i64, i64* %nfields, align 8 + %cmp8 = icmp ult i64 %8, %9 + %10 = select i1 %cmp6, i1 %cmp8, i1 false + br i1 %10, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %11 = load i8, i8* %output_separator, align 1 + %conv10 = sext i8 %11 to i32 + %call = call i32 @putchar_unlocked(i32 %conv10) + %12 = load i64, i64* %i, align 8 + %13 = load %struct.line*, %struct.line** %line.addr, align 8 + call void @prfield(i64 %12, %struct.line* %13) + %14 = load i64, i64* %i, align 8 + %inc = add i64 %14, 1 + store i64 %inc, i64* %i, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %15 = load i64, i64* %join_field.addr, align 8 + %add = add i64 %15, 1 + store i64 %add, i64* %i, align 8 + br label %for.cond11 + +for.cond11: ; preds = %for.body14, %for.end + %16 = load i64, i64* %i, align 8 + %17 = load i64, i64* %nfields, align 8 + %cmp12 = icmp ult i64 %16, %17 + br i1 %cmp12, label %for.body14, label %for.end19 + +for.body14: ; preds = %for.cond11 + %18 = load i8, i8* %output_separator, align 1 + %conv15 = sext i8 %18 to i32 + %call16 = call i32 @putchar_unlocked(i32 %conv15) + %19 = load i64, i64* %i, align 8 + %20 = load %struct.line*, %struct.line** %line.addr, align 8 + call void @prfield(i64 %19, %struct.line* %20) + %21 = load i64, i64* %i, align 8 + %inc18 = add i64 %21, 1 + store i64 %inc18, i64* %i, align 8 + br label %for.cond11 + +for.end19: ; preds = %for.cond11 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @fdadvise(i32 %fd, i64 %offset, i64 %len, i32 %advice) #3 { +entry: + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %advice.addr = alloca i32, align 4 + %__x = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store i32 %advice, i32* %advice.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %offset.addr, align 8 + %2 = load i64, i64* %len.addr, align 8 + %3 = load i32, i32* %advice.addr, align 4 + %call = call i32 @posix_fadvise(i32 %0, i64 %1, i64 %2, i32 %3) #11 + store i32 %call, i32* %__x, align 4 + %4 = load i32, i32* %__x, align 4 + ret void +} + +; Function Attrs: nounwind +declare dso_local i32 @posix_fadvise(i32, i64, i64, i32) #4 + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @set_char_quoting(%struct.quoting_options* %o, i8 signext %c, i32 %i) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %c.addr = alloca i8, align 1 + %i.addr = alloca i32, align 4 + %uc = alloca i8, align 1 + %p = alloca i32*, align 8 + %shift = alloca i32, align 4 + %r = alloca i32, align 4 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i8 %c, i8* %c.addr, align 1 + store i32 %i, i32* %i.addr, align 4 + %0 = load i8, i8* %c.addr, align 1 + store i8 %0, i8* %uc, align 1 + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %1, null + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %2, %struct.quoting_options* @default_quoting_options + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %cond, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %3 = load i8, i8* %uc, align 1 + %conv = zext i8 %3 to i64 + %div = udiv i64 %conv, 32 + %add.ptr = getelementptr inbounds i32, i32* %arraydecay, i64 %div + store i32* %add.ptr, i32** %p, align 8 + %4 = load i8, i8* %uc, align 1 + %conv1 = zext i8 %4 to i64 + %rem = urem i64 %conv1, 32 + %conv2 = trunc i64 %rem to i32 + store i32 %conv2, i32* %shift, align 4 + %5 = load i32*, i32** %p, align 8 + %6 = load i32, i32* %5, align 4 + %7 = load i32, i32* %shift, align 4 + %shr = lshr i32 %6, %7 + %and = and i32 %shr, 1 + store i32 %and, i32* %r, align 4 + %8 = load i32, i32* %i.addr, align 4 + %and3 = and i32 %8, 1 + %9 = load i32, i32* %r, align 4 + %xor = xor i32 %and3, %9 + %10 = load i32, i32* %shift, align 4 + %shl = shl i32 %xor, %10 + %11 = load i32*, i32** %p, align 8 + %12 = load i32, i32* %11, align 4 + %xor4 = xor i32 %12, %shl + store i32 %xor4, i32* %11, align 4 + %13 = load i32, i32* %r, align 4 + ret i32 %13 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @dup_safer(i32 %fd) #3 { +entry: + %fd.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 (i32, i32, ...) @rpl_fcntl(i32 %0, i32 0, i32 3) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fcntl(i32 %fd, i32 %action, ...) #3 { +entry: + %fd.addr = alloca i32, align 4 + %action.addr = alloca i32, align 4 + %arg = alloca [1 x %struct.__va_list_tag.0], align 16 + %result = alloca i32, align 4 + %target = alloca i32, align 4 + %target4 = alloca i32, align 4 + %x = alloca i32, align 4 + %p = alloca i8*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %action, i32* %action.addr, align 4 + store i32 -1, i32* %result, align 4 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load i32, i32* %action.addr, align 4 + br label %NodeBlock1 + +NodeBlock1: ; preds = %entry + %case.cmp2 = icmp eq i32 %0, 0 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 1030 + br i1 %case.cmp, label %sw.bb3, label %newDefault + +sw.bb: ; preds = %NodeBlock1 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %sw.bb + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %sw.bb + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %target, align 4 + %7 = load i32, i32* %fd.addr, align 4 + %8 = load i32, i32* %target, align 4 + %call = call i32 @rpl_fcntl_DUPFD(i32 %7, i32 %8) + store i32 %call, i32* %result, align 4 + br label %sw.epilog48 + +sw.bb3: ; preds = %NodeBlock + %arraydecay5 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %gp_offset_p6 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay5, i32 0, i32 0 + %gp_offset7 = load i32, i32* %gp_offset_p6, align 16 + %fits_in_gp8 = icmp ule i32 %gp_offset7, 40 + br i1 %fits_in_gp8, label %vaarg.in_reg9, label %vaarg.in_mem11 + +vaarg.in_reg9: ; preds = %sw.bb3 + %9 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay5, i32 0, i32 3 + %reg_save_area10 = load i8*, i8** %9, align 16 + %10 = getelementptr i8, i8* %reg_save_area10, i32 %gp_offset7 + %11 = bitcast i8* %10 to i32* + %12 = add i32 %gp_offset7, 8 + store i32 %12, i32* %gp_offset_p6, align 16 + br label %vaarg.end15 + +vaarg.in_mem11: ; preds = %sw.bb3 + %overflow_arg_area_p12 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay5, i32 0, i32 2 + %overflow_arg_area13 = load i8*, i8** %overflow_arg_area_p12, align 8 + %13 = bitcast i8* %overflow_arg_area13 to i32* + %overflow_arg_area.next14 = getelementptr i8, i8* %overflow_arg_area13, i32 8 + store i8* %overflow_arg_area.next14, i8** %overflow_arg_area_p12, align 8 + br label %vaarg.end15 + +vaarg.end15: ; preds = %vaarg.in_mem11, %vaarg.in_reg9 + %vaarg.addr16 = phi i32* [ %11, %vaarg.in_reg9 ], [ %13, %vaarg.in_mem11 ] + %14 = load i32, i32* %vaarg.addr16, align 4 + store i32 %14, i32* %target4, align 4 + %15 = load i32, i32* %fd.addr, align 4 + %16 = load i32, i32* %target4, align 4 + %call17 = call i32 @rpl_fcntl_DUPFD_CLOEXEC(i32 %15, i32 %16) + store i32 %call17, i32* %result, align 4 + br label %sw.epilog48 + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + %17 = load i32, i32* %action.addr, align 4 + br label %NodeBlock36 + +NodeBlock36: ; preds = %sw.default + %case.cmp37 = icmp eq i32 %17, 1 + br i1 %case.cmp37, label %sw.bb18, label %NodeBlock34 + +NodeBlock34: ; preds = %NodeBlock36 + %case.cmp35 = icmp eq i32 %17, 3 + br i1 %case.cmp35, label %sw.bb18, label %NodeBlock32 + +NodeBlock32: ; preds = %NodeBlock34 + %case.cmp33 = icmp eq i32 %17, 1025 + br i1 %case.cmp33, label %sw.bb18, label %NodeBlock30 + +NodeBlock30: ; preds = %NodeBlock32 + %case.cmp31 = icmp eq i32 %17, 9 + br i1 %case.cmp31, label %sw.bb18, label %NodeBlock28 + +NodeBlock28: ; preds = %NodeBlock30 + %case.cmp29 = icmp eq i32 %17, 1032 + br i1 %case.cmp29, label %sw.bb18, label %NodeBlock26 + +NodeBlock26: ; preds = %NodeBlock28 + %case.cmp27 = icmp eq i32 %17, 1034 + br i1 %case.cmp27, label %sw.bb18, label %NodeBlock24 + +NodeBlock24: ; preds = %NodeBlock26 + %case.cmp25 = icmp eq i32 %17, 11 + br i1 %case.cmp25, label %sw.bb18, label %NodeBlock22 + +NodeBlock22: ; preds = %NodeBlock24 + %case.cmp23 = icmp eq i32 %17, 1033 + br i1 %case.cmp23, label %sw.bb20, label %NodeBlock20 + +NodeBlock20: ; preds = %NodeBlock22 + %case.cmp21 = icmp eq i32 %17, 0 + br i1 %case.cmp21, label %sw.bb20, label %NodeBlock18 + +NodeBlock18: ; preds = %NodeBlock20 + %case.cmp19 = icmp eq i32 %17, 1030 + br i1 %case.cmp19, label %sw.bb20, label %NodeBlock16 + +NodeBlock16: ; preds = %NodeBlock18 + %case.cmp17 = icmp eq i32 %17, 1026 + br i1 %case.cmp17, label %sw.bb20, label %NodeBlock14 + +NodeBlock14: ; preds = %NodeBlock16 + %case.cmp15 = icmp eq i32 %17, 2 + br i1 %case.cmp15, label %sw.bb20, label %NodeBlock12 + +NodeBlock12: ; preds = %NodeBlock14 + %case.cmp13 = icmp eq i32 %17, 4 + br i1 %case.cmp13, label %sw.bb20, label %NodeBlock10 + +NodeBlock10: ; preds = %NodeBlock12 + %case.cmp11 = icmp eq i32 %17, 1024 + br i1 %case.cmp11, label %sw.bb20, label %NodeBlock8 + +NodeBlock8: ; preds = %NodeBlock10 + %case.cmp9 = icmp eq i32 %17, 8 + br i1 %case.cmp9, label %sw.bb20, label %NodeBlock6 + +NodeBlock6: ; preds = %NodeBlock8 + %case.cmp7 = icmp eq i32 %17, 1031 + br i1 %case.cmp7, label %sw.bb20, label %NodeBlock4 + +NodeBlock4: ; preds = %NodeBlock6 + %case.cmp5 = icmp eq i32 %17, 10 + br i1 %case.cmp5, label %sw.bb20, label %newDefault3 + +sw.bb18: ; preds = %NodeBlock36, %NodeBlock34, %NodeBlock32, %NodeBlock30, %NodeBlock28, %NodeBlock26, %NodeBlock24 + %18 = load i32, i32* %fd.addr, align 4 + %19 = load i32, i32* %action.addr, align 4 + %call19 = call i32 (i32, i32, ...) @fcntl(i32 %18, i32 %19) + store i32 %call19, i32* %result, align 4 + br label %sw.epilog48 + +sw.bb20: ; preds = %NodeBlock22, %NodeBlock20, %NodeBlock18, %NodeBlock16, %NodeBlock14, %NodeBlock12, %NodeBlock10, %NodeBlock8, %NodeBlock6, %NodeBlock4 + %arraydecay21 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %gp_offset_p22 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay21, i32 0, i32 0 + %gp_offset23 = load i32, i32* %gp_offset_p22, align 16 + %fits_in_gp24 = icmp ule i32 %gp_offset23, 40 + br i1 %fits_in_gp24, label %vaarg.in_reg25, label %vaarg.in_mem27 + +vaarg.in_reg25: ; preds = %sw.bb20 + %20 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay21, i32 0, i32 3 + %reg_save_area26 = load i8*, i8** %20, align 16 + %21 = getelementptr i8, i8* %reg_save_area26, i32 %gp_offset23 + %22 = bitcast i8* %21 to i32* + %23 = add i32 %gp_offset23, 8 + store i32 %23, i32* %gp_offset_p22, align 16 + br label %vaarg.end31 + +vaarg.in_mem27: ; preds = %sw.bb20 + %overflow_arg_area_p28 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay21, i32 0, i32 2 + %overflow_arg_area29 = load i8*, i8** %overflow_arg_area_p28, align 8 + %24 = bitcast i8* %overflow_arg_area29 to i32* + %overflow_arg_area.next30 = getelementptr i8, i8* %overflow_arg_area29, i32 8 + store i8* %overflow_arg_area.next30, i8** %overflow_arg_area_p28, align 8 + br label %vaarg.end31 + +vaarg.end31: ; preds = %vaarg.in_mem27, %vaarg.in_reg25 + %vaarg.addr32 = phi i32* [ %22, %vaarg.in_reg25 ], [ %24, %vaarg.in_mem27 ] + %25 = load i32, i32* %vaarg.addr32, align 4 + store i32 %25, i32* %x, align 4 + %26 = load i32, i32* %fd.addr, align 4 + %27 = load i32, i32* %action.addr, align 4 + %28 = load i32, i32* %x, align 4 + %call33 = call i32 (i32, i32, ...) @fcntl(i32 %26, i32 %27, i32 %28) + store i32 %call33, i32* %result, align 4 + br label %sw.epilog48 + +newDefault3: ; preds = %NodeBlock4 + br label %sw.default34 + +sw.default34: ; preds = %newDefault3 + %arraydecay35 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %gp_offset_p36 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay35, i32 0, i32 0 + %gp_offset37 = load i32, i32* %gp_offset_p36, align 16 + %fits_in_gp38 = icmp ule i32 %gp_offset37, 40 + br i1 %fits_in_gp38, label %vaarg.in_reg39, label %vaarg.in_mem41 + +vaarg.in_reg39: ; preds = %sw.default34 + %29 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay35, i32 0, i32 3 + %reg_save_area40 = load i8*, i8** %29, align 16 + %30 = getelementptr i8, i8* %reg_save_area40, i32 %gp_offset37 + %31 = bitcast i8* %30 to i8** + %32 = add i32 %gp_offset37, 8 + store i32 %32, i32* %gp_offset_p36, align 16 + br label %vaarg.end45 + +vaarg.in_mem41: ; preds = %sw.default34 + %overflow_arg_area_p42 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay35, i32 0, i32 2 + %overflow_arg_area43 = load i8*, i8** %overflow_arg_area_p42, align 8 + %33 = bitcast i8* %overflow_arg_area43 to i8** + %overflow_arg_area.next44 = getelementptr i8, i8* %overflow_arg_area43, i32 8 + store i8* %overflow_arg_area.next44, i8** %overflow_arg_area_p42, align 8 + br label %vaarg.end45 + +vaarg.end45: ; preds = %vaarg.in_mem41, %vaarg.in_reg39 + %vaarg.addr46 = phi i8** [ %31, %vaarg.in_reg39 ], [ %33, %vaarg.in_mem41 ] + %34 = load i8*, i8** %vaarg.addr46, align 8 + store i8* %34, i8** %p, align 8 + %35 = load i32, i32* %fd.addr, align 4 + %36 = load i32, i32* %action.addr, align 4 + %37 = load i8*, i8** %p, align 8 + %call47 = call i32 (i32, i32, ...) @fcntl(i32 %35, i32 %36, i8* %37) + store i32 %call47, i32* %result, align 4 + br label %sw.epilog48 + +sw.epilog48: ; preds = %sw.bb18, %vaarg.end31, %vaarg.end45, %vaarg.end15, %vaarg.end + %arraydecay49 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay4950 = bitcast %struct.__va_list_tag.0* %arraydecay49 to i8* + call void @llvm.va_end(i8* %arraydecay4950) + %38 = load i32, i32* %result, align 4 + ret i32 %38 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @rpl_fcntl_DUPFD(i32 %fd, i32 %target) #3 { +entry: + %fd.addr = alloca i32, align 4 + %target.addr = alloca i32, align 4 + %result = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %target, i32* %target.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i32, i32* %target.addr, align 4 + %call = call i32 (i32, i32, ...) @fcntl(i32 %0, i32 0, i32 %1) + store i32 %call, i32* %result, align 4 + %2 = load i32, i32* %result, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @rpl_fcntl_DUPFD_CLOEXEC(i32 %fd, i32 %target) #3 { +entry: + %fd.addr = alloca i32, align 4 + %target.addr = alloca i32, align 4 + %result = alloca i32, align 4 + %flags = alloca i32, align 4 + %saved_errno = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %target, i32* %target.addr, align 4 + %0 = load i32, i32* @rpl_fcntl_DUPFD_CLOEXEC.have_dupfd_cloexec, align 4 + %cmp = icmp sle i32 0, %0 + %1 = load i32, i32* %fd.addr, align 4 + %2 = load i32, i32* %target.addr, align 4 + br i1 %cmp, label %if.then, label %if.else9 + +if.then: ; preds = %entry + %call = call i32 (i32, i32, ...) @fcntl(i32 %1, i32 1030, i32 %2) + store i32 %call, i32* %result, align 4 + %3 = load i32, i32* %result, align 4 + %cmp1 = icmp sle i32 0, %3 + br i1 %cmp1, label %if.then4, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then + %call2 = call i32* @__errno_location() #25 + %4 = load i32, i32* %call2, align 4 + %cmp3 = icmp ne i32 %4, 22 + br i1 %cmp3, label %if.then4, label %if.else + +if.then4: ; preds = %lor.lhs.false, %if.then + store i32 1, i32* @rpl_fcntl_DUPFD_CLOEXEC.have_dupfd_cloexec, align 4 + br label %if.end11 + +if.else: ; preds = %lor.lhs.false + %5 = load i32, i32* %fd.addr, align 4 + %6 = load i32, i32* %target.addr, align 4 + %call5 = call i32 @rpl_fcntl_DUPFD(i32 %5, i32 %6) + store i32 %call5, i32* %result, align 4 + %7 = load i32, i32* %result, align 4 + %cmp6 = icmp sge i32 %7, 0 + br i1 %cmp6, label %if.then7, label %if.end11 + +if.then7: ; preds = %if.else + store i32 -1, i32* @rpl_fcntl_DUPFD_CLOEXEC.have_dupfd_cloexec, align 4 + br label %if.end11 + +if.else9: ; preds = %entry + %call10 = call i32 @rpl_fcntl_DUPFD(i32 %1, i32 %2) + store i32 %call10, i32* %result, align 4 + br label %if.end11 + +if.end11: ; preds = %if.then4, %if.then7, %if.else, %if.else9 + %8 = load i32, i32* %result, align 4 + %cmp12 = icmp sle i32 0, %8 + %9 = load i32, i32* @rpl_fcntl_DUPFD_CLOEXEC.have_dupfd_cloexec, align 4 + %cmp13 = icmp eq i32 %9, -1 + %or.cond = and i1 %cmp12, %cmp13 + br i1 %or.cond, label %if.then14, label %if.end25 + +if.then14: ; preds = %if.end11 + %10 = load i32, i32* %result, align 4 + %call15 = call i32 (i32, i32, ...) @fcntl(i32 %10, i32 1) + store i32 %call15, i32* %flags, align 4 + %11 = load i32, i32* %flags, align 4 + %cmp16 = icmp slt i32 %11, 0 + br i1 %cmp16, label %if.then20, label %lor.lhs.false17 + +lor.lhs.false17: ; preds = %if.then14 + %12 = load i32, i32* %result, align 4 + %13 = load i32, i32* %flags, align 4 + %or = or i32 %13, 1 + %call18 = call i32 (i32, i32, ...) @fcntl(i32 %12, i32 2, i32 %or) + %cmp19 = icmp eq i32 %call18, -1 + br i1 %cmp19, label %if.then20, label %if.end25 + +if.then20: ; preds = %lor.lhs.false17, %if.then14 + %call21 = call i32* @__errno_location() #25 + %14 = load i32, i32* %call21, align 4 + store i32 %14, i32* %saved_errno, align 4 + %15 = load i32, i32* %result, align 4 + %call22 = call i32 @close(i32 %15) + %16 = load i32, i32* %saved_errno, align 4 + %call23 = call i32* @__errno_location() #25 + store i32 %16, i32* %call23, align 4 + store i32 -1, i32* %result, align 4 + br label %if.end25 + +if.end25: ; preds = %lor.lhs.false17, %if.then20, %if.end11 + %17 = load i32, i32* %result, align 4 + ret i32 %17 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc_va(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, %struct.__va_list_tag.0* %authors) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors.addr = alloca %struct.__va_list_tag.0*, align 8 + %n_authors = alloca i64, align 8 + %authtab = alloca [10 x i8*], align 16 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + store %struct.__va_list_tag.0* %authors, %struct.__va_list_tag.0** %authors.addr, align 8 + store i64 0, i64* %n_authors, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i64, i64* %n_authors, align 8 + %cmp = icmp ult i64 %0, 10 + br i1 %cmp, label %land.rhs, label %for.end + +land.rhs: ; preds = %for.cond + %1 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %authors.addr, align 8 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %1, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 8 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %land.rhs + %2 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %1, i32 0, i32 3 + %reg_save_area = load i8*, i8** %2, align 8 + %3 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %4 = bitcast i8* %3 to i8** + %5 = add i32 %gp_offset, 8 + store i32 %5, i32* %gp_offset_p, align 8 + br label %vaarg.end + +vaarg.in_mem: ; preds = %land.rhs + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %1, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %6 = bitcast i8* %overflow_arg_area to i8** + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i8** [ %4, %vaarg.in_reg ], [ %6, %vaarg.in_mem ] + %7 = load i8*, i8** %vaarg.addr, align 8 + %8 = load i64, i64* %n_authors, align 8 + %arrayidx = getelementptr inbounds [10 x i8*], [10 x i8*]* %authtab, i64 0, i64 %8 + store i8* %7, i8** %arrayidx, align 8 + %cmp1 = icmp ne i8* %7, null + br i1 %cmp1, label %for.inc, label %for.end + +for.inc: ; preds = %vaarg.end + %9 = load i64, i64* %n_authors, align 8 + %inc = add i64 %9, 1 + store i64 %inc, i64* %n_authors, align 8 + br label %for.cond + +for.end: ; preds = %for.cond, %vaarg.end + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %11 = load i8*, i8** %command_name.addr, align 8 + %12 = load i8*, i8** %package.addr, align 8 + %13 = load i8*, i8** %version.addr, align 8 + %arraydecay = getelementptr inbounds [10 x i8*], [10 x i8*]* %authtab, i64 0, i64 0 + %14 = load i64, i64* %n_authors, align 8 + call void @version_etc_arn(%struct._IO_FILE* %10, i8* %11, i8* %12, i8* %13, i8** %arraydecay, i64 %14) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc_arn(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, i8** %authors, i64 %n_authors) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors.addr = alloca i8**, align 8 + %n_authors.addr = alloca i64, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + store i8** %authors, i8*** %authors.addr, align 8 + store i64 %n_authors, i64* %n_authors.addr, align 8 + %0 = load i8*, i8** %command_name.addr, align 8 + %tobool = icmp ne i8* %0, null + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %entry + %2 = load i8*, i8** %command_name.addr, align 8 + %3 = load i8*, i8** %package.addr, align 8 + %4 = load i8*, i8** %version.addr, align 8 + %call = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %1, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.120, i64 0, i64 0), i8* %2, i8* %3, i8* %4) + br label %if.end + +if.else: ; preds = %entry + %5 = load i8*, i8** %package.addr, align 8 + %6 = load i8*, i8** %version.addr, align 8 + %call1 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %1, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.121, i64 0, i64 0), i8* %5, i8* %6) + br label %if.end + +if.end: ; preds = %if.else, %if.then + %7 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call2 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %7, i8* getelementptr inbounds ([47 x i8], [47 x i8]* @version_etc_copyright, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2.122, i64 0, i64 0), i32 2020) + %8 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call3 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.123, i64 0, i64 0), %struct._IO_FILE* %8) + %9 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call4 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %9, i8* getelementptr inbounds ([171 x i8], [171 x i8]* @.str.4.124, i64 0, i64 0), i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.5.125, i64 0, i64 0)) + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call5 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.123, i64 0, i64 0), %struct._IO_FILE* %10) + %11 = load i64, i64* %n_authors.addr, align 8 + br label %NodeBlock17 + +NodeBlock17: ; preds = %if.end + %case.cmp18 = icmp eq i64 %11, 0 + br i1 %case.cmp18, label %sw.epilog, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i64 %11, 1 + br i1 %case.cmp16, label %sw.bb6, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i64 %11, 2 + br i1 %case.cmp14, label %sw.bb8, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i64 %11, 3 + br i1 %case.cmp12, label %sw.bb12, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i64 %11, 4 + br i1 %case.cmp10, label %sw.bb17, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i64 %11, 5 + br i1 %case.cmp8, label %sw.bb23, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i64 %11, 6 + br i1 %case.cmp6, label %sw.bb30, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i64 %11, 7 + br i1 %case.cmp4, label %sw.bb38, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i64 %11, 8 + br i1 %case.cmp2, label %sw.bb47, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i64 %11, 9 + br i1 %case.cmp, label %sw.bb57, label %newDefault + +sw.bb6: ; preds = %NodeBlock15 + %12 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %13 = load i8**, i8*** %authors.addr, align 8 + %arrayidx = getelementptr inbounds i8*, i8** %13, i64 0 + %14 = load i8*, i8** %arrayidx, align 8 + %call7 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %12, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.6.126, i64 0, i64 0), i8* %14) + br label %sw.epilog + +sw.bb8: ; preds = %NodeBlock13 + %15 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %16 = load i8**, i8*** %authors.addr, align 8 + %arrayidx9 = getelementptr inbounds i8*, i8** %16, i64 0 + %17 = load i8*, i8** %arrayidx9, align 8 + %18 = load i8**, i8*** %authors.addr, align 8 + %arrayidx10 = getelementptr inbounds i8*, i8** %18, i64 1 + %19 = load i8*, i8** %arrayidx10, align 8 + %call11 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %15, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.7.127, i64 0, i64 0), i8* %17, i8* %19) + br label %sw.epilog + +sw.bb12: ; preds = %NodeBlock11 + %20 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %21 = load i8**, i8*** %authors.addr, align 8 + %arrayidx13 = getelementptr inbounds i8*, i8** %21, i64 0 + %22 = load i8*, i8** %arrayidx13, align 8 + %23 = load i8**, i8*** %authors.addr, align 8 + %arrayidx14 = getelementptr inbounds i8*, i8** %23, i64 1 + %24 = load i8*, i8** %arrayidx14, align 8 + %25 = load i8**, i8*** %authors.addr, align 8 + %arrayidx15 = getelementptr inbounds i8*, i8** %25, i64 2 + %26 = load i8*, i8** %arrayidx15, align 8 + %call16 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %20, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.8.128, i64 0, i64 0), i8* %22, i8* %24, i8* %26) + br label %sw.epilog + +sw.bb17: ; preds = %NodeBlock9 + %27 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %28 = load i8**, i8*** %authors.addr, align 8 + %arrayidx18 = getelementptr inbounds i8*, i8** %28, i64 0 + %29 = load i8*, i8** %arrayidx18, align 8 + %30 = load i8**, i8*** %authors.addr, align 8 + %arrayidx19 = getelementptr inbounds i8*, i8** %30, i64 1 + %31 = load i8*, i8** %arrayidx19, align 8 + %32 = load i8**, i8*** %authors.addr, align 8 + %arrayidx20 = getelementptr inbounds i8*, i8** %32, i64 2 + %33 = load i8*, i8** %arrayidx20, align 8 + %34 = load i8**, i8*** %authors.addr, align 8 + %arrayidx21 = getelementptr inbounds i8*, i8** %34, i64 3 + %35 = load i8*, i8** %arrayidx21, align 8 + %call22 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %27, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.9.129, i64 0, i64 0), i8* %29, i8* %31, i8* %33, i8* %35) + br label %sw.epilog + +sw.bb23: ; preds = %NodeBlock7 + %36 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %37 = load i8**, i8*** %authors.addr, align 8 + %arrayidx24 = getelementptr inbounds i8*, i8** %37, i64 0 + %38 = load i8*, i8** %arrayidx24, align 8 + %39 = load i8**, i8*** %authors.addr, align 8 + %arrayidx25 = getelementptr inbounds i8*, i8** %39, i64 1 + %40 = load i8*, i8** %arrayidx25, align 8 + %41 = load i8**, i8*** %authors.addr, align 8 + %arrayidx26 = getelementptr inbounds i8*, i8** %41, i64 2 + %42 = load i8*, i8** %arrayidx26, align 8 + %43 = load i8**, i8*** %authors.addr, align 8 + %arrayidx27 = getelementptr inbounds i8*, i8** %43, i64 3 + %44 = load i8*, i8** %arrayidx27, align 8 + %45 = load i8**, i8*** %authors.addr, align 8 + %arrayidx28 = getelementptr inbounds i8*, i8** %45, i64 4 + %46 = load i8*, i8** %arrayidx28, align 8 + %call29 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %36, i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.10.130, i64 0, i64 0), i8* %38, i8* %40, i8* %42, i8* %44, i8* %46) + br label %sw.epilog + +sw.bb30: ; preds = %NodeBlock5 + %47 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %48 = load i8**, i8*** %authors.addr, align 8 + %arrayidx31 = getelementptr inbounds i8*, i8** %48, i64 0 + %49 = load i8*, i8** %arrayidx31, align 8 + %50 = load i8**, i8*** %authors.addr, align 8 + %arrayidx32 = getelementptr inbounds i8*, i8** %50, i64 1 + %51 = load i8*, i8** %arrayidx32, align 8 + %52 = load i8**, i8*** %authors.addr, align 8 + %arrayidx33 = getelementptr inbounds i8*, i8** %52, i64 2 + %53 = load i8*, i8** %arrayidx33, align 8 + %54 = load i8**, i8*** %authors.addr, align 8 + %arrayidx34 = getelementptr inbounds i8*, i8** %54, i64 3 + %55 = load i8*, i8** %arrayidx34, align 8 + %56 = load i8**, i8*** %authors.addr, align 8 + %arrayidx35 = getelementptr inbounds i8*, i8** %56, i64 4 + %57 = load i8*, i8** %arrayidx35, align 8 + %58 = load i8**, i8*** %authors.addr, align 8 + %arrayidx36 = getelementptr inbounds i8*, i8** %58, i64 5 + %59 = load i8*, i8** %arrayidx36, align 8 + %call37 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %47, i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.11.131, i64 0, i64 0), i8* %49, i8* %51, i8* %53, i8* %55, i8* %57, i8* %59) + br label %sw.epilog + +sw.bb38: ; preds = %NodeBlock3 + %60 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %61 = load i8**, i8*** %authors.addr, align 8 + %arrayidx39 = getelementptr inbounds i8*, i8** %61, i64 0 + %62 = load i8*, i8** %arrayidx39, align 8 + %63 = load i8**, i8*** %authors.addr, align 8 + %arrayidx40 = getelementptr inbounds i8*, i8** %63, i64 1 + %64 = load i8*, i8** %arrayidx40, align 8 + %65 = load i8**, i8*** %authors.addr, align 8 + %arrayidx41 = getelementptr inbounds i8*, i8** %65, i64 2 + %66 = load i8*, i8** %arrayidx41, align 8 + %67 = load i8**, i8*** %authors.addr, align 8 + %arrayidx42 = getelementptr inbounds i8*, i8** %67, i64 3 + %68 = load i8*, i8** %arrayidx42, align 8 + %69 = load i8**, i8*** %authors.addr, align 8 + %arrayidx43 = getelementptr inbounds i8*, i8** %69, i64 4 + %70 = load i8*, i8** %arrayidx43, align 8 + %71 = load i8**, i8*** %authors.addr, align 8 + %arrayidx44 = getelementptr inbounds i8*, i8** %71, i64 5 + %72 = load i8*, i8** %arrayidx44, align 8 + %73 = load i8**, i8*** %authors.addr, align 8 + %arrayidx45 = getelementptr inbounds i8*, i8** %73, i64 6 + %74 = load i8*, i8** %arrayidx45, align 8 + %call46 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %60, i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.12.132, i64 0, i64 0), i8* %62, i8* %64, i8* %66, i8* %68, i8* %70, i8* %72, i8* %74) + br label %sw.epilog + +sw.bb47: ; preds = %NodeBlock1 + %75 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %76 = load i8**, i8*** %authors.addr, align 8 + %arrayidx48 = getelementptr inbounds i8*, i8** %76, i64 0 + %77 = load i8*, i8** %arrayidx48, align 8 + %78 = load i8**, i8*** %authors.addr, align 8 + %arrayidx49 = getelementptr inbounds i8*, i8** %78, i64 1 + %79 = load i8*, i8** %arrayidx49, align 8 + %80 = load i8**, i8*** %authors.addr, align 8 + %arrayidx50 = getelementptr inbounds i8*, i8** %80, i64 2 + %81 = load i8*, i8** %arrayidx50, align 8 + %82 = load i8**, i8*** %authors.addr, align 8 + %arrayidx51 = getelementptr inbounds i8*, i8** %82, i64 3 + %83 = load i8*, i8** %arrayidx51, align 8 + %84 = load i8**, i8*** %authors.addr, align 8 + %arrayidx52 = getelementptr inbounds i8*, i8** %84, i64 4 + %85 = load i8*, i8** %arrayidx52, align 8 + %86 = load i8**, i8*** %authors.addr, align 8 + %arrayidx53 = getelementptr inbounds i8*, i8** %86, i64 5 + %87 = load i8*, i8** %arrayidx53, align 8 + %88 = load i8**, i8*** %authors.addr, align 8 + %arrayidx54 = getelementptr inbounds i8*, i8** %88, i64 6 + %89 = load i8*, i8** %arrayidx54, align 8 + %90 = load i8**, i8*** %authors.addr, align 8 + %arrayidx55 = getelementptr inbounds i8*, i8** %90, i64 7 + %91 = load i8*, i8** %arrayidx55, align 8 + %call56 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %75, i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.13.133, i64 0, i64 0), i8* %77, i8* %79, i8* %81, i8* %83, i8* %85, i8* %87, i8* %89, i8* %91) + br label %sw.epilog + +sw.bb57: ; preds = %NodeBlock + %92 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %93 = load i8**, i8*** %authors.addr, align 8 + %arrayidx58 = getelementptr inbounds i8*, i8** %93, i64 0 + %94 = load i8*, i8** %arrayidx58, align 8 + %95 = load i8**, i8*** %authors.addr, align 8 + %arrayidx59 = getelementptr inbounds i8*, i8** %95, i64 1 + %96 = load i8*, i8** %arrayidx59, align 8 + %97 = load i8**, i8*** %authors.addr, align 8 + %arrayidx60 = getelementptr inbounds i8*, i8** %97, i64 2 + %98 = load i8*, i8** %arrayidx60, align 8 + %99 = load i8**, i8*** %authors.addr, align 8 + %arrayidx61 = getelementptr inbounds i8*, i8** %99, i64 3 + %100 = load i8*, i8** %arrayidx61, align 8 + %101 = load i8**, i8*** %authors.addr, align 8 + %arrayidx62 = getelementptr inbounds i8*, i8** %101, i64 4 + %102 = load i8*, i8** %arrayidx62, align 8 + %103 = load i8**, i8*** %authors.addr, align 8 + %arrayidx63 = getelementptr inbounds i8*, i8** %103, i64 5 + %104 = load i8*, i8** %arrayidx63, align 8 + %105 = load i8**, i8*** %authors.addr, align 8 + %arrayidx64 = getelementptr inbounds i8*, i8** %105, i64 6 + %106 = load i8*, i8** %arrayidx64, align 8 + %107 = load i8**, i8*** %authors.addr, align 8 + %arrayidx65 = getelementptr inbounds i8*, i8** %107, i64 7 + %108 = load i8*, i8** %arrayidx65, align 8 + %109 = load i8**, i8*** %authors.addr, align 8 + %arrayidx66 = getelementptr inbounds i8*, i8** %109, i64 8 + %110 = load i8*, i8** %arrayidx66, align 8 + %call67 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %92, i8* getelementptr inbounds ([52 x i8], [52 x i8]* @.str.14.134, i64 0, i64 0), i8* %94, i8* %96, i8* %98, i8* %100, i8* %102, i8* %104, i8* %106, i8* %108, i8* %110) + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + %111 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %112 = load i8**, i8*** %authors.addr, align 8 + %arrayidx68 = getelementptr inbounds i8*, i8** %112, i64 0 + %113 = load i8*, i8** %arrayidx68, align 8 + %114 = load i8**, i8*** %authors.addr, align 8 + %arrayidx69 = getelementptr inbounds i8*, i8** %114, i64 1 + %115 = load i8*, i8** %arrayidx69, align 8 + %116 = load i8**, i8*** %authors.addr, align 8 + %arrayidx70 = getelementptr inbounds i8*, i8** %116, i64 2 + %117 = load i8*, i8** %arrayidx70, align 8 + %118 = load i8**, i8*** %authors.addr, align 8 + %arrayidx71 = getelementptr inbounds i8*, i8** %118, i64 3 + %119 = load i8*, i8** %arrayidx71, align 8 + %120 = load i8**, i8*** %authors.addr, align 8 + %arrayidx72 = getelementptr inbounds i8*, i8** %120, i64 4 + %121 = load i8*, i8** %arrayidx72, align 8 + %122 = load i8**, i8*** %authors.addr, align 8 + %arrayidx73 = getelementptr inbounds i8*, i8** %122, i64 5 + %123 = load i8*, i8** %arrayidx73, align 8 + %124 = load i8**, i8*** %authors.addr, align 8 + %arrayidx74 = getelementptr inbounds i8*, i8** %124, i64 6 + %125 = load i8*, i8** %arrayidx74, align 8 + %126 = load i8**, i8*** %authors.addr, align 8 + %arrayidx75 = getelementptr inbounds i8*, i8** %126, i64 7 + %127 = load i8*, i8** %arrayidx75, align 8 + %128 = load i8**, i8*** %authors.addr, align 8 + %arrayidx76 = getelementptr inbounds i8*, i8** %128, i64 8 + %129 = load i8*, i8** %arrayidx76, align 8 + %call77 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %111, i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.15.135, i64 0, i64 0), i8* %113, i8* %115, i8* %117, i8* %119, i8* %121, i8* %123, i8* %125, i8* %127, i8* %129) + br label %sw.epilog + +sw.epilog: ; preds = %NodeBlock17, %sw.default, %sw.bb57, %sw.bb47, %sw.bb38, %sw.bb30, %sw.bb23, %sw.bb17, %sw.bb12, %sw.bb8, %sw.bb6 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_style(i32 %s, i8* %arg) #3 { +entry: + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_style(i32 0, i32 %0, i8* %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_style(i32 %n, i32 %s, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %o = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + call void @quoting_options_from_style(%struct.quoting_options* sret align 8 %o, i32 %0) + %1 = load i32, i32* %n.addr, align 4 + %2 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %1, i8* %2, i64 -1, %struct.quoting_options* %o) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define internal void @decode_field_spec(i8* %s, i32* %file_index, i64* %field_index) #3 { +entry: + %s.addr = alloca i8*, align 8 + %file_index.addr = alloca i32*, align 8 + %field_index.addr = alloca i64*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32* %file_index, i32** %file_index.addr, align 8 + store i64* %field_index, i64** %field_index.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %0, i64 0 + %1 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %1 to i32 + br label %NodeBlock3 + +NodeBlock3: ; preds = %entry + %case.cmp4 = icmp eq i32 %conv, 48 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %conv, 49 + br i1 %case.cmp2, label %sw.bb2, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %conv, 50 + br i1 %case.cmp, label %sw.bb2, label %newDefault + +sw.bb: ; preds = %NodeBlock3 + %2 = load i8*, i8** %s.addr, align 8 + %arrayidx1 = getelementptr inbounds i8, i8* %2, i64 1 + %3 = load i8, i8* %arrayidx1, align 1 + %tobool = icmp ne i8 %3, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %sw.bb + %4 = load i8*, i8** %s.addr, align 8 + %call = call i8* @quote(i8* %4) + call void (i32, i32, i8*, ...) @error(i32 1, i32 0, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.54, i64 0, i64 0), i8* %call) + unreachable + +if.end: ; preds = %sw.bb + %5 = load i32*, i32** %file_index.addr, align 8 + store i32 0, i32* %5, align 4 + %6 = load i64*, i64** %field_index.addr, align 8 + store i64 0, i64* %6, align 8 + br label %sw.epilog + +sw.bb2: ; preds = %NodeBlock1, %NodeBlock + %7 = load i8*, i8** %s.addr, align 8 + %arrayidx3 = getelementptr inbounds i8, i8* %7, i64 1 + %8 = load i8, i8* %arrayidx3, align 1 + %conv4 = sext i8 %8 to i32 + %cmp = icmp ne i32 %conv4, 46 + %9 = load i8*, i8** %s.addr, align 8 + br i1 %cmp, label %if.then6, label %if.end8 + +if.then6: ; preds = %sw.bb2 + %call7 = call i8* @quote(i8* %9) + call void (i32, i32, i8*, ...) @error(i32 1, i32 0, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.54, i64 0, i64 0), i8* %call7) + unreachable + +if.end8: ; preds = %sw.bb2 + %arrayidx9 = getelementptr inbounds i8, i8* %9, i64 0 + %10 = load i8, i8* %arrayidx9, align 1 + %conv10 = sext i8 %10 to i32 + %sub = sub nsw i32 %conv10, 48 + %11 = load i32*, i32** %file_index.addr, align 8 + store i32 %sub, i32* %11, align 4 + %12 = load i8*, i8** %s.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %12, i64 2 + %call11 = call i64 @string_to_join_field(i8* %add.ptr) + %13 = load i64*, i64** %field_index.addr, align 8 + store i64 %call11, i64* %13, align 8 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + %14 = load i8*, i8** %s.addr, align 8 + %call12 = call i8* @quote(i8* %14) + call void (i32, i32, i8*, ...) @error(i32 1, i32 0, i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.55, i64 0, i64 0), i8* %call12) + unreachable + +sw.epilog: ; preds = %if.end8, %if.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @add_field(i32 %file, i64 %field) #3 { +entry: + %file.addr = alloca i32, align 4 + %field.addr = alloca i64, align 8 + %o = alloca %struct.outlist*, align 8 + store i32 %file, i32* %file.addr, align 4 + store i64 %field, i64* %field.addr, align 8 + %0 = load i32, i32* %file.addr, align 4 + %cmp = icmp eq i32 %0, 0 + %1 = load i32, i32* %file.addr, align 4 + %cmp1 = icmp eq i32 %1, 1 + %or.cond = or i1 %cmp, %cmp1 + %2 = load i32, i32* %file.addr, align 4 + %cmp3 = icmp eq i32 %2, 2 + %or.cond1 = or i1 %or.cond, %cmp3 + br i1 %or.cond1, label %if.end, label %if.else + +if.else: ; preds = %entry + call void @__assert_fail(i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.56, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.57, i64 0, i64 0), i32 819, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__PRETTY_FUNCTION__.add_field, i64 0, i64 0)) #26 + unreachable + +if.end: ; preds = %entry + %3 = load i32, i32* %file.addr, align 4 + %cmp4 = icmp ne i32 %3, 0 + %4 = load i64, i64* %field.addr, align 8 + %cmp6 = icmp eq i64 %4, 0 + %or.cond2 = or i1 %cmp4, %cmp6 + br i1 %or.cond2, label %if.end9, label %if.else8 + +if.else8: ; preds = %if.end + call void @__assert_fail(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.58, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.57, i64 0, i64 0), i32 820, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @__PRETTY_FUNCTION__.add_field, i64 0, i64 0)) #26 + unreachable + +if.end9: ; preds = %if.end + %call = call noalias i8* @xmalloc(i64 24) + %5 = bitcast i8* %call to %struct.outlist* + store %struct.outlist* %5, %struct.outlist** %o, align 8 + %6 = load i32, i32* %file.addr, align 4 + %7 = load %struct.outlist*, %struct.outlist** %o, align 8 + %file10 = getelementptr inbounds %struct.outlist, %struct.outlist* %7, i32 0, i32 0 + store i32 %6, i32* %file10, align 8 + %8 = load i64, i64* %field.addr, align 8 + %9 = load %struct.outlist*, %struct.outlist** %o, align 8 + %field11 = getelementptr inbounds %struct.outlist, %struct.outlist* %9, i32 0, i32 1 + store i64 %8, i64* %field11, align 8 + %10 = load %struct.outlist*, %struct.outlist** %o, align 8 + %next = getelementptr inbounds %struct.outlist, %struct.outlist* %10, i32 0, i32 2 + store %struct.outlist* null, %struct.outlist** %next, align 8 + %11 = load %struct.outlist*, %struct.outlist** %o, align 8 + %12 = load %struct.outlist*, %struct.outlist** @outlist_end, align 8 + %next12 = getelementptr inbounds %struct.outlist, %struct.outlist* %12, i32 0, i32 2 + store %struct.outlist* %11, %struct.outlist** %next12, align 8 + %13 = load %struct.outlist*, %struct.outlist** %o, align 8 + store %struct.outlist* %13, %struct.outlist** @outlist_end, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @xstrtoumax(i8* %s, i8** %ptr, i32 %strtol_base, i64* %val, i8* %valid_suffixes) #3 { +entry: + %retval = alloca i32, align 4 + %s.addr = alloca i8*, align 8 + %ptr.addr = alloca i8**, align 8 + %strtol_base.addr = alloca i32, align 4 + %val.addr = alloca i64*, align 8 + %valid_suffixes.addr = alloca i8*, align 8 + %t_ptr = alloca i8*, align 8 + %p = alloca i8**, align 8 + %tmp = alloca i64, align 8 + %err = alloca i32, align 4 + %q = alloca i8*, align 8 + %ch = alloca i8, align 1 + %base = alloca i32, align 4 + %suffixes = alloca i32, align 4 + %overflow = alloca i32, align 4 + store i8* %s, i8** %s.addr, align 8 + store i8** %ptr, i8*** %ptr.addr, align 8 + store i32 %strtol_base, i32* %strtol_base.addr, align 4 + store i64* %val, i64** %val.addr, align 8 + store i8* %valid_suffixes, i8** %valid_suffixes.addr, align 8 + store i32 0, i32* %err, align 4 + %0 = load i32, i32* %strtol_base.addr, align 4 + %cmp = icmp sle i32 0, %0 + %1 = load i32, i32* %strtol_base.addr, align 4 + %cmp1 = icmp sle i32 %1, 36 + %or.cond = and i1 %cmp, %cmp1 + br i1 %or.cond, label %if.end, label %if.else + +if.else: ; preds = %entry + call void @__assert_fail(i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.176, i64 0, i64 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.1.177, i64 0, i64 0), i32 84, i8* getelementptr inbounds ([79 x i8], [79 x i8]* @__PRETTY_FUNCTION__.xstrtoumax, i64 0, i64 0)) #26 + unreachable + +if.end: ; preds = %entry + %2 = load i8**, i8*** %ptr.addr, align 8 + %tobool = icmp ne i8** %2, null + %3 = load i8**, i8*** %ptr.addr, align 8 + %cond = select i1 %tobool, i8** %3, i8** %t_ptr + store i8** %cond, i8*** %p, align 8 + %call = call i32* @__errno_location() #25 + store i32 0, i32* %call, align 4 + %4 = load i8*, i8** %s.addr, align 8 + store i8* %4, i8** %q, align 8 + %5 = load i8*, i8** %q, align 8 + %6 = load i8, i8* %5, align 1 + store i8 %6, i8* %ch, align 1 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end + %call2 = call i16** @__ctype_b_loc() #25 + %7 = load i16*, i16** %call2, align 8 + %8 = load i8, i8* %ch, align 1 + %conv = zext i8 %8 to i32 + %idxprom = sext i32 %conv to i64 + %arrayidx = getelementptr inbounds i16, i16* %7, i64 %idxprom + %9 = load i16, i16* %arrayidx, align 2 + %conv3 = zext i16 %9 to i32 + %and = and i32 %conv3, 8192 + %tobool4 = icmp ne i32 %and, 0 + br i1 %tobool4, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %10 = load i8*, i8** %q, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %10, i32 1 + store i8* %incdec.ptr, i8** %q, align 8 + %11 = load i8, i8* %incdec.ptr, align 1 + store i8 %11, i8* %ch, align 1 + br label %while.cond + +while.end: ; preds = %while.cond + %12 = load i8, i8* %ch, align 1 + %conv5 = zext i8 %12 to i32 + %cmp6 = icmp eq i32 %conv5, 45 + br i1 %cmp6, label %if.then8, label %if.end9 + +if.then8: ; preds = %while.end + store i32 4, i32* %retval, align 4 + br label %return + +if.end9: ; preds = %while.end + %13 = load i8*, i8** %s.addr, align 8 + %14 = load i8**, i8*** %p, align 8 + %15 = load i32, i32* %strtol_base.addr, align 4 + %call10 = call i64 @strtoumax(i8* %13, i8** %14, i32 %15) #11 + store i64 %call10, i64* %tmp, align 8 + %16 = load i8**, i8*** %p, align 8 + %17 = load i8*, i8** %16, align 8 + %18 = load i8*, i8** %s.addr, align 8 + %cmp11 = icmp eq i8* %17, %18 + br i1 %cmp11, label %if.then13, label %if.else25 + +if.then13: ; preds = %if.end9 + %19 = load i8*, i8** %valid_suffixes.addr, align 8 + %tobool14 = icmp ne i8* %19, null + br i1 %tobool14, label %land.lhs.true15, label %if.else23 + +land.lhs.true15: ; preds = %if.then13 + %20 = load i8**, i8*** %p, align 8 + %21 = load i8*, i8** %20, align 8 + %22 = load i8, i8* %21, align 1 + %conv16 = sext i8 %22 to i32 + %tobool17 = icmp ne i32 %conv16, 0 + br i1 %tobool17, label %land.lhs.true18, label %if.else23 + +land.lhs.true18: ; preds = %land.lhs.true15 + %23 = load i8*, i8** %valid_suffixes.addr, align 8 + %24 = load i8**, i8*** %p, align 8 + %25 = load i8*, i8** %24, align 8 + %26 = load i8, i8* %25, align 1 + %conv19 = sext i8 %26 to i32 + %call20 = call i8* @strchr(i8* %23, i32 %conv19) #23 + %tobool21 = icmp ne i8* %call20, null + br i1 %tobool21, label %if.then22, label %if.else23 + +if.then22: ; preds = %land.lhs.true18 + store i64 1, i64* %tmp, align 8 + br label %if.end36 + +if.else23: ; preds = %land.lhs.true18, %land.lhs.true15, %if.then13 + store i32 4, i32* %retval, align 4 + br label %return + +if.else25: ; preds = %if.end9 + %call26 = call i32* @__errno_location() #25 + %27 = load i32, i32* %call26, align 4 + %cmp27 = icmp ne i32 %27, 0 + br i1 %cmp27, label %if.then29, label %if.end36 + +if.then29: ; preds = %if.else25 + %call30 = call i32* @__errno_location() #25 + %28 = load i32, i32* %call30, align 4 + %cmp31 = icmp ne i32 %28, 34 + br i1 %cmp31, label %if.then33, label %if.end34 + +if.then33: ; preds = %if.then29 + store i32 4, i32* %retval, align 4 + br label %return + +if.end34: ; preds = %if.then29 + store i32 1, i32* %err, align 4 + br label %if.end36 + +if.end36: ; preds = %if.else25, %if.end34, %if.then22 + %29 = load i8*, i8** %valid_suffixes.addr, align 8 + %tobool37 = icmp ne i8* %29, null + br i1 %tobool37, label %if.end39, label %if.then38 + +if.then38: ; preds = %if.end36 + %30 = load i64, i64* %tmp, align 8 + %31 = load i64*, i64** %val.addr, align 8 + store i64 %30, i64* %31, align 8 + %32 = load i32, i32* %err, align 4 + store i32 %32, i32* %retval, align 4 + br label %return + +if.end39: ; preds = %if.end36 + %33 = load i8**, i8*** %p, align 8 + %34 = load i8*, i8** %33, align 8 + %35 = load i8, i8* %34, align 1 + %conv40 = sext i8 %35 to i32 + %cmp41 = icmp ne i32 %conv40, 0 + br i1 %cmp41, label %if.then43, label %if.end98 + +if.then43: ; preds = %if.end39 + store i32 1024, i32* %base, align 4 + store i32 1, i32* %suffixes, align 4 + %36 = load i8*, i8** %valid_suffixes.addr, align 8 + %37 = load i8**, i8*** %p, align 8 + %38 = load i8*, i8** %37, align 8 + %39 = load i8, i8* %38, align 1 + %conv44 = sext i8 %39 to i32 + %call45 = call i8* @strchr(i8* %36, i32 %conv44) #23 + %tobool46 = icmp ne i8* %call45, null + br i1 %tobool46, label %if.end48, label %if.then47 + +if.then47: ; preds = %if.then43 + %40 = load i64, i64* %tmp, align 8 + %41 = load i64*, i64** %val.addr, align 8 + store i64 %40, i64* %41, align 8 + %42 = load i32, i32* %err, align 4 + %or = or i32 %42, 2 + store i32 %or, i32* %retval, align 4 + br label %return + +if.end48: ; preds = %if.then43 + %43 = load i8**, i8*** %p, align 8 + %44 = load i8*, i8** %43, align 8 + %45 = load i8, i8* %44, align 1 + %conv49 = sext i8 %45 to i32 + br label %NodeBlock21 + +NodeBlock21: ; preds = %if.end48 + %case.cmp22 = icmp eq i32 %conv49, 69 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %conv49, 71 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %conv49, 103 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %conv49, 107 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %conv49, 75 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %conv49, 77 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %conv49, 109 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %conv49, 80 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %conv49, 84 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %conv49, 116 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %conv49, 89 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %conv49, 90 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + %46 = load i8*, i8** %valid_suffixes.addr, align 8 + %call50 = call i8* @strchr(i8* %46, i32 48) #23 + %tobool51 = icmp ne i8* %call50, null + br i1 %tobool51, label %if.then52, label %sw.epilog66 + +if.then52: ; preds = %sw.bb + %47 = load i8**, i8*** %p, align 8 + %arrayidx53 = getelementptr inbounds i8*, i8** %47, i64 0 + %48 = load i8*, i8** %arrayidx53, align 8 + %arrayidx54 = getelementptr inbounds i8, i8* %48, i64 1 + %49 = load i8, i8* %arrayidx54, align 1 + %conv55 = sext i8 %49 to i32 + br label %NodeBlock28 + +NodeBlock28: ; preds = %if.then52 + %case.cmp29 = icmp eq i32 %conv55, 105 + br i1 %case.cmp29, label %sw.bb56, label %NodeBlock26 + +NodeBlock26: ; preds = %NodeBlock28 + %case.cmp27 = icmp eq i32 %conv55, 66 + br i1 %case.cmp27, label %sw.bb64, label %NodeBlock24 + +NodeBlock24: ; preds = %NodeBlock26 + %case.cmp25 = icmp eq i32 %conv55, 68 + br i1 %case.cmp25, label %sw.bb64, label %newDefault23 + +sw.bb56: ; preds = %NodeBlock28 + %50 = load i8**, i8*** %p, align 8 + %arrayidx57 = getelementptr inbounds i8*, i8** %50, i64 0 + %51 = load i8*, i8** %arrayidx57, align 8 + %arrayidx58 = getelementptr inbounds i8, i8* %51, i64 2 + %52 = load i8, i8* %arrayidx58, align 1 + %conv59 = sext i8 %52 to i32 + %cmp60 = icmp eq i32 %conv59, 66 + br i1 %cmp60, label %if.then62, label %sw.epilog66 + +if.then62: ; preds = %sw.bb56 + %53 = load i32, i32* %suffixes, align 4 + %add = add nsw i32 %53, 2 + store i32 %add, i32* %suffixes, align 4 + br label %sw.epilog66 + +sw.bb64: ; preds = %NodeBlock26, %NodeBlock24 + store i32 1000, i32* %base, align 4 + %54 = load i32, i32* %suffixes, align 4 + %inc = add nsw i32 %54, 1 + store i32 %inc, i32* %suffixes, align 4 + br label %sw.epilog66 + +newDefault: ; preds = %NodeBlock + br label %sw.epilog66 + +newDefault23: ; preds = %NodeBlock24 + br label %sw.epilog66 + +sw.epilog66: ; preds = %newDefault23, %newDefault, %sw.bb, %sw.bb56, %if.then62, %sw.bb64 + %55 = load i8**, i8*** %p, align 8 + %56 = load i8*, i8** %55, align 8 + %57 = load i8, i8* %56, align 1 + %conv67 = sext i8 %57 to i32 + br label %NodeBlock61 + +NodeBlock61: ; preds = %sw.epilog66 + %case.cmp62 = icmp eq i32 %conv67, 98 + br i1 %case.cmp62, label %sw.bb68, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %conv67, 66 + br i1 %case.cmp60, label %sw.bb70, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %conv67, 99 + br i1 %case.cmp58, label %sw.bb72, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %conv67, 69 + br i1 %case.cmp56, label %sw.bb73, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %conv67, 71 + br i1 %case.cmp54, label %sw.bb75, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %conv67, 103 + br i1 %case.cmp52, label %sw.bb75, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %conv67, 107 + br i1 %case.cmp50, label %sw.bb77, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %conv67, 75 + br i1 %case.cmp48, label %sw.bb77, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %conv67, 77 + br i1 %case.cmp46, label %sw.bb79, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %conv67, 109 + br i1 %case.cmp44, label %sw.bb79, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %conv67, 80 + br i1 %case.cmp42, label %sw.bb81, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %conv67, 84 + br i1 %case.cmp40, label %sw.bb83, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %conv67, 116 + br i1 %case.cmp38, label %sw.bb83, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %conv67, 119 + br i1 %case.cmp36, label %sw.bb85, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %conv67, 89 + br i1 %case.cmp34, label %sw.bb87, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %conv67, 90 + br i1 %case.cmp32, label %sw.bb89, label %newDefault30 + +sw.bb68: ; preds = %NodeBlock61 + %call69 = call i32 @bkm_scale.178(i64* %tmp, i32 512) + store i32 %call69, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb70: ; preds = %NodeBlock59 + %call71 = call i32 @bkm_scale.178(i64* %tmp, i32 1024) + store i32 %call71, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb72: ; preds = %NodeBlock57 + store i32 0, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb73: ; preds = %NodeBlock55 + %58 = load i32, i32* %base, align 4 + %call74 = call i32 @bkm_scale_by_power.179(i64* %tmp, i32 %58, i32 6) + store i32 %call74, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb75: ; preds = %NodeBlock53, %NodeBlock51 + %59 = load i32, i32* %base, align 4 + %call76 = call i32 @bkm_scale_by_power.179(i64* %tmp, i32 %59, i32 3) + store i32 %call76, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb77: ; preds = %NodeBlock49, %NodeBlock47 + %60 = load i32, i32* %base, align 4 + %call78 = call i32 @bkm_scale_by_power.179(i64* %tmp, i32 %60, i32 1) + store i32 %call78, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb79: ; preds = %NodeBlock45, %NodeBlock43 + %61 = load i32, i32* %base, align 4 + %call80 = call i32 @bkm_scale_by_power.179(i64* %tmp, i32 %61, i32 2) + store i32 %call80, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb81: ; preds = %NodeBlock41 + %62 = load i32, i32* %base, align 4 + %call82 = call i32 @bkm_scale_by_power.179(i64* %tmp, i32 %62, i32 5) + store i32 %call82, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb83: ; preds = %NodeBlock39, %NodeBlock37 + %63 = load i32, i32* %base, align 4 + %call84 = call i32 @bkm_scale_by_power.179(i64* %tmp, i32 %63, i32 4) + store i32 %call84, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb85: ; preds = %NodeBlock35 + %call86 = call i32 @bkm_scale.178(i64* %tmp, i32 2) + store i32 %call86, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb87: ; preds = %NodeBlock33 + %64 = load i32, i32* %base, align 4 + %call88 = call i32 @bkm_scale_by_power.179(i64* %tmp, i32 %64, i32 8) + store i32 %call88, i32* %overflow, align 4 + br label %sw.epilog92 + +sw.bb89: ; preds = %NodeBlock31 + %65 = load i32, i32* %base, align 4 + %call90 = call i32 @bkm_scale_by_power.179(i64* %tmp, i32 %65, i32 7) + store i32 %call90, i32* %overflow, align 4 + br label %sw.epilog92 + +newDefault30: ; preds = %NodeBlock31 + br label %sw.default + +sw.default: ; preds = %newDefault30 + %66 = load i64, i64* %tmp, align 8 + %67 = load i64*, i64** %val.addr, align 8 + store i64 %66, i64* %67, align 8 + %68 = load i32, i32* %err, align 4 + %or91 = or i32 %68, 2 + store i32 %or91, i32* %retval, align 4 + br label %return + +sw.epilog92: ; preds = %sw.bb89, %sw.bb87, %sw.bb85, %sw.bb83, %sw.bb81, %sw.bb79, %sw.bb77, %sw.bb75, %sw.bb73, %sw.bb72, %sw.bb70, %sw.bb68 + %69 = load i32, i32* %overflow, align 4 + %70 = load i32, i32* %err, align 4 + %or93 = or i32 %70, %69 + store i32 %or93, i32* %err, align 4 + %71 = load i32, i32* %suffixes, align 4 + %72 = load i8**, i8*** %p, align 8 + %73 = load i8*, i8** %72, align 8 + %idx.ext = sext i32 %71 to i64 + %add.ptr = getelementptr inbounds i8, i8* %73, i64 %idx.ext + store i8* %add.ptr, i8** %72, align 8 + %74 = load i8**, i8*** %p, align 8 + %75 = load i8*, i8** %74, align 8 + %76 = load i8, i8* %75, align 1 + %tobool94 = icmp ne i8 %76, 0 + br i1 %tobool94, label %if.then95, label %if.end98 + +if.then95: ; preds = %sw.epilog92 + %77 = load i32, i32* %err, align 4 + %or96 = or i32 %77, 2 + store i32 %or96, i32* %err, align 4 + br label %if.end98 + +if.end98: ; preds = %sw.epilog92, %if.then95, %if.end39 + %78 = load i64, i64* %tmp, align 8 + %79 = load i64*, i64** %val.addr, align 8 + store i64 %78, i64* %79, align 8 + %80 = load i32, i32* %err, align 4 + store i32 %80, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end98, %sw.default, %if.then47, %if.then38, %if.then33, %if.else23, %if.then8 + %81 = load i32, i32* %retval, align 4 + ret i32 %81 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @bkm_scale.178(i64* %x, i32 %scale_factor) #3 { +entry: + %retval = alloca i32, align 4 + %x.addr = alloca i64*, align 8 + %scale_factor.addr = alloca i32, align 4 + store i64* %x, i64** %x.addr, align 8 + store i32 %scale_factor, i32* %scale_factor.addr, align 4 + %0 = load i32, i32* %scale_factor.addr, align 4 + %conv = sext i32 %0 to i64 + %div = udiv i64 -1, %conv + %1 = load i64*, i64** %x.addr, align 8 + %2 = load i64, i64* %1, align 8 + %cmp = icmp ult i64 %div, %2 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %3 = load i64*, i64** %x.addr, align 8 + store i64 -1, i64* %3, align 8 + store i32 1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %4 = load i32, i32* %scale_factor.addr, align 4 + %conv2 = sext i32 %4 to i64 + %5 = load i64*, i64** %x.addr, align 8 + %6 = load i64, i64* %5, align 8 + %mul = mul i64 %6, %conv2 + store i64 %mul, i64* %5, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %7 = load i32, i32* %retval, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @bkm_scale_by_power.179(i64* %x, i32 %base, i32 %power) #3 { +entry: + %x.addr = alloca i64*, align 8 + %base.addr = alloca i32, align 4 + %power.addr = alloca i32, align 4 + %err = alloca i32, align 4 + store i64* %x, i64** %x.addr, align 8 + store i32 %base, i32* %base.addr, align 4 + store i32 %power, i32* %power.addr, align 4 + store i32 0, i32* %err, align 4 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %0 = load i32, i32* %power.addr, align 4 + %dec = add nsw i32 %0, -1 + store i32 %dec, i32* %power.addr, align 4 + %tobool = icmp ne i32 %0, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %1 = load i64*, i64** %x.addr, align 8 + %2 = load i32, i32* %base.addr, align 4 + %call = call i32 @bkm_scale.178(i64* %1, i32 %2) + %3 = load i32, i32* %err, align 4 + %or = or i32 %3, %call + store i32 %or, i32* %err, align 4 + br label %while.cond + +while.end: ; preds = %while.cond + %4 = load i32, i32* %err, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote_n(i32 %n, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quote_n_mem(i32 %0, i8* %1, i64 -1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote_n_mem(i32 %n, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %2 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %0, i8* %1, i64 %2, %struct.quoting_options* @quote_quoting_options) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @bkm_scale(i64* %x, i32 %scale_factor) #3 { +entry: + %retval = alloca i32, align 4 + %x.addr = alloca i64*, align 8 + %scale_factor.addr = alloca i32, align 4 + store i64* %x, i64** %x.addr, align 8 + store i32 %scale_factor, i32* %scale_factor.addr, align 4 + %0 = load i32, i32* %scale_factor.addr, align 4 + %conv = sext i32 %0 to i64 + %div = udiv i64 -1, %conv + %1 = load i64*, i64** %x.addr, align 8 + %2 = load i64, i64* %1, align 8 + %cmp = icmp ult i64 %div, %2 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %3 = load i64*, i64** %x.addr, align 8 + store i64 -1, i64* %3, align 8 + store i32 1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %4 = load i32, i32* %scale_factor.addr, align 4 + %conv2 = sext i32 %4 to i64 + %5 = load i64*, i64** %x.addr, align 8 + %6 = load i64, i64* %5, align 8 + %mul = mul i64 %6, %conv2 + store i64 %mul, i64* %5, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %7 = load i32, i32* %retval, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @bkm_scale_by_power(i64* %x, i32 %base, i32 %power) #3 { +entry: + %x.addr = alloca i64*, align 8 + %base.addr = alloca i32, align 4 + %power.addr = alloca i32, align 4 + %err = alloca i32, align 4 + store i64* %x, i64** %x.addr, align 8 + store i32 %base, i32* %base.addr, align 4 + store i32 %power, i32* %power.addr, align 4 + store i32 0, i32* %err, align 4 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %0 = load i32, i32* %power.addr, align 4 + %dec = add nsw i32 %0, -1 + store i32 %dec, i32* %power.addr, align 4 + %tobool = icmp ne i32 %0, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %1 = load i64*, i64** %x.addr, align 8 + %2 = load i32, i32* %base.addr, align 4 + %call = call i32 @bkm_scale(i64* %1, i32 %2) + %3 = load i32, i32* %err, align 4 + %or = or i32 %3, %call + store i32 %or, i32* %err, align 4 + br label %while.cond + +while.end: ; preds = %while.cond + %4 = load i32, i32* %err, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @close_stream(%struct._IO_FILE* %stream) #3 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct._IO_FILE*, align 8 + %some_pending = alloca i8, align 1 + %prev_fail = alloca i8, align 1 + %fclose_fail = alloca i8, align 1 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.513*)* @__fpending to i64 (%struct._IO_FILE*)*)(%struct._IO_FILE* %0) #11 + %cmp = icmp ne i64 %call, 0 + %frombool = zext i1 %cmp to i8 + store i8 %frombool, i8* %some_pending, align 1 + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call1 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.592*)* @ferror_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %1) #11 + %cmp2 = icmp ne i32 %call1, 0 + %frombool3 = zext i1 %cmp2 to i8 + store i8 %frombool3, i8* %prev_fail, align 1 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call4 = call i32 @rpl_fclose(%struct._IO_FILE* %2) + %cmp5 = icmp ne i32 %call4, 0 + %frombool6 = zext i1 %cmp5 to i8 + store i8 %frombool6, i8* %fclose_fail, align 1 + %3 = load i8, i8* %prev_fail, align 1 + %tobool = trunc i8 %3 to i1 + br i1 %tobool, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %4 = load i8, i8* %fclose_fail, align 1 + %tobool7 = trunc i8 %4 to i1 + br i1 %tobool7, label %land.lhs.true, label %if.end15 + +land.lhs.true: ; preds = %lor.lhs.false + %5 = load i8, i8* %some_pending, align 1 + %tobool8 = trunc i8 %5 to i1 + br i1 %tobool8, label %if.then, label %lor.lhs.false9 + +lor.lhs.false9: ; preds = %land.lhs.true + %call10 = call i32* @__errno_location() #25 + %6 = load i32, i32* %call10, align 4 + %cmp11 = icmp ne i32 %6, 9 + br i1 %cmp11, label %if.then, label %if.end15 + +if.then: ; preds = %lor.lhs.false9, %land.lhs.true, %entry + %7 = load i8, i8* %fclose_fail, align 1 + %tobool12 = trunc i8 %7 to i1 + br i1 %tobool12, label %if.end, label %if.then13 + +if.then13: ; preds = %if.then + %call14 = call i32* @__errno_location() #25 + store i32 0, i32* %call14, align 4 + br label %if.end + +if.end: ; preds = %if.then13, %if.then + store i32 -1, i32* %retval, align 4 + br label %return + +if.end15: ; preds = %lor.lhs.false9, %lor.lhs.false + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end15, %if.end + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_colon(i8* %arg) #3 { +entry: + %arg.addr = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_char(i8* %0, i8 signext 58) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_char(i8* %arg, i8 signext %ch) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %ch.addr = alloca i8, align 1 + store i8* %arg, i8** %arg.addr, align 8 + store i8 %ch, i8* %ch.addr, align 1 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i8, i8* %ch.addr, align 1 + %call = call i8* @quotearg_char_mem(i8* %0, i64 -1, i8 signext %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_char_mem(i8* %arg, i64 %argsize, i8 signext %ch) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %ch.addr = alloca i8, align 1 + %options = alloca %struct.quoting_options, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store i8 %ch, i8* %ch.addr, align 1 + %0 = bitcast %struct.quoting_options* %options to i8* + %1 = call i8* @memcpy(i8* %0, i8* bitcast (%struct.quoting_options* @default_quoting_options to i8*), i64 56) + %2 = load i8, i8* %ch.addr, align 1 + %call = call i32 @set_char_quoting(%struct.quoting_options* %options, i8 signext %2, i32 1) + %3 = load i8*, i8** %arg.addr, align 8 + %4 = load i64, i64* %argsize.addr, align 8 + %call1 = call i8* @quotearg_n_options(i32 0, i8* %3, i64 %4, %struct.quoting_options* %options) + ret i8* %call1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @setlocale_null_r(i32 %category, i8* nonnull %buf, i64 %bufsize) #3 { +entry: + %category.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + store i32 %category, i32* %category.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i32, i32* %category.addr, align 4 + %1 = load i8*, i8** %buf.addr, align 8 + %2 = load i64, i64* %bufsize.addr, align 8 + %call = call i32 @setlocale_null_unlocked(i32 %0, i8* %1, i64 %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @setlocale_null_unlocked(i32 %category, i8* %buf, i64 %bufsize) #3 { +entry: + %retval = alloca i32, align 4 + %category.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %result = alloca i8*, align 8 + %length = alloca i64, align 8 + store i32 %category, i32* %category.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i32, i32* %category.addr, align 4 + %call = call i8* @setlocale_null_androidfix(i32 %0) + store i8* %call, i8** %result, align 8 + %1 = load i8*, i8** %result, align 8 + %cmp = icmp eq i8* %1, null + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %2 = load i64, i64* %bufsize.addr, align 8 + %cmp1 = icmp ugt i64 %2, 0 + br i1 %cmp1, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + %3 = load i8*, i8** %buf.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %3, i64 0 + store i8 0, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + store i32 22, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %4 = load i8*, i8** %result, align 8 + %call3 = call i64 @strlen(i8* %4) #23 + store i64 %call3, i64* %length, align 8 + %5 = load i64, i64* %length, align 8 + %6 = load i64, i64* %bufsize.addr, align 8 + %cmp4 = icmp ult i64 %5, %6 + br i1 %cmp4, label %if.then5, label %if.else6 + +if.then5: ; preds = %if.else + %7 = load i8*, i8** %buf.addr, align 8 + %8 = load i8*, i8** %result, align 8 + %9 = load i64, i64* %length, align 8 + %add = add i64 %9, 1 + %10 = call i8* @memcpy(i8* %7, i8* %8, i64 %add) + store i32 0, i32* %retval, align 4 + br label %return + +if.else6: ; preds = %if.else + %11 = load i64, i64* %bufsize.addr, align 8 + %cmp7 = icmp ugt i64 %11, 0 + br i1 %cmp7, label %if.then8, label %if.end11 + +if.then8: ; preds = %if.else6 + %12 = load i8*, i8** %buf.addr, align 8 + %13 = load i8*, i8** %result, align 8 + %14 = load i64, i64* %bufsize.addr, align 8 + %sub = sub i64 %14, 1 + %15 = call i8* @memcpy(i8* %12, i8* %13, i64 %sub) + %16 = load i8*, i8** %buf.addr, align 8 + %17 = load i64, i64* %bufsize.addr, align 8 + %sub9 = sub i64 %17, 1 + %arrayidx10 = getelementptr inbounds i8, i8* %16, i64 %sub9 + store i8 0, i8* %arrayidx10, align 1 + br label %if.end11 + +if.end11: ; preds = %if.then8, %if.else6 + store i32 34, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end11, %if.then5, %if.end + %18 = load i32, i32* %retval, align 4 + ret i32 %18 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @setlocale_null_androidfix(i32 %category) #3 { +entry: + %category.addr = alloca i32, align 4 + %result = alloca i8*, align 8 + store i32 %category, i32* %category.addr, align 4 + %0 = load i32, i32* %category.addr, align 4 + %call = call i8* @setlocale(i32 %0, i8* null) #11 + store i8* %call, i8** %result, align 8 + %1 = load i8*, i8** %result, align 8 + ret i8* %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @close_stdout_set_file_name(i8* %file) #3 { +entry: + %file.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + store i8* %0, i8** @file_name, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @close_stdout_set_ignore_EPIPE(i1 zeroext %ignore) #3 { +entry: + %ignore.addr = alloca i8, align 1 + %frombool = zext i1 %ignore to i8 + store i8 %frombool, i8* %ignore.addr, align 1 + %0 = load i8, i8* %ignore.addr, align 1 + %tobool = trunc i8 %0 to i1 + %frombool1 = zext i1 %tobool to i8 + store i8 %frombool1, i8* @ignore_EPIPE, align 1 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @initbuffer(%struct.linebuffer* %linebuffer) #3 { +entry: + %linebuffer.addr = alloca %struct.linebuffer*, align 8 + store %struct.linebuffer* %linebuffer, %struct.linebuffer** %linebuffer.addr, align 8 + %0 = load %struct.linebuffer*, %struct.linebuffer** %linebuffer.addr, align 8 + %1 = bitcast %struct.linebuffer* %0 to i8* + %2 = call i8* @memset(i8* %1, i32 0, i64 24) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local %struct.linebuffer* @readlinebuffer(%struct.linebuffer* %linebuffer, %struct._IO_FILE* %stream) #3 { +entry: + %linebuffer.addr = alloca %struct.linebuffer*, align 8 + %stream.addr = alloca %struct._IO_FILE*, align 8 + store %struct.linebuffer* %linebuffer, %struct.linebuffer** %linebuffer.addr, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + %0 = load %struct.linebuffer*, %struct.linebuffer** %linebuffer.addr, align 8 + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call = call %struct.linebuffer* @readlinebuffer_delim(%struct.linebuffer* %0, %struct._IO_FILE* %1, i8 signext 10) + ret %struct.linebuffer* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @freebuffer(%struct.linebuffer* %linebuffer) #3 { +entry: + %linebuffer.addr = alloca %struct.linebuffer*, align 8 + store %struct.linebuffer* %linebuffer, %struct.linebuffer** %linebuffer.addr, align 8 + %0 = load %struct.linebuffer*, %struct.linebuffer** %linebuffer.addr, align 8 + %buffer = getelementptr inbounds %struct.linebuffer, %struct.linebuffer* %0, i32 0, i32 2 + %1 = load i8*, i8** %buffer, align 8 + call void @free(i8* %1) #11 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local %struct.quoting_options* @clone_quoting_options(%struct.quoting_options* %o) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %p = alloca %struct.quoting_options*, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %call = call i32* @__errno_location() #25 + %0 = load i32, i32* %call, align 4 + store i32 %0, i32* %e, align 4 + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %1, null + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %2, %struct.quoting_options* @default_quoting_options + %3 = bitcast %struct.quoting_options* %cond to i8* + %call1 = call i8* @xmemdup(i8* %3, i64 56) + %4 = bitcast i8* %call1 to %struct.quoting_options* + store %struct.quoting_options* %4, %struct.quoting_options** %p, align 8 + %5 = load i32, i32* %e, align 4 + %call2 = call i32* @__errno_location() #25 + store i32 %5, i32* %call2, align 4 + %6 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + ret %struct.quoting_options* %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @xmemdup(i8* %p, i64 %s) #3 { +entry: + %p.addr = alloca i8*, align 8 + %s.addr = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %call = call noalias i8* @xmalloc(i64 %0) + %1 = load i8*, i8** %p.addr, align 8 + %2 = load i64, i64* %s.addr, align 8 + %3 = call i8* @memcpy(i8* %call, i8* %1, i64 %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @get_quoting_style(%struct.quoting_options* %o) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %1, %struct.quoting_options* @default_quoting_options + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %cond, i32 0, i32 0 + %2 = load i32, i32* %style, align 8 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_quoting_style(%struct.quoting_options* %o, i32 %s) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %s.addr = alloca i32, align 4 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i32 %s, i32* %s.addr, align 4 + %0 = load i32, i32* %s.addr, align 4 + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %1, null + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %2, %struct.quoting_options* @default_quoting_options + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %cond, i32 0, i32 0 + store i32 %0, i32* %style, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @set_quoting_flags(%struct.quoting_options* %o, i32 %i) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %i.addr = alloca i32, align 4 + %r = alloca i32, align 4 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i32 %i, i32* %i.addr, align 4 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store %struct.quoting_options* @default_quoting_options, %struct.quoting_options** %o.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %flags = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %1, i32 0, i32 1 + %2 = load i32, i32* %flags, align 4 + store i32 %2, i32* %r, align 4 + %3 = load i32, i32* %i.addr, align 4 + %4 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %flags1 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %4, i32 0, i32 1 + store i32 %3, i32* %flags1, align 4 + %5 = load i32, i32* %r, align 4 + ret i32 %5 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_custom_quoting(%struct.quoting_options* %o, i8* %left_quote, i8* %right_quote) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store %struct.quoting_options* @default_quoting_options, %struct.quoting_options** %o.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %1, i32 0, i32 0 + store i32 10, i32* %style, align 8 + %2 = load i8*, i8** %left_quote.addr, align 8 + %tobool1 = icmp ne i8* %2, null + %3 = load i8*, i8** %right_quote.addr, align 8 + %tobool2 = icmp ne i8* %3, null + %or.cond = and i1 %tobool1, %tobool2 + br i1 %or.cond, label %if.end4, label %if.then3 + +if.then3: ; preds = %if.end + call void @abort() #26 + unreachable + +if.end4: ; preds = %if.end + %4 = load i8*, i8** %left_quote.addr, align 8 + %5 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %left_quote5 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %5, i32 0, i32 3 + store i8* %4, i8** %left_quote5, align 8 + %6 = load i8*, i8** %right_quote.addr, align 8 + %7 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %right_quote6 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %7, i32 0, i32 4 + store i8* %6, i8** %right_quote6, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @quotearg_buffer(i8* %buffer, i64 %buffersize, i8* %arg, i64 %argsize, %struct.quoting_options* %o) #3 { +entry: + %buffer.addr = alloca i8*, align 8 + %buffersize.addr = alloca i64, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o.addr = alloca %struct.quoting_options*, align 8 + %p = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %r = alloca i64, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %buffersize, i64* %buffersize.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %1, %struct.quoting_options* @default_quoting_options + store %struct.quoting_options* %cond, %struct.quoting_options** %p, align 8 + %call = call i32* @__errno_location() #25 + %2 = load i32, i32* %call, align 4 + store i32 %2, i32* %e, align 4 + %3 = load i8*, i8** %buffer.addr, align 8 + %4 = load i64, i64* %buffersize.addr, align 8 + %5 = load i8*, i8** %arg.addr, align 8 + %6 = load i64, i64* %argsize.addr, align 8 + %7 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %7, i32 0, i32 0 + %8 = load i32, i32* %style, align 8 + %9 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %flags = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %9, i32 0, i32 1 + %10 = load i32, i32* %flags, align 4 + %11 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %11, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %12 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %left_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %12, i32 0, i32 3 + %13 = load i8*, i8** %left_quote, align 8 + %14 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %right_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %14, i32 0, i32 4 + %15 = load i8*, i8** %right_quote, align 8 + %call1 = call i64 @quotearg_buffer_restyled(i8* %3, i64 %4, i8* %5, i64 %6, i32 %8, i32 %10, i32* %arraydecay, i8* %13, i8* %15) + store i64 %call1, i64* %r, align 8 + %16 = load i32, i32* %e, align 4 + %call2 = call i32* @__errno_location() #25 + store i32 %16, i32* %call2, align 4 + %17 = load i64, i64* %r, align 8 + ret i64 %17 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_alloc(i8* %arg, i64 %argsize, %struct.quoting_options* %o) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o.addr = alloca %struct.quoting_options*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %call = call i8* @quotearg_alloc_mem(i8* %0, i64 %1, i64* null, %struct.quoting_options* %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_alloc_mem(i8* %arg, i64 %argsize, i64* %size, %struct.quoting_options* %o) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %size.addr = alloca i64*, align 8 + %o.addr = alloca %struct.quoting_options*, align 8 + %p = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %flags = alloca i32, align 4 + %bufsize = alloca i64, align 8 + %buf = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store i64* %size, i64** %size.addr, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %1, %struct.quoting_options* @default_quoting_options + store %struct.quoting_options* %cond, %struct.quoting_options** %p, align 8 + %call = call i32* @__errno_location() #25 + %2 = load i32, i32* %call, align 4 + store i32 %2, i32* %e, align 4 + %3 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %flags1 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %3, i32 0, i32 1 + %4 = load i32, i32* %flags1, align 4 + %5 = load i64*, i64** %size.addr, align 8 + %tobool2 = icmp ne i64* %5, null + %6 = zext i1 %tobool2 to i64 + %cond3 = select i1 %tobool2, i32 0, i32 1 + %or = or i32 %4, %cond3 + store i32 %or, i32* %flags, align 4 + %7 = load i8*, i8** %arg.addr, align 8 + %8 = load i64, i64* %argsize.addr, align 8 + %9 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %9, i32 0, i32 0 + %10 = load i32, i32* %style, align 8 + %11 = load i32, i32* %flags, align 4 + %12 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %12, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %13 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %left_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %13, i32 0, i32 3 + %14 = load i8*, i8** %left_quote, align 8 + %15 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %right_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %15, i32 0, i32 4 + %16 = load i8*, i8** %right_quote, align 8 + %call4 = call i64 @quotearg_buffer_restyled(i8* null, i64 0, i8* %7, i64 %8, i32 %10, i32 %11, i32* %arraydecay, i8* %14, i8* %16) + %add = add i64 %call4, 1 + store i64 %add, i64* %bufsize, align 8 + %17 = load i64, i64* %bufsize, align 8 + %call5 = call noalias i8* @xcharalloc(i64 %17) + store i8* %call5, i8** %buf, align 8 + %18 = load i8*, i8** %buf, align 8 + %19 = load i64, i64* %bufsize, align 8 + %20 = load i8*, i8** %arg.addr, align 8 + %21 = load i64, i64* %argsize.addr, align 8 + %22 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %style6 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %22, i32 0, i32 0 + %23 = load i32, i32* %style6, align 8 + %24 = load i32, i32* %flags, align 4 + %25 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %quote_these_too7 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %25, i32 0, i32 2 + %arraydecay8 = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too7, i64 0, i64 0 + %26 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %left_quote9 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %26, i32 0, i32 3 + %27 = load i8*, i8** %left_quote9, align 8 + %28 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %right_quote10 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %28, i32 0, i32 4 + %29 = load i8*, i8** %right_quote10, align 8 + %call11 = call i64 @quotearg_buffer_restyled(i8* %18, i64 %19, i8* %20, i64 %21, i32 %23, i32 %24, i32* %arraydecay8, i8* %27, i8* %29) + %30 = load i32, i32* %e, align 4 + %call12 = call i32* @__errno_location() #25 + store i32 %30, i32* %call12, align 4 + %31 = load i64*, i64** %size.addr, align 8 + %tobool13 = icmp ne i64* %31, null + br i1 %tobool13, label %if.then, label %if.end + +if.then: ; preds = %entry + %32 = load i64, i64* %bufsize, align 8 + %sub = sub i64 %32, 1 + %33 = load i64*, i64** %size.addr, align 8 + store i64 %sub, i64* %33, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %34 = load i8*, i8** %buf, align 8 + ret i8* %34 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @quotearg_free() #3 { +entry: + %sv = alloca %struct.slotvec*, align 8 + %i = alloca i32, align 4 + %0 = load %struct.slotvec*, %struct.slotvec** @slotvec, align 8 + store %struct.slotvec* %0, %struct.slotvec** %sv, align 8 + store i32 1, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %1 = load i32, i32* %i, align 4 + %2 = load i32, i32* @nslots, align 4 + %cmp = icmp slt i32 %1, %2 + %3 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %4 = load i32, i32* %i, align 4 + %idxprom = sext i32 %4 to i64 + %arrayidx = getelementptr inbounds %struct.slotvec, %struct.slotvec* %3, i64 %idxprom + %val = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx, i32 0, i32 1 + %5 = load i8*, i8** %val, align 8 + call void @free(i8* %5) #11 + %6 = load i32, i32* %i, align 4 + %inc = add nsw i32 %6, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %arrayidx1 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %3, i64 0 + %val2 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx1, i32 0, i32 1 + %7 = load i8*, i8** %val2, align 8 + %cmp3 = icmp ne i8* %7, getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i64 0, i64 0) + br i1 %cmp3, label %if.then, label %if.end + +if.then: ; preds = %for.end + %8 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %arrayidx4 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %8, i64 0 + %val5 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx4, i32 0, i32 1 + %9 = load i8*, i8** %val5, align 8 + call void @free(i8* %9) #11 + store i64 256, i64* getelementptr inbounds (%struct.slotvec, %struct.slotvec* @slotvec0, i32 0, i32 0), align 8 + store i8* getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i64 0, i64 0), i8** getelementptr inbounds (%struct.slotvec, %struct.slotvec* @slotvec0, i32 0, i32 1), align 8 + br label %if.end + +if.end: ; preds = %if.then, %for.end + %10 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %cmp6 = icmp ne %struct.slotvec* %10, @slotvec0 + br i1 %cmp6, label %if.then7, label %if.end8 + +if.then7: ; preds = %if.end + %11 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %12 = bitcast %struct.slotvec* %11 to i8* + call void @free(i8* %12) #11 + store %struct.slotvec* @slotvec0, %struct.slotvec** @slotvec, align 8 + br label %if.end8 + +if.end8: ; preds = %if.then7, %if.end + store i32 1, i32* @nslots, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n(i32 %n, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %0, i8* %1, i64 -1, %struct.quoting_options* @default_quoting_options) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_mem(i32 %n, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %2 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %0, i8* %1, i64 %2, %struct.quoting_options* @default_quoting_options) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg(i8* %arg) #3 { +entry: + %arg.addr = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n(i32 0, i8* %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_mem(i8* %arg, i64 %argsize) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_mem(i32 0, i8* %0, i64 %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_style_mem(i32 %s, i8* %arg, i64 %argsize) #3 { +entry: + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %2 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_style_mem(i32 0, i32 %0, i8* %1, i64 %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_colon_mem(i8* %arg, i64 %argsize) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_char_mem(i8* %0, i64 %1, i8 signext 58) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_custom(i32 %n, i8* %left_quote, i8* %right_quote, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %left_quote.addr, align 8 + %2 = load i8*, i8** %right_quote.addr, align 8 + %3 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_custom_mem(i32 %0, i8* %1, i8* %2, i8* %3, i64 -1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_custom_mem(i32 %n, i8* %left_quote, i8* %right_quote, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = bitcast %struct.quoting_options* %o to i8* + %1 = call i8* @memcpy(i8* %0, i8* bitcast (%struct.quoting_options* @default_quoting_options to i8*), i64 56) + %2 = load i8*, i8** %left_quote.addr, align 8 + %3 = load i8*, i8** %right_quote.addr, align 8 + call void @set_custom_quoting(%struct.quoting_options* %o, i8* %2, i8* %3) + %4 = load i32, i32* %n.addr, align 4 + %5 = load i8*, i8** %arg.addr, align 8 + %6 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %4, i8* %5, i64 %6, %struct.quoting_options* %o) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_custom(i8* %left_quote, i8* %right_quote, i8* %arg) #3 { +entry: + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %left_quote.addr, align 8 + %1 = load i8*, i8** %right_quote.addr, align 8 + %2 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_custom(i32 0, i8* %0, i8* %1, i8* %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_custom_mem(i8* %left_quote, i8* %right_quote, i8* %arg, i64 %argsize) #3 { +entry: + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %left_quote.addr, align 8 + %1 = load i8*, i8** %right_quote.addr, align 8 + %2 = load i8*, i8** %arg.addr, align 8 + %3 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_custom_mem(i32 0, i8* %0, i8* %1, i8* %2, i64 %3) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote_mem(i8* %arg, i64 %argsize) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quote_n_mem(i32 0, i8* %0, i64 %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @setlocale_null(i32 %category) #3 { +entry: + %category.addr = alloca i32, align 4 + store i32 %category, i32* %category.addr, align 4 + %0 = load i32, i32* %category.addr, align 4 + %call = call i8* @setlocale_null_androidfix(i32 %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc_ar(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, i8** %authors) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors.addr = alloca i8**, align 8 + %n_authors = alloca i64, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + store i8** %authors, i8*** %authors.addr, align 8 + store i64 0, i64* %n_authors, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i8**, i8*** %authors.addr, align 8 + %1 = load i64, i64* %n_authors, align 8 + %arrayidx = getelementptr inbounds i8*, i8** %0, i64 %1 + %2 = load i8*, i8** %arrayidx, align 8 + %tobool = icmp ne i8* %2, null + br i1 %tobool, label %for.inc, label %for.end + +for.inc: ; preds = %for.cond + %3 = load i64, i64* %n_authors, align 8 + %inc = add i64 %3, 1 + store i64 %inc, i64* %n_authors, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %5 = load i8*, i8** %command_name.addr, align 8 + %6 = load i8*, i8** %package.addr, align 8 + %7 = load i8*, i8** %version.addr, align 8 + %8 = load i8**, i8*** %authors.addr, align 8 + %9 = load i64, i64* %n_authors, align 8 + call void @version_etc_arn(%struct._IO_FILE* %4, i8* %5, i8* %6, i8* %7, i8** %8, i64 %9) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @emit_bug_reporting_address() #3 { +entry: + %0 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.123, i64 0, i64 0), %struct._IO_FILE* %0) + %call1 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.16.138, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.17.139, i64 0, i64 0)) + %call2 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.18.140, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.19.141, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.20.142, i64 0, i64 0)) + %call3 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.21.143, i64 0, i64 0), i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.22.144, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xnmalloc(i64 %n, i64 %s) #3 { +entry: + %n.addr = alloca i64, align 8 + %s.addr = alloca i64, align 8 + store i64 %n, i64* %n.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %div = udiv i64 9223372036854775807, %0 + %1 = load i64, i64* %n.addr, align 8 + %cmp = icmp ult i64 %div, %1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %entry + %2 = load i64, i64* %n.addr, align 8 + %3 = load i64, i64* %s.addr, align 8 + %mul = mul i64 %2, %3 + %call = call noalias i8* @xmalloc(i64 %mul) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @xnrealloc(i8* %p, i64 %n, i64 %s) #3 { +entry: + %p.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %s.addr = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %div = udiv i64 9223372036854775807, %0 + %1 = load i64, i64* %n.addr, align 8 + %cmp = icmp ult i64 %div, %1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %p.addr, align 8 + %3 = load i64, i64* %n.addr, align 8 + %4 = load i64, i64* %s.addr, align 8 + %mul = mul i64 %3, %4 + %call = call i8* @xrealloc(i8* %2, i64 %mul) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xzalloc(i64 %n) #3 { +entry: + %n.addr = alloca i64, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @xcalloc(i64 %0, i64 1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xstrdup(i8* %string) #3 { +entry: + %string.addr = alloca i8*, align 8 + store i8* %string, i8** %string.addr, align 8 + %0 = load i8*, i8** %string.addr, align 8 + %1 = load i8*, i8** %string.addr, align 8 + %call = call i64 @strlen(i8* %1) #23 + %add = add i64 %call, 1 + %call1 = call i8* @xmemdup(i8* %0, i64 %add) + ret i8* %call1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @xmemcoll0(i8* %s1, i64 %s1size, i8* %s2, i64 %s2size) #3 { +entry: + %s1.addr = alloca i8*, align 8 + %s1size.addr = alloca i64, align 8 + %s2.addr = alloca i8*, align 8 + %s2size.addr = alloca i64, align 8 + %diff = alloca i32, align 4 + %collation_errno = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i64 %s1size, i64* %s1size.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %s2size, i64* %s2size.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + %1 = load i64, i64* %s1size.addr, align 8 + %2 = load i8*, i8** %s2.addr, align 8 + %3 = load i64, i64* %s2size.addr, align 8 + %call = call i32 @memcoll0(i8* %0, i64 %1, i8* %2, i64 %3) + store i32 %call, i32* %diff, align 4 + %call1 = call i32* @__errno_location() #25 + %4 = load i32, i32* %call1, align 4 + store i32 %4, i32* %collation_errno, align 4 + %5 = load i32, i32* %collation_errno, align 4 + %tobool = icmp ne i32 %5, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %6 = load i32, i32* %collation_errno, align 4 + %7 = load i8*, i8** %s1.addr, align 8 + %8 = load i64, i64* %s1size.addr, align 8 + %sub = sub i64 %8, 1 + %9 = load i8*, i8** %s2.addr, align 8 + %10 = load i64, i64* %s2size.addr, align 8 + %sub2 = sub i64 %10, 1 + call void @collate_error(i32 %6, i8* %7, i64 %sub, i8* %9, i64 %sub2) + br label %if.end + +if.end: ; preds = %if.then, %entry + %11 = load i32, i32* %diff, align 4 + ret i32 %11 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @memcoll0(i8* %s1, i64 %s1size, i8* %s2, i64 %s2size) #3 { +entry: + %retval = alloca i32, align 4 + %s1.addr = alloca i8*, align 8 + %s1size.addr = alloca i64, align 8 + %s2.addr = alloca i8*, align 8 + %s2size.addr = alloca i64, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i64 %s1size, i64* %s1size.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %s2size, i64* %s2size.addr, align 8 + %0 = load i64, i64* %s1size.addr, align 8 + %1 = load i64, i64* %s2size.addr, align 8 + %cmp = icmp eq i64 %0, %1 + br i1 %cmp, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %entry + %2 = load i8*, i8** %s1.addr, align 8 + %3 = load i8*, i8** %s2.addr, align 8 + %4 = load i64, i64* %s1size.addr, align 8 + %call = call i32 @memcmp(i8* %2, i8* %3, i64 %4) #23 + %cmp1 = icmp eq i32 %call, 0 + br i1 %cmp1, label %if.then, label %if.else + +if.then: ; preds = %land.lhs.true + %call2 = call i32* @__errno_location() #25 + store i32 0, i32* %call2, align 4 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %land.lhs.true, %entry + %5 = load i8*, i8** %s1.addr, align 8 + %6 = load i64, i64* %s1size.addr, align 8 + %7 = load i8*, i8** %s2.addr, align 8 + %8 = load i64, i64* %s2size.addr, align 8 + %call3 = call i32 @strcoll_loop(i8* %5, i64 %6, i8* %7, i64 %8) + store i32 %call3, i32* %retval, align 4 + br label %return + +return: ; preds = %if.else, %if.then + %9 = load i32, i32* %retval, align 4 + ret i32 %9 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isalnum(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock121 + +NodeBlock121: ; preds = %entry + %case.cmp122 = icmp eq i32 %0, 48 + br i1 %case.cmp122, label %sw.bb, label %NodeBlock119 + +NodeBlock119: ; preds = %NodeBlock121 + %case.cmp120 = icmp eq i32 %0, 49 + br i1 %case.cmp120, label %sw.bb, label %NodeBlock117 + +NodeBlock117: ; preds = %NodeBlock119 + %case.cmp118 = icmp eq i32 %0, 50 + br i1 %case.cmp118, label %sw.bb, label %NodeBlock115 + +NodeBlock115: ; preds = %NodeBlock117 + %case.cmp116 = icmp eq i32 %0, 51 + br i1 %case.cmp116, label %sw.bb, label %NodeBlock113 + +NodeBlock113: ; preds = %NodeBlock115 + %case.cmp114 = icmp eq i32 %0, 52 + br i1 %case.cmp114, label %sw.bb, label %NodeBlock111 + +NodeBlock111: ; preds = %NodeBlock113 + %case.cmp112 = icmp eq i32 %0, 53 + br i1 %case.cmp112, label %sw.bb, label %NodeBlock109 + +NodeBlock109: ; preds = %NodeBlock111 + %case.cmp110 = icmp eq i32 %0, 54 + br i1 %case.cmp110, label %sw.bb, label %NodeBlock107 + +NodeBlock107: ; preds = %NodeBlock109 + %case.cmp108 = icmp eq i32 %0, 55 + br i1 %case.cmp108, label %sw.bb, label %NodeBlock105 + +NodeBlock105: ; preds = %NodeBlock107 + %case.cmp106 = icmp eq i32 %0, 56 + br i1 %case.cmp106, label %sw.bb, label %NodeBlock103 + +NodeBlock103: ; preds = %NodeBlock105 + %case.cmp104 = icmp eq i32 %0, 57 + br i1 %case.cmp104, label %sw.bb, label %NodeBlock101 + +NodeBlock101: ; preds = %NodeBlock103 + %case.cmp102 = icmp eq i32 %0, 97 + br i1 %case.cmp102, label %sw.bb, label %NodeBlock99 + +NodeBlock99: ; preds = %NodeBlock101 + %case.cmp100 = icmp eq i32 %0, 98 + br i1 %case.cmp100, label %sw.bb, label %NodeBlock97 + +NodeBlock97: ; preds = %NodeBlock99 + %case.cmp98 = icmp eq i32 %0, 99 + br i1 %case.cmp98, label %sw.bb, label %NodeBlock95 + +NodeBlock95: ; preds = %NodeBlock97 + %case.cmp96 = icmp eq i32 %0, 100 + br i1 %case.cmp96, label %sw.bb, label %NodeBlock93 + +NodeBlock93: ; preds = %NodeBlock95 + %case.cmp94 = icmp eq i32 %0, 101 + br i1 %case.cmp94, label %sw.bb, label %NodeBlock91 + +NodeBlock91: ; preds = %NodeBlock93 + %case.cmp92 = icmp eq i32 %0, 102 + br i1 %case.cmp92, label %sw.bb, label %NodeBlock89 + +NodeBlock89: ; preds = %NodeBlock91 + %case.cmp90 = icmp eq i32 %0, 103 + br i1 %case.cmp90, label %sw.bb, label %NodeBlock87 + +NodeBlock87: ; preds = %NodeBlock89 + %case.cmp88 = icmp eq i32 %0, 104 + br i1 %case.cmp88, label %sw.bb, label %NodeBlock85 + +NodeBlock85: ; preds = %NodeBlock87 + %case.cmp86 = icmp eq i32 %0, 105 + br i1 %case.cmp86, label %sw.bb, label %NodeBlock83 + +NodeBlock83: ; preds = %NodeBlock85 + %case.cmp84 = icmp eq i32 %0, 106 + br i1 %case.cmp84, label %sw.bb, label %NodeBlock81 + +NodeBlock81: ; preds = %NodeBlock83 + %case.cmp82 = icmp eq i32 %0, 107 + br i1 %case.cmp82, label %sw.bb, label %NodeBlock79 + +NodeBlock79: ; preds = %NodeBlock81 + %case.cmp80 = icmp eq i32 %0, 108 + br i1 %case.cmp80, label %sw.bb, label %NodeBlock77 + +NodeBlock77: ; preds = %NodeBlock79 + %case.cmp78 = icmp eq i32 %0, 109 + br i1 %case.cmp78, label %sw.bb, label %NodeBlock75 + +NodeBlock75: ; preds = %NodeBlock77 + %case.cmp76 = icmp eq i32 %0, 110 + br i1 %case.cmp76, label %sw.bb, label %NodeBlock73 + +NodeBlock73: ; preds = %NodeBlock75 + %case.cmp74 = icmp eq i32 %0, 111 + br i1 %case.cmp74, label %sw.bb, label %NodeBlock71 + +NodeBlock71: ; preds = %NodeBlock73 + %case.cmp72 = icmp eq i32 %0, 112 + br i1 %case.cmp72, label %sw.bb, label %NodeBlock69 + +NodeBlock69: ; preds = %NodeBlock71 + %case.cmp70 = icmp eq i32 %0, 113 + br i1 %case.cmp70, label %sw.bb, label %NodeBlock67 + +NodeBlock67: ; preds = %NodeBlock69 + %case.cmp68 = icmp eq i32 %0, 114 + br i1 %case.cmp68, label %sw.bb, label %NodeBlock65 + +NodeBlock65: ; preds = %NodeBlock67 + %case.cmp66 = icmp eq i32 %0, 115 + br i1 %case.cmp66, label %sw.bb, label %NodeBlock63 + +NodeBlock63: ; preds = %NodeBlock65 + %case.cmp64 = icmp eq i32 %0, 116 + br i1 %case.cmp64, label %sw.bb, label %NodeBlock61 + +NodeBlock61: ; preds = %NodeBlock63 + %case.cmp62 = icmp eq i32 %0, 117 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 118 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 119 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 120 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 121 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 122 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 65 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 66 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 67 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 68 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 69 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 70 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 71 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 72 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 73 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 74 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 75 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 76 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 77 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 78 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 79 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 80 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 81 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 82 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 83 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 84 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 85 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 86 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 87 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 88 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 89 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 90 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock121, %NodeBlock119, %NodeBlock117, %NodeBlock115, %NodeBlock113, %NodeBlock111, %NodeBlock109, %NodeBlock107, %NodeBlock105, %NodeBlock103, %NodeBlock101, %NodeBlock99, %NodeBlock97, %NodeBlock95, %NodeBlock93, %NodeBlock91, %NodeBlock89, %NodeBlock87, %NodeBlock85, %NodeBlock83, %NodeBlock81, %NodeBlock79, %NodeBlock77, %NodeBlock75, %NodeBlock73, %NodeBlock71, %NodeBlock69, %NodeBlock67, %NodeBlock65, %NodeBlock63, %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isalpha(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock101 + +NodeBlock101: ; preds = %entry + %case.cmp102 = icmp eq i32 %0, 97 + br i1 %case.cmp102, label %sw.bb, label %NodeBlock99 + +NodeBlock99: ; preds = %NodeBlock101 + %case.cmp100 = icmp eq i32 %0, 98 + br i1 %case.cmp100, label %sw.bb, label %NodeBlock97 + +NodeBlock97: ; preds = %NodeBlock99 + %case.cmp98 = icmp eq i32 %0, 99 + br i1 %case.cmp98, label %sw.bb, label %NodeBlock95 + +NodeBlock95: ; preds = %NodeBlock97 + %case.cmp96 = icmp eq i32 %0, 100 + br i1 %case.cmp96, label %sw.bb, label %NodeBlock93 + +NodeBlock93: ; preds = %NodeBlock95 + %case.cmp94 = icmp eq i32 %0, 101 + br i1 %case.cmp94, label %sw.bb, label %NodeBlock91 + +NodeBlock91: ; preds = %NodeBlock93 + %case.cmp92 = icmp eq i32 %0, 102 + br i1 %case.cmp92, label %sw.bb, label %NodeBlock89 + +NodeBlock89: ; preds = %NodeBlock91 + %case.cmp90 = icmp eq i32 %0, 103 + br i1 %case.cmp90, label %sw.bb, label %NodeBlock87 + +NodeBlock87: ; preds = %NodeBlock89 + %case.cmp88 = icmp eq i32 %0, 104 + br i1 %case.cmp88, label %sw.bb, label %NodeBlock85 + +NodeBlock85: ; preds = %NodeBlock87 + %case.cmp86 = icmp eq i32 %0, 105 + br i1 %case.cmp86, label %sw.bb, label %NodeBlock83 + +NodeBlock83: ; preds = %NodeBlock85 + %case.cmp84 = icmp eq i32 %0, 106 + br i1 %case.cmp84, label %sw.bb, label %NodeBlock81 + +NodeBlock81: ; preds = %NodeBlock83 + %case.cmp82 = icmp eq i32 %0, 107 + br i1 %case.cmp82, label %sw.bb, label %NodeBlock79 + +NodeBlock79: ; preds = %NodeBlock81 + %case.cmp80 = icmp eq i32 %0, 108 + br i1 %case.cmp80, label %sw.bb, label %NodeBlock77 + +NodeBlock77: ; preds = %NodeBlock79 + %case.cmp78 = icmp eq i32 %0, 109 + br i1 %case.cmp78, label %sw.bb, label %NodeBlock75 + +NodeBlock75: ; preds = %NodeBlock77 + %case.cmp76 = icmp eq i32 %0, 110 + br i1 %case.cmp76, label %sw.bb, label %NodeBlock73 + +NodeBlock73: ; preds = %NodeBlock75 + %case.cmp74 = icmp eq i32 %0, 111 + br i1 %case.cmp74, label %sw.bb, label %NodeBlock71 + +NodeBlock71: ; preds = %NodeBlock73 + %case.cmp72 = icmp eq i32 %0, 112 + br i1 %case.cmp72, label %sw.bb, label %NodeBlock69 + +NodeBlock69: ; preds = %NodeBlock71 + %case.cmp70 = icmp eq i32 %0, 113 + br i1 %case.cmp70, label %sw.bb, label %NodeBlock67 + +NodeBlock67: ; preds = %NodeBlock69 + %case.cmp68 = icmp eq i32 %0, 114 + br i1 %case.cmp68, label %sw.bb, label %NodeBlock65 + +NodeBlock65: ; preds = %NodeBlock67 + %case.cmp66 = icmp eq i32 %0, 115 + br i1 %case.cmp66, label %sw.bb, label %NodeBlock63 + +NodeBlock63: ; preds = %NodeBlock65 + %case.cmp64 = icmp eq i32 %0, 116 + br i1 %case.cmp64, label %sw.bb, label %NodeBlock61 + +NodeBlock61: ; preds = %NodeBlock63 + %case.cmp62 = icmp eq i32 %0, 117 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 118 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 119 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 120 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 121 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 122 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 65 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 66 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 67 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 68 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 69 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 70 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 71 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 72 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 73 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 74 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 75 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 76 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 77 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 78 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 79 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 80 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 81 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 82 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 83 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 84 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 85 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 86 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 87 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 88 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 89 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 90 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock101, %NodeBlock99, %NodeBlock97, %NodeBlock95, %NodeBlock93, %NodeBlock91, %NodeBlock89, %NodeBlock87, %NodeBlock85, %NodeBlock83, %NodeBlock81, %NodeBlock79, %NodeBlock77, %NodeBlock75, %NodeBlock73, %NodeBlock71, %NodeBlock69, %NodeBlock67, %NodeBlock65, %NodeBlock63, %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isascii(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %switch = icmp ult i32 %0, 128 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isblank(i32 %c) #3 { +entry: + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %cmp = icmp eq i32 %0, 32 + %1 = load i32, i32* %c.addr, align 4 + %cmp1 = icmp eq i32 %1, 9 + %2 = select i1 %cmp, i1 true, i1 %cmp1 + ret i1 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_iscntrl(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock63 + +NodeBlock63: ; preds = %entry + %case.cmp64 = icmp eq i32 %0, 7 + br i1 %case.cmp64, label %sw.bb, label %NodeBlock61 + +NodeBlock61: ; preds = %NodeBlock63 + %case.cmp62 = icmp eq i32 %0, 8 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 12 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 10 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 13 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 9 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 11 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 0 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 1 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 2 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 3 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 4 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 5 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 6 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 14 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 15 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 16 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 17 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 18 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 19 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 20 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 21 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 22 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 23 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 24 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 25 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 26 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 27 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 28 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 29 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 30 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 31 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 127 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock63, %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isdigit(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -48 + %switch = icmp ult i32 %.off, 10 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isgraph(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -33 + %switch = icmp ult i32 %.off, 94 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_islower(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -97 + %switch = icmp ult i32 %.off, 26 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isprint(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -32 + %switch = icmp ult i32 %.off, 95 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_ispunct(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock61 + +NodeBlock61: ; preds = %entry + %case.cmp62 = icmp eq i32 %0, 33 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 34 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 35 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 36 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 37 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 38 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 39 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 40 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 41 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 42 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 43 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 44 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 45 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 46 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 47 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 58 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 59 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 60 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 61 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 62 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 63 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 64 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 91 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 92 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 93 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 94 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 95 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 96 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 123 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 124 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 125 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 126 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isspace(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock9 + +NodeBlock9: ; preds = %entry + %case.cmp10 = icmp eq i32 %0, 32 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 9 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 10 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 11 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 12 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 13 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isupper(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -65 + %switch = icmp ult i32 %.off, 26 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isxdigit(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock41 + +NodeBlock41: ; preds = %entry + %case.cmp42 = icmp eq i32 %0, 48 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 49 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 50 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 51 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 52 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 53 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 54 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 55 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 56 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 57 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 97 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 98 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 99 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 100 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 101 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 102 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 65 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 66 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 67 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 68 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 69 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 70 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @c_toupper(i32 %c) #3 { +entry: + %retval = alloca i32, align 4 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -97 + %switch = icmp ult i32 %.off, 26 + %1 = load i32, i32* %c.addr, align 4 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + %sub = sub nsw i32 %1, 97 + %add = add nsw i32 %sub, 65 + store i32 %add, i32* %retval, align 4 + br label %return + +sw.default: ; preds = %entry + store i32 %1, i32* %retval, align 4 + br label %return + +return: ; preds = %sw.default, %sw.bb + %2 = load i32, i32* %retval, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @klee_init_fds(i32 %n_files, i32 %file_length, i32 %stdin_length, i32 %sym_stdout_flag, i32 %save_all_writes_flag, i32 %max_failures) #3 { +entry: + %n_files.addr = alloca i32, align 4 + %file_length.addr = alloca i32, align 4 + %stdin_length.addr = alloca i32, align 4 + %sym_stdout_flag.addr = alloca i32, align 4 + %save_all_writes_flag.addr = alloca i32, align 4 + %max_failures.addr = alloca i32, align 4 + %k = alloca i32, align 4 + %name = alloca [7 x i8], align 1 + %s = alloca %struct.stat64, align 8 + store i32 %n_files, i32* %n_files.addr, align 4 + store i32 %file_length, i32* %file_length.addr, align 4 + store i32 %stdin_length, i32* %stdin_length.addr, align 4 + store i32 %sym_stdout_flag, i32* %sym_stdout_flag.addr, align 4 + store i32 %save_all_writes_flag, i32* %save_all_writes_flag.addr, align 4 + store i32 %max_failures, i32* %max_failures.addr, align 4 + %0 = bitcast [7 x i8]* %name to i8* + %1 = call i8* @memcpy(i8* %0, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @__const.klee_init_fds.name, i32 0, i32 0), i64 7) + %call = call i32 @stat64(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.140, i64 0, i64 0), %struct.stat64* %s) #11 + %2 = load i32, i32* %n_files.addr, align 4 + store i32 %2, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %3 = load i32, i32* %n_files.addr, align 4 + %conv = zext i32 %3 to i64 + %mul = mul i64 24, %conv + %call1 = call noalias i8* @malloc(i64 %mul) #11 + %4 = bitcast i8* %call1 to %struct.exe_disk_file_t* + store %struct.exe_disk_file_t* %4, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %5 = load i32, i32* %n_files.addr, align 4 + %tobool = icmp eq i32 %5, 0 + %6 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %6, null + %or.cond = or i1 %tobool, %tobool2 + br i1 %or.cond, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @gs_report_error.144(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.141, i64 0, i64 0), i32 124, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.142, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.143, i64 0, i64 0)) #24 + unreachable + +if.end: ; preds = %entry + store i32 0, i32* %k, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %7 = load i32, i32* %k, align 4 + %8 = load i32, i32* %n_files.addr, align 4 + %cmp = icmp ult i32 %7, %8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %9 = load i32, i32* %k, align 4 + %add = add i32 65, %9 + %conv4 = trunc i32 %add to i8 + %arrayidx = getelementptr inbounds [7 x i8], [7 x i8]* %name, i64 0, i64 0 + store i8 %conv4, i8* %arrayidx, align 1 + %10 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %11 = load i32, i32* %k, align 4 + %idxprom = zext i32 %11 to i64 + %arrayidx5 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %10, i64 %idxprom + %12 = load i32, i32* %file_length.addr, align 4 + %arraydecay = getelementptr inbounds [7 x i8], [7 x i8]* %name, i64 0, i64 0 + call void @__create_new_dfile(%struct.exe_disk_file_t* %arrayidx5, i32 %12, i8* %arraydecay, %struct.stat64* %s) + %13 = load i32, i32* %k, align 4 + %inc = add i32 %13, 1 + store i32 %inc, i32* %k, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %14 = load i32, i32* %stdin_length.addr, align 4 + %tobool6 = icmp ne i32 %14, 0 + br i1 %tobool6, label %if.then7, label %if.else + +if.then7: ; preds = %for.end + %call8 = call noalias i8* @malloc(i64 24) #11 + %15 = bitcast i8* %call8 to %struct.exe_disk_file_t* + store %struct.exe_disk_file_t* %15, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + %16 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + %tobool9 = icmp ne %struct.exe_disk_file_t* %16, null + br i1 %tobool9, label %if.end11, label %if.then10 + +if.then10: ; preds = %if.then7 + call void @gs_report_error.144(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.141, i64 0, i64 0), i32 135, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.142, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.143, i64 0, i64 0)) #24 + unreachable + +if.end11: ; preds = %if.then7 + %17 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + %18 = load i32, i32* %stdin_length.addr, align 4 + call void @__create_new_dfile(%struct.exe_disk_file_t* %17, i32 %18, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.4.145, i64 0, i64 0), %struct.stat64* %s) + %19 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + store %struct.exe_disk_file_t* %19, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0, i64 0, i32 3), align 8 + br label %if.end12 + +if.else: ; preds = %for.end + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + br label %if.end12 + +if.end12: ; preds = %if.else, %if.end11 + %20 = load i32, i32* %max_failures.addr, align 4 + store i32 %20, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %21 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool13 = icmp ne i32 %21, 0 + br i1 %tobool13, label %if.then14, label %if.end31 + +if.then14: ; preds = %if.end12 + %call15 = call noalias i8* @malloc(i64 4) #11 + %22 = bitcast i8* %call15 to i32* + store i32* %22, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %call16 = call noalias i8* @malloc(i64 4) #11 + %23 = bitcast i8* %call16 to i32* + store i32* %23, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %call17 = call noalias i8* @malloc(i64 4) #11 + %24 = bitcast i8* %call17 to i32* + store i32* %24, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %call18 = call noalias i8* @malloc(i64 4) #11 + %25 = bitcast i8* %call18 to i32* + store i32* %25, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %call19 = call noalias i8* @malloc(i64 4) #11 + %26 = bitcast i8* %call19 to i32* + store i32* %26, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %27 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %tobool20 = icmp ne i32* %27, null + %28 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %tobool22 = icmp ne i32* %28, null + %or.cond1 = and i1 %tobool20, %tobool22 + %29 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %tobool24 = icmp ne i32* %29, null + %or.cond2 = and i1 %or.cond1, %tobool24 + %30 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %tobool26 = icmp ne i32* %30, null + %or.cond3 = and i1 %or.cond2, %tobool26 + %31 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %tobool28 = icmp ne i32* %31, null + %or.cond4 = and i1 %or.cond3, %tobool28 + br i1 %or.cond4, label %if.end30, label %if.then29 + +if.then29: ; preds = %if.then14 + call void @gs_report_error.144(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.141, i64 0, i64 0), i32 150, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.142, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.143, i64 0, i64 0)) #24 + unreachable + +if.end30: ; preds = %if.then14 + %32 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %33 = bitcast i32* %32 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %33, i64 4, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.5.146, i64 0, i64 0)) + %34 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %35 = bitcast i32* %34 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %35, i64 4, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.6.147, i64 0, i64 0)) + %36 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %37 = bitcast i32* %36 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %37, i64 4, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.7.148, i64 0, i64 0)) + %38 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %39 = bitcast i32* %38 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %39, i64 4, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.8.149, i64 0, i64 0)) + %40 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %41 = bitcast i32* %40 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %41, i64 4, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.9.150, i64 0, i64 0)) + br label %if.end31 + +if.end31: ; preds = %if.end30, %if.end12 + %42 = load i32, i32* %sym_stdout_flag.addr, align 4 + %tobool32 = icmp ne i32 %42, 0 + br i1 %tobool32, label %if.then33, label %if.else38 + +if.then33: ; preds = %if.end31 + %call34 = call noalias i8* @malloc(i64 24) #11 + %43 = bitcast i8* %call34 to %struct.exe_disk_file_t* + store %struct.exe_disk_file_t* %43, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + %44 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + %tobool35 = icmp ne %struct.exe_disk_file_t* %44, null + br i1 %tobool35, label %if.end37, label %if.then36 + +if.then36: ; preds = %if.then33 + call void @gs_report_error.144(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.141, i64 0, i64 0), i32 163, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.142, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.143, i64 0, i64 0)) #24 + unreachable + +if.end37: ; preds = %if.then33 + %45 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + call void @__create_new_dfile(%struct.exe_disk_file_t* %45, i32 1024, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.10.151, i64 0, i64 0), %struct.stat64* %s) + %46 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + store %struct.exe_disk_file_t* %46, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0, i64 1, i32 3), align 8 + store i32 0, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 3), align 8 + br label %if.end39 + +if.else38: ; preds = %if.end31 + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + br label %if.end39 + +if.end39: ; preds = %if.else38, %if.end37 + %47 = load i32, i32* %save_all_writes_flag.addr, align 4 + store i32 %47, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 3), align 8 + %call40 = call i32 @__sym_uint32(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.11.152, i64 0, i64 0)) + store i32 %call40, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 2), align 4 + %48 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 2), align 4 + %cmp41 = icmp eq i32 %48, 1 + call void @gs_assume(i1 zeroext %cmp41) + ret void +} + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error.144(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.155, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__create_new_dfile(%struct.exe_disk_file_t* %dfile, i32 %size, i8* %name, %struct.stat64* %defaults) #3 { +entry: + %dfile.addr = alloca %struct.exe_disk_file_t*, align 8 + %size.addr = alloca i32, align 4 + %name.addr = alloca i8*, align 8 + %defaults.addr = alloca %struct.stat64*, align 8 + %s = alloca %struct.stat64*, align 8 + %sp = alloca i8*, align 8 + %sname = alloca [64 x i8], align 16 + store %struct.exe_disk_file_t* %dfile, %struct.exe_disk_file_t** %dfile.addr, align 8 + store i32 %size, i32* %size.addr, align 4 + store i8* %name, i8** %name.addr, align 8 + store %struct.stat64* %defaults, %struct.stat64** %defaults.addr, align 8 + %call = call noalias i8* @malloc(i64 144) #11 + %0 = bitcast i8* %call to %struct.stat64* + store %struct.stat64* %0, %struct.stat64** %s, align 8 + %1 = load %struct.stat64*, %struct.stat64** %s, align 8 + %tobool = icmp ne %struct.stat64* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @gs_report_error.144(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.141, i64 0, i64 0), i32 47, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.142, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.143, i64 0, i64 0)) #24 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %name.addr, align 8 + store i8* %2, i8** %sp, align 8 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %3 = load i8*, i8** %sp, align 8 + %4 = load i8, i8* %3, align 1 + %tobool1 = icmp ne i8 %4, 0 + %5 = load i8*, i8** %sp, align 8 + br i1 %tobool1, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %6 = load i8, i8* %5, align 1 + %7 = load i8*, i8** %sp, align 8 + %8 = load i8*, i8** %name.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %8 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %arrayidx = getelementptr inbounds [64 x i8], [64 x i8]* %sname, i64 0, i64 %sub.ptr.sub + store i8 %6, i8* %arrayidx, align 1 + %9 = load i8*, i8** %sp, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %sp, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %10 = load i8*, i8** %name.addr, align 8 + %sub.ptr.lhs.cast2 = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast3 = ptrtoint i8* %10 to i64 + %sub.ptr.sub4 = sub i64 %sub.ptr.lhs.cast2, %sub.ptr.rhs.cast3 + %arrayidx5 = getelementptr inbounds [64 x i8], [64 x i8]* %sname, i64 0, i64 %sub.ptr.sub4 + %11 = call i8* @memcpy(i8* %arrayidx5, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.13.153, i64 0, i64 0), i64 6) + %12 = load i32, i32* %size.addr, align 4 + %tobool6 = icmp ne i32 %12, 0 + br i1 %tobool6, label %if.end8, label %if.else + +if.else: ; preds = %for.end + call void @__assert_fail(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.14.154, i64 0, i64 0), i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.141, i64 0, i64 0), i32 55, i8* getelementptr inbounds ([88 x i8], [88 x i8]* @__PRETTY_FUNCTION__.__create_new_dfile, i64 0, i64 0)) #26 + unreachable + +if.end8: ; preds = %for.end + %13 = load i32, i32* %size.addr, align 4 + %14 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size9 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %14, i32 0, i32 0 + store i32 %13, i32* %size9, align 8 + %15 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size10 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %15, i32 0, i32 0 + %16 = load i32, i32* %size10, align 8 + %conv = zext i32 %16 to i64 + %call11 = call noalias i8* @malloc(i64 %conv) #11 + %17 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %contents = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %17, i32 0, i32 1 + store i8* %call11, i8** %contents, align 8 + %18 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %contents12 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %18, i32 0, i32 1 + %19 = load i8*, i8** %contents12, align 8 + %tobool13 = icmp ne i8* %19, null + br i1 %tobool13, label %if.end15, label %if.then14 + +if.then14: ; preds = %if.end8 + call void @gs_report_error.144(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.141, i64 0, i64 0), i32 60, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.142, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.143, i64 0, i64 0)) #24 + unreachable + +if.end15: ; preds = %if.end8 + %20 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %contents16 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %20, i32 0, i32 1 + %21 = load i8*, i8** %contents16, align 8 + %22 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size17 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %22, i32 0, i32 0 + %23 = load i32, i32* %size17, align 8 + %conv18 = zext i32 %23 to i64 + %24 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %21, i64 %conv18, i8* %24) + %25 = load %struct.stat64*, %struct.stat64** %s, align 8 + %26 = bitcast %struct.stat64* %25 to i8* + %arraydecay = getelementptr inbounds [64 x i8], [64 x i8]* %sname, i64 0, i64 0 + call void (i8*, i64, ...) @make_symbolic(i8* %26, i64 144, i8* %arraydecay) + %27 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %27, i32 0, i32 1 + %28 = load i64, i64* %st_ino, align 8 + %call19 = call i32 @gs_is_symbolic(i64 %28) + %tobool20 = icmp ne i32 %call19, 0 + br i1 %tobool20, label %if.end26, label %land.lhs.true + +land.lhs.true: ; preds = %if.end15 + %29 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino21 = getelementptr inbounds %struct.stat64, %struct.stat64* %29, i32 0, i32 1 + %30 = load i64, i64* %st_ino21, align 8 + %and = and i64 %30, 2147483647 + %cmp = icmp eq i64 %and, 0 + br i1 %cmp, label %if.then23, label %if.end26 + +if.then23: ; preds = %land.lhs.true + %31 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_ino24 = getelementptr inbounds %struct.stat64, %struct.stat64* %31, i32 0, i32 1 + %32 = load i64, i64* %st_ino24, align 8 + %33 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino25 = getelementptr inbounds %struct.stat64, %struct.stat64* %33, i32 0, i32 1 + store i64 %32, i64* %st_ino25, align 8 + br label %if.end26 + +if.end26: ; preds = %if.then23, %land.lhs.true, %if.end15 + %34 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino27 = getelementptr inbounds %struct.stat64, %struct.stat64* %34, i32 0, i32 1 + %35 = load i64, i64* %st_ino27, align 8 + %and28 = and i64 %35, 2147483647 + %cmp29 = icmp ne i64 %and28, 0 + call void @gs_assume(i1 zeroext %cmp29) + %36 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_blksize = getelementptr inbounds %struct.stat64, %struct.stat64* %36, i32 0, i32 9 + %37 = load i64, i64* %st_blksize, align 8 + %and31 = and i64 %37, -65536 + %cmp32 = icmp eq i64 %and31, 0 + call void @gs_assume(i1 zeroext %cmp32) + %38 = load %struct.stat64*, %struct.stat64** %s, align 8 + %39 = bitcast %struct.stat64* %38 to i8* + %40 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %40, i32 0, i32 3 + %41 = load i32, i32* %st_mode, align 8 + %and34 = and i32 %41, -61952 + %tobool35 = icmp ne i32 %and34, 0 + %lnot = xor i1 %tobool35, true + call void @gs_prefer_cex(i8* %39, i1 zeroext %lnot) + %42 = load %struct.stat64*, %struct.stat64** %s, align 8 + %43 = bitcast %struct.stat64* %42 to i8* + %44 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_dev = getelementptr inbounds %struct.stat64, %struct.stat64* %44, i32 0, i32 0 + %45 = load i64, i64* %st_dev, align 8 + %46 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_dev36 = getelementptr inbounds %struct.stat64, %struct.stat64* %46, i32 0, i32 0 + %47 = load i64, i64* %st_dev36, align 8 + %cmp37 = icmp eq i64 %45, %47 + call void @gs_prefer_cex(i8* %43, i1 zeroext %cmp37) + %48 = load %struct.stat64*, %struct.stat64** %s, align 8 + %49 = bitcast %struct.stat64* %48 to i8* + %50 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_rdev = getelementptr inbounds %struct.stat64, %struct.stat64* %50, i32 0, i32 7 + %51 = load i64, i64* %st_rdev, align 8 + %52 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_rdev39 = getelementptr inbounds %struct.stat64, %struct.stat64* %52, i32 0, i32 7 + %53 = load i64, i64* %st_rdev39, align 8 + %cmp40 = icmp eq i64 %51, %53 + call void @gs_prefer_cex(i8* %49, i1 zeroext %cmp40) + %54 = load %struct.stat64*, %struct.stat64** %s, align 8 + %55 = bitcast %struct.stat64* %54 to i8* + %56 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode42 = getelementptr inbounds %struct.stat64, %struct.stat64* %56, i32 0, i32 3 + %57 = load i32, i32* %st_mode42, align 8 + %and43 = and i32 %57, 448 + %cmp44 = icmp eq i32 %and43, 384 + call void @gs_prefer_cex(i8* %55, i1 zeroext %cmp44) + %58 = load %struct.stat64*, %struct.stat64** %s, align 8 + %59 = bitcast %struct.stat64* %58 to i8* + %60 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode46 = getelementptr inbounds %struct.stat64, %struct.stat64* %60, i32 0, i32 3 + %61 = load i32, i32* %st_mode46, align 8 + %and47 = and i32 %61, 56 + %cmp48 = icmp eq i32 %and47, 32 + call void @gs_prefer_cex(i8* %59, i1 zeroext %cmp48) + %62 = load %struct.stat64*, %struct.stat64** %s, align 8 + %63 = bitcast %struct.stat64* %62 to i8* + %64 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode50 = getelementptr inbounds %struct.stat64, %struct.stat64* %64, i32 0, i32 3 + %65 = load i32, i32* %st_mode50, align 8 + %and51 = and i32 %65, 7 + %cmp52 = icmp eq i32 %and51, 4 + call void @gs_prefer_cex(i8* %63, i1 zeroext %cmp52) + %66 = load %struct.stat64*, %struct.stat64** %s, align 8 + %67 = bitcast %struct.stat64* %66 to i8* + %68 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode54 = getelementptr inbounds %struct.stat64, %struct.stat64* %68, i32 0, i32 3 + %69 = load i32, i32* %st_mode54, align 8 + %and55 = and i32 %69, 61440 + %cmp56 = icmp eq i32 %and55, 32768 + call void @gs_prefer_cex(i8* %67, i1 zeroext %cmp56) + %70 = load %struct.stat64*, %struct.stat64** %s, align 8 + %71 = bitcast %struct.stat64* %70 to i8* + %72 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_nlink = getelementptr inbounds %struct.stat64, %struct.stat64* %72, i32 0, i32 2 + %73 = load i64, i64* %st_nlink, align 8 + %cmp58 = icmp eq i64 %73, 1 + call void @gs_prefer_cex(i8* %71, i1 zeroext %cmp58) + %74 = load %struct.stat64*, %struct.stat64** %s, align 8 + %75 = bitcast %struct.stat64* %74 to i8* + %76 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_uid = getelementptr inbounds %struct.stat64, %struct.stat64* %76, i32 0, i32 4 + %77 = load i32, i32* %st_uid, align 4 + %78 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_uid60 = getelementptr inbounds %struct.stat64, %struct.stat64* %78, i32 0, i32 4 + %79 = load i32, i32* %st_uid60, align 4 + %cmp61 = icmp eq i32 %77, %79 + call void @gs_prefer_cex(i8* %75, i1 zeroext %cmp61) + %80 = load %struct.stat64*, %struct.stat64** %s, align 8 + %81 = bitcast %struct.stat64* %80 to i8* + %82 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_gid = getelementptr inbounds %struct.stat64, %struct.stat64* %82, i32 0, i32 5 + %83 = load i32, i32* %st_gid, align 8 + %84 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_gid63 = getelementptr inbounds %struct.stat64, %struct.stat64* %84, i32 0, i32 5 + %85 = load i32, i32* %st_gid63, align 8 + %cmp64 = icmp eq i32 %83, %85 + call void @gs_prefer_cex(i8* %81, i1 zeroext %cmp64) + %86 = load %struct.stat64*, %struct.stat64** %s, align 8 + %87 = bitcast %struct.stat64* %86 to i8* + %88 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_blksize66 = getelementptr inbounds %struct.stat64, %struct.stat64* %88, i32 0, i32 9 + %89 = load i64, i64* %st_blksize66, align 8 + %cmp67 = icmp eq i64 %89, 4096 + call void @gs_prefer_cex(i8* %87, i1 zeroext %cmp67) + %90 = load %struct.stat64*, %struct.stat64** %s, align 8 + %91 = bitcast %struct.stat64* %90 to i8* + %92 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_atim = getelementptr inbounds %struct.stat64, %struct.stat64* %92, i32 0, i32 11 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim, i32 0, i32 0 + %93 = load i64, i64* %tv_sec, align 8 + %94 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_atim69 = getelementptr inbounds %struct.stat64, %struct.stat64* %94, i32 0, i32 11 + %tv_sec70 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim69, i32 0, i32 0 + %95 = load i64, i64* %tv_sec70, align 8 + %cmp71 = icmp eq i64 %93, %95 + call void @gs_prefer_cex(i8* %91, i1 zeroext %cmp71) + %96 = load %struct.stat64*, %struct.stat64** %s, align 8 + %97 = bitcast %struct.stat64* %96 to i8* + %98 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mtim = getelementptr inbounds %struct.stat64, %struct.stat64* %98, i32 0, i32 12 + %tv_sec73 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim, i32 0, i32 0 + %99 = load i64, i64* %tv_sec73, align 8 + %100 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_mtim74 = getelementptr inbounds %struct.stat64, %struct.stat64* %100, i32 0, i32 12 + %tv_sec75 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim74, i32 0, i32 0 + %101 = load i64, i64* %tv_sec75, align 8 + %cmp76 = icmp eq i64 %99, %101 + call void @gs_prefer_cex(i8* %97, i1 zeroext %cmp76) + %102 = load %struct.stat64*, %struct.stat64** %s, align 8 + %103 = bitcast %struct.stat64* %102 to i8* + %104 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ctim = getelementptr inbounds %struct.stat64, %struct.stat64* %104, i32 0, i32 13 + %tv_sec78 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim, i32 0, i32 0 + %105 = load i64, i64* %tv_sec78, align 8 + %106 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_ctim79 = getelementptr inbounds %struct.stat64, %struct.stat64* %106, i32 0, i32 13 + %tv_sec80 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim79, i32 0, i32 0 + %107 = load i64, i64* %tv_sec80, align 8 + %cmp81 = icmp eq i64 %105, %107 + call void @gs_prefer_cex(i8* %103, i1 zeroext %cmp81) + %108 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size83 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %108, i32 0, i32 0 + %109 = load i32, i32* %size83, align 8 + %conv84 = zext i32 %109 to i64 + %110 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_size = getelementptr inbounds %struct.stat64, %struct.stat64* %110, i32 0, i32 8 + store i64 %conv84, i64* %st_size, align 8 + %111 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_blocks = getelementptr inbounds %struct.stat64, %struct.stat64* %111, i32 0, i32 10 + store i64 8, i64* %st_blocks, align 8 + %112 = load %struct.stat64*, %struct.stat64** %s, align 8 + %113 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %113, i32 0, i32 2 + store %struct.stat64* %112, %struct.stat64** %stat, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__sym_uint32(i8* %name) #3 { +entry: + %name.addr = alloca i8*, align 8 + %x = alloca i32, align 4 + store i8* %name, i8** %name.addr, align 8 + %0 = bitcast i32* %x to i8* + %1 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %0, i64 4, i8* %1) + %2 = load i32, i32* %x, align 4 + ret i32 %2 +} + +declare dso_local void @gs_prefer_cex(i8*, i1 zeroext) #5 + +; Function Attrs: noinline nounwind uwtable +define weak hidden i32 @__syscall_rt_sigaction(i32 %signum, %struct.sigaction.800* %act, %struct.sigaction.800* %oldact, i64 %_something) #3 { +entry: + %signum.addr = alloca i32, align 4 + %act.addr = alloca %struct.sigaction.800*, align 8 + %oldact.addr = alloca %struct.sigaction.800*, align 8 + %_something.addr = alloca i64, align 8 + store i32 %signum, i32* %signum.addr, align 4 + store %struct.sigaction.800* %act, %struct.sigaction.800** %act.addr, align 8 + store %struct.sigaction.800* %oldact, %struct.sigaction.800** %oldact.addr, align 8 + store i64 %_something, i64* %_something.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.156, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @sigaction(i32 %signum, %struct.sigaction.800* %act, %struct.sigaction.800* %oldact) #3 { +entry: + %signum.addr = alloca i32, align 4 + %act.addr = alloca %struct.sigaction.800*, align 8 + %oldact.addr = alloca %struct.sigaction.800*, align 8 + store i32 %signum, i32* %signum.addr, align 4 + store %struct.sigaction.800* %act, %struct.sigaction.800** %act.addr, align 8 + store %struct.sigaction.800* %oldact, %struct.sigaction.800** %oldact.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.156, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @sigprocmask(i32 %how, %struct.fd_set* %set, %struct.fd_set* %oldset) #3 { +entry: + %how.addr = alloca i32, align 4 + %set.addr = alloca %struct.fd_set*, align 8 + %oldset.addr = alloca %struct.fd_set*, align 8 + store i32 %how, i32* %how.addr, align 4 + store %struct.fd_set* %set, %struct.fd_set** %set.addr, align 8 + store %struct.fd_set* %oldset, %struct.fd_set** %oldset.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.156, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @fdatasync(i32 %fd) #3 { +entry: + %fd.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local void @sync() #3 { +entry: + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @__socketcall(i32 %type, i32* %args) #3 { +entry: + %type.addr = alloca i32, align 4 + %args.addr = alloca i32*, align 8 + store i32 %type, i32* %type.addr, align 4 + store i32* %args, i32** %args.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.1.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 97, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @gs_warning.162(i8* %message) #3 { +entry: + %message.addr = alloca i8*, align 8 + store i8* %message, i8** %message.addr, align 8 + %0 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %0) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.11.163, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @_IO_getc(%struct._IO_FILE* %f) #3 { +entry: + %f.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %f, %struct._IO_FILE** %f.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %f.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %0) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @_IO_putc(i32 %c, %struct._IO_FILE* %f) #3 { +entry: + %c.addr = alloca i32, align 4 + %f.addr = alloca %struct._IO_FILE*, align 8 + store i32 %c, i32* %c.addr, align 4 + store %struct._IO_FILE* %f, %struct._IO_FILE** %f.addr, align 8 + %0 = load i32, i32* %c.addr, align 4 + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %f.addr, align 8 + %call = call i32 bitcast (i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked to i32 (i32, %struct._IO_FILE*)*)(i32 %0, %struct._IO_FILE* %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mkdir(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2.166, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 5, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mkfifo(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2.166, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 5, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mknod(i8* nonnull %pathname, i32 %mode, i64 %dev) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + %dev.addr = alloca i64, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + store i64 %dev, i64* %dev.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2.166, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 5, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @pipe(i32* %filedes) #3 { +entry: + %filedes.addr = alloca i32*, align 8 + store i32* %filedes, i32** %filedes.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.3.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 23, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @link(i8* nonnull %oldpath, i8* nonnull %newpath) #3 { +entry: + %oldpath.addr = alloca i8*, align 8 + %newpath.addr = alloca i8*, align 8 + store i8* %oldpath, i8** %oldpath.addr, align 8 + store i8* %newpath, i8** %newpath.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @symlink(i8* nonnull %oldpath, i8* nonnull %newpath) #3 { +entry: + %oldpath.addr = alloca i8*, align 8 + %newpath.addr = alloca i8*, align 8 + store i8* %oldpath, i8** %oldpath.addr, align 8 + store i8* %newpath, i8** %newpath.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @rename(i8* %oldpath, i8* %newpath) #3 { +entry: + %oldpath.addr = alloca i8*, align 8 + %newpath.addr = alloca i8*, align 8 + store i8* %oldpath, i8** %oldpath.addr, align 8 + store i8* %newpath, i8** %newpath.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @nanosleep(%struct.timespec* %req, %struct.timespec* %rem) #3 { +entry: + %req.addr = alloca %struct.timespec*, align 8 + %rem.addr = alloca %struct.timespec*, align 8 + store %struct.timespec* %req, %struct.timespec** %req.addr, align 8 + store %struct.timespec* %rem, %struct.timespec** %rem.addr, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @clock_gettime(i32 %clk_id, %struct.timespec* %res) #3 { +entry: + %clk_id.addr = alloca i32, align 4 + %res.addr = alloca %struct.timespec*, align 8 + %tv = alloca %struct.timespec, align 8 + store i32 %clk_id, i32* %clk_id.addr, align 4 + store %struct.timespec* %res, %struct.timespec** %res.addr, align 8 + %call = call i32 @gettimeofday(%struct.timespec* %tv, i8* null) #11 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %0 = load i64, i64* %tv_sec, align 8 + %1 = load %struct.timespec*, %struct.timespec** %res.addr, align 8 + %tv_sec1 = getelementptr inbounds %struct.timespec, %struct.timespec* %1, i32 0, i32 0 + store i64 %0, i64* %tv_sec1, align 8 + %tv_usec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 1 + %2 = load i64, i64* %tv_usec, align 8 + %mul = mul nsw i64 %2, 1000 + %3 = load %struct.timespec*, %struct.timespec** %res.addr, align 8 + %tv_nsec = getelementptr inbounds %struct.timespec, %struct.timespec* %3, i32 0, i32 1 + store i64 %mul, i64* %tv_nsec, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @clock_settime(i32 %clk_id, %struct.timespec* %res) #3 { +entry: + %clk_id.addr = alloca i32, align 4 + %res.addr = alloca %struct.timespec*, align 8 + store i32 %clk_id, i32* %clk_id.addr, align 4 + store %struct.timespec* %res, %struct.timespec** %res.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @time(i64* %t) #3 { +entry: + %t.addr = alloca i64*, align 8 + %tv = alloca %struct.timespec, align 8 + store i64* %t, i64** %t.addr, align 8 + %call = call i32 @gettimeofday(%struct.timespec* %tv, i8* null) #11 + %0 = load i64*, i64** %t.addr, align 8 + %tobool = icmp ne i64* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %1 = load i64, i64* %tv_sec, align 8 + %2 = load i64*, i64** %t.addr, align 8 + store i64 %1, i64* %2, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %tv_sec1 = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %3 = load i64, i64* %tv_sec1, align 8 + ret i64 %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @times(%struct.tms* %buf) #3 { +entry: + %buf.addr = alloca %struct.tms*, align 8 + store %struct.tms* %buf, %struct.tms** %buf.addr, align 8 + %0 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tobool = icmp ne %struct.tms* %0, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + call void @gs_warning.162(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.5.169, i64 0, i64 0)) + br label %if.end + +if.else: ; preds = %entry + call void @gs_warning.162(i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.6.170, i64 0, i64 0)) + %1 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_utime = getelementptr inbounds %struct.tms, %struct.tms* %1, i32 0, i32 0 + store i64 0, i64* %tms_utime, align 8 + %2 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_stime = getelementptr inbounds %struct.tms, %struct.tms* %2, i32 0, i32 1 + store i64 0, i64* %tms_stime, align 8 + %3 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_cutime = getelementptr inbounds %struct.tms, %struct.tms* %3, i32 0, i32 2 + store i64 0, i64* %tms_cutime, align 8 + %4 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_cstime = getelementptr inbounds %struct.tms, %struct.tms* %4, i32 0, i32 3 + store i64 0, i64* %tms_cstime, align 8 + br label %if.end + +if.end: ; preds = %if.else, %if.then + ret i64 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local %struct.utmpx* @getutxent() #3 { +entry: + %call = call %struct.utmp* bitcast (%struct.utmp.323* ()* @getutent to %struct.utmp* ()*)() #11 + %0 = bitcast %struct.utmp* %call to %struct.utmpx* + ret %struct.utmpx* %0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local void @setutxent() #3 { +entry: + call void @setutent() #11 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local void @endutxent() #3 { +entry: + call void @endutent() #11 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @utmpxname(i8* %file) #3 { +entry: + %file.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + %call = call i32 @utmpname(i8* %0) #11 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @euidaccess(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %1 = load i32, i32* %mode.addr, align 4 + %call = call i32 @access(i8* %0, i32 %1) #11 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @eaccess(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %1 = load i32, i32* %mode.addr, align 4 + %call = call i32 @euidaccess(i8* %0, i32 %1) #11 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @group_member(i32 %__gid) #3 { +entry: + %__gid.addr = alloca i32, align 4 + store i32 %__gid, i32* %__gid.addr, align 4 + %0 = load i32, i32* %__gid.addr, align 4 + %call = call i32 @getgid() #11 + %cmp = icmp eq i32 %0, %call + br i1 %cmp, label %lor.end, label %lor.rhs + +lor.rhs: ; preds = %entry + %1 = load i32, i32* %__gid.addr, align 4 + %call1 = call i32 @getegid() #11 + %cmp2 = icmp eq i32 %1, %call1 + br label %lor.end + +lor.end: ; preds = %lor.rhs, %entry + %2 = phi i1 [ true, %entry ], [ %cmp2, %lor.rhs ] + %lor.ext = zext i1 %2 to i32 + ret i32 %lor.ext +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @utime(i8* nonnull %filename, %struct.timespec* %buf) #3 { +entry: + %filename.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.timespec*, align 8 + store i8* %filename, i8** %filename.addr, align 8 + store %struct.timespec* %buf, %struct.timespec** %buf.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @futimes(i32 %fd, %struct.timespec* %times) #3 { +entry: + %fd.addr = alloca i32, align 4 + %times.addr = alloca %struct.timespec*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.timespec* %times, %struct.timespec** %times.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.7.171, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 9, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind readonly uwtable +define dso_local i32 @strverscmp(i8* nonnull %__s1, i8* nonnull %__s2) #15 { +entry: + %__s1.addr = alloca i8*, align 8 + %__s2.addr = alloca i8*, align 8 + store i8* %__s1, i8** %__s1.addr, align 8 + store i8* %__s2, i8** %__s2.addr, align 8 + %0 = load i8*, i8** %__s1.addr, align 8 + %1 = load i8*, i8** %__s2.addr, align 8 + %call = call i32 @strcmp(i8* %0, i8* %1) #23 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @gnu_dev_major(i64 %__dev) #3 { +entry: + %__dev.addr = alloca i64, align 8 + store i64 %__dev, i64* %__dev.addr, align 8 + %0 = load i64, i64* %__dev.addr, align 8 + %shr = lshr i64 %0, 8 + %and = and i64 %shr, 4095 + %1 = load i64, i64* %__dev.addr, align 8 + %shr1 = lshr i64 %1, 32 + %conv = trunc i64 %shr1 to i32 + %and2 = and i32 %conv, -4096 + %conv3 = zext i32 %and2 to i64 + %or = or i64 %and, %conv3 + %conv4 = trunc i64 %or to i32 + ret i32 %conv4 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @gnu_dev_minor(i64 %__dev) #3 { +entry: + %__dev.addr = alloca i64, align 8 + store i64 %__dev, i64* %__dev.addr, align 8 + %0 = load i64, i64* %__dev.addr, align 8 + %and = and i64 %0, 255 + %1 = load i64, i64* %__dev.addr, align 8 + %shr = lshr i64 %1, 12 + %conv = trunc i64 %shr to i32 + %and1 = and i32 %conv, -256 + %conv2 = zext i32 %and1 to i64 + %or = or i64 %and, %conv2 + %conv3 = trunc i64 %or to i32 + ret i32 %conv3 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i64 @gnu_dev_makedev(i32 %__major, i32 %__minor) #3 { +entry: + %__major.addr = alloca i32, align 4 + %__minor.addr = alloca i32, align 4 + store i32 %__major, i32* %__major.addr, align 4 + store i32 %__minor, i32* %__minor.addr, align 4 + %0 = load i32, i32* %__minor.addr, align 4 + %and = and i32 %0, 255 + %1 = load i32, i32* %__major.addr, align 4 + %and1 = and i32 %1, 4095 + %shl = shl i32 %and1, 8 + %or = or i32 %and, %shl + %conv = zext i32 %or to i64 + %2 = load i32, i32* %__minor.addr, align 4 + %and2 = and i32 %2, -256 + %conv3 = zext i32 %and2 to i64 + %shl4 = shl i64 %conv3, 12 + %or5 = or i64 %conv, %shl4 + %3 = load i32, i32* %__major.addr, align 4 + %and6 = and i32 %3, -4096 + %conv7 = zext i32 %and6 to i64 + %shl8 = shl i64 %conv7, 32 + %or9 = or i64 %or5, %shl8 + ret i64 %or9 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i8* @canonicalize_file_name(i8* nonnull %name) #3 { +entry: + %retval = alloca i8*, align 8 + %name.addr = alloca i8*, align 8 + %resolved_name = alloca i8*, align 8 + store i8* %name, i8** %name.addr, align 8 + %call = call noalias i8* @malloc(i64 4096) #11 + store i8* %call, i8** %resolved_name, align 8 + %0 = load i8*, i8** %resolved_name, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %name.addr, align 8 + %2 = load i8*, i8** %resolved_name, align 8 + %call1 = call i8* @realpath(i8* %1, i8* %2) #11 + %tobool2 = icmp ne i8* %call1, null + %3 = load i8*, i8** %resolved_name, align 8 + br i1 %tobool2, label %if.end4, label %if.then3 + +if.then3: ; preds = %if.end + call void @free(i8* %3) #11 + store i8* null, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %if.end + store i8* %3, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %4 = load i8*, i8** %retval, align 8 + ret i8* %4 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @getloadavg(double* nonnull %loadavg, i32 %nelem) #3 { +entry: + %loadavg.addr = alloca double*, align 8 + %nelem.addr = alloca i32, align 4 + store double* %loadavg, double** %loadavg.addr, align 8 + store i32 %nelem, i32* %nelem.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.8.174, i64 0, i64 0)) + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @wait(i32* %status) #3 { +entry: + %status.addr = alloca i32*, align 8 + store i32* %status, i32** %status.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.175, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @wait3(i32* %status, i32 %options, %struct.rusage* %rusage) #3 { +entry: + %status.addr = alloca i32*, align 8 + %options.addr = alloca i32, align 4 + %rusage.addr = alloca %struct.rusage*, align 8 + store i32* %status, i32** %status.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + store %struct.rusage* %rusage, %struct.rusage** %rusage.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.175, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @wait4(i32 %pid, i32* %status, i32 %options, %struct.rusage* %rusage) #3 { +entry: + %pid.addr = alloca i32, align 4 + %status.addr = alloca i32*, align 8 + %options.addr = alloca i32, align 4 + %rusage.addr = alloca %struct.rusage*, align 8 + store i32 %pid, i32* %pid.addr, align 4 + store i32* %status, i32** %status.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + store %struct.rusage* %rusage, %struct.rusage** %rusage.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.175, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @waitpid(i32 %pid, i32* %status, i32 %options) #3 { +entry: + %pid.addr = alloca i32, align 4 + %status.addr = alloca i32*, align 8 + %options.addr = alloca i32, align 4 + store i32 %pid, i32* %pid.addr, align 4 + store i32* %status, i32** %status.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.175, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @waitid(i32 %idtype, i32 %id, %struct.siginfo_t* %infop, i32 %options) #3 { +entry: + %idtype.addr = alloca i32, align 4 + %id.addr = alloca i32, align 4 + %infop.addr = alloca %struct.siginfo_t*, align 8 + %options.addr = alloca i32, align 4 + store i32 %idtype, i32* %idtype.addr, align 4 + store i32 %id, i32* %id.addr, align 4 + store %struct.siginfo_t* %infop, %struct.siginfo_t** %infop.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.175, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mount(i8* %source, i8* %target, i8* %filesystemtype, i64 %mountflags, i8* %data) #3 { +entry: + %source.addr = alloca i8*, align 8 + %target.addr = alloca i8*, align 8 + %filesystemtype.addr = alloca i8*, align 8 + %mountflags.addr = alloca i64, align 8 + %data.addr = alloca i8*, align 8 + store i8* %source, i8** %source.addr, align 8 + store i8* %target, i8** %target.addr, align 8 + store i8* %filesystemtype, i8** %filesystemtype.addr, align 8 + store i64 %mountflags, i64* %mountflags.addr, align 8 + store i8* %data, i8** %data.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @umount(i8* %target) #3 { +entry: + %target.addr = alloca i8*, align 8 + store i8* %target, i8** %target.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @umount2(i8* %target, i32 %flags) #3 { +entry: + %target.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + store i8* %target, i8** %target.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @swapon(i8* %path, i32 %swapflags) #3 { +entry: + %path.addr = alloca i8*, align 8 + %swapflags.addr = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store i32 %swapflags, i32* %swapflags.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @swapoff(i8* %path) #3 { +entry: + %path.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setgid(i32 %gid) #3 { +entry: + %gid.addr = alloca i32, align 4 + store i32 %gid, i32* %gid.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.10.176, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setgroups(i64 %size, i32* %list) #3 { +entry: + %size.addr = alloca i64, align 8 + %list.addr = alloca i32*, align 8 + store i64 %size, i64* %size.addr, align 8 + store i32* %list, i32** %list.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @sethostname(i8* nonnull %name, i64 %len) #3 { +entry: + %name.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + store i8* %name, i8** %name.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setpgid(i32 %pid, i32 %pgid) #3 { +entry: + %pid.addr = alloca i32, align 4 + %pgid.addr = alloca i32, align 4 + store i32 %pid, i32* %pid.addr, align 4 + store i32 %pgid, i32* %pgid.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setpgrp() #3 { +entry: + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setpriority(i32 %which, i32 %who, i32 %prio) #3 { +entry: + %which.addr = alloca i32, align 4 + %who.addr = alloca i32, align 4 + %prio.addr = alloca i32, align 4 + store i32 %which, i32* %which.addr, align 4 + store i32 %who, i32* %who.addr, align 4 + store i32 %prio, i32* %prio.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setresgid(i32 %rgid, i32 %egid, i32 %sgid) #3 { +entry: + %rgid.addr = alloca i32, align 4 + %egid.addr = alloca i32, align 4 + %sgid.addr = alloca i32, align 4 + store i32 %rgid, i32* %rgid.addr, align 4 + store i32 %egid, i32* %egid.addr, align 4 + store i32 %sgid, i32* %sgid.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setresuid(i32 %ruid, i32 %euid, i32 %suid) #3 { +entry: + %ruid.addr = alloca i32, align 4 + %euid.addr = alloca i32, align 4 + %suid.addr = alloca i32, align 4 + store i32 %ruid, i32* %ruid.addr, align 4 + store i32 %euid, i32* %euid.addr, align 4 + store i32 %suid, i32* %suid.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setrlimit(i32 %resource, %struct.timespec* %rlim) #3 { +entry: + %resource.addr = alloca i32, align 4 + %rlim.addr = alloca %struct.timespec*, align 8 + store i32 %resource, i32* %resource.addr, align 4 + store %struct.timespec* %rlim, %struct.timespec** %rlim.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setrlimit64(i32 %resource, %struct.timespec* %rlim) #3 { +entry: + %resource.addr = alloca i32, align 4 + %rlim.addr = alloca %struct.timespec*, align 8 + store i32 %resource, i32* %resource.addr, align 4 + store %struct.timespec* %rlim, %struct.timespec** %rlim.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setsid() #3 { +entry: + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @settimeofday(%struct.timespec* %tv, %struct.__mbstate_t.512* %tz) #3 { +entry: + %tv.addr = alloca %struct.timespec*, align 8 + %tz.addr = alloca %struct.__mbstate_t.512*, align 8 + store %struct.timespec* %tv, %struct.timespec** %tv.addr, align 8 + store %struct.__mbstate_t.512* %tz, %struct.__mbstate_t.512** %tz.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setuid(i32 %uid) #3 { +entry: + %uid.addr = alloca i32, align 4 + store i32 %uid, i32* %uid.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.10.176, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @reboot(i32 %flag) #3 { +entry: + %flag.addr = alloca i32, align 4 + store i32 %flag, i32* %flag.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mlock(i8* %addr, i64 %len) #3 { +entry: + %addr.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + store i8* %addr, i8** %addr.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @munlock(i8* %addr, i64 %len) #3 { +entry: + %addr.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + store i8* %addr, i8** %addr.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @pause() #3 { +entry: + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i64 @readahead(i32 %fd, i64* %offset, i64 %count) #3 { +entry: + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64*, align 8 + %count.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64* %offset, i64** %offset.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i64 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i8* @mmap(i8* %start, i64 %length, i32 %prot, i32 %flags, i32 %fd, i64 %offset) #3 { +entry: + %start.addr = alloca i8*, align 8 + %length.addr = alloca i64, align 8 + %prot.addr = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + store i8* %start, i8** %start.addr, align 8 + store i64 %length, i64* %length.addr, align 8 + store i32 %prot, i32* %prot.addr, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i8* inttoptr (i64 -1 to i8*) +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i8* @mmap64(i8* %start, i64 %length, i32 %prot, i32 %flags, i32 %fd, i64 %offset) #3 { +entry: + %start.addr = alloca i8*, align 8 + %length.addr = alloca i64, align 8 + %prot.addr = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + store i8* %start, i8** %start.addr, align 8 + store i64 %length, i64* %length.addr, align 8 + store i32 %prot, i32* %prot.addr, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i8* inttoptr (i64 -1 to i8*) +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @munmap(i8* %start, i64 %length) #3 { +entry: + %start.addr = alloca i8*, align 8 + %length.addr = alloca i64, align 8 + store i8* %start, i8** %start.addr, align 8 + store i64 %length, i64* %length.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__locale_mbrtowc_l(i32* noalias %dst, i8* noalias %src, %struct.__uclibc_locale_struct.201* %loc) #0 { +entry: + %retval = alloca i32, align 4 + %dst.addr = alloca i32*, align 8 + %src.addr = alloca i8*, align 8 + %loc.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %ps = alloca %struct.__mbstate_t.512, align 4 + %p = alloca i8*, align 8 + %r = alloca i64, align 8 + %wc = alloca i32, align 4 + store i32* %dst, i32** %dst.addr, align 8 + store i8* %src, i8** %src.addr, align 8 + store %struct.__uclibc_locale_struct.201* %loc, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 9 + %1 = load i8, i8* %encoding, align 8 + %conv = zext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 1 + %2 = load i8*, i8** %src.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i8* %2, i8** %p, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %ps, i32 0, i32 0 + store i32 0, i32* %__mask, align 4 + %3 = load i32*, i32** %dst.addr, align 8 + %call = call i64 @_wchar_utf8sntowcs(i32* %3, i64 1, i8** %p, i64 -1, %struct.__mbstate_t.512* %ps, i32 1) #18 + store i64 %call, i64* %r, align 8 + %4 = load i64, i64* %r, align 8 + %cmp2 = icmp eq i64 %4, 1 + %5 = load i8*, i8** %p, align 8 + %6 = load i8*, i8** %src.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %6 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %7 = load i64, i64* %r, align 8 + %cond = select i1 %cmp2, i64 %sub.ptr.sub, i64 %7 + %conv4 = trunc i64 %cond to i32 + store i32 %conv4, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load i8, i8* %2, align 1 + %conv5 = zext i8 %8 to i32 + %9 = load i32*, i32** %dst.addr, align 8 + store i32 %conv5, i32* %9, align 4 + %cmp6 = icmp slt i32 %conv5, 128 + br i1 %cmp6, label %if.then8, label %if.end12 + +if.then8: ; preds = %if.end + %10 = load i8*, i8** %src.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv9 = sext i8 %11 to i32 + %cmp10 = icmp ne i32 %conv9, 0 + %conv11 = zext i1 %cmp10 to i32 + store i32 %conv11, i32* %retval, align 4 + br label %return + +if.end12: ; preds = %if.end + %12 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %encoding13 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %12, i32 0, i32 9 + %13 = load i8, i8* %encoding13, align 8 + %conv14 = zext i8 %13 to i32 + %cmp15 = icmp eq i32 %conv14, 2 + br i1 %cmp15, label %if.then17, label %if.end24 + +if.then17: ; preds = %if.end12 + %14 = load i32*, i32** %dst.addr, align 8 + %15 = load i32, i32* %14, align 4 + %sub = sub nsw i32 %15, 128 + store i32 %sub, i32* %wc, align 4 + %16 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %tbl8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %16, i32 0, i32 17 + %17 = load i16*, i16** %tbl8c2wc, align 8 + %18 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %idx8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %18, i32 0, i32 16 + %19 = load i8*, i8** %idx8c2wc, align 8 + %20 = load i32, i32* %wc, align 4 + %shr = ashr i32 %20, 3 + %idxprom = sext i32 %shr to i64 + %arrayidx = getelementptr inbounds i8, i8* %19, i64 %idxprom + %21 = load i8, i8* %arrayidx, align 1 + %conv18 = zext i8 %21 to i32 + %shl = shl i32 %conv18, 3 + %22 = load i32, i32* %wc, align 4 + %and = and i32 %22, 7 + %add = add nsw i32 %shl, %and + %idxprom19 = sext i32 %add to i64 + %arrayidx20 = getelementptr inbounds i16, i16* %17, i64 %idxprom19 + %23 = load i16, i16* %arrayidx20, align 2 + %conv21 = zext i16 %23 to i32 + %24 = load i32*, i32** %dst.addr, align 8 + store i32 %conv21, i32* %24, align 4 + %25 = load i32*, i32** %dst.addr, align 8 + %26 = load i32, i32* %25, align 4 + %tobool = icmp ne i32 %26, 0 + br i1 %tobool, label %if.then22, label %if.end24 + +if.then22: ; preds = %if.then17 + store i32 1, i32* %retval, align 4 + br label %return + +if.end24: ; preds = %if.then17, %if.end12 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end24, %if.then22, %if.then8, %if.then + %27 = load i32, i32* %retval, align 4 + ret i32 %27 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__raise(i32 %signo) #0 { +entry: + %signo.addr = alloca i32, align 4 + store i32 %signo, i32* %signo.addr, align 4 + %call = call i32 @getpid() #19 + %0 = load i32, i32* %signo.addr, align 4 + %call1 = call i32 @kill(i32 %call, i32 %0) #19 + ret i32 %call1 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__libc_sigaction(i32 %sig, %struct.sigaction.800* %act, %struct.sigaction.800* %oact) #0 { +entry: + %sig.addr = alloca i32, align 4 + %act.addr = alloca %struct.sigaction.800*, align 8 + %oact.addr = alloca %struct.sigaction.800*, align 8 + %result = alloca i32, align 4 + %kact = alloca %struct.kernel_sigaction, align 8 + %koact = alloca %struct.kernel_sigaction, align 8 + store i32 %sig, i32* %sig.addr, align 4 + store %struct.sigaction.800* %act, %struct.sigaction.800** %act.addr, align 8 + store %struct.sigaction.800* %oact, %struct.sigaction.800** %oact.addr, align 8 + %0 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %tobool = icmp ne %struct.sigaction.800* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %__sigaction_handler = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %1, i32 0, i32 0 + %sa_handler = bitcast %union.anon.799* %__sigaction_handler to void (i32)** + %2 = load void (i32)*, void (i32)** %sa_handler, align 8 + %k_sa_handler = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 0 + store void (i32)* %2, void (i32)** %k_sa_handler, align 8 + %sa_mask = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 3 + %3 = bitcast %struct.fd_set* %sa_mask to i8* + %4 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %sa_mask1 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %4, i32 0, i32 1 + %5 = bitcast %struct.fd_set* %sa_mask1 to i8* + %call = call i8* @memcpy(i8* %3, i8* %5, i64 128) #19 + %6 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %sa_flags = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %6, i32 0, i32 2 + %7 = load i32, i32* %sa_flags, align 8 + %conv = sext i32 %7 to i64 + %sa_flags2 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 1 + store i64 %conv, i64* %sa_flags2, align 8 + %8 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %sa_restorer = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %8, i32 0, i32 3 + %9 = load void ()*, void ()** %sa_restorer, align 8 + %sa_restorer3 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 2 + store void ()* %9, void ()** %sa_restorer3, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %10 = load i32, i32* %sig.addr, align 4 + %11 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %tobool4 = icmp ne %struct.sigaction.800* %11, null + %kact. = select i1 %tobool4, %struct.kernel_sigaction* %kact, %struct.kernel_sigaction* null + %12 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %tobool5 = icmp ne %struct.sigaction.800* %12, null + %cond9 = select i1 %tobool5, %struct.kernel_sigaction* %koact, %struct.kernel_sigaction* null + %call10 = call i32 bitcast (i32 (i32, %struct.sigaction.800*, %struct.sigaction.800*, i64)* @__syscall_rt_sigaction to i32 (i32, %struct.kernel_sigaction*, %struct.kernel_sigaction*, i64)*)(i32 %10, %struct.kernel_sigaction* %kact., %struct.kernel_sigaction* %cond9, i64 8) #18 + store i32 %call10, i32* %result, align 4 + %13 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %tobool11 = icmp ne %struct.sigaction.800* %13, null + %14 = load i32, i32* %result, align 4 + %cmp = icmp sge i32 %14, 0 + %or.cond = and i1 %tobool11, %cmp + br i1 %or.cond, label %if.then13, label %if.end25 + +if.then13: ; preds = %if.end + %k_sa_handler14 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 0 + %15 = load void (i32)*, void (i32)** %k_sa_handler14, align 8 + %16 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %__sigaction_handler15 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %16, i32 0, i32 0 + %sa_handler16 = bitcast %union.anon.799* %__sigaction_handler15 to void (i32)** + store void (i32)* %15, void (i32)** %sa_handler16, align 8 + %17 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %sa_mask17 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %17, i32 0, i32 1 + %18 = bitcast %struct.fd_set* %sa_mask17 to i8* + %sa_mask18 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 3 + %19 = bitcast %struct.fd_set* %sa_mask18 to i8* + %call19 = call i8* @memcpy(i8* %18, i8* %19, i64 128) #19 + %sa_flags20 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 1 + %20 = load i64, i64* %sa_flags20, align 8 + %conv21 = trunc i64 %20 to i32 + %21 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %sa_flags22 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %21, i32 0, i32 2 + store i32 %conv21, i32* %sa_flags22, align 8 + %sa_restorer23 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 2 + %22 = load void ()*, void ()** %sa_restorer23, align 8 + %23 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %sa_restorer24 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %23, i32 0, i32 3 + store void ()* %22, void ()** %sa_restorer24, align 8 + br label %if.end25 + +if.end25: ; preds = %if.then13, %if.end + %24 = load i32, i32* %result, align 4 + ret i32 %24 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__sigismember(%struct.fd_set* %__set, i32 %__sig) #0 { +entry: + %__set.addr = alloca %struct.fd_set*, align 8 + %__sig.addr = alloca i32, align 4 + %__mask = alloca i64, align 8 + %__word = alloca i64, align 8 + store %struct.fd_set* %__set, %struct.fd_set** %__set.addr, align 8 + store i32 %__sig, i32* %__sig.addr, align 4 + %0 = load i32, i32* %__sig.addr, align 4 + %sub = sub nsw i32 %0, 1 + %conv = sext i32 %sub to i64 + %rem = urem i64 %conv, 64 + %shl = shl i64 1, %rem + store i64 %shl, i64* %__mask, align 8 + %1 = load i32, i32* %__sig.addr, align 4 + %sub1 = sub nsw i32 %1, 1 + %conv2 = sext i32 %sub1 to i64 + %div = udiv i64 %conv2, 64 + store i64 %div, i64* %__word, align 8 + %2 = load %struct.fd_set*, %struct.fd_set** %__set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %2, i32 0, i32 0 + %3 = load i64, i64* %__word, align 8 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 %3 + %4 = load i64, i64* %arrayidx, align 8 + %5 = load i64, i64* %__mask, align 8 + %and = and i64 %4, %5 + %tobool = icmp ne i64 %and, 0 + %6 = zext i1 %tobool to i64 + %cond = select i1 %tobool, i32 1, i32 0 + ret i32 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__sigaddset(%struct.fd_set* %__set, i32 %__sig) #0 { +entry: + %__set.addr = alloca %struct.fd_set*, align 8 + %__sig.addr = alloca i32, align 4 + %__mask = alloca i64, align 8 + %__word = alloca i64, align 8 + store %struct.fd_set* %__set, %struct.fd_set** %__set.addr, align 8 + store i32 %__sig, i32* %__sig.addr, align 4 + %0 = load i32, i32* %__sig.addr, align 4 + %sub = sub nsw i32 %0, 1 + %conv = sext i32 %sub to i64 + %rem = urem i64 %conv, 64 + %shl = shl i64 1, %rem + store i64 %shl, i64* %__mask, align 8 + %1 = load i32, i32* %__sig.addr, align 4 + %sub1 = sub nsw i32 %1, 1 + %conv2 = sext i32 %sub1 to i64 + %div = udiv i64 %conv2, 64 + store i64 %div, i64* %__word, align 8 + %2 = load i64, i64* %__mask, align 8 + %3 = load %struct.fd_set*, %struct.fd_set** %__set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %3, i32 0, i32 0 + %4 = load i64, i64* %__word, align 8 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 %4 + %5 = load i64, i64* %arrayidx, align 8 + %or = or i64 %5, %2 + store i64 %or, i64* %arrayidx, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__sigdelset(%struct.fd_set* %__set, i32 %__sig) #0 { +entry: + %__set.addr = alloca %struct.fd_set*, align 8 + %__sig.addr = alloca i32, align 4 + %__mask = alloca i64, align 8 + %__word = alloca i64, align 8 + store %struct.fd_set* %__set, %struct.fd_set** %__set.addr, align 8 + store i32 %__sig, i32* %__sig.addr, align 4 + %0 = load i32, i32* %__sig.addr, align 4 + %sub = sub nsw i32 %0, 1 + %conv = sext i32 %sub to i64 + %rem = urem i64 %conv, 64 + %shl = shl i64 1, %rem + store i64 %shl, i64* %__mask, align 8 + %1 = load i32, i32* %__sig.addr, align 4 + %sub1 = sub nsw i32 %1, 1 + %conv2 = sext i32 %sub1 to i64 + %div = udiv i64 %conv2, 64 + store i64 %div, i64* %__word, align 8 + %2 = load i64, i64* %__mask, align 8 + %neg = xor i64 %2, -1 + %3 = load %struct.fd_set*, %struct.fd_set** %__set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %3, i32 0, i32 0 + %4 = load i64, i64* %__word, align 8 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 %4 + %5 = load i64, i64* %arrayidx, align 8 + %and = and i64 %5, %neg + store i64 %and, i64* %arrayidx, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %bufsize = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 5 + %1 = load i8*, i8** %__bufpos, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 3 + %3 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %1 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %3 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %bufsize, align 8 + %cmp = icmp ne i64 %sub.ptr.sub, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 3 + %5 = load i8*, i8** %__bufstart1, align 8 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 5 + store i8* %5, i8** %__bufpos2, align 8 + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart3 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 3 + %9 = load i8*, i8** %__bufstart3, align 8 + %10 = load i64, i64* %bufsize, align 8 + %call = call i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %7, i8* %9, i64 %10) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos4 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 5 + %12 = load i8*, i8** %__bufpos4, align 8 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart5 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 3 + %14 = load i8*, i8** %__bufstart5, align 8 + %sub.ptr.lhs.cast6 = ptrtoint i8* %12 to i64 + %sub.ptr.rhs.cast7 = ptrtoint i8* %14 to i64 + %sub.ptr.sub8 = sub i64 %sub.ptr.lhs.cast6, %sub.ptr.rhs.cast7 + ret i64 %sub.ptr.sub8 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__fgetc_unlocked(%struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %uc = alloca i8, align 1 + %uc56 = alloca i8, align 1 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 5 + %1 = load i8*, i8** %__bufpos, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 7 + %3 = load i8*, i8** %__bufgetc_u, align 8 + %cmp = icmp ult i8* %1, %3 + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 5 + %5 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + %6 = load i8, i8* %5, align 1 + %conv = zext i8 %6 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 0 + %7 = load i16, i16* %__modeflags, align 8 + %conv2 = zext i16 %7 to i32 + %and = and i32 %conv2, 131 + %cmp3 = icmp ugt i32 %and, 128 + br i1 %cmp3, label %if.then5, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2r_o(%struct.__STDIO_FILE_STRUCT.568* %8, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end63, label %if.then5 + +if.then5: ; preds = %lor.lhs.false, %if.end + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %9, i32 0, i32 0 + %10 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %10 to i32 + %and8 = and i32 %conv7, 2 + %tobool9 = icmp ne i32 %and8, 0 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %tobool9, label %if.then10, label %if.end18 + +if.then10: ; preds = %if.then5 + %__ungot = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 10 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags11 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags11, align 8 + %dec = add i16 %13, -1 + store i16 %dec, i16* %__modeflags11, align 8 + %conv12 = zext i16 %13 to i32 + %and13 = and i32 %conv12, 1 + %idxprom = sext i32 %and13 to i64 + %arrayidx = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot, i64 0, i64 %idxprom + %14 = load i32, i32* %arrayidx, align 4 + %conv14 = trunc i32 %14 to i8 + store i8 %conv14, i8* %uc, align 1 + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__ungot15 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 10 + %arrayidx16 = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot15, i64 0, i64 1 + store i32 0, i32* %arrayidx16, align 4 + %16 = load i8, i8* %uc, align 1 + %conv17 = zext i8 %16 to i32 + store i32 %conv17, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %if.then5 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 6 + %17 = load i8*, i8** %__bufread, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos19 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 5 + %19 = load i8*, i8** %__bufpos19, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %17 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool20 = icmp ne i64 %sub.ptr.sub, 0 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %tobool20, label %if.then21, label %if.end25 + +if.then21: ; preds = %if.end18 + %__bufpos22 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 5 + %21 = load i8*, i8** %__bufpos22, align 8 + %incdec.ptr23 = getelementptr inbounds i8, i8* %21, i32 1 + store i8* %incdec.ptr23, i8** %__bufpos22, align 8 + %22 = load i8, i8* %21, align 1 + %conv24 = zext i8 %22 to i32 + store i32 %conv24, i32* %retval, align 4 + br label %return + +if.end25: ; preds = %if.end18 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 2 + %23 = load i32, i32* %__filedes, align 4 + %cmp26 = icmp eq i32 %23, -2 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags29 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 0 + %25 = load i16, i16* %__modeflags29, align 8 + %conv30 = zext i16 %25 to i32 + br i1 %cmp26, label %if.then28, label %if.end32 + +if.then28: ; preds = %if.end25 + %or = or i32 %conv30, 4 + %conv31 = trunc i32 %or to i16 + store i16 %conv31, i16* %__modeflags29, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end32: ; preds = %if.end25 + %and35 = and i32 %conv30, 768 + %tobool36 = icmp ne i32 %and35, 0 + br i1 %tobool36, label %if.then37, label %if.end39 + +if.then37: ; preds = %if.end32 + %call38 = call i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.568* bitcast (%struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist to %struct.__STDIO_FILE_STRUCT.568*)) #18 + br label %if.end39 + +if.end39: ; preds = %if.then37, %if.end32 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 4 + %27 = load i8*, i8** %__bufend, align 8 + %28 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %28, i32 0, i32 3 + %29 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast40 = ptrtoint i8* %27 to i64 + %sub.ptr.rhs.cast41 = ptrtoint i8* %29 to i64 + %sub.ptr.sub42 = sub i64 %sub.ptr.lhs.cast40, %sub.ptr.rhs.cast41 + %tobool43 = icmp ne i64 %sub.ptr.sub42, 0 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %tobool43, label %if.then44, label %if.else + +if.then44: ; preds = %if.end39 + %__bufstart45 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %30, i32 0, i32 3 + %31 = load i8*, i8** %__bufstart45, align 8 + %32 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u46 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %32, i32 0, i32 7 + store i8* %31, i8** %__bufgetc_u46, align 8 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call47 = call i64 @__stdio_rfill(%struct.__STDIO_FILE_STRUCT.568* %33) #18 + %tobool48 = icmp ne i64 %call47, 0 + br i1 %tobool48, label %if.then49, label %if.end63 + +if.then49: ; preds = %if.then44 + %34 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread50 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %34, i32 0, i32 6 + %35 = load i8*, i8** %__bufread50, align 8 + %36 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u51 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %36, i32 0, i32 7 + store i8* %35, i8** %__bufgetc_u51, align 8 + %37 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos52 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %37, i32 0, i32 5 + %38 = load i8*, i8** %__bufpos52, align 8 + %incdec.ptr53 = getelementptr inbounds i8, i8* %38, i32 1 + store i8* %incdec.ptr53, i8** %__bufpos52, align 8 + %39 = load i8, i8* %38, align 1 + %conv54 = zext i8 %39 to i32 + store i32 %conv54, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.end39 + %call57 = call i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.568* %30, i8* %uc56, i64 1) #18 + %tobool58 = icmp ne i64 %call57, 0 + br i1 %tobool58, label %if.then59, label %if.end63 + +if.then59: ; preds = %if.else + %40 = load i8, i8* %uc56, align 1 + %conv60 = zext i8 %40 to i32 + store i32 %conv60, i32* %retval, align 4 + br label %return + +if.end63: ; preds = %if.then44, %if.else, %lor.lhs.false + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end63, %if.then59, %if.then49, %if.then28, %if.then21, %if.then10, %if.then + %41 = load i32, i32* %retval, align 4 + ret i32 %41 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @sprintf(i8* noalias %buf, i8* noalias %format, ...) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %format.addr = alloca i8*, align 8 + %arg = alloca [1 x %struct.__va_list_tag.0], align 16 + %rv = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load i8*, i8** %buf.addr, align 8 + %1 = load i8*, i8** %format.addr, align 8 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %call = call i32 @vsnprintf(i8* %0, i64 -1, i8* %1, %struct.__va_list_tag.0* %arraydecay2) #19 + store i32 %call, i32* %rv, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + %2 = load i32, i32* %rv, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @strcmp(i8* nonnull %s1, i8* nonnull %s2) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %r = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + br label %while.cond + +while.cond: ; preds = %land.rhs, %entry + %0 = load i8*, i8** %s1.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = zext i8 %1 to i32 + %2 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %2, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %3 = load i8, i8* %2, align 1 + %conv1 = zext i8 %3 to i32 + %sub = sub nsw i32 %conv, %conv1 + store i32 %sub, i32* %r, align 4 + %cmp = icmp eq i32 %sub, 0 + br i1 %cmp, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %4 = load i8*, i8** %s1.addr, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr3, i8** %s1.addr, align 8 + %5 = load i8, i8* %4, align 1 + %conv4 = sext i8 %5 to i32 + %tobool = icmp ne i32 %conv4, 0 + br i1 %tobool, label %while.cond, label %while.end + +while.end: ; preds = %while.cond, %land.rhs + %6 = load i32, i32* %r, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i64 @strlen(i8* nonnull %s) #14 { +entry: + %s.addr = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load i8*, i8** %p, align 8 + %2 = load i8, i8* %1, align 1 + %tobool = icmp ne i8 %2, 0 + %3 = load i8*, i8** %p, align 8 + br i1 %tobool, label %for.inc, label %for.end + +for.inc: ; preds = %for.cond + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %4 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %3 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %4 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @strncmp(i8* nonnull %s1, i8* nonnull %s2, i64 %n) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i32 0, i32* %r, align 4 + br label %while.cond + +while.cond: ; preds = %land.rhs, %entry + %0 = load i64, i64* %n.addr, align 8 + %dec = add i64 %0, -1 + store i64 %dec, i64* %n.addr, align 8 + %tobool = icmp ne i64 %0, 0 + br i1 %tobool, label %land.lhs.true, label %while.end + +land.lhs.true: ; preds = %while.cond + %1 = load i8*, i8** %s1.addr, align 8 + %2 = load i8, i8* %1, align 1 + %conv = zext i8 %2 to i32 + %3 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %4 = load i8, i8* %3, align 1 + %conv1 = zext i8 %4 to i32 + %sub = sub nsw i32 %conv, %conv1 + store i32 %sub, i32* %r, align 4 + %cmp = icmp eq i32 %sub, 0 + br i1 %cmp, label %land.rhs, label %while.end + +land.rhs: ; preds = %land.lhs.true + %5 = load i8*, i8** %s1.addr, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr3, i8** %s1.addr, align 8 + %6 = load i8, i8* %5, align 1 + %conv4 = sext i8 %6 to i32 + %tobool5 = icmp ne i32 %conv4, 0 + br i1 %tobool5, label %while.cond, label %while.end + +while.end: ; preds = %while.cond, %land.lhs.true, %land.rhs + %7 = load i32, i32* %r, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @isatty(i32 %fd) #0 { +entry: + %fd.addr = alloca i32, align 4 + %term = alloca %struct.termios, align 4 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 @tcgetattr(i32 %0, %struct.termios* %term) #19 + %cmp = icmp eq i32 %call, 0 + %conv = zext i1 %cmp to i32 + ret i32 %conv +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @open64(i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i8*, i8** %pathname.addr, align 8 + %8 = load i32, i32* %flags.addr, align 4 + %9 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_open(i8* %7, i32 %8, i32 %9) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @openat64(i32 %fd, i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %fd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i32, i32* %fd.addr, align 4 + %8 = load i8*, i8** %pathname.addr, align 8 + %9 = load i32, i32* %flags.addr, align 4 + %10 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_openat(i32 %7, i8* %8, i32 %9, i32 %10) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @lseek64(i32 %fd, i64 %offset, i32 %whence) #3 { +entry: + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %offset.addr, align 8 + %2 = load i32, i32* %whence.addr, align 4 + %call = call i64 @__fd_lseek(i32 %0, i64 %1, i32 %2) + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__xstat64(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @stat64(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__lxstat64(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @lstat64(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fxstat64(i32 %vers, i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %vers, i32* %vers.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstat64(i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @ftruncate64(i32 %fd, i64 %length) #3 { +entry: + %fd.addr = alloca i32, align 4 + %length.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %length, i64* %length.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %length.addr, align 8 + %call = call i32 @__fd_ftruncate(i32 %0, i64 %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @statfs64(i8* nonnull %path, %struct.statfs* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.statfs*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.statfs* %buf, %struct.statfs** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.statfs*, %struct.statfs** %buf.addr, align 8 + %call = call i32 @__fd_statfs(i8* %0, %struct.statfs* %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @getdents64(i32 %fd, i8* nonnull %dirp, i64 %count) #3 { +entry: + %fd.addr = alloca i32, align 4 + %dirp.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %dirp, i8** %dirp.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i8*, i8** %dirp.addr, align 8 + %2 = bitcast i8* %1 to %struct.dirent64* + %3 = load i64, i64* %count.addr, align 8 + %conv = trunc i64 %3 to i32 + %call = call i32 @__fd_getdents(i32 %0, %struct.dirent64* %2, i32 %conv) + %conv1 = sext i32 %call to i64 + ret i64 %conv1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @kill(i32 %pid, i32 %sig) #3 { +entry: + %pid.addr = alloca i32, align 4 + %sig.addr = alloca i32, align 4 + store i32 %pid, i32* %pid.addr, align 4 + store i32 %sig, i32* %sig.addr, align 4 + call void @gs_warning.218(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.217, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @gs_warning.218(i8* %message) #3 { +entry: + %message.addr = alloca i8*, align 8 + store i8* %message, i8** %message.addr, align 8 + %0 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %0) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.7.219, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind returns_twice uwtable +define weak dso_local i32 @_setjmp(%struct.__jmp_buf_tag* %__env) #16 { +entry: + %__env.addr = alloca %struct.__jmp_buf_tag*, align 8 + store %struct.__jmp_buf_tag* %__env, %struct.__jmp_buf_tag** %__env.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1.220, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline noreturn nounwind uwtable +define dso_local void @longjmp(%struct.__jmp_buf_tag* %env, i32 %val) #6 { +entry: + %env.addr = alloca %struct.__jmp_buf_tag*, align 8 + %val.addr = alloca i32, align 4 + store %struct.__jmp_buf_tag* %env, %struct.__jmp_buf_tag** %env.addr, align 8 + store i32 %val, i32* %val.addr, align 4 + call void @gs_report_error.224(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.2.221, i64 0, i64 0), i32 37, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.3.222, i64 0, i64 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.4.223, i64 0, i64 0)) #24 + unreachable +} + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error.224(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.7.219, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execl(i8* nonnull %path, i8* nonnull %arg, ...) #3 { +entry: + %path.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + call void @gs_warning.218(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.225, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execlp(i8* nonnull %file, i8* nonnull %arg, ...) #3 { +entry: + %file.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + call void @gs_warning.218(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.225, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execle(i8* nonnull %path, i8* nonnull %arg, ...) #3 { +entry: + %path.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + call void @gs_warning.218(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.225, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execv(i8* nonnull %path, i8** nonnull %argv) #3 { +entry: + %path.addr = alloca i8*, align 8 + %argv.addr = alloca i8**, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + call void @gs_warning.218(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.225, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execvp(i8* nonnull %file, i8** nonnull %argv) #3 { +entry: + %file.addr = alloca i8*, align 8 + %argv.addr = alloca i8**, align 8 + store i8* %file, i8** %file.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + call void @gs_warning.218(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.225, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execve(i8* nonnull %file, i8** nonnull %argv, i8** %envp) #3 { +entry: + %file.addr = alloca i8*, align 8 + %argv.addr = alloca i8**, align 8 + %envp.addr = alloca i8**, align 8 + store i8* %file, i8** %file.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + store i8** %envp, i8*** %envp.addr, align 8 + call void @gs_warning.218(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.225, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fork() #3 { +entry: + call void @gs_warning.218(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.6.226, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 12, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind returns_twice uwtable +define dso_local i32 @vfork() #16 { +entry: + %call = call i32 @fork() #11 + ret i32 %call +} + +; Function Attrs: noinline nounwind readnone uwtable +define i16** @__ctype_b_loc() #12 { +entry: + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 0 + ret i16** %__ctype_b +} + +; Function Attrs: noinline nounwind uwtable +define i32 @toupper(i32 %c) #0 { +entry: + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %add = add nsw i32 %0, 128 + %cmp = icmp ult i32 %add, 384 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %entry + %call = call i16** @__ctype_toupper_loc() #21 + %1 = load i16*, i16** %call, align 8 + %2 = load i32, i32* %c.addr, align 4 + %idxprom = sext i32 %2 to i64 + %arrayidx = getelementptr inbounds i16, i16* %1, i64 %idxprom + %3 = load i16, i16* %arrayidx, align 2 + %conv = sext i16 %3 to i32 + br label %cond.end + +cond.false: ; preds = %entry + %4 = load i32, i32* %c.addr, align 4 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ %conv, %cond.true ], [ %4, %cond.false ] + ret i32 %cond +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @__error(i32 %status, i32 %errnum, i8* %message, ...) #0 { +entry: + %status.addr = alloca i32, align 4 + %errnum.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %args = alloca [1 x %struct.__va_list_tag.0], align 16 + %__S = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %tmp = alloca i32, align 4 + store i32 %status, i32* %status.addr, align 4 + store i32 %errnum, i32* %errnum.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdout, align 8 + %call = call i32 @fflush(%struct.__STDIO_FILE_STRUCT.568* %0) #18 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %2 = load i8*, i8** %message.addr, align 8 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %call3 = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %1, i8* %2, %struct.__va_list_tag.0* %arraydecay2) #18 + %arraydecay4 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay45 = bitcast %struct.__va_list_tag.0* %arraydecay4 to i8* + call void @llvm.va_end(i8* %arraydecay45) + %3 = load i32, i32* @error_message_count, align 4 + %inc = add i32 %3, 1 + store i32 %inc, i32* @error_message_count, align 4 + %4 = load i32, i32* %errnum.addr, align 4 + %tobool = icmp ne i32 %4, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %6 = load i32, i32* %errnum.addr, align 4 + %call6 = call i8* @strerror(i32 %6) #19 + %call7 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %5, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.231, i64 0, i64 0), i8* %call6) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %7, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 5 + %9 = load i8*, i8** %__bufpos, align 8 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 8 + %11 = load i8*, i8** %__bufputc_u, align 8 + %cmp = icmp ult i8* %9, %11 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %if.end + %__bufpos8 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 5 + %13 = load i8*, i8** %__bufpos8, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %13, i32 1 + store i8* %incdec.ptr, i8** %__bufpos8, align 8 + store i8 10, i8* %13, align 1 + br label %cond.end + +cond.false: ; preds = %if.end + %call9 = call i32 @__fputc_unlocked(i32 10, %struct.__STDIO_FILE_STRUCT.568* %12) #18 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ 10, %cond.true ], [ %call9, %cond.false ] + store i32 %cond, i32* %tmp, align 4 + %14 = load i32, i32* %tmp, align 4 + %15 = load i32, i32* %status.addr, align 4 + %tobool10 = icmp ne i32 %15, 0 + br i1 %tobool10, label %if.then11, label %if.end12 + +if.then11: ; preds = %cond.end + %16 = load i32, i32* %status.addr, align 4 + call void @exit(i32 %16) #22 + unreachable + +if.end12: ; preds = %cond.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @__error_at_line(i32 %status, i32 %errnum, i8* %file_name, i32 %line_number, i8* %message, ...) #0 { +entry: + %status.addr = alloca i32, align 4 + %errnum.addr = alloca i32, align 4 + %file_name.addr = alloca i8*, align 8 + %line_number.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %args = alloca [1 x %struct.__va_list_tag.0], align 16 + %__S = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %tmp = alloca i32, align 4 + store i32 %status, i32* %status.addr, align 4 + store i32 %errnum, i32* %errnum.addr, align 4 + store i8* %file_name, i8** %file_name.addr, align 8 + store i32 %line_number, i32* %line_number.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + %0 = load i32, i32* @error_one_per_line, align 4 + %tobool = icmp ne i32 %0, 0 + br i1 %tobool, label %if.then, label %if.end4 + +if.then: ; preds = %entry + %1 = load i32, i32* @__error_at_line.old_line_number, align 4 + %2 = load i32, i32* %line_number.addr, align 4 + %cmp = icmp eq i32 %1, %2 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %if.then + %3 = load i8*, i8** %file_name.addr, align 8 + %4 = load i8*, i8** @__error_at_line.old_file_name, align 8 + %cmp1 = icmp eq i8* %3, %4 + br i1 %cmp1, label %if.end25, label %lor.lhs.false + +lor.lhs.false: ; preds = %land.lhs.true + %5 = load i8*, i8** @__error_at_line.old_file_name, align 8 + %6 = load i8*, i8** %file_name.addr, align 8 + %call = call i32 @strcmp(i8* %5, i8* %6) #20 + %tobool2 = icmp ne i32 %call, 0 + br i1 %tobool2, label %if.end, label %if.end25 + +if.end: ; preds = %lor.lhs.false, %if.then + %7 = load i8*, i8** %file_name.addr, align 8 + store i8* %7, i8** @__error_at_line.old_file_name, align 8 + %8 = load i32, i32* %line_number.addr, align 4 + store i32 %8, i32* @__error_at_line.old_line_number, align 4 + br label %if.end4 + +if.end4: ; preds = %if.end, %entry + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdout, align 8 + %call5 = call i32 @fflush(%struct.__STDIO_FILE_STRUCT.568* %9) #18 + %10 = load i8*, i8** %file_name.addr, align 8 + %cmp6 = icmp ne i8* %10, null + br i1 %cmp6, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end4 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %12 = load i8*, i8** %file_name.addr, align 8 + %13 = load i32, i32* %line_number.addr, align 4 + %call8 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %11, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1.232, i64 0, i64 0), i8* %12, i32 %13) #18 + br label %if.end9 + +if.end9: ; preds = %if.then7, %if.end4 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay10 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay10) + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %15 = load i8*, i8** %message.addr, align 8 + %arraydecay11 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %call12 = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %14, i8* %15, %struct.__va_list_tag.0* %arraydecay11) #18 + %arraydecay13 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay1314 = bitcast %struct.__va_list_tag.0* %arraydecay13 to i8* + call void @llvm.va_end(i8* %arraydecay1314) + %16 = load i32, i32* @error_message_count, align 4 + %inc = add i32 %16, 1 + store i32 %inc, i32* @error_message_count, align 4 + %17 = load i32, i32* %errnum.addr, align 4 + %tobool15 = icmp ne i32 %17, 0 + br i1 %tobool15, label %if.then16, label %if.end19 + +if.then16: ; preds = %if.end9 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %19 = load i32, i32* %errnum.addr, align 4 + %call17 = call i8* @strerror(i32 %19) #19 + %call18 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %18, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.231, i64 0, i64 0), i8* %call17) #18 + br label %if.end19 + +if.end19: ; preds = %if.then16, %if.end9 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %20, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %21 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %21, i32 0, i32 5 + %22 = load i8*, i8** %__bufpos, align 8 + %23 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %23, i32 0, i32 8 + %24 = load i8*, i8** %__bufputc_u, align 8 + %cmp20 = icmp ult i8* %22, %24 + %25 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + br i1 %cmp20, label %cond.true, label %cond.false + +cond.true: ; preds = %if.end19 + %__bufpos21 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %25, i32 0, i32 5 + %26 = load i8*, i8** %__bufpos21, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %26, i32 1 + store i8* %incdec.ptr, i8** %__bufpos21, align 8 + store i8 10, i8* %26, align 1 + br label %cond.end + +cond.false: ; preds = %if.end19 + %call22 = call i32 @__fputc_unlocked(i32 10, %struct.__STDIO_FILE_STRUCT.568* %25) #18 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ 10, %cond.true ], [ %call22, %cond.false ] + store i32 %cond, i32* %tmp, align 4 + %27 = load i32, i32* %tmp, align 4 + %28 = load i32, i32* %status.addr, align 4 + %tobool23 = icmp ne i32 %28, 0 + br i1 %tobool23, label %if.then24, label %if.end25 + +if.then24: ; preds = %cond.end + %29 = load i32, i32* %status.addr, align 4 + call void @exit(i32 %29) #22 + unreachable + +if.end25: ; preds = %land.lhs.true, %lor.lhs.false, %cond.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i8* @nl_langinfo(i32 %item) #0 { +entry: + %item.addr = alloca i32, align 4 + store i32 %item, i32* %item.addr, align 4 + %0 = load i32, i32* %item.addr, align 4 + %1 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %call = call i8* @nl_langinfo_l(i32 %0, %struct.__uclibc_locale_struct.201* %1) #18 + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define i8* @setlocale(i32 %category, i8* %locale) #0 { +entry: + %retval = alloca i8*, align 8 + %category.addr = alloca i32, align 4 + %locale.addr = alloca i8*, align 8 + store i32 %category, i32* %category.addr, align 4 + store i8* %locale, i8** %locale.addr, align 8 + %0 = load i32, i32* %category.addr, align 4 + %cmp = icmp ugt i32 %0, 6 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %locale.addr, align 8 + %cmp1 = icmp ne i8* %1, null + br i1 %cmp1, label %if.then2, label %if.end5 + +if.then2: ; preds = %if.end + %2 = load i32, i32* %category.addr, align 4 + %shl = shl i32 1, %2 + %3 = load i8*, i8** %locale.addr, align 8 + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__global_locale, align 8 + %call = call %struct.__uclibc_locale_struct.201* @newlocale(i32 %shl, i8* %3, %struct.__uclibc_locale_struct.201* %4) #19 + %tobool = icmp ne %struct.__uclibc_locale_struct.201* %call, null + br i1 %tobool, label %if.end4, label %if.then3 + +if.then3: ; preds = %if.then2 + store i8* null, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %if.then2 + %5 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__global_locale, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %5, i32 0, i32 6 + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + call void @update_hr_locale(i8* %arraydecay) #18 + br label %if.end5 + +if.end5: ; preds = %if.end4, %if.end + %6 = load i32, i32* %category.addr, align 4 + %mul = mul nsw i32 %6, 32 + %idx.ext = sext i32 %mul to i64 + %add.ptr = getelementptr inbounds i8, i8* getelementptr inbounds ([448 x i8], [448 x i8]* @hr_locale, i64 0, i64 0), i64 %idx.ext + store i8* %add.ptr, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %7 = load i8*, i8** %retval, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @update_hr_locale(i8* %spec) #0 { +entry: + %spec.addr = alloca i8*, align 8 + %loc = alloca i8*, align 8 + %s = alloca i8*, align 8 + %n = alloca i8*, align 8 + %i = alloca i32, align 4 + %category = alloca i32, align 4 + %done = alloca i32, align 4 + %at = alloca i8, align 1 + %q = alloca i8*, align 8 + store i8* %spec, i8** %spec.addr, align 8 + store i32 0, i32* %category, align 4 + store i32 0, i32* %done, align 4 + br label %do.body + +do.body: ; preds = %do.end127, %entry + %0 = load i8*, i8** %spec.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %0, i64 1 + store i8* %add.ptr, i8** %s, align 8 + %1 = load i32, i32* %category, align 4 + %mul = mul nsw i32 %1, 32 + %idx.ext = sext i32 %mul to i64 + %add.ptr1 = getelementptr inbounds i8, i8* getelementptr inbounds ([448 x i8], [448 x i8]* @hr_locale, i64 0, i64 0), i64 %idx.ext + store i8* %add.ptr1, i8** %n, align 8 + %2 = load i32, i32* %category, align 4 + %cmp = icmp eq i32 %2, 6 + br i1 %cmp, label %if.then, label %SKIP + +if.then: ; preds = %do.body + store i32 1, i32* %done, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.then + %3 = load i32, i32* %i, align 4 + %cmp2 = icmp slt i32 %3, 5 + br i1 %cmp2, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %4 = load i8*, i8** %s, align 8 + %5 = load i32, i32* %i, align 4 + %idxprom = sext i32 %5 to i64 + %arrayidx = getelementptr inbounds i8, i8* %4, i64 %idxprom + %6 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %6 to i32 + %7 = load i8*, i8** %s, align 8 + %8 = load i32, i32* %i, align 4 + %add = add nsw i32 %8, 2 + %idxprom3 = sext i32 %add to i64 + %arrayidx4 = getelementptr inbounds i8, i8* %7, i64 %idxprom3 + %9 = load i8, i8* %arrayidx4, align 1 + %conv5 = zext i8 %9 to i32 + %cmp6 = icmp ne i32 %conv, %conv5 + br i1 %cmp6, label %SKIP, label %lor.lhs.false + +lor.lhs.false: ; preds = %for.body + %10 = load i8*, i8** %s, align 8 + %11 = load i32, i32* %i, align 4 + %add8 = add nsw i32 %11, 1 + %idxprom9 = sext i32 %add8 to i64 + %arrayidx10 = getelementptr inbounds i8, i8* %10, i64 %idxprom9 + %12 = load i8, i8* %arrayidx10, align 1 + %conv11 = zext i8 %12 to i32 + %13 = load i8*, i8** %s, align 8 + %14 = load i32, i32* %i, align 4 + %add12 = add nsw i32 %14, 3 + %idxprom13 = sext i32 %add12 to i64 + %arrayidx14 = getelementptr inbounds i8, i8* %13, i64 %idxprom13 + %15 = load i8, i8* %arrayidx14, align 1 + %conv15 = zext i8 %15 to i32 + %cmp16 = icmp ne i32 %conv11, %conv15 + br i1 %cmp16, label %SKIP, label %for.inc + +for.inc: ; preds = %lor.lhs.false + %16 = load i32, i32* %i, align 4 + %add19 = add nsw i32 %16, 2 + store i32 %add19, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + store i32 0, i32* %category, align 4 + br label %SKIP + +SKIP: ; preds = %do.body, %for.end, %for.body, %lor.lhs.false + %17 = load i32, i32* %category, align 4 + %cmp21 = icmp eq i32 %17, 6 + %18 = load i32, i32* %category, align 4 + %cond = select i1 %cmp21, i32 0, i32 %18 + store i32 %cond, i32* %i, align 4 + %19 = load i32, i32* %i, align 4 + %mul23 = mul nsw i32 2, %19 + %20 = load i8*, i8** %s, align 8 + %idx.ext24 = sext i32 %mul23 to i64 + %add.ptr25 = getelementptr inbounds i8, i8* %20, i64 %idx.ext24 + store i8* %add.ptr25, i8** %s, align 8 + br label %do.body26 + +do.body26: ; preds = %if.end122, %SKIP + %21 = load i8*, i8** %s, align 8 + %22 = load i8, i8* %21, align 1 + %conv27 = zext i8 %22 to i32 + %cmp28 = icmp ne i32 %conv27, 255 + br i1 %cmp28, label %if.then35, label %lor.lhs.false30 + +lor.lhs.false30: ; preds = %do.body26 + %23 = load i8*, i8** %s, align 8 + %arrayidx31 = getelementptr inbounds i8, i8* %23, i64 1 + %24 = load i8, i8* %arrayidx31, align 1 + %conv32 = zext i8 %24 to i32 + %cmp33 = icmp ne i32 %conv32, 255 + br i1 %cmp33, label %if.then35, label %if.end122 + +if.then35: ; preds = %lor.lhs.false30, %do.body26 + %25 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %25, i32 0, i32 31 + %arraydecay = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales, i64 0, i64 0 + %26 = load i8*, i8** %s, align 8 + %27 = load i8, i8* %26, align 1 + %conv36 = zext i8 %27 to i32 + %and = and i32 %conv36, 127 + %shl = shl i32 %and, 7 + %28 = load i8*, i8** %s, align 8 + %arrayidx37 = getelementptr inbounds i8, i8* %28, i64 1 + %29 = load i8, i8* %arrayidx37, align 1 + %conv38 = zext i8 %29 to i32 + %and39 = and i32 %conv38, 127 + %add40 = add nsw i32 %shl, %and39 + %mul41 = mul nsw i32 9, %add40 + %idx.ext42 = sext i32 %mul41 to i64 + %add.ptr43 = getelementptr inbounds i8, i8* %arraydecay, i64 %idx.ext42 + store i8* %add.ptr43, i8** %loc, align 8 + %30 = load i32, i32* %category, align 4 + %cmp44 = icmp eq i32 %30, 6 + br i1 %cmp44, label %if.then46, label %if.end54 + +if.then46: ; preds = %if.then35 + %31 = load i8*, i8** %n, align 8 + %32 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %32, i32 0, i32 34 + %arraydecay47 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names, i64 0, i64 0 + %33 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names48 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %33, i32 0, i32 34 + %34 = load i32, i32* %i, align 4 + %idxprom49 = sext i32 %34 to i64 + %arrayidx50 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names48, i64 0, i64 %idxprom49 + %35 = load i8, i8* %arrayidx50, align 1 + %conv51 = zext i8 %35 to i32 + %idx.ext52 = sext i32 %conv51 to i64 + %add.ptr53 = getelementptr inbounds i8, i8* %arraydecay47, i64 %idx.ext52 + %call = call i8* @stpcpy(i8* %31, i8* %add.ptr53) #19 + store i8* %call, i8** %n, align 8 + %36 = load i8*, i8** %n, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %36, i32 1 + store i8* %incdec.ptr, i8** %n, align 8 + store i8 61, i8* %36, align 1 + br label %if.end54 + +if.end54: ; preds = %if.then46, %if.then35 + %37 = load i8*, i8** %loc, align 8 + %38 = load i8, i8* %37, align 1 + %conv55 = zext i8 %38 to i32 + %cmp56 = icmp eq i32 %conv55, 0 + br i1 %cmp56, label %if.then58, label %if.else + +if.then58: ; preds = %if.end54 + %39 = load i8*, i8** %n, align 8 + %incdec.ptr59 = getelementptr inbounds i8, i8* %39, i32 1 + store i8* %incdec.ptr59, i8** %n, align 8 + store i8 67, i8* %39, align 1 + %40 = load i8*, i8** %n, align 8 + store i8 0, i8* %40, align 1 + br label %if.end120 + +if.else: ; preds = %if.end54 + store i8 0, i8* %at, align 1 + %41 = load i8*, i8** %n, align 8 + %42 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_names5 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %42, i32 0, i32 32 + %arraydecay60 = getelementptr inbounds [835 x i8], [835 x i8]* %locale_names5, i64 0, i64 0 + %43 = load i8*, i8** %loc, align 8 + %44 = load i8, i8* %43, align 1 + %conv61 = zext i8 %44 to i32 + %sub = sub nsw i32 %conv61, 1 + %mul62 = mul nsw i32 5, %sub + %idx.ext63 = sext i32 %mul62 to i64 + %add.ptr64 = getelementptr inbounds i8, i8* %arraydecay60, i64 %idx.ext63 + %call65 = call i8* @memcpy(i8* %41, i8* %add.ptr64, i64 5) #19 + %45 = load i8*, i8** %n, align 8 + %arrayidx66 = getelementptr inbounds i8, i8* %45, i64 2 + %46 = load i8, i8* %arrayidx66, align 1 + %conv67 = sext i8 %46 to i32 + %cmp68 = icmp ne i32 %conv67, 95 + br i1 %cmp68, label %if.then70, label %if.end73 + +if.then70: ; preds = %if.else + %47 = load i8*, i8** %n, align 8 + %arrayidx71 = getelementptr inbounds i8, i8* %47, i64 2 + %48 = load i8, i8* %arrayidx71, align 1 + store i8 %48, i8* %at, align 1 + %49 = load i8*, i8** %n, align 8 + %arrayidx72 = getelementptr inbounds i8, i8* %49, i64 2 + store i8 95, i8* %arrayidx72, align 1 + br label %if.end73 + +if.end73: ; preds = %if.then70, %if.else + %50 = load i8*, i8** %n, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %50, i64 5 + store i8* %add.ptr74, i8** %n, align 8 + %51 = load i8*, i8** %n, align 8 + %incdec.ptr75 = getelementptr inbounds i8, i8* %51, i32 1 + store i8* %incdec.ptr75, i8** %n, align 8 + store i8 46, i8* %51, align 1 + %52 = load i8*, i8** %loc, align 8 + %arrayidx76 = getelementptr inbounds i8, i8* %52, i64 2 + %53 = load i8, i8* %arrayidx76, align 1 + %conv77 = zext i8 %53 to i32 + %cmp78 = icmp eq i32 %conv77, 2 + br i1 %cmp78, label %if.then80, label %if.else82 + +if.then80: ; preds = %if.end73 + %54 = load i8*, i8** %n, align 8 + %call81 = call i8* @stpcpy(i8* %54, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf8.239, i64 0, i64 0)) #19 + store i8* %call81, i8** %n, align 8 + br label %if.end100 + +if.else82: ; preds = %if.end73 + %55 = load i8*, i8** %loc, align 8 + %arrayidx83 = getelementptr inbounds i8, i8* %55, i64 2 + %56 = load i8, i8* %arrayidx83, align 1 + %conv84 = zext i8 %56 to i32 + %cmp85 = icmp sge i32 %conv84, 3 + br i1 %cmp85, label %if.then87, label %if.end100 + +if.then87: ; preds = %if.else82 + %57 = load i8*, i8** %n, align 8 + %58 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %58, i32 0, i32 35 + %arraydecay88 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list, i64 0, i64 0 + %59 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list89 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %59, i32 0, i32 35 + %60 = load i8*, i8** %loc, align 8 + %arrayidx90 = getelementptr inbounds i8, i8* %60, i64 2 + %61 = load i8, i8* %arrayidx90, align 1 + %conv91 = zext i8 %61 to i32 + %sub92 = sub nsw i32 %conv91, 3 + %idxprom93 = sext i32 %sub92 to i64 + %arrayidx94 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list89, i64 0, i64 %idxprom93 + %62 = load i8, i8* %arrayidx94, align 1 + %conv95 = zext i8 %62 to i32 + %idx.ext96 = sext i32 %conv95 to i64 + %add.ptr97 = getelementptr inbounds i8, i8* %arraydecay88, i64 %idx.ext96 + %call98 = call i8* @stpcpy(i8* %57, i8* %add.ptr97) #19 + store i8* %call98, i8** %n, align 8 + br label %if.end100 + +if.end100: ; preds = %if.else82, %if.then87, %if.then80 + %63 = load i8, i8* %at, align 1 + %tobool = icmp ne i8 %63, 0 + br i1 %tobool, label %if.then101, label %if.end120 + +if.then101: ; preds = %if.end100 + %64 = load i8*, i8** %n, align 8 + %incdec.ptr102 = getelementptr inbounds i8, i8* %64, i32 1 + store i8* %incdec.ptr102, i8** %n, align 8 + store i8 64, i8* %64, align 1 + %65 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_at_modifiers = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %65, i32 0, i32 33 + %arraydecay103 = getelementptr inbounds [18 x i8], [18 x i8]* %locale_at_modifiers, i64 0, i64 0 + store i8* %arraydecay103, i8** %q, align 8 + br label %do.body104 + +do.body104: ; preds = %if.end113, %if.then101 + %66 = load i8*, i8** %q, align 8 + %arrayidx105 = getelementptr inbounds i8, i8* %66, i64 1 + %67 = load i8, i8* %arrayidx105, align 1 + %conv106 = sext i8 %67 to i32 + %68 = load i8, i8* %at, align 1 + %conv107 = sext i8 %68 to i32 + %cmp108 = icmp eq i32 %conv106, %conv107 + br i1 %cmp108, label %if.then110, label %if.end113 + +if.then110: ; preds = %do.body104 + %69 = load i8*, i8** %n, align 8 + %70 = load i8*, i8** %q, align 8 + %add.ptr111 = getelementptr inbounds i8, i8* %70, i64 2 + %call112 = call i8* @stpcpy(i8* %69, i8* %add.ptr111) #19 + store i8* %call112, i8** %n, align 8 + br label %if.end120 + +if.end113: ; preds = %do.body104 + %71 = load i8*, i8** %q, align 8 + %72 = load i8, i8* %71, align 1 + %conv114 = sext i8 %72 to i32 + %add115 = add nsw i32 2, %conv114 + %73 = load i8*, i8** %q, align 8 + %idx.ext116 = sext i32 %add115 to i64 + %add.ptr117 = getelementptr inbounds i8, i8* %73, i64 %idx.ext116 + store i8* %add.ptr117, i8** %q, align 8 + %74 = load i8*, i8** %q, align 8 + %75 = load i8, i8* %74, align 1 + %tobool118 = icmp ne i8 %75, 0 + br i1 %tobool118, label %do.body104, label %if.end120 + +if.end120: ; preds = %if.end100, %if.end113, %if.then110, %if.then58 + %76 = load i8*, i8** %n, align 8 + %incdec.ptr121 = getelementptr inbounds i8, i8* %76, i32 1 + store i8* %incdec.ptr121, i8** %n, align 8 + store i8 59, i8* %76, align 1 + br label %if.end122 + +if.end122: ; preds = %if.end120, %lor.lhs.false30 + %77 = load i8*, i8** %s, align 8 + %add.ptr123 = getelementptr inbounds i8, i8* %77, i64 2 + store i8* %add.ptr123, i8** %s, align 8 + %78 = load i32, i32* %i, align 4 + %inc = add nsw i32 %78, 1 + store i32 %inc, i32* %i, align 4 + %79 = load i32, i32* %category, align 4 + %cmp125 = icmp slt i32 %inc, %79 + br i1 %cmp125, label %do.body26, label %do.end127 + +do.end127: ; preds = %if.end122 + %80 = load i8*, i8** %n, align 8 + %incdec.ptr128 = getelementptr inbounds i8, i8* %80, i32 -1 + store i8* %incdec.ptr128, i8** %n, align 8 + store i8 0, i8* %incdec.ptr128, align 1 + %81 = load i32, i32* %category, align 4 + %inc129 = add nsw i32 %81, 1 + store i32 %inc129, i32* %category, align 4 + %82 = load i32, i32* %done, align 4 + %tobool131 = icmp ne i32 %82, 0 + %lnot = xor i1 %tobool131, true + br i1 %lnot, label %do.body, label %do.end132 + +do.end132: ; preds = %do.end127 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define void @setutent() #0 { +entry: + call void @__setutent() #18 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__setutent() #0 { +entry: + %ret = alloca i32, align 4 + %0 = load i32, i32* @static_fd, align 4 + %cmp = icmp eq i32 %0, -1 + br i1 %cmp, label %if.then, label %if.end16 + +if.then: ; preds = %entry + %1 = load i8*, i8** @static_ut_name, align 8 + %call = call i32 (i8*, i32, ...) @open(i8* %1, i32 2) #18 + store i32 %call, i32* @static_fd, align 4 + %cmp1 = icmp slt i32 %call, 0 + br i1 %cmp1, label %if.then2, label %if.end6 + +if.then2: ; preds = %if.then + %2 = load i8*, i8** @static_ut_name, align 8 + %call3 = call i32 (i8*, i32, ...) @open(i8* %2, i32 0) #18 + store i32 %call3, i32* @static_fd, align 4 + %cmp4 = icmp slt i32 %call3, 0 + br i1 %cmp4, label %bummer, label %if.end6 + +if.end6: ; preds = %if.then2, %if.then + %3 = load i32, i32* @static_fd, align 4 + %call7 = call i32 (i32, i32, ...) @fcntl(i32 %3, i32 1, i32 0) #18 + store i32 %call7, i32* %ret, align 4 + %4 = load i32, i32* %ret, align 4 + %cmp8 = icmp sge i32 %4, 0 + br i1 %cmp8, label %if.then9, label %if.end11 + +if.then9: ; preds = %if.end6 + %5 = load i32, i32* @static_fd, align 4 + %6 = load i32, i32* %ret, align 4 + %or = or i32 %6, 1 + %call10 = call i32 (i32, i32, ...) @fcntl(i32 %5, i32 2, i32 %or) #18 + store i32 %call10, i32* %ret, align 4 + br label %if.end11 + +if.end11: ; preds = %if.then9, %if.end6 + %7 = load i32, i32* %ret, align 4 + %cmp12 = icmp slt i32 %7, 0 + br i1 %cmp12, label %bummer, label %if.end16 + +bummer: ; preds = %if.end11, %if.then2 + store i32 -1, i32* @static_fd, align 4 + %8 = load i32, i32* @static_fd, align 4 + %call14 = call i32 @close(i32 %8) #18 + br label %return + +if.end16: ; preds = %if.end11, %entry + %9 = load i32, i32* @static_fd, align 4 + %call17 = call i64 @lseek(i32 %9, i64 0, i32 0) #19 + br label %return + +return: ; preds = %if.end16, %bummer + ret void +} + +; Function Attrs: noinline nounwind uwtable +define void @endutent() #0 { +entry: + %0 = load i32, i32* @static_fd, align 4 + %cmp = icmp ne i32 %0, -1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load i32, i32* @static_fd, align 4 + %call = call i32 @close(i32 %1) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + store i32 -1, i32* @static_fd, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @getutent() #0 { +entry: + %ret = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* null, %struct.utmp.323** %ret, align 8 + %0 = load i32, i32* @static_fd, align 4 + %call = call %struct.utmp.323* @__getutent(i32 %0) #18 + store %struct.utmp.323* %call, %struct.utmp.323** %ret, align 8 + %1 = load %struct.utmp.323*, %struct.utmp.323** %ret, align 8 + ret %struct.utmp.323* %1 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.utmp.323* @__getutent(i32 %utmp_fd) #0 { +entry: + %retval = alloca %struct.utmp.323*, align 8 + %utmp_fd.addr = alloca i32, align 4 + %ret = alloca %struct.utmp.323*, align 8 + store i32 %utmp_fd, i32* %utmp_fd.addr, align 4 + store %struct.utmp.323* null, %struct.utmp.323** %ret, align 8 + %0 = load i32, i32* %utmp_fd.addr, align 4 + %cmp = icmp eq i32 %0, -1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @__setutent() #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i32, i32* %utmp_fd.addr, align 4 + %cmp1 = icmp eq i32 %1, -1 + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + store %struct.utmp.323* null, %struct.utmp.323** %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %2 = load i32, i32* %utmp_fd.addr, align 4 + %call = call i64 @read(i32 %2, i8* bitcast (%struct.utmp.323* @static_utmp to i8*), i64 400) #18 + %cmp4 = icmp eq i64 %call, 400 + br i1 %cmp4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end3 + store %struct.utmp.323* @static_utmp, %struct.utmp.323** %ret, align 8 + br label %if.end6 + +if.end6: ; preds = %if.then5, %if.end3 + %3 = load %struct.utmp.323*, %struct.utmp.323** %ret, align 8 + store %struct.utmp.323* %3, %struct.utmp.323** %retval, align 8 + br label %return + +return: ; preds = %if.end6, %if.then2 + %4 = load %struct.utmp.323*, %struct.utmp.323** %retval, align 8 + ret %struct.utmp.323* %4 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @getutid(%struct.utmp.323* %utmp_entry) #0 { +entry: + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + %ret = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + store %struct.utmp.323* null, %struct.utmp.323** %ret, align 8 + %0 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %call = call %struct.utmp.323* @__getutid(%struct.utmp.323* %0) #18 + store %struct.utmp.323* %call, %struct.utmp.323** %ret, align 8 + %1 = load %struct.utmp.323*, %struct.utmp.323** %ret, align 8 + ret %struct.utmp.323* %1 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.utmp.323* @__getutid(%struct.utmp.323* %utmp_entry) #0 { +entry: + %retval = alloca %struct.utmp.323*, align 8 + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + %lutmp = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end47, %entry + %0 = load i32, i32* @static_fd, align 4 + %call = call %struct.utmp.323* @__getutent(i32 %0) #18 + store %struct.utmp.323* %call, %struct.utmp.323** %lutmp, align 8 + %cmp = icmp ne %struct.utmp.323* %call, null + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %1 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %1, i32 0, i32 0 + %2 = load i16, i16* %ut_type, align 8 + %conv = sext i16 %2 to i32 + %cmp1 = icmp eq i32 %conv, 1 + br i1 %cmp1, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.body + %3 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type3 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %3, i32 0, i32 0 + %4 = load i16, i16* %ut_type3, align 8 + %conv4 = sext i16 %4 to i32 + %cmp5 = icmp eq i32 %conv4, 2 + br i1 %cmp5, label %land.lhs.true, label %lor.lhs.false7 + +lor.lhs.false7: ; preds = %lor.lhs.false + %5 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type8 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %5, i32 0, i32 0 + %6 = load i16, i16* %ut_type8, align 8 + %conv9 = sext i16 %6 to i32 + %cmp10 = icmp eq i32 %conv9, 3 + br i1 %cmp10, label %land.lhs.true, label %lor.lhs.false12 + +lor.lhs.false12: ; preds = %lor.lhs.false7 + %7 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type13 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %7, i32 0, i32 0 + %8 = load i16, i16* %ut_type13, align 8 + %conv14 = sext i16 %8 to i32 + %cmp15 = icmp eq i32 %conv14, 4 + br i1 %cmp15, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %lor.lhs.false12, %lor.lhs.false7, %lor.lhs.false, %while.body + %9 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_type17 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %9, i32 0, i32 0 + %10 = load i16, i16* %ut_type17, align 8 + %conv18 = sext i16 %10 to i32 + %11 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type19 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %11, i32 0, i32 0 + %12 = load i16, i16* %ut_type19, align 8 + %conv20 = sext i16 %12 to i32 + %cmp21 = icmp eq i32 %conv18, %conv20 + br i1 %cmp21, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %13 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + store %struct.utmp.323* %13, %struct.utmp.323** %retval, align 8 + br label %return + +if.end: ; preds = %land.lhs.true, %lor.lhs.false12 + %14 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type23 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %14, i32 0, i32 0 + %15 = load i16, i16* %ut_type23, align 8 + %conv24 = sext i16 %15 to i32 + %cmp25 = icmp eq i32 %conv24, 5 + br i1 %cmp25, label %land.lhs.true42, label %lor.lhs.false27 + +lor.lhs.false27: ; preds = %if.end + %16 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type28 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %16, i32 0, i32 0 + %17 = load i16, i16* %ut_type28, align 8 + %conv29 = sext i16 %17 to i32 + %cmp30 = icmp eq i32 %conv29, 8 + br i1 %cmp30, label %land.lhs.true42, label %lor.lhs.false32 + +lor.lhs.false32: ; preds = %lor.lhs.false27 + %18 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type33 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %18, i32 0, i32 0 + %19 = load i16, i16* %ut_type33, align 8 + %conv34 = sext i16 %19 to i32 + %cmp35 = icmp eq i32 %conv34, 6 + br i1 %cmp35, label %land.lhs.true42, label %lor.lhs.false37 + +lor.lhs.false37: ; preds = %lor.lhs.false32 + %20 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type38 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %20, i32 0, i32 0 + %21 = load i16, i16* %ut_type38, align 8 + %conv39 = sext i16 %21 to i32 + %cmp40 = icmp eq i32 %conv39, 7 + br i1 %cmp40, label %land.lhs.true42, label %if.end47 + +land.lhs.true42: ; preds = %lor.lhs.false37, %lor.lhs.false32, %lor.lhs.false27, %if.end + %22 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_id = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %22, i32 0, i32 3 + %arraydecay = getelementptr inbounds [4 x i8], [4 x i8]* %ut_id, i64 0, i64 0 + %23 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_id43 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %23, i32 0, i32 3 + %arraydecay44 = getelementptr inbounds [4 x i8], [4 x i8]* %ut_id43, i64 0, i64 0 + %call45 = call i32 @strncmp(i8* %arraydecay, i8* %arraydecay44, i64 4) #20 + %tobool = icmp ne i32 %call45, 0 + br i1 %tobool, label %if.end47, label %if.then46 + +if.then46: ; preds = %land.lhs.true42 + %24 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + store %struct.utmp.323* %24, %struct.utmp.323** %retval, align 8 + br label %return + +if.end47: ; preds = %land.lhs.true42, %lor.lhs.false37 + br label %while.cond + +while.end: ; preds = %while.cond + store %struct.utmp.323* null, %struct.utmp.323** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then46, %if.then + %25 = load %struct.utmp.323*, %struct.utmp.323** %retval, align 8 + ret %struct.utmp.323* %25 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @getutline(%struct.utmp.323* %utmp_entry) #0 { +entry: + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + %lutmp = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + store %struct.utmp.323* null, %struct.utmp.323** %lutmp, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %0 = load i32, i32* @static_fd, align 4 + %call = call %struct.utmp.323* @__getutent(i32 %0) #18 + store %struct.utmp.323* %call, %struct.utmp.323** %lutmp, align 8 + %cmp = icmp ne %struct.utmp.323* %call, null + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %1 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_type = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %1, i32 0, i32 0 + %2 = load i16, i16* %ut_type, align 8 + %conv = sext i16 %2 to i32 + %cmp1 = icmp eq i32 %conv, 7 + br i1 %cmp1, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.body + %3 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_type3 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %3, i32 0, i32 0 + %4 = load i16, i16* %ut_type3, align 8 + %conv4 = sext i16 %4 to i32 + %cmp5 = icmp eq i32 %conv4, 6 + br i1 %cmp5, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %lor.lhs.false, %while.body + %5 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_line = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %5, i32 0, i32 2 + %arraydecay = getelementptr inbounds [32 x i8], [32 x i8]* %ut_line, i64 0, i64 0 + %6 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_line7 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %6, i32 0, i32 2 + %arraydecay8 = getelementptr inbounds [32 x i8], [32 x i8]* %ut_line7, i64 0, i64 0 + %call9 = call i32 @strcmp(i8* %arraydecay, i8* %arraydecay8) #20 + %tobool = icmp ne i32 %call9, 0 + br i1 %tobool, label %if.end, label %while.end + +if.end: ; preds = %land.lhs.true, %lor.lhs.false + br label %while.cond + +while.end: ; preds = %land.lhs.true, %while.cond + %7 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + ret %struct.utmp.323* %7 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @pututline(%struct.utmp.323* %utmp_entry) #0 { +entry: + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + %0 = load i32, i32* @static_fd, align 4 + %call = call i64 @lseek(i32 %0, i64 -400, i32 1) #19 + %1 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %call1 = call %struct.utmp.323* @__getutid(%struct.utmp.323* %1) #18 + %cmp = icmp ne %struct.utmp.323* %call1, null + %2 = load i32, i32* @static_fd, align 4 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %call2 = call i64 @lseek(i32 %2, i64 -400, i32 1) #19 + br label %if.end + +if.else: ; preds = %entry + %call3 = call i64 @lseek(i32 %2, i64 0, i32 2) #19 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %3 = load i32, i32* @static_fd, align 4 + %4 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %5 = bitcast %struct.utmp.323* %4 to i8* + %call4 = call i64 @write(i32 %3, i8* %5, i64 400) #18 + %cmp5 = icmp ne i64 %call4, 400 + br i1 %cmp5, label %if.then6, label %if.end7 + +if.then6: ; preds = %if.end + store %struct.utmp.323* null, %struct.utmp.323** %utmp_entry.addr, align 8 + br label %if.end7 + +if.end7: ; preds = %if.then6, %if.end + %6 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + ret %struct.utmp.323* %6 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @utmpname(i8* %new_ut_name) #0 { +entry: + %new_ut_name.addr = alloca i8*, align 8 + store i8* %new_ut_name, i8** %new_ut_name.addr, align 8 + %0 = load i8*, i8** %new_ut_name.addr, align 8 + %cmp = icmp ne i8* %0, null + br i1 %cmp, label %if.then, label %if.end6 + +if.then: ; preds = %entry + %1 = load i8*, i8** @static_ut_name, align 8 + %cmp1 = icmp ne i8* %1, getelementptr inbounds ([14 x i8], [14 x i8]* @default_file_name, i64 0, i64 0) + br i1 %cmp1, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + %2 = load i8*, i8** @static_ut_name, align 8 + call void @free(i8* %2) #19 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %3 = load i8*, i8** %new_ut_name.addr, align 8 + %call = call noalias i8* @strdup(i8* %3) #19 + store i8* %call, i8** @static_ut_name, align 8 + %4 = load i8*, i8** @static_ut_name, align 8 + %cmp3 = icmp eq i8* %4, null + %spec.store.select = select i1 %cmp3, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @default_file_name, i64 0, i64 0), i8* %call + store i8* %spec.store.select, i8** @static_ut_name, align 8 + br label %if.end6 + +if.end6: ; preds = %if.end, %entry + %5 = load i32, i32* @static_fd, align 4 + %cmp7 = icmp ne i32 %5, -1 + br i1 %cmp7, label %if.then8, label %if.end10 + +if.then8: ; preds = %if.end6 + %6 = load i32, i32* @static_fd, align 4 + %call9 = call i32 @close(i32 %6) #18 + br label %if.end10 + +if.end10: ; preds = %if.then8, %if.end6 + store i32 -1, i32* @static_fd, align 4 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_wchar_utf8sntowcs(i32* noalias %pwc, i64 %wn, i8** noalias %src, i64 %n, %struct.__mbstate_t.512* %ps, i32 %allow_continuation) #0 { +entry: + %retval = alloca i64, align 8 + %pwc.addr = alloca i32*, align 8 + %wn.addr = alloca i64, align 8 + %src.addr = alloca i8**, align 8 + %n.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %allow_continuation.addr = alloca i32, align 4 + %s = alloca i8*, align 8 + %mask = alloca i32, align 4 + %wc = alloca i32, align 4 + %wcbuf = alloca [1 x i32], align 4 + %count = alloca i64, align 8 + %incr = alloca i32, align 4 + store i32* %pwc, i32** %pwc.addr, align 8 + store i64 %wn, i64* %wn.addr, align 8 + store i8** %src, i8*** %src.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + store i32 %allow_continuation, i32* %allow_continuation.addr, align 4 + %0 = load i8**, i8*** %src.addr, align 8 + %1 = load i8*, i8** %0, align 8 + store i8* %1, i8** %s, align 8 + store i32 1, i32* %incr, align 4 + %2 = load i32*, i32** %pwc.addr, align 8 + %tobool = icmp ne i32* %2, null + br i1 %tobool, label %lor.lhs.false, label %if.then + +lor.lhs.false: ; preds = %entry + %3 = load i32*, i32** %pwc.addr, align 8 + %4 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %5 = bitcast %struct.__mbstate_t.512* %4 to i32* + %cmp = icmp eq i32* %3, %5 + br i1 %cmp, label %if.then, label %if.end3 + +if.then: ; preds = %lor.lhs.false, %entry + %6 = load i32*, i32** %pwc.addr, align 8 + %tobool1 = icmp ne i32* %6, null + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + store i64 -1, i64* %wn.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %arraydecay = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay, i32** %pwc.addr, align 8 + store i32 0, i32* %incr, align 4 + br label %if.end3 + +if.end3: ; preds = %if.end, %lor.lhs.false + %7 = load i64, i64* %wn.addr, align 8 + store i64 %7, i64* %count, align 8 + %tobool4 = icmp ne i64 %7, 0 + br i1 %tobool4, label %if.end6, label %if.then5 + +if.then5: ; preds = %if.end3 + store i64 0, i64* %retval, align 8 + br label %return + +if.end6: ; preds = %if.end3 + %8 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %8, i32 0, i32 0 + %9 = load i32, i32* %__mask, align 4 + store i32 %9, i32* %mask, align 4 + %cmp7 = icmp ne i32 %9, 0 + br i1 %cmp7, label %if.then8, label %do.body + +if.then8: ; preds = %if.end6 + %10 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %10, i32 0, i32 1 + %11 = load i32, i32* %__wc, align 4 + store i32 %11, i32* %wc, align 4 + %cmp9 = icmp ne i32 %11, 65535 + br i1 %cmp9, label %if.then10, label %if.end14 + +if.then10: ; preds = %if.then8 + %12 = load i64, i64* %n.addr, align 8 + %tobool11 = icmp ne i64 %12, 0 + br i1 %tobool11, label %while.cond, label %DONE + +if.end14: ; preds = %if.then8 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +do.body: ; preds = %if.end6, %land.rhs + %13 = load i64, i64* %n.addr, align 8 + %tobool16 = icmp ne i64 %13, 0 + br i1 %tobool16, label %if.end18, label %DONE + +if.end18: ; preds = %do.body + %14 = load i64, i64* %n.addr, align 8 + %dec = add i64 %14, -1 + store i64 %dec, i64* %n.addr, align 8 + %15 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %15, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %16 = load i8, i8* %15, align 1 + %conv = zext i8 %16 to i32 + store i32 %conv, i32* %wc, align 4 + %cmp19 = icmp uge i32 %conv, 128 + br i1 %cmp19, label %if.then21, label %COMPLETE + +if.then21: ; preds = %if.end18 + store i32 64, i32* %mask, align 4 + %17 = load i8*, i8** %s, align 8 + %arrayidx = getelementptr inbounds i8, i8* %17, i64 -1 + %18 = load i8, i8* %arrayidx, align 1 + %conv22 = sext i8 %18 to i32 + %sub = sub nsw i32 %conv22, 192 + %conv23 = trunc i32 %sub to i8 + %conv24 = zext i8 %conv23 to i32 + %cmp25 = icmp slt i32 %conv24, 62 + br i1 %cmp25, label %START, label %BAD + +BAD: ; preds = %if.end52, %lor.lhs.false55, %lor.lhs.false59, %while.body, %if.then21 + %19 = load i32, i32* %mask, align 4 + %20 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask29 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %20, i32 0, i32 0 + store i32 %19, i32* %__mask29, align 4 + %21 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc30 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %21, i32 0, i32 1 + store i32 65535, i32* %__wc30, align 4 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +while.cond: ; preds = %START, %if.then10 + %22 = load i64, i64* %n.addr, align 8 + %tobool31 = icmp ne i64 %22, 0 + br i1 %tobool31, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %23 = load i64, i64* %n.addr, align 8 + %dec32 = add i64 %23, -1 + store i64 %dec32, i64* %n.addr, align 8 + %24 = load i8*, i8** %s, align 8 + %25 = load i8, i8* %24, align 1 + %conv33 = sext i8 %25 to i32 + %and = and i32 %conv33, 192 + %cmp34 = icmp ne i32 %and, 128 + br i1 %cmp34, label %BAD, label %if.end37 + +if.end37: ; preds = %while.body + %26 = load i32, i32* %mask, align 4 + %shl = shl i32 %26, 5 + store i32 %shl, i32* %mask, align 4 + %27 = load i32, i32* %wc, align 4 + %shl38 = shl i32 %27, 6 + store i32 %shl38, i32* %wc, align 4 + %28 = load i8*, i8** %s, align 8 + %29 = load i8, i8* %28, align 1 + %conv39 = sext i8 %29 to i32 + %and40 = and i32 %conv39, 63 + %30 = load i32, i32* %wc, align 4 + %add = add i32 %30, %and40 + store i32 %add, i32* %wc, align 4 + %31 = load i8*, i8** %s, align 8 + %incdec.ptr41 = getelementptr inbounds i8, i8* %31, i32 1 + store i8* %incdec.ptr41, i8** %s, align 8 + br label %START + +START: ; preds = %if.then21, %if.end37 + %32 = load i32, i32* %mask, align 4 + %shl42 = shl i32 %32, 1 + %neg = xor i32 %shl42, -1 + %33 = load i32, i32* %wc, align 4 + %and43 = and i32 %33, %neg + store i32 %and43, i32* %wc, align 4 + %34 = load i32, i32* %wc, align 4 + %35 = load i32, i32* %mask, align 4 + %and44 = and i32 %34, %35 + %cmp45 = icmp eq i32 %and44, 0 + br i1 %cmp45, label %if.then47, label %while.cond + +if.then47: ; preds = %START + %36 = load i32, i32* %mask, align 4 + %shr = lshr i32 %36, 5 + store i32 %shr, i32* %mask, align 4 + %cmp48 = icmp eq i32 %shr, 64 + br i1 %cmp48, label %if.then50, label %if.end52 + +if.then50: ; preds = %if.then47 + %37 = load i32, i32* %mask, align 4 + %38 = load i32, i32* %mask, align 4 + %add51 = add i32 %38, %37 + store i32 %add51, i32* %mask, align 4 + br label %if.end52 + +if.end52: ; preds = %if.then50, %if.then47 + %39 = load i32, i32* %wc, align 4 + %40 = load i32, i32* %mask, align 4 + %cmp53 = icmp ult i32 %39, %40 + br i1 %cmp53, label %BAD, label %lor.lhs.false55 + +lor.lhs.false55: ; preds = %if.end52 + %41 = load i32, i32* %wc, align 4 + %sub56 = sub i32 %41, 65534 + %cmp57 = icmp ult i32 %sub56, 2 + br i1 %cmp57, label %BAD, label %lor.lhs.false59 + +lor.lhs.false59: ; preds = %lor.lhs.false55 + %42 = load i32, i32* %wc, align 4 + %sub60 = sub i32 %42, 55296 + %cmp61 = icmp ult i32 %sub60, 2048 + br i1 %cmp61, label %BAD, label %COMPLETE + +while.end: ; preds = %while.cond + %43 = load i32, i32* %allow_continuation.addr, align 4 + %tobool66 = icmp ne i32 %43, 0 + br i1 %tobool66, label %if.end77, label %if.then67 + +if.then67: ; preds = %while.end + %44 = load i64, i64* %count, align 8 + %45 = load i64, i64* %wn.addr, align 8 + %cmp68 = icmp ne i64 %44, %45 + br i1 %cmp68, label %if.then70, label %do.body72 + +if.then70: ; preds = %if.then67 + store i64 0, i64* %retval, align 8 + br label %return + +do.body72: ; preds = %if.then67, %do.body72 + %46 = load i8*, i8** %s, align 8 + %incdec.ptr73 = getelementptr inbounds i8, i8* %46, i32 -1 + store i8* %incdec.ptr73, i8** %s, align 8 + %47 = load i32, i32* %mask, align 4 + %shr74 = lshr i32 %47, 5 + store i32 %shr74, i32* %mask, align 4 + %cmp75 = icmp uge i32 %shr74, 64 + br i1 %cmp75, label %do.body72, label %DONE + +if.end77: ; preds = %while.end + %48 = load i32, i32* %mask, align 4 + %49 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask78 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %49, i32 0, i32 0 + store i32 %48, i32* %__mask78, align 4 + %50 = load i32, i32* %wc, align 4 + %51 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc79 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %51, i32 0, i32 1 + store i32 %50, i32* %__wc79, align 4 + %52 = load i8*, i8** %s, align 8 + %53 = load i8**, i8*** %src.addr, align 8 + store i8* %52, i8** %53, align 8 + store i64 -2, i64* %retval, align 8 + br label %return + +COMPLETE: ; preds = %if.end18, %lor.lhs.false59 + %54 = load i32, i32* %wc, align 4 + %55 = load i32*, i32** %pwc.addr, align 8 + store i32 %54, i32* %55, align 4 + %56 = load i32, i32* %incr, align 4 + %57 = load i32*, i32** %pwc.addr, align 8 + %idx.ext = sext i32 %56 to i64 + %add.ptr = getelementptr inbounds i32, i32* %57, i64 %idx.ext + store i32* %add.ptr, i32** %pwc.addr, align 8 + %58 = load i32, i32* %wc, align 4 + %tobool82 = icmp ne i32 %58, 0 + br i1 %tobool82, label %land.rhs, label %do.end85 + +land.rhs: ; preds = %COMPLETE + %59 = load i64, i64* %count, align 8 + %dec83 = add i64 %59, -1 + store i64 %dec83, i64* %count, align 8 + %tobool84 = icmp ne i64 %dec83, 0 + br i1 %tobool84, label %do.body, label %do.end85 + +do.end85: ; preds = %COMPLETE, %land.rhs + %60 = load i32, i32* %wc, align 4 + %tobool86 = icmp ne i32 %60, 0 + br i1 %tobool86, label %DONE, label %if.then87 + +if.then87: ; preds = %do.end85 + store i8* null, i8** %s, align 8 + br label %DONE + +DONE: ; preds = %do.end85, %if.then87, %do.body72, %do.body, %if.then10 + %61 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask89 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %61, i32 0, i32 0 + store i32 0, i32* %__mask89, align 4 + %62 = load i32*, i32** %pwc.addr, align 8 + %arraydecay90 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %cmp91 = icmp ne i32* %62, %arraydecay90 + br i1 %cmp91, label %if.then93, label %if.end94 + +if.then93: ; preds = %DONE + %63 = load i8*, i8** %s, align 8 + %64 = load i8**, i8*** %src.addr, align 8 + store i8* %63, i8** %64, align 8 + br label %if.end94 + +if.end94: ; preds = %if.then93, %DONE + %65 = load i64, i64* %wn.addr, align 8 + %66 = load i64, i64* %count, align 8 + %sub95 = sub i64 %65, %66 + store i64 %sub95, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end94, %if.end77, %if.then70, %BAD, %if.end14, %if.then5 + %67 = load i64, i64* %retval, align 8 + ret i64 %67 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @mbrtowc(i32* noalias %pwc, i8* noalias %s, i64 %n, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %retval = alloca i64, align 8 + %pwc.addr = alloca i32*, align 8 + %s.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %wcbuf = alloca [1 x i32], align 4 + %p = alloca i8*, align 8 + %r = alloca i64, align 8 + %empty_string = alloca [1 x i8], align 1 + store i32* %pwc, i32** %pwc.addr, align 8 + store i8* %s, i8** %s.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %tobool = icmp ne %struct.__mbstate_t.512* %0, null + %spec.store.select = select i1 %tobool, %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512* @mbrtowc.mbstate + store %struct.__mbstate_t.512* %spec.store.select, %struct.__mbstate_t.512** %ps.addr, align 8 + %1 = load i8*, i8** %s.addr, align 8 + %tobool1 = icmp ne i8* %1, null + br i1 %tobool1, label %if.else, label %if.then2 + +if.then2: ; preds = %entry + %2 = load i8*, i8** %s.addr, align 8 + %3 = bitcast i8* %2 to i32* + store i32* %3, i32** %pwc.addr, align 8 + %arrayidx = getelementptr inbounds [1 x i8], [1 x i8]* %empty_string, i64 0, i64 0 + store i8 0, i8* %arrayidx, align 1 + %arraydecay = getelementptr inbounds [1 x i8], [1 x i8]* %empty_string, i64 0, i64 0 + store i8* %arraydecay, i8** %s.addr, align 8 + store i64 1, i64* %n.addr, align 8 + br label %if.end7 + +if.else: ; preds = %entry + %4 = load i64, i64* %n.addr, align 8 + %tobool3 = icmp ne i64 %4, 0 + br i1 %tobool3, label %if.end7, label %if.then4 + +if.then4: ; preds = %if.else + %5 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %5, i32 0, i32 0 + %6 = load i32, i32* %__mask, align 4 + %tobool5 = icmp ne i32 %6, 0 + br i1 %tobool5, label %land.rhs, label %land.end + +land.rhs: ; preds = %if.then4 + %7 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %7, i32 0, i32 1 + %8 = load i32, i32* %__wc, align 4 + %cmp = icmp eq i32 %8, 65535 + br label %land.end + +land.end: ; preds = %land.rhs, %if.then4 + %9 = phi i1 [ false, %if.then4 ], [ %cmp, %land.rhs ] + %10 = zext i1 %9 to i64 + %cond = select i1 %9, i64 -1, i64 -2 + store i64 %cond, i64* %retval, align 8 + br label %return + +if.end7: ; preds = %if.else, %if.then2 + %11 = load i8*, i8** %s.addr, align 8 + store i8* %11, i8** %p, align 8 + %12 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %12, i32 0, i32 9 + %13 = load i8, i8* %encoding, align 8 + %conv = zext i8 %13 to i32 + %cmp8 = icmp eq i32 %conv, 1 + br i1 %cmp8, label %if.then10, label %if.end18 + +if.then10: ; preds = %if.end7 + %14 = load i32*, i32** %pwc.addr, align 8 + %tobool11 = icmp ne i32* %14, null + br i1 %tobool11, label %if.end14, label %if.then12 + +if.then12: ; preds = %if.then10 + %arraydecay13 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay13, i32** %pwc.addr, align 8 + br label %if.end14 + +if.end14: ; preds = %if.then12, %if.then10 + %15 = load i32*, i32** %pwc.addr, align 8 + %16 = load i64, i64* %n.addr, align 8 + %17 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @_wchar_utf8sntowcs(i32* %15, i64 1, i8** %p, i64 %16, %struct.__mbstate_t.512* %17, i32 1) #18 + store i64 %call, i64* %r, align 8 + %18 = load i64, i64* %r, align 8 + %cmp15 = icmp eq i64 %18, 1 + %19 = load i8*, i8** %p, align 8 + %20 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %20 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %21 = load i64, i64* %r, align 8 + %cond17 = select i1 %cmp15, i64 %sub.ptr.sub, i64 %21 + store i64 %cond17, i64* %retval, align 8 + br label %return + +if.end18: ; preds = %if.end7 + %arraydecay19 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %22 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call20 = call i64 @mbsnrtowcs(i32* %arraydecay19, i8** %p, i64 -1, i64 1, %struct.__mbstate_t.512* %22) #19 + store i64 %call20, i64* %r, align 8 + %23 = load i64, i64* %r, align 8 + %cmp21 = icmp sge i64 %23, 0 + %24 = load i32*, i32** %pwc.addr, align 8 + %tobool24 = icmp ne i32* %24, null + %or.cond = and i1 %cmp21, %tobool24 + br i1 %or.cond, label %if.then25, label %if.end28 + +if.then25: ; preds = %if.end18 + %arraydecay26 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %25 = load i32, i32* %arraydecay26, align 4 + %26 = load i32*, i32** %pwc.addr, align 8 + store i32 %25, i32* %26, align 4 + br label %if.end28 + +if.end28: ; preds = %if.then25, %if.end18 + %27 = load i64, i64* %r, align 8 + store i64 %27, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end28, %if.end14, %land.end + %28 = load i64, i64* %retval, align 8 + ret i64 %28 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @mbsinit(%struct.__mbstate_t.512* %ps) #14 { +entry: + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %tobool = icmp ne %struct.__mbstate_t.512* %0, null + br i1 %tobool, label %lor.rhs, label %lor.end + +lor.rhs: ; preds = %entry + %1 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %1, i32 0, i32 0 + %2 = load i32, i32* %__mask, align 4 + %tobool1 = icmp ne i32 %2, 0 + %lnot = xor i1 %tobool1, true + br label %lor.end + +lor.end: ; preds = %lor.rhs, %entry + %3 = phi i1 [ true, %entry ], [ %lnot, %lor.rhs ] + %lor.ext = zext i1 %3 to i32 + ret i32 %lor.ext +} + +; Function Attrs: noinline nounwind uwtable +define i32 @iswprint(i32 %wc) #0 { +entry: + %wc.addr = alloca i32, align 4 + store i32 %wc, i32* %wc.addr, align 4 + %0 = load i32, i32* %wc.addr, align 4 + %call = call i32 @iswctype(i32 %0, i32 8) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.568* %stream, i8* %buf, i64 %bufsize) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %rv = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + store i64 0, i64* %rv, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 4 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end18, label %if.then + +if.then: ; preds = %entry + %2 = load i64, i64* %bufsize.addr, align 8 + %cmp = icmp ugt i64 %2, 9223372036854775807 + br i1 %cmp, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + store i64 9223372036854775807, i64* %bufsize.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 2 + %4 = load i32, i32* %__filedes, align 4 + %5 = load i8*, i8** %buf.addr, align 8 + %6 = load i64, i64* %bufsize.addr, align 8 + %call = call i64 @read(i32 %4, i8* %5, i64 %6) #18 + store i64 %call, i64* %rv, align 8 + %cmp3 = icmp sle i64 %call, 0 + br i1 %cmp3, label %if.then5, label %if.end18 + +if.then5: ; preds = %if.end + %7 = load i64, i64* %rv, align 8 + %cmp6 = icmp eq i64 %7, 0 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags9 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags9, align 8 + %conv10 = zext i16 %9 to i32 + br i1 %cmp6, label %if.then8, label %if.else + +if.then8: ; preds = %if.then5 + %or = or i32 %conv10, 4 + %conv11 = trunc i32 %or to i16 + store i16 %conv11, i16* %__modeflags9, align 8 + br label %if.end18 + +if.else: ; preds = %if.then5 + %or14 = or i32 %conv10, 8 + %conv15 = trunc i32 %or14 to i16 + store i16 %conv15, i16* %__modeflags9, align 8 + store i64 0, i64* %rv, align 8 + br label %if.end18 + +if.end18: ; preds = %if.end, %if.else, %if.then8, %entry + %10 = load i64, i64* %rv, align 8 + ret i64 %10 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %stream, i8* %buf, i64 %bufsize) #0 { +entry: + %retval = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %todo = alloca i64, align 8 + %rv = alloca i64, align 8 + %stodo = alloca i64, align 8 + %s = alloca i8*, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i64, i64* %bufsize.addr, align 8 + store i64 %0, i64* %todo, align 8 + br label %do.body + +do.body: ; preds = %if.then3, %entry + %1 = load i64, i64* %todo, align 8 + %cmp = icmp eq i64 %1, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %do.body + %2 = load i64, i64* %bufsize.addr, align 8 + store i64 %2, i64* %retval, align 8 + br label %do.end32 + +if.end: ; preds = %do.body + %3 = load i64, i64* %todo, align 8 + %cmp1 = icmp ule i64 %3, 9223372036854775807 + %4 = load i64, i64* %todo, align 8 + %cond = select i1 %cmp1, i64 %4, i64 9223372036854775807 + store i64 %cond, i64* %stodo, align 8 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 2 + %6 = load i32, i32* %__filedes, align 4 + %7 = load i8*, i8** %buf.addr, align 8 + %8 = load i64, i64* %stodo, align 8 + %call = call i64 @write(i32 %6, i8* %7, i64 %8) #18 + store i64 %call, i64* %rv, align 8 + %cmp2 = icmp sge i64 %call, 0 + br i1 %cmp2, label %if.then3, label %if.else + +if.then3: ; preds = %if.end + %9 = load i64, i64* %rv, align 8 + %10 = load i64, i64* %todo, align 8 + %sub = sub i64 %10, %9 + store i64 %sub, i64* %todo, align 8 + %11 = load i64, i64* %rv, align 8 + %12 = load i8*, i8** %buf.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %12, i64 %11 + store i8* %add.ptr, i8** %buf.addr, align 8 + br label %do.body + +if.else: ; preds = %if.end + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 0 + %14 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %14 to i32 + %or = or i32 %conv, 8 + %conv4 = trunc i32 %or to i16 + store i16 %conv4, i16* %__modeflags, align 8 + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 4 + %16 = load i8*, i8** %__bufend, align 8 + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 3 + %18 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %16 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %18 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %stodo, align 8 + %cmp5 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %cmp5, label %if.then7, label %if.end28 + +if.then7: ; preds = %if.else + %19 = load i64, i64* %stodo, align 8 + %20 = load i64, i64* %todo, align 8 + %cmp8 = icmp ugt i64 %19, %20 + br i1 %cmp8, label %if.then10, label %if.end11 + +if.then10: ; preds = %if.then7 + %21 = load i64, i64* %todo, align 8 + store i64 %21, i64* %stodo, align 8 + br label %if.end11 + +if.end11: ; preds = %if.then10, %if.then7 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart12 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 3 + %23 = load i8*, i8** %__bufstart12, align 8 + store i8* %23, i8** %s, align 8 + br label %do.body13 + +do.body13: ; preds = %if.end20, %if.end11 + %24 = load i8*, i8** %buf.addr, align 8 + %25 = load i8, i8* %24, align 1 + %26 = load i8*, i8** %s, align 8 + store i8 %25, i8* %26, align 1 + %conv14 = zext i8 %25 to i32 + %cmp15 = icmp eq i32 %conv14, 10 + br i1 %cmp15, label %land.lhs.true, label %if.end20 + +land.lhs.true: ; preds = %do.body13 + %27 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %27, i32 0, i32 0 + %28 = load i16, i16* %__modeflags17, align 8 + %conv18 = zext i16 %28 to i32 + %and = and i32 %conv18, 256 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %do.end, label %if.end20 + +if.end20: ; preds = %land.lhs.true, %do.body13 + %29 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %29, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %30 = load i8*, i8** %buf.addr, align 8 + %incdec.ptr21 = getelementptr inbounds i8, i8* %30, i32 1 + store i8* %incdec.ptr21, i8** %buf.addr, align 8 + %31 = load i64, i64* %stodo, align 8 + %dec = add nsw i64 %31, -1 + store i64 %dec, i64* %stodo, align 8 + %tobool22 = icmp ne i64 %dec, 0 + br i1 %tobool22, label %do.body13, label %do.end + +do.end: ; preds = %land.lhs.true, %if.end20 + %32 = load i8*, i8** %s, align 8 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %33, i32 0, i32 5 + store i8* %32, i8** %__bufpos, align 8 + %34 = load i8*, i8** %s, align 8 + %35 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart23 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %35, i32 0, i32 3 + %36 = load i8*, i8** %__bufstart23, align 8 + %sub.ptr.lhs.cast24 = ptrtoint i8* %34 to i64 + %sub.ptr.rhs.cast25 = ptrtoint i8* %36 to i64 + %sub.ptr.sub26 = sub i64 %sub.ptr.lhs.cast24, %sub.ptr.rhs.cast25 + %37 = load i64, i64* %todo, align 8 + %sub27 = sub i64 %37, %sub.ptr.sub26 + store i64 %sub27, i64* %todo, align 8 + br label %if.end28 + +if.end28: ; preds = %do.end, %if.else + %38 = load i64, i64* %bufsize.addr, align 8 + %39 = load i64, i64* %todo, align 8 + %sub29 = sub i64 %38, %39 + store i64 %sub29, i64* %retval, align 8 + br label %do.end32 + +do.end32: ; preds = %if.then, %if.end28 + %40 = load i64, i64* %retval, align 8 + ret i64 %40 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__freading(%struct.__STDIO_FILE_STRUCT.519* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.519*, align 8 + store %struct.__STDIO_FILE_STRUCT.519* %stream, %struct.__STDIO_FILE_STRUCT.519** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.519*, %struct.__STDIO_FILE_STRUCT.519** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.519, %struct.__STDIO_FILE_STRUCT.519* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 35 + ret i32 %and +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_rfill(%struct.__STDIO_FILE_STRUCT.568* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %rv = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %1, i32 0, i32 3 + %2 = load i8*, i8** %__bufstart, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 4 + %4 = load i8*, i8** %__bufend, align 8 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 3 + %6 = load i8*, i8** %__bufstart1, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %4 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %6 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %call = call i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.568* %0, i8* %2, i64 %sub.ptr.sub) #18 + store i64 %call, i64* %rv, align 8 + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %7, i32 0, i32 3 + %8 = load i8*, i8** %__bufstart2, align 8 + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %9, i32 0, i32 5 + store i8* %8, i8** %__bufpos, align 8 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart3 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 3 + %11 = load i8*, i8** %__bufstart3, align 8 + %12 = load i64, i64* %rv, align 8 + %add.ptr = getelementptr inbounds i8, i8* %11, i64 %12 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 6 + store i8* %add.ptr, i8** %__bufread, align 8 + %14 = load i64, i64* %rv, align 8 + ret i64 %14 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_trans2r_o(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %oflag) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %oflag.addr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %oflag, i32* %oflag.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %2 = load i32, i32* %oflag.addr, align 4 + %and = and i32 %conv, %2 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end9, label %if.then + +if.then: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 0 + %4 = load i16, i16* %__modeflags1, align 8 + %conv2 = zext i16 %4 to i32 + %and3 = and i32 %conv2, 2176 + %tobool4 = icmp ne i32 %and3, 0 + br i1 %tobool4, label %DO_EBADF, label %if.end + +if.end: ; preds = %if.then + %5 = load i32, i32* %oflag.addr, align 4 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 0 + %7 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %7 to i32 + %or = or i32 %conv7, %5 + %conv8 = trunc i32 %or to i16 + store i16 %conv8, i16* %__modeflags6, align 8 + br label %if.end9 + +if.end9: ; preds = %if.end, %entry + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags10, align 8 + %conv11 = zext i16 %9 to i32 + %and12 = and i32 %conv11, 16 + %tobool13 = icmp ne i32 %and12, 0 + br i1 %tobool13, label %DO_EBADF, label %if.end19 + +DO_EBADF: ; preds = %if.end9, %if.then + store i32 9, i32* @errno, align 4 + br label %ERROR + +ERROR: ; preds = %if.then24, %DO_EBADF + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags15 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 0 + %11 = load i16, i16* %__modeflags15, align 8 + %conv16 = zext i16 %11 to i32 + %or17 = or i32 %conv16, 8 + %conv18 = trunc i32 %or17 to i16 + store i16 %conv18, i16* %__modeflags15, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end19: ; preds = %if.end9 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags20 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags20, align 8 + %conv21 = zext i16 %13 to i32 + %and22 = and i32 %conv21, 64 + %tobool23 = icmp ne i32 %and22, 0 + br i1 %tobool23, label %if.then24, label %if.end32 + +if.then24: ; preds = %if.end19 + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %14) #18 + %tobool25 = icmp ne i64 %call, 0 + br i1 %tobool25, label %ERROR, label %if.end27 + +if.end27: ; preds = %if.then24 + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 3 + %16 = load i8*, i8** %__bufstart, align 8 + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 8 + store i8* %16, i8** %__bufputc_u, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags28 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 0 + %19 = load i16, i16* %__modeflags28, align 8 + %conv29 = zext i16 %19 to i32 + %and30 = and i32 %conv29, -65 + %conv31 = trunc i32 %and30 to i16 + store i16 %conv31, i16* %__modeflags28, align 8 + br label %if.end32 + +if.end32: ; preds = %if.end27, %if.end19 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags33 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 0 + %21 = load i16, i16* %__modeflags33, align 8 + %conv34 = zext i16 %21 to i32 + %or35 = or i32 %conv34, 1 + %conv36 = trunc i32 %or35 to i16 + store i16 %conv36, i16* %__modeflags33, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end32, %ERROR + %22 = load i32, i32* %retval, align 4 + ret i32 %22 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fclose(%struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %rv = alloca i32, align 4 + %ptr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 0, i32* %rv, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %0, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %1, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp = icmp eq %struct.__STDIO_FILE_STRUCT.568* %1, %2 + br i1 %cmp, label %if.then, label %while.cond + +if.then: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 9 + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %4, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + br label %if.end7 + +while.cond: ; preds = %entry, %if.end + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %5, null + br i1 %tobool, label %while.body, label %if.end7 + +while.body: ; preds = %while.cond + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 9 + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen1, align 8 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp2 = icmp eq %struct.__STDIO_FILE_STRUCT.568* %7, %8 + br i1 %cmp2, label %if.then3, label %if.end + +if.then3: ; preds = %while.body + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen4 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %9, i32 0, i32 9 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen4, align 8 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen5 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 9 + store %struct.__STDIO_FILE_STRUCT.568* %10, %struct.__STDIO_FILE_STRUCT.568** %__nextopen5, align 8 + br label %if.end7 + +if.end: ; preds = %while.body + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 9 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen6, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %13, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + br label %while.cond + +if.end7: ; preds = %while.cond, %if.then3, %if.then + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %14, i32 0, i32 0 + %15 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %15 to i32 + %and = and i32 %conv, 64 + %tobool8 = icmp ne i32 %and, 0 + br i1 %tobool8, label %if.then9, label %if.end10 + +if.then9: ; preds = %if.end7 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.568* %16) #18 + store i32 %call, i32* %rv, align 4 + br label %if.end10 + +if.end10: ; preds = %if.then9, %if.end7 + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 2 + %18 = load i32, i32* %__filedes, align 4 + %call11 = call i32 @close(i32 %18) #18 + %cmp12 = icmp slt i32 %call11, 0 + br i1 %cmp12, label %if.then14, label %if.end15 + +if.then14: ; preds = %if.end10 + store i32 -1, i32* %rv, align 4 + br label %if.end15 + +if.end15: ; preds = %if.then14, %if.end10 + %19 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes16 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %19, i32 0, i32 2 + store i32 -1, i32* %__filedes16, align 4 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 0 + %21 = load i16, i16* %__modeflags17, align 8 + %conv18 = zext i16 %21 to i32 + %and19 = and i32 %conv18, 24576 + %conv20 = trunc i32 %and19 to i16 + store i16 %conv20, i16* %__modeflags17, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags21 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 0 + %23 = load i16, i16* %__modeflags21, align 8 + %conv22 = zext i16 %23 to i32 + %or = or i32 %conv22, 48 + %conv23 = trunc i32 %or to i16 + store i16 %conv23, i16* %__modeflags21, align 8 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags24 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 0 + %25 = load i16, i16* %__modeflags24, align 8 + %conv25 = zext i16 %25 to i32 + %and26 = and i32 %conv25, 16384 + %tobool27 = icmp ne i32 %and26, 0 + br i1 %tobool27, label %if.then28, label %do.body30 + +if.then28: ; preds = %if.end15 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 3 + %27 = load i8*, i8** %__bufstart, align 8 + call void @free(i8* %27) #19 + br label %do.body30 + +do.body30: ; preds = %if.then28, %if.end15 + %28 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags31 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %28, i32 0, i32 0 + %29 = load i16, i16* %__modeflags31, align 8 + %conv32 = zext i16 %29 to i32 + %and33 = and i32 %conv32, 8192 + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %if.then35, label %do.end37 + +if.then35: ; preds = %do.body30 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %31 = bitcast %struct.__STDIO_FILE_STRUCT.568* %30 to i8* + call void @free(i8* %31) #19 + br label %do.end37 + +do.end37: ; preds = %do.body30, %if.then35 + %32 = load i32, i32* %rv, align 4 + ret i32 %32 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.__STDIO_FILE_STRUCT.588* @fdopen(i32 %filedes, i8* %mode) #0 { +entry: + %filedes.addr = alloca i32, align 4 + %mode.addr = alloca i8*, align 8 + %cur_mode = alloca i64, align 8 + store i32 %filedes, i32* %filedes.addr, align 4 + store i8* %mode, i8** %mode.addr, align 8 + %0 = load i32, i32* %filedes.addr, align 4 + %call = call i32 (i32, i32, ...) @fcntl(i32 %0, i32 3) #18 + %conv = sext i32 %call to i64 + store i64 %conv, i64* %cur_mode, align 8 + %cmp = icmp ne i64 %conv, -1 + br i1 %cmp, label %cond.true, label %cond.end + +cond.true: ; preds = %entry + %1 = load i64, i64* %cur_mode, align 8 + %2 = load i8*, i8** %mode.addr, align 8 + %3 = load i32, i32* %filedes.addr, align 4 + %call2 = call %struct.__STDIO_FILE_STRUCT.588* bitcast (%struct.__STDIO_FILE_STRUCT.568* (i64, i8*, %struct.__STDIO_FILE_STRUCT.568*, i32)* @_stdio_fopen to %struct.__STDIO_FILE_STRUCT.588* (i64, i8*, %struct.__STDIO_FILE_STRUCT.588*, i32)*)(i64 %1, i8* %2, %struct.__STDIO_FILE_STRUCT.588* null, i32 %3) #18 + br label %cond.end + +cond.end: ; preds = %entry, %cond.true + %cond = phi %struct.__STDIO_FILE_STRUCT.588* [ %call2, %cond.true ], [ null, %entry ] + ret %struct.__STDIO_FILE_STRUCT.588* %cond +} + +; Function Attrs: noinline nounwind uwtable +define i32 @feof_unlocked(%struct.__STDIO_FILE_STRUCT.590* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.590*, align 8 + store %struct.__STDIO_FILE_STRUCT.590* %stream, %struct.__STDIO_FILE_STRUCT.590** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.590*, %struct.__STDIO_FILE_STRUCT.590** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.590, %struct.__STDIO_FILE_STRUCT.590* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 4 + ret i32 %and +} + +; Function Attrs: noinline nounwind uwtable +define i32 @ferror_unlocked(%struct.__STDIO_FILE_STRUCT.592* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.592*, align 8 + store %struct.__STDIO_FILE_STRUCT.592* %stream, %struct.__STDIO_FILE_STRUCT.592** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.592*, %struct.__STDIO_FILE_STRUCT.592** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.592, %struct.__STDIO_FILE_STRUCT.592* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 8 + ret i32 %and +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %retval1 = alloca i32, align 4 + %bufmask = alloca i16, align 2 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 0, i32* %retval1, align 4 + store i16 256, i16* %bufmask, align 2 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp = icmp eq %struct.__STDIO_FILE_STRUCT.568* %0, bitcast (%struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist to %struct.__STDIO_FILE_STRUCT.568*) + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store %struct.__STDIO_FILE_STRUCT.568* null, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i16 0, i16* %bufmask, align 2 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %1, null + br i1 %tobool, label %if.else21, label %if.then2 + +if.then2: ; preds = %if.end + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %2, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end20, %if.then2 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %tobool3 = icmp ne %struct.__STDIO_FILE_STRUCT.568* %3, null + br i1 %tobool3, label %while.body, label %if.end39 + +while.body: ; preds = %while.cond + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 0 + %5 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %5 to i32 + %and = and i32 %conv, 64 + %tobool4 = icmp ne i32 %and, 0 + br i1 %tobool4, label %if.then5, label %if.end20 + +if.then5: ; preds = %while.body + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 0 + %7 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %7 to i32 + %8 = load i16, i16* %bufmask, align 2 + %conv8 = zext i16 %8 to i32 + %or = or i32 %conv7, %conv8 + %xor = xor i32 %or, 320 + %and9 = and i32 %xor, 832 + %tobool10 = icmp ne i32 %and9, 0 + br i1 %tobool10, label %if.end20, label %if.then11 + +if.then11: ; preds = %if.then5 + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %9) #18 + %tobool12 = icmp ne i64 %call, 0 + br i1 %tobool12, label %if.else, label %if.then13 + +if.then13: ; preds = %if.then11 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 3 + %11 = load i8*, i8** %__bufstart, align 8 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 8 + store i8* %11, i8** %__bufputc_u, align 8 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags14 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 0 + %14 = load i16, i16* %__modeflags14, align 8 + %conv15 = zext i16 %14 to i32 + %and16 = and i32 %conv15, -65 + %conv17 = trunc i32 %and16 to i16 + store i16 %conv17, i16* %__modeflags14, align 8 + br label %if.end20 + +if.else: ; preds = %if.then11 + store i32 -1, i32* %retval1, align 4 + br label %if.end20 + +if.end20: ; preds = %if.then5, %if.else, %if.then13, %while.body + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 9 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %16, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br label %while.cond + +if.else21: ; preds = %if.end + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags22 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 0 + %18 = load i16, i16* %__modeflags22, align 8 + %conv23 = zext i16 %18 to i32 + %and24 = and i32 %conv23, 64 + %tobool25 = icmp ne i32 %and24, 0 + br i1 %tobool25, label %if.then26, label %if.end39 + +if.then26: ; preds = %if.else21 + %19 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call27 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %19) #18 + %tobool28 = icmp ne i64 %call27, 0 + br i1 %tobool28, label %if.else36, label %if.then29 + +if.then29: ; preds = %if.then26 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart30 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 3 + %21 = load i8*, i8** %__bufstart30, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u31 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 8 + store i8* %21, i8** %__bufputc_u31, align 8 + %23 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags32 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %23, i32 0, i32 0 + %24 = load i16, i16* %__modeflags32, align 8 + %conv33 = zext i16 %24 to i32 + %and34 = and i32 %conv33, -65 + %conv35 = trunc i32 %and34 to i16 + store i16 %conv35, i16* %__modeflags32, align 8 + br label %if.end39 + +if.else36: ; preds = %if.then26 + store i32 -1, i32* %retval1, align 4 + br label %if.end39 + +if.end39: ; preds = %if.else21, %if.else36, %if.then29, %while.cond + %25 = load i32, i32* %retval1, align 4 + ret i32 %25 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fileno_unlocked(%struct.__STDIO_FILE_STRUCT.608* %stream) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.608*, align 8 + store %struct.__STDIO_FILE_STRUCT.608* %stream, %struct.__STDIO_FILE_STRUCT.608** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.608*, %struct.__STDIO_FILE_STRUCT.608** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.608, %struct.__STDIO_FILE_STRUCT.608* %0, i32 0, i32 2 + %1 = load i32, i32* %__filedes, align 4 + %cmp = icmp sge i32 %1, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.608*, %struct.__STDIO_FILE_STRUCT.608** %stream.addr, align 8 + %__filedes1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.608, %struct.__STDIO_FILE_STRUCT.608* %2, i32 0, i32 2 + %3 = load i32, i32* %__filedes1, align 4 + store i32 %3, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + store i32 9, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.__STDIO_FILE_STRUCT.588* @fopen(i8* noalias %filename, i8* noalias %mode) #0 { +entry: + %filename.addr = alloca i8*, align 8 + %mode.addr = alloca i8*, align 8 + store i8* %filename, i8** %filename.addr, align 8 + store i8* %mode, i8** %mode.addr, align 8 + %0 = load i8*, i8** %filename.addr, align 8 + %1 = ptrtoint i8* %0 to i64 + %2 = load i8*, i8** %mode.addr, align 8 + %call = call %struct.__STDIO_FILE_STRUCT.588* bitcast (%struct.__STDIO_FILE_STRUCT.568* (i64, i8*, %struct.__STDIO_FILE_STRUCT.568*, i32)* @_stdio_fopen to %struct.__STDIO_FILE_STRUCT.588* (i64, i8*, %struct.__STDIO_FILE_STRUCT.588*, i32)*)(i64 %1, i8* %2, %struct.__STDIO_FILE_STRUCT.588* null, i32 -1) #18 + ret %struct.__STDIO_FILE_STRUCT.588* %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fprintf(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i8* noalias %format, ...) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %format.addr = alloca i8*, align 8 + %arg = alloca [1 x %struct.__va_list_tag.0], align 16 + %rv = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdout, align 8 + %cmp = icmp eq %struct.__STDIO_FILE_STRUCT.568* %0, %1 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %cmp2 = icmp eq %struct.__STDIO_FILE_STRUCT.568* %2, %3 + br i1 %cmp2, label %if.then, label %if.else + +if.then: ; preds = %lor.lhs.false, %entry + %4 = load i8*, i8** %format.addr, align 8 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %call = call i32 @vprintf(i8* %4, %struct.__va_list_tag.0* %arraydecay3) #18 + store i32 %call, i32* %rv, align 4 + br label %if.end + +if.else: ; preds = %lor.lhs.false + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %6 = load i8*, i8** %format.addr, align 8 + %arraydecay4 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %call5 = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %5, i8* %6, %struct.__va_list_tag.0* %arraydecay4) #18 + store i32 %call5, i32* %rv, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %arraydecay6 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay67 = bitcast %struct.__va_list_tag.0* %arraydecay6 to i8* + call void @llvm.va_end(i8* %arraydecay67) + %7 = load i32, i32* %rv, align 4 + ret i32 %7 +} + +declare i32 @vprintf(i8*, %struct.__va_list_tag.0*) #17 + +; Function Attrs: noinline nounwind uwtable +define i32 @__fputc_unlocked(i32 %c, %struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %retval = alloca i32, align 4 + %c.addr = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %uc = alloca i8, align 1 + store i32 %c, i32* %c.addr, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 5 + %1 = load i8*, i8** %__bufpos, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 8 + %3 = load i8*, i8** %__bufputc_u, align 8 + %cmp = icmp ult i8* %1, %3 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %4 = load i32, i32* %c.addr, align 4 + %conv = trunc i32 %4 to i8 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 5 + %6 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + store i8 %conv, i8* %6, align 1 + %7 = load i32, i32* %c.addr, align 4 + %conv2 = trunc i32 %7 to i8 + %conv3 = zext i8 %conv2 to i32 + store i32 %conv3, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags, align 8 + %conv4 = zext i16 %9 to i32 + %and = and i32 %conv4, 192 + %cmp5 = icmp eq i32 %and, 192 + br i1 %cmp5, label %if.then7, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* %10, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %BAD, label %if.then7 + +if.then7: ; preds = %lor.lhs.false, %if.end + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 2 + %12 = load i32, i32* %__filedes, align 4 + %cmp8 = icmp eq i32 %12, -2 + br i1 %cmp8, label %if.then10, label %if.end13 + +if.then10: ; preds = %if.then7 + %13 = load i32, i32* %c.addr, align 4 + %conv11 = trunc i32 %13 to i8 + %conv12 = zext i8 %conv11 to i32 + store i32 %conv12, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.then7 + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %14, i32 0, i32 4 + %15 = load i8*, i8** %__bufend, align 8 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %16, i32 0, i32 3 + %17 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %15 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %17 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool14 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %tobool14, label %if.then15, label %if.else + +if.then15: ; preds = %if.end13 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend16 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 4 + %19 = load i8*, i8** %__bufend16, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 5 + %21 = load i8*, i8** %__bufpos17, align 8 + %sub.ptr.lhs.cast18 = ptrtoint i8* %19 to i64 + %sub.ptr.rhs.cast19 = ptrtoint i8* %21 to i64 + %sub.ptr.sub20 = sub i64 %sub.ptr.lhs.cast18, %sub.ptr.rhs.cast19 + %tobool21 = icmp ne i64 %sub.ptr.sub20, 0 + br i1 %tobool21, label %if.end25, label %land.lhs.true + +land.lhs.true: ; preds = %if.then15 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call22 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %22) #18 + %tobool23 = icmp ne i64 %call22, 0 + br i1 %tobool23, label %BAD, label %if.end25 + +if.end25: ; preds = %land.lhs.true, %if.then15 + %23 = load i32, i32* %c.addr, align 4 + %conv26 = trunc i32 %23 to i8 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos27 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 5 + %25 = load i8*, i8** %__bufpos27, align 8 + %incdec.ptr28 = getelementptr inbounds i8, i8* %25, i32 1 + store i8* %incdec.ptr28, i8** %__bufpos27, align 8 + store i8 %conv26, i8* %25, align 1 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags29 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 0 + %27 = load i16, i16* %__modeflags29, align 8 + %conv30 = zext i16 %27 to i32 + %and31 = and i32 %conv30, 256 + %tobool32 = icmp ne i32 %and31, 0 + br i1 %tobool32, label %if.then33, label %if.end51 + +if.then33: ; preds = %if.end25 + %28 = load i32, i32* %c.addr, align 4 + %conv34 = trunc i32 %28 to i8 + %conv35 = zext i8 %conv34 to i32 + %cmp36 = icmp eq i32 %conv35, 10 + br i1 %cmp36, label %land.lhs.true38, label %if.end51 + +land.lhs.true38: ; preds = %if.then33 + %29 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call39 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %29) #18 + %tobool40 = icmp ne i64 %call39, 0 + br i1 %tobool40, label %if.then41, label %if.end51 + +if.then41: ; preds = %land.lhs.true38 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos42 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %30, i32 0, i32 5 + %31 = load i8*, i8** %__bufpos42, align 8 + %incdec.ptr43 = getelementptr inbounds i8, i8* %31, i32 -1 + store i8* %incdec.ptr43, i8** %__bufpos42, align 8 + br label %BAD + +if.else: ; preds = %if.end13 + %32 = load i32, i32* %c.addr, align 4 + %conv46 = trunc i32 %32 to i8 + store i8 %conv46, i8* %uc, align 1 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call47 = call i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %33, i8* %uc, i64 1) #18 + %tobool48 = icmp ne i64 %call47, 0 + br i1 %tobool48, label %if.end51, label %BAD + +if.end51: ; preds = %if.else, %if.end25, %land.lhs.true38, %if.then33 + %34 = load i32, i32* %c.addr, align 4 + %conv52 = trunc i32 %34 to i8 + %conv53 = zext i8 %conv52 to i32 + store i32 %conv53, i32* %retval, align 4 + br label %return + +BAD: ; preds = %lor.lhs.false, %if.else, %land.lhs.true, %if.then41 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %BAD, %if.end51, %if.then10, %if.then + %35 = load i32, i32* %retval, align 4 + ret i32 %35 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fputs_unlocked(i8* noalias %s, %struct.__STDIO_FILE_STRUCT.621* noalias %stream) #0 { +entry: + %s.addr = alloca i8*, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.621*, align 8 + %n = alloca i64, align 8 + store i8* %s, i8** %s.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.621* %stream, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %call = call i64 @strlen(i8* %0) #20 + store i64 %call, i64* %n, align 8 + %1 = load i8*, i8** %s.addr, align 8 + %2 = load i64, i64* %n, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %call1 = call i64 bitcast (i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*)* @fwrite_unlocked to i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.621*)*)(i8* %1, i64 1, i64 %2, %struct.__STDIO_FILE_STRUCT.621* %3) #18 + %4 = load i64, i64* %n, align 8 + %cmp = icmp eq i64 %call1, %4 + %5 = load i64, i64* %n, align 8 + %cond = select i1 %cmp, i64 %5, i64 -1 + %conv = trunc i64 %cond to i32 + ret i32 %conv +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fseek(%struct.__STDIO_FILE_STRUCT.636* %stream, i64 %offset, i32 %whence) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %1 = load i64, i64* %offset.addr, align 8 + %2 = load i32, i32* %whence.addr, align 4 + %call = call i32 @fseeko64(%struct.__STDIO_FILE_STRUCT.636* %0, i64 %1, i32 %2) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i64 @fwrite_unlocked(i8* noalias %ptr, i64 %size, i64 %nmemb, %struct.__STDIO_FILE_STRUCT.568* noalias %stream) #0 { +entry: + %retval = alloca i64, align 8 + %ptr.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %nmemb.addr = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + store i8* %ptr, i8** %ptr.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + store i64 %nmemb, i64* %nmemb.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 192 + %cmp = icmp eq i32 %and, 192 + br i1 %cmp, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* %2, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end13, label %land.lhs.true + +land.lhs.true: ; preds = %lor.lhs.false, %entry + %3 = load i64, i64* %size.addr, align 8 + %tobool2 = icmp ne i64 %3, 0 + %4 = load i64, i64* %nmemb.addr, align 8 + %tobool4 = icmp ne i64 %4, 0 + %or.cond = and i1 %tobool2, %tobool4 + br i1 %or.cond, label %if.then, label %if.end13 + +if.then: ; preds = %land.lhs.true + %5 = load i64, i64* %nmemb.addr, align 8 + %6 = load i64, i64* %size.addr, align 8 + %div = udiv i64 -1, %6 + %cmp5 = icmp ule i64 %5, %div + br i1 %cmp5, label %if.then7, label %if.end + +if.then7: ; preds = %if.then + %7 = load i8*, i8** %ptr.addr, align 8 + %8 = load i64, i64* %size.addr, align 8 + %9 = load i64, i64* %nmemb.addr, align 8 + %mul = mul i64 %8, %9 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call8 = call i64 @__stdio_fwrite(i8* %7, i64 %mul, %struct.__STDIO_FILE_STRUCT.568* %10) #18 + %11 = load i64, i64* %size.addr, align 8 + %div9 = udiv i64 %call8, %11 + store i64 %div9, i64* %retval, align 8 + br label %return + +if.end: ; preds = %if.then + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags10, align 8 + %conv11 = zext i16 %13 to i32 + %or = or i32 %conv11, 8 + %conv12 = trunc i32 %or to i16 + store i16 %conv12, i16* %__modeflags10, align 8 + store i32 22, i32* @errno, align 4 + br label %if.end13 + +if.end13: ; preds = %if.end, %land.lhs.true, %lor.lhs.false + store i64 0, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end13, %if.then7 + %14 = load i64, i64* %retval, align 8 + ret i64 %14 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @putchar_unlocked(i32 %c) #0 { +entry: + %c.addr = alloca i32, align 4 + %stream = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + store i32 %c, i32* %c.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdout, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %0, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %1, i32 0, i32 5 + %2 = load i8*, i8** %__bufpos, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 8 + %4 = load i8*, i8** %__bufputc_u, align 8 + %cmp = icmp ult i8* %2, %4 + %5 = load i32, i32* %c.addr, align 4 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %entry + %conv = trunc i32 %5 to i8 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 5 + %7 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %7, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + store i8 %conv, i8* %7, align 1 + %conv2 = zext i8 %conv to i32 + br label %cond.end + +cond.false: ; preds = %entry + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %call = call i32 @__fputc_unlocked(i32 %5, %struct.__STDIO_FILE_STRUCT.568* %8) #18 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ %conv2, %cond.true ], [ %call, %cond.false ] + ret i32 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i32 @vsnprintf(i8* noalias %buf, i64 %size, i8* noalias %format, %struct.__va_list_tag.0* %arg) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %format.addr = alloca i8*, align 8 + %arg.addr = alloca %struct.__va_list_tag.0*, align 8 + %f = alloca %struct.__STDIO_FILE_STRUCT.568, align 8 + %rv = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + store %struct.__va_list_tag.0* %arg, %struct.__va_list_tag.0** %arg.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 2 + store i32 -2, i32* %__filedes, align 4 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 0 + store i16 208, i16* %__modeflags, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 1 + %arrayidx = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 0 + store i8 0, i8* %arrayidx, align 2 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + store i32 0, i32* %__mask, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 9 + store %struct.__STDIO_FILE_STRUCT.568* null, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + %0 = load i64, i64* %size.addr, align 8 + %1 = load i8*, i8** %buf.addr, align 8 + %2 = ptrtoint i8* %1 to i64 + %sub = sub i64 -1, %2 + %cmp = icmp ugt i64 %0, %sub + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %3 = load i8*, i8** %buf.addr, align 8 + %4 = ptrtoint i8* %3 to i64 + %sub1 = sub i64 -1, %4 + store i64 %sub1, i64* %size.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %5 = load i8*, i8** %buf.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 3 + store i8* %5, i8** %__bufstart, align 8 + %6 = load i8*, i8** %buf.addr, align 8 + %7 = load i64, i64* %size.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %6, i64 %7 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 4 + store i8* %add.ptr, i8** %__bufend, align 8 + %__bufstart2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 3 + %8 = load i8*, i8** %__bufstart2, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + store i8* %8, i8** %__bufpos, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 6 + store i8* %8, i8** %__bufread, align 8 + %__bufstart3 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 3 + %9 = load i8*, i8** %__bufstart3, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 7 + store i8* %9, i8** %__bufgetc_u, align 8 + %__bufend4 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 4 + %10 = load i8*, i8** %__bufend4, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 8 + store i8* %10, i8** %__bufputc_u, align 8 + %11 = load i8*, i8** %format.addr, align 8 + %12 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %arg.addr, align 8 + %call = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %f, i8* %11, %struct.__va_list_tag.0* %12) #18 + store i32 %call, i32* %rv, align 4 + %13 = load i64, i64* %size.addr, align 8 + %tobool = icmp ne i64 %13, 0 + br i1 %tobool, label %if.then5, label %if.end13 + +if.then5: ; preds = %if.end + %__bufpos6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + %14 = load i8*, i8** %__bufpos6, align 8 + %__bufend7 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 4 + %15 = load i8*, i8** %__bufend7, align 8 + %cmp8 = icmp eq i8* %14, %15 + br i1 %cmp8, label %if.then9, label %if.end11 + +if.then9: ; preds = %if.then5 + %__bufpos10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + %16 = load i8*, i8** %__bufpos10, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %16, i32 -1 + store i8* %incdec.ptr, i8** %__bufpos10, align 8 + br label %if.end11 + +if.end11: ; preds = %if.then9, %if.then5 + %__bufpos12 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + %17 = load i8*, i8** %__bufpos12, align 8 + store i8 0, i8* %17, align 1 + br label %if.end13 + +if.end13: ; preds = %if.end11, %if.end + %18 = load i32, i32* %rv, align 4 + ret i32 %18 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @atexit(void ()* nonnull %func) #0 { +entry: + %func.addr = alloca void ()*, align 8 + store void ()* %func, void ()** %func.addr, align 8 + %0 = load void ()*, void ()** %func.addr, align 8 + %1 = bitcast void ()* %0 to void (i8*)* + br i1 icmp eq (i8** @__dso_handle, i8** null), label %cond.end, label %cond.false + +cond.false: ; preds = %entry + %2 = load i8*, i8** @__dso_handle, align 8 + br label %cond.end + +cond.end: ; preds = %entry, %cond.false + %cond = phi i8* [ %2, %cond.false ], [ null, %entry ] + %call = call i32 @__cxa_atexit(void (i8*)* %1, i8* null, i8* %cond) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i8* @realpath(i8* %path, i8* nonnull %got_path) #0 { +entry: + %retval = alloca i8*, align 8 + %path.addr = alloca i8*, align 8 + %got_path.addr = alloca i8*, align 8 + %copy_path = alloca [4096 x i8], align 16 + %max_path = alloca i8*, align 8 + %new_path = alloca i8*, align 8 + %path_len = alloca i64, align 8 + %readlinks = alloca i32, align 4 + %link_len = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store i8* %got_path, i8** %got_path.addr, align 8 + store i32 0, i32* %readlinks, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %cmp = icmp eq i8* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 22, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %path.addr, align 8 + %2 = load i8, i8* %1, align 1 + %conv = sext i8 %2 to i32 + %cmp1 = icmp eq i32 %conv, 0 + br i1 %cmp1, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.end + store i32 2, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %if.end + %3 = load i8*, i8** %path.addr, align 8 + %call = call i64 @strlen(i8* %3) #20 + store i64 %call, i64* %path_len, align 8 + %4 = load i64, i64* %path_len, align 8 + %cmp5 = icmp uge i64 %4, 4094 + br i1 %cmp5, label %if.then7, label %if.end8 + +if.then7: ; preds = %if.end4 + store i32 36, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end8: ; preds = %if.end4 + %arraydecay = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 4095 + %5 = load i64, i64* %path_len, align 8 + %idx.neg = sub i64 0, %5 + %add.ptr9 = getelementptr inbounds i8, i8* %add.ptr, i64 %idx.neg + %6 = load i8*, i8** %path.addr, align 8 + %call10 = call i8* @strcpy(i8* %add.ptr9, i8* %6) #19 + %arraydecay11 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr12 = getelementptr inbounds i8, i8* %arraydecay11, i64 4095 + %7 = load i64, i64* %path_len, align 8 + %idx.neg13 = sub i64 0, %7 + %add.ptr14 = getelementptr inbounds i8, i8* %add.ptr12, i64 %idx.neg13 + store i8* %add.ptr14, i8** %path.addr, align 8 + %8 = load i8*, i8** %got_path.addr, align 8 + %add.ptr15 = getelementptr inbounds i8, i8* %8, i64 4096 + %add.ptr16 = getelementptr inbounds i8, i8* %add.ptr15, i64 -2 + store i8* %add.ptr16, i8** %max_path, align 8 + %9 = load i8*, i8** %got_path.addr, align 8 + store i8* %9, i8** %new_path, align 8 + %10 = load i8*, i8** %path.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv17 = sext i8 %11 to i32 + %cmp18 = icmp ne i32 %conv17, 47 + %12 = load i8*, i8** %new_path, align 8 + br i1 %cmp18, label %if.then20, label %if.else + +if.then20: ; preds = %if.end8 + %call21 = call i8* @getcwd(i8* %12, i64 4095) #19 + %tobool = icmp ne i8* %call21, null + br i1 %tobool, label %if.end23, label %if.then22 + +if.then22: ; preds = %if.then20 + store i8* null, i8** %retval, align 8 + br label %return + +if.end23: ; preds = %if.then20 + %13 = load i8*, i8** %new_path, align 8 + %call24 = call i64 @strlen(i8* %13) #20 + %14 = load i8*, i8** %new_path, align 8 + %add.ptr25 = getelementptr inbounds i8, i8* %14, i64 %call24 + store i8* %add.ptr25, i8** %new_path, align 8 + %15 = load i8*, i8** %new_path, align 8 + %arrayidx = getelementptr inbounds i8, i8* %15, i64 -1 + %16 = load i8, i8* %arrayidx, align 1 + %conv26 = sext i8 %16 to i32 + %cmp27 = icmp ne i32 %conv26, 47 + br i1 %cmp27, label %if.then29, label %if.end33 + +if.then29: ; preds = %if.end23 + %17 = load i8*, i8** %new_path, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %17, i32 1 + store i8* %incdec.ptr, i8** %new_path, align 8 + store i8 47, i8* %17, align 1 + br label %if.end33 + +if.else: ; preds = %if.end8 + %incdec.ptr31 = getelementptr inbounds i8, i8* %12, i32 1 + store i8* %incdec.ptr31, i8** %new_path, align 8 + store i8 47, i8* %12, align 1 + %18 = load i8*, i8** %path.addr, align 8 + %incdec.ptr32 = getelementptr inbounds i8, i8* %18, i32 1 + store i8* %incdec.ptr32, i8** %path.addr, align 8 + br label %if.end33 + +if.end33: ; preds = %if.end23, %if.then29, %if.else + br label %while.cond + +while.cond: ; preds = %while.cond79, %if.then72, %if.end155, %if.then55, %if.then40, %if.end33 + %19 = load i8*, i8** %path.addr, align 8 + %20 = load i8, i8* %19, align 1 + %conv34 = sext i8 %20 to i32 + %cmp35 = icmp ne i32 %conv34, 0 + br i1 %cmp35, label %while.body, label %while.end157 + +while.body: ; preds = %while.cond + %21 = load i8*, i8** %path.addr, align 8 + %22 = load i8, i8* %21, align 1 + %conv37 = sext i8 %22 to i32 + %cmp38 = icmp eq i32 %conv37, 47 + %23 = load i8*, i8** %path.addr, align 8 + br i1 %cmp38, label %if.then40, label %if.end42 + +if.then40: ; preds = %while.body + %incdec.ptr41 = getelementptr inbounds i8, i8* %23, i32 1 + store i8* %incdec.ptr41, i8** %path.addr, align 8 + br label %while.cond + +if.end42: ; preds = %while.body + %24 = load i8, i8* %23, align 1 + %conv43 = sext i8 %24 to i32 + %cmp44 = icmp eq i32 %conv43, 46 + br i1 %cmp44, label %if.then46, label %if.end88 + +if.then46: ; preds = %if.end42 + %25 = load i8*, i8** %path.addr, align 8 + %arrayidx47 = getelementptr inbounds i8, i8* %25, i64 1 + %26 = load i8, i8* %arrayidx47, align 1 + %conv48 = sext i8 %26 to i32 + %cmp49 = icmp eq i32 %conv48, 0 + br i1 %cmp49, label %if.then55, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then46 + %27 = load i8*, i8** %path.addr, align 8 + %arrayidx51 = getelementptr inbounds i8, i8* %27, i64 1 + %28 = load i8, i8* %arrayidx51, align 1 + %conv52 = sext i8 %28 to i32 + %cmp53 = icmp eq i32 %conv52, 47 + br i1 %cmp53, label %if.then55, label %if.end57 + +if.then55: ; preds = %lor.lhs.false, %if.then46 + %29 = load i8*, i8** %path.addr, align 8 + %incdec.ptr56 = getelementptr inbounds i8, i8* %29, i32 1 + store i8* %incdec.ptr56, i8** %path.addr, align 8 + br label %while.cond + +if.end57: ; preds = %lor.lhs.false + %30 = load i8*, i8** %path.addr, align 8 + %arrayidx58 = getelementptr inbounds i8, i8* %30, i64 1 + %31 = load i8, i8* %arrayidx58, align 1 + %conv59 = sext i8 %31 to i32 + %cmp60 = icmp eq i32 %conv59, 46 + br i1 %cmp60, label %if.then62, label %if.end88 + +if.then62: ; preds = %if.end57 + %32 = load i8*, i8** %path.addr, align 8 + %arrayidx63 = getelementptr inbounds i8, i8* %32, i64 2 + %33 = load i8, i8* %arrayidx63, align 1 + %conv64 = sext i8 %33 to i32 + %cmp65 = icmp eq i32 %conv64, 0 + br i1 %cmp65, label %if.then72, label %lor.lhs.false67 + +lor.lhs.false67: ; preds = %if.then62 + %34 = load i8*, i8** %path.addr, align 8 + %arrayidx68 = getelementptr inbounds i8, i8* %34, i64 2 + %35 = load i8, i8* %arrayidx68, align 1 + %conv69 = sext i8 %35 to i32 + %cmp70 = icmp eq i32 %conv69, 47 + br i1 %cmp70, label %if.then72, label %if.end88 + +if.then72: ; preds = %lor.lhs.false67, %if.then62 + %36 = load i8*, i8** %path.addr, align 8 + %add.ptr73 = getelementptr inbounds i8, i8* %36, i64 2 + store i8* %add.ptr73, i8** %path.addr, align 8 + %37 = load i8*, i8** %new_path, align 8 + %38 = load i8*, i8** %got_path.addr, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %38, i64 1 + %cmp75 = icmp eq i8* %37, %add.ptr74 + br i1 %cmp75, label %while.cond, label %while.cond79 + +while.cond79: ; preds = %while.cond79, %if.then72 + %39 = load i8*, i8** %new_path, align 8 + %incdec.ptr80 = getelementptr inbounds i8, i8* %39, i32 -1 + store i8* %incdec.ptr80, i8** %new_path, align 8 + %arrayidx81 = getelementptr inbounds i8, i8* %incdec.ptr80, i64 -1 + %40 = load i8, i8* %arrayidx81, align 1 + %conv82 = sext i8 %40 to i32 + %cmp83 = icmp ne i32 %conv82, 47 + br i1 %cmp83, label %while.cond79, label %while.cond + +if.end88: ; preds = %if.end57, %lor.lhs.false67, %if.end42 + br label %while.cond89 + +while.cond89: ; preds = %if.end100, %if.end88 + %41 = load i8*, i8** %path.addr, align 8 + %42 = load i8, i8* %41, align 1 + %conv90 = sext i8 %42 to i32 + %cmp91 = icmp ne i32 %conv90, 0 + br i1 %cmp91, label %land.rhs, label %while.end103 + +land.rhs: ; preds = %while.cond89 + %43 = load i8*, i8** %path.addr, align 8 + %44 = load i8, i8* %43, align 1 + %conv93 = sext i8 %44 to i32 + %cmp94 = icmp ne i32 %conv93, 47 + br i1 %cmp94, label %while.body96, label %while.end103 + +while.body96: ; preds = %land.rhs + %45 = load i8*, i8** %new_path, align 8 + %46 = load i8*, i8** %max_path, align 8 + %cmp97 = icmp ugt i8* %45, %46 + br i1 %cmp97, label %if.then99, label %if.end100 + +if.then99: ; preds = %while.body96 + store i32 36, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end100: ; preds = %while.body96 + %47 = load i8*, i8** %path.addr, align 8 + %incdec.ptr101 = getelementptr inbounds i8, i8* %47, i32 1 + store i8* %incdec.ptr101, i8** %path.addr, align 8 + %48 = load i8, i8* %47, align 1 + %49 = load i8*, i8** %new_path, align 8 + %incdec.ptr102 = getelementptr inbounds i8, i8* %49, i32 1 + store i8* %incdec.ptr102, i8** %new_path, align 8 + store i8 %48, i8* %49, align 1 + br label %while.cond89 + +while.end103: ; preds = %while.cond89, %land.rhs + %50 = load i32, i32* %readlinks, align 4 + %inc = add nsw i32 %50, 1 + store i32 %inc, i32* %readlinks, align 4 + %cmp104 = icmp sgt i32 %50, 32 + br i1 %cmp104, label %if.then106, label %if.end107 + +if.then106: ; preds = %while.end103 + store i32 40, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end107: ; preds = %while.end103 + %51 = load i8*, i8** %path.addr, align 8 + %call108 = call i64 @strlen(i8* %51) #20 + store i64 %call108, i64* %path_len, align 8 + %52 = load i8*, i8** %new_path, align 8 + store i8 0, i8* %52, align 1 + %53 = load i8*, i8** %got_path.addr, align 8 + %arraydecay109 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %call110 = call i64 @readlink(i8* %53, i8* %arraydecay109, i64 4095) #19 + %conv111 = trunc i64 %call110 to i32 + store i32 %conv111, i32* %link_len, align 4 + %54 = load i32, i32* %link_len, align 4 + %cmp112 = icmp slt i32 %54, 0 + br i1 %cmp112, label %if.then114, label %if.else119 + +if.then114: ; preds = %if.end107 + %55 = load i32, i32* @errno, align 4 + %cmp115 = icmp ne i32 %55, 22 + br i1 %cmp115, label %if.then117, label %if.end155 + +if.then117: ; preds = %if.then114 + store i8* null, i8** %retval, align 8 + br label %return + +if.else119: ; preds = %if.end107 + %56 = load i64, i64* %path_len, align 8 + %57 = load i32, i32* %link_len, align 4 + %conv120 = sext i32 %57 to i64 + %add = add i64 %56, %conv120 + %cmp121 = icmp uge i64 %add, 4094 + br i1 %cmp121, label %if.then123, label %if.end124 + +if.then123: ; preds = %if.else119 + store i32 36, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end124: ; preds = %if.else119 + %arraydecay125 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %58 = load i8, i8* %arraydecay125, align 16 + %conv126 = sext i8 %58 to i32 + %cmp127 = icmp eq i32 %conv126, 47 + br i1 %cmp127, label %if.then129, label %while.cond131 + +if.then129: ; preds = %if.end124 + %59 = load i8*, i8** %got_path.addr, align 8 + store i8* %59, i8** %new_path, align 8 + br label %if.end138 + +while.cond131: ; preds = %while.cond131, %if.end124 + %60 = load i8*, i8** %new_path, align 8 + %incdec.ptr132 = getelementptr inbounds i8, i8* %60, i32 -1 + store i8* %incdec.ptr132, i8** %new_path, align 8 + %61 = load i8, i8* %incdec.ptr132, align 1 + %conv133 = sext i8 %61 to i32 + %cmp134 = icmp ne i32 %conv133, 47 + br i1 %cmp134, label %while.cond131, label %if.end138 + +if.end138: ; preds = %while.cond131, %if.then129 + %arraydecay139 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr140 = getelementptr inbounds i8, i8* %arraydecay139, i64 4095 + %62 = load i32, i32* %link_len, align 4 + %idx.ext = sext i32 %62 to i64 + %idx.neg141 = sub i64 0, %idx.ext + %add.ptr142 = getelementptr inbounds i8, i8* %add.ptr140, i64 %idx.neg141 + %63 = load i64, i64* %path_len, align 8 + %idx.neg143 = sub i64 0, %63 + %add.ptr144 = getelementptr inbounds i8, i8* %add.ptr142, i64 %idx.neg143 + %arraydecay145 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %64 = load i32, i32* %link_len, align 4 + %conv146 = sext i32 %64 to i64 + %call147 = call i8* @memmove(i8* %add.ptr144, i8* %arraydecay145, i64 %conv146) #19 + %arraydecay148 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr149 = getelementptr inbounds i8, i8* %arraydecay148, i64 4095 + %65 = load i32, i32* %link_len, align 4 + %idx.ext150 = sext i32 %65 to i64 + %idx.neg151 = sub i64 0, %idx.ext150 + %add.ptr152 = getelementptr inbounds i8, i8* %add.ptr149, i64 %idx.neg151 + %66 = load i64, i64* %path_len, align 8 + %idx.neg153 = sub i64 0, %66 + %add.ptr154 = getelementptr inbounds i8, i8* %add.ptr152, i64 %idx.neg153 + store i8* %add.ptr154, i8** %path.addr, align 8 + br label %if.end155 + +if.end155: ; preds = %if.then114, %if.end138 + %67 = load i8*, i8** %new_path, align 8 + %incdec.ptr156 = getelementptr inbounds i8, i8* %67, i32 1 + store i8* %incdec.ptr156, i8** %new_path, align 8 + store i8 47, i8* %67, align 1 + br label %while.cond + +while.end157: ; preds = %while.cond + %68 = load i8*, i8** %new_path, align 8 + %69 = load i8*, i8** %got_path.addr, align 8 + %add.ptr158 = getelementptr inbounds i8, i8* %69, i64 1 + %cmp159 = icmp ne i8* %68, %add.ptr158 + br i1 %cmp159, label %land.lhs.true, label %if.end167 + +land.lhs.true: ; preds = %while.end157 + %70 = load i8*, i8** %new_path, align 8 + %arrayidx161 = getelementptr inbounds i8, i8* %70, i64 -1 + %71 = load i8, i8* %arrayidx161, align 1 + %conv162 = sext i8 %71 to i32 + %cmp163 = icmp eq i32 %conv162, 47 + br i1 %cmp163, label %if.then165, label %if.end167 + +if.then165: ; preds = %land.lhs.true + %72 = load i8*, i8** %new_path, align 8 + %incdec.ptr166 = getelementptr inbounds i8, i8* %72, i32 -1 + store i8* %incdec.ptr166, i8** %new_path, align 8 + br label %if.end167 + +if.end167: ; preds = %if.then165, %land.lhs.true, %while.end157 + %73 = load i8*, i8** %new_path, align 8 + store i8 0, i8* %73, align 1 + %74 = load i8*, i8** %got_path.addr, align 8 + store i8* %74, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end167, %if.then123, %if.then117, %if.then106, %if.then99, %if.then22, %if.then7, %if.then3, %if.then + %75 = load i8*, i8** %retval, align 8 + ret i8* %75 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @strtoul(i8* noalias nonnull %str, i8** noalias %endptr, i32 %base) #0 { +entry: + %str.addr = alloca i8*, align 8 + %endptr.addr = alloca i8**, align 8 + %base.addr = alloca i32, align 4 + store i8* %str, i8** %str.addr, align 8 + store i8** %endptr, i8*** %endptr.addr, align 8 + store i32 %base, i32* %base.addr, align 4 + %0 = load i8*, i8** %str.addr, align 8 + %1 = load i8**, i8*** %endptr.addr, align 8 + %2 = load i32, i32* %base.addr, align 4 + %call = call i64 @_stdlib_strto_l(i8* %0, i8** %1, i32 %2, i32 0) #18 + ret i64 %call +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @memchr(i8* nonnull %s, i32 %c, i64 %n) #14 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %n.addr = alloca i64, align 8 + %r = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %r, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %1 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %2 = load i8*, i8** %r, align 8 + %3 = load i8, i8* %2, align 1 + %conv = zext i8 %3 to i32 + %4 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %4 to i8 + %conv2 = zext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + %5 = load i8*, i8** %r, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + store i8* %5, i8** %retval, align 8 + br label %return + +if.end: ; preds = %while.body + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %r, align 8 + %6 = load i64, i64* %n.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then + %7 = load i8*, i8** %retval, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @memcmp(i8* nonnull %s1, i8* nonnull %s2, i64 %n) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r1 = alloca i8*, align 8 + %r2 = alloca i8*, align 8 + %r = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %r1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %r2, align 8 + store i32 0, i32* %r, align 4 + br label %while.cond + +while.cond: ; preds = %land.rhs, %entry + %2 = load i64, i64* %n.addr, align 8 + %dec = add i64 %2, -1 + store i64 %dec, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %3 = load i8*, i8** %r1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %r1, align 8 + %4 = load i8, i8* %3, align 1 + %conv = zext i8 %4 to i32 + %5 = load i8*, i8** %r2, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr1, i8** %r2, align 8 + %6 = load i8, i8* %5, align 1 + %conv2 = zext i8 %6 to i32 + %sub = sub nsw i32 %conv, %conv2 + store i32 %sub, i32* %r, align 4 + %cmp = icmp eq i32 %sub, 0 + br i1 %cmp, label %while.cond, label %while.end + +while.end: ; preds = %while.cond, %land.rhs + %7 = load i32, i32* %r, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @strchr(i8* nonnull %s, i32 %c) #14 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %entry + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %2 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %2 to i8 + %conv2 = sext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + %3 = load i8*, i8** %s.addr, align 8 + br i1 %cmp, label %if.then, label %do.cond + +if.then: ; preds = %do.body + store i8* %3, i8** %retval, align 8 + br label %return + +do.cond: ; preds = %do.body + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %s.addr, align 8 + %4 = load i8, i8* %3, align 1 + %tobool = icmp ne i8 %4, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %do.end, %if.then + %5 = load i8*, i8** %retval, align 8 + ret i8* %5 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @strpbrk(i8* nonnull %s1, i8* nonnull %s2) #14 { +entry: + %retval = alloca i8*, align 8 + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc6, %entry + %1 = load i8*, i8** %s, align 8 + %2 = load i8, i8* %1, align 1 + %tobool = icmp ne i8 %2, 0 + br i1 %tobool, label %for.body, label %for.end8 + +for.body: ; preds = %for.cond + %3 = load i8*, i8** %s2.addr, align 8 + store i8* %3, i8** %p, align 8 + br label %for.cond1 + +for.cond1: ; preds = %for.inc, %for.body + %4 = load i8*, i8** %p, align 8 + %5 = load i8, i8* %4, align 1 + %tobool2 = icmp ne i8 %5, 0 + br i1 %tobool2, label %for.body3, label %for.inc6 + +for.body3: ; preds = %for.cond1 + %6 = load i8*, i8** %p, align 8 + %7 = load i8, i8* %6, align 1 + %conv = sext i8 %7 to i32 + %8 = load i8*, i8** %s, align 8 + %9 = load i8, i8* %8, align 1 + %conv4 = sext i8 %9 to i32 + %cmp = icmp eq i32 %conv, %conv4 + br i1 %cmp, label %if.then, label %for.inc + +if.then: ; preds = %for.body3 + %10 = load i8*, i8** %s, align 8 + store i8* %10, i8** %retval, align 8 + br label %return + +for.inc: ; preds = %for.body3 + %11 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %11, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + br label %for.cond1 + +for.inc6: ; preds = %for.cond1 + %12 = load i8*, i8** %s, align 8 + %incdec.ptr7 = getelementptr inbounds i8, i8* %12, i32 1 + store i8* %incdec.ptr7, i8** %s, align 8 + br label %for.cond + +for.end8: ; preds = %for.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %for.end8, %if.then + %13 = load i8*, i8** %retval, align 8 + ret i8* %13 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @strcoll(i8* nonnull %s0, i8* nonnull %s1) #14 { +entry: + %s0.addr = alloca i8*, align 8 + %s1.addr = alloca i8*, align 8 + store i8* %s0, i8** %s0.addr, align 8 + store i8* %s1, i8** %s1.addr, align 8 + %0 = load i8*, i8** %s0.addr, align 8 + %1 = load i8*, i8** %s1.addr, align 8 + %2 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %call = call i32 @strcoll_l(i8* %0, i8* %1, %struct.__uclibc_locale_struct.201* %2) #20 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i64 @strxfrm(i8* noalias %ws1, i8* noalias nonnull %ws2, i64 %n) #0 { +entry: + %ws1.addr = alloca i8*, align 8 + %ws2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + store i8* %ws1, i8** %ws1.addr, align 8 + store i8* %ws2, i8** %ws2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %ws1.addr, align 8 + %1 = load i8*, i8** %ws2.addr, align 8 + %2 = load i64, i64* %n.addr, align 8 + %3 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %call = call i64 @strxfrm_l(i8* %0, i8* %1, i64 %2, %struct.__uclibc_locale_struct.201* %3) #19 + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @tcgetattr(i32 %fd, %struct.termios* %termios_p) #0 { +entry: + %fd.addr = alloca i32, align 4 + %termios_p.addr = alloca %struct.termios*, align 8 + %k_termios = alloca %struct.__kernel_termios, align 4 + %retval1 = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.termios* %termios_p, %struct.termios** %termios_p.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 (i32, i64, ...) @ioctl(i32 %0, i64 21505, %struct.__kernel_termios* %k_termios) #19 + store i32 %call, i32* %retval1, align 4 + %c_iflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 0 + %1 = load i32, i32* %c_iflag, align 4 + %2 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_iflag2 = getelementptr inbounds %struct.termios, %struct.termios* %2, i32 0, i32 0 + store i32 %1, i32* %c_iflag2, align 4 + %c_oflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 1 + %3 = load i32, i32* %c_oflag, align 4 + %4 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_oflag3 = getelementptr inbounds %struct.termios, %struct.termios* %4, i32 0, i32 1 + store i32 %3, i32* %c_oflag3, align 4 + %c_cflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 2 + %5 = load i32, i32* %c_cflag, align 4 + %6 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_cflag4 = getelementptr inbounds %struct.termios, %struct.termios* %6, i32 0, i32 2 + store i32 %5, i32* %c_cflag4, align 4 + %c_lflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 3 + %7 = load i32, i32* %c_lflag, align 4 + %8 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_lflag5 = getelementptr inbounds %struct.termios, %struct.termios* %8, i32 0, i32 3 + store i32 %7, i32* %c_lflag5, align 4 + %c_line = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 4 + %9 = load i8, i8* %c_line, align 4 + %10 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_line6 = getelementptr inbounds %struct.termios, %struct.termios* %10, i32 0, i32 4 + store i8 %9, i8* %c_line6, align 4 + %11 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_cc = getelementptr inbounds %struct.termios, %struct.termios* %11, i32 0, i32 5 + %arrayidx = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc, i64 0, i64 0 + %c_cc7 = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 5 + %arrayidx8 = getelementptr inbounds [19 x i8], [19 x i8]* %c_cc7, i64 0, i64 0 + %call9 = call i8* @mempcpy(i8* %arrayidx, i8* %arrayidx8, i64 19) #19 + %call10 = call i8* @memset(i8* %call9, i32 0, i64 13) #19 + %12 = load i32, i32* %retval1, align 4 + ret i32 %12 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_getopt_internal(i32 %argc, i8** %argv, i8* %optstring, %struct.option* %longopts, i32* %longind, i32 %long_only) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + %longopts.addr = alloca %struct.option*, align 8 + %longind.addr = alloca i32*, align 8 + %long_only.addr = alloca i32, align 4 + %result = alloca i32, align 4 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + store %struct.option* %longopts, %struct.option** %longopts.addr, align 8 + store i32* %longind, i32** %longind.addr, align 8 + store i32 %long_only, i32* %long_only.addr, align 4 + %0 = load i32, i32* @optind, align 4 + store i32 %0, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 0), align 8 + %1 = load i32, i32* @opterr, align 4 + store i32 %1, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 1), align 4 + %2 = load i32, i32* %argc.addr, align 4 + %3 = load i8**, i8*** %argv.addr, align 8 + %4 = load i8*, i8** %optstring.addr, align 8 + %5 = load %struct.option*, %struct.option** %longopts.addr, align 8 + %6 = load i32*, i32** %longind.addr, align 8 + %7 = load i32, i32* %long_only.addr, align 4 + %call = call i32 @_getopt_internal_r(i32 %2, i8** %3, i8* %4, %struct.option* %5, i32* %6, i32 %7, %struct._getopt_data* @getopt_data) #18 + store i32 %call, i32* %result, align 4 + %8 = load i32, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 0), align 8 + store i32 %8, i32* @optind, align 4 + %9 = load i8*, i8** getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 3), align 8 + store i8* %9, i8** @optarg, align 8 + %10 = load i32, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 2), align 8 + store i32 %10, i32* @optopt, align 4 + %11 = load i32, i32* %result, align 4 + ret i32 %11 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_getopt_internal_r(i32 %argc, i8** %argv, i8* %optstring, %struct.option* %longopts, i32* %longind, i32 %long_only, %struct._getopt_data* %d) #0 { +entry: + %retval = alloca i32, align 4 + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + %longopts.addr = alloca %struct.option*, align 8 + %longind.addr = alloca i32*, align 8 + %long_only.addr = alloca i32, align 4 + %d.addr = alloca %struct._getopt_data*, align 8 + %print_errors = alloca i32, align 4 + %nameend = alloca i8*, align 8 + %p = alloca %struct.option*, align 8 + %pfound = alloca %struct.option*, align 8 + %exact = alloca i32, align 4 + %ambig = alloca i32, align 4 + %indfound = alloca i32, align 4 + %option_index = alloca i32, align 4 + %c = alloca i8, align 1 + %temp = alloca i8*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + store %struct.option* %longopts, %struct.option** %longopts.addr, align 8 + store i32* %longind, i32** %longind.addr, align 8 + store i32 %long_only, i32* %long_only.addr, align 4 + store %struct._getopt_data* %d, %struct._getopt_data** %d.addr, align 8 + %0 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %opterr = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %0, i32 0, i32 1 + %1 = load i32, i32* %opterr, align 4 + store i32 %1, i32* %print_errors, align 4 + %2 = load i8*, i8** %optstring.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %2, i64 0 + %3 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %3 to i32 + %cmp = icmp eq i32 %conv, 58 + %spec.store.select = select i1 %cmp, i32 0, i32 %1 + store i32 %spec.store.select, i32* %print_errors, align 4 + %4 = load i32, i32* %argc.addr, align 4 + %cmp2 = icmp slt i32 %4, 1 + br i1 %cmp2, label %if.then4, label %if.end5 + +if.then4: ; preds = %entry + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %entry + %5 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %5, i32 0, i32 3 + store i8* null, i8** %optarg, align 8 + %6 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %6, i32 0, i32 0 + %7 = load i32, i32* %optind, align 8 + %cmp6 = icmp eq i32 %7, 0 + br i1 %cmp6, label %if.then8, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end5 + %8 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__initialized = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %8, i32 0, i32 4 + %9 = load i32, i32* %__initialized, align 8 + %tobool = icmp ne i32 %9, 0 + br i1 %tobool, label %if.end16, label %if.then8 + +if.then8: ; preds = %lor.lhs.false, %if.end5 + %10 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind9 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %10, i32 0, i32 0 + %11 = load i32, i32* %optind9, align 8 + %cmp10 = icmp eq i32 %11, 0 + br i1 %cmp10, label %if.then12, label %if.end14 + +if.then12: ; preds = %if.then8 + %12 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind13 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %12, i32 0, i32 0 + store i32 1, i32* %optind13, align 8 + br label %if.end14 + +if.end14: ; preds = %if.then12, %if.then8 + %13 = load i32, i32* %argc.addr, align 4 + %14 = load i8**, i8*** %argv.addr, align 8 + %15 = load i8*, i8** %optstring.addr, align 8 + %16 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %call = call i8* @_getopt_initialize(i32 %13, i8** %14, i8* %15, %struct._getopt_data* %16) #18 + store i8* %call, i8** %optstring.addr, align 8 + %17 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__initialized15 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %17, i32 0, i32 4 + store i32 1, i32* %__initialized15, align 8 + br label %if.end16 + +if.end16: ; preds = %if.end14, %lor.lhs.false + %18 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %18, i32 0, i32 5 + %19 = load i8*, i8** %__nextchar, align 8 + %cmp17 = icmp eq i8* %19, null + br i1 %cmp17, label %if.then24, label %lor.lhs.false19 + +lor.lhs.false19: ; preds = %if.end16 + %20 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar20 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %20, i32 0, i32 5 + %21 = load i8*, i8** %__nextchar20, align 8 + %22 = load i8, i8* %21, align 1 + %conv21 = sext i8 %22 to i32 + %cmp22 = icmp eq i32 %conv21, 0 + br i1 %cmp22, label %if.then24, label %if.end171 + +if.then24: ; preds = %lor.lhs.false19, %if.end16 + %23 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %23, i32 0, i32 9 + %24 = load i32, i32* %__last_nonopt, align 4 + %25 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind25 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %25, i32 0, i32 0 + %26 = load i32, i32* %optind25, align 8 + %cmp26 = icmp sgt i32 %24, %26 + br i1 %cmp26, label %if.then28, label %if.end31 + +if.then28: ; preds = %if.then24 + %27 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind29 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %27, i32 0, i32 0 + %28 = load i32, i32* %optind29, align 8 + %29 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt30 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %29, i32 0, i32 9 + store i32 %28, i32* %__last_nonopt30, align 4 + br label %if.end31 + +if.end31: ; preds = %if.then28, %if.then24 + %30 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %30, i32 0, i32 8 + %31 = load i32, i32* %__first_nonopt, align 8 + %32 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind32 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %32, i32 0, i32 0 + %33 = load i32, i32* %optind32, align 8 + %cmp33 = icmp sgt i32 %31, %33 + br i1 %cmp33, label %if.then35, label %if.end38 + +if.then35: ; preds = %if.end31 + %34 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind36 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %34, i32 0, i32 0 + %35 = load i32, i32* %optind36, align 8 + %36 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt37 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %36, i32 0, i32 8 + store i32 %35, i32* %__first_nonopt37, align 8 + br label %if.end38 + +if.end38: ; preds = %if.then35, %if.end31 + %37 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %37, i32 0, i32 6 + %38 = load i32, i32* %__ordering, align 8 + %cmp39 = icmp eq i32 %38, 1 + br i1 %cmp39, label %if.then41, label %if.end79 + +if.then41: ; preds = %if.end38 + %39 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt42 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %39, i32 0, i32 8 + %40 = load i32, i32* %__first_nonopt42, align 8 + %41 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt43 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %41, i32 0, i32 9 + %42 = load i32, i32* %__last_nonopt43, align 4 + %cmp44 = icmp ne i32 %40, %42 + br i1 %cmp44, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %if.then41 + %43 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt46 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %43, i32 0, i32 9 + %44 = load i32, i32* %__last_nonopt46, align 4 + %45 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind47 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %45, i32 0, i32 0 + %46 = load i32, i32* %optind47, align 8 + %cmp48 = icmp ne i32 %44, %46 + br i1 %cmp48, label %if.then50, label %if.else + +if.then50: ; preds = %land.lhs.true + %47 = load i8**, i8*** %argv.addr, align 8 + %48 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + call void @exchange(i8** %47, %struct._getopt_data* %48) #18 + br label %if.end59 + +if.else: ; preds = %land.lhs.true, %if.then41 + %49 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt51 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %49, i32 0, i32 9 + %50 = load i32, i32* %__last_nonopt51, align 4 + %51 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind52 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %51, i32 0, i32 0 + %52 = load i32, i32* %optind52, align 8 + %cmp53 = icmp ne i32 %50, %52 + br i1 %cmp53, label %if.then55, label %if.end59 + +if.then55: ; preds = %if.else + %53 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind56 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %53, i32 0, i32 0 + %54 = load i32, i32* %optind56, align 8 + %55 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt57 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %55, i32 0, i32 8 + store i32 %54, i32* %__first_nonopt57, align 8 + br label %if.end59 + +if.end59: ; preds = %if.else, %if.then55, %if.then50 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end59 + %56 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind60 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %56, i32 0, i32 0 + %57 = load i32, i32* %optind60, align 8 + %58 = load i32, i32* %argc.addr, align 4 + %cmp61 = icmp slt i32 %57, %58 + br i1 %cmp61, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %59 = load i8**, i8*** %argv.addr, align 8 + %60 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind63 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %60, i32 0, i32 0 + %61 = load i32, i32* %optind63, align 8 + %idxprom = sext i32 %61 to i64 + %arrayidx64 = getelementptr inbounds i8*, i8** %59, i64 %idxprom + %62 = load i8*, i8** %arrayidx64, align 8 + %arrayidx65 = getelementptr inbounds i8, i8* %62, i64 0 + %63 = load i8, i8* %arrayidx65, align 1 + %conv66 = sext i8 %63 to i32 + %cmp67 = icmp ne i32 %conv66, 45 + br i1 %cmp67, label %land.end, label %lor.rhs + +lor.rhs: ; preds = %land.rhs + %64 = load i8**, i8*** %argv.addr, align 8 + %65 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind69 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %65, i32 0, i32 0 + %66 = load i32, i32* %optind69, align 8 + %idxprom70 = sext i32 %66 to i64 + %arrayidx71 = getelementptr inbounds i8*, i8** %64, i64 %idxprom70 + %67 = load i8*, i8** %arrayidx71, align 8 + %arrayidx72 = getelementptr inbounds i8, i8* %67, i64 1 + %68 = load i8, i8* %arrayidx72, align 1 + %conv73 = sext i8 %68 to i32 + %cmp74 = icmp eq i32 %conv73, 0 + br label %land.end + +land.end: ; preds = %land.rhs, %lor.rhs, %while.cond + %69 = phi i1 [ false, %while.cond ], [ true, %land.rhs ], [ %cmp74, %lor.rhs ] + %70 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind76 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %70, i32 0, i32 0 + %71 = load i32, i32* %optind76, align 8 + br i1 %69, label %while.body, label %while.end + +while.body: ; preds = %land.end + %inc = add nsw i32 %71, 1 + store i32 %inc, i32* %optind76, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %72 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt78 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %72, i32 0, i32 9 + store i32 %71, i32* %__last_nonopt78, align 4 + br label %if.end79 + +if.end79: ; preds = %while.end, %if.end38 + %73 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind80 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %73, i32 0, i32 0 + %74 = load i32, i32* %optind80, align 8 + %75 = load i32, i32* %argc.addr, align 4 + %cmp81 = icmp ne i32 %74, %75 + br i1 %cmp81, label %land.lhs.true83, label %if.end114 + +land.lhs.true83: ; preds = %if.end79 + %76 = load i8**, i8*** %argv.addr, align 8 + %77 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind84 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %77, i32 0, i32 0 + %78 = load i32, i32* %optind84, align 8 + %idxprom85 = sext i32 %78 to i64 + %arrayidx86 = getelementptr inbounds i8*, i8** %76, i64 %idxprom85 + %79 = load i8*, i8** %arrayidx86, align 8 + %call87 = call i32 @strcmp(i8* %79, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.322, i64 0, i64 0)) #20 + %tobool88 = icmp ne i32 %call87, 0 + br i1 %tobool88, label %if.end114, label %if.then89 + +if.then89: ; preds = %land.lhs.true83 + %80 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind90 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %80, i32 0, i32 0 + %81 = load i32, i32* %optind90, align 8 + %inc91 = add nsw i32 %81, 1 + store i32 %inc91, i32* %optind90, align 8 + %82 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt92 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %82, i32 0, i32 8 + %83 = load i32, i32* %__first_nonopt92, align 8 + %84 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt93 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %84, i32 0, i32 9 + %85 = load i32, i32* %__last_nonopt93, align 4 + %cmp94 = icmp ne i32 %83, %85 + br i1 %cmp94, label %land.lhs.true96, label %if.else102 + +land.lhs.true96: ; preds = %if.then89 + %86 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt97 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %86, i32 0, i32 9 + %87 = load i32, i32* %__last_nonopt97, align 4 + %88 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind98 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %88, i32 0, i32 0 + %89 = load i32, i32* %optind98, align 8 + %cmp99 = icmp ne i32 %87, %89 + br i1 %cmp99, label %if.then101, label %if.else102 + +if.then101: ; preds = %land.lhs.true96 + %90 = load i8**, i8*** %argv.addr, align 8 + %91 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + call void @exchange(i8** %90, %struct._getopt_data* %91) #18 + br label %if.end111 + +if.else102: ; preds = %land.lhs.true96, %if.then89 + %92 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt103 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %92, i32 0, i32 8 + %93 = load i32, i32* %__first_nonopt103, align 8 + %94 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt104 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %94, i32 0, i32 9 + %95 = load i32, i32* %__last_nonopt104, align 4 + %cmp105 = icmp eq i32 %93, %95 + br i1 %cmp105, label %if.then107, label %if.end111 + +if.then107: ; preds = %if.else102 + %96 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind108 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %96, i32 0, i32 0 + %97 = load i32, i32* %optind108, align 8 + %98 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt109 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %98, i32 0, i32 8 + store i32 %97, i32* %__first_nonopt109, align 8 + br label %if.end111 + +if.end111: ; preds = %if.else102, %if.then107, %if.then101 + %99 = load i32, i32* %argc.addr, align 4 + %100 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt112 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %100, i32 0, i32 9 + store i32 %99, i32* %__last_nonopt112, align 4 + %101 = load i32, i32* %argc.addr, align 4 + %102 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind113 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %102, i32 0, i32 0 + store i32 %101, i32* %optind113, align 8 + br label %if.end114 + +if.end114: ; preds = %if.end111, %land.lhs.true83, %if.end79 + %103 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind115 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %103, i32 0, i32 0 + %104 = load i32, i32* %optind115, align 8 + %105 = load i32, i32* %argc.addr, align 4 + %cmp116 = icmp eq i32 %104, %105 + br i1 %cmp116, label %if.then118, label %if.end127 + +if.then118: ; preds = %if.end114 + %106 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt119 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %106, i32 0, i32 8 + %107 = load i32, i32* %__first_nonopt119, align 8 + %108 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt120 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %108, i32 0, i32 9 + %109 = load i32, i32* %__last_nonopt120, align 4 + %cmp121 = icmp ne i32 %107, %109 + br i1 %cmp121, label %if.then123, label %if.end126 + +if.then123: ; preds = %if.then118 + %110 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt124 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %110, i32 0, i32 8 + %111 = load i32, i32* %__first_nonopt124, align 8 + %112 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind125 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %112, i32 0, i32 0 + store i32 %111, i32* %optind125, align 8 + br label %if.end126 + +if.end126: ; preds = %if.then123, %if.then118 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end127: ; preds = %if.end114 + %113 = load i8**, i8*** %argv.addr, align 8 + %114 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind128 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %114, i32 0, i32 0 + %115 = load i32, i32* %optind128, align 8 + %idxprom129 = sext i32 %115 to i64 + %arrayidx130 = getelementptr inbounds i8*, i8** %113, i64 %idxprom129 + %116 = load i8*, i8** %arrayidx130, align 8 + %arrayidx131 = getelementptr inbounds i8, i8* %116, i64 0 + %117 = load i8, i8* %arrayidx131, align 1 + %conv132 = sext i8 %117 to i32 + %cmp133 = icmp ne i32 %conv132, 45 + br i1 %cmp133, label %if.then143, label %lor.lhs.false135 + +lor.lhs.false135: ; preds = %if.end127 + %118 = load i8**, i8*** %argv.addr, align 8 + %119 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind136 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %119, i32 0, i32 0 + %120 = load i32, i32* %optind136, align 8 + %idxprom137 = sext i32 %120 to i64 + %arrayidx138 = getelementptr inbounds i8*, i8** %118, i64 %idxprom137 + %121 = load i8*, i8** %arrayidx138, align 8 + %arrayidx139 = getelementptr inbounds i8, i8* %121, i64 1 + %122 = load i8, i8* %arrayidx139, align 1 + %conv140 = sext i8 %122 to i32 + %cmp141 = icmp eq i32 %conv140, 0 + br i1 %cmp141, label %if.then143, label %if.end154 + +if.then143: ; preds = %lor.lhs.false135, %if.end127 + %123 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering144 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %123, i32 0, i32 6 + %124 = load i32, i32* %__ordering144, align 8 + %cmp145 = icmp eq i32 %124, 0 + br i1 %cmp145, label %if.then147, label %if.end148 + +if.then147: ; preds = %if.then143 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end148: ; preds = %if.then143 + %125 = load i8**, i8*** %argv.addr, align 8 + %126 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind149 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %126, i32 0, i32 0 + %127 = load i32, i32* %optind149, align 8 + %inc150 = add nsw i32 %127, 1 + store i32 %inc150, i32* %optind149, align 8 + %idxprom151 = sext i32 %127 to i64 + %arrayidx152 = getelementptr inbounds i8*, i8** %125, i64 %idxprom151 + %128 = load i8*, i8** %arrayidx152, align 8 + %129 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg153 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %129, i32 0, i32 3 + store i8* %128, i8** %optarg153, align 8 + store i32 1, i32* %retval, align 4 + br label %return + +if.end154: ; preds = %lor.lhs.false135 + %130 = load i8**, i8*** %argv.addr, align 8 + %131 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind155 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %131, i32 0, i32 0 + %132 = load i32, i32* %optind155, align 8 + %idxprom156 = sext i32 %132 to i64 + %arrayidx157 = getelementptr inbounds i8*, i8** %130, i64 %idxprom156 + %133 = load i8*, i8** %arrayidx157, align 8 + %add.ptr = getelementptr inbounds i8, i8* %133, i64 1 + %134 = load %struct.option*, %struct.option** %longopts.addr, align 8 + %cmp158 = icmp ne %struct.option* %134, null + br i1 %cmp158, label %land.rhs160, label %land.end168 + +land.rhs160: ; preds = %if.end154 + %135 = load i8**, i8*** %argv.addr, align 8 + %136 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind161 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %136, i32 0, i32 0 + %137 = load i32, i32* %optind161, align 8 + %idxprom162 = sext i32 %137 to i64 + %arrayidx163 = getelementptr inbounds i8*, i8** %135, i64 %idxprom162 + %138 = load i8*, i8** %arrayidx163, align 8 + %arrayidx164 = getelementptr inbounds i8, i8* %138, i64 1 + %139 = load i8, i8* %arrayidx164, align 1 + %conv165 = sext i8 %139 to i32 + %cmp166 = icmp eq i32 %conv165, 45 + br label %land.end168 + +land.end168: ; preds = %land.rhs160, %if.end154 + %140 = phi i1 [ false, %if.end154 ], [ %cmp166, %land.rhs160 ] + %land.ext = zext i1 %140 to i32 + %idx.ext = sext i32 %land.ext to i64 + %add.ptr169 = getelementptr inbounds i8, i8* %add.ptr, i64 %idx.ext + %141 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar170 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %141, i32 0, i32 5 + store i8* %add.ptr169, i8** %__nextchar170, align 8 + br label %if.end171 + +if.end171: ; preds = %land.end168, %lor.lhs.false19 + %142 = load %struct.option*, %struct.option** %longopts.addr, align 8 + %cmp172 = icmp ne %struct.option* %142, null + br i1 %cmp172, label %land.lhs.true174, label %if.end418 + +land.lhs.true174: ; preds = %if.end171 + %143 = load i8**, i8*** %argv.addr, align 8 + %144 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind175 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %144, i32 0, i32 0 + %145 = load i32, i32* %optind175, align 8 + %idxprom176 = sext i32 %145 to i64 + %arrayidx177 = getelementptr inbounds i8*, i8** %143, i64 %idxprom176 + %146 = load i8*, i8** %arrayidx177, align 8 + %arrayidx178 = getelementptr inbounds i8, i8* %146, i64 1 + %147 = load i8, i8* %arrayidx178, align 1 + %conv179 = sext i8 %147 to i32 + %cmp180 = icmp eq i32 %conv179, 45 + br i1 %cmp180, label %if.then199, label %lor.lhs.false182 + +lor.lhs.false182: ; preds = %land.lhs.true174 + %148 = load i32, i32* %long_only.addr, align 4 + %tobool183 = icmp ne i32 %148, 0 + br i1 %tobool183, label %land.lhs.true184, label %if.end418 + +land.lhs.true184: ; preds = %lor.lhs.false182 + %149 = load i8**, i8*** %argv.addr, align 8 + %150 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind185 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %150, i32 0, i32 0 + %151 = load i32, i32* %optind185, align 8 + %idxprom186 = sext i32 %151 to i64 + %arrayidx187 = getelementptr inbounds i8*, i8** %149, i64 %idxprom186 + %152 = load i8*, i8** %arrayidx187, align 8 + %arrayidx188 = getelementptr inbounds i8, i8* %152, i64 2 + %153 = load i8, i8* %arrayidx188, align 1 + %conv189 = sext i8 %153 to i32 + %tobool190 = icmp ne i32 %conv189, 0 + br i1 %tobool190, label %if.then199, label %lor.lhs.false191 + +lor.lhs.false191: ; preds = %land.lhs.true184 + %154 = load i8*, i8** %optstring.addr, align 8 + %155 = load i8**, i8*** %argv.addr, align 8 + %156 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind192 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %156, i32 0, i32 0 + %157 = load i32, i32* %optind192, align 8 + %idxprom193 = sext i32 %157 to i64 + %arrayidx194 = getelementptr inbounds i8*, i8** %155, i64 %idxprom193 + %158 = load i8*, i8** %arrayidx194, align 8 + %arrayidx195 = getelementptr inbounds i8, i8* %158, i64 1 + %159 = load i8, i8* %arrayidx195, align 1 + %conv196 = sext i8 %159 to i32 + %call197 = call i8* @strchr(i8* %154, i32 %conv196) #20 + %tobool198 = icmp ne i8* %call197, null + br i1 %tobool198, label %if.end418, label %if.then199 + +if.then199: ; preds = %lor.lhs.false191, %land.lhs.true184, %land.lhs.true174 + store %struct.option* null, %struct.option** %pfound, align 8 + store i32 0, i32* %exact, align 4 + store i32 0, i32* %ambig, align 4 + store i32 -1, i32* %indfound, align 4 + %160 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar200 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %160, i32 0, i32 5 + %161 = load i8*, i8** %__nextchar200, align 8 + store i8* %161, i8** %nameend, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.then199 + %162 = load i8*, i8** %nameend, align 8 + %163 = load i8, i8* %162, align 1 + %conv201 = sext i8 %163 to i32 + %tobool202 = icmp ne i32 %conv201, 0 + br i1 %tobool202, label %land.rhs203, label %for.end + +land.rhs203: ; preds = %for.cond + %164 = load i8*, i8** %nameend, align 8 + %165 = load i8, i8* %164, align 1 + %conv204 = sext i8 %165 to i32 + %cmp205 = icmp ne i32 %conv204, 61 + br i1 %cmp205, label %for.inc, label %for.end + +for.inc: ; preds = %land.rhs203 + %166 = load i8*, i8** %nameend, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %166, i32 1 + store i8* %incdec.ptr, i8** %nameend, align 8 + br label %for.cond + +for.end: ; preds = %for.cond, %land.rhs203 + %167 = load %struct.option*, %struct.option** %longopts.addr, align 8 + store %struct.option* %167, %struct.option** %p, align 8 + store i32 0, i32* %option_index, align 4 + br label %for.cond209 + +for.cond209: ; preds = %for.inc252, %for.end + %168 = load %struct.option*, %struct.option** %p, align 8 + %name = getelementptr inbounds %struct.option, %struct.option* %168, i32 0, i32 0 + %169 = load i8*, i8** %name, align 8 + %tobool210 = icmp ne i8* %169, null + br i1 %tobool210, label %for.body211, label %for.end255 + +for.body211: ; preds = %for.cond209 + %170 = load %struct.option*, %struct.option** %p, align 8 + %name212 = getelementptr inbounds %struct.option, %struct.option* %170, i32 0, i32 0 + %171 = load i8*, i8** %name212, align 8 + %172 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar213 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %172, i32 0, i32 5 + %173 = load i8*, i8** %__nextchar213, align 8 + %174 = load i8*, i8** %nameend, align 8 + %175 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar214 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %175, i32 0, i32 5 + %176 = load i8*, i8** %__nextchar214, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %174 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %176 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %call215 = call i32 @strncmp(i8* %171, i8* %173, i64 %sub.ptr.sub) #20 + %tobool216 = icmp ne i32 %call215, 0 + br i1 %tobool216, label %for.inc252, label %if.then217 + +if.then217: ; preds = %for.body211 + %177 = load i8*, i8** %nameend, align 8 + %178 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar218 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %178, i32 0, i32 5 + %179 = load i8*, i8** %__nextchar218, align 8 + %sub.ptr.lhs.cast219 = ptrtoint i8* %177 to i64 + %sub.ptr.rhs.cast220 = ptrtoint i8* %179 to i64 + %sub.ptr.sub221 = sub i64 %sub.ptr.lhs.cast219, %sub.ptr.rhs.cast220 + %conv222 = trunc i64 %sub.ptr.sub221 to i32 + %180 = load %struct.option*, %struct.option** %p, align 8 + %name223 = getelementptr inbounds %struct.option, %struct.option* %180, i32 0, i32 0 + %181 = load i8*, i8** %name223, align 8 + %call224 = call i64 @strlen(i8* %181) #20 + %conv225 = trunc i64 %call224 to i32 + %cmp226 = icmp eq i32 %conv222, %conv225 + br i1 %cmp226, label %if.then228, label %if.else229 + +if.then228: ; preds = %if.then217 + %182 = load %struct.option*, %struct.option** %p, align 8 + store %struct.option* %182, %struct.option** %pfound, align 8 + %183 = load i32, i32* %option_index, align 4 + store i32 %183, i32* %indfound, align 4 + store i32 1, i32* %exact, align 4 + br label %for.end255 + +if.else229: ; preds = %if.then217 + %184 = load %struct.option*, %struct.option** %pfound, align 8 + %cmp230 = icmp eq %struct.option* %184, null + br i1 %cmp230, label %if.then232, label %if.else233 + +if.then232: ; preds = %if.else229 + %185 = load %struct.option*, %struct.option** %p, align 8 + store %struct.option* %185, %struct.option** %pfound, align 8 + %186 = load i32, i32* %option_index, align 4 + store i32 %186, i32* %indfound, align 4 + br label %for.inc252 + +if.else233: ; preds = %if.else229 + %187 = load i32, i32* %long_only.addr, align 4 + %tobool234 = icmp ne i32 %187, 0 + br i1 %tobool234, label %if.then247, label %lor.lhs.false235 + +lor.lhs.false235: ; preds = %if.else233 + %188 = load %struct.option*, %struct.option** %pfound, align 8 + %has_arg = getelementptr inbounds %struct.option, %struct.option* %188, i32 0, i32 1 + %189 = load i32, i32* %has_arg, align 8 + %190 = load %struct.option*, %struct.option** %p, align 8 + %has_arg236 = getelementptr inbounds %struct.option, %struct.option* %190, i32 0, i32 1 + %191 = load i32, i32* %has_arg236, align 8 + %cmp237 = icmp ne i32 %189, %191 + br i1 %cmp237, label %if.then247, label %lor.lhs.false239 + +lor.lhs.false239: ; preds = %lor.lhs.false235 + %192 = load %struct.option*, %struct.option** %pfound, align 8 + %flag = getelementptr inbounds %struct.option, %struct.option* %192, i32 0, i32 2 + %193 = load i32*, i32** %flag, align 8 + %194 = load %struct.option*, %struct.option** %p, align 8 + %flag240 = getelementptr inbounds %struct.option, %struct.option* %194, i32 0, i32 2 + %195 = load i32*, i32** %flag240, align 8 + %cmp241 = icmp ne i32* %193, %195 + br i1 %cmp241, label %if.then247, label %lor.lhs.false243 + +lor.lhs.false243: ; preds = %lor.lhs.false239 + %196 = load %struct.option*, %struct.option** %pfound, align 8 + %val = getelementptr inbounds %struct.option, %struct.option* %196, i32 0, i32 3 + %197 = load i32, i32* %val, align 8 + %198 = load %struct.option*, %struct.option** %p, align 8 + %val244 = getelementptr inbounds %struct.option, %struct.option* %198, i32 0, i32 3 + %199 = load i32, i32* %val244, align 8 + %cmp245 = icmp ne i32 %197, %199 + br i1 %cmp245, label %if.then247, label %for.inc252 + +if.then247: ; preds = %lor.lhs.false243, %lor.lhs.false239, %lor.lhs.false235, %if.else233 + store i32 1, i32* %ambig, align 4 + br label %for.inc252 + +for.inc252: ; preds = %for.body211, %if.then232, %if.then247, %lor.lhs.false243 + %200 = load %struct.option*, %struct.option** %p, align 8 + %incdec.ptr253 = getelementptr inbounds %struct.option, %struct.option* %200, i32 1 + store %struct.option* %incdec.ptr253, %struct.option** %p, align 8 + %201 = load i32, i32* %option_index, align 4 + %inc254 = add nsw i32 %201, 1 + store i32 %inc254, i32* %option_index, align 4 + br label %for.cond209 + +for.end255: ; preds = %if.then228, %for.cond209 + %202 = load i32, i32* %ambig, align 4 + %tobool256 = icmp eq i32 %202, 0 + %203 = load i32, i32* %exact, align 4 + %tobool258 = icmp ne i32 %203, 0 + %or.cond = or i1 %tobool256, %tobool258 + br i1 %or.cond, label %if.end274, label %if.then259 + +if.then259: ; preds = %for.end255 + %204 = load i32, i32* %print_errors, align 4 + %tobool260 = icmp ne i32 %204, 0 + br i1 %tobool260, label %if.then261, label %if.end267 + +if.then261: ; preds = %if.then259 + %205 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %206 = load i8**, i8*** %argv.addr, align 8 + %arrayidx262 = getelementptr inbounds i8*, i8** %206, i64 0 + %207 = load i8*, i8** %arrayidx262, align 8 + %208 = load i8**, i8*** %argv.addr, align 8 + %209 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind263 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %209, i32 0, i32 0 + %210 = load i32, i32* %optind263, align 8 + %idxprom264 = sext i32 %210 to i64 + %arrayidx265 = getelementptr inbounds i8*, i8** %208, i64 %idxprom264 + %211 = load i8*, i8** %arrayidx265, align 8 + %call266 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %205, i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.1.323, i64 0, i64 0), i8* %207, i8* %211) #18 + br label %if.end267 + +if.end267: ; preds = %if.then261, %if.then259 + %212 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar268 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %212, i32 0, i32 5 + %213 = load i8*, i8** %__nextchar268, align 8 + %call269 = call i64 @strlen(i8* %213) #20 + %214 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar270 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %214, i32 0, i32 5 + %215 = load i8*, i8** %__nextchar270, align 8 + %add.ptr271 = getelementptr inbounds i8, i8* %215, i64 %call269 + store i8* %add.ptr271, i8** %__nextchar270, align 8 + %216 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind272 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %216, i32 0, i32 0 + %217 = load i32, i32* %optind272, align 8 + %inc273 = add nsw i32 %217, 1 + store i32 %inc273, i32* %optind272, align 8 + %218 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %218, i32 0, i32 2 + store i32 0, i32* %optopt, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.end274: ; preds = %for.end255 + %219 = load %struct.option*, %struct.option** %pfound, align 8 + %cmp275 = icmp ne %struct.option* %219, null + br i1 %cmp275, label %if.then277, label %if.end372 + +if.then277: ; preds = %if.end274 + %220 = load i32, i32* %indfound, align 4 + store i32 %220, i32* %option_index, align 4 + %221 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind278 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %221, i32 0, i32 0 + %222 = load i32, i32* %optind278, align 8 + %inc279 = add nsw i32 %222, 1 + store i32 %inc279, i32* %optind278, align 8 + %223 = load i8*, i8** %nameend, align 8 + %224 = load i8, i8* %223, align 1 + %tobool280 = icmp ne i8 %224, 0 + %225 = load %struct.option*, %struct.option** %pfound, align 8 + %has_arg282 = getelementptr inbounds %struct.option, %struct.option* %225, i32 0, i32 1 + %226 = load i32, i32* %has_arg282, align 8 + br i1 %tobool280, label %if.then281, label %if.else320 + +if.then281: ; preds = %if.then277 + %tobool283 = icmp ne i32 %226, 0 + br i1 %tobool283, label %if.then284, label %if.else287 + +if.then284: ; preds = %if.then281 + %227 = load i8*, i8** %nameend, align 8 + %add.ptr285 = getelementptr inbounds i8, i8* %227, i64 1 + %228 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg286 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %228, i32 0, i32 3 + store i8* %add.ptr285, i8** %optarg286, align 8 + br label %if.end356 + +if.else287: ; preds = %if.then281 + %229 = load i32, i32* %print_errors, align 4 + %tobool288 = icmp ne i32 %229, 0 + br i1 %tobool288, label %if.then289, label %if.end312 + +if.then289: ; preds = %if.else287 + %230 = load i8**, i8*** %argv.addr, align 8 + %231 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind290 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %231, i32 0, i32 0 + %232 = load i32, i32* %optind290, align 8 + %sub = sub nsw i32 %232, 1 + %idxprom291 = sext i32 %sub to i64 + %arrayidx292 = getelementptr inbounds i8*, i8** %230, i64 %idxprom291 + %233 = load i8*, i8** %arrayidx292, align 8 + %arrayidx293 = getelementptr inbounds i8, i8* %233, i64 1 + %234 = load i8, i8* %arrayidx293, align 1 + %conv294 = sext i8 %234 to i32 + %cmp295 = icmp eq i32 %conv294, 45 + %235 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %236 = load i8**, i8*** %argv.addr, align 8 + %arrayidx298 = getelementptr inbounds i8*, i8** %236, i64 0 + %237 = load i8*, i8** %arrayidx298, align 8 + br i1 %cmp295, label %if.then297, label %if.else301 + +if.then297: ; preds = %if.then289 + %238 = load %struct.option*, %struct.option** %pfound, align 8 + %name299 = getelementptr inbounds %struct.option, %struct.option* %238, i32 0, i32 0 + %239 = load i8*, i8** %name299, align 8 + %call300 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %235, i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.2.324, i64 0, i64 0), i8* %237, i8* %239) #18 + br label %if.end312 + +if.else301: ; preds = %if.then289 + %240 = load i8**, i8*** %argv.addr, align 8 + %241 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind303 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %241, i32 0, i32 0 + %242 = load i32, i32* %optind303, align 8 + %sub304 = sub nsw i32 %242, 1 + %idxprom305 = sext i32 %sub304 to i64 + %arrayidx306 = getelementptr inbounds i8*, i8** %240, i64 %idxprom305 + %243 = load i8*, i8** %arrayidx306, align 8 + %arrayidx307 = getelementptr inbounds i8, i8* %243, i64 0 + %244 = load i8, i8* %arrayidx307, align 1 + %conv308 = sext i8 %244 to i32 + %245 = load %struct.option*, %struct.option** %pfound, align 8 + %name309 = getelementptr inbounds %struct.option, %struct.option* %245, i32 0, i32 0 + %246 = load i8*, i8** %name309, align 8 + %call310 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %235, i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.3.325, i64 0, i64 0), i8* %237, i32 %conv308, i8* %246) #18 + br label %if.end312 + +if.end312: ; preds = %if.then297, %if.else301, %if.else287 + %247 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar313 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %247, i32 0, i32 5 + %248 = load i8*, i8** %__nextchar313, align 8 + %call314 = call i64 @strlen(i8* %248) #20 + %249 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar315 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %249, i32 0, i32 5 + %250 = load i8*, i8** %__nextchar315, align 8 + %add.ptr316 = getelementptr inbounds i8, i8* %250, i64 %call314 + store i8* %add.ptr316, i8** %__nextchar315, align 8 + %251 = load %struct.option*, %struct.option** %pfound, align 8 + %val317 = getelementptr inbounds %struct.option, %struct.option* %251, i32 0, i32 3 + %252 = load i32, i32* %val317, align 8 + %253 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt318 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %253, i32 0, i32 2 + store i32 %252, i32* %optopt318, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.else320: ; preds = %if.then277 + %cmp322 = icmp eq i32 %226, 1 + br i1 %cmp322, label %if.then324, label %if.end356 + +if.then324: ; preds = %if.else320 + %254 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind325 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %254, i32 0, i32 0 + %255 = load i32, i32* %optind325, align 8 + %256 = load i32, i32* %argc.addr, align 4 + %cmp326 = icmp slt i32 %255, %256 + br i1 %cmp326, label %if.then328, label %if.else334 + +if.then328: ; preds = %if.then324 + %257 = load i8**, i8*** %argv.addr, align 8 + %258 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind329 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %258, i32 0, i32 0 + %259 = load i32, i32* %optind329, align 8 + %inc330 = add nsw i32 %259, 1 + store i32 %inc330, i32* %optind329, align 8 + %idxprom331 = sext i32 %259 to i64 + %arrayidx332 = getelementptr inbounds i8*, i8** %257, i64 %idxprom331 + %260 = load i8*, i8** %arrayidx332, align 8 + %261 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg333 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %261, i32 0, i32 3 + store i8* %260, i8** %optarg333, align 8 + br label %if.end356 + +if.else334: ; preds = %if.then324 + %262 = load i32, i32* %print_errors, align 4 + %tobool335 = icmp ne i32 %262, 0 + br i1 %tobool335, label %if.then336, label %if.end343 + +if.then336: ; preds = %if.else334 + %263 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %264 = load i8**, i8*** %argv.addr, align 8 + %arrayidx337 = getelementptr inbounds i8*, i8** %264, i64 0 + %265 = load i8*, i8** %arrayidx337, align 8 + %266 = load i8**, i8*** %argv.addr, align 8 + %267 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind338 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %267, i32 0, i32 0 + %268 = load i32, i32* %optind338, align 8 + %sub339 = sub nsw i32 %268, 1 + %idxprom340 = sext i32 %sub339 to i64 + %arrayidx341 = getelementptr inbounds i8*, i8** %266, i64 %idxprom340 + %269 = load i8*, i8** %arrayidx341, align 8 + %call342 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %263, i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.4.326, i64 0, i64 0), i8* %265, i8* %269) #18 + br label %if.end343 + +if.end343: ; preds = %if.then336, %if.else334 + %270 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar344 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %270, i32 0, i32 5 + %271 = load i8*, i8** %__nextchar344, align 8 + %call345 = call i64 @strlen(i8* %271) #20 + %272 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar346 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %272, i32 0, i32 5 + %273 = load i8*, i8** %__nextchar346, align 8 + %add.ptr347 = getelementptr inbounds i8, i8* %273, i64 %call345 + store i8* %add.ptr347, i8** %__nextchar346, align 8 + %274 = load %struct.option*, %struct.option** %pfound, align 8 + %val348 = getelementptr inbounds %struct.option, %struct.option* %274, i32 0, i32 3 + %275 = load i32, i32* %val348, align 8 + %276 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt349 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %276, i32 0, i32 2 + store i32 %275, i32* %optopt349, align 8 + %277 = load i8*, i8** %optstring.addr, align 8 + %arrayidx350 = getelementptr inbounds i8, i8* %277, i64 0 + %278 = load i8, i8* %arrayidx350, align 1 + %conv351 = sext i8 %278 to i32 + %cmp352 = icmp eq i32 %conv351, 58 + %279 = zext i1 %cmp352 to i64 + %cond = select i1 %cmp352, i32 58, i32 63 + store i32 %cond, i32* %retval, align 4 + br label %return + +if.end356: ; preds = %if.else320, %if.then328, %if.then284 + %280 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar357 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %280, i32 0, i32 5 + %281 = load i8*, i8** %__nextchar357, align 8 + %call358 = call i64 @strlen(i8* %281) #20 + %282 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar359 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %282, i32 0, i32 5 + %283 = load i8*, i8** %__nextchar359, align 8 + %add.ptr360 = getelementptr inbounds i8, i8* %283, i64 %call358 + store i8* %add.ptr360, i8** %__nextchar359, align 8 + %284 = load i32*, i32** %longind.addr, align 8 + %cmp361 = icmp ne i32* %284, null + br i1 %cmp361, label %if.then363, label %if.end364 + +if.then363: ; preds = %if.end356 + %285 = load i32, i32* %option_index, align 4 + %286 = load i32*, i32** %longind.addr, align 8 + store i32 %285, i32* %286, align 4 + br label %if.end364 + +if.end364: ; preds = %if.then363, %if.end356 + %287 = load %struct.option*, %struct.option** %pfound, align 8 + %flag365 = getelementptr inbounds %struct.option, %struct.option* %287, i32 0, i32 2 + %288 = load i32*, i32** %flag365, align 8 + %tobool366 = icmp ne i32* %288, null + %289 = load %struct.option*, %struct.option** %pfound, align 8 + %val368 = getelementptr inbounds %struct.option, %struct.option* %289, i32 0, i32 3 + %290 = load i32, i32* %val368, align 8 + br i1 %tobool366, label %if.then367, label %if.end370 + +if.then367: ; preds = %if.end364 + %291 = load %struct.option*, %struct.option** %pfound, align 8 + %flag369 = getelementptr inbounds %struct.option, %struct.option* %291, i32 0, i32 2 + %292 = load i32*, i32** %flag369, align 8 + store i32 %290, i32* %292, align 4 + store i32 0, i32* %retval, align 4 + br label %return + +if.end370: ; preds = %if.end364 + store i32 %290, i32* %retval, align 4 + br label %return + +if.end372: ; preds = %if.end274 + %293 = load i32, i32* %long_only.addr, align 4 + %tobool373 = icmp ne i32 %293, 0 + br i1 %tobool373, label %lor.lhs.false374, label %if.then388 + +lor.lhs.false374: ; preds = %if.end372 + %294 = load i8**, i8*** %argv.addr, align 8 + %295 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind375 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %295, i32 0, i32 0 + %296 = load i32, i32* %optind375, align 8 + %idxprom376 = sext i32 %296 to i64 + %arrayidx377 = getelementptr inbounds i8*, i8** %294, i64 %idxprom376 + %297 = load i8*, i8** %arrayidx377, align 8 + %arrayidx378 = getelementptr inbounds i8, i8* %297, i64 1 + %298 = load i8, i8* %arrayidx378, align 1 + %conv379 = sext i8 %298 to i32 + %cmp380 = icmp eq i32 %conv379, 45 + br i1 %cmp380, label %if.then388, label %lor.lhs.false382 + +lor.lhs.false382: ; preds = %lor.lhs.false374 + %299 = load i8*, i8** %optstring.addr, align 8 + %300 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar383 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %300, i32 0, i32 5 + %301 = load i8*, i8** %__nextchar383, align 8 + %302 = load i8, i8* %301, align 1 + %conv384 = sext i8 %302 to i32 + %call385 = call i8* @strchr(i8* %299, i32 %conv384) #20 + %cmp386 = icmp eq i8* %call385, null + br i1 %cmp386, label %if.then388, label %if.end418 + +if.then388: ; preds = %lor.lhs.false382, %lor.lhs.false374, %if.end372 + %303 = load i32, i32* %print_errors, align 4 + %tobool389 = icmp ne i32 %303, 0 + br i1 %tobool389, label %if.then390, label %if.end412 + +if.then390: ; preds = %if.then388 + %304 = load i8**, i8*** %argv.addr, align 8 + %305 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind391 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %305, i32 0, i32 0 + %306 = load i32, i32* %optind391, align 8 + %idxprom392 = sext i32 %306 to i64 + %arrayidx393 = getelementptr inbounds i8*, i8** %304, i64 %idxprom392 + %307 = load i8*, i8** %arrayidx393, align 8 + %arrayidx394 = getelementptr inbounds i8, i8* %307, i64 1 + %308 = load i8, i8* %arrayidx394, align 1 + %conv395 = sext i8 %308 to i32 + %cmp396 = icmp eq i32 %conv395, 45 + %309 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %310 = load i8**, i8*** %argv.addr, align 8 + %arrayidx399 = getelementptr inbounds i8*, i8** %310, i64 0 + %311 = load i8*, i8** %arrayidx399, align 8 + br i1 %cmp396, label %if.then398, label %if.else402 + +if.then398: ; preds = %if.then390 + %312 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar400 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %312, i32 0, i32 5 + %313 = load i8*, i8** %__nextchar400, align 8 + %call401 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %309, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.5.327, i64 0, i64 0), i8* %311, i8* %313) #18 + br label %if.end412 + +if.else402: ; preds = %if.then390 + %314 = load i8**, i8*** %argv.addr, align 8 + %315 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind404 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %315, i32 0, i32 0 + %316 = load i32, i32* %optind404, align 8 + %idxprom405 = sext i32 %316 to i64 + %arrayidx406 = getelementptr inbounds i8*, i8** %314, i64 %idxprom405 + %317 = load i8*, i8** %arrayidx406, align 8 + %arrayidx407 = getelementptr inbounds i8, i8* %317, i64 0 + %318 = load i8, i8* %arrayidx407, align 1 + %conv408 = sext i8 %318 to i32 + %319 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar409 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %319, i32 0, i32 5 + %320 = load i8*, i8** %__nextchar409, align 8 + %call410 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %309, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.6.328, i64 0, i64 0), i8* %311, i32 %conv408, i8* %320) #18 + br label %if.end412 + +if.end412: ; preds = %if.then398, %if.else402, %if.then388 + %321 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar413 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %321, i32 0, i32 5 + store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.7.329, i64 0, i64 0), i8** %__nextchar413, align 8 + %322 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind414 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %322, i32 0, i32 0 + %323 = load i32, i32* %optind414, align 8 + %inc415 = add nsw i32 %323, 1 + store i32 %inc415, i32* %optind414, align 8 + %324 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt416 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %324, i32 0, i32 2 + store i32 0, i32* %optopt416, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.end418: ; preds = %lor.lhs.false382, %lor.lhs.false191, %lor.lhs.false182, %if.end171 + %325 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar419 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %325, i32 0, i32 5 + %326 = load i8*, i8** %__nextchar419, align 8 + %incdec.ptr420 = getelementptr inbounds i8, i8* %326, i32 1 + store i8* %incdec.ptr420, i8** %__nextchar419, align 8 + %327 = load i8, i8* %326, align 1 + store i8 %327, i8* %c, align 1 + %328 = load i8*, i8** %optstring.addr, align 8 + %329 = load i8, i8* %c, align 1 + %conv421 = sext i8 %329 to i32 + %call422 = call i8* @strchr(i8* %328, i32 %conv421) #20 + store i8* %call422, i8** %temp, align 8 + %330 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar423 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %330, i32 0, i32 5 + %331 = load i8*, i8** %__nextchar423, align 8 + %332 = load i8, i8* %331, align 1 + %conv424 = sext i8 %332 to i32 + %cmp425 = icmp eq i32 %conv424, 0 + br i1 %cmp425, label %if.then427, label %if.end430 + +if.then427: ; preds = %if.end418 + %333 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind428 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %333, i32 0, i32 0 + %334 = load i32, i32* %optind428, align 8 + %inc429 = add nsw i32 %334, 1 + store i32 %inc429, i32* %optind428, align 8 + br label %if.end430 + +if.end430: ; preds = %if.then427, %if.end418 + %335 = load i8*, i8** %temp, align 8 + %cmp431 = icmp eq i8* %335, null + br i1 %cmp431, label %if.then437, label %lor.lhs.false433 + +lor.lhs.false433: ; preds = %if.end430 + %336 = load i8, i8* %c, align 1 + %conv434 = sext i8 %336 to i32 + %cmp435 = icmp eq i32 %conv434, 58 + br i1 %cmp435, label %if.then437, label %if.end453 + +if.then437: ; preds = %lor.lhs.false433, %if.end430 + %337 = load i32, i32* %print_errors, align 4 + %tobool438 = icmp ne i32 %337, 0 + br i1 %tobool438, label %if.then439, label %if.end450 + +if.then439: ; preds = %if.then437 + %338 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__posixly_correct = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %338, i32 0, i32 7 + %339 = load i32, i32* %__posixly_correct, align 4 + %tobool440 = icmp ne i32 %339, 0 + %340 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %341 = load i8**, i8*** %argv.addr, align 8 + %arrayidx442 = getelementptr inbounds i8*, i8** %341, i64 0 + %342 = load i8*, i8** %arrayidx442, align 8 + %343 = load i8, i8* %c, align 1 + %conv443 = sext i8 %343 to i32 + br i1 %tobool440, label %if.then441, label %if.else445 + +if.then441: ; preds = %if.then439 + %call444 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %340, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.8.330, i64 0, i64 0), i8* %342, i32 %conv443) #18 + br label %if.end450 + +if.else445: ; preds = %if.then439 + %call448 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %340, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.9.331, i64 0, i64 0), i8* %342, i32 %conv443) #18 + br label %if.end450 + +if.end450: ; preds = %if.then441, %if.else445, %if.then437 + %344 = load i8, i8* %c, align 1 + %conv451 = sext i8 %344 to i32 + %345 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt452 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %345, i32 0, i32 2 + store i32 %conv451, i32* %optopt452, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.end453: ; preds = %lor.lhs.false433 + %346 = load i8*, i8** %temp, align 8 + %arrayidx454 = getelementptr inbounds i8, i8* %346, i64 1 + %347 = load i8, i8* %arrayidx454, align 1 + %conv455 = sext i8 %347 to i32 + %cmp456 = icmp eq i32 %conv455, 58 + br i1 %cmp456, label %if.then458, label %if.end517 + +if.then458: ; preds = %if.end453 + %348 = load i8*, i8** %temp, align 8 + %arrayidx459 = getelementptr inbounds i8, i8* %348, i64 2 + %349 = load i8, i8* %arrayidx459, align 1 + %conv460 = sext i8 %349 to i32 + %cmp461 = icmp eq i32 %conv460, 58 + %350 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar464 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %350, i32 0, i32 5 + %351 = load i8*, i8** %__nextchar464, align 8 + %352 = load i8, i8* %351, align 1 + %conv465 = sext i8 %352 to i32 + %cmp466 = icmp ne i32 %conv465, 0 + %353 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + br i1 %cmp461, label %if.then463, label %if.else477 + +if.then463: ; preds = %if.then458 + br i1 %cmp466, label %if.then468, label %if.else473 + +if.then468: ; preds = %if.then463 + %__nextchar469 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 5 + %354 = load i8*, i8** %__nextchar469, align 8 + %355 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg470 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %355, i32 0, i32 3 + store i8* %354, i8** %optarg470, align 8 + %356 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind471 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %356, i32 0, i32 0 + %357 = load i32, i32* %optind471, align 8 + %inc472 = add nsw i32 %357, 1 + store i32 %inc472, i32* %optind471, align 8 + br label %if.end475 + +if.else473: ; preds = %if.then463 + %optarg474 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 3 + store i8* null, i8** %optarg474, align 8 + br label %if.end475 + +if.end475: ; preds = %if.else473, %if.then468 + %358 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar476 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %358, i32 0, i32 5 + store i8* null, i8** %__nextchar476, align 8 + br label %if.end517 + +if.else477: ; preds = %if.then458 + br i1 %cmp466, label %if.then482, label %if.else487 + +if.then482: ; preds = %if.else477 + %__nextchar483 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 5 + %359 = load i8*, i8** %__nextchar483, align 8 + %360 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg484 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %360, i32 0, i32 3 + store i8* %359, i8** %optarg484, align 8 + %361 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind485 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %361, i32 0, i32 0 + %362 = load i32, i32* %optind485, align 8 + %inc486 = add nsw i32 %362, 1 + store i32 %inc486, i32* %optind485, align 8 + br label %if.end514 + +if.else487: ; preds = %if.else477 + %optind488 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 0 + %363 = load i32, i32* %optind488, align 8 + %364 = load i32, i32* %argc.addr, align 4 + %cmp489 = icmp eq i32 %363, %364 + br i1 %cmp489, label %if.then491, label %if.else507 + +if.then491: ; preds = %if.else487 + %365 = load i32, i32* %print_errors, align 4 + %tobool492 = icmp ne i32 %365, 0 + br i1 %tobool492, label %if.then493, label %if.end497 + +if.then493: ; preds = %if.then491 + %366 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %367 = load i8**, i8*** %argv.addr, align 8 + %arrayidx494 = getelementptr inbounds i8*, i8** %367, i64 0 + %368 = load i8*, i8** %arrayidx494, align 8 + %369 = load i8, i8* %c, align 1 + %conv495 = sext i8 %369 to i32 + %call496 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %366, i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.10.332, i64 0, i64 0), i8* %368, i32 %conv495) #18 + br label %if.end497 + +if.end497: ; preds = %if.then493, %if.then491 + %370 = load i8, i8* %c, align 1 + %conv498 = sext i8 %370 to i32 + %371 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt499 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %371, i32 0, i32 2 + store i32 %conv498, i32* %optopt499, align 8 + %372 = load i8*, i8** %optstring.addr, align 8 + %arrayidx500 = getelementptr inbounds i8, i8* %372, i64 0 + %373 = load i8, i8* %arrayidx500, align 1 + %conv501 = sext i8 %373 to i32 + %cmp502 = icmp eq i32 %conv501, 58 + br i1 %cmp502, label %if.then504, label %if.else505 + +if.then504: ; preds = %if.end497 + store i8 58, i8* %c, align 1 + br label %if.end514 + +if.else505: ; preds = %if.end497 + store i8 63, i8* %c, align 1 + br label %if.end514 + +if.else507: ; preds = %if.else487 + %374 = load i8**, i8*** %argv.addr, align 8 + %375 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind508 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %375, i32 0, i32 0 + %376 = load i32, i32* %optind508, align 8 + %inc509 = add nsw i32 %376, 1 + store i32 %inc509, i32* %optind508, align 8 + %idxprom510 = sext i32 %376 to i64 + %arrayidx511 = getelementptr inbounds i8*, i8** %374, i64 %idxprom510 + %377 = load i8*, i8** %arrayidx511, align 8 + %378 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg512 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %378, i32 0, i32 3 + store i8* %377, i8** %optarg512, align 8 + br label %if.end514 + +if.end514: ; preds = %if.else507, %if.else505, %if.then504, %if.then482 + %379 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar515 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %379, i32 0, i32 5 + store i8* null, i8** %__nextchar515, align 8 + br label %if.end517 + +if.end517: ; preds = %if.end475, %if.end514, %if.end453 + %380 = load i8, i8* %c, align 1 + %conv518 = sext i8 %380 to i32 + store i32 %conv518, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end517, %if.end450, %if.end412, %if.end370, %if.then367, %if.end343, %if.end312, %if.end267, %if.end148, %if.then147, %if.end126, %if.then4 + %381 = load i32, i32* %retval, align 4 + ret i32 %381 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @_getopt_initialize(i32 %argc, i8** %argv, i8* %optstring, %struct._getopt_data* %d) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + %d.addr = alloca %struct._getopt_data*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + store %struct._getopt_data* %d, %struct._getopt_data** %d.addr, align 8 + %0 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %0, i32 0, i32 0 + %1 = load i32, i32* %optind, align 8 + %2 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %2, i32 0, i32 9 + store i32 %1, i32* %__last_nonopt, align 4 + %3 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %3, i32 0, i32 8 + store i32 %1, i32* %__first_nonopt, align 8 + %4 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %4, i32 0, i32 5 + store i8* null, i8** %__nextchar, align 8 + %call = call i8* @getenv(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.11.333, i64 0, i64 0)) #19 + %tobool = icmp ne i8* %call, null + %lnot = xor i1 %tobool, true + %lnot1 = xor i1 %lnot, true + %lnot.ext = zext i1 %lnot1 to i32 + %5 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__posixly_correct = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %5, i32 0, i32 7 + store i32 %lnot.ext, i32* %__posixly_correct, align 4 + %6 = load i8*, i8** %optstring.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %6, i64 0 + %7 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %7 to i32 + %cmp = icmp eq i32 %conv, 45 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %8 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %8, i32 0, i32 6 + store i32 2, i32* %__ordering, align 8 + %9 = load i8*, i8** %optstring.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %optstring.addr, align 8 + br label %if.end18 + +if.else: ; preds = %entry + %10 = load i8*, i8** %optstring.addr, align 8 + %arrayidx3 = getelementptr inbounds i8, i8* %10, i64 0 + %11 = load i8, i8* %arrayidx3, align 1 + %conv4 = sext i8 %11 to i32 + %cmp5 = icmp eq i32 %conv4, 43 + %12 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + br i1 %cmp5, label %if.then7, label %if.else10 + +if.then7: ; preds = %if.else + %__ordering8 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %12, i32 0, i32 6 + store i32 0, i32* %__ordering8, align 8 + %13 = load i8*, i8** %optstring.addr, align 8 + %incdec.ptr9 = getelementptr inbounds i8, i8* %13, i32 1 + store i8* %incdec.ptr9, i8** %optstring.addr, align 8 + br label %if.end18 + +if.else10: ; preds = %if.else + %__posixly_correct11 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %12, i32 0, i32 7 + %14 = load i32, i32* %__posixly_correct11, align 4 + %tobool12 = icmp ne i32 %14, 0 + %15 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering14 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %15, i32 0, i32 6 + br i1 %tobool12, label %if.then13, label %if.else15 + +if.then13: ; preds = %if.else10 + store i32 0, i32* %__ordering14, align 8 + br label %if.end18 + +if.else15: ; preds = %if.else10 + store i32 1, i32* %__ordering14, align 8 + br label %if.end18 + +if.end18: ; preds = %if.then7, %if.else15, %if.then13, %if.then + %16 = load i8*, i8** %optstring.addr, align 8 + ret i8* %16 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @exchange(i8** %argv, %struct._getopt_data* %d) #0 { +entry: + %argv.addr = alloca i8**, align 8 + %d.addr = alloca %struct._getopt_data*, align 8 + %bottom = alloca i32, align 4 + %middle = alloca i32, align 4 + %top = alloca i32, align 4 + %tem = alloca i8*, align 8 + %len = alloca i32, align 4 + %i = alloca i32, align 4 + %len20 = alloca i32, align 4 + %i22 = alloca i32, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store %struct._getopt_data* %d, %struct._getopt_data** %d.addr, align 8 + %0 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %0, i32 0, i32 8 + %1 = load i32, i32* %__first_nonopt, align 8 + store i32 %1, i32* %bottom, align 4 + %2 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %2, i32 0, i32 9 + %3 = load i32, i32* %__last_nonopt, align 4 + store i32 %3, i32* %middle, align 4 + %4 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %4, i32 0, i32 0 + %5 = load i32, i32* %optind, align 8 + store i32 %5, i32* %top, align 4 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %6 = load i32, i32* %top, align 4 + %7 = load i32, i32* %middle, align 4 + %cmp = icmp sgt i32 %6, %7 + %8 = load i32, i32* %middle, align 4 + %9 = load i32, i32* %bottom, align 4 + %cmp1 = icmp sgt i32 %8, %9 + %10 = select i1 %cmp, i1 %cmp1, i1 false + br i1 %10, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %11 = load i32, i32* %top, align 4 + %12 = load i32, i32* %middle, align 4 + %sub = sub nsw i32 %11, %12 + %13 = load i32, i32* %middle, align 4 + %14 = load i32, i32* %bottom, align 4 + %sub2 = sub nsw i32 %13, %14 + %cmp3 = icmp sgt i32 %sub, %sub2 + br i1 %cmp3, label %if.then, label %if.else + +if.then: ; preds = %while.body + %15 = load i32, i32* %middle, align 4 + %16 = load i32, i32* %bottom, align 4 + %sub4 = sub nsw i32 %15, %16 + store i32 %sub4, i32* %len, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.then + %17 = load i32, i32* %i, align 4 + %18 = load i32, i32* %len, align 4 + %cmp5 = icmp slt i32 %17, %18 + br i1 %cmp5, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %19 = load i8**, i8*** %argv.addr, align 8 + %20 = load i32, i32* %bottom, align 4 + %21 = load i32, i32* %i, align 4 + %add = add nsw i32 %20, %21 + %idxprom = sext i32 %add to i64 + %arrayidx = getelementptr inbounds i8*, i8** %19, i64 %idxprom + %22 = load i8*, i8** %arrayidx, align 8 + store i8* %22, i8** %tem, align 8 + %23 = load i8**, i8*** %argv.addr, align 8 + %24 = load i32, i32* %top, align 4 + %25 = load i32, i32* %middle, align 4 + %26 = load i32, i32* %bottom, align 4 + %sub6 = sub nsw i32 %25, %26 + %sub7 = sub nsw i32 %24, %sub6 + %27 = load i32, i32* %i, align 4 + %add8 = add nsw i32 %sub7, %27 + %idxprom9 = sext i32 %add8 to i64 + %arrayidx10 = getelementptr inbounds i8*, i8** %23, i64 %idxprom9 + %28 = load i8*, i8** %arrayidx10, align 8 + %29 = load i8**, i8*** %argv.addr, align 8 + %30 = load i32, i32* %bottom, align 4 + %31 = load i32, i32* %i, align 4 + %add11 = add nsw i32 %30, %31 + %idxprom12 = sext i32 %add11 to i64 + %arrayidx13 = getelementptr inbounds i8*, i8** %29, i64 %idxprom12 + store i8* %28, i8** %arrayidx13, align 8 + %32 = load i8*, i8** %tem, align 8 + %33 = load i8**, i8*** %argv.addr, align 8 + %34 = load i32, i32* %top, align 4 + %35 = load i32, i32* %middle, align 4 + %36 = load i32, i32* %bottom, align 4 + %sub14 = sub nsw i32 %35, %36 + %sub15 = sub nsw i32 %34, %sub14 + %37 = load i32, i32* %i, align 4 + %add16 = add nsw i32 %sub15, %37 + %idxprom17 = sext i32 %add16 to i64 + %arrayidx18 = getelementptr inbounds i8*, i8** %33, i64 %idxprom17 + store i8* %32, i8** %arrayidx18, align 8 + %38 = load i32, i32* %i, align 4 + %inc = add nsw i32 %38, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %39 = load i32, i32* %len, align 4 + %40 = load i32, i32* %top, align 4 + %sub19 = sub nsw i32 %40, %39 + store i32 %sub19, i32* %top, align 4 + br label %if.end + +if.else: ; preds = %while.body + %41 = load i32, i32* %top, align 4 + %42 = load i32, i32* %middle, align 4 + %sub21 = sub nsw i32 %41, %42 + store i32 %sub21, i32* %len20, align 4 + store i32 0, i32* %i22, align 4 + br label %for.cond23 + +for.cond23: ; preds = %for.body25, %if.else + %43 = load i32, i32* %i22, align 4 + %44 = load i32, i32* %len20, align 4 + %cmp24 = icmp slt i32 %43, %44 + br i1 %cmp24, label %for.body25, label %for.end40 + +for.body25: ; preds = %for.cond23 + %45 = load i8**, i8*** %argv.addr, align 8 + %46 = load i32, i32* %bottom, align 4 + %47 = load i32, i32* %i22, align 4 + %add26 = add nsw i32 %46, %47 + %idxprom27 = sext i32 %add26 to i64 + %arrayidx28 = getelementptr inbounds i8*, i8** %45, i64 %idxprom27 + %48 = load i8*, i8** %arrayidx28, align 8 + store i8* %48, i8** %tem, align 8 + %49 = load i8**, i8*** %argv.addr, align 8 + %50 = load i32, i32* %middle, align 4 + %51 = load i32, i32* %i22, align 4 + %add29 = add nsw i32 %50, %51 + %idxprom30 = sext i32 %add29 to i64 + %arrayidx31 = getelementptr inbounds i8*, i8** %49, i64 %idxprom30 + %52 = load i8*, i8** %arrayidx31, align 8 + %53 = load i8**, i8*** %argv.addr, align 8 + %54 = load i32, i32* %bottom, align 4 + %55 = load i32, i32* %i22, align 4 + %add32 = add nsw i32 %54, %55 + %idxprom33 = sext i32 %add32 to i64 + %arrayidx34 = getelementptr inbounds i8*, i8** %53, i64 %idxprom33 + store i8* %52, i8** %arrayidx34, align 8 + %56 = load i8*, i8** %tem, align 8 + %57 = load i8**, i8*** %argv.addr, align 8 + %58 = load i32, i32* %middle, align 4 + %59 = load i32, i32* %i22, align 4 + %add35 = add nsw i32 %58, %59 + %idxprom36 = sext i32 %add35 to i64 + %arrayidx37 = getelementptr inbounds i8*, i8** %57, i64 %idxprom36 + store i8* %56, i8** %arrayidx37, align 8 + %60 = load i32, i32* %i22, align 4 + %inc39 = add nsw i32 %60, 1 + store i32 %inc39, i32* %i22, align 4 + br label %for.cond23 + +for.end40: ; preds = %for.cond23 + %61 = load i32, i32* %len20, align 4 + %62 = load i32, i32* %bottom, align 4 + %add41 = add nsw i32 %62, %61 + store i32 %add41, i32* %bottom, align 4 + br label %if.end + +if.end: ; preds = %for.end40, %for.end + br label %while.cond + +while.end: ; preds = %while.cond + %63 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind42 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %63, i32 0, i32 0 + %64 = load i32, i32* %optind42, align 8 + %65 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt43 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %65, i32 0, i32 9 + %66 = load i32, i32* %__last_nonopt43, align 4 + %sub44 = sub nsw i32 %64, %66 + %67 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt45 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %67, i32 0, i32 8 + %68 = load i32, i32* %__first_nonopt45, align 8 + %add46 = add nsw i32 %68, %sub44 + store i32 %add46, i32* %__first_nonopt45, align 8 + %69 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind47 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %69, i32 0, i32 0 + %70 = load i32, i32* %optind47, align 8 + %71 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt48 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %71, i32 0, i32 9 + store i32 %70, i32* %__last_nonopt48, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getopt(i32 %argc, i8** %argv, i8* %optstring) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + %0 = load i32, i32* %argc.addr, align 4 + %1 = load i8**, i8*** %argv.addr, align 8 + %2 = load i8*, i8** %optstring.addr, align 8 + %call = call i32 @_getopt_internal(i32 %0, i8** %1, i8* %2, %struct.option* null, i32* null, i32 0) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getopt_long(i32 %argc, i8** %argv, i8* %options, %struct.option* %long_options, i32* %opt_index) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %options.addr = alloca i8*, align 8 + %long_options.addr = alloca %struct.option*, align 8 + %opt_index.addr = alloca i32*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %options, i8** %options.addr, align 8 + store %struct.option* %long_options, %struct.option** %long_options.addr, align 8 + store i32* %opt_index, i32** %opt_index.addr, align 8 + %0 = load i32, i32* %argc.addr, align 4 + %1 = load i8**, i8*** %argv.addr, align 8 + %2 = load i8*, i8** %options.addr, align 8 + %3 = load %struct.option*, %struct.option** %long_options.addr, align 8 + %4 = load i32*, i32** %opt_index.addr, align 8 + %call = call i32 @_getopt_internal(i32 %0, i8** %1, i8* %2, %struct.option* %3, i32* %4, i32 0) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getopt_long_only(i32 %argc, i8** %argv, i8* %options, %struct.option* %long_options, i32* %opt_index) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %options.addr = alloca i8*, align 8 + %long_options.addr = alloca %struct.option*, align 8 + %opt_index.addr = alloca i32*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %options, i8** %options.addr, align 8 + store %struct.option* %long_options, %struct.option** %long_options.addr, align 8 + store i32* %opt_index, i32** %opt_index.addr, align 8 + %0 = load i32, i32* %argc.addr, align 4 + %1 = load i8**, i8*** %argv.addr, align 8 + %2 = load i8*, i8** %options.addr, align 8 + %3 = load %struct.option*, %struct.option** %long_options.addr, align 8 + %4 = load i32*, i32** %opt_index.addr, align 8 + %call = call i32 @_getopt_internal(i32 %0, i8** %1, i8* %2, %struct.option* %3, i32* %4, i32 1) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind readnone uwtable +define i16** @__ctype_toupper_loc() #12 { +entry: + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %__ctype_toupper = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 2 + ret i16** %__ctype_toupper +} + +; Function Attrs: noinline nounwind uwtable +define %struct.__uclibc_locale_struct.201* @newlocale(i32 %category_mask, i8* %locale, %struct.__uclibc_locale_struct.201* %base) #0 { +entry: + %retval = alloca %struct.__uclibc_locale_struct.201*, align 8 + %category_mask.addr = alloca i32, align 4 + %locale.addr = alloca i8*, align 8 + %base.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %p = alloca i8*, align 8 + %i = alloca i32, align 4 + %j = alloca i32, align 4 + %k = alloca i32, align 4 + %new_selector = alloca [14 x i8], align 1 + store i32 %category_mask, i32* %category_mask.addr, align 4 + store i8* %locale, i8** %locale.addr, align 8 + store %struct.__uclibc_locale_struct.201* %base, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %0 = load i32, i32* %category_mask.addr, align 4 + %cmp = icmp eq i32 %0, 64 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 8127, i32* %category_mask.addr, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i8*, i8** %locale.addr, align 8 + %tobool = icmp eq i8* %1, null + %2 = load i32, i32* %category_mask.addr, align 4 + %cmp1 = icmp ugt i32 %2, 8127 + %or.cond = or i1 %tobool, %cmp1 + br i1 %or.cond, label %INVALID, label %if.end3 + +INVALID: ; preds = %if.else, %do.end, %if.end + store i32 22, i32* @errno, align 4 + store %struct.__uclibc_locale_struct.201* null, %struct.__uclibc_locale_struct.201** %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %3 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tobool4 = icmp ne %struct.__uclibc_locale_struct.201* %3, null + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %4, i32 0, i32 6 + %arraydecay5 = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + %cond = select i1 %tobool4, i8* %arraydecay5, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.340, i64 0, i64 0) + %call = call i8* @strcpy(i8* %arraydecay, i8* %cond) #19 + %5 = load i8*, i8** %locale.addr, align 8 + %6 = load i8, i8* %5, align 1 + %tobool6 = icmp ne i8 %6, 0 + br i1 %tobool6, label %if.else, label %if.then7 + +if.then7: ; preds = %if.end3 + store i32 1, i32* %i, align 4 + store i32 0, i32* %k, align 4 + br label %do.body + +do.body: ; preds = %if.end25, %if.then7 + %7 = load i32, i32* %category_mask.addr, align 4 + %8 = load i32, i32* %i, align 4 + %and = and i32 %7, %8 + %tobool8 = icmp ne i32 %and, 0 + br i1 %tobool8, label %if.then9, label %if.end25 + +if.then9: ; preds = %do.body + %9 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %9, i32 0, i32 34 + %arraydecay10 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names, i64 0, i64 0 + %10 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names11 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %10, i32 0, i32 34 + %11 = load i32, i32* %k, align 4 + %idxprom = sext i32 %11 to i64 + %arrayidx = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names11, i64 0, i64 %idxprom + %12 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %12 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay10, i64 %idx.ext + store i8* %add.ptr, i8** getelementptr inbounds ([4 x i8*], [4 x i8*]* @newlocale.envstr, i64 0, i64 1), align 8 + store i32 0, i32* %j, align 4 + br label %do.body12 + +do.body12: ; preds = %land.rhs, %lor.rhs, %if.then9 + %13 = load i32, i32* %j, align 4 + %idxprom13 = sext i32 %13 to i64 + %arrayidx14 = getelementptr inbounds [4 x i8*], [4 x i8*]* @newlocale.envstr, i64 0, i64 %idxprom13 + %14 = load i8*, i8** %arrayidx14, align 8 + store i8* %14, i8** %p, align 8 + %15 = load i32, i32* %j, align 4 + %inc = add nsw i32 %15, 1 + store i32 %inc, i32* %j, align 4 + %cmp15 = icmp slt i32 %inc, 4 + br i1 %cmp15, label %land.rhs, label %do.end + +land.rhs: ; preds = %do.body12 + %16 = load i8*, i8** %p, align 8 + %call17 = call i8* @getenv(i8* %16) #19 + store i8* %call17, i8** %p, align 8 + %tobool18 = icmp ne i8* %call17, null + br i1 %tobool18, label %lor.rhs, label %do.body12 + +lor.rhs: ; preds = %land.rhs + %17 = load i8*, i8** %p, align 8 + %18 = load i8, i8* %17, align 1 + %tobool19 = icmp ne i8 %18, 0 + %lnot = xor i1 %tobool19, true + br i1 %lnot, label %do.body12, label %do.end + +do.end: ; preds = %do.body12, %lor.rhs + %19 = load i32, i32* %i, align 4 + %20 = load i8*, i8** %p, align 8 + %arraydecay20 = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %call21 = call i32 @find_locale(i32 %19, i8* %20, i8* %arraydecay20) #18 + %tobool22 = icmp ne i32 %call21, 0 + br i1 %tobool22, label %if.end25, label %INVALID + +if.end25: ; preds = %do.end, %do.body + %21 = load i32, i32* %i, align 4 + %22 = load i32, i32* %i, align 4 + %add = add nsw i32 %22, %21 + store i32 %add, i32* %i, align 4 + %23 = load i32, i32* %k, align 4 + %inc27 = add nsw i32 %23, 1 + store i32 %inc27, i32* %k, align 4 + %cmp28 = icmp slt i32 %inc27, 6 + br i1 %cmp28, label %do.body, label %if.end36 + +if.else: ; preds = %if.end3 + %24 = load i32, i32* %category_mask.addr, align 4 + %25 = load i8*, i8** %locale.addr, align 8 + %arraydecay31 = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %call32 = call i8* @composite_locale(i32 %24, i8* %25, i8* %arraydecay31) #18 + %tobool33 = icmp ne i8* %call32, null + br i1 %tobool33, label %if.end36, label %INVALID + +if.end36: ; preds = %if.else, %if.end25 + %26 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tobool37 = icmp ne %struct.__uclibc_locale_struct.201* %26, null + br i1 %tobool37, label %if.end44, label %if.then38 + +if.then38: ; preds = %if.end36 + %call39 = call noalias i8* @calloc(i64 1, i64 3320) #19 + %27 = bitcast i8* %call39 to %struct.__uclibc_locale_struct.201* + store %struct.__uclibc_locale_struct.201* %27, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cmp40 = icmp eq %struct.__uclibc_locale_struct.201* %27, null + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + br i1 %cmp40, label %if.then42, label %if.end43 + +if.then42: ; preds = %if.then38 + store %struct.__uclibc_locale_struct.201* %28, %struct.__uclibc_locale_struct.201** %retval, align 8 + br label %return + +if.end43: ; preds = %if.then38 + call void @_locale_init_l(%struct.__uclibc_locale_struct.201* %28) #18 + br label %if.end44 + +if.end44: ; preds = %if.end43, %if.end36 + %arraydecay45 = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %29 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call46 = call i32 @_locale_set_l(i8* %arraydecay45, %struct.__uclibc_locale_struct.201* %29) #18 + %30 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + store %struct.__uclibc_locale_struct.201* %30, %struct.__uclibc_locale_struct.201** %retval, align 8 + br label %return + +return: ; preds = %if.end44, %if.then42, %INVALID + %31 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %retval, align 8 + ret %struct.__uclibc_locale_struct.201* %31 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @find_locale(i32 %category_mask, i8* %p, i8* %new_locale) #0 { +entry: + %retval = alloca i32, align 4 + %category_mask.addr = alloca i32, align 4 + %p.addr = alloca i8*, align 8 + %new_locale.addr = alloca i8*, align 8 + %i = alloca i32, align 4 + %s = alloca i8*, align 8 + %n = alloca i16, align 2 + %lang_cult = alloca i8, align 1 + %codeset = alloca i8, align 1 + %buf = alloca [18 x i8], align 16 + %q = alloca i8*, align 8 + store i32 %category_mask, i32* %category_mask.addr, align 4 + store i8* %p, i8** %p.addr, align 8 + store i8* %new_locale, i8** %new_locale.addr, align 8 + %0 = load i8*, i8** %p.addr, align 8 + %call = call i8* @strchr(i8* %0, i32 64) #20 + store i8* %call, i8** %q, align 8 + %cmp = icmp ne i8* %call, null + br i1 %cmp, label %if.then, label %if.end27 + +if.then: ; preds = %entry + %1 = load i8*, i8** %q, align 8 + %2 = load i8*, i8** %p.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %1 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %2 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %sub = sub nsw i64 %sub.ptr.sub, 5 + %cmp1 = icmp ugt i64 %sub, 13 + br i1 %cmp1, label %if.then4, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then + %3 = load i8*, i8** %p.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %3, i64 2 + %4 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %4 to i32 + %cmp2 = icmp ne i32 %conv, 95 + br i1 %cmp2, label %if.then4, label %if.end + +if.then4: ; preds = %lor.lhs.false, %if.then + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %lor.lhs.false + %5 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_at_modifiers = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %5, i32 0, i32 33 + %arraydecay = getelementptr inbounds [18 x i8], [18 x i8]* %locale_at_modifiers, i64 0, i64 0 + store i8* %arraydecay, i8** %s, align 8 + br label %do.body + +do.body: ; preds = %if.end8, %if.end + %6 = load i8*, i8** %s, align 8 + %add.ptr = getelementptr inbounds i8, i8* %6, i64 2 + %7 = load i8*, i8** %q, align 8 + %add.ptr5 = getelementptr inbounds i8, i8* %7, i64 1 + %call6 = call i32 @strcmp(i8* %add.ptr, i8* %add.ptr5) #20 + %tobool = icmp ne i32 %call6, 0 + br i1 %tobool, label %if.end8, label %do.end + +if.end8: ; preds = %do.body + %8 = load i8*, i8** %s, align 8 + %9 = load i8, i8* %8, align 1 + %conv9 = zext i8 %9 to i32 + %add = add nsw i32 2, %conv9 + %10 = load i8*, i8** %s, align 8 + %idx.ext = sext i32 %add to i64 + %add.ptr10 = getelementptr inbounds i8, i8* %10, i64 %idx.ext + store i8* %add.ptr10, i8** %s, align 8 + %11 = load i8*, i8** %s, align 8 + %12 = load i8, i8* %11, align 1 + %tobool11 = icmp ne i8 %12, 0 + br i1 %tobool11, label %do.body, label %do.end + +do.end: ; preds = %do.body, %if.end8 + %13 = load i8*, i8** %s, align 8 + %14 = load i8, i8* %13, align 1 + %tobool12 = icmp ne i8 %14, 0 + br i1 %tobool12, label %if.end14, label %if.then13 + +if.then13: ; preds = %do.end + store i32 0, i32* %retval, align 4 + br label %return + +if.end14: ; preds = %do.end + %arraydecay15 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 0 + %15 = load i8*, i8** %p.addr, align 8 + %16 = load i8*, i8** %q, align 8 + %17 = load i8*, i8** %p.addr, align 8 + %sub.ptr.lhs.cast16 = ptrtoint i8* %16 to i64 + %sub.ptr.rhs.cast17 = ptrtoint i8* %17 to i64 + %sub.ptr.sub18 = sub i64 %sub.ptr.lhs.cast16, %sub.ptr.rhs.cast17 + %call19 = call i8* @memcpy(i8* %arraydecay15, i8* %15, i64 %sub.ptr.sub18) #19 + %18 = load i8*, i8** %q, align 8 + %19 = load i8*, i8** %p.addr, align 8 + %sub.ptr.lhs.cast20 = ptrtoint i8* %18 to i64 + %sub.ptr.rhs.cast21 = ptrtoint i8* %19 to i64 + %sub.ptr.sub22 = sub i64 %sub.ptr.lhs.cast20, %sub.ptr.rhs.cast21 + %arrayidx23 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 %sub.ptr.sub22 + store i8 0, i8* %arrayidx23, align 1 + %20 = load i8*, i8** %s, align 8 + %arrayidx24 = getelementptr inbounds i8, i8* %20, i64 1 + %21 = load i8, i8* %arrayidx24, align 1 + %arrayidx25 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 2 + store i8 %21, i8* %arrayidx25, align 2 + %arraydecay26 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay26, i8** %p.addr, align 8 + br label %if.end27 + +if.end27: ; preds = %if.end14, %entry + store i8 0, i8* %codeset, align 1 + store i8 0, i8* %lang_cult, align 1 + %22 = load i8*, i8** %p.addr, align 8 + %23 = load i8, i8* %22, align 1 + %conv28 = sext i8 %23 to i32 + %cmp29 = icmp eq i32 %conv28, 67 + br i1 %cmp29, label %land.lhs.true, label %lor.lhs.false33 + +land.lhs.true: ; preds = %if.end27 + %24 = load i8*, i8** %p.addr, align 8 + %arrayidx31 = getelementptr inbounds i8, i8* %24, i64 1 + %25 = load i8, i8* %arrayidx31, align 1 + %tobool32 = icmp ne i8 %25, 0 + br i1 %tobool32, label %lor.lhs.false33, label %FIND_LOCALE + +lor.lhs.false33: ; preds = %land.lhs.true, %if.end27 + %26 = load i8*, i8** %p.addr, align 8 + %call34 = call i32 @strcmp(i8* %26, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @posix, i64 0, i64 0)) #20 + %tobool35 = icmp ne i32 %call34, 0 + br i1 %tobool35, label %if.end37, label %FIND_LOCALE + +if.end37: ; preds = %lor.lhs.false33 + %27 = load i8*, i8** %p.addr, align 8 + %call38 = call i64 @strlen(i8* %27) #20 + %cmp39 = icmp ugt i64 %call38, 5 + br i1 %cmp39, label %land.lhs.true41, label %FIND_LANG_CULT + +land.lhs.true41: ; preds = %if.end37 + %28 = load i8*, i8** %p.addr, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %28, i64 5 + %29 = load i8, i8* %arrayidx42, align 1 + %conv43 = sext i8 %29 to i32 + %cmp44 = icmp eq i32 %conv43, 46 + br i1 %cmp44, label %if.then46, label %FIND_LANG_CULT + +if.then46: ; preds = %land.lhs.true41 + store i8 2, i8* %codeset, align 1 + %30 = load i8*, i8** %p.addr, align 8 + %add.ptr47 = getelementptr inbounds i8, i8* %30, i64 6 + %call48 = call i32 @strcmp(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf8.343, i64 0, i64 0), i8* %add.ptr47) #20 + %cmp49 = icmp ne i32 %call48, 0 + br i1 %cmp49, label %if.then51, label %FIND_LANG_CULT + +if.then51: ; preds = %if.then46 + %31 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %31, i32 0, i32 35 + %arraydecay52 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list, i64 0, i64 0 + store i8* %arraydecay52, i8** %s, align 8 + br label %do.body53 + +do.body53: ; preds = %do.cond64, %if.then51 + %32 = load i8, i8* %codeset, align 1 + %inc = add i8 %32, 1 + store i8 %inc, i8* %codeset, align 1 + %33 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list54 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %33, i32 0, i32 35 + %arraydecay55 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list54, i64 0, i64 0 + %34 = load i8*, i8** %s, align 8 + %35 = load i8, i8* %34, align 1 + %conv56 = zext i8 %35 to i32 + %idx.ext57 = sext i32 %conv56 to i64 + %add.ptr58 = getelementptr inbounds i8, i8* %arraydecay55, i64 %idx.ext57 + %36 = load i8*, i8** %p.addr, align 8 + %add.ptr59 = getelementptr inbounds i8, i8* %36, i64 6 + %call60 = call i32 @strcmp(i8* %add.ptr58, i8* %add.ptr59) #20 + %tobool61 = icmp ne i32 %call60, 0 + br i1 %tobool61, label %do.cond64, label %FIND_LANG_CULT + +do.cond64: ; preds = %do.body53 + %37 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %37, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %38 = load i8, i8* %incdec.ptr, align 1 + %tobool65 = icmp ne i8 %38, 0 + br i1 %tobool65, label %do.body53, label %do.end66 + +do.end66: ; preds = %do.cond64 + store i32 0, i32* %retval, align 4 + br label %return + +FIND_LANG_CULT: ; preds = %if.end37, %land.lhs.true41, %if.then46, %do.body53 + %39 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_names5 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %39, i32 0, i32 32 + %arraydecay69 = getelementptr inbounds [835 x i8], [835 x i8]* %locale_names5, i64 0, i64 0 + store i8* %arraydecay69, i8** %s, align 8 + br label %do.body70 + +do.body70: ; preds = %if.end75, %FIND_LANG_CULT + %40 = load i8, i8* %lang_cult, align 1 + %inc71 = add i8 %40, 1 + store i8 %inc71, i8* %lang_cult, align 1 + %41 = load i8*, i8** %s, align 8 + %42 = load i8*, i8** %p.addr, align 8 + %call72 = call i32 @strncmp(i8* %41, i8* %42, i64 5) #20 + %tobool73 = icmp ne i32 %call72, 0 + br i1 %tobool73, label %if.end75, label %FIND_LOCALE + +if.end75: ; preds = %do.body70 + %43 = load i8*, i8** %s, align 8 + %add.ptr76 = getelementptr inbounds i8, i8* %43, i64 5 + store i8* %add.ptr76, i8** %s, align 8 + %44 = load i8, i8* %lang_cult, align 1 + %conv78 = zext i8 %44 to i32 + %cmp79 = icmp slt i32 %conv78, 167 + br i1 %cmp79, label %do.body70, label %do.end81 + +do.end81: ; preds = %if.end75 + store i32 0, i32* %retval, align 4 + br label %return + +FIND_LOCALE: ; preds = %do.body70, %land.lhs.true, %lor.lhs.false33 + %45 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %45, i32 0, i32 31 + %arraydecay82 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales, i64 0, i64 0 + store i8* %arraydecay82, i8** %s, align 8 + store i16 0, i16* %n, align 2 + br label %do.body83 + +do.body83: ; preds = %if.end120, %FIND_LOCALE + %46 = load i8, i8* %lang_cult, align 1 + %conv84 = zext i8 %46 to i32 + %47 = load i8*, i8** %s, align 8 + %48 = load i8, i8* %47, align 1 + %conv85 = zext i8 %48 to i32 + %cmp86 = icmp eq i32 %conv84, %conv85 + br i1 %cmp86, label %land.lhs.true88, label %if.end120 + +land.lhs.true88: ; preds = %do.body83 + %49 = load i8, i8* %codeset, align 1 + %conv89 = zext i8 %49 to i32 + %50 = load i8*, i8** %s, align 8 + %arrayidx90 = getelementptr inbounds i8, i8* %50, i64 1 + %51 = load i8, i8* %arrayidx90, align 1 + %conv91 = zext i8 %51 to i32 + %cmp92 = icmp eq i32 %conv89, %conv91 + br i1 %cmp92, label %if.then100, label %lor.lhs.false94 + +lor.lhs.false94: ; preds = %land.lhs.true88 + %52 = load i8, i8* %codeset, align 1 + %conv95 = zext i8 %52 to i32 + %53 = load i8*, i8** %s, align 8 + %arrayidx96 = getelementptr inbounds i8, i8* %53, i64 2 + %54 = load i8, i8* %arrayidx96, align 1 + %conv97 = zext i8 %54 to i32 + %cmp98 = icmp eq i32 %conv95, %conv97 + br i1 %cmp98, label %if.then100, label %if.end120 + +if.then100: ; preds = %lor.lhs.false94, %land.lhs.true88 + store i32 1, i32* %i, align 4 + %55 = load i8*, i8** %new_locale.addr, align 8 + %add.ptr101 = getelementptr inbounds i8, i8* %55, i64 1 + store i8* %add.ptr101, i8** %s, align 8 + br label %do.body102 + +do.body102: ; preds = %if.end113, %if.then100 + %56 = load i32, i32* %category_mask.addr, align 4 + %57 = load i32, i32* %i, align 4 + %and = and i32 %56, %57 + %tobool103 = icmp ne i32 %and, 0 + br i1 %tobool103, label %if.then104, label %if.end113 + +if.then104: ; preds = %do.body102 + %58 = load i16, i16* %n, align 2 + %conv105 = zext i16 %58 to i32 + %shr = ashr i32 %conv105, 7 + %or = or i32 %shr, 128 + %conv106 = trunc i32 %or to i8 + %59 = load i8*, i8** %s, align 8 + %arrayidx107 = getelementptr inbounds i8, i8* %59, i64 0 + store i8 %conv106, i8* %arrayidx107, align 1 + %60 = load i16, i16* %n, align 2 + %conv108 = zext i16 %60 to i32 + %and109 = and i32 %conv108, 127 + %or110 = or i32 %and109, 128 + %conv111 = trunc i32 %or110 to i8 + %61 = load i8*, i8** %s, align 8 + %arrayidx112 = getelementptr inbounds i8, i8* %61, i64 1 + store i8 %conv111, i8* %arrayidx112, align 1 + br label %if.end113 + +if.end113: ; preds = %if.then104, %do.body102 + %62 = load i8*, i8** %s, align 8 + %add.ptr114 = getelementptr inbounds i8, i8* %62, i64 2 + store i8* %add.ptr114, i8** %s, align 8 + %63 = load i32, i32* %i, align 4 + %64 = load i32, i32* %i, align 4 + %add115 = add nsw i32 %64, %63 + store i32 %add115, i32* %i, align 4 + %65 = load i32, i32* %i, align 4 + %cmp117 = icmp slt i32 %65, 64 + br i1 %cmp117, label %do.body102, label %do.end119 + +do.end119: ; preds = %if.end113 + %66 = load i32, i32* %i, align 4 + store i32 %66, i32* %retval, align 4 + br label %return + +if.end120: ; preds = %lor.lhs.false94, %do.body83 + %67 = load i8*, i8** %s, align 8 + %add.ptr121 = getelementptr inbounds i8, i8* %67, i64 9 + store i8* %add.ptr121, i8** %s, align 8 + %68 = load i16, i16* %n, align 2 + %inc122 = add i16 %68, 1 + store i16 %inc122, i16* %n, align 2 + %69 = load i16, i16* %n, align 2 + %conv124 = zext i16 %69 to i32 + %cmp125 = icmp sle i32 %conv124, 314 + br i1 %cmp125, label %do.body83, label %do.end127 + +do.end127: ; preds = %if.end120 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end127, %do.end119, %do.end81, %do.end66, %if.then13, %if.then4 + %70 = load i32, i32* %retval, align 4 + ret i32 %70 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @composite_locale(i32 %category_mask, i8* %locale, i8* %new_locale) #0 { +entry: + %retval = alloca i8*, align 8 + %category_mask.addr = alloca i32, align 4 + %locale.addr = alloca i8*, align 8 + %new_locale.addr = alloca i8*, align 8 + %buf = alloca [256 x i8], align 16 + %t = alloca i8*, align 8 + %e = alloca i8*, align 8 + %c = alloca i32, align 4 + %component_mask = alloca i32, align 4 + store i32 %category_mask, i32* %category_mask.addr, align 4 + store i8* %locale, i8** %locale.addr, align 8 + store i8* %new_locale, i8** %new_locale.addr, align 8 + %0 = load i8*, i8** %locale.addr, align 8 + %call = call i8* @strchr(i8* %0, i32 61) #20 + %tobool = icmp ne i8* %call, null + br i1 %tobool, label %if.end4, label %if.then + +if.then: ; preds = %entry + %1 = load i32, i32* %category_mask.addr, align 4 + %2 = load i8*, i8** %locale.addr, align 8 + %3 = load i8*, i8** %new_locale.addr, align 8 + %call1 = call i32 @find_locale(i32 %1, i8* %2, i8* %3) #18 + %tobool2 = icmp ne i32 %call1, 0 + br i1 %tobool2, label %if.end, label %if.then3 + +if.then3: ; preds = %if.then + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %if.then + %4 = load i8*, i8** %new_locale.addr, align 8 + store i8* %4, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %entry + %5 = load i8*, i8** %locale.addr, align 8 + %call5 = call i64 @strlen(i8* %5) #20 + %cmp = icmp uge i64 %call5, 256 + br i1 %cmp, label %if.then6, label %if.end7 + +if.then6: ; preds = %if.end4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end7: ; preds = %if.end4 + %arraydecay = getelementptr inbounds [256 x i8], [256 x i8]* %buf, i64 0, i64 0 + %6 = load i8*, i8** %locale.addr, align 8 + %call8 = call i8* @stpcpy(i8* %arraydecay, i8* %6) #19 + store i32 0, i32* %component_mask, align 4 + %arraydecay9 = getelementptr inbounds [256 x i8], [256 x i8]* %buf, i64 0, i64 0 + %call10 = call i8* @strtok_r(i8* %arraydecay9, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.341, i64 0, i64 0), i8** %e) #19 + store i8* %call10, i8** %t, align 8 + br label %do.body + +do.body: ; preds = %do.cond, %if.end7 + store i32 0, i32* %c, align 4 + br label %while.cond + +while.cond: ; preds = %while.body, %do.body + %7 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %7, i32 0, i32 34 + %arraydecay11 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names, i64 0, i64 0 + %8 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names12 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %8, i32 0, i32 34 + %9 = load i32, i32* %c, align 4 + %idxprom = sext i32 %9 to i64 + %arrayidx = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names12, i64 0, i64 %idxprom + %10 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %10 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay11, i64 %idx.ext + %11 = load i8*, i8** %t, align 8 + %call13 = call i32 @strcmp(i8* %add.ptr, i8* %11) #20 + %tobool14 = icmp ne i32 %call13, 0 + br i1 %tobool14, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %12 = load i32, i32* %c, align 4 + %inc = add nsw i32 %12, 1 + store i32 %inc, i32* %c, align 4 + %cmp15 = icmp eq i32 %inc, 6 + br i1 %cmp15, label %if.then17, label %while.cond + +if.then17: ; preds = %while.body + store i8* null, i8** %retval, align 8 + br label %return + +while.end: ; preds = %while.cond + %call19 = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.4.342, i64 0, i64 0), i8** %e) #19 + store i8* %call19, i8** %t, align 8 + %13 = load i32, i32* %c, align 4 + %shl = shl i32 1, %13 + store i32 %shl, i32* %c, align 4 + %14 = load i32, i32* %component_mask, align 4 + %15 = load i32, i32* %c, align 4 + %and = and i32 %14, %15 + %tobool20 = icmp ne i32 %and, 0 + br i1 %tobool20, label %if.then21, label %if.end22 + +if.then21: ; preds = %while.end + store i8* null, i8** %retval, align 8 + br label %return + +if.end22: ; preds = %while.end + %16 = load i32, i32* %c, align 4 + %17 = load i32, i32* %component_mask, align 4 + %or = or i32 %17, %16 + store i32 %or, i32* %component_mask, align 4 + %18 = load i32, i32* %category_mask.addr, align 4 + %19 = load i32, i32* %c, align 4 + %and23 = and i32 %18, %19 + %tobool24 = icmp ne i32 %and23, 0 + br i1 %tobool24, label %land.lhs.true, label %do.cond + +land.lhs.true: ; preds = %if.end22 + %20 = load i8*, i8** %t, align 8 + %tobool25 = icmp ne i8* %20, null + br i1 %tobool25, label %lor.lhs.false, label %if.then28 + +lor.lhs.false: ; preds = %land.lhs.true + %21 = load i32, i32* %c, align 4 + %22 = load i8*, i8** %t, align 8 + %23 = load i8*, i8** %new_locale.addr, align 8 + %call26 = call i32 @find_locale(i32 %21, i8* %22, i8* %23) #18 + %tobool27 = icmp ne i32 %call26, 0 + br i1 %tobool27, label %do.cond, label %if.then28 + +if.then28: ; preds = %lor.lhs.false, %land.lhs.true + store i8* null, i8** %retval, align 8 + br label %return + +do.cond: ; preds = %if.end22, %lor.lhs.false + %call30 = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.341, i64 0, i64 0), i8** %e) #19 + store i8* %call30, i8** %t, align 8 + %cmp31 = icmp ne i8* %call30, null + br i1 %cmp31, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %24 = load i32, i32* %category_mask.addr, align 4 + %25 = load i32, i32* %component_mask, align 4 + %neg = xor i32 %25, -1 + %and33 = and i32 %24, %neg + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %if.then35, label %if.end36 + +if.then35: ; preds = %do.end + store i8* null, i8** %retval, align 8 + br label %return + +if.end36: ; preds = %do.end + %26 = load i8*, i8** %new_locale.addr, align 8 + store i8* %26, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end36, %if.then35, %if.then28, %if.then21, %if.then17, %if.then6, %if.end, %if.then3 + %27 = load i8*, i8** %retval, align 8 + ret i8* %27 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @nl_langinfo_l(i32 %item, %struct.__uclibc_locale_struct.201* %locale_arg) #0 { +entry: + %retval = alloca i8*, align 8 + %item.addr = alloca i32, align 4 + %locale_arg.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %c = alloca i32, align 4 + %i = alloca i32, align 4 + store i32 %item, i32* %item.addr, align 4 + store %struct.__uclibc_locale_struct.201* %locale_arg, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %0 = load i32, i32* %item.addr, align 4 + %shr = ashr i32 %0, 8 + store i32 %shr, i32* %c, align 4 + %1 = load i32, i32* %item.addr, align 4 + %and = and i32 %1, 255 + store i32 %and, i32* %i, align 4 + %2 = load i32, i32* %c, align 4 + %cmp = icmp ult i32 %2, 6 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %3 = load i32, i32* %i, align 4 + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %category_item_count = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %4, i32 0, i32 8 + %5 = load i32, i32* %c, align 4 + %idxprom = zext i32 %5 to i64 + %arrayidx = getelementptr inbounds [6 x i8], [6 x i8]* %category_item_count, i64 0, i64 %idxprom + %6 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %6 to i32 + %cmp1 = icmp ult i32 %3, %conv + br i1 %cmp1, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %7 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %8 = bitcast %struct.__uclibc_locale_struct.201* %7 to i8* + %9 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %category_offsets = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %9, i32 0, i32 7 + %10 = load i32, i32* %c, align 4 + %idxprom3 = zext i32 %10 to i64 + %arrayidx4 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets, i64 0, i64 %idxprom3 + %11 = load i16, i16* %arrayidx4, align 2 + %conv5 = zext i16 %11 to i32 + %idx.ext = sext i32 %conv5 to i64 + %add.ptr = getelementptr inbounds i8, i8* %8, i64 %idx.ext + %12 = bitcast i8* %add.ptr to i8** + %13 = load i32, i32* %i, align 4 + %idxprom6 = zext i32 %13 to i64 + %arrayidx7 = getelementptr inbounds i8*, i8** %12, i64 %idxprom6 + %14 = load i8*, i8** %arrayidx7, align 8 + store i8* %14, i8** %retval, align 8 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @empty, i64 0, i64 0), i8** %retval, align 8 + br label %return + +return: ; preds = %if.end, %if.then + %15 = load i8*, i8** %retval, align 8 + ret i8* %15 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @mbsnrtowcs(i32* noalias %dst, i8** noalias %src, i64 %NMC, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %retval = alloca i64, align 8 + %dst.addr = alloca i32*, align 8 + %src.addr = alloca i8**, align 8 + %NMC.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %wcbuf = alloca [1 x i32], align 4 + %s = alloca i8*, align 8 + %count = alloca i64, align 8 + %incr = alloca i32, align 4 + %r = alloca i64, align 8 + %wc = alloca i32, align 4 + store i32* %dst, i32** %dst.addr, align 8 + store i8** %src, i8*** %src.addr, align 8 + store i64 %NMC, i64* %NMC.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %tobool = icmp ne %struct.__mbstate_t.512* %0, null + %spec.store.select = select i1 %tobool, %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512* @mbsnrtowcs.mbstate + store %struct.__mbstate_t.512* %spec.store.select, %struct.__mbstate_t.512** %ps.addr, align 8 + %1 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %1, i32 0, i32 9 + %2 = load i8, i8* %encoding, align 8 + %conv = zext i8 %2 to i32 + %cmp = icmp eq i32 %conv, 1 + br i1 %cmp, label %if.then2, label %if.end5 + +if.then2: ; preds = %entry + %3 = load i32*, i32** %dst.addr, align 8 + %4 = load i64, i64* %len.addr, align 8 + %5 = load i8**, i8*** %src.addr, align 8 + %6 = load i64, i64* %NMC.addr, align 8 + %7 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @_wchar_utf8sntowcs(i32* %3, i64 %4, i8** %5, i64 %6, %struct.__mbstate_t.512* %7, i32 1) #18 + store i64 %call, i64* %r, align 8 + %cmp3 = icmp ne i64 %call, -2 + %8 = load i64, i64* %r, align 8 + %cond = select i1 %cmp3, i64 %8, i64 0 + store i64 %cond, i64* %retval, align 8 + br label %return + +if.end5: ; preds = %entry + store i32 1, i32* %incr, align 4 + %9 = load i32*, i32** %dst.addr, align 8 + %tobool6 = icmp ne i32* %9, null + br i1 %tobool6, label %lor.lhs.false, label %if.then9 + +lor.lhs.false: ; preds = %if.end5 + %10 = load i32*, i32** %dst.addr, align 8 + %11 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %12 = bitcast %struct.__mbstate_t.512* %11 to i32* + %cmp7 = icmp eq i32* %10, %12 + br i1 %cmp7, label %if.then9, label %if.end13 + +if.then9: ; preds = %lor.lhs.false, %if.end5 + %13 = load i32*, i32** %dst.addr, align 8 + %tobool10 = icmp ne i32* %13, null + br i1 %tobool10, label %if.end12, label %if.then11 + +if.then11: ; preds = %if.then9 + store i64 -1, i64* %len.addr, align 8 + br label %if.end12 + +if.end12: ; preds = %if.then11, %if.then9 + %arraydecay = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay, i32** %dst.addr, align 8 + store i32 0, i32* %incr, align 4 + br label %if.end13 + +if.end13: ; preds = %if.end12, %lor.lhs.false + %14 = load i64, i64* %len.addr, align 8 + %15 = load i64, i64* %NMC.addr, align 8 + %cmp14 = icmp ugt i64 %14, %15 + br i1 %cmp14, label %if.then16, label %if.end17 + +if.then16: ; preds = %if.end13 + %16 = load i64, i64* %NMC.addr, align 8 + store i64 %16, i64* %len.addr, align 8 + br label %if.end17 + +if.end17: ; preds = %if.then16, %if.end13 + %17 = load i64, i64* %len.addr, align 8 + store i64 %17, i64* %count, align 8 + %18 = load i8**, i8*** %src.addr, align 8 + %19 = load i8*, i8** %18, align 8 + store i8* %19, i8** %s, align 8 + %20 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding18 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %20, i32 0, i32 9 + %21 = load i8, i8* %encoding18, align 8 + %conv19 = zext i8 %21 to i32 + %cmp20 = icmp eq i32 %conv19, 2 + br i1 %cmp20, label %while.cond, label %while.cond46 + +while.cond: ; preds = %if.end17, %if.end38 + %22 = load i64, i64* %count, align 8 + %tobool23 = icmp ne i64 %22, 0 + br i1 %tobool23, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %23 = load i8*, i8** %s, align 8 + %24 = load i8, i8* %23, align 1 + %conv24 = zext i8 %24 to i32 + store i32 %conv24, i32* %wc, align 4 + %cmp25 = icmp sge i32 %conv24, 128 + br i1 %cmp25, label %if.then27, label %if.end35 + +if.then27: ; preds = %while.body + %25 = load i32, i32* %wc, align 4 + %sub = sub nsw i32 %25, 128 + store i32 %sub, i32* %wc, align 4 + %26 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %tbl8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %26, i32 0, i32 17 + %27 = load i16*, i16** %tbl8c2wc, align 8 + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %idx8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %28, i32 0, i32 16 + %29 = load i8*, i8** %idx8c2wc, align 8 + %30 = load i32, i32* %wc, align 4 + %shr = ashr i32 %30, 3 + %idxprom = sext i32 %shr to i64 + %arrayidx = getelementptr inbounds i8, i8* %29, i64 %idxprom + %31 = load i8, i8* %arrayidx, align 1 + %conv28 = zext i8 %31 to i32 + %shl = shl i32 %conv28, 3 + %32 = load i32, i32* %wc, align 4 + %and = and i32 %32, 7 + %add = add nsw i32 %shl, %and + %idxprom29 = sext i32 %add to i64 + %arrayidx30 = getelementptr inbounds i16, i16* %27, i64 %idxprom29 + %33 = load i16, i16* %arrayidx30, align 2 + %conv31 = zext i16 %33 to i32 + store i32 %conv31, i32* %wc, align 4 + %34 = load i32, i32* %wc, align 4 + %tobool32 = icmp ne i32 %34, 0 + br i1 %tobool32, label %if.end35, label %BAD + +if.end35: ; preds = %if.then27, %while.body + %35 = load i32, i32* %wc, align 4 + %36 = load i32*, i32** %dst.addr, align 8 + store i32 %35, i32* %36, align 4 + %tobool36 = icmp ne i32 %35, 0 + br i1 %tobool36, label %if.end38, label %if.then37 + +if.then37: ; preds = %if.end35 + store i8* null, i8** %s, align 8 + br label %while.end + +if.end38: ; preds = %if.end35 + %37 = load i32, i32* %incr, align 4 + %38 = load i32*, i32** %dst.addr, align 8 + %idx.ext = sext i32 %37 to i64 + %add.ptr = getelementptr inbounds i32, i32* %38, i64 %idx.ext + store i32* %add.ptr, i32** %dst.addr, align 8 + %39 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %39, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %40 = load i64, i64* %count, align 8 + %dec = add i64 %40, -1 + store i64 %dec, i64* %count, align 8 + br label %while.cond + +while.end: ; preds = %if.then37, %while.cond + %41 = load i32*, i32** %dst.addr, align 8 + %arraydecay39 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %cmp40 = icmp ne i32* %41, %arraydecay39 + br i1 %cmp40, label %if.then42, label %if.end43 + +if.then42: ; preds = %while.end + %42 = load i8*, i8** %s, align 8 + %43 = load i8**, i8*** %src.addr, align 8 + store i8* %42, i8** %43, align 8 + br label %if.end43 + +if.end43: ; preds = %if.then42, %while.end + %44 = load i64, i64* %len.addr, align 8 + %45 = load i64, i64* %count, align 8 + %sub44 = sub i64 %44, %45 + store i64 %sub44, i64* %retval, align 8 + br label %return + +while.cond46: ; preds = %if.end17, %if.end57 + %46 = load i64, i64* %count, align 8 + %tobool47 = icmp ne i64 %46, 0 + br i1 %tobool47, label %while.body48, label %while.end62 + +while.body48: ; preds = %while.cond46 + %47 = load i8*, i8** %s, align 8 + %48 = load i8, i8* %47, align 1 + %conv49 = zext i8 %48 to i32 + %49 = load i32*, i32** %dst.addr, align 8 + store i32 %conv49, i32* %49, align 4 + %cmp50 = icmp eq i32 %conv49, 0 + br i1 %cmp50, label %if.then52, label %if.end53 + +if.then52: ; preds = %while.body48 + store i8* null, i8** %s, align 8 + br label %while.end62 + +if.end53: ; preds = %while.body48 + %50 = load i32*, i32** %dst.addr, align 8 + %51 = load i32, i32* %50, align 4 + %cmp54 = icmp sge i32 %51, 128 + br i1 %cmp54, label %BAD, label %if.end57 + +BAD: ; preds = %if.end53, %if.then27 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end57: ; preds = %if.end53 + %52 = load i8*, i8** %s, align 8 + %incdec.ptr58 = getelementptr inbounds i8, i8* %52, i32 1 + store i8* %incdec.ptr58, i8** %s, align 8 + %53 = load i32, i32* %incr, align 4 + %54 = load i32*, i32** %dst.addr, align 8 + %idx.ext59 = sext i32 %53 to i64 + %add.ptr60 = getelementptr inbounds i32, i32* %54, i64 %idx.ext59 + store i32* %add.ptr60, i32** %dst.addr, align 8 + %55 = load i64, i64* %count, align 8 + %dec61 = add i64 %55, -1 + store i64 %dec61, i64* %count, align 8 + br label %while.cond46 + +while.end62: ; preds = %if.then52, %while.cond46 + %56 = load i32*, i32** %dst.addr, align 8 + %arraydecay63 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %cmp64 = icmp ne i32* %56, %arraydecay63 + br i1 %cmp64, label %if.then66, label %if.end67 + +if.then66: ; preds = %while.end62 + %57 = load i8*, i8** %s, align 8 + %58 = load i8**, i8*** %src.addr, align 8 + store i8* %57, i8** %58, align 8 + br label %if.end67 + +if.end67: ; preds = %if.then66, %while.end62 + %59 = load i64, i64* %len.addr, align 8 + %60 = load i64, i64* %count, align 8 + %sub68 = sub i64 %59, %60 + store i64 %sub68, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end67, %BAD, %if.end43, %if.then2 + %61 = load i64, i64* %retval, align 8 + ret i64 %61 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @iswctype(i32 %wc, i32 %desc) #0 { +entry: + %wc.addr = alloca i32, align 4 + %desc.addr = alloca i32, align 4 + store i32 %wc, i32* %wc.addr, align 4 + store i32 %desc, i32* %desc.addr, align 4 + %0 = load i32, i32* %wc.addr, align 4 + %1 = load i32, i32* %desc.addr, align 4 + %2 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %call = call i32 @iswctype_l(i32 %0, i32 %1, %struct.__uclibc_locale_struct.201* %2) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define hidden %struct.__STDIO_FILE_STRUCT.568* @_stdio_fopen(i64 %fname_or_mode, i8* noalias %mode, %struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %filedes) #0 { +entry: + %retval = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %fname_or_mode.addr = alloca i64, align 8 + %mode.addr = alloca i8*, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %filedes.addr = alloca i32, align 4 + %open_mode = alloca i32, align 4 + %i = alloca i32, align 4 + store i64 %fname_or_mode, i64* %fname_or_mode.addr, align 8 + store i8* %mode, i8** %mode.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %filedes, i32* %filedes.addr, align 4 + store i32 0, i32* %open_mode, align 4 + %0 = load i8*, i8** %mode.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %cmp = icmp ne i32 %conv, 114 + br i1 %cmp, label %if.then, label %if.end17 + +if.then: ; preds = %entry + store i32 577, i32* %open_mode, align 4 + %2 = load i8*, i8** %mode.addr, align 8 + %3 = load i8, i8* %2, align 1 + %conv2 = sext i8 %3 to i32 + %cmp3 = icmp ne i32 %conv2, 119 + br i1 %cmp3, label %if.then5, label %if.end17 + +if.then5: ; preds = %if.then + store i32 1089, i32* %open_mode, align 4 + %4 = load i8*, i8** %mode.addr, align 8 + %5 = load i8, i8* %4, align 1 + %conv6 = sext i8 %5 to i32 + %cmp7 = icmp ne i32 %conv6, 97 + br i1 %cmp7, label %DO_EINVAL, label %if.end17 + +DO_EINVAL: ; preds = %if.then40, %land.lhs.true, %if.then5 + store i32 22, i32* @errno, align 4 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %6, null + br i1 %tobool, label %do.body, label %if.end14 + +do.body: ; preds = %if.end62, %DO_EINVAL + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %7, i32 0, i32 0 + %8 = load i16, i16* %__modeflags, align 8 + %conv11 = zext i16 %8 to i32 + %and = and i32 %conv11, 8192 + %tobool12 = icmp ne i32 %and, 0 + br i1 %tobool12, label %if.then13, label %if.end14 + +if.then13: ; preds = %do.body + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %10 = bitcast %struct.__STDIO_FILE_STRUCT.568* %9 to i8* + call void @free(i8* %10) #19 + br label %if.end14 + +if.end14: ; preds = %if.then13, %do.body, %DO_EINVAL + store %struct.__STDIO_FILE_STRUCT.568* null, %struct.__STDIO_FILE_STRUCT.568** %retval, align 8 + br label %return + +if.end17: ; preds = %if.then, %if.then5, %entry + %11 = load i8*, i8** %mode.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %11, i64 1 + %12 = load i8, i8* %arrayidx, align 1 + %conv18 = sext i8 %12 to i32 + %cmp19 = icmp eq i32 %conv18, 98 + br i1 %cmp19, label %if.then21, label %if.end22 + +if.then21: ; preds = %if.end17 + %13 = load i8*, i8** %mode.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %13, i32 1 + store i8* %incdec.ptr, i8** %mode.addr, align 8 + br label %if.end22 + +if.end22: ; preds = %if.then21, %if.end17 + %14 = load i8*, i8** %mode.addr, align 8 + %arrayidx23 = getelementptr inbounds i8, i8* %14, i64 1 + %15 = load i8, i8* %arrayidx23, align 1 + %conv24 = sext i8 %15 to i32 + %cmp25 = icmp eq i32 %conv24, 43 + br i1 %cmp25, label %if.then27, label %if.end29 + +if.then27: ; preds = %if.end22 + %16 = load i8*, i8** %mode.addr, align 8 + %incdec.ptr28 = getelementptr inbounds i8, i8* %16, i32 1 + store i8* %incdec.ptr28, i8** %mode.addr, align 8 + %17 = load i32, i32* %open_mode, align 4 + %or = or i32 %17, 1 + store i32 %or, i32* %open_mode, align 4 + %18 = load i32, i32* %open_mode, align 4 + %add = add i32 %18, 1 + store i32 %add, i32* %open_mode, align 4 + br label %if.end29 + +if.end29: ; preds = %if.then27, %if.end22 + %19 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %tobool30 = icmp ne %struct.__STDIO_FILE_STRUCT.568* %19, null + br i1 %tobool30, label %if.end37, label %if.then31 + +if.then31: ; preds = %if.end29 + %call = call noalias i8* @malloc(i64 88) #19 + %20 = bitcast i8* %call to %struct.__STDIO_FILE_STRUCT.568* + store %struct.__STDIO_FILE_STRUCT.568* %20, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp32 = icmp eq %struct.__STDIO_FILE_STRUCT.568* %20, null + %21 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %cmp32, label %if.then34, label %if.end35 + +if.then34: ; preds = %if.then31 + store %struct.__STDIO_FILE_STRUCT.568* %21, %struct.__STDIO_FILE_STRUCT.568** %retval, align 8 + br label %return + +if.end35: ; preds = %if.then31 + %__modeflags36 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %21, i32 0, i32 0 + store i16 8192, i16* %__modeflags36, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 3 + store i8* null, i8** %__bufstart, align 8 + br label %if.end37 + +if.end37: ; preds = %if.end35, %if.end29 + %23 = load i32, i32* %filedes.addr, align 4 + %cmp38 = icmp sge i32 %23, 0 + %24 = load i32, i32* %filedes.addr, align 4 + br i1 %cmp38, label %if.then40, label %if.else + +if.then40: ; preds = %if.end37 + %25 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %25, i32 0, i32 2 + store i32 %24, i32* %__filedes, align 4 + %26 = load i32, i32* %open_mode, align 4 + %and41 = and i32 %26, 3 + %add42 = add i32 %and41, 1 + store i32 %add42, i32* %i, align 4 + %27 = load i32, i32* %i, align 4 + %28 = load i64, i64* %fname_or_mode.addr, align 8 + %conv43 = trunc i64 %28 to i32 + %add44 = add nsw i32 %conv43, 1 + %and45 = and i32 %27, %add44 + %29 = load i32, i32* %i, align 4 + %cmp46 = icmp ne i32 %and45, %29 + br i1 %cmp46, label %DO_EINVAL, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then40 + %30 = load i32, i32* %open_mode, align 4 + %31 = load i64, i64* %fname_or_mode.addr, align 8 + %conv48 = trunc i64 %31 to i32 + %neg = xor i32 %conv48, -1 + %and49 = and i32 %30, %neg + %and50 = and i32 %and49, 1024 + %tobool51 = icmp ne i32 %and50, 0 + br i1 %tobool51, label %land.lhs.true, label %if.end55 + +land.lhs.true: ; preds = %lor.lhs.false + %32 = load i32, i32* %filedes.addr, align 4 + %call52 = call i32 (i32, i32, ...) @fcntl(i32 %32, i32 4, i32 1024) #18 + %tobool53 = icmp ne i32 %call52, 0 + br i1 %tobool53, label %DO_EINVAL, label %if.end55 + +if.end55: ; preds = %land.lhs.true, %lor.lhs.false + %33 = load i64, i64* %fname_or_mode.addr, align 8 + %conv56 = trunc i64 %33 to i32 + %and57 = and i32 %conv56, 0 + %34 = load i32, i32* %open_mode, align 4 + %or58 = or i32 %34, %and57 + store i32 %or58, i32* %open_mode, align 4 + br label %if.end69 + +if.else: ; preds = %if.end37 + %cmp59 = icmp slt i32 %24, -1 + br i1 %cmp59, label %if.then61, label %if.end62 + +if.then61: ; preds = %if.else + %35 = load i32, i32* %open_mode, align 4 + store i32 %35, i32* %open_mode, align 4 + br label %if.end62 + +if.end62: ; preds = %if.then61, %if.else + %36 = load i64, i64* %fname_or_mode.addr, align 8 + %37 = inttoptr i64 %36 to i8* + %38 = load i32, i32* %open_mode, align 4 + %call63 = call i32 (i8*, i32, ...) @open(i8* %37, i32 %38, i32 438) #18 + %39 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes64 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %39, i32 0, i32 2 + store i32 %call63, i32* %__filedes64, align 4 + %cmp65 = icmp slt i32 %call63, 0 + br i1 %cmp65, label %do.body, label %if.end69 + +if.end69: ; preds = %if.end62, %if.end55 + %40 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags70 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %40, i32 0, i32 0 + %41 = load i16, i16* %__modeflags70, align 8 + %conv71 = zext i16 %41 to i32 + %and72 = and i32 %conv71, 8192 + %conv73 = trunc i32 %and72 to i16 + store i16 %conv73, i16* %__modeflags70, align 8 + %42 = load i32, i32* %open_mode, align 4 + %and74 = and i32 %42, 1024 + %43 = load i32, i32* %open_mode, align 4 + %and75 = and i32 %43, 3 + %add76 = add i32 %and75, 1 + %xor = xor i32 %add76, 3 + %mul = mul i32 %xor, 16 + %or77 = or i32 %and74, %mul + %44 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags78 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %44, i32 0, i32 0 + %45 = load i16, i16* %__modeflags78, align 8 + %conv79 = zext i16 %45 to i32 + %or80 = or i32 %conv79, %or77 + %conv81 = trunc i32 %or80 to i16 + store i16 %conv81, i16* %__modeflags78, align 8 + %46 = load i32, i32* @errno, align 4 + store i32 %46, i32* %i, align 4 + %47 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes82 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %47, i32 0, i32 2 + %48 = load i32, i32* %__filedes82, align 4 + %call83 = call i32 @isatty(i32 %48) #19 + %mul84 = mul i32 %call83, 256 + %49 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags85 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %49, i32 0, i32 0 + %50 = load i16, i16* %__modeflags85, align 8 + %conv86 = zext i16 %50 to i32 + %or87 = or i32 %conv86, %mul84 + %conv88 = trunc i32 %or87 to i16 + store i16 %conv88, i16* %__modeflags85, align 8 + %51 = load i32, i32* %i, align 4 + store i32 %51, i32* @errno, align 4 + %52 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart89 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %52, i32 0, i32 3 + %53 = load i8*, i8** %__bufstart89, align 8 + %tobool90 = icmp ne i8* %53, null + br i1 %tobool90, label %if.end106, label %if.then91 + +if.then91: ; preds = %if.end69 + %call92 = call noalias i8* @malloc(i64 4096) #19 + %54 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart93 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %54, i32 0, i32 3 + store i8* %call92, i8** %__bufstart93, align 8 + %cmp94 = icmp ne i8* %call92, null + %55 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart97 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %55, i32 0, i32 3 + %56 = load i8*, i8** %__bufstart97, align 8 + br i1 %cmp94, label %if.then96, label %if.else102 + +if.then96: ; preds = %if.then91 + %add.ptr = getelementptr inbounds i8, i8* %56, i64 4096 + %57 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %57, i32 0, i32 4 + store i8* %add.ptr, i8** %__bufend, align 8 + %58 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags98 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %58, i32 0, i32 0 + %59 = load i16, i16* %__modeflags98, align 8 + %conv99 = zext i16 %59 to i32 + %or100 = or i32 %conv99, 16384 + %conv101 = trunc i32 %or100 to i16 + store i16 %conv101, i16* %__modeflags98, align 8 + br label %if.end106 + +if.else102: ; preds = %if.then91 + %60 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend104 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %60, i32 0, i32 4 + store i8* %56, i8** %__bufend104, align 8 + br label %if.end106 + +if.end106: ; preds = %if.then96, %if.else102, %if.end69 + %61 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart107 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %61, i32 0, i32 3 + %62 = load i8*, i8** %__bufstart107, align 8 + %63 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %63, i32 0, i32 7 + store i8* %62, i8** %__bufgetc_u, align 8 + %64 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart108 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %64, i32 0, i32 3 + %65 = load i8*, i8** %__bufstart108, align 8 + %66 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %66, i32 0, i32 8 + store i8* %65, i8** %__bufputc_u, align 8 + %67 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart109 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %67, i32 0, i32 3 + %68 = load i8*, i8** %__bufstart109, align 8 + %69 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %69, i32 0, i32 5 + store i8* %68, i8** %__bufpos, align 8 + %70 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %70, i32 0, i32 6 + store i8* %68, i8** %__bufread, align 8 + %71 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %71, i32 0, i32 1 + %arrayidx110 = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 0 + store i8 0, i8* %arrayidx110, align 2 + %72 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %72, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + store i32 0, i32* %__mask, align 8 + %73 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + %74 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %74, i32 0, i32 9 + store %struct.__STDIO_FILE_STRUCT.568* %73, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + %75 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %75, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + %76 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %76, %struct.__STDIO_FILE_STRUCT.568** %retval, align 8 + br label %return + +return: ; preds = %if.end106, %if.then34, %if.end14 + %77 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %retval, align 8 + ret %struct.__STDIO_FILE_STRUCT.568* %77 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_fwrite(i8* noalias %buffer, i64 %bytes, %struct.__STDIO_FILE_STRUCT.568* noalias %stream) #0 { +entry: + %retval = alloca i64, align 8 + %buffer.addr = alloca i8*, align 8 + %bytes.addr = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %pending = alloca i64, align 8 + %p = alloca i8*, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %bytes, i64* %bytes.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 512 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end63, label %if.then + +if.then: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 2 + %3 = load i32, i32* %__filedes, align 4 + %cmp = icmp eq i32 %3, -2 + br i1 %cmp, label %if.then2, label %if.end8 + +if.then2: ; preds = %if.then + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 4 + %5 = load i8*, i8** %__bufend, align 8 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 5 + %7 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %pending, align 8 + %8 = load i64, i64* %pending, align 8 + %9 = load i64, i64* %bytes.addr, align 8 + %cmp3 = icmp ugt i64 %8, %9 + br i1 %cmp3, label %if.then5, label %if.end + +if.then5: ; preds = %if.then2 + %10 = load i64, i64* %bytes.addr, align 8 + store i64 %10, i64* %pending, align 8 + br label %if.end + +if.end: ; preds = %if.then5, %if.then2 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 5 + %12 = load i8*, i8** %__bufpos6, align 8 + %13 = load i8*, i8** %buffer.addr, align 8 + %14 = load i64, i64* %pending, align 8 + %call = call i8* @memcpy(i8* %12, i8* %13, i64 %14) #19 + %15 = load i64, i64* %pending, align 8 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos7 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %16, i32 0, i32 5 + %17 = load i8*, i8** %__bufpos7, align 8 + %add.ptr = getelementptr inbounds i8, i8* %17, i64 %15 + store i8* %add.ptr, i8** %__bufpos7, align 8 + %18 = load i64, i64* %bytes.addr, align 8 + store i64 %18, i64* %retval, align 8 + br label %return + +if.end8: ; preds = %if.then + %19 = load i64, i64* %bytes.addr, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend9 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 4 + %21 = load i8*, i8** %__bufend9, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 5 + %23 = load i8*, i8** %__bufpos10, align 8 + %sub.ptr.lhs.cast11 = ptrtoint i8* %21 to i64 + %sub.ptr.rhs.cast12 = ptrtoint i8* %23 to i64 + %sub.ptr.sub13 = sub i64 %sub.ptr.lhs.cast11, %sub.ptr.rhs.cast12 + %cmp14 = icmp ule i64 %19, %sub.ptr.sub13 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 5 + %25 = load i8*, i8** %__bufpos17, align 8 + br i1 %cmp14, label %if.then16, label %if.end51 + +if.then16: ; preds = %if.end8 + %26 = load i8*, i8** %buffer.addr, align 8 + %27 = load i64, i64* %bytes.addr, align 8 + %call18 = call i8* @memcpy(i8* %25, i8* %26, i64 %27) #19 + %28 = load i64, i64* %bytes.addr, align 8 + %29 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos19 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %29, i32 0, i32 5 + %30 = load i8*, i8** %__bufpos19, align 8 + %add.ptr20 = getelementptr inbounds i8, i8* %30, i64 %28 + store i8* %add.ptr20, i8** %__bufpos19, align 8 + %31 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags21 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %31, i32 0, i32 0 + %32 = load i16, i16* %__modeflags21, align 8 + %conv22 = zext i16 %32 to i32 + %and23 = and i32 %conv22, 256 + %tobool24 = icmp ne i32 %and23, 0 + br i1 %tobool24, label %land.lhs.true, label %if.end50 + +land.lhs.true: ; preds = %if.then16 + %33 = load i8*, i8** %buffer.addr, align 8 + %34 = load i64, i64* %bytes.addr, align 8 + %call25 = call i8* @memrchr(i8* %33, i32 10, i64 %34) #20 + %tobool26 = icmp ne i8* %call25, null + br i1 %tobool26, label %if.then27, label %if.end50 + +if.then27: ; preds = %land.lhs.true + %35 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call28 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %35) #18 + store i64 %call28, i64* %pending, align 8 + %cmp29 = icmp ugt i64 %call28, 0 + br i1 %cmp29, label %if.then31, label %if.end50 + +if.then31: ; preds = %if.then27 + %36 = load i64, i64* %pending, align 8 + %37 = load i64, i64* %bytes.addr, align 8 + %cmp32 = icmp ugt i64 %36, %37 + br i1 %cmp32, label %if.then34, label %if.end35 + +if.then34: ; preds = %if.then31 + %38 = load i64, i64* %bytes.addr, align 8 + store i64 %38, i64* %pending, align 8 + br label %if.end35 + +if.end35: ; preds = %if.then34, %if.then31 + %39 = load i64, i64* %bytes.addr, align 8 + %40 = load i64, i64* %pending, align 8 + %sub = sub i64 %39, %40 + %41 = load i8*, i8** %buffer.addr, align 8 + %add.ptr36 = getelementptr inbounds i8, i8* %41, i64 %sub + store i8* %add.ptr36, i8** %buffer.addr, align 8 + %42 = load i8*, i8** %buffer.addr, align 8 + %43 = load i64, i64* %pending, align 8 + %call37 = call i8* @memchr(i8* %42, i32 10, i64 %43) #20 + store i8* %call37, i8** %p, align 8 + %cmp38 = icmp ne i8* %call37, null + br i1 %cmp38, label %if.then40, label %if.end50 + +if.then40: ; preds = %if.end35 + %44 = load i8*, i8** %buffer.addr, align 8 + %45 = load i64, i64* %pending, align 8 + %add.ptr41 = getelementptr inbounds i8, i8* %44, i64 %45 + %46 = load i8*, i8** %p, align 8 + %sub.ptr.lhs.cast42 = ptrtoint i8* %add.ptr41 to i64 + %sub.ptr.rhs.cast43 = ptrtoint i8* %46 to i64 + %sub.ptr.sub44 = sub i64 %sub.ptr.lhs.cast42, %sub.ptr.rhs.cast43 + store i64 %sub.ptr.sub44, i64* %pending, align 8 + %47 = load i64, i64* %pending, align 8 + %48 = load i64, i64* %bytes.addr, align 8 + %sub45 = sub i64 %48, %47 + store i64 %sub45, i64* %bytes.addr, align 8 + %49 = load i64, i64* %pending, align 8 + %50 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos46 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %50, i32 0, i32 5 + %51 = load i8*, i8** %__bufpos46, align 8 + %idx.neg = sub i64 0, %49 + %add.ptr47 = getelementptr inbounds i8, i8* %51, i64 %idx.neg + store i8* %add.ptr47, i8** %__bufpos46, align 8 + br label %if.end50 + +if.end50: ; preds = %if.then27, %if.then40, %if.end35, %land.lhs.true, %if.then16 + %52 = load i64, i64* %bytes.addr, align 8 + store i64 %52, i64* %retval, align 8 + br label %return + +if.end51: ; preds = %if.end8 + %53 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %53, i32 0, i32 3 + %54 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast53 = ptrtoint i8* %25 to i64 + %sub.ptr.rhs.cast54 = ptrtoint i8* %54 to i64 + %sub.ptr.sub55 = sub i64 %sub.ptr.lhs.cast53, %sub.ptr.rhs.cast54 + %tobool56 = icmp ne i64 %sub.ptr.sub55, 0 + br i1 %tobool56, label %if.then57, label %if.end63 + +if.then57: ; preds = %if.end51 + %55 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call58 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %55) #18 + %tobool59 = icmp ne i64 %call58, 0 + br i1 %tobool59, label %if.then60, label %if.end63 + +if.then60: ; preds = %if.then57 + store i64 0, i64* %retval, align 8 + br label %return + +if.end63: ; preds = %if.end51, %if.then57, %entry + %56 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %57 = load i8*, i8** %buffer.addr, align 8 + %58 = load i64, i64* %bytes.addr, align 8 + %call64 = call i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %56, i8* %57, i64 %58) #18 + store i64 %call64, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end63, %if.then60, %if.end50, %if.end + %59 = load i64, i64* %retval, align 8 + ret i64 %59 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %oflag) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %oflag.addr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %oflag, i32* %oflag.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %2 = load i32, i32* %oflag.addr, align 4 + %and = and i32 %conv, %2 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end9, label %if.then + +if.then: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 0 + %4 = load i16, i16* %__modeflags1, align 8 + %conv2 = zext i16 %4 to i32 + %and3 = and i32 %conv2, 2176 + %tobool4 = icmp ne i32 %and3, 0 + br i1 %tobool4, label %DO_EBADF, label %if.end + +if.end: ; preds = %if.then + %5 = load i32, i32* %oflag.addr, align 4 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 0 + %7 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %7 to i32 + %or = or i32 %conv7, %5 + %conv8 = trunc i32 %or to i16 + store i16 %conv8, i16* %__modeflags6, align 8 + br label %if.end9 + +if.end9: ; preds = %if.end, %entry + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags10, align 8 + %conv11 = zext i16 %9 to i32 + %and12 = and i32 %conv11, 32 + %tobool13 = icmp ne i32 %and12, 0 + br i1 %tobool13, label %DO_EBADF, label %if.end19 + +DO_EBADF: ; preds = %if.end9, %if.then + store i32 9, i32* @errno, align 4 + br label %ERROR + +ERROR: ; preds = %land.lhs.true, %DO_EBADF + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags15 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 0 + %11 = load i16, i16* %__modeflags15, align 8 + %conv16 = zext i16 %11 to i32 + %or17 = or i32 %conv16, 8 + %conv18 = trunc i32 %or17 to i16 + store i16 %conv18, i16* %__modeflags15, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end19: ; preds = %if.end9 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags20 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags20, align 8 + %conv21 = zext i16 %13 to i32 + %and22 = and i32 %conv21, 3 + %tobool23 = icmp ne i32 %and22, 0 + br i1 %tobool23, label %if.then24, label %if.end50 + +if.then24: ; preds = %if.end19 + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags25 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %14, i32 0, i32 0 + %15 = load i16, i16* %__modeflags25, align 8 + %conv26 = zext i16 %15 to i32 + %and27 = and i32 %conv26, 4 + %tobool28 = icmp ne i32 %and27, 0 + br i1 %tobool28, label %if.end42, label %if.then29 + +if.then29: ; preds = %if.then24 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %16, i32 0, i32 6 + %17 = load i8*, i8** %__bufread, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 5 + %19 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %17 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool30 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %tobool30, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then29 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags31 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 0 + %21 = load i16, i16* %__modeflags31, align 8 + %conv32 = zext i16 %21 to i32 + %and33 = and i32 %conv32, 2 + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %land.lhs.true, label %if.end42 + +land.lhs.true: ; preds = %lor.lhs.false, %if.then29 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %23 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags35 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %23, i32 0, i32 0 + %24 = load i16, i16* %__modeflags35, align 8 + %conv36 = zext i16 %24 to i32 + %and37 = and i32 %conv36, 1024 + %tobool38 = icmp ne i32 %and37, 0 + %25 = zext i1 %tobool38 to i64 + %cond = select i1 %tobool38, i32 2, i32 1 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32)* @fseek to i32 (%struct.__STDIO_FILE_STRUCT.568*, i64, i32)*)(%struct.__STDIO_FILE_STRUCT.568* %22, i64 0, i32 %cond) #18 + %tobool39 = icmp ne i32 %call, 0 + br i1 %tobool39, label %ERROR, label %if.end42 + +if.end42: ; preds = %lor.lhs.false, %land.lhs.true, %if.then24 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags43 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 0 + %27 = load i16, i16* %__modeflags43, align 8 + %conv44 = zext i16 %27 to i32 + %and45 = and i32 %conv44, -4 + %conv46 = trunc i32 %and45 to i16 + store i16 %conv46, i16* %__modeflags43, align 8 + %28 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %28, i32 0, i32 3 + %29 = load i8*, i8** %__bufstart, align 8 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %30, i32 0, i32 7 + store i8* %29, i8** %__bufgetc_u, align 8 + %31 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart47 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %31, i32 0, i32 3 + %32 = load i8*, i8** %__bufstart47, align 8 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos48 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %33, i32 0, i32 5 + store i8* %32, i8** %__bufpos48, align 8 + %34 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread49 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %34, i32 0, i32 6 + store i8* %32, i8** %__bufread49, align 8 + br label %if.end50 + +if.end50: ; preds = %if.end42, %if.end19 + %35 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags51 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %35, i32 0, i32 0 + %36 = load i16, i16* %__modeflags51, align 8 + %conv52 = zext i16 %36 to i32 + %or53 = or i32 %conv52, 64 + %conv54 = trunc i32 %or53 to i16 + store i16 %conv54, i16* %__modeflags51, align 8 + %37 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags55 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %37, i32 0, i32 0 + %38 = load i16, i16* %__modeflags55, align 8 + %conv56 = zext i16 %38 to i32 + %and57 = and i32 %conv56, 2816 + %tobool58 = icmp ne i32 %and57, 0 + br i1 %tobool58, label %if.end60, label %if.then59 + +if.then59: ; preds = %if.end50 + %39 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %39, i32 0, i32 4 + %40 = load i8*, i8** %__bufend, align 8 + %41 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %41, i32 0, i32 8 + store i8* %40, i8** %__bufputc_u, align 8 + br label %if.end60 + +if.end60: ; preds = %if.then59, %if.end50 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end60, %ERROR + %42 = load i32, i32* %retval, align 4 + ret i32 %42 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fseeko64(%struct.__STDIO_FILE_STRUCT.636* %stream, i64 %offset, i32 %whence) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + %pos = alloca i64, align 8 + %retval1 = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i64, i64* %offset.addr, align 8 + store i64 %0, i64* %pos, align 8 + store i32 -1, i32* %retval1, align 4 + %1 = load i32, i32* %whence.addr, align 4 + %cmp = icmp ugt i32 %1, 2 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + store i32 22, i32* @errno, align 4 + br label %if.end20 + +if.else: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %2, i32 0, i32 0 + %3 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %3 to i32 + %and = and i32 %conv, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %lor.lhs.false, label %land.lhs.true + +lor.lhs.false: ; preds = %if.else + %4 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %call = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.568*)* @__stdio_wcommit to i64 (%struct.__STDIO_FILE_STRUCT.636*)*)(%struct.__STDIO_FILE_STRUCT.636* %4) #18 + %tobool2 = icmp ne i64 %call, 0 + br i1 %tobool2, label %if.end20, label %land.lhs.true + +land.lhs.true: ; preds = %lor.lhs.false, %if.else + %5 = load i32, i32* %whence.addr, align 4 + %cmp3 = icmp ne i32 %5, 1 + br i1 %cmp3, label %land.lhs.true9, label %lor.lhs.false5 + +lor.lhs.false5: ; preds = %land.lhs.true + %6 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %call6 = call i32 @__stdio_adjust_position(%struct.__STDIO_FILE_STRUCT.636* %6, i64* %pos) #18 + %cmp7 = icmp sge i32 %call6, 0 + br i1 %cmp7, label %land.lhs.true9, label %if.end20 + +land.lhs.true9: ; preds = %lor.lhs.false5, %land.lhs.true + %7 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %8 = load i32, i32* %whence.addr, align 4 + %call10 = call i32 @__stdio_seek(%struct.__STDIO_FILE_STRUCT.636* %7, i64* %pos, i32 %8) #18 + %cmp11 = icmp sge i32 %call10, 0 + br i1 %cmp11, label %if.then13, label %if.end20 + +if.then13: ; preds = %land.lhs.true9 + %9 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags14 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %9, i32 0, i32 0 + %10 = load i16, i16* %__modeflags14, align 8 + %conv15 = zext i16 %10 to i32 + %and16 = and i32 %conv15, -72 + %conv17 = trunc i32 %and16 to i16 + store i16 %conv17, i16* %__modeflags14, align 8 + %11 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %11, i32 0, i32 3 + %12 = load i8*, i8** %__bufstart, align 8 + %13 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %13, i32 0, i32 5 + store i8* %12, i8** %__bufpos, align 8 + %14 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %14, i32 0, i32 6 + store i8* %12, i8** %__bufread, align 8 + %15 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufstart18 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %15, i32 0, i32 3 + %16 = load i8*, i8** %__bufstart18, align 8 + %17 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %17, i32 0, i32 7 + store i8* %16, i8** %__bufgetc_u, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufstart19 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %18, i32 0, i32 3 + %19 = load i8*, i8** %__bufstart19, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %20, i32 0, i32 8 + store i8* %19, i8** %__bufputc_u, align 8 + %21 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %21, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + store i32 0, i32* %__mask, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %22, i32 0, i32 1 + %arrayidx = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 0 + store i8 0, i8* %arrayidx, align 2 + store i32 0, i32* %retval1, align 4 + br label %if.end20 + +if.end20: ; preds = %lor.lhs.false, %lor.lhs.false5, %land.lhs.true9, %if.then13, %if.then + %23 = load i32, i32* %retval1, align 4 + ret i32 %23 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i8* noalias %format, %struct.__va_list_tag.0* %arg) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %format.addr = alloca i8*, align 8 + %arg.addr = alloca %struct.__va_list_tag.0*, align 8 + %ppfs = alloca %struct.ppfs_t.722, align 8 + %count = alloca i32, align 4 + %r = alloca i32, align 4 + %s = alloca i8*, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + store %struct.__va_list_tag.0* %arg, %struct.__va_list_tag.0** %arg.addr, align 8 + store i32 0, i32* %count, align 4 + %0 = load i8*, i8** %format.addr, align 8 + store i8* %0, i8** %s, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %1, i32 0, i32 0 + %2 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %2 to i32 + %and = and i32 %conv, 192 + %cmp = icmp eq i32 %and, 192 + br i1 %cmp, label %if.else, label %land.lhs.true + +land.lhs.true: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* %3, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %land.lhs.true + store i32 -1, i32* %count, align 4 + br label %if.end65 + +if.else: ; preds = %land.lhs.true, %entry + %4 = load i8*, i8** %format.addr, align 8 + %call2 = call i32 @_ppfs_init(%struct.ppfs_t.722* %ppfs, i8* %4) #18 + %cmp3 = icmp slt i32 %call2, 0 + br i1 %cmp3, label %if.then5, label %if.else13 + +if.then5: ; preds = %if.else + %fmtpos = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %5 = load i8*, i8** %fmtpos, align 8 + %call6 = call i64 @strlen(i8* %5) #20 + %cmp7 = icmp ugt i64 %call6, 0 + br i1 %cmp7, label %cond.true, label %cond.end + +cond.true: ; preds = %if.then5 + %fmtpos9 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %6 = load i8*, i8** %fmtpos9, align 8 + %fmtpos10 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %7 = load i8*, i8** %fmtpos10, align 8 + %call11 = call i64 @strlen(i8* %7) #20 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call12 = call i64 @__stdio_fwrite(i8* %6, i64 %call11, %struct.__STDIO_FILE_STRUCT.568* %8) #18 + br label %cond.end + +cond.end: ; preds = %if.then5, %cond.true + %cond = phi i64 [ %call12, %cond.true ], [ 0, %if.then5 ] + store i32 -1, i32* %count, align 4 + br label %if.end65 + +if.else13: ; preds = %if.else + %9 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %arg.addr, align 8 + call void @_ppfs_prepargs(%struct.ppfs_t.722* %ppfs, %struct.__va_list_tag.0* %9) #18 + br label %do.body + +do.body: ; preds = %do.cond, %if.else13 + br label %while.cond + +while.cond: ; preds = %while.body, %do.body + %10 = load i8*, i8** %format.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv14 = sext i8 %11 to i32 + %tobool15 = icmp ne i32 %conv14, 0 + br i1 %tobool15, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %12 = load i8*, i8** %format.addr, align 8 + %13 = load i8, i8* %12, align 1 + %conv16 = sext i8 %13 to i32 + %cmp17 = icmp ne i32 %conv16, 37 + br label %land.end + +land.end: ; preds = %land.rhs, %while.cond + %14 = phi i1 [ false, %while.cond ], [ %cmp17, %land.rhs ] + %15 = load i8*, i8** %format.addr, align 8 + br i1 %14, label %while.body, label %while.end + +while.body: ; preds = %land.end + %incdec.ptr = getelementptr inbounds i8, i8* %15, i32 1 + store i8* %incdec.ptr, i8** %format.addr, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %16 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %15 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %16 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool19 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %tobool19, label %if.then20, label %if.end42 + +if.then20: ; preds = %while.end + %17 = load i8*, i8** %format.addr, align 8 + %18 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast21 = ptrtoint i8* %17 to i64 + %sub.ptr.rhs.cast22 = ptrtoint i8* %18 to i64 + %sub.ptr.sub23 = sub i64 %sub.ptr.lhs.cast21, %sub.ptr.rhs.cast22 + %cmp24 = icmp sgt i64 %sub.ptr.sub23, 0 + br i1 %cmp24, label %cond.true26, label %cond.end32 + +cond.true26: ; preds = %if.then20 + %19 = load i8*, i8** %s, align 8 + %20 = load i8*, i8** %format.addr, align 8 + %21 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast27 = ptrtoint i8* %20 to i64 + %sub.ptr.rhs.cast28 = ptrtoint i8* %21 to i64 + %sub.ptr.sub29 = sub i64 %sub.ptr.lhs.cast27, %sub.ptr.rhs.cast28 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call30 = call i64 @__stdio_fwrite(i8* %19, i64 %sub.ptr.sub29, %struct.__STDIO_FILE_STRUCT.568* %22) #18 + br label %cond.end32 + +cond.end32: ; preds = %if.then20, %cond.true26 + %cond33 = phi i64 [ %call30, %cond.true26 ], [ 0, %if.then20 ] + %conv34 = trunc i64 %cond33 to i32 + store i32 %conv34, i32* %r, align 4 + %conv35 = sext i32 %conv34 to i64 + %23 = load i8*, i8** %format.addr, align 8 + %24 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast36 = ptrtoint i8* %23 to i64 + %sub.ptr.rhs.cast37 = ptrtoint i8* %24 to i64 + %sub.ptr.sub38 = sub i64 %sub.ptr.lhs.cast36, %sub.ptr.rhs.cast37 + %cmp39 = icmp ne i64 %conv35, %sub.ptr.sub38 + br i1 %cmp39, label %if.then41, label %if.end + +if.then41: ; preds = %cond.end32 + store i32 -1, i32* %count, align 4 + br label %do.end + +if.end: ; preds = %cond.end32 + %25 = load i32, i32* %r, align 4 + %26 = load i32, i32* %count, align 4 + %add = add nsw i32 %26, %25 + store i32 %add, i32* %count, align 4 + br label %if.end42 + +if.end42: ; preds = %if.end, %while.end + %27 = load i8*, i8** %format.addr, align 8 + %28 = load i8, i8* %27, align 1 + %tobool43 = icmp ne i8 %28, 0 + br i1 %tobool43, label %if.end45, label %do.end + +if.end45: ; preds = %if.end42 + %29 = load i8*, i8** %format.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %29, i64 1 + %30 = load i8, i8* %arrayidx, align 1 + %conv46 = sext i8 %30 to i32 + %cmp47 = icmp ne i32 %conv46, 37 + %31 = load i8*, i8** %format.addr, align 8 + %incdec.ptr50 = getelementptr inbounds i8, i8* %31, i32 1 + store i8* %incdec.ptr50, i8** %format.addr, align 8 + br i1 %cmp47, label %if.then49, label %if.else58 + +if.then49: ; preds = %if.end45 + %fmtpos51 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + store i8* %incdec.ptr50, i8** %fmtpos51, align 8 + %32 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call52 = call i32 @_do_one_spec(%struct.__STDIO_FILE_STRUCT.568* %32, %struct.ppfs_t.722* %ppfs, i32* %count) #18 + store i32 %call52, i32* %r, align 4 + %cmp53 = icmp slt i32 %call52, 0 + br i1 %cmp53, label %if.then55, label %if.end56 + +if.then55: ; preds = %if.then49 + store i32 -1, i32* %count, align 4 + br label %do.end + +if.end56: ; preds = %if.then49 + %fmtpos57 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %33 = load i8*, i8** %fmtpos57, align 8 + store i8* %33, i8** %format.addr, align 8 + store i8* %33, i8** %s, align 8 + br label %do.cond + +if.else58: ; preds = %if.end45 + store i8* %incdec.ptr50, i8** %s, align 8 + %34 = load i8*, i8** %format.addr, align 8 + %incdec.ptr60 = getelementptr inbounds i8, i8* %34, i32 1 + store i8* %incdec.ptr60, i8** %format.addr, align 8 + br label %do.cond + +do.cond: ; preds = %if.end56, %if.else58 + br label %do.body + +do.end: ; preds = %if.end42, %if.then55, %if.then41 + %arg62 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 7 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg62, i64 0, i64 0 + %arraydecay63 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_end(i8* %arraydecay63) + br label %if.end65 + +if.end65: ; preds = %cond.end, %do.end, %if.then + %35 = load i32, i32* %count, align 4 + ret i32 %35 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_do_one_spec(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, %struct.ppfs_t.722* %ppfs, i32* %count) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %count.addr = alloca i32*, align 8 + %argptr = alloca [1 x i8*], align 8 + %argtype = alloca i32*, align 8 + %ws = alloca i32*, align 8 + %mbstate = alloca %struct.__mbstate_t.512, align 4 + %slen = alloca i64, align 8 + %base = alloca i32, align 4 + %numpad = alloca i32, align 4 + %alphacase = alloca i32, align 4 + %numfill = alloca i32, align 4 + %prefix_num = alloca i32, align 4 + %padchar = alloca i8, align 1 + %buf = alloca [128 x i8], align 16 + %p = alloca %union.anon.193*, align 8 + %i = alloca i32, align 4 + %s = alloca i8*, align 8 + %nf = alloca i64, align 8 + %t = alloca i64, align 8 + %t351 = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store i32* %count, i32** %count.addr, align 8 + store i32* null, i32** %ws, align 8 + store i32 0, i32* %numfill, align 4 + store i32 11, i32* %prefix_num, align 4 + store i8 32, i8* %padchar, align 1 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %call = call i32 @_ppfs_parsespec(%struct.ppfs_t.722* %0) #18 + %1 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + call void @_ppfs_setargs(%struct.ppfs_t.722* %1) #18 + %2 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype1 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %2, i32 0, i32 6 + %arraydecay = getelementptr inbounds [9 x i32], [9 x i32]* %argtype1, i64 0, i64 0 + %3 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %3, i32 0, i32 5 + %arrayidx = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber, i64 0, i64 2 + %4 = load i8, i8* %arrayidx, align 2 + %conv = zext i8 %4 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds i32, i32* %arraydecay, i64 %idx.ext + %add.ptr2 = getelementptr inbounds i32, i32* %add.ptr, i64 -1 + store i32* %add.ptr2, i32** %argtype, align 8 + %5 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argvalue = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %5, i32 0, i32 8 + %arraydecay3 = getelementptr inbounds [9 x %union.anon.193], [9 x %union.anon.193]* %argvalue, i64 0, i64 0 + store %union.anon.193* %arraydecay3, %union.anon.193** %p, align 8 + %6 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %6, i32 0, i32 2 + %7 = load i32, i32* %maxposarg, align 4 + %cmp = icmp sgt i32 %7, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %8 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber5 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %8, i32 0, i32 5 + %arrayidx6 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber5, i64 0, i64 2 + %9 = load i8, i8* %arrayidx6, align 2 + %conv7 = zext i8 %9 to i32 + %sub = sub nsw i32 %conv7, 1 + %10 = load %union.anon.193*, %union.anon.193** %p, align 8 + %idx.ext8 = sext i32 %sub to i64 + %add.ptr9 = getelementptr inbounds %union.anon.193, %union.anon.193* %10, i64 %idx.ext8 + store %union.anon.193* %add.ptr9, %union.anon.193** %p, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %11 = load i32, i32* %i, align 4 + %12 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %12, i32 0, i32 3 + %13 = load i32, i32* %num_data_args, align 8 + %cmp10 = icmp slt i32 %11, %13 + br i1 %cmp10, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %14 = load %union.anon.193*, %union.anon.193** %p, align 8 + %incdec.ptr = getelementptr inbounds %union.anon.193, %union.anon.193* %14, i32 1 + store %union.anon.193* %incdec.ptr, %union.anon.193** %p, align 8 + %15 = bitcast %union.anon.193* %14 to i8* + %16 = load i32, i32* %i, align 4 + %idxprom = sext i32 %16 to i64 + %arrayidx12 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 %idxprom + store i8* %15, i8** %arrayidx12, align 8 + %17 = load i32, i32* %i, align 4 + %inc = add nsw i32 %17, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + store i8* null, i8** %s, align 8 + %18 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %18, i32 0, i32 4 + %19 = load i32, i32* %conv_num, align 4 + %cmp13 = icmp eq i32 %19, 0 + br i1 %cmp13, label %if.then15, label %if.end18 + +if.then15: ; preds = %for.end + %arraydecay16 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %20 = load i8*, i8** %arraydecay16, align 8 + %21 = bitcast i8* %20 to i8** + %22 = load i8*, i8** %21, align 8 + %23 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %23, i32 0, i32 1 + %_flags = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 3 + %24 = load i32, i32* %_flags, align 4 + %and = and i32 %24, 3840 + %25 = load i32*, i32** %count.addr, align 8 + %26 = load i32, i32* %25, align 4 + %conv17 = sext i32 %26 to i64 + call void @_store_inttype(i8* %22, i32 %and, i64 %conv17) #18 + store i32 0, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %for.end + %27 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num19 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %27, i32 0, i32 4 + %28 = load i32, i32* %conv_num19, align 4 + %cmp20 = icmp ule i32 %28, 7 + br i1 %cmp20, label %if.then22, label %if.else179 + +if.then22: ; preds = %if.end18 + store i32 87, i32* %alphacase, align 4 + %29 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num23 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %29, i32 0, i32 4 + %30 = load i32, i32* %conv_num23, align 4 + %sub24 = sub i32 %30, 1 + %idxprom25 = sext i32 %sub24 to i64 + %arrayidx26 = getelementptr inbounds [7 x i8], [7 x i8]* @_do_one_spec.spec_base, i64 0, i64 %idxprom25 + %31 = load i8, i8* %arrayidx26, align 1 + %conv27 = sext i8 %31 to i32 + store i32 %conv27, i32* %base, align 4 + %cmp28 = icmp eq i32 %conv27, 10 + br i1 %cmp28, label %if.then30, label %if.end42 + +if.then30: ; preds = %if.then22 + %32 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info31 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %32, i32 0, i32 1 + %_flags32 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info31, i32 0, i32 3 + %33 = load i32, i32* %_flags32, align 4 + %and33 = and i32 %33, 32 + %tobool = icmp ne i32 %and33, 0 + br i1 %tobool, label %if.then34, label %if.end35 + +if.then34: ; preds = %if.then30 + store i32 44, i32* %alphacase, align 4 + br label %if.end35 + +if.end35: ; preds = %if.then34, %if.then30 + %34 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info36 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %34, i32 0, i32 1 + %_flags37 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info36, i32 0, i32 3 + %35 = load i32, i32* %_flags37, align 4 + %and38 = and i32 %35, 64 + %tobool39 = icmp ne i32 %and38, 0 + br i1 %tobool39, label %if.then40, label %if.end42 + +if.then40: ; preds = %if.end35 + %36 = load i32, i32* %alphacase, align 4 + %or = or i32 %36, 128 + store i32 %or, i32* %alphacase, align 4 + br label %if.end42 + +if.end42: ; preds = %if.end35, %if.then40, %if.then22 + %37 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num43 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %37, i32 0, i32 4 + %38 = load i32, i32* %conv_num43, align 4 + %cmp44 = icmp ule i32 %38, 5 + br i1 %cmp44, label %if.then46, label %if.else57 + +if.then46: ; preds = %if.end42 + %39 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num47 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %39, i32 0, i32 4 + %40 = load i32, i32* %conv_num47, align 4 + %cmp48 = icmp eq i32 %40, 3 + br i1 %cmp48, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.then46 + store i32 55, i32* %alphacase, align 4 + br label %if.end51 + +if.end51: ; preds = %if.then50, %if.then46 + %41 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num52 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %41, i32 0, i32 4 + %42 = load i32, i32* %conv_num52, align 4 + %cmp53 = icmp eq i32 %42, 1 + br i1 %cmp53, label %if.then55, label %if.end59 + +if.then55: ; preds = %if.end51 + store i32 6, i32* %prefix_num, align 4 + br label %if.end59 + +if.else57: ; preds = %if.end42 + %43 = load i32, i32* %base, align 4 + %sub58 = sub nsw i32 0, %43 + store i32 %sub58, i32* %base, align 4 + br label %if.end59 + +if.end59: ; preds = %if.then55, %if.end51, %if.else57 + %44 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info60 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %44, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info60, i32 0, i32 0 + %45 = load i32, i32* %prec, align 8 + %cmp61 = icmp slt i32 %45, 0 + br i1 %cmp61, label %if.then63, label %if.end66 + +if.then63: ; preds = %if.end59 + %46 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info64 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %46, i32 0, i32 1 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info64, i32 0, i32 4 + %47 = load i32, i32* %pad, align 8 + %conv65 = trunc i32 %47 to i8 + store i8 %conv65, i8* %padchar, align 1 + br label %if.end66 + +if.end66: ; preds = %if.then63, %if.end59 + %arraydecay67 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %add.ptr68 = getelementptr inbounds i8, i8* %arraydecay67, i64 128 + %add.ptr69 = getelementptr inbounds i8, i8* %add.ptr68, i64 -1 + %48 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num70 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %48, i32 0, i32 4 + %49 = load i32, i32* %conv_num70, align 4 + %cmp71 = icmp eq i32 %49, 1 + br i1 %cmp71, label %cond.end, label %cond.false + +cond.false: ; preds = %if.end66 + %50 = load i32*, i32** %argtype, align 8 + %51 = load i32, i32* %50, align 4 + %and73 = and i32 %51, 3840 + br label %cond.end + +cond.end: ; preds = %if.end66, %cond.false + %cond = phi i32 [ %and73, %cond.false ], [ 1024, %if.end66 ] + %arraydecay74 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %52 = load i8*, i8** %arraydecay74, align 8 + %53 = load i32, i32* %base, align 4 + %call75 = call i64 @_load_inttype(i32 %cond, i8* %52, i32 %53) #18 + %54 = load i32, i32* %base, align 4 + %55 = load i32, i32* %alphacase, align 4 + %call76 = call i8* @_uintmaxtostr(i8* %add.ptr69, i64 %call75, i32 %54, i32 %55) #18 + store i8* %call76, i8** %s, align 8 + %56 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num77 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %56, i32 0, i32 4 + %57 = load i32, i32* %conv_num77, align 4 + %cmp78 = icmp ugt i32 %57, 5 + br i1 %cmp78, label %if.then80, label %if.end104 + +if.then80: ; preds = %cond.end + %58 = load i8*, i8** %s, align 8 + %59 = load i8, i8* %58, align 1 + %conv81 = sext i8 %59 to i32 + %cmp82 = icmp eq i32 %conv81, 45 + %60 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info85 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %60, i32 0, i32 1 + %_flags86 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info85, i32 0, i32 3 + %61 = load i32, i32* %_flags86, align 4 + br i1 %cmp82, label %if.then84, label %if.else89 + +if.then84: ; preds = %if.then80 + %or87 = or i32 %61, 2 + store i32 %or87, i32* %_flags86, align 4 + %62 = load i8*, i8** %s, align 8 + %incdec.ptr88 = getelementptr inbounds i8, i8* %62, i32 1 + store i8* %incdec.ptr88, i8** %s, align 8 + store i32 2, i32* %prefix_num, align 4 + br label %if.end104 + +if.else89: ; preds = %if.then80 + %and92 = and i32 %61, 2 + %tobool93 = icmp ne i32 %and92, 0 + br i1 %tobool93, label %if.then94, label %if.else95 + +if.then94: ; preds = %if.else89 + store i32 0, i32* %prefix_num, align 4 + br label %if.end104 + +if.else95: ; preds = %if.else89 + %63 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info96 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %63, i32 0, i32 1 + %_flags97 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info96, i32 0, i32 3 + %64 = load i32, i32* %_flags97, align 4 + %and98 = and i32 %64, 1 + %tobool99 = icmp ne i32 %and98, 0 + br i1 %tobool99, label %if.then100, label %if.end104 + +if.then100: ; preds = %if.else95 + store i32 4, i32* %prefix_num, align 4 + br label %if.end104 + +if.end104: ; preds = %if.then84, %if.else95, %if.then100, %if.then94, %cond.end + %arraydecay105 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %add.ptr106 = getelementptr inbounds i8, i8* %arraydecay105, i64 128 + %add.ptr107 = getelementptr inbounds i8, i8* %add.ptr106, i64 -1 + %65 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %add.ptr107 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %65 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %slen, align 8 + %66 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info108 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %66, i32 0, i32 1 + %prec109 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info108, i32 0, i32 0 + %67 = load i32, i32* %prec109, align 8 + %cmp110 = icmp slt i32 %67, 0 + br i1 %cmp110, label %cond.end116, label %cond.false113 + +cond.false113: ; preds = %if.end104 + %68 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info114 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %68, i32 0, i32 1 + %prec115 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info114, i32 0, i32 0 + %69 = load i32, i32* %prec115, align 8 + br label %cond.end116 + +cond.end116: ; preds = %if.end104, %cond.false113 + %cond117 = phi i32 [ %69, %cond.false113 ], [ 1, %if.end104 ] + store i32 %cond117, i32* %numfill, align 4 + %70 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info118 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %70, i32 0, i32 1 + %_flags119 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info118, i32 0, i32 3 + %71 = load i32, i32* %_flags119, align 4 + %and120 = and i32 %71, 16 + %tobool121 = icmp ne i32 %and120, 0 + br i1 %tobool121, label %if.then122, label %if.end149 + +if.then122: ; preds = %cond.end116 + %72 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num123 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %72, i32 0, i32 4 + %73 = load i32, i32* %conv_num123, align 4 + %cmp124 = icmp ule i32 %73, 2 + br i1 %cmp124, label %if.then126, label %if.end127 + +if.then126: ; preds = %if.then122 + store i32 6, i32* %prefix_num, align 4 + br label %if.end127 + +if.end127: ; preds = %if.then126, %if.then122 + %74 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num128 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %74, i32 0, i32 4 + %75 = load i32, i32* %conv_num128, align 4 + %cmp129 = icmp eq i32 %75, 3 + br i1 %cmp129, label %if.then131, label %if.end132 + +if.then131: ; preds = %if.end127 + store i32 9, i32* %prefix_num, align 4 + br label %if.end132 + +if.end132: ; preds = %if.then131, %if.end127 + %76 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num133 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %76, i32 0, i32 4 + %77 = load i32, i32* %conv_num133, align 4 + %cmp134 = icmp eq i32 %77, 4 + br i1 %cmp134, label %land.lhs.true, label %if.end149 + +land.lhs.true: ; preds = %if.end132 + %78 = load i32, i32* %numfill, align 4 + %conv136 = sext i32 %78 to i64 + %79 = load i64, i64* %slen, align 8 + %cmp137 = icmp ule i64 %conv136, %79 + br i1 %cmp137, label %if.then139, label %if.end149 + +if.then139: ; preds = %land.lhs.true + %80 = load i8*, i8** %s, align 8 + %81 = load i8, i8* %80, align 1 + %conv140 = sext i8 %81 to i32 + %cmp141 = icmp eq i32 %conv140, 48 + %82 = load i64, i64* %slen, align 8 + %add = add i64 %82, 1 + %cond146 = select i1 %cmp141, i64 1, i64 %add + %conv147 = trunc i64 %cond146 to i32 + store i32 %conv147, i32* %numfill, align 4 + br label %if.end149 + +if.end149: ; preds = %if.end132, %land.lhs.true, %if.then139, %cond.end116 + %83 = load i8*, i8** %s, align 8 + %84 = load i8, i8* %83, align 1 + %conv150 = sext i8 %84 to i32 + %cmp151 = icmp eq i32 %conv150, 48 + br i1 %cmp151, label %if.then153, label %if.end168 + +if.then153: ; preds = %if.end149 + %85 = load i32, i32* %prefix_num, align 4 + %cmp154 = icmp sge i32 %85, 6 + br i1 %cmp154, label %if.then156, label %if.end157 + +if.then156: ; preds = %if.then153 + store i32 11, i32* %prefix_num, align 4 + br label %if.end157 + +if.end157: ; preds = %if.then156, %if.then153 + %86 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num158 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %86, i32 0, i32 4 + %87 = load i32, i32* %conv_num158, align 4 + %cmp159 = icmp eq i32 %87, 1 + br i1 %cmp159, label %if.then161, label %if.else162 + +if.then161: ; preds = %if.end157 + store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.362, i64 0, i64 0), i8** %s, align 8 + store i64 5, i64* %slen, align 8 + store i32 0, i32* %numfill, align 4 + br label %if.end168 + +if.else162: ; preds = %if.end157 + %88 = load i32, i32* %numfill, align 4 + %cmp163 = icmp eq i32 %88, 0 + br i1 %cmp163, label %if.then165, label %if.end168 + +if.then165: ; preds = %if.else162 + store i64 0, i64* %slen, align 8 + br label %if.end168 + +if.end168: ; preds = %if.then161, %if.then165, %if.else162, %if.end149 + %89 = load i32, i32* %numfill, align 4 + %conv169 = sext i32 %89 to i64 + %90 = load i64, i64* %slen, align 8 + %cmp170 = icmp ugt i64 %conv169, %90 + %91 = load i32, i32* %numfill, align 4 + %conv173 = sext i32 %91 to i64 + %92 = load i64, i64* %slen, align 8 + %sub174 = sub i64 %conv173, %92 + %cond177 = select i1 %cmp170, i64 %sub174, i64 0 + %conv178 = trunc i64 %cond177 to i32 + store i32 %conv178, i32* %numfill, align 4 + br label %if.end278 + +if.else179: ; preds = %if.end18 + %93 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num180 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %93, i32 0, i32 4 + %94 = load i32, i32* %conv_num180, align 4 + %cmp181 = icmp ule i32 %94, 15 + br i1 %cmp181, label %if.then183, label %if.else203 + +if.then183: ; preds = %if.else179 + %95 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %arraydecay189 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %96 = load i8*, i8** %arraydecay189, align 8 + %97 = bitcast i8* %96 to double* + %98 = load double, double* %97, align 8 + %99 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info194 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %99, i32 0, i32 1 + %call195 = call i64 @_fpmaxtostr(%struct.__STDIO_FILE_STRUCT.568* %95, double %98, %struct.printf_info.720* %info194, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)* @_fp_out_narrow) #18 + store i64 %call195, i64* %nf, align 8 + %100 = load i64, i64* %nf, align 8 + %cmp196 = icmp slt i64 %100, 0 + br i1 %cmp196, label %if.then198, label %if.end199 + +if.then198: ; preds = %if.then183 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end199: ; preds = %if.then183 + %101 = load i64, i64* %nf, align 8 + %102 = load i32*, i32** %count.addr, align 8 + %103 = load i32, i32* %102, align 4 + %conv200 = sext i32 %103 to i64 + %add201 = add nsw i64 %conv200, %101 + %conv202 = trunc i64 %add201 to i32 + store i32 %conv202, i32* %102, align 4 + store i32 0, i32* %retval, align 4 + br label %return + +if.else203: ; preds = %if.else179 + %104 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num204 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %104, i32 0, i32 4 + %105 = load i32, i32* %conv_num204, align 4 + %cmp205 = icmp ule i32 %105, 17 + br i1 %cmp205, label %if.then207, label %if.else242 + +if.then207: ; preds = %if.else203 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %mbstate, i32 0, i32 0 + store i32 0, i32* %__mask, align 4 + %106 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num208 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %106, i32 0, i32 4 + %107 = load i32, i32* %conv_num208, align 4 + %cmp209 = icmp eq i32 %107, 17 + br i1 %cmp209, label %if.then211, label %if.else232 + +if.then211: ; preds = %if.then207 + %arraydecay212 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %108 = load i8*, i8** %arraydecay212, align 8 + %109 = bitcast i8* %108 to i32** + %110 = load i32*, i32** %109, align 8 + store i32* %110, i32** %ws, align 8 + %tobool213 = icmp ne i32* %110, null + br i1 %tobool213, label %if.end215, label %NULL_STRING + +if.end215: ; preds = %if.then211 + %111 = bitcast i32** %ws to i8* + %112 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info216 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %112, i32 0, i32 1 + %prec217 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info216, i32 0, i32 0 + %113 = load i32, i32* %prec217, align 8 + %cmp218 = icmp sge i32 %113, 0 + br i1 %cmp218, label %cond.true220, label %cond.end225 + +cond.true220: ; preds = %if.end215 + %114 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info221 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %114, i32 0, i32 1 + %prec222 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info221, i32 0, i32 0 + %115 = load i32, i32* %prec222, align 8 + %conv223 = sext i32 %115 to i64 + br label %cond.end225 + +cond.end225: ; preds = %if.end215, %cond.true220 + %cond226 = phi i64 [ %conv223, %cond.true220 ], [ -1, %if.end215 ] + %call227 = call i64 @wcsrtombs(i8* %111, i32** %ws, i64 %cond226, %struct.__mbstate_t.512* %mbstate) #19 + store i64 %call227, i64* %slen, align 8 + %cmp228 = icmp eq i64 %call227, -1 + br i1 %cmp228, label %if.then230, label %if.end278 + +if.then230: ; preds = %cond.end225 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else232: ; preds = %if.then207 + %arraydecay233 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay233, i8** %s, align 8 + %116 = load i8*, i8** %s, align 8 + %arraydecay234 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %117 = load i8*, i8** %arraydecay234, align 8 + %118 = bitcast i8* %117 to i32* + %119 = load i32, i32* %118, align 4 + %call235 = call i64 @wcrtomb(i8* %116, i32 %119, %struct.__mbstate_t.512* %mbstate) #19 + store i64 %call235, i64* %slen, align 8 + %120 = load i64, i64* %slen, align 8 + %cmp236 = icmp eq i64 %120, -1 + br i1 %cmp236, label %if.then238, label %if.end239 + +if.then238: ; preds = %if.else232 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end239: ; preds = %if.else232 + %121 = load i8*, i8** %s, align 8 + %122 = load i64, i64* %slen, align 8 + %arrayidx240 = getelementptr inbounds i8, i8* %121, i64 %122 + store i8 0, i8* %arrayidx240, align 1 + br label %if.end278 + +if.else242: ; preds = %if.else203 + %123 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num243 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %123, i32 0, i32 4 + %124 = load i32, i32* %conv_num243, align 4 + %cmp244 = icmp ule i32 %124, 19 + br i1 %cmp244, label %if.then246, label %if.else274 + +if.then246: ; preds = %if.else242 + %125 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num247 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %125, i32 0, i32 4 + %126 = load i32, i32* %conv_num247, align 4 + %cmp248 = icmp eq i32 %126, 19 + br i1 %cmp248, label %if.then250, label %if.else268 + +if.then250: ; preds = %if.then246 + %arraydecay251 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %127 = load i8*, i8** %arraydecay251, align 8 + %128 = bitcast i8* %127 to i8** + %129 = load i8*, i8** %128, align 8 + store i8* %129, i8** %s, align 8 + %130 = load i8*, i8** %s, align 8 + %tobool252 = icmp ne i8* %130, null + br i1 %tobool252, label %if.then253, label %NULL_STRING + +if.then253: ; preds = %if.then250 + %131 = load i8*, i8** %s, align 8 + %132 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info254 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %132, i32 0, i32 1 + %prec255 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info254, i32 0, i32 0 + %133 = load i32, i32* %prec255, align 8 + %cmp256 = icmp sge i32 %133, 0 + br i1 %cmp256, label %cond.true258, label %cond.end263 + +cond.true258: ; preds = %if.then253 + %134 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info259 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %134, i32 0, i32 1 + %prec260 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info259, i32 0, i32 0 + %135 = load i32, i32* %prec260, align 8 + %conv261 = sext i32 %135 to i64 + br label %cond.end263 + +cond.end263: ; preds = %if.then253, %cond.true258 + %cond264 = phi i64 [ %conv261, %cond.true258 ], [ -1, %if.then253 ] + %call265 = call i64 @strnlen(i8* %131, i64 %cond264) #20 + store i64 %call265, i64* %slen, align 8 + br label %if.end278 + +NULL_STRING: ; preds = %if.then250, %if.then211 + store i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.363, i64 0, i64 0), i8** %s, align 8 + store i64 6, i64* %slen, align 8 + br label %if.end278 + +if.else268: ; preds = %if.then246 + %arraydecay269 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay269, i8** %s, align 8 + %arraydecay270 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %136 = load i8*, i8** %arraydecay270, align 8 + %137 = bitcast i8* %136 to i32* + %138 = load i32, i32* %137, align 4 + %conv271 = trunc i32 %138 to i8 + %139 = load i8*, i8** %s, align 8 + store i8 %conv271, i8* %139, align 1 + %140 = load i8*, i8** %s, align 8 + %arrayidx272 = getelementptr inbounds i8, i8* %140, i64 1 + store i8 0, i8* %arrayidx272, align 1 + store i64 1, i64* %slen, align 8 + br label %if.end278 + +if.else274: ; preds = %if.else242 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end278: ; preds = %cond.end263, %NULL_STRING, %if.else268, %if.end239, %cond.end225, %if.end168 + %141 = load i64, i64* %slen, align 8 + %142 = load i32, i32* %numfill, align 4 + %conv279 = sext i32 %142 to i64 + %add280 = add i64 %141, %conv279 + store i64 %add280, i64* %t, align 8 + %143 = load i32, i32* %prefix_num, align 4 + %cmp281 = icmp ne i32 %143, 11 + br i1 %cmp281, label %if.then283, label %if.end289 + +if.then283: ; preds = %if.end278 + %144 = load i32, i32* %prefix_num, align 4 + %cmp284 = icmp slt i32 %144, 6 + %145 = zext i1 %cmp284 to i64 + %cond286 = select i1 %cmp284, i32 1, i32 2 + %conv287 = sext i32 %cond286 to i64 + %146 = load i64, i64* %t, align 8 + %add288 = add i64 %146, %conv287 + store i64 %add288, i64* %t, align 8 + br label %if.end289 + +if.end289: ; preds = %if.then283, %if.end278 + %147 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info290 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %147, i32 0, i32 1 + %width = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info290, i32 0, i32 1 + %148 = load i32, i32* %width, align 4 + %conv291 = sext i32 %148 to i64 + %149 = load i64, i64* %t, align 8 + %cmp292 = icmp ugt i64 %conv291, %149 + br i1 %cmp292, label %cond.true294, label %cond.end300 + +cond.true294: ; preds = %if.end289 + %150 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info295 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %150, i32 0, i32 1 + %width296 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info295, i32 0, i32 1 + %151 = load i32, i32* %width296, align 4 + %conv297 = sext i32 %151 to i64 + %152 = load i64, i64* %t, align 8 + %sub298 = sub i64 %conv297, %152 + br label %cond.end300 + +cond.end300: ; preds = %if.end289, %cond.true294 + %cond301 = phi i64 [ %sub298, %cond.true294 ], [ 0, %if.end289 ] + %conv302 = trunc i64 %cond301 to i32 + store i32 %conv302, i32* %numpad, align 4 + %153 = load i64, i64* %t, align 8 + %154 = load i32, i32* %numpad, align 4 + %conv303 = sext i32 %154 to i64 + %add304 = add i64 %153, %conv303 + %155 = load i32*, i32** %count.addr, align 8 + %156 = load i32, i32* %155, align 4 + %conv305 = sext i32 %156 to i64 + %add306 = add i64 %conv305, %add304 + %conv307 = trunc i64 %add306 to i32 + store i32 %conv307, i32* %155, align 4 + %157 = load i8, i8* %padchar, align 1 + %conv308 = sext i8 %157 to i32 + %cmp309 = icmp eq i32 %conv308, 48 + br i1 %cmp309, label %if.then311, label %if.end313 + +if.then311: ; preds = %cond.end300 + %158 = load i32, i32* %numpad, align 4 + %159 = load i32, i32* %numfill, align 4 + %add312 = add nsw i32 %159, %158 + store i32 %add312, i32* %numfill, align 4 + store i32 0, i32* %numpad, align 4 + br label %if.end313 + +if.end313: ; preds = %if.then311, %cond.end300 + %160 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info314 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %160, i32 0, i32 1 + %_flags315 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info314, i32 0, i32 3 + %161 = load i32, i32* %_flags315, align 4 + %and316 = and i32 %161, 8 + %tobool317 = icmp ne i32 %and316, 0 + br i1 %tobool317, label %if.end326, label %if.then318 + +if.then318: ; preds = %if.end313 + %162 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %163 = load i32, i32* %numpad, align 4 + %conv319 = sext i32 %163 to i64 + %call320 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %162, i32 32, i64 %conv319) #18 + %164 = load i32, i32* %numpad, align 4 + %conv321 = sext i32 %164 to i64 + %cmp322 = icmp ne i64 %call320, %conv321 + br i1 %cmp322, label %if.then324, label %if.end325 + +if.then324: ; preds = %if.then318 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end325: ; preds = %if.then318 + store i32 0, i32* %numpad, align 4 + br label %if.end326 + +if.end326: ; preds = %if.end325, %if.end313 + %165 = load i32, i32* %prefix_num, align 4 + %idx.ext327 = sext i32 %165 to i64 + %add.ptr328 = getelementptr inbounds i8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @_do_one_spec.prefix, i64 0, i64 0), i64 %idx.ext327 + %166 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call329 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct.__STDIO_FILE_STRUCT.568*)*)(i8* %add.ptr328, %struct.__STDIO_FILE_STRUCT.568* %166) #18 + %167 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %168 = load i32, i32* %numfill, align 4 + %conv330 = sext i32 %168 to i64 + %call331 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %167, i32 48, i64 %conv330) #18 + %169 = load i32, i32* %numfill, align 4 + %conv332 = sext i32 %169 to i64 + %cmp333 = icmp ne i64 %call331, %conv332 + br i1 %cmp333, label %if.then335, label %if.end336 + +if.then335: ; preds = %if.end326 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end336: ; preds = %if.end326 + %170 = load i32*, i32** %ws, align 8 + %tobool337 = icmp ne i32* %170, null + br i1 %tobool337, label %if.else350, label %if.then338 + +if.then338: ; preds = %if.end336 + %171 = load i64, i64* %slen, align 8 + %cmp339 = icmp ugt i64 %171, 0 + br i1 %cmp339, label %cond.true341, label %cond.end344 + +cond.true341: ; preds = %if.then338 + %172 = load i8*, i8** %s, align 8 + %173 = load i64, i64* %slen, align 8 + %174 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call342 = call i64 @__stdio_fwrite(i8* %172, i64 %173, %struct.__STDIO_FILE_STRUCT.568* %174) #18 + br label %cond.end344 + +cond.end344: ; preds = %if.then338, %cond.true341 + %cond345 = phi i64 [ %call342, %cond.true341 ], [ 0, %if.then338 ] + %175 = load i64, i64* %slen, align 8 + %cmp346 = icmp ne i64 %cond345, %175 + br i1 %cmp346, label %if.then348, label %if.end375 + +if.then348: ; preds = %cond.end344 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else350: ; preds = %if.end336 + %__mask352 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %mbstate, i32 0, i32 0 + store i32 0, i32* %__mask352, align 4 + br label %while.cond + +while.cond: ; preds = %if.end373, %if.else350 + %176 = load i64, i64* %slen, align 8 + %tobool353 = icmp ne i64 %176, 0 + br i1 %tobool353, label %while.body, label %if.end375 + +while.body: ; preds = %while.cond + %177 = load i64, i64* %slen, align 8 + %cmp354 = icmp ule i64 %177, 128 + %178 = load i64, i64* %slen, align 8 + %cond359 = select i1 %cmp354, i64 %178, i64 128 + store i64 %cond359, i64* %t351, align 8 + %arraydecay360 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %179 = load i64, i64* %t351, align 8 + %call361 = call i64 @wcsrtombs(i8* %arraydecay360, i32** %ws, i64 %179, %struct.__mbstate_t.512* %mbstate) #19 + store i64 %call361, i64* %t351, align 8 + %180 = load i64, i64* %t351, align 8 + %cmp362 = icmp ugt i64 %180, 0 + br i1 %cmp362, label %cond.true364, label %cond.end368 + +cond.true364: ; preds = %while.body + %arraydecay365 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %181 = load i64, i64* %t351, align 8 + %182 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call366 = call i64 @__stdio_fwrite(i8* %arraydecay365, i64 %181, %struct.__STDIO_FILE_STRUCT.568* %182) #18 + br label %cond.end368 + +cond.end368: ; preds = %while.body, %cond.true364 + %cond369 = phi i64 [ %call366, %cond.true364 ], [ 0, %while.body ] + %183 = load i64, i64* %t351, align 8 + %cmp370 = icmp ne i64 %cond369, %183 + br i1 %cmp370, label %if.then372, label %if.end373 + +if.then372: ; preds = %cond.end368 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end373: ; preds = %cond.end368 + %184 = load i64, i64* %t351, align 8 + %185 = load i64, i64* %slen, align 8 + %sub374 = sub i64 %185, %184 + store i64 %sub374, i64* %slen, align 8 + br label %while.cond + +if.end375: ; preds = %while.cond, %cond.end344 + %186 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %187 = load i32, i32* %numpad, align 4 + %conv376 = sext i32 %187 to i64 + %call377 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %186, i32 32, i64 %conv376) #18 + %188 = load i32, i32* %numpad, align 4 + %conv378 = sext i32 %188 to i64 + %cmp379 = icmp ne i64 %call377, %conv378 + br i1 %cmp379, label %if.then381, label %if.end382 + +if.then381: ; preds = %if.end375 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end382: ; preds = %if.end375 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end382, %if.then381, %if.then372, %if.then348, %if.then335, %if.then324, %if.else274, %if.then238, %if.then230, %if.end199, %if.then198, %if.then15 + %189 = load i32, i32* %retval, align 4 + ret i32 %189 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @_fp_out_narrow(%struct.__STDIO_FILE_STRUCT.568* %fp, i64 %type, i64 %len, i64 %buf) #0 { +entry: + %retval = alloca i64, align 8 + %fp.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %type.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %buf.addr = alloca i64, align 8 + %r = alloca i64, align 8 + %buflen = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %fp, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + store i64 %type, i64* %type.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store i64 %buf, i64* %buf.addr, align 8 + store i64 0, i64* %r, align 8 + %0 = load i64, i64* %type.addr, align 8 + %and = and i64 %0, 128 + %tobool = icmp ne i64 %and, 0 + br i1 %tobool, label %if.then, label %if.end12 + +if.then: ; preds = %entry + %1 = load i64, i64* %buf.addr, align 8 + %2 = inttoptr i64 %1 to i8* + %call = call i64 @strlen(i8* %2) #20 + %conv = trunc i64 %call to i32 + store i32 %conv, i32* %buflen, align 4 + %3 = load i32, i32* %buflen, align 4 + %conv1 = sext i32 %3 to i64 + %4 = load i64, i64* %len.addr, align 8 + %sub = sub nsw i64 %4, %conv1 + store i64 %sub, i64* %len.addr, align 8 + %cmp = icmp sgt i64 %sub, 0 + br i1 %cmp, label %if.then3, label %if.end10 + +if.then3: ; preds = %if.then + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + %6 = load i64, i64* %type.addr, align 8 + %and4 = and i64 %6, 127 + %conv5 = trunc i64 %and4 to i32 + %7 = load i64, i64* %len.addr, align 8 + %call6 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %5, i32 %conv5, i64 %7) #18 + store i64 %call6, i64* %r, align 8 + %8 = load i64, i64* %len.addr, align 8 + %cmp7 = icmp ne i64 %call6, %8 + br i1 %cmp7, label %if.then9, label %if.end10 + +if.then9: ; preds = %if.then3 + %9 = load i64, i64* %r, align 8 + store i64 %9, i64* %retval, align 8 + br label %return + +if.end10: ; preds = %if.then3, %if.then + %10 = load i32, i32* %buflen, align 4 + %conv11 = sext i32 %10 to i64 + store i64 %conv11, i64* %len.addr, align 8 + br label %if.end12 + +if.end12: ; preds = %if.end10, %entry + %11 = load i64, i64* %r, align 8 + %12 = load i64, i64* %len.addr, align 8 + %cmp13 = icmp sgt i64 %12, 0 + br i1 %cmp13, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end12 + %13 = load i64, i64* %buf.addr, align 8 + %14 = inttoptr i64 %13 to i8* + %15 = load i64, i64* %len.addr, align 8 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + %call15 = call i64 @__stdio_fwrite(i8* %14, i64 %15, %struct.__STDIO_FILE_STRUCT.568* %16) #18 + br label %cond.end + +cond.end: ; preds = %if.end12, %cond.true + %cond = phi i64 [ %call15, %cond.true ], [ 0, %if.end12 ] + %add = add i64 %11, %cond + store i64 %add, i64* %retval, align 8 + br label %return + +return: ; preds = %cond.end, %if.then9 + %17 = load i64, i64* %retval, align 8 + ret i64 %17 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %padchar, i64 %numpad) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %padchar.addr = alloca i32, align 4 + %numpad.addr = alloca i64, align 8 + %todo = alloca i64, align 8 + %pad = alloca [1 x i8], align 1 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %padchar, i32* %padchar.addr, align 4 + store i64 %numpad, i64* %numpad.addr, align 8 + %0 = load i64, i64* %numpad.addr, align 8 + store i64 %0, i64* %todo, align 8 + %1 = load i32, i32* %padchar.addr, align 4 + %conv = trunc i32 %1 to i8 + %arraydecay = getelementptr inbounds [1 x i8], [1 x i8]* %pad, i64 0, i64 0 + store i8 %conv, i8* %arraydecay, align 1 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %2 = load i64, i64* %todo, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %arraydecay1 = getelementptr inbounds [1 x i8], [1 x i8]* %pad, i64 0, i64 0 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i64 @__stdio_fwrite(i8* %arraydecay1, i64 1, %struct.__STDIO_FILE_STRUCT.568* %3) #18 + %cmp = icmp eq i64 %call, 1 + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %land.rhs + %4 = load i64, i64* %todo, align 8 + %dec = add i64 %4, -1 + store i64 %dec, i64* %todo, align 8 + br label %while.cond + +while.end: ; preds = %while.cond, %land.rhs + %5 = load i64, i64* %numpad.addr, align 8 + %6 = load i64, i64* %todo, align 8 + %sub = sub i64 %5, %6 + ret i64 %sub +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__cxa_atexit(void (i8*)* %func, i8* %arg, i8* %dso_handle) #0 { +entry: + %retval = alloca i32, align 4 + %func.addr = alloca void (i8*)*, align 8 + %arg.addr = alloca i8*, align 8 + %dso_handle.addr = alloca i8*, align 8 + %efp = alloca %struct.exit_function*, align 8 + store void (i8*)* %func, void (i8*)** %func.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i8* %dso_handle, i8** %dso_handle.addr, align 8 + %0 = load void (i8*)*, void (i8*)** %func.addr, align 8 + %cmp = icmp eq void (i8*)* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %call = call %struct.exit_function* @__new_exitfn() #18 + store %struct.exit_function* %call, %struct.exit_function** %efp, align 8 + %1 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %cmp1 = icmp eq %struct.exit_function* %1, null + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + store i32 -1, i32* %retval, align 4 + br label %return + +if.end3: ; preds = %if.end + %2 = load void (i8*)*, void (i8*)** %func.addr, align 8 + %3 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs = getelementptr inbounds %struct.exit_function, %struct.exit_function* %3, i32 0, i32 1 + %cxa_atexit = bitcast %union.anon.772* %funcs to %struct.anon.0.771* + %func4 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit, i32 0, i32 0 + store void (i8*)* %2, void (i8*)** %func4, align 8 + %4 = load i8*, i8** %arg.addr, align 8 + %5 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs5 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %5, i32 0, i32 1 + %cxa_atexit6 = bitcast %union.anon.772* %funcs5 to %struct.anon.0.771* + %arg7 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit6, i32 0, i32 1 + store i8* %4, i8** %arg7, align 8 + %6 = load i8*, i8** %dso_handle.addr, align 8 + %7 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs8 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %7, i32 0, i32 1 + %cxa_atexit9 = bitcast %union.anon.772* %funcs8 to %struct.anon.0.771* + %dso_handle10 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit9, i32 0, i32 2 + store i8* %6, i8** %dso_handle10, align 8 + %8 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %type = getelementptr inbounds %struct.exit_function, %struct.exit_function* %8, i32 0, i32 0 + store i64 3, i64* %type, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end3, %if.then2, %if.then + %9 = load i32, i32* %retval, align 4 + ret i32 %9 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_stdlib_strto_l(i8* noalias %str, i8** noalias %endptr, i32 %base, i32 %sflag) #0 { +entry: + %str.addr = alloca i8*, align 8 + %endptr.addr = alloca i8**, align 8 + %base.addr = alloca i32, align 4 + %sflag.addr = alloca i32, align 4 + store i8* %str, i8** %str.addr, align 8 + store i8** %endptr, i8*** %endptr.addr, align 8 + store i32 %base, i32* %base.addr, align 4 + store i32 %sflag, i32* %sflag.addr, align 4 + %0 = load i8*, i8** %str.addr, align 8 + %1 = load i8**, i8*** %endptr.addr, align 8 + %2 = load i32, i32* %base.addr, align 4 + %3 = load i32, i32* %sflag.addr, align 4 + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %call = call i64 @_stdlib_strto_l_l(i8* %0, i8** %1, i32 %2, i32 %3, %struct.__uclibc_locale_struct.201* %4) #18 + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define i8* @getenv(i8* nonnull %var) #0 { +entry: + %retval = alloca i8*, align 8 + %var.addr = alloca i8*, align 8 + %len = alloca i32, align 4 + %ep = alloca i8**, align 8 + store i8* %var, i8** %var.addr, align 8 + %0 = load i8**, i8*** @__environ, align 8 + store i8** %0, i8*** %ep, align 8 + %tobool = icmp ne i8** %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %var.addr, align 8 + %call = call i64 @strlen(i8* %1) #20 + %conv = trunc i64 %call to i32 + store i32 %conv, i32* %len, align 4 + br label %while.cond + +while.cond: ; preds = %if.end10, %if.end + %2 = load i8**, i8*** %ep, align 8 + %3 = load i8*, i8** %2, align 8 + %tobool1 = icmp ne i8* %3, null + br i1 %tobool1, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i8*, i8** %var.addr, align 8 + %5 = load i8**, i8*** %ep, align 8 + %6 = load i8*, i8** %5, align 8 + %7 = load i32, i32* %len, align 4 + %conv2 = sext i32 %7 to i64 + %call3 = call i32 @memcmp(i8* %4, i8* %6, i64 %conv2) #20 + %cmp = icmp eq i32 %call3, 0 + br i1 %cmp, label %land.lhs.true, label %if.end10 + +land.lhs.true: ; preds = %while.body + %8 = load i8**, i8*** %ep, align 8 + %9 = load i8*, i8** %8, align 8 + %10 = load i32, i32* %len, align 4 + %idxprom = sext i32 %10 to i64 + %arrayidx = getelementptr inbounds i8, i8* %9, i64 %idxprom + %11 = load i8, i8* %arrayidx, align 1 + %conv5 = sext i8 %11 to i32 + %cmp6 = icmp eq i32 %conv5, 61 + br i1 %cmp6, label %if.then8, label %if.end10 + +if.then8: ; preds = %land.lhs.true + %12 = load i8**, i8*** %ep, align 8 + %13 = load i8*, i8** %12, align 8 + %14 = load i32, i32* %len, align 4 + %idx.ext = sext i32 %14 to i64 + %add.ptr = getelementptr inbounds i8, i8* %13, i64 %idx.ext + %add.ptr9 = getelementptr inbounds i8, i8* %add.ptr, i64 1 + store i8* %add.ptr9, i8** %retval, align 8 + br label %return + +if.end10: ; preds = %land.lhs.true, %while.body + %15 = load i8**, i8*** %ep, align 8 + %incdec.ptr = getelementptr inbounds i8*, i8** %15, i32 1 + store i8** %incdec.ptr, i8*** %ep, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then8, %if.then + %16 = load i8*, i8** %retval, align 8 + ret i8* %16 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @memmove(i8* nonnull %s1, i8* nonnull %s2, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %p, align 8 + %2 = load i8*, i8** %p, align 8 + %3 = load i8*, i8** %s, align 8 + %cmp = icmp uge i8* %2, %3 + br i1 %cmp, label %while.cond, label %while.cond2 + +while.cond: ; preds = %entry, %while.body + %4 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %4, 0 + br i1 %tobool, label %while.body, label %if.end + +while.body: ; preds = %while.cond + %5 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %6 = load i8, i8* %5, align 1 + %7 = load i8*, i8** %s, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %7, i32 1 + store i8* %incdec.ptr1, i8** %s, align 8 + store i8 %6, i8* %7, align 1 + %8 = load i64, i64* %n.addr, align 8 + %dec = add i64 %8, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.cond2: ; preds = %entry, %while.body4 + %9 = load i64, i64* %n.addr, align 8 + %tobool3 = icmp ne i64 %9, 0 + br i1 %tobool3, label %while.body4, label %if.end + +while.body4: ; preds = %while.cond2 + %10 = load i64, i64* %n.addr, align 8 + %dec5 = add i64 %10, -1 + store i64 %dec5, i64* %n.addr, align 8 + %11 = load i8*, i8** %p, align 8 + %12 = load i64, i64* %n.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %11, i64 %12 + %13 = load i8, i8* %arrayidx, align 1 + %14 = load i8*, i8** %s, align 8 + %15 = load i64, i64* %n.addr, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %14, i64 %15 + store i8 %13, i8* %arrayidx6, align 1 + br label %while.cond2 + +if.end: ; preds = %while.cond2, %while.cond + %16 = load i8*, i8** %s1.addr, align 8 + ret i8* %16 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @mempcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r1 = alloca i8*, align 8 + %r2 = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %r1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %r2, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %2 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load i8*, i8** %r2, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %r2, align 8 + %4 = load i8, i8* %3, align 1 + %5 = load i8*, i8** %r1, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr1, i8** %r1, align 8 + store i8 %4, i8* %5, align 1 + %6 = load i64, i64* %n.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %7 = load i8*, i8** %r1, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @stpcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + br label %while.cond + +while.cond: ; preds = %while.cond, %entry + %0 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %0, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %1 = load i8, i8* %0, align 1 + %2 = load i8*, i8** %s1.addr, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %2, i32 1 + store i8* %incdec.ptr1, i8** %s1.addr, align 8 + store i8 %1, i8* %2, align 1 + %conv = sext i8 %1 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %while.cond, label %while.end + +while.end: ; preds = %while.cond + %3 = load i8*, i8** %s1.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %3, i64 -1 + ret i8* %add.ptr +} + +; Function Attrs: noinline nounwind uwtable +define i8* @strcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + br label %while.cond + +while.cond: ; preds = %while.cond, %entry + %1 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %1, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %2 = load i8, i8* %1, align 1 + %3 = load i8*, i8** %s, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr1, i8** %s, align 8 + store i8 %2, i8* %3, align 1 + %conv = sext i8 %2 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %while.cond, label %while.end + +while.end: ; preds = %while.cond + %4 = load i8*, i8** %s1.addr, align 8 + ret i8* %4 +} + +; Function Attrs: noinline nounwind uwtable +define noalias i8* @strdup(i8* nonnull %s1) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + %l = alloca i64, align 8 + store i8* %s1, i8** %s1.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + %call = call i64 @strlen(i8* %0) #20 + %add = add i64 %call, 1 + %mul = mul i64 %add, 1 + store i64 %mul, i64* %l, align 8 + %1 = load i64, i64* %l, align 8 + %call1 = call noalias i8* @malloc(i64 %1) #19 + store i8* %call1, i8** %s, align 8 + %cmp = icmp ne i8* %call1, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load i8*, i8** %s, align 8 + %3 = load i8*, i8** %s1.addr, align 8 + %4 = load i64, i64* %l, align 8 + %call2 = call i8* @memcpy(i8* %2, i8* %3, i64 %4) #19 + br label %if.end + +if.end: ; preds = %if.then, %entry + %5 = load i8*, i8** %s, align 8 + ret i8* %5 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @strerror(i32 %errnum) #0 { +entry: + %errnum.addr = alloca i32, align 4 + store i32 %errnum, i32* %errnum.addr, align 4 + %0 = load i32, i32* %errnum.addr, align 4 + %call = call i32 @__xpg_strerror_r(i32 %0, i8* getelementptr inbounds ([50 x i8], [50 x i8]* @strerror.buf, i64 0, i64 0), i64 50) #18 + ret i8* getelementptr inbounds ([50 x i8], [50 x i8]* @strerror.buf, i64 0, i64 0) +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @strcoll_l(i8* nonnull %s0, i8* nonnull %s1, %struct.__uclibc_locale_struct.201* nonnull %locale_arg) #14 { +entry: + %retval = alloca i32, align 4 + %s0.addr = alloca i8*, align 8 + %s1.addr = alloca i8*, align 8 + %locale_arg.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %ws = alloca [2 x %struct.col_state_t], align 16 + %pass = alloca i32, align 4 + store i8* %s0, i8** %s0.addr, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store %struct.__uclibc_locale_struct.201* %locale_arg, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 118 + %num_weights = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate, i32 0, i32 0 + %1 = load i16, i16* %num_weights, align 8 + %tobool = icmp ne i16 %1, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %2 = load i8*, i8** %s0.addr, align 8 + %3 = load i8*, i8** %s1.addr, align 8 + %call = call i32 @strcmp(i8* %2, i8* %3) #20 + store i32 %call, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + store i32 0, i32* %pass, align 4 + br label %do.body + +do.body: ; preds = %do.cond17, %if.end + %arraydecay = getelementptr inbounds [2 x %struct.col_state_t], [2 x %struct.col_state_t]* %ws, i64 0, i64 0 + %4 = load i8*, i8** %s0.addr, align 8 + call void @init_col_state(%struct.col_state_t* %arraydecay, i8* %4) #18 + %arraydecay1 = getelementptr inbounds [2 x %struct.col_state_t], [2 x %struct.col_state_t]* %ws, i64 0, i64 0 + %add.ptr = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %arraydecay1, i64 1 + %5 = load i8*, i8** %s1.addr, align 8 + call void @init_col_state(%struct.col_state_t* %add.ptr, i8* %5) #18 + br label %do.body2 + +do.body2: ; preds = %do.cond, %do.body + %arraydecay3 = getelementptr inbounds [2 x %struct.col_state_t], [2 x %struct.col_state_t]* %ws, i64 0, i64 0 + %6 = load i32, i32* %pass, align 4 + %7 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + call void @next_weight(%struct.col_state_t* %arraydecay3, i32 %6, %struct.__uclibc_locale_struct.201* %7) #18 + %arraydecay4 = getelementptr inbounds [2 x %struct.col_state_t], [2 x %struct.col_state_t]* %ws, i64 0, i64 0 + %add.ptr5 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %arraydecay4, i64 1 + %8 = load i32, i32* %pass, align 4 + %9 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + call void @next_weight(%struct.col_state_t* %add.ptr5, i32 %8, %struct.__uclibc_locale_struct.201* %9) #18 + %arrayidx = getelementptr inbounds [2 x %struct.col_state_t], [2 x %struct.col_state_t]* %ws, i64 0, i64 0 + %weight = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %arrayidx, i32 0, i32 2 + %10 = load i32, i32* %weight, align 16 + %arrayidx6 = getelementptr inbounds [2 x %struct.col_state_t], [2 x %struct.col_state_t]* %ws, i64 0, i64 1 + %weight7 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %arrayidx6, i32 0, i32 2 + %11 = load i32, i32* %weight7, align 16 + %cmp = icmp ne i32 %10, %11 + %arrayidx9 = getelementptr inbounds [2 x %struct.col_state_t], [2 x %struct.col_state_t]* %ws, i64 0, i64 0 + %weight10 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %arrayidx9, i32 0, i32 2 + %12 = load i32, i32* %weight10, align 16 + br i1 %cmp, label %if.then8, label %do.cond + +if.then8: ; preds = %do.body2 + %arrayidx11 = getelementptr inbounds [2 x %struct.col_state_t], [2 x %struct.col_state_t]* %ws, i64 0, i64 1 + %weight12 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %arrayidx11, i32 0, i32 2 + %13 = load i32, i32* %weight12, align 16 + %sub = sub i32 %12, %13 + store i32 %sub, i32* %retval, align 4 + br label %return + +do.cond: ; preds = %do.body2 + %tobool16 = icmp ne i32 %12, 0 + br i1 %tobool16, label %do.body2, label %do.cond17 + +do.cond17: ; preds = %do.cond + %14 = load i32, i32* %pass, align 4 + %inc = add nsw i32 %14, 1 + store i32 %inc, i32* %pass, align 4 + %15 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate18 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %15, i32 0, i32 118 + %num_weights19 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate18, i32 0, i32 0 + %16 = load i16, i16* %num_weights19, align 8 + %conv = zext i16 %16 to i32 + %cmp20 = icmp slt i32 %inc, %conv + br i1 %cmp20, label %do.body, label %do.end22 + +do.end22: ; preds = %do.cond17 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end22, %if.then8, %if.then + %17 = load i32, i32* %retval, align 4 + ret i32 %17 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @init_col_state(%struct.col_state_t* %cs, i8* %wcs) #0 { +entry: + %cs.addr = alloca %struct.col_state_t*, align 8 + %wcs.addr = alloca i8*, align 8 + store %struct.col_state_t* %cs, %struct.col_state_t** %cs.addr, align 8 + store i8* %wcs, i8** %wcs.addr, align 8 + %0 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %1 = bitcast %struct.col_state_t* %0 to i8* + %call = call i8* @memset(i8* %1, i32 0, i64 256) #19 + %2 = load i8*, i8** %wcs.addr, align 8 + %3 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %s = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %3, i32 0, i32 0 + store i8* %2, i8** %s, align 8 + %4 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %ibb = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %4, i32 0, i32 13 + %arraydecay = getelementptr inbounds [128 x i8], [128 x i8]* %ibb, i64 0, i64 0 + %5 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %back_buf = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %5, i32 0, i32 10 + store i8* %arraydecay, i8** %back_buf, align 8 + %6 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bp = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %6, i32 0, i32 12 + store i8* %arraydecay, i8** %bp, align 8 + %7 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bb_size = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %7, i32 0, i32 14 + store i64 128, i64* %bb_size, align 8 + %8 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %back_buf1 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %8, i32 0, i32 10 + %9 = load i8*, i8** %back_buf1, align 8 + %10 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bb_size2 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %10, i32 0, i32 14 + %11 = load i64, i64* %bb_size2, align 8 + %sub = sub i64 %11, 1 + %add.ptr = getelementptr inbounds i8, i8* %9, i64 %sub + %12 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bbe = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %12, i32 0, i32 11 + store i8* %add.ptr, i8** %bbe, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @next_weight(%struct.col_state_t* %cs, i32 %pass, %struct.__uclibc_locale_struct.201* %locale_arg) #0 { +entry: + %cs.addr = alloca %struct.col_state_t*, align 8 + %pass.addr = alloca i32, align 4 + %locale_arg.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %r = alloca i32, align 4 + %w = alloca i32, align 4 + %ru = alloca i32, align 4 + %ri = alloca i32, align 4 + %popping_backup_stack = alloca i32, align 4 + %n = alloca i64, align 8 + %p = alloca i16*, align 8 + %WC = alloca i32, align 4 + %n0 = alloca i64, align 8 + %nx = alloca i64, align 8 + store %struct.col_state_t* %cs, %struct.col_state_t** %cs.addr, align 8 + store i32 %pass, i32* %pass.addr, align 4 + store %struct.__uclibc_locale_struct.201* %locale_arg, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + br label %do.body + +do.body: ; preds = %do.cond424, %entry + %0 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %ru_pushed = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %0, i32 0, i32 15 + %1 = load i32, i32* %ru_pushed, align 8 + %tobool = icmp ne i32 %1, 0 + %2 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %do.body + %ru_pushed1 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %2, i32 0, i32 15 + %3 = load i32, i32* %ru_pushed1, align 8 + store i32 %3, i32* %ru, align 4 + %4 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %ru_pushed2 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %4, i32 0, i32 15 + store i32 0, i32* %ru_pushed2, align 8 + br label %POSITION_SKIP + +if.end: ; preds = %do.body + %cip = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %2, i32 0, i32 8 + %5 = load i32*, i32** %cip, align 8 + %tobool3 = icmp ne i32* %5, null + br i1 %tobool3, label %if.then4, label %if.else + +if.then4: ; preds = %if.end + %6 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %cip5 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %6, i32 0, i32 8 + %7 = load i32*, i32** %cip5, align 8 + %incdec.ptr = getelementptr inbounds i32, i32* %7, i32 1 + store i32* %incdec.ptr, i32** %cip5, align 8 + %8 = load i32, i32* %7, align 4 + store i32 %8, i32* %r, align 4 + %cmp = icmp eq i32 %8, 0 + br i1 %cmp, label %if.then6, label %if.end8 + +if.then6: ; preds = %if.then4 + %9 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %cip7 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %9, i32 0, i32 8 + store i32* null, i32** %cip7, align 8 + br label %do.cond424 + +if.end8: ; preds = %if.then4 + %10 = load i32, i32* %r, align 4 + %and = and i32 %10, 16383 + %11 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %weightidx = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %11, i32 0, i32 5 + store i32 %and, i32* %weightidx, align 4 + br label %if.end351 + +if.else: ; preds = %if.end + store i32 0, i32* %popping_backup_stack, align 4 + br label %IGNORE_LOOP + +IGNORE_LOOP: ; preds = %if.then184, %if.else + %12 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bp = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %12, i32 0, i32 12 + %13 = load i8*, i8** %bp, align 8 + %14 = load i8, i8* %13, align 1 + %tobool9 = icmp ne i8 %14, 0 + br i1 %tobool9, label %POP_BACKUP, label %if.else33 + +POP_BACKUP: ; preds = %IGNORE_LOOP, %if.then317, %if.end312 + store i32 1, i32* %popping_backup_stack, align 4 + store i64 0, i64* %n, align 8 + %15 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bp11 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %15, i32 0, i32 12 + %16 = load i8*, i8** %bp11, align 8 + %17 = load i8, i8* %16, align 1 + %conv = sext i8 %17 to i32 + %cmp12 = icmp sgt i32 %conv, 0 + %18 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + br i1 %cmp12, label %if.then14, label %if.else25 + +if.then14: ; preds = %POP_BACKUP + %s = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %18, i32 0, i32 0 + %19 = load i8*, i8** %s, align 8 + %add.ptr = getelementptr inbounds i8, i8* %19, i64 -1 + store i8* %add.ptr, i8** %s, align 8 + %20 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bp15 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %20, i32 0, i32 12 + %21 = load i8*, i8** %bp15, align 8 + %22 = load i8, i8* %21, align 1 + %conv16 = sext i8 %22 to i32 + %sub = sub nsw i32 %conv16, 1 + %conv17 = trunc i32 %sub to i8 + store i8 %conv17, i8* %21, align 1 + %conv18 = sext i8 %conv17 to i32 + %cmp19 = icmp eq i32 %conv18, 0 + br i1 %cmp19, label %if.then21, label %if.end39 + +if.then21: ; preds = %if.then14 + %23 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bp22 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %23, i32 0, i32 12 + %24 = load i8*, i8** %bp22, align 8 + %add.ptr23 = getelementptr inbounds i8, i8* %24, i64 -1 + store i8* %add.ptr23, i8** %bp22, align 8 + br label %if.end39 + +if.else25: ; preds = %POP_BACKUP + %bp26 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %18, i32 0, i32 12 + %25 = load i8*, i8** %bp26, align 8 + %26 = load i8, i8* %25, align 1 + %conv27 = sext i8 %26 to i32 + %27 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %s28 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %27, i32 0, i32 0 + %28 = load i8*, i8** %s28, align 8 + %idx.ext = sext i32 %conv27 to i64 + %add.ptr29 = getelementptr inbounds i8, i8* %28, i64 %idx.ext + store i8* %add.ptr29, i8** %s28, align 8 + %29 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bp30 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %29, i32 0, i32 12 + %30 = load i8*, i8** %bp30, align 8 + %add.ptr31 = getelementptr inbounds i8, i8* %30, i64 -1 + store i8* %add.ptr31, i8** %bp30, align 8 + br label %if.end39 + +if.else33: ; preds = %IGNORE_LOOP + %31 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %s34 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %31, i32 0, i32 0 + %32 = load i8*, i8** %s34, align 8 + %33 = load i8, i8* %32, align 1 + %tobool35 = icmp ne i8 %33, 0 + %34 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + br i1 %tobool35, label %if.else37, label %if.then36 + +if.then36: ; preds = %if.else33 + %weight = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %34, i32 0, i32 2 + store i32 0, i32* %weight, align 8 + br label %do.end425 + +if.else37: ; preds = %if.else33 + %position = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %34, i32 0, i32 7 + %35 = load i64, i64* %position, align 8 + %add = add i64 %35, 1 + store i64 %add, i64* %position, align 8 + br label %if.end39 + +if.end39: ; preds = %if.else25, %if.then21, %if.then14, %if.else37 + br label %BACK_LOOP + +BACK_LOOP: ; preds = %if.end306, %if.end39 + %36 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %s40 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %36, i32 0, i32 0 + %37 = load i8*, i8** %s40, align 8 + %38 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %call = call i32 @__locale_mbrtowc_l(i32* %WC, i8* %37, %struct.__uclibc_locale_struct.201* %38) #18 + %conv41 = sext i32 %call to i64 + store i64 %conv41, i64* %n0, align 8 + store i64 %conv41, i64* %n, align 8 + %39 = load i64, i64* %n, align 8 + %cmp42 = icmp slt i64 %39, 0 + br i1 %cmp42, label %if.then44, label %if.end46 + +if.then44: ; preds = %BACK_LOOP + store i32 84, i32* @errno, align 4 + %40 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %weight45 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %40, i32 0, i32 2 + store i32 0, i32* %weight45, align 8 + br label %do.end425 + +if.end46: ; preds = %BACK_LOOP + %41 = load i32, i32* %WC, align 4 + %42 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %call47 = call i32 @lookup(i32 %41, %struct.__uclibc_locale_struct.201* %42) #18 + store i32 %call47, i32* %r, align 4 + %43 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %colitem = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %43, i32 0, i32 4 + store i32 %call47, i32* %colitem, align 8 + %44 = load i32, i32* %r, align 4 + %45 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %45, i32 0, i32 118 + %max_col_index = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate, i32 0, i32 8 + %46 = load i16, i16* %max_col_index, align 8 + %conv48 = zext i16 %46 to i32 + %cmp49 = icmp sgt i32 %44, %conv48 + br i1 %cmp49, label %if.then51, label %if.else101 + +if.then51: ; preds = %if.end46 + %47 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate52 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %47, i32 0, i32 118 + %multistart_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate52, i32 0, i32 18 + %48 = load i16*, i16** %multistart_tbl, align 8 + store i16* %48, i16** %p, align 8 + %49 = load i16*, i16** %p, align 8 + %50 = load i32, i32* %r, align 4 + %51 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate53 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %51, i32 0, i32 118 + %max_col_index54 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate53, i32 0, i32 8 + %52 = load i16, i16* %max_col_index54, align 8 + %conv55 = zext i16 %52 to i32 + %sub56 = sub nsw i32 %50, %conv55 + %sub57 = sub nsw i32 %sub56, 1 + %idxprom = sext i32 %sub57 to i64 + %arrayidx = getelementptr inbounds i16, i16* %49, i64 %idxprom + %53 = load i16, i16* %arrayidx, align 2 + %conv58 = zext i16 %53 to i32 + %54 = load i16*, i16** %p, align 8 + %idx.ext59 = sext i32 %conv58 to i64 + %add.ptr60 = getelementptr inbounds i16, i16* %54, i64 %idx.ext59 + store i16* %add.ptr60, i16** %p, align 8 + br label %do.body61 + +do.body61: ; preds = %do.body91, %if.then51 + %55 = load i64, i64* %n0, align 8 + store i64 %55, i64* %n, align 8 + %56 = load i16*, i16** %p, align 8 + %incdec.ptr62 = getelementptr inbounds i16, i16* %56, i32 1 + store i16* %incdec.ptr62, i16** %p, align 8 + %57 = load i16, i16* %56, align 2 + %conv63 = zext i16 %57 to i32 + store i32 %conv63, i32* %r, align 4 + br label %do.body64 + +do.body64: ; preds = %if.end94, %do.body61 + %58 = load i16*, i16** %p, align 8 + %59 = load i16, i16* %58, align 2 + %tobool65 = icmp ne i16 %59, 0 + br i1 %tobool65, label %if.end68, label %if.then66 + +if.then66: ; preds = %do.body64 + %60 = load i32, i32* %r, align 4 + %61 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %colitem67 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %61, i32 0, i32 4 + store i32 %60, i32* %colitem67, align 8 + br label %FOUND + +if.end68: ; preds = %do.body64 + %62 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %s69 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %62, i32 0, i32 0 + %63 = load i8*, i8** %s69, align 8 + %64 = load i64, i64* %n, align 8 + %arrayidx70 = getelementptr inbounds i8, i8* %63, i64 %64 + %65 = load i8, i8* %arrayidx70, align 1 + %tobool71 = icmp ne i8 %65, 0 + br i1 %tobool71, label %if.then72, label %if.end82 + +if.then72: ; preds = %if.end68 + %66 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %s73 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %66, i32 0, i32 0 + %67 = load i8*, i8** %s73, align 8 + %68 = load i64, i64* %n, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %67, i64 %68 + %69 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %call75 = call i32 @__locale_mbrtowc_l(i32* %WC, i8* %add.ptr74, %struct.__uclibc_locale_struct.201* %69) #18 + %conv76 = sext i32 %call75 to i64 + store i64 %conv76, i64* %nx, align 8 + %70 = load i64, i64* %nx, align 8 + %cmp77 = icmp ult i64 %70, 0 + br i1 %cmp77, label %if.then79, label %if.end82 + +if.then79: ; preds = %if.then72 + store i32 84, i32* @errno, align 4 + %71 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %weight80 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %71, i32 0, i32 2 + store i32 0, i32* %weight80, align 8 + br label %do.end425 + +if.end82: ; preds = %if.then72, %if.end68 + %72 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %s83 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %72, i32 0, i32 0 + %73 = load i8*, i8** %s83, align 8 + %74 = load i64, i64* %n, align 8 + %arrayidx84 = getelementptr inbounds i8, i8* %73, i64 %74 + %75 = load i8, i8* %arrayidx84, align 1 + %tobool85 = icmp ne i8 %75, 0 + br i1 %tobool85, label %lor.lhs.false, label %if.then90 + +lor.lhs.false: ; preds = %if.end82 + %76 = load i32, i32* %WC, align 4 + %77 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %call86 = call i32 @lookup(i32 %76, %struct.__uclibc_locale_struct.201* %77) #18 + %78 = load i16*, i16** %p, align 8 + %79 = load i16, i16* %78, align 2 + %conv87 = zext i16 %79 to i32 + %cmp88 = icmp ne i32 %call86, %conv87 + br i1 %cmp88, label %if.then90, label %if.end94 + +if.then90: ; preds = %lor.lhs.false, %if.end82 + br label %do.body91 + +do.body91: ; preds = %do.body91, %if.then90 + %80 = load i16*, i16** %p, align 8 + %incdec.ptr92 = getelementptr inbounds i16, i16* %80, i32 1 + store i16* %incdec.ptr92, i16** %p, align 8 + %81 = load i16, i16* %80, align 2 + %tobool93 = icmp ne i16 %81, 0 + br i1 %tobool93, label %do.body91, label %do.body61 + +if.end94: ; preds = %lor.lhs.false + %82 = load i16*, i16** %p, align 8 + %incdec.ptr95 = getelementptr inbounds i16, i16* %82, i32 1 + store i16* %incdec.ptr95, i16** %p, align 8 + %83 = load i64, i64* %nx, align 8 + %84 = load i64, i64* %n, align 8 + %add96 = add i64 %84, %83 + store i64 %add96, i64* %n, align 8 + br label %do.body64 + +if.else101: ; preds = %if.end46 + %85 = load i32, i32* %r, align 4 + %cmp102 = icmp eq i32 %85, 0 + %86 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate105 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %86, i32 0, i32 118 + br i1 %cmp102, label %if.then104, label %if.else189 + +if.then104: ; preds = %if.else101 + %range_count = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate105, i32 0, i32 11 + %87 = load i16, i16* %range_count, align 2 + %conv106 = zext i16 %87 to i32 + %tobool107 = icmp ne i32 %conv106, 0 + br i1 %tobool107, label %land.lhs.true, label %if.else140 + +land.lhs.true: ; preds = %if.then104 + %88 = load i32, i32* %WC, align 4 + %89 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate108 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %89, i32 0, i32 118 + %range_low = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate108, i32 0, i32 10 + %90 = load i16, i16* %range_low, align 4 + %conv109 = zext i16 %90 to i32 + %sub110 = sub nsw i32 %88, %conv109 + %91 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate111 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %91, i32 0, i32 118 + %range_count112 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate111, i32 0, i32 11 + %92 = load i16, i16* %range_count112, align 2 + %conv113 = zext i16 %92 to i32 + %cmp114 = icmp ule i32 %sub110, %conv113 + br i1 %cmp114, label %if.then116, label %if.else140 + +if.then116: ; preds = %land.lhs.true + %93 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate117 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %93, i32 0, i32 118 + %ruletable = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate117, i32 0, i32 22 + %94 = load i16*, i16** %ruletable, align 8 + %95 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate118 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %95, i32 0, i32 118 + %range_rule_offset = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate118, i32 0, i32 13 + %96 = load i16, i16* %range_rule_offset, align 2 + %conv119 = zext i16 %96 to i32 + %97 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate120 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %97, i32 0, i32 118 + %MAX_WEIGHTS = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate120, i32 0, i32 25 + %98 = load i16, i16* %MAX_WEIGHTS, align 8 + %conv121 = zext i16 %98 to i32 + %mul = mul nsw i32 %conv119, %conv121 + %99 = load i32, i32* %pass.addr, align 4 + %add122 = add nsw i32 %mul, %99 + %idxprom123 = sext i32 %add122 to i64 + %arrayidx124 = getelementptr inbounds i16, i16* %94, i64 %idxprom123 + %100 = load i16, i16* %arrayidx124, align 2 + %conv125 = zext i16 %100 to i32 + store i32 %conv125, i32* %ru, align 4 + %101 = load i32, i32* %ru, align 4 + %and126 = and i32 %101, 16383 + %cmp127 = icmp eq i32 %and126, 16383 + br i1 %cmp127, label %if.then129, label %RANGE_SKIP_TO + +if.then129: ; preds = %if.then116 + %102 = load i32, i32* %ru, align 4 + %and130 = and i32 %102, 49152 + %or = or i32 %and130, 16379 + store i32 %or, i32* %ru, align 4 + %103 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate131 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %103, i32 0, i32 118 + %range_base_weight = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate131, i32 0, i32 12 + %104 = load i16, i16* %range_base_weight, align 8 + %conv132 = zext i16 %104 to i32 + %105 = load i32, i32* %WC, align 4 + %106 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate133 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %106, i32 0, i32 118 + %range_low134 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate133, i32 0, i32 10 + %107 = load i16, i16* %range_low134, align 4 + %conv135 = zext i16 %107 to i32 + %sub136 = sub nsw i32 %105, %conv135 + %add137 = add nsw i32 %conv132, %sub136 + %108 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %weight138 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %108, i32 0, i32 2 + store i32 %add137, i32* %weight138, align 8 + br label %RANGE_SKIP_TO + +if.else140: ; preds = %land.lhs.true, %if.then104 + %109 = load i32, i32* %WC, align 4 + %conv141 = zext i32 %109 to i64 + %cmp142 = icmp ule i64 %conv141, 2147483647 + br i1 %cmp142, label %UNDEFINED, label %if.else181 + +UNDEFINED: ; preds = %FOUND, %if.else140 + %110 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate145 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %110, i32 0, i32 118 + %undefined_idx = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate145, i32 0, i32 9 + %111 = load i16, i16* %undefined_idx, align 2 + %conv146 = zext i16 %111 to i32 + store i32 %conv146, i32* %ri, align 4 + %112 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate147 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %112, i32 0, i32 118 + %num_weights = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate147, i32 0, i32 0 + %113 = load i16, i16* %num_weights, align 8 + %conv148 = zext i16 %113 to i32 + %cmp149 = icmp eq i32 %conv148, 1 + br i1 %cmp149, label %if.then151, label %if.end156 + +if.then151: ; preds = %UNDEFINED + %114 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %weightidx152 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %114, i32 0, i32 5 + store i32 16379, i32* %weightidx152, align 4 + %115 = load i32, i32* %ri, align 4 + %116 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %weight153 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %116, i32 0, i32 2 + store i32 %115, i32* %weight153, align 8 + %117 = load i64, i64* %n, align 8 + %118 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %s154 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %118, i32 0, i32 0 + %119 = load i8*, i8** %s154, align 8 + %add.ptr155 = getelementptr inbounds i8, i8* %119, i64 %117 + store i8* %add.ptr155, i8** %s154, align 8 + br label %PROCESS_WEIGHT + +if.end156: ; preds = %UNDEFINED + %120 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate157 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %120, i32 0, i32 118 + %index2ruleidx = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate157, i32 0, i32 24 + %121 = load i16*, i16** %index2ruleidx, align 8 + %122 = load i32, i32* %ri, align 4 + %sub158 = sub nsw i32 %122, 1 + %idxprom159 = sext i32 %sub158 to i64 + %arrayidx160 = getelementptr inbounds i16, i16* %121, i64 %idxprom159 + %123 = load i16, i16* %arrayidx160, align 2 + %conv161 = zext i16 %123 to i32 + store i32 %conv161, i32* %ri, align 4 + %124 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate162 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %124, i32 0, i32 118 + %ruletable163 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate162, i32 0, i32 22 + %125 = load i16*, i16** %ruletable163, align 8 + %126 = load i32, i32* %ri, align 4 + %127 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate164 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %127, i32 0, i32 118 + %MAX_WEIGHTS165 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate164, i32 0, i32 25 + %128 = load i16, i16* %MAX_WEIGHTS165, align 8 + %conv166 = zext i16 %128 to i32 + %mul167 = mul nsw i32 %126, %conv166 + %129 = load i32, i32* %pass.addr, align 4 + %add168 = add nsw i32 %mul167, %129 + %idxprom169 = sext i32 %add168 to i64 + %arrayidx170 = getelementptr inbounds i16, i16* %125, i64 %idxprom169 + %130 = load i16, i16* %arrayidx170, align 2 + %conv171 = zext i16 %130 to i32 + store i32 %conv171, i32* %ru, align 4 + %131 = load i32, i32* %ru, align 4 + %and172 = and i32 %131, 16383 + %cmp173 = icmp eq i32 %and172, 16382 + br i1 %cmp173, label %if.then175, label %RANGE_SKIP_TO + +if.then175: ; preds = %if.end156 + %132 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate176 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %132, i32 0, i32 118 + %undefined_idx177 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate176, i32 0, i32 9 + %133 = load i16, i16* %undefined_idx177, align 2 + %conv178 = zext i16 %133 to i32 + %134 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %colitem179 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %134, i32 0, i32 4 + store i32 %conv178, i32* %colitem179, align 8 + br label %RANGE_SKIP_TO + +if.else181: ; preds = %if.else140 + store i32 22, i32* @errno, align 4 + %135 = load i32, i32* %pass.addr, align 4 + %cmp182 = icmp sgt i32 %135, 0 + br i1 %cmp182, label %if.then184, label %if.end187 + +if.then184: ; preds = %if.else181 + %136 = load i64, i64* %n, align 8 + %137 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %s185 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %137, i32 0, i32 0 + %138 = load i8*, i8** %s185, align 8 + %add.ptr186 = getelementptr inbounds i8, i8* %138, i64 %136 + store i8* %add.ptr186, i8** %s185, align 8 + br label %IGNORE_LOOP + +if.end187: ; preds = %if.else181 + store i32 32763, i32* %ru, align 4 + %139 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %weight188 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %139, i32 0, i32 2 + store i32 65535, i32* %weight188, align 8 + br label %RANGE_SKIP_TO + +if.else189: ; preds = %if.else101 + %num_weights191 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate105, i32 0, i32 0 + %140 = load i16, i16* %num_weights191, align 8 + %conv192 = zext i16 %140 to i32 + %cmp193 = icmp eq i32 %conv192, 1 + br i1 %cmp193, label %if.then195, label %FOUND + +if.then195: ; preds = %if.else189 + %141 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %weightidx196 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %141, i32 0, i32 5 + store i32 16379, i32* %weightidx196, align 4 + %142 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %colitem197 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %142, i32 0, i32 4 + %143 = load i32, i32* %colitem197, align 8 + %144 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %weight198 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %144, i32 0, i32 2 + store i32 %143, i32* %weight198, align 8 + %145 = load i64, i64* %n, align 8 + %146 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %s199 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %146, i32 0, i32 0 + %147 = load i8*, i8** %s199, align 8 + %add.ptr200 = getelementptr inbounds i8, i8* %147, i64 %145 + store i8* %add.ptr200, i8** %s199, align 8 + br label %PROCESS_WEIGHT + +FOUND: ; preds = %if.else189, %if.then66 + %148 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate205 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %148, i32 0, i32 118 + %index2ruleidx206 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate205, i32 0, i32 24 + %149 = load i16*, i16** %index2ruleidx206, align 8 + %150 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %colitem207 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %150, i32 0, i32 4 + %151 = load i32, i32* %colitem207, align 8 + %sub208 = sub nsw i32 %151, 1 + %idxprom209 = sext i32 %sub208 to i64 + %arrayidx210 = getelementptr inbounds i16, i16* %149, i64 %idxprom209 + %152 = load i16, i16* %arrayidx210, align 2 + %conv211 = zext i16 %152 to i32 + store i32 %conv211, i32* %ri, align 4 + %153 = load i32, i32* %ri, align 4 + %tobool212 = icmp ne i32 %153, 0 + br i1 %tobool212, label %if.end214, label %UNDEFINED + +if.end214: ; preds = %FOUND + %154 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate215 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %154, i32 0, i32 118 + %ruletable216 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate215, i32 0, i32 22 + %155 = load i16*, i16** %ruletable216, align 8 + %156 = load i32, i32* %ri, align 4 + %157 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate217 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %157, i32 0, i32 118 + %MAX_WEIGHTS218 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate217, i32 0, i32 25 + %158 = load i16, i16* %MAX_WEIGHTS218, align 8 + %conv219 = zext i16 %158 to i32 + %mul220 = mul nsw i32 %156, %conv219 + %159 = load i32, i32* %pass.addr, align 4 + %add221 = add nsw i32 %mul220, %159 + %idxprom222 = sext i32 %add221 to i64 + %arrayidx223 = getelementptr inbounds i16, i16* %155, i64 %idxprom222 + %160 = load i16, i16* %arrayidx223, align 2 + %conv224 = zext i16 %160 to i32 + store i32 %conv224, i32* %ru, align 4 + br label %RANGE_SKIP_TO + +RANGE_SKIP_TO: ; preds = %if.end156, %if.then175, %if.then116, %if.then129, %if.end214, %if.end187 + %161 = load i32, i32* %popping_backup_stack, align 4 + %tobool225 = icmp ne i32 %161, 0 + br i1 %tobool225, label %if.else336, label %if.then226 + +if.then226: ; preds = %RANGE_SKIP_TO + %162 = load i32, i32* %ru, align 4 + %and227 = and i32 %162, 49152 + %tobool228 = icmp ne i32 %and227, 0 + %163 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bp315 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %163, i32 0, i32 12 + %164 = load i8*, i8** %bp315, align 8 + br i1 %tobool228, label %if.else314, label %if.then229 + +if.then229: ; preds = %if.then226 + %165 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bbe = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %165, i32 0, i32 11 + %166 = load i8*, i8** %bbe, align 8 + %cmp231 = icmp eq i8* %164, %166 + br i1 %cmp231, label %if.then233, label %if.end272 + +if.then233: ; preds = %if.then229 + %167 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %back_buf = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %167, i32 0, i32 10 + %168 = load i8*, i8** %back_buf, align 8 + %169 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %ibb = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %169, i32 0, i32 13 + %arraydecay = getelementptr inbounds [128 x i8], [128 x i8]* %ibb, i64 0, i64 0 + %cmp234 = icmp eq i8* %168, %arraydecay + %170 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + br i1 %cmp234, label %if.then236, label %if.else249 + +if.then236: ; preds = %if.then233 + %bb_size = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %170, i32 0, i32 14 + %171 = load i64, i64* %bb_size, align 8 + %add237 = add i64 %171, 128 + %call238 = call noalias i8* @malloc(i64 %add237) #19 + %172 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bp239 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %172, i32 0, i32 12 + store i8* %call238, i8** %bp239, align 8 + %173 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bp240 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %173, i32 0, i32 12 + %174 = load i8*, i8** %bp240, align 8 + %tobool241 = icmp ne i8* %174, null + br i1 %tobool241, label %if.end244, label %if.then242 + +if.then242: ; preds = %if.then236 + store i32 12, i32* @errno, align 4 + %175 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %weight243 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %175, i32 0, i32 2 + store i32 0, i32* %weight243, align 8 + br label %do.end425 + +if.end244: ; preds = %if.then236 + %176 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bp245 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %176, i32 0, i32 12 + %177 = load i8*, i8** %bp245, align 8 + %178 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %back_buf246 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %178, i32 0, i32 10 + %179 = load i8*, i8** %back_buf246, align 8 + %180 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bb_size247 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %180, i32 0, i32 14 + %181 = load i64, i64* %bb_size247, align 8 + %call248 = call i8* @memcpy(i8* %177, i8* %179, i64 %181) #19 + br label %if.end260 + +if.else249: ; preds = %if.then233 + %back_buf250 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %170, i32 0, i32 10 + %182 = load i8*, i8** %back_buf250, align 8 + %183 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bb_size251 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %183, i32 0, i32 14 + %184 = load i64, i64* %bb_size251, align 8 + %add252 = add i64 %184, 128 + %call253 = call noalias i8* @realloc(i8* %182, i64 %add252) #19 + %185 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bp254 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %185, i32 0, i32 12 + store i8* %call253, i8** %bp254, align 8 + %186 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bp255 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %186, i32 0, i32 12 + %187 = load i8*, i8** %bp255, align 8 + %tobool256 = icmp ne i8* %187, null + br i1 %tobool256, label %if.end260, label %if.then257 + +if.then257: ; preds = %if.else249 + store i32 12, i32* @errno, align 4 + %188 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %weight258 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %188, i32 0, i32 2 + store i32 0, i32* %weight258, align 8 + br label %do.end425 + +if.end260: ; preds = %if.else249, %if.end244 + %189 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bb_size261 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %189, i32 0, i32 14 + %190 = load i64, i64* %bb_size261, align 8 + %add262 = add i64 %190, 128 + store i64 %add262, i64* %bb_size261, align 8 + %191 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bp263 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %191, i32 0, i32 12 + %192 = load i8*, i8** %bp263, align 8 + %193 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bbe264 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %193, i32 0, i32 11 + %194 = load i8*, i8** %bbe264, align 8 + %195 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %back_buf265 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %195, i32 0, i32 10 + %196 = load i8*, i8** %back_buf265, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %194 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %196 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %add.ptr266 = getelementptr inbounds i8, i8* %192, i64 %sub.ptr.sub + %197 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bbe267 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %197, i32 0, i32 11 + store i8* %add.ptr266, i8** %bbe267, align 8 + %198 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bp268 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %198, i32 0, i32 12 + %199 = load i8*, i8** %bp268, align 8 + %200 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %back_buf269 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %200, i32 0, i32 10 + store i8* %199, i8** %back_buf269, align 8 + %201 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bbe270 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %201, i32 0, i32 11 + %202 = load i8*, i8** %bbe270, align 8 + %203 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bp271 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %203, i32 0, i32 12 + store i8* %202, i8** %bp271, align 8 + br label %if.end272 + +if.end272: ; preds = %if.end260, %if.then229 + %204 = load i64, i64* %n, align 8 + %cmp273 = icmp eq i64 %204, 1 + br i1 %cmp273, label %if.then275, label %if.else301 + +if.then275: ; preds = %if.end272 + %205 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bp276 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %205, i32 0, i32 12 + %206 = load i8*, i8** %bp276, align 8 + %207 = load i8, i8* %206, align 1 + %conv277 = sext i8 %207 to i32 + %tobool278 = icmp ne i32 %conv277, 0 + br i1 %tobool278, label %land.lhs.true279, label %if.else289 + +land.lhs.true279: ; preds = %if.then275 + %208 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bp280 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %208, i32 0, i32 12 + %209 = load i8*, i8** %bp280, align 8 + %210 = load i8, i8* %209, align 1 + %conv281 = zext i8 %210 to i32 + %cmp282 = icmp slt i32 %conv281, 127 + br i1 %cmp282, label %if.then284, label %if.else289 + +if.then284: ; preds = %land.lhs.true279 + %211 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bp285 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %211, i32 0, i32 12 + %212 = load i8*, i8** %bp285, align 8 + %213 = load i8, i8* %212, align 1 + %conv286 = sext i8 %213 to i32 + %add287 = add nsw i32 %conv286, 1 + %conv288 = trunc i32 %add287 to i8 + store i8 %conv288, i8* %212, align 1 + br label %if.end306 + +if.else289: ; preds = %land.lhs.true279, %if.then275 + %214 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bp290 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %214, i32 0, i32 12 + %215 = load i8*, i8** %bp290, align 8 + %tobool291 = icmp ne i8* %215, null + %216 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + br i1 %tobool291, label %if.else295, label %if.then292 + +if.then292: ; preds = %if.else289 + %back_buf293 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %216, i32 0, i32 10 + %217 = load i8*, i8** %back_buf293, align 8 + %218 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bp294 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %218, i32 0, i32 12 + store i8* %217, i8** %bp294, align 8 + br label %if.end298 + +if.else295: ; preds = %if.else289 + %bp296 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %216, i32 0, i32 12 + %219 = load i8*, i8** %bp296, align 8 + %incdec.ptr297 = getelementptr inbounds i8, i8* %219, i32 1 + store i8* %incdec.ptr297, i8** %bp296, align 8 + br label %if.end298 + +if.end298: ; preds = %if.else295, %if.then292 + %220 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bp299 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %220, i32 0, i32 12 + %221 = load i8*, i8** %bp299, align 8 + store i8 1, i8* %221, align 1 + br label %if.end306 + +if.else301: ; preds = %if.end272 + %222 = load i64, i64* %n, align 8 + %sub302 = sub nsw i64 0, %222 + %conv303 = trunc i64 %sub302 to i8 + %223 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bp304 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %223, i32 0, i32 12 + %224 = load i8*, i8** %bp304, align 8 + %incdec.ptr305 = getelementptr inbounds i8, i8* %224, i32 1 + store i8* %incdec.ptr305, i8** %bp304, align 8 + store i8 %conv303, i8* %incdec.ptr305, align 1 + br label %if.end306 + +if.end306: ; preds = %if.then284, %if.end298, %if.else301 + %225 = load i64, i64* %n, align 8 + %226 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %s307 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %226, i32 0, i32 0 + %227 = load i8*, i8** %s307, align 8 + %add.ptr308 = getelementptr inbounds i8, i8* %227, i64 %225 + store i8* %add.ptr308, i8** %s307, align 8 + %228 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %s309 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %228, i32 0, i32 0 + %229 = load i8*, i8** %s309, align 8 + %230 = load i8, i8* %229, align 1 + %tobool310 = icmp ne i8 %230, 0 + br i1 %tobool310, label %BACK_LOOP, label %if.end312 + +if.end312: ; preds = %if.end306 + %231 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %s313 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %231, i32 0, i32 0 + %232 = load i8*, i8** %s313, align 8 + %233 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %eob = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %233, i32 0, i32 1 + store i8* %232, i8** %eob, align 8 + br label %POP_BACKUP + +if.else314: ; preds = %if.then226 + %234 = load i8, i8* %164, align 1 + %tobool316 = icmp ne i8 %234, 0 + br i1 %tobool316, label %if.then317, label %if.else320 + +if.then317: ; preds = %if.else314 + %235 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %s318 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %235, i32 0, i32 0 + %236 = load i8*, i8** %s318, align 8 + %237 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %eob319 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %237, i32 0, i32 1 + store i8* %236, i8** %eob319, align 8 + br label %POP_BACKUP + +if.else320: ; preds = %if.else314 + %238 = load i32, i32* %ru, align 4 + %and321 = and i32 %238, 49151 + %cmp322 = icmp ugt i32 %and321, 32768 + br i1 %cmp322, label %if.then324, label %if.end345 + +if.then324: ; preds = %if.else320 + %239 = load i32, i32* %ru, align 4 + %240 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %ru_pushed325 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %240, i32 0, i32 15 + store i32 %239, i32* %ru_pushed325, align 8 + %241 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %position326 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %241, i32 0, i32 7 + %242 = load i64, i64* %position326, align 8 + %conv327 = trunc i64 %242 to i32 + %243 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %weight328 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %243, i32 0, i32 2 + store i32 %conv327, i32* %weight328, align 8 + %244 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %position329 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %244, i32 0, i32 7 + store i64 0, i64* %position329, align 8 + %245 = load i64, i64* %n, align 8 + %246 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %s330 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %246, i32 0, i32 0 + %247 = load i8*, i8** %s330, align 8 + %add.ptr331 = getelementptr inbounds i8, i8* %247, i64 %245 + store i8* %add.ptr331, i8** %s330, align 8 + %248 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %weightidx332 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %248, i32 0, i32 5 + store i32 16379, i32* %weightidx332, align 4 + br label %PROCESS_WEIGHT + +if.else336: ; preds = %RANGE_SKIP_TO + %249 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %bp337 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %249, i32 0, i32 12 + %250 = load i8*, i8** %bp337, align 8 + %251 = load i8, i8* %250, align 1 + %tobool338 = icmp ne i8 %251, 0 + br i1 %tobool338, label %if.end342, label %if.then339 + +if.then339: ; preds = %if.else336 + %252 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %eob340 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %252, i32 0, i32 1 + %253 = load i8*, i8** %eob340, align 8 + %254 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %s341 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %254, i32 0, i32 0 + store i8* %253, i8** %s341, align 8 + br label %if.end342 + +if.end342: ; preds = %if.then339, %if.else336 + %255 = load i64, i64* %n, align 8 + %256 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %s343 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %256, i32 0, i32 0 + %257 = load i8*, i8** %s343, align 8 + %idx.neg = sub i64 0, %255 + %add.ptr344 = getelementptr inbounds i8, i8* %257, i64 %idx.neg + store i8* %add.ptr344, i8** %s343, align 8 + br label %if.end345 + +if.end345: ; preds = %if.else320, %if.end342 + %258 = load i64, i64* %n, align 8 + %259 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %s346 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %259, i32 0, i32 0 + %260 = load i8*, i8** %s346, align 8 + %add.ptr347 = getelementptr inbounds i8, i8* %260, i64 %258 + store i8* %add.ptr347, i8** %s346, align 8 + br label %POSITION_SKIP + +POSITION_SKIP: ; preds = %if.end345, %if.then + %261 = load i32, i32* %ru, align 4 + %and348 = and i32 %261, 16383 + %262 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %weightidx349 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %262, i32 0, i32 5 + store i32 %and348, i32* %weightidx349, align 4 + %263 = load i32, i32* %ru, align 4 + %and350 = and i32 %263, 49152 + %264 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %rule = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %264, i32 0, i32 6 + store i32 %and350, i32* %rule, align 8 + br label %if.end351 + +if.end351: ; preds = %POSITION_SKIP, %if.end8 + %265 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %weightidx352 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %265, i32 0, i32 5 + %266 = load i32, i32* %weightidx352, align 4 + %tobool353 = icmp ne i32 %266, 0 + br i1 %tobool353, label %PROCESS_WEIGHT, label %do.cond424 + +PROCESS_WEIGHT: ; preds = %if.end351, %if.then324, %if.then195, %if.then151 + %267 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %weightidx356 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %267, i32 0, i32 5 + %268 = load i32, i32* %weightidx356, align 4 + %sub357 = sub i32 %268, 16377 + %cmp358 = icmp ule i32 %sub357, 4 + %269 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %weightidx361 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %269, i32 0, i32 5 + %270 = load i32, i32* %weightidx361, align 4 + br i1 %cmp358, label %if.then360, label %if.end367 + +if.then360: ; preds = %PROCESS_WEIGHT + %cmp362 = icmp eq i32 %270, 16377 + br i1 %cmp362, label %if.then364, label %do.end425 + +if.then364: ; preds = %if.then360 + %271 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %ui_weight = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %271, i32 0, i32 3 + %272 = load i32, i32* %ui_weight, align 4 + %273 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %weight365 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %273, i32 0, i32 2 + store i32 %272, i32* %weight365, align 8 + br label %do.end425 + +if.end367: ; preds = %PROCESS_WEIGHT + %cmp369 = icmp eq i32 %270, 16382 + br i1 %cmp369, label %if.then371, label %if.else378 + +if.then371: ; preds = %if.end367 + %274 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate372 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %274, i32 0, i32 118 + %index2weight = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate372, i32 0, i32 23 + %275 = load i16*, i16** %index2weight, align 8 + %276 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %colitem373 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %276, i32 0, i32 4 + %277 = load i32, i32* %colitem373, align 8 + %sub374 = sub nsw i32 %277, 1 + %idxprom375 = sext i32 %sub374 to i64 + %arrayidx376 = getelementptr inbounds i16, i16* %275, i64 %idxprom375 + %278 = load i16, i16* %arrayidx376, align 2 + %conv377 = zext i16 %278 to i32 + store i32 %conv377, i32* %w, align 4 + br label %if.end422 + +if.else378: ; preds = %if.end367 + %279 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %weightidx379 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %279, i32 0, i32 5 + %280 = load i32, i32* %weightidx379, align 4 + %281 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate380 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %281, i32 0, i32 118 + %max_col_index381 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate380, i32 0, i32 8 + %282 = load i16, i16* %max_col_index381, align 8 + %conv382 = zext i16 %282 to i32 + %cmp383 = icmp sle i32 %280, %conv382 + %283 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate386 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %283, i32 0, i32 118 + br i1 %cmp383, label %if.then385, label %if.else393 + +if.then385: ; preds = %if.else378 + %index2weight387 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate386, i32 0, i32 23 + %284 = load i16*, i16** %index2weight387, align 8 + %285 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %weightidx388 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %285, i32 0, i32 5 + %286 = load i32, i32* %weightidx388, align 4 + %sub389 = sub nsw i32 %286, 1 + %idxprom390 = sext i32 %sub389 to i64 + %arrayidx391 = getelementptr inbounds i16, i16* %284, i64 %idxprom390 + %287 = load i16, i16* %arrayidx391, align 2 + %conv392 = zext i16 %287 to i32 + store i32 %conv392, i32* %w, align 4 + br label %if.end422 + +if.else393: ; preds = %if.else378 + %weightstr = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate386, i32 0, i32 21 + %288 = load i16*, i16** %weightstr, align 8 + %289 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %weightidx395 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %289, i32 0, i32 5 + %290 = load i32, i32* %weightidx395, align 4 + %291 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate396 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %291, i32 0, i32 118 + %max_col_index397 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate396, i32 0, i32 8 + %292 = load i16, i16* %max_col_index397, align 8 + %conv398 = zext i16 %292 to i32 + %add399 = add nsw i32 %conv398, 2 + %sub400 = sub nsw i32 %290, %add399 + %idx.ext401 = sext i32 %sub400 to i64 + %add.ptr402 = getelementptr inbounds i16, i16* %288, i64 %idx.ext401 + store i16* %add.ptr402, i16** %p, align 8 + %293 = load i16*, i16** %p, align 8 + %294 = load i16, i16* %293, align 2 + %conv403 = zext i16 %294 to i32 + %and404 = and i32 %conv403, 16383 + %tobool405 = icmp ne i32 %and404, 0 + br i1 %tobool405, label %if.then406, label %do.cond424 + +if.then406: ; preds = %if.else393 + store i32 0, i32* %r, align 4 + br label %do.body407 + +do.body407: ; preds = %do.body407, %if.then406 + %295 = load i16*, i16** %p, align 8 + %incdec.ptr408 = getelementptr inbounds i16, i16* %295, i32 1 + store i16* %incdec.ptr408, i16** %p, align 8 + %296 = load i16, i16* %295, align 2 + %conv409 = zext i16 %296 to i32 + %297 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %ci_pending = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %297, i32 0, i32 9 + %298 = load i32, i32* %r, align 4 + %inc = add nsw i32 %298, 1 + store i32 %inc, i32* %r, align 4 + %idxprom410 = sext i32 %298 to i64 + %arrayidx411 = getelementptr inbounds [8 x i32], [8 x i32]* %ci_pending, i64 0, i64 %idxprom410 + store i32 %conv409, i32* %arrayidx411, align 4 + %299 = load i16*, i16** %p, align 8 + %300 = load i16, i16* %299, align 2 + %conv413 = zext i16 %300 to i32 + %and414 = and i32 %conv413, 16383 + %tobool415 = icmp ne i32 %and414, 0 + br i1 %tobool415, label %do.body407, label %do.end416 + +do.end416: ; preds = %do.body407 + %301 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %ci_pending417 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %301, i32 0, i32 9 + %arraydecay418 = getelementptr inbounds [8 x i32], [8 x i32]* %ci_pending417, i64 0, i64 0 + %302 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %cip419 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %302, i32 0, i32 8 + store i32* %arraydecay418, i32** %cip419, align 8 + br label %do.cond424 + +if.end422: ; preds = %if.then385, %if.then371 + %303 = load i32, i32* %w, align 4 + %304 = load %struct.col_state_t*, %struct.col_state_t** %cs.addr, align 8 + %weight423 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %304, i32 0, i32 2 + store i32 %303, i32* %weight423, align 8 + br label %do.end425 + +do.cond424: ; preds = %if.else393, %do.end416, %if.end351, %if.then6 + br label %do.body + +do.end425: ; preds = %if.then360, %if.then364, %if.then36, %if.then44, %if.then79, %if.then242, %if.then257, %if.end422 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @lookup(i32 %wc, %struct.__uclibc_locale_struct.201* %locale_arg) #0 { +entry: + %retval = alloca i32, align 4 + %wc.addr = alloca i32, align 4 + %locale_arg.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %sc = alloca i32, align 4 + %n = alloca i32, align 4 + %i0 = alloca i32, align 4 + %i1 = alloca i32, align 4 + store i32 %wc, i32* %wc.addr, align 4 + store %struct.__uclibc_locale_struct.201* %locale_arg, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %0 = load i32, i32* %wc.addr, align 4 + %cmp = icmp ugt i32 %0, 65535 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %1 = load i32, i32* %wc.addr, align 4 + %2 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %2, i32 0, i32 118 + %ti_mask = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate, i32 0, i32 15 + %3 = load i16, i16* %ti_mask, align 2 + %conv = zext i16 %3 to i32 + %and = and i32 %1, %conv + store i32 %and, i32* %sc, align 4 + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate1 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %4, i32 0, i32 118 + %ti_shift = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate1, i32 0, i32 3 + %5 = load i16, i16* %ti_shift, align 2 + %conv2 = zext i16 %5 to i32 + %6 = load i32, i32* %wc.addr, align 4 + %shr = ashr i32 %6, %conv2 + store i32 %shr, i32* %wc.addr, align 4 + %7 = load i32, i32* %wc.addr, align 4 + %8 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate3 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %8, i32 0, i32 118 + %ii_mask = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate3, i32 0, i32 14 + %9 = load i16, i16* %ii_mask, align 4 + %conv4 = zext i16 %9 to i32 + %and5 = and i32 %7, %conv4 + store i32 %and5, i32* %n, align 4 + %10 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate6 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %10, i32 0, i32 118 + %ii_shift = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate6, i32 0, i32 2 + %11 = load i16, i16* %ii_shift, align 4 + %conv7 = zext i16 %11 to i32 + %12 = load i32, i32* %wc.addr, align 4 + %shr8 = ashr i32 %12, %conv7 + store i32 %shr8, i32* %wc.addr, align 4 + %13 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate9 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %13, i32 0, i32 118 + %wcs2colidt_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate9, i32 0, i32 19 + %14 = load i16*, i16** %wcs2colidt_tbl, align 8 + %15 = load i32, i32* %wc.addr, align 4 + %idxprom = sext i32 %15 to i64 + %arrayidx = getelementptr inbounds i16, i16* %14, i64 %idxprom + %16 = load i16, i16* %arrayidx, align 2 + %conv10 = zext i16 %16 to i32 + store i32 %conv10, i32* %i0, align 4 + %17 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate11 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %17, i32 0, i32 118 + %ii_shift12 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate11, i32 0, i32 2 + %18 = load i16, i16* %ii_shift12, align 4 + %conv13 = zext i16 %18 to i32 + %19 = load i32, i32* %i0, align 4 + %shl = shl i32 %19, %conv13 + store i32 %shl, i32* %i0, align 4 + %20 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate14 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %20, i32 0, i32 118 + %wcs2colidt_tbl15 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate14, i32 0, i32 19 + %21 = load i16*, i16** %wcs2colidt_tbl15, align 8 + %22 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate16 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %22, i32 0, i32 118 + %ii_len = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate16, i32 0, i32 4 + %23 = load i16, i16* %ii_len, align 8 + %conv17 = zext i16 %23 to i32 + %24 = load i32, i32* %i0, align 4 + %add = add i32 %conv17, %24 + %25 = load i32, i32* %n, align 4 + %add18 = add i32 %add, %25 + %idxprom19 = zext i32 %add18 to i64 + %arrayidx20 = getelementptr inbounds i16, i16* %21, i64 %idxprom19 + %26 = load i16, i16* %arrayidx20, align 2 + %conv21 = zext i16 %26 to i32 + store i32 %conv21, i32* %i1, align 4 + %27 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate22 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %27, i32 0, i32 118 + %ti_shift23 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate22, i32 0, i32 3 + %28 = load i16, i16* %ti_shift23, align 2 + %conv24 = zext i16 %28 to i32 + %29 = load i32, i32* %i1, align 4 + %shl25 = shl i32 %29, %conv24 + store i32 %shl25, i32* %i1, align 4 + %30 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate26 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %30, i32 0, i32 118 + %wcs2colidt_tbl27 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate26, i32 0, i32 19 + %31 = load i16*, i16** %wcs2colidt_tbl27, align 8 + %32 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate28 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %32, i32 0, i32 118 + %ii_len29 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate28, i32 0, i32 4 + %33 = load i16, i16* %ii_len29, align 8 + %conv30 = zext i16 %33 to i32 + %34 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate31 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %34, i32 0, i32 118 + %ti_len = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate31, i32 0, i32 5 + %35 = load i16, i16* %ti_len, align 2 + %conv32 = zext i16 %35 to i32 + %add33 = add nsw i32 %conv30, %conv32 + %36 = load i32, i32* %i1, align 4 + %add34 = add i32 %add33, %36 + %37 = load i32, i32* %sc, align 4 + %add35 = add i32 %add34, %37 + %idxprom36 = zext i32 %add35 to i64 + %arrayidx37 = getelementptr inbounds i16, i16* %31, i64 %idxprom36 + %38 = load i16, i16* %arrayidx37, align 2 + %conv38 = zext i16 %38 to i32 + store i32 %conv38, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %39 = load i32, i32* %retval, align 4 + ret i32 %39 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @strxfrm_l(i8* noalias %ws1, i8* noalias nonnull %ws2, i64 %n, %struct.__uclibc_locale_struct.201* nonnull %locale_arg) #0 { +entry: + %retval = alloca i64, align 8 + %ws1.addr = alloca i8*, align 8 + %ws2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %locale_arg.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %cs = alloca %struct.col_state_t, align 8 + %count = alloca i64, align 8 + %inc = alloca i64, align 8 + %pass = alloca i32, align 4 + store i8* %ws1, i8** %ws1.addr, align 8 + store i8* %ws2, i8** %ws2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__uclibc_locale_struct.201* %locale_arg, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 118 + %num_weights = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate, i32 0, i32 0 + %1 = load i16, i16* %num_weights, align 8 + %tobool = icmp ne i16 %1, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %2 = load i8*, i8** %ws1.addr, align 8 + %3 = load i8*, i8** %ws2.addr, align 8 + %4 = load i64, i64* %n.addr, align 8 + %call = call i64 @strlcpy(i8* %2, i8* %3, i64 %4) #19 + store i64 %call, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + store i32 0, i32* %pass, align 4 + store i64 0, i64* %count, align 8 + store i64 0, i64* %inc, align 8 + br label %do.body + +do.body: ; preds = %do.cond8, %if.end + %5 = load i8*, i8** %ws2.addr, align 8 + call void @init_col_state(%struct.col_state_t* %cs, i8* %5) #18 + br label %do.body1 + +do.body1: ; preds = %do.body1, %do.body + %6 = load i32, i32* %pass, align 4 + %7 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + call void @next_weight(%struct.col_state_t* %cs, i32 %6, %struct.__uclibc_locale_struct.201* %7) #18 + %8 = load i8*, i8** %ws1.addr, align 8 + %9 = load i64, i64* %count, align 8 + %10 = load i64, i64* %n.addr, align 8 + %weight = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %cs, i32 0, i32 2 + %11 = load i32, i32* %weight, align 8 + %add = add i32 %11, 1 + %call2 = call i64 @store(i8* %8, i64 %9, i64 %10, i32 %add) #18 + store i64 %call2, i64* %inc, align 8 + %12 = load i64, i64* %inc, align 8 + %13 = load i64, i64* %count, align 8 + %add3 = add i64 %13, %12 + store i64 %add3, i64* %count, align 8 + %weight4 = getelementptr inbounds %struct.col_state_t, %struct.col_state_t* %cs, i32 0, i32 2 + %14 = load i32, i32* %weight4, align 8 + %tobool5 = icmp ne i32 %14, 0 + br i1 %tobool5, label %do.body1, label %do.end + +do.end: ; preds = %do.body1 + %15 = load i64, i64* %count, align 8 + %16 = load i64, i64* %n.addr, align 8 + %cmp = icmp ule i64 %15, %16 + br i1 %cmp, label %if.then6, label %do.cond8 + +if.then6: ; preds = %do.end + %17 = load i8*, i8** %ws1.addr, align 8 + %18 = load i64, i64* %count, align 8 + %sub = sub i64 %18, 1 + %arrayidx = getelementptr inbounds i8, i8* %17, i64 %sub + store i8 1, i8* %arrayidx, align 1 + br label %do.cond8 + +do.cond8: ; preds = %do.end, %if.then6 + %19 = load i32, i32* %pass, align 4 + %inc9 = add nsw i32 %19, 1 + store i32 %inc9, i32* %pass, align 4 + %20 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %collate10 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %20, i32 0, i32 118 + %num_weights11 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate10, i32 0, i32 0 + %21 = load i16, i16* %num_weights11, align 8 + %conv = zext i16 %21 to i32 + %cmp12 = icmp slt i32 %inc9, %conv + br i1 %cmp12, label %do.body, label %do.end14 + +do.end14: ; preds = %do.cond8 + %22 = load i64, i64* %count, align 8 + %23 = load i64, i64* %n.addr, align 8 + %cmp15 = icmp ule i64 %22, %23 + br i1 %cmp15, label %if.then17, label %if.end20 + +if.then17: ; preds = %do.end14 + %24 = load i8*, i8** %ws1.addr, align 8 + %25 = load i64, i64* %count, align 8 + %sub18 = sub i64 %25, 1 + %arrayidx19 = getelementptr inbounds i8, i8* %24, i64 %sub18 + store i8 0, i8* %arrayidx19, align 1 + br label %if.end20 + +if.end20: ; preds = %if.then17, %do.end14 + %26 = load i64, i64* %count, align 8 + %sub21 = sub i64 %26, 1 + store i64 %sub21, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end20, %if.then + %27 = load i64, i64* %retval, align 8 + ret i64 %27 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @store(i8* %s, i64 %count, i64 %n, i32 %weight) #0 { +entry: + %s.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + %n.addr = alloca i64, align 8 + %weight.addr = alloca i32, align 4 + %i = alloca i32, align 4 + %r = alloca i32, align 4 + store i8* %s, i8** %s.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i32 %weight, i32* %weight.addr, align 4 + store i32 0, i32* %i, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %entry + %0 = load i32, i32* %weight.addr, align 4 + %conv = zext i32 %0 to i64 + %1 = load i32, i32* %i, align 4 + %idxprom = sext i32 %1 to i64 + %arrayidx = getelementptr inbounds [5 x i64], [5 x i64]* @bound, i64 0, i64 %idxprom + %2 = load i64, i64* %arrayidx, align 8 + %cmp = icmp ult i64 %conv, %2 + br i1 %cmp, label %do.end, label %do.cond + +do.cond: ; preds = %do.body + %3 = load i32, i32* %i, align 4 + %inc = add nsw i32 %3, 1 + store i32 %inc, i32* %i, align 4 + %conv2 = sext i32 %inc to i64 + %cmp3 = icmp ult i64 %conv2, 5 + br i1 %cmp3, label %do.body, label %do.end + +do.end: ; preds = %do.body, %do.cond + %4 = load i32, i32* %i, align 4 + %add = add nsw i32 %4, 1 + store i32 %add, i32* %r, align 4 + %5 = load i32, i32* %i, align 4 + %conv5 = sext i32 %5 to i64 + %6 = load i64, i64* %count.addr, align 8 + %add6 = add i64 %conv5, %6 + %7 = load i64, i64* %n.addr, align 8 + %cmp7 = icmp ult i64 %add6, %7 + br i1 %cmp7, label %if.then9, label %if.end20 + +if.then9: ; preds = %do.end + %8 = load i64, i64* %count.addr, align 8 + %9 = load i8*, i8** %s.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %9, i64 %8 + store i8* %add.ptr, i8** %s.addr, align 8 + %10 = load i32, i32* %i, align 4 + %idxprom10 = sext i32 %10 to i64 + %arrayidx11 = getelementptr inbounds [6 x i8], [6 x i8]* @first, i64 0, i64 %idxprom10 + %11 = load i8, i8* %arrayidx11, align 1 + %12 = load i8*, i8** %s.addr, align 8 + %arrayidx12 = getelementptr inbounds i8, i8* %12, i64 0 + store i8 %11, i8* %arrayidx12, align 1 + br label %while.cond + +while.cond: ; preds = %while.body, %if.then9 + %13 = load i32, i32* %i, align 4 + %tobool = icmp ne i32 %13, 0 + %14 = load i32, i32* %weight.addr, align 4 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %and = and i32 %14, 63 + %or = or i32 128, %and + %conv13 = trunc i32 %or to i8 + %15 = load i8*, i8** %s.addr, align 8 + %16 = load i32, i32* %i, align 4 + %idxprom14 = sext i32 %16 to i64 + %arrayidx15 = getelementptr inbounds i8, i8* %15, i64 %idxprom14 + store i8 %conv13, i8* %arrayidx15, align 1 + %17 = load i32, i32* %weight.addr, align 4 + %shr = lshr i32 %17, 6 + store i32 %shr, i32* %weight.addr, align 4 + %18 = load i32, i32* %i, align 4 + %dec = add nsw i32 %18, -1 + store i32 %dec, i32* %i, align 4 + br label %while.cond + +while.end: ; preds = %while.cond + %19 = load i8*, i8** %s.addr, align 8 + %arrayidx16 = getelementptr inbounds i8, i8* %19, i64 0 + %20 = load i8, i8* %arrayidx16, align 1 + %conv17 = zext i8 %20 to i32 + %or18 = or i32 %conv17, %14 + %conv19 = trunc i32 %or18 to i8 + store i8 %conv19, i8* %arrayidx16, align 1 + br label %if.end20 + +if.end20: ; preds = %while.end, %do.end + %21 = load i32, i32* %r, align 4 + %conv21 = sext i32 %21 to i64 + ret i64 %conv21 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @wcrtomb(i8* noalias %s, i32 %wc, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %s.addr = alloca i8*, align 8 + %wc.addr = alloca i32, align 4 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %wcbuf = alloca [1 x i32], align 4 + %pwc = alloca i32*, align 8 + %r = alloca i64, align 8 + %buf = alloca [16 x i8], align 16 + store i8* %s, i8** %s.addr, align 8 + store i32 %wc, i32* %wc.addr, align 4 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay, i8** %s.addr, align 8 + store i32 0, i32* %wc.addr, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %arraydecay1 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay1, i32** %pwc, align 8 + %1 = load i32, i32* %wc.addr, align 4 + %arrayidx = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32 %1, i32* %arrayidx, align 4 + %2 = load i8*, i8** %s.addr, align 8 + %3 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @wcsnrtombs(i8* %2, i32** %pwc, i64 1, i64 16, %struct.__mbstate_t.512* %3) #19 + store i64 %call, i64* %r, align 8 + %4 = load i64, i64* %r, align 8 + %cmp = icmp ne i64 %4, 0 + %5 = load i64, i64* %r, align 8 + %cond = select i1 %cmp, i64 %5, i64 1 + ret i64 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i64 @wcsrtombs(i8* noalias %dst, i32** noalias %src, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %dst.addr = alloca i8*, align 8 + %src.addr = alloca i32**, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + store i8* %dst, i8** %dst.addr, align 8 + store i32** %src, i32*** %src.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load i8*, i8** %dst.addr, align 8 + %1 = load i32**, i32*** %src.addr, align 8 + %2 = load i64, i64* %len.addr, align 8 + %3 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @wcsnrtombs(i8* %0, i32** %1, i64 -1, i64 %2, %struct.__mbstate_t.512* %3) #19 + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @iswctype_l(i32 %wc, i32 %desc, %struct.__uclibc_locale_struct.201* %locale) #0 { +entry: + %retval = alloca i32, align 4 + %wc.addr = alloca i32, align 4 + %desc.addr = alloca i32, align 4 + %locale.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %sc = alloca i32, align 4 + %n = alloca i32, align 4 + %i0 = alloca i32, align 4 + %i1 = alloca i32, align 4 + %d = alloca i8, align 1 + store i32 %wc, i32* %wc.addr, align 4 + store i32 %desc, i32* %desc.addr, align 4 + store %struct.__uclibc_locale_struct.201* %locale, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + store i8 0, i8* %d, align 1 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 9 + %1 = load i8, i8* %encoding, align 8 + %conv = zext i8 %1 to i32 + %cmp = icmp ne i32 %conv, 0 + %2 = load i32, i32* %wc.addr, align 4 + %cmp2 = icmp ule i32 %2, 127 + %or.cond = or i1 %cmp, %cmp2 + br i1 %or.cond, label %if.then, label %if.end78 + +if.then: ; preds = %entry + %3 = load i32, i32* %desc.addr, align 4 + %cmp4 = icmp ult i32 %3, 12 + br i1 %cmp4, label %if.then6, label %if.end58 + +if.then6: ; preds = %if.then + %4 = load i32, i32* %wc.addr, align 4 + %cmp7 = icmp ule i32 %4, 196607 + %5 = load i32, i32* %wc.addr, align 4 + br i1 %cmp7, label %if.then9, label %if.else + +if.then9: ; preds = %if.then6 + %and = and i32 %5, 7 + store i32 %and, i32* %sc, align 4 + %6 = load i32, i32* %wc.addr, align 4 + %shr = lshr i32 %6, 3 + store i32 %shr, i32* %wc.addr, align 4 + %7 = load i32, i32* %wc.addr, align 4 + %and10 = and i32 %7, 31 + store i32 %and10, i32* %n, align 4 + %8 = load i32, i32* %wc.addr, align 4 + %shr11 = lshr i32 %8, 5 + store i32 %shr11, i32* %wc.addr, align 4 + %9 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %tblwctype = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %9, i32 0, i32 21 + %10 = load i8*, i8** %tblwctype, align 8 + %11 = load i32, i32* %wc.addr, align 4 + %idxprom = zext i32 %11 to i64 + %arrayidx = getelementptr inbounds i8, i8* %10, i64 %idxprom + %12 = load i8, i8* %arrayidx, align 1 + %conv12 = zext i8 %12 to i32 + store i32 %conv12, i32* %i0, align 4 + %13 = load i32, i32* %i0, align 4 + %shl = shl i32 %13, 5 + store i32 %shl, i32* %i0, align 4 + %14 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %tblwctype13 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %14, i32 0, i32 21 + %15 = load i8*, i8** %tblwctype13, align 8 + %16 = load i32, i32* %i0, align 4 + %add = add i32 768, %16 + %17 = load i32, i32* %n, align 4 + %add14 = add i32 %add, %17 + %idxprom15 = zext i32 %add14 to i64 + %arrayidx16 = getelementptr inbounds i8, i8* %15, i64 %idxprom15 + %18 = load i8, i8* %arrayidx16, align 1 + %conv17 = zext i8 %18 to i32 + store i32 %conv17, i32* %i1, align 4 + %19 = load i32, i32* %i1, align 4 + %shl18 = shl i32 %19, 2 + store i32 %shl18, i32* %i1, align 4 + %20 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %tblwctype19 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %20, i32 0, i32 21 + %21 = load i8*, i8** %tblwctype19, align 8 + %22 = load i32, i32* %i1, align 4 + %add20 = add i32 2656, %22 + %23 = load i32, i32* %sc, align 4 + %shr21 = lshr i32 %23, 1 + %add22 = add i32 %add20, %shr21 + %idxprom23 = zext i32 %add22 to i64 + %arrayidx24 = getelementptr inbounds i8, i8* %21, i64 %idxprom23 + %24 = load i8, i8* %arrayidx24, align 1 + store i8 %24, i8* %d, align 1 + %25 = load i32, i32* %sc, align 4 + %and25 = and i32 %25, 1 + %tobool = icmp ne i32 %and25, 0 + %26 = load i8, i8* %d, align 1 + %conv26 = zext i8 %26 to i32 + %shr27 = ashr i32 %conv26, 4 + %and29 = and i32 %conv26, 15 + %cond = select i1 %tobool, i32 %shr27, i32 %and29 + %conv30 = trunc i32 %cond to i8 + store i8 %conv30, i8* %d, align 1 + br label %if.end50 + +if.else: ; preds = %if.then6 + %conv31 = zext i32 %5 to i64 + %sub = sub i64 %conv31, 917536 + %conv32 = trunc i64 %sub to i32 + %cmp33 = icmp ule i32 %conv32, 95 + br i1 %cmp33, label %if.then49, label %lor.lhs.false35 + +lor.lhs.false35: ; preds = %if.else + %27 = load i32, i32* %wc.addr, align 4 + %conv36 = zext i32 %27 to i64 + %cmp37 = icmp eq i64 %conv36, 917505 + br i1 %cmp37, label %if.then49, label %lor.lhs.false39 + +lor.lhs.false39: ; preds = %lor.lhs.false35 + %28 = load i32, i32* %wc.addr, align 4 + %conv40 = zext i32 %28 to i64 + %sub41 = sub i64 %conv40, 983040 + %conv42 = trunc i64 %sub41 to i32 + %conv43 = zext i32 %conv42 to i64 + %cmp44 = icmp ult i64 %conv43, 131072 + br i1 %cmp44, label %land.lhs.true, label %if.end50 + +land.lhs.true: ; preds = %lor.lhs.false39 + %29 = load i32, i32* %wc.addr, align 4 + %and46 = and i32 %29, 65535 + %cmp47 = icmp ule i32 %and46, 65533 + br i1 %cmp47, label %if.then49, label %if.end50 + +if.then49: ; preds = %land.lhs.true, %lor.lhs.false35, %if.else + store i8 6, i8* %d, align 1 + br label %if.end50 + +if.end50: ; preds = %lor.lhs.false39, %land.lhs.true, %if.then49, %if.then9 + %30 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %code2flag = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %30, i32 0, i32 20 + %31 = load i16*, i16** %code2flag, align 8 + %32 = load i8, i8* %d, align 1 + %idxprom51 = zext i8 %32 to i64 + %arrayidx52 = getelementptr inbounds i16, i16* %31, i64 %idxprom51 + %33 = load i16, i16* %arrayidx52, align 2 + %conv53 = zext i16 %33 to i32 + %34 = load i32, i32* %desc.addr, align 4 + %idxprom54 = zext i32 %34 to i64 + %arrayidx55 = getelementptr inbounds [13 x i16], [13 x i16]* @desc2flag, i64 0, i64 %idxprom54 + %35 = load i16, i16* %arrayidx55, align 2 + %conv56 = zext i16 %35 to i32 + %and57 = and i32 %conv53, %conv56 + store i32 %and57, i32* %retval, align 4 + br label %return + +if.end58: ; preds = %if.then + %36 = load i32, i32* %desc.addr, align 4 + %cmp59 = icmp eq i32 %36, 12 + br i1 %cmp59, label %cond.false68, label %cond.end76 + +cond.false68: ; preds = %if.end58 + %37 = load i32, i32* %wc.addr, align 4 + %sub69 = sub i32 %37, 48 + %cmp70 = icmp ult i32 %sub69, 10 + %38 = load i32, i32* %wc.addr, align 4 + %or = or i32 %38, 32 + %sub72 = sub i32 %or, 97 + %cmp73 = icmp ult i32 %sub72, 6 + %39 = select i1 %cmp70, i1 true, i1 %cmp73 + %lor.ext = zext i1 %39 to i32 + br label %cond.end76 + +cond.end76: ; preds = %if.end58, %cond.false68 + %cond77 = phi i32 [ %lor.ext, %cond.false68 ], [ 0, %if.end58 ] + store i32 %cond77, i32* %retval, align 4 + br label %return + +if.end78: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end78, %cond.end76, %if.end50 + %40 = load i32, i32* %retval, align 4 + ret i32 %40 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_adjust_position(%struct.__STDIO_FILE_STRUCT.636* noalias %stream, i64* %pos) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %pos.addr = alloca i64*, align 8 + %oldpos = alloca i64, align 8 + %corr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64* %pos, i64** %pos.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 3 + store i32 %and, i32* %corr, align 4 + %cmp = icmp ne i32 %and, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load i32, i32* %corr, align 4 + %dec = add nsw i32 %2, -1 + store i32 %dec, i32* %corr, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %3 = load i32, i32* %corr, align 4 + %tobool = icmp ne i32 %3, 0 + br i1 %tobool, label %land.lhs.true, label %if.end22 + +land.lhs.true: ; preds = %if.end + %4 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %4, i32 0, i32 0 + %5 = load i16, i16* %__modeflags2, align 8 + %conv3 = zext i16 %5 to i32 + %and4 = and i32 %conv3, 2048 + %tobool5 = icmp ne i32 %and4, 0 + br i1 %tobool5, label %if.then6, label %if.end22 + +if.then6: ; preds = %land.lhs.true + %6 = load i32, i32* %corr, align 4 + %cmp7 = icmp sgt i32 %6, 1 + br i1 %cmp7, label %if.then10, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then6 + %7 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %7, i32 0, i32 10 + %arrayidx = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot, i64 0, i64 1 + %8 = load i32, i32* %arrayidx, align 4 + %tobool9 = icmp ne i32 %8, 0 + br i1 %tobool9, label %if.then10, label %if.end11 + +if.then10: ; preds = %lor.lhs.false, %if.then6 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end11: ; preds = %lor.lhs.false + %9 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %9, i32 0, i32 1 + %arrayidx12 = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 1 + %10 = load i8, i8* %arrayidx12, align 1 + %conv13 = zext i8 %10 to i32 + %add = add nsw i32 1, %conv13 + %11 = load i32, i32* %corr, align 4 + %sub = sub nsw i32 %11, %add + store i32 %sub, i32* %corr, align 4 + %12 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %12, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + %13 = load i32, i32* %__mask, align 8 + %cmp14 = icmp sgt i32 %13, 0 + br i1 %cmp14, label %if.then16, label %if.end22 + +if.then16: ; preds = %if.end11 + %14 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot_width17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %14, i32 0, i32 1 + %arrayidx18 = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width17, i64 0, i64 0 + %15 = load i8, i8* %arrayidx18, align 2 + %conv19 = zext i8 %15 to i32 + %16 = load i32, i32* %corr, align 4 + %sub20 = sub nsw i32 %16, %conv19 + store i32 %sub20, i32* %corr, align 4 + br label %if.end22 + +if.end22: ; preds = %if.end11, %if.then16, %land.lhs.true, %if.end + %17 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags23 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %17, i32 0, i32 0 + %18 = load i16, i16* %__modeflags23, align 8 + %conv24 = zext i16 %18 to i32 + %and25 = and i32 %conv24, 64 + %tobool26 = icmp ne i32 %and25, 0 + %19 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + br i1 %tobool26, label %cond.true, label %cond.false + +cond.true: ; preds = %if.end22 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %19, i32 0, i32 3 + %20 = load i8*, i8** %__bufstart, align 8 + br label %cond.end + +cond.false: ; preds = %if.end22 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %19, i32 0, i32 6 + %21 = load i8*, i8** %__bufread, align 8 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i8* [ %20, %cond.true ], [ %21, %cond.false ] + %22 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %22, i32 0, i32 5 + %23 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %cond to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %23 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %24 = load i32, i32* %corr, align 4 + %conv27 = sext i32 %24 to i64 + %add28 = add nsw i64 %conv27, %sub.ptr.sub + %conv29 = trunc i64 %add28 to i32 + store i32 %conv29, i32* %corr, align 4 + %25 = load i64*, i64** %pos.addr, align 8 + %26 = load i64, i64* %25, align 8 + store i64 %26, i64* %oldpos, align 8 + %27 = load i32, i32* %corr, align 4 + %conv30 = sext i32 %27 to i64 + %28 = load i64*, i64** %pos.addr, align 8 + %29 = load i64, i64* %28, align 8 + %sub31 = sub nsw i64 %29, %conv30 + store i64 %sub31, i64* %28, align 8 + %30 = load i64, i64* %oldpos, align 8 + %cmp32 = icmp sgt i64 %sub31, %30 + br i1 %cmp32, label %if.then34, label %if.end36 + +if.then34: ; preds = %cond.end + %31 = load i32, i32* %corr, align 4 + %sub35 = sub nsw i32 0, %31 + store i32 %sub35, i32* %corr, align 4 + br label %if.end36 + +if.end36: ; preds = %if.then34, %cond.end + %32 = load i32, i32* %corr, align 4 + %cmp37 = icmp slt i32 %32, 0 + br i1 %cmp37, label %if.then39, label %if.end40 + +if.then39: ; preds = %if.end36 + store i32 75, i32* @errno, align 4 + br label %if.end40 + +if.end40: ; preds = %if.then39, %if.end36 + %33 = load i32, i32* %corr, align 4 + store i32 %33, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end40, %if.then10 + %34 = load i32, i32* %retval, align 4 + ret i32 %34 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_seek(%struct.__STDIO_FILE_STRUCT.636* %stream, i64* %pos, i32 %whence) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %pos.addr = alloca i64*, align 8 + %whence.addr = alloca i32, align 4 + %res = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64* %pos, i64** %pos.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %0, i32 0, i32 2 + %1 = load i32, i32* %__filedes, align 4 + %2 = load i64*, i64** %pos.addr, align 8 + %3 = load i64, i64* %2, align 8 + %4 = load i32, i32* %whence.addr, align 4 + %call = call i64 @lseek64(i32 %1, i64 %3, i32 %4) #19 + store i64 %call, i64* %res, align 8 + %5 = load i64, i64* %res, align 8 + %cmp = icmp sge i64 %5, 0 + %6 = load i64, i64* %res, align 8 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %entry + %7 = load i64*, i64** %pos.addr, align 8 + store i64 %6, i64* %7, align 8 + br label %cond.end + +cond.false: ; preds = %entry + %conv = trunc i64 %6 to i32 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ 0, %cond.true ], [ %conv, %cond.false ] + ret i32 %cond +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_fpmaxtostr(%struct.__STDIO_FILE_STRUCT.568* %fp, double %x, %struct.printf_info.720* %info, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)* %fp_outfunc) #0 { +entry: + %retval = alloca i64, align 8 + %fp.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %x.addr = alloca double, align 8 + %info.addr = alloca %struct.printf_info.720*, align 8 + %fp_outfunc.addr = alloca i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)*, align 8 + %round = alloca i32, align 4 + %o_exp = alloca i32, align 4 + %exp = alloca i32, align 4 + %width = alloca i32, align 4 + %preci = alloca i32, align 4 + %cnt = alloca i32, align 4 + %s = alloca i8*, align 8 + %e = alloca i8*, align 8 + %pc_fwi = alloca [24 x i64], align 16 + %ppc = alloca i64*, align 8 + %ppc_last = alloca i64*, align 8 + %exp_buf = alloca [16 x i8], align 16 + %buf = alloca [21 x i8], align 16 + %sign_str = alloca [6 x i8], align 1 + %o_mode = alloca i8, align 1 + %mode = alloca i8, align 1 + %i = alloca i32, align 4 + %j = alloca i32, align 4 + %exp_neg = alloca i32, align 4 + %i92 = alloca i32, align 4 + %j93 = alloca i32, align 4 + %digit_block = alloca i64, align 8 + %i151 = alloca i32, align 4 + %i218 = alloca i32, align 4 + %p = alloca i8*, align 8 + %j329 = alloca i32, align 4 + %exp_char = alloca i8, align 1 + %exp_sign = alloca i8, align 1 + %i359 = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %fp, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + store double %x, double* %x.addr, align 8 + store %struct.printf_info.720* %info, %struct.printf_info.720** %info.addr, align 8 + store i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)* %fp_outfunc, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)** %fp_outfunc.addr, align 8 + %0 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %width1 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %0, i32 0, i32 1 + %1 = load i32, i32* %width1, align 4 + store i32 %1, i32* %width, align 4 + %2 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %2, i32 0, i32 0 + %3 = load i32, i32* %prec, align 4 + store i32 %3, i32* %preci, align 4 + %4 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %spec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %4, i32 0, i32 2 + %5 = load i32, i32* %spec, align 4 + %conv = trunc i32 %5 to i8 + store i8 %conv, i8* %mode, align 1 + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + store i8 101, i8* %arraydecay, align 16 + %6 = load i8, i8* %mode, align 1 + %conv2 = sext i8 %6 to i32 + %or = or i32 %conv2, 32 + %cmp = icmp eq i32 %or, 97 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %7 = load i8, i8* %mode, align 1 + %conv4 = sext i8 %7 to i32 + %add = add nsw i32 %conv4, 6 + %conv5 = trunc i32 %add to i8 + store i8 %conv5, i8* %mode, align 1 + br label %if.end + +if.end: ; preds = %if.then, %entry + %8 = load i32, i32* %preci, align 4 + %cmp6 = icmp slt i32 %8, 0 + br i1 %cmp6, label %if.then8, label %if.end9 + +if.then8: ; preds = %if.end + store i32 6, i32* %preci, align 4 + br label %if.end9 + +if.end9: ; preds = %if.then8, %if.end + %arraydecay10 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 0, i8* %arraydecay10, align 1 + %9 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %showsign = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %9, i32 0, i32 3 + %bf.load = load i32, i32* %showsign, align 4 + %bf.lshr = lshr i32 %bf.load, 1 + %bf.clear = and i32 %bf.lshr, 1 + %tobool = icmp ne i32 %bf.clear, 0 + br i1 %tobool, label %if.then11, label %if.else + +if.then11: ; preds = %if.end9 + %arraydecay12 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 43, i8* %arraydecay12, align 1 + br label %if.end19 + +if.else: ; preds = %if.end9 + %10 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %space = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %10, i32 0, i32 3 + %bf.load13 = load i32, i32* %space, align 4 + %bf.clear14 = and i32 %bf.load13, 1 + %tobool15 = icmp ne i32 %bf.clear14, 0 + br i1 %tobool15, label %if.then16, label %if.end19 + +if.then16: ; preds = %if.else + %arraydecay17 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 32, i8* %arraydecay17, align 1 + br label %if.end19 + +if.end19: ; preds = %if.else, %if.then16, %if.then11 + %arraydecay20 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay20, i64 1 + store i8 0, i8* %add.ptr, align 1 + %arrayidx = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 0, i64* %arrayidx, align 8 + %11 = load double, double* %x.addr, align 8 + %12 = load double, double* %x.addr, align 8 + %cmp21 = fcmp une double %11, %12 + br i1 %cmp21, label %if.then23, label %if.end25 + +if.then23: ; preds = %if.end19 + %arrayidx24 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 8, i64* %arrayidx24, align 8 + br label %INF_NAN + +if.end25: ; preds = %if.end19 + %13 = load double, double* %x.addr, align 8 + %cmp26 = fcmp oeq double %13, 0.000000e+00 + %14 = load double, double* %x.addr, align 8 + br i1 %cmp26, label %if.then28, label %if.end34 + +if.then28: ; preds = %if.end25 + %div = fdiv double 1.000000e+00, %14 + %cmp29 = fcmp olt double %div, 0.000000e+00 + br i1 %cmp29, label %if.then31, label %if.end33 + +if.then31: ; preds = %if.then28 + %arraydecay32 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 45, i8* %arraydecay32, align 1 + br label %if.end33 + +if.end33: ; preds = %if.then31, %if.then28 + store i32 -1, i32* %exp, align 4 + br label %GENERATE_DIGITS + +if.end34: ; preds = %if.end25 + %cmp35 = fcmp olt double %14, 0.000000e+00 + br i1 %cmp35, label %if.then37, label %if.end39 + +if.then37: ; preds = %if.end34 + %arraydecay38 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 45, i8* %arraydecay38, align 1 + %15 = load double, double* %x.addr, align 8 + %fneg = fneg double %15 + store double %fneg, double* %x.addr, align 8 + br label %if.end39 + +if.end39: ; preds = %if.then37, %if.end34 + %16 = load double, double* %x.addr, align 8 + %17 = load double, double* %x.addr, align 8 + %div40 = fdiv double %17, 4.000000e+00 + %cmp41 = fcmp oeq double %16, %div40 + br i1 %cmp41, label %INF_NAN, label %if.end58 + +INF_NAN: ; preds = %if.end39, %if.then23 + %18 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %18, i32 0, i32 4 + store i32 32, i32* %pad, align 4 + %arraydecay44 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + %add.ptr45 = getelementptr inbounds i64, i64* %arraydecay44, i64 6 + store i64* %add.ptr45, i64** %ppc, align 8 + %arrayidx46 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 3 + store i64 112, i64* %arrayidx46, align 8 + %arrayidx47 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 4 + store i64 3, i64* %arrayidx47, align 16 + %19 = load i8, i8* %mode, align 1 + %conv48 = sext i8 %19 to i32 + %cmp49 = icmp slt i32 %conv48, 97 + br i1 %cmp49, label %if.then51, label %if.end54 + +if.then51: ; preds = %INF_NAN + %arrayidx52 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + %20 = load i64, i64* %arrayidx52, align 8 + %add53 = add nsw i64 %20, 4 + store i64 %add53, i64* %arrayidx52, align 8 + br label %if.end54 + +if.end54: ; preds = %if.then51, %INF_NAN + %arrayidx55 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + %21 = load i64, i64* %arrayidx55, align 8 + %add.ptr56 = getelementptr inbounds i8, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 0), i64 %21 + %22 = ptrtoint i8* %add.ptr56 to i64 + %arrayidx57 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 %22, i64* %arrayidx57, align 8 + br label %EXIT_SPECIAL + +if.end58: ; preds = %if.end39 + store i32 8, i32* %exp, align 4 + store i32 9, i32* %i, align 4 + store i32 256, i32* %j, align 4 + store i32 0, i32* %exp_neg, align 4 + %23 = load double, double* %x.addr, align 8 + %cmp59 = fcmp olt double %23, 1.000000e+08 + br i1 %cmp59, label %if.then61, label %if.end62 + +if.then61: ; preds = %if.end58 + store i32 1, i32* %exp_neg, align 4 + br label %if.end62 + +if.end62: ; preds = %if.then61, %if.end58 + br label %do.body + +do.body: ; preds = %if.end85, %if.end62 + %24 = load i32, i32* %i, align 4 + %dec = add nsw i32 %24, -1 + store i32 %dec, i32* %i, align 4 + %25 = load i32, i32* %exp_neg, align 4 + %tobool63 = icmp ne i32 %25, 0 + %26 = load double, double* %x.addr, align 8 + %27 = load i32, i32* %i, align 4 + %idxprom = sext i32 %27 to i64 + %arrayidx65 = getelementptr inbounds [9 x double], [9 x double]* @exp10_table, i64 0, i64 %idxprom + %28 = load double, double* %arrayidx65, align 8 + br i1 %tobool63, label %if.then64, label %if.else73 + +if.then64: ; preds = %do.body + %mul = fmul double %26, %28 + %cmp66 = fcmp olt double %mul, 1.000000e+09 + br i1 %cmp66, label %if.then68, label %if.end85 + +if.then68: ; preds = %if.then64 + %29 = load i32, i32* %i, align 4 + %idxprom69 = sext i32 %29 to i64 + %arrayidx70 = getelementptr inbounds [9 x double], [9 x double]* @exp10_table, i64 0, i64 %idxprom69 + %30 = load double, double* %arrayidx70, align 8 + %31 = load double, double* %x.addr, align 8 + %mul71 = fmul double %31, %30 + store double %mul71, double* %x.addr, align 8 + %32 = load i32, i32* %j, align 4 + %33 = load i32, i32* %exp, align 4 + %sub = sub nsw i32 %33, %32 + store i32 %sub, i32* %exp, align 4 + br label %if.end85 + +if.else73: ; preds = %do.body + %div76 = fdiv double %26, %28 + %cmp77 = fcmp oge double %div76, 1.000000e+08 + br i1 %cmp77, label %if.then79, label %if.end85 + +if.then79: ; preds = %if.else73 + %34 = load i32, i32* %i, align 4 + %idxprom80 = sext i32 %34 to i64 + %arrayidx81 = getelementptr inbounds [9 x double], [9 x double]* @exp10_table, i64 0, i64 %idxprom80 + %35 = load double, double* %arrayidx81, align 8 + %36 = load double, double* %x.addr, align 8 + %div82 = fdiv double %36, %35 + store double %div82, double* %x.addr, align 8 + %37 = load i32, i32* %j, align 4 + %38 = load i32, i32* %exp, align 4 + %add83 = add nsw i32 %38, %37 + store i32 %add83, i32* %exp, align 4 + br label %if.end85 + +if.end85: ; preds = %if.else73, %if.then79, %if.then64, %if.then68 + %39 = load i32, i32* %j, align 4 + %shr = ashr i32 %39, 1 + store i32 %shr, i32* %j, align 4 + %40 = load i32, i32* %i, align 4 + %tobool86 = icmp ne i32 %40, 0 + br i1 %tobool86, label %do.body, label %do.end + +do.end: ; preds = %if.end85 + %41 = load double, double* %x.addr, align 8 + %cmp87 = fcmp oge double %41, 1.000000e+09 + br i1 %cmp87, label %if.then89, label %GENERATE_DIGITS + +if.then89: ; preds = %do.end + %42 = load double, double* getelementptr inbounds ([9 x double], [9 x double]* @exp10_table, i64 0, i64 0), align 16 + %43 = load double, double* %x.addr, align 8 + %div90 = fdiv double %43, %42 + store double %div90, double* %x.addr, align 8 + %44 = load i32, i32* %exp, align 4 + %inc = add nsw i32 %44, 1 + store i32 %inc, i32* %exp, align 4 + br label %GENERATE_DIGITS + +GENERATE_DIGITS: ; preds = %do.end, %if.then89, %if.end33 + %arraydecay94 = getelementptr inbounds [21 x i8], [21 x i8]* %buf, i64 0, i64 0 + %add.ptr95 = getelementptr inbounds i8, i8* %arraydecay94, i64 2 + store i8* %add.ptr95, i8** %s, align 8 + store i32 0, i32* %i92, align 4 + br label %do.body96 + +do.body96: ; preds = %do.cond114, %GENERATE_DIGITS + %45 = load double, double* %x.addr, align 8 + %conv97 = fptoui double %45 to i64 + store i64 %conv97, i64* %digit_block, align 8 + %46 = load double, double* %x.addr, align 8 + %47 = load i64, i64* %digit_block, align 8 + %conv98 = uitofp i64 %47 to double + %sub99 = fsub double %46, %conv98 + %mul100 = fmul double %sub99, 1.000000e+09 + store double %mul100, double* %x.addr, align 8 + %48 = load i8*, i8** %s, align 8 + %add.ptr101 = getelementptr inbounds i8, i8* %48, i64 9 + store i8* %add.ptr101, i8** %s, align 8 + store i32 0, i32* %j93, align 4 + br label %do.body102 + +do.body102: ; preds = %do.body102, %do.body96 + %49 = load i64, i64* %digit_block, align 8 + %rem = urem i64 %49, 10 + %add103 = add i64 48, %rem + %conv104 = trunc i64 %add103 to i8 + %50 = load i8*, i8** %s, align 8 + %51 = load i32, i32* %j93, align 4 + %inc105 = add nsw i32 %51, 1 + store i32 %inc105, i32* %j93, align 4 + %sub106 = sub nsw i32 0, %inc105 + %idxprom107 = sext i32 %sub106 to i64 + %arrayidx108 = getelementptr inbounds i8, i8* %50, i64 %idxprom107 + store i8 %conv104, i8* %arrayidx108, align 1 + %52 = load i64, i64* %digit_block, align 8 + %div109 = udiv i64 %52, 10 + store i64 %div109, i64* %digit_block, align 8 + %53 = load i32, i32* %j93, align 4 + %cmp111 = icmp slt i32 %53, 9 + br i1 %cmp111, label %do.body102, label %do.cond114 + +do.cond114: ; preds = %do.body102 + %54 = load i32, i32* %i92, align 4 + %inc115 = add nsw i32 %54, 1 + store i32 %inc115, i32* %i92, align 4 + %cmp116 = icmp slt i32 %inc115, 2 + br i1 %cmp116, label %do.body96, label %do.end118 + +do.end118: ; preds = %do.cond114 + %55 = load i8, i8* %mode, align 1 + %conv119 = sext i8 %55 to i32 + %cmp120 = icmp slt i32 %conv119, 97 + br i1 %cmp120, label %if.then122, label %if.end130 + +if.then122: ; preds = %do.end118 + %arraydecay123 = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + %56 = load i8, i8* %arraydecay123, align 16 + %conv124 = sext i8 %56 to i32 + %sub125 = sub nsw i32 %conv124, 32 + %conv126 = trunc i32 %sub125 to i8 + store i8 %conv126, i8* %arraydecay123, align 16 + %57 = load i8, i8* %mode, align 1 + %conv127 = sext i8 %57 to i32 + %add128 = add nsw i32 %conv127, 32 + %conv129 = trunc i32 %add128 to i8 + store i8 %conv129, i8* %mode, align 1 + br label %if.end130 + +if.end130: ; preds = %if.then122, %do.end118 + %58 = load i8, i8* %mode, align 1 + store i8 %58, i8* %o_mode, align 1 + %59 = load i8, i8* %mode, align 1 + %conv131 = sext i8 %59 to i32 + %cmp132 = icmp eq i32 %conv131, 103 + %60 = load i32, i32* %preci, align 4 + %cmp134 = icmp sgt i32 %60, 0 + %or.cond = and i1 %cmp132, %cmp134 + br i1 %or.cond, label %if.then136, label %if.end138 + +if.then136: ; preds = %if.end130 + %61 = load i32, i32* %preci, align 4 + %dec137 = add nsw i32 %61, -1 + store i32 %dec137, i32* %preci, align 4 + br label %if.end138 + +if.end138: ; preds = %if.then136, %if.end130 + %62 = load i32, i32* %preci, align 4 + store i32 %62, i32* %round, align 4 + %63 = load i8, i8* %mode, align 1 + %conv139 = sext i8 %63 to i32 + %cmp140 = icmp eq i32 %conv139, 102 + br i1 %cmp140, label %if.then142, label %if.end149 + +if.then142: ; preds = %if.end138 + %64 = load i32, i32* %exp, align 4 + %65 = load i32, i32* %round, align 4 + %add143 = add nsw i32 %65, %64 + store i32 %add143, i32* %round, align 4 + %66 = load i32, i32* %round, align 4 + %cmp144 = icmp slt i32 %66, -1 + br i1 %cmp144, label %if.then146, label %if.end149 + +if.then146: ; preds = %if.then142 + %arraydecay147 = getelementptr inbounds [21 x i8], [21 x i8]* %buf, i64 0, i64 0 + %call = call i8* @memset(i8* %arraydecay147, i32 48, i64 17) #19 + store i32 -1, i32* %exp, align 4 + store i32 -1, i32* %round, align 4 + br label %if.end149 + +if.end149: ; preds = %if.then142, %if.then146, %if.end138 + %arraydecay150 = getelementptr inbounds [21 x i8], [21 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay150, i8** %s, align 8 + %67 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %67, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + store i8 0, i8* %67, align 1 + %68 = load i8*, i8** %s, align 8 + store i8 48, i8* %68, align 1 + store i32 0, i32* %i151, align 4 + %69 = load i8*, i8** %s, align 8 + %add.ptr152 = getelementptr inbounds i8, i8* %69, i64 17 + %add.ptr153 = getelementptr inbounds i8, i8* %add.ptr152, i64 1 + store i8* %add.ptr153, i8** %e, align 8 + %70 = load i32, i32* %round, align 4 + %cmp154 = icmp slt i32 %70, 17 + br i1 %cmp154, label %if.then156, label %if.end164 + +if.then156: ; preds = %if.end149 + %71 = load i8*, i8** %s, align 8 + %72 = load i32, i32* %round, align 4 + %idx.ext = sext i32 %72 to i64 + %add.ptr157 = getelementptr inbounds i8, i8* %71, i64 %idx.ext + %add.ptr158 = getelementptr inbounds i8, i8* %add.ptr157, i64 2 + store i8* %add.ptr158, i8** %e, align 8 + %73 = load i8*, i8** %e, align 8 + %74 = load i8, i8* %73, align 1 + %conv159 = sext i8 %74 to i32 + %cmp160 = icmp sge i32 %conv159, 53 + br i1 %cmp160, label %if.then162, label %if.end164 + +if.then162: ; preds = %if.then156 + store i32 1, i32* %i151, align 4 + br label %if.end164 + +if.end164: ; preds = %if.then156, %if.then162, %if.end149 + br label %do.body165 + +do.body165: ; preds = %do.body165, %lor.rhs, %if.end164 + %75 = load i32, i32* %i151, align 4 + %76 = load i8*, i8** %e, align 8 + %incdec.ptr166 = getelementptr inbounds i8, i8* %76, i32 -1 + store i8* %incdec.ptr166, i8** %e, align 8 + %77 = load i8, i8* %incdec.ptr166, align 1 + %conv167 = sext i8 %77 to i32 + %add168 = add nsw i32 %conv167, %75 + %conv169 = trunc i32 %add168 to i8 + store i8 %conv169, i8* %incdec.ptr166, align 1 + %78 = load i8*, i8** %e, align 8 + %79 = load i8, i8* %78, align 1 + %conv171 = sext i8 %79 to i32 + %cmp172 = icmp eq i32 %conv171, 48 + br i1 %cmp172, label %do.body165, label %lor.rhs + +lor.rhs: ; preds = %do.body165 + %80 = load i8*, i8** %e, align 8 + %81 = load i8, i8* %80, align 1 + %conv174 = sext i8 %81 to i32 + %cmp175 = icmp sgt i32 %conv174, 57 + br i1 %cmp175, label %do.body165, label %do.end177 + +do.end177: ; preds = %lor.rhs + %82 = load i32, i32* %exp, align 4 + store i32 %82, i32* %o_exp, align 4 + %83 = load i8*, i8** %e, align 8 + %84 = load i8*, i8** %s, align 8 + %cmp178 = icmp ule i8* %83, %84 + br i1 %cmp178, label %if.then180, label %if.else182 + +if.then180: ; preds = %do.end177 + %85 = load i32, i32* %o_exp, align 4 + %inc181 = add nsw i32 %85, 1 + store i32 %inc181, i32* %o_exp, align 4 + %86 = load i8*, i8** %s, align 8 + store i8* %86, i8** %e, align 8 + br label %if.end184 + +if.else182: ; preds = %do.end177 + %87 = load i8*, i8** %s, align 8 + %incdec.ptr183 = getelementptr inbounds i8, i8* %87, i32 1 + store i8* %incdec.ptr183, i8** %s, align 8 + br label %if.end184 + +if.end184: ; preds = %if.else182, %if.then180 + %88 = load i8*, i8** %e, align 8 + %incdec.ptr185 = getelementptr inbounds i8, i8* %88, i32 1 + store i8* %incdec.ptr185, i8** %e, align 8 + store i8 0, i8* %incdec.ptr185, align 1 + %89 = load i8, i8* %mode, align 1 + %conv186 = sext i8 %89 to i32 + %cmp187 = icmp eq i32 %conv186, 103 + %90 = load i32, i32* %o_exp, align 4 + %cmp190 = icmp sge i32 %90, -4 + %or.cond1 = and i1 %cmp187, %cmp190 + br i1 %or.cond1, label %land.lhs.true192, label %if.end197 + +land.lhs.true192: ; preds = %if.end184 + %91 = load i32, i32* %o_exp, align 4 + %92 = load i32, i32* %round, align 4 + %cmp193 = icmp sle i32 %91, %92 + br i1 %cmp193, label %if.then195, label %if.end197 + +if.then195: ; preds = %land.lhs.true192 + store i8 102, i8* %mode, align 1 + %93 = load i32, i32* %round, align 4 + %94 = load i32, i32* %o_exp, align 4 + %sub196 = sub nsw i32 %93, %94 + store i32 %sub196, i32* %preci, align 4 + br label %if.end197 + +if.end197: ; preds = %if.then195, %land.lhs.true192, %if.end184 + %95 = load i32, i32* %o_exp, align 4 + store i32 %95, i32* %exp, align 4 + %96 = load i8, i8* %mode, align 1 + %conv198 = sext i8 %96 to i32 + %cmp199 = icmp ne i32 %conv198, 102 + br i1 %cmp199, label %if.then201, label %if.end202 + +if.then201: ; preds = %if.end197 + store i32 0, i32* %o_exp, align 4 + br label %if.end202 + +if.end202: ; preds = %if.then201, %if.end197 + %97 = load i32, i32* %o_exp, align 4 + %cmp203 = icmp slt i32 %97, 0 + br i1 %cmp203, label %if.then205, label %if.end207 + +if.then205: ; preds = %if.end202 + %98 = load i8*, i8** %s, align 8 + %incdec.ptr206 = getelementptr inbounds i8, i8* %98, i32 -1 + store i8* %incdec.ptr206, i8** %s, align 8 + store i8 48, i8* %incdec.ptr206, align 1 + br label %if.end207 + +if.end207: ; preds = %if.then205, %if.end202 + %arrayidx208 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 3 + store i64 176, i64* %arrayidx208, align 8 + %arrayidx209 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 4 + store i64 1, i64* %arrayidx209, align 16 + %arraydecay210 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %add.ptr211 = getelementptr inbounds i8, i8* %arraydecay210, i64 4 + %99 = ptrtoint i8* %add.ptr211 to i64 + %arrayidx212 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 %99, i64* %arrayidx212, align 8 + %100 = load i8*, i8** %s, align 8 + %incdec.ptr213 = getelementptr inbounds i8, i8* %100, i32 1 + store i8* %incdec.ptr213, i8** %s, align 8 + %101 = load i8, i8* %100, align 1 + %arrayidx214 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 4 + store i8 %101, i8* %arrayidx214, align 1 + %arrayidx215 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 5 + store i8 0, i8* %arrayidx215, align 1 + %arraydecay216 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + %add.ptr217 = getelementptr inbounds i64, i64* %arraydecay216, i64 6 + store i64* %add.ptr217, i64** %ppc, align 8 + %102 = load i8*, i8** %e, align 8 + %103 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %102 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %103 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %conv219 = trunc i64 %sub.ptr.sub to i32 + store i32 %conv219, i32* %i218, align 4 + %104 = load i32, i32* %o_exp, align 4 + %cmp220 = icmp sge i32 %104, 0 + br i1 %cmp220, label %if.then222, label %if.end253 + +if.then222: ; preds = %if.end207 + %105 = load i64*, i64** %ppc, align 8 + %arrayidx223 = getelementptr inbounds i64, i64* %105, i64 0 + store i64 112, i64* %arrayidx223, align 8 + %106 = load i8*, i8** %s, align 8 + %107 = ptrtoint i8* %106 to i64 + %108 = load i64*, i64** %ppc, align 8 + %arrayidx224 = getelementptr inbounds i64, i64* %108, i64 2 + store i64 %107, i64* %arrayidx224, align 8 + %109 = load i32, i32* %o_exp, align 4 + %110 = load i32, i32* %i218, align 4 + %cmp225 = icmp sge i32 %109, %110 + br i1 %cmp225, label %if.then227, label %if.else241 + +if.then227: ; preds = %if.then222 + %111 = load i32, i32* %i218, align 4 + %conv228 = sext i32 %111 to i64 + %112 = load i64*, i64** %ppc, align 8 + %arrayidx229 = getelementptr inbounds i64, i64* %112, i64 1 + store i64 %conv228, i64* %arrayidx229, align 8 + %113 = load i64*, i64** %ppc, align 8 + %add.ptr230 = getelementptr inbounds i64, i64* %113, i64 3 + store i64* %add.ptr230, i64** %ppc, align 8 + %114 = load i32, i32* %i218, align 4 + %115 = load i32, i32* %o_exp, align 4 + %sub231 = sub nsw i32 %115, %114 + store i32 %sub231, i32* %o_exp, align 4 + store i32 0, i32* %i218, align 4 + %116 = load i32, i32* %o_exp, align 4 + %cmp232 = icmp sgt i32 %116, 0 + br i1 %cmp232, label %if.then234, label %if.end252 + +if.then234: ; preds = %if.then227 + %117 = load i64*, i64** %ppc, align 8 + %arrayidx235 = getelementptr inbounds i64, i64* %117, i64 0 + store i64 176, i64* %arrayidx235, align 8 + %118 = load i32, i32* %o_exp, align 4 + %conv236 = sext i32 %118 to i64 + %119 = load i64*, i64** %ppc, align 8 + %arrayidx237 = getelementptr inbounds i64, i64* %119, i64 1 + store i64 %conv236, i64* %arrayidx237, align 8 + %120 = load i64*, i64** %ppc, align 8 + %arrayidx238 = getelementptr inbounds i64, i64* %120, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx238, align 8 + %121 = load i64*, i64** %ppc, align 8 + %add.ptr239 = getelementptr inbounds i64, i64* %121, i64 3 + store i64* %add.ptr239, i64** %ppc, align 8 + br label %if.end252 + +if.else241: ; preds = %if.then222 + %122 = load i32, i32* %o_exp, align 4 + %cmp242 = icmp sgt i32 %122, 0 + br i1 %cmp242, label %if.then244, label %if.end252 + +if.then244: ; preds = %if.else241 + %123 = load i32, i32* %o_exp, align 4 + %conv245 = sext i32 %123 to i64 + %124 = load i64*, i64** %ppc, align 8 + %arrayidx246 = getelementptr inbounds i64, i64* %124, i64 1 + store i64 %conv245, i64* %arrayidx246, align 8 + %125 = load i64*, i64** %ppc, align 8 + %add.ptr247 = getelementptr inbounds i64, i64* %125, i64 3 + store i64* %add.ptr247, i64** %ppc, align 8 + %126 = load i32, i32* %o_exp, align 4 + %127 = load i8*, i8** %s, align 8 + %idx.ext248 = sext i32 %126 to i64 + %add.ptr249 = getelementptr inbounds i8, i8* %127, i64 %idx.ext248 + store i8* %add.ptr249, i8** %s, align 8 + %128 = load i32, i32* %o_exp, align 4 + %129 = load i32, i32* %i218, align 4 + %sub250 = sub nsw i32 %129, %128 + store i32 %sub250, i32* %i218, align 4 + br label %if.end252 + +if.end252: ; preds = %if.else241, %if.then244, %if.then227, %if.then234 + store i32 -1, i32* %o_exp, align 4 + br label %if.end253 + +if.end253: ; preds = %if.end252, %if.end207 + %130 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %alt = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %130, i32 0, i32 3 + %bf.load254 = load i32, i32* %alt, align 4 + %bf.lshr255 = lshr i32 %bf.load254, 4 + %bf.clear256 = and i32 %bf.lshr255, 1 + %tobool257 = icmp ne i32 %bf.clear256, 0 + %131 = load i32, i32* %i218, align 4 + %tobool258 = icmp ne i32 %131, 0 + %or.cond2 = or i1 %tobool257, %tobool258 + br i1 %or.cond2, label %if.then266, label %lor.lhs.false259 + +lor.lhs.false259: ; preds = %if.end253 + %132 = load i8, i8* %o_mode, align 1 + %conv260 = sext i8 %132 to i32 + %cmp261 = icmp ne i32 %conv260, 103 + %133 = load i32, i32* %preci, align 4 + %cmp264 = icmp sgt i32 %133, 0 + %or.cond3 = and i1 %cmp261, %cmp264 + br i1 %or.cond3, label %if.then266, label %if.end281 + +if.then266: ; preds = %lor.lhs.false259, %if.end253 + %134 = load i64*, i64** %ppc, align 8 + %arrayidx267 = getelementptr inbounds i64, i64* %134, i64 0 + store i64 112, i64* %arrayidx267, align 8 + %135 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %wide = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %135, i32 0, i32 3 + %bf.load268 = load i32, i32* %wide, align 4 + %bf.lshr269 = lshr i32 %bf.load268, 7 + %bf.clear270 = and i32 %bf.lshr269, 1 + %tobool271 = icmp ne i32 %bf.clear270, 0 + br i1 %tobool271, label %if.then272, label %if.else275 + +if.then272: ; preds = %if.then266 + %136 = load i64*, i64** %ppc, align 8 + %arrayidx273 = getelementptr inbounds i64, i64* %136, i64 1 + store i64 1, i64* %arrayidx273, align 8 + %137 = load i64*, i64** %ppc, align 8 + %arrayidx274 = getelementptr inbounds i64, i64* %137, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 16) to i64), i64* %arrayidx274, align 8 + br label %if.end279 + +if.else275: ; preds = %if.then266 + %138 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %decimal_point_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %138, i32 0, i32 26 + %139 = load i32, i32* %decimal_point_len, align 8 + %conv276 = sext i32 %139 to i64 + %140 = load i64*, i64** %ppc, align 8 + %arrayidx277 = getelementptr inbounds i64, i64* %140, i64 1 + store i64 %conv276, i64* %arrayidx277, align 8 + %141 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %decimal_point = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %141, i32 0, i32 39 + %142 = load i8*, i8** %decimal_point, align 8 + %143 = ptrtoint i8* %142 to i64 + %144 = load i64*, i64** %ppc, align 8 + %arrayidx278 = getelementptr inbounds i64, i64* %144, i64 2 + store i64 %143, i64* %arrayidx278, align 8 + br label %if.end279 + +if.end279: ; preds = %if.else275, %if.then272 + %145 = load i64*, i64** %ppc, align 8 + %add.ptr280 = getelementptr inbounds i64, i64* %145, i64 3 + store i64* %add.ptr280, i64** %ppc, align 8 + br label %if.end281 + +if.end281: ; preds = %if.end279, %lor.lhs.false259 + %146 = load i32, i32* %o_exp, align 4 + %inc282 = add nsw i32 %146, 1 + store i32 %inc282, i32* %o_exp, align 4 + %cmp283 = icmp slt i32 %inc282, 0 + br i1 %cmp283, label %if.then285, label %if.end292 + +if.then285: ; preds = %if.end281 + %147 = load i64*, i64** %ppc, align 8 + %arrayidx286 = getelementptr inbounds i64, i64* %147, i64 0 + store i64 176, i64* %arrayidx286, align 8 + %148 = load i32, i32* %o_exp, align 4 + %sub287 = sub nsw i32 0, %148 + %conv288 = sext i32 %sub287 to i64 + %149 = load i64*, i64** %ppc, align 8 + %arrayidx289 = getelementptr inbounds i64, i64* %149, i64 1 + store i64 %conv288, i64* %arrayidx289, align 8 + %150 = load i64*, i64** %ppc, align 8 + %arrayidx290 = getelementptr inbounds i64, i64* %150, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx290, align 8 + %151 = load i64*, i64** %ppc, align 8 + %add.ptr291 = getelementptr inbounds i64, i64* %151, i64 3 + store i64* %add.ptr291, i64** %ppc, align 8 + br label %if.end292 + +if.end292: ; preds = %if.then285, %if.end281 + %152 = load i32, i32* %i218, align 4 + %tobool293 = icmp ne i32 %152, 0 + br i1 %tobool293, label %if.then294, label %if.end300 + +if.then294: ; preds = %if.end292 + %153 = load i64*, i64** %ppc, align 8 + %arrayidx295 = getelementptr inbounds i64, i64* %153, i64 0 + store i64 112, i64* %arrayidx295, align 8 + %154 = load i32, i32* %i218, align 4 + %conv296 = sext i32 %154 to i64 + %155 = load i64*, i64** %ppc, align 8 + %arrayidx297 = getelementptr inbounds i64, i64* %155, i64 1 + store i64 %conv296, i64* %arrayidx297, align 8 + %156 = load i8*, i8** %s, align 8 + %157 = ptrtoint i8* %156 to i64 + %158 = load i64*, i64** %ppc, align 8 + %arrayidx298 = getelementptr inbounds i64, i64* %158, i64 2 + store i64 %157, i64* %arrayidx298, align 8 + %159 = load i64*, i64** %ppc, align 8 + %add.ptr299 = getelementptr inbounds i64, i64* %159, i64 3 + store i64* %add.ptr299, i64** %ppc, align 8 + br label %if.end300 + +if.end300: ; preds = %if.then294, %if.end292 + %160 = load i8, i8* %o_mode, align 1 + %conv301 = sext i8 %160 to i32 + %cmp302 = icmp ne i32 %conv301, 103 + br i1 %cmp302, label %if.then310, label %lor.lhs.false304 + +lor.lhs.false304: ; preds = %if.end300 + %161 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %alt305 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %161, i32 0, i32 3 + %bf.load306 = load i32, i32* %alt305, align 4 + %bf.lshr307 = lshr i32 %bf.load306, 4 + %bf.clear308 = and i32 %bf.lshr307, 1 + %tobool309 = icmp ne i32 %bf.clear308, 0 + br i1 %tobool309, label %if.then310, label %if.end322 + +if.then310: ; preds = %lor.lhs.false304, %if.end300 + %162 = load i32, i32* %o_exp, align 4 + %163 = load i32, i32* %i218, align 4 + %sub311 = sub nsw i32 %163, %162 + store i32 %sub311, i32* %i218, align 4 + %164 = load i32, i32* %i218, align 4 + %165 = load i32, i32* %preci, align 4 + %cmp312 = icmp slt i32 %164, %165 + br i1 %cmp312, label %if.then314, label %if.end322 + +if.then314: ; preds = %if.then310 + %166 = load i32, i32* %preci, align 4 + %167 = load i32, i32* %i218, align 4 + %sub315 = sub nsw i32 %166, %167 + store i32 %sub315, i32* %i218, align 4 + %168 = load i64*, i64** %ppc, align 8 + %arrayidx316 = getelementptr inbounds i64, i64* %168, i64 0 + store i64 176, i64* %arrayidx316, align 8 + %169 = load i32, i32* %i218, align 4 + %conv317 = sext i32 %169 to i64 + %170 = load i64*, i64** %ppc, align 8 + %arrayidx318 = getelementptr inbounds i64, i64* %170, i64 1 + store i64 %conv317, i64* %arrayidx318, align 8 + %171 = load i64*, i64** %ppc, align 8 + %arrayidx319 = getelementptr inbounds i64, i64* %171, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx319, align 8 + %172 = load i64*, i64** %ppc, align 8 + %add.ptr320 = getelementptr inbounds i64, i64* %172, i64 3 + store i64* %add.ptr320, i64** %ppc, align 8 + br label %if.end322 + +if.end322: ; preds = %if.then310, %if.then314, %lor.lhs.false304 + %173 = load i8, i8* %mode, align 1 + %conv323 = sext i8 %173 to i32 + %cmp324 = icmp ne i32 %conv323, 102 + br i1 %cmp324, label %if.then326, label %EXIT_SPECIAL + +if.then326: ; preds = %if.end322 + %arraydecay327 = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + %add.ptr328 = getelementptr inbounds i8, i8* %arraydecay327, i64 16 + store i8* %add.ptr328, i8** %p, align 8 + %arraydecay330 = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + %174 = load i8, i8* %arraydecay330, align 16 + store i8 %174, i8* %exp_char, align 1 + store i8 43, i8* %exp_sign, align 1 + %175 = load i32, i32* %exp, align 4 + %cmp331 = icmp slt i32 %175, 0 + br i1 %cmp331, label %if.then333, label %if.end335 + +if.then333: ; preds = %if.then326 + store i8 45, i8* %exp_sign, align 1 + %176 = load i32, i32* %exp, align 4 + %sub334 = sub nsw i32 0, %176 + store i32 %sub334, i32* %exp, align 4 + br label %if.end335 + +if.end335: ; preds = %if.then333, %if.then326 + %177 = load i8*, i8** %p, align 8 + %incdec.ptr336 = getelementptr inbounds i8, i8* %177, i32 -1 + store i8* %incdec.ptr336, i8** %p, align 8 + store i8 0, i8* %incdec.ptr336, align 1 + store i32 2, i32* %j329, align 4 + br label %do.body337 + +do.body337: ; preds = %do.body337, %if.end335 + %178 = load i32, i32* %exp, align 4 + %rem338 = srem i32 %178, 10 + %add339 = add nsw i32 48, %rem338 + %conv340 = trunc i32 %add339 to i8 + %179 = load i8*, i8** %p, align 8 + %incdec.ptr341 = getelementptr inbounds i8, i8* %179, i32 -1 + store i8* %incdec.ptr341, i8** %p, align 8 + store i8 %conv340, i8* %incdec.ptr341, align 1 + %180 = load i32, i32* %exp, align 4 + %div342 = sdiv i32 %180, 10 + store i32 %div342, i32* %exp, align 4 + %181 = load i32, i32* %j329, align 4 + %inc344 = add nsw i32 %181, 1 + store i32 %inc344, i32* %j329, align 4 + %cmp345 = icmp slt i32 %inc344, 4 + %182 = load i32, i32* %exp, align 4 + %tobool348 = icmp ne i32 %182, 0 + %183 = select i1 %cmp345, i1 true, i1 %tobool348 + br i1 %183, label %do.body337, label %do.end350 + +do.end350: ; preds = %do.body337 + %184 = load i8, i8* %exp_sign, align 1 + %185 = load i8*, i8** %p, align 8 + %incdec.ptr351 = getelementptr inbounds i8, i8* %185, i32 -1 + store i8* %incdec.ptr351, i8** %p, align 8 + store i8 %184, i8* %incdec.ptr351, align 1 + %186 = load i8, i8* %exp_char, align 1 + %187 = load i8*, i8** %p, align 8 + %incdec.ptr352 = getelementptr inbounds i8, i8* %187, i32 -1 + store i8* %incdec.ptr352, i8** %p, align 8 + store i8 %186, i8* %incdec.ptr352, align 1 + %188 = load i64*, i64** %ppc, align 8 + %arrayidx353 = getelementptr inbounds i64, i64* %188, i64 0 + store i64 112, i64* %arrayidx353, align 8 + %189 = load i32, i32* %j329, align 4 + %conv354 = sext i32 %189 to i64 + %190 = load i64*, i64** %ppc, align 8 + %arrayidx355 = getelementptr inbounds i64, i64* %190, i64 1 + store i64 %conv354, i64* %arrayidx355, align 8 + %191 = load i8*, i8** %p, align 8 + %192 = ptrtoint i8* %191 to i64 + %193 = load i64*, i64** %ppc, align 8 + %arrayidx356 = getelementptr inbounds i64, i64* %193, i64 2 + store i64 %192, i64* %arrayidx356, align 8 + %194 = load i64*, i64** %ppc, align 8 + %add.ptr357 = getelementptr inbounds i64, i64* %194, i64 3 + store i64* %add.ptr357, i64** %ppc, align 8 + br label %EXIT_SPECIAL + +EXIT_SPECIAL: ; preds = %if.end322, %do.end350, %if.end54 + %195 = load i64*, i64** %ppc, align 8 + store i64* %195, i64** %ppc_last, align 8 + %arraydecay360 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + %add.ptr361 = getelementptr inbounds i64, i64* %arraydecay360, i64 4 + store i64* %add.ptr361, i64** %ppc, align 8 + br label %do.body362 + +do.body362: ; preds = %do.body362, %EXIT_SPECIAL + %196 = load i64*, i64** %ppc, align 8 + %197 = load i64, i64* %196, align 8 + %198 = load i32, i32* %width, align 4 + %conv363 = sext i32 %198 to i64 + %sub364 = sub nsw i64 %conv363, %197 + %conv365 = trunc i64 %sub364 to i32 + store i32 %conv365, i32* %width, align 4 + %199 = load i64*, i64** %ppc, align 8 + %add.ptr366 = getelementptr inbounds i64, i64* %199, i64 3 + store i64* %add.ptr366, i64** %ppc, align 8 + %200 = load i64*, i64** %ppc, align 8 + %201 = load i64*, i64** %ppc_last, align 8 + %cmp368 = icmp ult i64* %200, %201 + br i1 %cmp368, label %do.body362, label %do.end370 + +do.end370: ; preds = %do.body362 + %arraydecay371 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + store i64* %arraydecay371, i64** %ppc, align 8 + %202 = load i64*, i64** %ppc, align 8 + %arrayidx372 = getelementptr inbounds i64, i64* %202, i64 0 + store i64 160, i64* %arrayidx372, align 8 + %arraydecay373 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %203 = load i8, i8* %arraydecay373, align 1 + %conv374 = sext i8 %203 to i32 + %cmp375 = icmp ne i32 %conv374, 0 + %conv376 = zext i1 %cmp375 to i32 + store i32 %conv376, i32* %i359, align 4 + %conv377 = sext i32 %conv376 to i64 + %204 = load i64*, i64** %ppc, align 8 + %arrayidx378 = getelementptr inbounds i64, i64* %204, i64 1 + store i64 %conv377, i64* %arrayidx378, align 8 + %arraydecay379 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %205 = ptrtoint i8* %arraydecay379 to i64 + %206 = load i64*, i64** %ppc, align 8 + %arrayidx380 = getelementptr inbounds i64, i64* %206, i64 2 + store i64 %205, i64* %arrayidx380, align 8 + %207 = load i32, i32* %i359, align 4 + %208 = load i32, i32* %width, align 4 + %sub381 = sub nsw i32 %208, %207 + store i32 %sub381, i32* %width, align 4 + %cmp382 = icmp sgt i32 %sub381, 0 + br i1 %cmp382, label %if.then384, label %if.end409 + +if.then384: ; preds = %do.end370 + %209 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %left = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %209, i32 0, i32 3 + %bf.load385 = load i32, i32* %left, align 4 + %bf.lshr386 = lshr i32 %bf.load385, 3 + %bf.clear387 = and i32 %bf.lshr386, 1 + %tobool388 = icmp ne i32 %bf.clear387, 0 + br i1 %tobool388, label %if.then389, label %if.else395 + +if.then389: ; preds = %if.then384 + %210 = load i64*, i64** %ppc_last, align 8 + %arrayidx390 = getelementptr inbounds i64, i64* %210, i64 0 + store i64 160, i64* %arrayidx390, align 8 + %211 = load i32, i32* %width, align 4 + %conv391 = sext i32 %211 to i64 + %212 = load i64*, i64** %ppc_last, align 8 + %arrayidx392 = getelementptr inbounds i64, i64* %212, i64 1 + store i64 %conv391, i64* %arrayidx392, align 8 + %213 = load i64*, i64** %ppc_last, align 8 + %arrayidx393 = getelementptr inbounds i64, i64* %213, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx393, align 8 + %214 = load i64*, i64** %ppc_last, align 8 + %add.ptr394 = getelementptr inbounds i64, i64* %214, i64 3 + store i64* %add.ptr394, i64** %ppc_last, align 8 + br label %if.end409 + +if.else395: ; preds = %if.then384 + %215 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %pad396 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %215, i32 0, i32 4 + %216 = load i32, i32* %pad396, align 4 + %cmp397 = icmp eq i32 %216, 48 + %217 = load i32, i32* %width, align 4 + %conv400 = sext i32 %217 to i64 + %218 = load i64*, i64** %ppc, align 8 + br i1 %cmp397, label %if.then399, label %if.else403 + +if.then399: ; preds = %if.else395 + %arrayidx401 = getelementptr inbounds i64, i64* %218, i64 4 + %219 = load i64, i64* %arrayidx401, align 8 + %add402 = add nsw i64 %219, %conv400 + store i64 %add402, i64* %arrayidx401, align 8 + br label %if.end409 + +if.else403: ; preds = %if.else395 + %arrayidx405 = getelementptr inbounds i64, i64* %218, i64 1 + %220 = load i64, i64* %arrayidx405, align 8 + %add406 = add nsw i64 %220, %conv400 + store i64 %add406, i64* %arrayidx405, align 8 + br label %if.end409 + +if.end409: ; preds = %if.then389, %if.else403, %if.then399, %do.end370 + store i32 0, i32* %cnt, align 4 + br label %do.body410 + +do.body410: ; preds = %if.end418, %if.end409 + %221 = load i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)*, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)** %fp_outfunc.addr, align 8 + %222 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + %223 = load i64*, i64** %ppc, align 8 + %224 = load i64, i64* %223, align 8 + %225 = load i64*, i64** %ppc, align 8 + %arrayidx411 = getelementptr inbounds i64, i64* %225, i64 1 + %226 = load i64, i64* %arrayidx411, align 8 + %227 = load i64*, i64** %ppc, align 8 + %arrayidx412 = getelementptr inbounds i64, i64* %227, i64 2 + %228 = load i64, i64* %arrayidx412, align 8 + %call413 = call i64 %221(%struct.__STDIO_FILE_STRUCT.568* %222, i64 %224, i64 %226, i64 %228) #18 + %229 = load i64*, i64** %ppc, align 8 + %arrayidx414 = getelementptr inbounds i64, i64* %229, i64 1 + %230 = load i64, i64* %arrayidx414, align 8 + %cmp415 = icmp ne i64 %call413, %230 + br i1 %cmp415, label %if.then417, label %if.end418 + +if.then417: ; preds = %do.body410 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end418: ; preds = %do.body410 + %231 = load i64*, i64** %ppc, align 8 + %arrayidx419 = getelementptr inbounds i64, i64* %231, i64 1 + %232 = load i64, i64* %arrayidx419, align 8 + %233 = load i32, i32* %cnt, align 4 + %conv420 = sext i32 %233 to i64 + %add421 = add nsw i64 %conv420, %232 + %conv422 = trunc i64 %add421 to i32 + store i32 %conv422, i32* %cnt, align 4 + %234 = load i64*, i64** %ppc, align 8 + %add.ptr423 = getelementptr inbounds i64, i64* %234, i64 3 + store i64* %add.ptr423, i64** %ppc, align 8 + %235 = load i64*, i64** %ppc, align 8 + %236 = load i64*, i64** %ppc_last, align 8 + %cmp425 = icmp ult i64* %235, %236 + br i1 %cmp425, label %do.body410, label %do.end427 + +do.end427: ; preds = %if.end418 + %237 = load i32, i32* %cnt, align 4 + %conv428 = sext i32 %237 to i64 + store i64 %conv428, i64* %retval, align 8 + br label %return + +return: ; preds = %do.end427, %if.then417 + %238 = load i64, i64* %retval, align 8 + ret i64 %238 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_load_inttype(i32 %desttype, i8* %src, i32 %uflag) #0 { +entry: + %retval = alloca i64, align 8 + %desttype.addr = alloca i32, align 4 + %src.addr = alloca i8*, align 8 + %uflag.addr = alloca i32, align 4 + %x = alloca i32, align 4 + %x24 = alloca i32, align 4 + store i32 %desttype, i32* %desttype.addr, align 4 + store i8* %src, i8** %src.addr, align 8 + store i32 %uflag, i32* %uflag.addr, align 4 + %0 = load i32, i32* %uflag.addr, align 4 + %cmp = icmp sge i32 %0, 0 + %1 = load i32, i32* %desttype.addr, align 4 + %and = and i32 %1, 3072 + %tobool = icmp ne i32 %and, 0 + %2 = load i8*, i8** %src.addr, align 8 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + br i1 %tobool, label %if.then1, label %if.end4 + +if.then1: ; preds = %if.then + %3 = bitcast i8* %2 to i64* + %4 = load i64, i64* %3, align 8 + store i64 %4, i64* %retval, align 8 + br label %return + +if.end4: ; preds = %if.then + %5 = bitcast i8* %2 to i32* + %6 = load i32, i32* %5, align 4 + store i32 %6, i32* %x, align 4 + %7 = load i32, i32* %desttype.addr, align 4 + %cmp5 = icmp eq i32 %7, 256 + br i1 %cmp5, label %if.then6, label %if.end8 + +if.then6: ; preds = %if.end4 + %8 = load i32, i32* %x, align 4 + %conv = trunc i32 %8 to i8 + %conv7 = zext i8 %conv to i32 + store i32 %conv7, i32* %x, align 4 + br label %if.end8 + +if.end8: ; preds = %if.then6, %if.end4 + %9 = load i32, i32* %desttype.addr, align 4 + %cmp9 = icmp eq i32 %9, 512 + br i1 %cmp9, label %if.then11, label %if.end14 + +if.then11: ; preds = %if.end8 + %10 = load i32, i32* %x, align 4 + %conv12 = trunc i32 %10 to i16 + %conv13 = zext i16 %conv12 to i32 + store i32 %conv13, i32* %x, align 4 + br label %if.end14 + +if.end14: ; preds = %if.then11, %if.end8 + %11 = load i32, i32* %x, align 4 + %conv15 = zext i32 %11 to i64 + store i64 %conv15, i64* %retval, align 8 + br label %return + +if.else: ; preds = %entry + br i1 %tobool, label %if.then18, label %if.end23 + +if.then18: ; preds = %if.else + %12 = bitcast i8* %2 to i64* + %13 = load i64, i64* %12, align 8 + store i64 %13, i64* %retval, align 8 + br label %return + +if.end23: ; preds = %if.else + %14 = bitcast i8* %2 to i32* + %15 = load i32, i32* %14, align 4 + store i32 %15, i32* %x24, align 4 + %16 = load i32, i32* %desttype.addr, align 4 + %cmp25 = icmp eq i32 %16, 256 + br i1 %cmp25, label %if.then27, label %if.end30 + +if.then27: ; preds = %if.end23 + %17 = load i32, i32* %x24, align 4 + %conv28 = trunc i32 %17 to i8 + %conv29 = sext i8 %conv28 to i32 + store i32 %conv29, i32* %x24, align 4 + br label %if.end30 + +if.end30: ; preds = %if.then27, %if.end23 + %18 = load i32, i32* %desttype.addr, align 4 + %cmp31 = icmp eq i32 %18, 512 + br i1 %cmp31, label %if.then33, label %if.end36 + +if.then33: ; preds = %if.end30 + %19 = load i32, i32* %x24, align 4 + %conv34 = trunc i32 %19 to i16 + %conv35 = sext i16 %conv34 to i32 + store i32 %conv35, i32* %x24, align 4 + br label %if.end36 + +if.end36: ; preds = %if.then33, %if.end30 + %20 = load i32, i32* %x24, align 4 + %conv37 = sext i32 %20 to i64 + store i64 %conv37, i64* %retval, align 8 + br label %return + +return: ; preds = %if.then18, %if.then1, %if.end36, %if.end14 + %21 = load i64, i64* %retval, align 8 + ret i64 %21 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_ppfs_init(%struct.ppfs_t.722* %ppfs, i8* %fmt0) #0 { +entry: + %retval = alloca i32, align 4 + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %fmt0.addr = alloca i8*, align 8 + %r = alloca i32, align 4 + %mbstate = alloca %struct.__mbstate_t.512, align 4 + %p = alloca i8*, align 8 + %p8 = alloca i32*, align 8 + %fmt = alloca i8*, align 8 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store i8* %fmt0, i8** %fmt0.addr, align 8 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %1 = bitcast %struct.ppfs_t.722* %0 to i8* + %call = call i8* @memset(i8* %1, i32 0, i64 176) #19 + %2 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %2, i32 0, i32 2 + %3 = load i32, i32* %maxposarg, align 4 + %dec = add nsw i32 %3, -1 + store i32 %dec, i32* %maxposarg, align 4 + %4 = load i8*, i8** %fmt0.addr, align 8 + %5 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %5, i32 0, i32 0 + store i8* %4, i8** %fmtpos, align 8 + %6 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %6, i32 0, i32 9 + %7 = load i8, i8* %encoding, align 8 + %conv = zext i8 %7 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %if.then, label %if.end7 + +if.then: ; preds = %entry + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %mbstate, i32 0, i32 0 + store i32 0, i32* %__mask, align 4 + %8 = load i8*, i8** %fmt0.addr, align 8 + store i8* %8, i8** %p, align 8 + %call2 = call i64 @mbsrtowcs(i32* null, i8** %p, i64 -1, %struct.__mbstate_t.512* %mbstate) #19 + %cmp3 = icmp eq i64 %call2, -1 + br i1 %cmp3, label %if.then5, label %if.end7 + +if.then5: ; preds = %if.then + %9 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos6 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %9, i32 0, i32 0 + store i8* getelementptr inbounds ([33 x i8], [33 x i8]* @_ppfs_init.invalid_mbs, i64 0, i64 0), i8** %fmtpos6, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end7: ; preds = %if.then, %entry + %10 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %10, i32 0, i32 6 + %arraydecay = getelementptr inbounds [9 x i32], [9 x i32]* %argtype, i64 0, i64 0 + store i32* %arraydecay, i32** %p8, align 8 + store i32 9, i32* %r, align 4 + br label %do.body + +do.body: ; preds = %do.body, %if.end7 + %11 = load i32*, i32** %p8, align 8 + %incdec.ptr = getelementptr inbounds i32, i32* %11, i32 1 + store i32* %incdec.ptr, i32** %p8, align 8 + store i32 8, i32* %11, align 4 + %12 = load i32, i32* %r, align 4 + %dec9 = add nsw i32 %12, -1 + store i32 %dec9, i32* %r, align 4 + %tobool = icmp ne i32 %dec9, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.body + %13 = load i8*, i8** %fmt0.addr, align 8 + store i8* %13, i8** %fmt, align 8 + br label %while.cond + +while.cond: ; preds = %if.end27, %do.end + %14 = load i8*, i8** %fmt, align 8 + %15 = load i8, i8* %14, align 1 + %tobool10 = icmp ne i8 %15, 0 + br i1 %tobool10, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %16 = load i8*, i8** %fmt, align 8 + %17 = load i8, i8* %16, align 1 + %conv11 = sext i8 %17 to i32 + %cmp12 = icmp eq i32 %conv11, 37 + br i1 %cmp12, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %while.body + %18 = load i8*, i8** %fmt, align 8 + %incdec.ptr14 = getelementptr inbounds i8, i8* %18, i32 1 + store i8* %incdec.ptr14, i8** %fmt, align 8 + %19 = load i8, i8* %incdec.ptr14, align 1 + %conv15 = sext i8 %19 to i32 + %cmp16 = icmp ne i32 %conv15, 37 + br i1 %cmp16, label %if.then18, label %if.else + +if.then18: ; preds = %land.lhs.true + %20 = load i8*, i8** %fmt, align 8 + %21 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos19 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %21, i32 0, i32 0 + store i8* %20, i8** %fmtpos19, align 8 + %22 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %call20 = call i32 @_ppfs_parsespec(%struct.ppfs_t.722* %22) #18 + store i32 %call20, i32* %r, align 4 + %cmp21 = icmp slt i32 %call20, 0 + br i1 %cmp21, label %if.then23, label %if.end24 + +if.then23: ; preds = %if.then18 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end24: ; preds = %if.then18 + %23 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos25 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %23, i32 0, i32 0 + %24 = load i8*, i8** %fmtpos25, align 8 + store i8* %24, i8** %fmt, align 8 + br label %if.end27 + +if.else: ; preds = %land.lhs.true, %while.body + %25 = load i8*, i8** %fmt, align 8 + %incdec.ptr26 = getelementptr inbounds i8, i8* %25, i32 1 + store i8* %incdec.ptr26, i8** %fmt, align 8 + br label %if.end27 + +if.end27: ; preds = %if.else, %if.end24 + br label %while.cond + +while.end: ; preds = %while.cond + %26 = load i8*, i8** %fmt0.addr, align 8 + %27 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos28 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %27, i32 0, i32 0 + store i8* %26, i8** %fmtpos28, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %while.end, %if.then23, %if.then5 + %28 = load i32, i32* %retval, align 4 + ret i32 %28 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_ppfs_parsespec(%struct.ppfs_t.722* %ppfs) #0 { +entry: + %retval = alloca i32, align 4 + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %fmt = alloca i8*, align 8 + %p = alloca i8*, align 8 + %preci = alloca i32, align 4 + %width = alloca i32, align 4 + %flags = alloca i32, align 4 + %dataargtype = alloca i32, align 4 + %i = alloca i32, align 4 + %dpoint = alloca i32, align 4 + %maxposarg = alloca i32, align 4 + %p_m_spec_chars = alloca i32, align 4 + %n = alloca i32, align 4 + %argtype = alloca [3 x i32], align 4 + %argnumber = alloca [3 x i32], align 4 + %buf = alloca [32 x i8], align 16 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store i32 -1, i32* %preci, align 4 + %arrayidx = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 0 + store i32 0, i32* %arrayidx, align 4 + %arrayidx1 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 1 + store i32 0, i32* %arrayidx1, align 4 + %arrayidx2 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 0 + store i32 8, i32* %arrayidx2, align 4 + %arrayidx3 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 1 + store i32 8, i32* %arrayidx3, align 4 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg4 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %0, i32 0, i32 2 + %1 = load i32, i32* %maxposarg4, align 4 + store i32 %1, i32* %maxposarg, align 4 + store i32 0, i32* %dpoint, align 4 + store i32 0, i32* %width, align 4 + %2 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %2, i32 0, i32 1 + %_flags = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 3 + %3 = load i32, i32* %_flags, align 4 + %and = and i32 %3, 128 + store i32 %and, i32* %flags, align 4 + %cmp = icmp eq i32 %and, 0 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %4 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %4, i32 0, i32 0 + %5 = load i8*, i8** %fmtpos, align 8 + store i8* %5, i8** %fmt, align 8 + br label %if.end20 + +if.else: ; preds = %entry + %arraydecay = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 1 + store i8* %add.ptr, i8** %fmt, align 8 + store i32 0, i32* %i, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %if.else + %6 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos5 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %6, i32 0, i32 0 + %7 = load i8*, i8** %fmtpos5, align 8 + %8 = bitcast i8* %7 to i32* + %9 = load i32, i32* %i, align 4 + %sub = sub nsw i32 %9, 1 + %idxprom = sext i32 %sub to i64 + %arrayidx6 = getelementptr inbounds i32, i32* %8, i64 %idxprom + %10 = load i32, i32* %arrayidx6, align 4 + %conv = trunc i32 %10 to i8 + %11 = load i32, i32* %i, align 4 + %idxprom7 = sext i32 %11 to i64 + %arrayidx8 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 %idxprom7 + store i8 %conv, i8* %arrayidx8, align 1 + %conv9 = sext i8 %conv to i32 + %12 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos10 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %12, i32 0, i32 0 + %13 = load i8*, i8** %fmtpos10, align 8 + %14 = bitcast i8* %13 to i32* + %15 = load i32, i32* %i, align 4 + %sub11 = sub nsw i32 %15, 1 + %idxprom12 = sext i32 %sub11 to i64 + %arrayidx13 = getelementptr inbounds i32, i32* %14, i64 %idxprom12 + %16 = load i32, i32* %arrayidx13, align 4 + %cmp14 = icmp ne i32 %conv9, %16 + br i1 %cmp14, label %if.then16, label %do.cond + +if.then16: ; preds = %do.body + store i32 -1, i32* %retval, align 4 + br label %return + +do.cond: ; preds = %do.body + %17 = load i32, i32* %i, align 4 + %inc = add nsw i32 %17, 1 + store i32 %inc, i32* %i, align 4 + %idxprom17 = sext i32 %17 to i64 + %arrayidx18 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 %idxprom17 + %18 = load i8, i8* %arrayidx18, align 1 + %tobool = icmp ne i8 %18, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %arrayidx19 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 31 + store i8 0, i8* %arrayidx19, align 1 + br label %if.end20 + +if.end20: ; preds = %do.end, %if.then + br label %width_precision + +width_precision: ; preds = %do.end89, %if.then129, %if.end20 + %19 = load i8*, i8** %fmt, align 8 + store i8* %19, i8** %p, align 8 + %20 = load i8*, i8** %fmt, align 8 + %21 = load i8, i8* %20, align 1 + %conv21 = sext i8 %21 to i32 + %cmp22 = icmp eq i32 %conv21, 42 + br i1 %cmp22, label %if.then24, label %if.end28 + +if.then24: ; preds = %width_precision + %22 = load i32, i32* %dpoint, align 4 + %sub25 = sub nsw i32 0, %22 + %idxprom26 = sext i32 %sub25 to i64 + %arrayidx27 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 %idxprom26 + store i32 0, i32* %arrayidx27, align 4 + %23 = load i8*, i8** %fmt, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %23, i32 1 + store i8* %incdec.ptr, i8** %fmt, align 8 + br label %if.end28 + +if.end28: ; preds = %if.then24, %width_precision + store i32 0, i32* %i, align 4 + br label %while.cond + +while.cond: ; preds = %if.end40, %if.end28 + %call = call i16** @__ctype_b_loc() #21 + %24 = load i16*, i16** %call, align 8 + %25 = load i8*, i8** %fmt, align 8 + %26 = load i8, i8* %25, align 1 + %conv29 = sext i8 %26 to i32 + %idxprom30 = sext i32 %conv29 to i64 + %arrayidx31 = getelementptr inbounds i16, i16* %24, i64 %idxprom30 + %27 = load i16, i16* %arrayidx31, align 2 + %conv32 = zext i16 %27 to i32 + %and33 = and i32 %conv32, 2048 + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %28 = load i32, i32* %i, align 4 + %cmp35 = icmp slt i32 %28, 4095 + br i1 %cmp35, label %if.then37, label %if.end40 + +if.then37: ; preds = %while.body + %29 = load i32, i32* %i, align 4 + %mul = mul nsw i32 %29, 10 + %30 = load i8*, i8** %fmt, align 8 + %31 = load i8, i8* %30, align 1 + %conv38 = sext i8 %31 to i32 + %sub39 = sub nsw i32 %conv38, 48 + %add = add nsw i32 %mul, %sub39 + store i32 %add, i32* %i, align 4 + br label %if.end40 + +if.end40: ; preds = %if.then37, %while.body + %32 = load i8*, i8** %fmt, align 8 + %incdec.ptr41 = getelementptr inbounds i8, i8* %32, i32 1 + store i8* %incdec.ptr41, i8** %fmt, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %33 = load i8*, i8** %p, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %33, i64 -1 + %34 = load i8, i8* %arrayidx42, align 1 + %conv43 = sext i8 %34 to i32 + %cmp44 = icmp eq i32 %conv43, 37 + br i1 %cmp44, label %if.then46, label %PREC_WIDTH + +if.then46: ; preds = %while.end + %35 = load i8*, i8** %fmt, align 8 + %36 = load i8, i8* %35, align 1 + %conv47 = sext i8 %36 to i32 + %cmp48 = icmp eq i32 %conv47, 36 + %37 = load i32, i32* %i, align 4 + %cmp50 = icmp sgt i32 %37, 0 + %or.cond = and i1 %cmp48, %cmp50 + br i1 %or.cond, label %if.then52, label %if.else63 + +if.then52: ; preds = %if.then46 + %38 = load i8*, i8** %fmt, align 8 + %incdec.ptr53 = getelementptr inbounds i8, i8* %38, i32 1 + store i8* %incdec.ptr53, i8** %fmt, align 8 + %39 = load i32, i32* %maxposarg, align 4 + %cmp54 = icmp eq i32 %39, 0 + br i1 %cmp54, label %if.then56, label %if.end57 + +if.then56: ; preds = %if.then52 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end57: ; preds = %if.then52 + %40 = load i32, i32* %i, align 4 + %arrayidx58 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 2 + store i32 %40, i32* %arrayidx58, align 4 + %41 = load i32, i32* %maxposarg, align 4 + %cmp59 = icmp sgt i32 %40, %41 + br i1 %cmp59, label %if.then61, label %if.end76 + +if.then61: ; preds = %if.end57 + %42 = load i32, i32* %i, align 4 + store i32 %42, i32* %maxposarg, align 4 + br label %if.end76 + +if.else63: ; preds = %if.then46 + %43 = load i32, i32* %maxposarg, align 4 + %cmp64 = icmp sgt i32 %43, 0 + br i1 %cmp64, label %if.then66, label %if.end67 + +if.then66: ; preds = %if.else63 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end67: ; preds = %if.else63 + store i32 0, i32* %maxposarg, align 4 + %44 = load i8*, i8** %fmt, align 8 + %45 = load i8*, i8** %p, align 8 + %cmp68 = icmp ugt i8* %44, %45 + br i1 %cmp68, label %land.lhs.true70, label %if.end75 + +land.lhs.true70: ; preds = %if.end67 + %46 = load i8*, i8** %p, align 8 + %47 = load i8, i8* %46, align 1 + %conv71 = sext i8 %47 to i32 + %cmp72 = icmp ne i32 %conv71, 48 + br i1 %cmp72, label %PREC_WIDTH, label %if.end75 + +if.end75: ; preds = %land.lhs.true70, %if.end67 + %48 = load i8*, i8** %p, align 8 + store i8* %48, i8** %fmt, align 8 + br label %if.end76 + +if.end76: ; preds = %if.end57, %if.then61, %if.end75 + br label %restart_flags + +restart_flags: ; preds = %if.then83, %if.end76 + store i32 1, i32* %i, align 4 + store i8* getelementptr inbounds ([8 x i8], [8 x i8]* @_ppfs_parsespec.spec_flags, i64 0, i64 0), i8** %p, align 8 + br label %do.body77 + +do.body77: ; preds = %if.end85, %restart_flags + %49 = load i8*, i8** %fmt, align 8 + %50 = load i8, i8* %49, align 1 + %conv78 = sext i8 %50 to i32 + %51 = load i8*, i8** %p, align 8 + %incdec.ptr79 = getelementptr inbounds i8, i8* %51, i32 1 + store i8* %incdec.ptr79, i8** %p, align 8 + %52 = load i8, i8* %51, align 1 + %conv80 = sext i8 %52 to i32 + %cmp81 = icmp eq i32 %conv78, %conv80 + br i1 %cmp81, label %if.then83, label %if.end85 + +if.then83: ; preds = %do.body77 + %53 = load i8*, i8** %fmt, align 8 + %incdec.ptr84 = getelementptr inbounds i8, i8* %53, i32 1 + store i8* %incdec.ptr84, i8** %fmt, align 8 + %54 = load i32, i32* %i, align 4 + %55 = load i32, i32* %flags, align 4 + %or = or i32 %55, %54 + store i32 %or, i32* %flags, align 4 + br label %restart_flags + +if.end85: ; preds = %do.body77 + %56 = load i32, i32* %i, align 4 + %57 = load i32, i32* %i, align 4 + %add86 = add nsw i32 %57, %56 + store i32 %add86, i32* %i, align 4 + %58 = load i8*, i8** %p, align 8 + %59 = load i8, i8* %58, align 1 + %tobool88 = icmp ne i8 %59, 0 + br i1 %tobool88, label %do.body77, label %do.end89 + +do.end89: ; preds = %if.end85 + store i32 0, i32* %i, align 4 + %60 = load i32, i32* %flags, align 4 + %and90 = and i32 %60, 10 + %shr = ashr i32 %and90, 1 + %neg = xor i32 %shr, -1 + %61 = load i32, i32* %flags, align 4 + %and91 = and i32 %61, %neg + store i32 %and91, i32* %flags, align 4 + %62 = load i8*, i8** %fmt, align 8 + %arrayidx92 = getelementptr inbounds i8, i8* %62, i64 -1 + %63 = load i8, i8* %arrayidx92, align 1 + %conv93 = sext i8 %63 to i32 + %cmp94 = icmp ne i32 %conv93, 37 + br i1 %cmp94, label %width_precision, label %PREC_WIDTH + +PREC_WIDTH: ; preds = %while.end, %do.end89, %land.lhs.true70 + %64 = load i8*, i8** %p, align 8 + %65 = load i8, i8* %64, align 1 + %conv99 = sext i8 %65 to i32 + %cmp100 = icmp eq i32 %conv99, 42 + br i1 %cmp100, label %if.then102, label %if.end123 + +if.then102: ; preds = %PREC_WIDTH + %66 = load i32, i32* %maxposarg, align 4 + %tobool103 = icmp ne i32 %66, 0 + br i1 %tobool103, label %if.then104, label %if.else116 + +if.then104: ; preds = %if.then102 + %67 = load i8*, i8** %fmt, align 8 + %incdec.ptr105 = getelementptr inbounds i8, i8* %67, i32 1 + store i8* %incdec.ptr105, i8** %fmt, align 8 + %68 = load i8, i8* %67, align 1 + %conv106 = sext i8 %68 to i32 + %cmp107 = icmp ne i32 %conv106, 36 + %69 = load i32, i32* %i, align 4 + %cmp109 = icmp sle i32 %69, 0 + %or.cond1 = or i1 %cmp107, %cmp109 + br i1 %or.cond1, label %if.then111, label %if.end112 + +if.then111: ; preds = %if.then104 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end112: ; preds = %if.then104 + %70 = load i32, i32* %i, align 4 + %71 = load i32, i32* %dpoint, align 4 + %sub113 = sub nsw i32 0, %71 + %idxprom114 = sext i32 %sub113 to i64 + %arrayidx115 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 %idxprom114 + store i32 %70, i32* %arrayidx115, align 4 + br label %if.end122 + +if.else116: ; preds = %if.then102 + %72 = load i8*, i8** %p, align 8 + %incdec.ptr117 = getelementptr inbounds i8, i8* %72, i32 1 + store i8* %incdec.ptr117, i8** %p, align 8 + %73 = load i8*, i8** %fmt, align 8 + %cmp118 = icmp ne i8* %incdec.ptr117, %73 + br i1 %cmp118, label %if.then120, label %if.end122 + +if.then120: ; preds = %if.else116 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end122: ; preds = %if.else116, %if.end112 + store i32 -2147483648, i32* %i, align 4 + br label %if.end123 + +if.end123: ; preds = %if.end122, %PREC_WIDTH + %74 = load i32, i32* %dpoint, align 4 + %tobool124 = icmp ne i32 %74, 0 + %75 = load i32, i32* %i, align 4 + br i1 %tobool124, label %if.else132, label %if.then125 + +if.then125: ; preds = %if.end123 + store i32 %75, i32* %width, align 4 + %76 = load i8*, i8** %fmt, align 8 + %77 = load i8, i8* %76, align 1 + %conv126 = sext i8 %77 to i32 + %cmp127 = icmp eq i32 %conv126, 46 + br i1 %cmp127, label %if.then129, label %if.end133 + +if.then129: ; preds = %if.then125 + %78 = load i8*, i8** %fmt, align 8 + %incdec.ptr130 = getelementptr inbounds i8, i8* %78, i32 1 + store i8* %incdec.ptr130, i8** %fmt, align 8 + store i32 -1, i32* %dpoint, align 4 + br label %width_precision + +if.else132: ; preds = %if.end123 + store i32 %75, i32* %preci, align 4 + br label %if.end133 + +if.end133: ; preds = %if.then125, %if.else132 + store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @_ppfs_parsespec.qual_chars, i64 0, i64 0), i8** %p, align 8 + br label %do.body134 + +do.body134: ; preds = %do.cond142, %if.end133 + %79 = load i8*, i8** %fmt, align 8 + %80 = load i8, i8* %79, align 1 + %conv135 = sext i8 %80 to i32 + %81 = load i8*, i8** %p, align 8 + %82 = load i8, i8* %81, align 1 + %conv136 = sext i8 %82 to i32 + %cmp137 = icmp eq i32 %conv135, %conv136 + br i1 %cmp137, label %if.then139, label %do.cond142 + +if.then139: ; preds = %do.body134 + %83 = load i8*, i8** %fmt, align 8 + %incdec.ptr140 = getelementptr inbounds i8, i8* %83, i32 1 + store i8* %incdec.ptr140, i8** %fmt, align 8 + br label %do.end145 + +do.cond142: ; preds = %do.body134 + %84 = load i8*, i8** %p, align 8 + %incdec.ptr143 = getelementptr inbounds i8, i8* %84, i32 1 + store i8* %incdec.ptr143, i8** %p, align 8 + %85 = load i8, i8* %incdec.ptr143, align 1 + %tobool144 = icmp ne i8 %85, 0 + br i1 %tobool144, label %do.body134, label %do.end145 + +do.end145: ; preds = %do.cond142, %if.then139 + %86 = load i8*, i8** %p, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %86 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, ptrtoint ([20 x i8]* @_ppfs_parsespec.qual_chars to i64) + %cmp146 = icmp slt i64 %sub.ptr.sub, 2 + br i1 %cmp146, label %land.lhs.true148, label %if.end156 + +land.lhs.true148: ; preds = %do.end145 + %87 = load i8*, i8** %fmt, align 8 + %88 = load i8, i8* %87, align 1 + %conv149 = sext i8 %88 to i32 + %89 = load i8*, i8** %p, align 8 + %90 = load i8, i8* %89, align 1 + %conv150 = sext i8 %90 to i32 + %cmp151 = icmp eq i32 %conv149, %conv150 + br i1 %cmp151, label %if.then153, label %if.end156 + +if.then153: ; preds = %land.lhs.true148 + %91 = load i8*, i8** %p, align 8 + %add.ptr154 = getelementptr inbounds i8, i8* %91, i64 9 + store i8* %add.ptr154, i8** %p, align 8 + %92 = load i8*, i8** %fmt, align 8 + %incdec.ptr155 = getelementptr inbounds i8, i8* %92, i32 1 + store i8* %incdec.ptr155, i8** %fmt, align 8 + br label %if.end156 + +if.end156: ; preds = %if.then153, %land.lhs.true148, %do.end145 + %93 = load i8*, i8** %p, align 8 + %arrayidx157 = getelementptr inbounds i8, i8* %93, i64 9 + %94 = load i8, i8* %arrayidx157, align 1 + %conv158 = sext i8 %94 to i32 + %shl = shl i32 %conv158, 8 + store i32 %shl, i32* %dataargtype, align 4 + %95 = load i8*, i8** %fmt, align 8 + %96 = load i8, i8* %95, align 1 + %tobool159 = icmp ne i8 %96, 0 + br i1 %tobool159, label %if.end161, label %if.then160 + +if.then160: ; preds = %if.end156 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end161: ; preds = %if.end156 + store i8* getelementptr inbounds ([21 x i8], [21 x i8]* @_ppfs_parsespec.spec_chars, i64 0, i64 0), i8** %p, align 8 + br label %do.body162 + +do.body162: ; preds = %do.cond199, %if.end161 + %97 = load i8*, i8** %fmt, align 8 + %98 = load i8, i8* %97, align 1 + %conv163 = sext i8 %98 to i32 + %99 = load i8*, i8** %p, align 8 + %100 = load i8, i8* %99, align 1 + %conv164 = sext i8 %100 to i32 + %cmp165 = icmp eq i32 %conv163, %conv164 + %101 = load i8*, i8** %p, align 8 + br i1 %cmp165, label %if.then167, label %do.cond199 + +if.then167: ; preds = %do.body162 + %sub.ptr.lhs.cast168 = ptrtoint i8* %101 to i64 + %sub.ptr.sub169 = sub i64 %sub.ptr.lhs.cast168, ptrtoint ([21 x i8]* @_ppfs_parsespec.spec_chars to i64) + %conv170 = trunc i64 %sub.ptr.sub169 to i32 + store i32 %conv170, i32* %p_m_spec_chars, align 4 + %102 = load i32, i32* %p_m_spec_chars, align 4 + %cmp171 = icmp sge i32 %102, 18 + br i1 %cmp171, label %land.lhs.true173, label %if.end178 + +land.lhs.true173: ; preds = %if.then167 + %103 = load i32, i32* %dataargtype, align 4 + %and174 = and i32 %103, 1024 + %tobool175 = icmp ne i32 %and174, 0 + br i1 %tobool175, label %if.then176, label %if.end178 + +if.then176: ; preds = %land.lhs.true173 + %104 = load i32, i32* %p_m_spec_chars, align 4 + %sub177 = sub nsw i32 %104, 2 + store i32 %sub177, i32* %p_m_spec_chars, align 4 + br label %if.end178 + +if.end178: ; preds = %if.then176, %land.lhs.true173, %if.then167 + %105 = load i32, i32* %p_m_spec_chars, align 4 + %106 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %106, i32 0, i32 4 + store i32 %105, i32* %conv_num, align 4 + store i8* getelementptr inbounds (i8, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @_ppfs_parsespec.spec_ranges, i64 0, i64 0), i64 -1), i8** %p, align 8 + br label %while.cond179 + +while.cond179: ; preds = %while.cond179, %if.end178 + %107 = load i32, i32* %p_m_spec_chars, align 4 + %108 = load i8*, i8** %p, align 8 + %incdec.ptr180 = getelementptr inbounds i8, i8* %108, i32 1 + store i8* %incdec.ptr180, i8** %p, align 8 + %109 = load i8, i8* %incdec.ptr180, align 1 + %conv181 = sext i8 %109 to i32 + %cmp182 = icmp sgt i32 %107, %conv181 + br i1 %cmp182, label %while.cond179, label %while.end185 + +while.end185: ; preds = %while.cond179 + %110 = load i8*, i8** %p, align 8 + %sub.ptr.lhs.cast186 = ptrtoint i8* %110 to i64 + %sub.ptr.sub187 = sub i64 %sub.ptr.lhs.cast186, ptrtoint ([9 x i8]* @_ppfs_parsespec.spec_ranges to i64) + %conv188 = trunc i64 %sub.ptr.sub187 to i32 + store i32 %conv188, i32* %i, align 4 + %111 = load i32, i32* %dataargtype, align 4 + %112 = load i32, i32* %i, align 4 + %idxprom189 = sext i32 %112 to i64 + %arrayidx190 = getelementptr inbounds [8 x i16], [8 x i16]* @_ppfs_parsespec.spec_or_mask, i64 0, i64 %idxprom189 + %113 = load i16, i16* %arrayidx190, align 2 + %conv191 = sext i16 %113 to i32 + %or192 = or i32 %111, %conv191 + %114 = load i32, i32* %i, align 4 + %idxprom193 = sext i32 %114 to i64 + %arrayidx194 = getelementptr inbounds [8 x i16], [8 x i16]* @_ppfs_parsespec.spec_and_mask, i64 0, i64 %idxprom193 + %115 = load i16, i16* %arrayidx194, align 2 + %conv195 = sext i16 %115 to i32 + %and196 = and i32 %or192, %conv195 + %arrayidx197 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 2 + store i32 %and196, i32* %arrayidx197, align 4 + store i8* getelementptr inbounds ([21 x i8], [21 x i8]* @_ppfs_parsespec.spec_chars, i64 0, i64 0), i8** %p, align 8 + br label %do.end202 + +do.cond199: ; preds = %do.body162 + %incdec.ptr200 = getelementptr inbounds i8, i8* %101, i32 1 + store i8* %incdec.ptr200, i8** %p, align 8 + %116 = load i8, i8* %incdec.ptr200, align 1 + %tobool201 = icmp ne i8 %116, 0 + br i1 %tobool201, label %do.body162, label %do.end202 + +do.end202: ; preds = %do.cond199, %while.end185 + %117 = load i8*, i8** %fmt, align 8 + %118 = load i8, i8* %117, align 1 + %conv203 = sext i8 %118 to i32 + %119 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info204 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %119, i32 0, i32 1 + %spec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info204, i32 0, i32 2 + store i32 %conv203, i32* %spec, align 8 + %120 = load i32, i32* %preci, align 4 + %121 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info205 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %121, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info205, i32 0, i32 0 + store i32 %120, i32* %prec, align 8 + %122 = load i32, i32* %width, align 4 + %123 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info206 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %123, i32 0, i32 1 + %width207 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info206, i32 0, i32 1 + store i32 %122, i32* %width207, align 4 + %124 = load i32, i32* %flags, align 4 + %and208 = and i32 %124, 4 + %tobool209 = icmp ne i32 %and208, 0 + %125 = zext i1 %tobool209 to i64 + %cond = select i1 %tobool209, i32 48, i32 32 + %126 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info210 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %126, i32 0, i32 1 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info210, i32 0, i32 4 + store i32 %cond, i32* %pad, align 8 + %127 = load i32, i32* %flags, align 4 + %and211 = and i32 %127, -5 + %128 = load i32, i32* %dataargtype, align 4 + %and212 = and i32 %128, 3840 + %or213 = or i32 %and211, %and212 + %129 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info214 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %129, i32 0, i32 1 + %_flags215 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info214, i32 0, i32 3 + store i32 %or213, i32* %_flags215, align 4 + %130 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %130, i32 0, i32 3 + store i32 1, i32* %num_data_args, align 8 + %131 = load i8*, i8** %p, align 8 + %132 = load i8, i8* %131, align 1 + %tobool216 = icmp ne i8 %132, 0 + br i1 %tobool216, label %if.end218, label %if.then217 + +if.then217: ; preds = %do.end202 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end218: ; preds = %do.end202 + %133 = load i32, i32* %maxposarg, align 4 + %cmp219 = icmp sgt i32 %133, 0 + br i1 %cmp219, label %if.then221, label %if.else265 + +if.then221: ; preds = %if.end218 + store i32 0, i32* %i, align 4 + br label %do.body222 + +do.body222: ; preds = %do.cond258, %if.then221 + %134 = load i32, i32* %i, align 4 + %cmp223 = icmp sle i32 %134, 2 + br i1 %cmp223, label %cond.true, label %cond.false + +cond.true: ; preds = %do.body222 + %135 = load i32, i32* %i, align 4 + %idxprom225 = sext i32 %135 to i64 + %arrayidx226 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 %idxprom225 + %136 = load i32, i32* %arrayidx226, align 4 + %conv227 = trunc i32 %136 to i8 + %137 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber228 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %137, i32 0, i32 5 + %138 = load i32, i32* %i, align 4 + %idxprom229 = sext i32 %138 to i64 + %arrayidx230 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber228, i64 0, i64 %idxprom229 + store i8 %conv227, i8* %arrayidx230, align 1 + %conv231 = zext i8 %conv227 to i32 + br label %cond.end + +cond.false: ; preds = %do.body222 + %arrayidx232 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 2 + %139 = load i32, i32* %arrayidx232, align 4 + %140 = load i32, i32* %i, align 4 + %sub233 = sub nsw i32 %140, 2 + %add234 = add nsw i32 %139, %sub233 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond235 = phi i32 [ %conv231, %cond.true ], [ %add234, %cond.false ] + store i32 %cond235, i32* %n, align 4 + %141 = load i32, i32* %n, align 4 + %142 = load i32, i32* %maxposarg, align 4 + %cmp236 = icmp sgt i32 %141, %142 + br i1 %cmp236, label %if.then238, label %if.end243 + +if.then238: ; preds = %cond.end + %143 = load i32, i32* %n, align 4 + store i32 %143, i32* %maxposarg, align 4 + %cmp239 = icmp sgt i32 %143, 9 + br i1 %cmp239, label %if.then241, label %if.end243 + +if.then241: ; preds = %if.then238 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end243: ; preds = %if.then238, %cond.end + %144 = load i32, i32* %n, align 4 + %dec = add nsw i32 %144, -1 + store i32 %dec, i32* %n, align 4 + %145 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype244 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %145, i32 0, i32 6 + %146 = load i32, i32* %n, align 4 + %idxprom245 = sext i32 %146 to i64 + %arrayidx246 = getelementptr inbounds [9 x i32], [9 x i32]* %argtype244, i64 0, i64 %idxprom245 + %147 = load i32, i32* %arrayidx246, align 4 + %148 = load i32, i32* %i, align 4 + %idxprom247 = sext i32 %148 to i64 + %arrayidx248 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 %idxprom247 + %149 = load i32, i32* %arrayidx248, align 4 + %call249 = call i32 @_is_equal_or_bigger_arg(i32 %147, i32 %149) #18 + %tobool250 = icmp ne i32 %call249, 0 + br i1 %tobool250, label %if.then251, label %do.cond258 + +if.then251: ; preds = %if.end243 + %150 = load i32, i32* %i, align 4 + %idxprom252 = sext i32 %150 to i64 + %arrayidx253 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 %idxprom252 + %151 = load i32, i32* %arrayidx253, align 4 + %152 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype254 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %152, i32 0, i32 6 + %153 = load i32, i32* %n, align 4 + %idxprom255 = sext i32 %153 to i64 + %arrayidx256 = getelementptr inbounds [9 x i32], [9 x i32]* %argtype254, i64 0, i64 %idxprom255 + store i32 %151, i32* %arrayidx256, align 4 + br label %do.cond258 + +do.cond258: ; preds = %if.end243, %if.then251 + %154 = load i32, i32* %i, align 4 + %inc259 = add nsw i32 %154, 1 + store i32 %inc259, i32* %i, align 4 + %155 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args260 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %155, i32 0, i32 3 + %156 = load i32, i32* %num_data_args260, align 8 + %add261 = add nsw i32 %156, 2 + %cmp262 = icmp slt i32 %inc259, %add261 + br i1 %cmp262, label %do.body222, label %if.end276 + +if.else265: ; preds = %if.end218 + %157 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber266 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %157, i32 0, i32 5 + %arrayidx267 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber266, i64 0, i64 2 + store i8 1, i8* %arrayidx267, align 2 + %158 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype268 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %158, i32 0, i32 6 + %arraydecay269 = getelementptr inbounds [9 x i32], [9 x i32]* %argtype268, i64 0, i64 0 + %159 = bitcast i32* %arraydecay269 to i8* + %arraydecay270 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 0 + %add.ptr271 = getelementptr inbounds i32, i32* %arraydecay270, i64 2 + %160 = bitcast i32* %add.ptr271 to i8* + %161 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args272 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %161, i32 0, i32 3 + %162 = load i32, i32* %num_data_args272, align 8 + %conv273 = sext i32 %162 to i64 + %mul274 = mul i64 %conv273, 4 + %call275 = call i8* @memcpy(i8* %159, i8* %160, i64 %mul274) #19 + br label %if.end276 + +if.end276: ; preds = %do.cond258, %if.else265 + %163 = load i32, i32* %maxposarg, align 4 + %164 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg277 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %164, i32 0, i32 2 + store i32 %163, i32* %maxposarg277, align 4 + %165 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info278 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %165, i32 0, i32 1 + %_flags279 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info278, i32 0, i32 3 + %166 = load i32, i32* %_flags279, align 4 + %and280 = and i32 %166, 128 + store i32 %and280, i32* %flags, align 4 + %cmp281 = icmp eq i32 %and280, 0 + br i1 %cmp281, label %if.then283, label %if.else286 + +if.then283: ; preds = %if.end276 + %167 = load i8*, i8** %fmt, align 8 + %incdec.ptr284 = getelementptr inbounds i8, i8* %167, i32 1 + store i8* %incdec.ptr284, i8** %fmt, align 8 + %168 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos285 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %168, i32 0, i32 0 + store i8* %incdec.ptr284, i8** %fmtpos285, align 8 + br label %if.end293 + +if.else286: ; preds = %if.end276 + %169 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos287 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %169, i32 0, i32 0 + %170 = load i8*, i8** %fmtpos287, align 8 + %171 = bitcast i8* %170 to i32* + %172 = load i8*, i8** %fmt, align 8 + %arraydecay288 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 0 + %sub.ptr.lhs.cast289 = ptrtoint i8* %172 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %arraydecay288 to i64 + %sub.ptr.sub290 = sub i64 %sub.ptr.lhs.cast289, %sub.ptr.rhs.cast + %add.ptr291 = getelementptr inbounds i32, i32* %171, i64 %sub.ptr.sub290 + %173 = bitcast i32* %add.ptr291 to i8* + %174 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos292 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %174, i32 0, i32 0 + store i8* %173, i8** %fmtpos292, align 8 + br label %if.end293 + +if.end293: ; preds = %if.else286, %if.then283 + %175 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args294 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %175, i32 0, i32 3 + %176 = load i32, i32* %num_data_args294, align 8 + %add295 = add nsw i32 %176, 2 + store i32 %add295, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end293, %if.then241, %if.then217, %if.then160, %if.then120, %if.then111, %if.then66, %if.then56, %if.then16 + %177 = load i32, i32* %retval, align 4 + ret i32 %177 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_is_equal_or_bigger_arg(i32 %curtype, i32 %newtype) #0 { +entry: + %retval = alloca i32, align 4 + %curtype.addr = alloca i32, align 4 + %newtype.addr = alloca i32, align 4 + store i32 %curtype, i32* %curtype.addr, align 4 + store i32 %newtype, i32* %newtype.addr, align 4 + %0 = load i32, i32* %newtype.addr, align 4 + %cmp = icmp eq i32 %0, 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %1 = load i32, i32* %curtype.addr, align 4 + %cmp1 = icmp eq i32 %1, 8 + br i1 %cmp1, label %if.then3, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %2 = load i32, i32* %curtype.addr, align 4 + %3 = load i32, i32* %newtype.addr, align 4 + %cmp2 = icmp eq i32 %2, %3 + br i1 %cmp2, label %if.then3, label %if.end4 + +if.then3: ; preds = %lor.lhs.false, %if.end + store i32 1, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %lor.lhs.false + %4 = load i32, i32* %curtype.addr, align 4 + %call = call i32 @_promoted_size(i32 %4) #18 + %5 = load i32, i32* %newtype.addr, align 4 + %call5 = call i32 @_promoted_size(i32 %5) #18 + %cmp6 = icmp sle i32 %call, %call5 + %conv = zext i1 %cmp6 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_promoted_size(i32 %argtype) #0 { +entry: + %argtype.addr = alloca i32, align 4 + %p = alloca i16*, align 8 + store i32 %argtype, i32* %argtype.addr, align 4 + store i16* getelementptr inbounds (i16, i16* getelementptr inbounds ([12 x i16], [12 x i16]* @type_codes, i64 0, i64 0), i64 12), i16** %p, align 8 + br label %do.body + +do.body: ; preds = %do.body, %entry + %0 = load i16*, i16** %p, align 8 + %incdec.ptr = getelementptr inbounds i16, i16* %0, i32 -1 + store i16* %incdec.ptr, i16** %p, align 8 + %1 = load i16, i16* %incdec.ptr, align 2 + %conv = sext i16 %1 to i32 + %2 = load i32, i32* %argtype.addr, align 4 + %cmp = icmp ne i32 %conv, %2 + %3 = load i16*, i16** %p, align 8 + %cmp2 = icmp ugt i16* %3, getelementptr inbounds ([12 x i16], [12 x i16]* @type_codes, i64 0, i64 0) + %or.cond = and i1 %cmp, %cmp2 + br i1 %or.cond, label %do.body, label %do.end + +do.end: ; preds = %do.body + %4 = load i16*, i16** %p, align 8 + %sub.ptr.lhs.cast = ptrtoint i16* %4 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, ptrtoint ([12 x i16]* @type_codes to i64) + %sub.ptr.div = sdiv exact i64 %sub.ptr.sub, 2 + %conv4 = trunc i64 %sub.ptr.div to i32 + %idxprom = sext i32 %conv4 to i64 + %arrayidx = getelementptr inbounds [12 x i8], [12 x i8]* @type_sizes, i64 0, i64 %idxprom + %5 = load i8, i8* %arrayidx, align 1 + %conv5 = zext i8 %5 to i32 + ret i32 %conv5 +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_ppfs_prepargs(%struct.ppfs_t.722* %ppfs, %struct.__va_list_tag.0* %arg) #0 { +entry: + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %arg.addr = alloca %struct.__va_list_tag.0*, align 8 + %i = alloca i32, align 4 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store %struct.__va_list_tag.0* %arg, %struct.__va_list_tag.0** %arg.addr, align 8 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg1 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %0, i32 0, i32 7 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg1, i64 0, i64 0 + %1 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %arg.addr, align 8 + %2 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + %3 = bitcast %struct.__va_list_tag.0* %1 to i8* + %vacopy.cast.dst = bitcast i8* %2 to i64* + %vacopy.cast.src = bitcast i8* %3 to i64* + %4 = load i64, i64* %vacopy.cast.src, align 8 + store volatile i64 %4, i64* %vacopy.cast.dst, align 8 + %5 = getelementptr i64, i64* %vacopy.cast.dst, i64 1 + %6 = getelementptr i64, i64* %vacopy.cast.src, i64 1 + %7 = load i64, i64* %6, align 8 + store i64 %7, i64* %5, align 8 + %8 = getelementptr i64, i64* %5, i64 1 + %9 = getelementptr i64, i64* %6, i64 1 + %10 = load i64, i64* %9, align 8 + store i64 %10, i64* %8, align 8 + %11 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %11, i32 0, i32 2 + %12 = load i32, i32* %maxposarg, align 4 + store i32 %12, i32* %i, align 4 + %cmp = icmp sgt i32 %12, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %13 = load i32, i32* %i, align 4 + %14 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %14, i32 0, i32 3 + store i32 %13, i32* %num_data_args, align 8 + %15 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg2 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %15, i32 0, i32 2 + store i32 0, i32* %maxposarg2, align 4 + %16 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %16, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 0 + store i32 0, i32* %prec, align 8 + %17 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info3 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %17, i32 0, i32 1 + %width = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info3, i32 0, i32 1 + store i32 0, i32* %width, align 4 + %18 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + call void @_ppfs_setargs(%struct.ppfs_t.722* %18) #18 + %19 = load i32, i32* %i, align 4 + %20 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg4 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %20, i32 0, i32 2 + store i32 %19, i32* %maxposarg4, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + ret void +} + +; Function Attrs: nounwind +declare void @llvm.va_copy(i8*, i8*) #11 + +; Function Attrs: noinline nounwind uwtable +define hidden void @_ppfs_setargs(%struct.ppfs_t.722* %ppfs) #0 { +entry: + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %p = alloca %union.anon.193*, align 8 + %i = alloca i32, align 4 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argvalue = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %0, i32 0, i32 8 + %arraydecay = getelementptr inbounds [9 x %union.anon.193], [9 x %union.anon.193]* %argvalue, i64 0, i64 0 + store %union.anon.193* %arraydecay, %union.anon.193** %p, align 8 + %1 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %1, i32 0, i32 2 + %2 = load i32, i32* %maxposarg, align 4 + %cmp = icmp eq i32 %2, 0 + %3 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %3, i32 0, i32 1 + %width = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 1 + %4 = load i32, i32* %width, align 4 + %cmp1 = icmp eq i32 %4, -2147483648 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + br i1 %cmp1, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + %5 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %5, i32 0, i32 7 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 8 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then2 + %6 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 3 + %reg_save_area = load i8*, i8** %6, align 8 + %7 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %8 = bitcast i8* %7 to i32* + %9 = add i32 %gp_offset, 8 + store i32 %9, i32* %gp_offset_p, align 8 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then2 + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %10 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %8, %vaarg.in_reg ], [ %10, %vaarg.in_mem ] + %11 = load i32, i32* %vaarg.addr, align 4 + %12 = load %union.anon.193*, %union.anon.193** %p, align 8 + %u = bitcast %union.anon.193* %12 to i32* + store i32 %11, i32* %u, align 8 + %13 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info4 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %13, i32 0, i32 1 + %width5 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info4, i32 0, i32 1 + store i32 %11, i32* %width5, align 4 + br label %if.end + +if.end: ; preds = %vaarg.end, %if.then + %14 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info6 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %14, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info6, i32 0, i32 0 + %15 = load i32, i32* %prec, align 8 + %cmp7 = icmp eq i32 %15, -2147483648 + br i1 %cmp7, label %if.then8, label %if.end25 + +if.then8: ; preds = %if.end + %16 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg9 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %16, i32 0, i32 7 + %arraydecay10 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg9, i64 0, i64 0 + %gp_offset_p11 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay10, i32 0, i32 0 + %gp_offset12 = load i32, i32* %gp_offset_p11, align 8 + %fits_in_gp13 = icmp ule i32 %gp_offset12, 40 + br i1 %fits_in_gp13, label %vaarg.in_reg14, label %vaarg.in_mem16 + +vaarg.in_reg14: ; preds = %if.then8 + %17 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay10, i32 0, i32 3 + %reg_save_area15 = load i8*, i8** %17, align 8 + %18 = getelementptr i8, i8* %reg_save_area15, i32 %gp_offset12 + %19 = bitcast i8* %18 to i32* + %20 = add i32 %gp_offset12, 8 + store i32 %20, i32* %gp_offset_p11, align 8 + br label %vaarg.end20 + +vaarg.in_mem16: ; preds = %if.then8 + %overflow_arg_area_p17 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay10, i32 0, i32 2 + %overflow_arg_area18 = load i8*, i8** %overflow_arg_area_p17, align 8 + %21 = bitcast i8* %overflow_arg_area18 to i32* + %overflow_arg_area.next19 = getelementptr i8, i8* %overflow_arg_area18, i32 8 + store i8* %overflow_arg_area.next19, i8** %overflow_arg_area_p17, align 8 + br label %vaarg.end20 + +vaarg.end20: ; preds = %vaarg.in_mem16, %vaarg.in_reg14 + %vaarg.addr21 = phi i32* [ %19, %vaarg.in_reg14 ], [ %21, %vaarg.in_mem16 ] + %22 = load i32, i32* %vaarg.addr21, align 4 + %23 = load %union.anon.193*, %union.anon.193** %p, align 8 + %u22 = bitcast %union.anon.193* %23 to i32* + store i32 %22, i32* %u22, align 8 + %24 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info23 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %24, i32 0, i32 1 + %prec24 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info23, i32 0, i32 0 + store i32 %22, i32* %prec24, align 8 + br label %if.end25 + +if.end25: ; preds = %vaarg.end20, %if.end + store i32 0, i32* %i, align 4 + br label %while.cond + +while.cond: ; preds = %NodeBlock, %sw.epilog, %if.end25 + %25 = load i32, i32* %i, align 4 + %26 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %26, i32 0, i32 3 + %27 = load i32, i32* %num_data_args, align 8 + %cmp26 = icmp slt i32 %25, %27 + br i1 %cmp26, label %while.body, label %if.end149 + +while.body: ; preds = %while.cond + %28 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %28, i32 0, i32 6 + %29 = load i32, i32* %i, align 4 + %inc = add nsw i32 %29, 1 + store i32 %inc, i32* %i, align 4 + %idxprom = sext i32 %29 to i64 + %arrayidx = getelementptr inbounds [9 x i32], [9 x i32]* %argtype, i64 0, i64 %idxprom + %30 = load i32, i32* %arrayidx, align 4 + br label %NodeBlock17 + +NodeBlock17: ; preds = %while.body + %case.cmp18 = icmp eq i32 %30, 2048 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %30, 1024 + br i1 %case.cmp16, label %sw.bb40, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %30, 1 + br i1 %case.cmp14, label %sw.bb54, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %30, 256 + br i1 %case.cmp12, label %sw.bb54, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %30, 512 + br i1 %case.cmp10, label %sw.bb54, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %30, 0 + br i1 %case.cmp8, label %sw.bb54, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %30, 2 + br i1 %case.cmp6, label %sw.bb69, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %30, 7 + br i1 %case.cmp4, label %sw.bb83, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %30, 2055 + br i1 %case.cmp2, label %sw.bb94, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %30, 8 + br i1 %case.cmp, label %while.cond, label %newDefault + +sw.bb: ; preds = %NodeBlock17 + %31 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg27 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %31, i32 0, i32 7 + %arraydecay28 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg27, i64 0, i64 0 + %gp_offset_p29 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay28, i32 0, i32 0 + %gp_offset30 = load i32, i32* %gp_offset_p29, align 8 + %fits_in_gp31 = icmp ule i32 %gp_offset30, 40 + br i1 %fits_in_gp31, label %vaarg.in_reg32, label %vaarg.in_mem34 + +vaarg.in_reg32: ; preds = %sw.bb + %32 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay28, i32 0, i32 3 + %reg_save_area33 = load i8*, i8** %32, align 8 + %33 = getelementptr i8, i8* %reg_save_area33, i32 %gp_offset30 + %34 = bitcast i8* %33 to i64* + %35 = add i32 %gp_offset30, 8 + store i32 %35, i32* %gp_offset_p29, align 8 + br label %vaarg.end38 + +vaarg.in_mem34: ; preds = %sw.bb + %overflow_arg_area_p35 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay28, i32 0, i32 2 + %overflow_arg_area36 = load i8*, i8** %overflow_arg_area_p35, align 8 + %36 = bitcast i8* %overflow_arg_area36 to i64* + %overflow_arg_area.next37 = getelementptr i8, i8* %overflow_arg_area36, i32 8 + store i8* %overflow_arg_area.next37, i8** %overflow_arg_area_p35, align 8 + br label %vaarg.end38 + +vaarg.end38: ; preds = %vaarg.in_mem34, %vaarg.in_reg32 + %vaarg.addr39 = phi i64* [ %34, %vaarg.in_reg32 ], [ %36, %vaarg.in_mem34 ] + %37 = load i64, i64* %vaarg.addr39, align 8 + %38 = load %union.anon.193*, %union.anon.193** %p, align 8 + %ull = bitcast %union.anon.193* %38 to i64* + store i64 %37, i64* %ull, align 8 + br label %sw.epilog + +sw.bb40: ; preds = %NodeBlock15 + %39 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg41 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %39, i32 0, i32 7 + %arraydecay42 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg41, i64 0, i64 0 + %gp_offset_p43 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay42, i32 0, i32 0 + %gp_offset44 = load i32, i32* %gp_offset_p43, align 8 + %fits_in_gp45 = icmp ule i32 %gp_offset44, 40 + br i1 %fits_in_gp45, label %vaarg.in_reg46, label %vaarg.in_mem48 + +vaarg.in_reg46: ; preds = %sw.bb40 + %40 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay42, i32 0, i32 3 + %reg_save_area47 = load i8*, i8** %40, align 8 + %41 = getelementptr i8, i8* %reg_save_area47, i32 %gp_offset44 + %42 = bitcast i8* %41 to i64* + %43 = add i32 %gp_offset44, 8 + store i32 %43, i32* %gp_offset_p43, align 8 + br label %vaarg.end52 + +vaarg.in_mem48: ; preds = %sw.bb40 + %overflow_arg_area_p49 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay42, i32 0, i32 2 + %overflow_arg_area50 = load i8*, i8** %overflow_arg_area_p49, align 8 + %44 = bitcast i8* %overflow_arg_area50 to i64* + %overflow_arg_area.next51 = getelementptr i8, i8* %overflow_arg_area50, i32 8 + store i8* %overflow_arg_area.next51, i8** %overflow_arg_area_p49, align 8 + br label %vaarg.end52 + +vaarg.end52: ; preds = %vaarg.in_mem48, %vaarg.in_reg46 + %vaarg.addr53 = phi i64* [ %42, %vaarg.in_reg46 ], [ %44, %vaarg.in_mem48 ] + %45 = load i64, i64* %vaarg.addr53, align 8 + %46 = load %union.anon.193*, %union.anon.193** %p, align 8 + %ul = bitcast %union.anon.193* %46 to i64* + store i64 %45, i64* %ul, align 8 + br label %sw.epilog + +sw.bb54: ; preds = %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7 + %47 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg55 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %47, i32 0, i32 7 + %arraydecay56 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg55, i64 0, i64 0 + %gp_offset_p57 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay56, i32 0, i32 0 + %gp_offset58 = load i32, i32* %gp_offset_p57, align 8 + %fits_in_gp59 = icmp ule i32 %gp_offset58, 40 + br i1 %fits_in_gp59, label %vaarg.in_reg60, label %vaarg.in_mem62 + +vaarg.in_reg60: ; preds = %sw.bb54 + %48 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay56, i32 0, i32 3 + %reg_save_area61 = load i8*, i8** %48, align 8 + %49 = getelementptr i8, i8* %reg_save_area61, i32 %gp_offset58 + %50 = bitcast i8* %49 to i32* + %51 = add i32 %gp_offset58, 8 + store i32 %51, i32* %gp_offset_p57, align 8 + br label %vaarg.end66 + +vaarg.in_mem62: ; preds = %sw.bb54 + %overflow_arg_area_p63 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay56, i32 0, i32 2 + %overflow_arg_area64 = load i8*, i8** %overflow_arg_area_p63, align 8 + %52 = bitcast i8* %overflow_arg_area64 to i32* + %overflow_arg_area.next65 = getelementptr i8, i8* %overflow_arg_area64, i32 8 + store i8* %overflow_arg_area.next65, i8** %overflow_arg_area_p63, align 8 + br label %vaarg.end66 + +vaarg.end66: ; preds = %vaarg.in_mem62, %vaarg.in_reg60 + %vaarg.addr67 = phi i32* [ %50, %vaarg.in_reg60 ], [ %52, %vaarg.in_mem62 ] + %53 = load i32, i32* %vaarg.addr67, align 4 + %54 = load %union.anon.193*, %union.anon.193** %p, align 8 + %u68 = bitcast %union.anon.193* %54 to i32* + store i32 %53, i32* %u68, align 8 + br label %sw.epilog + +sw.bb69: ; preds = %NodeBlock5 + %55 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg70 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %55, i32 0, i32 7 + %arraydecay71 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg70, i64 0, i64 0 + %gp_offset_p72 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay71, i32 0, i32 0 + %gp_offset73 = load i32, i32* %gp_offset_p72, align 8 + %fits_in_gp74 = icmp ule i32 %gp_offset73, 40 + br i1 %fits_in_gp74, label %vaarg.in_reg75, label %vaarg.in_mem77 + +vaarg.in_reg75: ; preds = %sw.bb69 + %56 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay71, i32 0, i32 3 + %reg_save_area76 = load i8*, i8** %56, align 8 + %57 = getelementptr i8, i8* %reg_save_area76, i32 %gp_offset73 + %58 = bitcast i8* %57 to i32* + %59 = add i32 %gp_offset73, 8 + store i32 %59, i32* %gp_offset_p72, align 8 + br label %vaarg.end81 + +vaarg.in_mem77: ; preds = %sw.bb69 + %overflow_arg_area_p78 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay71, i32 0, i32 2 + %overflow_arg_area79 = load i8*, i8** %overflow_arg_area_p78, align 8 + %60 = bitcast i8* %overflow_arg_area79 to i32* + %overflow_arg_area.next80 = getelementptr i8, i8* %overflow_arg_area79, i32 8 + store i8* %overflow_arg_area.next80, i8** %overflow_arg_area_p78, align 8 + br label %vaarg.end81 + +vaarg.end81: ; preds = %vaarg.in_mem77, %vaarg.in_reg75 + %vaarg.addr82 = phi i32* [ %58, %vaarg.in_reg75 ], [ %60, %vaarg.in_mem77 ] + %61 = load i32, i32* %vaarg.addr82, align 4 + %62 = load %union.anon.193*, %union.anon.193** %p, align 8 + %wc = bitcast %union.anon.193* %62 to i32* + store i32 %61, i32* %wc, align 8 + br label %sw.epilog + +sw.bb83: ; preds = %NodeBlock3 + %63 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg84 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %63, i32 0, i32 7 + %arraydecay85 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg84, i64 0, i64 0 + %fp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay85, i32 0, i32 1 + %fp_offset = load i32, i32* %fp_offset_p, align 4 + %fits_in_fp = icmp ule i32 %fp_offset, 160 + br i1 %fits_in_fp, label %vaarg.in_reg86, label %vaarg.in_mem88 + +vaarg.in_reg86: ; preds = %sw.bb83 + %64 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay85, i32 0, i32 3 + %reg_save_area87 = load i8*, i8** %64, align 8 + %65 = getelementptr i8, i8* %reg_save_area87, i32 %fp_offset + %66 = bitcast i8* %65 to double* + %67 = add i32 %fp_offset, 16 + store i32 %67, i32* %fp_offset_p, align 4 + br label %vaarg.end92 + +vaarg.in_mem88: ; preds = %sw.bb83 + %overflow_arg_area_p89 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay85, i32 0, i32 2 + %overflow_arg_area90 = load i8*, i8** %overflow_arg_area_p89, align 8 + %68 = bitcast i8* %overflow_arg_area90 to double* + %overflow_arg_area.next91 = getelementptr i8, i8* %overflow_arg_area90, i32 8 + store i8* %overflow_arg_area.next91, i8** %overflow_arg_area_p89, align 8 + br label %vaarg.end92 + +vaarg.end92: ; preds = %vaarg.in_mem88, %vaarg.in_reg86 + %vaarg.addr93 = phi double* [ %66, %vaarg.in_reg86 ], [ %68, %vaarg.in_mem88 ] + %69 = load double, double* %vaarg.addr93, align 8 + %70 = load %union.anon.193*, %union.anon.193** %p, align 8 + %d = bitcast %union.anon.193* %70 to double* + store double %69, double* %d, align 8 + br label %sw.epilog + +sw.bb94: ; preds = %NodeBlock1 + %71 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg95 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %71, i32 0, i32 7 + %arraydecay96 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg95, i64 0, i64 0 + %fp_offset_p97 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay96, i32 0, i32 1 + %fp_offset98 = load i32, i32* %fp_offset_p97, align 4 + %fits_in_fp99 = icmp ule i32 %fp_offset98, 160 + br i1 %fits_in_fp99, label %vaarg.in_reg100, label %vaarg.in_mem102 + +vaarg.in_reg100: ; preds = %sw.bb94 + %72 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay96, i32 0, i32 3 + %reg_save_area101 = load i8*, i8** %72, align 8 + %73 = getelementptr i8, i8* %reg_save_area101, i32 %fp_offset98 + %74 = bitcast i8* %73 to double* + %75 = add i32 %fp_offset98, 16 + store i32 %75, i32* %fp_offset_p97, align 4 + br label %vaarg.end106 + +vaarg.in_mem102: ; preds = %sw.bb94 + %overflow_arg_area_p103 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay96, i32 0, i32 2 + %overflow_arg_area104 = load i8*, i8** %overflow_arg_area_p103, align 8 + %76 = bitcast i8* %overflow_arg_area104 to double* + %overflow_arg_area.next105 = getelementptr i8, i8* %overflow_arg_area104, i32 8 + store i8* %overflow_arg_area.next105, i8** %overflow_arg_area_p103, align 8 + br label %vaarg.end106 + +vaarg.end106: ; preds = %vaarg.in_mem102, %vaarg.in_reg100 + %vaarg.addr107 = phi double* [ %74, %vaarg.in_reg100 ], [ %76, %vaarg.in_mem102 ] + %77 = load double, double* %vaarg.addr107, align 8 + %78 = load %union.anon.193*, %union.anon.193** %p, align 8 + %ld = bitcast %union.anon.193* %78 to double* + store double %77, double* %ld, align 8 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.bb108 + +sw.bb108: ; preds = %newDefault + %79 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg109 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %79, i32 0, i32 7 + %arraydecay110 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg109, i64 0, i64 0 + %gp_offset_p111 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay110, i32 0, i32 0 + %gp_offset112 = load i32, i32* %gp_offset_p111, align 8 + %fits_in_gp113 = icmp ule i32 %gp_offset112, 40 + br i1 %fits_in_gp113, label %vaarg.in_reg114, label %vaarg.in_mem116 + +vaarg.in_reg114: ; preds = %sw.bb108 + %80 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay110, i32 0, i32 3 + %reg_save_area115 = load i8*, i8** %80, align 8 + %81 = getelementptr i8, i8* %reg_save_area115, i32 %gp_offset112 + %82 = bitcast i8* %81 to i8** + %83 = add i32 %gp_offset112, 8 + store i32 %83, i32* %gp_offset_p111, align 8 + br label %vaarg.end120 + +vaarg.in_mem116: ; preds = %sw.bb108 + %overflow_arg_area_p117 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay110, i32 0, i32 2 + %overflow_arg_area118 = load i8*, i8** %overflow_arg_area_p117, align 8 + %84 = bitcast i8* %overflow_arg_area118 to i8** + %overflow_arg_area.next119 = getelementptr i8, i8* %overflow_arg_area118, i32 8 + store i8* %overflow_arg_area.next119, i8** %overflow_arg_area_p117, align 8 + br label %vaarg.end120 + +vaarg.end120: ; preds = %vaarg.in_mem116, %vaarg.in_reg114 + %vaarg.addr121 = phi i8** [ %82, %vaarg.in_reg114 ], [ %84, %vaarg.in_mem116 ] + %85 = load i8*, i8** %vaarg.addr121, align 8 + %86 = load %union.anon.193*, %union.anon.193** %p, align 8 + %p122 = bitcast %union.anon.193* %86 to i8** + store i8* %85, i8** %p122, align 8 + br label %sw.epilog + +sw.epilog: ; preds = %vaarg.end120, %vaarg.end106, %vaarg.end92, %vaarg.end81, %vaarg.end66, %vaarg.end52, %vaarg.end38 + %87 = load %union.anon.193*, %union.anon.193** %p, align 8 + %incdec.ptr = getelementptr inbounds %union.anon.193, %union.anon.193* %87, i32 1 + store %union.anon.193* %incdec.ptr, %union.anon.193** %p, align 8 + br label %while.cond + +if.else: ; preds = %entry + br i1 %cmp1, label %if.then127, label %if.end133 + +if.then127: ; preds = %if.else + %88 = load %union.anon.193*, %union.anon.193** %p, align 8 + %89 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %89, i32 0, i32 5 + %arrayidx128 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber, i64 0, i64 0 + %90 = load i8, i8* %arrayidx128, align 8 + %conv = zext i8 %90 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds %union.anon.193, %union.anon.193* %88, i64 %idx.ext + %add.ptr129 = getelementptr inbounds %union.anon.193, %union.anon.193* %add.ptr, i64 -1 + %u130 = bitcast %union.anon.193* %add.ptr129 to i32* + %91 = load i32, i32* %u130, align 8 + %92 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info131 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %92, i32 0, i32 1 + %width132 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info131, i32 0, i32 1 + store i32 %91, i32* %width132, align 4 + br label %if.end133 + +if.end133: ; preds = %if.then127, %if.else + %93 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info134 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %93, i32 0, i32 1 + %prec135 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info134, i32 0, i32 0 + %94 = load i32, i32* %prec135, align 8 + %cmp136 = icmp eq i32 %94, -2147483648 + br i1 %cmp136, label %if.then138, label %if.end149 + +if.then138: ; preds = %if.end133 + %95 = load %union.anon.193*, %union.anon.193** %p, align 8 + %96 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber139 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %96, i32 0, i32 5 + %arrayidx140 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber139, i64 0, i64 1 + %97 = load i8, i8* %arrayidx140, align 1 + %conv141 = zext i8 %97 to i32 + %idx.ext142 = sext i32 %conv141 to i64 + %add.ptr143 = getelementptr inbounds %union.anon.193, %union.anon.193* %95, i64 %idx.ext142 + %add.ptr144 = getelementptr inbounds %union.anon.193, %union.anon.193* %add.ptr143, i64 -1 + %u145 = bitcast %union.anon.193* %add.ptr144 to i32* + %98 = load i32, i32* %u145, align 8 + %99 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info146 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %99, i32 0, i32 1 + %prec147 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info146, i32 0, i32 0 + store i32 %98, i32* %prec147, align 8 + br label %if.end149 + +if.end149: ; preds = %if.end133, %if.then138, %while.cond + %100 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info150 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %100, i32 0, i32 1 + %width151 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info150, i32 0, i32 1 + %101 = load i32, i32* %width151, align 4 + %cmp152 = icmp slt i32 %101, 0 + br i1 %cmp152, label %if.then154, label %if.end163 + +if.then154: ; preds = %if.end149 + %102 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info155 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %102, i32 0, i32 1 + %width156 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info155, i32 0, i32 1 + %103 = load i32, i32* %width156, align 4 + %sub = sub nsw i32 0, %103 + %104 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info157 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %104, i32 0, i32 1 + %width158 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info157, i32 0, i32 1 + store i32 %sub, i32* %width158, align 4 + %105 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info159 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %105, i32 0, i32 1 + %_flags = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info159, i32 0, i32 3 + %106 = load i32, i32* %_flags, align 4 + %or = or i32 %106, 8 + store i32 %or, i32* %_flags, align 4 + %107 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info160 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %107, i32 0, i32 1 + %_flags161 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info160, i32 0, i32 3 + %108 = load i32, i32* %_flags161, align 4 + %and = and i32 %108, -2 + store i32 %and, i32* %_flags161, align 4 + %109 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info162 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %109, i32 0, i32 1 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info162, i32 0, i32 4 + store i32 32, i32* %pad, align 8 + br label %if.end163 + +if.end163: ; preds = %if.then154, %if.end149 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_store_inttype(i8* %dest, i32 %desttype, i64 %val) #0 { +entry: + %dest.addr = alloca i8*, align 8 + %desttype.addr = alloca i32, align 4 + %val.addr = alloca i64, align 8 + store i8* %dest, i8** %dest.addr, align 8 + store i32 %desttype, i32* %desttype.addr, align 4 + store i64 %val, i64* %val.addr, align 8 + %0 = load i32, i32* %desttype.addr, align 4 + %cmp = icmp eq i32 %0, 256 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load i64, i64* %val.addr, align 8 + %conv = trunc i64 %1 to i8 + %2 = load i8*, i8** %dest.addr, align 8 + store i8 %conv, i8* %2, align 1 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* %desttype.addr, align 4 + %cmp1 = icmp eq i32 %3, 2048 + br i1 %cmp1, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.end + %4 = load i64, i64* %val.addr, align 8 + %5 = load i8*, i8** %dest.addr, align 8 + %6 = bitcast i8* %5 to i64* + store i64 %4, i64* %6, align 8 + br label %return + +if.end4: ; preds = %if.end + %7 = load i32, i32* %desttype.addr, align 4 + %cmp5 = icmp eq i32 %7, 512 + br i1 %cmp5, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end4 + %8 = load i64, i64* %val.addr, align 8 + %conv8 = trunc i64 %8 to i16 + %9 = load i8*, i8** %dest.addr, align 8 + %10 = bitcast i8* %9 to i16* + store i16 %conv8, i16* %10, align 2 + br label %return + +if.end9: ; preds = %if.end4 + %11 = load i32, i32* %desttype.addr, align 4 + %cmp10 = icmp eq i32 %11, 1024 + %12 = load i64, i64* %val.addr, align 8 + br i1 %cmp10, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.end9 + %13 = load i8*, i8** %dest.addr, align 8 + %14 = bitcast i8* %13 to i64* + store i64 %12, i64* %14, align 8 + br label %return + +if.end13: ; preds = %if.end9 + %conv14 = trunc i64 %12 to i32 + %15 = load i8*, i8** %dest.addr, align 8 + %16 = bitcast i8* %15 to i32* + store i32 %conv14, i32* %16, align 4 + br label %return + +return: ; preds = %if.end13, %if.then12, %if.then7, %if.then3, %if.then + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden i8* @_uintmaxtostr(i8* noalias %bufend, i64 %uval, i32 %base, i32 %alphacase) #0 { +entry: + %bufend.addr = alloca i8*, align 8 + %uval.addr = alloca i64, align 8 + %base.addr = alloca i32, align 4 + %alphacase.addr = alloca i32, align 4 + %negative = alloca i32, align 4 + %digit = alloca i32, align 4 + %H = alloca i32, align 4 + %L = alloca i32, align 4 + %high = alloca i32, align 4 + %low = alloca i32, align 4 + %rh = alloca i32, align 4 + %grouping = alloca i32, align 4 + %outdigit = alloca i32, align 4 + %g = alloca i8*, align 8 + store i8* %bufend, i8** %bufend.addr, align 8 + store i64 %uval, i64* %uval.addr, align 8 + store i32 %base, i32* %base.addr, align 4 + store i32 %alphacase, i32* %alphacase.addr, align 4 + store i32 0, i32* %negative, align 4 + %0 = load i32, i32* %base.addr, align 4 + %cmp = icmp slt i32 %0, 0 + br i1 %cmp, label %if.then, label %if.end4 + +if.then: ; preds = %entry + %1 = load i32, i32* %base.addr, align 4 + %sub = sub nsw i32 0, %1 + store i32 %sub, i32* %base.addr, align 4 + %2 = load i64, i64* %uval.addr, align 8 + %cmp1 = icmp ugt i64 %2, 9223372036854775807 + br i1 %cmp1, label %if.then2, label %if.end4 + +if.then2: ; preds = %if.then + %3 = load i64, i64* %uval.addr, align 8 + %sub3 = sub i64 0, %3 + store i64 %sub3, i64* %uval.addr, align 8 + store i32 1, i32* %negative, align 4 + br label %if.end4 + +if.end4: ; preds = %if.then, %if.then2, %entry + store i32 -1, i32* %grouping, align 4 + %4 = load i32, i32* %alphacase.addr, align 4 + %and = and i32 128, %4 + store i32 %and, i32* %outdigit, align 4 + %5 = load i32, i32* %outdigit, align 4 + %6 = load i32, i32* %alphacase.addr, align 4 + %xor = xor i32 %6, %5 + store i32 %xor, i32* %alphacase.addr, align 4 + %7 = load i32, i32* %alphacase.addr, align 4 + %cmp5 = icmp eq i32 %7, 44 + br i1 %cmp5, label %if.then6, label %if.end10 + +if.then6: ; preds = %if.end4 + %8 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %grouping7 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %8, i32 0, i32 41 + %9 = load i8*, i8** %grouping7, align 8 + store i8* %9, i8** %g, align 8 + %10 = load i8, i8* %9, align 1 + %tobool = icmp ne i8 %10, 0 + br i1 %tobool, label %if.then8, label %if.end10 + +if.then8: ; preds = %if.then6 + %11 = load i8*, i8** %g, align 8 + %12 = load i8, i8* %11, align 1 + %conv = sext i8 %12 to i32 + store i32 %conv, i32* %grouping, align 4 + br label %if.end10 + +if.end10: ; preds = %if.then6, %if.then8, %if.end4 + %13 = load i8*, i8** %bufend.addr, align 8 + store i8 0, i8* %13, align 1 + %14 = load i32, i32* %base.addr, align 4 + %div = udiv i32 -1, %14 + store i32 %div, i32* %H, align 4 + %15 = load i32, i32* %base.addr, align 4 + %rem = urem i32 -1, %15 + %add = add i32 %rem, 1 + store i32 %add, i32* %L, align 4 + %16 = load i32, i32* %L, align 4 + %17 = load i32, i32* %base.addr, align 4 + %cmp11 = icmp eq i32 %16, %17 + br i1 %cmp11, label %if.then13, label %if.end14 + +if.then13: ; preds = %if.end10 + %18 = load i32, i32* %H, align 4 + %inc = add i32 %18, 1 + store i32 %inc, i32* %H, align 4 + store i32 0, i32* %L, align 4 + br label %if.end14 + +if.end14: ; preds = %if.then13, %if.end10 + %19 = load i64, i64* %uval.addr, align 8 + %conv15 = trunc i64 %19 to i32 + store i32 %conv15, i32* %low, align 4 + %20 = load i64, i64* %uval.addr, align 8 + %shr = lshr i64 %20, 32 + %conv16 = trunc i64 %shr to i32 + store i32 %conv16, i32* %high, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %if.end14 + %21 = load i32, i32* %grouping, align 4 + %tobool17 = icmp ne i32 %21, 0 + br i1 %tobool17, label %if.end27, label %if.then18 + +if.then18: ; preds = %do.body + %22 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %thousands_sep_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %22, i32 0, i32 27 + %23 = load i32, i32* %thousands_sep_len, align 4 + %24 = load i8*, i8** %bufend.addr, align 8 + %idx.ext = sext i32 %23 to i64 + %idx.neg = sub i64 0, %idx.ext + %add.ptr = getelementptr inbounds i8, i8* %24, i64 %idx.neg + store i8* %add.ptr, i8** %bufend.addr, align 8 + %25 = load i8*, i8** %bufend.addr, align 8 + %26 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %thousands_sep = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %26, i32 0, i32 40 + %27 = load i8*, i8** %thousands_sep, align 8 + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %thousands_sep_len19 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %28, i32 0, i32 27 + %29 = load i32, i32* %thousands_sep_len19, align 4 + %conv20 = sext i32 %29 to i64 + %call = call i8* @memcpy(i8* %25, i8* %27, i64 %conv20) #19 + %30 = load i8*, i8** %g, align 8 + %arrayidx = getelementptr inbounds i8, i8* %30, i64 1 + %31 = load i8, i8* %arrayidx, align 1 + %conv21 = sext i8 %31 to i32 + %cmp22 = icmp ne i32 %conv21, 0 + br i1 %cmp22, label %if.then24, label %if.end25 + +if.then24: ; preds = %if.then18 + %32 = load i8*, i8** %g, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %32, i32 1 + store i8* %incdec.ptr, i8** %g, align 8 + br label %if.end25 + +if.end25: ; preds = %if.then24, %if.then18 + %33 = load i8*, i8** %g, align 8 + %34 = load i8, i8* %33, align 1 + %conv26 = sext i8 %34 to i32 + store i32 %conv26, i32* %grouping, align 4 + br label %if.end27 + +if.end27: ; preds = %if.end25, %do.body + %35 = load i32, i32* %grouping, align 4 + %dec = add nsw i32 %35, -1 + store i32 %dec, i32* %grouping, align 4 + %36 = load i32, i32* %high, align 4 + %tobool28 = icmp ne i32 %36, 0 + %lnot = xor i1 %tobool28, true + %lnot29 = xor i1 %lnot, true + %lnot.ext = zext i1 %lnot29 to i32 + %conv30 = sext i32 %lnot.ext to i64 + %tobool31 = icmp ne i64 %conv30, 0 + br i1 %tobool31, label %if.then32, label %if.else + +if.then32: ; preds = %if.end27 + %37 = load i32, i32* %high, align 4 + %38 = load i32, i32* %base.addr, align 4 + %rem33 = urem i32 %37, %38 + store i32 %rem33, i32* %rh, align 4 + %39 = load i32, i32* %base.addr, align 4 + %40 = load i32, i32* %high, align 4 + %div34 = udiv i32 %40, %39 + store i32 %div34, i32* %high, align 4 + %41 = load i32, i32* %low, align 4 + %42 = load i32, i32* %base.addr, align 4 + %rem35 = urem i32 %41, %42 + %43 = load i32, i32* %L, align 4 + %44 = load i32, i32* %rh, align 4 + %mul = mul i32 %43, %44 + %add36 = add i32 %rem35, %mul + store i32 %add36, i32* %digit, align 4 + %45 = load i32, i32* %low, align 4 + %46 = load i32, i32* %base.addr, align 4 + %div37 = udiv i32 %45, %46 + %47 = load i32, i32* %H, align 4 + %48 = load i32, i32* %rh, align 4 + %mul38 = mul i32 %47, %48 + %add39 = add i32 %div37, %mul38 + %49 = load i32, i32* %digit, align 4 + %50 = load i32, i32* %base.addr, align 4 + %div40 = udiv i32 %49, %50 + %add41 = add i32 %add39, %div40 + store i32 %add41, i32* %low, align 4 + %51 = load i32, i32* %base.addr, align 4 + %52 = load i32, i32* %digit, align 4 + %rem42 = urem i32 %52, %51 + store i32 %rem42, i32* %digit, align 4 + br label %if.end45 + +if.else: ; preds = %if.end27 + %53 = load i32, i32* %low, align 4 + %54 = load i32, i32* %base.addr, align 4 + %rem43 = urem i32 %53, %54 + store i32 %rem43, i32* %digit, align 4 + %55 = load i32, i32* %base.addr, align 4 + %56 = load i32, i32* %low, align 4 + %div44 = udiv i32 %56, %55 + store i32 %div44, i32* %low, align 4 + br label %if.end45 + +if.end45: ; preds = %if.else, %if.then32 + %57 = load i32, i32* %outdigit, align 4 + %tobool46 = icmp ne i32 %57, 0 + %lnot47 = xor i1 %tobool46, true + %lnot49 = xor i1 %lnot47, true + %lnot.ext50 = zext i1 %lnot49 to i32 + %conv51 = sext i32 %lnot.ext50 to i64 + %tobool52 = icmp ne i64 %conv51, 0 + br i1 %tobool52, label %if.then53, label %if.else66 + +if.then53: ; preds = %if.end45 + %58 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %outdigit_length = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %58, i32 0, i32 11 + %59 = load i32, i32* %digit, align 4 + %idxprom = zext i32 %59 to i64 + %arrayidx54 = getelementptr inbounds [10 x i8], [10 x i8]* %outdigit_length, i64 0, i64 %idxprom + %60 = load i8, i8* %arrayidx54, align 1 + %conv55 = zext i8 %60 to i32 + %61 = load i8*, i8** %bufend.addr, align 8 + %idx.ext56 = sext i32 %conv55 to i64 + %idx.neg57 = sub i64 0, %idx.ext56 + %add.ptr58 = getelementptr inbounds i8, i8* %61, i64 %idx.neg57 + store i8* %add.ptr58, i8** %bufend.addr, align 8 + %62 = load i8*, i8** %bufend.addr, align 8 + %63 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %outdigit0_mb = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %63, i32 0, i32 28 + %64 = load i32, i32* %digit, align 4 + %idxprom59 = zext i32 %64 to i64 + %arrayidx60 = getelementptr inbounds i8*, i8** %outdigit0_mb, i64 %idxprom59 + %65 = load i8*, i8** %arrayidx60, align 8 + %66 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %outdigit_length61 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %66, i32 0, i32 11 + %67 = load i32, i32* %digit, align 4 + %idxprom62 = zext i32 %67 to i64 + %arrayidx63 = getelementptr inbounds [10 x i8], [10 x i8]* %outdigit_length61, i64 0, i64 %idxprom62 + %68 = load i8, i8* %arrayidx63, align 1 + %conv64 = zext i8 %68 to i64 + %call65 = call i8* @memcpy(i8* %62, i8* %65, i64 %conv64) #19 + br label %do.cond + +if.else66: ; preds = %if.end45 + %69 = load i32, i32* %digit, align 4 + %cmp67 = icmp ult i32 %69, 10 + %70 = load i32, i32* %digit, align 4 + %add69 = add i32 %70, 48 + %71 = load i32, i32* %alphacase.addr, align 4 + %add70 = add i32 %70, %71 + %cond = select i1 %cmp67, i32 %add69, i32 %add70 + %conv71 = trunc i32 %cond to i8 + %72 = load i8*, i8** %bufend.addr, align 8 + %incdec.ptr72 = getelementptr inbounds i8, i8* %72, i32 -1 + store i8* %incdec.ptr72, i8** %bufend.addr, align 8 + store i8 %conv71, i8* %incdec.ptr72, align 1 + br label %do.cond + +do.cond: ; preds = %if.then53, %if.else66 + %73 = load i32, i32* %low, align 4 + %74 = load i32, i32* %high, align 4 + %or = or i32 %73, %74 + %tobool74 = icmp ne i32 %or, 0 + br i1 %tobool74, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %75 = load i32, i32* %negative, align 4 + %tobool75 = icmp ne i32 %75, 0 + br i1 %tobool75, label %if.then76, label %if.end78 + +if.then76: ; preds = %do.end + %76 = load i8*, i8** %bufend.addr, align 8 + %incdec.ptr77 = getelementptr inbounds i8, i8* %76, i32 -1 + store i8* %incdec.ptr77, i8** %bufend.addr, align 8 + store i8 45, i8* %incdec.ptr77, align 1 + br label %if.end78 + +if.end78: ; preds = %if.then76, %do.end + %77 = load i8*, i8** %bufend.addr, align 8 + ret i8* %77 +} + +; Function Attrs: noinline nounwind uwtable +define hidden %struct.exit_function* @__new_exitfn() #0 { +entry: + %efp = alloca %struct.exit_function*, align 8 + %0 = load i32, i32* @__exit_slots, align 4 + %1 = load i32, i32* @__exit_count, align 4 + %add = add nsw i32 %1, 1 + %cmp = icmp slt i32 %0, %add + br i1 %cmp, label %if.then, label %if.end6 + +if.then: ; preds = %entry + %2 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + %3 = bitcast %struct.exit_function* %2 to i8* + %4 = load i32, i32* @__exit_slots, align 4 + %add1 = add nsw i32 %4, 20 + %conv = sext i32 %add1 to i64 + %mul = mul i64 %conv, 32 + %call = call noalias i8* @realloc(i8* %3, i64 %mul) #19 + %5 = bitcast i8* %call to %struct.exit_function* + store %struct.exit_function* %5, %struct.exit_function** %efp, align 8 + %6 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %cmp2 = icmp eq %struct.exit_function* %6, null + br i1 %cmp2, label %if.then4, label %if.end + +if.then4: ; preds = %if.then + store i32 12, i32* @errno, align 4 + br label %DONE + +if.end: ; preds = %if.then + %7 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + store %struct.exit_function* %7, %struct.exit_function** @__exit_function_table, align 8 + %8 = load i32, i32* @__exit_slots, align 4 + %add5 = add nsw i32 %8, 20 + store i32 %add5, i32* @__exit_slots, align 4 + br label %if.end6 + +if.end6: ; preds = %if.end, %entry + store void (i32)* @__exit_handler, void (i32)** @__exit_cleanup, align 8 + %9 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + %10 = load i32, i32* @__exit_count, align 4 + %inc = add nsw i32 %10, 1 + store i32 %inc, i32* @__exit_count, align 4 + %idxprom = sext i32 %10 to i64 + %arrayidx = getelementptr inbounds %struct.exit_function, %struct.exit_function* %9, i64 %idxprom + store %struct.exit_function* %arrayidx, %struct.exit_function** %efp, align 8 + %11 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %type = getelementptr inbounds %struct.exit_function, %struct.exit_function* %11, i32 0, i32 0 + store i64 1, i64* %type, align 8 + br label %DONE + +DONE: ; preds = %if.end6, %if.then4 + %12 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + ret %struct.exit_function* %12 +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @__exit_handler(i32 %status) #0 { +entry: + %status.addr = alloca i32, align 4 + %efp = alloca %struct.exit_function*, align 8 + store i32 %status, i32* %status.addr, align 4 + br label %while.cond + +while.cond: ; preds = %sw.epilog, %entry + %0 = load i32, i32* @__exit_count, align 4 + %tobool = icmp ne i32 %0, 0 + %1 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %2 = load i32, i32* @__exit_count, align 4 + %dec = add nsw i32 %2, -1 + store i32 %dec, i32* @__exit_count, align 4 + %idxprom = sext i32 %dec to i64 + %arrayidx = getelementptr inbounds %struct.exit_function, %struct.exit_function* %1, i64 %idxprom + store %struct.exit_function* %arrayidx, %struct.exit_function** %efp, align 8 + %3 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %type = getelementptr inbounds %struct.exit_function, %struct.exit_function* %3, i32 0, i32 0 + %4 = load i64, i64* %type, align 8 + br label %NodeBlock1 + +NodeBlock1: ; preds = %while.body + %case.cmp2 = icmp eq i64 %4, 2 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i64 %4, 3 + br i1 %case.cmp, label %sw.bb7, label %newDefault + +sw.bb: ; preds = %NodeBlock1 + %5 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs = getelementptr inbounds %struct.exit_function, %struct.exit_function* %5, i32 0, i32 1 + %on_exit = bitcast %union.anon.772* %funcs to %struct.anon.779* + %func = getelementptr inbounds %struct.anon.779, %struct.anon.779* %on_exit, i32 0, i32 0 + %6 = load void (i32, i8*)*, void (i32, i8*)** %func, align 8 + %tobool1 = icmp ne void (i32, i8*)* %6, null + br i1 %tobool1, label %if.then, label %sw.epilog + +if.then: ; preds = %sw.bb + %7 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs2 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %7, i32 0, i32 1 + %on_exit3 = bitcast %union.anon.772* %funcs2 to %struct.anon.779* + %func4 = getelementptr inbounds %struct.anon.779, %struct.anon.779* %on_exit3, i32 0, i32 0 + %8 = load void (i32, i8*)*, void (i32, i8*)** %func4, align 8 + %9 = load i32, i32* %status.addr, align 4 + %10 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs5 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %10, i32 0, i32 1 + %on_exit6 = bitcast %union.anon.772* %funcs5 to %struct.anon.779* + %arg = getelementptr inbounds %struct.anon.779, %struct.anon.779* %on_exit6, i32 0, i32 1 + %11 = load i8*, i8** %arg, align 8 + call void %8(i32 %9, i8* %11) #18 + br label %sw.epilog + +sw.bb7: ; preds = %NodeBlock + %12 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs8 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %12, i32 0, i32 1 + %cxa_atexit = bitcast %union.anon.772* %funcs8 to %struct.anon.0.771* + %func9 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit, i32 0, i32 0 + %13 = load void (i8*)*, void (i8*)** %func9, align 8 + %tobool10 = icmp ne void (i8*)* %13, null + br i1 %tobool10, label %if.then11, label %sw.epilog + +if.then11: ; preds = %sw.bb7 + %14 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs12 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %14, i32 0, i32 1 + %cxa_atexit13 = bitcast %union.anon.772* %funcs12 to %struct.anon.0.771* + %func14 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit13, i32 0, i32 0 + %15 = load void (i8*)*, void (i8*)** %func14, align 8 + %16 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs15 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %16, i32 0, i32 1 + %cxa_atexit16 = bitcast %union.anon.772* %funcs15 to %struct.anon.0.771* + %arg17 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit16, i32 0, i32 1 + %17 = load i8*, i8** %arg17, align 8 + call void %15(i8* %17) #18 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.epilog + +sw.epilog: ; preds = %newDefault, %sw.bb7, %if.then11, %sw.bb, %if.then + br label %while.cond + +while.end: ; preds = %while.cond + %tobool19 = icmp ne %struct.exit_function* %1, null + br i1 %tobool19, label %if.then20, label %if.end21 + +if.then20: ; preds = %while.end + %18 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + %19 = bitcast %struct.exit_function* %18 to i8* + call void @free(i8* %19) #19 + br label %if.end21 + +if.end21: ; preds = %if.then20, %while.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_stdlib_strto_l_l(i8* noalias %str, i8** noalias %endptr, i32 %base, i32 %sflag, %struct.__uclibc_locale_struct.201* %locale_arg) #0 { +entry: + %str.addr = alloca i8*, align 8 + %endptr.addr = alloca i8**, align 8 + %base.addr = alloca i32, align 4 + %sflag.addr = alloca i32, align 4 + %locale_arg.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %number = alloca i64, align 8 + %cutoff = alloca i64, align 8 + %fail_char = alloca i8*, align 8 + %negative = alloca i8, align 1 + %digit = alloca i8, align 1 + %cutoff_digit = alloca i8, align 1 + %tmp = alloca i64, align 8 + store i8* %str, i8** %str.addr, align 8 + store i8** %endptr, i8*** %endptr.addr, align 8 + store i32 %base, i32* %base.addr, align 4 + store i32 %sflag, i32* %sflag.addr, align 4 + store %struct.__uclibc_locale_struct.201* %locale_arg, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %0 = load i8*, i8** %str.addr, align 8 + store i8* %0, i8** %fail_char, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %1 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %1, i32 0, i32 0 + %2 = load i16*, i16** %__ctype_b, align 8 + %3 = load i8*, i8** %str.addr, align 8 + %4 = load i8, i8* %3, align 1 + %conv = sext i8 %4 to i32 + %idxprom = sext i32 %conv to i64 + %arrayidx = getelementptr inbounds i16, i16* %2, i64 %idxprom + %5 = load i16, i16* %arrayidx, align 2 + %conv1 = zext i16 %5 to i32 + %and = and i32 %conv1, 8192 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %6 = load i8*, i8** %str.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %str.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8 0, i8* %negative, align 1 + %7 = load i8*, i8** %str.addr, align 8 + %8 = load i8, i8* %7, align 1 + %conv2 = sext i8 %8 to i32 + br label %NodeBlock1 + +NodeBlock1: ; preds = %while.end + %case.cmp2 = icmp eq i32 %conv2, 45 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %conv2, 43 + br i1 %case.cmp, label %sw.bb3, label %newDefault + +sw.bb: ; preds = %NodeBlock1 + store i8 1, i8* %negative, align 1 + br label %sw.bb3 + +sw.bb3: ; preds = %NodeBlock, %sw.bb + %9 = load i8*, i8** %str.addr, align 8 + %incdec.ptr4 = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr4, i8** %str.addr, align 8 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.epilog + +sw.epilog: ; preds = %newDefault, %sw.bb3 + %10 = load i32, i32* %base.addr, align 4 + %and5 = and i32 %10, -17 + %tobool6 = icmp ne i32 %and5, 0 + br i1 %tobool6, label %if.end22, label %if.then + +if.then: ; preds = %sw.epilog + %11 = load i32, i32* %base.addr, align 4 + %add = add nsw i32 %11, 10 + store i32 %add, i32* %base.addr, align 4 + %12 = load i8*, i8** %str.addr, align 8 + %13 = load i8, i8* %12, align 1 + %conv7 = sext i8 %13 to i32 + %cmp = icmp eq i32 %conv7, 48 + br i1 %cmp, label %if.then9, label %if.end17 + +if.then9: ; preds = %if.then + %14 = load i8*, i8** %str.addr, align 8 + %incdec.ptr10 = getelementptr inbounds i8, i8* %14, i32 1 + store i8* %incdec.ptr10, i8** %str.addr, align 8 + store i8* %incdec.ptr10, i8** %fail_char, align 8 + %15 = load i32, i32* %base.addr, align 4 + %sub = sub nsw i32 %15, 2 + store i32 %sub, i32* %base.addr, align 4 + %16 = load i8*, i8** %str.addr, align 8 + %17 = load i8, i8* %16, align 1 + %conv11 = sext i8 %17 to i32 + %or = or i32 32, %conv11 + %cmp12 = icmp eq i32 %or, 120 + br i1 %cmp12, label %if.then14, label %if.end17 + +if.then14: ; preds = %if.then9 + %18 = load i8*, i8** %str.addr, align 8 + %incdec.ptr15 = getelementptr inbounds i8, i8* %18, i32 1 + store i8* %incdec.ptr15, i8** %str.addr, align 8 + %19 = load i32, i32* %base.addr, align 4 + %20 = load i32, i32* %base.addr, align 4 + %add16 = add nsw i32 %20, %19 + store i32 %add16, i32* %base.addr, align 4 + br label %if.end17 + +if.end17: ; preds = %if.then9, %if.then14, %if.then + %21 = load i32, i32* %base.addr, align 4 + %cmp18 = icmp sgt i32 %21, 16 + br i1 %cmp18, label %if.then20, label %if.end22 + +if.then20: ; preds = %if.end17 + store i32 16, i32* %base.addr, align 4 + br label %if.end22 + +if.end22: ; preds = %if.end17, %if.then20, %sw.epilog + store i64 0, i64* %number, align 8 + %22 = load i32, i32* %base.addr, align 4 + %sub23 = sub nsw i32 %22, 2 + %cmp24 = icmp ult i32 %sub23, 35 + br i1 %cmp24, label %if.then26, label %if.end72 + +if.then26: ; preds = %if.end22 + %23 = load i32, i32* %base.addr, align 4 + %conv27 = sext i32 %23 to i64 + %rem = urem i64 -1, %conv27 + %conv28 = trunc i64 %rem to i8 + store i8 %conv28, i8* %cutoff_digit, align 1 + %24 = load i32, i32* %base.addr, align 4 + %conv29 = sext i32 %24 to i64 + %div = udiv i64 -1, %conv29 + store i64 %div, i64* %cutoff, align 8 + br label %do.body + +do.body: ; preds = %do.cond, %if.then26 + %25 = load i8*, i8** %str.addr, align 8 + %26 = load i8, i8* %25, align 1 + %conv30 = sext i8 %26 to i32 + %sub31 = sub nsw i32 %conv30, 48 + %conv32 = trunc i32 %sub31 to i8 + %conv33 = zext i8 %conv32 to i32 + %cmp34 = icmp sle i32 %conv33, 9 + %27 = load i8*, i8** %str.addr, align 8 + %28 = load i8, i8* %27, align 1 + %conv36 = sext i8 %28 to i32 + br i1 %cmp34, label %cond.true, label %cond.false + +cond.true: ; preds = %do.body + %sub37 = sub nsw i32 %conv36, 48 + br label %cond.end47 + +cond.false: ; preds = %do.body + %cmp39 = icmp sge i32 %conv36, 65 + br i1 %cmp39, label %cond.true41, label %cond.end47 + +cond.true41: ; preds = %cond.false + %29 = load i8*, i8** %str.addr, align 8 + %30 = load i8, i8* %29, align 1 + %conv42 = sext i8 %30 to i32 + %or43 = or i32 32, %conv42 + %sub44 = sub nsw i32 %or43, 97 + %add45 = add nsw i32 %sub44, 10 + br label %cond.end47 + +cond.end47: ; preds = %cond.true41, %cond.false, %cond.true + %cond48 = phi i32 [ %sub37, %cond.true ], [ %add45, %cond.true41 ], [ 40, %cond.false ] + %conv49 = trunc i32 %cond48 to i8 + store i8 %conv49, i8* %digit, align 1 + %31 = load i8, i8* %digit, align 1 + %conv50 = zext i8 %31 to i32 + %32 = load i32, i32* %base.addr, align 4 + %cmp51 = icmp sge i32 %conv50, %32 + br i1 %cmp51, label %if.end72, label %if.end54 + +if.end54: ; preds = %cond.end47 + %33 = load i8*, i8** %str.addr, align 8 + %incdec.ptr55 = getelementptr inbounds i8, i8* %33, i32 1 + store i8* %incdec.ptr55, i8** %str.addr, align 8 + store i8* %incdec.ptr55, i8** %fail_char, align 8 + %34 = load i64, i64* %number, align 8 + %35 = load i64, i64* %cutoff, align 8 + %cmp56 = icmp ugt i64 %34, %35 + br i1 %cmp56, label %if.then64, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end54 + %36 = load i64, i64* %number, align 8 + %37 = load i64, i64* %cutoff, align 8 + %cmp58 = icmp eq i64 %36, %37 + br i1 %cmp58, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %lor.lhs.false + %38 = load i8, i8* %digit, align 1 + %conv60 = zext i8 %38 to i32 + %39 = load i8, i8* %cutoff_digit, align 1 + %conv61 = zext i8 %39 to i32 + %cmp62 = icmp sgt i32 %conv60, %conv61 + br i1 %cmp62, label %if.then64, label %if.else + +if.then64: ; preds = %land.lhs.true, %if.end54 + store i64 -1, i64* %number, align 8 + %40 = load i32, i32* %sflag.addr, align 4 + %41 = load i8, i8* %negative, align 1 + %conv65 = zext i8 %41 to i32 + %and66 = and i32 %conv65, %40 + %conv67 = trunc i32 %and66 to i8 + store i8 %conv67, i8* %negative, align 1 + store i32 34, i32* @errno, align 4 + br label %do.cond + +if.else: ; preds = %land.lhs.true, %lor.lhs.false + %42 = load i64, i64* %number, align 8 + %43 = load i32, i32* %base.addr, align 4 + %conv68 = sext i32 %43 to i64 + %mul = mul i64 %42, %conv68 + %44 = load i8, i8* %digit, align 1 + %conv69 = zext i8 %44 to i64 + %add70 = add i64 %mul, %conv69 + store i64 %add70, i64* %number, align 8 + br label %do.cond + +do.cond: ; preds = %if.then64, %if.else + br label %do.body + +if.end72: ; preds = %cond.end47, %if.end22 + %45 = load i8**, i8*** %endptr.addr, align 8 + %tobool73 = icmp ne i8** %45, null + br i1 %tobool73, label %if.then74, label %if.end75 + +if.then74: ; preds = %if.end72 + %46 = load i8*, i8** %fail_char, align 8 + %47 = load i8**, i8*** %endptr.addr, align 8 + store i8* %46, i8** %47, align 8 + br label %if.end75 + +if.end75: ; preds = %if.then74, %if.end72 + %48 = load i8, i8* %negative, align 1 + %conv76 = zext i8 %48 to i32 + %tobool77 = icmp ne i32 %conv76, 0 + %49 = zext i1 %tobool77 to i64 + %cond78 = select i1 %tobool77, i64 -9223372036854775808, i64 9223372036854775807 + store i64 %cond78, i64* %tmp, align 8 + %50 = load i32, i32* %sflag.addr, align 4 + %tobool79 = icmp ne i32 %50, 0 + br i1 %tobool79, label %land.lhs.true80, label %if.end84 + +land.lhs.true80: ; preds = %if.end75 + %51 = load i64, i64* %number, align 8 + %52 = load i64, i64* %tmp, align 8 + %cmp81 = icmp ugt i64 %51, %52 + br i1 %cmp81, label %if.then83, label %if.end84 + +if.then83: ; preds = %land.lhs.true80 + %53 = load i64, i64* %tmp, align 8 + store i64 %53, i64* %number, align 8 + store i32 34, i32* @errno, align 4 + br label %if.end84 + +if.end84: ; preds = %if.then83, %land.lhs.true80, %if.end75 + %54 = load i8, i8* %negative, align 1 + %conv85 = zext i8 %54 to i32 + %tobool86 = icmp ne i32 %conv85, 0 + %55 = load i64, i64* %number, align 8 + %sub88 = sub nsw i64 0, %55 + %cond91 = select i1 %tobool86, i64 %sub88, i64 %55 + ret i64 %cond91 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__xpg_strerror_r(i32 %errnum, i8* %strerrbuf, i64 %buflen) #0 { +entry: + %errnum.addr = alloca i32, align 4 + %strerrbuf.addr = alloca i8*, align 8 + %buflen.addr = alloca i64, align 8 + %s = alloca i8*, align 8 + %i = alloca i32, align 4 + %retval1 = alloca i32, align 4 + %buf = alloca [50 x i8], align 16 + store i32 %errnum, i32* %errnum.addr, align 4 + store i8* %strerrbuf, i8** %strerrbuf.addr, align 8 + store i64 %buflen, i64* %buflen.addr, align 8 + store i32 22, i32* %retval1, align 4 + %0 = load i32, i32* %errnum.addr, align 4 + store i32 %0, i32* %i, align 4 + %1 = load i32, i32* %i, align 4 + %cmp = icmp ult i32 %1, 125 + br i1 %cmp, label %if.then, label %if.end7 + +if.then: ; preds = %entry + store i8* getelementptr inbounds ([2906 x i8], [2906 x i8]* @_string_syserrmsgs, i64 0, i64 0), i8** %s, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.then + %2 = load i32, i32* %i, align 4 + %tobool = icmp ne i32 %2, 0 + %3 = load i8*, i8** %s, align 8 + %4 = load i8, i8* %3, align 1 + %tobool2 = icmp ne i8 %4, 0 + br i1 %tobool, label %for.body, label %for.end + +for.body: ; preds = %for.cond + br i1 %tobool2, label %for.inc, label %if.then3 + +if.then3: ; preds = %for.body + %5 = load i32, i32* %i, align 4 + %dec = add nsw i32 %5, -1 + store i32 %dec, i32* %i, align 4 + br label %for.inc + +for.inc: ; preds = %for.body, %if.then3 + %6 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + br i1 %tobool2, label %if.then5, label %if.end7 + +if.then5: ; preds = %for.end + store i32 0, i32* %retval1, align 4 + br label %GOT_MESG + +if.end7: ; preds = %for.end, %entry + %arraydecay = getelementptr inbounds [50 x i8], [50 x i8]* %buf, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 50 + %add.ptr8 = getelementptr inbounds i8, i8* %add.ptr, i64 -1 + %7 = load i32, i32* %errnum.addr, align 4 + %conv = sext i32 %7 to i64 + %call = call i8* @_uintmaxtostr(i8* %add.ptr8, i64 %conv, i32 -10, i32 0) #18 + %add.ptr9 = getelementptr inbounds i8, i8* %call, i64 -14 + store i8* %add.ptr9, i8** %s, align 8 + %8 = load i8*, i8** %s, align 8 + %call10 = call i8* @memcpy(i8* %8, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @__xpg_strerror_r.unknown, i64 0, i64 0), i64 14) #19 + br label %GOT_MESG + +GOT_MESG: ; preds = %if.end7, %if.then5 + %9 = load i8*, i8** %strerrbuf.addr, align 8 + %tobool11 = icmp ne i8* %9, null + br i1 %tobool11, label %if.end13, label %if.then12 + +if.then12: ; preds = %GOT_MESG + store i64 0, i64* %buflen.addr, align 8 + br label %if.end13 + +if.end13: ; preds = %if.then12, %GOT_MESG + %10 = load i8*, i8** %s, align 8 + %call14 = call i64 @strlen(i8* %10) #20 + %add = add i64 %call14, 1 + %conv15 = trunc i64 %add to i32 + store i32 %conv15, i32* %i, align 4 + %11 = load i32, i32* %i, align 4 + %conv16 = sext i32 %11 to i64 + %12 = load i64, i64* %buflen.addr, align 8 + %cmp17 = icmp ugt i64 %conv16, %12 + br i1 %cmp17, label %if.then19, label %if.end21 + +if.then19: ; preds = %if.end13 + %13 = load i64, i64* %buflen.addr, align 8 + %conv20 = trunc i64 %13 to i32 + store i32 %conv20, i32* %i, align 4 + store i32 34, i32* %retval1, align 4 + br label %if.end21 + +if.end21: ; preds = %if.then19, %if.end13 + %14 = load i32, i32* %i, align 4 + %tobool22 = icmp ne i32 %14, 0 + br i1 %tobool22, label %if.then23, label %if.end26 + +if.then23: ; preds = %if.end21 + %15 = load i8*, i8** %strerrbuf.addr, align 8 + %16 = load i8*, i8** %s, align 8 + %17 = load i32, i32* %i, align 4 + %conv24 = sext i32 %17 to i64 + %call25 = call i8* @memcpy(i8* %15, i8* %16, i64 %conv24) #19 + %18 = load i8*, i8** %strerrbuf.addr, align 8 + %19 = load i32, i32* %i, align 4 + %sub = sub nsw i32 %19, 1 + %idxprom = sext i32 %sub to i64 + %arrayidx = getelementptr inbounds i8, i8* %18, i64 %idxprom + store i8 0, i8* %arrayidx, align 1 + br label %if.end26 + +if.end26: ; preds = %if.then23, %if.end21 + %20 = load i32, i32* %retval1, align 4 + %tobool27 = icmp ne i32 %20, 0 + br i1 %tobool27, label %if.then28, label %if.end29 + +if.then28: ; preds = %if.end26 + %21 = load i32, i32* %retval1, align 4 + store i32 %21, i32* @errno, align 4 + br label %if.end29 + +if.end29: ; preds = %if.then28, %if.end26 + %22 = load i32, i32* %retval1, align 4 + ret i32 %22 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @memrchr(i8* nonnull %s, i32 %c, i64 %n) #14 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %n.addr = alloca i64, align 8 + %r = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i64, i64* %n.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %0, i64 %1 + store i8* %add.ptr, i8** %r, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %2 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load i8*, i8** %r, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 -1 + store i8* %incdec.ptr, i8** %r, align 8 + %4 = load i8, i8* %incdec.ptr, align 1 + %conv = zext i8 %4 to i32 + %5 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %5 to i8 + %conv2 = zext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + %6 = load i8*, i8** %r, align 8 + store i8* %6, i8** %retval, align 8 + br label %return + +if.end: ; preds = %while.body + %7 = load i64, i64* %n.addr, align 8 + %dec = add i64 %7, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then + %8 = load i8*, i8** %retval, align 8 + ret i8* %8 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @strlcpy(i8* noalias nonnull %dst, i8* noalias nonnull %src, i64 %n) #0 { +entry: + %dst.addr = alloca i8*, align 8 + %src.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %src0 = alloca i8*, align 8 + %dummy = alloca [1 x i8], align 1 + store i8* %dst, i8** %dst.addr, align 8 + store i8* %src, i8** %src.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %src.addr, align 8 + store i8* %0, i8** %src0, align 8 + %1 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x i8], [1 x i8]* %dummy, i64 0, i64 0 + store i8* %arraydecay, i8** %dst.addr, align 8 + br label %if.end + +if.else: ; preds = %entry + %2 = load i64, i64* %n.addr, align 8 + %dec = add i64 %2, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %if.end + +if.end: ; preds = %if.else, %if.then + br label %while.cond + +while.cond: ; preds = %if.end5, %if.end + %3 = load i8*, i8** %src.addr, align 8 + %4 = load i8, i8* %3, align 1 + %5 = load i8*, i8** %dst.addr, align 8 + store i8 %4, i8* %5, align 1 + %conv = sext i8 %4 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %6 = load i64, i64* %n.addr, align 8 + %tobool2 = icmp ne i64 %6, 0 + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %while.body + %7 = load i64, i64* %n.addr, align 8 + %dec4 = add i64 %7, -1 + store i64 %dec4, i64* %n.addr, align 8 + %8 = load i8*, i8** %dst.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %8, i32 1 + store i8* %incdec.ptr, i8** %dst.addr, align 8 + br label %if.end5 + +if.end5: ; preds = %if.then3, %while.body + %9 = load i8*, i8** %src.addr, align 8 + %incdec.ptr6 = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr6, i8** %src.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %10 = load i8*, i8** %src.addr, align 8 + %11 = load i8*, i8** %src0, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %10 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %11 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind readonly uwtable +define i64 @strnlen(i8* nonnull %s, i64 %max) #14 { +entry: + %s.addr = alloca i8*, align 8 + %max.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i64 %max, i64* %max.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %1 = load i64, i64* %max.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %2 = load i8*, i8** %p, align 8 + %3 = load i8, i8* %2, align 1 + %conv = sext i8 %3 to i32 + %tobool1 = icmp ne i32 %conv, 0 + br label %land.end + +land.end: ; preds = %land.rhs, %while.cond + %4 = phi i1 [ false, %while.cond ], [ %tobool1, %land.rhs ] + %5 = load i8*, i8** %p, align 8 + br i1 %4, label %while.body, label %while.end + +while.body: ; preds = %land.end + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %6 = load i64, i64* %max.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %max.addr, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %7 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind uwtable +define i8* @strtok_r(i8* noalias %s1, i8* noalias nonnull %s2, i8** noalias nonnull %next_start) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %next_start.addr = alloca i8**, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i8** %next_start, i8*** %next_start.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + %cmp = icmp ne i8* %0, null + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %1 = load i8**, i8*** %next_start.addr, align 8 + %2 = load i8*, i8** %1, align 8 + store i8* %2, i8** %s, align 8 + %cmp1 = icmp ne i8* %2, null + br i1 %cmp1, label %if.then, label %if.end7 + +if.then: ; preds = %lor.lhs.false, %entry + %3 = load i8*, i8** %s, align 8 + %4 = load i8*, i8** %s2.addr, align 8 + %call = call i64 @strspn(i8* %3, i8* %4) #20 + %5 = load i8*, i8** %s, align 8 + %add.ptr = getelementptr inbounds i8, i8* %5, i64 %call + store i8* %add.ptr, i8** %s, align 8 + %6 = load i8, i8* %add.ptr, align 1 + %tobool = icmp ne i8 %6, 0 + br i1 %tobool, label %if.then2, label %if.else + +if.then2: ; preds = %if.then + %7 = load i8*, i8** %s, align 8 + %8 = load i8*, i8** %s2.addr, align 8 + %call3 = call i8* @strpbrk(i8* %7, i8* %8) #20 + store i8* %call3, i8** %p, align 8 + %cmp4 = icmp ne i8* %call3, null + br i1 %cmp4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.then2 + %9 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + store i8 0, i8* %9, align 1 + br label %if.end6 + +if.else: ; preds = %if.then + store i8* null, i8** %s, align 8 + store i8* null, i8** %p, align 8 + br label %if.end6 + +if.end6: ; preds = %if.then2, %if.then5, %if.else + %10 = load i8*, i8** %p, align 8 + %11 = load i8**, i8*** %next_start.addr, align 8 + store i8* %10, i8** %11, align 8 + br label %if.end7 + +if.end7: ; preds = %if.end6, %lor.lhs.false + %12 = load i8*, i8** %s, align 8 + ret i8* %12 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @mbsrtowcs(i32* noalias %dst, i8** noalias %src, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %dst.addr = alloca i32*, align 8 + %src.addr = alloca i8**, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + store i32* %dst, i32** %dst.addr, align 8 + store i8** %src, i8*** %src.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load i32*, i32** %dst.addr, align 8 + %1 = load i8**, i8*** %src.addr, align 8 + %2 = load i64, i64* %len.addr, align 8 + %3 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %cmp = icmp ne %struct.__mbstate_t.512* %3, null + %4 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %cond = select i1 %cmp, %struct.__mbstate_t.512* %4, %struct.__mbstate_t.512* @mbsrtowcs.mbstate + %call = call i64 @mbsnrtowcs(i32* %0, i8** %1, i64 -1, i64 %2, %struct.__mbstate_t.512* %cond) #19 + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define i64 @wcsnrtombs(i8* noalias %dst, i32** noalias %src, i64 %NWC, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %retval = alloca i64, align 8 + %dst.addr = alloca i8*, align 8 + %src.addr = alloca i32**, align 8 + %NWC.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %s = alloca i32*, align 8 + %count = alloca i64, align 8 + %incr = alloca i32, align 4 + %buf = alloca [16 x i8], align 16 + %wc = alloca i32, align 4 + %u = alloca i32, align 4 + store i8* %dst, i8** %dst.addr, align 8 + store i32** %src, i32*** %src.addr, align 8 + store i64 %NWC, i64* %NWC.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 9 + %1 = load i8, i8* %encoding, align 8 + %conv = zext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load i8*, i8** %dst.addr, align 8 + %3 = load i64, i64* %len.addr, align 8 + %4 = load i32**, i32*** %src.addr, align 8 + %5 = load i64, i64* %NWC.addr, align 8 + %call = call i64 @_wchar_wcsntoutf8s(i8* %2, i64 %3, i32** %4, i64 %5) #18 + store i64 %call, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + store i32 1, i32* %incr, align 4 + %6 = load i8*, i8** %dst.addr, align 8 + %tobool = icmp ne i8* %6, null + br i1 %tobool, label %lor.lhs.false, label %if.then4 + +lor.lhs.false: ; preds = %if.end + %7 = load i8*, i8** %dst.addr, align 8 + %8 = load i32**, i32*** %src.addr, align 8 + %9 = bitcast i32** %8 to i8* + %cmp2 = icmp eq i8* %7, %9 + br i1 %cmp2, label %if.then4, label %if.end8 + +if.then4: ; preds = %lor.lhs.false, %if.end + %10 = load i8*, i8** %dst.addr, align 8 + %tobool5 = icmp ne i8* %10, null + br i1 %tobool5, label %if.end7, label %if.then6 + +if.then6: ; preds = %if.then4 + store i64 -1, i64* %len.addr, align 8 + br label %if.end7 + +if.end7: ; preds = %if.then6, %if.then4 + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay, i8** %dst.addr, align 8 + store i32 0, i32* %incr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end7, %lor.lhs.false + %11 = load i64, i64* %len.addr, align 8 + %12 = load i64, i64* %NWC.addr, align 8 + %cmp9 = icmp ugt i64 %11, %12 + br i1 %cmp9, label %if.then11, label %if.end12 + +if.then11: ; preds = %if.end8 + %13 = load i64, i64* %NWC.addr, align 8 + store i64 %13, i64* %len.addr, align 8 + br label %if.end12 + +if.end12: ; preds = %if.then11, %if.end8 + %14 = load i64, i64* %len.addr, align 8 + store i64 %14, i64* %count, align 8 + %15 = load i32**, i32*** %src.addr, align 8 + %16 = load i32*, i32** %15, align 8 + store i32* %16, i32** %s, align 8 + %17 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding13 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %17, i32 0, i32 9 + %18 = load i8, i8* %encoding13, align 8 + %conv14 = zext i8 %18 to i32 + %cmp15 = icmp eq i32 %conv14, 2 + br i1 %cmp15, label %while.cond, label %while.cond52 + +while.cond: ; preds = %if.end12, %if.end45 + %19 = load i64, i64* %count, align 8 + %tobool18 = icmp ne i64 %19, 0 + br i1 %tobool18, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %20 = load i32*, i32** %s, align 8 + %21 = load i32, i32* %20, align 4 + store i32 %21, i32* %wc, align 4 + %cmp19 = icmp ule i32 %21, 127 + br i1 %cmp19, label %if.then21, label %if.else + +if.then21: ; preds = %while.body + %22 = load i32, i32* %wc, align 4 + %conv22 = trunc i32 %22 to i8 + %23 = load i8*, i8** %dst.addr, align 8 + store i8 %conv22, i8* %23, align 1 + %tobool23 = icmp ne i8 %conv22, 0 + br i1 %tobool23, label %if.end45, label %if.then24 + +if.then24: ; preds = %if.then21 + store i32* null, i32** %s, align 8 + br label %while.end + +if.else: ; preds = %while.body + store i32 0, i32* %u, align 4 + %24 = load i32, i32* %wc, align 4 + %cmp26 = icmp ule i32 %24, 9727 + br i1 %cmp26, label %if.then28, label %if.end42 + +if.then28: ; preds = %if.else + %25 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %idx8wc2c = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %25, i32 0, i32 18 + %26 = load i8*, i8** %idx8wc2c, align 8 + %27 = load i32, i32* %wc, align 4 + %shr = lshr i32 %27, 8 + %idxprom = zext i32 %shr to i64 + %arrayidx = getelementptr inbounds i8, i8* %26, i64 %idxprom + %28 = load i8, i8* %arrayidx, align 1 + %conv29 = zext i8 %28 to i32 + store i32 %conv29, i32* %u, align 4 + %29 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %tbl8wc2c = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %29, i32 0, i32 19 + %30 = load i8*, i8** %tbl8wc2c, align 8 + %31 = load i32, i32* %u, align 4 + %shl = shl i32 %31, 4 + %32 = load i32, i32* %wc, align 4 + %shr30 = lshr i32 %32, 4 + %and = and i32 %shr30, 15 + %add = add i32 %shl, %and + %idxprom31 = zext i32 %add to i64 + %arrayidx32 = getelementptr inbounds i8, i8* %30, i64 %idxprom31 + %33 = load i8, i8* %arrayidx32, align 1 + %conv33 = zext i8 %33 to i32 + store i32 %conv33, i32* %u, align 4 + %34 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %tbl8wc2c34 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %34, i32 0, i32 19 + %35 = load i8*, i8** %tbl8wc2c34, align 8 + %36 = load i32, i32* %u, align 4 + %shl35 = shl i32 %36, 4 + %add36 = add i32 1072, %shl35 + %37 = load i32, i32* %wc, align 4 + %and37 = and i32 %37, 15 + %add38 = add i32 %add36, %and37 + %idxprom39 = zext i32 %add38 to i64 + %arrayidx40 = getelementptr inbounds i8, i8* %35, i64 %idxprom39 + %38 = load i8, i8* %arrayidx40, align 1 + %conv41 = zext i8 %38 to i32 + store i32 %conv41, i32* %u, align 4 + br label %if.end42 + +if.end42: ; preds = %if.then28, %if.else + %39 = load i32, i32* %u, align 4 + %tobool43 = icmp ne i32 %39, 0 + %40 = load i32, i32* %u, align 4 + %cond = select i1 %tobool43, i32 %40, i32 63 + %conv44 = trunc i32 %cond to i8 + %41 = load i8*, i8** %dst.addr, align 8 + store i8 %conv44, i8* %41, align 1 + br label %if.end45 + +if.end45: ; preds = %if.then21, %if.end42 + %42 = load i32*, i32** %s, align 8 + %incdec.ptr = getelementptr inbounds i32, i32* %42, i32 1 + store i32* %incdec.ptr, i32** %s, align 8 + %43 = load i32, i32* %incr, align 4 + %44 = load i8*, i8** %dst.addr, align 8 + %idx.ext = sext i32 %43 to i64 + %add.ptr = getelementptr inbounds i8, i8* %44, i64 %idx.ext + store i8* %add.ptr, i8** %dst.addr, align 8 + %45 = load i64, i64* %count, align 8 + %dec = add i64 %45, -1 + store i64 %dec, i64* %count, align 8 + br label %while.cond + +while.end: ; preds = %if.then24, %while.cond + %46 = load i8*, i8** %dst.addr, align 8 + %arraydecay46 = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + %cmp47 = icmp ne i8* %46, %arraydecay46 + br i1 %cmp47, label %if.then49, label %if.end50 + +if.then49: ; preds = %while.end + %47 = load i32*, i32** %s, align 8 + %48 = load i32**, i32*** %src.addr, align 8 + store i32* %47, i32** %48, align 8 + br label %if.end50 + +if.end50: ; preds = %if.then49, %while.end + %49 = load i64, i64* %len.addr, align 8 + %50 = load i64, i64* %count, align 8 + %sub = sub i64 %49, %50 + store i64 %sub, i64* %retval, align 8 + br label %return + +while.cond52: ; preds = %if.end12, %if.end64 + %51 = load i64, i64* %count, align 8 + %tobool53 = icmp ne i64 %51, 0 + br i1 %tobool53, label %while.body54, label %while.end69 + +while.body54: ; preds = %while.cond52 + %52 = load i32*, i32** %s, align 8 + %53 = load i32, i32* %52, align 4 + %cmp55 = icmp uge i32 %53, 128 + br i1 %cmp55, label %if.then57, label %if.end58 + +if.then57: ; preds = %while.body54 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end58: ; preds = %while.body54 + %54 = load i32*, i32** %s, align 8 + %55 = load i32, i32* %54, align 4 + %conv59 = trunc i32 %55 to i8 + %56 = load i8*, i8** %dst.addr, align 8 + store i8 %conv59, i8* %56, align 1 + %conv60 = sext i8 %conv59 to i32 + %cmp61 = icmp eq i32 %conv60, 0 + br i1 %cmp61, label %if.then63, label %if.end64 + +if.then63: ; preds = %if.end58 + store i32* null, i32** %s, align 8 + br label %while.end69 + +if.end64: ; preds = %if.end58 + %57 = load i32*, i32** %s, align 8 + %incdec.ptr65 = getelementptr inbounds i32, i32* %57, i32 1 + store i32* %incdec.ptr65, i32** %s, align 8 + %58 = load i32, i32* %incr, align 4 + %59 = load i8*, i8** %dst.addr, align 8 + %idx.ext66 = sext i32 %58 to i64 + %add.ptr67 = getelementptr inbounds i8, i8* %59, i64 %idx.ext66 + store i8* %add.ptr67, i8** %dst.addr, align 8 + %60 = load i64, i64* %count, align 8 + %dec68 = add i64 %60, -1 + store i64 %dec68, i64* %count, align 8 + br label %while.cond52 + +while.end69: ; preds = %if.then63, %while.cond52 + %61 = load i8*, i8** %dst.addr, align 8 + %arraydecay70 = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + %cmp71 = icmp ne i8* %61, %arraydecay70 + br i1 %cmp71, label %if.then73, label %if.end74 + +if.then73: ; preds = %while.end69 + %62 = load i32*, i32** %s, align 8 + %63 = load i32**, i32*** %src.addr, align 8 + store i32* %62, i32** %63, align 8 + br label %if.end74 + +if.end74: ; preds = %if.then73, %while.end69 + %64 = load i64, i64* %len.addr, align 8 + %65 = load i64, i64* %count, align 8 + %sub75 = sub i64 %64, %65 + store i64 %sub75, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end74, %if.then57, %if.end50, %if.then + %66 = load i64, i64* %retval, align 8 + ret i64 %66 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i64 @strspn(i8* nonnull %s1, i8* nonnull %s2) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %2 = load i8*, i8** %p, align 8 + %3 = load i8, i8* %2, align 1 + %tobool = icmp ne i8 %3, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %5 = load i8, i8* %4, align 1 + %conv = sext i8 %5 to i32 + %6 = load i8*, i8** %s, align 8 + %7 = load i8, i8* %6, align 1 + %conv1 = sext i8 %7 to i32 + %cmp = icmp eq i32 %conv, %conv1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + %8 = load i8*, i8** %s, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %8, i32 1 + store i8* %incdec.ptr3, i8** %s, align 8 + %9 = load i8*, i8** %s2.addr, align 8 + store i8* %9, i8** %p, align 8 + br label %if.end + +if.end: ; preds = %if.then, %while.body + br label %while.cond + +while.end: ; preds = %while.cond + %10 = load i8*, i8** %s, align 8 + %11 = load i8*, i8** %s1.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %10 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %11 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_wchar_wcsntoutf8s(i8* noalias %s, i64 %n, i32** noalias %src, i64 %wn) #0 { +entry: + %retval = alloca i64, align 8 + %s.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %src.addr = alloca i32**, align 8 + %wn.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + %len = alloca i64, align 8 + %t = alloca i64, align 8 + %wc = alloca i32, align 4 + %swc = alloca i32*, align 8 + %store = alloca i32, align 4 + %buf = alloca [16 x i8], align 16 + %m = alloca i8, align 1 + store i8* %s, i8** %s.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i32** %src, i32*** %src.addr, align 8 + store i64 %wn, i64* %wn.addr, align 8 + store i32 1, i32* %store, align 4 + %0 = load i8*, i8** %s.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %lor.lhs.false, label %if.then + +lor.lhs.false: ; preds = %entry + %1 = load i8*, i8** %s.addr, align 8 + %2 = load i32**, i32*** %src.addr, align 8 + %3 = bitcast i32** %2 to i8* + %cmp = icmp eq i8* %1, %3 + br i1 %cmp, label %if.then, label %if.end3 + +if.then: ; preds = %lor.lhs.false, %entry + %4 = load i8*, i8** %s.addr, align 8 + %tobool1 = icmp ne i8* %4, null + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + store i64 -1, i64* %n.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay, i8** %s.addr, align 8 + store i32 0, i32* %store, align 4 + br label %if.end3 + +if.end3: ; preds = %if.end, %lor.lhs.false + %5 = load i64, i64* %n.addr, align 8 + store i64 %5, i64* %t, align 8 + %6 = load i32**, i32*** %src.addr, align 8 + %7 = load i32*, i32** %6, align 8 + store i32* %7, i32** %swc, align 8 + br label %while.cond + +while.cond: ; preds = %if.end51, %if.end3 + %8 = load i64, i64* %wn.addr, align 8 + %tobool4 = icmp ne i64 %8, 0 + %9 = load i64, i64* %t, align 8 + %tobool5 = icmp ne i64 %9, 0 + %10 = select i1 %tobool4, i1 %tobool5, i1 false + br i1 %10, label %while.body, label %while.end52 + +while.body: ; preds = %while.cond + %11 = load i32*, i32** %swc, align 8 + %12 = load i32, i32* %11, align 4 + store i32 %12, i32* %wc, align 4 + %13 = load i32, i32* %wc, align 4 + %conv = trunc i32 %13 to i8 + %14 = load i8*, i8** %s.addr, align 8 + store i8 %conv, i8* %14, align 1 + store i64 1, i64* %len, align 8 + %15 = load i32, i32* %wc, align 4 + %cmp6 = icmp uge i32 %15, 128 + %16 = load i32, i32* %wc, align 4 + br i1 %cmp6, label %if.then8, label %if.else + +if.then8: ; preds = %while.body + %conv9 = zext i32 %16 to i64 + %cmp10 = icmp ugt i64 %conv9, 2147483647 + br i1 %cmp10, label %if.then19, label %lor.lhs.false12 + +lor.lhs.false12: ; preds = %if.then8 + %17 = load i32, i32* %wc, align 4 + %sub = sub i32 %17, 65534 + %cmp13 = icmp ult i32 %sub, 2 + br i1 %cmp13, label %if.then19, label %lor.lhs.false15 + +lor.lhs.false15: ; preds = %lor.lhs.false12 + %18 = load i32, i32* %wc, align 4 + %sub16 = sub i32 %18, 55296 + %cmp17 = icmp ult i32 %sub16, 2048 + br i1 %cmp17, label %if.then19, label %if.end20 + +if.then19: ; preds = %lor.lhs.false15, %lor.lhs.false12, %if.then8 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end20: ; preds = %lor.lhs.false15 + %19 = load i32, i32* %wc, align 4 + %shr = lshr i32 %19, 1 + store i32 %shr, i32* %wc, align 4 + %20 = load i8*, i8** %s.addr, align 8 + store i8* %20, i8** %p, align 8 + br label %do.body + +do.body: ; preds = %do.body, %if.end20 + %21 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %21, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %22 = load i32, i32* %wc, align 4 + %shr21 = lshr i32 %22, 5 + store i32 %shr21, i32* %wc, align 4 + %tobool22 = icmp ne i32 %shr21, 0 + br i1 %tobool22, label %do.body, label %do.end + +do.end: ; preds = %do.body + %23 = load i32*, i32** %swc, align 8 + %24 = load i32, i32* %23, align 4 + store i32 %24, i32* %wc, align 4 + %25 = load i8*, i8** %p, align 8 + %26 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %25 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %26 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %len, align 8 + %27 = load i64, i64* %t, align 8 + %cmp23 = icmp ugt i64 %sub.ptr.sub, %27 + br i1 %cmp23, label %while.end52, label %if.end26 + +if.end26: ; preds = %do.end + store i8 -128, i8* %m, align 1 + br label %while.cond27 + +while.cond27: ; preds = %while.body30, %if.end26 + %28 = load i8*, i8** %p, align 8 + %29 = load i8*, i8** %s.addr, align 8 + %cmp28 = icmp ugt i8* %28, %29 + %30 = load i8, i8* %m, align 1 + %conv31 = sext i8 %30 to i32 + br i1 %cmp28, label %while.body30, label %while.end + +while.body30: ; preds = %while.cond27 + %shr32 = ashr i32 %conv31, 1 + %or = or i32 %shr32, 128 + %conv33 = trunc i32 %or to i8 + store i8 %conv33, i8* %m, align 1 + %31 = load i32, i32* %wc, align 4 + %and = and i32 %31, 63 + %or34 = or i32 %and, 128 + %conv35 = trunc i32 %or34 to i8 + %32 = load i8*, i8** %p, align 8 + %incdec.ptr36 = getelementptr inbounds i8, i8* %32, i32 -1 + store i8* %incdec.ptr36, i8** %p, align 8 + store i8 %conv35, i8* %incdec.ptr36, align 1 + %33 = load i32, i32* %wc, align 4 + %shr37 = lshr i32 %33, 6 + store i32 %shr37, i32* %wc, align 4 + br label %while.cond27 + +while.end: ; preds = %while.cond27 + %shl = shl i32 %conv31, 1 + %34 = load i8*, i8** %s.addr, align 8 + %35 = load i8, i8* %34, align 1 + %conv39 = sext i8 %35 to i32 + %or40 = or i32 %conv39, %shl + %conv41 = trunc i32 %or40 to i8 + store i8 %conv41, i8* %34, align 1 + br label %if.end46 + +if.else: ; preds = %while.body + %cmp42 = icmp eq i32 %16, 0 + br i1 %cmp42, label %if.then44, label %if.end46 + +if.then44: ; preds = %if.else + store i32* null, i32** %swc, align 8 + br label %while.end52 + +if.end46: ; preds = %if.else, %while.end + %36 = load i32*, i32** %swc, align 8 + %incdec.ptr47 = getelementptr inbounds i32, i32* %36, i32 1 + store i32* %incdec.ptr47, i32** %swc, align 8 + %37 = load i64, i64* %wn.addr, align 8 + %dec = add i64 %37, -1 + store i64 %dec, i64* %wn.addr, align 8 + %38 = load i64, i64* %len, align 8 + %39 = load i64, i64* %t, align 8 + %sub48 = sub i64 %39, %38 + store i64 %sub48, i64* %t, align 8 + %40 = load i32, i32* %store, align 4 + %tobool49 = icmp ne i32 %40, 0 + br i1 %tobool49, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.end46 + %41 = load i64, i64* %len, align 8 + %42 = load i8*, i8** %s.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %42, i64 %41 + store i8* %add.ptr, i8** %s.addr, align 8 + br label %if.end51 + +if.end51: ; preds = %if.then50, %if.end46 + br label %while.cond + +while.end52: ; preds = %do.end, %if.then44, %while.cond + %43 = load i32, i32* %store, align 4 + %tobool53 = icmp ne i32 %43, 0 + br i1 %tobool53, label %if.then54, label %if.end55 + +if.then54: ; preds = %while.end52 + %44 = load i32*, i32** %swc, align 8 + %45 = load i32**, i32*** %src.addr, align 8 + store i32* %44, i32** %45, align 8 + br label %if.end55 + +if.end55: ; preds = %if.then54, %while.end52 + %46 = load i64, i64* %n.addr, align 8 + %47 = load i64, i64* %t, align 8 + %sub56 = sub i64 %46, %47 + store i64 %sub56, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end55, %if.then19 + %48 = load i64, i64* %retval, align 8 + ret i64 %48 +} + +attributes #0 = { noinline nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #1 = { noinline noreturn nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #2 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #3 = { noinline nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #4 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #5 = { "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #6 = { noinline noreturn nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #7 = { noreturn "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #8 = { argmemonly nounwind willreturn writeonly } +attributes #9 = { argmemonly nounwind willreturn } +attributes #10 = { noreturn nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #11 = { nounwind } +attributes #12 = { noinline nounwind readnone uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #13 = { noreturn "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #14 = { noinline nounwind readonly uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #15 = { noinline nounwind readonly uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #16 = { noinline nounwind returns_twice uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #17 = { "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #18 = { nobuiltin "no-builtins" } +attributes #19 = { nobuiltin nounwind "no-builtins" } +attributes #20 = { nobuiltin nounwind readonly "no-builtins" } +attributes #21 = { nobuiltin nounwind readnone "no-builtins" } +attributes #22 = { nobuiltin noreturn nounwind "no-builtins" } +attributes #23 = { nounwind readonly } +attributes #24 = { noreturn } +attributes #25 = { nounwind readnone } +attributes #26 = { noreturn nounwind } +attributes #27 = { nobuiltin noreturn "no-builtins" } + +!llvm.module.flags = !{!0, !1} +!llvm.ident = !{!2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2} + +!0 = !{i32 1, !"wchar_size", i32 4} +!1 = !{i32 7, !"PIC Level", i32 2} +!2 = !{!"clang version 11.1.0 (https://github.com/llvm/llvm-project.git 1fdec59bffc11ae37eb51a1b9869f0696bfd5312)"} diff --git a/benchmarks/coreutils/gensym_posix/link.ll b/benchmarks/coreutils/gensym_posix/link.ll new file mode 100644 index 000000000..d1e586772 --- /dev/null +++ b/benchmarks/coreutils/gensym_posix/link.ll @@ -0,0 +1,30597 @@ +; ModuleID = '__uClibc_main.os' +source_filename = "libc/misc/internals/__uClibc_main.c" +target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" +target triple = "x86_64-unknown-linux-gnu" + +module asm ".section .gnu.warning.siggetmask" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.__fpending" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.gets" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.tmpnam" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.mktemp" +module asm "\09.previous" + +%struct.__uclibc_locale_struct.201 = type { i16*, i16*, i16*, [384 x i16], [384 x i16], [384 x i16], [14 x i8], [6 x i16], [6 x i8], i8, i8, [10 x i8], i8*, i8*, i8*, i8*, i8*, i16*, i8*, i8*, i16*, i8*, i8*, i16*, i32, i32, i32, i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__collate_t.200 } +%struct.__collate_t.200 = type { i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16*, i16*, i16*, i16*, i16*, i16*, i16*, i16*, i16*, i16 } +%struct.__STDIO_FILE_STRUCT.568 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.568*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__mbstate_t.512 = type { i32, i32 } +%struct.quoting_options = type { i32, i32, [8 x i32], i8*, i8* } +%struct.infomap = type { i8*, i8* } +%struct.slotvec = type { i64, i8* } +%struct.option = type { i8*, i32, i32*, i32 } +%struct.exe_file_t = type { i32, i32, i64, %struct.exe_disk_file_t* } +%struct.exe_disk_file_t = type { i32, i8*, %struct.stat64* } +%struct.stat64 = type { i64, i64, i64, i32, i32, i32, i32, i64, i64, i64, i64, %struct.timespec, %struct.timespec, %struct.timespec, [3 x i64] } +%struct.timespec = type { i64, i64 } +%struct.exe_file_system_t = type { i32, %struct.exe_disk_file_t*, %struct.exe_disk_file_t*, i32, %struct.exe_disk_file_t*, i32, i32*, i32*, i32*, i32*, i32*, i32*, i32* } +%struct.__locale_mmap_t.203 = type { [420 x i8], [504 x i8], [1760 x i16], [4528 x i8], [3604 x i8], [1680 x i8], [196 x i16], [51 x i8], [28 x i8], [1646 x i8], [28353 x i8], [1804 x i8], [23 x %struct.__codeset_8_bit_t.202], [20 x i8], [10 x i16], [20 x i16], [45 x i8], [3 x i16], [15 x i16], [3894 x i8], [22 x i16], [407 x i16], [8250 x i8], [50 x i16], [3429 x i16], [372 x i8], [4 x i16], [200 x i16], [91141 x i16], [6 x i8], [24 x i64], [2826 x i8], [835 x i8], [18 x i8], [69 x i8], [255 x i8] } +%struct.__codeset_8_bit_t.202 = type { [16 x i8], [16 x i8], [16 x i8], [38 x i8] } +%struct.utmp.323 = type { i16, i32, [32 x i8], [4 x i8], [32 x i8], [256 x i8], %struct.exit_status, i64, %struct.timespec, [4 x i32], [20 x i8] } +%struct.exit_status = type { i16, i16 } +%struct._getopt_data = type { i32, i32, i32, i8*, i32, i8*, i32, i32, i32, i32 } +%struct.exit_function = type { i64, %union.anon.772 } +%union.anon.772 = type { %struct.anon.0.771 } +%struct.anon.0.771 = type { void (i8*)*, i8*, i8* } +%struct.dirent64 = type { i64, i64, i16, i8, [256 x i8] } +%struct.__STDIO_FILE_STRUCT.592 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.592*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.608 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.608*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.621 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.621*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.636 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.636*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.Elf64_auxv_t = type { i64, %union.anon.193 } +%union.anon.193 = type { i64 } +%struct.stat.192 = type { i64, i64, i64, i32, i32, i32, i32, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, [3 x i64] } +%struct.__STDIO_FILE_STRUCT.513 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.513*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.exe_sym_env_t = type { [32 x %struct.exe_file_t], i32, i32, i32 } +%struct.__va_list_tag.0 = type { i32, i32, i8*, i8* } +%struct.termios = type { i32, i32, i32, i32, i8, [32 x i8], i32, i32 } +%struct.winsize = type { i16, i16, i16, i16 } +%struct.flock = type { i16, i16, i64, i64, i32 } +%struct.statfs = type { i64, i64, i64, i64, i64, i64, i64, %struct.__fsid_t, i64, i64, i64, [4 x i64] } +%struct.__fsid_t = type { [2 x i32] } +%struct.fd_set = type { [16 x i64] } +%struct.coldata_header_t = type { i16, i16, i16, i16, i16, i16, i16, i16 } +%struct.coldata_base_t = type { i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16 } +%struct._IO_FILE = type { i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct._IO_marker*, %struct._IO_FILE*, i32, i32, i64, i16, i8, [1 x i8], i8*, i64, %struct._IO_codecvt*, %struct._IO_wide_data*, %struct._IO_FILE*, i8*, i64, i32, [20 x i8] } +%struct._IO_marker = type opaque +%struct._IO_codecvt = type opaque +%struct._IO_wide_data = type opaque +%struct.__mbstate_t = type { i32, %union.anon } +%union.anon = type { i32 } +%struct.sigaction.800 = type { %union.anon.799, %struct.fd_set, i32, void ()* } +%union.anon.799 = type { void (i32)* } +%struct.tms = type { i64, i64, i64, i64 } +%struct.utmpx = type opaque +%struct.utmp = type { i16, i32, [32 x i8], [4 x i8], [32 x i8], [256 x i8], %struct.exit_status, i32, %struct.__mbstate_t.512, [4 x i32], [20 x i8] } +%struct.rusage = type { %struct.timespec, %struct.timespec, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193 } +%struct.siginfo_t = type { i32, i32, i32, i32, %union.anon.0 } +%union.anon.0 = type { %struct.anon.3, [80 x i8] } +%struct.anon.3 = type { i32, i32, i32, i64, i64 } +%struct.kernel_sigaction = type { void (i32)*, i64, void ()*, %struct.fd_set } +%struct.__jmp_buf_tag = type { [8 x i64], i32, %struct.fd_set } +%struct.__STDIO_FILE_STRUCT.519 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.519*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__kernel_termios = type { i32, i32, i32, i32, i8, [19 x i8] } +%struct.ppfs_t.722 = type { i8*, %struct.printf_info.720, i32, i32, i32, [4 x i8], [9 x i32], [1 x %struct.__va_list_tag.0], [9 x %union.anon.193] } +%struct.printf_info.720 = type { i32, i32, i32, i32, i32 } +%struct.anon.779 = type { void (i32, i8*)*, i8* } + +@__libc_stack_end = global i8* null, align 8 +@.str = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@__uclibc_progname = hidden global i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i32 0, i32 0), align 8 +@program_invocation_short_name = global i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i32 0, i32 0), align 8 +@program_invocation_name = global i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i32 0, i32 0), align 8 +@__environ = global i8** null, align 8 +@__pagesize = global i64 0, align 8 +@__uClibc_init.been_there_done_that = internal global i32 0, align 4 +@__app_fini = hidden global void ()* null, align 8 +@__rtld_fini = hidden global void ()* null, align 8 +@.str.1 = private unnamed_addr constant [10 x i8] c"/dev/null\00", align 1 +@llvm.used = appending global [5 x i8*] [i8* getelementptr inbounds ([57 x i8], [57 x i8]* @__evoke_link_warning_siggetmask, i32 0, i32 0), i8* getelementptr inbounds ([167 x i8], [167 x i8]* @__evoke_link_warning___fpending, i32 0, i32 0), i8* getelementptr inbounds ([57 x i8], [57 x i8]* @__evoke_link_warning_gets, i32 0, i32 0), i8* getelementptr inbounds ([55 x i8], [55 x i8]* @__evoke_link_warning_tmpnam, i32 0, i32 0), i8* getelementptr inbounds ([55 x i8], [55 x i8]* @__evoke_link_warning_mktemp, i32 0, i32 0)], section "llvm.metadata" +@__evoke_link_warning_siggetmask = internal constant [57 x i8] c"warning: `siggetmask' is obsolete; `sigprocmask' is best\00", section ".gnu.warning.siggetmask\0A#APP\0A\09#", align 16 +@__evoke_link_warning___fpending = internal constant [167 x i8] c"This version of __fpending returns bytes remaining in buffer for both narrow and wide streams. glibc's version returns wide chars in buffer for the wide stream case.\00", section ".gnu.warning.__fpending\0A#APP\0A\09#", align 16 +@__evoke_link_warning_gets = internal constant [57 x i8] c"the 'gets' function is dangerous and should not be used.\00", section ".gnu.warning.gets\0A#APP\0A\09#", align 16 +@__evoke_link_warning_tmpnam = internal constant [55 x i8] c"the use of `tmpnam' is dangerous, better use `mkstemp'\00", section ".gnu.warning.tmpnam\0A#APP\0A\09#", align 16 +@tmpnam_buffer = internal global [20 x i8] zeroinitializer, align 16 +@__evoke_link_warning_mktemp = internal constant [55 x i8] c"the use of `mktemp' is dangerous, better use `mkstemp'\00", section ".gnu.warning.mktemp\0A#APP\0A\09#", align 16 +@.str.4 = private unnamed_addr constant [77 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/fd.c\00", align 1 +@.str.27 = private unnamed_addr constant [37 x i8] c"ERROR: concretizing symbolic pointer\00", align 1 +@.str.28 = private unnamed_addr constant [9 x i8] c"user.err\00", align 1 +@.str.25 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@getcwd.n_calls = internal global i32 0, align 4 +@.str.5 = private unnamed_addr constant [46 x i8] c"Undefined call to open(): O_TRUNC | O_RDONLY\0A\00", align 1 +@.str.1.6 = private unnamed_addr constant [47 x i8] c"Undefined call to open(): O_EXCL w/o O_RDONLY\0A\00", align 1 +@.str.2 = private unnamed_addr constant [44 x i8] c"symbolic file descriptor, ignoring (ENOENT)\00", align 1 +@close.n_calls = internal global i32 0, align 4 +@read.n_calls = internal global i32 0, align 4 +@.str.3 = private unnamed_addr constant [12 x i8] c"f->off >= 0\00", align 1 +@__PRETTY_FUNCTION__.read = private unnamed_addr constant [34 x i8] c"ssize_t read(int, void *, size_t)\00", align 1 +@write.n_calls = internal global i32 0, align 4 +@.str.5.7 = private unnamed_addr constant [7 x i8] c"r >= 0\00", align 1 +@__PRETTY_FUNCTION__.write = private unnamed_addr constant [41 x i8] c"ssize_t write(int, const void *, size_t)\00", align 1 +@.str.6 = private unnamed_addr constant [2 x i8] c"0\00", align 1 +@.str.7 = private unnamed_addr constant [24 x i8] c"write() ignores bytes.\0A\00", align 1 +@.str.8 = private unnamed_addr constant [18 x i8] c"new_off == f->off\00", align 1 +@__PRETTY_FUNCTION__.__fd_lseek = private unnamed_addr constant [38 x i8] c"off64_t __fd_lseek(int, off64_t, int)\00", align 1 +@.str.9 = private unnamed_addr constant [33 x i8] c"symbolic file, ignoring (ENOENT)\00", align 1 +@chmod.n_calls = internal global i32 0, align 4 +@fchmod.n_calls = internal global i32 0, align 4 +@.str.26 = private unnamed_addr constant [32 x i8] c"symbolic file, ignoring (EPERM)\00", align 1 +@__fd_ftruncate.n_calls = internal global i32 0, align 4 +@.str.10 = private unnamed_addr constant [30 x i8] c"symbolic file, ignoring (EIO)\00", align 1 +@.str.11 = private unnamed_addr constant [33 x i8] c"symbolic file, ignoring (EINVAL)\00", align 1 +@.str.12 = private unnamed_addr constant [18 x i8] c"s != (off64_t) -1\00", align 1 +@__PRETTY_FUNCTION__.__fd_getdents = private unnamed_addr constant [65 x i8] c"int __fd_getdents(unsigned int, struct dirent64 *, unsigned int)\00", align 1 +@.str.13 = private unnamed_addr constant [22 x i8] c"f->off != (off64_t)-1\00", align 1 +@.str.14 = private unnamed_addr constant [41 x i8] c"(TCGETS) symbolic file, incomplete model\00", align 1 +@.str.15 = private unnamed_addr constant [42 x i8] c"(TCSETS) symbolic file, silently ignoring\00", align 1 +@.str.16 = private unnamed_addr constant [43 x i8] c"(TCSETSW) symbolic file, silently ignoring\00", align 1 +@.str.17 = private unnamed_addr constant [43 x i8] c"(TCSETSF) symbolic file, silently ignoring\00", align 1 +@.str.18 = private unnamed_addr constant [45 x i8] c"(TIOCGWINSZ) symbolic file, incomplete model\00", align 1 +@.str.19 = private unnamed_addr constant [46 x i8] c"(TIOCSWINSZ) symbolic file, ignoring (EINVAL)\00", align 1 +@.str.20 = private unnamed_addr constant [43 x i8] c"(FIONREAD) symbolic file, incomplete model\00", align 1 +@.str.21 = private unnamed_addr constant [44 x i8] c"(MTIOCGET) symbolic file, ignoring (EINVAL)\00", align 1 +@.str.22 = private unnamed_addr constant [32 x i8] c"symbolic file, ignoring (EBADF)\00", align 1 +@.str.23 = private unnamed_addr constant [17 x i8] c"ignoring (EPERM)\00", align 1 +@.str.24 = private unnamed_addr constant [18 x i8] c"ignoring (ENOENT)\00", align 1 +@__const.klee_init_env.sym_arg_name = private unnamed_addr constant [6 x i8] c"arg\00\00\00", align 1 +@.str.29 = private unnamed_addr constant [7 x i8] c"--help\00", align 1 +@.str.1.30 = private unnamed_addr constant [964 x i8] c"klee_init_env\0A\0Ausage: (klee_init_env) [options] [program arguments]\0A -sym-arg - Replace by a symbolic argument with length N\0A -sym-args - Replace by at least MIN arguments and at most\0A MAX arguments, each with maximum length N\0A -sym-files - Make NUM symbolic files ('A', 'B', 'C', etc.),\0A each with size N\0A -sym-stdin - Make stdin symbolic with size N.\0A -sym-stdout - Make stdout symbolic.\0A -save-all-writes - Allow write operations to execute as expected\0A even if they exceed the file size. If set to 0, all\0A writes exceeding the initial file size are discarded.\0A Note: file offset is always incremented.\0A -max-fail - Allow up to N injected failures\0A -fd-fail - Shortcut for '-max-fail 1'\0A\0A\00", align 1 +@.str.2.31 = private unnamed_addr constant [10 x i8] c"--sym-arg\00", align 1 +@.str.3.32 = private unnamed_addr constant [9 x i8] c"-sym-arg\00", align 1 +@.str.4.33 = private unnamed_addr constant [48 x i8] c"--sym-arg expects an integer argument \00", align 1 +@.str.5.34 = private unnamed_addr constant [45 x i8] c"No more than 100 symbolic arguments allowed.\00", align 1 +@.str.6.35 = private unnamed_addr constant [11 x i8] c"--sym-args\00", align 1 +@.str.7.36 = private unnamed_addr constant [10 x i8] c"-sym-args\00", align 1 +@.str.8.37 = private unnamed_addr constant [77 x i8] c"--sym-args expects three integer arguments \00", align 1 +@.str.9.38 = private unnamed_addr constant [28 x i8] c"Invalid range to --sym-args\00", align 1 +@.str.10.39 = private unnamed_addr constant [7 x i8] c"n_args\00", align 1 +@.str.11.40 = private unnamed_addr constant [12 x i8] c"--sym-files\00", align 1 +@.str.12.41 = private unnamed_addr constant [11 x i8] c"-sym-files\00", align 1 +@.str.13.42 = private unnamed_addr constant [72 x i8] c"--sym-files expects two integer arguments \00", align 1 +@.str.14.43 = private unnamed_addr constant [39 x i8] c"Multiple --sym-files are not allowed.\0A\00", align 1 +@.str.15.44 = private unnamed_addr constant [65 x i8] c"The first argument to --sym-files (number of files) cannot be 0\0A\00", align 1 +@.str.16.45 = private unnamed_addr constant [60 x i8] c"The second argument to --sym-files (file size) cannot be 0\0A\00", align 1 +@.str.17.46 = private unnamed_addr constant [12 x i8] c"--sym-stdin\00", align 1 +@.str.18.47 = private unnamed_addr constant [11 x i8] c"-sym-stdin\00", align 1 +@.str.19.48 = private unnamed_addr constant [57 x i8] c"--sym-stdin expects one integer argument \00", align 1 +@.str.20.49 = private unnamed_addr constant [13 x i8] c"--sym-stdout\00", align 1 +@.str.21.50 = private unnamed_addr constant [12 x i8] c"-sym-stdout\00", align 1 +@.str.22.51 = private unnamed_addr constant [18 x i8] c"--save-all-writes\00", align 1 +@.str.23.52 = private unnamed_addr constant [17 x i8] c"-save-all-writes\00", align 1 +@.str.24.53 = private unnamed_addr constant [10 x i8] c"--fd-fail\00", align 1 +@.str.25.54 = private unnamed_addr constant [9 x i8] c"-fd-fail\00", align 1 +@.str.26.55 = private unnamed_addr constant [12 x i8] c"--bout-file\00", align 1 +@.str.27.56 = private unnamed_addr constant [11 x i8] c"-bout-file\00", align 1 +@.str.28.57 = private unnamed_addr constant [11 x i8] c"--max-fail\00", align 1 +@.str.29.58 = private unnamed_addr constant [10 x i8] c"-max-fail\00", align 1 +@.str.30 = private unnamed_addr constant [54 x i8] c"--max-fail expects an integer argument \00", align 1 +@.str.31 = private unnamed_addr constant [31 x i8] c"out of memory in klee_init_env\00", align 1 +@.str.35 = private unnamed_addr constant [37 x i8] c"too many arguments for klee_init_env\00", align 1 +@.str.32 = private unnamed_addr constant [88 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/klee_init_env.c\00", align 1 +@.str.33 = private unnamed_addr constant [9 x i8] c"user.err\00", align 1 +@.str.34 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.68 = private unnamed_addr constant [5 x i8] c"file\00", align 1 +@.str.1.69 = private unnamed_addr constant [5 x i8] c"/tmp\00", align 1 +@.str.2.70 = private unnamed_addr constant [16 x i8] c"%.*s/%.*sXXXXXX\00", align 1 +@.str.3.73 = private unnamed_addr constant [7 x i8] c"XXXXXX\00", align 1 +@letters = internal constant [63 x i8] c"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\00", align 16 +@brain_damaged_fillrand.value = internal global i64 0, align 8 +@.str.4.74 = private unnamed_addr constant [13 x i8] c"/dev/urandom\00", align 1 +@.str.5.75 = private unnamed_addr constant [12 x i8] c"/dev/random\00", align 1 +@__global_locale_data = global %struct.__uclibc_locale_struct.201 zeroinitializer, align 8 +@__global_locale = global %struct.__uclibc_locale_struct.201* @__global_locale_data, align 8 +@__curlocale_var = global %struct.__uclibc_locale_struct.201* @__global_locale_data, align 8 +@utf8 = internal constant [6 x i8] c"UTF-8\00", align 1 +@ascii = internal constant [6 x i8] c"ASCII\00", align 1 +@__code2flag = internal constant [16 x i16] [i16 0, i16 -15352, i16 -14840, i16 -14584, i16 -15096, i16 -14328, i16 -16380, i16 -16384, i16 24576, i16 24577, i16 8192, i16 8193, i16 8194, i16 8195, i16 2, i16 0], align 16 +@.str.76 = private unnamed_addr constant [14 x i8] c"#\80\80\80\80\80\80\80\80\80\80\80\80\00", align 1 +@stdin = global %struct.__STDIO_FILE_STRUCT.568* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i32 0, i32 0), align 8 +@_stdio_streams = internal global [3 x %struct.__STDIO_FILE_STRUCT.568] [%struct.__STDIO_FILE_STRUCT.568 { i16 544, [2 x i8] zeroinitializer, i32 0, i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 88) to %struct.__STDIO_FILE_STRUCT.568*), [2 x i32] zeroinitializer, %struct.__mbstate_t.512 zeroinitializer, i8* null }, %struct.__STDIO_FILE_STRUCT.568 { i16 528, [2 x i8] zeroinitializer, i32 1, i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 176) to %struct.__STDIO_FILE_STRUCT.568*), [2 x i32] zeroinitializer, %struct.__mbstate_t.512 zeroinitializer, i8* null }, %struct.__STDIO_FILE_STRUCT.568 { i16 528, [2 x i8] zeroinitializer, i32 2, i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, %struct.__STDIO_FILE_STRUCT.568* null, [2 x i32] zeroinitializer, %struct.__mbstate_t.512 zeroinitializer, i8* null }], align 16 +@stdout = global %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 88) to %struct.__STDIO_FILE_STRUCT.568*), align 8 +@stderr = global %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 176) to %struct.__STDIO_FILE_STRUCT.568*), align 8 +@__stdin = global %struct.__STDIO_FILE_STRUCT.568* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i32 0, i32 0), align 8 +@__stdout = global %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 88) to %struct.__STDIO_FILE_STRUCT.568*), align 8 +@_stdio_openlist = global %struct.__STDIO_FILE_STRUCT.568* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i32 0, i32 0), align 8 +@been_there_done_that = internal global i32 0, align 4 +@__exit_cleanup = hidden global void (i32)* null, align 8 +@Version = dso_local global i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.29.95, i32 0, i32 0), align 8 +@.str.29.95 = private unnamed_addr constant [5 x i8] c"8.32\00", align 1 +@exit_failure = dso_local global i32 1, align 4 +@program_name = dso_local global i8* null, align 8 +@quoting_style_args = dso_local constant [11 x i8*] [i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.50, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1.51, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2.52, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.3.53, i32 0, i32 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.4.54, i32 0, i32 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.5.55, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.6.56, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.7.57, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.8.58, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.9.59, i32 0, i32 0), i8* null], align 16 +@.str.50 = private unnamed_addr constant [8 x i8] c"literal\00", align 1 +@.str.1.51 = private unnamed_addr constant [6 x i8] c"shell\00", align 1 +@.str.2.52 = private unnamed_addr constant [13 x i8] c"shell-always\00", align 1 +@.str.3.53 = private unnamed_addr constant [13 x i8] c"shell-escape\00", align 1 +@.str.4.54 = private unnamed_addr constant [20 x i8] c"shell-escape-always\00", align 1 +@.str.5.55 = private unnamed_addr constant [2 x i8] c"c\00", align 1 +@.str.6.56 = private unnamed_addr constant [8 x i8] c"c-maybe\00", align 1 +@.str.7.57 = private unnamed_addr constant [7 x i8] c"escape\00", align 1 +@.str.8.58 = private unnamed_addr constant [7 x i8] c"locale\00", align 1 +@.str.9.59 = private unnamed_addr constant [8 x i8] c"clocale\00", align 1 +@quoting_style_vals = dso_local constant [10 x i32] [i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9], align 16 +@quote_quoting_options = dso_local global %struct.quoting_options { i32 8, i32 0, [8 x i32] zeroinitializer, i8* null, i8* null }, align 8 +@version_etc_copyright = dso_local constant [47 x i8] c"Copyright %s %d Free Software Foundation, Inc.\00", align 16 +@.str.96 = private unnamed_addr constant [39 x i8] c"Try '%s --help' for more information.\0A\00", align 1 +@.str.1.97 = private unnamed_addr constant [40 x i8] c"Usage: %s FILE1 FILE2\0A or: %s OPTION\0A\00", align 1 +@.str.2.98 = private unnamed_addr constant [76 x i8] c"Call the link function to create a link named FILE2 to an existing FILE1.\0A\0A\00", align 1 +@.str.3.99 = private unnamed_addr constant [45 x i8] c" --help display this help and exit\0A\00", align 1 +@.str.4.100 = private unnamed_addr constant [54 x i8] c" --version output version information and exit\0A\00", align 1 +@.str.5.101 = private unnamed_addr constant [5 x i8] c"link\00", align 1 +@__const.emit_ancillary_info.infomap = private unnamed_addr constant [7 x %struct.infomap] [%struct.infomap { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.13.111, i32 0, i32 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.14.112, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.15.113, i32 0, i32 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.16.114, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.17.115, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.18.116, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.19.117, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.18.116, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.20.118, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.18.116, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.21.119, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.18.116, i32 0, i32 0) }, %struct.infomap zeroinitializer], align 16 +@.str.22.102 = private unnamed_addr constant [23 x i8] c"\0A%s online help: <%s>\0A\00", align 1 +@.str.7.103 = private unnamed_addr constant [14 x i8] c"GNU coreutils\00", align 1 +@.str.23.104 = private unnamed_addr constant [40 x i8] c"https://www.gnu.org/software/coreutils/\00", align 1 +@.str.24.105 = private unnamed_addr constant [4 x i8] c"en_\00", align 1 +@.str.25.106 = private unnamed_addr constant [71 x i8] c"Report any translation bugs to \0A\00", align 1 +@.str.26.107 = private unnamed_addr constant [27 x i8] c"Full documentation <%s%s>\0A\00", align 1 +@.str.28.108 = private unnamed_addr constant [12 x i8] c" invocation\00", align 1 +@.str.6.109 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@.str.27.110 = private unnamed_addr constant [51 x i8] c"or available locally via: info '(coreutils) %s%s'\0A\00", align 1 +@.str.13.111 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@.str.14.112 = private unnamed_addr constant [16 x i8] c"test invocation\00", align 1 +@.str.15.113 = private unnamed_addr constant [10 x i8] c"coreutils\00", align 1 +@.str.16.114 = private unnamed_addr constant [22 x i8] c"Multi-call invocation\00", align 1 +@.str.17.115 = private unnamed_addr constant [10 x i8] c"sha224sum\00", align 1 +@.str.18.116 = private unnamed_addr constant [15 x i8] c"sha2 utilities\00", align 1 +@.str.19.117 = private unnamed_addr constant [10 x i8] c"sha256sum\00", align 1 +@.str.20.118 = private unnamed_addr constant [10 x i8] c"sha384sum\00", align 1 +@.str.21.119 = private unnamed_addr constant [10 x i8] c"sha512sum\00", align 1 +@.str.8.122 = private unnamed_addr constant [14 x i8] c"Michael Stone\00", align 1 +@.str.9.123 = private unnamed_addr constant [16 x i8] c"missing operand\00", align 1 +@.str.10.124 = private unnamed_addr constant [25 x i8] c"missing operand after %s\00", align 1 +@.str.11.125 = private unnamed_addr constant [17 x i8] c"extra operand %s\00", align 1 +@.str.12.126 = private unnamed_addr constant [28 x i8] c"cannot create link %s to %s\00", align 1 +@slotvec = internal global %struct.slotvec* @slotvec0, align 8 +@nslots = internal global i32 1, align 4 +@slotvec0 = internal global %struct.slotvec { i64 256, i8* getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i32 0, i32 0) }, align 8 +@slot0 = internal global [256 x i8] zeroinitializer, align 16 +@.str.10.60 = private unnamed_addr constant [2 x i8] c"\22\00", align 1 +@.str.11.61 = private unnamed_addr constant [2 x i8] c"`\00", align 1 +@.str.12.62 = private unnamed_addr constant [2 x i8] c"'\00", align 1 +@.str.120 = private unnamed_addr constant [2 x i8] c"C\00", align 1 +@.str.1.121 = private unnamed_addr constant [6 x i8] c"POSIX\00", align 1 +@.str.13.63 = private unnamed_addr constant [6 x i8] c"UTF-8\00", align 1 +@.str.14.64 = private unnamed_addr constant [4 x i8] c"\E2\80\98\00", align 1 +@.str.15.65 = private unnamed_addr constant [4 x i8] c"\E2\80\99\00", align 1 +@.str.16.66 = private unnamed_addr constant [8 x i8] c"GB18030\00", align 1 +@.str.17.67 = private unnamed_addr constant [4 x i8] c"\A1\07e\00", align 1 +@.str.18.68 = private unnamed_addr constant [3 x i8] c"\A1\AF\00", align 1 +@.str.124 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@.str.1.125 = private unnamed_addr constant [6 x i8] c"ASCII\00", align 1 +@.str.110 = private unnamed_addr constant [3 x i8] c"%s\00", align 1 +@.str.1.111 = private unnamed_addr constant [17 x i8] c"memory exhausted\00", align 1 +@.str.1.42 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@.str.37 = private unnamed_addr constant [2 x i8] c"+\00", align 1 +@long_options = internal constant [3 x %struct.option] [%struct.option { i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.2.38, i32 0, i32 0), i32 0, i32* null, i32 104 }, %struct.option { i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.3.39, i32 0, i32 0), i32 0, i32* null, i32 118 }, %struct.option zeroinitializer], align 16 +@.str.75 = private unnamed_addr constant [12 x i8] c"%s (%s) %s\0A\00", align 1 +@.str.1.76 = private unnamed_addr constant [7 x i8] c"%s %s\0A\00", align 1 +@.str.2.77 = private unnamed_addr constant [4 x i8] c"(C)\00", align 1 +@.str.3.78 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.4.79 = private unnamed_addr constant [171 x i8] c"License GPLv3+: GNU GPL version 3 or later <%s>.\0AThis is free software: you are free to change and redistribute it.\0AThere is NO WARRANTY, to the extent permitted by law.\0A\00", align 1 +@.str.5.80 = private unnamed_addr constant [34 x i8] c"https://gnu.org/licenses/gpl.html\00", align 1 +@.str.6.81 = private unnamed_addr constant [16 x i8] c"Written by %s.\0A\00", align 1 +@.str.7.82 = private unnamed_addr constant [23 x i8] c"Written by %s and %s.\0A\00", align 1 +@.str.8.83 = private unnamed_addr constant [28 x i8] c"Written by %s, %s, and %s.\0A\00", align 1 +@.str.9.84 = private unnamed_addr constant [32 x i8] c"Written by %s, %s, %s,\0Aand %s.\0A\00", align 1 +@.str.10.85 = private unnamed_addr constant [36 x i8] c"Written by %s, %s, %s,\0A%s, and %s.\0A\00", align 1 +@.str.11.86 = private unnamed_addr constant [40 x i8] c"Written by %s, %s, %s,\0A%s, %s, and %s.\0A\00", align 1 +@.str.12.87 = private unnamed_addr constant [44 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, and %s.\0A\00", align 1 +@.str.13.88 = private unnamed_addr constant [48 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, %s,\0Aand %s.\0A\00", align 1 +@.str.14.89 = private unnamed_addr constant [52 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, %s,\0A%s, and %s.\0A\00", align 1 +@.str.15.90 = private unnamed_addr constant [60 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, %s,\0A%s, %s, and others.\0A\00", align 1 +@.str.2.38 = private unnamed_addr constant [5 x i8] c"help\00", align 1 +@.str.3.39 = private unnamed_addr constant [8 x i8] c"version\00", align 1 +@ignore_EPIPE = internal global i8 0, align 1 +@.str.32.127 = private unnamed_addr constant [12 x i8] c"write error\00", align 1 +@file_name = internal global i8* null, align 8 +@.str.1.33 = private unnamed_addr constant [7 x i8] c"%s: %s\00", align 1 +@.str.2.34 = private unnamed_addr constant [3 x i8] c"%s\00", align 1 +@default_quoting_options = internal global %struct.quoting_options zeroinitializer, align 8 +@.str.47 = private unnamed_addr constant [56 x i8] c"A NULL argv[0] was passed through an exec system call.\0A\00", align 1 +@.str.1.48 = private unnamed_addr constant [8 x i8] c"/.libs/\00", align 1 +@.str.2.49 = private unnamed_addr constant [4 x i8] c"lt-\00", align 1 +@.str.16.93 = private unnamed_addr constant [20 x i8] c"Report bugs to: %s\0A\00", align 1 +@.str.17.94 = private unnamed_addr constant [22 x i8] c"bug-coreutils@gnu.org\00", align 1 +@.str.18.95 = private unnamed_addr constant [20 x i8] c"%s home page: <%s>\0A\00", align 1 +@.str.19.96 = private unnamed_addr constant [14 x i8] c"GNU coreutils\00", align 1 +@.str.20.97 = private unnamed_addr constant [40 x i8] c"https://www.gnu.org/software/coreutils/\00", align 1 +@.str.21.98 = private unnamed_addr constant [39 x i8] c"General help using GNU software: <%s>\0A\00", align 1 +@.str.22.99 = private unnamed_addr constant [29 x i8] c"https://www.gnu.org/gethelp/\00", align 1 +@__exe_env = dso_local global { <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] } { <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }> <{ %struct.exe_file_t { i32 0, i32 5, i64 0, %struct.exe_disk_file_t* null }, %struct.exe_file_t { i32 1, i32 9, i64 0, %struct.exe_disk_file_t* null }, %struct.exe_file_t { i32 2, i32 9, i64 0, %struct.exe_disk_file_t* null }, [29 x %struct.exe_file_t] zeroinitializer }>, i32 18, i32 0, i32 0, [4 x i8] undef }, align 8 +@__exe_fs = dso_local global %struct.exe_file_system_t zeroinitializer, align 8 +@__const.klee_init_fds.name = private unnamed_addr constant [7 x i8] c"?-data\00", align 1 +@.str.134 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@.str.1.135 = private unnamed_addr constant [82 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/fd_init.c\00", align 1 +@.str.2.136 = private unnamed_addr constant [31 x i8] c"out of memory in klee_init_env\00", align 1 +@.str.3.137 = private unnamed_addr constant [9 x i8] c"user.err\00", align 1 +@.str.4.139 = private unnamed_addr constant [6 x i8] c"stdin\00", align 1 +@.str.5.140 = private unnamed_addr constant [10 x i8] c"read_fail\00", align 1 +@.str.6.141 = private unnamed_addr constant [11 x i8] c"write_fail\00", align 1 +@.str.7.142 = private unnamed_addr constant [11 x i8] c"close_fail\00", align 1 +@.str.8.143 = private unnamed_addr constant [15 x i8] c"ftruncate_fail\00", align 1 +@.str.9.144 = private unnamed_addr constant [12 x i8] c"getcwd_fail\00", align 1 +@.str.10.145 = private unnamed_addr constant [7 x i8] c"stdout\00", align 1 +@.str.11.146 = private unnamed_addr constant [14 x i8] c"model_version\00", align 1 +@.str.13.147 = private unnamed_addr constant [6 x i8] c"-stat\00", align 1 +@.str.14.148 = private unnamed_addr constant [5 x i8] c"size\00", align 1 +@__PRETTY_FUNCTION__.__create_new_dfile = private unnamed_addr constant [88 x i8] c"void __create_new_dfile(exe_disk_file_t *, unsigned int, const char *, struct stat64 *)\00", align 1 +@.str.12.149 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.150 = private unnamed_addr constant [18 x i8] c"silently ignoring\00", align 1 +@.str.1.155 = private unnamed_addr constant [24 x i8] c"ignoring (EAFNOSUPPORT)\00", align 1 +@.str.11.157 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.2.160 = private unnamed_addr constant [15 x i8] c"ignoring (EIO)\00", align 1 +@.str.3.161 = private unnamed_addr constant [18 x i8] c"ignoring (ENFILE)\00", align 1 +@.str.4.164 = private unnamed_addr constant [17 x i8] c"ignoring (EPERM)\00", align 1 +@.str.5.165 = private unnamed_addr constant [13 x i8] c"returning 0\0A\00", align 1 +@.str.6.166 = private unnamed_addr constant [40 x i8] c"setting all times to 0 and returning 0\0A\00", align 1 +@.str.7.167 = private unnamed_addr constant [17 x i8] c"ignoring (EBADF)\00", align 1 +@.str.8.170 = private unnamed_addr constant [21 x i8] c"ignoring (-1 result)\00", align 1 +@.str.9.171 = private unnamed_addr constant [18 x i8] c"ignoring (ECHILD)\00", align 1 +@.str.10.172 = private unnamed_addr constant [32 x i8] c"silently ignoring (returning 0)\00", align 1 +@__locale_mmap = global %struct.__locale_mmap_t.203* @locale_mmap, align 8 +@locale_mmap = internal constant %struct.__locale_mmap_t.203 { [420 x i8] c"\EE\EE\EE\EE\06afffffff$$$$$$$$$$\06\00\00\00\00D&fffdDDbfff`b\22\22FBFfddfFf$\22fbbB\22DDDD\22\22\22\22\06&fff`\00\00`fffff&ff`ffff\11a\06\00\00\00\11\11\11\11\11\01`\06\EE&fffd\E4\EEnffffb\E2Nfaff\11\11\11\22\22\22\22bDDDdDDD$FDDdDDdD&\22\22b\22\22b\22\22\22\22\12bbf&Fb$dd$dF$$$F\22BB\22fffdbaffff$fba$dFBfdbddBf$df\22b$$FFFdFDdD&&&b&\22b\22Ff\06dFDd@&f&b&\22b D\04DD@DDd\22\02\22\22 \22\22bFAFdFDdd&\22B\22FDDD&\22\22\22\06\00\06\00\00\00f\00\00`\00`\10\11\11\11\11\01\00\00\11afff\06\00\00ff\00ff`f`DddDADDDD@DDDD\22\22!\22\22\22\22\22\22\02\06ffffff\06\00\00\00`f&fffFff\22Fff`b$\04dfff``\00\00 $&f\00`f\06fF@f``\00`f&b\22fFdDffFf\11\11\11a\11\01\00`\11\11\11\16\11f\00\00", [504 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00{}\00\00\00{\00\7F\7F\00\00\00\00\00\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\00\00\F0\FE\00\FE\00\00\00\00\00\00\F0\00\F0\F0\F0\F0\F0\00\00\00\00\00\00\00\00\FF\FF\E7\00\F1\00\00\F0\00\F0\00\00\00\00\F0\00\00\FF\FF\F1\00\00\00\F0\00\F0\00\E7\FF\FF\F0\E0\E0\E0\E0\E0\E0\E0\E0\00\00\F0\00\F0\00\00\00\00\00\F0\00\F0\00\00\A0\00\00\00\00\00\00\00\A0\E0\E0\E0\E0\E0\E0\E0\00\00\F0\F0\F0\F0\F0\F0\00\F0\F0\F0\F0\F0\00\F0\F0\00\FF\FF\00\FF\FF\FB\00\F0\00\F0\FB\F0\00\00\B0\FF\FF\FF\FF\FF\FF\00\FE\F0\FE\F0\FC\F0\FF\FF\FC\E0\E0\E0\E0\E0\E0\E0\B0\00\00\00\00\00\00\FE\00\FE\00\00\00\00\00\00\00\00\00\00\00\FC\00\00\00\FC\00\00\00\FF\FF\BF\00\E0\E0\E0\E0\E0\E0\E0\BF\00\FF\FF\F0\00\00\FE\00\FE\00\F0\00\FE\00\FE\F0\00\00\F9\F0\FC\00\00\00\FC\F9\F0\00\FF\FF\BF\F0\00\F0\00\F0\00\F0\F0\00\00\F0\F0\F0\F0\00\F0\F0\00\F0\00\00\00\00\F0\00\00@\F0\F0\F0\00\00\F0\00\90\F0\F0\F0\00\00\F0\E0\E0\E0\00\E0\E0\E0\E0\00\E0\E0\E0\E0\E0\E0\00\00\F0\F0\F0\F0\00\F0\00\00\F0\F0\F0\F0\FE\F0\FE\00\B0\B0\B0\B0\B0\B0\B0\B0\B0\B0\B0\B0\00\B0\B0\00\00\00\00\00\00\DA\00\DB\DB\DB\00\C0\00\C1\C1\00\E0\E0\E0\E0\E0\E0\E0\E0\E0\00\E0\E0\E0\E0\E0\E0\E0\E0\E0\DA\DB\DB\DB\E0\E0\E1\E0\E0\E0\E0\E0\E0\E0\E0\E0\C0\C1\C1\00\E0\E0\E0\E0\E0t\E0\00\E0\E0\E0\E0\E0L\E0\00\00\00\00\10\00\00\00\00 \10\02\00\02\00\00\00\00\00\00\02\00\02\01\01\00\10\00\00\00\00\00\00\00\00\01\01\10\00\10\00\00\00\00\00\10\00\10\00\00\00\00\00\10\10\00\10\10\00\00\00\00\00\10\00\00", [1760 x i16] [i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 0, i16 1415, i16 1417, i16 41, i16 40, i16 187, i16 171, i16 8212, i16 46, i16 1373, i16 44, i16 45, i16 1418, i16 8230, i16 1372, i16 1371, i16 1374, i16 1329, i16 1377, i16 1330, i16 1378, i16 1331, i16 1379, i16 1332, i16 1380, i16 1333, i16 1381, i16 1334, i16 1382, i16 1335, i16 1383, i16 1336, i16 1384, i16 1337, i16 1385, i16 1338, i16 1386, i16 1339, i16 1387, i16 1340, i16 1388, i16 1341, i16 1389, i16 1342, i16 1390, i16 1343, i16 1391, i16 1344, i16 1392, i16 1345, i16 1393, i16 1346, i16 1394, i16 1347, i16 1395, i16 1348, i16 1396, i16 1349, i16 1397, i16 1350, i16 1398, i16 1351, i16 1399, i16 1352, i16 1400, i16 1353, i16 1401, i16 1354, i16 1402, i16 1355, i16 1403, i16 1356, i16 1404, i16 1357, i16 1405, i16 1358, i16 1406, i16 1359, i16 1407, i16 1360, i16 1408, i16 1361, i16 1409, i16 1362, i16 1410, i16 1363, i16 1411, i16 1364, i16 1412, i16 1365, i16 1413, i16 1366, i16 1414, i16 1370, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1026, i16 1027, i16 8218, i16 1107, i16 8222, i16 8230, i16 8224, i16 8225, i16 8364, i16 8240, i16 1033, i16 8249, i16 1034, i16 1036, i16 1035, i16 1039, i16 1106, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 0, i16 8482, i16 1113, i16 8250, i16 1114, i16 1116, i16 1115, i16 1119, i16 160, i16 1038, i16 1118, i16 1032, i16 164, i16 1168, i16 166, i16 167, i16 1025, i16 169, i16 1028, i16 171, i16 172, i16 173, i16 174, i16 1031, i16 176, i16 177, i16 1030, i16 1110, i16 1169, i16 181, i16 182, i16 183, i16 1105, i16 8470, i16 1108, i16 187, i16 1112, i16 1029, i16 1109, i16 1111, i16 1040, i16 1041, i16 1042, i16 1043, i16 1044, i16 1045, i16 1046, i16 1047, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 1058, i16 1059, i16 1060, i16 1061, i16 1062, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1070, i16 1071, i16 1072, i16 1073, i16 1074, i16 1075, i16 1076, i16 1077, i16 1078, i16 1079, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1088, i16 1089, i16 1090, i16 1091, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1099, i16 1100, i16 1101, i16 1102, i16 1103, i16 8364, i16 0, i16 8218, i16 402, i16 8222, i16 8230, i16 8224, i16 8225, i16 710, i16 8240, i16 0, i16 8249, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 732, i16 8482, i16 0, i16 8250, i16 0, i16 0, i16 0, i16 0, i16 160, i16 161, i16 162, i16 163, i16 8362, i16 165, i16 166, i16 167, i16 168, i16 169, i16 215, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 247, i16 187, i16 188, i16 189, i16 190, i16 191, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 0, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 0, i16 0, i16 8206, i16 8207, i16 0, i16 128, i16 129, i16 8218, i16 402, i16 8222, i16 8230, i16 8224, i16 8225, i16 710, i16 8240, i16 352, i16 8249, i16 338, i16 141, i16 142, i16 143, i16 144, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 732, i16 8482, i16 353, i16 8250, i16 339, i16 157, i16 158, i16 376, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 4304, i16 4305, i16 4306, i16 4307, i16 4308, i16 4309, i16 4310, i16 4337, i16 4311, i16 4312, i16 4313, i16 4314, i16 4315, i16 4316, i16 4338, i16 4317, i16 4318, i16 4319, i16 4320, i16 4321, i16 4322, i16 4339, i16 4323, i16 4324, i16 4325, i16 4326, i16 4327, i16 4328, i16 4329, i16 4330, i16 4331, i16 4332, i16 4333, i16 4334, i16 4340, i16 4335, i16 4336, i16 4341, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 160, i16 260, i16 274, i16 290, i16 298, i16 296, i16 310, i16 167, i16 315, i16 272, i16 352, i16 358, i16 381, i16 173, i16 362, i16 330, i16 176, i16 261, i16 275, i16 291, i16 299, i16 297, i16 311, i16 183, i16 316, i16 273, i16 353, i16 359, i16 382, i16 8213, i16 363, i16 331, i16 256, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 302, i16 268, i16 201, i16 280, i16 203, i16 278, i16 205, i16 206, i16 207, i16 208, i16 325, i16 332, i16 211, i16 212, i16 213, i16 214, i16 360, i16 216, i16 370, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 257, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 303, i16 269, i16 233, i16 281, i16 235, i16 279, i16 237, i16 238, i16 239, i16 240, i16 326, i16 333, i16 243, i16 244, i16 245, i16 246, i16 361, i16 248, i16 371, i16 250, i16 251, i16 252, i16 253, i16 254, i16 312, i16 160, i16 8221, i16 162, i16 163, i16 164, i16 8222, i16 166, i16 167, i16 216, i16 169, i16 342, i16 171, i16 172, i16 173, i16 174, i16 198, i16 176, i16 177, i16 178, i16 179, i16 8220, i16 181, i16 182, i16 183, i16 248, i16 185, i16 343, i16 187, i16 188, i16 189, i16 190, i16 230, i16 260, i16 302, i16 256, i16 262, i16 196, i16 197, i16 280, i16 274, i16 268, i16 201, i16 377, i16 278, i16 290, i16 310, i16 298, i16 315, i16 352, i16 323, i16 325, i16 211, i16 332, i16 213, i16 214, i16 215, i16 370, i16 321, i16 346, i16 362, i16 220, i16 379, i16 381, i16 223, i16 261, i16 303, i16 257, i16 263, i16 228, i16 229, i16 281, i16 275, i16 269, i16 233, i16 378, i16 279, i16 291, i16 311, i16 299, i16 316, i16 353, i16 324, i16 326, i16 243, i16 333, i16 245, i16 246, i16 247, i16 371, i16 322, i16 347, i16 363, i16 252, i16 380, i16 382, i16 8217, i16 160, i16 7682, i16 7683, i16 163, i16 266, i16 267, i16 7690, i16 167, i16 7808, i16 169, i16 7810, i16 7691, i16 7922, i16 173, i16 174, i16 376, i16 7710, i16 7711, i16 288, i16 289, i16 7744, i16 7745, i16 182, i16 7766, i16 7809, i16 7767, i16 7811, i16 7776, i16 7923, i16 7812, i16 7813, i16 7777, i16 372, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 7786, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 374, i16 223, i16 373, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 7787, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 375, i16 255, i16 160, i16 161, i16 162, i16 163, i16 8364, i16 165, i16 352, i16 167, i16 353, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 381, i16 181, i16 182, i16 183, i16 382, i16 185, i16 186, i16 187, i16 338, i16 339, i16 376, i16 191, i16 160, i16 260, i16 261, i16 321, i16 8364, i16 171, i16 352, i16 167, i16 353, i16 169, i16 536, i16 8222, i16 377, i16 173, i16 378, i16 379, i16 176, i16 177, i16 268, i16 322, i16 381, i16 8221, i16 182, i16 183, i16 382, i16 269, i16 537, i16 187, i16 338, i16 339, i16 376, i16 380, i16 192, i16 193, i16 194, i16 258, i16 196, i16 262, i16 198, i16 199, i16 272, i16 323, i16 210, i16 211, i16 212, i16 336, i16 214, i16 346, i16 368, i16 217, i16 218, i16 219, i16 220, i16 280, i16 538, i16 223, i16 224, i16 225, i16 226, i16 259, i16 228, i16 263, i16 230, i16 231, i16 273, i16 324, i16 242, i16 243, i16 244, i16 337, i16 246, i16 347, i16 369, i16 249, i16 250, i16 251, i16 252, i16 281, i16 539, i16 255, i16 160, i16 260, i16 728, i16 321, i16 164, i16 317, i16 346, i16 167, i16 168, i16 352, i16 350, i16 356, i16 377, i16 173, i16 381, i16 379, i16 176, i16 261, i16 731, i16 322, i16 180, i16 318, i16 347, i16 711, i16 184, i16 353, i16 351, i16 357, i16 378, i16 733, i16 382, i16 380, i16 340, i16 193, i16 194, i16 258, i16 196, i16 313, i16 262, i16 199, i16 268, i16 201, i16 280, i16 203, i16 282, i16 205, i16 206, i16 270, i16 272, i16 323, i16 327, i16 211, i16 212, i16 336, i16 214, i16 215, i16 344, i16 366, i16 218, i16 368, i16 220, i16 221, i16 354, i16 223, i16 341, i16 225, i16 226, i16 259, i16 228, i16 314, i16 263, i16 231, i16 269, i16 233, i16 281, i16 235, i16 283, i16 237, i16 238, i16 271, i16 273, i16 324, i16 328, i16 243, i16 244, i16 337, i16 246, i16 247, i16 345, i16 367, i16 250, i16 369, i16 252, i16 253, i16 355, i16 729, i16 160, i16 294, i16 728, i16 163, i16 164, i16 0, i16 292, i16 167, i16 168, i16 304, i16 350, i16 286, i16 308, i16 173, i16 0, i16 379, i16 176, i16 295, i16 178, i16 179, i16 180, i16 181, i16 293, i16 183, i16 184, i16 305, i16 351, i16 287, i16 309, i16 189, i16 0, i16 380, i16 192, i16 193, i16 194, i16 0, i16 196, i16 266, i16 264, i16 199, i16 0, i16 209, i16 210, i16 211, i16 212, i16 288, i16 214, i16 215, i16 284, i16 217, i16 218, i16 219, i16 220, i16 364, i16 348, i16 223, i16 224, i16 225, i16 226, i16 0, i16 228, i16 267, i16 265, i16 231, i16 0, i16 241, i16 242, i16 243, i16 244, i16 289, i16 246, i16 247, i16 285, i16 249, i16 250, i16 251, i16 252, i16 365, i16 349, i16 729, i16 160, i16 260, i16 312, i16 342, i16 164, i16 296, i16 315, i16 167, i16 168, i16 352, i16 274, i16 290, i16 358, i16 173, i16 381, i16 175, i16 176, i16 261, i16 731, i16 343, i16 180, i16 297, i16 316, i16 711, i16 184, i16 353, i16 275, i16 291, i16 359, i16 330, i16 382, i16 331, i16 268, i16 201, i16 280, i16 203, i16 278, i16 205, i16 206, i16 298, i16 272, i16 325, i16 332, i16 310, i16 212, i16 213, i16 214, i16 215, i16 216, i16 370, i16 218, i16 219, i16 220, i16 360, i16 362, i16 223, i16 269, i16 233, i16 281, i16 235, i16 279, i16 237, i16 238, i16 299, i16 273, i16 326, i16 333, i16 311, i16 244, i16 245, i16 246, i16 247, i16 248, i16 371, i16 250, i16 251, i16 252, i16 361, i16 363, i16 729, i16 160, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 173, i16 1038, i16 1039, i16 8470, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 167, i16 1118, i16 1119, i16 160, i16 0, i16 0, i16 0, i16 164, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1548, i16 173, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1563, i16 0, i16 0, i16 0, i16 1567, i16 0, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1611, i16 1612, i16 1613, i16 1614, i16 1615, i16 1616, i16 1617, i16 1618, i16 0, i16 0, i16 0, i16 0, i16 0, i16 160, i16 8216, i16 8217, i16 163, i16 0, i16 0, i16 166, i16 167, i16 168, i16 169, i16 0, i16 171, i16 172, i16 173, i16 0, i16 8213, i16 176, i16 177, i16 178, i16 179, i16 900, i16 901, i16 902, i16 183, i16 904, i16 905, i16 906, i16 187, i16 908, i16 189, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 918, i16 919, i16 920, i16 921, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 929, i16 0, i16 931, i16 932, i16 933, i16 934, i16 935, i16 936, i16 937, i16 938, i16 939, i16 940, i16 941, i16 942, i16 943, i16 944, i16 945, i16 946, i16 947, i16 948, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 964, i16 965, i16 966, i16 967, i16 968, i16 969, i16 970, i16 971, i16 972, i16 973, i16 974, i16 0, i16 160, i16 0, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 184, i16 185, i16 247, i16 187, i16 188, i16 189, i16 190, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8215, i16 286, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 304, i16 350, i16 223, i16 287, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 305, i16 351, i16 255, i16 9472, i16 9474, i16 9484, i16 9488, i16 9492, i16 9496, i16 9500, i16 9508, i16 9516, i16 9524, i16 9532, i16 9600, i16 9604, i16 9608, i16 9612, i16 9616, i16 9617, i16 9618, i16 9619, i16 8992, i16 9632, i16 8729, i16 8730, i16 8776, i16 8804, i16 8805, i16 160, i16 8993, i16 176, i16 178, i16 183, i16 247, i16 9552, i16 9553, i16 9554, i16 1105, i16 9555, i16 9556, i16 9557, i16 9558, i16 9559, i16 9560, i16 9561, i16 9562, i16 9563, i16 9564, i16 9565, i16 9566, i16 9567, i16 9568, i16 9569, i16 1025, i16 9570, i16 9571, i16 9572, i16 9573, i16 9574, i16 9575, i16 9576, i16 9577, i16 9578, i16 9579, i16 9580, i16 169, i16 1102, i16 1072, i16 1073, i16 1094, i16 1076, i16 1077, i16 1092, i16 1075, i16 1093, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1103, i16 1088, i16 1089, i16 1090, i16 1091, i16 1078, i16 1074, i16 1100, i16 1099, i16 1079, i16 1096, i16 1101, i16 1097, i16 1095, i16 1098, i16 1070, i16 1040, i16 1041, i16 1062, i16 1044, i16 1045, i16 1060, i16 1043, i16 1061, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1071, i16 1056, i16 1057, i16 1058, i16 1059, i16 1046, i16 1042, i16 1068, i16 1067, i16 1047, i16 1064, i16 1069, i16 1065, i16 1063, i16 1066, i16 1179, i16 1171, i16 8218, i16 1170, i16 8222, i16 8230, i16 8224, i16 8225, i16 0, i16 8240, i16 1203, i16 8249, i16 1202, i16 1207, i16 1206, i16 0, i16 1178, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 0, i16 8482, i16 0, i16 8250, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1263, i16 1262, i16 1105, i16 164, i16 1251, i16 166, i16 167, i16 0, i16 0, i16 0, i16 171, i16 172, i16 173, i16 174, i16 0, i16 176, i16 177, i16 178, i16 1025, i16 0, i16 1250, i16 182, i16 183, i16 0, i16 8470, i16 0, i16 187, i16 0, i16 0, i16 0, i16 169, i16 9552, i16 9553, i16 9554, i16 1105, i16 1108, i16 9556, i16 1110, i16 1111, i16 9559, i16 9560, i16 9561, i16 9562, i16 9563, i16 1169, i16 9565, i16 9566, i16 9567, i16 9568, i16 9569, i16 1025, i16 1028, i16 9571, i16 1030, i16 1031, i16 9574, i16 9575, i16 9576, i16 9577, i16 9578, i16 1168, i16 9580, i16 169, i16 0, i16 3585, i16 3586, i16 3587, i16 3588, i16 3589, i16 3590, i16 3591, i16 3592, i16 3593, i16 3594, i16 3595, i16 3596, i16 3597, i16 3598, i16 3599, i16 3600, i16 3601, i16 3602, i16 3603, i16 3604, i16 3605, i16 3606, i16 3607, i16 3608, i16 3609, i16 3610, i16 3611, i16 3612, i16 3613, i16 3614, i16 3615, i16 3616, i16 3617, i16 3618, i16 3619, i16 3620, i16 3621, i16 3622, i16 3623, i16 3624, i16 3625, i16 3626, i16 3627, i16 3628, i16 3629, i16 3630, i16 3631, i16 3632, i16 3633, i16 3634, i16 3635, i16 3636, i16 3637, i16 3638, i16 3639, i16 3640, i16 3641, i16 3642, i16 0, i16 0, i16 0, i16 0, i16 3647, i16 3648, i16 3649, i16 3650, i16 3651, i16 3652, i16 3653, i16 3654, i16 3655, i16 3656, i16 3657, i16 3658, i16 3659, i16 3660, i16 3661, i16 3662, i16 3663, i16 3664, i16 3665, i16 3666, i16 3667, i16 3668, i16 3669, i16 3670, i16 3671, i16 3672, i16 3673, i16 3674, i16 3675, i16 0, i16 0, i16 0, i16 0], [4528 x i8] c"\00\00\01\00\00\00\00\00\02\03\04\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\06\07\08\09\0A\0B\00\00\00\00\00\00\00\00\0C\0D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\0F\00\00\00\00\10\11\12\13\14\15\00\00\00\16\00\00\00\00\00\00\00\17\18\19\00\00\00\00\00\00\1A\00\00\00\00\00\00\1B\1C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\1D\1E\00\1F\00 \00\00\00\00\00\00\00\00\00!\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\22#\00\00\00\00\00\00\00\00\00\00\00\00\00$%\13&'(\17\18\19\00\00\00\00\00\00)\00\00\00\00\00\00\00\1C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00*+,-\00\00.\14\00\00\00\00\00/01\00!\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00234\00\17\18\19\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03,-\11\12\13\14\00\00\00\00\00\00\00\00\02\0356789:;<=>?\00@A\00\00\00\00\00\00\00\00\00B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03CDEFGHIJKLMNOP\00\00\00\00\00\00\00\00\00Q\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03RS\11T\13UV\00W\00\00\00\00X\00\00\00\00\00\00\00\00YZ\00\00[\\]\00^\00\00\00\00\00\00_\00\00\00\00\00\00\00\00\02\03`a\11\12\13\14\00\00\00\00\00bcd\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00e\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03fghijklm\00\00nocp\00\00\00\00\00\00\00\00\00q\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00r\00\00\00\00\00\00\00\00e\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03stuvwxyz\00{|}~\7F\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\81\00\00\00\00\00\00\00\00\00\00\02\03\82\83\84\85\86\87\88\89\8A\8B\00\8C\8D\8E\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\8F\00\00\00\00\00\00\00\00\00\00\02\03\90t\91\92\93\94;\95\96\97\98\99\9A\9B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\9C\00\00\00\00\00\00\00\00\00\00\02\03\9D\00\00\00\00\00\9E-\11\12\13\9F\00\00\00\00\00\00\00\00\00\00\00\A0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03\A1\00\00\00\00\00\A2\A3\A4\A5\13\A6\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03\A7\A8\00\00\00\00\00\00\00\00\00\00\00\00\A9\11\AA\13\AB\00\00\00\00\AC\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03\AD\AE\00\1F\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\13&\00(\AF\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03,-\11\B0\13\B1\00\B2\00\B3\00\B4\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B5\B6\00\00\00\B7\B8\B9\BA\BB\BC\BD\00\00\00\00\00\00\00\00\00\00\00\BE\00\00\BF\00\C0\00\00\00\00\00\00\00\00\00\00\00\C1\00\00\00\00\00\00\00\00\00\00\00\00\00\C2\C3\C4\C5\00\C6\C7\00\C8\C9\CA\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\CB\CC\00\00\00\00\B8\B9\BA\BB\BC\BD\00\00\00\CD\00\CE\00\00\CF\00\D0\B9\BA\BB\BC\D1\00\00\00\D2\00\00\00\00\00\00\C2\C3\C4\C5\00\D3\D4\00\C8\C9\CA\00\00\00\00\00\D5-\11\D6\13\D7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A5\A4\00\00\AB\AC\A9\00\80\81\82\83\84\85\86\87\88\89\8A\8B\8C\8D\8E\8F\90\91\92\93\94\95\96\97\98\99\9A\9B\9C\9D\9E\9F\A0\00\00\00\00\00\00\00\00\00\00\A7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A6\00\00\00\00\00\B2\B4\B6\B8\BA\BC\BE\C0\C2\C4\C6\C8\CA\CC\CE\D0\D2\D4\D6\D8\DA\DC\DE\E0\E2\E4\E6\E8\EA\EC\EE\F0\F2\F4\F6\F8\FA\FC\00\00\00\FE\B0\AF\AA\B1\00\00\B3\B5\B7\B9\BB\BD\BF\C1\C3\C5\C7\C9\CB\CD\CF\D1\D3\D5\D7\D9\DB\DD\DF\E1\E3\E5\E7\E9\EB\ED\EF\F1\F3\F5\F7\F9\FB\FD\A2\00\A3\AD\00\00\00\00\00\00\00\00\00\A8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\AE\00\00\00\00\00\00\00\00\00\A0\00\00\00\A4\00\A6\A7\00\A9\00\AB\AC\AD\AE\00\B0\B1\00\00\00\B5\B6\B7\00\00\00\BB\00\00\00\00\00\A8\80\81\AA\BD\B2\AF\A3\8A\8C\8E\8D\00\A1\8F\C0\C1\C2\C3\C4\C5\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\E0\E1\E2\E3\E4\E5\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\FD\FE\FF\00\B8\90\83\BA\BE\B3\BF\BC\9A\9C\9E\9D\00\A2\9F\A5\B4\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\96\97\00\00\00\91\92\82\00\93\94\84\00\86\87\95\00\00\00\85\00\00\00\00\00\00\00\00\00\89\00\00\00\00\00\00\00\00\8B\9B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\88\00\00\00\00\00\00\00\00\00\B9\00\00\00\00\00\00\00\00\00\00\00\99\00\00\00\00\00\00\00\00\00\00\00\00\00\A0\A1\A2\A3\00\A5\A6\A7\A8\A9\00\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\00\BB\BC\BD\BE\BF\00\00\00\00\00\00\00\AA\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\BA\00\00\00\00\00\00\00\00\00\00\83\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\88\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\98\00\00\00\C0\C1\C2\C3\C4\C5\C6\C7\C8\C9\00\CB\CC\CD\CE\CF\D0\D1\D2\D3\00\00\00\00\00\00\00\00\00\00\00\00\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\00\00\00\00\00\D4\D5\D6\D7\D8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\FD\FE\00\00\00\00\00\00\00\00\00\00\A4\00\80\00\00\00\80\81\00\00\00\00\00\00\00\00\00\00\00\8D\8E\8F\90\00\00\00\00\00\00\00\00\00\00\00\00\9D\9E\00\A0\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\BF\00\00\00\00\00\00\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\00\00\8C\9C\00\00\00\00\00\00\00\00\00\00\00\00\8A\9A\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\9F\00\00\00\00\00\00\00\C0\C1\C2\C3\C4\C5\C6\C8\C9\CA\CB\CC\CD\CF\D0\D1\D2\D3\D4\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\E0\E1\E3\E4\C7\CE\D5\E2\E5\00\00\00\00\00\00\00\00\00\00\A0\00\00\00\00\00\00\A7\00\00\00\00\00\AD\00\00\B0\00\00\00\00\00\00\B7\00\00\00\00\00\00\00\00\00\C1\C2\C3\C4\C5\C6\00\00\C9\00\CB\00\CD\CE\CF\D0\00\00\D3\D4\D5\D6\00\D8\00\DA\DB\DC\DD\DE\DF\00\E1\E2\E3\E4\E5\E6\00\00\E9\00\EB\00\ED\EE\EF\F0\00\00\F3\F4\F5\F6\00\F8\00\FA\FB\FC\FD\FE\00\C0\E0\00\00\A1\B1\00\00\00\00\00\00\C8\E8\00\00\A9\B9\A2\B2\00\00\CC\EC\CA\EA\00\00\00\00\00\00\00\00\A3\B3\00\00\00\00\A5\B5\A4\B4\00\00\C7\E7\00\00\00\00\00\00\A6\B6\FF\00\00\A8\B8\00\00\00\00\00\00\00\00\D1\F1\00\00\00\AF\BF\D2\F2\00\00\AA\BA\00\00\00\00\AB\BB\D7\F7\AE\BE\00\00\00\00\00\00\D9\F9\00\00\00\00\00\00\00\00\00\AC\BC\00\00\00\00\00\00\BD\00\00\00\00\00\00\00\00\00\00\A0\00\A2\A3\A4\00\A6\A7\00\A9\00\AB\AC\AD\AE\00\B0\B1\B2\B3\00\B5\B6\B7\00\B9\00\BB\BC\BD\BE\00\00\00\00\00\C4\C5\AF\00\00\C9\00\00\00\00\00\00\00\00\00\D3\00\D5\D6\D7\A8\00\00\00\DC\00\00\DF\00\00\00\00\E4\E5\BF\00\00\E9\00\00\00\00\00\00\00\00\00\F3\00\F5\F6\F7\B8\00\00\00\FC\00\00\00\C2\E2\00\00\C0\E0\C3\E3\00\00\00\00\C8\E8\00\00\00\00\C7\E7\00\00\CB\EB\C6\E6\00\00\00\00\00\00\00\00\CC\EC\00\00\00\00\00\00\CE\EE\00\00\C1\E1\00\00\00\00\00\00\CD\ED\00\00\00\CF\EF\00\00\00\00\D9\F9\D1\F1\D2\F2\00\00\00\00\00\D4\F4\00\00\00\00\00\00\00\00\AA\BA\00\00\DA\FA\00\00\00\00\D0\F0\00\00\00\00\00\00\00\00\DB\FB\00\00\00\00\00\00\D8\F8\00\00\00\00\00\CA\EA\DD\FD\DE\FE\00\00\00\00\00\00\00\00\00\00\FF\00\00\B4\A1\A5\00\A0\00\00\A3\00\00\00\A7\00\A9\00\00\00\AD\AE\00\00\00\00\00\00\00\B6\00\00\00\00\00\00\00\00\00\00\D1\D2\D3\D4\D5\D6\00\D8\D9\DA\DB\DC\DD\00\DF\00\F1\F2\F3\F4\F5\F6\00\F8\F9\FA\FB\FC\FD\00\FF\00\00\00\00\00\00\00\00\00\00\A4\A5\00\00\00\00\B2\B3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\D0\F0\DE\FE\AF\00\00\00\00\00\00\00\00\00\A1\A2\00\00\00\00\00\00\A6\AB\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B0\B1\B4\B5\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B7\B9\00\00\00\00\00\00\00\00\BB\BF\00\00\00\00\00\00\00\00\D7\F7\00\00\00\00\A8\B8\AA\BA\BD\BE\00\00\00\00\00\00\00\00\00\00\00\00\AC\BC\00\00\00\00\00\00\00\00\00\00\00\00\A0\A1\A2\A3\00\A5\00\A7\00\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B3\00\B5\B6\B7\00\B9\BA\BB\00\00\00\BF\00\00\BC\BD\00\00\00\00\00\00\00\00\00\00\00\00\A6\A8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\BE\00\00\00\00\B4\B8\00\00\00\00\00\00\00\00\00\00\00\00\00\A4\00\00\00\A0\00\00\00\00\00\00\A7\00\A9\00\A5\00\AD\00\00\B0\B1\00\00\00\00\B6\B7\00\00\00\BB\00\00\00\00\C0\C1\C2\00\C4\00\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\00\00\D2\D3\D4\00\D6\00\00\D9\DA\DB\DC\00\00\DF\E0\E1\E2\00\E4\00\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\00\00\F2\F3\F4\00\F6\00\00\F9\FA\FB\FC\00\00\FF\00\00\C3\E3\A1\A2\C5\E5\00\00\00\00\B2\B9\00\00\D0\F0\00\00\00\00\00\00\DD\FD\00\00\00\00\00\00\00\A3\B3\D1\F1\00\00\00\00\00\00\00\00\00\00\00\D5\F5\BC\BD\00\00\00\00\00\00\D7\F7\00\00\00\00\D8\F8\00\00\00\00\00\00\BE\AC\AE\AF\BF\B4\B8\00\00\00\00\00\00\00\00\00\AA\BA\DE\FE\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B5\AB\00\A0\00\00\00\A4\00\00\A7\A8\00\00\00\00\AD\00\00\B0\00\00\00\B4\00\00\00\B8\00\00\00\00\00\00\00\00\C1\C2\00\C4\00\00\C7\00\C9\00\CB\00\CD\CE\00\00\00\00\D3\D4\00\D6\D7\00\00\DA\00\DC\DD\00\DF\00\E1\E2\00\E4\00\00\E7\00\E9\00\EB\00\ED\EE\00\00\00\00\F3\F4\00\F6\F7\00\00\FA\00\FC\FD\00\00\00\00\C3\E3\A1\B1\C6\E6\00\00\00\00\C8\E8\CF\EF\D0\F0\00\00\00\00\00\00\CA\EA\CC\EC\00\00\00\00\00\00\00\00\00\00\00\00\00\C5\E5\00\00\A5\B5\00\00\A3\B3\D1\F1\00\00\D2\F2\00\00\00\00\00\00\00\D5\F5\00\00\C0\E0\00\00\D8\F8\A6\B6\00\00\AA\BA\A9\B9\DE\FE\AB\BB\00\00\00\00\00\00\00\00\D9\F9\DB\FB\00\00\00\00\00\00\00\AC\BC\AF\BF\AE\BE\00\00\00\00\00\00\00\00\B7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A2\FF\00\B2\00\BD\00\00\A0\00\00\A3\A4\00\00\A7\A8\00\00\00\00\AD\00\00\B0\00\B2\B3\B4\B5\00\B7\B8\00\00\00\00\BD\00\00\C0\C1\C2\00\C4\00\00\C7\C8\C9\CA\CB\CC\CD\CE\CF\00\D1\D2\D3\D4\00\D6\D7\00\D9\DA\DB\DC\00\00\DF\E0\E1\E2\00\E4\00\00\E7\E8\E9\EA\EB\EC\ED\EE\EF\00\F1\F2\F3\F4\00\F6\F7\00\F9\FA\FB\FC\00\00\00\00\00\00\00\00\00\00\00\C6\E6\C5\E5\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\D8\F8\AB\BB\D5\F5\00\00\A6\B6\A1\B1\00\00\00\00\00\00\00\00\A9\B9\00\00\AC\BC\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\DE\FE\AA\BA\00\00\00\00\00\00\00\00\00\00\00\00\DD\FD\00\00\00\00\00\00\00\00\00\00\00\00\00\AF\BF\00\00\00\00\00\00\00\00\00\00\00\A2\FF\00\00\00\00\00\00\A0\00\00\00\A4\00\00\A7\A8\00\00\00\00\AD\00\AF\00\C1\C2\C3\C4\C5\C6\00\00\C9\00\CB\00\CD\CE\00\00\00\00\00\D4\D5\D6\D7\D8\00\DA\DB\DC\00\00\DF\00\E1\E2\E3\E4\E5\E6\00\00\E9\00\EB\00\ED\EE\00\00\00\00\00\F4\F5\F6\F7\F8\00\FA\FB\FC\00\00\00\D0\F0\AA\BA\00\00\CC\EC\CA\EA\00\00\00\00\00\00\00\00\AB\BB\00\00\00\00\A5\B5\CF\EF\00\00\C7\E7\00\00\00\00\00\00\D3\F3\A2\00\00\A6\B6\00\00\00\00\00\00\00\00\D1\F1\00\00\00\BD\BF\D2\F2\00\00\00\00\00\00\00\00\A3\B3\00\00\00\00\00\00\00\00\A9\B9\00\00\00\00\AC\BC\DD\FD\DE\FE\00\00\00\00\00\00\D9\F9\00\00\00\00\00\00\00\00\00\AE\BE\00\00\00\00\00\00\00\00\00\00\FF\00\B2\00\00\00\00\A0\00\00\00\00\00\00\FD\00\00\00\00\00\AD\00\00\00\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\00\AE\AF\00\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\00\FE\FF\00\00\00\00\00\00\F0\00\00\00\00\00\00\00\00\00\A0\00\00\00\A4\00\00\00\00\00\00\00\00\AD\00\00\00\00\00\00\00\00\00\00\00\00\00\00\AC\00\00\00\00\00\00\00\00\00\00\00\00\00\00\BB\00\00\00\BF\00\C1\C2\C3\C4\C5\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\00\00\00\00\00\F0\F1\F2\00\00\00\00\00\00\00\00\00\00\00\00\00\A0\00\00\A3\00\00\A6\A7\A8\A9\00\AB\AC\AD\00\00\B0\B1\B2\B3\00\00\00\B7\00\00\00\BB\00\BD\00\00\00\00\00\00\B4\B5\B6\00\B8\B9\BA\00\BC\00\BE\BF\D0\D1\00\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\FD\FE\00\00\00\00\00\00\AF\00\00\A1\A2\00\00\00\00\00\00\A0\00\A2\A3\A4\A5\A6\A7\A8\A9\00\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\00\BB\BC\BD\BE\00\00\00\00\00\00\00\00\DF\00\00\00\00\00\00\00\00\00\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\00\00\DF\00\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\00\00\FF\00\00\00\00\00\00\00\00\00\00\00\00\00\00\D0\F0\DD\FD\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\DE\FE\9A\00\00\00\00\00\00\00\00\BF\00\00\00\00\00\00\9C\00\9D\00\00\00\00\9E\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\9F\00\00\00\00\00\00\00\00\00\B3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E1\E2\F7\E7\E4\E5\F6\FA\E9\EA\EB\EC\ED\EE\EF\F0\F2\F3\F4\F5\E6\E8\E3\FE\FB\FD\FF\F9\F8\FC\E0\F1\C1\C2\D7\C7\C4\C5\D6\DA\C9\CA\CB\CC\CD\CE\CF\D0\D2\D3\D4\D5\C6\C8\C3\DE\DB\DD\DF\D9\D8\DC\C0\D1\00\A3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\95\96\00\00\00\00\00\00\00\00\00\00\00\00\00\97\00\00\00\00\00\00\00\00\00\00\00\98\99\00\00\00\00\00\00\00\00\00\00\93\9B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\00\81\00\00\00\00\00\00\00\00\00\82\00\00\00\83\00\00\00\84\00\00\00\85\00\00\00\86\00\00\00\00\00\00\00\87\00\00\00\00\00\00\00\88\00\00\00\00\00\00\00\89\00\00\00\00\00\00\00\8A\00\00\00\A0\A1\A2\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\00\00\00\8B\00\00\00\8C\00\00\00\8D\00\00\00\8E\00\00\00\8F\90\91\92\00\00\00\00\00\00\00\00\00\00\00\00\94\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A4\00\A6\A7\00\BF\00\AB\AC\AD\AE\00\B0\B1\B2\00\00\00\B6\B7\00\00\00\BB\00\00\00\00\00\00\83\81\00\00\00\00\00\00\90\80\00\00\00\00\00\00\8C\8A\00\00\8E\8D\00\00\00\00\00\00\00\00\00\00\B5\A5\00\00\00\00\00\00\00\00\00\00\A2\A1\00\B3\00\00\B4\00\B6\B7\00\00\00\00\00\00\00\00\00\A3\00\00\A4\00\A6\A7\00\00\00\00\00\00\00\00\BD\AD\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A0\A1\A2\00\A5\00\00\A8\A9\AA\AB\AC\00\AE\AF\B0\B1\B2\00\B5\00\00\B8\B9\BA\BB\BC\00\BE\00\00\00\00\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\00\00\00\00\DF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\00\00\00\00", [3604 x i8] c":!\1F2#\1E\02,\00'\04%&\05\07)\0F\12\09\0C\06\19\1A\0B+\00\00\00\00\00 \1D9*7407.$777\00\00\00\0158\03/3\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\17\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\16\19\19\19\19\13\00\00\00\00\00\00\00\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\14\00\00\00\00\00\00\00\007777777777777777777777777\19\10\08\19\1B-(\00\00\00\0E\22\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0061\00\00\11\0A\15\1C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\18\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\19\19\0D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E4\E4\E4\CD\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\D0\00\00\07\00\1A5UU>Uj\DE\00UovUUUUUUUUUUUZ\E4\DA\DEU\\\08UUUUI5UUUUUUUUUUS\E4\E4UUU\00\00\00\00\00\00\00UU\12?#UU(%;\C4-\002\03U\C7\00\B6PGUU(&=\E3\CC\1F\00 U\00\00\1DL(UU(U:\D2.\04\009U\00\00\1DUS\17UUGOS\11\D5\E4\00\00\1C\005UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU5UUUUXUAVXUk\00\00\00\00/\22\0B54\16\BC\CBJ\DEU<\00\00\00\00S\00\14\09U\BBSJDUUUUUUUUUUUUU7\00\00\00\14UUUUUSUUUUUUUS'S'UUUUS'UUUS'S'SSUUSUUTBLLUUUFJ\17(UUUUUUUUUUUUUUUUUUUUUULm\00UUn\00UUk\00UL*\00UUUUUU`\E4\E4\E4\E2\D3U7\00\00US'SUUUUSUU>\B9vp\D4\00\00\00\00UUUUUUUUUUI\00UUUR\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00UUUS\D0\00UUU>\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00UUUUG1\C5\C0UpY\C0\00\00\00\00\00\00\00\00UUUUR\00UUUUU)UUUUURUUUUUUU>\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00UUUUUUUUUULUUUUUUUUL\103UE&UUUUUUUUUUUUUUUUUU8UUUUUUUU>UUUUUUUUUU7UUUUUUUUUUUUUUUUUI\E4\E4\E4\E4\E4\E4\E0\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUH\00\00\00\00\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUHUUU\BBUUhUUUhUUUUUUUUUUUUUUUUUUUUR\00\00\00\00\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUUUR\00\00\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUUUUUUUS\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU^S\00xUUgUUUUUUUUUi\1F\00UUUUUUUY\00\00UUUUUUUU\17UUUUUU\00\00\00\00\00UNUU]UUU]UUXUUUXUUU\BBUUU\BBUUh9UUUUUU\86\AA\83\A7\86\AA\86\AA\83\A7{\96\86\AA\86\83\86\AA\86\AA\86\AA\82\AE\C9\AF}\AC\7F\AF\19\AD\92\92\00\00\00\00\97\AA\AA\AA\A86y\86\86\86\85\B4\B9\E4\CD\E4\E4\CD\D4\00UUU>g\00\92\92\92\92+\92\8F\00\00\00ezq~bUqraUURU\BDp\E4p\E4_\DF\00\00\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\91d\92\92\92\92\92\92\92\92\92\92\92\8C\92\92\92\92\92\92\92\9A\9Fs\92\92\92\92\92\A5\99\A0\A4\8E\93\9C\A1\8D[\8B\9F\9D\92\92\98\92\AA\AA\AA\AA\A7\86\86\86\86\83\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\AA\AA\AA\AA\AA\AA\86\86\86\86\86\86\92\92\92\92\94\CA\92\92\92\92\92\92\9A\9E\92\92\92\92\90\8C\B5\C1\E4\E4\E4\B9\E4\E4\E4\DC\C3\E0\B9\E4\E4\E4\E4\E4\D4\E4\E4\E4\B9\E0\00\00\E4\E4\E4\D0\E4\E4\B6K#UU($=\D1-\05\0A9U,\00\18@'0\13@T:\C5.\04\00\02U\C2\00\B6L(UU(Q:\D7.\0C\009U\00\00\1DL(UU(Q:\D7.\0C\019U\00\00\B6UUUUUU=\E4\DE\BEUoU,\00\B6K#UU(!;\D6-\04\0AlUp\C2\B9\E4Up\B1\AA\AA\B0\95\86\86\88\E1UUUUUUUUUUS\17\17\17\15\E0\E0\00\B8\BF\E4\E4\E4Up\E4\E4U5UUU>\B9\E4\E4H\E4\B9\E4\E4\E4\D7\E4\D6\00\00\00\00\00\00\CE\C8Zw\DDfcC\D9k\1B\E4\AA\AA\86\86H\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E0U7UUUUUUUUUUU\00UUUUU\BA\00\00\00\00\00\00\00\00\00\00\E4\E3\BBUUI\E4\E4\E4\C2\00\00\00\00\00\00UUUUY\E4t\00\00\00\00\00\00\00\00\00\E4\E4\00\00\D0\00\E4\E4\E5\B9\C6\E4\E0\D0LUUUUUUUUUUUUUUUUM\E4\E4\D2\B9\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\E4\C0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E4\E4\E4\D4\E4\E4\E4\E4\D0\00\B9\E4\E4\E4\E4\D1\E4\E4\E4\E4\E4\E4\E4\E4\E4\D0\E4\E4\E4\E4\E4\E0\E4\E4\E4\E4\E0\00\00\00\E4\C2\00\00\E4\E4\E4\E4\E4\E4\E4\D8UUW\AA\AA\AA\86\86\86\8A\E4\E0\E4\E4\E4\E4\E0\1E\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\00\00\00\00\E4\E4\E4\E4\E4\E4\E4\E4\DB\E4\00\00\E4\E4\0D\0F\0E\A2\9B\AA\A3\A6|\86\86\84\80\92\92\92\81\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E0\1B\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\E4\E4\E4\E0\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E0\00\00\00\00\00\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\00\00\00\E4\D0\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E6\E4\E4\E4vpw_5UUUUUUUUUS\B7vUUUUUUUUUUh\E9\E8\E4\E4\E4\EA\E4\E4\E4\E4\C4\06\D0\1Eu\E2\E4\E0\00\00\E4\E4\C0\00\00\00\E4\E4\E4\C2\00\00\EC\EB\EC\EC\E7\E4\B2\B3\B1\AA\AA\B0\95\86\86\89\EC\EC\EC\EC\E4\CF\DB\CF\AA\AA\AB\A9\86\86\87\86\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\11\00\00\00`\00\00\00f\00\00\00\90\00\00\06\00\00\00\10\11\00\00\10\16\00\00\11\10\00\00\11\11\00\00`\06\00\00f\00\00\00fd\00\01\00\06\00\01\10\01\00\06\00`\00\06\10\11\00\10\01\00\00\10\11\11\00\11\01\00\00\11\10\11\00\11\11\11\00\16\10\11\00!\01\11\00`\00`\00`ff\00f\06\00\00f\10\11\00fff\01\00\00\00\01\00\00\11\01\01\00\11\01\01\10\00\01\10\11\11\01\11\00\11\01\11\10\01\01\11\10\11\01\11\11\00\01\11\11\11\01`\00\00\01f\00\00\04$$$\06\00\00\00\06`f\00\06ff\00\10\01\01\10\10\01\01\11\10\01ff\10\11\01\01\10\11\01\11\10\11\10\10\10\11\11\11\10fff\11\00\00\00\11\00\00\10\11\00\00\11\11\00\00f\11\00\06f\11\00\11\00\11\00\16f\11\01\00\00\11\01\00\10\11\01\00\11\11\01\00`\11\01\10\11\11\06\10\11\11\10\01\11\11\10\10\11\11\10\11\01\11\10\11\11\11\11\00\00\11\11\01\00\11\11\01\01\11\11\01\10\11\11\01\11\11\11\01`\11\11\06\00\11\11\10\00\11\11\10\10\11\11\10\11\11\11\11\00\11\11\11\01\11\11\11\10\11\11\11\11\11\11\11\16\11\11\11D\11\11\11a\11\11\11f\11\11\16f\11\114B\11\11a\06\11\11a\11\11\11a\16\11\11af\11\11ff\11\12\11\11\11\12!\11\11\16\11\11\11!\00\00\11!\12\22\11D\11\16\11a\06\00\11a\11\11\11af\11\11aff\11f\00\00\11f\00\11\11f\06\00\11ff\06\11ff\11\11fff\12!\11\11\12\22\11\11\12$$$\16\00\00\00\16\00ff\16\11\11\11\16\11\11f\19\11\11\11 \22\22\22!!\11\11!!!!!\22\22\22\22\11\00\11\22\11\11!\22\11!\11\22\11!\12\22\12$\06\22!\01\11\22\22\22\00\22\22\22\02\22\22\22\12\22\22\22\22\22\22\22b\22bff\22bf\E6\22fff#4BB$\00\00\00$\11$!$\11DB$$\00\00$$$\00$$$\11$$$$$$$D$ff\06&\22\22\22@@@@@DDDA#$DA$$DABBBADDDB\11$DBB\22$BBB\02BBBBBD\12DBDBBD\04\04DD@DDDB$DDBB\22DD\22\22DDD\00DDD\04DDD$DDDDDDDdDD`fDDd\06DDdbDDdfDdffFDDDUUUUUfff`\06\00\00`f\06f`f\10\11`f\16\11`ff\00`fffa\00\00\00a\11\11\11a\11ffa\16\11\11af\06\00affff\00\00\00f\00fff\06\00\00f\06\00\06f\06\00`f\06\00ff\06fff\11\01\00f\11\11\11f!\01\11f$$$f`\16\00f`f\00f`fffaf\16faffff\00\00ff\00`ff\00fff\01\00ff\06\00ff\06\06ff\06`ff\06fff\11\11ff\16\11ff\16aff&fff``ffadfff\00fff\01fff\06fff\11fff\16fff`ffffffv\07if\16\11ifff\99\99ff\99\99\99i\CCfff\DE\CC\CC\EE\EE\EE\EE\EE", [1680 x i8] c"\04\06\07\00\00\00\00\00\00\00\00\00\00\00\00\05\01\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\00\00\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\0D\00\00\00\00\00\00QQRR\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\1B\1B\19\0F\1F\1F\1D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\03SSSUUUT\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\1B\1B\19\0F\1F\1F\1D\00\00\00\00\00\00\04\00\1B\1B\1A\1A\1F\1F\1E ((((((1\10,*(((((2\11.3%)/0$\064,-((\12((((((((((((((((((('\08(((((((((((#GIFHGIGIFH\16\17GIMNGIGIGIEJ\09OCKDL\09P((((5(&\00\00\00\07\1367\0B\0089\0C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\01:\0E\1B\18\1C\0F\1F\22!;(((<\00>>\1B\1B\1B\1B\1F\1F\1F\1F==((((#\0A((((((\10+(((('#((\00\00\00\00\14@@@?\00\15BBBA\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00WWWWVYYYYX\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\001\00\00\00\00\00\00\00Y\00\00\00\00\00\00\00^^\00\00\00\00\00\03\00\00\00\00\00\00\000\00\00\00\00\00\00\1C\1D\1E\1C\00\00\00#$\00%%\00\00\00E\00\00\00\00\00\00\00N\00\00\00\00\00\00\05\06\05\06\05\06\00\00+\00\00,\00\00\00\00/\00\00\00\00\00\00\00Z[\00\00\00\00\00\01\01\01\01\01\01\01\00\02\02\02\02\02\02\02\00\05\06\05\06\05\06\05\00\0B\05\06\05\06\0C\05\00\1C\1D\1E\05\06 !\00&\00'\00\00\00\00\00CCCCCCC\00DDDDDDD\00F\00F\00F\00F\00G\00G\00G\00G\01\01\00\01\01\01\01\01\01\01\01\00\00\00\00\00\01\01\01\01\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\015666\02\02\02\00\00\00\00\00\02\02\02\02\02\02\02\00\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\04\02\02\02\02899\00\02\027\02\02\02\02\02\05\06\00\00\00\00\00\00\05\06\00\00\05\06\00\1B\05\06\00\00\13\15\16\17\05\06\05\06\00\00\00\00\05\06\05\06\05\06\00\00\05\06\05\06\05\06\05\06\05\06\05\06\05\06\18\05\06\00\05\06\05\06\05\06\06\05\06\05\06\05\06\00\06\05\06\05\06\05\06\05\06\05\06\05\06\1F\05\06\06\0D\0D\05\06\00\0E\0F\06\18\00\00\05\06\18\05\06\19\19\05\06\05\06\1A\07\08\05\06\05\06\05\06\09\05\06\05\06\05\06\0A\10\05\06\0D\11\12\13\14\1D\1E\1C\1D\1E\05\06\05\22\00\05\06\05\06\05\06%\00\00(\00\00\00\00)*\00\00\00\00\00*-\00\00-\00\00\00\00-\00..\00\00\00\00222\003\0044:;\00\00\00<=\00>?\1F\00@A\00\00????????BBBBBBBBCCCCCCC\00CCCCCCCCDDDDDDD\00DDDDDDDDFF\00\00\00\00\00\00FF\00\00\00T\00\00FF\00N\00\00\00\00FFFFFF\00\00FFFFFFFFGGGGGG\00\00GGGGGGGGGGOOP\00Q\00GGSS\00\00\00\00GGUUV\00\00\00HHIIIIJJKKLLMM\00\00RRRRP\00\00\00WWXXP\00\00\00\\\\\\\\\\\\\\\\]]]]]]]]^^^^^^^^__\00\00\00\00\00\00________``````\00\00````````aaaaaa\00\00aaaaaaaa", [196 x i16] [i16 0, i16 0, i16 0, i16 32, i16 -32, i16 0, i16 743, i16 0, i16 121, i16 0, i16 0, i16 1, i16 -1, i16 0, i16 0, i16 -199, i16 -232, i16 0, i16 0, i16 -121, i16 -300, i16 0, i16 0, i16 210, i16 0, i16 206, i16 0, i16 205, i16 0, i16 79, i16 0, i16 202, i16 0, i16 203, i16 0, i16 207, i16 97, i16 0, i16 0, i16 211, i16 0, i16 209, i16 0, i16 213, i16 130, i16 0, i16 0, i16 214, i16 0, i16 218, i16 0, i16 217, i16 0, i16 219, i16 56, i16 0, i16 0, i16 2, i16 -1, i16 1, i16 -2, i16 0, i16 -79, i16 0, i16 0, i16 -97, i16 0, i16 -56, i16 0, i16 -130, i16 -210, i16 0, i16 -206, i16 0, i16 -205, i16 0, i16 -202, i16 0, i16 -203, i16 0, i16 -207, i16 0, i16 -209, i16 0, i16 -211, i16 0, i16 -213, i16 0, i16 -214, i16 0, i16 -218, i16 0, i16 -217, i16 0, i16 -219, i16 0, i16 84, i16 0, i16 0, i16 38, i16 0, i16 37, i16 0, i16 64, i16 0, i16 63, i16 -38, i16 0, i16 -37, i16 0, i16 -31, i16 0, i16 -64, i16 0, i16 -63, i16 0, i16 -62, i16 0, i16 -57, i16 0, i16 -47, i16 0, i16 -54, i16 0, i16 -86, i16 0, i16 -80, i16 0, i16 0, i16 -60, i16 -96, i16 0, i16 0, i16 80, i16 0, i16 48, i16 -48, i16 0, i16 -59, i16 0, i16 8, i16 0, i16 0, i16 -8, i16 74, i16 0, i16 86, i16 0, i16 100, i16 0, i16 128, i16 0, i16 112, i16 0, i16 126, i16 0, i16 9, i16 0, i16 0, i16 -74, i16 0, i16 -9, i16 -7205, i16 0, i16 0, i16 -86, i16 0, i16 -100, i16 7, i16 0, i16 0, i16 -112, i16 0, i16 -7, i16 0, i16 -128, i16 0, i16 -126, i16 0, i16 -7517, i16 0, i16 -8383, i16 0, i16 -8262, i16 0, i16 16, i16 -16, i16 0, i16 0, i16 26, i16 -26, i16 0, i16 0, i16 40, i16 -40, i16 0], [51 x i8] c"\000\001\002\003\004\005\006\007\008\009\00\DB\B0\00\DB\B1\00\DB\B2\00\DB\B3\00\DB\B4\00\DB\B5\00\DB\B6\00\DB\B7\00\DB\B8\00\DB\B9\00", [28 x i8] c"\00.\00,\00\03\00\03\02\00\A0\00\C2\A0\00 \00\D9\AB\00\D9\AC\00'\00\02\03\00", [1646 x i8] c"\00\7F\00-\00ZAR \00R\00,\00.\00\03\00\02\00\01\00-R\00ETB \00$\00-$\00AED \00\CF.\C5.\00-\CF.\C5.\00\D8\AF.\D8\A5.\00-\D8\AF.\D8\A5.\00BHD \00\CF.\C8.\00-\CF.\C8.\00\D8\AF.\D8\A8.\00-\D8\AF.\D8\A8.\00DZD \00\CF.\CC.\00-\CF.\CC.\00\D8\AF.\D8\AC.\00-\D8\AF.\D8\AC.\00EGP \00\CC.\E5.\00-\CC.\E5.\00\D8\AC.\D9\85.\00-\D8\AC.\D9\85.\00INR \00\E2\82\A8\00\03\02\00-\E2\82\A8\00IQD \00\CF.\D9.\00-\CF.\D9.\00\D8\AF.\D8\B9.\00-\D8\AF.\D8\B9.\00JOD \00\CF.\C3.\00-\CF.\C3.\00\D8\AF.\D8\A3.\00-\D8\AF.\D8\A3.\00KWD \00\CF.\E3.\00-\CF.\E3.\00\D8\AF.\D9\83.\00-\D8\AF.\D9\83.\00LBP \00\E4.\E4.\00-\E4.\E4.\00\D9\84.\D9\84.\00-\D9\84.\D9\84.\00LYD \00\CF.\E4.\00-\CF.\E4.\00\D8\AF.\D9\84.\00-\D8\AF.\D9\84.\00MAD \00\CF.\E5.\00-\CF.\E5.\00\D8\AF.\D9\85.\00-\D8\AF.\D9\85.\00OMR \00\D1.\D9.\00-\D1.\D9.\00\D8\B1.\D8\B9.\00-\D8\B1.\D8\B9.\00QAR \00\D1.\E2.\00-\D1.\E2.\00\D8\B1.\D9\82.\00-\D8\B1.\D9\82.\00SAR \00\D1\EA\C7\E4\00+\D1\EA\C7\E4\00\D8\B1\D9\8A\D8\A7\D9\84\00+\D8\B1\D9\8A\D8\A7\D9\84\00SDP \00\CC.\D3.\00-\CC.\D3.\00\D8\AC.\D8\B3.\00-\D8\AC.\D8\B3.\00SYP \00\E4.\D3.\00-\E4.\D3.\00\D9\84.\D8\B3.\00-\D9\84.\D8\B3.\00TND \00\CF.\CA.\00-\CF.\CA.\00\D8\AF.\D8\AA.\00-\D8\AF.\D8\AA.\00YER \00\D1.\EA.\00-\D1.\EA.\00\D8\B1.\D9\8A.\00-\D8\B1.\D9\8A.\00AZM \00man.\00 \00+man.\00BYR \00\F0\F3\E1\00+\F0\F3\E1\00\D1\80\D1\83\D0\B1\00+\D1\80\D1\83\D0\B1\00BGL \00\EB\E2\00\A0\00+\EB\E2\00\D0\BB\D0\B2\00\C2\A0\00+\D0\BB\D0\B2\00\E0\A7\B3\00-\E0\A7\B3\00\E0\A6\9F\E0\A6\BE\E0\A6\95\E0\A6\BE\00\02\03\00-\E0\A6\9F\E0\A6\BE\E0\A6\95\E0\A6\BE\00EUR \00EUR\00+EUR\00\E2\82\AC\00+\E2\82\AC\00BAK \00KM\00-KM\00-EUR\00-\E2\82\AC\00\A4\00-\A4\00CZK \00K\E8\00+K\E8\00K\C4\8D\00+K\C4\8D\00GBP \00\A3\00-\A3\00\C2\A3\00-\C2\A3\00DKK \00kr\00\04\00-kr\00CHF \00Fr.\00-Fr.\00+\A4\00AUD \00BWP \00Pu\00-Pu\00CAD \00\C2\A4\00-\C2\A4\00HKD \00HK$\00-HK$\00NZD \00PHP \00Php\00-Php\00SGD \00USD \00ZWD \00Z$\00-Z$\00-EUR \00ARS \00BOB \00$b\00-$b\00CLP \00COP \00CRC \00C\00-C\00DOP \00ECS \00GTQ \00Q\00-Q\00HNL \00L.\00-L.\00MXP \00NIO \00$C\00-$C\00PAB \00B/\00-B/\00PEN \00S/\00-S/\00PYG \00Gs.\00-Gs.\00SVC \00\A2\00-\A2\00\C2\A2\00-\C2\A2\00UYU \00N$\00-N$\00VEB \00Bs.\00-Bs.\00EEK \00IRR \00\D8\B1\DB\8C\D8\A7\D9\84\00\D9\AB\00\D9\AC\00+\D8\B1\DB\8C\D8\A7\D9\84\00+$\00ILS \00\F9\E7\00-\F9\E7\00\D7\A9\D7\97\00-\D7\A9\D7\97\00\E0\A4\B0\E0\A5\82\00-\E0\A4\B0\E0\A5\82\00HRK \00Kn\00-Kn\00HUF \00Ft\00+Ft\00AMD \00\B8\00-\B8\00\D4\B4\00-\D4\B4\00IDR \00Rp\00-Rp\00ISK \00+kr\00JPY \00\EF\BF\A5\00-\EF\BF\A5\00GEL \00\CB\00-\CB\00\E1\83\9A\00-\E1\83\9A\00KRW \00\EF\BF\A6\00-\EF\BF\A6\00LTL \00Lt\00+Lt\00LVL \00Ls\00-Ls\00MKD \00\D4\D5\DD\00+\D4\D5\DD\00\D0\B4\D0\B5\D0\BD\00+\D0\B4\D0\B5\D0\BD\00\E0\A4\B0\E0\A5\81\00-\E0\A4\B0\E0\A5\81\00MYR \00RM\00-RM\00MTL \00Lm\00-Lm\00NOK \00PLN \00Z\B3\00-Z\B3\00Z\C5\82\00-Z\C5\82\00BRL \00R$\00+R$\00ROL \00Lei\00-Lei\00RUR \00\D2\D5\C2\00+\D2\D5\C2\00\E0\E3\D1\00+\E0\E3\D1\00UAH \00\C7\D2\00+\C7\D2\00\D0\B3\D1\80\00+\D0\B3\D1\80\00 ru\00- ru\00SKK \00Sk\00+Sk\00SIT \00SIT\00+SIT\00ALL \00Lek\00-Lek\00YUN \00din\00-din\00\D4\D8\DD\00-\D4\D8\DD\00\D0\B4\D0\B8\D0\BD\00-\D0\B4\D0\B8\D0\BD\00SEK \00THB \00\DF\00-\DF\00\E0\B8\BF\00-\E0\B8\BF\00ERB \00PhP\00-PhP\00TRL \00TL\00+TL\00PKR \00Rs\00-Rs\00UZS \00so'm\00-so'm\00VND \00\E2\82\AB\00+\E2\82\AB\00CNY \00TWD \00NT$\00-NT$\00", [28353 x i8] c"\00Sun\00Mon\00Tue\00Wed\00Thu\00Fri\00Sat\00Sunday\00Monday\00Tuesday\00Wednesday\00Thursday\00Friday\00Saturday\00Jan\00Feb\00Mar\00Apr\00May\00Jun\00Jul\00Aug\00Sep\00Oct\00Nov\00Dec\00January\00February\00March\00April\00June\00July\00August\00September\00October\00November\00December\00AM\00PM\00%a %b %e %H:%M:%S %Y\00%m/%d/%y\00%H:%M:%S\00%I:%M:%S %p\00So\00Ma\00Di\00Wo\00Do\00Vr\00Sa\00Sondag\00Maandag\00Dinsdag\00Woensdag\00Donderdag\00Vrydag\00Saterdag\00Mei\00Okt\00Des\00Januarie\00Februarie\00Maart\00Junie\00Julie\00Augustus\00Oktober\00Desember\00VM\00NM\00%a %d %b %Y %T %Z\00%d/%m/%y\00%T\00\E1\8A\A5\E1\88\91\E1\8B\B5\00\E1\88\B0\E1\8A\9E\00\E1\88\9B\E1\8A\AD\E1\88\B0\E1\8A\9E\00\E1\88\A8\E1\89\A1\E1\8B\95\00\E1\88\90\E1\88\99\E1\88\B5\00\E1\8B\93\E1\88\AD\E1\89\A5\00\E1\89\85\E1\8B\B3\E1\88\9C\00\E1\8C\83\E1\8A\95\E1\8B\A9\00\E1\8D\8C\E1\89\A5\E1\88\A9\00\E1\88\9B\E1\88\AD\E1\89\BD\00\E1\8A\A4\E1\8D\95\E1\88\A8\00\E1\88\9C\E1\8B\AD\00\E1\8C\81\E1\8A\95\00\E1\8C\81\E1\88\8B\E1\8B\AD\00\E1\8A\A6\E1\8C\88\E1\88\B5\00\E1\88\B4\E1\8D\95\E1\89\B4\00\E1\8A\A6\E1\8A\AD\E1\89\B0\00\E1\8A\96\E1\89\AC\E1\88\9D\00\E1\8B\B2\E1\88\B4\E1\88\9D\00\E1\8C\83\E1\8A\95\E1\8B\A9\E1\8B\88\E1\88\AA\00\E1\8D\8C\E1\89\A5\E1\88\A9\E1\8B\88\E1\88\AA\00\E1\8A\A4\E1\8D\95\E1\88\A8\E1\88\8D\00\E1\8A\A6\E1\8C\88\E1\88\B5\E1\89\B5\00\E1\88\B4\E1\8D\95\E1\89\B4\E1\88\9D\E1\89\A0\E1\88\AD\00\E1\8A\A6\E1\8A\AD\E1\89\B0\E1\8B\8D\E1\89\A0\E1\88\AD\00\E1\8A\96\E1\89\AC\E1\88\9D\E1\89\A0\E1\88\AD\00\E1\8B\B2\E1\88\B4\E1\88\9D\E1\89\A0\E1\88\AD\00\E1\8C\A0\E1\8B\8B\E1\89\B5\00\E1\8A\A8\E1\88\B3\E1\8B\93\E1\89\B5\00%A\E1\8D\A3 %b %e \E1\89\80\E1\8A\95 %l:%M:%S %Z %Y\00%d/%m/%Y\00%r\00\CD\00\E6\00\CB\00\D1\00\CE\00\CC\00\D3\00\C7\E4\C3\CD\CF\00\C7\E4\C7\CB\E6\EA\E6\00\C7\E4\CB\E4\C7\CB\C7\C1\00\C7\E4\C3\D1\C8\D9\C7\C1\00\C7\E4\CE\E5\EA\D3\00\C7\E4\CC\E5\D9\C9\00\C7\E4\D3\C8\CA \00\EA\E6\C7\00\E1\C8\D1\00\E5\C7\D1\00\C3\C8\D1\00\E5\C7\EA\00\EA\E8\E6\00\EA\E8\E4\00\C3\DA\D3\00\D3\C8\CA\00\C3\E3\CA\00\E6\E8\E1\00\CF\EA\D3\00\EA\E6\C7\EA\D1\00\E1\C8\D1\C7\EA\D1\00\E5\C7\D1\D3\00\C3\C8\D1\EA\E4\00\E5\C7\EA\E8\00\EA\E8\E6\EA\E8\00\EA\E8\E4\EA\E8\00\C3\DA\D3\D7\D3\00\D3\C8\CA\E5\C8\D1\00\C3\E3\CA\E8\C8\D1\00\E6\E8\E1\E5\C8\D1\00\CF\EA\D3\E5\C8\D1\00\D5\00\E5\00%d %b, %Y %Z %I:%M:%S %p\00%d %b, %Y\00%Z %I:%M:%S \00%Z %I:%M:%S %p\00\D8\AD\00\D9\86\00\D8\AB\00\D8\B1\00\D8\AE\00\D8\AC\00\D8\B3\00\D8\A7\D9\84\D8\A3\D8\AD\D8\AF\00\D8\A7\D9\84\D8\A7\D8\AB\D9\86\D9\8A\D9\86\00\D8\A7\D9\84\D8\AB\D9\84\D8\A7\D8\AB\D8\A7\D8\A1\00\D8\A7\D9\84\D8\A3\D8\B1\D8\A8\D8\B9\D8\A7\D8\A1\00\D8\A7\D9\84\D8\AE\D9\85\D9\8A\D8\B3\00\D8\A7\D9\84\D8\AC\D9\85\D8\B9\D8\A9\00\D8\A7\D9\84\D8\B3\D8\A8\D8\AA \00\D9\8A\D9\86\D8\A7\00\D9\81\D8\A8\D8\B1\00\D9\85\D8\A7\D8\B1\00\D8\A3\D8\A8\D8\B1\00\D9\85\D8\A7\D9\8A\00\D9\8A\D9\88\D9\86\00\D9\8A\D9\88\D9\84\00\D8\A3\D8\BA\D8\B3\00\D8\B3\D8\A8\D8\AA\00\D8\A3\D9\83\D8\AA\00\D9\86\D9\88\D9\81\00\D8\AF\D9\8A\D8\B3\00\D9\8A\D9\86\D8\A7\D9\8A\D8\B1\00\D9\81\D8\A8\D8\B1\D8\A7\D9\8A\D8\B1\00\D9\85\D8\A7\D8\B1\D8\B3\00\D8\A3\D8\A8\D8\B1\D9\8A\D9\84\00\D9\85\D8\A7\D9\8A\D9\88\00\D9\8A\D9\88\D9\86\D9\8A\D9\88\00\D9\8A\D9\88\D9\84\D9\8A\D9\88\00\D8\A3\D8\BA\D8\B3\D8\B7\D8\B3\00\D8\B3\D8\A8\D8\AA\D9\85\D8\A8\D8\B1\00\D8\A3\D9\83\D8\AA\D9\88\D8\A8\D8\B1\00\D9\86\D9\88\D9\81\D9\85\D8\A8\D8\B1\00\D8\AF\D9\8A\D8\B3\D9\85\D8\A8\D8\B1\00\D8\B5\00\D9\85\00\C7\E4\D3\C8\CA\00\D8\A7\D9\84\D8\B3\D8\A8\D8\AA\00%A %d %B %Y %I:%M:%S %p %Z\00%A %d %B %Y\00%I:%M:%S %Z\00%I:%M:%S %p %Z\00\E3\C7\E6\E8\E6 \C7\E4\CB\C7\E6\EA\00\D4\C8\C7\D7\00\C2\D0\C7\D1\00\E6\EA\D3\C7\E6\00\E6\E8\C7\D1\00\CD\D2\EA\D1\C7\E6\00\CA\E5\E8\D2\00\C2\C8\00\C3\EA\E4\E8\E4\00\CA\D4\D1\EA\E6 \C7\E4\C3\E8\E4\00\CA\D4\D1\EA\E6 \C7\E4\CB\C7\E6\EA\00\E3\C7\E6\E8\E6 \C7\E4\C3\E8\E4\00\D9\83\D8\A7\D9\86\D9\88\D9\86 \D8\A7\D9\84\D8\AB\D8\A7\D9\86\D9\8A\00\D8\B4\D8\A8\D8\A7\D8\B7\00\D8\A2\D8\B0\D8\A7\D8\B1\00\D9\86\D9\8A\D8\B3\D8\A7\D9\86\00\D9\86\D9\88\D8\A7\D8\B1\00\D8\AD\D8\B2\D9\8A\D8\B1\D8\A7\D9\86\00\D8\AA\D9\85\D9\88\D8\B2\00\D8\A2\D8\A8\00\D8\A3\D9\8A\D9\84\D9\88\D9\84\00\D8\AA\D8\B4\D8\B1\D9\8A\D9\86 \D8\A7\D9\84\D8\A3\D9\88\D9\84\00\D8\AA\D8\B4\D8\B1\D9\8A\D9\86 \D8\A7\D9\84\D8\AB\D8\A7\D9\86\D9\8A\00\D9\83\D8\A7\D9\86\D9\88\D9\86 \D8\A7\D9\84\D8\A3\D9\88\D9\84\00\C7\E4\C5\CB\E6\EA\E6\00\C7\E4\CC\E5\D9\E0\C9\00\E6\EA\D3\E0\C7\E6\00\C3\EA\C7\D1\00\CA\E0\E5\E0\E8\D2\00%A %.1d %B %Y %.1H:%M:%S\00%A %.1d %B %Y\00%.1H:%M:%S\00\D8\A7\D9\84\D8\A5\D8\AB\D9\86\D9\8A\D9\86\00\D8\A7\D9\84\D8\AC\D9\85\D8\B9\D9\80\D8\A9\00\D9\86\D9\8A\D8\B3\D9\80\D8\A7\D9\86\00\D8\A3\D9\8A\D8\A7\D8\B1\00\D8\AA\D9\80\D9\85\D9\80\D9\88\D8\B2\00\E6\E8\C7\D1\C7\E6\00\CD\D2\EA\D1\00\D9\86\D9\88\D8\A7\D8\B1\D8\A7\D9\86\00\D8\AD\D8\B2\D9\8A\D8\B1\00baz\00bir\00iki\00\FC\E7\FC\00d\F6r\00be\FE\00alt\00bazar g\FCn\FC\00birinci g\FCn\00ikinci g\FCn\00\FC\E7\FCnc\FC g\FCn\00d\F6rd\FCnc\FC g\FCn\00be\FEinci g\FCn\00alt\FDnc\FD g\FCn\00Yan\00Fev\00\DDyn\00\DDyl\00Avq\00Sen\00Noy\00Dek\00yanvar\00fevral\00mart\00aprel\00may\00iyun\00iyul\00avqust\00sentyabr\00oktyabr\00noyabr\00dekabr\00%A, %d %B %Y %T\00%d.%m.%Y\00\C3\BC\C3\A7\C3\BC\00d\C3\B6r\00be\C5\9F\00bazar g\C3\BCn\C3\BC\00birinci g\C3\BCn\00ikinci g\C3\BCn\00\C3\BC\C3\A7\C3\BCnc\C3\BC g\C3\BCn\00d\C3\B6rd\C3\BCnc\C3\BC g\C3\BCn\00be\C5\9Finci g\C3\BCn\00alt\C4\B1nc\C4\B1 g\C3\BCn\00\C4\B0yn\00\C4\B0yl\00\CD\FF\E4\00\CF\E0\ED\00\C0\A2\F2\00\D1\F0\E4\00\D7\F6\E2\00\CF\FF\F2\00\D1\F3\E1\00\CD\FF\E4\E7\E5\EB\FF\00\CF\E0\ED\FF\E4\E7\E5\EB\E0\EA\00\C0\A2\F2\EE\F0\E0\EA\00\D1\E5\F0\E0\E4\E0\00\D7\E0\F6\E2\E5\F0\00\CF\FF\F2\ED\B3\F6\E0\00\D1\F3\E1\EE\F2\E0\00\D1\F2\E4\00\CB\FE\F2\00\D1\E0\EA\00\CA\F0\F1\00\D2\F0\E0\00\D7\FD\F0\00\CB\B3\EF\00\C6\ED\E2\00\C2\F0\F1\00\CA\F1\F2\00\CB\B3\F1\00\D1\ED\E6\00\D1\F2\F3\E4\E7\E5\ED\FC\00\CB\FE\F2\FB\00\D1\E0\EA\E0\E2\B3\EA\00\CA\F0\E0\F1\E0\E2\B3\EA\00\D2\F0\E0\E2\E5\ED\FC\00\D7\FD\F0\E2\E5\ED\FC\00\CB\B3\EF\E5\ED\FC\00\C6\ED\B3\E2\E5\ED\FC\00\C2\E5\F0\E0\F1\E5\ED\FC\00\CA\E0\F1\F2\F0\FB\F7\ED\B3\EA\00\CB\B3\F1\F2\E0\EF\E0\E4\00\D1\ED\E5\E6\E0\ED\FC\00%a %d %b %Y %T\00\D0\9D\D1\8F\D0\B4\00\D0\9F\D0\B0\D0\BD\00\D0\90\D1\9E\D1\82\00\D0\A1\D1\80\D0\B4\00\D0\A7\D1\86\D0\B2\00\D0\9F\D1\8F\D1\82\00\D0\A1\D1\83\D0\B1\00\D0\9D\D1\8F\D0\B4\D0\B7\D0\B5\D0\BB\D1\8F\00\D0\9F\D0\B0\D0\BD\D1\8F\D0\B4\D0\B7\D0\B5\D0\BB\D0\B0\D0\BA\00\D0\90\D1\9E\D1\82\D0\BE\D1\80\D0\B0\D0\BA\00\D0\A1\D0\B5\D1\80\D0\B0\D0\B4\D0\B0\00\D0\A7\D0\B0\D1\86\D0\B2\D0\B5\D1\80\00\D0\9F\D1\8F\D1\82\D0\BD\D1\96\D1\86\D0\B0\00\D0\A1\D1\83\D0\B1\D0\BE\D1\82\D0\B0\00\D0\A1\D1\82\D0\B4\00\D0\9B\D1\8E\D1\82\00\D0\A1\D0\B0\D0\BA\00\D0\9A\D1\80\D1\81\00\D0\A2\D1\80\D0\B0\00\D0\A7\D1\8D\D1\80\00\D0\9B\D1\96\D0\BF\00\D0\96\D0\BD\D0\B2\00\D0\92\D1\80\D1\81\00\D0\9A\D1\81\D1\82\00\D0\9B\D1\96\D1\81\00\D0\A1\D0\BD\D0\B6\00\D0\A1\D1\82\D1\83\D0\B4\D0\B7\D0\B5\D0\BD\D1\8C\00\D0\9B\D1\8E\D1\82\D1\8B\00\D0\A1\D0\B0\D0\BA\D0\B0\D0\B2\D1\96\D0\BA\00\D0\9A\D1\80\D0\B0\D1\81\D0\B0\D0\B2\D1\96\D0\BA\00\D0\A2\D1\80\D0\B0\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\A7\D1\8D\D1\80\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\9B\D1\96\D0\BF\D0\B5\D0\BD\D1\8C\00\D0\96\D0\BD\D1\96\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\92\D0\B5\D1\80\D0\B0\D1\81\D0\B5\D0\BD\D1\8C\00\D0\9A\D0\B0\D1\81\D1\82\D1\80\D1\8B\D1\87\D0\BD\D1\96\D0\BA\00\D0\9B\D1\96\D1\81\D1\82\D0\B0\D0\BF\D0\B0\D0\B4\00\D0\A1\D0\BD\D0\B5\D0\B6\D0\B0\D0\BD\D1\8C\00\ED\E4\00\EF\ED\00\E2\F2\00\F1\F0\00\F7\F2\00\EF\F2\00\F1\E1\00\ED\E5\E4\E5\EB\FF\00\EF\EE\ED\E5\E4\E5\EB\ED\E8\EA\00\E2\F2\EE\F0\ED\E8\EA\00\F1\F0\FF\E4\E0\00\F7\E5\F2\E2\FA\F0\F2\FA\EA\00\EF\E5\F2\FA\EA\00\F1\FA\E1\EE\F2\E0\00\FF\ED\F3\00\F4\E5\E2\00\EC\E0\F0\00\E0\EF\F0\00\EC\E0\E9\00\FE\ED\E8\00\FE\EB\E8\00\E0\E2\E3\00\F1\E5\EF\00\EE\EA\F2\00\ED\EE\E5\00\E4\E5\EA\00\FF\ED\F3\E0\F0\E8\00\F4\E5\E2\F0\F3\E0\F0\E8\00\EC\E0\F0\F2\00\E0\EF\F0\E8\EB\00\E0\E2\E3\F3\F1\F2\00\F1\E5\EF\F2\E5\EC\E2\F0\E8\00\EE\EA\F2\EE\EC\E2\F0\E8\00\ED\EE\E5\EC\E2\F0\E8\00\E4\E5\EA\E5\EC\E2\F0\E8\00%x (%a) %X %Z\00%e.%m.%Y\00%k,%M,%S\00%l,%M,%S\00\D0\BD\D0\B4\00\D0\BF\D0\BD\00\D0\B2\D1\82\00\D1\81\D1\80\00\D1\87\D1\82\00\D0\BF\D1\82\00\D1\81\D0\B1\00\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D1\8F\00\D0\BF\D0\BE\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D0\BD\D0\B8\D0\BA\00\D0\B2\D1\82\D0\BE\D1\80\D0\BD\D0\B8\D0\BA\00\D1\81\D1\80\D1\8F\D0\B4\D0\B0\00\D1\87\D0\B5\D1\82\D0\B2\D1\8A\D1\80\D1\82\D1\8A\D0\BA\00\D0\BF\D0\B5\D1\82\D1\8A\D0\BA\00\D1\81\D1\8A\D0\B1\D0\BE\D1\82\D0\B0\00\D1\8F\D0\BD\D1\83\00\D1\84\D0\B5\D0\B2\00\D0\BC\D0\B0\D1\80\00\D0\B0\D0\BF\D1\80\00\D0\BC\D0\B0\D0\B9\00\D1\8E\D0\BD\D0\B8\00\D1\8E\D0\BB\D0\B8\00\D0\B0\D0\B2\D0\B3\00\D1\81\D0\B5\D0\BF\00\D0\BE\D0\BA\D1\82\00\D0\BD\D0\BE\D0\B5\00\D0\B4\D0\B5\D0\BA\00\D1\8F\D0\BD\D1\83\D0\B0\D1\80\D0\B8\00\D1\84\D0\B5\D0\B2\D1\80\D1\83\D0\B0\D1\80\D0\B8\00\D0\BC\D0\B0\D1\80\D1\82\00\D0\B0\D0\BF\D1\80\D0\B8\D0\BB\00\D0\B0\D0\B2\D0\B3\D1\83\D1\81\D1\82\00\D1\81\D0\B5\D0\BF\D1\82\D0\B5\D0\BC\D0\B2\D1\80\D0\B8\00\D0\BE\D0\BA\D1\82\D0\BE\D0\BC\D0\B2\D1\80\D0\B8\00\D0\BD\D0\BE\D0\B5\D0\BC\D0\B2\D1\80\D0\B8\00\D0\B4\D0\B5\D0\BA\D0\B5\D0\BC\D0\B2\D1\80\D0\B8\00\E0\A6\B0\E0\A6\AC\E0\A6\BF\00\E0\A6\B8\E0\A7\8B\E0\A6\AE\00\E0\A6\AE\E0\A6\99\E0\A6\97\E0\A6\B2\00\E0\A6\AC\E0\A7\81\E0\A6\A7\00\E0\A6\AC\E0\A7\83\E0\A6\B9\E0\A6\B8\E0\A7\8D\E0\A6\AA\E0\A6\A4\E0\A6\BF\00\E0\A6\B6\E0\A7\81\E0\A6\95\E0\A7\8D\E0\A6\B0\00\E0\A6\B6\E0\A6\A8\E0\A6\BF\00\E0\A6\B0\E0\A6\AC\E0\A6\BF\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B8\E0\A7\8B\E0\A6\AE\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\AE\E0\A6\99\E0\A6\97\E0\A6\B2\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\AC\E0\A7\81\E0\A6\A7\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\AC\E0\A7\83\E0\A6\B9\E0\A6\B8\E0\A7\8D\E0\A6\AA\E0\A6\A4\E0\A6\BF\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B6\E0\A7\81\E0\A6\95\E0\A7\8D\E0\A6\B0\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B6\E0\A6\A8\E0\A6\BF\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\9C\E0\A6\BE\E0\A6\A8\00\E0\A6\AB\E0\A7\87\E0\A6\AC\00\E0\A6\AE\E0\A6\BE\E0\A6\B0\00\E0\A6\8F\E0\A6\AA\E0\A7\8D\E0\A6\B0\00\E0\A6\AE\E0\A7\87\00\E0\A6\9C\E0\A7\81\E0\A6\A8\00\E0\A6\9C\E0\A7\81\E0\A6\B2\00\E0\A6\86\E0\A6\97\00\E0\A6\B8\E0\A7\87\E0\A6\AA\00\E0\A6\85\E0\A6\95\E0\A7\8D\E0\A6\9F\E0\A7\8B\E0\A6\AC\E0\A6\B0\00\E0\A6\A8\E0\A6\AD\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\B0\00\E0\A6\A1\E0\A6\BF\E0\A6\B8\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\B0\00\E0\A6\9C\E0\A6\BE\E0\A6\A8\E0\A7\81\E0\A7\9F\E0\A6\BE\E0\A6\B0\E0\A7\80\00\E0\A6\AB\E0\A7\87\E0\A6\AC\E0\A7\8D\E0\A6\B0\E0\A7\81\E0\A7\9F\E0\A6\BE\E0\A6\B0\E0\A7\80\00\E0\A6\AE\E0\A6\BE\E0\A6\B0\E0\A7\8D\E0\A6\9A\00\E0\A6\8F\E0\A6\AA\E0\A7\8D\E0\A6\B0\E0\A6\BF\E0\A6\B2\00\E0\A6\9C\E0\A7\81\E0\A6\B2\E0\A6\BE\E0\A6\87\00\E0\A6\86\E0\A6\97\E0\A6\B8\E0\A7\8D\E0\A6\9F\00\E0\A6\B8\E0\A7\87\E0\A6\AA\E0\A7\8D\E0\A6\9F\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\85\E0\A6\95\E0\A7\8D\E0\A6\9F\E0\A7\8B\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\A8\E0\A6\AD\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\A1\E0\A6\BF\E0\A6\B8\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B8\E0\A6\95\E0\A6\BE\E0\A6\B2\00\E0\A6\AC\E0\A6\BF\E0\A6\95\E0\A6\BE\E0\A6\B2\00%A %d %b %Y %I:%M:%S %p %Z\00%A %d %b %Y\00\E0\A6\B8\E0\A7\87\E0\A6\AA\E0\A7\8D\E0\A6\9F\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\B0\00\E0\A6\AA\E0\A7\82\E0\A6\B0\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B9\E0\A7\8D\E0\A6\A3\00\E0\A6\85\E0\A6\AA\E0\A6\B0\E0\A6\BE\E0\A6\B9\E0\A7\8D\E0\A6\A3\00sul\00lun\00meu\00mer\00yao\00gwe\00sad\00meurzh\00merc'her\00yaou\00gwener\00sadorn\00Gen \00C'hw\00Meu \00Ebr \00Mae \00Eve \00Gou \00Eos \00Gwe \00Her \00Du \00Ker \00Genver\00C'hwevrer\00Meurzh\00Ebrel\00Mae\00Mezheven\00Gouere\00Eost\00Gwengolo\00Here\00Du\00Kerzu\00 \00D'ar %A %d a viz %B %Y\00%Ie%M:%S %p\00Ned\00Pon\00Uto\00Sri\00\C8et\00Pet\00Sub\00Nedjelja\00Ponedjeljak\00Utorak\00Srijeda\00\C8etvrtak\00Petak\00Subota\00Maj\00Januar\00Februar\00Mart\00Juni\00Juli\00Septembar\00Oktobar\00Novembar\00Decembar\00\C4\8Cet\00\C4\8Cetvrtak\00dg\00dl\00dt\00dc\00dj\00dv\00ds\00diumenge\00dilluns\00dimarts\00dimecres\00dijous\00divendres\00dissabte\00gen\00feb\00mar\00abr\00mai\00jun\00jul\00ago\00set\00oct\00nov\00des\00gener\00febrer\00mar\E7\00abril\00maig\00juny\00juliol\00agost\00setembre\00octubre\00novembre\00desembre\00mar\C3\A7\00Ne\00Po\00\DAt\00St\00\C8t\00P\E1\00Ned\ECle\00Pond\ECl\ED\00\DAter\FD\00St\F8eda\00\C8tvrtek\00P\E1tek\00Sobota\00led\00\FAno\00b\F8e\00dub\00kv\EC\00\E8en\00\E8ec\00srp\00z\E1\F8\00\F8\EDj\00lis\00pro\00leden\00\FAnor\00b\F8ezen\00duben\00kv\ECten\00\E8erven\00\E8ervenec\00srpen\00z\E1\F8\ED\00\F8\EDjen\00listopad\00prosinec\00%a\A0%e.\A0%B\A0%Y,\A0%H:%M:%S\A0%Z\00%I:%M:%S\00\C3\9At\00\C4\8Ct\00P\C3\A1\00Ned\C4\9Ble\00Pond\C4\9Bl\C3\AD\00\C3\9Ater\C3\BD\00St\C5\99eda\00\C4\8Ctvrtek\00P\C3\A1tek\00\C3\BAno\00b\C5\99e\00kv\C4\9B\00\C4\8Den\00\C4\8Dec\00z\C3\A1\C5\99\00\C5\99\C3\ADj\00\C3\BAnor\00b\C5\99ezen\00kv\C4\9Bten\00\C4\8Derven\00\C4\8Dervenec\00z\C3\A1\C5\99\C3\AD\00\C5\99\C3\ADjen\00%a\C2\A0%e.\C2\A0%B\C2\A0%Y,\C2\A0%H:%M:%S\C2\A0%Z\00Sul\00Llu\00Maw\00Mer\00Iau\00Gwe\00Sad\00Llun\00Mawrth\00Mercher\00Gwener\00Sadwrn\00Ion\00Chw\00Ebr\00Mai\00Meh\00Gor\00Aws\00Med\00Hyd\00Tach\00Rha\00Ionawr\00Chwefror\00Ebrill\00Mehefin\00Gorffennaf\00Awst\00Medi\00Hydref\00Tachwedd\00Rhagfyr\00Dydd %A %d a viz %B %Y %T %Z\00%d.%m.%y\00s\F8n\00man\00tir\00ons\00tor\00fre\00l\F8r\00s\F8ndag\00mandag\00tirsdag\00onsdag\00torsdag\00fredag\00l\F8rdag\00jan\00apr\00maj\00aug\00sep\00okt\00dec\00januar\00februar\00marts\00april\00juni\00juli\00august\00september\00oktober\00november\00december\00%d-%m-%Y\00s\C3\B8n\00l\C3\B8r\00s\C3\B8ndag\00l\C3\B8rdag\00Son\00Die\00Mit\00Don\00Fre\00Sam\00Sonntag\00Montag\00Dienstag\00Mittwoch\00Donnerstag\00Freitag\00Samstag\00J\E4n\00M\E4r\00Dez\00J\E4nner\00Feber\00M\E4rz\00Dezember\00%Y-%m-%d\00J\C3\A4n\00M\C3\A4r\00J\C3\A4nner\00M\C3\A4rz\00\CA\F5\F1\00\C4\E5\F5\00\D4\F1\E9\00\D4\E5\F4\00\D0\E5\EC\00\D0\E1\F1\00\D3\E1\E2\00\CA\F5\F1\E9\E1\EA\DE\00\C4\E5\F5\F4\DD\F1\E1\00\D4\F1\DF\F4\E7\00\D4\E5\F4\DC\F1\F4\E7\00\D0\DD\EC\F0\F4\E7\00\D0\E1\F1\E1\F3\EA\E5\F5\DE\00\D3\DC\E2\E2\E1\F4\EF\00\C9\E1\ED\00\D6\E5\E2\00\CC\DC\F1\00\C1\F0\F1\00\CC\DC\E9\00\C9\EF\FD\ED\00\C9\EF\FD\EB\00\C1\FD\E3\00\D3\E5\F0\00\CF\EA\F4\00\CD\EF\DD\00\C4\E5\EA\00\C9\E1\ED\EF\F5\DC\F1\E9\EF\F2\00\D6\E5\E2\F1\EF\F5\DC\F1\E9\EF\F2\00\CC\DC\F1\F4\E9\EF\F2\00\C1\F0\F1\DF\EB\E9\EF\F2\00\CC\DC\E9\EF\F2\00\C9\EF\FD\ED\E9\EF\F2\00\C9\EF\FD\EB\E9\EF\F2\00\C1\FD\E3\EF\F5\F3\F4\EF\F2\00\D3\E5\F0\F4\DD\EC\E2\F1\E9\EF\F2\00\CF\EA\F4\FE\E2\F1\E9\EF\F2\00\CD\EF\DD\EC\E2\F1\E9\EF\F2\00\C4\E5\EA\DD\EC\E2\F1\E9\EF\F2\00\CE\9A\CF\85\CF\81\00\CE\94\CE\B5\CF\85\00\CE\A4\CF\81\CE\B9\00\CE\A4\CE\B5\CF\84\00\CE\A0\CE\B5\CE\BC\00\CE\A0\CE\B1\CF\81\00\CE\A3\CE\B1\CE\B2\00\CE\9A\CF\85\CF\81\CE\B9\CE\B1\CE\BA\CE\AE\00\CE\94\CE\B5\CF\85\CF\84\CE\AD\CF\81\CE\B1\00\CE\A4\CF\81\CE\AF\CF\84\CE\B7\00\CE\A4\CE\B5\CF\84\CE\AC\CF\81\CF\84\CE\B7\00\CE\A0\CE\AD\CE\BC\CF\80\CF\84\CE\B7\00\CE\A0\CE\B1\CF\81\CE\B1\CF\83\CE\BA\CE\B5\CF\85\CE\AE\00\CE\A3\CE\AC\CE\B2\CE\B2\CE\B1\CF\84\CE\BF\00\CE\99\CE\B1\CE\BD\00\CE\A6\CE\B5\CE\B2\00\CE\9C\CE\AC\CF\81\00\CE\91\CF\80\CF\81\00\CE\9C\CE\AC\CE\B9\00\CE\99\CE\BF\CF\8D\CE\BD\00\CE\99\CE\BF\CF\8D\CE\BB\00\CE\91\CF\8D\CE\B3\00\CE\A3\CE\B5\CF\80\00\CE\9F\CE\BA\CF\84\00\CE\9D\CE\BF\CE\AD\00\CE\94\CE\B5\CE\BA\00\CE\99\CE\B1\CE\BD\CE\BF\CF\85\CE\AC\CF\81\CE\B9\CE\BF\CF\82\00\CE\A6\CE\B5\CE\B2\CF\81\CE\BF\CF\85\CE\AC\CF\81\CE\B9\CE\BF\CF\82\00\CE\9C\CE\AC\CF\81\CF\84\CE\B9\CE\BF\CF\82\00\CE\91\CF\80\CF\81\CE\AF\CE\BB\CE\B9\CE\BF\CF\82\00\CE\9C\CE\AC\CE\B9\CE\BF\CF\82\00\CE\99\CE\BF\CF\8D\CE\BD\CE\B9\CE\BF\CF\82\00\CE\99\CE\BF\CF\8D\CE\BB\CE\B9\CE\BF\CF\82\00\CE\91\CF\8D\CE\B3\CE\BF\CF\85\CF\83\CF\84\CE\BF\CF\82\00\CE\A3\CE\B5\CF\80\CF\84\CE\AD\CE\BC\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00\CE\9F\CE\BA\CF\84\CF\8E\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00\CE\9D\CE\BF\CE\AD\CE\BC\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00\CE\94\CE\B5\CE\BA\CE\AD\CE\BC\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00%a %d %b %Y %r %Z\00%Y-%m-%dT%T %Z\00%A, %B %d, %Y %p%I:%M:%S %Z\00%A, %B %d, %Y\00%I:%M:%S %Z\00%p%I:%M:%S %Z\00%A, %d %B, %Y %I:%M:%S %p %Z\00%A, %d %B, %Y\00%A %d,%B,%Y %I:%M:%S %p %Z\00%A %d,%B,%Y\00%m/%d/%Y\00dim\00\C4\B5a\C5\AD\00ven\00sab\00diman\C4\89o\00lundo\00mardo\00merkredo\00\C4\B5a\C5\ADdo\00vendredo\00sabato\00A\C5\ADg\00Januaro\00Februaro\00Marto\00Aprilo\00Majo\00Junio\00Julio\00A\C5\ADgusto\00Septembro\00Oktobro\00Novembro\00Decembro\00%a %d %b %Y %T %z\00dom\00mi\E9\00jue\00vie\00s\E1b\00domingo\00lunes\00martes\00mi\E9rcoles\00jueves\00viernes\00s\E1bado\00ene\00dic\00enero\00febrero\00marzo\00mayo\00junio\00julio\00agosto\00septiembre\00noviembre\00diciembre\00mi\C3\A9\00s\C3\A1b\00mi\C3\A9rcoles\00s\C3\A1bado\00P\00E\00T\00K\00N\00R\00L\00p\FChap\E4ev\00esmasp\E4ev\00teisip\E4ev\00kolmap\E4ev\00neljap\E4ev\00reede\00laup\E4ev\00jaan \00veebr\00m\E4rts\00apr \00mai \00juuni\00juuli\00aug \00sept \00okt \00nov \00dets \00jaanuar\00veebruar\00aprill\00oktoober\00detsember\00p\C3\BChap\C3\A4ev\00esmasp\C3\A4ev\00teisip\C3\A4ev\00kolmap\C3\A4ev\00neljap\C3\A4ev\00laup\C3\A4ev\00m\C3\A4rts\00ig.\00al.\00ar.\00az.\00og.\00or.\00lr.\00igandea\00astelehena\00asteartea\00asteazkena\00osteguna\00ostirala\00larunbata\00urt\00ots\00api\00eka\00uzt\00abu\00ira\00urr\00aza\00abe\00urtarrila\00otsaila\00martxoa\00apirila\00maiatza\00ekaina\00uztaila\00abuztua\00iraila\00urria\00azaroa\00abendua\00%y-%m-%d %T %Z\00%a, %Y.eko %bren %da\00\DB\8C.\00\D8\AF.\00\D8\B3.\00\DA\86.\00\D9\BE.\00\D8\AC.\00\D8\B4.\00\DB\8C\DA\A9\E2\80\8C\D8\B4\D9\86\D8\A8\D9\87\00\D8\AF\D9\88\D8\B4\D9\86\D8\A8\D9\87\00\D8\B3\D9\87\E2\80\8C\D8\B4\D9\86\D8\A8\D9\87\00\DA\86\D9\87\D8\A7\D8\B1\D8\B4\D9\86\D8\A8\D9\87\00\D9\BE\D9\86\D8\AC\E2\80\8C\D8\B4\D9\86\D8\A8\D9\87\00\D8\AC\D9\85\D8\B9\D9\87\00\D8\B4\D9\86\D8\A8\D9\87\00\DA\98\D8\A7\D9\86\00\D9\81\D9\88\D8\B1\00\D8\A2\D9\88\D8\B1\00\D9\85\D9\80\D9\87\00\DA\98\D9\88\D9\86\00\DA\98\D9\88\DB\8C\00\D8\A7\D9\88\D8\AA\00\D8\B3\D9\BE\D8\AA\00\D8\A7\D9\83\D8\AA\00\D9\86\D9\88\D8\A7\00\D8\AF\D8\B3\D8\A7\00\DA\98\D8\A7\D9\86\D9\88\DB\8C\D9\87\00\D9\81\D9\88\D8\B1\DB\8C\D9\87\00\D8\A2\D9\88\D8\B1\DB\8C\D9\84\00\D9\85\D9\87\00\DA\98\D9\88\D8\A6\D9\86\00\DA\98\D9\88\D8\A6\DB\8C\D9\87\00\D8\B3\D9\BE\D8\AA\D8\A7\D9\85\D8\A8\D8\B1\00\D8\A7\D9\83\D8\AA\D8\A8\D8\B1\00\D9\86\D9\88\D8\A7\D9\85\D8\A8\D8\B1\00\D8\AF\D8\B3\D8\A7\D9\85\D8\A8\D8\B1\00\D8\B5\D8\A8\D8\AD\00\D8\B9\D8\B5\D8\B1\00\E2\80\AB%A %e %B %Y\D8\8C %I:%M:%S %p\E2\80\AC\00%Y/%m/%d\00\E2\80\AB%I:%M:%S %p\E2\80\AC\00su\00ma\00ti\00ke\00to\00pe\00la\00sunnuntai\00maanantai\00tiistai\00keskiviikko\00torstai\00perjantai\00lauantai\00tammi\A0\00helmi\A0\00maalis\00huhti\A0\00touko\A0\00kes\E4\A0\A0\00hein\E4\A0\00elo\A0\A0\A0\00syys\A0\A0\00loka\A0\A0\00marras\00joulu\A0\00tammikuu\00helmikuu\00maaliskuu\00huhtikuu\00toukokuu\00kes\E4kuu\00hein\E4kuu\00elokuu\00syyskuu\00lokakuu\00marraskuu\00joulukuu\00%a %e %B %Y %T\00tammi\C2\A0\00helmi\C2\A0\00huhti\C2\A0\00touko\C2\A0\00kes\C3\A4\C2\A0\C2\A0\00hein\C3\A4\C2\A0\00elo\C2\A0\C2\A0\C2\A0\00syys\C2\A0\C2\A0\00loka\C2\A0\C2\A0\00joulu\C2\A0\00kes\C3\A4kuu\00hein\C3\A4kuu\00sun\00m\E1n\00t\FDs\00mik\00h\F3s\00fr\ED\00ley\00sunnudagur\00m\E1nadagur\00t\FDsdagur\00mikudagur\00h\F3sdagur\00fr\EDggjadagur\00leygardagur\00mars\00apr\EDl\00desember\00%d/%m-%Y\00m\C3\A1n\00t\C3\BDs\00h\C3\B3s\00fr\C3\AD\00m\C3\A1nadagur\00t\C3\BDsdagur\00h\C3\B3sdagur\00fr\C3\ADggjadagur\00apr\C3\ADl\00jeu\00sam\00dimanche\00lundi\00mardi\00mercredi\00jeudi\00vendredi\00samedi\00f\E9v\00avr\00jui\00ao\FB\00d\E9c\00janvier\00f\E9vrier\00avril\00juin\00juillet\00ao\FBt\00septembre\00octobre\00d\E9cembre\00f\C3\A9v\00ao\C3\BB\00d\C3\A9c\00f\C3\A9vrier\00ao\C3\BBt\00d\C3\A9cembre\00%d. %m. %y\00Domh\00Luan\00M\E1irt\00C\E9ad\00D\E9ar\00Aoine\00Sath\00D\E9 Domhnaigh\00D\E9 Luain\00D\E9 M\E1irt\00D\E9 C\E9adaoin\00D\E9ardaoin\00D\E9 hAoine\00D\E9 Sathairn\00Ean\00Feabh\00M\E1rta\00Aib\00Beal\00Meith\00I\FAil\00L\FAn\00MF\F3mh\00DF\F3mh\00Samh\00Noll\00Ean\E1ir\00Feabhra\00Aibre\E1n\00M\ED na Bealtaine\00L\FAnasa\00Me\E1n F\F3mhair\00Deireadh F\F3mhair\00M\ED na Samhna\00M\ED na Nollag\00M\C3\A1irt\00C\C3\A9ad\00D\C3\A9ar\00D\C3\A9 Domhnaigh\00D\C3\A9 Luain\00D\C3\A9 M\C3\A1irt\00D\C3\A9 C\C3\A9adaoin\00D\C3\A9ardaoin\00D\C3\A9 hAoine\00D\C3\A9 Sathairn\00M\C3\A1rta\00I\C3\BAil\00L\C3\BAn\00MF\C3\B3mh\00DF\C3\B3mh\00Ean\C3\A1ir\00Aibre\C3\A1n\00M\C3\AD na Bealtaine\00L\C3\BAnasa\00Me\C3\A1n F\C3\B3mhair\00Deireadh F\C3\B3mhair\00M\C3\AD na Samhna\00M\C3\AD na Nollag\00Dido\00Dilu\00Dim\00Dic\00Diar\00Diha\00Disa\00Did\F2mhnaich\00Diluain\00Dim\E0irt\00Diciadain\00Diardaoin\00Dihaoine\00Disathairne\00Fao\00Gea\00M\E0r\00Gib\00Mh\E0\00OgM\00luc\00L\F9n\00Dam\00D\F9b\00Am Faoilteach\00An Gearran\00Am M\E0rt\00An Giblean\00A' Mh\E0igh\00An t-Mh\ECos\00An t-luchar\00An L\F9nasdal\00An t-Sultain\00An Damhair\00An t-Samhain\00An D\F9bhlachd\00Did\C3\B2mhnaich\00Dim\C3\A0irt\00M\C3\A0r\00Mh\C3\A0\00L\C3\B9n\00D\C3\B9b\00Am M\C3\A0rt\00A' Mh\C3\A0igh\00An t-Mh\C3\ACos\00An L\C3\B9nasdal\00An D\C3\B9bhlachd\00Dom\00Lun\00M\E9r\00Xov\00Ven\00S\E1b\00Domingo\00Luns\00Martes\00M\E9rcores\00Xoves\00Venres\00S\E1bado\00Xan\00Abr\00Xu\F1\00Xul\00Ago\00Set\00Out\00Xaneiro\00Febreiro\00Marzo\00Abril\00Maio\00Xu\F1o\00Xullo\00Agosto\00Setembro\00Outubro\00M\C3\A9r\00S\C3\A1b\00M\C3\A9rcores\00S\C3\A1bado\00Xu\C3\B1\00Xu\C3\B1o\00Jed\00Jel\00Jem\00Jerc\00Jerd\00Jeh\00Jes\00Jedoonee\00Jelhein\00Jemayrt\00Jercean\00Jerdein\00Jeheiney\00Jesarn\00J-guer\00T-arree\00Mayrnt\00Avrril\00Boaldyn\00M-souree\00J-souree\00Luanistyn\00M-fouyir\00J-fouyir\00M.Houney\00M.Nollick\00Jerrey-geuree\00Toshiaght-arree\00Averil\00Mean-souree\00Jerrey-souree\00Mean-fouyir\00Jerrey-fouyir\00Mee Houney\00Mee ny Nollick\00\E0'\00\E1'\00\E2'\00\E3'\00\E4'\00\E5'\00\F9'\00\F8\E0\F9\E5\EF\00\F9\F0\E9\00\F9\EC\E9\F9\E9\00\F8\E1\E9\F2\E9\00\E7\EE\E9\F9\E9\00\F9\E9\F9\E9\00\F9\E1\FA\00\E9\F0\E5\00\F4\E1\F8\00\EE\F8\F5\00\E0\F4\F8\00\EE\E0\E9\00\E9\E5\F0\00\E9\E5\EC\00\E0\E5\E2\00\F1\F4\E8\00\E0\E5\F7\00\F0\E5\E1\00\E3\F6\EE\00\E9\F0\E5\E0\F8\00\F4\E1\F8\E5\E0\F8\00\E0\F4\F8\E9\EC\00\E9\E5\F0\E9\00\E9\E5\EC\E9\00\E0\E5\E2\E5\F1\E8\00\F1\F4\E8\EE\E1\F8\00\E0\E5\F7\E8\E5\E1\F8\00\F0\E5\E1\EE\E1\F8\00\E3\F6\EE\E1\F8\00%Z %H:%M:%S %Y %b %d %a\00%I:%M:%S %P\00\D7\90'\00\D7\91'\00\D7\92'\00\D7\93'\00\D7\94'\00\D7\95'\00\D7\A9'\00\D7\A8\D7\90\D7\A9\D7\95\D7\9F\00\D7\A9\D7\A0\D7\99\00\D7\A9\D7\9C\D7\99\D7\A9\D7\99\00\D7\A8\D7\91\D7\99\D7\A2\D7\99\00\D7\97\D7\9E\D7\99\D7\A9\D7\99\00\D7\A9\D7\99\D7\A9\D7\99\00\D7\A9\D7\91\D7\AA\00\D7\99\D7\A0\D7\95\00\D7\A4\D7\91\D7\A8\00\D7\9E\D7\A8\D7\A5\00\D7\90\D7\A4\D7\A8\00\D7\9E\D7\90\D7\99\00\D7\99\D7\95\D7\A0\00\D7\99\D7\95\D7\9C\00\D7\90\D7\95\D7\92\00\D7\A1\D7\A4\D7\98\00\D7\90\D7\95\D7\A7\00\D7\A0\D7\95\D7\91\00\D7\93\D7\A6\D7\9E\00\D7\99\D7\A0\D7\95\D7\90\D7\A8\00\D7\A4\D7\91\D7\A8\D7\95\D7\90\D7\A8\00\D7\90\D7\A4\D7\A8\D7\99\D7\9C\00\D7\99\D7\95\D7\A0\D7\99\00\D7\99\D7\95\D7\9C\D7\99\00\D7\90\D7\95\D7\92\D7\95\D7\A1\D7\98\00\D7\A1\D7\A4\D7\98\D7\9E\D7\91\D7\A8\00\D7\90\D7\95\D7\A7\D7\98\D7\95\D7\91\D7\A8\00\D7\A0\D7\95\D7\91\D7\9E\D7\91\D7\A8\00\D7\93\D7\A6\D7\9E\D7\91\D7\A8\00\E0\A4\B0\E0\A4\B5\E0\A4\BF \00\E0\A4\B8\E0\A5\8B\E0\A4\AE \00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B2 \00\E0\A4\AC\E0\A5\81\E0\A4\A7 \00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81 \00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0 \00\E0\A4\B6\E0\A4\A8\E0\A4\BF \00\E0\A4\B0\E0\A4\B5\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\B8\E0\A5\8B\E0\A4\AE\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B2\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\AC\E0\A5\81\E0\A4\A7\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\B6\E0\A4\A8\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\9C\E0\A4\A8\E0\A4\B5\E0\A4\B0\E0\A5\80\00\E0\A4\AB\E0\A4\BC\E0\A4\B0\E0\A4\B5\E0\A4\B0\E0\A5\80\00\E0\A4\AE\E0\A4\BE\E0\A4\B0\E0\A5\8D\E0\A4\9A\00\E0\A4\85\E0\A4\AA\E0\A5\8D\E0\A4\B0\E0\A5\87\E0\A4\B2\00\E0\A4\AE\E0\A4\88\00\E0\A4\9C\E0\A5\82\E0\A4\A8\00\E0\A4\9C\E0\A5\81\E0\A4\B2\E0\A4\BE\E0\A4\88\00\E0\A4\85\E0\A4\97\E0\A4\B8\E0\A5\8D\E0\A4\A4\00\E0\A4\B8\E0\A4\BF\E0\A4\A4\E0\A4\AE\E0\A5\8D\E0\A4\AC\E0\A4\B0\00\E0\A4\85\E0\A4\95\E0\A5\8D\E0\A4\9F\E0\A5\82\E0\A4\AC\E0\A4\B0\00\E0\A4\A8\E0\A4\B5\E0\A4\AE\E0\A5\8D\E0\A4\AC\E0\A4\B0\00\E0\A4\A6\E0\A4\BF\E0\A4\B8\E0\A4\AE\E0\A5\8D\E0\A4\AC\E0\A4\B0\00\E0\A4\AA\E0\A5\82\E0\A4\B0\E0\A5\8D\E0\A4\B5\E0\A4\BE\E0\A4\B9\E0\A5\8D\E0\A4\A8\00\E0\A4\85\E0\A4\AA\E0\A4\B0\E0\A4\BE\E0\A4\B9\E0\A5\8D\E0\A4\A8\00Sij\00Vel\00O\BEu\00Tra\00Svi\00Lip\00Srp\00Kol\00Ruj\00Lis\00Stu\00Pro\00Sije\E8anj\00Velja\E8a\00O\BEujak\00Travanj\00Svibanj\00Lipanj\00Srpanj\00Kolovoz\00Rujan\00Listopad\00Studeni\00Prosinac\00O\C5\BEu\00Sije\C4\8Danj\00Velja\C4\8Da\00O\C5\BEujak\00v\00h\00k\00sze\00cs\00p\00szo\00vas\E1rnap\00h\E9tf\F5\00kedd\00szerda\00cs\FCt\F6rt\F6k\00p\E9ntek\00szombat\00m\E1r\00\E1pr\00m\E1j\00j\FAn\00j\FAl\00janu\E1r\00febru\E1r\00m\E1rcius\00\E1prilis\00m\E1jus\00j\FAnius\00j\FAlius\00augusztus\00szeptember\00okt\F3ber\00%Y. %b. %e., %A, %H.%M.%S %Z\00%H.%M.%S\00vas\C3\A1rnap\00h\C3\A9tf\C5\91\00cs\C3\BCt\C3\B6rt\C3\B6k\00p\C3\A9ntek\00m\C3\A1r\00\C3\A1pr\00m\C3\A1j\00j\C3\BAn\00j\C3\BAl\00janu\C3\A1r\00febru\C3\A1r\00m\C3\A1rcius\00\C3\A1prilis\00m\C3\A1jus\00j\C3\BAnius\00j\C3\BAlius\00okt\C3\B3ber\00\CE\F1\CF\00\BA\F1\CF\00\BA\F1\F9\00\E2\F1\F9\00\D0\DD\B7\00\E0\F5\F1\00\DE\B5\C3\00\CE\C7\F1\B3\CF\C7\00\BA\F1\CF\E1\F5\DF\B3\B5\C3\C7\00\BA\F1\BB\F9\DF\B3\B5\C3\C7\00\E2\E1\F1\BB\F9\DF\B3\B5\C3\C7\00\D0\C7\DD\B7\DF\B3\B5\C3\C7\00\E0\F5\F1\B5\B3\C3\00\DE\B3\B5\B3\C3\00\D0\DD\ED\00\F6\EF\F1\00\D8\B3\F1\00\B2\E5\F1\00\D8\B3\DB\00\D0\DD\EB\00\D0\C9\EB\00\FA\B7\EB\00\EA\BB\E5\00\D0\E1\CF\00\DC\D9\B5\00\B8\BB\CF\00\D0\E1\F5\DD\ED\B3\F1\C7\00\F6\BB\EF\F1\ED\B3\F1\C7\00\D8\B3\F1\EF\C7\00\B2\E5\F1\C7\C9\C7\00\D8\B3\DB\C7\EB\C7\00\D0\E1\F5\DD\C7\EB\C7\00\D0\E1\F5\C9\C7\EB\C7\00\FA\B7\E1\EB\EF\E1\EB\C7\00\EA\BB\E5\EF\BB\D9\B5\BB\F1\C7\00\D0\E1\CF\EF\BB\D9\B5\BB\F1\C7\00\DC\E1\DB\BB\D9\B5\BB\F1\C7\00\B8\BB\CF\EF\BB\D9\B5\BB\F1\C7\00\D4\BF\D6\80\D5\AF\00\D4\B5\D6\80\D5\AF\00\D4\B5\D6\80\D6\84\00\D5\89\D6\80\D6\84\00\D5\80\D5\B6\D5\A3\00\D5\88\D6\82\D6\80\00\D5\87\D5\A2\D5\A9\00\D4\BF\D5\AB\D6\80\D5\A1\D5\AF\D5\AB\00\D4\B5\D6\80\D5\AF\D5\B8\D6\82\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D4\B5\D6\80\D5\A5\D6\84\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D5\89\D5\B8\D6\80\D5\A5\D6\84\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D5\80\D5\AB\D5\B6\D5\A3\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D5\88\D6\82\D6\80\D5\A2\D5\A1\D5\A9\00\D5\87\D5\A1\D5\A2\D5\A1\D5\A9\00\D5\80\D5\B6\D5\BE\00\D5\93\D5\BF\D6\80\00\D5\84\D5\A1\D6\80\00\D4\B1\D5\BA\D6\80\00\D5\84\D5\A1\D5\B5\00\D5\80\D5\B6\D5\BD\00\D5\80\D5\AC\D5\BD\00\D5\95\D5\A3\D5\BD\00\D5\8D\D5\A5\D5\BA\00\D5\80\D5\B8\D5\AF\00\D5\86\D5\B4\D5\A2\00\D4\B4\D5\A5\D5\AF\00\D5\80\D5\B8\D6\82\D5\B6\D5\BE\D5\A1\D6\80\D5\AB\00\D5\93\D5\A5\D5\BF\D6\80\D5\BE\D5\A1\D6\80\D5\AB\00\D5\84\D5\A1\D6\80\D5\BF\D5\AB\00\D4\B1\D5\BA\D6\80\D5\AB\D5\AC\D5\AB\00\D5\84\D5\A1\D5\B5\D5\AB\D5\BD\D5\AB\00\D5\80\D5\B8\D6\82\D5\B6\D5\AB\D5\BD\D5\AB\00\D5\80\D5\B8\D6\82\D5\AC\D5\AB\D5\BD\D5\AB\00\D5\95\D5\A3\D5\B8\D5\BD\D5\BF\D5\B8\D5\BD\D5\AB\00\D5\8D\D5\A5\D5\BA\D5\BF\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00\D5\80\D5\B8\D5\AF\D5\BF\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00\D5\86\D5\B8\D5\B5\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00\D4\B4\D5\A5\D5\AF\D5\BF\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00Min\00Sel\00Rab\00Kam\00Jum\00Sab\00Minggu\00Senin\00Selasa\00Rabu\00Kamis\00Jumat\00Sabtu\00Peb\00Agu\00Januari\00Pebruari\00Maret\00Agustus\00M\E1n\00\DEri\00Mi\F0\00Fim\00F\F6s\00Lau\00Sunnudagur\00M\E1nudagur\00\DEri\F0judagur\00Mi\F0vikudagur\00Fimmtudagur\00F\F6studagur\00Laugardagur\00Ma\ED\00J\FAn\00J\FAl\00\C1g\FA\00N\F3v\00Jan\FAar\00Febr\FAar\00Mars\00Apr\EDl\00J\FAn\ED\00J\FAl\ED\00\C1g\FAst\00Okt\F3ber\00N\F3vember\00fh\00eh\00%a %e.%b %Y, %T %Z\00%a %e.%b %Y\00M\C3\A1n\00\C3\9Eri\00Mi\C3\B0\00F\C3\B6s\00M\C3\A1nudagur\00\C3\9Eri\C3\B0judagur\00Mi\C3\B0vikudagur\00F\C3\B6studagur\00Ma\C3\AD\00J\C3\BAn\00J\C3\BAl\00\C3\81g\C3\BA\00N\C3\B3v\00Jan\C3\BAar\00Febr\C3\BAar\00Apr\C3\ADl\00J\C3\BAn\C3\AD\00J\C3\BAl\C3\AD\00\C3\81g\C3\BAst\00Okt\C3\B3ber\00N\C3\B3vember\00gio\00domenica\00luned\EC\00marted\EC\00mercoled\EC\00gioved\EC\00venerd\EC\00mag\00giu\00lug\00ott\00gennaio\00febbraio\00aprile\00maggio\00giugno\00luglio\00settembre\00ottobre\00dicembre\00luned\C3\AC\00marted\C3\AC\00mercoled\C3\AC\00gioved\C3\AC\00venerd\C3\AC\00\E6\97\A5\00\E6\9C\88\00\E7\81\AB\00\E6\B0\B4\00\E6\9C\A8\00\E9\87\91\00\E5\9C\9F\00\E6\97\A5\E6\9B\9C\E6\97\A5\00\E6\9C\88\E6\9B\9C\E6\97\A5\00\E7\81\AB\E6\9B\9C\E6\97\A5\00\E6\B0\B4\E6\9B\9C\E6\97\A5\00\E6\9C\A8\E6\9B\9C\E6\97\A5\00\E9\87\91\E6\9B\9C\E6\97\A5\00\E5\9C\9F\E6\9B\9C\E6\97\A5\00 1\E6\9C\88\00 2\E6\9C\88\00 3\E6\9C\88\00 4\E6\9C\88\00 5\E6\9C\88\00 6\E6\9C\88\00 7\E6\9C\88\00 8\E6\9C\88\00 9\E6\9C\88\0010\E6\9C\88\0011\E6\9C\88\0012\E6\9C\88\001\E6\9C\88\002\E6\9C\88\003\E6\9C\88\004\E6\9C\88\005\E6\9C\88\006\E6\9C\88\007\E6\9C\88\008\E6\9C\88\009\E6\9C\88\00\E5\8D\88\E5\89\8D\00\E5\8D\88\E5\BE\8C\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %H\E6\99\82%M\E5\88\86%S\E7\A7\92\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5\00%H\E6\99\82%M\E5\88\86%S\E7\A7\92\00%p%I\E6\99\82%M\E5\88\86%S\E7\A7\92\00+:2:1990/01/01:+*:\E5\B9\B3\E6\88\90:%EC%Ey\E5\B9\B4\00+:1:1989/01/08:1989/12/31:\E5\B9\B3\E6\88\90:%EC\E5\85\83\E5\B9\B4\00+:2:1927/01/01:1989/01/07:\E6\98\AD\E5\92\8C:%EC%Ey\E5\B9\B4\00+:1:1926/12/25:1926/12/31:\E6\98\AD\E5\92\8C:%EC\E5\85\83\E5\B9\B4\00+:2:1913/01/01:1926/12/24:\E5\A4\A7\E6\AD\A3:%EC%Ey\E5\B9\B4\00+:2:1912/07/30:1912/12/31:\E5\A4\A7\E6\AD\A3:%EC\E5\85\83\E5\B9\B4\00+:6:1873/01/01:1912/07/29:\E6\98\8E\E6\B2\BB:%EC%Ey\E5\B9\B4\00+:1:0001/01/01:1872/12/31:\E8\A5\BF\E6\9A\A6:%EC%Ey\E5\B9\B4\00+:1:-0001/12/31:-*:\E7\B4\80\E5\85\83\E5\89\8D:%EC%Ey\E5\B9\B4\00\00%EY%m\E6\9C\88%d\E6\97\A5\00\E3\80\87\00\E4\B8\80\00\E4\BA\8C\00\E4\B8\89\00\E5\9B\9B\00\E4\BA\94\00\E5\85\AD\00\E4\B8\83\00\E5\85\AB\00\E4\B9\9D\00\E5\8D\81\00\E5\8D\81\E4\B8\80\00\E5\8D\81\E4\BA\8C\00\E5\8D\81\E4\B8\89\00\E5\8D\81\E5\9B\9B\00\E5\8D\81\E4\BA\94\00\E5\8D\81\E5\85\AD\00\E5\8D\81\E4\B8\83\00\E5\8D\81\E5\85\AB\00\E5\8D\81\E4\B9\9D\00\E4\BA\8C\E5\8D\81\00\E4\BA\8C\E5\8D\81\E4\B8\80\00\E4\BA\8C\E5\8D\81\E4\BA\8C\00\E4\BA\8C\E5\8D\81\E4\B8\89\00\E4\BA\8C\E5\8D\81\E5\9B\9B\00\E4\BA\8C\E5\8D\81\E4\BA\94\00\E4\BA\8C\E5\8D\81\E5\85\AD\00\E4\BA\8C\E5\8D\81\E4\B8\83\00\E4\BA\8C\E5\8D\81\E5\85\AB\00\E4\BA\8C\E5\8D\81\E4\B9\9D\00\E4\B8\89\E5\8D\81\00\E4\B8\89\E5\8D\81\E4\B8\80\00\E4\B8\89\E5\8D\81\E4\BA\8C\00\E4\B8\89\E5\8D\81\E4\B8\89\00\E4\B8\89\E5\8D\81\E5\9B\9B\00\E4\B8\89\E5\8D\81\E4\BA\94\00\E4\B8\89\E5\8D\81\E5\85\AD\00\E4\B8\89\E5\8D\81\E4\B8\83\00\E4\B8\89\E5\8D\81\E5\85\AB\00\E4\B8\89\E5\8D\81\E4\B9\9D\00\E5\9B\9B\E5\8D\81\00\E5\9B\9B\E5\8D\81\E4\B8\80\00\E5\9B\9B\E5\8D\81\E4\BA\8C\00\E5\9B\9B\E5\8D\81\E4\B8\89\00\E5\9B\9B\E5\8D\81\E5\9B\9B\00\E5\9B\9B\E5\8D\81\E4\BA\94\00\E5\9B\9B\E5\8D\81\E5\85\AD\00\E5\9B\9B\E5\8D\81\E4\B8\83\00\E5\9B\9B\E5\8D\81\E5\85\AB\00\E5\9B\9B\E5\8D\81\E4\B9\9D\00\E4\BA\94\E5\8D\81\00\E4\BA\94\E5\8D\81\E4\B8\80\00\E4\BA\94\E5\8D\81\E4\BA\8C\00\E4\BA\94\E5\8D\81\E4\B8\89\00\E4\BA\94\E5\8D\81\E5\9B\9B\00\E4\BA\94\E5\8D\81\E4\BA\94\00\E4\BA\94\E5\8D\81\E5\85\AD\00\E4\BA\94\E5\8D\81\E4\B8\83\00\E4\BA\94\E5\8D\81\E5\85\AB\00\E4\BA\94\E5\8D\81\E4\B9\9D\00\E5\85\AD\E5\8D\81\00\E5\85\AD\E5\8D\81\E4\B8\80\00\E5\85\AD\E5\8D\81\E4\BA\8C\00\E5\85\AD\E5\8D\81\E4\B8\89\00\E5\85\AD\E5\8D\81\E5\9B\9B\00\E5\85\AD\E5\8D\81\E4\BA\94\00\E5\85\AD\E5\8D\81\E5\85\AD\00\E5\85\AD\E5\8D\81\E4\B8\83\00\E5\85\AD\E5\8D\81\E5\85\AB\00\E5\85\AD\E5\8D\81\E4\B9\9D\00\E4\B8\83\E5\8D\81\00\E4\B8\83\E5\8D\81\E4\B8\80\00\E4\B8\83\E5\8D\81\E4\BA\8C\00\E4\B8\83\E5\8D\81\E4\B8\89\00\E4\B8\83\E5\8D\81\E5\9B\9B\00\E4\B8\83\E5\8D\81\E4\BA\94\00\E4\B8\83\E5\8D\81\E5\85\AD\00\E4\B8\83\E5\8D\81\E4\B8\83\00\E4\B8\83\E5\8D\81\E5\85\AB\00\E4\B8\83\E5\8D\81\E4\B9\9D\00\E5\85\AB\E5\8D\81\00\E5\85\AB\E5\8D\81\E4\B8\80\00\E5\85\AB\E5\8D\81\E4\BA\8C\00\E5\85\AB\E5\8D\81\E4\B8\89\00\E5\85\AB\E5\8D\81\E5\9B\9B\00\E5\85\AB\E5\8D\81\E4\BA\94\00\E5\85\AB\E5\8D\81\E5\85\AD\00\E5\85\AB\E5\8D\81\E4\B8\83\00\E5\85\AB\E5\8D\81\E5\85\AB\00\E5\85\AB\E5\8D\81\E4\B9\9D\00\E4\B9\9D\E5\8D\81\00\E4\B9\9D\E5\8D\81\E4\B8\80\00\E4\B9\9D\E5\8D\81\E4\BA\8C\00\E4\B9\9D\E5\8D\81\E4\B8\89\00\E4\B9\9D\E5\8D\81\E5\9B\9B\00\E4\B9\9D\E5\8D\81\E4\BA\94\00\E4\B9\9D\E5\8D\81\E5\85\AD\00\E4\B9\9D\E5\8D\81\E4\B8\83\00\E4\B9\9D\E5\8D\81\E5\85\AB\00\E4\B9\9D\E5\8D\81\E4\B9\9D\00%EY%m\E6\9C\88%d\E6\97\A5 %H\E6\99\82%M\E5\88\86%S\E7\A7\92\00\CA\C5\C9\00\CF\D2\DB\00\D3\C0\CC\00\CF\C8\E1\00\E1\D6\C8\00\D0\C0\D2\00\DB\C0\C1\00\CA\C5\C9\D2\C0\00\CF\D2\DB\C0\C1\C0\C8\C9\00\D3\C0\CC\DB\C0\C1\C0\C8\C9\00\CF\C8\E1\DB\C0\C1\C0\C8\C9\00\E1\D6\C8\DB\C0\C1\C0\C8\C9\00\D0\C0\D2\C0\D3\CA\C4\C5\C9\00\DB\C0\C1\C0\C8\C9\00\C9\C0\CD\00\C8\C4\C1\00\CC\C0\D2\00\C0\D0\D2\00\CC\C0\C9\00\C9\C5\CD\00\C9\C5\CB\00\C0\C2\C5\00\D3\C4\D8\00\CF\D8\D4\00\CD\CF\C4\00\C3\C4\CA\00\C9\C0\CD\C5\C0\D2\C9\00\C8\C4\C1\C4\D2\C5\C0\CB\C9\00\CC\C0\D2\D4\C9\00\C0\D0\D2\C9\CB\C9\00\CC\C0\C9\D3\C9\00\C9\C5\CD\C9\D3\C9\00\C9\C5\CB\C9\D3\C9\00\C0\C2\C5\C9\D3\D4\CF\00\D3\C4\D8\D4\C4\CC\C1\C4\D2\C9\00\CF\D8\D4\CF\CC\C1\C4\D2\C9\00\CD\CF\C4\CC\C1\C4\D2\C9\00\C3\C4\CA\C4\CC\C1\C4\D2\C9\00%Y \DF\CB\C9\D3 %d %B, %T %Z\00\E1\83\99\E1\83\95\E1\83\98\00\E1\83\9D\E1\83\A0\E1\83\A8\00\E1\83\A1\E1\83\90\E1\83\9B\00\E1\83\9D\E1\83\97\E1\83\AE\00\E1\83\AE\E1\83\A3\E1\83\97\00\E1\83\9E\E1\83\90\E1\83\A0\00\E1\83\A8\E1\83\90\E1\83\91\00\E1\83\99\E1\83\95\E1\83\98\E1\83\A0\E1\83\90\00\E1\83\9D\E1\83\A0\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\A1\E1\83\90\E1\83\9B\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\9D\E1\83\97\E1\83\AE\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\AE\E1\83\A3\E1\83\97\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\9E\E1\83\90\E1\83\A0\E1\83\90\E1\83\A1\E1\83\99\E1\83\94\E1\83\95\E1\83\98\00\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\98\E1\83\90\E1\83\9C\00\E1\83\97\E1\83\94\E1\83\91\00\E1\83\9B\E1\83\90\E1\83\A0\00\E1\83\90\E1\83\9E\E1\83\A0\00\E1\83\9B\E1\83\90\E1\83\98\00\E1\83\98\E1\83\95\E1\83\9C\00\E1\83\98\E1\83\95\E1\83\9A\00\E1\83\90\E1\83\92\E1\83\95\00\E1\83\A1\E1\83\94\E1\83\A5\00\E1\83\9D\E1\83\A5\E1\83\A2\00\E1\83\9C\E1\83\9D\E1\83\94\00\E1\83\93\E1\83\94\E1\83\99\00\E1\83\98\E1\83\90\E1\83\9C\E1\83\95\E1\83\90\E1\83\A0\E1\83\98\00\E1\83\97\E1\83\94\E1\83\91\E1\83\94\E1\83\A0\E1\83\95\E1\83\90\E1\83\9A\E1\83\98\00\E1\83\9B\E1\83\90\E1\83\A0\E1\83\A2\E1\83\98\00\E1\83\90\E1\83\9E\E1\83\A0\E1\83\98\E1\83\9A\E1\83\98\00\E1\83\9B\E1\83\90\E1\83\98\E1\83\A1\E1\83\98\00\E1\83\98\E1\83\95\E1\83\9C\E1\83\98\E1\83\A1\E1\83\98\00\E1\83\98\E1\83\95\E1\83\9A\E1\83\98\E1\83\A1\E1\83\98\00\E1\83\90\E1\83\92\E1\83\95\E1\83\98\E1\83\A1\E1\83\A2\E1\83\9D\00\E1\83\A1\E1\83\94\E1\83\A5\E1\83\A2\E1\83\94\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00\E1\83\9D\E1\83\A5\E1\83\A2\E1\83\9D\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00\E1\83\9C\E1\83\9D\E1\83\94\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00\E1\83\93\E1\83\94\E1\83\99\E1\83\94\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00%Y \E1\83\AC\E1\83\9A\E1\83\98\E1\83\A1 %d %B, %T %Z\00ata\00pin\00sis\00tal\00arf\00sabaat\00ataasinngorneq\00marlunngorneq\00pingasunngorneq\00sisamanngorneq\00tallimanngorneq\00arfininngorneq\00januari\00februari\00martsi\00aprili\00maji\00augustusi\00septemberi\00oktoberi\00novemberi\00decemberi\00%d %b %Y\00\EC\9D\BC\00\EC\9B\94\00\ED\99\94\00\EC\88\98\00\EB\AA\A9\00\EA\B8\88\00\ED\86\A0\00\EC\9D\BC\EC\9A\94\EC\9D\BC\00\EC\9B\94\EC\9A\94\EC\9D\BC\00\ED\99\94\EC\9A\94\EC\9D\BC\00\EC\88\98\EC\9A\94\EC\9D\BC\00\EB\AA\A9\EC\9A\94\EC\9D\BC\00\EA\B8\88\EC\9A\94\EC\9D\BC\00\ED\86\A0\EC\9A\94\EC\9D\BC\00 1\EC\9B\94\00 2\EC\9B\94\00 3\EC\9B\94\00 4\EC\9B\94\00 5\EC\9B\94\00 6\EC\9B\94\00 7\EC\9B\94\00 8\EC\9B\94\00 9\EC\9B\94\0010\EC\9B\94\0011\EC\9B\94\0012\EC\9B\94\00\EC\9D\BC\EC\9B\94\00\EC\9D\B4\EC\9B\94\00\EC\82\BC\EC\9B\94\00\EC\82\AC\EC\9B\94\00\EC\98\A4\EC\9B\94\00\EC\9C\A0\EC\9B\94\00\EC\B9\A0\EC\9B\94\00\ED\8C\94\EC\9B\94\00\EA\B5\AC\EC\9B\94\00\EC\8B\9C\EC\9B\94\00\EC\8B\AD\EC\9D\BC\EC\9B\94\00\EC\8B\AD\EC\9D\B4\EC\9B\94\00\EC\98\A4\EC\A0\84\00\EC\98\A4\ED\9B\84\00%x (%a) %r\00%Y\EB\85\84 %m\EC\9B\94 %d\EC\9D\BC\00%H\EC\8B\9C %M\EB\B6\84 %S\EC\B4\88\00%p %I\EC\8B\9C %M\EB\B6\84 %S\EC\B4\88\00Mth\00Mhr\00Yow\00De Sul\00De Lun\00De Merth\00De Merher\00De Yow\00De Gwener\00De Sadorn\00Gen\00Whe>\00Me\00Evn\00Est\00Gwn\00Hed\00Kev\00Mys Genver\00Mys Whevrel\00Mys Merth\00Mys Ebrel\00Mys Me\00Mys Evan\00Mys Gortheren\00Mye Est\00Mys Gwyngala\00Mys Hedra\00Mys Du\00Mys Kevardhu\00Sk\00Pr\00An\00Tr\00Kt\00Pn\00\D0t\00Sekmadienis\00Pirmadienis\00Antradienis\00Tre\E8iadienis\00Ketvirtadienis\00Penktadienis\00\D0e\F0tadienis\00Sau\00Vas\00Kov\00Bal\00Geg\00Bir\00Lie\00Rgp\00Rgs\00Spa\00Lap\00Grd\00sausio\00vasario\00kovo\00baland\FEio\00gegu\FE\EBs\00bir\FEelio\00liepos\00rugpj\FB\E8io\00rugs\EBjo\00spalio\00lapkri\E8io\00gruod\FEio\00%Y m. %B %d d. %T\00%Y.%m.%d\00\C5\A0t\00Tre\C4\8Diadienis\00\C5\A0e\C5\A1tadienis\00baland\C5\BEio\00gegu\C5\BE\C4\97s\00bir\C5\BEelio\00rugpj\C5\AB\C4\8Dio\00rugs\C4\97jo\00lapkri\C4\8Dio\00gruod\C5\BEio\00Sv\00P\A0\00O\A0\00T\A0\00C\A0\00Pk\00S\A0\00sv\E7tdiena\00pirmdiena\00otrdiena\00tre\F0diena\00ceturtdiena\00piektdiena\00sestdiena\00j\FBn\00j\FBl\00janv\E2ris\00febru\E2ris\00apr\EElis\00maijs\00j\FBnijs\00j\FBlijs\00augusts\00septembris\00oktobris\00novembris\00decembris\00%A, %Y. gada %e. %B, plkst. %H un %M\00%Y.%m.%d.\00P\C2\A0\00O\C2\A0\00T\C2\A0\00C\C2\A0\00S\C2\A0\00sv\C4\93tdiena\00tre\C5\A1diena\00j\C5\ABn\00j\C5\ABl\00janv\C4\81ris\00febru\C4\81ris\00apr\C4\ABlis\00j\C5\ABnijs\00j\C5\ABlijs\00Ta\00T\FB\00We\00T\E2i\00Pa\00H\E2\00R\E2tapu\00Mane\00T\FBrei\00Wenerei\00T\E2ite\00Paraire\00H\E2tarei\00Kohi\00Hui\00Pou\00Pae\00Hara\00Pipi\00H\F4ngoi\00Mahu\00Whi-nu\00Whi-ra\00Haki\00Kohi-t\E2tea\00Hui-tanguru\00Pout\FB-te-rangi\00Paenga-wh\E2wh\E2\00Haratua\00Pipiri\00H\F4ngoingoi\00Here-turi-k\F4k\E2\00Mahuru\00Whiringa-\E2-nuku\00Whiringa-\E2-rangi\00Hakihea\00Te %A, te %d o %B, %Y %T %Z\00T\C5\AB\00T\C4\81i\00H\C4\81\00R\C4\81tapu\00T\C5\ABrei\00T\C4\81ite\00H\C4\81tarei\00H\C5\8Dngoi\00Kohi-t\C4\81tea\00Pout\C5\AB-te-rangi\00Paenga-wh\C4\81wh\C4\81\00H\C5\8Dngoingoi\00Here-turi-k\C5\8Dk\C4\81\00Whiringa-\C4\81-nuku\00Whiringa-\C4\81-rangi\00\DD\D5\D4\00\DF\DE\DD\00\D2\E2\DE\00\E1\E0\D5\00\E7\D5\E2\00\DF\D5\E2\00\E1\D0\D1\00\DD\D5\D4\D5\DB\D0\00\DF\DE\DD\D5\D4\D5\DB\DD\D8\DA\00\D2\E2\DE\E0\DD\D8\DA\00\E1\E0\D5\D4\D0\00\E7\D5\E2\D2\E0\E2\DE\DA\00\DF\D5\E2\DE\DA\00\E1\D0\D1\DE\E2\D0\00\F8\D0\DD\00\E4\D5\D2\00\DC\D0\E0\00\D0\DF\E0\00\DC\D0\F8\00\F8\E3\DD\00\F8\E3\DB\00\D0\D2\D3\00\E1\D5\DF\00\DE\DA\E2\00\DD\DE\D5\00\D4\D5\DA\00\F8\D0\DD\E3\D0\E0\D8\00\E4\D5\D2\E0\E3\D0\E0\D8\00\DC\D0\E0\E2\00\D0\DF\E0\D8\DB\00\F8\E3\DD\D8\00\F8\E3\DB\D8\00\D0\D2\D3\E3\E1\E2\00\E1\D5\DF\E2\D5\DC\D2\E0\D8\00\DE\DA\E2\DE\DC\D2\E0\D8\00\DD\DE\D5\DC\D2\E0\D8\00\D4\D5\DA\D5\DC\D2\E0\D8\00%a, %d %b %Y %T %Z\00\D0\BD\D0\B5\D0\B4\00\D0\BF\D0\BE\D0\BD\00\D0\B2\D1\82\D0\BE\00\D1\81\D1\80\D0\B5\00\D1\87\D0\B5\D1\82\00\D0\BF\D0\B5\D1\82\00\D1\81\D0\B0\D0\B1\00\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D0\B0\00\D1\81\D1\80\D0\B5\D0\B4\D0\B0\00\D1\87\D0\B5\D1\82\D0\B2\D1\80\D1\82\D0\BE\D0\BA\00\D0\BF\D0\B5\D1\82\D0\BE\D0\BA\00\D1\81\D0\B0\D0\B1\D0\BE\D1\82\D0\B0\00\D1\98\D0\B0\D0\BD\00\D0\BC\D0\B0\D1\98\00\D1\98\D1\83\D0\BD\00\D1\98\D1\83\D0\BB\00\D1\98\D0\B0\D0\BD\D1\83\D0\B0\D1\80\D0\B8\00\D1\98\D1\83\D0\BD\D0\B8\00\D1\98\D1\83\D0\BB\D0\B8\00\E0\A4\B0\E0\A4\B5\E0\A4\BF\00\E0\A4\B8\E0\A5\8B\E0\A4\AE\00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B3\00\E0\A4\AC\E0\A5\81\E0\A4\A7\00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81\00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0\00\E0\A4\B6\E0\A4\A8\E0\A4\BF\00\E0\A4\B0\E0\A4\B5\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\B8\E0\A5\8B\E0\A4\AE\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B3\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\B6\E0\A4\A8\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\9C\E0\A4\BE\E0\A4\A8\E0\A5\87\E0\A4\B5\E0\A4\BE\E0\A4\B0\E0\A5\80\00\E0\A4\AB\E0\A5\87\E0\A4\AC\E0\A5\83\E0\A4\B5\E0\A4\BE\E0\A4\B0\E0\A5\80\00\E0\A4\8F\E0\A4\AA\E0\A5\8D\E0\A4\B0\E0\A4\BF\E0\A4\B2\00\E0\A4\AE\E0\A5\87\00\E0\A4\9C\E0\A5\81\E0\A4\B2\E0\A5\88\00\E0\A4\93\E0\A4\97\E0\A4\B8\E0\A5\8D\E0\A4\9F\00\E0\A4\B8\E0\A5\87\E0\A4\AA\E0\A5\8D\E0\A4\9F\E0\A5\87\E0\A4\82\E0\A4\AC\E0\A4\B0\00\E0\A4\93\E0\A4\95\E0\A5\8D\E0\A4\9F\E0\A5\8B\E0\A4\AC\E0\A4\B0\00\E0\A4\A8\E0\A5\8B\E0\A4\B5\E0\A5\8D\E0\A4\B9\E0\A5\87\E0\A4\82\E0\A4\AC\E0\A4\B0\00\E0\A4\A1\E0\A4\BF\E0\A4\B8\E0\A5\87\E0\A4\82\E0\A4\AC\E0\A4\B0\00\E0\A4\AE.\E0\A4\AA\E0\A5\82.\00\E0\A4\AE.\E0\A4\A8\E0\A4\82.\00Ahd\00Isn\00Kha\00Ahad\00Isnin\00Khamis\00Jumaat\00Mac\00Ogos\00Dis\00Februari\00Julai\00Disember\00\A1ad\00Tne\00Tli\00Erb\00\A1am\00\D5im\00Sib\00il-\A1add\00it-Tnejn\00it-Tlieta\00l-Erbg\B1a\00il-\A1amis\00il-\D5img\B1a\00is-Sibt\00Fra\00Mej\00\D5un\00Lul\00Awi\00Ott\00Di\E5\00Jannar\00Frar\00Marzu\00Mejju\00\D5unju\00Lulju\00Awissu\00Settembru\00Ottubru\00Novembru\00Di\E5embru \00%A, %d ta %b, %Y %I:%M:%S %p %Z\00%A, %d ta %b, %Y\00\C4\A6ad\00\C4\A6am\00\C4\A0im\00il-\C4\A6add\00l-Erbg\C4\A7a\00il-\C4\A6amis\00il-\C4\A0img\C4\A7a\00\C4\A0un\00Di\C4\8B\00\C4\A0unju\00Di\C4\8Bembru \00zo\00di\00wo\00do\00vr\00za\00zondag\00maandag\00dinsdag\00woensdag\00donderdag\00vrijdag\00zaterdag\00mrt\00mei\00maart\00augustus\00%d-%m-%y\00su \00m\E5 \00ty \00on \00to \00fr \00lau \00sundag \00m\E5ndag \00tysdag \00onsdag \00torsdag \00fredag \00laurdag \00%d. %b %Y kl %H.%M %Z\00%d. %b %Y\00kl %H.%M %Z\00m\C3\A5 \00m\C3\A5ndag \00%a %d-%m-%Y %T %Z\00mec\00j\F3u\00dimenge\00diluns\00dimars\00dij\F3us\00disabte\00ag\F3\00geni\E8r\00febri\E8r\00abrial\00junh\00julhet\00ag\F3st\00decembre\00j\C3\B3u\00dij\C3\B3us\00ag\C3\B3\00geni\C3\A8r\00febri\C3\A8r\00ag\C3\B3st\00nie\00pon\00wto\00\B6ro\00czw\00pi\B1\00sob\00niedziela\00poniedzia\B3ek\00wtorek\00\B6roda\00czwartek\00pi\B1tek\00sobota\00sty\00lut\00kwi\00cze\00lip\00sie\00wrz\00pa\BC\00gru\00stycze\F1\00luty\00marzec\00kwiecie\F1\00czerwiec\00lipiec\00sierpie\F1\00wrzesie\F1\00pa\BCdziernik\00grudzie\F1\00\C5\9Bro\00pi\C4\85\00poniedzia\C5\82ek\00\C5\9Broda\00pi\C4\85tek\00pa\C5\BA\00stycze\C5\84\00kwiecie\C5\84\00sierpie\C5\84\00wrzesie\C5\84\00pa\C5\BAdziernik\00grudzie\C5\84\00Seg\00Ter\00Qua\00Qui\00Sex\00segunda\00ter\E7a\00quarta\00quinta\00sexta\00janeiro\00fevereiro\00mar\E7o\00maio\00junho\00julho\00setembro\00outubro\00novembro\00dezembro\00ter\C3\A7a\00mar\C3\A7o\00Segunda\00Ter\E7a\00Quarta\00Quinta\00Sexta\00Janeiro\00Fevereiro\00Mar\E7o\00Junho\00Julho\00Dezembro\00Ter\C3\A7a\00Mar\C3\A7o\00Lu\00Mi\00Jo\00Vi\00S\EE\00Duminic\C3\00Luni\00Mar\FEi\00Miercuri\00Joi\00Vineri\00S\EEmb\C3t\C3\00ian\00iun\00iul\00Ianuarie\00Martie\00Aprilie\00Iunie\00Iulie\00Septembrie\00Octombrie\00Noiembrie\00Decembrie\00S\C3\AE\00Duminic\C4\82\00Mar\C5\A3i\00S\C3\AEmb\C4\82t\C4\82\00\F7\D3\CB\00\F0\CE\C4\00\F7\D4\D2\00\F3\D2\C4\00\FE\D4\D7\00\F0\D4\CE\00\F3\C2\D4\00\F7\CF\D3\CB\D2\C5\D3\C5\CE\D8\C5\00\F0\CF\CE\C5\C4\C5\CC\D8\CE\C9\CB\00\F7\D4\CF\D2\CE\C9\CB\00\F3\D2\C5\C4\C1\00\FE\C5\D4\D7\C5\D2\C7\00\F0\D1\D4\CE\C9\C3\C1\00\F3\D5\C2\C2\CF\D4\C1\00\F1\CE\D7\00\E6\C5\D7\00\ED\C1\D2\00\E1\D0\D2\00\ED\C1\CA\00\E9\C0\CE\00\E9\C0\CC\00\E1\D7\C7\00\F3\C5\CE\00\EF\CB\D4\00\EE\CF\D1\00\E4\C5\CB\00\F1\CE\D7\C1\D2\D1\00\E6\C5\D7\D2\C1\CC\D1\00\ED\C1\D2\D4\C1\00\E1\D0\D2\C5\CC\D1\00\ED\C1\D1\00\E9\C0\CE\D1\00\E9\C0\CC\D1\00\E1\D7\C7\D5\D3\D4\C1\00\F3\C5\CE\D4\D1\C2\D2\D1\00\EF\CB\D4\D1\C2\D2\D1\00\EE\CF\D1\C2\D2\D1\00\E4\C5\CB\C1\C2\D2\D1\00\B2\E1\DA\00\BF\DD\D4\00\B2\E2\E0\00\C1\E0\D4\00\C7\E2\D2\00\BF\E2\DD\00\C1\D1\E2\00\B2\DE\E1\DA\E0\D5\E1\D5\DD\EC\D5\00\BF\DE\DD\D5\D4\D5\DB\EC\DD\D8\DA\00\B2\E2\DE\E0\DD\D8\DA\00\C1\E0\D5\D4\D0\00\C7\D5\E2\D2\D5\E0\D3\00\BF\EF\E2\DD\D8\E6\D0\00\C1\E3\D1\D1\DE\E2\D0\00\CF\DD\D2\00\C4\D5\D2\00\BC\D0\E0\00\B0\DF\E0\00\BC\D0\D9\00\B8\EE\DD\00\B8\EE\DB\00\B0\D2\D3\00\C1\D5\DD\00\BE\DA\E2\00\BD\DE\EF\00\B4\D5\DA\00\CF\DD\D2\D0\E0\EF\00\C4\D5\D2\E0\D0\DB\EF\00\BC\D0\E0\E2\D0\00\B0\DF\E0\D5\DB\EF\00\BC\D0\EF\00\B8\EE\DD\EF\00\B8\EE\DB\EF\00\B0\D2\D3\E3\E1\E2\D0\00\C1\D5\DD\E2\EF\D1\E0\EF\00\BE\DA\E2\EF\D1\E0\EF\00\BD\DE\EF\D1\E0\EF\00\B4\D5\DA\D0\D1\E0\EF\00\D0\92\D1\81\D0\BA\00\D0\9F\D0\BD\D0\B4\00\D0\92\D1\82\D1\80\00\D0\A7\D1\82\D0\B2\00\D0\9F\D1\82\D0\BD\00\D0\A1\D0\B1\D1\82\00\D0\92\D0\BE\D1\81\D0\BA\D1\80\D0\B5\D1\81\D0\B5\D0\BD\D1\8C\D0\B5\00\D0\9F\D0\BE\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D1\8C\D0\BD\D0\B8\D0\BA\00\D0\92\D1\82\D0\BE\D1\80\D0\BD\D0\B8\D0\BA\00\D0\A1\D1\80\D0\B5\D0\B4\D0\B0\00\D0\A7\D0\B5\D1\82\D0\B2\D0\B5\D1\80\D0\B3\00\D0\9F\D1\8F\D1\82\D0\BD\D0\B8\D1\86\D0\B0\00\D0\A1\D1\83\D0\B1\D0\B1\D0\BE\D1\82\D0\B0\00\D0\AF\D0\BD\D0\B2\00\D0\A4\D0\B5\D0\B2\00\D0\9C\D0\B0\D1\80\00\D0\90\D0\BF\D1\80\00\D0\9C\D0\B0\D0\B9\00\D0\98\D1\8E\D0\BD\00\D0\98\D1\8E\D0\BB\00\D0\90\D0\B2\D0\B3\00\D0\A1\D0\B5\D0\BD\00\D0\9E\D0\BA\D1\82\00\D0\9D\D0\BE\D1\8F\00\D0\94\D0\B5\D0\BA\00\D0\AF\D0\BD\D0\B2\D0\B0\D1\80\D1\8F\00\D0\A4\D0\B5\D0\B2\D1\80\D0\B0\D0\BB\D1\8F\00\D0\9C\D0\B0\D1\80\D1\82\D0\B0\00\D0\90\D0\BF\D1\80\D0\B5\D0\BB\D1\8F\00\D0\9C\D0\B0\D1\8F\00\D0\98\D1\8E\D0\BD\D1\8F\00\D0\98\D1\8E\D0\BB\D1\8F\00\D0\90\D0\B2\D0\B3\D1\83\D1\81\D1\82\D0\B0\00\D0\A1\D0\B5\D0\BD\D1\82\D1\8F\D0\B1\D1\80\D1\8F\00\D0\9E\D0\BA\D1\82\D1\8F\D0\B1\D1\80\D1\8F\00\D0\9D\D0\BE\D1\8F\D0\B1\D1\80\D1\8F\00\D0\94\D0\B5\D0\BA\D0\B0\D0\B1\D1\80\D1\8F\00\F7\D4\CF\00\F3\D5\C2\00\F1\CE\D7\C1\D2\D8\00\E6\C5\D7\D2\C1\CC\D8\00\ED\C1\D2\D4\00\E1\D0\D2\C5\CC\D8\00\E9\C0\CE\D8\00\E9\C0\CC\D8\00\E1\D7\C7\D5\D3\D4\00\F3\C5\CE\D4\D1\C2\D2\D8\00\EF\CB\D4\D1\C2\D2\D8\00\EE\CF\D1\C2\D2\D8\00\E4\C5\CB\C1\C2\D2\D8\00\D0\92\D1\82\D0\BE\00\D0\AF\D0\BD\D0\B2\D0\B0\D1\80\D1\8C\00\D0\A4\D0\B5\D0\B2\D1\80\D0\B0\D0\BB\D1\8C\00\D0\9C\D0\B0\D1\80\D1\82\00\D0\90\D0\BF\D1\80\D0\B5\D0\BB\D1\8C\00\D0\98\D1\8E\D0\BD\D1\8C\00\D0\98\D1\8E\D0\BB\D1\8C\00\D0\90\D0\B2\D0\B3\D1\83\D1\81\D1\82\00\D0\A1\D0\B5\D0\BD\D1\82\D1\8F\D0\B1\D1\80\D1\8C\00\D0\9E\D0\BA\D1\82\D1\8F\D0\B1\D1\80\D1\8C\00\D0\9D\D0\BE\D1\8F\D0\B1\D1\80\D1\8C\00\D0\94\D0\B5\D0\BA\D0\B0\D0\B1\D1\80\D1\8C\00sotn\00vuos\00ma\C5\8B\00gask\00duor\00bear\00l\C3\A1v\00sotnabeaivi\00vuoss\C3\A1rga\00ma\C5\8B\C5\8Bebarga\00gaskavahkku\00duorasdat\00bearjadat\00l\C3\A1vvardat\00o\C4\91\C4\91j\00guov\00njuk\00cuo\C5\8B\00mies\00geas\00suoi\00borg\00\C4\8Dak\C4\8D\00golg\00sk\C3\A1b\00juov\00o\C4\91\C4\91ajagem\C3\A1nu\00guovvam\C3\A1nu\00njuk\C4\8Dam\C3\A1nu\00cuo\C5\8Bom\C3\A1nu\00miessem\C3\A1nu\00geassem\C3\A1nu\00suoidnem\C3\A1nu\00borgem\C3\A1nu\00\C4\8Dak\C4\8Dam\C3\A1nu\00golggotm\C3\A1nu\00sk\C3\A1bmam\C3\A1nu\00juovlam\C3\A1nu\00%a, %b %e. b. %Y %T %Z\00Ut\00\A9t\00Pi\00Nede\B5a\00Pondelok\00Utorok\00Streda\00\A9tvrtok\00Piatok\00marec\00Nede\C4\BEa\00\C5\A0tvrtok\00ned\00sre\00\E8et\00pet\00nedelja\00ponedeljek\00torek\00sreda\00\E8etrtek\00petek\00avg\00junij\00julij\00avgust\00\C4\8Det\00\C4\8Detrtek\00Die \00H\EBn \00Mar \00M\EBr \00Enj \00Pre \00Sht \00e diel \00e h\EBn\EB \00e mart\EB \00e m\EBrkur\EB \00e enjte \00e premte \00e shtun\EB \00Shk\00Pri\00Qer\00Kor\00Gsh\00Sht\00Tet\00N\EBn\00Dhj\00janar\00shkurt\00prill\00qershor\00korrik\00gusht\00shtator\00tetor\00n\EBntor\00dhjetor\00PD\00MD\00%Y-%b-%d %I.%M.%S.%p %Z\00%Y-%b-%d\00%I.%M.%S. %Z\00%I.%M.%S.%p %Z\00H\C3\ABn \00M\C3\ABr \00e h\C3\ABn\C3\AB \00e mart\C3\AB \00e m\C3\ABrkur\C3\AB \00e shtun\C3\AB \00N\C3\ABn\00n\C3\ABntor\00uto\00sub\00ponedeljak\00utorak\00\E8etvrtak\00petak\00subota\00septembar\00oktobar\00novembar\00decembar\00%d-%m-%Y.\00\C4\8Detvrtak\00\E3\E2\DE\00\E1\E3\D1\00\DD\D5\D4\D5\F9a\00\DF\DE\DD\D5\D4\D5\F9\D0\DA\00\E3\E2\DE\E0\D0\DA\00\E7\D5\E2\D2\E0\E2\D0\DA\00\DF\D5\E2\D0\DA\00\E1\E3\D1\DE\E2\D0\00\E4\D5\D1\00\DD\DE\D2\00\D4\D5\E6\00\F8\D0\DD\E3\D0\E0\00\E4\D5\D1\E0\E3\D0\E0\00\E1\D5\DF\E2\D5\DC\D1\D0\E0\00\DE\DA\E2\DE\D1\D0\E0\00\DD\DE\D2\D5\DC\D1\D0\E0\00\D4\D5\E6\D5\DC\D1\D0\E0\00+%a %d %b %Y %T %Z\00\D1\83\D1\82\D0\BE\00\D1\81\D1\83\D0\B1\00\D0\BD\D0\B5\D0\B4\D0\B5\D1\99a\00\D0\BF\D0\BE\D0\BD\D0\B5\D0\B4\D0\B5\D1\99\D0\B0\D0\BA\00\D1\83\D1\82\D0\BE\D1\80\D0\B0\D0\BA\00\D1\87\D0\B5\D1\82\D0\B2\D1\80\D1\82\D0\B0\D0\BA\00\D0\BF\D0\B5\D1\82\D0\B0\D0\BA\00\D1\81\D1\83\D0\B1\D0\BE\D1\82\D0\B0\00\D1\84\D0\B5\D0\B1\00\D0\BD\D0\BE\D0\B2\00\D0\B4\D0\B5\D1\86\00\D1\98\D0\B0\D0\BD\D1\83\D0\B0\D1\80\00\D1\84\D0\B5\D0\B1\D1\80\D1\83\D0\B0\D1\80\00\D1\81\D0\B5\D0\BF\D1\82\D0\B5\D0\BC\D0\B1\D0\B0\D1\80\00\D0\BE\D0\BA\D1\82\D0\BE\D0\B1\D0\B0\D1\80\00\D0\BD\D0\BE\D0\B2\D0\B5\D0\BC\D0\B1\D0\B0\D1\80\00\D0\B4\D0\B5\D1\86\D0\B5\D0\BC\D0\B1\D0\B0\D1\80\00s\F6n\00m\E5n\00tis\00l\F6r\00s\F6ndag\00m\E5ndag\00tisdag\00l\F6rdag\00augusti\00%a %e %b %Y %H.%M.%S\00s\C3\B6n\00m\C3\A5n\00l\C3\B6r\00s\C3\B6ndag\00m\C3\A5ndag\00l\C3\B6rdag\00\E0\AE\9E\00\E0\AE\A4\00\E0\AE\9A\00\E0\AE\AA\00\E0\AE\B5\00\E0\AE\9E\E0\AE\BE\E0\AE\AF\E0\AE\BF\E0\AE\B1\E0\AF\81\00\E0\AE\A4\E0\AE\BF\E0\AE\99\E0\AF\8D\E0\AE\95\E0\AE\B3\E0\AF\8D\00\E0\AE\9A\E0\AF\86\E0\AE\B5\E0\AF\8D\E0\AE\B5\E0\AE\BE\E0\AE\AF\E0\AF\8D\00\E0\AE\AA\E0\AF\81\E0\AE\A4\E0\AE\A9\E0\AF\8D\00\E0\AE\B5\E0\AE\BF\E0\AE\AF\E0\AE\BE\E0\AE\B4\E0\AE\A9\E0\AF\8D\00\E0\AE\B5\E0\AF\86\E0\AE\B3\E0\AF\8D\E0\AE\B3\E0\AE\BF\00\E0\AE\9A\E0\AE\A9\E0\AE\BF\00\E0\AE\9C\E0\AE\A9\E0\AE\B5\E0\AE\B0\E0\AE\BF\00\E0\AE\AA\E0\AF\86\E0\AE\AA\E0\AF\8D\E0\AE\B0\E0\AE\B5\E0\AE\B0\E0\AE\BF\00\E0\AE\AE\E0\AE\BE\E0\AE\B0\E0\AF\8D\E0\AE\9A\E0\AF\8D\00\E0\AE\8F\E0\AE\AA\E0\AF\8D\E0\AE\B0\E0\AE\B2\E0\AF\8D\00\E0\AE\AE\E0\AF\87\00\E0\AE\9C\E0\AF\82\E0\AE\A9\E0\AF\8D\00\E0\AE\9C\E0\AF\82\E0\AE\B2\E0\AF\88\00\E0\AE\86\E0\AE\95\E0\AE\B8\E0\AF\8D\E0\AE\9F\E0\AF\8D\00\E0\AE\9A\E0\AF\86\E0\AE\AA\E0\AF\8D\E0\AE\9F\E0\AE\AE\E0\AF\8D\E0\AE\AA\E0\AE\B0\E0\AF\8D\00\E0\AE\85\E0\AE\95\E0\AF\8D\E0\AE\9F\E0\AF\8B\E0\AE\AA\E0\AE\B0\E0\AF\8D\00\E0\AE\A8\E0\AE\B5\E0\AE\AE\E0\AF\8D\E0\AE\AA\E0\AE\B0\E0\AF\8D\00\E0\AE\9F\E0\AE\BF\E0\AE\9A\E0\AE\AE\E0\AF\8D\E0\AE\AA\E0\AE\B0\E0\AF\8Dr\00\E0\AE\95\E0\AE\BE\E0\AE\B2\E0\AF\88\00\E0\AE\AE\E0\AE\BE\E0\AE\B2\E0\AF\88\00\E0\B0\86\E0\B0\A6\E0\B0\BF\00\E0\B0\B8\E0\B1\8B\E0\B0\AE\00\E0\B0\AE\E0\B0\82\E0\B0\97\E0\B0\B3\00\E0\B0\AC\E0\B1\81\E0\B0\A7\00\E0\B0\97\E0\B1\81\E0\B0\B0\E0\B1\81\00\E0\B0\B6\E0\B1\81\E0\B0\95\E0\B1\8D\E0\B0\B0\00\E0\B0\B6\E0\B0\A8\E0\B0\BF\00\E0\B0\86\E0\B0\A6\E0\B0\BF\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\B8\E0\B1\8B\E0\B0\AE\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\AE\E0\B0\82\E0\B0\97\E0\B0\B3\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\AC\E0\B1\81\E0\B0\A7\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\97\E0\B1\81\E0\B0\B0\E0\B1\81\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\B6\E0\B1\81\E0\B0\95\E0\B1\8D\E0\B0\B0\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\B6\E0\B0\A8\E0\B0\BF\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\9C\E0\B0\A8\E0\B0\B5\E0\B0\B0\E0\B0\BF\00\E0\B0\AB\E0\B0\BF\E0\B0\AC\E0\B1\8D\E0\B0\B0\E0\B0\B5\E0\B0\B0\E0\B0\BF\00\E0\B0\AE\E0\B0\BE\E0\B0\B0\E0\B1\8D\E0\B0\9A\E0\B0\BF\00\E0\B0\8F\E0\B0\AA\E0\B1\8D\E0\B0\B0\E0\B0\BF\E0\B0\B2\E0\B1\8D\00\E0\B0\AE\E0\B1\87\00\E0\B0\9C\E0\B1\82\E0\B0\A8\E0\B1\8D\00\E0\B0\9C\E0\B1\82\E0\B0\B2\E0\B1\88\00\E0\B0\86\E0\B0\97\E0\B0\B8\E0\B1\8D\E0\B0\9F\E0\B1\81\00\E0\B0\B8\E0\B1\86\E0\B0\AA\E0\B1\8D\E0\B0\9F\E0\B1\86\E0\B0\82\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\85\E0\B0\95\E0\B1\8D\E0\B0\9F\E0\B1\8B\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\A8\E0\B0\B5\E0\B0\82\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\A1\E0\B0\BF\E0\B0\B8\E0\B1\86\E0\B0\82\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\AA\E0\B1\82\E0\B0\B0\E0\B1\8D\E0\B0\B5\E0\B0\BE\E0\B0\B9\E0\B1\8D\E0\B0\A8\00\E0\B0\85\E0\B0\AA\E0\B0\B0\E0\B0\BE\E0\B0\B9\E0\B1\8D\E0\B0\A8\00\CD\D2.\00\A8.\00\CD.\00\BE.\00\BE\C4.\00\C8.\00\CA.\00\CD\D2\B7\D4\B5\C2\EC\00\A8\D1\B9\B7\C3\EC\00\CD\D1\A7\A4\D2\C3\00\BE\D8\B8\00\BE\C4\CB\D1\CA\BA\B4\D5\00\C8\D8\A1\C3\EC\00\E0\CA\D2\C3\EC\00\C1.\A4.\00\A1.\BE.\00\C1\D5.\A4.\00\E0\C1.\C2.\00\BE.\A4.\00\C1\D4.\C2.\00\A1.\A4.\00\CA.\A4.\00\A1.\C2.\00\B5.\A4.\00\BE.\C2.\00\B8.\A4.\00\C1\A1\C3\D2\A4\C1\00\A1\D8\C1\C0\D2\BE\D1\B9\B8\EC\00\C1\D5\B9\D2\A4\C1\00\E0\C1\C9\D2\C2\B9\00\BE\C4\C9\C0\D2\A4\C1\00\C1\D4\B6\D8\B9\D2\C2\B9\00\A1\C3\A1\AE\D2\A4\C1\00\CA\D4\A7\CB\D2\A4\C1\00\A1\D1\B9\C2\D2\C2\B9\00\B5\D8\C5\D2\A4\C1\00\BE\C4\C8\A8\D4\A1\D2\C2\B9\00\B8\D1\B9\C7\D2\A4\C1\00%a %e %b %Ey, %H:%M:%S\00%d/%m/%Ey\00+:1:-543/01/01:+*:\BE.\C8.:%EC %Ey\00\00%e %b %Ey\00\C7\D1\B9%A\B7\D5\E8 %e %B %EC %Ey, %H.%M.%S \B9.\00%H.%M.%S \B9.\00\E0\B8\AD\E0\B8\B2.\00\E0\B8\88.\00\E0\B8\AD.\00\E0\B8\9E.\00\E0\B8\9E\E0\B8\A4.\00\E0\B8\A8.\00\E0\B8\AA.\00\E0\B8\AD\E0\B8\B2\E0\B8\97\E0\B8\B4\E0\B8\95\E0\B8\A2\E0\B9\8C\00\E0\B8\88\E0\B8\B1\E0\B8\99\E0\B8\97\E0\B8\A3\E0\B9\8C\00\E0\B8\AD\E0\B8\B1\E0\B8\87\E0\B8\84\E0\B8\B2\E0\B8\A3\00\E0\B8\9E\E0\B8\B8\E0\B8\98\00\E0\B8\9E\E0\B8\A4\E0\B8\AB\E0\B8\B1\E0\B8\AA\E0\B8\9A\E0\B8\94\E0\B8\B5\00\E0\B8\A8\E0\B8\B8\E0\B8\81\E0\B8\A3\E0\B9\8C\00\E0\B9\80\E0\B8\AA\E0\B8\B2\E0\B8\A3\E0\B9\8C\00\E0\B8\A1.\E0\B8\84.\00\E0\B8\81.\E0\B8\9E.\00\E0\B8\A1\E0\B8\B5.\E0\B8\84.\00\E0\B9\80\E0\B8\A1.\E0\B8\A2.\00\E0\B8\9E.\E0\B8\84.\00\E0\B8\A1\E0\B8\B4.\E0\B8\A2.\00\E0\B8\81.\E0\B8\84.\00\E0\B8\AA.\E0\B8\84.\00\E0\B8\81.\E0\B8\A2.\00\E0\B8\95.\E0\B8\84.\00\E0\B8\9E.\E0\B8\A2.\00\E0\B8\98.\E0\B8\84.\00\E0\B8\A1\E0\B8\81\E0\B8\A3\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\81\E0\B8\B8\E0\B8\A1\E0\B8\A0\E0\B8\B2\E0\B8\9E\E0\B8\B1\E0\B8\99\E0\B8\98\E0\B9\8C\00\E0\B8\A1\E0\B8\B5\E0\B8\99\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B9\80\E0\B8\A1\E0\B8\A9\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\9E\E0\B8\A4\E0\B8\A9\E0\B8\A0\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\A1\E0\B8\B4\E0\B8\96\E0\B8\B8\E0\B8\99\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\81\E0\B8\A3\E0\B8\81\E0\B8\8E\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\AA\E0\B8\B4\E0\B8\87\E0\B8\AB\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\81\E0\B8\B1\E0\B8\99\E0\B8\A2\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\95\E0\B8\B8\E0\B8\A5\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\9E\E0\B8\A4\E0\B8\A8\E0\B8\88\E0\B8\B4\E0\B8\81\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\98\E0\B8\B1\E0\B8\99\E0\B8\A7\E0\B8\B2\E0\B8\84\E0\B8\A1\00+:1:-543/01/01:+*:\E0\B8\9E.\E0\B8\A8.:%EC %Ey\00\00\E0\B8\A7\E0\B8\B1\E0\B8\99%A\E0\B8\97\E0\B8\B5\E0\B9\88 %e %B %EC %Ey, %H.%M.%S \E0\B8\99.\00%H.%M.%S \E0\B8\99.\00\E1\88\B0\E1\8A\95\E1\89\A0\E1\89\B5\00\E1\88\B0\E1\8A\91\E1\8B\AD\00\E1\88\B0\E1\88\89\E1\88\B5\00\E1\88\93\E1\88\99\E1\88\B5\00\E1\8B\93\E1\88\AD\E1\89\A2\00\E1\89\80\E1\8B\B3\E1\88\9D\00\E1\8C\A5\E1\88\AA\00\E1\88\88\E1\8A\AB\E1\89\B2\00\E1\88\98\E1\8C\8B\E1\89\A2\00\E1\88\9A\E1\8B\AB\E1\8B\9D\00\E1\8C\8D\E1\8A\95\E1\89\A6\00\E1\88\B0\E1\8A\90\00\E1\88\93\E1\88\9D\E1\88\88\00\E1\8A\90\E1\88\93\E1\88\B0\00\E1\88\98\E1\88\B5\E1\8A\A8\00\E1\8C\A5\E1\89\85\E1\88\9D\00\E1\88\95\E1\8B\B3\E1\88\AD\00\E1\89\B3\E1\88\95\E1\88\B3\00\E1\88\88\E1\8A\AB\E1\89\B2\E1\89\B5\00\E1\88\98\E1\8C\8B\E1\89\A2\E1\89\B5\00\E1\88\9A\E1\8B\AB\E1\8B\9D\E1\8B\AB\00\E1\8C\8D\E1\8A\95\E1\89\A6\E1\89\B5\00\E1\88\98\E1\88\B5\E1\8A\A8\E1\88\A8\E1\88\9D\00\E1\8C\A5\E1\89\85\E1\88\9D\E1\89\B2\00\E1\89\B3\E1\88\95\E1\88\B3\E1\88\B5\00\E1\8A\95\E1\8C\89\E1\88\86 \E1\88\B0\E1\8B\93\E1\89\B0\00\E1\8B\B5\E1\88\95\E1\88\AD \E1\88\B0\E1\8B\93\E1\89\B5\00%A\E1\8D\A3 %b %e \E1\88\98\E1\8B\93\E1\88\8D\E1\89\B2 %l:%M:%S %Z %Y\00Lin\00Miy\00Huw\00Biy\00Linggo\00Lunes\00Miyerkoles\00Huwebes\00Biyernes\00Sabado\00Ene\00Hun\00Hul\00Nob\00Enero\00Pebrero\00Marso\00Mayo\00Hunyo\00Hulyo\00Septiyembre\00Oktubre\00Nobiyembre\00Disyembre\00Paz\00Pzt\00Sal\00\C7r\FE\00Pr\FE\00Cum\00Cts\00Pazar\00Pazartesi\00Sal\FD\00\C7ar\FEamba\00Per\FEembe\00Cuma\00Cumartesi\00Oca\00\DEub\00Nis\00Haz\00Tem\00A\F0u\00Eyl\00Eki\00Kas\00Ara\00Ocak\00\DEubat\00Nisan\00May\FDs\00Haziran\00Temmuz\00A\F0ustos\00Eyl\FCl\00Ekim\00Kas\FDm\00Aral\FDk\00\D6\D6\00\D6S\00\C3\87r\C5\9F\00Pr\C5\9F\00Sal\C4\B1\00\C3\87ar\C5\9Famba\00Per\C5\9Fembe\00\C5\9Eub\00A\C4\9Fu\00\C5\9Eubat\00May\C4\B1s\00A\C4\9Fustos\00Eyl\C3\BCl\00Kas\C4\B1m\00Aral\C4\B1k\00\C3\96\C3\96\00\C3\96S\00\D0\AF\D0\BA\D1\88\00\D0\94\D1\8B\D1\88\00\D0\A1\D0\B8\D1\88\00\D0\A7\D3\99\D1\80\D1\88\00\D0\9F\D3\99\D0\BD\D2\97\00\D2\96\D0\BE\D0\BC\00\D0\A8\D0\B8\D0\BC\00\D0\AF\D0\BA\D1\88\D3\99\D0\BC\D0\B1\D0\B5\00\D0\94\D1\8B\D1\88\D3\99\D0\BC\D0\B1\D0\B5\00\D0\A1\D0\B8\D1\88\D3\99\D0\BC\D0\B1\D0\B5\00\D0\A7\D3\99\D1\80\D1\88\D3\99\D3\99\D0\BC\D0\B1\D0\B5\00\D0\9F\D3\99\D0\BD\D2\97\D0\B5\D1\88\D0\BC\D0\B1\D0\B5\00\D2\96\D0\BE\D0\BC\D0\B3\D0\B0\00\D0\A8\D0\B8\D0\BC\D0\B1\D3\99\00\EE\C4\CC\00\EE\C5\C4\A6\CC\D1\00\F0\CF\CE\C5\C4\A6\CC\CF\CB\00\F7\A6\D7\D4\CF\D2\CF\CB\00\F3\C5\D2\C5\C4\C1\00\FE\C5\D4\D7\C5\D2\00\F0'\D1\D4\CE\C9\C3\D1\00\F3\D5\C2\CF\D4\C1\00\F3\A6\DE\00\EC\C0\D4\00\E2\C5\D2\00\EB\D7\A6\00\F4\D2\C1\00\FE\C5\D2\00\EC\C9\D0\00\F3\C5\D2\00\F7\C5\D2\00\F6\CF\D7\00\EC\C9\D3\00\E7\D2\D5\00\F3\A6\DE\C5\CE\D8\00\EC\C0\D4\C9\CA\00\E2\C5\D2\C5\DA\C5\CE\D8\00\EB\D7\A6\D4\C5\CE\D8\00\F4\D2\C1\D7\C5\CE\D8\00\FE\C5\D2\D7\C5\CE\D8\00\EC\C9\D0\C5\CE\D8\00\F3\C5\D2\D0\C5\CE\D8\00\F7\C5\D2\C5\D3\C5\CE\D8\00\F6\CF\D7\D4\C5\CE\D8\00\EC\C9\D3\D4\CF\D0\C1\C4\00\E7\D2\D5\C4\C5\CE\D8\00\D0\9D\D0\B4\D0\BB\00\D0\9D\D0\B5\D0\B4\D1\96\D0\BB\D1\8F\00\D0\9F\D0\BE\D0\BD\D0\B5\D0\B4\D1\96\D0\BB\D0\BE\D0\BA\00\D0\92\D1\96\D0\B2\D1\82\D0\BE\D1\80\D0\BE\D0\BA\00\D0\A1\D0\B5\D1\80\D0\B5\D0\B4\D0\B0\00\D0\A7\D0\B5\D1\82\D0\B2\D0\B5\D1\80\00\D0\9F'\D1\8F\D1\82\D0\BD\D0\B8\D1\86\D1\8F\00\D0\A1\D1\96\D1\87\00\D0\91\D0\B5\D1\80\00\D0\9A\D0\B2\D1\96\00\D0\A7\D0\B5\D1\80\00\D0\9B\D0\B8\D0\BF\00\D0\A1\D0\B5\D1\80\00\D0\92\D0\B5\D1\80\00\D0\96\D0\BE\D0\B2\00\D0\9B\D0\B8\D1\81\00\D0\93\D1\80\D1\83\00\D0\A1\D1\96\D1\87\D0\B5\D0\BD\D1\8C\00\D0\9B\D1\8E\D1\82\D0\B8\D0\B9\00\D0\91\D0\B5\D1\80\D0\B5\D0\B7\D0\B5\D0\BD\D1\8C\00\D0\9A\D0\B2\D1\96\D1\82\D0\B5\D0\BD\D1\8C\00\D0\A7\D0\B5\D1\80\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\9B\D0\B8\D0\BF\D0\B5\D0\BD\D1\8C\00\D0\A1\D0\B5\D1\80\D0\BF\D0\B5\D0\BD\D1\8C\00\D0\92\D0\B5\D1\80\D0\B5\D1\81\D0\B5\D0\BD\D1\8C\00\D0\96\D0\BE\D0\B2\D1\82\D0\B5\D0\BD\D1\8C\00\D0\9B\D0\B8\D1\81\D1\82\D0\BE\D0\BF\D0\B0\D0\B4\00\D0\93\D1\80\D1\83\D0\B4\D0\B5\D0\BD\D1\8C\00\D8\A7\D8\AA\D9\88\D8\A7\D8\B1\00\D9\BE\D9\8A\D8\B1\00\D9\85\D9\86\DA\AF\D9\84\00\D8\A8\D8\AF\DA\BE\00\D8\AC\D9\85\D8\B9\D8\B1\D8\A7\D8\AA\00\D9\87\D9\81\D8\AA\D9\87\00\D8\AC\D9\86\D9\88\D8\B1\D9\8A\00\D9\81\D8\B1\D9\88\D8\B1\D9\8A\00\D9\85\D8\A7\D8\B1\DA\86\00\D8\A7\D9\BE\D8\B1\D9\8A\D9\84\00\D9\85\D9\93\DB\8C\00\D8\AC\D9\88\D9\86\00\D8\AC\D9\88\D9\84\D8\A7\D9\8A\00\D8\A7\DA\AF\D8\B3\D8\AA\00\D8\B3\D8\AA\D9\85\D8\A8\D8\B1\00\D8\A7\D9\83\D8\AA\D9\88\D8\A8\D8\B1\00\D9\86\D9\88\D9\85\D8\A8\D8\B1\00\D8\AF\D8\B3\D9\85\D8\A8\D8\B1\00\D8\B4\00\D9\88 %H:%M:%S %Z \D8\AA %d %B %Y\00%P %I:%M:%S\00Yak\00Se\00Cho\00Pay\00Ju\00Sha\00yakshanba\00dushanba\00seshanba\00chorshanba\00payshanba\00juma\00shanba\00Yav\00Iyn\00Iyl\00Avg\00senyabr\00%T, %d %B, %Y yil, %A\00CN \00Th 2 \00Th 3 \00Th 4 \00Th 5 \00Th 6 \00Th 7 \00Chu\CC\89 nh\C3\A2\CC\A3t \00Th\C6\B0\CC\81 hai \00Th\C6\B0\CC\81 ba \00Th\C6\B0\CC\81 t\C6\B0 \00Th\C6\B0\CC\81 n\C4\83m \00Th\C6\B0\CC\81 s\C3\A1u \00Th\C6\B0\CC\81 ba\CC\89y \00Thg 1\00Thg 2\00Thg 3\00Thg 4\00Thg 5\00Thg 6\00Thg 7\00Thg 8\00Thg 9\00Thg 10\00Thg 11\00Thg 12\00Th\C3\A1ng m\C3\B4\CC\A3t\00Th\C3\A1ng hai\00Th\C3\A1ng ba\00Th\C3\A1ng t\C6\B0\00Th\C3\A1ng n\C4\83m\00Th\C3\A1ng s\C3\A1u\00Th\C3\A1ng ba\CC\89y\00Th\C3\A1ng t\C3\A1m\00Th\C3\A1ng ch\C3\ADn\00Th\C3\A1ng m\C6\B0\C6\A1\CC\80i\00Th\C3\A1ng m\C6\B0\C6\A1\CC\80i m\C3\B4\CC\A3t\00Th\C3\A1ng m\C6\B0\C6\A1\CC\80i hai\00%H:%M:%S %Z %A %d %b %Y\00%H:%M:%S %Z\00d\EEm\00lon\00m\E5r\00dju\00vin\00sem\00d\EEmegne\00londi\00m\E5rdi\00merkidi\00djudi\00vinrdi\00semdi\00dja\00fev\00m\E5s\00djn\00djl\00awo\00n\F4v\00djanv\EE\00fevr\EE\00m\E5ss\00avri\00djun\00djulete\00awousse\00setimbe\00oct\F4be\00n\F4vimbe\00decimbe\00Li %A %d di %B %Y %T %Z\00d\C3\AEm\00m\C3\A5r\00d\C3\AEmegne\00m\C3\A5rdi\00m\C3\A5s\00n\C3\B4v\00djanv\C3\AE\00fevr\C3\AE\00m\C3\A5ss\00oct\C3\B4be\00n\C3\B4vimbe\00\E6\E5\F0'\00\EE\E0\C8\F0'\00\E3\E9\F0'\00\EE\E9\E8'\00\E3\E0\C8\F0'\00\F4\CF\F8\D6\C7'\00\E6\E5\F0\E8\E9\F7\00\EE\E0\C8\F0\E8\E9\F7\00\E3\E9\F0\F1\E8\E9\F7\00\EE\E9\E8\D4\E0\C8\EA\00\E3\E0\C8\F0\F2\F8\F9\E8\E9\F7\00\F4\CF\F8\D6\C7\E8\E9\F7\00\E9\E0\C7\F0'\00\F4\CF\F2\E1'\00\EE\E0\C7\F8'\00\E0\C7\F4\CC\F8'\00\EE\D6\C7\00\E9\E5\F0'\00\E9\E5\EC'\00\E0\D5\E2'\00\F1\F2\F4\CC'\00\E0\C8\F7\E8'\00\F0\E0\C8\D4'\00\E3\F2\F6'\00\E9\E0\C7\F0\E5\E0\C7\F8\00\F4\CF\F2\E1\F8\E5\E0\C7\F8\00\EE\E0\C7\F8\F5\00\E0\C7\F4\CC\F8\E9\EC\00\E0\D5\E2\F1\E8\00\F1\F2\F4\CC\E8\F2\EE\E1\F2\F8\00\E0\C8\F7\E8\E0\C8\E1\F2\F8\00\F0A\C8\D4\F2\EE\E1\F2\F8\00\D7\96\D7\95\D7\A0'\00\D7\9E\D7\90\D6\B8\D7\A0'\00\D7\93\D7\99\D7\A0'\00\D7\9E\D7\99\D7\98'\00\D7\93\D7\90\D6\B8\D7\A0'\00\D7\A4\D6\BF\D7\A8\D7\B2\D6\B7'\00\D7\96\D7\95\D7\A0\D7\98\D7\99\D7\A7\00\D7\9E\D7\90\D6\B8\D7\A0\D7\98\D7\99\D7\A7\00\D7\93\D7\99\D7\A0\D7\A1\D7\98\D7\99\D7\A7\00\D7\9E\D7\99\D7\98\D7\B0\D7\90\D6\B8\D7\9A\00\D7\93\D7\90\D6\B8\D7\A0\D7\A2\D7\A8\D7\A9\D7\98\D7\99\D7\A7\00\D7\A4\D6\BF\D7\A8\D7\B2\D6\B7\D7\98\D7\99\D7\A7\00\D7\99\D7\90\D6\B7\D7\A0'\00\D7\A4\D6\BF\D7\A2\D7\91'\00\D7\9E\D7\90\D6\B7\D7\A8'\00\D7\90\D6\B7\D7\A4\D6\BC\D7\A8'\00\D7\9E\D7\B2\D6\B7\00\D7\99\D7\95\D7\A0'\00\D7\99\D7\95\D7\9C'\00\D7\90\D7\B1\D7\92'\00\D7\A1\D7\A2\D7\A4\D6\BC'\00\D7\90\D6\B8\D7\A7\D7\98'\00\D7\A0\D7\90\D6\B8\D7\B0'\00\D7\93\D7\A2\D7\A6'\00\D7\99\D7\90\D6\B7\D7\A0\D7\95\D7\90\D6\B7\D7\A8\00\D7\A4\D6\BF\D7\A2\D7\91\D7\A8\D7\95\D7\90\D6\B7\D7\A8\00\D7\9E\D7\90\D6\B7\D7\A8\D7\A5\00\D7\90\D6\B7\D7\A4\D6\BC\D7\A8\D7\99\D7\9C\00\D7\90\D7\B1\D7\92\D7\A1\D7\98\00\D7\A1\D7\A2\D7\A4\D6\BC\D7\98\D7\A2\D7\9E\D7\91\D7\A2\D7\A8\00\D7\90\D6\B8\D7\A7\D7\98\D7\90\D6\B8\D7\91\D7\A2\D7\A8\00\D7\A0A\D6\B8\D7\B0\D7\A2\D7\9E\D7\91\D7\A2\D7\A8\00\E4\B8\80\00\E4\BA\8C\00\E4\B8\89\00\E5\9B\9B\00\E4\BA\94\00\E5\85\AD\00\E6\98\9F\E6\9C\9F\E6\97\A5\00\E6\98\9F\E6\9C\9F\E4\B8\80\00\E6\98\9F\E6\9C\9F\E4\BA\8C\00\E6\98\9F\E6\9C\9F\E4\B8\89\00\E6\98\9F\E6\9C\9F\E5\9B\9B\00\E6\98\9F\E6\9C\9F\E4\BA\94\00\E6\98\9F\E6\9C\9F\E5\85\AD\00\E4\B8\80\E6\9C\88\00\E4\BA\8C\E6\9C\88\00\E4\B8\89\E6\9C\88\00\E5\9B\9B\E6\9C\88\00\E4\BA\94\E6\9C\88\00\E5\85\AD\E6\9C\88\00\E4\B8\83\E6\9C\88\00\E5\85\AB\E6\9C\88\00\E4\B9\9D\E6\9C\88\00\E5\8D\81\E6\9C\88\00\E5\8D\81\E4\B8\80\E6\9C\88\00\E5\8D\81\E4\BA\8C\E6\9C\88\00\E4\B8\8A\E5\8D\88\00\E4\B8\8B\E5\8D\88\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %A %H\E6\97\B6%M\E5\88\86%S\E7\A7\92\00%H\E6\97\B6%M\E5\88\86%S\E7\A7\92\00%p %I\E6\97\B6%M\E5\88\86%S\E7\A7\92\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %A %H:%M:%S\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %A\00%I\E6\99\82%M\E5\88\86%S\E7\A7\92 %Z\00%p %I:%M:%S\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %H\E6\97\B6%M\E5\88\86%S\E7\A7\92 %Z\00%H\E6\97\B6%M\E5\88\86%S\E7\A7\92 %Z\00\E9\80\B1\E6\97\A5\00\E9\80\B1\E4\B8\80\00\E9\80\B1\E4\BA\8C\00\E9\80\B1\E4\B8\89\00\E9\80\B1\E5\9B\9B\00\E9\80\B1\E4\BA\94\00\E9\80\B1\E5\85\AD\00\E8\A5\BF\E5\85\83%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 (%A) %H\E6\99\82%M\E5\88\86%S\E7\A7\92\00\E8\A5\BF\E5\85\83%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5\00%p %I\E6\99\82%M\E5\88\86%S\E7\A7\92\00", [1804 x i8] c"\00^[yY]\00^[nN]\00[jJ].*\00[nN].*\00^[yY].*\00^[nN].*\00^[\E6].*\00^[\E4].*\00^[\D9\86].*\00^[\D9\84].*\00^[\D9\86]\00^[\D9\84]\00\D9\86\D8\B9\D9\85\00\D9\84\D8\A7\00^(\E6|\E6\D9\E5)\00^(\E4|\E4\C7)\00\E6\D9\E5\00\E4\C7\00^(\D9\86|\D9\86\D8\B9\D9\85)\00^(\D9\84|\D9\84\D8\A7)\00^[Bb].*\00^[YyNn].*\00yox\00b\C9\99li\00^[\C4\E4Yy].*\00^[\CD\EDNn].*\00^[\D0\94\D0\B4Yy].*\00^[\D0\9D\D0\BDNn].*\00^[+1\C4\E4DdYyOo].*\00^[-0\CD\EDNnKk].*\00^[+1\D0\94\D0\B4DdYyOo].*\00^[-0\D0\9D\D0\BDNnKk].*\00[yYsS\D5\A1\D4\B1].*\00[nN\D5\B8\D5\88].*\00\D5\A1\D5\B5\D5\B8\00\D5\B8\D5\B9\00^[\E0\A6\B9\E0\A7\8D\E0\A6\AF\E0\A6\BE\E0\A6\81]\00^[\E0\A6\A8\E0\A6\BE]\00\E0\A6\B9\E0\A7\8D\E0\A6\AF\E0\A6\BE\E0\A6\81\00\E0\A6\A8\E0\A6\BE\00[oOyY].*\00^[dDyY]*.\00^[nN]*.\00[sSyY].*\00^[aAyY].*\00ano\00ne\00[iItTyY].*\00ie\00na\00^[1JjYy].*\00^[0Nn].*\00^[jJyY].*\00^[\ED\CDyY].*\00^[\EF\CFnN].*\00^[\CE\BD\CE\9DyY].*\00^[\CE\BF\CE\9FnN].*\00[yY].*\00^[yYoO].*\00^[1JjsSyYoO].*\00^[0nN].*\00Yes\00No\00^[JjYy].*\00^[sSyY].*\00^[EeNn].*\00^[bBsSyY].*\00^[eEnN].*\00[yY\D8\A8f].*\00[nN\D8\AE\D9\86o].*\00^[KkJjYy].*\00^[NnEe].*\00^[Nn].*\00^[oOjJyY1].*\00^[nN0].*\00^[oOyY].*\00^[OojJsSyY].*\00^[tTyY].*\00^[Yy\EB].*\00^[Nn\EC].*\00^[Yy\D7\9B].*\00^[Nn\D7\9C].*\00^[dDyY].*\00^[IiYy].*\00[yYsS\B3\B2].*\00[nN\E1\E0].*\00\B3\DB\E1\00\E1\E3\00[tTnN].*\00^[sSjJoOyY].*\00^([yY\EF\BD\99\EF\BC\B9]|\E3\81\AF\E3\81\84|\E3\83\8F\E3\82\A4)\00^([nN\EF\BD\8E\EF\BC\AE]|\E3\81\84\E3\81\84\E3\81\88|\E3\82\A4\E3\82\A4\E3\82\A8)\00\E3\81\AF\E3\81\84\00\E3\81\84\E3\81\84\E3\81\88\00[1yYkKxX\E1].*\00[0nNaA\C0].*\00[1yYkKxX\E1\83\AE].*\00[0nNaA\E1\83\90].*\00^[JjYyAa].*\00^[yY\EC\98\88]\00^[nN\EC\95\84\EB\8B\88\EC\98\A4]\00[eE].*\00^[TtYy].*\00^[1yY\E2\C2\E4\C4aA].*\00^[0nNkK].*\00\E2e\00k\E2ore\00^[1yY\C4\81\C4\80\C3\A4\C3\84aA].*\00\C4\81e\00k\C4\81ore\00[\B4\D4DdYy1].*\00[\BD\DDNn0].*\00\D4\D0\00\DD\D5\00[\D0\94\D0\B4DdYy1].*\00[\D0\9D\D0\BDNn0].*\00\D0\B4\D0\B0\00\D0\BD\D0\B5\00^(Yes|[yY])\00^(No|[nN])\00^[tT]\00Ya\00Tidak\00[oOsS].*\00^[SsyY].*\00^[DdYy].*\00^[\E4\C4Yy].*\00^[\EE\CENn].*\00^[\B4\D4Yy].*\00^[\BD\DDNn].*\00[\E4\C4Yy].*\00[\EE\CENn].*\00[\D0\94\D0\B4Yy].*\00[\D0\9D\D0\BDNn].*\00^[Ii].*\00[aA\E1\C1yY].*\00\E1no\00nie\00[aA\C3\A1\C3\81yY].*\00\C3\A1no\00^[YyJj].*\00[dDyY1].*\00[nN0].*\00[\B4\D4Yy].*\00[\BD\DDNn].*\00^[\E0\AE\86\E0\AE\AE\E0\AF\8D]\00^[\E0\AE\87\E0\AE\B2\E0\AF\8D\E0\AE\B2\E0\AF\88]\00\E0\AE\86\E0\AE\AE\E0\AF\8D\00\E0\AE\87\E0\AE\B2\E0\AF\8D\E0\AE\B2\E0\AF\88\00^[\E0\B0\85]\00^[\E0\B0\95]\00\E0\B0\85\E0\B0\B5\E0\B0\A8\E0\B1\81\00\E0\B0\95\E0\B0\BE\E0\B0\A6\E0\B1\81\00\C4\C1\00\CE\C5\D4\00\D0\BD\D0\B5\D1\82\00^[yY\AA]\00^[nN\C1]\00\E3\AA\E8\00\E4\C1\E8\E3\AA\E8\00^[yY\E0\B8\8A]\00^[nN\E0\B8\A1]\00\E0\B9\83\E0\B8\8A\E0\B9\88\00\E0\B9\84\E0\B8\A1\E0\B9\88\E0\B9\83\E0\B8\8A\E0\B9\88\00^[eE].*\00^[hH].*\00evet\00hay\FDr\00hay\C4\B1r\00\D3\98\D0\B9\D0\B5\00\D0\AE\D0\BA\00[\F4\D4Yy].*\00[\D0\A2\D1\82Yy].*\00[yY\D9\87\D8\A8f].*\00[nN\D9\86o].*\00\D8\A8\D9\84\D9\83\D9\84\00\D9\86\D9\87\D9\8A\DA\BA\00^[YyHh].*\00^[JjNn].*\00Ha\00Yo'q\00[oOyYaAwW].*\00Oyi\00Neni\00^[Yy\E9].*\00^[Nn\F0\F7].*\00\E9\E0\C7\00\F7\D6\EF\00^[Yy\D7\99].*\00^[Nn\D7\A0\D7\A7].*\00\D7\99\D7\90\D6\B7\00\D7\A7\D7\B2\D7\9F\00^[yY\E6\98\AF]\00^[nN\E4\B8\8D\E5\90\A6]\00", [23 x %struct.__codeset_8_bit_t.202] [%struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\01\02\03\04\04\04\04\04\04\04\04\05", [16 x i8] c"\00\00\00\00\01\02\03\04\04\04\04\04\04\04\04\05", [16 x i8] c"\00\01\02\03\04\05\06\07\08\09\0A\0B\0C\0D\0E\0F", [38 x i8] c"\00\01\01\01\01\02\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\03\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06", [16 x i8] zeroinitializer, [16 x i8] c"\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10", [38 x i8] c"\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\07\08\09\0A\0B\0C\0D\0E\0F\0F\0F\0F\10\10\10\10", [16 x i8] c"\06\07\08\07\09\0A\0B\0C\0D\0D\0D\0D\0D\0D\0D\0D", [16 x i8] c"\11\12\13\14\15\16\17\18\19\1A\1B\1C\1D\1E\1F ", [38 x i8] c"\04\01\01\01\05\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\06\07\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\11\12\13\12\02\02\14\02\02\15\16\17\18\18\18\19", [16 x i8] zeroinitializer, [16 x i8] c"!\22#$%&'()*+,-./0", [38 x i8] c"\08\09\0A\01\01\0B\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\0C\0D\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\1A\1B\1C\1D\02\1E\14\1E\18\18\18\18\1F\10 \10", [16 x i8] c"\00\0E\00\0F\00\00\00\00\00\00\00\00\00\00\00\10", [16 x i8] c"123456'789:;<=>?", [38 x i8] c"\0E\0F\0A\01\01\01\01\01\01\01\01\01\01\01\01\01\10\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\11\0D\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\02\1E\14\1E\0F\0F!\22\10\10 \10", [16 x i8] c"\00\00\00\00\00\00\00\00\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\0356'7@ABCD=>?", [38 x i8] c"\12\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00#$%&\0F\0F\0F\22\10\10\10'", [16 x i8] c"\00\00\00\00\12\13\12\13\0D\0D\0D\11\0D\0D\0D\11", [16 x i8] c"\00\01\02\03EFGHIJKLMNOP", [38 x i8] c"\13\14\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\15\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\02\0C\14(\0F\0F!\22\10\10 ", [16 x i8] c"\00\00\00\00\00\0A\00\0A\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\03QRSTUVWXYZ[\\", [38 x i8] c"\16\17\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\18\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00)*+,\0F\0F\0F\22\10\10\10\10", [16 x i8] c"\00\00\00\00\14\15\16\17\0D\0D\0D\11\0D\0D\0D\18", [16 x i8] c"\00\01\02\03]^_`@AabD=cd", [38 x i8] c"\19\1A\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\1B\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00-./0\0F\0F!\22\10\10 \10", [16 x i8] c"\00\00\00\00\19\1A\1B\1C\0D\0D\11\11\0D\0D\11\1D", [16 x i8] c"\00\01\02\03efgh@ABCD=>?", [38 x i8] c"\1C\1D\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\1E\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\001234\0F\0F\0F\22\10\10\10\10", [16 x i8] c"\00\00\00\00\1E\1F !\0D\0D\0D\11\0D\0D\0D\1D", [16 x i8] c"\00\01\02\03ijklmAnop=qr", [38 x i8] c"\1F !\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\22\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\005678\0F\0F!\22\10\10 ", [16 x i8] c"\00\00\00\00\22#\22#\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\03stuvwxyz{|}~", [38 x i8] c"#$%\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\009:;<=\0F>\22?\10@ ", [16 x i8] c"\00\00\00\00$%$&'\0D(\11'\0D(\11", [16 x i8] c"\00\01\02\03\7F\80\81\82\83A\84\85\86=\87\88", [38 x i8] c"&'(\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00AB7C\0F\0F!\22\10\10 ", [16 x i8] c"\00\00\00\00\22)\22*\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\03\89\8A\8B\8CI\8D\8E\8FM\90\91\92", [38 x i8] c")*+\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00D$\0F\0F\0F\0F\10\10\10\10E&", [16 x i8] c"\00\00\00\00+,\0D\0D\0D\0D\0D\0D\0D\0D+,", [16 x i8] c"\00\01\02\03\93\94\19\1A\1B\1C\1D\1E\1F \95\96", [38 x i8] c",\01\01\01-\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01.\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00FG\06HI\18\18J\18KL\06", [16 x i8] zeroinitializer, [16 x i8] c"\00\01\02\03\97\98\10\99\9A\9B\9C\9D\9E\9F\A0\10", [38 x i8] c"/\01\01\01\01\010\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00MN-OP\0FQRS\10\10T", [16 x i8] c"\00\00\00\00\00\00-./\0D01/\0D23", [16 x i8] c"\00\01\02\03\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC", [38 x i8] c"1\01\012\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\013\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00U\02\14V\06\06\06W\18\18\18\19", [16 x i8] zeroinitializer, [16 x i8] c"\00\01\02\03\AD&'\AE\10\10\10\AF-./0", [38 x i8] c"4\01\01\01\015\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\016\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\02\1E\14\1E\0F\0F!\22\10\10 \10", [16 x i8] c"\00\00\00\00\00\00\00\00\0D\0D\114\0D\0D\115", [16 x i8] c"\00\01\02\0356'7@A\B0\B1D=\B2\B3", [38 x i8] c"78\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\02\02\02\02X\02Y\02\10\10\10\10\0F\0F\0F\0F", [16 x i8] c"\00\00\00\006\006\0077777777", [16 x i8] c"\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\BF\C0\C1\C2\C3", [38 x i8] c"9\01\01\01:\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01;<\01=" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"Z[\\]^_`a\10\10\10\10\0F\0F\0F\0F", [16 x i8] c"89:\00;\00<\0077777777", [16 x i8] c"\C4\C5\C6\C7\C8\C9\CA\CB\BC\BD\BE\BF\C0\C1\C2\C3", [38 x i8] c">\01\01\01?\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\11\07\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\02\02\02\02b\14cd\10\10\10\10\0F\0F\0F\0F", [16 x i8] c"\00\00\00\00=>=>77777777", [16 x i8] c"\B4\B5\B6\B7\CC\CD\CE\CF\BC\BD\BE\BF\C0\C1\C2\C3", [38 x i8] c"9\01\01\01@\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01;<\01A" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\06\06\06\06I\18\18\18\18e\18fge\18h", [16 x i8] zeroinitializer, [16 x i8] c"\10\10\10\10\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB", [38 x i8] c"\01\01\01\01\01\01\01\01\01\01\01\01\01\01B\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }], [20 x i8] c"\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\01\01\01\01\01", [10 x i16] [i16 0, i16 2, i16 4, i16 6, i16 8, i16 10, i16 12, i16 14, i16 16, i16 18], [20 x i16] [i16 1, i16 21, i16 3, i16 24, i16 5, i16 27, i16 7, i16 30, i16 9, i16 33, i16 11, i16 36, i16 13, i16 39, i16 15, i16 42, i16 17, i16 45, i16 19, i16 48], [45 x i8] c"\00\00\00\01\01\01\00\02\01\00\02\02\01\00\01\01\00\00\01\03\01\01\04\01\00\05\01\01\01\00\02\06\01\01\05\00\01\07\01\01\05\01\00\02\03", [3 x i16] [i16 0, i16 3, i16 11], [15 x i16] [i16 1, i16 3, i16 17, i16 0, i16 1, i16 3, i16 10, i16 12, i16 15, i16 20, i16 23, i16 0, i16 5, i16 7, i16 25], [3894 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\03\03\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\03\03\04\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\04\04\05\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\05\04\06\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\06\05\07\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\07\05\08\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\08\06\09\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\09\06\0A\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0A\07\0B\02\02\02\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\0B\08\0C\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0C\08\0D\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0D\09\0E\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0E\09\0F\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0F\0A\10\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\10\0A\11\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\11\0B\12\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\12\0B\13\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\13\0C\14\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\14\0C\15\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\15\0D\16\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\16\0D\17\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\17\0E\18\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\18\0E\19\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\19\0F\1A\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1A\0F\1B\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1B\10\1C\02\00\00\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01\1C\10\1D\02\00\00\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01\1D\11\1E\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1E\11\1F\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1F\12 \02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02 \12!\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02!\13\22\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\22\13#\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02#\14$\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02$\14%\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02%\15&\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01&\16'\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01'\16(\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01(\17)\01\04\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01)\17*\01\05\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01*\00+\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01+\07,\02\02\03\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01,\18-\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01-\18.\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01.\19/\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01/\18-\01\01\03\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\01\03\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\011\180\01\01\03\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\012\1A1\01\04\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\013\1A2\01\05\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\014\1B3\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\015\1B4\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\016\1C5\01\01\01\00\01\01\01\01\03\01\03\02\03\01\03\01\03\02\037\18-\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\011\180\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\012\18-\01\01\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\030\18.\01\01\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\031\180\01\01\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\032\1D6\02\03\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\038\18-\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01-\18.\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01.\180\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\019\18-\01\01\01\00\01\04\04\02\01\01\01\01\01\02\01\01\01\01\01-\18.\01\01\01\00\01\04\04\02\01\01\01\01\01\02\01\01\01\01\01.\1E\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\1F7\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01: \02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\1C0\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\012\1C8\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01;!9\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04<\18-\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\010\18.\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\011\180\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\012\22\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02#:\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04=$\02\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04\02%\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\01\01\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01&;\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01>\18<\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01?'\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02(=\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01@)\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02*\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02+>\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01A,\02\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02-\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02\18-\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\011\180\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\012.?\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01B/@\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01C0\02\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\021A\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01D2B\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01E3C\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01F%\02\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\024D\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01G5E\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01H5F\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01I6G\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01J7H\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01K85\01\04\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01785\01\05\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\017\18-\01\01\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\01\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\011\180\01\01\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\0129I\03\06\01\00\01\03\03\02\02\02\02\01\01\02\02\02\02\01\01L\18-\01\01\01\00\01\01\01\02\03\02\03\01\01\02\03\02\03\01\01-\18.\01\01\01\00\01\01\01\02\03\02\03\01\01\02\03\02\03\01\01.\180\01\01\01\00\01\01\01\02\03\02\03\01\01\02\03\02\03\01\019 \02\01\03\01\00\01\01\01\02\02\02\02\01\04\02\02\02\02\01\04M\180\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\019:J\02\02\01\00\01\01\01\01\02\01\02\03\02\01\02\01\02\03\02N:K\02\02\01\00\01\01\01\01\02\01\02\03\02\01\02\01\02\03\02O\07L\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01P;M\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01QQ\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01U?5\01\01\01\00\01\03\03\02\02\02\02\01\01\02\02\02\02\01\01V@R\02\02\01\00\01\03\03\01\01\01\01\01\03\01\01\01\01\01\03WAS\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01XAT\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01YBU\02\02\01\00\01\03\03\01\01\01\01\01\03\01\01\01\01\01\03ZCV\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01[DW\01\04\01\00\01\01\01\01\02\01\02\04\05\01\02\01\02\04\05\\DW\01\05\01\00\01\01\01\01\02\01\02\04\05\01\02\01\02\04\05\\EX\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01]EY\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01^\07Z\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01_F[\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04`G\\\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04a\18-\01\03\01\00\01\01\01\01\02\01\02\01\02\01\02\01\02\01\020\18.\01\03\01\00\01\01\01\01\02\01\02\01\02\01\02\01\02\01\021\180\01\03\01\00\01\01\01\01\02\01\02\01\02\01\02\01\02\01\022H5\01\04\01\00\01\01\01\01\02\01\01\01\05\01\02\01\01\01\057H5\01\05\01\00\01\01\01\01\02\01\01\01\05\01\02\01\01\01\057H5\01\01\01\00\01\01\01\01\01\01\01\02\03\01\01\01\01\02\037I]\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01bI^\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01cJ_\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01d\18-\04\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01-\18.\04\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01.\180\04\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\019K`\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01eLa\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01fLb\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01gL(\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01(Mc\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01hMd\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01iHe\01\01\01\00\01\01\01\01\01\01\01\02\03\01\01\01\01\02\03jNf\01\04\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01kNf\01\05\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01kOg\01\03\01\00\01\01\01\02\03\02\03\03\02\02\03\02\03\03\02lPh\01\01\01\00\01\02\02\01\01\01\01\01\01\01\01\01\01\01\01mQi\01\03\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\01nQj\01\03\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\01oQk\01\03\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\01pR5\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01V\07L\02\02\03\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01PSl\02\02\01\00\01\01\01\01\03\01\03\02\03\01\03\01\03\02\03qSm\02\02\01\00\01\01\01\01\03\01\03\02\03\01\03\01\03\02\03rT\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02#n\02\02\01\00\01\01\01\01\01\01\02\01\01\01\01\01\02\01\01sUo\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01tVp\02\02\01\00\01\01\01\01\02\01\01\03\01\01\02\01\01\03\01uWq\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01vXr\01\01\01\00\01\01\01\02\01\01\01\01\01\02\01\01\01\01\01w%\02\02\02\01\00\01\01\01\01\02\01\02\03\02\01\02\01\02\03\02\02YR\02\02\01\00\01\01\01\01\01\01\01\02\03\01\01\01\01\01\01WZs\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01x", [22 x i16] [i16 0, i16 91, i16 207, i16 212, i16 219, i16 223, i16 224, i16 226, i16 231, i16 236, i16 239, i16 243, i16 246, i16 250, i16 255, i16 261, i16 264, i16 268, i16 271, i16 275, i16 280, i16 286], [407 x i16] [i16 0, i16 5, i16 25, i16 35, i16 66, i16 97, i16 128, i16 159, i16 176, i16 207, i16 238, i16 269, i16 300, i16 331, i16 362, i16 393, i16 424, i16 459, i16 490, i16 521, i16 552, i16 583, i16 601, i16 630, i16 697, i16 720, i16 747, i16 768, i16 785, i16 799, i16 816, i16 821, i16 833, i16 845, i16 859, i16 864, i16 878, i16 883, i16 888, i16 906, i16 911, i16 923, i16 928, i16 933, i16 943, i16 948, i16 953, i16 963, i16 975, i16 980, i16 992, i16 1004, i16 1016, i16 1030, i16 1047, i16 1059, i16 1073, i16 1078, i16 1111, i16 1149, i16 1161, i16 1173, i16 1190, i16 1202, i16 1211, i16 1225, i16 1244, i16 1258, i16 1270, i16 1282, i16 1326, i16 1338, i16 1350, i16 1355, i16 1376, i16 1388, i16 1402, i16 1425, i16 1457, i16 1469, i16 1483, i16 1497, i16 1535, i16 1540, i16 1559, i16 1573, i16 1585, i16 1597, i16 1613, i16 1627, i16 1632, i16 0, i16 10, i16 30, i16 40, i16 51, i16 71, i16 82, i16 102, i16 113, i16 133, i16 144, i16 164, i16 181, i16 192, i16 212, i16 223, i16 243, i16 254, i16 274, i16 285, i16 305, i16 316, i16 336, i16 347, i16 367, i16 378, i16 398, i16 409, i16 429, i16 440, i16 464, i16 475, i16 495, i16 506, i16 526, i16 537, i16 557, i16 568, i16 588, i16 606, i16 615, i16 635, i16 644, i16 658, i16 667, i16 702, i16 711, i16 725, i16 742, i16 752, i16 759, i16 773, i16 778, i16 790, i16 804, i16 826, i16 838, i16 850, i16 869, i16 893, i16 697, i16 916, i16 938, i16 958, i16 968, i16 985, i16 997, i16 1009, i16 1021, i16 1035, i16 1040, i16 1052, i16 1064, i16 1083, i16 1116, i16 1123, i16 1134, i16 1154, i16 1166, i16 1178, i16 1183, i16 1195, i16 1216, i16 1230, i16 1235, i16 1249, i16 1263, i16 1275, i16 1287, i16 1296, i16 1311, i16 1331, i16 1343, i16 1360, i16 1367, i16 1381, i16 1393, i16 1407, i16 1416, i16 1430, i16 1437, i16 1448, i16 1462, i16 1474, i16 1488, i16 1502, i16 1511, i16 1520, i16 1545, i16 1550, i16 1564, i16 1578, i16 1590, i16 1602, i16 1618, i16 1637, i16 0, i16 12, i16 14, i16 1092, i16 30, i16 0, i16 14, i16 12, i16 593, i16 638, i16 649, i16 1095, i16 0, i16 16, i16 168, i16 680, i16 0, i16 0, i16 3, i16 1, i16 18, i16 16, i16 0, i16 793, i16 1, i16 18, i16 16, i16 0, i16 793, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 793, i16 18, i16 16, i16 1, i16 20, i16 18, i16 793, i16 0, i16 16, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 793, i16 18, i16 16, i16 1, i16 20, i16 18, i16 793, i16 0, i16 16, i16 3, i16 22, i16 32, i16 45, i16 58, i16 76, i16 89, i16 107, i16 120, i16 138, i16 151, i16 171, i16 186, i16 199, i16 217, i16 230, i16 248, i16 261, i16 279, i16 292, i16 310, i16 323, i16 341, i16 354, i16 372, i16 385, i16 403, i16 416, i16 434, i16 449, i16 469, i16 482, i16 500, i16 513, i16 531, i16 544, i16 562, i16 575, i16 595, i16 610, i16 622, i16 640, i16 652, i16 662, i16 683, i16 706, i16 715, i16 728, i16 732, i16 737, i16 744, i16 755, i16 763, i16 775, i16 781, i16 795, i16 808, i16 813, i16 829, i16 841, i16 854, i16 873, i16 896, i16 900, i16 919, i16 940, i16 960, i16 971, i16 988, i16 1000, i16 1012, i16 1025, i16 1037, i16 1043, i16 1055, i16 1068, i16 1098, i16 1108, i16 1119, i16 1128, i16 1141, i16 1157, i16 1169, i16 1180, i16 1186, i16 1198, i16 1207, i16 1220, i16 1232, i16 1239, i16 1253, i16 1266, i16 1278, i16 1291, i16 1303, i16 1318, i16 1334, i16 1346, i16 1363, i16 1371, i16 1384, i16 1397, i16 1411, i16 1420, i16 1433, i16 1442, i16 1452, i16 1465, i16 1478, i16 1492, i16 1506, i16 1515, i16 1527, i16 1547, i16 1554, i16 1568, i16 1581, i16 1593, i16 1607, i16 1622, i16 1641], [8250 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\00\00\00\00\01\00\00\00\00\01\00\01\01\01\01\00\01\01\01\01\00\01\00\01\01\01\01\01\01\01\00\00\00\00\00\00\02\02\02\02\02\02\02\02\02\02\02\02\02\02\01\01\01\01\02\01\01\01\01\02\01\02\02\02\02\01\02\02\02\02\01\02\01\02\02\02\02\02\02\00\00\00\00\00\00\00\03\03\03\03\03\03\03\03\03\03\03\03\03\03\02\02\02\02\03\02\02\02\02\03\02\03\03\03\03\02\03\03\03\03\02\03\02\03\03\03\03\03\03\02\00\00\00\00\00\00\04\04\04\04\04\04\04\04\04\04\04\04\04\04\03\03\03\03\04\03\03\03\03\04\03\04\04\04\04\03\04\04\04\04\03\04\03\04\04\04\03\03\03\02\00\00\00\00\00\00\03\03\03\03\03\03\03\03\03\03\03\03\03\05\02\02\02\02\03\02\02\02\02\03\02\03\03\03\03\02\03\03\03\03\02\03\02\03\03\03\03\03\03\02\00\00\00\00\00\00\04\04\04\04\04\04\04\04\04\04\04\04\04\06\03\03\03\03\04\03\03\03\03\04\03\04\04\04\04\03\04\04\04\04\03\04\03\04\04\04\03\03\03\02\00\00\00\00\00\00\04\04\04\04\04\04\04\04\04\04\04\04\04\06\03\03\03\03\04\03\03\03\03\04\03\04\04\04\04\03\04\04\04\04\03\04\03\04\04\04\04\04\04\03\00\00\00\00\00\00\05\05\05\05\05\05\05\03\03\03\03\03\03\05\04\04\04\04\05\04\04\04\04\05\04\05\05\05\05\04\05\05\05\05\04\05\04\05\03\03\03\03\03\02\00\00\00\00\00\00\06\06\06\06\06\06\06\04\04\04\04\04\04\06\05\05\05\05\06\05\05\05\05\06\05\06\06\06\06\05\06\06\06\06\05\06\05\06\04\04\03\03\03\02\00\00\00\00\00\00\00\00\00\00\00\00\00\03\05\03\03\03\05\05\00\00\00\00\00\00\00\00\00\00\00\00\05\05\05\06\07\05\07\05\04\05\04\05\05\05\05\05\05\04\00\00\00\00\00\00\00\00\00\00\00\00\00\04\06\04\04\04\06\06\00\00\00\00\00\00\00\00\00\00\00\00\06\06\06\07\08\06\08\06\05\06\05\06\05\05\05\05\05\04\00\00\00\00\00\00\05\05\05\05\05\05\05\03\03\03\03\03\03\05\04\04\04\04\05\04\04\04\04\05\04\05\05\05\05\04\09\07\05\05\04\05\04\05\03\03\03\03\03\02\00\00\00\00\00\00\06\06\06\06\06\06\06\04\04\04\04\04\04\06\05\05\05\05\06\05\05\05\05\06\05\06\06\06\06\05\0A\08\06\06\05\06\05\06\04\04\03\03\03\02\00\00\00\00\00\00\07\07\07\07\07\07\07\05\07\05\05\05\07\07\06\06\00\00\00\06\06\06\06\01\06\07\07\07\07\08\0B\09\09\07\06\07\06\07\05\05\06\06\01\01\00\00\00\00\00\00\07\07\07\08\08\08\07\06\08\06\06\06\08\08\06\06\00\00\00\07\07\06\06\01\06\07\07\07\07\08\0B\09\09\07\06\07\06\07\05\05\06\06\01\01\00\00\00\00\00\00\08\08\08\09\09\09\08\07\09\07\07\07\09\09\07\07\06\06\07\08\08\07\07\07\07\08\08\08\08\09\0C\0A\0A\08\07\08\07\08\05\05\07\06\01\01\00\00\00\00\00\00\09\09\09\0A\0A\0A\09\08\0A\08\08\08\0A\0A\08\08\07\07\08\09\09\08\08\08\08\09\09\09\09\0A\0D\0B\0B\09\08\09\08\09\05\05\07\06\01\01\00\00\00\00\00\00\0A\0A\0A\0B\0B\0B\0A\09\0B\09\09\09\0B\0B\09\09\08\08\09\0A\0A\09\09\09\09\0A\0A\0A\0A\0B\0E\0C\0C\0A\09\0A\09\0A\05\05\08\07\06\05\00\00\00\00\00\00\0B\0B\0B\0C\0C\0C\0B\0A\0C\0A\0A\0A\0C\0C\0A\0A\09\09\0A\0B\0B\0A\0A\0A\0A\0B\0B\0B\0B\0C\0F\0D\0D\0B\0A\0B\0A\0B\05\05\08\07\06\05\00\00\00\00\00\00\0C\0C\0C\0D\0D\0D\0C\0B\0D\0B\0B\0B\0D\0D\0B\0B\0A\0A\0B\0C\0C\0B\0B\0B\0B\0C\0C\0C\0C\0D\10\0E\0E\0C\0B\0C\0B\0C\06\06\09\08\04\03\00\00\00\00\00\00\0C\0C\0C\0D\0D\0D\0C\0B\0D\0B\0B\0B\0D\0D\0C\0C\0B\0B\0B\0C\0D\0C\0C\0B\0B\0C\0C\0C\0C\0D\10\0E\0E\0C\0C\0D\0C\0D\07\07\09\08\04\03\00\00\00\00\00\00\0D\0D\0D\0E\0E\0E\0D\0C\0E\0C\0C\0C\0E\0E\0D\0D\0C\0C\0C\0D\0E\0D\0D\0C\0C\0D\0D\0D\0D\0E\11\0F\0F\0D\0D\0E\0D\0E\08\08\0A\06\01\06\00\00\00\00\00\00\0E\0E\0E\0F\0F\0F\0E\0D\0F\0D\0D\0D\0F\0F\00\00\00\00\0D\00\00\00\00\01\00\00\0E\0E\0E\00\12\10\10\00\0E\0F\0E\0F\05\05\07\06\01\01\00\00\00\00\00\00\0E\0E\0E\0F\10\0F\0E\0D\0F\0D\0D\0E\0F\0F\00\00\00\00\0D\00\00\00\00\01\00\00\0E\0E\0E\00\12\10\10\00\0E\0F\0E\0F\05\05\07\06\01\01\00\00\00\00\00\00\0F\0F\0F\10\11\10\0F\0E\10\0E\0E\0F\10\10\0E\0E\0D\0D\0E\0E\0F\0E\0E\0D\0D\0E\0F\0F\0F\0F\13\11\11\0E\0F\10\0F\10\05\05\01\01\01\01\00\00\00\00\00\00\0F\0F\0F\10\11\10\0F\0E\10\0E\0E\0F\10\10\0E\0E\0D\0D\0E\0E\0F\0E\0E\0D\0D\0E\0F\0F\10\0F\13\11\11\0E\0F\10\0F\10\05\05\01\01\01\01\00\00\00\00\00\00\10\10\10\11\12\11\10\0F\11\0F\0F\10\11\11\0F\0F\0E\0E\0F\0F\10\0F\0F\0E\0E\0F\10\10\11\10\14\12\12\0F\10\11\10\11\05\05\0B\06\00\07\00\00\00\00\00\00\10\10\11\11\13\12\10\10\12\10\10\11\12\11\0F\10\0F\0E\10\10\11\0F\10\0F\0E\0F\10\11\12\10\15\13\13\0F\11\12\10\11\05\05\0C\06\00\07\00\00\00\00\00\00\11\11\12\12\14\13\11\11\13\11\11\12\13\12\10\11\10\0F\11\11\12\10\11\10\0F\10\11\12\13\11\16\14\14\10\12\13\11\12\05\05\0D\09\01\01\00\00\00\00\00\00\12\12\13\13\15\14\12\12\14\12\12\13\14\13\11\0E\0D\10\12\0E\0F\11\12\11\0D\11\12\13\14\12\17\15\15\11\13\14\12\13\05\05\01\0A\01\01\00\00\00\00\00\00\13\12\13\13\15\14\13\13\14\12\12\13\14\14\11\0E\0D\10\12\0E\0F\11\12\11\0D\11\12\13\14\12\17\15\15\11\13\14\12\13\05\05\01\0A\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\12\00\11\00\11\00\00\00\00\01\00\12\13\14\15\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\13\00\12\00\11\00\00\00\00\01\00\12\14\14\16\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\11\00\11\00\00\00\00\01\00\12\0E\0E\15\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\12\00\11\00\00\00\00\01\00\12\0E\0E\16\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\11\00\11\00\00\00\00\01\00\12\0E\0E\15\00\16\10\10\00\00\01\00\14\05\05\01\06\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\12\00\11\00\00\00\00\01\00\12\0E\0E\16\00\16\10\10\00\00\01\00\14\05\05\01\06\01\01\00\00\00\00\00\00\15\13\15\15\17\16\15\15\16\14\14\15\16\16\14\12\13\11\13\12\13\12\13\12\10\13\15\15\17\13\18\16\16\12\14\15\13\15\05\05\01\02\01\01\00\00\00\00\00\00\16\14\16\16\18\17\16\16\17\15\15\16\17\17\15\13\14\12\14\13\14\13\14\13\11\14\16\16\18\14\19\17\17\13\15\16\14\16\05\05\01\02\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\05\01\01\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\01\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\05\0F\0B\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\10\0C\07\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\04\04\04\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\11\0D\04\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\12\0E\04\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\0F\02\00\00\00\00\00\00\00\17\0D\17\0E\19\18\17\17\18\16\16\17\18\18\00\00\00\00\0D\00\00\14\00\01\00\00\17\17\19\15\1A\18\18\14\16\17\15\17\05\05\13\0B\01\01\00\00\00\00\00\00\18\0D\17\17\1A\19\18\18\19\17\17\18\19\19\16\0E\0D\0D\15\0E\0F\0E\12\0D\0D\15\18\18\1A\0F\1B\19\19\15\17\10\16\18\05\05\01\01\01\01\00\00\00\00\00\00\18\0D\17\18\1A\19\19\18\19\17\18\18\19\1A\16\0E\0D\0D\15\0E\0F\0E\12\0D\0D\15\18\18\1A\0F\1B\19\19\15\17\10\16\18\05\05\01\01\01\01\00\00\00\00\00\00\19\15\18\19\1B\1A\1A\19\1A\18\19\19\1A\1B\17\14\15\13\16\14\15\15\15\14\12\16\19\19\1B\16\1C\1A\1A\11\13\18\12\19\05\05\01\06\01\01\00\00\00\00\00\00\19\15\18\19\1B\1A\1A\1A\1B\19\1A\1A\1A\1C\17\14\16\13\16\14\15\15\15\14\12\16\19\19\1C\16\1C\1A\1A\11\13\18\12\19\05\05\01\06\01\01\00\00\00\00\00\00\1A\16\19\1A\1C\1B\1B\1B\1C\1A\1B\1B\1B\1D\18\15\0D\14\0E\15\16\16\16\15\13\17\1A\1A\1D\17\1D\1B\1B\16\18\19\17\1A\05\05\14\10\01\01\00\00\00\00\00\00\1B\17\1A\1B\1D\1C\1C\1C\1D\1B\1C\1C\1C\1E\19\16\03\15\17\16\17\17\17\16\14\18\1B\1B\04\18\1E\1C\1C\17\19\1A\18\1B\09\09\15\11\00\09\00\00\00\00\00\00\1C\18\1B\1C\1E\1D\1D\1D\1E\1C\1D\1D\1D\1F\1A\17\17\16\18\17\18\18\18\17\15\19\1C\1C\1E\19\1F\1D\1D\18\1A\1B\19\1C\05\05\16\06\01\01\00\00\00\00\00\00\1C\18\1B\1C\1E\1D\1D\1D\1E\1C\1D\1D\1D\1F\1B\18\17\17\19\18\19\19\19\18\15\1A\1C\1C\1E\19\1F\1E\1E\18\1A\1B\19\1C\05\05\16\06\01\01\00\00\00\00\00\00\1D\19\1C\1D\1F\1E\1E\1E\1F\1D\1E\1E\1E \11\0E\0D\10\0E\0E\0F\11\12\11\0D\0E\12\13\1F\1A\1C\15\15\11\13\14\12\1D\05\05\01\12\01\01\00\00\00\00\00\00\1D\1A\1D\1D \1F\1E\1E \1E\1E\1F\1F \11\0E\0D\10\0E\0E\0F\11\12\11\0D\0E\12\13\1F\1B\1C\15\15\11\13\14\12\1D\05\05\01\12\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\01\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\01\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\0B\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\0B\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\13\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\13\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\06\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\06\01\01\00\00\00\00\00\00\1E\1B\1E\1E\22 \22 !!\22\1C\1B\18\19\1A\19\1B\1C\1A\19\16\1D\1E\1F \1D \1B\1C\1D\1A \05\05\01\09\01\01\00\00\00\00\00\00\1E\1B\1F\1F# !#!!\22\22#\1C\1B\19\19\1A\19\1C\1D\1B\1A\16\1D\1F\1F!\1E! !\1C\1D\1E\1B!\05\05\01\09\01\01\00\00\00\00\00\00\1F\1C $!!\22$\22\22##$\1D\1C\1A\1A\1B\1A\1D\1E\1C\1B\17\1E \22\1F\22!\22\1D\1E\1F\1C\22\05\05\01\01\01\01\00\00\00\00\00\00\1F\1C $!!#$#\22##$\1D\1C\1B\1A\1C\1A\1D\1F\1C\1B\17\1F #\1F#\22\22\1E\1E\1F\1C#\05\05\01\01\01\01\00\00\00\00\00\00 \1D!!%\22\22$%$#$$%\1E\00\00\1B\11\1B\1E \1D\1C\00\00!!$ $##\1F\1F \15\17\05\05\01\01\01\01\00\00\00\00\00\00 \1D!\22%\22#$%$$$$&\1E\00\00\1B\11\1C\1E \1D\1C\00\00!!$ $$#\1F\1F \15\17\05\05\01\01\01\01\00\00\00\00\00\00!\1E\22#&#$%&%%%%'\1F\1D\1C\1C\1D\1D\1F!\1E\1D\18 \22\22%!%%$ !\1D$\05\05\01\01\01\01\00\00\00\00\00\00\22\1F#$'$%&'&&&&( \1E\1D\1D\1E\1E \22\1F\1E\19!##&\22&&%!!\22\1E%\00\00\17\01\00\0A\00\00\00\00\00\00# $%(%&'('''')!\1F\1E\1E\1F\1F!# \1F\1A\22$$'#''&\22\22#\1F&\00\00\17\01\00\0A\00\00\00\00\00\00$!%&)&'()((((*\22 \1F\1F \22$! \1B#%%($(('##$ '\0A\0A\09\08\04\03\00\00\00\00\00\00\0E\0E\0E\0F\0F\0F\0E\0D\0F\0D\0D\0D\0F\0F#! !!#%\22!\1C$&&)%))($$%!(\05\05\07\06\01\01\00\00\00\00\00\00\0E\0E\0E\0F\10\0F\0E\0D\0F\0D\0D\0E\0F\0F#!! !!#%\22!\1C$''*%))($$%!(\05\05\07\06\01\01\00\00\00\00\00\00%\22&'*'()*))))+\11\0E\22!\22\22$\11#\11\0D\11((+&**)%%&\12\13\05\05\18\0B\08\0B\00\00\00\00\00\00%\22&'*'(*+))**+\11\0E#\22##%\11#\11\0D\11)),'++*%%'\12\13\05\05\18\0B\08\0B\00\00\00\00\00\00&#'(+()+,**++,$\22$#$$&&$\22\1D%**-(,,+&&(\22)\05\05\0E\00\02\01\00\00\00\00\00\00'$(),)*,-++,,-%#%$%%''%#\1E&++.)--,'')#*\05\05\0E\00\02\01\00\00\00\00\00\00(%)*-*+-.,,--.\00$\00\00\01\00\00(\00\01\00\01,,/\00\01\10\10(\00\01\00\01\05\05\0E\01\01\01\00\00\00\00\00\00\00&*+.+,./--../\00\00\00\00&&()\00\01\1F\01--0*..-)\00*$\01\0B\0B\19\14\01\01\00\00\00\00\00\00\00'+,.,,.0...//\00\00\00\00'')*\00\01 \01..0+//.*\00+%\01\0B\0B\19\14\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/1///0\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\13\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/20001\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\13\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/1///0\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\02\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/20001\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\02\01\01\00\00\00\00\00\00)(,-0--0311120&%&%))++&%!'001-110+)-&,\0C\0C\1A\15\09\0C\01\00\01\01\01\00*)-.1..1422231'&'&**,,'&\22(112.221,*.'-\05\05\1B\0F\01\01\00\00\00\00\00\00+*./2//2533342('('++--('#)223/332-+/(.\05\05\1C\0F\01\01\00\00\00\00\00\00,+\1703003644453\11\0E\0D\10\12\0E\0F\11\12\11\0D\1133404\15\15.,0)/\05\05\01\16\01\01\00\00\00\00\00\00-,/14114755564)()(,,..)($*4451543/-1*0\0D\0D\1D\17\0A\0D\00\00\00\00\00\00\11\1D025\13\115866675*)*\0F--\12/*)%+55626540.2+1\05\05\01\01\01\01\00\00\00\00\00\00.-136226977786+*+)../0+*&,66737651/3,2\05\05\1E\18\01\01\00\00\00\00\00\00.-136236978787+*+)../0+*&,6674875203-3\05\05\1E\18\01\01\00\00\00\00\00\00/.247347:89898\11\0E\0D\10\0E/0\11\12\11\0D\1177\145986314.4\05\05\1F\19\01\01\00\00\00\00\00\00//358358:8:898\11\0E\0D\10\0E01\11\12\11\0D\1188\146997314.4\05\05\1F\19\01\01\00\00\00\00\00\000\01469469;9;9:9,+,*/121,+'-9987::8425/5\05\05 \01\01\01\00\00\00\00\00\000\0156:47:;:;:::,+,*/131,+'-:998::952605\05\05 \01\01\01\00\00\00\00\00\001067;58;<;<;;;-,-+0242-,(.;::9;;:63716\05\05!\06\01\01\00\00\00\00\00\002178<69<\0C\0A=<<<.\0A\09\09135\0A\0A\0A\0A\0B<\0B\0B\0C<<;\0B\0A\0B\0A\0B\05\05!\06\01\01\00\00\00\00\00\003289=7:==<>===/-\1F,2 63.-)/=;(:=(<74827\0E\0E\09\08\04\03\00\00\00\00\00\0043)*>*+>>,,>>.\00\00.\00\01\00\004\00\01\000,<;\00\01==8\00\01\008\05\05\09\08\04\03\00\00\00\00\00\00549:?8;??=???>\00.\00\003475\1D.\001>=<\00>>>95939\05\05\22\1A\04\03\00\00\00\00\00\00649:@9;@?=@@@>\00.\00\003575\1D.\002>=<\00>?>9593:\05\05\22\1A\04\03\00\00\00\00\00\007\18:;A:AAA?\11\0E/\104\0E\0F\11\12\11\0D\1133=\12?\15\15:\13\14\12\13\05\05\01\1B\01\01\00\00\00\00\00\0085;\0F;\1C@?;\0F\1C\0F;\05\05\01\06\01\01\00\00\00\00\00\00\17\0D\17=D\18\17CC@\0ED\10A\0E\0E\0D\0D\0E\0E\0F7\0E\0D\0D\11@?\10;\1C@?<\0F\1C\0F;\05\05\01\06\01\01\00\00\00\00\00\0097<>E<>DDACECB0/\0D-\12688//\0E3A@><\17A@=6:\10<\05\05\01\0B\01\01\00\00\00\00\00\0097DEADEDB0/\0D-\12688/0\0E3B@>=\17A@>7;\10=\05\05\01\0B\01\01\00\00\00\00\00\00 8=@F>\22\18FBEFE\19\00\06\00\1B\11\00\00 \1D\1C\00\12CA?\0F@BA\158<4>\05\05\01\0A\01\01\00\00\00\00\00\00 8=@F>#\18FCEFE\1A\00\06\00\1B\11\00\00 \1D\1C\00\12CA@\0F@BA\158<4>\05\05\01\0A\01\01\00\00\00\00\00\00 8=@F>\22$GDFGF%\00\06\00\1B\11\00\00 \1D\1C\00\12DBA $CB\1F\1F \15?\05\05\01\0A\01\01\00\00\00\00\00\00 8=@F>#$GEFGF&\00\06\00\1B\11\00\00 \1D\1C\00\12DBB $CB\1F\1F \15?\05\05\01\0A\01\01\00\00\00\00\00\00:9>AG??EHFGHGC1\0E\0D\10\0E79\11\12\0D\0D\11E\01C>\16DC\009=5@\05\05\01\0B\01\01\00\00\00\00\00\00:9>AG?@FHGGHGD1\0E\0D\10\0E79\11\12\0D\0D\11E\01C>\16DC\009=5@\05\05\01\0B\01\01\00\00\00\00\00\00;:?BH@AGIHHIHE200.58:901*4FCD?AED?:>6A\05\05\07\06\01\01\00\00\00\00\00\00<;@CIABHJIIJIF311/69;:12+5GDE@BFE@;?7B\05\05\07\06\01\01\00\00\00\00\00\00=B:E\05\05\07\06\01\01\00\00\00\00\00\00>=DDKCEJLKKLKH53318;=<34-7KHIDFJID?C;F\05\05%\0B\01\01\00\00\00\00\00\00\10\10E\11LD\10KMLLML\11\11\0E\0D\10\22\22$\11\12\11\0D\11((J\1AGKJ\11\13&\12\13\05\05\0B\06\00\07\00\00\00\00\00\00\10\10E\11MD\10LMLLNL\11\11\0E\0D\10##%\11\12\11\0D\11))J\1BHLK\11\13'\12\13\05\05\0C\06\00\07\00\00\00\00\00\00?7FENE>MNMMOMB\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13J\12\17MLE\13\14\12\13\05\05\01\06\01\01\00\00\00\00\00\00?7FEOE>MNMMPMB\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13J\12\17MLE\13\14\12\13\05\05\01\06\01\01\00\00\00\00\00\00@>GFPFFNONNQNI\004\002\0D<>>45.8LI\1FE\17NMF@D>45/8LI\1FE\17NMF@D=G\0F\0F&\1D\0C\0E\00\00\00\00\00\00?7HENEGMQPMROK\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13\07\12\17\15\15EAE>H\05\05\01\1E\01\01\00\00\00\00\00\00?7HEOEGMQPMSOK\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13\07\12\17\15\15EAE>H\05\05\01\1E\01\01\00\00\00\00\00\0010I7;5HORQ@@673RONILTSKGKDN\00\00)\1F\00\00\03\00\02\00\03\02GFP\02UKPWZX\02ZVT:;87=ACC9:6?SPOJMUTLHLEO\12\12*\02\02\00\00\00\00\00\00\00GFP\02UKPWZX\02ZVT\01\01\01\01\02\01\01\01\01\02\01\02\02\02\02\01\02\02\02\02\01\02\01\02\12\12*\02\02\00\00\00\00\00\00\00H\1D!LVL+X[$T[WU;$\00\1B\00BD \00\0170TQP NVU\1FIMFP\00\00\0E\00\02\00\00\00\00\00\00\00IGQMWMQY\\YU\\XV<<\008\00CED:;8@UR\0EKOWVMJNGQ\13\13\01\0A\01\00\00\00\00\00\00\00IGQNXMQY\\ZV]XV<=\008\00CEE:;8@US\0EKPWVNKNHR\14\14\01\0A\01\00\00\00\00\00\00\00JHROYNRZ][W^YW42207:<;23,6HEFACGFA<@8C\05\05\07\06\01\01\00\00\00\00\00\00K:?BH@A[^\\X_ZX=>99>DFF;<9AVTQLQXWOLOIS\05\05\07\06\01\01\00\00\00\00\00\00L\08::\08EGG<=:BWURM\0DYXPMPJT\05\05\07\06\01\01\00\00\00\00\00\00MISPZOS]`^Za\1CY??;;?FHH=>;CXVSNRZYQNQKU\04\15+\02\00\0F\00\00\00\00\00\00NJTQ[PT^a_[b\\Z@\06\00\00\00GII\06\01\06\07\07\07\07\08\0B\09\09EO\07\06\07\05\05,\01\01\01\00\00\00\00\00\00OKUR\\QU_b`\\c][A@<<@HJJ>?\18\15IKK\0E\0D>\11[YVP\0B\\[SQTNW\00\00.\02\00\00\00\00\00\00\00\00RMXS^SWbdc^e_(CB?=AJLL?@?E\\ZWQT&%TRUO%\00\00\17\01\00\0A\00\00\00\00\00\00SNYT_TXced_f`)DC@>BKMM@A@F][XRU'&USVP&\00\00\17\01\00\0A\00\00\00\00\00\00)OZU`UYdfe`ga]&%&%))++&%!'^\\YSV]\\VTWQX\15\16/\15\0E\10\00\00\00\00\00\00)OZU`UYdfe`ga]EDA?CLNNA%!'^\\YSV]\\VTWQX\15\160 \0F\11\00\00\00\00\00\00TP[VaVZdfe`ga]FEB@DMOOBBAG^\\YSV]\\VTWQX\15\161\15\10\01\00\00\00\00\00\00)OZU`UYegfahb^&%&%))++&%!'^\\YSV]\\VTWQX\15\162!\09\12\00\00\00\00\00\00", [50 x i16] [i16 0, i16 85, i16 166, i16 258, i16 345, i16 443, i16 530, i16 621, i16 723, i16 827, i16 930, i16 1028, i16 1133, i16 1232, i16 1327, i16 1398, i16 1468, i16 1535, i16 1600, i16 1669, i16 1747, i16 1827, i16 1907, i16 1974, i16 2041, i16 2107, i16 2179, i16 2274, i16 2367, i16 2457, i16 2541, i16 2628, i16 2722, i16 2815, i16 2902, i16 2987, i16 3075, i16 3157, i16 3246, i16 3268, i16 3291, i16 3342, i16 3376, i16 3393, i16 3412, i16 3416, i16 3417, i16 3420, i16 3422, i16 3426], [3429 x i16] [i16 1, i16 273, i16 463, i16 844, i16 1101, i16 858, i16 1122, i16 1977, i16 2348, i16 2594, i16 3018, i16 3253, i16 3606, i16 4397, i16 4635, i16 4806, i16 5023, i16 5441, i16 5662, i16 5858, i16 5884, i16 6040, i16 6288, i16 6938, i16 7125, i16 7310, i16 7573, i16 7838, i16 8226, i16 8624, i16 9025, i16 9539, i16 9921, i16 10130, i16 10434, i16 10640, i16 10937, i16 11606, i16 11946, i16 12190, i16 12640, i16 13317, i16 14931, i16 15189, i16 6952, i16 16066, i16 16636, i16 17024, i16 17365, i16 17819, i16 18049, i16 18224, i16 18661, i16 18735, i16 18983, i16 19067, i16 19176, i16 19479, i16 4589, i16 20213, i16 20433, i16 20653, i16 21280, i16 21712, i16 21810, i16 22607, i16 22680, i16 22719, i16 23133, i16 23665, i16 24019, i16 24674, i16 25025, i16 25183, i16 25483, i16 25641, i16 25844, i16 26175, i16 26395, i16 26524, i16 26932, i16 27130, i16 27204, i16 27426, i16 27844, i16 5, i16 276, i16 473, i16 846, i16 1104, i16 864, i16 1133, i16 1981, i16 2352, i16 2601, i16 3021, i16 3258, i16 3616, i16 4401, i16 4639, i16 4809, i16 5026, i16 5445, i16 5666, i16 6044, i16 6295, i16 7312, i16 7577, i16 7842, i16 8229, i16 8628, i16 8755, i16 9030, i16 9544, i16 9925, i16 10134, i16 10437, i16 10644, i16 10948, i16 11608, i16 11950, i16 12197, i16 2107, i16 12746, i16 12967, i16 13321, i16 14935, i16 15199, i16 15853, i16 16070, i16 16639, i16 17027, i16 17267, i16 17823, i16 18056, i16 18234, i16 18665, i16 18739, i16 19180, i16 19307, i16 19483, i16 19792, i16 20029, i16 20217, i16 20437, i16 20660, i16 21285, i16 21815, i16 22082, i16 22611, i16 22685, i16 22723, i16 23143, i16 23669, i16 24027, i16 24687, i16 25187, i16 25490, i16 26186, i16 4589, i16 26528, i16 26936, i16 27209, i16 27434, i16 27820, i16 27854, i16 9, i16 279, i16 480, i16 848, i16 1107, i16 872, i16 1148, i16 1985, i16 2356, i16 2608, i16 3024, i16 3263, i16 3626, i16 4405, i16 4643, i16 4812, i16 5029, i16 5255, i16 5449, i16 5670, i16 5888, i16 6048, i16 6302, i16 4895, i16 7314, i16 7581, i16 7846, i16 8232, i16 8632, i16 8760, i16 9035, i16 9301, i16 9549, i16 94, i16 10138, i16 10440, i16 10648, i16 10959, i16 11610, i16 11954, i16 12204, i16 12644, i16 12750, i16 12972, i16 13325, i16 14939, i16 15209, i16 16074, i16 16408, i16 16642, i16 17030, i16 17271, i16 17368, i16 17659, i16 17827, i16 18063, i16 18244, i16 18743, i16 19070, i16 19184, i16 19487, i16 19796, i16 276, i16 20221, i16 20441, i16 20667, i16 21048, i16 21132, i16 21290, i16 21635, i16 5678, i16 21820, i16 22151, i16 22255, i16 22391, i16 22615, i16 22727, i16 23153, i16 23672, i16 24032, i16 24697, i16 25191, i16 25497, i16 26193, i16 26399, i16 26534, i16 26940, i16 27135, i16 27215, i16 27444, i16 27824, i16 27864, i16 13, i16 282, i16 493, i16 850, i16 1110, i16 881, i16 1165, i16 1989, i16 2221, i16 2360, i16 2615, i16 3027, i16 3268, i16 3639, i16 4409, i16 4647, i16 4815, i16 5032, i16 5453, i16 5674, i16 5892, i16 6052, i16 6309, i16 7129, i16 7281, i16 7316, i16 7585, i16 7850, i16 8235, i16 8636, i16 9041, i16 9308, i16 9553, i16 9929, i16 10091, i16 10142, i16 10443, i16 10652, i16 10973, i16 11612, i16 11958, i16 12211, i16 12648, i16 12754, i16 12977, i16 13329, i16 14943, i16 15219, i16 15857, i16 16078, i16 16412, i16 16645, i16 17033, i16 17275, i16 17371, i16 17831, i16 18070, i16 18257, i16 18747, i16 19073, i16 19188, i16 19339, i16 19491, i16 19686, i16 19800, i16 20032, i16 20225, i16 20445, i16 21295, i16 21716, i16 21825, i16 22088, i16 22731, i16 23166, i16 23675, i16 24037, i16 25029, i16 25195, i16 25381, i16 25504, i16 26202, i16 26402, i16 26540, i16 27220, i16 27452, i16 27828, i16 27874, i16 17, i16 285, i16 503, i16 852, i16 1113, i16 890, i16 1182, i16 1993, i16 2228, i16 2364, i16 2622, i16 3030, i16 3273, i16 3649, i16 4413, i16 4651, i16 4791, i16 4818, i16 5035, i16 5259, i16 5457, i16 5678, i16 5896, i16 6056, i16 6316, i16 6942, i16 7133, i16 7318, i16 7589, i16 7854, i16 8238, i16 8640, i16 8765, i16 8827, i16 9046, i16 9314, i16 9557, i16 9933, i16 10147, i16 10446, i16 10656, i16 10984, i16 11616, i16 11962, i16 12218, i16 12652, i16 12758, i16 13129, i16 13333, i16 14947, i16 15229, i16 15861, i16 16082, i16 16416, i16 16648, i16 17036, i16 17279, i16 17374, i16 17663, i16 17835, i16 18077, i16 18267, i16 18669, i16 18751, i16 18988, i16 19076, i16 19192, i16 19343, i16 19437, i16 19495, i16 19804, i16 20035, i16 20229, i16 20449, i16 20674, i16 21300, i16 21638, i16 16919, i16 21720, i16 21796, i16 21830, i16 22735, i16 23176, i16 23678, i16 24042, i16 24707, i16 25033, i16 25199, i16 25387, i16 25513, i16 26209, i16 26406, i16 26546, i16 26944, i16 27225, i16 27460, i16 27832, i16 27884, i16 21, i16 288, i16 513, i16 854, i16 1116, i16 897, i16 1195, i16 1997, i16 2233, i16 2368, i16 2629, i16 3033, i16 3278, i16 3674, i16 4417, i16 4655, i16 4821, i16 5038, i16 5263, i16 5461, i16 5682, i16 5900, i16 6060, i16 6323, i16 6948, i16 7137, i16 7320, i16 7593, i16 7858, i16 8241, i16 8644, i16 8770, i16 9051, i16 9562, i16 9937, i16 10152, i16 10449, i16 10660, i16 10998, i16 11619, i16 11966, i16 12225, i16 12656, i16 12762, i16 12982, i16 13337, i16 14951, i16 15239, i16 15865, i16 16086, i16 16651, i16 17039, i16 17378, i16 17839, i16 18084, i16 18280, i16 18755, i16 18993, i16 19079, i16 19196, i16 19499, i16 19691, i16 19808, i16 20038, i16 20233, i16 20453, i16 20681, i16 21305, i16 21641, i16 21724, i16 21835, i16 22735, i16 23189, i16 23682, i16 24050, i16 24717, i16 25037, i16 25203, i16 25522, i16 7946, i16 26410, i16 26552, i16 26948, i16 27231, i16 27470, i16 27836, i16 27894, i16 25, i16 291, i16 523, i16 856, i16 1119, i16 1448, i16 1454, i16 2001, i16 2372, i16 2636, i16 3036, i16 3283, i16 3690, i16 4421, i16 4659, i16 4824, i16 273, i16 5465, i16 5686, i16 5863, i16 5904, i16 6064, i16 6330, i16 6952, i16 7141, i16 7286, i16 7322, i16 7597, i16 7862, i16 8244, i16 8648, i16 8831, i16 9057, i16 9567, i16 9941, i16 10096, i16 10156, i16 10452, i16 10664, i16 11015, i16 11621, i16 11970, i16 12232, i16 12660, i16 12766, i16 13341, i16 14955, i16 15249, i16 15869, i16 16090, i16 16654, i16 16919, i16 17042, i16 17283, i16 17381, i16 17668, i16 17843, i16 18091, i16 18296, i16 18759, i16 19082, i16 19200, i16 19503, i16 20041, i16 20181, i16 20237, i16 20457, i16 20688, i16 21052, i16 21310, i16 21840, i16 22155, i16 22259, i16 22398, i16 22619, i16 22690, i16 22727, i16 23205, i16 23685, i16 24055, i16 24727, i16 25207, i16 25529, i16 26222, i16 26413, i16 26558, i16 26952, i16 10488, i16 10728, i16 27840, i16 27904, i16 29, i16 294, i16 463, i16 858, i16 1122, i16 2005, i16 2238, i16 2376, i16 2643, i16 3039, i16 3288, i16 3700, i16 4397, i16 4663, i16 4827, i16 5041, i16 5267, i16 5441, i16 5690, i16 5868, i16 5908, i16 6068, i16 6337, i16 6956, i16 7145, i16 7324, i16 7502, i16 7601, i16 7866, i16 8247, i16 8652, i16 8835, i16 9062, i16 9320, i16 9572, i16 9820, i16 9945, i16 10160, i16 10455, i16 10668, i16 11026, i16 11625, i16 11815, i16 11974, i16 12239, i16 12664, i16 12770, i16 13133, i16 13345, i16 14959, i16 15259, i16 15873, i16 16094, i16 16420, i16 16657, i16 17045, i16 17287, i16 17384, i16 17672, i16 17847, i16 18098, i16 18306, i16 18673, i16 18763, i16 18998, i16 19085, i16 19205, i16 19347, i16 19507, i16 20044, i16 20185, i16 20241, i16 20461, i16 20695, i16 21315, i16 21644, i16 21695, i16 21728, i16 21845, i16 22263, i16 22405, i16 22623, i16 22695, i16 22739, i16 23215, i16 23688, i16 24060, i16 24674, i16 25041, i16 25211, i16 25536, i16 25645, i16 25851, i16 26175, i16 26417, i16 26564, i16 26956, i16 27140, i16 27238, i16 27482, i16 27844, i16 28220, i16 36, i16 301, i16 473, i16 864, i16 1133, i16 1792, i16 1878, i16 2016, i16 2251, i16 2384, i16 2658, i16 3046, i16 3301, i16 3719, i16 4401, i16 4672, i16 4836, i16 5048, i16 5275, i16 5469, i16 5697, i16 5916, i16 6076, i16 6352, i16 6965, i16 7153, i16 7333, i16 7513, i16 7609, i16 7882, i16 8257, i16 8663, i16 8775, i16 8844, i16 9075, i16 9334, i16 9584, i16 9953, i16 10169, i16 10461, i16 10679, i16 11046, i16 11634, i16 11825, i16 11981, i16 12252, i16 12671, i16 12781, i16 12987, i16 13142, i16 13271, i16 13355, i16 14965, i16 15275, i16 15880, i16 16104, i16 16427, i16 16669, i16 17055, i16 17391, i16 17854, i16 18325, i16 18678, i16 18771, i16 19092, i16 19213, i16 19312, i16 19355, i16 19517, i16 19696, i16 19812, i16 19936, i16 20053, i16 20253, i16 20473, i16 20718, i16 21327, i16 21651, i16 21736, i16 21853, i16 22094, i16 22159, i16 22270, i16 22417, i16 22630, i16 22703, i16 22758, i16 23237, i16 23696, i16 24082, i16 24687, i16 25048, i16 25217, i16 25551, i16 25652, i16 25864, i16 26186, i16 26427, i16 26579, i16 26964, i16 27245, i16 27495, i16 27854, i16 28227, i16 43, i16 309, i16 480, i16 872, i16 1148, i16 2028, i16 2264, i16 2395, i16 2679, i16 3057, i16 3322, i16 3738, i16 4425, i16 4684, i16 4844, i16 5056, i16 5285, i16 5474, i16 5704, i16 5923, i16 6084, i16 6367, i16 6971, i16 7159, i16 7343, i16 7524, i16 7620, i16 7895, i16 8267, i16 8673, i16 8786, i16 8850, i16 9084, i16 9344, i16 9592, i16 9833, i16 9958, i16 10177, i16 10465, i16 10686, i16 11066, i16 11640, i16 11992, i16 12273, i16 12677, i16 12791, i16 12998, i16 13149, i16 13279, i16 13365, i16 14974, i16 15300, i16 15895, i16 16114, i16 16434, i16 16681, i16 17065, i16 17396, i16 17680, i16 17865, i16 18344, i16 18780, i16 19100, i16 19221, i16 19362, i16 19530, i16 19820, i16 19922, i16 19944, i16 20015, i16 20058, i16 20195, i16 20265, i16 20485, i16 20741, i16 21338, i16 21660, i16 21747, i16 21861, i16 22104, i16 22170, i16 22280, i16 22436, i16 22637, i16 22780, i16 23259, i16 23703, i16 24101, i16 24697, i16 25227, i16 25392, i16 25566, i16 25662, i16 25883, i16 26193, i16 26436, i16 26591, i16 26970, i16 27149, i16 27253, i16 27510, i16 27864, i16 28234, i16 51, i16 317, i16 493, i16 881, i16 1165, i16 2039, i16 2276, i16 2403, i16 2694, i16 3065, i16 3337, i16 3760, i16 4432, i16 4691, i16 4852, i16 5062, i16 5293, i16 5481, i16 5712, i16 5932, i16 6090, i16 6378, i16 6977, i16 7166, i16 7291, i16 7353, i16 7535, i16 7630, i16 7911, i16 8275, i16 8682, i16 8856, i16 9093, i16 9355, i16 9600, i16 9965, i16 10101, i16 10185, i16 10471, i16 10697, i16 11089, i16 11645, i16 12002, i16 12292, i16 12684, i16 12803, i16 13012, i16 13157, i16 13288, i16 13375, i16 14984, i16 15328, i16 15909, i16 16124, i16 16443, i16 16693, i16 16923, i16 17074, i16 17298, i16 17402, i16 17873, i16 18111, i16 18344, i16 18790, i16 19007, i16 19108, i16 19229, i16 19537, i16 19710, i16 19826, i16 19950, i16 20064, i16 20273, i16 20493, i16 20756, i16 21351, i16 21667, i16 21753, i16 21870, i16 22114, i16 22805, i16 23284, i16 23710, i16 24120, i16 25054, i16 25232, i16 25398, i16 25581, i16 25671, i16 25900, i16 26202, i16 26445, i16 26602, i16 26976, i16 27261, i16 27525, i16 27874, i16 28241, i16 61, i16 326, i16 503, i16 890, i16 1182, i16 2050, i16 2292, i16 2410, i16 2707, i16 3071, i16 3348, i16 3779, i16 4441, i16 4699, i16 4796, i16 4861, i16 5069, i16 5301, i16 5457, i16 5719, i16 5941, i16 6098, i16 6393, i16 6986, i16 7176, i16 7363, i16 7546, i16 7641, i16 7928, i16 8287, i16 8692, i16 8796, i16 8865, i16 9105, i16 9369, i16 9610, i16 9974, i16 10193, i16 10477, i16 10708, i16 11109, i16 11652, i16 11833, i16 12013, i16 12313, i16 12689, i16 12816, i16 13167, i16 13299, i16 13385, i16 14994, i16 15356, i16 15925, i16 16134, i16 16453, i16 16706, i16 17084, i16 17410, i16 17687, i16 17879, i16 18122, i16 18366, i16 18684, i16 18799, i16 19017, i16 19117, i16 19237, i16 19369, i16 19442, i16 19543, i16 19833, i16 19957, i16 20073, i16 20279, i16 20499, i16 20767, i16 21363, i16 21674, i16 21703, i16 21759, i16 21801, i16 21881, i16 22177, i16 22245, i16 22287, i16 22449, i16 22821, i16 23306, i16 23714, i16 24130, i16 24707, i16 25065, i16 25241, i16 25409, i16 25600, i16 25678, i16 25913, i16 26209, i16 26456, i16 26614, i16 26984, i16 27269, i16 27540, i16 27884, i16 28248, i16 70, i16 336, i16 513, i16 897, i16 1195, i16 1800, i16 1893, i16 2063, i16 2309, i16 2417, i16 2720, i16 3081, i16 3367, i16 3813, i16 4446, i16 4708, i16 4868, i16 5077, i16 5310, i16 5489, i16 5727, i16 5952, i16 6105, i16 6406, i16 6994, i16 7183, i16 7373, i16 7650, i16 7946, i16 8295, i16 8701, i16 8806, i16 8871, i16 9115, i16 9380, i16 9620, i16 9980, i16 10201, i16 10483, i16 10719, i16 11132, i16 11662, i16 11846, i16 12023, i16 12332, i16 12695, i16 12828, i16 13026, i16 13175, i16 13308, i16 13395, i16 15004, i16 15384, i16 15940, i16 16144, i16 16460, i16 16721, i16 17096, i16 17416, i16 17888, i16 18139, i16 18388, i16 18691, i16 18808, i16 19027, i16 19127, i16 19246, i16 19552, i16 19717, i16 19840, i16 19964, i16 20077, i16 20287, i16 20507, i16 20782, i16 21373, i16 21682, i16 21767, i16 21890, i16 22186, i16 22296, i16 22466, i16 22843, i16 23331, i16 23723, i16 24155, i16 24717, i16 25073, i16 25250, i16 25619, i16 25685, i16 25926, i16 26466, i16 26627, i16 26990, i16 27280, i16 27561, i16 27894, i16 28255, i16 77, i16 343, i16 523, i16 904, i16 1208, i16 1448, i16 1454, i16 2075, i16 2323, i16 2425, i16 2735, i16 3087, i16 3378, i16 3838, i16 4453, i16 4714, i16 4878, i16 5083, i16 5496, i16 5734, i16 5876, i16 5960, i16 6115, i16 6425, i16 7003, i16 7191, i16 7302, i16 7379, i16 7557, i16 7659, i16 7955, i16 8305, i16 8714, i16 8880, i16 9125, i16 9391, i16 9629, i16 9987, i16 10111, i16 10210, i16 10488, i16 10728, i16 11158, i16 11669, i16 12030, i16 12345, i16 12701, i16 12839, i16 13405, i16 15014, i16 15412, i16 15956, i16 16154, i16 16470, i16 16734, i16 16937, i16 17107, i16 17424, i16 17694, i16 17894, i16 18150, i16 18413, i16 18818, i16 19135, i16 19254, i16 19376, i16 19559, i16 20084, i16 20202, i16 20295, i16 20515, i16 20797, i16 21383, i16 21900, i16 22127, i16 22192, i16 22302, i16 22477, i16 22644, i16 22711, i16 22862, i16 23359, i16 23729, i16 24171, i16 24727, i16 25082, i16 25255, i16 25630, i16 25694, i16 26222, i16 26471, i16 26640, i16 26997, i16 27904, i16 28262, i16 86, i16 533, i16 911, i16 1220, i16 1532, i16 1624, i16 2087, i16 2432, i16 2748, i16 3094, i16 3391, i16 3857, i16 4013, i16 4460, i16 4887, i16 5090, i16 5503, i16 5741, i16 5968, i16 6016, i16 6123, i16 6440, i16 7198, i16 7387, i16 7669, i16 7964, i16 8314, i16 8518, i16 9137, i16 9641, i16 9994, i16 10217, i16 10492, i16 10735, i16 11178, i16 11432, i16 12036, i16 12356, i16 13415, i16 15021, i16 15431, i16 16164, i16 16480, i16 16746, i16 17432, i16 17901, i16 18163, i16 18432, i16 19566, i16 20092, i16 20303, i16 20523, i16 20812, i16 21394, i16 22872, i16 23381, i16 23735, i16 24187, i16 24737, i16 25089, i16 25265, i16 25701, i16 25942, i16 26231, i16 26478, i16 26654, i16 27003, i16 27289, i16 27578, i16 13487, i16 27914, i16 90, i16 543, i16 915, i16 1227, i16 1545, i16 1648, i16 2091, i16 2436, i16 2755, i16 3098, i16 3398, i16 3867, i16 4038, i16 4465, i16 4891, i16 5094, i16 5317, i16 5507, i16 6127, i16 6447, i16 7393, i16 7673, i16 7971, i16 8321, i16 8526, i16 8887, i16 8974, i16 9141, i16 9645, i16 10224, i16 10496, i16 10742, i16 11194, i16 11436, i16 12040, i16 12363, i16 12707, i16 13421, i16 15025, i16 15441, i16 16170, i16 16484, i16 16750, i16 17437, i16 17905, i16 18457, i16 18826, i16 19570, i16 20307, i16 20527, i16 20819, i16 21401, i16 21910, i16 22309, i16 22490, i16 22888, i16 23397, i16 23740, i16 24196, i16 24744, i16 25269, i16 25419, i16 25705, i16 26242, i16 26660, i16 27007, i16 27295, i16 27588, i16 13492, i16 27921, i16 94, i16 553, i16 919, i16 1234, i16 1550, i16 1657, i16 2440, i16 2762, i16 3102, i16 3405, i16 3877, i16 4069, i16 4470, i16 4895, i16 5098, i16 5322, i16 5449, i16 5972, i16 6021, i16 6131, i16 6454, i16 7399, i16 7566, i16 8328, i16 9147, i16 9404, i16 9649, i16 9842, i16 10232, i16 10500, i16 10749, i16 11213, i16 11440, i16 11574, i16 11677, i16 11854, i16 12044, i16 12370, i16 13427, i16 15029, i16 15451, i16 16176, i16 5453, i16 16754, i16 17441, i16 17909, i16 18698, i16 19144, i16 20311, i16 20531, i16 20826, i16 21406, i16 22913, i16 23422, i16 23745, i16 24205, i16 24754, i16 25709, i16 25949, i16 26253, i16 26666, i16 27011, i16 27156, i16 27301, i16 27598, i16 13497, i16 27928, i16 98, i16 563, i16 923, i16 1241, i16 1555, i16 1666, i16 2444, i16 2769, i16 3106, i16 3412, i16 3887, i16 4085, i16 4475, i16 4899, i16 5102, i16 5511, i16 5745, i16 6135, i16 6461, i16 7405, i16 7677, i16 7978, i16 8335, i16 8534, i16 8891, i16 9153, i16 9653, i16 9998, i16 10239, i16 10504, i16 10756, i16 11229, i16 11444, i16 11681, i16 11859, i16 12048, i16 12377, i16 13433, i16 15033, i16 15461, i16 16182, i16 16758, i16 17445, i16 17913, i16 18482, i16 19574, i16 20315, i16 20535, i16 20833, i16 21411, i16 21914, i16 22932, i16 23441, i16 23751, i16 24217, i16 24764, i16 25273, i16 25713, i16 25956, i16 26262, i16 26672, i16 27307, i16 27608, i16 13502, i16 27935, i16 102, i16 352, i16 573, i16 927, i16 1248, i16 1561, i16 1677, i16 2448, i16 2776, i16 3110, i16 3419, i16 3900, i16 4480, i16 4721, i16 4903, i16 5106, i16 5327, i16 5515, i16 5749, i16 6139, i16 6468, i16 2144, i16 7411, i16 7985, i16 8342, i16 8542, i16 9157, i16 9657, i16 9847, i16 10246, i16 10508, i16 10763, i16 11248, i16 11448, i16 11685, i16 11864, i16 12052, i16 12384, i16 12851, i16 13038, i16 13183, i16 13439, i16 15037, i16 15471, i16 16188, i16 16489, i16 16762, i16 17449, i16 17917, i16 18170, i16 18501, i16 18830, i16 19148, i16 20319, i16 20539, i16 20840, i16 21417, i16 22951, i16 23463, i16 23757, i16 24229, i16 24774, i16 25717, i16 26273, i16 26678, i16 27314, i16 27620, i16 13507, i16 27942, i16 106, i16 580, i16 931, i16 1255, i16 1566, i16 1686, i16 2095, i16 2338, i16 2452, i16 2783, i16 3114, i16 3426, i16 3907, i16 4485, i16 4907, i16 5110, i16 5332, i16 5519, i16 6143, i16 6475, i16 7417, i16 7681, i16 7992, i16 8349, i16 8550, i16 9162, i16 9661, i16 10002, i16 10119, i16 10254, i16 10512, i16 10770, i16 11255, i16 11452, i16 11689, i16 11869, i16 12056, i16 12391, i16 12855, i16 13043, i16 13187, i16 13445, i16 15041, i16 15481, i16 16194, i16 16492, i16 16766, i16 17117, i16 17309, i16 17454, i16 17921, i16 18177, i16 18834, i16 19039, i16 19578, i16 20096, i16 20323, i16 20543, i16 20847, i16 21422, i16 21918, i16 22958, i16 23470, i16 23762, i16 24238, i16 24784, i16 25093, i16 25277, i16 25721, i16 25963, i16 26280, i16 26482, i16 26684, i16 27015, i16 27318, i16 27627, i16 13512, i16 27949, i16 110, i16 587, i16 935, i16 1262, i16 1573, i16 1699, i16 2099, i16 2343, i16 2456, i16 2790, i16 3118, i16 3433, i16 3917, i16 4104, i16 4490, i16 4911, i16 5114, i16 5337, i16 5523, i16 6148, i16 6484, i16 7423, i16 7685, i16 7999, i16 8356, i16 8560, i16 8895, i16 9168, i16 9411, i16 9665, i16 10006, i16 10263, i16 10516, i16 10777, i16 11265, i16 11456, i16 11693, i16 11874, i16 12060, i16 12398, i16 12859, i16 13048, i16 13191, i16 13451, i16 15045, i16 15491, i16 16200, i16 16770, i16 17121, i16 17314, i16 17459, i16 17703, i16 17925, i16 18184, i16 18508, i16 18838, i16 19582, i16 20100, i16 20327, i16 20547, i16 20854, i16 21427, i16 21922, i16 22971, i16 23483, i16 23768, i16 24250, i16 24791, i16 25097, i16 25281, i16 25725, i16 25970, i16 26287, i16 26486, i16 26690, i16 27019, i16 27323, i16 27635, i16 13517, i16 27956, i16 114, i16 597, i16 939, i16 1269, i16 1578, i16 1708, i16 2103, i16 2460, i16 2797, i16 3122, i16 3440, i16 3927, i16 4120, i16 4495, i16 4915, i16 5118, i16 5527, i16 5753, i16 6153, i16 6493, i16 7010, i16 7429, i16 7689, i16 8006, i16 8363, i16 8569, i16 8899, i16 8979, i16 9173, i16 9417, i16 9669, i16 9852, i16 10010, i16 10272, i16 10520, i16 10784, i16 11281, i16 11460, i16 12064, i16 12405, i16 12711, i16 12863, i16 13053, i16 13457, i16 15049, i16 15501, i16 16206, i16 16496, i16 16774, i16 4584, i16 17929, i16 18521, i16 18702, i16 18842, i16 19384, i16 19450, i16 19586, i16 20331, i16 20551, i16 20861, i16 21432, i16 21773, i16 21926, i16 22984, i16 23496, i16 23773, i16 24259, i16 24801, i16 25285, i16 25424, i16 25729, i16 25977, i16 26298, i16 26490, i16 26696, i16 27023, i16 27328, i16 27643, i16 13522, i16 27963, i16 118, i16 607, i16 943, i16 1276, i16 1581, i16 1713, i16 2107, i16 2464, i16 2804, i16 3126, i16 3447, i16 3934, i16 4316, i16 4500, i16 4919, i16 5122, i16 5342, i16 5531, i16 5757, i16 6157, i16 6500, i16 7435, i16 7693, i16 8013, i16 8370, i16 8579, i16 9177, i16 9422, i16 5441, i16 10014, i16 10282, i16 10524, i16 10791, i16 11297, i16 11464, i16 11612, i16 12068, i16 12412, i16 13463, i16 15053, i16 15511, i16 16212, i16 16500, i16 16778, i16 17466, i16 17933, i16 18537, i16 19590, i16 20335, i16 20555, i16 20868, i16 21437, i16 21930, i16 23003, i16 23515, i16 23778, i16 24268, i16 24811, i16 25289, i16 25733, i16 25984, i16 26307, i16 26702, i16 27333, i16 27651, i16 13527, i16 27970, i16 122, i16 356, i16 617, i16 947, i16 1283, i16 1587, i16 1724, i16 2468, i16 2811, i16 3130, i16 3454, i16 3944, i16 4505, i16 4923, i16 5126, i16 5348, i16 5535, i16 5761, i16 6161, i16 6507, i16 7441, i16 7697, i16 8020, i16 8377, i16 8588, i16 9183, i16 9429, i16 9673, i16 10018, i16 10291, i16 10528, i16 10798, i16 11319, i16 11468, i16 12072, i16 12419, i16 13195, i16 13469, i16 15057, i16 15521, i16 16218, i16 16504, i16 16782, i16 17471, i16 17937, i16 18565, i16 18846, i16 19594, i16 19725, i16 20339, i16 20559, i16 20875, i16 21444, i16 21934, i16 23034, i16 23546, i16 23783, i16 24277, i16 24821, i16 25293, i16 25737, i16 25991, i16 26318, i16 26708, i16 27339, i16 27661, i16 27977, i16 126, i16 627, i16 951, i16 1290, i16 1599, i16 1746, i16 2111, i16 2472, i16 2818, i16 3134, i16 3461, i16 3966, i16 4510, i16 4927, i16 5130, i16 5539, i16 6165, i16 6514, i16 7447, i16 7701, i16 8027, i16 8384, i16 9189, i16 5904, i16 10300, i16 10532, i16 10805, i16 11341, i16 11472, i16 12076, i16 12426, i16 12867, i16 13059, i16 13475, i16 15061, i16 15531, i16 16224, i16 4589, i16 16786, i16 17478, i16 17941, i16 18587, i16 20343, i16 20563, i16 20882, i16 21449, i16 21938, i16 22138, i16 22313, i16 22497, i16 23059, i16 23571, i16 23788, i16 24286, i16 24831, i16 25101, i16 25297, i16 25741, i16 25998, i16 26331, i16 26715, i16 27027, i16 27161, i16 27345, i16 27671, i16 27984, i16 130, i16 360, i16 637, i16 955, i16 1297, i16 1612, i16 1770, i16 2115, i16 2476, i16 2825, i16 3138, i16 3468, i16 3988, i16 4515, i16 4931, i16 5134, i16 5544, i16 5765, i16 5976, i16 6169, i16 6521, i16 7202, i16 7453, i16 7705, i16 8034, i16 8391, i16 8597, i16 8903, i16 8984, i16 9194, i16 9677, i16 9857, i16 10309, i16 10536, i16 10812, i16 11360, i16 11476, i16 12080, i16 12433, i16 13481, i16 15065, i16 15541, i16 16230, i16 16508, i16 16790, i16 17485, i16 17945, i16 18615, i16 18707, i16 18850, i16 19044, i16 19598, i16 20347, i16 20567, i16 20889, i16 21455, i16 21942, i16 22317, i16 22504, i16 23081, i16 23590, i16 23793, i16 24295, i16 24841, i16 25301, i16 25745, i16 26005, i16 26342, i16 26722, i16 27351, i16 27681, i16 27994, i16 134, i16 364, i16 647, i16 959, i16 1304, i16 1532, i16 1624, i16 2119, i16 2480, i16 2832, i16 3142, i16 3475, i16 4013, i16 4520, i16 4725, i16 4935, i16 5138, i16 5548, i16 5769, i16 5980, i16 6026, i16 6173, i16 6528, i16 7015, i16 7206, i16 7459, i16 7709, i16 8041, i16 8398, i16 8907, i16 9199, i16 9436, i16 9681, i16 10022, i16 10319, i16 10540, i16 10819, i16 11178, i16 11480, i16 11579, i16 11697, i16 11879, i16 12084, i16 12440, i16 12715, i16 12871, i16 13064, i16 13199, i16 13487, i16 15069, i16 15551, i16 15971, i16 16236, i16 16512, i16 16794, i16 17125, i16 17319, i16 17490, i16 17711, i16 17949, i16 18191, i16 18432, i16 18854, i16 19388, i16 19455, i16 19602, i16 19730, i16 19846, i16 19970, i16 20104, i16 20351, i16 20571, i16 20896, i16 21056, i16 21139, i16 21460, i16 21946, i16 22321, i16 22511, i16 22872, i16 23381, i16 23798, i16 24304, i16 24737, i16 25105, i16 25305, i16 25749, i16 26012, i16 26231, i16 26729, i16 27031, i16 27166, i16 27356, i16 27689, i16 27914, i16 142, i16 373, i16 663, i16 965, i16 1315, i16 1545, i16 1648, i16 2126, i16 2489, i16 2849, i16 3149, i16 3488, i16 4038, i16 4527, i16 4732, i16 4941, i16 5144, i16 5354, i16 5555, i16 5776, i16 5987, i16 6184, i16 6549, i16 7023, i16 7212, i16 7467, i16 7719, i16 8054, i16 8407, i16 8915, i16 8989, i16 9206, i16 9695, i16 10030, i16 10333, i16 10546, i16 10830, i16 11194, i16 11489, i16 11589, i16 11704, i16 11887, i16 12093, i16 12457, i16 12723, i16 12878, i16 13072, i16 13207, i16 13492, i16 15077, i16 15573, i16 15979, i16 16243, i16 16523, i16 16801, i16 17134, i16 17329, i16 17501, i16 17957, i16 18457, i16 18711, i16 18861, i16 19395, i16 19463, i16 19610, i16 19854, i16 19978, i16 20358, i16 20578, i16 20909, i16 21063, i16 21152, i16 21476, i16 21952, i16 22328, i16 22524, i16 22888, i16 23397, i16 23805, i16 24323, i16 24851, i16 25111, i16 25310, i16 25429, i16 25756, i16 26025, i16 26242, i16 26743, i16 27038, i16 27174, i16 27365, i16 27706, i16 27921, i16 151, i16 383, i16 553, i16 972, i16 1328, i16 1550, i16 1657, i16 2133, i16 2494, i16 2858, i16 3158, i16 3505, i16 4069, i16 4537, i16 4740, i16 4948, i16 5017, i16 5149, i16 5360, i16 5474, i16 5784, i16 5993, i16 6034, i16 6196, i16 6572, i16 7032, i16 7220, i16 7399, i16 7566, i16 7727, i16 8416, i16 8726, i16 9147, i16 9404, i16 9706, i16 9862, i16 10039, i16 10232, i16 10500, i16 10749, i16 11213, i16 11497, i16 11598, i16 11712, i16 11896, i16 12102, i16 12474, i16 12732, i16 12886, i16 13497, i16 15087, i16 15601, i16 15988, i16 16250, i16 16535, i16 16809, i16 17513, i16 17723, i16 17966, i16 18698, i16 18866, i16 19152, i16 19615, i16 19864, i16 19929, i16 19988, i16 20022, i16 20113, i16 20366, i16 20586, i16 20924, i16 21071, i16 21167, i16 21488, i16 21689, i16 22913, i16 23422, i16 23816, i16 24354, i16 24864, i16 25119, i16 25762, i16 26036, i16 26253, i16 26754, i16 27044, i16 27181, i16 27375, i16 27725, i16 27928, i16 157, i16 679, i16 977, i16 1337, i16 1555, i16 1666, i16 1808, i16 1908, i16 2138, i16 2502, i16 2873, i16 3163, i16 3514, i16 4085, i16 4544, i16 4953, i16 5156, i16 5564, i16 5790, i16 6204, i16 6587, i16 7038, i16 7476, i16 7735, i16 8065, i16 8426, i16 8731, i16 8820, i16 8923, i16 9214, i16 9444, i16 9714, i16 10045, i16 10349, i16 10553, i16 10843, i16 11229, i16 11504, i16 11720, i16 11905, i16 12108, i16 12485, i16 12891, i16 13081, i16 13216, i16 13502, i16 15093, i16 15617, i16 15995, i16 16257, i16 16545, i16 16814, i16 16951, i16 17144, i16 17340, i16 17528, i16 17739, i16 17971, i16 18482, i16 19403, i16 19622, i16 19739, i16 20120, i16 20372, i16 20592, i16 20935, i16 21076, i16 21176, i16 21501, i16 21959, i16 22932, i16 23441, i16 23823, i16 24373, i16 24877, i16 25316, i16 25771, i16 26053, i16 26262, i16 26764, i16 27049, i16 27381, i16 27736, i16 27935, i16 102, i16 352, i16 573, i16 983, i16 1348, i16 1561, i16 1677, i16 1815, i16 1921, i16 1943, i16 1955, i16 2144, i16 2511, i16 2890, i16 3110, i16 3419, i16 3900, i16 4550, i16 4721, i16 4959, i16 5162, i16 5368, i16 5515, i16 5749, i16 6213, i16 6604, i16 7045, i16 7226, i16 4903, i16 7743, i16 8076, i16 8435, i16 9222, i16 9453, i16 9725, i16 9871, i16 10051, i16 10246, i16 10508, i16 10763, i16 11248, i16 11512, i16 11728, i16 11914, i16 12115, i16 12498, i16 12851, i16 13038, i16 13223, i16 13507, i16 15100, i16 15636, i16 16002, i16 16264, i16 16555, i16 16824, i16 16962, i16 17152, i16 17542, i16 17917, i16 18170, i16 18501, i16 18872, i16 19148, i16 19870, i16 20379, i16 20599, i16 20948, i16 20319, i16 20840, i16 21513, i16 11685, i16 11864, i16 22951, i16 23463, i16 23830, i16 24392, i16 24890, i16 25125, i16 25322, i16 25436, i16 25779, i16 26273, i16 26775, i16 27314, i16 27620, i16 27942, i16 163, i16 389, i16 580, i16 988, i16 1357, i16 1566, i16 1686, i16 1950, i16 1968, i16 2148, i16 2519, i16 2905, i16 3114, i16 3426, i16 3907, i16 4554, i16 4745, i16 4964, i16 5169, i16 5376, i16 5571, i16 5796, i16 6219, i16 6615, i16 7050, i16 7231, i16 7417, i16 7751, i16 8081, i16 8444, i16 8605, i16 8929, i16 9162, i16 9735, i16 9882, i16 10056, i16 10124, i16 10356, i16 10559, i16 10854, i16 11255, i16 11520, i16 11734, i16 11921, i16 12122, i16 12511, i16 12897, i16 13088, i16 13230, i16 13512, i16 15106, i16 15652, i16 16271, i16 16562, i16 16832, i16 16972, i16 17158, i16 17349, i16 17550, i16 17977, i16 18206, i16 106, i16 18878, i16 19049, i16 19410, i16 19631, i16 19875, i16 19994, i16 20128, i16 20383, i16 20603, i16 20955, i16 21083, i16 21189, i16 21525, i16 11689, i16 11869, i16 21777, i16 21965, i16 17921, i16 18177, i16 22958, i16 23470, i16 23838, i16 24414, i16 24784, i16 25130, i16 25328, i16 25787, i16 26068, i16 26280, i16 26787, i16 27054, i16 27949, i16 168, i16 395, i16 587, i16 994, i16 1368, i16 1573, i16 1699, i16 1820, i16 1930, i16 2153, i16 2527, i16 2920, i16 3118, i16 3433, i16 4104, i16 4563, i16 4750, i16 4969, i16 5176, i16 5384, i16 5579, i16 5801, i16 6227, i16 6630, i16 7056, i16 7237, i16 7423, i16 7758, i16 8090, i16 8452, i16 8614, i16 8934, i16 9168, i16 9411, i16 9746, i16 10061, i16 10368, i16 10564, i16 10863, i16 11265, i16 11527, i16 11741, i16 11929, i16 12130, i16 12526, i16 12902, i16 13095, i16 13237, i16 13517, i16 15113, i16 15671, i16 16278, i16 16571, i16 16841, i16 17165, i16 17357, i16 17557, i16 17755, i16 17982, i16 18215, i16 18508, i16 18720, i16 18884, i16 19415, i16 19640, i16 19881, i16 20000, i16 20134, i16 20388, i16 20608, i16 20964, i16 21088, i16 21198, i16 21537, i16 11693, i16 11874, i16 21783, i16 21973, i16 17925, i16 18184, i16 22971, i16 23483, i16 23847, i16 24439, i16 24791, i16 25136, i16 25336, i16 25795, i16 26083, i16 26287, i16 26799, i16 27059, i16 27956, i16 173, i16 401, i16 692, i16 1000, i16 1379, i16 1578, i16 1708, i16 2158, i16 2534, i16 2933, i16 3169, i16 3525, i16 4120, i16 4570, i16 4976, i16 5185, i16 5590, i16 5806, i16 6235, i16 6645, i16 7062, i16 7243, i16 7766, i16 8006, i16 8461, i16 8942, i16 8998, i16 9238, i16 9470, i16 9758, i16 9894, i16 10067, i16 10272, i16 10569, i16 10872, i16 11281, i16 11534, i16 11748, i16 12138, i16 12541, i16 12738, i16 12907, i16 13102, i16 13522, i16 15120, i16 15690, i16 16007, i16 16285, i16 16585, i16 16848, i16 16982, i16 17172, i16 17568, i16 17767, i16 17987, i16 18521, i16 18702, i16 18890, i16 19158, i16 19422, i16 19472, i16 19647, i16 19749, i16 20393, i16 20613, i16 20973, i16 21093, i16 21207, i16 21550, i16 21789, i16 21980, i16 22651, i16 22984, i16 23496, i16 23855, i16 24461, i16 24801, i16 25343, i16 25443, i16 25802, i16 26096, i16 26298, i16 26812, i16 27067, i16 27389, i16 27751, i16 27963, i16 180, i16 705, i16 1006, i16 1390, i16 1581, i16 1713, i16 2165, i16 2542, i16 2948, i16 3176, i16 3538, i16 4136, i16 4316, i16 4575, i16 4755, i16 4982, i16 5191, i16 5394, i16 5595, i16 5813, i16 6245, i16 6664, i16 7071, i16 7250, i16 7774, i16 8101, i16 8468, i16 8947, i16 9245, i16 9478, i16 9770, i16 10074, i16 10382, i16 10576, i16 10885, i16 11297, i16 11542, i16 11758, i16 12147, i16 12558, i16 13244, i16 13527, i16 15128, i16 15712, i16 16017, i16 16292, i16 16593, i16 16858, i16 16994, i16 17180, i16 17583, i16 17994, i16 18537, i16 18897, i16 19656, i16 19759, i16 19887, i16 20140, i16 20401, i16 20621, i16 20988, i16 21100, i16 21220, i16 21561, i16 21986, i16 22199, i16 22336, i16 22539, i16 23003, i16 23515, i16 23863, i16 24483, i16 24903, i16 25142, i16 25351, i16 25452, i16 25810, i16 26111, i16 26307, i16 26494, i16 26824, i16 27075, i16 27395, i16 27762, i16 27970, i16 190, i16 410, i16 724, i16 1013, i16 1403, i16 1587, i16 1724, i16 2174, i16 2551, i16 2965, i16 3186, i16 3557, i16 4170, i16 3944, i16 4584, i16 4765, i16 4991, i16 5196, i16 5402, i16 5600, i16 5823, i16 6257, i16 6687, i16 7081, i16 7483, i16 7781, i16 8116, i16 8476, i16 8957, i16 9258, i16 9493, i16 9783, i16 10083, i16 10394, i16 10583, i16 10898, i16 11319, i16 11548, i16 11769, i16 11937, i16 12158, i16 12579, i16 12913, i16 13110, i16 13254, i16 13469, i16 15139, i16 15743, i16 16028, i16 16299, i16 16606, i16 16866, i16 17191, i16 17590, i16 17784, i16 18004, i16 18565, i16 18907, i16 19665, i16 19769, i16 19896, i16 20151, i16 20410, i16 20630, i16 21005, i16 21109, i16 21237, i16 21574, i16 21994, i16 22209, i16 22346, i16 22558, i16 23034, i16 23546, i16 23871, i16 24505, i16 24919, i16 25154, i16 25357, i16 25819, i16 26128, i16 26318, i16 26837, i16 27083, i16 27187, i16 27406, i16 27783, i16 27977, i16 198, i16 743, i16 1020, i16 1416, i16 1599, i16 1746, i16 2182, i16 2562, i16 2986, i16 3195, i16 3574, i16 4195, i16 3966, i16 4589, i16 4773, i16 4999, i16 5202, i16 5607, i16 5831, i16 6267, i16 6706, i16 7089, i16 7261, i16 7787, i16 8127, i16 8484, i16 9275, i16 9511, i16 9794, i16 10408, i16 10591, i16 10913, i16 11341, i16 11557, i16 12169, i16 12600, i16 12921, i16 13119, i16 13475, i16 15149, i16 15771, i16 16037, i16 16306, i16 16616, i16 16873, i16 17003, i16 17200, i16 17606, i16 17801, i16 18013, i16 18587, i16 18915, i16 19904, i16 20161, i16 20418, i16 20638, i16 21020, i16 21117, i16 21252, i16 21587, i16 22000, i16 22143, i16 22217, i16 22354, i16 22573, i16 23059, i16 23571, i16 23878, i16 24524, i16 24831, i16 25162, i16 25362, i16 25459, i16 25827, i16 26143, i16 26331, i16 26853, i16 27090, i16 27195, i16 27416, i16 27802, i16 27984, i16 207, i16 418, i16 759, i16 1027, i16 1429, i16 1612, i16 1770, i16 2189, i16 2571, i16 3003, i16 3203, i16 3589, i16 4220, i16 3988, i16 4592, i16 4782, i16 5008, i16 5211, i16 5616, i16 5840, i16 5998, i16 6277, i16 6725, i16 7098, i16 7271, i16 7492, i16 7794, i16 8140, i16 8494, i16 8737, i16 8965, i16 9004, i16 9288, i16 9525, i16 9807, i16 9907, i16 10419, i16 10598, i16 10926, i16 11360, i16 11565, i16 12179, i16 12619, i16 13262, i16 13481, i16 15158, i16 15796, i16 16047, i16 16316, i16 16623, i16 16883, i16 17014, i16 17210, i16 17623, i16 18021, i16 18615, i16 18726, i16 18924, i16 19056, i16 19428, i16 19677, i16 19782, i16 19913, i16 20006, i16 20171, i16 20425, i16 20645, i16 21033, i16 21124, i16 21265, i16 21600, i16 22007, i16 22226, i16 22363, i16 22590, i16 23081, i16 23590, i16 23888, i16 24552, i16 24932, i16 25173, i16 25368, i16 25466, i16 25836, i16 26160, i16 26342, i16 26876, i16 27098, i16 27994, i16 216, i16 427, i16 775, i16 1034, i16 1442, i16 0, i16 4248, i16 4347, i16 4598, i16 8153, i16 11382, i16 12930, i16 13532, i16 16326, i16 18637, i16 22015, i16 23107, i16 23615, i16 24945, i16 25375, i16 25474, i16 28004, i16 219, i16 430, i16 785, i16 1036, i16 1445, i16 0, i16 4261, i16 4375, i16 4598, i16 8160, i16 11410, i16 12933, i16 13539, i16 16333, i16 18649, i16 22018, i16 23120, i16 23643, i16 24965, i16 25378, i16 25479, i16 26353, i16 28011, i16 222, i16 433, i16 798, i16 1038, i16 1465, i16 1827, i16 2196, i16 2579, i16 3212, i16 4277, i16 4600, i16 5220, i16 5410, i16 5624, i16 6746, i16 6764, i16 6779, i16 6847, i16 6890, i16 7107, i16 7802, i16 8167, i16 8503, i16 10604, i16 11777, i16 12936, i16 13546, i16 15168, i16 15824, i16 16340, i16 16892, i16 17220, i16 17631, i16 18030, i16 18934, i16 19263, i16 19321, i16 21612, i16 22021, i16 22372, i16 22659, i16 23896, i16 24985, i16 26356, i16 26502, i16 26896, i16 27106, i16 28018, i16 28088, i16 28166, i16 28269, i16 243, i16 451, i16 832, i16 1063, i16 1492, i16 1853, i16 2212, i16 3226, i16 4304, i16 5653, i16 5849, i16 6007, i16 6807, i16 6876, i16 6917, i16 6929, i16 7817, i16 8199, i16 8746, i16 9014, i16 12955, i16 13578, i16 16057, i16 16351, i16 16910, i16 17257, i16 18966, i16 19167, i16 19285, i16 22045, i16 22235, i16 23919, i16 28116, i16 28312, i16 252, i16 460, i16 841, i16 1073, i16 1504, i16 1867, i16 3235, i16 6821, i16 11806, i16 13594, i16 16369, i16 19295, i16 22054, i16 26920, i16 28053, i16 28135, i16 28201, i16 261, i16 0, i16 1086, i16 1517, i16 1867, i16 3244, i16 4623, i16 5246, i16 6833, i16 8208, i16 10628, i16 11806, i16 13610, i16 16387, i16 22067, i16 26383, i16 28069, i16 28154, i16 28334, i16 0, i16 13628, i16 23929, i16 24574, i16 0, i16 0, i16 14004, i16 23961, i16 0, i16 14018, i16 0, i16 14901, i16 23971, i16 24610, i16 0, i16 24007, i16 24660], [372 x i8] c"\00\00\00\00\01\01\00\00\02\02\00\00\03\03\00\00\04\04\00\00\05\05\01\01\06\06\02\02\07\07\01\01\08\08\00\00\09\09\00\00\0A\0A\00\03\0A\0A\03\03\0B\0B\00\00\0C\0C\00\00\0D\0D\00\00\0E\0E\00\00\0F\0F\04\04\10\10\05\05\11\01\00\00\12\11\00\00\13\01\00\00\14\02\06\06\15\01\07\07\16\12\00\00\17\02\00\00\18\13\00\00\19\14\00\00\1A\01\00\00\1B\02\00\00\1C\15\00\00\00\00\08\08\1D\02\00\00\1E\02\00\00\1D\16\00\00\1F\17\00\00 \18\00\00!\19\00\00\1D\1A\00\00\22\1B\00\00#\02\00\00$\02\00\00%\02\00\00&\1C\00\00'\1D\00\00(\02\00\00)\02\00\00*\1E\09\09\1A\1F\00\00+\02\00\00, \0A\0A-!\00\00.\22\00\00/\1A\00\000#\00\001\01\00\002\1A\00\003$\0B\0B4$\0C\0C5%\0D\0D6&\0E\0E7'\00\00\00(\0F\0F8\01\00\002\02\00\009\02\00\00:\02\00\00;)\00\00<*\00\00=+\00\00>,\00\00\1D-\00\00?\01\10\10@\01\11\10A\1A\00\00B.\00\00C/\00\00D0\12\11E1\13\12;)\14\13\0C\0C\0E\14F2\15\15G3\16\16H4\17\17H4\17\18\0C\0C\18\19I+\00\00J,\00\00K5\19\1AL6\1A\1BM\01\1B\1CN7\1C\1DO8\1D\1EP9\00\00", [4 x i16] [i16 0, i16 81, i16 139, i16 169], [200 x i16] [i16 1, i16 13, i16 27, i16 43, i16 57, i16 73, i16 97, i16 121, i16 114, i16 85, i16 145, i16 173, i16 193, i16 217, i16 247, i16 281, i16 317, i16 369, i16 378, i16 396, i16 405, i16 422, i16 439, i16 459, i16 469, i16 489, i16 513, i16 520, i16 530, i16 561, i16 571, i16 591, i16 613, i16 635, i16 665, i16 687, i16 697, i16 711, i16 721, i16 739, i16 759, i16 769, i16 779, i16 815, i16 829, i16 908, i16 932, i16 960, i16 972, i16 996, i16 1003, i16 1013, i16 1048, i16 1078, i16 1106, i16 1142, i16 1180, i16 1189, i16 1199, i16 1209, i16 1229, i16 1249, i16 1267, i16 1297, i16 1316, i16 1334, i16 1344, i16 1362, i16 1380, i16 1438, i16 1492, i16 1517, i16 1564, i16 1610, i16 1619, i16 1630, i16 1670, i16 1698, i16 1720, i16 1747, i16 1783, i16 7, i16 20, i16 35, i16 50, i16 65, i16 79, i16 106, i16 134, i16 118, i16 92, i16 153, i16 183, i16 205, i16 233, i16 265, i16 294, i16 336, i16 388, i16 450, i16 479, i16 501, i16 545, i16 581, i16 603, i16 623, i16 647, i16 657, i16 678, i16 730, i16 749, i16 790, i16 806, i16 857, i16 921, i16 947, i16 981, i16 1028, i16 1090, i16 1120, i16 1154, i16 1165, i16 1219, i16 1239, i16 1258, i16 1278, i16 1289, i16 1354, i16 1371, i16 1393, i16 1445, i16 1499, i16 1526, i16 1572, i16 1642, i16 1680, i16 1729, i16 1757, i16 1792, i16 0, i16 85, i16 114, i16 167, i16 305, i16 346, i16 415, i16 433, i16 554, i16 799, i16 891, i16 1039, i16 1067, i16 1100, i16 1132, i16 1171, i16 1308, i16 1329, i16 1412, i16 1452, i16 1478, i16 1506, i16 1535, i16 1580, i16 1598, i16 1652, i16 1690, i16 1711, i16 1739, i16 1769, i16 0, i16 92, i16 118, i16 163, i16 312, i16 362, i16 419, i16 436, i16 558, i16 803, i16 898, i16 1042, i16 1071, i16 1103, i16 1137, i16 1174, i16 1312, i16 1422, i16 1465, i16 1481, i16 1485, i16 1510, i16 1545, i16 1585, i16 1591, i16 1605, i16 1661, i16 1693, i16 1715, i16 1743, i16 1776], [91141 x i16] [i16 7, i16 145, i16 4, i16 5352, i16 1159, i16 2868, i16 9485, i16 12504, i16 4, i16 38, i16 5, i16 3, i16 256, i16 576, i16 22623, i16 1154, i16 1623, i16 0, i16 19968, i16 20901, i16 1708, i16 747, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4, i16 10, i16 5, i16 4, i16 128, i16 480, i16 2038, i16 1693, i16 1947, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1154, i16 1154, i16 1986, i16 2440, i16 0, i16 4, i16 2, i16 5, i16 4, i16 128, i16 480, i16 1886, i16 1885, i16 1886, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2847, i16 2847, i16 2178, i16 5976, i16 0, i16 2, i16 0, i16 5, i16 6, i16 32, i16 64, i16 213, i16 212, i16 213, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4732, i16 4732, i16 0, i16 9496, i16 0, i16 4, i16 5, i16 5, i16 5, i16 64, i16 96, i16 409, i16 408, i16 409, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4944, i16 4944, i16 2193, i16 9976, i16 0, i16 1, i16 0, i16 4, i16 5, i16 128, i16 816, i16 13169, i16 13168, i16 13169, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5352, i16 5352, i16 0, i16 10360, i16 0, i16 1, i16 0, i16 5, i16 2, i16 512, i16 6176, i16 17172, i16 5999, i16 17172, i16 0, i16 -21504, i16 11171, i16 1111, i16 3125, i16 5352, i16 5352, i16 0, i16 -32216, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 5, i16 114, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 55, i16 246, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 92, i16 0, i16 0, i16 1155, i16 274, i16 372, i16 0, i16 1155, i16 300, i16 0, i16 0, i16 1155, i16 300, i16 0, i16 0, i16 1155, i16 331, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 390, i16 0, i16 0, i16 1155, i16 448, i16 498, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 547, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 730, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 798, i16 648, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 875, i16 786, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 916, i16 0, i16 0, i16 1155, i16 1075, i16 924, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 1433, i16 1502, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 1721, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 1780, i16 1634, i16 0, i16 1155, i16 1915, i16 498, i16 0, i16 1155, i16 2012, i16 1844, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 2049, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 2235, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 300, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 1, i16 680, i16 2383, i16 1986, i16 1, i16 680, i16 2880, i16 1986, i16 1, i16 680, i16 3369, i16 1986, i16 1, i16 680, i16 3871, i16 1986, i16 1, i16 680, i16 4373, i16 2016, i16 1, i16 680, i16 4869, i16 1986, i16 1, i16 680, i16 5366, i16 1986, i16 1, i16 680, i16 5868, i16 2016, i16 1, i16 680, i16 6369, i16 1986, i16 1, i16 680, i16 6952, i16 2058, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7976, i16 1986, i16 1, i16 680, i16 5868, i16 2016, i16 1, i16 680, i16 2880, i16 1986, i16 1, i16 680, i16 8476, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 8967, i16 2124, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 8967, i16 2124, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7976, i16 1986, i16 1, i16 680, i16 5868, i16 2016, i16 1, i16 680, i16 7478, i16 1986, i16 2, i16 1338, i16 3, i16 2178, i16 2, i16 1338, i16 3, i16 2178, i16 3, i16 212, i16 3, i16 0, i16 4, i16 6, i16 3, i16 2193, i16 5, i16 13168, i16 3, i16 0, i16 6, i16 17171, i16 3, i16 0, i16 1, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 21, i16 22, i16 23, i16 24, i16 30, i16 40, i16 44, i16 45, i16 50, i16 51, i16 52, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 120, i16 125, i16 126, i16 135, i16 137, i16 144, i16 157, i16 159, i16 160, i16 162, i16 167, i16 170, i16 172, i16 175, i16 177, i16 182, i16 183, i16 186, i16 188, i16 193, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 236, i16 237, i16 240, i16 241, i16 242, i16 243, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 458, i16 459, i16 460, i16 461, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 640, i16 651, i16 652, i16 654, i16 655, i16 669, i16 683, i16 685, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 698, i16 708, i16 711, i16 719, i16 720, i16 722, i16 724, i16 725, i16 726, i16 727, i16 728, i16 731, i16 732, i16 733, i16 735, i16 742, i16 743, i16 744, i16 745, i16 746, i16 747, i16 748, i16 756, i16 757, i16 758, i16 759, i16 761, i16 764, i16 765, i16 766, i16 767, i16 768, i16 774, i16 775, i16 776, i16 779, i16 780, i16 783, i16 784, i16 785, i16 786, i16 793, i16 798, i16 805, i16 806, i16 808, i16 810, i16 811, i16 812, i16 816, i16 818, i16 819, i16 820, i16 821, i16 826, i16 827, i16 828, i16 830, i16 831, i16 832, i16 833, i16 840, i16 843, i16 844, i16 859, i16 860, i16 862, i16 863, i16 877, i16 891, i16 893, i16 895, i16 896, i16 897, i16 898, i16 899, i16 900, i16 901, i16 902, i16 903, i16 906, i16 916, i16 919, i16 927, i16 928, i16 930, i16 932, i16 933, i16 934, i16 935, i16 936, i16 939, i16 940, i16 942, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 955, i16 963, i16 964, i16 965, i16 967, i16 970, i16 971, i16 972, i16 973, i16 979, i16 980, i16 981, i16 984, i16 985, i16 988, i16 989, i16 990, i16 991, i16 998, i16 1002, i16 1009, i16 1010, i16 1012, i16 1014, i16 1015, i16 1016, i16 1020, i16 1022, i16 1023, i16 1024, i16 1025, i16 1030, i16 1031, i16 1032, i16 1034, i16 1035, i16 1036, i16 1037, i16 1044, i16 1047, i16 1108, i16 1109, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 1117, i16 1118, i16 1119, i16 1120, i16 1121, i16 1122, i16 1123, i16 1124, i16 1125, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1132, i16 1133, i16 1134, i16 1139, i16 1140, i16 1141, i16 1142, i16 1143, i16 1147, i16 1157, i16 1158, i16 1183, i16 1184, i16 1185, i16 1186, i16 1187, i16 1188, i16 1189, i16 1190, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1206, i16 1207, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1235, i16 1236, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1242, i16 1243, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 1251, i16 1252, i16 1253, i16 1254, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1263, i16 1264, i16 1265, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1318, i16 1319, i16 1348, i16 1349, i16 1350, i16 1351, i16 1356, i16 1357, i16 1358, i16 1359, i16 1368, i16 1369, i16 1371, i16 1372, i16 1373, i16 1374, i16 1377, i16 1378, i16 1379, i16 1380, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 1390, i16 1391, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1400, i16 1403, i16 1404, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1418, i16 1419, i16 1420, i16 1421, i16 1422, i16 1423, i16 1424, i16 1425, i16 1426, i16 1427, i16 1428, i16 1429, i16 1430, i16 1431, i16 1432, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1440, i16 1441, i16 1442, i16 1443, i16 1444, i16 1445, i16 1446, i16 1447, i16 1448, i16 1449, i16 1450, i16 1451, i16 1452, i16 1453, i16 1454, i16 1455, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1481, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1507, i16 1513, i16 1520, i16 1521, i16 1523, i16 1529, i16 1530, i16 1531, i16 1533, i16 1536, i16 1537, i16 1540, i16 1542, i16 1543, i16 1544, i16 1545, i16 1548, i16 1551, i16 1552, i16 1554, i16 1555, i16 1558, i16 1559, i16 1560, i16 1562, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1571, i16 1578, i16 1584, i16 1585, i16 1587, i16 1593, i16 1596, i16 1598, i16 1601, i16 1602, i16 1605, i16 1607, i16 1608, i16 1609, i16 1610, i16 1613, i16 1616, i16 1617, i16 1619, i16 1620, i16 1623, i16 1624, i16 1625, i16 1627, i16 1629, i16 1630, i16 2, i16 25, i16 26, i16 27, i16 28, i16 29, i16 41, i16 48, i16 49, i16 132, i16 141, i16 151, i16 153, i16 155, i16 169, i16 185, i16 199, i16 200, i16 235, i16 299, i16 300, i16 301, i16 302, i16 304, i16 305, i16 307, i16 308, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 317, i16 318, i16 319, i16 320, i16 321, i16 323, i16 324, i16 325, i16 326, i16 328, i16 329, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 339, i16 341, i16 342, i16 344, i16 345, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 641, i16 642, i16 643, i16 644, i16 648, i16 649, i16 650, i16 653, i16 662, i16 663, i16 664, i16 665, i16 666, i16 682, i16 684, i16 705, i16 706, i16 707, i16 714, i16 715, i16 716, i16 721, i16 723, i16 730, i16 755, i16 760, i16 771, i16 772, i16 773, i16 794, i16 795, i16 796, i16 797, i16 807, i16 814, i16 815, i16 817, i16 823, i16 841, i16 842, i16 849, i16 850, i16 851, i16 852, i16 856, i16 857, i16 858, i16 861, i16 870, i16 871, i16 872, i16 873, i16 874, i16 890, i16 892, i16 913, i16 914, i16 915, i16 922, i16 923, i16 924, i16 929, i16 931, i16 938, i16 962, i16 966, i16 976, i16 977, i16 978, i16 999, i16 1000, i16 1001, i16 1011, i16 1018, i16 1019, i16 1021, i16 1027, i16 1045, i16 1046, i16 1048, i16 1084, i16 1085, i16 1086, i16 1087, i16 1088, i16 1089, i16 1090, i16 1091, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1099, i16 1100, i16 1101, i16 1102, i16 1103, i16 1104, i16 1105, i16 1106, i16 1107, i16 1110, i16 1137, i16 1138, i16 1144, i16 1145, i16 1146, i16 1154, i16 1155, i16 1156, i16 1159, i16 1175, i16 1176, i16 1177, i16 1178, i16 1179, i16 1180, i16 1181, i16 1182, i16 1191, i16 1192, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1310, i16 1311, i16 1312, i16 1313, i16 1314, i16 1315, i16 1316, i16 1317, i16 1346, i16 1347, i16 1352, i16 1353, i16 1354, i16 1355, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 1367, i16 1511, i16 1517, i16 1518, i16 1519, i16 1522, i16 1527, i16 1528, i16 1535, i16 1539, i16 1546, i16 1547, i16 1550, i16 1557, i16 1561, i16 1563, i16 1575, i16 1577, i16 1582, i16 1583, i16 1586, i16 1591, i16 1592, i16 1595, i16 1600, i16 1604, i16 1611, i16 1612, i16 1615, i16 1622, i16 1626, i16 1628, i16 4, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 322, i16 323, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 446, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 460, i16 464, i16 468, i16 472, i16 474, i16 475, i16 477, i16 478, i16 480, i16 482, i16 483, i16 485, i16 486, i16 488, i16 489, i16 490, i16 493, i16 494, i16 496, i16 497, i16 498, i16 501, i16 502, i16 504, i16 505, i16 506, i16 508, i16 509, i16 511, i16 512, i16 513, i16 514, i16 515, i16 516, i16 517, i16 518, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 714, i16 715, i16 716, i16 717, i16 718, i16 719, i16 720, i16 721, i16 722, i16 723, i16 724, i16 725, i16 726, i16 727, i16 728, i16 729, i16 730, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 737, i16 738, i16 739, i16 740, i16 741, i16 742, i16 743, i16 744, i16 745, i16 746, i16 747, i16 748, i16 749, i16 750, i16 751, i16 752, i16 755, i16 783, i16 784, i16 785, i16 788, i16 789, i16 790, i16 791, i16 792, i16 793, i16 794, i16 795, i16 796, i16 797, i16 798, i16 799, i16 800, i16 801, i16 802, i16 803, i16 804, i16 805, i16 806, i16 807, i16 808, i16 809, i16 810, i16 811, i16 812, i16 813, i16 814, i16 815, i16 816, i16 817, i16 818, i16 819, i16 824, i16 825, i16 828, i16 829, i16 830, i16 831, i16 832, i16 833, i16 834, i16 835, i16 840, i16 841, i16 842, i16 851, i16 852, i16 853, i16 854, i16 855, i16 856, i16 857, i16 858, i16 859, i16 860, i16 861, i16 864, i16 865, i16 868, i16 869, i16 870, i16 871, i16 874, i16 875, i16 876, i16 881, i16 882, i16 883, i16 884, i16 885, i16 886, i16 887, i16 888, i16 891, i16 892, i16 893, i16 894, i16 895, i16 896, i16 897, i16 904, i16 905, i16 908, i16 909, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 918, i16 919, i16 920, i16 921, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 929, i16 930, i16 931, i16 932, i16 933, i16 934, i16 935, i16 936, i16 937, i16 938, i16 939, i16 940, i16 941, i16 942, i16 943, i16 948, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 964, i16 965, i16 966, i16 967, i16 968, i16 969, i16 970, i16 971, i16 972, i16 977, i16 978, i16 979, i16 980, i16 981, i16 982, i16 983, i16 984, i16 987, i16 988, i16 989, i16 992, i16 993, i16 994, i16 995, i16 996, i16 997, i16 998, i16 999, i16 1000, i16 1001, i16 1002, i16 1003, i16 1004, i16 1005, i16 1006, i16 1007, i16 1008, i16 1012, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1023, i16 1024, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 1039, i16 1040, i16 1041, i16 1042, i16 1045, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 1058, i16 1059, i16 1060, i16 1061, i16 1062, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1072, i16 1073, i16 1074, i16 1078, i16 1079, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1103, i16 1104, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1112, i16 1113, i16 1116, i16 1117, i16 1120, i16 1121, i16 1122, i16 1123, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1138, i16 1139, i16 1140, i16 1143, i16 1144, i16 1145, i16 1146, i16 1147, i16 1148, i16 1149, i16 1150, i16 1151, i16 1152, i16 1153, i16 1154, i16 1155, i16 1156, i16 1157, i16 1158, i16 1159, i16 1160, i16 1161, i16 1162, i16 1163, i16 1164, i16 1169, i16 1170, i16 1173, i16 1174, i16 1175, i16 1176, i16 1177, i16 1178, i16 1183, i16 1184, i16 1185, i16 1186, i16 1189, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1244, i16 1245, i16 1246, i16 1249, i16 1250, i16 1251, i16 1252, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1265, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1281, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1298, i16 1299, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1314, i16 1315, i16 1318, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1328, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 1336, i16 1337, i16 1338, i16 1339, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 1360, i16 1369, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1404, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1427, i16 1428, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1481, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 1528, i16 1529, i16 1530, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 1539, i16 1540, i16 1541, i16 1542, i16 1543, i16 1544, i16 1545, i16 1546, i16 1547, i16 1548, i16 1549, i16 1550, i16 1551, i16 1552, i16 1553, i16 1554, i16 1555, i16 1556, i16 1557, i16 1558, i16 1559, i16 1560, i16 1561, i16 1562, i16 1563, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 1595, i16 1596, i16 1597, i16 1598, i16 1599, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1611, i16 1612, i16 1613, i16 1614, i16 1615, i16 1616, i16 1617, i16 1618, i16 1619, i16 1620, i16 1621, i16 1622, i16 1623, i16 1624, i16 1625, i16 1626, i16 1627, i16 1628, i16 1629, i16 1630, i16 1631, i16 1632, i16 1633, i16 1634, i16 1635, i16 1636, i16 1637, i16 1638, i16 1639, i16 1640, i16 1641, i16 1642, i16 1643, i16 1644, i16 1645, i16 1646, i16 1647, i16 1648, i16 1649, i16 1650, i16 1651, i16 1652, i16 1653, i16 1654, i16 1655, i16 1656, i16 1657, i16 1658, i16 1659, i16 1660, i16 1661, i16 1662, i16 1663, i16 1664, i16 1665, i16 1666, i16 1667, i16 1668, i16 1669, i16 1670, i16 1671, i16 1672, i16 1673, i16 1674, i16 1675, i16 1676, i16 1677, i16 1678, i16 1679, i16 1680, i16 1681, i16 1682, i16 1683, i16 1684, i16 1685, i16 1686, i16 1687, i16 1688, i16 1689, i16 1690, i16 1691, i16 1692, i16 1693, i16 1694, i16 1695, i16 1696, i16 1697, i16 1698, i16 1699, i16 1700, i16 1701, i16 1702, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 1717, i16 1718, i16 1719, i16 1720, i16 1721, i16 1722, i16 1723, i16 1724, i16 1725, i16 1726, i16 1727, i16 1728, i16 1729, i16 1730, i16 1731, i16 1732, i16 1733, i16 1734, i16 1735, i16 1736, i16 1737, i16 1738, i16 1739, i16 1740, i16 1741, i16 1742, i16 1743, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 1749, i16 1750, i16 1751, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 1758, i16 1759, i16 1760, i16 1761, i16 1762, i16 1763, i16 1764, i16 1765, i16 1766, i16 1767, i16 1768, i16 1769, i16 1770, i16 1771, i16 1772, i16 1773, i16 1774, i16 1775, i16 1776, i16 1777, i16 1778, i16 1779, i16 1780, i16 1781, i16 1782, i16 1783, i16 1784, i16 1785, i16 1786, i16 1787, i16 1788, i16 1789, i16 1790, i16 1791, i16 1792, i16 1793, i16 1794, i16 1795, i16 1796, i16 1797, i16 1798, i16 1799, i16 1800, i16 1801, i16 1802, i16 1803, i16 1804, i16 1805, i16 1806, i16 1807, i16 1808, i16 1809, i16 1810, i16 1811, i16 1812, i16 1813, i16 1814, i16 1815, i16 1816, i16 1817, i16 1818, i16 1819, i16 1820, i16 1821, i16 1822, i16 1823, i16 1824, i16 1825, i16 1826, i16 1827, i16 1828, i16 1829, i16 1830, i16 1831, i16 1832, i16 1833, i16 1834, i16 1835, i16 1836, i16 1837, i16 1838, i16 1839, i16 1840, i16 1841, i16 1842, i16 1843, i16 1844, i16 1845, i16 1846, i16 1847, i16 1848, i16 1849, i16 1850, i16 1851, i16 1852, i16 1853, i16 1854, i16 1855, i16 1856, i16 1857, i16 1858, i16 1859, i16 1860, i16 1861, i16 1862, i16 1863, i16 1864, i16 1865, i16 1866, i16 1867, i16 1868, i16 1869, i16 1870, i16 1871, i16 1872, i16 1873, i16 1874, i16 1875, i16 1876, i16 1877, i16 1878, i16 1879, i16 1880, i16 1881, i16 1882, i16 1883, i16 1884, i16 1885, i16 1886, i16 1887, i16 1888, i16 1889, i16 1890, i16 1891, i16 1892, i16 1893, i16 1894, i16 1895, i16 1896, i16 1897, i16 1898, i16 1899, i16 1900, i16 1901, i16 1902, i16 1903, i16 1904, i16 1905, i16 1906, i16 1907, i16 1908, i16 1909, i16 1910, i16 1911, i16 1912, i16 1913, i16 1914, i16 1915, i16 1916, i16 1917, i16 1918, i16 1919, i16 1920, i16 1921, i16 1922, i16 1923, i16 1924, i16 1925, i16 1926, i16 1927, i16 1928, i16 1929, i16 1930, i16 1931, i16 1932, i16 1933, i16 1934, i16 1935, i16 1936, i16 1937, i16 1938, i16 1939, i16 1940, i16 1941, i16 1942, i16 1943, i16 1944, i16 1945, i16 1946, i16 1947, i16 1948, i16 1949, i16 1950, i16 1951, i16 1952, i16 1953, i16 1954, i16 1955, i16 1956, i16 1957, i16 1958, i16 1959, i16 1960, i16 1961, i16 1962, i16 1963, i16 1964, i16 1965, i16 1966, i16 1967, i16 1968, i16 1969, i16 1970, i16 1971, i16 1972, i16 1973, i16 1974, i16 1975, i16 1976, i16 1977, i16 1978, i16 1979, i16 1980, i16 1981, i16 1982, i16 1983, i16 1984, i16 1985, i16 1986, i16 1987, i16 1988, i16 1989, i16 1990, i16 1991, i16 1992, i16 1993, i16 1994, i16 1995, i16 1996, i16 1997, i16 1998, i16 1999, i16 2000, i16 2001, i16 2002, i16 2003, i16 2004, i16 2005, i16 2006, i16 2007, i16 2008, i16 2009, i16 2010, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 458, i16 459, i16 460, i16 461, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 482, i16 483, i16 484, i16 485, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 494, i16 495, i16 496, i16 497, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 520, i16 521, i16 522, i16 523, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 714, i16 715, i16 716, i16 717, i16 718, i16 719, i16 720, i16 721, i16 722, i16 723, i16 724, i16 725, i16 726, i16 727, i16 728, i16 729, i16 730, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 737, i16 738, i16 739, i16 740, i16 741, i16 742, i16 743, i16 744, i16 745, i16 746, i16 747, i16 748, i16 749, i16 750, i16 751, i16 752, i16 753, i16 754, i16 755, i16 756, i16 757, i16 758, i16 759, i16 760, i16 761, i16 762, i16 763, i16 764, i16 765, i16 766, i16 767, i16 768, i16 769, i16 770, i16 771, i16 772, i16 773, i16 774, i16 775, i16 776, i16 777, i16 778, i16 779, i16 780, i16 781, i16 782, i16 783, i16 784, i16 785, i16 786, i16 787, i16 788, i16 789, i16 790, i16 791, i16 792, i16 793, i16 794, i16 795, i16 796, i16 797, i16 798, i16 799, i16 800, i16 801, i16 802, i16 803, i16 804, i16 805, i16 806, i16 807, i16 808, i16 809, i16 810, i16 811, i16 812, i16 813, i16 814, i16 815, i16 816, i16 817, i16 818, i16 819, i16 820, i16 821, i16 822, i16 823, i16 824, i16 825, i16 826, i16 827, i16 828, i16 829, i16 830, i16 831, i16 832, i16 833, i16 834, i16 835, i16 836, i16 837, i16 838, i16 839, i16 840, i16 841, i16 842, i16 843, i16 844, i16 845, i16 846, i16 847, i16 848, i16 849, i16 850, i16 851, i16 852, i16 853, i16 854, i16 855, i16 856, i16 857, i16 858, i16 859, i16 860, i16 861, i16 862, i16 863, i16 864, i16 865, i16 866, i16 867, i16 868, i16 869, i16 870, i16 871, i16 872, i16 873, i16 874, i16 875, i16 876, i16 877, i16 878, i16 879, i16 880, i16 881, i16 882, i16 883, i16 884, i16 885, i16 886, i16 887, i16 888, i16 889, i16 890, i16 891, i16 892, i16 893, i16 894, i16 895, i16 896, i16 897, i16 898, i16 899, i16 900, i16 901, i16 902, i16 903, i16 904, i16 905, i16 906, i16 907, i16 908, i16 909, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 918, i16 919, i16 920, i16 921, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 929, i16 930, i16 931, i16 932, i16 933, i16 934, i16 935, i16 936, i16 937, i16 938, i16 939, i16 940, i16 941, i16 942, i16 943, i16 944, i16 945, i16 946, i16 947, i16 948, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 964, i16 965, i16 966, i16 967, i16 968, i16 969, i16 970, i16 971, i16 972, i16 973, i16 974, i16 975, i16 976, i16 977, i16 978, i16 979, i16 980, i16 981, i16 982, i16 983, i16 984, i16 985, i16 986, i16 987, i16 988, i16 989, i16 990, i16 991, i16 992, i16 993, i16 994, i16 995, i16 996, i16 997, i16 998, i16 999, i16 1000, i16 1001, i16 1002, i16 1003, i16 1004, i16 1005, i16 1006, i16 1007, i16 1008, i16 1009, i16 1010, i16 1011, i16 1012, i16 1013, i16 1014, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1023, i16 1024, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 1037, i16 1038, i16 1039, i16 1040, i16 1041, i16 1042, i16 1043, i16 1044, i16 1045, i16 1046, i16 1047, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 1058, i16 1059, i16 1060, i16 1061, i16 1062, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1070, i16 1071, i16 1072, i16 1073, i16 1074, i16 1075, i16 1076, i16 1077, i16 1078, i16 1079, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1088, i16 1089, i16 1090, i16 1091, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1099, i16 1100, i16 1101, i16 1102, i16 1103, i16 1104, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 1117, i16 1118, i16 1119, i16 1120, i16 1121, i16 1122, i16 1123, i16 1124, i16 1125, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1132, i16 1133, i16 1134, i16 1135, i16 1136, i16 1137, i16 1138, i16 1139, i16 1140, i16 1141, i16 1142, i16 1143, i16 1144, i16 1145, i16 1146, i16 1147, i16 1148, i16 1149, i16 1150, i16 1151, i16 1152, i16 1153, i16 1154, i16 1155, i16 1156, i16 1157, i16 1158, i16 1159, i16 1160, i16 1161, i16 1162, i16 1163, i16 1164, i16 1165, i16 1166, i16 1167, i16 1168, i16 1169, i16 1170, i16 1171, i16 1172, i16 1173, i16 1174, i16 1175, i16 1176, i16 1177, i16 1178, i16 1179, i16 1180, i16 1181, i16 1182, i16 1183, i16 1184, i16 1185, i16 1186, i16 1187, i16 1188, i16 1189, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1206, i16 1207, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1235, i16 1236, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1242, i16 1243, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 1251, i16 1252, i16 1253, i16 1254, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1263, i16 1264, i16 1265, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1281, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1314, i16 1315, i16 1316, i16 1317, i16 1318, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 1367, i16 1368, i16 1369, i16 1370, i16 1371, i16 1372, i16 1373, i16 1374, i16 1375, i16 1376, i16 1377, i16 1378, i16 1379, i16 1380, i16 1381, i16 1382, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 1390, i16 1391, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1400, i16 1401, i16 1402, i16 1403, i16 1404, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1418, i16 1419, i16 1420, i16 1421, i16 1422, i16 1423, i16 1424, i16 1425, i16 1426, i16 1427, i16 1428, i16 1429, i16 1430, i16 1431, i16 1432, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1440, i16 1441, i16 1442, i16 1443, i16 1444, i16 1445, i16 1446, i16 1447, i16 1448, i16 1449, i16 1450, i16 1451, i16 1452, i16 1453, i16 1454, i16 1455, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1481, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 1528, i16 1529, i16 1530, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 1539, i16 1540, i16 1541, i16 1542, i16 1543, i16 1544, i16 1545, i16 1546, i16 1547, i16 1548, i16 1549, i16 1550, i16 1551, i16 1552, i16 1553, i16 1554, i16 1555, i16 1556, i16 1557, i16 1558, i16 1559, i16 1560, i16 1561, i16 1562, i16 1563, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 1595, i16 1596, i16 1597, i16 1598, i16 1599, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1611, i16 1612, i16 1613, i16 1614, i16 1615, i16 1616, i16 1617, i16 1618, i16 1619, i16 1620, i16 1621, i16 1622, i16 1623, i16 1624, i16 1625, i16 1626, i16 1627, i16 1628, i16 1629, i16 1630, i16 1631, i16 1632, i16 1633, i16 1634, i16 1635, i16 1636, i16 1637, i16 1638, i16 1639, i16 1640, i16 1641, i16 1642, i16 1643, i16 1644, i16 1645, i16 1646, i16 1647, i16 1648, i16 1649, i16 1650, i16 1651, i16 1652, i16 1653, i16 1654, i16 1655, i16 1656, i16 1657, i16 1658, i16 1659, i16 1660, i16 1661, i16 1662, i16 1663, i16 1664, i16 1665, i16 1666, i16 1667, i16 1668, i16 1669, i16 1670, i16 1671, i16 1672, i16 1673, i16 1674, i16 1675, i16 1676, i16 1677, i16 1678, i16 1679, i16 1680, i16 1681, i16 1682, i16 1683, i16 1684, i16 1685, i16 1686, i16 1687, i16 1688, i16 1689, i16 1690, i16 1691, i16 1692, i16 1693, i16 1694, i16 1695, i16 1696, i16 1697, i16 1698, i16 1699, i16 1700, i16 1701, i16 1702, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 1717, i16 1718, i16 1719, i16 1720, i16 1721, i16 1722, i16 1723, i16 1724, i16 1725, i16 1726, i16 1727, i16 1728, i16 1729, i16 1730, i16 1731, i16 1732, i16 1733, i16 1734, i16 1735, i16 1736, i16 1737, i16 1738, i16 1739, i16 1740, i16 1741, i16 1742, i16 1743, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 1749, i16 1750, i16 1751, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 1758, i16 1759, i16 1760, i16 1761, i16 1762, i16 1763, i16 1764, i16 1765, i16 1766, i16 1767, i16 1768, i16 1769, i16 1770, i16 1771, i16 1772, i16 1773, i16 1774, i16 1775, i16 1776, i16 1777, i16 1778, i16 1779, i16 1780, i16 1781, i16 1782, i16 1783, i16 1784, i16 1785, i16 1786, i16 1787, i16 1788, i16 1789, i16 1790, i16 1791, i16 1792, i16 1793, i16 1794, i16 1795, i16 1796, i16 1797, i16 1798, i16 1799, i16 1800, i16 1801, i16 1802, i16 1803, i16 1804, i16 1805, i16 1806, i16 1807, i16 1808, i16 1809, i16 1810, i16 1811, i16 1812, i16 1813, i16 1814, i16 1815, i16 1816, i16 1817, i16 1818, i16 1819, i16 1820, i16 1821, i16 1822, i16 1823, i16 1824, i16 1825, i16 1826, i16 1827, i16 1828, i16 1829, i16 1830, i16 1831, i16 1832, i16 1833, i16 1834, i16 1835, i16 1836, i16 1837, i16 1838, i16 1839, i16 1840, i16 1841, i16 1842, i16 1843, i16 1844, i16 1845, i16 1846, i16 1847, i16 1848, i16 1849, i16 1850, i16 1851, i16 1852, i16 1853, i16 1854, i16 1855, i16 1856, i16 1857, i16 1858, i16 1859, i16 1860, i16 1861, i16 1862, i16 1863, i16 1864, i16 1865, i16 1866, i16 1867, i16 1868, i16 1869, i16 1870, i16 1871, i16 1872, i16 1873, i16 1874, i16 1875, i16 1876, i16 1877, i16 1878, i16 1879, i16 1880, i16 1881, i16 1882, i16 1883, i16 1884, i16 1885, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 2, i16 1, i16 3, i16 1, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 457, i16 458, i16 459, i16 460, i16 461, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 482, i16 483, i16 484, i16 485, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 494, i16 495, i16 496, i16 497, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 520, i16 521, i16 522, i16 523, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 714, i16 715, i16 716, i16 717, i16 718, i16 719, i16 720, i16 721, i16 722, i16 723, i16 724, i16 725, i16 726, i16 727, i16 728, i16 729, i16 730, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 737, i16 738, i16 739, i16 740, i16 741, i16 742, i16 743, i16 744, i16 745, i16 746, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1188, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1206, i16 1207, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1235, i16 1236, i16 1187, i16 1190, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1242, i16 1243, i16 1187, i16 1190, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 1251, i16 1252, i16 1187, i16 1190, i16 1253, i16 1254, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1263, i16 1264, i16 1265, i16 1187, i16 1190, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1281, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1187, i16 1190, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1187, i16 1314, i16 1315, i16 1316, i16 1317, i16 1318, i16 1190, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1329, i16 1330, i16 1331, i16 1187, i16 1190, i16 1332, i16 1333, i16 1334, i16 1335, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 1187, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 1367, i16 1368, i16 1369, i16 1370, i16 1371, i16 1372, i16 1373, i16 1187, i16 1374, i16 1375, i16 1190, i16 1376, i16 1377, i16 1378, i16 1187, i16 1190, i16 1379, i16 1380, i16 1381, i16 1382, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 1187, i16 1190, i16 1390, i16 1391, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1400, i16 1401, i16 1402, i16 1403, i16 1404, i16 1187, i16 1190, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1187, i16 1190, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1418, i16 1419, i16 1420, i16 1421, i16 1422, i16 1423, i16 1187, i16 1190, i16 1424, i16 1425, i16 1426, i16 1427, i16 1428, i16 1429, i16 1430, i16 1431, i16 1432, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1440, i16 1441, i16 1442, i16 1443, i16 1444, i16 1445, i16 1446, i16 1447, i16 1448, i16 1449, i16 1450, i16 1451, i16 1452, i16 1453, i16 1454, i16 1455, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1187, i16 1190, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1187, i16 1190, i16 1481, i16 1187, i16 1190, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1187, i16 1190, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1187, i16 1513, i16 1514, i16 1515, i16 1190, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 1528, i16 1529, i16 1530, i16 1187, i16 1190, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 1539, i16 1540, i16 1541, i16 1542, i16 1543, i16 1544, i16 1545, i16 1546, i16 1547, i16 1548, i16 1549, i16 1550, i16 1551, i16 1552, i16 1553, i16 1554, i16 1555, i16 1556, i16 1557, i16 1558, i16 1559, i16 1560, i16 1561, i16 1562, i16 1563, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1187, i16 1187, i16 1187, i16 1190, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1187, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 1595, i16 1596, i16 1597, i16 1598, i16 1599, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1187, i16 1611, i16 1612, i16 1613, i16 1614, i16 1611, i16 1615, i16 1611, i16 1616, i16 1611, i16 1617, i16 1611, i16 1618, i16 1619, i16 1620, i16 1611, i16 1621, i16 1611, i16 1622, i16 1623, i16 1624, i16 1611, i16 1625, i16 1611, i16 1626, i16 1627, i16 1628, i16 1629, i16 1630, i16 1631, i16 1611, i16 1632, i16 1611, i16 1633, i16 1611, i16 1634, i16 1611, i16 1635, i16 1611, i16 1636, i16 1611, i16 1637, i16 1638, i16 1639, i16 1611, i16 1640, i16 1611, i16 1641, i16 1611, i16 1642, i16 1643, i16 1611, i16 1644, i16 1611, i16 1645, i16 1646, i16 1647, i16 1648, i16 1649, i16 1650, i16 1611, i16 1651, i16 1611, i16 1652, i16 1611, i16 1653, i16 1611, i16 1654, i16 1655, i16 1656, i16 1657, i16 1658, i16 1657, i16 1659, i16 1657, i16 1660, i16 1657, i16 1661, i16 1657, i16 1662, i16 1657, i16 1663, i16 1657, i16 1664, i16 1657, i16 1665, i16 1657, i16 1666, i16 1657, i16 1667, i16 1657, i16 1668, i16 1657, i16 1669, i16 1657, i16 1670, i16 1657, i16 1671, i16 1657, i16 1672, i16 1657, i16 1673, i16 1657, i16 1674, i16 1657, i16 1675, i16 1657, i16 1676, i16 1657, i16 1677, i16 1657, i16 1678, i16 1657, i16 1679, i16 1657, i16 1680, i16 1657, i16 1681, i16 1657, i16 1682, i16 1657, i16 1683, i16 1657, i16 1684, i16 1657, i16 1685, i16 1657, i16 1686, i16 1657, i16 1687, i16 1657, i16 1688, i16 1657, i16 1689, i16 1657, i16 1690, i16 1657, i16 1691, i16 1657, i16 1692, i16 1657, i16 1693, i16 1657, i16 1694, i16 1657, i16 1695, i16 1657, i16 1696, i16 1657, i16 1697, i16 1657, i16 1698, i16 1699, i16 1700, i16 1657, i16 1701, i16 1699, i16 1702, i16 1657, i16 1703, i16 1657, i16 1704, i16 1657, i16 1705, i16 1657, i16 1706, i16 1657, i16 1707, i16 1657, i16 1708, i16 1657, i16 1709, i16 1657, i16 1710, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1189, i16 1189, i16 1189, i16 1189, i16 1712, i16 1712, i16 1713, i16 1714, i16 1714, i16 1714, i16 1714, i16 1714, i16 1714, i16 1712, i16 1712, i16 1715, i16 1715, i16 1715, i16 1712, i16 1716, i16 1716, i16 1716, i16 1716, i16 1712, i16 1712, i16 1712, i16 1717, i16 1717, i16 1717, i16 1717, i16 1717, i16 1717, i16 1717, i16 1712, i16 1718, i16 1718, i16 1718, i16 1718, i16 1712, i16 1719, i16 1719, i16 1719, i16 1719, i16 1712, i16 1720, i16 1720, i16 1720, i16 1720, i16 1712, i16 1721, i16 1721, i16 1721, i16 1721, i16 1712, i16 1722, i16 1722, i16 1712, i16 1723, i16 1723, i16 1712, i16 1724, i16 1724, i16 1712, i16 1725, i16 1725, i16 1712, i16 1726, i16 1726, i16 1726, i16 1726, i16 1712, i16 1727, i16 1727, i16 1727, i16 1727, i16 1712, i16 1728, i16 1728, i16 1728, i16 1728, i16 1712, i16 1729, i16 1729, i16 1729, i16 1729, i16 1712, i16 1730, i16 1730, i16 1730, i16 1730, i16 1712, i16 1731, i16 1731, i16 1731, i16 1731, i16 1712, i16 1732, i16 1732, i16 1732, i16 1732, i16 1712, i16 1733, i16 1733, i16 1733, i16 1733, i16 1712, i16 1734, i16 1734, i16 1734, i16 1734, i16 1712, i16 1735, i16 1735, i16 1735, i16 1735, i16 1712, i16 1736, i16 1736, i16 1736, i16 1736, i16 1712, i16 1737, i16 1737, i16 1737, i16 1737, i16 1712, i16 1738, i16 1738, i16 1738, i16 1738, i16 1712, i16 1739, i16 1739, i16 1739, i16 1739, i16 1712, i16 1740, i16 1740, i16 1740, i16 1740, i16 1712, i16 1741, i16 1741, i16 1712, i16 1742, i16 1742, i16 1712, i16 1743, i16 1743, i16 1743, i16 1743, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 1749, i16 1750, i16 1751, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 1758, i16 1759, i16 1760, i16 1761, i16 1762, i16 1712, i16 1763, i16 1763, i16 1763, i16 1712, i16 1764, i16 1764, i16 1764, i16 1712, i16 1765, i16 1765, i16 1765, i16 1765, i16 1712, i16 1766, i16 1766, i16 1766, i16 1712, i16 1767, i16 1767, i16 1767, i16 1712, i16 1768, i16 1768, i16 1768, i16 1768, i16 1712, i16 1769, i16 1769, i16 1769, i16 1712, i16 1770, i16 1770, i16 1770, i16 1712, i16 1771, i16 1771, i16 1771, i16 1771, i16 1712, i16 1772, i16 1772, i16 1772, i16 1712, i16 1773, i16 1773, i16 1773, i16 1712, i16 1774, i16 1774, i16 1774, i16 1712, i16 1775, i16 1775, i16 1775, i16 1712, i16 1776, i16 1776, i16 1776, i16 1712, i16 1777, i16 1777, i16 1777, i16 1712, i16 1778, i16 1778, i16 1778, i16 1712, i16 1779, i16 1779, i16 1779, i16 1712, i16 1780, i16 1780, i16 1780, i16 1780, i16 1780, i16 1712, i16 1781, i16 1781, i16 1781, i16 1712, i16 1782, i16 1782, i16 1782, i16 1712, i16 1783, i16 1712, i16 1784, i16 1712, i16 1785, i16 1712, i16 1786, i16 1712, i16 1787, i16 1712, i16 1788, i16 1788, i16 1788, i16 1788, i16 1788, i16 1712, i16 1789, i16 1789, i16 1789, i16 1789, i16 1789, i16 1712, i16 1790, i16 1790, i16 1790, i16 1790, i16 1790, i16 1712, i16 1791, i16 1791, i16 1791, i16 1791, i16 1791, i16 1712, i16 1792, i16 1792, i16 1792, i16 1792, i16 1792, i16 1712, i16 1793, i16 1712, i16 1794, i16 1712, i16 1795, i16 1712, i16 1796, i16 1712, i16 1797, i16 1712, i16 1798, i16 1798, i16 1798, i16 1712, i16 1799, i16 1799, i16 1799, i16 1712, i16 1800, i16 1800, i16 1800, i16 1712, i16 1801, i16 1712, i16 1802, i16 1712, i16 1803, i16 1712, i16 1804, i16 1712, i16 1805, i16 1712, i16 1806, i16 1806, i16 1806, i16 1712, i16 1807, i16 1712, i16 1808, i16 1712, i16 1809, i16 1712, i16 1810, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2093, i16 2094, i16 2095, i16 2096, i16 2097, i16 2098, i16 2099, i16 2100, i16 2101, i16 2102, i16 2103, i16 2104, i16 2105, i16 2106, i16 2107, i16 2108, i16 2109, i16 2110, i16 2111, i16 2112, i16 2113, i16 2114, i16 2115, i16 2116, i16 2117, i16 2118, i16 2119, i16 2120, i16 2121, i16 2122, i16 2123, i16 2124, i16 2125, i16 2126, i16 2127, i16 2128, i16 2129, i16 2130, i16 2131, i16 2132, i16 2133, i16 2134, i16 2135, i16 2136, i16 2137, i16 2138, i16 2139, i16 2140, i16 2141, i16 2142, i16 2143, i16 2144, i16 2145, i16 2146, i16 2147, i16 2148, i16 2149, i16 2150, i16 2151, i16 2091, i16 2152, i16 2153, i16 2154, i16 2155, i16 2156, i16 2157, i16 2093, i16 2158, i16 2159, i16 2160, i16 2161, i16 2162, i16 2163, i16 2164, i16 2091, i16 2093, i16 2165, i16 2166, i16 2167, i16 2168, i16 2169, i16 2170, i16 2171, i16 2172, i16 2173, i16 2174, i16 2175, i16 2176, i16 2177, i16 2178, i16 2179, i16 2091, i16 2093, i16 2180, i16 2181, i16 2182, i16 2183, i16 2184, i16 2185, i16 2186, i16 2187, i16 2188, i16 2189, i16 2190, i16 2191, i16 2192, i16 2193, i16 2194, i16 2091, i16 2093, i16 2195, i16 2196, i16 2197, i16 2198, i16 2199, i16 2200, i16 2201, i16 2202, i16 2203, i16 2204, i16 2205, i16 2206, i16 2207, i16 2208, i16 2209, i16 2210, i16 2211, i16 2212, i16 2213, i16 2214, i16 2215, i16 2216, i16 2217, i16 2218, i16 2219, i16 2220, i16 2221, i16 2222, i16 2223, i16 2224, i16 2225, i16 2226, i16 2227, i16 2228, i16 2229, i16 2230, i16 2231, i16 2232, i16 2233, i16 2234, i16 2235, i16 2236, i16 2237, i16 2238, i16 2239, i16 2240, i16 2241, i16 2242, i16 2243, i16 2091, i16 2093, i16 2244, i16 2245, i16 2246, i16 2247, i16 2248, i16 2091, i16 2249, i16 2250, i16 2251, i16 2252, i16 2253, i16 2093, i16 2254, i16 2255, i16 2256, i16 2257, i16 2258, i16 2259, i16 2260, i16 2261, i16 2262, i16 2263, i16 2264, i16 2265, i16 2266, i16 2267, i16 2268, i16 2269, i16 2270, i16 2091, i16 2093, i16 2271, i16 2272, i16 2273, i16 2274, i16 2275, i16 2276, i16 2277, i16 2278, i16 2279, i16 2280, i16 2281, i16 2282, i16 2283, i16 2284, i16 2285, i16 2091, i16 2093, i16 2286, i16 2287, i16 2093, i16 2288, i16 2289, i16 2290, i16 2291, i16 2292, i16 2293, i16 2294, i16 2295, i16 2296, i16 2297, i16 2298, i16 2299, i16 2300, i16 2301, i16 2302, i16 2303, i16 2304, i16 2305, i16 2306, i16 2307, i16 2308, i16 2309, i16 2310, i16 2311, i16 2312, i16 2313, i16 2314, i16 2315, i16 2316, i16 2317, i16 2318, i16 2319, i16 2320, i16 2091, i16 2321, i16 2322, i16 2093, i16 2323, i16 2324, i16 2325, i16 2091, i16 2093, i16 2326, i16 2327, i16 2328, i16 2329, i16 2330, i16 2331, i16 2332, i16 2333, i16 2334, i16 2335, i16 2336, i16 2337, i16 2338, i16 2091, i16 2339, i16 2093, i16 2340, i16 2341, i16 2342, i16 2343, i16 2344, i16 2345, i16 2346, i16 2347, i16 2348, i16 2349, i16 2350, i16 2351, i16 2352, i16 2353, i16 2354, i16 2355, i16 2356, i16 2357, i16 2358, i16 2091, i16 2093, i16 2359, i16 2360, i16 2361, i16 2362, i16 2363, i16 2364, i16 2365, i16 2091, i16 2093, i16 2366, i16 2367, i16 2368, i16 2369, i16 2370, i16 2371, i16 2372, i16 2373, i16 2374, i16 2375, i16 2376, i16 2377, i16 2378, i16 2379, i16 2380, i16 2381, i16 2382, i16 2383, i16 2091, i16 2384, i16 2385, i16 2093, i16 2386, i16 2387, i16 2388, i16 2389, i16 2390, i16 2391, i16 2392, i16 2393, i16 2394, i16 2395, i16 2396, i16 2397, i16 2398, i16 2399, i16 2400, i16 2401, i16 2402, i16 2403, i16 2404, i16 2405, i16 2406, i16 2407, i16 2408, i16 2409, i16 2410, i16 2411, i16 2412, i16 2413, i16 2414, i16 2415, i16 2416, i16 2417, i16 2418, i16 2419, i16 2420, i16 2421, i16 2422, i16 2423, i16 2424, i16 2425, i16 2426, i16 2427, i16 2428, i16 2429, i16 2430, i16 2431, i16 2432, i16 2433, i16 2434, i16 2435, i16 2436, i16 2437, i16 2438, i16 2439, i16 2440, i16 2441, i16 2442, i16 2443, i16 2444, i16 2445, i16 2446, i16 2447, i16 2448, i16 2449, i16 2450, i16 2451, i16 2091, i16 2452, i16 2453, i16 2093, i16 2454, i16 2455, i16 2456, i16 2457, i16 2458, i16 2091, i16 2093, i16 2459, i16 2091, i16 2093, i16 2460, i16 2461, i16 2462, i16 2463, i16 2464, i16 2465, i16 2466, i16 2467, i16 2468, i16 2469, i16 2470, i16 2471, i16 2472, i16 2473, i16 2474, i16 2475, i16 2476, i16 2178, i16 2477, i16 2091, i16 2093, i16 2478, i16 2479, i16 2480, i16 2481, i16 2482, i16 2483, i16 2484, i16 2485, i16 2486, i16 2487, i16 2488, i16 2489, i16 2490, i16 2491, i16 2492, i16 2493, i16 2178, i16 2494, i16 2495, i16 2496, i16 2091, i16 2497, i16 2498, i16 2499, i16 2093, i16 2500, i16 2501, i16 2502, i16 2503, i16 2504, i16 2505, i16 2506, i16 2507, i16 2508, i16 2509, i16 2510, i16 2511, i16 2512, i16 2513, i16 2514, i16 2091, i16 2515, i16 2516, i16 2093, i16 2517, i16 2518, i16 2519, i16 2520, i16 2521, i16 2522, i16 2523, i16 2524, i16 2525, i16 2526, i16 2527, i16 2528, i16 2529, i16 2530, i16 2531, i16 2532, i16 2533, i16 2534, i16 2535, i16 2536, i16 2537, i16 2538, i16 2539, i16 2540, i16 2541, i16 2542, i16 2543, i16 2544, i16 2545, i16 2546, i16 2547, i16 2548, i16 2549, i16 2550, i16 2551, i16 2552, i16 2553, i16 2554, i16 2555, i16 2556, i16 2557, i16 2558, i16 2559, i16 2560, i16 2561, i16 2562, i16 2563, i16 2564, i16 2565, i16 2566, i16 2567, i16 2568, i16 2569, i16 2570, i16 2571, i16 2572, i16 2573, i16 2574, i16 2575, i16 2576, i16 2577, i16 2091, i16 2093, i16 2578, i16 2579, i16 2580, i16 2581, i16 2582, i16 2091, i16 2093, i16 2583, i16 2584, i16 2585, i16 2586, i16 2587, i16 2588, i16 2589, i16 2590, i16 2591, i16 2592, i16 2593, i16 2594, i16 2595, i16 2091, i16 2093, i16 2596, i16 2597, i16 2598, i16 2599, i16 2600, i16 2091, i16 2093, i16 2601, i16 2602, i16 2603, i16 2604, i16 2605, i16 2606, i16 2607, i16 2608, i16 2609, i16 2610, i16 2611, i16 2612, i16 2613, i16 2614, i16 2615, i16 2616, i16 2617, i16 2091, i16 2093, i16 2618, i16 2619, i16 2620, i16 2621, i16 2622, i16 2623, i16 2624, i16 2625, i16 2626, i16 2627, i16 2628, i16 2629, i16 2630, i16 2091, i16 2178, i16 2631, i16 2632, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2634, i16 2635, i16 2636, i16 2637, i16 2638, i16 2639, i16 2640, i16 2641, i16 2642, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2643, i16 2092, i16 2644, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2645, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2646, i16 2647, i16 2648, i16 2649, i16 2650, i16 2647, i16 2651, i16 2647, i16 2652, i16 2647, i16 2653, i16 2647, i16 2654, i16 2655, i16 2656, i16 2647, i16 2657, i16 2647, i16 2658, i16 2659, i16 2660, i16 2647, i16 2661, i16 2647, i16 2662, i16 2663, i16 2664, i16 2665, i16 2666, i16 2667, i16 2647, i16 2668, i16 2647, i16 2669, i16 2647, i16 2670, i16 2647, i16 2671, i16 2647, i16 2672, i16 2647, i16 2673, i16 2674, i16 2675, i16 2647, i16 2676, i16 2647, i16 2677, i16 2647, i16 2678, i16 2679, i16 2647, i16 2680, i16 2647, i16 2681, i16 2682, i16 2683, i16 2684, i16 2685, i16 2686, i16 2647, i16 2687, i16 2647, i16 2688, i16 2647, i16 2689, i16 2647, i16 2690, i16 2691, i16 2692, i16 2693, i16 2694, i16 2693, i16 2695, i16 2693, i16 2696, i16 2693, i16 2697, i16 2693, i16 2698, i16 2693, i16 2699, i16 2693, i16 2700, i16 2693, i16 2701, i16 2693, i16 2702, i16 2693, i16 2703, i16 2693, i16 2704, i16 2693, i16 2705, i16 2693, i16 2706, i16 2693, i16 2707, i16 2693, i16 2708, i16 2693, i16 2709, i16 2693, i16 2710, i16 2693, i16 2711, i16 2693, i16 2712, i16 2693, i16 2713, i16 2693, i16 2714, i16 2693, i16 2715, i16 2693, i16 2716, i16 2693, i16 2717, i16 2693, i16 2718, i16 2693, i16 2719, i16 2693, i16 2720, i16 2693, i16 2721, i16 2693, i16 2722, i16 2693, i16 2723, i16 2693, i16 2724, i16 2693, i16 2725, i16 2693, i16 2726, i16 2693, i16 2727, i16 2693, i16 2728, i16 2693, i16 2729, i16 2693, i16 2730, i16 2693, i16 2731, i16 2693, i16 2732, i16 2693, i16 2733, i16 2693, i16 2734, i16 2735, i16 2736, i16 2693, i16 2737, i16 2735, i16 2738, i16 2693, i16 2739, i16 2693, i16 2740, i16 2693, i16 2741, i16 2693, i16 2742, i16 2693, i16 2743, i16 2693, i16 2744, i16 2693, i16 2745, i16 2693, i16 2746, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2092, i16 2092, i16 2092, i16 2092, i16 2632, i16 2632, i16 2748, i16 2749, i16 2749, i16 2749, i16 2749, i16 2749, i16 2749, i16 2632, i16 2632, i16 2750, i16 2750, i16 2750, i16 2632, i16 2751, i16 2751, i16 2751, i16 2751, i16 2632, i16 2632, i16 2632, i16 2752, i16 2752, i16 2752, i16 2752, i16 2752, i16 2752, i16 2752, i16 2632, i16 2753, i16 2753, i16 2753, i16 2753, i16 2632, i16 2754, i16 2754, i16 2754, i16 2754, i16 2632, i16 2755, i16 2755, i16 2755, i16 2755, i16 2632, i16 2756, i16 2756, i16 2756, i16 2756, i16 2632, i16 2757, i16 2757, i16 2632, i16 2758, i16 2758, i16 2632, i16 2759, i16 2759, i16 2632, i16 2760, i16 2760, i16 2632, i16 2761, i16 2761, i16 2761, i16 2761, i16 2632, i16 2762, i16 2762, i16 2762, i16 2762, i16 2632, i16 2763, i16 2763, i16 2763, i16 2763, i16 2632, i16 2764, i16 2764, i16 2764, i16 2764, i16 2632, i16 2765, i16 2765, i16 2765, i16 2765, i16 2632, i16 2766, i16 2766, i16 2766, i16 2766, i16 2632, i16 2767, i16 2767, i16 2767, i16 2767, i16 2632, i16 2768, i16 2768, i16 2768, i16 2768, i16 2632, i16 2769, i16 2769, i16 2769, i16 2769, i16 2632, i16 2770, i16 2770, i16 2770, i16 2770, i16 2632, i16 2771, i16 2771, i16 2771, i16 2771, i16 2632, i16 2772, i16 2772, i16 2772, i16 2772, i16 2632, i16 2773, i16 2773, i16 2773, i16 2773, i16 2632, i16 2774, i16 2774, i16 2774, i16 2774, i16 2632, i16 2775, i16 2775, i16 2775, i16 2775, i16 2632, i16 2776, i16 2776, i16 2632, i16 2777, i16 2777, i16 2632, i16 2778, i16 2778, i16 2778, i16 2778, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2633, i16 2634, i16 2635, i16 2636, i16 2637, i16 2638, i16 2639, i16 2640, i16 2641, i16 2642, i16 2780, i16 2781, i16 2782, i16 2783, i16 2784, i16 2785, i16 2786, i16 2787, i16 2632, i16 2788, i16 2788, i16 2788, i16 2632, i16 2789, i16 2789, i16 2789, i16 2632, i16 2790, i16 2790, i16 2790, i16 2790, i16 2632, i16 2791, i16 2791, i16 2791, i16 2632, i16 2792, i16 2792, i16 2792, i16 2632, i16 2793, i16 2793, i16 2793, i16 2793, i16 2632, i16 2794, i16 2794, i16 2794, i16 2632, i16 2795, i16 2795, i16 2795, i16 2632, i16 2796, i16 2796, i16 2796, i16 2796, i16 2632, i16 2797, i16 2797, i16 2797, i16 2632, i16 2798, i16 2798, i16 2798, i16 2632, i16 2799, i16 2799, i16 2799, i16 2632, i16 2800, i16 2800, i16 2800, i16 2632, i16 2801, i16 2801, i16 2801, i16 2632, i16 2802, i16 2802, i16 2802, i16 2632, i16 2803, i16 2803, i16 2803, i16 2632, i16 2804, i16 2804, i16 2804, i16 2632, i16 2805, i16 2805, i16 2805, i16 2805, i16 2805, i16 2632, i16 2806, i16 2806, i16 2806, i16 2632, i16 2807, i16 2807, i16 2807, i16 2632, i16 2808, i16 2632, i16 2809, i16 2632, i16 2810, i16 2632, i16 2811, i16 2632, i16 2812, i16 2632, i16 2813, i16 2813, i16 2813, i16 2813, i16 2813, i16 2632, i16 2814, i16 2814, i16 2814, i16 2814, i16 2814, i16 2632, i16 2815, i16 2815, i16 2815, i16 2815, i16 2815, i16 2632, i16 2816, i16 2816, i16 2816, i16 2816, i16 2816, i16 2632, i16 2817, i16 2817, i16 2817, i16 2817, i16 2817, i16 2632, i16 2818, i16 2632, i16 2819, i16 2632, i16 2820, i16 2632, i16 2821, i16 2632, i16 2822, i16 2632, i16 2823, i16 2823, i16 2823, i16 2632, i16 2824, i16 2824, i16 2824, i16 2632, i16 2825, i16 2825, i16 2825, i16 2632, i16 2826, i16 2632, i16 2827, i16 2632, i16 2828, i16 2632, i16 2829, i16 2632, i16 2830, i16 2632, i16 2831, i16 2831, i16 2831, i16 2632, i16 2832, i16 2632, i16 2833, i16 2632, i16 2834, i16 2632, i16 2835, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2837, i16 2836, i16 2838, i16 2836, i16 2839, i16 2836, i16 2840, i16 2836, i16 2841, i16 2836, i16 2842, i16 2836, i16 2843, i16 2836, i16 2844, i16 2836, i16 2845, i16 2836, i16 2846, i16 2836, i16 2847, i16 2836, i16 2848, i16 2836, i16 2849, i16 2836, i16 2850, i16 2836, i16 2851, i16 2836, i16 2852, i16 2836, i16 2853, i16 2836, i16 2854, i16 2836, i16 2855, i16 2836, i16 2856, i16 2836, i16 2857, i16 2836, i16 2858, i16 2836, i16 2859, i16 2836, i16 2860, i16 2836, i16 2861, i16 2836, i16 2862, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2836, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2646, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2866, i16 2867, i16 2866, i16 2868, i16 2866, i16 2869, i16 2866, i16 2870, i16 2866, i16 2871, i16 2866, i16 2872, i16 2866, i16 2873, i16 2866, i16 2874, i16 2866, i16 2875, i16 2866, i16 2876, i16 2877, i16 2878, i16 2877, i16 2879, i16 2877, i16 2880, i16 2877, i16 2881, i16 2877, i16 2882, i16 2877, i16 2883, i16 2877, i16 2884, i16 2877, i16 2885, i16 2877, i16 2886, i16 2877, i16 2887, i16 2877, i16 2888, i16 2877, i16 2889, i16 2877, i16 2890, i16 2877, i16 2891, i16 2877, i16 2892, i16 2877, i16 2893, i16 2877, i16 2894, i16 2877, i16 2895, i16 2877, i16 2896, i16 2877, i16 2897, i16 2877, i16 2898, i16 2877, i16 2899, i16 2877, i16 2900, i16 2877, i16 2901, i16 2877, i16 2902, i16 2877, i16 2903, i16 2866, i16 2904, i16 2905, i16 2906, i16 2907, i16 2908, i16 2866, i16 2909, i16 2910, i16 2911, i16 2912, i16 2913, i16 2866, i16 2914, i16 2915, i16 2916, i16 2917, i16 2918, i16 2866, i16 2919, i16 2920, i16 2921, i16 2922, i16 2923, i16 2866, i16 2924, i16 2925, i16 2926, i16 2927, i16 2928, i16 2866, i16 2929, i16 2930, i16 2931, i16 2932, i16 2933, i16 2866, i16 2934, i16 2935, i16 2936, i16 2937, i16 2938, i16 2866, i16 2939, i16 2940, i16 2941, i16 2942, i16 2943, i16 2866, i16 2944, i16 2945, i16 2946, i16 2947, i16 2948, i16 2866, i16 2949, i16 2950, i16 2951, i16 2952, i16 2953, i16 2866, i16 2954, i16 2955, i16 2956, i16 2957, i16 2958, i16 2866, i16 2959, i16 2960, i16 2961, i16 2962, i16 2963, i16 2866, i16 2964, i16 2965, i16 2966, i16 2967, i16 2968, i16 2866, i16 2969, i16 2970, i16 2971, i16 2972, i16 2973, i16 2866, i16 2974, i16 2975, i16 2976, i16 2977, i16 2978, i16 2866, i16 2979, i16 2980, i16 2981, i16 2982, i16 2983, i16 2866, i16 2984, i16 2985, i16 2986, i16 2987, i16 2988, i16 2866, i16 2989, i16 2990, i16 2991, i16 2992, i16 2993, i16 2866, i16 2994, i16 2995, i16 2996, i16 2997, i16 2998, i16 2866, i16 2999, i16 3000, i16 3001, i16 3002, i16 3003, i16 2866, i16 3004, i16 3005, i16 3006, i16 3007, i16 3008, i16 2866, i16 3009, i16 3010, i16 3011, i16 3012, i16 3013, i16 2866, i16 3014, i16 3015, i16 3016, i16 3017, i16 3018, i16 2866, i16 3019, i16 3020, i16 3021, i16 3022, i16 3023, i16 2866, i16 3024, i16 3025, i16 3026, i16 3027, i16 3028, i16 2866, i16 3029, i16 3030, i16 3031, i16 3032, i16 3033, i16 2866, i16 3034, i16 3035, i16 3036, i16 3037, i16 3038, i16 2866, i16 3039, i16 3040, i16 3041, i16 3042, i16 3043, i16 2866, i16 3044, i16 3045, i16 3046, i16 3047, i16 3048, i16 2866, i16 3049, i16 3050, i16 3051, i16 3052, i16 3053, i16 2866, i16 3054, i16 3055, i16 3056, i16 3057, i16 3058, i16 2866, i16 3059, i16 3060, i16 3061, i16 3062, i16 3063, i16 2866, i16 3064, i16 3065, i16 3066, i16 3067, i16 3068, i16 2866, i16 3069, i16 3070, i16 3071, i16 3072, i16 3073, i16 2866, i16 3074, i16 3075, i16 3076, i16 3077, i16 3078, i16 2866, i16 2866, i16 3079, i16 3080, i16 3081, i16 3082, i16 3083, i16 2866, i16 2866, i16 3084, i16 3085, i16 3086, i16 3087, i16 3088, i16 2866, i16 3089, i16 3090, i16 3091, i16 3092, i16 3093, i16 2866, i16 3094, i16 3095, i16 3096, i16 3097, i16 3098, i16 2866, i16 3099, i16 3100, i16 3101, i16 3102, i16 3103, i16 2866, i16 3104, i16 3105, i16 3106, i16 3107, i16 3108, i16 2866, i16 3109, i16 3110, i16 3111, i16 3112, i16 3113, i16 2866, i16 3114, i16 3115, i16 3116, i16 3117, i16 3118, i16 2866, i16 3119, i16 3120, i16 3121, i16 3122, i16 3123, i16 2866, i16 2866, i16 2866, i16 2866, i16 3124, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 99, i16 104, i16 112, i16 117, i16 122, i16 124, i16 126, i16 128, i16 130, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 1162, i16 296, i16 0, i16 704, i16 0, i16 1166, i16 293, i16 0, i16 714, i16 0, i16 1168, i16 296, i16 0, i16 1167, i16 293, i16 0, i16 723, i16 0, i16 1169, i16 299, i16 0, i16 728, i16 0, i16 1170, i16 293, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 49, i16 51, i16 53, i16 55, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 83, i16 85, i16 87, i16 89, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 1174, i16 169, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 1176, i16 169, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 1173, i16 169, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 1175, i16 169, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 1222, i16 411, i16 0, i16 1221, i16 491, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 1219, i16 411, i16 0, i16 1220, i16 491, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 48, i16 50, i16 52, i16 54, i16 62, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 94, i16 96, i16 98, i16 100, i16 108, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 138, i16 140, i16 142, i16 144, i16 146, i16 148, i16 478, i16 0, i16 1265, i16 1008, i16 0, i16 1264, i16 1047, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 1269, i16 421, i16 0, i16 1268, i16 501, i16 0, i16 504, i16 0, i16 1273, i16 421, i16 0, i16 1272, i16 501, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 1262, i16 1008, i16 0, i16 1263, i16 1047, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 1266, i16 421, i16 0, i16 1267, i16 501, i16 0, i16 425, i16 0, i16 1270, i16 421, i16 0, i16 1271, i16 501, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 52, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 92, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 1318, i16 989, i16 0, i16 1317, i16 1029, i16 0, i16 491, i16 0, i16 1322, i16 401, i16 0, i16 1321, i16 481, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 1315, i16 989, i16 0, i16 1316, i16 1029, i16 0, i16 411, i16 0, i16 1319, i16 401, i16 0, i16 1320, i16 481, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 1222, i16 411, i16 0, i16 1221, i16 491, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1328, i16 413, i16 0, i16 1327, i16 493, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 1219, i16 411, i16 0, i16 1220, i16 491, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1325, i16 413, i16 0, i16 1326, i16 493, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 62, i16 142, i16 144, i16 168, i16 170, i16 194, i16 218, i16 220, i16 222, i16 224, i16 248, i16 272, i16 274, i16 298, i16 322, i16 402, i16 404, i16 428, i16 430, i16 454, i16 478, i16 480, i16 482, i16 484, i16 508, i16 532, i16 534, i16 558, i16 560, i16 562, i16 564, i16 566, i16 568, i16 570, i16 572, i16 574, i16 576, i16 1425, i16 451, i16 0, i16 1429, i16 398, i16 451, i16 0, i16 1428, i16 398, i16 528, i16 0, i16 1424, i16 528, i16 0, i16 1427, i16 478, i16 451, i16 0, i16 1426, i16 478, i16 528, i16 0, i16 478, i16 0, i16 1451, i16 471, i16 451, i16 0, i16 1450, i16 471, i16 528, i16 0, i16 1437, i16 471, i16 0, i16 1459, i16 399, i16 471, i16 451, i16 0, i16 1458, i16 399, i16 471, i16 528, i16 0, i16 1441, i16 399, i16 471, i16 0, i16 1457, i16 399, i16 548, i16 451, i16 0, i16 1456, i16 399, i16 548, i16 528, i16 0, i16 1440, i16 399, i16 548, i16 0, i16 1449, i16 548, i16 451, i16 0, i16 1448, i16 548, i16 528, i16 0, i16 1436, i16 548, i16 0, i16 1455, i16 479, i16 471, i16 451, i16 0, i16 1454, i16 479, i16 471, i16 528, i16 0, i16 1439, i16 479, i16 471, i16 0, i16 1453, i16 479, i16 548, i16 451, i16 0, i16 1452, i16 479, i16 548, i16 528, i16 0, i16 1438, i16 479, i16 548, i16 0, i16 479, i16 0, i16 490, i16 0, i16 1473, i16 467, i16 0, i16 1477, i16 411, i16 467, i16 0, i16 1476, i16 411, i16 544, i16 0, i16 1472, i16 544, i16 0, i16 1475, i16 491, i16 467, i16 0, i16 1474, i16 491, i16 544, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 1485, i16 467, i16 0, i16 1489, i16 425, i16 467, i16 0, i16 1488, i16 425, i16 544, i16 0, i16 1484, i16 544, i16 0, i16 1487, i16 504, i16 467, i16 0, i16 1486, i16 504, i16 544, i16 0, i16 504, i16 0, i16 1497, i16 467, i16 0, i16 1501, i16 432, i16 467, i16 0, i16 1500, i16 432, i16 544, i16 0, i16 1496, i16 544, i16 0, i16 1499, i16 511, i16 467, i16 0, i16 1498, i16 511, i16 544, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 1509, i16 471, i16 0, i16 1513, i16 451, i16 471, i16 0, i16 1512, i16 451, i16 548, i16 0, i16 1508, i16 548, i16 0, i16 1511, i16 528, i16 471, i16 0, i16 1510, i16 528, i16 548, i16 0, i16 528, i16 0, i16 1521, i16 467, i16 0, i16 1525, i16 453, i16 467, i16 0, i16 1524, i16 453, i16 544, i16 0, i16 1520, i16 544, i16 0, i16 1523, i16 530, i16 467, i16 0, i16 1522, i16 530, i16 544, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 1537, i16 471, i16 451, i16 0, i16 1536, i16 471, i16 528, i16 0, i16 1533, i16 451, i16 0, i16 1535, i16 548, i16 451, i16 0, i16 1534, i16 548, i16 528, i16 0, i16 1532, i16 528, i16 0, i16 548, i16 0, i16 1431, i16 451, i16 0, i16 1435, i16 398, i16 451, i16 0, i16 1434, i16 398, i16 528, i16 0, i16 1430, i16 528, i16 0, i16 1433, i16 478, i16 451, i16 0, i16 1432, i16 478, i16 528, i16 0, i16 398, i16 0, i16 1463, i16 471, i16 451, i16 0, i16 1462, i16 471, i16 528, i16 0, i16 1443, i16 471, i16 0, i16 1471, i16 399, i16 471, i16 451, i16 0, i16 1470, i16 399, i16 471, i16 528, i16 0, i16 1447, i16 399, i16 471, i16 0, i16 1469, i16 399, i16 548, i16 451, i16 0, i16 1468, i16 399, i16 548, i16 528, i16 0, i16 1446, i16 399, i16 548, i16 0, i16 1461, i16 548, i16 451, i16 0, i16 1460, i16 548, i16 528, i16 0, i16 1442, i16 548, i16 0, i16 1467, i16 479, i16 471, i16 451, i16 0, i16 1466, i16 479, i16 471, i16 528, i16 0, i16 1445, i16 479, i16 471, i16 0, i16 1465, i16 479, i16 548, i16 451, i16 0, i16 1464, i16 479, i16 548, i16 528, i16 0, i16 1444, i16 479, i16 548, i16 0, i16 399, i16 0, i16 410, i16 0, i16 1478, i16 467, i16 0, i16 1483, i16 411, i16 467, i16 0, i16 1482, i16 411, i16 544, i16 0, i16 1479, i16 544, i16 0, i16 1481, i16 491, i16 467, i16 0, i16 1480, i16 491, i16 544, i16 0, i16 411, i16 0, i16 990, i16 0, i16 1490, i16 467, i16 0, i16 1495, i16 425, i16 467, i16 0, i16 1494, i16 425, i16 544, i16 0, i16 1491, i16 544, i16 0, i16 1493, i16 504, i16 467, i16 0, i16 1492, i16 504, i16 544, i16 0, i16 425, i16 0, i16 1502, i16 467, i16 0, i16 1507, i16 432, i16 467, i16 0, i16 1506, i16 432, i16 544, i16 0, i16 1503, i16 544, i16 0, i16 1505, i16 511, i16 467, i16 0, i16 1504, i16 511, i16 544, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 1515, i16 471, i16 0, i16 1519, i16 451, i16 471, i16 0, i16 1518, i16 451, i16 548, i16 0, i16 1514, i16 548, i16 0, i16 1517, i16 528, i16 471, i16 0, i16 1516, i16 528, i16 548, i16 0, i16 451, i16 0, i16 1527, i16 467, i16 0, i16 1531, i16 453, i16 467, i16 0, i16 1530, i16 453, i16 544, i16 0, i16 1526, i16 544, i16 0, i16 1529, i16 530, i16 467, i16 0, i16 1528, i16 530, i16 544, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 1543, i16 471, i16 451, i16 0, i16 1542, i16 471, i16 528, i16 0, i16 1539, i16 451, i16 0, i16 1541, i16 548, i16 451, i16 0, i16 1540, i16 548, i16 528, i16 0, i16 1538, i16 528, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 112, i16 117, i16 122, i16 127, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1559, i16 1554, i16 0, i16 1556, i16 1552, i16 0, i16 1073, i16 0, i16 1560, i16 1553, i16 0, i16 582, i16 0, i16 1562, i16 1553, i16 0, i16 1080, i16 0, i16 1563, i16 1553, i16 0, i16 1082, i16 0, i16 1561, i16 1553, i16 0, i16 1564, i16 0, i16 38, i16 46, i16 54, i16 62, i16 64, i16 66, i16 74, i16 82, i16 84, i16 92, i16 100, i16 102, i16 110, i16 112, i16 114, i16 122, i16 130, i16 138, i16 140, i16 142, i16 150, i16 158, i16 160, i16 168, i16 176, i16 178, i16 186, i16 188, i16 190, i16 192, i16 194, i16 196, i16 198, i16 200, i16 202, i16 204, i16 206, i16 208, i16 1591, i16 413, i16 0, i16 1590, i16 493, i16 0, i16 478, i16 0, i16 1595, i16 399, i16 0, i16 1594, i16 479, i16 0, i16 479, i16 0, i16 1599, i16 410, i16 0, i16 1598, i16 490, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 1603, i16 425, i16 0, i16 1602, i16 504, i16 0, i16 504, i16 0, i16 1222, i16 411, i16 0, i16 1221, i16 491, i16 0, i16 511, i16 0, i16 515, i16 0, i16 1607, i16 413, i16 0, i16 1606, i16 493, i16 0, i16 522, i16 0, i16 1611, i16 413, i16 0, i16 1610, i16 493, i16 0, i16 524, i16 0, i16 528, i16 0, i16 1615, i16 413, i16 0, i16 1614, i16 493, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 1588, i16 413, i16 0, i16 1589, i16 493, i16 0, i16 398, i16 0, i16 1592, i16 399, i16 0, i16 1593, i16 479, i16 0, i16 399, i16 0, i16 1596, i16 410, i16 0, i16 1597, i16 490, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 1600, i16 425, i16 0, i16 1601, i16 504, i16 0, i16 425, i16 0, i16 1219, i16 411, i16 0, i16 1220, i16 491, i16 0, i16 432, i16 0, i16 437, i16 0, i16 1604, i16 413, i16 0, i16 1605, i16 493, i16 0, i16 445, i16 0, i16 1608, i16 413, i16 0, i16 1609, i16 493, i16 0, i16 447, i16 0, i16 451, i16 0, i16 1612, i16 413, i16 0, i16 1613, i16 493, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 138, i16 140, i16 1591, i16 413, i16 0, i16 1590, i16 493, i16 0, i16 1621, i16 169, i16 413, i16 0, i16 1620, i16 169, i16 493, i16 0, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 1588, i16 413, i16 0, i16 1589, i16 493, i16 0, i16 1618, i16 169, i16 413, i16 0, i16 1619, i16 169, i16 493, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 10, i16 12, i16 14, i16 16, i16 18, i16 20, i16 22, i16 24, i16 26, i16 28, i16 681, i16 0, i16 738, i16 0, i16 749, i16 0, i16 901, i16 0, i16 927, i16 0, i16 682, i16 0, i16 739, i16 0, i16 750, i16 0, i16 902, i16 0, i16 928, i16 0, i16 10, i16 18, i16 20, i16 22, i16 24, i16 26, i16 34, i16 36, i16 38, i16 40, i16 1884, i16 682, i16 0, i16 1883, i16 681, i16 0, i16 681, i16 0, i16 738, i16 0, i16 749, i16 0, i16 901, i16 0, i16 927, i16 0, i16 1886, i16 682, i16 0, i16 1885, i16 681, i16 0, i16 682, i16 0, i16 739, i16 0, i16 750, i16 0, i16 902, i16 0, i16 928, i16 0, i16 10, i16 12, i16 14, i16 22, i16 30, i16 38, i16 40, i16 42, i16 50, i16 58, i16 681, i16 0, i16 738, i16 0, i16 1928, i16 1880, i16 0, i16 1927, i16 1879, i16 0, i16 749, i16 0, i16 1932, i16 884, i16 0, i16 1931, i16 883, i16 0, i16 901, i16 0, i16 1936, i16 884, i16 0, i16 1935, i16 883, i16 0, i16 927, i16 0, i16 682, i16 0, i16 739, i16 0, i16 1930, i16 1880, i16 0, i16 1929, i16 1879, i16 0, i16 750, i16 0, i16 1934, i16 884, i16 0, i16 1933, i16 883, i16 0, i16 902, i16 0, i16 1938, i16 884, i16 0, i16 1937, i16 883, i16 0, i16 928, i16 0, i16 10, i16 12, i16 20, i16 22, i16 30, i16 32, i16 34, i16 42, i16 44, i16 52, i16 681, i16 0, i16 1940, i16 837, i16 0, i16 1939, i16 836, i16 0, i16 738, i16 0, i16 749, i16 0, i16 1944, i16 902, i16 0, i16 1943, i16 901, i16 0, i16 901, i16 0, i16 927, i16 0, i16 682, i16 0, i16 1942, i16 837, i16 0, i16 1941, i16 836, i16 0, i16 739, i16 0, i16 750, i16 0, i16 1946, i16 902, i16 0, i16 1945, i16 901, i16 0, i16 902, i16 0, i16 928, i16 0, i16 2, i16 10, i16 295, i16 278, i16 0, i16 294, i16 277, i16 0, i16 161, i16 0, i16 296, i16 278, i16 0, i16 162, i16 0, i16 5, i16 139, i16 273, i16 407, i16 541, i16 387, i16 386, i16 0, i16 381, i16 380, i16 0, i16 375, i16 374, i16 0, i16 369, i16 368, i16 0, i16 363, i16 362, i16 0, i16 357, i16 356, i16 0, i16 351, i16 350, i16 0, i16 345, i16 344, i16 0, i16 338, i16 337, i16 0, i16 331, i16 330, i16 0, i16 325, i16 324, i16 0, i16 319, i16 318, i16 0, i16 313, i16 312, i16 0, i16 307, i16 306, i16 0, i16 301, i16 300, i16 0, i16 295, i16 294, i16 0, i16 289, i16 288, i16 0, i16 283, i16 282, i16 0, i16 277, i16 276, i16 0, i16 271, i16 270, i16 0, i16 265, i16 264, i16 0, i16 259, i16 258, i16 0, i16 253, i16 252, i16 0, i16 247, i16 246, i16 0, i16 241, i16 240, i16 0, i16 235, i16 234, i16 0, i16 229, i16 228, i16 0, i16 223, i16 222, i16 0, i16 217, i16 216, i16 0, i16 211, i16 210, i16 0, i16 205, i16 204, i16 0, i16 199, i16 198, i16 0, i16 193, i16 192, i16 0, i16 187, i16 186, i16 0, i16 181, i16 180, i16 0, i16 175, i16 174, i16 0, i16 169, i16 168, i16 0, i16 163, i16 162, i16 0, i16 157, i16 156, i16 0, i16 151, i16 150, i16 0, i16 145, i16 144, i16 0, i16 139, i16 138, i16 0, i16 133, i16 132, i16 0, i16 127, i16 126, i16 0, i16 404, i16 0, i16 388, i16 386, i16 0, i16 382, i16 380, i16 0, i16 376, i16 374, i16 0, i16 370, i16 368, i16 0, i16 364, i16 362, i16 0, i16 358, i16 356, i16 0, i16 352, i16 350, i16 0, i16 346, i16 344, i16 0, i16 339, i16 337, i16 0, i16 332, i16 330, i16 0, i16 326, i16 324, i16 0, i16 320, i16 318, i16 0, i16 314, i16 312, i16 0, i16 308, i16 306, i16 0, i16 302, i16 300, i16 0, i16 296, i16 294, i16 0, i16 290, i16 288, i16 0, i16 284, i16 282, i16 0, i16 278, i16 276, i16 0, i16 272, i16 270, i16 0, i16 266, i16 264, i16 0, i16 260, i16 258, i16 0, i16 254, i16 252, i16 0, i16 248, i16 246, i16 0, i16 242, i16 240, i16 0, i16 236, i16 234, i16 0, i16 230, i16 228, i16 0, i16 224, i16 222, i16 0, i16 218, i16 216, i16 0, i16 212, i16 210, i16 0, i16 206, i16 204, i16 0, i16 200, i16 198, i16 0, i16 194, i16 192, i16 0, i16 188, i16 186, i16 0, i16 182, i16 180, i16 0, i16 176, i16 174, i16 0, i16 170, i16 168, i16 0, i16 164, i16 162, i16 0, i16 158, i16 156, i16 0, i16 152, i16 150, i16 0, i16 146, i16 144, i16 0, i16 140, i16 138, i16 0, i16 134, i16 132, i16 0, i16 128, i16 126, i16 0, i16 405, i16 0, i16 389, i16 386, i16 0, i16 383, i16 380, i16 0, i16 377, i16 374, i16 0, i16 371, i16 368, i16 0, i16 365, i16 362, i16 0, i16 359, i16 356, i16 0, i16 353, i16 350, i16 0, i16 347, i16 344, i16 0, i16 340, i16 337, i16 0, i16 333, i16 330, i16 0, i16 327, i16 324, i16 0, i16 321, i16 318, i16 0, i16 315, i16 312, i16 0, i16 309, i16 306, i16 0, i16 303, i16 300, i16 0, i16 297, i16 294, i16 0, i16 291, i16 288, i16 0, i16 285, i16 282, i16 0, i16 279, i16 276, i16 0, i16 273, i16 270, i16 0, i16 267, i16 264, i16 0, i16 261, i16 258, i16 0, i16 255, i16 252, i16 0, i16 249, i16 246, i16 0, i16 243, i16 240, i16 0, i16 237, i16 234, i16 0, i16 231, i16 228, i16 0, i16 225, i16 222, i16 0, i16 219, i16 216, i16 0, i16 213, i16 210, i16 0, i16 207, i16 204, i16 0, i16 201, i16 198, i16 0, i16 195, i16 192, i16 0, i16 189, i16 186, i16 0, i16 183, i16 180, i16 0, i16 177, i16 174, i16 0, i16 171, i16 168, i16 0, i16 165, i16 162, i16 0, i16 159, i16 156, i16 0, i16 153, i16 150, i16 0, i16 147, i16 144, i16 0, i16 141, i16 138, i16 0, i16 135, i16 132, i16 0, i16 129, i16 126, i16 0, i16 406, i16 0, i16 390, i16 386, i16 0, i16 384, i16 380, i16 0, i16 378, i16 374, i16 0, i16 372, i16 368, i16 0, i16 366, i16 362, i16 0, i16 360, i16 356, i16 0, i16 354, i16 350, i16 0, i16 348, i16 344, i16 0, i16 341, i16 337, i16 0, i16 334, i16 330, i16 0, i16 328, i16 324, i16 0, i16 322, i16 318, i16 0, i16 316, i16 312, i16 0, i16 310, i16 306, i16 0, i16 304, i16 300, i16 0, i16 298, i16 294, i16 0, i16 292, i16 288, i16 0, i16 286, i16 282, i16 0, i16 280, i16 276, i16 0, i16 274, i16 270, i16 0, i16 268, i16 264, i16 0, i16 262, i16 258, i16 0, i16 256, i16 252, i16 0, i16 250, i16 246, i16 0, i16 244, i16 240, i16 0, i16 238, i16 234, i16 0, i16 232, i16 228, i16 0, i16 226, i16 222, i16 0, i16 220, i16 216, i16 0, i16 214, i16 210, i16 0, i16 208, i16 204, i16 0, i16 202, i16 198, i16 0, i16 196, i16 192, i16 0, i16 190, i16 186, i16 0, i16 184, i16 180, i16 0, i16 178, i16 174, i16 0, i16 172, i16 168, i16 0, i16 166, i16 162, i16 0, i16 160, i16 156, i16 0, i16 154, i16 150, i16 0, i16 148, i16 144, i16 0, i16 142, i16 138, i16 0, i16 136, i16 132, i16 0, i16 130, i16 126, i16 0, i16 407, i16 0, i16 391, i16 386, i16 0, i16 385, i16 380, i16 0, i16 379, i16 374, i16 0, i16 373, i16 368, i16 0, i16 367, i16 362, i16 0, i16 361, i16 356, i16 0, i16 355, i16 350, i16 0, i16 349, i16 344, i16 0, i16 342, i16 337, i16 0, i16 335, i16 330, i16 0, i16 329, i16 324, i16 0, i16 323, i16 318, i16 0, i16 317, i16 312, i16 0, i16 311, i16 306, i16 0, i16 305, i16 300, i16 0, i16 299, i16 294, i16 0, i16 293, i16 288, i16 0, i16 287, i16 282, i16 0, i16 281, i16 276, i16 0, i16 275, i16 270, i16 0, i16 269, i16 264, i16 0, i16 263, i16 258, i16 0, i16 257, i16 252, i16 0, i16 251, i16 246, i16 0, i16 245, i16 240, i16 0, i16 239, i16 234, i16 0, i16 233, i16 228, i16 0, i16 227, i16 222, i16 0, i16 221, i16 216, i16 0, i16 215, i16 210, i16 0, i16 209, i16 204, i16 0, i16 203, i16 198, i16 0, i16 197, i16 192, i16 0, i16 191, i16 186, i16 0, i16 185, i16 180, i16 0, i16 179, i16 174, i16 0, i16 173, i16 168, i16 0, i16 167, i16 162, i16 0, i16 161, i16 156, i16 0, i16 155, i16 150, i16 0, i16 149, i16 144, i16 0, i16 143, i16 138, i16 0, i16 137, i16 132, i16 0, i16 131, i16 126, i16 0, i16 408, i16 0, i16 1, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 263, i16 1158, i16 0, i16 1159, i16 0, i16 2, i16 272, i16 1160, i16 0, i16 1161, i16 0, i16 2, i16 1375, i16 1163, i16 748, i16 1164, i16 749, i16 2, i16 1381, i16 1165, i16 750, i16 1166, i16 751, i16 2, i16 1392, i16 1167, i16 752, i16 1168, i16 753, i16 2, i16 1401, i16 1169, i16 754, i16 1170, i16 755, i16 1, i16 1156, i16 244, i16 0, i16 1157, i16 253, i16 0, i16 1162, i16 1370, i16 756, i16 1155, i16 22611, i16 1, i16 0, i16 1, i16 1171, i16 142, i16 0, i16 1172, i16 163, i16 0, i16 1173, i16 699, i16 757, i16 1174, i16 907, i16 758, i16 1175, i16 762, i16 759, i16 1176, i16 968, i16 760, i16 1155, i16 22611, i16 1, i16 0, i16 1, i16 1177, i16 306, i16 0, i16 1178, i16 1512, i16 761, i16 1179, i16 1576, i16 762, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 145, i16 900, i16 0, i16 1183, i16 0, i16 901, i16 0, i16 902, i16 0, i16 903, i16 0, i16 2, i16 636, i16 1196, i16 763, i16 974, i16 764, i16 2, i16 845, i16 1197, i16 765, i16 1014, i16 766, i16 2, i16 712, i16 992, i16 767, i16 990, i16 768, i16 2, i16 920, i16 1030, i16 769, i16 1032, i16 770, i16 2, i16 749, i16 995, i16 771, i16 994, i16 772, i16 2, i16 956, i16 1035, i16 773, i16 1034, i16 774, i16 2, i16 762, i16 1198, i16 775, i16 996, i16 775, i16 2, i16 968, i16 1199, i16 776, i16 1036, i16 776, i16 1, i16 1180, i16 121, i16 0, i16 1181, i16 127, i16 0, i16 1182, i16 142, i16 0, i16 1184, i16 161, i16 0, i16 1185, i16 163, i16 0, i16 1186, i16 173, i16 0, i16 1187, i16 178, i16 0, i16 1188, i16 303, i16 0, i16 1189, i16 309, i16 0, i16 1190, i16 322, i16 0, i16 1191, i16 327, i16 0, i16 1192, i16 330, i16 0, i16 1193, i16 340, i16 0, i16 1194, i16 343, i16 0, i16 1195, i16 346, i16 0, i16 978, i16 656, i16 777, i16 1018, i16 864, i16 778, i16 985, i16 699, i16 779, i16 1025, i16 907, i16 780, i16 1001, i16 787, i16 781, i16 1041, i16 992, i16 782, i16 1004, i16 809, i16 783, i16 1043, i16 1013, i16 784, i16 1200, i16 1506, i16 785, i16 1201, i16 1570, i16 786, i16 1202, i16 1514, i16 787, i16 1203, i16 1579, i16 788, i16 1204, i16 1532, i16 789, i16 1205, i16 1597, i16 790, i16 1206, i16 1538, i16 791, i16 1207, i16 1603, i16 792, i16 1208, i16 1541, i16 793, i16 1209, i16 1606, i16 794, i16 1210, i16 1549, i16 795, i16 1211, i16 1614, i16 796, i16 1212, i16 1553, i16 797, i16 1213, i16 1618, i16 798, i16 1214, i16 1556, i16 799, i16 1215, i16 1621, i16 800, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 749, i16 1219, i16 801, i16 1220, i16 802, i16 2, i16 956, i16 1221, i16 803, i16 1222, i16 804, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1218, i16 161, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 12, i16 22611, i16 1223, i16 805, i16 1224, i16 805, i16 1225, i16 805, i16 1226, i16 805, i16 1227, i16 805, i16 1228, i16 805, i16 1229, i16 805, i16 1230, i16 805, i16 1231, i16 805, i16 1232, i16 805, i16 1233, i16 805, i16 1234, i16 805, i16 1, i16 1155, i16 22623, i16 1, i16 0, i16 1, i16 1188, i16 303, i16 0, i16 1235, i16 316, i16 0, i16 1236, i16 322, i16 0, i16 1237, i16 338, i16 0, i16 1238, i16 343, i16 0, i16 1239, i16 346, i16 0, i16 1200, i16 1506, i16 785, i16 1201, i16 1570, i16 786, i16 1240, i16 1524, i16 806, i16 1241, i16 1588, i16 807, i16 1242, i16 1532, i16 808, i16 1243, i16 1597, i16 809, i16 1244, i16 1549, i16 810, i16 1245, i16 1614, i16 811, i16 1246, i16 1553, i16 812, i16 1247, i16 1618, i16 813, i16 1248, i16 1556, i16 814, i16 1249, i16 1621, i16 815, i16 1155, i16 22611, i16 1, i16 0, i16 4, i16 189, i16 1250, i16 0, i16 1251, i16 0, i16 1252, i16 0, i16 1253, i16 0, i16 3, i16 645, i16 974, i16 816, i16 975, i16 817, i16 977, i16 818, i16 2, i16 769, i16 996, i16 819, i16 997, i16 820, i16 3, i16 853, i16 1014, i16 821, i16 1015, i16 822, i16 1017, i16 823, i16 2, i16 974, i16 1036, i16 824, i16 1037, i16 825, i16 1, i16 895, i16 53, i16 0, i16 1046, i16 1026, i16 826, i16 1007, i16 822, i16 827, i16 1004, i16 813, i16 828, i16 1043, i16 1017, i16 829, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 127, i16 1254, i16 0, i16 1255, i16 0, i16 898, i16 0, i16 1256, i16 0, i16 1257, i16 0, i16 2, i16 656, i16 979, i16 830, i16 981, i16 831, i16 2, i16 864, i16 1019, i16 832, i16 1021, i16 833, i16 3, i16 670, i16 1262, i16 834, i16 1263, i16 835, i16 984, i16 836, i16 3, i16 878, i16 1264, i16 837, i16 1265, i16 838, i16 1024, i16 839, i16 2, i16 736, i16 1266, i16 840, i16 1267, i16 841, i16 2, i16 943, i16 1268, i16 842, i16 1269, i16 843, i16 2, i16 749, i16 1270, i16 844, i16 1271, i16 845, i16 2, i16 956, i16 1272, i16 846, i16 1273, i16 847, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1258, i16 158, i16 0, i16 1259, i16 161, i16 0, i16 1260, i16 173, i16 0, i16 1261, i16 189, i16 0, i16 1000, i16 787, i16 848, i16 1040, i16 992, i16 849, i16 1008, i16 834, i16 850, i16 1047, i16 1038, i16 851, i16 1155, i16 22611, i16 1, i16 0, i16 4, i16 121, i16 1274, i16 0, i16 1275, i16 0, i16 1276, i16 0, i16 1277, i16 0, i16 4, i16 127, i16 1255, i16 0, i16 1278, i16 0, i16 1279, i16 0, i16 1280, i16 0, i16 2, i16 133, i16 1281, i16 0, i16 1282, i16 0, i16 2, i16 142, i16 1284, i16 0, i16 1285, i16 0, i16 2, i16 173, i16 1287, i16 0, i16 1260, i16 0, i16 5, i16 194, i16 1288, i16 0, i16 1253, i16 0, i16 1250, i16 0, i16 1289, i16 0, i16 1252, i16 0, i16 4, i16 636, i16 971, i16 852, i16 970, i16 853, i16 972, i16 854, i16 973, i16 855, i16 4, i16 845, i16 1011, i16 856, i16 1010, i16 857, i16 1012, i16 858, i16 1013, i16 859, i16 2, i16 656, i16 978, i16 860, i16 981, i16 861, i16 2, i16 864, i16 1018, i16 862, i16 1021, i16 863, i16 2, i16 667, i16 1290, i16 864, i16 1291, i16 865, i16 2, i16 875, i16 1292, i16 864, i16 1293, i16 866, i16 2, i16 670, i16 983, i16 867, i16 984, i16 868, i16 2, i16 878, i16 1023, i16 869, i16 1024, i16 870, i16 2, i16 709, i16 1295, i16 871, i16 1296, i16 872, i16 2, i16 917, i16 1297, i16 871, i16 1298, i16 872, i16 3, i16 992, i16 1002, i16 873, i16 1000, i16 874, i16 1040, i16 875, i16 3, i16 645, i16 974, i16 876, i16 975, i16 817, i16 977, i16 877, i16 2, i16 769, i16 996, i16 819, i16 997, i16 820, i16 3, i16 853, i16 1014, i16 878, i16 1015, i16 822, i16 1017, i16 879, i16 2, i16 974, i16 1036, i16 824, i16 1037, i16 825, i16 1, i16 889, i16 16, i16 0, i16 1283, i16 138, i16 0, i16 1286, i16 156, i16 0, i16 1294, i16 696, i16 880, i16 1299, i16 734, i16 881, i16 1300, i16 941, i16 882, i16 1004, i16 813, i16 828, i16 1043, i16 1017, i16 829, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 46, i16 897, i16 0, i16 896, i16 0, i16 2, i16 121, i16 1301, i16 0, i16 1302, i16 0, i16 2, i16 636, i16 972, i16 883, i16 976, i16 884, i16 2, i16 845, i16 1012, i16 885, i16 1016, i16 886, i16 2, i16 787, i16 1305, i16 781, i16 1001, i16 781, i16 2, i16 992, i16 1306, i16 781, i16 1041, i16 782, i16 2, i16 799, i16 1307, i16 887, i16 1003, i16 887, i16 2, i16 1003, i16 1308, i16 887, i16 1042, i16 888, i16 1, i16 1303, i16 152, i16 0, i16 1186, i16 173, i16 0, i16 1304, i16 176, i16 0, i16 991, i16 717, i16 889, i16 1031, i16 925, i16 890, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 699, i16 1315, i16 891, i16 1316, i16 892, i16 2, i16 907, i16 1317, i16 893, i16 1318, i16 894, i16 2, i16 717, i16 1319, i16 895, i16 1320, i16 896, i16 2, i16 925, i16 1321, i16 897, i16 1322, i16 898, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1309, i16 127, i16 0, i16 1310, i16 138, i16 0, i16 1311, i16 142, i16 0, i16 1312, i16 145, i16 0, i16 1313, i16 152, i16 0, i16 1314, i16 187, i16 0, i16 982, i16 656, i16 899, i16 1022, i16 864, i16 900, i16 987, i16 696, i16 901, i16 1027, i16 904, i16 902, i16 989, i16 712, i16 903, i16 1029, i16 920, i16 904, i16 1009, i16 829, i16 905, i16 1048, i16 1033, i16 906, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 749, i16 1219, i16 907, i16 1220, i16 908, i16 2, i16 956, i16 1221, i16 909, i16 1222, i16 910, i16 2, i16 824, i16 1325, i16 911, i16 1326, i16 912, i16 2, i16 1028, i16 1327, i16 913, i16 1328, i16 914, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1323, i16 161, i16 0, i16 1324, i16 184, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 76, i16 1632, i16 1329, i16 915, i16 1330, i16 915, i16 1331, i16 915, i16 1332, i16 915, i16 1333, i16 915, i16 1334, i16 915, i16 1335, i16 915, i16 1336, i16 915, i16 1337, i16 915, i16 1338, i16 915, i16 1339, i16 915, i16 1340, i16 915, i16 1341, i16 915, i16 1342, i16 915, i16 1343, i16 915, i16 1344, i16 915, i16 1345, i16 915, i16 1346, i16 915, i16 1347, i16 915, i16 1348, i16 915, i16 1349, i16 915, i16 1350, i16 915, i16 1351, i16 915, i16 1352, i16 915, i16 1353, i16 915, i16 1354, i16 915, i16 1355, i16 915, i16 1356, i16 915, i16 1357, i16 915, i16 1358, i16 915, i16 1359, i16 915, i16 1360, i16 915, i16 1361, i16 915, i16 1362, i16 915, i16 1363, i16 915, i16 1364, i16 915, i16 1365, i16 915, i16 1366, i16 915, i16 1367, i16 916, i16 1368, i16 916, i16 1369, i16 916, i16 1370, i16 916, i16 1371, i16 916, i16 1372, i16 916, i16 1373, i16 916, i16 1374, i16 916, i16 1375, i16 916, i16 1376, i16 916, i16 1377, i16 916, i16 1378, i16 916, i16 1379, i16 916, i16 1380, i16 916, i16 1381, i16 916, i16 1382, i16 916, i16 1383, i16 916, i16 1384, i16 916, i16 1385, i16 916, i16 1386, i16 916, i16 1387, i16 916, i16 1388, i16 916, i16 1389, i16 916, i16 1390, i16 916, i16 1391, i16 916, i16 1392, i16 916, i16 1393, i16 916, i16 1394, i16 916, i16 1395, i16 916, i16 1396, i16 916, i16 1397, i16 916, i16 1398, i16 916, i16 1399, i16 916, i16 1400, i16 916, i16 1401, i16 916, i16 1402, i16 916, i16 1403, i16 916, i16 1404, i16 916, i16 1, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 3, i16 1216, i16 0, i16 1405, i16 0, i16 1406, i16 0, i16 1407, i16 0, i16 1408, i16 0, i16 5, i16 16, i16 1217, i16 0, i16 1409, i16 0, i16 1410, i16 0, i16 1411, i16 0, i16 1412, i16 0, i16 2, i16 133, i16 1414, i16 0, i16 1415, i16 0, i16 4, i16 163, i16 996, i16 917, i16 998, i16 918, i16 1036, i16 919, i16 1038, i16 920, i16 4, i16 178, i16 1004, i16 921, i16 1006, i16 922, i16 1043, i16 923, i16 1045, i16 924, i16 6, i16 864, i16 1424, i16 925, i16 1425, i16 926, i16 1426, i16 927, i16 1427, i16 928, i16 1428, i16 929, i16 1429, i16 930, i16 6, i16 656, i16 1430, i16 931, i16 1431, i16 932, i16 1432, i16 933, i16 1433, i16 934, i16 1434, i16 935, i16 1435, i16 936, i16 6, i16 878, i16 1436, i16 937, i16 1437, i16 938, i16 1438, i16 939, i16 1439, i16 940, i16 1440, i16 941, i16 1441, i16 942, i16 6, i16 670, i16 1442, i16 943, i16 1443, i16 944, i16 1444, i16 945, i16 1445, i16 946, i16 1446, i16 947, i16 1447, i16 948, i16 12, i16 878, i16 1448, i16 949, i16 1449, i16 950, i16 1450, i16 951, i16 1451, i16 952, i16 1452, i16 953, i16 1453, i16 954, i16 1454, i16 955, i16 1455, i16 956, i16 1456, i16 953, i16 1457, i16 954, i16 1458, i16 955, i16 1459, i16 956, i16 12, i16 670, i16 1460, i16 957, i16 1461, i16 958, i16 1462, i16 959, i16 1463, i16 960, i16 1464, i16 961, i16 1465, i16 962, i16 1466, i16 963, i16 1467, i16 964, i16 1468, i16 961, i16 1469, i16 962, i16 1470, i16 963, i16 1471, i16 964, i16 6, i16 907, i16 1472, i16 965, i16 1473, i16 966, i16 1474, i16 967, i16 1475, i16 968, i16 1476, i16 969, i16 1477, i16 970, i16 6, i16 699, i16 1478, i16 971, i16 1479, i16 972, i16 1480, i16 973, i16 1481, i16 974, i16 1482, i16 975, i16 1483, i16 976, i16 6, i16 943, i16 1484, i16 977, i16 1485, i16 978, i16 1486, i16 979, i16 1487, i16 980, i16 1488, i16 981, i16 1489, i16 982, i16 6, i16 736, i16 1490, i16 983, i16 1491, i16 984, i16 1492, i16 985, i16 1493, i16 986, i16 1494, i16 987, i16 1495, i16 988, i16 6, i16 956, i16 1496, i16 989, i16 1497, i16 990, i16 1498, i16 991, i16 1499, i16 992, i16 1500, i16 993, i16 1501, i16 994, i16 6, i16 749, i16 1502, i16 995, i16 1503, i16 996, i16 1504, i16 997, i16 1505, i16 998, i16 1506, i16 999, i16 1507, i16 1000, i16 6, i16 992, i16 1508, i16 1001, i16 1509, i16 1002, i16 1510, i16 1003, i16 1511, i16 1004, i16 1512, i16 1005, i16 1513, i16 1006, i16 6, i16 787, i16 1514, i16 1007, i16 1515, i16 1008, i16 1516, i16 1009, i16 1517, i16 1010, i16 1518, i16 1011, i16 1519, i16 1012, i16 6, i16 1003, i16 1520, i16 1013, i16 1521, i16 1014, i16 1522, i16 1015, i16 1523, i16 1016, i16 1524, i16 1017, i16 1525, i16 1018, i16 6, i16 799, i16 1526, i16 1019, i16 1527, i16 1020, i16 1528, i16 1021, i16 1529, i16 1022, i16 1530, i16 1023, i16 1531, i16 1024, i16 6, i16 1038, i16 1532, i16 1025, i16 1533, i16 1026, i16 1534, i16 1027, i16 1535, i16 1028, i16 1536, i16 1029, i16 1537, i16 1030, i16 6, i16 834, i16 1538, i16 1031, i16 1539, i16 1032, i16 1540, i16 1033, i16 1541, i16 1034, i16 1542, i16 1035, i16 1543, i16 1036, i16 1, i16 1413, i16 127, i16 0, i16 1416, i16 142, i16 0, i16 1417, i16 158, i16 0, i16 1418, i16 161, i16 0, i16 1419, i16 163, i16 0, i16 1420, i16 173, i16 0, i16 1421, i16 176, i16 0, i16 1422, i16 178, i16 0, i16 1423, i16 189, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 9, i16 31, i16 890, i16 0, i16 892, i16 0, i16 1544, i16 0, i16 891, i16 0, i16 1545, i16 0, i16 1546, i16 0, i16 1547, i16 0, i16 893, i16 0, i16 894, i16 0, i16 2, i16 42, i16 1548, i16 0, i16 1549, i16 0, i16 3, i16 194, i16 1550, i16 0, i16 906, i16 0, i16 905, i16 0, i16 2, i16 238, i16 907, i16 0, i16 1551, i16 0, i16 16, i16 482, i16 961, i16 1037, i16 962, i16 1037, i16 963, i16 1037, i16 967, i16 1037, i16 968, i16 1037, i16 969, i16 1037, i16 964, i16 1037, i16 965, i16 1037, i16 966, i16 1037, i16 954, i16 1037, i16 955, i16 1037, i16 956, i16 1037, i16 959, i16 1037, i16 960, i16 1037, i16 957, i16 1037, i16 958, i16 1037, i16 4, i16 520, i16 1552, i16 1037, i16 1553, i16 1037, i16 1554, i16 1037, i16 1555, i16 1037, i16 35, i16 1049, i16 1050, i16 641, i16 1049, i16 642, i16 1052, i16 643, i16 1051, i16 644, i16 1054, i16 645, i16 1053, i16 646, i16 1056, i16 647, i16 1055, i16 648, i16 1058, i16 649, i16 1057, i16 650, i16 1060, i16 651, i16 1059, i16 652, i16 1062, i16 653, i16 1061, i16 654, i16 1064, i16 655, i16 1063, i16 656, i16 1066, i16 657, i16 1065, i16 658, i16 1068, i16 659, i16 1067, i16 660, i16 1070, i16 1038, i16 1556, i16 1038, i16 1073, i16 665, i16 1557, i16 1039, i16 1069, i16 661, i16 1071, i16 1040, i16 1558, i16 1040, i16 1072, i16 1041, i16 1559, i16 1041, i16 1079, i16 1042, i16 1560, i16 1042, i16 1081, i16 1043, i16 1561, i16 1044, i16 1562, i16 1045, i16 1563, i16 1043, i16 2, i16 1135, i16 1076, i16 667, i16 1075, i16 1046, i16 6, i16 1148, i16 1077, i16 669, i16 1074, i16 1047, i16 1078, i16 1048, i16 1564, i16 1049, i16 1080, i16 1050, i16 1082, i16 1051, i16 15, i16 1160, i16 1084, i16 1052, i16 1085, i16 1053, i16 1090, i16 1054, i16 1091, i16 1055, i16 1565, i16 1056, i16 1566, i16 1057, i16 1083, i16 1058, i16 1086, i16 1059, i16 1087, i16 1060, i16 1088, i16 1061, i16 1089, i16 1062, i16 1108, i16 1063, i16 1109, i16 1064, i16 1567, i16 1065, i16 1568, i16 1066, i16 8, i16 1276, i16 1098, i16 1067, i16 1099, i16 1068, i16 1100, i16 1069, i16 1101, i16 1070, i16 1094, i16 1071, i16 1095, i16 1072, i16 1096, i16 1073, i16 1097, i16 1074, i16 26, i16 1320, i16 1102, i16 1075, i16 1103, i16 1076, i16 1104, i16 1077, i16 1105, i16 1078, i16 1092, i16 1079, i16 1093, i16 1080, i16 1106, i16 1081, i16 1107, i16 1082, i16 1570, i16 1083, i16 1571, i16 1084, i16 1572, i16 1085, i16 1573, i16 1086, i16 1110, i16 1087, i16 1111, i16 1088, i16 1112, i16 1089, i16 1113, i16 1090, i16 1114, i16 1091, i16 1115, i16 1092, i16 1116, i16 1093, i16 1117, i16 1094, i16 1118, i16 1095, i16 1119, i16 1096, i16 1120, i16 1097, i16 1121, i16 1098, i16 1122, i16 1099, i16 1123, i16 1100, i16 1, i16 1569, i16 1229, i16 1101, i16 1155, i16 22611, i16 1, i16 0, i16 1, i16 1574, i16 127, i16 0, i16 1575, i16 142, i16 0, i16 1576, i16 145, i16 0, i16 1577, i16 154, i16 0, i16 1578, i16 173, i16 0, i16 1579, i16 178, i16 0, i16 1020, i16 864, i16 1102, i16 980, i16 656, i16 1103, i16 1026, i16 907, i16 1104, i16 986, i16 699, i16 1105, i16 1028, i16 920, i16 1106, i16 988, i16 712, i16 1107, i16 1033, i16 937, i16 1108, i16 993, i16 729, i16 1109, i16 1039, i16 992, i16 1110, i16 999, i16 787, i16 1111, i16 1044, i16 1013, i16 1112, i16 1005, i16 809, i16 1113, i16 1155, i16 22611, i16 1, i16 0, i16 3, i16 127, i16 1580, i16 0, i16 898, i16 0, i16 1581, i16 0, i16 3, i16 138, i16 1582, i16 0, i16 899, i16 0, i16 1583, i16 0, i16 2, i16 656, i16 1588, i16 1114, i16 1589, i16 1115, i16 2, i16 864, i16 1590, i16 1116, i16 1591, i16 1117, i16 2, i16 670, i16 1592, i16 1118, i16 1593, i16 1119, i16 2, i16 878, i16 1594, i16 1120, i16 1595, i16 1121, i16 2, i16 696, i16 1596, i16 1122, i16 1597, i16 1123, i16 2, i16 904, i16 1598, i16 1124, i16 1599, i16 1125, i16 2, i16 699, i16 1219, i16 1126, i16 1220, i16 1127, i16 2, i16 907, i16 1221, i16 1128, i16 1222, i16 1129, i16 2, i16 736, i16 1600, i16 1130, i16 1601, i16 1131, i16 2, i16 943, i16 1602, i16 1132, i16 1603, i16 1133, i16 2, i16 777, i16 1604, i16 1134, i16 1605, i16 1135, i16 2, i16 982, i16 1606, i16 1136, i16 1607, i16 1137, i16 2, i16 781, i16 1608, i16 1138, i16 1609, i16 1139, i16 2, i16 986, i16 1610, i16 1140, i16 1611, i16 1141, i16 2, i16 799, i16 1612, i16 1142, i16 1613, i16 1143, i16 2, i16 1003, i16 1614, i16 1144, i16 1615, i16 1145, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1584, i16 158, i16 0, i16 1585, i16 168, i16 0, i16 1586, i16 171, i16 0, i16 1587, i16 176, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 127, i16 1254, i16 0, i16 1255, i16 0, i16 898, i16 0, i16 1256, i16 0, i16 1257, i16 0, i16 2, i16 656, i16 979, i16 830, i16 981, i16 831, i16 2, i16 864, i16 1019, i16 832, i16 1021, i16 833, i16 3, i16 670, i16 1262, i16 834, i16 1263, i16 835, i16 984, i16 836, i16 5, i16 878, i16 1264, i16 837, i16 1265, i16 838, i16 1024, i16 839, i16 1266, i16 840, i16 1267, i16 841, i16 2, i16 943, i16 1268, i16 842, i16 1269, i16 843, i16 2, i16 749, i16 1270, i16 844, i16 1271, i16 845, i16 2, i16 956, i16 1272, i16 846, i16 1273, i16 847, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1258, i16 158, i16 0, i16 1259, i16 161, i16 0, i16 1260, i16 173, i16 0, i16 1261, i16 189, i16 0, i16 1000, i16 787, i16 848, i16 1040, i16 992, i16 849, i16 1008, i16 834, i16 850, i16 1047, i16 1038, i16 851, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 127, i16 1616, i16 0, i16 1617, i16 0, i16 4, i16 656, i16 1588, i16 1146, i16 1589, i16 1147, i16 1618, i16 1148, i16 1619, i16 1149, i16 4, i16 864, i16 1590, i16 1150, i16 1591, i16 1151, i16 1620, i16 1152, i16 1621, i16 1153, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 46, i16 74, i16 908, i16 0, i16 909, i16 0, i16 910, i16 0, i16 911, i16 0, i16 912, i16 0, i16 913, i16 0, i16 914, i16 0, i16 915, i16 0, i16 916, i16 0, i16 917, i16 0, i16 918, i16 0, i16 919, i16 0, i16 920, i16 0, i16 921, i16 0, i16 922, i16 0, i16 923, i16 0, i16 924, i16 0, i16 925, i16 0, i16 926, i16 0, i16 927, i16 0, i16 928, i16 0, i16 929, i16 0, i16 930, i16 0, i16 931, i16 0, i16 932, i16 0, i16 933, i16 0, i16 934, i16 0, i16 935, i16 0, i16 936, i16 0, i16 937, i16 0, i16 938, i16 0, i16 939, i16 0, i16 940, i16 0, i16 941, i16 0, i16 942, i16 0, i16 943, i16 0, i16 944, i16 0, i16 945, i16 0, i16 946, i16 0, i16 947, i16 0, i16 948, i16 0, i16 949, i16 0, i16 950, i16 0, i16 951, i16 0, i16 952, i16 0, i16 953, i16 0, i16 3, i16 1508, i16 1125, i16 1154, i16 1136, i16 1155, i16 1128, i16 1156, i16 3, i16 1514, i16 1126, i16 1157, i16 1127, i16 1158, i16 1138, i16 1159, i16 3, i16 1524, i16 1144, i16 1160, i16 1130, i16 1161, i16 1137, i16 1162, i16 3, i16 1572, i16 1140, i16 1163, i16 1152, i16 1164, i16 1143, i16 1165, i16 3, i16 1579, i16 1141, i16 1166, i16 1142, i16 1167, i16 1154, i16 1168, i16 3, i16 1588, i16 1129, i16 1169, i16 1145, i16 1170, i16 1153, i16 1171, i16 1, i16 1124, i16 1506, i16 1172, i16 1133, i16 1532, i16 1173, i16 1131, i16 1534, i16 1174, i16 1132, i16 1538, i16 1175, i16 1135, i16 1549, i16 1176, i16 1134, i16 1556, i16 1177, i16 1139, i16 1570, i16 1178, i16 1146, i16 1594, i16 1179, i16 1149, i16 1597, i16 1180, i16 1147, i16 1599, i16 1181, i16 1148, i16 1603, i16 1182, i16 1151, i16 1614, i16 1183, i16 1150, i16 1621, i16 1184, i16 1155, i16 22611, i16 1, i16 0, i16 6, i16 145, i16 904, i16 0, i16 900, i16 0, i16 1183, i16 0, i16 901, i16 0, i16 902, i16 0, i16 903, i16 0, i16 2, i16 712, i16 992, i16 767, i16 990, i16 768, i16 2, i16 920, i16 1030, i16 769, i16 1032, i16 770, i16 1, i16 1181, i16 127, i16 0, i16 1180, i16 136, i16 0, i16 1182, i16 142, i16 0, i16 1622, i16 163, i16 0, i16 1186, i16 173, i16 0, i16 1187, i16 178, i16 0, i16 1188, i16 303, i16 0, i16 1189, i16 309, i16 0, i16 1190, i16 322, i16 0, i16 1192, i16 330, i16 0, i16 1193, i16 340, i16 0, i16 1194, i16 343, i16 0, i16 1195, i16 346, i16 0, i16 978, i16 656, i16 777, i16 1018, i16 864, i16 778, i16 1196, i16 686, i16 763, i16 1197, i16 894, i16 765, i16 985, i16 699, i16 779, i16 1025, i16 907, i16 780, i16 996, i16 762, i16 1185, i16 1036, i16 968, i16 1186, i16 1001, i16 787, i16 781, i16 1041, i16 992, i16 782, i16 1004, i16 809, i16 783, i16 1043, i16 1013, i16 784, i16 1200, i16 1506, i16 785, i16 1201, i16 1570, i16 786, i16 1202, i16 1514, i16 787, i16 1203, i16 1579, i16 788, i16 1204, i16 1532, i16 789, i16 1205, i16 1597, i16 790, i16 1208, i16 1541, i16 793, i16 1209, i16 1606, i16 794, i16 1210, i16 1549, i16 795, i16 1211, i16 1614, i16 796, i16 1212, i16 1553, i16 797, i16 1213, i16 1618, i16 798, i16 1214, i16 1556, i16 799, i16 1215, i16 1621, i16 800, i16 1155, i16 22611, i16 1, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 877, i16 1780, i16 1190, i16 1781, i16 1833, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 990, i16 1792, i16 1190, i16 1793, i16 1844, i16 3, i16 1009, i16 1794, i16 1845, i16 1795, i16 1846, i16 1796, i16 1847, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 4, i16 1206, i16 1828, i16 1190, i16 1829, i16 1878, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1266, i16 1838, i16 1190, i16 1839, i16 1887, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 8, i16 1361, i16 1848, i16 1190, i16 1849, i16 1896, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1803, i16 1075, i16 1925, i16 0, i16 2, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 20, i16 1370, i16 1850, i16 1934, i16 1851, i16 1935, i16 1852, i16 1936, i16 1853, i16 1937, i16 1854, i16 1938, i16 1855, i16 1939, i16 1856, i16 1934, i16 1857, i16 1940, i16 1858, i16 1941, i16 1859, i16 1942, i16 1860, i16 1943, i16 1861, i16 1944, i16 1862, i16 1945, i16 1863, i16 1946, i16 1864, i16 1947, i16 1865, i16 1948, i16 1866, i16 1949, i16 1867, i16 1950, i16 1868, i16 1951, i16 1869, i16 1952, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 7, i16 1418, i16 1874, i16 1187, i16 1848, i16 1953, i16 1849, i16 1954, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 20, i16 1440, i16 1760, i16 1190, i16 1761, i16 1955, i16 1762, i16 1956, i16 1763, i16 1957, i16 1764, i16 1190, i16 1765, i16 1958, i16 1770, i16 1959, i16 1771, i16 1960, i16 1772, i16 1959, i16 1773, i16 1961, i16 1774, i16 1959, i16 1775, i16 1962, i16 1828, i16 1190, i16 1829, i16 1878, i16 1822, i16 1963, i16 1823, i16 1964, i16 1824, i16 1963, i16 1825, i16 1965, i16 1820, i16 1966, i16 1821, i16 1967, i16 27, i16 2011, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 1, i16 1696, i16 1, i16 1187, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 877, i16 1778, i16 1968, i16 1779, i16 1846, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1836, i16 1971, i16 1837, i16 1846, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 2, i16 1429, i16 1881, i16 1923, i16 1882, i16 1924, i16 2, i16 1440, i16 1879, i16 1974, i16 1880, i16 1846, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 2, i16 836, i16 1768, i16 1821, i16 1769, i16 1822, i16 8, i16 843, i16 1766, i16 1190, i16 1767, i16 1975, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 877, i16 1776, i16 1190, i16 1777, i16 1976, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 2, i16 944, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 955, i16 1786, i16 1190, i16 1787, i16 1977, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 2, i16 1088, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1099, i16 1804, i16 1190, i16 1805, i16 1978, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 4, i16 1132, i16 1808, i16 1190, i16 1809, i16 1979, i16 1814, i16 1864, i16 1815, i16 1865, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 4, i16 1206, i16 1816, i16 1190, i16 1817, i16 1980, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1834, i16 1190, i16 1835, i16 1981, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 3, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 2, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 4, i16 1440, i16 1877, i16 1190, i16 1878, i16 1982, i16 1881, i16 1190, i16 1882, i16 1983, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 9, i16 1418, i16 1874, i16 1187, i16 1848, i16 1984, i16 1849, i16 1985, i16 1844, i16 1984, i16 1845, i16 1986, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 24, i16 1440, i16 1770, i16 1190, i16 1771, i16 1987, i16 1772, i16 1988, i16 1773, i16 1989, i16 1774, i16 1990, i16 1775, i16 1991, i16 1764, i16 1992, i16 1765, i16 1993, i16 1822, i16 1190, i16 1823, i16 1994, i16 1824, i16 1995, i16 1825, i16 1996, i16 1828, i16 1997, i16 1829, i16 1998, i16 1818, i16 1999, i16 1819, i16 2000, i16 1760, i16 1190, i16 1761, i16 1955, i16 1883, i16 2001, i16 1884, i16 2002, i16 1885, i16 2003, i16 1886, i16 2004, i16 1762, i16 2001, i16 1763, i16 2005, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 2, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 8, i16 843, i16 1768, i16 1190, i16 1769, i16 2006, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 877, i16 1778, i16 1190, i16 1779, i16 2007, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 2, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 2, i16 955, i16 1788, i16 1190, i16 1789, i16 2008, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 990, i16 1790, i16 1190, i16 1791, i16 2009, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 7, i16 1046, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 1874, i16 1187, i16 1799, i16 1190, i16 1800, i16 2010, i16 3, i16 1075, i16 1801, i16 1190, i16 1802, i16 2011, i16 1803, i16 1925, i16 2, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 2, i16 1099, i16 1806, i16 1190, i16 1807, i16 2012, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 4, i16 1132, i16 1812, i16 1190, i16 1813, i16 2013, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 4, i16 1206, i16 1826, i16 1190, i16 1827, i16 2014, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1242, i16 1832, i16 1190, i16 1833, i16 2015, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1836, i16 1190, i16 1837, i16 2016, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 8, i16 1361, i16 1846, i16 1190, i16 1847, i16 2017, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1418, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 2, i16 1429, i16 1881, i16 1923, i16 1882, i16 1924, i16 2, i16 1440, i16 1879, i16 1190, i16 1880, i16 2018, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1046, i16 1870, i16 1190, i16 1871, i16 1915, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 2, i16 1400, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 81, i16 1697, i16 1712, i16 1698, i16 2019, i16 1699, i16 2019, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 898, i16 1887, i16 2020, i16 1888, i16 2021, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 9, i16 1418, i16 1874, i16 1187, i16 1848, i16 1984, i16 1849, i16 1985, i16 1844, i16 1984, i16 1845, i16 1986, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 24, i16 1440, i16 1770, i16 1190, i16 1771, i16 1987, i16 1772, i16 1988, i16 1773, i16 1989, i16 1774, i16 1990, i16 1775, i16 1991, i16 1764, i16 1992, i16 1765, i16 1993, i16 1822, i16 1190, i16 1823, i16 1994, i16 1824, i16 1995, i16 1825, i16 1996, i16 1828, i16 1997, i16 1829, i16 1998, i16 1818, i16 1999, i16 1819, i16 2000, i16 1760, i16 1190, i16 1761, i16 1955, i16 1883, i16 2001, i16 1884, i16 2002, i16 1885, i16 2003, i16 1886, i16 2004, i16 1762, i16 2001, i16 1763, i16 2005, i16 1, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1220, i16 2022, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1892, i16 1189, i16 1893, i16 1189, i16 1894, i16 1189, i16 3, i16 461, i16 1895, i16 1189, i16 1896, i16 1189, i16 1897, i16 1189, i16 3, i16 465, i16 1898, i16 1189, i16 1899, i16 1189, i16 1900, i16 1189, i16 3, i16 469, i16 1901, i16 1189, i16 1902, i16 1189, i16 1903, i16 1189, i16 2, i16 491, i16 1910, i16 1189, i16 1911, i16 1189, i16 2, i16 499, i16 1913, i16 1189, i16 1914, i16 1189, i16 29, i16 519, i16 1918, i16 1189, i16 1703, i16 1189, i16 1704, i16 1189, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 1717, i16 1189, i16 1718, i16 1189, i16 1719, i16 1189, i16 1720, i16 1189, i16 1721, i16 1189, i16 1722, i16 1189, i16 1723, i16 1189, i16 1724, i16 1189, i16 1725, i16 1189, i16 1726, i16 1189, i16 1727, i16 1189, i16 1728, i16 1189, i16 1729, i16 1189, i16 1730, i16 1189, i16 2, i16 753, i16 1919, i16 1189, i16 1920, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1759, i16 1846, i16 1758, i16 2023, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 898, i16 1888, i16 1846, i16 1887, i16 2024, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 955, i16 1785, i16 1846, i16 1784, i16 2025, i16 4, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 1921, i16 2026, i16 1922, i16 2027, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1046, i16 1798, i16 1846, i16 1797, i16 2028, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 2029, i16 1815, i16 2030, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 2, i16 1179, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1817, i16 1846, i16 1816, i16 2031, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 8, i16 1361, i16 1843, i16 1846, i16 1842, i16 2032, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 2, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 7, i16 1418, i16 1874, i16 1187, i16 1873, i16 1846, i16 1872, i16 2033, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 10, i16 1440, i16 1841, i16 1846, i16 1840, i16 2034, i16 1771, i16 1846, i16 1770, i16 2035, i16 1831, i16 2036, i16 1830, i16 2037, i16 1829, i16 1846, i16 1828, i16 2038, i16 1823, i16 2039, i16 1822, i16 2040, i16 4, i16 2011, i16 1923, i16 1744, i16 1924, i16 2041, i16 1925, i16 2042, i16 1926, i16 2043, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1702, i16 205, i16 1189, i16 1701, i16 221, i16 1189, i16 1700, i16 324, i16 1189, i16 1889, i16 371, i16 1189, i16 1890, i16 445, i16 1189, i16 1891, i16 447, i16 1189, i16 1904, i16 473, i16 1189, i16 1905, i16 476, i16 1189, i16 1906, i16 479, i16 1189, i16 1907, i16 481, i16 1189, i16 1908, i16 484, i16 1189, i16 1909, i16 487, i16 1189, i16 1912, i16 495, i16 1189, i16 1915, i16 503, i16 1189, i16 1916, i16 507, i16 1189, i16 1917, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 4, i16 877, i16 1778, i16 1190, i16 1779, i16 2007, i16 1776, i16 1190, i16 1777, i16 1976, i16 6, i16 898, i16 1927, i16 1190, i16 1928, i16 2044, i16 1929, i16 2045, i16 1930, i16 2046, i16 1782, i16 1190, i16 1783, i16 2047, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 4, i16 1099, i16 1931, i16 1190, i16 1932, i16 2048, i16 1933, i16 2049, i16 1934, i16 2050, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 6, i16 1132, i16 1935, i16 1190, i16 1936, i16 2051, i16 1937, i16 2052, i16 1938, i16 2053, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1836, i16 1190, i16 1837, i16 2016, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 2, i16 1429, i16 1881, i16 1923, i16 1882, i16 1924, i16 2, i16 1440, i16 1879, i16 1190, i16 1880, i16 2018, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 4, i16 1132, i16 1810, i16 1190, i16 1811, i16 2054, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 10, i16 1266, i16 1836, i16 2055, i16 1837, i16 2056, i16 1875, i16 2057, i16 1876, i16 2058, i16 1877, i16 2059, i16 1878, i16 2060, i16 1881, i16 2061, i16 1882, i16 2062, i16 1879, i16 2063, i16 1880, i16 2064, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 22, i16 1370, i16 1856, i16 2065, i16 1857, i16 2066, i16 1858, i16 2067, i16 1859, i16 2068, i16 1860, i16 2069, i16 1861, i16 2070, i16 1862, i16 2071, i16 1863, i16 2072, i16 1868, i16 2073, i16 1869, i16 2074, i16 1866, i16 2075, i16 1867, i16 2076, i16 1864, i16 2077, i16 1865, i16 2078, i16 1820, i16 2079, i16 1821, i16 2080, i16 1764, i16 2081, i16 1765, i16 2082, i16 1828, i16 2081, i16 1829, i16 2083, i16 1848, i16 2081, i16 1849, i16 2084, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 1874, i16 1418, i16 1187, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 4, i16 877, i16 1939, i16 1190, i16 1940, i16 2085, i16 1941, i16 2086, i16 1942, i16 2087, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 4, i16 1099, i16 1943, i16 1190, i16 1944, i16 2088, i16 1945, i16 2089, i16 1946, i16 2090, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 4, i16 1132, i16 1810, i16 1190, i16 1811, i16 2054, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 32766, i16 32766, i16 32766, i16 -2, i16 16384, i16 0, i16 16384, i16 -2, i16 16384, i16 0, i16 16384, i16 -16206, i16 16384, i16 0, i16 16384, i16 -16204, i16 16384, i16 0, i16 16384, i16 -16353, i16 16384, i16 0, i16 16384, i16 -16352, i16 16384, i16 0, i16 16384, i16 -16351, i16 16384, i16 0, i16 16384, i16 -16350, i16 16384, i16 0, i16 16384, i16 -16349, i16 16384, i16 0, i16 16384, i16 -16348, i16 16384, i16 0, i16 16384, i16 -16347, i16 16384, i16 0, i16 16384, i16 -16346, i16 16384, i16 0, i16 16384, i16 -16345, i16 16384, i16 0, i16 16384, i16 -16344, i16 16384, i16 0, i16 16384, i16 -16343, i16 16384, i16 0, i16 16384, i16 -16342, i16 16384, i16 0, i16 16384, i16 -16341, i16 16384, i16 0, i16 16384, i16 -15486, i16 16384, i16 0, i16 16384, i16 -16340, i16 16384, i16 0, i16 16384, i16 -16339, i16 16384, i16 0, i16 16384, i16 -15485, i16 16384, i16 0, i16 16384, i16 -16338, i16 16384, i16 0, i16 16384, i16 -15484, i16 16384, i16 0, i16 16384, i16 -15483, i16 16384, i16 0, i16 16384, i16 -15482, i16 16384, i16 0, i16 16384, i16 -16337, i16 16384, i16 0, i16 16384, i16 -16336, i16 16384, i16 0, i16 16384, i16 -16335, i16 16384, i16 0, i16 16384, i16 -16334, i16 16384, i16 0, i16 16384, i16 -16333, i16 16384, i16 0, i16 16384, i16 -15481, i16 16384, i16 0, i16 16384, i16 -16332, i16 16384, i16 0, i16 16384, i16 -16331, i16 16384, i16 0, i16 16384, i16 -16330, i16 16384, i16 0, i16 16384, i16 -16329, i16 16384, i16 0, i16 16384, i16 -16328, i16 16384, i16 0, i16 16384, i16 -16327, i16 16384, i16 0, i16 16384, i16 -15480, i16 16384, i16 0, i16 16384, i16 -16326, i16 16384, i16 0, i16 16384, i16 -16325, i16 16534, i16 14, i16 17273, i16 -16384, i16 16415, i16 14, i16 17273, i16 -16384, i16 16416, i16 14, i16 17273, i16 -16384, i16 16417, i16 14, i16 17273, i16 -16384, i16 16418, i16 14, i16 17273, i16 -16384, i16 16419, i16 14, i16 17273, i16 -16384, i16 16420, i16 14, i16 17273, i16 -16384, i16 16421, i16 14, i16 17273, i16 -16384, i16 16422, i16 14, i16 17273, i16 -16384, i16 16423, i16 14, i16 17273, i16 -16384, i16 16424, i16 14, i16 17273, i16 -16384, i16 16415, i16 17, i16 17273, i16 -16384, i16 16415, i16 896, i16 17273, i16 -16384, i16 16415, i16 897, i16 17273, i16 -16384, i16 16415, i16 19, i16 17273, i16 -16384, i16 16415, i16 21, i16 17273, i16 -16384, i16 16415, i16 18, i16 17273, i16 -16384, i16 16415, i16 20, i16 17273, i16 -16384, i16 16415, i16 14, i16 16392, i16 -16384, i16 16416, i16 14, i16 16392, i16 -16384, i16 16417, i16 14, i16 16392, i16 -16384, i16 16418, i16 14, i16 16392, i16 -16384, i16 16419, i16 14, i16 16392, i16 -16384, i16 16420, i16 14, i16 16392, i16 -16384, i16 16421, i16 14, i16 16392, i16 -16384, i16 16422, i16 14, i16 16392, i16 -16384, i16 16423, i16 14, i16 16392, i16 -16384, i16 16424, i16 14, i16 16392, i16 -16384, i16 16425, i16 14, i16 17273, i16 -16384, i16 16425, i16 15, i16 16392, i16 -16384, i16 16425, i16 26, i16 17273, i16 -16384, i16 16425, i16 27, i16 17273, i16 -16384, i16 16426, i16 14, i16 17273, i16 -16384, i16 16427, i16 14, i16 17273, i16 -16384, i16 17282, i16 14, i16 17273, i16 -16384, i16 17282, i16 18, i16 17273, i16 -16384, i16 16428, i16 14, i16 17273, i16 -16384, i16 16428, i16 16, i16 17273, i16 -16384, i16 16428, i16 17, i16 17273, i16 -16384, i16 16428, i16 897, i16 17273, i16 -16384, i16 16428, i16 20, i16 17273, i16 -16384, i16 16428, i16 18, i16 17273, i16 -16384, i16 16428, i16 23, i16 17273, i16 -16384, i16 16428, i16 26, i16 17273, i16 -16384, i16 16428, i16 27, i16 17273, i16 -16384, i16 16429, i16 14, i16 17273, i16 -16384, i16 17283, i16 14, i16 17273, i16 -16384, i16 17283, i16 25, i16 17273, i16 -16384, i16 16430, i16 14, i16 17273, i16 -16384, i16 17284, i16 16, i16 17273, i16 -16384, i16 17284, i16 17, i16 17273, i16 -16384, i16 17284, i16 20, i16 17273, i16 -16384, i16 17284, i16 22, i16 17273, i16 -16384, i16 17284, i16 26, i16 17273, i16 -16384, i16 17284, i16 27, i16 17273, i16 -16384, i16 18009, i16 1628, i16 18015, i16 -16384, i16 17285, i16 14, i16 17273, i16 -16384, i16 17286, i16 14, i16 17273, i16 -16384, i16 17286, i16 15, i16 17273, i16 -16384, i16 17286, i16 25, i16 17273, i16 -16384, i16 16431, i16 14, i16 17273, i16 -16384, i16 16431, i16 16, i16 17273, i16 -16384, i16 16431, i16 18, i16 17273, i16 -16384, i16 16431, i16 24, i16 17273, i16 -16384, i16 16431, i16 25, i16 17273, i16 -16384, i16 16431, i16 23, i16 17273, i16 -16384, i16 16432, i16 14, i16 17273, i16 -16384, i16 16433, i16 14, i16 17273, i16 -16384, i16 16433, i16 15, i16 17273, i16 -16384, i16 16433, i16 16, i16 17273, i16 -16384, i16 16433, i16 18, i16 17273, i16 -16384, i16 16433, i16 25, i16 17273, i16 -16384, i16 16434, i16 14, i16 17273, i16 -16384, i16 16434, i16 15, i16 16392, i16 -16384, i16 16434, i16 16, i16 17273, i16 -16384, i16 16434, i16 17, i16 17273, i16 -16384, i16 16434, i16 897, i16 17273, i16 -16384, i16 16434, i16 22, i16 17273, i16 -16384, i16 16434, i16 27, i16 17273, i16 -16384, i16 18018, i16 1628, i16 18015, i16 -16384, i16 16435, i16 14, i16 17273, i16 -16384, i16 17287, i16 14, i16 17273, i16 -16384, i16 16436, i16 14, i16 17273, i16 -16384, i16 16436, i16 16, i16 17273, i16 -16384, i16 16436, i16 18, i16 17273, i16 -16384, i16 16436, i16 25, i16 17273, i16 -16384, i16 16437, i16 14, i16 17273, i16 -16384, i16 16437, i16 16, i16 17273, i16 -16384, i16 16438, i16 14, i16 17273, i16 -16384, i16 16438, i16 18, i16 17273, i16 -16384, i16 16438, i16 24, i16 17273, i16 -16384, i16 16439, i16 14, i16 17273, i16 -16384, i16 16439, i16 16, i16 17273, i16 -16384, i16 16439, i16 17, i16 17273, i16 -16384, i16 16439, i16 897, i16 17273, i16 -16384, i16 16439, i16 19, i16 17273, i16 -16384, i16 16439, i16 22, i16 17273, i16 -16384, i16 16439, i16 26, i16 17273, i16 -16384, i16 16439, i16 27, i16 17273, i16 -16384, i16 16440, i16 14, i16 17273, i16 -16384, i16 16441, i16 897, i16 17273, i16 -16384, i16 17288, i16 14, i16 17273, i16 -16384, i16 16442, i16 14, i16 17273, i16 -16384, i16 16442, i16 16, i16 17273, i16 -16384, i16 16442, i16 20, i16 17273, i16 -16384, i16 16442, i16 897, i16 17273, i16 -16384, i16 16443, i16 14, i16 17273, i16 -16384, i16 16443, i16 16, i16 17273, i16 -16384, i16 16444, i16 14, i16 17273, i16 -16384, i16 16425, i16 14, i16 16393, i16 -16384, i16 16425, i16 26, i16 16393, i16 -16384, i16 16425, i16 27, i16 16393, i16 -16384, i16 16426, i16 14, i16 16393, i16 -16384, i16 16427, i16 14, i16 16393, i16 -16384, i16 17282, i16 14, i16 16393, i16 -16384, i16 17282, i16 18, i16 16393, i16 -16384, i16 16428, i16 14, i16 16393, i16 -16384, i16 16428, i16 16, i16 16393, i16 -16384, i16 16428, i16 17, i16 16393, i16 -16384, i16 16428, i16 897, i16 16393, i16 -16384, i16 16428, i16 20, i16 16393, i16 -16384, i16 16428, i16 18, i16 16393, i16 -16384, i16 16428, i16 23, i16 16393, i16 -16384, i16 16428, i16 26, i16 16393, i16 -16384, i16 16428, i16 27, i16 16393, i16 -16384, i16 16429, i16 14, i16 16393, i16 -16384, i16 17283, i16 14, i16 16393, i16 -16384, i16 17283, i16 25, i16 16393, i16 -16384, i16 16430, i16 14, i16 16393, i16 -16384, i16 17284, i16 16, i16 16393, i16 -16384, i16 17284, i16 17, i16 16393, i16 -16384, i16 17284, i16 20, i16 16393, i16 -16384, i16 17284, i16 22, i16 16393, i16 -16384, i16 17284, i16 26, i16 16393, i16 -16384, i16 17284, i16 27, i16 16393, i16 -16384, i16 18009, i16 1628, i16 18021, i16 -16384, i16 17285, i16 14, i16 16393, i16 -16384, i16 17286, i16 14, i16 16393, i16 -16384, i16 17286, i16 25, i16 16393, i16 -16384, i16 16431, i16 14, i16 16393, i16 -16384, i16 16431, i16 16, i16 16393, i16 -16384, i16 16431, i16 18, i16 16393, i16 -16384, i16 16431, i16 24, i16 16393, i16 -16384, i16 16431, i16 25, i16 16393, i16 -16384, i16 16431, i16 23, i16 16393, i16 -16384, i16 16432, i16 14, i16 16393, i16 -16384, i16 16433, i16 14, i16 16393, i16 -16384, i16 16433, i16 16, i16 16393, i16 -16384, i16 16433, i16 18, i16 16393, i16 -16384, i16 16433, i16 25, i16 16393, i16 -16384, i16 16434, i16 14, i16 16393, i16 -16384, i16 16434, i16 16, i16 16393, i16 -16384, i16 16434, i16 17, i16 16393, i16 -16384, i16 16434, i16 897, i16 16393, i16 -16384, i16 16434, i16 22, i16 16393, i16 -16384, i16 16434, i16 27, i16 16393, i16 -16384, i16 18018, i16 1628, i16 18021, i16 -16384, i16 16435, i16 14, i16 16393, i16 -16384, i16 17287, i16 14, i16 16393, i16 -16384, i16 16436, i16 14, i16 16393, i16 -16384, i16 16436, i16 16, i16 16393, i16 -16384, i16 16436, i16 18, i16 16393, i16 -16384, i16 16436, i16 25, i16 16393, i16 -16384, i16 16437, i16 14, i16 16393, i16 -16384, i16 16437, i16 16, i16 16393, i16 -16384, i16 16438, i16 14, i16 16393, i16 -16384, i16 16438, i16 18, i16 16393, i16 -16384, i16 16438, i16 24, i16 16393, i16 -16384, i16 16439, i16 14, i16 16393, i16 -16384, i16 16439, i16 16, i16 16393, i16 -16384, i16 16439, i16 17, i16 16393, i16 -16384, i16 16439, i16 897, i16 16393, i16 -16384, i16 16439, i16 19, i16 16393, i16 -16384, i16 16439, i16 22, i16 16393, i16 -16384, i16 16439, i16 26, i16 16393, i16 -16384, i16 16439, i16 27, i16 16393, i16 -16384, i16 16440, i16 14, i16 16393, i16 -16384, i16 16441, i16 897, i16 16393, i16 -16384, i16 17288, i16 14, i16 16393, i16 -16384, i16 16442, i16 14, i16 16393, i16 -16384, i16 16442, i16 16, i16 16393, i16 -16384, i16 16442, i16 897, i16 16393, i16 -16384, i16 16442, i16 20, i16 16393, i16 -16384, i16 16443, i16 14, i16 16393, i16 -16384, i16 16443, i16 16, i16 16393, i16 -16384, i16 16444, i16 14, i16 16393, i16 -16384, i16 16445, i16 16398, i16 17273, i16 -16384, i16 16446, i16 16398, i16 17273, i16 -16384, i16 16448, i16 16398, i16 17273, i16 -16384, i16 16449, i16 16398, i16 17273, i16 -16384, i16 16450, i16 16398, i16 17273, i16 -16384, i16 16451, i16 16398, i16 17273, i16 -16384, i16 16452, i16 16398, i16 17273, i16 -16384, i16 16453, i16 16398, i16 17273, i16 -16384, i16 16454, i16 16398, i16 17273, i16 -16384, i16 16455, i16 16398, i16 17273, i16 -16384, i16 16456, i16 16398, i16 17273, i16 -16384, i16 16457, i16 16398, i16 17273, i16 -16384, i16 16458, i16 16398, i16 17273, i16 -16384, i16 16459, i16 16398, i16 17273, i16 -16384, i16 16460, i16 16398, i16 17273, i16 -16384, i16 16461, i16 16398, i16 17273, i16 -16384, i16 16462, i16 16398, i16 17273, i16 -16384, i16 16463, i16 16398, i16 17273, i16 -16384, i16 16464, i16 16398, i16 17273, i16 -16384, i16 16465, i16 16398, i16 17273, i16 -16384, i16 16466, i16 16398, i16 17273, i16 -16384, i16 16467, i16 16398, i16 17273, i16 -16384, i16 16468, i16 16398, i16 17273, i16 -16384, i16 16469, i16 16398, i16 17273, i16 -16384, i16 16470, i16 16398, i16 17273, i16 -16384, i16 16471, i16 16398, i16 17273, i16 -16384, i16 16474, i16 16398, i16 17273, i16 -16384, i16 16475, i16 16398, i16 17273, i16 -16384, i16 16476, i16 16398, i16 17273, i16 -16384, i16 16477, i16 16398, i16 17273, i16 -16384, i16 16478, i16 16398, i16 17273, i16 -16384, i16 16480, i16 16398, i16 17273, i16 -16384, i16 16482, i16 17278, i16 17273, i16 -16384, i16 16482, i16 16398, i16 17273, i16 -16384, i16 61, i16 14, i16 3, i16 -16384, i16 61, i16 14, i16 4, i16 -16384, i16 61, i16 14, i16 5, i16 -16384, i16 61, i16 14, i16 6, i16 -16384, i16 62, i16 14, i16 3, i16 -16384, i16 62, i16 14, i16 4, i16 -16384, i16 62, i16 14, i16 5, i16 -16384, i16 62, i16 14, i16 6, i16 -16384, i16 64, i16 14, i16 3, i16 -16384, i16 64, i16 14, i16 4, i16 -16384, i16 64, i16 14, i16 5, i16 -16384, i16 64, i16 14, i16 6, i16 -16384, i16 65, i16 14, i16 3, i16 -16384, i16 65, i16 14, i16 4, i16 -16384, i16 65, i16 14, i16 5, i16 -16384, i16 65, i16 14, i16 6, i16 -16384, i16 66, i16 14, i16 3, i16 -16384, i16 66, i16 14, i16 4, i16 -16384, i16 66, i16 14, i16 5, i16 -16384, i16 66, i16 14, i16 6, i16 -16384, i16 67, i16 14, i16 3, i16 -16384, i16 67, i16 14, i16 4, i16 -16384, i16 67, i16 14, i16 5, i16 -16384, i16 67, i16 14, i16 6, i16 -16384, i16 68, i16 14, i16 3, i16 -16384, i16 68, i16 14, i16 4, i16 -16384, i16 68, i16 14, i16 5, i16 -16384, i16 68, i16 14, i16 6, i16 -16384, i16 69, i16 14, i16 3, i16 -16384, i16 69, i16 14, i16 4, i16 -16384, i16 69, i16 14, i16 5, i16 -16384, i16 69, i16 14, i16 6, i16 -16384, i16 70, i16 14, i16 3, i16 -16384, i16 70, i16 14, i16 4, i16 -16384, i16 70, i16 14, i16 5, i16 -16384, i16 70, i16 14, i16 6, i16 -16384, i16 71, i16 14, i16 3, i16 -16384, i16 71, i16 14, i16 4, i16 -16384, i16 72, i16 14, i16 3, i16 -16384, i16 72, i16 14, i16 4, i16 -16384, i16 73, i16 14, i16 3, i16 -16384, i16 73, i16 14, i16 4, i16 -16384, i16 74, i16 14, i16 3, i16 -16384, i16 74, i16 14, i16 4, i16 -16384, i16 75, i16 14, i16 3, i16 -16384, i16 75, i16 14, i16 4, i16 -16384, i16 76, i16 14, i16 3, i16 -16384, i16 76, i16 14, i16 4, i16 -16384, i16 77, i16 14, i16 3, i16 -16384, i16 77, i16 14, i16 4, i16 -16384, i16 78, i16 14, i16 3, i16 -16384, i16 78, i16 14, i16 4, i16 -16384, i16 78, i16 14, i16 5, i16 -16384, i16 78, i16 14, i16 6, i16 -16384, i16 79, i16 14, i16 3, i16 -16384, i16 79, i16 14, i16 4, i16 -16384, i16 79, i16 14, i16 5, i16 -16384, i16 79, i16 14, i16 6, i16 -16384, i16 80, i16 14, i16 3, i16 -16384, i16 80, i16 14, i16 4, i16 -16384, i16 80, i16 14, i16 5, i16 -16384, i16 80, i16 14, i16 6, i16 -16384, i16 81, i16 14, i16 3, i16 -16384, i16 81, i16 14, i16 4, i16 -16384, i16 81, i16 14, i16 5, i16 -16384, i16 81, i16 14, i16 6, i16 -16384, i16 82, i16 14, i16 3, i16 -16384, i16 82, i16 14, i16 4, i16 -16384, i16 82, i16 14, i16 5, i16 -16384, i16 82, i16 14, i16 6, i16 -16384, i16 83, i16 14, i16 3, i16 -16384, i16 83, i16 14, i16 4, i16 -16384, i16 83, i16 14, i16 5, i16 -16384, i16 83, i16 14, i16 6, i16 -16384, i16 84, i16 14, i16 3, i16 -16384, i16 84, i16 14, i16 4, i16 -16384, i16 84, i16 14, i16 5, i16 -16384, i16 84, i16 14, i16 6, i16 -16384, i16 85, i16 14, i16 3, i16 -16384, i16 85, i16 14, i16 4, i16 -16384, i16 85, i16 14, i16 5, i16 -16384, i16 85, i16 14, i16 6, i16 -16384, i16 86, i16 14, i16 3, i16 -16384, i16 86, i16 14, i16 4, i16 -16384, i16 86, i16 14, i16 5, i16 -16384, i16 86, i16 14, i16 6, i16 -16384, i16 87, i16 14, i16 3, i16 -16384, i16 87, i16 14, i16 4, i16 -16384, i16 87, i16 14, i16 5, i16 -16384, i16 87, i16 14, i16 6, i16 -16384, i16 90, i16 14, i16 3, i16 -16384, i16 90, i16 14, i16 4, i16 -16384, i16 90, i16 14, i16 5, i16 -16384, i16 90, i16 14, i16 6, i16 -16384, i16 91, i16 14, i16 3, i16 -16384, i16 91, i16 14, i16 4, i16 -16384, i16 91, i16 14, i16 5, i16 -16384, i16 91, i16 14, i16 6, i16 -16384, i16 92, i16 14, i16 3, i16 -16384, i16 92, i16 14, i16 4, i16 -16384, i16 92, i16 14, i16 5, i16 -16384, i16 92, i16 14, i16 6, i16 -16384, i16 93, i16 14, i16 3, i16 -16384, i16 93, i16 14, i16 4, i16 -16384, i16 93, i16 14, i16 5, i16 -16384, i16 93, i16 14, i16 6, i16 -16384, i16 94, i16 14, i16 3, i16 -16384, i16 94, i16 14, i16 4, i16 -16384, i16 96, i16 14, i16 3, i16 -16384, i16 96, i16 14, i16 4, i16 -16384, i16 1640, i16 1643, i16 1646, i16 -16384, i16 1640, i16 1643, i16 1649, i16 -16384, i16 1640, i16 1643, i16 1652, i16 -16384, i16 1640, i16 1643, i16 1655, i16 -16384, i16 98, i16 894, i16 3, i16 -16384, i16 98, i16 894, i16 4, i16 -16384, i16 98, i16 14, i16 3, i16 -16384, i16 98, i16 14, i16 4, i16 -16384, i16 16483, i16 16398, i16 16384, i16 -16384, i16 16484, i16 16398, i16 16384, i16 -16384, i16 16485, i16 16398, i16 16384, i16 -16384, i16 16486, i16 16398, i16 16384, i16 -16384, i16 16487, i16 16398, i16 16384, i16 -16384, i16 16488, i16 16398, i16 16384, i16 -16384, i16 16489, i16 16398, i16 16384, i16 -16384, i16 16490, i16 16398, i16 16384, i16 -16384, i16 16491, i16 16398, i16 16384, i16 -16384, i16 16492, i16 16398, i16 16384, i16 -16384, i16 16493, i16 16398, i16 16384, i16 -16384, i16 16494, i16 16398, i16 16384, i16 -16384, i16 16495, i16 16398, i16 16384, i16 -16384, i16 16496, i16 16398, i16 16384, i16 -16384, i16 16497, i16 16398, i16 16384, i16 -16384, i16 16498, i16 16398, i16 16384, i16 -16384, i16 16499, i16 16398, i16 16384, i16 -16384, i16 16500, i16 16398, i16 16384, i16 -16384, i16 16501, i16 16398, i16 16384, i16 -16384, i16 16502, i16 16398, i16 16384, i16 -16384, i16 16503, i16 16398, i16 16384, i16 -16384, i16 16504, i16 16398, i16 16384, i16 -16384, i16 16505, i16 16398, i16 16384, i16 -16384, i16 16506, i16 16398, i16 16384, i16 -16384, i16 16507, i16 16398, i16 16384, i16 -16384, i16 16508, i16 16398, i16 16384, i16 -16384, i16 16509, i16 16398, i16 16384, i16 -16384, i16 16510, i16 14, i16 16393, i16 -16384, i16 16510, i16 28, i16 16393, i16 -16384, i16 16511, i16 14, i16 16393, i16 -16384, i16 16512, i16 14, i16 16393, i16 -16384, i16 16512, i16 15, i16 16393, i16 -16384, i16 16513, i16 14, i16 16393, i16 -16384, i16 16513, i16 15, i16 16393, i16 -16384, i16 16514, i16 14, i16 16393, i16 -16384, i16 16514, i16 28, i16 16393, i16 -16384, i16 16515, i16 14, i16 16393, i16 -16384, i16 16515, i16 15, i16 16393, i16 -16384, i16 16516, i16 14, i16 16393, i16 -16384, i16 16516, i16 28, i16 16393, i16 -16384, i16 16517, i16 14, i16 16393, i16 -16384, i16 16518, i16 14, i16 16393, i16 -16384, i16 16518, i16 28, i16 16393, i16 -16384, i16 16518, i16 29, i16 16393, i16 -16384, i16 16519, i16 14, i16 16393, i16 -16384, i16 16519, i16 15, i16 16393, i16 -16384, i16 16519, i16 895, i16 16393, i16 -16384, i16 16520, i16 14, i16 16393, i16 -16384, i16 16521, i16 14, i16 16393, i16 -16384, i16 16522, i16 14, i16 16393, i16 -16384, i16 16523, i16 14, i16 16393, i16 -16384, i16 16524, i16 14, i16 16393, i16 -16384, i16 16524, i16 28, i16 16393, i16 -16384, i16 16525, i16 14, i16 16393, i16 -16384, i16 16526, i16 14, i16 16393, i16 -16384, i16 16527, i16 14, i16 16393, i16 -16384, i16 16527, i16 15, i16 16393, i16 -16384, i16 16527, i16 895, i16 16393, i16 -16384, i16 16528, i16 14, i16 16393, i16 -16384, i16 16528, i16 15, i16 16393, i16 -16384, i16 16529, i16 14, i16 16393, i16 -16384, i16 16529, i16 28, i16 16393, i16 -16384, i16 16529, i16 29, i16 16393, i16 -16384, i16 16529, i16 30, i16 16393, i16 -16384, i16 16529, i16 26, i16 16393, i16 -16384, i16 16529, i16 27, i16 16393, i16 -16384, i16 16530, i16 14, i16 16393, i16 -16384, i16 16530, i16 895, i16 16393, i16 -16384, i16 16531, i16 14, i16 16393, i16 -16384, i16 16531, i16 15, i16 16393, i16 -16384, i16 16532, i16 14, i16 16393, i16 -16384, i16 16532, i16 15, i16 16393, i16 -16384, i16 16533, i16 14, i16 16393, i16 -16384, i16 16533, i16 28, i16 16393, i16 -16384, i16 16510, i16 14, i16 16396, i16 -16384, i16 16510, i16 28, i16 16396, i16 -16384, i16 16511, i16 14, i16 16396, i16 -16384, i16 16511, i16 15, i16 16396, i16 -16384, i16 16512, i16 14, i16 16396, i16 -16384, i16 16513, i16 14, i16 16396, i16 -16384, i16 16514, i16 14, i16 16396, i16 -16384, i16 16514, i16 28, i16 16396, i16 -16384, i16 16515, i16 14, i16 16396, i16 -16384, i16 16515, i16 15, i16 16396, i16 -16384, i16 16516, i16 14, i16 16396, i16 -16384, i16 16516, i16 28, i16 16396, i16 -16384, i16 16517, i16 14, i16 16396, i16 -16384, i16 16517, i16 15, i16 16396, i16 -16384, i16 16518, i16 14, i16 16396, i16 -16384, i16 16518, i16 28, i16 16396, i16 -16384, i16 16518, i16 29, i16 16396, i16 -16384, i16 16518, i16 30, i16 16396, i16 -16384, i16 16518, i16 26, i16 16396, i16 -16384, i16 16519, i16 14, i16 16396, i16 -16384, i16 16519, i16 15, i16 16396, i16 -16384, i16 16519, i16 895, i16 16396, i16 -16384, i16 16520, i16 14, i16 16396, i16 -16384, i16 16521, i16 14, i16 16396, i16 -16384, i16 16522, i16 14, i16 16396, i16 -16384, i16 16523, i16 14, i16 16396, i16 -16384, i16 16524, i16 14, i16 16396, i16 -16384, i16 16524, i16 28, i16 16396, i16 -16384, i16 16525, i16 14, i16 16396, i16 -16384, i16 16525, i16 15, i16 16396, i16 -16384, i16 16526, i16 15, i16 16396, i16 -16384, i16 16527, i16 14, i16 16396, i16 -16384, i16 16527, i16 15, i16 16396, i16 -16384, i16 16527, i16 895, i16 16396, i16 -16384, i16 16527, i16 26, i16 16396, i16 -16384, i16 16528, i16 14, i16 16396, i16 -16384, i16 16528, i16 15, i16 16396, i16 -16384, i16 16529, i16 14, i16 16396, i16 -16384, i16 16529, i16 28, i16 16396, i16 -16384, i16 16529, i16 29, i16 16396, i16 -16384, i16 16529, i16 30, i16 16396, i16 -16384, i16 16530, i16 14, i16 16396, i16 -16384, i16 16530, i16 15, i16 16396, i16 -16384, i16 16530, i16 895, i16 16396, i16 -16384, i16 16531, i16 14, i16 16396, i16 -16384, i16 16532, i16 14, i16 16396, i16 -16384, i16 16532, i16 15, i16 16396, i16 -16384, i16 16533, i16 14, i16 16396, i16 -16384, i16 16533, i16 28, i16 16396, i16 -16384, i16 17292, i16 16398, i16 17273, i16 -16384, i16 17293, i16 16398, i16 17273, i16 -16384, i16 17294, i16 16398, i16 17273, i16 -16384, i16 17295, i16 16398, i16 17273, i16 -16384, i16 17296, i16 16398, i16 17273, i16 -16384, i16 17299, i16 16398, i16 17273, i16 -16384, i16 17302, i16 16398, i16 17273, i16 -16384, i16 17303, i16 16398, i16 17273, i16 -16384, i16 17305, i16 16398, i16 17273, i16 -16384, i16 17308, i16 16398, i16 17273, i16 -16384, i16 17309, i16 16398, i16 17273, i16 -16384, i16 17310, i16 16398, i16 17273, i16 -16384, i16 17311, i16 16398, i16 17273, i16 -16384, i16 17313, i16 16398, i16 17273, i16 -16384, i16 17314, i16 16398, i16 17273, i16 -16384, i16 17316, i16 16398, i16 17273, i16 -16384, i16 17317, i16 16398, i16 17273, i16 -16384, i16 17318, i16 16398, i16 17273, i16 -16384, i16 17319, i16 16398, i16 17273, i16 -16384, i16 17320, i16 16398, i16 17273, i16 -16384, i16 17323, i16 16398, i16 17273, i16 -16384, i16 17325, i16 16398, i16 17273, i16 -16384, i16 17326, i16 16398, i16 17273, i16 -16384, i16 17327, i16 16398, i16 17273, i16 -16384, i16 17328, i16 16398, i16 17273, i16 -16384, i16 17330, i16 16398, i16 17273, i16 -16384, i16 17331, i16 16398, i16 17273, i16 -16384, i16 17332, i16 16398, i16 17273, i16 -16384, i16 17334, i16 16398, i16 17273, i16 -16384, i16 17336, i16 16398, i16 17273, i16 -16384, i16 17337, i16 16398, i16 17273, i16 -16384, i16 17292, i16 16398, i16 16393, i16 -16384, i16 17293, i16 16398, i16 16393, i16 -16384, i16 17294, i16 16398, i16 16393, i16 -16384, i16 17295, i16 16398, i16 16393, i16 -16384, i16 17296, i16 16398, i16 16393, i16 -16384, i16 17299, i16 16398, i16 16393, i16 -16384, i16 17302, i16 16398, i16 16393, i16 -16384, i16 17303, i16 16398, i16 16393, i16 -16384, i16 17305, i16 16398, i16 16393, i16 -16384, i16 17308, i16 16398, i16 16393, i16 -16384, i16 17310, i16 16398, i16 16393, i16 -16384, i16 17311, i16 16398, i16 16393, i16 -16384, i16 17313, i16 16398, i16 16393, i16 -16384, i16 17314, i16 16398, i16 16393, i16 -16384, i16 17316, i16 16398, i16 16393, i16 -16384, i16 17317, i16 16398, i16 16393, i16 -16384, i16 17318, i16 16398, i16 16393, i16 -16384, i16 17319, i16 16398, i16 16393, i16 -16384, i16 17320, i16 16398, i16 16393, i16 -16384, i16 17323, i16 16398, i16 16393, i16 -16384, i16 17325, i16 16398, i16 16393, i16 -16384, i16 17326, i16 16398, i16 16393, i16 -16384, i16 17327, i16 16398, i16 16393, i16 -16384, i16 17328, i16 16398, i16 16393, i16 -16384, i16 17330, i16 16398, i16 16393, i16 -16384, i16 17331, i16 16398, i16 16393, i16 -16384, i16 17332, i16 16398, i16 16393, i16 -16384, i16 17334, i16 16398, i16 16393, i16 -16384, i16 17336, i16 16398, i16 16393, i16 -16384, i16 17337, i16 16398, i16 16393, i16 -16384, i16 16425, i16 16, i16 17273, i16 -16384, i16 16425, i16 17, i16 17273, i16 -16384, i16 16425, i16 897, i16 17273, i16 -16384, i16 16425, i16 22, i16 17273, i16 -16384, i16 16425, i16 20, i16 17273, i16 -16384, i16 16425, i16 19, i16 17273, i16 -16384, i16 16425, i16 896, i16 17273, i16 -16384, i16 18042, i16 1628, i16 18015, i16 -16384, i16 16427, i16 25, i16 17273, i16 -16384, i16 16427, i16 16, i16 17273, i16 -16384, i16 16427, i16 897, i16 17273, i16 -16384, i16 16427, i16 18, i16 17273, i16 -16384, i16 16427, i16 23, i16 17273, i16 -16384, i16 17282, i16 15, i16 17273, i16 -16384, i16 17282, i16 24, i16 17273, i16 -16384, i16 17283, i16 896, i16 17273, i16 -16384, i16 17283, i16 897, i16 17273, i16 -16384, i16 17283, i16 23, i16 17273, i16 -16384, i16 16430, i16 897, i16 17273, i16 -16384, i16 16430, i16 24, i16 17273, i16 -16384, i16 17284, i16 14, i16 17273, i16 -16384, i16 17284, i16 897, i16 17273, i16 -16384, i16 17284, i16 15, i16 17273, i16 -16384, i16 17285, i16 897, i16 17273, i16 -16384, i16 16433, i16 22, i16 17273, i16 -16384, i16 18045, i16 1628, i16 18015, i16 -16384, i16 16434, i16 20, i16 17273, i16 -16384, i16 16434, i16 24, i16 17273, i16 -16384, i16 16434, i16 21, i16 17273, i16 -16384, i16 16437, i16 897, i16 17273, i16 -16384, i16 16437, i16 18, i16 17273, i16 -16384, i16 16437, i16 25, i16 17273, i16 -16384, i16 18048, i16 1628, i16 18015, i16 -16384, i16 16438, i16 25, i16 17273, i16 -16384, i16 16439, i16 20, i16 17273, i16 -16384, i16 16439, i16 896, i16 17273, i16 -16384, i16 16439, i16 21, i16 17273, i16 -16384, i16 16441, i16 14, i16 17273, i16 -16384, i16 16443, i16 18, i16 17273, i16 -16384, i16 16443, i16 23, i16 17273, i16 -16384, i16 16425, i16 16, i16 16393, i16 -16384, i16 16425, i16 17, i16 16393, i16 -16384, i16 16425, i16 897, i16 16393, i16 -16384, i16 16425, i16 22, i16 16393, i16 -16384, i16 16425, i16 20, i16 16393, i16 -16384, i16 16425, i16 19, i16 16393, i16 -16384, i16 16425, i16 896, i16 16393, i16 -16384, i16 18042, i16 1628, i16 18021, i16 -16384, i16 16427, i16 25, i16 16393, i16 -16384, i16 16427, i16 16, i16 16393, i16 -16384, i16 16427, i16 897, i16 16393, i16 -16384, i16 16427, i16 18, i16 16393, i16 -16384, i16 16427, i16 23, i16 16393, i16 -16384, i16 17282, i16 15, i16 16393, i16 -16384, i16 17282, i16 24, i16 16393, i16 -16384, i16 17283, i16 896, i16 16393, i16 -16384, i16 17283, i16 897, i16 16393, i16 -16384, i16 17283, i16 23, i16 16393, i16 -16384, i16 16430, i16 897, i16 16393, i16 -16384, i16 16430, i16 24, i16 16393, i16 -16384, i16 17284, i16 14, i16 16393, i16 -16384, i16 17284, i16 897, i16 16393, i16 -16384, i16 17284, i16 15, i16 16393, i16 -16384, i16 17285, i16 897, i16 16393, i16 -16384, i16 16433, i16 22, i16 16393, i16 -16384, i16 18045, i16 1628, i16 18021, i16 -16384, i16 16434, i16 20, i16 16393, i16 -16384, i16 16434, i16 24, i16 16393, i16 -16384, i16 16434, i16 21, i16 16393, i16 -16384, i16 16437, i16 897, i16 16393, i16 -16384, i16 16437, i16 18, i16 16393, i16 -16384, i16 16437, i16 25, i16 16393, i16 -16384, i16 16438, i16 25, i16 16393, i16 -16384, i16 16439, i16 20, i16 16393, i16 -16384, i16 16439, i16 896, i16 16393, i16 -16384, i16 16439, i16 21, i16 16393, i16 -16384, i16 16441, i16 14, i16 16393, i16 -16384, i16 16443, i16 18, i16 16393, i16 -16384, i16 16443, i16 23, i16 16393, i16 -16384, i16 16415, i16 16398, i16 17273, i16 -16384, i16 16415, i16 16399, i16 17273, i16 -16384, i16 16416, i16 16398, i16 17273, i16 -16384, i16 16416, i16 16399, i16 17273, i16 -16384, i16 16417, i16 16398, i16 17273, i16 -16384, i16 16417, i16 16399, i16 17273, i16 -16384, i16 16418, i16 16398, i16 17273, i16 -16384, i16 16418, i16 16399, i16 17273, i16 -16384, i16 16419, i16 16398, i16 17273, i16 -16384, i16 16419, i16 16399, i16 17273, i16 -16384, i16 16420, i16 16398, i16 17273, i16 -16384, i16 16420, i16 16399, i16 17273, i16 -16384, i16 16421, i16 16398, i16 17273, i16 -16384, i16 16421, i16 16399, i16 17273, i16 -16384, i16 16422, i16 16398, i16 17273, i16 -16384, i16 16422, i16 16399, i16 17273, i16 -16384, i16 16423, i16 16398, i16 17273, i16 -16384, i16 16423, i16 16399, i16 17273, i16 -16384, i16 16424, i16 16398, i16 17273, i16 -16384, i16 16424, i16 16399, i16 17273, i16 -16384, i16 17289, i16 16398, i16 17273, i16 -16384, i16 17290, i16 16397, i16 17273, i16 -16384, i16 17290, i16 17274, i16 17273, i16 -16384, i16 17290, i16 17276, i16 17273, i16 -16384, i16 17290, i16 16398, i16 17273, i16 -16384, i16 16447, i16 16398, i16 17273, i16 -16384, i16 16472, i16 16398, i16 17273, i16 -16384, i16 16473, i16 16398, i16 17273, i16 -16384, i16 17291, i16 16398, i16 17273, i16 -16384, i16 16479, i16 16398, i16 17273, i16 -16384, i16 16480, i16 17275, i16 17273, i16 -16384, i16 16481, i16 16398, i16 17273, i16 -16384, i16 18051, i16 18054, i16 18015, i16 -16384, i16 16481, i16 17277, i16 17273, i16 -16384, i16 905, i16 14, i16 3, i16 -16384, i16 906, i16 13, i16 3, i16 -16384, i16 906, i16 13, i16 4, i16 -16384, i16 906, i16 890, i16 3, i16 -16384, i16 906, i16 890, i16 4, i16 -16384, i16 906, i16 892, i16 3, i16 -16384, i16 906, i16 892, i16 4, i16 -16384, i16 906, i16 14, i16 3, i16 -16384, i16 906, i16 14, i16 4, i16 -16384, i16 63, i16 14, i16 3, i16 -16384, i16 63, i16 14, i16 4, i16 -16384, i16 88, i16 14, i16 3, i16 -16384, i16 88, i16 14, i16 4, i16 -16384, i16 88, i16 14, i16 5, i16 -16384, i16 88, i16 14, i16 6, i16 -16384, i16 89, i16 14, i16 3, i16 -16384, i16 89, i16 14, i16 4, i16 -16384, i16 89, i16 14, i16 5, i16 -16384, i16 89, i16 14, i16 6, i16 -16384, i16 907, i16 14, i16 3, i16 -16384, i16 907, i16 14, i16 4, i16 -16384, i16 907, i16 14, i16 5, i16 -16384, i16 907, i16 14, i16 6, i16 -16384, i16 95, i16 14, i16 3, i16 -16384, i16 95, i16 14, i16 4, i16 -16384, i16 96, i16 891, i16 3, i16 -16384, i16 96, i16 891, i16 4, i16 -16384, i16 97, i16 14, i16 3, i16 -16384, i16 97, i16 14, i16 4, i16 -16384, i16 97, i16 893, i16 3, i16 -16384, i16 97, i16 893, i16 4, i16 -16384, i16 97, i16 893, i16 5, i16 -16384, i16 97, i16 893, i16 6, i16 -16384, i16 1673, i16 1676, i16 1679, i16 -16384, i16 1673, i16 1676, i16 1682, i16 -16384, i16 1673, i16 1685, i16 1679, i16 -16384, i16 1673, i16 1685, i16 1682, i16 -16384, i16 1673, i16 1688, i16 1679, i16 -16384, i16 1673, i16 1688, i16 1682, i16 -16384, i16 1673, i16 1643, i16 1679, i16 -16384, i16 1673, i16 1643, i16 1682, i16 -16384, i16 17297, i16 16398, i16 17273, i16 -16384, i16 17298, i16 16398, i16 17273, i16 -16384, i16 17300, i16 16398, i16 17273, i16 -16384, i16 17301, i16 16398, i16 17273, i16 -16384, i16 17304, i16 16398, i16 17273, i16 -16384, i16 17306, i16 16398, i16 17273, i16 -16384, i16 17307, i16 16398, i16 17273, i16 -16384, i16 17312, i16 16398, i16 17273, i16 -16384, i16 17315, i16 16398, i16 17273, i16 -16384, i16 17321, i16 16398, i16 17273, i16 -16384, i16 17322, i16 16398, i16 17273, i16 -16384, i16 17324, i16 16398, i16 17273, i16 -16384, i16 17329, i16 16398, i16 17273, i16 -16384, i16 17333, i16 16398, i16 17273, i16 -16384, i16 17335, i16 16398, i16 17273, i16 -16384, i16 17297, i16 16398, i16 16393, i16 -16384, i16 17298, i16 16398, i16 16393, i16 -16384, i16 17300, i16 16398, i16 16393, i16 -16384, i16 17301, i16 16398, i16 16393, i16 -16384, i16 17304, i16 16398, i16 16393, i16 -16384, i16 17306, i16 16398, i16 16393, i16 -16384, i16 17307, i16 16398, i16 16393, i16 -16384, i16 17309, i16 16398, i16 16393, i16 -16384, i16 17312, i16 16398, i16 16393, i16 -16384, i16 17315, i16 16398, i16 16393, i16 -16384, i16 17321, i16 16398, i16 16393, i16 -16384, i16 17322, i16 16398, i16 16393, i16 -16384, i16 17324, i16 16398, i16 16393, i16 -16384, i16 17329, i16 16398, i16 16393, i16 -16384, i16 17333, i16 16398, i16 16393, i16 -16384, i16 17335, i16 16398, i16 16393, i16 -16384, i16 32767, i16 16384, i16 16384, i16 -16384, i16 18075, i16 18078, i16 16384, i16 -16384, i16 18081, i16 18078, i16 16384, i16 -16384, i16 18084, i16 18078, i16 16384, i16 -16384, i16 17541, i16 16407, i16 17273, i16 -16384, i16 17542, i16 16407, i16 17273, i16 -16384, i16 17543, i16 16407, i16 17273, i16 -16384, i16 17544, i16 16407, i16 17273, i16 -16384, i16 17545, i16 16407, i16 17273, i16 -16384, i16 17540, i16 16407, i16 17273, i16 -16384, i16 17555, i16 16399, i16 17273, i16 -16384, i16 17555, i16 16399, i16 16393, i16 -16384, i16 17556, i16 16399, i16 17273, i16 -16384, i16 17556, i16 16399, i16 16393, i16 -16384, i16 17561, i16 16398, i16 17273, i16 -16384, i16 17561, i16 16398, i16 16393, i16 -16384, i16 17564, i16 16399, i16 17273, i16 -16384, i16 17564, i16 16404, i16 17273, i16 -16384, i16 17564, i16 16399, i16 16393, i16 -16384, i16 17564, i16 16404, i16 16393, i16 -16384, i16 17284, i16 16398, i16 17273, i16 -16384, i16 17567, i16 16407, i16 17273, i16 -16384, i16 17284, i16 16398, i16 16393, i16 -16384, i16 17567, i16 16407, i16 16393, i16 -16384, i16 17568, i16 16399, i16 17273, i16 -16384, i16 17568, i16 16406, i16 17273, i16 -16384, i16 17568, i16 16399, i16 16393, i16 -16384, i16 17568, i16 16406, i16 16393, i16 -16384, i16 17569, i16 16404, i16 17273, i16 -16384, i16 17569, i16 16404, i16 16393, i16 -16384, i16 17565, i16 16409, i16 17273, i16 -16384, i16 17565, i16 16409, i16 16393, i16 -16384, i16 17566, i16 17280, i16 17273, i16 -16384, i16 17566, i16 17280, i16 16393, i16 -16384, i16 17570, i16 16409, i16 17273, i16 -16384, i16 17570, i16 16409, i16 16393, i16 -16384, i16 17571, i16 16404, i16 17273, i16 -16384, i16 17571, i16 16404, i16 16393, i16 -16384, i16 17572, i16 16399, i16 17273, i16 -16384, i16 17572, i16 16399, i16 16393, i16 -16384, i16 17573, i16 16399, i16 17273, i16 -16384, i16 17573, i16 16399, i16 16393, i16 -16384, i16 17574, i16 16399, i16 17273, i16 -16384, i16 17574, i16 16399, i16 16393, i16 -16384, i16 17575, i16 16399, i16 17273, i16 -16384, i16 17575, i16 16399, i16 16393, i16 -16384, i16 17576, i16 16399, i16 17273, i16 -16384, i16 17576, i16 16399, i16 16393, i16 -16384, i16 17577, i16 16399, i16 17273, i16 -16384, i16 17577, i16 16399, i16 16393, i16 -16384, i16 17578, i16 16399, i16 17273, i16 -16384, i16 17578, i16 16399, i16 16393, i16 -16384, i16 17579, i16 16399, i16 17273, i16 -16384, i16 17579, i16 16399, i16 16393, i16 -16384, i16 17602, i16 16407, i16 17273, i16 -16384, i16 17602, i16 16407, i16 17600, i16 -16384, i16 17602, i16 16407, i16 16393, i16 -16384, i16 17602, i16 16407, i16 17601, i16 -16384, i16 32766, i16 16384, i16 16384, i16 16384, i16 17619, i16 16399, i16 17273, i16 -16384, i16 17619, i16 16399, i16 16393, i16 -16384, i16 17620, i16 16399, i16 17273, i16 -16384, i16 17620, i16 16399, i16 16393, i16 -16384, i16 17621, i16 16399, i16 17273, i16 -16384, i16 17621, i16 16399, i16 16393, i16 -16384, i16 17622, i16 16399, i16 17273, i16 -16384, i16 17622, i16 16399, i16 16393, i16 -16384, i16 17623, i16 16399, i16 17273, i16 -16384, i16 17623, i16 16399, i16 16393, i16 -16384, i16 17635, i16 16404, i16 17273, i16 -16384, i16 17634, i16 16403, i16 17273, i16 -16384, i16 17635, i16 17279, i16 17273, i16 -16384, i16 17636, i16 16404, i16 17273, i16 -16384, i16 17637, i16 16408, i16 17273, i16 -16384, i16 17635, i16 16404, i16 16393, i16 -16384, i16 17634, i16 16403, i16 16393, i16 -16384, i16 17635, i16 17279, i16 16393, i16 -16384, i16 17636, i16 16404, i16 16393, i16 -16384, i16 17637, i16 16408, i16 16393, i16 -16384, i16 16440, i16 16398, i16 16393, i16 -16327, i16 16440, i16 16398, i16 17273, i16 -16327, i16 16442, i16 16404, i16 17273, i16 -16384, i16 16442, i16 16404, i16 16393, i16 -16384, i16 17638, i16 16407, i16 17273, i16 -16384, i16 17639, i16 16407, i16 17273, i16 -16384, i16 17638, i16 16407, i16 16393, i16 -16384, i16 17639, i16 16407, i16 16393, i16 -16384, i16 17640, i16 16407, i16 17273, i16 -16384, i16 17640, i16 16407, i16 17600, i16 -16384, i16 17641, i16 16407, i16 17273, i16 -16384, i16 17640, i16 16407, i16 16393, i16 -16384, i16 17640, i16 16407, i16 17601, i16 -16384, i16 17641, i16 16407, i16 16393, i16 -16384, i16 17642, i16 16407, i16 17273, i16 -16384, i16 17642, i16 16407, i16 17600, i16 -16384, i16 17642, i16 16407, i16 16393, i16 -16384, i16 17642, i16 16407, i16 17601, i16 -16384, i16 17643, i16 16407, i16 17273, i16 -16384, i16 17643, i16 16407, i16 17600, i16 -16384, i16 17643, i16 16407, i16 16393, i16 -16384, i16 17643, i16 16407, i16 17601, i16 -16384, i16 17644, i16 16407, i16 17273, i16 -16384, i16 17644, i16 16407, i16 16393, i16 -16384, i16 17645, i16 16407, i16 17273, i16 -16384, i16 17645, i16 16407, i16 16393, i16 -16384, i16 17658, i16 16401, i16 17273, i16 -16384, i16 17660, i16 16400, i16 17273, i16 -16384, i16 17661, i16 17281, i16 17273, i16 -16384, i16 17659, i16 16406, i16 17273, i16 -16384, i16 17658, i16 16401, i16 16393, i16 -16384, i16 17660, i16 16400, i16 16393, i16 -16384, i16 17661, i16 17281, i16 16393, i16 -16384, i16 17659, i16 16406, i16 16393, i16 -16384, i16 17662, i16 16409, i16 17273, i16 -16384, i16 17639, i16 16402, i16 17273, i16 -16384, i16 17662, i16 16409, i16 16393, i16 -16384, i16 17639, i16 16402, i16 16393, i16 -16384, i16 17663, i16 16398, i16 17273, i16 -16384, i16 17664, i16 16402, i16 17273, i16 -16384, i16 17664, i16 16402, i16 16393, i16 -16384, i16 17666, i16 16399, i16 17273, i16 -16384, i16 17665, i16 16408, i16 17273, i16 -16384, i16 17666, i16 16399, i16 16393, i16 -16384, i16 17665, i16 16408, i16 16393, i16 -16384, i16 17668, i16 16402, i16 17273, i16 -16384, i16 17669, i16 16408, i16 17273, i16 -16384, i16 17671, i16 18078, i16 18015, i16 -16384, i16 17644, i16 16402, i16 17273, i16 -16384, i16 17644, i16 16402, i16 16393, i16 -16384, i16 17673, i16 16404, i16 17273, i16 -16384, i16 17672, i16 17279, i16 17273, i16 -16384, i16 17673, i16 16404, i16 16393, i16 -16384, i16 17672, i16 17279, i16 16393, i16 -16384, i16 17667, i16 16398, i16 17273, i16 -16384, i16 17670, i16 16402, i16 17273, i16 -16384, i16 17670, i16 16402, i16 16393, i16 -16384, i16 17685, i16 17281, i16 17273, i16 -16384, i16 17686, i16 17280, i16 17273, i16 -16384, i16 17685, i16 17281, i16 16393, i16 -16384, i16 17686, i16 17280, i16 16393, i16 -16384, i16 17688, i16 16409, i16 17273, i16 -16384, i16 17688, i16 16409, i16 16393, i16 -16384, i16 17687, i16 17281, i16 17273, i16 -16384, i16 17687, i16 17281, i16 16393, i16 -16384, i16 17695, i16 16399, i16 17273, i16 -16384, i16 17695, i16 16399, i16 17600, i16 -16384, i16 17695, i16 16399, i16 16393, i16 -16384, i16 17695, i16 16399, i16 17601, i16 -16384, i16 17697, i16 16399, i16 17273, i16 -16384, i16 17697, i16 16399, i16 17600, i16 -16384, i16 17697, i16 16399, i16 16393, i16 -16384, i16 17697, i16 16399, i16 17601, i16 -16384, i16 17693, i16 16407, i16 17273, i16 -16384, i16 17693, i16 16407, i16 16393, i16 -16384, i16 17694, i16 16407, i16 17273, i16 -16384, i16 17694, i16 16407, i16 16393, i16 -16384, i16 17696, i16 16408, i16 17273, i16 -16384, i16 17696, i16 16408, i16 16393, i16 -16384, i16 17698, i16 16407, i16 17273, i16 -16384, i16 17698, i16 16407, i16 16393, i16 -16384, i16 17707, i16 16407, i16 17273, i16 -16384, i16 17707, i16 16407, i16 17600, i16 -16384, i16 17707, i16 16407, i16 16393, i16 -16384, i16 17707, i16 16407, i16 17601, i16 -16384, i16 17708, i16 16407, i16 17273, i16 -16384, i16 17708, i16 16407, i16 17600, i16 -16384, i16 17708, i16 16407, i16 16393, i16 -16384, i16 17708, i16 16407, i16 17601, i16 -16384, i16 32766, i16 16398, i16 17273, i16 -16384, i16 32766, i16 16398, i16 16393, i16 -16384, i16 17803, i16 16404, i16 17273, i16 -16384, i16 17803, i16 16405, i16 17273, i16 -16384, i16 17803, i16 16404, i16 16393, i16 -16384, i16 17803, i16 16405, i16 16393, i16 -16384, i16 17806, i16 16404, i16 17273, i16 -16384, i16 17806, i16 16405, i16 17273, i16 -16384, i16 17806, i16 16404, i16 16393, i16 -16384, i16 17806, i16 16405, i16 16393, i16 -16384, i16 17797, i16 16398, i16 16393, i16 -16384, i16 17797, i16 16398, i16 17601, i16 -16384, i16 18087, i16 18054, i16 18021, i16 -16384, i16 18087, i16 18054, i16 18090, i16 -16384, i16 18087, i16 18054, i16 18093, i16 -16384, i16 18087, i16 18054, i16 18096, i16 -16384, i16 17797, i16 16398, i16 17600, i16 -16384, i16 17797, i16 16398, i16 17273, i16 -16384, i16 18087, i16 18054, i16 18099, i16 -16384, i16 18087, i16 18054, i16 18102, i16 -16384, i16 18087, i16 18054, i16 18105, i16 -16384, i16 18087, i16 18054, i16 18015, i16 -16384, i16 17798, i16 16398, i16 16393, i16 -16384, i16 17798, i16 16398, i16 17601, i16 -16384, i16 18108, i16 18054, i16 18021, i16 -16384, i16 18108, i16 18054, i16 18090, i16 -16384, i16 18108, i16 18054, i16 18093, i16 -16384, i16 18108, i16 18054, i16 18096, i16 -16384, i16 17798, i16 16398, i16 17600, i16 -16384, i16 17798, i16 16398, i16 17273, i16 -16384, i16 18108, i16 18054, i16 18099, i16 -16384, i16 18108, i16 18054, i16 18102, i16 -16384, i16 18108, i16 18054, i16 18105, i16 -16384, i16 18108, i16 18054, i16 18015, i16 -16384, i16 17799, i16 16398, i16 17796, i16 -16384, i16 17799, i16 16398, i16 17795, i16 -16384, i16 17799, i16 16398, i16 17794, i16 -16384, i16 17799, i16 16398, i16 17793, i16 -16384, i16 18111, i16 18054, i16 18114, i16 -16384, i16 18111, i16 18054, i16 18117, i16 -16384, i16 18111, i16 18054, i16 18120, i16 -16384, i16 18111, i16 18054, i16 18123, i16 -16384, i16 17799, i16 16398, i16 17792, i16 -16384, i16 17799, i16 16398, i16 17791, i16 -16384, i16 17799, i16 16398, i16 17790, i16 -16384, i16 17799, i16 16398, i16 17789, i16 -16384, i16 18111, i16 18054, i16 18126, i16 -16384, i16 18111, i16 18054, i16 18129, i16 -16384, i16 18111, i16 18054, i16 18132, i16 -16384, i16 18111, i16 18054, i16 18135, i16 -16384, i16 17800, i16 16398, i16 16393, i16 -16384, i16 17800, i16 16398, i16 17601, i16 -16384, i16 18138, i16 18054, i16 18021, i16 -16384, i16 18138, i16 18054, i16 18090, i16 -16384, i16 18138, i16 18054, i16 18093, i16 -16384, i16 18138, i16 18054, i16 18096, i16 -16384, i16 17800, i16 16398, i16 17273, i16 -16384, i16 17800, i16 16398, i16 17600, i16 -16384, i16 18138, i16 18054, i16 18099, i16 -16384, i16 18138, i16 18054, i16 18102, i16 -16384, i16 18138, i16 18054, i16 18105, i16 -16384, i16 18138, i16 18054, i16 18015, i16 -16384, i16 17801, i16 16398, i16 16393, i16 -16384, i16 17801, i16 16398, i16 17601, i16 -16384, i16 18141, i16 18054, i16 18021, i16 -16384, i16 18141, i16 18054, i16 18090, i16 -16384, i16 18141, i16 18054, i16 18093, i16 -16384, i16 18141, i16 18054, i16 18096, i16 -16384, i16 17801, i16 16398, i16 17273, i16 -16384, i16 17801, i16 16398, i16 17600, i16 -16384, i16 18141, i16 18054, i16 18099, i16 -16384, i16 18141, i16 18054, i16 18102, i16 -16384, i16 18141, i16 18054, i16 18105, i16 -16384, i16 18141, i16 18054, i16 18015, i16 -16384, i16 17802, i16 16398, i16 16393, i16 -16384, i16 17802, i16 16398, i16 17601, i16 -16384, i16 18144, i16 18054, i16 18021, i16 -16384, i16 18144, i16 18054, i16 18090, i16 -16384, i16 18144, i16 18054, i16 18093, i16 -16384, i16 18144, i16 18054, i16 18096, i16 -16384, i16 17802, i16 16398, i16 17273, i16 -16384, i16 17802, i16 16398, i16 17600, i16 -16384, i16 18144, i16 18054, i16 18099, i16 -16384, i16 18144, i16 18054, i16 18102, i16 -16384, i16 18144, i16 18054, i16 18105, i16 -16384, i16 18144, i16 18054, i16 18015, i16 -16384, i16 17804, i16 16398, i16 16393, i16 -16384, i16 17804, i16 16398, i16 17601, i16 -16384, i16 18147, i16 18054, i16 18021, i16 -16384, i16 18147, i16 18054, i16 18090, i16 -16384, i16 18147, i16 18054, i16 18093, i16 -16384, i16 18147, i16 18054, i16 18096, i16 -16384, i16 17804, i16 16398, i16 17600, i16 -16384, i16 17804, i16 16398, i16 17273, i16 -16384, i16 18147, i16 18054, i16 18099, i16 -16384, i16 18147, i16 18054, i16 18102, i16 -16384, i16 18147, i16 18054, i16 18105, i16 -16384, i16 18147, i16 18054, i16 18015, i16 -16384, i16 17805, i16 16398, i16 16393, i16 -16384, i16 17805, i16 16398, i16 17601, i16 -16384, i16 18150, i16 18054, i16 18021, i16 -16384, i16 18150, i16 18054, i16 18090, i16 -16384, i16 18150, i16 18054, i16 18093, i16 -16384, i16 18150, i16 18054, i16 18096, i16 -16384, i16 17805, i16 16398, i16 17600, i16 -16384, i16 17805, i16 16398, i16 17273, i16 -16384, i16 18150, i16 18054, i16 18099, i16 -16384, i16 18150, i16 18054, i16 18102, i16 -16384, i16 18150, i16 18054, i16 18105, i16 -16384, i16 18150, i16 18054, i16 18015, i16 -16384, i16 17807, i16 16398, i16 16393, i16 -16384, i16 17807, i16 16398, i16 17601, i16 -16384, i16 18153, i16 18054, i16 18021, i16 -16384, i16 18153, i16 18054, i16 18090, i16 -16384, i16 18153, i16 18054, i16 18093, i16 -16384, i16 18153, i16 18054, i16 18096, i16 -16384, i16 17807, i16 16398, i16 17600, i16 -16384, i16 17807, i16 16398, i16 17273, i16 -16384, i16 18153, i16 18054, i16 18099, i16 -16384, i16 18153, i16 18054, i16 18102, i16 -16384, i16 18153, i16 18054, i16 18105, i16 -16384, i16 18153, i16 18054, i16 18015, i16 -16384, i16 16384, i16 16384, i16 16384, i16 -2, i16 17934, i16 16398, i16 17273, i16 -16384, i16 17290, i16 17928, i16 17273, i16 -16384, i16 17289, i16 17274, i16 17273, i16 -16384, i16 17289, i16 17276, i16 17273, i16 -16384, i16 17289, i16 17275, i16 17273, i16 -16384, i16 17289, i16 17929, i16 17273, i16 -16384, i16 17289, i16 17929, i16 17932, i16 -16384, i16 17289, i16 17929, i16 17933, i16 -16384, i16 16472, i16 16399, i16 17273, i16 -16384, i16 17291, i16 17931, i16 17273, i16 -16384, i16 17291, i16 17274, i16 17273, i16 -16384, i16 17935, i16 16398, i16 17273, i16 -16384, i16 17935, i16 17930, i16 17273, i16 -16384, i16 17935, i16 17277, i16 17273, i16 -16384, i16 17934, i16 16398, i16 16387, i16 -16384, i16 17934, i16 16398, i16 16388, i16 -16384, i16 17290, i16 16398, i16 16387, i16 -16384, i16 17290, i16 16398, i16 16388, i16 -16384, i16 17290, i16 17928, i16 16387, i16 -16384, i16 17290, i16 17928, i16 16388, i16 -16384, i16 17289, i16 16398, i16 16387, i16 -16384, i16 17289, i16 17274, i16 16387, i16 -16384, i16 17289, i16 17274, i16 16388, i16 -16384, i16 17289, i16 17276, i16 16387, i16 -16384, i16 17289, i16 17276, i16 16388, i16 -16384, i16 17289, i16 17275, i16 16387, i16 -16384, i16 17289, i16 17275, i16 16388, i16 -16384, i16 17289, i16 17929, i16 16387, i16 -16384, i16 17289, i16 17929, i16 16388, i16 -16384, i16 16472, i16 16398, i16 16387, i16 -16384, i16 16472, i16 16398, i16 16388, i16 -16384, i16 16472, i16 16398, i16 16389, i16 -16384, i16 16472, i16 16398, i16 16390, i16 -16384, i16 16472, i16 16399, i16 16387, i16 -16384, i16 16472, i16 16399, i16 16388, i16 -16384, i16 16472, i16 16399, i16 16389, i16 -16384, i16 16472, i16 16399, i16 16390, i16 -16384, i16 17291, i16 16398, i16 16387, i16 -16384, i16 17291, i16 16398, i16 16388, i16 -16384, i16 17291, i16 16398, i16 16389, i16 -16384, i16 17291, i16 16398, i16 16390, i16 -16384, i16 17291, i16 17931, i16 16387, i16 -16384, i16 17291, i16 17931, i16 16388, i16 -16384, i16 17291, i16 17274, i16 16387, i16 -16384, i16 17291, i16 17274, i16 16388, i16 -16384, i16 17935, i16 16398, i16 16387, i16 -16384, i16 17935, i16 16398, i16 16388, i16 -16384, i16 17935, i16 16398, i16 16389, i16 -16384, i16 17935, i16 16398, i16 16390, i16 -16384, i16 17935, i16 17930, i16 16387, i16 -16384, i16 17935, i16 17930, i16 16388, i16 -16384, i16 17935, i16 17277, i16 16387, i16 -16384, i16 17935, i16 17277, i16 16388, i16 -16384, i16 17935, i16 17277, i16 16389, i16 -16384, i16 17935, i16 17277, i16 16390, i16 -16384, i16 18156, i16 18054, i16 18159, i16 -16384, i16 18156, i16 18054, i16 18162, i16 -16384, i16 18165, i16 18168, i16 18159, i16 -16384, i16 18165, i16 18168, i16 18162, i16 -16384, i16 18165, i16 18171, i16 18159, i16 -16384, i16 18165, i16 18171, i16 18162, i16 -16384, i16 18174, i16 18054, i16 18159, i16 -16384, i16 18174, i16 18054, i16 18162, i16 -16384, i16 18177, i16 18182, i16 18187, i16 -16384, i16 17958, i16 17281, i16 16393, i16 -16384, i16 17958, i16 17281, i16 17273, i16 -16384, i16 17959, i16 17281, i16 16393, i16 -16384, i16 17959, i16 17281, i16 17273, i16 -16384, i16 17960, i16 17281, i16 16393, i16 -16384, i16 17960, i16 17281, i16 17273, i16 -16384, i16 17961, i16 17281, i16 16393, i16 -16384, i16 17961, i16 17281, i16 17273, i16 -16384, i16 17962, i16 17281, i16 16393, i16 -16384, i16 17962, i16 17281, i16 17273, i16 -16384, i16 17963, i16 17280, i16 16393, i16 -16384, i16 17963, i16 17280, i16 17273, i16 -16384, i16 17964, i16 16407, i16 17273, i16 -16384, i16 17964, i16 16407, i16 17600, i16 -16384, i16 17964, i16 16407, i16 16393, i16 -16384, i16 17964, i16 16407, i16 17601, i16 -16384, i16 17965, i16 16407, i16 17273, i16 -16384, i16 17965, i16 16407, i16 17600, i16 -16384, i16 17965, i16 16407, i16 16393, i16 -16384, i16 17965, i16 16407, i16 17601, i16 -16384, i16 17966, i16 16407, i16 17273, i16 -16384, i16 17966, i16 16407, i16 17600, i16 -16384, i16 17966, i16 16407, i16 16393, i16 -16384, i16 17966, i16 16407, i16 17601, i16 -16384, i16 17967, i16 16407, i16 17273, i16 -16384, i16 17967, i16 16407, i16 17600, i16 -16384, i16 17967, i16 16407, i16 16393, i16 -16384, i16 17967, i16 16407, i16 17601, i16 -16384, i16 17968, i16 16407, i16 17273, i16 -16384, i16 17968, i16 16407, i16 17600, i16 -16384, i16 17968, i16 16407, i16 16393, i16 -16384, i16 17968, i16 16407, i16 17601, i16 -16384, i16 17969, i16 16407, i16 17273, i16 -16384, i16 17969, i16 16407, i16 17600, i16 -16384, i16 17969, i16 16407, i16 16393, i16 -16384, i16 17969, i16 16407, i16 17601, i16 -16384, i16 17970, i16 16407, i16 17273, i16 -16384, i16 17970, i16 16407, i16 17600, i16 -16384, i16 17970, i16 16407, i16 16393, i16 -16384, i16 17970, i16 16407, i16 17601, i16 -16384, i16 17971, i16 16407, i16 17273, i16 -16384, i16 17971, i16 16407, i16 17600, i16 -16384, i16 17971, i16 16407, i16 16393, i16 -16384, i16 17971, i16 16407, i16 17601, i16 -16384, i16 18000, i16 16407, i16 17273, i16 -16384, i16 18000, i16 16407, i16 17600, i16 -16384, i16 18001, i16 16407, i16 17273, i16 -16384, i16 18001, i16 16407, i16 17600, i16 -16384, i16 18000, i16 16407, i16 16393, i16 -16384, i16 18000, i16 16407, i16 17601, i16 -16384, i16 18001, i16 16407, i16 16393, i16 -16384, i16 18001, i16 16407, i16 17601, i16 -16384, i16 18192, i16 18078, i16 18015, i16 -16384, i16 18192, i16 18195, i16 18015, i16 -16384, i16 18198, i16 18078, i16 18015, i16 -16384, i16 17299, i16 17300, i16 17273, i16 -16384, i16 17299, i16 17301, i16 17273, i16 -16384, i16 17299, i16 17335, i16 17273, i16 -16384, i16 17305, i16 17306, i16 17273, i16 -16384, i16 17305, i16 17307, i16 17273, i16 -16384, i16 17305, i16 17333, i16 17273, i16 -16384, i16 18192, i16 18078, i16 18021, i16 -16384, i16 18192, i16 18195, i16 18021, i16 -16384, i16 18198, i16 18078, i16 18021, i16 -16384, i16 17299, i16 17300, i16 16393, i16 -16384, i16 17299, i16 17301, i16 16393, i16 -16384, i16 17299, i16 17335, i16 16393, i16 -16384, i16 17305, i16 17306, i16 16393, i16 -16384, i16 17305, i16 17307, i16 16393, i16 -16384, i16 17305, i16 17333, i16 16393, i16 -16384, i16 17295, i16 17297, i16 17273, i16 -16384, i16 17310, i16 17321, i16 17273, i16 -16384, i16 18201, i16 18078, i16 18015, i16 -16384, i16 18204, i16 18078, i16 18015, i16 -16384, i16 17323, i16 17324, i16 17273, i16 -16384, i16 17328, i16 17322, i16 17273, i16 -16384, i16 17295, i16 17297, i16 16393, i16 -16384, i16 17308, i16 17309, i16 16393, i16 -16384, i16 17310, i16 17321, i16 16393, i16 -16384, i16 18201, i16 18078, i16 18021, i16 -16384, i16 18204, i16 18078, i16 18021, i16 -16384, i16 17323, i16 17324, i16 16393, i16 -16384, i16 17328, i16 17322, i16 16393, i16 -16384, i16 18006, i16 16404, i16 17273, i16 -16384, i16 18006, i16 16404, i16 16393, i16 -16384, i16 32766, i16 16382, i16 32766, i16 -16386, i16 32766, i16 16382, i16 32766, i16 -32768, i16 16384, i16 0, i16 16384, i16 -16386, i16 32766, i16 2, i16 16385, i16 -32768, i16 17065, i16 2, i16 18080, i16 -32768, i16 17065, i16 2, i16 32766, i16 -32768, i16 17065, i16 5, i16 16385, i16 -32768, i16 17065, i16 5, i16 18080, i16 -32768, i16 17065, i16 6, i16 16385, i16 -32768, i16 17065, i16 6, i16 18080, i16 -32768, i16 17065, i16 7, i16 16385, i16 -32768, i16 17065, i16 7, i16 18080, i16 -32768, i16 17065, i16 8, i16 16385, i16 -32768, i16 17065, i16 8, i16 18080, i16 -32768, i16 17065, i16 9, i16 16385, i16 -32768, i16 17065, i16 9, i16 18080, i16 -32768, i16 17065, i16 11, i16 16385, i16 -32768, i16 17065, i16 11, i16 18080, i16 -32768, i16 17065, i16 12, i16 16385, i16 -32768, i16 17065, i16 12, i16 18080, i16 -32768, i16 17065, i16 13, i16 16385, i16 -32768, i16 17065, i16 13, i16 18080, i16 -32768, i16 17065, i16 15, i16 16385, i16 -32768, i16 17065, i16 15, i16 18080, i16 -32768, i16 17065, i16 16, i16 16385, i16 -32768, i16 17065, i16 16, i16 18080, i16 -32768, i16 17065, i16 17, i16 16385, i16 -32768, i16 17065, i16 17, i16 18080, i16 -32768, i16 17065, i16 18, i16 16385, i16 -32768, i16 17065, i16 18, i16 18080, i16 -32768, i16 17065, i16 19, i16 16385, i16 -32768, i16 17065, i16 19, i16 18080, i16 -32768, i16 17065, i16 20, i16 16385, i16 -32768, i16 17065, i16 20, i16 18080, i16 -32768, i16 17065, i16 21, i16 16385, i16 -32768, i16 17065, i16 21, i16 18080, i16 -32768, i16 17065, i16 22, i16 16385, i16 -32768, i16 17065, i16 22, i16 18080, i16 -32768, i16 17065, i16 27, i16 16385, i16 -32768, i16 17065, i16 27, i16 18080, i16 -32768, i16 17065, i16 29, i16 16385, i16 -32768, i16 17065, i16 29, i16 18080, i16 -32768, i16 17065, i16 34, i16 16385, i16 -32768, i16 17065, i16 34, i16 18080, i16 -32768, i16 17065, i16 35, i16 16385, i16 -32768, i16 17065, i16 35, i16 18080, i16 -32768, i16 17065, i16 40, i16 16385, i16 -32768, i16 17065, i16 40, i16 18080, i16 -32768, i16 17065, i16 55, i16 16385, i16 -32768, i16 17065, i16 55, i16 18080, i16 -32768, i16 17113, i16 2, i16 18080, i16 -32768, i16 17113, i16 39, i16 16385, i16 -32768, i16 17113, i16 39, i16 18080, i16 -32768, i16 17113, i16 40, i16 16385, i16 -32768, i16 17113, i16 40, i16 18080, i16 -32768, i16 17113, i16 58, i16 16385, i16 -32768, i16 17113, i16 58, i16 18080, i16 -32768, i16 17122, i16 2, i16 18080, i16 -32768, i16 17122, i16 16, i16 16385, i16 -32768, i16 17122, i16 16, i16 18080, i16 -32768, i16 17122, i16 34, i16 16385, i16 -32768, i16 17122, i16 34, i16 18080, i16 -32768, i16 17122, i16 39, i16 16385, i16 -32768, i16 17122, i16 39, i16 18080, i16 -32768, i16 17122, i16 45, i16 16385, i16 -32768, i16 17122, i16 45, i16 18080, i16 -32768, i16 17133, i16 2, i16 18080, i16 -32768, i16 17133, i16 22, i16 16385, i16 -32768, i16 17133, i16 22, i16 18080, i16 -32768, i16 17133, i16 39, i16 16385, i16 -32768, i16 17133, i16 39, i16 18080, i16 -32768, i16 17133, i16 40, i16 16385, i16 -32768, i16 17133, i16 40, i16 18080, i16 -32768, i16 17133, i16 44, i16 16385, i16 -32768, i16 17133, i16 44, i16 18080, i16 -32768, i16 17133, i16 57, i16 16385, i16 -32768, i16 17133, i16 57, i16 18080, i16 -32768, i16 17133, i16 58, i16 16385, i16 -32768, i16 17133, i16 58, i16 18080, i16 -32768, i16 17148, i16 2, i16 18080, i16 -32768, i16 17148, i16 5, i16 16385, i16 -32768, i16 17148, i16 5, i16 18080, i16 -32768, i16 17148, i16 6, i16 16385, i16 -32768, i16 17148, i16 6, i16 18080, i16 -32768, i16 17148, i16 7, i16 16385, i16 -32768, i16 17148, i16 7, i16 18080, i16 -32768, i16 17148, i16 15, i16 16385, i16 -32768, i16 17148, i16 15, i16 18080, i16 -32768, i16 17148, i16 16, i16 16385, i16 -32768, i16 17148, i16 16, i16 18080, i16 -32768, i16 17148, i16 17, i16 16385, i16 -32768, i16 17148, i16 17, i16 18080, i16 -32768, i16 17148, i16 18, i16 16385, i16 -32768, i16 17148, i16 18, i16 18080, i16 -32768, i16 17148, i16 19, i16 16385, i16 -32768, i16 17148, i16 19, i16 18080, i16 -32768, i16 17148, i16 20, i16 16385, i16 -32768, i16 17148, i16 20, i16 18080, i16 -32768, i16 17148, i16 21, i16 16385, i16 -32768, i16 17148, i16 21, i16 18080, i16 -32768, i16 17148, i16 22, i16 16385, i16 -32768, i16 17148, i16 22, i16 18080, i16 -32768, i16 17148, i16 28, i16 16385, i16 -32768, i16 17148, i16 28, i16 18080, i16 -32768, i16 17148, i16 34, i16 16385, i16 -32768, i16 17148, i16 34, i16 18080, i16 -32768, i16 17148, i16 35, i16 16385, i16 -32768, i16 17148, i16 35, i16 18080, i16 -32768, i16 17148, i16 38, i16 16385, i16 -32768, i16 17148, i16 38, i16 18080, i16 -32768, i16 17148, i16 39, i16 16385, i16 -32768, i16 17148, i16 39, i16 18080, i16 -32768, i16 17148, i16 40, i16 16385, i16 -32768, i16 17148, i16 40, i16 18080, i16 -32768, i16 17148, i16 47, i16 16385, i16 -32768, i16 17148, i16 47, i16 18080, i16 -32768, i16 17148, i16 51, i16 16385, i16 -32768, i16 17148, i16 51, i16 18080, i16 -32768, i16 17148, i16 52, i16 16385, i16 -32768, i16 17148, i16 52, i16 18080, i16 -32768, i16 17148, i16 57, i16 16385, i16 -32768, i16 17148, i16 57, i16 18080, i16 -32768, i16 17193, i16 2, i16 18080, i16 -32768, i16 17193, i16 34, i16 16385, i16 -32768, i16 17193, i16 34, i16 18080, i16 -32768, i16 17193, i16 39, i16 16385, i16 -32768, i16 17193, i16 39, i16 18080, i16 -32768, i16 18531, i16 2150, i16 18537, i16 -32768, i16 18540, i16 2150, i16 18543, i16 -32768, i16 18546, i16 2150, i16 18549, i16 -32768, i16 18552, i16 2172, i16 18560, i16 -32768, i16 18564, i16 2172, i16 18568, i16 -32768, i16 17205, i16 2, i16 18080, i16 -32768, i16 17205, i16 3, i16 16385, i16 -32768, i16 17205, i16 3, i16 18080, i16 -32768, i16 17205, i16 16, i16 16385, i16 -32768, i16 17205, i16 16, i16 18080, i16 -32768, i16 17205, i16 22, i16 16385, i16 -32768, i16 17205, i16 22, i16 18080, i16 -32768, i16 17205, i16 39, i16 16385, i16 -32768, i16 17205, i16 39, i16 18080, i16 -32768, i16 17205, i16 42, i16 16385, i16 -32768, i16 17205, i16 42, i16 18080, i16 -32768, i16 17205, i16 50, i16 16385, i16 -32768, i16 17205, i16 50, i16 18080, i16 -32768, i16 17220, i16 2, i16 18080, i16 -32768, i16 17220, i16 14, i16 16385, i16 -32768, i16 17220, i16 14, i16 18080, i16 -32768, i16 17220, i16 16, i16 16385, i16 -32768, i16 17220, i16 16, i16 18080, i16 -32768, i16 17220, i16 28, i16 16385, i16 -32768, i16 17220, i16 28, i16 18080, i16 -32768, i16 17220, i16 39, i16 16385, i16 -32768, i16 17220, i16 39, i16 18080, i16 -32768, i16 17220, i16 40, i16 16385, i16 -32768, i16 17220, i16 40, i16 18080, i16 -32768, i16 17220, i16 42, i16 16385, i16 -32768, i16 17220, i16 42, i16 18080, i16 -32768, i16 17220, i16 44, i16 16385, i16 -32768, i16 17220, i16 44, i16 18080, i16 -32768, i16 18178, i16 2, i16 18080, i16 -32768, i16 18178, i16 5, i16 16385, i16 -32768, i16 18178, i16 5, i16 18080, i16 -32768, i16 18178, i16 6, i16 16385, i16 -32768, i16 18178, i16 6, i16 18080, i16 -32768, i16 18178, i16 7, i16 16385, i16 -32768, i16 18178, i16 7, i16 18080, i16 -32768, i16 18178, i16 15, i16 16385, i16 -32768, i16 18178, i16 15, i16 18080, i16 -32768, i16 18178, i16 16, i16 16385, i16 -32768, i16 18178, i16 16, i16 18080, i16 -32768, i16 18178, i16 22, i16 16385, i16 -32768, i16 18178, i16 22, i16 18080, i16 -32768, i16 18178, i16 28, i16 16385, i16 -32768, i16 18178, i16 28, i16 18080, i16 -32768, i16 18178, i16 30, i16 16385, i16 -32768, i16 18178, i16 30, i16 18080, i16 -32768, i16 18178, i16 34, i16 16385, i16 -32768, i16 18178, i16 34, i16 18080, i16 -32768, i16 18178, i16 35, i16 16385, i16 -32768, i16 18178, i16 35, i16 18080, i16 -32768, i16 18178, i16 38, i16 16385, i16 -32768, i16 18178, i16 38, i16 18080, i16 -32768, i16 18178, i16 40, i16 16385, i16 -32768, i16 18178, i16 40, i16 18080, i16 -32768, i16 18178, i16 48, i16 16385, i16 -32768, i16 18178, i16 48, i16 18080, i16 -32768, i16 18572, i16 2191, i16 18578, i16 -32768, i16 18572, i16 2191, i16 18581, i16 -32768, i16 17267, i16 2, i16 18080, i16 -32768, i16 17267, i16 16, i16 16385, i16 -32768, i16 17267, i16 16, i16 18080, i16 -32768, i16 17272, i16 2, i16 18080, i16 -32768, i16 17272, i16 3, i16 16385, i16 -32768, i16 17272, i16 3, i16 18080, i16 -32768, i16 17272, i16 22, i16 16385, i16 -32768, i16 17272, i16 22, i16 18080, i16 -32768, i16 17272, i16 34, i16 16385, i16 -32768, i16 17272, i16 34, i16 18080, i16 -32768, i16 17272, i16 40, i16 16385, i16 -32768, i16 17272, i16 40, i16 18080, i16 -32768, i16 17272, i16 58, i16 16385, i16 -32768, i16 17272, i16 58, i16 18080, i16 -32768, i16 17285, i16 2, i16 18080, i16 -32768, i16 17285, i16 3, i16 16385, i16 -32768, i16 17285, i16 3, i16 18080, i16 -32768, i16 17285, i16 22, i16 16385, i16 -32768, i16 17285, i16 22, i16 18080, i16 -32768, i16 17285, i16 39, i16 16385, i16 -32768, i16 17285, i16 39, i16 18080, i16 -32768, i16 17285, i16 40, i16 16385, i16 -32768, i16 17285, i16 40, i16 18080, i16 -32768, i16 17285, i16 56, i16 16385, i16 -32768, i16 17285, i16 56, i16 18080, i16 -32768, i16 17285, i16 57, i16 16385, i16 -32768, i16 17285, i16 57, i16 18080, i16 -32768, i16 17285, i16 58, i16 16385, i16 -32768, i16 17285, i16 58, i16 18080, i16 -32768, i16 17302, i16 2, i16 18080, i16 -32768, i16 17302, i16 3, i16 16385, i16 -32768, i16 17302, i16 3, i16 18080, i16 -32768, i16 17302, i16 39, i16 16385, i16 -32768, i16 17302, i16 39, i16 18080, i16 -32768, i16 17302, i16 40, i16 16385, i16 -32768, i16 17302, i16 40, i16 18080, i16 -32768, i16 17311, i16 2, i16 18080, i16 -32768, i16 17311, i16 22, i16 16385, i16 -32768, i16 17311, i16 22, i16 18080, i16 -32768, i16 17311, i16 39, i16 16385, i16 -32768, i16 17311, i16 39, i16 18080, i16 -32768, i16 17311, i16 40, i16 16385, i16 -32768, i16 17311, i16 40, i16 18080, i16 -32768, i16 17311, i16 57, i16 16385, i16 -32768, i16 17311, i16 57, i16 18080, i16 -32768, i16 17311, i16 58, i16 16385, i16 -32768, i16 17311, i16 58, i16 18080, i16 -32768, i16 17311, i16 65, i16 18080, i16 -32768, i16 17325, i16 2, i16 18080, i16 -32768, i16 17325, i16 2, i16 32766, i16 -32768, i16 17325, i16 5, i16 16385, i16 -32768, i16 17325, i16 5, i16 18080, i16 -32768, i16 17325, i16 6, i16 16385, i16 -32768, i16 17325, i16 6, i16 18080, i16 -32768, i16 17325, i16 7, i16 16385, i16 -32768, i16 17325, i16 7, i16 18080, i16 -32768, i16 17325, i16 15, i16 16385, i16 -32768, i16 17325, i16 15, i16 18080, i16 -32768, i16 17325, i16 16, i16 16385, i16 -32768, i16 17325, i16 16, i16 18080, i16 -32768, i16 17325, i16 17, i16 16385, i16 -32768, i16 17325, i16 17, i16 18080, i16 -32768, i16 17325, i16 18, i16 16385, i16 -32768, i16 17325, i16 18, i16 18080, i16 -32768, i16 17325, i16 19, i16 16385, i16 -32768, i16 17325, i16 19, i16 18080, i16 -32768, i16 17325, i16 20, i16 16385, i16 -32768, i16 17325, i16 20, i16 18080, i16 -32768, i16 17325, i16 21, i16 16385, i16 -32768, i16 17325, i16 21, i16 18080, i16 -32768, i16 17325, i16 22, i16 16385, i16 -32768, i16 17325, i16 22, i16 18080, i16 -32768, i16 17325, i16 34, i16 16385, i16 -32768, i16 17325, i16 34, i16 18080, i16 -32768, i16 17325, i16 36, i16 16385, i16 -32768, i16 17325, i16 36, i16 18080, i16 -32768, i16 17325, i16 37, i16 16385, i16 -32768, i16 17325, i16 37, i16 18080, i16 -32768, i16 17325, i16 40, i16 16385, i16 -32768, i16 17325, i16 40, i16 18080, i16 -32768, i16 17325, i16 48, i16 16385, i16 -32768, i16 17325, i16 48, i16 18080, i16 -32768, i16 17325, i16 49, i16 16385, i16 -32768, i16 17325, i16 49, i16 18080, i16 -32768, i16 17325, i16 51, i16 16385, i16 -32768, i16 17325, i16 51, i16 18080, i16 -32768, i16 17325, i16 52, i16 16385, i16 -32768, i16 17325, i16 52, i16 18080, i16 -32768, i16 17325, i16 59, i16 16385, i16 -32768, i16 17325, i16 59, i16 18080, i16 -32768, i16 17325, i16 60, i16 16385, i16 -32768, i16 17325, i16 60, i16 18080, i16 -32768, i16 17325, i16 61, i16 16385, i16 -32768, i16 17325, i16 61, i16 18080, i16 -32768, i16 17325, i16 62, i16 16385, i16 -32768, i16 17325, i16 62, i16 18080, i16 -32768, i16 17325, i16 63, i16 16385, i16 -32768, i16 17325, i16 63, i16 18080, i16 -32768, i16 17325, i16 64, i16 16385, i16 -32768, i16 17325, i16 64, i16 18080, i16 -32768, i16 17379, i16 2, i16 18080, i16 -32768, i16 17379, i16 3, i16 16385, i16 -32768, i16 17379, i16 3, i16 18080, i16 -32768, i16 17379, i16 39, i16 16385, i16 -32768, i16 17379, i16 39, i16 18080, i16 -32768, i16 17386, i16 2, i16 18080, i16 -32768, i16 17389, i16 2, i16 18080, i16 -32768, i16 17389, i16 3, i16 16385, i16 -32768, i16 17389, i16 3, i16 18080, i16 -32768, i16 17389, i16 6, i16 16385, i16 -32768, i16 17389, i16 6, i16 18080, i16 -32768, i16 17389, i16 15, i16 16385, i16 -32768, i16 17389, i16 15, i16 18080, i16 -32768, i16 17389, i16 22, i16 16385, i16 -32768, i16 17389, i16 22, i16 18080, i16 -32768, i16 17389, i16 39, i16 16385, i16 -32768, i16 17389, i16 39, i16 18080, i16 -32768, i16 17389, i16 40, i16 16385, i16 -32768, i16 17389, i16 40, i16 18080, i16 -32768, i16 17389, i16 56, i16 16385, i16 -32768, i16 17389, i16 56, i16 18080, i16 -32768, i16 17389, i16 58, i16 16385, i16 -32768, i16 17389, i16 58, i16 18080, i16 -32768, i16 17408, i16 2, i16 18080, i16 -32768, i16 18584, i16 2150, i16 18587, i16 -32768, i16 17408, i16 4, i16 16385, i16 -32768, i16 17408, i16 4, i16 18080, i16 -32768, i16 17408, i16 16, i16 16385, i16 -32768, i16 17408, i16 16, i16 18080, i16 -32768, i16 17408, i16 24, i16 16385, i16 -32768, i16 17408, i16 24, i16 18080, i16 -32768, i16 17408, i16 39, i16 16385, i16 -32768, i16 17408, i16 39, i16 18080, i16 -32768, i16 17408, i16 40, i16 16385, i16 -32768, i16 17408, i16 40, i16 18080, i16 -32768, i16 17408, i16 41, i16 16385, i16 -32768, i16 17408, i16 41, i16 18080, i16 -32768, i16 17408, i16 16382, i16 18080, i16 -32768, i16 18590, i16 2150, i16 18593, i16 -32768, i16 18584, i16 2150, i16 18596, i16 -32768, i16 17427, i16 2, i16 18080, i16 -32768, i16 17427, i16 22, i16 16385, i16 -32768, i16 17427, i16 22, i16 18080, i16 -32768, i16 17427, i16 39, i16 16385, i16 -32768, i16 17427, i16 39, i16 18080, i16 -32768, i16 17427, i16 40, i16 16385, i16 -32768, i16 17427, i16 40, i16 18080, i16 -32768, i16 17427, i16 42, i16 16385, i16 -32768, i16 17427, i16 42, i16 18080, i16 -32768, i16 17427, i16 44, i16 16385, i16 -32768, i16 17427, i16 44, i16 18080, i16 -32768, i16 17427, i16 57, i16 16385, i16 -32768, i16 17427, i16 57, i16 18080, i16 -32768, i16 17427, i16 58, i16 16385, i16 -32768, i16 17427, i16 58, i16 18080, i16 -32768, i16 17444, i16 2, i16 18080, i16 -32768, i16 17444, i16 5, i16 16385, i16 -32768, i16 17444, i16 5, i16 18080, i16 -32768, i16 17444, i16 6, i16 16385, i16 -32768, i16 17444, i16 6, i16 18080, i16 -32768, i16 17444, i16 7, i16 16385, i16 -32768, i16 17444, i16 7, i16 18080, i16 -32768, i16 17444, i16 15, i16 16385, i16 -32768, i16 17444, i16 15, i16 18080, i16 -32768, i16 17444, i16 16, i16 16385, i16 -32768, i16 17444, i16 16, i16 18080, i16 -32768, i16 17444, i16 22, i16 16385, i16 -32768, i16 17444, i16 22, i16 18080, i16 -32768, i16 17444, i16 25, i16 16385, i16 -32768, i16 17444, i16 25, i16 18080, i16 -32768, i16 17444, i16 29, i16 16385, i16 -32768, i16 17444, i16 29, i16 18080, i16 -32768, i16 17444, i16 30, i16 16385, i16 -32768, i16 17444, i16 30, i16 18080, i16 -32768, i16 17444, i16 31, i16 16385, i16 -32768, i16 17444, i16 31, i16 18080, i16 -32768, i16 17444, i16 32, i16 16385, i16 -32768, i16 17444, i16 32, i16 18080, i16 -32768, i16 17444, i16 34, i16 16385, i16 -32768, i16 17444, i16 34, i16 18080, i16 -32768, i16 17444, i16 35, i16 16385, i16 -32768, i16 17444, i16 35, i16 18080, i16 -32768, i16 17444, i16 36, i16 16385, i16 -32768, i16 17444, i16 36, i16 18080, i16 -32768, i16 17444, i16 38, i16 16385, i16 -32768, i16 17444, i16 38, i16 18080, i16 -32768, i16 17444, i16 40, i16 16385, i16 -32768, i16 17444, i16 40, i16 18080, i16 -32768, i16 17444, i16 48, i16 16385, i16 -32768, i16 17444, i16 48, i16 18080, i16 -32768, i16 17444, i16 53, i16 16385, i16 -32768, i16 17444, i16 53, i16 18080, i16 -32768, i16 17444, i16 54, i16 16385, i16 -32768, i16 17444, i16 54, i16 18080, i16 -32768, i16 17444, i16 57, i16 16385, i16 -32768, i16 17444, i16 57, i16 18080, i16 -32768, i16 17444, i16 59, i16 16385, i16 -32768, i16 17444, i16 59, i16 18080, i16 -32768, i16 17444, i16 60, i16 16385, i16 -32768, i16 17444, i16 60, i16 18080, i16 -32768, i16 17444, i16 61, i16 16385, i16 -32768, i16 17444, i16 61, i16 18080, i16 -32768, i16 17444, i16 62, i16 16385, i16 -32768, i16 17444, i16 62, i16 18080, i16 -32768, i16 17444, i16 63, i16 16385, i16 -32768, i16 17444, i16 63, i16 18080, i16 -32768, i16 17444, i16 64, i16 16385, i16 -32768, i16 17444, i16 64, i16 18080, i16 -32768, i16 17501, i16 2, i16 18080, i16 -32768, i16 17501, i16 28, i16 16385, i16 -32768, i16 17501, i16 28, i16 18080, i16 -32768, i16 17501, i16 39, i16 16385, i16 -32768, i16 17501, i16 39, i16 18080, i16 -32768, i16 18254, i16 5, i16 16385, i16 -32768, i16 18254, i16 5, i16 18080, i16 -32768, i16 18254, i16 16, i16 16385, i16 -32768, i16 18254, i16 16, i16 18080, i16 -32768, i16 18254, i16 28, i16 16385, i16 -32768, i16 18254, i16 28, i16 18080, i16 -32768, i16 18254, i16 34, i16 16385, i16 -32768, i16 18254, i16 34, i16 18080, i16 -32768, i16 18254, i16 35, i16 16385, i16 -32768, i16 18254, i16 35, i16 18080, i16 -32768, i16 18254, i16 39, i16 16385, i16 -32768, i16 18254, i16 39, i16 18080, i16 -32768, i16 18254, i16 40, i16 16385, i16 -32768, i16 18254, i16 40, i16 18080, i16 -32768, i16 18259, i16 16, i16 16385, i16 -32768, i16 18259, i16 16, i16 18080, i16 -32768, i16 18259, i16 40, i16 16385, i16 -32768, i16 18259, i16 40, i16 18080, i16 -32768, i16 18259, i16 42, i16 16385, i16 -32768, i16 18259, i16 42, i16 18080, i16 -32768, i16 18259, i16 58, i16 16385, i16 -32768, i16 18259, i16 58, i16 18080, i16 -32768, i16 32766, i16 1, i16 16450, i16 -32768, i16 17531, i16 1, i16 16451, i16 -32768, i16 17531, i16 1696, i16 16450, i16 -32768, i16 17531, i16 1696, i16 16451, i16 -32768, i16 17535, i16 1696, i16 16450, i16 -32768, i16 17537, i16 1696, i16 16450, i16 -32768, i16 17539, i16 1696, i16 16450, i16 -32768, i16 17541, i16 1, i16 16451, i16 -32768, i16 17541, i16 1696, i16 16450, i16 -32768, i16 17541, i16 1696, i16 16451, i16 -32768, i16 17545, i16 1696, i16 16450, i16 -32768, i16 17547, i16 1, i16 16451, i16 -32768, i16 17547, i16 1696, i16 16450, i16 -32768, i16 17547, i16 1696, i16 16451, i16 -32768, i16 17551, i16 1696, i16 16450, i16 -32768, i16 17553, i16 1, i16 16451, i16 -32768, i16 17553, i16 1, i16 16452, i16 -32768, i16 17553, i16 1696, i16 16450, i16 -32768, i16 17553, i16 1696, i16 16451, i16 -32768, i16 17553, i16 1696, i16 16452, i16 -32768, i16 17553, i16 1696, i16 16453, i16 -32768, i16 17560, i16 1696, i16 16450, i16 -32768, i16 17562, i16 1696, i16 16450, i16 -32768, i16 17564, i16 1696, i16 16450, i16 -32768, i16 17566, i16 1696, i16 16450, i16 -32768, i16 17568, i16 1696, i16 16450, i16 -32768, i16 17570, i16 1, i16 16451, i16 -32768, i16 17570, i16 1696, i16 16450, i16 -32768, i16 17570, i16 1696, i16 16451, i16 -32768, i16 17574, i16 1696, i16 16450, i16 -32768, i16 17576, i16 1696, i16 16450, i16 -32768, i16 17578, i16 1696, i16 16450, i16 -32768, i16 17578, i16 1696, i16 32766, i16 -32768, i16 17581, i16 1696, i16 16450, i16 -32768, i16 17583, i16 1, i16 16451, i16 -32768, i16 17583, i16 1, i16 16452, i16 -32768, i16 17583, i16 1696, i16 16450, i16 -32768, i16 17583, i16 1696, i16 16451, i16 -32768, i16 17583, i16 1696, i16 16452, i16 -32768, i16 17583, i16 1696, i16 16453, i16 -32768, i16 17590, i16 1696, i16 16450, i16 -32768, i16 17592, i16 1696, i16 16450, i16 -32768, i16 17594, i16 1696, i16 16450, i16 -32768, i16 17596, i16 1, i16 16451, i16 -32768, i16 17596, i16 1696, i16 16450, i16 -32768, i16 17596, i16 1696, i16 16451, i16 -32768, i16 32766, i16 70, i16 16385, i16 -32768, i16 17600, i16 70, i16 18080, i16 -32768, i16 17602, i16 70, i16 18080, i16 -32768, i16 17604, i16 70, i16 18080, i16 -32768, i16 17606, i16 70, i16 18080, i16 -32768, i16 17608, i16 70, i16 18080, i16 -32768, i16 17610, i16 70, i16 18080, i16 -32768, i16 17612, i16 70, i16 18080, i16 -32768, i16 17614, i16 70, i16 18080, i16 -32768, i16 17616, i16 70, i16 18080, i16 -32768, i16 17618, i16 70, i16 18080, i16 -32768, i16 17620, i16 70, i16 18080, i16 -32768, i16 17622, i16 70, i16 18080, i16 -32768, i16 17624, i16 70, i16 18080, i16 -32768, i16 17626, i16 70, i16 18080, i16 -32768, i16 17628, i16 70, i16 18080, i16 -32768, i16 17630, i16 70, i16 18080, i16 -32768, i16 17632, i16 70, i16 18080, i16 -32768, i16 17634, i16 70, i16 18080, i16 -32768, i16 17636, i16 70, i16 18080, i16 -32768, i16 17638, i16 70, i16 18080, i16 -32768, i16 17640, i16 70, i16 18080, i16 -32768, i16 17642, i16 70, i16 18080, i16 -32768, i16 17644, i16 70, i16 18080, i16 -32768, i16 17646, i16 70, i16 18080, i16 -32768, i16 17648, i16 70, i16 18080, i16 -32768, i16 17650, i16 70, i16 18080, i16 -32768, i16 17652, i16 70, i16 18080, i16 -32768, i16 17654, i16 70, i16 18080, i16 -32768, i16 17656, i16 70, i16 18080, i16 -32768, i16 17658, i16 70, i16 18080, i16 -32768, i16 17660, i16 70, i16 18080, i16 -32768, i16 17662, i16 70, i16 18080, i16 -32768, i16 17664, i16 70, i16 18080, i16 -32768, i16 17666, i16 70, i16 18080, i16 -32768, i16 17668, i16 70, i16 18080, i16 -32768, i16 17670, i16 70, i16 18080, i16 -32768, i16 17672, i16 70, i16 18080, i16 -32768, i16 17674, i16 70, i16 18080, i16 -32768, i16 17676, i16 70, i16 18080, i16 -32768, i16 17678, i16 70, i16 18080, i16 -32768, i16 17680, i16 70, i16 18080, i16 -32768, i16 32766, i16 70, i16 18080, i16 -32768, i16 17682, i16 70, i16 16385, i16 -32768, i16 17684, i16 70, i16 18080, i16 -32768, i16 17686, i16 70, i16 16385, i16 -32768, i16 17688, i16 70, i16 18080, i16 -32768, i16 17690, i16 70, i16 18080, i16 -32768, i16 17692, i16 70, i16 18080, i16 -32768, i16 17694, i16 70, i16 18080, i16 -32768, i16 17696, i16 70, i16 18080, i16 -32768, i16 17698, i16 70, i16 18080, i16 -32768, i16 17700, i16 70, i16 18080, i16 -32768, i16 17702, i16 70, i16 18080, i16 -32768, i16 32766, i16 0, i16 16384, i16 -32768, i16 32766, i16 16382, i16 16384, i16 -32768, i16 17736, i16 16382, i16 16384, i16 -32768, i16 17735, i16 16382, i16 16384, i16 -32768, i16 17745, i16 16382, i16 16384, i16 -32768, i16 17749, i16 16382, i16 16384, i16 -32768, i16 17756, i16 16382, i16 16384, i16 -32768, i16 17764, i16 16382, i16 16384, i16 -32768, i16 17769, i16 16382, i16 16384, i16 -32768, i16 17774, i16 16382, i16 16384, i16 -32768, i16 17779, i16 16382, i16 16384, i16 -32768, i16 17784, i16 16382, i16 16384, i16 -32768, i16 17787, i16 16382, i16 16384, i16 -32768, i16 17790, i16 16382, i16 16384, i16 -32768, i16 17793, i16 16382, i16 16384, i16 -32768, i16 17796, i16 16382, i16 16384, i16 -32768, i16 17801, i16 16382, i16 16384, i16 -32768, i16 17806, i16 16382, i16 16384, i16 -32768, i16 17811, i16 16382, i16 16384, i16 -32768, i16 17816, i16 16382, i16 16384, i16 -32768, i16 17821, i16 16382, i16 16384, i16 -32768, i16 17826, i16 16382, i16 16384, i16 -32768, i16 17831, i16 16382, i16 16384, i16 -32768, i16 17836, i16 16382, i16 16384, i16 -32768, i16 17841, i16 16382, i16 16384, i16 -32768, i16 17846, i16 16382, i16 16384, i16 -32768, i16 17851, i16 16382, i16 16384, i16 -32768, i16 17856, i16 16382, i16 16384, i16 -32768, i16 17861, i16 16382, i16 16384, i16 -32768, i16 17866, i16 16382, i16 16384, i16 -32768, i16 17871, i16 16382, i16 16384, i16 -32768, i16 17874, i16 16382, i16 16384, i16 -32768, i16 17877, i16 16382, i16 16384, i16 -32768, i16 16384, i16 0, i16 32766, i16 -32768, i16 18115, i16 16382, i16 16384, i16 -32768, i16 18124, i16 16382, i16 16384, i16 -32768, i16 18125, i16 16382, i16 16384, i16 -32768, i16 18126, i16 16382, i16 16384, i16 -32768, i16 18127, i16 16382, i16 16384, i16 -32768, i16 18128, i16 16382, i16 16384, i16 -32768, i16 18129, i16 16382, i16 16384, i16 -32768, i16 18130, i16 16382, i16 16384, i16 -32768, i16 18131, i16 16382, i16 16384, i16 -32768, i16 18132, i16 16382, i16 16384, i16 -32768, i16 18599, i16 2218, i16 18605, i16 -32768, i16 18599, i16 2224, i16 18611, i16 -32768, i16 18614, i16 2233, i16 18620, i16 -32768, i16 18614, i16 2239, i16 18626, i16 -32768, i16 18629, i16 2248, i16 18635, i16 -32768, i16 18629, i16 2254, i16 18641, i16 -32768, i16 18644, i16 2263, i16 18650, i16 -32768, i16 18644, i16 2269, i16 18656, i16 -32768, i16 17909, i16 16382, i16 16384, i16 -32768, i16 17913, i16 16382, i16 16384, i16 -32768, i16 17917, i16 16382, i16 16384, i16 -32768, i16 17922, i16 16382, i16 16384, i16 -32768, i16 17926, i16 16382, i16 16384, i16 -32768, i16 17930, i16 16382, i16 16384, i16 -32768, i16 17935, i16 16382, i16 16384, i16 -32768, i16 17939, i16 16382, i16 16384, i16 -32768, i16 17943, i16 16382, i16 16384, i16 -32768, i16 17948, i16 16382, i16 16384, i16 -32768, i16 17952, i16 16382, i16 16384, i16 -32768, i16 17956, i16 16382, i16 16384, i16 -32768, i16 17960, i16 16382, i16 16384, i16 -32768, i16 17964, i16 16382, i16 16384, i16 -32768, i16 17968, i16 16382, i16 16384, i16 -32768, i16 17972, i16 16382, i16 16384, i16 -32768, i16 17976, i16 16382, i16 16384, i16 -32768, i16 17980, i16 16382, i16 16384, i16 -32768, i16 17986, i16 16382, i16 16384, i16 -32768, i16 17990, i16 16382, i16 16384, i16 -32768, i16 17994, i16 16382, i16 16384, i16 -32768, i16 17996, i16 16382, i16 16384, i16 -32768, i16 17998, i16 16382, i16 16384, i16 -32768, i16 18000, i16 16382, i16 16384, i16 -32768, i16 18002, i16 16382, i16 16384, i16 -32768, i16 18004, i16 16382, i16 16384, i16 -32768, i16 18010, i16 16382, i16 16384, i16 -32768, i16 18016, i16 16382, i16 16384, i16 -32768, i16 18022, i16 16382, i16 16384, i16 -32768, i16 18028, i16 16382, i16 16384, i16 -32768, i16 18034, i16 16382, i16 16384, i16 -32768, i16 18036, i16 16382, i16 16384, i16 -32768, i16 18038, i16 16382, i16 16384, i16 -32768, i16 18040, i16 16382, i16 16384, i16 -32768, i16 18042, i16 16382, i16 16384, i16 -32768, i16 18044, i16 16382, i16 16384, i16 -32768, i16 18048, i16 16382, i16 16384, i16 -32768, i16 18052, i16 16382, i16 16384, i16 -32768, i16 18056, i16 16382, i16 16384, i16 -32768, i16 18058, i16 16382, i16 16384, i16 -32768, i16 18060, i16 16382, i16 16384, i16 -32768, i16 18062, i16 16382, i16 16384, i16 -32768, i16 18064, i16 16382, i16 16384, i16 -32768, i16 18066, i16 16382, i16 16384, i16 -32768, i16 18070, i16 16382, i16 16384, i16 -32768, i16 18072, i16 16382, i16 16384, i16 -32768, i16 18074, i16 16382, i16 16384, i16 -32768, i16 18076, i16 16382, i16 16384, i16 -32768, i16 17065, i16 3, i16 16385, i16 -32768, i16 17065, i16 3, i16 18080, i16 -32768, i16 17065, i16 25, i16 16385, i16 -32768, i16 17065, i16 25, i16 18080, i16 -32768, i16 17065, i16 26, i16 16385, i16 -32768, i16 17065, i16 26, i16 18080, i16 -32768, i16 17065, i16 28, i16 16385, i16 -32768, i16 17065, i16 28, i16 18080, i16 -32768, i16 17065, i16 48, i16 16385, i16 -32768, i16 17065, i16 48, i16 18080, i16 -32768, i16 17065, i16 50, i16 16385, i16 -32768, i16 17065, i16 50, i16 18080, i16 -32768, i16 18659, i16 2278, i16 18578, i16 -32768, i16 18659, i16 2278, i16 18581, i16 -32768, i16 18659, i16 2281, i16 18578, i16 -32768, i16 18659, i16 2281, i16 18581, i16 -32768, i16 18659, i16 2284, i16 18578, i16 -32768, i16 18659, i16 2284, i16 18581, i16 -32768, i16 17122, i16 3, i16 16385, i16 -32768, i16 17122, i16 3, i16 18080, i16 -32768, i16 17122, i16 22, i16 16385, i16 -32768, i16 17122, i16 22, i16 18080, i16 -32768, i16 18164, i16 2, i16 18080, i16 -32768, i16 17133, i16 42, i16 16385, i16 -32768, i16 17133, i16 42, i16 18080, i16 -32768, i16 17148, i16 3, i16 16385, i16 -32768, i16 17148, i16 3, i16 18080, i16 -32768, i16 17148, i16 48, i16 16385, i16 -32768, i16 17148, i16 48, i16 18080, i16 -32768, i16 17148, i16 50, i16 16385, i16 -32768, i16 17148, i16 50, i16 18080, i16 -32768, i16 17205, i16 44, i16 16385, i16 -32768, i16 17205, i16 44, i16 18080, i16 -32768, i16 18176, i16 2, i16 18080, i16 -32768, i16 18179, i16 2, i16 16385, i16 -32768, i16 32766, i16 2, i16 18080, i16 -32768, i16 18178, i16 2, i16 16385, i16 -32768, i16 18178, i16 3, i16 16385, i16 -32768, i16 18178, i16 3, i16 18080, i16 -32768, i16 18178, i16 50, i16 16385, i16 -32768, i16 18178, i16 50, i16 18080, i16 -32768, i16 17272, i16 44, i16 16385, i16 -32768, i16 17272, i16 44, i16 18080, i16 -32768, i16 17285, i16 42, i16 16385, i16 -32768, i16 17285, i16 42, i16 18080, i16 -32768, i16 17285, i16 44, i16 16385, i16 -32768, i16 17285, i16 44, i16 18080, i16 -32768, i16 17311, i16 3, i16 16385, i16 -32768, i16 17311, i16 3, i16 18080, i16 -32768, i16 17311, i16 35, i16 16385, i16 -32768, i16 17311, i16 35, i16 18080, i16 -32768, i16 17311, i16 44, i16 16385, i16 -32768, i16 17311, i16 44, i16 18080, i16 -32768, i16 18671, i16 2290, i16 18578, i16 -32768, i16 18671, i16 2290, i16 18581, i16 -32768, i16 17325, i16 3, i16 16385, i16 -32768, i16 17325, i16 3, i16 18080, i16 -32768, i16 17325, i16 33, i16 16385, i16 -32768, i16 17325, i16 33, i16 18080, i16 -32768, i16 17325, i16 35, i16 16385, i16 -32768, i16 17325, i16 35, i16 18080, i16 -32768, i16 17325, i16 42, i16 16385, i16 -32768, i16 17325, i16 42, i16 18080, i16 -32768, i16 17325, i16 43, i16 16385, i16 -32768, i16 17325, i16 43, i16 18080, i16 -32768, i16 17325, i16 50, i16 16385, i16 -32768, i16 17325, i16 50, i16 18080, i16 -32768, i16 18212, i16 2, i16 18080, i16 -32768, i16 18677, i16 2296, i16 18578, i16 -32768, i16 18677, i16 2296, i16 18581, i16 -32768, i16 17389, i16 44, i16 16385, i16 -32768, i16 17389, i16 44, i16 18080, i16 -32768, i16 17408, i16 3, i16 16385, i16 -32768, i16 17408, i16 3, i16 18080, i16 -32768, i16 17408, i16 22, i16 16385, i16 -32768, i16 17408, i16 22, i16 18080, i16 -32768, i16 18222, i16 2, i16 18080, i16 -32768, i16 18683, i16 2302, i16 18578, i16 -32768, i16 18683, i16 2302, i16 18581, i16 -32768, i16 17444, i16 3, i16 16385, i16 -32768, i16 17444, i16 3, i16 18080, i16 -32768, i16 17444, i16 33, i16 16385, i16 -32768, i16 17444, i16 33, i16 18080, i16 -32768, i16 17444, i16 50, i16 16385, i16 -32768, i16 17444, i16 50, i16 18080, i16 -32768, i16 18232, i16 2, i16 18080, i16 -32768, i16 18234, i16 2, i16 18080, i16 -32768, i16 18234, i16 35, i16 16385, i16 -32768, i16 18234, i16 35, i16 18080, i16 -32768, i16 18234, i16 40, i16 16385, i16 -32768, i16 18234, i16 40, i16 18080, i16 -32768, i16 18240, i16 2, i16 18080, i16 -32768, i16 18240, i16 3, i16 16385, i16 -32768, i16 18240, i16 3, i16 18080, i16 -32768, i16 18240, i16 5, i16 16385, i16 -32768, i16 18240, i16 5, i16 18080, i16 -32768, i16 18240, i16 16, i16 16385, i16 -32768, i16 18240, i16 16, i16 18080, i16 -32768, i16 18240, i16 28, i16 16385, i16 -32768, i16 18240, i16 28, i16 18080, i16 -32768, i16 18240, i16 39, i16 16385, i16 -32768, i16 18240, i16 39, i16 18080, i16 -32768, i16 18240, i16 40, i16 16385, i16 -32768, i16 18240, i16 40, i16 18080, i16 -32768, i16 18254, i16 2, i16 18080, i16 -32768, i16 18254, i16 3, i16 16385, i16 -32768, i16 18254, i16 3, i16 18080, i16 -32768, i16 18259, i16 2, i16 18080, i16 -32768, i16 18259, i16 3, i16 16385, i16 -32768, i16 18259, i16 3, i16 18080, i16 -32768, i16 18259, i16 22, i16 16385, i16 -32768, i16 18259, i16 22, i16 18080, i16 -32768, i16 18259, i16 39, i16 16385, i16 -32768, i16 18259, i16 39, i16 18080, i16 -32768, i16 17272, i16 16382, i16 18080, i16 -32768, i16 17122, i16 44, i16 16385, i16 -32768, i16 17122, i16 44, i16 18080, i16 -32768, i16 17205, i16 7, i16 16385, i16 -32768, i16 17205, i16 7, i16 18080, i16 -32768, i16 18178, i16 39, i16 16385, i16 -32768, i16 18178, i16 39, i16 18080, i16 -32768, i16 17408, i16 44, i16 16385, i16 -32768, i16 17408, i16 44, i16 18080, i16 -32768, i16 32766, i16 16382, i16 16386, i16 -32767, i16 18234, i16 1850, i16 16386, i16 -31072, i16 18234, i16 1850, i16 16419, i16 -32767, i16 18234, i16 1850, i16 16419, i16 -31072, i16 18234, i16 1850, i16 16424, i16 -32767, i16 18234, i16 1850, i16 16424, i16 -31072, i16 18240, i16 1856, i16 16386, i16 -31072, i16 18240, i16 1856, i16 16387, i16 -32767, i16 18240, i16 1856, i16 16387, i16 -31072, i16 18240, i16 1856, i16 16389, i16 -32767, i16 18240, i16 1856, i16 16389, i16 -31072, i16 18240, i16 1856, i16 16400, i16 -32767, i16 18240, i16 1856, i16 16400, i16 -31072, i16 18240, i16 1856, i16 16412, i16 -32767, i16 18240, i16 1856, i16 16412, i16 -31072, i16 18240, i16 1856, i16 16423, i16 -32767, i16 18240, i16 1856, i16 16423, i16 -31072, i16 18240, i16 1856, i16 16424, i16 -32767, i16 18240, i16 1856, i16 16424, i16 -31072, i16 18254, i16 73, i16 16385, i16 -32768, i16 18254, i16 73, i16 18080, i16 -32768, i16 18144, i16 2, i16 18080, i16 -32768, i16 18144, i16 3, i16 16385, i16 -32768, i16 18144, i16 3, i16 18080, i16 -32768, i16 18148, i16 2, i16 18080, i16 -32768, i16 18148, i16 16382, i16 16385, i16 -32768, i16 18148, i16 1770, i16 18080, i16 -32768, i16 18148, i16 1772, i16 18080, i16 -32768, i16 18148, i16 1774, i16 18080, i16 -32768, i16 18212, i16 16382, i16 16385, i16 -32768, i16 18212, i16 1822, i16 18080, i16 -32768, i16 18212, i16 1824, i16 18080, i16 -32768, i16 18212, i16 35, i16 16385, i16 -32768, i16 18212, i16 35, i16 18080, i16 -32768, i16 18163, i16 2, i16 16385, i16 -32768, i16 17325, i16 28, i16 16385, i16 -32768, i16 17325, i16 28, i16 18080, i16 -32768, i16 18221, i16 2, i16 16385, i16 -32768, i16 17444, i16 28, i16 16385, i16 -32768, i16 17444, i16 28, i16 18080, i16 -32768, i16 18264, i16 2, i16 16385, i16 -32768, i16 18150, i16 2, i16 18080, i16 -32768, i16 18160, i16 2, i16 18080, i16 -32768, i16 18170, i16 2, i16 18080, i16 -32768, i16 18188, i16 2, i16 18080, i16 -32768, i16 18192, i16 2, i16 18080, i16 -32768, i16 18200, i16 2, i16 18080, i16 -32768, i16 18218, i16 2, i16 18080, i16 -32768, i16 18261, i16 2, i16 18080, i16 -32768, i16 18265, i16 2, i16 18080, i16 -32768, i16 18254, i16 16382, i16 16385, i16 -32768, i16 18254, i16 1848, i16 18080, i16 -32768, i16 18254, i16 1844, i16 18080, i16 -32768, i16 18154, i16 2, i16 18080, i16 -32768, i16 18154, i16 3, i16 16385, i16 -32768, i16 18154, i16 3, i16 18080, i16 -32768, i16 18154, i16 50, i16 16385, i16 -32768, i16 18154, i16 50, i16 18080, i16 -32768, i16 18154, i16 73, i16 16385, i16 -32768, i16 18154, i16 73, i16 18080, i16 -32768, i16 18206, i16 2, i16 18080, i16 -32768, i16 18206, i16 3, i16 16385, i16 -32768, i16 18206, i16 3, i16 18080, i16 -32768, i16 18206, i16 28, i16 16385, i16 -32768, i16 18206, i16 28, i16 18080, i16 -32768, i16 18206, i16 33, i16 16385, i16 -32768, i16 18206, i16 33, i16 18080, i16 -32768, i16 18144, i16 16382, i16 16385, i16 -32768, i16 18144, i16 1883, i16 18078, i16 -32768, i16 18144, i16 1883, i16 18079, i16 -32768, i16 18144, i16 1883, i16 18080, i16 -32768, i16 18144, i16 1762, i16 18080, i16 -32768, i16 18152, i16 2, i16 18080, i16 -32768, i16 18162, i16 2, i16 18080, i16 -32768, i16 18172, i16 2, i16 18080, i16 -32768, i16 18174, i16 2, i16 18080, i16 -32768, i16 18183, i16 2, i16 18080, i16 -32768, i16 18185, i16 2, i16 18080, i16 -32768, i16 18190, i16 2, i16 18080, i16 -32768, i16 18196, i16 2, i16 18080, i16 -32768, i16 18210, i16 2, i16 18080, i16 -32768, i16 18216, i16 2, i16 18080, i16 -32768, i16 18220, i16 2, i16 18080, i16 -32768, i16 18230, i16 2, i16 18080, i16 -32768, i16 18263, i16 2, i16 18080, i16 -32768, i16 18081, i16 16382, i16 16384, i16 -32768, i16 17133, i16 16382, i16 16385, i16 -32768, i16 17133, i16 1887, i16 18080, i16 -32768, i16 17386, i16 73, i16 18080, i16 -32768, i16 18143, i16 2, i16 16385, i16 -32768, i16 18272, i16 2, i16 16385, i16 -32768, i16 18169, i16 2, i16 16385, i16 -32768, i16 17205, i16 8, i16 16385, i16 -32768, i16 17205, i16 8, i16 18080, i16 -32768, i16 18182, i16 2, i16 16385, i16 -32768, i16 17311, i16 16382, i16 16385, i16 -32768, i16 17311, i16 1814, i16 18080, i16 -32768, i16 18201, i16 2, i16 16385, i16 -32768, i16 18227, i16 2, i16 16385, i16 -32768, i16 18257, i16 2, i16 16385, i16 -32768, i16 18225, i16 2, i16 16385, i16 -32768, i16 18155, i16 2, i16 16385, i16 -32768, i16 18155, i16 73, i16 18080, i16 -32768, i16 18155, i16 73, i16 16385, i16 -32768, i16 18213, i16 2, i16 16385, i16 -32768, i16 18213, i16 73, i16 18080, i16 -32768, i16 18213, i16 73, i16 16385, i16 -32768, i16 16384, i16 0, i16 16400, i16 -32768, i16 16384, i16 0, i16 16434, i16 -32768, i16 16384, i16 0, i16 16389, i16 -32768, i16 18311, i16 2, i16 18078, i16 -32768, i16 18311, i16 2, i16 18079, i16 -32768, i16 18311, i16 2, i16 18080, i16 -32768, i16 18166, i16 2, i16 18080, i16 -32768, i16 18315, i16 2, i16 18078, i16 -32768, i16 18315, i16 2, i16 18079, i16 -32768, i16 18315, i16 2, i16 18080, i16 -32768, i16 18319, i16 2, i16 18078, i16 -32768, i16 18319, i16 2, i16 18079, i16 -32768, i16 18319, i16 2, i16 18080, i16 -32768, i16 18194, i16 2, i16 18080, i16 -32768, i16 32766, i16 22, i16 16385, i16 -16386, i16 18220, i16 22, i16 18080, i16 -16386, i16 32766, i16 2, i16 16385, i16 -16386, i16 18259, i16 2, i16 18080, i16 -16386, i16 18259, i16 3, i16 16385, i16 -16386, i16 18259, i16 3, i16 18080, i16 -16386, i16 18259, i16 39, i16 16385, i16 -16386, i16 18259, i16 39, i16 18080, i16 -16386, i16 18259, i16 22, i16 16385, i16 -16386, i16 18259, i16 22, i16 18080, i16 -16386, i16 18234, i16 16382, i16 16386, i16 -32767, i16 18234, i16 1856, i16 16386, i16 -31072, i16 18234, i16 1856, i16 16387, i16 -32767, i16 18234, i16 1856, i16 16387, i16 -31072, i16 18234, i16 1856, i16 16389, i16 -32767, i16 18234, i16 1856, i16 16389, i16 -31072, i16 18234, i16 1856, i16 16400, i16 -32767, i16 18234, i16 1856, i16 16400, i16 -31072, i16 18234, i16 1856, i16 16434, i16 -32767, i16 18234, i16 1856, i16 16434, i16 -31072, i16 18234, i16 1856, i16 16423, i16 -32767, i16 18234, i16 1856, i16 16423, i16 -31072, i16 18234, i16 1856, i16 16412, i16 -32767, i16 18234, i16 1856, i16 16412, i16 -31072, i16 32766, i16 35, i16 16385, i16 -16386, i16 18204, i16 35, i16 18080, i16 -16386, i16 32766, i16 28, i16 16385, i16 -16386, i16 18148, i16 28, i16 18080, i16 -16386, i16 18212, i16 28, i16 18080, i16 -16386, i16 18232, i16 28, i16 18080, i16 -16386, i16 18323, i16 2, i16 18078, i16 -32768, i16 18323, i16 2, i16 18079, i16 -32768, i16 18323, i16 2, i16 18080, i16 -32768, i16 18327, i16 2, i16 18078, i16 -32768, i16 18327, i16 2, i16 18079, i16 -32768, i16 18327, i16 2, i16 18080, i16 -32768, i16 32766, i16 32766, i16 32766, i16 32766, i16 16384, i16 16384, i16 16384, i16 32766, i16 32766, i16 16389, i16 16385, i16 32766, i16 16470, i16 16389, i16 16388, i16 16470, i16 16470, i16 16389, i16 32766, i16 16470, i16 16470, i16 16392, i16 16385, i16 16470, i16 16470, i16 16392, i16 16388, i16 16470, i16 16470, i16 16393, i16 16385, i16 16470, i16 16470, i16 16393, i16 16388, i16 16470, i16 16470, i16 16405, i16 16385, i16 16470, i16 16470, i16 16405, i16 16388, i16 16470, i16 16470, i16 16397, i16 16385, i16 16470, i16 16470, i16 16397, i16 16388, i16 16470, i16 16470, i16 16408, i16 16385, i16 16470, i16 16470, i16 16408, i16 16388, i16 16470, i16 16470, i16 16409, i16 16385, i16 16470, i16 16470, i16 16409, i16 16388, i16 16470, i16 16470, i16 16411, i16 16385, i16 16470, i16 16470, i16 16411, i16 16388, i16 16470, i16 16470, i16 16410, i16 16385, i16 16470, i16 16470, i16 16410, i16 16388, i16 16470, i16 16470, i16 16435, i16 16385, i16 16470, i16 16470, i16 16435, i16 16388, i16 16470, i16 16470, i16 16398, i16 16385, i16 16470, i16 16470, i16 16398, i16 16388, i16 16470, i16 16470, i16 16394, i16 16385, i16 16470, i16 16470, i16 16394, i16 16388, i16 16470, i16 16470, i16 16412, i16 16385, i16 16470, i16 16470, i16 16412, i16 16388, i16 16470, i16 16470, i16 16413, i16 16385, i16 16470, i16 16470, i16 16413, i16 16388, i16 16470, i16 16470, i16 16415, i16 16385, i16 16470, i16 16470, i16 16415, i16 16388, i16 16470, i16 16470, i16 16414, i16 16385, i16 16470, i16 16470, i16 16414, i16 16388, i16 16470, i16 16470, i16 16436, i16 16385, i16 16470, i16 16470, i16 16436, i16 16388, i16 16470, i16 16470, i16 16395, i16 16385, i16 16470, i16 16470, i16 16395, i16 16388, i16 16470, i16 16470, i16 16399, i16 16385, i16 16470, i16 16470, i16 16399, i16 16388, i16 16470, i16 16470, i16 16417, i16 16385, i16 16470, i16 16470, i16 16417, i16 16388, i16 16470, i16 16470, i16 16450, i16 16385, i16 16470, i16 16470, i16 16450, i16 16388, i16 16470, i16 16470, i16 16402, i16 16385, i16 16470, i16 16470, i16 16402, i16 16388, i16 16470, i16 16470, i16 16426, i16 16385, i16 16470, i16 16470, i16 16426, i16 16388, i16 16470, i16 16470, i16 16400, i16 16385, i16 16470, i16 16470, i16 16400, i16 16388, i16 16470, i16 16470, i16 16396, i16 16385, i16 16470, i16 16470, i16 16396, i16 16388, i16 16470, i16 16470, i16 16444, i16 16385, i16 16470, i16 16470, i16 16444, i16 16388, i16 16470, i16 16470, i16 16449, i16 16385, i16 16470, i16 16470, i16 16449, i16 16388, i16 16470, i16 16470, i16 16391, i16 16385, i16 16470, i16 16470, i16 16391, i16 16388, i16 16470, i16 16470, i16 16418, i16 16385, i16 16470, i16 16470, i16 16418, i16 16388, i16 16470, i16 18628, i16 18631, i16 18517, i16 18628, i16 18628, i16 18631, i16 18425, i16 18628, i16 18628, i16 18634, i16 18517, i16 18628, i16 18628, i16 18634, i16 18425, i16 18628, i16 18628, i16 18637, i16 18517, i16 18628, i16 18628, i16 18637, i16 18425, i16 18628, i16 16536, i16 16389, i16 16388, i16 16536, i16 16536, i16 16390, i16 16385, i16 16536, i16 16536, i16 16390, i16 16388, i16 16536, i16 16536, i16 16444, i16 16385, i16 16536, i16 16536, i16 16444, i16 16388, i16 16536, i16 16536, i16 16445, i16 16385, i16 16536, i16 16536, i16 16445, i16 16388, i16 16536, i16 16545, i16 16389, i16 16388, i16 16545, i16 16545, i16 16392, i16 16385, i16 16545, i16 16545, i16 16392, i16 16388, i16 16545, i16 16545, i16 16394, i16 16385, i16 16545, i16 16545, i16 16394, i16 16388, i16 16545, i16 16545, i16 16400, i16 16385, i16 16545, i16 16545, i16 16400, i16 16388, i16 16545, i16 16545, i16 16390, i16 16385, i16 16545, i16 16545, i16 16390, i16 16388, i16 16545, i16 16545, i16 16448, i16 16385, i16 16545, i16 16545, i16 16448, i16 16388, i16 16545, i16 16545, i16 16437, i16 16385, i16 16545, i16 16545, i16 16437, i16 16388, i16 16545, i16 32766, i16 16395, i16 16385, i16 32766, i16 16559, i16 16395, i16 16388, i16 16559, i16 16562, i16 16389, i16 16388, i16 16562, i16 16562, i16 16395, i16 16385, i16 16562, i16 16562, i16 16395, i16 16388, i16 16562, i16 16562, i16 16390, i16 16385, i16 16562, i16 16562, i16 16390, i16 16388, i16 16562, i16 16562, i16 16444, i16 16385, i16 16562, i16 16562, i16 16444, i16 16388, i16 16562, i16 16562, i16 16452, i16 16385, i16 16562, i16 16562, i16 16452, i16 16388, i16 16562, i16 16562, i16 16448, i16 16385, i16 16562, i16 16562, i16 16448, i16 16388, i16 16562, i16 16562, i16 16421, i16 16385, i16 16562, i16 16562, i16 16421, i16 16388, i16 16562, i16 16562, i16 16445, i16 16385, i16 16562, i16 16562, i16 16445, i16 16388, i16 16562, i16 16579, i16 16389, i16 16388, i16 16579, i16 16579, i16 16392, i16 16385, i16 16579, i16 16579, i16 16392, i16 16388, i16 16579, i16 16579, i16 16393, i16 16385, i16 16579, i16 16579, i16 16393, i16 16388, i16 16579, i16 16579, i16 16405, i16 16385, i16 16579, i16 16579, i16 16405, i16 16388, i16 16579, i16 16579, i16 16397, i16 16385, i16 16579, i16 16579, i16 16397, i16 16388, i16 16579, i16 16579, i16 16398, i16 16385, i16 16579, i16 16579, i16 16398, i16 16388, i16 16579, i16 16579, i16 16394, i16 16385, i16 16579, i16 16579, i16 16394, i16 16388, i16 16579, i16 16579, i16 16412, i16 16385, i16 16579, i16 16579, i16 16412, i16 16388, i16 16579, i16 16579, i16 16413, i16 16385, i16 16579, i16 16579, i16 16413, i16 16388, i16 16579, i16 16579, i16 16415, i16 16385, i16 16579, i16 16579, i16 16415, i16 16388, i16 16579, i16 16579, i16 16414, i16 16385, i16 16579, i16 16579, i16 16414, i16 16388, i16 16579, i16 16579, i16 16436, i16 16385, i16 16579, i16 16579, i16 16436, i16 16388, i16 16579, i16 16579, i16 16395, i16 16385, i16 16579, i16 16579, i16 16395, i16 16388, i16 16579, i16 16579, i16 16402, i16 16385, i16 16579, i16 16579, i16 16402, i16 16388, i16 16579, i16 16579, i16 16400, i16 16385, i16 16579, i16 16579, i16 16400, i16 16388, i16 16579, i16 16579, i16 16396, i16 16385, i16 16579, i16 16579, i16 16396, i16 16388, i16 16579, i16 16579, i16 16446, i16 16385, i16 16579, i16 16579, i16 16446, i16 16388, i16 16579, i16 16579, i16 16390, i16 16385, i16 16579, i16 16579, i16 16390, i16 16388, i16 16579, i16 16579, i16 16444, i16 16385, i16 16579, i16 16579, i16 16444, i16 16388, i16 16579, i16 16579, i16 16439, i16 16385, i16 16579, i16 16579, i16 16439, i16 16388, i16 16579, i16 16579, i16 16449, i16 16385, i16 16579, i16 16579, i16 16449, i16 16388, i16 16579, i16 16579, i16 16391, i16 16385, i16 16579, i16 16579, i16 16391, i16 16388, i16 16579, i16 16579, i16 16419, i16 16385, i16 16579, i16 16579, i16 16419, i16 16388, i16 16579, i16 16579, i16 16420, i16 16385, i16 16579, i16 16579, i16 16420, i16 16388, i16 16579, i16 16579, i16 16421, i16 16385, i16 16579, i16 16579, i16 16421, i16 16388, i16 16579, i16 16630, i16 16389, i16 16388, i16 16630, i16 16630, i16 16400, i16 16385, i16 16630, i16 16630, i16 16400, i16 16388, i16 16630, i16 16630, i16 16390, i16 16385, i16 16630, i16 16630, i16 16390, i16 16388, i16 16630, i16 18640, i16 18643, i16 18646, i16 18640, i16 18649, i16 18643, i16 18652, i16 18649, i16 18655, i16 18643, i16 18658, i16 18655, i16 18661, i16 18665, i16 18669, i16 18661, i16 18673, i16 18665, i16 18677, i16 18673, i16 16642, i16 16389, i16 16388, i16 16642, i16 16642, i16 16392, i16 16385, i16 16642, i16 16642, i16 16392, i16 16388, i16 16642, i16 16642, i16 16397, i16 16385, i16 16642, i16 16642, i16 16397, i16 16388, i16 16642, i16 16642, i16 16394, i16 16385, i16 16642, i16 16642, i16 16394, i16 16388, i16 16642, i16 16642, i16 16395, i16 16385, i16 16642, i16 16642, i16 16395, i16 16388, i16 16642, i16 16642, i16 16390, i16 16385, i16 16642, i16 16642, i16 16390, i16 16388, i16 16642, i16 16642, i16 16452, i16 16385, i16 16642, i16 16642, i16 16452, i16 16388, i16 16642, i16 16642, i16 16448, i16 16385, i16 16642, i16 16642, i16 16448, i16 16388, i16 16642, i16 16642, i16 16391, i16 16385, i16 16642, i16 16642, i16 16391, i16 16388, i16 16642, i16 16661, i16 16389, i16 16388, i16 16661, i16 16661, i16 16447, i16 16385, i16 16661, i16 16661, i16 16447, i16 16388, i16 16661, i16 16661, i16 16394, i16 16385, i16 16661, i16 16661, i16 16394, i16 16388, i16 16661, i16 16661, i16 16402, i16 16385, i16 16661, i16 16661, i16 16402, i16 16388, i16 16661, i16 16661, i16 16390, i16 16385, i16 16661, i16 16661, i16 16390, i16 16388, i16 16661, i16 16661, i16 16444, i16 16385, i16 16661, i16 16661, i16 16444, i16 16388, i16 16661, i16 16661, i16 16452, i16 16385, i16 16661, i16 16661, i16 16452, i16 16388, i16 16661, i16 16661, i16 16448, i16 16385, i16 16661, i16 16661, i16 16448, i16 16388, i16 16661, i16 16678, i16 16389, i16 16386, i16 16678, i16 16678, i16 16389, i16 16388, i16 16678, i16 16681, i16 16389, i16 16388, i16 16681, i16 16681, i16 16392, i16 16385, i16 16681, i16 16681, i16 16392, i16 16388, i16 16681, i16 16681, i16 16393, i16 16385, i16 16681, i16 16681, i16 16393, i16 16388, i16 16681, i16 16681, i16 16405, i16 16385, i16 16681, i16 16681, i16 16405, i16 16388, i16 16681, i16 16681, i16 16397, i16 16385, i16 16681, i16 16681, i16 16397, i16 16388, i16 16681, i16 16681, i16 16398, i16 16385, i16 16681, i16 16681, i16 16398, i16 16388, i16 16681, i16 16681, i16 16394, i16 16385, i16 16681, i16 16681, i16 16394, i16 16388, i16 16681, i16 16681, i16 16395, i16 16385, i16 16681, i16 16681, i16 16395, i16 16388, i16 16681, i16 16681, i16 16402, i16 16385, i16 16681, i16 16681, i16 16402, i16 16388, i16 16681, i16 16681, i16 16427, i16 16385, i16 16681, i16 16681, i16 16427, i16 16388, i16 16681, i16 16681, i16 16400, i16 16385, i16 16681, i16 16681, i16 16400, i16 16388, i16 16681, i16 16681, i16 16396, i16 16385, i16 16681, i16 16681, i16 16396, i16 16388, i16 16681, i16 16681, i16 16446, i16 16385, i16 16681, i16 16681, i16 16446, i16 16388, i16 16681, i16 16681, i16 16390, i16 16385, i16 16681, i16 16681, i16 16390, i16 16388, i16 16681, i16 16681, i16 16444, i16 16385, i16 16681, i16 16681, i16 16444, i16 16388, i16 16681, i16 16681, i16 16449, i16 16385, i16 16681, i16 16681, i16 16449, i16 16388, i16 16681, i16 16681, i16 16391, i16 16385, i16 16681, i16 16681, i16 16391, i16 16388, i16 16681, i16 18681, i16 18684, i16 18517, i16 18681, i16 18681, i16 18684, i16 18425, i16 18681, i16 16718, i16 16389, i16 16388, i16 16718, i16 16718, i16 16394, i16 16385, i16 16718, i16 16718, i16 16394, i16 16388, i16 16718, i16 16723, i16 16389, i16 16388, i16 16723, i16 16723, i16 16392, i16 16385, i16 16723, i16 16723, i16 16392, i16 16388, i16 16723, i16 16723, i16 16395, i16 16385, i16 16723, i16 16723, i16 16395, i16 16388, i16 16723, i16 16723, i16 16400, i16 16385, i16 16723, i16 16723, i16 16400, i16 16388, i16 16723, i16 16723, i16 16444, i16 16385, i16 16723, i16 16723, i16 16444, i16 16388, i16 16723, i16 16723, i16 16448, i16 16385, i16 16723, i16 16723, i16 16448, i16 16388, i16 16723, i16 16723, i16 16445, i16 16385, i16 16723, i16 16723, i16 16445, i16 16388, i16 16723, i16 16723, i16 32766, i16 16388, i16 16723, i16 16739, i16 16389, i16 16388, i16 16739, i16 16739, i16 16392, i16 16385, i16 16739, i16 16739, i16 16392, i16 16388, i16 16739, i16 16739, i16 16395, i16 16385, i16 16739, i16 16739, i16 16395, i16 16388, i16 16739, i16 16739, i16 16390, i16 16385, i16 16739, i16 16739, i16 16390, i16 16388, i16 16739, i16 16739, i16 16444, i16 16385, i16 16739, i16 16739, i16 16444, i16 16388, i16 16739, i16 16739, i16 16452, i16 16385, i16 16739, i16 16739, i16 16452, i16 16388, i16 16739, i16 16739, i16 16448, i16 16385, i16 16739, i16 16739, i16 16448, i16 16388, i16 16739, i16 16739, i16 16434, i16 16385, i16 16739, i16 16739, i16 16434, i16 16388, i16 16739, i16 16739, i16 16421, i16 16385, i16 16739, i16 16739, i16 16421, i16 16388, i16 16739, i16 16739, i16 16445, i16 16385, i16 16739, i16 16739, i16 16445, i16 16388, i16 16739, i16 16760, i16 16389, i16 16388, i16 16760, i16 16760, i16 16392, i16 16385, i16 16760, i16 16760, i16 16392, i16 16388, i16 16760, i16 16760, i16 16390, i16 16385, i16 16760, i16 16760, i16 16390, i16 16388, i16 16760, i16 16760, i16 16444, i16 16385, i16 16760, i16 16760, i16 16444, i16 16388, i16 16760, i16 16769, i16 16389, i16 16388, i16 16769, i16 16769, i16 16392, i16 16385, i16 16769, i16 16769, i16 16392, i16 16388, i16 16769, i16 16769, i16 16395, i16 16385, i16 16769, i16 16769, i16 16395, i16 16388, i16 16769, i16 16769, i16 16396, i16 16385, i16 16769, i16 16769, i16 16396, i16 16388, i16 16769, i16 16769, i16 16390, i16 16385, i16 16769, i16 16769, i16 16390, i16 16388, i16 16769, i16 16769, i16 16444, i16 16385, i16 16769, i16 16769, i16 16444, i16 16388, i16 16769, i16 16769, i16 16448, i16 16385, i16 16769, i16 16769, i16 16448, i16 16388, i16 16769, i16 16769, i16 16421, i16 16385, i16 16769, i16 16769, i16 16421, i16 16388, i16 16769, i16 16769, i16 16445, i16 16385, i16 16769, i16 16769, i16 16445, i16 16388, i16 16769, i16 16769, i16 16451, i16 16388, i16 16769, i16 18687, i16 18690, i16 18517, i16 18687, i16 18687, i16 18690, i16 18425, i16 18687, i16 16791, i16 16389, i16 16388, i16 16791, i16 16791, i16 16389, i16 32766, i16 16791, i16 16791, i16 16392, i16 16385, i16 16791, i16 16791, i16 16392, i16 16388, i16 16791, i16 16791, i16 16393, i16 16385, i16 16791, i16 16791, i16 16393, i16 16388, i16 16791, i16 16791, i16 16405, i16 16385, i16 16791, i16 16791, i16 16405, i16 16388, i16 16791, i16 16791, i16 16397, i16 16385, i16 16791, i16 16791, i16 16397, i16 16388, i16 16791, i16 16791, i16 16398, i16 16385, i16 16791, i16 16791, i16 16398, i16 16388, i16 16791, i16 16791, i16 16394, i16 16385, i16 16791, i16 16791, i16 16394, i16 16388, i16 16791, i16 16791, i16 16412, i16 16385, i16 16791, i16 16791, i16 16412, i16 16388, i16 16791, i16 16791, i16 16413, i16 16385, i16 16791, i16 16791, i16 16413, i16 16388, i16 16791, i16 16791, i16 16415, i16 16385, i16 16791, i16 16791, i16 16415, i16 16388, i16 16791, i16 16791, i16 16414, i16 16385, i16 16791, i16 16791, i16 16414, i16 16388, i16 16791, i16 16791, i16 16436, i16 16385, i16 16791, i16 16791, i16 16436, i16 16388, i16 16791, i16 16791, i16 16395, i16 16385, i16 16791, i16 16791, i16 16395, i16 16388, i16 16791, i16 16791, i16 16402, i16 16385, i16 16791, i16 16791, i16 16402, i16 16388, i16 16791, i16 16791, i16 16404, i16 16385, i16 16791, i16 16791, i16 16404, i16 16388, i16 16791, i16 16791, i16 16400, i16 16385, i16 16791, i16 16791, i16 16400, i16 16388, i16 16791, i16 16791, i16 16396, i16 16385, i16 16791, i16 16791, i16 16396, i16 16388, i16 16791, i16 16791, i16 16406, i16 16385, i16 16791, i16 16791, i16 16406, i16 16388, i16 16791, i16 16791, i16 16431, i16 16385, i16 16791, i16 16791, i16 16431, i16 16388, i16 16791, i16 16791, i16 16444, i16 16385, i16 16791, i16 16791, i16 16444, i16 16388, i16 16791, i16 16791, i16 16452, i16 16385, i16 16791, i16 16791, i16 16452, i16 16388, i16 16791, i16 16791, i16 16443, i16 16385, i16 16791, i16 16791, i16 16443, i16 16388, i16 16791, i16 16791, i16 16449, i16 16385, i16 16791, i16 16791, i16 16449, i16 16388, i16 16791, i16 16791, i16 16440, i16 16385, i16 16791, i16 16791, i16 16440, i16 16388, i16 16791, i16 16791, i16 16391, i16 16385, i16 16791, i16 16791, i16 16391, i16 16388, i16 16791, i16 16791, i16 16419, i16 16385, i16 16791, i16 16791, i16 16419, i16 16388, i16 16791, i16 16791, i16 16420, i16 16385, i16 16791, i16 16791, i16 16420, i16 16388, i16 16791, i16 16791, i16 16401, i16 16385, i16 16791, i16 16791, i16 16401, i16 16388, i16 16791, i16 16791, i16 16422, i16 16385, i16 16791, i16 16791, i16 16422, i16 16388, i16 16791, i16 16791, i16 16423, i16 16385, i16 16791, i16 16791, i16 16423, i16 16388, i16 16791, i16 16791, i16 16425, i16 16385, i16 16791, i16 16791, i16 16425, i16 16388, i16 16791, i16 16791, i16 16424, i16 16385, i16 16791, i16 16791, i16 16424, i16 16388, i16 16791, i16 16791, i16 16441, i16 16385, i16 16791, i16 16791, i16 16441, i16 16388, i16 16791, i16 18693, i16 18696, i16 18517, i16 18693, i16 18693, i16 18696, i16 18425, i16 18693, i16 16861, i16 16389, i16 16388, i16 16861, i16 16861, i16 16392, i16 16385, i16 16861, i16 16861, i16 16392, i16 16388, i16 16861, i16 16861, i16 16390, i16 16385, i16 16861, i16 16861, i16 16390, i16 16388, i16 16861, i16 16868, i16 16389, i16 16388, i16 16868, i16 16871, i16 16389, i16 16388, i16 16871, i16 16871, i16 16392, i16 16385, i16 16871, i16 16871, i16 16392, i16 16388, i16 16871, i16 16871, i16 16405, i16 16385, i16 16871, i16 16871, i16 16405, i16 16388, i16 16871, i16 16871, i16 16398, i16 16385, i16 16871, i16 16871, i16 16398, i16 16388, i16 16871, i16 16871, i16 16390, i16 16385, i16 16871, i16 16871, i16 16390, i16 16388, i16 16871, i16 16871, i16 16444, i16 16385, i16 16871, i16 16871, i16 16444, i16 16388, i16 16871, i16 16871, i16 16448, i16 16385, i16 16871, i16 16871, i16 16448, i16 16388, i16 16871, i16 16871, i16 16434, i16 16385, i16 16871, i16 16871, i16 16434, i16 16388, i16 16871, i16 16871, i16 16445, i16 16385, i16 16871, i16 16871, i16 16445, i16 16388, i16 16871, i16 16889, i16 16395, i16 16388, i16 16889, i16 16892, i16 16389, i16 16388, i16 16892, i16 18699, i16 18643, i16 18702, i16 18699, i16 16892, i16 16392, i16 16385, i16 16892, i16 16892, i16 16392, i16 16388, i16 16892, i16 16892, i16 16403, i16 16385, i16 16892, i16 16892, i16 16403, i16 16388, i16 16892, i16 16892, i16 16394, i16 16385, i16 16892, i16 16892, i16 16394, i16 16388, i16 16892, i16 16892, i16 16390, i16 16385, i16 16892, i16 16892, i16 16390, i16 16388, i16 16892, i16 16892, i16 16444, i16 16385, i16 16892, i16 16892, i16 16444, i16 16388, i16 16892, i16 16892, i16 16433, i16 16385, i16 16892, i16 16892, i16 16433, i16 16388, i16 16892, i16 16892, i16 16448, i16 16385, i16 16892, i16 16892, i16 16448, i16 16388, i16 16892, i16 16909, i16 16395, i16 16388, i16 16909, i16 16909, i16 16416, i16 16385, i16 16909, i16 16909, i16 16416, i16 16388, i16 16909, i16 16892, i16 32766, i16 16388, i16 16892, i16 18705, i16 18643, i16 18708, i16 18705, i16 18699, i16 18643, i16 18711, i16 16384, i16 16917, i16 16389, i16 16388, i16 16917, i16 16917, i16 16395, i16 16385, i16 16917, i16 16917, i16 16395, i16 16388, i16 16917, i16 16917, i16 16390, i16 16385, i16 16917, i16 16917, i16 16390, i16 16388, i16 16917, i16 16917, i16 16444, i16 16385, i16 16917, i16 16917, i16 16444, i16 16388, i16 16917, i16 16917, i16 16452, i16 16385, i16 16917, i16 16917, i16 16452, i16 16388, i16 16917, i16 16917, i16 16448, i16 16385, i16 16917, i16 16917, i16 16448, i16 16388, i16 16917, i16 16917, i16 16421, i16 16385, i16 16917, i16 16917, i16 16421, i16 16388, i16 16917, i16 16917, i16 16445, i16 16385, i16 16917, i16 16917, i16 16445, i16 16388, i16 16917, i16 18714, i16 18717, i16 18517, i16 18714, i16 18714, i16 18717, i16 18425, i16 18714, i16 16936, i16 16389, i16 16388, i16 16936, i16 16936, i16 16392, i16 16385, i16 16936, i16 16936, i16 16392, i16 16388, i16 16936, i16 16936, i16 16393, i16 16385, i16 16936, i16 16936, i16 16393, i16 16388, i16 16936, i16 16936, i16 16405, i16 16385, i16 16936, i16 16936, i16 16405, i16 16388, i16 16936, i16 16936, i16 16397, i16 16385, i16 16936, i16 16936, i16 16397, i16 16388, i16 16936, i16 16936, i16 16398, i16 16385, i16 16936, i16 16936, i16 16398, i16 16388, i16 16936, i16 16936, i16 16394, i16 16385, i16 16936, i16 16936, i16 16394, i16 16388, i16 16936, i16 16936, i16 16395, i16 16385, i16 16936, i16 16936, i16 16395, i16 16388, i16 16936, i16 16936, i16 16399, i16 16385, i16 16936, i16 16936, i16 16399, i16 16388, i16 16936, i16 16936, i16 16402, i16 16385, i16 16936, i16 16936, i16 16402, i16 16388, i16 16936, i16 16936, i16 16426, i16 16385, i16 16936, i16 16936, i16 16426, i16 16388, i16 16936, i16 16936, i16 16427, i16 16385, i16 16936, i16 16936, i16 16427, i16 16388, i16 16936, i16 16936, i16 16428, i16 16385, i16 16936, i16 16936, i16 16428, i16 16388, i16 16936, i16 16936, i16 16429, i16 16385, i16 16936, i16 16936, i16 16429, i16 16388, i16 16936, i16 16936, i16 16404, i16 16385, i16 16936, i16 16936, i16 16404, i16 16388, i16 16936, i16 16936, i16 16400, i16 16385, i16 16936, i16 16936, i16 16400, i16 16388, i16 16936, i16 16936, i16 16396, i16 16385, i16 16936, i16 16936, i16 16396, i16 16388, i16 16936, i16 16936, i16 16406, i16 16385, i16 16936, i16 16936, i16 16406, i16 16388, i16 16936, i16 16936, i16 16446, i16 16385, i16 16936, i16 16936, i16 16446, i16 16388, i16 16936, i16 16936, i16 16444, i16 16385, i16 16936, i16 16936, i16 16444, i16 16388, i16 16936, i16 16936, i16 16449, i16 16385, i16 16936, i16 16936, i16 16449, i16 16388, i16 16936, i16 16936, i16 16391, i16 16385, i16 16936, i16 16936, i16 16391, i16 16388, i16 16936, i16 16936, i16 16430, i16 16385, i16 16936, i16 16936, i16 16430, i16 16388, i16 16936, i16 16936, i16 16442, i16 16385, i16 16936, i16 16936, i16 16442, i16 16388, i16 16936, i16 16936, i16 16421, i16 16385, i16 16936, i16 16936, i16 16421, i16 16388, i16 16936, i16 16936, i16 16401, i16 16385, i16 16936, i16 16936, i16 16401, i16 16388, i16 16936, i16 16936, i16 16422, i16 16385, i16 16936, i16 16936, i16 16422, i16 16388, i16 16936, i16 16936, i16 16423, i16 16385, i16 16936, i16 16936, i16 16423, i16 16388, i16 16936, i16 16936, i16 16425, i16 16385, i16 16936, i16 16936, i16 16425, i16 16388, i16 16936, i16 16936, i16 16424, i16 16385, i16 16936, i16 16936, i16 16424, i16 16388, i16 16936, i16 16936, i16 16441, i16 16385, i16 16936, i16 16936, i16 16441, i16 16388, i16 16936, i16 16999, i16 16389, i16 16388, i16 16999, i16 16999, i16 16396, i16 16385, i16 16999, i16 16999, i16 16396, i16 16388, i16 16999, i16 16999, i16 16444, i16 16385, i16 16999, i16 16999, i16 16444, i16 16388, i16 16999, i16 17006, i16 16389, i16 16388, i16 17006, i16 17006, i16 16392, i16 16385, i16 17006, i16 17006, i16 16392, i16 16388, i16 17006, i16 17006, i16 16393, i16 16385, i16 17006, i16 17006, i16 16393, i16 16388, i16 17006, i16 17006, i16 16394, i16 16385, i16 17006, i16 17006, i16 16394, i16 16388, i16 17006, i16 17006, i16 16402, i16 16385, i16 17006, i16 17006, i16 16402, i16 16388, i16 17006, i16 17006, i16 16390, i16 16385, i16 17006, i16 17006, i16 16390, i16 16388, i16 17006, i16 17006, i16 16444, i16 16385, i16 17006, i16 17006, i16 16444, i16 16388, i16 17006, i16 17021, i16 16389, i16 16388, i16 17021, i16 17021, i16 16402, i16 16385, i16 17021, i16 17021, i16 16402, i16 16388, i16 17021, i16 17021, i16 16390, i16 16385, i16 17021, i16 17021, i16 16390, i16 16388, i16 17021, i16 17028, i16 16389, i16 16388, i16 17028, i16 17028, i16 16392, i16 16385, i16 17028, i16 17028, i16 16392, i16 16388, i16 17028, i16 17028, i16 16393, i16 16385, i16 17028, i16 17028, i16 16393, i16 16388, i16 17028, i16 17028, i16 16394, i16 16385, i16 17028, i16 17028, i16 16394, i16 16388, i16 17028, i16 17028, i16 16402, i16 16385, i16 17028, i16 17028, i16 16402, i16 16388, i16 17028, i16 17028, i16 16400, i16 16385, i16 17028, i16 17028, i16 16400, i16 16388, i16 17028, i16 17028, i16 16396, i16 16385, i16 17028, i16 17028, i16 16396, i16 16388, i16 17028, i16 17028, i16 16390, i16 16385, i16 17028, i16 17028, i16 16390, i16 16388, i16 17028, i16 17028, i16 16444, i16 16385, i16 17028, i16 17028, i16 16444, i16 16388, i16 17028, i16 17047, i16 16389, i16 16388, i16 17047, i16 17047, i16 16392, i16 16385, i16 17047, i16 17047, i16 16392, i16 16388, i16 17047, i16 17047, i16 16394, i16 16385, i16 17047, i16 17047, i16 16394, i16 16388, i16 17047, i16 17047, i16 16390, i16 16385, i16 17047, i16 17047, i16 16390, i16 16388, i16 17047, i16 17047, i16 16444, i16 16385, i16 17047, i16 17047, i16 16444, i16 16388, i16 17047, i16 17047, i16 16452, i16 16385, i16 17047, i16 17047, i16 16452, i16 16388, i16 17047, i16 17047, i16 16445, i16 16385, i16 17047, i16 17047, i16 16445, i16 16388, i16 17047, i16 17062, i16 16395, i16 16388, i16 17062, i16 32766, i16 32766, i16 16384, i16 32766, i16 17064, i16 32766, i16 16384, i16 17064, i16 17073, i16 32766, i16 16384, i16 17073, i16 17074, i16 32766, i16 16384, i16 17074, i16 17075, i16 32766, i16 16384, i16 17075, i16 17076, i16 32766, i16 16384, i16 17076, i16 17077, i16 32766, i16 16384, i16 17077, i16 17078, i16 32766, i16 16384, i16 17078, i16 17079, i16 32766, i16 16384, i16 17079, i16 17080, i16 32766, i16 16384, i16 17080, i16 17081, i16 32766, i16 16384, i16 17081, i16 16384, i16 16384, i16 16384, i16 17133, i16 16384, i16 16384, i16 16384, i16 17135, i16 16384, i16 16384, i16 16384, i16 17197, i16 16384, i16 16384, i16 16384, i16 16384, i16 32766, i16 16385, i16 16453, i16 32766, i16 17723, i16 16385, i16 16454, i16 17723, i16 17723, i16 16388, i16 16453, i16 17723, i16 17723, i16 16388, i16 16454, i16 17723, i16 17727, i16 16388, i16 16453, i16 17727, i16 17729, i16 16388, i16 16453, i16 17729, i16 17731, i16 16388, i16 16453, i16 17731, i16 17733, i16 16385, i16 16454, i16 17733, i16 17733, i16 16388, i16 16453, i16 17733, i16 17733, i16 16388, i16 16454, i16 17733, i16 17737, i16 16388, i16 16453, i16 17737, i16 17739, i16 16385, i16 16454, i16 17739, i16 17739, i16 16388, i16 16453, i16 17739, i16 17739, i16 16388, i16 16454, i16 17739, i16 17743, i16 16388, i16 16453, i16 17743, i16 17745, i16 16385, i16 16454, i16 17745, i16 17745, i16 16385, i16 16455, i16 17745, i16 17745, i16 16388, i16 16453, i16 17745, i16 17745, i16 16388, i16 16454, i16 17745, i16 17745, i16 16388, i16 16455, i16 17745, i16 17745, i16 16388, i16 16456, i16 17745, i16 17752, i16 16388, i16 16453, i16 17752, i16 17754, i16 16388, i16 16453, i16 17754, i16 17756, i16 16388, i16 16453, i16 17756, i16 17758, i16 16388, i16 16453, i16 17758, i16 17760, i16 16388, i16 16453, i16 17760, i16 17762, i16 16385, i16 16454, i16 17762, i16 17762, i16 16388, i16 16453, i16 17762, i16 17762, i16 16388, i16 16454, i16 17762, i16 17766, i16 16388, i16 16453, i16 17766, i16 17768, i16 16388, i16 16453, i16 17768, i16 17770, i16 16388, i16 16453, i16 17770, i16 17770, i16 16388, i16 32766, i16 17770, i16 17773, i16 16388, i16 16453, i16 17773, i16 17775, i16 16385, i16 16454, i16 17775, i16 17775, i16 16385, i16 16455, i16 17775, i16 17775, i16 16388, i16 16453, i16 17775, i16 17775, i16 16388, i16 16454, i16 17775, i16 17775, i16 16388, i16 16455, i16 17775, i16 17775, i16 16388, i16 16456, i16 17775, i16 17782, i16 16388, i16 16453, i16 17782, i16 17784, i16 16388, i16 16453, i16 17784, i16 17786, i16 16388, i16 16453, i16 17786, i16 17788, i16 16385, i16 16454, i16 17788, i16 17788, i16 16388, i16 16453, i16 17788, i16 17788, i16 16388, i16 16454, i16 17788, i16 32766, i16 16457, i16 16385, i16 32766, i16 17792, i16 16457, i16 16388, i16 17792, i16 17794, i16 16457, i16 16388, i16 17794, i16 17796, i16 16457, i16 16388, i16 17796, i16 17798, i16 16457, i16 16388, i16 17798, i16 17800, i16 16457, i16 16388, i16 17800, i16 17802, i16 16457, i16 16388, i16 17802, i16 17804, i16 16457, i16 16388, i16 17804, i16 17806, i16 16457, i16 16388, i16 17806, i16 17808, i16 16457, i16 16388, i16 17808, i16 17810, i16 16457, i16 16388, i16 17810, i16 17812, i16 16457, i16 16388, i16 17812, i16 17814, i16 16457, i16 16388, i16 17814, i16 17816, i16 16457, i16 16388, i16 17816, i16 17818, i16 16457, i16 16388, i16 17818, i16 17820, i16 16457, i16 16388, i16 17820, i16 17822, i16 16457, i16 16388, i16 17822, i16 17824, i16 16457, i16 16388, i16 17824, i16 17826, i16 16457, i16 16388, i16 17826, i16 17828, i16 16457, i16 16388, i16 17828, i16 17830, i16 16457, i16 16388, i16 17830, i16 17832, i16 16457, i16 16388, i16 17832, i16 17834, i16 16457, i16 16388, i16 17834, i16 17836, i16 16457, i16 16388, i16 17836, i16 17838, i16 16457, i16 16388, i16 17838, i16 17840, i16 16457, i16 16388, i16 17840, i16 17842, i16 16457, i16 16388, i16 17842, i16 17844, i16 16457, i16 16388, i16 17844, i16 17846, i16 16457, i16 16388, i16 17846, i16 17848, i16 16457, i16 16388, i16 17848, i16 17850, i16 16457, i16 16388, i16 17850, i16 17852, i16 16457, i16 16388, i16 17852, i16 17854, i16 16457, i16 16388, i16 17854, i16 17856, i16 16457, i16 16388, i16 17856, i16 17858, i16 16457, i16 16388, i16 17858, i16 17860, i16 16457, i16 16388, i16 17860, i16 17862, i16 16457, i16 16388, i16 17862, i16 17864, i16 16457, i16 16388, i16 17864, i16 17866, i16 16457, i16 16388, i16 17866, i16 17868, i16 16457, i16 16388, i16 17868, i16 17870, i16 16457, i16 16388, i16 17870, i16 17872, i16 16457, i16 16388, i16 17872, i16 32766, i16 16457, i16 16388, i16 32766, i16 17874, i16 16457, i16 16385, i16 17874, i16 17876, i16 16457, i16 16388, i16 17876, i16 17878, i16 16457, i16 16385, i16 17878, i16 17880, i16 16457, i16 16388, i16 17880, i16 17882, i16 16457, i16 16388, i16 17882, i16 17884, i16 16457, i16 16388, i16 17884, i16 17886, i16 16457, i16 16388, i16 17886, i16 17888, i16 16457, i16 16388, i16 17888, i16 17890, i16 16457, i16 16388, i16 17890, i16 17892, i16 16457, i16 16388, i16 17892, i16 17894, i16 16457, i16 16388, i16 17894, i16 32766, i16 16384, i16 16384, i16 32766, i16 17928, i16 32766, i16 16384, i16 17928, i16 17927, i16 32766, i16 16384, i16 17927, i16 17937, i16 32766, i16 16384, i16 17937, i16 17941, i16 32766, i16 16384, i16 17941, i16 17948, i16 32766, i16 16384, i16 17948, i16 17956, i16 32766, i16 16384, i16 17956, i16 17961, i16 32766, i16 16384, i16 17961, i16 17966, i16 32766, i16 16384, i16 17966, i16 17971, i16 32766, i16 16384, i16 17971, i16 17976, i16 32766, i16 16384, i16 17976, i16 17979, i16 32766, i16 16384, i16 17979, i16 17982, i16 32766, i16 16384, i16 17982, i16 17985, i16 32766, i16 16384, i16 17985, i16 17988, i16 32766, i16 16384, i16 17988, i16 17993, i16 32766, i16 16384, i16 17993, i16 17998, i16 32766, i16 16384, i16 17998, i16 18003, i16 32766, i16 16384, i16 18003, i16 18008, i16 32766, i16 16384, i16 18008, i16 18013, i16 32766, i16 16384, i16 18013, i16 18018, i16 32766, i16 16384, i16 18018, i16 18023, i16 32766, i16 16384, i16 18023, i16 18028, i16 32766, i16 16384, i16 18028, i16 18033, i16 32766, i16 16384, i16 18033, i16 18038, i16 32766, i16 16384, i16 18038, i16 18043, i16 32766, i16 16384, i16 18043, i16 18048, i16 32766, i16 16384, i16 18048, i16 18053, i16 32766, i16 16384, i16 18053, i16 18058, i16 32766, i16 16384, i16 18058, i16 18063, i16 32766, i16 16384, i16 18063, i16 18066, i16 32766, i16 16384, i16 18066, i16 18069, i16 32766, i16 16384, i16 18069, i16 16384, i16 16384, i16 32766, i16 32766, i16 18720, i16 18720, i16 18723, i16 18720, i16 18720, i16 18726, i16 18729, i16 18720, i16 18732, i16 18732, i16 18735, i16 18732, i16 18732, i16 18738, i16 18741, i16 18732, i16 18744, i16 18744, i16 18747, i16 18744, i16 18744, i16 18750, i16 18753, i16 18744, i16 18756, i16 18759, i16 18762, i16 18756, i16 18756, i16 18765, i16 18768, i16 18756, i16 18101, i16 32766, i16 16384, i16 18101, i16 18105, i16 32766, i16 16384, i16 18105, i16 18109, i16 32766, i16 16384, i16 18109, i16 18114, i16 32766, i16 16384, i16 18114, i16 18118, i16 32766, i16 16384, i16 18118, i16 18122, i16 32766, i16 16384, i16 18122, i16 18127, i16 32766, i16 16384, i16 18127, i16 18131, i16 32766, i16 16384, i16 18131, i16 18135, i16 32766, i16 16384, i16 18135, i16 18140, i16 32766, i16 16384, i16 18140, i16 18144, i16 32766, i16 16384, i16 18144, i16 18148, i16 32766, i16 16384, i16 18148, i16 18152, i16 32766, i16 16384, i16 18152, i16 18156, i16 32766, i16 16384, i16 18156, i16 18160, i16 32766, i16 16384, i16 18160, i16 18164, i16 32766, i16 16384, i16 18164, i16 18168, i16 32766, i16 16384, i16 18168, i16 18172, i16 32766, i16 16384, i16 18172, i16 18178, i16 32766, i16 16384, i16 18178, i16 18182, i16 32766, i16 16384, i16 18182, i16 18186, i16 32766, i16 16384, i16 18186, i16 18188, i16 32766, i16 16384, i16 18188, i16 18190, i16 32766, i16 16384, i16 18190, i16 18192, i16 32766, i16 16384, i16 18192, i16 18194, i16 32766, i16 16384, i16 18194, i16 18196, i16 32766, i16 16384, i16 18196, i16 18202, i16 32766, i16 16384, i16 18202, i16 18208, i16 32766, i16 16384, i16 18208, i16 18214, i16 32766, i16 16384, i16 18214, i16 18220, i16 32766, i16 16384, i16 18220, i16 18226, i16 32766, i16 16384, i16 18226, i16 18228, i16 32766, i16 16384, i16 18228, i16 18230, i16 32766, i16 16384, i16 18230, i16 18232, i16 32766, i16 16384, i16 18232, i16 18234, i16 32766, i16 16384, i16 18234, i16 18236, i16 32766, i16 16384, i16 18236, i16 18240, i16 32766, i16 16384, i16 18240, i16 18244, i16 32766, i16 16384, i16 18244, i16 18248, i16 32766, i16 16384, i16 18248, i16 18250, i16 32766, i16 16384, i16 18250, i16 18252, i16 32766, i16 16384, i16 18252, i16 18254, i16 32766, i16 16384, i16 18254, i16 18256, i16 32766, i16 16384, i16 18256, i16 18258, i16 32766, i16 16384, i16 18258, i16 18262, i16 32766, i16 16384, i16 18262, i16 18264, i16 32766, i16 16384, i16 18264, i16 18266, i16 32766, i16 16384, i16 18266, i16 18268, i16 32766, i16 16384, i16 18268, i16 32766, i16 32766, i16 16384, i16 16384, i16 16396, i16 32766, i16 16384, i16 16384, i16 16398, i16 32766, i16 16384, i16 16384, i16 16400, i16 32766, i16 16384, i16 16384, i16 16402, i16 32766, i16 16384, i16 16384, i16 16404, i16 32766, i16 16384, i16 16384, i16 16406, i16 32766, i16 16384, i16 16384, i16 16408, i16 32766, i16 16384, i16 16384, i16 16410, i16 32766, i16 16384, i16 16384, i16 16412, i16 32766, i16 16384, i16 16384, i16 16414, i16 32766, i16 16384, i16 16384, i16 16416, i16 32766, i16 16384, i16 16384, i16 16418, i16 32766, i16 16384, i16 16384, i16 16420, i16 32766, i16 16384, i16 16384, i16 16422, i16 32766, i16 16384, i16 16384, i16 16424, i16 32766, i16 16384, i16 16384, i16 16426, i16 32766, i16 16384, i16 16384, i16 16428, i16 32766, i16 16384, i16 16384, i16 16430, i16 32766, i16 16384, i16 16384, i16 16432, i16 32766, i16 16384, i16 16384, i16 16434, i16 32766, i16 16384, i16 16384, i16 16436, i16 32766, i16 16384, i16 16384, i16 16438, i16 32766, i16 16384, i16 16384, i16 16440, i16 32766, i16 16384, i16 16384, i16 16442, i16 32766, i16 16384, i16 16384, i16 16444, i16 32766, i16 16384, i16 16384, i16 16446, i16 32766, i16 16384, i16 16384, i16 16384, i16 32766, i16 16384, i16 16384, i16 16384, i16 16384, i16 32766, i16 16384, i16 16384, i16 32766, i16 16385, i16 16385, i16 32766, i16 16385, i16 16385, i16 16385, i16 16438, i16 16386, i16 16385, i16 16385, i16 16440, i16 16386, i16 16385, i16 16385, i16 16442, i16 16386, i16 16385, i16 16385, i16 16444, i16 16386, i16 16385, i16 16385, i16 16446, i16 16386, i16 16385, i16 16385, i16 16448, i16 16386, i16 16385, i16 16385, i16 16450, i16 16386, i16 16385, i16 16385, i16 16452, i16 16386, i16 16385, i16 16385, i16 16454, i16 16386, i16 16385, i16 16385, i16 16456, i16 16386, i16 16385, i16 16385, i16 32766, i16 16385, i16 16385, i16 16387, i16 16458, i16 16385, i16 16385, i16 16388, i16 16460, i16 16385, i16 16385, i16 16388, i16 16462, i16 16385, i16 16385, i16 16388, i16 16464, i16 16385, i16 16385, i16 16388, i16 16466, i16 16385, i16 16385, i16 16388, i16 16468, i16 16385, i16 16385, i16 16388, i16 16470, i16 16385, i16 16385, i16 16388, i16 16472, i16 16385, i16 16385, i16 16388, i16 16474, i16 16385, i16 16385, i16 16388, i16 16476, i16 16385, i16 16385, i16 16388, i16 16478, i16 16385, i16 16385, i16 16388, i16 16480, i16 16385, i16 16385, i16 16388, i16 16482, i16 16385, i16 16385, i16 16388, i16 16484, i16 16385, i16 16385, i16 16388, i16 16486, i16 16385, i16 16385, i16 16388, i16 16488, i16 16385, i16 16385, i16 16388, i16 16490, i16 16385, i16 16385, i16 16388, i16 16492, i16 16385, i16 16385, i16 16388, i16 16494, i16 16385, i16 16385, i16 16388, i16 16496, i16 16385, i16 16385, i16 16388, i16 16498, i16 16385, i16 16385, i16 16388, i16 16500, i16 16385, i16 16385, i16 16388, i16 16502, i16 16385, i16 16385, i16 16388, i16 16504, i16 16385, i16 16385, i16 16388, i16 16506, i16 16385, i16 16385, i16 16388, i16 16508, i16 16385, i16 16385, i16 16388, i16 17294, i16 16385, i16 16385, i16 16385, i16 17297, i16 16385, i16 16385, i16 16385, i16 17300, i16 16385, i16 16385, i16 16385, i16 17303, i16 16385, i16 16385, i16 16385, i16 17306, i16 16385, i16 16385, i16 16385, i16 17309, i16 16385, i16 16385, i16 16385, i16 17312, i16 16385, i16 16385, i16 16385, i16 17315, i16 16385, i16 16385, i16 16385, i16 17318, i16 16385, i16 16385, i16 16385, i16 17321, i16 16385, i16 16385, i16 16385, i16 17324, i16 16385, i16 16385, i16 16385, i16 17327, i16 16385, i16 16385, i16 16385, i16 17330, i16 16385, i16 16385, i16 16385, i16 17333, i16 16385, i16 16385, i16 16385, i16 17336, i16 16385, i16 16385, i16 16385, i16 17339, i16 16385, i16 16385, i16 16385, i16 17342, i16 16385, i16 16385, i16 16385, i16 17345, i16 16385, i16 16385, i16 16385, i16 17348, i16 16385, i16 16385, i16 16385, i16 17351, i16 16385, i16 16385, i16 16385, i16 17354, i16 16385, i16 16385, i16 16385, i16 17357, i16 16385, i16 16385, i16 16385, i16 17360, i16 16385, i16 16385, i16 16385, i16 17363, i16 16385, i16 16385, i16 16385, i16 17366, i16 16385, i16 16385, i16 16385, i16 17369, i16 16385, i16 16385, i16 16385, i16 17372, i16 16385, i16 16385, i16 16385, i16 17375, i16 16385, i16 16385, i16 16385, i16 17378, i16 16385, i16 16385, i16 16385, i16 17381, i16 16385, i16 16385, i16 16385, i16 17384, i16 16385, i16 16385, i16 16385, i16 17387, i16 16385, i16 16385, i16 16385, i16 17390, i16 16385, i16 16385, i16 16385, i16 17393, i16 16385, i16 16385, i16 16385, i16 17396, i16 16385, i16 16385, i16 16385, i16 17399, i16 16385, i16 16385, i16 16385, i16 17402, i16 16385, i16 16385, i16 16385, i16 17405, i16 16385, i16 16385, i16 16385, i16 17408, i16 16385, i16 16385, i16 16385, i16 17411, i16 16385, i16 16385, i16 16385, i16 17414, i16 16385, i16 16385, i16 16385, i16 17417, i16 16385, i16 16385, i16 16385, i16 17420, i16 16385, i16 16385, i16 16385, i16 17423, i16 16385, i16 16385, i16 16385, i16 17426, i16 16385, i16 16385, i16 16385, i16 17429, i16 16385, i16 16385, i16 16385, i16 17432, i16 16385, i16 16385, i16 16385, i16 17435, i16 16385, i16 16385, i16 16385, i16 17438, i16 16385, i16 16385, i16 16385, i16 17441, i16 16385, i16 16385, i16 16385, i16 17444, i16 16385, i16 16385, i16 16385, i16 17447, i16 16385, i16 16385, i16 16385, i16 17450, i16 16385, i16 16385, i16 16385, i16 17453, i16 16385, i16 16385, i16 16385, i16 17456, i16 16385, i16 16385, i16 16385, i16 17459, i16 16385, i16 16385, i16 16385, i16 17462, i16 16385, i16 16385, i16 16385, i16 17465, i16 16385, i16 16385, i16 16385, i16 17468, i16 16385, i16 16385, i16 16385, i16 17471, i16 16385, i16 16385, i16 16385, i16 17474, i16 16385, i16 16385, i16 16385, i16 17477, i16 16385, i16 16385, i16 16385, i16 17480, i16 16385, i16 16385, i16 16385, i16 17483, i16 16385, i16 16385, i16 16385, i16 17486, i16 16385, i16 16385, i16 16385, i16 17489, i16 16385, i16 16385, i16 16385, i16 17492, i16 16385, i16 16385, i16 16385, i16 17495, i16 16385, i16 16385, i16 16385, i16 17498, i16 16385, i16 16385, i16 16385, i16 17501, i16 16385, i16 16385, i16 16385, i16 17504, i16 16385, i16 16385, i16 16385, i16 17507, i16 16385, i16 16385, i16 16385, i16 17510, i16 16385, i16 16385, i16 16385, i16 17513, i16 16385, i16 16385, i16 16385, i16 17516, i16 16385, i16 16385, i16 16385, i16 17519, i16 16385, i16 16385, i16 16385, i16 17522, i16 16385, i16 16385, i16 16385, i16 17525, i16 16385, i16 16385, i16 16385, i16 17528, i16 16385, i16 16385, i16 16385, i16 17531, i16 16385, i16 16385, i16 16385, i16 17534, i16 16385, i16 16385, i16 16385, i16 17537, i16 16385, i16 16385, i16 16385, i16 17540, i16 16385, i16 16385, i16 16385, i16 17543, i16 16385, i16 16385, i16 16385, i16 17546, i16 16385, i16 16385, i16 16385, i16 17549, i16 16385, i16 16385, i16 16385, i16 17552, i16 16385, i16 16385, i16 16385, i16 17555, i16 16385, i16 16385, i16 16385, i16 17558, i16 16385, i16 16385, i16 16385, i16 17561, i16 16385, i16 16385, i16 16385, i16 17564, i16 16385, i16 16385, i16 16385, i16 17567, i16 16385, i16 16385, i16 16385, i16 17570, i16 16385, i16 16385, i16 16385, i16 17573, i16 16385, i16 16385, i16 16385, i16 17576, i16 16385, i16 16385, i16 16385, i16 17579, i16 16385, i16 16385, i16 16385, i16 17582, i16 16385, i16 16385, i16 16385, i16 17585, i16 16385, i16 16385, i16 16385, i16 17588, i16 16385, i16 16385, i16 16385, i16 17591, i16 16385, i16 16385, i16 16385, i16 17594, i16 16385, i16 16385, i16 16385, i16 17597, i16 16385, i16 16385, i16 16385, i16 17600, i16 16385, i16 16385, i16 16385, i16 17603, i16 16385, i16 16385, i16 16385, i16 17606, i16 16385, i16 16385, i16 16385, i16 17609, i16 16385, i16 16385, i16 16385, i16 17612, i16 16385, i16 16385, i16 16385, i16 17615, i16 16385, i16 16385, i16 16385, i16 17618, i16 16385, i16 16385, i16 16385, i16 17621, i16 16385, i16 16385, i16 16385, i16 17624, i16 16385, i16 16385, i16 16385, i16 17627, i16 16385, i16 16385, i16 16385, i16 17630, i16 16385, i16 16385, i16 16385, i16 17633, i16 16385, i16 16385, i16 16385, i16 17636, i16 16385, i16 16385, i16 16385, i16 17639, i16 16385, i16 16385, i16 16385, i16 17642, i16 16385, i16 16385, i16 16385, i16 17645, i16 16385, i16 16385, i16 16385, i16 17648, i16 16385, i16 16385, i16 16385, i16 17651, i16 16385, i16 16385, i16 16385, i16 17654, i16 16385, i16 16385, i16 16385, i16 17657, i16 16385, i16 16385, i16 16385, i16 17660, i16 16385, i16 16385, i16 16385, i16 17663, i16 16385, i16 16385, i16 16385, i16 17666, i16 16385, i16 16385, i16 16385, i16 17669, i16 16385, i16 16385, i16 16385, i16 17672, i16 16385, i16 16385, i16 16385, i16 17675, i16 16385, i16 16385, i16 16385, i16 17678, i16 16385, i16 16385, i16 16385, i16 17681, i16 16385, i16 16385, i16 16385, i16 17684, i16 16385, i16 16385, i16 16385, i16 17687, i16 16385, i16 16385, i16 16385, i16 17690, i16 16385, i16 16385, i16 16385, i16 17693, i16 16385, i16 16385, i16 16385, i16 17696, i16 16385, i16 16385, i16 16385, i16 17699, i16 16385, i16 16385, i16 16385, i16 17702, i16 16385, i16 16385, i16 16385, i16 17705, i16 16385, i16 16385, i16 16385, i16 17708, i16 16385, i16 16385, i16 16385, i16 17711, i16 16385, i16 16385, i16 16385, i16 17714, i16 16385, i16 16385, i16 16385, i16 17717, i16 16385, i16 16385, i16 16385, i16 17720, i16 16385, i16 16385, i16 16385, i16 17723, i16 16385, i16 16385, i16 16385, i16 17726, i16 16385, i16 16385, i16 16385, i16 17729, i16 16385, i16 16385, i16 16385, i16 17732, i16 16385, i16 16385, i16 16385, i16 17735, i16 16385, i16 16385, i16 16385, i16 17738, i16 16385, i16 16385, i16 16385, i16 17741, i16 16385, i16 16385, i16 16385, i16 17744, i16 16385, i16 16385, i16 16385, i16 17747, i16 16385, i16 16385, i16 16385, i16 17750, i16 16385, i16 16385, i16 16385, i16 17753, i16 16385, i16 16385, i16 16385, i16 17756, i16 16385, i16 16385, i16 16385, i16 17759, i16 16385, i16 16385, i16 16385, i16 17762, i16 16385, i16 16385, i16 16385, i16 17765, i16 16385, i16 16385, i16 16385, i16 17768, i16 16385, i16 16385, i16 16385, i16 17771, i16 16385, i16 16385, i16 16385, i16 17774, i16 16385, i16 16385, i16 16385, i16 17777, i16 16385, i16 16385, i16 16385, i16 17780, i16 16385, i16 16385, i16 16385, i16 17783, i16 16385, i16 16385, i16 16385, i16 17786, i16 16385, i16 16385, i16 16385, i16 17789, i16 16385, i16 16385, i16 16385, i16 17792, i16 16385, i16 16385, i16 16385, i16 17795, i16 16385, i16 16385, i16 16385, i16 17798, i16 16385, i16 16385, i16 16385, i16 17801, i16 16385, i16 16385, i16 16385, i16 17804, i16 16385, i16 16385, i16 16385, i16 17807, i16 16385, i16 16385, i16 16385, i16 17810, i16 16385, i16 16385, i16 16385, i16 17813, i16 16385, i16 16385, i16 16385, i16 17816, i16 16385, i16 16385, i16 16385, i16 17819, i16 16385, i16 16385, i16 16385, i16 17822, i16 16385, i16 16385, i16 16385, i16 17825, i16 16385, i16 16385, i16 16385, i16 17828, i16 16385, i16 16385, i16 16385, i16 17831, i16 16385, i16 16385, i16 16385, i16 17834, i16 16385, i16 16385, i16 16385, i16 17837, i16 16385, i16 16385, i16 16385, i16 17840, i16 16385, i16 16385, i16 16385, i16 17843, i16 16385, i16 16385, i16 16385, i16 17846, i16 16385, i16 16385, i16 16385, i16 17849, i16 16385, i16 16385, i16 16385, i16 17852, i16 16385, i16 16385, i16 16385, i16 17855, i16 16385, i16 16385, i16 16385, i16 17858, i16 16385, i16 16385, i16 16385, i16 17861, i16 16385, i16 16385, i16 16385, i16 17864, i16 16385, i16 16385, i16 16385, i16 17867, i16 16385, i16 16385, i16 16385, i16 17870, i16 16385, i16 16385, i16 16385, i16 17873, i16 16385, i16 16385, i16 16385, i16 17876, i16 16385, i16 16385, i16 16385, i16 17879, i16 16385, i16 16385, i16 16385, i16 17882, i16 16385, i16 16385, i16 16385, i16 17885, i16 16385, i16 16385, i16 16385, i16 17888, i16 16385, i16 16385, i16 16385, i16 17891, i16 16385, i16 16385, i16 16385, i16 17894, i16 16385, i16 16385, i16 16385, i16 17897, i16 16385, i16 16385, i16 16385, i16 17900, i16 16385, i16 16385, i16 16385, i16 17903, i16 16385, i16 16385, i16 16385, i16 17906, i16 16385, i16 16385, i16 16385, i16 17909, i16 16385, i16 16385, i16 16385, i16 17912, i16 16385, i16 16385, i16 16385, i16 17915, i16 16385, i16 16385, i16 16385, i16 17918, i16 16385, i16 16385, i16 16385, i16 17921, i16 16385, i16 16385, i16 16385, i16 17924, i16 16385, i16 16385, i16 16385, i16 17927, i16 16385, i16 16385, i16 16385, i16 17930, i16 16385, i16 16385, i16 16385, i16 17933, i16 16385, i16 16385, i16 16385, i16 17936, i16 16385, i16 16385, i16 16385, i16 17939, i16 16385, i16 16385, i16 16385, i16 17942, i16 16385, i16 16385, i16 16385, i16 17945, i16 16385, i16 16385, i16 16385, i16 17948, i16 16385, i16 16385, i16 16385, i16 17951, i16 16385, i16 16385, i16 16385, i16 16779, i16 16385, i16 16385, i16 16389, i16 32767, i16 16384, i16 16384, i16 16384, i16 17284, i16 17285, i16 0, i16 895, i16 895, i16 0, i16 17273, i16 17273, i16 0, i16 16434, i16 16428, i16 0, i16 16393, i16 16393, i16 0, i16 97, i16 905, i16 0, i16 14, i16 14, i16 0, i16 3, i16 3, i16 0, i16 4, i16 3, i16 0, i16 5, i16 3, i16 0, i16 6, i16 3, i16 0, i16 16425, i16 16428, i16 0, i16 16433, i16 17283, i16 0, i16 16437, i16 16437, i16 0, i16 16481, i16 17289, i16 0, i16 16398, i16 16398, i16 0, i16 91, i16 906, i16 0, i16 14, i16 13, i16 0, i16 3, i16 4, i16 0, i16 4, i16 4, i16 0, i16 14, i16 890, i16 0, i16 14, i16 892, i16 0, i16 16488, i16 16488, i16 0, i16 17279, i16 17279, i16 0, i16 16488, i16 16492, i16 0, i16 16492, i16 16492, i16 0, i16 17797, i16 17797, i16 0, i16 16393, i16 17601, i16 0, i16 16393, i16 17600, i16 0, i16 16393, i16 17273, i16 0, i16 17273, i16 16393, i16 0, i16 17273, i16 17601, i16 0, i16 17273, i16 17600, i16 0, i16 17798, i16 17798, i16 0, i16 17799, i16 17799, i16 0, i16 16393, i16 17796, i16 0, i16 16393, i16 17795, i16 0, i16 16393, i16 17794, i16 0, i16 16393, i16 17793, i16 0, i16 17273, i16 17796, i16 0, i16 17273, i16 17795, i16 0, i16 17273, i16 17794, i16 0, i16 17273, i16 17793, i16 0, i16 17800, i16 17800, i16 0, i16 17801, i16 17801, i16 0, i16 17802, i16 17802, i16 0, i16 17804, i16 17804, i16 0, i16 17805, i16 17805, i16 0, i16 17807, i16 17807, i16 0, i16 16475, i16 17934, i16 0, i16 16387, i16 16388, i16 0, i16 16388, i16 16388, i16 0, i16 16475, i16 17289, i16 0, i16 16398, i16 17274, i16 0, i16 16398, i16 17276, i16 0, i16 16475, i16 17290, i16 0, i16 16458, i16 17935, i16 17290, i16 16475, i16 0, i16 17279, i16 17279, i16 17279, i16 17279, i16 0, i16 16389, i16 16390, i16 16388, i16 16387, i16 0, i16 17296, i16 17302, i16 0, i16 17329, i16 17279, i16 0, i16 17296, i16 17303, i16 0, i16 17311, i16 17334, i16 0, i16 17314, i16 17334, i16 0, i16 17193, i16 17193, i16 0, i16 2, i16 2, i16 0, i16 17200, i16 17200, i16 0, i16 17193, i16 18178, i16 0, i16 17201, i16 17201, i16 0, i16 17193, i16 17285, i16 0, i16 17202, i16 17202, i16 0, i16 17193, i16 17193, i16 18178, i16 0, i16 2, i16 2, i16 2, i16 0, i16 17203, i16 17203, i16 17203, i16 0, i16 17193, i16 17193, i16 17285, i16 0, i16 17204, i16 17204, i16 17204, i16 0, i16 18178, i16 17267, i16 0, i16 881, i16 881, i16 0, i16 16385, i16 16385, i16 0, i16 18080, i16 18080, i16 0, i16 17408, i16 17427, i16 0, i16 17410, i16 17410, i16 0, i16 17408, i16 17408, i16 0, i16 18080, i16 17425, i16 0, i16 17426, i16 17426, i16 0, i16 17851, i16 17736, i16 0, i16 1467, i16 1352, i16 0, i16 17901, i16 17901, i16 0, i16 1467, i16 1353, i16 0, i16 17902, i16 17902, i16 0, i16 17851, i16 17738, i16 0, i16 1467, i16 1354, i16 0, i16 17903, i16 17903, i16 0, i16 1467, i16 1355, i16 0, i16 17904, i16 17904, i16 0, i16 17851, i16 17741, i16 0, i16 1467, i16 1357, i16 0, i16 17905, i16 17905, i16 0, i16 1467, i16 1358, i16 0, i16 17906, i16 17906, i16 0, i16 17851, i16 17745, i16 0, i16 1467, i16 1362, i16 0, i16 17907, i16 17907, i16 0, i16 1467, i16 1363, i16 0, i16 17908, i16 17908, i16 0, i16 17065, i16 17148, i16 0, i16 1770, i16 1770, i16 0, i16 1772, i16 1772, i16 0, i16 1774, i16 1774, i16 0, i16 17311, i16 17205, i16 0, i16 1814, i16 1814, i16 0, i16 17325, i16 17148, i16 0, i16 1830, i16 1830, i16 0, i16 17427, i16 17220, i16 0, i16 1840, i16 1840, i16 0, i16 16470, i16 16579, i16 0, i16 16530, i16 16530, i16 0, i16 16532, i16 16532, i16 0, i16 16534, i16 16534, i16 0, i16 16630, i16 16630, i16 0, i16 16389, i16 16389, i16 0, i16 16637, i16 16637, i16 0, i16 16630, i16 16681, i16 0, i16 16638, i16 16638, i16 0, i16 16630, i16 16739, i16 0, i16 16639, i16 16639, i16 0, i16 16630, i16 16630, i16 16681, i16 0, i16 16389, i16 16389, i16 16389, i16 0, i16 16640, i16 16640, i16 16640, i16 0, i16 16630, i16 16630, i16 16739, i16 0, i16 16641, i16 16641, i16 16641, i16 0, i16 16681, i16 16718, i16 0, i16 16716, i16 16716, i16 0, i16 16769, i16 16642, i16 0, i16 16789, i16 16789, i16 0, i16 16791, i16 16579, i16 0, i16 16859, i16 16859, i16 0, i16 16892, i16 16917, i16 0, i16 16894, i16 16894, i16 0, i16 16892, i16 16892, i16 0, i16 16388, i16 16915, i16 0, i16 16916, i16 16916, i16 0, i16 16917, i16 16661, i16 0, i16 16934, i16 16934, i16 0, i16 18043, i16 17928, i16 0, i16 18093, i16 18093, i16 0, i16 18043, i16 17929, i16 0, i16 18094, i16 18094, i16 0, i16 18043, i16 17930, i16 0, i16 18095, i16 18095, i16 0, i16 18043, i16 17931, i16 0, i16 18096, i16 18096, i16 0, i16 18043, i16 17933, i16 0, i16 18097, i16 18097, i16 0, i16 18043, i16 17934, i16 0, i16 18098, i16 18098, i16 0, i16 18043, i16 17937, i16 0, i16 18043, i16 17938, i16 0, i16 18099, i16 18099, i16 0, i16 18043, i16 17939, i16 0, i16 18100, i16 18100, i16 0, i16 16510, i16 16788, i16 0, i16 16510, i16 16789, i16 0, i16 16510, i16 16790, i16 0, i16 16510, i16 16791, i16 0, i16 16510, i16 16792, i16 0, i16 16516, i16 16788, i16 0, i16 16516, i16 16789, i16 0, i16 16516, i16 16790, i16 0, i16 16516, i16 16791, i16 0, i16 16516, i16 16792, i16 0, i16 16522, i16 16788, i16 0, i16 16522, i16 16789, i16 0, i16 16522, i16 16790, i16 0, i16 16522, i16 16791, i16 0, i16 16522, i16 16792, i16 0, i16 16528, i16 16788, i16 0, i16 16528, i16 16789, i16 0, i16 16528, i16 16790, i16 0, i16 16528, i16 16791, i16 0, i16 16528, i16 16792, i16 0, i16 16534, i16 16788, i16 0, i16 16534, i16 16789, i16 0, i16 16534, i16 16790, i16 0, i16 16534, i16 16791, i16 0, i16 16534, i16 16792, i16 0, i16 16540, i16 16788, i16 0, i16 16540, i16 16789, i16 0, i16 16540, i16 16790, i16 0, i16 16540, i16 16791, i16 0, i16 16540, i16 16792, i16 0, i16 16546, i16 16788, i16 0, i16 16546, i16 16789, i16 0, i16 16546, i16 16790, i16 0, i16 16546, i16 16791, i16 0, i16 16546, i16 16792, i16 0, i16 16552, i16 16788, i16 0, i16 16552, i16 16789, i16 0, i16 16552, i16 16790, i16 0, i16 16552, i16 16791, i16 0, i16 16552, i16 16792, i16 0, i16 16558, i16 16788, i16 0, i16 16558, i16 16789, i16 0, i16 16558, i16 16790, i16 0, i16 16558, i16 16791, i16 0, i16 16558, i16 16792, i16 0, i16 16564, i16 16788, i16 0, i16 16564, i16 16789, i16 0, i16 16564, i16 16790, i16 0, i16 16564, i16 16791, i16 0, i16 16564, i16 16792, i16 0, i16 16570, i16 16788, i16 0, i16 16570, i16 16789, i16 0, i16 16570, i16 16790, i16 0, i16 16570, i16 16791, i16 0, i16 16570, i16 16792, i16 0, i16 16576, i16 16788, i16 0, i16 16576, i16 16789, i16 0, i16 16576, i16 16790, i16 0, i16 16576, i16 16791, i16 0, i16 16576, i16 16792, i16 0, i16 16582, i16 16788, i16 0, i16 16582, i16 16789, i16 0, i16 16582, i16 16790, i16 0, i16 16582, i16 16791, i16 0, i16 16582, i16 16792, i16 0, i16 16588, i16 16788, i16 0, i16 16588, i16 16789, i16 0, i16 16588, i16 16790, i16 0, i16 16588, i16 16791, i16 0, i16 16588, i16 16792, i16 0, i16 16594, i16 16788, i16 0, i16 16594, i16 16789, i16 0, i16 16594, i16 16790, i16 0, i16 16594, i16 16791, i16 0, i16 16594, i16 16792, i16 0, i16 16600, i16 16788, i16 0, i16 16600, i16 16789, i16 0, i16 16600, i16 16790, i16 0, i16 16600, i16 16791, i16 0, i16 16600, i16 16792, i16 0, i16 16606, i16 16788, i16 0, i16 16606, i16 16789, i16 0, i16 16606, i16 16790, i16 0, i16 16606, i16 16791, i16 0, i16 16606, i16 16792, i16 0, i16 16612, i16 16788, i16 0, i16 16612, i16 16789, i16 0, i16 16612, i16 16790, i16 0, i16 16612, i16 16791, i16 0, i16 16612, i16 16792, i16 0, i16 16618, i16 16788, i16 0, i16 16618, i16 16789, i16 0, i16 16618, i16 16790, i16 0, i16 16618, i16 16791, i16 0, i16 16618, i16 16792, i16 0, i16 16624, i16 16788, i16 0, i16 16624, i16 16789, i16 0, i16 16624, i16 16790, i16 0, i16 16624, i16 16791, i16 0, i16 16624, i16 16792, i16 0, i16 16630, i16 16788, i16 0, i16 16630, i16 16789, i16 0, i16 16630, i16 16790, i16 0, i16 16630, i16 16791, i16 0, i16 16630, i16 16792, i16 0, i16 16636, i16 16788, i16 0, i16 16636, i16 16789, i16 0, i16 16636, i16 16790, i16 0, i16 16636, i16 16791, i16 0, i16 16636, i16 16792, i16 0, i16 16642, i16 16788, i16 0, i16 16642, i16 16789, i16 0, i16 16642, i16 16790, i16 0, i16 16642, i16 16791, i16 0, i16 16642, i16 16792, i16 0, i16 16648, i16 16788, i16 0, i16 16648, i16 16789, i16 0, i16 16648, i16 16790, i16 0, i16 16648, i16 16791, i16 0, i16 16648, i16 16792, i16 0, i16 16654, i16 16788, i16 0, i16 16654, i16 16789, i16 0, i16 16654, i16 16790, i16 0, i16 16654, i16 16791, i16 0, i16 16654, i16 16792, i16 0, i16 16660, i16 16788, i16 0, i16 16660, i16 16789, i16 0, i16 16660, i16 16790, i16 0, i16 16660, i16 16791, i16 0, i16 16660, i16 16792, i16 0, i16 16666, i16 16788, i16 0, i16 16666, i16 16789, i16 0, i16 16666, i16 16790, i16 0, i16 16666, i16 16791, i16 0, i16 16666, i16 16792, i16 0, i16 16672, i16 16788, i16 0, i16 16672, i16 16789, i16 0, i16 16672, i16 16790, i16 0, i16 16672, i16 16791, i16 0, i16 16672, i16 16792, i16 0, i16 16678, i16 16788, i16 0, i16 16678, i16 16789, i16 0, i16 16678, i16 16790, i16 0, i16 16678, i16 16791, i16 0, i16 16678, i16 16792, i16 0, i16 16684, i16 16788, i16 0, i16 16684, i16 16789, i16 0, i16 16684, i16 16790, i16 0, i16 16684, i16 16791, i16 0, i16 16684, i16 16792, i16 0, i16 16690, i16 16788, i16 0, i16 16690, i16 16789, i16 0, i16 16690, i16 16790, i16 0, i16 16690, i16 16791, i16 0, i16 16690, i16 16792, i16 0, i16 16696, i16 16788, i16 0, i16 16696, i16 16789, i16 0, i16 16696, i16 16790, i16 0, i16 16696, i16 16791, i16 0, i16 16696, i16 16792, i16 0, i16 16702, i16 16788, i16 0, i16 16702, i16 16789, i16 0, i16 16702, i16 16790, i16 0, i16 16702, i16 16791, i16 0, i16 16702, i16 16792, i16 0, i16 16708, i16 16788, i16 0, i16 16708, i16 16789, i16 0, i16 16708, i16 16790, i16 0, i16 16708, i16 16791, i16 0, i16 16708, i16 16792, i16 0, i16 16714, i16 16788, i16 0, i16 16714, i16 16789, i16 0, i16 16714, i16 16790, i16 0, i16 16714, i16 16791, i16 0, i16 16714, i16 16792, i16 0, i16 16721, i16 16788, i16 0, i16 16721, i16 16789, i16 0, i16 16721, i16 16790, i16 0, i16 16721, i16 16791, i16 0, i16 16721, i16 16792, i16 0, i16 16728, i16 16788, i16 0, i16 16728, i16 16789, i16 0, i16 16728, i16 16790, i16 0, i16 16728, i16 16791, i16 0, i16 16728, i16 16792, i16 0, i16 16734, i16 16788, i16 0, i16 16734, i16 16789, i16 0, i16 16734, i16 16790, i16 0, i16 16734, i16 16791, i16 0, i16 16734, i16 16792, i16 0, i16 16740, i16 16788, i16 0, i16 16740, i16 16789, i16 0, i16 16740, i16 16790, i16 0, i16 16740, i16 16791, i16 0, i16 16740, i16 16792, i16 0, i16 16746, i16 16788, i16 0, i16 16746, i16 16789, i16 0, i16 16746, i16 16790, i16 0, i16 16746, i16 16791, i16 0, i16 16746, i16 16792, i16 0, i16 16752, i16 16788, i16 0, i16 16752, i16 16789, i16 0, i16 16752, i16 16790, i16 0, i16 16752, i16 16791, i16 0, i16 16752, i16 16792, i16 0, i16 16758, i16 16788, i16 0, i16 16758, i16 16789, i16 0, i16 16758, i16 16790, i16 0, i16 16758, i16 16791, i16 0, i16 16758, i16 16792, i16 0, i16 16764, i16 16788, i16 0, i16 16764, i16 16789, i16 0, i16 16764, i16 16790, i16 0, i16 16764, i16 16791, i16 0, i16 16764, i16 16792, i16 0, i16 16770, i16 16788, i16 0, i16 16770, i16 16789, i16 0, i16 16770, i16 16790, i16 0, i16 16770, i16 16791, i16 0, i16 16770, i16 16792, i16 0, i16 14, i16 17, i16 8, i16 13, i16 15, i16 6, i16 12, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5, i16 10, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9, i16 7, i16 11, i16 0, i16 0, i16 16, i16 3, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4, i16 0, i16 1, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 15, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 168, i16 173, i16 100, i16 105, i16 110, i16 116, i16 125, i16 131, i16 140, i16 144, i16 146, i16 148, i16 151, i16 154, i16 160, i16 163, i16 120, i16 124, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 26, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 82, i16 114, i16 5, i16 119, i16 0, i16 32, i16 0, i16 136, i16 111, i16 6, i16 17, i16 8, i16 167, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 16, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 36, i16 0, i16 37, i16 0, i16 0, i16 0, i16 0, i16 0, i16 38, i16 0, i16 0, i16 0, i16 0, i16 39, i16 0, i16 40, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 55, i16 123, i16 129, i16 134, i16 139, i16 0, i16 52, i16 99, i16 104, i16 109, i16 115, i16 0, i16 0, i16 0, i16 0, i16 0, i16 77, i16 85, i16 89, i16 0, i16 170, i16 174, i16 178, i16 180, i16 147, i16 0, i16 0, i16 0, i16 0, i16 0, i16 35, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 25, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 61, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 80, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 58, i16 0, i16 0, i16 12, i16 0, i16 0, i16 0, i16 28, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 159, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 143, i16 145, i16 0, i16 0, i16 0, i16 0, i16 172, i16 177, i16 0, i16 0, i16 0, i16 0, i16 47, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 41, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 191, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 13, i16 0, i16 24, i16 51, i16 87, i16 93, i16 102, i16 70, i16 142, i16 175, i16 0, i16 76, i16 90, i16 72, i16 49, i16 4, i16 92, i16 53, i16 96, i16 0, i16 54, i16 0, i16 30, i16 97, i16 18, i16 31, i16 0, i16 0, i16 0, i16 79, i16 91, i16 10, i16 45, i16 0, i16 0, i16 0, i16 158, i16 33, i16 155, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9, i16 184, i16 81, i16 189, i16 196, i16 64, i16 94, i16 75, i16 88, i16 98, i16 66, i16 46, i16 63, i16 187, i16 84, i16 0, i16 50, i16 95, i16 101, i16 106, i16 150, i16 162, i16 133, i16 138, i16 169, i16 192, i16 126, i16 83, i16 183, i16 153, i16 135, i16 179, i16 112, i16 117, i16 122, i16 128, i16 132, i16 185, i16 194, i16 156, i16 195, i16 186, i16 200, i16 67, i16 176, i16 149, i16 181, i16 188, i16 57, i16 141, i16 121, i16 127, i16 130, i16 137, i16 103, i16 107, i16 113, i16 118, i16 56, i16 108, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 152, i16 43, i16 34, i16 7, i16 44, i16 171, i16 0, i16 0, i16 0, i16 165, i16 42, i16 166, i16 0, i16 0, i16 59, i16 19, i16 197, i16 199, i16 22, i16 20, i16 23, i16 21, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 48, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 27, i16 0, i16 0, i16 0, i16 182, i16 198, i16 60, i16 190, i16 62, i16 193, i16 65, i16 157, i16 161, i16 164, i16 69, i16 68, i16 71, i16 78, i16 74, i16 86, i16 0, i16 2, i16 29, i16 3, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 14, i16 73, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1292, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1197, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1199, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 557, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 597, i16 598, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 691, i16 692, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1211, i16 1210, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 701, i16 702, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 731, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 223, i16 230, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 245, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1198, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 268, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1298, i16 1296, i16 1297, i16 1295, i16 0, i16 0, i16 0, i16 0, i16 1569, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1570, i16 1571, i16 1572, i16 1573, i16 0, i16 0, i16 0, i16 0, i16 1106, i16 1107, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1661, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 246, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 247, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 250, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 251, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 253, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 269, i16 0, i16 0, i16 0, i16 270, i16 0, i16 0, i16 0, i16 376, i16 378, i16 379, i16 380, i16 0, i16 0, i16 0, i16 263, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 266, i16 267, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1290, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 581, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 584, i16 583, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 609, i16 610, i16 611, i16 612, i16 0, i16 0, i16 0, i16 0, i16 152, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1207, i16 1206, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 189, i16 0, i16 0, i16 0, i16 244, i16 0, i16 0, i16 0, i16 1224, i16 0, i16 0, i16 1223, i16 0, i16 0, i16 0, i16 0, i16 1226, i16 0, i16 0, i16 1225, i16 0, i16 0, i16 0, i16 0, i16 1228, i16 0, i16 0, i16 1227, i16 0, i16 0, i16 0, i16 0, i16 1230, i16 0, i16 0, i16 1229, i16 0, i16 0, i16 0, i16 0, i16 1232, i16 0, i16 0, i16 1231, i16 0, i16 0, i16 0, i16 0, i16 1234, i16 0, i16 0, i16 1233, i16 0, i16 0, i16 0, i16 0, i16 1241, i16 1240, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1243, i16 1242, i16 1205, i16 1204, i16 0, i16 0, i16 0, i16 0, i16 1247, i16 1246, i16 0, i16 0, i16 1249, i16 1248, i16 0, i16 0, i16 226, i16 228, i16 225, i16 0, i16 0, i16 0, i16 0, i16 0, i16 760, i16 0, i16 734, i16 0, i16 748, i16 0, i16 0, i16 260, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 264, i16 265, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 554, i16 0, i16 0, i16 0, i16 0, i16 552, i16 0, i16 0, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 0, i16 1069, i16 1070, i16 1071, i16 1079, i16 1072, i16 1081, i16 1657, i16 0, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 0, i16 564, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1076, i16 0, i16 0, i16 0, i16 0, i16 0, i16 577, i16 0, i16 1367, i16 1368, i16 1369, i16 1370, i16 1371, i16 1372, i16 1373, i16 0, i16 1127, i16 1125, i16 1124, i16 1126, i16 1128, i16 1129, i16 1130, i16 0, i16 1142, i16 1140, i16 1139, i16 1141, i16 1143, i16 1144, i16 1145, i16 0, i16 1196, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 256, i16 257, i16 255, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1024, i16 984, i16 489, i16 409, i16 0, i16 0, i16 487, i16 407, i16 258, i16 261, i16 259, i16 262, i16 0, i16 0, i16 0, i16 0, i16 1027, i16 987, i16 492, i16 412, i16 1028, i16 988, i16 1029, i16 989, i16 773, i16 0, i16 775, i16 825, i16 771, i16 822, i16 749, i16 800, i16 774, i16 776, i16 746, i16 766, i16 779, i16 786, i16 790, i16 794, i16 1032, i16 992, i16 500, i16 420, i16 1033, i16 993, i16 503, i16 424, i16 781, i16 792, i16 768, i16 769, i16 767, i16 821, i16 808, i16 0, i16 1037, i16 535, i16 534, i16 536, i16 1043, i16 545, i16 550, i16 1002, i16 526, i16 449, i16 529, i16 452, i16 1039, i16 999, i16 1041, i16 1001, i16 1038, i16 998, i16 521, i16 444, i16 525, i16 448, i16 527, i16 450, i16 271, i16 575, i16 576, i16 1075, i16 578, i16 579, i16 580, i16 1077, i16 1040, i16 1000, i16 1042, i16 1003, i16 531, i16 454, i16 532, i16 455, i16 1555, i16 1557, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1300, i16 1299, i16 0, i16 0, i16 0, i16 0, i16 1293, i16 1291, i16 1045, i16 1006, i16 539, i16 462, i16 542, i16 465, i16 546, i16 470, i16 791, i16 793, i16 798, i16 801, i16 802, i16 803, i16 804, i16 805, i16 1049, i16 1051, i16 1053, i16 1055, i16 1057, i16 1059, i16 1061, i16 1063, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 538, i16 461, i16 540, i16 463, i16 1044, i16 1005, i16 537, i16 460, i16 1050, i16 1052, i16 1054, i16 1056, i16 1058, i16 1060, i16 1062, i16 1064, i16 1306, i16 1305, i16 1308, i16 1307, i16 0, i16 0, i16 0, i16 0, i16 796, i16 730, i16 732, i16 733, i16 735, i16 737, i16 739, i16 741, i16 1565, i16 1566, i16 0, i16 0, i16 0, i16 0, i16 589, i16 590, i16 543, i16 544, i16 1637, i16 181, i16 213, i16 182, i16 224, i16 151, i16 799, i16 809, i16 813, i16 797, i16 0, i16 0, i16 0, i16 0, i16 290, i16 291, i16 0, i16 292, i16 293, i16 294, i16 295, i16 296, i16 547, i16 549, i16 472, i16 1048, i16 1009, i16 1047, i16 1008, i16 0, i16 551, i16 1074, i16 553, i16 555, i16 556, i16 558, i16 559, i16 560, i16 807, i16 758, i16 811, i16 810, i16 814, i16 816, i16 820, i16 823, i16 297, i16 298, i16 299, i16 300, i16 0, i16 0, i16 0, i16 0, i16 1065, i16 1067, i16 272, i16 273, i16 274, i16 275, i16 0, i16 0, i16 1066, i16 1068, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 561, i16 1567, i16 1568, i16 0, i16 0, i16 0, i16 0, i16 0, i16 562, i16 563, i16 565, i16 567, i16 568, i16 569, i16 570, i16 571, i16 819, i16 778, i16 780, i16 782, i16 783, i16 785, i16 787, i16 789, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 566, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1078, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 824, i16 826, i16 795, i16 818, i16 806, i16 817, i16 827, i16 0, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1108, i16 1109, i16 1088, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 572, i16 573, i16 574, i16 0, i16 0, i16 0, i16 0, i16 0, i16 828, i16 829, i16 830, i16 831, i16 832, i16 833, i16 834, i16 835, i16 1344, i16 1345, i16 1346, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1089, i16 695, i16 696, i16 697, i16 698, i16 1090, i16 1091, i16 585, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 836, i16 837, i16 839, i16 840, i16 841, i16 842, i16 843, i16 844, i16 838, i16 1131, i16 1132, i16 1134, i16 1133, i16 0, i16 1135, i16 1136, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 586, i16 587, i16 588, i16 1092, i16 1093, i16 593, i16 594, i16 595, i16 1100, i16 1101, i16 675, i16 676, i16 677, i16 678, i16 0, i16 0, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 845, i16 846, i16 847, i16 848, i16 849, i16 850, i16 851, i16 852, i16 591, i16 592, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 0, i16 596, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 853, i16 854, i16 855, i16 1137, i16 856, i16 1138, i16 857, i16 858, i16 599, i16 600, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 1117, i16 1118, i16 859, i16 860, i16 861, i16 862, i16 863, i16 864, i16 865, i16 866, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 1374, i16 1375, i16 1376, i16 1377, i16 1378, i16 1379, i16 1380, i16 1381, i16 1119, i16 1120, i16 1121, i16 1122, i16 1123, i16 0, i16 0, i16 0, i16 608, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 1632, i16 523, i16 1633, i16 1634, i16 1635, i16 533, i16 541, i16 1636, i16 867, i16 868, i16 869, i16 870, i16 871, i16 872, i16 873, i16 874, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 1382, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 875, i16 876, i16 877, i16 878, i16 879, i16 880, i16 881, i16 882, i16 620, i16 621, i16 622, i16 625, i16 626, i16 627, i16 628, i16 631, i16 365, i16 160, i16 192, i16 194, i16 191, i16 195, i16 241, i16 185, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 1390, i16 1391, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1646, i16 446, i16 1647, i16 1648, i16 1649, i16 456, i16 464, i16 1650, i16 623, i16 624, i16 633, i16 634, i16 629, i16 630, i16 1098, i16 1099, i16 883, i16 884, i16 885, i16 1153, i16 886, i16 1154, i16 887, i16 888, i16 374, i16 375, i16 158, i16 157, i16 234, i16 236, i16 238, i16 161, i16 1398, i16 1399, i16 1400, i16 1401, i16 1402, i16 1403, i16 1404, i16 0, i16 632, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 1146, i16 1147, i16 1148, i16 1150, i16 1149, i16 0, i16 1151, i16 1152, i16 1658, i16 1659, i16 1660, i16 954, i16 957, i16 959, i16 961, i16 964, i16 383, i16 0, i16 0, i16 0, i16 387, i16 388, i16 389, i16 390, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 391, i16 392, i16 219, i16 217, i16 0, i16 178, i16 180, i16 0, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 1163, i16 1164, i16 1165, i16 0, i16 0, i16 0, i16 0, i16 0, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 403, i16 402, i16 404, i16 405, i16 415, i16 414, i16 991, i16 416, i16 150, i16 159, i16 172, i16 215, i16 193, i16 216, i16 214, i16 169, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 1179, i16 1178, i16 1201, i16 1200, i16 0, i16 0, i16 0, i16 0, i16 413, i16 1642, i16 421, i16 422, i16 1643, i16 431, i16 1644, i16 1645, i16 674, i16 1094, i16 1095, i16 1096, i16 1097, i16 679, i16 680, i16 681, i16 164, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 167, i16 384, i16 438, i16 176, i16 377, i16 381, i16 382, i16 162, i16 423, i16 505, i16 426, i16 508, i16 429, i16 506, i16 427, i16 509, i16 168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 170, i16 171, i16 0, i16 0, i16 173, i16 174, i16 0, i16 0, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 430, i16 507, i16 428, i16 512, i16 434, i16 514, i16 436, i16 513, i16 177, i16 179, i16 212, i16 218, i16 156, i16 155, i16 165, i16 163, i16 690, i16 1102, i16 1103, i16 1104, i16 1105, i16 693, i16 694, i16 1110, i16 435, i16 433, i16 1035, i16 995, i16 520, i16 443, i16 0, i16 0, i16 1203, i16 1202, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1209, i16 1208, i16 0, i16 0, i16 0, i16 0, i16 1245, i16 1244, i16 699, i16 700, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 955, i16 956, i16 958, i16 0, i16 960, i16 0, i16 962, i16 963, i16 190, i16 474, i16 477, i16 1624, i16 1625, i16 481, i16 1626, i16 1627, i16 703, i16 1652, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 1215, i16 1214, i16 1213, i16 1212, i16 0, i16 0, i16 0, i16 0, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 965, i16 966, i16 968, i16 969, i16 277, i16 278, i16 280, i16 281, i16 711, i16 712, i16 713, i16 1653, i16 715, i16 716, i16 717, i16 718, i16 967, i16 276, i16 279, i16 1552, i16 1553, i16 1554, i16 0, i16 0, i16 971, i16 970, i16 972, i16 973, i16 974, i16 975, i16 977, i16 978, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 719, i16 720, i16 721, i16 722, i16 1654, i16 724, i16 725, i16 726, i16 466, i16 467, i16 1651, i16 183, i16 240, i16 184, i16 229, i16 332, i16 727, i16 1655, i16 1656, i16 0, i16 0, i16 0, i16 0, i16 0, i16 983, i16 994, i16 440, i16 439, i16 441, i16 442, i16 996, i16 231, i16 476, i16 396, i16 1016, i16 976, i16 475, i16 395, i16 1019, i16 979, i16 222, i16 393, i16 397, i16 1638, i16 1639, i16 401, i16 1640, i16 1641, i16 738, i16 742, i16 745, i16 0, i16 755, i16 0, i16 765, i16 777, i16 227, i16 187, i16 394, i16 175, i16 239, i16 154, i16 188, i16 153, i16 483, i16 482, i16 484, i16 485, i16 495, i16 494, i16 1031, i16 496, i16 740, i16 788, i16 736, i16 784, i16 761, i16 812, i16 763, i16 815, i16 997, i16 458, i16 457, i16 459, i16 1004, i16 468, i16 473, i16 469, i16 743, i16 744, i16 747, i16 750, i16 751, i16 752, i16 753, i16 754, i16 488, i16 408, i16 486, i16 406, i16 1026, i16 986, i16 1025, i16 985, i16 233, i16 0, i16 0, i16 0, i16 235, i16 237, i16 0, i16 0, i16 493, i16 1628, i16 501, i16 502, i16 1629, i16 510, i16 1630, i16 1631, i16 497, i16 417, i16 499, i16 419, i16 0, i16 0, i16 498, i16 418, i16 242, i16 220, i16 385, i16 386, i16 221, i16 243, i16 186, i16 166, i16 1011, i16 1010, i16 1012, i16 1013, i16 1014, i16 1015, i16 1017, i16 1018, i16 756, i16 757, i16 0, i16 759, i16 762, i16 764, i16 770, i16 772, i16 248, i16 0, i16 0, i16 0, i16 252, i16 0, i16 0, i16 0, i16 1020, i16 980, i16 1022, i16 982, i16 1021, i16 981, i16 480, i16 400, i16 254, i16 0, i16 0, i16 0, i16 249, i16 0, i16 0, i16 0, i16 1023, i16 1034, i16 517, i16 516, i16 518, i16 519, i16 1036, i16 232, i16 8, i16 13, i16 9, i16 5, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 14, i16 7, i16 11, i16 3, i16 6, i16 0, i16 0, i16 0, i16 0, i16 10, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 81, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8, i16 42, i16 98, i16 109, i16 122, i16 130, i16 140, i16 151, i16 164, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 35, i16 0, i16 108, i16 0, i16 110, i16 120, i16 125, i16 133, i16 0, i16 0, i16 0, i16 0, i16 15, i16 0, i16 141, i16 148, i16 112, i16 117, i16 160, i16 139, i16 149, i16 57, i16 167, i16 170, i16 174, i16 47, i16 60, i16 61, i16 39, i16 0, i16 0, i16 11, i16 92, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 43, i16 18, i16 0, i16 0, i16 10, i16 12, i16 51, i16 119, i16 93, i16 169, i16 172, i16 96, i16 0, i16 0, i16 28, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 23, i16 9, i16 0, i16 14, i16 66, i16 0, i16 67, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 32, i16 75, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 46, i16 147, i16 152, i16 156, i16 31, i16 0, i16 0, i16 157, i16 161, i16 0, i16 36, i16 0, i16 0, i16 0, i16 0, i16 0, i16 37, i16 22, i16 176, i16 0, i16 0, i16 38, i16 181, i16 63, i16 70, i16 48, i16 17, i16 0, i16 73, i16 74, i16 0, i16 0, i16 52, i16 102, i16 135, i16 155, i16 114, i16 171, i16 101, i16 173, i16 111, i16 121, i16 94, i16 127, i16 142, i16 103, i16 143, i16 104, i16 175, i16 180, i16 89, i16 62, i16 124, i16 71, i16 80, i16 83, i16 20, i16 49, i16 166, i16 95, i16 7, i16 106, i16 165, i16 26, i16 55, i16 153, i16 179, i16 154, i16 182, i16 56, i16 40, i16 41, i16 77, i16 158, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 79, i16 86, i16 0, i16 76, i16 82, i16 88, i16 0, i16 59, i16 69, i16 85, i16 99, i16 116, i16 131, i16 58, i16 68, i16 84, i16 97, i16 115, i16 128, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 78, i16 50, i16 87, i16 27, i16 33, i16 34, i16 123, i16 0, i16 44, i16 16, i16 24, i16 0, i16 25, i16 0, i16 3, i16 0, i16 45, i16 105, i16 107, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 126, i16 54, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 144, i16 177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 13, i16 21, i16 19, i16 0, i16 0, i16 53, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 29, i16 30, i16 129, i16 137, i16 146, i16 138, i16 134, i16 0, i16 0, i16 159, i16 178, i16 90, i16 118, i16 132, i16 163, i16 64, i16 72, i16 91, i16 113, i16 162, i16 145, i16 65, i16 150, i16 168, i16 100, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 136, i16 5, i16 6, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 592, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 161, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 172, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 167, i16 168, i16 169, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 170, i16 0, i16 171, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 714, i16 715, i16 864, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1505, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 524, i16 0, i16 525, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 581, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1348, i16 0, i16 0, i16 0, i16 1349, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1923, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 526, i16 527, i16 528, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 427, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 343, i16 344, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 290, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 594, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 742, i16 743, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1924, i16 146, i16 0, i16 1925, i16 0, i16 1926, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 232, i16 233, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 234, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 520, i16 521, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 522, i16 523, i16 0, i16 0, i16 0, i16 0, i16 0, i16 345, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 823, i16 824, i16 0, i16 0, i16 0, i16 0, i16 1762, i16 1763, i16 1772, i16 1773, i16 1824, i16 1825, i16 0, i16 0, i16 0, i16 0, i16 323, i16 324, i16 325, i16 326, i16 0, i16 0, i16 0, i16 0, i16 327, i16 0, i16 328, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1371, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 153, i16 154, i16 0, i16 0, i16 0, i16 0, i16 155, i16 0, i16 0, i16 0, i16 156, i16 0, i16 0, i16 0, i16 0, i16 0, i16 157, i16 158, i16 1148, i16 159, i16 1158, i16 1164, i16 1170, i16 0, i16 1187, i16 0, i16 1200, i16 1213, i16 0, i16 0, i16 0, i16 0, i16 1701, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 546, i16 0, i16 0, i16 0, i16 547, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 329, i16 0, i16 330, i16 0, i16 0, i16 331, i16 0, i16 0, i16 0, i16 332, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 333, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 358, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 225, i16 226, i16 0, i16 0, i16 227, i16 0, i16 228, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 229, i16 0, i16 230, i16 0, i16 0, i16 0, i16 231, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 1733, i16 1735, i16 1737, i16 1739, i16 0, i16 0, i16 0, i16 517, i16 518, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 519, i16 0, i16 0, i16 1310, i16 1311, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1312, i16 1313, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1314, i16 1315, i16 1316, i16 1317, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1353, i16 0, i16 1355, i16 0, i16 0, i16 0, i16 1358, i16 0, i16 0, i16 0, i16 0, i16 1362, i16 1363, i16 1366, i16 0, i16 0, i16 593, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 339, i16 340, i16 0, i16 0, i16 341, i16 342, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 348, i16 0, i16 0, i16 0, i16 0, i16 0, i16 349, i16 350, i16 351, i16 352, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 173, i16 174, i16 175, i16 176, i16 177, i16 0, i16 0, i16 180, i16 181, i16 0, i16 0, i16 0, i16 178, i16 179, i16 0, i16 0, i16 499, i16 500, i16 0, i16 0, i16 0, i16 501, i16 0, i16 0, i16 502, i16 0, i16 503, i16 504, i16 0, i16 0, i16 0, i16 282, i16 0, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 811, i16 812, i16 0, i16 0, i16 0, i16 0, i16 0, i16 894, i16 895, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 304, i16 305, i16 306, i16 307, i16 0, i16 0, i16 308, i16 309, i16 1700, i16 310, i16 0, i16 0, i16 311, i16 312, i16 313, i16 0, i16 1351, i16 1352, i16 1354, i16 1356, i16 1357, i16 1359, i16 1361, i16 1365, i16 1372, i16 1375, i16 1380, i16 1385, i16 1390, i16 1395, i16 1400, i16 0, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 75, i16 78, i16 76, i16 79, i16 77, i16 604, i16 605, i16 0, i16 658, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 672, i16 673, i16 674, i16 675, i16 676, i16 1364, i16 677, i16 678, i16 679, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1234, i16 1230, i16 1224, i16 1236, i16 1288, i16 1244, i16 1246, i16 1248, i16 1258, i16 1264, i16 1276, i16 1254, i16 0, i16 1280, i16 1292, i16 0, i16 1235, i16 1231, i16 1225, i16 1237, i16 1289, i16 1245, i16 1247, i16 1249, i16 1259, i16 1265, i16 1277, i16 1255, i16 0, i16 1281, i16 1293, i16 0, i16 476, i16 477, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1525, i16 1527, i16 1529, i16 1531, i16 1533, i16 1535, i16 1538, i16 1540, i16 1542, i16 1544, i16 1547, i16 1549, i16 1551, i16 1553, i16 1555, i16 0, i16 1526, i16 1528, i16 1530, i16 1532, i16 1534, i16 1536, i16 1539, i16 1541, i16 1543, i16 1545, i16 1548, i16 1550, i16 1552, i16 1554, i16 1556, i16 0, i16 505, i16 0, i16 0, i16 506, i16 0, i16 507, i16 508, i16 0, i16 0, i16 509, i16 510, i16 0, i16 0, i16 511, i16 512, i16 513, i16 514, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 515, i16 516, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1796, i16 1795, i16 881, i16 882, i16 885, i16 886, i16 1801, i16 1802, i16 1803, i16 903, i16 904, i16 1806, i16 1807, i16 905, i16 906, i16 907, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 1033, i16 1034, i16 1035, i16 1036, i16 1027, i16 1028, i16 1031, i16 1032, i16 1037, i16 1038, i16 1047, i16 1048, i16 1049, i16 1050, i16 1057, i16 1058, i16 778, i16 779, i16 780, i16 781, i16 782, i16 783, i16 784, i16 785, i16 870, i16 871, i16 876, i16 877, i16 972, i16 973, i16 966, i16 967, i16 529, i16 0, i16 530, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 0, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 1557, i16 1560, i16 1562, i16 1564, i16 1566, i16 1568, i16 1570, i16 1572, i16 1574, i16 1576, i16 1578, i16 1580, i16 1582, i16 1584, i16 1586, i16 1588, i16 1558, i16 1561, i16 1563, i16 1565, i16 1567, i16 1569, i16 1571, i16 1573, i16 1575, i16 1577, i16 1579, i16 1581, i16 1583, i16 1585, i16 1587, i16 1589, i16 279, i16 280, i16 281, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1818, i16 1819, i16 1830, i16 1831, i16 1007, i16 1008, i16 1832, i16 1833, i16 1013, i16 1014, i16 1834, i16 1835, i16 1029, i16 1030, i16 1838, i16 1839, i16 1055, i16 1056, i16 1098, i16 1099, i16 1090, i16 1091, i16 1100, i16 1101, i16 1088, i16 1089, i16 1096, i16 1097, i16 1852, i16 1853, i16 1854, i16 1855, i16 291, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 292, i16 0, i16 293, i16 0, i16 294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 548, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 0, i16 0, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 1318, i16 1319, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 295, i16 0, i16 296, i16 297, i16 0, i16 298, i16 299, i16 300, i16 301, i16 0, i16 0, i16 302, i16 0, i16 0, i16 0, i16 303, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 1836, i16 1837, i16 1053, i16 1054, i16 1045, i16 1046, i16 1051, i16 1052, i16 1086, i16 1087, i16 1846, i16 1847, i16 1066, i16 1067, i16 1074, i16 1075, i16 816, i16 817, i16 818, i16 819, i16 820, i16 1042, i16 1026, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 0, i16 0, i16 0, i16 0, i16 571, i16 0, i16 0, i16 0, i16 1844, i16 1845, i16 1094, i16 1095, i16 1862, i16 1863, i16 1126, i16 1127, i16 1128, i16 1877, i16 1878, i16 1881, i16 1882, i16 1879, i16 1880, i16 1040, i16 1590, i16 1592, i16 1594, i16 1596, i16 1598, i16 1600, i16 1602, i16 1604, i16 1606, i16 1608, i16 1610, i16 1612, i16 1614, i16 1616, i16 1618, i16 1620, i16 1591, i16 1593, i16 1595, i16 1597, i16 1599, i16 1601, i16 1603, i16 1605, i16 1607, i16 1609, i16 1611, i16 1613, i16 1615, i16 1617, i16 1619, i16 1621, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 314, i16 0, i16 0, i16 0, i16 0, i16 315, i16 0, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 0, i16 322, i16 0, i16 572, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 829, i16 830, i16 1790, i16 1791, i16 840, i16 841, i16 848, i16 849, i16 872, i16 873, i16 1799, i16 1800, i16 858, i16 859, i16 878, i16 879, i16 833, i16 834, i16 844, i16 845, i16 846, i16 847, i16 842, i16 843, i16 850, i16 851, i16 838, i16 839, i16 874, i16 875, i16 868, i16 869, i16 1860, i16 1861, i16 1858, i16 1859, i16 1864, i16 1865, i16 1866, i16 1867, i16 1868, i16 1869, i16 1121, i16 1122, i16 1119, i16 1120, i16 1134, i16 1135, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1350, i16 1452, i16 1457, i16 1462, i16 1467, i16 1472, i16 1477, i16 1482, i16 1487, i16 1490, i16 1493, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 74, i16 87, i16 120, i16 122, i16 119, i16 123, i16 143, i16 114, i16 94, i16 116, i16 683, i16 104, i16 141, i16 82, i16 117, i16 81, i16 1103, i16 0, i16 0, i16 0, i16 0, i16 1142, i16 1143, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1360, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1370, i16 0, i16 1622, i16 1624, i16 1626, i16 1628, i16 1630, i16 1632, i16 1634, i16 1636, i16 1638, i16 1640, i16 1642, i16 1644, i16 1646, i16 1648, i16 1650, i16 1652, i16 1367, i16 1368, i16 1369, i16 1373, i16 1374, i16 1376, i16 1377, i16 1378, i16 1379, i16 1381, i16 1382, i16 1383, i16 1384, i16 1386, i16 1387, i16 1388, i16 1623, i16 1625, i16 1627, i16 1629, i16 1631, i16 1633, i16 1635, i16 1637, i16 1639, i16 1641, i16 1643, i16 1645, i16 1647, i16 1649, i16 1651, i16 1653, i16 1112, i16 1113, i16 1124, i16 1125, i16 1136, i16 1137, i16 1130, i16 1131, i16 1132, i16 1133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 92, i16 1953, i16 730, i16 1954, i16 1955, i16 765, i16 810, i16 822, i16 837, i16 853, i16 884, i16 889, i16 1956, i16 919, i16 1957, i16 942, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 1887, i16 1810, i16 944, i16 1816, i16 952, i16 1820, i16 1828, i16 134, i16 1822, i16 1062, i16 1842, i16 1070, i16 1848, i16 1872, i16 1840, i16 1041, i16 1888, i16 1811, i16 945, i16 1817, i16 953, i16 1821, i16 1829, i16 133, i16 1823, i16 1063, i16 1843, i16 1071, i16 1849, i16 1873, i16 1841, i16 1129, i16 353, i16 0, i16 354, i16 0, i16 0, i16 355, i16 0, i16 0, i16 1889, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 865, i16 964, i16 965, i16 1072, i16 1073, i16 1076, i16 1077, i16 1078, i16 1079, i16 1082, i16 1083, i16 1080, i16 1081, i16 0, i16 718, i16 719, i16 356, i16 357, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 359, i16 360, i16 361, i16 362, i16 0, i16 0, i16 363, i16 364, i16 365, i16 366, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1389, i16 1391, i16 1392, i16 1393, i16 1394, i16 1396, i16 1397, i16 1398, i16 1399, i16 1401, i16 1402, i16 1404, i16 1405, i16 1407, i16 1408, i16 1410, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 1905, i16 445, i16 446, i16 1906, i16 447, i16 1907, i16 448, i16 449, i16 1908, i16 450, i16 451, i16 1909, i16 452, i16 453, i16 454, i16 1910, i16 1138, i16 1139, i16 1140, i16 1141, i16 1144, i16 1145, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 118, i16 1948, i16 729, i16 1949, i16 1950, i16 764, i16 809, i16 821, i16 836, i16 1794, i16 883, i16 888, i16 1951, i16 918, i16 1952, i16 941, i16 1654, i16 1656, i16 1658, i16 1660, i16 1662, i16 1664, i16 1666, i16 1668, i16 1670, i16 1672, i16 1674, i16 1676, i16 1678, i16 1680, i16 1682, i16 1684, i16 1655, i16 1657, i16 1659, i16 1661, i16 1663, i16 1665, i16 1667, i16 1669, i16 1671, i16 1673, i16 1675, i16 1677, i16 1679, i16 1681, i16 1683, i16 1685, i16 1911, i16 455, i16 456, i16 1912, i16 457, i16 458, i16 459, i16 1913, i16 1914, i16 460, i16 461, i16 1915, i16 462, i16 463, i16 464, i16 1916, i16 890, i16 891, i16 896, i16 897, i16 898, i16 899, i16 909, i16 910, i16 911, i16 912, i16 915, i16 916, i16 913, i16 914, i16 920, i16 921, i16 1403, i16 1406, i16 1409, i16 1412, i16 1417, i16 1422, i16 1427, i16 1432, i16 1437, i16 1442, i16 1447, i16 0, i16 0, i16 0, i16 0, i16 0, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 1411, i16 1413, i16 1414, i16 1415, i16 1416, i16 1418, i16 1419, i16 1420, i16 1421, i16 1423, i16 1424, i16 1425, i16 1426, i16 1428, i16 1429, i16 1430, i16 135, i16 334, i16 0, i16 0, i16 137, i16 139, i16 0, i16 0, i16 0, i16 0, i16 335, i16 336, i16 0, i16 0, i16 337, i16 338, i16 908, i16 1804, i16 1805, i16 1808, i16 1809, i16 1812, i16 1813, i16 929, i16 930, i16 939, i16 1814, i16 1815, i16 1826, i16 1827, i16 948, i16 949, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 655, i16 656, i16 657, i16 0, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 144, i16 132, i16 1750, i16 1751, i16 91, i16 145, i16 115, i16 96, i16 97, i16 1749, i16 943, i16 105, i16 1734, i16 1736, i16 1738, i16 89, i16 1686, i16 1688, i16 1690, i16 1692, i16 1537, i16 1546, i16 1559, i16 0, i16 0, i16 0, i16 0, i16 577, i16 578, i16 579, i16 580, i16 0, i16 1175, i16 1147, i16 1151, i16 1153, i16 1155, i16 1157, i16 1161, i16 1163, i16 1167, i16 1169, i16 1176, i16 1178, i16 1180, i16 1182, i16 1184, i16 1186, i16 1431, i16 1433, i16 1434, i16 1435, i16 1436, i16 1438, i16 1439, i16 1440, i16 1441, i16 1443, i16 1444, i16 1445, i16 1446, i16 1448, i16 1449, i16 1450, i16 1687, i16 1689, i16 1691, i16 1693, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 573, i16 574, i16 575, i16 576, i16 0, i16 922, i16 923, i16 924, i16 925, i16 931, i16 932, i16 933, i16 934, i16 937, i16 938, i16 935, i16 936, i16 968, i16 969, i16 970, i16 971, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 0, i16 0, i16 0, i16 0, i16 160, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1697, i16 86, i16 101, i16 127, i16 121, i16 128, i16 126, i16 98, i16 106, i16 108, i16 124, i16 130, i16 83, i16 1698, i16 90, i16 1699, i16 162, i16 163, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 164, i16 165, i16 166, i16 1190, i16 1192, i16 0, i16 1194, i16 1197, i16 1199, i16 1206, i16 1208, i16 1210, i16 1212, i16 1171, i16 1201, i16 1150, i16 1160, i16 1166, i16 1173, i16 1191, i16 1193, i16 1196, i16 1195, i16 1198, i16 1202, i16 1207, i16 1209, i16 1211, i16 1214, i16 1174, i16 1204, i16 1189, i16 1203, i16 1215, i16 0, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 1717, i16 1718, i16 1451, i16 1453, i16 1454, i16 1455, i16 1456, i16 1458, i16 1459, i16 1460, i16 1461, i16 1463, i16 1464, i16 1465, i16 1466, i16 1468, i16 1469, i16 1470, i16 428, i16 1890, i16 429, i16 1891, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 1892, i16 1893, i16 1894, i16 684, i16 1758, i16 702, i16 722, i16 1764, i16 1760, i16 1770, i16 1780, i16 766, i16 1784, i16 774, i16 788, i16 854, i16 1797, i16 862, i16 866, i16 685, i16 1759, i16 703, i16 723, i16 1765, i16 1761, i16 1771, i16 1781, i16 767, i16 1785, i16 775, i16 789, i16 855, i16 1798, i16 863, i16 867, i16 686, i16 687, i16 700, i16 701, i16 768, i16 769, i16 772, i16 773, i16 856, i16 857, i16 860, i16 861, i16 946, i16 947, i16 950, i16 951, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 798, i16 799, i16 790, i16 791, i16 792, i16 793, i16 776, i16 777, i16 1205, i16 1149, i16 1152, i16 1154, i16 1156, i16 1159, i16 1162, i16 1165, i16 1168, i16 1172, i16 1177, i16 1179, i16 1181, i16 1183, i16 1185, i16 1188, i16 182, i16 0, i16 0, i16 183, i16 184, i16 185, i16 186, i16 187, i16 99, i16 100, i16 188, i16 189, i16 102, i16 103, i16 190, i16 191, i16 439, i16 1895, i16 1896, i16 1897, i16 440, i16 1898, i16 1899, i16 1900, i16 441, i16 1901, i16 1902, i16 1903, i16 442, i16 1904, i16 443, i16 444, i16 1719, i16 1720, i16 1721, i16 1722, i16 1723, i16 1724, i16 1725, i16 1726, i16 1727, i16 1728, i16 1729, i16 1730, i16 475, i16 0, i16 0, i16 0, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 984, i16 985, i16 986, i16 987, i16 988, i16 989, i16 1471, i16 1473, i16 1474, i16 1475, i16 1476, i16 1478, i16 1479, i16 1480, i16 1481, i16 1483, i16 1484, i16 1485, i16 1486, i16 1488, i16 1489, i16 1491, i16 192, i16 193, i16 1702, i16 0, i16 0, i16 194, i16 195, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1216, i16 1218, i16 1220, i16 1222, i16 1228, i16 1232, i16 1238, i16 1240, i16 1242, i16 1250, i16 1252, i16 1256, i16 1260, i16 1262, i16 1266, i16 1268, i16 1217, i16 1219, i16 1221, i16 1223, i16 1229, i16 1233, i16 1239, i16 1241, i16 1243, i16 1251, i16 1253, i16 1257, i16 1261, i16 1263, i16 1267, i16 1269, i16 1731, i16 1740, i16 1741, i16 1742, i16 1743, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 85, i16 84, i16 136, i16 138, i16 140, i16 88, i16 196, i16 0, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 0, i16 208, i16 0, i16 1732, i16 0, i16 0, i16 0, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 131, i16 129, i16 209, i16 107, i16 109, i16 0, i16 1226, i16 1227, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 716, i16 717, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 746, i16 747, i16 753, i16 754, i16 755, i16 756, i16 761, i16 762, i16 465, i16 466, i16 1917, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 1918, i16 0, i16 0, i16 0, i16 0, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 0, i16 724, i16 725, i16 720, i16 721, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 690, i16 691, i16 980, i16 981, i16 978, i16 979, i16 997, i16 998, i16 999, i16 1000, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1492, i16 1494, i16 1495, i16 1496, i16 1497, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 0, i16 0, i16 0, i16 726, i16 727, i16 1774, i16 1775, i16 831, i16 832, i16 827, i16 828, i16 892, i16 893, i16 974, i16 975, i16 976, i16 977, i16 0, i16 0, i16 982, i16 983, i16 1921, i16 1922, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1102, i16 478, i16 0, i16 0, i16 0, i16 479, i16 0, i16 0, i16 0, i16 480, i16 0, i16 0, i16 0, i16 481, i16 0, i16 0, i16 0, i16 990, i16 991, i16 992, i16 993, i16 1092, i16 1093, i16 1084, i16 1085, i16 1104, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1503, i16 1504, i16 1506, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 482, i16 483, i16 484, i16 485, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 995, i16 1002, i16 1005, i16 1024, i16 1043, i16 1060, i16 1850, i16 1856, i16 1117, i16 1870, i16 1875, i16 110, i16 125, i16 111, i16 93, i16 80, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 996, i16 1003, i16 1006, i16 1025, i16 1044, i16 1061, i16 1851, i16 1857, i16 1118, i16 1871, i16 1876, i16 112, i16 142, i16 113, i16 95, i16 622, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 494, i16 495, i16 496, i16 0, i16 497, i16 498, i16 0, i16 0, i16 1768, i16 1769, i16 688, i16 689, i16 1766, i16 1767, i16 1776, i16 1777, i16 740, i16 741, i16 744, i16 745, i16 1778, i16 1779, i16 751, i16 752, i16 235, i16 0, i16 236, i16 0, i16 0, i16 0, i16 237, i16 0, i16 0, i16 0, i16 0, i16 238, i16 0, i16 0, i16 0, i16 0, i16 1009, i16 1010, i16 1011, i16 1012, i16 1064, i16 1065, i16 1068, i16 1069, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 757, i16 758, i16 759, i16 760, i16 804, i16 805, i16 802, i16 803, i16 806, i16 807, i16 794, i16 795, i16 800, i16 801, i16 813, i16 814, i16 1270, i16 1272, i16 1274, i16 1278, i16 1282, i16 1284, i16 1286, i16 1290, i16 1294, i16 1296, i16 1299, i16 1300, i16 1303, i16 1304, i16 1306, i16 1308, i16 1782, i16 1783, i16 1788, i16 1789, i16 770, i16 771, i16 796, i16 797, i16 1786, i16 1787, i16 786, i16 787, i16 825, i16 826, i16 1792, i16 1793, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 1271, i16 1273, i16 1275, i16 1279, i16 1283, i16 1285, i16 1287, i16 1291, i16 1295, i16 1297, i16 1298, i16 1301, i16 1302, i16 1305, i16 1307, i16 1309, i16 9, i16 11, i16 8, i16 5, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12, i16 7, i16 13, i16 3, i16 6, i16 0, i16 0, i16 0, i16 0, i16 14, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 181, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8, i16 38, i16 76, i16 84, i16 94, i16 104, i16 117, i16 126, i16 135, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 36, i16 0, i16 170, i16 0, i16 171, i16 176, i16 66, i16 74, i16 0, i16 0, i16 0, i16 0, i16 13, i16 0, i16 81, i16 86, i16 49, i16 50, i16 112, i16 82, i16 96, i16 51, i16 118, i16 120, i16 123, i16 40, i16 54, i16 134, i16 41, i16 0, i16 0, i16 11, i16 165, i16 0, i16 0, i16 0, i16 0, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 46, i16 18, i16 0, i16 0, i16 9, i16 12, i16 47, i16 90, i16 67, i16 138, i16 141, i16 71, i16 0, i16 0, i16 26, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 22, i16 10, i16 0, i16 14, i16 142, i16 0, i16 145, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 34, i16 150, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 39, i16 169, i16 98, i16 100, i16 29, i16 0, i16 0, i16 147, i16 110, i16 0, i16 37, i16 0, i16 0, i16 0, i16 0, i16 0, i16 32, i16 21, i16 65, i16 0, i16 0, i16 33, i16 122, i16 129, i16 136, i16 57, i16 17, i16 0, i16 139, i16 140, i16 0, i16 0, i16 55, i16 127, i16 149, i16 128, i16 151, i16 56, i16 44, i16 45, i16 172, i16 131, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 173, i16 179, i16 0, i16 61, i16 175, i16 99, i16 146, i16 180, i16 167, i16 160, i16 168, i16 63, i16 73, i16 97, i16 83, i16 106, i16 52, i16 108, i16 53, i16 132, i16 154, i16 68, i16 93, i16 116, i16 148, i16 70, i16 95, i16 20, i16 62, i16 158, i16 107, i16 7, i16 89, i16 133, i16 25, i16 80, i16 85, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 109, i16 174, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 19, i16 16, i16 0, i16 0, i16 48, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 27, i16 28, i16 103, i16 114, i16 121, i16 115, i16 91, i16 0, i16 0, i16 125, i16 155, i16 72, i16 101, i16 124, i16 157, i16 64, i16 79, i16 119, i16 137, i16 130, i16 111, i16 161, i16 143, i16 163, i16 113, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 92, i16 5, i16 6, i16 3, i16 144, i16 58, i16 152, i16 30, i16 31, i16 35, i16 78, i16 0, i16 42, i16 15, i16 23, i16 0, i16 24, i16 0, i16 4, i16 0, i16 43, i16 69, i16 166, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 153, i16 156, i16 159, i16 0, i16 60, i16 164, i16 178, i16 77, i16 88, i16 105, i16 59, i16 162, i16 177, i16 75, i16 87, i16 102, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 831, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1251, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 842, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 979, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 837, i16 838, i16 839, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 840, i16 0, i16 841, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 121, i16 122, i16 311, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1697, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1539, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1183, i16 0, i16 1184, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1240, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1540, i16 0, i16 0, i16 0, i16 1541, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1058, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1185, i16 1186, i16 1187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 975, i16 976, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 816, i16 811, i16 819, i16 818, i16 800, i16 821, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 929, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1253, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 815, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 167, i16 168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 771, i16 772, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 877, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1179, i16 1180, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1181, i16 1182, i16 0, i16 0, i16 0, i16 0, i16 0, i16 977, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 978, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 260, i16 261, i16 0, i16 0, i16 0, i16 0, i16 125, i16 126, i16 148, i16 149, i16 450, i16 451, i16 0, i16 0, i16 0, i16 0, i16 1563, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 823, i16 824, i16 0, i16 0, i16 0, i16 0, i16 825, i16 0, i16 0, i16 0, i16 826, i16 0, i16 0, i16 0, i16 0, i16 0, i16 827, i16 828, i16 1340, i16 829, i16 1350, i16 1356, i16 1362, i16 0, i16 1379, i16 0, i16 1392, i16 1405, i16 0, i16 0, i16 0, i16 0, i16 946, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 961, i16 962, i16 963, i16 964, i16 0, i16 0, i16 0, i16 0, i16 803, i16 0, i16 965, i16 0, i16 0, i16 0, i16 0, i16 804, i16 0, i16 805, i16 0, i16 0, i16 806, i16 0, i16 0, i16 0, i16 802, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 808, i16 0, i16 876, i16 0, i16 0, i16 0, i16 809, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 878, i16 879, i16 880, i16 881, i16 882, i16 883, i16 884, i16 885, i16 682, i16 684, i16 686, i16 688, i16 0, i16 0, i16 0, i16 0, i16 1205, i16 0, i16 0, i16 0, i16 1206, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 966, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 989, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 767, i16 768, i16 0, i16 0, i16 769, i16 0, i16 770, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1545, i16 0, i16 1547, i16 0, i16 0, i16 0, i16 1550, i16 0, i16 0, i16 0, i16 0, i16 1554, i16 1555, i16 1558, i16 0, i16 0, i16 79, i16 80, i16 81, i16 82, i16 83, i16 0, i16 0, i16 84, i16 85, i16 0, i16 0, i16 0, i16 843, i16 844, i16 0, i16 0, i16 1158, i16 1159, i16 0, i16 0, i16 0, i16 1160, i16 0, i16 0, i16 1161, i16 0, i16 1162, i16 1163, i16 0, i16 0, i16 0, i16 0, i16 1176, i16 1177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1178, i16 0, i16 0, i16 971, i16 972, i16 0, i16 0, i16 973, i16 974, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 980, i16 0, i16 0, i16 0, i16 0, i16 0, i16 981, i16 982, i16 983, i16 984, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1502, i16 1503, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1504, i16 1505, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1506, i16 1507, i16 1508, i16 1509, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1252, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1543, i16 1544, i16 1546, i16 1548, i16 1549, i16 1551, i16 1553, i16 1557, i16 1564, i16 1567, i16 1572, i16 1577, i16 1582, i16 1587, i16 1592, i16 0, i16 1317, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1092, i16 1093, i16 0, i16 1095, i16 0, i16 1097, i16 1098, i16 0, i16 1100, i16 1101, i16 0, i16 1103, i16 1104, i16 1105, i16 0, i16 0, i16 1108, i16 1109, i16 0, i16 1111, i16 1112, i16 1113, i16 0, i16 0, i16 1116, i16 1117, i16 0, i16 1119, i16 1120, i16 1121, i16 0, i16 0, i16 1135, i16 1136, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 391, i16 412, i16 410, i16 420, i16 440, i16 434, i16 791, i16 448, i16 556, i16 554, i16 564, i16 570, i16 646, i16 550, i16 531, i16 0, i16 392, i16 413, i16 411, i16 421, i16 441, i16 435, i16 787, i16 449, i16 557, i16 555, i16 565, i16 571, i16 647, i16 551, i16 653, i16 0, i16 1164, i16 0, i16 0, i16 1165, i16 0, i16 1166, i16 1167, i16 0, i16 0, i16 1168, i16 1169, i16 0, i16 0, i16 1170, i16 1171, i16 0, i16 1426, i16 1422, i16 1416, i16 1428, i16 1480, i16 1436, i16 1438, i16 1440, i16 1450, i16 1456, i16 1468, i16 1446, i16 0, i16 1472, i16 1484, i16 0, i16 1427, i16 1423, i16 1417, i16 1429, i16 1481, i16 1437, i16 1439, i16 1441, i16 1451, i16 1457, i16 1469, i16 1447, i16 0, i16 1473, i16 1485, i16 0, i16 921, i16 0, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 943, i16 735, i16 944, i16 945, i16 0, i16 0, i16 793, i16 947, i16 847, i16 788, i16 0, i16 0, i16 949, i16 950, i16 951, i16 0, i16 1717, i16 1719, i16 1721, i16 1723, i16 1725, i16 1727, i16 1730, i16 1732, i16 1734, i16 1736, i16 1739, i16 1741, i16 1743, i16 1745, i16 1747, i16 0, i16 1718, i16 1720, i16 1722, i16 1724, i16 1726, i16 1728, i16 1731, i16 1733, i16 1735, i16 1737, i16 1740, i16 1742, i16 1744, i16 1746, i16 1748, i16 0, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 707, i16 710, i16 708, i16 711, i16 709, i16 1263, i16 1264, i16 0, i16 248, i16 249, i16 0, i16 0, i16 0, i16 0, i16 0, i16 345, i16 346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 517, i16 518, i16 519, i16 520, i16 513, i16 514, i16 527, i16 528, i16 521, i16 522, i16 537, i16 538, i16 539, i16 540, i16 547, i16 548, i16 773, i16 0, i16 774, i16 0, i16 0, i16 0, i16 775, i16 0, i16 0, i16 0, i16 0, i16 776, i16 0, i16 0, i16 0, i16 0, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 1037, i16 1038, i16 1039, i16 1040, i16 1041, i16 1042, i16 1043, i16 1044, i16 1045, i16 1542, i16 1644, i16 1649, i16 1654, i16 1659, i16 1664, i16 1669, i16 1674, i16 1679, i16 1682, i16 1685, i16 1690, i16 1691, i16 1692, i16 1693, i16 1694, i16 268, i16 269, i16 272, i16 273, i16 281, i16 282, i16 289, i16 290, i16 319, i16 320, i16 329, i16 330, i16 305, i16 306, i16 327, i16 328, i16 780, i16 0, i16 985, i16 0, i16 0, i16 986, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 525, i16 526, i16 543, i16 544, i16 535, i16 536, i16 541, i16 542, i16 584, i16 585, i16 594, i16 595, i16 560, i16 561, i16 568, i16 569, i16 1552, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1562, i16 0, i16 274, i16 275, i16 285, i16 286, i16 287, i16 288, i16 283, i16 284, i16 291, i16 292, i16 279, i16 280, i16 321, i16 322, i16 315, i16 316, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1046, i16 1047, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 0, i16 0, i16 0, i16 0, i16 1814, i16 1816, i16 1818, i16 1820, i16 1822, i16 1824, i16 1826, i16 1828, i16 1830, i16 1832, i16 1834, i16 1836, i16 1838, i16 1840, i16 1842, i16 1844, i16 1559, i16 1560, i16 1561, i16 1565, i16 1566, i16 1568, i16 1569, i16 1570, i16 1571, i16 1573, i16 1574, i16 1575, i16 1576, i16 1578, i16 1579, i16 1580, i16 1815, i16 1817, i16 1819, i16 1821, i16 1823, i16 1825, i16 1827, i16 1829, i16 1831, i16 1833, i16 1835, i16 1837, i16 1839, i16 1841, i16 1843, i16 1845, i16 795, i16 784, i16 0, i16 0, i16 796, i16 797, i16 0, i16 0, i16 0, i16 0, i16 967, i16 968, i16 0, i16 0, i16 969, i16 970, i16 545, i16 546, i16 598, i16 599, i16 588, i16 589, i16 600, i16 601, i16 586, i16 587, i16 596, i16 597, i16 617, i16 618, i16 619, i16 620, i16 1314, i16 1315, i16 1316, i16 0, i16 1318, i16 801, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1059, i16 0, i16 1061, i16 0, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1070, i16 1071, i16 0, i16 0, i16 0, i16 1060, i16 1062, i16 1072, i16 1073, i16 1074, i16 1076, i16 1077, i16 1078, i16 1080, i16 1081, i16 1082, i16 1084, i16 1085, i16 1086, i16 1088, i16 1091, i16 807, i16 794, i16 699, i16 700, i16 814, i16 766, i16 762, i16 822, i16 817, i16 698, i16 409, i16 786, i16 683, i16 685, i16 687, i16 716, i16 1581, i16 1583, i16 1584, i16 1585, i16 1586, i16 1588, i16 1589, i16 1590, i16 1591, i16 1593, i16 1594, i16 1596, i16 1597, i16 1599, i16 1600, i16 1602, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1556, i16 1335, i16 1336, i16 1337, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1075, i16 0, i16 0, i16 0, i16 1079, i16 0, i16 0, i16 0, i16 1083, i16 0, i16 0, i16 0, i16 1087, i16 0, i16 1089, i16 1090, i16 1846, i16 1848, i16 1850, i16 1852, i16 1854, i16 1856, i16 1858, i16 1860, i16 1862, i16 1864, i16 1866, i16 1868, i16 1870, i16 1872, i16 1874, i16 1876, i16 1847, i16 1849, i16 1851, i16 1853, i16 1855, i16 1857, i16 1859, i16 1861, i16 1863, i16 1865, i16 1867, i16 1869, i16 1871, i16 1873, i16 1875, i16 1877, i16 312, i16 432, i16 433, i16 566, i16 567, i16 572, i16 573, i16 574, i16 575, i16 578, i16 579, i16 576, i16 577, i16 0, i16 131, i16 132, i16 1595, i16 1598, i16 1601, i16 1604, i16 1609, i16 1614, i16 1619, i16 1624, i16 1629, i16 1634, i16 1639, i16 0, i16 0, i16 0, i16 0, i16 0, i16 830, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 832, i16 833, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 834, i16 835, i16 836, i16 323, i16 324, i16 332, i16 333, i16 336, i16 337, i16 349, i16 350, i16 354, i16 357, i16 358, i16 367, i16 368, i16 359, i16 360, i16 361, i16 1603, i16 1605, i16 1606, i16 1607, i16 1608, i16 1610, i16 1611, i16 1612, i16 1613, i16 1615, i16 1616, i16 1617, i16 1618, i16 1620, i16 1621, i16 1622, i16 580, i16 581, i16 592, i16 593, i16 628, i16 629, i16 650, i16 651, i16 652, i16 665, i16 666, i16 669, i16 670, i16 678, i16 679, i16 530, i16 1094, i16 1096, i16 1099, i16 1102, i16 1106, i16 1107, i16 1110, i16 1114, i16 1115, i16 1118, i16 1122, i16 1125, i16 1134, i16 0, i16 0, i16 0, i16 77, i16 718, i16 764, i16 756, i16 810, i16 765, i16 739, i16 757, i16 820, i16 761, i16 88, i16 785, i16 781, i16 733, i16 760, i16 812, i16 845, i16 846, i16 948, i16 0, i16 0, i16 848, i16 849, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 78, i16 717, i16 720, i16 798, i16 759, i16 758, i16 755, i16 721, i16 743, i16 745, i16 792, i16 789, i16 713, i16 731, i16 712, i16 741, i16 850, i16 0, i16 851, i16 852, i16 853, i16 854, i16 855, i16 856, i16 857, i16 750, i16 752, i16 858, i16 859, i16 0, i16 813, i16 0, i16 341, i16 342, i16 347, i16 348, i16 351, i16 352, i16 363, i16 364, i16 369, i16 370, i16 373, i16 374, i16 371, i16 372, i16 378, i16 379, i16 1878, i16 1880, i16 1882, i16 1884, i16 1729, i16 1738, i16 1751, i16 0, i16 0, i16 0, i16 0, i16 1236, i16 1237, i16 1238, i16 1239, i16 0, i16 1367, i16 1339, i16 1343, i16 1345, i16 1347, i16 1349, i16 1353, i16 1355, i16 1359, i16 1361, i16 1368, i16 1370, i16 1372, i16 1374, i16 1376, i16 1378, i16 1623, i16 1625, i16 1626, i16 1627, i16 1628, i16 1630, i16 1631, i16 1632, i16 1633, i16 1635, i16 1636, i16 1637, i16 1638, i16 1640, i16 1641, i16 1642, i16 1879, i16 1881, i16 1883, i16 1885, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1232, i16 1233, i16 1234, i16 1235, i16 0, i16 91, i16 89, i16 109, i16 135, i16 129, i16 123, i16 146, i16 171, i16 199, i16 197, i16 207, i16 221, i16 301, i16 299, i16 309, i16 313, i16 603, i16 0, i16 0, i16 0, i16 0, i16 673, i16 674, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 92, i16 90, i16 110, i16 136, i16 130, i16 124, i16 147, i16 172, i16 200, i16 198, i16 208, i16 222, i16 302, i16 300, i16 310, i16 314, i16 93, i16 94, i16 107, i16 108, i16 201, i16 202, i16 205, i16 206, i16 303, i16 304, i16 307, i16 308, i16 414, i16 415, i16 418, i16 419, i16 861, i16 862, i16 863, i16 864, i16 865, i16 866, i16 867, i16 868, i16 869, i16 870, i16 871, i16 872, i16 873, i16 874, i16 875, i16 0, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 231, i16 232, i16 223, i16 224, i16 225, i16 226, i16 209, i16 210, i16 1123, i16 1124, i16 0, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1132, i16 1133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 612, i16 613, i16 648, i16 649, i16 660, i16 661, i16 654, i16 655, i16 656, i16 657, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1382, i16 1384, i16 0, i16 1386, i16 1389, i16 1391, i16 1398, i16 1400, i16 1402, i16 1404, i16 1363, i16 1393, i16 1342, i16 1352, i16 1358, i16 1365, i16 1383, i16 1385, i16 1388, i16 1387, i16 1390, i16 1394, i16 1399, i16 1401, i16 1403, i16 1406, i16 1366, i16 1396, i16 1381, i16 1395, i16 1407, i16 0, i16 362, i16 365, i16 366, i16 387, i16 388, i16 397, i16 398, i16 389, i16 390, i16 403, i16 405, i16 406, i16 456, i16 457, i16 416, i16 417, i16 1643, i16 1645, i16 1646, i16 1647, i16 1648, i16 1650, i16 1651, i16 1652, i16 1653, i16 1655, i16 1656, i16 1657, i16 1658, i16 1660, i16 1661, i16 1662, i16 1137, i16 0, i16 0, i16 0, i16 1138, i16 0, i16 0, i16 0, i16 1139, i16 0, i16 0, i16 0, i16 1140, i16 0, i16 0, i16 0, i16 626, i16 627, i16 624, i16 625, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 641, i16 642, i16 639, i16 640, i16 658, i16 659, i16 1141, i16 1142, i16 1143, i16 1144, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1397, i16 1341, i16 1344, i16 1346, i16 1348, i16 1351, i16 1354, i16 1357, i16 1360, i16 1364, i16 1369, i16 1371, i16 1373, i16 1375, i16 1377, i16 1380, i16 886, i16 887, i16 888, i16 889, i16 890, i16 891, i16 892, i16 893, i16 894, i16 895, i16 896, i16 897, i16 898, i16 899, i16 900, i16 901, i16 1145, i16 1146, i16 1147, i16 1148, i16 1149, i16 1150, i16 1151, i16 1152, i16 1153, i16 1154, i16 1155, i16 0, i16 1156, i16 1157, i16 0, i16 0, i16 380, i16 381, i16 382, i16 383, i16 393, i16 394, i16 395, i16 396, i16 401, i16 402, i16 399, i16 400, i16 442, i16 443, i16 444, i16 445, i16 127, i16 128, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 173, i16 174, i16 182, i16 183, i16 184, i16 185, i16 192, i16 193, i16 1663, i16 1665, i16 1666, i16 1667, i16 1668, i16 1670, i16 1671, i16 1672, i16 1673, i16 1675, i16 1676, i16 1677, i16 1678, i16 1680, i16 1681, i16 1683, i16 1408, i16 1410, i16 1412, i16 1414, i16 1420, i16 1424, i16 1430, i16 1432, i16 1434, i16 1442, i16 1444, i16 1448, i16 1452, i16 1454, i16 1458, i16 1460, i16 1409, i16 1411, i16 1413, i16 1415, i16 1421, i16 1425, i16 1431, i16 1433, i16 1435, i16 1443, i16 1445, i16 1449, i16 1453, i16 1455, i16 1459, i16 1461, i16 902, i16 903, i16 904, i16 905, i16 906, i16 907, i16 908, i16 909, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 137, i16 138, i16 133, i16 134, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 97, i16 98, i16 1418, i16 1419, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 141, i16 142, i16 95, i16 96, i16 139, i16 140, i16 163, i16 164, i16 165, i16 166, i16 169, i16 170, i16 175, i16 176, i16 180, i16 181, i16 143, i16 144, i16 150, i16 151, i16 270, i16 271, i16 266, i16 267, i16 343, i16 344, i16 452, i16 453, i16 454, i16 455, i16 0, i16 0, i16 1172, i16 1173, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1174, i16 1175, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1684, i16 1686, i16 1687, i16 1688, i16 1689, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 0, i16 0, i16 0, i16 918, i16 919, i16 920, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 667, i16 668, i16 671, i16 672, i16 675, i16 676, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1695, i16 1696, i16 1698, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 930, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 931, i16 0, i16 932, i16 0, i16 933, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1699, i16 1700, i16 1701, i16 1702, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1188, i16 0, i16 1189, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 934, i16 0, i16 935, i16 936, i16 0, i16 937, i16 938, i16 939, i16 940, i16 0, i16 0, i16 941, i16 0, i16 0, i16 0, i16 942, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 0, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 680, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 719, i16 714, i16 749, i16 778, i16 751, i16 715, i16 681, i16 0, i16 0, i16 0, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 790, i16 732, i16 860, i16 744, i16 746, i16 0, i16 436, i16 437, i16 475, i16 476, i16 489, i16 490, i16 499, i16 500, i16 505, i16 506, i16 511, i16 512, i16 515, i16 516, i16 523, i16 524, i16 1462, i16 1464, i16 1466, i16 1470, i16 1474, i16 1476, i16 1478, i16 1482, i16 1486, i16 1488, i16 1491, i16 1492, i16 1495, i16 1496, i16 1498, i16 1500, i16 1207, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1463, i16 1465, i16 1467, i16 1471, i16 1475, i16 1477, i16 1479, i16 1483, i16 1487, i16 1489, i16 1490, i16 1493, i16 1494, i16 1497, i16 1499, i16 1501, i16 952, i16 0, i16 0, i16 0, i16 0, i16 953, i16 0, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 0, i16 960, i16 0, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 0, i16 0, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 186, i16 187, i16 237, i16 238, i16 203, i16 204, i16 229, i16 230, i16 235, i16 236, i16 219, i16 220, i16 264, i16 265, i16 262, i16 263, i16 188, i16 189, i16 190, i16 191, i16 241, i16 242, i16 239, i16 240, i16 243, i16 244, i16 227, i16 228, i16 233, i16 234, i16 250, i16 251, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 0, i16 0, i16 0, i16 0, i16 1230, i16 0, i16 0, i16 0, i16 460, i16 461, i16 458, i16 459, i16 479, i16 480, i16 481, i16 482, i16 495, i16 496, i16 497, i16 498, i16 501, i16 502, i16 503, i16 504, i16 462, i16 463, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 602, i16 1231, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 722, i16 87, i16 153, i16 1888, i16 179, i16 196, i16 247, i16 259, i16 278, i16 298, i16 335, i16 340, i16 356, i16 377, i16 386, i16 408, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 317, i16 318, i16 325, i16 326, i16 446, i16 447, i16 438, i16 439, i16 1749, i16 1752, i16 1754, i16 1756, i16 1758, i16 1760, i16 1762, i16 1764, i16 1766, i16 1768, i16 1770, i16 1772, i16 1774, i16 1776, i16 1778, i16 1780, i16 470, i16 471, i16 472, i16 473, i16 590, i16 591, i16 582, i16 583, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 1750, i16 1753, i16 1755, i16 1757, i16 1759, i16 1761, i16 1763, i16 1765, i16 1767, i16 1769, i16 1771, i16 1773, i16 1775, i16 1777, i16 1779, i16 1781, i16 1241, i16 1242, i16 1243, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 987, i16 988, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 477, i16 484, i16 487, i16 508, i16 533, i16 552, i16 615, i16 622, i16 637, i16 644, i16 663, i16 747, i16 742, i16 748, i16 779, i16 777, i16 478, i16 485, i16 488, i16 509, i16 534, i16 553, i16 616, i16 623, i16 638, i16 645, i16 664, i16 753, i16 740, i16 754, i16 799, i16 1281, i16 734, i16 0, i16 0, i16 736, i16 737, i16 738, i16 782, i16 783, i16 729, i16 730, i16 723, i16 728, i16 726, i16 727, i16 724, i16 725, i16 990, i16 991, i16 992, i16 993, i16 0, i16 0, i16 994, i16 995, i16 996, i16 997, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 998, i16 999, i16 1000, i16 1001, i16 1002, i16 1003, i16 1004, i16 1005, i16 1006, i16 1007, i16 1008, i16 1009, i16 1010, i16 1011, i16 1012, i16 1013, i16 1510, i16 1511, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 491, i16 492, i16 493, i16 494, i16 558, i16 559, i16 562, i16 563, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1265, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1014, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1023, i16 1024, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1782, i16 1784, i16 1786, i16 1788, i16 1790, i16 1792, i16 1794, i16 1796, i16 1798, i16 1800, i16 1802, i16 1804, i16 1806, i16 1808, i16 1810, i16 1812, i16 1783, i16 1785, i16 1787, i16 1789, i16 1791, i16 1793, i16 1795, i16 1797, i16 1799, i16 1801, i16 1803, i16 1805, i16 1807, i16 1809, i16 1811, i16 1813, i16 1528, i16 1529, i16 1530, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 0, i16 0, i16 0, i16 0, i16 0, i16 763, i16 86, i16 152, i16 1887, i16 178, i16 195, i16 246, i16 258, i16 277, i16 297, i16 334, i16 339, i16 355, i16 376, i16 385, i16 407, i16 253, i16 254, i16 255, i16 256, i16 257, i16 532, i16 510, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 3, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 5, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 134, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 136, i16 0, i16 0, i16 0, i16 137, i16 0, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 1, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 12, i16 14, i16 16, i16 18, i16 20, i16 22, i16 24, i16 26, i16 28, i16 30, i16 32, i16 34, i16 36, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 13, i16 15, i16 17, i16 19, i16 21, i16 23, i16 25, i16 27, i16 29, i16 31, i16 33, i16 35, i16 37, i16 39, i16 41, i16 43, i16 45, i16 47, i16 49, i16 51, i16 53, i16 55, i16 57, i16 59, i16 61, i16 63, i16 92, i16 93, i16 94, i16 95, i16 202, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 96, i16 0, i16 0, i16 0, i16 133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 135, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 203, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 5, i16 6, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 4, i16 3, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 126, i16 132, i16 138, i16 144, i16 150, i16 156, i16 162, i16 168, i16 174, i16 180, i16 186, i16 192, i16 198, i16 204, i16 210, i16 216, i16 222, i16 228, i16 234, i16 240, i16 246, i16 252, i16 258, i16 264, i16 270, i16 276, i16 282, i16 288, i16 294, i16 300, i16 306, i16 7, i16 13, i16 23, i16 39, i16 32, i16 40, i16 38, i16 22, i16 24, i16 29, i16 36, i16 41, i16 10, i16 9, i16 16, i16 15, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 12, i16 11, i16 42, i16 43, i16 44, i16 14, i16 19, i16 75, i16 77, i16 79, i16 81, i16 83, i16 85, i16 87, i16 89, i16 91, i16 93, i16 95, i16 97, i16 99, i16 101, i16 103, i16 105, i16 107, i16 109, i16 111, i16 113, i16 115, i16 117, i16 119, i16 121, i16 123, i16 125, i16 26, i16 45, i16 27, i16 21, i16 0, i16 30, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 25, i16 37, i16 28, i16 20, i16 8, i16 312, i16 318, i16 324, i16 330, i16 336, i16 337, i16 343, i16 344, i16 350, i16 356, i16 362, i16 368, i16 374, i16 380, i16 386, i16 17, i16 393, i16 394, i16 395, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 47, i16 0, i16 0, i16 0, i16 0, i16 31, i16 410, i16 411, i16 412, i16 413, i16 414, i16 396, i16 18, i16 49, i16 50, i16 51, i16 52, i16 53, i16 48, i16 392, i16 46, i16 33, i16 55, i16 57, i16 59, i16 61, i16 63, i16 65, i16 67, i16 69, i16 71, i16 73, i16 34, i16 35, i16 0, i16 0, i16 0, i16 0, i16 32, i16 3, i16 45, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7, i16 37, i16 2, i16 12, i16 0, i16 0, i16 0, i16 0, i16 27, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 25, i16 33, i16 28, i16 44, i16 11, i16 14, i16 29, i16 40, i16 23, i16 9, i16 20, i16 10, i16 38, i16 22, i16 42, i16 31, i16 49, i16 36, i16 43, i16 16, i16 15, i16 26, i16 21, i16 35, i16 17, i16 18, i16 13, i16 47, i16 24, i16 6, i16 34, i16 4, i16 39, i16 19, i16 8, i16 41, i16 5, i16 48, i16 50, i16 46, i16 30, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 266, i16 373, i16 661, i16 236, i16 595, i16 0, i16 0, i16 94, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 615, i16 647, i16 136, i16 0, i16 0, i16 390, i16 36, i16 15, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 31, i16 0, i16 0, i16 0, i16 0, i16 0, i16 60, i16 455, i16 499, i16 0, i16 0, i16 4, i16 259, i16 192, i16 133, i16 445, i16 669, i16 550, i16 172, i16 0, i16 0, i16 62, i16 153, i16 389, i16 409, i16 145, i16 1, i16 180, i16 570, i16 258, i16 261, i16 414, i16 610, i16 140, i16 566, i16 280, i16 150, i16 468, i16 333, i16 655, i16 176, i16 402, i16 260, i16 173, i16 607, i16 281, i16 293, i16 306, i16 319, i16 267, i16 168, i16 368, i16 382, i16 456, i16 249, i16 437, i16 500, i16 95, i16 14, i16 465, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 68, i16 129, i16 0, i16 0, i16 12, i16 0, i16 9, i16 0, i16 533, i16 84, i16 587, i16 606, i16 447, i16 652, i16 668, i16 291, i16 318, i16 459, i16 61, i16 659, i16 395, i16 195, i16 202, i16 186, i16 30, i16 590, i16 617, i16 422, i16 209, i16 535, i16 137, i16 485, i16 511, i16 222, i16 165, i16 337, i16 355, i16 371, i16 385, i16 190, i16 35, i16 627, i16 98, i16 660, i16 85, i16 278, i16 244, i16 376, i16 391, i16 101, i16 69, i16 377, i16 185, i16 401, i16 205, i16 453, i16 38, i16 24, i16 331, i16 352, i16 644, i16 649, i16 662, i16 398, i16 673, i16 454, i16 287, i16 152, i16 223, i16 307, i16 294, i16 419, i16 39, i16 0, i16 357, i16 22, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 296, i16 160, i16 363, i16 342, i16 360, i16 378, i16 42, i16 415, i16 434, i16 206, i16 431, i16 13, i16 490, i16 462, i16 521, i16 486, i16 304, i16 593, i16 525, i16 253, i16 622, i16 645, i16 234, i16 269, i16 104, i16 279, i16 63, i16 425, i16 199, i16 78, i16 174, i16 72, i16 569, i16 295, i16 620, i16 161, i16 340, i16 658, i16 273, i16 680, i16 289, i16 404, i16 361, i16 359, i16 372, i16 423, i16 73, i16 417, i16 315, i16 132, i16 356, i16 362, i16 381, i16 412, i16 26, i16 594, i16 87, i16 471, i16 497, i16 601, i16 227, i16 118, i16 542, i16 557, i16 317, i16 353, i16 265, i16 182, i16 188, i16 0, i16 0, i16 0, i16 0, i16 5, i16 74, i16 544, i16 448, i16 211, i16 475, i16 575, i16 599, i16 524, i16 545, i16 552, i16 239, i16 157, i16 66, i16 585, i16 103, i16 614, i16 48, i16 632, i16 687, i16 282, i16 308, i16 329, i16 604, i16 514, i16 183, i16 537, i16 530, i16 326, i16 177, i16 226, i16 380, i16 406, i16 76, i16 204, i16 208, i16 215, i16 584, i16 247, i16 605, i16 428, i16 679, i16 634, i16 637, i16 37, i16 138, i16 316, i16 196, i16 34, i16 230, i16 44, i16 286, i16 676, i16 312, i16 603, i16 609, i16 549, i16 513, i16 310, i16 325, i16 346, i16 77, i16 388, i16 128, i16 399, i16 411, i16 418, i16 54, i16 444, i16 299, i16 480, i16 113, i16 197, i16 602, i16 89, i16 158, i16 635, i16 59, i16 670, i16 493, i16 276, i16 105, i16 416, i16 429, i16 334, i16 159, i16 110, i16 370, i16 384, i16 684, i16 248, i16 424, i16 301, i16 156, i16 343, i16 242, i16 214, i16 504, i16 515, i16 556, i16 403, i16 81, i16 364, i16 374, i16 189, i16 413, i16 427, i16 28, i16 207, i16 473, i16 494, i16 672, i16 228, i16 540, i16 283, i16 100, i16 586, i16 323, i16 344, i16 375, i16 155, i16 630, i16 124, i16 626, i16 526, i16 613, i16 665, i16 677, i16 16, i16 305, i16 290, i16 167, i16 339, i16 383, i16 408, i16 122, i16 449, i16 80, i16 467, i16 169, i16 218, i16 200, i16 532, i16 543, i16 561, i16 508, i16 510, i16 553, i16 256, i16 582, i16 653, i16 643, i16 0, i16 241, i16 619, i16 666, i16 147, i16 348, i16 397, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 648, i16 141, i16 82, i16 292, i16 309, i16 608, i16 354, i16 410, i16 386, i16 311, i16 439, i16 321, i16 109, i16 460, i16 481, i16 498, i16 394, i16 495, i16 461, i16 112, i16 19, i16 457, i16 254, i16 489, i16 503, i16 221, i16 512, i16 86, i16 527, i16 139, i16 568, i16 580, i16 143, i16 0, i16 0, i16 7, i16 300, i16 49, i16 57, i16 528, i16 102, i16 430, i16 194, i16 564, i16 17, i16 579, i16 0, i16 0, i16 144, i16 83, i16 531, i16 324, i16 229, i16 154, i16 179, i16 387, i16 53, i16 43, i16 277, i16 201, i16 108, i16 21, i16 625, i16 483, i16 146, i16 347, i16 396, i16 446, i16 505, i16 252, i16 336, i16 477, i16 351, i16 379, i16 322, i16 436, i16 0, i16 0, i16 18, i16 8, i16 420, i16 250, i16 450, i16 472, i16 633, i16 518, i16 529, i16 119, i16 631, i16 268, i16 674, i16 142, i16 686, i16 458, i16 134, i16 328, i16 678, i16 488, i16 509, i16 491, i16 541, i16 657, i16 120, i16 563, i16 675, i16 583, i16 245, i16 91, i16 618, i16 0, i16 0, i16 0, i16 683, i16 516, i16 314, i16 681, i16 193, i16 572, i16 358, i16 443, i16 611, i16 421, i16 646, i16 262, i16 272, i16 107, i16 99, i16 538, i16 685, i16 288, i16 64, i16 70, i16 166, i16 50, i16 25, i16 52, i16 71, i16 392, i16 191, i16 426, i16 433, i16 442, i16 451, i16 441, i16 435, i16 438, i16 11, i16 338, i16 106, i16 40, i16 0, i16 0, i16 10, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 440, i16 466, i16 478, i16 501, i16 523, i16 536, i16 554, i16 522, i16 592, i16 581, i16 233, i16 555, i16 251, i16 476, i16 636, i16 264, i16 203, i16 452, i16 474, i16 365, i16 178, i16 187, i16 539, i16 126, i16 565, i16 578, i16 600, i16 220, i16 2, i16 624, i16 639, i16 654, i16 212, i16 562, i16 407, i16 616, i16 33, i16 650, i16 47, i16 332, i16 271, i16 131, i16 97, i16 298, i16 162, i16 341, i16 65, i16 367, i16 213, i16 149, i16 151, i16 302, i16 163, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3, i16 484, i16 345, i16 67, i16 591, i16 469, i16 487, i16 51, i16 171, i16 303, i16 400, i16 175, i16 58, i16 125, i16 598, i16 79, i16 628, i16 463, i16 651, i16 350, i16 274, i16 470, i16 56, i16 464, i16 520, i16 612, i16 640, i16 238, i16 507, i16 123, i16 127, i16 88, i16 623, i16 642, i16 664, i16 548, i16 547, i16 216, i16 682, i16 492, i16 116, i16 519, i16 240, i16 667, i16 588, i16 597, i16 23, i16 559, i16 641, i16 577, i16 93, i16 270, i16 96, i16 225, i16 534, i16 589, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 482, i16 184, i16 224, i16 393, i16 0, i16 0, i16 0, i16 41, i16 121, i16 75, i16 198, i16 517, i16 90, i16 263, i16 210, i16 671, i16 231, i16 496, i16 45, i16 574, i16 246, i16 235, i16 621, i16 32, i16 479, i16 237, i16 560, i16 284, i16 571, i16 327, i16 217, i16 366, i16 232, i16 432, i16 55, i16 111, i16 0, i16 27, i16 114, i16 219, i16 115, i16 573, i16 546, i16 567, i16 6, i16 46, i16 243, i16 130, i16 502, i16 320, i16 92, i16 117, i16 369, i16 551, i16 558, i16 20, i16 164, i16 576, i16 275, i16 257, i16 297, i16 656, i16 596, i16 506, i16 255, i16 629, i16 638, i16 135, i16 0, i16 29, i16 663, i16 285, i16 313, i16 349, i16 148, i16 181, i16 405, i16 330, i16 335, i16 170, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3171, i16 12478, i16 12479, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2196, i16 6503, i16 11985, i16 1886, i16 6504, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2650, i16 12441, i16 12442, i16 0, i16 0, i16 0, i16 0, i16 12443, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2542, i16 11756, i16 11757, i16 6356, i16 0, i16 0, i16 11758, i16 11759, i16 6358, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1165, i16 0, i16 5777, i16 0, i16 5778, i16 10826, i16 10825, i16 10827, i16 10828, i16 10829, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1956, i16 6848, i16 6849, i16 1656, i16 0, i16 12717, i16 0, i16 12718, i16 0, i16 12719, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7035, i16 0, i16 0, i16 1517, i16 7036, i16 13063, i16 13064, i16 13065, i16 7037, i16 0, i16 1888, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7306, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 341, i16 0, i16 342, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 351, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 326, i16 327, i16 325, i16 328, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11125, i16 0, i16 0, i16 5992, i16 0, i16 5993, i16 0, i16 990, i16 11126, i16 0, i16 0, i16 947, i16 5990, i16 11127, i16 0, i16 11128, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 251, i16 0, i16 0, i16 0, i16 0, i16 250, i16 255, i16 0, i16 259, i16 260, i16 0, i16 0, i16 261, i16 262, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 368, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7427, i16 2983, i16 3748, i16 7428, i16 0, i16 7430, i16 3029, i16 7431, i16 3631, i16 7432, i16 2168, i16 7433, i16 1818, i16 7434, i16 1866, i16 965, i16 7435, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3587, i16 0, i16 13156, i16 13157, i16 13158, i16 13159, i16 0, i16 13160, i16 7092, i16 13161, i16 13162, i16 0, i16 0, i16 0, i16 0, i16 7093, i16 5548, i16 13163, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7201, i16 7287, i16 7229, i16 7315, i16 7247, i16 7332, i16 7265, i16 7350, i16 7274, i16 7359, i16 7271, i16 7356, i16 7273, i16 7358, i16 7272, i16 7357, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8287, i16 0, i16 0, i16 0, i16 0, i16 8288, i16 0, i16 2969, i16 8289, i16 0, i16 0, i16 8290, i16 0, i16 0, i16 8291, i16 4207, i16 3113, i16 8292, i16 0, i16 8293, i16 8294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9649, i16 5112, i16 9650, i16 9651, i16 5118, i16 0, i16 0, i16 5116, i16 0, i16 2728, i16 0, i16 0, i16 5123, i16 5113, i16 9652, i16 0, i16 9653, i16 0, i16 9654, i16 5114, i16 5090, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9574, i16 0, i16 9575, i16 0, i16 0, i16 1049, i16 0, i16 0, i16 892, i16 0, i16 9576, i16 5056, i16 0, i16 9577, i16 5059, i16 9578, i16 0, i16 0, i16 3600, i16 9579, i16 0, i16 9580, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 364, i16 0, i16 0, i16 363, i16 0, i16 362, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7882, i16 7883, i16 0, i16 0, i16 4012, i16 3474, i16 0, i16 2068, i16 7884, i16 4018, i16 0, i16 7885, i16 7886, i16 0, i16 4017, i16 4008, i16 0, i16 7887, i16 7888, i16 7889, i16 2472, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 995, i16 0, i16 0, i16 7950, i16 0, i16 0, i16 4058, i16 7951, i16 2153, i16 4054, i16 7952, i16 4052, i16 7953, i16 4053, i16 7954, i16 4055, i16 7955, i16 0, i16 7956, i16 7957, i16 7958, i16 0, i16 7959, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3650, i16 0, i16 9772, i16 5182, i16 0, i16 0, i16 0, i16 847, i16 0, i16 9773, i16 0, i16 9774, i16 9775, i16 9776, i16 9777, i16 0, i16 9778, i16 5184, i16 0, i16 0, i16 9779, i16 5183, i16 0, i16 5181, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10072, i16 10073, i16 5305, i16 0, i16 10074, i16 0, i16 0, i16 5306, i16 10075, i16 0, i16 0, i16 10076, i16 5307, i16 0, i16 0, i16 0, i16 10077, i16 0, i16 10078, i16 10079, i16 866, i16 0, i16 10080, i16 10081, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3182, i16 0, i16 6816, i16 12656, i16 0, i16 12657, i16 12658, i16 6817, i16 12659, i16 6818, i16 0, i16 0, i16 12660, i16 0, i16 6819, i16 12661, i16 12662, i16 0, i16 12663, i16 12664, i16 0, i16 0, i16 0, i16 12665, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11391, i16 0, i16 1000, i16 6110, i16 6111, i16 11358, i16 0, i16 0, i16 0, i16 11359, i16 0, i16 6106, i16 0, i16 1808, i16 11360, i16 0, i16 11361, i16 0, i16 11362, i16 0, i16 11363, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1683, i16 0, i16 12778, i16 0, i16 12779, i16 6888, i16 12780, i16 12781, i16 6889, i16 0, i16 12782, i16 0, i16 12783, i16 12784, i16 12785, i16 0, i16 1055, i16 12786, i16 0, i16 12787, i16 6890, i16 0, i16 12788, i16 12789, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8637, i16 0, i16 0, i16 8638, i16 0, i16 0, i16 8639, i16 4435, i16 4441, i16 4433, i16 0, i16 2779, i16 8640, i16 8641, i16 4438, i16 3156, i16 8642, i16 8643, i16 4432, i16 8644, i16 4437, i16 3636, i16 1834, i16 0, i16 8645, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7102, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7101, i16 7104, i16 7108, i16 7107, i16 0, i16 7105, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11222, i16 0, i16 0, i16 11223, i16 0, i16 3292, i16 0, i16 3660, i16 11224, i16 11225, i16 11226, i16 11227, i16 0, i16 6049, i16 0, i16 0, i16 11228, i16 0, i16 0, i16 11230, i16 11231, i16 6056, i16 11232, i16 0, i16 6048, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8409, i16 8410, i16 0, i16 8411, i16 0, i16 4283, i16 0, i16 0, i16 8412, i16 1205, i16 4284, i16 8413, i16 0, i16 4285, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8414, i16 0, i16 8415, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4599, i16 752, i16 8844, i16 8845, i16 1720, i16 0, i16 8846, i16 0, i16 2177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8847, i16 8848, i16 0, i16 0, i16 8849, i16 2707, i16 0, i16 8850, i16 3053, i16 4605, i16 2405, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4632, i16 0, i16 0, i16 8909, i16 8910, i16 0, i16 0, i16 2464, i16 0, i16 4639, i16 8911, i16 0, i16 8912, i16 4633, i16 8913, i16 0, i16 4630, i16 4637, i16 8914, i16 0, i16 0, i16 0, i16 4607, i16 0, i16 8915, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 316, i16 315, i16 0, i16 0, i16 0, i16 312, i16 0, i16 0, i16 314, i16 313, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8817, i16 0, i16 8818, i16 0, i16 0, i16 3069, i16 4663, i16 0, i16 0, i16 0, i16 0, i16 3279, i16 0, i16 8819, i16 0, i16 2706, i16 8820, i16 8821, i16 0, i16 3368, i16 8822, i16 4583, i16 934, i16 2605, i16 8823, i16 8824, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7940, i16 2549, i16 0, i16 7941, i16 970, i16 7942, i16 0, i16 0, i16 7943, i16 7944, i16 7945, i16 7946, i16 7947, i16 7948, i16 0, i16 4042, i16 0, i16 4044, i16 2069, i16 858, i16 7949, i16 0, i16 4047, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 311, i16 310, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2652, i16 12969, i16 6980, i16 0, i16 3024, i16 0, i16 6985, i16 6981, i16 0, i16 0, i16 0, i16 6982, i16 0, i16 12970, i16 3300, i16 3413, i16 0, i16 2861, i16 12971, i16 0, i16 12972, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1124, i16 11078, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11079, i16 920, i16 5954, i16 3639, i16 2498, i16 11080, i16 0, i16 3131, i16 0, i16 5966, i16 11081, i16 988, i16 5964, i16 0, i16 5962, i16 5953, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2662, i16 9547, i16 9548, i16 9549, i16 883, i16 1622, i16 5035, i16 0, i16 0, i16 9551, i16 9552, i16 0, i16 9553, i16 1974, i16 5040, i16 0, i16 5039, i16 5034, i16 0, i16 5037, i16 9554, i16 0, i16 1099, i16 9555, i16 5036, i16 2948, i16 9556, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8864, i16 8865, i16 3280, i16 1919, i16 4620, i16 0, i16 4619, i16 8866, i16 8867, i16 2243, i16 0, i16 0, i16 8868, i16 1497, i16 0, i16 8869, i16 8870, i16 4613, i16 2086, i16 8871, i16 0, i16 2885, i16 2924, i16 8872, i16 8873, i16 0, i16 8874, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11173, i16 6028, i16 11174, i16 11175, i16 3524, i16 11176, i16 0, i16 0, i16 11177, i16 3575, i16 11178, i16 0, i16 11179, i16 11180, i16 0, i16 0, i16 0, i16 11181, i16 2619, i16 11182, i16 11183, i16 11184, i16 1102, i16 11185, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6850, i16 12720, i16 0, i16 1057, i16 0, i16 0, i16 0, i16 2954, i16 6851, i16 6852, i16 0, i16 12721, i16 12722, i16 12723, i16 2589, i16 2888, i16 12724, i16 0, i16 0, i16 0, i16 12725, i16 12726, i16 0, i16 6853, i16 12727, i16 0, i16 12728, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4292, i16 0, i16 4294, i16 0, i16 8425, i16 0, i16 8426, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8427, i16 0, i16 0, i16 0, i16 0, i16 8429, i16 0, i16 4295, i16 0, i16 0, i16 0, i16 8428, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10961, i16 5874, i16 10962, i16 0, i16 0, i16 10963, i16 5872, i16 10964, i16 0, i16 2208, i16 0, i16 3164, i16 5877, i16 10965, i16 5876, i16 1639, i16 3710, i16 0, i16 10966, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5893, i16 0, i16 0, i16 0, i16 0, i16 13078, i16 7046, i16 3001, i16 0, i16 13079, i16 7047, i16 7049, i16 0, i16 13080, i16 7050, i16 13081, i16 13082, i16 13083, i16 0, i16 0, i16 13084, i16 13085, i16 13086, i16 0, i16 0, i16 7048, i16 1668, i16 3422, i16 3350, i16 4361, i16 0, i16 4996, i16 3374, i16 0, i16 0, i16 0, i16 0, i16 9766, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9767, i16 5177, i16 2557, i16 5180, i16 5175, i16 9768, i16 9769, i16 0, i16 5179, i16 9770, i16 0, i16 0, i16 9771, i16 5178, i16 2751, i16 802, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4915, i16 9346, i16 9347, i16 4920, i16 4924, i16 9348, i16 9349, i16 1331, i16 0, i16 0, i16 9350, i16 0, i16 9351, i16 9352, i16 9353, i16 0, i16 0, i16 9354, i16 9355, i16 0, i16 1259, i16 4922, i16 0, i16 9356, i16 0, i16 0, i16 0, i16 1216, i16 0, i16 0, i16 0, i16 0, i16 9780, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5176, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3286, i16 9781, i16 0, i16 0, i16 5186, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9539, i16 0, i16 0, i16 9540, i16 0, i16 0, i16 9541, i16 3517, i16 5042, i16 0, i16 9542, i16 9543, i16 0, i16 9544, i16 5041, i16 9545, i16 0, i16 0, i16 0, i16 2335, i16 0, i16 5038, i16 9546, i16 3547, i16 0, i16 0, i16 2835, i16 5032, i16 0, i16 0, i16 0, i16 0, i16 10582, i16 0, i16 3236, i16 986, i16 0, i16 10583, i16 0, i16 5611, i16 0, i16 5608, i16 10584, i16 5613, i16 10585, i16 10586, i16 5612, i16 0, i16 2990, i16 3384, i16 10587, i16 1806, i16 5606, i16 5615, i16 5610, i16 10588, i16 5609, i16 5605, i16 10589, i16 5607, i16 0, i16 0, i16 0, i16 0, i16 12640, i16 0, i16 6807, i16 12641, i16 0, i16 0, i16 12642, i16 6809, i16 2511, i16 1086, i16 1087, i16 6808, i16 0, i16 12643, i16 12644, i16 12645, i16 1194, i16 1515, i16 12646, i16 12647, i16 1195, i16 12648, i16 12649, i16 2750, i16 0, i16 0, i16 3629, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9849, i16 0, i16 0, i16 0, i16 5220, i16 0, i16 2687, i16 9850, i16 5222, i16 5221, i16 0, i16 9851, i16 5223, i16 0, i16 5224, i16 0, i16 9852, i16 1936, i16 3162, i16 0, i16 9853, i16 9854, i16 3453, i16 5225, i16 5226, i16 2397, i16 1877, i16 5227, i16 0, i16 0, i16 0, i16 0, i16 944, i16 0, i16 13087, i16 0, i16 13088, i16 0, i16 0, i16 13089, i16 7052, i16 1263, i16 7053, i16 7054, i16 7055, i16 0, i16 1676, i16 0, i16 7056, i16 13090, i16 0, i16 0, i16 5266, i16 3436, i16 0, i16 2504, i16 7057, i16 7059, i16 7058, i16 13091, i16 0, i16 0, i16 0, i16 0, i16 9393, i16 0, i16 0, i16 9394, i16 3008, i16 0, i16 4946, i16 0, i16 9395, i16 0, i16 0, i16 0, i16 9396, i16 9397, i16 9398, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4950, i16 4947, i16 9399, i16 9400, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1215, i16 9243, i16 4856, i16 0, i16 9244, i16 3418, i16 4831, i16 1214, i16 9245, i16 4838, i16 0, i16 9246, i16 9247, i16 9248, i16 3315, i16 9249, i16 4839, i16 4841, i16 9250, i16 4845, i16 4833, i16 9251, i16 2541, i16 0, i16 9252, i16 9253, i16 0, i16 2798, i16 0, i16 0, i16 0, i16 0, i16 7110, i16 7111, i16 7122, i16 0, i16 7123, i16 7124, i16 7125, i16 0, i16 7127, i16 0, i16 7128, i16 7130, i16 7136, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 0, i16 0, i16 0, i16 0, i16 6623, i16 0, i16 0, i16 12326, i16 12327, i16 12328, i16 0, i16 2886, i16 0, i16 2772, i16 0, i16 0, i16 12329, i16 12330, i16 12331, i16 0, i16 2680, i16 12332, i16 6636, i16 12333, i16 12334, i16 0, i16 12335, i16 2566, i16 6632, i16 0, i16 12336, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2303, i16 11822, i16 1920, i16 6405, i16 0, i16 11823, i16 0, i16 1077, i16 11824, i16 6406, i16 11825, i16 0, i16 2429, i16 6407, i16 0, i16 6408, i16 3170, i16 0, i16 0, i16 1230, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11826, i16 0, i16 0, i16 0, i16 8200, i16 905, i16 0, i16 8201, i16 1202, i16 2877, i16 3273, i16 0, i16 0, i16 0, i16 0, i16 4173, i16 2396, i16 4172, i16 1435, i16 8202, i16 8203, i16 3342, i16 4171, i16 0, i16 2788, i16 4175, i16 8204, i16 4174, i16 8205, i16 0, i16 8206, i16 8207, i16 8208, i16 0, i16 0, i16 0, i16 9739, i16 9740, i16 0, i16 0, i16 0, i16 9741, i16 9742, i16 9743, i16 9744, i16 5111, i16 0, i16 9749, i16 0, i16 0, i16 5171, i16 0, i16 0, i16 9745, i16 9746, i16 0, i16 0, i16 2884, i16 0, i16 0, i16 0, i16 0, i16 9747, i16 9748, i16 0, i16 0, i16 0, i16 0, i16 8486, i16 0, i16 0, i16 0, i16 8487, i16 0, i16 4332, i16 0, i16 8488, i16 1185, i16 4333, i16 8490, i16 0, i16 8489, i16 0, i16 4335, i16 4334, i16 0, i16 0, i16 4336, i16 0, i16 8491, i16 8492, i16 0, i16 4337, i16 0, i16 2327, i16 1970, i16 0, i16 0, i16 0, i16 0, i16 808, i16 5862, i16 0, i16 2563, i16 0, i16 10928, i16 0, i16 0, i16 0, i16 2963, i16 10929, i16 2496, i16 10930, i16 0, i16 0, i16 10931, i16 0, i16 10932, i16 10933, i16 5864, i16 10934, i16 10935, i16 5860, i16 5863, i16 5858, i16 0, i16 5861, i16 3289, i16 0, i16 0, i16 0, i16 0, i16 6698, i16 0, i16 0, i16 12462, i16 784, i16 12463, i16 12464, i16 6696, i16 12465, i16 6700, i16 6699, i16 0, i16 0, i16 12466, i16 12467, i16 12468, i16 12469, i16 6702, i16 6701, i16 6703, i16 0, i16 2827, i16 12470, i16 12471, i16 0, i16 6704, i16 12472, i16 12473, i16 12474, i16 0, i16 0, i16 0, i16 299, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7121, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9006, i16 0, i16 1543, i16 0, i16 9007, i16 4685, i16 9008, i16 0, i16 0, i16 0, i16 4688, i16 0, i16 3145, i16 9009, i16 1278, i16 9010, i16 0, i16 9011, i16 4687, i16 4686, i16 2959, i16 4689, i16 1330, i16 0, i16 0, i16 0, i16 4691, i16 4690, i16 9012, i16 0, i16 0, i16 0, i16 5172, i16 9750, i16 9751, i16 0, i16 0, i16 0, i16 0, i16 0, i16 981, i16 9752, i16 0, i16 9753, i16 2803, i16 1032, i16 0, i16 0, i16 0, i16 0, i16 9754, i16 9755, i16 0, i16 1283, i16 0, i16 0, i16 0, i16 1935, i16 1735, i16 9756, i16 0, i16 0, i16 0, i16 0, i16 9782, i16 9783, i16 9784, i16 9785, i16 9786, i16 0, i16 5185, i16 0, i16 9787, i16 9788, i16 0, i16 0, i16 9789, i16 0, i16 0, i16 0, i16 0, i16 914, i16 0, i16 0, i16 0, i16 0, i16 5188, i16 3207, i16 0, i16 5187, i16 0, i16 9790, i16 0, i16 0, i16 0, i16 0, i16 8247, i16 8248, i16 863, i16 1136, i16 8249, i16 4189, i16 0, i16 3414, i16 3112, i16 0, i16 0, i16 8250, i16 8251, i16 0, i16 8252, i16 8253, i16 0, i16 8254, i16 0, i16 753, i16 8255, i16 0, i16 0, i16 0, i16 834, i16 0, i16 0, i16 0, i16 1828, i16 0, i16 0, i16 0, i16 10308, i16 0, i16 0, i16 0, i16 5464, i16 0, i16 10309, i16 0, i16 0, i16 0, i16 5465, i16 0, i16 0, i16 0, i16 10310, i16 10311, i16 0, i16 0, i16 10312, i16 0, i16 5466, i16 0, i16 10313, i16 5467, i16 3400, i16 5468, i16 0, i16 10314, i16 10315, i16 0, i16 0, i16 0, i16 10830, i16 10831, i16 5779, i16 0, i16 10832, i16 0, i16 0, i16 0, i16 0, i16 5780, i16 5781, i16 5782, i16 10833, i16 5783, i16 5784, i16 10834, i16 10835, i16 5786, i16 5785, i16 0, i16 0, i16 5787, i16 0, i16 0, i16 10836, i16 10837, i16 10838, i16 0, i16 5788, i16 0, i16 0, i16 0, i16 6991, i16 0, i16 0, i16 6989, i16 0, i16 1118, i16 0, i16 6988, i16 1891, i16 942, i16 0, i16 0, i16 12981, i16 12982, i16 0, i16 12983, i16 12984, i16 12985, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12986, i16 1658, i16 12987, i16 12989, i16 6998, i16 6997, i16 0, i16 0, i16 0, i16 12117, i16 0, i16 0, i16 0, i16 12118, i16 12119, i16 2864, i16 6566, i16 1989, i16 1937, i16 2966, i16 2612, i16 12120, i16 0, i16 0, i16 1955, i16 12121, i16 2231, i16 0, i16 6567, i16 12122, i16 6568, i16 12123, i16 12124, i16 12125, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1113, i16 5562, i16 5561, i16 10536, i16 5565, i16 5558, i16 10537, i16 5566, i16 3574, i16 10538, i16 5567, i16 10539, i16 5568, i16 0, i16 10540, i16 4170, i16 5570, i16 0, i16 5569, i16 0, i16 0, i16 0, i16 5571, i16 5572, i16 10541, i16 3586, i16 5573, i16 0, i16 6797, i16 0, i16 0, i16 0, i16 4186, i16 8227, i16 2474, i16 0, i16 8228, i16 3307, i16 0, i16 0, i16 0, i16 2761, i16 8229, i16 8230, i16 8231, i16 8232, i16 0, i16 4187, i16 8233, i16 0, i16 0, i16 0, i16 8234, i16 0, i16 3352, i16 8235, i16 1727, i16 8236, i16 0, i16 2071, i16 0, i16 0, i16 0, i16 0, i16 4961, i16 0, i16 0, i16 9421, i16 4960, i16 0, i16 4962, i16 9422, i16 0, i16 979, i16 9423, i16 2554, i16 0, i16 4963, i16 0, i16 9424, i16 1152, i16 4965, i16 0, i16 9425, i16 0, i16 9426, i16 4964, i16 0, i16 4966, i16 0, i16 9427, i16 0, i16 4967, i16 0, i16 0, i16 0, i16 10341, i16 10342, i16 5477, i16 0, i16 10343, i16 10344, i16 0, i16 0, i16 0, i16 10345, i16 0, i16 10346, i16 0, i16 0, i16 0, i16 10347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10348, i16 2104, i16 10349, i16 0, i16 0, i16 0, i16 0, i16 2175, i16 8612, i16 3107, i16 0, i16 8613, i16 8614, i16 8615, i16 0, i16 8616, i16 1208, i16 2913, i16 0, i16 0, i16 8617, i16 8618, i16 8619, i16 8620, i16 8621, i16 0, i16 4422, i16 1833, i16 3309, i16 3310, i16 0, i16 0, i16 933, i16 4427, i16 8622, i16 0, i16 0, i16 0, i16 0, i16 2695, i16 3881, i16 7678, i16 0, i16 2444, i16 0, i16 7679, i16 1764, i16 3882, i16 3883, i16 2359, i16 0, i16 3880, i16 0, i16 0, i16 0, i16 0, i16 3885, i16 7680, i16 3305, i16 7681, i16 7682, i16 0, i16 7683, i16 1659, i16 7684, i16 0, i16 3884, i16 7685, i16 0, i16 0, i16 0, i16 5002, i16 5001, i16 0, i16 9479, i16 9480, i16 9481, i16 0, i16 0, i16 0, i16 9482, i16 0, i16 9483, i16 0, i16 0, i16 0, i16 0, i16 9484, i16 2224, i16 9485, i16 9486, i16 3120, i16 881, i16 0, i16 9487, i16 9488, i16 0, i16 0, i16 3038, i16 9489, i16 0, i16 0, i16 0, i16 12200, i16 12201, i16 12202, i16 12203, i16 0, i16 12204, i16 6671, i16 0, i16 0, i16 6599, i16 0, i16 12205, i16 12206, i16 12207, i16 0, i16 0, i16 12208, i16 3640, i16 12209, i16 12210, i16 1555, i16 12211, i16 12212, i16 12213, i16 0, i16 12214, i16 0, i16 12215, i16 6609, i16 0, i16 0, i16 0, i16 1469, i16 0, i16 8946, i16 0, i16 8947, i16 4649, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8948, i16 8949, i16 8950, i16 1800, i16 4646, i16 0, i16 4645, i16 0, i16 0, i16 8951, i16 8952, i16 2925, i16 8953, i16 0, i16 8954, i16 2834, i16 8955, i16 0, i16 0, i16 0, i16 1223, i16 1538, i16 4235, i16 1083, i16 0, i16 8338, i16 4236, i16 0, i16 2462, i16 0, i16 0, i16 8339, i16 8340, i16 4237, i16 4277, i16 0, i16 4238, i16 0, i16 4239, i16 0, i16 0, i16 4240, i16 0, i16 4242, i16 0, i16 8341, i16 8342, i16 8343, i16 8344, i16 0, i16 0, i16 0, i16 5320, i16 5319, i16 5321, i16 10092, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5322, i16 5324, i16 5323, i16 0, i16 0, i16 1680, i16 10093, i16 5326, i16 0, i16 5325, i16 10094, i16 10095, i16 1158, i16 0, i16 2206, i16 0, i16 2747, i16 0, i16 5327, i16 2273, i16 0, i16 0, i16 0, i16 9928, i16 1677, i16 1845, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9929, i16 5264, i16 5265, i16 9930, i16 0, i16 9931, i16 0, i16 0, i16 0, i16 9932, i16 5267, i16 9933, i16 0, i16 0, i16 0, i16 0, i16 9934, i16 9935, i16 9936, i16 0, i16 0, i16 0, i16 4811, i16 0, i16 0, i16 0, i16 3111, i16 0, i16 0, i16 0, i16 9216, i16 0, i16 0, i16 9217, i16 9218, i16 9219, i16 9220, i16 9221, i16 0, i16 4823, i16 9222, i16 952, i16 4812, i16 0, i16 9223, i16 9224, i16 9225, i16 9226, i16 0, i16 4829, i16 4813, i16 0, i16 0, i16 0, i16 13009, i16 13010, i16 0, i16 13011, i16 7009, i16 0, i16 7008, i16 13012, i16 0, i16 0, i16 13013, i16 13014, i16 1463, i16 0, i16 0, i16 13015, i16 13016, i16 0, i16 13017, i16 13018, i16 13019, i16 13020, i16 0, i16 7013, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11738, i16 0, i16 0, i16 1460, i16 0, i16 0, i16 0, i16 0, i16 6342, i16 6344, i16 11739, i16 0, i16 6345, i16 1251, i16 5811, i16 2150, i16 0, i16 6346, i16 0, i16 11740, i16 1575, i16 11741, i16 11742, i16 0, i16 0, i16 11743, i16 6347, i16 11744, i16 0, i16 0, i16 0, i16 0, i16 5086, i16 9609, i16 9610, i16 0, i16 0, i16 9611, i16 9612, i16 3388, i16 9613, i16 0, i16 5084, i16 5088, i16 9614, i16 0, i16 9615, i16 9616, i16 9617, i16 9618, i16 0, i16 1545, i16 9619, i16 2098, i16 0, i16 0, i16 2556, i16 9620, i16 9621, i16 9622, i16 5078, i16 0, i16 0, i16 0, i16 7917, i16 7918, i16 0, i16 0, i16 1489, i16 4034, i16 4032, i16 2394, i16 1257, i16 1321, i16 7919, i16 4029, i16 0, i16 1393, i16 0, i16 7920, i16 0, i16 0, i16 0, i16 875, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7921, i16 0, i16 0, i16 0, i16 238, i16 0, i16 300, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1015, i16 0, i16 11621, i16 2163, i16 6275, i16 0, i16 11622, i16 0, i16 11623, i16 0, i16 11624, i16 0, i16 0, i16 0, i16 11625, i16 0, i16 11626, i16 6276, i16 0, i16 11627, i16 0, i16 6277, i16 11628, i16 0, i16 0, i16 0, i16 11629, i16 0, i16 11630, i16 0, i16 0, i16 7936, i16 1823, i16 4040, i16 0, i16 0, i16 0, i16 0, i16 7937, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7938, i16 4043, i16 0, i16 4048, i16 0, i16 0, i16 0, i16 4046, i16 4045, i16 7939, i16 0, i16 0, i16 8448, i16 8449, i16 0, i16 0, i16 8450, i16 0, i16 8451, i16 0, i16 8455, i16 4317, i16 4314, i16 0, i16 4316, i16 0, i16 3553, i16 8453, i16 4315, i16 0, i16 0, i16 8452, i16 0, i16 0, i16 0, i16 8454, i16 0, i16 0, i16 4305, i16 0, i16 0, i16 8456, i16 0, i16 0, i16 2310, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8927, i16 0, i16 0, i16 4643, i16 8928, i16 0, i16 8929, i16 8930, i16 8931, i16 8932, i16 0, i16 0, i16 0, i16 2725, i16 0, i16 8933, i16 8934, i16 8935, i16 8936, i16 0, i16 8937, i16 0, i16 0, i16 10759, i16 10760, i16 10761, i16 10762, i16 10763, i16 5714, i16 0, i16 0, i16 1368, i16 3077, i16 10764, i16 10765, i16 10766, i16 2420, i16 0, i16 3613, i16 2046, i16 0, i16 0, i16 5762, i16 0, i16 10767, i16 5724, i16 10768, i16 2343, i16 0, i16 5720, i16 5725, i16 5727, i16 0, i16 0, i16 0, i16 6161, i16 11432, i16 11433, i16 11434, i16 11435, i16 11436, i16 11437, i16 11438, i16 0, i16 11439, i16 11440, i16 3498, i16 0, i16 0, i16 11441, i16 0, i16 0, i16 11442, i16 0, i16 11443, i16 0, i16 11444, i16 11445, i16 11446, i16 0, i16 0, i16 0, i16 0, i16 11447, i16 6160, i16 0, i16 0, i16 8998, i16 4677, i16 4676, i16 0, i16 8999, i16 0, i16 0, i16 9000, i16 4644, i16 4678, i16 4666, i16 0, i16 9001, i16 1836, i16 0, i16 9002, i16 0, i16 0, i16 4679, i16 4680, i16 4682, i16 4681, i16 4683, i16 1027, i16 9003, i16 1613, i16 9004, i16 9005, i16 3281, i16 2264, i16 0, i16 0, i16 13103, i16 13104, i16 0, i16 0, i16 0, i16 7071, i16 7072, i16 13105, i16 0, i16 0, i16 0, i16 0, i16 2723, i16 13106, i16 13107, i16 13108, i16 13109, i16 1558, i16 13110, i16 7074, i16 13111, i16 13112, i16 0, i16 13113, i16 13114, i16 13115, i16 0, i16 0, i16 0, i16 13116, i16 0, i16 0, i16 1852, i16 10946, i16 0, i16 1337, i16 2289, i16 3697, i16 3391, i16 5865, i16 2301, i16 10947, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10948, i16 10949, i16 10950, i16 0, i16 1266, i16 5868, i16 10951, i16 0, i16 10952, i16 0, i16 0, i16 0, i16 4159, i16 0, i16 0, i16 8181, i16 8182, i16 0, i16 0, i16 3238, i16 4160, i16 8183, i16 8184, i16 0, i16 0, i16 971, i16 4161, i16 0, i16 8185, i16 8186, i16 8187, i16 3499, i16 1043, i16 0, i16 3939, i16 2007, i16 2468, i16 4162, i16 3452, i16 8189, i16 0, i16 0, i16 0, i16 0, i16 9280, i16 0, i16 0, i16 9281, i16 0, i16 0, i16 0, i16 9282, i16 3515, i16 0, i16 0, i16 0, i16 9283, i16 0, i16 0, i16 0, i16 0, i16 3181, i16 4862, i16 2479, i16 0, i16 9284, i16 0, i16 4868, i16 2374, i16 9285, i16 4859, i16 4872, i16 4871, i16 0, i16 0, i16 0, i16 334, i16 335, i16 0, i16 0, i16 332, i16 333, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5718, i16 5712, i16 0, i16 0, i16 10752, i16 10753, i16 0, i16 0, i16 10754, i16 5716, i16 1963, i16 806, i16 5711, i16 5719, i16 5723, i16 1634, i16 3431, i16 10755, i16 2679, i16 5713, i16 10756, i16 10757, i16 5721, i16 10758, i16 5710, i16 2561, i16 0, i16 5715, i16 774, i16 3419, i16 0, i16 0, i16 9566, i16 0, i16 0, i16 5052, i16 0, i16 9567, i16 2096, i16 0, i16 0, i16 0, i16 3487, i16 0, i16 5049, i16 0, i16 0, i16 9568, i16 9569, i16 5044, i16 9570, i16 5050, i16 9571, i16 9572, i16 9573, i16 3627, i16 0, i16 2802, i16 2847, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3942, i16 7777, i16 3458, i16 0, i16 0, i16 7778, i16 7779, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7780, i16 0, i16 0, i16 0, i16 0, i16 7781, i16 7782, i16 0, i16 3943, i16 0, i16 3615, i16 7783, i16 1589, i16 0, i16 0, i16 7784, i16 0, i16 1519, i16 0, i16 0, i16 9320, i16 0, i16 0, i16 9321, i16 0, i16 4903, i16 4896, i16 0, i16 0, i16 4909, i16 0, i16 4907, i16 9322, i16 9323, i16 0, i16 9324, i16 4902, i16 9325, i16 0, i16 9326, i16 0, i16 0, i16 0, i16 4901, i16 0, i16 2673, i16 0, i16 2412, i16 9327, i16 4899, i16 0, i16 0, i16 12650, i16 12651, i16 0, i16 12652, i16 12653, i16 1557, i16 0, i16 0, i16 12654, i16 6810, i16 12655, i16 0, i16 0, i16 6811, i16 6812, i16 6813, i16 0, i16 6815, i16 6814, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4205, i16 8279, i16 0, i16 8280, i16 3151, i16 8281, i16 0, i16 0, i16 4206, i16 0, i16 4201, i16 8282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8283, i16 0, i16 0, i16 8284, i16 8285, i16 0, i16 0, i16 8286, i16 3404, i16 0, i16 0, i16 2671, i16 2855, i16 880, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2331, i16 9194, i16 0, i16 2269, i16 1413, i16 0, i16 9195, i16 0, i16 0, i16 0, i16 9196, i16 4801, i16 9197, i16 0, i16 0, i16 12666, i16 6821, i16 6820, i16 12667, i16 6822, i16 0, i16 12668, i16 0, i16 0, i16 0, i16 12669, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3085, i16 5822, i16 0, i16 0, i16 2164, i16 0, i16 0, i16 12678, i16 6825, i16 0, i16 3440, i16 0, i16 12679, i16 12680, i16 6826, i16 3531, i16 0, i16 873, i16 0, i16 0, i16 0, i16 1812, i16 12681, i16 6827, i16 1011, i16 6828, i16 12682, i16 12683, i16 12684, i16 6829, i16 0, i16 12685, i16 12686, i16 12687, i16 6831, i16 6832, i16 12688, i16 0, i16 0, i16 7827, i16 0, i16 7828, i16 0, i16 7829, i16 7830, i16 1967, i16 7831, i16 1959, i16 7832, i16 0, i16 7833, i16 7834, i16 0, i16 3977, i16 3975, i16 0, i16 3380, i16 7835, i16 3972, i16 3981, i16 3976, i16 0, i16 0, i16 0, i16 3979, i16 1535, i16 3408, i16 0, i16 7836, i16 0, i16 0, i16 9623, i16 9624, i16 0, i16 0, i16 0, i16 3486, i16 9625, i16 0, i16 0, i16 5081, i16 0, i16 0, i16 5074, i16 2801, i16 0, i16 0, i16 5077, i16 9626, i16 0, i16 0, i16 5083, i16 0, i16 0, i16 0, i16 0, i16 9627, i16 0, i16 9628, i16 3708, i16 1903, i16 0, i16 0, i16 10135, i16 5355, i16 10136, i16 5354, i16 0, i16 0, i16 0, i16 0, i16 0, i16 893, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5363, i16 3073, i16 5357, i16 10137, i16 5359, i16 0, i16 0, i16 5361, i16 2185, i16 10138, i16 0, i16 5362, i16 5360, i16 1905, i16 10139, i16 0, i16 0, i16 7585, i16 3813, i16 7586, i16 3811, i16 7587, i16 2389, i16 7588, i16 7589, i16 0, i16 0, i16 0, i16 3812, i16 3814, i16 7590, i16 0, i16 7591, i16 7603, i16 0, i16 0, i16 3816, i16 7592, i16 0, i16 0, i16 3815, i16 7593, i16 3229, i16 0, i16 0, i16 7594, i16 0, i16 0, i16 0, i16 6307, i16 11695, i16 6305, i16 0, i16 11696, i16 2575, i16 11697, i16 11698, i16 11699, i16 2282, i16 1171, i16 6306, i16 0, i16 2214, i16 0, i16 11700, i16 3607, i16 11701, i16 11702, i16 11703, i16 3691, i16 11704, i16 0, i16 0, i16 6308, i16 6319, i16 2646, i16 11705, i16 6318, i16 11706, i16 0, i16 0, i16 12974, i16 6986, i16 0, i16 0, i16 6987, i16 2843, i16 6984, i16 6983, i16 0, i16 12973, i16 0, i16 0, i16 943, i16 0, i16 0, i16 12975, i16 6995, i16 0, i16 0, i16 6994, i16 0, i16 12976, i16 12977, i16 0, i16 0, i16 924, i16 12978, i16 12979, i16 12980, i16 6992, i16 0, i16 0, i16 1714, i16 0, i16 0, i16 10326, i16 10327, i16 0, i16 0, i16 10328, i16 0, i16 0, i16 5472, i16 10329, i16 10330, i16 0, i16 0, i16 10331, i16 5473, i16 0, i16 1503, i16 1738, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10332, i16 0, i16 0, i16 0, i16 0, i16 9906, i16 0, i16 9907, i16 9908, i16 0, i16 9909, i16 0, i16 0, i16 5255, i16 9910, i16 0, i16 9911, i16 0, i16 0, i16 0, i16 0, i16 9912, i16 9913, i16 0, i16 0, i16 5257, i16 5254, i16 9914, i16 9915, i16 0, i16 3429, i16 5256, i16 5258, i16 9916, i16 3601, i16 0, i16 0, i16 4280, i16 7388, i16 0, i16 0, i16 0, i16 0, i16 7389, i16 7390, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3551, i16 0, i16 2906, i16 7391, i16 7392, i16 0, i16 0, i16 0, i16 7393, i16 0, i16 0, i16 0, i16 0, i16 1126, i16 7394, i16 0, i16 0, i16 9401, i16 9402, i16 3554, i16 4948, i16 9403, i16 9404, i16 0, i16 9405, i16 4900, i16 0, i16 0, i16 0, i16 0, i16 9406, i16 9407, i16 9408, i16 4951, i16 0, i16 0, i16 0, i16 4952, i16 9409, i16 0, i16 0, i16 0, i16 9410, i16 0, i16 860, i16 9411, i16 4954, i16 0, i16 0, i16 2749, i16 6472, i16 0, i16 0, i16 0, i16 0, i16 11939, i16 0, i16 0, i16 6475, i16 0, i16 11946, i16 11940, i16 0, i16 11941, i16 11942, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11943, i16 1893, i16 11944, i16 11945, i16 6474, i16 6473, i16 1461, i16 6476, i16 0, i16 0, i16 0, i16 9917, i16 0, i16 9918, i16 5262, i16 0, i16 9919, i16 9920, i16 5261, i16 2617, i16 2920, i16 9921, i16 0, i16 1502, i16 5260, i16 0, i16 9922, i16 9923, i16 0, i16 5259, i16 9924, i16 3488, i16 3489, i16 0, i16 0, i16 9925, i16 9926, i16 0, i16 9927, i16 5263, i16 917, i16 0, i16 0, i16 5579, i16 0, i16 5592, i16 0, i16 5582, i16 10551, i16 1287, i16 0, i16 5581, i16 5594, i16 0, i16 0, i16 0, i16 5580, i16 0, i16 2109, i16 0, i16 0, i16 10552, i16 0, i16 0, i16 0, i16 5584, i16 5585, i16 0, i16 2730, i16 0, i16 0, i16 5586, i16 10553, i16 0, i16 0, i16 7119, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 360, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6868, i16 0, i16 0, i16 0, i16 0, i16 12737, i16 0, i16 0, i16 12738, i16 12739, i16 12740, i16 6859, i16 6860, i16 0, i16 12741, i16 6861, i16 6862, i16 0, i16 12742, i16 12743, i16 0, i16 0, i16 6864, i16 12744, i16 0, i16 6863, i16 0, i16 12745, i16 12746, i16 2024, i16 0, i16 0, i16 4310, i16 8439, i16 8440, i16 0, i16 8441, i16 8442, i16 0, i16 3277, i16 0, i16 8438, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8443, i16 0, i16 0, i16 8444, i16 0, i16 0, i16 0, i16 0, i16 8445, i16 0, i16 0, i16 0, i16 8446, i16 0, i16 8447, i16 0, i16 0, i16 2523, i16 0, i16 10008, i16 5286, i16 10009, i16 0, i16 10010, i16 10011, i16 10012, i16 10013, i16 10014, i16 10015, i16 10016, i16 10017, i16 10018, i16 10019, i16 5288, i16 3619, i16 1364, i16 3093, i16 2949, i16 0, i16 0, i16 10020, i16 5289, i16 0, i16 0, i16 0, i16 0, i16 5291, i16 0, i16 0, i16 6368, i16 0, i16 0, i16 6370, i16 11784, i16 11785, i16 0, i16 6369, i16 6371, i16 11786, i16 3321, i16 6372, i16 6373, i16 0, i16 11787, i16 0, i16 11788, i16 11789, i16 6374, i16 0, i16 0, i16 0, i16 6376, i16 11790, i16 0, i16 11791, i16 11792, i16 1040, i16 2696, i16 0, i16 0, i16 0, i16 7648, i16 0, i16 2257, i16 3861, i16 2025, i16 0, i16 7649, i16 3862, i16 0, i16 2623, i16 3596, i16 2783, i16 0, i16 7650, i16 0, i16 7651, i16 7652, i16 7653, i16 0, i16 7654, i16 3935, i16 0, i16 7655, i16 0, i16 0, i16 3863, i16 7099, i16 1346, i16 7656, i16 0, i16 0, i16 0, i16 6882, i16 0, i16 6884, i16 6883, i16 0, i16 0, i16 0, i16 6885, i16 6887, i16 6886, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 745, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 735, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8685, i16 0, i16 8686, i16 2141, i16 4477, i16 2868, i16 8687, i16 8688, i16 8689, i16 8690, i16 0, i16 0, i16 8691, i16 8692, i16 0, i16 3698, i16 0, i16 4473, i16 8693, i16 8694, i16 0, i16 0, i16 4479, i16 8695, i16 1682, i16 8696, i16 2292, i16 8697, i16 8698, i16 797, i16 0, i16 0, i16 4592, i16 0, i16 8825, i16 2551, i16 4586, i16 4593, i16 4588, i16 4595, i16 4591, i16 0, i16 4590, i16 2986, i16 8826, i16 4584, i16 1026, i16 4582, i16 1296, i16 2520, i16 4578, i16 8827, i16 8828, i16 4581, i16 1611, i16 2308, i16 8829, i16 2084, i16 4589, i16 2957, i16 0, i16 0, i16 0, i16 0, i16 1265, i16 2324, i16 1901, i16 3479, i16 4245, i16 0, i16 8355, i16 8356, i16 0, i16 0, i16 8357, i16 8358, i16 1275, i16 8359, i16 1728, i16 8360, i16 8361, i16 1045, i16 906, i16 2073, i16 973, i16 8362, i16 4246, i16 3509, i16 8363, i16 0, i16 8364, i16 0, i16 0, i16 2008, i16 0, i16 0, i16 3570, i16 2894, i16 0, i16 0, i16 0, i16 0, i16 850, i16 12532, i16 2316, i16 1895, i16 0, i16 0, i16 0, i16 12533, i16 3212, i16 12534, i16 871, i16 0, i16 0, i16 0, i16 3642, i16 3546, i16 0, i16 6745, i16 12535, i16 2756, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7672, i16 0, i16 3030, i16 3233, i16 0, i16 3875, i16 7673, i16 3559, i16 3876, i16 0, i16 0, i16 0, i16 3877, i16 0, i16 2813, i16 7674, i16 7675, i16 3878, i16 0, i16 7676, i16 2258, i16 1779, i16 1487, i16 3879, i16 1820, i16 1670, i16 7677, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3834, i16 0, i16 7631, i16 2907, i16 7632, i16 0, i16 2363, i16 3836, i16 3837, i16 3013, i16 1585, i16 3686, i16 3838, i16 0, i16 0, i16 1315, i16 0, i16 0, i16 0, i16 3217, i16 2459, i16 1390, i16 2740, i16 0, i16 0, i16 0, i16 1486, i16 0, i16 7633, i16 0, i16 0, i16 0, i16 13052, i16 0, i16 0, i16 0, i16 0, i16 13053, i16 0, i16 0, i16 13051, i16 0, i16 0, i16 0, i16 13054, i16 0, i16 13055, i16 13056, i16 13057, i16 0, i16 0, i16 13058, i16 13059, i16 0, i16 0, i16 13060, i16 7032, i16 7033, i16 13061, i16 13062, i16 7034, i16 0, i16 0, i16 0, i16 9469, i16 0, i16 9470, i16 9471, i16 0, i16 0, i16 4997, i16 9472, i16 0, i16 0, i16 0, i16 9473, i16 9474, i16 1844, i16 9475, i16 3394, i16 9476, i16 4998, i16 4999, i16 0, i16 0, i16 1219, i16 0, i16 9477, i16 0, i16 5000, i16 0, i16 0, i16 0, i16 9478, i16 0, i16 2304, i16 0, i16 6423, i16 11858, i16 11859, i16 0, i16 11860, i16 1554, i16 0, i16 6420, i16 6421, i16 11861, i16 0, i16 0, i16 3668, i16 11862, i16 11864, i16 11865, i16 2648, i16 11866, i16 2352, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6424, i16 11867, i16 0, i16 6427, i16 0, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 0, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 520, i16 521, i16 522, i16 523, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 0, i16 1028, i16 1703, i16 6923, i16 6922, i16 3382, i16 0, i16 0, i16 12844, i16 0, i16 0, i16 12845, i16 12846, i16 6925, i16 6926, i16 6924, i16 0, i16 6927, i16 0, i16 0, i16 3349, i16 12847, i16 12848, i16 12849, i16 6928, i16 0, i16 1306, i16 12850, i16 0, i16 0, i16 12851, i16 0, i16 0, i16 6661, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6659, i16 0, i16 0, i16 12412, i16 12413, i16 0, i16 12414, i16 12415, i16 12416, i16 12417, i16 6660, i16 6658, i16 0, i16 2525, i16 0, i16 6662, i16 12418, i16 0, i16 12420, i16 0, i16 12419, i16 0, i16 12549, i16 6764, i16 12550, i16 6761, i16 0, i16 6762, i16 0, i16 6763, i16 6765, i16 12551, i16 0, i16 0, i16 0, i16 12552, i16 12553, i16 0, i16 0, i16 2285, i16 0, i16 0, i16 12554, i16 3464, i16 12555, i16 12556, i16 2286, i16 12557, i16 12558, i16 6766, i16 0, i16 3084, i16 0, i16 0, i16 6663, i16 0, i16 12421, i16 6665, i16 12422, i16 0, i16 0, i16 12423, i16 0, i16 12424, i16 0, i16 12425, i16 0, i16 0, i16 0, i16 0, i16 1174, i16 6664, i16 3467, i16 0, i16 12426, i16 0, i16 0, i16 0, i16 12427, i16 6676, i16 6666, i16 12428, i16 0, i16 6669, i16 12429, i16 0, i16 4105, i16 8057, i16 0, i16 1690, i16 8058, i16 2550, i16 8059, i16 8060, i16 4102, i16 2683, i16 8061, i16 0, i16 8062, i16 8063, i16 8064, i16 8065, i16 8066, i16 0, i16 8067, i16 8068, i16 8069, i16 0, i16 8070, i16 0, i16 8071, i16 8072, i16 8073, i16 8074, i16 0, i16 8075, i16 4106, i16 0, i16 6409, i16 11827, i16 0, i16 11828, i16 2647, i16 0, i16 0, i16 11829, i16 0, i16 898, i16 0, i16 0, i16 11830, i16 0, i16 0, i16 11831, i16 11832, i16 0, i16 0, i16 0, i16 11833, i16 0, i16 0, i16 0, i16 6410, i16 0, i16 0, i16 0, i16 0, i16 11834, i16 11835, i16 0, i16 3338, i16 2521, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3370, i16 0, i16 0, i16 5024, i16 0, i16 9517, i16 5025, i16 9518, i16 980, i16 9519, i16 0, i16 0, i16 0, i16 3197, i16 3470, i16 5027, i16 1876, i16 2095, i16 5020, i16 5026, i16 911, i16 0, i16 3595, i16 0, i16 7373, i16 7374, i16 0, i16 3223, i16 0, i16 7375, i16 0, i16 3714, i16 7376, i16 0, i16 2601, i16 7377, i16 7378, i16 7379, i16 3715, i16 1399, i16 0, i16 0, i16 7380, i16 3716, i16 0, i16 1182, i16 2547, i16 0, i16 1944, i16 3717, i16 0, i16 0, i16 3718, i16 0, i16 4364, i16 4365, i16 2956, i16 0, i16 0, i16 8542, i16 0, i16 4366, i16 3652, i16 3672, i16 8544, i16 8543, i16 0, i16 8545, i16 4368, i16 4367, i16 8546, i16 8547, i16 1066, i16 8548, i16 8549, i16 4369, i16 0, i16 0, i16 0, i16 4372, i16 4373, i16 8550, i16 4371, i16 8551, i16 3127, i16 0, i16 1549, i16 1851, i16 0, i16 0, i16 3079, i16 10923, i16 10924, i16 0, i16 1507, i16 3318, i16 10925, i16 5857, i16 5855, i16 0, i16 1637, i16 0, i16 1638, i16 818, i16 0, i16 1757, i16 0, i16 0, i16 0, i16 10926, i16 10927, i16 2964, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3599, i16 9227, i16 4820, i16 9228, i16 2970, i16 9229, i16 0, i16 9230, i16 0, i16 0, i16 0, i16 0, i16 4828, i16 0, i16 4815, i16 0, i16 0, i16 0, i16 765, i16 4817, i16 0, i16 9231, i16 1619, i16 9232, i16 0, i16 9233, i16 4819, i16 9234, i16 4818, i16 0, i16 4814, i16 0, i16 4879, i16 0, i16 4887, i16 0, i16 9315, i16 0, i16 7096, i16 9316, i16 0, i16 4884, i16 1620, i16 2665, i16 2411, i16 4882, i16 0, i16 4877, i16 9317, i16 0, i16 4880, i16 0, i16 0, i16 9318, i16 9319, i16 3516, i16 3357, i16 0, i16 0, i16 0, i16 4885, i16 4895, i16 0, i16 0, i16 11023, i16 11024, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11025, i16 5925, i16 1641, i16 5926, i16 3045, i16 0, i16 5940, i16 0, i16 0, i16 0, i16 11026, i16 5928, i16 11027, i16 2478, i16 2992, i16 1528, i16 5927, i16 2348, i16 11028, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5395, i16 5396, i16 0, i16 10200, i16 10201, i16 0, i16 5400, i16 5397, i16 5398, i16 5399, i16 0, i16 5401, i16 10202, i16 10203, i16 10204, i16 5402, i16 10205, i16 5403, i16 0, i16 10206, i16 0, i16 5404, i16 0, i16 5405, i16 0, i16 3016, i16 2767, i16 5406, i16 2989, i16 3115, i16 0, i16 0, i16 8468, i16 4323, i16 8469, i16 4322, i16 0, i16 0, i16 4321, i16 8470, i16 0, i16 8471, i16 2791, i16 4300, i16 0, i16 0, i16 0, i16 4329, i16 0, i16 8472, i16 8473, i16 8474, i16 8475, i16 0, i16 0, i16 0, i16 8476, i16 0, i16 8477, i16 0, i16 4325, i16 0, i16 8478, i16 0, i16 6679, i16 0, i16 12440, i16 12439, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1304, i16 3121, i16 0, i16 9655, i16 0, i16 1904, i16 0, i16 9656, i16 1678, i16 9657, i16 0, i16 9658, i16 9659, i16 0, i16 3678, i16 0, i16 5110, i16 0, i16 5122, i16 912, i16 2413, i16 9660, i16 0, i16 9661, i16 0, i16 9662, i16 9663, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8729, i16 4504, i16 0, i16 4505, i16 8730, i16 8731, i16 4494, i16 1871, i16 8732, i16 4498, i16 2491, i16 1609, i16 4480, i16 2176, i16 0, i16 0, i16 0, i16 0, i16 4518, i16 0, i16 3262, i16 0, i16 0, i16 4508, i16 4509, i16 4510, i16 0, i16 0, i16 4517, i16 8733, i16 4516, i16 0, i16 9757, i16 0, i16 0, i16 0, i16 9758, i16 9759, i16 0, i16 0, i16 3666, i16 2225, i16 0, i16 0, i16 0, i16 913, i16 0, i16 0, i16 0, i16 5174, i16 0, i16 9760, i16 9761, i16 9762, i16 9763, i16 9764, i16 5173, i16 0, i16 9765, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7458, i16 7459, i16 1127, i16 7460, i16 7461, i16 3762, i16 0, i16 3754, i16 7462, i16 7463, i16 3632, i16 7464, i16 1867, i16 7465, i16 3755, i16 7466, i16 3760, i16 7467, i16 7468, i16 7469, i16 0, i16 3763, i16 7470, i16 3756, i16 7471, i16 7472, i16 1310, i16 0, i16 790, i16 7473, i16 7474, i16 0, i16 11555, i16 6226, i16 0, i16 6231, i16 0, i16 11556, i16 3192, i16 0, i16 0, i16 6233, i16 0, i16 6232, i16 11557, i16 11558, i16 11559, i16 1103, i16 0, i16 3294, i16 6234, i16 0, i16 11560, i16 11561, i16 0, i16 11562, i16 11563, i16 11564, i16 0, i16 11565, i16 6246, i16 6236, i16 0, i16 0, i16 1572, i16 0, i16 0, i16 0, i16 0, i16 5480, i16 2711, i16 0, i16 0, i16 10359, i16 0, i16 5483, i16 1050, i16 5478, i16 10360, i16 0, i16 3075, i16 0, i16 855, i16 10361, i16 1761, i16 0, i16 3709, i16 10362, i16 0, i16 5482, i16 0, i16 0, i16 10364, i16 10365, i16 10366, i16 0, i16 6950, i16 6947, i16 6946, i16 6948, i16 12905, i16 0, i16 12906, i16 1466, i16 0, i16 12907, i16 12908, i16 0, i16 0, i16 0, i16 12909, i16 6954, i16 6953, i16 6952, i16 12910, i16 0, i16 764, i16 0, i16 12911, i16 12912, i16 12913, i16 12914, i16 0, i16 0, i16 12915, i16 0, i16 12916, i16 0, i16 2856, i16 4921, i16 0, i16 9357, i16 0, i16 4923, i16 9358, i16 0, i16 0, i16 9359, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9360, i16 4917, i16 9361, i16 0, i16 0, i16 0, i16 0, i16 4919, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9362, i16 1091, i16 0, i16 11816, i16 0, i16 11817, i16 6393, i16 6394, i16 0, i16 6396, i16 2440, i16 11818, i16 6395, i16 1191, i16 0, i16 6398, i16 0, i16 6397, i16 6399, i16 0, i16 11819, i16 6401, i16 6403, i16 0, i16 6404, i16 11820, i16 0, i16 0, i16 0, i16 11821, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6188, i16 6187, i16 6118, i16 0, i16 0, i16 0, i16 6192, i16 11497, i16 0, i16 0, i16 0, i16 0, i16 11498, i16 11499, i16 0, i16 11500, i16 6189, i16 11501, i16 0, i16 0, i16 11502, i16 6190, i16 0, i16 0, i16 6191, i16 11503, i16 6193, i16 11504, i16 0, i16 0, i16 0, i16 0, i16 8237, i16 0, i16 8238, i16 8239, i16 0, i16 4188, i16 0, i16 8240, i16 1827, i16 8241, i16 1826, i16 0, i16 8242, i16 0, i16 0, i16 770, i16 1537, i16 8243, i16 2260, i16 794, i16 0, i16 0, i16 0, i16 0, i16 4192, i16 4193, i16 0, i16 4190, i16 8244, i16 8245, i16 8246, i16 0, i16 4912, i16 4937, i16 4936, i16 0, i16 0, i16 9383, i16 0, i16 9385, i16 9384, i16 0, i16 0, i16 9386, i16 0, i16 0, i16 0, i16 9387, i16 4942, i16 0, i16 3665, i16 9388, i16 9389, i16 9390, i16 0, i16 0, i16 0, i16 4945, i16 1400, i16 9391, i16 9392, i16 4941, i16 4943, i16 0, i16 12592, i16 0, i16 6789, i16 12593, i16 12594, i16 6790, i16 12595, i16 6791, i16 12596, i16 12597, i16 6792, i16 12598, i16 12599, i16 12600, i16 0, i16 12601, i16 12602, i16 0, i16 1179, i16 12603, i16 0, i16 0, i16 12604, i16 12605, i16 12606, i16 0, i16 12610, i16 6793, i16 12607, i16 12608, i16 0, i16 0, i16 819, i16 0, i16 12066, i16 12067, i16 12068, i16 0, i16 12069, i16 12070, i16 0, i16 1648, i16 0, i16 12064, i16 0, i16 3685, i16 0, i16 0, i16 0, i16 12079, i16 0, i16 0, i16 12071, i16 0, i16 12072, i16 12073, i16 12074, i16 0, i16 6560, i16 12075, i16 12076, i16 0, i16 12077, i16 0, i16 6451, i16 11911, i16 11912, i16 6454, i16 6453, i16 0, i16 6452, i16 0, i16 11913, i16 6456, i16 6455, i16 0, i16 3463, i16 0, i16 0, i16 11914, i16 6458, i16 11915, i16 6457, i16 6459, i16 11916, i16 0, i16 0, i16 0, i16 6460, i16 11917, i16 11918, i16 0, i16 11919, i16 11920, i16 0, i16 0, i16 1332, i16 9520, i16 0, i16 5017, i16 5022, i16 9521, i16 0, i16 0, i16 2333, i16 2988, i16 0, i16 3072, i16 9522, i16 0, i16 9523, i16 9524, i16 9525, i16 9526, i16 5019, i16 9527, i16 3284, i16 9528, i16 5021, i16 0, i16 5030, i16 9529, i16 5028, i16 9530, i16 5023, i16 0, i16 0, i16 0, i16 6708, i16 12480, i16 0, i16 12481, i16 12482, i16 12483, i16 0, i16 6709, i16 0, i16 1754, i16 0, i16 12484, i16 0, i16 6710, i16 6711, i16 0, i16 12485, i16 3324, i16 12486, i16 0, i16 0, i16 0, i16 12487, i16 12488, i16 12489, i16 12490, i16 2386, i16 12491, i16 12492, i16 0, i16 749, i16 0, i16 12852, i16 0, i16 12853, i16 0, i16 12854, i16 12855, i16 0, i16 12856, i16 0, i16 12857, i16 12858, i16 12859, i16 12860, i16 12861, i16 3664, i16 0, i16 0, i16 0, i16 12862, i16 6929, i16 12863, i16 0, i16 12864, i16 12865, i16 12866, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12867, i16 0, i16 10805, i16 10806, i16 0, i16 0, i16 10807, i16 5742, i16 5750, i16 0, i16 5758, i16 5757, i16 10808, i16 0, i16 3373, i16 10809, i16 10810, i16 1414, i16 0, i16 0, i16 10811, i16 0, i16 0, i16 0, i16 0, i16 10812, i16 5756, i16 0, i16 5760, i16 5759, i16 5763, i16 10813, i16 5765, i16 0, i16 2872, i16 2230, i16 12031, i16 12032, i16 2588, i16 0, i16 1397, i16 0, i16 6536, i16 3494, i16 870, i16 12033, i16 3244, i16 998, i16 6531, i16 6532, i16 6533, i16 6534, i16 2840, i16 2534, i16 812, i16 6538, i16 0, i16 6539, i16 7097, i16 0, i16 12034, i16 2466, i16 12035, i16 6540, i16 0, i16 0, i16 6969, i16 12928, i16 12929, i16 6968, i16 6967, i16 12930, i16 12931, i16 12932, i16 12933, i16 12934, i16 0, i16 0, i16 3136, i16 6965, i16 828, i16 6970, i16 12935, i16 6972, i16 0, i16 0, i16 12936, i16 12937, i16 12938, i16 0, i16 1106, i16 6951, i16 862, i16 0, i16 12939, i16 6974, i16 0, i16 0, i16 9018, i16 4694, i16 4695, i16 0, i16 9019, i16 0, i16 3213, i16 4241, i16 2287, i16 9020, i16 0, i16 3139, i16 0, i16 1741, i16 0, i16 3070, i16 3036, i16 9021, i16 0, i16 0, i16 9022, i16 0, i16 2764, i16 9023, i16 3598, i16 0, i16 4697, i16 1921, i16 9024, i16 0, i16 4698, i16 0, i16 1341, i16 12391, i16 0, i16 6651, i16 6645, i16 12392, i16 12393, i16 6644, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12395, i16 12396, i16 12394, i16 12397, i16 12398, i16 0, i16 12399, i16 0, i16 0, i16 0, i16 6462, i16 11921, i16 0, i16 0, i16 0, i16 0, i16 11922, i16 0, i16 11923, i16 6461, i16 2195, i16 6463, i16 11924, i16 11925, i16 1386, i16 6464, i16 6466, i16 0, i16 11926, i16 0, i16 11927, i16 0, i16 0, i16 0, i16 0, i16 11928, i16 11929, i16 0, i16 0, i16 6467, i16 0, i16 0, i16 10814, i16 1807, i16 5761, i16 0, i16 0, i16 10815, i16 10816, i16 5766, i16 5767, i16 10817, i16 0, i16 5768, i16 10818, i16 5774, i16 2746, i16 5770, i16 10819, i16 5769, i16 5771, i16 5772, i16 10820, i16 5773, i16 0, i16 10821, i16 0, i16 10822, i16 5775, i16 5776, i16 10823, i16 10824, i16 0, i16 0, i16 11328, i16 6096, i16 0, i16 0, i16 0, i16 0, i16 11329, i16 0, i16 11330, i16 0, i16 0, i16 0, i16 3557, i16 0, i16 5430, i16 6098, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11331, i16 0, i16 11332, i16 0, i16 11333, i16 0, i16 11334, i16 11335, i16 0, i16 6099, i16 0, i16 8772, i16 8773, i16 4542, i16 0, i16 8776, i16 4541, i16 8774, i16 0, i16 8775, i16 0, i16 0, i16 8777, i16 8778, i16 0, i16 8779, i16 0, i16 0, i16 2633, i16 0, i16 4545, i16 0, i16 4543, i16 4533, i16 1495, i16 0, i16 4544, i16 0, i16 4548, i16 4547, i16 4549, i16 4546, i16 0, i16 9798, i16 0, i16 0, i16 0, i16 9799, i16 9800, i16 9801, i16 0, i16 3656, i16 9802, i16 9803, i16 5194, i16 0, i16 2338, i16 0, i16 9804, i16 0, i16 9805, i16 0, i16 0, i16 5190, i16 5195, i16 9806, i16 0, i16 915, i16 9807, i16 0, i16 9808, i16 0, i16 9809, i16 0, i16 0, i16 2122, i16 6364, i16 11773, i16 11774, i16 0, i16 11775, i16 0, i16 11776, i16 11777, i16 1666, i16 3724, i16 6365, i16 11778, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11779, i16 0, i16 11780, i16 11781, i16 0, i16 6366, i16 3126, i16 6367, i16 11782, i16 6375, i16 0, i16 11783, i16 0, i16 0, i16 1355, i16 1412, i16 5657, i16 0, i16 0, i16 10668, i16 10669, i16 0, i16 3209, i16 0, i16 2227, i16 0, i16 3393, i16 0, i16 10670, i16 5658, i16 0, i16 3584, i16 0, i16 10671, i16 2991, i16 0, i16 2381, i16 2927, i16 0, i16 0, i16 2012, i16 0, i16 0, i16 10672, i16 777, i16 0, i16 13131, i16 0, i16 13132, i16 13133, i16 13134, i16 13135, i16 13136, i16 0, i16 0, i16 7078, i16 5519, i16 0, i16 0, i16 6400, i16 6795, i16 0, i16 0, i16 7079, i16 13137, i16 7080, i16 13138, i16 13139, i16 13140, i16 13141, i16 0, i16 13142, i16 0, i16 0, i16 13143, i16 13144, i16 7082, i16 0, i16 12365, i16 0, i16 12366, i16 12367, i16 0, i16 12368, i16 1054, i16 12369, i16 12375, i16 0, i16 12370, i16 6638, i16 6639, i16 2660, i16 0, i16 6637, i16 0, i16 0, i16 0, i16 12371, i16 12372, i16 12373, i16 0, i16 0, i16 6641, i16 12374, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1872, i16 4600, i16 8835, i16 8836, i16 0, i16 0, i16 1835, i16 4601, i16 781, i16 8837, i16 8838, i16 4596, i16 8839, i16 0, i16 0, i16 8840, i16 2634, i16 0, i16 8841, i16 0, i16 0, i16 8842, i16 0, i16 8843, i16 1298, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1329, i16 0, i16 1618, i16 1119, i16 0, i16 0, i16 0, i16 0, i16 9199, i16 9198, i16 4803, i16 1111, i16 4809, i16 9200, i16 9201, i16 0, i16 9202, i16 9203, i16 9204, i16 4806, i16 9205, i16 2332, i16 0, i16 0, i16 0, i16 1070, i16 1697, i16 0, i16 9206, i16 1069, i16 1732, i16 0, i16 9207, i16 0, i16 6996, i16 12990, i16 12991, i16 6993, i16 12988, i16 6999, i16 12992, i16 7000, i16 0, i16 12993, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7005, i16 7004, i16 0, i16 12994, i16 12995, i16 0, i16 0, i16 0, i16 0, i16 7006, i16 0, i16 0, i16 852, i16 7001, i16 7002, i16 12996, i16 0, i16 4182, i16 2908, i16 3063, i16 3426, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2912, i16 8220, i16 8221, i16 4191, i16 8222, i16 0, i16 0, i16 0, i16 8223, i16 1239, i16 0, i16 8224, i16 3508, i16 8225, i16 0, i16 3392, i16 0, i16 4286, i16 0, i16 4183, i16 0, i16 8226, i16 0, i16 1880, i16 0, i16 0, i16 0, i16 5494, i16 5489, i16 10378, i16 10379, i16 10380, i16 5495, i16 5490, i16 10381, i16 0, i16 10382, i16 0, i16 3057, i16 5488, i16 10383, i16 10384, i16 5491, i16 10385, i16 10386, i16 0, i16 0, i16 0, i16 5498, i16 10388, i16 0, i16 0, i16 0, i16 10389, i16 0, i16 9560, i16 0, i16 5043, i16 5045, i16 9561, i16 865, i16 9562, i16 0, i16 1623, i16 3677, i16 0, i16 1056, i16 0, i16 3161, i16 9563, i16 9564, i16 0, i16 0, i16 0, i16 3536, i16 0, i16 0, i16 1031, i16 2182, i16 5047, i16 0, i16 0, i16 9565, i16 0, i16 0, i16 0, i16 0, i16 12376, i16 0, i16 6647, i16 12377, i16 12378, i16 12379, i16 12380, i16 6650, i16 12381, i16 12382, i16 12383, i16 12384, i16 12385, i16 0, i16 0, i16 6649, i16 2732, i16 0, i16 12386, i16 0, i16 0, i16 6642, i16 6643, i16 6646, i16 12387, i16 0, i16 0, i16 12388, i16 6648, i16 12389, i16 12390, i16 0, i16 11868, i16 0, i16 0, i16 11869, i16 11870, i16 11871, i16 0, i16 6425, i16 6426, i16 3528, i16 11872, i16 0, i16 0, i16 0, i16 2820, i16 6430, i16 11873, i16 0, i16 0, i16 11874, i16 0, i16 11875, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6428, i16 6429, i16 6431, i16 0, i16 12126, i16 2216, i16 6569, i16 12127, i16 6570, i16 0, i16 12128, i16 0, i16 6571, i16 3550, i16 0, i16 1990, i16 12129, i16 0, i16 0, i16 0, i16 0, i16 6573, i16 6572, i16 12130, i16 1649, i16 0, i16 1674, i16 1811, i16 12131, i16 12132, i16 12133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4703, i16 9033, i16 4701, i16 4704, i16 3590, i16 4702, i16 0, i16 9034, i16 9035, i16 0, i16 2340, i16 4705, i16 0, i16 9036, i16 2455, i16 9037, i16 0, i16 4706, i16 0, i16 9038, i16 0, i16 9039, i16 1211, i16 9040, i16 4708, i16 0, i16 4707, i16 0, i16 0, i16 0, i16 9041, i16 0, i16 11104, i16 11105, i16 5986, i16 0, i16 0, i16 0, i16 0, i16 826, i16 0, i16 0, i16 5977, i16 11106, i16 11107, i16 11108, i16 5976, i16 11109, i16 5971, i16 5970, i16 11110, i16 5968, i16 5967, i16 2598, i16 11111, i16 2528, i16 5973, i16 11112, i16 0, i16 11113, i16 11114, i16 0, i16 0, i16 0, i16 11364, i16 0, i16 6107, i16 2941, i16 0, i16 11365, i16 11366, i16 11367, i16 6108, i16 6109, i16 6119, i16 0, i16 11368, i16 0, i16 6113, i16 6116, i16 11369, i16 0, i16 11370, i16 11371, i16 11372, i16 6112, i16 11373, i16 11374, i16 11375, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11376, i16 0, i16 12134, i16 6576, i16 12135, i16 0, i16 12136, i16 12137, i16 2037, i16 0, i16 6575, i16 12138, i16 6574, i16 0, i16 2510, i16 12139, i16 0, i16 1576, i16 12140, i16 2284, i16 12141, i16 12142, i16 12143, i16 0, i16 3017, i16 12144, i16 0, i16 0, i16 0, i16 1992, i16 0, i16 12145, i16 0, i16 0, i16 4458, i16 8665, i16 4461, i16 4463, i16 0, i16 8666, i16 0, i16 8667, i16 1902, i16 8668, i16 4469, i16 2705, i16 4459, i16 8669, i16 0, i16 0, i16 8670, i16 4467, i16 8671, i16 1022, i16 8672, i16 4465, i16 4466, i16 8673, i16 0, i16 4462, i16 4464, i16 0, i16 8674, i16 8675, i16 1568, i16 0, i16 7018, i16 7024, i16 13030, i16 7017, i16 0, i16 7022, i16 13031, i16 0, i16 13032, i16 13033, i16 0, i16 0, i16 0, i16 0, i16 7023, i16 0, i16 0, i16 0, i16 7026, i16 13034, i16 13035, i16 13036, i16 13037, i16 0, i16 7025, i16 13038, i16 0, i16 0, i16 0, i16 13039, i16 13040, i16 0, i16 10858, i16 10859, i16 5804, i16 1421, i16 0, i16 10860, i16 0, i16 2345, i16 1248, i16 10861, i16 0, i16 0, i16 10862, i16 5808, i16 5805, i16 0, i16 0, i16 5806, i16 0, i16 10863, i16 0, i16 5809, i16 0, i16 5810, i16 5807, i16 0, i16 0, i16 10864, i16 848, i16 0, i16 10865, i16 0, i16 3180, i16 2325, i16 0, i16 1918, i16 4261, i16 2074, i16 4262, i16 4263, i16 796, i16 2463, i16 2205, i16 8379, i16 4264, i16 2832, i16 2075, i16 0, i16 2076, i16 0, i16 4265, i16 0, i16 0, i16 2326, i16 8380, i16 0, i16 0, i16 2077, i16 0, i16 0, i16 0, i16 8381, i16 8382, i16 0, i16 12400, i16 12401, i16 6655, i16 12402, i16 0, i16 0, i16 6656, i16 12403, i16 12404, i16 0, i16 0, i16 0, i16 12405, i16 12406, i16 12407, i16 6657, i16 0, i16 0, i16 6654, i16 6653, i16 12408, i16 12409, i16 12410, i16 2127, i16 2823, i16 6652, i16 0, i16 0, i16 0, i16 0, i16 12411, i16 0, i16 8562, i16 8563, i16 8564, i16 8565, i16 3456, i16 1522, i16 1541, i16 8566, i16 4392, i16 0, i16 8567, i16 8568, i16 4393, i16 8569, i16 4399, i16 8570, i16 1942, i16 0, i16 0, i16 8571, i16 2630, i16 8572, i16 1324, i16 4394, i16 0, i16 0, i16 8573, i16 3106, i16 8574, i16 2569, i16 8575, i16 0, i16 12146, i16 6577, i16 0, i16 2124, i16 0, i16 12147, i16 0, i16 12148, i16 0, i16 6580, i16 6578, i16 12149, i16 12150, i16 12151, i16 6579, i16 12152, i16 12153, i16 12154, i16 12155, i16 6582, i16 6581, i16 12156, i16 0, i16 2151, i16 0, i16 6583, i16 12157, i16 12158, i16 12159, i16 0, i16 12160, i16 0, i16 3960, i16 7810, i16 1256, i16 1065, i16 0, i16 0, i16 0, i16 1662, i16 1255, i16 2688, i16 844, i16 2830, i16 3407, i16 1592, i16 3560, i16 2758, i16 1591, i16 0, i16 7811, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7812, i16 1418, i16 0, i16 3969, i16 0, i16 1376, i16 0, i16 3705, i16 11299, i16 0, i16 0, i16 0, i16 0, i16 11300, i16 0, i16 6080, i16 11301, i16 11302, i16 0, i16 3556, i16 11303, i16 6082, i16 6084, i16 0, i16 0, i16 0, i16 0, i16 6085, i16 0, i16 0, i16 11305, i16 0, i16 11306, i16 0, i16 6088, i16 6086, i16 0, i16 11307, i16 0, i16 10363, i16 0, i16 5484, i16 10367, i16 0, i16 0, i16 3232, i16 10368, i16 2306, i16 5486, i16 0, i16 10369, i16 10370, i16 0, i16 5487, i16 10371, i16 10372, i16 10373, i16 10374, i16 0, i16 5485, i16 0, i16 0, i16 0, i16 0, i16 1073, i16 10375, i16 5493, i16 10376, i16 5492, i16 10377, i16 0, i16 12670, i16 1233, i16 12671, i16 0, i16 12672, i16 12673, i16 12674, i16 0, i16 6823, i16 12675, i16 6824, i16 0, i16 3910, i16 4959, i16 3052, i16 0, i16 0, i16 836, i16 12676, i16 772, i16 0, i16 12677, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1863, i16 3299, i16 2155, i16 0, i16 0, i16 1408, i16 6500, i16 6501, i16 6502, i16 11984, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8328, i16 2139, i16 0, i16 0, i16 8329, i16 0, i16 0, i16 0, i16 0, i16 4225, i16 0, i16 2685, i16 8330, i16 0, i16 0, i16 876, i16 0, i16 4223, i16 0, i16 8324, i16 0, i16 4226, i16 0, i16 8331, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4227, i16 0, i16 0, i16 4489, i16 8720, i16 0, i16 0, i16 0, i16 0, i16 4497, i16 4496, i16 0, i16 8721, i16 8722, i16 4501, i16 0, i16 0, i16 0, i16 8723, i16 8724, i16 0, i16 0, i16 4502, i16 8725, i16 8726, i16 8727, i16 0, i16 8728, i16 0, i16 0, i16 4500, i16 4503, i16 4495, i16 4499, i16 0, i16 8076, i16 2221, i16 8077, i16 0, i16 0, i16 0, i16 0, i16 4104, i16 4107, i16 0, i16 1434, i16 8078, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4108, i16 8079, i16 8088, i16 0, i16 8080, i16 0, i16 8081, i16 8082, i16 0, i16 8083, i16 8084, i16 8085, i16 8086, i16 0, i16 12940, i16 0, i16 12941, i16 12942, i16 12943, i16 6973, i16 6971, i16 2544, i16 12944, i16 12945, i16 0, i16 0, i16 0, i16 12946, i16 12947, i16 12948, i16 0, i16 3363, i16 12949, i16 12950, i16 0, i16 12951, i16 3623, i16 12952, i16 0, i16 6975, i16 12953, i16 12960, i16 12954, i16 12955, i16 12956, i16 0, i16 654, i16 7143, i16 7144, i16 7145, i16 7146, i16 7147, i16 7148, i16 7149, i16 7150, i16 7151, i16 7152, i16 7153, i16 0, i16 7154, i16 7155, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 0, i16 1423, i16 6557, i16 0, i16 6558, i16 12078, i16 0, i16 0, i16 3179, i16 0, i16 0, i16 12081, i16 0, i16 1079, i16 0, i16 12082, i16 12083, i16 0, i16 0, i16 0, i16 12084, i16 3496, i16 12080, i16 1340, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2771, i16 12085, i16 12086, i16 0, i16 10127, i16 5350, i16 0, i16 0, i16 10128, i16 5345, i16 5346, i16 0, i16 5349, i16 5348, i16 3100, i16 0, i16 0, i16 2377, i16 2376, i16 10129, i16 1246, i16 10130, i16 10131, i16 5351, i16 10132, i16 0, i16 0, i16 0, i16 10133, i16 5352, i16 0, i16 10134, i16 5353, i16 0, i16 0, i16 0, i16 11407, i16 0, i16 11408, i16 0, i16 6142, i16 0, i16 0, i16 11409, i16 6143, i16 0, i16 0, i16 0, i16 0, i16 11410, i16 11411, i16 0, i16 11412, i16 11413, i16 0, i16 6138, i16 0, i16 0, i16 6140, i16 0, i16 11414, i16 11415, i16 6141, i16 11416, i16 11417, i16 11418, i16 6139, i16 0, i16 5010, i16 5007, i16 3535, i16 0, i16 9507, i16 9508, i16 9509, i16 2657, i16 9510, i16 0, i16 0, i16 2870, i16 5008, i16 0, i16 0, i16 5016, i16 0, i16 5015, i16 1406, i16 9511, i16 9512, i16 946, i16 9513, i16 9514, i16 1712, i16 5009, i16 5011, i16 9515, i16 0, i16 0, i16 9516, i16 0, i16 8851, i16 8852, i16 8853, i16 8854, i16 0, i16 8855, i16 0, i16 0, i16 2447, i16 8856, i16 8857, i16 1790, i16 4606, i16 8858, i16 4608, i16 4604, i16 0, i16 8859, i16 8860, i16 8861, i16 3254, i16 0, i16 2654, i16 8862, i16 0, i16 0, i16 8863, i16 2403, i16 0, i16 0, i16 0, i16 0, i16 11163, i16 0, i16 6002, i16 2839, i16 0, i16 11164, i16 6007, i16 0, i16 0, i16 11165, i16 6004, i16 3291, i16 6010, i16 809, i16 11166, i16 0, i16 11167, i16 0, i16 5998, i16 0, i16 11168, i16 0, i16 0, i16 0, i16 11169, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3228, i16 2651, i16 1687, i16 0, i16 1655, i16 2038, i16 12619, i16 2215, i16 0, i16 12620, i16 0, i16 6801, i16 12622, i16 12623, i16 6800, i16 3505, i16 1193, i16 3051, i16 2873, i16 12624, i16 0, i16 12625, i16 2247, i16 3611, i16 12621, i16 1462, i16 0, i16 12626, i16 0, i16 12627, i16 0, i16 0, i16 4765, i16 0, i16 0, i16 0, i16 9146, i16 4768, i16 9147, i16 9148, i16 2244, i16 0, i16 0, i16 9149, i16 0, i16 3562, i16 786, i16 1749, i16 2465, i16 0, i16 1934, i16 9150, i16 9151, i16 2144, i16 0, i16 0, i16 4771, i16 0, i16 0, i16 2765, i16 9152, i16 4769, i16 2448, i16 0, i16 3230, i16 8167, i16 0, i16 8165, i16 4143, i16 0, i16 2568, i16 8168, i16 0, i16 1018, i16 0, i16 2138, i16 8169, i16 8170, i16 0, i16 8171, i16 4145, i16 8172, i16 4144, i16 8173, i16 1663, i16 8174, i16 4146, i16 4148, i16 4147, i16 8175, i16 0, i16 4150, i16 8176, i16 4139, i16 4152, i16 0, i16 6046, i16 0, i16 0, i16 0, i16 0, i16 11204, i16 0, i16 11205, i16 11206, i16 11207, i16 0, i16 0, i16 6024, i16 0, i16 11208, i16 0, i16 11209, i16 1114, i16 0, i16 11210, i16 0, i16 0, i16 0, i16 2149, i16 6035, i16 11211, i16 6040, i16 2426, i16 11212, i16 11213, i16 6036, i16 0, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 0, i16 6047, i16 11241, i16 11242, i16 11243, i16 11244, i16 2678, i16 11245, i16 0, i16 0, i16 11246, i16 11247, i16 6052, i16 839, i16 0, i16 11248, i16 0, i16 0, i16 11229, i16 11249, i16 11250, i16 2439, i16 11251, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3224, i16 0, i16 11252, i16 0, i16 9892, i16 1333, i16 5243, i16 5245, i16 0, i16 5244, i16 9893, i16 0, i16 9894, i16 0, i16 0, i16 9895, i16 0, i16 5246, i16 0, i16 1546, i16 0, i16 5247, i16 0, i16 0, i16 9896, i16 9897, i16 1382, i16 9898, i16 2375, i16 0, i16 1684, i16 0, i16 0, i16 0, i16 9899, i16 0, i16 10918, i16 0, i16 0, i16 5849, i16 5851, i16 5850, i16 3006, i16 10919, i16 2902, i16 0, i16 3689, i16 3010, i16 0, i16 10920, i16 0, i16 0, i16 0, i16 0, i16 5853, i16 0, i16 0, i16 2112, i16 0, i16 3105, i16 0, i16 5854, i16 5852, i16 10921, i16 1167, i16 10922, i16 0, i16 0, i16 7848, i16 3986, i16 0, i16 3995, i16 3988, i16 7849, i16 7850, i16 3992, i16 7851, i16 7852, i16 3993, i16 3989, i16 7853, i16 7854, i16 4022, i16 0, i16 7855, i16 1758, i16 1044, i16 0, i16 0, i16 0, i16 7856, i16 3987, i16 7857, i16 7858, i16 7859, i16 3997, i16 831, i16 3996, i16 7860, i16 0, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 458, i16 459, i16 460, i16 461, i16 0, i16 3248, i16 8554, i16 4385, i16 3673, i16 0, i16 8555, i16 8556, i16 8557, i16 4386, i16 3221, i16 4389, i16 3711, i16 3727, i16 8558, i16 1889, i16 2898, i16 4390, i16 0, i16 1276, i16 2629, i16 835, i16 4391, i16 3195, i16 1607, i16 8559, i16 0, i16 2579, i16 8560, i16 8561, i16 0, i16 2704, i16 0, i16 3000, i16 0, i16 12729, i16 2481, i16 895, i16 1387, i16 0, i16 1388, i16 12730, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2614, i16 6858, i16 1389, i16 12731, i16 12732, i16 1012, i16 0, i16 0, i16 6857, i16 12733, i16 12734, i16 6855, i16 12735, i16 6856, i16 12736, i16 6854, i16 0, i16 3513, i16 4657, i16 0, i16 8965, i16 4653, i16 0, i16 4654, i16 0, i16 8966, i16 8967, i16 8968, i16 8969, i16 2407, i16 8970, i16 0, i16 8971, i16 8972, i16 4652, i16 0, i16 4587, i16 8973, i16 0, i16 8974, i16 4656, i16 0, i16 4651, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6334, i16 11726, i16 11727, i16 11728, i16 11729, i16 11730, i16 0, i16 11731, i16 6338, i16 0, i16 0, i16 6335, i16 11736, i16 6337, i16 6336, i16 0, i16 0, i16 11732, i16 11733, i16 11734, i16 0, i16 6339, i16 0, i16 1890, i16 11735, i16 6341, i16 6340, i16 3167, i16 0, i16 11737, i16 6343, i16 0, i16 11198, i16 6026, i16 0, i16 6021, i16 11199, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2114, i16 0, i16 0, i16 0, i16 0, i16 1982, i16 0, i16 11200, i16 11201, i16 1885, i16 11202, i16 0, i16 0, i16 0, i16 3433, i16 0, i16 0, i16 3134, i16 0, i16 11203, i16 6037, i16 0, i16 6591, i16 0, i16 2689, i16 12170, i16 12171, i16 3336, i16 1401, i16 0, i16 12172, i16 12173, i16 0, i16 12174, i16 12175, i16 12176, i16 12177, i16 12178, i16 12179, i16 0, i16 0, i16 0, i16 6594, i16 6595, i16 12180, i16 0, i16 12181, i16 0, i16 12182, i16 6593, i16 12183, i16 0, i16 6597, i16 0, i16 3009, i16 4355, i16 3219, i16 4356, i16 0, i16 0, i16 0, i16 8521, i16 0, i16 8522, i16 8523, i16 8524, i16 8525, i16 8526, i16 0, i16 8527, i16 0, i16 1140, i16 3220, i16 2922, i16 4358, i16 4359, i16 0, i16 1603, i16 1141, i16 4360, i16 1521, i16 3507, i16 3480, i16 1207, i16 4362, i16 0, i16 3526, i16 0, i16 6257, i16 0, i16 0, i16 3193, i16 2945, i16 6258, i16 11600, i16 6259, i16 1508, i16 0, i16 11601, i16 0, i16 1227, i16 11602, i16 0, i16 0, i16 6260, i16 11603, i16 11604, i16 1854, i16 2940, i16 6261, i16 0, i16 1075, i16 11605, i16 11606, i16 0, i16 0, i16 11607, i16 0, i16 3783, i16 7516, i16 3268, i16 2576, i16 3779, i16 1484, i16 7517, i16 3776, i16 3784, i16 3778, i16 3614, i16 3785, i16 3692, i16 7518, i16 0, i16 7519, i16 0, i16 7520, i16 7521, i16 0, i16 7522, i16 1379, i16 0, i16 0, i16 1483, i16 0, i16 7546, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9159, i16 0, i16 0, i16 9160, i16 4783, i16 0, i16 3091, i16 0, i16 4774, i16 0, i16 4780, i16 4779, i16 0, i16 9161, i16 9162, i16 2296, i16 9163, i16 0, i16 9164, i16 0, i16 3360, i16 9165, i16 3616, i16 9166, i16 9167, i16 3354, i16 9168, i16 977, i16 1841, i16 0, i16 0, i16 0, i16 7112, i16 302, i16 303, i16 7120, i16 0, i16 7113, i16 309, i16 236, i16 7117, i16 7116, i16 0, i16 340, i16 0, i16 7118, i16 7106, i16 296, i16 283, i16 0, i16 0, i16 234, i16 0, i16 367, i16 0, i16 7103, i16 0, i16 7115, i16 0, i16 0, i16 0, i16 0, i16 7114, i16 0, i16 8138, i16 4127, i16 0, i16 8139, i16 0, i16 0, i16 8140, i16 8141, i16 925, i16 0, i16 2741, i16 0, i16 0, i16 0, i16 0, i16 4129, i16 0, i16 4125, i16 0, i16 0, i16 2203, i16 0, i16 0, i16 8142, i16 4133, i16 0, i16 0, i16 8143, i16 0, i16 2013, i16 8144, i16 0, i16 972, i16 4211, i16 0, i16 8307, i16 0, i16 8308, i16 0, i16 8309, i16 1900, i16 0, i16 4210, i16 1492, i16 0, i16 0, i16 8310, i16 4224, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4217, i16 4214, i16 0, i16 0, i16 8311, i16 0, i16 8312, i16 0, i16 0, i16 0, i16 0, i16 6865, i16 12747, i16 12748, i16 12749, i16 6867, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12750, i16 12751, i16 0, i16 1234, i16 6866, i16 12752, i16 12753, i16 2434, i16 1516, i16 0, i16 0, i16 12754, i16 0, i16 0, i16 6869, i16 0, i16 0, i16 0, i16 0, i16 12755, i16 0, i16 0, i16 10449, i16 0, i16 0, i16 0, i16 0, i16 1305, i16 5518, i16 10450, i16 10451, i16 5520, i16 10452, i16 0, i16 0, i16 5521, i16 10453, i16 2916, i16 10454, i16 0, i16 5522, i16 10455, i16 0, i16 0, i16 0, i16 10456, i16 5523, i16 5524, i16 10457, i16 0, i16 1366, i16 984, i16 2850, i16 0, i16 9683, i16 9684, i16 0, i16 2032, i16 0, i16 5139, i16 0, i16 9685, i16 0, i16 0, i16 0, i16 9686, i16 5132, i16 2637, i16 5129, i16 2682, i16 0, i16 0, i16 0, i16 5164, i16 0, i16 0, i16 0, i16 5126, i16 0, i16 5125, i16 0, i16 5134, i16 9687, i16 9688, i16 0, i16 0, i16 12499, i16 840, i16 2211, i16 2059, i16 1178, i16 6721, i16 0, i16 0, i16 0, i16 2977, i16 0, i16 6723, i16 0, i16 12500, i16 0, i16 841, i16 0, i16 6722, i16 2661, i16 12501, i16 3610, i16 2824, i16 6716, i16 3571, i16 0, i16 1514, i16 12502, i16 12503, i16 3530, i16 12504, i16 12505, i16 0, i16 6357, i16 0, i16 0, i16 0, i16 11760, i16 2819, i16 11761, i16 6359, i16 11762, i16 3296, i16 11763, i16 6360, i16 0, i16 6361, i16 11764, i16 6362, i16 11765, i16 0, i16 11766, i16 11767, i16 6363, i16 0, i16 11768, i16 11769, i16 11772, i16 2871, i16 11770, i16 0, i16 11771, i16 0, i16 0, i16 0, i16 11480, i16 0, i16 11481, i16 0, i16 6158, i16 11482, i16 0, i16 0, i16 11483, i16 11484, i16 11485, i16 0, i16 6178, i16 6182, i16 6177, i16 11486, i16 6184, i16 11488, i16 11489, i16 11490, i16 6186, i16 6185, i16 0, i16 11491, i16 11487, i16 11492, i16 11493, i16 11494, i16 0, i16 11495, i16 11496, i16 0, i16 12506, i16 12507, i16 12508, i16 12509, i16 1398, i16 3585, i16 0, i16 1411, i16 12510, i16 2503, i16 5873, i16 0, i16 6724, i16 1039, i16 2234, i16 0, i16 12511, i16 0, i16 0, i16 1081, i16 6726, i16 12512, i16 6727, i16 6725, i16 1471, i16 12513, i16 1746, i16 2128, i16 12514, i16 0, i16 12515, i16 0, i16 3548, i16 773, i16 5703, i16 0, i16 10730, i16 1290, i16 10731, i16 5700, i16 0, i16 10732, i16 0, i16 0, i16 0, i16 5701, i16 0, i16 10733, i16 2812, i16 5699, i16 5696, i16 0, i16 1035, i16 2317, i16 0, i16 10734, i16 1505, i16 10735, i16 10736, i16 0, i16 5708, i16 0, i16 10737, i16 0, i16 13021, i16 0, i16 0, i16 7014, i16 0, i16 0, i16 0, i16 0, i16 7015, i16 13022, i16 7010, i16 13023, i16 0, i16 13024, i16 6990, i16 0, i16 13025, i16 7016, i16 0, i16 2690, i16 13026, i16 0, i16 0, i16 7020, i16 13027, i16 7021, i16 7019, i16 13028, i16 0, i16 0, i16 13029, i16 0, i16 9187, i16 4794, i16 0, i16 4791, i16 0, i16 9188, i16 4799, i16 0, i16 4789, i16 0, i16 0, i16 4787, i16 0, i16 4795, i16 4785, i16 9189, i16 2607, i16 9190, i16 3465, i16 1911, i16 1769, i16 9191, i16 9192, i16 0, i16 9176, i16 0, i16 1711, i16 0, i16 0, i16 3362, i16 1060, i16 0, i16 3044, i16 0, i16 5746, i16 10797, i16 10798, i16 5741, i16 10799, i16 0, i16 0, i16 2344, i16 1453, i16 0, i16 1978, i16 10800, i16 0, i16 10801, i16 0, i16 10802, i16 0, i16 2160, i16 2365, i16 5752, i16 0, i16 10803, i16 5754, i16 5755, i16 0, i16 0, i16 5751, i16 5753, i16 10804, i16 0, i16 231, i16 0, i16 305, i16 301, i16 304, i16 306, i16 0, i16 263, i16 264, i16 307, i16 281, i16 225, i16 0, i16 226, i16 252, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 228, i16 229, i16 288, i16 286, i16 289, i16 230, i16 0, i16 3568, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11549, i16 6229, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11550, i16 11551, i16 11552, i16 6230, i16 2117, i16 6228, i16 11553, i16 0, i16 11554, i16 3542, i16 6225, i16 0, i16 0, i16 6227, i16 2278, i16 2249, i16 0, i16 0, i16 3824, i16 0, i16 7611, i16 0, i16 0, i16 0, i16 7612, i16 7613, i16 0, i16 3476, i16 0, i16 7614, i16 7615, i16 0, i16 7616, i16 0, i16 7617, i16 3434, i16 7618, i16 7619, i16 7620, i16 0, i16 3826, i16 7621, i16 7622, i16 3825, i16 3828, i16 3827, i16 0, i16 0, i16 3829, i16 0, i16 8177, i16 8178, i16 0, i16 4151, i16 4149, i16 0, i16 0, i16 0, i16 8179, i16 0, i16 1825, i16 2204, i16 0, i16 2395, i16 4153, i16 2277, i16 822, i16 2975, i16 8180, i16 0, i16 0, i16 0, i16 2684, i16 0, i16 4155, i16 4154, i16 4156, i16 4157, i16 4158, i16 0, i16 0, i16 0, i16 7922, i16 0, i16 7923, i16 4038, i16 4036, i16 7924, i16 4093, i16 0, i16 7925, i16 0, i16 7926, i16 7927, i16 0, i16 7928, i16 0, i16 0, i16 7929, i16 7930, i16 7931, i16 4041, i16 0, i16 0, i16 7932, i16 7933, i16 0, i16 4035, i16 7934, i16 4039, i16 0, i16 7935, i16 4037, i16 0, i16 8434, i16 0, i16 0, i16 0, i16 0, i16 8435, i16 2237, i16 0, i16 0, i16 0, i16 4302, i16 0, i16 8436, i16 1759, i16 0, i16 0, i16 4308, i16 8437, i16 0, i16 4309, i16 4303, i16 1046, i16 4304, i16 4313, i16 4312, i16 4311, i16 4307, i16 0, i16 0, i16 0, i16 4306, i16 0, i16 10738, i16 10739, i16 10740, i16 0, i16 10741, i16 10742, i16 0, i16 10743, i16 5705, i16 0, i16 10744, i16 10745, i16 10746, i16 0, i16 5707, i16 0, i16 10747, i16 0, i16 5704, i16 0, i16 0, i16 10748, i16 10749, i16 0, i16 1452, i16 2456, i16 5709, i16 2421, i16 10750, i16 10751, i16 5722, i16 0, i16 10227, i16 5421, i16 2961, i16 0, i16 10228, i16 3346, i16 0, i16 885, i16 10229, i16 894, i16 10230, i16 10231, i16 5422, i16 10232, i16 0, i16 0, i16 0, i16 5424, i16 0, i16 10233, i16 0, i16 5423, i16 2799, i16 0, i16 10234, i16 0, i16 2274, i16 4957, i16 0, i16 5425, i16 3410, i16 0, i16 9460, i16 0, i16 9461, i16 0, i16 0, i16 9462, i16 9463, i16 0, i16 0, i16 0, i16 4993, i16 4992, i16 0, i16 9464, i16 4995, i16 0, i16 9465, i16 0, i16 4994, i16 0, i16 0, i16 0, i16 9466, i16 0, i16 9467, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9468, i16 0, i16 5109, i16 0, i16 0, i16 0, i16 1156, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9674, i16 0, i16 9675, i16 9676, i16 9677, i16 1476, i16 0, i16 0, i16 9678, i16 5135, i16 9679, i16 9680, i16 5130, i16 2337, i16 9681, i16 9682, i16 1094, i16 0, i16 4855, i16 4834, i16 4854, i16 0, i16 4847, i16 4835, i16 0, i16 4851, i16 0, i16 4852, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4869, i16 9275, i16 0, i16 9276, i16 2859, i16 9277, i16 4842, i16 0, i16 9278, i16 4865, i16 0, i16 9279, i16 0, i16 4867, i16 0, i16 2681, i16 0, i16 3579, i16 0, i16 0, i16 2145, i16 2334, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9557, i16 0, i16 5048, i16 5046, i16 0, i16 3140, i16 0, i16 9558, i16 9559, i16 0, i16 8956, i16 0, i16 8957, i16 2736, i16 4647, i16 8958, i16 0, i16 8959, i16 4648, i16 0, i16 3174, i16 8960, i16 2944, i16 1782, i16 0, i16 2330, i16 0, i16 3331, i16 8961, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1068, i16 0, i16 4655, i16 4650, i16 8962, i16 8963, i16 8964, i16 0, i16 8190, i16 3397, i16 8191, i16 8192, i16 4164, i16 0, i16 2508, i16 8193, i16 2742, i16 2469, i16 3150, i16 4165, i16 4166, i16 930, i16 8194, i16 8195, i16 1899, i16 4167, i16 8196, i16 0, i16 8197, i16 8198, i16 793, i16 4168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4169, i16 8199, i16 0, i16 12543, i16 12544, i16 12545, i16 6755, i16 0, i16 0, i16 3401, i16 12546, i16 0, i16 6756, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6757, i16 12547, i16 3669, i16 12548, i16 0, i16 0, i16 0, i16 0, i16 4761, i16 6758, i16 0, i16 0, i16 0, i16 6759, i16 6760, i16 0, i16 11520, i16 1644, i16 6199, i16 810, i16 11521, i16 0, i16 0, i16 0, i16 3124, i16 11522, i16 0, i16 6200, i16 0, i16 0, i16 0, i16 0, i16 2229, i16 11523, i16 6207, i16 0, i16 0, i16 6204, i16 0, i16 2610, i16 0, i16 11524, i16 0, i16 11525, i16 0, i16 6205, i16 6202, i16 1371, i16 5889, i16 0, i16 10986, i16 5892, i16 5891, i16 0, i16 0, i16 0, i16 3319, i16 5895, i16 0, i16 0, i16 0, i16 0, i16 10987, i16 0, i16 5896, i16 0, i16 10988, i16 2366, i16 10989, i16 5897, i16 0, i16 0, i16 5899, i16 0, i16 5903, i16 10990, i16 0, i16 5900, i16 5898, i16 2938, i16 6145, i16 11425, i16 0, i16 6156, i16 11426, i16 11427, i16 993, i16 0, i16 6152, i16 0, i16 6157, i16 0, i16 0, i16 0, i16 6153, i16 11428, i16 0, i16 11429, i16 11430, i16 0, i16 6150, i16 0, i16 2644, i16 0, i16 6147, i16 0, i16 0, i16 11431, i16 0, i16 0, i16 0, i16 2979, i16 11265, i16 11266, i16 11267, i16 6058, i16 11268, i16 0, i16 0, i16 0, i16 3706, i16 2815, i16 3178, i16 11269, i16 0, i16 6071, i16 0, i16 11270, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6077, i16 0, i16 11271, i16 11272, i16 11273, i16 0, i16 11274, i16 6078, i16 11275, i16 12802, i16 0, i16 6898, i16 6899, i16 12803, i16 12804, i16 6900, i16 12805, i16 0, i16 12806, i16 3018, i16 6902, i16 12807, i16 3101, i16 6903, i16 6901, i16 0, i16 6905, i16 12808, i16 12809, i16 6904, i16 12810, i16 0, i16 6906, i16 0, i16 12811, i16 12812, i16 6907, i16 0, i16 12813, i16 0, i16 12814, i16 4611, i16 0, i16 8875, i16 2404, i16 8876, i16 0, i16 0, i16 8877, i16 1961, i16 4616, i16 8878, i16 0, i16 2085, i16 0, i16 4610, i16 4615, i16 8879, i16 0, i16 2958, i16 0, i16 8880, i16 8881, i16 4609, i16 0, i16 1404, i16 8882, i16 8883, i16 1088, i16 0, i16 0, i16 8884, i16 4617, i16 4100, i16 0, i16 1753, i16 0, i16 0, i16 8052, i16 8053, i16 1358, i16 0, i16 0, i16 3306, i16 0, i16 8054, i16 8055, i16 4098, i16 4101, i16 1718, i16 1594, i16 8056, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9732, i16 0, i16 0, i16 9733, i16 0, i16 0, i16 2616, i16 2514, i16 0, i16 0, i16 0, i16 0, i16 2254, i16 0, i16 0, i16 9734, i16 5168, i16 0, i16 5170, i16 0, i16 9735, i16 0, i16 0, i16 9736, i16 0, i16 9737, i16 0, i16 0, i16 9738, i16 0, i16 5169, i16 0, i16 10244, i16 2103, i16 0, i16 0, i16 5434, i16 0, i16 10245, i16 5433, i16 5432, i16 3094, i16 10246, i16 1160, i16 1506, i16 0, i16 10247, i16 0, i16 0, i16 0, i16 10248, i16 0, i16 10249, i16 10250, i16 0, i16 10251, i16 0, i16 10252, i16 10253, i16 5440, i16 10254, i16 0, i16 5437, i16 2186, i16 7429, i16 0, i16 0, i16 7447, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3758, i16 7448, i16 0, i16 7449, i16 0, i16 7450, i16 3761, i16 3759, i16 7451, i16 0, i16 967, i16 0, i16 3216, i16 3753, i16 7452, i16 7453, i16 7454, i16 7455, i16 3757, i16 1580, i16 7456, i16 7457, i16 1819, i16 12293, i16 12294, i16 0, i16 12295, i16 2058, i16 12296, i16 0, i16 12297, i16 12298, i16 6620, i16 3252, i16 0, i16 12299, i16 891, i16 12300, i16 0, i16 12301, i16 0, i16 3133, i16 2613, i16 0, i16 0, i16 0, i16 0, i16 1303, i16 12302, i16 6622, i16 12303, i16 1652, i16 0, i16 0, i16 12304, i16 7686, i16 7687, i16 0, i16 1488, i16 1747, i16 2984, i16 7688, i16 0, i16 0, i16 3888, i16 3886, i16 0, i16 0, i16 0, i16 7689, i16 3186, i16 2135, i16 3895, i16 1095, i16 3889, i16 3887, i16 2390, i16 0, i16 7690, i16 7691, i16 7692, i16 0, i16 0, i16 0, i16 3891, i16 0, i16 3890, i16 11526, i16 6201, i16 6208, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1425, i16 0, i16 0, i16 2499, i16 0, i16 6214, i16 0, i16 0, i16 0, i16 0, i16 6210, i16 0, i16 0, i16 0, i16 2458, i16 6209, i16 11527, i16 6212, i16 11528, i16 11529, i16 11530, i16 0, i16 6203, i16 11531, i16 4103, i16 0, i16 0, i16 4114, i16 0, i16 0, i16 4115, i16 8095, i16 8096, i16 0, i16 0, i16 3351, i16 8097, i16 0, i16 2136, i16 8098, i16 0, i16 0, i16 4117, i16 4118, i16 4116, i16 8099, i16 4120, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2931, i16 8100, i16 8101, i16 817, i16 5383, i16 5384, i16 5385, i16 10177, i16 5386, i16 10178, i16 10179, i16 5382, i16 0, i16 10180, i16 0, i16 0, i16 0, i16 10181, i16 0, i16 0, i16 5388, i16 0, i16 10182, i16 10183, i16 5387, i16 10184, i16 0, i16 0, i16 10185, i16 10186, i16 10187, i16 5389, i16 10188, i16 0, i16 0, i16 0, i16 11015, i16 5917, i16 5918, i16 11016, i16 0, i16 5919, i16 0, i16 5920, i16 1338, i16 4660, i16 5921, i16 0, i16 2318, i16 5922, i16 1916, i16 11017, i16 5923, i16 0, i16 3726, i16 11018, i16 11019, i16 0, i16 5924, i16 3251, i16 1181, i16 11020, i16 11021, i16 2347, i16 2023, i16 11022, i16 3176, i16 1981, i16 5128, i16 5127, i16 5133, i16 9689, i16 2250, i16 0, i16 5124, i16 9690, i16 9691, i16 0, i16 0, i16 9692, i16 9693, i16 9694, i16 5136, i16 0, i16 9695, i16 5137, i16 9696, i16 9697, i16 9698, i16 0, i16 9699, i16 1155, i16 0, i16 0, i16 9700, i16 0, i16 0, i16 0, i16 0, i16 9701, i16 8457, i16 8458, i16 8459, i16 0, i16 8460, i16 0, i16 0, i16 0, i16 0, i16 2238, i16 8461, i16 0, i16 4318, i16 8462, i16 0, i16 1708, i16 8463, i16 0, i16 0, i16 4319, i16 0, i16 0, i16 4320, i16 0, i16 0, i16 8464, i16 8465, i16 0, i16 0, i16 0, i16 8466, i16 8467, i16 2314, i16 5617, i16 10602, i16 0, i16 3048, i16 10603, i16 5621, i16 3240, i16 10604, i16 2590, i16 10605, i16 5616, i16 5618, i16 0, i16 0, i16 5619, i16 0, i16 0, i16 0, i16 0, i16 10606, i16 0, i16 10607, i16 10608, i16 0, i16 10609, i16 10610, i16 10611, i16 0, i16 5622, i16 0, i16 0, i16 13066, i16 7038, i16 13067, i16 13068, i16 13069, i16 13070, i16 0, i16 13071, i16 7039, i16 0, i16 0, i16 7040, i16 7041, i16 0, i16 13072, i16 13073, i16 0, i16 7044, i16 7042, i16 3687, i16 0, i16 7043, i16 13074, i16 3644, i16 13075, i16 0, i16 0, i16 13076, i16 0, i16 7045, i16 13077, i16 3624, i16 4363, i16 0, i16 8531, i16 0, i16 8532, i16 8533, i16 2776, i16 1719, i16 8534, i16 0, i16 8535, i16 1540, i16 8536, i16 2702, i16 0, i16 0, i16 0, i16 8537, i16 0, i16 8538, i16 0, i16 780, i16 2045, i16 1606, i16 3510, i16 0, i16 0, i16 0, i16 0, i16 8539, i16 8540, i16 8541, i16 6667, i16 12430, i16 6668, i16 12431, i16 0, i16 0, i16 0, i16 0, i16 12432, i16 0, i16 6670, i16 12433, i16 0, i16 12434, i16 12435, i16 12436, i16 6672, i16 12437, i16 12438, i16 0, i16 0, i16 6673, i16 0, i16 6674, i16 0, i16 0, i16 0, i16 0, i16 6677, i16 6675, i16 6678, i16 6680, i16 2572, i16 9363, i16 0, i16 9364, i16 4930, i16 0, i16 9365, i16 9366, i16 0, i16 9367, i16 0, i16 9368, i16 0, i16 4928, i16 1570, i16 0, i16 4927, i16 9369, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4933, i16 0, i16 0, i16 0, i16 9370, i16 4800, i16 9371, i16 9372, i16 9373, i16 3340, i16 0, i16 2831, i16 8114, i16 8115, i16 1491, i16 2484, i16 0, i16 8116, i16 8117, i16 4119, i16 4122, i16 8119, i16 8120, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2473, i16 0, i16 0, i16 0, i16 4123, i16 0, i16 8121, i16 0, i16 4124, i16 8122, i16 8123, i16 7436, i16 0, i16 7437, i16 2674, i16 0, i16 0, i16 2533, i16 3752, i16 7438, i16 7439, i16 0, i16 7440, i16 7441, i16 789, i16 2692, i16 1994, i16 1705, i16 3475, i16 7442, i16 2483, i16 7443, i16 964, i16 7444, i16 3751, i16 7445, i16 3501, i16 3747, i16 3749, i16 1763, i16 3750, i16 4184, i16 7446, i16 11532, i16 0, i16 6213, i16 0, i16 6215, i16 0, i16 0, i16 0, i16 11533, i16 0, i16 11534, i16 3080, i16 0, i16 0, i16 6211, i16 0, i16 6216, i16 6218, i16 0, i16 0, i16 1548, i16 6206, i16 0, i16 778, i16 0, i16 0, i16 11535, i16 0, i16 0, i16 11536, i16 11537, i16 6217, i16 4109, i16 8087, i16 1595, i16 1059, i16 4111, i16 0, i16 0, i16 8089, i16 8090, i16 8091, i16 4112, i16 0, i16 8092, i16 0, i16 0, i16 0, i16 4113, i16 0, i16 0, i16 4110, i16 0, i16 0, i16 0, i16 0, i16 8093, i16 0, i16 0, i16 0, i16 0, i16 8094, i16 0, i16 0, i16 5901, i16 0, i16 5902, i16 10992, i16 0, i16 10993, i16 951, i16 0, i16 5909, i16 5904, i16 10994, i16 10991, i16 0, i16 5905, i16 10995, i16 10996, i16 0, i16 5906, i16 0, i16 2438, i16 0, i16 10997, i16 0, i16 10998, i16 5908, i16 5907, i16 5910, i16 10999, i16 0, i16 11000, i16 11001, i16 5911, i16 7693, i16 0, i16 7694, i16 1063, i16 0, i16 7695, i16 0, i16 1467, i16 3896, i16 3578, i16 7696, i16 0, i16 7697, i16 3892, i16 0, i16 0, i16 0, i16 3897, i16 3894, i16 7698, i16 3893, i16 7699, i16 7700, i16 7701, i16 7702, i16 0, i16 7703, i16 3612, i16 7704, i16 0, i16 0, i16 1586, i16 10510, i16 5545, i16 5546, i16 2148, i16 0, i16 10511, i16 0, i16 10512, i16 0, i16 5547, i16 10513, i16 1074, i16 0, i16 10514, i16 0, i16 0, i16 5549, i16 0, i16 0, i16 0, i16 1477, i16 10515, i16 1285, i16 0, i16 10516, i16 5550, i16 1394, i16 0, i16 0, i16 5551, i16 10517, i16 2341, i16 2063, i16 1318, i16 0, i16 3924, i16 0, i16 7751, i16 0, i16 7752, i16 7753, i16 7754, i16 3060, i16 7755, i16 7756, i16 7757, i16 0, i16 3925, i16 7758, i16 3926, i16 7759, i16 3927, i16 0, i16 7760, i16 0, i16 0, i16 3928, i16 3099, i16 1381, i16 814, i16 7761, i16 7762, i16 7763, i16 2844, i16 4623, i16 8891, i16 0, i16 2460, i16 4629, i16 8892, i16 4624, i16 0, i16 8893, i16 4626, i16 0, i16 0, i16 0, i16 0, i16 8894, i16 3128, i16 2708, i16 8895, i16 4627, i16 8896, i16 8897, i16 8898, i16 3483, i16 0, i16 0, i16 0, i16 3511, i16 1146, i16 8899, i16 0, i16 0, i16 0, i16 12815, i16 12816, i16 12817, i16 12818, i16 12819, i16 12820, i16 6908, i16 0, i16 12821, i16 12822, i16 0, i16 12823, i16 12824, i16 12825, i16 12826, i16 0, i16 12827, i16 0, i16 12828, i16 0, i16 0, i16 0, i16 12829, i16 0, i16 6909, i16 12830, i16 6910, i16 12831, i16 12832, i16 0, i16 0, i16 6911, i16 5648, i16 0, i16 0, i16 5645, i16 0, i16 0, i16 10645, i16 0, i16 0, i16 0, i16 10646, i16 0, i16 5644, i16 2299, i16 0, i16 5647, i16 5649, i16 10648, i16 10649, i16 10650, i16 5646, i16 10647, i16 5653, i16 0, i16 5650, i16 10651, i16 10652, i16 10653, i16 10654, i16 10655, i16 10656, i16 5651, i16 10000, i16 10001, i16 0, i16 1284, i16 10002, i16 5284, i16 3564, i16 10003, i16 0, i16 3581, i16 10004, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10005, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10006, i16 10007, i16 0, i16 0, i16 0, i16 0, i16 1297, i16 1067, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8830, i16 0, i16 1098, i16 2156, i16 4597, i16 4602, i16 0, i16 4598, i16 8831, i16 1496, i16 8832, i16 4603, i16 1781, i16 1664, i16 0, i16 0, i16 0, i16 0, i16 8833, i16 8834, i16 1973, i16 4585, i16 10769, i16 918, i16 0, i16 0, i16 2889, i16 5731, i16 0, i16 0, i16 10781, i16 5738, i16 5732, i16 5739, i16 0, i16 0, i16 0, i16 0, i16 10782, i16 10783, i16 5735, i16 0, i16 0, i16 10784, i16 0, i16 10785, i16 0, i16 0, i16 0, i16 2998, i16 10786, i16 10787, i16 1915, i16 5737, i16 12305, i16 0, i16 12306, i16 0, i16 0, i16 0, i16 1791, i16 0, i16 12307, i16 0, i16 0, i16 0, i16 0, i16 12308, i16 0, i16 6621, i16 2232, i16 12309, i16 0, i16 0, i16 12310, i16 12311, i16 0, i16 0, i16 2233, i16 6625, i16 6627, i16 0, i16 12312, i16 12313, i16 12314, i16 12315, i16 11538, i16 1744, i16 3651, i16 6219, i16 6220, i16 2428, i16 0, i16 0, i16 0, i16 0, i16 11539, i16 11540, i16 11541, i16 11542, i16 11543, i16 3567, i16 0, i16 11544, i16 11545, i16 11546, i16 6221, i16 3492, i16 0, i16 0, i16 6222, i16 6223, i16 0, i16 11547, i16 3257, i16 6224, i16 11548, i16 1717, i16 1299, i16 2766, i16 9602, i16 5080, i16 5089, i16 760, i16 857, i16 9603, i16 0, i16 958, i16 0, i16 5082, i16 2449, i16 5073, i16 5075, i16 1624, i16 0, i16 0, i16 9604, i16 0, i16 0, i16 0, i16 9605, i16 0, i16 5092, i16 9606, i16 5087, i16 9607, i16 9608, i16 0, i16 5079, i16 0, i16 2323, i16 7769, i16 0, i16 7770, i16 0, i16 7771, i16 1424, i16 0, i16 0, i16 3937, i16 0, i16 0, i16 7772, i16 7773, i16 3938, i16 851, i16 830, i16 1198, i16 7774, i16 2445, i16 1264, i16 3552, i16 0, i16 3941, i16 956, i16 7775, i16 0, i16 3940, i16 0, i16 0, i16 7776, i16 1319, i16 7188, i16 7173, i16 7187, i16 7239, i16 7324, i16 7241, i16 7326, i16 7240, i16 7325, i16 7189, i16 7175, i16 7190, i16 7249, i16 7334, i16 0, i16 0, i16 7248, i16 7333, i16 7177, i16 7192, i16 7251, i16 7336, i16 7253, i16 7338, i16 7252, i16 7337, i16 7254, i16 7339, i16 7255, i16 7340, i16 7257, i16 7342, i16 6165, i16 11458, i16 0, i16 0, i16 6169, i16 0, i16 6172, i16 6171, i16 11459, i16 11460, i16 11461, i16 6163, i16 0, i16 0, i16 11462, i16 0, i16 6166, i16 0, i16 6183, i16 0, i16 0, i16 11463, i16 11464, i16 0, i16 0, i16 11465, i16 11466, i16 0, i16 11467, i16 0, i16 0, i16 11468, i16 2582, i16 0, i16 5005, i16 0, i16 0, i16 0, i16 0, i16 9550, i16 5013, i16 0, i16 5006, i16 9499, i16 0, i16 9500, i16 0, i16 9501, i16 2470, i16 0, i16 1281, i16 5014, i16 9502, i16 0, i16 9503, i16 0, i16 9504, i16 9505, i16 1475, i16 9506, i16 0, i16 1220, i16 5012, i16 0, i16 10518, i16 2858, i16 10519, i16 2313, i16 1770, i16 10520, i16 10521, i16 0, i16 5552, i16 0, i16 10522, i16 10523, i16 0, i16 0, i16 0, i16 0, i16 10524, i16 10525, i16 2597, i16 2418, i16 10526, i16 5554, i16 5556, i16 5553, i16 5555, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10527, i16 1405, i16 12054, i16 12055, i16 12056, i16 2878, i16 0, i16 12057, i16 3297, i16 0, i16 6553, i16 0, i16 1930, i16 0, i16 0, i16 0, i16 0, i16 6554, i16 12058, i16 6555, i16 12059, i16 12060, i16 12061, i16 6556, i16 12062, i16 0, i16 2720, i16 0, i16 0, i16 0, i16 0, i16 12063, i16 12065, i16 0, i16 11287, i16 0, i16 11288, i16 0, i16 6066, i16 11289, i16 2349, i16 11290, i16 6070, i16 1786, i16 2192, i16 1419, i16 3461, i16 11304, i16 3466, i16 2049, i16 0, i16 0, i16 0, i16 0, i16 11291, i16 0, i16 11292, i16 11293, i16 11294, i16 6083, i16 6081, i16 0, i16 11295, i16 11296, i16 11297, i16 11298, i16 3864, i16 3345, i16 7657, i16 0, i16 0, i16 7658, i16 2039, i16 2529, i16 0, i16 3866, i16 2881, i16 0, i16 0, i16 3867, i16 7659, i16 0, i16 3868, i16 1041, i16 7660, i16 7661, i16 7662, i16 3869, i16 1316, i16 7663, i16 2857, i16 929, i16 2015, i16 0, i16 0, i16 3002, i16 3870, i16 0, i16 5912, i16 11002, i16 0, i16 2190, i16 11003, i16 1006, i16 0, i16 5913, i16 3620, i16 0, i16 1884, i16 11004, i16 11005, i16 1980, i16 0, i16 0, i16 11006, i16 11007, i16 11008, i16 1853, i16 2586, i16 11009, i16 11010, i16 0, i16 11011, i16 11012, i16 5914, i16 5915, i16 856, i16 11013, i16 5916, i16 11014, i16 6936, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12883, i16 12884, i16 6937, i16 12885, i16 3361, i16 1792, i16 12886, i16 1775, i16 2358, i16 0, i16 12887, i16 12888, i16 12889, i16 0, i16 6938, i16 0, i16 0, i16 12890, i16 12891, i16 6941, i16 0, i16 12892, i16 12893, i16 0, i16 12894, i16 12895, i16 7960, i16 7961, i16 868, i16 7962, i16 7963, i16 0, i16 7964, i16 0, i16 0, i16 7965, i16 0, i16 7966, i16 2368, i16 7967, i16 4049, i16 7968, i16 4050, i16 0, i16 0, i16 0, i16 7969, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1117, i16 0, i16 0, i16 7970, i16 0, i16 2842, i16 1323, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1002, i16 4296, i16 4301, i16 0, i16 0, i16 4299, i16 8430, i16 3276, i16 3275, i16 8431, i16 8432, i16 0, i16 8433, i16 0, i16 2790, i16 0, i16 0, i16 0, i16 4298, i16 2019, i16 0, i16 4297, i16 0, i16 0, i16 12570, i16 6777, i16 0, i16 0, i16 1110, i16 6775, i16 6779, i16 0, i16 0, i16 12571, i16 0, i16 6780, i16 0, i16 785, i16 0, i16 6781, i16 6782, i16 0, i16 0, i16 0, i16 0, i16 12572, i16 12573, i16 12574, i16 2129, i16 12575, i16 12576, i16 0, i16 6783, i16 0, i16 12577, i16 12578, i16 4891, i16 9304, i16 0, i16 0, i16 0, i16 9305, i16 9306, i16 4888, i16 9307, i16 0, i16 0, i16 9308, i16 0, i16 9309, i16 4876, i16 9310, i16 0, i16 4905, i16 4875, i16 0, i16 4894, i16 0, i16 0, i16 9311, i16 9312, i16 0, i16 9313, i16 4886, i16 9314, i16 0, i16 4881, i16 4878, i16 6939, i16 12896, i16 0, i16 0, i16 0, i16 0, i16 6942, i16 12897, i16 12898, i16 1578, i16 6940, i16 0, i16 0, i16 0, i16 12899, i16 6943, i16 12900, i16 6944, i16 6945, i16 0, i16 6949, i16 0, i16 1789, i16 12901, i16 12902, i16 0, i16 0, i16 2505, i16 0, i16 12903, i16 0, i16 12904, i16 7197, i16 7196, i16 7199, i16 7205, i16 7198, i16 7204, i16 7169, i16 7209, i16 7213, i16 7212, i16 7215, i16 7214, i16 7226, i16 7225, i16 7228, i16 7227, i16 0, i16 7242, i16 7244, i16 7243, i16 7246, i16 7250, i16 7245, i16 284, i16 7176, i16 7261, i16 7260, i16 7263, i16 7262, i16 7276, i16 7179, i16 7193, i16 8734, i16 0, i16 3376, i16 1144, i16 0, i16 4514, i16 0, i16 1440, i16 1047, i16 0, i16 0, i16 4511, i16 8735, i16 0, i16 3589, i16 4513, i16 799, i16 4515, i16 8736, i16 4506, i16 4512, i16 4519, i16 1439, i16 4507, i16 8737, i16 0, i16 0, i16 8738, i16 8739, i16 0, i16 3532, i16 8740, i16 287, i16 350, i16 0, i16 0, i16 0, i16 0, i16 290, i16 291, i16 0, i16 0, i16 352, i16 353, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1311, i16 966, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4185, i16 0, i16 3372, i16 3173, i16 1581, i16 0, i16 0, i16 7475, i16 0, i16 0, i16 2170, i16 3588, i16 7476, i16 0, i16 7477, i16 0, i16 7478, i16 7479, i16 7480, i16 7481, i16 3245, i16 5407, i16 10207, i16 0, i16 5408, i16 2729, i16 10208, i16 1034, i16 1627, i16 5409, i16 0, i16 0, i16 5410, i16 10209, i16 10210, i16 5411, i16 0, i16 1788, i16 0, i16 0, i16 5413, i16 0, i16 10211, i16 5412, i16 0, i16 0, i16 5414, i16 5415, i16 10212, i16 10213, i16 10214, i16 0, i16 10215, i16 8479, i16 0, i16 4324, i16 0, i16 0, i16 0, i16 0, i16 8480, i16 0, i16 0, i16 0, i16 8481, i16 4326, i16 0, i16 4327, i16 0, i16 8482, i16 0, i16 12526, i16 0, i16 8483, i16 0, i16 0, i16 4330, i16 8484, i16 8485, i16 3635, i16 0, i16 4331, i16 4328, i16 0, i16 0, i16 11039, i16 0, i16 5936, i16 11040, i16 5935, i16 0, i16 1168, i16 11041, i16 5937, i16 0, i16 5938, i16 5939, i16 0, i16 11042, i16 1702, i16 3606, i16 0, i16 5941, i16 2162, i16 0, i16 11043, i16 0, i16 919, i16 5942, i16 5943, i16 0, i16 0, i16 11044, i16 0, i16 11045, i16 5944, i16 11046, i16 2080, i16 4375, i16 4374, i16 4370, i16 0, i16 8552, i16 0, i16 0, i16 4376, i16 4377, i16 0, i16 8553, i16 4378, i16 0, i16 0, i16 0, i16 4381, i16 4379, i16 0, i16 4380, i16 4382, i16 0, i16 907, i16 2703, i16 4383, i16 0, i16 1493, i16 1019, i16 2929, i16 0, i16 4384, i16 2904, i16 6176, i16 0, i16 11469, i16 11470, i16 11471, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11472, i16 11473, i16 0, i16 11474, i16 0, i16 6174, i16 0, i16 11475, i16 6175, i16 11476, i16 0, i16 0, i16 6180, i16 6181, i16 11477, i16 1037, i16 11478, i16 1249, i16 0, i16 0, i16 6179, i16 11479, i16 6688, i16 12452, i16 1177, i16 1080, i16 1653, i16 3023, i16 12453, i16 6690, i16 6689, i16 12454, i16 0, i16 12455, i16 12456, i16 6691, i16 0, i16 0, i16 0, i16 0, i16 899, i16 0, i16 12457, i16 0, i16 12458, i16 0, i16 0, i16 6694, i16 12459, i16 6693, i16 6692, i16 12460, i16 6695, i16 12461, i16 10528, i16 0, i16 0, i16 10529, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5557, i16 1409, i16 0, i16 10530, i16 0, i16 1286, i16 3521, i16 5559, i16 0, i16 0, i16 10531, i16 0, i16 10532, i16 5560, i16 0, i16 0, i16 10533, i16 853, i16 10534, i16 10535, i16 0, i16 0, i16 5563, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 12833, i16 0, i16 6912, i16 6913, i16 0, i16 6914, i16 12834, i16 6915, i16 6916, i16 6917, i16 6918, i16 12835, i16 0, i16 12836, i16 6919, i16 6920, i16 0, i16 4953, i16 6921, i16 12837, i16 12838, i16 12839, i16 0, i16 12840, i16 0, i16 12841, i16 12842, i16 5678, i16 1235, i16 12843, i16 0, i16 0, i16 4130, i16 0, i16 0, i16 9454, i16 9455, i16 1218, i16 4988, i16 0, i16 0, i16 9456, i16 0, i16 4989, i16 9457, i16 3265, i16 3355, i16 0, i16 0, i16 0, i16 2852, i16 4990, i16 3071, i16 0, i16 9458, i16 0, i16 3092, i16 0, i16 9459, i16 3428, i16 0, i16 0, i16 0, i16 4991, i16 7202, i16 7288, i16 7200, i16 7286, i16 7203, i16 7289, i16 7206, i16 7292, i16 7207, i16 7293, i16 7210, i16 7296, i16 7208, i16 7294, i16 7211, i16 7297, i16 7170, i16 7181, i16 7218, i16 7304, i16 0, i16 0, i16 7217, i16 7303, i16 7219, i16 7305, i16 7216, i16 7302, i16 7220, i16 7307, i16 7221, i16 7308, i16 7971, i16 7972, i16 7973, i16 7974, i16 4057, i16 0, i16 7975, i16 0, i16 1200, i16 7976, i16 4060, i16 4056, i16 4059, i16 7977, i16 0, i16 7978, i16 0, i16 7979, i16 7980, i16 0, i16 3203, i16 7981, i16 0, i16 0, i16 2866, i16 0, i16 3025, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10788, i16 5734, i16 5740, i16 5733, i16 0, i16 0, i16 2003, i16 10789, i16 10790, i16 0, i16 0, i16 3288, i16 10791, i16 10792, i16 2011, i16 10793, i16 0, i16 5736, i16 5748, i16 10794, i16 0, i16 5744, i16 10795, i16 5747, i16 0, i16 5745, i16 5749, i16 5743, i16 0, i16 5717, i16 2300, i16 10796, i16 7717, i16 3904, i16 0, i16 3337, i16 7718, i16 2653, i16 7719, i16 3477, i16 7720, i16 3246, i16 0, i16 0, i16 7721, i16 3905, i16 0, i16 7722, i16 0, i16 7723, i16 6771, i16 0, i16 7724, i16 2829, i16 7725, i16 3906, i16 1131, i16 3396, i16 0, i16 7726, i16 7727, i16 2062, i16 3907, i16 3260, i16 8741, i16 8742, i16 3482, i16 8743, i16 8744, i16 0, i16 0, i16 4522, i16 0, i16 0, i16 4526, i16 8745, i16 0, i16 8746, i16 2437, i16 0, i16 3654, i16 4527, i16 8747, i16 8748, i16 4524, i16 0, i16 4521, i16 8749, i16 8750, i16 4520, i16 4525, i16 0, i16 8751, i16 8752, i16 0, i16 8753, i16 10021, i16 5294, i16 0, i16 10022, i16 10023, i16 0, i16 10024, i16 10025, i16 0, i16 0, i16 0, i16 10026, i16 0, i16 10027, i16 0, i16 0, i16 0, i16 10028, i16 10029, i16 0, i16 0, i16 5290, i16 0, i16 10030, i16 0, i16 5293, i16 1571, i16 884, i16 5295, i16 10031, i16 2235, i16 5292, i16 295, i16 0, i16 294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5671, i16 0, i16 5673, i16 0, i16 10682, i16 5672, i16 0, i16 10683, i16 10684, i16 10685, i16 1547, i16 0, i16 0, i16 10686, i16 2367, i16 10687, i16 0, i16 0, i16 5675, i16 10688, i16 10689, i16 10690, i16 2811, i16 10691, i16 5674, i16 10692, i16 10693, i16 0, i16 5676, i16 10694, i16 3210, i16 2419, i16 10279, i16 2226, i16 10280, i16 2849, i16 10281, i16 5448, i16 3334, i16 10282, i16 5445, i16 0, i16 10283, i16 5446, i16 10284, i16 0, i16 0, i16 0, i16 10285, i16 0, i16 10286, i16 10287, i16 10288, i16 0, i16 0, i16 0, i16 0, i16 5451, i16 10289, i16 0, i16 0, i16 10290, i16 5450, i16 5449, i16 11047, i16 11048, i16 0, i16 11049, i16 11050, i16 0, i16 0, i16 11051, i16 0, i16 11052, i16 11053, i16 827, i16 0, i16 5945, i16 11054, i16 0, i16 0, i16 11055, i16 5946, i16 0, i16 11056, i16 0, i16 11057, i16 0, i16 11058, i16 3166, i16 11059, i16 11060, i16 0, i16 1912, i16 0, i16 5948, i16 2600, i16 0, i16 10266, i16 0, i16 0, i16 10267, i16 10268, i16 5443, i16 0, i16 0, i16 10269, i16 0, i16 0, i16 10270, i16 10271, i16 10272, i16 0, i16 0, i16 10273, i16 0, i16 0, i16 0, i16 10274, i16 10275, i16 0, i16 0, i16 5444, i16 5447, i16 10276, i16 0, i16 10277, i16 10278, i16 3625, i16 0, i16 10032, i16 5298, i16 7098, i16 0, i16 10033, i16 10034, i16 10035, i16 5296, i16 5299, i16 10036, i16 0, i16 10037, i16 10038, i16 5285, i16 5297, i16 10039, i16 10040, i16 1713, i16 0, i16 0, i16 5300, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5301, i16 0, i16 5929, i16 0, i16 0, i16 11029, i16 11030, i16 11031, i16 11032, i16 2715, i16 0, i16 0, i16 0, i16 11033, i16 0, i16 0, i16 11034, i16 11035, i16 0, i16 11036, i16 0, i16 0, i16 0, i16 0, i16 11037, i16 0, i16 5931, i16 5930, i16 5933, i16 0, i16 11038, i16 5932, i16 0, i16 5934, i16 2604, i16 8623, i16 8624, i16 0, i16 4424, i16 0, i16 0, i16 0, i16 8625, i16 8626, i16 8627, i16 1020, i16 8628, i16 8629, i16 8630, i16 8631, i16 4475, i16 4426, i16 8632, i16 8633, i16 0, i16 2923, i16 8634, i16 0, i16 4425, i16 0, i16 8635, i16 4423, i16 8636, i16 1681, i16 0, i16 4429, i16 6444, i16 11900, i16 11901, i16 6446, i16 6443, i16 0, i16 0, i16 0, i16 0, i16 11902, i16 0, i16 0, i16 11903, i16 11904, i16 0, i16 11905, i16 11906, i16 11907, i16 6449, i16 0, i16 1986, i16 0, i16 6448, i16 0, i16 0, i16 11908, i16 11909, i16 11910, i16 6450, i16 0, i16 0, i16 0, i16 11308, i16 0, i16 0, i16 0, i16 2816, i16 6087, i16 11309, i16 0, i16 11310, i16 3046, i16 6074, i16 0, i16 0, i16 11311, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11312, i16 0, i16 0, i16 11313, i16 2050, i16 0, i16 6089, i16 6094, i16 2427, i16 11314, i16 0, i16 6093, i16 11315, i16 8493, i16 2035, i16 0, i16 2410, i16 8494, i16 1600, i16 1709, i16 1601, i16 1295, i16 8495, i16 0, i16 4338, i16 0, i16 0, i16 1710, i16 0, i16 0, i16 1539, i16 4339, i16 3383, i16 2942, i16 4340, i16 0, i16 1602, i16 8496, i16 8497, i16 0, i16 1133, i16 0, i16 2538, i16 1359, i16 0, i16 11566, i16 0, i16 0, i16 0, i16 0, i16 6237, i16 11567, i16 11568, i16 11569, i16 0, i16 6238, i16 6239, i16 0, i16 0, i16 0, i16 0, i16 11570, i16 11571, i16 11572, i16 0, i16 0, i16 11573, i16 6243, i16 0, i16 6244, i16 11574, i16 11575, i16 6242, i16 0, i16 0, i16 11576, i16 0, i16 3377, i16 0, i16 5093, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3015, i16 9629, i16 0, i16 5105, i16 1524, i16 0, i16 0, i16 9630, i16 0, i16 0, i16 2031, i16 0, i16 5095, i16 9631, i16 0, i16 0, i16 3580, i16 1625, i16 0, i16 5108, i16 8498, i16 0, i16 1831, i16 3154, i16 0, i16 0, i16 3034, i16 8499, i16 0, i16 0, i16 0, i16 4341, i16 1206, i16 8500, i16 0, i16 0, i16 0, i16 4344, i16 8501, i16 0, i16 8502, i16 8503, i16 2626, i16 0, i16 8504, i16 4343, i16 4342, i16 4345, i16 0, i16 2700, i16 0, i16 8505, i16 8754, i16 0, i16 0, i16 0, i16 3205, i16 8755, i16 0, i16 2833, i16 8756, i16 1441, i16 8757, i16 4528, i16 4523, i16 8758, i16 4529, i16 0, i16 0, i16 0, i16 1494, i16 0, i16 0, i16 0, i16 950, i16 0, i16 8759, i16 8760, i16 4537, i16 0, i16 8761, i16 0, i16 1145, i16 0, i16 10291, i16 0, i16 0, i16 0, i16 10292, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5453, i16 10293, i16 10294, i16 5452, i16 0, i16 0, i16 5454, i16 0, i16 0, i16 10295, i16 10296, i16 10297, i16 0, i16 0, i16 0, i16 10298, i16 0, i16 0, i16 0, i16 5456, i16 10299, i16 308, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 267, i16 253, i16 268, i16 237, i16 239, i16 11316, i16 0, i16 6062, i16 0, i16 11317, i16 11318, i16 6095, i16 2384, i16 0, i16 0, i16 6090, i16 6092, i16 0, i16 11319, i16 11320, i16 0, i16 11321, i16 11322, i16 11323, i16 6091, i16 0, i16 0, i16 4949, i16 4934, i16 11324, i16 11325, i16 6097, i16 11326, i16 0, i16 0, i16 11327, i16 0, i16 821, i16 2621, i16 7367, i16 1896, i16 7368, i16 7369, i16 0, i16 3375, i16 2131, i16 1795, i16 2130, i16 961, i16 7370, i16 3147, i16 3502, i16 0, i16 3712, i16 854, i16 7371, i16 0, i16 1105, i16 3713, i16 2253, i16 3932, i16 1269, i16 3215, i16 0, i16 0, i16 0, i16 0, i16 2132, i16 7372, i16 4661, i16 4662, i16 2726, i16 4664, i16 8975, i16 8976, i16 1783, i16 4659, i16 0, i16 8977, i16 8978, i16 0, i16 1243, i16 8979, i16 0, i16 4665, i16 8980, i16 4658, i16 4669, i16 0, i16 4668, i16 8981, i16 4667, i16 8982, i16 0, i16 0, i16 4670, i16 8983, i16 0, i16 4672, i16 2142, i16 8984, i16 9013, i16 0, i16 1147, i16 1801, i16 0, i16 0, i16 2869, i16 9014, i16 0, i16 0, i16 0, i16 9015, i16 1444, i16 0, i16 0, i16 0, i16 2239, i16 0, i16 4692, i16 0, i16 2265, i16 2727, i16 0, i16 3158, i16 4693, i16 0, i16 9016, i16 0, i16 0, i16 9017, i16 0, i16 0, i16 11061, i16 11062, i16 0, i16 11063, i16 11064, i16 1036, i16 763, i16 11065, i16 11066, i16 11067, i16 11068, i16 5947, i16 5950, i16 2953, i16 11069, i16 2191, i16 11070, i16 987, i16 11071, i16 3290, i16 11072, i16 0, i16 0, i16 11073, i16 1464, i16 1369, i16 11074, i16 5949, i16 11075, i16 1007, i16 11076, i16 11077, i16 7223, i16 7309, i16 7222, i16 0, i16 7224, i16 7310, i16 7171, i16 7183, i16 7233, i16 7318, i16 7231, i16 7316, i16 0, i16 0, i16 7232, i16 7317, i16 7230, i16 7184, i16 7172, i16 7185, i16 7234, i16 7319, i16 7235, i16 7320, i16 7186, i16 7236, i16 7321, i16 7238, i16 7323, i16 7237, i16 7322, i16 7174, i16 12087, i16 0, i16 6561, i16 0, i16 12088, i16 12089, i16 12090, i16 0, i16 12091, i16 0, i16 0, i16 0, i16 0, i16 12092, i16 0, i16 0, i16 12093, i16 0, i16 6562, i16 0, i16 12094, i16 0, i16 12095, i16 12096, i16 12097, i16 6563, i16 12098, i16 0, i16 12099, i16 0, i16 12100, i16 0, i16 10041, i16 10042, i16 0, i16 3565, i16 0, i16 10043, i16 10044, i16 10045, i16 0, i16 10046, i16 0, i16 5302, i16 0, i16 0, i16 0, i16 10047, i16 10048, i16 10049, i16 10050, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10051, i16 10052, i16 10053, i16 0, i16 10054, i16 0, i16 5303, i16 10055, i16 11577, i16 6240, i16 11578, i16 6235, i16 6241, i16 11579, i16 11580, i16 0, i16 0, i16 11581, i16 0, i16 0, i16 6245, i16 6741, i16 0, i16 11582, i16 0, i16 0, i16 11583, i16 0, i16 0, i16 0, i16 941, i16 11584, i16 0, i16 0, i16 11585, i16 11586, i16 11587, i16 0, i16 6248, i16 1372, i16 7482, i16 7483, i16 1427, i16 2442, i16 1001, i16 7484, i16 7485, i16 0, i16 7486, i16 7487, i16 2018, i16 7488, i16 7489, i16 7490, i16 3767, i16 7491, i16 3772, i16 3770, i16 7492, i16 0, i16 3765, i16 0, i16 0, i16 2452, i16 3768, i16 0, i16 3771, i16 3769, i16 7493, i16 3250, i16 0, i16 3766, i16 8506, i16 0, i16 0, i16 0, i16 0, i16 2222, i16 0, i16 0, i16 8508, i16 0, i16 0, i16 1832, i16 0, i16 2291, i16 8507, i16 2488, i16 1217, i16 0, i16 8509, i16 2627, i16 0, i16 8510, i16 4346, i16 4347, i16 2140, i16 0, i16 0, i16 0, i16 0, i16 3308, i16 8511, i16 0, i16 8762, i16 8763, i16 8764, i16 4535, i16 0, i16 0, i16 4536, i16 1694, i16 4534, i16 4532, i16 4531, i16 4538, i16 4530, i16 4540, i16 8765, i16 8766, i16 1024, i16 0, i16 0, i16 0, i16 0, i16 8767, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8768, i16 8769, i16 8770, i16 8771, i16 7739, i16 3449, i16 2900, i16 7740, i16 0, i16 3270, i16 3916, i16 0, i16 3917, i16 0, i16 7741, i16 7742, i16 7743, i16 3919, i16 0, i16 3921, i16 3920, i16 7744, i16 0, i16 7745, i16 0, i16 3922, i16 962, i16 3327, i16 7746, i16 1777, i16 3923, i16 7747, i16 7748, i16 2400, i16 7749, i16 7750, i16 9531, i16 3285, i16 2947, i16 1282, i16 0, i16 2724, i16 0, i16 9532, i16 2608, i16 9533, i16 5031, i16 9534, i16 9535, i16 0, i16 9536, i16 5029, i16 2494, i16 5018, i16 9537, i16 882, i16 9538, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2108, i16 5574, i16 5575, i16 2022, i16 0, i16 2837, i16 5576, i16 0, i16 10542, i16 10543, i16 2539, i16 10544, i16 10545, i16 5577, i16 0, i16 2559, i16 5578, i16 10546, i16 0, i16 0, i16 10547, i16 0, i16 1314, i16 0, i16 3835, i16 2592, i16 1892, i16 10548, i16 0, i16 10549, i16 10550, i16 1161, i16 11836, i16 0, i16 0, i16 1954, i16 0, i16 0, i16 11837, i16 0, i16 2241, i16 0, i16 0, i16 11838, i16 11839, i16 0, i16 0, i16 11840, i16 0, i16 0, i16 11841, i16 2450, i16 0, i16 11842, i16 0, i16 11843, i16 0, i16 11844, i16 6413, i16 11845, i16 11863, i16 0, i16 6412, i16 0, i16 318, i16 317, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 320, i16 319, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 322, i16 321, i16 0, i16 0, i16 4671, i16 8985, i16 0, i16 0, i16 8986, i16 4675, i16 0, i16 0, i16 8987, i16 8988, i16 8989, i16 0, i16 0, i16 0, i16 0, i16 8990, i16 0, i16 0, i16 0, i16 8991, i16 8992, i16 0, i16 8993, i16 0, i16 4673, i16 8994, i16 0, i16 8995, i16 4674, i16 4636, i16 8996, i16 8997, i16 9791, i16 3398, i16 0, i16 0, i16 0, i16 0, i16 2100, i16 0, i16 0, i16 0, i16 0, i16 9792, i16 0, i16 9793, i16 0, i16 9794, i16 9795, i16 9796, i16 0, i16 0, i16 0, i16 0, i16 2362, i16 0, i16 9797, i16 0, i16 0, i16 0, i16 2099, i16 0, i16 0, i16 0, i16 6976, i16 0, i16 0, i16 12957, i16 0, i16 0, i16 0, i16 6977, i16 12962, i16 12958, i16 12959, i16 12961, i16 0, i16 0, i16 12963, i16 0, i16 12964, i16 0, i16 12965, i16 0, i16 0, i16 12966, i16 6978, i16 12967, i16 6979, i16 0, i16 0, i16 12968, i16 0, i16 0, i16 0, i16 0, i16 8256, i16 795, i16 0, i16 748, i16 8257, i16 0, i16 0, i16 0, i16 0, i16 4198, i16 0, i16 0, i16 8258, i16 8259, i16 8260, i16 0, i16 0, i16 4196, i16 8261, i16 8262, i16 0, i16 0, i16 0, i16 0, i16 3405, i16 0, i16 4199, i16 0, i16 4197, i16 0, i16 8263, i16 4195, i16 12352, i16 12353, i16 12354, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12355, i16 0, i16 12356, i16 12357, i16 1116, i16 12358, i16 0, i16 12359, i16 0, i16 0, i16 12360, i16 0, i16 6640, i16 12361, i16 1716, i16 2432, i16 12362, i16 0, i16 2667, i16 12363, i16 0, i16 0, i16 12364, i16 0, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 0, i16 0, i16 0, i16 0, i16 227, i16 249, i16 240, i16 241, i16 0, i16 833, i16 8016, i16 0, i16 2567, i16 8017, i16 8018, i16 8019, i16 8020, i16 8021, i16 0, i16 0, i16 8023, i16 0, i16 8024, i16 4081, i16 0, i16 1689, i16 8022, i16 792, i16 2217, i16 0, i16 0, i16 8025, i16 8026, i16 0, i16 4082, i16 1536, i16 0, i16 0, i16 1672, i16 0, i16 4084, i16 1089, i16 0, i16 0, i16 10554, i16 0, i16 2213, i16 3163, i16 10555, i16 5588, i16 10556, i16 10557, i16 10558, i16 2509, i16 10559, i16 10560, i16 10561, i16 10562, i16 10563, i16 0, i16 5583, i16 10564, i16 5587, i16 5589, i16 0, i16 0, i16 1776, i16 0, i16 0, i16 0, i16 10565, i16 0, i16 10566, i16 4929, i16 0, i16 4931, i16 4932, i16 0, i16 9374, i16 0, i16 0, i16 0, i16 0, i16 4944, i16 9375, i16 4940, i16 0, i16 4821, i16 9376, i16 9377, i16 9378, i16 0, i16 4939, i16 9379, i16 0, i16 0, i16 0, i16 4938, i16 0, i16 0, i16 4935, i16 0, i16 9380, i16 9381, i16 9382, i16 9025, i16 767, i16 0, i16 9026, i16 1361, i16 2294, i16 9027, i16 3159, i16 0, i16 0, i16 0, i16 4699, i16 1813, i16 2570, i16 9028, i16 1838, i16 2178, i16 0, i16 9029, i16 9030, i16 9031, i16 0, i16 0, i16 4700, i16 0, i16 3282, i16 0, i16 0, i16 926, i16 1839, i16 0, i16 9032, i16 12609, i16 12611, i16 0, i16 0, i16 12612, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6794, i16 2910, i16 12613, i16 0, i16 12614, i16 6796, i16 960, i16 12615, i16 6799, i16 6798, i16 12616, i16 12617, i16 0, i16 12618, i16 843, i16 0, i16 0, i16 0, i16 1342, i16 4418, i16 1567, i16 8603, i16 0, i16 8606, i16 0, i16 0, i16 8604, i16 4419, i16 3187, i16 2026, i16 8605, i16 8607, i16 4420, i16 3090, i16 8608, i16 8609, i16 8610, i16 0, i16 2846, i16 2632, i16 0, i16 0, i16 0, i16 8611, i16 2735, i16 0, i16 0, i16 4421, i16 1226, i16 0, i16 0, i16 3395, i16 0, i16 10255, i16 0, i16 5436, i16 5438, i16 5439, i16 0, i16 10256, i16 5435, i16 0, i16 0, i16 0, i16 10257, i16 10258, i16 10259, i16 0, i16 0, i16 0, i16 0, i16 10260, i16 10261, i16 10262, i16 5441, i16 5442, i16 10263, i16 2640, i16 0, i16 1188, i16 10264, i16 10265, i16 0, i16 12868, i16 0, i16 0, i16 6931, i16 12869, i16 12870, i16 12871, i16 12872, i16 0, i16 12873, i16 12874, i16 12875, i16 0, i16 12876, i16 775, i16 12877, i16 12878, i16 6932, i16 3200, i16 6930, i16 12879, i16 0, i16 6933, i16 6934, i16 0, i16 0, i16 12880, i16 0, i16 0, i16 12881, i16 12882, i16 6935, i16 12101, i16 0, i16 12103, i16 12104, i16 0, i16 12102, i16 0, i16 12105, i16 0, i16 12106, i16 0, i16 0, i16 0, i16 2721, i16 12107, i16 12108, i16 6565, i16 12109, i16 6564, i16 0, i16 12110, i16 0, i16 12111, i16 12112, i16 0, i16 12113, i16 12114, i16 0, i16 12115, i16 12116, i16 0, i16 0, i16 1350, i16 4271, i16 0, i16 0, i16 0, i16 1294, i16 4272, i16 0, i16 1403, i16 0, i16 2860, i16 949, i16 0, i16 1830, i16 4273, i16 4276, i16 4275, i16 1402, i16 0, i16 4274, i16 0, i16 2743, i16 0, i16 0, i16 0, i16 8393, i16 8394, i16 0, i16 8395, i16 0, i16 2453, i16 0, i16 7494, i16 2169, i16 7495, i16 3366, i16 3773, i16 3774, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1971, i16 3787, i16 7496, i16 0, i16 7497, i16 2955, i16 0, i16 3117, i16 3782, i16 0, i16 3269, i16 0, i16 955, i16 0, i16 7498, i16 7499, i16 3786, i16 7500, i16 11846, i16 0, i16 6411, i16 0, i16 0, i16 11847, i16 11848, i16 11849, i16 11850, i16 0, i16 11851, i16 6419, i16 6417, i16 0, i16 11852, i16 6414, i16 0, i16 11853, i16 0, i16 0, i16 11854, i16 11855, i16 6416, i16 11856, i16 0, i16 11857, i16 6415, i16 6418, i16 0, i16 1302, i16 0, i16 6422, i16 3911, i16 7728, i16 2259, i16 3908, i16 1357, i16 7729, i16 3909, i16 1132, i16 7730, i16 7731, i16 7732, i16 0, i16 7733, i16 0, i16 0, i16 0, i16 7734, i16 7735, i16 1417, i16 3912, i16 7736, i16 3913, i16 7737, i16 7738, i16 3914, i16 3915, i16 1932, i16 0, i16 0, i16 0, i16 1588, i16 3439, i16 10567, i16 10568, i16 0, i16 0, i16 0, i16 5596, i16 3109, i16 10569, i16 3007, i16 2808, i16 0, i16 1367, i16 5595, i16 5593, i16 10570, i16 3022, i16 5590, i16 2593, i16 2810, i16 0, i16 2809, i16 10571, i16 1771, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5614, i16 0, i16 0, i16 10056, i16 10057, i16 5283, i16 10058, i16 0, i16 0, i16 10059, i16 5304, i16 10060, i16 10061, i16 10062, i16 10063, i16 0, i16 0, i16 10064, i16 10065, i16 1157, i16 10066, i16 10067, i16 0, i16 0, i16 10068, i16 0, i16 0, i16 0, i16 10069, i16 0, i16 10070, i16 0, i16 1878, i16 0, i16 10071, i16 11336, i16 8188, i16 11337, i16 0, i16 0, i16 0, i16 11338, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6100, i16 1552, i16 0, i16 1267, i16 0, i16 11339, i16 11340, i16 6102, i16 3865, i16 11341, i16 11342, i16 11343, i16 11344, i16 1300, i16 0, i16 3591, i16 11345, i16 1392, i16 6103, i16 842, i16 0, i16 0, i16 3622, i16 12516, i16 12517, i16 12518, i16 6729, i16 6544, i16 12519, i16 6728, i16 0, i16 0, i16 0, i16 12520, i16 12521, i16 6732, i16 6730, i16 6731, i16 12522, i16 6733, i16 0, i16 6734, i16 3641, i16 6735, i16 6736, i16 12523, i16 2290, i16 3028, i16 0, i16 0, i16 0, i16 11082, i16 5951, i16 11083, i16 5952, i16 11084, i16 1940, i16 1385, i16 2618, i16 11085, i16 0, i16 11086, i16 2862, i16 0, i16 11087, i16 0, i16 11088, i16 0, i16 888, i16 0, i16 5956, i16 5955, i16 0, i16 11089, i16 11090, i16 0, i16 5961, i16 5957, i16 5960, i16 0, i16 11091, i16 11092, i16 0, i16 2892, i16 4870, i16 2887, i16 9286, i16 9287, i16 9288, i16 9289, i16 0, i16 9290, i16 9291, i16 4874, i16 4861, i16 9292, i16 1349, i16 4864, i16 2028, i16 9293, i16 9294, i16 9295, i16 2971, i16 4866, i16 1352, i16 0, i16 4858, i16 4860, i16 4857, i16 9296, i16 9297, i16 3675, i16 1085, i16 4863, i16 9298, i16 10316, i16 0, i16 3457, i16 5469, i16 10317, i16 2577, i16 10318, i16 2981, i16 0, i16 1384, i16 10319, i16 0, i16 10320, i16 2558, i16 5470, i16 1335, i16 10321, i16 10322, i16 0, i16 2297, i16 10323, i16 0, i16 0, i16 0, i16 10324, i16 0, i16 0, i16 10325, i16 5471, i16 0, i16 0, i16 0, i16 10572, i16 0, i16 0, i16 0, i16 10573, i16 5598, i16 10574, i16 5600, i16 0, i16 10575, i16 10576, i16 0, i16 5603, i16 10577, i16 5604, i16 10578, i16 5601, i16 5602, i16 10579, i16 10580, i16 5599, i16 5597, i16 0, i16 10581, i16 0, i16 0, i16 5591, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3149, i16 8118, i16 0, i16 4121, i16 8102, i16 0, i16 8103, i16 8104, i16 0, i16 8105, i16 0, i16 0, i16 0, i16 8106, i16 0, i16 0, i16 8107, i16 0, i16 0, i16 0, i16 2154, i16 8108, i16 8109, i16 1898, i16 8110, i16 2968, i16 1201, i16 0, i16 1760, i16 8111, i16 8112, i16 8113, i16 7501, i16 7502, i16 0, i16 0, i16 7503, i16 3780, i16 3789, i16 7504, i16 0, i16 2393, i16 7505, i16 1533, i16 7506, i16 2967, i16 7507, i16 5253, i16 7508, i16 3788, i16 2780, i16 7509, i16 3777, i16 0, i16 1583, i16 7510, i16 7511, i16 1582, i16 3775, i16 7512, i16 7513, i16 7514, i16 7515, i16 1931, i16 2382, i16 3317, i16 1772, i16 10710, i16 0, i16 0, i16 10711, i16 0, i16 0, i16 0, i16 10712, i16 1850, i16 2686, i16 10713, i16 5691, i16 3628, i16 1742, i16 10714, i16 5692, i16 2189, i16 0, i16 5694, i16 0, i16 0, i16 0, i16 2111, i16 1701, i16 0, i16 10715, i16 10716, i16 10717, i16 5693, i16 4431, i16 8660, i16 1023, i16 4451, i16 4453, i16 2580, i16 0, i16 8661, i16 1693, i16 957, i16 4445, i16 4456, i16 4455, i16 1328, i16 0, i16 2446, i16 1097, i16 8662, i16 0, i16 0, i16 0, i16 1438, i16 0, i16 4446, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8663, i16 8664, i16 5455, i16 0, i16 10300, i16 0, i16 0, i16 3234, i16 0, i16 10301, i16 0, i16 0, i16 10302, i16 0, i16 2021, i16 3603, i16 10303, i16 10304, i16 5457, i16 10305, i16 0, i16 2836, i16 0, i16 10306, i16 5458, i16 0, i16 0, i16 5459, i16 0, i16 5463, i16 5461, i16 5462, i16 10307, i16 5460, i16 8528, i16 2628, i16 0, i16 1604, i16 2078, i16 0, i16 0, i16 3064, i16 0, i16 0, i16 2079, i16 8529, i16 0, i16 0, i16 8530, i16 2055, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2701, i16 3278, i16 2744, i16 0, i16 0, i16 1605, i16 0, i16 3155, i16 0, i16 0, i16 0, i16 4177, i16 8209, i16 4176, i16 8210, i16 0, i16 931, i16 0, i16 4178, i16 2070, i16 4180, i16 2536, i16 8211, i16 4179, i16 8212, i16 3208, i16 8213, i16 0, i16 0, i16 8214, i16 2054, i16 2778, i16 8215, i16 8216, i16 0, i16 4181, i16 8217, i16 0, i16 8218, i16 8219, i16 1596, i16 0, i16 0, i16 9810, i16 0, i16 5193, i16 0, i16 2972, i16 5189, i16 5192, i16 2101, i16 9811, i16 3050, i16 0, i16 0, i16 5196, i16 0, i16 1922, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9812, i16 0, i16 0, i16 0, i16 2339, i16 0, i16 0, i16 11346, i16 11347, i16 11348, i16 11349, i16 11350, i16 0, i16 0, i16 6104, i16 0, i16 11351, i16 0, i16 2609, i16 11352, i16 0, i16 0, i16 11353, i16 0, i16 6105, i16 0, i16 0, i16 0, i16 11354, i16 11355, i16 11356, i16 0, i16 2903, i16 11357, i16 771, i16 0, i16 0, i16 0, i16 0, i16 8787, i16 4558, i16 8788, i16 8789, i16 0, i16 0, i16 2328, i16 8790, i16 0, i16 8791, i16 4559, i16 8792, i16 0, i16 0, i16 4560, i16 1241, i16 4561, i16 0, i16 4562, i16 4563, i16 2492, i16 0, i16 0, i16 0, i16 1542, i16 8793, i16 0, i16 3442, i16 0, i16 8794, i16 0, i16 3311, i16 9299, i16 4873, i16 1048, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1756, i16 0, i16 0, i16 9300, i16 900, i16 0, i16 0, i16 4890, i16 9301, i16 0, i16 3676, i16 4893, i16 9302, i16 0, i16 9303, i16 0, i16 0, i16 2181, i16 4892, i16 0, i16 0, i16 0, i16 2388, i16 7075, i16 13117, i16 0, i16 0, i16 0, i16 13118, i16 0, i16 0, i16 0, i16 13119, i16 13120, i16 7076, i16 0, i16 0, i16 13121, i16 0, i16 13122, i16 13123, i16 0, i16 13124, i16 0, i16 0, i16 13125, i16 0, i16 13126, i16 13127, i16 3096, i16 13128, i16 13129, i16 7077, i16 13130, i16 5972, i16 0, i16 11115, i16 11116, i16 11117, i16 5975, i16 0, i16 11118, i16 0, i16 2423, i16 1456, i16 0, i16 0, i16 11119, i16 11120, i16 872, i16 5974, i16 11121, i16 1642, i16 11156, i16 11099, i16 11122, i16 11123, i16 11124, i16 2424, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12628, i16 6804, i16 0, i16 12629, i16 6803, i16 12638, i16 12630, i16 0, i16 0, i16 0, i16 0, i16 12631, i16 3326, i16 2825, i16 12632, i16 12633, i16 12634, i16 0, i16 12635, i16 12636, i16 887, i16 12637, i16 0, i16 6805, i16 6802, i16 0, i16 0, i16 3144, i16 3545, i16 6806, i16 12639, i16 0, i16 9813, i16 0, i16 0, i16 0, i16 5199, i16 9814, i16 0, i16 9815, i16 5191, i16 0, i16 1410, i16 0, i16 9816, i16 0, i16 0, i16 5197, i16 0, i16 0, i16 9817, i16 0, i16 3519, i16 5200, i16 0, i16 0, i16 0, i16 7100, i16 9818, i16 9819, i16 0, i16 0, i16 0, i16 2014, i16 11093, i16 11094, i16 3425, i16 5959, i16 989, i16 1120, i16 5963, i16 11095, i16 11096, i16 5965, i16 11097, i16 11098, i16 0, i16 0, i16 1455, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5969, i16 5978, i16 5979, i16 0, i16 0, i16 11100, i16 756, i16 11101, i16 11102, i16 11103, i16 343, i16 0, i16 348, i16 344, i16 0, i16 0, i16 0, i16 349, i16 330, i16 0, i16 0, i16 331, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 354, i16 0, i16 0, i16 356, i16 292, i16 0, i16 7256, i16 7341, i16 7259, i16 7344, i16 7258, i16 7343, i16 7178, i16 7194, i16 7270, i16 7355, i16 7267, i16 7352, i16 7264, i16 7349, i16 7269, i16 7354, i16 7266, i16 7351, i16 7268, i16 7353, i16 7275, i16 7360, i16 7278, i16 7363, i16 7277, i16 7279, i16 7364, i16 7281, i16 7366, i16 7280, i16 7365, i16 0, i16 11608, i16 6262, i16 0, i16 0, i16 0, i16 11609, i16 6264, i16 3558, i16 0, i16 6263, i16 2193, i16 0, i16 6265, i16 0, i16 0, i16 6266, i16 11610, i16 0, i16 6267, i16 1170, i16 11611, i16 11612, i16 11613, i16 11614, i16 0, i16 0, i16 6268, i16 0, i16 11615, i16 6269, i16 0, i16 6270, i16 345, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 338, i16 339, i16 337, i16 336, i16 358, i16 359, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 293, i16 357, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 355, i16 0, i16 0, i16 3929, i16 1996, i16 7764, i16 2322, i16 0, i16 3931, i16 3930, i16 2064, i16 1562, i16 3933, i16 3031, i16 7766, i16 7765, i16 3934, i16 0, i16 0, i16 0, i16 3061, i16 2457, i16 2515, i16 1317, i16 0, i16 0, i16 2891, i16 2548, i16 7767, i16 2985, i16 7768, i16 3329, i16 0, i16 3936, i16 0, i16 9049, i16 0, i16 1614, i16 4714, i16 9050, i16 0, i16 1696, i16 2087, i16 9051, i16 9052, i16 4713, i16 0, i16 2088, i16 9053, i16 3409, i16 1695, i16 0, i16 9054, i16 9055, i16 800, i16 2295, i16 9056, i16 9057, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4720, i16 9058, i16 9059, i16 2266, i16 5210, i16 0, i16 0, i16 0, i16 0, i16 2414, i16 1803, i16 5212, i16 0, i16 0, i16 0, i16 0, i16 5211, i16 2159, i16 3955, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5213, i16 0, i16 0, i16 9838, i16 5215, i16 0, i16 5198, i16 5214, i16 0, i16 9839, i16 5216, i16 9820, i16 0, i16 9821, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5201, i16 0, i16 0, i16 0, i16 5202, i16 0, i16 0, i16 9822, i16 9823, i16 2921, i16 9824, i16 9825, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5204, i16 9826, i16 0, i16 0, i16 0, i16 5205, i16 9827, i16 1630, i16 0, i16 5677, i16 0, i16 0, i16 0, i16 10695, i16 3605, i16 0, i16 10696, i16 0, i16 10697, i16 0, i16 0, i16 0, i16 5679, i16 0, i16 0, i16 5680, i16 0, i16 5681, i16 10698, i16 5682, i16 0, i16 1848, i16 0, i16 5683, i16 1450, i16 0, i16 0, i16 1289, i16 0, i16 10590, i16 1162, i16 0, i16 0, i16 0, i16 10591, i16 0, i16 0, i16 0, i16 0, i16 2560, i16 0, i16 10592, i16 2342, i16 0, i16 10593, i16 10594, i16 3003, i16 10595, i16 0, i16 5620, i16 10596, i16 10597, i16 0, i16 3005, i16 0, i16 10598, i16 10599, i16 10600, i16 10601, i16 0, i16 0, i16 3168, i16 1751, i16 1646, i16 0, i16 11793, i16 0, i16 0, i16 3142, i16 996, i16 3047, i16 6379, i16 1172, i16 2302, i16 6378, i16 6383, i16 2620, i16 3444, i16 0, i16 6381, i16 6382, i16 1229, i16 0, i16 6384, i16 2974, i16 2500, i16 11794, i16 11795, i16 3082, i16 2748, i16 6380, i16 0, i16 3322, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 1377, i16 0, i16 0, i16 2005, i16 0, i16 2841, i16 0, i16 0, i16 12248, i16 12249, i16 12250, i16 0, i16 0, i16 12251, i16 12252, i16 0, i16 0, i16 2356, i16 12253, i16 6614, i16 0, i16 6608, i16 6613, i16 12254, i16 3412, i16 12255, i16 2649, i16 6615, i16 6612, i16 0, i16 0, i16 12256, i16 10849, i16 0, i16 5794, i16 5796, i16 0, i16 3540, i16 5795, i16 5798, i16 5797, i16 0, i16 3522, i16 10850, i16 5799, i16 10851, i16 3095, i16 10852, i16 10853, i16 10854, i16 0, i16 0, i16 5800, i16 0, i16 10855, i16 10856, i16 0, i16 0, i16 5803, i16 0, i16 10857, i16 5802, i16 5801, i16 0, i16 5475, i16 10333, i16 10334, i16 10335, i16 0, i16 2773, i16 1739, i16 1261, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10336, i16 10337, i16 0, i16 10338, i16 0, i16 3287, i16 0, i16 2950, i16 10339, i16 0, i16 10340, i16 0, i16 0, i16 2774, i16 0, i16 0, i16 0, i16 0, i16 1651, i16 7523, i16 7524, i16 7525, i16 3790, i16 0, i16 7526, i16 7527, i16 3791, i16 3795, i16 791, i16 7528, i16 0, i16 7529, i16 0, i16 7530, i16 3237, i16 3794, i16 7531, i16 7532, i16 7533, i16 0, i16 3793, i16 3797, i16 7534, i16 0, i16 7535, i16 3796, i16 0, i16 2693, i16 0, i16 0, i16 7536, i16 9828, i16 9829, i16 0, i16 2926, i16 9830, i16 0, i16 0, i16 0, i16 2804, i16 5207, i16 0, i16 9831, i16 9832, i16 0, i16 5209, i16 0, i16 3618, i16 0, i16 5206, i16 9833, i16 5208, i16 916, i16 9834, i16 5203, i16 0, i16 9835, i16 9836, i16 0, i16 9837, i16 0, i16 0, i16 4051, i16 11876, i16 11877, i16 11878, i16 11879, i16 0, i16 0, i16 11880, i16 11881, i16 0, i16 0, i16 6445, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6434, i16 11882, i16 0, i16 11883, i16 6435, i16 6433, i16 11884, i16 11885, i16 11886, i16 11887, i16 0, i16 0, i16 0, i16 11888, i16 0, i16 0, i16 4709, i16 4710, i16 1212, i16 0, i16 0, i16 2905, i16 2553, i16 1291, i16 1840, i16 2408, i16 0, i16 0, i16 2027, i16 761, i16 0, i16 0, i16 9042, i16 4711, i16 9043, i16 0, i16 9044, i16 9045, i16 0, i16 0, i16 0, i16 9046, i16 935, i16 4715, i16 0, i16 0, i16 9047, i16 9048, i16 8037, i16 0, i16 8038, i16 8039, i16 8040, i16 8041, i16 4095, i16 766, i16 1748, i16 8042, i16 8043, i16 0, i16 8044, i16 1432, i16 8045, i16 8046, i16 2578, i16 0, i16 0, i16 8047, i16 8048, i16 0, i16 0, i16 4096, i16 4097, i16 0, i16 0, i16 4099, i16 0, i16 8049, i16 8050, i16 8051, i16 615, i16 616, i16 0, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 7126, i16 7129, i16 7131, i16 7132, i16 7133, i16 7134, i16 7141, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 6247, i16 11588, i16 11589, i16 11590, i16 6250, i16 0, i16 6249, i16 0, i16 0, i16 0, i16 6252, i16 11591, i16 0, i16 6251, i16 11592, i16 6253, i16 11593, i16 0, i16 1984, i16 11594, i16 6254, i16 11595, i16 0, i16 6255, i16 0, i16 0, i16 11596, i16 11597, i16 11598, i16 11599, i16 6256, i16 2279, i16 8295, i16 0, i16 8296, i16 0, i16 0, i16 0, i16 0, i16 8297, i16 0, i16 0, i16 0, i16 0, i16 8298, i16 0, i16 0, i16 0, i16 0, i16 8299, i16 8300, i16 8301, i16 0, i16 8302, i16 0, i16 0, i16 8303, i16 0, i16 8304, i16 8305, i16 4208, i16 4212, i16 4209, i16 8306, i16 1128, i16 7640, i16 3851, i16 7641, i16 3849, i16 3406, i16 3850, i16 0, i16 3153, i16 3852, i16 3853, i16 3854, i16 2782, i16 7642, i16 0, i16 0, i16 3858, i16 3856, i16 3857, i16 3855, i16 1752, i16 3859, i16 3451, i16 3633, i16 7643, i16 0, i16 7644, i16 0, i16 7645, i16 3860, i16 7646, i16 7647, i16 2152, i16 12316, i16 6626, i16 6628, i16 12317, i16 12318, i16 1360, i16 12319, i16 3132, i16 12320, i16 12321, i16 1939, i16 3662, i16 0, i16 6624, i16 1773, i16 0, i16 0, i16 3690, i16 12322, i16 12323, i16 6630, i16 12324, i16 12325, i16 0, i16 0, i16 6629, i16 6631, i16 0, i16 0, i16 0, i16 0, i16 3944, i16 7785, i16 0, i16 0, i16 7786, i16 3946, i16 3945, i16 0, i16 2218, i16 864, i16 7787, i16 7788, i16 0, i16 901, i16 3947, i16 7789, i16 3948, i16 0, i16 7790, i16 1520, i16 7791, i16 7792, i16 3949, i16 7793, i16 7794, i16 0, i16 7795, i16 1293, i16 0, i16 7796, i16 0, i16 0, i16 4200, i16 3671, i16 0, i16 0, i16 8271, i16 8272, i16 2951, i16 8273, i16 8274, i16 4202, i16 0, i16 0, i16 8275, i16 0, i16 0, i16 0, i16 8276, i16 0, i16 0, i16 0, i16 0, i16 8277, i16 0, i16 0, i16 0, i16 0, i16 1692, i16 0, i16 0, i16 0, i16 8278, i16 0, i16 5994, i16 0, i16 5984, i16 0, i16 0, i16 0, i16 11142, i16 11143, i16 5996, i16 11144, i16 5982, i16 2999, i16 11145, i16 11170, i16 0, i16 0, i16 0, i16 3544, i16 0, i16 0, i16 0, i16 5991, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6013, i16 11146, i16 11147, i16 4972, i16 0, i16 9436, i16 4974, i16 4973, i16 9437, i16 3339, i16 0, i16 0, i16 2029, i16 1949, i16 1815, i16 0, i16 4975, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4977, i16 2158, i16 9438, i16 4976, i16 0, i16 0, i16 9439, i16 0, i16 0, i16 4978, i16 9440, i16 5228, i16 9855, i16 9856, i16 9857, i16 0, i16 9858, i16 5229, i16 3239, i16 3040, i16 0, i16 0, i16 5230, i16 2962, i16 0, i16 9859, i16 9860, i16 9861, i16 0, i16 2638, i16 9862, i16 0, i16 9863, i16 9864, i16 0, i16 5231, i16 1004, i16 9865, i16 1292, i16 9866, i16 3415, i16 9867, i16 3399, i16 365, i16 366, i16 0, i16 0, i16 0, i16 258, i16 257, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 361, i16 0, i16 297, i16 298, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 323, i16 0, i16 0, i16 0, i16 0, i16 878, i16 9060, i16 9061, i16 9062, i16 9063, i16 2020, i16 9064, i16 3353, i16 1767, i16 9065, i16 9066, i16 9067, i16 9068, i16 2089, i16 9069, i16 2256, i16 9070, i16 9071, i16 0, i16 9072, i16 4719, i16 4717, i16 4718, i16 9074, i16 0, i16 9073, i16 0, i16 0, i16 2606, i16 0, i16 0, i16 4750, i16 10350, i16 10351, i16 0, i16 10352, i16 10353, i16 0, i16 0, i16 0, i16 10354, i16 0, i16 10355, i16 3583, i16 1628, i16 0, i16 10356, i16 1504, i16 0, i16 0, i16 3004, i16 0, i16 5479, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10357, i16 0, i16 5481, i16 0, i16 10358, i16 0, i16 6767, i16 7051, i16 3421, i16 12559, i16 6768, i16 0, i16 6769, i16 12560, i16 6770, i16 1082, i16 12561, i16 6772, i16 0, i16 2212, i16 12562, i16 0, i16 0, i16 6773, i16 0, i16 12563, i16 1407, i16 0, i16 12564, i16 12565, i16 12566, i16 6774, i16 6778, i16 12567, i16 6776, i16 12568, i16 0, i16 12569, i16 9328, i16 9329, i16 4897, i16 9330, i16 0, i16 4904, i16 0, i16 0, i16 0, i16 0, i16 4910, i16 3086, i16 4916, i16 0, i16 0, i16 9331, i16 0, i16 9332, i16 4911, i16 4914, i16 4908, i16 9333, i16 0, i16 2615, i16 0, i16 3119, i16 9334, i16 4898, i16 0, i16 9335, i16 4906, i16 2093, i16 9840, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2997, i16 9841, i16 9842, i16 9843, i16 0, i16 0, i16 0, i16 5217, i16 0, i16 0, i16 5218, i16 0, i16 0, i16 9844, i16 0, i16 0, i16 0, i16 9845, i16 0, i16 0, i16 9846, i16 5219, i16 0, i16 9847, i16 0, i16 9848, i16 10096, i16 10097, i16 0, i16 1805, i16 10098, i16 928, i16 5328, i16 10099, i16 3520, i16 10100, i16 10101, i16 3256, i16 5329, i16 0, i16 0, i16 10102, i16 2755, i16 3490, i16 1626, i16 2184, i16 0, i16 0, i16 10103, i16 2574, i16 3918, i16 10104, i16 2639, i16 1005, i16 5330, i16 10105, i16 10106, i16 10107, i16 7537, i16 0, i16 7538, i16 7539, i16 0, i16 1485, i16 7540, i16 7541, i16 0, i16 0, i16 7542, i16 0, i16 3798, i16 7543, i16 0, i16 0, i16 7544, i16 7545, i16 1910, i16 0, i16 2443, i16 2694, i16 1395, i16 0, i16 3799, i16 0, i16 0, i16 0, i16 0, i16 1237, i16 0, i16 0, i16 11377, i16 11378, i16 0, i16 11379, i16 6114, i16 11380, i16 6115, i16 1929, i16 0, i16 6117, i16 0, i16 2564, i16 0, i16 1457, i16 1061, i16 0, i16 0, i16 11381, i16 11382, i16 0, i16 6120, i16 11383, i16 0, i16 11384, i16 0, i16 1058, i16 11385, i16 6125, i16 11386, i16 0, i16 6121, i16 6124, i16 11889, i16 11890, i16 6432, i16 0, i16 2718, i16 0, i16 0, i16 6437, i16 6441, i16 6438, i16 6436, i16 11891, i16 6439, i16 11892, i16 11893, i16 11894, i16 6440, i16 0, i16 0, i16 0, i16 11895, i16 6447, i16 0, i16 0, i16 0, i16 6442, i16 0, i16 11896, i16 11897, i16 11898, i16 11899, i16 2305, i16 10866, i16 940, i16 0, i16 10867, i16 0, i16 5812, i16 5813, i16 0, i16 10868, i16 0, i16 5814, i16 0, i16 3537, i16 0, i16 10869, i16 10870, i16 0, i16 0, i16 1979, i16 0, i16 5816, i16 5815, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10871, i16 0, i16 0, i16 0, i16 10872, i16 3699, i16 4782, i16 2240, i16 0, i16 0, i16 0, i16 4781, i16 0, i16 0, i16 4776, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1544, i16 9169, i16 9170, i16 9171, i16 4788, i16 4786, i16 9172, i16 978, i16 4784, i16 4790, i16 4796, i16 0, i16 9173, i16 9174, i16 9175, i16 0, i16 0, i16 7283, i16 7282, i16 7285, i16 7291, i16 7284, i16 7290, i16 7180, i16 7295, i16 7299, i16 7298, i16 7301, i16 7300, i16 7312, i16 7311, i16 7314, i16 7313, i16 7182, i16 7327, i16 7329, i16 7328, i16 7331, i16 7335, i16 7330, i16 285, i16 7191, i16 7346, i16 7345, i16 7348, i16 7347, i16 7361, i16 7195, i16 7362, i16 9075, i16 4724, i16 1873, i16 1615, i16 4722, i16 9076, i16 9077, i16 0, i16 0, i16 4723, i16 9078, i16 2179, i16 9079, i16 0, i16 9081, i16 4721, i16 0, i16 9080, i16 1794, i16 0, i16 0, i16 0, i16 0, i16 9082, i16 9083, i16 9084, i16 0, i16 9085, i16 9086, i16 4726, i16 4725, i16 4730, i16 1908, i16 0, i16 11233, i16 11234, i16 0, i16 0, i16 6015, i16 11235, i16 0, i16 0, i16 0, i16 0, i16 11236, i16 0, i16 11237, i16 0, i16 11238, i16 3235, i16 0, i16 3379, i16 6055, i16 6054, i16 0, i16 6050, i16 6051, i16 0, i16 861, i16 0, i16 11239, i16 0, i16 11240, i16 6053, i16 1909, i16 0, i16 0, i16 0, i16 2851, i16 5627, i16 5626, i16 0, i16 10612, i16 5623, i16 10613, i16 0, i16 0, i16 3681, i16 0, i16 0, i16 0, i16 0, i16 10614, i16 5632, i16 10615, i16 10616, i16 5636, i16 5633, i16 10617, i16 10618, i16 10619, i16 0, i16 10620, i16 0, i16 10621, i16 0, i16 7797, i16 0, i16 1797, i16 3950, i16 0, i16 7798, i16 0, i16 0, i16 3367, i16 1706, i16 1273, i16 3478, i16 2391, i16 3032, i16 1966, i16 7799, i16 0, i16 0, i16 7800, i16 7801, i16 2006, i16 7802, i16 1945, i16 1958, i16 0, i16 2053, i16 7803, i16 3033, i16 0, i16 7804, i16 7805, i16 3953, i16 12917, i16 0, i16 12918, i16 0, i16 6964, i16 0, i16 6960, i16 0, i16 6961, i16 6957, i16 6963, i16 12919, i16 6959, i16 1093, i16 0, i16 12920, i16 3703, i16 12921, i16 6962, i16 6958, i16 6956, i16 6955, i16 12922, i16 0, i16 12923, i16 12924, i16 12925, i16 6966, i16 12926, i16 0, i16 12927, i16 0, i16 9590, i16 2555, i16 9591, i16 0, i16 5069, i16 9592, i16 5058, i16 0, i16 5064, i16 9593, i16 5071, i16 837, i16 5061, i16 0, i16 5072, i16 9594, i16 9595, i16 2183, i16 0, i16 2030, i16 9596, i16 3194, i16 9597, i16 1699, i16 0, i16 5053, i16 5067, i16 2745, i16 9598, i16 0, i16 0, i16 0, i16 3448, i16 0, i16 6681, i16 2357, i16 12444, i16 0, i16 0, i16 6682, i16 12445, i16 3225, i16 6683, i16 1038, i16 12446, i16 12447, i16 12448, i16 867, i16 0, i16 1176, i16 0, i16 1175, i16 6684, i16 0, i16 6685, i16 0, i16 6686, i16 6687, i16 0, i16 0, i16 0, i16 12449, i16 12450, i16 12451, i16 4472, i16 4470, i16 8699, i16 2401, i16 0, i16 8700, i16 0, i16 4460, i16 1799, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2475, i16 4491, i16 8701, i16 2402, i16 4486, i16 8702, i16 4483, i16 4484, i16 8703, i16 1943, i16 4487, i16 4490, i16 8704, i16 8705, i16 0, i16 0, i16 6008, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11157, i16 3267, i16 11158, i16 5999, i16 0, i16 0, i16 0, i16 991, i16 1551, i16 3104, i16 6009, i16 0, i16 5997, i16 0, i16 11159, i16 6006, i16 11160, i16 11161, i16 0, i16 6016, i16 11162, i16 6001, i16 0, i16 0, i16 9336, i16 3424, i16 4926, i16 4913, i16 9337, i16 0, i16 0, i16 0, i16 9338, i16 1499, i16 936, i16 1090, i16 0, i16 0, i16 4889, i16 0, i16 9339, i16 0, i16 9340, i16 0, i16 9341, i16 2094, i16 4918, i16 9342, i16 4925, i16 1962, i16 1109, i16 9343, i16 0, i16 2545, i16 9344, i16 9345, i16 11640, i16 0, i16 11641, i16 1480, i16 11642, i16 6284, i16 11643, i16 0, i16 0, i16 0, i16 3295, i16 11644, i16 11645, i16 2312, i16 0, i16 11646, i16 0, i16 1301, i16 0, i16 3462, i16 2385, i16 11647, i16 6285, i16 11648, i16 0, i16 0, i16 2194, i16 2611, i16 2119, i16 11649, i16 11650, i16 0, i16 8313, i16 2599, i16 0, i16 4213, i16 0, i16 8314, i16 4215, i16 0, i16 0, i16 4216, i16 8315, i16 0, i16 0, i16 0, i16 8316, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8317, i16 8318, i16 0, i16 0, i16 0, i16 4218, i16 4219, i16 0, i16 8319, i16 0, i16 0, i16 11129, i16 0, i16 11130, i16 0, i16 11131, i16 5980, i16 11132, i16 5988, i16 0, i16 5995, i16 5989, i16 0, i16 0, i16 11133, i16 5987, i16 0, i16 0, i16 0, i16 11134, i16 5958, i16 11135, i16 11136, i16 5985, i16 0, i16 11137, i16 11138, i16 5981, i16 11139, i16 11140, i16 11141, i16 1169, i16 5983, i16 890, i16 11664, i16 6294, i16 1459, i16 0, i16 11665, i16 1857, i16 11666, i16 0, i16 1856, i16 0, i16 3704, i16 6293, i16 6292, i16 2350, i16 0, i16 1260, i16 3694, i16 1053, i16 2121, i16 0, i16 11667, i16 11668, i16 11669, i16 0, i16 11670, i16 11671, i16 11672, i16 6291, i16 0, i16 11673, i16 11674, i16 3962, i16 0, i16 3663, i16 7821, i16 7822, i16 0, i16 3271, i16 7823, i16 2697, i16 1563, i16 1671, i16 0, i16 0, i16 7824, i16 3970, i16 7825, i16 0, i16 2874, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7826, i16 3974, i16 3707, i16 4830, i16 0, i16 0, i16 4844, i16 801, i16 9267, i16 0, i16 4832, i16 9268, i16 9269, i16 3403, i16 4837, i16 2157, i16 2664, i16 4827, i16 9270, i16 9271, i16 4843, i16 9272, i16 0, i16 0, i16 9273, i16 9274, i16 0, i16 2245, i16 4853, i16 1108, i16 1498, i16 0, i16 0, i16 0, i16 11387, i16 0, i16 0, i16 11388, i16 3027, i16 11389, i16 0, i16 11390, i16 0, i16 6122, i16 0, i16 0, i16 6123, i16 3135, i16 3059, i16 6126, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2530, i16 6136, i16 11392, i16 6132, i16 11393, i16 11394, i16 1008, i16 0, i16 2172, i16 0, i16 0, i16 8264, i16 8265, i16 4194, i16 0, i16 8266, i16 8267, i16 3247, i16 8268, i16 0, i16 0, i16 8269, i16 0, i16 1565, i16 8270, i16 0, i16 0, i16 0, i16 0, i16 4203, i16 4204, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2072, i16 0, i16 0, i16 0, i16 6012, i16 0, i16 6011, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2982, i16 6018, i16 0, i16 6029, i16 0, i16 0, i16 11171, i16 0, i16 1121, i16 0, i16 0, i16 0, i16 6032, i16 0, i16 0, i16 6014, i16 11172, i16 0, i16 0, i16 6019, i16 3549, i16 0, i16 0, i16 10108, i16 0, i16 0, i16 10109, i16 5331, i16 0, i16 5336, i16 10110, i16 10111, i16 5334, i16 5333, i16 4684, i16 1033, i16 5332, i16 10112, i16 803, i16 10113, i16 3011, i16 10114, i16 0, i16 3043, i16 0, i16 0, i16 10115, i16 0, i16 3582, i16 5337, i16 5335, i16 2591, i16 2255, i16 10116, i16 10117, i16 7806, i16 874, i16 2392, i16 1590, i16 1534, i16 1380, i16 7807, i16 7808, i16 3957, i16 2532, i16 2531, i16 1320, i16 2065, i16 3958, i16 3956, i16 969, i16 2507, i16 1897, i16 1822, i16 845, i16 0, i16 7809, i16 1107, i16 1661, i16 1821, i16 0, i16 3959, i16 0, i16 0, i16 0, i16 0, i16 0, i16 639, i16 640, i16 7138, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 7135, i16 7140, i16 7137, i16 7139, i16 7142, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6271, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1076, i16 0, i16 11616, i16 11617, i16 11618, i16 11619, i16 11620, i16 0, i16 6272, i16 0, i16 6273, i16 6274, i16 0, i16 0, i16 9087, i16 9088, i16 4731, i16 0, i16 4727, i16 0, i16 1029, i16 4728, i16 4729, i16 3054, i16 9090, i16 9091, i16 9092, i16 0, i16 3160, i16 1445, i16 4732, i16 0, i16 0, i16 9094, i16 2267, i16 9095, i16 2090, i16 9097, i16 9098, i16 9099, i16 2581, i16 9100, i16 9102, i16 0, i16 9093, i16 9096, i16 9599, i16 0, i16 0, i16 0, i16 9600, i16 2271, i16 0, i16 1100, i16 1734, i16 2097, i16 5055, i16 2001, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1447, i16 0, i16 5054, i16 0, i16 0, i16 0, i16 5076, i16 2044, i16 1523, i16 0, i16 5091, i16 9601, i16 5085, i16 8320, i16 8321, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8322, i16 1203, i16 0, i16 4221, i16 4220, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4222, i16 8323, i16 0, i16 8325, i16 0, i16 8326, i16 0, i16 8327, i16 0, i16 0, i16 8576, i16 4395, i16 0, i16 0, i16 8577, i16 8578, i16 0, i16 8579, i16 4396, i16 0, i16 1325, i16 0, i16 4397, i16 8580, i16 4398, i16 0, i16 8581, i16 4400, i16 0, i16 2805, i16 8582, i16 0, i16 4401, i16 4402, i16 8583, i16 4403, i16 0, i16 8584, i16 4388, i16 4387, i16 0, i16 0, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 0, i16 0, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 1665, i16 2915, i16 0, i16 0, i16 5051, i16 0, i16 0, i16 0, i16 9719, i16 9720, i16 0, i16 3555, i16 5149, i16 0, i16 5153, i16 2522, i16 9721, i16 5152, i16 0, i16 5131, i16 0, i16 9722, i16 6697, i16 0, i16 0, i16 9723, i16 5157, i16 0, i16 9724, i16 9725, i16 5161, i16 0, i16 5249, i16 5250, i16 5248, i16 0, i16 0, i16 9900, i16 0, i16 0, i16 0, i16 1950, i16 0, i16 0, i16 2853, i16 1334, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9901, i16 9902, i16 0, i16 0, i16 5252, i16 2543, i16 5251, i16 9903, i16 9904, i16 3680, i16 2973, i16 9905, i16 0, i16 5507, i16 1426, i16 0, i16 0, i16 10420, i16 10421, i16 10422, i16 1247, i16 1222, i16 1846, i16 10423, i16 10424, i16 0, i16 0, i16 0, i16 10425, i16 3491, i16 10426, i16 0, i16 5513, i16 10427, i16 5512, i16 2379, i16 5509, i16 10428, i16 0, i16 5511, i16 10429, i16 10430, i16 2010, i16 2187, i16 5510, i16 11651, i16 6286, i16 0, i16 11652, i16 0, i16 11653, i16 6289, i16 11654, i16 6290, i16 11655, i16 0, i16 0, i16 0, i16 11656, i16 11657, i16 0, i16 1715, i16 2471, i16 6288, i16 11658, i16 2120, i16 3125, i16 11659, i16 11660, i16 11661, i16 0, i16 0, i16 6287, i16 11662, i16 11663, i16 1855, i16 0, i16 5508, i16 0, i16 2917, i16 0, i16 0, i16 2106, i16 0, i16 10431, i16 3123, i16 10432, i16 0, i16 10433, i16 0, i16 1740, i16 0, i16 0, i16 0, i16 0, i16 10434, i16 0, i16 0, i16 0, i16 0, i16 2807, i16 0, i16 10435, i16 5514, i16 10436, i16 10437, i16 0, i16 10438, i16 5515, i16 4485, i16 1972, i16 8706, i16 4488, i16 0, i16 0, i16 4482, i16 8707, i16 3469, i16 3468, i16 8708, i16 0, i16 8709, i16 4492, i16 4493, i16 798, i16 8710, i16 8711, i16 8712, i16 8713, i16 8714, i16 4481, i16 8715, i16 8716, i16 0, i16 8717, i16 1391, i16 751, i16 8718, i16 0, i16 8719, i16 1143, i16 4230, i16 8332, i16 0, i16 4228, i16 0, i16 4229, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8333, i16 8334, i16 0, i16 0, i16 0, i16 1829, i16 4231, i16 8335, i16 0, i16 1597, i16 4232, i16 8336, i16 1869, i16 2461, i16 0, i16 4233, i16 4234, i16 1837, i16 1598, i16 8337, i16 3427, i16 1673, i16 0, i16 3259, i16 5542, i16 10499, i16 10500, i16 3335, i16 10501, i16 10502, i16 5544, i16 0, i16 0, i16 10503, i16 2298, i16 886, i16 959, i16 757, i16 0, i16 0, i16 0, i16 0, i16 10504, i16 10505, i16 5543, i16 0, i16 10506, i16 0, i16 0, i16 10507, i16 10508, i16 0, i16 10509, i16 2441, i16 6521, i16 754, i16 3661, i16 0, i16 0, i16 0, i16 6526, i16 12021, i16 12022, i16 12024, i16 0, i16 12025, i16 12026, i16 2502, i16 12023, i16 0, i16 1988, i16 2197, i16 12027, i16 12028, i16 6528, i16 6527, i16 12029, i16 824, i16 6529, i16 0, i16 0, i16 3110, i16 0, i16 6537, i16 12030, i16 8585, i16 4404, i16 1436, i16 8586, i16 8587, i16 0, i16 3102, i16 8588, i16 0, i16 1729, i16 3118, i16 2631, i16 3138, i16 4405, i16 0, i16 8589, i16 2081, i16 877, i16 8590, i16 4406, i16 8591, i16 8592, i16 0, i16 4407, i16 8593, i16 3459, i16 8594, i16 0, i16 3065, i16 8595, i16 8596, i16 4410, i16 10634, i16 1163, i16 0, i16 5637, i16 0, i16 10635, i16 10636, i16 5638, i16 10637, i16 0, i16 5639, i16 5642, i16 10638, i16 0, i16 0, i16 0, i16 0, i16 10639, i16 0, i16 10640, i16 10641, i16 0, i16 10642, i16 5641, i16 3087, i16 10643, i16 10644, i16 0, i16 0, i16 5643, i16 3657, i16 3266, i16 1675, i16 3402, i16 12998, i16 12997, i16 7003, i16 12999, i16 0, i16 0, i16 0, i16 13000, i16 13001, i16 13002, i16 3301, i16 0, i16 0, i16 7011, i16 13003, i16 0, i16 7007, i16 0, i16 0, i16 0, i16 13004, i16 13005, i16 0, i16 0, i16 7012, i16 13006, i16 13007, i16 0, i16 13008, i16 0, i16 7563, i16 7564, i16 7565, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7566, i16 0, i16 1722, i16 3506, i16 0, i16 7567, i16 7568, i16 0, i16 3804, i16 3807, i16 3803, i16 1721, i16 0, i16 2060, i16 0, i16 7569, i16 7570, i16 0, i16 0, i16 7571, i16 1428, i16 0, i16 3980, i16 7837, i16 0, i16 7838, i16 3982, i16 7839, i16 3984, i16 0, i16 7840, i16 7841, i16 0, i16 1765, i16 3693, i16 7842, i16 3973, i16 3971, i16 3983, i16 7843, i16 3978, i16 0, i16 0, i16 7844, i16 7845, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7846, i16 0, i16 0, i16 7847, i16 9868, i16 953, i16 3679, i16 9869, i16 0, i16 0, i16 0, i16 3333, i16 9870, i16 3199, i16 0, i16 9871, i16 0, i16 0, i16 9872, i16 9873, i16 0, i16 9874, i16 2272, i16 0, i16 5232, i16 0, i16 0, i16 9875, i16 9876, i16 2848, i16 0, i16 9877, i16 9878, i16 1500, i16 5233, i16 9879, i16 11148, i16 6005, i16 0, i16 0, i16 0, i16 2246, i16 0, i16 11149, i16 0, i16 11150, i16 1253, i16 0, i16 1370, i16 0, i16 6000, i16 11151, i16 11152, i16 11153, i16 0, i16 992, i16 11154, i16 0, i16 2113, i16 0, i16 6003, i16 0, i16 0, i16 0, i16 1743, i16 11155, i16 0, i16 2768, i16 4749, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4751, i16 0, i16 9131, i16 4752, i16 0, i16 9132, i16 9133, i16 0, i16 9134, i16 0, i16 4753, i16 0, i16 1351, i16 879, i16 1616, i16 4754, i16 0, i16 4755, i16 2048, i16 2409, i16 9135, i16 9089, i16 3954, i16 2373, i16 2372, i16 2493, i16 9101, i16 1348, i16 0, i16 4733, i16 4737, i16 0, i16 0, i16 976, i16 4734, i16 4736, i16 0, i16 9103, i16 9104, i16 9105, i16 4735, i16 0, i16 9106, i16 2042, i16 9107, i16 0, i16 0, i16 0, i16 2571, i16 782, i16 4738, i16 9108, i16 9109, i16 9110, i16 9111, i16 4739, i16 0, i16 9112, i16 10897, i16 5830, i16 0, i16 0, i16 10898, i16 0, i16 10899, i16 0, i16 5831, i16 0, i16 0, i16 0, i16 10900, i16 0, i16 10901, i16 0, i16 10902, i16 0, i16 0, i16 1883, i16 10903, i16 10904, i16 3454, i16 10905, i16 0, i16 10906, i16 10907, i16 5833, i16 10908, i16 2562, i16 10909, i16 5832, i16 3218, i16 3626, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8131, i16 1017, i16 4128, i16 8132, i16 8133, i16 0, i16 8134, i16 8135, i16 2369, i16 4131, i16 0, i16 2786, i16 8136, i16 0, i16 2760, i16 2787, i16 3026, i16 2670, i16 0, i16 0, i16 0, i16 1726, i16 8137, i16 3731, i16 3303, i16 3732, i16 0, i16 1579, i16 816, i16 3365, i16 0, i16 1307, i16 0, i16 0, i16 1308, i16 1309, i16 2691, i16 3593, i16 7399, i16 3733, i16 0, i16 0, i16 3734, i16 0, i16 0, i16 3735, i16 0, i16 0, i16 7400, i16 2200, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4243, i16 8345, i16 0, i16 4244, i16 8346, i16 2517, i16 8347, i16 846, i16 1946, i16 779, i16 8348, i16 2398, i16 1137, i16 1894, i16 8349, i16 1599, i16 8350, i16 8351, i16 0, i16 8352, i16 8353, i16 2789, i16 8354, i16 1968, i16 1138, i16 2603, i16 2699, i16 769, i16 1240, i16 3274, i16 0, i16 1907, i16 7060, i16 0, i16 0, i16 0, i16 13092, i16 7061, i16 0, i16 13093, i16 7062, i16 0, i16 0, i16 0, i16 13094, i16 13095, i16 13096, i16 7063, i16 13097, i16 13098, i16 13099, i16 0, i16 7064, i16 13100, i16 7065, i16 7066, i16 13101, i16 7067, i16 0, i16 7068, i16 7069, i16 7070, i16 0, i16 13102, i16 7572, i16 0, i16 3808, i16 7573, i16 7574, i16 1356, i16 0, i16 7575, i16 0, i16 3805, i16 3806, i16 0, i16 7576, i16 2828, i16 7577, i16 2435, i16 7578, i16 1312, i16 0, i16 7579, i16 7580, i16 3328, i16 3809, i16 0, i16 7581, i16 0, i16 3594, i16 0, i16 7582, i16 7583, i16 3810, i16 7584, i16 6549, i16 6548, i16 6546, i16 5564, i16 1173, i16 12043, i16 0, i16 6514, i16 12044, i16 6551, i16 6550, i16 12045, i16 12046, i16 0, i16 12047, i16 6552, i16 12048, i16 3495, i16 0, i16 0, i16 0, i16 12049, i16 0, i16 12050, i16 12051, i16 12052, i16 0, i16 12053, i16 0, i16 0, i16 0, i16 0, i16 2710, i16 2000, i16 1280, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9490, i16 9491, i16 0, i16 9492, i16 3039, i16 9493, i16 1887, i16 0, i16 9494, i16 0, i16 9495, i16 5004, i16 0, i16 1153, i16 0, i16 9496, i16 927, i16 9497, i16 9498, i16 2895, i16 5003, i16 1621, i16 10390, i16 10391, i16 0, i16 0, i16 10387, i16 0, i16 10392, i16 5497, i16 3348, i16 0, i16 10393, i16 0, i16 5496, i16 0, i16 0, i16 820, i16 0, i16 0, i16 10394, i16 10395, i16 5500, i16 0, i16 10397, i16 10398, i16 0, i16 0, i16 10399, i16 10400, i16 0, i16 5499, i16 0, i16 10401, i16 12184, i16 12185, i16 0, i16 0, i16 12186, i16 12187, i16 12188, i16 12189, i16 0, i16 12190, i16 12191, i16 0, i16 12192, i16 2876, i16 1062, i16 0, i16 12193, i16 6601, i16 12194, i16 12195, i16 6598, i16 6600, i16 12196, i16 0, i16 12197, i16 0, i16 0, i16 0, i16 12198, i16 12199, i16 6596, i16 0, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 3481, i16 0, i16 8676, i16 1142, i16 8677, i16 8678, i16 896, i16 4468, i16 8679, i16 2933, i16 758, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8680, i16 8681, i16 3066, i16 4428, i16 4474, i16 4478, i16 3446, i16 8682, i16 4471, i16 0, i16 0, i16 8683, i16 2792, i16 4476, i16 8684, i16 0, i16 9113, i16 0, i16 2635, i16 0, i16 9114, i16 0, i16 3646, i16 0, i16 0, i16 0, i16 0, i16 1814, i16 0, i16 9115, i16 3264, i16 0, i16 0, i16 9116, i16 9117, i16 0, i16 3312, i16 9118, i16 0, i16 0, i16 4746, i16 4741, i16 0, i16 9119, i16 4744, i16 0, i16 4743, i16 9120, i16 922, i16 2387, i16 12036, i16 1512, i16 0, i16 3529, i16 12037, i16 12038, i16 6541, i16 2731, i16 0, i16 0, i16 12039, i16 2431, i16 1928, i16 6542, i16 12040, i16 0, i16 6545, i16 0, i16 12041, i16 2036, i16 6543, i16 2354, i16 2353, i16 12042, i16 813, i16 0, i16 3608, i16 6547, i16 0, i16 3083, i16 2714, i16 5730, i16 10770, i16 0, i16 5726, i16 10771, i16 10772, i16 0, i16 3241, i16 1164, i16 10773, i16 10774, i16 3420, i16 10775, i16 0, i16 807, i16 0, i16 10776, i16 5729, i16 0, i16 3658, i16 10777, i16 10778, i16 0, i16 0, i16 10779, i16 10780, i16 5728, i16 0, i16 0, i16 0, i16 0, i16 11930, i16 11931, i16 0, i16 11932, i16 11933, i16 6468, i16 6465, i16 11934, i16 6469, i16 0, i16 1927, i16 6470, i16 1231, i16 1422, i16 0, i16 11935, i16 0, i16 11936, i16 1511, i16 0, i16 11937, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6471, i16 11938, i16 0, i16 0, i16 2893, i16 11419, i16 0, i16 0, i16 11420, i16 0, i16 11421, i16 0, i16 0, i16 0, i16 2319, i16 0, i16 3684, i16 6148, i16 11422, i16 6149, i16 0, i16 0, i16 0, i16 0, i16 6155, i16 0, i16 2165, i16 0, i16 6151, i16 11423, i16 6154, i16 0, i16 0, i16 0, i16 11424, i16 0, i16 6146, i16 11675, i16 0, i16 6296, i16 11676, i16 6297, i16 6295, i16 11677, i16 1553, i16 0, i16 3503, i16 0, i16 11678, i16 1858, i16 2914, i16 0, i16 11679, i16 11680, i16 6300, i16 11681, i16 2281, i16 0, i16 2565, i16 11682, i16 11683, i16 3493, i16 11684, i16 6303, i16 0, i16 0, i16 0, i16 1573, i16 11685, i16 10140, i16 10141, i16 5356, i16 5358, i16 10142, i16 3129, i16 10143, i16 2102, i16 0, i16 0, i16 5365, i16 0, i16 10144, i16 5364, i16 10145, i16 10146, i16 0, i16 0, i16 5366, i16 0, i16 1879, i16 1700, i16 0, i16 10147, i16 2806, i16 5367, i16 0, i16 2668, i16 10148, i16 0, i16 5369, i16 10149, i16 10396, i16 2105, i16 0, i16 0, i16 0, i16 0, i16 10402, i16 5501, i16 0, i16 0, i16 0, i16 0, i16 10403, i16 0, i16 2378, i16 0, i16 10404, i16 5503, i16 5502, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5504, i16 10405, i16 0, i16 10406, i16 0, i16 10407, i16 10408, i16 5789, i16 10839, i16 0, i16 10840, i16 10841, i16 10842, i16 10843, i16 5792, i16 5790, i16 5791, i16 1750, i16 1454, i16 0, i16 10844, i16 2585, i16 0, i16 3020, i16 10845, i16 2047, i16 0, i16 0, i16 2952, i16 0, i16 3078, i16 5793, i16 4539, i16 0, i16 0, i16 0, i16 10846, i16 10847, i16 10848, i16 10910, i16 0, i16 0, i16 0, i16 10911, i16 0, i16 5835, i16 0, i16 0, i16 0, i16 5834, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5836, i16 0, i16 0, i16 0, i16 2276, i16 0, i16 5837, i16 0, i16 5838, i16 0, i16 0, i16 0, i16 3214, i16 5839, i16 12702, i16 12703, i16 6839, i16 0, i16 0, i16 6841, i16 12704, i16 12705, i16 12706, i16 6840, i16 0, i16 6843, i16 6846, i16 12707, i16 12708, i16 0, i16 6842, i16 6844, i16 6845, i16 0, i16 12709, i16 6847, i16 0, i16 1343, i16 12710, i16 12711, i16 0, i16 12712, i16 12713, i16 0, i16 12714, i16 12715, i16 1951, i16 9987, i16 0, i16 9988, i16 0, i16 5280, i16 9989, i16 9990, i16 0, i16 9991, i16 1433, i16 0, i16 0, i16 3042, i16 5281, i16 0, i16 0, i16 5308, i16 0, i16 0, i16 9992, i16 9993, i16 0, i16 9994, i16 5287, i16 9995, i16 9996, i16 9997, i16 0, i16 9998, i16 1526, i16 9999, i16 5279, i16 0, i16 982, i16 0, i16 0, i16 9976, i16 9977, i16 0, i16 5275, i16 9978, i16 1804, i16 9979, i16 9980, i16 2658, i16 5277, i16 9981, i16 0, i16 0, i16 9982, i16 9983, i16 0, i16 0, i16 9984, i16 0, i16 0, i16 9985, i16 0, i16 0, i16 0, i16 9986, i16 5282, i16 0, i16 5535, i16 10488, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10489, i16 0, i16 0, i16 0, i16 10490, i16 0, i16 10491, i16 1952, i16 10492, i16 10493, i16 5538, i16 825, i16 0, i16 10494, i16 10495, i16 0, i16 5541, i16 10496, i16 10497, i16 10498, i16 5539, i16 985, i16 1449, i16 5540, i16 1629, i16 2976, i16 11805, i16 1510, i16 6388, i16 6387, i16 0, i16 3169, i16 0, i16 11806, i16 0, i16 1906, i16 0, i16 11807, i16 2769, i16 0, i16 11808, i16 11809, i16 0, i16 11810, i16 0, i16 0, i16 11811, i16 0, i16 11812, i16 11813, i16 0, i16 6391, i16 6392, i16 1647, i16 6390, i16 11814, i16 11815, i16 9632, i16 0, i16 823, i16 0, i16 0, i16 5106, i16 0, i16 9633, i16 0, i16 0, i16 5094, i16 0, i16 0, i16 9634, i16 9635, i16 5100, i16 0, i16 9636, i16 5102, i16 9637, i16 0, i16 0, i16 3518, i16 5097, i16 0, i16 0, i16 2733, i16 9638, i16 0, i16 5099, i16 0, i16 9639, i16 10912, i16 2422, i16 5840, i16 0, i16 10913, i16 0, i16 10914, i16 0, i16 5841, i16 0, i16 0, i16 0, i16 0, i16 10915, i16 0, i16 3659, i16 5844, i16 10916, i16 5843, i16 5842, i16 2641, i16 10917, i16 5845, i16 2161, i16 0, i16 5846, i16 0, i16 0, i16 0, i16 5847, i16 3683, i16 5848, i16 5537, i16 1365, i16 0, i16 0, i16 3688, i16 2364, i16 0, i16 0, i16 0, i16 0, i16 5516, i16 10439, i16 10440, i16 983, i16 2712, i16 3190, i16 0, i16 10441, i16 0, i16 10442, i16 10443, i16 10444, i16 10445, i16 0, i16 10446, i16 0, i16 0, i16 10447, i16 10448, i16 5517, i16 0, i16 0, i16 9121, i16 4740, i16 9122, i16 9123, i16 4745, i16 0, i16 0, i16 2875, i16 9124, i16 4742, i16 0, i16 0, i16 9125, i16 0, i16 9126, i16 9127, i16 0, i16 0, i16 0, i16 0, i16 9128, i16 0, i16 4747, i16 0, i16 0, i16 2043, i16 4748, i16 9129, i16 3514, i16 2995, i16 0, i16 9130, i16 4770, i16 2143, i16 3438, i16 4772, i16 4773, i16 3543, i16 9153, i16 0, i16 0, i16 0, i16 4778, i16 0, i16 9154, i16 1617, i16 9155, i16 2960, i16 4775, i16 2795, i16 4712, i16 4716, i16 9156, i16 1262, i16 9157, i16 2946, i16 0, i16 0, i16 0, i16 9158, i16 4777, i16 0, i16 2091, i16 3037, i16 932, i16 2261, i16 4409, i16 4408, i16 1437, i16 2489, i16 0, i16 4414, i16 4412, i16 8597, i16 4411, i16 3572, i16 1566, i16 8598, i16 0, i16 8599, i16 2056, i16 4413, i16 2763, i16 1997, i16 0, i16 0, i16 8600, i16 2845, i16 4417, i16 4416, i16 0, i16 0, i16 8601, i16 8602, i16 4415, i16 0, i16 10150, i16 10151, i16 3566, i16 5368, i16 10152, i16 0, i16 0, i16 10153, i16 0, i16 2416, i16 0, i16 0, i16 10154, i16 0, i16 10155, i16 10156, i16 5374, i16 10157, i16 5376, i16 5377, i16 2583, i16 0, i16 0, i16 0, i16 0, i16 10158, i16 5375, i16 0, i16 5372, i16 0, i16 5370, i16 5371, i16 9640, i16 9641, i16 5107, i16 9642, i16 5101, i16 3416, i16 0, i16 9643, i16 9644, i16 5096, i16 9645, i16 1875, i16 5120, i16 9646, i16 9647, i16 9648, i16 0, i16 1101, i16 0, i16 5098, i16 5103, i16 5104, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2513, i16 2495, i16 0, i16 4009, i16 7890, i16 0, i16 0, i16 2516, i16 4014, i16 2067, i16 7891, i16 0, i16 7892, i16 7893, i16 0, i16 4011, i16 7894, i16 0, i16 3445, i16 7895, i16 7896, i16 0, i16 1431, i16 0, i16 0, i16 4015, i16 4016, i16 7897, i16 0, i16 7898, i16 7899, i16 4013, i16 4019, i16 7900, i16 0, i16 6057, i16 6061, i16 0, i16 3058, i16 0, i16 0, i16 11253, i16 0, i16 6060, i16 2115, i16 1914, i16 6063, i16 0, i16 0, i16 1339, i16 11254, i16 11255, i16 11256, i16 11257, i16 11258, i16 0, i16 6064, i16 11259, i16 3184, i16 6059, i16 11260, i16 6020, i16 0, i16 11261, i16 11262, i16 11263, i16 11264, i16 10409, i16 0, i16 0, i16 0, i16 0, i16 10410, i16 5474, i16 10411, i16 0, i16 10412, i16 5476, i16 5506, i16 5505, i16 10413, i16 0, i16 0, i16 0, i16 10414, i16 0, i16 0, i16 10415, i16 10416, i16 0, i16 0, i16 0, i16 0, i16 1881, i16 10417, i16 3638, i16 10418, i16 1923, i16 10419, i16 4266, i16 0, i16 4267, i16 8383, i16 3441, i16 0, i16 8384, i16 0, i16 4268, i16 8385, i16 0, i16 8386, i16 8387, i16 1347, i16 8388, i16 0, i16 8389, i16 1969, i16 8390, i16 0, i16 0, i16 8391, i16 8392, i16 0, i16 4269, i16 4270, i16 1933, i16 2167, i16 2897, i16 2207, i16 3089, i16 2909, i16 6315, i16 6323, i16 6316, i16 0, i16 6312, i16 0, i16 2717, i16 6311, i16 0, i16 0, i16 0, i16 6309, i16 11707, i16 3472, i16 1859, i16 0, i16 11708, i16 6313, i16 0, i16 6310, i16 11709, i16 11710, i16 11711, i16 6317, i16 2051, i16 0, i16 1530, i16 0, i16 11712, i16 0, i16 2527, i16 11713, i16 7083, i16 7084, i16 3645, i16 7081, i16 0, i16 0, i16 7085, i16 7086, i16 13145, i16 13146, i16 7088, i16 0, i16 7087, i16 13147, i16 13148, i16 13149, i16 13150, i16 13151, i16 7090, i16 13152, i16 0, i16 13153, i16 7091, i16 7089, i16 0, i16 0, i16 13154, i16 0, i16 0, i16 13155, i16 0, i16 0, i16 11947, i16 0, i16 11948, i16 1078, i16 0, i16 6478, i16 0, i16 11949, i16 11950, i16 1745, i16 6477, i16 0, i16 6486, i16 0, i16 0, i16 11951, i16 11952, i16 0, i16 6480, i16 6482, i16 3258, i16 6479, i16 11953, i16 11954, i16 11955, i16 6481, i16 0, i16 6485, i16 6483, i16 1232, i16 11956, i16 6484, i16 1964, i16 0, i16 12536, i16 12537, i16 6746, i16 12538, i16 6747, i16 2199, i16 6748, i16 12539, i16 3643, i16 0, i16 0, i16 6743, i16 6750, i16 6752, i16 0, i16 6751, i16 0, i16 6749, i16 0, i16 0, i16 6753, i16 0, i16 0, i16 6754, i16 12540, i16 12541, i16 2433, i16 12542, i16 999, i16 0, i16 12716, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8365, i16 8366, i16 1941, i16 4247, i16 1204, i16 2863, i16 3386, i16 4248, i16 0, i16 4249, i16 0, i16 0, i16 3152, i16 8367, i16 0, i16 8368, i16 4251, i16 0, i16 1129, i16 1396, i16 4250, i16 0, i16 8369, i16 8370, i16 8371, i16 8372, i16 8373, i16 1139, i16 0, i16 2173, i16 4255, i16 1780, i16 10159, i16 5373, i16 10160, i16 10161, i16 10162, i16 0, i16 0, i16 10163, i16 10164, i16 5380, i16 10165, i16 5378, i16 10166, i16 5379, i16 0, i16 10167, i16 0, i16 0, i16 10168, i16 10169, i16 0, i16 10170, i16 10171, i16 0, i16 0, i16 10172, i16 0, i16 10173, i16 10174, i16 10175, i16 10176, i16 5381, i16 2480, i16 12493, i16 6712, i16 0, i16 3172, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6715, i16 6713, i16 1654, i16 0, i16 6714, i16 1531, i16 0, i16 12494, i16 0, i16 12495, i16 0, i16 12496, i16 12497, i16 12498, i16 0, i16 0, i16 3226, i16 6717, i16 6719, i16 6718, i16 6720, i16 6065, i16 11276, i16 0, i16 0, i16 2993, i16 11277, i16 11278, i16 6075, i16 6067, i16 11279, i16 6069, i16 11280, i16 11281, i16 0, i16 0, i16 11282, i16 6079, i16 6068, i16 0, i16 11283, i16 6072, i16 0, i16 0, i16 921, i16 11284, i16 2882, i16 0, i16 6073, i16 6076, i16 11285, i16 0, i16 11286, i16 10673, i16 5663, i16 5661, i16 0, i16 5659, i16 1122, i16 10674, i16 2110, i16 5664, i16 0, i16 0, i16 5662, i16 0, i16 5660, i16 5668, i16 0, i16 10675, i16 5667, i16 5666, i16 5665, i16 0, i16 0, i16 10676, i16 10677, i16 0, i16 5669, i16 10678, i16 10679, i16 10680, i16 5670, i16 2275, i16 10681, i16 6834, i16 6830, i16 12689, i16 0, i16 6833, i16 0, i16 12690, i16 12691, i16 1180, i16 0, i16 0, i16 12692, i16 6835, i16 0, i16 6836, i16 0, i16 0, i16 12693, i16 12694, i16 12695, i16 12696, i16 12697, i16 0, i16 0, i16 0, i16 12698, i16 12699, i16 12700, i16 12701, i16 6837, i16 6838, i16 0, i16 11186, i16 3177, i16 6034, i16 2814, i16 11187, i16 11188, i16 762, i16 11189, i16 0, i16 6027, i16 11190, i16 6023, i16 2425, i16 6017, i16 6025, i16 6030, i16 11191, i16 2919, i16 0, i16 11192, i16 11193, i16 755, i16 11194, i16 6022, i16 11195, i16 6031, i16 3183, i16 0, i16 11196, i16 11197, i16 0, i16 0, i16 2228, i16 5817, i16 0, i16 10873, i16 0, i16 10874, i16 5818, i16 0, i16 10875, i16 5819, i16 0, i16 1190, i16 10876, i16 0, i16 10877, i16 10878, i16 1166, i16 0, i16 10879, i16 5820, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5821, i16 10880, i16 3344, i16 3538, i16 10881, i16 10882, i16 10883, i16 2996, i16 0, i16 1154, i16 3655, i16 0, i16 0, i16 9664, i16 0, i16 0, i16 9665, i16 9666, i16 3378, i16 2675, i16 9673, i16 0, i16 9667, i16 9668, i16 5117, i16 5119, i16 9669, i16 0, i16 0, i16 9670, i16 0, i16 2361, i16 0, i16 0, i16 9671, i16 9672, i16 0, i16 5121, i16 5115, i16 4021, i16 7906, i16 7907, i16 4031, i16 2360, i16 0, i16 7908, i16 4033, i16 7909, i16 1593, i16 4023, i16 2624, i16 0, i16 0, i16 7910, i16 7911, i16 0, i16 7912, i16 7913, i16 7914, i16 7915, i16 0, i16 0, i16 7916, i16 4027, i16 4020, i16 1134, i16 0, i16 1199, i16 1096, i16 4028, i16 4024, i16 11957, i16 11958, i16 0, i16 11959, i16 0, i16 11960, i16 6487, i16 11961, i16 11962, i16 2965, i16 3621, i16 0, i16 11963, i16 11964, i16 11965, i16 1987, i16 0, i16 0, i16 0, i16 6488, i16 11966, i16 11967, i16 11968, i16 11969, i16 3473, i16 6490, i16 11970, i16 6489, i16 0, i16 0, i16 6493, i16 3504, i16 7094, i16 13164, i16 13165, i16 13166, i16 0, i16 13167, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8374, i16 974, i16 4254, i16 0, i16 4252, i16 4256, i16 4253, i16 2918, i16 4883, i16 2174, i16 0, i16 4257, i16 0, i16 0, i16 3597, i16 8375, i16 4258, i16 8376, i16 0, i16 4260, i16 8377, i16 2625, i16 4259, i16 0, i16 2252, i16 0, i16 1870, i16 0, i16 0, i16 8378, i16 2485, i16 1960, i16 9142, i16 0, i16 9143, i16 0, i16 0, i16 0, i16 4759, i16 4760, i16 3435, i16 0, i16 3381, i16 3369, i16 3343, i16 1784, i16 4762, i16 0, i16 0, i16 1948, i16 0, i16 9144, i16 3332, i16 0, i16 4764, i16 4767, i16 4766, i16 0, i16 1210, i16 0, i16 0, i16 1279, i16 9145, i16 4763, i16 1975, i16 1847, i16 10458, i16 0, i16 10459, i16 0, i16 0, i16 10460, i16 10461, i16 5525, i16 10462, i16 1976, i16 0, i16 0, i16 0, i16 10463, i16 0, i16 975, i16 3130, i16 0, i16 10464, i16 5526, i16 10465, i16 0, i16 3076, i16 0, i16 10466, i16 0, i16 0, i16 10467, i16 10468, i16 2380, i16 6327, i16 3527, i16 0, i16 0, i16 0, i16 0, i16 6330, i16 0, i16 6333, i16 0, i16 0, i16 6331, i16 3116, i16 11722, i16 0, i16 0, i16 11723, i16 0, i16 0, i16 6328, i16 0, i16 0, i16 0, i16 11724, i16 0, i16 1373, i16 0, i16 0, i16 11725, i16 0, i16 6332, i16 0, i16 6584, i16 6585, i16 12161, i16 12162, i16 0, i16 12163, i16 3049, i16 1736, i16 1938, i16 6586, i16 0, i16 6587, i16 3569, i16 2004, i16 3455, i16 3609, i16 6588, i16 1375, i16 0, i16 12164, i16 12165, i16 0, i16 6589, i16 12166, i16 2722, i16 12167, i16 12168, i16 6592, i16 1115, i16 2198, i16 12169, i16 6590, i16 10936, i16 1550, i16 0, i16 0, i16 838, i16 5859, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10937, i16 10938, i16 5866, i16 10939, i16 5867, i16 10940, i16 10941, i16 2838, i16 0, i16 10942, i16 0, i16 1336, i16 10943, i16 10944, i16 0, i16 5878, i16 2936, i16 10945, i16 0, i16 11448, i16 0, i16 6159, i16 11449, i16 0, i16 0, i16 0, i16 11450, i16 0, i16 0, i16 0, i16 6168, i16 11451, i16 11452, i16 11453, i16 6162, i16 0, i16 11454, i16 0, i16 6170, i16 0, i16 11455, i16 0, i16 0, i16 0, i16 0, i16 3541, i16 6173, i16 0, i16 6164, i16 11456, i16 11457, i16 12216, i16 0, i16 12217, i16 12218, i16 2739, i16 6604, i16 12219, i16 12220, i16 6607, i16 6605, i16 12221, i16 6610, i16 0, i16 12222, i16 12223, i16 12224, i16 6611, i16 12225, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6603, i16 12226, i16 12227, i16 6616, i16 923, i16 12228, i16 12229, i16 6602, i16 0, i16 7865, i16 832, i16 4007, i16 0, i16 0, i16 3999, i16 4000, i16 0, i16 2066, i16 3356, i16 7866, i16 0, i16 7867, i16 4005, i16 4004, i16 7868, i16 0, i16 0, i16 2734, i16 0, i16 0, i16 0, i16 7869, i16 0, i16 0, i16 0, i16 4006, i16 0, i16 7870, i16 4003, i16 7871, i16 7872, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 0, i16 687, i16 7156, i16 7157, i16 7158, i16 7159, i16 7160, i16 7161, i16 7162, i16 7163, i16 7164, i16 7165, i16 7166, i16 0, i16 7167, i16 7168, i16 2490, i16 4430, i16 0, i16 0, i16 8646, i16 1277, i16 4440, i16 2262, i16 908, i16 4434, i16 1021, i16 4439, i16 0, i16 8647, i16 0, i16 1326, i16 0, i16 4436, i16 0, i16 8648, i16 0, i16 8649, i16 0, i16 0, i16 0, i16 0, i16 4442, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12475, i16 6705, i16 6707, i16 0, i16 12476, i16 6706, i16 12477, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1724, i16 0, i16 0, i16 3792, i16 0, i16 9136, i16 0, i16 9137, i16 1481, i16 3484, i16 0, i16 3283, i16 0, i16 3189, i16 9138, i16 4756, i16 0, i16 0, i16 0, i16 9139, i16 1768, i16 2656, i16 4757, i16 3674, i16 0, i16 9140, i16 0, i16 3313, i16 9141, i16 2636, i16 4758, i16 1213, i16 8124, i16 4126, i16 0, i16 0, i16 2698, i16 0, i16 8125, i16 8126, i16 0, i16 0, i16 1135, i16 0, i16 0, i16 8127, i16 0, i16 7095, i16 904, i16 3272, i16 8128, i16 0, i16 2137, i16 2759, i16 0, i16 0, i16 0, i16 8129, i16 1755, i16 0, i16 0, i16 4132, i16 0, i16 8130, i16 5309, i16 0, i16 3122, i16 5310, i16 10082, i16 0, i16 1125, i16 5311, i16 10083, i16 5312, i16 10084, i16 10085, i16 0, i16 0, i16 5313, i16 10086, i16 5315, i16 5316, i16 5314, i16 0, i16 10087, i16 0, i16 3146, i16 5318, i16 5317, i16 0, i16 10088, i16 10089, i16 10090, i16 0, i16 0, i16 10091, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 1470, i16 2526, i16 5138, i16 2934, i16 0, i16 9713, i16 5145, i16 9714, i16 9715, i16 0, i16 9716, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5150, i16 5148, i16 0, i16 0, i16 5151, i16 0, i16 9717, i16 5154, i16 0, i16 0, i16 9718, i16 5147, i16 7873, i16 7874, i16 0, i16 0, i16 859, i16 7875, i16 1707, i16 2171, i16 7876, i16 7877, i16 0, i16 0, i16 7878, i16 7879, i16 7880, i16 4001, i16 2785, i16 0, i16 0, i16 0, i16 4002, i16 7881, i16 747, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1474, i16 1874, i16 0, i16 1362, i16 9412, i16 0, i16 0, i16 937, i16 9413, i16 0, i16 0, i16 9414, i16 9415, i16 0, i16 0, i16 9416, i16 0, i16 0, i16 3534, i16 0, i16 0, i16 9417, i16 9418, i16 4956, i16 4955, i16 4958, i16 1244, i16 9419, i16 0, i16 1363, i16 1151, i16 9420, i16 3523, i16 3682, i16 0, i16 1636, i16 5824, i16 1925, i16 5823, i16 10884, i16 10885, i16 0, i16 10886, i16 5825, i16 1882, i16 10887, i16 10888, i16 10889, i16 2486, i16 10890, i16 5826, i16 10891, i16 10892, i16 1635, i16 10893, i16 3432, i16 5827, i16 5828, i16 0, i16 0, i16 5829, i16 10894, i16 10895, i16 10896, i16 11971, i16 11972, i16 6492, i16 11973, i16 1104, i16 6491, i16 6496, i16 11974, i16 0, i16 6495, i16 0, i16 0, i16 6494, i16 2737, i16 6497, i16 11975, i16 0, i16 11976, i16 11977, i16 11978, i16 11979, i16 11980, i16 0, i16 6498, i16 11981, i16 0, i16 0, i16 0, i16 6499, i16 11982, i16 11983, i16 1667, i16 3012, i16 10118, i16 3108, i16 0, i16 5339, i16 3577, i16 1448, i16 5340, i16 0, i16 5338, i16 3055, i16 5341, i16 0, i16 5342, i16 0, i16 10119, i16 804, i16 10120, i16 0, i16 2147, i16 5347, i16 0, i16 5344, i16 2890, i16 5343, i16 10121, i16 10122, i16 10123, i16 10124, i16 10125, i16 10126, i16 1221, i16 4804, i16 1472, i16 1446, i16 2796, i16 9208, i16 9209, i16 4802, i16 0, i16 783, i16 0, i16 9210, i16 0, i16 9211, i16 4805, i16 4807, i16 0, i16 1354, i16 1415, i16 9193, i16 1149, i16 1258, i16 9212, i16 0, i16 9213, i16 9214, i16 4810, i16 0, i16 9215, i16 1774, i16 3364, i16 0, i16 1802, i16 8900, i16 759, i16 0, i16 4625, i16 0, i16 8901, i16 0, i16 0, i16 0, i16 4622, i16 8902, i16 0, i16 8903, i16 0, i16 1209, i16 0, i16 0, i16 0, i16 8904, i16 8905, i16 910, i16 8906, i16 4628, i16 0, i16 8907, i16 8908, i16 3512, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2501, i16 2430, i16 12015, i16 2821, i16 12016, i16 6516, i16 1268, i16 0, i16 12017, i16 0, i16 0, i16 6525, i16 12018, i16 6522, i16 6535, i16 2822, i16 2595, i16 6519, i16 0, i16 2719, i16 2770, i16 6520, i16 6524, i16 2219, i16 12019, i16 2978, i16 2669, i16 12020, i16 0, i16 2283, i16 6523, i16 2451, i16 4550, i16 8780, i16 0, i16 8781, i16 8782, i16 0, i16 0, i16 8783, i16 4551, i16 4552, i16 3263, i16 0, i16 4554, i16 4553, i16 1998, i16 0, i16 2263, i16 1003, i16 1025, i16 8784, i16 4555, i16 8785, i16 776, i16 0, i16 0, i16 0, i16 2293, i16 4556, i16 8786, i16 6377, i16 4557, i16 1468, i16 12230, i16 12231, i16 3014, i16 0, i16 6606, i16 12232, i16 2125, i16 12233, i16 12234, i16 12235, i16 0, i16 0, i16 0, i16 0, i16 12236, i16 12237, i16 12238, i16 1650, i16 0, i16 0, i16 0, i16 12239, i16 12240, i16 12241, i16 12242, i16 12243, i16 0, i16 12244, i16 12245, i16 12246, i16 3323, i16 12247, i16 1479, i16 11505, i16 6195, i16 11506, i16 6194, i16 11507, i16 1983, i16 0, i16 11508, i16 11509, i16 11510, i16 11511, i16 1643, i16 5033, i16 11512, i16 0, i16 0, i16 11513, i16 6196, i16 2016, i16 0, i16 11514, i16 11515, i16 1052, i16 11516, i16 6197, i16 11517, i16 889, i16 11518, i16 2116, i16 6198, i16 11519, i16 968, i16 0, i16 0, i16 3649, i16 7705, i16 7706, i16 7707, i16 7708, i16 0, i16 2052, i16 2775, i16 1660, i16 3900, i16 3901, i16 0, i16 7709, i16 7710, i16 3634, i16 0, i16 0, i16 3670, i16 3903, i16 7711, i16 7712, i16 7713, i16 1587, i16 7714, i16 7715, i16 3902, i16 7716, i16 1042, i16 0, i16 1224, i16 0, i16 10478, i16 10479, i16 0, i16 0, i16 0, i16 10480, i16 5531, i16 10481, i16 10482, i16 2713, i16 10483, i16 5532, i16 2288, i16 0, i16 0, i16 10484, i16 0, i16 0, i16 3390, i16 10485, i16 0, i16 3098, i16 5533, i16 5534, i16 2584, i16 10486, i16 3604, i16 0, i16 10487, i16 5536, i16 2248, i16 1192, i16 0, i16 0, i16 3497, i16 1010, i16 1991, i16 1556, i16 0, i16 6739, i16 12524, i16 6738, i16 1862, i16 6740, i16 6737, i16 0, i16 0, i16 1787, i16 12525, i16 0, i16 0, i16 6744, i16 6167, i16 0, i16 12527, i16 3952, i16 12528, i16 2242, i16 6742, i16 12529, i16 12530, i16 12531, i16 1225, i16 0, i16 5685, i16 10699, i16 3460, i16 1631, i16 5684, i16 10700, i16 10701, i16 10702, i16 5688, i16 3447, i16 0, i16 2935, i16 0, i16 10703, i16 3114, i16 10704, i16 10705, i16 10706, i16 2034, i16 5687, i16 10707, i16 1924, i16 1632, i16 1849, i16 1288, i16 3211, i16 5686, i16 10708, i16 10709, i16 0, i16 1737, i16 5235, i16 5234, i16 0, i16 9880, i16 0, i16 0, i16 5236, i16 0, i16 9881, i16 0, i16 0, i16 0, i16 9882, i16 9883, i16 0, i16 0, i16 0, i16 5237, i16 9884, i16 0, i16 0, i16 5238, i16 0, i16 0, i16 0, i16 0, i16 9885, i16 0, i16 0, i16 0, i16 0, i16 1993, i16 2201, i16 3740, i16 7401, i16 3738, i16 0, i16 3739, i16 1271, i16 0, i16 0, i16 1688, i16 1013, i16 0, i16 3737, i16 3736, i16 3198, i16 7402, i16 0, i16 0, i16 0, i16 1817, i16 1816, i16 2467, i16 3741, i16 3148, i16 2320, i16 7403, i16 7404, i16 0, i16 245, i16 3742, i16 3744, i16 10953, i16 0, i16 0, i16 5870, i16 10954, i16 0, i16 0, i16 10955, i16 0, i16 5869, i16 0, i16 0, i16 10956, i16 0, i16 0, i16 5871, i16 10957, i16 2537, i16 0, i16 2937, i16 0, i16 10958, i16 0, i16 0, i16 0, i16 2642, i16 10959, i16 0, i16 10960, i16 0, i16 5875, i16 0, i16 714, i16 725, i16 715, i16 726, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 716, i16 0, i16 0, i16 727, i16 717, i16 0, i16 0, i16 728, i16 719, i16 0, i16 0, i16 730, i16 718, i16 0, i16 0, i16 729, i16 720, i16 741, i16 0, i16 0, i16 2762, i16 1913, i16 8396, i16 8397, i16 2399, i16 3561, i16 0, i16 8398, i16 8399, i16 8400, i16 0, i16 0, i16 4278, i16 8401, i16 4279, i16 2867, i16 8402, i16 1798, i16 0, i16 0, i16 8403, i16 8404, i16 4281, i16 0, i16 0, i16 4282, i16 8405, i16 8406, i16 8407, i16 8408, i16 0, i16 0, i16 8650, i16 4444, i16 4454, i16 4452, i16 0, i16 0, i16 4449, i16 8651, i16 8652, i16 8653, i16 4448, i16 3653, i16 8654, i16 4450, i16 0, i16 0, i16 1327, i16 8655, i16 1608, i16 0, i16 8656, i16 2057, i16 8657, i16 8658, i16 0, i16 4457, i16 4443, i16 0, i16 0, i16 8659, i16 0, i16 4447, i16 6348, i16 11745, i16 0, i16 1809, i16 11746, i16 11747, i16 0, i16 0, i16 0, i16 0, i16 4696, i16 11748, i16 6349, i16 11749, i16 6350, i16 11750, i16 1985, i16 0, i16 6351, i16 6352, i16 11751, i16 11752, i16 6353, i16 0, i16 0, i16 6354, i16 6355, i16 0, i16 11753, i16 0, i16 11754, i16 11755, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 482, i16 483, i16 484, i16 485, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 10190, i16 10191, i16 3602, i16 10192, i16 10193, i16 10194, i16 5392, i16 5390, i16 5391, i16 10195, i16 10189, i16 10196, i16 1187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3471, i16 0, i16 0, i16 10197, i16 3231, i16 0, i16 5394, i16 10198, i16 0, i16 0, i16 5393, i16 0, i16 0, i16 10199, i16 11214, i16 6043, i16 11215, i16 0, i16 2594, i16 0, i16 6044, i16 11216, i16 11217, i16 3525, i16 6033, i16 1051, i16 11218, i16 6039, i16 0, i16 11219, i16 6042, i16 3389, i16 0, i16 11220, i16 0, i16 0, i16 6045, i16 0, i16 0, i16 6038, i16 6041, i16 0, i16 11221, i16 0, i16 0, i16 0, i16 8145, i16 8146, i16 0, i16 1322, i16 0, i16 4134, i16 0, i16 8147, i16 8148, i16 8149, i16 8150, i16 0, i16 8151, i16 8152, i16 0, i16 8153, i16 8154, i16 0, i16 0, i16 3261, i16 8155, i16 0, i16 8156, i16 2436, i16 0, i16 0, i16 0, i16 0, i16 2663, i16 8157, i16 0, i16 4136, i16 9937, i16 0, i16 0, i16 2002, i16 0, i16 0, i16 9938, i16 9939, i16 5269, i16 9940, i16 5268, i16 9941, i16 9942, i16 0, i16 9943, i16 9944, i16 5270, i16 9945, i16 1072, i16 0, i16 0, i16 5272, i16 0, i16 9946, i16 5271, i16 9947, i16 5274, i16 5273, i16 9948, i16 0, i16 0, i16 0, i16 11986, i16 11987, i16 0, i16 6505, i16 11988, i16 11989, i16 11990, i16 3899, i16 3898, i16 0, i16 0, i16 0, i16 0, i16 6506, i16 5764, i16 6507, i16 2535, i16 2166, i16 2939, i16 0, i16 0, i16 11991, i16 11992, i16 6508, i16 11993, i16 0, i16 3242, i16 2677, i16 1685, i16 0, i16 11994, i16 2540, i16 3539, i16 0, i16 0, i16 0, i16 9581, i16 5066, i16 5060, i16 5057, i16 9582, i16 0, i16 9583, i16 3617, i16 5063, i16 0, i16 9584, i16 9585, i16 0, i16 2009, i16 5065, i16 0, i16 0, i16 5070, i16 9586, i16 0, i16 2800, i16 5068, i16 0, i16 9587, i16 0, i16 9588, i16 5062, i16 9589, i16 1236, i16 0, i16 3722, i16 0, i16 0, i16 3723, i16 3592, i16 0, i16 3500, i16 2415, i16 3725, i16 1865, i16 2896, i16 7395, i16 3728, i16 0, i16 0, i16 869, i16 1560, i16 0, i16 1559, i16 815, i16 7396, i16 7397, i16 3702, i16 3701, i16 0, i16 1704, i16 746, i16 7398, i16 3729, i16 3730, i16 8916, i16 0, i16 8917, i16 0, i16 8918, i16 8919, i16 4634, i16 0, i16 4638, i16 8920, i16 8921, i16 0, i16 3035, i16 2794, i16 0, i16 8922, i16 8923, i16 0, i16 0, i16 0, i16 4631, i16 8924, i16 4635, i16 0, i16 0, i16 0, i16 1443, i16 0, i16 0, i16 8925, i16 1766, i16 8926, i16 9428, i16 4968, i16 1842, i16 2270, i16 1686, i16 0, i16 3175, i16 9429, i16 0, i16 3255, i16 3695, i16 9430, i16 0, i16 0, i16 9431, i16 1864, i16 9432, i16 0, i16 0, i16 1733, i16 3647, i16 9433, i16 0, i16 0, i16 4969, i16 4970, i16 0, i16 1843, i16 0, i16 9434, i16 9435, i16 4971, i16 12756, i16 0, i16 12757, i16 12758, i16 12759, i16 0, i16 0, i16 12760, i16 2482, i16 0, i16 0, i16 6870, i16 0, i16 12761, i16 12762, i16 0, i16 2826, i16 0, i16 0, i16 12763, i16 0, i16 12764, i16 12765, i16 6871, i16 12766, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6876, i16 0, i16 7381, i16 7382, i16 3719, i16 2928, i16 7383, i16 1270, i16 0, i16 7384, i16 0, i16 0, i16 0, i16 2930, i16 0, i16 2880, i16 1532, i16 3302, i16 0, i16 7385, i16 0, i16 0, i16 0, i16 6101, i16 3720, i16 2133, i16 3721, i16 954, i16 7386, i16 0, i16 7387, i16 1378, i16 1577, i16 3450, i16 1238, i16 3818, i16 3819, i16 7595, i16 948, i16 0, i16 7596, i16 7597, i16 7598, i16 3817, i16 0, i16 7599, i16 7600, i16 7601, i16 7602, i16 0, i16 7604, i16 0, i16 1957, i16 0, i16 3822, i16 3821, i16 3820, i16 7605, i16 3764, i16 7606, i16 3823, i16 7607, i16 7608, i16 7609, i16 7610, i16 2061, i16 10967, i16 10968, i16 0, i16 0, i16 0, i16 5881, i16 5882, i16 10969, i16 10970, i16 10971, i16 0, i16 1953, i16 0, i16 10972, i16 5880, i16 10973, i16 1679, i16 5879, i16 0, i16 0, i16 5883, i16 0, i16 0, i16 10974, i16 2643, i16 3191, i16 2346, i16 0, i16 0, i16 0, i16 0, i16 2497, i16 3800, i16 7547, i16 0, i16 7548, i16 7549, i16 3802, i16 7550, i16 0, i16 0, i16 0, i16 7551, i16 0, i16 0, i16 3304, i16 7552, i16 7553, i16 7554, i16 1473, i16 7555, i16 7556, i16 7557, i16 0, i16 7558, i16 0, i16 1796, i16 3088, i16 3801, i16 7559, i16 7560, i16 0, i16 7561, i16 7562, i16 4569, i16 0, i16 0, i16 4567, i16 8807, i16 0, i16 0, i16 0, i16 4570, i16 0, i16 0, i16 0, i16 0, i16 8808, i16 3206, i16 8809, i16 0, i16 768, i16 0, i16 8810, i16 0, i16 0, i16 3157, i16 0, i16 0, i16 3068, i16 8811, i16 0, i16 4571, i16 8812, i16 4574, i16 2082, i16 4825, i16 9235, i16 2092, i16 9236, i16 0, i16 9237, i16 4163, i16 1569, i16 3563, i16 9238, i16 9239, i16 0, i16 0, i16 4816, i16 9240, i16 2709, i16 1030, i16 1698, i16 9241, i16 4808, i16 0, i16 4824, i16 1092, i16 0, i16 0, i16 4822, i16 4826, i16 9242, i16 2797, i16 0, i16 0, i16 0, i16 9177, i16 2477, i16 9178, i16 9179, i16 3222, i16 9180, i16 4798, i16 0, i16 9181, i16 9182, i16 3097, i16 0, i16 0, i16 0, i16 4797, i16 2987, i16 3314, i16 1148, i16 9183, i16 2336, i16 1999, i16 0, i16 0, i16 9184, i16 2676, i16 9185, i16 3485, i16 0, i16 9186, i16 4793, i16 4792, i16 0, i16 1242, i16 0, i16 4572, i16 4579, i16 2083, i16 0, i16 0, i16 0, i16 0, i16 4573, i16 2943, i16 0, i16 0, i16 8813, i16 8814, i16 8815, i16 8816, i16 3533, i16 4575, i16 4576, i16 4580, i16 2793, i16 4577, i16 1610, i16 2311, i16 0, i16 0, i16 4594, i16 3021, i16 0, i16 2519, i16 0, i16 6874, i16 12768, i16 6873, i16 6875, i16 12769, i16 6872, i16 0, i16 12767, i16 0, i16 0, i16 12770, i16 12771, i16 12772, i16 6878, i16 12773, i16 0, i16 0, i16 12774, i16 0, i16 0, i16 12775, i16 6877, i16 12776, i16 6880, i16 0, i16 0, i16 1344, i16 6879, i16 0, i16 12777, i16 0, i16 6881, i16 11995, i16 11996, i16 849, i16 0, i16 3371, i16 2210, i16 11997, i16 0, i16 0, i16 0, i16 11998, i16 11999, i16 0, i16 12000, i16 1465, i16 0, i16 12001, i16 1374, i16 12002, i16 12003, i16 3243, i16 12004, i16 0, i16 0, i16 0, i16 0, i16 6509, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1245, i16 0, i16 5239, i16 0, i16 0, i16 0, i16 0, i16 5240, i16 9886, i16 0, i16 0, i16 0, i16 1501, i16 9887, i16 9888, i16 3041, i16 0, i16 9889, i16 5242, i16 0, i16 9890, i16 0, i16 2146, i16 0, i16 0, i16 5241, i16 0, i16 0, i16 0, i16 0, i16 9891, i16 0, i16 7901, i16 7902, i16 0, i16 4010, i16 7903, i16 0, i16 7904, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4025, i16 4030, i16 0, i16 4026, i16 7905, i16 9949, i16 9950, i16 0, i16 9951, i16 1525, i16 9952, i16 9953, i16 3573, i16 0, i16 1353, i16 0, i16 939, i16 0, i16 0, i16 9954, i16 0, i16 9955, i16 0, i16 0, i16 9956, i16 0, i16 9957, i16 1383, i16 9958, i16 9959, i16 0, i16 0, i16 0, i16 9960, i16 0, i16 9961, i16 9962, i16 222, i16 223, i16 224, i16 244, i16 0, i16 246, i16 247, i16 248, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 324, i16 329, i16 265, i16 266, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 254, i16 0, i16 0, i16 0, i16 4062, i16 0, i16 0, i16 0, i16 7982, i16 7983, i16 4061, i16 1064, i16 7984, i16 0, i16 4063, i16 7985, i16 7986, i16 0, i16 0, i16 4066, i16 0, i16 0, i16 0, i16 0, i16 4065, i16 7987, i16 0, i16 0, i16 0, i16 7988, i16 7989, i16 0, i16 0, i16 7990, i16 7991, i16 7992, i16 8158, i16 8159, i16 8160, i16 0, i16 0, i16 0, i16 8161, i16 0, i16 3330, i16 8162, i16 0, i16 4137, i16 0, i16 0, i16 4142, i16 0, i16 0, i16 8163, i16 8164, i16 3204, i16 0, i16 0, i16 0, i16 0, i16 4141, i16 4135, i16 4138, i16 4140, i16 8166, i16 0, i16 1691, i16 0, i16 10718, i16 10719, i16 1977, i16 1527, i16 2383, i16 5689, i16 5695, i16 10720, i16 10721, i16 0, i16 0, i16 5690, i16 1451, i16 10722, i16 5698, i16 5702, i16 1478, i16 10723, i16 0, i16 10724, i16 0, i16 0, i16 5697, i16 10725, i16 0, i16 10726, i16 10727, i16 5706, i16 10728, i16 10729, i16 1633, i16 0, i16 736, i16 0, i16 0, i16 731, i16 722, i16 743, i16 0, i16 0, i16 738, i16 0, i16 0, i16 733, i16 721, i16 0, i16 0, i16 737, i16 742, i16 0, i16 0, i16 732, i16 723, i16 0, i16 0, i16 739, i16 744, i16 0, i16 0, i16 734, i16 724, i16 0, i16 0, i16 740, i16 2784, i16 7664, i16 7665, i16 2202, i16 3871, i16 7666, i16 3201, i16 2307, i16 1123, i16 0, i16 1130, i16 3872, i16 0, i16 0, i16 3874, i16 0, i16 0, i16 1429, i16 7667, i16 7668, i16 3873, i16 7669, i16 7670, i16 3648, i16 7671, i16 0, i16 0, i16 0, i16 0, i16 2040, i16 0, i16 0, i16 4064, i16 0, i16 2932, i16 0, i16 0, i16 4067, i16 7993, i16 7994, i16 7995, i16 7996, i16 0, i16 7997, i16 7998, i16 7999, i16 4068, i16 0, i16 0, i16 8000, i16 0, i16 8001, i16 4070, i16 0, i16 4069, i16 8002, i16 0, i16 0, i16 0, i16 0, i16 4072, i16 0, i16 8003, i16 0, i16 8416, i16 945, i16 8417, i16 8418, i16 0, i16 0, i16 8419, i16 0, i16 2370, i16 1189, i16 8420, i16 4287, i16 3385, i16 0, i16 0, i16 0, i16 0, i16 2487, i16 8421, i16 1084, i16 8422, i16 8423, i16 4289, i16 4291, i16 1184, i16 0, i16 8424, i16 4288, i16 4290, i16 0, i16 4293, i16 0, i16 9441, i16 0, i16 9442, i16 9443, i16 4979, i16 0, i16 0, i16 0, i16 9444, i16 9445, i16 4980, i16 4981, i16 9446, i16 9447, i16 9448, i16 4982, i16 9449, i16 4984, i16 4983, i16 4985, i16 938, i16 2573, i16 0, i16 4986, i16 9450, i16 9451, i16 1785, i16 1071, i16 4987, i16 9452, i16 9453, i16 2753, i16 12257, i16 0, i16 0, i16 0, i16 12258, i16 12259, i16 0, i16 12260, i16 12261, i16 0, i16 0, i16 12262, i16 0, i16 2355, i16 0, i16 12263, i16 0, i16 0, i16 12264, i16 0, i16 0, i16 0, i16 12265, i16 6619, i16 12266, i16 6618, i16 12267, i16 12268, i16 12269, i16 12270, i16 0, i16 12271, i16 10469, i16 5529, i16 10470, i16 5530, i16 2980, i16 10471, i16 2188, i16 5527, i16 0, i16 2596, i16 10472, i16 10473, i16 5528, i16 10474, i16 0, i16 0, i16 2107, i16 10475, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10476, i16 0, i16 0, i16 805, i16 10477, i16 0, i16 0, i16 0, i16 12005, i16 0, i16 6511, i16 12006, i16 12007, i16 6510, i16 997, i16 0, i16 12008, i16 2899, i16 6512, i16 2994, i16 0, i16 2738, i16 12009, i16 6513, i16 2017, i16 12010, i16 0, i16 0, i16 6515, i16 12011, i16 12012, i16 3411, i16 6530, i16 6517, i16 6518, i16 12013, i16 0, i16 2666, i16 12014, i16 0, i16 1254, i16 0, i16 12579, i16 6786, i16 0, i16 0, i16 6785, i16 0, i16 6784, i16 0, i16 0, i16 6329, i16 12580, i16 3249, i16 12581, i16 0, i16 0, i16 12582, i16 12583, i16 6787, i16 6788, i16 12584, i16 12585, i16 0, i16 12586, i16 12587, i16 12588, i16 0, i16 12589, i16 0, i16 12590, i16 12591, i16 9702, i16 5142, i16 0, i16 5141, i16 5143, i16 9703, i16 9704, i16 9705, i16 9706, i16 0, i16 5146, i16 0, i16 0, i16 0, i16 9707, i16 9708, i16 9709, i16 2754, i16 0, i16 5140, i16 0, i16 9710, i16 9711, i16 0, i16 0, i16 5144, i16 0, i16 0, i16 9712, i16 0, i16 0, i16 0, i16 2280, i16 6299, i16 0, i16 6304, i16 1574, i16 6301, i16 6302, i16 11686, i16 6298, i16 11687, i16 0, i16 0, i16 2315, i16 2854, i16 11688, i16 11689, i16 2546, i16 0, i16 994, i16 11690, i16 0, i16 0, i16 11691, i16 11692, i16 0, i16 3081, i16 0, i16 11693, i16 1250, i16 0, i16 11694, i16 2645, i16 10216, i16 0, i16 10217, i16 10218, i16 10219, i16 10220, i16 10221, i16 10222, i16 10223, i16 0, i16 10224, i16 0, i16 0, i16 10225, i16 3074, i16 0, i16 5416, i16 0, i16 0, i16 0, i16 5417, i16 0, i16 0, i16 7073, i16 5418, i16 5419, i16 5420, i16 0, i16 0, i16 10226, i16 0, i16 1793, i16 6633, i16 0, i16 0, i16 0, i16 12337, i16 12338, i16 0, i16 12339, i16 0, i16 12340, i16 12341, i16 0, i16 1416, i16 12342, i16 6635, i16 12343, i16 12344, i16 12345, i16 0, i16 12346, i16 12347, i16 1513, i16 12348, i16 0, i16 0, i16 0, i16 12349, i16 0, i16 6634, i16 12350, i16 2126, i16 12351, i16 8938, i16 8939, i16 0, i16 8940, i16 0, i16 0, i16 0, i16 4640, i16 0, i16 3347, i16 0, i16 0, i16 0, i16 8941, i16 0, i16 4641, i16 0, i16 0, i16 0, i16 8942, i16 8943, i16 0, i16 4642, i16 0, i16 3423, i16 0, i16 2251, i16 8944, i16 0, i16 8945, i16 0, i16 0, i16 235, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 269, i16 256, i16 270, i16 7109, i16 0, i16 4075, i16 4073, i16 4071, i16 4074, i16 0, i16 8004, i16 0, i16 0, i16 4076, i16 8005, i16 8006, i16 8007, i16 8010, i16 8011, i16 4077, i16 8008, i16 8009, i16 4078, i16 0, i16 4079, i16 0, i16 0, i16 0, i16 4080, i16 3841, i16 8012, i16 1965, i16 1824, i16 8013, i16 8014, i16 1016, i16 8015, i16 6891, i16 12790, i16 0, i16 12791, i16 2236, i16 0, i16 12792, i16 0, i16 12793, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12794, i16 6892, i16 12795, i16 6893, i16 12796, i16 6894, i16 6895, i16 12797, i16 12798, i16 12799, i16 1657, i16 0, i16 0, i16 12800, i16 12801, i16 0, i16 6896, i16 6897, i16 9963, i16 0, i16 9964, i16 0, i16 0, i16 9965, i16 9966, i16 0, i16 0, i16 1186, i16 9967, i16 9968, i16 0, i16 9969, i16 0, i16 0, i16 0, i16 0, i16 3637, i16 5276, i16 0, i16 9970, i16 0, i16 9971, i16 0, i16 9972, i16 0, i16 5278, i16 9973, i16 9974, i16 0, i16 9975, i16 7405, i16 7406, i16 7407, i16 2506, i16 3630, i16 787, i16 0, i16 0, i16 7408, i16 0, i16 0, i16 0, i16 0, i16 3743, i16 963, i16 7409, i16 1345, i16 7410, i16 2602, i16 7411, i16 0, i16 7412, i16 1482, i16 3745, i16 0, i16 0, i16 0, i16 2911, i16 0, i16 7413, i16 7414, i16 7415, i16 494, i16 495, i16 496, i16 497, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 232, i16 233, i16 242, i16 243, i16 0, i16 750, i16 3137, i16 3994, i16 0, i16 3990, i16 0, i16 7861, i16 3985, i16 3991, i16 1725, i16 7862, i16 0, i16 0, i16 7863, i16 7864, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3998, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12272, i16 12273, i16 12274, i16 12275, i16 0, i16 12276, i16 12277, i16 12278, i16 12279, i16 0, i16 0, i16 12280, i16 12281, i16 12282, i16 12283, i16 6617, i16 12284, i16 0, i16 3298, i16 12285, i16 0, i16 12286, i16 0, i16 12287, i16 12288, i16 12289, i16 0, i16 0, i16 12290, i16 12291, i16 0, i16 12292, i16 1009, i16 6386, i16 3667, i16 2659, i16 3696, i16 11796, i16 11797, i16 1860, i16 6385, i16 11798, i16 2454, i16 11799, i16 0, i16 6402, i16 2351, i16 11800, i16 0, i16 2901, i16 0, i16 3143, i16 0, i16 11802, i16 11801, i16 0, i16 0, i16 11803, i16 6389, i16 1810, i16 1861, i16 11804, i16 2123, i16 0, i16 4849, i16 4836, i16 0, i16 4846, i16 0, i16 9254, i16 0, i16 4840, i16 9255, i16 0, i16 9256, i16 9257, i16 9258, i16 9259, i16 2180, i16 4850, i16 9260, i16 9261, i16 2268, i16 0, i16 0, i16 9262, i16 9263, i16 0, i16 0, i16 4848, i16 1150, i16 9264, i16 9265, i16 9266, i16 0, i16 0, i16 13041, i16 0, i16 0, i16 0, i16 0, i16 13042, i16 7028, i16 13043, i16 0, i16 13044, i16 0, i16 13045, i16 0, i16 7029, i16 13046, i16 7030, i16 13047, i16 0, i16 3700, i16 13048, i16 13049, i16 0, i16 0, i16 0, i16 7027, i16 2512, i16 1762, i16 0, i16 0, i16 7031, i16 13050, i16 0, i16 6130, i16 0, i16 3293, i16 6131, i16 11395, i16 11396, i16 6128, i16 11397, i16 6129, i16 6134, i16 6137, i16 11398, i16 0, i16 6135, i16 11399, i16 11400, i16 11401, i16 6133, i16 6127, i16 11402, i16 11403, i16 0, i16 0, i16 0, i16 2587, i16 11404, i16 6144, i16 0, i16 3387, i16 0, i16 11405, i16 11406, i16 4083, i16 8027, i16 8028, i16 3253, i16 4085, i16 0, i16 0, i16 8029, i16 4087, i16 4086, i16 8030, i16 4088, i16 8031, i16 4089, i16 0, i16 1490, i16 0, i16 8032, i16 903, i16 4090, i16 0, i16 8033, i16 4092, i16 0, i16 4091, i16 0, i16 8034, i16 8035, i16 4094, i16 8036, i16 0, i16 2777, i16 3830, i16 829, i16 7623, i16 1518, i16 1430, i16 1995, i16 2622, i16 1313, i16 2321, i16 1584, i16 7624, i16 1669, i16 3832, i16 3417, i16 2757, i16 7625, i16 1868, i16 0, i16 3831, i16 7626, i16 3833, i16 7627, i16 0, i16 7628, i16 7629, i16 0, i16 2781, i16 0, i16 1112, i16 0, i16 0, i16 7630, i16 3320, i16 897, i16 811, i16 0, i16 2818, i16 11714, i16 11715, i16 6321, i16 0, i16 0, i16 11721, i16 11716, i16 6320, i16 0, i16 2883, i16 0, i16 6325, i16 11717, i16 0, i16 0, i16 6314, i16 0, i16 6324, i16 6326, i16 0, i16 1509, i16 6322, i16 1645, i16 11718, i16 1926, i16 11719, i16 11720, i16 3576, i16 1731, i16 2552, i16 4614, i16 8885, i16 2309, i16 8886, i16 1612, i16 2223, i16 909, i16 2371, i16 4612, i16 1252, i16 8887, i16 8888, i16 8889, i16 0, i16 0, i16 1442, i16 0, i16 2672, i16 4618, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2406, i16 0, i16 8890, i16 4621, i16 0, i16 7416, i16 1196, i16 7417, i16 7418, i16 0, i16 0, i16 0, i16 0, i16 7419, i16 3746, i16 788, i16 7420, i16 7421, i16 1561, i16 1197, i16 3185, i16 3019, i16 1272, i16 7422, i16 0, i16 0, i16 7423, i16 7424, i16 7425, i16 0, i16 7426, i16 1014, i16 0, i16 3781, i16 2752, i16 0, i16 0, i16 1529, i16 0, i16 2716, i16 6278, i16 11631, i16 11632, i16 0, i16 11633, i16 1458, i16 0, i16 2209, i16 0, i16 6281, i16 0, i16 2817, i16 11634, i16 6280, i16 11635, i16 11636, i16 1420, i16 11637, i16 11638, i16 6279, i16 2524, i16 1228, i16 0, i16 0, i16 6282, i16 0, i16 6283, i16 11639, i16 2118, i16 2041, i16 4564, i16 8795, i16 8796, i16 8797, i16 0, i16 8798, i16 2329, i16 6559, i16 3067, i16 0, i16 1947, i16 8799, i16 1730, i16 4565, i16 0, i16 8800, i16 8801, i16 8802, i16 2476, i16 8803, i16 3196, i16 8804, i16 0, i16 2518, i16 0, i16 8805, i16 4568, i16 8806, i16 0, i16 4566, i16 0, i16 10235, i16 5426, i16 0, i16 1159, i16 3056, i16 5427, i16 10236, i16 5428, i16 10237, i16 0, i16 5429, i16 0, i16 10238, i16 0, i16 3437, i16 0, i16 10239, i16 10240, i16 3430, i16 0, i16 2655, i16 0, i16 10241, i16 0, i16 2417, i16 10242, i16 0, i16 5431, i16 10243, i16 0, i16 2033, i16 0, i16 5628, i16 10657, i16 0, i16 10658, i16 5652, i16 5654, i16 0, i16 10659, i16 0, i16 10660, i16 0, i16 0, i16 5655, i16 10661, i16 10662, i16 0, i16 10663, i16 0, i16 10664, i16 3227, i16 0, i16 5656, i16 0, i16 0, i16 0, i16 10665, i16 0, i16 0, i16 10666, i16 10667, i16 3443, i16 0, i16 3325, i16 7813, i16 0, i16 0, i16 0, i16 0, i16 3062, i16 7814, i16 7815, i16 3968, i16 7816, i16 1183, i16 3963, i16 3964, i16 3966, i16 7817, i16 0, i16 7818, i16 0, i16 0, i16 7819, i16 7820, i16 3967, i16 0, i16 1274, i16 2220, i16 0, i16 3202, i16 3965, i16 3961, i16 1564, i16 0, i16 5629, i16 10622, i16 10623, i16 10624, i16 10625, i16 0, i16 10626, i16 5630, i16 0, i16 10627, i16 0, i16 10628, i16 10629, i16 5635, i16 10630, i16 10631, i16 0, i16 5624, i16 3951, i16 5631, i16 5625, i16 0, i16 0, i16 5634, i16 0, i16 10632, i16 0, i16 10633, i16 0, i16 0, i16 0, i16 5640, i16 4350, i16 0, i16 0, i16 4349, i16 4348, i16 3188, i16 0, i16 4357, i16 0, i16 8514, i16 0, i16 8512, i16 3341, i16 0, i16 4351, i16 0, i16 8513, i16 8515, i16 0, i16 0, i16 4353, i16 3358, i16 8516, i16 4352, i16 8517, i16 0, i16 0, i16 8518, i16 8519, i16 0, i16 8520, i16 4354, i16 9726, i16 5159, i16 0, i16 0, i16 0, i16 9727, i16 9728, i16 9729, i16 0, i16 5155, i16 0, i16 5156, i16 0, i16 9730, i16 0, i16 5160, i16 0, i16 5158, i16 0, i16 0, i16 0, i16 3141, i16 0, i16 9731, i16 5166, i16 0, i16 5163, i16 5162, i16 0, i16 5165, i16 2865, i16 5167, i16 3839, i16 0, i16 3840, i16 7634, i16 7635, i16 2879, i16 902, i16 0, i16 0, i16 3843, i16 1778, i16 7636, i16 3842, i16 1723, i16 7637, i16 3844, i16 5856, i16 3845, i16 3316, i16 3846, i16 0, i16 3847, i16 3848, i16 2134, i16 7638, i16 1917, i16 0, i16 0, i16 0, i16 7639, i16 0, i16 0, i16 5887, i16 10975, i16 5888, i16 5884, i16 10977, i16 10978, i16 10979, i16 0, i16 5885, i16 0, i16 5886, i16 10980, i16 0, i16 0, i16 10981, i16 1640, i16 10976, i16 0, i16 0, i16 5894, i16 0, i16 5890, i16 10982, i16 0, i16 10983, i16 0, i16 3165, i16 10984, i16 3359, i16 3103, i16 10985, i16 0, i16 120, i16 12, i16 25, i16 0, i16 0, i16 5, i16 0, i16 23, i16 156, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 17, i16 157, i16 107, i16 21, i16 147, i16 174, i16 24, i16 0, i16 3, i16 173, i16 137, i16 30, i16 88, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 143, i16 145, i16 8, i16 117, i16 132, i16 0, i16 0, i16 177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 187, i16 95, i16 182, i16 161, i16 129, i16 127, i16 97, i16 135, i16 103, i16 108, i16 83, i16 86, i16 166, i16 139, i16 89, i16 172, i16 56, i16 77, i16 106, i16 162, i16 189, i16 155, i16 41, i16 141, i16 124, i16 28, i16 74, i16 68, i16 113, i16 27, i16 67, i16 85, i16 144, i16 70, i16 126, i16 96, i16 35, i16 61, i16 190, i16 123, i16 176, i16 171, i16 148, i16 183, i16 38, i16 54, i16 142, i16 186, i16 87, i16 75, i16 94, i16 76, i16 32, i16 98, i16 163, i16 20, i16 133, i16 154, i16 66, i16 138, i16 52, i16 101, i16 44, i16 63, i16 19, i16 22, i16 164, i16 191, i16 136, i16 80, i16 65, i16 91, i16 114, i16 181, i16 51, i16 79, i16 184, i16 116, i16 151, i16 92, i16 140, i16 64, i16 167, i16 50, i16 110, i16 130, i16 192, i16 152, i16 100, i16 99, i16 36, i16 93, i16 72, i16 146, i16 131, i16 33, i16 47, i16 119, i16 7, i16 73, i16 185, i16 57, i16 160, i16 150, i16 78, i16 45, i16 118, i16 49, i16 115, i16 29, i16 31, i16 69, i16 188, i16 53, i16 149, i16 121, i16 55, i16 109, i16 82, i16 153, i16 178, i16 90, i16 122, i16 104, i16 6, i16 175, i16 60, i16 59, i16 43, i16 180, i16 125, i16 16, i16 179, i16 102, i16 134, i16 62, i16 37, i16 158, i16 71, i16 40, i16 84, i16 0, i16 1, i16 159, i16 13, i16 81, i16 111, i16 46, i16 105, i16 9, i16 128, i16 18, i16 170, i16 11, i16 15, i16 39, i16 34, i16 2, i16 48, i16 10, i16 14, i16 26, i16 58, i16 42, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 169, i16 112, i16 168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 165, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 84, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1270, i16 1950, i16 0, i16 426, i16 2786, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3365, i16 3389, i16 3410, i16 1975, i16 0, i16 2471, i16 2480, i16 2502, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2924, i16 1668, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 408, i16 0, i16 0, i16 3296, i16 0, i16 3249, i16 1864, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 141, i16 0, i16 51, i16 1513, i16 1049, i16 2968, i16 2294, i16 0, i16 1390, i16 979, i16 0, i16 1886, i16 0, i16 617, i16 0, i16 0, i16 0, i16 1282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 471, i16 2852, i16 0, i16 0, i16 0, i16 0, i16 3275, i16 2769, i16 2449, i16 0, i16 0, i16 0, i16 0, i16 693, i16 657, i16 2725, i16 1421, i16 1123, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1524, i16 2708, i16 2736, i16 2762, i16 2793, i16 2808, i16 2834, i16 2854, i16 2870, i16 2890, i16 2909, i16 2932, i16 2958, i16 2983, i16 3003, i16 3025, i16 3042, i16 3062, i16 3085, i16 3108, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2374, i16 367, i16 1664, i16 0, i16 0, i16 0, i16 0, i16 2342, i16 0, i16 0, i16 0, i16 0, i16 165, i16 2704, i16 1683, i16 0, i16 0, i16 1370, i16 0, i16 2875, i16 0, i16 2939, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1678, i16 423, i16 0, i16 2585, i16 0, i16 0, i16 0, i16 2178, i16 0, i16 0, i16 0, i16 463, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 603, i16 0, i16 3282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2510, i16 0, i16 0, i16 0, i16 2978, i16 0, i16 0, i16 0, i16 0, i16 0, i16 454, i16 3047, i16 2404, i16 0, i16 0, i16 1652, i16 0, i16 628, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1882, i16 3318, i16 2723, i16 1548, i16 2895, i16 3235, i16 3268, i16 2013, i16 0, i16 899, i16 0, i16 0, i16 2999, i16 270, i16 3031, i16 926, i16 0, i16 511, i16 0, i16 0, i16 2064, i16 271, i16 2107, i16 537, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2071, i16 1576, i16 0, i16 1014, i16 610, i16 703, i16 0, i16 89, i16 277, i16 2618, i16 2078, i16 373, i16 2562, i16 2653, i16 0, i16 20, i16 2792, i16 1006, i16 1991, i16 745, i16 0, i16 2504, i16 1920, i16 3246, i16 1187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1040, i16 538, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1639, i16 1552, i16 1656, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1084, i16 0, i16 0, i16 343, i16 947, i16 0, i16 1748, i16 0, i16 0, i16 2269, i16 1677, i16 2648, i16 0, i16 455, i16 0, i16 2224, i16 572, i16 0, i16 0, i16 0, i16 0, i16 272, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 218, i16 2385, i16 42, i16 1008, i16 2883, i16 1666, i16 3317, i16 0, i16 0, i16 0, i16 845, i16 1527, i16 0, i16 966, i16 1411, i16 2278, i16 0, i16 0, i16 0, i16 529, i16 764, i16 1103, i16 2200, i16 446, i16 1517, i16 1958, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1554, i16 2767, i16 2782, i16 2040, i16 1538, i16 0, i16 0, i16 3329, i16 0, i16 320, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2561, i16 0, i16 183, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1077, i16 1744, i16 1381, i16 0, i16 1821, i16 2017, i16 2216, i16 1487, i16 2180, i16 1772, i16 0, i16 1191, i16 0, i16 0, i16 0, i16 2697, i16 1177, i16 1167, i16 1491, i16 0, i16 0, i16 0, i16 1684, i16 1161, i16 0, i16 0, i16 261, i16 0, i16 0, i16 0, i16 0, i16 0, i16 353, i16 1482, i16 385, i16 2859, i16 2317, i16 136, i16 2314, i16 598, i16 2350, i16 2114, i16 3321, i16 177, i16 3325, i16 740, i16 1376, i16 0, i16 564, i16 3237, i16 2522, i16 0, i16 220, i16 451, i16 896, i16 985, i16 0, i16 931, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1514, i16 391, i16 2423, i16 0, i16 1547, i16 0, i16 904, i16 0, i16 3173, i16 265, i16 0, i16 1255, i16 0, i16 406, i16 3030, i16 2947, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2682, i16 0, i16 0, i16 0, i16 90, i16 1190, i16 0, i16 0, i16 0, i16 0, i16 3076, i16 3092, i16 2084, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1002, i16 3212, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3169, i16 789, i16 0, i16 3187, i16 948, i16 1953, i16 530, i16 245, i16 1845, i16 769, i16 646, i16 0, i16 670, i16 2443, i16 1563, i16 2644, i16 1508, i16 2949, i16 0, i16 0, i16 0, i16 0, i16 0, i16 330, i16 0, i16 2594, i16 2182, i16 696, i16 0, i16 0, i16 0, i16 0, i16 1906, i16 3349, i16 3372, i16 3395, i16 3415, i16 1974, i16 1997, i16 0, i16 1128, i16 2030, i16 2057, i16 2085, i16 2106, i16 2126, i16 2152, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 884, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1151, i16 0, i16 0, i16 0, i16 0, i16 907, i16 0, i16 0, i16 1164, i16 0, i16 2089, i16 328, i16 2093, i16 0, i16 1196, i16 0, i16 921, i16 0, i16 0, i16 0, i16 0, i16 929, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 910, i16 152, i16 0, i16 1679, i16 0, i16 1452, i16 0, i16 0, i16 0, i16 1992, i16 65, i16 1016, i16 259, i16 0, i16 0, i16 1174, i16 1900, i16 3026, i16 3184, i16 2125, i16 0, i16 0, i16 2720, i16 0, i16 0, i16 3373, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2737, i16 0, i16 0, i16 0, i16 1427, i16 0, i16 1750, i16 2491, i16 1564, i16 1184, i16 2996, i16 889, i16 3105, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1290, i16 0, i16 3191, i16 0, i16 2844, i16 401, i16 3231, i16 3156, i16 241, i16 1896, i16 0, i16 0, i16 0, i16 0, i16 699, i16 0, i16 1035, i16 0, i16 0, i16 2360, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1115, i16 3123, i16 1925, i16 3287, i16 0, i16 0, i16 0, i16 0, i16 1450, i16 803, i16 1267, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3280, i16 2450, i16 1696, i16 3032, i16 1377, i16 0, i16 0, i16 0, i16 568, i16 0, i16 2921, i16 2479, i16 2955, i16 2063, i16 1546, i16 1367, i16 1641, i16 0, i16 1039, i16 0, i16 0, i16 0, i16 0, i16 3264, i16 0, i16 2136, i16 0, i16 3056, i16 0, i16 0, i16 0, i16 0, i16 467, i16 0, i16 0, i16 0, i16 3041, i16 1967, i16 1980, i16 0, i16 932, i16 1066, i16 0, i16 3061, i16 3344, i16 920, i16 3399, i16 915, i16 3409, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1520, i16 3160, i16 3104, i16 973, i16 1426, i16 1893, i16 0, i16 2838, i16 0, i16 0, i16 0, i16 1137, i16 1473, i16 0, i16 1810, i16 942, i16 331, i16 0, i16 1150, i16 0, i16 43, i16 0, i16 2179, i16 1614, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 508, i16 487, i16 0, i16 0, i16 1726, i16 0, i16 734, i16 308, i16 0, i16 0, i16 2990, i16 3063, i16 2991, i16 0, i16 3011, i16 1074, i16 3210, i16 3037, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1827, i16 0, i16 897, i16 0, i16 75, i16 0, i16 0, i16 0, i16 1030, i16 462, i16 0, i16 0, i16 2414, i16 2898, i16 0, i16 0, i16 3253, i16 1468, i16 2833, i16 3273, i16 1955, i16 0, i16 127, i16 913, i16 0, i16 0, i16 507, i16 2716, i16 1126, i16 3029, i16 0, i16 3382, i16 2668, i16 0, i16 2555, i16 128, i16 0, i16 0, i16 0, i16 0, i16 1127, i16 2981, i16 1437, i16 0, i16 0, i16 0, i16 1500, i16 0, i16 0, i16 480, i16 0, i16 114, i16 0, i16 0, i16 205, i16 1655, i16 0, i16 0, i16 34, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 370, i16 500, i16 528, i16 0, i16 2690, i16 2876, i16 1477, i16 3133, i16 333, i16 0, i16 0, i16 0, i16 0, i16 1793, i16 0, i16 0, i16 1529, i16 2550, i16 1096, i16 1112, i16 1588, i16 820, i16 3267, i16 2595, i16 1977, i16 3394, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 125, i16 1589, i16 0, i16 1933, i16 847, i16 2168, i16 468, i16 0, i16 3405, i16 0, i16 0, i16 1506, i16 0, i16 0, i16 683, i16 1939, i16 2846, i16 2878, i16 2642, i16 0, i16 0, i16 2377, i16 0, i16 0, i16 2596, i16 0, i16 1532, i16 0, i16 1107, i16 0, i16 0, i16 0, i16 1919, i16 3021, i16 120, i16 0, i16 644, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2732, i16 501, i16 279, i16 2509, i16 1644, i16 1863, i16 0, i16 0, i16 395, i16 246, i16 1025, i16 626, i16 3384, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1675, i16 0, i16 2734, i16 0, i16 3140, i16 990, i16 0, i16 0, i16 2169, i16 0, i16 0, i16 1027, i16 552, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2583, i16 0, i16 3286, i16 0, i16 1212, i16 316, i16 0, i16 0, i16 2830, i16 0, i16 0, i16 0, i16 0, i16 909, i16 1229, i16 0, i16 0, i16 335, i16 0, i16 0, i16 359, i16 647, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1153, i16 0, i16 0, i16 901, i16 0, i16 0, i16 0, i16 2492, i16 2027, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3219, i16 0, i16 2744, i16 476, i16 0, i16 11, i16 243, i16 0, i16 2327, i16 3098, i16 0, i16 0, i16 0, i16 97, i16 0, i16 0, i16 0, i16 1523, i16 0, i16 0, i16 783, i16 1121, i16 3144, i16 0, i16 0, i16 0, i16 496, i16 0, i16 0, i16 0, i16 0, i16 0, i16 158, i16 0, i16 2711, i16 1954, i16 3311, i16 886, i16 239, i16 1528, i16 1343, i16 1531, i16 225, i16 0, i16 1047, i16 0, i16 2311, i16 3385, i16 607, i16 2571, i16 2130, i16 848, i16 0, i16 2750, i16 440, i16 794, i16 2102, i16 460, i16 2018, i16 2208, i16 1181, i16 0, i16 0, i16 0, i16 1755, i16 2493, i16 1397, i16 0, i16 3417, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 780, i16 206, i16 2759, i16 0, i16 0, i16 834, i16 0, i16 0, i16 672, i16 0, i16 2241, i16 1359, i16 0, i16 0, i16 584, i16 1978, i16 3009, i16 0, i16 0, i16 0, i16 1160, i16 211, i16 2666, i16 0, i16 0, i16 0, i16 0, i16 2074, i16 0, i16 0, i16 0, i16 0, i16 17, i16 2606, i16 1737, i16 202, i16 1812, i16 1007, i16 0, i16 1841, i16 1345, i16 0, i16 738, i16 1162, i16 2860, i16 1943, i16 1814, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1674, i16 2556, i16 66, i16 542, i16 1205, i16 3419, i16 0, i16 2603, i16 2500, i16 425, i16 0, i16 0, i16 278, i16 1961, i16 680, i16 0, i16 1124, i16 1758, i16 0, i16 1555, i16 1446, i16 2210, i16 1405, i16 350, i16 3028, i16 2892, i16 0, i16 0, i16 0, i16 0, i16 1826, i16 2907, i16 21, i16 558, i16 1600, i16 1932, i16 0, i16 0, i16 1779, i16 0, i16 0, i16 1295, i16 0, i16 0, i16 28, i16 1725, i16 0, i16 0, i16 0, i16 0, i16 1981, i16 0, i16 2384, i16 1942, i16 0, i16 0, i16 0, i16 0, i16 0, i16 795, i16 452, i16 0, i16 208, i16 0, i16 0, i16 3044, i16 0, i16 0, i16 0, i16 0, i16 166, i16 836, i16 340, i16 337, i16 0, i16 0, i16 1875, i16 0, i16 0, i16 1159, i16 32, i16 1879, i16 1304, i16 0, i16 414, i16 515, i16 1347, i16 365, i16 0, i16 1884, i16 1521, i16 970, i16 0, i16 0, i16 858, i16 3141, i16 0, i16 717, i16 1866, i16 0, i16 1280, i16 1791, i16 2234, i16 0, i16 1414, i16 2147, i16 0, i16 0, i16 1645, i16 0, i16 0, i16 0, i16 404, i16 0, i16 0, i16 984, i16 3122, i16 0, i16 0, i16 0, i16 145, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1803, i16 0, i16 0, i16 1651, i16 2447, i16 0, i16 0, i16 2291, i16 472, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1134, i16 838, i16 0, i16 470, i16 2650, i16 606, i16 1065, i16 0, i16 1130, i16 0, i16 0, i16 0, i16 0, i16 1374, i16 1694, i16 1572, i16 1648, i16 2386, i16 200, i16 694, i16 0, i16 2530, i16 0, i16 0, i16 1752, i16 159, i16 2351, i16 3097, i16 1410, i16 1125, i16 0, i16 0, i16 412, i16 0, i16 1556, i16 0, i16 0, i16 625, i16 0, i16 1649, i16 0, i16 2100, i16 2469, i16 0, i16 273, i16 3016, i16 0, i16 0, i16 0, i16 0, i16 0, i16 399, i16 276, i16 2646, i16 671, i16 1732, i16 1888, i16 1382, i16 57, i16 0, i16 0, i16 0, i16 0, i16 0, i16 999, i16 0, i16 0, i16 681, i16 190, i16 2424, i16 0, i16 1319, i16 1454, i16 0, i16 0, i16 539, i16 0, i16 761, i16 0, i16 2021, i16 0, i16 0, i16 2189, i16 54, i16 0, i16 0, i16 0, i16 0, i16 3073, i16 0, i16 3049, i16 1501, i16 3198, i16 0, i16 0, i16 0, i16 2802, i16 255, i16 1960, i16 0, i16 0, i16 0, i16 263, i16 0, i16 0, i16 0, i16 0, i16 3168, i16 3007, i16 784, i16 3164, i16 0, i16 0, i16 788, i16 2164, i16 1711, i16 1088, i16 1328, i16 3024, i16 0, i16 2497, i16 1825, i16 2888, i16 1003, i16 986, i16 1603, i16 0, i16 0, i16 1012, i16 2473, i16 329, i16 0, i16 0, i16 0, i16 189, i16 2254, i16 1348, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 283, i16 155, i16 0, i16 0, i16 2908, i16 1209, i16 346, i16 0, i16 2765, i16 0, i16 1957, i16 0, i16 0, i16 0, i16 828, i16 0, i16 0, i16 2807, i16 0, i16 1676, i16 0, i16 1091, i16 768, i16 0, i16 2818, i16 349, i16 1789, i16 2193, i16 0, i16 164, i16 0, i16 1171, i16 2810, i16 938, i16 1163, i16 719, i16 2554, i16 2822, i16 0, i16 1575, i16 1200, i16 0, i16 2598, i16 753, i16 2532, i16 972, i16 689, i16 0, i16 1284, i16 0, i16 0, i16 0, i16 0, i16 0, i16 64, i16 800, i16 0, i16 0, i16 0, i16 1307, i16 509, i16 106, i16 0, i16 3278, i16 819, i16 0, i16 3013, i16 1015, i16 26, i16 1631, i16 1202, i16 1117, i16 0, i16 2326, i16 0, i16 3046, i16 49, i16 0, i16 736, i16 0, i16 776, i16 1109, i16 0, i16 0, i16 3182, i16 0, i16 0, i16 0, i16 0, i16 0, i16 217, i16 510, i16 2212, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 341, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2689, i16 0, i16 0, i16 2117, i16 0, i16 0, i16 0, i16 2825, i16 1273, i16 2948, i16 0, i16 977, i16 268, i16 1266, i16 1283, i16 1369, i16 1795, i16 207, i16 1685, i16 3014, i16 497, i16 0, i16 437, i16 2505, i16 0, i16 2563, i16 0, i16 0, i16 732, i16 553, i16 1247, i16 2372, i16 0, i16 0, i16 1637, i16 3251, i16 3313, i16 1308, i16 0, i16 10, i16 2912, i16 1061, i16 131, i16 0, i16 0, i16 0, i16 2111, i16 0, i16 0, i16 0, i16 0, i16 0, i16 169, i16 0, i16 0, i16 0, i16 490, i16 642, i16 677, i16 0, i16 0, i16 180, i16 1565, i16 148, i16 569, i16 2201, i16 0, i16 315, i16 0, i16 0, i16 0, i16 1818, i16 1021, i16 0, i16 0, i16 0, i16 1244, i16 0, i16 76, i16 0, i16 3406, i16 0, i16 93, i16 0, i16 513, i16 960, i16 0, i16 859, i16 96, i16 1964, i16 0, i16 0, i16 386, i16 1629, i16 1510, i16 0, i16 2656, i16 269, i16 321, i16 0, i16 0, i16 0, i16 0, i16 3106, i16 2930, i16 1402, i16 80, i16 867, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2660, i16 368, i16 0, i16 2661, i16 2045, i16 0, i16 0, i16 0, i16 1581, i16 1544, i16 3381, i16 0, i16 2853, i16 891, i16 449, i16 2010, i16 3277, i16 0, i16 0, i16 2382, i16 2172, i16 2069, i16 2897, i16 0, i16 1773, i16 0, i16 0, i16 1291, i16 0, i16 645, i16 2135, i16 2034, i16 0, i16 0, i16 0, i16 2584, i16 772, i16 1898, i16 0, i16 0, i16 48, i16 1245, i16 1113, i16 747, i16 0, i16 0, i16 1973, i16 0, i16 0, i16 209, i16 2281, i16 1289, i16 2785, i16 0, i16 0, i16 2118, i16 176, i16 1248, i16 2037, i16 2043, i16 339, i16 3293, i16 2066, i16 86, i16 248, i16 857, i16 0, i16 0, i16 1433, i16 0, i16 0, i16 0, i16 1585, i16 2756, i16 2680, i16 1650, i16 1718, i16 0, i16 0, i16 0, i16 0, i16 0, i16 394, i16 1024, i16 1537, i16 0, i16 0, i16 3170, i16 2362, i16 40, i16 53, i16 1101, i16 0, i16 2933, i16 900, i16 1447, i16 0, i16 3179, i16 833, i16 1566, i16 1494, i16 2973, i16 0, i16 0, i16 2609, i16 0, i16 927, i16 2303, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 650, i16 0, i16 0, i16 1075, i16 235, i16 823, i16 565, i16 3079, i16 0, i16 785, i16 777, i16 186, i16 2969, i16 1860, i16 2232, i16 0, i16 873, i16 741, i16 3125, i16 3257, i16 2239, i16 0, i16 3121, i16 1242, i16 2791, i16 0, i16 0, i16 1435, i16 974, i16 1780, i16 961, i16 0, i16 0, i16 2874, i16 757, i16 0, i16 0, i16 0, i16 400, i16 1432, i16 2766, i16 3039, i16 1001, i16 1507, i16 2972, i16 0, i16 2514, i16 1512, i16 2046, i16 0, i16 0, i16 0, i16 1253, i16 0, i16 2098, i16 545, i16 2165, i16 531, i16 555, i16 0, i16 0, i16 3371, i16 0, i16 0, i16 0, i16 742, i16 0, i16 807, i16 1931, i16 0, i16 1076, i16 0, i16 2026, i16 3245, i16 0, i16 0, i16 117, i16 1467, i16 2104, i16 631, i16 0, i16 754, i16 156, i16 2258, i16 307, i16 0, i16 60, i16 0, i16 1260, i16 1371, i16 3328, i16 1870, i16 0, i16 0, i16 61, i16 1241, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 424, i16 2403, i16 2148, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1231, i16 2367, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1596, i16 3096, i16 2202, i16 363, i16 1609, i16 2710, i16 2582, i16 791, i16 2705, i16 0, i16 2543, i16 2319, i16 2558, i16 2597, i16 1, i16 2495, i16 2730, i16 0, i16 3374, i16 2485, i16 2487, i16 0, i16 581, i16 1476, i16 3359, i16 2499, i16 2719, i16 0, i16 1876, i16 3240, i16 0, i16 0, i16 2110, i16 0, i16 198, i16 1488, i16 2262, i16 140, i16 0, i16 0, i16 782, i16 3157, i16 27, i16 3136, i16 0, i16 1092, i16 0, i16 1302, i16 0, i16 1912, i16 1217, i16 0, i16 1642, i16 0, i16 2457, i16 0, i16 3400, i16 1530, i16 0, i16 0, i16 167, i16 524, i16 221, i16 0, i16 2119, i16 998, i16 461, i16 0, i16 1358, i16 1037, i16 3378, i16 3206, i16 841, i16 68, i16 1762, i16 0, i16 1756, i16 2665, i16 482, i16 1004, i16 0, i16 2501, i16 0, i16 3204, i16 918, i16 724, i16 322, i16 2401, i16 0, i16 0, i16 2412, i16 306, i16 733, i16 863, i16 0, i16 0, i16 2904, i16 0, i16 0, i16 1979, i16 0, i16 1985, i16 556, i16 3312, i16 2987, i16 3045, i16 643, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3128, i16 1729, i16 0, i16 2970, i16 161, i16 0, i16 0, i16 0, i16 0, i16 602, i16 0, i16 1682, i16 0, i16 2523, i16 0, i16 92, i16 0, i16 0, i16 583, i16 0, i16 0, i16 697, i16 1263, i16 253, i16 504, i16 0, i16 0, i16 0, i16 0, i16 1636, i16 56, i16 0, i16 0, i16 2617, i16 0, i16 0, i16 0, i16 0, i16 2960, i16 2884, i16 0, i16 1999, i16 438, i16 0, i16 0, i16 0, i16 0, i16 1116, i16 2929, i16 2605, i16 0, i16 2323, i16 774, i16 1032, i16 0, i16 2015, i16 2336, i16 0, i16 520, i16 0, i16 2016, i16 1634, i16 1182, i16 1362, i16 850, i16 2906, i16 596, i16 3274, i16 0, i16 199, i16 2242, i16 0, i16 1934, i16 0, i16 2635, i16 0, i16 1746, i16 2915, i16 0, i16 1375, i16 1118, i16 3004, i16 0, i16 477, i16 0, i16 0, i16 0, i16 0, i16 715, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3185, i16 0, i16 0, i16 0, i16 3248, i16 2541, i16 2340, i16 3258, i16 24, i16 2230, i16 1654, i16 0, i16 3421, i16 1923, i16 2565, i16 2280, i16 0, i16 3167, i16 3149, i16 895, i16 3306, i16 994, i16 2009, i16 1543, i16 2273, i16 0, i16 14, i16 814, i16 540, i16 2243, i16 1384, i16 969, i16 0, i16 2914, i16 1698, i16 0, i16 0, i16 995, i16 1119, i16 2474, i16 2855, i16 498, i16 0, i16 0, i16 2312, i16 3331, i16 2002, i16 2324, i16 0, i16 111, i16 1281, i16 410, i16 2158, i16 1404, i16 708, i16 2625, i16 0, i16 0, i16 0, i16 82, i16 1965, i16 486, i16 3228, i16 661, i16 0, i16 2961, i16 0, i16 197, i16 2842, i16 2060, i16 517, i16 1518, i16 0, i16 0, i16 1853, i16 2257, i16 3392, i16 2419, i16 251, i16 975, i16 0, i16 883, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1423, i16 0, i16 2521, i16 0, i16 2305, i16 0, i16 3380, i16 0, i16 0, i16 1054, i16 1108, i16 1842, i16 0, i16 943, i16 811, i16 2963, i16 0, i16 0, i16 0, i16 2455, i16 0, i16 1511, i16 0, i16 0, i16 1907, i16 3408, i16 2431, i16 516, i16 0, i16 238, i16 2124, i16 1483, i16 0, i16 825, i16 2271, i16 0, i16 1475, i16 1297, i16 0, i16 2001, i16 1346, i16 0, i16 0, i16 0, i16 0, i16 1387, i16 0, i16 0, i16 2629, i16 0, i16 614, i16 1274, i16 839, i16 3154, i16 1005, i16 0, i16 3189, i16 1136, i16 1000, i16 0, i16 2727, i16 2848, i16 3, i16 0, i16 112, i16 1234, i16 1459, i16 770, i16 0, i16 1828, i16 0, i16 2065, i16 0, i16 1106, i16 2444, i16 0, i16 830, i16 1457, i16 1764, i16 2604, i16 3057, i16 1098, i16 1223, i16 0, i16 362, i16 1460, i16 1840, i16 0, i16 1913, i16 580, i16 829, i16 958, i16 0, i16 3337, i16 0, i16 1833, i16 2778, i16 387, i16 2865, i16 310, i16 193, i16 3403, i16 0, i16 0, i16 0, i16 2614, i16 466, i16 0, i16 0, i16 2428, i16 1646, i16 0, i16 0, i16 0, i16 0, i16 1917, i16 0, i16 1908, i16 1859, i16 0, i16 1660, i16 804, i16 1592, i16 0, i16 3094, i16 3216, i16 2295, i16 33, i16 443, i16 3358, i16 0, i16 1394, i16 250, i16 213, i16 0, i16 1971, i16 3080, i16 1354, i16 3360, i16 0, i16 1265, i16 1584, i16 2053, i16 512, i16 0, i16 2928, i16 409, i16 2225, i16 779, i16 1186, i16 0, i16 0, i16 381, i16 0, i16 0, i16 2369, i16 0, i16 3368, i16 0, i16 0, i16 1479, i16 924, i16 0, i16 0, i16 599, i16 3139, i16 0, i16 1492, i16 2101, i16 0, i16 0, i16 0, i16 0, i16 0, i16 184, i16 0, i16 2197, i16 651, i16 0, i16 601, i16 0, i16 0, i16 29, i16 0, i16 1149, i16 3302, i16 1156, i16 3111, i16 1269, i16 1298, i16 0, i16 2073, i16 0, i16 615, i16 262, i16 0, i16 0, i16 1349, i16 118, i16 3159, i16 3178, i16 3316, i16 1252, i16 1277, i16 3301, i16 493, i16 3119, i16 2977, i16 842, i16 2399, i16 318, i16 2940, i16 2123, i16 0, i16 1620, i16 0, i16 2951, i16 0, i16 0, i16 0, i16 0, i16 2453, i16 0, i16 0, i16 1323, i16 288, i16 0, i16 0, i16 1615, i16 2715, i16 0, i16 0, i16 2691, i16 0, i16 0, i16 1388, i16 0, i16 280, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1250, i16 0, i16 392, i16 275, i16 0, i16 0, i16 0, i16 0, i16 1926, i16 3008, i16 0, i16 620, i16 0, i16 0, i16 0, i16 2971, i16 3401, i16 0, i16 0, i16 0, i16 1314, i16 608, i16 944, i16 0, i16 1534, i16 1131, i16 1430, i16 2835, i16 525, i16 1559, i16 3115, i16 0, i16 1672, i16 0, i16 3232, i16 0, i16 0, i16 382, i16 0, i16 3377, i16 352, i16 2301, i16 1207, i16 0, i16 1611, i16 0, i16 0, i16 260, i16 0, i16 94, i16 0, i16 2795, i16 1197, i16 0, i16 3402, i16 45, i16 0, i16 1816, i16 2185, i16 1216, i16 2678, i16 2866, i16 0, i16 2677, i16 0, i16 0, i16 687, i16 1342, i16 2420, i16 2163, i16 2142, i16 0, i16 876, i16 2989, i16 1172, i16 3393, i16 1550, i16 2506, i16 3017, i16 879, i16 0, i16 1169, i16 2729, i16 1817, i16 323, i16 0, i16 0, i16 1562, i16 1436, i16 0, i16 3397, i16 2616, i16 922, i16 44, i16 2966, i16 3135, i16 0, i16 0, i16 1713, i16 0, i16 491, i16 0, i16 0, i16 0, i16 2024, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2943, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3364, i16 3355, i16 2004, i16 2105, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3262, i16 0, i16 1082, i16 2663, i16 0, i16 0, i16 2379, i16 0, i16 0, i16 0, i16 2, i16 1330, i16 1747, i16 0, i16 731, i16 0, i16 2639, i16 0, i16 393, i16 18, i16 722, i16 0, i16 813, i16 223, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3353, i16 0, i16 1504, i16 0, i16 3099, i16 30, i16 1574, i16 2218, i16 566, i16 2621, i16 1989, i16 2917, i16 0, i16 3305, i16 0, i16 1398, i16 2651, i16 843, i16 2159, i16 317, i16 1335, i16 640, i16 865, i16 62, i16 2937, i16 1385, i16 919, i16 1034, i16 1233, i16 1850, i16 792, i16 1972, i16 987, i16 0, i16 2529, i16 1717, i16 364, i16 1095, i16 2696, i16 1142, i16 5, i16 1029, i16 0, i16 0, i16 1962, i16 1595, i16 0, i16 1145, i16 637, i16 1662, i16 0, i16 3386, i16 925, i16 2076, i16 2672, i16 0, i16 338, i16 0, i16 1198, i16 0, i16 1846, i16 0, i16 0, i16 366, i16 2622, i16 0, i16 739, i16 869, i16 799, i16 1480, i16 0, i16 0, i16 1721, i16 0, i16 1542, i16 160, i16 0, i16 1195, i16 1891, i16 2526, i16 3236, i16 502, i16 1697, i16 0, i16 1577, i16 514, i16 2373, i16 3289, i16 0, i16 478, i16 0, i16 0, i16 0, i16 2591, i16 2383, i16 660, i16 2297, i16 0, i16 234, i16 267, i16 124, i16 0, i16 2077, i16 534, i16 1838, i16 1568, i16 0, i16 0, i16 1619, i16 1873, i16 2033, i16 2484, i16 0, i16 2964, i16 2787, i16 1147, i16 0, i16 721, i16 0, i16 0, i16 0, i16 2815, i16 3086, i16 1622, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3336, i16 0, i16 3239, i16 1796, i16 0, i16 2976, i16 139, i16 1176, i16 0, i16 888, i16 2919, i16 3196, i16 1440, i16 2044, i16 574, i16 1754, i16 0, i16 586, i16 1760, i16 1087, i16 2331, i16 544, i16 0, i16 3279, i16 0, i16 0, i16 0, i16 1602, i16 2985, i16 1366, i16 91, i16 894, i16 523, i16 911, i16 2345, i16 2669, i16 3067, i16 3292, i16 2638, i16 806, i16 1341, i16 2986, i16 3363, i16 3227, i16 0, i16 659, i16 868, i16 0, i16 2794, i16 2296, i16 713, i16 1832, i16 0, i16 3217, i16 3304, i16 1811, i16 231, i16 2657, i16 0, i16 0, i16 3127, i16 852, i16 358, i16 0, i16 2318, i16 1570, i16 817, i16 3069, i16 3420, i16 447, i16 2520, i16 638, i16 2299, i16 0, i16 2693, i16 1043, i16 0, i16 1140, i16 1591, i16 1837, i16 236, i16 1355, i16 0, i16 2763, i16 0, i16 1022, i16 2422, i16 0, i16 2138, i16 0, i16 179, i16 0, i16 0, i16 1100, i16 0, i16 1326, i16 2574, i16 2211, i16 1702, i16 0, i16 1089, i16 0, i16 0, i16 377, i16 1687, i16 0, i16 793, i16 0, i16 667, i16 126, i16 934, i16 2300, i16 2079, i16 3370, i16 2233, i16 2862, i16 810, i16 0, i16 0, i16 3263, i16 756, i16 1809, i16 2714, i16 2518, i16 1422, i16 1665, i16 2722, i16 3194, i16 1296, i16 1412, i16 0, i16 138, i16 101, i16 2353, i16 0, i16 1179, i16 1225, i16 458, i16 3413, i16 1579, i16 2090, i16 1561, i16 0, i16 0, i16 0, i16 2809, i16 1497, i16 1389, i16 1019, i16 1329, i16 2421, i16 396, i16 2695, i16 6, i16 2095, i16 950, i16 489, i16 0, i16 1661, i16 0, i16 1808, i16 2171, i16 2511, i16 0, i16 1086, i16 1219, i16 2006, i16 25, i16 0, i16 0, i16 1201, i16 522, i16 0, i16 0, i16 618, i16 0, i16 0, i16 2235, i16 880, i16 0, i16 0, i16 334, i16 1305, i16 1705, i16 2204, i16 1858, i16 1013, i16 1306, i16 0, i16 1085, i16 1533, i16 87, i16 2067, i16 1502, i16 2290, i16 1799, i16 0, i16 3146, i16 1794, i16 3346, i16 2192, i16 0, i16 0, i16 653, i16 1429, i16 887, i16 314, i16 2041, i16 2436, i16 875, i16 1331, i16 1481, i16 0, i16 403, i16 0, i16 0, i16 1910, i16 0, i16 1155, i16 0, i16 2072, i16 3266, i16 1165, i16 1857, i16 1557, i16 1801, i16 2496, i16 3131, i16 2926, i16 2643, i16 1582, i16 0, i16 0, i16 0, i16 122, i16 686, i16 168, i16 0, i16 2398, i16 2749, i16 1553, i16 2413, i16 1541, i16 2440, i16 134, i16 1578, i16 247, i16 0, i16 1193, i16 1321, i16 2575, i16 570, i16 2894, i16 0, i16 0, i16 0, i16 2581, i16 2636, i16 2270, i16 12, i16 1424, i16 1188, i16 1383, i16 0, i16 485, i16 700, i16 3254, i16 149, i16 2922, i16 1627, i16 2545, i16 0, i16 1693, i16 0, i16 953, i16 0, i16 0, i16 0, i16 0, i16 600, i16 1138, i16 0, i16 2059, i16 1525, i16 0, i16 1657, i16 0, i16 1727, i16 2841, i16 532, i16 3176, i16 993, i16 1930, i16 192, i16 0, i16 1740, i16 0, i16 3192, i16 1927, i16 802, i16 2849, i16 1064, i16 2109, i16 0, i16 324, i16 144, i16 881, i16 2133, i16 0, i16 2610, i16 171, i16 1129, i16 1378, i16 0, i16 1835, i16 435, i16 760, i16 1324, i16 0, i16 1251, i16 3100, i16 0, i16 835, i16 0, i16 3310, i16 636, i16 594, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2333, i16 1632, i16 3379, i16 3018, i16 3285, i16 388, i16 2748, i16 0, i16 0, i16 0, i16 0, i16 1905, i16 3354, i16 0, i16 2014, i16 0, i16 0, i16 763, i16 0, i16 2011, i16 0, i16 3033, i16 3223, i16 1009, i16 0, i16 1287, i16 292, i16 413, i16 0, i16 0, i16 0, i16 0, i16 31, i16 2143, i16 2128, i16 1878, i16 956, i16 822, i16 2430, i16 311, i16 0, i16 0, i16 2313, i16 1256, i16 2956, i16 0, i16 224, i16 0, i16 2965, i16 109, i16 634, i16 1431, i16 2465, i16 0, i16 0, i16 0, i16 1775, i16 2462, i16 1090, i16 778, i16 3271, i16 1819, i16 0, i16 2645, i16 291, i16 0, i16 1904, i16 0, i16 182, i16 536, i16 0, i16 0, i16 1203, i16 827, i16 294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8, i16 2005, i16 15, i16 2031, i16 3269, i16 3297, i16 3319, i16 0, i16 3213, i16 3241, i16 3259, i16 0, i16 295, i16 133, i16 2811, i16 1707, i16 1915, i16 0, i16 154, i16 174, i16 3416, i16 2448, i16 1144, i16 0, i16 0, i16 0, i16 0, i16 890, i16 1865, i16 1368, i16 1496, i16 1868, i16 1050, i16 1823, i16 2389, i16 1264, i16 752, i16 2456, i16 0, i16 0, i16 356, i16 1336, i16 2116, i16 978, i16 1831, i16 0, i16 2068, i16 1215, i16 705, i16 1044, i16 0, i16 702, i16 0, i16 0, i16 129, i16 0, i16 0, i16 2364, i16 0, i16 0, i16 1312, i16 0, i16 0, i16 16, i16 0, i16 3244, i16 1133, i16 3078, i16 1139, i16 0, i16 2478, i16 0, i16 422, i16 2573, i16 2007, i16 1097, i16 812, i16 0, i16 0, i16 0, i16 665, i16 0, i16 0, i16 0, i16 0, i16 1736, i16 0, i16 2157, i16 549, i16 3165, i16 0, i16 0, i16 0, i16 1271, i16 0, i16 219, i16 0, i16 0, i16 0, i16 1783, i16 0, i16 0, i16 397, i16 3383, i16 0, i16 0, i16 0, i16 2279, i16 3375, i16 1052, i16 0, i16 0, i16 1712, i16 546, i16 1798, i16 3309, i16 0, i16 380, i16 0, i16 0, i16 3038, i16 0, i16 1621, i16 1122, i16 711, i16 3222, i16 2742, i16 0, i16 1701, i16 1053, i16 0, i16 3327, i16 1922, i16 0, i16 1800, i16 1731, i16 0, i16 2516, i16 655, i16 0, i16 2358, i16 2393, i16 2464, i16 2494, i16 2580, i16 2679, i16 2743, i16 2788, i16 2824, i16 2858, i16 2935, i16 2982, i16 3101, i16 3153, i16 3276, i16 2438, i16 2488, i16 2757, i16 2052, i16 2144, i16 2286, i16 2337, i16 2400, i16 2452, i16 2738, i16 2779, i16 2845, i16 2887, i16 3020, i16 3134, i16 3188, i16 3102, i16 1847, i16 2733, i16 2758, i16 1560, i16 1535, i16 824, i16 1822, i16 0, i16 0, i16 2816, i16 2380, i16 0, i16 1228, i16 0, i16 2366, i16 2378, i16 1968, i16 1599, i16 2042, i16 1318, i16 1338, i16 1569, i16 300, i16 0, i16 2873, i16 2320, i16 0, i16 2893, i16 1706, i16 0, i16 1916, i16 0, i16 3129, i16 590, i16 0, i16 0, i16 2836, i16 0, i16 37, i16 0, i16 0, i16 0, i16 551, i16 3155, i16 3177, i16 1951, i16 1056, i16 1855, i16 3247, i16 562, i16 3208, i16 3294, i16 862, i16 0, i16 3055, i16 1453, i16 1626, i16 296, i16 1871, i16 0, i16 1069, i16 0, i16 1767, i16 1776, i16 58, i16 2992, i16 611, i16 2607, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1941, i16 2347, i16 1813, i16 0, i16 2203, i16 1148, i16 0, i16 0, i16 1667, i16 0, i16 0, i16 162, i16 108, i16 0, i16 1211, i16 1063, i16 83, i16 2249, i16 0, i16 1288, i16 832, i16 0, i16 826, i16 88, i16 1434, i16 0, i16 0, i16 0, i16 2087, i16 2773, i16 1852, i16 1921, i16 2220, i16 0, i16 2627, i16 1333, i16 1120, i16 1902, i16 0, i16 1079, i16 1073, i16 305, i16 0, i16 3074, i16 2755, i16 2628, i16 2244, i16 547, i16 0, i16 527, i16 0, i16 428, i16 0, i16 0, i16 3130, i16 3158, i16 3180, i16 3200, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1601, i16 2058, i16 1332, i16 0, i16 0, i16 242, i16 0, i16 0, i16 0, i16 0, i16 3335, i16 374, i16 1877, i16 2903, i16 2726, i16 0, i16 2131, i16 325, i16 1807, i16 378, i16 1606, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 429, i16 172, i16 201, i16 0, i16 585, i16 0, i16 0, i16 2913, i16 351, i16 698, i16 2264, i16 2187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1104, i16 1114, i16 2003, i16 2029, i16 2056, i16 2083, i16 2103, i16 2120, i16 2145, i16 2173, i16 2195, i16 2228, i16 2256, i16 2277, i16 2302, i16 2328, i16 2346, i16 2363, i16 2388, i16 2408, i16 2429, i16 2454, i16 2472, i16 1406, i16 2507, i16 2533, i16 2553, i16 2578, i16 2601, i16 2623, i16 2640, i16 2667, i16 597, i16 0, i16 0, i16 1363, i16 0, i16 0, i16 0, i16 244, i16 474, i16 0, i16 0, i16 0, i16 229, i16 0, i16 481, i16 0, i16 0, i16 2531, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2275, i16 0, i16 0, i16 2357, i16 548, i16 0, i16 1670, i16 701, i16 2901, i16 3404, i16 0, i16 1067, i16 2008, i16 2577, i16 1844, i16 1659, i16 2564, i16 0, i16 2905, i16 3220, i16 442, i16 0, i16 1407, i16 0, i16 1416, i16 0, i16 1663, i16 1036, i16 0, i16 0, i16 2548, i16 3088, i16 0, i16 473, i16 0, i16 2486, i16 2659, i16 3143, i16 0, i16 1861, i16 1881, i16 0, i16 629, i16 840, i16 2519, i16 3068, i16 2012, i16 0, i16 0, i16 2149, i16 1739, i16 3303, i16 949, i16 577, i16 725, i16 658, i16 146, i16 67, i16 2916, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 945, i16 0, i16 0, i16 505, i16 469, i16 3166, i16 3209, i16 1883, i16 0, i16 0, i16 0, i16 1540, i16 0, i16 3332, i16 3072, i16 2593, i16 1610, i16 1257, i16 0, i16 0, i16 578, i16 0, i16 2394, i16 1766, i16 959, i16 1218, i16 0, i16 0, i16 0, i16 632, i16 0, i16 623, i16 1068, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 348, i16 1624, i16 1315, i16 0, i16 878, i16 3095, i16 116, i16 2426, i16 0, i16 737, i16 1466, i16 13, i16 212, i16 0, i16 3315, i16 831, i16 0, i16 2670, i16 1635, i16 1612, i16 0, i16 0, i16 0, i16 1357, i16 709, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1630, i16 2934, i16 488, i16 157, i16 1327, i16 2054, i16 2407, i16 450, i16 0, i16 981, i16 1135, i16 0, i16 1918, i16 1189, i16 729, i16 2427, i16 0, i16 0, i16 2739, i16 3291, i16 0, i16 675, i16 1834, i16 0, i16 1080, i16 589, i16 1415, i16 2537, i16 2406, i16 119, i16 1393, i16 2387, i16 2910, i16 1897, i16 0, i16 1310, i16 1690, i16 0, i16 2988, i16 0, i16 0, i16 0, i16 0, i16 3322, i16 1048, i16 1399, i16 0, i16 1023, i16 0, i16 1361, i16 1617, i16 375, i16 1699, i16 1778, i16 914, i16 1033, i16 0, i16 1334, i16 0, i16 1279, i16 0, i16 0, i16 1952, i16 210, i16 354, i16 0, i16 1738, i16 2881, i16 2283, i16 0, i16 2451, i16 861, i16 3006, i16 0, i16 2800, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1313, i16 1417, i16 2287, i16 1703, i16 2137, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 866, i16 622, i16 1316, i16 1408, i16 1820, i16 898, i16 1728, i16 2600, i16 1320, i16 2332, i16 2813, i16 2630, i16 0, i16 0, i16 427, i16 0, i16 69, i16 459, i16 3043, i16 445, i16 0, i16 1640, i16 706, i16 3050, i16 0, i16 1658, i16 0, i16 0, i16 0, i16 2288, i16 3051, i16 0, i16 1638, i16 402, i16 0, i16 2886, i16 1350, i16 74, i16 0, i16 0, i16 105, i16 266, i16 1214, i16 0, i16 0, i16 0, i16 723, i16 2198, i16 1895, i16 1356, i16 893, i16 535, i16 2248, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2209, i16 3391, i16 0, i16 1254, i16 72, i16 0, i16 2918, i16 3376, i16 2631, i16 1889, i16 2329, i16 2112, i16 2967, i16 0, i16 2831, i16 0, i16 433, i16 2626, i16 2664, i16 1403, i16 1604, i16 0, i16 656, i16 2227, i16 0, i16 0, i16 3181, i16 0, i16 0, i16 933, i16 1146, i16 750, i16 2439, i16 503, i16 1715, i16 885, i16 1784, i16 432, i16 2153, i16 2176, i16 2206, i16 2237, i16 2265, i16 2284, i16 2308, i16 2121, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3054, i16 3082, i16 3103, i16 3126, i16 3151, i16 3171, i16 3193, i16 36, i16 877, i16 0, i16 758, i16 0, i16 1301, i16 147, i16 1262, i16 1072, i16 1616, i16 0, i16 0, i16 0, i16 0, i16 1774, i16 2051, i16 1567, i16 0, i16 2435, i16 2483, i16 0, i16 905, i16 0, i16 2397, i16 256, i16 1851, i16 0, i16 303, i16 0, i16 0, i16 0, i16 0, i16 0, i16 882, i16 0, i16 0, i16 0, i16 1094, i16 1733, i16 1409, i16 0, i16 0, i16 464, i16 0, i16 1880, i16 707, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1243, i16 1963, i16 767, i16 0, i16 0, i16 0, i16 992, i16 0, i16 1571, i16 3334, i16 0, i16 1719, i16 3036, i16 0, i16 2676, i16 624, i16 728, i16 1261, i16 798, i16 1493, i16 0, i16 0, i16 2702, i16 1526, i16 746, i16 3183, i16 0, i16 1046, i16 0, i16 1462, i16 0, i16 2576, i16 1293, i16 3333, i16 0, i16 0, i16 0, i16 3324, i16 1549, i16 0, i16 0, i16 0, i16 2681, i16 1041, i16 2798, i16 1516, i16 1143, i16 1949, i16 1598, i16 390, i16 1236, i16 1448, i16 2829, i16 2432, i16 298, i16 304, i16 2980, i16 336, i16 0, i16 284, i16 0, i16 533, i16 0, i16 0, i16 0, i16 2741, i16 3407, i16 0, i16 2760, i16 1224, i16 100, i16 0, i16 151, i16 0, i16 2885, i16 0, i16 3272, i16 3398, i16 2167, i16 0, i16 0, i16 2175, i16 2184, i16 2196, i16 2191, i16 2205, i16 2307, i16 2222, i16 2322, i16 2214, i16 2343, i16 2229, i16 2348, i16 2236, i16 2490, i16 2508, i16 2534, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 376, i16 3202, i16 1158, i16 0, i16 0, i16 712, i16 1994, i16 906, i16 0, i16 0, i16 0, i16 751, i16 692, i16 1372, i16 936, i16 2146, i16 1829, i16 1474, i16 357, i16 1618, i16 930, i16 2381, i16 2392, i16 0, i16 0, i16 0, i16 46, i16 3256, i16 0, i16 0, i16 0, i16 0, i16 2425, i16 519, i16 0, i16 2466, i16 3340, i16 0, i16 0, i16 0, i16 0, i16 2559, i16 3233, i16 2995, i16 281, i16 0, i16 2685, i16 1680, i16 3175, i16 2402, i16 2752, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1770, i16 1105, i16 3059, i16 1340, i16 801, i16 0, i16 521, i16 0, i16 2170, i16 0, i16 0, i16 1154, i16 0, i16 0, i16 1583, i16 22, i16 2652, i16 3211, i16 0, i16 0, i16 0, i16 0, i16 361, i16 0, i16 928, i16 0, i16 0, i16 3089, i16 557, i16 815, i16 0, i16 0, i16 1325, i16 2950, i16 1110, i16 2310, i16 2113, i16 0, i16 2115, i16 2330, i16 635, i16 2418, i16 967, i16 0, i16 230, i16 666, i16 1709, i16 0, i16 0, i16 1456, i16 2370, i16 3060, i16 0, i16 0, i16 1392, i16 851, i16 342, i16 805, i16 1854, i16 0, i16 2433, i16 3281, i16 1787, i16 2535, i16 0, i16 576, i16 2700, i16 1987, i16 0, i16 0, i16 2549, i16 407, i16 2174, i16 2957, i16 0, i16 0, i16 0, i16 0, i16 1993, i16 1413, i16 175, i16 0, i16 912, i16 2161, i16 0, i16 976, i16 2039, i16 649, i16 0, i16 1239, i16 2979, i16 1111, i16 1849, i16 1078, i16 0, i16 662, i16 668, i16 964, i16 0, i16 3314, i16 595, i16 3120, i16 3152, i16 592, i16 2687, i16 0, i16 2804, i16 2828, i16 2847, i16 2796, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1465, i16 2612, i16 2633, i16 2655, i16 2675, i16 2699, i16 2724, i16 2747, i16 2774, i16 2799, i16 2821, i16 2840, i16 2864, i16 2882, i16 2899, i16 2925, i16 641, i16 781, i16 0, i16 1996, i16 1613, i16 856, i16 1929, i16 1924, i16 0, i16 1781, i16 240, i16 1192, i16 35, i16 787, i16 3197, i16 1593, i16 3081, i16 2927, i16 0, i16 2686, i16 0, i16 1235, i16 0, i16 104, i16 1505, i16 0, i16 0, i16 0, i16 579, i16 3412, i16 2998, i16 1990, i16 2945, i16 2975, i16 2994, i16 3015, i16 3035, i16 0, i16 0, i16 0, i16 1742, i16 3070, i16 3093, i16 3116, i16 3137, i16 3162, i16 3186, i16 3203, i16 3226, i16 3250, i16 3270, i16 3298, i16 3320, i16 3345, i16 3366, i16 3390, i16 3411, i16 1976, i16 1998, i16 2025, i16 2049, i16 2075, i16 0, i16 0, i16 142, i16 0, i16 1213, i16 0, i16 560, i16 1166, i16 3001, i16 290, i16 0, i16 1536, i16 0, i16 633, i16 1309, i16 0, i16 1856, i16 1026, i16 0, i16 0, i16 591, i16 0, i16 0, i16 773, i16 0, i16 571, i16 2590, i16 110, i16 0, i16 0, i16 0, i16 0, i16 41, i16 621, i16 3218, i16 312, i16 3150, i16 431, i16 1894, i16 0, i16 963, i16 1790, i16 2952, i16 1558, i16 3199, i16 3142, i16 0, i16 2889, i16 0, i16 2761, i16 0, i16 0, i16 0, i16 0, i16 892, i16 0, i16 0, i16 0, i16 2869, i16 2877, i16 955, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1688, i16 313, i16 1710, i16 0, i16 1647, i16 0, i16 0, i16 0, i16 0, i16 0, i16 150, i16 383, i16 0, i16 0, i16 957, i16 1268, i16 0, i16 0, i16 1199, i16 3255, i16 2586, i16 1183, i16 0, i16 0, i16 0, i16 405, i16 2764, i16 818, i16 543, i16 293, i16 1017, i16 4, i16 3225, i16 0, i16 1984, i16 0, i16 0, i16 0, i16 3091, i16 2000, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 639, i16 0, i16 1428, i16 0, i16 444, i16 0, i16 718, i16 2251, i16 0, i16 0, i16 2306, i16 2181, i16 0, i16 2458, i16 0, i16 3083, i16 99, i16 0, i16 0, i16 479, i16 2260, i16 3064, i16 0, i16 3343, i16 0, i16 103, i16 1210, i16 727, i16 1469, i16 3339, i16 582, i16 0, i16 1956, i16 0, i16 0, i16 2223, i16 63, i16 203, i16 1208, i16 2141, i16 1238, i16 344, i16 2415, i16 796, i16 3323, i16 1692, i16 3117, i16 0, i16 0, i16 1653, i16 1175, i16 2446, i16 448, i16 327, i16 1928, i16 2706, i16 2713, i16 2826, i16 421, i16 2832, i16 0, i16 0, i16 113, i16 0, i16 2108, i16 1607, i16 2217, i16 1839, i16 2023, i16 679, i16 1275, i16 766, i16 252, i16 2789, i16 1391, i16 2872, i16 274, i16 1438, i16 0, i16 0, i16 1396, i16 1625, i16 0, i16 0, i16 0, i16 0, i16 561, i16 616, i16 790, i16 1691, i16 0, i16 1628, i16 1443, i16 3221, i16 0, i16 1700, i16 0, i16 1495, i16 1353, i16 2437, i16 59, i16 0, i16 2539, i16 1940, i16 0, i16 0, i16 0, i16 254, i16 0, i16 1439, i16 988, i16 369, i16 102, i16 195, i16 682, i16 0, i16 0, i16 1765, i16 0, i16 1704, i16 0, i16 704, i16 0, i16 554, i16 1222, i16 2784, i16 0, i16 0, i16 0, i16 559, i16 0, i16 0, i16 0, i16 302, i16 0, i16 0, i16 0, i16 0, i16 3284, i16 3234, i16 0, i16 2463, i16 3071, i16 1802, i16 1232, i16 0, i16 264, i16 0, i16 2868, i16 908, i16 0, i16 0, i16 0, i16 178, i16 0, i16 228, i16 0, i16 871, i16 0, i16 0, i16 0, i16 257, i16 0, i16 673, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 952, i16 416, i16 0, i16 419, i16 1936, i16 1503, i16 0, i16 319, i16 0, i16 0, i16 3342, i16 0, i16 0, i16 3174, i16 735, i16 39, i16 0, i16 1062, i16 573, i16 1594, i16 1168, i16 0, i16 962, i16 1441, i16 1173, i16 3084, i16 864, i16 0, i16 1970, i16 227, i16 3114, i16 0, i16 0, i16 1753, i16 1761, i16 1194, i16 0, i16 0, i16 0, i16 2094, i16 2122, i16 2154, i16 2177, i16 2207, i16 2238, i16 2266, i16 2285, i16 2309, i16 2335, i16 2355, i16 2376, i16 2396, i16 2417, i16 2442, i16 2468, i16 1292, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1451, i16 2589, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1401, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2475, i16 1869, i16 0, i16 0, i16 1317, i16 1059, i16 2777, i16 2728, i16 0, i16 0, i16 0, i16 0, i16 417, i16 1081, i16 1911, i16 0, i16 0, i16 0, i16 0, i16 3307, i16 1038, i16 0, i16 0, i16 0, i16 0, i16 2099, i16 575, i16 0, i16 0, i16 0, i16 2896, i16 2637, i16 3243, i16 0, i16 1141, i16 123, i16 1498, i16 1988, i16 2513, i16 0, i16 55, i16 2772, i16 2356, i16 1373, i16 1605, i16 0, i16 287, i16 3052, i16 0, i16 355, i16 765, i16 0, i16 0, i16 2781, i16 0, i16 2797, i16 1573, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 941, i16 1909, i16 2552, i16 0, i16 0, i16 0, i16 2276, i16 0, i16 38, i16 0, i16 1874, i16 50, i16 0, i16 0, i16 1380, i16 684, i16 0, i16 0, i16 411, i16 755, i16 1983, i16 2613, i16 0, i16 0, i16 0, i16 1478, i16 137, i16 0, i16 2544, i16 0, i16 2219, i16 332, i16 1455, i16 3350, i16 2325, i16 1294, i16 1946, i16 1028, i16 2062, i16 1445, i16 0, i16 0, i16 0, i16 797, i16 0, i16 1395, i16 0, i16 441, i16 499, i16 2823, i16 1890, i16 495, i16 1490, i16 3148, i16 1071, i16 1716, i16 3295, i16 0, i16 0, i16 937, i16 1797, i16 1246, i16 3205, i16 0, i16 946, i16 0, i16 2731, i16 0, i16 285, i16 0, i16 0, i16 0, i16 2459, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 384, i16 204, i16 2735, i16 716, i16 0, i16 0, i16 0, i16 153, i16 3347, i16 0, i16 0, i16 0, i16 2489, i16 2482, i16 1419, i16 2703, i16 2226, i16 1471, i16 0, i16 1418, i16 951, i16 0, i16 0, i16 0, i16 0, i16 232, i16 0, i16 0, i16 3326, i16 0, i16 0, i16 1470, i16 0, i16 0, i16 494, i16 0, i16 107, i16 2409, i16 1769, i16 1058, i16 3261, i16 0, i16 3147, i16 1285, i16 0, i16 1351, i16 3362, i16 0, i16 1204, i16 695, i16 0, i16 360, i16 1539, i16 2634, i16 0, i16 0, i16 2250, i16 0, i16 95, i16 3034, i16 1815, i16 0, i16 2993, i16 52, i16 1722, i16 0, i16 0, i16 0, i16 1276, i16 3172, i16 2199, i16 808, i16 786, i16 2361, i16 0, i16 1458, i16 2215, i16 0, i16 483, i16 3230, i16 1206, i16 2183, i16 2213, i16 2245, i16 2268, i16 2289, i16 2315, i16 2339, i16 2354, i16 2375, i16 2395, i16 2416, i16 2441, i16 2467, i16 2477, i16 2753, i16 2517, i16 2547, i16 2566, i16 2587, i16 2611, i16 2632, i16 2654, i16 2674, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 439, i16 2127, i16 2746, i16 3195, i16 2974, i16 0, i16 9, i16 1157, i16 1986, i16 1055, i16 1178, i16 0, i16 436, i16 0, i16 3388, i16 3048, i16 654, i16 0, i16 3058, i16 0, i16 1545, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2515, i16 0, i16 1221, i16 1099, i16 187, i16 2092, i16 1463, i16 2647, i16 2803, i16 0, i16 0, i16 0, i16 0, i16 1031, i16 2658, i16 0, i16 1836, i16 0, i16 0, i16 47, i16 2879, i16 3019, i16 2166, i16 0, i16 0, i16 1843, i16 0, i16 0, i16 398, i16 0, i16 1848, i16 874, i16 297, i16 0, i16 0, i16 0, i16 1686, i16 613, i16 3002, i16 2931, i16 2867, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2754, i16 2503, i16 2391, i16 3065, i16 3110, i16 3138, i16 3163, i16 3190, i16 3229, i16 3288, i16 3338, i16 3357, i16 2036, i16 2070, i16 2097, i16 2129, i16 2156, i16 2186, i16 2247, i16 2274, i16 2298, i16 2344, i16 2365, i16 2019, i16 2801, i16 2684, i16 2405, i16 3341, i16 3027, i16 3348, i16 3422, i16 2091, i16 1485, i16 0, i16 3010, i16 902, i16 0, i16 0, i16 1948, i16 0, i16 0, i16 0, i16 309, i16 0, i16 3418, i16 484, i16 0, i16 0, i16 2567, i16 1944, i16 0, i16 1724, i16 0, i16 1777, i16 492, i16 81, i16 688, i16 1714, i16 1499, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2770, i16 3075, i16 1804, i16 0, i16 1227, i16 1751, i16 2936, i16 0, i16 0, i16 0, i16 121, i16 0, i16 1180, i16 1364, i16 1322, i16 3112, i16 588, i16 347, i16 1982, i16 2162, i16 2938, i16 2304, i16 3215, i16 2528, i16 0, i16 0, i16 0, i16 2814, i16 1442, i16 71, i16 0, i16 593, i16 2775, i16 2240, i16 1741, i16 0, i16 0, i16 0, i16 2692, i16 1966, i16 0, i16 379, i16 1102, i16 3000, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1745, i16 0, i16 0, i16 0, i16 3161, i16 1057, i16 2683, i16 222, i16 2338, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1749, i16 2524, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2334, i16 2349, i16 2368, i16 2390, i16 2411, i16 2434, i16 2461, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3214, i16 3242, i16 3260, i16 3283, i16 3308, i16 3330, i16 3352, i16 0, i16 0, i16 0, i16 0, i16 0, i16 989, i16 982, i16 0, i16 0, i16 0, i16 0, i16 1938, i16 0, i16 0, i16 1681, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 991, i16 0, i16 730, i16 2911, i16 0, i16 0, i16 0, i16 1899, i16 2028, i16 185, i16 2512, i16 2569, i16 2673, i16 2267, i16 2806, i16 2941, i16 2540, i16 2923, i16 2086, i16 0, i16 1892, i16 0, i16 903, i16 2920, i16 2592, i16 2751, i16 1093, i16 1708, i16 0, i16 3005, i16 19, i16 3356, i16 2527, i16 216, i16 2619, i16 2188, i16 2557, i16 627, i16 748, i16 135, i16 1344, i16 0, i16 872, i16 1018, i16 2790, i16 2776, i16 0, i16 669, i16 2721, i16 73, i16 2139, i16 1278, i16 188, i16 0, i16 2662, i16 0, i16 0, i16 0, i16 0, i16 550, i16 1484, i16 1083, i16 1303, i16 3238, i16 2783, i16 2805, i16 2688, i16 2891, i16 2839, i16 2863, i16 2572, i16 2624, i16 2641, i16 2588, i16 2709, i16 2944, i16 2718, i16 2740, i16 2768, i16 2820, i16 2871, i16 2579, i16 2698, i16 215, i16 2959, i16 844, i16 2151, i16 2984, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2272, i16 0, i16 2155, i16 2445, i16 371, i16 1070, i16 2953, i16 1633, i16 389, i16 1272, i16 691, i16 1365, i16 1759, i16 2857, i16 1045, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2902, i16 2263, i16 170, i16 855, i16 3113, i16 685, i16 1379, i16 1226, i16 2082, i16 1311, i16 1643, i16 0, i16 3040, i16 1768, i16 1995, i16 1623, i16 2088, i16 3022, i16 1425, i16 1170, i16 2282, i16 0, i16 0, i16 923, i16 1515, i16 1300, i16 3090, i16 2476, i16 1914, i16 289, i16 587, i16 1937, i16 2546, i16 2536, i16 1449, i16 2962, i16 3207, i16 0, i16 1519, i16 1259, i16 968, i16 1590, i16 2371, i16 3066, i16 1249, i16 173, i16 759, i16 1945, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 526, i16 2096, i16 0, i16 0, i16 0, i16 0, i16 3367, i16 0, i16 541, i16 2231, i16 954, i16 0, i16 0, i16 237, i16 0, i16 0, i16 430, i16 0, i16 0, i16 0, i16 2081, i16 726, i16 2020, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 939, i16 23, i16 0, i16 3109, i16 0, i16 0, i16 0, i16 0, i16 3252, i16 2599, i16 0, i16 965, i16 2221, i16 420, i16 1386, i16 0, i16 1734, i16 0, i16 1824, i16 0, i16 0, i16 0, i16 1969, i16 2259, i16 1509, i16 0, i16 1580, i16 1887, i16 2712, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 194, i16 0, i16 2134, i16 2568, i16 2649, i16 226, i16 663, i16 2048, i16 1862, i16 2460, i16 1400, i16 1299, i16 3369, i16 0, i16 0, i16 1867, i16 465, i16 2620, i16 916, i16 771, i16 940, i16 233, i16 0, i16 3132, i16 2132, i16 720, i16 1020, i16 2050, i16 0, i16 2316, i16 1723, i16 3351, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2246, i16 2032, i16 0, i16 326, i16 3387, i16 714, i16 475, i16 0, i16 1673, i16 0, i16 0, i16 1743, i16 0, i16 3145, i16 0, i16 0, i16 1258, i16 1240, i16 1830, i16 0, i16 70, i16 0, i16 163, i16 0, i16 2817, i16 1230, i16 2481, i16 2253, i16 2880, i16 2551, i16 2701, i16 115, i16 2851, i16 2292, i16 434, i16 0, i16 0, i16 1420, i16 1152, i16 2150, i16 3201, i16 2498, i16 3224, i16 77, i16 0, i16 0, i16 0, i16 690, i16 2538, i16 1903, i16 1901, i16 2812, i16 3396, i16 1959, i16 3023, i16 0, i16 0, i16 0, i16 0, i16 1671, i16 258, i16 1060, i16 0, i16 1587, i16 191, i16 775, i16 935, i16 0, i16 0, i16 743, i16 2615, i16 1010, i16 0, i16 0, i16 0, i16 181, i16 3300, i16 372, i16 0, i16 1689, i16 749, i16 1695, i16 0, i16 2542, i16 2359, i16 418, i16 1730, i16 2771, i16 1735, i16 2470, i16 453, i16 2352, i16 2608, i16 143, i16 1337, i16 2160, i16 1339, i16 1352, i16 78, i16 3124, i16 983, i16 249, i16 0, i16 0, i16 3087, i16 1757, i16 2997, i16 2038, i16 1472, i16 2837, i16 619, i16 3414, i16 3053, i16 79, i16 2061, i16 1885, i16 1132, i16 2055, i16 3118, i16 604, i16 0, i16 0, i16 0, i16 1608, i16 744, i16 0, i16 2560, i16 0, i16 980, i16 1785, i16 301, i16 1489, i16 0, i16 853, i16 2293, i16 1792, i16 0, i16 0, i16 98, i16 1805, i16 456, i16 997, i16 0, i16 849, i16 1011, i16 821, i16 518, i16 0, i16 0, i16 605, i16 630, i16 0, i16 0, i16 0, i16 0, i16 1185, i16 0, i16 0, i16 0, i16 7, i16 0, i16 0, i16 0, i16 609, i16 2570, i16 2946, i16 345, i16 2856, i16 0, i16 415, i16 0, i16 0, i16 0, i16 0, i16 1360, i16 0, i16 2035, i16 1771, i16 2525, i16 0, i16 0, i16 0, i16 0, i16 846, i16 1720, i16 3361, i16 648, i16 132, i16 2252, i16 2080, i16 506, i16 0, i16 0, i16 0, i16 860, i16 214, i16 1522, i16 2819, i16 2671, i16 1051, i16 1551, i16 3107, i16 0, i16 0, i16 0, i16 1806, i16 1286, i16 2745, i16 1782, i16 870, i16 2022, i16 1935, i16 0, i16 1669, i16 809, i16 130, i16 0, i16 299, i16 0, i16 0, i16 2707, i16 2410, i16 0, i16 2602, i16 762, i16 3290, i16 3265, i16 2717, i16 85, i16 1597, i16 2341, i16 1763, i16 612, i16 2140, i16 2694, i16 664, i16 3299, i16 1042, i16 0, i16 1486, i16 1786, i16 2047, i16 2827, i16 1464, i16 3012, i16 2190, i16 0, i16 0, i16 196, i16 2942, i16 0, i16 837, i16 1586, i16 0, i16 1461, i16 710, i16 3077, i16 0, i16 996, i16 0, i16 0, i16 1237, i16 917, i16 457, i16 2194, i16 2954, i16 1220, i16 2780, i16 1444, i16 0, i16 0, i16 676, i16 1788, i16 0, i16 0, i16 971, i16 0, i16 652, i16 0, i16 0, i16 0, i16 0, i16 678, i16 2261, i16 0, i16 0, i16 674, i16 816, i16 2843, i16 286, i16 2900, i16 0, i16 2861, i16 563, i16 567, i16 2255, i16 2850, i16 1872, i16 2321, i16 1947, i16 0, i16 0, i16 854, i16 282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 14592, i16 0, i16 0, i16 0, i16 15360, i16 0, i16 0, i16 0, i16 13825, i16 0, i16 0, i16 0, i16 14338, i16 0, i16 0, i16 0, i16 14595, i16 0, i16 0, i16 0, i16 15620, i16 0, i16 0, i16 0, i16 13317, i16 0, i16 0, i16 0, i16 774, i16 0, i16 0, i16 0, i16 12806, i16 0, i16 0, i16 0, i16 15110, i16 0, i16 0, i16 0, i16 16903, i16 0, i16 0, i16 0, i16 13320, i16 0, i16 0, i16 0, i16 16136, i16 0, i16 0, i16 0, i16 15625, i16 0, i16 0, i16 0, i16 778, i16 0, i16 0, i16 0, i16 13578, i16 0, i16 0, i16 0, i16 14859, i16 0, i16 0, i16 0, i16 12556, i16 0, i16 0, i16 0, i16 14092, i16 0, i16 0, i16 0, i16 16652, i16 0, i16 0, i16 0, i16 12302, i16 0, i16 0, i16 0, i16 15118, i16 0, i16 0, i16 0, i16 17166, i16 0, i16 0, i16 0, i16 12559, i16 0, i16 0, i16 0, i16 12815, i16 0, i16 0, i16 0, i16 12304, i16 0, i16 0, i16 0, i16 14353, i16 0, i16 0, i16 0, i16 16913, i16 0, i16 0, i16 0, i16 14354, i16 0, i16 0, i16 0, i16 14355, i16 0, i16 0, i16 0, i16 16659, i16 0, i16 0, i16 0, i16 13844, i16 0, i16 0, i16 0, i16 13590, i16 0, i16 0, i16 0, i16 13591, i16 0, i16 0, i16 0, i16 15639, i16 0, i16 0, i16 0, i16 280, i16 0, i16 0, i16 0, i16 13336, i16 0, i16 0, i16 0, i16 14616, i16 0, i16 0, i16 0, i16 14105, i16 0, i16 0, i16 0, i16 13594, i16 0, i16 0, i16 0, i16 12571, i16 0, i16 0, i16 0, i16 13340, i16 0, i16 0, i16 0, i16 14620, i16 0, i16 0, i16 0, i16 14365, i16 0, i16 0, i16 0, i16 13854, i16 0, i16 0, i16 0, i16 16926, i16 0, i16 0, i16 0, i16 12831, i16 0, i16 0, i16 0, i16 14623, i16 0, i16 0, i16 0, i16 16415, i16 0, i16 0, i16 0, i16 16671, i16 0, i16 0, i16 0, i16 12576, i16 0, i16 0, i16 0, i16 15648, i16 0, i16 0, i16 0, i16 16928, i16 0, i16 0, i16 0, i16 12833, i16 0, i16 0, i16 0, i16 12322, i16 0, i16 0, i16 0, i16 13346, i16 0, i16 0, i16 0, i16 14370, i16 0, i16 0, i16 0, i16 16418, i16 0, i16 0, i16 0, i16 15907, i16 0, i16 0, i16 0, i16 14631, i16 0, i16 0, i16 0, i16 14632, i16 0, i16 0, i16 0, i16 15400, i16 0, i16 0, i16 0, i16 15656, i16 0, i16 0, i16 0, i16 13353, i16 0, i16 0, i16 0, i16 13609, i16 0, i16 0, i16 0, i16 15145, i16 0, i16 0, i16 0, i16 12330, i16 0, i16 0, i16 0, i16 12587, i16 0, i16 0, i16 0, i16 14891, i16 0, i16 0, i16 0, i16 15147, i16 0, i16 0, i16 0, i16 12588, i16 0, i16 0, i16 0, i16 13868, i16 0, i16 0, i16 0, i16 14381, i16 0, i16 0, i16 0, i16 15149, i16 0, i16 0, i16 0, i16 12334, i16 0, i16 0, i16 0, i16 16430, i16 0, i16 0, i16 0, i16 13359, i16 0, i16 0, i16 0, i16 14383, i16 0, i16 0, i16 0, i16 13616, i16 0, i16 0, i16 0, i16 15664, i16 0, i16 0, i16 0, i16 16432, i16 0, i16 0, i16 0, i16 12593, i16 0, i16 0, i16 0, i16 16945, i16 0, i16 0, i16 0, i16 15666, i16 0, i16 0, i16 0, i16 16690, i16 0, i16 0, i16 0, i16 15923, i16 0, i16 0, i16 0, i16 12340, i16 0, i16 0, i16 0, i16 14388, i16 0, i16 0, i16 0, i16 15924, i16 0, i16 0, i16 0, i16 12853, i16 0, i16 0, i16 0, i16 13112, i16 0, i16 0, i16 0, i16 15928, i16 0, i16 0, i16 0, i16 15929, i16 0, i16 0, i16 0, i16 16185, i16 0, i16 0, i16 0, i16 13626, i16 0, i16 0, i16 0, i16 13882, i16 0, i16 0, i16 0, i16 15930, i16 0, i16 0, i16 0, i16 12347, i16 0, i16 0, i16 0, i16 12603, i16 0, i16 0, i16 0, i16 13627, i16 0, i16 0, i16 0, i16 15675, i16 0, i16 0, i16 0, i16 12860, i16 0, i16 0, i16 0, i16 14396, i16 0, i16 0, i16 0, i16 16444, i16 0, i16 0, i16 0, i16 12351, i16 0, i16 0, i16 0, i16 13631, i16 0, i16 0, i16 0, i16 16703, i16 0, i16 0, i16 0, i16 12353, i16 0, i16 0, i16 0, i16 12865, i16 0, i16 0, i16 0, i16 13377, i16 0, i16 0, i16 0, i16 14145, i16 0, i16 0, i16 0, i16 15425, i16 0, i16 0, i16 0, i16 12866, i16 0, i16 0, i16 0, i16 13634, i16 0, i16 0, i16 0, i16 16962, i16 0, i16 0, i16 0, i16 13380, i16 0, i16 0, i16 0, i16 14916, i16 0, i16 0, i16 0, i16 13125, i16 0, i16 0, i16 0, i16 13893, i16 0, i16 0, i16 0, i16 15429, i16 0, i16 0, i16 0, i16 16709, i16 0, i16 0, i16 0, i16 13638, i16 0, i16 0, i16 0, i16 15430, i16 0, i16 0, i16 0, i16 15686, i16 0, i16 0, i16 0, i16 16966, i16 0, i16 0, i16 0, i16 13383, i16 0, i16 0, i16 0, i16 16455, i16 0, i16 0, i16 0, i16 16456, i16 0, i16 0, i16 0, i16 16712, i16 0, i16 0, i16 0, i16 12361, i16 0, i16 0, i16 0, i16 12617, i16 0, i16 0, i16 0, i16 15177, i16 0, i16 0, i16 0, i16 12874, i16 0, i16 0, i16 0, i16 16970, i16 0, i16 0, i16 0, i16 12875, i16 0, i16 0, i16 0, i16 14412, i16 0, i16 0, i16 0, i16 15948, i16 0, i16 0, i16 0, i16 12621, i16 0, i16 0, i16 0, i16 13646, i16 0, i16 0, i16 0, i16 14414, i16 0, i16 0, i16 0, i16 12623, i16 0, i16 0, i16 0, i16 14159, i16 0, i16 0, i16 0, i16 13136, i16 0, i16 0, i16 0, i16 16464, i16 0, i16 0, i16 0, i16 16976, i16 0, i16 0, i16 0, i16 12882, i16 0, i16 0, i16 0, i16 15698, i16 0, i16 0, i16 0, i16 14419, i16 0, i16 0, i16 0, i16 12373, i16 0, i16 0, i16 0, i16 15957, i16 0, i16 0, i16 0, i16 16981, i16 0, i16 0, i16 0, i16 13398, i16 0, i16 0, i16 0, i16 14934, i16 0, i16 0, i16 0, i16 13400, i16 0, i16 0, i16 0, i16 13145, i16 0, i16 0, i16 0, i16 13402, i16 0, i16 0, i16 0, i16 14682, i16 0, i16 0, i16 0, i16 16730, i16 0, i16 0, i16 0, i16 16986, i16 0, i16 0, i16 0, i16 14939, i16 0, i16 0, i16 0, i16 13148, i16 0, i16 0, i16 0, i16 15708, i16 0, i16 0, i16 0, i16 16476, i16 0, i16 0, i16 0, i16 13149, i16 0, i16 0, i16 0, i16 14173, i16 0, i16 0, i16 0, i16 15453, i16 0, i16 0, i16 0, i16 15709, i16 0, i16 0, i16 0, i16 16733, i16 0, i16 0, i16 0, i16 14174, i16 0, i16 0, i16 0, i16 15710, i16 0, i16 0, i16 0, i16 12383, i16 0, i16 0, i16 0, i16 16735, i16 0, i16 0, i16 0, i16 15712, i16 0, i16 0, i16 0, i16 12641, i16 0, i16 0, i16 0, i16 13409, i16 0, i16 0, i16 0, i16 16226, i16 0, i16 0, i16 0, i16 13923, i16 0, i16 0, i16 0, i16 14179, i16 0, i16 0, i16 0, i16 16483, i16 0, i16 0, i16 0, i16 15716, i16 0, i16 0, i16 0, i16 13414, i16 0, i16 0, i16 0, i16 615, i16 0, i16 0, i16 0, i16 871, i16 0, i16 0, i16 0, i16 12906, i16 0, i16 0, i16 0, i16 14186, i16 0, i16 0, i16 0, i16 14442, i16 0, i16 0, i16 0, i16 14698, i16 0, i16 0, i16 0, i16 16490, i16 0, i16 0, i16 0, i16 12651, i16 0, i16 0, i16 0, i16 13675, i16 0, i16 0, i16 0, i16 13164, i16 0, i16 0, i16 0, i16 13420, i16 0, i16 0, i16 0, i16 15980, i16 0, i16 0, i16 0, i16 13935, i16 0, i16 0, i16 0, i16 13680, i16 0, i16 0, i16 0, i16 16752, i16 0, i16 0, i16 0, i16 13938, i16 0, i16 0, i16 0, i16 15475, i16 0, i16 0, i16 0, i16 15731, i16 0, i16 0, i16 0, i16 12660, i16 0, i16 0, i16 0, i16 15732, i16 0, i16 0, i16 0, i16 14453, i16 0, i16 0, i16 0, i16 14709, i16 0, i16 0, i16 0, i16 15221, i16 0, i16 0, i16 0, i16 12406, i16 0, i16 0, i16 0, i16 13174, i16 0, i16 0, i16 0, i16 12919, i16 0, i16 0, i16 0, i16 16759, i16 0, i16 0, i16 0, i16 15480, i16 0, i16 0, i16 0, i16 14201, i16 0, i16 0, i16 0, i16 15737, i16 0, i16 0, i16 0, i16 15993, i16 0, i16 0, i16 0, i16 16250, i16 0, i16 0, i16 0, i16 12411, i16 0, i16 0, i16 0, i16 636, i16 0, i16 0, i16 0, i16 13180, i16 0, i16 0, i16 0, i16 14460, i16 0, i16 0, i16 0, i16 14716, i16 0, i16 0, i16 0, i16 14972, i16 0, i16 0, i16 0, i16 15228, i16 0, i16 0, i16 0, i16 12669, i16 0, i16 0, i16 0, i16 14205, i16 0, i16 0, i16 0, i16 16765, i16 0, i16 0, i16 0, i16 12926, i16 0, i16 0, i16 0, i16 15486, i16 0, i16 0, i16 0, i16 15742, i16 0, i16 0, i16 0, i16 14207, i16 0, i16 0, i16 0, i16 16767, i16 0, i16 0, i16 0, i16 13185, i16 0, i16 0, i16 0, i16 12931, i16 0, i16 0, i16 0, i16 13187, i16 0, i16 0, i16 0, i16 13699, i16 0, i16 0, i16 0, i16 14467, i16 0, i16 0, i16 0, i16 12421, i16 0, i16 0, i16 0, i16 13701, i16 0, i16 0, i16 0, i16 14725, i16 0, i16 0, i16 0, i16 14981, i16 0, i16 0, i16 0, i16 16261, i16 0, i16 0, i16 0, i16 13190, i16 0, i16 0, i16 0, i16 14214, i16 0, i16 0, i16 0, i16 16006, i16 0, i16 0, i16 0, i16 13703, i16 0, i16 0, i16 0, i16 12425, i16 0, i16 0, i16 0, i16 13705, i16 0, i16 0, i16 0, i16 14473, i16 0, i16 0, i16 0, i16 14985, i16 0, i16 0, i16 0, i16 13962, i16 0, i16 0, i16 0, i16 16266, i16 0, i16 0, i16 0, i16 12939, i16 0, i16 0, i16 0, i16 13453, i16 0, i16 0, i16 0, i16 14221, i16 0, i16 0, i16 0, i16 16013, i16 0, i16 0, i16 0, i16 17037, i16 0, i16 0, i16 0, i16 15503, i16 0, i16 0, i16 0, i16 14737, i16 0, i16 0, i16 0, i16 12946, i16 0, i16 0, i16 0, i16 13458, i16 0, i16 0, i16 0, i16 15506, i16 0, i16 0, i16 0, i16 17042, i16 0, i16 0, i16 0, i16 12435, i16 0, i16 0, i16 0, i16 16019, i16 0, i16 0, i16 0, i16 17043, i16 0, i16 0, i16 0, i16 12948, i16 0, i16 0, i16 0, i16 13972, i16 0, i16 0, i16 0, i16 16532, i16 0, i16 0, i16 0, i16 13975, i16 0, i16 0, i16 0, i16 15768, i16 0, i16 0, i16 0, i16 16793, i16 0, i16 0, i16 0, i16 13466, i16 0, i16 0, i16 0, i16 155, i16 0, i16 0, i16 0, i16 156, i16 0, i16 0, i16 0, i16 13469, i16 0, i16 0, i16 0, i16 16285, i16 0, i16 0, i16 0, i16 12958, i16 0, i16 0, i16 0, i16 13215, i16 0, i16 0, i16 0, i16 13727, i16 0, i16 0, i16 0, i16 14751, i16 0, i16 0, i16 0, i16 15263, i16 0, i16 0, i16 0, i16 15775, i16 0, i16 0, i16 0, i16 12704, i16 0, i16 0, i16 0, i16 16800, i16 0, i16 0, i16 0, i16 13473, i16 0, i16 0, i16 0, i16 14241, i16 0, i16 0, i16 0, i16 15521, i16 0, i16 0, i16 0, i16 16801, i16 0, i16 0, i16 0, i16 12962, i16 0, i16 0, i16 0, i16 15010, i16 0, i16 0, i16 0, i16 15778, i16 0, i16 0, i16 0, i16 15267, i16 0, i16 0, i16 0, i16 14500, i16 0, i16 0, i16 0, i16 165, i16 0, i16 0, i16 0, i16 15781, i16 0, i16 0, i16 0, i16 16293, i16 0, i16 0, i16 0, i16 166, i16 0, i16 0, i16 0, i16 17063, i16 0, i16 0, i16 0, i16 13736, i16 0, i16 0, i16 0, i16 16296, i16 0, i16 0, i16 0, i16 16808, i16 0, i16 0, i16 0, i16 12713, i16 0, i16 0, i16 0, i16 13993, i16 0, i16 0, i16 0, i16 16041, i16 0, i16 0, i16 0, i16 16810, i16 0, i16 0, i16 0, i16 17066, i16 0, i16 0, i16 0, i16 13483, i16 0, i16 0, i16 0, i16 13484, i16 0, i16 0, i16 0, i16 16300, i16 0, i16 0, i16 0, i16 13741, i16 0, i16 0, i16 0, i16 15277, i16 0, i16 0, i16 0, i16 12462, i16 0, i16 0, i16 0, i16 13999, i16 0, i16 0, i16 0, i16 16559, i16 0, i16 0, i16 0, i16 176, i16 0, i16 0, i16 0, i16 16048, i16 0, i16 0, i16 0, i16 13233, i16 0, i16 0, i16 0, i16 14769, i16 0, i16 0, i16 0, i16 16049, i16 0, i16 0, i16 0, i16 16305, i16 0, i16 0, i16 0, i16 13746, i16 0, i16 0, i16 0, i16 13747, i16 0, i16 0, i16 0, i16 180, i16 0, i16 0, i16 0, i16 13237, i16 0, i16 0, i16 0, i16 13749, i16 0, i16 0, i16 0, i16 14773, i16 0, i16 0, i16 0, i16 16309, i16 0, i16 0, i16 0, i16 16821, i16 0, i16 0, i16 0, i16 13750, i16 0, i16 0, i16 0, i16 14263, i16 0, i16 0, i16 0, i16 696, i16 0, i16 0, i16 0, i16 15544, i16 0, i16 0, i16 0, i16 16312, i16 0, i16 0, i16 0, i16 15290, i16 0, i16 0, i16 0, i16 16570, i16 0, i16 0, i16 0, i16 12475, i16 0, i16 0, i16 0, i16 13755, i16 0, i16 0, i16 0, i16 14779, i16 0, i16 0, i16 0, i16 15035, i16 0, i16 0, i16 0, i16 16828, i16 0, i16 0, i16 0, i16 15037, i16 0, i16 0, i16 0, i16 14526, i16 0, i16 0, i16 0, i16 15294, i16 0, i16 0, i16 0, i16 16832, i16 0, i16 0, i16 0, i16 15809, i16 0, i16 0, i16 0, i16 13506, i16 0, i16 0, i16 0, i16 16066, i16 0, i16 0, i16 0, i16 16834, i16 0, i16 0, i16 0, i16 12739, i16 0, i16 0, i16 0, i16 13763, i16 0, i16 0, i16 0, i16 12740, i16 0, i16 0, i16 0, i16 13764, i16 0, i16 0, i16 0, i16 16068, i16 0, i16 0, i16 0, i16 15045, i16 0, i16 0, i16 0, i16 15301, i16 0, i16 0, i16 0, i16 14278, i16 0, i16 0, i16 0, i16 12743, i16 0, i16 0, i16 0, i16 14791, i16 0, i16 0, i16 0, i16 17095, i16 0, i16 0, i16 0, i16 13768, i16 0, i16 0, i16 0, i16 15560, i16 0, i16 0, i16 0, i16 12745, i16 0, i16 0, i16 0, i16 13513, i16 0, i16 0, i16 0, i16 13514, i16 0, i16 0, i16 0, i16 13770, i16 0, i16 0, i16 0, i16 14027, i16 0, i16 0, i16 0, i16 17099, i16 0, i16 0, i16 0, i16 13516, i16 0, i16 0, i16 0, i16 17100, i16 0, i16 0, i16 0, i16 14285, i16 0, i16 0, i16 0, i16 16845, i16 0, i16 0, i16 0, i16 12494, i16 0, i16 0, i16 0, i16 14798, i16 0, i16 0, i16 0, i16 17102, i16 0, i16 0, i16 0, i16 16079, i16 0, i16 0, i16 0, i16 13520, i16 0, i16 0, i16 0, i16 14032, i16 0, i16 0, i16 0, i16 14288, i16 0, i16 0, i16 0, i16 14800, i16 0, i16 0, i16 0, i16 14289, i16 0, i16 0, i16 0, i16 15569, i16 0, i16 0, i16 0, i16 17105, i16 0, i16 0, i16 0, i16 13778, i16 0, i16 0, i16 0, i16 14034, i16 0, i16 0, i16 0, i16 14803, i16 0, i16 0, i16 0, i16 16083, i16 0, i16 0, i16 0, i16 14805, i16 0, i16 0, i16 0, i16 15829, i16 0, i16 0, i16 0, i16 16597, i16 0, i16 0, i16 0, i16 16853, i16 0, i16 0, i16 0, i16 16598, i16 0, i16 0, i16 0, i16 12503, i16 0, i16 0, i16 0, i16 13527, i16 0, i16 0, i16 0, i16 16088, i16 0, i16 0, i16 0, i16 12761, i16 0, i16 0, i16 0, i16 13785, i16 0, i16 0, i16 0, i16 14809, i16 0, i16 0, i16 0, i16 12508, i16 0, i16 0, i16 0, i16 13276, i16 0, i16 0, i16 0, i16 13532, i16 0, i16 0, i16 0, i16 15836, i16 0, i16 0, i16 0, i16 16348, i16 0, i16 0, i16 0, i16 17116, i16 0, i16 0, i16 0, i16 14045, i16 0, i16 0, i16 0, i16 15837, i16 0, i16 0, i16 0, i16 14558, i16 0, i16 0, i16 0, i16 15326, i16 0, i16 0, i16 0, i16 14047, i16 0, i16 0, i16 0, i16 12768, i16 0, i16 0, i16 0, i16 15584, i16 0, i16 0, i16 0, i16 225, i16 0, i16 0, i16 0, i16 13793, i16 0, i16 0, i16 0, i16 13027, i16 0, i16 0, i16 0, i16 14819, i16 0, i16 0, i16 0, i16 16099, i16 0, i16 0, i16 0, i16 16867, i16 0, i16 0, i16 0, i16 14052, i16 0, i16 0, i16 0, i16 17124, i16 0, i16 0, i16 0, i16 14821, i16 0, i16 0, i16 0, i16 15077, i16 0, i16 0, i16 0, i16 13286, i16 0, i16 0, i16 0, i16 12519, i16 0, i16 0, i16 0, i16 12775, i16 0, i16 0, i16 0, i16 13031, i16 0, i16 0, i16 0, i16 14311, i16 0, i16 0, i16 0, i16 14823, i16 0, i16 0, i16 0, i16 13800, i16 0, i16 0, i16 0, i16 16616, i16 0, i16 0, i16 0, i16 14057, i16 0, i16 0, i16 0, i16 14826, i16 0, i16 0, i16 0, i16 15594, i16 0, i16 0, i16 0, i16 13291, i16 0, i16 0, i16 0, i16 16108, i16 0, i16 0, i16 0, i16 237, i16 0, i16 0, i16 0, i16 12781, i16 0, i16 0, i16 0, i16 15597, i16 0, i16 0, i16 0, i16 15342, i16 0, i16 0, i16 0, i16 14063, i16 0, i16 0, i16 0, i16 15087, i16 0, i16 0, i16 0, i16 15344, i16 0, i16 0, i16 0, i16 13809, i16 0, i16 0, i16 0, i16 17138, i16 0, i16 0, i16 0, i16 15091, i16 0, i16 0, i16 0, i16 16627, i16 0, i16 0, i16 0, i16 12788, i16 0, i16 0, i16 0, i16 14580, i16 0, i16 0, i16 0, i16 15348, i16 0, i16 0, i16 0, i16 16628, i16 0, i16 0, i16 0, i16 13813, i16 0, i16 0, i16 0, i16 13302, i16 0, i16 0, i16 0, i16 14326, i16 0, i16 0, i16 0, i16 15094, i16 0, i16 0, i16 0, i16 15863, i16 0, i16 0, i16 0, i16 16375, i16 0, i16 0, i16 0, i16 15353, i16 0, i16 0, i16 0, i16 15609, i16 0, i16 0, i16 0, i16 14586, i16 0, i16 0, i16 0, i16 15354, i16 0, i16 0, i16 0, i16 15355, i16 0, i16 0, i16 0, i16 15867, i16 0, i16 0, i16 0, i16 15100, i16 0, i16 0, i16 0, i16 12285, i16 0, i16 0, i16 0, i16 13053, i16 0, i16 0, i16 0, i16 14333, i16 0, i16 0, i16 0, i16 12542, i16 0, i16 0, i16 0, i16 12798, i16 0, i16 0, i16 0, i16 13310, i16 0, i16 0, i16 0, i16 14846, i16 0, i16 0, i16 0, i16 15103, i16 0, i16 0, i16 256, i16 0, i16 0, i16 0, i16 14080, i16 0, i16 0, i16 0, i16 13313, i16 17049, i16 0, i16 0, i16 12546, i16 0, i16 0, i16 0, i16 14082, i16 0, i16 0, i16 0, i16 15618, i16 0, i16 0, i16 0, i16 12547, i16 0, i16 0, i16 0, i16 16899, i16 0, i16 0, i16 0, i16 14852, i16 17003, i16 0, i16 0, i16 16388, i16 0, i16 0, i16 0, i16 16644, i16 0, i16 0, i16 0, i16 13573, i16 0, i16 0, i16 0, i16 14085, i16 0, i16 0, i16 0, i16 15109, i16 0, i16 0, i16 0, i16 13318, i16 0, i16 0, i16 0, i16 15366, i16 0, i16 0, i16 0, i16 15622, i16 0, i16 0, i16 0, i16 16390, i16 14495, i16 0, i16 0, i16 16902, i16 13005, i16 0, i16 0, i16 12295, i16 12296, i16 0, i16 0, i16 14343, i16 13546, i16 0, i16 0, i16 16647, i16 0, i16 0, i16 0, i16 14344, i16 0, i16 0, i16 0, i16 15880, i16 15683, i16 0, i16 0, i16 265, i16 264, i16 0, i16 0, i16 12553, i16 14944, i16 0, i16 0, i16 13833, i16 0, i16 0, i16 0, i16 14857, i16 0, i16 0, i16 0, i16 15881, i16 0, i16 0, i16 0, i16 16137, i16 0, i16 0, i16 0, i16 16649, i16 0, i16 0, i16 0, i16 17162, i16 0, i16 0, i16 0, i16 12555, i16 16345, i16 0, i16 0, i16 13067, i16 0, i16 0, i16 0, i16 15115, i16 0, i16 0, i16 0, i16 12300, i16 0, i16 0, i16 0, i16 14348, i16 0, i16 0, i16 0, i16 15628, i16 14483, i16 0, i16 0, i16 16140, i16 0, i16 0, i16 0, i16 12557, i16 0, i16 0, i16 0, i16 14349, i16 0, i16 0, i16 0, i16 14605, i16 15757, i16 0, i16 0, i16 15629, i16 0, i16 0, i16 0, i16 15885, i16 0, i16 0, i16 0, i16 782, i16 0, i16 0, i16 0, i16 13582, i16 13021, i16 0, i16 0, i16 14094, i16 0, i16 0, i16 0, i16 14862, i16 0, i16 0, i16 0, i16 16398, i16 14978, i16 0, i16 0, i16 14352, i16 0, i16 0, i16 0, i16 15376, i16 0, i16 0, i16 0, i16 15121, i16 0, i16 0, i16 0, i16 16657, i16 0, i16 0, i16 0, i16 17169, i16 0, i16 0, i16 0, i16 16658, i16 0, i16 0, i16 0, i16 12819, i16 15198, i16 0, i16 0, i16 13331, i16 0, i16 0, i16 0, i16 13588, i16 15915, i16 0, i16 0, i16 16148, i16 0, i16 0, i16 0, i16 13589, i16 14715, i16 0, i16 0, i16 15125, i16 0, i16 0, i16 0, i16 16661, i16 0, i16 0, i16 0, i16 12310, i16 0, i16 0, i16 0, i16 12566, i16 15116, i16 0, i16 0, i16 13334, i16 0, i16 0, i16 0, i16 14102, i16 15783, i16 0, i16 0, i16 13335, i16 0, i16 0, i16 0, i16 16152, i16 0, i16 0, i16 0, i16 12569, i16 0, i16 0, i16 0, i16 282, i16 0, i16 0, i16 0, i16 794, i16 0, i16 0, i16 0, i16 13338, i16 0, i16 0, i16 0, i16 15386, i16 15387, i16 0, i16 0, i16 15643, i16 16909, i16 0, i16 0, i16 16155, i16 14782, i16 0, i16 0, i16 16667, i16 0, i16 0, i16 0, i16 12828, i16 0, i16 0, i16 0, i16 15644, i16 0, i16 0, i16 0, i16 12829, i16 0, i16 0, i16 0, i16 13597, i16 0, i16 0, i16 0, i16 15133, i16 0, i16 0, i16 0, i16 16413, i16 0, i16 0, i16 0, i16 16669, i16 0, i16 0, i16 0, i16 14110, i16 0, i16 0, i16 0, i16 15902, i16 0, i16 0, i16 0, i16 16158, i16 0, i16 0, i16 0, i16 16670, i16 0, i16 0, i16 0, i16 12320, i16 0, i16 0, i16 0, i16 13344, i16 0, i16 0, i16 0, i16 14624, i16 13170, i16 0, i16 0, i16 15392, i16 0, i16 0, i16 0, i16 16672, i16 12786, i16 0, i16 0, i16 12321, i16 0, i16 0, i16 0, i16 13601, i16 0, i16 0, i16 0, i16 14881, i16 17167, i16 0, i16 0, i16 15649, i16 16630, i16 0, i16 0, i16 15905, i16 16062, i16 0, i16 0, i16 16929, i16 0, i16 0, i16 0, i16 14114, i16 0, i16 0, i16 0, i16 14882, i16 0, i16 0, i16 0, i16 15906, i16 12444, i16 0, i16 0, i16 16674, i16 0, i16 0, i16 0, i16 16163, i16 0, i16 0, i16 0, i16 13860, i16 13824, i16 0, i16 0, i16 14116, i16 15911, i16 0, i16 0, i16 14884, i16 0, i16 0, i16 0, i16 12325, i16 0, i16 0, i16 0, i16 12837, i16 0, i16 0, i16 0, i16 16678, i16 0, i16 0, i16 0, i16 12327, i16 0, i16 0, i16 0, i16 14887, i16 0, i16 0, i16 0, i16 16423, i16 0, i16 0, i16 0, i16 12328, i16 16639, i16 0, i16 0, i16 16425, i16 0, i16 0, i16 0, i16 13610, i16 16180, i16 0, i16 0, i16 14890, i16 0, i16 0, i16 0, i16 16170, i16 0, i16 0, i16 0, i16 15403, i16 0, i16 0, i16 0, i16 16171, i16 0, i16 0, i16 0, i16 12332, i16 0, i16 0, i16 0, i16 15404, i16 15291, i16 0, i16 0, i16 14125, i16 0, i16 0, i16 0, i16 14893, i16 15274, i16 0, i16 0, i16 16685, i16 0, i16 0, i16 0, i16 16941, i16 0, i16 0, i16 0, i16 14382, i16 0, i16 0, i16 0, i16 14638, i16 12998, i16 0, i16 0, i16 16174, i16 0, i16 0, i16 0, i16 12591, i16 0, i16 0, i16 0, i16 14639, i16 0, i16 0, i16 0, i16 13360, i16 0, i16 0, i16 0, i16 14384, i16 0, i16 0, i16 0, i16 14640, i16 0, i16 0, i16 0, i16 13361, i16 0, i16 0, i16 0, i16 14641, i16 0, i16 0, i16 0, i16 15409, i16 0, i16 0, i16 0, i16 16433, i16 0, i16 0, i16 0, i16 14642, i16 0, i16 0, i16 0, i16 14898, i16 13976, i16 0, i16 0, i16 15154, i16 0, i16 0, i16 0, i16 12851, i16 15968, i16 0, i16 0, i16 13619, i16 0, i16 0, i16 0, i16 16947, i16 0, i16 0, i16 0, i16 15156, i16 0, i16 0, i16 0, i16 13365, i16 0, i16 0, i16 0, i16 13621, i16 12675, i16 0, i16 0, i16 12598, i16 15066, i16 0, i16 0, i16 12343, i16 13378, i16 0, i16 0, i16 14135, i16 0, i16 0, i16 0, i16 14391, i16 0, i16 0, i16 0, i16 16951, i16 15075, i16 0, i16 0, i16 12856, i16 0, i16 0, i16 0, i16 15160, i16 13821, i16 0, i16 0, i16 14905, i16 0, i16 0, i16 0, i16 12858, i16 0, i16 0, i16 0, i16 13370, i16 0, i16 0, i16 0, i16 14138, i16 0, i16 0, i16 0, i16 14907, i16 0, i16 0, i16 0, i16 13628, i16 0, i16 0, i16 0, i16 13884, i16 0, i16 0, i16 0, i16 16956, i16 0, i16 0, i16 0, i16 13885, i16 0, i16 0, i16 0, i16 14141, i16 0, i16 0, i16 0, i16 14398, i16 0, i16 0, i16 0, i16 15166, i16 0, i16 0, i16 0, i16 16958, i16 0, i16 0, i16 0, i16 13375, i16 0, i16 0, i16 0, i16 13889, i16 0, i16 0, i16 0, i16 14913, i16 14137, i16 0, i16 0, i16 16193, i16 0, i16 0, i16 0, i16 16449, i16 0, i16 0, i16 0, i16 15938, i16 0, i16 0, i16 0, i16 12355, i16 0, i16 0, i16 0, i16 13379, i16 0, i16 0, i16 0, i16 14660, i16 16660, i16 0, i16 0, i16 15684, i16 0, i16 0, i16 0, i16 12613, i16 16161, i16 0, i16 0, i16 12869, i16 0, i16 0, i16 0, i16 16965, i16 0, i16 0, i16 0, i16 13126, i16 0, i16 0, i16 0, i16 14406, i16 0, i16 0, i16 0, i16 12359, i16 0, i16 0, i16 0, i16 13895, i16 15817, i16 0, i16 0, i16 16711, i16 0, i16 0, i16 0, i16 13640, i16 0, i16 0, i16 0, i16 14920, i16 0, i16 0, i16 0, i16 15944, i16 0, i16 0, i16 0, i16 13385, i16 0, i16 0, i16 0, i16 13641, i16 0, i16 0, i16 0, i16 15945, i16 16859, i16 0, i16 0, i16 16457, i16 0, i16 0, i16 0, i16 12362, i16 0, i16 0, i16 0, i16 13130, i16 0, i16 0, i16 0, i16 14154, i16 0, i16 0, i16 0, i16 14666, i16 0, i16 0, i16 0, i16 16202, i16 0, i16 0, i16 0, i16 13131, i16 15689, i16 0, i16 0, i16 13387, i16 0, i16 0, i16 0, i16 14155, i16 0, i16 0, i16 0, i16 15179, i16 12896, i16 0, i16 0, i16 15691, i16 0, i16 0, i16 0, i16 12364, i16 14260, i16 0, i16 0, i16 13388, i16 13894, i16 0, i16 0, i16 13901, i16 0, i16 0, i16 0, i16 14669, i16 15472, i16 0, i16 0, i16 15949, i16 0, i16 0, i16 0, i16 13390, i16 16026, i16 0, i16 0, i16 14670, i16 0, i16 0, i16 0, i16 13135, i16 16906, i16 0, i16 0, i16 13391, i16 0, i16 0, i16 0, i16 16463, i16 0, i16 0, i16 0, i16 13392, i16 13404, i16 0, i16 0, i16 16720, i16 0, i16 0, i16 0, i16 13649, i16 0, i16 0, i16 0, i16 16209, i16 0, i16 0, i16 0, i16 14674, i16 0, i16 0, i16 0, i16 16722, i16 0, i16 0, i16 0, i16 14163, i16 0, i16 0, i16 0, i16 14675, i16 0, i16 0, i16 0, i16 15699, i16 0, i16 0, i16 0, i16 12628, i16 14648, i16 0, i16 0, i16 13396, i16 0, i16 0, i16 0, i16 15188, i16 0, i16 0, i16 0, i16 12886, i16 0, i16 0, i16 0, i16 13910, i16 0, i16 0, i16 0, i16 14422, i16 0, i16 0, i16 0, i16 15958, i16 12707, i16 0, i16 0, i16 16214, i16 0, i16 0, i16 0, i16 16470, i16 0, i16 0, i16 0, i16 12631, i16 13625, i16 0, i16 0, i16 13143, i16 0, i16 0, i16 0, i16 14423, i16 0, i16 0, i16 0, i16 13656, i16 0, i16 0, i16 0, i16 13912, i16 0, i16 0, i16 0, i16 14424, i16 0, i16 0, i16 0, i16 12633, i16 0, i16 0, i16 0, i16 13913, i16 0, i16 0, i16 0, i16 12890, i16 0, i16 0, i16 0, i16 13146, i16 0, i16 0, i16 0, i16 15962, i16 0, i16 0, i16 0, i16 13147, i16 0, i16 0, i16 0, i16 13659, i16 0, i16 0, i16 0, i16 13405, i16 0, i16 0, i16 0, i16 13150, i16 0, i16 0, i16 0, i16 13406, i16 0, i16 0, i16 0, i16 14686, i16 0, i16 0, i16 0, i16 12895, i16 12407, i16 0, i16 0, i16 15455, i16 0, i16 0, i16 0, i16 14176, i16 0, i16 0, i16 0, i16 14432, i16 0, i16 0, i16 0, i16 15200, i16 0, i16 0, i16 0, i16 16736, i16 0, i16 0, i16 0, i16 12897, i16 0, i16 0, i16 0, i16 13921, i16 0, i16 0, i16 0, i16 14689, i16 0, i16 0, i16 0, i16 13154, i16 0, i16 0, i16 0, i16 16994, i16 16995, i16 0, i16 0, i16 15971, i16 15754, i16 0, i16 0, i16 13156, i16 0, i16 0, i16 0, i16 14692, i16 0, i16 0, i16 0, i16 15460, i16 0, i16 0, i16 0, i16 16228, i16 0, i16 0, i16 0, i16 12389, i16 0, i16 0, i16 0, i16 13669, i16 0, i16 0, i16 0, i16 16486, i16 0, i16 0, i16 0, i16 13927, i16 12380, i16 0, i16 0, i16 14951, i16 15813, i16 0, i16 0, i16 15975, i16 0, i16 0, i16 0, i16 16487, i16 0, i16 0, i16 0, i16 12904, i16 12905, i16 0, i16 0, i16 13416, i16 14004, i16 0, i16 0, i16 15977, i16 0, i16 0, i16 0, i16 12394, i16 15982, i16 0, i16 0, i16 15978, i16 0, i16 0, i16 0, i16 13676, i16 0, i16 0, i16 0, i16 15212, i16 0, i16 0, i16 0, i16 14445, i16 0, i16 0, i16 0, i16 12654, i16 0, i16 0, i16 0, i16 13934, i16 0, i16 0, i16 0, i16 13679, i16 0, i16 0, i16 0, i16 14449, i16 0, i16 0, i16 0, i16 16241, i16 0, i16 0, i16 0, i16 13426, i16 16648, i16 0, i16 0, i16 12915, i16 0, i16 0, i16 0, i16 13427, i16 14180, i16 0, i16 0, i16 14451, i16 15717, i16 0, i16 0, i16 16243, i16 0, i16 0, i16 0, i16 14452, i16 0, i16 0, i16 0, i16 14708, i16 0, i16 0, i16 0, i16 12917, i16 0, i16 0, i16 0, i16 14966, i16 0, i16 0, i16 0, i16 13944, i16 0, i16 0, i16 0, i16 15992, i16 0, i16 0, i16 0, i16 16760, i16 0, i16 0, i16 0, i16 17016, i16 15317, i16 0, i16 0, i16 15225, i16 0, i16 0, i16 0, i16 12666, i16 0, i16 0, i16 0, i16 15738, i16 13848, i16 0, i16 0, i16 17018, i16 0, i16 0, i16 0, i16 13947, i16 0, i16 0, i16 0, i16 15996, i16 0, i16 0, i16 0, i16 13181, i16 0, i16 0, i16 0, i16 15229, i16 0, i16 0, i16 0, i16 13438, i16 13197, i16 0, i16 0, i16 15743, i16 0, i16 0, i16 0, i16 17023, i16 0, i16 0, i16 0, i16 13184, i16 0, i16 0, i16 0, i16 13440, i16 0, i16 0, i16 0, i16 13442, i16 0, i16 0, i16 0, i16 16515, i16 0, i16 0, i16 0, i16 12420, i16 0, i16 0, i16 0, i16 13189, i16 0, i16 0, i16 0, i16 13445, i16 13494, i16 0, i16 0, i16 15237, i16 0, i16 0, i16 0, i16 13958, i16 0, i16 0, i16 0, i16 16262, i16 0, i16 0, i16 0, i16 15239, i16 0, i16 0, i16 0, i16 13960, i16 0, i16 0, i16 0, i16 16776, i16 0, i16 0, i16 0, i16 17032, i16 0, i16 0, i16 0, i16 13193, i16 0, i16 0, i16 0, i16 13961, i16 0, i16 0, i16 0, i16 16010, i16 0, i16 0, i16 0, i16 13451, i16 0, i16 0, i16 0, i16 12428, i16 14380, i16 0, i16 0, i16 14732, i16 16704, i16 0, i16 0, i16 15244, i16 0, i16 0, i16 0, i16 16524, i16 15420, i16 0, i16 0, i16 16269, i16 0, i16 0, i16 0, i16 13198, i16 16103, i16 0, i16 0, i16 13710, i16 17081, i16 0, i16 0, i16 13711, i16 0, i16 0, i16 0, i16 14479, i16 14478, i16 0, i16 0, i16 16015, i16 13394, i16 0, i16 0, i16 16271, i16 0, i16 0, i16 0, i16 12688, i16 0, i16 0, i16 0, i16 16784, i16 0, i16 0, i16 0, i16 13201, i16 14579, i16 0, i16 0, i16 13713, i16 0, i16 0, i16 0, i16 14738, i16 0, i16 0, i16 0, i16 12947, i16 0, i16 0, i16 0, i16 13459, i16 14369, i16 0, i16 0, i16 15251, i16 14807, i16 0, i16 0, i16 14740, i16 0, i16 0, i16 0, i16 17044, i16 0, i16 0, i16 0, i16 14229, i16 0, i16 0, i16 0, i16 14741, i16 0, i16 0, i16 0, i16 13718, i16 0, i16 0, i16 0, i16 13974, i16 0, i16 0, i16 0, i16 14230, i16 0, i16 0, i16 0, i16 17046, i16 13544, i16 0, i16 0, i16 12439, i16 0, i16 0, i16 0, i16 16023, i16 0, i16 0, i16 0, i16 17047, i16 15588, i16 0, i16 0, i16 13464, i16 14488, i16 0, i16 0, i16 13209, i16 0, i16 0, i16 0, i16 15257, i16 13925, i16 0, i16 0, i16 16281, i16 0, i16 0, i16 0, i16 16794, i16 13906, i16 0, i16 0, i16 12955, i16 13571, i16 0, i16 0, i16 668, i16 0, i16 0, i16 0, i16 14748, i16 0, i16 0, i16 0, i16 15004, i16 0, i16 0, i16 0, i16 12701, i16 0, i16 0, i16 0, i16 15773, i16 14925, i16 0, i16 0, i16 16029, i16 0, i16 0, i16 0, i16 17053, i16 0, i16 0, i16 0, i16 12446, i16 0, i16 0, i16 0, i16 13982, i16 0, i16 0, i16 0, i16 14494, i16 0, i16 0, i16 0, i16 17054, i16 16165, i16 0, i16 0, i16 14239, i16 0, i16 0, i16 0, i16 15007, i16 0, i16 0, i16 0, i16 16031, i16 0, i16 0, i16 0, i16 13216, i16 15956, i16 0, i16 0, i16 12705, i16 0, i16 0, i16 0, i16 16289, i16 0, i16 0, i16 0, i16 674, i16 0, i16 0, i16 0, i16 15266, i16 0, i16 0, i16 0, i16 16290, i16 0, i16 0, i16 0, i16 16546, i16 0, i16 0, i16 0, i16 16802, i16 0, i16 0, i16 0, i16 12451, i16 0, i16 0, i16 0, i16 15523, i16 0, i16 0, i16 0, i16 16291, i16 0, i16 0, i16 0, i16 12452, i16 12408, i16 0, i16 0, i16 12708, i16 0, i16 0, i16 0, i16 12964, i16 0, i16 0, i16 0, i16 14244, i16 0, i16 0, i16 0, i16 16292, i16 0, i16 0, i16 0, i16 15269, i16 0, i16 0, i16 0, i16 16037, i16 0, i16 0, i16 0, i16 16549, i16 0, i16 0, i16 0, i16 12710, i16 15019, i16 0, i16 0, i16 15782, i16 0, i16 0, i16 0, i16 16294, i16 0, i16 0, i16 0, i16 12455, i16 17045, i16 0, i16 0, i16 12711, i16 13480, i16 0, i16 0, i16 13479, i16 0, i16 0, i16 0, i16 13991, i16 0, i16 0, i16 0, i16 14503, i16 0, i16 0, i16 0, i16 15527, i16 0, i16 0, i16 0, i16 16295, i16 16721, i16 0, i16 0, i16 12456, i16 0, i16 0, i16 0, i16 13224, i16 12838, i16 0, i16 0, i16 15784, i16 0, i16 0, i16 0, i16 13737, i16 0, i16 0, i16 0, i16 13738, i16 0, i16 0, i16 0, i16 13739, i16 0, i16 0, i16 0, i16 13995, i16 14438, i16 0, i16 0, i16 14763, i16 0, i16 0, i16 0, i16 16299, i16 13632, i16 0, i16 0, i16 13996, i16 14799, i16 0, i16 0, i16 15788, i16 13599, i16 0, i16 0, i16 14253, i16 12873, i16 0, i16 0, i16 14765, i16 0, i16 0, i16 0, i16 17069, i16 0, i16 0, i16 0, i16 174, i16 0, i16 0, i16 0, i16 15790, i16 0, i16 0, i16 0, i16 13743, i16 0, i16 0, i16 0, i16 15279, i16 16077, i16 0, i16 0, i16 13744, i16 13482, i16 0, i16 0, i16 15792, i16 0, i16 0, i16 0, i16 16816, i16 0, i16 0, i16 0, i16 14513, i16 15755, i16 0, i16 0, i16 178, i16 0, i16 0, i16 0, i16 13490, i16 16151, i16 0, i16 0, i16 14514, i16 16601, i16 0, i16 0, i16 15026, i16 0, i16 0, i16 0, i16 15538, i16 16535, i16 0, i16 0, i16 16562, i16 0, i16 0, i16 0, i16 16818, i16 0, i16 0, i16 0, i16 691, i16 0, i16 0, i16 0, i16 14515, i16 0, i16 0, i16 0, i16 16307, i16 0, i16 0, i16 0, i16 12980, i16 12981, i16 0, i16 0, i16 13492, i16 0, i16 0, i16 0, i16 15028, i16 0, i16 0, i16 0, i16 15284, i16 14607, i16 0, i16 0, i16 15285, i16 0, i16 0, i16 0, i16 694, i16 785, i16 0, i16 0, i16 12470, i16 15646, i16 0, i16 0, i16 15798, i16 0, i16 0, i16 0, i16 12983, i16 13478, i16 0, i16 0, i16 13495, i16 0, i16 0, i16 0, i16 12728, i16 16993, i16 0, i16 0, i16 12984, i16 14160, i16 0, i16 0, i16 13496, i16 0, i16 0, i16 0, i16 185, i16 184, i16 0, i16 0, i16 12985, i16 0, i16 0, i16 0, i16 15033, i16 0, i16 0, i16 0, i16 13498, i16 0, i16 0, i16 0, i16 16314, i16 16812, i16 0, i16 0, i16 187, i16 186, i16 0, i16 0, i16 699, i16 792, i16 0, i16 0, i16 14011, i16 12526, i16 0, i16 0, i16 16315, i16 0, i16 0, i16 0, i16 16571, i16 0, i16 0, i16 0, i16 13500, i16 0, i16 0, i16 0, i16 701, i16 793, i16 0, i16 0, i16 12733, i16 0, i16 0, i16 0, i16 13501, i16 0, i16 0, i16 0, i16 702, i16 795, i16 0, i16 0, i16 13246, i16 15414, i16 0, i16 0, i16 14014, i16 0, i16 0, i16 0, i16 191, i16 190, i16 0, i16 0, i16 12735, i16 0, i16 0, i16 0, i16 12991, i16 0, i16 0, i16 0, i16 13503, i16 0, i16 0, i16 0, i16 14271, i16 0, i16 0, i16 0, i16 14527, i16 14060, i16 0, i16 0, i16 12480, i16 0, i16 0, i16 0, i16 13249, i16 0, i16 0, i16 0, i16 15553, i16 14199, i16 0, i16 0, i16 16065, i16 0, i16 0, i16 0, i16 12738, i16 0, i16 0, i16 0, i16 14530, i16 14206, i16 0, i16 0, i16 14786, i16 0, i16 0, i16 0, i16 12995, i16 0, i16 0, i16 0, i16 14531, i16 0, i16 0, i16 0, i16 16579, i16 0, i16 0, i16 0, i16 15556, i16 0, i16 0, i16 0, i16 16836, i16 0, i16 0, i16 0, i16 14277, i16 0, i16 0, i16 0, i16 16325, i16 0, i16 0, i16 0, i16 16837, i16 0, i16 0, i16 0, i16 12742, i16 0, i16 0, i16 0, i16 16839, i16 0, i16 0, i16 0, i16 200, i16 201, i16 0, i16 0, i16 15304, i16 15303, i16 0, i16 0, i16 15816, i16 14955, i16 0, i16 0, i16 16328, i16 0, i16 0, i16 0, i16 16584, i16 0, i16 0, i16 0, i16 16073, i16 0, i16 0, i16 0, i16 16329, i16 0, i16 0, i16 0, i16 17097, i16 0, i16 0, i16 0, i16 202, i16 0, i16 0, i16 0, i16 13258, i16 0, i16 0, i16 0, i16 14794, i16 0, i16 0, i16 0, i16 15050, i16 0, i16 0, i16 0, i16 15562, i16 0, i16 0, i16 0, i16 16074, i16 0, i16 0, i16 0, i16 13260, i16 0, i16 0, i16 0, i16 13772, i16 15199, i16 0, i16 0, i16 16332, i16 0, i16 0, i16 0, i16 16588, i16 0, i16 0, i16 0, i16 13517, i16 0, i16 0, i16 0, i16 13262, i16 0, i16 0, i16 0, i16 15822, i16 0, i16 0, i16 0, i16 14543, i16 12589, i16 0, i16 0, i16 16335, i16 0, i16 0, i16 0, i16 12752, i16 13794, i16 0, i16 0, i16 13264, i16 0, i16 0, i16 0, i16 15057, i16 13046, i16 0, i16 0, i16 16849, i16 16921, i16 0, i16 0, i16 210, i16 211, i16 0, i16 0, i16 13522, i16 0, i16 0, i16 0, i16 14802, i16 0, i16 0, i16 0, i16 15314, i16 13029, i16 0, i16 0, i16 12499, i16 0, i16 0, i16 0, i16 13011, i16 0, i16 0, i16 0, i16 14035, i16 16620, i16 0, i16 0, i16 212, i16 213, i16 0, i16 0, i16 16084, i16 0, i16 0, i16 0, i16 16340, i16 0, i16 0, i16 0, i16 16342, i16 0, i16 0, i16 0, i16 13783, i16 0, i16 0, i16 0, i16 13016, i16 14788, i16 0, i16 0, i16 14808, i16 0, i16 0, i16 0, i16 15064, i16 0, i16 0, i16 0, i16 14041, i16 14269, i16 0, i16 0, i16 14297, i16 0, i16 0, i16 0, i16 15065, i16 0, i16 0, i16 0, i16 15833, i16 0, i16 0, i16 0, i16 13018, i16 0, i16 0, i16 0, i16 219, i16 0, i16 0, i16 0, i16 13787, i16 0, i16 0, i16 0, i16 14299, i16 0, i16 0, i16 0, i16 14811, i16 0, i16 0, i16 0, i16 15324, i16 16112, i16 0, i16 0, i16 13277, i16 0, i16 0, i16 0, i16 16605, i16 0, i16 0, i16 0, i16 13534, i16 0, i16 0, i16 0, i16 13790, i16 0, i16 0, i16 0, i16 15070, i16 0, i16 0, i16 0, i16 13791, i16 0, i16 0, i16 0, i16 14559, i16 0, i16 0, i16 0, i16 16607, i16 0, i16 0, i16 0, i16 16863, i16 14628, i16 0, i16 0, i16 17119, i16 0, i16 0, i16 0, i16 13024, i16 13060, i16 0, i16 0, i16 13536, i16 0, i16 0, i16 0, i16 14048, i16 0, i16 0, i16 0, i16 14816, i16 0, i16 0, i16 0, i16 15328, i16 0, i16 0, i16 0, i16 16352, i16 16046, i16 0, i16 0, i16 12513, i16 0, i16 0, i16 0, i16 14817, i16 0, i16 0, i16 0, i16 15329, i16 0, i16 0, i16 0, i16 15841, i16 0, i16 0, i16 0, i16 17121, i16 0, i16 0, i16 0, i16 13538, i16 0, i16 0, i16 0, i16 14050, i16 0, i16 0, i16 0, i16 15842, i16 14561, i16 0, i16 0, i16 16098, i16 0, i16 0, i16 0, i16 14564, i16 0, i16 0, i16 0, i16 15332, i16 0, i16 0, i16 0, i16 15845, i16 12345, i16 0, i16 0, i16 13798, i16 15306, i16 0, i16 0, i16 17126, i16 12973, i16 0, i16 0, i16 12520, i16 0, i16 0, i16 0, i16 14056, i16 0, i16 0, i16 0, i16 14568, i16 0, i16 0, i16 0, i16 14824, i16 0, i16 0, i16 0, i16 17129, i16 0, i16 0, i16 0, i16 12522, i16 12391, i16 0, i16 0, i16 13802, i16 0, i16 0, i16 0, i16 14570, i16 16105, i16 0, i16 0, i16 16106, i16 15989, i16 0, i16 0, i16 14827, i16 13366, i16 0, i16 0, i16 16875, i16 0, i16 0, i16 0, i16 15084, i16 15744, i16 0, i16 0, i16 13293, i16 0, i16 0, i16 0, i16 13549, i16 0, i16 0, i16 0, i16 14317, i16 0, i16 0, i16 0, i16 15853, i16 16114, i16 0, i16 0, i16 15854, i16 0, i16 0, i16 0, i16 13039, i16 0, i16 0, i16 0, i16 14064, i16 0, i16 0, i16 0, i16 14832, i16 17077, i16 0, i16 0, i16 15088, i16 0, i16 0, i16 0, i16 13553, i16 0, i16 0, i16 0, i16 14577, i16 0, i16 0, i16 0, i16 14833, i16 0, i16 0, i16 0, i16 15857, i16 0, i16 0, i16 0, i16 15090, i16 15635, i16 0, i16 0, i16 15346, i16 0, i16 0, i16 0, i16 15858, i16 14520, i16 0, i16 0, i16 16882, i16 0, i16 0, i16 0, i16 244, i16 243, i16 0, i16 0, i16 13812, i16 0, i16 0, i16 0, i16 14068, i16 0, i16 0, i16 0, i16 14325, i16 0, i16 0, i16 0, i16 17141, i16 16512, i16 0, i16 0, i16 13558, i16 0, i16 0, i16 0, i16 16374, i16 15645, i16 0, i16 0, i16 12535, i16 0, i16 0, i16 0, i16 16120, i16 0, i16 0, i16 0, i16 16376, i16 0, i16 0, i16 0, i16 17144, i16 16840, i16 0, i16 0, i16 14585, i16 0, i16 0, i16 0, i16 15097, i16 16614, i16 0, i16 0, i16 16121, i16 0, i16 0, i16 0, i16 16889, i16 0, i16 0, i16 0, i16 12794, i16 14493, i16 0, i16 0, i16 13562, i16 0, i16 0, i16 0, i16 14074, i16 0, i16 0, i16 0, i16 14587, i16 0, i16 0, i16 0, i16 12540, i16 0, i16 0, i16 0, i16 16124, i16 16211, i16 0, i16 0, i16 13565, i16 16820, i16 0, i16 0, i16 15101, i16 0, i16 0, i16 0, i16 15357, i16 0, i16 0, i16 0, i16 16638, i16 0, i16 0, i16 0, i16 13055, i16 0, i16 0, i16 0, i16 15871, i16 0, i16 0, i16 0, i16 16127, i16 0, i16 0, i16 0, i16 16383, i16 0, i16 0, i16 0, i16 16895, i16 0, i16 0, i16 14336, i16 0, i16 0, i16 0, i16 15872, i16 0, i16 0, i16 0, i16 16896, i16 12854, i16 0, i16 0, i16 12289, i16 0, i16 0, i16 0, i16 13057, i16 0, i16 0, i16 0, i16 14593, i16 0, i16 0, i16 0, i16 15361, i16 14291, i16 12990, i16 0, i16 16129, i16 0, i16 0, i16 0, i16 2, i16 3, i16 0, i16 0, i16 12290, i16 0, i16 0, i16 0, i16 13826, i16 14262, i16 0, i16 0, i16 15106, i16 0, i16 0, i16 0, i16 17154, i16 0, i16 0, i16 0, i16 12291, i16 0, i16 0, i16 0, i16 13315, i16 0, i16 0, i16 0, i16 14339, i16 12729, i16 13820, i16 0, i16 14851, i16 0, i16 0, i16 0, i16 15875, i16 0, i16 0, i16 0, i16 4, i16 5, i16 6, i16 0, i16 12292, i16 14533, i16 0, i16 0, i16 13316, i16 0, i16 0, i16 0, i16 16900, i16 12787, i16 15477, i16 0, i16 17156, i16 0, i16 14379, i16 0, i16 14341, i16 0, i16 0, i16 0, i16 14597, i16 0, i16 0, i16 0, i16 12550, i16 0, i16 0, i16 0, i16 15878, i16 0, i16 0, i16 0, i16 13575, i16 0, i16 0, i16 0, i16 14087, i16 13298, i16 0, i16 0, i16 14599, i16 0, i16 0, i16 0, i16 16135, i16 13144, i16 0, i16 0, i16 16391, i16 0, i16 0, i16 0, i16 520, i16 521, i16 522, i16 0, i16 13832, i16 0, i16 0, i16 0, i16 14088, i16 14747, i16 13614, i16 0, i16 14600, i16 14465, i16 0, i16 0, i16 16392, i16 0, i16 0, i16 0, i16 12809, i16 0, i16 0, i16 0, i16 13577, i16 15658, i16 0, i16 0, i16 13066, i16 0, i16 0, i16 0, i16 15114, i16 0, i16 15163, i16 0, i16 16650, i16 0, i16 15347, i16 0, i16 12811, i16 0, i16 0, i16 0, i16 13579, i16 0, i16 0, i16 0, i16 16139, i16 0, i16 13204, i16 0, i16 16651, i16 0, i16 12426, i16 0, i16 17163, i16 0, i16 0, i16 0, i16 14860, i16 0, i16 0, i16 0, i16 15884, i16 13063, i16 12474, i16 0, i16 17164, i16 17165, i16 0, i16 0, i16 13325, i16 16860, i16 0, i16 0, i16 16397, i16 0, i16 0, i16 0, i16 13326, i16 0, i16 0, i16 0, i16 16654, i16 0, i16 0, i16 0, i16 16910, i16 0, i16 0, i16 0, i16 783, i16 0, i16 0, i16 0, i16 13071, i16 16937, i16 15040, i16 0, i16 13583, i16 0, i16 0, i16 0, i16 14863, i16 0, i16 0, i16 0, i16 15119, i16 0, i16 16996, i16 0, i16 16655, i16 0, i16 16656, i16 0, i16 13584, i16 0, i16 15449, i16 0, i16 14608, i16 14546, i16 0, i16 0, i16 15120, i16 0, i16 0, i16 0, i16 16400, i16 0, i16 0, i16 0, i16 13329, i16 0, i16 0, i16 0, i16 14609, i16 17131, i16 0, i16 0, i16 15889, i16 12524, i16 0, i16 0, i16 786, i16 695, i16 787, i16 0, i16 12818, i16 12650, i16 0, i16 0, i16 13843, i16 0, i16 15910, i16 0, i16 14099, i16 0, i16 0, i16 0, i16 15123, i16 0, i16 13134, i16 0, i16 15891, i16 14665, i16 17026, i16 0, i16 14356, i16 13443, i16 14504, i16 0, i16 15124, i16 0, i16 0, i16 0, i16 16404, i16 0, i16 13658, i16 0, i16 16917, i16 0, i16 0, i16 0, i16 14358, i16 13399, i16 0, i16 0, i16 15126, i16 0, i16 0, i16 0, i16 15894, i16 12941, i16 12942, i16 0, i16 12311, i16 0, i16 0, i16 0, i16 14103, i16 0, i16 16763, i16 0, i16 15895, i16 0, i16 17074, i16 0, i16 16663, i16 0, i16 0, i16 0, i16 16919, i16 0, i16 0, i16 0, i16 15128, i16 0, i16 0, i16 0, i16 16664, i16 0, i16 0, i16 0, i16 16920, i16 0, i16 13816, i16 0, i16 13337, i16 0, i16 0, i16 0, i16 13849, i16 0, i16 15779, i16 0, i16 14873, i16 0, i16 0, i16 0, i16 15129, i16 0, i16 0, i16 0, i16 15641, i16 0, i16 0, i16 0, i16 15897, i16 0, i16 12885, i16 0, i16 13850, i16 0, i16 0, i16 0, i16 14362, i16 0, i16 0, i16 0, i16 16666, i16 16590, i16 15456, i16 0, i16 1051, i16 0, i16 0, i16 0, i16 16668, i16 16710, i16 12369, i16 0, i16 797, i16 703, i16 796, i16 0, i16 13853, i16 0, i16 0, i16 0, i16 15901, i16 16166, i16 14550, i16 0, i16 16157, i16 0, i16 0, i16 0, i16 13342, i16 16181, i16 12441, i16 0, i16 15134, i16 15135, i16 0, i16 0, i16 16414, i16 0, i16 0, i16 0, i16 287, i16 284, i16 0, i16 0, i16 14879, i16 16693, i16 0, i16 0, i16 16927, i16 13356, i16 0, i16 0, i16 288, i16 289, i16 290, i16 0, i16 12832, i16 16729, i16 0, i16 0, i16 15136, i16 0, i16 15657, i16 0, i16 15137, i16 0, i16 15988, i16 0, i16 16417, i16 0, i16 0, i16 0, i16 16673, i16 0, i16 13283, i16 0, i16 13602, i16 0, i16 0, i16 0, i16 14115, i16 0, i16 0, i16 0, i16 14371, i16 0, i16 0, i16 0, i16 16675, i16 0, i16 0, i16 0, i16 12580, i16 16042, i16 12849, i16 0, i16 13348, i16 14712, i16 15662, i16 0, i16 15140, i16 0, i16 0, i16 0, i16 15909, i16 0, i16 0, i16 0, i16 16933, i16 0, i16 13345, i16 0, i16 12582, i16 0, i16 13797, i16 0, i16 13350, i16 0, i16 0, i16 0, i16 13862, i16 0, i16 0, i16 0, i16 16934, i16 0, i16 0, i16 0, i16 15143, i16 16324, i16 0, i16 0, i16 12840, i16 15772, i16 0, i16 0, i16 14888, i16 14337, i16 0, i16 0, i16 16424, i16 0, i16 0, i16 0, i16 16680, i16 0, i16 0, i16 0, i16 16936, i16 12953, i16 0, i16 0, i16 14633, i16 0, i16 0, i16 0, i16 14889, i16 12899, i16 0, i16 0, i16 15401, i16 15603, i16 0, i16 0, i16 15146, i16 0, i16 0, i16 0, i16 13611, i16 0, i16 0, i16 0, i16 16684, i16 0, i16 0, i16 0, i16 14637, i16 0, i16 0, i16 0, i16 16429, i16 0, i16 0, i16 0, i16 12590, i16 0, i16 0, i16 0, i16 13358, i16 13570, i16 14553, i16 0, i16 14126, i16 0, i16 0, i16 0, i16 14894, i16 0, i16 0, i16 0, i16 15407, i16 15848, i16 16384, i16 0, i16 15919, i16 0, i16 0, i16 0, i16 16431, i16 0, i16 16343, i16 0, i16 16687, i16 0, i16 0, i16 0, i16 16943, i16 0, i16 0, i16 0, i16 15408, i16 0, i16 14373, i16 0, i16 15920, i16 0, i16 0, i16 0, i16 16176, i16 0, i16 16162, i16 0, i16 16688, i16 0, i16 16319, i16 0, i16 13617, i16 0, i16 0, i16 0, i16 14385, i16 0, i16 0, i16 0, i16 12338, i16 0, i16 0, i16 0, i16 12594, i16 0, i16 13859, i16 0, i16 12850, i16 0, i16 0, i16 0, i16 13618, i16 0, i16 0, i16 0, i16 14386, i16 0, i16 12777, i16 0, i16 15922, i16 16156, i16 13300, i16 0, i16 13363, i16 12934, i16 0, i16 0, i16 15668, i16 0, i16 0, i16 0, i16 16692, i16 0, i16 0, i16 0, i16 12341, i16 0, i16 0, i16 0, i16 14645, i16 13454, i16 13712, i16 0, i16 15925, i16 14582, i16 0, i16 0, i16 12342, i16 0, i16 0, i16 0, i16 13110, i16 0, i16 0, i16 0, i16 13622, i16 16877, i16 0, i16 0, i16 14134, i16 16977, i16 14101, i16 0, i16 15926, i16 0, i16 14100, i16 0, i16 12855, i16 0, i16 0, i16 0, i16 13111, i16 0, i16 0, i16 0, i16 15415, i16 0, i16 13550, i16 0, i16 12344, i16 14324, i16 0, i16 0, i16 13368, i16 17123, i16 0, i16 0, i16 13880, i16 0, i16 0, i16 0, i16 14136, i16 15933, i16 16499, i16 0, i16 15672, i16 0, i16 0, i16 0, i16 16184, i16 0, i16 0, i16 0, i16 14649, i16 17057, i16 12572, i16 0, i16 15161, i16 0, i16 13899, i16 0, i16 16697, i16 14679, i16 0, i16 0, i16 12602, i16 16064, i16 0, i16 0, i16 14650, i16 0, i16 0, i16 0, i16 14906, i16 15697, i16 14606, i16 0, i16 16186, i16 0, i16 0, i16 0, i16 16954, i16 0, i16 12615, i16 0, i16 12859, i16 0, i16 0, i16 0, i16 13883, i16 0, i16 0, i16 0, i16 16443, i16 0, i16 0, i16 0, i16 16955, i16 0, i16 0, i16 0, i16 1084, i16 0, i16 0, i16 0, i16 13372, i16 0, i16 15883, i16 0, i16 14652, i16 0, i16 15961, i16 0, i16 12605, i16 16723, i16 0, i16 0, i16 13373, i16 0, i16 0, i16 0, i16 14397, i16 0, i16 0, i16 0, i16 14653, i16 0, i16 0, i16 0, i16 14909, i16 15552, i16 14122, i16 0, i16 12862, i16 0, i16 0, i16 0, i16 13374, i16 0, i16 13511, i16 0, i16 12607, i16 0, i16 0, i16 0, i16 14143, i16 0, i16 0, i16 0, i16 15679, i16 0, i16 16861, i16 0, i16 16191, i16 0, i16 0, i16 0, i16 12352, i16 0, i16 13142, i16 0, i16 12608, i16 0, i16 0, i16 0, i16 13120, i16 0, i16 0, i16 0, i16 13376, i16 16172, i16 12431, i16 0, i16 13888, i16 0, i16 0, i16 0, i16 14400, i16 0, i16 0, i16 0, i16 15680, i16 13424, i16 0, i16 0, i16 13633, i16 0, i16 0, i16 0, i16 15170, i16 0, i16 0, i16 0, i16 15682, i16 0, i16 0, i16 0, i16 16194, i16 0, i16 12409, i16 0, i16 14403, i16 0, i16 15776, i16 0, i16 14659, i16 14658, i16 0, i16 0, i16 15171, i16 0, i16 0, i16 0, i16 16195, i16 0, i16 13887, i16 0, i16 13124, i16 0, i16 0, i16 0, i16 13636, i16 0, i16 0, i16 0, i16 14404, i16 0, i16 0, i16 0, i16 16196, i16 0, i16 0, i16 0, i16 16452, i16 0, i16 0, i16 0, i16 16964, i16 0, i16 14108, i16 0, i16 14661, i16 0, i16 12817, i16 0, i16 14917, i16 16969, i16 12392, i16 0, i16 15941, i16 0, i16 15896, i16 0, i16 16197, i16 0, i16 0, i16 0, i16 16454, i16 0, i16 0, i16 0, i16 13639, i16 0, i16 0, i16 0, i16 14919, i16 0, i16 0, i16 0, i16 15175, i16 0, i16 14644, i16 0, i16 15687, i16 0, i16 16380, i16 0, i16 13384, i16 0, i16 0, i16 0, i16 13896, i16 0, i16 0, i16 0, i16 14408, i16 0, i16 0, i16 0, i16 13897, i16 0, i16 0, i16 0, i16 12618, i16 17068, i16 0, i16 0, i16 13642, i16 16781, i16 0, i16 0, i16 13898, i16 16924, i16 0, i16 0, i16 15178, i16 14797, i16 0, i16 0, i16 12363, i16 0, i16 0, i16 0, i16 14411, i16 16971, i16 0, i16 0, i16 14923, i16 0, i16 15843, i16 0, i16 15947, i16 0, i16 0, i16 0, i16 16459, i16 0, i16 0, i16 0, i16 16715, i16 0, i16 0, i16 0, i16 14156, i16 0, i16 0, i16 0, i16 12877, i16 0, i16 16806, i16 0, i16 13389, i16 0, i16 0, i16 0, i16 14157, i16 0, i16 0, i16 0, i16 16461, i16 0, i16 16018, i16 0, i16 16717, i16 0, i16 0, i16 0, i16 13902, i16 0, i16 0, i16 0, i16 14926, i16 0, i16 12720, i16 0, i16 15694, i16 0, i16 15793, i16 0, i16 15950, i16 0, i16 0, i16 0, i16 16974, i16 0, i16 0, i16 0, i16 12879, i16 0, i16 0, i16 0, i16 14671, i16 0, i16 0, i16 0, i16 15439, i16 0, i16 0, i16 0, i16 15695, i16 0, i16 0, i16 0, i16 14416, i16 0, i16 0, i16 0, i16 15696, i16 0, i16 16589, i16 0, i16 14673, i16 0, i16 0, i16 0, i16 16465, i16 0, i16 15220, i16 0, i16 14162, i16 0, i16 0, i16 0, i16 16466, i16 15454, i16 13875, i16 0, i16 12627, i16 0, i16 0, i16 0, i16 13139, i16 0, i16 15444, i16 0, i16 13395, i16 0, i16 0, i16 0, i16 13651, i16 0, i16 0, i16 0, i16 16979, i16 0, i16 0, i16 0, i16 13140, i16 0, i16 0, i16 0, i16 13908, i16 0, i16 0, i16 0, i16 14420, i16 0, i16 0, i16 0, i16 14676, i16 0, i16 0, i16 0, i16 16212, i16 0, i16 0, i16 0, i16 16724, i16 0, i16 0, i16 0, i16 13141, i16 15167, i16 12734, i16 0, i16 13653, i16 0, i16 0, i16 0, i16 14421, i16 0, i16 12527, i16 0, i16 14677, i16 0, i16 0, i16 0, i16 15701, i16 0, i16 0, i16 0, i16 16213, i16 0, i16 0, i16 0, i16 12374, i16 12375, i16 0, i16 0, i16 12630, i16 0, i16 0, i16 0, i16 14678, i16 0, i16 0, i16 0, i16 16982, i16 13183, i16 0, i16 0, i16 13655, i16 0, i16 16233, i16 0, i16 14935, i16 0, i16 0, i16 0, i16 15447, i16 0, i16 0, i16 0, i16 16471, i16 13382, i16 0, i16 0, i16 16983, i16 15838, i16 14030, i16 0, i16 12376, i16 0, i16 0, i16 0, i16 14168, i16 0, i16 0, i16 0, i16 16216, i16 0, i16 14287, i16 0, i16 16728, i16 0, i16 0, i16 0, i16 89, i16 0, i16 0, i16 0, i16 14425, i16 0, i16 0, i16 0, i16 15705, i16 0, i16 0, i16 0, i16 16473, i16 0, i16 13593, i16 0, i16 16985, i16 0, i16 13907, i16 0, i16 90, i16 91, i16 92, i16 0, i16 12891, i16 0, i16 0, i16 0, i16 13915, i16 0, i16 0, i16 0, i16 14171, i16 0, i16 0, i16 0, i16 15707, i16 0, i16 0, i16 0, i16 12892, i16 0, i16 0, i16 0, i16 13660, i16 0, i16 0, i16 0, i16 14428, i16 0, i16 0, i16 0, i16 14940, i16 0, i16 0, i16 0, i16 16220, i16 16689, i16 15887, i16 0, i16 16988, i16 0, i16 0, i16 0, i16 12893, i16 0, i16 12842, i16 0, i16 14685, i16 16372, i16 0, i16 0, i16 13918, i16 12927, i16 0, i16 0, i16 16734, i16 0, i16 15318, i16 0, i16 13663, i16 0, i16 16595, i16 0, i16 12640, i16 0, i16 0, i16 0, i16 14945, i16 0, i16 0, i16 0, i16 15457, i16 0, i16 0, i16 0, i16 15713, i16 16567, i16 0, i16 0, i16 16225, i16 0, i16 15660, i16 0, i16 12386, i16 0, i16 0, i16 0, i16 14690, i16 0, i16 17039, i16 0, i16 16482, i16 0, i16 0, i16 0, i16 12643, i16 15955, i16 12727, i16 0, i16 13155, i16 12358, i16 0, i16 0, i16 13411, i16 17107, i16 0, i16 0, i16 16227, i16 0, i16 0, i16 0, i16 13412, i16 0, i16 15652, i16 0, i16 13924, i16 14113, i16 0, i16 0, i16 15972, i16 17161, i16 14439, i16 0, i16 16740, i16 0, i16 0, i16 0, i16 12901, i16 0, i16 0, i16 0, i16 15205, i16 0, i16 13167, i16 0, i16 15973, i16 0, i16 0, i16 0, i16 16741, i16 0, i16 14792, i16 0, i16 12646, i16 0, i16 12827, i16 0, i16 12902, i16 16984, i16 13252, i16 0, i16 14182, i16 0, i16 0, i16 0, i16 15462, i16 0, i16 0, i16 0, i16 12903, i16 0, i16 0, i16 0, i16 13159, i16 0, i16 0, i16 0, i16 14183, i16 0, i16 0, i16 0, i16 15207, i16 0, i16 0, i16 0, i16 15719, i16 0, i16 0, i16 0, i16 872, i16 873, i16 874, i16 0, i16 13672, i16 0, i16 0, i16 0, i16 14184, i16 0, i16 13723, i16 0, i16 14440, i16 15702, i16 13754, i16 0, i16 14696, i16 0, i16 12323, i16 0, i16 16488, i16 0, i16 0, i16 0, i16 12649, i16 0, i16 0, i16 0, i16 13161, i16 15899, i16 0, i16 0, i16 14185, i16 0, i16 0, i16 0, i16 14441, i16 0, i16 0, i16 0, i16 13162, i16 0, i16 0, i16 0, i16 13419, i16 0, i16 0, i16 0, i16 14443, i16 0, i16 0, i16 0, i16 15979, i16 16623, i16 0, i16 0, i16 876, i16 877, i16 878, i16 0, i16 13932, i16 13543, i16 0, i16 0, i16 17004, i16 16055, i16 15825, i16 0, i16 12397, i16 13647, i16 0, i16 0, i16 13165, i16 17058, i16 13093, i16 0, i16 14957, i16 0, i16 16405, i16 0, i16 15469, i16 0, i16 0, i16 0, i16 16749, i16 0, i16 0, i16 0, i16 13166, i16 0, i16 13950, i16 0, i16 15470, i16 12770, i16 0, i16 0, i16 16494, i16 13846, i16 16862, i16 0, i16 12655, i16 16472, i16 0, i16 0, i16 12911, i16 0, i16 14435, i16 0, i16 14447, i16 13098, i16 0, i16 0, i16 15215, i16 0, i16 0, i16 0, i16 15471, i16 0, i16 0, i16 0, i16 15727, i16 15044, i16 0, i16 0, i16 17007, i16 15700, i16 12367, i16 0, i16 12400, i16 0, i16 0, i16 0, i16 12912, i16 0, i16 0, i16 0, i16 14192, i16 0, i16 0, i16 0, i16 16240, i16 15211, i16 0, i16 0, i16 16496, i16 0, i16 16462, i16 0, i16 12401, i16 0, i16 0, i16 0, i16 14193, i16 16914, i16 16725, i16 0, i16 15217, i16 0, i16 12511, i16 0, i16 16497, i16 0, i16 14251, i16 0, i16 12402, i16 0, i16 0, i16 0, i16 13682, i16 0, i16 15219, i16 0, i16 14962, i16 0, i16 16960, i16 0, i16 12659, i16 16333, i16 0, i16 0, i16 13683, i16 0, i16 0, i16 0, i16 13684, i16 0, i16 12944, i16 0, i16 16756, i16 16757, i16 12346, i16 0, i16 17012, i16 13397, i16 0, i16 0, i16 17013, i16 0, i16 0, i16 0, i16 13430, i16 0, i16 0, i16 0, i16 14454, i16 0, i16 0, i16 0, i16 15222, i16 0, i16 0, i16 0, i16 15990, i16 0, i16 12661, i16 0, i16 13943, i16 13179, i16 16645, i16 0, i16 14455, i16 0, i16 0, i16 0, i16 14967, i16 0, i16 0, i16 0, i16 17015, i16 0, i16 15677, i16 0, i16 12920, i16 0, i16 0, i16 0, i16 15736, i16 0, i16 14401, i16 0, i16 13433, i16 12583, i16 0, i16 0, i16 13945, i16 0, i16 0, i16 0, i16 17017, i16 0, i16 0, i16 0, i16 15226, i16 0, i16 0, i16 0, i16 15994, i16 16110, i16 0, i16 0, i16 16762, i16 0, i16 0, i16 0, i16 15739, i16 0, i16 0, i16 0, i16 16507, i16 0, i16 0, i16 0, i16 15740, i16 0, i16 0, i16 0, i16 13693, i16 0, i16 13630, i16 0, i16 13949, i16 0, i16 14130, i16 0, i16 14461, i16 0, i16 0, i16 0, i16 15741, i16 0, i16 0, i16 0, i16 382, i16 383, i16 384, i16 0, i16 12670, i16 0, i16 0, i16 0, i16 13694, i16 0, i16 0, i16 0, i16 14718, i16 0, i16 0, i16 0, i16 16254, i16 16540, i16 14067, i16 0, i16 17022, i16 0, i16 0, i16 0, i16 13951, i16 14569, i16 0, i16 0, i16 14719, i16 0, i16 0, i16 0, i16 14975, i16 0, i16 0, i16 0, i16 15999, i16 16395, i16 0, i16 0, i16 16255, i16 15970, i16 0, i16 0, i16 14464, i16 0, i16 0, i16 0, i16 16000, i16 0, i16 15654, i16 0, i16 16768, i16 0, i16 0, i16 0, i16 129, i16 130, i16 0, i16 0, i16 12417, i16 0, i16 0, i16 0, i16 14209, i16 0, i16 0, i16 0, i16 16257, i16 13839, i16 0, i16 0, i16 12418, i16 0, i16 0, i16 0, i16 13698, i16 0, i16 0, i16 0, i16 14722, i16 0, i16 0, i16 0, i16 16514, i16 0, i16 0, i16 0, i16 15236, i16 0, i16 12423, i16 0, i16 17028, i16 0, i16 14146, i16 0, i16 133, i16 0, i16 0, i16 0, i16 13957, i16 0, i16 0, i16 0, i16 14469, i16 0, i16 14664, i16 0, i16 15749, i16 15089, i16 0, i16 0, i16 16773, i16 0, i16 0, i16 0, i16 17029, i16 16890, i16 0, i16 0, i16 134, i16 0, i16 0, i16 0, i16 12422, i16 16944, i16 0, i16 0, i16 13702, i16 0, i16 0, i16 0, i16 14726, i16 12950, i16 15112, i16 0, i16 135, i16 0, i16 216, i16 0, i16 12935, i16 15489, i16 14213, i16 0, i16 13191, i16 13212, i16 14463, i16 0, i16 13959, i16 13804, i16 0, i16 0, i16 16007, i16 0, i16 16851, i16 0, i16 17031, i16 0, i16 15590, i16 0, i16 13192, i16 0, i16 14757, i16 0, i16 13448, i16 0, i16 0, i16 0, i16 14728, i16 0, i16 14610, i16 0, i16 16008, i16 0, i16 0, i16 0, i16 12681, i16 0, i16 0, i16 0, i16 15753, i16 0, i16 0, i16 0, i16 13194, i16 0, i16 14601, i16 0, i16 13706, i16 13328, i16 0, i16 0, i16 12683, i16 0, i16 0, i16 0, i16 16267, i16 13977, i16 0, i16 0, i16 16523, i16 0, i16 0, i16 0, i16 13196, i16 16505, i16 0, i16 0, i16 16268, i16 0, i16 0, i16 0, i16 15501, i16 0, i16 0, i16 0, i16 13966, i16 0, i16 14225, i16 0, i16 14222, i16 0, i16 15866, i16 0, i16 16782, i16 15483, i16 12909, i16 0, i16 14991, i16 0, i16 0, i16 0, i16 14224, i16 16057, i16 16615, i16 0, i16 14480, i16 0, i16 0, i16 0, i16 14736, i16 0, i16 16389, i16 0, i16 14992, i16 0, i16 12530, i16 0, i16 15760, i16 0, i16 15102, i16 0, i16 16528, i16 0, i16 12544, i16 0, i16 12689, i16 0, i16 0, i16 0, i16 14481, i16 0, i16 0, i16 0, i16 16017, i16 0, i16 16265, i16 0, i16 16273, i16 0, i16 0, i16 0, i16 17041, i16 12577, i16 0, i16 0, i16 13714, i16 0, i16 17088, i16 0, i16 13970, i16 0, i16 0, i16 0, i16 14994, i16 0, i16 0, i16 0, i16 13203, i16 0, i16 15248, i16 0, i16 13715, i16 0, i16 0, i16 0, i16 14227, i16 0, i16 14729, i16 0, i16 12436, i16 12560, i16 0, i16 0, i16 15508, i16 0, i16 0, i16 0, i16 16020, i16 13774, i16 13965, i16 0, i16 16788, i16 0, i16 13922, i16 0, i16 12949, i16 14112, i16 0, i16 0, i16 14485, i16 12372, i16 0, i16 0, i16 14997, i16 0, i16 0, i16 0, i16 15509, i16 17038, i16 0, i16 0, i16 15765, i16 0, i16 13172, i16 0, i16 16021, i16 0, i16 0, i16 0, i16 16533, i16 17065, i16 15937, i16 0, i16 14742, i16 0, i16 0, i16 0, i16 14998, i16 0, i16 0, i16 0, i16 16278, i16 12741, i16 0, i16 0, i16 16534, i16 0, i16 0, i16 0, i16 14487, i16 0, i16 0, i16 0, i16 16279, i16 0, i16 0, i16 0, i16 13720, i16 0, i16 14858, i16 0, i16 16280, i16 14376, i16 0, i16 0, i16 13721, i16 0, i16 13661, i16 0, i16 15769, i16 0, i16 0, i16 0, i16 16025, i16 0, i16 12517, i16 0, i16 13978, i16 0, i16 0, i16 0, i16 14234, i16 0, i16 0, i16 0, i16 14490, i16 0, i16 16578, i16 0, i16 13467, i16 0, i16 0, i16 0, i16 15259, i16 0, i16 0, i16 0, i16 13724, i16 13489, i16 0, i16 0, i16 14492, i16 0, i16 0, i16 0, i16 15260, i16 0, i16 0, i16 0, i16 12445, i16 0, i16 0, i16 0, i16 13981, i16 0, i16 0, i16 0, i16 14749, i16 0, i16 15349, i16 0, i16 16797, i16 14625, i16 0, i16 0, i16 14750, i16 0, i16 14516, i16 0, i16 15262, i16 0, i16 0, i16 0, i16 15774, i16 0, i16 0, i16 0, i16 16286, i16 13429, i16 14081, i16 0, i16 12703, i16 0, i16 0, i16 0, i16 12959, i16 0, i16 0, i16 0, i16 13471, i16 0, i16 0, i16 0, i16 16799, i16 0, i16 0, i16 0, i16 14240, i16 0, i16 0, i16 0, i16 15264, i16 0, i16 0, i16 0, i16 16288, i16 0, i16 0, i16 0, i16 12449, i16 0, i16 0, i16 0, i16 14754, i16 0, i16 0, i16 0, i16 16034, i16 0, i16 14965, i16 0, i16 13219, i16 0, i16 0, i16 0, i16 13475, i16 12802, i16 0, i16 0, i16 13987, i16 0, i16 0, i16 0, i16 14499, i16 0, i16 14961, i16 0, i16 14755, i16 0, i16 0, i16 0, i16 15011, i16 0, i16 0, i16 0, i16 16035, i16 0, i16 0, i16 0, i16 16803, i16 0, i16 14505, i16 0, i16 13988, i16 0, i16 0, i16 0, i16 15012, i16 0, i16 13477, i16 0, i16 15268, i16 0, i16 0, i16 0, i16 12453, i16 0, i16 0, i16 0, i16 14245, i16 0, i16 0, i16 0, i16 15270, i16 13548, i16 0, i16 0, i16 13223, i16 12676, i16 0, i16 0, i16 15015, i16 0, i16 14969, i16 0, i16 16039, i16 0, i16 0, i16 0, i16 16551, i16 0, i16 0, i16 0, i16 13992, i16 12922, i16 12751, i16 0, i16 14248, i16 0, i16 13984, i16 0, i16 15016, i16 0, i16 0, i16 0, i16 169, i16 347, i16 0, i16 0, i16 14761, i16 0, i16 0, i16 0, i16 16809, i16 0, i16 15476, i16 0, i16 12970, i16 0, i16 0, i16 0, i16 14506, i16 12454, i16 0, i16 0, i16 14762, i16 0, i16 0, i16 0, i16 15786, i16 16009, i16 0, i16 0, i16 14507, i16 0, i16 13835, i16 0, i16 16555, i16 14270, i16 15187, i16 0, i16 12716, i16 16963, i16 13886, i16 0, i16 13740, i16 0, i16 0, i16 0, i16 14252, i16 0, i16 13592, i16 0, i16 15532, i16 0, i16 0, i16 0, i16 173, i16 0, i16 0, i16 0, i16 12461, i16 0, i16 0, i16 0, i16 14510, i16 12978, i16 0, i16 0, i16 16814, i16 0, i16 0, i16 0, i16 12719, i16 15416, i16 0, i16 0, i16 13231, i16 0, i16 0, i16 0, i16 13487, i16 0, i16 0, i16 0, i16 16047, i16 0, i16 0, i16 0, i16 16303, i16 13486, i16 15435, i16 0, i16 12464, i16 0, i16 0, i16 0, i16 13232, i16 0, i16 14864, i16 0, i16 14000, i16 0, i16 0, i16 0, i16 15280, i16 0, i16 0, i16 0, i16 16304, i16 0, i16 0, i16 0, i16 17072, i16 0, i16 13786, i16 0, i16 13745, i16 0, i16 0, i16 0, i16 14001, i16 0, i16 16036, i16 0, i16 17073, i16 0, i16 0, i16 0, i16 12722, i16 0, i16 0, i16 0, i16 14002, i16 13056, i16 16377, i16 0, i16 16306, i16 0, i16 0, i16 0, i16 12467, i16 0, i16 0, i16 0, i16 12979, i16 15210, i16 0, i16 0, i16 13235, i16 16467, i16 0, i16 0, i16 14003, i16 0, i16 12539, i16 0, i16 14259, i16 0, i16 0, i16 0, i16 12468, i16 0, i16 0, i16 0, i16 13236, i16 0, i16 0, i16 0, i16 13748, i16 0, i16 0, i16 0, i16 14772, i16 0, i16 0, i16 0, i16 14261, i16 0, i16 16750, i16 0, i16 15797, i16 0, i16 15079, i16 0, i16 182, i16 181, i16 0, i16 0, i16 12982, i16 0, i16 0, i16 0, i16 16566, i16 14236, i16 12396, i16 0, i16 14007, i16 0, i16 14200, i16 0, i16 15287, i16 15298, i16 0, i16 0, i16 16311, i16 0, i16 0, i16 0, i16 17079, i16 0, i16 16957, i16 0, i16 14008, i16 0, i16 0, i16 0, i16 14264, i16 0, i16 0, i16 0, i16 15032, i16 0, i16 0, i16 0, i16 15800, i16 0, i16 12647, i16 0, i16 17080, i16 0, i16 0, i16 0, i16 14777, i16 0, i16 12653, i16 0, i16 12730, i16 13939, i16 0, i16 0, i16 13242, i16 0, i16 0, i16 0, i16 17082, i16 15463, i16 0, i16 0, i16 13243, i16 0, i16 0, i16 0, i16 13499, i16 0, i16 12619, i16 0, i16 15547, i16 0, i16 0, i16 0, i16 16059, i16 0, i16 0, i16 0, i16 16827, i16 0, i16 0, i16 0, i16 12732, i16 0, i16 0, i16 0, i16 14780, i16 0, i16 0, i16 0, i16 16060, i16 16222, i16 16477, i16 0, i16 14013, i16 0, i16 0, i16 0, i16 16829, i16 14875, i16 0, i16 0, i16 12478, i16 0, i16 13819, i16 0, i16 16318, i16 0, i16 0, i16 0, i16 17086, i16 16766, i16 0, i16 0, i16 959, i16 960, i16 961, i16 0, i16 12479, i16 17114, i16 0, i16 0, i16 16831, i16 0, i16 0, i16 0, i16 17087, i16 0, i16 14320, i16 0, i16 12736, i16 0, i16 0, i16 0, i16 14784, i16 0, i16 0, i16 0, i16 15296, i16 0, i16 0, i16 0, i16 14529, i16 15967, i16 0, i16 0, i16 14785, i16 0, i16 14535, i16 0, i16 16577, i16 0, i16 16787, i16 0, i16 14018, i16 0, i16 12889, i16 0, i16 15554, i16 16918, i16 14331, i16 0, i16 17090, i16 0, i16 0, i16 0, i16 13507, i16 0, i16 0, i16 0, i16 14787, i16 14334, i16 12388, i16 0, i16 15555, i16 13137, i16 0, i16 0, i16 16067, i16 0, i16 14279, i16 0, i16 16835, i16 0, i16 0, i16 0, i16 14276, i16 0, i16 0, i16 0, i16 14532, i16 0, i16 0, i16 0, i16 15812, i16 0, i16 0, i16 0, i16 16580, i16 0, i16 16561, i16 0, i16 17092, i16 13324, i16 0, i16 0, i16 12485, i16 0, i16 0, i16 0, i16 13509, i16 0, i16 0, i16 0, i16 16581, i16 0, i16 0, i16 0, i16 17093, i16 14943, i16 0, i16 0, i16 13766, i16 16326, i16 0, i16 0, i16 15302, i16 0, i16 0, i16 0, i16 12487, i16 16568, i16 0, i16 0, i16 15559, i16 0, i16 0, i16 0, i16 15815, i16 0, i16 13257, i16 0, i16 16327, i16 0, i16 0, i16 0, i16 16583, i16 0, i16 0, i16 0, i16 12488, i16 0, i16 0, i16 0, i16 12744, i16 0, i16 16842, i16 0, i16 14024, i16 17150, i16 0, i16 0, i16 15048, i16 0, i16 0, i16 0, i16 13769, i16 0, i16 0, i16 0, i16 14537, i16 0, i16 0, i16 0, i16 14538, i16 0, i16 0, i16 0, i16 16330, i16 0, i16 0, i16 0, i16 12491, i16 0, i16 0, i16 0, i16 12747, i16 0, i16 0, i16 0, i16 14283, i16 0, i16 0, i16 0, i16 15563, i16 15180, i16 0, i16 0, i16 16331, i16 0, i16 0, i16 0, i16 16587, i16 16365, i16 0, i16 0, i16 204, i16 160, i16 0, i16 0, i16 12492, i16 0, i16 0, i16 0, i16 12748, i16 12463, i16 14825, i16 0, i16 15564, i16 14603, i16 14662, i16 0, i16 16076, i16 16453, i16 0, i16 0, i16 12493, i16 13904, i16 0, i16 0, i16 14029, i16 0, i16 0, i16 0, i16 12750, i16 0, i16 13916, i16 0, i16 15054, i16 0, i16 0, i16 0, i16 16334, i16 0, i16 0, i16 0, i16 16846, i16 0, i16 0, i16 0, i16 15312, i16 16790, i16 14958, i16 0, i16 15824, i16 0, i16 0, i16 0, i16 12497, i16 0, i16 0, i16 0, i16 12498, i16 16586, i16 0, i16 0, i16 13266, i16 0, i16 0, i16 0, i16 16082, i16 0, i16 0, i16 0, i16 16338, i16 16898, i16 0, i16 0, i16 13267, i16 0, i16 0, i16 0, i16 15571, i16 0, i16 13048, i16 0, i16 16339, i16 0, i16 0, i16 0, i16 13268, i16 0, i16 16251, i16 0, i16 14548, i16 0, i16 13322, i16 0, i16 17108, i16 0, i16 0, i16 0, i16 13525, i16 0, i16 0, i16 0, i16 14549, i16 16208, i16 0, i16 0, i16 15061, i16 16355, i16 12754, i16 0, i16 16085, i16 0, i16 16086, i16 0, i16 16341, i16 0, i16 0, i16 0, i16 12758, i16 0, i16 0, i16 0, i16 13782, i16 13206, i16 0, i16 0, i16 14038, i16 0, i16 0, i16 0, i16 14294, i16 0, i16 0, i16 0, i16 13271, i16 15273, i16 0, i16 0, i16 14551, i16 0, i16 0, i16 0, i16 15063, i16 0, i16 0, i16 0, i16 15319, i16 15008, i16 0, i16 0, i16 16087, i16 0, i16 0, i16 0, i16 16855, i16 0, i16 0, i16 0, i16 17111, i16 0, i16 0, i16 0, i16 13528, i16 0, i16 0, i16 0, i16 15320, i16 13709, i16 0, i16 0, i16 15576, i16 0, i16 0, i16 0, i16 15832, i16 0, i16 0, i16 0, i16 17112, i16 0, i16 15491, i16 0, i16 15577, i16 15748, i16 0, i16 0, i16 16857, i16 0, i16 0, i16 0, i16 17113, i16 0, i16 0, i16 0, i16 12506, i16 0, i16 0, i16 0, i16 13530, i16 0, i16 16095, i16 0, i16 15834, i16 16856, i16 0, i16 0, i16 16090, i16 0, i16 15381, i16 0, i16 16346, i16 0, i16 0, i16 0, i16 16858, i16 0, i16 0, i16 0, i16 12507, i16 15526, i16 12403, i16 0, i16 16091, i16 0, i16 0, i16 0, i16 16347, i16 14430, i16 0, i16 0, i16 14044, i16 0, i16 0, i16 0, i16 14556, i16 0, i16 13251, i16 0, i16 12765, i16 0, i16 0, i16 0, i16 17117, i16 0, i16 0, i16 0, i16 14302, i16 0, i16 0, i16 0, i16 16094, i16 0, i16 12956, i16 0, i16 12767, i16 0, i16 0, i16 0, i16 15583, i16 0, i16 14655, i16 0, i16 14304, i16 15497, i16 0, i16 0, i16 14560, i16 0, i16 0, i16 0, i16 15840, i16 0, i16 16260, i16 0, i16 13281, i16 0, i16 0, i16 0, i16 14049, i16 0, i16 0, i16 0, i16 16097, i16 0, i16 12370, i16 0, i16 15074, i16 0, i16 0, i16 0, i16 15330, i16 15690, i16 15960, i16 0, i16 16866, i16 0, i16 0, i16 0, i16 227, i16 0, i16 0, i16 0, i16 12515, i16 0, i16 13876, i16 0, i16 14563, i16 0, i16 0, i16 0, i16 16611, i16 0, i16 0, i16 0, i16 12516, i16 0, i16 0, i16 0, i16 13284, i16 0, i16 0, i16 0, i16 13540, i16 0, i16 0, i16 0, i16 13796, i16 0, i16 0, i16 0, i16 14308, i16 0, i16 0, i16 0, i16 14309, i16 0, i16 0, i16 0, i16 14565, i16 0, i16 16525, i16 0, i16 16101, i16 14818, i16 0, i16 0, i16 16357, i16 14010, i16 0, i16 0, i16 14566, i16 0, i16 0, i16 0, i16 15334, i16 0, i16 0, i16 0, i16 16102, i16 16942, i16 15214, i16 0, i16 15847, i16 0, i16 0, i16 0, i16 16359, i16 15252, i16 0, i16 0, i16 232, i16 0, i16 0, i16 0, i16 15336, i16 0, i16 15165, i16 0, i16 16361, i16 15730, i16 0, i16 0, i16 14058, i16 0, i16 0, i16 0, i16 14314, i16 0, i16 0, i16 0, i16 15082, i16 12921, i16 14023, i16 0, i16 12779, i16 0, i16 0, i16 0, i16 13035, i16 0, i16 0, i16 0, i16 15083, i16 16001, i16 0, i16 0, i16 15595, i16 0, i16 0, i16 0, i16 16107, i16 0, i16 14187, i16 0, i16 16363, i16 0, i16 0, i16 0, i16 236, i16 0, i16 0, i16 0, i16 15596, i16 0, i16 0, i16 0, i16 16876, i16 0, i16 0, i16 0, i16 14061, i16 0, i16 0, i16 0, i16 14829, i16 14436, i16 16437, i16 0, i16 16621, i16 15846, i16 0, i16 0, i16 17133, i16 0, i16 0, i16 0, i16 12782, i16 0, i16 0, i16 0, i16 14318, i16 0, i16 14389, i16 0, i16 15598, i16 12969, i16 0, i16 0, i16 239, i16 0, i16 0, i16 0, i16 13295, i16 0, i16 0, i16 0, i16 496, i16 497, i16 498, i16 0, i16 12784, i16 0, i16 14922, i16 0, i16 16624, i16 0, i16 0, i16 0, i16 16880, i16 16428, i16 16881, i16 0, i16 14322, i16 15067, i16 0, i16 0, i16 14578, i16 0, i16 0, i16 0, i16 15602, i16 0, i16 0, i16 0, i16 12531, i16 0, i16 0, i16 0, i16 13299, i16 14574, i16 0, i16 0, i16 15859, i16 12469, i16 0, i16 0, i16 17139, i16 0, i16 0, i16 0, i16 12532, i16 0, i16 0, i16 0, i16 14836, i16 0, i16 0, i16 0, i16 13301, i16 0, i16 0, i16 0, i16 13557, i16 13244, i16 16772, i16 0, i16 12534, i16 0, i16 13973, i16 0, i16 13814, i16 13690, i16 0, i16 0, i16 14070, i16 0, i16 0, i16 0, i16 15862, i16 0, i16 0, i16 0, i16 16118, i16 0, i16 0, i16 0, i16 13303, i16 0, i16 0, i16 0, i16 13559, i16 14258, i16 0, i16 0, i16 14327, i16 14477, i16 0, i16 0, i16 16119, i16 0, i16 13937, i16 0, i16 16887, i16 0, i16 0, i16 0, i16 17143, i16 12677, i16 0, i16 0, i16 14840, i16 12604, i16 15706, i16 0, i16 14329, i16 0, i16 15728, i16 0, i16 16633, i16 0, i16 15151, i16 0, i16 13818, i16 16626, i16 15466, i16 0, i16 14330, i16 0, i16 0, i16 0, i16 16634, i16 12664, i16 0, i16 0, i16 251, i16 0, i16 0, i16 0, i16 13307, i16 0, i16 12887, i16 0, i16 16123, i16 0, i16 0, i16 0, i16 16379, i16 0, i16 0, i16 0, i16 16635, i16 0, i16 0, i16 0, i16 17147, i16 16591, i16 0, i16 0, i16 12796, i16 0, i16 0, i16 0, i16 14844, i16 0, i16 0, i16 0, i16 15356, i16 0, i16 0, i16 0, i16 15868, i16 0, i16 0, i16 0, i16 16636, i16 0, i16 0, i16 0, i16 16892, i16 13247, i16 0, i16 0, i16 12797, i16 0, i16 0, i16 0, i16 15613, i16 14079, i16 0, i16 0, i16 12286, i16 0, i16 13968, i16 0, i16 14078, i16 0, i16 0, i16 0, i16 14590, i16 13127, i16 0, i16 0, i16 15614, i16 13555, i16 13688, i16 0, i16 15870, i16 0, i16 0, i16 0, i16 16126, i16 0, i16 0, i16 0, i16 16382, i16 0, i16 0, i16 0, i16 12543, i16 0, i16 13728, i16 0, i16 13823, i16 0, i16 13674, i16 0, i16 15615, i16 12820, i16 0, i16 15104, i16 0, i16 0, i16 0, i16 15616, i16 13933, i16 15995, i16 0, i16 16128, i16 0, i16 0, i16 12308, i16 16640, i16 0, i16 0, i16 16054, i16 17152, i16 12348, i16 0, i16 0, i16 257, i16 258, i16 261, i16 260, i16 12801, i16 0, i16 0, i16 0, i16 13569, i16 16879, i16 0, i16 0, i16 14849, i16 0, i16 0, i16 0, i16 15617, i16 14776, i16 0, i16 0, i16 15873, i16 0, i16 14896, i16 0, i16 16385, i16 0, i16 0, i16 0, i16 514, i16 515, i16 516, i16 517, i16 770, i16 771, i16 772, i16 0, i16 1026, i16 1027, i16 1028, i16 1029, i16 13058, i16 12645, i16 0, i16 14683, i16 15874, i16 0, i16 0, i16 12460, i16 16386, i16 0, i16 0, i16 0, i16 259, i16 262, i16 0, i16 0, i16 12803, i16 0, i16 0, i16 0, i16 13059, i16 13351, i16 0, i16 0, i16 14083, i16 14084, i16 0, i16 0, i16 15107, i16 0, i16 0, i16 0, i16 16387, i16 0, i16 15688, i16 0, i16 16643, i16 0, i16 0, i16 0, i16 17155, i16 0, i16 16783, i16 0, i16 13828, i16 0, i16 0, i16 0, i16 15108, i16 12610, i16 14517, i16 0, i16 15364, i16 15365, i16 12936, i16 0, i16 15876, i16 0, i16 0, i16 0, i16 12805, i16 13691, i16 0, i16 0, i16 14853, i16 0, i16 0, i16 0, i16 15621, i16 0, i16 0, i16 0, i16 16901, i16 0, i16 0, i16 16677, i16 17157, i16 0, i16 0, i16 0, i16 518, i16 519, i16 0, i16 0, i16 1030, i16 1031, i16 1032, i16 1033, i16 13574, i16 0, i16 0, i16 0, i16 13830, i16 0, i16 0, i16 0, i16 14086, i16 0, i16 0, i16 0, i16 14342, i16 15893, i16 15892, i16 0, i16 7, i16 8, i16 9, i16 10, i16 263, i16 277, i16 278, i16 0, i16 775, i16 0, i16 0, i16 0, i16 12807, i16 0, i16 0, i16 0, i16 13319, i16 0, i16 0, i16 0, i16 13831, i16 0, i16 0, i16 0, i16 14855, i16 0, i16 0, i16 0, i16 15367, i16 0, i16 0, i16 17002, i16 15879, i16 14820, i16 14767, i16 0, i16 17159, i16 17158, i16 16518, i16 0, i16 776, i16 773, i16 777, i16 233, i16 12552, i16 16573, i16 0, i16 14188, i16 12808, i16 0, i16 0, i16 0, i16 13576, i16 12432, i16 0, i16 0, i16 16904, i16 0, i16 0, i16 0, i16 13065, i16 0, i16 0, i16 0, i16 13321, i16 13327, i16 13330, i16 13434, i16 14345, i16 13568, i16 0, i16 0, i16 15113, i16 14228, i16 0, i16 0, i16 15369, i16 15370, i16 0, i16 0, i16 16393, i16 13771, i16 0, i16 0, i16 266, i16 0, i16 267, i16 0, i16 1034, i16 1035, i16 1036, i16 1037, i16 12298, i16 0, i16 16519, i16 0, i16 12554, i16 0, i16 0, i16 0, i16 14090, i16 15681, i16 12652, i16 0, i16 11, i16 12, i16 13, i16 14, i16 523, i16 524, i16 525, i16 526, i16 779, i16 780, i16 781, i16 0, i16 15371, i16 0, i16 12852, i16 0, i16 15627, i16 0, i16 0, i16 0, i16 16907, i16 14760, i16 0, i16 0, i16 12812, i16 0, i16 13177, i16 0, i16 13068, i16 13069, i16 13070, i16 13072, i16 13580, i16 16024, i16 14835, i16 13381, i16 14604, i16 15275, i16 0, i16 0, i16 15372, i16 12415, i16 0, i16 12648, i16 269, i16 270, i16 0, i16 0, i16 12301, i16 12570, i16 0, i16 12599, i16 12813, i16 0, i16 0, i16 15111, i16 13581, i16 12989, i16 0, i16 0, i16 13837, i16 0, i16 16492, i16 0, i16 14093, i16 0, i16 0, i16 12975, i16 14861, i16 0, i16 15592, i16 0, i16 16141, i16 0, i16 0, i16 0, i16 16653, i16 0, i16 0, i16 0, i16 1038, i16 1039, i16 1040, i16 1041, i16 12814, i16 0, i16 0, i16 12706, i16 13838, i16 14545, i16 16980, i16 0, i16 15374, i16 15377, i16 15382, i16 15384, i16 15630, i16 0, i16 0, i16 0, i16 15886, i16 15536, i16 0, i16 14123, i16 16142, i16 14132, i16 14450, i16 0, i16 15, i16 16, i16 17, i16 18, i16 527, i16 528, i16 529, i16 530, i16 12303, i16 13730, i16 0, i16 0, i16 14095, i16 0, i16 0, i16 0, i16 15375, i16 0, i16 0, i16 0, i16 15631, i16 14274, i16 14286, i16 16727, i16 16143, i16 0, i16 0, i16 12638, i16 16399, i16 0, i16 14372, i16 0, i16 784, i16 0, i16 0, i16 0, i16 13840, i16 0, i16 12299, i16 0, i16 14096, i16 16478, i16 0, i16 0, i16 17168, i16 0, i16 0, i16 0, i16 12305, i16 0, i16 0, i16 13199, i16 12561, i16 0, i16 0, i16 0, i16 13073, i16 13074, i16 13075, i16 13076, i16 14097, i16 0, i16 0, i16 0, i16 14865, i16 0, i16 0, i16 0, i16 15633, i16 12694, i16 0, i16 12377, i16 16401, i16 0, i16 12835, i16 0, i16 1042, i16 1043, i16 1044, i16 0, i16 13586, i16 0, i16 14476, i16 0, i16 13842, i16 12965, i16 0, i16 14265, i16 14098, i16 0, i16 0, i16 0, i16 15122, i16 15419, i16 0, i16 15300, i16 15634, i16 13210, i16 0, i16 0, i16 16402, i16 0, i16 0, i16 12309, i16 17170, i16 16987, i16 16811, i16 14313, i16 19, i16 20, i16 21, i16 0, i16 275, i16 273, i16 0, i16 0, i16 531, i16 532, i16 533, i16 534, i16 12307, i16 0, i16 15734, i16 0, i16 13587, i16 0, i16 0, i16 0, i16 16403, i16 12791, i16 0, i16 0, i16 788, i16 0, i16 0, i16 0, i16 12564, i16 12629, i16 0, i16 14470, i16 14868, i16 14870, i16 14874, i16 14910, i16 16916, i16 13696, i16 0, i16 0, i16 789, i16 697, i16 790, i16 0, i16 1045, i16 1046, i16 1047, i16 1048, i16 12565, i16 0, i16 0, i16 0, i16 12821, i16 0, i16 0, i16 0, i16 13077, i16 13079, i16 13080, i16 13081, i16 13333, i16 0, i16 0, i16 0, i16 14357, i16 0, i16 0, i16 0, i16 14613, i16 13502, i16 0, i16 0, i16 14869, i16 0, i16 0, i16 0, i16 15637, i16 14361, i16 14107, i16 0, i16 22, i16 0, i16 23, i16 24, i16 16150, i16 14012, i16 13767, i16 0, i16 279, i16 276, i16 0, i16 0, i16 535, i16 536, i16 0, i16 537, i16 791, i16 0, i16 0, i16 0, i16 12567, i16 0, i16 0, i16 15172, i16 12823, i16 16179, i16 15581, i16 12312, i16 13847, i16 0, i16 0, i16 13811, i16 14359, i16 0, i16 0, i16 0, i16 14615, i16 0, i16 0, i16 14235, i16 15127, i16 0, i16 15766, i16 0, i16 15383, i16 0, i16 13753, i16 0, i16 12568, i16 0, i16 0, i16 13306, i16 12824, i16 0, i16 15607, i16 12864, i16 14104, i16 0, i16 0, i16 0, i16 14872, i16 0, i16 0, i16 0, i16 15640, i16 0, i16 0, i16 14139, i16 25, i16 26, i16 27, i16 28, i16 281, i16 0, i16 0, i16 0, i16 1049, i16 1050, i16 1052, i16 1053, i16 12313, i16 13332, i16 0, i16 12825, i16 14617, i16 0, i16 13773, i16 15987, i16 16409, i16 0, i16 15799, i16 0, i16 538, i16 539, i16 540, i16 541, i16 12314, i16 0, i16 0, i16 0, i16 12826, i16 0, i16 0, i16 12800, i16 13082, i16 13083, i16 13084, i16 13085, i16 14106, i16 16843, i16 0, i16 16575, i16 14618, i16 0, i16 0, i16 0, i16 15642, i16 0, i16 0, i16 0, i16 13339, i16 15747, i16 0, i16 0, i16 13851, i16 0, i16 13432, i16 0, i16 14363, i16 0, i16 0, i16 15368, i16 14619, i16 0, i16 0, i16 0, i16 15131, i16 0, i16 0, i16 16830, i16 16411, i16 0, i16 0, i16 0, i16 16923, i16 14142, i16 0, i16 14540, i16 12316, i16 0, i16 0, i16 16908, i16 13596, i16 0, i16 15599, i16 0, i16 14364, i16 17134, i16 0, i16 0, i16 14876, i16 0, i16 0, i16 0, i16 15388, i16 15391, i16 15393, i16 15394, i16 29, i16 30, i16 31, i16 32, i16 12317, i16 0, i16 0, i16 15758, i16 12573, i16 0, i16 0, i16 0, i16 13341, i16 0, i16 0, i16 0, i16 14109, i16 0, i16 0, i16 13273, i16 15389, i16 0, i16 14346, i16 14634, i16 286, i16 0, i16 0, i16 679, i16 542, i16 543, i16 0, i16 0, i16 798, i16 799, i16 800, i16 801, i16 1054, i16 1055, i16 1056, i16 1057, i16 12574, i16 0, i16 14714, i16 0, i16 13086, i16 13087, i16 13088, i16 13089, i16 13598, i16 0, i16 0, i16 0, i16 14366, i16 0, i16 0, i16 13288, i16 14622, i16 0, i16 0, i16 13168, i16 14878, i16 14663, i16 0, i16 0, i16 13343, i16 0, i16 0, i16 16050, i16 13855, i16 13834, i16 0, i16 12997, i16 14111, i16 12898, i16 0, i16 14936, i16 14367, i16 0, i16 0, i16 0, i16 15647, i16 0, i16 0, i16 0, i16 16159, i16 0, i16 0, i16 0, i16 544, i16 555, i16 545, i16 556, i16 13600, i16 0, i16 0, i16 0, i16 13856, i16 16531, i16 0, i16 0, i16 14880, i16 0, i16 0, i16 0, i16 16160, i16 0, i16 0, i16 0, i16 16416, i16 0, i16 13817, i16 0, i16 33, i16 34, i16 35, i16 36, i16 13857, i16 0, i16 0, i16 0, i16 546, i16 583, i16 582, i16 557, i16 802, i16 803, i16 804, i16 805, i16 1058, i16 1059, i16 1060, i16 1061, i16 12578, i16 0, i16 0, i16 0, i16 12834, i16 16537, i16 13775, i16 0, i16 14626, i16 0, i16 0, i16 0, i16 15138, i16 0, i16 0, i16 0, i16 16930, i16 0, i16 0, i16 0, i16 291, i16 292, i16 293, i16 294, i16 547, i16 577, i16 576, i16 558, i16 12579, i16 12755, i16 0, i16 0, i16 13091, i16 13092, i16 13096, i16 13097, i16 13347, i16 0, i16 0, i16 0, i16 14627, i16 14539, i16 15436, i16 0, i16 15651, i16 0, i16 15105, i16 0, i16 16931, i16 0, i16 0, i16 12335, i16 548, i16 579, i16 578, i16 559, i16 15908, i16 0, i16 0, i16 0, i16 16164, i16 0, i16 13836, i16 0, i16 16932, i16 15385, i16 0, i16 0, i16 37, i16 38, i16 39, i16 40, i16 549, i16 581, i16 580, i16 560, i16 13349, i16 0, i16 0, i16 0, i16 13605, i16 0, i16 0, i16 0, i16 13861, i16 0, i16 14594, i16 15626, i16 14629, i16 0, i16 12476, i16 0, i16 14885, i16 0, i16 0, i16 0, i16 15141, i16 0, i16 0, i16 12717, i16 15397, i16 0, i16 0, i16 0, i16 15653, i16 0, i16 0, i16 16014, i16 550, i16 571, i16 584, i16 585, i16 806, i16 807, i16 808, i16 809, i16 1062, i16 1063, i16 1064, i16 1065, i16 12326, i16 0, i16 0, i16 0, i16 13606, i16 0, i16 0, i16 0, i16 14118, i16 16596, i16 15068, i16 14731, i16 14886, i16 0, i16 12514, i16 0, i16 16422, i16 0, i16 14654, i16 0, i16 295, i16 296, i16 297, i16 298, i16 551, i16 592, i16 593, i16 567, i16 12839, i16 0, i16 0, i16 0, i16 13607, i16 14883, i16 16707, i16 0, i16 13863, i16 0, i16 0, i16 0, i16 15399, i16 0, i16 0, i16 0, i16 15655, i16 14031, i16 14395, i16 0, i16 16167, i16 0, i16 15903, i16 0, i16 16935, i16 0, i16 0, i16 0, i16 552, i16 573, i16 588, i16 589, i16 13352, i16 0, i16 0, i16 0, i16 13608, i16 0, i16 0, i16 0, i16 14120, i16 0, i16 15293, i16 0, i16 15144, i16 0, i16 0, i16 0, i16 15912, i16 12541, i16 13870, i16 0, i16 41, i16 42, i16 43, i16 44, i16 553, i16 596, i16 597, i16 569, i16 12585, i16 0, i16 0, i16 0, i16 12841, i16 12810, i16 0, i16 0, i16 13865, i16 0, i16 0, i16 13462, i16 14377, i16 12693, i16 0, i16 12872, i16 15913, i16 0, i16 0, i16 0, i16 16169, i16 12857, i16 0, i16 13290, i16 554, i16 600, i16 601, i16 570, i16 810, i16 811, i16 812, i16 813, i16 1066, i16 1067, i16 1068, i16 1069, i16 13866, i16 0, i16 14612, i16 0, i16 14378, i16 0, i16 16272, i16 13312, i16 15402, i16 0, i16 0, i16 0, i16 16426, i16 14161, i16 0, i16 0, i16 16682, i16 0, i16 0, i16 0, i16 16938, i16 0, i16 16694, i16 16603, i16 299, i16 300, i16 301, i16 302, i16 12331, i16 0, i16 0, i16 0, i16 13099, i16 13100, i16 13102, i16 13103, i16 13867, i16 0, i16 0, i16 0, i16 15659, i16 0, i16 0, i16 14841, i16 13612, i16 0, i16 16751, i16 13410, i16 14636, i16 0, i16 0, i16 0, i16 14892, i16 14009, i16 0, i16 0, i16 15148, i16 0, i16 15943, i16 12679, i16 15916, i16 0, i16 0, i16 0, i16 16940, i16 16394, i16 14706, i16 0, i16 45, i16 46, i16 47, i16 48, i16 12333, i16 0, i16 0, i16 12297, i16 12845, i16 0, i16 0, i16 14223, i16 13357, i16 16618, i16 0, i16 0, i16 13613, i16 14635, i16 0, i16 0, i16 13869, i16 0, i16 0, i16 0, i16 15661, i16 0, i16 0, i16 0, i16 15917, i16 16642, i16 0, i16 0, i16 16173, i16 0, i16 0, i16 13254, i16 814, i16 815, i16 816, i16 817, i16 1070, i16 1071, i16 1072, i16 1073, i16 12846, i16 0, i16 16637, i16 13664, i16 303, i16 304, i16 305, i16 306, i16 12847, i16 0, i16 0, i16 0, i16 13615, i16 0, i16 13985, i16 0, i16 13871, i16 0, i16 0, i16 0, i16 14895, i16 0, i16 15844, i16 14089, i16 12592, i16 0, i16 16205, i16 0, i16 13104, i16 13105, i16 13106, i16 13107, i16 13872, i16 0, i16 0, i16 0, i16 15152, i16 0, i16 12319, i16 12545, i16 49, i16 50, i16 51, i16 52, i16 13873, i16 0, i16 0, i16 0, i16 14129, i16 0, i16 0, i16 0, i16 14897, i16 0, i16 0, i16 0, i16 15665, i16 0, i16 16344, i16 16912, i16 15921, i16 16016, i16 14055, i16 13417, i16 16177, i16 0, i16 0, i16 14753, i16 818, i16 819, i16 820, i16 821, i16 1074, i16 1075, i16 1076, i16 1077, i16 15410, i16 15411, i16 15413, i16 15417, i16 16178, i16 14405, i16 0, i16 0, i16 16434, i16 15807, i16 15243, i16 0, i16 307, i16 308, i16 309, i16 310, i16 12339, i16 0, i16 0, i16 15839, i16 14131, i16 0, i16 0, i16 0, i16 14387, i16 0, i16 0, i16 0, i16 14643, i16 15448, i16 0, i16 0, i16 15155, i16 0, i16 0, i16 0, i16 15667, i16 0, i16 0, i16 0, i16 16435, i16 0, i16 0, i16 12749, i16 12596, i16 0, i16 0, i16 0, i16 13108, i16 13109, i16 13114, i16 13115, i16 13364, i16 14877, i16 0, i16 0, i16 14900, i16 0, i16 0, i16 0, i16 16436, i16 0, i16 0, i16 0, i16 53, i16 54, i16 55, i16 56, i16 12597, i16 0, i16 0, i16 16939, i16 13877, i16 0, i16 16491, i16 15185, i16 14901, i16 0, i16 0, i16 0, i16 16949, i16 0, i16 15802, i16 0, i16 566, i16 586, i16 587, i16 561, i16 822, i16 823, i16 824, i16 825, i16 1078, i16 1079, i16 1080, i16 1081, i16 14390, i16 0, i16 0, i16 0, i16 14902, i16 0, i16 0, i16 12930, i16 15158, i16 0, i16 12620, i16 15062, i16 15670, i16 0, i16 0, i16 0, i16 16438, i16 15340, i16 0, i16 16791, i16 311, i16 312, i16 313, i16 314, i16 13367, i16 16221, i16 16526, i16 0, i16 13879, i16 14764, i16 15132, i16 0, i16 15159, i16 15814, i16 0, i16 0, i16 15671, i16 0, i16 0, i16 16804, i16 16439, i16 13563, i16 0, i16 0, i16 16695, i16 0, i16 0, i16 0, i16 568, i16 590, i16 591, i16 563, i16 12600, i16 0, i16 0, i16 0, i16 13624, i16 0, i16 16032, i16 16310, i16 16440, i16 0, i16 12692, i16 13449, i16 16696, i16 0, i16 0, i16 14281, i16 16952, i16 16111, i16 0, i16 0, i16 57, i16 58, i16 59, i16 60, i16 13113, i16 0, i16 0, i16 0, i16 13881, i16 13940, i16 13941, i16 0, i16 15673, i16 16353, i16 0, i16 16691, i16 16441, i16 0, i16 12822, i16 15936, i16 16953, i16 16871, i16 15856, i16 12551, i16 826, i16 827, i16 828, i16 829, i16 1082, i16 1083, i16 1085, i16 1086, i16 14394, i16 15473, i16 0, i16 0, i16 15418, i16 15422, i16 15423, i16 15428, i16 16442, i16 0, i16 0, i16 0, i16 315, i16 316, i16 317, i16 318, i16 15931, i16 0, i16 14069, i16 0, i16 16187, i16 16188, i16 0, i16 0, i16 16699, i16 0, i16 0, i16 16698, i16 572, i16 594, i16 595, i16 562, i16 13116, i16 13117, i16 13118, i16 13119, i16 14908, i16 0, i16 0, i16 14194, i16 61, i16 62, i16 63, i16 64, i16 13629, i16 0, i16 0, i16 0, i16 574, i16 598, i16 599, i16 564, i16 830, i16 831, i16 832, i16 833, i16 12350, i16 0, i16 15031, i16 0, i16 12606, i16 13556, i16 14165, i16 0, i16 16190, i16 0, i16 0, i16 14219, i16 16446, i16 0, i16 0, i16 12529, i16 319, i16 320, i16 321, i16 322, i16 1087, i16 1088, i16 1089, i16 1090, i16 12863, i16 0, i16 0, i16 0, i16 14399, i16 0, i16 0, i16 15204, i16 14911, i16 14912, i16 14914, i16 14915, i16 14144, i16 13858, i16 0, i16 0, i16 14656, i16 0, i16 0, i16 0, i16 15424, i16 0, i16 0, i16 0, i16 16448, i16 14368, i16 17076, i16 12951, i16 65, i16 66, i16 67, i16 68, i16 12609, i16 0, i16 0, i16 0, i16 13121, i16 13122, i16 13292, i16 13314, i16 14657, i16 15421, i16 16239, i16 12586, i16 15169, i16 0, i16 0, i16 16147, i16 834, i16 835, i16 836, i16 837, i16 12354, i16 0, i16 16676, i16 14020, i16 13890, i16 0, i16 0, i16 0, i16 14402, i16 0, i16 15406, i16 0, i16 15426, i16 14351, i16 0, i16 0, i16 16450, i16 17137, i16 0, i16 0, i16 16706, i16 0, i16 0, i16 0, i16 323, i16 324, i16 325, i16 326, i16 1091, i16 1092, i16 1093, i16 1094, i16 12867, i16 0, i16 0, i16 0, i16 13123, i16 0, i16 13799, i16 13101, i16 13635, i16 0, i16 0, i16 0, i16 13891, i16 0, i16 0, i16 0, i16 14147, i16 0, i16 14148, i16 14149, i16 15939, i16 0, i16 14140, i16 13205, i16 16451, i16 0, i16 0, i16 0, i16 12356, i16 0, i16 0, i16 12804, i16 12612, i16 0, i16 0, i16 0, i16 12868, i16 0, i16 0, i16 0, i16 16708, i16 0, i16 0, i16 14124, i16 69, i16 70, i16 71, i16 72, i16 12357, i16 13758, i16 0, i16 17094, i16 838, i16 839, i16 840, i16 841, i16 12870, i16 12894, i16 12907, i16 12992, i16 14150, i16 0, i16 0, i16 13722, i16 14918, i16 14921, i16 14927, i16 14929, i16 16198, i16 0, i16 0, i16 0, i16 327, i16 328, i16 329, i16 330, i16 1095, i16 1096, i16 1097, i16 1098, i16 12871, i16 13304, i16 0, i16 0, i16 14151, i16 15380, i16 0, i16 16447, i16 14407, i16 0, i16 0, i16 0, i16 15431, i16 15432, i16 15433, i16 15434, i16 16199, i16 0, i16 16646, i16 12696, i16 16967, i16 0, i16 0, i16 0, i16 12360, i16 0, i16 0, i16 0, i16 12616, i16 0, i16 0, i16 0, i16 14152, i16 14254, i16 14256, i16 14275, i16 16200, i16 15023, i16 0, i16 0, i16 16968, i16 0, i16 0, i16 15490, i16 73, i16 74, i16 75, i16 76, i16 14409, i16 16493, i16 0, i16 12457, i16 16201, i16 0, i16 0, i16 12412, i16 842, i16 843, i16 844, i16 845, i16 13386, i16 0, i16 0, i16 0, i16 14410, i16 0, i16 0, i16 0, i16 15946, i16 0, i16 0, i16 0, i16 16458, i16 0, i16 0, i16 0, i16 331, i16 332, i16 333, i16 334, i16 1099, i16 1100, i16 1101, i16 1102, i16 13643, i16 0, i16 0, i16 0, i16 14667, i16 16229, i16 14220, i16 0, i16 16203, i16 0, i16 13697, i16 16959, i16 12876, i16 0, i16 14128, i16 0, i16 13644, i16 13645, i16 0, i16 0, i16 13900, i16 0, i16 0, i16 0, i16 14668, i16 15935, i16 0, i16 0, i16 15692, i16 0, i16 0, i16 0, i16 16460, i16 17118, i16 13652, i16 16277, i16 16716, i16 0, i16 0, i16 0, i16 16972, i16 13323, i16 0, i16 0, i16 77, i16 78, i16 79, i16 80, i16 13133, i16 0, i16 0, i16 0, i16 14413, i16 14238, i16 0, i16 0, i16 15437, i16 13403, i16 15831, i16 14474, i16 15693, i16 12584, i16 0, i16 14433, i16 846, i16 847, i16 848, i16 849, i16 12366, i16 0, i16 0, i16 0, i16 12622, i16 0, i16 0, i16 0, i16 14158, i16 0, i16 0, i16 0, i16 15182, i16 15183, i16 15189, i16 15191, i16 15438, i16 0, i16 15541, i16 0, i16 16718, i16 0, i16 0, i16 0, i16 335, i16 336, i16 337, i16 338, i16 1103, i16 1104, i16 1105, i16 1106, i16 16207, i16 13692, i16 0, i16 0, i16 16719, i16 16092, i16 0, i16 12318, i16 16975, i16 0, i16 16560, i16 0, i16 12368, i16 0, i16 14730, i16 16284, i16 12624, i16 13779, i16 0, i16 0, i16 12880, i16 0, i16 0, i16 0, i16 13648, i16 16754, i16 0, i16 0, i16 14672, i16 0, i16 0, i16 0, i16 14928, i16 0, i16 0, i16 0, i16 15440, i16 15484, i16 15485, i16 15488, i16 15952, i16 0, i16 0, i16 0, i16 81, i16 82, i16 83, i16 84, i16 12625, i16 0, i16 0, i16 0, i16 12881, i16 0, i16 0, i16 0, i16 13393, i16 15069, i16 0, i16 0, i16 13905, i16 0, i16 0, i16 0, i16 15441, i16 0, i16 12759, i16 15305, i16 15953, i16 15242, i16 0, i16 0, i16 850, i16 851, i16 0, i16 0, i16 12626, i16 0, i16 16516, i16 0, i16 13138, i16 0, i16 0, i16 0, i16 14930, i16 14931, i16 14933, i16 14937, i16 15954, i16 12429, i16 0, i16 0, i16 16978, i16 0, i16 12756, i16 0, i16 339, i16 340, i16 341, i16 342, i16 1107, i16 1108, i16 1109, i16 1110, i16 12371, i16 0, i16 0, i16 13280, i16 12883, i16 16244, i16 0, i16 14076, i16 852, i16 853, i16 854, i16 855, i16 85, i16 86, i16 87, i16 88, i16 13909, i16 0, i16 0, i16 0, i16 15190, i16 16683, i16 0, i16 0, i16 15446, i16 0, i16 0, i16 16364, i16 16726, i16 0, i16 15405, i16 0, i16 343, i16 344, i16 345, i16 346, i16 14167, i16 0, i16 0, i16 0, i16 16215, i16 0, i16 0, i16 16946, i16 856, i16 857, i16 858, i16 859, i16 12632, i16 0, i16 12954, i16 14051, i16 14680, i16 0, i16 0, i16 16133, i16 15192, i16 0, i16 0, i16 12731, i16 15704, i16 0, i16 0, i16 0, i16 13657, i16 0, i16 16746, i16 15249, i16 14169, i16 0, i16 0, i16 14941, i16 14681, i16 0, i16 0, i16 13062, i16 15193, i16 15196, i16 15203, i16 15208, i16 16217, i16 0, i16 0, i16 0, i16 602, i16 603, i16 575, i16 604, i16 12378, i16 0, i16 0, i16 0, i16 12634, i16 0, i16 0, i16 0, i16 13914, i16 0, i16 0, i16 0, i16 14938, i16 14942, i16 14950, i16 14952, i16 16218, i16 0, i16 15720, i16 15308, i16 16474, i16 0, i16 0, i16 0, i16 12635, i16 0, i16 15162, i16 0, i16 15195, i16 15117, i16 0, i16 0, i16 16219, i16 14723, i16 0, i16 14210, i16 16475, i16 16878, i16 0, i16 0, i16 16731, i16 13425, i16 13354, i16 0, i16 860, i16 861, i16 862, i16 863, i16 12636, i16 12671, i16 12843, i16 12848, i16 15452, i16 0, i16 0, i16 16113, i16 15964, i16 0, i16 0, i16 0, i16 16732, i16 15276, i16 0, i16 0, i16 93, i16 94, i16 95, i16 96, i16 605, i16 606, i16 607, i16 608, i16 12381, i16 0, i16 0, i16 0, i16 12637, i16 0, i16 0, i16 0, i16 15197, i16 0, i16 0, i16 0, i16 16989, i16 16604, i16 16529, i16 12685, i16 12382, i16 0, i16 0, i16 0, i16 13662, i16 17008, i16 17091, i16 15900, i16 15966, i16 0, i16 15965, i16 0, i16 16990, i16 0, i16 0, i16 15548, i16 351, i16 352, i16 353, i16 354, i16 12639, i16 13535, i16 16905, i16 0, i16 13407, i16 14189, i16 0, i16 0, i16 13919, i16 14215, i16 0, i16 0, i16 14175, i16 0, i16 16825, i16 0, i16 14687, i16 0, i16 15830, i16 17030, i16 16479, i16 0, i16 15951, i16 0, i16 864, i16 865, i16 866, i16 0, i16 12384, i16 15412, i16 14756, i16 0, i16 13152, i16 16096, i16 0, i16 0, i16 13408, i16 0, i16 0, i16 0, i16 13920, i16 0, i16 0, i16 0, i16 14688, i16 0, i16 0, i16 0, i16 16224, i16 0, i16 0, i16 0, i16 16480, i16 0, i16 0, i16 0, i16 16992, i16 0, i16 0, i16 0, i16 97, i16 98, i16 99, i16 100, i16 609, i16 610, i16 611, i16 565, i16 12385, i16 15963, i16 0, i16 0, i16 13153, i16 15352, i16 0, i16 0, i16 14177, i16 16622, i16 0, i16 0, i16 15201, i16 13463, i16 0, i16 12601, i16 16481, i16 0, i16 16100, i16 14801, i16 16737, i16 14119, i16 13491, i16 15570, i16 12642, i16 15578, i16 0, i16 15586, i16 14178, i16 0, i16 0, i16 0, i16 14434, i16 0, i16 12816, i16 0, i16 15202, i16 12458, i16 0, i16 0, i16 15714, i16 0, i16 0, i16 0, i16 16738, i16 17040, i16 0, i16 13241, i16 355, i16 356, i16 357, i16 358, i16 14691, i16 0, i16 13169, i16 0, i16 14947, i16 0, i16 0, i16 15534, i16 12644, i16 0, i16 16786, i16 0, i16 12900, i16 14153, i16 16593, i16 0, i16 13668, i16 0, i16 16247, i16 0, i16 101, i16 102, i16 103, i16 104, i16 13157, i16 0, i16 0, i16 0, i16 13413, i16 0, i16 0, i16 0, i16 14181, i16 0, i16 0, i16 0, i16 14437, i16 14744, i16 12562, i16 0, i16 14949, i16 14462, i16 12293, i16 0, i16 16485, i16 0, i16 0, i16 0, i16 16997, i16 13129, i16 0, i16 15959, i16 870, i16 0, i16 0, i16 0, i16 13670, i16 12405, i16 0, i16 0, i16 13926, i16 0, i16 16547, i16 0, i16 15206, i16 0, i16 0, i16 0, i16 16742, i16 0, i16 15362, i16 0, i16 359, i16 360, i16 361, i16 362, i16 13671, i16 0, i16 0, i16 16700, i16 14695, i16 0, i16 14197, i16 0, i16 16231, i16 0, i16 0, i16 15711, i16 16743, i16 0, i16 0, i16 0, i16 16999, i16 12558, i16 0, i16 0, i16 616, i16 622, i16 623, i16 624, i16 13928, i16 13929, i16 0, i16 0, i16 15464, i16 16002, i16 0, i16 0, i16 15976, i16 0, i16 0, i16 16852, i16 16232, i16 0, i16 16003, i16 0, i16 16744, i16 0, i16 14502, i16 13911, i16 105, i16 106, i16 107, i16 108, i16 617, i16 675, i16 690, i16 283, i16 14953, i16 14956, i16 14964, i16 14968, i16 15209, i16 13666, i16 16813, i16 14575, i16 15465, i16 0, i16 0, i16 0, i16 15721, i16 0, i16 0, i16 0, i16 16489, i16 13095, i16 0, i16 14300, i16 16745, i16 0, i16 0, i16 0, i16 14954, i16 0, i16 0, i16 0, i16 363, i16 364, i16 365, i16 366, i16 619, i16 620, i16 621, i16 640, i16 875, i16 0, i16 0, i16 0, i16 12395, i16 0, i16 0, i16 0, i16 13163, i16 0, i16 13604, i16 0, i16 13931, i16 0, i16 16865, i16 13665, i16 14699, i16 0, i16 0, i16 0, i16 15723, i16 0, i16 0, i16 0, i16 16747, i16 15442, i16 12315, i16 0, i16 14444, i16 0, i16 14347, i16 0, i16 14700, i16 15223, i16 0, i16 0, i16 15468, i16 0, i16 0, i16 0, i16 15724, i16 0, i16 0, i16 0, i16 16236, i16 0, i16 12512, i16 16144, i16 109, i16 110, i16 111, i16 112, i16 14701, i16 0, i16 12413, i16 15310, i16 15213, i16 0, i16 0, i16 16807, i16 15981, i16 0, i16 0, i16 14611, i16 12398, i16 0, i16 13810, i16 0, i16 13422, i16 0, i16 0, i16 0, i16 13678, i16 16641, i16 15345, i16 0, i16 14702, i16 0, i16 0, i16 0, i16 15726, i16 0, i16 12419, i16 17035, i16 16238, i16 0, i16 14062, i16 0, i16 367, i16 368, i16 369, i16 370, i16 879, i16 880, i16 881, i16 882, i16 12399, i16 15153, i16 0, i16 0, i16 13423, i16 0, i16 0, i16 17122, i16 14191, i16 0, i16 16427, i16 0, i16 14703, i16 13623, i16 0, i16 16506, i16 15983, i16 15729, i16 0, i16 0, i16 16495, i16 0, i16 16714, i16 0, i16 12656, i16 0, i16 13762, i16 0, i16 13936, i16 0, i16 0, i16 12284, i16 14448, i16 12575, i16 0, i16 13776, i16 14704, i16 0, i16 13229, i16 15194, i16 113, i16 114, i16 115, i16 116, i16 625, i16 626, i16 627, i16 628, i16 12657, i16 16053, i16 0, i16 0, i16 15985, i16 0, i16 16183, i16 13515, i16 17009, i16 0, i16 14554, i16 0, i16 12658, i16 0, i16 0, i16 0, i16 15474, i16 0, i16 16770, i16 0, i16 16498, i16 15164, i16 0, i16 0, i16 17010, i16 0, i16 13788, i16 13789, i16 371, i16 372, i16 373, i16 374, i16 883, i16 884, i16 885, i16 886, i16 14963, i16 15898, i16 0, i16 0, i16 16755, i16 0, i16 0, i16 0, i16 17011, i16 0, i16 0, i16 15514, i16 12404, i16 0, i16 0, i16 0, i16 12916, i16 0, i16 0, i16 14195, i16 16500, i16 0, i16 14290, i16 0, i16 117, i16 118, i16 119, i16 120, i16 629, i16 630, i16 631, i16 618, i16 13173, i16 0, i16 16230, i16 0, i16 13685, i16 13795, i16 16412, i16 0, i16 16245, i16 0, i16 16891, i16 0, i16 16501, i16 0, i16 0, i16 0, i16 12918, i16 0, i16 0, i16 0, i16 13686, i16 0, i16 0, i16 0, i16 13942, i16 13667, i16 0, i16 0, i16 14198, i16 12283, i16 0, i16 0, i16 14710, i16 0, i16 0, i16 0, i16 15478, i16 0, i16 15445, i16 15918, i16 16246, i16 16210, i16 13864, i16 0, i16 16758, i16 0, i16 0, i16 0, i16 375, i16 376, i16 377, i16 378, i16 887, i16 888, i16 889, i16 890, i16 12663, i16 0, i16 0, i16 0, i16 13431, i16 15482, i16 0, i16 0, i16 13687, i16 0, i16 0, i16 0, i16 15479, i16 0, i16 0, i16 0, i16 15735, i16 0, i16 14247, i16 0, i16 15991, i16 0, i16 0, i16 12861, i16 16503, i16 0, i16 0, i16 0, i16 13176, i16 0, i16 0, i16 0, i16 14456, i16 0, i16 0, i16 14707, i16 15224, i16 0, i16 0, i16 0, i16 16248, i16 0, i16 0, i16 0, i16 121, i16 122, i16 123, i16 124, i16 13689, i16 0, i16 0, i16 15343, i16 15481, i16 0, i16 15241, i16 0, i16 16761, i16 15321, i16 0, i16 0, i16 13178, i16 0, i16 16356, i16 0, i16 13946, i16 14970, i16 0, i16 0, i16 14458, i16 0, i16 0, i16 15513, i16 379, i16 380, i16 224, i16 0, i16 891, i16 892, i16 893, i16 894, i16 12923, i16 0, i16 0, i16 0, i16 14203, i16 0, i16 0, i16 0, i16 14459, i16 16609, i16 0, i16 12288, i16 14971, i16 14974, i16 14977, i16 14979, i16 15227, i16 17075, i16 14960, i16 0, i16 17019, i16 12410, i16 0, i16 0, i16 12668, i16 0, i16 12416, i16 0, i16 12924, i16 0, i16 0, i16 16146, i16 13948, i16 13979, i16 14073, i16 14121, i16 16764, i16 0, i16 0, i16 0, i16 17020, i16 0, i16 0, i16 0, i16 125, i16 126, i16 127, i16 132, i16 637, i16 638, i16 671, i16 672, i16 12925, i16 0, i16 0, i16 17153, i16 13437, i16 14216, i16 0, i16 0, i16 15997, i16 0, i16 0, i16 0, i16 16253, i16 17110, i16 16998, i16 0, i16 17021, i16 14028, i16 14602, i16 0, i16 12414, i16 0, i16 0, i16 15940, i16 13182, i16 0, i16 0, i16 0, i16 15230, i16 0, i16 0, i16 0, i16 15998, i16 13078, i16 12795, i16 0, i16 639, i16 688, i16 632, i16 0, i16 895, i16 896, i16 897, i16 898, i16 15487, i16 0, i16 16117, i16 0, i16 16511, i16 0, i16 13967, i16 0, i16 12672, i16 0, i16 0, i16 0, i16 12928, i16 0, i16 0, i16 0, i16 13952, i16 0, i16 0, i16 14693, i16 14720, i16 15363, i16 17000, i16 0, i16 15232, i16 0, i16 0, i16 14017, i16 17024, i16 0, i16 0, i16 0, i16 385, i16 386, i16 387, i16 388, i16 641, i16 680, i16 681, i16 682, i16 12673, i16 15969, i16 15810, i16 15142, i16 12929, i16 14360, i16 15168, i16 0, i16 13953, i16 17120, i16 0, i16 0, i16 15233, i16 0, i16 0, i16 0, i16 15745, i16 13371, i16 15358, i16 16608, i16 16513, i16 0, i16 0, i16 0, i16 16769, i16 0, i16 14392, i16 0, i16 17025, i16 0, i16 0, i16 0, i16 642, i16 643, i16 644, i16 645, i16 12674, i16 0, i16 13497, i16 16005, i16 13186, i16 0, i16 0, i16 0, i16 14466, i16 16629, i16 0, i16 0, i16 15746, i16 0, i16 0, i16 0, i16 131, i16 0, i16 693, i16 0, i16 899, i16 900, i16 901, i16 902, i16 13955, i16 0, i16 14350, i16 0, i16 15235, i16 14924, i16 0, i16 0, i16 16259, i16 0, i16 12776, i16 15255, i16 16771, i16 0, i16 0, i16 0, i16 17027, i16 0, i16 0, i16 0, i16 12932, i16 15535, i16 13829, i16 12760, i16 13188, i16 0, i16 0, i16 16888, i16 13444, i16 0, i16 0, i16 0, i16 14212, i16 0, i16 0, i16 15638, i16 14468, i16 0, i16 15186, i16 13221, i16 16004, i16 0, i16 0, i16 13654, i16 389, i16 390, i16 391, i16 392, i16 12933, i16 15624, i16 0, i16 0, i16 15493, i16 15494, i16 15495, i16 15496, i16 16517, i16 0, i16 12390, i16 0, i16 646, i16 647, i16 648, i16 649, i16 12678, i16 0, i16 0, i16 0, i16 13446, i16 0, i16 0, i16 0, i16 14982, i16 14983, i16 14984, i16 14986, i16 15238, i16 0, i16 14524, i16 0, i16 15750, i16 0, i16 14589, i16 0, i16 16774, i16 12986, i16 15718, i16 0, i16 903, i16 904, i16 905, i16 906, i16 13447, i16 0, i16 0, i16 0, i16 14471, i16 12595, i16 16282, i16 14959, i16 15751, i16 0, i16 14208, i16 0, i16 16263, i16 0, i16 14091, i16 0, i16 16775, i16 15669, i16 0, i16 0, i16 136, i16 348, i16 349, i16 350, i16 12424, i16 12430, i16 12447, i16 12611, i16 12680, i16 0, i16 16168, i16 0, i16 14472, i16 14429, i16 0, i16 0, i16 15240, i16 15283, i16 15323, i16 15359, i16 15752, i16 15337, i16 15932, i16 14724, i16 16264, i16 0, i16 0, i16 0, i16 16520, i16 0, i16 0, i16 0, i16 137, i16 203, i16 0, i16 0, i16 393, i16 394, i16 395, i16 396, i16 12937, i16 15537, i16 0, i16 0, i16 14217, i16 0, i16 0, i16 0, i16 16777, i16 0, i16 0, i16 0, i16 17033, i16 0, i16 15761, i16 0, i16 138, i16 139, i16 0, i16 0, i16 650, i16 651, i16 657, i16 658, i16 12682, i16 0, i16 0, i16 0, i16 12938, i16 0, i16 0, i16 0, i16 14218, i16 0, i16 0, i16 16130, i16 16778, i16 13956, i16 0, i16 0, i16 17034, i16 0, i16 13841, i16 12533, i16 907, i16 908, i16 909, i16 910, i16 12427, i16 0, i16 0, i16 0, i16 13195, i16 0, i16 16922, i16 0, i16 13707, i16 0, i16 0, i16 0, i16 14475, i16 0, i16 0, i16 0, i16 15499, i16 15502, i16 15504, i16 15510, i16 16011, i16 0, i16 0, i16 16509, i16 16779, i16 12836, i16 16582, i16 0, i16 140, i16 141, i16 0, i16 0, i16 652, i16 653, i16 654, i16 655, i16 12684, i16 0, i16 0, i16 0, i16 13452, i16 12433, i16 0, i16 0, i16 13708, i16 0, i16 14987, i16 0, i16 13964, i16 0, i16 15770, i16 16631, i16 14988, i16 14989, i16 14990, i16 14993, i16 15500, i16 0, i16 0, i16 0, i16 15756, i16 17160, i16 0, i16 0, i16 16012, i16 0, i16 0, i16 0, i16 16780, i16 14427, i16 14651, i16 16249, i16 397, i16 398, i16 399, i16 400, i16 14733, i16 15528, i16 0, i16 0, i16 15245, i16 16145, i16 12910, i16 15246, i16 142, i16 143, i16 0, i16 0, i16 12686, i16 0, i16 0, i16 0, i16 16270, i16 15176, i16 16407, i16 0, i16 911, i16 912, i16 913, i16 914, i16 12687, i16 0, i16 0, i16 0, i16 13455, i16 13547, i16 13572, i16 13917, i16 15759, i16 0, i16 0, i16 0, i16 16527, i16 13808, i16 0, i16 12337, i16 144, i16 145, i16 146, i16 147, i16 656, i16 0, i16 0, i16 0, i16 13200, i16 0, i16 0, i16 14170, i16 13456, i16 0, i16 0, i16 0, i16 401, i16 402, i16 403, i16 404, i16 12945, i16 13998, i16 0, i16 0, i16 13457, i16 16256, i16 0, i16 16553, i16 13969, i16 13521, i16 0, i16 0, i16 15505, i16 0, i16 0, i16 0, i16 12434, i16 0, i16 15058, i16 13539, i16 12690, i16 14684, i16 12987, i16 16033, i16 14482, i16 0, i16 0, i16 0, i16 15250, i16 0, i16 0, i16 0, i16 15762, i16 14596, i16 16510, i16 0, i16 16274, i16 13878, i16 0, i16 0, i16 16530, i16 0, i16 0, i16 13211, i16 659, i16 660, i16 661, i16 662, i16 915, i16 916, i16 917, i16 918, i16 13971, i16 0, i16 12440, i16 0, i16 14739, i16 0, i16 0, i16 0, i16 14995, i16 14996, i16 14999, i16 15000, i16 15507, i16 14598, i16 14237, i16 15914, i16 15763, i16 15390, i16 12379, i16 14705, i16 16275, i16 0, i16 0, i16 0, i16 148, i16 149, i16 150, i16 151, i16 13460, i16 0, i16 16753, i16 15034, i16 13716, i16 13717, i16 15801, i16 0, i16 14484, i16 13903, i16 14323, i16 0, i16 15764, i16 0, i16 15835, i16 0, i16 16276, i16 16223, i16 0, i16 0, i16 405, i16 406, i16 407, i16 408, i16 12437, i16 0, i16 0, i16 13759, i16 13461, i16 0, i16 0, i16 0, i16 15253, i16 0, i16 0, i16 0, i16 14486, i16 15451, i16 0, i16 16104, i16 663, i16 664, i16 665, i16 666, i16 919, i16 920, i16 921, i16 922, i16 13207, i16 0, i16 0, i16 15529, i16 13719, i16 12365, i16 16469, i16 15002, i16 14231, i16 12961, i16 0, i16 0, i16 14743, i16 0, i16 0, i16 0, i16 15511, i16 15515, i16 15516, i16 15519, i16 15767, i16 14614, i16 0, i16 13954, i16 152, i16 153, i16 0, i16 199, i16 12952, i16 0, i16 0, i16 0, i16 13208, i16 0, i16 0, i16 0, i16 14232, i16 0, i16 0, i16 0, i16 15256, i16 13725, i16 0, i16 16406, i16 16792, i16 0, i16 12502, i16 0, i16 17048, i16 0, i16 16613, i16 0, i16 409, i16 410, i16 411, i16 412, i16 12697, i16 0, i16 0, i16 0, i16 13465, i16 0, i16 15265, i16 16948, i16 14489, i16 0, i16 12306, i16 0, i16 15001, i16 15003, i16 15009, i16 15014, i16 12442, i16 13226, i16 0, i16 14226, i16 12698, i16 15313, i16 0, i16 17014, i16 15258, i16 0, i16 0, i16 0, i16 16538, i16 13681, i16 16557, i16 0, i16 667, i16 612, i16 613, i16 614, i16 923, i16 924, i16 925, i16 926, i16 12443, i16 16521, i16 0, i16 16894, i16 16539, i16 16116, i16 14202, i16 15247, i16 16795, i16 16796, i16 16864, i16 16991, i16 17052, i16 0, i16 0, i16 0, i16 157, i16 177, i16 0, i16 0, i16 413, i16 414, i16 415, i16 416, i16 669, i16 670, i16 285, i16 687, i16 12957, i16 0, i16 12393, i16 0, i16 13213, i16 0, i16 13510, i16 0, i16 15005, i16 0, i16 0, i16 0, i16 15517, i16 0, i16 0, i16 0, i16 16541, i16 15492, i16 0, i16 0, i16 158, i16 159, i16 0, i16 0, i16 12702, i16 16396, i16 16565, i16 0, i16 13726, i16 0, i16 15904, i16 0, i16 15006, i16 0, i16 0, i16 13595, i16 15518, i16 0, i16 0, i16 0, i16 927, i16 928, i16 929, i16 930, i16 13983, i16 0, i16 0, i16 0, i16 16287, i16 0, i16 0, i16 0, i16 17055, i16 0, i16 0, i16 0, i16 13472, i16 14810, i16 14523, i16 0, i16 15520, i16 15531, i16 15539, i16 15540, i16 16544, i16 0, i16 12913, i16 0, i16 161, i16 205, i16 0, i16 0, i16 417, i16 418, i16 419, i16 420, i16 673, i16 633, i16 634, i16 635, i16 13729, i16 14746, i16 0, i16 15579, i16 14497, i16 0, i16 0, i16 13296, i16 16545, i16 0, i16 0, i16 15030, i16 162, i16 154, i16 868, i16 869, i16 12450, i16 0, i16 0, i16 0, i16 13218, i16 16234, i16 0, i16 0, i16 13474, i16 0, i16 15986, i16 0, i16 931, i16 932, i16 933, i16 934, i16 12963, i16 16061, i16 0, i16 0, i16 13731, i16 14781, i16 15351, i16 0, i16 14243, i16 0, i16 0, i16 0, i16 17059, i16 15542, i16 13128, i16 0, i16 13476, i16 0, i16 0, i16 0, i16 13732, i16 0, i16 0, i16 15733, i16 15524, i16 0, i16 13441, i16 0, i16 16548, i16 16337, i16 0, i16 13756, i16 17060, i16 0, i16 0, i16 0, i16 421, i16 422, i16 423, i16 424, i16 12709, i16 0, i16 0, i16 0, i16 13733, i16 0, i16 0, i16 0, i16 13989, i16 0, i16 0, i16 0, i16 14501, i16 0, i16 0, i16 15771, i16 15013, i16 0, i16 13401, i16 13158, i16 15525, i16 0, i16 0, i16 0, i16 16805, i16 15459, i16 15096, i16 13761, i16 17061, i16 0, i16 14417, i16 0, i16 12966, i16 0, i16 15984, i16 0, i16 13734, i16 0, i16 13803, i16 13637, i16 14246, i16 0, i16 14315, i16 0, i16 16038, i16 0, i16 0, i16 14842, i16 16550, i16 12792, i16 0, i16 0, i16 17062, i16 0, i16 0, i16 15604, i16 167, i16 168, i16 218, i16 381, i16 935, i16 936, i16 937, i16 938, i16 13735, i16 0, i16 13742, i16 13171, i16 14759, i16 16681, i16 0, i16 13892, i16 15271, i16 15272, i16 14418, i16 0, i16 12968, i16 0, i16 14867, i16 0, i16 16040, i16 0, i16 16175, i16 0, i16 16552, i16 16563, i16 16665, i16 16686, i16 425, i16 426, i16 427, i16 428, i16 13225, i16 15942, i16 13512, i16 0, i16 13481, i16 0, i16 0, i16 0, i16 15017, i16 15018, i16 15020, i16 15021, i16 15785, i16 0, i16 0, i16 16662, i16 16297, i16 0, i16 0, i16 0, i16 12714, i16 0, i16 12438, i16 16242, i16 14250, i16 16679, i16 14694, i16 0, i16 15530, i16 15333, i16 0, i16 0, i16 16298, i16 15512, i16 0, i16 13777, i16 16554, i16 0, i16 0, i16 13450, i16 171, i16 0, i16 170, i16 0, i16 683, i16 676, i16 677, i16 678, i16 939, i16 940, i16 941, i16 942, i16 12459, i16 16235, i16 0, i16 0, i16 12715, i16 0, i16 0, i16 0, i16 12971, i16 0, i16 0, i16 0, i16 13227, i16 0, i16 0, i16 0, i16 15787, i16 0, i16 0, i16 0, i16 17067, i16 0, i16 0, i16 0, i16 172, i16 0, i16 0, i16 0, i16 12972, i16 0, i16 0, i16 15139, i16 13228, i16 0, i16 0, i16 0, i16 14508, i16 0, i16 13704, i16 0, i16 16044, i16 0, i16 0, i16 0, i16 16556, i16 0, i16 0, i16 0, i16 429, i16 430, i16 431, i16 432, i16 685, i16 0, i16 0, i16 686, i16 13485, i16 0, i16 0, i16 0, i16 13997, i16 0, i16 0, i16 0, i16 14509, i16 13175, i16 16316, i16 0, i16 15533, i16 0, i16 0, i16 0, i16 15789, i16 17036, i16 0, i16 0, i16 16045, i16 0, i16 16600, i16 0, i16 16301, i16 0, i16 15820, i16 12844, i16 12718, i16 16063, i16 12914, i16 14117, i16 12974, i16 0, i16 16705, i16 0, i16 13230, i16 0, i16 15623, i16 13677, i16 14766, i16 0, i16 0, i16 0, i16 15022, i16 0, i16 13436, i16 0, i16 15278, i16 0, i16 14272, i16 0, i16 16302, i16 14904, i16 16258, i16 16283, i16 16558, i16 16824, i16 0, i16 0, i16 943, i16 944, i16 945, i16 946, i16 14255, i16 16131, i16 0, i16 13355, i16 15791, i16 0, i16 0, i16 0, i16 16815, i16 0, i16 0, i16 0, i16 17071, i16 0, i16 0, i16 0, i16 13488, i16 0, i16 0, i16 0, i16 14768, i16 0, i16 14039, i16 0, i16 15024, i16 15039, i16 15041, i16 15046, i16 433, i16 434, i16 435, i16 436, i16 689, i16 684, i16 0, i16 0, i16 12465, i16 13274, i16 0, i16 13752, i16 12721, i16 16798, i16 14932, i16 0, i16 12977, i16 0, i16 12908, i16 0, i16 14257, i16 14133, i16 0, i16 0, i16 15025, i16 0, i16 0, i16 0, i16 16817, i16 12884, i16 0, i16 0, i16 12466, i16 16789, i16 12563, i16 13222, i16 13234, i16 0, i16 0, i16 0, i16 15794, i16 0, i16 0, i16 0, i16 947, i16 948, i16 949, i16 950, i16 12723, i16 0, i16 0, i16 0, i16 14771, i16 0, i16 13435, i16 0, i16 16051, i16 15890, i16 0, i16 0, i16 16819, i16 12329, i16 0, i16 17001, i16 692, i16 0, i16 0, i16 0, i16 12724, i16 0, i16 13132, i16 0, i16 15796, i16 0, i16 0, i16 0, i16 16308, i16 16502, i16 16504, i16 16536, i16 437, i16 438, i16 439, i16 440, i16 12725, i16 0, i16 0, i16 0, i16 13493, i16 0, i16 0, i16 0, i16 14005, i16 0, i16 0, i16 0, i16 15029, i16 0, i16 0, i16 0, i16 12726, i16 0, i16 15184, i16 0, i16 13238, i16 16154, i16 16911, i16 0, i16 14006, i16 0, i16 0, i16 0, i16 14774, i16 0, i16 0, i16 0, i16 15286, i16 0, i16 0, i16 0, i16 16822, i16 14980, i16 0, i16 0, i16 17078, i16 0, i16 0, i16 0, i16 951, i16 952, i16 953, i16 954, i16 12471, i16 0, i16 0, i16 12778, i16 13751, i16 0, i16 16204, i16 0, i16 14519, i16 0, i16 0, i16 0, i16 14775, i16 0, i16 0, i16 0, i16 15543, i16 15546, i16 15549, i16 15550, i16 12472, i16 16606, i16 14284, i16 0, i16 13240, i16 12549, i16 0, i16 13294, i16 15288, i16 0, i16 0, i16 0, i16 16056, i16 0, i16 0, i16 0, i16 441, i16 442, i16 443, i16 444, i16 12473, i16 0, i16 0, i16 0, i16 14521, i16 14717, i16 14727, i16 14735, i16 15289, i16 12888, i16 0, i16 16378, i16 16313, i16 13827, i16 0, i16 14976, i16 16569, i16 16206, i16 0, i16 0, i16 698, i16 0, i16 0, i16 0, i16 14266, i16 0, i16 0, i16 0, i16 14778, i16 0, i16 0, i16 0, i16 16058, i16 0, i16 0, i16 0, i16 955, i16 956, i16 957, i16 958, i16 14267, i16 0, i16 0, i16 0, i16 12988, i16 0, i16 0, i16 0, i16 14268, i16 0, i16 13468, i16 0, i16 15036, i16 0, i16 0, i16 0, i16 16572, i16 14518, i16 12691, i16 13239, i16 189, i16 188, i16 0, i16 253, i16 445, i16 446, i16 447, i16 448, i16 12477, i16 15331, i16 0, i16 0, i16 13245, i16 0, i16 0, i16 0, i16 13757, i16 0, i16 0, i16 14374, i16 14525, i16 0, i16 13038, i16 0, i16 16317, i16 0, i16 0, i16 0, i16 17085, i16 0, i16 15086, i16 0, i16 15038, i16 0, i16 17064, i16 0, i16 15806, i16 0, i16 0, i16 0, i16 16574, i16 0, i16 0, i16 0, i16 14783, i16 0, i16 0, i16 0, i16 15551, i16 15803, i16 0, i16 16468, i16 704, i16 705, i16 706, i16 707, i16 13248, i16 14745, i16 0, i16 15254, i16 13504, i16 0, i16 0, i16 0, i16 14016, i16 15498, i16 16826, i16 0, i16 15808, i16 0, i16 12581, i16 0, i16 16320, i16 0, i16 0, i16 0, i16 16576, i16 0, i16 0, i16 0, i16 193, i16 192, i16 0, i16 0, i16 449, i16 450, i16 451, i16 452, i16 12481, i16 15674, i16 0, i16 0, i16 12737, i16 0, i16 0, i16 16125, i16 12993, i16 12996, i16 12999, i16 13000, i16 13505, i16 12448, i16 0, i16 16713, i16 15297, i16 15282, i16 16915, i16 0, i16 16321, i16 0, i16 0, i16 0, i16 17089, i16 0, i16 0, i16 0, i16 962, i16 963, i16 964, i16 965, i16 12482, i16 0, i16 0, i16 0, i16 12994, i16 0, i16 0, i16 14948, i16 13250, i16 0, i16 17056, i16 0, i16 15042, i16 0, i16 0, i16 0, i16 16322, i16 0, i16 0, i16 0, i16 195, i16 196, i16 194, i16 197, i16 12483, i16 16508, i16 13428, i16 13090, i16 14019, i16 15663, i16 0, i16 14242, i16 15043, i16 0, i16 15522, i16 0, i16 15299, i16 14752, i16 16138, i16 12614, i16 15811, i16 0, i16 0, i16 0, i16 708, i16 709, i16 710, i16 711, i16 12484, i16 0, i16 13845, i16 0, i16 13508, i16 12695, i16 0, i16 0, i16 453, i16 454, i16 455, i16 456, i16 13253, i16 0, i16 0, i16 0, i16 13765, i16 0, i16 0, i16 12940, i16 14021, i16 0, i16 0, i16 0, i16 14789, i16 0, i16 12336, i16 0, i16 15557, i16 0, i16 0, i16 0, i16 16069, i16 0, i16 14166, i16 0, i16 198, i16 271, i16 274, i16 272, i16 966, i16 967, i16 968, i16 969, i16 12486, i16 15292, i16 0, i16 0, i16 14022, i16 12548, i16 0, i16 0, i16 14534, i16 14770, i16 0, i16 14512, i16 14790, i16 0, i16 0, i16 0, i16 15558, i16 0, i16 0, i16 0, i16 16070, i16 15545, i16 0, i16 0, i16 13255, i16 0, i16 0, i16 0, i16 15047, i16 15051, i16 15053, i16 15055, i16 16071, i16 16132, i16 16153, i16 16237, i16 712, i16 713, i16 714, i16 715, i16 14280, i16 0, i16 15295, i16 0, i16 14536, i16 0, i16 0, i16 0, i16 16072, i16 16419, i16 0, i16 15427, i16 17096, i16 0, i16 0, i16 0, i16 457, i16 458, i16 459, i16 460, i16 12489, i16 0, i16 0, i16 13963, i16 13001, i16 13002, i16 13003, i16 13004, i16 14025, i16 0, i16 0, i16 0, i16 14793, i16 16370, i16 0, i16 0, i16 15049, i16 0, i16 14621, i16 15073, i16 15561, i16 0, i16 0, i16 15636, i16 16585, i16 0, i16 0, i16 16785, i16 970, i16 971, i16 972, i16 973, i16 12490, i16 0, i16 0, i16 0, i16 12746, i16 13990, i16 0, i16 0, i16 14026, i16 0, i16 13980, i16 0, i16 15818, i16 15722, i16 0, i16 14075, i16 17098, i16 0, i16 0, i16 0, i16 14795, i16 0, i16 0, i16 0, i16 15307, i16 0, i16 0, i16 0, i16 15819, i16 0, i16 0, i16 15927, i16 16075, i16 0, i16 0, i16 0, i16 716, i16 717, i16 718, i16 719, i16 14796, i16 0, i16 16022, i16 0, i16 15052, i16 0, i16 13418, i16 12665, i16 16844, i16 0, i16 0, i16 0, i16 461, i16 462, i16 463, i16 464, i16 13261, i16 0, i16 0, i16 0, i16 14541, i16 13220, i16 0, i16 0, i16 15309, i16 0, i16 12712, i16 0, i16 15565, i16 15566, i16 15568, i16 15573, i16 15821, i16 0, i16 16052, i16 0, i16 17101, i16 0, i16 0, i16 0, i16 974, i16 975, i16 976, i16 977, i16 13006, i16 13007, i16 13008, i16 13009, i16 13518, i16 0, i16 0, i16 14415, i16 14542, i16 0, i16 0, i16 0, i16 16078, i16 14393, i16 0, i16 0, i16 207, i16 0, i16 235, i16 0, i16 12495, i16 0, i16 0, i16 16950, i16 13519, i16 0, i16 0, i16 0, i16 15311, i16 0, i16 14830, i16 14282, i16 15567, i16 0, i16 0, i16 16619, i16 15823, i16 0, i16 0, i16 16027, i16 16847, i16 0, i16 0, i16 14496, i16 17103, i16 17115, i16 0, i16 0, i16 208, i16 0, i16 0, i16 209, i16 720, i16 721, i16 722, i16 723, i16 14544, i16 0, i16 0, i16 0, i16 15056, i16 15059, i16 15071, i16 15076, i16 16336, i16 0, i16 0, i16 0, i16 16592, i16 15685, i16 0, i16 0, i16 16848, i16 0, i16 13214, i16 0, i16 17104, i16 14273, i16 14711, i16 0, i16 465, i16 466, i16 467, i16 468, i16 12753, i16 14734, i16 0, i16 16252, i16 14033, i16 0, i16 0, i16 15601, i16 16081, i16 0, i16 0, i16 0, i16 978, i16 979, i16 980, i16 981, i16 13010, i16 13012, i16 13013, i16 13014, i16 15826, i16 16028, i16 12772, i16 0, i16 16594, i16 0, i16 0, i16 0, i16 16850, i16 0, i16 16189, i16 0, i16 17106, i16 0, i16 0, i16 12294, i16 14547, i16 0, i16 0, i16 14190, i16 15315, i16 0, i16 0, i16 0, i16 15827, i16 0, i16 0, i16 12830, i16 724, i16 725, i16 726, i16 727, i16 12500, i16 0, i16 0, i16 16134, i16 13524, i16 0, i16 0, i16 0, i16 13780, i16 13256, i16 0, i16 0, i16 14804, i16 16701, i16 0, i16 0, i16 15060, i16 0, i16 12324, i16 0, i16 15316, i16 0, i16 15341, i16 0, i16 15572, i16 0, i16 0, i16 14646, i16 15828, i16 0, i16 13541, i16 15450, i16 469, i16 470, i16 471, i16 472, i16 12501, i16 0, i16 0, i16 0, i16 12757, i16 0, i16 0, i16 14292, i16 13269, i16 0, i16 0, i16 0, i16 13781, i16 0, i16 0, i16 13202, i16 14293, i16 0, i16 0, i16 14850, i16 982, i16 983, i16 984, i16 985, i16 13526, i16 12773, i16 0, i16 13700, i16 15574, i16 15575, i16 15650, i16 15725, i16 16854, i16 0, i16 15593, i16 14511, i16 13015, i16 13017, i16 13019, i16 13020, i16 14295, i16 0, i16 0, i16 0, i16 16599, i16 13986, i16 0, i16 0, i16 728, i16 729, i16 730, i16 731, i16 12504, i16 0, i16 0, i16 0, i16 13272, i16 13695, i16 17084, i16 13561, i16 14040, i16 16182, i16 16408, i16 0, i16 14296, i16 0, i16 0, i16 0, i16 14552, i16 0, i16 13151, i16 16838, i16 217, i16 215, i16 214, i16 206, i16 473, i16 474, i16 475, i16 0, i16 13529, i16 0, i16 15231, i16 0, i16 16089, i16 0, i16 16543, i16 0, i16 986, i16 987, i16 988, i16 989, i16 12762, i16 0, i16 0, i16 12667, i16 14042, i16 0, i16 14899, i16 0, i16 14298, i16 0, i16 0, i16 0, i16 15322, i16 14491, i16 0, i16 12496, i16 16602, i16 0, i16 0, i16 0, i16 12763, i16 0, i16 0, i16 15467, i16 13275, i16 14301, i16 0, i16 17006, i16 13531, i16 0, i16 14555, i16 0, i16 220, i16 0, i16 0, i16 0, i16 476, i16 477, i16 478, i16 479, i16 732, i16 733, i16 734, i16 735, i16 12764, i16 15934, i16 0, i16 16323, i16 14812, i16 12878, i16 0, i16 15877, i16 15580, i16 14196, i16 16484, i16 15632, i16 221, i16 0, i16 175, i16 222, i16 12509, i16 0, i16 0, i16 0, i16 13533, i16 0, i16 0, i16 0, i16 14557, i16 14233, i16 0, i16 0, i16 14813, i16 0, i16 0, i16 0, i16 15325, i16 0, i16 15780, i16 0, i16 16093, i16 16897, i16 13603, i16 0, i16 16349, i16 0, i16 14054, i16 14713, i16 990, i16 991, i16 992, i16 993, i16 12510, i16 15805, i16 13369, i16 0, i16 12766, i16 0, i16 0, i16 0, i16 13022, i16 13026, i16 13030, i16 13032, i16 13278, i16 14015, i16 13585, i16 0, i16 14046, i16 0, i16 0, i16 0, i16 14814, i16 0, i16 0, i16 0, i16 15582, i16 0, i16 0, i16 16043, i16 16350, i16 0, i16 0, i16 0, i16 223, i16 0, i16 268, i16 128, i16 13279, i16 15703, i16 16122, i16 0, i16 14303, i16 0, i16 0, i16 13160, i16 14815, i16 0, i16 0, i16 14647, i16 15327, i16 15373, i16 0, i16 14127, i16 16351, i16 0, i16 14211, i16 0, i16 480, i16 481, i16 482, i16 483, i16 736, i16 737, i16 738, i16 739, i16 13792, i16 0, i16 0, i16 14426, i16 15072, i16 15398, i16 0, i16 0, i16 12769, i16 0, i16 0, i16 0, i16 13537, i16 0, i16 0, i16 0, i16 14305, i16 0, i16 0, i16 0, i16 15585, i16 16868, i16 0, i16 0, i16 226, i16 229, i16 228, i16 231, i16 994, i16 995, i16 996, i16 997, i16 13282, i16 0, i16 0, i16 0, i16 14306, i16 0, i16 12700, i16 0, i16 14562, i16 15395, i16 0, i16 0, i16 16354, i16 0, i16 14249, i16 0, i16 16610, i16 0, i16 0, i16 13023, i16 12771, i16 0, i16 0, i16 0, i16 14307, i16 0, i16 0, i16 0, i16 15587, i16 17070, i16 0, i16 13673, i16 484, i16 485, i16 0, i16 0, i16 740, i16 741, i16 742, i16 743, i16 13028, i16 15378, i16 15379, i16 13805, i16 16612, i16 0, i16 14204, i16 16080, i16 13285, i16 0, i16 0, i16 0, i16 14053, i16 0, i16 13415, i16 0, i16 15589, i16 0, i16 12505, i16 16542, i16 16869, i16 0, i16 12780, i16 0, i16 17125, i16 16445, i16 0, i16 0, i16 230, i16 867, i16 700, i16 0, i16 486, i16 487, i16 488, i16 489, i16 998, i16 999, i16 1000, i16 1001, i16 12518, i16 0, i16 0, i16 0, i16 12774, i16 0, i16 0, i16 0, i16 13542, i16 0, i16 12967, i16 16522, i16 14310, i16 17148, i16 0, i16 0, i16 14822, i16 0, i16 0, i16 0, i16 15078, i16 15095, i16 15173, i16 15174, i16 16358, i16 0, i16 0, i16 13564, i16 16870, i16 0, i16 0, i16 0, i16 13287, i16 0, i16 12943, i16 14498, i16 14567, i16 0, i16 0, i16 0, i16 15335, i16 0, i16 0, i16 0, i16 17127, i16 15461, i16 13470, i16 0, i16 744, i16 745, i16 746, i16 747, i16 14312, i16 0, i16 0, i16 0, i16 15080, i16 15157, i16 13874, i16 13265, i16 16360, i16 0, i16 0, i16 0, i16 16872, i16 0, i16 0, i16 0, i16 13033, i16 13034, i16 13036, i16 13037, i16 13289, i16 12536, i16 0, i16 16564, i16 13545, i16 0, i16 0, i16 15443, i16 13801, i16 0, i16 13620, i16 0, i16 15081, i16 15804, i16 0, i16 0, i16 15849, i16 0, i16 0, i16 0, i16 16617, i16 0, i16 0, i16 0, i16 16873, i16 14697, i16 0, i16 0, i16 234, i16 0, i16 0, i16 0, i16 490, i16 491, i16 492, i16 493, i16 1002, i16 1003, i16 1004, i16 1005, i16 15338, i16 0, i16 0, i16 0, i16 16362, i16 0, i16 14446, i16 15234, i16 16874, i16 0, i16 0, i16 13025, i16 17130, i16 0, i16 0, i16 0, i16 12523, i16 0, i16 13760, i16 0, i16 14059, i16 14375, i16 0, i16 0, i16 14571, i16 0, i16 12662, i16 0, i16 15339, i16 14340, i16 0, i16 0, i16 15851, i16 0, i16 0, i16 16883, i16 748, i16 749, i16 750, i16 751, i16 14316, i16 0, i16 16739, i16 0, i16 14572, i16 0, i16 16192, i16 14871, i16 14828, i16 0, i16 0, i16 0, i16 15852, i16 12976, i16 15777, i16 0, i16 17132, i16 0, i16 0, i16 0, i16 12525, i16 14854, i16 0, i16 0, i16 14573, i16 14036, i16 0, i16 14037, i16 15085, i16 17109, i16 13852, i16 0, i16 16109, i16 15216, i16 13094, i16 0, i16 238, i16 0, i16 0, i16 179, i16 494, i16 495, i16 0, i16 0, i16 1006, i16 1007, i16 1008, i16 1009, i16 13806, i16 15676, i16 16961, i16 0, i16 16366, i16 15218, i16 0, i16 0, i16 12783, i16 0, i16 15396, i16 0, i16 13551, i16 15458, i16 17151, i16 0, i16 13807, i16 0, i16 0, i16 0, i16 14831, i16 0, i16 0, i16 0, i16 15855, i16 0, i16 14172, i16 0, i16 16367, i16 0, i16 14806, i16 12387, i16 240, i16 0, i16 163, i16 164, i16 752, i16 753, i16 754, i16 755, i16 12528, i16 0, i16 0, i16 12349, i16 13040, i16 0, i16 0, i16 15092, i16 13552, i16 13270, i16 0, i16 0, i16 14576, i16 0, i16 0, i16 0, i16 15600, i16 0, i16 0, i16 13650, i16 16368, i16 0, i16 0, i16 17051, i16 17136, i16 15591, i16 12699, i16 0, i16 13041, i16 13042, i16 13043, i16 13044, i16 13297, i16 0, i16 14164, i16 0, i16 14065, i16 0, i16 0, i16 0, i16 14321, i16 14328, i16 14431, i16 14457, i16 16369, i16 0, i16 16030, i16 16833, i16 16625, i16 0, i16 0, i16 0, i16 242, i16 241, i16 0, i16 0, i16 1010, i16 1011, i16 1012, i16 1013, i16 13554, i16 0, i16 0, i16 16702, i16 14066, i16 0, i16 0, i16 0, i16 14834, i16 14837, i16 14838, i16 14845, i16 499, i16 500, i16 501, i16 502, i16 16115, i16 0, i16 13362, i16 0, i16 16371, i16 14903, i16 15888, i16 0, i16 756, i16 757, i16 0, i16 0, i16 15860, i16 0, i16 0, i16 0, i16 16884, i16 0, i16 0, i16 0, i16 245, i16 248, i16 0, i16 249, i16 12789, i16 14319, i16 0, i16 0, i16 13045, i16 13047, i16 13052, i16 13064, i16 14581, i16 0, i16 16841, i16 0, i16 15093, i16 15181, i16 14721, i16 13061, i16 15605, i16 15130, i16 15715, i16 0, i16 15861, i16 0, i16 0, i16 14946, i16 16373, i16 15027, i16 0, i16 0, i16 16885, i16 0, i16 0, i16 16823, i16 246, i16 247, i16 0, i16 250, i16 758, i16 759, i16 760, i16 761, i16 1014, i16 1015, i16 1016, i16 1017, i16 12790, i16 0, i16 0, i16 0, i16 15350, i16 13930, i16 0, i16 0, i16 15606, i16 0, i16 0, i16 0, i16 16886, i16 16410, i16 15882, i16 17128, i16 17142, i16 16149, i16 0, i16 17135, i16 503, i16 504, i16 505, i16 506, i16 13815, i16 0, i16 0, i16 0, i16 14071, i16 0, i16 0, i16 0, i16 14583, i16 0, i16 0, i16 0, i16 14839, i16 16973, i16 15261, i16 17140, i16 13560, i16 0, i16 17083, i16 0, i16 14072, i16 0, i16 0, i16 0, i16 14584, i16 0, i16 15281, i16 0, i16 15608, i16 0, i16 0, i16 0, i16 15864, i16 16748, i16 0, i16 0, i16 16632, i16 15150, i16 0, i16 0, i16 12537, i16 0, i16 0, i16 14973, i16 12793, i16 14630, i16 15850, i16 0, i16 13049, i16 14043, i16 0, i16 0, i16 13305, i16 13263, i16 0, i16 0, i16 15865, i16 0, i16 0, i16 0, i16 17145, i16 16421, i16 0, i16 13784, i16 762, i16 763, i16 764, i16 765, i16 1018, i16 1019, i16 1020, i16 1021, i16 12538, i16 0, i16 0, i16 12960, i16 13050, i16 15974, i16 0, i16 13523, i16 15610, i16 0, i16 0, i16 0, i16 17146, i16 0, i16 0, i16 0, i16 507, i16 508, i16 509, i16 510, i16 13051, i16 0, i16 0, i16 0, i16 15099, i16 17005, i16 17050, i16 16925, i16 15611, i16 15678, i16 0, i16 0, i16 252, i16 0, i16 0, i16 183, i16 13308, i16 14843, i16 0, i16 0, i16 14332, i16 14758, i16 0, i16 0, i16 14588, i16 0, i16 16420, i16 14528, i16 15612, i16 15795, i16 0, i16 0, i16 13309, i16 0, i16 0, i16 0, i16 15869, i16 13439, i16 0, i16 0, i16 16381, i16 0, i16 0, i16 0, i16 16893, i16 14522, i16 0, i16 0, i16 17149, i16 0, i16 12785, i16 0, i16 254, i16 255, i16 0, i16 0, i16 766, i16 767, i16 768, i16 769, i16 1022, i16 1023, i16 1024, i16 1025, i16 13054, i16 0, i16 0, i16 13994, i16 13566, i16 0, i16 0, i16 0, i16 13822, i16 13259, i16 0, i16 15098, i16 511, i16 512, i16 0, i16 513, i16 12287, i16 0, i16 0, i16 13421, i16 12799, i16 0, i16 0, i16 0, i16 13311, i16 0, i16 0, i16 0, i16 13567, i16 0, i16 14077, i16 0, i16 14335, i16 12521, i16 13217, i16 0, i16 14591, i16 15619, i16 0, i16 0, i16 14847, i16 14848, i16 14856, i16 14866], [6 x i8] c"\0A\03\162\00\04", [24 x i64] [i64 48508, i64 48528, i64 48548, i64 14648, i64 48588, i64 48634, i64 48640, i64 14699, i64 48670, i64 52564, i64 52608, i64 14727, i64 53422, i64 61672, i64 61772, i64 16373, i64 0, i64 0, i64 0, i64 0, i64 68630, i64 69002, i64 69010, i64 44726], [2826 x i8] c"\00\00\01\00\00\00\00\00\00\01\00\08\00\01\01\01e\01\01\02\02\00\01\01\01e\01\02\00\02\00\02\02\02d\02\03\00\12\00\02\03\03c\03\03\02\02\00\02\04\04c\04\04\00\12\00\02\05\05b\03\04\02\02\00\02\06\06b\04\05\00\12\00\02\07\05a\03\05\02\02\00\02\08\06a\04\06\00\12\00\02\09\05`\03\06\02\02\00\02\0A\06`\04\07\00\02\00\03\0B\07_\05\08\00\12\00\02\0C\05^\03\08\02\02\00\02\0D\06^\04\09\00\12\00\02\0E\08]\03\09\02\02\00\02\0F\09]\04\0A\00\12\00\02\10\05\\\03\0A\02\02\00\02\11\06\\\04\0B\00\12\00\02\12\08[\03\0B\02\02\00\02\13\09[\04\0C\00\12\00\02\14\05Z\03\0C\02\02\00\02\15\06Z\04\0D\00\12\00\02\16\05Y\03\0D\02\02\00\02\17\06Y\04\0E\00\12\00\02\18\05X\03\0E\02\02\00\02\19\06X\04\0F\00\12\00\02\1A\05W\03\0F\02\02\00\02\1B\06W\04\10\00\12\00\00\1C\0A\8E\06\10\02\02\00\00\1D\0B\8E\07\11\00\12\00\02\1E\05V\03\11\02\02\00\02\1F\06V\04\12\00\12\00\02 \0CU\03\12\02\02\00\02!\0DU\04\13\00\12\00\02\22\05T\08\13\02\02\00\02#\06T\09\14\00\12\00\02$\05S\08\14\02\02\00\02%\06S\09\15\00\15\00\01&\0ER\0A\15\02\02\00\01&\0FR\0B\16\00\05\00\01'\10Q\0C\16\02\02\00\01(\11Q\0D\17\00\05\00\04)\12P\0E\17\02\02\00\04*\13P\0F\18\00\02\00\02+\14O\10\19\00\02\00\03,\15N\11\1A\00\08\00\05-\16M\12\1A\02\02\00\05.\16M\12\1B\00\0E\00\05/\17L\13\1B\02\02\00\05/\18L\13\1C\00\08\00\050\19\8B\14\1C\02\02\00\051\1A\8B\14\1D\00\0C\00\052\19\8B\14\1D\02\02\00\051\1A\8B\14\1E\00\0E\00\063\1B\8C\15\1E\02\02\00\074\1C\8C\15\1F\00\0B\00\025\1DK\16\1F\02\02\00\026\1DK\16 \00\08\00\017\1E\8A\17 \02\02\00\017\1F\8A\17!\00\08\00\058 J\18!\02\02\00\059!J\18\22\00\0C\00\05: J\18\22\02\02\00\059!J\18#\00\08\00\01;\22I\18#\02\02\00\01<#I\18$\00\0C\00\01=\22I\18$\02\02\00\01<#I\18%\00\08\00\08>$H\18%\02\02\00\08>%H\18&\00\08\00\01?$G\18&\02\02\00\01@%G\18'\00\0C\00\01A$G\18'\02\02\00\01@%G\18(\00\08\00\01;\22F\18(\02\02\00\01<#F\18)\00\0C\00\01=\22F\18)\02\02\00\01<#F\18*\00\13\00\09B&E\19*\02\02\00\09C'E\1A+\00\08\00\02D(D\02+\02\02\00\02D(D\02,\00\08\00\02E)C\1B,\02\02\00\02E)C\1B-\00\08\00\02F*\89\1C-\02\02\00\02F*\89\1C.\00\08\00\01G+B\1D.\02\02\00\01H+B\1D/\00\08\00\025)A\02/\02\02\00\026)A\020\00\08\00\02I,@\1E0\02\02\00\02I,@\1E1\00\08\00\02J)?\021\02\02\00\02K)?\022\00\0C\00\02L)?\022\02\02\00\02K)?\023\00\02\00\03\0B->\1E4\00\08\00\02M)=\024\02\02\00\02M)=\025\00\08\00\02N.<\1E5\02\02\00\02N.<\1E6\00\08\00\02O/;\1E6\02\02\00\02O/;\1E7\00\08\00\02P0:\027\02\02\00\02P0:\028\00\08\00\02Q)9\1B8\02\02\00\02Q)9\1B9\00\08\00\02R)8\1B9\02\02\00\02R)8\1B:\02\02\00\05S17\1F;\00\08\00\01T2\88 ;\02\02\00\01T3\88 <\00\08\00\05U2\87 <\02\02\00\05U3\87 =\00\08\00\05V2\86 =\02\02\00\05V3\86 >\00\08\00\05W2\85 >\02\02\00\05W3\85 ?\00\08\00\00X2\84 ?\02\02\00\00X3\84 @\00\08\00\00Y2\83 @\02\02\00\00Y3\83 A\00\08\00\05Z2\82 A\02\02\00\05Z3\82 B\00\08\00\05[2\81 B\02\02\00\05\\3\81 C\00\0C\00\05]2\81 C\02\02\00\05\\3\81 D\00\08\00\00^2\80 D\02\02\00\00^3\80 E\00\08\00\00_2\7F E\02\02\00\00_3\7F F\00\08\00\00`2~ F\02\02\00\00`3~ G\00\08\00\00a2} G\02\02\00\00a3} H\00\08\00\00b2| H\02\02\00\00b3| I\00\08\00\00c2{ I\02\02\00\00c3{ J\00\08\00\00d2z J\02\02\00\00d3z K\00\08\00\05e2y K\02\02\00\05e3y L\00\08\00\00f2x L\02\02\00\00g3x M\00\08\00\02P2w M\02\02\00\02P3w N\00\08\00\05h2v N\02\02\00\05h3v O\00\08\00\05i2u O\02\02\00\05i3u P\00\08\00\06j4t!P\02\02\00\07k5t!Q\00\08\00\05l66\22Q\02\02\00\05m66\22R\00\0C\00\05n66\22R\02\02\00\05m66\22S\02\02\01\0Ao75#S\00\02\01\0Ao75#T\00\08\00\01p8s$T\02\02\00\01q9s$U\00\0C\00\01r8s$U\02\02\00\01q9s$V\00\08\00\017:r%V\02\02\00\017;r%W\00\08\00\09?<4&W\02\02\00\09@=4&X\00\0C\00\09A<4&X\02\02\00\09@=4&Y\00\08\00\0Bs>q'Y\02\02\00\0Bs?q'Z\00\08\00\05>@3(Z\02\02\00\05>A3([\00\08\00\05-B2'[\02\02\00\05.C2'\\\00\0C\00\05tB2'\\\02\02\00\05.C2']\00\08\00\05-B1']\02\02\00\05.C1'^\00\0C\00\05tB1'^\02\02\00\05.C1'_\00\08\00\02JD0)_\02\02\00\02KE0)`\00\0C\00\02LD0)`\02\02\00\02KE0)a\00\0C\00\025F/\1Ba\02\02\00\026G/\1Bb\00\08\00\05lHp b\02\02\00\05mIp c\00\0C\00\05nHp c\02\02\00\05mIp d\00\08\00\025J.\1Bd\02\02\00\026J.\1Be\00\14\00\02uK-*e\02\02\00\02vL-+f\02\02\00\02wM,\02f\00\02\00\02wM,\02g\00\0E\00\05xNo,g\02\02\00\05xOo,h\00\0E\00\01yP+-h\02\02\00\01yQ+-i\00\03\00\02zR*.i\02\02\00\02{S*\10j\00\08\00\01|T)/j\02\02\00\01|T)/k\00\08\00\01}Un\18k\02\02\00\01}Vn\18l\00\08\00\0C>W(0l\02\02\00\0C>X(0m\00\08\00\05lY' m\02\02\00\05mZ' n\00\0C\00\05nY' n\02\02\00\05mZ' o\00\14\00\02uK&*o\02\02\00\02vL&+p\02\02\00\02~[\901q\00\07\00\01\7F\\%2q\02\02\00\01\80]%3r\00\08\00\017^m4r\02\02\00\017^m4s\02\02\00\02\81_\915t\00\08\00\025`$6t\02\02\00\026`$6u\00\0A\00\01\82al7u\02\02\00\01\82bl7v\00\0A\00\06\83ck%v\02\02\00\07\84dk%w\00\0A\00\02Me#8w\02\02\00\02Mf#9x\00\11\00\0D\85g\22:x\02\02\00\0D\86h\22;y\02\02\00\02\87i!\82\02\02\00\05.s\1B>\83\00\0E\00\05\90ti?\83\02\02\00\05\91ui?\84\00\08\00\05\92v\1A@\84\02\02\00\05\92w\1A@\85\00\08\00\05\93x\19@\85\02\02\00\05\94y\19@\86\00\0C\00\05\95x\19@\86\02\02\00\05\94y\19@\87\00\0E\00\05\96z\18A\87\02\02\00\05\96{\18A\88\16\16\00\01\97|\17B\88\00\11\00\01\98}\17C\88\02\02\00\01\99~\17\0D\89\00\18\00\01\9A\7F\16D\89\02\02\00\01\9B\80\16E\8A\00\02\00\01\9C\81\15F\8B\00\0E\00\06\9D\82\8DG\8B\02\02\00\07\9E\83\8DH\8C\00\0E\00\0B\9F\84hI\8C\02\02\00\0B\9F\85hI\8D\00\08\00\01\A0\86\14\02\8D\02\02\00\01\A0\87\14\02\8E\00\0E\00\05\A1\88\13J\8E\02\02\00\05\A1\89\13J\8F\00\11\00\05\A2\8A\13K\8F\02\02\00\05\A3\8B\13E\90\00\08\00\01p\8Cg\18\90\02\02\00\01q\8Dg\18\91\00\0C\00\01r\8Cg\18\91\02\02\00\01q\8Dg\18\92\00\08\00\0D\A4\8C\12\18\92\02\02\00\0D\A4\8D\12\18\93\00\02\00\03\0B\8E\11L\94\00\02\00\0E\A5\8F\10M\95\00\17\00\01\97|\0FN\95\02\02\00\01\99~\0FO\96\00\19\00\02\A6\90\8FP\96\02\02\00\02\A7\91\8FQ\97\00\02\00\02\A8\92\0E\02\98\00\02\00\02\02\93\0D\02\99\00\08\00\02\A9\94\0C\02\99\02\02\00\02\A9\94\0C\02\9A\00\15\00\00\AA\95fR\9A\02\02\00\00\AA\96fS\9B\02\02\00\01\99\97\0BT\9C\00\18\00\01\9A\98\0AU\9C\02\02\00\01\9B\99\0AV\9D\00\02\00\02\AB\9A\09W\9E\00\08\00\02\AC\9B\08X\9E\02\02\00\02\AC\9B\08X\9F\02\02\00\01\AD\9C\07\02\9F\00\02\00\01\AD\9C\07\02\A0\00\08\00\09?\9D\06Y\A0\02\02\00\09@\9E\06Y\A1\00\0C\00\09A\9D\06Y\A2\00\06\00\02\AE\9F\05Z\A2\02\02\00\02\AE\A0\05[\A3\02\02\00\02\AF\A1\04\\\A4\02\02\00\02I\A2\03\\\A5\00\02\00\02O\A3\02\1E\A6\02\02\00\02\B0\A4\01\\", [835 x i8] c"af_ZAam_ETar_AEar_BHar_DZar_EGar_INar_IQar_JOar_KWar_LBar_LYar_MAar_OMar_QAar_SAar_SDar_SYar_TNar_YEaz_AZbe_BYbg_BGbn_BDbn_INbr_FRbs_BAca_EScaeEScs_CZcy_GBda_DKde_ATdeeATde_BEdeeBEde_CHde_DEdeeDEde_LUdeeLUel_GRen_AUen_BWen_CAen_DKen_GBen_HKen_IEeneIEen_INen_NZen_PHen_SGen_USen_ZAen_ZWeo_EOes_ARes_BOes_CLes_COes_CRes_DOes_ECes_ESeseESes_GTes_HNes_MXes_NIes_PAes_PEes_PRes_PYes_SVes_USes_UYes_VEet_EEeu_ESeueESfa_IRfi_FIfieFIfo_FOfr_BEfreBEfr_CAfr_CHfr_FRfreFRfr_LUfreLUga_IEgaeIEgd_GBgl_ESgleESgv_GBhe_ILhi_INhr_HRhu_HUhy_AMid_IDis_ISit_CHit_ITiteITiw_ILja_JPka_GEkl_GLko_KRkw_GBlt_LTlv_LVmi_NZmk_MKmr_INms_MYmt_MTnl_BEnleBEnl_NLnleNLnn_NOno_NOoc_FRpl_PLpt_BRpt_PTptePTro_ROru_RUru_UAse_NOsk_SKsl_SIsq_ALsr_YUsrcYUsv_FIsveFIsv_SEta_INte_INtg_TJth_THti_ERti_ETtl_PHtr_TRtt_RUuk_UAur_PKuz_UZvi_VNwa_BEwaeBEyi_USzh_CNzh_HKzh_SGzh_TW\00\00\00\00\00", [18 x i8] c"\05eeuro\00\09ccyrillic\00", [69 x i8] c"\06\0F\1A&.9LC_CTYPE\00LC_NUMERIC\00LC_MONETARY\00LC_TIME\00LC_COLLATE\00LC_MESSAGES\00", [255 x i8] c"\18\22(/6BMYeq}\89\94\9F\AA\B5\C0\CB\D6\E1\E8\EF\F6\00ARMSCII-8\00ASCII\00CP1251\00CP1255\00GEORGIAN-PS\00ISO-8859-1\00ISO-8859-10\00ISO-8859-13\00ISO-8859-14\00ISO-8859-15\00ISO-8859-16\00ISO-8859-2\00ISO-8859-3\00ISO-8859-4\00ISO-8859-5\00ISO-8859-6\00ISO-8859-7\00ISO-8859-8\00ISO-8859-9\00KOI8-R\00KOI8-T\00KOI8-U\00TIS-620\00\00" }, align 8 +@__C_ctype_b_data = constant <{ [256 x i16], [128 x i16] }> <{ [256 x i16] [i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 8195, i16 8194, i16 8194, i16 8194, i16 8194, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 24577, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -11000, i16 -11000, i16 -11000, i16 -11000, i16 -11000, i16 -11000, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -10744, i16 -10744, i16 -10744, i16 -10744, i16 -10744, i16 -10744, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 2], [128 x i16] zeroinitializer }>, align 16 +@__C_ctype_b = global i16* bitcast (i8* getelementptr (i8, i8* bitcast (<{ [256 x i16], [128 x i16] }>* @__C_ctype_b_data to i8*), i64 256) to i16*), align 8 +@__C_ctype_tolower_data = constant [384 x i16] [i16 -128, i16 -127, i16 -126, i16 -125, i16 -124, i16 -123, i16 -122, i16 -121, i16 -120, i16 -119, i16 -118, i16 -117, i16 -116, i16 -115, i16 -114, i16 -113, i16 -112, i16 -111, i16 -110, i16 -109, i16 -108, i16 -107, i16 -106, i16 -105, i16 -104, i16 -103, i16 -102, i16 -101, i16 -100, i16 -99, i16 -98, i16 -97, i16 -96, i16 -95, i16 -94, i16 -93, i16 -92, i16 -91, i16 -90, i16 -89, i16 -88, i16 -87, i16 -86, i16 -85, i16 -84, i16 -83, i16 -82, i16 -81, i16 -80, i16 -79, i16 -78, i16 -77, i16 -76, i16 -75, i16 -74, i16 -73, i16 -72, i16 -71, i16 -70, i16 -69, i16 -68, i16 -67, i16 -66, i16 -65, i16 -64, i16 -63, i16 -62, i16 -61, i16 -60, i16 -59, i16 -58, i16 -57, i16 -56, i16 -55, i16 -54, i16 -53, i16 -52, i16 -51, i16 -50, i16 -49, i16 -48, i16 -47, i16 -46, i16 -45, i16 -44, i16 -43, i16 -42, i16 -41, i16 -40, i16 -39, i16 -38, i16 -37, i16 -36, i16 -35, i16 -34, i16 -33, i16 -32, i16 -31, i16 -30, i16 -29, i16 -28, i16 -27, i16 -26, i16 -25, i16 -24, i16 -23, i16 -22, i16 -21, i16 -20, i16 -19, i16 -18, i16 -17, i16 -16, i16 -15, i16 -14, i16 -13, i16 -12, i16 -11, i16 -10, i16 -9, i16 -8, i16 -7, i16 -6, i16 -5, i16 -4, i16 -3, i16 -2, i16 -1, i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255], align 16 +@__C_ctype_tolower = global i16* bitcast (i8* getelementptr (i8, i8* bitcast ([384 x i16]* @__C_ctype_tolower_data to i8*), i64 256) to i16*), align 8 +@__C_ctype_toupper_data = constant [384 x i16] [i16 -128, i16 -127, i16 -126, i16 -125, i16 -124, i16 -123, i16 -122, i16 -121, i16 -120, i16 -119, i16 -118, i16 -117, i16 -116, i16 -115, i16 -114, i16 -113, i16 -112, i16 -111, i16 -110, i16 -109, i16 -108, i16 -107, i16 -106, i16 -105, i16 -104, i16 -103, i16 -102, i16 -101, i16 -100, i16 -99, i16 -98, i16 -97, i16 -96, i16 -95, i16 -94, i16 -93, i16 -92, i16 -91, i16 -90, i16 -89, i16 -88, i16 -87, i16 -86, i16 -85, i16 -84, i16 -83, i16 -82, i16 -81, i16 -80, i16 -79, i16 -78, i16 -77, i16 -76, i16 -75, i16 -74, i16 -73, i16 -72, i16 -71, i16 -70, i16 -69, i16 -68, i16 -67, i16 -66, i16 -65, i16 -64, i16 -63, i16 -62, i16 -61, i16 -60, i16 -59, i16 -58, i16 -57, i16 -56, i16 -55, i16 -54, i16 -53, i16 -52, i16 -51, i16 -50, i16 -49, i16 -48, i16 -47, i16 -46, i16 -45, i16 -44, i16 -43, i16 -42, i16 -41, i16 -40, i16 -39, i16 -38, i16 -37, i16 -36, i16 -35, i16 -34, i16 -33, i16 -32, i16 -31, i16 -30, i16 -29, i16 -28, i16 -27, i16 -26, i16 -25, i16 -24, i16 -23, i16 -22, i16 -21, i16 -20, i16 -19, i16 -18, i16 -17, i16 -16, i16 -15, i16 -14, i16 -13, i16 -12, i16 -11, i16 -10, i16 -9, i16 -8, i16 -7, i16 -6, i16 -5, i16 -4, i16 -3, i16 -2, i16 -1, i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255], align 16 +@__C_ctype_toupper = global i16* bitcast (i8* getelementptr (i8, i8* bitcast ([384 x i16]* @__C_ctype_toupper_data to i8*), i64 256) to i16*), align 8 +@errno = global i32 0, align 4 +@h_errno = global i32 0, align 4 +@.str.211 = private unnamed_addr constant [17 x i8] c"ignoring (EPERM)\00", align 1 +@.str.7.213 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.1.214 = private unnamed_addr constant [9 x i8] c"ignoring\00", align 1 +@.str.2.215 = private unnamed_addr constant [82 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/illegal.c\00", align 1 +@.str.3.216 = private unnamed_addr constant [20 x i8] c"longjmp unsupported\00", align 1 +@.str.4.217 = private unnamed_addr constant [8 x i8] c"xxx.err\00", align 1 +@.str.5.219 = private unnamed_addr constant [18 x i8] c"ignoring (EACCES)\00", align 1 +@.str.6.220 = private unnamed_addr constant [18 x i8] c"ignoring (ENOMEM)\00", align 1 +@error_message_count = global i32 0, align 4 +@error_one_per_line = global i32 0, align 4 +@.str.223 = private unnamed_addr constant [5 x i8] c": %s\00", align 1 +@__error_at_line.old_line_number = internal global i32 0, align 4 +@__error_at_line.old_file_name = internal global i8* null, align 8 +@.str.1.224 = private unnamed_addr constant [8 x i8] c"%s:%d: \00", align 1 +@hr_locale = internal global [448 x i8] zeroinitializer, align 16 +@utf8.231 = internal constant [6 x i8] c"UTF-8\00", align 1 +@static_fd = internal global i32 -1, align 4 +@static_ut_name = internal global i8* getelementptr inbounds ([14 x i8], [14 x i8]* @default_file_name, i32 0, i32 0), align 8 +@default_file_name = internal constant [14 x i8] c"/var/run/utmp\00", align 1 +@static_utmp = internal global %struct.utmp.323 zeroinitializer, align 8 +@mbrtowc.mbstate = internal global %struct.__mbstate_t.512 zeroinitializer, align 4 +@__dso_handle = extern_weak global i8*, align 8 +@optind = global i32 1, align 4 +@opterr = global i32 1, align 4 +@optopt = global i32 63, align 4 +@optarg = global i8* null, align 8 +@getopt_data = internal global %struct._getopt_data zeroinitializer, align 8 +@.str.292 = private unnamed_addr constant [3 x i8] c"--\00", align 1 +@.str.1.293 = private unnamed_addr constant [30 x i8] c"%s: option `%s' is ambiguous\0A\00", align 1 +@.str.2.294 = private unnamed_addr constant [45 x i8] c"%s: option `--%s' doesn't allow an argument\0A\00", align 1 +@.str.3.295 = private unnamed_addr constant [45 x i8] c"%s: option `%c%s' doesn't allow an argument\0A\00", align 1 +@.str.4.296 = private unnamed_addr constant [38 x i8] c"%s: option `%s' requires an argument\0A\00", align 1 +@.str.5.297 = private unnamed_addr constant [32 x i8] c"%s: unrecognized option `--%s'\0A\00", align 1 +@.str.6.298 = private unnamed_addr constant [32 x i8] c"%s: unrecognized option `%c%s'\0A\00", align 1 +@.str.7.299 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@.str.8.300 = private unnamed_addr constant [26 x i8] c"%s: illegal option -- %c\0A\00", align 1 +@.str.9.301 = private unnamed_addr constant [26 x i8] c"%s: invalid option -- %c\0A\00", align 1 +@.str.10.302 = private unnamed_addr constant [39 x i8] c"%s: option requires an argument -- %c\0A\00", align 1 +@.str.11.303 = private unnamed_addr constant [16 x i8] c"POSIXLY_CORRECT\00", align 1 +@.str.308 = private unnamed_addr constant [14 x i8] c"#\80\80\80\80\80\80\80\80\80\80\80\80\00", align 1 +@newlocale.envstr = internal global [4 x i8*] [i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.312, i32 0, i32 0), i8* null, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.2.313, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @posix, i32 0, i32 0)], align 16 +@.str.3.309 = private unnamed_addr constant [2 x i8] c"=\00", align 1 +@.str.4.310 = private unnamed_addr constant [2 x i8] c";\00", align 1 +@posix = internal constant [6 x i8] c"POSIX\00", align 1 +@utf8.311 = internal constant [6 x i8] c"UTF-8\00", align 1 +@.str.1.312 = private unnamed_addr constant [7 x i8] c"LC_ALL\00", align 1 +@.str.2.313 = private unnamed_addr constant [5 x i8] c"LANG\00", align 1 +@empty = internal constant [1 x i8] zeroinitializer, align 1 +@mbsnrtowcs.mbstate = internal global %struct.__mbstate_t.512 zeroinitializer, align 4 +@_do_one_spec.spec_base = internal constant [7 x i8] c"\10\10\10\08\0A\0A\0A", align 1 +@.str.328 = private unnamed_addr constant [6 x i8] c"(nil)\00", align 1 +@.str.1.329 = private unnamed_addr constant [7 x i8] c"(null)\00", align 1 +@_do_one_spec.prefix = internal constant [12 x i8] c"+\00-\00 \000x\000X\00", align 1 +@strerror.buf = internal global [50 x i8] zeroinitializer, align 16 +@desc2flag = internal constant [13 x i16] [i16 0, i16 2048, i16 4, i16 256, i16 512, i16 8, i16 128, i16 2, i16 64, i16 1024, i16 32, i16 1, i16 16], align 16 +@fmt = internal constant [20 x i8] c"inf\00INF\00nan\00NAN\00.\00,\00", align 16 +@exp10_table = internal constant [9 x double] [double 1.000000e+01, double 1.000000e+02, double 1.000000e+04, double 1.000000e+08, double 1.000000e+16, double 1.000000e+32, double 1.000000e+64, double 1.000000e+128, double 1.000000e+256], align 16 +@_ppfs_init.invalid_mbs = internal constant [33 x i8] c"Invalid multibyte format string.\00", align 16 +@_ppfs_parsespec.spec_flags = internal constant [8 x i8] c" +0-#'I\00", align 1 +@_ppfs_parsespec.qual_chars = internal constant [20 x i8] c"hlLjztqZ\00\02\04\08\04\04\04\08\04\00\01\08", align 16 +@_ppfs_parsespec.spec_chars = internal constant [21 x i8] c"npxXoudifFeEgGaACScs\00", align 16 +@_ppfs_parsespec.spec_ranges = internal constant [9 x i8] c"\00\01\07\0F\10\11\12\13\14", align 1 +@_ppfs_parsespec.spec_or_mask = internal constant [8 x i16] [i16 4096, i16 5, i16 0, i16 7, i16 2, i16 4, i16 1, i16 3], align 16 +@_ppfs_parsespec.spec_and_mask = internal constant [8 x i16] [i16 7936, i16 5, i16 3840, i16 2055, i16 2, i16 4, i16 1, i16 3], align 16 +@type_codes = internal constant [12 x i16] [i16 8, i16 5, i16 3, i16 4, i16 1, i16 512, i16 0, i16 1024, i16 2048, i16 2, i16 7, i16 2055], align 16 +@type_sizes = internal constant [12 x i8] c"\00\01\01\01\04\02\01\01\01\01\01\01", align 1 +@__exit_count = hidden global i32 0, align 4 +@__exit_function_table = hidden global %struct.exit_function* null, align 8 +@__exit_slots = hidden global i32 0, align 4 +@__xpg_strerror_r.unknown = internal constant [14 x i8] c"Unknown error ", align 1 +@mbsrtowcs.mbstate = internal global %struct.__mbstate_t.512 zeroinitializer, align 4 +@_string_syserrmsgs = hidden constant [2906 x i8] c"Success\00Operation not permitted\00No such file or directory\00No such process\00Interrupted system call\00Input/output error\00No such device or address\00Argument list too long\00Exec format error\00Bad file descriptor\00No child processes\00Resource temporarily unavailable\00Cannot allocate memory\00Permission denied\00Bad address\00Block device required\00Device or resource busy\00File exists\00Invalid cross-device link\00No such device\00Not a directory\00Is a directory\00Invalid argument\00Too many open files in system\00Too many open files\00Inappropriate ioctl for device\00Text file busy\00File too large\00No space left on device\00Illegal seek\00Read-only file system\00Too many links\00Broken pipe\00Numerical argument out of domain\00Numerical result out of range\00Resource deadlock avoided\00File name too long\00No locks available\00Function not implemented\00Directory not empty\00Too many levels of symbolic links\00\00No message of desired type\00Identifier removed\00Channel number out of range\00Level 2 not synchronized\00Level 3 halted\00Level 3 reset\00Link number out of range\00Protocol driver not attached\00No CSI structure available\00Level 2 halted\00Invalid exchange\00Invalid request descriptor\00Exchange full\00No anode\00Invalid request code\00Invalid slot\00\00Bad font file format\00Device not a stream\00No data available\00Timer expired\00Out of streams resources\00Machine is not on the network\00Package not installed\00Object is remote\00Link has been severed\00Advertise error\00Srmount error\00Communication error on send\00Protocol error\00Multihop attempted\00RFS specific error\00Bad message\00Value too large for defined data type\00Name not unique on network\00File descriptor in bad state\00Remote address changed\00Can not access a needed shared library\00Accessing a corrupted shared library\00.lib section in a.out corrupted\00Attempting to link in too many shared libraries\00Cannot exec a shared library directly\00Invalid or incomplete multibyte or wide character\00Interrupted system call should be restarted\00Streams pipe error\00Too many users\00Socket operation on non-socket\00Destination address required\00Message too long\00Protocol wrong type for socket\00Protocol not available\00Protocol not supported\00Socket type not supported\00Operation not supported\00Protocol family not supported\00Address family not supported by protocol\00Address already in use\00Cannot assign requested address\00Network is down\00Network is unreachable\00Network dropped connection on reset\00Software caused connection abort\00Connection reset by peer\00No buffer space available\00Transport endpoint is already connected\00Transport endpoint is not connected\00Cannot send after transport endpoint shutdown\00Too many references: cannot splice\00Connection timed out\00Connection refused\00Host is down\00No route to host\00Operation already in progress\00Operation now in progress\00Stale NFS file handle\00Structure needs cleaning\00Not a XENIX named type file\00No XENIX semaphores available\00Is a named type file\00Remote I/O error\00Disk quota exceeded\00No medium found\00Wrong medium type\00", align 16 + +@__progname = weak alias i8*, i8** @program_invocation_short_name +@__progname_full = weak alias i8*, i8** @program_invocation_name +@environ = weak alias i8**, i8*** @__environ +@__getdents = dso_local alias i64 (i32, %struct.dirent64*, i64), i64 (i32, %struct.dirent64*, i64)* @getdents +@getchar = alias i32 (), i32 ()* @getchar_unlocked +@raise = weak alias i32 (i32), i32 (i32)* @__raise +@fgetc_unlocked = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@getc_unlocked = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@fgetc = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@getc = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@__getdents64 = dso_local alias i64 (i32, i8*, i64), i64 (i32, i8*, i64)* @getdents64 +@error = weak alias void (i32, i32, i8*, ...), void (i32, i32, i8*, ...)* @__error +@error_at_line = weak alias void (i32, i32, i8*, i32, i8*, ...), void (i32, i32, i8*, i32, i8*, ...)* @__error_at_line +@ferror = alias i32 (%struct.__STDIO_FILE_STRUCT.592*), i32 (%struct.__STDIO_FILE_STRUCT.592*)* @ferror_unlocked +@fflush = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fflush_unlocked +@fileno = alias i32 (%struct.__STDIO_FILE_STRUCT.608*), i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno_unlocked +@fputc_unlocked = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@putc_unlocked = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@fputc = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@putc = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@fputs = alias i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*), i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked +@fseeko = alias i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32), i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32)* @fseek +@fwrite = alias i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.621*), i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.621*)* @fwrite_unlocked +@strerror_r = weak alias i32 (i32, i8*, i64), i32 (i32, i8*, i64)* @__xpg_strerror_r + +; Function Attrs: noinline nounwind uwtable +define void @__uClibc_init() #0 { +entry: + %0 = load i32, i32* @__uClibc_init.been_there_done_that, align 4 + %tobool = icmp ne i32 %0, 0 + br i1 %tobool, label %if.end4, label %if.end + +if.end: ; preds = %entry + %1 = load i32, i32* @__uClibc_init.been_there_done_that, align 4 + %inc = add nsw i32 %1, 1 + store i32 %inc, i32* @__uClibc_init.been_there_done_that, align 4 + store i64 4096, i64* @__pagesize, align 8 + call void @_locale_init() #18 + call void @_stdio_init() #18 + br label %if.end4 + +if.end4: ; preds = %entry, %if.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define void @__uClibc_fini() #0 { +entry: + %0 = load void ()*, void ()** @__app_fini, align 8 + %cmp = icmp ne void ()* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load void ()*, void ()** @__app_fini, align 8 + call void %1() #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %2 = load void ()*, void ()** @__rtld_fini, align 8 + %cmp1 = icmp ne void ()* %2, null + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + %3 = load void ()*, void ()** @__rtld_fini, align 8 + call void %3() #18 + br label %if.end3 + +if.end3: ; preds = %if.then2, %if.end + ret void +} + +; Function Attrs: noinline noreturn nounwind uwtable +define void @__uClibc_main(i32 (i32, i8**, i8**)* %main, i32 %argc, i8** %argv, void ()* %app_init, void ()* %app_fini, void ()* %rtld_fini, i8* %stack_end) #1 { +entry: + %main.addr = alloca i32 (i32, i8**, i8**)*, align 8 + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %app_init.addr = alloca void ()*, align 8 + %app_fini.addr = alloca void ()*, align 8 + %rtld_fini.addr = alloca void ()*, align 8 + %stack_end.addr = alloca i8*, align 8 + %aux_dat = alloca i64*, align 8 + %auxvt = alloca [15 x %struct.Elf64_auxv_t], align 16 + %auxv_entry = alloca %struct.Elf64_auxv_t*, align 8 + store i32 (i32, i8**, i8**)* %main, i32 (i32, i8**, i8**)** %main.addr, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store void ()* %app_init, void ()** %app_init.addr, align 8 + store void ()* %app_fini, void ()** %app_fini.addr, align 8 + store void ()* %rtld_fini, void ()** %rtld_fini.addr, align 8 + store i8* %stack_end, i8** %stack_end.addr, align 8 + %0 = load i8*, i8** %stack_end.addr, align 8 + store i8* %0, i8** @__libc_stack_end, align 8 + %1 = load void ()*, void ()** %rtld_fini.addr, align 8 + store void ()* %1, void ()** @__rtld_fini, align 8 + %2 = load i8**, i8*** %argv.addr, align 8 + %3 = load i32, i32* %argc.addr, align 4 + %add = add nsw i32 %3, 1 + %idxprom = sext i32 %add to i64 + %arrayidx = getelementptr inbounds i8*, i8** %2, i64 %idxprom + store i8** %arrayidx, i8*** @__environ, align 8 + %4 = load i8**, i8*** @__environ, align 8 + %5 = bitcast i8** %4 to i8* + %6 = load i8**, i8*** %argv.addr, align 8 + %7 = load i8*, i8** %6, align 8 + %cmp = icmp eq i8* %5, %7 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %8 = load i8**, i8*** %argv.addr, align 8 + %9 = load i32, i32* %argc.addr, align 4 + %idxprom1 = sext i32 %9 to i64 + %arrayidx2 = getelementptr inbounds i8*, i8** %8, i64 %idxprom1 + store i8** %arrayidx2, i8*** @__environ, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %arraydecay = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 0 + %10 = bitcast %struct.Elf64_auxv_t* %arraydecay to i8* + %call = call i8* @memset(i8* %10, i32 0, i64 240) #19 + %11 = load i8**, i8*** @__environ, align 8 + %12 = bitcast i8** %11 to i64* + store i64* %12, i64** %aux_dat, align 8 + br label %while.cond + +while.cond: ; preds = %while.cond, %if.end + %13 = load i64*, i64** %aux_dat, align 8 + %14 = load i64, i64* %13, align 8 + %tobool = icmp ne i64 %14, 0 + %15 = load i64*, i64** %aux_dat, align 8 + %incdec.ptr = getelementptr inbounds i64, i64* %15, i32 1 + store i64* %incdec.ptr, i64** %aux_dat, align 8 + br i1 %tobool, label %while.cond, label %while.cond4 + +while.cond4: ; preds = %while.cond, %if.end12 + %16 = load i64*, i64** %aux_dat, align 8 + %17 = load i64, i64* %16, align 8 + %tobool5 = icmp ne i64 %17, 0 + br i1 %tobool5, label %while.body6, label %while.end13 + +while.body6: ; preds = %while.cond4 + %18 = load i64*, i64** %aux_dat, align 8 + %19 = bitcast i64* %18 to %struct.Elf64_auxv_t* + store %struct.Elf64_auxv_t* %19, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %20 = load %struct.Elf64_auxv_t*, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %a_type = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %20, i32 0, i32 0 + %21 = load i64, i64* %a_type, align 8 + %cmp7 = icmp ule i64 %21, 14 + br i1 %cmp7, label %if.then8, label %if.end12 + +if.then8: ; preds = %while.body6 + %22 = load %struct.Elf64_auxv_t*, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %a_type9 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %22, i32 0, i32 0 + %23 = load i64, i64* %a_type9, align 8 + %arrayidx10 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 %23 + %24 = bitcast %struct.Elf64_auxv_t* %arrayidx10 to i8* + %25 = load %struct.Elf64_auxv_t*, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %26 = bitcast %struct.Elf64_auxv_t* %25 to i8* + %call11 = call i8* @memcpy(i8* %24, i8* %26, i64 16) #19 + br label %if.end12 + +if.end12: ; preds = %if.then8, %while.body6 + %27 = load i64*, i64** %aux_dat, align 8 + %add.ptr = getelementptr inbounds i64, i64* %27, i64 2 + store i64* %add.ptr, i64** %aux_dat, align 8 + br label %while.cond4 + +while.end13: ; preds = %while.cond4 + call void @__uClibc_init() #18 + %arrayidx14 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 6 + %a_un = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx14, i32 0, i32 1 + %a_val = bitcast %union.anon.193* %a_un to i64* + %28 = load i64, i64* %a_val, align 8 + %tobool15 = icmp ne i64 %28, 0 + %arrayidx16 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 6 + %a_un17 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx16, i32 0, i32 1 + %a_val18 = bitcast %union.anon.193* %a_un17 to i64* + %29 = load i64, i64* %a_val18, align 8 + %cond = select i1 %tobool15, i64 %29, i64 4096 + store i64 %cond, i64* @__pagesize, align 8 + %arrayidx19 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 11 + %a_un20 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx19, i32 0, i32 1 + %a_val21 = bitcast %union.anon.193* %a_un20 to i64* + %30 = load i64, i64* %a_val21, align 8 + %cmp22 = icmp eq i64 %30, -1 + br i1 %cmp22, label %land.lhs.true, label %lor.lhs.false + +land.lhs.true: ; preds = %while.end13 + %call23 = call i32 @__check_suid() #18 + %tobool24 = icmp ne i32 %call23, 0 + br i1 %tobool24, label %if.then45, label %lor.lhs.false + +lor.lhs.false: ; preds = %land.lhs.true, %while.end13 + %arrayidx25 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 11 + %a_un26 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx25, i32 0, i32 1 + %a_val27 = bitcast %union.anon.193* %a_un26 to i64* + %31 = load i64, i64* %a_val27, align 8 + %cmp28 = icmp ne i64 %31, -1 + br i1 %cmp28, label %land.lhs.true29, label %if.end46 + +land.lhs.true29: ; preds = %lor.lhs.false + %arrayidx30 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 11 + %a_un31 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx30, i32 0, i32 1 + %a_val32 = bitcast %union.anon.193* %a_un31 to i64* + %32 = load i64, i64* %a_val32, align 8 + %arrayidx33 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 12 + %a_un34 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx33, i32 0, i32 1 + %a_val35 = bitcast %union.anon.193* %a_un34 to i64* + %33 = load i64, i64* %a_val35, align 8 + %cmp36 = icmp ne i64 %32, %33 + br i1 %cmp36, label %if.then45, label %lor.lhs.false37 + +lor.lhs.false37: ; preds = %land.lhs.true29 + %arrayidx38 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 13 + %a_un39 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx38, i32 0, i32 1 + %a_val40 = bitcast %union.anon.193* %a_un39 to i64* + %34 = load i64, i64* %a_val40, align 8 + %arrayidx41 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 14 + %a_un42 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx41, i32 0, i32 1 + %a_val43 = bitcast %union.anon.193* %a_un42 to i64* + %35 = load i64, i64* %a_val43, align 8 + %cmp44 = icmp ne i64 %34, %35 + br i1 %cmp44, label %if.then45, label %if.end46 + +if.then45: ; preds = %lor.lhs.false37, %land.lhs.true29, %land.lhs.true + call void @__check_one_fd(i32 0, i32 131072) #18 + call void @__check_one_fd(i32 1, i32 131074) #18 + call void @__check_one_fd(i32 2, i32 131074) #18 + br label %if.end46 + +if.end46: ; preds = %if.then45, %lor.lhs.false37, %lor.lhs.false + %36 = load i8**, i8*** %argv.addr, align 8 + %37 = load i8*, i8** %36, align 8 + store i8* %37, i8** @__uclibc_progname, align 8 + %38 = load i8**, i8*** %argv.addr, align 8 + %39 = load i8*, i8** %38, align 8 + store i8* %39, i8** @program_invocation_name, align 8 + %40 = load i8**, i8*** %argv.addr, align 8 + %41 = load i8*, i8** %40, align 8 + %call47 = call i8* @strrchr(i8* %41, i32 47) #20 + store i8* %call47, i8** @program_invocation_short_name, align 8 + %42 = load i8*, i8** @program_invocation_short_name, align 8 + %cmp48 = icmp ne i8* %42, null + br i1 %cmp48, label %if.then49, label %if.else + +if.then49: ; preds = %if.end46 + %43 = load i8*, i8** @program_invocation_short_name, align 8 + %incdec.ptr50 = getelementptr inbounds i8, i8* %43, i32 1 + store i8* %incdec.ptr50, i8** @program_invocation_short_name, align 8 + br label %if.end51 + +if.else: ; preds = %if.end46 + %44 = load i8*, i8** @program_invocation_name, align 8 + store i8* %44, i8** @program_invocation_short_name, align 8 + br label %if.end51 + +if.end51: ; preds = %if.else, %if.then49 + %45 = load void ()*, void ()** %app_fini.addr, align 8 + store void ()* %45, void ()** @__app_fini, align 8 + %46 = load void ()*, void ()** %app_init.addr, align 8 + %cmp52 = icmp ne void ()* %46, null + br i1 %cmp52, label %if.then53, label %if.then55 + +if.then53: ; preds = %if.end51 + %47 = load void ()*, void ()** %app_init.addr, align 8 + call void %47() #18 + br label %if.then55 + +if.then55: ; preds = %if.end51, %if.then53 + %call56 = call i32* @__errno_location() #21 + store i32 0, i32* %call56, align 4 + %call59 = call i32* @__h_errno_location() #21 + store i32 0, i32* %call59, align 4 + %48 = load i32 (i32, i8**, i8**)*, i32 (i32, i8**, i8**)** %main.addr, align 8 + %49 = load i32, i32* %argc.addr, align 4 + %50 = load i8**, i8*** %argv.addr, align 8 + %51 = load i8**, i8*** @__environ, align 8 + %call61 = call i32 %48(i32 %49, i8** %50, i8** %51) #18 + call void @exit(i32 %call61) #22 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__check_suid() #0 { +entry: + %retval = alloca i32, align 4 + %uid = alloca i32, align 4 + %euid = alloca i32, align 4 + %gid = alloca i32, align 4 + %egid = alloca i32, align 4 + %call = call i32 @getuid() #19 + store i32 %call, i32* %uid, align 4 + %call1 = call i32 @geteuid() #19 + store i32 %call1, i32* %euid, align 4 + %call2 = call i32 @getgid() #19 + store i32 %call2, i32* %gid, align 4 + %call3 = call i32 @getegid() #19 + store i32 %call3, i32* %egid, align 4 + %0 = load i32, i32* %uid, align 4 + %1 = load i32, i32* %euid, align 4 + %cmp = icmp eq i32 %0, %1 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %2 = load i32, i32* %gid, align 4 + %3 = load i32, i32* %egid, align 4 + %cmp4 = icmp eq i32 %2, %3 + br i1 %cmp4, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__check_one_fd(i32 %fd, i32 %mode) #0 { +entry: + %fd.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %st = alloca %struct.stat.192, align 8 + %nullfd = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 (i32, i32, ...) @fcntl(i32 %0, i32 1) #18 + %cmp = icmp eq i32 %call, -1 + br i1 %cmp, label %land.rhs, label %land.end + +land.rhs: ; preds = %entry + %call1 = call i32* @__errno_location() #21 + %1 = load i32, i32* %call1, align 4 + %cmp2 = icmp eq i32 %1, 9 + br label %land.end + +land.end: ; preds = %land.rhs, %entry + %2 = phi i1 [ false, %entry ], [ %cmp2, %land.rhs ] + %lnot = xor i1 %2, true + %lnot3 = xor i1 %lnot, true + %lnot.ext = zext i1 %lnot3 to i32 + %conv = sext i32 %lnot.ext to i64 + %tobool = icmp ne i64 %conv, 0 + br i1 %tobool, label %if.then, label %if.end17 + +if.then: ; preds = %land.end + %3 = load i32, i32* %mode.addr, align 4 + %call4 = call i32 (i8*, i32, ...) @open(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.1, i64 0, i64 0), i32 %3) #18 + store i32 %call4, i32* %nullfd, align 4 + %4 = load i32, i32* %nullfd, align 4 + %5 = load i32, i32* %fd.addr, align 4 + %cmp5 = icmp ne i32 %4, %5 + br i1 %cmp5, label %if.then16, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then + %6 = load i32, i32* %fd.addr, align 4 + %call7 = call i32 bitcast (i32 (i32, %struct.stat64*)* @fstat to i32 (i32, %struct.stat.192*)*)(i32 %6, %struct.stat.192* %st) #19 + %tobool8 = icmp ne i32 %call7, 0 + br i1 %tobool8, label %if.then16, label %lor.lhs.false9 + +lor.lhs.false9: ; preds = %lor.lhs.false + %st_mode = getelementptr inbounds %struct.stat.192, %struct.stat.192* %st, i32 0, i32 3 + %7 = load i32, i32* %st_mode, align 8 + %and = and i32 %7, 61440 + %cmp10 = icmp eq i32 %and, 8192 + br i1 %cmp10, label %lor.lhs.false12, label %if.then16 + +lor.lhs.false12: ; preds = %lor.lhs.false9 + %st_rdev = getelementptr inbounds %struct.stat.192, %struct.stat.192* %st, i32 0, i32 7 + %8 = load i64, i64* %st_rdev, align 8 + %call13 = call i64 @gnu_dev_makedev.169(i32 1, i32 3) #19 + %cmp14 = icmp ne i64 %8, %call13 + br i1 %cmp14, label %if.then16, label %if.end17 + +if.then16: ; preds = %lor.lhs.false12, %lor.lhs.false9, %lor.lhs.false, %if.then + call void @abort() #22 + unreachable + +if.end17: ; preds = %lor.lhs.false12, %land.end + ret void +} + +; Function Attrs: nounwind +declare i32 @getuid() #2 + +; Function Attrs: nounwind +declare i32 @geteuid() #2 + +; Function Attrs: nounwind +declare i32 @getgid() #2 + +; Function Attrs: nounwind +declare i32 @getegid() #2 + +; Function Attrs: noinline nounwind uwtable +define internal i64 @gnu_dev_makedev.169(i32 %__major, i32 %__minor) #0 { +entry: + %__major.addr = alloca i32, align 4 + %__minor.addr = alloca i32, align 4 + store i32 %__major, i32* %__major.addr, align 4 + store i32 %__minor, i32* %__minor.addr, align 4 + %0 = load i32, i32* %__minor.addr, align 4 + %and = and i32 %0, 255 + %1 = load i32, i32* %__major.addr, align 4 + %and1 = and i32 %1, 4095 + %shl = shl i32 %and1, 8 + %or = or i32 %and, %shl + %conv = zext i32 %or to i64 + %2 = load i32, i32* %__minor.addr, align 4 + %and2 = and i32 %2, -256 + %conv3 = zext i32 %and2 to i64 + %shl4 = shl i64 %conv3, 12 + %or5 = or i64 %conv, %shl4 + %3 = load i32, i32* %__major.addr, align 4 + %and6 = and i32 %3, -4096 + %conv7 = zext i32 %and6 to i64 + %shl8 = shl i64 %conv7, 32 + %or9 = or i64 %or5, %shl8 + ret i64 %or9 +} + +define i32 @main(i32 %argc, i8** %argv) { +entry: + call void @__uClibc_main(i32 (i32, i8**, i8**)* @__user_main, i32 %argc, i8** %argv, void ()* null, void ()* null, void ()* null, i8* null) + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define i32 @siggetmask() #0 { +entry: + %call = call i32 @sigblock(i32 0) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i64 @__fpending(%struct.__STDIO_FILE_STRUCT.513* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.513*, align 8 + store %struct.__STDIO_FILE_STRUCT.513* %stream, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.513*, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.513, %struct.__STDIO_FILE_STRUCT.513* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %cond.true, label %cond.end + +cond.true: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.513*, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.513, %struct.__STDIO_FILE_STRUCT.513* %2, i32 0, i32 5 + %3 = load i8*, i8** %__bufpos, align 8 + %4 = load %struct.__STDIO_FILE_STRUCT.513*, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.513, %struct.__STDIO_FILE_STRUCT.513* %4, i32 0, i32 3 + %5 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %3 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + br label %cond.end + +cond.end: ; preds = %entry, %cond.true + %cond = phi i64 [ %sub.ptr.sub, %cond.true ], [ 0, %entry ] + ret i64 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i8* @gets(i8* %s) #0 { +entry: + %s.addr = alloca i8*, align 8 + %p = alloca i8*, align 8 + %c = alloca i32, align 4 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %call = call i32 @getchar_unlocked() #18 + store i32 %call, i32* %c, align 4 + %cmp = icmp ne i32 %call, -1 + br i1 %cmp, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %1 = load i32, i32* %c, align 4 + %conv = trunc i32 %1 to i8 + %2 = load i8*, i8** %p, align 8 + store i8 %conv, i8* %2, align 1 + %conv1 = sext i8 %conv to i32 + %cmp2 = icmp ne i32 %conv1, 10 + br i1 %cmp2, label %while.body, label %while.end + +while.body: ; preds = %land.rhs + %3 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + br label %while.cond + +while.end: ; preds = %while.cond, %land.rhs + %4 = load i32, i32* %c, align 4 + %cmp4 = icmp eq i32 %4, -1 + br i1 %cmp4, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.end + %5 = load i8*, i8** %s.addr, align 8 + %6 = load i8*, i8** %p, align 8 + %cmp6 = icmp eq i8* %5, %6 + br i1 %cmp6, label %if.then, label %if.else + +if.then: ; preds = %lor.lhs.false, %while.end + store i8* null, i8** %s.addr, align 8 + br label %if.end + +if.else: ; preds = %lor.lhs.false + %7 = load i8*, i8** %p, align 8 + store i8 0, i8* %7, align 1 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %8 = load i8*, i8** %s.addr, align 8 + ret i8* %8 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @tmpnam(i8* %s) #0 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %tmpbufmem = alloca [20 x i8], align 16 + %tmpbuf = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %tobool = icmp ne i8* %0, null + %arraydecay = getelementptr inbounds [20 x i8], [20 x i8]* %tmpbufmem, i64 0, i64 0 + %cond = select i1 %tobool, i8* %0, i8* %arraydecay + store i8* %cond, i8** %tmpbuf, align 8 + %1 = load i8*, i8** %tmpbuf, align 8 + %call = call i32 @___path_search(i8* %1, i64 20, i8* null, i8* null) #18 + %conv = sext i32 %call to i64 + %tobool1 = icmp ne i64 %conv, 0 + br i1 %tobool1, label %if.then, label %if.end + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %tmpbuf, align 8 + %call2 = call i32 @__gen_tempname(i8* %2, i32 3) #18 + %conv3 = sext i32 %call2 to i64 + %tobool4 = icmp ne i64 %conv3, 0 + br i1 %tobool4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end + store i8* null, i8** %retval, align 8 + br label %return + +if.end6: ; preds = %if.end + %3 = load i8*, i8** %s.addr, align 8 + %cmp = icmp eq i8* %3, null + br i1 %cmp, label %if.then8, label %if.end10 + +if.then8: ; preds = %if.end6 + %4 = load i8*, i8** %tmpbuf, align 8 + %call9 = call i8* @memcpy(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @tmpnam_buffer, i64 0, i64 0), i8* %4, i64 20) #19 + store i8* %call9, i8** %retval, align 8 + br label %return + +if.end10: ; preds = %if.end6 + %5 = load i8*, i8** %s.addr, align 8 + store i8* %5, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end10, %if.then8, %if.then5, %if.then + %6 = load i8*, i8** %retval, align 8 + ret i8* %6 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @mktemp(i8* nonnull %template) #0 { +entry: + %template.addr = alloca i8*, align 8 + store i8* %template, i8** %template.addr, align 8 + %0 = load i8*, i8** %template.addr, align 8 + %call = call i32 @__gen_tempname(i8* %0, i32 3) #18 + %cmp = icmp slt i32 %call, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load i8*, i8** %template.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + store i8 0, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then, %entry + %2 = load i8*, i8** %template.addr, align 8 + ret i8* %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @access(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %pathname.addr, align 8 + %call1 = call i8* @__concretize_string(i8* %2) + %3 = load i32, i32* %mode.addr, align 4 + %call2 = call i64 (i64, ...) @syscall(i64 21, i8* %call1, i32 %3) #11 + %conv = trunc i64 %call2 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.exe_disk_file_t* @__get_sym_file(i8* %pathname) #3 { +entry: + %retval = alloca %struct.exe_disk_file_t*, align 8 + %pathname.addr = alloca i8*, align 8 + %cwd = alloca [1024 x i8], align 16 + %cwd_len = alloca i64, align 8 + %c = alloca i8, align 1 + %i = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + %0 = load i8*, i8** %pathname.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %pathname.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %2 to i32 + %cmp = icmp eq i32 %conv, 47 + br i1 %cmp, label %if.then2, label %if.end29 + +if.then2: ; preds = %if.end + %3 = bitcast [1024 x i8]* %cwd to i8* + %4 = call i8* @memset(i8* %3, i32 0, i64 1024) + %arraydecay = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 0 + %call = call i8* @getcwd(i8* %arraydecay, i64 1024) #11 + %tobool3 = icmp ne i8* %call, null + br i1 %tobool3, label %if.then4, label %if.end29 + +if.then4: ; preds = %if.then2 + %arraydecay5 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 0 + %call6 = call i64 @strlen(i8* %arraydecay5) #23 + store i64 %call6, i64* %cwd_len, align 8 + %5 = load i64, i64* %cwd_len, align 8 + %cmp7 = icmp ugt i64 %5, 0 + br i1 %cmp7, label %land.lhs.true, label %if.end15 + +land.lhs.true: ; preds = %if.then4 + %6 = load i64, i64* %cwd_len, align 8 + %sub = sub i64 %6, 1 + %arrayidx9 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 %sub + %7 = load i8, i8* %arrayidx9, align 1 + %conv10 = sext i8 %7 to i32 + %cmp11 = icmp eq i32 %conv10, 47 + br i1 %cmp11, label %if.then13, label %if.end15 + +if.then13: ; preds = %land.lhs.true + %8 = load i64, i64* %cwd_len, align 8 + %dec = add i64 %8, -1 + store i64 %dec, i64* %cwd_len, align 8 + %arrayidx14 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 %dec + store i8 0, i8* %arrayidx14, align 1 + br label %if.end15 + +if.end15: ; preds = %if.then13, %land.lhs.true, %if.then4 + %9 = load i8*, i8** %pathname.addr, align 8 + %arraydecay16 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 0 + %10 = load i64, i64* %cwd_len, align 8 + %call17 = call i32 @strncmp(i8* %9, i8* %arraydecay16, i64 %10) #23 + %cmp18 = icmp eq i32 %call17, 0 + br i1 %cmp18, label %if.then20, label %if.end29 + +if.then20: ; preds = %if.end15 + %11 = load i8*, i8** %pathname.addr, align 8 + %12 = load i64, i64* %cwd_len, align 8 + %arrayidx21 = getelementptr inbounds i8, i8* %11, i64 %12 + %13 = load i8, i8* %arrayidx21, align 1 + %conv22 = sext i8 %13 to i32 + %cmp23 = icmp ne i32 %conv22, 0 + br i1 %cmp23, label %if.then25, label %if.end29 + +if.then25: ; preds = %if.then20 + %14 = load i64, i64* %cwd_len, align 8 + %add = add i64 %14, 1 + %15 = load i8*, i8** %pathname.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %15, i64 %add + store i8* %add.ptr, i8** %pathname.addr, align 8 + br label %if.end29 + +if.end29: ; preds = %if.then2, %if.then20, %if.then25, %if.end15, %if.end + %16 = load i8*, i8** %pathname.addr, align 8 + %arrayidx30 = getelementptr inbounds i8, i8* %16, i64 0 + %17 = load i8, i8* %arrayidx30, align 1 + store i8 %17, i8* %c, align 1 + %18 = load i8, i8* %c, align 1 + %conv31 = sext i8 %18 to i32 + %cmp32 = icmp eq i32 %conv31, 0 + br i1 %cmp32, label %if.then38, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end29 + %19 = load i8*, i8** %pathname.addr, align 8 + %arrayidx34 = getelementptr inbounds i8, i8* %19, i64 1 + %20 = load i8, i8* %arrayidx34, align 1 + %conv35 = sext i8 %20 to i32 + %cmp36 = icmp ne i32 %conv35, 0 + br i1 %cmp36, label %if.then38, label %if.end39 + +if.then38: ; preds = %lor.lhs.false, %if.end29 + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +if.end39: ; preds = %lor.lhs.false + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end39 + %21 = load i32, i32* %i, align 4 + %22 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %cmp40 = icmp ult i32 %21, %22 + br i1 %cmp40, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %23 = load i8, i8* %c, align 1 + %conv42 = sext i8 %23 to i32 + %24 = load i32, i32* %i, align 4 + %conv43 = trunc i32 %24 to i8 + %conv44 = sext i8 %conv43 to i32 + %add45 = add nsw i32 65, %conv44 + %cmp46 = icmp eq i32 %conv42, %add45 + br i1 %cmp46, label %if.then48, label %for.inc + +if.then48: ; preds = %for.body + %25 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %26 = load i32, i32* %i, align 4 + %idxprom = zext i32 %26 to i64 + %arrayidx49 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %25, i64 %idxprom + store %struct.exe_disk_file_t* %arrayidx49, %struct.exe_disk_file_t** %df, align 8 + %27 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %27, i32 0, i32 2 + %28 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %28, i32 0, i32 1 + %29 = load i64, i64* %st_ino, align 8 + %cmp50 = icmp eq i64 %29, 0 + br i1 %cmp50, label %if.then52, label %if.end53 + +if.then52: ; preds = %if.then48 + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +if.end53: ; preds = %if.then48 + %30 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + store %struct.exe_disk_file_t* %30, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +for.inc: ; preds = %for.body + %31 = load i32, i32* %i, align 4 + %inc = add i32 %31, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +return: ; preds = %for.end, %if.end53, %if.then52, %if.then38, %if.then + %32 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %retval, align 8 + ret %struct.exe_disk_file_t* %32 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @__concretize_string(i8* %s) #3 { +entry: + %s.addr = alloca i8*, align 8 + %sc = alloca i8*, align 8 + %i = alloca i32, align 4 + %c = alloca i8, align 1 + %cc = alloca i8, align 1 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %call = call i8* @__concretize_ptr(i8* %0) + store i8* %call, i8** %sc, align 8 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load i8*, i8** %sc, align 8 + %2 = load i8, i8* %1, align 1 + store i8 %2, i8* %c, align 1 + %3 = load i8, i8* %c, align 1 + %conv = sext i8 %3 to i64 + %call1 = call i32 @gs_is_symbolic(i64 %conv) + %tobool = icmp ne i32 %call1, 0 + br i1 %tobool, label %if.end4, label %if.then + +if.then: ; preds = %for.cond + %4 = load i8, i8* %c, align 1 + %tobool2 = icmp ne i8 %4, 0 + br i1 %tobool2, label %for.inc, label %for.end + +if.end4: ; preds = %for.cond + %5 = load i32, i32* %i, align 4 + %6 = load i32, i32* %i, align 4 + %sub = sub i32 %6, 1 + %and = and i32 %5, %sub + %tobool5 = icmp ne i32 %and, 0 + %7 = load i8, i8* %c, align 1 + br i1 %tobool5, label %if.else14, label %if.then6 + +if.then6: ; preds = %if.end4 + %tobool7 = icmp ne i8 %7, 0 + br i1 %tobool7, label %if.else, label %if.then8 + +if.then8: ; preds = %if.then6 + %8 = load i8*, i8** %sc, align 8 + store i8 0, i8* %8, align 1 + br label %for.end + +if.else: ; preds = %if.then6 + %9 = load i8, i8* %c, align 1 + %conv9 = sext i8 %9 to i32 + %cmp = icmp eq i32 %conv9, 47 + br i1 %cmp, label %if.then11, label %for.inc + +if.then11: ; preds = %if.else + %10 = load i8*, i8** %sc, align 8 + store i8 47, i8* %10, align 1 + br label %for.inc + +if.else14: ; preds = %if.end4 + %conv15 = sext i8 %7 to i64 + %call16 = call i64 @gs_get_valuel(i64 %conv15) + %conv17 = trunc i64 %call16 to i8 + store i8 %conv17, i8* %cc, align 1 + %11 = load i8, i8* %cc, align 1 + %conv18 = sext i8 %11 to i32 + %12 = load i8, i8* %c, align 1 + %conv19 = sext i8 %12 to i32 + %cmp20 = icmp eq i32 %conv18, %conv19 + call void @gs_assume(i1 zeroext %cmp20) + %13 = load i8, i8* %cc, align 1 + %14 = load i8*, i8** %sc, align 8 + store i8 %13, i8* %14, align 1 + %15 = load i8, i8* %cc, align 1 + %tobool22 = icmp ne i8 %15, 0 + br i1 %tobool22, label %for.inc, label %for.end + +for.inc: ; preds = %if.else, %if.then11, %if.else14, %if.then + %16 = load i32, i32* %i, align 4 + %inc = add i32 %16, 1 + store i32 %inc, i32* %i, align 4 + %17 = load i8*, i8** %sc, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %17, i32 1 + store i8* %incdec.ptr, i8** %sc, align 8 + br label %for.cond + +for.end: ; preds = %if.else14, %if.then, %if.then8 + %18 = load i8*, i8** %s.addr, align 8 + ret i8* %18 +} + +; Function Attrs: nounwind +declare dso_local i64 @syscall(i64, ...) #4 + +; Function Attrs: noinline nounwind uwtable +define internal i8* @__concretize_ptr(i8* %p) #3 { +entry: + %p.addr = alloca i8*, align 8 + store i8* %p, i8** %p.addr, align 8 + %0 = load i8*, i8** %p.addr, align 8 + %1 = ptrtoint i8* %0 to i64 + %call = call i32 @gs_is_symbolic(i64 %1) + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @gs_report_error(i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 1386, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.27, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.28, i64 0, i64 0)) #24 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %p.addr, align 8 + ret i8* %2 +} + +declare dso_local i32 @gs_is_symbolic(i64) #5 + +declare dso_local i64 @gs_get_valuel(i64) #5 + +declare dso_local void @gs_assume(i1 zeroext) #5 + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.25, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +declare dso_local void @print_string(i8*) #5 + +declare dso_local void @sym_print(i32, ...) #5 + +; Function Attrs: noreturn +declare dso_local void @stop(i32) #7 + +; Function Attrs: argmemonly nounwind willreturn writeonly +declare void @llvm.memset.p0i8.i64(i8* nocapture writeonly, i8, i64, i1 immarg) #8 + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @getcwd(i8* %buf, i64 %size) #3 { +entry: + %retval = alloca i8*, align 8 + %buf.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %r = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + %0 = load i32, i32* @getcwd.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @getcwd.n_calls, align 4 + %1 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool = icmp ne i32 %1, 0 + br i1 %tobool, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %2 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %3 = load i32, i32* %2, align 4 + %4 = load i32, i32* @getcwd.n_calls, align 4 + %cmp = icmp eq i32 %3, %4 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %5 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %5, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call = call i32* @__errno_location() #25 + store i32 34, i32* %call, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + %6 = load i8*, i8** %buf.addr, align 8 + %tobool1 = icmp ne i8* %6, null + br i1 %tobool1, label %if.else, label %if.then2 + +if.then2: ; preds = %if.end + store i64 1024, i64* %size.addr, align 8 + %7 = load i64, i64* %size.addr, align 8 + %call3 = call noalias i8* @malloc(i64 %7) #11 + store i8* %call3, i8** %buf.addr, align 8 + %8 = load i8*, i8** %buf.addr, align 8 + %tobool4 = icmp ne i8* %8, null + br i1 %tobool4, label %if.end12, label %if.then5 + +if.then5: ; preds = %if.then2 + %call6 = call i32* @__errno_location() #25 + store i32 12, i32* %call6, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.else: ; preds = %if.end + %9 = load i64, i64* %size.addr, align 8 + %tobool8 = icmp ne i64 %9, 0 + br i1 %tobool8, label %if.end12, label %if.then9 + +if.then9: ; preds = %if.else + %call10 = call i32* @__errno_location() #25 + store i32 22, i32* %call10, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end12: ; preds = %if.else, %if.then2 + %10 = load i8*, i8** %buf.addr, align 8 + %call13 = call i8* @__concretize_ptr(i8* %10) + store i8* %call13, i8** %buf.addr, align 8 + %11 = load i64, i64* %size.addr, align 8 + %call14 = call i64 @__concretize_size(i64 %11) + store i64 %call14, i64* %size.addr, align 8 + %12 = load i8*, i8** %buf.addr, align 8 + %13 = load i64, i64* %size.addr, align 8 + %call15 = call i64 (i64, ...) @syscall(i64 79, i8* %12, i64 %13) #11 + %conv = trunc i64 %call15 to i32 + store i32 %conv, i32* %r, align 4 + %14 = load i32, i32* %r, align 4 + %cmp16 = icmp eq i32 %14, -1 + br i1 %cmp16, label %if.then18, label %if.end19 + +if.then18: ; preds = %if.end12 + store i8* null, i8** %retval, align 8 + br label %return + +if.end19: ; preds = %if.end12 + %15 = load i8*, i8** %buf.addr, align 8 + store i8* %15, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end19, %if.then18, %if.then9, %if.then5, %if.then + %16 = load i8*, i8** %retval, align 8 + ret i8* %16 +} + +; Function Attrs: nounwind +declare dso_local noalias i8* @malloc(i64) #4 + +; Function Attrs: noinline nounwind uwtable +define internal i64 @__concretize_size(i64 %s) #3 { +entry: + %s.addr = alloca i64, align 8 + %sc = alloca i64, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %call = call i64 @gs_get_valuel(i64 %0) + store i64 %call, i64* %sc, align 8 + %1 = load i64, i64* %sc, align 8 + %2 = load i64, i64* %s.addr, align 8 + %cmp = icmp eq i64 %1, %2 + call void @gs_assume(i1 zeroext %cmp) + %3 = load i64, i64* %sc, align 8 + ret i64 %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @umask(i32 %mask) #3 { +entry: + %mask.addr = alloca i32, align 4 + %r = alloca i32, align 4 + store i32 %mask, i32* %mask.addr, align 4 + %0 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 1), align 8 + store i32 %0, i32* %r, align 4 + %1 = load i32, i32* %mask.addr, align 4 + %and = and i32 %1, 511 + store i32 %and, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 1), align 8 + %2 = load i32, i32* %r, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_open(i8* %pathname, i32 %flags, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %fd = alloca i32, align 4 + %os_fd = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + store i32 0, i32* %fd, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %0, 32 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %1 = load i32, i32* %fd, align 4 + %idxprom = sext i32 %1 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + %flags1 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %arrayidx, i32 0, i32 1 + %2 = load i32, i32* %flags1, align 4 + %and = and i32 %2, 1 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %for.inc, label %for.end + +for.inc: ; preds = %for.body + %3 = load i32, i32* %fd, align 4 + %inc = add nsw i32 %3, 1 + store i32 %inc, i32* %fd, align 4 + br label %for.cond + +for.end: ; preds = %for.body, %for.cond + %4 = load i32, i32* %fd, align 4 + %cmp2 = icmp eq i32 %4, 32 + br i1 %cmp2, label %if.then3, label %if.end4 + +if.then3: ; preds = %for.end + %call = call i32* @__errno_location() #25 + store i32 24, i32* %call, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %for.end + %5 = load i32, i32* %fd, align 4 + %idxprom5 = sext i32 %5 to i64 + %arrayidx6 = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom5 + store %struct.exe_file_t* %arrayidx6, %struct.exe_file_t** %f, align 8 + %6 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %7 = bitcast %struct.exe_file_t* %6 to i8* + %8 = call i8* @memset(i8* %7, i32 0, i64 24) + %9 = load i8*, i8** %pathname.addr, align 8 + %call7 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %9) + store %struct.exe_disk_file_t* %call7, %struct.exe_disk_file_t** %df, align 8 + %10 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %tobool8 = icmp ne %struct.exe_disk_file_t* %10, null + br i1 %tobool8, label %if.then9, label %if.else45 + +if.then9: ; preds = %if.end4 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %12 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %12, i32 0, i32 3 + store %struct.exe_disk_file_t* %11, %struct.exe_disk_file_t** %dfile, align 8 + %13 = load i32, i32* %flags.addr, align 4 + %and10 = and i32 %13, 64 + %tobool11 = icmp ne i32 %and10, 0 + br i1 %tobool11, label %land.lhs.true, label %if.end16 + +land.lhs.true: ; preds = %if.then9 + %14 = load i32, i32* %flags.addr, align 4 + %and12 = and i32 %14, 128 + %tobool13 = icmp ne i32 %and12, 0 + br i1 %tobool13, label %if.then14, label %if.end16 + +if.then14: ; preds = %land.lhs.true + %call15 = call i32* @__errno_location() #25 + store i32 17, i32* %call15, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end16: ; preds = %land.lhs.true, %if.then9 + %15 = load i32, i32* %flags.addr, align 4 + %and17 = and i32 %15, 512 + %tobool18 = icmp ne i32 %and17, 0 + br i1 %tobool18, label %land.lhs.true19, label %if.end24 + +land.lhs.true19: ; preds = %if.end16 + %16 = load i32, i32* %flags.addr, align 4 + %and20 = and i32 %16, 0 + %tobool21 = icmp ne i32 %and20, 0 + br i1 %tobool21, label %if.then22, label %if.end24 + +if.then22: ; preds = %land.lhs.true19 + call void @gs_warning(i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.5, i64 0, i64 0)) + %call23 = call i32* @__errno_location() #25 + store i32 13, i32* %call23, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end24: ; preds = %land.lhs.true19, %if.end16 + %17 = load i32, i32* %flags.addr, align 4 + %and25 = and i32 %17, 128 + %tobool26 = icmp ne i32 %and25, 0 + br i1 %tobool26, label %land.lhs.true27, label %if.end32 + +land.lhs.true27: ; preds = %if.end24 + %18 = load i32, i32* %flags.addr, align 4 + %and28 = and i32 %18, 64 + %tobool29 = icmp ne i32 %and28, 0 + br i1 %tobool29, label %if.end32, label %if.then30 + +if.then30: ; preds = %land.lhs.true27 + call void @gs_warning(i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.1.6, i64 0, i64 0)) + %call31 = call i32* @__errno_location() #25 + store i32 13, i32* %call31, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end32: ; preds = %land.lhs.true27, %if.end24 + %19 = load i32, i32* %flags.addr, align 4 + %20 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %20, i32 0, i32 2 + %21 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %call33 = call i32 @has_permission(i32 %19, %struct.stat64* %21) + %tobool34 = icmp ne i32 %call33, 0 + br i1 %tobool34, label %if.else, label %if.then35 + +if.then35: ; preds = %if.end32 + %call36 = call i32* @__errno_location() #25 + store i32 13, i32* %call36, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.end32 + %22 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile37 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %22, i32 0, i32 3 + %23 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile37, align 8 + %stat38 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %23, i32 0, i32 2 + %24 = load %struct.stat64*, %struct.stat64** %stat38, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %24, i32 0, i32 3 + %25 = load i32, i32* %st_mode, align 8 + %and39 = and i32 %25, -512 + %26 = load i32, i32* %mode.addr, align 4 + %27 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 1), align 8 + %neg = xor i32 %27, -1 + %and40 = and i32 %26, %neg + %or = or i32 %and39, %and40 + %28 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile41 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %28, i32 0, i32 3 + %29 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile41, align 8 + %stat42 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %29, i32 0, i32 2 + %30 = load %struct.stat64*, %struct.stat64** %stat42, align 8 + %st_mode43 = getelementptr inbounds %struct.stat64, %struct.stat64* %30, i32 0, i32 3 + store i32 %or, i32* %st_mode43, align 8 + br label %if.end53 + +if.else45: ; preds = %if.end4 + %31 = load i8*, i8** %pathname.addr, align 8 + %call46 = call i8* @__concretize_string(i8* %31) + %32 = load i32, i32* %flags.addr, align 4 + %33 = load i32, i32* %mode.addr, align 4 + %call47 = call i64 (i64, ...) @syscall(i64 2, i8* %call46, i32 %32, i32 %33) #11 + %conv = trunc i64 %call47 to i32 + store i32 %conv, i32* %os_fd, align 4 + %34 = load i32, i32* %os_fd, align 4 + %cmp48 = icmp eq i32 %34, -1 + br i1 %cmp48, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.else45 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end51: ; preds = %if.else45 + %35 = load i32, i32* %os_fd, align 4 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd52 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 0 + store i32 %35, i32* %fd52, align 8 + br label %if.end53 + +if.end53: ; preds = %if.end51, %if.else + %37 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %37, i32 0, i32 1 + store i32 1, i32* %flags54, align 4 + %38 = load i32, i32* %flags.addr, align 4 + %and55 = and i32 %38, 3 + %cmp56 = icmp eq i32 %and55, 0 + br i1 %cmp56, label %if.then58, label %if.else61 + +if.then58: ; preds = %if.end53 + %39 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags59 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %39, i32 0, i32 1 + %40 = load i32, i32* %flags59, align 4 + %or60 = or i32 %40, 4 + store i32 %or60, i32* %flags59, align 4 + br label %if.end72 + +if.else61: ; preds = %if.end53 + %41 = load i32, i32* %flags.addr, align 4 + %and62 = and i32 %41, 3 + %cmp63 = icmp eq i32 %and62, 1 + %42 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags66 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %42, i32 0, i32 1 + %43 = load i32, i32* %flags66, align 4 + br i1 %cmp63, label %if.then65, label %if.else68 + +if.then65: ; preds = %if.else61 + %or67 = or i32 %43, 8 + store i32 %or67, i32* %flags66, align 4 + br label %if.end72 + +if.else68: ; preds = %if.else61 + %or70 = or i32 %43, 12 + store i32 %or70, i32* %flags66, align 4 + br label %if.end72 + +if.end72: ; preds = %if.then65, %if.else68, %if.then58 + %44 = load i32, i32* %fd, align 4 + store i32 %44, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end72, %if.then50, %if.then35, %if.then30, %if.then22, %if.then14, %if.then3 + %45 = load i32, i32* %retval, align 4 + ret i32 %45 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @gs_warning(i8* %message) #3 { +entry: + %message.addr = alloca i8*, align 8 + store i8* %message, i8** %message.addr, align 8 + %0 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %0) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.25, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @has_permission(i32 %flags, %struct.stat64* %s) #3 { +entry: + %retval = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %s.addr = alloca %struct.stat64*, align 8 + %write_access = alloca i32, align 4 + %read_access = alloca i32, align 4 + %mode = alloca i32, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store %struct.stat64* %s, %struct.stat64** %s.addr, align 8 + %0 = load %struct.stat64*, %struct.stat64** %s.addr, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %0, i32 0, i32 3 + %1 = load i32, i32* %st_mode, align 8 + store i32 %1, i32* %mode, align 4 + %2 = load i32, i32* %flags.addr, align 4 + %and = and i32 %2, 0 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %3 = load i32, i32* %flags.addr, align 4 + %and1 = and i32 %3, 2 + %tobool2 = icmp ne i32 %and1, 0 + br i1 %tobool2, label %if.then, label %if.else + +if.then: ; preds = %lor.lhs.false, %entry + store i32 1, i32* %read_access, align 4 + br label %if.end + +if.else: ; preds = %lor.lhs.false + store i32 0, i32* %read_access, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %4 = load i32, i32* %flags.addr, align 4 + %and3 = and i32 %4, 1 + %tobool4 = icmp ne i32 %and3, 0 + br i1 %tobool4, label %if.then8, label %lor.lhs.false5 + +lor.lhs.false5: ; preds = %if.end + %5 = load i32, i32* %flags.addr, align 4 + %and6 = and i32 %5, 2 + %tobool7 = icmp ne i32 %and6, 0 + br i1 %tobool7, label %if.then8, label %if.else9 + +if.then8: ; preds = %lor.lhs.false5, %if.end + store i32 1, i32* %write_access, align 4 + br label %if.end10 + +if.else9: ; preds = %lor.lhs.false5 + store i32 0, i32* %write_access, align 4 + br label %if.end10 + +if.end10: ; preds = %if.else9, %if.then8 + %6 = load i32, i32* %read_access, align 4 + %tobool11 = icmp ne i32 %6, 0 + br i1 %tobool11, label %land.lhs.true, label %if.end18 + +land.lhs.true: ; preds = %if.end10 + %7 = load i32, i32* %mode, align 4 + %and12 = and i32 %7, 256 + %8 = load i32, i32* %mode, align 4 + %and13 = and i32 %8, 32 + %or = or i32 %and12, %and13 + %9 = load i32, i32* %mode, align 4 + %and14 = and i32 %9, 4 + %or15 = or i32 %or, %and14 + %tobool16 = icmp ne i32 %or15, 0 + br i1 %tobool16, label %if.then17, label %if.end18 + +if.then17: ; preds = %land.lhs.true + store i32 0, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %land.lhs.true, %if.end10 + %10 = load i32, i32* %write_access, align 4 + %tobool19 = icmp ne i32 %10, 0 + br i1 %tobool19, label %land.lhs.true20, label %if.end28 + +land.lhs.true20: ; preds = %if.end18 + %11 = load i32, i32* %mode, align 4 + %and21 = and i32 %11, 128 + %12 = load i32, i32* %mode, align 4 + %and22 = and i32 %12, 16 + %or23 = or i32 %and21, %and22 + %13 = load i32, i32* %mode, align 4 + %and24 = and i32 %13, 2 + %or25 = or i32 %or23, %and24 + %tobool26 = icmp ne i32 %or25, 0 + br i1 %tobool26, label %if.end28, label %if.then27 + +if.then27: ; preds = %land.lhs.true20 + store i32 0, i32* %retval, align 4 + br label %return + +if.end28: ; preds = %land.lhs.true20, %if.end18 + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end28, %if.then27, %if.then17 + %14 = load i32, i32* %retval, align 4 + ret i32 %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_openat(i32 %basefd, i8* %pathname, i32 %flags, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %basefd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %fd = alloca i32, align 4 + %bf = alloca %struct.exe_file_t*, align 8 + %os_fd = alloca i32, align 4 + store i32 %basefd, i32* %basefd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %basefd.addr, align 4 + %cmp = icmp ne i32 %0, -100 + br i1 %cmp, label %if.then, label %if.end8 + +if.then: ; preds = %entry + %1 = load i32, i32* %basefd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %bf, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %bf, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.else, label %if.then1 + +if.then1: ; preds = %if.then + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %bf, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 3 + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool3 = icmp ne %struct.exe_disk_file_t* %4, null + br i1 %tobool3, label %if.then4, label %if.end6 + +if.then4: ; preds = %if.else + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0)) + %call5 = call i32* @__errno_location() #25 + store i32 2, i32* %call5, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.else + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %bf, align 8 + %fd7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd7, align 8 + store i32 %6, i32* %basefd.addr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end6, %entry + %7 = load i8*, i8** %pathname.addr, align 8 + %call9 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %7) + %tobool10 = icmp ne %struct.exe_disk_file_t* %call9, null + br i1 %tobool10, label %if.then11, label %if.end13 + +if.then11: ; preds = %if.end8 + %8 = load i8*, i8** %pathname.addr, align 8 + %9 = load i32, i32* %flags.addr, align 4 + %10 = load i32, i32* %mode.addr, align 4 + %call12 = call i32 @__fd_open(i8* %8, i32 %9, i32 %10) + store i32 %call12, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.end8 + store i32 0, i32* %fd, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end13 + %11 = load i32, i32* %fd, align 4 + %cmp14 = icmp slt i32 %11, 32 + br i1 %cmp14, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %12 = load i32, i32* %fd, align 4 + %idxprom = sext i32 %12 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + %flags15 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %arrayidx, i32 0, i32 1 + %13 = load i32, i32* %flags15, align 4 + %and = and i32 %13, 1 + %tobool16 = icmp ne i32 %and, 0 + br i1 %tobool16, label %for.inc, label %for.end + +for.inc: ; preds = %for.body + %14 = load i32, i32* %fd, align 4 + %inc = add nsw i32 %14, 1 + store i32 %inc, i32* %fd, align 4 + br label %for.cond + +for.end: ; preds = %for.body, %for.cond + %15 = load i32, i32* %fd, align 4 + %cmp19 = icmp eq i32 %15, 32 + br i1 %cmp19, label %if.then20, label %if.end22 + +if.then20: ; preds = %for.end + %call21 = call i32* @__errno_location() #25 + store i32 24, i32* %call21, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end22: ; preds = %for.end + %16 = load i32, i32* %fd, align 4 + %idxprom23 = sext i32 %16 to i64 + %arrayidx24 = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom23 + store %struct.exe_file_t* %arrayidx24, %struct.exe_file_t** %f, align 8 + %17 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %18 = bitcast %struct.exe_file_t* %17 to i8* + %19 = call i8* @memset(i8* %18, i32 0, i64 24) + %20 = load i32, i32* %basefd.addr, align 4 + %conv = sext i32 %20 to i64 + %21 = load i8*, i8** %pathname.addr, align 8 + %call25 = call i8* @__concretize_string(i8* %21) + %22 = load i32, i32* %flags.addr, align 4 + %conv26 = sext i32 %22 to i64 + %23 = load i32, i32* %mode.addr, align 4 + %call27 = call i64 (i64, ...) @syscall(i64 257, i64 %conv, i8* %call25, i64 %conv26, i32 %23) #11 + %conv28 = trunc i64 %call27 to i32 + store i32 %conv28, i32* %os_fd, align 4 + %24 = load i32, i32* %os_fd, align 4 + %cmp29 = icmp eq i32 %24, -1 + br i1 %cmp29, label %if.then31, label %if.end32 + +if.then31: ; preds = %if.end22 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end32: ; preds = %if.end22 + %25 = load i32, i32* %os_fd, align 4 + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd33 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 0 + store i32 %25, i32* %fd33, align 8 + %27 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags34 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %27, i32 0, i32 1 + store i32 1, i32* %flags34, align 4 + %28 = load i32, i32* %flags.addr, align 4 + %and35 = and i32 %28, 3 + %cmp36 = icmp eq i32 %and35, 0 + br i1 %cmp36, label %if.then38, label %if.else40 + +if.then38: ; preds = %if.end32 + %29 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags39 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %29, i32 0, i32 1 + %30 = load i32, i32* %flags39, align 4 + %or = or i32 %30, 4 + store i32 %or, i32* %flags39, align 4 + br label %if.end51 + +if.else40: ; preds = %if.end32 + %31 = load i32, i32* %flags.addr, align 4 + %and41 = and i32 %31, 3 + %cmp42 = icmp eq i32 %and41, 1 + %32 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags45 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %32, i32 0, i32 1 + %33 = load i32, i32* %flags45, align 4 + br i1 %cmp42, label %if.then44, label %if.else47 + +if.then44: ; preds = %if.else40 + %or46 = or i32 %33, 8 + store i32 %or46, i32* %flags45, align 4 + br label %if.end51 + +if.else47: ; preds = %if.else40 + %or49 = or i32 %33, 12 + store i32 %or49, i32* %flags45, align 4 + br label %if.end51 + +if.end51: ; preds = %if.then44, %if.else47, %if.then38 + %34 = load i32, i32* %fd, align 4 + store i32 %34, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end51, %if.then31, %if.then20, %if.then11, %if.then4, %if.then1 + %35 = load i32, i32* %retval, align 4 + ret i32 %35 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.exe_file_t* @__get_file(i32 %fd) #3 { +entry: + %retval = alloca %struct.exe_file_t*, align 8 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %cmp = icmp sge i32 %0, 0 + %1 = load i32, i32* %fd.addr, align 4 + %cmp1 = icmp slt i32 %1, 32 + %or.cond = and i1 %cmp, %cmp1 + br i1 %or.cond, label %if.then, label %if.end3 + +if.then: ; preds = %entry + %2 = load i32, i32* %fd.addr, align 4 + %idxprom = sext i32 %2 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + store %struct.exe_file_t* %arrayidx, %struct.exe_file_t** %f, align 8 + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 1 + %4 = load i32, i32* %flags, align 4 + %and = and i32 %4, 1 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.then + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + store %struct.exe_file_t* %5, %struct.exe_file_t** %retval, align 8 + br label %return + +if.end3: ; preds = %if.then, %entry + store %struct.exe_file_t* null, %struct.exe_file_t** %retval, align 8 + br label %return + +return: ; preds = %if.end3, %if.then2 + %6 = load %struct.exe_file_t*, %struct.exe_file_t** %retval, align 8 + ret %struct.exe_file_t* %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @utimes(i8* nonnull %path, %struct.timespec* %times) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %times.addr = alloca %struct.timespec*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + %newTimes = alloca [2 x %struct.timespec], align 16 + store i8* %path, i8** %path.addr, align 8 + store %struct.timespec* %times, %struct.timespec** %times.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end12 + +if.then: ; preds = %entry + %2 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %tobool1 = icmp ne %struct.timespec* %2, null + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + %arrayidx = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 0 + %call3 = call i32 @gettimeofday(%struct.timespec* %arrayidx, i8* null) #11 + %arrayidx4 = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 1 + %arrayidx5 = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 0 + %3 = bitcast %struct.timespec* %arrayidx4 to i8* + %4 = bitcast %struct.timespec* %arrayidx5 to i8* + %5 = call i8* @memcpy(i8* %3, i8* %4, i64 16) + %arraydecay = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 0 + store %struct.timespec* %arraydecay, %struct.timespec** %times.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %6 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %arrayidx6 = getelementptr inbounds %struct.timespec, %struct.timespec* %6, i64 0 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %arrayidx6, i32 0, i32 0 + %7 = load i64, i64* %tv_sec, align 8 + %8 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %8, i32 0, i32 2 + %9 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_atim = getelementptr inbounds %struct.stat64, %struct.stat64* %9, i32 0, i32 11 + %tv_sec7 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim, i32 0, i32 0 + store i64 %7, i64* %tv_sec7, align 8 + %10 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %arrayidx8 = getelementptr inbounds %struct.timespec, %struct.timespec* %10, i64 1 + %tv_sec9 = getelementptr inbounds %struct.timespec, %struct.timespec* %arrayidx8, i32 0, i32 0 + %11 = load i64, i64* %tv_sec9, align 8 + %12 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat10 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %12, i32 0, i32 2 + %13 = load %struct.stat64*, %struct.stat64** %stat10, align 8 + %st_mtim = getelementptr inbounds %struct.stat64, %struct.stat64* %13, i32 0, i32 12 + %tv_sec11 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim, i32 0, i32 0 + store i64 %11, i64* %tv_sec11, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.end12: ; preds = %entry + %14 = load i8*, i8** %path.addr, align 8 + %call13 = call i8* @__concretize_string(i8* %14) + %15 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %call14 = call i64 (i64, ...) @syscall(i64 235, i8* %call13, %struct.timespec* %15) #11 + %conv = trunc i64 %call14 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end12, %if.end + %16 = load i32, i32* %retval, align 4 + ret i32 %16 +} + +; Function Attrs: nounwind +declare dso_local i32 @gettimeofday(%struct.timespec*, i8*) #4 + +; Function Attrs: argmemonly nounwind willreturn +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* noalias nocapture writeonly, i8* noalias nocapture readonly, i64, i1 immarg) #9 + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @futimesat(i32 %fd, i8* %path, %struct.timespec* %times) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %times.addr = alloca %struct.timespec*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.timespec* %times, %struct.timespec** %times.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %cmp = icmp ne i32 %0, -100 + br i1 %cmp, label %if.then, label %if.end8 + +if.then: ; preds = %entry + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.else, label %if.then1 + +if.then1: ; preds = %if.then + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 3 + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool3 = icmp ne %struct.exe_disk_file_t* %4, null + br i1 %tobool3, label %if.then4, label %if.end6 + +if.then4: ; preds = %if.else + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0)) + %call5 = call i32* @__errno_location() #25 + store i32 2, i32* %call5, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.else + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd7, align 8 + store i32 %6, i32* %fd.addr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end6, %entry + %7 = load i8*, i8** %path.addr, align 8 + %call9 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %7) + %tobool10 = icmp ne %struct.exe_disk_file_t* %call9, null + br i1 %tobool10, label %if.then11, label %if.end13 + +if.then11: ; preds = %if.end8 + %8 = load i8*, i8** %path.addr, align 8 + %9 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %call12 = call i32 @utimes(i8* %8, %struct.timespec* %9) #11 + store i32 %call12, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.end8 + %10 = load i32, i32* %fd.addr, align 4 + %conv = sext i32 %10 to i64 + %11 = load i8*, i8** %path.addr, align 8 + %tobool14 = icmp ne i8* %11, null + br i1 %tobool14, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end13 + %12 = load i8*, i8** %path.addr, align 8 + %call15 = call i8* @__concretize_string(i8* %12) + br label %cond.end + +cond.end: ; preds = %if.end13, %cond.true + %cond = phi i8* [ %call15, %cond.true ], [ null, %if.end13 ] + %13 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %call16 = call i64 (i64, ...) @syscall(i64 261, i64 %conv, i8* %cond, %struct.timespec* %13) #11 + %conv17 = trunc i64 %call16 to i32 + store i32 %conv17, i32* %retval, align 4 + br label %return + +return: ; preds = %cond.end, %if.then11, %if.then4, %if.then1 + %14 = load i32, i32* %retval, align 4 + ret i32 %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @close(i32 %fd) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %r = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 0, i32* %r, align 4 + %0 = load i32, i32* @close.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @close.n_calls, align 4 + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @close.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %9 = bitcast %struct.exe_file_t* %8 to i8* + %10 = call i8* @memset(i8* %9, i32 0, i64 24) + %11 = load i32, i32* %r, align 4 + store i32 %11, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %12 = load i32, i32* %retval, align 4 + ret i32 %12 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @read(i32 %fd, i8* %buf, i64 %count) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %r = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + %0 = load i32, i32* @read.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @read.n_calls, align 4 + %1 = load i64, i64* %count.addr, align 8 + %cmp = icmp eq i64 %1, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i64 0, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %buf.addr, align 8 + %cmp1 = icmp eq i8* %2, null + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + %call = call i32* @__errno_location() #25 + store i32 14, i32* %call, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %3 = load i32, i32* %fd.addr, align 4 + %call4 = call %struct.exe_file_t* @__get_file(i32 %3) + store %struct.exe_file_t* %call4, %struct.exe_file_t** %f, align 8 + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %4, null + br i1 %tobool, label %if.end7, label %if.then5 + +if.then5: ; preds = %if.end3 + %call6 = call i32* @__errno_location() #25 + store i32 9, i32* %call6, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end7: ; preds = %if.end3 + %5 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool8 = icmp ne i32 %5, 0 + br i1 %tobool8, label %land.lhs.true, label %if.end12 + +land.lhs.true: ; preds = %if.end7 + %6 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %7 = load i32, i32* %6, align 4 + %8 = load i32, i32* @read.n_calls, align 4 + %cmp9 = icmp eq i32 %7, %8 + br i1 %cmp9, label %if.then10, label %if.end12 + +if.then10: ; preds = %land.lhs.true + %9 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %9, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call11 = call i32* @__errno_location() #25 + store i32 5, i32* %call11, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end12: ; preds = %land.lhs.true, %if.end7 + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 3 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool13 = icmp ne %struct.exe_disk_file_t* %11, null + br i1 %tobool13, label %if.else38, label %if.then14 + +if.then14: ; preds = %if.end12 + %12 = load i8*, i8** %buf.addr, align 8 + %call15 = call i8* @__concretize_ptr(i8* %12) + store i8* %call15, i8** %buf.addr, align 8 + %13 = load i64, i64* %count.addr, align 8 + %call16 = call i64 @__concretize_size(i64 %13) + store i64 %call16, i64* %count.addr, align 8 + %14 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd17 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %14, i32 0, i32 0 + %15 = load i32, i32* %fd17, align 8 + %cmp18 = icmp eq i32 %15, 0 + %16 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd20 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %16, i32 0, i32 0 + %17 = load i32, i32* %fd20, align 8 + %18 = load i8*, i8** %buf.addr, align 8 + %19 = load i64, i64* %count.addr, align 8 + br i1 %cmp18, label %if.then19, label %if.else + +if.then19: ; preds = %if.then14 + %call21 = call i64 (i64, ...) @syscall(i64 0, i32 %17, i8* %18, i64 %19) #11 + %conv = trunc i64 %call21 to i32 + store i32 %conv, i32* %r, align 4 + br label %if.end25 + +if.else: ; preds = %if.then14 + %20 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %20, i32 0, i32 2 + %21 = load i64, i64* %off, align 8 + %call23 = call i64 (i64, ...) @syscall(i64 17, i32 %17, i8* %18, i64 %19, i64 %21) #11 + %conv24 = trunc i64 %call23 to i32 + store i32 %conv24, i32* %r, align 4 + br label %if.end25 + +if.end25: ; preds = %if.else, %if.then19 + %22 = load i32, i32* %r, align 4 + %cmp26 = icmp eq i32 %22, -1 + br i1 %cmp26, label %if.then28, label %if.end29 + +if.then28: ; preds = %if.end25 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end29: ; preds = %if.end25 + %23 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd30 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %23, i32 0, i32 0 + %24 = load i32, i32* %fd30, align 8 + %cmp31 = icmp ne i32 %24, 0 + br i1 %cmp31, label %if.then33, label %if.end36 + +if.then33: ; preds = %if.end29 + %25 = load i32, i32* %r, align 4 + %conv34 = sext i32 %25 to i64 + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off35 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 2 + %27 = load i64, i64* %off35, align 8 + %add = add nsw i64 %27, %conv34 + store i64 %add, i64* %off35, align 8 + br label %if.end36 + +if.end36: ; preds = %if.then33, %if.end29 + %28 = load i32, i32* %r, align 4 + %conv37 = sext i32 %28 to i64 + store i64 %conv37, i64* %retval, align 8 + br label %return + +if.else38: ; preds = %if.end12 + %29 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off39 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %29, i32 0, i32 2 + %30 = load i64, i64* %off39, align 8 + %cmp40 = icmp sge i64 %30, 0 + br i1 %cmp40, label %if.end44, label %if.else43 + +if.else43: ; preds = %if.else38 + call void @__assert_fail(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.3, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 393, i8* getelementptr inbounds ([34 x i8], [34 x i8]* @__PRETTY_FUNCTION__.read, i64 0, i64 0)) #26 + unreachable + +if.end44: ; preds = %if.else38 + %31 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile45 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %31, i32 0, i32 3 + %32 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile45, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %32, i32 0, i32 0 + %33 = load i32, i32* %size, align 8 + %conv46 = zext i32 %33 to i64 + %34 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off47 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %34, i32 0, i32 2 + %35 = load i64, i64* %off47, align 8 + %cmp48 = icmp slt i64 %conv46, %35 + br i1 %cmp48, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.end44 + store i64 0, i64* %retval, align 8 + br label %return + +if.end51: ; preds = %if.end44 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off52 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 2 + %37 = load i64, i64* %off52, align 8 + %38 = load i64, i64* %count.addr, align 8 + %add53 = add i64 %37, %38 + %39 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %39, i32 0, i32 3 + %40 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile54, align 8 + %size55 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %40, i32 0, i32 0 + %41 = load i32, i32* %size55, align 8 + %conv56 = zext i32 %41 to i64 + %cmp57 = icmp ugt i64 %add53, %conv56 + br i1 %cmp57, label %if.then59, label %if.end64 + +if.then59: ; preds = %if.end51 + %42 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile60 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %42, i32 0, i32 3 + %43 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile60, align 8 + %size61 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %43, i32 0, i32 0 + %44 = load i32, i32* %size61, align 8 + %conv62 = zext i32 %44 to i64 + %45 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off63 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %45, i32 0, i32 2 + %46 = load i64, i64* %off63, align 8 + %sub = sub nsw i64 %conv62, %46 + store i64 %sub, i64* %count.addr, align 8 + br label %if.end64 + +if.end64: ; preds = %if.then59, %if.end51 + %47 = load i8*, i8** %buf.addr, align 8 + %48 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile65 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %48, i32 0, i32 3 + %49 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile65, align 8 + %contents = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %49, i32 0, i32 1 + %50 = load i8*, i8** %contents, align 8 + %51 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off66 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %51, i32 0, i32 2 + %52 = load i64, i64* %off66, align 8 + %add.ptr = getelementptr inbounds i8, i8* %50, i64 %52 + %53 = load i64, i64* %count.addr, align 8 + %54 = call i8* @memcpy(i8* %47, i8* %add.ptr, i64 %53) + %55 = load i64, i64* %count.addr, align 8 + %56 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off67 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %56, i32 0, i32 2 + %57 = load i64, i64* %off67, align 8 + %add68 = add i64 %57, %55 + store i64 %add68, i64* %off67, align 8 + %58 = load i64, i64* %count.addr, align 8 + store i64 %58, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end64, %if.then50, %if.end36, %if.then28, %if.then10, %if.then5, %if.then2, %if.then + %59 = load i64, i64* %retval, align 8 + ret i64 %59 +} + +; Function Attrs: noreturn nounwind +declare dso_local void @__assert_fail(i8*, i8*, i32, i8*) #10 + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @write(i32 %fd, i8* %buf, i64 %count) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %r = alloca i32, align 4 + %actual_count = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + %0 = load i32, i32* @write.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @write.n_calls, align 4 + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @write.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + br i1 %tobool6, label %if.else42, label %if.then7 + +if.then7: ; preds = %if.end5 + %10 = load i8*, i8** %buf.addr, align 8 + %call8 = call i8* @__concretize_ptr(i8* %10) + store i8* %call8, i8** %buf.addr, align 8 + %11 = load i64, i64* %count.addr, align 8 + %call9 = call i64 @__concretize_size(i64 %11) + store i64 %call9, i64* %count.addr, align 8 + %12 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd10 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %12, i32 0, i32 0 + %13 = load i32, i32* %fd10, align 8 + %cmp11 = icmp eq i32 %13, 1 + br i1 %cmp11, label %if.then14, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then7 + %14 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd12 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %14, i32 0, i32 0 + %15 = load i32, i32* %fd12, align 8 + %cmp13 = icmp eq i32 %15, 2 + br i1 %cmp13, label %if.then14, label %if.else + +if.then14: ; preds = %lor.lhs.false, %if.then7 + %16 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd15 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %16, i32 0, i32 0 + %17 = load i32, i32* %fd15, align 8 + %18 = load i8*, i8** %buf.addr, align 8 + %19 = load i64, i64* %count.addr, align 8 + %call16 = call i64 (i64, ...) @syscall(i64 1, i32 %17, i8* %18, i64 %19) #11 + %conv = trunc i64 %call16 to i32 + store i32 %conv, i32* %r, align 4 + br label %if.end20 + +if.else: ; preds = %lor.lhs.false + %20 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd17 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %20, i32 0, i32 0 + %21 = load i32, i32* %fd17, align 8 + %22 = load i8*, i8** %buf.addr, align 8 + %23 = load i64, i64* %count.addr, align 8 + %24 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %24, i32 0, i32 2 + %25 = load i64, i64* %off, align 8 + %call18 = call i64 (i64, ...) @syscall(i64 18, i32 %21, i8* %22, i64 %23, i64 %25) #11 + %conv19 = trunc i64 %call18 to i32 + store i32 %conv19, i32* %r, align 4 + br label %if.end20 + +if.end20: ; preds = %if.else, %if.then14 + %26 = load i32, i32* %r, align 4 + %cmp21 = icmp eq i32 %26, -1 + br i1 %cmp21, label %if.then23, label %if.end24 + +if.then23: ; preds = %if.end20 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end24: ; preds = %if.end20 + %27 = load i32, i32* %r, align 4 + %cmp25 = icmp sge i32 %27, 0 + br i1 %cmp25, label %if.end29, label %if.else28 + +if.else28: ; preds = %if.end24 + call void @__assert_fail(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.5.7, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 445, i8* getelementptr inbounds ([41 x i8], [41 x i8]* @__PRETTY_FUNCTION__.write, i64 0, i64 0)) #26 + unreachable + +if.end29: ; preds = %if.end24 + %28 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd30 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %28, i32 0, i32 0 + %29 = load i32, i32* %fd30, align 8 + %cmp31 = icmp ne i32 %29, 1 + br i1 %cmp31, label %land.lhs.true33, label %if.end40 + +land.lhs.true33: ; preds = %if.end29 + %30 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd34 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %30, i32 0, i32 0 + %31 = load i32, i32* %fd34, align 8 + %cmp35 = icmp ne i32 %31, 2 + br i1 %cmp35, label %if.then37, label %if.end40 + +if.then37: ; preds = %land.lhs.true33 + %32 = load i32, i32* %r, align 4 + %conv38 = sext i32 %32 to i64 + %33 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off39 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %33, i32 0, i32 2 + %34 = load i64, i64* %off39, align 8 + %add = add nsw i64 %34, %conv38 + store i64 %add, i64* %off39, align 8 + br label %if.end40 + +if.end40: ; preds = %if.then37, %land.lhs.true33, %if.end29 + %35 = load i32, i32* %r, align 4 + %conv41 = sext i32 %35 to i64 + store i64 %conv41, i64* %retval, align 8 + br label %return + +if.else42: ; preds = %if.end5 + store i64 0, i64* %actual_count, align 8 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off43 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 2 + %37 = load i64, i64* %off43, align 8 + %38 = load i64, i64* %count.addr, align 8 + %add44 = add i64 %37, %38 + %39 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile45 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %39, i32 0, i32 3 + %40 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile45, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %40, i32 0, i32 0 + %41 = load i32, i32* %size, align 8 + %conv46 = zext i32 %41 to i64 + %cmp47 = icmp ule i64 %add44, %conv46 + br i1 %cmp47, label %if.then49, label %if.else50 + +if.then49: ; preds = %if.else42 + %42 = load i64, i64* %count.addr, align 8 + store i64 %42, i64* %actual_count, align 8 + br label %if.end67 + +if.else50: ; preds = %if.else42 + %43 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 3), align 8 + %tobool51 = icmp ne i32 %43, 0 + br i1 %tobool51, label %if.then52, label %if.else53 + +if.then52: ; preds = %if.else50 + call void @__assert_fail(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.6, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 458, i8* getelementptr inbounds ([41 x i8], [41 x i8]* @__PRETTY_FUNCTION__.write, i64 0, i64 0)) #26 + unreachable + +if.else53: ; preds = %if.else50 + %44 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %44, i32 0, i32 2 + %45 = load i64, i64* %off54, align 8 + %46 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile55 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %46, i32 0, i32 3 + %47 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile55, align 8 + %size56 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %47, i32 0, i32 0 + %48 = load i32, i32* %size56, align 8 + %conv57 = zext i32 %48 to i64 + %cmp58 = icmp slt i64 %45, %conv57 + br i1 %cmp58, label %if.then60, label %if.end67 + +if.then60: ; preds = %if.else53 + %49 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile61 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %49, i32 0, i32 3 + %50 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile61, align 8 + %size62 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %50, i32 0, i32 0 + %51 = load i32, i32* %size62, align 8 + %conv63 = zext i32 %51 to i64 + %52 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off64 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %52, i32 0, i32 2 + %53 = load i64, i64* %off64, align 8 + %sub = sub nsw i64 %conv63, %53 + store i64 %sub, i64* %actual_count, align 8 + br label %if.end67 + +if.end67: ; preds = %if.then60, %if.else53, %if.then49 + %54 = load i64, i64* %actual_count, align 8 + %tobool68 = icmp ne i64 %54, 0 + br i1 %tobool68, label %if.then69, label %if.end72 + +if.then69: ; preds = %if.end67 + %55 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile70 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %55, i32 0, i32 3 + %56 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile70, align 8 + %contents = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %56, i32 0, i32 1 + %57 = load i8*, i8** %contents, align 8 + %58 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off71 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %58, i32 0, i32 2 + %59 = load i64, i64* %off71, align 8 + %add.ptr = getelementptr inbounds i8, i8* %57, i64 %59 + %60 = load i8*, i8** %buf.addr, align 8 + %61 = load i64, i64* %actual_count, align 8 + %62 = call i8* @memcpy(i8* %add.ptr, i8* %60, i64 %61) + br label %if.end72 + +if.end72: ; preds = %if.then69, %if.end67 + %63 = load i64, i64* %count.addr, align 8 + %64 = load i64, i64* %actual_count, align 8 + %cmp73 = icmp ne i64 %63, %64 + br i1 %cmp73, label %if.then75, label %if.end76 + +if.then75: ; preds = %if.end72 + call void @gs_warning(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.7, i64 0, i64 0)) + br label %if.end76 + +if.end76: ; preds = %if.then75, %if.end72 + %65 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile77 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %65, i32 0, i32 3 + %66 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile77, align 8 + %67 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + %cmp78 = icmp eq %struct.exe_disk_file_t* %66, %67 + br i1 %cmp78, label %if.then80, label %if.end84 + +if.then80: ; preds = %if.end76 + %68 = load i64, i64* %actual_count, align 8 + %69 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 3), align 8 + %conv81 = zext i32 %69 to i64 + %add82 = add i64 %conv81, %68 + %conv83 = trunc i64 %add82 to i32 + store i32 %conv83, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 3), align 8 + br label %if.end84 + +if.end84: ; preds = %if.then80, %if.end76 + %70 = load i64, i64* %count.addr, align 8 + %71 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off85 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %71, i32 0, i32 2 + %72 = load i64, i64* %off85, align 8 + %add86 = add i64 %72, %70 + store i64 %add86, i64* %off85, align 8 + %73 = load i64, i64* %count.addr, align 8 + store i64 %73, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end84, %if.end40, %if.then23, %if.then3, %if.then + %74 = load i64, i64* %retval, align 8 + ret i64 %74 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @__fd_lseek(i32 %fd, i64 %offset, i32 %whence) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + %new_off = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + %4 = load i32, i32* %whence.addr, align 4 + br i1 %tobool2, label %if.end24, label %if.then3 + +if.then3: ; preds = %if.end + %cmp = icmp eq i32 %4, 0 + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd5 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd5, align 8 + br i1 %cmp, label %if.then4, label %if.else + +if.then4: ; preds = %if.then3 + %7 = load i64, i64* %offset.addr, align 8 + %call6 = call i64 (i64, ...) @syscall(i64 8, i32 %6, i64 %7, i32 0) #11 + store i64 %call6, i64* %new_off, align 8 + br label %if.end19 + +if.else: ; preds = %if.then3 + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 2 + %9 = load i64, i64* %off, align 8 + %call8 = call i64 (i64, ...) @syscall(i64 8, i32 %6, i64 %9, i32 0) #11 + store i64 %call8, i64* %new_off, align 8 + %10 = load i64, i64* %new_off, align 8 + %cmp9 = icmp ne i64 %10, -1 + br i1 %cmp9, label %if.then10, label %if.end19 + +if.then10: ; preds = %if.else + %11 = load i64, i64* %new_off, align 8 + %12 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off11 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %12, i32 0, i32 2 + %13 = load i64, i64* %off11, align 8 + %cmp12 = icmp eq i64 %11, %13 + br i1 %cmp12, label %if.end15, label %if.else14 + +if.else14: ; preds = %if.then10 + call void @__assert_fail(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.8, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 504, i8* getelementptr inbounds ([38 x i8], [38 x i8]* @__PRETTY_FUNCTION__.__fd_lseek, i64 0, i64 0)) #26 + unreachable + +if.end15: ; preds = %if.then10 + %14 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd16 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %14, i32 0, i32 0 + %15 = load i32, i32* %fd16, align 8 + %16 = load i64, i64* %offset.addr, align 8 + %17 = load i32, i32* %whence.addr, align 4 + %call17 = call i64 (i64, ...) @syscall(i64 8, i32 %15, i64 %16, i32 %17) #11 + store i64 %call17, i64* %new_off, align 8 + br label %if.end19 + +if.end19: ; preds = %if.else, %if.end15, %if.then4 + %18 = load i64, i64* %new_off, align 8 + %cmp20 = icmp eq i64 %18, -1 + br i1 %cmp20, label %if.then21, label %if.end22 + +if.then21: ; preds = %if.end19 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end22: ; preds = %if.end19 + %19 = load i64, i64* %new_off, align 8 + %20 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off23 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %20, i32 0, i32 2 + store i64 %19, i64* %off23, align 8 + %21 = load i64, i64* %new_off, align 8 + store i64 %21, i64* %retval, align 8 + br label %return + +if.end24: ; preds = %if.end + br label %NodeBlock3 + +NodeBlock3: ; preds = %if.end24 + %case.cmp4 = icmp eq i32 %4, 0 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %4, 1 + br i1 %case.cmp2, label %sw.bb25, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %4, 2 + br i1 %case.cmp, label %sw.bb27, label %newDefault + +sw.bb: ; preds = %NodeBlock3 + %22 = load i64, i64* %offset.addr, align 8 + store i64 %22, i64* %new_off, align 8 + br label %sw.epilog + +sw.bb25: ; preds = %NodeBlock1 + %23 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off26 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %23, i32 0, i32 2 + %24 = load i64, i64* %off26, align 8 + %25 = load i64, i64* %offset.addr, align 8 + %add = add nsw i64 %24, %25 + store i64 %add, i64* %new_off, align 8 + br label %sw.epilog + +sw.bb27: ; preds = %NodeBlock + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile28 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 3 + %27 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile28, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %27, i32 0, i32 0 + %28 = load i32, i32* %size, align 8 + %conv = zext i32 %28 to i64 + %29 = load i64, i64* %offset.addr, align 8 + %add29 = add nsw i64 %conv, %29 + store i64 %add29, i64* %new_off, align 8 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + %call30 = call i32* @__errno_location() #25 + store i32 22, i32* %call30, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +sw.epilog: ; preds = %sw.bb27, %sw.bb25, %sw.bb + %30 = load i64, i64* %new_off, align 8 + %cmp31 = icmp slt i64 %30, 0 + br i1 %cmp31, label %if.then33, label %if.end35 + +if.then33: ; preds = %sw.epilog + %call34 = call i32* @__errno_location() #25 + store i32 22, i32* %call34, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end35: ; preds = %sw.epilog + %31 = load i64, i64* %new_off, align 8 + %32 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off36 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %32, i32 0, i32 2 + store i64 %31, i64* %off36, align 8 + %33 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off37 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %33, i32 0, i32 2 + %34 = load i64, i64* %off37, align 8 + store i64 %34, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end35, %if.then33, %sw.default, %if.end22, %if.then21, %if.then + %35 = load i64, i64* %retval, align 8 + ret i64 %35 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_stat(i8* %path, %struct.stat64* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %3 = bitcast %struct.stat64* %2 to i8* + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %4, i32 0, i32 2 + %5 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %6 = bitcast %struct.stat64* %5 to i8* + %7 = call i8* @memcpy(i8* %3, i8* %6, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load i8*, i8** %path.addr, align 8 + %call1 = call i8* @__concretize_string(i8* %8) + %9 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %call2 = call i64 (i64, ...) @syscall(i64 4, i8* %call1, %struct.stat64* %9) #11 + %conv = trunc i64 %call2 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %10 = load i32, i32* %retval, align 4 + ret i32 %10 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstatat(i32 %fd, i8* nonnull %path, %struct.stat64* nonnull %buf, i32 %flags) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %flags.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %dfile9 = alloca %struct.exe_disk_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %cmp = icmp ne i32 %0, -100 + br i1 %cmp, label %if.then, label %if.end8 + +if.then: ; preds = %entry + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.else, label %if.then1 + +if.then1: ; preds = %if.then + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 3 + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool3 = icmp ne %struct.exe_disk_file_t* %4, null + br i1 %tobool3, label %if.then4, label %if.end6 + +if.then4: ; preds = %if.else + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0)) + %call5 = call i32* @__errno_location() #25 + store i32 2, i32* %call5, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.else + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd7, align 8 + store i32 %6, i32* %fd.addr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end6, %entry + %7 = load i8*, i8** %path.addr, align 8 + %call10 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %7) + store %struct.exe_disk_file_t* %call10, %struct.exe_disk_file_t** %dfile9, align 8 + %8 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile9, align 8 + %tobool11 = icmp ne %struct.exe_disk_file_t* %8, null + br i1 %tobool11, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.end8 + %9 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %10 = bitcast %struct.stat64* %9 to i8* + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile9, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %11, i32 0, i32 2 + %12 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %13 = bitcast %struct.stat64* %12 to i8* + %14 = call i8* @memcpy(i8* %10, i8* %13, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.end8 + %15 = load i32, i32* %fd.addr, align 4 + %conv = sext i32 %15 to i64 + %16 = load i8*, i8** %path.addr, align 8 + %tobool14 = icmp ne i8* %16, null + br i1 %tobool14, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end13 + %17 = load i8*, i8** %path.addr, align 8 + %call15 = call i8* @__concretize_string(i8* %17) + br label %cond.end + +cond.end: ; preds = %if.end13, %cond.true + %cond = phi i8* [ %call15, %cond.true ], [ null, %if.end13 ] + %18 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %19 = load i32, i32* %flags.addr, align 4 + %conv16 = sext i32 %19 to i64 + %call17 = call i64 (i64, ...) @syscall(i64 262, i64 %conv, i8* %cond, %struct.stat64* %18, i64 %conv16) #11 + %conv18 = trunc i64 %call17 to i32 + store i32 %conv18, i32* %retval, align 4 + br label %return + +return: ; preds = %cond.end, %if.then12, %if.then4, %if.then1 + %20 = load i32, i32* %retval, align 4 + ret i32 %20 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_lstat(i8* %path, %struct.stat64* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %3 = bitcast %struct.stat64* %2 to i8* + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %4, i32 0, i32 2 + %5 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %6 = bitcast %struct.stat64* %5 to i8* + %7 = call i8* @memcpy(i8* %3, i8* %6, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load i8*, i8** %path.addr, align 8 + %call1 = call i8* @__concretize_string(i8* %8) + %9 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %call2 = call i64 (i64, ...) @syscall(i64 6, i8* %call1, %struct.stat64* %9) #11 + %conv = trunc i64 %call2 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %10 = load i32, i32* %retval, align 4 + ret i32 %10 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chdir(i8* nonnull %path) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0)) + %call1 = call i32* @__errno_location() #25 + store i32 2, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %2) + %call3 = call i64 (i64, ...) @syscall(i64 80, i8* %call2) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %3 = load i32, i32* %retval, align 4 + ret i32 %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fchdir(i32 %fd) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %if.end + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 2, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd6, align 8 + %call7 = call i64 (i64, ...) @syscall(i64 81, i32 %5) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chmod(i8* nonnull %path, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load i32, i32* @chmod.n_calls, align 4 + %inc = add nsw i32 %1, 1 + store i32 %inc, i32* @chmod.n_calls, align 4 + %2 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool = icmp ne i32 %2, 0 + br i1 %tobool, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %3 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 11), align 8 + %4 = load i32, i32* %3, align 4 + %5 = load i32, i32* @chmod.n_calls, align 4 + %cmp = icmp eq i32 %4, %5 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %6 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %6, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call1 = call i32* @__errno_location() #25 + store i32 5, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + %7 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %7, null + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %if.end + %8 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %9 = load i32, i32* %mode.addr, align 4 + %call4 = call i32 @__df_chmod(%struct.exe_disk_file_t* %8, i32 %9) + store i32 %call4, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %if.end + %10 = load i8*, i8** %path.addr, align 8 + %call6 = call i8* @__concretize_string(i8* %10) + %11 = load i32, i32* %mode.addr, align 4 + %call7 = call i64 (i64, ...) @syscall(i64 90, i8* %call6, i32 %11) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %12 = load i32, i32* %retval, align 4 + ret i32 %12 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__df_chmod(%struct.exe_disk_file_t* %df, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %df.addr = alloca %struct.exe_disk_file_t*, align 8 + %mode.addr = alloca i32, align 4 + store %struct.exe_disk_file_t* %df, %struct.exe_disk_file_t** %df.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %call = call i32 @geteuid() #11 + %0 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %0, i32 0, i32 2 + %1 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_uid = getelementptr inbounds %struct.stat64, %struct.stat64* %1, i32 0, i32 4 + %2 = load i32, i32* %st_uid, align 4 + %cmp = icmp eq i32 %call, %2 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %call1 = call i32 @getgid() #11 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %3, i32 0, i32 2 + %4 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + %st_gid = getelementptr inbounds %struct.stat64, %struct.stat64* %4, i32 0, i32 5 + %5 = load i32, i32* %st_gid, align 8 + %cmp3 = icmp ne i32 %call1, %5 + br i1 %cmp3, label %if.then4, label %if.end + +if.then4: ; preds = %if.then + %6 = load i32, i32* %mode.addr, align 4 + %and = and i32 %6, -1025 + store i32 %and, i32* %mode.addr, align 4 + br label %if.end + +if.end: ; preds = %if.then4, %if.then + %7 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat5 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %7, i32 0, i32 2 + %8 = load %struct.stat64*, %struct.stat64** %stat5, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %8, i32 0, i32 3 + %9 = load i32, i32* %st_mode, align 8 + %and6 = and i32 %9, -4096 + %10 = load i32, i32* %mode.addr, align 4 + %and7 = and i32 %10, 4095 + %or = or i32 %and6, %and7 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat8 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %11, i32 0, i32 2 + %12 = load %struct.stat64*, %struct.stat64** %stat8, align 8 + %st_mode9 = getelementptr inbounds %struct.stat64, %struct.stat64* %12, i32 0, i32 3 + store i32 %or, i32* %st_mode9, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %call10 = call i32* @__errno_location() #25 + store i32 1, i32* %call10, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.else, %if.end + %13 = load i32, i32* %retval, align 4 + ret i32 %13 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fchmod(i32 %fd, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i32, i32* @fchmod.n_calls, align 4 + %inc = add nsw i32 %2, 1 + store i32 %inc, i32* @fchmod.n_calls, align 4 + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 12), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @fchmod.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + br i1 %tobool6, label %if.then7, label %if.end10 + +if.then7: ; preds = %if.end5 + %dfile8 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 3 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile8, align 8 + %12 = load i32, i32* %mode.addr, align 4 + %call9 = call i32 @__df_chmod(%struct.exe_disk_file_t* %11, i32 %12) + store i32 %call9, i32* %retval, align 4 + br label %return + +if.end10: ; preds = %if.end5 + %fd11 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 0 + %13 = load i32, i32* %fd11, align 8 + %14 = load i32, i32* %mode.addr, align 4 + %call12 = call i64 (i64, ...) @syscall(i64 91, i32 %13, i32 %14) #11 + %conv = trunc i64 %call12 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end10, %if.then7, %if.then3, %if.then + %15 = load i32, i32* %retval, align 4 + ret i32 %15 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chown(i8* nonnull %path, i32 %owner, i32 %group) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %df, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %3 = load i32, i32* %owner.addr, align 4 + %4 = load i32, i32* %group.addr, align 4 + %call1 = call i32 @__df_chown(%struct.exe_disk_file_t* %2, i32 %3, i32 %4) + store i32 %call1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %5 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %5) + %6 = load i32, i32* %owner.addr, align 4 + %7 = load i32, i32* %group.addr, align 4 + %call3 = call i64 (i64, ...) @syscall(i64 92, i8* %call2, i32 %6, i32 %7) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__df_chown(%struct.exe_disk_file_t* %df, i32 %owner, i32 %group) #3 { +entry: + %df.addr = alloca %struct.exe_disk_file_t*, align 8 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + store %struct.exe_disk_file_t* %df, %struct.exe_disk_file_t** %df.addr, align 8 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + call void @gs_warning(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.26, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fchown(i32 %fd, i32 %owner, i32 %group) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end6 + +if.then3: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile4 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 3 + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile4, align 8 + %6 = load i32, i32* %owner.addr, align 4 + %7 = load i32, i32* %group.addr, align 4 + %call5 = call i32 @__df_chown(%struct.exe_disk_file_t* %5, i32 %6, i32 %7) + store i32 %call5, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.end + %8 = load i32, i32* %fd.addr, align 4 + %9 = load i32, i32* %owner.addr, align 4 + %10 = load i32, i32* %group.addr, align 4 + %call7 = call i64 (i64, ...) @syscall(i64 93, i32 %8, i32 %9, i32 %10) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end6, %if.then3, %if.then + %11 = load i32, i32* %retval, align 4 + ret i32 %11 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @lchown(i8* nonnull %path, i32 %owner, i32 %group) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %df, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %3 = load i32, i32* %owner.addr, align 4 + %4 = load i32, i32* %group.addr, align 4 + %call1 = call i32 @__df_chown(%struct.exe_disk_file_t* %2, i32 %3, i32 %4) + store i32 %call1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %5 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %5) + %6 = load i32, i32* %owner.addr, align 4 + %7 = load i32, i32* %group.addr, align 4 + %call3 = call i64 (i64, ...) @syscall(i64 92, i8* %call2, i32 %6, i32 %7) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_fstat(i32 %fd, %struct.stat64* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.end6, label %if.then3 + +if.then3: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd4 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd4, align 8 + %6 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %call5 = call i64 (i64, ...) @syscall(i64 5, i32 %5, %struct.stat64* %6) #11 + %conv = trunc i64 %call5 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.end + %7 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %8 = bitcast %struct.stat64* %7 to i8* + %9 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %9, i32 0, i32 3 + %10 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile7, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %10, i32 0, i32 2 + %11 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %12 = bitcast %struct.stat64* %11 to i8* + %13 = call i8* @memcpy(i8* %8, i8* %12, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end6, %if.then3, %if.then + %14 = load i32, i32* %retval, align 4 + ret i32 %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_ftruncate(i32 %fd, i64 %length) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %length.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %length, i64* %length.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load i32, i32* @__fd_ftruncate.n_calls, align 4 + %inc = add nsw i32 %1, 1 + store i32 %inc, i32* @__fd_ftruncate.n_calls, align 4 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @__fd_ftruncate.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + br i1 %tobool6, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end5 + call void @gs_warning(i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.10, i64 0, i64 0)) + %call8 = call i32* @__errno_location() #25 + store i32 5, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end9: ; preds = %if.end5 + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd10 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 0 + %11 = load i32, i32* %fd10, align 8 + %12 = load i64, i64* %length.addr, align 8 + %call11 = call i64 (i64, ...) @syscall(i64 77, i32 %11, i64 %12) #11 + %conv = trunc i64 %call11 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end9, %if.then7, %if.then3, %if.then + %13 = load i32, i32* %retval, align 4 + ret i32 %13 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_getdents(i32 %fd, %struct.dirent64* %dirp, i32 %count) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %dirp.addr = alloca %struct.dirent64*, align 8 + %count.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %i = alloca i64, align 8 + %pad = alloca i64, align 8 + %bytes = alloca i64, align 8 + %df = alloca %struct.exe_disk_file_t*, align 8 + %os_pos = alloca i64, align 8 + %res = alloca i32, align 4 + %s = alloca i64, align 8 + %pos = alloca i32, align 4 + %dp = alloca %struct.dirent64*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.dirent64* %dirp, %struct.dirent64** %dirp.addr, align 8 + store i32 %count, i32* %count.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.else + +if.then3: ; preds = %if.end + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 22, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 2 + %5 = load i64, i64* %off, align 8 + %cmp = icmp ult i64 %5, 4096 + br i1 %cmp, label %if.then5, label %if.else43 + +if.then5: ; preds = %if.else + store i64 0, i64* %bytes, align 8 + %6 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %6, i32 0, i32 2 + %7 = load i64, i64* %off6, align 8 + %div = udiv i64 %7, 280 + store i64 %div, i64* %i, align 8 + %8 = load i64, i64* %i, align 8 + %mul = mul i64 %8, 280 + %9 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %9, i32 0, i32 2 + %10 = load i64, i64* %off7, align 8 + %cmp8 = icmp ne i64 %mul, %10 + br i1 %cmp8, label %if.then11, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then5 + %11 = load i64, i64* %i, align 8 + %12 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %conv = zext i32 %12 to i64 + %cmp9 = icmp sgt i64 %11, %conv + br i1 %cmp9, label %if.then11, label %for.cond + +if.then11: ; preds = %lor.lhs.false, %if.then5 + %call12 = call i32* @__errno_location() #25 + store i32 22, i32* %call12, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +for.cond: ; preds = %lor.lhs.false, %for.body + %13 = load i64, i64* %i, align 8 + %14 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %conv14 = zext i32 %14 to i64 + %cmp15 = icmp slt i64 %13, %conv14 + br i1 %cmp15, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %15 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %16 = load i64, i64* %i, align 8 + %arrayidx = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %15, i64 %16 + store %struct.exe_disk_file_t* %arrayidx, %struct.exe_disk_file_t** %df, align 8 + %17 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %17, i32 0, i32 2 + %18 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %18, i32 0, i32 1 + %19 = load i64, i64* %st_ino, align 8 + %20 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_ino = getelementptr inbounds %struct.dirent64, %struct.dirent64* %20, i32 0, i32 0 + store i64 %19, i64* %d_ino, align 8 + %21 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen = getelementptr inbounds %struct.dirent64, %struct.dirent64* %21, i32 0, i32 2 + store i16 280, i16* %d_reclen, align 8 + %22 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat17 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %22, i32 0, i32 2 + %23 = load %struct.stat64*, %struct.stat64** %stat17, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %23, i32 0, i32 3 + %24 = load i32, i32* %st_mode, align 8 + %and = and i32 %24, 61440 + %shr = lshr i32 %and, 12 + %conv18 = trunc i32 %shr to i8 + %25 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_type = getelementptr inbounds %struct.dirent64, %struct.dirent64* %25, i32 0, i32 3 + store i8 %conv18, i8* %d_type, align 2 + %26 = load i64, i64* %i, align 8 + %add = add nsw i64 65, %26 + %conv19 = trunc i64 %add to i8 + %27 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_name = getelementptr inbounds %struct.dirent64, %struct.dirent64* %27, i32 0, i32 4 + %arrayidx20 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name, i64 0, i64 0 + store i8 %conv19, i8* %arrayidx20, align 1 + %28 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_name21 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %28, i32 0, i32 4 + %arrayidx22 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name21, i64 0, i64 1 + store i8 0, i8* %arrayidx22, align 1 + %29 = load i64, i64* %i, align 8 + %add23 = add nsw i64 %29, 1 + %mul24 = mul i64 %add23, 280 + %30 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_off = getelementptr inbounds %struct.dirent64, %struct.dirent64* %30, i32 0, i32 1 + store i64 %mul24, i64* %d_off, align 8 + %31 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen25 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %31, i32 0, i32 2 + %32 = load i16, i16* %d_reclen25, align 8 + %conv26 = zext i16 %32 to i64 + %33 = load i64, i64* %bytes, align 8 + %add27 = add nsw i64 %33, %conv26 + store i64 %add27, i64* %bytes, align 8 + %34 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %incdec.ptr = getelementptr inbounds %struct.dirent64, %struct.dirent64* %34, i32 1 + store %struct.dirent64* %incdec.ptr, %struct.dirent64** %dirp.addr, align 8 + %35 = load i64, i64* %i, align 8 + %inc = add nsw i64 %35, 1 + store i64 %inc, i64* %i, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %36 = load i32, i32* %count.addr, align 4 + %cmp28 = icmp uge i32 %36, 4096 + %37 = load i32, i32* %count.addr, align 4 + %cond = select i1 %cmp28, i32 4096, i32 %37 + %conv30 = zext i32 %cond to i64 + store i64 %conv30, i64* %pad, align 8 + %38 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_ino31 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %38, i32 0, i32 0 + store i64 0, i64* %d_ino31, align 8 + %39 = load i64, i64* %pad, align 8 + %40 = load i64, i64* %bytes, align 8 + %sub = sub nsw i64 %39, %40 + %conv32 = trunc i64 %sub to i16 + %41 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen33 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %41, i32 0, i32 2 + store i16 %conv32, i16* %d_reclen33, align 8 + %42 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_type34 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %42, i32 0, i32 3 + store i8 0, i8* %d_type34, align 2 + %43 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_name35 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %43, i32 0, i32 4 + %arrayidx36 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name35, i64 0, i64 0 + store i8 0, i8* %arrayidx36, align 1 + %44 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_off37 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %44, i32 0, i32 1 + store i64 4096, i64* %d_off37, align 8 + %45 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen38 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %45, i32 0, i32 2 + %46 = load i16, i16* %d_reclen38, align 8 + %conv39 = zext i16 %46 to i64 + %47 = load i64, i64* %bytes, align 8 + %add40 = add nsw i64 %47, %conv39 + store i64 %add40, i64* %bytes, align 8 + %48 = load i64, i64* %pad, align 8 + %49 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off41 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %49, i32 0, i32 2 + store i64 %48, i64* %off41, align 8 + %50 = load i64, i64* %bytes, align 8 + %conv42 = trunc i64 %50 to i32 + store i32 %conv42, i32* %retval, align 4 + br label %return + +if.else43: ; preds = %if.else + %51 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off44 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %51, i32 0, i32 2 + %52 = load i64, i64* %off44, align 8 + %sub45 = sub nsw i64 %52, 4096 + store i64 %sub45, i64* %os_pos, align 8 + store i64 0, i64* %s, align 8 + %53 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %54 = bitcast %struct.dirent64* %53 to i8* + %55 = load i32, i32* %count.addr, align 4 + %conv46 = zext i32 %55 to i64 + %56 = call i8* @memset(i8* %54, i32 0, i64 %conv46) + %57 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd47 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %57, i32 0, i32 0 + %58 = load i32, i32* %fd47, align 8 + %59 = load i64, i64* %os_pos, align 8 + %call48 = call i64 (i64, ...) @syscall(i64 8, i32 %58, i64 %59, i32 0) #11 + store i64 %call48, i64* %s, align 8 + %60 = load i64, i64* %s, align 8 + %cmp49 = icmp ne i64 %60, -1 + br i1 %cmp49, label %if.end53, label %if.else52 + +if.else52: ; preds = %if.else43 + call void @__assert_fail(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.12, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 840, i8* getelementptr inbounds ([65 x i8], [65 x i8]* @__PRETTY_FUNCTION__.__fd_getdents, i64 0, i64 0)) #26 + unreachable + +if.end53: ; preds = %if.else43 + %61 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %61, i32 0, i32 0 + %62 = load i32, i32* %fd54, align 8 + %63 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %64 = load i32, i32* %count.addr, align 4 + %call55 = call i64 (i64, ...) @syscall(i64 217, i32 %62, %struct.dirent64* %63, i32 %64) #11 + %conv56 = trunc i64 %call55 to i32 + store i32 %conv56, i32* %res, align 4 + %65 = load i32, i32* %res, align 4 + %cmp57 = icmp sgt i32 %65, -1 + br i1 %cmp57, label %if.then59, label %if.end78 + +if.then59: ; preds = %if.end53 + store i32 0, i32* %pos, align 4 + %66 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd60 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %66, i32 0, i32 0 + %67 = load i32, i32* %fd60, align 8 + %call61 = call i64 (i64, ...) @syscall(i64 8, i32 %67, i32 0, i32 1) #11 + %68 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off62 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %68, i32 0, i32 2 + store i64 %call61, i64* %off62, align 8 + %69 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off63 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %69, i32 0, i32 2 + %70 = load i64, i64* %off63, align 8 + %cmp64 = icmp ne i64 %70, -1 + br i1 %cmp64, label %if.end68, label %if.else67 + +if.else67: ; preds = %if.then59 + call void @__assert_fail(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.13, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 845, i8* getelementptr inbounds ([65 x i8], [65 x i8]* @__PRETTY_FUNCTION__.__fd_getdents, i64 0, i64 0)) #26 + unreachable + +if.end68: ; preds = %if.then59 + %71 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off69 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %71, i32 0, i32 2 + %72 = load i64, i64* %off69, align 8 + %add70 = add nsw i64 %72, 4096 + store i64 %add70, i64* %off69, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end68 + %73 = load i32, i32* %pos, align 4 + %74 = load i32, i32* %res, align 4 + %cmp71 = icmp slt i32 %73, %74 + br i1 %cmp71, label %while.body, label %if.end78 + +while.body: ; preds = %while.cond + %75 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %76 = bitcast %struct.dirent64* %75 to i8* + %77 = load i32, i32* %pos, align 4 + %idx.ext = sext i32 %77 to i64 + %add.ptr = getelementptr inbounds i8, i8* %76, i64 %idx.ext + %78 = bitcast i8* %add.ptr to %struct.dirent64* + store %struct.dirent64* %78, %struct.dirent64** %dp, align 8 + %79 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_off73 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %79, i32 0, i32 1 + %80 = load i64, i64* %d_off73, align 8 + %add74 = add nsw i64 %80, 4096 + store i64 %add74, i64* %d_off73, align 8 + %81 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_reclen75 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %81, i32 0, i32 2 + %82 = load i16, i16* %d_reclen75, align 8 + %conv76 = zext i16 %82 to i32 + %83 = load i32, i32* %pos, align 4 + %add77 = add nsw i32 %83, %conv76 + store i32 %add77, i32* %pos, align 4 + br label %while.cond + +if.end78: ; preds = %while.cond, %if.end53 + %84 = load i32, i32* %res, align 4 + store i32 %84, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end78, %for.end, %if.then11, %if.then3, %if.then + %85 = load i32, i32* %retval, align 4 + ret i32 %85 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @ioctl(i32 %fd, i64 %request, ...) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %request.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + %buf = alloca i8*, align 8 + %stat = alloca %struct.stat64*, align 8 + %ts = alloca %struct.termios*, align 8 + %ws = alloca %struct.winsize*, align 8 + %res = alloca i32*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %request, i64* %request.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay2 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay2) + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.end + %2 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 3 + %reg_save_area = load i8*, i8** %2, align 16 + %3 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %4 = bitcast i8* %3 to i8** + %5 = add i32 %gp_offset, 8 + store i32 %5, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.end + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %6 = bitcast i8* %overflow_arg_area to i8** + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i8** [ %4, %vaarg.in_reg ], [ %6, %vaarg.in_mem ] + %7 = load i8*, i8** %vaarg.addr, align 8 + store i8* %7, i8** %buf, align 8 + %arraydecay4 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay45 = bitcast %struct.__va_list_tag.0* %arraydecay4 to i8* + call void @llvm.va_end(i8* %arraydecay45) + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + br i1 %tobool6, label %if.then7, label %if.end103 + +if.then7: ; preds = %vaarg.end + %dfile8 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 3 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile8, align 8 + %stat9 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %11, i32 0, i32 2 + %12 = load %struct.stat64*, %struct.stat64** %stat9, align 8 + %13 = bitcast %struct.stat64* %12 to %struct.stat64* + store %struct.stat64* %13, %struct.stat64** %stat, align 8 + %14 = load i64, i64* %request.addr, align 8 + br label %NodeBlock13 + +NodeBlock13: ; preds = %if.then7 + %case.cmp14 = icmp eq i64 %14, 21505 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i64 %14, 21506 + br i1 %case.cmp12, label %sw.bb48, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i64 %14, 21507 + br i1 %case.cmp10, label %sw.bb55, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i64 %14, 21508 + br i1 %case.cmp8, label %sw.bb60, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i64 %14, 21523 + br i1 %case.cmp6, label %sw.bb67, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i64 %14, 21524 + br i1 %case.cmp4, label %sw.bb74, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i64 %14, 21531 + br i1 %case.cmp2, label %sw.bb82, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i64 %14, 2150657282 + br i1 %case.cmp, label %sw.bb100, label %newDefault + +sw.bb: ; preds = %NodeBlock13 + %15 = load i8*, i8** %buf, align 8 + %16 = bitcast i8* %15 to %struct.termios* + store %struct.termios* %16, %struct.termios** %ts, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.14, i64 0, i64 0)) + %17 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %17, i32 0, i32 3 + %18 = load i32, i32* %st_mode, align 8 + %and = and i32 %18, 61440 + %cmp = icmp eq i32 %and, 8192 + br i1 %cmp, label %if.then10, label %if.else + +if.then10: ; preds = %sw.bb + %19 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_iflag = getelementptr inbounds %struct.termios, %struct.termios* %19, i32 0, i32 0 + store i32 27906, i32* %c_iflag, align 4 + %20 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_oflag = getelementptr inbounds %struct.termios, %struct.termios* %20, i32 0, i32 1 + store i32 5, i32* %c_oflag, align 4 + %21 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cflag = getelementptr inbounds %struct.termios, %struct.termios* %21, i32 0, i32 2 + store i32 1215, i32* %c_cflag, align 4 + %22 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_lflag = getelementptr inbounds %struct.termios, %struct.termios* %22, i32 0, i32 3 + store i32 35287, i32* %c_lflag, align 4 + %23 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_line = getelementptr inbounds %struct.termios, %struct.termios* %23, i32 0, i32 4 + store i8 0, i8* %c_line, align 4 + %24 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc = getelementptr inbounds %struct.termios, %struct.termios* %24, i32 0, i32 5 + %arrayidx = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc, i64 0, i64 0 + store i8 3, i8* %arrayidx, align 1 + %25 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc11 = getelementptr inbounds %struct.termios, %struct.termios* %25, i32 0, i32 5 + %arrayidx12 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc11, i64 0, i64 1 + store i8 28, i8* %arrayidx12, align 1 + %26 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc13 = getelementptr inbounds %struct.termios, %struct.termios* %26, i32 0, i32 5 + %arrayidx14 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc13, i64 0, i64 2 + store i8 127, i8* %arrayidx14, align 1 + %27 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc15 = getelementptr inbounds %struct.termios, %struct.termios* %27, i32 0, i32 5 + %arrayidx16 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc15, i64 0, i64 3 + store i8 21, i8* %arrayidx16, align 1 + %28 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc17 = getelementptr inbounds %struct.termios, %struct.termios* %28, i32 0, i32 5 + %arrayidx18 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc17, i64 0, i64 4 + store i8 4, i8* %arrayidx18, align 1 + %29 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc19 = getelementptr inbounds %struct.termios, %struct.termios* %29, i32 0, i32 5 + %arrayidx20 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc19, i64 0, i64 5 + store i8 0, i8* %arrayidx20, align 1 + %30 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc21 = getelementptr inbounds %struct.termios, %struct.termios* %30, i32 0, i32 5 + %arrayidx22 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc21, i64 0, i64 6 + store i8 1, i8* %arrayidx22, align 1 + %31 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc23 = getelementptr inbounds %struct.termios, %struct.termios* %31, i32 0, i32 5 + %arrayidx24 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc23, i64 0, i64 7 + store i8 -1, i8* %arrayidx24, align 1 + %32 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc25 = getelementptr inbounds %struct.termios, %struct.termios* %32, i32 0, i32 5 + %arrayidx26 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc25, i64 0, i64 8 + store i8 17, i8* %arrayidx26, align 1 + %33 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc27 = getelementptr inbounds %struct.termios, %struct.termios* %33, i32 0, i32 5 + %arrayidx28 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc27, i64 0, i64 9 + store i8 19, i8* %arrayidx28, align 1 + %34 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc29 = getelementptr inbounds %struct.termios, %struct.termios* %34, i32 0, i32 5 + %arrayidx30 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc29, i64 0, i64 10 + store i8 26, i8* %arrayidx30, align 1 + %35 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc31 = getelementptr inbounds %struct.termios, %struct.termios* %35, i32 0, i32 5 + %arrayidx32 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc31, i64 0, i64 11 + store i8 -1, i8* %arrayidx32, align 1 + %36 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc33 = getelementptr inbounds %struct.termios, %struct.termios* %36, i32 0, i32 5 + %arrayidx34 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc33, i64 0, i64 12 + store i8 18, i8* %arrayidx34, align 1 + %37 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc35 = getelementptr inbounds %struct.termios, %struct.termios* %37, i32 0, i32 5 + %arrayidx36 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc35, i64 0, i64 13 + store i8 15, i8* %arrayidx36, align 1 + %38 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc37 = getelementptr inbounds %struct.termios, %struct.termios* %38, i32 0, i32 5 + %arrayidx38 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc37, i64 0, i64 14 + store i8 23, i8* %arrayidx38, align 1 + %39 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc39 = getelementptr inbounds %struct.termios, %struct.termios* %39, i32 0, i32 5 + %arrayidx40 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc39, i64 0, i64 15 + store i8 22, i8* %arrayidx40, align 1 + %40 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc41 = getelementptr inbounds %struct.termios, %struct.termios* %40, i32 0, i32 5 + %arrayidx42 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc41, i64 0, i64 16 + store i8 -1, i8* %arrayidx42, align 1 + %41 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc43 = getelementptr inbounds %struct.termios, %struct.termios* %41, i32 0, i32 5 + %arrayidx44 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc43, i64 0, i64 17 + store i8 0, i8* %arrayidx44, align 1 + %42 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc45 = getelementptr inbounds %struct.termios, %struct.termios* %42, i32 0, i32 5 + %arrayidx46 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc45, i64 0, i64 18 + store i8 0, i8* %arrayidx46, align 1 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %sw.bb + %call47 = call i32* @__errno_location() #25 + store i32 25, i32* %call47, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb48: ; preds = %NodeBlock11 + call void @gs_warning_once(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.15, i64 0, i64 0)) + %43 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode49 = getelementptr inbounds %struct.stat64, %struct.stat64* %43, i32 0, i32 3 + %44 = load i32, i32* %st_mode49, align 8 + %and50 = and i32 %44, 61440 + %cmp51 = icmp eq i32 %and50, 8192 + br i1 %cmp51, label %if.then52, label %if.else53 + +if.then52: ; preds = %sw.bb48 + store i32 0, i32* %retval, align 4 + br label %return + +if.else53: ; preds = %sw.bb48 + %call54 = call i32* @__errno_location() #25 + store i32 25, i32* %call54, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb55: ; preds = %NodeBlock9 + call void @gs_warning_once(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.16, i64 0, i64 0)) + %45 = load i32, i32* %fd.addr, align 4 + %cmp56 = icmp eq i32 %45, 0 + br i1 %cmp56, label %if.then57, label %if.else58 + +if.then57: ; preds = %sw.bb55 + store i32 0, i32* %retval, align 4 + br label %return + +if.else58: ; preds = %sw.bb55 + %call59 = call i32* @__errno_location() #25 + store i32 25, i32* %call59, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb60: ; preds = %NodeBlock7 + call void @gs_warning_once(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.17, i64 0, i64 0)) + %46 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode61 = getelementptr inbounds %struct.stat64, %struct.stat64* %46, i32 0, i32 3 + %47 = load i32, i32* %st_mode61, align 8 + %and62 = and i32 %47, 61440 + %cmp63 = icmp eq i32 %and62, 8192 + br i1 %cmp63, label %if.then64, label %if.else65 + +if.then64: ; preds = %sw.bb60 + store i32 0, i32* %retval, align 4 + br label %return + +if.else65: ; preds = %sw.bb60 + %call66 = call i32* @__errno_location() #25 + store i32 25, i32* %call66, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb67: ; preds = %NodeBlock5 + %48 = load i8*, i8** %buf, align 8 + %49 = bitcast i8* %48 to %struct.winsize* + store %struct.winsize* %49, %struct.winsize** %ws, align 8 + %50 = load %struct.winsize*, %struct.winsize** %ws, align 8 + %ws_row = getelementptr inbounds %struct.winsize, %struct.winsize* %50, i32 0, i32 0 + store i16 24, i16* %ws_row, align 2 + %51 = load %struct.winsize*, %struct.winsize** %ws, align 8 + %ws_col = getelementptr inbounds %struct.winsize, %struct.winsize* %51, i32 0, i32 1 + store i16 80, i16* %ws_col, align 2 + call void @gs_warning_once(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.18, i64 0, i64 0)) + %52 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode68 = getelementptr inbounds %struct.stat64, %struct.stat64* %52, i32 0, i32 3 + %53 = load i32, i32* %st_mode68, align 8 + %and69 = and i32 %53, 61440 + %cmp70 = icmp eq i32 %and69, 8192 + br i1 %cmp70, label %if.then71, label %if.else72 + +if.then71: ; preds = %sw.bb67 + store i32 0, i32* %retval, align 4 + br label %return + +if.else72: ; preds = %sw.bb67 + %call73 = call i32* @__errno_location() #25 + store i32 25, i32* %call73, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb74: ; preds = %NodeBlock3 + call void @gs_warning_once(i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.19, i64 0, i64 0)) + %54 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode75 = getelementptr inbounds %struct.stat64, %struct.stat64* %54, i32 0, i32 3 + %55 = load i32, i32* %st_mode75, align 8 + %and76 = and i32 %55, 61440 + %cmp77 = icmp eq i32 %and76, 8192 + %call79 = call i32* @__errno_location() #25 + br i1 %cmp77, label %if.then78, label %if.else80 + +if.then78: ; preds = %sw.bb74 + store i32 22, i32* %call79, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else80: ; preds = %sw.bb74 + store i32 25, i32* %call79, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb82: ; preds = %NodeBlock1 + %56 = load i8*, i8** %buf, align 8 + %57 = bitcast i8* %56 to i32* + store i32* %57, i32** %res, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.20, i64 0, i64 0)) + %58 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode83 = getelementptr inbounds %struct.stat64, %struct.stat64* %58, i32 0, i32 3 + %59 = load i32, i32* %st_mode83, align 8 + %and84 = and i32 %59, 61440 + %cmp85 = icmp eq i32 %and84, 8192 + br i1 %cmp85, label %if.then86, label %if.else98 + +if.then86: ; preds = %sw.bb82 + %60 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %60, i32 0, i32 2 + %61 = load i64, i64* %off, align 8 + %62 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile87 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %62, i32 0, i32 3 + %63 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile87, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %63, i32 0, i32 0 + %64 = load i32, i32* %size, align 8 + %conv = zext i32 %64 to i64 + %cmp88 = icmp slt i64 %61, %conv + br i1 %cmp88, label %if.then90, label %if.else96 + +if.then90: ; preds = %if.then86 + %65 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile91 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %65, i32 0, i32 3 + %66 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile91, align 8 + %size92 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %66, i32 0, i32 0 + %67 = load i32, i32* %size92, align 8 + %conv93 = zext i32 %67 to i64 + %68 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off94 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %68, i32 0, i32 2 + %69 = load i64, i64* %off94, align 8 + %sub = sub nsw i64 %conv93, %69 + %conv95 = trunc i64 %sub to i32 + %70 = load i32*, i32** %res, align 8 + store i32 %conv95, i32* %70, align 4 + br label %if.end97 + +if.else96: ; preds = %if.then86 + %71 = load i32*, i32** %res, align 8 + store i32 0, i32* %71, align 4 + br label %if.end97 + +if.end97: ; preds = %if.else96, %if.then90 + store i32 0, i32* %retval, align 4 + br label %return + +if.else98: ; preds = %sw.bb82 + %call99 = call i32* @__errno_location() #25 + store i32 25, i32* %call99, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb100: ; preds = %NodeBlock + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.21, i64 0, i64 0)) + %call101 = call i32* @__errno_location() #25 + store i32 22, i32* %call101, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0)) + %call102 = call i32* @__errno_location() #25 + store i32 22, i32* %call102, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end103: ; preds = %vaarg.end + %fd104 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 0 + %72 = load i32, i32* %fd104, align 8 + %73 = load i64, i64* %request.addr, align 8 + %74 = load i8*, i8** %buf, align 8 + %call105 = call i64 (i64, ...) @syscall(i64 16, i32 %72, i64 %73, i8* %74) #11 + %conv106 = trunc i64 %call105 to i32 + store i32 %conv106, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end103, %sw.default, %sw.bb100, %if.else98, %if.end97, %if.else80, %if.then78, %if.else72, %if.then71, %if.else65, %if.then64, %if.else58, %if.then57, %if.else53, %if.then52, %if.else, %if.then10, %if.then + %75 = load i32, i32* %retval, align 4 + ret i32 %75 +} + +; Function Attrs: nounwind +declare void @llvm.va_start(i8*) #11 + +; Function Attrs: nounwind +declare void @llvm.va_end(i8*) #11 + +declare dso_local void @gs_warning_once(i8*) #5 + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fcntl(i32 %fd, i32 %cmd, ...) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %cmd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + %arg = alloca i32, align 4 + %lock = alloca %struct.flock*, align 8 + %flags = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %cmd, i32* %cmd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i32, i32* %cmd.addr, align 4 + %cmp = icmp eq i32 %2, 1 + %3 = load i32, i32* %cmd.addr, align 4 + %cmp2 = icmp eq i32 %3, 3 + %or.cond = or i1 %cmp, %cmp2 + %4 = load i32, i32* %cmd.addr, align 4 + %cmp4 = icmp eq i32 %4, 9 + %or.cond1 = or i1 %or.cond, %cmp4 + %5 = load i32, i32* %cmd.addr, align 4 + %cmp6 = icmp eq i32 %5, 11 + %or.cond2 = or i1 %or.cond1, %cmp6 + %6 = load i32, i32* %cmd.addr, align 4 + %cmp8 = icmp eq i32 %6, 1025 + %or.cond3 = or i1 %or.cond2, %cmp8 + %7 = load i32, i32* %cmd.addr, align 4 + %cmp10 = icmp eq i32 %7, 1026 + %or.cond4 = or i1 %or.cond3, %cmp10 + br i1 %or.cond4, label %if.then11, label %if.else + +if.then11: ; preds = %if.end + store i32 0, i32* %arg, align 4 + br label %if.end40 + +if.else: ; preds = %if.end + %8 = load i32, i32* %cmd.addr, align 4 + %cmp12 = icmp eq i32 %8, 5 + %9 = load i32, i32* %cmd.addr, align 4 + %cmp14 = icmp eq i32 %9, 6 + %or.cond5 = or i1 %cmp12, %cmp14 + %10 = load i32, i32* %cmd.addr, align 4 + %cmp16 = icmp eq i32 %10, 7 + %or.cond6 = or i1 %or.cond5, %cmp16 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay18 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay18) + %arraydecay19 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %or.cond6, label %if.then17, label %if.else22 + +if.then17: ; preds = %if.else + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then17 + %11 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 3 + %reg_save_area = load i8*, i8** %11, align 16 + %12 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %13 = bitcast i8* %12 to %struct.flock** + %14 = add i32 %gp_offset, 8 + store i32 %14, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then17 + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %15 = bitcast i8* %overflow_arg_area to %struct.flock** + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi %struct.flock** [ %13, %vaarg.in_reg ], [ %15, %vaarg.in_mem ] + %16 = load %struct.flock*, %struct.flock** %vaarg.addr, align 8 + store %struct.flock* %16, %struct.flock** %lock, align 8 + %arraydecay20 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay2021 = bitcast %struct.__va_list_tag.0* %arraydecay20 to i8* + call void @llvm.va_end(i8* %arraydecay2021) + br label %if.end40 + +if.else22: ; preds = %if.else + br i1 %fits_in_gp, label %vaarg.in_reg29, label %vaarg.in_mem31 + +vaarg.in_reg29: ; preds = %if.else22 + %17 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 3 + %reg_save_area30 = load i8*, i8** %17, align 16 + %18 = getelementptr i8, i8* %reg_save_area30, i32 %gp_offset + %19 = bitcast i8* %18 to i32* + %20 = add i32 %gp_offset, 8 + store i32 %20, i32* %gp_offset_p, align 16 + br label %vaarg.end35 + +vaarg.in_mem31: ; preds = %if.else22 + %overflow_arg_area_p32 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 2 + %overflow_arg_area33 = load i8*, i8** %overflow_arg_area_p32, align 8 + %21 = bitcast i8* %overflow_arg_area33 to i32* + %overflow_arg_area.next34 = getelementptr i8, i8* %overflow_arg_area33, i32 8 + store i8* %overflow_arg_area.next34, i8** %overflow_arg_area_p32, align 8 + br label %vaarg.end35 + +vaarg.end35: ; preds = %vaarg.in_mem31, %vaarg.in_reg29 + %vaarg.addr36 = phi i32* [ %19, %vaarg.in_reg29 ], [ %21, %vaarg.in_mem31 ] + %22 = load i32, i32* %vaarg.addr36, align 4 + store i32 %22, i32* %arg, align 4 + %arraydecay37 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay3738 = bitcast %struct.__va_list_tag.0* %arraydecay37 to i8* + call void @llvm.va_end(i8* %arraydecay3738) + br label %if.end40 + +if.end40: ; preds = %vaarg.end, %vaarg.end35, %if.then11 + %23 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %23, i32 0, i32 3 + %24 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool41 = icmp ne %struct.exe_disk_file_t* %24, null + br i1 %tobool41, label %if.then42, label %if.end60 + +if.then42: ; preds = %if.end40 + %25 = load i32, i32* %cmd.addr, align 4 + br label %NodeBlock13 + +NodeBlock13: ; preds = %if.then42 + %case.cmp14 = icmp eq i32 %25, 1 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %25, 2 + br i1 %case.cmp12, label %sw.bb47, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %25, 3 + br i1 %case.cmp10, label %sw.bb56, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %25, 5 + br i1 %case.cmp8, label %sw.bb57, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock7 + %case.cmp = icmp eq i32 %25, 6 + br i1 %case.cmp, label %sw.bb58, label %newDefault + +sw.bb: ; preds = %NodeBlock13 + store i32 0, i32* %flags, align 4 + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags43 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 1 + %27 = load i32, i32* %flags43, align 4 + %and = and i32 %27, 2 + %tobool44 = icmp ne i32 %and, 0 + br i1 %tobool44, label %if.then45, label %if.end46 + +if.then45: ; preds = %sw.bb + %28 = load i32, i32* %flags, align 4 + %or = or i32 %28, 1 + store i32 %or, i32* %flags, align 4 + br label %if.end46 + +if.end46: ; preds = %if.then45, %sw.bb + %29 = load i32, i32* %flags, align 4 + store i32 %29, i32* %retval, align 4 + br label %return + +sw.bb47: ; preds = %NodeBlock11 + %30 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags48 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %30, i32 0, i32 1 + %31 = load i32, i32* %flags48, align 4 + %and49 = and i32 %31, -3 + store i32 %and49, i32* %flags48, align 4 + %32 = load i32, i32* %arg, align 4 + %and50 = and i32 %32, 1 + %tobool51 = icmp ne i32 %and50, 0 + br i1 %tobool51, label %if.then52, label %if.end55 + +if.then52: ; preds = %sw.bb47 + %33 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags53 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %33, i32 0, i32 1 + %34 = load i32, i32* %flags53, align 4 + %or54 = or i32 %34, 2 + store i32 %or54, i32* %flags53, align 4 + br label %if.end55 + +if.end55: ; preds = %if.then52, %sw.bb47 + store i32 0, i32* %retval, align 4 + br label %return + +sw.bb56: ; preds = %NodeBlock9 + store i32 0, i32* %retval, align 4 + br label %return + +sw.bb57: ; preds = %NodeBlock7 + %35 = load %struct.flock*, %struct.flock** %lock, align 8 + %l_type = getelementptr inbounds %struct.flock, %struct.flock* %35, i32 0, i32 0 + store i16 2, i16* %l_type, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +sw.bb58: ; preds = %NodeBlock + store i32 0, i32* %retval, align 4 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0)) + %call59 = call i32* @__errno_location() #25 + store i32 22, i32* %call59, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end60: ; preds = %if.end40 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd61 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 0 + %37 = load i32, i32* %fd61, align 8 + %38 = load i32, i32* %cmd.addr, align 4 + %39 = load i32, i32* %arg, align 4 + %call62 = call i64 (i64, ...) @syscall(i64 72, i32 %37, i32 %38, i32 %39) #11 + %conv = trunc i64 %call62 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end60, %sw.default, %sw.bb58, %sw.bb57, %sw.bb56, %if.end55, %if.end46, %if.then + %40 = load i32, i32* %retval, align 4 + ret i32 %40 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_statfs(i8* %path, %struct.statfs* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.statfs*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.statfs* %buf, %struct.statfs** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0)) + %call1 = call i32* @__errno_location() #25 + store i32 2, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %2) + %3 = load %struct.statfs*, %struct.statfs** %buf.addr, align 8 + %call3 = call i64 (i64, ...) @syscall(i64 137, i8* %call2, %struct.statfs* %3) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstatfs(i32 %fd, %struct.statfs* nonnull %buf) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.statfs*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.statfs* %buf, %struct.statfs** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %if.end + call void @gs_warning(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.22, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 9, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd6, align 8 + %6 = load %struct.statfs*, %struct.statfs** %buf.addr, align 8 + %call7 = call i64 (i64, ...) @syscall(i64 138, i32 %5, %struct.statfs* %6) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %7 = load i32, i32* %retval, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fsync(i32 %fd) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.else + store i32 0, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %if.else + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd5 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd5, align 8 + %call6 = call i64 (i64, ...) @syscall(i64 74, i32 %5) #11 + %conv = trunc i64 %call6 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @dup2(i32 %oldfd, i32 %newfd) #3 { +entry: + %retval = alloca i32, align 4 + %oldfd.addr = alloca i32, align 4 + %newfd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %f2 = alloca %struct.exe_file_t*, align 8 + store i32 %oldfd, i32* %oldfd.addr, align 4 + store i32 %newfd, i32* %newfd.addr, align 4 + %0 = load i32, i32* %oldfd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + %2 = load i32, i32* %newfd.addr, align 4 + %cmp = icmp sge i32 %2, 0 + %or.cond = and i1 %tobool, %cmp + %3 = load i32, i32* %newfd.addr, align 4 + %cmp1 = icmp slt i32 %3, 32 + %or.cond1 = and i1 %or.cond, %cmp1 + br i1 %or.cond1, label %if.else, label %if.then + +if.then: ; preds = %entry + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %4 = load i32, i32* %newfd.addr, align 4 + %idxprom = sext i32 %4 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + store %struct.exe_file_t* %arrayidx, %struct.exe_file_t** %f2, align 8 + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f2, align 8 + %flags = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 1 + %6 = load i32, i32* %flags, align 4 + %and = and i32 %6, 1 + %tobool3 = icmp ne i32 %and, 0 + br i1 %tobool3, label %if.then4, label %if.end + +if.then4: ; preds = %if.else + %7 = load i32, i32* %newfd.addr, align 4 + %call5 = call i32 @close(i32 %7) + br label %if.end + +if.end: ; preds = %if.then4, %if.else + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f2, align 8 + %9 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %10 = bitcast %struct.exe_file_t* %8 to i8* + %11 = bitcast %struct.exe_file_t* %9 to i8* + %12 = call i8* @memcpy(i8* %10, i8* %11, i64 24) + %13 = load %struct.exe_file_t*, %struct.exe_file_t** %f2, align 8 + %flags6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %13, i32 0, i32 1 + %14 = load i32, i32* %flags6, align 4 + %and7 = and i32 %14, -3 + store i32 %and7, i32* %flags6, align 4 + %15 = load i32, i32* %newfd.addr, align 4 + store i32 %15, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %16 = load i32, i32* %retval, align 4 + ret i32 %16 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @dup(i32 %oldfd) #3 { +entry: + %retval = alloca i32, align 4 + %oldfd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %fd = alloca i32, align 4 + store i32 %oldfd, i32* %oldfd.addr, align 4 + %0 = load i32, i32* %oldfd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + store i32 0, i32* %fd, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.else + %2 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %2, 32 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %3 = load i32, i32* %fd, align 4 + %idxprom = sext i32 %3 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + %flags = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %arrayidx, i32 0, i32 1 + %4 = load i32, i32* %flags, align 4 + %and = and i32 %4, 1 + %tobool2 = icmp ne i32 %and, 0 + br i1 %tobool2, label %for.inc, label %for.end + +for.inc: ; preds = %for.body + %5 = load i32, i32* %fd, align 4 + %inc = add nsw i32 %5, 1 + store i32 %inc, i32* %fd, align 4 + br label %for.cond + +for.end: ; preds = %for.body, %for.cond + %6 = load i32, i32* %fd, align 4 + %cmp4 = icmp eq i32 %6, 32 + br i1 %cmp4, label %if.then5, label %if.else7 + +if.then5: ; preds = %for.end + %call6 = call i32* @__errno_location() #25 + store i32 24, i32* %call6, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else7: ; preds = %for.end + %7 = load i32, i32* %oldfd.addr, align 4 + %8 = load i32, i32* %fd, align 4 + %call8 = call i32 @dup2(i32 %7, i32 %8) #11 + store i32 %call8, i32* %retval, align 4 + br label %return + +return: ; preds = %if.else7, %if.then5, %if.then + %9 = load i32, i32* %retval, align 4 + ret i32 %9 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rmdir(i8* nonnull %pathname) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 16384 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %5, i32 0, i32 2 + %6 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 1 + store i64 0, i64* %st_ino, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %call3 = call i32* @__errno_location() #25 + store i32 20, i32* %call3, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 1, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.else, %if.then1 + %7 = load i32, i32* %retval, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @unlink(i8* nonnull %pathname) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 32768 + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %5, i32 0, i32 2 + %6 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 1 + store i64 0, i64* %st_ino, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %st_mode4 = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 3 + %7 = load i32, i32* %st_mode4, align 8 + %and5 = and i32 %7, 61440 + %cmp6 = icmp eq i32 %and5, 16384 + %call8 = call i32* @__errno_location() #25 + br i1 %cmp6, label %if.then7, label %if.else9 + +if.then7: ; preds = %if.else + store i32 21, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else9: ; preds = %if.else + store i32 1, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0)) + %call11 = call i32* @__errno_location() #25 + store i32 1, i32* %call11, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.else9, %if.then7, %if.then1 + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @unlinkat(i32 %dirfd, i8* nonnull %pathname, i32 %flags) #3 { +entry: + %retval = alloca i32, align 4 + %dirfd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i32 %dirfd, i32* %dirfd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 32768 + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %5, i32 0, i32 2 + %6 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 1 + store i64 0, i64* %st_ino, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %st_mode4 = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 3 + %7 = load i32, i32* %st_mode4, align 8 + %and5 = and i32 %7, 61440 + %cmp6 = icmp eq i32 %and5, 16384 + %call8 = call i32* @__errno_location() #25 + br i1 %cmp6, label %if.then7, label %if.else9 + +if.then7: ; preds = %if.else + store i32 21, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else9: ; preds = %if.else + store i32 1, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0)) + %call11 = call i32* @__errno_location() #25 + store i32 1, i32* %call11, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.else9, %if.then7, %if.then1 + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @readlink(i8* nonnull %path, i8* nonnull %buf, i64 %bufsize) #3 { +entry: + %retval = alloca i64, align 8 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end20 + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 40960 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %5 = load i8*, i8** %path.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 0 + %6 = load i8, i8* %arrayidx, align 1 + %7 = load i8*, i8** %buf.addr, align 8 + %arrayidx2 = getelementptr inbounds i8, i8* %7, i64 0 + store i8 %6, i8* %arrayidx2, align 1 + %8 = load i64, i64* %bufsize.addr, align 8 + %cmp3 = icmp ugt i64 %8, 1 + br i1 %cmp3, label %if.then4, label %if.end + +if.then4: ; preds = %if.then1 + %9 = load i8*, i8** %buf.addr, align 8 + %arrayidx5 = getelementptr inbounds i8, i8* %9, i64 1 + store i8 46, i8* %arrayidx5, align 1 + br label %if.end + +if.end: ; preds = %if.then4, %if.then1 + %10 = load i64, i64* %bufsize.addr, align 8 + %cmp6 = icmp ugt i64 %10, 2 + br i1 %cmp6, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end + %11 = load i8*, i8** %buf.addr, align 8 + %arrayidx8 = getelementptr inbounds i8, i8* %11, i64 2 + store i8 108, i8* %arrayidx8, align 1 + br label %if.end9 + +if.end9: ; preds = %if.then7, %if.end + %12 = load i64, i64* %bufsize.addr, align 8 + %cmp10 = icmp ugt i64 %12, 3 + br i1 %cmp10, label %if.then11, label %if.end13 + +if.then11: ; preds = %if.end9 + %13 = load i8*, i8** %buf.addr, align 8 + %arrayidx12 = getelementptr inbounds i8, i8* %13, i64 3 + store i8 110, i8* %arrayidx12, align 1 + br label %if.end13 + +if.end13: ; preds = %if.then11, %if.end9 + %14 = load i64, i64* %bufsize.addr, align 8 + %cmp14 = icmp ugt i64 %14, 4 + br i1 %cmp14, label %if.then15, label %if.end17 + +if.then15: ; preds = %if.end13 + %15 = load i8*, i8** %buf.addr, align 8 + %arrayidx16 = getelementptr inbounds i8, i8* %15, i64 4 + store i8 107, i8* %arrayidx16, align 1 + br label %if.end17 + +if.end17: ; preds = %if.then15, %if.end13 + %16 = load i64, i64* %bufsize.addr, align 8 + %cmp18 = icmp ugt i64 %16, 5 + %17 = load i64, i64* %bufsize.addr, align 8 + %cond = select i1 %cmp18, i64 5, i64 %17 + store i64 %cond, i64* %retval, align 8 + br label %return + +if.else: ; preds = %if.then + %call19 = call i32* @__errno_location() #25 + store i32 22, i32* %call19, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end20: ; preds = %entry + %18 = load i8*, i8** %path.addr, align 8 + %19 = load i8*, i8** %buf.addr, align 8 + %20 = load i64, i64* %bufsize.addr, align 8 + %call21 = call i64 (i64, ...) @syscall(i64 89, i8* %18, i8* %19, i64 %20) #11 + store i64 %call21, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end20, %if.else, %if.end17 + %21 = load i64, i64* %retval, align 8 + ret i64 %21 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @select(i32 %nfds, %struct.fd_set* %read, %struct.fd_set* %write, %struct.fd_set* %except, %struct.timespec* %timeout) #3 { +entry: + %retval = alloca i32, align 4 + %nfds.addr = alloca i32, align 4 + %read.addr = alloca %struct.fd_set*, align 8 + %write.addr = alloca %struct.fd_set*, align 8 + %except.addr = alloca %struct.fd_set*, align 8 + %timeout.addr = alloca %struct.timespec*, align 8 + %in_read = alloca %struct.fd_set, align 8 + %in_write = alloca %struct.fd_set, align 8 + %in_except = alloca %struct.fd_set, align 8 + %os_read = alloca %struct.fd_set, align 8 + %os_write = alloca %struct.fd_set, align 8 + %os_except = alloca %struct.fd_set, align 8 + %i = alloca i32, align 4 + %count = alloca i32, align 4 + %os_nfds = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %tv = alloca %struct.timespec, align 8 + %r = alloca i32, align 4 + %f182 = alloca %struct.exe_file_t*, align 8 + store i32 %nfds, i32* %nfds.addr, align 4 + store %struct.fd_set* %read, %struct.fd_set** %read.addr, align 8 + store %struct.fd_set* %write, %struct.fd_set** %write.addr, align 8 + store %struct.fd_set* %except, %struct.fd_set** %except.addr, align 8 + store %struct.timespec* %timeout, %struct.timespec** %timeout.addr, align 8 + store i32 0, i32* %count, align 4 + store i32 0, i32* %os_nfds, align 4 + %0 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %tobool = icmp ne %struct.fd_set* %0, null + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %entry + %1 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %2 = bitcast %struct.fd_set* %in_read to i8* + %3 = bitcast %struct.fd_set* %1 to i8* + %4 = call i8* @memcpy(i8* %2, i8* %3, i64 128) + %5 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %6 = bitcast %struct.fd_set* %5 to i8* + %7 = call i8* @memset(i8* %6, i32 0, i64 128) + br label %if.end + +if.else: ; preds = %entry + %8 = bitcast %struct.fd_set* %in_read to i8* + %9 = call i8* @memset(i8* %8, i32 0, i64 128) + br label %if.end + +if.end: ; preds = %if.else, %if.then + %10 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %tobool1 = icmp ne %struct.fd_set* %10, null + br i1 %tobool1, label %if.then2, label %if.else3 + +if.then2: ; preds = %if.end + %11 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %12 = bitcast %struct.fd_set* %in_write to i8* + %13 = bitcast %struct.fd_set* %11 to i8* + %14 = call i8* @memcpy(i8* %12, i8* %13, i64 128) + %15 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %16 = bitcast %struct.fd_set* %15 to i8* + %17 = call i8* @memset(i8* %16, i32 0, i64 128) + br label %if.end4 + +if.else3: ; preds = %if.end + %18 = bitcast %struct.fd_set* %in_write to i8* + %19 = call i8* @memset(i8* %18, i32 0, i64 128) + br label %if.end4 + +if.end4: ; preds = %if.else3, %if.then2 + %20 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %tobool5 = icmp ne %struct.fd_set* %20, null + br i1 %tobool5, label %if.then6, label %if.else7 + +if.then6: ; preds = %if.end4 + %21 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %22 = bitcast %struct.fd_set* %in_except to i8* + %23 = bitcast %struct.fd_set* %21 to i8* + %24 = call i8* @memcpy(i8* %22, i8* %23, i64 128) + %25 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %26 = bitcast %struct.fd_set* %25 to i8* + %27 = call i8* @memset(i8* %26, i32 0, i64 128) + br label %if.end8 + +if.else7: ; preds = %if.end4 + %28 = bitcast %struct.fd_set* %in_except to i8* + %29 = call i8* @memset(i8* %28, i32 0, i64 128) + br label %if.end8 + +if.end8: ; preds = %if.else7, %if.then6 + %30 = bitcast %struct.fd_set* %os_read to i8* + %31 = call i8* @memset(i8* %30, i32 0, i64 128) + %32 = bitcast %struct.fd_set* %os_write to i8* + %33 = call i8* @memset(i8* %32, i32 0, i64 128) + %34 = bitcast %struct.fd_set* %os_except to i8* + %35 = call i8* @memset(i8* %34, i32 0, i64 128) + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end8 + %36 = load i32, i32* %i, align 4 + %37 = load i32, i32* %nfds.addr, align 4 + %cmp = icmp slt i32 %36, %37 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %fds_bits = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_read, i32 0, i32 0 + %38 = load i32, i32* %i, align 4 + %div = sdiv i32 %38, 64 + %idxprom = sext i32 %div to i64 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits, i64 0, i64 %idxprom + %39 = load i64, i64* %arrayidx, align 8 + %40 = load i32, i32* %i, align 4 + %rem = srem i32 %40, 64 + %shl = shl i32 1, %rem + %conv = sext i32 %shl to i64 + %and = and i64 %39, %conv + %tobool9 = icmp ne i64 %and, 0 + br i1 %tobool9, label %if.then29, label %lor.lhs.false + +lor.lhs.false: ; preds = %for.body + %fds_bits10 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_write, i32 0, i32 0 + %41 = load i32, i32* %i, align 4 + %div11 = sdiv i32 %41, 64 + %idxprom12 = sext i32 %div11 to i64 + %arrayidx13 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits10, i64 0, i64 %idxprom12 + %42 = load i64, i64* %arrayidx13, align 8 + %43 = load i32, i32* %i, align 4 + %rem14 = srem i32 %43, 64 + %shl15 = shl i32 1, %rem14 + %conv16 = sext i32 %shl15 to i64 + %and17 = and i64 %42, %conv16 + %tobool18 = icmp ne i64 %and17, 0 + br i1 %tobool18, label %if.then29, label %lor.lhs.false19 + +lor.lhs.false19: ; preds = %lor.lhs.false + %fds_bits20 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_except, i32 0, i32 0 + %44 = load i32, i32* %i, align 4 + %div21 = sdiv i32 %44, 64 + %idxprom22 = sext i32 %div21 to i64 + %arrayidx23 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits20, i64 0, i64 %idxprom22 + %45 = load i64, i64* %arrayidx23, align 8 + %46 = load i32, i32* %i, align 4 + %rem24 = srem i32 %46, 64 + %shl25 = shl i32 1, %rem24 + %conv26 = sext i32 %shl25 to i64 + %and27 = and i64 %45, %conv26 + %tobool28 = icmp ne i64 %and27, 0 + br i1 %tobool28, label %if.then29, label %for.inc + +if.then29: ; preds = %lor.lhs.false19, %lor.lhs.false, %for.body + %47 = load i32, i32* %i, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %47) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %48 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool30 = icmp ne %struct.exe_file_t* %48, null + br i1 %tobool30, label %if.else33, label %if.then31 + +if.then31: ; preds = %if.then29 + %call32 = call i32* @__errno_location() #25 + store i32 9, i32* %call32, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else33: ; preds = %if.then29 + %49 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %49, i32 0, i32 3 + %50 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool34 = icmp ne %struct.exe_disk_file_t* %50, null + %fds_bits36 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_read, i32 0, i32 0 + %51 = load i32, i32* %i, align 4 + %div37 = sdiv i32 %51, 64 + %idxprom38 = sext i32 %div37 to i64 + %arrayidx39 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits36, i64 0, i64 %idxprom38 + %52 = load i64, i64* %arrayidx39, align 8 + %53 = load i32, i32* %i, align 4 + %rem40 = srem i32 %53, 64 + %shl41 = shl i32 1, %rem40 + %conv42 = sext i32 %shl41 to i64 + %and43 = and i64 %52, %conv42 + %tobool44 = icmp ne i64 %and43, 0 + br i1 %tobool34, label %if.then35, label %if.else92 + +if.then35: ; preds = %if.else33 + br i1 %tobool44, label %if.then45, label %if.end53 + +if.then45: ; preds = %if.then35 + %54 = load i32, i32* %i, align 4 + %rem46 = srem i32 %54, 64 + %shl47 = shl i32 1, %rem46 + %conv48 = sext i32 %shl47 to i64 + %55 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %fds_bits49 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %55, i32 0, i32 0 + %56 = load i32, i32* %i, align 4 + %div50 = sdiv i32 %56, 64 + %idxprom51 = sext i32 %div50 to i64 + %arrayidx52 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits49, i64 0, i64 %idxprom51 + %57 = load i64, i64* %arrayidx52, align 8 + %or = or i64 %57, %conv48 + store i64 %or, i64* %arrayidx52, align 8 + br label %if.end53 + +if.end53: ; preds = %if.then45, %if.then35 + %fds_bits54 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_write, i32 0, i32 0 + %58 = load i32, i32* %i, align 4 + %div55 = sdiv i32 %58, 64 + %idxprom56 = sext i32 %div55 to i64 + %arrayidx57 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits54, i64 0, i64 %idxprom56 + %59 = load i64, i64* %arrayidx57, align 8 + %60 = load i32, i32* %i, align 4 + %rem58 = srem i32 %60, 64 + %shl59 = shl i32 1, %rem58 + %conv60 = sext i32 %shl59 to i64 + %and61 = and i64 %59, %conv60 + %tobool62 = icmp ne i64 %and61, 0 + br i1 %tobool62, label %if.then63, label %if.end72 + +if.then63: ; preds = %if.end53 + %61 = load i32, i32* %i, align 4 + %rem64 = srem i32 %61, 64 + %shl65 = shl i32 1, %rem64 + %conv66 = sext i32 %shl65 to i64 + %62 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %fds_bits67 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %62, i32 0, i32 0 + %63 = load i32, i32* %i, align 4 + %div68 = sdiv i32 %63, 64 + %idxprom69 = sext i32 %div68 to i64 + %arrayidx70 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits67, i64 0, i64 %idxprom69 + %64 = load i64, i64* %arrayidx70, align 8 + %or71 = or i64 %64, %conv66 + store i64 %or71, i64* %arrayidx70, align 8 + br label %if.end72 + +if.end72: ; preds = %if.then63, %if.end53 + %fds_bits73 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_except, i32 0, i32 0 + %65 = load i32, i32* %i, align 4 + %div74 = sdiv i32 %65, 64 + %idxprom75 = sext i32 %div74 to i64 + %arrayidx76 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits73, i64 0, i64 %idxprom75 + %66 = load i64, i64* %arrayidx76, align 8 + %67 = load i32, i32* %i, align 4 + %rem77 = srem i32 %67, 64 + %shl78 = shl i32 1, %rem77 + %conv79 = sext i32 %shl78 to i64 + %and80 = and i64 %66, %conv79 + %tobool81 = icmp ne i64 %and80, 0 + br i1 %tobool81, label %if.then82, label %if.end91 + +if.then82: ; preds = %if.end72 + %68 = load i32, i32* %i, align 4 + %rem83 = srem i32 %68, 64 + %shl84 = shl i32 1, %rem83 + %conv85 = sext i32 %shl84 to i64 + %69 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %fds_bits86 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %69, i32 0, i32 0 + %70 = load i32, i32* %i, align 4 + %div87 = sdiv i32 %70, 64 + %idxprom88 = sext i32 %div87 to i64 + %arrayidx89 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits86, i64 0, i64 %idxprom88 + %71 = load i64, i64* %arrayidx89, align 8 + %or90 = or i64 %71, %conv85 + store i64 %or90, i64* %arrayidx89, align 8 + br label %if.end91 + +if.end91: ; preds = %if.then82, %if.end72 + %72 = load i32, i32* %count, align 4 + %inc = add nsw i32 %72, 1 + store i32 %inc, i32* %count, align 4 + br label %for.inc + +if.else92: ; preds = %if.else33 + br i1 %tobool44, label %if.then102, label %if.end112 + +if.then102: ; preds = %if.else92 + %73 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %73, i32 0, i32 0 + %74 = load i32, i32* %fd, align 8 + %rem103 = srem i32 %74, 64 + %shl104 = shl i32 1, %rem103 + %conv105 = sext i32 %shl104 to i64 + %fds_bits106 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_read, i32 0, i32 0 + %75 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd107 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %75, i32 0, i32 0 + %76 = load i32, i32* %fd107, align 8 + %div108 = sdiv i32 %76, 64 + %idxprom109 = sext i32 %div108 to i64 + %arrayidx110 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits106, i64 0, i64 %idxprom109 + %77 = load i64, i64* %arrayidx110, align 8 + %or111 = or i64 %77, %conv105 + store i64 %or111, i64* %arrayidx110, align 8 + br label %if.end112 + +if.end112: ; preds = %if.then102, %if.else92 + %fds_bits113 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_write, i32 0, i32 0 + %78 = load i32, i32* %i, align 4 + %div114 = sdiv i32 %78, 64 + %idxprom115 = sext i32 %div114 to i64 + %arrayidx116 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits113, i64 0, i64 %idxprom115 + %79 = load i64, i64* %arrayidx116, align 8 + %80 = load i32, i32* %i, align 4 + %rem117 = srem i32 %80, 64 + %shl118 = shl i32 1, %rem117 + %conv119 = sext i32 %shl118 to i64 + %and120 = and i64 %79, %conv119 + %tobool121 = icmp ne i64 %and120, 0 + br i1 %tobool121, label %if.then122, label %if.end133 + +if.then122: ; preds = %if.end112 + %81 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd123 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %81, i32 0, i32 0 + %82 = load i32, i32* %fd123, align 8 + %rem124 = srem i32 %82, 64 + %shl125 = shl i32 1, %rem124 + %conv126 = sext i32 %shl125 to i64 + %fds_bits127 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_write, i32 0, i32 0 + %83 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd128 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %83, i32 0, i32 0 + %84 = load i32, i32* %fd128, align 8 + %div129 = sdiv i32 %84, 64 + %idxprom130 = sext i32 %div129 to i64 + %arrayidx131 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits127, i64 0, i64 %idxprom130 + %85 = load i64, i64* %arrayidx131, align 8 + %or132 = or i64 %85, %conv126 + store i64 %or132, i64* %arrayidx131, align 8 + br label %if.end133 + +if.end133: ; preds = %if.then122, %if.end112 + %fds_bits134 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_except, i32 0, i32 0 + %86 = load i32, i32* %i, align 4 + %div135 = sdiv i32 %86, 64 + %idxprom136 = sext i32 %div135 to i64 + %arrayidx137 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits134, i64 0, i64 %idxprom136 + %87 = load i64, i64* %arrayidx137, align 8 + %88 = load i32, i32* %i, align 4 + %rem138 = srem i32 %88, 64 + %shl139 = shl i32 1, %rem138 + %conv140 = sext i32 %shl139 to i64 + %and141 = and i64 %87, %conv140 + %tobool142 = icmp ne i64 %and141, 0 + br i1 %tobool142, label %if.then143, label %if.end154 + +if.then143: ; preds = %if.end133 + %89 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd144 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %89, i32 0, i32 0 + %90 = load i32, i32* %fd144, align 8 + %rem145 = srem i32 %90, 64 + %shl146 = shl i32 1, %rem145 + %conv147 = sext i32 %shl146 to i64 + %fds_bits148 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_except, i32 0, i32 0 + %91 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd149 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %91, i32 0, i32 0 + %92 = load i32, i32* %fd149, align 8 + %div150 = sdiv i32 %92, 64 + %idxprom151 = sext i32 %div150 to i64 + %arrayidx152 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits148, i64 0, i64 %idxprom151 + %93 = load i64, i64* %arrayidx152, align 8 + %or153 = or i64 %93, %conv147 + store i64 %or153, i64* %arrayidx152, align 8 + br label %if.end154 + +if.end154: ; preds = %if.then143, %if.end133 + %94 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd155 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %94, i32 0, i32 0 + %95 = load i32, i32* %fd155, align 8 + %96 = load i32, i32* %os_nfds, align 4 + %cmp156 = icmp sge i32 %95, %96 + br i1 %cmp156, label %if.then158, label %for.inc + +if.then158: ; preds = %if.end154 + %97 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd159 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %97, i32 0, i32 0 + %98 = load i32, i32* %fd159, align 8 + %add = add nsw i32 %98, 1 + store i32 %add, i32* %os_nfds, align 4 + br label %for.inc + +for.inc: ; preds = %lor.lhs.false19, %if.end91, %if.then158, %if.end154 + %99 = load i32, i32* %i, align 4 + %inc164 = add nsw i32 %99, 1 + store i32 %inc164, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %100 = load i32, i32* %os_nfds, align 4 + %cmp165 = icmp sgt i32 %100, 0 + br i1 %cmp165, label %if.then167, label %if.end262 + +if.then167: ; preds = %for.end + %101 = bitcast %struct.timespec* %tv to i8* + %102 = call i8* @memset(i8* %101, i32 0, i64 16) + %103 = load i32, i32* %os_nfds, align 4 + %call168 = call i64 (i64, ...) @syscall(i64 23, i32 %103, %struct.fd_set* %os_read, %struct.fd_set* %os_write, %struct.fd_set* %os_except, %struct.timespec* %tv) #11 + %conv169 = trunc i64 %call168 to i32 + store i32 %conv169, i32* %r, align 4 + %104 = load i32, i32* %r, align 4 + %cmp170 = icmp eq i32 %104, -1 + br i1 %cmp170, label %if.then172, label %if.else176 + +if.then172: ; preds = %if.then167 + %105 = load i32, i32* %count, align 4 + %tobool173 = icmp ne i32 %105, 0 + br i1 %tobool173, label %if.end262, label %if.then174 + +if.then174: ; preds = %if.then172 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else176: ; preds = %if.then167 + %106 = load i32, i32* %r, align 4 + %107 = load i32, i32* %count, align 4 + %add177 = add nsw i32 %107, %106 + store i32 %add177, i32* %count, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond178 + +for.cond178: ; preds = %for.inc258, %if.else176 + %108 = load i32, i32* %i, align 4 + %109 = load i32, i32* %nfds.addr, align 4 + %cmp179 = icmp slt i32 %108, %109 + br i1 %cmp179, label %for.body181, label %if.end262 + +for.body181: ; preds = %for.cond178 + %110 = load i32, i32* %i, align 4 + %call183 = call %struct.exe_file_t* @__get_file(i32 %110) + store %struct.exe_file_t* %call183, %struct.exe_file_t** %f182, align 8 + %111 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %tobool184 = icmp ne %struct.exe_file_t* %111, null + br i1 %tobool184, label %land.lhs.true, label %for.inc258 + +land.lhs.true: ; preds = %for.body181 + %112 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %dfile185 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %112, i32 0, i32 3 + %113 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile185, align 8 + %tobool186 = icmp ne %struct.exe_disk_file_t* %113, null + br i1 %tobool186, label %for.inc258, label %if.then187 + +if.then187: ; preds = %land.lhs.true + %114 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %tobool188 = icmp ne %struct.fd_set* %114, null + br i1 %tobool188, label %land.lhs.true189, label %if.end210 + +land.lhs.true189: ; preds = %if.then187 + %fds_bits190 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_read, i32 0, i32 0 + %115 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd191 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %115, i32 0, i32 0 + %116 = load i32, i32* %fd191, align 8 + %div192 = sdiv i32 %116, 64 + %idxprom193 = sext i32 %div192 to i64 + %arrayidx194 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits190, i64 0, i64 %idxprom193 + %117 = load i64, i64* %arrayidx194, align 8 + %118 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd195 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %118, i32 0, i32 0 + %119 = load i32, i32* %fd195, align 8 + %rem196 = srem i32 %119, 64 + %shl197 = shl i32 1, %rem196 + %conv198 = sext i32 %shl197 to i64 + %and199 = and i64 %117, %conv198 + %tobool200 = icmp ne i64 %and199, 0 + br i1 %tobool200, label %if.then201, label %if.end210 + +if.then201: ; preds = %land.lhs.true189 + %120 = load i32, i32* %i, align 4 + %rem202 = srem i32 %120, 64 + %shl203 = shl i32 1, %rem202 + %conv204 = sext i32 %shl203 to i64 + %121 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %fds_bits205 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %121, i32 0, i32 0 + %122 = load i32, i32* %i, align 4 + %div206 = sdiv i32 %122, 64 + %idxprom207 = sext i32 %div206 to i64 + %arrayidx208 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits205, i64 0, i64 %idxprom207 + %123 = load i64, i64* %arrayidx208, align 8 + %or209 = or i64 %123, %conv204 + store i64 %or209, i64* %arrayidx208, align 8 + br label %if.end210 + +if.end210: ; preds = %if.then201, %land.lhs.true189, %if.then187 + %124 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %tobool211 = icmp ne %struct.fd_set* %124, null + br i1 %tobool211, label %land.lhs.true212, label %if.end233 + +land.lhs.true212: ; preds = %if.end210 + %fds_bits213 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_write, i32 0, i32 0 + %125 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd214 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %125, i32 0, i32 0 + %126 = load i32, i32* %fd214, align 8 + %div215 = sdiv i32 %126, 64 + %idxprom216 = sext i32 %div215 to i64 + %arrayidx217 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits213, i64 0, i64 %idxprom216 + %127 = load i64, i64* %arrayidx217, align 8 + %128 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd218 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %128, i32 0, i32 0 + %129 = load i32, i32* %fd218, align 8 + %rem219 = srem i32 %129, 64 + %shl220 = shl i32 1, %rem219 + %conv221 = sext i32 %shl220 to i64 + %and222 = and i64 %127, %conv221 + %tobool223 = icmp ne i64 %and222, 0 + br i1 %tobool223, label %if.then224, label %if.end233 + +if.then224: ; preds = %land.lhs.true212 + %130 = load i32, i32* %i, align 4 + %rem225 = srem i32 %130, 64 + %shl226 = shl i32 1, %rem225 + %conv227 = sext i32 %shl226 to i64 + %131 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %fds_bits228 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %131, i32 0, i32 0 + %132 = load i32, i32* %i, align 4 + %div229 = sdiv i32 %132, 64 + %idxprom230 = sext i32 %div229 to i64 + %arrayidx231 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits228, i64 0, i64 %idxprom230 + %133 = load i64, i64* %arrayidx231, align 8 + %or232 = or i64 %133, %conv227 + store i64 %or232, i64* %arrayidx231, align 8 + br label %if.end233 + +if.end233: ; preds = %if.then224, %land.lhs.true212, %if.end210 + %134 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %tobool234 = icmp ne %struct.fd_set* %134, null + br i1 %tobool234, label %land.lhs.true235, label %for.inc258 + +land.lhs.true235: ; preds = %if.end233 + %fds_bits236 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_except, i32 0, i32 0 + %135 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd237 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %135, i32 0, i32 0 + %136 = load i32, i32* %fd237, align 8 + %div238 = sdiv i32 %136, 64 + %idxprom239 = sext i32 %div238 to i64 + %arrayidx240 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits236, i64 0, i64 %idxprom239 + %137 = load i64, i64* %arrayidx240, align 8 + %138 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd241 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %138, i32 0, i32 0 + %139 = load i32, i32* %fd241, align 8 + %rem242 = srem i32 %139, 64 + %shl243 = shl i32 1, %rem242 + %conv244 = sext i32 %shl243 to i64 + %and245 = and i64 %137, %conv244 + %tobool246 = icmp ne i64 %and245, 0 + br i1 %tobool246, label %if.then247, label %for.inc258 + +if.then247: ; preds = %land.lhs.true235 + %140 = load i32, i32* %i, align 4 + %rem248 = srem i32 %140, 64 + %shl249 = shl i32 1, %rem248 + %conv250 = sext i32 %shl249 to i64 + %141 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %fds_bits251 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %141, i32 0, i32 0 + %142 = load i32, i32* %i, align 4 + %div252 = sdiv i32 %142, 64 + %idxprom253 = sext i32 %div252 to i64 + %arrayidx254 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits251, i64 0, i64 %idxprom253 + %143 = load i64, i64* %arrayidx254, align 8 + %or255 = or i64 %143, %conv250 + store i64 %or255, i64* %arrayidx254, align 8 + br label %for.inc258 + +for.inc258: ; preds = %for.body181, %land.lhs.true, %if.then247, %land.lhs.true235, %if.end233 + %144 = load i32, i32* %i, align 4 + %inc259 = add nsw i32 %144, 1 + store i32 %inc259, i32* %i, align 4 + br label %for.cond178 + +if.end262: ; preds = %if.then172, %for.cond178, %for.end + %145 = load i32, i32* %count, align 4 + store i32 %145, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end262, %if.then174, %if.then31 + %146 = load i32, i32* %retval, align 4 + ret i32 %146 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chroot(i8* nonnull %path) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %0, i64 0 + %1 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call = call i32* @__errno_location() #25 + store i32 2, i32* %call, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %path.addr, align 8 + %arrayidx2 = getelementptr inbounds i8, i8* %2, i64 0 + %3 = load i8, i8* %arrayidx2, align 1 + %conv3 = sext i8 %3 to i32 + %cmp4 = icmp eq i32 %conv3, 47 + br i1 %cmp4, label %land.lhs.true, label %if.end11 + +land.lhs.true: ; preds = %if.end + %4 = load i8*, i8** %path.addr, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %4, i64 1 + %5 = load i8, i8* %arrayidx6, align 1 + %conv7 = sext i8 %5 to i32 + %cmp8 = icmp eq i32 %conv7, 0 + br i1 %cmp8, label %if.then10, label %if.end11 + +if.then10: ; preds = %land.lhs.true + store i32 0, i32* %retval, align 4 + br label %return + +if.end11: ; preds = %land.lhs.true, %if.end + call void @gs_warning(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.24, i64 0, i64 0)) + %call12 = call i32* @__errno_location() #25 + store i32 2, i32* %call12, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end11, %if.then10, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @open(i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i8*, i8** %pathname.addr, align 8 + %8 = load i32, i32* %flags.addr, align 4 + %9 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_open(i8* %7, i32 %8, i32 %9) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @openat(i32 %fd, i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %fd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i32, i32* %fd.addr, align 4 + %8 = load i8*, i8** %pathname.addr, align 8 + %9 = load i32, i32* %flags.addr, align 4 + %10 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_openat(i32 %7, i8* %8, i32 %9, i32 %10) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @lseek(i32 %fd, i64 %off, i32 %whence) #3 { +entry: + %fd.addr = alloca i32, align 4 + %off.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %off, i64* %off.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %off.addr, align 8 + %2 = load i32, i32* %whence.addr, align 4 + %call = call i64 @__fd_lseek(i32 %0, i64 %1, i32 %2) + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__xstat(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__stat64_to_stat(%struct.stat64* %a, %struct.stat64* %b) #3 { +entry: + %a.addr = alloca %struct.stat64*, align 8 + %b.addr = alloca %struct.stat64*, align 8 + store %struct.stat64* %a, %struct.stat64** %a.addr, align 8 + store %struct.stat64* %b, %struct.stat64** %b.addr, align 8 + %0 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_dev = getelementptr inbounds %struct.stat64, %struct.stat64* %0, i32 0, i32 0 + %1 = load i64, i64* %st_dev, align 8 + %2 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_dev1 = getelementptr inbounds %struct.stat64, %struct.stat64* %2, i32 0, i32 0 + store i64 %1, i64* %st_dev1, align 8 + %3 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 1 + %4 = load i64, i64* %st_ino, align 8 + %5 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_ino2 = getelementptr inbounds %struct.stat64, %struct.stat64* %5, i32 0, i32 1 + store i64 %4, i64* %st_ino2, align 8 + %6 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 3 + %7 = load i32, i32* %st_mode, align 8 + %8 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_mode3 = getelementptr inbounds %struct.stat64, %struct.stat64* %8, i32 0, i32 3 + store i32 %7, i32* %st_mode3, align 8 + %9 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_nlink = getelementptr inbounds %struct.stat64, %struct.stat64* %9, i32 0, i32 2 + %10 = load i64, i64* %st_nlink, align 8 + %11 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_nlink4 = getelementptr inbounds %struct.stat64, %struct.stat64* %11, i32 0, i32 2 + store i64 %10, i64* %st_nlink4, align 8 + %12 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_uid = getelementptr inbounds %struct.stat64, %struct.stat64* %12, i32 0, i32 4 + %13 = load i32, i32* %st_uid, align 4 + %14 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_uid5 = getelementptr inbounds %struct.stat64, %struct.stat64* %14, i32 0, i32 4 + store i32 %13, i32* %st_uid5, align 4 + %15 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_gid = getelementptr inbounds %struct.stat64, %struct.stat64* %15, i32 0, i32 5 + %16 = load i32, i32* %st_gid, align 8 + %17 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_gid6 = getelementptr inbounds %struct.stat64, %struct.stat64* %17, i32 0, i32 5 + store i32 %16, i32* %st_gid6, align 8 + %18 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_rdev = getelementptr inbounds %struct.stat64, %struct.stat64* %18, i32 0, i32 7 + %19 = load i64, i64* %st_rdev, align 8 + %20 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_rdev7 = getelementptr inbounds %struct.stat64, %struct.stat64* %20, i32 0, i32 7 + store i64 %19, i64* %st_rdev7, align 8 + %21 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_size = getelementptr inbounds %struct.stat64, %struct.stat64* %21, i32 0, i32 8 + %22 = load i64, i64* %st_size, align 8 + %23 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_size8 = getelementptr inbounds %struct.stat64, %struct.stat64* %23, i32 0, i32 8 + store i64 %22, i64* %st_size8, align 8 + %24 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_atim = getelementptr inbounds %struct.stat64, %struct.stat64* %24, i32 0, i32 11 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim, i32 0, i32 0 + %25 = load i64, i64* %tv_sec, align 8 + %26 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_atim9 = getelementptr inbounds %struct.stat64, %struct.stat64* %26, i32 0, i32 11 + %tv_sec10 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim9, i32 0, i32 0 + store i64 %25, i64* %tv_sec10, align 8 + %27 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_mtim = getelementptr inbounds %struct.stat64, %struct.stat64* %27, i32 0, i32 12 + %tv_sec11 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim, i32 0, i32 0 + %28 = load i64, i64* %tv_sec11, align 8 + %29 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_mtim12 = getelementptr inbounds %struct.stat64, %struct.stat64* %29, i32 0, i32 12 + %tv_sec13 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim12, i32 0, i32 0 + store i64 %28, i64* %tv_sec13, align 8 + %30 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_ctim = getelementptr inbounds %struct.stat64, %struct.stat64* %30, i32 0, i32 13 + %tv_sec14 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim, i32 0, i32 0 + %31 = load i64, i64* %tv_sec14, align 8 + %32 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_ctim15 = getelementptr inbounds %struct.stat64, %struct.stat64* %32, i32 0, i32 13 + %tv_sec16 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim15, i32 0, i32 0 + store i64 %31, i64* %tv_sec16, align 8 + %33 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_blksize = getelementptr inbounds %struct.stat64, %struct.stat64* %33, i32 0, i32 9 + %34 = load i64, i64* %st_blksize, align 8 + %35 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_blksize17 = getelementptr inbounds %struct.stat64, %struct.stat64* %35, i32 0, i32 9 + store i64 %34, i64* %st_blksize17, align 8 + %36 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_blocks = getelementptr inbounds %struct.stat64, %struct.stat64* %36, i32 0, i32 10 + %37 = load i64, i64* %st_blocks, align 8 + %38 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_blocks18 = getelementptr inbounds %struct.stat64, %struct.stat64* %38, i32 0, i32 10 + store i64 %37, i64* %st_blocks18, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @stat(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__lxstat(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @lstat(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fxstat(i32 %vers, i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %vers, i32* %vers.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstat(i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @ftruncate(i32 %fd, i64 %length) #3 { +entry: + %fd.addr = alloca i32, align 4 + %length.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %length, i64* %length.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %length.addr, align 8 + %call = call i32 @__fd_ftruncate(i32 %0, i64 %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @statfs(i8* nonnull %path, %struct.statfs* nonnull %buf32) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf32.addr = alloca %struct.statfs*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.statfs* %buf32, %struct.statfs** %buf32.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.statfs*, %struct.statfs** %buf32.addr, align 8 + %call = call i32 @__fd_statfs(i8* %0, %struct.statfs* %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @getdents(i32 %fd, %struct.dirent64* %dirp, i64 %nbytes) #3 { +entry: + %fd.addr = alloca i32, align 4 + %dirp.addr = alloca %struct.dirent64*, align 8 + %nbytes.addr = alloca i64, align 8 + %dp64 = alloca %struct.dirent64*, align 8 + %res = alloca i64, align 8 + %end = alloca %struct.dirent64*, align 8 + %dp = alloca %struct.dirent64*, align 8 + %name_len = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.dirent64* %dirp, %struct.dirent64** %dirp.addr, align 8 + store i64 %nbytes, i64* %nbytes.addr, align 8 + %0 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %1 = bitcast %struct.dirent64* %0 to %struct.dirent64* + store %struct.dirent64* %1, %struct.dirent64** %dp64, align 8 + %2 = load i32, i32* %fd.addr, align 4 + %3 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %4 = load i64, i64* %nbytes.addr, align 8 + %conv = trunc i64 %4 to i32 + %call = call i32 @__fd_getdents(i32 %2, %struct.dirent64* %3, i32 %conv) + %conv1 = sext i32 %call to i64 + store i64 %conv1, i64* %res, align 8 + %5 = load i64, i64* %res, align 8 + %cmp = icmp sgt i64 %5, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %6 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %7 = bitcast %struct.dirent64* %6 to i8* + %8 = load i64, i64* %res, align 8 + %add.ptr = getelementptr inbounds i8, i8* %7, i64 %8 + %9 = bitcast i8* %add.ptr to %struct.dirent64* + store %struct.dirent64* %9, %struct.dirent64** %end, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.then + %10 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %11 = load %struct.dirent64*, %struct.dirent64** %end, align 8 + %cmp3 = icmp ult %struct.dirent64* %10, %11 + br i1 %cmp3, label %while.body, label %if.end + +while.body: ; preds = %while.cond + %12 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %13 = bitcast %struct.dirent64* %12 to %struct.dirent64* + store %struct.dirent64* %13, %struct.dirent64** %dp, align 8 + %14 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_reclen = getelementptr inbounds %struct.dirent64, %struct.dirent64* %14, i32 0, i32 2 + %15 = load i16, i16* %d_reclen, align 8 + %conv5 = zext i16 %15 to i64 + %sub = sub i64 %conv5, ptrtoint ([256 x i8]* getelementptr inbounds (%struct.dirent64, %struct.dirent64* null, i32 0, i32 4) to i64) + store i64 %sub, i64* %name_len, align 8 + %16 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_ino = getelementptr inbounds %struct.dirent64, %struct.dirent64* %16, i32 0, i32 0 + %17 = load i64, i64* %d_ino, align 8 + %18 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_ino6 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %18, i32 0, i32 0 + store i64 %17, i64* %d_ino6, align 8 + %19 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_off = getelementptr inbounds %struct.dirent64, %struct.dirent64* %19, i32 0, i32 1 + %20 = load i64, i64* %d_off, align 8 + %21 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_off7 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %21, i32 0, i32 1 + store i64 %20, i64* %d_off7, align 8 + %22 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_reclen8 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %22, i32 0, i32 2 + %23 = load i16, i16* %d_reclen8, align 8 + %24 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_reclen9 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %24, i32 0, i32 2 + store i16 %23, i16* %d_reclen9, align 8 + %25 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_type = getelementptr inbounds %struct.dirent64, %struct.dirent64* %25, i32 0, i32 3 + %26 = load i8, i8* %d_type, align 2 + %27 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_type10 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %27, i32 0, i32 3 + store i8 %26, i8* %d_type10, align 2 + %28 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_name = getelementptr inbounds %struct.dirent64, %struct.dirent64* %28, i32 0, i32 4 + %arraydecay = getelementptr inbounds [256 x i8], [256 x i8]* %d_name, i64 0, i64 0 + %29 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_name11 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %29, i32 0, i32 4 + %arraydecay12 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name11, i64 0, i64 0 + %30 = load i64, i64* %name_len, align 8 + %31 = call i8* @memmove(i8* %arraydecay, i8* %arraydecay12, i64 %30) + %32 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %33 = bitcast %struct.dirent64* %32 to i8* + %34 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_reclen13 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %34, i32 0, i32 2 + %35 = load i16, i16* %d_reclen13, align 8 + %conv14 = zext i16 %35 to i32 + %idx.ext = sext i32 %conv14 to i64 + %add.ptr15 = getelementptr inbounds i8, i8* %33, i64 %idx.ext + %36 = bitcast i8* %add.ptr15 to %struct.dirent64* + store %struct.dirent64* %36, %struct.dirent64** %dp64, align 8 + br label %while.cond + +if.end: ; preds = %while.cond, %entry + %37 = load i64, i64* %res, align 8 + ret i64 %37 +} + +; Function Attrs: argmemonly nounwind willreturn +declare void @llvm.memmove.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i1 immarg) #9 + +; Function Attrs: noinline nounwind uwtable +define dso_local void @klee_init_env(i32* %argcPtr, i8*** %argvPtr) #3 { +entry: + %argcPtr.addr = alloca i32*, align 8 + %argvPtr.addr = alloca i8***, align 8 + %argc = alloca i32, align 4 + %argv = alloca i8**, align 8 + %new_argc = alloca i32, align 4 + %n_args = alloca i32, align 4 + %new_argv = alloca [1024 x i8*], align 16 + %max_len = alloca i32, align 4 + %min_argvs = alloca i32, align 4 + %max_argvs = alloca i32, align 4 + %sym_files = alloca i32, align 4 + %sym_file_len = alloca i32, align 4 + %sym_stdin_len = alloca i32, align 4 + %sym_stdout_flag = alloca i32, align 4 + %save_all_writes_flag = alloca i32, align 4 + %fd_fail = alloca i32, align 4 + %final_argv = alloca i8**, align 8 + %sym_arg_name = alloca [6 x i8], align 1 + %sym_arg_num = alloca i32, align 4 + %k = alloca i32, align 4 + %i = alloca i32, align 4 + %msg = alloca i8*, align 8 + %msg40 = alloca i8*, align 8 + %msg105 = alloca i8*, align 8 + %msg145 = alloca i8*, align 8 + %msg215 = alloca i8*, align 8 + store i32* %argcPtr, i32** %argcPtr.addr, align 8 + store i8*** %argvPtr, i8**** %argvPtr.addr, align 8 + %0 = load i32*, i32** %argcPtr.addr, align 8 + %1 = load i32, i32* %0, align 4 + store i32 %1, i32* %argc, align 4 + %2 = load i8***, i8**** %argvPtr.addr, align 8 + %3 = load i8**, i8*** %2, align 8 + store i8** %3, i8*** %argv, align 8 + store i32 0, i32* %new_argc, align 4 + store i32 0, i32* %sym_files, align 4 + store i32 0, i32* %sym_file_len, align 4 + store i32 0, i32* %sym_stdin_len, align 4 + store i32 0, i32* %sym_stdout_flag, align 4 + store i32 0, i32* %save_all_writes_flag, align 4 + store i32 0, i32* %fd_fail, align 4 + %4 = bitcast [6 x i8]* %sym_arg_name to i8* + %5 = call i8* @memcpy(i8* %4, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @__const.klee_init_env.sym_arg_name, i32 0, i32 0), i64 6) + store i32 0, i32* %sym_arg_num, align 4 + store i32 0, i32* %k, align 4 + %arrayidx = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 5 + store i8 0, i8* %arrayidx, align 1 + %6 = load i32, i32* %argc, align 4 + %cmp = icmp eq i32 %6, 2 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %7 = load i8**, i8*** %argv, align 8 + %arrayidx1 = getelementptr inbounds i8*, i8** %7, i64 1 + %8 = load i8*, i8** %arrayidx1, align 8 + %call = call i32 @__streq(i8* %8, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.29, i64 0, i64 0)) + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + call void @__emit_error(i8* getelementptr inbounds ([964 x i8], [964 x i8]* @.str.1.30, i64 0, i64 0)) + br label %if.end + +if.end: ; preds = %if.then, %land.lhs.true, %entry + br label %while.cond + +while.cond: ; preds = %if.end239, %if.end + %9 = load i32, i32* %k, align 4 + %10 = load i32, i32* %argc, align 4 + %cmp2 = icmp slt i32 %9, %10 + br i1 %cmp2, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %11 = load i8**, i8*** %argv, align 8 + %12 = load i32, i32* %k, align 4 + %idxprom = sext i32 %12 to i64 + %arrayidx3 = getelementptr inbounds i8*, i8** %11, i64 %idxprom + %13 = load i8*, i8** %arrayidx3, align 8 + %call4 = call i32 @__streq(i8* %13, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.2.31, i64 0, i64 0)) + %tobool5 = icmp ne i32 %call4, 0 + br i1 %tobool5, label %if.then10, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.body + %14 = load i8**, i8*** %argv, align 8 + %15 = load i32, i32* %k, align 4 + %idxprom6 = sext i32 %15 to i64 + %arrayidx7 = getelementptr inbounds i8*, i8** %14, i64 %idxprom6 + %16 = load i8*, i8** %arrayidx7, align 8 + %call8 = call i32 @__streq(i8* %16, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.32, i64 0, i64 0)) + %tobool9 = icmp ne i32 %call8, 0 + br i1 %tobool9, label %if.then10, label %if.else + +if.then10: ; preds = %lor.lhs.false, %while.body + store i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.4.33, i64 0, i64 0), i8** %msg, align 8 + %17 = load i32, i32* %k, align 4 + %inc = add nsw i32 %17, 1 + store i32 %inc, i32* %k, align 4 + %18 = load i32, i32* %argc, align 4 + %cmp11 = icmp eq i32 %inc, %18 + br i1 %cmp11, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.then10 + %19 = load i8*, i8** %msg, align 8 + call void @__emit_error(i8* %19) + br label %if.end13 + +if.end13: ; preds = %if.then12, %if.then10 + %20 = load i8**, i8*** %argv, align 8 + %21 = load i32, i32* %k, align 4 + %inc14 = add nsw i32 %21, 1 + store i32 %inc14, i32* %k, align 4 + %idxprom15 = sext i32 %21 to i64 + %arrayidx16 = getelementptr inbounds i8*, i8** %20, i64 %idxprom15 + %22 = load i8*, i8** %arrayidx16, align 8 + %23 = load i8*, i8** %msg, align 8 + %call17 = call i64 @__str_to_int(i8* %22, i8* %23) + %conv = trunc i64 %call17 to i32 + store i32 %conv, i32* %max_len, align 4 + %24 = load i32, i32* %sym_arg_num, align 4 + %cmp18 = icmp ugt i32 %24, 99 + br i1 %cmp18, label %if.then20, label %if.end21 + +if.then20: ; preds = %if.end13 + call void @__emit_error(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.5.34, i64 0, i64 0)) + br label %if.end21 + +if.end21: ; preds = %if.then20, %if.end13 + %25 = load i32, i32* %sym_arg_num, align 4 + %div = udiv i32 %25, 10 + %add = add i32 48, %div + %conv22 = trunc i32 %add to i8 + %arrayidx23 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 3 + store i8 %conv22, i8* %arrayidx23, align 1 + %26 = load i32, i32* %sym_arg_num, align 4 + %rem = urem i32 %26, 10 + %add24 = add i32 48, %rem + %conv25 = trunc i32 %add24 to i8 + %arrayidx26 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 4 + store i8 %conv25, i8* %arrayidx26, align 1 + %27 = load i32, i32* %sym_arg_num, align 4 + %inc27 = add i32 %27, 1 + store i32 %inc27, i32* %sym_arg_num, align 4 + %arraydecay = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %28 = load i32, i32* %max_len, align 4 + %arraydecay28 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 0 + %call29 = call i8* @__get_sym_str(i32 %28, i8* %arraydecay28) + call void @__add_arg(i32* %new_argc, i8** %arraydecay, i8* %call29, i32 1024) + br label %if.end239 + +if.else: ; preds = %lor.lhs.false + %29 = load i8**, i8*** %argv, align 8 + %30 = load i32, i32* %k, align 4 + %idxprom30 = sext i32 %30 to i64 + %arrayidx31 = getelementptr inbounds i8*, i8** %29, i64 %idxprom30 + %31 = load i8*, i8** %arrayidx31, align 8 + %call32 = call i32 @__streq(i8* %31, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.6.35, i64 0, i64 0)) + %tobool33 = icmp ne i32 %call32, 0 + br i1 %tobool33, label %if.then39, label %lor.lhs.false34 + +lor.lhs.false34: ; preds = %if.else + %32 = load i8**, i8*** %argv, align 8 + %33 = load i32, i32* %k, align 4 + %idxprom35 = sext i32 %33 to i64 + %arrayidx36 = getelementptr inbounds i8*, i8** %32, i64 %idxprom35 + %34 = load i8*, i8** %arrayidx36, align 8 + %call37 = call i32 @__streq(i8* %34, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.7.36, i64 0, i64 0)) + %tobool38 = icmp ne i32 %call37, 0 + br i1 %tobool38, label %if.then39, label %if.else94 + +if.then39: ; preds = %lor.lhs.false34, %if.else + store i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.8.37, i64 0, i64 0), i8** %msg40, align 8 + %35 = load i32, i32* %k, align 4 + %add41 = add nsw i32 %35, 3 + %36 = load i32, i32* %argc, align 4 + %cmp42 = icmp sge i32 %add41, %36 + br i1 %cmp42, label %if.then44, label %if.end45 + +if.then44: ; preds = %if.then39 + %37 = load i8*, i8** %msg40, align 8 + call void @__emit_error(i8* %37) + br label %if.end45 + +if.end45: ; preds = %if.then44, %if.then39 + %38 = load i32, i32* %k, align 4 + %inc46 = add nsw i32 %38, 1 + store i32 %inc46, i32* %k, align 4 + %39 = load i8**, i8*** %argv, align 8 + %40 = load i32, i32* %k, align 4 + %inc47 = add nsw i32 %40, 1 + store i32 %inc47, i32* %k, align 4 + %idxprom48 = sext i32 %40 to i64 + %arrayidx49 = getelementptr inbounds i8*, i8** %39, i64 %idxprom48 + %41 = load i8*, i8** %arrayidx49, align 8 + %42 = load i8*, i8** %msg40, align 8 + %call50 = call i64 @__str_to_int(i8* %41, i8* %42) + %conv51 = trunc i64 %call50 to i32 + store i32 %conv51, i32* %min_argvs, align 4 + %43 = load i8**, i8*** %argv, align 8 + %44 = load i32, i32* %k, align 4 + %inc52 = add nsw i32 %44, 1 + store i32 %inc52, i32* %k, align 4 + %idxprom53 = sext i32 %44 to i64 + %arrayidx54 = getelementptr inbounds i8*, i8** %43, i64 %idxprom53 + %45 = load i8*, i8** %arrayidx54, align 8 + %46 = load i8*, i8** %msg40, align 8 + %call55 = call i64 @__str_to_int(i8* %45, i8* %46) + %conv56 = trunc i64 %call55 to i32 + store i32 %conv56, i32* %max_argvs, align 4 + %47 = load i8**, i8*** %argv, align 8 + %48 = load i32, i32* %k, align 4 + %inc57 = add nsw i32 %48, 1 + store i32 %inc57, i32* %k, align 4 + %idxprom58 = sext i32 %48 to i64 + %arrayidx59 = getelementptr inbounds i8*, i8** %47, i64 %idxprom58 + %49 = load i8*, i8** %arrayidx59, align 8 + %50 = load i8*, i8** %msg40, align 8 + %call60 = call i64 @__str_to_int(i8* %49, i8* %50) + %conv61 = trunc i64 %call60 to i32 + store i32 %conv61, i32* %max_len, align 4 + %51 = load i32, i32* %min_argvs, align 4 + %52 = load i32, i32* %max_argvs, align 4 + %cmp62 = icmp ugt i32 %51, %52 + br i1 %cmp62, label %if.then70, label %lor.lhs.false64 + +lor.lhs.false64: ; preds = %if.end45 + %53 = load i32, i32* %min_argvs, align 4 + %cmp65 = icmp eq i32 %53, 0 + %54 = load i32, i32* %max_argvs, align 4 + %cmp68 = icmp eq i32 %54, 0 + %or.cond = and i1 %cmp65, %cmp68 + br i1 %or.cond, label %if.then70, label %if.end71 + +if.then70: ; preds = %lor.lhs.false64, %if.end45 + call void @__emit_error(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.9.38, i64 0, i64 0)) + br label %if.end71 + +if.end71: ; preds = %if.then70, %lor.lhs.false64 + %55 = load i32, i32* %min_argvs, align 4 + %56 = load i32, i32* %max_argvs, align 4 + %add72 = add i32 %56, 1 + %call73 = call i32 @gs_range(i32 %55, i32 %add72, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.10.39, i64 0, i64 0)) + store i32 %call73, i32* %n_args, align 4 + %57 = load i32, i32* %sym_arg_num, align 4 + %58 = load i32, i32* %max_argvs, align 4 + %add74 = add i32 %57, %58 + %cmp75 = icmp ugt i32 %add74, 99 + br i1 %cmp75, label %if.then77, label %if.end78 + +if.then77: ; preds = %if.end71 + call void @__emit_error(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.5.34, i64 0, i64 0)) + br label %if.end78 + +if.end78: ; preds = %if.then77, %if.end71 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end78 + %59 = load i32, i32* %i, align 4 + %60 = load i32, i32* %n_args, align 4 + %cmp79 = icmp slt i32 %59, %60 + br i1 %cmp79, label %for.body, label %if.end239 + +for.body: ; preds = %for.cond + %61 = load i32, i32* %sym_arg_num, align 4 + %div81 = udiv i32 %61, 10 + %add82 = add i32 48, %div81 + %conv83 = trunc i32 %add82 to i8 + %arrayidx84 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 3 + store i8 %conv83, i8* %arrayidx84, align 1 + %62 = load i32, i32* %sym_arg_num, align 4 + %rem85 = urem i32 %62, 10 + %add86 = add i32 48, %rem85 + %conv87 = trunc i32 %add86 to i8 + %arrayidx88 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 4 + store i8 %conv87, i8* %arrayidx88, align 1 + %63 = load i32, i32* %sym_arg_num, align 4 + %inc89 = add i32 %63, 1 + store i32 %inc89, i32* %sym_arg_num, align 4 + %arraydecay90 = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %64 = load i32, i32* %max_len, align 4 + %arraydecay91 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 0 + %call92 = call i8* @__get_sym_str(i32 %64, i8* %arraydecay91) + call void @__add_arg(i32* %new_argc, i8** %arraydecay90, i8* %call92, i32 1024) + %65 = load i32, i32* %i, align 4 + %inc93 = add nsw i32 %65, 1 + store i32 %inc93, i32* %i, align 4 + br label %for.cond + +if.else94: ; preds = %lor.lhs.false34 + %66 = load i8**, i8*** %argv, align 8 + %67 = load i32, i32* %k, align 4 + %idxprom95 = sext i32 %67 to i64 + %arrayidx96 = getelementptr inbounds i8*, i8** %66, i64 %idxprom95 + %68 = load i8*, i8** %arrayidx96, align 8 + %call97 = call i32 @__streq(i8* %68, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.11.40, i64 0, i64 0)) + %tobool98 = icmp ne i32 %call97, 0 + br i1 %tobool98, label %if.then104, label %lor.lhs.false99 + +lor.lhs.false99: ; preds = %if.else94 + %69 = load i8**, i8*** %argv, align 8 + %70 = load i32, i32* %k, align 4 + %idxprom100 = sext i32 %70 to i64 + %arrayidx101 = getelementptr inbounds i8*, i8** %69, i64 %idxprom100 + %71 = load i8*, i8** %arrayidx101, align 8 + %call102 = call i32 @__streq(i8* %71, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.12.41, i64 0, i64 0)) + %tobool103 = icmp ne i32 %call102, 0 + br i1 %tobool103, label %if.then104, label %if.else134 + +if.then104: ; preds = %lor.lhs.false99, %if.else94 + store i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.13.42, i64 0, i64 0), i8** %msg105, align 8 + %72 = load i32, i32* %k, align 4 + %add106 = add nsw i32 %72, 2 + %73 = load i32, i32* %argc, align 4 + %cmp107 = icmp sge i32 %add106, %73 + br i1 %cmp107, label %if.then109, label %if.end110 + +if.then109: ; preds = %if.then104 + %74 = load i8*, i8** %msg105, align 8 + call void @__emit_error(i8* %74) + br label %if.end110 + +if.end110: ; preds = %if.then109, %if.then104 + %75 = load i32, i32* %sym_files, align 4 + %cmp111 = icmp ne i32 %75, 0 + br i1 %cmp111, label %if.then113, label %if.end114 + +if.then113: ; preds = %if.end110 + call void @__emit_error(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.14.43, i64 0, i64 0)) + br label %if.end114 + +if.end114: ; preds = %if.then113, %if.end110 + %76 = load i32, i32* %k, align 4 + %inc115 = add nsw i32 %76, 1 + store i32 %inc115, i32* %k, align 4 + %77 = load i8**, i8*** %argv, align 8 + %78 = load i32, i32* %k, align 4 + %inc116 = add nsw i32 %78, 1 + store i32 %inc116, i32* %k, align 4 + %idxprom117 = sext i32 %78 to i64 + %arrayidx118 = getelementptr inbounds i8*, i8** %77, i64 %idxprom117 + %79 = load i8*, i8** %arrayidx118, align 8 + %80 = load i8*, i8** %msg105, align 8 + %call119 = call i64 @__str_to_int(i8* %79, i8* %80) + %conv120 = trunc i64 %call119 to i32 + store i32 %conv120, i32* %sym_files, align 4 + %81 = load i8**, i8*** %argv, align 8 + %82 = load i32, i32* %k, align 4 + %inc121 = add nsw i32 %82, 1 + store i32 %inc121, i32* %k, align 4 + %idxprom122 = sext i32 %82 to i64 + %arrayidx123 = getelementptr inbounds i8*, i8** %81, i64 %idxprom122 + %83 = load i8*, i8** %arrayidx123, align 8 + %84 = load i8*, i8** %msg105, align 8 + %call124 = call i64 @__str_to_int(i8* %83, i8* %84) + %conv125 = trunc i64 %call124 to i32 + store i32 %conv125, i32* %sym_file_len, align 4 + %85 = load i32, i32* %sym_files, align 4 + %cmp126 = icmp eq i32 %85, 0 + br i1 %cmp126, label %if.then128, label %if.end129 + +if.then128: ; preds = %if.end114 + call void @__emit_error(i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.15.44, i64 0, i64 0)) + br label %if.end129 + +if.end129: ; preds = %if.then128, %if.end114 + %86 = load i32, i32* %sym_file_len, align 4 + %cmp130 = icmp eq i32 %86, 0 + br i1 %cmp130, label %if.then132, label %if.end239 + +if.then132: ; preds = %if.end129 + call void @__emit_error(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.16.45, i64 0, i64 0)) + br label %if.end239 + +if.else134: ; preds = %lor.lhs.false99 + %87 = load i8**, i8*** %argv, align 8 + %88 = load i32, i32* %k, align 4 + %idxprom135 = sext i32 %88 to i64 + %arrayidx136 = getelementptr inbounds i8*, i8** %87, i64 %idxprom135 + %89 = load i8*, i8** %arrayidx136, align 8 + %call137 = call i32 @__streq(i8* %89, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.17.46, i64 0, i64 0)) + %tobool138 = icmp ne i32 %call137, 0 + br i1 %tobool138, label %if.then144, label %lor.lhs.false139 + +lor.lhs.false139: ; preds = %if.else134 + %90 = load i8**, i8*** %argv, align 8 + %91 = load i32, i32* %k, align 4 + %idxprom140 = sext i32 %91 to i64 + %arrayidx141 = getelementptr inbounds i8*, i8** %90, i64 %idxprom140 + %92 = load i8*, i8** %arrayidx141, align 8 + %call142 = call i32 @__streq(i8* %92, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.18.47, i64 0, i64 0)) + %tobool143 = icmp ne i32 %call142, 0 + br i1 %tobool143, label %if.then144, label %if.else156 + +if.then144: ; preds = %lor.lhs.false139, %if.else134 + store i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.19.48, i64 0, i64 0), i8** %msg145, align 8 + %93 = load i32, i32* %k, align 4 + %inc146 = add nsw i32 %93, 1 + store i32 %inc146, i32* %k, align 4 + %94 = load i32, i32* %argc, align 4 + %cmp147 = icmp eq i32 %inc146, %94 + br i1 %cmp147, label %if.then149, label %if.end150 + +if.then149: ; preds = %if.then144 + %95 = load i8*, i8** %msg145, align 8 + call void @__emit_error(i8* %95) + br label %if.end150 + +if.end150: ; preds = %if.then149, %if.then144 + %96 = load i8**, i8*** %argv, align 8 + %97 = load i32, i32* %k, align 4 + %inc151 = add nsw i32 %97, 1 + store i32 %inc151, i32* %k, align 4 + %idxprom152 = sext i32 %97 to i64 + %arrayidx153 = getelementptr inbounds i8*, i8** %96, i64 %idxprom152 + %98 = load i8*, i8** %arrayidx153, align 8 + %99 = load i8*, i8** %msg145, align 8 + %call154 = call i64 @__str_to_int(i8* %98, i8* %99) + %conv155 = trunc i64 %call154 to i32 + store i32 %conv155, i32* %sym_stdin_len, align 4 + br label %if.end239 + +if.else156: ; preds = %lor.lhs.false139 + %100 = load i8**, i8*** %argv, align 8 + %101 = load i32, i32* %k, align 4 + %idxprom157 = sext i32 %101 to i64 + %arrayidx158 = getelementptr inbounds i8*, i8** %100, i64 %idxprom157 + %102 = load i8*, i8** %arrayidx158, align 8 + %call159 = call i32 @__streq(i8* %102, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.20.49, i64 0, i64 0)) + %tobool160 = icmp ne i32 %call159, 0 + br i1 %tobool160, label %if.then166, label %lor.lhs.false161 + +lor.lhs.false161: ; preds = %if.else156 + %103 = load i8**, i8*** %argv, align 8 + %104 = load i32, i32* %k, align 4 + %idxprom162 = sext i32 %104 to i64 + %arrayidx163 = getelementptr inbounds i8*, i8** %103, i64 %idxprom162 + %105 = load i8*, i8** %arrayidx163, align 8 + %call164 = call i32 @__streq(i8* %105, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.21.50, i64 0, i64 0)) + %tobool165 = icmp ne i32 %call164, 0 + br i1 %tobool165, label %if.then166, label %if.else168 + +if.then166: ; preds = %lor.lhs.false161, %if.else156 + store i32 1, i32* %sym_stdout_flag, align 4 + %106 = load i32, i32* %k, align 4 + %inc167 = add nsw i32 %106, 1 + store i32 %inc167, i32* %k, align 4 + br label %if.end239 + +if.else168: ; preds = %lor.lhs.false161 + %107 = load i8**, i8*** %argv, align 8 + %108 = load i32, i32* %k, align 4 + %idxprom169 = sext i32 %108 to i64 + %arrayidx170 = getelementptr inbounds i8*, i8** %107, i64 %idxprom169 + %109 = load i8*, i8** %arrayidx170, align 8 + %call171 = call i32 @__streq(i8* %109, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.22.51, i64 0, i64 0)) + %tobool172 = icmp ne i32 %call171, 0 + br i1 %tobool172, label %if.then178, label %lor.lhs.false173 + +lor.lhs.false173: ; preds = %if.else168 + %110 = load i8**, i8*** %argv, align 8 + %111 = load i32, i32* %k, align 4 + %idxprom174 = sext i32 %111 to i64 + %arrayidx175 = getelementptr inbounds i8*, i8** %110, i64 %idxprom174 + %112 = load i8*, i8** %arrayidx175, align 8 + %call176 = call i32 @__streq(i8* %112, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23.52, i64 0, i64 0)) + %tobool177 = icmp ne i32 %call176, 0 + br i1 %tobool177, label %if.then178, label %if.else180 + +if.then178: ; preds = %lor.lhs.false173, %if.else168 + store i32 1, i32* %save_all_writes_flag, align 4 + %113 = load i32, i32* %k, align 4 + %inc179 = add nsw i32 %113, 1 + store i32 %inc179, i32* %k, align 4 + br label %if.end239 + +if.else180: ; preds = %lor.lhs.false173 + %114 = load i8**, i8*** %argv, align 8 + %115 = load i32, i32* %k, align 4 + %idxprom181 = sext i32 %115 to i64 + %arrayidx182 = getelementptr inbounds i8*, i8** %114, i64 %idxprom181 + %116 = load i8*, i8** %arrayidx182, align 8 + %call183 = call i32 @__streq(i8* %116, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.24.53, i64 0, i64 0)) + %tobool184 = icmp ne i32 %call183, 0 + br i1 %tobool184, label %if.then190, label %lor.lhs.false185 + +lor.lhs.false185: ; preds = %if.else180 + %117 = load i8**, i8*** %argv, align 8 + %118 = load i32, i32* %k, align 4 + %idxprom186 = sext i32 %118 to i64 + %arrayidx187 = getelementptr inbounds i8*, i8** %117, i64 %idxprom186 + %119 = load i8*, i8** %arrayidx187, align 8 + %call188 = call i32 @__streq(i8* %119, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.25.54, i64 0, i64 0)) + %tobool189 = icmp ne i32 %call188, 0 + br i1 %tobool189, label %if.then190, label %if.else192 + +if.then190: ; preds = %lor.lhs.false185, %if.else180 + store i32 1, i32* %fd_fail, align 4 + %120 = load i32, i32* %k, align 4 + %inc191 = add nsw i32 %120, 1 + store i32 %inc191, i32* %k, align 4 + br label %if.end239 + +if.else192: ; preds = %lor.lhs.false185 + %121 = load i8**, i8*** %argv, align 8 + %122 = load i32, i32* %k, align 4 + %idxprom193 = sext i32 %122 to i64 + %arrayidx194 = getelementptr inbounds i8*, i8** %121, i64 %idxprom193 + %123 = load i8*, i8** %arrayidx194, align 8 + %call195 = call i32 @__streq(i8* %123, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.26.55, i64 0, i64 0)) + %tobool196 = icmp ne i32 %call195, 0 + br i1 %tobool196, label %if.then202, label %lor.lhs.false197 + +lor.lhs.false197: ; preds = %if.else192 + %124 = load i8**, i8*** %argv, align 8 + %125 = load i32, i32* %k, align 4 + %idxprom198 = sext i32 %125 to i64 + %arrayidx199 = getelementptr inbounds i8*, i8** %124, i64 %idxprom198 + %126 = load i8*, i8** %arrayidx199, align 8 + %call200 = call i32 @__streq(i8* %126, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.27.56, i64 0, i64 0)) + %tobool201 = icmp ne i32 %call200, 0 + br i1 %tobool201, label %if.then202, label %if.else204 + +if.then202: ; preds = %lor.lhs.false197, %if.else192 + %127 = load i32, i32* %k, align 4 + %add203 = add nsw i32 %127, 2 + store i32 %add203, i32* %k, align 4 + br label %if.end239 + +if.else204: ; preds = %lor.lhs.false197 + %128 = load i8**, i8*** %argv, align 8 + %129 = load i32, i32* %k, align 4 + %idxprom205 = sext i32 %129 to i64 + %arrayidx206 = getelementptr inbounds i8*, i8** %128, i64 %idxprom205 + %130 = load i8*, i8** %arrayidx206, align 8 + %call207 = call i32 @__streq(i8* %130, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.28.57, i64 0, i64 0)) + %tobool208 = icmp ne i32 %call207, 0 + br i1 %tobool208, label %if.then214, label %lor.lhs.false209 + +lor.lhs.false209: ; preds = %if.else204 + %131 = load i8**, i8*** %argv, align 8 + %132 = load i32, i32* %k, align 4 + %idxprom210 = sext i32 %132 to i64 + %arrayidx211 = getelementptr inbounds i8*, i8** %131, i64 %idxprom210 + %133 = load i8*, i8** %arrayidx211, align 8 + %call212 = call i32 @__streq(i8* %133, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.29.58, i64 0, i64 0)) + %tobool213 = icmp ne i32 %call212, 0 + br i1 %tobool213, label %if.then214, label %if.else226 + +if.then214: ; preds = %lor.lhs.false209, %if.else204 + store i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.30, i64 0, i64 0), i8** %msg215, align 8 + %134 = load i32, i32* %k, align 4 + %inc216 = add nsw i32 %134, 1 + store i32 %inc216, i32* %k, align 4 + %135 = load i32, i32* %argc, align 4 + %cmp217 = icmp eq i32 %inc216, %135 + br i1 %cmp217, label %if.then219, label %if.end220 + +if.then219: ; preds = %if.then214 + %136 = load i8*, i8** %msg215, align 8 + call void @__emit_error(i8* %136) + br label %if.end220 + +if.end220: ; preds = %if.then219, %if.then214 + %137 = load i8**, i8*** %argv, align 8 + %138 = load i32, i32* %k, align 4 + %inc221 = add nsw i32 %138, 1 + store i32 %inc221, i32* %k, align 4 + %idxprom222 = sext i32 %138 to i64 + %arrayidx223 = getelementptr inbounds i8*, i8** %137, i64 %idxprom222 + %139 = load i8*, i8** %arrayidx223, align 8 + %140 = load i8*, i8** %msg215, align 8 + %call224 = call i64 @__str_to_int(i8* %139, i8* %140) + %conv225 = trunc i64 %call224 to i32 + store i32 %conv225, i32* %fd_fail, align 4 + br label %if.end239 + +if.else226: ; preds = %lor.lhs.false209 + %arraydecay227 = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %141 = load i8**, i8*** %argv, align 8 + %142 = load i32, i32* %k, align 4 + %inc228 = add nsw i32 %142, 1 + store i32 %inc228, i32* %k, align 4 + %idxprom229 = sext i32 %142 to i64 + %arrayidx230 = getelementptr inbounds i8*, i8** %141, i64 %idxprom229 + %143 = load i8*, i8** %arrayidx230, align 8 + call void @__add_arg(i32* %new_argc, i8** %arraydecay227, i8* %143, i32 1024) + br label %if.end239 + +if.end239: ; preds = %for.cond, %if.end150, %if.then178, %if.then202, %if.else226, %if.end220, %if.then190, %if.then166, %if.end129, %if.then132, %if.end21 + br label %while.cond + +while.end: ; preds = %while.cond + %144 = load i32, i32* %new_argc, align 4 + %add240 = add nsw i32 %144, 1 + %conv241 = sext i32 %add240 to i64 + %mul = mul i64 %conv241, 8 + %call242 = call noalias i8* @malloc(i64 %mul) #11 + %145 = bitcast i8* %call242 to i8** + store i8** %145, i8*** %final_argv, align 8 + %146 = load i8**, i8*** %final_argv, align 8 + %tobool243 = icmp ne i8** %146, null + br i1 %tobool243, label %if.end245, label %if.then244 + +if.then244: ; preds = %while.end + call void @__emit_error(i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.31, i64 0, i64 0)) + br label %if.end245 + +if.end245: ; preds = %if.then244, %while.end + %147 = load i8**, i8*** %final_argv, align 8 + %148 = bitcast i8** %147 to i8* + %arraydecay246 = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %149 = bitcast i8** %arraydecay246 to i8* + %150 = load i32, i32* %new_argc, align 4 + %conv247 = sext i32 %150 to i64 + %mul248 = mul i64 %conv247, 8 + %151 = call i8* @memcpy(i8* %148, i8* %149, i64 %mul248) + %152 = load i8**, i8*** %final_argv, align 8 + %153 = load i32, i32* %new_argc, align 4 + %idxprom249 = sext i32 %153 to i64 + %arrayidx250 = getelementptr inbounds i8*, i8** %152, i64 %idxprom249 + store i8* null, i8** %arrayidx250, align 8 + %154 = load i32, i32* %new_argc, align 4 + %155 = load i32*, i32** %argcPtr.addr, align 8 + store i32 %154, i32* %155, align 4 + %156 = load i8**, i8*** %final_argv, align 8 + %157 = load i8***, i8**** %argvPtr.addr, align 8 + store i8** %156, i8*** %157, align 8 + %158 = load i32, i32* %sym_files, align 4 + %159 = load i32, i32* %sym_file_len, align 4 + %160 = load i32, i32* %sym_stdin_len, align 4 + %161 = load i32, i32* %sym_stdout_flag, align 4 + %162 = load i32, i32* %save_all_writes_flag, align 4 + %163 = load i32, i32* %fd_fail, align 4 + call void @klee_init_fds(i32 %158, i32 %159, i32 %160, i32 %161, i32 %162, i32 %163) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__streq(i8* %a, i8* %b) #3 { +entry: + %retval = alloca i32, align 4 + %a.addr = alloca i8*, align 8 + %b.addr = alloca i8*, align 8 + store i8* %a, i8** %a.addr, align 8 + store i8* %b, i8** %b.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %0 = load i8*, i8** %a.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %2 = load i8*, i8** %b.addr, align 8 + %3 = load i8, i8* %2, align 1 + %conv1 = sext i8 %3 to i32 + %cmp = icmp eq i32 %conv, %conv1 + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i8*, i8** %a.addr, align 8 + %5 = load i8, i8* %4, align 1 + %tobool = icmp ne i8 %5, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %while.body + store i32 1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %while.body + %6 = load i8*, i8** %a.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %a.addr, align 8 + %7 = load i8*, i8** %b.addr, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %7, i32 1 + store i8* %incdec.ptr3, i8** %b.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %while.end, %if.then + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__emit_error(i8* %msg) #3 { +entry: + %msg.addr = alloca i8*, align 8 + store i8* %msg, i8** %msg.addr, align 8 + %0 = load i8*, i8** %msg.addr, align 8 + call void @gs_report_error.59(i8* getelementptr inbounds ([88 x i8], [88 x i8]* @.str.32, i64 0, i64 0), i32 21, i8* %0, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.33, i64 0, i64 0)) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @__str_to_int(i8* %s, i8* %error_msg) #3 { +entry: + %s.addr = alloca i8*, align 8 + %error_msg.addr = alloca i8*, align 8 + %res = alloca i64, align 8 + %c = alloca i8, align 1 + store i8* %s, i8** %s.addr, align 8 + store i8* %error_msg, i8** %error_msg.addr, align 8 + store i64 0, i64* %res, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i8, i8* %0, align 1 + %tobool = icmp ne i8 %1, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %2 = load i8*, i8** %error_msg.addr, align 8 + call void @__emit_error(i8* %2) + br label %if.end + +if.end: ; preds = %if.then, %entry + br label %while.cond + +while.cond: ; preds = %if.end9, %if.end + %3 = load i8*, i8** %s.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %s.addr, align 8 + %4 = load i8, i8* %3, align 1 + store i8 %4, i8* %c, align 1 + %tobool1 = icmp ne i8 %4, 0 + br i1 %tobool1, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %5 = load i8, i8* %c, align 1 + %conv = sext i8 %5 to i32 + %cmp = icmp sge i32 %conv, 48 + br i1 %cmp, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %while.body + %6 = load i8, i8* %c, align 1 + %conv3 = sext i8 %6 to i32 + %cmp4 = icmp sle i32 %conv3, 57 + br i1 %cmp4, label %if.then6, label %if.else + +if.then6: ; preds = %land.lhs.true + %7 = load i64, i64* %res, align 8 + %mul = mul nsw i64 %7, 10 + %8 = load i8, i8* %c, align 1 + %conv7 = sext i8 %8 to i32 + %sub = sub nsw i32 %conv7, 48 + %conv8 = sext i32 %sub to i64 + %add = add nsw i64 %mul, %conv8 + store i64 %add, i64* %res, align 8 + br label %if.end9 + +if.else: ; preds = %land.lhs.true, %while.body + %9 = load i8*, i8** %error_msg.addr, align 8 + call void @__emit_error(i8* %9) + br label %if.end9 + +if.end9: ; preds = %if.else, %if.then6 + br label %while.cond + +while.end: ; preds = %while.cond + %10 = load i64, i64* %res, align 8 + ret i64 %10 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @__get_sym_str(i32 %numChars, i8* %name) #3 { +entry: + %numChars.addr = alloca i32, align 4 + %name.addr = alloca i8*, align 8 + %i = alloca i32, align 4 + %s = alloca i8*, align 8 + store i32 %numChars, i32* %numChars.addr, align 4 + store i8* %name, i8** %name.addr, align 8 + %0 = load i32, i32* %numChars.addr, align 4 + %add = add nsw i32 %0, 1 + %conv = sext i32 %add to i64 + %call = call noalias i8* @malloc(i64 %conv) #11 + store i8* %call, i8** %s, align 8 + %1 = load i8*, i8** %s, align 8 + %tobool = icmp ne i8* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @__emit_error(i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.31, i64 0, i64 0)) + br label %if.end + +if.end: ; preds = %if.then, %entry + %2 = load i8*, i8** %s, align 8 + %3 = load i32, i32* %numChars.addr, align 4 + %add1 = add nsw i32 %3, 1 + %conv2 = sext i32 %add1 to i64 + %4 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %2, i64 %conv2, i8* %4) + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %5 = load i32, i32* %i, align 4 + %6 = load i32, i32* %numChars.addr, align 4 + %cmp = icmp slt i32 %5, %6 + %7 = load i8*, i8** %s, align 8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %8 = load i8*, i8** %s, align 8 + %9 = load i32, i32* %i, align 4 + %idxprom = sext i32 %9 to i64 + %arrayidx = getelementptr inbounds i8, i8* %8, i64 %idxprom + %10 = load i8, i8* %arrayidx, align 1 + %call4 = call i32 @__isprint(i8 signext %10) + %tobool5 = icmp ne i32 %call4, 0 + call void @gs_posix_prefer_cex(i8* %7, i1 zeroext %tobool5) + %11 = load i32, i32* %i, align 4 + %inc = add nsw i32 %11, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %12 = load i32, i32* %numChars.addr, align 4 + %idxprom6 = sext i32 %12 to i64 + %arrayidx7 = getelementptr inbounds i8, i8* %7, i64 %idxprom6 + store i8 0, i8* %arrayidx7, align 1 + %13 = load i8*, i8** %s, align 8 + ret i8* %13 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__add_arg(i32* %argc, i8** %argv, i8* %arg, i32 %argcMax) #3 { +entry: + %argc.addr = alloca i32*, align 8 + %argv.addr = alloca i8**, align 8 + %arg.addr = alloca i8*, align 8 + %argcMax.addr = alloca i32, align 4 + store i32* %argc, i32** %argc.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i32 %argcMax, i32* %argcMax.addr, align 4 + %0 = load i32*, i32** %argc.addr, align 8 + %1 = load i32, i32* %0, align 4 + %2 = load i32, i32* %argcMax.addr, align 4 + %cmp = icmp eq i32 %1, %2 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + call void @__emit_error(i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.35, i64 0, i64 0)) + br label %if.end + +if.else: ; preds = %entry + %3 = load i8*, i8** %arg.addr, align 8 + %4 = load i8**, i8*** %argv.addr, align 8 + %5 = load i32*, i32** %argc.addr, align 8 + %6 = load i32, i32* %5, align 4 + %idxprom = sext i32 %6 to i64 + %arrayidx = getelementptr inbounds i8*, i8** %4, i64 %idxprom + store i8* %3, i8** %arrayidx, align 8 + %7 = load i32*, i32** %argc.addr, align 8 + %8 = load i32, i32* %7, align 4 + %inc = add nsw i32 %8, 1 + store i32 %inc, i32* %7, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @gs_range(i32 %begin, i32 %end, i8* %name) #3 { +entry: + %begin.addr = alloca i32, align 4 + %end.addr = alloca i32, align 4 + %name.addr = alloca i8*, align 8 + %x = alloca i32, align 4 + store i32 %begin, i32* %begin.addr, align 4 + store i32 %end, i32* %end.addr, align 4 + store i8* %name, i8** %name.addr, align 8 + %0 = bitcast i32* %x to i8* + %1 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %0, i64 4, i8* %1) + %2 = load i32, i32* %x, align 4 + %3 = load i32, i32* %begin.addr, align 4 + %cmp = icmp sge i32 %2, %3 + call void @gs_assume(i1 zeroext %cmp) + %4 = load i32, i32* %x, align 4 + %5 = load i32, i32* %end.addr, align 4 + %cmp1 = icmp slt i32 %4, %5 + call void @gs_assume(i1 zeroext %cmp1) + %6 = load i32, i32* %x, align 4 + ret i32 %6 +} + +declare dso_local void @make_symbolic(i8*, i64, ...) #5 + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__isprint(i8 signext %c) #3 { +entry: + %c.addr = alloca i8, align 1 + store i8 %c, i8* %c.addr, align 1 + %0 = load i8, i8* %c.addr, align 1 + %conv = sext i8 %0 to i32 + %cmp = icmp sle i32 32, %conv + %conv1 = zext i1 %cmp to i32 + %1 = load i8, i8* %c.addr, align 1 + %conv2 = sext i8 %1 to i32 + %cmp3 = icmp sle i32 %conv2, 126 + %conv4 = zext i1 %cmp3 to i32 + %and = and i32 %conv1, %conv4 + ret i32 %and +} + +declare dso_local void @gs_posix_prefer_cex(i8*, i1 zeroext) #5 + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error.59(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.34, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__user_main(i32 %argcPtr, i8** %argvPtr, i8** %envp) #3 { +entry: + %argcPtr.addr = alloca i32, align 4 + %argvPtr.addr = alloca i8**, align 8 + %envp.addr = alloca i8**, align 8 + store i32 %argcPtr, i32* %argcPtr.addr, align 4 + store i8** %argvPtr, i8*** %argvPtr.addr, align 8 + store i8** %envp, i8*** %envp.addr, align 8 + call void @klee_init_env(i32* %argcPtr.addr, i8*** %argvPtr.addr) + %0 = load i32, i32* %argcPtr.addr, align 4 + %1 = load i8**, i8*** %argvPtr.addr, align 8 + %2 = load i8**, i8*** %envp.addr, align 8 + %call = call i32 bitcast (i32 (i32, i8**)* @__klee_posix_wrapped_main to i32 (i32, i8**, i8**)*)(i32 %0, i8** %1, i8** %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind readnone uwtable +declare i32* @__errno_location() #12 + +; Function Attrs: noinline nounwind readnone uwtable +define weak i32* @__h_errno_location() #12 { +entry: + ret i32* @h_errno +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @___path_search(i8* %tmpl, i64 %tmpl_len, i8* %dir, i8* %pfx) #0 { +entry: + %retval = alloca i32, align 4 + %tmpl.addr = alloca i8*, align 8 + %tmpl_len.addr = alloca i64, align 8 + %dir.addr = alloca i8*, align 8 + %pfx.addr = alloca i8*, align 8 + %dlen = alloca i64, align 8 + %plen = alloca i64, align 8 + store i8* %tmpl, i8** %tmpl.addr, align 8 + store i64 %tmpl_len, i64* %tmpl_len.addr, align 8 + store i8* %dir, i8** %dir.addr, align 8 + store i8* %pfx, i8** %pfx.addr, align 8 + %0 = load i8*, i8** %pfx.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %lor.lhs.false, label %if.then + +lor.lhs.false: ; preds = %entry + %1 = load i8*, i8** %pfx.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %tobool1 = icmp ne i8 %2, 0 + br i1 %tobool1, label %if.else, label %if.then + +if.then: ; preds = %lor.lhs.false, %entry + store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.68, i64 0, i64 0), i8** %pfx.addr, align 8 + store i64 4, i64* %plen, align 8 + br label %if.end3 + +if.else: ; preds = %lor.lhs.false + %3 = load i8*, i8** %pfx.addr, align 8 + %call = call i64 @strlen(i8* %3) #20 + store i64 %call, i64* %plen, align 8 + %4 = load i64, i64* %plen, align 8 + %cmp = icmp ugt i64 %4, 5 + %spec.store.select = select i1 %cmp, i64 5, i64 %call + store i64 %spec.store.select, i64* %plen, align 8 + br label %if.end3 + +if.end3: ; preds = %if.else, %if.then + %5 = load i8*, i8** %dir.addr, align 8 + %cmp4 = icmp eq i8* %5, null + br i1 %cmp4, label %if.then5, label %if.end18 + +if.then5: ; preds = %if.end3 + %call6 = call i32 @direxists(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0)) #18 + %tobool7 = icmp ne i32 %call6, 0 + br i1 %tobool7, label %if.then8, label %if.else9 + +if.then8: ; preds = %if.then5 + store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0), i8** %dir.addr, align 8 + br label %if.end18 + +if.else9: ; preds = %if.then5 + %call10 = call i32 @strcmp(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0)) #20 + %cmp11 = icmp ne i32 %call10, 0 + br i1 %cmp11, label %land.lhs.true, label %if.else15 + +land.lhs.true: ; preds = %if.else9 + %call12 = call i32 @direxists(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0)) #18 + %tobool13 = icmp ne i32 %call12, 0 + br i1 %tobool13, label %if.then14, label %if.else15 + +if.then14: ; preds = %land.lhs.true + store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0), i8** %dir.addr, align 8 + br label %if.end18 + +if.else15: ; preds = %land.lhs.true, %if.else9 + store i32 2, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %if.then8, %if.then14, %if.end3 + %6 = load i8*, i8** %dir.addr, align 8 + %call19 = call i64 @strlen(i8* %6) #20 + store i64 %call19, i64* %dlen, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end18 + %7 = load i64, i64* %dlen, align 8 + %cmp20 = icmp ugt i64 %7, 1 + br i1 %cmp20, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %8 = load i8*, i8** %dir.addr, align 8 + %9 = load i64, i64* %dlen, align 8 + %sub = sub i64 %9, 1 + %arrayidx21 = getelementptr inbounds i8, i8* %8, i64 %sub + %10 = load i8, i8* %arrayidx21, align 1 + %conv = sext i8 %10 to i32 + %cmp22 = icmp eq i32 %conv, 47 + br i1 %cmp22, label %while.body, label %while.end + +while.body: ; preds = %land.rhs + %11 = load i64, i64* %dlen, align 8 + %dec = add i64 %11, -1 + store i64 %dec, i64* %dlen, align 8 + br label %while.cond + +while.end: ; preds = %while.cond, %land.rhs + %12 = load i64, i64* %tmpl_len.addr, align 8 + %13 = load i64, i64* %dlen, align 8 + %add = add i64 %13, 1 + %14 = load i64, i64* %plen, align 8 + %add24 = add i64 %add, %14 + %add25 = add i64 %add24, 6 + %add26 = add i64 %add25, 1 + %cmp27 = icmp ult i64 %12, %add26 + br i1 %cmp27, label %if.then29, label %if.end30 + +if.then29: ; preds = %while.end + store i32 22, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end30: ; preds = %while.end + %15 = load i8*, i8** %tmpl.addr, align 8 + %16 = load i64, i64* %dlen, align 8 + %17 = load i8*, i8** %dir.addr, align 8 + %18 = load i64, i64* %plen, align 8 + %19 = load i8*, i8** %pfx.addr, align 8 + %call31 = call i32 (i8*, i8*, ...) @sprintf(i8* %15, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.2.70, i64 0, i64 0), i64 %16, i8* %17, i64 %18, i8* %19) #19 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end30, %if.then29, %if.else15 + %20 = load i32, i32* %retval, align 4 + ret i32 %20 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @direxists(i8* %dir) #0 { +entry: + %dir.addr = alloca i8*, align 8 + %buf = alloca %struct.stat.192, align 8 + store i8* %dir, i8** %dir.addr, align 8 + %0 = load i8*, i8** %dir.addr, align 8 + %call = call i32 bitcast (i32 (i8*, %struct.stat64*)* @stat to i32 (i8*, %struct.stat.192*)*)(i8* %0, %struct.stat.192* %buf) #19 + %cmp = icmp eq i32 %call, 0 + %st_mode = getelementptr inbounds %struct.stat.192, %struct.stat.192* %buf, i32 0, i32 3 + %1 = load i32, i32* %st_mode, align 8 + %and = and i32 %1, 61440 + %cmp1 = icmp eq i32 %and, 16384 + %2 = select i1 %cmp, i1 %cmp1, i1 false + %land.ext = zext i1 %2 to i32 + ret i32 %land.ext +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__gen_tempname(i8* %tmpl, i32 %kind) #0 { +entry: + %retval = alloca i32, align 4 + %tmpl.addr = alloca i8*, align 8 + %kind.addr = alloca i32, align 4 + %XXXXXX = alloca i8*, align 8 + %i = alloca i32, align 4 + %fd = alloca i32, align 4 + %save_errno = alloca i32, align 4 + %randomness = alloca [6 x i8], align 1 + %len = alloca i64, align 8 + %j = alloca i32, align 4 + %st = alloca %struct.stat.192, align 8 + store i8* %tmpl, i8** %tmpl.addr, align 8 + store i32 %kind, i32* %kind.addr, align 4 + %0 = load i32, i32* @errno, align 4 + store i32 %0, i32* %save_errno, align 4 + %1 = load i8*, i8** %tmpl.addr, align 8 + %call = call i64 @strlen(i8* %1) #20 + store i64 %call, i64* %len, align 8 + %2 = load i8*, i8** %tmpl.addr, align 8 + %3 = load i64, i64* %len, align 8 + %add.ptr = getelementptr inbounds i8, i8* %2, i64 %3 + %add.ptr1 = getelementptr inbounds i8, i8* %add.ptr, i64 -6 + store i8* %add.ptr1, i8** %XXXXXX, align 8 + %4 = load i64, i64* %len, align 8 + %cmp = icmp ult i64 %4, 6 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %5 = load i8*, i8** %XXXXXX, align 8 + %call2 = call i32 @strcmp(i8* %5, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.3.73, i64 0, i64 0)) #20 + %tobool = icmp ne i32 %call2, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %lor.lhs.false, %entry + store i32 22, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %lor.lhs.false + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc44, %if.end + %6 = load i32, i32* %i, align 4 + %cmp3 = icmp ult i32 %6, 238328 + br i1 %cmp3, label %for.body, label %for.end46 + +for.body: ; preds = %for.cond + %arraydecay = getelementptr inbounds [6 x i8], [6 x i8]* %randomness, i64 0, i64 0 + %call4 = call i32 @fillrand(i8* %arraydecay, i32 6) #18 + %conv = zext i32 %call4 to i64 + %cmp5 = icmp ne i64 %conv, 6 + br i1 %cmp5, label %if.then7, label %if.end9 + +if.then7: ; preds = %for.body + %arraydecay8 = getelementptr inbounds [6 x i8], [6 x i8]* %randomness, i64 0, i64 0 + call void @brain_damaged_fillrand(i8* %arraydecay8, i32 6) #18 + br label %if.end9 + +if.end9: ; preds = %if.then7, %for.body + store i32 0, i32* %j, align 4 + br label %for.cond10 + +for.cond10: ; preds = %for.body14, %if.end9 + %7 = load i32, i32* %j, align 4 + %conv11 = sext i32 %7 to i64 + %cmp12 = icmp ult i64 %conv11, 6 + br i1 %cmp12, label %for.body14, label %for.end + +for.body14: ; preds = %for.cond10 + %8 = load i32, i32* %j, align 4 + %idxprom = sext i32 %8 to i64 + %arrayidx = getelementptr inbounds [6 x i8], [6 x i8]* %randomness, i64 0, i64 %idxprom + %9 = load i8, i8* %arrayidx, align 1 + %conv15 = zext i8 %9 to i32 + %rem = srem i32 %conv15, 62 + %idxprom16 = sext i32 %rem to i64 + %arrayidx17 = getelementptr inbounds [63 x i8], [63 x i8]* @letters, i64 0, i64 %idxprom16 + %10 = load i8, i8* %arrayidx17, align 1 + %11 = load i8*, i8** %XXXXXX, align 8 + %12 = load i32, i32* %j, align 4 + %idxprom18 = sext i32 %12 to i64 + %arrayidx19 = getelementptr inbounds i8, i8* %11, i64 %idxprom18 + store i8 %10, i8* %arrayidx19, align 1 + %13 = load i32, i32* %j, align 4 + %inc = add nsw i32 %13, 1 + store i32 %inc, i32* %j, align 4 + br label %for.cond10 + +for.end: ; preds = %for.cond10 + %14 = load i32, i32* %kind.addr, align 4 + br label %NodeBlock5 + +NodeBlock5: ; preds = %for.end + %case.cmp6 = icmp eq i32 %14, 3 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %14, 0 + br i1 %case.cmp4, label %sw.bb29, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %14, 1 + br i1 %case.cmp2, label %sw.bb31, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %14, 2 + br i1 %case.cmp, label %sw.bb33, label %newDefault + +sw.bb: ; preds = %NodeBlock5 + %15 = load i8*, i8** %tmpl.addr, align 8 + %call20 = call i32 bitcast (i32 (i8*, %struct.stat64*)* @stat to i32 (i8*, %struct.stat.192*)*)(i8* %15, %struct.stat.192* %st) #19 + %cmp21 = icmp slt i32 %call20, 0 + br i1 %cmp21, label %if.then23, label %if.else27 + +if.then23: ; preds = %sw.bb + %16 = load i32, i32* @errno, align 4 + %cmp24 = icmp eq i32 %16, 2 + br i1 %cmp24, label %if.then26, label %if.else + +if.then26: ; preds = %if.then23 + store i32 0, i32* %fd, align 4 + br label %restore_and_ret + +if.else: ; preds = %if.then23 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else27: ; preds = %sw.bb + store i32 0, i32* %fd, align 4 + br label %sw.bb29 + +sw.bb29: ; preds = %NodeBlock3, %if.else27 + %17 = load i8*, i8** %tmpl.addr, align 8 + %call30 = call i32 (i8*, i32, ...) @open(i8* %17, i32 194, i32 384) #18 + store i32 %call30, i32* %fd, align 4 + br label %sw.epilog + +sw.bb31: ; preds = %NodeBlock1 + %18 = load i8*, i8** %tmpl.addr, align 8 + %call32 = call i32 (i8*, i32, ...) @open64(i8* %18, i32 194, i32 384) #18 + store i32 %call32, i32* %fd, align 4 + br label %sw.epilog + +sw.bb33: ; preds = %NodeBlock + %19 = load i8*, i8** %tmpl.addr, align 8 + %call34 = call i32 @mkdir(i8* %19, i32 448) #19 + store i32 %call34, i32* %fd, align 4 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i32 -1, i32* %fd, align 4 + br label %sw.epilog + +sw.epilog: ; preds = %sw.default, %sw.bb33, %sw.bb31, %sw.bb29 + %20 = load i32, i32* %fd, align 4 + %cmp35 = icmp sge i32 %20, 0 + br i1 %cmp35, label %restore_and_ret, label %if.else38 + +restore_and_ret: ; preds = %sw.epilog, %if.then26 + %21 = load i32, i32* %save_errno, align 4 + store i32 %21, i32* @errno, align 4 + %22 = load i32, i32* %fd, align 4 + store i32 %22, i32* %retval, align 4 + br label %return + +if.else38: ; preds = %sw.epilog + %23 = load i32, i32* @errno, align 4 + %cmp39 = icmp ne i32 %23, 17 + br i1 %cmp39, label %if.then41, label %for.inc44 + +if.then41: ; preds = %if.else38 + store i32 -1, i32* %retval, align 4 + br label %return + +for.inc44: ; preds = %if.else38 + %24 = load i32, i32* %i, align 4 + %inc45 = add i32 %24, 1 + store i32 %inc45, i32* %i, align 4 + br label %for.cond + +for.end46: ; preds = %for.cond + store i32 17, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %for.end46, %if.then41, %restore_and_ret, %if.else, %if.then + %25 = load i32, i32* %retval, align 4 + ret i32 %25 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @fillrand(i8* %buf, i32 %len) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %len.addr = alloca i32, align 4 + %fd = alloca i32, align 4 + %result = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i32 %len, i32* %len.addr, align 4 + store i32 -1, i32* %result, align 4 + %call = call i32 (i8*, i32, ...) @open(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.4.74, i64 0, i64 0), i32 0) #18 + store i32 %call, i32* %fd, align 4 + %0 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %0, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call1 = call i32 (i8*, i32, ...) @open(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.5.75, i64 0, i64 0), i32 2048) #18 + store i32 %call1, i32* %fd, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i32, i32* %fd, align 4 + %cmp2 = icmp sge i32 %1, 0 + br i1 %cmp2, label %if.then3, label %if.end7 + +if.then3: ; preds = %if.end + %2 = load i32, i32* %fd, align 4 + %3 = load i8*, i8** %buf.addr, align 8 + %4 = load i32, i32* %len.addr, align 4 + %conv = zext i32 %4 to i64 + %call4 = call i64 @read(i32 %2, i8* %3, i64 %conv) #18 + %conv5 = trunc i64 %call4 to i32 + store i32 %conv5, i32* %result, align 4 + %5 = load i32, i32* %fd, align 4 + %call6 = call i32 @close(i32 %5) #18 + br label %if.end7 + +if.end7: ; preds = %if.then3, %if.end + %6 = load i32, i32* %result, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @brain_damaged_fillrand(i8* %buf, i32 %len) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %len.addr = alloca i32, align 4 + %i = alloca i32, align 4 + %k = alloca i32, align 4 + %tv = alloca %struct.timespec, align 8 + %high = alloca i32, align 4 + %low = alloca i32, align 4 + %rh = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i32 %len, i32* %len.addr, align 4 + %call = call i32 bitcast (i32 (%struct.timespec*, i8*)* @gettimeofday to i32 (%struct.timespec*, %struct.__mbstate_t.512*)*)(%struct.timespec* %tv, %struct.__mbstate_t.512* null) #19 + %tv_usec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 1 + %0 = load i64, i64* %tv_usec, align 8 + %shl = shl i64 %0, 16 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %1 = load i64, i64* %tv_sec, align 8 + %xor = xor i64 %shl, %1 + %call1 = call i32 @getpid() #19 + %conv = sext i32 %call1 to i64 + %xor2 = xor i64 %xor, %conv + %2 = load i64, i64* @brain_damaged_fillrand.value, align 8 + %add = add i64 %2, %xor2 + store i64 %add, i64* @brain_damaged_fillrand.value, align 8 + %3 = load i64, i64* @brain_damaged_fillrand.value, align 8 + %and = and i64 %3, 4294967295 + %conv3 = trunc i64 %and to i32 + store i32 %conv3, i32* %low, align 4 + %4 = load i64, i64* @brain_damaged_fillrand.value, align 8 + %shr = lshr i64 %4, 32 + %conv4 = trunc i64 %shr to i32 + store i32 %conv4, i32* %high, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %5 = load i32, i32* %i, align 4 + %6 = load i32, i32* %len.addr, align 4 + %cmp = icmp ult i32 %5, %6 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %7 = load i32, i32* %high, align 4 + %rem = urem i32 %7, 62 + store i32 %rem, i32* %rh, align 4 + %8 = load i32, i32* %high, align 4 + %div = udiv i32 %8, 62 + store i32 %div, i32* %high, align 4 + %9 = load i32, i32* %low, align 4 + %rem6 = urem i32 %9, 62 + %10 = load i32, i32* %rh, align 4 + %mul = mul i32 4, %10 + %add7 = add i32 %rem6, %mul + store i32 %add7, i32* %k, align 4 + %11 = load i32, i32* %low, align 4 + %div8 = udiv i32 %11, 62 + %12 = load i32, i32* %rh, align 4 + %mul9 = mul i32 69273666, %12 + %add10 = add i32 %div8, %mul9 + %13 = load i32, i32* %k, align 4 + %div11 = udiv i32 %13, 62 + %add12 = add i32 %add10, %div11 + store i32 %add12, i32* %low, align 4 + %14 = load i32, i32* %k, align 4 + %rem13 = urem i32 %14, 62 + store i32 %rem13, i32* %k, align 4 + %15 = load i32, i32* %k, align 4 + %idxprom = zext i32 %15 to i64 + %arrayidx = getelementptr inbounds [63 x i8], [63 x i8]* @letters, i64 0, i64 %idxprom + %16 = load i8, i8* %arrayidx, align 1 + %17 = load i8*, i8** %buf.addr, align 8 + %18 = load i32, i32* %i, align 4 + %idxprom14 = zext i32 %18 to i64 + %arrayidx15 = getelementptr inbounds i8, i8* %17, i64 %idxprom14 + store i8 %16, i8* %arrayidx15, align 1 + %19 = load i32, i32* %i, align 4 + %inc = add i32 %19, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + ret void +} + +; Function Attrs: nounwind +declare i32 @getpid() #2 + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_locale_set_l(i8* %p, %struct.__uclibc_locale_struct.201* %base) #0 { +entry: + %retval = alloca i32, align 4 + %p.addr = alloca i8*, align 8 + %base.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %x = alloca i8**, align 8 + %s = alloca i8*, align 8 + %stp = alloca i64*, align 8 + %r = alloca i8*, align 8 + %io = alloca i16*, align 8 + %ii = alloca i16*, align 8 + %d = alloca i8*, align 8 + %row = alloca i32, align 4 + %crow = alloca i32, align 4 + %len = alloca i32, align 4 + %c = alloca i32, align 4 + %i = alloca i32, align 4 + %newcol = alloca %struct.__collate_t.200, align 8 + %c8b = alloca %struct.__codeset_8_bit_t.202*, align 8 + %u = alloca i32, align 4 + %m = alloca i16, align 2 + store i8* %p, i8** %p.addr, align 8 + store %struct.__uclibc_locale_struct.201* %base, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 6 + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 1 + store i8* %add.ptr, i8** %s, align 8 + store i32 0, i32* %i, align 4 + %1 = load i8*, i8** %p.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %1, i32 1 + store i8* %incdec.ptr, i8** %p.addr, align 8 + %index2weight = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %newcol, i32 0, i32 23 + store i16* null, i16** %index2weight, align 8 + %2 = load i8*, i8** %p.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %2, i64 8 + %3 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %3 to i32 + %4 = load i8*, i8** %s, align 8 + %arrayidx1 = getelementptr inbounds i8, i8* %4, i64 8 + %5 = load i8, i8* %arrayidx1, align 1 + %conv2 = zext i8 %5 to i32 + %cmp = icmp ne i32 %conv, %conv2 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %6 = load i8*, i8** %p.addr, align 8 + %arrayidx4 = getelementptr inbounds i8, i8* %6, i64 9 + %7 = load i8, i8* %arrayidx4, align 1 + %conv5 = zext i8 %7 to i32 + %8 = load i8*, i8** %s, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %8, i64 9 + %9 = load i8, i8* %arrayidx6, align 1 + %conv7 = zext i8 %9 to i32 + %cmp8 = icmp ne i32 %conv5, %conv7 + br i1 %cmp8, label %if.then, label %if.end22 + +if.then: ; preds = %lor.lhs.false, %entry + %10 = load i8*, i8** %p.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv10 = zext i8 %11 to i32 + %and = and i32 %conv10, 127 + %shl = shl i32 %and, 7 + %12 = load i8*, i8** %p.addr, align 8 + %arrayidx11 = getelementptr inbounds i8, i8* %12, i64 1 + %13 = load i8, i8* %arrayidx11, align 1 + %conv12 = zext i8 %13 to i32 + %and13 = and i32 %conv12, 127 + %add = add nsw i32 %shl, %and13 + store i32 %add, i32* %row, align 4 + %14 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %14, i32 0, i32 31 + %15 = load i32, i32* %row, align 4 + %mul = mul nsw i32 9, %15 + %add14 = add nsw i32 %mul, 3 + %add15 = add nsw i32 %add14, 4 + %idxprom = sext i32 %add15 to i64 + %arrayidx16 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales, i64 0, i64 %idxprom + %16 = load i8, i8* %arrayidx16, align 1 + %conv17 = zext i8 %16 to i32 + %call = call i32 @init_cur_collate(i32 %conv17, %struct.__collate_t.200* %newcol) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end, label %if.then18 + +if.then18: ; preds = %if.then + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %if.then + %17 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %collate = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %17, i32 0, i32 118 + %index2weight19 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate, i32 0, i32 23 + %18 = load i16*, i16** %index2weight19, align 8 + %19 = bitcast i16* %18 to i8* + call void @free(i8* %19) #19 + %20 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %collate20 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %20, i32 0, i32 118 + %21 = bitcast %struct.__collate_t.200* %collate20 to i8* + %22 = bitcast %struct.__collate_t.200* %newcol to i8* + %call21 = call i8* @memcpy(i8* %21, i8* %22, i64 112) #19 + br label %if.end22 + +if.end22: ; preds = %if.end, %lor.lhs.false + br label %do.body + +do.body: ; preds = %if.end313, %if.end22 + %23 = load i8*, i8** %p.addr, align 8 + %24 = load i8, i8* %23, align 1 + %conv23 = zext i8 %24 to i32 + %25 = load i8*, i8** %s, align 8 + %26 = load i8, i8* %25, align 1 + %conv24 = zext i8 %26 to i32 + %cmp25 = icmp ne i32 %conv23, %conv24 + br i1 %cmp25, label %if.then34, label %lor.lhs.false27 + +lor.lhs.false27: ; preds = %do.body + %27 = load i8*, i8** %p.addr, align 8 + %arrayidx28 = getelementptr inbounds i8, i8* %27, i64 1 + %28 = load i8, i8* %arrayidx28, align 1 + %conv29 = zext i8 %28 to i32 + %29 = load i8*, i8** %s, align 8 + %arrayidx30 = getelementptr inbounds i8, i8* %29, i64 1 + %30 = load i8, i8* %arrayidx30, align 1 + %conv31 = zext i8 %30 to i32 + %cmp32 = icmp ne i32 %conv29, %conv31 + br i1 %cmp32, label %if.then34, label %if.end313 + +if.then34: ; preds = %lor.lhs.false27, %do.body + %31 = load i8*, i8** %p.addr, align 8 + %32 = load i8, i8* %31, align 1 + %conv35 = zext i8 %32 to i32 + %and36 = and i32 %conv35, 127 + %shl37 = shl i32 %and36, 7 + %33 = load i8*, i8** %p.addr, align 8 + %arrayidx38 = getelementptr inbounds i8, i8* %33, i64 1 + %34 = load i8, i8* %arrayidx38, align 1 + %conv39 = zext i8 %34 to i32 + %and40 = and i32 %conv39, 127 + %add41 = add nsw i32 %shl37, %and40 + store i32 %add41, i32* %row, align 4 + %35 = load i8*, i8** %p.addr, align 8 + %36 = load i8, i8* %35, align 1 + %37 = load i8*, i8** %s, align 8 + store i8 %36, i8* %37, align 1 + %38 = load i8*, i8** %p.addr, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %38, i64 1 + %39 = load i8, i8* %arrayidx42, align 1 + %40 = load i8*, i8** %s, align 8 + %arrayidx43 = getelementptr inbounds i8, i8* %40, i64 1 + store i8 %39, i8* %arrayidx43, align 1 + %41 = load i32, i32* %i, align 4 + %cmp44 = icmp ne i32 %41, 4 + br i1 %cmp44, label %land.lhs.true, label %if.end92 + +land.lhs.true: ; preds = %if.then34 + %42 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_common_item_offsets_LEN = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %42, i32 0, i32 29 + %43 = load i32, i32* %i, align 4 + %idxprom46 = sext i32 %43 to i64 + %arrayidx47 = getelementptr inbounds [6 x i8], [6 x i8]* %lc_common_item_offsets_LEN, i64 0, i64 %idxprom46 + %44 = load i8, i8* %arrayidx47, align 1 + %conv48 = zext i8 %44 to i32 + store i32 %conv48, i32* %len, align 4 + %cmp49 = icmp ne i32 %conv48, 0 + br i1 %cmp49, label %if.then51, label %if.end92 + +if.then51: ; preds = %land.lhs.true + %45 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales52 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %45, i32 0, i32 31 + %46 = load i32, i32* %row, align 4 + %mul53 = mul nsw i32 9, %46 + %add54 = add nsw i32 %mul53, 3 + %47 = load i32, i32* %i, align 4 + %add55 = add nsw i32 %add54, %47 + %idxprom56 = sext i32 %add55 to i64 + %arrayidx57 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales52, i64 0, i64 %idxprom56 + %48 = load i8, i8* %arrayidx57, align 1 + %conv58 = zext i8 %48 to i32 + %49 = load i32, i32* %len, align 4 + %mul59 = mul nsw i32 %conv58, %49 + store i32 %mul59, i32* %crow, align 4 + %50 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %51 = bitcast %struct.__uclibc_locale_struct.201* %50 to i8* + %52 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %52, i32 0, i32 7 + %53 = load i32, i32* %i, align 4 + %idxprom60 = sext i32 %53 to i64 + %arrayidx61 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets, i64 0, i64 %idxprom60 + %54 = load i16, i16* %arrayidx61, align 2 + %conv62 = zext i16 %54 to i32 + %idx.ext = sext i32 %conv62 to i64 + %add.ptr63 = getelementptr inbounds i8, i8* %51, i64 %idx.ext + %55 = bitcast i8* %add.ptr63 to i8** + store i8** %55, i8*** %x, align 8 + %56 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_common_tbl_offsets = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %56, i32 0, i32 30 + %arraydecay64 = getelementptr inbounds [24 x i64], [24 x i64]* %lc_common_tbl_offsets, i64 0, i64 0 + %57 = load i32, i32* %i, align 4 + %mul65 = mul nsw i32 4, %57 + %idx.ext66 = sext i32 %mul65 to i64 + %add.ptr67 = getelementptr inbounds i64, i64* %arraydecay64, i64 %idx.ext66 + store i64* %add.ptr67, i64** %stp, align 8 + %58 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %59 = bitcast %struct.__locale_mmap_t.203* %58 to i8* + %60 = load i64*, i64** %stp, align 8 + %61 = load i64, i64* %60, align 8 + %add.ptr68 = getelementptr inbounds i8, i8* %59, i64 %61 + store i8* %add.ptr68, i8** %r, align 8 + %62 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %63 = bitcast %struct.__locale_mmap_t.203* %62 to i8* + %64 = load i64*, i64** %stp, align 8 + %incdec.ptr69 = getelementptr inbounds i64, i64* %64, i32 1 + store i64* %incdec.ptr69, i64** %stp, align 8 + %65 = load i64, i64* %incdec.ptr69, align 8 + %add.ptr70 = getelementptr inbounds i8, i8* %63, i64 %65 + %66 = bitcast i8* %add.ptr70 to i16* + store i16* %66, i16** %io, align 8 + %67 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %68 = bitcast %struct.__locale_mmap_t.203* %67 to i8* + %69 = load i64*, i64** %stp, align 8 + %incdec.ptr71 = getelementptr inbounds i64, i64* %69, i32 1 + store i64* %incdec.ptr71, i64** %stp, align 8 + %70 = load i64, i64* %incdec.ptr71, align 8 + %add.ptr72 = getelementptr inbounds i8, i8* %68, i64 %70 + %71 = bitcast i8* %add.ptr72 to i16* + store i16* %71, i16** %ii, align 8 + %72 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %73 = bitcast %struct.__locale_mmap_t.203* %72 to i8* + %74 = load i64*, i64** %stp, align 8 + %incdec.ptr73 = getelementptr inbounds i64, i64* %74, i32 1 + store i64* %incdec.ptr73, i64** %stp, align 8 + %75 = load i64, i64* %incdec.ptr73, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %73, i64 %75 + store i8* %add.ptr74, i8** %d, align 8 + store i32 0, i32* %c, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.then51 + %76 = load i32, i32* %c, align 4 + %77 = load i32, i32* %len, align 4 + %cmp75 = icmp slt i32 %76, %77 + br i1 %cmp75, label %for.body, label %if.end92 + +for.body: ; preds = %for.cond + %78 = load i8*, i8** %d, align 8 + %79 = load i16*, i16** %ii, align 8 + %80 = load i8*, i8** %r, align 8 + %81 = load i32, i32* %crow, align 4 + %82 = load i32, i32* %c, align 4 + %add77 = add nsw i32 %81, %82 + %idxprom78 = sext i32 %add77 to i64 + %arrayidx79 = getelementptr inbounds i8, i8* %80, i64 %idxprom78 + %83 = load i8, i8* %arrayidx79, align 1 + %conv80 = zext i8 %83 to i32 + %84 = load i16*, i16** %io, align 8 + %85 = load i32, i32* %c, align 4 + %idxprom81 = sext i32 %85 to i64 + %arrayidx82 = getelementptr inbounds i16, i16* %84, i64 %idxprom81 + %86 = load i16, i16* %arrayidx82, align 2 + %conv83 = zext i16 %86 to i32 + %add84 = add nsw i32 %conv80, %conv83 + %idxprom85 = sext i32 %add84 to i64 + %arrayidx86 = getelementptr inbounds i16, i16* %79, i64 %idxprom85 + %87 = load i16, i16* %arrayidx86, align 2 + %conv87 = zext i16 %87 to i32 + %idx.ext88 = sext i32 %conv87 to i64 + %add.ptr89 = getelementptr inbounds i8, i8* %78, i64 %idx.ext88 + %88 = load i8**, i8*** %x, align 8 + %89 = load i32, i32* %c, align 4 + %idx.ext90 = sext i32 %89 to i64 + %add.ptr91 = getelementptr inbounds i8*, i8** %88, i64 %idx.ext90 + store i8* %add.ptr89, i8** %add.ptr91, align 8 + %90 = load i32, i32* %c, align 4 + %inc = add nsw i32 %90, 1 + store i32 %inc, i32* %c, align 4 + br label %for.cond + +if.end92: ; preds = %for.cond, %land.lhs.true, %if.then34 + %91 = load i32, i32* %i, align 4 + %cmp93 = icmp eq i32 %91, 0 + br i1 %cmp93, label %if.then95, label %if.else295 + +if.then95: ; preds = %if.end92 + %92 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales96 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %92, i32 0, i32 31 + %93 = load i32, i32* %row, align 4 + %mul97 = mul nsw i32 9, %93 + %add98 = add nsw i32 %mul97, 2 + %idxprom99 = sext i32 %add98 to i64 + %arrayidx100 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales96, i64 0, i64 %idxprom99 + %94 = load i8, i8* %arrayidx100, align 1 + %conv101 = zext i8 %94 to i32 + store i32 %conv101, i32* %c, align 4 + %95 = load i32, i32* %c, align 4 + %cmp102 = icmp sle i32 %95, 2 + br i1 %cmp102, label %if.then104, label %if.else112 + +if.then104: ; preds = %if.then95 + %96 = load i32, i32* %c, align 4 + %cmp105 = icmp eq i32 %96, 2 + %97 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %codeset = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %97, i32 0, i32 38 + br i1 %cmp105, label %if.then107, label %if.else + +if.then107: ; preds = %if.then104 + store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf8, i64 0, i64 0), i8** %codeset, align 8 + %98 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %98, i32 0, i32 9 + store i8 1, i8* %encoding, align 8 + %99 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %mb_cur_max = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %99, i32 0, i32 10 + store i8 6, i8* %mb_cur_max, align 1 + br label %if.end280 + +if.else: ; preds = %if.then104 + store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @ascii, i64 0, i64 0), i8** %codeset, align 8 + %100 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %encoding109 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %100, i32 0, i32 9 + store i8 0, i8* %encoding109, align 8 + %101 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %mb_cur_max110 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %101, i32 0, i32 10 + store i8 1, i8* %mb_cur_max110, align 1 + br label %if.end280 + +if.else112: ; preds = %if.then95 + %102 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %102, i32 0, i32 35 + %arraydecay113 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list, i64 0, i64 0 + store i8* %arraydecay113, i8** %r, align 8 + %103 = load i8*, i8** %r, align 8 + %104 = load i8*, i8** %r, align 8 + %105 = load i32, i32* %c, align 4 + %sub = sub nsw i32 %105, 3 + store i32 %sub, i32* %c, align 4 + %idxprom114 = sext i32 %sub to i64 + %arrayidx115 = getelementptr inbounds i8, i8* %104, i64 %idxprom114 + %106 = load i8, i8* %arrayidx115, align 1 + %conv116 = zext i8 %106 to i32 + %idx.ext117 = sext i32 %conv116 to i64 + %add.ptr118 = getelementptr inbounds i8, i8* %103, i64 %idx.ext117 + %107 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %codeset119 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %107, i32 0, i32 38 + store i8* %add.ptr118, i8** %codeset119, align 8 + %108 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %encoding120 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %108, i32 0, i32 9 + store i8 2, i8* %encoding120, align 8 + %109 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %mb_cur_max121 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %109, i32 0, i32 10 + store i8 1, i8* %mb_cur_max121, align 1 + %110 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_8_bit = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %110, i32 0, i32 12 + %arraydecay122 = getelementptr inbounds [23 x %struct.__codeset_8_bit_t.202], [23 x %struct.__codeset_8_bit_t.202]* %codeset_8_bit, i64 0, i64 0 + %111 = load i32, i32* %c, align 4 + %idx.ext123 = sext i32 %111 to i64 + %add.ptr124 = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %arraydecay122, i64 %idx.ext123 + store %struct.__codeset_8_bit_t.202* %add.ptr124, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %112 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8ctype = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %112, i32 0, i32 0 + %arraydecay125 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8ctype, i64 0, i64 0 + %113 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8ctype126 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %113, i32 0, i32 12 + store i8* %arraydecay125, i8** %idx8ctype126, align 8 + %114 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8uplow = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %114, i32 0, i32 1 + %arraydecay127 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8uplow, i64 0, i64 0 + %115 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8uplow128 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %115, i32 0, i32 14 + store i8* %arraydecay127, i8** %idx8uplow128, align 8 + %116 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8c2wc = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %116, i32 0, i32 2 + %arraydecay129 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8c2wc, i64 0, i64 0 + %117 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8c2wc130 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %117, i32 0, i32 16 + store i8* %arraydecay129, i8** %idx8c2wc130, align 8 + %118 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8wc2c = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %118, i32 0, i32 3 + %arraydecay131 = getelementptr inbounds [38 x i8], [38 x i8]* %idx8wc2c, i64 0, i64 0 + %119 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8wc2c132 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %119, i32 0, i32 18 + store i8* %arraydecay131, i8** %idx8wc2c132, align 8 + %120 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b_data = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %120, i32 0, i32 3 + %arraydecay133 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data, i64 0, i64 0 + %121 = bitcast i16* %arraydecay133 to i8* + %122 = load i16*, i16** @__C_ctype_b, align 8 + %add.ptr134 = getelementptr inbounds i16, i16* %122, i64 -128 + %123 = bitcast i16* %add.ptr134 to i8* + %call135 = call i8* @memcpy(i8* %121, i8* %123, i64 768) #19 + %124 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %124, i32 0, i32 4 + %arraydecay136 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data, i64 0, i64 0 + %125 = bitcast i16* %arraydecay136 to i8* + %126 = load i16*, i16** @__C_ctype_tolower, align 8 + %add.ptr137 = getelementptr inbounds i16, i16* %126, i64 -128 + %127 = bitcast i16* %add.ptr137 to i8* + %call138 = call i8* @memcpy(i8* %125, i8* %127, i64 768) #19 + %128 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %128, i32 0, i32 5 + %arraydecay139 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data, i64 0, i64 0 + %129 = bitcast i16* %arraydecay139 to i8* + %130 = load i16*, i16** @__C_ctype_toupper, align 8 + %add.ptr140 = getelementptr inbounds i16, i16* %130, i64 -128 + %131 = bitcast i16* %add.ptr140 to i8* + %call141 = call i8* @memcpy(i8* %129, i8* %131, i64 768) #19 + store i32 0, i32* %u, align 4 + br label %for.cond142 + +for.cond142: ; preds = %for.inc268, %if.else112 + %132 = load i32, i32* %u, align 4 + %cmp143 = icmp slt i32 %132, 128 + %133 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + br i1 %cmp143, label %for.body145, label %for.end270 + +for.body145: ; preds = %for.cond142 + %tbl8ctype = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %133, i32 0, i32 13 + %134 = load i8*, i8** %tbl8ctype, align 8 + %135 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8ctype146 = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %135, i32 0, i32 0 + %136 = load i32, i32* %u, align 4 + %shr = ashr i32 %136, 3 + %idxprom147 = sext i32 %shr to i64 + %arrayidx148 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8ctype146, i64 0, i64 %idxprom147 + %137 = load i8, i8* %arrayidx148, align 1 + %conv149 = zext i8 %137 to i32 + %shl150 = shl i32 %conv149, 2 + %138 = load i32, i32* %u, align 4 + %and151 = and i32 %138, 7 + %shr152 = ashr i32 %and151, 1 + %add153 = add nsw i32 %shl150, %shr152 + %idxprom154 = sext i32 %add153 to i64 + %arrayidx155 = getelementptr inbounds i8, i8* %134, i64 %idxprom154 + %139 = load i8, i8* %arrayidx155, align 1 + %conv156 = zext i8 %139 to i32 + store i32 %conv156, i32* %c, align 4 + %140 = load i32, i32* %u, align 4 + %and157 = and i32 %140, 1 + %tobool158 = icmp ne i32 %and157, 0 + %141 = load i32, i32* %c, align 4 + %shr159 = ashr i32 %141, 4 + %and160 = and i32 %141, 15 + %cond = select i1 %tobool158, i32 %shr159, i32 %and160 + store i32 %cond, i32* %c, align 4 + %142 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %code2flag = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %142, i32 0, i32 20 + %143 = load i16*, i16** %code2flag, align 8 + %144 = load i32, i32* %c, align 4 + %idxprom161 = sext i32 %144 to i64 + %arrayidx162 = getelementptr inbounds i16, i16* %143, i64 %idxprom161 + %145 = load i16, i16* %arrayidx162, align 2 + store i16 %145, i16* %m, align 2 + %146 = load i16, i16* %m, align 2 + %147 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b_data163 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %147, i32 0, i32 3 + %148 = load i32, i32* %u, align 4 + %add164 = add nsw i32 256, %148 + %idxprom165 = sext i32 %add164 to i64 + %arrayidx166 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data163, i64 0, i64 %idxprom165 + store i16 %146, i16* %arrayidx166, align 2 + %149 = load i32, i32* %u, align 4 + %add167 = add nsw i32 128, %149 + %conv168 = trunc i32 %add167 to i8 + %conv169 = sext i8 %conv168 to i32 + %cmp170 = icmp ne i32 %conv169, -1 + br i1 %cmp170, label %if.then172, label %if.end180 + +if.then172: ; preds = %for.body145 + %150 = load i16, i16* %m, align 2 + %151 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b_data173 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %151, i32 0, i32 3 + %152 = load i32, i32* %u, align 4 + %add174 = add nsw i32 128, %152 + %conv175 = trunc i32 %add174 to i8 + %conv176 = sext i8 %conv175 to i32 + %add177 = add nsw i32 128, %conv176 + %idxprom178 = sext i32 %add177 to i64 + %arrayidx179 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data173, i64 0, i64 %idxprom178 + store i16 %150, i16* %arrayidx179, align 2 + br label %if.end180 + +if.end180: ; preds = %if.then172, %for.body145 + %153 = load i32, i32* %u, align 4 + %add181 = add nsw i32 128, %153 + %conv182 = trunc i32 %add181 to i16 + %154 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data183 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %154, i32 0, i32 4 + %155 = load i32, i32* %u, align 4 + %add184 = add nsw i32 256, %155 + %idxprom185 = sext i32 %add184 to i64 + %arrayidx186 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data183, i64 0, i64 %idxprom185 + store i16 %conv182, i16* %arrayidx186, align 2 + %156 = load i32, i32* %u, align 4 + %add187 = add nsw i32 128, %156 + %conv188 = trunc i32 %add187 to i16 + %157 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data189 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %157, i32 0, i32 5 + %158 = load i32, i32* %u, align 4 + %add190 = add nsw i32 256, %158 + %idxprom191 = sext i32 %add190 to i64 + %arrayidx192 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data189, i64 0, i64 %idxprom191 + store i16 %conv188, i16* %arrayidx192, align 2 + %159 = load i16, i16* %m, align 2 + %conv193 = zext i16 %159 to i32 + %and194 = and i32 %conv193, 768 + %tobool195 = icmp ne i32 %and194, 0 + br i1 %tobool195, label %if.then196, label %for.inc268 + +if.then196: ; preds = %if.end180 + %160 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8uplow = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %160, i32 0, i32 15 + %161 = load i8*, i8** %tbl8uplow, align 8 + %162 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8uplow197 = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %162, i32 0, i32 1 + %163 = load i32, i32* %u, align 4 + %shr198 = ashr i32 %163, 3 + %idxprom199 = sext i32 %shr198 to i64 + %arrayidx200 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8uplow197, i64 0, i64 %idxprom199 + %164 = load i8, i8* %arrayidx200, align 1 + %conv201 = zext i8 %164 to i32 + %shl202 = shl i32 %conv201, 3 + %165 = load i32, i32* %u, align 4 + %add203 = add nsw i32 128, %165 + %and204 = and i32 %add203, 7 + %add205 = add nsw i32 %shl202, %and204 + %idxprom206 = sext i32 %add205 to i64 + %arrayidx207 = getelementptr inbounds i8, i8* %161, i64 %idxprom206 + %166 = load i8, i8* %arrayidx207, align 1 + %conv208 = zext i8 %166 to i32 + store i32 %conv208, i32* %c, align 4 + %167 = load i16, i16* %m, align 2 + %conv209 = zext i16 %167 to i32 + %and210 = and i32 %conv209, 512 + %tobool211 = icmp ne i32 %and210, 0 + %168 = load i32, i32* %u, align 4 + %add213 = add nsw i32 128, %168 + %169 = load i32, i32* %c, align 4 + br i1 %tobool211, label %if.then212, label %if.else239 + +if.then212: ; preds = %if.then196 + %add214 = add nsw i32 %add213, %169 + %conv215 = trunc i32 %add214 to i8 + %conv216 = zext i8 %conv215 to i16 + %170 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data217 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %170, i32 0, i32 5 + %171 = load i32, i32* %u, align 4 + %add218 = add nsw i32 256, %171 + %idxprom219 = sext i32 %add218 to i64 + %arrayidx220 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data217, i64 0, i64 %idxprom219 + store i16 %conv216, i16* %arrayidx220, align 2 + %172 = load i32, i32* %u, align 4 + %add221 = add nsw i32 128, %172 + %conv222 = trunc i32 %add221 to i8 + %conv223 = sext i8 %conv222 to i32 + %cmp224 = icmp ne i32 %conv223, -1 + br i1 %cmp224, label %if.then226, label %for.inc268 + +if.then226: ; preds = %if.then212 + %173 = load i32, i32* %u, align 4 + %add227 = add nsw i32 128, %173 + %174 = load i32, i32* %c, align 4 + %add228 = add nsw i32 %add227, %174 + %conv229 = trunc i32 %add228 to i8 + %conv230 = zext i8 %conv229 to i16 + %175 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data231 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %175, i32 0, i32 5 + %176 = load i32, i32* %u, align 4 + %add232 = add nsw i32 128, %176 + %conv233 = trunc i32 %add232 to i8 + %conv234 = sext i8 %conv233 to i32 + %add235 = add nsw i32 128, %conv234 + %idxprom236 = sext i32 %add235 to i64 + %arrayidx237 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data231, i64 0, i64 %idxprom236 + store i16 %conv230, i16* %arrayidx237, align 2 + br label %for.inc268 + +if.else239: ; preds = %if.then196 + %sub241 = sub nsw i32 %add213, %169 + %conv242 = trunc i32 %sub241 to i8 + %conv243 = zext i8 %conv242 to i16 + %177 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data244 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %177, i32 0, i32 4 + %178 = load i32, i32* %u, align 4 + %add245 = add nsw i32 256, %178 + %idxprom246 = sext i32 %add245 to i64 + %arrayidx247 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data244, i64 0, i64 %idxprom246 + store i16 %conv243, i16* %arrayidx247, align 2 + %179 = load i32, i32* %u, align 4 + %add248 = add nsw i32 128, %179 + %conv249 = trunc i32 %add248 to i8 + %conv250 = sext i8 %conv249 to i32 + %cmp251 = icmp ne i32 %conv250, -1 + br i1 %cmp251, label %if.then253, label %for.inc268 + +if.then253: ; preds = %if.else239 + %180 = load i32, i32* %u, align 4 + %add254 = add nsw i32 128, %180 + %181 = load i32, i32* %c, align 4 + %sub255 = sub nsw i32 %add254, %181 + %conv256 = trunc i32 %sub255 to i8 + %conv257 = zext i8 %conv256 to i16 + %182 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data258 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %182, i32 0, i32 4 + %183 = load i32, i32* %u, align 4 + %add259 = add nsw i32 128, %183 + %conv260 = trunc i32 %add259 to i8 + %conv261 = sext i8 %conv260 to i32 + %add262 = add nsw i32 128, %conv261 + %idxprom263 = sext i32 %add262 to i64 + %arrayidx264 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data258, i64 0, i64 %idxprom263 + store i16 %conv257, i16* %arrayidx264, align 2 + br label %for.inc268 + +for.inc268: ; preds = %if.end180, %if.else239, %if.then253, %if.then212, %if.then226 + %184 = load i32, i32* %u, align 4 + %inc269 = add nsw i32 %184, 1 + store i32 %inc269, i32* %u, align 4 + br label %for.cond142 + +for.end270: ; preds = %for.cond142 + %__ctype_b_data271 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %133, i32 0, i32 3 + %arraydecay272 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data271, i64 0, i64 0 + %add.ptr273 = getelementptr inbounds i16, i16* %arraydecay272, i64 128 + %185 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %185, i32 0, i32 0 + store i16* %add.ptr273, i16** %__ctype_b, align 8 + %186 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data274 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %186, i32 0, i32 4 + %arraydecay275 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data274, i64 0, i64 0 + %add.ptr276 = getelementptr inbounds i16, i16* %arraydecay275, i64 128 + %187 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %187, i32 0, i32 1 + store i16* %add.ptr276, i16** %__ctype_tolower, align 8 + %188 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data277 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %188, i32 0, i32 5 + %arraydecay278 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data277, i64 0, i64 0 + %add.ptr279 = getelementptr inbounds i16, i16* %arraydecay278, i64 128 + %189 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %189, i32 0, i32 2 + store i16* %add.ptr279, i16** %__ctype_toupper, align 8 + br label %if.end280 + +if.end280: ; preds = %if.then107, %if.else, %for.end270 + %190 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %outdigit_length = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %190, i32 0, i32 11 + %arraydecay281 = getelementptr inbounds [10 x i8], [10 x i8]* %outdigit_length, i64 0, i64 0 + store i8* %arraydecay281, i8** %d, align 8 + %191 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %outdigit0_mb = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %191, i32 0, i32 28 + store i8** %outdigit0_mb, i8*** %x, align 8 + store i32 0, i32* %c, align 4 + br label %for.cond282 + +for.cond282: ; preds = %for.body285, %if.end280 + %192 = load i32, i32* %c, align 4 + %cmp283 = icmp slt i32 %192, 10 + br i1 %cmp283, label %for.body285, label %if.end313 + +for.body285: ; preds = %for.cond282 + %193 = load i8**, i8*** %x, align 8 + %194 = load i32, i32* %c, align 4 + %idxprom286 = sext i32 %194 to i64 + %arrayidx287 = getelementptr inbounds i8*, i8** %193, i64 %idxprom286 + %195 = load i8*, i8** %arrayidx287, align 8 + %call288 = call i64 @strlen(i8* %195) #20 + %conv289 = trunc i64 %call288 to i8 + %196 = load i8*, i8** %d, align 8 + %197 = load i32, i32* %c, align 4 + %idxprom290 = sext i32 %197 to i64 + %arrayidx291 = getelementptr inbounds i8, i8* %196, i64 %idxprom290 + store i8 %conv289, i8* %arrayidx291, align 1 + %198 = load i32, i32* %c, align 4 + %inc293 = add nsw i32 %198, 1 + store i32 %inc293, i32* %c, align 4 + br label %for.cond282 + +if.else295: ; preds = %if.end92 + %199 = load i32, i32* %i, align 4 + %cmp296 = icmp eq i32 %199, 1 + br i1 %cmp296, label %if.then298, label %if.end313 + +if.then298: ; preds = %if.else295 + %200 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %decimal_point_wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %200, i32 0, i32 24 + %201 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %decimal_point = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %201, i32 0, i32 39 + %202 = load i8*, i8** %decimal_point, align 8 + %203 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call299 = call i32 @__locale_mbrtowc_l(i32* %decimal_point_wc, i8* %202, %struct.__uclibc_locale_struct.201* %203) #18 + %204 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %decimal_point_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %204, i32 0, i32 26 + store i32 %call299, i32* %decimal_point_len, align 8 + %205 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %grouping = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %205, i32 0, i32 41 + %206 = load i8*, i8** %grouping, align 8 + %207 = load i8, i8* %206, align 1 + %tobool300 = icmp ne i8 %207, 0 + br i1 %tobool300, label %if.then301, label %if.end313 + +if.then301: ; preds = %if.then298 + %208 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep_wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %208, i32 0, i32 25 + %209 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %209, i32 0, i32 40 + %210 = load i8*, i8** %thousands_sep, align 8 + %211 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call302 = call i32 @__locale_mbrtowc_l(i32* %thousands_sep_wc, i8* %210, %struct.__uclibc_locale_struct.201* %211) #18 + %212 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %212, i32 0, i32 27 + store i32 %call302, i32* %thousands_sep_len, align 4 + %213 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep_len303 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %213, i32 0, i32 27 + %214 = load i32, i32* %thousands_sep_len303, align 4 + %cmp304 = icmp eq i32 %214, 0 + br i1 %cmp304, label %if.then306, label %if.end313 + +if.then306: ; preds = %if.then301 + %215 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep307 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %215, i32 0, i32 40 + %216 = load i8*, i8** %thousands_sep307, align 8 + %217 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %grouping308 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %217, i32 0, i32 41 + store i8* %216, i8** %grouping308, align 8 + br label %if.end313 + +if.end313: ; preds = %for.cond282, %if.then298, %if.then306, %if.then301, %if.else295, %lor.lhs.false27 + %218 = load i32, i32* %i, align 4 + %inc314 = add nsw i32 %218, 1 + store i32 %inc314, i32* %i, align 4 + %219 = load i8*, i8** %p.addr, align 8 + %add.ptr315 = getelementptr inbounds i8, i8* %219, i64 2 + store i8* %add.ptr315, i8** %p.addr, align 8 + %220 = load i8*, i8** %s, align 8 + %add.ptr316 = getelementptr inbounds i8, i8* %220, i64 2 + store i8* %add.ptr316, i8** %s, align 8 + %221 = load i32, i32* %i, align 4 + %cmp317 = icmp slt i32 %221, 6 + br i1 %cmp317, label %do.body, label %do.end + +do.end: ; preds = %if.end313 + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end, %if.then18 + %222 = load i32, i32* %retval, align 4 + ret i32 %222 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @init_cur_collate(i32 %der_num, %struct.__collate_t.200* %cur_collate) #0 { +entry: + %retval = alloca i32, align 4 + %der_num.addr = alloca i32, align 4 + %cur_collate.addr = alloca %struct.__collate_t.200*, align 8 + %__locale_collate_tbl = alloca i16*, align 8 + %cdh = alloca %struct.coldata_header_t*, align 8 + %cdb = alloca %struct.coldata_base_t*, align 8 + %cdd = alloca %struct.winsize*, align 8 + %p = alloca i16*, align 8 + %n = alloca i64, align 8 + %i = alloca i16, align 2 + %w = alloca i16, align 2 + store i32 %der_num, i32* %der_num.addr, align 4 + store %struct.__collate_t.200* %cur_collate, %struct.__collate_t.200** %cur_collate.addr, align 8 + %0 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %collate_data = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %0, i32 0, i32 28 + %arraydecay = getelementptr inbounds [91141 x i16], [91141 x i16]* %collate_data, i64 0, i64 0 + store i16* %arraydecay, i16** %__locale_collate_tbl, align 8 + %1 = load i32, i32* %der_num.addr, align 4 + %tobool = icmp ne i32 %1, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %2 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %num_weights = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %2, i32 0, i32 0 + store i16 0, i16* %num_weights, align 8 + store i32 1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* %der_num.addr, align 4 + %dec = add nsw i32 %3, -1 + store i32 %dec, i32* %der_num.addr, align 4 + %4 = load i16*, i16** %__locale_collate_tbl, align 8 + %5 = bitcast i16* %4 to %struct.coldata_header_t* + store %struct.coldata_header_t* %5, %struct.coldata_header_t** %cdh, align 8 + %6 = load i16*, i16** %__locale_collate_tbl, align 8 + %7 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_base = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %7, i32 0, i32 0 + %8 = load i16, i16* %num_base, align 2 + %conv = zext i16 %8 to i64 + %mul = mul i64 %conv, 38 + %add = add i64 16, %mul + %9 = load i32, i32* %der_num.addr, align 4 + %conv1 = sext i32 %9 to i64 + %mul2 = mul i64 %conv1, 8 + %add3 = add i64 %add, %mul2 + %div = udiv i64 %add3, 2 + %add.ptr = getelementptr inbounds i16, i16* %6, i64 %div + %10 = bitcast i16* %add.ptr to %struct.winsize* + store %struct.winsize* %10, %struct.winsize** %cdd, align 8 + %11 = load i16*, i16** %__locale_collate_tbl, align 8 + %12 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %base_idx = getelementptr inbounds %struct.winsize, %struct.winsize* %12, i32 0, i32 0 + %13 = load i16, i16* %base_idx, align 2 + %conv4 = zext i16 %13 to i64 + %mul5 = mul i64 %conv4, 38 + %add6 = add i64 16, %mul5 + %div7 = udiv i64 %add6, 2 + %add.ptr8 = getelementptr inbounds i16, i16* %11, i64 %div7 + %14 = bitcast i16* %add.ptr8 to %struct.coldata_base_t* + store %struct.coldata_base_t* %14, %struct.coldata_base_t** %cdb, align 8 + %15 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %16 = bitcast %struct.__collate_t.200* %15 to i8* + %17 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %18 = bitcast %struct.coldata_base_t* %17 to i8* + %call = call i8* @memcpy(i8* %16, i8* %18, i64 28) #19 + %19 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %undefined_idx = getelementptr inbounds %struct.winsize, %struct.winsize* %19, i32 0, i32 1 + %20 = load i16, i16* %undefined_idx, align 2 + %21 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %undefined_idx9 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %21, i32 0, i32 9 + store i16 %20, i16* %undefined_idx9, align 2 + %22 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ti_shift = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %22, i32 0, i32 3 + %23 = load i16, i16* %ti_shift, align 2 + %conv10 = zext i16 %23 to i32 + %shl = shl i32 1, %conv10 + %sub = sub nsw i32 %shl, 1 + %conv11 = trunc i32 %sub to i16 + %24 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ti_mask = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %24, i32 0, i32 15 + store i16 %conv11, i16* %ti_mask, align 2 + %25 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ii_shift = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %25, i32 0, i32 2 + %26 = load i16, i16* %ii_shift, align 4 + %conv12 = zext i16 %26 to i32 + %shl13 = shl i32 1, %conv12 + %sub14 = sub nsw i32 %shl13, 1 + %conv15 = trunc i32 %sub14 to i16 + %27 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ii_mask = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %27, i32 0, i32 14 + store i16 %conv15, i16* %ii_mask, align 4 + %28 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_base16 = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %28, i32 0, i32 0 + %29 = load i16, i16* %num_base16, align 2 + %conv17 = zext i16 %29 to i64 + %mul18 = mul i64 %conv17, 38 + %add19 = add i64 16, %mul18 + %30 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_der = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %30, i32 0, i32 1 + %31 = load i16, i16* %num_der, align 2 + %conv20 = zext i16 %31 to i64 + %mul21 = mul i64 %conv20, 8 + %add22 = add i64 %add19, %mul21 + %div23 = udiv i64 %add22, 2 + store i64 %div23, i64* %n, align 8 + %32 = load i16*, i16** %__locale_collate_tbl, align 8 + %33 = load i64, i64* %n, align 8 + %add.ptr24 = getelementptr inbounds i16, i16* %32, i64 %33 + %34 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %index2weight_offset = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %34, i32 0, i32 14 + %35 = load i16, i16* %index2weight_offset, align 2 + %conv25 = zext i16 %35 to i32 + %idx.ext = sext i32 %conv25 to i64 + %add.ptr26 = getelementptr inbounds i16, i16* %add.ptr24, i64 %idx.ext + %36 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %36, i32 0, i32 16 + store i16* %add.ptr26, i16** %index2weight_tbl, align 8 + %37 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_index2weight = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %37, i32 0, i32 3 + %38 = load i16, i16* %num_index2weight, align 2 + %conv27 = zext i16 %38 to i64 + %39 = load i64, i64* %n, align 8 + %add28 = add i64 %39, %conv27 + store i64 %add28, i64* %n, align 8 + %40 = load i16*, i16** %__locale_collate_tbl, align 8 + %41 = load i64, i64* %n, align 8 + %add.ptr29 = getelementptr inbounds i16, i16* %40, i64 %41 + %42 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %index2ruleidx_offset = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %42, i32 0, i32 15 + %43 = load i16, i16* %index2ruleidx_offset, align 2 + %conv30 = zext i16 %43 to i32 + %idx.ext31 = sext i32 %conv30 to i64 + %add.ptr32 = getelementptr inbounds i16, i16* %add.ptr29, i64 %idx.ext31 + %44 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %44, i32 0, i32 17 + store i16* %add.ptr32, i16** %index2ruleidx_tbl, align 8 + %45 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_index2weight33 = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %45, i32 0, i32 3 + %46 = load i16, i16* %num_index2weight33, align 2 + %conv34 = zext i16 %46 to i64 + %47 = load i64, i64* %n, align 8 + %add35 = add i64 %47, %conv34 + store i64 %add35, i64* %n, align 8 + %48 = load i16*, i16** %__locale_collate_tbl, align 8 + %49 = load i64, i64* %n, align 8 + %add.ptr36 = getelementptr inbounds i16, i16* %48, i64 %49 + %50 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %multistart_offset = getelementptr inbounds %struct.winsize, %struct.winsize* %50, i32 0, i32 3 + %51 = load i16, i16* %multistart_offset, align 2 + %conv37 = zext i16 %51 to i32 + %idx.ext38 = sext i32 %conv37 to i64 + %add.ptr39 = getelementptr inbounds i16, i16* %add.ptr36, i64 %idx.ext38 + %52 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %multistart_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %52, i32 0, i32 18 + store i16* %add.ptr39, i16** %multistart_tbl, align 8 + %53 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_multistart = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %53, i32 0, i32 5 + %54 = load i16, i16* %num_multistart, align 2 + %conv40 = zext i16 %54 to i64 + %55 = load i64, i64* %n, align 8 + %add41 = add i64 %55, %conv40 + store i64 %add41, i64* %n, align 8 + %56 = load i16*, i16** %__locale_collate_tbl, align 8 + %57 = load i64, i64* %n, align 8 + %add.ptr42 = getelementptr inbounds i16, i16* %56, i64 %57 + %58 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %overrides_offset = getelementptr inbounds %struct.winsize, %struct.winsize* %58, i32 0, i32 2 + %59 = load i16, i16* %overrides_offset, align 2 + %conv43 = zext i16 %59 to i32 + %idx.ext44 = sext i32 %conv43 to i64 + %add.ptr45 = getelementptr inbounds i16, i16* %add.ptr42, i64 %idx.ext44 + %60 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %overrides_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %60, i32 0, i32 20 + store i16* %add.ptr45, i16** %overrides_tbl, align 8 + %61 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_override = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %61, i32 0, i32 6 + %62 = load i16, i16* %num_override, align 2 + %conv46 = zext i16 %62 to i64 + %63 = load i64, i64* %n, align 8 + %add47 = add i64 %63, %conv46 + store i64 %add47, i64* %n, align 8 + %64 = load i16*, i16** %__locale_collate_tbl, align 8 + %65 = load i64, i64* %n, align 8 + %add.ptr48 = getelementptr inbounds i16, i16* %64, i64 %65 + %66 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ruletable = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %66, i32 0, i32 22 + store i16* %add.ptr48, i16** %ruletable, align 8 + %67 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_ruletable = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %67, i32 0, i32 7 + %68 = load i16, i16* %num_ruletable, align 2 + %conv49 = zext i16 %68 to i64 + %69 = load i64, i64* %n, align 8 + %add50 = add i64 %69, %conv49 + store i64 %add50, i64* %n, align 8 + %70 = load i16*, i16** %__locale_collate_tbl, align 8 + %71 = load i64, i64* %n, align 8 + %add.ptr51 = getelementptr inbounds i16, i16* %70, i64 %71 + %72 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %weightstr = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %72, i32 0, i32 21 + store i16* %add.ptr51, i16** %weightstr, align 8 + %73 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_weightstr = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %73, i32 0, i32 4 + %74 = load i16, i16* %num_weightstr, align 2 + %conv52 = zext i16 %74 to i64 + %75 = load i64, i64* %n, align 8 + %add53 = add i64 %75, %conv52 + store i64 %add53, i64* %n, align 8 + %76 = load i16*, i16** %__locale_collate_tbl, align 8 + %77 = load i64, i64* %n, align 8 + %add.ptr54 = getelementptr inbounds i16, i16* %76, i64 %77 + %78 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %wcs2colidt_offset_hi = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %78, i32 0, i32 18 + %79 = load i16, i16* %wcs2colidt_offset_hi, align 2 + %conv55 = zext i16 %79 to i64 + %shl56 = shl i64 %conv55, 16 + %add.ptr57 = getelementptr inbounds i16, i16* %add.ptr54, i64 %shl56 + %80 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %wcs2colidt_offset_low = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %80, i32 0, i32 17 + %81 = load i16, i16* %wcs2colidt_offset_low, align 2 + %conv58 = zext i16 %81 to i32 + %idx.ext59 = sext i32 %conv58 to i64 + %add.ptr60 = getelementptr inbounds i16, i16* %add.ptr57, i64 %idx.ext59 + %82 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %wcs2colidt_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %82, i32 0, i32 19 + store i16* %add.ptr60, i16** %wcs2colidt_tbl, align 8 + %83 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %MAX_WEIGHTS = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %83, i32 0, i32 2 + %84 = load i16, i16* %MAX_WEIGHTS, align 2 + %85 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %MAX_WEIGHTS61 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %85, i32 0, i32 25 + store i16 %84, i16* %MAX_WEIGHTS61, align 8 + %86 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %max_col_index = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %86, i32 0, i32 8 + %87 = load i16, i16* %max_col_index, align 8 + %conv62 = zext i16 %87 to i32 + %mul63 = mul nsw i32 2, %conv62 + %add64 = add nsw i32 %mul63, 2 + %conv65 = sext i32 %add64 to i64 + %call66 = call noalias i8* @calloc(i64 %conv65, i64 2) #19 + %88 = bitcast i8* %call66 to i16* + %89 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %89, i32 0, i32 23 + store i16* %88, i16** %index2weight, align 8 + %90 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight67 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %90, i32 0, i32 23 + %91 = load i16*, i16** %index2weight67, align 8 + %tobool68 = icmp ne i16* %91, null + br i1 %tobool68, label %if.end70, label %if.then69 + +if.then69: ; preds = %if.end + store i32 0, i32* %retval, align 4 + br label %return + +if.end70: ; preds = %if.end + %92 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight71 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %92, i32 0, i32 23 + %93 = load i16*, i16** %index2weight71, align 8 + %94 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %max_col_index72 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %94, i32 0, i32 8 + %95 = load i16, i16* %max_col_index72, align 8 + %conv73 = zext i16 %95 to i32 + %idx.ext74 = sext i32 %conv73 to i64 + %add.ptr75 = getelementptr inbounds i16, i16* %93, i64 %idx.ext74 + %add.ptr76 = getelementptr inbounds i16, i16* %add.ptr75, i64 1 + %96 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %96, i32 0, i32 24 + store i16* %add.ptr76, i16** %index2ruleidx, align 8 + %97 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight77 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %97, i32 0, i32 23 + %98 = load i16*, i16** %index2weight77, align 8 + %99 = bitcast i16* %98 to i8* + %100 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight_tbl78 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %100, i32 0, i32 16 + %101 = load i16*, i16** %index2weight_tbl78, align 8 + %102 = bitcast i16* %101 to i8* + %103 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %num_col_base = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %103, i32 0, i32 7 + %104 = load i16, i16* %num_col_base, align 2 + %conv79 = zext i16 %104 to i64 + %mul80 = mul i64 %conv79, 2 + %call81 = call i8* @memcpy(i8* %99, i8* %102, i64 %mul80) #19 + %105 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx82 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %105, i32 0, i32 24 + %106 = load i16*, i16** %index2ruleidx82, align 8 + %107 = bitcast i16* %106 to i8* + %108 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx_tbl83 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %108, i32 0, i32 17 + %109 = load i16*, i16** %index2ruleidx_tbl83, align 8 + %110 = bitcast i16* %109 to i8* + %111 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %num_col_base84 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %111, i32 0, i32 7 + %112 = load i16, i16* %num_col_base84, align 2 + %conv85 = zext i16 %112 to i64 + %mul86 = mul i64 %conv85, 2 + %call87 = call i8* @memcpy(i8* %107, i8* %110, i64 %mul86) #19 + %113 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %overrides_tbl88 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %113, i32 0, i32 20 + %114 = load i16*, i16** %overrides_tbl88, align 8 + store i16* %114, i16** %p, align 8 + br label %while.cond + +while.cond: ; preds = %do.body, %if.end70 + %115 = load i16*, i16** %p, align 8 + %116 = load i16, i16* %115, align 2 + %conv89 = zext i16 %116 to i32 + %cmp = icmp sgt i32 %conv89, 1 + br i1 %cmp, label %while.body, label %while.cond105 + +while.body: ; preds = %while.cond + %117 = load i16*, i16** %p, align 8 + %incdec.ptr = getelementptr inbounds i16, i16* %117, i32 1 + store i16* %incdec.ptr, i16** %p, align 8 + %118 = load i16, i16* %117, align 2 + %conv91 = zext i16 %118 to i64 + store i64 %conv91, i64* %n, align 8 + %119 = load i16*, i16** %p, align 8 + %incdec.ptr92 = getelementptr inbounds i16, i16* %119, i32 1 + store i16* %incdec.ptr92, i16** %p, align 8 + %120 = load i16, i16* %119, align 2 + store i16 %120, i16* %w, align 2 + br label %do.body + +do.body: ; preds = %do.body, %while.body + %121 = load i16*, i16** %p, align 8 + %incdec.ptr93 = getelementptr inbounds i16, i16* %121, i32 1 + store i16* %incdec.ptr93, i16** %p, align 8 + %122 = load i16, i16* %121, align 2 + store i16 %122, i16* %i, align 2 + %123 = load i16, i16* %w, align 2 + %inc = add i16 %123, 1 + store i16 %inc, i16* %w, align 2 + %124 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight94 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %124, i32 0, i32 23 + %125 = load i16*, i16** %index2weight94, align 8 + %126 = load i16, i16* %i, align 2 + %conv95 = zext i16 %126 to i32 + %sub96 = sub nsw i32 %conv95, 1 + %idxprom = sext i32 %sub96 to i64 + %arrayidx = getelementptr inbounds i16, i16* %125, i64 %idxprom + store i16 %123, i16* %arrayidx, align 2 + %127 = load i16*, i16** %p, align 8 + %incdec.ptr97 = getelementptr inbounds i16, i16* %127, i32 1 + store i16* %incdec.ptr97, i16** %p, align 8 + %128 = load i16, i16* %127, align 2 + %129 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx98 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %129, i32 0, i32 24 + %130 = load i16*, i16** %index2ruleidx98, align 8 + %131 = load i16, i16* %i, align 2 + %conv99 = zext i16 %131 to i32 + %sub100 = sub nsw i32 %conv99, 1 + %idxprom101 = sext i32 %sub100 to i64 + %arrayidx102 = getelementptr inbounds i16, i16* %130, i64 %idxprom101 + store i16 %128, i16* %arrayidx102, align 2 + %132 = load i64, i64* %n, align 8 + %dec103 = add i64 %132, -1 + store i64 %dec103, i64* %n, align 8 + %tobool104 = icmp ne i64 %dec103, 0 + br i1 %tobool104, label %do.body, label %while.cond + +while.cond105: ; preds = %while.cond, %while.body108 + %133 = load i16*, i16** %p, align 8 + %incdec.ptr106 = getelementptr inbounds i16, i16* %133, i32 1 + store i16* %incdec.ptr106, i16** %p, align 8 + %134 = load i16, i16* %incdec.ptr106, align 2 + %tobool107 = icmp ne i16 %134, 0 + br i1 %tobool107, label %while.body108, label %while.end121 + +while.body108: ; preds = %while.cond105 + %135 = load i16*, i16** %p, align 8 + %136 = load i16, i16* %135, align 2 + store i16 %136, i16* %i, align 2 + %137 = load i16*, i16** %p, align 8 + %incdec.ptr109 = getelementptr inbounds i16, i16* %137, i32 1 + store i16* %incdec.ptr109, i16** %p, align 8 + %138 = load i16, i16* %incdec.ptr109, align 2 + %139 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight110 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %139, i32 0, i32 23 + %140 = load i16*, i16** %index2weight110, align 8 + %141 = load i16, i16* %i, align 2 + %conv111 = zext i16 %141 to i32 + %sub112 = sub nsw i32 %conv111, 1 + %idxprom113 = sext i32 %sub112 to i64 + %arrayidx114 = getelementptr inbounds i16, i16* %140, i64 %idxprom113 + store i16 %138, i16* %arrayidx114, align 2 + %142 = load i16*, i16** %p, align 8 + %incdec.ptr115 = getelementptr inbounds i16, i16* %142, i32 1 + store i16* %incdec.ptr115, i16** %p, align 8 + %143 = load i16, i16* %incdec.ptr115, align 2 + %144 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx116 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %144, i32 0, i32 24 + %145 = load i16*, i16** %index2ruleidx116, align 8 + %146 = load i16, i16* %i, align 2 + %conv117 = zext i16 %146 to i32 + %sub118 = sub nsw i32 %conv117, 1 + %idxprom119 = sext i32 %sub118 to i64 + %arrayidx120 = getelementptr inbounds i16, i16* %145, i64 %idxprom119 + store i16 %143, i16* %arrayidx120, align 2 + br label %while.cond105 + +while.end121: ; preds = %while.cond105 + store i16 0, i16* %i, align 2 + br label %for.cond + +for.cond: ; preds = %for.inc, %while.end121 + %147 = load i16, i16* %i, align 2 + %conv122 = zext i16 %147 to i32 + %148 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %multistart_tbl123 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %148, i32 0, i32 18 + %149 = load i16*, i16** %multistart_tbl123, align 8 + %arrayidx124 = getelementptr inbounds i16, i16* %149, i64 0 + %150 = load i16, i16* %arrayidx124, align 2 + %conv125 = zext i16 %150 to i32 + %cmp126 = icmp slt i32 %conv122, %conv125 + br i1 %cmp126, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %151 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %multistart_tbl128 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %151, i32 0, i32 18 + %152 = load i16*, i16** %multistart_tbl128, align 8 + store i16* %152, i16** %p, align 8 + %153 = load i16*, i16** %p, align 8 + %154 = load i16, i16* %i, align 2 + %idxprom129 = zext i16 %154 to i64 + %arrayidx130 = getelementptr inbounds i16, i16* %153, i64 %idxprom129 + %155 = load i16, i16* %arrayidx130, align 2 + %conv131 = zext i16 %155 to i32 + %156 = load i16*, i16** %p, align 8 + %idx.ext132 = sext i32 %conv131 to i64 + %add.ptr133 = getelementptr inbounds i16, i16* %156, i64 %idx.ext132 + store i16* %add.ptr133, i16** %p, align 8 + br label %do.body134 + +do.body134: ; preds = %do.body141, %for.body + %157 = load i16*, i16** %p, align 8 + %incdec.ptr135 = getelementptr inbounds i16, i16* %157, i32 1 + store i16* %incdec.ptr135, i16** %p, align 8 + %158 = load i16, i16* %157, align 2 + %conv136 = zext i16 %158 to i64 + store i64 %conv136, i64* %n, align 8 + %159 = load i16*, i16** %p, align 8 + %160 = load i16, i16* %159, align 2 + %tobool138 = icmp ne i16 %160, 0 + br i1 %tobool138, label %do.body141, label %for.inc + +do.body141: ; preds = %do.body134, %do.body141 + %161 = load i16*, i16** %p, align 8 + %incdec.ptr143 = getelementptr inbounds i16, i16* %161, i32 1 + store i16* %incdec.ptr143, i16** %p, align 8 + %162 = load i16, i16* %161, align 2 + %tobool144 = icmp ne i16 %162, 0 + br i1 %tobool144, label %do.body141, label %do.body134 + +for.inc: ; preds = %do.body134 + %163 = load i16, i16* %i, align 2 + %inc150 = add i16 %163, 1 + store i16 %inc150, i16* %i, align 2 + br label %for.cond + +for.end: ; preds = %for.cond + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %for.end, %if.then69, %if.then + %164 = load i32, i32* %retval, align 4 + ret i32 %164 +} + +; Function Attrs: nounwind +declare void @free(i8*) #2 + +; Function Attrs: nounwind +declare noalias i8* @calloc(i64, i64) #2 + +; Function Attrs: noinline nounwind uwtable +define hidden void @_locale_init_l(%struct.__uclibc_locale_struct.201* %base) #0 { +entry: + %base.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + store %struct.__uclibc_locale_struct.201* %base, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 6 + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + %call = call i8* @memset(i8* %arraydecay, i32 0, i64 14) #19 + %1 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale1 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %1, i32 0, i32 6 + %arrayidx = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale1, i64 0, i64 0 + store i8 35, i8* %arrayidx, align 8 + %2 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_item_count = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %2, i32 0, i32 8 + %arraydecay2 = getelementptr inbounds [6 x i8], [6 x i8]* %category_item_count, i64 0, i64 0 + %3 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_common_item_offsets_LEN = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %3, i32 0, i32 29 + %arraydecay3 = getelementptr inbounds [6 x i8], [6 x i8]* %lc_common_item_offsets_LEN, i64 0, i64 0 + %call4 = call i8* @memcpy(i8* %arraydecay2, i8* %arraydecay3, i64 6) #19 + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_item_count5 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %4, i32 0, i32 8 + %arrayidx6 = getelementptr inbounds [6 x i8], [6 x i8]* %category_item_count5, i64 0, i64 0 + %5 = load i8, i8* %arrayidx6, align 2 + %inc = add i8 %5, 1 + store i8 %inc, i8* %arrayidx6, align 2 + %6 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %6, i32 0, i32 7 + %arrayidx7 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets, i64 0, i64 0 + store i16 2488, i16* %arrayidx7, align 2 + %7 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets8 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %7, i32 0, i32 7 + %arrayidx9 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets8, i64 0, i64 1 + store i16 2576, i16* %arrayidx9, align 2 + %8 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets10 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %8, i32 0, i32 7 + %arrayidx11 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets10, i64 0, i64 2 + store i16 2600, i16* %arrayidx11, align 2 + %9 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets12 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %9, i32 0, i32 7 + %arrayidx13 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets12, i64 0, i64 3 + store i16 2776, i16* %arrayidx13, align 2 + %10 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets14 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %10, i32 0, i32 7 + %arrayidx15 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets14, i64 0, i64 5 + store i16 3176, i16* %arrayidx15, align 2 + %11 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8ctype = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %11, i32 0, i32 0 + %12 = bitcast [420 x i8]* %tbl8ctype to i8* + %13 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8ctype16 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %13, i32 0, i32 13 + store i8* %12, i8** %tbl8ctype16, align 8 + %14 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8uplow = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %14, i32 0, i32 1 + %15 = bitcast [504 x i8]* %tbl8uplow to i8* + %16 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8uplow17 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %16, i32 0, i32 15 + store i8* %15, i8** %tbl8uplow17, align 8 + %17 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8c2wc = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %17, i32 0, i32 2 + %18 = bitcast [1760 x i16]* %tbl8c2wc to i16* + %19 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8c2wc18 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %19, i32 0, i32 17 + store i16* %18, i16** %tbl8c2wc18, align 8 + %20 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8wc2c = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %20, i32 0, i32 3 + %21 = bitcast [4528 x i8]* %tbl8wc2c to i8* + %22 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8wc2c19 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %22, i32 0, i32 19 + store i8* %21, i8** %tbl8wc2c19, align 8 + %23 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tblwctype = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %23, i32 0, i32 4 + %24 = bitcast [3604 x i8]* %tblwctype to i8* + %25 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tblwctype20 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %25, i32 0, i32 21 + store i8* %24, i8** %tblwctype20, align 8 + %26 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tblwuplow = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %26, i32 0, i32 5 + %27 = bitcast [1680 x i8]* %tblwuplow to i8* + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tblwuplow21 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %28, i32 0, i32 22 + store i8* %27, i8** %tblwuplow21, align 8 + %29 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tblwuplow_diff = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %29, i32 0, i32 6 + %30 = bitcast [196 x i16]* %tblwuplow_diff to i16* + %31 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tblwuplow_diff22 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %31, i32 0, i32 23 + store i16* %30, i16** %tblwuplow_diff22, align 8 + %32 = load i16*, i16** @__C_ctype_b, align 8 + %33 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %33, i32 0, i32 0 + store i16* %32, i16** %__ctype_b, align 8 + %34 = load i16*, i16** @__C_ctype_tolower, align 8 + %35 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %35, i32 0, i32 1 + store i16* %34, i16** %__ctype_tolower, align 8 + %36 = load i16*, i16** @__C_ctype_toupper, align 8 + %37 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %37, i32 0, i32 2 + store i16* %36, i16** %__ctype_toupper, align 8 + %38 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %code2flag = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %38, i32 0, i32 20 + store i16* getelementptr inbounds ([16 x i16], [16 x i16]* @__code2flag, i64 0, i64 0), i16** %code2flag, align 8 + %39 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call23 = call i32 @_locale_set_l(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.76, i64 0, i64 0), %struct.__uclibc_locale_struct.201* %39) #18 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_locale_init() #0 { +entry: + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__global_locale, align 8 + call void @_locale_init_l(%struct.__uclibc_locale_struct.201* %0) #18 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @sigblock(i32 %mask) #0 { +entry: + %retval = alloca i32, align 4 + %mask.addr = alloca i32, align 4 + %set = alloca %struct.fd_set, align 8 + %oset = alloca %struct.fd_set, align 8 + store i32 %mask, i32* %mask.addr, align 4 + %0 = load i32, i32* %mask.addr, align 4 + %call = call i32 @sigset_set_old_mask(%struct.fd_set* %set, i32 %0) #18 + %cmp = icmp slt i32 %call, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %call1 = call i32 @sigprocmask(i32 0, %struct.fd_set* %set, %struct.fd_set* %oset) #19 + %cmp2 = icmp slt i32 %call1, 0 + br i1 %cmp2, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.end + store i32 -1, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %if.end + %call5 = call i32 @sigset_get_old_mask(%struct.fd_set* %oset) #18 + store i32 %call5, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %1 = load i32, i32* %retval, align 4 + ret i32 %1 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @sigset_set_old_mask(%struct.fd_set* %set, i32 %mask) #0 { +entry: + %set.addr = alloca %struct.fd_set*, align 8 + %mask.addr = alloca i32, align 4 + %ptr = alloca i64*, align 8 + %cnt = alloca i32, align 4 + store %struct.fd_set* %set, %struct.fd_set** %set.addr, align 8 + store i32 %mask, i32* %mask.addr, align 4 + %0 = load %struct.fd_set*, %struct.fd_set** %set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %0, i32 0, i32 0 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 0 + store i64* %arrayidx, i64** %ptr, align 8 + %1 = load i32, i32* %mask.addr, align 4 + %conv = zext i32 %1 to i64 + %2 = load i64*, i64** %ptr, align 8 + %incdec.ptr = getelementptr inbounds i64, i64* %2, i32 1 + store i64* %incdec.ptr, i64** %ptr, align 8 + store i64 %conv, i64* %2, align 8 + store i32 14, i32* %cnt, align 4 + br label %do.body + +do.body: ; preds = %do.body, %entry + %3 = load i64*, i64** %ptr, align 8 + %incdec.ptr1 = getelementptr inbounds i64, i64* %3, i32 1 + store i64* %incdec.ptr1, i64** %ptr, align 8 + store i64 0, i64* %3, align 8 + %4 = load i32, i32* %cnt, align 4 + %dec = add nsw i32 %4, -1 + store i32 %dec, i32* %cnt, align 4 + %cmp = icmp sge i32 %dec, 0 + br i1 %cmp, label %do.body, label %do.end + +do.end: ; preds = %do.body + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @sigset_get_old_mask(%struct.fd_set* %set) #0 { +entry: + %set.addr = alloca %struct.fd_set*, align 8 + store %struct.fd_set* %set, %struct.fd_set** %set.addr, align 8 + %0 = load %struct.fd_set*, %struct.fd_set** %set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %0, i32 0, i32 0 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 0 + %1 = load i64, i64* %arrayidx, align 8 + %conv = trunc i64 %1 to i32 + ret i32 %conv +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_stdio_term() #0 { +entry: + %ptr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %0, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %1, null + br i1 %tobool, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 0 + %3 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %3 to i32 + %and = and i32 %conv, 64 + %tobool1 = icmp ne i32 %and, 0 + br i1 %tobool1, label %if.then, label %for.inc + +if.then: ; preds = %for.body + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %call = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %4) #18 + br label %for.inc + +for.inc: ; preds = %for.body, %if.then + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 9 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %6, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_stdio_init() #0 { +entry: + %old_errno = alloca i32, align 4 + %0 = load i32, i32* @errno, align 4 + store i32 %0, i32* %old_errno, align 4 + %call = call i32 @isatty(i32 0) #19 + %sub = sub nsw i32 1, %call + %mul = mul i32 %sub, 256 + %1 = load i16, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 0, i32 0), align 16 + %conv = zext i16 %1 to i32 + %xor = xor i32 %conv, %mul + %conv1 = trunc i32 %xor to i16 + store i16 %conv1, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 0, i32 0), align 16 + %call2 = call i32 @isatty(i32 1) #19 + %sub3 = sub nsw i32 1, %call2 + %mul4 = mul i32 %sub3, 256 + %2 = load i16, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 1, i32 0), align 8 + %conv5 = zext i16 %2 to i32 + %xor6 = xor i32 %conv5, %mul4 + %conv7 = trunc i32 %xor6 to i16 + store i16 %conv7, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 1, i32 0), align 8 + %3 = load i32, i32* %old_errno, align 4 + store i32 %3, i32* @errno, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getchar_unlocked() #0 { +entry: + %stream = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdin, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %0, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %1, i32 0, i32 5 + %2 = load i8*, i8** %__bufpos, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 7 + %4 = load i8*, i8** %__bufgetc_u, align 8 + %cmp = icmp ult i8* %2, %4 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %entry + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 5 + %6 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + %7 = load i8, i8* %6, align 1 + %conv = zext i8 %7 to i32 + br label %cond.end + +cond.false: ; preds = %entry + %call = call i32 @__fgetc_unlocked(%struct.__STDIO_FILE_STRUCT.568* %5) #18 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ %conv, %cond.true ], [ %call, %cond.false ] + ret i32 %cond +} + +; Function Attrs: noinline noreturn nounwind uwtable +declare void @abort() #1 + +; Function Attrs: noreturn +declare void @_exit(i32) #13 + +; Function Attrs: noinline noreturn nounwind uwtable +define void @exit(i32 %rv) #1 { +entry: + %rv.addr = alloca i32, align 4 + store i32 %rv, i32* %rv.addr, align 4 + %0 = load void (i32)*, void (i32)** @__exit_cleanup, align 8 + %tobool = icmp ne void (i32)* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load void (i32)*, void (i32)** @__exit_cleanup, align 8 + %2 = load i32, i32* %rv.addr, align 4 + call void %1(i32 %2) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + call void @__uClibc_fini() #18 + call void @_stdio_term() #18 + %3 = load i32, i32* %rv.addr, align 4 + call void @_exit(i32 %3) #27 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define i8* @memcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r1 = alloca i8*, align 8 + %r2 = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %r1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %r2, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %2 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load i8*, i8** %r2, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %r2, align 8 + %4 = load i8, i8* %3, align 1 + %5 = load i8*, i8** %r1, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr1, i8** %r1, align 8 + store i8 %4, i8* %5, align 1 + %6 = load i64, i64* %n.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %7 = load i8*, i8** %s1.addr, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @memset(i8* nonnull %s, i32 %c, i64 %n) #0 { +entry: + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %n.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %1 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %2 = load i32, i32* %c.addr, align 4 + %conv = trunc i32 %2 to i8 + %3 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + store i8 %conv, i8* %3, align 1 + %4 = load i64, i64* %n.addr, align 8 + %dec = add i64 %4, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %5 = load i8*, i8** %s.addr, align 8 + ret i8* %5 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @strrchr(i8* nonnull %s, i32 %c) #14 { +entry: + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i8* null, i8** %p, align 8 + br label %do.body + +do.body: ; preds = %do.cond, %entry + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %2 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %2 to i8 + %conv2 = sext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + br i1 %cmp, label %if.then, label %do.cond + +if.then: ; preds = %do.body + %3 = load i8*, i8** %s.addr, align 8 + store i8* %3, i8** %p, align 8 + br label %do.cond + +do.cond: ; preds = %do.body, %if.then + %4 = load i8*, i8** %s.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr, i8** %s.addr, align 8 + %5 = load i8, i8* %4, align 1 + %tobool = icmp ne i8 %5, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %6 = load i8*, i8** %p, align 8 + ret i8* %6 +} + +; Function Attrs: noinline noreturn nounwind uwtable +define dso_local void @usage(i32 %status) #6 { +entry: + %status.addr = alloca i32, align 4 + store i32 %status, i32* %status.addr, align 4 + %0 = load i32, i32* %status.addr, align 4 + %cmp = icmp ne i32 %0, 0 + br i1 %cmp, label %do.body, label %if.else + +do.body: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stderr to %struct._IO_FILE**), align 8 + %2 = load i8*, i8** @program_name, align 8 + %call = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %1, i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.96, i64 0, i64 0), i8* %2) + br label %if.end + +if.else: ; preds = %entry + %3 = load i8*, i8** @program_name, align 8 + %4 = load i8*, i8** @program_name, align 8 + %call1 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.1.97, i64 0, i64 0), i8* %3, i8* %4) + %5 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call2 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([76 x i8], [76 x i8]* @.str.2.98, i64 0, i64 0), %struct._IO_FILE* %5) + %6 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call3 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.3.99, i64 0, i64 0), %struct._IO_FILE* %6) + %7 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call4 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.4.100, i64 0, i64 0), %struct._IO_FILE* %7) + call void @emit_ancillary_info(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.5.101, i64 0, i64 0)) + br label %if.end + +if.end: ; preds = %if.else, %do.body + %8 = load i32, i32* %status.addr, align 4 + call void @exit(i32 %8) #26 + unreachable +} + +declare dso_local i32 @printf(i8*, ...) #5 + +; Function Attrs: noinline nounwind uwtable +define internal void @emit_ancillary_info(i8* %program) #3 { +entry: + %program.addr = alloca i8*, align 8 + %infomap = alloca [7 x %struct.infomap], align 16 + %node = alloca i8*, align 8 + %map_prog = alloca %struct.infomap*, align 8 + %lc_messages = alloca i8*, align 8 + store i8* %program, i8** %program.addr, align 8 + %0 = bitcast [7 x %struct.infomap]* %infomap to i8* + %1 = call i8* @memcpy(i8* %0, i8* bitcast ([7 x %struct.infomap]* @__const.emit_ancillary_info.infomap to i8*), i64 112) + %2 = load i8*, i8** %program.addr, align 8 + store i8* %2, i8** %node, align 8 + %arraydecay = getelementptr inbounds [7 x %struct.infomap], [7 x %struct.infomap]* %infomap, i64 0, i64 0 + store %struct.infomap* %arraydecay, %struct.infomap** %map_prog, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %3 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + %program1 = getelementptr inbounds %struct.infomap, %struct.infomap* %3, i32 0, i32 0 + %4 = load i8*, i8** %program1, align 8 + %tobool = icmp ne i8* %4, null + br i1 %tobool, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %5 = load i8*, i8** %program.addr, align 8 + %6 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + %program2 = getelementptr inbounds %struct.infomap, %struct.infomap* %6, i32 0, i32 0 + %7 = load i8*, i8** %program2, align 8 + %call = call i32 @strcmp(i8* %5, i8* %7) #23 + %cmp = icmp eq i32 %call, 0 + %lnot = xor i1 %cmp, true + br label %land.end + +land.end: ; preds = %land.rhs, %while.cond + %8 = phi i1 [ false, %while.cond ], [ %lnot, %land.rhs ] + %9 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + br i1 %8, label %while.body, label %while.end + +while.body: ; preds = %land.end + %incdec.ptr = getelementptr inbounds %struct.infomap, %struct.infomap* %9, i32 1 + store %struct.infomap* %incdec.ptr, %struct.infomap** %map_prog, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %node3 = getelementptr inbounds %struct.infomap, %struct.infomap* %9, i32 0, i32 1 + %10 = load i8*, i8** %node3, align 8 + %tobool4 = icmp ne i8* %10, null + br i1 %tobool4, label %if.then, label %if.end + +if.then: ; preds = %while.end + %11 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + %node5 = getelementptr inbounds %struct.infomap, %struct.infomap* %11, i32 0, i32 1 + %12 = load i8*, i8** %node5, align 8 + store i8* %12, i8** %node, align 8 + br label %if.end + +if.end: ; preds = %if.then, %while.end + %call6 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.22.102, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.7.103, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.23.104, i64 0, i64 0)) + %call7 = call i8* @setlocale(i32 5, i8* null) #11 + store i8* %call7, i8** %lc_messages, align 8 + %13 = load i8*, i8** %lc_messages, align 8 + %tobool8 = icmp ne i8* %13, null + br i1 %tobool8, label %land.lhs.true, label %if.end13 + +land.lhs.true: ; preds = %if.end + %14 = load i8*, i8** %lc_messages, align 8 + %call9 = call i32 @strncmp(i8* %14, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.24.105, i64 0, i64 0), i64 3) #23 + %tobool10 = icmp ne i32 %call9, 0 + br i1 %tobool10, label %if.then11, label %if.end13 + +if.then11: ; preds = %land.lhs.true + %15 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call12 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.25.106, i64 0, i64 0), %struct._IO_FILE* %15) + br label %if.end13 + +if.end13: ; preds = %if.then11, %land.lhs.true, %if.end + %16 = load i8*, i8** %program.addr, align 8 + %call14 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.26.107, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.23.104, i64 0, i64 0), i8* %16) + %17 = load i8*, i8** %node, align 8 + %18 = load i8*, i8** %node, align 8 + %19 = load i8*, i8** %program.addr, align 8 + %cmp15 = icmp eq i8* %18, %19 + %20 = zext i1 %cmp15 to i64 + %cond = select i1 %cmp15, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.28.108, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.6.109, i64 0, i64 0) + %call16 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([51 x i8], [51 x i8]* @.str.27.110, i64 0, i64 0), i8* %17, i8* %cond) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__klee_posix_wrapped_main(i32 %argc, i8** %argv) #3 { +entry: + %retval = alloca i32, align 4 + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + store i32 0, i32* %retval, align 4 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + %0 = load i8**, i8*** %argv.addr, align 8 + %arrayidx = getelementptr inbounds i8*, i8** %0, i64 0 + %1 = load i8*, i8** %arrayidx, align 8 + call void @set_program_name(i8* %1) + %call = call i8* @setlocale(i32 6, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.6.109, i64 0, i64 0)) #11 + %call1 = call i32 @atexit(void ()* @close_stdout) #11 + %2 = load i32, i32* %argc.addr, align 4 + %3 = load i8**, i8*** %argv.addr, align 8 + %4 = load i8*, i8** @Version, align 8 + call void (i32, i8**, i8*, i8*, i8*, i1, void (i32)*, ...) @parse_gnu_standard_options_only(i32 %2, i8** %3, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.5.101, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.7.103, i64 0, i64 0), i8* %4, i1 zeroext true, void (i32)* @usage, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.8.122, i64 0, i64 0), i8* null) + %5 = load i32, i32* %argc.addr, align 4 + %6 = load i32, i32* @optind, align 4 + %add = add nsw i32 %6, 2 + %cmp = icmp slt i32 %5, %add + br i1 %cmp, label %if.then, label %if.end7 + +if.then: ; preds = %entry + %7 = load i32, i32* %argc.addr, align 4 + %8 = load i32, i32* @optind, align 4 + %add2 = add nsw i32 %8, 1 + %cmp3 = icmp slt i32 %7, %add2 + br i1 %cmp3, label %if.then4, label %if.else + +if.then4: ; preds = %if.then + call void (i32, i32, i8*, ...) @error(i32 0, i32 0, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.9.123, i64 0, i64 0)) + br label %if.end + +if.else: ; preds = %if.then + %9 = load i8**, i8*** %argv.addr, align 8 + %10 = load i32, i32* @optind, align 4 + %idxprom = sext i32 %10 to i64 + %arrayidx5 = getelementptr inbounds i8*, i8** %9, i64 %idxprom + %11 = load i8*, i8** %arrayidx5, align 8 + %call6 = call i8* @quote(i8* %11) + call void (i32, i32, i8*, ...) @error(i32 0, i32 0, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.10.124, i64 0, i64 0), i8* %call6) + br label %if.end + +if.end: ; preds = %if.else, %if.then4 + call void @usage(i32 1) #24 + unreachable + +if.end7: ; preds = %entry + %12 = load i32, i32* @optind, align 4 + %add8 = add nsw i32 %12, 2 + %13 = load i32, i32* %argc.addr, align 4 + %cmp9 = icmp slt i32 %add8, %13 + %14 = load i8**, i8*** %argv.addr, align 8 + %15 = load i32, i32* @optind, align 4 + br i1 %cmp9, label %if.then10, label %if.end15 + +if.then10: ; preds = %if.end7 + %add11 = add nsw i32 %15, 2 + %idxprom12 = sext i32 %add11 to i64 + %arrayidx13 = getelementptr inbounds i8*, i8** %14, i64 %idxprom12 + %16 = load i8*, i8** %arrayidx13, align 8 + %call14 = call i8* @quote(i8* %16) + call void (i32, i32, i8*, ...) @error(i32 0, i32 0, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.11.125, i64 0, i64 0), i8* %call14) + call void @usage(i32 1) #24 + unreachable + +if.end15: ; preds = %if.end7 + %idxprom16 = sext i32 %15 to i64 + %arrayidx17 = getelementptr inbounds i8*, i8** %14, i64 %idxprom16 + %17 = load i8*, i8** %arrayidx17, align 8 + %18 = load i8**, i8*** %argv.addr, align 8 + %19 = load i32, i32* @optind, align 4 + %add18 = add nsw i32 %19, 1 + %idxprom19 = sext i32 %add18 to i64 + %arrayidx20 = getelementptr inbounds i8*, i8** %18, i64 %idxprom19 + %20 = load i8*, i8** %arrayidx20, align 8 + %call21 = call i32 @link(i8* %17, i8* %20) #11 + %cmp22 = icmp ne i32 %call21, 0 + br i1 %cmp22, label %if.then23, label %if.end32 + +if.then23: ; preds = %if.end15 + %call24 = call i32* @__errno_location() #25 + %21 = load i32, i32* %call24, align 4 + %22 = load i8**, i8*** %argv.addr, align 8 + %23 = load i32, i32* @optind, align 4 + %add25 = add nsw i32 %23, 1 + %idxprom26 = sext i32 %add25 to i64 + %arrayidx27 = getelementptr inbounds i8*, i8** %22, i64 %idxprom26 + %24 = load i8*, i8** %arrayidx27, align 8 + %call28 = call i8* @quotearg_n_style(i32 0, i32 4, i8* %24) + %25 = load i8**, i8*** %argv.addr, align 8 + %26 = load i32, i32* @optind, align 4 + %idxprom29 = sext i32 %26 to i64 + %arrayidx30 = getelementptr inbounds i8*, i8** %25, i64 %idxprom29 + %27 = load i8*, i8** %arrayidx30, align 8 + %call31 = call i8* @quotearg_n_style(i32 1, i32 4, i8* %27) + call void (i32, i32, i8*, ...) @error(i32 1, i32 %21, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.12.126, i64 0, i64 0), i8* %call28, i8* %call31) + unreachable + +if.end32: ; preds = %if.end15 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_program_name(i8* %argv0) #3 { +entry: + %argv0.addr = alloca i8*, align 8 + %slash = alloca i8*, align 8 + %base = alloca i8*, align 8 + store i8* %argv0, i8** %argv0.addr, align 8 + %0 = load i8*, i8** %argv0.addr, align 8 + %cmp = icmp eq i8* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stderr to %struct._IO_FILE**), align 8 + %call = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.47, i64 0, i64 0), %struct._IO_FILE* %1) + call void @abort() #26 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %argv0.addr, align 8 + %call1 = call i8* @strrchr(i8* %2, i32 47) #23 + store i8* %call1, i8** %slash, align 8 + %3 = load i8*, i8** %slash, align 8 + %cmp2 = icmp ne i8* %3, null + %4 = load i8*, i8** %slash, align 8 + %add.ptr = getelementptr inbounds i8, i8* %4, i64 1 + %5 = load i8*, i8** %argv0.addr, align 8 + %cond = select i1 %cmp2, i8* %add.ptr, i8* %5 + store i8* %cond, i8** %base, align 8 + %6 = load i8*, i8** %base, align 8 + %7 = load i8*, i8** %argv0.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %6 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %cmp3 = icmp sge i64 %sub.ptr.sub, 7 + br i1 %cmp3, label %land.lhs.true, label %if.end13 + +land.lhs.true: ; preds = %if.end + %8 = load i8*, i8** %base, align 8 + %add.ptr4 = getelementptr inbounds i8, i8* %8, i64 -7 + %call5 = call i32 @strncmp(i8* %add.ptr4, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1.48, i64 0, i64 0), i64 7) #23 + %cmp6 = icmp eq i32 %call5, 0 + br i1 %cmp6, label %if.then7, label %if.end13 + +if.then7: ; preds = %land.lhs.true + %9 = load i8*, i8** %base, align 8 + store i8* %9, i8** %argv0.addr, align 8 + %10 = load i8*, i8** %base, align 8 + %call8 = call i32 @strncmp(i8* %10, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2.49, i64 0, i64 0), i64 3) #23 + %cmp9 = icmp eq i32 %call8, 0 + br i1 %cmp9, label %if.then10, label %if.end13 + +if.then10: ; preds = %if.then7 + %11 = load i8*, i8** %base, align 8 + %add.ptr11 = getelementptr inbounds i8, i8* %11, i64 3 + store i8* %add.ptr11, i8** %argv0.addr, align 8 + %12 = load i8*, i8** %argv0.addr, align 8 + store i8* %12, i8** @program_invocation_short_name, align 8 + br label %if.end13 + +if.end13: ; preds = %if.then7, %if.then10, %land.lhs.true, %if.end + %13 = load i8*, i8** %argv0.addr, align 8 + store i8* %13, i8** @program_name, align 8 + %14 = load i8*, i8** %argv0.addr, align 8 + store i8* %14, i8** @program_invocation_name, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @close_stdout() #3 { +entry: + %write_error = alloca i8*, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call = call i32 @close_stream(%struct._IO_FILE* %0) + %cmp = icmp ne i32 %call, 0 + br i1 %cmp, label %land.lhs.true, label %if.end9 + +land.lhs.true: ; preds = %entry + %1 = load i8, i8* @ignore_EPIPE, align 1 + %tobool = trunc i8 %1 to i1 + br i1 %tobool, label %land.lhs.true1, label %if.then + +land.lhs.true1: ; preds = %land.lhs.true + %call2 = call i32* @__errno_location() #25 + %2 = load i32, i32* %call2, align 4 + %cmp3 = icmp eq i32 %2, 32 + br i1 %cmp3, label %if.end9, label %if.then + +if.then: ; preds = %land.lhs.true1, %land.lhs.true + store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.32.127, i64 0, i64 0), i8** %write_error, align 8 + %3 = load i8*, i8** @file_name, align 8 + %tobool4 = icmp ne i8* %3, null + %call6 = call i32* @__errno_location() #25 + %4 = load i32, i32* %call6, align 4 + br i1 %tobool4, label %if.then5, label %if.else + +if.then5: ; preds = %if.then + %5 = load i8*, i8** @file_name, align 8 + %call7 = call i8* @quotearg_colon(i8* %5) + %6 = load i8*, i8** %write_error, align 8 + call void (i32, i32, i8*, ...) @error(i32 0, i32 %4, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.33, i64 0, i64 0), i8* %call7, i8* %6) + br label %if.end + +if.else: ; preds = %if.then + %7 = load i8*, i8** %write_error, align 8 + call void (i32, i32, i8*, ...) @error(i32 0, i32 %4, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2.34, i64 0, i64 0), i8* %7) + br label %if.end + +if.end: ; preds = %if.else, %if.then5 + %8 = load volatile i32, i32* @exit_failure, align 4 + call void @_exit(i32 %8) #24 + unreachable + +if.end9: ; preds = %land.lhs.true1, %entry + %9 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stderr to %struct._IO_FILE**), align 8 + %call10 = call i32 @close_stream(%struct._IO_FILE* %9) + %cmp11 = icmp ne i32 %call10, 0 + br i1 %cmp11, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.end9 + %10 = load volatile i32, i32* @exit_failure, align 4 + call void @_exit(i32 %10) #24 + unreachable + +if.end13: ; preds = %if.end9 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @parse_gnu_standard_options_only(i32 %argc, i8** %argv, i8* %command_name, i8* %package, i8* %version, i1 zeroext %scan_all, void (i32)* %usage_func, ...) #3 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %scan_all.addr = alloca i8, align 1 + %usage_func.addr = alloca void (i32)*, align 8 + %c = alloca i32, align 4 + %saved_opterr = alloca i32, align 4 + %optstring = alloca i8*, align 8 + %authors = alloca [1 x %struct.__va_list_tag.0], align 16 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + %frombool = zext i1 %scan_all to i8 + store i8 %frombool, i8* %scan_all.addr, align 1 + store void (i32)* %usage_func, void (i32)** %usage_func.addr, align 8 + %0 = load i32, i32* @opterr, align 4 + store i32 %0, i32* %saved_opterr, align 4 + store i32 1, i32* @opterr, align 4 + %1 = load i8, i8* %scan_all.addr, align 1 + %tobool = trunc i8 %1 to i1 + %2 = zext i1 %tobool to i64 + %cond = select i1 %tobool, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1.42, i64 0, i64 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.37, i64 0, i64 0) + store i8* %cond, i8** %optstring, align 8 + %3 = load i32, i32* %argc.addr, align 4 + %4 = load i8**, i8*** %argv.addr, align 8 + %5 = load i8*, i8** %optstring, align 8 + %call = call i32 @getopt_long(i32 %3, i8** %4, i8* %5, %struct.option* getelementptr inbounds ([3 x %struct.option], [3 x %struct.option]* @long_options, i64 0, i64 0), i32* null) #11 + store i32 %call, i32* %c, align 4 + %cmp = icmp ne i32 %call, -1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %6 = load i32, i32* %c, align 4 + br label %NodeBlock1 + +NodeBlock1: ; preds = %if.then + %case.cmp2 = icmp eq i32 %6, 104 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %6, 118 + br i1 %case.cmp, label %sw.bb1, label %newDefault + +sw.bb: ; preds = %NodeBlock1 + %7 = load void (i32)*, void (i32)** %usage_func.addr, align 8 + call void %7(i32 0) + br label %if.end + +sw.bb1: ; preds = %NodeBlock + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %authors, i64 0, i64 0 + %arraydecay2 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay2) + %8 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %9 = load i8*, i8** %command_name.addr, align 8 + %10 = load i8*, i8** %package.addr, align 8 + %11 = load i8*, i8** %version.addr, align 8 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %authors, i64 0, i64 0 + call void @version_etc_va(%struct._IO_FILE* %8, i8* %9, i8* %10, i8* %11, %struct.__va_list_tag.0* %arraydecay3) + call void @exit(i32 0) #26 + unreachable + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + %12 = load void (i32)*, void (i32)** %usage_func.addr, align 8 + %13 = load volatile i32, i32* @exit_failure, align 4 + call void %12(i32 %13) + br label %if.end + +if.end: ; preds = %sw.bb, %sw.default, %entry + %14 = load i32, i32* %saved_opterr, align 4 + store i32 %14, i32* @opterr, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote(i8* %arg) #3 { +entry: + %arg.addr = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quote_n(i32 0, i8* %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_style(i32 %n, i32 %s, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %o = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + call void @quoting_options_from_style(%struct.quoting_options* sret align 8 %o, i32 %0) + %1 = load i32, i32* %n.addr, align 4 + %2 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %1, i8* %2, i64 -1, %struct.quoting_options* %o) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define internal void @quoting_options_from_style(%struct.quoting_options* noalias sret align 8 %agg.result, i32 %style) #3 { +entry: + %style.addr = alloca i32, align 4 + store i32 %style, i32* %style.addr, align 4 + %0 = bitcast %struct.quoting_options* %agg.result to i8* + %1 = call i8* @memset(i8* %0, i32 0, i64 56) + %2 = load i32, i32* %style.addr, align 4 + %cmp = icmp eq i32 %2, 10 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @abort() #26 + unreachable + +if.end: ; preds = %entry + %3 = load i32, i32* %style.addr, align 4 + %style1 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %agg.result, i32 0, i32 0 + store i32 %3, i32* %style1, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @quotearg_n_options(i32 %n, i8* %arg, i64 %argsize, %struct.quoting_options* %options) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %options.addr = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %sv = alloca %struct.slotvec*, align 8 + %preallocated = alloca i8, align 1 + %nmax = alloca i32, align 4 + %size = alloca i64, align 8 + %val = alloca i8*, align 8 + %flags = alloca i32, align 4 + %qsize = alloca i64, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store %struct.quoting_options* %options, %struct.quoting_options** %options.addr, align 8 + %call = call i32* @__errno_location() #25 + %0 = load i32, i32* %call, align 4 + store i32 %0, i32* %e, align 4 + %1 = load %struct.slotvec*, %struct.slotvec** @slotvec, align 8 + store %struct.slotvec* %1, %struct.slotvec** %sv, align 8 + %2 = load i32, i32* %n.addr, align 4 + %cmp = icmp slt i32 %2, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @abort() #26 + unreachable + +if.end: ; preds = %entry + %3 = load i32, i32* @nslots, align 4 + %4 = load i32, i32* %n.addr, align 4 + %cmp1 = icmp sle i32 %3, %4 + br i1 %cmp1, label %if.then2, label %if.end15 + +if.then2: ; preds = %if.end + %5 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %cmp3 = icmp eq %struct.slotvec* %5, @slotvec0 + %frombool = zext i1 %cmp3 to i8 + store i8 %frombool, i8* %preallocated, align 1 + store i32 2147483646, i32* %nmax, align 4 + %6 = load i32, i32* %nmax, align 4 + %7 = load i32, i32* %n.addr, align 4 + %cmp4 = icmp slt i32 %6, %7 + br i1 %cmp4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.then2 + call void @xalloc_die() #24 + unreachable + +if.end6: ; preds = %if.then2 + %8 = load i8, i8* %preallocated, align 1 + %tobool = trunc i8 %8 to i1 + %9 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %cond = select i1 %tobool, %struct.slotvec* null, %struct.slotvec* %9 + %10 = bitcast %struct.slotvec* %cond to i8* + %11 = load i32, i32* %n.addr, align 4 + %add = add nsw i32 %11, 1 + %conv = sext i32 %add to i64 + %mul = mul i64 %conv, 16 + %call7 = call i8* @xrealloc(i8* %10, i64 %mul) + %12 = bitcast i8* %call7 to %struct.slotvec* + store %struct.slotvec* %12, %struct.slotvec** %sv, align 8 + store %struct.slotvec* %12, %struct.slotvec** @slotvec, align 8 + %13 = load i8, i8* %preallocated, align 1 + %tobool8 = trunc i8 %13 to i1 + br i1 %tobool8, label %if.then9, label %if.end10 + +if.then9: ; preds = %if.end6 + %14 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %15 = bitcast %struct.slotvec* %14 to i8* + %16 = call i8* @memcpy(i8* %15, i8* bitcast (%struct.slotvec* @slotvec0 to i8*), i64 16) + br label %if.end10 + +if.end10: ; preds = %if.then9, %if.end6 + %17 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %18 = load i32, i32* @nslots, align 4 + %idx.ext = sext i32 %18 to i64 + %add.ptr = getelementptr inbounds %struct.slotvec, %struct.slotvec* %17, i64 %idx.ext + %19 = bitcast %struct.slotvec* %add.ptr to i8* + %20 = load i32, i32* %n.addr, align 4 + %add11 = add nsw i32 %20, 1 + %21 = load i32, i32* @nslots, align 4 + %sub = sub nsw i32 %add11, %21 + %conv12 = sext i32 %sub to i64 + %mul13 = mul i64 %conv12, 16 + %22 = call i8* @memset(i8* %19, i32 0, i64 %mul13) + %23 = load i32, i32* %n.addr, align 4 + %add14 = add nsw i32 %23, 1 + store i32 %add14, i32* @nslots, align 4 + br label %if.end15 + +if.end15: ; preds = %if.end10, %if.end + %24 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %25 = load i32, i32* %n.addr, align 4 + %idxprom = sext i32 %25 to i64 + %arrayidx = getelementptr inbounds %struct.slotvec, %struct.slotvec* %24, i64 %idxprom + %size16 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx, i32 0, i32 0 + %26 = load i64, i64* %size16, align 8 + store i64 %26, i64* %size, align 8 + %27 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %28 = load i32, i32* %n.addr, align 4 + %idxprom17 = sext i32 %28 to i64 + %arrayidx18 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %27, i64 %idxprom17 + %val19 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx18, i32 0, i32 1 + %29 = load i8*, i8** %val19, align 8 + store i8* %29, i8** %val, align 8 + %30 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %flags20 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %30, i32 0, i32 1 + %31 = load i32, i32* %flags20, align 4 + %or = or i32 %31, 1 + store i32 %or, i32* %flags, align 4 + %32 = load i8*, i8** %val, align 8 + %33 = load i64, i64* %size, align 8 + %34 = load i8*, i8** %arg.addr, align 8 + %35 = load i64, i64* %argsize.addr, align 8 + %36 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %36, i32 0, i32 0 + %37 = load i32, i32* %style, align 8 + %38 = load i32, i32* %flags, align 4 + %39 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %39, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %40 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %left_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %40, i32 0, i32 3 + %41 = load i8*, i8** %left_quote, align 8 + %42 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %right_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %42, i32 0, i32 4 + %43 = load i8*, i8** %right_quote, align 8 + %call21 = call i64 @quotearg_buffer_restyled(i8* %32, i64 %33, i8* %34, i64 %35, i32 %37, i32 %38, i32* %arraydecay, i8* %41, i8* %43) + store i64 %call21, i64* %qsize, align 8 + %44 = load i64, i64* %size, align 8 + %45 = load i64, i64* %qsize, align 8 + %cmp22 = icmp ule i64 %44, %45 + br i1 %cmp22, label %if.then24, label %if.end43 + +if.then24: ; preds = %if.end15 + %46 = load i64, i64* %qsize, align 8 + %add25 = add i64 %46, 1 + store i64 %add25, i64* %size, align 8 + %47 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %48 = load i32, i32* %n.addr, align 4 + %idxprom26 = sext i32 %48 to i64 + %arrayidx27 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %47, i64 %idxprom26 + %size28 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx27, i32 0, i32 0 + store i64 %add25, i64* %size28, align 8 + %49 = load i8*, i8** %val, align 8 + %cmp29 = icmp ne i8* %49, getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i64 0, i64 0) + br i1 %cmp29, label %if.then31, label %if.end32 + +if.then31: ; preds = %if.then24 + %50 = load i8*, i8** %val, align 8 + call void @free(i8* %50) #11 + br label %if.end32 + +if.end32: ; preds = %if.then31, %if.then24 + %51 = load i64, i64* %size, align 8 + %call33 = call noalias i8* @xcharalloc(i64 %51) + store i8* %call33, i8** %val, align 8 + %52 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %53 = load i32, i32* %n.addr, align 4 + %idxprom34 = sext i32 %53 to i64 + %arrayidx35 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %52, i64 %idxprom34 + %val36 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx35, i32 0, i32 1 + store i8* %call33, i8** %val36, align 8 + %54 = load i8*, i8** %val, align 8 + %55 = load i64, i64* %size, align 8 + %56 = load i8*, i8** %arg.addr, align 8 + %57 = load i64, i64* %argsize.addr, align 8 + %58 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %style37 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %58, i32 0, i32 0 + %59 = load i32, i32* %style37, align 8 + %60 = load i32, i32* %flags, align 4 + %61 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %quote_these_too38 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %61, i32 0, i32 2 + %arraydecay39 = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too38, i64 0, i64 0 + %62 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %left_quote40 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %62, i32 0, i32 3 + %63 = load i8*, i8** %left_quote40, align 8 + %64 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %right_quote41 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %64, i32 0, i32 4 + %65 = load i8*, i8** %right_quote41, align 8 + %call42 = call i64 @quotearg_buffer_restyled(i8* %54, i64 %55, i8* %56, i64 %57, i32 %59, i32 %60, i32* %arraydecay39, i8* %63, i8* %65) + br label %if.end43 + +if.end43: ; preds = %if.end32, %if.end15 + %66 = load i32, i32* %e, align 4 + %call44 = call i32* @__errno_location() #25 + store i32 %66, i32* %call44, align 4 + %67 = load i8*, i8** %val, align 8 + ret i8* %67 +} + +; Function Attrs: noinline noreturn nounwind uwtable +define dso_local void @xalloc_die() #6 { +entry: + %0 = load volatile i32, i32* @exit_failure, align 4 + call void (i32, i32, i8*, ...) @error(i32 %0, i32 0, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.110, i64 0, i64 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.1.111, i64 0, i64 0)) + call void @abort() #26 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @xrealloc(i8* %p, i64 %n) #3 { +entry: + %retval = alloca i8*, align 8 + %p.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %tobool = icmp eq i64 %0, 0 + %1 = load i8*, i8** %p.addr, align 8 + %tobool1 = icmp ne i8* %1, null + %or.cond = and i1 %tobool, %tobool1 + %2 = load i8*, i8** %p.addr, align 8 + br i1 %or.cond, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @free(i8* %2) #11 + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %3 = load i64, i64* %n.addr, align 8 + %call = call i8* @realloc(i8* %2, i64 %3) #11 + store i8* %call, i8** %p.addr, align 8 + %4 = load i8*, i8** %p.addr, align 8 + %tobool2 = icmp eq i8* %4, null + %5 = load i64, i64* %n.addr, align 8 + %tobool4 = icmp ne i64 %5, 0 + %or.cond1 = and i1 %tobool2, %tobool4 + br i1 %or.cond1, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end + call void @xalloc_die() #24 + unreachable + +if.end6: ; preds = %if.end + %6 = load i8*, i8** %p.addr, align 8 + store i8* %6, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end6, %if.then + %7 = load i8*, i8** %retval, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @quotearg_buffer_restyled(i8* %buffer, i64 %buffersize, i8* %arg, i64 %argsize, i32 %quoting_style, i32 %flags, i32* %quote_these_too, i8* %left_quote, i8* %right_quote) #3 { +entry: + %retval = alloca i64, align 8 + %buffer.addr = alloca i8*, align 8 + %buffersize.addr = alloca i64, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %quoting_style.addr = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %quote_these_too.addr = alloca i32*, align 8 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %i = alloca i64, align 8 + %len = alloca i64, align 8 + %orig_buffersize = alloca i64, align 8 + %quote_string = alloca i8*, align 8 + %quote_string_len = alloca i64, align 8 + %backslash_escapes = alloca i8, align 1 + %unibyte_locale = alloca i8, align 1 + %elide_outer_quotes = alloca i8, align 1 + %pending_shell_escape_end = alloca i8, align 1 + %encountered_single_quote = alloca i8, align 1 + %all_c_and_shell_quote_compat = alloca i8, align 1 + %c = alloca i8, align 1 + %esc = alloca i8, align 1 + %is_right_quote = alloca i8, align 1 + %escaping = alloca i8, align 1 + %c_and_shell_quote_compat = alloca i8, align 1 + %m = alloca i64, align 8 + %printable = alloca i8, align 1 + %mbstate = alloca %struct.__mbstate_t, align 4 + %w = alloca i32, align 4 + %bytes = alloca i64, align 8 + %j = alloca i64, align 8 + %ilim = alloca i64, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %buffersize, i64* %buffersize.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store i32 %quoting_style, i32* %quoting_style.addr, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store i32* %quote_these_too, i32** %quote_these_too.addr, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i64 0, i64* %len, align 8 + store i64 0, i64* %orig_buffersize, align 8 + store i8* null, i8** %quote_string, align 8 + store i64 0, i64* %quote_string_len, align 8 + store i8 0, i8* %backslash_escapes, align 1 + %call = call i64 @__ctype_get_mb_cur_max() #11 + %cmp = icmp eq i64 %call, 1 + %frombool = zext i1 %cmp to i8 + store i8 %frombool, i8* %unibyte_locale, align 1 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 2 + %cmp1 = icmp ne i32 %and, 0 + %frombool2 = zext i1 %cmp1 to i8 + store i8 %frombool2, i8* %elide_outer_quotes, align 1 + store i8 0, i8* %pending_shell_escape_end, align 1 + store i8 0, i8* %encountered_single_quote, align 1 + store i8 1, i8* %all_c_and_shell_quote_compat, align 1 + br label %process_input + +process_input: ; preds = %if.then701, %entry + %1 = load i32, i32* %quoting_style.addr, align 4 + br label %NodeBlock27 + +NodeBlock27: ; preds = %process_input + %case.cmp28 = icmp eq i32 %1, 6 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %1, 5 + br i1 %case.cmp26, label %sw.bb3, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %1, 7 + br i1 %case.cmp24, label %sw.bb7, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %1, 8 + br i1 %case.cmp22, label %sw.bb8, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %1, 9 + br i1 %case.cmp20, label %sw.bb8, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %1, 10 + br i1 %case.cmp18, label %sw.bb8, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %1, 3 + br i1 %case.cmp16, label %sw.bb26, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %1, 1 + br i1 %case.cmp14, label %sw.bb27, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %1, 4 + br i1 %case.cmp12, label %sw.bb28, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %1, 2 + br i1 %case.cmp10, label %sw.bb32, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock9 + %case.cmp = icmp eq i32 %1, 0 + br i1 %case.cmp, label %sw.bb43, label %newDefault + +sw.bb: ; preds = %NodeBlock27 + store i32 5, i32* %quoting_style.addr, align 4 + store i8 1, i8* %elide_outer_quotes, align 1 + br label %sw.bb3 + +sw.bb3: ; preds = %NodeBlock25, %sw.bb + %2 = load i8, i8* %elide_outer_quotes, align 1 + %tobool = trunc i8 %2 to i1 + br i1 %tobool, label %if.end6, label %do.body + +do.body: ; preds = %sw.bb3 + %3 = load i64, i64* %len, align 8 + %4 = load i64, i64* %buffersize.addr, align 8 + %cmp4 = icmp ult i64 %3, %4 + br i1 %cmp4, label %if.then5, label %if.end + +if.then5: ; preds = %do.body + %5 = load i8*, i8** %buffer.addr, align 8 + %6 = load i64, i64* %len, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 %6 + store i8 34, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then5, %do.body + %7 = load i64, i64* %len, align 8 + %inc = add i64 %7, 1 + store i64 %inc, i64* %len, align 8 + br label %if.end6 + +if.end6: ; preds = %if.end, %sw.bb3 + store i8 1, i8* %backslash_escapes, align 1 + store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10.60, i64 0, i64 0), i8** %quote_string, align 8 + store i64 1, i64* %quote_string_len, align 8 + br label %sw.epilog + +sw.bb7: ; preds = %NodeBlock23 + store i8 1, i8* %backslash_escapes, align 1 + store i8 0, i8* %elide_outer_quotes, align 1 + br label %sw.epilog + +sw.bb8: ; preds = %NodeBlock21, %NodeBlock19, %NodeBlock17 + %8 = load i32, i32* %quoting_style.addr, align 4 + %cmp9 = icmp ne i32 %8, 10 + br i1 %cmp9, label %if.then10, label %if.end13 + +if.then10: ; preds = %sw.bb8 + %9 = load i32, i32* %quoting_style.addr, align 4 + %call11 = call i8* @gettext_quote(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.11.61, i64 0, i64 0), i32 %9) + store i8* %call11, i8** %left_quote.addr, align 8 + %10 = load i32, i32* %quoting_style.addr, align 4 + %call12 = call i8* @gettext_quote(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.62, i64 0, i64 0), i32 %10) + store i8* %call12, i8** %right_quote.addr, align 8 + br label %if.end13 + +if.end13: ; preds = %if.then10, %sw.bb8 + %11 = load i8, i8* %elide_outer_quotes, align 1 + %tobool14 = trunc i8 %11 to i1 + br i1 %tobool14, label %if.end24, label %if.then15 + +if.then15: ; preds = %if.end13 + %12 = load i8*, i8** %left_quote.addr, align 8 + store i8* %12, i8** %quote_string, align 8 + br label %for.cond + +for.cond: ; preds = %if.end21, %if.then15 + %13 = load i8*, i8** %quote_string, align 8 + %14 = load i8, i8* %13, align 1 + %tobool16 = icmp ne i8 %14, 0 + br i1 %tobool16, label %do.body17, label %if.end24 + +do.body17: ; preds = %for.cond + %15 = load i64, i64* %len, align 8 + %16 = load i64, i64* %buffersize.addr, align 8 + %cmp18 = icmp ult i64 %15, %16 + br i1 %cmp18, label %if.then19, label %if.end21 + +if.then19: ; preds = %do.body17 + %17 = load i8*, i8** %quote_string, align 8 + %18 = load i8, i8* %17, align 1 + %19 = load i8*, i8** %buffer.addr, align 8 + %20 = load i64, i64* %len, align 8 + %arrayidx20 = getelementptr inbounds i8, i8* %19, i64 %20 + store i8 %18, i8* %arrayidx20, align 1 + br label %if.end21 + +if.end21: ; preds = %if.then19, %do.body17 + %21 = load i64, i64* %len, align 8 + %inc22 = add i64 %21, 1 + store i64 %inc22, i64* %len, align 8 + %22 = load i8*, i8** %quote_string, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %22, i32 1 + store i8* %incdec.ptr, i8** %quote_string, align 8 + br label %for.cond + +if.end24: ; preds = %for.cond, %if.end13 + store i8 1, i8* %backslash_escapes, align 1 + %23 = load i8*, i8** %right_quote.addr, align 8 + store i8* %23, i8** %quote_string, align 8 + %24 = load i8*, i8** %quote_string, align 8 + %call25 = call i64 @strlen(i8* %24) #23 + store i64 %call25, i64* %quote_string_len, align 8 + br label %sw.epilog + +sw.bb26: ; preds = %NodeBlock15 + store i8 1, i8* %backslash_escapes, align 1 + br label %sw.bb27 + +sw.bb27: ; preds = %NodeBlock13, %sw.bb26 + store i8 1, i8* %elide_outer_quotes, align 1 + br label %sw.bb28 + +sw.bb28: ; preds = %NodeBlock11, %sw.bb27 + %25 = load i8, i8* %elide_outer_quotes, align 1 + %tobool29 = trunc i8 %25 to i1 + br i1 %tobool29, label %sw.bb32, label %if.then30 + +if.then30: ; preds = %sw.bb28 + store i8 1, i8* %backslash_escapes, align 1 + br label %sw.bb32 + +sw.bb32: ; preds = %NodeBlock9, %sw.bb28, %if.then30 + store i32 2, i32* %quoting_style.addr, align 4 + %26 = load i8, i8* %elide_outer_quotes, align 1 + %tobool33 = trunc i8 %26 to i1 + br i1 %tobool33, label %if.end42, label %do.body35 + +do.body35: ; preds = %sw.bb32 + %27 = load i64, i64* %len, align 8 + %28 = load i64, i64* %buffersize.addr, align 8 + %cmp36 = icmp ult i64 %27, %28 + br i1 %cmp36, label %if.then37, label %if.end39 + +if.then37: ; preds = %do.body35 + %29 = load i8*, i8** %buffer.addr, align 8 + %30 = load i64, i64* %len, align 8 + %arrayidx38 = getelementptr inbounds i8, i8* %29, i64 %30 + store i8 39, i8* %arrayidx38, align 1 + br label %if.end39 + +if.end39: ; preds = %if.then37, %do.body35 + %31 = load i64, i64* %len, align 8 + %inc40 = add i64 %31, 1 + store i64 %inc40, i64* %len, align 8 + br label %if.end42 + +if.end42: ; preds = %if.end39, %sw.bb32 + store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.62, i64 0, i64 0), i8** %quote_string, align 8 + store i64 1, i64* %quote_string_len, align 8 + br label %sw.epilog + +sw.bb43: ; preds = %NodeBlock + store i8 0, i8* %elide_outer_quotes, align 1 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @abort() #26 + unreachable + +sw.epilog: ; preds = %sw.bb43, %if.end42, %if.end24, %sw.bb7, %if.end6 + store i64 0, i64* %i, align 8 + br label %for.cond44 + +for.cond44: ; preds = %for.inc673, %sw.epilog + %32 = load i64, i64* %argsize.addr, align 8 + %cmp45 = icmp eq i64 %32, -1 + br i1 %cmp45, label %cond.true, label %cond.false + +cond.true: ; preds = %for.cond44 + %33 = load i8*, i8** %arg.addr, align 8 + %34 = load i64, i64* %i, align 8 + %arrayidx46 = getelementptr inbounds i8, i8* %33, i64 %34 + %35 = load i8, i8* %arrayidx46, align 1 + %conv = sext i8 %35 to i32 + %cmp47 = icmp eq i32 %conv, 0 + %conv48 = zext i1 %cmp47 to i32 + br label %cond.end + +cond.false: ; preds = %for.cond44 + %36 = load i64, i64* %i, align 8 + %37 = load i64, i64* %argsize.addr, align 8 + %cmp49 = icmp eq i64 %36, %37 + %conv50 = zext i1 %cmp49 to i32 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ %conv48, %cond.true ], [ %conv50, %cond.false ] + %tobool51 = icmp ne i32 %cond, 0 + %lnot = xor i1 %tobool51, true + br i1 %lnot, label %for.body52, label %for.end675 + +for.body52: ; preds = %cond.end + store i8 0, i8* %is_right_quote, align 1 + store i8 0, i8* %escaping, align 1 + store i8 0, i8* %c_and_shell_quote_compat, align 1 + %38 = load i8, i8* %backslash_escapes, align 1 + %tobool53 = trunc i8 %38 to i1 + %39 = load i32, i32* %quoting_style.addr, align 4 + %cmp55 = icmp ne i32 %39, 2 + %or.cond = and i1 %tobool53, %cmp55 + %40 = load i64, i64* %quote_string_len, align 8 + %tobool58 = icmp ne i64 %40, 0 + %or.cond1 = and i1 %or.cond, %tobool58 + br i1 %or.cond1, label %land.lhs.true59, label %if.end80 + +land.lhs.true59: ; preds = %for.body52 + %41 = load i64, i64* %i, align 8 + %42 = load i64, i64* %quote_string_len, align 8 + %add = add i64 %41, %42 + %43 = load i64, i64* %argsize.addr, align 8 + %cmp60 = icmp eq i64 %43, -1 + %44 = load i64, i64* %quote_string_len, align 8 + %cmp63 = icmp ult i64 1, %44 + %or.cond2 = and i1 %cmp60, %cmp63 + br i1 %or.cond2, label %cond.true65, label %cond.false67 + +cond.true65: ; preds = %land.lhs.true59 + %45 = load i8*, i8** %arg.addr, align 8 + %call66 = call i64 @strlen(i8* %45) #23 + store i64 %call66, i64* %argsize.addr, align 8 + br label %cond.end68 + +cond.false67: ; preds = %land.lhs.true59 + %46 = load i64, i64* %argsize.addr, align 8 + br label %cond.end68 + +cond.end68: ; preds = %cond.false67, %cond.true65 + %cond69 = phi i64 [ %call66, %cond.true65 ], [ %46, %cond.false67 ] + %cmp70 = icmp ule i64 %add, %cond69 + br i1 %cmp70, label %land.lhs.true72, label %if.end80 + +land.lhs.true72: ; preds = %cond.end68 + %47 = load i8*, i8** %arg.addr, align 8 + %48 = load i64, i64* %i, align 8 + %add.ptr = getelementptr inbounds i8, i8* %47, i64 %48 + %49 = load i8*, i8** %quote_string, align 8 + %50 = load i64, i64* %quote_string_len, align 8 + %call73 = call i32 @memcmp(i8* %add.ptr, i8* %49, i64 %50) #23 + %cmp74 = icmp eq i32 %call73, 0 + br i1 %cmp74, label %if.then76, label %if.end80 + +if.then76: ; preds = %land.lhs.true72 + %51 = load i8, i8* %elide_outer_quotes, align 1 + %tobool77 = trunc i8 %51 to i1 + br i1 %tobool77, label %force_outer_quoting_style, label %if.end79 + +if.end79: ; preds = %if.then76 + store i8 1, i8* %is_right_quote, align 1 + br label %if.end80 + +if.end80: ; preds = %if.end79, %land.lhs.true72, %cond.end68, %for.body52 + %52 = load i8*, i8** %arg.addr, align 8 + %53 = load i64, i64* %i, align 8 + %arrayidx81 = getelementptr inbounds i8, i8* %52, i64 %53 + %54 = load i8, i8* %arrayidx81, align 1 + store i8 %54, i8* %c, align 1 + %55 = load i8, i8* %c, align 1 + %conv82 = zext i8 %55 to i32 + br label %NodeBlock232 + +NodeBlock232: ; preds = %if.end80 + %case.cmp233 = icmp eq i32 %conv82, 0 + br i1 %case.cmp233, label %sw.bb83, label %NodeBlock230 + +NodeBlock230: ; preds = %NodeBlock232 + %case.cmp231 = icmp eq i32 %conv82, 63 + br i1 %case.cmp231, label %sw.bb170, label %NodeBlock228 + +NodeBlock228: ; preds = %NodeBlock230 + %case.cmp229 = icmp eq i32 %conv82, 7 + br i1 %case.cmp229, label %sw.bb236, label %NodeBlock226 + +NodeBlock226: ; preds = %NodeBlock228 + %case.cmp227 = icmp eq i32 %conv82, 8 + br i1 %case.cmp227, label %sw.bb237, label %NodeBlock224 + +NodeBlock224: ; preds = %NodeBlock226 + %case.cmp225 = icmp eq i32 %conv82, 12 + br i1 %case.cmp225, label %sw.bb238, label %NodeBlock222 + +NodeBlock222: ; preds = %NodeBlock224 + %case.cmp223 = icmp eq i32 %conv82, 10 + br i1 %case.cmp223, label %sw.bb239, label %NodeBlock220 + +NodeBlock220: ; preds = %NodeBlock222 + %case.cmp221 = icmp eq i32 %conv82, 13 + br i1 %case.cmp221, label %sw.bb240, label %NodeBlock218 + +NodeBlock218: ; preds = %NodeBlock220 + %case.cmp219 = icmp eq i32 %conv82, 9 + br i1 %case.cmp219, label %sw.bb241, label %NodeBlock216 + +NodeBlock216: ; preds = %NodeBlock218 + %case.cmp217 = icmp eq i32 %conv82, 11 + br i1 %case.cmp217, label %sw.bb242, label %NodeBlock214 + +NodeBlock214: ; preds = %NodeBlock216 + %case.cmp215 = icmp eq i32 %conv82, 92 + br i1 %case.cmp215, label %sw.bb243, label %NodeBlock212 + +NodeBlock212: ; preds = %NodeBlock214 + %case.cmp213 = icmp eq i32 %conv82, 123 + br i1 %case.cmp213, label %sw.bb270, label %NodeBlock210 + +NodeBlock210: ; preds = %NodeBlock212 + %case.cmp211 = icmp eq i32 %conv82, 125 + br i1 %case.cmp211, label %sw.bb270, label %NodeBlock208 + +NodeBlock208: ; preds = %NodeBlock210 + %case.cmp209 = icmp eq i32 %conv82, 35 + br i1 %case.cmp209, label %sw.bb283, label %NodeBlock206 + +NodeBlock206: ; preds = %NodeBlock208 + %case.cmp207 = icmp eq i32 %conv82, 126 + br i1 %case.cmp207, label %sw.bb283, label %NodeBlock204 + +NodeBlock204: ; preds = %NodeBlock206 + %case.cmp205 = icmp eq i32 %conv82, 32 + br i1 %case.cmp205, label %sw.bb288, label %NodeBlock202 + +NodeBlock202: ; preds = %NodeBlock204 + %case.cmp203 = icmp eq i32 %conv82, 33 + br i1 %case.cmp203, label %sw.bb289, label %NodeBlock200 + +NodeBlock200: ; preds = %NodeBlock202 + %case.cmp201 = icmp eq i32 %conv82, 34 + br i1 %case.cmp201, label %sw.bb289, label %NodeBlock198 + +NodeBlock198: ; preds = %NodeBlock200 + %case.cmp199 = icmp eq i32 %conv82, 36 + br i1 %case.cmp199, label %sw.bb289, label %NodeBlock196 + +NodeBlock196: ; preds = %NodeBlock198 + %case.cmp197 = icmp eq i32 %conv82, 38 + br i1 %case.cmp197, label %sw.bb289, label %NodeBlock194 + +NodeBlock194: ; preds = %NodeBlock196 + %case.cmp195 = icmp eq i32 %conv82, 40 + br i1 %case.cmp195, label %sw.bb289, label %NodeBlock192 + +NodeBlock192: ; preds = %NodeBlock194 + %case.cmp193 = icmp eq i32 %conv82, 41 + br i1 %case.cmp193, label %sw.bb289, label %NodeBlock190 + +NodeBlock190: ; preds = %NodeBlock192 + %case.cmp191 = icmp eq i32 %conv82, 42 + br i1 %case.cmp191, label %sw.bb289, label %NodeBlock188 + +NodeBlock188: ; preds = %NodeBlock190 + %case.cmp189 = icmp eq i32 %conv82, 59 + br i1 %case.cmp189, label %sw.bb289, label %NodeBlock186 + +NodeBlock186: ; preds = %NodeBlock188 + %case.cmp187 = icmp eq i32 %conv82, 60 + br i1 %case.cmp187, label %sw.bb289, label %NodeBlock184 + +NodeBlock184: ; preds = %NodeBlock186 + %case.cmp185 = icmp eq i32 %conv82, 61 + br i1 %case.cmp185, label %sw.bb289, label %NodeBlock182 + +NodeBlock182: ; preds = %NodeBlock184 + %case.cmp183 = icmp eq i32 %conv82, 62 + br i1 %case.cmp183, label %sw.bb289, label %NodeBlock180 + +NodeBlock180: ; preds = %NodeBlock182 + %case.cmp181 = icmp eq i32 %conv82, 91 + br i1 %case.cmp181, label %sw.bb289, label %NodeBlock178 + +NodeBlock178: ; preds = %NodeBlock180 + %case.cmp179 = icmp eq i32 %conv82, 94 + br i1 %case.cmp179, label %sw.bb289, label %NodeBlock176 + +NodeBlock176: ; preds = %NodeBlock178 + %case.cmp177 = icmp eq i32 %conv82, 96 + br i1 %case.cmp177, label %sw.bb289, label %NodeBlock174 + +NodeBlock174: ; preds = %NodeBlock176 + %case.cmp175 = icmp eq i32 %conv82, 124 + br i1 %case.cmp175, label %sw.bb289, label %NodeBlock172 + +NodeBlock172: ; preds = %NodeBlock174 + %case.cmp173 = icmp eq i32 %conv82, 39 + br i1 %case.cmp173, label %sw.bb297, label %NodeBlock170 + +NodeBlock170: ; preds = %NodeBlock172 + %case.cmp171 = icmp eq i32 %conv82, 37 + br i1 %case.cmp171, label %sw.bb334, label %NodeBlock168 + +NodeBlock168: ; preds = %NodeBlock170 + %case.cmp169 = icmp eq i32 %conv82, 43 + br i1 %case.cmp169, label %sw.bb334, label %NodeBlock166 + +NodeBlock166: ; preds = %NodeBlock168 + %case.cmp167 = icmp eq i32 %conv82, 44 + br i1 %case.cmp167, label %sw.bb334, label %NodeBlock164 + +NodeBlock164: ; preds = %NodeBlock166 + %case.cmp165 = icmp eq i32 %conv82, 45 + br i1 %case.cmp165, label %sw.bb334, label %NodeBlock162 + +NodeBlock162: ; preds = %NodeBlock164 + %case.cmp163 = icmp eq i32 %conv82, 46 + br i1 %case.cmp163, label %sw.bb334, label %NodeBlock160 + +NodeBlock160: ; preds = %NodeBlock162 + %case.cmp161 = icmp eq i32 %conv82, 47 + br i1 %case.cmp161, label %sw.bb334, label %NodeBlock158 + +NodeBlock158: ; preds = %NodeBlock160 + %case.cmp159 = icmp eq i32 %conv82, 48 + br i1 %case.cmp159, label %sw.bb334, label %NodeBlock156 + +NodeBlock156: ; preds = %NodeBlock158 + %case.cmp157 = icmp eq i32 %conv82, 49 + br i1 %case.cmp157, label %sw.bb334, label %NodeBlock154 + +NodeBlock154: ; preds = %NodeBlock156 + %case.cmp155 = icmp eq i32 %conv82, 50 + br i1 %case.cmp155, label %sw.bb334, label %NodeBlock152 + +NodeBlock152: ; preds = %NodeBlock154 + %case.cmp153 = icmp eq i32 %conv82, 51 + br i1 %case.cmp153, label %sw.bb334, label %NodeBlock150 + +NodeBlock150: ; preds = %NodeBlock152 + %case.cmp151 = icmp eq i32 %conv82, 52 + br i1 %case.cmp151, label %sw.bb334, label %NodeBlock148 + +NodeBlock148: ; preds = %NodeBlock150 + %case.cmp149 = icmp eq i32 %conv82, 53 + br i1 %case.cmp149, label %sw.bb334, label %NodeBlock146 + +NodeBlock146: ; preds = %NodeBlock148 + %case.cmp147 = icmp eq i32 %conv82, 54 + br i1 %case.cmp147, label %sw.bb334, label %NodeBlock144 + +NodeBlock144: ; preds = %NodeBlock146 + %case.cmp145 = icmp eq i32 %conv82, 55 + br i1 %case.cmp145, label %sw.bb334, label %NodeBlock142 + +NodeBlock142: ; preds = %NodeBlock144 + %case.cmp143 = icmp eq i32 %conv82, 56 + br i1 %case.cmp143, label %sw.bb334, label %NodeBlock140 + +NodeBlock140: ; preds = %NodeBlock142 + %case.cmp141 = icmp eq i32 %conv82, 57 + br i1 %case.cmp141, label %sw.bb334, label %NodeBlock138 + +NodeBlock138: ; preds = %NodeBlock140 + %case.cmp139 = icmp eq i32 %conv82, 58 + br i1 %case.cmp139, label %sw.bb334, label %NodeBlock136 + +NodeBlock136: ; preds = %NodeBlock138 + %case.cmp137 = icmp eq i32 %conv82, 65 + br i1 %case.cmp137, label %sw.bb334, label %NodeBlock134 + +NodeBlock134: ; preds = %NodeBlock136 + %case.cmp135 = icmp eq i32 %conv82, 66 + br i1 %case.cmp135, label %sw.bb334, label %NodeBlock132 + +NodeBlock132: ; preds = %NodeBlock134 + %case.cmp133 = icmp eq i32 %conv82, 67 + br i1 %case.cmp133, label %sw.bb334, label %NodeBlock130 + +NodeBlock130: ; preds = %NodeBlock132 + %case.cmp131 = icmp eq i32 %conv82, 68 + br i1 %case.cmp131, label %sw.bb334, label %NodeBlock128 + +NodeBlock128: ; preds = %NodeBlock130 + %case.cmp129 = icmp eq i32 %conv82, 69 + br i1 %case.cmp129, label %sw.bb334, label %NodeBlock126 + +NodeBlock126: ; preds = %NodeBlock128 + %case.cmp127 = icmp eq i32 %conv82, 70 + br i1 %case.cmp127, label %sw.bb334, label %NodeBlock124 + +NodeBlock124: ; preds = %NodeBlock126 + %case.cmp125 = icmp eq i32 %conv82, 71 + br i1 %case.cmp125, label %sw.bb334, label %NodeBlock122 + +NodeBlock122: ; preds = %NodeBlock124 + %case.cmp123 = icmp eq i32 %conv82, 72 + br i1 %case.cmp123, label %sw.bb334, label %NodeBlock120 + +NodeBlock120: ; preds = %NodeBlock122 + %case.cmp121 = icmp eq i32 %conv82, 73 + br i1 %case.cmp121, label %sw.bb334, label %NodeBlock118 + +NodeBlock118: ; preds = %NodeBlock120 + %case.cmp119 = icmp eq i32 %conv82, 74 + br i1 %case.cmp119, label %sw.bb334, label %NodeBlock116 + +NodeBlock116: ; preds = %NodeBlock118 + %case.cmp117 = icmp eq i32 %conv82, 75 + br i1 %case.cmp117, label %sw.bb334, label %NodeBlock114 + +NodeBlock114: ; preds = %NodeBlock116 + %case.cmp115 = icmp eq i32 %conv82, 76 + br i1 %case.cmp115, label %sw.bb334, label %NodeBlock112 + +NodeBlock112: ; preds = %NodeBlock114 + %case.cmp113 = icmp eq i32 %conv82, 77 + br i1 %case.cmp113, label %sw.bb334, label %NodeBlock110 + +NodeBlock110: ; preds = %NodeBlock112 + %case.cmp111 = icmp eq i32 %conv82, 78 + br i1 %case.cmp111, label %sw.bb334, label %NodeBlock108 + +NodeBlock108: ; preds = %NodeBlock110 + %case.cmp109 = icmp eq i32 %conv82, 79 + br i1 %case.cmp109, label %sw.bb334, label %NodeBlock106 + +NodeBlock106: ; preds = %NodeBlock108 + %case.cmp107 = icmp eq i32 %conv82, 80 + br i1 %case.cmp107, label %sw.bb334, label %NodeBlock104 + +NodeBlock104: ; preds = %NodeBlock106 + %case.cmp105 = icmp eq i32 %conv82, 81 + br i1 %case.cmp105, label %sw.bb334, label %NodeBlock102 + +NodeBlock102: ; preds = %NodeBlock104 + %case.cmp103 = icmp eq i32 %conv82, 82 + br i1 %case.cmp103, label %sw.bb334, label %NodeBlock100 + +NodeBlock100: ; preds = %NodeBlock102 + %case.cmp101 = icmp eq i32 %conv82, 83 + br i1 %case.cmp101, label %sw.bb334, label %NodeBlock98 + +NodeBlock98: ; preds = %NodeBlock100 + %case.cmp99 = icmp eq i32 %conv82, 84 + br i1 %case.cmp99, label %sw.bb334, label %NodeBlock96 + +NodeBlock96: ; preds = %NodeBlock98 + %case.cmp97 = icmp eq i32 %conv82, 85 + br i1 %case.cmp97, label %sw.bb334, label %NodeBlock94 + +NodeBlock94: ; preds = %NodeBlock96 + %case.cmp95 = icmp eq i32 %conv82, 86 + br i1 %case.cmp95, label %sw.bb334, label %NodeBlock92 + +NodeBlock92: ; preds = %NodeBlock94 + %case.cmp93 = icmp eq i32 %conv82, 87 + br i1 %case.cmp93, label %sw.bb334, label %NodeBlock90 + +NodeBlock90: ; preds = %NodeBlock92 + %case.cmp91 = icmp eq i32 %conv82, 88 + br i1 %case.cmp91, label %sw.bb334, label %NodeBlock88 + +NodeBlock88: ; preds = %NodeBlock90 + %case.cmp89 = icmp eq i32 %conv82, 89 + br i1 %case.cmp89, label %sw.bb334, label %NodeBlock86 + +NodeBlock86: ; preds = %NodeBlock88 + %case.cmp87 = icmp eq i32 %conv82, 90 + br i1 %case.cmp87, label %sw.bb334, label %NodeBlock84 + +NodeBlock84: ; preds = %NodeBlock86 + %case.cmp85 = icmp eq i32 %conv82, 93 + br i1 %case.cmp85, label %sw.bb334, label %NodeBlock82 + +NodeBlock82: ; preds = %NodeBlock84 + %case.cmp83 = icmp eq i32 %conv82, 95 + br i1 %case.cmp83, label %sw.bb334, label %NodeBlock80 + +NodeBlock80: ; preds = %NodeBlock82 + %case.cmp81 = icmp eq i32 %conv82, 97 + br i1 %case.cmp81, label %sw.bb334, label %NodeBlock78 + +NodeBlock78: ; preds = %NodeBlock80 + %case.cmp79 = icmp eq i32 %conv82, 98 + br i1 %case.cmp79, label %sw.bb334, label %NodeBlock76 + +NodeBlock76: ; preds = %NodeBlock78 + %case.cmp77 = icmp eq i32 %conv82, 99 + br i1 %case.cmp77, label %sw.bb334, label %NodeBlock74 + +NodeBlock74: ; preds = %NodeBlock76 + %case.cmp75 = icmp eq i32 %conv82, 100 + br i1 %case.cmp75, label %sw.bb334, label %NodeBlock72 + +NodeBlock72: ; preds = %NodeBlock74 + %case.cmp73 = icmp eq i32 %conv82, 101 + br i1 %case.cmp73, label %sw.bb334, label %NodeBlock70 + +NodeBlock70: ; preds = %NodeBlock72 + %case.cmp71 = icmp eq i32 %conv82, 102 + br i1 %case.cmp71, label %sw.bb334, label %NodeBlock68 + +NodeBlock68: ; preds = %NodeBlock70 + %case.cmp69 = icmp eq i32 %conv82, 103 + br i1 %case.cmp69, label %sw.bb334, label %NodeBlock66 + +NodeBlock66: ; preds = %NodeBlock68 + %case.cmp67 = icmp eq i32 %conv82, 104 + br i1 %case.cmp67, label %sw.bb334, label %NodeBlock64 + +NodeBlock64: ; preds = %NodeBlock66 + %case.cmp65 = icmp eq i32 %conv82, 105 + br i1 %case.cmp65, label %sw.bb334, label %NodeBlock62 + +NodeBlock62: ; preds = %NodeBlock64 + %case.cmp63 = icmp eq i32 %conv82, 106 + br i1 %case.cmp63, label %sw.bb334, label %NodeBlock60 + +NodeBlock60: ; preds = %NodeBlock62 + %case.cmp61 = icmp eq i32 %conv82, 107 + br i1 %case.cmp61, label %sw.bb334, label %NodeBlock58 + +NodeBlock58: ; preds = %NodeBlock60 + %case.cmp59 = icmp eq i32 %conv82, 108 + br i1 %case.cmp59, label %sw.bb334, label %NodeBlock56 + +NodeBlock56: ; preds = %NodeBlock58 + %case.cmp57 = icmp eq i32 %conv82, 109 + br i1 %case.cmp57, label %sw.bb334, label %NodeBlock54 + +NodeBlock54: ; preds = %NodeBlock56 + %case.cmp55 = icmp eq i32 %conv82, 110 + br i1 %case.cmp55, label %sw.bb334, label %NodeBlock52 + +NodeBlock52: ; preds = %NodeBlock54 + %case.cmp53 = icmp eq i32 %conv82, 111 + br i1 %case.cmp53, label %sw.bb334, label %NodeBlock50 + +NodeBlock50: ; preds = %NodeBlock52 + %case.cmp51 = icmp eq i32 %conv82, 112 + br i1 %case.cmp51, label %sw.bb334, label %NodeBlock48 + +NodeBlock48: ; preds = %NodeBlock50 + %case.cmp49 = icmp eq i32 %conv82, 113 + br i1 %case.cmp49, label %sw.bb334, label %NodeBlock46 + +NodeBlock46: ; preds = %NodeBlock48 + %case.cmp47 = icmp eq i32 %conv82, 114 + br i1 %case.cmp47, label %sw.bb334, label %NodeBlock44 + +NodeBlock44: ; preds = %NodeBlock46 + %case.cmp45 = icmp eq i32 %conv82, 115 + br i1 %case.cmp45, label %sw.bb334, label %NodeBlock42 + +NodeBlock42: ; preds = %NodeBlock44 + %case.cmp43 = icmp eq i32 %conv82, 116 + br i1 %case.cmp43, label %sw.bb334, label %NodeBlock40 + +NodeBlock40: ; preds = %NodeBlock42 + %case.cmp41 = icmp eq i32 %conv82, 117 + br i1 %case.cmp41, label %sw.bb334, label %NodeBlock38 + +NodeBlock38: ; preds = %NodeBlock40 + %case.cmp39 = icmp eq i32 %conv82, 118 + br i1 %case.cmp39, label %sw.bb334, label %NodeBlock36 + +NodeBlock36: ; preds = %NodeBlock38 + %case.cmp37 = icmp eq i32 %conv82, 119 + br i1 %case.cmp37, label %sw.bb334, label %NodeBlock34 + +NodeBlock34: ; preds = %NodeBlock36 + %case.cmp35 = icmp eq i32 %conv82, 120 + br i1 %case.cmp35, label %sw.bb334, label %NodeBlock32 + +NodeBlock32: ; preds = %NodeBlock34 + %case.cmp33 = icmp eq i32 %conv82, 121 + br i1 %case.cmp33, label %sw.bb334, label %NodeBlock30 + +NodeBlock30: ; preds = %NodeBlock32 + %case.cmp31 = icmp eq i32 %conv82, 122 + br i1 %case.cmp31, label %sw.bb334, label %newDefault29 + +sw.bb83: ; preds = %NodeBlock232 + %56 = load i8, i8* %backslash_escapes, align 1 + %tobool84 = trunc i8 %56 to i1 + br i1 %tobool84, label %do.body86, label %if.else + +do.body86: ; preds = %sw.bb83 + %57 = load i8, i8* %elide_outer_quotes, align 1 + %tobool87 = trunc i8 %57 to i1 + br i1 %tobool87, label %force_outer_quoting_style, label %if.end89 + +if.end89: ; preds = %do.body86 + store i8 1, i8* %escaping, align 1 + %58 = load i32, i32* %quoting_style.addr, align 4 + %cmp90 = icmp eq i32 %58, 2 + br i1 %cmp90, label %land.lhs.true92, label %do.body120 + +land.lhs.true92: ; preds = %if.end89 + %59 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool93 = trunc i8 %59 to i1 + br i1 %tobool93, label %do.body120, label %do.body95 + +do.body95: ; preds = %land.lhs.true92 + %60 = load i64, i64* %len, align 8 + %61 = load i64, i64* %buffersize.addr, align 8 + %cmp96 = icmp ult i64 %60, %61 + br i1 %cmp96, label %if.then98, label %if.end100 + +if.then98: ; preds = %do.body95 + %62 = load i8*, i8** %buffer.addr, align 8 + %63 = load i64, i64* %len, align 8 + %arrayidx99 = getelementptr inbounds i8, i8* %62, i64 %63 + store i8 39, i8* %arrayidx99, align 1 + br label %if.end100 + +if.end100: ; preds = %if.then98, %do.body95 + %64 = load i64, i64* %len, align 8 + %inc101 = add i64 %64, 1 + store i64 %inc101, i64* %len, align 8 + %65 = load i64, i64* %len, align 8 + %66 = load i64, i64* %buffersize.addr, align 8 + %cmp104 = icmp ult i64 %65, %66 + br i1 %cmp104, label %if.then106, label %if.end108 + +if.then106: ; preds = %if.end100 + %67 = load i8*, i8** %buffer.addr, align 8 + %68 = load i64, i64* %len, align 8 + %arrayidx107 = getelementptr inbounds i8, i8* %67, i64 %68 + store i8 36, i8* %arrayidx107, align 1 + br label %if.end108 + +if.end108: ; preds = %if.then106, %if.end100 + %69 = load i64, i64* %len, align 8 + %inc109 = add i64 %69, 1 + store i64 %inc109, i64* %len, align 8 + %70 = load i64, i64* %len, align 8 + %71 = load i64, i64* %buffersize.addr, align 8 + %cmp112 = icmp ult i64 %70, %71 + br i1 %cmp112, label %if.then114, label %if.end116 + +if.then114: ; preds = %if.end108 + %72 = load i8*, i8** %buffer.addr, align 8 + %73 = load i64, i64* %len, align 8 + %arrayidx115 = getelementptr inbounds i8, i8* %72, i64 %73 + store i8 39, i8* %arrayidx115, align 1 + br label %if.end116 + +if.end116: ; preds = %if.then114, %if.end108 + %74 = load i64, i64* %len, align 8 + %inc117 = add i64 %74, 1 + store i64 %inc117, i64* %len, align 8 + store i8 1, i8* %pending_shell_escape_end, align 1 + br label %do.body120 + +do.body120: ; preds = %if.end89, %land.lhs.true92, %if.end116 + %75 = load i64, i64* %len, align 8 + %76 = load i64, i64* %buffersize.addr, align 8 + %cmp121 = icmp ult i64 %75, %76 + br i1 %cmp121, label %if.then123, label %if.end125 + +if.then123: ; preds = %do.body120 + %77 = load i8*, i8** %buffer.addr, align 8 + %78 = load i64, i64* %len, align 8 + %arrayidx124 = getelementptr inbounds i8, i8* %77, i64 %78 + store i8 92, i8* %arrayidx124, align 1 + br label %if.end125 + +if.end125: ; preds = %if.then123, %do.body120 + %79 = load i64, i64* %len, align 8 + %inc126 = add i64 %79, 1 + store i64 %inc126, i64* %len, align 8 + %80 = load i32, i32* %quoting_style.addr, align 4 + %cmp129 = icmp ne i32 %80, 2 + br i1 %cmp129, label %land.lhs.true131, label %if.end164 + +land.lhs.true131: ; preds = %if.end125 + %81 = load i64, i64* %i, align 8 + %add132 = add i64 %81, 1 + %82 = load i64, i64* %argsize.addr, align 8 + %cmp133 = icmp ult i64 %add132, %82 + br i1 %cmp133, label %land.lhs.true135, label %if.end164 + +land.lhs.true135: ; preds = %land.lhs.true131 + %83 = load i8*, i8** %arg.addr, align 8 + %84 = load i64, i64* %i, align 8 + %add136 = add i64 %84, 1 + %arrayidx137 = getelementptr inbounds i8, i8* %83, i64 %add136 + %85 = load i8, i8* %arrayidx137, align 1 + %conv138 = sext i8 %85 to i32 + %cmp139 = icmp sle i32 48, %conv138 + br i1 %cmp139, label %land.lhs.true141, label %if.end164 + +land.lhs.true141: ; preds = %land.lhs.true135 + %86 = load i8*, i8** %arg.addr, align 8 + %87 = load i64, i64* %i, align 8 + %add142 = add i64 %87, 1 + %arrayidx143 = getelementptr inbounds i8, i8* %86, i64 %add142 + %88 = load i8, i8* %arrayidx143, align 1 + %conv144 = sext i8 %88 to i32 + %cmp145 = icmp sle i32 %conv144, 57 + br i1 %cmp145, label %do.body148, label %if.end164 + +do.body148: ; preds = %land.lhs.true141 + %89 = load i64, i64* %len, align 8 + %90 = load i64, i64* %buffersize.addr, align 8 + %cmp149 = icmp ult i64 %89, %90 + br i1 %cmp149, label %if.then151, label %if.end153 + +if.then151: ; preds = %do.body148 + %91 = load i8*, i8** %buffer.addr, align 8 + %92 = load i64, i64* %len, align 8 + %arrayidx152 = getelementptr inbounds i8, i8* %91, i64 %92 + store i8 48, i8* %arrayidx152, align 1 + br label %if.end153 + +if.end153: ; preds = %if.then151, %do.body148 + %93 = load i64, i64* %len, align 8 + %inc154 = add i64 %93, 1 + store i64 %inc154, i64* %len, align 8 + %94 = load i64, i64* %len, align 8 + %95 = load i64, i64* %buffersize.addr, align 8 + %cmp157 = icmp ult i64 %94, %95 + br i1 %cmp157, label %if.then159, label %if.end161 + +if.then159: ; preds = %if.end153 + %96 = load i8*, i8** %buffer.addr, align 8 + %97 = load i64, i64* %len, align 8 + %arrayidx160 = getelementptr inbounds i8, i8* %96, i64 %97 + store i8 48, i8* %arrayidx160, align 1 + br label %if.end161 + +if.end161: ; preds = %if.then159, %if.end153 + %98 = load i64, i64* %len, align 8 + %inc162 = add i64 %98, 1 + store i64 %inc162, i64* %len, align 8 + br label %if.end164 + +if.end164: ; preds = %if.end161, %land.lhs.true141, %land.lhs.true135, %land.lhs.true131, %if.end125 + store i8 48, i8* %c, align 1 + br label %sw.epilog564 + +if.else: ; preds = %sw.bb83 + %99 = load i32, i32* %flags.addr, align 4 + %and165 = and i32 %99, 1 + %tobool166 = icmp ne i32 %and165, 0 + br i1 %tobool166, label %for.inc673, label %sw.epilog564 + +sw.bb170: ; preds = %NodeBlock230 + %100 = load i32, i32* %quoting_style.addr, align 4 + br label %NodeBlock237 + +NodeBlock237: ; preds = %sw.bb170 + %case.cmp238 = icmp eq i32 %100, 2 + br i1 %case.cmp238, label %sw.bb171, label %NodeBlock235 + +NodeBlock235: ; preds = %NodeBlock237 + %case.cmp236 = icmp eq i32 %100, 5 + br i1 %case.cmp236, label %sw.bb175, label %newDefault234 + +sw.bb171: ; preds = %NodeBlock237 + %101 = load i8, i8* %elide_outer_quotes, align 1 + %tobool172 = trunc i8 %101 to i1 + br i1 %tobool172, label %force_outer_quoting_style, label %sw.epilog564 + +sw.bb175: ; preds = %NodeBlock235 + %102 = load i32, i32* %flags.addr, align 4 + %and176 = and i32 %102, 4 + %tobool177 = icmp ne i32 %and176, 0 + br i1 %tobool177, label %land.lhs.true178, label %sw.epilog564 + +land.lhs.true178: ; preds = %sw.bb175 + %103 = load i64, i64* %i, align 8 + %add179 = add i64 %103, 2 + %104 = load i64, i64* %argsize.addr, align 8 + %cmp180 = icmp ult i64 %add179, %104 + br i1 %cmp180, label %land.lhs.true182, label %sw.epilog564 + +land.lhs.true182: ; preds = %land.lhs.true178 + %105 = load i8*, i8** %arg.addr, align 8 + %106 = load i64, i64* %i, align 8 + %add183 = add i64 %106, 1 + %arrayidx184 = getelementptr inbounds i8, i8* %105, i64 %add183 + %107 = load i8, i8* %arrayidx184, align 1 + %conv185 = sext i8 %107 to i32 + %cmp186 = icmp eq i32 %conv185, 63 + br i1 %cmp186, label %if.then188, label %sw.epilog564 + +if.then188: ; preds = %land.lhs.true182 + %108 = load i8*, i8** %arg.addr, align 8 + %109 = load i64, i64* %i, align 8 + %add189 = add i64 %109, 2 + %arrayidx190 = getelementptr inbounds i8, i8* %108, i64 %add189 + %110 = load i8, i8* %arrayidx190, align 1 + %conv191 = sext i8 %110 to i32 + br label %NodeBlock256 + +NodeBlock256: ; preds = %if.then188 + %case.cmp257 = icmp eq i32 %conv191, 33 + br i1 %case.cmp257, label %sw.bb192, label %NodeBlock254 + +NodeBlock254: ; preds = %NodeBlock256 + %case.cmp255 = icmp eq i32 %conv191, 39 + br i1 %case.cmp255, label %sw.bb192, label %NodeBlock252 + +NodeBlock252: ; preds = %NodeBlock254 + %case.cmp253 = icmp eq i32 %conv191, 40 + br i1 %case.cmp253, label %sw.bb192, label %NodeBlock250 + +NodeBlock250: ; preds = %NodeBlock252 + %case.cmp251 = icmp eq i32 %conv191, 41 + br i1 %case.cmp251, label %sw.bb192, label %NodeBlock248 + +NodeBlock248: ; preds = %NodeBlock250 + %case.cmp249 = icmp eq i32 %conv191, 45 + br i1 %case.cmp249, label %sw.bb192, label %NodeBlock246 + +NodeBlock246: ; preds = %NodeBlock248 + %case.cmp247 = icmp eq i32 %conv191, 47 + br i1 %case.cmp247, label %sw.bb192, label %NodeBlock244 + +NodeBlock244: ; preds = %NodeBlock246 + %case.cmp245 = icmp eq i32 %conv191, 60 + br i1 %case.cmp245, label %sw.bb192, label %NodeBlock242 + +NodeBlock242: ; preds = %NodeBlock244 + %case.cmp243 = icmp eq i32 %conv191, 61 + br i1 %case.cmp243, label %sw.bb192, label %NodeBlock240 + +NodeBlock240: ; preds = %NodeBlock242 + %case.cmp241 = icmp eq i32 %conv191, 62 + br i1 %case.cmp241, label %sw.bb192, label %newDefault239 + +sw.bb192: ; preds = %NodeBlock256, %NodeBlock254, %NodeBlock252, %NodeBlock250, %NodeBlock248, %NodeBlock246, %NodeBlock244, %NodeBlock242, %NodeBlock240 + %111 = load i8, i8* %elide_outer_quotes, align 1 + %tobool193 = trunc i8 %111 to i1 + br i1 %tobool193, label %force_outer_quoting_style, label %if.end195 + +if.end195: ; preds = %sw.bb192 + %112 = load i8*, i8** %arg.addr, align 8 + %113 = load i64, i64* %i, align 8 + %add196 = add i64 %113, 2 + %arrayidx197 = getelementptr inbounds i8, i8* %112, i64 %add196 + %114 = load i8, i8* %arrayidx197, align 1 + store i8 %114, i8* %c, align 1 + %115 = load i64, i64* %i, align 8 + %add198 = add i64 %115, 2 + store i64 %add198, i64* %i, align 8 + %116 = load i64, i64* %len, align 8 + %117 = load i64, i64* %buffersize.addr, align 8 + %cmp200 = icmp ult i64 %116, %117 + br i1 %cmp200, label %if.then202, label %if.end204 + +if.then202: ; preds = %if.end195 + %118 = load i8*, i8** %buffer.addr, align 8 + %119 = load i64, i64* %len, align 8 + %arrayidx203 = getelementptr inbounds i8, i8* %118, i64 %119 + store i8 63, i8* %arrayidx203, align 1 + br label %if.end204 + +if.end204: ; preds = %if.then202, %if.end195 + %120 = load i64, i64* %len, align 8 + %inc205 = add i64 %120, 1 + store i64 %inc205, i64* %len, align 8 + %121 = load i64, i64* %len, align 8 + %122 = load i64, i64* %buffersize.addr, align 8 + %cmp208 = icmp ult i64 %121, %122 + br i1 %cmp208, label %if.then210, label %if.end212 + +if.then210: ; preds = %if.end204 + %123 = load i8*, i8** %buffer.addr, align 8 + %124 = load i64, i64* %len, align 8 + %arrayidx211 = getelementptr inbounds i8, i8* %123, i64 %124 + store i8 34, i8* %arrayidx211, align 1 + br label %if.end212 + +if.end212: ; preds = %if.then210, %if.end204 + %125 = load i64, i64* %len, align 8 + %inc213 = add i64 %125, 1 + store i64 %inc213, i64* %len, align 8 + %126 = load i64, i64* %len, align 8 + %127 = load i64, i64* %buffersize.addr, align 8 + %cmp216 = icmp ult i64 %126, %127 + br i1 %cmp216, label %if.then218, label %if.end220 + +if.then218: ; preds = %if.end212 + %128 = load i8*, i8** %buffer.addr, align 8 + %129 = load i64, i64* %len, align 8 + %arrayidx219 = getelementptr inbounds i8, i8* %128, i64 %129 + store i8 34, i8* %arrayidx219, align 1 + br label %if.end220 + +if.end220: ; preds = %if.then218, %if.end212 + %130 = load i64, i64* %len, align 8 + %inc221 = add i64 %130, 1 + store i64 %inc221, i64* %len, align 8 + %131 = load i64, i64* %len, align 8 + %132 = load i64, i64* %buffersize.addr, align 8 + %cmp224 = icmp ult i64 %131, %132 + br i1 %cmp224, label %if.then226, label %if.end228 + +if.then226: ; preds = %if.end220 + %133 = load i8*, i8** %buffer.addr, align 8 + %134 = load i64, i64* %len, align 8 + %arrayidx227 = getelementptr inbounds i8, i8* %133, i64 %134 + store i8 63, i8* %arrayidx227, align 1 + br label %if.end228 + +if.end228: ; preds = %if.then226, %if.end220 + %135 = load i64, i64* %len, align 8 + %inc229 = add i64 %135, 1 + store i64 %inc229, i64* %len, align 8 + br label %sw.epilog564 + +sw.bb236: ; preds = %NodeBlock228 + store i8 97, i8* %esc, align 1 + br label %c_escape + +sw.bb237: ; preds = %NodeBlock226 + store i8 98, i8* %esc, align 1 + br label %c_escape + +sw.bb238: ; preds = %NodeBlock224 + store i8 102, i8* %esc, align 1 + br label %c_escape + +sw.bb239: ; preds = %NodeBlock222 + store i8 110, i8* %esc, align 1 + br label %c_and_shell_escape + +sw.bb240: ; preds = %NodeBlock220 + store i8 114, i8* %esc, align 1 + br label %c_and_shell_escape + +sw.bb241: ; preds = %NodeBlock218 + store i8 116, i8* %esc, align 1 + br label %c_and_shell_escape + +sw.bb242: ; preds = %NodeBlock216 + store i8 118, i8* %esc, align 1 + br label %c_escape + +sw.bb243: ; preds = %NodeBlock214 + %136 = load i8, i8* %c, align 1 + store i8 %136, i8* %esc, align 1 + %137 = load i32, i32* %quoting_style.addr, align 4 + %cmp244 = icmp eq i32 %137, 2 + br i1 %cmp244, label %if.then246, label %if.end250 + +if.then246: ; preds = %sw.bb243 + %138 = load i8, i8* %elide_outer_quotes, align 1 + %tobool247 = trunc i8 %138 to i1 + br i1 %tobool247, label %force_outer_quoting_style, label %do.body634 + +if.end250: ; preds = %sw.bb243 + %139 = load i8, i8* %backslash_escapes, align 1 + %tobool251 = trunc i8 %139 to i1 + br i1 %tobool251, label %land.lhs.true253, label %c_and_shell_escape + +land.lhs.true253: ; preds = %if.end250 + %140 = load i8, i8* %elide_outer_quotes, align 1 + %tobool254 = trunc i8 %140 to i1 + %141 = load i64, i64* %quote_string_len, align 8 + %tobool257 = icmp ne i64 %141, 0 + %or.cond3 = and i1 %tobool254, %tobool257 + br i1 %or.cond3, label %do.body634, label %c_and_shell_escape + +c_and_shell_escape: ; preds = %if.end250, %land.lhs.true253, %sw.bb241, %sw.bb240, %sw.bb239 + %142 = load i32, i32* %quoting_style.addr, align 4 + %cmp260 = icmp eq i32 %142, 2 + br i1 %cmp260, label %land.lhs.true262, label %c_escape + +land.lhs.true262: ; preds = %c_and_shell_escape + %143 = load i8, i8* %elide_outer_quotes, align 1 + %tobool263 = trunc i8 %143 to i1 + br i1 %tobool263, label %force_outer_quoting_style, label %c_escape + +c_escape: ; preds = %c_and_shell_escape, %land.lhs.true262, %sw.bb242, %sw.bb238, %sw.bb237, %sw.bb236 + %144 = load i8, i8* %backslash_escapes, align 1 + %tobool267 = trunc i8 %144 to i1 + br i1 %tobool267, label %if.then268, label %sw.epilog564 + +if.then268: ; preds = %c_escape + %145 = load i8, i8* %esc, align 1 + store i8 %145, i8* %c, align 1 + br label %do.body586 + +sw.bb270: ; preds = %NodeBlock212, %NodeBlock210 + %146 = load i64, i64* %argsize.addr, align 8 + %cmp271 = icmp eq i64 %146, -1 + br i1 %cmp271, label %cond.true273, label %cond.false278 + +cond.true273: ; preds = %sw.bb270 + %147 = load i8*, i8** %arg.addr, align 8 + %arrayidx274 = getelementptr inbounds i8, i8* %147, i64 1 + %148 = load i8, i8* %arrayidx274, align 1 + %conv275 = sext i8 %148 to i32 + %cmp276 = icmp eq i32 %conv275, 0 + br i1 %cmp276, label %sw.bb283, label %sw.epilog564 + +cond.false278: ; preds = %sw.bb270 + %149 = load i64, i64* %argsize.addr, align 8 + %cmp279 = icmp eq i64 %149, 1 + br i1 %cmp279, label %sw.bb283, label %sw.epilog564 + +sw.bb283: ; preds = %NodeBlock208, %NodeBlock206, %cond.true273, %cond.false278 + %150 = load i64, i64* %i, align 8 + %cmp284 = icmp ne i64 %150, 0 + br i1 %cmp284, label %sw.epilog564, label %sw.bb288 + +sw.bb288: ; preds = %NodeBlock204, %sw.bb283 + store i8 1, i8* %c_and_shell_quote_compat, align 1 + br label %sw.bb289 + +sw.bb289: ; preds = %NodeBlock202, %NodeBlock200, %NodeBlock198, %NodeBlock196, %NodeBlock194, %NodeBlock192, %NodeBlock190, %NodeBlock188, %NodeBlock186, %NodeBlock184, %NodeBlock182, %NodeBlock180, %NodeBlock178, %NodeBlock176, %NodeBlock174, %sw.bb288 + %151 = load i32, i32* %quoting_style.addr, align 4 + %cmp290 = icmp eq i32 %151, 2 + br i1 %cmp290, label %land.lhs.true292, label %sw.epilog564 + +land.lhs.true292: ; preds = %sw.bb289 + %152 = load i8, i8* %elide_outer_quotes, align 1 + %tobool293 = trunc i8 %152 to i1 + br i1 %tobool293, label %force_outer_quoting_style, label %sw.epilog564 + +sw.bb297: ; preds = %NodeBlock172 + store i8 1, i8* %encountered_single_quote, align 1 + store i8 1, i8* %c_and_shell_quote_compat, align 1 + %153 = load i32, i32* %quoting_style.addr, align 4 + %cmp298 = icmp eq i32 %153, 2 + br i1 %cmp298, label %if.then300, label %sw.epilog564 + +if.then300: ; preds = %sw.bb297 + %154 = load i8, i8* %elide_outer_quotes, align 1 + %tobool301 = trunc i8 %154 to i1 + br i1 %tobool301, label %force_outer_quoting_style, label %if.end303 + +if.end303: ; preds = %if.then300 + %155 = load i64, i64* %buffersize.addr, align 8 + %tobool304 = icmp eq i64 %155, 0 + %156 = load i64, i64* %orig_buffersize, align 8 + %tobool306 = icmp ne i64 %156, 0 + %or.cond4 = or i1 %tobool304, %tobool306 + br i1 %or.cond4, label %do.body309, label %if.then307 + +if.then307: ; preds = %if.end303 + %157 = load i64, i64* %buffersize.addr, align 8 + store i64 %157, i64* %orig_buffersize, align 8 + store i64 0, i64* %buffersize.addr, align 8 + br label %do.body309 + +do.body309: ; preds = %if.then307, %if.end303 + %158 = load i64, i64* %len, align 8 + %159 = load i64, i64* %buffersize.addr, align 8 + %cmp310 = icmp ult i64 %158, %159 + br i1 %cmp310, label %if.then312, label %if.end314 + +if.then312: ; preds = %do.body309 + %160 = load i8*, i8** %buffer.addr, align 8 + %161 = load i64, i64* %len, align 8 + %arrayidx313 = getelementptr inbounds i8, i8* %160, i64 %161 + store i8 39, i8* %arrayidx313, align 1 + br label %if.end314 + +if.end314: ; preds = %if.then312, %do.body309 + %162 = load i64, i64* %len, align 8 + %inc315 = add i64 %162, 1 + store i64 %inc315, i64* %len, align 8 + %163 = load i64, i64* %len, align 8 + %164 = load i64, i64* %buffersize.addr, align 8 + %cmp318 = icmp ult i64 %163, %164 + br i1 %cmp318, label %if.then320, label %if.end322 + +if.then320: ; preds = %if.end314 + %165 = load i8*, i8** %buffer.addr, align 8 + %166 = load i64, i64* %len, align 8 + %arrayidx321 = getelementptr inbounds i8, i8* %165, i64 %166 + store i8 92, i8* %arrayidx321, align 1 + br label %if.end322 + +if.end322: ; preds = %if.then320, %if.end314 + %167 = load i64, i64* %len, align 8 + %inc323 = add i64 %167, 1 + store i64 %inc323, i64* %len, align 8 + %168 = load i64, i64* %len, align 8 + %169 = load i64, i64* %buffersize.addr, align 8 + %cmp326 = icmp ult i64 %168, %169 + br i1 %cmp326, label %if.then328, label %if.end330 + +if.then328: ; preds = %if.end322 + %170 = load i8*, i8** %buffer.addr, align 8 + %171 = load i64, i64* %len, align 8 + %arrayidx329 = getelementptr inbounds i8, i8* %170, i64 %171 + store i8 39, i8* %arrayidx329, align 1 + br label %if.end330 + +if.end330: ; preds = %if.then328, %if.end322 + %172 = load i64, i64* %len, align 8 + %inc331 = add i64 %172, 1 + store i64 %inc331, i64* %len, align 8 + store i8 0, i8* %pending_shell_escape_end, align 1 + br label %sw.epilog564 + +sw.bb334: ; preds = %NodeBlock170, %NodeBlock168, %NodeBlock166, %NodeBlock164, %NodeBlock162, %NodeBlock160, %NodeBlock158, %NodeBlock156, %NodeBlock154, %NodeBlock152, %NodeBlock150, %NodeBlock148, %NodeBlock146, %NodeBlock144, %NodeBlock142, %NodeBlock140, %NodeBlock138, %NodeBlock136, %NodeBlock134, %NodeBlock132, %NodeBlock130, %NodeBlock128, %NodeBlock126, %NodeBlock124, %NodeBlock122, %NodeBlock120, %NodeBlock118, %NodeBlock116, %NodeBlock114, %NodeBlock112, %NodeBlock110, %NodeBlock108, %NodeBlock106, %NodeBlock104, %NodeBlock102, %NodeBlock100, %NodeBlock98, %NodeBlock96, %NodeBlock94, %NodeBlock92, %NodeBlock90, %NodeBlock88, %NodeBlock86, %NodeBlock84, %NodeBlock82, %NodeBlock80, %NodeBlock78, %NodeBlock76, %NodeBlock74, %NodeBlock72, %NodeBlock70, %NodeBlock68, %NodeBlock66, %NodeBlock64, %NodeBlock62, %NodeBlock60, %NodeBlock58, %NodeBlock56, %NodeBlock54, %NodeBlock52, %NodeBlock50, %NodeBlock48, %NodeBlock46, %NodeBlock44, %NodeBlock42, %NodeBlock40, %NodeBlock38, %NodeBlock36, %NodeBlock34, %NodeBlock32, %NodeBlock30 + store i8 1, i8* %c_and_shell_quote_compat, align 1 + br label %sw.epilog564 + +newDefault29: ; preds = %NodeBlock30 + br label %sw.default335 + +sw.default335: ; preds = %newDefault29 + %173 = load i8, i8* %unibyte_locale, align 1 + %tobool336 = trunc i8 %173 to i1 + br i1 %tobool336, label %if.then337, label %if.else346 + +if.then337: ; preds = %sw.default335 + store i64 1, i64* %m, align 8 + %call338 = call i16** @__ctype_b_loc() #25 + %174 = load i16*, i16** %call338, align 8 + %175 = load i8, i8* %c, align 1 + %conv339 = zext i8 %175 to i32 + %idxprom = sext i32 %conv339 to i64 + %arrayidx340 = getelementptr inbounds i16, i16* %174, i64 %idxprom + %176 = load i16, i16* %arrayidx340, align 2 + %conv341 = zext i16 %176 to i32 + %and342 = and i32 %conv341, 16384 + %cmp343 = icmp ne i32 %and342, 0 + %frombool345 = zext i1 %cmp343 to i8 + store i8 %frombool345, i8* %printable, align 1 + br label %if.end410 + +if.else346: ; preds = %sw.default335 + %177 = bitcast %struct.__mbstate_t* %mbstate to i8* + %178 = call i8* @memset(i8* %177, i32 0, i64 8) + store i64 0, i64* %m, align 8 + store i8 1, i8* %printable, align 1 + %179 = load i64, i64* %argsize.addr, align 8 + %cmp347 = icmp eq i64 %179, -1 + br i1 %cmp347, label %if.then349, label %if.end351 + +if.then349: ; preds = %if.else346 + %180 = load i8*, i8** %arg.addr, align 8 + %call350 = call i64 @strlen(i8* %180) #23 + store i64 %call350, i64* %argsize.addr, align 8 + br label %if.end351 + +if.end351: ; preds = %if.then349, %if.else346 + br label %do.body352 + +do.body352: ; preds = %if.end401, %if.end351 + %181 = load i8*, i8** %arg.addr, align 8 + %182 = load i64, i64* %i, align 8 + %183 = load i64, i64* %m, align 8 + %add353 = add i64 %182, %183 + %arrayidx354 = getelementptr inbounds i8, i8* %181, i64 %add353 + %184 = load i64, i64* %argsize.addr, align 8 + %185 = load i64, i64* %i, align 8 + %186 = load i64, i64* %m, align 8 + %add355 = add i64 %185, %186 + %sub = sub i64 %184, %add355 + %call356 = call i64 @rpl_mbrtowc(i32* %w, i8* %arrayidx354, i64 %sub, %struct.__mbstate_t* %mbstate) + store i64 %call356, i64* %bytes, align 8 + %187 = load i64, i64* %bytes, align 8 + %cmp357 = icmp eq i64 %187, 0 + br i1 %cmp357, label %if.end410, label %if.else360 + +if.else360: ; preds = %do.body352 + %188 = load i64, i64* %bytes, align 8 + %cmp361 = icmp eq i64 %188, -1 + br i1 %cmp361, label %if.then363, label %if.else364 + +if.then363: ; preds = %if.else360 + store i8 0, i8* %printable, align 1 + br label %if.end410 + +if.else364: ; preds = %if.else360 + %189 = load i64, i64* %bytes, align 8 + %cmp365 = icmp eq i64 %189, -2 + br i1 %cmp365, label %if.then367, label %if.else376 + +if.then367: ; preds = %if.else364 + store i8 0, i8* %printable, align 1 + br label %while.cond + +while.cond: ; preds = %while.body, %if.then367 + %190 = load i64, i64* %i, align 8 + %191 = load i64, i64* %m, align 8 + %add368 = add i64 %190, %191 + %192 = load i64, i64* %argsize.addr, align 8 + %cmp369 = icmp ult i64 %add368, %192 + br i1 %cmp369, label %land.rhs, label %if.end410 + +land.rhs: ; preds = %while.cond + %193 = load i8*, i8** %arg.addr, align 8 + %194 = load i64, i64* %i, align 8 + %195 = load i64, i64* %m, align 8 + %add371 = add i64 %194, %195 + %arrayidx372 = getelementptr inbounds i8, i8* %193, i64 %add371 + %196 = load i8, i8* %arrayidx372, align 1 + %conv373 = sext i8 %196 to i32 + %tobool374 = icmp ne i32 %conv373, 0 + br i1 %tobool374, label %while.body, label %if.end410 + +while.body: ; preds = %land.rhs + %197 = load i64, i64* %m, align 8 + %inc375 = add i64 %197, 1 + store i64 %inc375, i64* %m, align 8 + br label %while.cond + +if.else376: ; preds = %if.else364 + %198 = load i8, i8* %elide_outer_quotes, align 1 + %tobool377 = trunc i8 %198 to i1 + %199 = load i32, i32* %quoting_style.addr, align 4 + %cmp380 = icmp eq i32 %199, 2 + %or.cond5 = and i1 %tobool377, %cmp380 + br i1 %or.cond5, label %if.then382, label %if.end397 + +if.then382: ; preds = %if.else376 + store i64 1, i64* %j, align 8 + br label %for.cond383 + +for.cond383: ; preds = %for.inc394, %if.then382 + %200 = load i64, i64* %j, align 8 + %201 = load i64, i64* %bytes, align 8 + %cmp384 = icmp ult i64 %200, %201 + br i1 %cmp384, label %for.body386, label %if.end397 + +for.body386: ; preds = %for.cond383 + %202 = load i8*, i8** %arg.addr, align 8 + %203 = load i64, i64* %i, align 8 + %204 = load i64, i64* %m, align 8 + %add387 = add i64 %203, %204 + %205 = load i64, i64* %j, align 8 + %add388 = add i64 %add387, %205 + %arrayidx389 = getelementptr inbounds i8, i8* %202, i64 %add388 + %206 = load i8, i8* %arrayidx389, align 1 + %conv390 = sext i8 %206 to i32 + br label %NodeBlock267 + +NodeBlock267: ; preds = %for.body386 + %case.cmp268 = icmp eq i32 %conv390, 91 + br i1 %case.cmp268, label %force_outer_quoting_style, label %NodeBlock265 + +NodeBlock265: ; preds = %NodeBlock267 + %case.cmp266 = icmp eq i32 %conv390, 92 + br i1 %case.cmp266, label %force_outer_quoting_style, label %NodeBlock263 + +NodeBlock263: ; preds = %NodeBlock265 + %case.cmp264 = icmp eq i32 %conv390, 94 + br i1 %case.cmp264, label %force_outer_quoting_style, label %NodeBlock261 + +NodeBlock261: ; preds = %NodeBlock263 + %case.cmp262 = icmp eq i32 %conv390, 96 + br i1 %case.cmp262, label %force_outer_quoting_style, label %NodeBlock259 + +NodeBlock259: ; preds = %NodeBlock261 + %case.cmp260 = icmp eq i32 %conv390, 124 + br i1 %case.cmp260, label %force_outer_quoting_style, label %newDefault258 + +newDefault258: ; preds = %NodeBlock259 + br label %for.inc394 + +for.inc394: ; preds = %newDefault258 + %207 = load i64, i64* %j, align 8 + %inc395 = add i64 %207, 1 + store i64 %inc395, i64* %j, align 8 + br label %for.cond383 + +if.end397: ; preds = %for.cond383, %if.else376 + %208 = load i32, i32* %w, align 4 + %call398 = call i32 @iswprint(i32 %208) #11 + %tobool399 = icmp ne i32 %call398, 0 + br i1 %tobool399, label %if.end401, label %if.then400 + +if.then400: ; preds = %if.end397 + store i8 0, i8* %printable, align 1 + br label %if.end401 + +if.end401: ; preds = %if.then400, %if.end397 + %209 = load i64, i64* %bytes, align 8 + %210 = load i64, i64* %m, align 8 + %add402 = add i64 %210, %209 + store i64 %add402, i64* %m, align 8 + %call406 = call i32 bitcast (i32 (%struct.__mbstate_t.512*)* @mbsinit to i32 (%struct.__mbstate_t*)*)(%struct.__mbstate_t* %mbstate) #23 + %tobool407 = icmp ne i32 %call406, 0 + %lnot408 = xor i1 %tobool407, true + br i1 %lnot408, label %do.body352, label %if.end410 + +if.end410: ; preds = %if.then363, %if.end401, %do.body352, %while.cond, %land.rhs, %if.then337 + %211 = load i8, i8* %printable, align 1 + %tobool411 = trunc i8 %211 to i1 + %frombool412 = zext i1 %tobool411 to i8 + store i8 %frombool412, i8* %c_and_shell_quote_compat, align 1 + %212 = load i64, i64* %m, align 8 + %cmp413 = icmp ult i64 1, %212 + br i1 %cmp413, label %if.then419, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end410 + %213 = load i8, i8* %backslash_escapes, align 1 + %tobool415 = trunc i8 %213 to i1 + br i1 %tobool415, label %land.lhs.true417, label %sw.epilog564 + +land.lhs.true417: ; preds = %lor.lhs.false + %214 = load i8, i8* %printable, align 1 + %tobool418 = trunc i8 %214 to i1 + br i1 %tobool418, label %sw.epilog564, label %if.then419 + +if.then419: ; preds = %land.lhs.true417, %if.end410 + %215 = load i64, i64* %i, align 8 + %216 = load i64, i64* %m, align 8 + %add420 = add i64 %215, %216 + store i64 %add420, i64* %ilim, align 8 + br label %for.cond421 + +for.cond421: ; preds = %if.end556, %if.then419 + %217 = load i8, i8* %backslash_escapes, align 1 + %tobool422 = trunc i8 %217 to i1 + br i1 %tobool422, label %land.lhs.true424, label %if.else505 + +land.lhs.true424: ; preds = %for.cond421 + %218 = load i8, i8* %printable, align 1 + %tobool425 = trunc i8 %218 to i1 + br i1 %tobool425, label %if.else505, label %do.body427 + +do.body427: ; preds = %land.lhs.true424 + %219 = load i8, i8* %elide_outer_quotes, align 1 + %tobool428 = trunc i8 %219 to i1 + br i1 %tobool428, label %force_outer_quoting_style, label %if.end430 + +if.end430: ; preds = %do.body427 + store i8 1, i8* %escaping, align 1 + %220 = load i32, i32* %quoting_style.addr, align 4 + %cmp431 = icmp eq i32 %220, 2 + br i1 %cmp431, label %land.lhs.true433, label %do.body464 + +land.lhs.true433: ; preds = %if.end430 + %221 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool434 = trunc i8 %221 to i1 + br i1 %tobool434, label %do.body464, label %do.body436 + +do.body436: ; preds = %land.lhs.true433 + %222 = load i64, i64* %len, align 8 + %223 = load i64, i64* %buffersize.addr, align 8 + %cmp437 = icmp ult i64 %222, %223 + br i1 %cmp437, label %if.then439, label %if.end441 + +if.then439: ; preds = %do.body436 + %224 = load i8*, i8** %buffer.addr, align 8 + %225 = load i64, i64* %len, align 8 + %arrayidx440 = getelementptr inbounds i8, i8* %224, i64 %225 + store i8 39, i8* %arrayidx440, align 1 + br label %if.end441 + +if.end441: ; preds = %if.then439, %do.body436 + %226 = load i64, i64* %len, align 8 + %inc442 = add i64 %226, 1 + store i64 %inc442, i64* %len, align 8 + %227 = load i64, i64* %len, align 8 + %228 = load i64, i64* %buffersize.addr, align 8 + %cmp446 = icmp ult i64 %227, %228 + br i1 %cmp446, label %if.then448, label %if.end450 + +if.then448: ; preds = %if.end441 + %229 = load i8*, i8** %buffer.addr, align 8 + %230 = load i64, i64* %len, align 8 + %arrayidx449 = getelementptr inbounds i8, i8* %229, i64 %230 + store i8 36, i8* %arrayidx449, align 1 + br label %if.end450 + +if.end450: ; preds = %if.then448, %if.end441 + %231 = load i64, i64* %len, align 8 + %inc451 = add i64 %231, 1 + store i64 %inc451, i64* %len, align 8 + %232 = load i64, i64* %len, align 8 + %233 = load i64, i64* %buffersize.addr, align 8 + %cmp455 = icmp ult i64 %232, %233 + br i1 %cmp455, label %if.then457, label %if.end459 + +if.then457: ; preds = %if.end450 + %234 = load i8*, i8** %buffer.addr, align 8 + %235 = load i64, i64* %len, align 8 + %arrayidx458 = getelementptr inbounds i8, i8* %234, i64 %235 + store i8 39, i8* %arrayidx458, align 1 + br label %if.end459 + +if.end459: ; preds = %if.then457, %if.end450 + %236 = load i64, i64* %len, align 8 + %inc460 = add i64 %236, 1 + store i64 %inc460, i64* %len, align 8 + store i8 1, i8* %pending_shell_escape_end, align 1 + br label %do.body464 + +do.body464: ; preds = %if.end430, %land.lhs.true433, %if.end459 + %237 = load i64, i64* %len, align 8 + %238 = load i64, i64* %buffersize.addr, align 8 + %cmp465 = icmp ult i64 %237, %238 + br i1 %cmp465, label %if.then467, label %if.end469 + +if.then467: ; preds = %do.body464 + %239 = load i8*, i8** %buffer.addr, align 8 + %240 = load i64, i64* %len, align 8 + %arrayidx468 = getelementptr inbounds i8, i8* %239, i64 %240 + store i8 92, i8* %arrayidx468, align 1 + br label %if.end469 + +if.end469: ; preds = %if.then467, %do.body464 + %241 = load i64, i64* %len, align 8 + %inc470 = add i64 %241, 1 + store i64 %inc470, i64* %len, align 8 + %242 = load i64, i64* %len, align 8 + %243 = load i64, i64* %buffersize.addr, align 8 + %cmp476 = icmp ult i64 %242, %243 + br i1 %cmp476, label %if.then478, label %if.end483 + +if.then478: ; preds = %if.end469 + %244 = load i8, i8* %c, align 1 + %conv479 = zext i8 %244 to i32 + %shr = ashr i32 %conv479, 6 + %add480 = add nsw i32 48, %shr + %conv481 = trunc i32 %add480 to i8 + %245 = load i8*, i8** %buffer.addr, align 8 + %246 = load i64, i64* %len, align 8 + %arrayidx482 = getelementptr inbounds i8, i8* %245, i64 %246 + store i8 %conv481, i8* %arrayidx482, align 1 + br label %if.end483 + +if.end483: ; preds = %if.then478, %if.end469 + %247 = load i64, i64* %len, align 8 + %inc484 = add i64 %247, 1 + store i64 %inc484, i64* %len, align 8 + %248 = load i64, i64* %len, align 8 + %249 = load i64, i64* %buffersize.addr, align 8 + %cmp488 = icmp ult i64 %248, %249 + br i1 %cmp488, label %if.then490, label %if.end497 + +if.then490: ; preds = %if.end483 + %250 = load i8, i8* %c, align 1 + %conv491 = zext i8 %250 to i32 + %shr492 = ashr i32 %conv491, 3 + %and493 = and i32 %shr492, 7 + %add494 = add nsw i32 48, %and493 + %conv495 = trunc i32 %add494 to i8 + %251 = load i8*, i8** %buffer.addr, align 8 + %252 = load i64, i64* %len, align 8 + %arrayidx496 = getelementptr inbounds i8, i8* %251, i64 %252 + store i8 %conv495, i8* %arrayidx496, align 1 + br label %if.end497 + +if.end497: ; preds = %if.then490, %if.end483 + %253 = load i64, i64* %len, align 8 + %inc498 = add i64 %253, 1 + store i64 %inc498, i64* %len, align 8 + %254 = load i8, i8* %c, align 1 + %conv501 = zext i8 %254 to i32 + %and502 = and i32 %conv501, 7 + %add503 = add nsw i32 48, %and502 + %conv504 = trunc i32 %add503 to i8 + store i8 %conv504, i8* %c, align 1 + br label %if.end518 + +if.else505: ; preds = %land.lhs.true424, %for.cond421 + %255 = load i8, i8* %is_right_quote, align 1 + %tobool506 = trunc i8 %255 to i1 + br i1 %tobool506, label %do.body508, label %if.end518 + +do.body508: ; preds = %if.else505 + %256 = load i64, i64* %len, align 8 + %257 = load i64, i64* %buffersize.addr, align 8 + %cmp509 = icmp ult i64 %256, %257 + br i1 %cmp509, label %if.then511, label %if.end513 + +if.then511: ; preds = %do.body508 + %258 = load i8*, i8** %buffer.addr, align 8 + %259 = load i64, i64* %len, align 8 + %arrayidx512 = getelementptr inbounds i8, i8* %258, i64 %259 + store i8 92, i8* %arrayidx512, align 1 + br label %if.end513 + +if.end513: ; preds = %if.then511, %do.body508 + %260 = load i64, i64* %len, align 8 + %inc514 = add i64 %260, 1 + store i64 %inc514, i64* %len, align 8 + store i8 0, i8* %is_right_quote, align 1 + br label %if.end518 + +if.end518: ; preds = %if.else505, %if.end513, %if.end497 + %261 = load i64, i64* %ilim, align 8 + %262 = load i64, i64* %i, align 8 + %add519 = add i64 %262, 1 + %cmp520 = icmp ule i64 %261, %add519 + br i1 %cmp520, label %do.body634, label %do.body524 + +do.body524: ; preds = %if.end518 + %263 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool525 = trunc i8 %263 to i1 + br i1 %tobool525, label %land.lhs.true527, label %do.body551 + +land.lhs.true527: ; preds = %do.body524 + %264 = load i8, i8* %escaping, align 1 + %tobool528 = trunc i8 %264 to i1 + br i1 %tobool528, label %do.body551, label %do.body530 + +do.body530: ; preds = %land.lhs.true527 + %265 = load i64, i64* %len, align 8 + %266 = load i64, i64* %buffersize.addr, align 8 + %cmp531 = icmp ult i64 %265, %266 + br i1 %cmp531, label %if.then533, label %if.end535 + +if.then533: ; preds = %do.body530 + %267 = load i8*, i8** %buffer.addr, align 8 + %268 = load i64, i64* %len, align 8 + %arrayidx534 = getelementptr inbounds i8, i8* %267, i64 %268 + store i8 39, i8* %arrayidx534, align 1 + br label %if.end535 + +if.end535: ; preds = %if.then533, %do.body530 + %269 = load i64, i64* %len, align 8 + %inc536 = add i64 %269, 1 + store i64 %inc536, i64* %len, align 8 + %270 = load i64, i64* %len, align 8 + %271 = load i64, i64* %buffersize.addr, align 8 + %cmp540 = icmp ult i64 %270, %271 + br i1 %cmp540, label %if.then542, label %if.end544 + +if.then542: ; preds = %if.end535 + %272 = load i8*, i8** %buffer.addr, align 8 + %273 = load i64, i64* %len, align 8 + %arrayidx543 = getelementptr inbounds i8, i8* %272, i64 %273 + store i8 39, i8* %arrayidx543, align 1 + br label %if.end544 + +if.end544: ; preds = %if.then542, %if.end535 + %274 = load i64, i64* %len, align 8 + %inc545 = add i64 %274, 1 + store i64 %inc545, i64* %len, align 8 + store i8 0, i8* %pending_shell_escape_end, align 1 + br label %do.body551 + +do.body551: ; preds = %if.end544, %land.lhs.true527, %do.body524 + %275 = load i64, i64* %len, align 8 + %276 = load i64, i64* %buffersize.addr, align 8 + %cmp552 = icmp ult i64 %275, %276 + br i1 %cmp552, label %if.then554, label %if.end556 + +if.then554: ; preds = %do.body551 + %277 = load i8, i8* %c, align 1 + %278 = load i8*, i8** %buffer.addr, align 8 + %279 = load i64, i64* %len, align 8 + %arrayidx555 = getelementptr inbounds i8, i8* %278, i64 %279 + store i8 %277, i8* %arrayidx555, align 1 + br label %if.end556 + +if.end556: ; preds = %if.then554, %do.body551 + %280 = load i64, i64* %len, align 8 + %inc557 = add i64 %280, 1 + store i64 %inc557, i64* %len, align 8 + %281 = load i8*, i8** %arg.addr, align 8 + %282 = load i64, i64* %i, align 8 + %inc560 = add i64 %282, 1 + store i64 %inc560, i64* %i, align 8 + %arrayidx561 = getelementptr inbounds i8, i8* %281, i64 %inc560 + %283 = load i8, i8* %arrayidx561, align 1 + store i8 %283, i8* %c, align 1 + br label %for.cond421 + +newDefault234: ; preds = %NodeBlock235 + br label %sw.epilog564 + +newDefault239: ; preds = %NodeBlock240 + br label %sw.epilog564 + +sw.epilog564: ; preds = %newDefault239, %newDefault234, %lor.lhs.false, %land.lhs.true417, %sw.bb297, %if.end330, %sw.bb289, %land.lhs.true292, %sw.bb283, %cond.true273, %cond.false278, %c_escape, %sw.bb171, %if.end228, %land.lhs.true182, %land.lhs.true178, %sw.bb175, %if.end164, %if.else, %sw.bb334 + %284 = load i8, i8* %backslash_escapes, align 1 + %tobool565 = trunc i8 %284 to i1 + %285 = load i32, i32* %quoting_style.addr, align 4 + %cmp568 = icmp ne i32 %285, 2 + %or.cond6 = and i1 %tobool565, %cmp568 + br i1 %or.cond6, label %land.lhs.true573, label %lor.lhs.false570 + +lor.lhs.false570: ; preds = %sw.epilog564 + %286 = load i8, i8* %elide_outer_quotes, align 1 + %tobool571 = trunc i8 %286 to i1 + br i1 %tobool571, label %land.lhs.true573, label %land.lhs.true582 + +land.lhs.true573: ; preds = %sw.epilog564, %lor.lhs.false570 + %287 = load i32*, i32** %quote_these_too.addr, align 8 + %tobool574 = icmp ne i32* %287, null + br i1 %tobool574, label %land.lhs.true575, label %land.lhs.true582 + +land.lhs.true575: ; preds = %land.lhs.true573 + %288 = load i32*, i32** %quote_these_too.addr, align 8 + %289 = load i8, i8* %c, align 1 + %conv576 = zext i8 %289 to i64 + %div = udiv i64 %conv576, 32 + %arrayidx577 = getelementptr inbounds i32, i32* %288, i64 %div + %290 = load i32, i32* %arrayidx577, align 4 + %291 = load i8, i8* %c, align 1 + %conv578 = zext i8 %291 to i64 + %rem = urem i64 %conv578, 32 + %sh_prom = trunc i64 %rem to i32 + %shr579 = lshr i32 %290, %sh_prom + %and580 = and i32 %shr579, 1 + %tobool581 = icmp ne i32 %and580, 0 + br i1 %tobool581, label %do.body586, label %land.lhs.true582 + +land.lhs.true582: ; preds = %land.lhs.true575, %land.lhs.true573, %lor.lhs.false570 + %292 = load i8, i8* %is_right_quote, align 1 + %tobool583 = trunc i8 %292 to i1 + br i1 %tobool583, label %do.body586, label %do.body634 + +do.body586: ; preds = %if.then268, %land.lhs.true582, %land.lhs.true575 + %293 = load i8, i8* %elide_outer_quotes, align 1 + %tobool587 = trunc i8 %293 to i1 + br i1 %tobool587, label %force_outer_quoting_style, label %if.end589 + +if.end589: ; preds = %do.body586 + store i8 1, i8* %escaping, align 1 + %294 = load i32, i32* %quoting_style.addr, align 4 + %cmp590 = icmp eq i32 %294, 2 + br i1 %cmp590, label %land.lhs.true592, label %do.body623 + +land.lhs.true592: ; preds = %if.end589 + %295 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool593 = trunc i8 %295 to i1 + br i1 %tobool593, label %do.body623, label %do.body595 + +do.body595: ; preds = %land.lhs.true592 + %296 = load i64, i64* %len, align 8 + %297 = load i64, i64* %buffersize.addr, align 8 + %cmp596 = icmp ult i64 %296, %297 + br i1 %cmp596, label %if.then598, label %if.end600 + +if.then598: ; preds = %do.body595 + %298 = load i8*, i8** %buffer.addr, align 8 + %299 = load i64, i64* %len, align 8 + %arrayidx599 = getelementptr inbounds i8, i8* %298, i64 %299 + store i8 39, i8* %arrayidx599, align 1 + br label %if.end600 + +if.end600: ; preds = %if.then598, %do.body595 + %300 = load i64, i64* %len, align 8 + %inc601 = add i64 %300, 1 + store i64 %inc601, i64* %len, align 8 + %301 = load i64, i64* %len, align 8 + %302 = load i64, i64* %buffersize.addr, align 8 + %cmp605 = icmp ult i64 %301, %302 + br i1 %cmp605, label %if.then607, label %if.end609 + +if.then607: ; preds = %if.end600 + %303 = load i8*, i8** %buffer.addr, align 8 + %304 = load i64, i64* %len, align 8 + %arrayidx608 = getelementptr inbounds i8, i8* %303, i64 %304 + store i8 36, i8* %arrayidx608, align 1 + br label %if.end609 + +if.end609: ; preds = %if.then607, %if.end600 + %305 = load i64, i64* %len, align 8 + %inc610 = add i64 %305, 1 + store i64 %inc610, i64* %len, align 8 + %306 = load i64, i64* %len, align 8 + %307 = load i64, i64* %buffersize.addr, align 8 + %cmp614 = icmp ult i64 %306, %307 + br i1 %cmp614, label %if.then616, label %if.end618 + +if.then616: ; preds = %if.end609 + %308 = load i8*, i8** %buffer.addr, align 8 + %309 = load i64, i64* %len, align 8 + %arrayidx617 = getelementptr inbounds i8, i8* %308, i64 %309 + store i8 39, i8* %arrayidx617, align 1 + br label %if.end618 + +if.end618: ; preds = %if.then616, %if.end609 + %310 = load i64, i64* %len, align 8 + %inc619 = add i64 %310, 1 + store i64 %inc619, i64* %len, align 8 + store i8 1, i8* %pending_shell_escape_end, align 1 + br label %do.body623 + +do.body623: ; preds = %if.end589, %land.lhs.true592, %if.end618 + %311 = load i64, i64* %len, align 8 + %312 = load i64, i64* %buffersize.addr, align 8 + %cmp624 = icmp ult i64 %311, %312 + br i1 %cmp624, label %if.then626, label %if.end628 + +if.then626: ; preds = %do.body623 + %313 = load i8*, i8** %buffer.addr, align 8 + %314 = load i64, i64* %len, align 8 + %arrayidx627 = getelementptr inbounds i8, i8* %313, i64 %314 + store i8 92, i8* %arrayidx627, align 1 + br label %if.end628 + +if.end628: ; preds = %if.then626, %do.body623 + %315 = load i64, i64* %len, align 8 + %inc629 = add i64 %315, 1 + store i64 %inc629, i64* %len, align 8 + br label %do.body634 + +do.body634: ; preds = %if.end628, %if.then246, %land.lhs.true253, %if.end518, %land.lhs.true582 + %316 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool635 = trunc i8 %316 to i1 + br i1 %tobool635, label %land.lhs.true637, label %do.body661 + +land.lhs.true637: ; preds = %do.body634 + %317 = load i8, i8* %escaping, align 1 + %tobool638 = trunc i8 %317 to i1 + br i1 %tobool638, label %do.body661, label %do.body640 + +do.body640: ; preds = %land.lhs.true637 + %318 = load i64, i64* %len, align 8 + %319 = load i64, i64* %buffersize.addr, align 8 + %cmp641 = icmp ult i64 %318, %319 + br i1 %cmp641, label %if.then643, label %if.end645 + +if.then643: ; preds = %do.body640 + %320 = load i8*, i8** %buffer.addr, align 8 + %321 = load i64, i64* %len, align 8 + %arrayidx644 = getelementptr inbounds i8, i8* %320, i64 %321 + store i8 39, i8* %arrayidx644, align 1 + br label %if.end645 + +if.end645: ; preds = %if.then643, %do.body640 + %322 = load i64, i64* %len, align 8 + %inc646 = add i64 %322, 1 + store i64 %inc646, i64* %len, align 8 + %323 = load i64, i64* %len, align 8 + %324 = load i64, i64* %buffersize.addr, align 8 + %cmp650 = icmp ult i64 %323, %324 + br i1 %cmp650, label %if.then652, label %if.end654 + +if.then652: ; preds = %if.end645 + %325 = load i8*, i8** %buffer.addr, align 8 + %326 = load i64, i64* %len, align 8 + %arrayidx653 = getelementptr inbounds i8, i8* %325, i64 %326 + store i8 39, i8* %arrayidx653, align 1 + br label %if.end654 + +if.end654: ; preds = %if.then652, %if.end645 + %327 = load i64, i64* %len, align 8 + %inc655 = add i64 %327, 1 + store i64 %inc655, i64* %len, align 8 + store i8 0, i8* %pending_shell_escape_end, align 1 + br label %do.body661 + +do.body661: ; preds = %if.end654, %land.lhs.true637, %do.body634 + %328 = load i64, i64* %len, align 8 + %329 = load i64, i64* %buffersize.addr, align 8 + %cmp662 = icmp ult i64 %328, %329 + br i1 %cmp662, label %if.then664, label %if.end666 + +if.then664: ; preds = %do.body661 + %330 = load i8, i8* %c, align 1 + %331 = load i8*, i8** %buffer.addr, align 8 + %332 = load i64, i64* %len, align 8 + %arrayidx665 = getelementptr inbounds i8, i8* %331, i64 %332 + store i8 %330, i8* %arrayidx665, align 1 + br label %if.end666 + +if.end666: ; preds = %if.then664, %do.body661 + %333 = load i64, i64* %len, align 8 + %inc667 = add i64 %333, 1 + store i64 %inc667, i64* %len, align 8 + %334 = load i8, i8* %c_and_shell_quote_compat, align 1 + %tobool670 = trunc i8 %334 to i1 + br i1 %tobool670, label %for.inc673, label %if.then671 + +if.then671: ; preds = %if.end666 + store i8 0, i8* %all_c_and_shell_quote_compat, align 1 + br label %for.inc673 + +for.inc673: ; preds = %if.end666, %if.then671, %if.else + %335 = load i64, i64* %i, align 8 + %inc674 = add i64 %335, 1 + store i64 %inc674, i64* %i, align 8 + br label %for.cond44 + +for.end675: ; preds = %cond.end + %336 = load i64, i64* %len, align 8 + %cmp676 = icmp eq i64 %336, 0 + %337 = load i32, i32* %quoting_style.addr, align 4 + %cmp679 = icmp eq i32 %337, 2 + %or.cond7 = and i1 %cmp676, %cmp679 + br i1 %or.cond7, label %land.lhs.true681, label %if.end685 + +land.lhs.true681: ; preds = %for.end675 + %338 = load i8, i8* %elide_outer_quotes, align 1 + %tobool682 = trunc i8 %338 to i1 + br i1 %tobool682, label %force_outer_quoting_style, label %if.end685 + +if.end685: ; preds = %land.lhs.true681, %for.end675 + %339 = load i32, i32* %quoting_style.addr, align 4 + %cmp686 = icmp eq i32 %339, 2 + br i1 %cmp686, label %land.lhs.true688, label %if.end704 + +land.lhs.true688: ; preds = %if.end685 + %340 = load i8, i8* %elide_outer_quotes, align 1 + %tobool689 = trunc i8 %340 to i1 + br i1 %tobool689, label %if.end704, label %land.lhs.true690 + +land.lhs.true690: ; preds = %land.lhs.true688 + %341 = load i8, i8* %encountered_single_quote, align 1 + %tobool691 = trunc i8 %341 to i1 + br i1 %tobool691, label %if.then693, label %if.end704 + +if.then693: ; preds = %land.lhs.true690 + %342 = load i8, i8* %all_c_and_shell_quote_compat, align 1 + %tobool694 = trunc i8 %342 to i1 + br i1 %tobool694, label %if.then695, label %if.else697 + +if.then695: ; preds = %if.then693 + %343 = load i8*, i8** %buffer.addr, align 8 + %344 = load i64, i64* %orig_buffersize, align 8 + %345 = load i8*, i8** %arg.addr, align 8 + %346 = load i64, i64* %argsize.addr, align 8 + %347 = load i32, i32* %flags.addr, align 4 + %348 = load i32*, i32** %quote_these_too.addr, align 8 + %349 = load i8*, i8** %left_quote.addr, align 8 + %350 = load i8*, i8** %right_quote.addr, align 8 + %call696 = call i64 @quotearg_buffer_restyled(i8* %343, i64 %344, i8* %345, i64 %346, i32 5, i32 %347, i32* %348, i8* %349, i8* %350) + store i64 %call696, i64* %retval, align 8 + br label %return + +if.else697: ; preds = %if.then693 + %351 = load i64, i64* %buffersize.addr, align 8 + %tobool698 = icmp eq i64 %351, 0 + %352 = load i64, i64* %orig_buffersize, align 8 + %tobool700 = icmp ne i64 %352, 0 + %or.cond8 = and i1 %tobool698, %tobool700 + br i1 %or.cond8, label %if.then701, label %if.end704 + +if.then701: ; preds = %if.else697 + %353 = load i64, i64* %orig_buffersize, align 8 + store i64 %353, i64* %buffersize.addr, align 8 + store i64 0, i64* %len, align 8 + br label %process_input + +if.end704: ; preds = %if.else697, %land.lhs.true690, %land.lhs.true688, %if.end685 + %354 = load i8*, i8** %quote_string, align 8 + %tobool705 = icmp ne i8* %354, null + br i1 %tobool705, label %land.lhs.true706, label %if.end724 + +land.lhs.true706: ; preds = %if.end704 + %355 = load i8, i8* %elide_outer_quotes, align 1 + %tobool707 = trunc i8 %355 to i1 + br i1 %tobool707, label %if.end724, label %for.cond709 + +for.cond709: ; preds = %land.lhs.true706, %if.end717 + %356 = load i8*, i8** %quote_string, align 8 + %357 = load i8, i8* %356, align 1 + %tobool710 = icmp ne i8 %357, 0 + br i1 %tobool710, label %do.body712, label %if.end724 + +do.body712: ; preds = %for.cond709 + %358 = load i64, i64* %len, align 8 + %359 = load i64, i64* %buffersize.addr, align 8 + %cmp713 = icmp ult i64 %358, %359 + br i1 %cmp713, label %if.then715, label %if.end717 + +if.then715: ; preds = %do.body712 + %360 = load i8*, i8** %quote_string, align 8 + %361 = load i8, i8* %360, align 1 + %362 = load i8*, i8** %buffer.addr, align 8 + %363 = load i64, i64* %len, align 8 + %arrayidx716 = getelementptr inbounds i8, i8* %362, i64 %363 + store i8 %361, i8* %arrayidx716, align 1 + br label %if.end717 + +if.end717: ; preds = %if.then715, %do.body712 + %364 = load i64, i64* %len, align 8 + %inc718 = add i64 %364, 1 + store i64 %inc718, i64* %len, align 8 + %365 = load i8*, i8** %quote_string, align 8 + %incdec.ptr722 = getelementptr inbounds i8, i8* %365, i32 1 + store i8* %incdec.ptr722, i8** %quote_string, align 8 + br label %for.cond709 + +if.end724: ; preds = %for.cond709, %land.lhs.true706, %if.end704 + %366 = load i64, i64* %len, align 8 + %367 = load i64, i64* %buffersize.addr, align 8 + %cmp725 = icmp ult i64 %366, %367 + br i1 %cmp725, label %if.then727, label %if.end729 + +if.then727: ; preds = %if.end724 + %368 = load i8*, i8** %buffer.addr, align 8 + %369 = load i64, i64* %len, align 8 + %arrayidx728 = getelementptr inbounds i8, i8* %368, i64 %369 + store i8 0, i8* %arrayidx728, align 1 + br label %if.end729 + +if.end729: ; preds = %if.then727, %if.end724 + %370 = load i64, i64* %len, align 8 + store i64 %370, i64* %retval, align 8 + br label %return + +force_outer_quoting_style: ; preds = %NodeBlock267, %NodeBlock265, %NodeBlock263, %NodeBlock261, %NodeBlock259, %land.lhs.true681, %do.body586, %do.body427, %if.then300, %land.lhs.true292, %land.lhs.true262, %if.then246, %sw.bb192, %sw.bb171, %do.body86, %if.then76 + %371 = load i32, i32* %quoting_style.addr, align 4 + %cmp730 = icmp eq i32 %371, 2 + br i1 %cmp730, label %land.lhs.true732, label %if.end736 + +land.lhs.true732: ; preds = %force_outer_quoting_style + %372 = load i8, i8* %backslash_escapes, align 1 + %tobool733 = trunc i8 %372 to i1 + br i1 %tobool733, label %if.then735, label %if.end736 + +if.then735: ; preds = %land.lhs.true732 + store i32 4, i32* %quoting_style.addr, align 4 + br label %if.end736 + +if.end736: ; preds = %if.then735, %land.lhs.true732, %force_outer_quoting_style + %373 = load i8*, i8** %buffer.addr, align 8 + %374 = load i64, i64* %buffersize.addr, align 8 + %375 = load i8*, i8** %arg.addr, align 8 + %376 = load i64, i64* %argsize.addr, align 8 + %377 = load i32, i32* %quoting_style.addr, align 4 + %378 = load i32, i32* %flags.addr, align 4 + %and737 = and i32 %378, -3 + %379 = load i8*, i8** %left_quote.addr, align 8 + %380 = load i8*, i8** %right_quote.addr, align 8 + %call738 = call i64 @quotearg_buffer_restyled(i8* %373, i64 %374, i8* %375, i64 %376, i32 %377, i32 %and737, i32* null, i8* %379, i8* %380) + store i64 %call738, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end736, %if.end729, %if.then695 + %381 = load i64, i64* %retval, align 8 + ret i64 %381 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xcharalloc(i64 %n) #3 { +entry: + %n.addr = alloca i64, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @xmalloc(i64 %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xmalloc(i64 %n) #3 { +entry: + %n.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @malloc(i64 %0) #11 + store i8* %call, i8** %p, align 8 + %1 = load i8*, i8** %p, align 8 + %tobool = icmp eq i8* %1, null + %2 = load i64, i64* %n.addr, align 8 + %cmp = icmp ne i64 %2, 0 + %or.cond = and i1 %tobool, %cmp + br i1 %or.cond, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %entry + %3 = load i8*, i8** %p, align 8 + ret i8* %3 +} + +; Function Attrs: nounwind +declare dso_local i64 @__ctype_get_mb_cur_max() #4 + +; Function Attrs: noinline nounwind uwtable +define internal i8* @gettext_quote(i8* %msgid, i32 %s) #3 { +entry: + %retval = alloca i8*, align 8 + %msgid.addr = alloca i8*, align 8 + %s.addr = alloca i32, align 4 + %translation = alloca i8*, align 8 + %locale_code = alloca i8*, align 8 + store i8* %msgid, i8** %msgid.addr, align 8 + store i32 %s, i32* %s.addr, align 4 + %0 = load i8*, i8** %msgid.addr, align 8 + store i8* %0, i8** %translation, align 8 + %1 = load i8*, i8** %translation, align 8 + %2 = load i8*, i8** %msgid.addr, align 8 + %cmp = icmp ne i8* %1, %2 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %3 = load i8*, i8** %translation, align 8 + store i8* %3, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %call = call i8* @locale_charset() + store i8* %call, i8** %locale_code, align 8 + %4 = load i8*, i8** %locale_code, align 8 + %call1 = call i32 @c_strcasecmp(i8* %4, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.13.63, i64 0, i64 0)) #23 + %cmp2 = icmp eq i32 %call1, 0 + br i1 %cmp2, label %if.then3, label %if.end6 + +if.then3: ; preds = %if.end + %5 = load i8*, i8** %msgid.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 0 + %6 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %6 to i32 + %cmp4 = icmp eq i32 %conv, 96 + %7 = zext i1 %cmp4 to i64 + %cond = select i1 %cmp4, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.14.64, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.15.65, i64 0, i64 0) + store i8* %cond, i8** %retval, align 8 + br label %return + +if.end6: ; preds = %if.end + %8 = load i8*, i8** %locale_code, align 8 + %call7 = call i32 @c_strcasecmp(i8* %8, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.16.66, i64 0, i64 0)) #23 + %cmp8 = icmp eq i32 %call7, 0 + br i1 %cmp8, label %if.then10, label %if.end16 + +if.then10: ; preds = %if.end6 + %9 = load i8*, i8** %msgid.addr, align 8 + %arrayidx11 = getelementptr inbounds i8, i8* %9, i64 0 + %10 = load i8, i8* %arrayidx11, align 1 + %conv12 = sext i8 %10 to i32 + %cmp13 = icmp eq i32 %conv12, 96 + %11 = zext i1 %cmp13 to i64 + %cond15 = select i1 %cmp13, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.17.67, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.18.68, i64 0, i64 0) + store i8* %cond15, i8** %retval, align 8 + br label %return + +if.end16: ; preds = %if.end6 + %12 = load i32, i32* %s.addr, align 4 + %cmp17 = icmp eq i32 %12, 9 + %13 = zext i1 %cmp17 to i64 + %cond19 = select i1 %cmp17, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10.60, i64 0, i64 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.62, i64 0, i64 0) + store i8* %cond19, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end16, %if.then10, %if.then3, %if.then + %14 = load i8*, i8** %retval, align 8 + ret i8* %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @rpl_mbrtowc(i32* %pwc, i8* %s, i64 %n, %struct.__mbstate_t* %ps) #3 { +entry: + %retval = alloca i64, align 8 + %pwc.addr = alloca i32*, align 8 + %s.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t*, align 8 + %ret = alloca i64, align 8 + %wc = alloca i32, align 4 + %uc = alloca i8, align 1 + store i32* %pwc, i32** %pwc.addr, align 8 + store i8* %s, i8** %s.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__mbstate_t* %ps, %struct.__mbstate_t** %ps.addr, align 8 + %0 = load i32*, i32** %pwc.addr, align 8 + %tobool = icmp ne i32* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i32* %wc, i32** %pwc.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i32*, i32** %pwc.addr, align 8 + %2 = load i8*, i8** %s.addr, align 8 + %3 = load i64, i64* %n.addr, align 8 + %4 = load %struct.__mbstate_t*, %struct.__mbstate_t** %ps.addr, align 8 + %call = call i64 bitcast (i64 (i32*, i8*, i64, %struct.__mbstate_t.512*)* @mbrtowc to i64 (i32*, i8*, i64, %struct.__mbstate_t*)*)(i32* %1, i8* %2, i64 %3, %struct.__mbstate_t* %4) #11 + store i64 %call, i64* %ret, align 8 + %5 = load i64, i64* %ret, align 8 + %cmp = icmp ule i64 -2, %5 + %6 = load i64, i64* %n.addr, align 8 + %cmp1 = icmp ne i64 %6, 0 + %or.cond = and i1 %cmp, %cmp1 + br i1 %or.cond, label %land.lhs.true2, label %if.end5 + +land.lhs.true2: ; preds = %if.end + %call3 = call zeroext i1 @hard_locale(i32 0) + br i1 %call3, label %if.end5, label %if.then4 + +if.then4: ; preds = %land.lhs.true2 + %7 = load i8*, i8** %s.addr, align 8 + %8 = load i8, i8* %7, align 1 + store i8 %8, i8* %uc, align 1 + %9 = load i8, i8* %uc, align 1 + %conv = zext i8 %9 to i32 + %10 = load i32*, i32** %pwc.addr, align 8 + store i32 %conv, i32* %10, align 4 + store i64 1, i64* %retval, align 8 + br label %return + +if.end5: ; preds = %land.lhs.true2, %if.end + %11 = load i64, i64* %ret, align 8 + store i64 %11, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end5, %if.then4 + %12 = load i64, i64* %retval, align 8 + ret i64 %12 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @hard_locale(i32 %category) #3 { +entry: + %retval = alloca i1, align 1 + %category.addr = alloca i32, align 4 + %locale = alloca [257 x i8], align 16 + store i32 %category, i32* %category.addr, align 4 + %0 = load i32, i32* %category.addr, align 4 + %arraydecay = getelementptr inbounds [257 x i8], [257 x i8]* %locale, i64 0, i64 0 + %call = call i32 @setlocale_null_r(i32 %0, i8* %arraydecay, i64 257) + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +if.end: ; preds = %entry + %arraydecay1 = getelementptr inbounds [257 x i8], [257 x i8]* %locale, i64 0, i64 0 + %call2 = call i32 @strcmp(i8* %arraydecay1, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.120, i64 0, i64 0)) #23 + %cmp = icmp eq i32 %call2, 0 + br i1 %cmp, label %lor.end, label %lor.rhs + +lor.rhs: ; preds = %if.end + %arraydecay3 = getelementptr inbounds [257 x i8], [257 x i8]* %locale, i64 0, i64 0 + %call4 = call i32 @strcmp(i8* %arraydecay3, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1.121, i64 0, i64 0)) #23 + %cmp5 = icmp eq i32 %call4, 0 + br label %lor.end + +lor.end: ; preds = %lor.rhs, %if.end + %1 = phi i1 [ true, %if.end ], [ %cmp5, %lor.rhs ] + %lnot = xor i1 %1, true + store i1 %lnot, i1* %retval, align 1 + br label %return + +return: ; preds = %lor.end, %if.then + %2 = load i1, i1* %retval, align 1 + ret i1 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @setlocale_null_r(i32 %category, i8* nonnull %buf, i64 %bufsize) #3 { +entry: + %category.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + store i32 %category, i32* %category.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i32, i32* %category.addr, align 4 + %1 = load i8*, i8** %buf.addr, align 8 + %2 = load i64, i64* %bufsize.addr, align 8 + %call = call i32 @setlocale_null_unlocked(i32 %0, i8* %1, i64 %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @setlocale_null_unlocked(i32 %category, i8* %buf, i64 %bufsize) #3 { +entry: + %retval = alloca i32, align 4 + %category.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %result = alloca i8*, align 8 + %length = alloca i64, align 8 + store i32 %category, i32* %category.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i32, i32* %category.addr, align 4 + %call = call i8* @setlocale_null_androidfix(i32 %0) + store i8* %call, i8** %result, align 8 + %1 = load i8*, i8** %result, align 8 + %cmp = icmp eq i8* %1, null + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %2 = load i64, i64* %bufsize.addr, align 8 + %cmp1 = icmp ugt i64 %2, 0 + br i1 %cmp1, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + %3 = load i8*, i8** %buf.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %3, i64 0 + store i8 0, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + store i32 22, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %4 = load i8*, i8** %result, align 8 + %call3 = call i64 @strlen(i8* %4) #23 + store i64 %call3, i64* %length, align 8 + %5 = load i64, i64* %length, align 8 + %6 = load i64, i64* %bufsize.addr, align 8 + %cmp4 = icmp ult i64 %5, %6 + br i1 %cmp4, label %if.then5, label %if.else6 + +if.then5: ; preds = %if.else + %7 = load i8*, i8** %buf.addr, align 8 + %8 = load i8*, i8** %result, align 8 + %9 = load i64, i64* %length, align 8 + %add = add i64 %9, 1 + %10 = call i8* @memcpy(i8* %7, i8* %8, i64 %add) + store i32 0, i32* %retval, align 4 + br label %return + +if.else6: ; preds = %if.else + %11 = load i64, i64* %bufsize.addr, align 8 + %cmp7 = icmp ugt i64 %11, 0 + br i1 %cmp7, label %if.then8, label %if.end11 + +if.then8: ; preds = %if.else6 + %12 = load i8*, i8** %buf.addr, align 8 + %13 = load i8*, i8** %result, align 8 + %14 = load i64, i64* %bufsize.addr, align 8 + %sub = sub i64 %14, 1 + %15 = call i8* @memcpy(i8* %12, i8* %13, i64 %sub) + %16 = load i8*, i8** %buf.addr, align 8 + %17 = load i64, i64* %bufsize.addr, align 8 + %sub9 = sub i64 %17, 1 + %arrayidx10 = getelementptr inbounds i8, i8* %16, i64 %sub9 + store i8 0, i8* %arrayidx10, align 1 + br label %if.end11 + +if.end11: ; preds = %if.then8, %if.else6 + store i32 34, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end11, %if.then5, %if.end + %18 = load i32, i32* %retval, align 4 + ret i32 %18 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @setlocale_null_androidfix(i32 %category) #3 { +entry: + %category.addr = alloca i32, align 4 + %result = alloca i8*, align 8 + store i32 %category, i32* %category.addr, align 4 + %0 = load i32, i32* %category.addr, align 4 + %call = call i8* @setlocale(i32 %0, i8* null) #11 + store i8* %call, i8** %result, align 8 + %1 = load i8*, i8** %result, align 8 + ret i8* %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @locale_charset() #3 { +entry: + %codeset = alloca i8*, align 8 + %call = call i8* @nl_langinfo(i32 14) #11 + store i8* %call, i8** %codeset, align 8 + %0 = load i8*, i8** %codeset, align 8 + %cmp = icmp eq i8* %0, null + %spec.store.select = select i1 %cmp, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.124, i64 0, i64 0), i8* %call + store i8* %spec.store.select, i8** %codeset, align 8 + %1 = load i8*, i8** %codeset, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %2 to i32 + %cmp1 = icmp eq i32 %conv, 0 + %spec.store.select1 = select i1 %cmp1, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1.125, i64 0, i64 0), i8* %spec.store.select + store i8* %spec.store.select1, i8** %codeset, align 8 + %3 = load i8*, i8** %codeset, align 8 + ret i8* %3 +} + +; Function Attrs: noinline nounwind readonly uwtable +define dso_local i32 @c_strcasecmp(i8* %s1, i8* %s2) #15 { +entry: + %retval = alloca i32, align 4 + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %p1 = alloca i8*, align 8 + %p2 = alloca i8*, align 8 + %c1 = alloca i8, align 1 + %c2 = alloca i8, align 1 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %p1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %p2, align 8 + %2 = load i8*, i8** %p1, align 8 + %3 = load i8*, i8** %p2, align 8 + %cmp = icmp eq i8* %2, %3 + br i1 %cmp, label %if.then, label %do.body + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +do.body: ; preds = %entry, %if.end9 + %4 = load i8*, i8** %p1, align 8 + %5 = load i8, i8* %4, align 1 + %conv = zext i8 %5 to i32 + %call = call i32 @c_tolower(i32 %conv) + %conv1 = trunc i32 %call to i8 + store i8 %conv1, i8* %c1, align 1 + %6 = load i8*, i8** %p2, align 8 + %7 = load i8, i8* %6, align 1 + %conv2 = zext i8 %7 to i32 + %call3 = call i32 @c_tolower(i32 %conv2) + %conv4 = trunc i32 %call3 to i8 + store i8 %conv4, i8* %c2, align 1 + %8 = load i8, i8* %c1, align 1 + %conv5 = zext i8 %8 to i32 + %cmp6 = icmp eq i32 %conv5, 0 + br i1 %cmp6, label %do.end, label %if.end9 + +if.end9: ; preds = %do.body + %9 = load i8*, i8** %p1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %p1, align 8 + %10 = load i8*, i8** %p2, align 8 + %incdec.ptr10 = getelementptr inbounds i8, i8* %10, i32 1 + store i8* %incdec.ptr10, i8** %p2, align 8 + %11 = load i8, i8* %c1, align 1 + %conv11 = zext i8 %11 to i32 + %12 = load i8, i8* %c2, align 1 + %conv12 = zext i8 %12 to i32 + %cmp13 = icmp eq i32 %conv11, %conv12 + br i1 %cmp13, label %do.body, label %do.end + +do.end: ; preds = %do.body, %if.end9 + %13 = load i8, i8* %c1, align 1 + %conv15 = zext i8 %13 to i32 + %14 = load i8, i8* %c2, align 1 + %conv16 = zext i8 %14 to i32 + %sub = sub nsw i32 %conv15, %conv16 + store i32 %sub, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end, %if.then + %15 = load i32, i32* %retval, align 4 + ret i32 %15 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @c_tolower(i32 %c) #3 { +entry: + %retval = alloca i32, align 4 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -65 + %switch = icmp ult i32 %.off, 26 + %1 = load i32, i32* %c.addr, align 4 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + %sub = sub nsw i32 %1, 65 + %add = add nsw i32 %sub, 97 + store i32 %add, i32* %retval, align 4 + br label %return + +sw.default: ; preds = %entry + store i32 %1, i32* %retval, align 4 + br label %return + +return: ; preds = %sw.default, %sw.bb + %2 = load i32, i32* %retval, align 4 + ret i32 %2 +} + +; Function Attrs: nounwind +declare dso_local i8* @realloc(i8*, i64) #4 + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote_n(i32 %n, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quote_n_mem(i32 %0, i8* %1, i64 -1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote_n_mem(i32 %n, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %2 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %0, i8* %1, i64 %2, %struct.quoting_options* @quote_quoting_options) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc_va(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, %struct.__va_list_tag.0* %authors) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors.addr = alloca %struct.__va_list_tag.0*, align 8 + %n_authors = alloca i64, align 8 + %authtab = alloca [10 x i8*], align 16 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + store %struct.__va_list_tag.0* %authors, %struct.__va_list_tag.0** %authors.addr, align 8 + store i64 0, i64* %n_authors, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i64, i64* %n_authors, align 8 + %cmp = icmp ult i64 %0, 10 + br i1 %cmp, label %land.rhs, label %for.end + +land.rhs: ; preds = %for.cond + %1 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %authors.addr, align 8 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %1, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 8 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %land.rhs + %2 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %1, i32 0, i32 3 + %reg_save_area = load i8*, i8** %2, align 8 + %3 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %4 = bitcast i8* %3 to i8** + %5 = add i32 %gp_offset, 8 + store i32 %5, i32* %gp_offset_p, align 8 + br label %vaarg.end + +vaarg.in_mem: ; preds = %land.rhs + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %1, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %6 = bitcast i8* %overflow_arg_area to i8** + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i8** [ %4, %vaarg.in_reg ], [ %6, %vaarg.in_mem ] + %7 = load i8*, i8** %vaarg.addr, align 8 + %8 = load i64, i64* %n_authors, align 8 + %arrayidx = getelementptr inbounds [10 x i8*], [10 x i8*]* %authtab, i64 0, i64 %8 + store i8* %7, i8** %arrayidx, align 8 + %cmp1 = icmp ne i8* %7, null + br i1 %cmp1, label %for.inc, label %for.end + +for.inc: ; preds = %vaarg.end + %9 = load i64, i64* %n_authors, align 8 + %inc = add i64 %9, 1 + store i64 %inc, i64* %n_authors, align 8 + br label %for.cond + +for.end: ; preds = %for.cond, %vaarg.end + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %11 = load i8*, i8** %command_name.addr, align 8 + %12 = load i8*, i8** %package.addr, align 8 + %13 = load i8*, i8** %version.addr, align 8 + %arraydecay = getelementptr inbounds [10 x i8*], [10 x i8*]* %authtab, i64 0, i64 0 + %14 = load i64, i64* %n_authors, align 8 + call void @version_etc_arn(%struct._IO_FILE* %10, i8* %11, i8* %12, i8* %13, i8** %arraydecay, i64 %14) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc_arn(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, i8** %authors, i64 %n_authors) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors.addr = alloca i8**, align 8 + %n_authors.addr = alloca i64, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + store i8** %authors, i8*** %authors.addr, align 8 + store i64 %n_authors, i64* %n_authors.addr, align 8 + %0 = load i8*, i8** %command_name.addr, align 8 + %tobool = icmp ne i8* %0, null + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %entry + %2 = load i8*, i8** %command_name.addr, align 8 + %3 = load i8*, i8** %package.addr, align 8 + %4 = load i8*, i8** %version.addr, align 8 + %call = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %1, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.75, i64 0, i64 0), i8* %2, i8* %3, i8* %4) + br label %if.end + +if.else: ; preds = %entry + %5 = load i8*, i8** %package.addr, align 8 + %6 = load i8*, i8** %version.addr, align 8 + %call1 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %1, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.76, i64 0, i64 0), i8* %5, i8* %6) + br label %if.end + +if.end: ; preds = %if.else, %if.then + %7 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call2 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %7, i8* getelementptr inbounds ([47 x i8], [47 x i8]* @version_etc_copyright, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2.77, i64 0, i64 0), i32 2020) + %8 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call3 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.78, i64 0, i64 0), %struct._IO_FILE* %8) + %9 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call4 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %9, i8* getelementptr inbounds ([171 x i8], [171 x i8]* @.str.4.79, i64 0, i64 0), i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.5.80, i64 0, i64 0)) + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call5 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.78, i64 0, i64 0), %struct._IO_FILE* %10) + %11 = load i64, i64* %n_authors.addr, align 8 + br label %NodeBlock17 + +NodeBlock17: ; preds = %if.end + %case.cmp18 = icmp eq i64 %11, 0 + br i1 %case.cmp18, label %sw.epilog, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i64 %11, 1 + br i1 %case.cmp16, label %sw.bb6, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i64 %11, 2 + br i1 %case.cmp14, label %sw.bb8, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i64 %11, 3 + br i1 %case.cmp12, label %sw.bb12, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i64 %11, 4 + br i1 %case.cmp10, label %sw.bb17, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i64 %11, 5 + br i1 %case.cmp8, label %sw.bb23, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i64 %11, 6 + br i1 %case.cmp6, label %sw.bb30, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i64 %11, 7 + br i1 %case.cmp4, label %sw.bb38, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i64 %11, 8 + br i1 %case.cmp2, label %sw.bb47, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i64 %11, 9 + br i1 %case.cmp, label %sw.bb57, label %newDefault + +sw.bb6: ; preds = %NodeBlock15 + %12 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %13 = load i8**, i8*** %authors.addr, align 8 + %arrayidx = getelementptr inbounds i8*, i8** %13, i64 0 + %14 = load i8*, i8** %arrayidx, align 8 + %call7 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %12, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.6.81, i64 0, i64 0), i8* %14) + br label %sw.epilog + +sw.bb8: ; preds = %NodeBlock13 + %15 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %16 = load i8**, i8*** %authors.addr, align 8 + %arrayidx9 = getelementptr inbounds i8*, i8** %16, i64 0 + %17 = load i8*, i8** %arrayidx9, align 8 + %18 = load i8**, i8*** %authors.addr, align 8 + %arrayidx10 = getelementptr inbounds i8*, i8** %18, i64 1 + %19 = load i8*, i8** %arrayidx10, align 8 + %call11 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %15, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.7.82, i64 0, i64 0), i8* %17, i8* %19) + br label %sw.epilog + +sw.bb12: ; preds = %NodeBlock11 + %20 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %21 = load i8**, i8*** %authors.addr, align 8 + %arrayidx13 = getelementptr inbounds i8*, i8** %21, i64 0 + %22 = load i8*, i8** %arrayidx13, align 8 + %23 = load i8**, i8*** %authors.addr, align 8 + %arrayidx14 = getelementptr inbounds i8*, i8** %23, i64 1 + %24 = load i8*, i8** %arrayidx14, align 8 + %25 = load i8**, i8*** %authors.addr, align 8 + %arrayidx15 = getelementptr inbounds i8*, i8** %25, i64 2 + %26 = load i8*, i8** %arrayidx15, align 8 + %call16 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %20, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.8.83, i64 0, i64 0), i8* %22, i8* %24, i8* %26) + br label %sw.epilog + +sw.bb17: ; preds = %NodeBlock9 + %27 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %28 = load i8**, i8*** %authors.addr, align 8 + %arrayidx18 = getelementptr inbounds i8*, i8** %28, i64 0 + %29 = load i8*, i8** %arrayidx18, align 8 + %30 = load i8**, i8*** %authors.addr, align 8 + %arrayidx19 = getelementptr inbounds i8*, i8** %30, i64 1 + %31 = load i8*, i8** %arrayidx19, align 8 + %32 = load i8**, i8*** %authors.addr, align 8 + %arrayidx20 = getelementptr inbounds i8*, i8** %32, i64 2 + %33 = load i8*, i8** %arrayidx20, align 8 + %34 = load i8**, i8*** %authors.addr, align 8 + %arrayidx21 = getelementptr inbounds i8*, i8** %34, i64 3 + %35 = load i8*, i8** %arrayidx21, align 8 + %call22 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %27, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.9.84, i64 0, i64 0), i8* %29, i8* %31, i8* %33, i8* %35) + br label %sw.epilog + +sw.bb23: ; preds = %NodeBlock7 + %36 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %37 = load i8**, i8*** %authors.addr, align 8 + %arrayidx24 = getelementptr inbounds i8*, i8** %37, i64 0 + %38 = load i8*, i8** %arrayidx24, align 8 + %39 = load i8**, i8*** %authors.addr, align 8 + %arrayidx25 = getelementptr inbounds i8*, i8** %39, i64 1 + %40 = load i8*, i8** %arrayidx25, align 8 + %41 = load i8**, i8*** %authors.addr, align 8 + %arrayidx26 = getelementptr inbounds i8*, i8** %41, i64 2 + %42 = load i8*, i8** %arrayidx26, align 8 + %43 = load i8**, i8*** %authors.addr, align 8 + %arrayidx27 = getelementptr inbounds i8*, i8** %43, i64 3 + %44 = load i8*, i8** %arrayidx27, align 8 + %45 = load i8**, i8*** %authors.addr, align 8 + %arrayidx28 = getelementptr inbounds i8*, i8** %45, i64 4 + %46 = load i8*, i8** %arrayidx28, align 8 + %call29 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %36, i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.10.85, i64 0, i64 0), i8* %38, i8* %40, i8* %42, i8* %44, i8* %46) + br label %sw.epilog + +sw.bb30: ; preds = %NodeBlock5 + %47 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %48 = load i8**, i8*** %authors.addr, align 8 + %arrayidx31 = getelementptr inbounds i8*, i8** %48, i64 0 + %49 = load i8*, i8** %arrayidx31, align 8 + %50 = load i8**, i8*** %authors.addr, align 8 + %arrayidx32 = getelementptr inbounds i8*, i8** %50, i64 1 + %51 = load i8*, i8** %arrayidx32, align 8 + %52 = load i8**, i8*** %authors.addr, align 8 + %arrayidx33 = getelementptr inbounds i8*, i8** %52, i64 2 + %53 = load i8*, i8** %arrayidx33, align 8 + %54 = load i8**, i8*** %authors.addr, align 8 + %arrayidx34 = getelementptr inbounds i8*, i8** %54, i64 3 + %55 = load i8*, i8** %arrayidx34, align 8 + %56 = load i8**, i8*** %authors.addr, align 8 + %arrayidx35 = getelementptr inbounds i8*, i8** %56, i64 4 + %57 = load i8*, i8** %arrayidx35, align 8 + %58 = load i8**, i8*** %authors.addr, align 8 + %arrayidx36 = getelementptr inbounds i8*, i8** %58, i64 5 + %59 = load i8*, i8** %arrayidx36, align 8 + %call37 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %47, i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.11.86, i64 0, i64 0), i8* %49, i8* %51, i8* %53, i8* %55, i8* %57, i8* %59) + br label %sw.epilog + +sw.bb38: ; preds = %NodeBlock3 + %60 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %61 = load i8**, i8*** %authors.addr, align 8 + %arrayidx39 = getelementptr inbounds i8*, i8** %61, i64 0 + %62 = load i8*, i8** %arrayidx39, align 8 + %63 = load i8**, i8*** %authors.addr, align 8 + %arrayidx40 = getelementptr inbounds i8*, i8** %63, i64 1 + %64 = load i8*, i8** %arrayidx40, align 8 + %65 = load i8**, i8*** %authors.addr, align 8 + %arrayidx41 = getelementptr inbounds i8*, i8** %65, i64 2 + %66 = load i8*, i8** %arrayidx41, align 8 + %67 = load i8**, i8*** %authors.addr, align 8 + %arrayidx42 = getelementptr inbounds i8*, i8** %67, i64 3 + %68 = load i8*, i8** %arrayidx42, align 8 + %69 = load i8**, i8*** %authors.addr, align 8 + %arrayidx43 = getelementptr inbounds i8*, i8** %69, i64 4 + %70 = load i8*, i8** %arrayidx43, align 8 + %71 = load i8**, i8*** %authors.addr, align 8 + %arrayidx44 = getelementptr inbounds i8*, i8** %71, i64 5 + %72 = load i8*, i8** %arrayidx44, align 8 + %73 = load i8**, i8*** %authors.addr, align 8 + %arrayidx45 = getelementptr inbounds i8*, i8** %73, i64 6 + %74 = load i8*, i8** %arrayidx45, align 8 + %call46 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %60, i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.12.87, i64 0, i64 0), i8* %62, i8* %64, i8* %66, i8* %68, i8* %70, i8* %72, i8* %74) + br label %sw.epilog + +sw.bb47: ; preds = %NodeBlock1 + %75 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %76 = load i8**, i8*** %authors.addr, align 8 + %arrayidx48 = getelementptr inbounds i8*, i8** %76, i64 0 + %77 = load i8*, i8** %arrayidx48, align 8 + %78 = load i8**, i8*** %authors.addr, align 8 + %arrayidx49 = getelementptr inbounds i8*, i8** %78, i64 1 + %79 = load i8*, i8** %arrayidx49, align 8 + %80 = load i8**, i8*** %authors.addr, align 8 + %arrayidx50 = getelementptr inbounds i8*, i8** %80, i64 2 + %81 = load i8*, i8** %arrayidx50, align 8 + %82 = load i8**, i8*** %authors.addr, align 8 + %arrayidx51 = getelementptr inbounds i8*, i8** %82, i64 3 + %83 = load i8*, i8** %arrayidx51, align 8 + %84 = load i8**, i8*** %authors.addr, align 8 + %arrayidx52 = getelementptr inbounds i8*, i8** %84, i64 4 + %85 = load i8*, i8** %arrayidx52, align 8 + %86 = load i8**, i8*** %authors.addr, align 8 + %arrayidx53 = getelementptr inbounds i8*, i8** %86, i64 5 + %87 = load i8*, i8** %arrayidx53, align 8 + %88 = load i8**, i8*** %authors.addr, align 8 + %arrayidx54 = getelementptr inbounds i8*, i8** %88, i64 6 + %89 = load i8*, i8** %arrayidx54, align 8 + %90 = load i8**, i8*** %authors.addr, align 8 + %arrayidx55 = getelementptr inbounds i8*, i8** %90, i64 7 + %91 = load i8*, i8** %arrayidx55, align 8 + %call56 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %75, i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.13.88, i64 0, i64 0), i8* %77, i8* %79, i8* %81, i8* %83, i8* %85, i8* %87, i8* %89, i8* %91) + br label %sw.epilog + +sw.bb57: ; preds = %NodeBlock + %92 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %93 = load i8**, i8*** %authors.addr, align 8 + %arrayidx58 = getelementptr inbounds i8*, i8** %93, i64 0 + %94 = load i8*, i8** %arrayidx58, align 8 + %95 = load i8**, i8*** %authors.addr, align 8 + %arrayidx59 = getelementptr inbounds i8*, i8** %95, i64 1 + %96 = load i8*, i8** %arrayidx59, align 8 + %97 = load i8**, i8*** %authors.addr, align 8 + %arrayidx60 = getelementptr inbounds i8*, i8** %97, i64 2 + %98 = load i8*, i8** %arrayidx60, align 8 + %99 = load i8**, i8*** %authors.addr, align 8 + %arrayidx61 = getelementptr inbounds i8*, i8** %99, i64 3 + %100 = load i8*, i8** %arrayidx61, align 8 + %101 = load i8**, i8*** %authors.addr, align 8 + %arrayidx62 = getelementptr inbounds i8*, i8** %101, i64 4 + %102 = load i8*, i8** %arrayidx62, align 8 + %103 = load i8**, i8*** %authors.addr, align 8 + %arrayidx63 = getelementptr inbounds i8*, i8** %103, i64 5 + %104 = load i8*, i8** %arrayidx63, align 8 + %105 = load i8**, i8*** %authors.addr, align 8 + %arrayidx64 = getelementptr inbounds i8*, i8** %105, i64 6 + %106 = load i8*, i8** %arrayidx64, align 8 + %107 = load i8**, i8*** %authors.addr, align 8 + %arrayidx65 = getelementptr inbounds i8*, i8** %107, i64 7 + %108 = load i8*, i8** %arrayidx65, align 8 + %109 = load i8**, i8*** %authors.addr, align 8 + %arrayidx66 = getelementptr inbounds i8*, i8** %109, i64 8 + %110 = load i8*, i8** %arrayidx66, align 8 + %call67 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %92, i8* getelementptr inbounds ([52 x i8], [52 x i8]* @.str.14.89, i64 0, i64 0), i8* %94, i8* %96, i8* %98, i8* %100, i8* %102, i8* %104, i8* %106, i8* %108, i8* %110) + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + %111 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %112 = load i8**, i8*** %authors.addr, align 8 + %arrayidx68 = getelementptr inbounds i8*, i8** %112, i64 0 + %113 = load i8*, i8** %arrayidx68, align 8 + %114 = load i8**, i8*** %authors.addr, align 8 + %arrayidx69 = getelementptr inbounds i8*, i8** %114, i64 1 + %115 = load i8*, i8** %arrayidx69, align 8 + %116 = load i8**, i8*** %authors.addr, align 8 + %arrayidx70 = getelementptr inbounds i8*, i8** %116, i64 2 + %117 = load i8*, i8** %arrayidx70, align 8 + %118 = load i8**, i8*** %authors.addr, align 8 + %arrayidx71 = getelementptr inbounds i8*, i8** %118, i64 3 + %119 = load i8*, i8** %arrayidx71, align 8 + %120 = load i8**, i8*** %authors.addr, align 8 + %arrayidx72 = getelementptr inbounds i8*, i8** %120, i64 4 + %121 = load i8*, i8** %arrayidx72, align 8 + %122 = load i8**, i8*** %authors.addr, align 8 + %arrayidx73 = getelementptr inbounds i8*, i8** %122, i64 5 + %123 = load i8*, i8** %arrayidx73, align 8 + %124 = load i8**, i8*** %authors.addr, align 8 + %arrayidx74 = getelementptr inbounds i8*, i8** %124, i64 6 + %125 = load i8*, i8** %arrayidx74, align 8 + %126 = load i8**, i8*** %authors.addr, align 8 + %arrayidx75 = getelementptr inbounds i8*, i8** %126, i64 7 + %127 = load i8*, i8** %arrayidx75, align 8 + %128 = load i8**, i8*** %authors.addr, align 8 + %arrayidx76 = getelementptr inbounds i8*, i8** %128, i64 8 + %129 = load i8*, i8** %arrayidx76, align 8 + %call77 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %111, i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.15.90, i64 0, i64 0), i8* %113, i8* %115, i8* %117, i8* %119, i8* %121, i8* %123, i8* %125, i8* %127, i8* %129) + br label %sw.epilog + +sw.epilog: ; preds = %NodeBlock17, %sw.default, %sw.bb57, %sw.bb47, %sw.bb38, %sw.bb30, %sw.bb23, %sw.bb17, %sw.bb12, %sw.bb8, %sw.bb6 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @close_stream(%struct._IO_FILE* %stream) #3 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct._IO_FILE*, align 8 + %some_pending = alloca i8, align 1 + %prev_fail = alloca i8, align 1 + %fclose_fail = alloca i8, align 1 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.513*)* @__fpending to i64 (%struct._IO_FILE*)*)(%struct._IO_FILE* %0) #11 + %cmp = icmp ne i64 %call, 0 + %frombool = zext i1 %cmp to i8 + store i8 %frombool, i8* %some_pending, align 1 + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call1 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.592*)* @ferror_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %1) #11 + %cmp2 = icmp ne i32 %call1, 0 + %frombool3 = zext i1 %cmp2 to i8 + store i8 %frombool3, i8* %prev_fail, align 1 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call4 = call i32 @rpl_fclose(%struct._IO_FILE* %2) + %cmp5 = icmp ne i32 %call4, 0 + %frombool6 = zext i1 %cmp5 to i8 + store i8 %frombool6, i8* %fclose_fail, align 1 + %3 = load i8, i8* %prev_fail, align 1 + %tobool = trunc i8 %3 to i1 + br i1 %tobool, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %4 = load i8, i8* %fclose_fail, align 1 + %tobool7 = trunc i8 %4 to i1 + br i1 %tobool7, label %land.lhs.true, label %if.end15 + +land.lhs.true: ; preds = %lor.lhs.false + %5 = load i8, i8* %some_pending, align 1 + %tobool8 = trunc i8 %5 to i1 + br i1 %tobool8, label %if.then, label %lor.lhs.false9 + +lor.lhs.false9: ; preds = %land.lhs.true + %call10 = call i32* @__errno_location() #25 + %6 = load i32, i32* %call10, align 4 + %cmp11 = icmp ne i32 %6, 9 + br i1 %cmp11, label %if.then, label %if.end15 + +if.then: ; preds = %lor.lhs.false9, %land.lhs.true, %entry + %7 = load i8, i8* %fclose_fail, align 1 + %tobool12 = trunc i8 %7 to i1 + br i1 %tobool12, label %if.end, label %if.then13 + +if.then13: ; preds = %if.then + %call14 = call i32* @__errno_location() #25 + store i32 0, i32* %call14, align 4 + br label %if.end + +if.end: ; preds = %if.then13, %if.then + store i32 -1, i32* %retval, align 4 + br label %return + +if.end15: ; preds = %lor.lhs.false9, %lor.lhs.false + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end15, %if.end + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_colon(i8* %arg) #3 { +entry: + %arg.addr = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_char(i8* %0, i8 signext 58) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_char(i8* %arg, i8 signext %ch) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %ch.addr = alloca i8, align 1 + store i8* %arg, i8** %arg.addr, align 8 + store i8 %ch, i8* %ch.addr, align 1 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i8, i8* %ch.addr, align 1 + %call = call i8* @quotearg_char_mem(i8* %0, i64 -1, i8 signext %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_char_mem(i8* %arg, i64 %argsize, i8 signext %ch) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %ch.addr = alloca i8, align 1 + %options = alloca %struct.quoting_options, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store i8 %ch, i8* %ch.addr, align 1 + %0 = bitcast %struct.quoting_options* %options to i8* + %1 = call i8* @memcpy(i8* %0, i8* bitcast (%struct.quoting_options* @default_quoting_options to i8*), i64 56) + %2 = load i8, i8* %ch.addr, align 1 + %call = call i32 @set_char_quoting(%struct.quoting_options* %options, i8 signext %2, i32 1) + %3 = load i8*, i8** %arg.addr, align 8 + %4 = load i64, i64* %argsize.addr, align 8 + %call1 = call i8* @quotearg_n_options(i32 0, i8* %3, i64 %4, %struct.quoting_options* %options) + ret i8* %call1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @set_char_quoting(%struct.quoting_options* %o, i8 signext %c, i32 %i) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %c.addr = alloca i8, align 1 + %i.addr = alloca i32, align 4 + %uc = alloca i8, align 1 + %p = alloca i32*, align 8 + %shift = alloca i32, align 4 + %r = alloca i32, align 4 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i8 %c, i8* %c.addr, align 1 + store i32 %i, i32* %i.addr, align 4 + %0 = load i8, i8* %c.addr, align 1 + store i8 %0, i8* %uc, align 1 + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %1, null + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %2, %struct.quoting_options* @default_quoting_options + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %cond, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %3 = load i8, i8* %uc, align 1 + %conv = zext i8 %3 to i64 + %div = udiv i64 %conv, 32 + %add.ptr = getelementptr inbounds i32, i32* %arraydecay, i64 %div + store i32* %add.ptr, i32** %p, align 8 + %4 = load i8, i8* %uc, align 1 + %conv1 = zext i8 %4 to i64 + %rem = urem i64 %conv1, 32 + %conv2 = trunc i64 %rem to i32 + store i32 %conv2, i32* %shift, align 4 + %5 = load i32*, i32** %p, align 8 + %6 = load i32, i32* %5, align 4 + %7 = load i32, i32* %shift, align 4 + %shr = lshr i32 %6, %7 + %and = and i32 %shr, 1 + store i32 %and, i32* %r, align 4 + %8 = load i32, i32* %i.addr, align 4 + %and3 = and i32 %8, 1 + %9 = load i32, i32* %r, align 4 + %xor = xor i32 %and3, %9 + %10 = load i32, i32* %shift, align 4 + %shl = shl i32 %xor, %10 + %11 = load i32*, i32** %p, align 8 + %12 = load i32, i32* %11, align 4 + %xor4 = xor i32 %12, %shl + store i32 %xor4, i32* %11, align 4 + %13 = load i32, i32* %r, align 4 + ret i32 %13 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fclose(%struct._IO_FILE* nonnull %fp) #3 { +entry: + %retval = alloca i32, align 4 + %fp.addr = alloca %struct._IO_FILE*, align 8 + %saved_errno = alloca i32, align 4 + %fd = alloca i32, align 4 + %result = alloca i32, align 4 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + store i32 0, i32* %saved_errno, align 4 + store i32 0, i32* %result, align 4 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %0) #11 + store i32 %call, i32* %fd, align 4 + %1 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %1, 0 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call1 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fclose to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %2) + store i32 %call1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %call2 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.519*)* @__freading to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %2) #11 + %cmp3 = icmp ne i32 %call2, 0 + br i1 %cmp3, label %lor.lhs.false, label %land.lhs.true + +lor.lhs.false: ; preds = %if.end + %3 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call4 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %3) #11 + %call5 = call i64 @lseek(i32 %call4, i64 0, i32 1) #11 + %cmp6 = icmp ne i64 %call5, -1 + br i1 %cmp6, label %land.lhs.true, label %if.end10 + +land.lhs.true: ; preds = %lor.lhs.false, %if.end + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call7 = call i32 @rpl_fflush(%struct._IO_FILE* %4) + %tobool = icmp ne i32 %call7, 0 + br i1 %tobool, label %if.then8, label %if.end10 + +if.then8: ; preds = %land.lhs.true + %call9 = call i32* @__errno_location() #25 + %5 = load i32, i32* %call9, align 4 + store i32 %5, i32* %saved_errno, align 4 + br label %if.end10 + +if.end10: ; preds = %if.then8, %land.lhs.true, %lor.lhs.false + %6 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call11 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fclose to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %6) + store i32 %call11, i32* %result, align 4 + %7 = load i32, i32* %saved_errno, align 4 + %cmp12 = icmp ne i32 %7, 0 + br i1 %cmp12, label %if.then13, label %if.end15 + +if.then13: ; preds = %if.end10 + %8 = load i32, i32* %saved_errno, align 4 + %call14 = call i32* @__errno_location() #25 + store i32 %8, i32* %call14, align 4 + store i32 -1, i32* %result, align 4 + br label %if.end15 + +if.end15: ; preds = %if.then13, %if.end10 + %9 = load i32, i32* %result, align 4 + store i32 %9, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end15, %if.then + %10 = load i32, i32* %retval, align 4 + ret i32 %10 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fflush(%struct._IO_FILE* %stream) #3 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %cmp = icmp eq %struct._IO_FILE* %0, null + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.519*)* @__freading to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %1) #11 + %cmp1 = icmp ne i32 %call, 0 + br i1 %cmp1, label %if.end, label %if.then + +if.then: ; preds = %lor.lhs.false, %entry + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call2 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fflush to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %2) + store i32 %call2, i32* %retval, align 4 + br label %return + +if.end: ; preds = %lor.lhs.false + %3 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + call void @clear_ungetc_buffer_preserving_position(%struct._IO_FILE* %3) + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call3 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fflush to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %4) + store i32 %call3, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %5 = load i32, i32* %retval, align 4 + ret i32 %5 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @clear_ungetc_buffer_preserving_position(%struct._IO_FILE* %fp) #3 { +entry: + %fp.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_flags = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %0, i32 0, i32 0 + %1 = load i32, i32* %_flags, align 8 + %and = and i32 %1, 256 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 @rpl_fseeko(%struct._IO_FILE* %2, i64 0, i32 1) + br label %if.end + +if.end: ; preds = %if.then, %entry + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fseeko(%struct._IO_FILE* nonnull %fp, i64 %offset, i32 %whence) #3 { +entry: + %retval = alloca i32, align 4 + %fp.addr = alloca %struct._IO_FILE*, align 8 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + %pos = alloca i64, align 8 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_read_end = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %0, i32 0, i32 2 + %1 = load i8*, i8** %_IO_read_end, align 8 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_read_ptr = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %2, i32 0, i32 1 + %3 = load i8*, i8** %_IO_read_ptr, align 8 + %cmp = icmp eq i8* %1, %3 + br i1 %cmp, label %land.lhs.true, label %if.end7 + +land.lhs.true: ; preds = %entry + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_write_ptr = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %4, i32 0, i32 5 + %5 = load i8*, i8** %_IO_write_ptr, align 8 + %6 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_write_base = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %6, i32 0, i32 4 + %7 = load i8*, i8** %_IO_write_base, align 8 + %cmp1 = icmp eq i8* %5, %7 + br i1 %cmp1, label %land.lhs.true2, label %if.end7 + +land.lhs.true2: ; preds = %land.lhs.true + %8 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_save_base = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %8, i32 0, i32 9 + %9 = load i8*, i8** %_IO_save_base, align 8 + %cmp3 = icmp eq i8* %9, null + br i1 %cmp3, label %if.then, label %if.end7 + +if.then: ; preds = %land.lhs.true2 + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %10) #11 + %11 = load i64, i64* %offset.addr, align 8 + %12 = load i32, i32* %whence.addr, align 4 + %call4 = call i64 @lseek(i32 %call, i64 %11, i32 %12) #11 + store i64 %call4, i64* %pos, align 8 + %13 = load i64, i64* %pos, align 8 + %cmp5 = icmp eq i64 %13, -1 + br i1 %cmp5, label %if.then6, label %if.end + +if.then6: ; preds = %if.then + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %if.then + %14 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_flags = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %14, i32 0, i32 0 + %15 = load i32, i32* %_flags, align 8 + %and = and i32 %15, -17 + store i32 %and, i32* %_flags, align 8 + %16 = load i64, i64* %pos, align 8 + %17 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_offset = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %17, i32 0, i32 21 + store i64 %16, i64* %_offset, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.end7: ; preds = %land.lhs.true2, %land.lhs.true, %entry + %18 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %19 = load i64, i64* %offset.addr, align 8 + %20 = load i32, i32* %whence.addr, align 4 + %call8 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32)* @fseeko to i32 (%struct._IO_FILE*, i64, i32)*)(%struct._IO_FILE* %18, i64 %19, i32 %20) + store i32 %call8, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end7, %if.end, %if.then6 + %21 = load i32, i32* %retval, align 4 + ret i32 %21 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @close_stdout_set_file_name(i8* %file) #3 { +entry: + %file.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + store i8* %0, i8** @file_name, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @close_stdout_set_ignore_EPIPE(i1 zeroext %ignore) #3 { +entry: + %ignore.addr = alloca i8, align 1 + %frombool = zext i1 %ignore to i8 + store i8 %frombool, i8* %ignore.addr, align 1 + %0 = load i8, i8* %ignore.addr, align 1 + %tobool = trunc i8 %0 to i1 + %frombool1 = zext i1 %tobool to i8 + store i8 %frombool1, i8* @ignore_EPIPE, align 1 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @parse_long_options(i32 %argc, i8** %argv, i8* %command_name, i8* %package, i8* %version, void (i32)* %usage_func, ...) #3 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %usage_func.addr = alloca void (i32)*, align 8 + %c = alloca i32, align 4 + %saved_opterr = alloca i32, align 4 + %authors = alloca [1 x %struct.__va_list_tag.0], align 16 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + store void (i32)* %usage_func, void (i32)** %usage_func.addr, align 8 + %0 = load i32, i32* @opterr, align 4 + store i32 %0, i32* %saved_opterr, align 4 + store i32 0, i32* @opterr, align 4 + %1 = load i32, i32* %argc.addr, align 4 + %cmp = icmp eq i32 %1, 2 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %2 = load i32, i32* %argc.addr, align 4 + %3 = load i8**, i8*** %argv.addr, align 8 + %call = call i32 @getopt_long(i32 %2, i8** %3, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.37, i64 0, i64 0), %struct.option* getelementptr inbounds ([3 x %struct.option], [3 x %struct.option]* @long_options, i64 0, i64 0), i32* null) #11 + store i32 %call, i32* %c, align 4 + %cmp1 = icmp ne i32 %call, -1 + br i1 %cmp1, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %4 = load i32, i32* %c, align 4 + br label %NodeBlock1 + +NodeBlock1: ; preds = %if.then + %case.cmp2 = icmp eq i32 %4, 104 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %4, 118 + br i1 %case.cmp, label %sw.bb2, label %newDefault + +sw.bb: ; preds = %NodeBlock1 + %5 = load void (i32)*, void (i32)** %usage_func.addr, align 8 + call void %5(i32 0) + br label %if.end + +sw.bb2: ; preds = %NodeBlock + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %authors, i64 0, i64 0 + %arraydecay3 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay3) + %6 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %7 = load i8*, i8** %command_name.addr, align 8 + %8 = load i8*, i8** %package.addr, align 8 + %9 = load i8*, i8** %version.addr, align 8 + %arraydecay4 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %authors, i64 0, i64 0 + call void @version_etc_va(%struct._IO_FILE* %6, i8* %7, i8* %8, i8* %9, %struct.__va_list_tag.0* %arraydecay4) + call void @exit(i32 0) #26 + unreachable + +newDefault: ; preds = %NodeBlock + br label %if.end + +if.end: ; preds = %newDefault, %sw.bb, %land.lhs.true, %entry + %10 = load i32, i32* %saved_opterr, align 4 + store i32 %10, i32* @opterr, align 4 + store i32 0, i32* @optind, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local %struct.quoting_options* @clone_quoting_options(%struct.quoting_options* %o) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %p = alloca %struct.quoting_options*, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %call = call i32* @__errno_location() #25 + %0 = load i32, i32* %call, align 4 + store i32 %0, i32* %e, align 4 + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %1, null + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %2, %struct.quoting_options* @default_quoting_options + %3 = bitcast %struct.quoting_options* %cond to i8* + %call1 = call i8* @xmemdup(i8* %3, i64 56) + %4 = bitcast i8* %call1 to %struct.quoting_options* + store %struct.quoting_options* %4, %struct.quoting_options** %p, align 8 + %5 = load i32, i32* %e, align 4 + %call2 = call i32* @__errno_location() #25 + store i32 %5, i32* %call2, align 4 + %6 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + ret %struct.quoting_options* %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @xmemdup(i8* %p, i64 %s) #3 { +entry: + %p.addr = alloca i8*, align 8 + %s.addr = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %call = call noalias i8* @xmalloc(i64 %0) + %1 = load i8*, i8** %p.addr, align 8 + %2 = load i64, i64* %s.addr, align 8 + %3 = call i8* @memcpy(i8* %call, i8* %1, i64 %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @get_quoting_style(%struct.quoting_options* %o) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %1, %struct.quoting_options* @default_quoting_options + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %cond, i32 0, i32 0 + %2 = load i32, i32* %style, align 8 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_quoting_style(%struct.quoting_options* %o, i32 %s) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %s.addr = alloca i32, align 4 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i32 %s, i32* %s.addr, align 4 + %0 = load i32, i32* %s.addr, align 4 + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %1, null + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %2, %struct.quoting_options* @default_quoting_options + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %cond, i32 0, i32 0 + store i32 %0, i32* %style, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @set_quoting_flags(%struct.quoting_options* %o, i32 %i) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %i.addr = alloca i32, align 4 + %r = alloca i32, align 4 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i32 %i, i32* %i.addr, align 4 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store %struct.quoting_options* @default_quoting_options, %struct.quoting_options** %o.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %flags = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %1, i32 0, i32 1 + %2 = load i32, i32* %flags, align 4 + store i32 %2, i32* %r, align 4 + %3 = load i32, i32* %i.addr, align 4 + %4 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %flags1 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %4, i32 0, i32 1 + store i32 %3, i32* %flags1, align 4 + %5 = load i32, i32* %r, align 4 + ret i32 %5 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_custom_quoting(%struct.quoting_options* %o, i8* %left_quote, i8* %right_quote) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store %struct.quoting_options* @default_quoting_options, %struct.quoting_options** %o.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %1, i32 0, i32 0 + store i32 10, i32* %style, align 8 + %2 = load i8*, i8** %left_quote.addr, align 8 + %tobool1 = icmp ne i8* %2, null + %3 = load i8*, i8** %right_quote.addr, align 8 + %tobool2 = icmp ne i8* %3, null + %or.cond = and i1 %tobool1, %tobool2 + br i1 %or.cond, label %if.end4, label %if.then3 + +if.then3: ; preds = %if.end + call void @abort() #26 + unreachable + +if.end4: ; preds = %if.end + %4 = load i8*, i8** %left_quote.addr, align 8 + %5 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %left_quote5 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %5, i32 0, i32 3 + store i8* %4, i8** %left_quote5, align 8 + %6 = load i8*, i8** %right_quote.addr, align 8 + %7 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %right_quote6 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %7, i32 0, i32 4 + store i8* %6, i8** %right_quote6, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @quotearg_buffer(i8* %buffer, i64 %buffersize, i8* %arg, i64 %argsize, %struct.quoting_options* %o) #3 { +entry: + %buffer.addr = alloca i8*, align 8 + %buffersize.addr = alloca i64, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o.addr = alloca %struct.quoting_options*, align 8 + %p = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %r = alloca i64, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %buffersize, i64* %buffersize.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %1, %struct.quoting_options* @default_quoting_options + store %struct.quoting_options* %cond, %struct.quoting_options** %p, align 8 + %call = call i32* @__errno_location() #25 + %2 = load i32, i32* %call, align 4 + store i32 %2, i32* %e, align 4 + %3 = load i8*, i8** %buffer.addr, align 8 + %4 = load i64, i64* %buffersize.addr, align 8 + %5 = load i8*, i8** %arg.addr, align 8 + %6 = load i64, i64* %argsize.addr, align 8 + %7 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %7, i32 0, i32 0 + %8 = load i32, i32* %style, align 8 + %9 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %flags = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %9, i32 0, i32 1 + %10 = load i32, i32* %flags, align 4 + %11 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %11, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %12 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %left_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %12, i32 0, i32 3 + %13 = load i8*, i8** %left_quote, align 8 + %14 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %right_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %14, i32 0, i32 4 + %15 = load i8*, i8** %right_quote, align 8 + %call1 = call i64 @quotearg_buffer_restyled(i8* %3, i64 %4, i8* %5, i64 %6, i32 %8, i32 %10, i32* %arraydecay, i8* %13, i8* %15) + store i64 %call1, i64* %r, align 8 + %16 = load i32, i32* %e, align 4 + %call2 = call i32* @__errno_location() #25 + store i32 %16, i32* %call2, align 4 + %17 = load i64, i64* %r, align 8 + ret i64 %17 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_alloc(i8* %arg, i64 %argsize, %struct.quoting_options* %o) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o.addr = alloca %struct.quoting_options*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %call = call i8* @quotearg_alloc_mem(i8* %0, i64 %1, i64* null, %struct.quoting_options* %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_alloc_mem(i8* %arg, i64 %argsize, i64* %size, %struct.quoting_options* %o) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %size.addr = alloca i64*, align 8 + %o.addr = alloca %struct.quoting_options*, align 8 + %p = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %flags = alloca i32, align 4 + %bufsize = alloca i64, align 8 + %buf = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store i64* %size, i64** %size.addr, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %1, %struct.quoting_options* @default_quoting_options + store %struct.quoting_options* %cond, %struct.quoting_options** %p, align 8 + %call = call i32* @__errno_location() #25 + %2 = load i32, i32* %call, align 4 + store i32 %2, i32* %e, align 4 + %3 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %flags1 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %3, i32 0, i32 1 + %4 = load i32, i32* %flags1, align 4 + %5 = load i64*, i64** %size.addr, align 8 + %tobool2 = icmp ne i64* %5, null + %6 = zext i1 %tobool2 to i64 + %cond3 = select i1 %tobool2, i32 0, i32 1 + %or = or i32 %4, %cond3 + store i32 %or, i32* %flags, align 4 + %7 = load i8*, i8** %arg.addr, align 8 + %8 = load i64, i64* %argsize.addr, align 8 + %9 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %9, i32 0, i32 0 + %10 = load i32, i32* %style, align 8 + %11 = load i32, i32* %flags, align 4 + %12 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %12, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %13 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %left_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %13, i32 0, i32 3 + %14 = load i8*, i8** %left_quote, align 8 + %15 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %right_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %15, i32 0, i32 4 + %16 = load i8*, i8** %right_quote, align 8 + %call4 = call i64 @quotearg_buffer_restyled(i8* null, i64 0, i8* %7, i64 %8, i32 %10, i32 %11, i32* %arraydecay, i8* %14, i8* %16) + %add = add i64 %call4, 1 + store i64 %add, i64* %bufsize, align 8 + %17 = load i64, i64* %bufsize, align 8 + %call5 = call noalias i8* @xcharalloc(i64 %17) + store i8* %call5, i8** %buf, align 8 + %18 = load i8*, i8** %buf, align 8 + %19 = load i64, i64* %bufsize, align 8 + %20 = load i8*, i8** %arg.addr, align 8 + %21 = load i64, i64* %argsize.addr, align 8 + %22 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %style6 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %22, i32 0, i32 0 + %23 = load i32, i32* %style6, align 8 + %24 = load i32, i32* %flags, align 4 + %25 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %quote_these_too7 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %25, i32 0, i32 2 + %arraydecay8 = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too7, i64 0, i64 0 + %26 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %left_quote9 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %26, i32 0, i32 3 + %27 = load i8*, i8** %left_quote9, align 8 + %28 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %right_quote10 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %28, i32 0, i32 4 + %29 = load i8*, i8** %right_quote10, align 8 + %call11 = call i64 @quotearg_buffer_restyled(i8* %18, i64 %19, i8* %20, i64 %21, i32 %23, i32 %24, i32* %arraydecay8, i8* %27, i8* %29) + %30 = load i32, i32* %e, align 4 + %call12 = call i32* @__errno_location() #25 + store i32 %30, i32* %call12, align 4 + %31 = load i64*, i64** %size.addr, align 8 + %tobool13 = icmp ne i64* %31, null + br i1 %tobool13, label %if.then, label %if.end + +if.then: ; preds = %entry + %32 = load i64, i64* %bufsize, align 8 + %sub = sub i64 %32, 1 + %33 = load i64*, i64** %size.addr, align 8 + store i64 %sub, i64* %33, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %34 = load i8*, i8** %buf, align 8 + ret i8* %34 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @quotearg_free() #3 { +entry: + %sv = alloca %struct.slotvec*, align 8 + %i = alloca i32, align 4 + %0 = load %struct.slotvec*, %struct.slotvec** @slotvec, align 8 + store %struct.slotvec* %0, %struct.slotvec** %sv, align 8 + store i32 1, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %1 = load i32, i32* %i, align 4 + %2 = load i32, i32* @nslots, align 4 + %cmp = icmp slt i32 %1, %2 + %3 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %4 = load i32, i32* %i, align 4 + %idxprom = sext i32 %4 to i64 + %arrayidx = getelementptr inbounds %struct.slotvec, %struct.slotvec* %3, i64 %idxprom + %val = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx, i32 0, i32 1 + %5 = load i8*, i8** %val, align 8 + call void @free(i8* %5) #11 + %6 = load i32, i32* %i, align 4 + %inc = add nsw i32 %6, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %arrayidx1 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %3, i64 0 + %val2 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx1, i32 0, i32 1 + %7 = load i8*, i8** %val2, align 8 + %cmp3 = icmp ne i8* %7, getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i64 0, i64 0) + br i1 %cmp3, label %if.then, label %if.end + +if.then: ; preds = %for.end + %8 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %arrayidx4 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %8, i64 0 + %val5 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx4, i32 0, i32 1 + %9 = load i8*, i8** %val5, align 8 + call void @free(i8* %9) #11 + store i64 256, i64* getelementptr inbounds (%struct.slotvec, %struct.slotvec* @slotvec0, i32 0, i32 0), align 8 + store i8* getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i64 0, i64 0), i8** getelementptr inbounds (%struct.slotvec, %struct.slotvec* @slotvec0, i32 0, i32 1), align 8 + br label %if.end + +if.end: ; preds = %if.then, %for.end + %10 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %cmp6 = icmp ne %struct.slotvec* %10, @slotvec0 + br i1 %cmp6, label %if.then7, label %if.end8 + +if.then7: ; preds = %if.end + %11 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %12 = bitcast %struct.slotvec* %11 to i8* + call void @free(i8* %12) #11 + store %struct.slotvec* @slotvec0, %struct.slotvec** @slotvec, align 8 + br label %if.end8 + +if.end8: ; preds = %if.then7, %if.end + store i32 1, i32* @nslots, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n(i32 %n, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %0, i8* %1, i64 -1, %struct.quoting_options* @default_quoting_options) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_mem(i32 %n, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %2 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %0, i8* %1, i64 %2, %struct.quoting_options* @default_quoting_options) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg(i8* %arg) #3 { +entry: + %arg.addr = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n(i32 0, i8* %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_mem(i8* %arg, i64 %argsize) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_mem(i32 0, i8* %0, i64 %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_style_mem(i32 %n, i32 %s, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + call void @quoting_options_from_style(%struct.quoting_options* sret align 8 %o, i32 %0) + %1 = load i32, i32* %n.addr, align 4 + %2 = load i8*, i8** %arg.addr, align 8 + %3 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %1, i8* %2, i64 %3, %struct.quoting_options* %o) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_style(i32 %s, i8* %arg) #3 { +entry: + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_style(i32 0, i32 %0, i8* %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_style_mem(i32 %s, i8* %arg, i64 %argsize) #3 { +entry: + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %2 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_style_mem(i32 0, i32 %0, i8* %1, i64 %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_colon_mem(i8* %arg, i64 %argsize) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_char_mem(i8* %0, i64 %1, i8 signext 58) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_style_colon(i32 %n, i32 %s, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %options = alloca %struct.quoting_options, align 8 + %tmp = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + call void @quoting_options_from_style(%struct.quoting_options* sret align 8 %tmp, i32 %0) + %1 = bitcast %struct.quoting_options* %options to i8* + %2 = bitcast %struct.quoting_options* %tmp to i8* + %3 = call i8* @memcpy(i8* %1, i8* %2, i64 56) + %call = call i32 @set_char_quoting(%struct.quoting_options* %options, i8 signext 58, i32 1) + %4 = load i32, i32* %n.addr, align 4 + %5 = load i8*, i8** %arg.addr, align 8 + %call1 = call i8* @quotearg_n_options(i32 %4, i8* %5, i64 -1, %struct.quoting_options* %options) + ret i8* %call1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_custom(i32 %n, i8* %left_quote, i8* %right_quote, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %left_quote.addr, align 8 + %2 = load i8*, i8** %right_quote.addr, align 8 + %3 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_custom_mem(i32 %0, i8* %1, i8* %2, i8* %3, i64 -1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_custom_mem(i32 %n, i8* %left_quote, i8* %right_quote, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = bitcast %struct.quoting_options* %o to i8* + %1 = call i8* @memcpy(i8* %0, i8* bitcast (%struct.quoting_options* @default_quoting_options to i8*), i64 56) + %2 = load i8*, i8** %left_quote.addr, align 8 + %3 = load i8*, i8** %right_quote.addr, align 8 + call void @set_custom_quoting(%struct.quoting_options* %o, i8* %2, i8* %3) + %4 = load i32, i32* %n.addr, align 4 + %5 = load i8*, i8** %arg.addr, align 8 + %6 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %4, i8* %5, i64 %6, %struct.quoting_options* %o) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_custom(i8* %left_quote, i8* %right_quote, i8* %arg) #3 { +entry: + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %left_quote.addr, align 8 + %1 = load i8*, i8** %right_quote.addr, align 8 + %2 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_custom(i32 0, i8* %0, i8* %1, i8* %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_custom_mem(i8* %left_quote, i8* %right_quote, i8* %arg, i64 %argsize) #3 { +entry: + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %left_quote.addr, align 8 + %1 = load i8*, i8** %right_quote.addr, align 8 + %2 = load i8*, i8** %arg.addr, align 8 + %3 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_custom_mem(i32 0, i8* %0, i8* %1, i8* %2, i64 %3) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote_mem(i8* %arg, i64 %argsize) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quote_n_mem(i32 0, i8* %0, i64 %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc_ar(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, i8** %authors) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors.addr = alloca i8**, align 8 + %n_authors = alloca i64, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + store i8** %authors, i8*** %authors.addr, align 8 + store i64 0, i64* %n_authors, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i8**, i8*** %authors.addr, align 8 + %1 = load i64, i64* %n_authors, align 8 + %arrayidx = getelementptr inbounds i8*, i8** %0, i64 %1 + %2 = load i8*, i8** %arrayidx, align 8 + %tobool = icmp ne i8* %2, null + br i1 %tobool, label %for.inc, label %for.end + +for.inc: ; preds = %for.cond + %3 = load i64, i64* %n_authors, align 8 + %inc = add i64 %3, 1 + store i64 %inc, i64* %n_authors, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %5 = load i8*, i8** %command_name.addr, align 8 + %6 = load i8*, i8** %package.addr, align 8 + %7 = load i8*, i8** %version.addr, align 8 + %8 = load i8**, i8*** %authors.addr, align 8 + %9 = load i64, i64* %n_authors, align 8 + call void @version_etc_arn(%struct._IO_FILE* %4, i8* %5, i8* %6, i8* %7, i8** %8, i64 %9) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, ...) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors = alloca [1 x %struct.__va_list_tag.0], align 16 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %authors, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %1 = load i8*, i8** %command_name.addr, align 8 + %2 = load i8*, i8** %package.addr, align 8 + %3 = load i8*, i8** %version.addr, align 8 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %authors, i64 0, i64 0 + call void @version_etc_va(%struct._IO_FILE* %0, i8* %1, i8* %2, i8* %3, %struct.__va_list_tag.0* %arraydecay2) + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %authors, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @emit_bug_reporting_address() #3 { +entry: + %0 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.78, i64 0, i64 0), %struct._IO_FILE* %0) + %call1 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.16.93, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.17.94, i64 0, i64 0)) + %call2 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.18.95, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.19.96, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.20.97, i64 0, i64 0)) + %call3 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.21.98, i64 0, i64 0), i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.22.99, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xnmalloc(i64 %n, i64 %s) #3 { +entry: + %n.addr = alloca i64, align 8 + %s.addr = alloca i64, align 8 + store i64 %n, i64* %n.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %div = udiv i64 9223372036854775807, %0 + %1 = load i64, i64* %n.addr, align 8 + %cmp = icmp ult i64 %div, %1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %entry + %2 = load i64, i64* %n.addr, align 8 + %3 = load i64, i64* %s.addr, align 8 + %mul = mul i64 %2, %3 + %call = call noalias i8* @xmalloc(i64 %mul) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @xnrealloc(i8* %p, i64 %n, i64 %s) #3 { +entry: + %p.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %s.addr = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %div = udiv i64 9223372036854775807, %0 + %1 = load i64, i64* %n.addr, align 8 + %cmp = icmp ult i64 %div, %1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %p.addr, align 8 + %3 = load i64, i64* %n.addr, align 8 + %4 = load i64, i64* %s.addr, align 8 + %mul = mul i64 %3, %4 + %call = call i8* @xrealloc(i8* %2, i64 %mul) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @x2nrealloc(i8* %p, i64* %pn, i64 %s) #3 { +entry: + %p.addr = alloca i8*, align 8 + %pn.addr = alloca i64*, align 8 + %s.addr = alloca i64, align 8 + %n = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64* %pn, i64** %pn.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64*, i64** %pn.addr, align 8 + %1 = load i64, i64* %0, align 8 + store i64 %1, i64* %n, align 8 + %2 = load i8*, i8** %p.addr, align 8 + %tobool = icmp ne i8* %2, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %3 = load i64, i64* %n, align 8 + %tobool1 = icmp ne i64 %3, 0 + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + %4 = load i64, i64* %s.addr, align 8 + %div = udiv i64 128, %4 + store i64 %div, i64* %n, align 8 + %5 = load i64, i64* %n, align 8 + %tobool3 = icmp ne i64 %5, 0 + %lnot = xor i1 %tobool3, true + %lnot.ext = zext i1 %lnot to i32 + %conv = sext i32 %lnot.ext to i64 + %6 = load i64, i64* %n, align 8 + %add = add i64 %6, %conv + store i64 %add, i64* %n, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %7 = load i64, i64* %s.addr, align 8 + %div4 = udiv i64 9223372036854775807, %7 + %8 = load i64, i64* %n, align 8 + %cmp = icmp ult i64 %div4, %8 + br i1 %cmp, label %if.then6, label %if.end16 + +if.then6: ; preds = %if.end + call void @xalloc_die() #24 + unreachable + +if.else: ; preds = %entry + %9 = load i64, i64* %s.addr, align 8 + %div8 = udiv i64 6148914691236517204, %9 + %10 = load i64, i64* %n, align 8 + %cmp9 = icmp ule i64 %div8, %10 + br i1 %cmp9, label %if.then11, label %if.end12 + +if.then11: ; preds = %if.else + call void @xalloc_die() #24 + unreachable + +if.end12: ; preds = %if.else + %11 = load i64, i64* %n, align 8 + %div13 = udiv i64 %11, 2 + %add14 = add i64 %div13, 1 + %12 = load i64, i64* %n, align 8 + %add15 = add i64 %12, %add14 + store i64 %add15, i64* %n, align 8 + br label %if.end16 + +if.end16: ; preds = %if.end, %if.end12 + %13 = load i64, i64* %n, align 8 + %14 = load i64*, i64** %pn.addr, align 8 + store i64 %13, i64* %14, align 8 + %15 = load i8*, i8** %p.addr, align 8 + %16 = load i64, i64* %n, align 8 + %17 = load i64, i64* %s.addr, align 8 + %mul = mul i64 %16, %17 + %call = call i8* @xrealloc(i8* %15, i64 %mul) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @x2realloc(i8* %p, i64* %pn) #3 { +entry: + %p.addr = alloca i8*, align 8 + %pn.addr = alloca i64*, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64* %pn, i64** %pn.addr, align 8 + %0 = load i8*, i8** %p.addr, align 8 + %1 = load i64*, i64** %pn.addr, align 8 + %call = call i8* @x2nrealloc(i8* %0, i64* %1, i64 1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xzalloc(i64 %n) #3 { +entry: + %n.addr = alloca i64, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @xcalloc(i64 %0, i64 1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xcalloc(i64 %n, i64 %s) #3 { +entry: + %n.addr = alloca i64, align 8 + %s.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i64 %n, i64* %n.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %div = udiv i64 9223372036854775807, %0 + %1 = load i64, i64* %n.addr, align 8 + %cmp = icmp ult i64 %div, %1 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load i64, i64* %n.addr, align 8 + %3 = load i64, i64* %s.addr, align 8 + %call = call noalias i8* @calloc(i64 %2, i64 %3) #11 + store i8* %call, i8** %p, align 8 + %tobool = icmp ne i8* %call, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %lor.lhs.false, %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %lor.lhs.false + %4 = load i8*, i8** %p, align 8 + ret i8* %4 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xstrdup(i8* %string) #3 { +entry: + %string.addr = alloca i8*, align 8 + store i8* %string, i8** %string.addr, align 8 + %0 = load i8*, i8** %string.addr, align 8 + %1 = load i8*, i8** %string.addr, align 8 + %call = call i64 @strlen(i8* %1) #23 + %add = add i64 %call, 1 + %call1 = call i8* @xmemdup(i8* %0, i64 %add) + ret i8* %call1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @setlocale_null(i32 %category) #3 { +entry: + %category.addr = alloca i32, align 4 + store i32 %category, i32* %category.addr, align 4 + %0 = load i32, i32* %category.addr, align 4 + %call = call i8* @setlocale_null_androidfix(i32 %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isalnum(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock121 + +NodeBlock121: ; preds = %entry + %case.cmp122 = icmp eq i32 %0, 48 + br i1 %case.cmp122, label %sw.bb, label %NodeBlock119 + +NodeBlock119: ; preds = %NodeBlock121 + %case.cmp120 = icmp eq i32 %0, 49 + br i1 %case.cmp120, label %sw.bb, label %NodeBlock117 + +NodeBlock117: ; preds = %NodeBlock119 + %case.cmp118 = icmp eq i32 %0, 50 + br i1 %case.cmp118, label %sw.bb, label %NodeBlock115 + +NodeBlock115: ; preds = %NodeBlock117 + %case.cmp116 = icmp eq i32 %0, 51 + br i1 %case.cmp116, label %sw.bb, label %NodeBlock113 + +NodeBlock113: ; preds = %NodeBlock115 + %case.cmp114 = icmp eq i32 %0, 52 + br i1 %case.cmp114, label %sw.bb, label %NodeBlock111 + +NodeBlock111: ; preds = %NodeBlock113 + %case.cmp112 = icmp eq i32 %0, 53 + br i1 %case.cmp112, label %sw.bb, label %NodeBlock109 + +NodeBlock109: ; preds = %NodeBlock111 + %case.cmp110 = icmp eq i32 %0, 54 + br i1 %case.cmp110, label %sw.bb, label %NodeBlock107 + +NodeBlock107: ; preds = %NodeBlock109 + %case.cmp108 = icmp eq i32 %0, 55 + br i1 %case.cmp108, label %sw.bb, label %NodeBlock105 + +NodeBlock105: ; preds = %NodeBlock107 + %case.cmp106 = icmp eq i32 %0, 56 + br i1 %case.cmp106, label %sw.bb, label %NodeBlock103 + +NodeBlock103: ; preds = %NodeBlock105 + %case.cmp104 = icmp eq i32 %0, 57 + br i1 %case.cmp104, label %sw.bb, label %NodeBlock101 + +NodeBlock101: ; preds = %NodeBlock103 + %case.cmp102 = icmp eq i32 %0, 97 + br i1 %case.cmp102, label %sw.bb, label %NodeBlock99 + +NodeBlock99: ; preds = %NodeBlock101 + %case.cmp100 = icmp eq i32 %0, 98 + br i1 %case.cmp100, label %sw.bb, label %NodeBlock97 + +NodeBlock97: ; preds = %NodeBlock99 + %case.cmp98 = icmp eq i32 %0, 99 + br i1 %case.cmp98, label %sw.bb, label %NodeBlock95 + +NodeBlock95: ; preds = %NodeBlock97 + %case.cmp96 = icmp eq i32 %0, 100 + br i1 %case.cmp96, label %sw.bb, label %NodeBlock93 + +NodeBlock93: ; preds = %NodeBlock95 + %case.cmp94 = icmp eq i32 %0, 101 + br i1 %case.cmp94, label %sw.bb, label %NodeBlock91 + +NodeBlock91: ; preds = %NodeBlock93 + %case.cmp92 = icmp eq i32 %0, 102 + br i1 %case.cmp92, label %sw.bb, label %NodeBlock89 + +NodeBlock89: ; preds = %NodeBlock91 + %case.cmp90 = icmp eq i32 %0, 103 + br i1 %case.cmp90, label %sw.bb, label %NodeBlock87 + +NodeBlock87: ; preds = %NodeBlock89 + %case.cmp88 = icmp eq i32 %0, 104 + br i1 %case.cmp88, label %sw.bb, label %NodeBlock85 + +NodeBlock85: ; preds = %NodeBlock87 + %case.cmp86 = icmp eq i32 %0, 105 + br i1 %case.cmp86, label %sw.bb, label %NodeBlock83 + +NodeBlock83: ; preds = %NodeBlock85 + %case.cmp84 = icmp eq i32 %0, 106 + br i1 %case.cmp84, label %sw.bb, label %NodeBlock81 + +NodeBlock81: ; preds = %NodeBlock83 + %case.cmp82 = icmp eq i32 %0, 107 + br i1 %case.cmp82, label %sw.bb, label %NodeBlock79 + +NodeBlock79: ; preds = %NodeBlock81 + %case.cmp80 = icmp eq i32 %0, 108 + br i1 %case.cmp80, label %sw.bb, label %NodeBlock77 + +NodeBlock77: ; preds = %NodeBlock79 + %case.cmp78 = icmp eq i32 %0, 109 + br i1 %case.cmp78, label %sw.bb, label %NodeBlock75 + +NodeBlock75: ; preds = %NodeBlock77 + %case.cmp76 = icmp eq i32 %0, 110 + br i1 %case.cmp76, label %sw.bb, label %NodeBlock73 + +NodeBlock73: ; preds = %NodeBlock75 + %case.cmp74 = icmp eq i32 %0, 111 + br i1 %case.cmp74, label %sw.bb, label %NodeBlock71 + +NodeBlock71: ; preds = %NodeBlock73 + %case.cmp72 = icmp eq i32 %0, 112 + br i1 %case.cmp72, label %sw.bb, label %NodeBlock69 + +NodeBlock69: ; preds = %NodeBlock71 + %case.cmp70 = icmp eq i32 %0, 113 + br i1 %case.cmp70, label %sw.bb, label %NodeBlock67 + +NodeBlock67: ; preds = %NodeBlock69 + %case.cmp68 = icmp eq i32 %0, 114 + br i1 %case.cmp68, label %sw.bb, label %NodeBlock65 + +NodeBlock65: ; preds = %NodeBlock67 + %case.cmp66 = icmp eq i32 %0, 115 + br i1 %case.cmp66, label %sw.bb, label %NodeBlock63 + +NodeBlock63: ; preds = %NodeBlock65 + %case.cmp64 = icmp eq i32 %0, 116 + br i1 %case.cmp64, label %sw.bb, label %NodeBlock61 + +NodeBlock61: ; preds = %NodeBlock63 + %case.cmp62 = icmp eq i32 %0, 117 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 118 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 119 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 120 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 121 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 122 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 65 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 66 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 67 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 68 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 69 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 70 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 71 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 72 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 73 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 74 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 75 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 76 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 77 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 78 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 79 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 80 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 81 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 82 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 83 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 84 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 85 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 86 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 87 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 88 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 89 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 90 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock121, %NodeBlock119, %NodeBlock117, %NodeBlock115, %NodeBlock113, %NodeBlock111, %NodeBlock109, %NodeBlock107, %NodeBlock105, %NodeBlock103, %NodeBlock101, %NodeBlock99, %NodeBlock97, %NodeBlock95, %NodeBlock93, %NodeBlock91, %NodeBlock89, %NodeBlock87, %NodeBlock85, %NodeBlock83, %NodeBlock81, %NodeBlock79, %NodeBlock77, %NodeBlock75, %NodeBlock73, %NodeBlock71, %NodeBlock69, %NodeBlock67, %NodeBlock65, %NodeBlock63, %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isalpha(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock101 + +NodeBlock101: ; preds = %entry + %case.cmp102 = icmp eq i32 %0, 97 + br i1 %case.cmp102, label %sw.bb, label %NodeBlock99 + +NodeBlock99: ; preds = %NodeBlock101 + %case.cmp100 = icmp eq i32 %0, 98 + br i1 %case.cmp100, label %sw.bb, label %NodeBlock97 + +NodeBlock97: ; preds = %NodeBlock99 + %case.cmp98 = icmp eq i32 %0, 99 + br i1 %case.cmp98, label %sw.bb, label %NodeBlock95 + +NodeBlock95: ; preds = %NodeBlock97 + %case.cmp96 = icmp eq i32 %0, 100 + br i1 %case.cmp96, label %sw.bb, label %NodeBlock93 + +NodeBlock93: ; preds = %NodeBlock95 + %case.cmp94 = icmp eq i32 %0, 101 + br i1 %case.cmp94, label %sw.bb, label %NodeBlock91 + +NodeBlock91: ; preds = %NodeBlock93 + %case.cmp92 = icmp eq i32 %0, 102 + br i1 %case.cmp92, label %sw.bb, label %NodeBlock89 + +NodeBlock89: ; preds = %NodeBlock91 + %case.cmp90 = icmp eq i32 %0, 103 + br i1 %case.cmp90, label %sw.bb, label %NodeBlock87 + +NodeBlock87: ; preds = %NodeBlock89 + %case.cmp88 = icmp eq i32 %0, 104 + br i1 %case.cmp88, label %sw.bb, label %NodeBlock85 + +NodeBlock85: ; preds = %NodeBlock87 + %case.cmp86 = icmp eq i32 %0, 105 + br i1 %case.cmp86, label %sw.bb, label %NodeBlock83 + +NodeBlock83: ; preds = %NodeBlock85 + %case.cmp84 = icmp eq i32 %0, 106 + br i1 %case.cmp84, label %sw.bb, label %NodeBlock81 + +NodeBlock81: ; preds = %NodeBlock83 + %case.cmp82 = icmp eq i32 %0, 107 + br i1 %case.cmp82, label %sw.bb, label %NodeBlock79 + +NodeBlock79: ; preds = %NodeBlock81 + %case.cmp80 = icmp eq i32 %0, 108 + br i1 %case.cmp80, label %sw.bb, label %NodeBlock77 + +NodeBlock77: ; preds = %NodeBlock79 + %case.cmp78 = icmp eq i32 %0, 109 + br i1 %case.cmp78, label %sw.bb, label %NodeBlock75 + +NodeBlock75: ; preds = %NodeBlock77 + %case.cmp76 = icmp eq i32 %0, 110 + br i1 %case.cmp76, label %sw.bb, label %NodeBlock73 + +NodeBlock73: ; preds = %NodeBlock75 + %case.cmp74 = icmp eq i32 %0, 111 + br i1 %case.cmp74, label %sw.bb, label %NodeBlock71 + +NodeBlock71: ; preds = %NodeBlock73 + %case.cmp72 = icmp eq i32 %0, 112 + br i1 %case.cmp72, label %sw.bb, label %NodeBlock69 + +NodeBlock69: ; preds = %NodeBlock71 + %case.cmp70 = icmp eq i32 %0, 113 + br i1 %case.cmp70, label %sw.bb, label %NodeBlock67 + +NodeBlock67: ; preds = %NodeBlock69 + %case.cmp68 = icmp eq i32 %0, 114 + br i1 %case.cmp68, label %sw.bb, label %NodeBlock65 + +NodeBlock65: ; preds = %NodeBlock67 + %case.cmp66 = icmp eq i32 %0, 115 + br i1 %case.cmp66, label %sw.bb, label %NodeBlock63 + +NodeBlock63: ; preds = %NodeBlock65 + %case.cmp64 = icmp eq i32 %0, 116 + br i1 %case.cmp64, label %sw.bb, label %NodeBlock61 + +NodeBlock61: ; preds = %NodeBlock63 + %case.cmp62 = icmp eq i32 %0, 117 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 118 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 119 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 120 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 121 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 122 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 65 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 66 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 67 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 68 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 69 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 70 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 71 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 72 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 73 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 74 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 75 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 76 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 77 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 78 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 79 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 80 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 81 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 82 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 83 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 84 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 85 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 86 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 87 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 88 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 89 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 90 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock101, %NodeBlock99, %NodeBlock97, %NodeBlock95, %NodeBlock93, %NodeBlock91, %NodeBlock89, %NodeBlock87, %NodeBlock85, %NodeBlock83, %NodeBlock81, %NodeBlock79, %NodeBlock77, %NodeBlock75, %NodeBlock73, %NodeBlock71, %NodeBlock69, %NodeBlock67, %NodeBlock65, %NodeBlock63, %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isascii(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %switch = icmp ult i32 %0, 128 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isblank(i32 %c) #3 { +entry: + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %cmp = icmp eq i32 %0, 32 + %1 = load i32, i32* %c.addr, align 4 + %cmp1 = icmp eq i32 %1, 9 + %2 = select i1 %cmp, i1 true, i1 %cmp1 + ret i1 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_iscntrl(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock63 + +NodeBlock63: ; preds = %entry + %case.cmp64 = icmp eq i32 %0, 7 + br i1 %case.cmp64, label %sw.bb, label %NodeBlock61 + +NodeBlock61: ; preds = %NodeBlock63 + %case.cmp62 = icmp eq i32 %0, 8 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 12 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 10 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 13 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 9 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 11 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 0 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 1 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 2 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 3 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 4 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 5 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 6 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 14 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 15 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 16 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 17 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 18 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 19 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 20 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 21 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 22 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 23 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 24 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 25 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 26 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 27 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 28 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 29 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 30 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 31 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 127 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock63, %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isdigit(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -48 + %switch = icmp ult i32 %.off, 10 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isgraph(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -33 + %switch = icmp ult i32 %.off, 94 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_islower(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -97 + %switch = icmp ult i32 %.off, 26 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isprint(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -32 + %switch = icmp ult i32 %.off, 95 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_ispunct(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock61 + +NodeBlock61: ; preds = %entry + %case.cmp62 = icmp eq i32 %0, 33 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 34 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 35 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 36 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 37 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 38 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 39 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 40 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 41 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 42 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 43 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 44 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 45 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 46 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 47 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 58 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 59 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 60 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 61 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 62 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 63 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 64 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 91 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 92 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 93 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 94 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 95 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 96 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 123 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 124 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 125 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 126 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isspace(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock9 + +NodeBlock9: ; preds = %entry + %case.cmp10 = icmp eq i32 %0, 32 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 9 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 10 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 11 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 12 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 13 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isupper(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -65 + %switch = icmp ult i32 %.off, 26 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isxdigit(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock41 + +NodeBlock41: ; preds = %entry + %case.cmp42 = icmp eq i32 %0, 48 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 49 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 50 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 51 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 52 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 53 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 54 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 55 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 56 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 57 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 97 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 98 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 99 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 100 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 101 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 102 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 65 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 66 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 67 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 68 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 69 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 70 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @c_toupper(i32 %c) #3 { +entry: + %retval = alloca i32, align 4 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -97 + %switch = icmp ult i32 %.off, 26 + %1 = load i32, i32* %c.addr, align 4 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + %sub = sub nsw i32 %1, 97 + %add = add nsw i32 %sub, 65 + store i32 %add, i32* %retval, align 4 + br label %return + +sw.default: ; preds = %entry + store i32 %1, i32* %retval, align 4 + br label %return + +return: ; preds = %sw.default, %sw.bb + %2 = load i32, i32* %retval, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @klee_init_fds(i32 %n_files, i32 %file_length, i32 %stdin_length, i32 %sym_stdout_flag, i32 %save_all_writes_flag, i32 %max_failures) #3 { +entry: + %n_files.addr = alloca i32, align 4 + %file_length.addr = alloca i32, align 4 + %stdin_length.addr = alloca i32, align 4 + %sym_stdout_flag.addr = alloca i32, align 4 + %save_all_writes_flag.addr = alloca i32, align 4 + %max_failures.addr = alloca i32, align 4 + %k = alloca i32, align 4 + %name = alloca [7 x i8], align 1 + %s = alloca %struct.stat64, align 8 + store i32 %n_files, i32* %n_files.addr, align 4 + store i32 %file_length, i32* %file_length.addr, align 4 + store i32 %stdin_length, i32* %stdin_length.addr, align 4 + store i32 %sym_stdout_flag, i32* %sym_stdout_flag.addr, align 4 + store i32 %save_all_writes_flag, i32* %save_all_writes_flag.addr, align 4 + store i32 %max_failures, i32* %max_failures.addr, align 4 + %0 = bitcast [7 x i8]* %name to i8* + %1 = call i8* @memcpy(i8* %0, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @__const.klee_init_fds.name, i32 0, i32 0), i64 7) + %call = call i32 @stat64(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.134, i64 0, i64 0), %struct.stat64* %s) #11 + %2 = load i32, i32* %n_files.addr, align 4 + store i32 %2, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %3 = load i32, i32* %n_files.addr, align 4 + %conv = zext i32 %3 to i64 + %mul = mul i64 24, %conv + %call1 = call noalias i8* @malloc(i64 %mul) #11 + %4 = bitcast i8* %call1 to %struct.exe_disk_file_t* + store %struct.exe_disk_file_t* %4, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %5 = load i32, i32* %n_files.addr, align 4 + %tobool = icmp eq i32 %5, 0 + %6 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %6, null + %or.cond = or i1 %tobool, %tobool2 + br i1 %or.cond, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @gs_report_error.138(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.135, i64 0, i64 0), i32 124, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.136, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.137, i64 0, i64 0)) #24 + unreachable + +if.end: ; preds = %entry + store i32 0, i32* %k, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %7 = load i32, i32* %k, align 4 + %8 = load i32, i32* %n_files.addr, align 4 + %cmp = icmp ult i32 %7, %8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %9 = load i32, i32* %k, align 4 + %add = add i32 65, %9 + %conv4 = trunc i32 %add to i8 + %arrayidx = getelementptr inbounds [7 x i8], [7 x i8]* %name, i64 0, i64 0 + store i8 %conv4, i8* %arrayidx, align 1 + %10 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %11 = load i32, i32* %k, align 4 + %idxprom = zext i32 %11 to i64 + %arrayidx5 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %10, i64 %idxprom + %12 = load i32, i32* %file_length.addr, align 4 + %arraydecay = getelementptr inbounds [7 x i8], [7 x i8]* %name, i64 0, i64 0 + call void @__create_new_dfile(%struct.exe_disk_file_t* %arrayidx5, i32 %12, i8* %arraydecay, %struct.stat64* %s) + %13 = load i32, i32* %k, align 4 + %inc = add i32 %13, 1 + store i32 %inc, i32* %k, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %14 = load i32, i32* %stdin_length.addr, align 4 + %tobool6 = icmp ne i32 %14, 0 + br i1 %tobool6, label %if.then7, label %if.else + +if.then7: ; preds = %for.end + %call8 = call noalias i8* @malloc(i64 24) #11 + %15 = bitcast i8* %call8 to %struct.exe_disk_file_t* + store %struct.exe_disk_file_t* %15, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + %16 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + %tobool9 = icmp ne %struct.exe_disk_file_t* %16, null + br i1 %tobool9, label %if.end11, label %if.then10 + +if.then10: ; preds = %if.then7 + call void @gs_report_error.138(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.135, i64 0, i64 0), i32 135, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.136, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.137, i64 0, i64 0)) #24 + unreachable + +if.end11: ; preds = %if.then7 + %17 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + %18 = load i32, i32* %stdin_length.addr, align 4 + call void @__create_new_dfile(%struct.exe_disk_file_t* %17, i32 %18, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.4.139, i64 0, i64 0), %struct.stat64* %s) + %19 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + store %struct.exe_disk_file_t* %19, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0, i64 0, i32 3), align 8 + br label %if.end12 + +if.else: ; preds = %for.end + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + br label %if.end12 + +if.end12: ; preds = %if.else, %if.end11 + %20 = load i32, i32* %max_failures.addr, align 4 + store i32 %20, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %21 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool13 = icmp ne i32 %21, 0 + br i1 %tobool13, label %if.then14, label %if.end31 + +if.then14: ; preds = %if.end12 + %call15 = call noalias i8* @malloc(i64 4) #11 + %22 = bitcast i8* %call15 to i32* + store i32* %22, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %call16 = call noalias i8* @malloc(i64 4) #11 + %23 = bitcast i8* %call16 to i32* + store i32* %23, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %call17 = call noalias i8* @malloc(i64 4) #11 + %24 = bitcast i8* %call17 to i32* + store i32* %24, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %call18 = call noalias i8* @malloc(i64 4) #11 + %25 = bitcast i8* %call18 to i32* + store i32* %25, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %call19 = call noalias i8* @malloc(i64 4) #11 + %26 = bitcast i8* %call19 to i32* + store i32* %26, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %27 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %tobool20 = icmp ne i32* %27, null + %28 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %tobool22 = icmp ne i32* %28, null + %or.cond1 = and i1 %tobool20, %tobool22 + %29 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %tobool24 = icmp ne i32* %29, null + %or.cond2 = and i1 %or.cond1, %tobool24 + %30 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %tobool26 = icmp ne i32* %30, null + %or.cond3 = and i1 %or.cond2, %tobool26 + %31 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %tobool28 = icmp ne i32* %31, null + %or.cond4 = and i1 %or.cond3, %tobool28 + br i1 %or.cond4, label %if.end30, label %if.then29 + +if.then29: ; preds = %if.then14 + call void @gs_report_error.138(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.135, i64 0, i64 0), i32 150, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.136, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.137, i64 0, i64 0)) #24 + unreachable + +if.end30: ; preds = %if.then14 + %32 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %33 = bitcast i32* %32 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %33, i64 4, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.5.140, i64 0, i64 0)) + %34 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %35 = bitcast i32* %34 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %35, i64 4, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.6.141, i64 0, i64 0)) + %36 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %37 = bitcast i32* %36 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %37, i64 4, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.7.142, i64 0, i64 0)) + %38 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %39 = bitcast i32* %38 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %39, i64 4, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.8.143, i64 0, i64 0)) + %40 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %41 = bitcast i32* %40 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %41, i64 4, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.9.144, i64 0, i64 0)) + br label %if.end31 + +if.end31: ; preds = %if.end30, %if.end12 + %42 = load i32, i32* %sym_stdout_flag.addr, align 4 + %tobool32 = icmp ne i32 %42, 0 + br i1 %tobool32, label %if.then33, label %if.else38 + +if.then33: ; preds = %if.end31 + %call34 = call noalias i8* @malloc(i64 24) #11 + %43 = bitcast i8* %call34 to %struct.exe_disk_file_t* + store %struct.exe_disk_file_t* %43, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + %44 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + %tobool35 = icmp ne %struct.exe_disk_file_t* %44, null + br i1 %tobool35, label %if.end37, label %if.then36 + +if.then36: ; preds = %if.then33 + call void @gs_report_error.138(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.135, i64 0, i64 0), i32 163, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.136, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.137, i64 0, i64 0)) #24 + unreachable + +if.end37: ; preds = %if.then33 + %45 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + call void @__create_new_dfile(%struct.exe_disk_file_t* %45, i32 1024, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.10.145, i64 0, i64 0), %struct.stat64* %s) + %46 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + store %struct.exe_disk_file_t* %46, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0, i64 1, i32 3), align 8 + store i32 0, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 3), align 8 + br label %if.end39 + +if.else38: ; preds = %if.end31 + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + br label %if.end39 + +if.end39: ; preds = %if.else38, %if.end37 + %47 = load i32, i32* %save_all_writes_flag.addr, align 4 + store i32 %47, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 3), align 8 + %call40 = call i32 @__sym_uint32(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.11.146, i64 0, i64 0)) + store i32 %call40, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 2), align 4 + %48 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 2), align 4 + %cmp41 = icmp eq i32 %48, 1 + call void @gs_assume(i1 zeroext %cmp41) + ret void +} + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error.138(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.149, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__create_new_dfile(%struct.exe_disk_file_t* %dfile, i32 %size, i8* %name, %struct.stat64* %defaults) #3 { +entry: + %dfile.addr = alloca %struct.exe_disk_file_t*, align 8 + %size.addr = alloca i32, align 4 + %name.addr = alloca i8*, align 8 + %defaults.addr = alloca %struct.stat64*, align 8 + %s = alloca %struct.stat64*, align 8 + %sp = alloca i8*, align 8 + %sname = alloca [64 x i8], align 16 + store %struct.exe_disk_file_t* %dfile, %struct.exe_disk_file_t** %dfile.addr, align 8 + store i32 %size, i32* %size.addr, align 4 + store i8* %name, i8** %name.addr, align 8 + store %struct.stat64* %defaults, %struct.stat64** %defaults.addr, align 8 + %call = call noalias i8* @malloc(i64 144) #11 + %0 = bitcast i8* %call to %struct.stat64* + store %struct.stat64* %0, %struct.stat64** %s, align 8 + %1 = load %struct.stat64*, %struct.stat64** %s, align 8 + %tobool = icmp ne %struct.stat64* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @gs_report_error.138(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.135, i64 0, i64 0), i32 47, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.136, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.137, i64 0, i64 0)) #24 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %name.addr, align 8 + store i8* %2, i8** %sp, align 8 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %3 = load i8*, i8** %sp, align 8 + %4 = load i8, i8* %3, align 1 + %tobool1 = icmp ne i8 %4, 0 + %5 = load i8*, i8** %sp, align 8 + br i1 %tobool1, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %6 = load i8, i8* %5, align 1 + %7 = load i8*, i8** %sp, align 8 + %8 = load i8*, i8** %name.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %8 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %arrayidx = getelementptr inbounds [64 x i8], [64 x i8]* %sname, i64 0, i64 %sub.ptr.sub + store i8 %6, i8* %arrayidx, align 1 + %9 = load i8*, i8** %sp, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %sp, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %10 = load i8*, i8** %name.addr, align 8 + %sub.ptr.lhs.cast2 = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast3 = ptrtoint i8* %10 to i64 + %sub.ptr.sub4 = sub i64 %sub.ptr.lhs.cast2, %sub.ptr.rhs.cast3 + %arrayidx5 = getelementptr inbounds [64 x i8], [64 x i8]* %sname, i64 0, i64 %sub.ptr.sub4 + %11 = call i8* @memcpy(i8* %arrayidx5, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.13.147, i64 0, i64 0), i64 6) + %12 = load i32, i32* %size.addr, align 4 + %tobool6 = icmp ne i32 %12, 0 + br i1 %tobool6, label %if.end8, label %if.else + +if.else: ; preds = %for.end + call void @__assert_fail(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.14.148, i64 0, i64 0), i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.135, i64 0, i64 0), i32 55, i8* getelementptr inbounds ([88 x i8], [88 x i8]* @__PRETTY_FUNCTION__.__create_new_dfile, i64 0, i64 0)) #26 + unreachable + +if.end8: ; preds = %for.end + %13 = load i32, i32* %size.addr, align 4 + %14 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size9 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %14, i32 0, i32 0 + store i32 %13, i32* %size9, align 8 + %15 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size10 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %15, i32 0, i32 0 + %16 = load i32, i32* %size10, align 8 + %conv = zext i32 %16 to i64 + %call11 = call noalias i8* @malloc(i64 %conv) #11 + %17 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %contents = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %17, i32 0, i32 1 + store i8* %call11, i8** %contents, align 8 + %18 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %contents12 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %18, i32 0, i32 1 + %19 = load i8*, i8** %contents12, align 8 + %tobool13 = icmp ne i8* %19, null + br i1 %tobool13, label %if.end15, label %if.then14 + +if.then14: ; preds = %if.end8 + call void @gs_report_error.138(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.135, i64 0, i64 0), i32 60, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.136, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.137, i64 0, i64 0)) #24 + unreachable + +if.end15: ; preds = %if.end8 + %20 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %contents16 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %20, i32 0, i32 1 + %21 = load i8*, i8** %contents16, align 8 + %22 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size17 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %22, i32 0, i32 0 + %23 = load i32, i32* %size17, align 8 + %conv18 = zext i32 %23 to i64 + %24 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %21, i64 %conv18, i8* %24) + %25 = load %struct.stat64*, %struct.stat64** %s, align 8 + %26 = bitcast %struct.stat64* %25 to i8* + %arraydecay = getelementptr inbounds [64 x i8], [64 x i8]* %sname, i64 0, i64 0 + call void (i8*, i64, ...) @make_symbolic(i8* %26, i64 144, i8* %arraydecay) + %27 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %27, i32 0, i32 1 + %28 = load i64, i64* %st_ino, align 8 + %call19 = call i32 @gs_is_symbolic(i64 %28) + %tobool20 = icmp ne i32 %call19, 0 + br i1 %tobool20, label %if.end26, label %land.lhs.true + +land.lhs.true: ; preds = %if.end15 + %29 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino21 = getelementptr inbounds %struct.stat64, %struct.stat64* %29, i32 0, i32 1 + %30 = load i64, i64* %st_ino21, align 8 + %and = and i64 %30, 2147483647 + %cmp = icmp eq i64 %and, 0 + br i1 %cmp, label %if.then23, label %if.end26 + +if.then23: ; preds = %land.lhs.true + %31 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_ino24 = getelementptr inbounds %struct.stat64, %struct.stat64* %31, i32 0, i32 1 + %32 = load i64, i64* %st_ino24, align 8 + %33 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino25 = getelementptr inbounds %struct.stat64, %struct.stat64* %33, i32 0, i32 1 + store i64 %32, i64* %st_ino25, align 8 + br label %if.end26 + +if.end26: ; preds = %if.then23, %land.lhs.true, %if.end15 + %34 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino27 = getelementptr inbounds %struct.stat64, %struct.stat64* %34, i32 0, i32 1 + %35 = load i64, i64* %st_ino27, align 8 + %and28 = and i64 %35, 2147483647 + %cmp29 = icmp ne i64 %and28, 0 + call void @gs_assume(i1 zeroext %cmp29) + %36 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_blksize = getelementptr inbounds %struct.stat64, %struct.stat64* %36, i32 0, i32 9 + %37 = load i64, i64* %st_blksize, align 8 + %and31 = and i64 %37, -65536 + %cmp32 = icmp eq i64 %and31, 0 + call void @gs_assume(i1 zeroext %cmp32) + %38 = load %struct.stat64*, %struct.stat64** %s, align 8 + %39 = bitcast %struct.stat64* %38 to i8* + %40 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %40, i32 0, i32 3 + %41 = load i32, i32* %st_mode, align 8 + %and34 = and i32 %41, -61952 + %tobool35 = icmp ne i32 %and34, 0 + %lnot = xor i1 %tobool35, true + call void @gs_prefer_cex(i8* %39, i1 zeroext %lnot) + %42 = load %struct.stat64*, %struct.stat64** %s, align 8 + %43 = bitcast %struct.stat64* %42 to i8* + %44 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_dev = getelementptr inbounds %struct.stat64, %struct.stat64* %44, i32 0, i32 0 + %45 = load i64, i64* %st_dev, align 8 + %46 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_dev36 = getelementptr inbounds %struct.stat64, %struct.stat64* %46, i32 0, i32 0 + %47 = load i64, i64* %st_dev36, align 8 + %cmp37 = icmp eq i64 %45, %47 + call void @gs_prefer_cex(i8* %43, i1 zeroext %cmp37) + %48 = load %struct.stat64*, %struct.stat64** %s, align 8 + %49 = bitcast %struct.stat64* %48 to i8* + %50 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_rdev = getelementptr inbounds %struct.stat64, %struct.stat64* %50, i32 0, i32 7 + %51 = load i64, i64* %st_rdev, align 8 + %52 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_rdev39 = getelementptr inbounds %struct.stat64, %struct.stat64* %52, i32 0, i32 7 + %53 = load i64, i64* %st_rdev39, align 8 + %cmp40 = icmp eq i64 %51, %53 + call void @gs_prefer_cex(i8* %49, i1 zeroext %cmp40) + %54 = load %struct.stat64*, %struct.stat64** %s, align 8 + %55 = bitcast %struct.stat64* %54 to i8* + %56 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode42 = getelementptr inbounds %struct.stat64, %struct.stat64* %56, i32 0, i32 3 + %57 = load i32, i32* %st_mode42, align 8 + %and43 = and i32 %57, 448 + %cmp44 = icmp eq i32 %and43, 384 + call void @gs_prefer_cex(i8* %55, i1 zeroext %cmp44) + %58 = load %struct.stat64*, %struct.stat64** %s, align 8 + %59 = bitcast %struct.stat64* %58 to i8* + %60 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode46 = getelementptr inbounds %struct.stat64, %struct.stat64* %60, i32 0, i32 3 + %61 = load i32, i32* %st_mode46, align 8 + %and47 = and i32 %61, 56 + %cmp48 = icmp eq i32 %and47, 32 + call void @gs_prefer_cex(i8* %59, i1 zeroext %cmp48) + %62 = load %struct.stat64*, %struct.stat64** %s, align 8 + %63 = bitcast %struct.stat64* %62 to i8* + %64 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode50 = getelementptr inbounds %struct.stat64, %struct.stat64* %64, i32 0, i32 3 + %65 = load i32, i32* %st_mode50, align 8 + %and51 = and i32 %65, 7 + %cmp52 = icmp eq i32 %and51, 4 + call void @gs_prefer_cex(i8* %63, i1 zeroext %cmp52) + %66 = load %struct.stat64*, %struct.stat64** %s, align 8 + %67 = bitcast %struct.stat64* %66 to i8* + %68 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode54 = getelementptr inbounds %struct.stat64, %struct.stat64* %68, i32 0, i32 3 + %69 = load i32, i32* %st_mode54, align 8 + %and55 = and i32 %69, 61440 + %cmp56 = icmp eq i32 %and55, 32768 + call void @gs_prefer_cex(i8* %67, i1 zeroext %cmp56) + %70 = load %struct.stat64*, %struct.stat64** %s, align 8 + %71 = bitcast %struct.stat64* %70 to i8* + %72 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_nlink = getelementptr inbounds %struct.stat64, %struct.stat64* %72, i32 0, i32 2 + %73 = load i64, i64* %st_nlink, align 8 + %cmp58 = icmp eq i64 %73, 1 + call void @gs_prefer_cex(i8* %71, i1 zeroext %cmp58) + %74 = load %struct.stat64*, %struct.stat64** %s, align 8 + %75 = bitcast %struct.stat64* %74 to i8* + %76 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_uid = getelementptr inbounds %struct.stat64, %struct.stat64* %76, i32 0, i32 4 + %77 = load i32, i32* %st_uid, align 4 + %78 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_uid60 = getelementptr inbounds %struct.stat64, %struct.stat64* %78, i32 0, i32 4 + %79 = load i32, i32* %st_uid60, align 4 + %cmp61 = icmp eq i32 %77, %79 + call void @gs_prefer_cex(i8* %75, i1 zeroext %cmp61) + %80 = load %struct.stat64*, %struct.stat64** %s, align 8 + %81 = bitcast %struct.stat64* %80 to i8* + %82 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_gid = getelementptr inbounds %struct.stat64, %struct.stat64* %82, i32 0, i32 5 + %83 = load i32, i32* %st_gid, align 8 + %84 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_gid63 = getelementptr inbounds %struct.stat64, %struct.stat64* %84, i32 0, i32 5 + %85 = load i32, i32* %st_gid63, align 8 + %cmp64 = icmp eq i32 %83, %85 + call void @gs_prefer_cex(i8* %81, i1 zeroext %cmp64) + %86 = load %struct.stat64*, %struct.stat64** %s, align 8 + %87 = bitcast %struct.stat64* %86 to i8* + %88 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_blksize66 = getelementptr inbounds %struct.stat64, %struct.stat64* %88, i32 0, i32 9 + %89 = load i64, i64* %st_blksize66, align 8 + %cmp67 = icmp eq i64 %89, 4096 + call void @gs_prefer_cex(i8* %87, i1 zeroext %cmp67) + %90 = load %struct.stat64*, %struct.stat64** %s, align 8 + %91 = bitcast %struct.stat64* %90 to i8* + %92 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_atim = getelementptr inbounds %struct.stat64, %struct.stat64* %92, i32 0, i32 11 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim, i32 0, i32 0 + %93 = load i64, i64* %tv_sec, align 8 + %94 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_atim69 = getelementptr inbounds %struct.stat64, %struct.stat64* %94, i32 0, i32 11 + %tv_sec70 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim69, i32 0, i32 0 + %95 = load i64, i64* %tv_sec70, align 8 + %cmp71 = icmp eq i64 %93, %95 + call void @gs_prefer_cex(i8* %91, i1 zeroext %cmp71) + %96 = load %struct.stat64*, %struct.stat64** %s, align 8 + %97 = bitcast %struct.stat64* %96 to i8* + %98 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mtim = getelementptr inbounds %struct.stat64, %struct.stat64* %98, i32 0, i32 12 + %tv_sec73 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim, i32 0, i32 0 + %99 = load i64, i64* %tv_sec73, align 8 + %100 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_mtim74 = getelementptr inbounds %struct.stat64, %struct.stat64* %100, i32 0, i32 12 + %tv_sec75 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim74, i32 0, i32 0 + %101 = load i64, i64* %tv_sec75, align 8 + %cmp76 = icmp eq i64 %99, %101 + call void @gs_prefer_cex(i8* %97, i1 zeroext %cmp76) + %102 = load %struct.stat64*, %struct.stat64** %s, align 8 + %103 = bitcast %struct.stat64* %102 to i8* + %104 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ctim = getelementptr inbounds %struct.stat64, %struct.stat64* %104, i32 0, i32 13 + %tv_sec78 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim, i32 0, i32 0 + %105 = load i64, i64* %tv_sec78, align 8 + %106 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_ctim79 = getelementptr inbounds %struct.stat64, %struct.stat64* %106, i32 0, i32 13 + %tv_sec80 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim79, i32 0, i32 0 + %107 = load i64, i64* %tv_sec80, align 8 + %cmp81 = icmp eq i64 %105, %107 + call void @gs_prefer_cex(i8* %103, i1 zeroext %cmp81) + %108 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size83 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %108, i32 0, i32 0 + %109 = load i32, i32* %size83, align 8 + %conv84 = zext i32 %109 to i64 + %110 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_size = getelementptr inbounds %struct.stat64, %struct.stat64* %110, i32 0, i32 8 + store i64 %conv84, i64* %st_size, align 8 + %111 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_blocks = getelementptr inbounds %struct.stat64, %struct.stat64* %111, i32 0, i32 10 + store i64 8, i64* %st_blocks, align 8 + %112 = load %struct.stat64*, %struct.stat64** %s, align 8 + %113 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %113, i32 0, i32 2 + store %struct.stat64* %112, %struct.stat64** %stat, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__sym_uint32(i8* %name) #3 { +entry: + %name.addr = alloca i8*, align 8 + %x = alloca i32, align 4 + store i8* %name, i8** %name.addr, align 8 + %0 = bitcast i32* %x to i8* + %1 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %0, i64 4, i8* %1) + %2 = load i32, i32* %x, align 4 + ret i32 %2 +} + +declare dso_local void @gs_prefer_cex(i8*, i1 zeroext) #5 + +; Function Attrs: noinline nounwind uwtable +define weak hidden i32 @__syscall_rt_sigaction(i32 %signum, %struct.sigaction.800* %act, %struct.sigaction.800* %oldact, i64 %_something) #3 { +entry: + %signum.addr = alloca i32, align 4 + %act.addr = alloca %struct.sigaction.800*, align 8 + %oldact.addr = alloca %struct.sigaction.800*, align 8 + %_something.addr = alloca i64, align 8 + store i32 %signum, i32* %signum.addr, align 4 + store %struct.sigaction.800* %act, %struct.sigaction.800** %act.addr, align 8 + store %struct.sigaction.800* %oldact, %struct.sigaction.800** %oldact.addr, align 8 + store i64 %_something, i64* %_something.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.150, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @sigaction(i32 %signum, %struct.sigaction.800* %act, %struct.sigaction.800* %oldact) #3 { +entry: + %signum.addr = alloca i32, align 4 + %act.addr = alloca %struct.sigaction.800*, align 8 + %oldact.addr = alloca %struct.sigaction.800*, align 8 + store i32 %signum, i32* %signum.addr, align 4 + store %struct.sigaction.800* %act, %struct.sigaction.800** %act.addr, align 8 + store %struct.sigaction.800* %oldact, %struct.sigaction.800** %oldact.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.150, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @sigprocmask(i32 %how, %struct.fd_set* %set, %struct.fd_set* %oldset) #3 { +entry: + %how.addr = alloca i32, align 4 + %set.addr = alloca %struct.fd_set*, align 8 + %oldset.addr = alloca %struct.fd_set*, align 8 + store i32 %how, i32* %how.addr, align 4 + store %struct.fd_set* %set, %struct.fd_set** %set.addr, align 8 + store %struct.fd_set* %oldset, %struct.fd_set** %oldset.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.150, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @fdatasync(i32 %fd) #3 { +entry: + %fd.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local void @sync() #3 { +entry: + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @__socketcall(i32 %type, i32* %args) #3 { +entry: + %type.addr = alloca i32, align 4 + %args.addr = alloca i32*, align 8 + store i32 %type, i32* %type.addr, align 4 + store i32* %args, i32** %args.addr, align 8 + call void @gs_warning.156(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.1.155, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 97, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @gs_warning.156(i8* %message) #3 { +entry: + %message.addr = alloca i8*, align 8 + store i8* %message, i8** %message.addr, align 8 + %0 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %0) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.11.157, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @_IO_getc(%struct._IO_FILE* %f) #3 { +entry: + %f.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %f, %struct._IO_FILE** %f.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %f.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %0) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @_IO_putc(i32 %c, %struct._IO_FILE* %f) #3 { +entry: + %c.addr = alloca i32, align 4 + %f.addr = alloca %struct._IO_FILE*, align 8 + store i32 %c, i32* %c.addr, align 4 + store %struct._IO_FILE* %f, %struct._IO_FILE** %f.addr, align 8 + %0 = load i32, i32* %c.addr, align 4 + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %f.addr, align 8 + %call = call i32 bitcast (i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked to i32 (i32, %struct._IO_FILE*)*)(i32 %0, %struct._IO_FILE* %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mkdir(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + call void @gs_warning.156(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2.160, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 5, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mkfifo(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + call void @gs_warning.156(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2.160, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 5, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mknod(i8* nonnull %pathname, i32 %mode, i64 %dev) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + %dev.addr = alloca i64, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + store i64 %dev, i64* %dev.addr, align 8 + call void @gs_warning.156(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2.160, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 5, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @pipe(i32* %filedes) #3 { +entry: + %filedes.addr = alloca i32*, align 8 + store i32* %filedes, i32** %filedes.addr, align 8 + call void @gs_warning.156(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.3.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 23, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @link(i8* nonnull %oldpath, i8* nonnull %newpath) #3 { +entry: + %oldpath.addr = alloca i8*, align 8 + %newpath.addr = alloca i8*, align 8 + store i8* %oldpath, i8** %oldpath.addr, align 8 + store i8* %newpath, i8** %newpath.addr, align 8 + call void @gs_warning.156(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.164, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @symlink(i8* nonnull %oldpath, i8* nonnull %newpath) #3 { +entry: + %oldpath.addr = alloca i8*, align 8 + %newpath.addr = alloca i8*, align 8 + store i8* %oldpath, i8** %oldpath.addr, align 8 + store i8* %newpath, i8** %newpath.addr, align 8 + call void @gs_warning.156(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.164, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @rename(i8* %oldpath, i8* %newpath) #3 { +entry: + %oldpath.addr = alloca i8*, align 8 + %newpath.addr = alloca i8*, align 8 + store i8* %oldpath, i8** %oldpath.addr, align 8 + store i8* %newpath, i8** %newpath.addr, align 8 + call void @gs_warning.156(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.164, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @nanosleep(%struct.timespec* %req, %struct.timespec* %rem) #3 { +entry: + %req.addr = alloca %struct.timespec*, align 8 + %rem.addr = alloca %struct.timespec*, align 8 + store %struct.timespec* %req, %struct.timespec** %req.addr, align 8 + store %struct.timespec* %rem, %struct.timespec** %rem.addr, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @clock_gettime(i32 %clk_id, %struct.timespec* %res) #3 { +entry: + %clk_id.addr = alloca i32, align 4 + %res.addr = alloca %struct.timespec*, align 8 + %tv = alloca %struct.timespec, align 8 + store i32 %clk_id, i32* %clk_id.addr, align 4 + store %struct.timespec* %res, %struct.timespec** %res.addr, align 8 + %call = call i32 @gettimeofday(%struct.timespec* %tv, i8* null) #11 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %0 = load i64, i64* %tv_sec, align 8 + %1 = load %struct.timespec*, %struct.timespec** %res.addr, align 8 + %tv_sec1 = getelementptr inbounds %struct.timespec, %struct.timespec* %1, i32 0, i32 0 + store i64 %0, i64* %tv_sec1, align 8 + %tv_usec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 1 + %2 = load i64, i64* %tv_usec, align 8 + %mul = mul nsw i64 %2, 1000 + %3 = load %struct.timespec*, %struct.timespec** %res.addr, align 8 + %tv_nsec = getelementptr inbounds %struct.timespec, %struct.timespec* %3, i32 0, i32 1 + store i64 %mul, i64* %tv_nsec, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @clock_settime(i32 %clk_id, %struct.timespec* %res) #3 { +entry: + %clk_id.addr = alloca i32, align 4 + %res.addr = alloca %struct.timespec*, align 8 + store i32 %clk_id, i32* %clk_id.addr, align 4 + store %struct.timespec* %res, %struct.timespec** %res.addr, align 8 + call void @gs_warning.156(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.164, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @time(i64* %t) #3 { +entry: + %t.addr = alloca i64*, align 8 + %tv = alloca %struct.timespec, align 8 + store i64* %t, i64** %t.addr, align 8 + %call = call i32 @gettimeofday(%struct.timespec* %tv, i8* null) #11 + %0 = load i64*, i64** %t.addr, align 8 + %tobool = icmp ne i64* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %1 = load i64, i64* %tv_sec, align 8 + %2 = load i64*, i64** %t.addr, align 8 + store i64 %1, i64* %2, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %tv_sec1 = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %3 = load i64, i64* %tv_sec1, align 8 + ret i64 %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @times(%struct.tms* %buf) #3 { +entry: + %buf.addr = alloca %struct.tms*, align 8 + store %struct.tms* %buf, %struct.tms** %buf.addr, align 8 + %0 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tobool = icmp ne %struct.tms* %0, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + call void @gs_warning.156(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.5.165, i64 0, i64 0)) + br label %if.end + +if.else: ; preds = %entry + call void @gs_warning.156(i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.6.166, i64 0, i64 0)) + %1 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_utime = getelementptr inbounds %struct.tms, %struct.tms* %1, i32 0, i32 0 + store i64 0, i64* %tms_utime, align 8 + %2 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_stime = getelementptr inbounds %struct.tms, %struct.tms* %2, i32 0, i32 1 + store i64 0, i64* %tms_stime, align 8 + %3 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_cutime = getelementptr inbounds %struct.tms, %struct.tms* %3, i32 0, i32 2 + store i64 0, i64* %tms_cutime, align 8 + %4 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_cstime = getelementptr inbounds %struct.tms, %struct.tms* %4, i32 0, i32 3 + store i64 0, i64* %tms_cstime, align 8 + br label %if.end + +if.end: ; preds = %if.else, %if.then + ret i64 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local %struct.utmpx* @getutxent() #3 { +entry: + %call = call %struct.utmp* bitcast (%struct.utmp.323* ()* @getutent to %struct.utmp* ()*)() #11 + %0 = bitcast %struct.utmp* %call to %struct.utmpx* + ret %struct.utmpx* %0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local void @setutxent() #3 { +entry: + call void @setutent() #11 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local void @endutxent() #3 { +entry: + call void @endutent() #11 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @utmpxname(i8* %file) #3 { +entry: + %file.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + %call = call i32 @utmpname(i8* %0) #11 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @euidaccess(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %1 = load i32, i32* %mode.addr, align 4 + %call = call i32 @access(i8* %0, i32 %1) #11 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @eaccess(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %1 = load i32, i32* %mode.addr, align 4 + %call = call i32 @euidaccess(i8* %0, i32 %1) #11 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @group_member(i32 %__gid) #3 { +entry: + %__gid.addr = alloca i32, align 4 + store i32 %__gid, i32* %__gid.addr, align 4 + %0 = load i32, i32* %__gid.addr, align 4 + %call = call i32 @getgid() #11 + %cmp = icmp eq i32 %0, %call + br i1 %cmp, label %lor.end, label %lor.rhs + +lor.rhs: ; preds = %entry + %1 = load i32, i32* %__gid.addr, align 4 + %call1 = call i32 @getegid() #11 + %cmp2 = icmp eq i32 %1, %call1 + br label %lor.end + +lor.end: ; preds = %lor.rhs, %entry + %2 = phi i1 [ true, %entry ], [ %cmp2, %lor.rhs ] + %lor.ext = zext i1 %2 to i32 + ret i32 %lor.ext +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @utime(i8* nonnull %filename, %struct.timespec* %buf) #3 { +entry: + %filename.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.timespec*, align 8 + store i8* %filename, i8** %filename.addr, align 8 + store %struct.timespec* %buf, %struct.timespec** %buf.addr, align 8 + call void @gs_warning.156(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.164, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @futimes(i32 %fd, %struct.timespec* %times) #3 { +entry: + %fd.addr = alloca i32, align 4 + %times.addr = alloca %struct.timespec*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.timespec* %times, %struct.timespec** %times.addr, align 8 + call void @gs_warning.156(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.7.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 9, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind readonly uwtable +define dso_local i32 @strverscmp(i8* nonnull %__s1, i8* nonnull %__s2) #15 { +entry: + %__s1.addr = alloca i8*, align 8 + %__s2.addr = alloca i8*, align 8 + store i8* %__s1, i8** %__s1.addr, align 8 + store i8* %__s2, i8** %__s2.addr, align 8 + %0 = load i8*, i8** %__s1.addr, align 8 + %1 = load i8*, i8** %__s2.addr, align 8 + %call = call i32 @strcmp(i8* %0, i8* %1) #23 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @gnu_dev_major(i64 %__dev) #3 { +entry: + %__dev.addr = alloca i64, align 8 + store i64 %__dev, i64* %__dev.addr, align 8 + %0 = load i64, i64* %__dev.addr, align 8 + %shr = lshr i64 %0, 8 + %and = and i64 %shr, 4095 + %1 = load i64, i64* %__dev.addr, align 8 + %shr1 = lshr i64 %1, 32 + %conv = trunc i64 %shr1 to i32 + %and2 = and i32 %conv, -4096 + %conv3 = zext i32 %and2 to i64 + %or = or i64 %and, %conv3 + %conv4 = trunc i64 %or to i32 + ret i32 %conv4 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @gnu_dev_minor(i64 %__dev) #3 { +entry: + %__dev.addr = alloca i64, align 8 + store i64 %__dev, i64* %__dev.addr, align 8 + %0 = load i64, i64* %__dev.addr, align 8 + %and = and i64 %0, 255 + %1 = load i64, i64* %__dev.addr, align 8 + %shr = lshr i64 %1, 12 + %conv = trunc i64 %shr to i32 + %and1 = and i32 %conv, -256 + %conv2 = zext i32 %and1 to i64 + %or = or i64 %and, %conv2 + %conv3 = trunc i64 %or to i32 + ret i32 %conv3 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i64 @gnu_dev_makedev(i32 %__major, i32 %__minor) #3 { +entry: + %__major.addr = alloca i32, align 4 + %__minor.addr = alloca i32, align 4 + store i32 %__major, i32* %__major.addr, align 4 + store i32 %__minor, i32* %__minor.addr, align 4 + %0 = load i32, i32* %__minor.addr, align 4 + %and = and i32 %0, 255 + %1 = load i32, i32* %__major.addr, align 4 + %and1 = and i32 %1, 4095 + %shl = shl i32 %and1, 8 + %or = or i32 %and, %shl + %conv = zext i32 %or to i64 + %2 = load i32, i32* %__minor.addr, align 4 + %and2 = and i32 %2, -256 + %conv3 = zext i32 %and2 to i64 + %shl4 = shl i64 %conv3, 12 + %or5 = or i64 %conv, %shl4 + %3 = load i32, i32* %__major.addr, align 4 + %and6 = and i32 %3, -4096 + %conv7 = zext i32 %and6 to i64 + %shl8 = shl i64 %conv7, 32 + %or9 = or i64 %or5, %shl8 + ret i64 %or9 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i8* @canonicalize_file_name(i8* nonnull %name) #3 { +entry: + %retval = alloca i8*, align 8 + %name.addr = alloca i8*, align 8 + %resolved_name = alloca i8*, align 8 + store i8* %name, i8** %name.addr, align 8 + %call = call noalias i8* @malloc(i64 4096) #11 + store i8* %call, i8** %resolved_name, align 8 + %0 = load i8*, i8** %resolved_name, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %name.addr, align 8 + %2 = load i8*, i8** %resolved_name, align 8 + %call1 = call i8* @realpath(i8* %1, i8* %2) #11 + %tobool2 = icmp ne i8* %call1, null + %3 = load i8*, i8** %resolved_name, align 8 + br i1 %tobool2, label %if.end4, label %if.then3 + +if.then3: ; preds = %if.end + call void @free(i8* %3) #11 + store i8* null, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %if.end + store i8* %3, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %4 = load i8*, i8** %retval, align 8 + ret i8* %4 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @getloadavg(double* nonnull %loadavg, i32 %nelem) #3 { +entry: + %loadavg.addr = alloca double*, align 8 + %nelem.addr = alloca i32, align 4 + store double* %loadavg, double** %loadavg.addr, align 8 + store i32 %nelem, i32* %nelem.addr, align 4 + call void @gs_warning.156(i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.8.170, i64 0, i64 0)) + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @wait(i32* %status) #3 { +entry: + %status.addr = alloca i32*, align 8 + store i32* %status, i32** %status.addr, align 8 + call void @gs_warning.156(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.171, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @wait3(i32* %status, i32 %options, %struct.rusage* %rusage) #3 { +entry: + %status.addr = alloca i32*, align 8 + %options.addr = alloca i32, align 4 + %rusage.addr = alloca %struct.rusage*, align 8 + store i32* %status, i32** %status.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + store %struct.rusage* %rusage, %struct.rusage** %rusage.addr, align 8 + call void @gs_warning.156(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.171, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @wait4(i32 %pid, i32* %status, i32 %options, %struct.rusage* %rusage) #3 { +entry: + %pid.addr = alloca i32, align 4 + %status.addr = alloca i32*, align 8 + %options.addr = alloca i32, align 4 + %rusage.addr = alloca %struct.rusage*, align 8 + store i32 %pid, i32* %pid.addr, align 4 + store i32* %status, i32** %status.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + store %struct.rusage* %rusage, %struct.rusage** %rusage.addr, align 8 + call void @gs_warning.156(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.171, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @waitpid(i32 %pid, i32* %status, i32 %options) #3 { +entry: + %pid.addr = alloca i32, align 4 + %status.addr = alloca i32*, align 8 + %options.addr = alloca i32, align 4 + store i32 %pid, i32* %pid.addr, align 4 + store i32* %status, i32** %status.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + call void @gs_warning.156(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.171, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @waitid(i32 %idtype, i32 %id, %struct.siginfo_t* %infop, i32 %options) #3 { +entry: + %idtype.addr = alloca i32, align 4 + %id.addr = alloca i32, align 4 + %infop.addr = alloca %struct.siginfo_t*, align 8 + %options.addr = alloca i32, align 4 + store i32 %idtype, i32* %idtype.addr, align 4 + store i32 %id, i32* %id.addr, align 4 + store %struct.siginfo_t* %infop, %struct.siginfo_t** %infop.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + call void @gs_warning.156(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.171, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mount(i8* %source, i8* %target, i8* %filesystemtype, i64 %mountflags, i8* %data) #3 { +entry: + %source.addr = alloca i8*, align 8 + %target.addr = alloca i8*, align 8 + %filesystemtype.addr = alloca i8*, align 8 + %mountflags.addr = alloca i64, align 8 + %data.addr = alloca i8*, align 8 + store i8* %source, i8** %source.addr, align 8 + store i8* %target, i8** %target.addr, align 8 + store i8* %filesystemtype, i8** %filesystemtype.addr, align 8 + store i64 %mountflags, i64* %mountflags.addr, align 8 + store i8* %data, i8** %data.addr, align 8 + call void @gs_warning.156(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.164, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @umount(i8* %target) #3 { +entry: + %target.addr = alloca i8*, align 8 + store i8* %target, i8** %target.addr, align 8 + call void @gs_warning.156(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.164, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @umount2(i8* %target, i32 %flags) #3 { +entry: + %target.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + store i8* %target, i8** %target.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + call void @gs_warning.156(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.164, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @swapon(i8* %path, i32 %swapflags) #3 { +entry: + %path.addr = alloca i8*, align 8 + %swapflags.addr = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store i32 %swapflags, i32* %swapflags.addr, align 4 + call void @gs_warning.156(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.164, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @swapoff(i8* %path) #3 { +entry: + %path.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + call void @gs_warning.156(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.164, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setgid(i32 %gid) #3 { +entry: + %gid.addr = alloca i32, align 4 + store i32 %gid, i32* %gid.addr, align 4 + call void @gs_warning.156(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.10.172, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setgroups(i64 %size, i32* %list) #3 { +entry: + %size.addr = alloca i64, align 8 + %list.addr = alloca i32*, align 8 + store i64 %size, i64* %size.addr, align 8 + store i32* %list, i32** %list.addr, align 8 + call void @gs_warning.156(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.164, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @sethostname(i8* nonnull %name, i64 %len) #3 { +entry: + %name.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + store i8* %name, i8** %name.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + call void @gs_warning.156(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.164, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setpgid(i32 %pid, i32 %pgid) #3 { +entry: + %pid.addr = alloca i32, align 4 + %pgid.addr = alloca i32, align 4 + store i32 %pid, i32* %pid.addr, align 4 + store i32 %pgid, i32* %pgid.addr, align 4 + call void @gs_warning.156(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.164, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setpgrp() #3 { +entry: + call void @gs_warning.156(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.164, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setpriority(i32 %which, i32 %who, i32 %prio) #3 { +entry: + %which.addr = alloca i32, align 4 + %who.addr = alloca i32, align 4 + %prio.addr = alloca i32, align 4 + store i32 %which, i32* %which.addr, align 4 + store i32 %who, i32* %who.addr, align 4 + store i32 %prio, i32* %prio.addr, align 4 + call void @gs_warning.156(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.164, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setresgid(i32 %rgid, i32 %egid, i32 %sgid) #3 { +entry: + %rgid.addr = alloca i32, align 4 + %egid.addr = alloca i32, align 4 + %sgid.addr = alloca i32, align 4 + store i32 %rgid, i32* %rgid.addr, align 4 + store i32 %egid, i32* %egid.addr, align 4 + store i32 %sgid, i32* %sgid.addr, align 4 + call void @gs_warning.156(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.164, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setresuid(i32 %ruid, i32 %euid, i32 %suid) #3 { +entry: + %ruid.addr = alloca i32, align 4 + %euid.addr = alloca i32, align 4 + %suid.addr = alloca i32, align 4 + store i32 %ruid, i32* %ruid.addr, align 4 + store i32 %euid, i32* %euid.addr, align 4 + store i32 %suid, i32* %suid.addr, align 4 + call void @gs_warning.156(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.164, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setrlimit(i32 %resource, %struct.timespec* %rlim) #3 { +entry: + %resource.addr = alloca i32, align 4 + %rlim.addr = alloca %struct.timespec*, align 8 + store i32 %resource, i32* %resource.addr, align 4 + store %struct.timespec* %rlim, %struct.timespec** %rlim.addr, align 8 + call void @gs_warning.156(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.164, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setrlimit64(i32 %resource, %struct.timespec* %rlim) #3 { +entry: + %resource.addr = alloca i32, align 4 + %rlim.addr = alloca %struct.timespec*, align 8 + store i32 %resource, i32* %resource.addr, align 4 + store %struct.timespec* %rlim, %struct.timespec** %rlim.addr, align 8 + call void @gs_warning.156(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.164, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setsid() #3 { +entry: + call void @gs_warning.156(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.164, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @settimeofday(%struct.timespec* %tv, %struct.__mbstate_t.512* %tz) #3 { +entry: + %tv.addr = alloca %struct.timespec*, align 8 + %tz.addr = alloca %struct.__mbstate_t.512*, align 8 + store %struct.timespec* %tv, %struct.timespec** %tv.addr, align 8 + store %struct.__mbstate_t.512* %tz, %struct.__mbstate_t.512** %tz.addr, align 8 + call void @gs_warning.156(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.164, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setuid(i32 %uid) #3 { +entry: + %uid.addr = alloca i32, align 4 + store i32 %uid, i32* %uid.addr, align 4 + call void @gs_warning.156(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.10.172, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @reboot(i32 %flag) #3 { +entry: + %flag.addr = alloca i32, align 4 + store i32 %flag, i32* %flag.addr, align 4 + call void @gs_warning.156(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.164, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mlock(i8* %addr, i64 %len) #3 { +entry: + %addr.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + store i8* %addr, i8** %addr.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + call void @gs_warning.156(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.164, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @munlock(i8* %addr, i64 %len) #3 { +entry: + %addr.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + store i8* %addr, i8** %addr.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + call void @gs_warning.156(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.164, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @pause() #3 { +entry: + call void @gs_warning.156(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.164, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i64 @readahead(i32 %fd, i64* %offset, i64 %count) #3 { +entry: + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64*, align 8 + %count.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64* %offset, i64** %offset.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + call void @gs_warning.156(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.164, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i64 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i8* @mmap(i8* %start, i64 %length, i32 %prot, i32 %flags, i32 %fd, i64 %offset) #3 { +entry: + %start.addr = alloca i8*, align 8 + %length.addr = alloca i64, align 8 + %prot.addr = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + store i8* %start, i8** %start.addr, align 8 + store i64 %length, i64* %length.addr, align 8 + store i32 %prot, i32* %prot.addr, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + call void @gs_warning.156(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.164, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i8* inttoptr (i64 -1 to i8*) +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i8* @mmap64(i8* %start, i64 %length, i32 %prot, i32 %flags, i32 %fd, i64 %offset) #3 { +entry: + %start.addr = alloca i8*, align 8 + %length.addr = alloca i64, align 8 + %prot.addr = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + store i8* %start, i8** %start.addr, align 8 + store i64 %length, i64* %length.addr, align 8 + store i32 %prot, i32* %prot.addr, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + call void @gs_warning.156(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.164, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i8* inttoptr (i64 -1 to i8*) +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @munmap(i8* %start, i64 %length) #3 { +entry: + %start.addr = alloca i8*, align 8 + %length.addr = alloca i64, align 8 + store i8* %start, i8** %start.addr, align 8 + store i64 %length, i64* %length.addr, align 8 + call void @gs_warning.156(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.164, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__locale_mbrtowc_l(i32* noalias %dst, i8* noalias %src, %struct.__uclibc_locale_struct.201* %loc) #0 { +entry: + %retval = alloca i32, align 4 + %dst.addr = alloca i32*, align 8 + %src.addr = alloca i8*, align 8 + %loc.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %ps = alloca %struct.__mbstate_t.512, align 4 + %p = alloca i8*, align 8 + %r = alloca i64, align 8 + %wc = alloca i32, align 4 + store i32* %dst, i32** %dst.addr, align 8 + store i8* %src, i8** %src.addr, align 8 + store %struct.__uclibc_locale_struct.201* %loc, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 9 + %1 = load i8, i8* %encoding, align 8 + %conv = zext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 1 + %2 = load i8*, i8** %src.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i8* %2, i8** %p, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %ps, i32 0, i32 0 + store i32 0, i32* %__mask, align 4 + %3 = load i32*, i32** %dst.addr, align 8 + %call = call i64 @_wchar_utf8sntowcs(i32* %3, i64 1, i8** %p, i64 -1, %struct.__mbstate_t.512* %ps, i32 1) #18 + store i64 %call, i64* %r, align 8 + %4 = load i64, i64* %r, align 8 + %cmp2 = icmp eq i64 %4, 1 + %5 = load i8*, i8** %p, align 8 + %6 = load i8*, i8** %src.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %6 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %7 = load i64, i64* %r, align 8 + %cond = select i1 %cmp2, i64 %sub.ptr.sub, i64 %7 + %conv4 = trunc i64 %cond to i32 + store i32 %conv4, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load i8, i8* %2, align 1 + %conv5 = zext i8 %8 to i32 + %9 = load i32*, i32** %dst.addr, align 8 + store i32 %conv5, i32* %9, align 4 + %cmp6 = icmp slt i32 %conv5, 128 + br i1 %cmp6, label %if.then8, label %if.end12 + +if.then8: ; preds = %if.end + %10 = load i8*, i8** %src.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv9 = sext i8 %11 to i32 + %cmp10 = icmp ne i32 %conv9, 0 + %conv11 = zext i1 %cmp10 to i32 + store i32 %conv11, i32* %retval, align 4 + br label %return + +if.end12: ; preds = %if.end + %12 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %encoding13 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %12, i32 0, i32 9 + %13 = load i8, i8* %encoding13, align 8 + %conv14 = zext i8 %13 to i32 + %cmp15 = icmp eq i32 %conv14, 2 + br i1 %cmp15, label %if.then17, label %if.end24 + +if.then17: ; preds = %if.end12 + %14 = load i32*, i32** %dst.addr, align 8 + %15 = load i32, i32* %14, align 4 + %sub = sub nsw i32 %15, 128 + store i32 %sub, i32* %wc, align 4 + %16 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %tbl8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %16, i32 0, i32 17 + %17 = load i16*, i16** %tbl8c2wc, align 8 + %18 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %idx8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %18, i32 0, i32 16 + %19 = load i8*, i8** %idx8c2wc, align 8 + %20 = load i32, i32* %wc, align 4 + %shr = ashr i32 %20, 3 + %idxprom = sext i32 %shr to i64 + %arrayidx = getelementptr inbounds i8, i8* %19, i64 %idxprom + %21 = load i8, i8* %arrayidx, align 1 + %conv18 = zext i8 %21 to i32 + %shl = shl i32 %conv18, 3 + %22 = load i32, i32* %wc, align 4 + %and = and i32 %22, 7 + %add = add nsw i32 %shl, %and + %idxprom19 = sext i32 %add to i64 + %arrayidx20 = getelementptr inbounds i16, i16* %17, i64 %idxprom19 + %23 = load i16, i16* %arrayidx20, align 2 + %conv21 = zext i16 %23 to i32 + %24 = load i32*, i32** %dst.addr, align 8 + store i32 %conv21, i32* %24, align 4 + %25 = load i32*, i32** %dst.addr, align 8 + %26 = load i32, i32* %25, align 4 + %tobool = icmp ne i32 %26, 0 + br i1 %tobool, label %if.then22, label %if.end24 + +if.then22: ; preds = %if.then17 + store i32 1, i32* %retval, align 4 + br label %return + +if.end24: ; preds = %if.then17, %if.end12 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end24, %if.then22, %if.then8, %if.then + %27 = load i32, i32* %retval, align 4 + ret i32 %27 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__raise(i32 %signo) #0 { +entry: + %signo.addr = alloca i32, align 4 + store i32 %signo, i32* %signo.addr, align 4 + %call = call i32 @getpid() #19 + %0 = load i32, i32* %signo.addr, align 4 + %call1 = call i32 @kill(i32 %call, i32 %0) #19 + ret i32 %call1 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__libc_sigaction(i32 %sig, %struct.sigaction.800* %act, %struct.sigaction.800* %oact) #0 { +entry: + %sig.addr = alloca i32, align 4 + %act.addr = alloca %struct.sigaction.800*, align 8 + %oact.addr = alloca %struct.sigaction.800*, align 8 + %result = alloca i32, align 4 + %kact = alloca %struct.kernel_sigaction, align 8 + %koact = alloca %struct.kernel_sigaction, align 8 + store i32 %sig, i32* %sig.addr, align 4 + store %struct.sigaction.800* %act, %struct.sigaction.800** %act.addr, align 8 + store %struct.sigaction.800* %oact, %struct.sigaction.800** %oact.addr, align 8 + %0 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %tobool = icmp ne %struct.sigaction.800* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %__sigaction_handler = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %1, i32 0, i32 0 + %sa_handler = bitcast %union.anon.799* %__sigaction_handler to void (i32)** + %2 = load void (i32)*, void (i32)** %sa_handler, align 8 + %k_sa_handler = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 0 + store void (i32)* %2, void (i32)** %k_sa_handler, align 8 + %sa_mask = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 3 + %3 = bitcast %struct.fd_set* %sa_mask to i8* + %4 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %sa_mask1 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %4, i32 0, i32 1 + %5 = bitcast %struct.fd_set* %sa_mask1 to i8* + %call = call i8* @memcpy(i8* %3, i8* %5, i64 128) #19 + %6 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %sa_flags = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %6, i32 0, i32 2 + %7 = load i32, i32* %sa_flags, align 8 + %conv = sext i32 %7 to i64 + %sa_flags2 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 1 + store i64 %conv, i64* %sa_flags2, align 8 + %8 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %sa_restorer = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %8, i32 0, i32 3 + %9 = load void ()*, void ()** %sa_restorer, align 8 + %sa_restorer3 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 2 + store void ()* %9, void ()** %sa_restorer3, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %10 = load i32, i32* %sig.addr, align 4 + %11 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %tobool4 = icmp ne %struct.sigaction.800* %11, null + %kact. = select i1 %tobool4, %struct.kernel_sigaction* %kact, %struct.kernel_sigaction* null + %12 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %tobool5 = icmp ne %struct.sigaction.800* %12, null + %cond9 = select i1 %tobool5, %struct.kernel_sigaction* %koact, %struct.kernel_sigaction* null + %call10 = call i32 bitcast (i32 (i32, %struct.sigaction.800*, %struct.sigaction.800*, i64)* @__syscall_rt_sigaction to i32 (i32, %struct.kernel_sigaction*, %struct.kernel_sigaction*, i64)*)(i32 %10, %struct.kernel_sigaction* %kact., %struct.kernel_sigaction* %cond9, i64 8) #18 + store i32 %call10, i32* %result, align 4 + %13 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %tobool11 = icmp ne %struct.sigaction.800* %13, null + %14 = load i32, i32* %result, align 4 + %cmp = icmp sge i32 %14, 0 + %or.cond = and i1 %tobool11, %cmp + br i1 %or.cond, label %if.then13, label %if.end25 + +if.then13: ; preds = %if.end + %k_sa_handler14 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 0 + %15 = load void (i32)*, void (i32)** %k_sa_handler14, align 8 + %16 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %__sigaction_handler15 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %16, i32 0, i32 0 + %sa_handler16 = bitcast %union.anon.799* %__sigaction_handler15 to void (i32)** + store void (i32)* %15, void (i32)** %sa_handler16, align 8 + %17 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %sa_mask17 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %17, i32 0, i32 1 + %18 = bitcast %struct.fd_set* %sa_mask17 to i8* + %sa_mask18 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 3 + %19 = bitcast %struct.fd_set* %sa_mask18 to i8* + %call19 = call i8* @memcpy(i8* %18, i8* %19, i64 128) #19 + %sa_flags20 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 1 + %20 = load i64, i64* %sa_flags20, align 8 + %conv21 = trunc i64 %20 to i32 + %21 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %sa_flags22 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %21, i32 0, i32 2 + store i32 %conv21, i32* %sa_flags22, align 8 + %sa_restorer23 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 2 + %22 = load void ()*, void ()** %sa_restorer23, align 8 + %23 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %sa_restorer24 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %23, i32 0, i32 3 + store void ()* %22, void ()** %sa_restorer24, align 8 + br label %if.end25 + +if.end25: ; preds = %if.then13, %if.end + %24 = load i32, i32* %result, align 4 + ret i32 %24 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__sigismember(%struct.fd_set* %__set, i32 %__sig) #0 { +entry: + %__set.addr = alloca %struct.fd_set*, align 8 + %__sig.addr = alloca i32, align 4 + %__mask = alloca i64, align 8 + %__word = alloca i64, align 8 + store %struct.fd_set* %__set, %struct.fd_set** %__set.addr, align 8 + store i32 %__sig, i32* %__sig.addr, align 4 + %0 = load i32, i32* %__sig.addr, align 4 + %sub = sub nsw i32 %0, 1 + %conv = sext i32 %sub to i64 + %rem = urem i64 %conv, 64 + %shl = shl i64 1, %rem + store i64 %shl, i64* %__mask, align 8 + %1 = load i32, i32* %__sig.addr, align 4 + %sub1 = sub nsw i32 %1, 1 + %conv2 = sext i32 %sub1 to i64 + %div = udiv i64 %conv2, 64 + store i64 %div, i64* %__word, align 8 + %2 = load %struct.fd_set*, %struct.fd_set** %__set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %2, i32 0, i32 0 + %3 = load i64, i64* %__word, align 8 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 %3 + %4 = load i64, i64* %arrayidx, align 8 + %5 = load i64, i64* %__mask, align 8 + %and = and i64 %4, %5 + %tobool = icmp ne i64 %and, 0 + %6 = zext i1 %tobool to i64 + %cond = select i1 %tobool, i32 1, i32 0 + ret i32 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__sigaddset(%struct.fd_set* %__set, i32 %__sig) #0 { +entry: + %__set.addr = alloca %struct.fd_set*, align 8 + %__sig.addr = alloca i32, align 4 + %__mask = alloca i64, align 8 + %__word = alloca i64, align 8 + store %struct.fd_set* %__set, %struct.fd_set** %__set.addr, align 8 + store i32 %__sig, i32* %__sig.addr, align 4 + %0 = load i32, i32* %__sig.addr, align 4 + %sub = sub nsw i32 %0, 1 + %conv = sext i32 %sub to i64 + %rem = urem i64 %conv, 64 + %shl = shl i64 1, %rem + store i64 %shl, i64* %__mask, align 8 + %1 = load i32, i32* %__sig.addr, align 4 + %sub1 = sub nsw i32 %1, 1 + %conv2 = sext i32 %sub1 to i64 + %div = udiv i64 %conv2, 64 + store i64 %div, i64* %__word, align 8 + %2 = load i64, i64* %__mask, align 8 + %3 = load %struct.fd_set*, %struct.fd_set** %__set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %3, i32 0, i32 0 + %4 = load i64, i64* %__word, align 8 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 %4 + %5 = load i64, i64* %arrayidx, align 8 + %or = or i64 %5, %2 + store i64 %or, i64* %arrayidx, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__sigdelset(%struct.fd_set* %__set, i32 %__sig) #0 { +entry: + %__set.addr = alloca %struct.fd_set*, align 8 + %__sig.addr = alloca i32, align 4 + %__mask = alloca i64, align 8 + %__word = alloca i64, align 8 + store %struct.fd_set* %__set, %struct.fd_set** %__set.addr, align 8 + store i32 %__sig, i32* %__sig.addr, align 4 + %0 = load i32, i32* %__sig.addr, align 4 + %sub = sub nsw i32 %0, 1 + %conv = sext i32 %sub to i64 + %rem = urem i64 %conv, 64 + %shl = shl i64 1, %rem + store i64 %shl, i64* %__mask, align 8 + %1 = load i32, i32* %__sig.addr, align 4 + %sub1 = sub nsw i32 %1, 1 + %conv2 = sext i32 %sub1 to i64 + %div = udiv i64 %conv2, 64 + store i64 %div, i64* %__word, align 8 + %2 = load i64, i64* %__mask, align 8 + %neg = xor i64 %2, -1 + %3 = load %struct.fd_set*, %struct.fd_set** %__set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %3, i32 0, i32 0 + %4 = load i64, i64* %__word, align 8 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 %4 + %5 = load i64, i64* %arrayidx, align 8 + %and = and i64 %5, %neg + store i64 %and, i64* %arrayidx, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %bufsize = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 5 + %1 = load i8*, i8** %__bufpos, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 3 + %3 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %1 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %3 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %bufsize, align 8 + %cmp = icmp ne i64 %sub.ptr.sub, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 3 + %5 = load i8*, i8** %__bufstart1, align 8 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 5 + store i8* %5, i8** %__bufpos2, align 8 + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart3 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 3 + %9 = load i8*, i8** %__bufstart3, align 8 + %10 = load i64, i64* %bufsize, align 8 + %call = call i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %7, i8* %9, i64 %10) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos4 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 5 + %12 = load i8*, i8** %__bufpos4, align 8 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart5 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 3 + %14 = load i8*, i8** %__bufstart5, align 8 + %sub.ptr.lhs.cast6 = ptrtoint i8* %12 to i64 + %sub.ptr.rhs.cast7 = ptrtoint i8* %14 to i64 + %sub.ptr.sub8 = sub i64 %sub.ptr.lhs.cast6, %sub.ptr.rhs.cast7 + ret i64 %sub.ptr.sub8 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__fgetc_unlocked(%struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %uc = alloca i8, align 1 + %uc56 = alloca i8, align 1 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 5 + %1 = load i8*, i8** %__bufpos, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 7 + %3 = load i8*, i8** %__bufgetc_u, align 8 + %cmp = icmp ult i8* %1, %3 + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 5 + %5 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + %6 = load i8, i8* %5, align 1 + %conv = zext i8 %6 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 0 + %7 = load i16, i16* %__modeflags, align 8 + %conv2 = zext i16 %7 to i32 + %and = and i32 %conv2, 131 + %cmp3 = icmp ugt i32 %and, 128 + br i1 %cmp3, label %if.then5, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2r_o(%struct.__STDIO_FILE_STRUCT.568* %8, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end63, label %if.then5 + +if.then5: ; preds = %lor.lhs.false, %if.end + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %9, i32 0, i32 0 + %10 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %10 to i32 + %and8 = and i32 %conv7, 2 + %tobool9 = icmp ne i32 %and8, 0 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %tobool9, label %if.then10, label %if.end18 + +if.then10: ; preds = %if.then5 + %__ungot = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 10 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags11 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags11, align 8 + %dec = add i16 %13, -1 + store i16 %dec, i16* %__modeflags11, align 8 + %conv12 = zext i16 %13 to i32 + %and13 = and i32 %conv12, 1 + %idxprom = sext i32 %and13 to i64 + %arrayidx = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot, i64 0, i64 %idxprom + %14 = load i32, i32* %arrayidx, align 4 + %conv14 = trunc i32 %14 to i8 + store i8 %conv14, i8* %uc, align 1 + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__ungot15 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 10 + %arrayidx16 = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot15, i64 0, i64 1 + store i32 0, i32* %arrayidx16, align 4 + %16 = load i8, i8* %uc, align 1 + %conv17 = zext i8 %16 to i32 + store i32 %conv17, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %if.then5 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 6 + %17 = load i8*, i8** %__bufread, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos19 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 5 + %19 = load i8*, i8** %__bufpos19, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %17 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool20 = icmp ne i64 %sub.ptr.sub, 0 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %tobool20, label %if.then21, label %if.end25 + +if.then21: ; preds = %if.end18 + %__bufpos22 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 5 + %21 = load i8*, i8** %__bufpos22, align 8 + %incdec.ptr23 = getelementptr inbounds i8, i8* %21, i32 1 + store i8* %incdec.ptr23, i8** %__bufpos22, align 8 + %22 = load i8, i8* %21, align 1 + %conv24 = zext i8 %22 to i32 + store i32 %conv24, i32* %retval, align 4 + br label %return + +if.end25: ; preds = %if.end18 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 2 + %23 = load i32, i32* %__filedes, align 4 + %cmp26 = icmp eq i32 %23, -2 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags29 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 0 + %25 = load i16, i16* %__modeflags29, align 8 + %conv30 = zext i16 %25 to i32 + br i1 %cmp26, label %if.then28, label %if.end32 + +if.then28: ; preds = %if.end25 + %or = or i32 %conv30, 4 + %conv31 = trunc i32 %or to i16 + store i16 %conv31, i16* %__modeflags29, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end32: ; preds = %if.end25 + %and35 = and i32 %conv30, 768 + %tobool36 = icmp ne i32 %and35, 0 + br i1 %tobool36, label %if.then37, label %if.end39 + +if.then37: ; preds = %if.end32 + %call38 = call i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.568* bitcast (%struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist to %struct.__STDIO_FILE_STRUCT.568*)) #18 + br label %if.end39 + +if.end39: ; preds = %if.then37, %if.end32 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 4 + %27 = load i8*, i8** %__bufend, align 8 + %28 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %28, i32 0, i32 3 + %29 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast40 = ptrtoint i8* %27 to i64 + %sub.ptr.rhs.cast41 = ptrtoint i8* %29 to i64 + %sub.ptr.sub42 = sub i64 %sub.ptr.lhs.cast40, %sub.ptr.rhs.cast41 + %tobool43 = icmp ne i64 %sub.ptr.sub42, 0 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %tobool43, label %if.then44, label %if.else + +if.then44: ; preds = %if.end39 + %__bufstart45 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %30, i32 0, i32 3 + %31 = load i8*, i8** %__bufstart45, align 8 + %32 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u46 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %32, i32 0, i32 7 + store i8* %31, i8** %__bufgetc_u46, align 8 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call47 = call i64 @__stdio_rfill(%struct.__STDIO_FILE_STRUCT.568* %33) #18 + %tobool48 = icmp ne i64 %call47, 0 + br i1 %tobool48, label %if.then49, label %if.end63 + +if.then49: ; preds = %if.then44 + %34 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread50 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %34, i32 0, i32 6 + %35 = load i8*, i8** %__bufread50, align 8 + %36 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u51 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %36, i32 0, i32 7 + store i8* %35, i8** %__bufgetc_u51, align 8 + %37 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos52 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %37, i32 0, i32 5 + %38 = load i8*, i8** %__bufpos52, align 8 + %incdec.ptr53 = getelementptr inbounds i8, i8* %38, i32 1 + store i8* %incdec.ptr53, i8** %__bufpos52, align 8 + %39 = load i8, i8* %38, align 1 + %conv54 = zext i8 %39 to i32 + store i32 %conv54, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.end39 + %call57 = call i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.568* %30, i8* %uc56, i64 1) #18 + %tobool58 = icmp ne i64 %call57, 0 + br i1 %tobool58, label %if.then59, label %if.end63 + +if.then59: ; preds = %if.else + %40 = load i8, i8* %uc56, align 1 + %conv60 = zext i8 %40 to i32 + store i32 %conv60, i32* %retval, align 4 + br label %return + +if.end63: ; preds = %if.then44, %if.else, %lor.lhs.false + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end63, %if.then59, %if.then49, %if.then28, %if.then21, %if.then10, %if.then + %41 = load i32, i32* %retval, align 4 + ret i32 %41 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @sprintf(i8* noalias %buf, i8* noalias %format, ...) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %format.addr = alloca i8*, align 8 + %arg = alloca [1 x %struct.__va_list_tag.0], align 16 + %rv = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load i8*, i8** %buf.addr, align 8 + %1 = load i8*, i8** %format.addr, align 8 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %call = call i32 @vsnprintf(i8* %0, i64 -1, i8* %1, %struct.__va_list_tag.0* %arraydecay2) #19 + store i32 %call, i32* %rv, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + %2 = load i32, i32* %rv, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @strcmp(i8* nonnull %s1, i8* nonnull %s2) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %r = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + br label %while.cond + +while.cond: ; preds = %land.rhs, %entry + %0 = load i8*, i8** %s1.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = zext i8 %1 to i32 + %2 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %2, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %3 = load i8, i8* %2, align 1 + %conv1 = zext i8 %3 to i32 + %sub = sub nsw i32 %conv, %conv1 + store i32 %sub, i32* %r, align 4 + %cmp = icmp eq i32 %sub, 0 + br i1 %cmp, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %4 = load i8*, i8** %s1.addr, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr3, i8** %s1.addr, align 8 + %5 = load i8, i8* %4, align 1 + %conv4 = sext i8 %5 to i32 + %tobool = icmp ne i32 %conv4, 0 + br i1 %tobool, label %while.cond, label %while.end + +while.end: ; preds = %while.cond, %land.rhs + %6 = load i32, i32* %r, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i64 @strlen(i8* nonnull %s) #14 { +entry: + %s.addr = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load i8*, i8** %p, align 8 + %2 = load i8, i8* %1, align 1 + %tobool = icmp ne i8 %2, 0 + %3 = load i8*, i8** %p, align 8 + br i1 %tobool, label %for.inc, label %for.end + +for.inc: ; preds = %for.cond + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %4 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %3 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %4 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @strncmp(i8* nonnull %s1, i8* nonnull %s2, i64 %n) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i32 0, i32* %r, align 4 + br label %while.cond + +while.cond: ; preds = %land.rhs, %entry + %0 = load i64, i64* %n.addr, align 8 + %dec = add i64 %0, -1 + store i64 %dec, i64* %n.addr, align 8 + %tobool = icmp ne i64 %0, 0 + br i1 %tobool, label %land.lhs.true, label %while.end + +land.lhs.true: ; preds = %while.cond + %1 = load i8*, i8** %s1.addr, align 8 + %2 = load i8, i8* %1, align 1 + %conv = zext i8 %2 to i32 + %3 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %4 = load i8, i8* %3, align 1 + %conv1 = zext i8 %4 to i32 + %sub = sub nsw i32 %conv, %conv1 + store i32 %sub, i32* %r, align 4 + %cmp = icmp eq i32 %sub, 0 + br i1 %cmp, label %land.rhs, label %while.end + +land.rhs: ; preds = %land.lhs.true + %5 = load i8*, i8** %s1.addr, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr3, i8** %s1.addr, align 8 + %6 = load i8, i8* %5, align 1 + %conv4 = sext i8 %6 to i32 + %tobool5 = icmp ne i32 %conv4, 0 + br i1 %tobool5, label %while.cond, label %while.end + +while.end: ; preds = %while.cond, %land.lhs.true, %land.rhs + %7 = load i32, i32* %r, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @isatty(i32 %fd) #0 { +entry: + %fd.addr = alloca i32, align 4 + %term = alloca %struct.termios, align 4 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 @tcgetattr(i32 %0, %struct.termios* %term) #19 + %cmp = icmp eq i32 %call, 0 + %conv = zext i1 %cmp to i32 + ret i32 %conv +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @open64(i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i8*, i8** %pathname.addr, align 8 + %8 = load i32, i32* %flags.addr, align 4 + %9 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_open(i8* %7, i32 %8, i32 %9) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @openat64(i32 %fd, i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %fd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i32, i32* %fd.addr, align 4 + %8 = load i8*, i8** %pathname.addr, align 8 + %9 = load i32, i32* %flags.addr, align 4 + %10 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_openat(i32 %7, i8* %8, i32 %9, i32 %10) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @lseek64(i32 %fd, i64 %offset, i32 %whence) #3 { +entry: + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %offset.addr, align 8 + %2 = load i32, i32* %whence.addr, align 4 + %call = call i64 @__fd_lseek(i32 %0, i64 %1, i32 %2) + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__xstat64(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @stat64(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__lxstat64(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @lstat64(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fxstat64(i32 %vers, i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %vers, i32* %vers.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstat64(i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @ftruncate64(i32 %fd, i64 %length) #3 { +entry: + %fd.addr = alloca i32, align 4 + %length.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %length, i64* %length.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %length.addr, align 8 + %call = call i32 @__fd_ftruncate(i32 %0, i64 %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @statfs64(i8* nonnull %path, %struct.statfs* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.statfs*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.statfs* %buf, %struct.statfs** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.statfs*, %struct.statfs** %buf.addr, align 8 + %call = call i32 @__fd_statfs(i8* %0, %struct.statfs* %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @getdents64(i32 %fd, i8* nonnull %dirp, i64 %count) #3 { +entry: + %fd.addr = alloca i32, align 4 + %dirp.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %dirp, i8** %dirp.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i8*, i8** %dirp.addr, align 8 + %2 = bitcast i8* %1 to %struct.dirent64* + %3 = load i64, i64* %count.addr, align 8 + %conv = trunc i64 %3 to i32 + %call = call i32 @__fd_getdents(i32 %0, %struct.dirent64* %2, i32 %conv) + %conv1 = sext i32 %call to i64 + ret i64 %conv1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @kill(i32 %pid, i32 %sig) #3 { +entry: + %pid.addr = alloca i32, align 4 + %sig.addr = alloca i32, align 4 + store i32 %pid, i32* %pid.addr, align 4 + store i32 %sig, i32* %sig.addr, align 4 + call void @gs_warning.212(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.211, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @gs_warning.212(i8* %message) #3 { +entry: + %message.addr = alloca i8*, align 8 + store i8* %message, i8** %message.addr, align 8 + %0 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %0) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.7.213, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind returns_twice uwtable +define weak dso_local i32 @_setjmp(%struct.__jmp_buf_tag* %__env) #16 { +entry: + %__env.addr = alloca %struct.__jmp_buf_tag*, align 8 + store %struct.__jmp_buf_tag* %__env, %struct.__jmp_buf_tag** %__env.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1.214, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline noreturn nounwind uwtable +define dso_local void @longjmp(%struct.__jmp_buf_tag* %env, i32 %val) #6 { +entry: + %env.addr = alloca %struct.__jmp_buf_tag*, align 8 + %val.addr = alloca i32, align 4 + store %struct.__jmp_buf_tag* %env, %struct.__jmp_buf_tag** %env.addr, align 8 + store i32 %val, i32* %val.addr, align 4 + call void @gs_report_error.218(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.2.215, i64 0, i64 0), i32 37, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.3.216, i64 0, i64 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.4.217, i64 0, i64 0)) #24 + unreachable +} + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error.218(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.7.213, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execl(i8* nonnull %path, i8* nonnull %arg, ...) #3 { +entry: + %path.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + call void @gs_warning.212(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.219, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execlp(i8* nonnull %file, i8* nonnull %arg, ...) #3 { +entry: + %file.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + call void @gs_warning.212(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.219, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execle(i8* nonnull %path, i8* nonnull %arg, ...) #3 { +entry: + %path.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + call void @gs_warning.212(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.219, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execv(i8* nonnull %path, i8** nonnull %argv) #3 { +entry: + %path.addr = alloca i8*, align 8 + %argv.addr = alloca i8**, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + call void @gs_warning.212(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.219, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execvp(i8* nonnull %file, i8** nonnull %argv) #3 { +entry: + %file.addr = alloca i8*, align 8 + %argv.addr = alloca i8**, align 8 + store i8* %file, i8** %file.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + call void @gs_warning.212(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.219, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execve(i8* nonnull %file, i8** nonnull %argv, i8** %envp) #3 { +entry: + %file.addr = alloca i8*, align 8 + %argv.addr = alloca i8**, align 8 + %envp.addr = alloca i8**, align 8 + store i8* %file, i8** %file.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + store i8** %envp, i8*** %envp.addr, align 8 + call void @gs_warning.212(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.219, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fork() #3 { +entry: + call void @gs_warning.212(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.6.220, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 12, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind returns_twice uwtable +define dso_local i32 @vfork() #16 { +entry: + %call = call i32 @fork() #11 + ret i32 %call +} + +; Function Attrs: noinline nounwind readnone uwtable +define i16** @__ctype_b_loc() #12 { +entry: + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 0 + ret i16** %__ctype_b +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @__error(i32 %status, i32 %errnum, i8* %message, ...) #0 { +entry: + %status.addr = alloca i32, align 4 + %errnum.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %args = alloca [1 x %struct.__va_list_tag.0], align 16 + %__S = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %tmp = alloca i32, align 4 + store i32 %status, i32* %status.addr, align 4 + store i32 %errnum, i32* %errnum.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdout, align 8 + %call = call i32 @fflush(%struct.__STDIO_FILE_STRUCT.568* %0) #18 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %2 = load i8*, i8** %message.addr, align 8 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %call3 = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %1, i8* %2, %struct.__va_list_tag.0* %arraydecay2) #18 + %arraydecay4 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay45 = bitcast %struct.__va_list_tag.0* %arraydecay4 to i8* + call void @llvm.va_end(i8* %arraydecay45) + %3 = load i32, i32* @error_message_count, align 4 + %inc = add i32 %3, 1 + store i32 %inc, i32* @error_message_count, align 4 + %4 = load i32, i32* %errnum.addr, align 4 + %tobool = icmp ne i32 %4, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %6 = load i32, i32* %errnum.addr, align 4 + %call6 = call i8* @strerror(i32 %6) #19 + %call7 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %5, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.223, i64 0, i64 0), i8* %call6) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %7, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 5 + %9 = load i8*, i8** %__bufpos, align 8 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 8 + %11 = load i8*, i8** %__bufputc_u, align 8 + %cmp = icmp ult i8* %9, %11 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %if.end + %__bufpos8 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 5 + %13 = load i8*, i8** %__bufpos8, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %13, i32 1 + store i8* %incdec.ptr, i8** %__bufpos8, align 8 + store i8 10, i8* %13, align 1 + br label %cond.end + +cond.false: ; preds = %if.end + %call9 = call i32 @__fputc_unlocked(i32 10, %struct.__STDIO_FILE_STRUCT.568* %12) #18 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ 10, %cond.true ], [ %call9, %cond.false ] + store i32 %cond, i32* %tmp, align 4 + %14 = load i32, i32* %tmp, align 4 + %15 = load i32, i32* %status.addr, align 4 + %tobool10 = icmp ne i32 %15, 0 + br i1 %tobool10, label %if.then11, label %if.end12 + +if.then11: ; preds = %cond.end + %16 = load i32, i32* %status.addr, align 4 + call void @exit(i32 %16) #22 + unreachable + +if.end12: ; preds = %cond.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @__error_at_line(i32 %status, i32 %errnum, i8* %file_name, i32 %line_number, i8* %message, ...) #0 { +entry: + %status.addr = alloca i32, align 4 + %errnum.addr = alloca i32, align 4 + %file_name.addr = alloca i8*, align 8 + %line_number.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %args = alloca [1 x %struct.__va_list_tag.0], align 16 + %__S = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %tmp = alloca i32, align 4 + store i32 %status, i32* %status.addr, align 4 + store i32 %errnum, i32* %errnum.addr, align 4 + store i8* %file_name, i8** %file_name.addr, align 8 + store i32 %line_number, i32* %line_number.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + %0 = load i32, i32* @error_one_per_line, align 4 + %tobool = icmp ne i32 %0, 0 + br i1 %tobool, label %if.then, label %if.end4 + +if.then: ; preds = %entry + %1 = load i32, i32* @__error_at_line.old_line_number, align 4 + %2 = load i32, i32* %line_number.addr, align 4 + %cmp = icmp eq i32 %1, %2 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %if.then + %3 = load i8*, i8** %file_name.addr, align 8 + %4 = load i8*, i8** @__error_at_line.old_file_name, align 8 + %cmp1 = icmp eq i8* %3, %4 + br i1 %cmp1, label %if.end25, label %lor.lhs.false + +lor.lhs.false: ; preds = %land.lhs.true + %5 = load i8*, i8** @__error_at_line.old_file_name, align 8 + %6 = load i8*, i8** %file_name.addr, align 8 + %call = call i32 @strcmp(i8* %5, i8* %6) #20 + %tobool2 = icmp ne i32 %call, 0 + br i1 %tobool2, label %if.end, label %if.end25 + +if.end: ; preds = %lor.lhs.false, %if.then + %7 = load i8*, i8** %file_name.addr, align 8 + store i8* %7, i8** @__error_at_line.old_file_name, align 8 + %8 = load i32, i32* %line_number.addr, align 4 + store i32 %8, i32* @__error_at_line.old_line_number, align 4 + br label %if.end4 + +if.end4: ; preds = %if.end, %entry + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdout, align 8 + %call5 = call i32 @fflush(%struct.__STDIO_FILE_STRUCT.568* %9) #18 + %10 = load i8*, i8** %file_name.addr, align 8 + %cmp6 = icmp ne i8* %10, null + br i1 %cmp6, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end4 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %12 = load i8*, i8** %file_name.addr, align 8 + %13 = load i32, i32* %line_number.addr, align 4 + %call8 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %11, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1.224, i64 0, i64 0), i8* %12, i32 %13) #18 + br label %if.end9 + +if.end9: ; preds = %if.then7, %if.end4 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay10 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay10) + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %15 = load i8*, i8** %message.addr, align 8 + %arraydecay11 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %call12 = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %14, i8* %15, %struct.__va_list_tag.0* %arraydecay11) #18 + %arraydecay13 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay1314 = bitcast %struct.__va_list_tag.0* %arraydecay13 to i8* + call void @llvm.va_end(i8* %arraydecay1314) + %16 = load i32, i32* @error_message_count, align 4 + %inc = add i32 %16, 1 + store i32 %inc, i32* @error_message_count, align 4 + %17 = load i32, i32* %errnum.addr, align 4 + %tobool15 = icmp ne i32 %17, 0 + br i1 %tobool15, label %if.then16, label %if.end19 + +if.then16: ; preds = %if.end9 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %19 = load i32, i32* %errnum.addr, align 4 + %call17 = call i8* @strerror(i32 %19) #19 + %call18 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %18, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.223, i64 0, i64 0), i8* %call17) #18 + br label %if.end19 + +if.end19: ; preds = %if.then16, %if.end9 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %20, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %21 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %21, i32 0, i32 5 + %22 = load i8*, i8** %__bufpos, align 8 + %23 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %23, i32 0, i32 8 + %24 = load i8*, i8** %__bufputc_u, align 8 + %cmp20 = icmp ult i8* %22, %24 + %25 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + br i1 %cmp20, label %cond.true, label %cond.false + +cond.true: ; preds = %if.end19 + %__bufpos21 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %25, i32 0, i32 5 + %26 = load i8*, i8** %__bufpos21, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %26, i32 1 + store i8* %incdec.ptr, i8** %__bufpos21, align 8 + store i8 10, i8* %26, align 1 + br label %cond.end + +cond.false: ; preds = %if.end19 + %call22 = call i32 @__fputc_unlocked(i32 10, %struct.__STDIO_FILE_STRUCT.568* %25) #18 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ 10, %cond.true ], [ %call22, %cond.false ] + store i32 %cond, i32* %tmp, align 4 + %27 = load i32, i32* %tmp, align 4 + %28 = load i32, i32* %status.addr, align 4 + %tobool23 = icmp ne i32 %28, 0 + br i1 %tobool23, label %if.then24, label %if.end25 + +if.then24: ; preds = %cond.end + %29 = load i32, i32* %status.addr, align 4 + call void @exit(i32 %29) #22 + unreachable + +if.end25: ; preds = %land.lhs.true, %lor.lhs.false, %cond.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i8* @nl_langinfo(i32 %item) #0 { +entry: + %item.addr = alloca i32, align 4 + store i32 %item, i32* %item.addr, align 4 + %0 = load i32, i32* %item.addr, align 4 + %1 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %call = call i8* @nl_langinfo_l(i32 %0, %struct.__uclibc_locale_struct.201* %1) #18 + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define i8* @setlocale(i32 %category, i8* %locale) #0 { +entry: + %retval = alloca i8*, align 8 + %category.addr = alloca i32, align 4 + %locale.addr = alloca i8*, align 8 + store i32 %category, i32* %category.addr, align 4 + store i8* %locale, i8** %locale.addr, align 8 + %0 = load i32, i32* %category.addr, align 4 + %cmp = icmp ugt i32 %0, 6 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %locale.addr, align 8 + %cmp1 = icmp ne i8* %1, null + br i1 %cmp1, label %if.then2, label %if.end5 + +if.then2: ; preds = %if.end + %2 = load i32, i32* %category.addr, align 4 + %shl = shl i32 1, %2 + %3 = load i8*, i8** %locale.addr, align 8 + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__global_locale, align 8 + %call = call %struct.__uclibc_locale_struct.201* @newlocale(i32 %shl, i8* %3, %struct.__uclibc_locale_struct.201* %4) #19 + %tobool = icmp ne %struct.__uclibc_locale_struct.201* %call, null + br i1 %tobool, label %if.end4, label %if.then3 + +if.then3: ; preds = %if.then2 + store i8* null, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %if.then2 + %5 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__global_locale, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %5, i32 0, i32 6 + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + call void @update_hr_locale(i8* %arraydecay) #18 + br label %if.end5 + +if.end5: ; preds = %if.end4, %if.end + %6 = load i32, i32* %category.addr, align 4 + %mul = mul nsw i32 %6, 32 + %idx.ext = sext i32 %mul to i64 + %add.ptr = getelementptr inbounds i8, i8* getelementptr inbounds ([448 x i8], [448 x i8]* @hr_locale, i64 0, i64 0), i64 %idx.ext + store i8* %add.ptr, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %7 = load i8*, i8** %retval, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @update_hr_locale(i8* %spec) #0 { +entry: + %spec.addr = alloca i8*, align 8 + %loc = alloca i8*, align 8 + %s = alloca i8*, align 8 + %n = alloca i8*, align 8 + %i = alloca i32, align 4 + %category = alloca i32, align 4 + %done = alloca i32, align 4 + %at = alloca i8, align 1 + %q = alloca i8*, align 8 + store i8* %spec, i8** %spec.addr, align 8 + store i32 0, i32* %category, align 4 + store i32 0, i32* %done, align 4 + br label %do.body + +do.body: ; preds = %do.end127, %entry + %0 = load i8*, i8** %spec.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %0, i64 1 + store i8* %add.ptr, i8** %s, align 8 + %1 = load i32, i32* %category, align 4 + %mul = mul nsw i32 %1, 32 + %idx.ext = sext i32 %mul to i64 + %add.ptr1 = getelementptr inbounds i8, i8* getelementptr inbounds ([448 x i8], [448 x i8]* @hr_locale, i64 0, i64 0), i64 %idx.ext + store i8* %add.ptr1, i8** %n, align 8 + %2 = load i32, i32* %category, align 4 + %cmp = icmp eq i32 %2, 6 + br i1 %cmp, label %if.then, label %SKIP + +if.then: ; preds = %do.body + store i32 1, i32* %done, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.then + %3 = load i32, i32* %i, align 4 + %cmp2 = icmp slt i32 %3, 5 + br i1 %cmp2, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %4 = load i8*, i8** %s, align 8 + %5 = load i32, i32* %i, align 4 + %idxprom = sext i32 %5 to i64 + %arrayidx = getelementptr inbounds i8, i8* %4, i64 %idxprom + %6 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %6 to i32 + %7 = load i8*, i8** %s, align 8 + %8 = load i32, i32* %i, align 4 + %add = add nsw i32 %8, 2 + %idxprom3 = sext i32 %add to i64 + %arrayidx4 = getelementptr inbounds i8, i8* %7, i64 %idxprom3 + %9 = load i8, i8* %arrayidx4, align 1 + %conv5 = zext i8 %9 to i32 + %cmp6 = icmp ne i32 %conv, %conv5 + br i1 %cmp6, label %SKIP, label %lor.lhs.false + +lor.lhs.false: ; preds = %for.body + %10 = load i8*, i8** %s, align 8 + %11 = load i32, i32* %i, align 4 + %add8 = add nsw i32 %11, 1 + %idxprom9 = sext i32 %add8 to i64 + %arrayidx10 = getelementptr inbounds i8, i8* %10, i64 %idxprom9 + %12 = load i8, i8* %arrayidx10, align 1 + %conv11 = zext i8 %12 to i32 + %13 = load i8*, i8** %s, align 8 + %14 = load i32, i32* %i, align 4 + %add12 = add nsw i32 %14, 3 + %idxprom13 = sext i32 %add12 to i64 + %arrayidx14 = getelementptr inbounds i8, i8* %13, i64 %idxprom13 + %15 = load i8, i8* %arrayidx14, align 1 + %conv15 = zext i8 %15 to i32 + %cmp16 = icmp ne i32 %conv11, %conv15 + br i1 %cmp16, label %SKIP, label %for.inc + +for.inc: ; preds = %lor.lhs.false + %16 = load i32, i32* %i, align 4 + %add19 = add nsw i32 %16, 2 + store i32 %add19, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + store i32 0, i32* %category, align 4 + br label %SKIP + +SKIP: ; preds = %do.body, %for.end, %for.body, %lor.lhs.false + %17 = load i32, i32* %category, align 4 + %cmp21 = icmp eq i32 %17, 6 + %18 = load i32, i32* %category, align 4 + %cond = select i1 %cmp21, i32 0, i32 %18 + store i32 %cond, i32* %i, align 4 + %19 = load i32, i32* %i, align 4 + %mul23 = mul nsw i32 2, %19 + %20 = load i8*, i8** %s, align 8 + %idx.ext24 = sext i32 %mul23 to i64 + %add.ptr25 = getelementptr inbounds i8, i8* %20, i64 %idx.ext24 + store i8* %add.ptr25, i8** %s, align 8 + br label %do.body26 + +do.body26: ; preds = %if.end122, %SKIP + %21 = load i8*, i8** %s, align 8 + %22 = load i8, i8* %21, align 1 + %conv27 = zext i8 %22 to i32 + %cmp28 = icmp ne i32 %conv27, 255 + br i1 %cmp28, label %if.then35, label %lor.lhs.false30 + +lor.lhs.false30: ; preds = %do.body26 + %23 = load i8*, i8** %s, align 8 + %arrayidx31 = getelementptr inbounds i8, i8* %23, i64 1 + %24 = load i8, i8* %arrayidx31, align 1 + %conv32 = zext i8 %24 to i32 + %cmp33 = icmp ne i32 %conv32, 255 + br i1 %cmp33, label %if.then35, label %if.end122 + +if.then35: ; preds = %lor.lhs.false30, %do.body26 + %25 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %25, i32 0, i32 31 + %arraydecay = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales, i64 0, i64 0 + %26 = load i8*, i8** %s, align 8 + %27 = load i8, i8* %26, align 1 + %conv36 = zext i8 %27 to i32 + %and = and i32 %conv36, 127 + %shl = shl i32 %and, 7 + %28 = load i8*, i8** %s, align 8 + %arrayidx37 = getelementptr inbounds i8, i8* %28, i64 1 + %29 = load i8, i8* %arrayidx37, align 1 + %conv38 = zext i8 %29 to i32 + %and39 = and i32 %conv38, 127 + %add40 = add nsw i32 %shl, %and39 + %mul41 = mul nsw i32 9, %add40 + %idx.ext42 = sext i32 %mul41 to i64 + %add.ptr43 = getelementptr inbounds i8, i8* %arraydecay, i64 %idx.ext42 + store i8* %add.ptr43, i8** %loc, align 8 + %30 = load i32, i32* %category, align 4 + %cmp44 = icmp eq i32 %30, 6 + br i1 %cmp44, label %if.then46, label %if.end54 + +if.then46: ; preds = %if.then35 + %31 = load i8*, i8** %n, align 8 + %32 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %32, i32 0, i32 34 + %arraydecay47 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names, i64 0, i64 0 + %33 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names48 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %33, i32 0, i32 34 + %34 = load i32, i32* %i, align 4 + %idxprom49 = sext i32 %34 to i64 + %arrayidx50 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names48, i64 0, i64 %idxprom49 + %35 = load i8, i8* %arrayidx50, align 1 + %conv51 = zext i8 %35 to i32 + %idx.ext52 = sext i32 %conv51 to i64 + %add.ptr53 = getelementptr inbounds i8, i8* %arraydecay47, i64 %idx.ext52 + %call = call i8* @stpcpy(i8* %31, i8* %add.ptr53) #19 + store i8* %call, i8** %n, align 8 + %36 = load i8*, i8** %n, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %36, i32 1 + store i8* %incdec.ptr, i8** %n, align 8 + store i8 61, i8* %36, align 1 + br label %if.end54 + +if.end54: ; preds = %if.then46, %if.then35 + %37 = load i8*, i8** %loc, align 8 + %38 = load i8, i8* %37, align 1 + %conv55 = zext i8 %38 to i32 + %cmp56 = icmp eq i32 %conv55, 0 + br i1 %cmp56, label %if.then58, label %if.else + +if.then58: ; preds = %if.end54 + %39 = load i8*, i8** %n, align 8 + %incdec.ptr59 = getelementptr inbounds i8, i8* %39, i32 1 + store i8* %incdec.ptr59, i8** %n, align 8 + store i8 67, i8* %39, align 1 + %40 = load i8*, i8** %n, align 8 + store i8 0, i8* %40, align 1 + br label %if.end120 + +if.else: ; preds = %if.end54 + store i8 0, i8* %at, align 1 + %41 = load i8*, i8** %n, align 8 + %42 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_names5 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %42, i32 0, i32 32 + %arraydecay60 = getelementptr inbounds [835 x i8], [835 x i8]* %locale_names5, i64 0, i64 0 + %43 = load i8*, i8** %loc, align 8 + %44 = load i8, i8* %43, align 1 + %conv61 = zext i8 %44 to i32 + %sub = sub nsw i32 %conv61, 1 + %mul62 = mul nsw i32 5, %sub + %idx.ext63 = sext i32 %mul62 to i64 + %add.ptr64 = getelementptr inbounds i8, i8* %arraydecay60, i64 %idx.ext63 + %call65 = call i8* @memcpy(i8* %41, i8* %add.ptr64, i64 5) #19 + %45 = load i8*, i8** %n, align 8 + %arrayidx66 = getelementptr inbounds i8, i8* %45, i64 2 + %46 = load i8, i8* %arrayidx66, align 1 + %conv67 = sext i8 %46 to i32 + %cmp68 = icmp ne i32 %conv67, 95 + br i1 %cmp68, label %if.then70, label %if.end73 + +if.then70: ; preds = %if.else + %47 = load i8*, i8** %n, align 8 + %arrayidx71 = getelementptr inbounds i8, i8* %47, i64 2 + %48 = load i8, i8* %arrayidx71, align 1 + store i8 %48, i8* %at, align 1 + %49 = load i8*, i8** %n, align 8 + %arrayidx72 = getelementptr inbounds i8, i8* %49, i64 2 + store i8 95, i8* %arrayidx72, align 1 + br label %if.end73 + +if.end73: ; preds = %if.then70, %if.else + %50 = load i8*, i8** %n, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %50, i64 5 + store i8* %add.ptr74, i8** %n, align 8 + %51 = load i8*, i8** %n, align 8 + %incdec.ptr75 = getelementptr inbounds i8, i8* %51, i32 1 + store i8* %incdec.ptr75, i8** %n, align 8 + store i8 46, i8* %51, align 1 + %52 = load i8*, i8** %loc, align 8 + %arrayidx76 = getelementptr inbounds i8, i8* %52, i64 2 + %53 = load i8, i8* %arrayidx76, align 1 + %conv77 = zext i8 %53 to i32 + %cmp78 = icmp eq i32 %conv77, 2 + br i1 %cmp78, label %if.then80, label %if.else82 + +if.then80: ; preds = %if.end73 + %54 = load i8*, i8** %n, align 8 + %call81 = call i8* @stpcpy(i8* %54, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf8.231, i64 0, i64 0)) #19 + store i8* %call81, i8** %n, align 8 + br label %if.end100 + +if.else82: ; preds = %if.end73 + %55 = load i8*, i8** %loc, align 8 + %arrayidx83 = getelementptr inbounds i8, i8* %55, i64 2 + %56 = load i8, i8* %arrayidx83, align 1 + %conv84 = zext i8 %56 to i32 + %cmp85 = icmp sge i32 %conv84, 3 + br i1 %cmp85, label %if.then87, label %if.end100 + +if.then87: ; preds = %if.else82 + %57 = load i8*, i8** %n, align 8 + %58 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %58, i32 0, i32 35 + %arraydecay88 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list, i64 0, i64 0 + %59 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list89 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %59, i32 0, i32 35 + %60 = load i8*, i8** %loc, align 8 + %arrayidx90 = getelementptr inbounds i8, i8* %60, i64 2 + %61 = load i8, i8* %arrayidx90, align 1 + %conv91 = zext i8 %61 to i32 + %sub92 = sub nsw i32 %conv91, 3 + %idxprom93 = sext i32 %sub92 to i64 + %arrayidx94 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list89, i64 0, i64 %idxprom93 + %62 = load i8, i8* %arrayidx94, align 1 + %conv95 = zext i8 %62 to i32 + %idx.ext96 = sext i32 %conv95 to i64 + %add.ptr97 = getelementptr inbounds i8, i8* %arraydecay88, i64 %idx.ext96 + %call98 = call i8* @stpcpy(i8* %57, i8* %add.ptr97) #19 + store i8* %call98, i8** %n, align 8 + br label %if.end100 + +if.end100: ; preds = %if.else82, %if.then87, %if.then80 + %63 = load i8, i8* %at, align 1 + %tobool = icmp ne i8 %63, 0 + br i1 %tobool, label %if.then101, label %if.end120 + +if.then101: ; preds = %if.end100 + %64 = load i8*, i8** %n, align 8 + %incdec.ptr102 = getelementptr inbounds i8, i8* %64, i32 1 + store i8* %incdec.ptr102, i8** %n, align 8 + store i8 64, i8* %64, align 1 + %65 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_at_modifiers = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %65, i32 0, i32 33 + %arraydecay103 = getelementptr inbounds [18 x i8], [18 x i8]* %locale_at_modifiers, i64 0, i64 0 + store i8* %arraydecay103, i8** %q, align 8 + br label %do.body104 + +do.body104: ; preds = %if.end113, %if.then101 + %66 = load i8*, i8** %q, align 8 + %arrayidx105 = getelementptr inbounds i8, i8* %66, i64 1 + %67 = load i8, i8* %arrayidx105, align 1 + %conv106 = sext i8 %67 to i32 + %68 = load i8, i8* %at, align 1 + %conv107 = sext i8 %68 to i32 + %cmp108 = icmp eq i32 %conv106, %conv107 + br i1 %cmp108, label %if.then110, label %if.end113 + +if.then110: ; preds = %do.body104 + %69 = load i8*, i8** %n, align 8 + %70 = load i8*, i8** %q, align 8 + %add.ptr111 = getelementptr inbounds i8, i8* %70, i64 2 + %call112 = call i8* @stpcpy(i8* %69, i8* %add.ptr111) #19 + store i8* %call112, i8** %n, align 8 + br label %if.end120 + +if.end113: ; preds = %do.body104 + %71 = load i8*, i8** %q, align 8 + %72 = load i8, i8* %71, align 1 + %conv114 = sext i8 %72 to i32 + %add115 = add nsw i32 2, %conv114 + %73 = load i8*, i8** %q, align 8 + %idx.ext116 = sext i32 %add115 to i64 + %add.ptr117 = getelementptr inbounds i8, i8* %73, i64 %idx.ext116 + store i8* %add.ptr117, i8** %q, align 8 + %74 = load i8*, i8** %q, align 8 + %75 = load i8, i8* %74, align 1 + %tobool118 = icmp ne i8 %75, 0 + br i1 %tobool118, label %do.body104, label %if.end120 + +if.end120: ; preds = %if.end100, %if.end113, %if.then110, %if.then58 + %76 = load i8*, i8** %n, align 8 + %incdec.ptr121 = getelementptr inbounds i8, i8* %76, i32 1 + store i8* %incdec.ptr121, i8** %n, align 8 + store i8 59, i8* %76, align 1 + br label %if.end122 + +if.end122: ; preds = %if.end120, %lor.lhs.false30 + %77 = load i8*, i8** %s, align 8 + %add.ptr123 = getelementptr inbounds i8, i8* %77, i64 2 + store i8* %add.ptr123, i8** %s, align 8 + %78 = load i32, i32* %i, align 4 + %inc = add nsw i32 %78, 1 + store i32 %inc, i32* %i, align 4 + %79 = load i32, i32* %category, align 4 + %cmp125 = icmp slt i32 %inc, %79 + br i1 %cmp125, label %do.body26, label %do.end127 + +do.end127: ; preds = %if.end122 + %80 = load i8*, i8** %n, align 8 + %incdec.ptr128 = getelementptr inbounds i8, i8* %80, i32 -1 + store i8* %incdec.ptr128, i8** %n, align 8 + store i8 0, i8* %incdec.ptr128, align 1 + %81 = load i32, i32* %category, align 4 + %inc129 = add nsw i32 %81, 1 + store i32 %inc129, i32* %category, align 4 + %82 = load i32, i32* %done, align 4 + %tobool131 = icmp ne i32 %82, 0 + %lnot = xor i1 %tobool131, true + br i1 %lnot, label %do.body, label %do.end132 + +do.end132: ; preds = %do.end127 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define void @setutent() #0 { +entry: + call void @__setutent() #18 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__setutent() #0 { +entry: + %ret = alloca i32, align 4 + %0 = load i32, i32* @static_fd, align 4 + %cmp = icmp eq i32 %0, -1 + br i1 %cmp, label %if.then, label %if.end16 + +if.then: ; preds = %entry + %1 = load i8*, i8** @static_ut_name, align 8 + %call = call i32 (i8*, i32, ...) @open(i8* %1, i32 2) #18 + store i32 %call, i32* @static_fd, align 4 + %cmp1 = icmp slt i32 %call, 0 + br i1 %cmp1, label %if.then2, label %if.end6 + +if.then2: ; preds = %if.then + %2 = load i8*, i8** @static_ut_name, align 8 + %call3 = call i32 (i8*, i32, ...) @open(i8* %2, i32 0) #18 + store i32 %call3, i32* @static_fd, align 4 + %cmp4 = icmp slt i32 %call3, 0 + br i1 %cmp4, label %bummer, label %if.end6 + +if.end6: ; preds = %if.then2, %if.then + %3 = load i32, i32* @static_fd, align 4 + %call7 = call i32 (i32, i32, ...) @fcntl(i32 %3, i32 1, i32 0) #18 + store i32 %call7, i32* %ret, align 4 + %4 = load i32, i32* %ret, align 4 + %cmp8 = icmp sge i32 %4, 0 + br i1 %cmp8, label %if.then9, label %if.end11 + +if.then9: ; preds = %if.end6 + %5 = load i32, i32* @static_fd, align 4 + %6 = load i32, i32* %ret, align 4 + %or = or i32 %6, 1 + %call10 = call i32 (i32, i32, ...) @fcntl(i32 %5, i32 2, i32 %or) #18 + store i32 %call10, i32* %ret, align 4 + br label %if.end11 + +if.end11: ; preds = %if.then9, %if.end6 + %7 = load i32, i32* %ret, align 4 + %cmp12 = icmp slt i32 %7, 0 + br i1 %cmp12, label %bummer, label %if.end16 + +bummer: ; preds = %if.end11, %if.then2 + store i32 -1, i32* @static_fd, align 4 + %8 = load i32, i32* @static_fd, align 4 + %call14 = call i32 @close(i32 %8) #18 + br label %return + +if.end16: ; preds = %if.end11, %entry + %9 = load i32, i32* @static_fd, align 4 + %call17 = call i64 @lseek(i32 %9, i64 0, i32 0) #19 + br label %return + +return: ; preds = %if.end16, %bummer + ret void +} + +; Function Attrs: noinline nounwind uwtable +define void @endutent() #0 { +entry: + %0 = load i32, i32* @static_fd, align 4 + %cmp = icmp ne i32 %0, -1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load i32, i32* @static_fd, align 4 + %call = call i32 @close(i32 %1) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + store i32 -1, i32* @static_fd, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @getutent() #0 { +entry: + %ret = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* null, %struct.utmp.323** %ret, align 8 + %0 = load i32, i32* @static_fd, align 4 + %call = call %struct.utmp.323* @__getutent(i32 %0) #18 + store %struct.utmp.323* %call, %struct.utmp.323** %ret, align 8 + %1 = load %struct.utmp.323*, %struct.utmp.323** %ret, align 8 + ret %struct.utmp.323* %1 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.utmp.323* @__getutent(i32 %utmp_fd) #0 { +entry: + %retval = alloca %struct.utmp.323*, align 8 + %utmp_fd.addr = alloca i32, align 4 + %ret = alloca %struct.utmp.323*, align 8 + store i32 %utmp_fd, i32* %utmp_fd.addr, align 4 + store %struct.utmp.323* null, %struct.utmp.323** %ret, align 8 + %0 = load i32, i32* %utmp_fd.addr, align 4 + %cmp = icmp eq i32 %0, -1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @__setutent() #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i32, i32* %utmp_fd.addr, align 4 + %cmp1 = icmp eq i32 %1, -1 + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + store %struct.utmp.323* null, %struct.utmp.323** %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %2 = load i32, i32* %utmp_fd.addr, align 4 + %call = call i64 @read(i32 %2, i8* bitcast (%struct.utmp.323* @static_utmp to i8*), i64 400) #18 + %cmp4 = icmp eq i64 %call, 400 + br i1 %cmp4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end3 + store %struct.utmp.323* @static_utmp, %struct.utmp.323** %ret, align 8 + br label %if.end6 + +if.end6: ; preds = %if.then5, %if.end3 + %3 = load %struct.utmp.323*, %struct.utmp.323** %ret, align 8 + store %struct.utmp.323* %3, %struct.utmp.323** %retval, align 8 + br label %return + +return: ; preds = %if.end6, %if.then2 + %4 = load %struct.utmp.323*, %struct.utmp.323** %retval, align 8 + ret %struct.utmp.323* %4 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @getutid(%struct.utmp.323* %utmp_entry) #0 { +entry: + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + %ret = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + store %struct.utmp.323* null, %struct.utmp.323** %ret, align 8 + %0 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %call = call %struct.utmp.323* @__getutid(%struct.utmp.323* %0) #18 + store %struct.utmp.323* %call, %struct.utmp.323** %ret, align 8 + %1 = load %struct.utmp.323*, %struct.utmp.323** %ret, align 8 + ret %struct.utmp.323* %1 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.utmp.323* @__getutid(%struct.utmp.323* %utmp_entry) #0 { +entry: + %retval = alloca %struct.utmp.323*, align 8 + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + %lutmp = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end47, %entry + %0 = load i32, i32* @static_fd, align 4 + %call = call %struct.utmp.323* @__getutent(i32 %0) #18 + store %struct.utmp.323* %call, %struct.utmp.323** %lutmp, align 8 + %cmp = icmp ne %struct.utmp.323* %call, null + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %1 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %1, i32 0, i32 0 + %2 = load i16, i16* %ut_type, align 8 + %conv = sext i16 %2 to i32 + %cmp1 = icmp eq i32 %conv, 1 + br i1 %cmp1, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.body + %3 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type3 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %3, i32 0, i32 0 + %4 = load i16, i16* %ut_type3, align 8 + %conv4 = sext i16 %4 to i32 + %cmp5 = icmp eq i32 %conv4, 2 + br i1 %cmp5, label %land.lhs.true, label %lor.lhs.false7 + +lor.lhs.false7: ; preds = %lor.lhs.false + %5 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type8 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %5, i32 0, i32 0 + %6 = load i16, i16* %ut_type8, align 8 + %conv9 = sext i16 %6 to i32 + %cmp10 = icmp eq i32 %conv9, 3 + br i1 %cmp10, label %land.lhs.true, label %lor.lhs.false12 + +lor.lhs.false12: ; preds = %lor.lhs.false7 + %7 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type13 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %7, i32 0, i32 0 + %8 = load i16, i16* %ut_type13, align 8 + %conv14 = sext i16 %8 to i32 + %cmp15 = icmp eq i32 %conv14, 4 + br i1 %cmp15, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %lor.lhs.false12, %lor.lhs.false7, %lor.lhs.false, %while.body + %9 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_type17 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %9, i32 0, i32 0 + %10 = load i16, i16* %ut_type17, align 8 + %conv18 = sext i16 %10 to i32 + %11 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type19 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %11, i32 0, i32 0 + %12 = load i16, i16* %ut_type19, align 8 + %conv20 = sext i16 %12 to i32 + %cmp21 = icmp eq i32 %conv18, %conv20 + br i1 %cmp21, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %13 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + store %struct.utmp.323* %13, %struct.utmp.323** %retval, align 8 + br label %return + +if.end: ; preds = %land.lhs.true, %lor.lhs.false12 + %14 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type23 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %14, i32 0, i32 0 + %15 = load i16, i16* %ut_type23, align 8 + %conv24 = sext i16 %15 to i32 + %cmp25 = icmp eq i32 %conv24, 5 + br i1 %cmp25, label %land.lhs.true42, label %lor.lhs.false27 + +lor.lhs.false27: ; preds = %if.end + %16 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type28 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %16, i32 0, i32 0 + %17 = load i16, i16* %ut_type28, align 8 + %conv29 = sext i16 %17 to i32 + %cmp30 = icmp eq i32 %conv29, 8 + br i1 %cmp30, label %land.lhs.true42, label %lor.lhs.false32 + +lor.lhs.false32: ; preds = %lor.lhs.false27 + %18 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type33 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %18, i32 0, i32 0 + %19 = load i16, i16* %ut_type33, align 8 + %conv34 = sext i16 %19 to i32 + %cmp35 = icmp eq i32 %conv34, 6 + br i1 %cmp35, label %land.lhs.true42, label %lor.lhs.false37 + +lor.lhs.false37: ; preds = %lor.lhs.false32 + %20 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type38 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %20, i32 0, i32 0 + %21 = load i16, i16* %ut_type38, align 8 + %conv39 = sext i16 %21 to i32 + %cmp40 = icmp eq i32 %conv39, 7 + br i1 %cmp40, label %land.lhs.true42, label %if.end47 + +land.lhs.true42: ; preds = %lor.lhs.false37, %lor.lhs.false32, %lor.lhs.false27, %if.end + %22 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_id = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %22, i32 0, i32 3 + %arraydecay = getelementptr inbounds [4 x i8], [4 x i8]* %ut_id, i64 0, i64 0 + %23 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_id43 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %23, i32 0, i32 3 + %arraydecay44 = getelementptr inbounds [4 x i8], [4 x i8]* %ut_id43, i64 0, i64 0 + %call45 = call i32 @strncmp(i8* %arraydecay, i8* %arraydecay44, i64 4) #20 + %tobool = icmp ne i32 %call45, 0 + br i1 %tobool, label %if.end47, label %if.then46 + +if.then46: ; preds = %land.lhs.true42 + %24 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + store %struct.utmp.323* %24, %struct.utmp.323** %retval, align 8 + br label %return + +if.end47: ; preds = %land.lhs.true42, %lor.lhs.false37 + br label %while.cond + +while.end: ; preds = %while.cond + store %struct.utmp.323* null, %struct.utmp.323** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then46, %if.then + %25 = load %struct.utmp.323*, %struct.utmp.323** %retval, align 8 + ret %struct.utmp.323* %25 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @getutline(%struct.utmp.323* %utmp_entry) #0 { +entry: + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + %lutmp = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + store %struct.utmp.323* null, %struct.utmp.323** %lutmp, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %0 = load i32, i32* @static_fd, align 4 + %call = call %struct.utmp.323* @__getutent(i32 %0) #18 + store %struct.utmp.323* %call, %struct.utmp.323** %lutmp, align 8 + %cmp = icmp ne %struct.utmp.323* %call, null + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %1 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_type = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %1, i32 0, i32 0 + %2 = load i16, i16* %ut_type, align 8 + %conv = sext i16 %2 to i32 + %cmp1 = icmp eq i32 %conv, 7 + br i1 %cmp1, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.body + %3 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_type3 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %3, i32 0, i32 0 + %4 = load i16, i16* %ut_type3, align 8 + %conv4 = sext i16 %4 to i32 + %cmp5 = icmp eq i32 %conv4, 6 + br i1 %cmp5, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %lor.lhs.false, %while.body + %5 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_line = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %5, i32 0, i32 2 + %arraydecay = getelementptr inbounds [32 x i8], [32 x i8]* %ut_line, i64 0, i64 0 + %6 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_line7 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %6, i32 0, i32 2 + %arraydecay8 = getelementptr inbounds [32 x i8], [32 x i8]* %ut_line7, i64 0, i64 0 + %call9 = call i32 @strcmp(i8* %arraydecay, i8* %arraydecay8) #20 + %tobool = icmp ne i32 %call9, 0 + br i1 %tobool, label %if.end, label %while.end + +if.end: ; preds = %land.lhs.true, %lor.lhs.false + br label %while.cond + +while.end: ; preds = %land.lhs.true, %while.cond + %7 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + ret %struct.utmp.323* %7 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @pututline(%struct.utmp.323* %utmp_entry) #0 { +entry: + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + %0 = load i32, i32* @static_fd, align 4 + %call = call i64 @lseek(i32 %0, i64 -400, i32 1) #19 + %1 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %call1 = call %struct.utmp.323* @__getutid(%struct.utmp.323* %1) #18 + %cmp = icmp ne %struct.utmp.323* %call1, null + %2 = load i32, i32* @static_fd, align 4 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %call2 = call i64 @lseek(i32 %2, i64 -400, i32 1) #19 + br label %if.end + +if.else: ; preds = %entry + %call3 = call i64 @lseek(i32 %2, i64 0, i32 2) #19 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %3 = load i32, i32* @static_fd, align 4 + %4 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %5 = bitcast %struct.utmp.323* %4 to i8* + %call4 = call i64 @write(i32 %3, i8* %5, i64 400) #18 + %cmp5 = icmp ne i64 %call4, 400 + br i1 %cmp5, label %if.then6, label %if.end7 + +if.then6: ; preds = %if.end + store %struct.utmp.323* null, %struct.utmp.323** %utmp_entry.addr, align 8 + br label %if.end7 + +if.end7: ; preds = %if.then6, %if.end + %6 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + ret %struct.utmp.323* %6 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @utmpname(i8* %new_ut_name) #0 { +entry: + %new_ut_name.addr = alloca i8*, align 8 + store i8* %new_ut_name, i8** %new_ut_name.addr, align 8 + %0 = load i8*, i8** %new_ut_name.addr, align 8 + %cmp = icmp ne i8* %0, null + br i1 %cmp, label %if.then, label %if.end6 + +if.then: ; preds = %entry + %1 = load i8*, i8** @static_ut_name, align 8 + %cmp1 = icmp ne i8* %1, getelementptr inbounds ([14 x i8], [14 x i8]* @default_file_name, i64 0, i64 0) + br i1 %cmp1, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + %2 = load i8*, i8** @static_ut_name, align 8 + call void @free(i8* %2) #19 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %3 = load i8*, i8** %new_ut_name.addr, align 8 + %call = call noalias i8* @strdup(i8* %3) #19 + store i8* %call, i8** @static_ut_name, align 8 + %4 = load i8*, i8** @static_ut_name, align 8 + %cmp3 = icmp eq i8* %4, null + %spec.store.select = select i1 %cmp3, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @default_file_name, i64 0, i64 0), i8* %call + store i8* %spec.store.select, i8** @static_ut_name, align 8 + br label %if.end6 + +if.end6: ; preds = %if.end, %entry + %5 = load i32, i32* @static_fd, align 4 + %cmp7 = icmp ne i32 %5, -1 + br i1 %cmp7, label %if.then8, label %if.end10 + +if.then8: ; preds = %if.end6 + %6 = load i32, i32* @static_fd, align 4 + %call9 = call i32 @close(i32 %6) #18 + br label %if.end10 + +if.end10: ; preds = %if.then8, %if.end6 + store i32 -1, i32* @static_fd, align 4 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_wchar_utf8sntowcs(i32* noalias %pwc, i64 %wn, i8** noalias %src, i64 %n, %struct.__mbstate_t.512* %ps, i32 %allow_continuation) #0 { +entry: + %retval = alloca i64, align 8 + %pwc.addr = alloca i32*, align 8 + %wn.addr = alloca i64, align 8 + %src.addr = alloca i8**, align 8 + %n.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %allow_continuation.addr = alloca i32, align 4 + %s = alloca i8*, align 8 + %mask = alloca i32, align 4 + %wc = alloca i32, align 4 + %wcbuf = alloca [1 x i32], align 4 + %count = alloca i64, align 8 + %incr = alloca i32, align 4 + store i32* %pwc, i32** %pwc.addr, align 8 + store i64 %wn, i64* %wn.addr, align 8 + store i8** %src, i8*** %src.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + store i32 %allow_continuation, i32* %allow_continuation.addr, align 4 + %0 = load i8**, i8*** %src.addr, align 8 + %1 = load i8*, i8** %0, align 8 + store i8* %1, i8** %s, align 8 + store i32 1, i32* %incr, align 4 + %2 = load i32*, i32** %pwc.addr, align 8 + %tobool = icmp ne i32* %2, null + br i1 %tobool, label %lor.lhs.false, label %if.then + +lor.lhs.false: ; preds = %entry + %3 = load i32*, i32** %pwc.addr, align 8 + %4 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %5 = bitcast %struct.__mbstate_t.512* %4 to i32* + %cmp = icmp eq i32* %3, %5 + br i1 %cmp, label %if.then, label %if.end3 + +if.then: ; preds = %lor.lhs.false, %entry + %6 = load i32*, i32** %pwc.addr, align 8 + %tobool1 = icmp ne i32* %6, null + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + store i64 -1, i64* %wn.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %arraydecay = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay, i32** %pwc.addr, align 8 + store i32 0, i32* %incr, align 4 + br label %if.end3 + +if.end3: ; preds = %if.end, %lor.lhs.false + %7 = load i64, i64* %wn.addr, align 8 + store i64 %7, i64* %count, align 8 + %tobool4 = icmp ne i64 %7, 0 + br i1 %tobool4, label %if.end6, label %if.then5 + +if.then5: ; preds = %if.end3 + store i64 0, i64* %retval, align 8 + br label %return + +if.end6: ; preds = %if.end3 + %8 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %8, i32 0, i32 0 + %9 = load i32, i32* %__mask, align 4 + store i32 %9, i32* %mask, align 4 + %cmp7 = icmp ne i32 %9, 0 + br i1 %cmp7, label %if.then8, label %do.body + +if.then8: ; preds = %if.end6 + %10 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %10, i32 0, i32 1 + %11 = load i32, i32* %__wc, align 4 + store i32 %11, i32* %wc, align 4 + %cmp9 = icmp ne i32 %11, 65535 + br i1 %cmp9, label %if.then10, label %if.end14 + +if.then10: ; preds = %if.then8 + %12 = load i64, i64* %n.addr, align 8 + %tobool11 = icmp ne i64 %12, 0 + br i1 %tobool11, label %while.cond, label %DONE + +if.end14: ; preds = %if.then8 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +do.body: ; preds = %if.end6, %land.rhs + %13 = load i64, i64* %n.addr, align 8 + %tobool16 = icmp ne i64 %13, 0 + br i1 %tobool16, label %if.end18, label %DONE + +if.end18: ; preds = %do.body + %14 = load i64, i64* %n.addr, align 8 + %dec = add i64 %14, -1 + store i64 %dec, i64* %n.addr, align 8 + %15 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %15, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %16 = load i8, i8* %15, align 1 + %conv = zext i8 %16 to i32 + store i32 %conv, i32* %wc, align 4 + %cmp19 = icmp uge i32 %conv, 128 + br i1 %cmp19, label %if.then21, label %COMPLETE + +if.then21: ; preds = %if.end18 + store i32 64, i32* %mask, align 4 + %17 = load i8*, i8** %s, align 8 + %arrayidx = getelementptr inbounds i8, i8* %17, i64 -1 + %18 = load i8, i8* %arrayidx, align 1 + %conv22 = sext i8 %18 to i32 + %sub = sub nsw i32 %conv22, 192 + %conv23 = trunc i32 %sub to i8 + %conv24 = zext i8 %conv23 to i32 + %cmp25 = icmp slt i32 %conv24, 62 + br i1 %cmp25, label %START, label %BAD + +BAD: ; preds = %if.end52, %lor.lhs.false55, %lor.lhs.false59, %while.body, %if.then21 + %19 = load i32, i32* %mask, align 4 + %20 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask29 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %20, i32 0, i32 0 + store i32 %19, i32* %__mask29, align 4 + %21 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc30 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %21, i32 0, i32 1 + store i32 65535, i32* %__wc30, align 4 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +while.cond: ; preds = %START, %if.then10 + %22 = load i64, i64* %n.addr, align 8 + %tobool31 = icmp ne i64 %22, 0 + br i1 %tobool31, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %23 = load i64, i64* %n.addr, align 8 + %dec32 = add i64 %23, -1 + store i64 %dec32, i64* %n.addr, align 8 + %24 = load i8*, i8** %s, align 8 + %25 = load i8, i8* %24, align 1 + %conv33 = sext i8 %25 to i32 + %and = and i32 %conv33, 192 + %cmp34 = icmp ne i32 %and, 128 + br i1 %cmp34, label %BAD, label %if.end37 + +if.end37: ; preds = %while.body + %26 = load i32, i32* %mask, align 4 + %shl = shl i32 %26, 5 + store i32 %shl, i32* %mask, align 4 + %27 = load i32, i32* %wc, align 4 + %shl38 = shl i32 %27, 6 + store i32 %shl38, i32* %wc, align 4 + %28 = load i8*, i8** %s, align 8 + %29 = load i8, i8* %28, align 1 + %conv39 = sext i8 %29 to i32 + %and40 = and i32 %conv39, 63 + %30 = load i32, i32* %wc, align 4 + %add = add i32 %30, %and40 + store i32 %add, i32* %wc, align 4 + %31 = load i8*, i8** %s, align 8 + %incdec.ptr41 = getelementptr inbounds i8, i8* %31, i32 1 + store i8* %incdec.ptr41, i8** %s, align 8 + br label %START + +START: ; preds = %if.then21, %if.end37 + %32 = load i32, i32* %mask, align 4 + %shl42 = shl i32 %32, 1 + %neg = xor i32 %shl42, -1 + %33 = load i32, i32* %wc, align 4 + %and43 = and i32 %33, %neg + store i32 %and43, i32* %wc, align 4 + %34 = load i32, i32* %wc, align 4 + %35 = load i32, i32* %mask, align 4 + %and44 = and i32 %34, %35 + %cmp45 = icmp eq i32 %and44, 0 + br i1 %cmp45, label %if.then47, label %while.cond + +if.then47: ; preds = %START + %36 = load i32, i32* %mask, align 4 + %shr = lshr i32 %36, 5 + store i32 %shr, i32* %mask, align 4 + %cmp48 = icmp eq i32 %shr, 64 + br i1 %cmp48, label %if.then50, label %if.end52 + +if.then50: ; preds = %if.then47 + %37 = load i32, i32* %mask, align 4 + %38 = load i32, i32* %mask, align 4 + %add51 = add i32 %38, %37 + store i32 %add51, i32* %mask, align 4 + br label %if.end52 + +if.end52: ; preds = %if.then50, %if.then47 + %39 = load i32, i32* %wc, align 4 + %40 = load i32, i32* %mask, align 4 + %cmp53 = icmp ult i32 %39, %40 + br i1 %cmp53, label %BAD, label %lor.lhs.false55 + +lor.lhs.false55: ; preds = %if.end52 + %41 = load i32, i32* %wc, align 4 + %sub56 = sub i32 %41, 65534 + %cmp57 = icmp ult i32 %sub56, 2 + br i1 %cmp57, label %BAD, label %lor.lhs.false59 + +lor.lhs.false59: ; preds = %lor.lhs.false55 + %42 = load i32, i32* %wc, align 4 + %sub60 = sub i32 %42, 55296 + %cmp61 = icmp ult i32 %sub60, 2048 + br i1 %cmp61, label %BAD, label %COMPLETE + +while.end: ; preds = %while.cond + %43 = load i32, i32* %allow_continuation.addr, align 4 + %tobool66 = icmp ne i32 %43, 0 + br i1 %tobool66, label %if.end77, label %if.then67 + +if.then67: ; preds = %while.end + %44 = load i64, i64* %count, align 8 + %45 = load i64, i64* %wn.addr, align 8 + %cmp68 = icmp ne i64 %44, %45 + br i1 %cmp68, label %if.then70, label %do.body72 + +if.then70: ; preds = %if.then67 + store i64 0, i64* %retval, align 8 + br label %return + +do.body72: ; preds = %if.then67, %do.body72 + %46 = load i8*, i8** %s, align 8 + %incdec.ptr73 = getelementptr inbounds i8, i8* %46, i32 -1 + store i8* %incdec.ptr73, i8** %s, align 8 + %47 = load i32, i32* %mask, align 4 + %shr74 = lshr i32 %47, 5 + store i32 %shr74, i32* %mask, align 4 + %cmp75 = icmp uge i32 %shr74, 64 + br i1 %cmp75, label %do.body72, label %DONE + +if.end77: ; preds = %while.end + %48 = load i32, i32* %mask, align 4 + %49 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask78 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %49, i32 0, i32 0 + store i32 %48, i32* %__mask78, align 4 + %50 = load i32, i32* %wc, align 4 + %51 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc79 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %51, i32 0, i32 1 + store i32 %50, i32* %__wc79, align 4 + %52 = load i8*, i8** %s, align 8 + %53 = load i8**, i8*** %src.addr, align 8 + store i8* %52, i8** %53, align 8 + store i64 -2, i64* %retval, align 8 + br label %return + +COMPLETE: ; preds = %if.end18, %lor.lhs.false59 + %54 = load i32, i32* %wc, align 4 + %55 = load i32*, i32** %pwc.addr, align 8 + store i32 %54, i32* %55, align 4 + %56 = load i32, i32* %incr, align 4 + %57 = load i32*, i32** %pwc.addr, align 8 + %idx.ext = sext i32 %56 to i64 + %add.ptr = getelementptr inbounds i32, i32* %57, i64 %idx.ext + store i32* %add.ptr, i32** %pwc.addr, align 8 + %58 = load i32, i32* %wc, align 4 + %tobool82 = icmp ne i32 %58, 0 + br i1 %tobool82, label %land.rhs, label %do.end85 + +land.rhs: ; preds = %COMPLETE + %59 = load i64, i64* %count, align 8 + %dec83 = add i64 %59, -1 + store i64 %dec83, i64* %count, align 8 + %tobool84 = icmp ne i64 %dec83, 0 + br i1 %tobool84, label %do.body, label %do.end85 + +do.end85: ; preds = %COMPLETE, %land.rhs + %60 = load i32, i32* %wc, align 4 + %tobool86 = icmp ne i32 %60, 0 + br i1 %tobool86, label %DONE, label %if.then87 + +if.then87: ; preds = %do.end85 + store i8* null, i8** %s, align 8 + br label %DONE + +DONE: ; preds = %do.end85, %if.then87, %do.body72, %do.body, %if.then10 + %61 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask89 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %61, i32 0, i32 0 + store i32 0, i32* %__mask89, align 4 + %62 = load i32*, i32** %pwc.addr, align 8 + %arraydecay90 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %cmp91 = icmp ne i32* %62, %arraydecay90 + br i1 %cmp91, label %if.then93, label %if.end94 + +if.then93: ; preds = %DONE + %63 = load i8*, i8** %s, align 8 + %64 = load i8**, i8*** %src.addr, align 8 + store i8* %63, i8** %64, align 8 + br label %if.end94 + +if.end94: ; preds = %if.then93, %DONE + %65 = load i64, i64* %wn.addr, align 8 + %66 = load i64, i64* %count, align 8 + %sub95 = sub i64 %65, %66 + store i64 %sub95, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end94, %if.end77, %if.then70, %BAD, %if.end14, %if.then5 + %67 = load i64, i64* %retval, align 8 + ret i64 %67 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @mbrtowc(i32* noalias %pwc, i8* noalias %s, i64 %n, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %retval = alloca i64, align 8 + %pwc.addr = alloca i32*, align 8 + %s.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %wcbuf = alloca [1 x i32], align 4 + %p = alloca i8*, align 8 + %r = alloca i64, align 8 + %empty_string = alloca [1 x i8], align 1 + store i32* %pwc, i32** %pwc.addr, align 8 + store i8* %s, i8** %s.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %tobool = icmp ne %struct.__mbstate_t.512* %0, null + %spec.store.select = select i1 %tobool, %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512* @mbrtowc.mbstate + store %struct.__mbstate_t.512* %spec.store.select, %struct.__mbstate_t.512** %ps.addr, align 8 + %1 = load i8*, i8** %s.addr, align 8 + %tobool1 = icmp ne i8* %1, null + br i1 %tobool1, label %if.else, label %if.then2 + +if.then2: ; preds = %entry + %2 = load i8*, i8** %s.addr, align 8 + %3 = bitcast i8* %2 to i32* + store i32* %3, i32** %pwc.addr, align 8 + %arrayidx = getelementptr inbounds [1 x i8], [1 x i8]* %empty_string, i64 0, i64 0 + store i8 0, i8* %arrayidx, align 1 + %arraydecay = getelementptr inbounds [1 x i8], [1 x i8]* %empty_string, i64 0, i64 0 + store i8* %arraydecay, i8** %s.addr, align 8 + store i64 1, i64* %n.addr, align 8 + br label %if.end7 + +if.else: ; preds = %entry + %4 = load i64, i64* %n.addr, align 8 + %tobool3 = icmp ne i64 %4, 0 + br i1 %tobool3, label %if.end7, label %if.then4 + +if.then4: ; preds = %if.else + %5 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %5, i32 0, i32 0 + %6 = load i32, i32* %__mask, align 4 + %tobool5 = icmp ne i32 %6, 0 + br i1 %tobool5, label %land.rhs, label %land.end + +land.rhs: ; preds = %if.then4 + %7 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %7, i32 0, i32 1 + %8 = load i32, i32* %__wc, align 4 + %cmp = icmp eq i32 %8, 65535 + br label %land.end + +land.end: ; preds = %land.rhs, %if.then4 + %9 = phi i1 [ false, %if.then4 ], [ %cmp, %land.rhs ] + %10 = zext i1 %9 to i64 + %cond = select i1 %9, i64 -1, i64 -2 + store i64 %cond, i64* %retval, align 8 + br label %return + +if.end7: ; preds = %if.else, %if.then2 + %11 = load i8*, i8** %s.addr, align 8 + store i8* %11, i8** %p, align 8 + %12 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %12, i32 0, i32 9 + %13 = load i8, i8* %encoding, align 8 + %conv = zext i8 %13 to i32 + %cmp8 = icmp eq i32 %conv, 1 + br i1 %cmp8, label %if.then10, label %if.end18 + +if.then10: ; preds = %if.end7 + %14 = load i32*, i32** %pwc.addr, align 8 + %tobool11 = icmp ne i32* %14, null + br i1 %tobool11, label %if.end14, label %if.then12 + +if.then12: ; preds = %if.then10 + %arraydecay13 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay13, i32** %pwc.addr, align 8 + br label %if.end14 + +if.end14: ; preds = %if.then12, %if.then10 + %15 = load i32*, i32** %pwc.addr, align 8 + %16 = load i64, i64* %n.addr, align 8 + %17 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @_wchar_utf8sntowcs(i32* %15, i64 1, i8** %p, i64 %16, %struct.__mbstate_t.512* %17, i32 1) #18 + store i64 %call, i64* %r, align 8 + %18 = load i64, i64* %r, align 8 + %cmp15 = icmp eq i64 %18, 1 + %19 = load i8*, i8** %p, align 8 + %20 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %20 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %21 = load i64, i64* %r, align 8 + %cond17 = select i1 %cmp15, i64 %sub.ptr.sub, i64 %21 + store i64 %cond17, i64* %retval, align 8 + br label %return + +if.end18: ; preds = %if.end7 + %arraydecay19 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %22 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call20 = call i64 @mbsnrtowcs(i32* %arraydecay19, i8** %p, i64 -1, i64 1, %struct.__mbstate_t.512* %22) #19 + store i64 %call20, i64* %r, align 8 + %23 = load i64, i64* %r, align 8 + %cmp21 = icmp sge i64 %23, 0 + %24 = load i32*, i32** %pwc.addr, align 8 + %tobool24 = icmp ne i32* %24, null + %or.cond = and i1 %cmp21, %tobool24 + br i1 %or.cond, label %if.then25, label %if.end28 + +if.then25: ; preds = %if.end18 + %arraydecay26 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %25 = load i32, i32* %arraydecay26, align 4 + %26 = load i32*, i32** %pwc.addr, align 8 + store i32 %25, i32* %26, align 4 + br label %if.end28 + +if.end28: ; preds = %if.then25, %if.end18 + %27 = load i64, i64* %r, align 8 + store i64 %27, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end28, %if.end14, %land.end + %28 = load i64, i64* %retval, align 8 + ret i64 %28 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @mbsinit(%struct.__mbstate_t.512* %ps) #14 { +entry: + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %tobool = icmp ne %struct.__mbstate_t.512* %0, null + br i1 %tobool, label %lor.rhs, label %lor.end + +lor.rhs: ; preds = %entry + %1 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %1, i32 0, i32 0 + %2 = load i32, i32* %__mask, align 4 + %tobool1 = icmp ne i32 %2, 0 + %lnot = xor i1 %tobool1, true + br label %lor.end + +lor.end: ; preds = %lor.rhs, %entry + %3 = phi i1 [ true, %entry ], [ %lnot, %lor.rhs ] + %lor.ext = zext i1 %3 to i32 + ret i32 %lor.ext +} + +; Function Attrs: noinline nounwind uwtable +define i32 @iswprint(i32 %wc) #0 { +entry: + %wc.addr = alloca i32, align 4 + store i32 %wc, i32* %wc.addr, align 4 + %0 = load i32, i32* %wc.addr, align 4 + %call = call i32 @iswctype(i32 %0, i32 8) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.568* %stream, i8* %buf, i64 %bufsize) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %rv = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + store i64 0, i64* %rv, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 4 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end18, label %if.then + +if.then: ; preds = %entry + %2 = load i64, i64* %bufsize.addr, align 8 + %cmp = icmp ugt i64 %2, 9223372036854775807 + br i1 %cmp, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + store i64 9223372036854775807, i64* %bufsize.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 2 + %4 = load i32, i32* %__filedes, align 4 + %5 = load i8*, i8** %buf.addr, align 8 + %6 = load i64, i64* %bufsize.addr, align 8 + %call = call i64 @read(i32 %4, i8* %5, i64 %6) #18 + store i64 %call, i64* %rv, align 8 + %cmp3 = icmp sle i64 %call, 0 + br i1 %cmp3, label %if.then5, label %if.end18 + +if.then5: ; preds = %if.end + %7 = load i64, i64* %rv, align 8 + %cmp6 = icmp eq i64 %7, 0 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags9 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags9, align 8 + %conv10 = zext i16 %9 to i32 + br i1 %cmp6, label %if.then8, label %if.else + +if.then8: ; preds = %if.then5 + %or = or i32 %conv10, 4 + %conv11 = trunc i32 %or to i16 + store i16 %conv11, i16* %__modeflags9, align 8 + br label %if.end18 + +if.else: ; preds = %if.then5 + %or14 = or i32 %conv10, 8 + %conv15 = trunc i32 %or14 to i16 + store i16 %conv15, i16* %__modeflags9, align 8 + store i64 0, i64* %rv, align 8 + br label %if.end18 + +if.end18: ; preds = %if.end, %if.else, %if.then8, %entry + %10 = load i64, i64* %rv, align 8 + ret i64 %10 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %stream, i8* %buf, i64 %bufsize) #0 { +entry: + %retval = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %todo = alloca i64, align 8 + %rv = alloca i64, align 8 + %stodo = alloca i64, align 8 + %s = alloca i8*, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i64, i64* %bufsize.addr, align 8 + store i64 %0, i64* %todo, align 8 + br label %do.body + +do.body: ; preds = %if.then3, %entry + %1 = load i64, i64* %todo, align 8 + %cmp = icmp eq i64 %1, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %do.body + %2 = load i64, i64* %bufsize.addr, align 8 + store i64 %2, i64* %retval, align 8 + br label %do.end32 + +if.end: ; preds = %do.body + %3 = load i64, i64* %todo, align 8 + %cmp1 = icmp ule i64 %3, 9223372036854775807 + %4 = load i64, i64* %todo, align 8 + %cond = select i1 %cmp1, i64 %4, i64 9223372036854775807 + store i64 %cond, i64* %stodo, align 8 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 2 + %6 = load i32, i32* %__filedes, align 4 + %7 = load i8*, i8** %buf.addr, align 8 + %8 = load i64, i64* %stodo, align 8 + %call = call i64 @write(i32 %6, i8* %7, i64 %8) #18 + store i64 %call, i64* %rv, align 8 + %cmp2 = icmp sge i64 %call, 0 + br i1 %cmp2, label %if.then3, label %if.else + +if.then3: ; preds = %if.end + %9 = load i64, i64* %rv, align 8 + %10 = load i64, i64* %todo, align 8 + %sub = sub i64 %10, %9 + store i64 %sub, i64* %todo, align 8 + %11 = load i64, i64* %rv, align 8 + %12 = load i8*, i8** %buf.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %12, i64 %11 + store i8* %add.ptr, i8** %buf.addr, align 8 + br label %do.body + +if.else: ; preds = %if.end + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 0 + %14 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %14 to i32 + %or = or i32 %conv, 8 + %conv4 = trunc i32 %or to i16 + store i16 %conv4, i16* %__modeflags, align 8 + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 4 + %16 = load i8*, i8** %__bufend, align 8 + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 3 + %18 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %16 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %18 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %stodo, align 8 + %cmp5 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %cmp5, label %if.then7, label %if.end28 + +if.then7: ; preds = %if.else + %19 = load i64, i64* %stodo, align 8 + %20 = load i64, i64* %todo, align 8 + %cmp8 = icmp ugt i64 %19, %20 + br i1 %cmp8, label %if.then10, label %if.end11 + +if.then10: ; preds = %if.then7 + %21 = load i64, i64* %todo, align 8 + store i64 %21, i64* %stodo, align 8 + br label %if.end11 + +if.end11: ; preds = %if.then10, %if.then7 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart12 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 3 + %23 = load i8*, i8** %__bufstart12, align 8 + store i8* %23, i8** %s, align 8 + br label %do.body13 + +do.body13: ; preds = %if.end20, %if.end11 + %24 = load i8*, i8** %buf.addr, align 8 + %25 = load i8, i8* %24, align 1 + %26 = load i8*, i8** %s, align 8 + store i8 %25, i8* %26, align 1 + %conv14 = zext i8 %25 to i32 + %cmp15 = icmp eq i32 %conv14, 10 + br i1 %cmp15, label %land.lhs.true, label %if.end20 + +land.lhs.true: ; preds = %do.body13 + %27 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %27, i32 0, i32 0 + %28 = load i16, i16* %__modeflags17, align 8 + %conv18 = zext i16 %28 to i32 + %and = and i32 %conv18, 256 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %do.end, label %if.end20 + +if.end20: ; preds = %land.lhs.true, %do.body13 + %29 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %29, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %30 = load i8*, i8** %buf.addr, align 8 + %incdec.ptr21 = getelementptr inbounds i8, i8* %30, i32 1 + store i8* %incdec.ptr21, i8** %buf.addr, align 8 + %31 = load i64, i64* %stodo, align 8 + %dec = add nsw i64 %31, -1 + store i64 %dec, i64* %stodo, align 8 + %tobool22 = icmp ne i64 %dec, 0 + br i1 %tobool22, label %do.body13, label %do.end + +do.end: ; preds = %land.lhs.true, %if.end20 + %32 = load i8*, i8** %s, align 8 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %33, i32 0, i32 5 + store i8* %32, i8** %__bufpos, align 8 + %34 = load i8*, i8** %s, align 8 + %35 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart23 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %35, i32 0, i32 3 + %36 = load i8*, i8** %__bufstart23, align 8 + %sub.ptr.lhs.cast24 = ptrtoint i8* %34 to i64 + %sub.ptr.rhs.cast25 = ptrtoint i8* %36 to i64 + %sub.ptr.sub26 = sub i64 %sub.ptr.lhs.cast24, %sub.ptr.rhs.cast25 + %37 = load i64, i64* %todo, align 8 + %sub27 = sub i64 %37, %sub.ptr.sub26 + store i64 %sub27, i64* %todo, align 8 + br label %if.end28 + +if.end28: ; preds = %do.end, %if.else + %38 = load i64, i64* %bufsize.addr, align 8 + %39 = load i64, i64* %todo, align 8 + %sub29 = sub i64 %38, %39 + store i64 %sub29, i64* %retval, align 8 + br label %do.end32 + +do.end32: ; preds = %if.then, %if.end28 + %40 = load i64, i64* %retval, align 8 + ret i64 %40 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__freading(%struct.__STDIO_FILE_STRUCT.519* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.519*, align 8 + store %struct.__STDIO_FILE_STRUCT.519* %stream, %struct.__STDIO_FILE_STRUCT.519** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.519*, %struct.__STDIO_FILE_STRUCT.519** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.519, %struct.__STDIO_FILE_STRUCT.519* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 35 + ret i32 %and +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_rfill(%struct.__STDIO_FILE_STRUCT.568* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %rv = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %1, i32 0, i32 3 + %2 = load i8*, i8** %__bufstart, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 4 + %4 = load i8*, i8** %__bufend, align 8 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 3 + %6 = load i8*, i8** %__bufstart1, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %4 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %6 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %call = call i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.568* %0, i8* %2, i64 %sub.ptr.sub) #18 + store i64 %call, i64* %rv, align 8 + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %7, i32 0, i32 3 + %8 = load i8*, i8** %__bufstart2, align 8 + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %9, i32 0, i32 5 + store i8* %8, i8** %__bufpos, align 8 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart3 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 3 + %11 = load i8*, i8** %__bufstart3, align 8 + %12 = load i64, i64* %rv, align 8 + %add.ptr = getelementptr inbounds i8, i8* %11, i64 %12 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 6 + store i8* %add.ptr, i8** %__bufread, align 8 + %14 = load i64, i64* %rv, align 8 + ret i64 %14 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_trans2r_o(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %oflag) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %oflag.addr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %oflag, i32* %oflag.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %2 = load i32, i32* %oflag.addr, align 4 + %and = and i32 %conv, %2 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end9, label %if.then + +if.then: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 0 + %4 = load i16, i16* %__modeflags1, align 8 + %conv2 = zext i16 %4 to i32 + %and3 = and i32 %conv2, 2176 + %tobool4 = icmp ne i32 %and3, 0 + br i1 %tobool4, label %DO_EBADF, label %if.end + +if.end: ; preds = %if.then + %5 = load i32, i32* %oflag.addr, align 4 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 0 + %7 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %7 to i32 + %or = or i32 %conv7, %5 + %conv8 = trunc i32 %or to i16 + store i16 %conv8, i16* %__modeflags6, align 8 + br label %if.end9 + +if.end9: ; preds = %if.end, %entry + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags10, align 8 + %conv11 = zext i16 %9 to i32 + %and12 = and i32 %conv11, 16 + %tobool13 = icmp ne i32 %and12, 0 + br i1 %tobool13, label %DO_EBADF, label %if.end19 + +DO_EBADF: ; preds = %if.end9, %if.then + store i32 9, i32* @errno, align 4 + br label %ERROR + +ERROR: ; preds = %if.then24, %DO_EBADF + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags15 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 0 + %11 = load i16, i16* %__modeflags15, align 8 + %conv16 = zext i16 %11 to i32 + %or17 = or i32 %conv16, 8 + %conv18 = trunc i32 %or17 to i16 + store i16 %conv18, i16* %__modeflags15, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end19: ; preds = %if.end9 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags20 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags20, align 8 + %conv21 = zext i16 %13 to i32 + %and22 = and i32 %conv21, 64 + %tobool23 = icmp ne i32 %and22, 0 + br i1 %tobool23, label %if.then24, label %if.end32 + +if.then24: ; preds = %if.end19 + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %14) #18 + %tobool25 = icmp ne i64 %call, 0 + br i1 %tobool25, label %ERROR, label %if.end27 + +if.end27: ; preds = %if.then24 + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 3 + %16 = load i8*, i8** %__bufstart, align 8 + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 8 + store i8* %16, i8** %__bufputc_u, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags28 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 0 + %19 = load i16, i16* %__modeflags28, align 8 + %conv29 = zext i16 %19 to i32 + %and30 = and i32 %conv29, -65 + %conv31 = trunc i32 %and30 to i16 + store i16 %conv31, i16* %__modeflags28, align 8 + br label %if.end32 + +if.end32: ; preds = %if.end27, %if.end19 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags33 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 0 + %21 = load i16, i16* %__modeflags33, align 8 + %conv34 = zext i16 %21 to i32 + %or35 = or i32 %conv34, 1 + %conv36 = trunc i32 %or35 to i16 + store i16 %conv36, i16* %__modeflags33, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end32, %ERROR + %22 = load i32, i32* %retval, align 4 + ret i32 %22 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fclose(%struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %rv = alloca i32, align 4 + %ptr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 0, i32* %rv, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %0, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %1, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp = icmp eq %struct.__STDIO_FILE_STRUCT.568* %1, %2 + br i1 %cmp, label %if.then, label %while.cond + +if.then: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 9 + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %4, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + br label %if.end7 + +while.cond: ; preds = %entry, %if.end + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %5, null + br i1 %tobool, label %while.body, label %if.end7 + +while.body: ; preds = %while.cond + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 9 + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen1, align 8 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp2 = icmp eq %struct.__STDIO_FILE_STRUCT.568* %7, %8 + br i1 %cmp2, label %if.then3, label %if.end + +if.then3: ; preds = %while.body + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen4 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %9, i32 0, i32 9 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen4, align 8 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen5 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 9 + store %struct.__STDIO_FILE_STRUCT.568* %10, %struct.__STDIO_FILE_STRUCT.568** %__nextopen5, align 8 + br label %if.end7 + +if.end: ; preds = %while.body + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 9 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen6, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %13, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + br label %while.cond + +if.end7: ; preds = %while.cond, %if.then3, %if.then + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %14, i32 0, i32 0 + %15 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %15 to i32 + %and = and i32 %conv, 64 + %tobool8 = icmp ne i32 %and, 0 + br i1 %tobool8, label %if.then9, label %if.end10 + +if.then9: ; preds = %if.end7 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.568* %16) #18 + store i32 %call, i32* %rv, align 4 + br label %if.end10 + +if.end10: ; preds = %if.then9, %if.end7 + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 2 + %18 = load i32, i32* %__filedes, align 4 + %call11 = call i32 @close(i32 %18) #18 + %cmp12 = icmp slt i32 %call11, 0 + br i1 %cmp12, label %if.then14, label %if.end15 + +if.then14: ; preds = %if.end10 + store i32 -1, i32* %rv, align 4 + br label %if.end15 + +if.end15: ; preds = %if.then14, %if.end10 + %19 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes16 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %19, i32 0, i32 2 + store i32 -1, i32* %__filedes16, align 4 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 0 + %21 = load i16, i16* %__modeflags17, align 8 + %conv18 = zext i16 %21 to i32 + %and19 = and i32 %conv18, 24576 + %conv20 = trunc i32 %and19 to i16 + store i16 %conv20, i16* %__modeflags17, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags21 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 0 + %23 = load i16, i16* %__modeflags21, align 8 + %conv22 = zext i16 %23 to i32 + %or = or i32 %conv22, 48 + %conv23 = trunc i32 %or to i16 + store i16 %conv23, i16* %__modeflags21, align 8 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags24 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 0 + %25 = load i16, i16* %__modeflags24, align 8 + %conv25 = zext i16 %25 to i32 + %and26 = and i32 %conv25, 16384 + %tobool27 = icmp ne i32 %and26, 0 + br i1 %tobool27, label %if.then28, label %do.body30 + +if.then28: ; preds = %if.end15 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 3 + %27 = load i8*, i8** %__bufstart, align 8 + call void @free(i8* %27) #19 + br label %do.body30 + +do.body30: ; preds = %if.then28, %if.end15 + %28 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags31 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %28, i32 0, i32 0 + %29 = load i16, i16* %__modeflags31, align 8 + %conv32 = zext i16 %29 to i32 + %and33 = and i32 %conv32, 8192 + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %if.then35, label %do.end37 + +if.then35: ; preds = %do.body30 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %31 = bitcast %struct.__STDIO_FILE_STRUCT.568* %30 to i8* + call void @free(i8* %31) #19 + br label %do.end37 + +do.end37: ; preds = %do.body30, %if.then35 + %32 = load i32, i32* %rv, align 4 + ret i32 %32 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @ferror_unlocked(%struct.__STDIO_FILE_STRUCT.592* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.592*, align 8 + store %struct.__STDIO_FILE_STRUCT.592* %stream, %struct.__STDIO_FILE_STRUCT.592** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.592*, %struct.__STDIO_FILE_STRUCT.592** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.592, %struct.__STDIO_FILE_STRUCT.592* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 8 + ret i32 %and +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %retval1 = alloca i32, align 4 + %bufmask = alloca i16, align 2 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 0, i32* %retval1, align 4 + store i16 256, i16* %bufmask, align 2 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp = icmp eq %struct.__STDIO_FILE_STRUCT.568* %0, bitcast (%struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist to %struct.__STDIO_FILE_STRUCT.568*) + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store %struct.__STDIO_FILE_STRUCT.568* null, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i16 0, i16* %bufmask, align 2 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %1, null + br i1 %tobool, label %if.else21, label %if.then2 + +if.then2: ; preds = %if.end + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %2, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end20, %if.then2 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %tobool3 = icmp ne %struct.__STDIO_FILE_STRUCT.568* %3, null + br i1 %tobool3, label %while.body, label %if.end39 + +while.body: ; preds = %while.cond + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 0 + %5 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %5 to i32 + %and = and i32 %conv, 64 + %tobool4 = icmp ne i32 %and, 0 + br i1 %tobool4, label %if.then5, label %if.end20 + +if.then5: ; preds = %while.body + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 0 + %7 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %7 to i32 + %8 = load i16, i16* %bufmask, align 2 + %conv8 = zext i16 %8 to i32 + %or = or i32 %conv7, %conv8 + %xor = xor i32 %or, 320 + %and9 = and i32 %xor, 832 + %tobool10 = icmp ne i32 %and9, 0 + br i1 %tobool10, label %if.end20, label %if.then11 + +if.then11: ; preds = %if.then5 + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %9) #18 + %tobool12 = icmp ne i64 %call, 0 + br i1 %tobool12, label %if.else, label %if.then13 + +if.then13: ; preds = %if.then11 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 3 + %11 = load i8*, i8** %__bufstart, align 8 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 8 + store i8* %11, i8** %__bufputc_u, align 8 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags14 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 0 + %14 = load i16, i16* %__modeflags14, align 8 + %conv15 = zext i16 %14 to i32 + %and16 = and i32 %conv15, -65 + %conv17 = trunc i32 %and16 to i16 + store i16 %conv17, i16* %__modeflags14, align 8 + br label %if.end20 + +if.else: ; preds = %if.then11 + store i32 -1, i32* %retval1, align 4 + br label %if.end20 + +if.end20: ; preds = %if.then5, %if.else, %if.then13, %while.body + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 9 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %16, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br label %while.cond + +if.else21: ; preds = %if.end + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags22 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 0 + %18 = load i16, i16* %__modeflags22, align 8 + %conv23 = zext i16 %18 to i32 + %and24 = and i32 %conv23, 64 + %tobool25 = icmp ne i32 %and24, 0 + br i1 %tobool25, label %if.then26, label %if.end39 + +if.then26: ; preds = %if.else21 + %19 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call27 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %19) #18 + %tobool28 = icmp ne i64 %call27, 0 + br i1 %tobool28, label %if.else36, label %if.then29 + +if.then29: ; preds = %if.then26 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart30 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 3 + %21 = load i8*, i8** %__bufstart30, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u31 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 8 + store i8* %21, i8** %__bufputc_u31, align 8 + %23 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags32 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %23, i32 0, i32 0 + %24 = load i16, i16* %__modeflags32, align 8 + %conv33 = zext i16 %24 to i32 + %and34 = and i32 %conv33, -65 + %conv35 = trunc i32 %and34 to i16 + store i16 %conv35, i16* %__modeflags32, align 8 + br label %if.end39 + +if.else36: ; preds = %if.then26 + store i32 -1, i32* %retval1, align 4 + br label %if.end39 + +if.end39: ; preds = %if.else21, %if.else36, %if.then29, %while.cond + %25 = load i32, i32* %retval1, align 4 + ret i32 %25 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fileno_unlocked(%struct.__STDIO_FILE_STRUCT.608* %stream) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.608*, align 8 + store %struct.__STDIO_FILE_STRUCT.608* %stream, %struct.__STDIO_FILE_STRUCT.608** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.608*, %struct.__STDIO_FILE_STRUCT.608** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.608, %struct.__STDIO_FILE_STRUCT.608* %0, i32 0, i32 2 + %1 = load i32, i32* %__filedes, align 4 + %cmp = icmp sge i32 %1, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.608*, %struct.__STDIO_FILE_STRUCT.608** %stream.addr, align 8 + %__filedes1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.608, %struct.__STDIO_FILE_STRUCT.608* %2, i32 0, i32 2 + %3 = load i32, i32* %__filedes1, align 4 + store i32 %3, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + store i32 9, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fprintf(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i8* noalias %format, ...) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %format.addr = alloca i8*, align 8 + %arg = alloca [1 x %struct.__va_list_tag.0], align 16 + %rv = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdout, align 8 + %cmp = icmp eq %struct.__STDIO_FILE_STRUCT.568* %0, %1 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %cmp2 = icmp eq %struct.__STDIO_FILE_STRUCT.568* %2, %3 + br i1 %cmp2, label %if.then, label %if.else + +if.then: ; preds = %lor.lhs.false, %entry + %4 = load i8*, i8** %format.addr, align 8 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %call = call i32 @vprintf(i8* %4, %struct.__va_list_tag.0* %arraydecay3) #18 + store i32 %call, i32* %rv, align 4 + br label %if.end + +if.else: ; preds = %lor.lhs.false + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %6 = load i8*, i8** %format.addr, align 8 + %arraydecay4 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %call5 = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %5, i8* %6, %struct.__va_list_tag.0* %arraydecay4) #18 + store i32 %call5, i32* %rv, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %arraydecay6 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay67 = bitcast %struct.__va_list_tag.0* %arraydecay6 to i8* + call void @llvm.va_end(i8* %arraydecay67) + %7 = load i32, i32* %rv, align 4 + ret i32 %7 +} + +declare i32 @vprintf(i8*, %struct.__va_list_tag.0*) #17 + +; Function Attrs: noinline nounwind uwtable +define i32 @__fputc_unlocked(i32 %c, %struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %retval = alloca i32, align 4 + %c.addr = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %uc = alloca i8, align 1 + store i32 %c, i32* %c.addr, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 5 + %1 = load i8*, i8** %__bufpos, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 8 + %3 = load i8*, i8** %__bufputc_u, align 8 + %cmp = icmp ult i8* %1, %3 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %4 = load i32, i32* %c.addr, align 4 + %conv = trunc i32 %4 to i8 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 5 + %6 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + store i8 %conv, i8* %6, align 1 + %7 = load i32, i32* %c.addr, align 4 + %conv2 = trunc i32 %7 to i8 + %conv3 = zext i8 %conv2 to i32 + store i32 %conv3, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags, align 8 + %conv4 = zext i16 %9 to i32 + %and = and i32 %conv4, 192 + %cmp5 = icmp eq i32 %and, 192 + br i1 %cmp5, label %if.then7, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* %10, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %BAD, label %if.then7 + +if.then7: ; preds = %lor.lhs.false, %if.end + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 2 + %12 = load i32, i32* %__filedes, align 4 + %cmp8 = icmp eq i32 %12, -2 + br i1 %cmp8, label %if.then10, label %if.end13 + +if.then10: ; preds = %if.then7 + %13 = load i32, i32* %c.addr, align 4 + %conv11 = trunc i32 %13 to i8 + %conv12 = zext i8 %conv11 to i32 + store i32 %conv12, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.then7 + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %14, i32 0, i32 4 + %15 = load i8*, i8** %__bufend, align 8 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %16, i32 0, i32 3 + %17 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %15 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %17 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool14 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %tobool14, label %if.then15, label %if.else + +if.then15: ; preds = %if.end13 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend16 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 4 + %19 = load i8*, i8** %__bufend16, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 5 + %21 = load i8*, i8** %__bufpos17, align 8 + %sub.ptr.lhs.cast18 = ptrtoint i8* %19 to i64 + %sub.ptr.rhs.cast19 = ptrtoint i8* %21 to i64 + %sub.ptr.sub20 = sub i64 %sub.ptr.lhs.cast18, %sub.ptr.rhs.cast19 + %tobool21 = icmp ne i64 %sub.ptr.sub20, 0 + br i1 %tobool21, label %if.end25, label %land.lhs.true + +land.lhs.true: ; preds = %if.then15 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call22 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %22) #18 + %tobool23 = icmp ne i64 %call22, 0 + br i1 %tobool23, label %BAD, label %if.end25 + +if.end25: ; preds = %land.lhs.true, %if.then15 + %23 = load i32, i32* %c.addr, align 4 + %conv26 = trunc i32 %23 to i8 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos27 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 5 + %25 = load i8*, i8** %__bufpos27, align 8 + %incdec.ptr28 = getelementptr inbounds i8, i8* %25, i32 1 + store i8* %incdec.ptr28, i8** %__bufpos27, align 8 + store i8 %conv26, i8* %25, align 1 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags29 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 0 + %27 = load i16, i16* %__modeflags29, align 8 + %conv30 = zext i16 %27 to i32 + %and31 = and i32 %conv30, 256 + %tobool32 = icmp ne i32 %and31, 0 + br i1 %tobool32, label %if.then33, label %if.end51 + +if.then33: ; preds = %if.end25 + %28 = load i32, i32* %c.addr, align 4 + %conv34 = trunc i32 %28 to i8 + %conv35 = zext i8 %conv34 to i32 + %cmp36 = icmp eq i32 %conv35, 10 + br i1 %cmp36, label %land.lhs.true38, label %if.end51 + +land.lhs.true38: ; preds = %if.then33 + %29 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call39 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %29) #18 + %tobool40 = icmp ne i64 %call39, 0 + br i1 %tobool40, label %if.then41, label %if.end51 + +if.then41: ; preds = %land.lhs.true38 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos42 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %30, i32 0, i32 5 + %31 = load i8*, i8** %__bufpos42, align 8 + %incdec.ptr43 = getelementptr inbounds i8, i8* %31, i32 -1 + store i8* %incdec.ptr43, i8** %__bufpos42, align 8 + br label %BAD + +if.else: ; preds = %if.end13 + %32 = load i32, i32* %c.addr, align 4 + %conv46 = trunc i32 %32 to i8 + store i8 %conv46, i8* %uc, align 1 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call47 = call i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %33, i8* %uc, i64 1) #18 + %tobool48 = icmp ne i64 %call47, 0 + br i1 %tobool48, label %if.end51, label %BAD + +if.end51: ; preds = %if.else, %if.end25, %land.lhs.true38, %if.then33 + %34 = load i32, i32* %c.addr, align 4 + %conv52 = trunc i32 %34 to i8 + %conv53 = zext i8 %conv52 to i32 + store i32 %conv53, i32* %retval, align 4 + br label %return + +BAD: ; preds = %lor.lhs.false, %if.else, %land.lhs.true, %if.then41 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %BAD, %if.end51, %if.then10, %if.then + %35 = load i32, i32* %retval, align 4 + ret i32 %35 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fputs_unlocked(i8* noalias %s, %struct.__STDIO_FILE_STRUCT.621* noalias %stream) #0 { +entry: + %s.addr = alloca i8*, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.621*, align 8 + %n = alloca i64, align 8 + store i8* %s, i8** %s.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.621* %stream, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %call = call i64 @strlen(i8* %0) #20 + store i64 %call, i64* %n, align 8 + %1 = load i8*, i8** %s.addr, align 8 + %2 = load i64, i64* %n, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %call1 = call i64 @fwrite_unlocked(i8* %1, i64 1, i64 %2, %struct.__STDIO_FILE_STRUCT.621* %3) #18 + %4 = load i64, i64* %n, align 8 + %cmp = icmp eq i64 %call1, %4 + %5 = load i64, i64* %n, align 8 + %cond = select i1 %cmp, i64 %5, i64 -1 + %conv = trunc i64 %cond to i32 + ret i32 %conv +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fseek(%struct.__STDIO_FILE_STRUCT.636* %stream, i64 %offset, i32 %whence) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %1 = load i64, i64* %offset.addr, align 8 + %2 = load i32, i32* %whence.addr, align 4 + %call = call i32 @fseeko64(%struct.__STDIO_FILE_STRUCT.636* %0, i64 %1, i32 %2) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @vsnprintf(i8* noalias %buf, i64 %size, i8* noalias %format, %struct.__va_list_tag.0* %arg) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %format.addr = alloca i8*, align 8 + %arg.addr = alloca %struct.__va_list_tag.0*, align 8 + %f = alloca %struct.__STDIO_FILE_STRUCT.568, align 8 + %rv = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + store %struct.__va_list_tag.0* %arg, %struct.__va_list_tag.0** %arg.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 2 + store i32 -2, i32* %__filedes, align 4 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 0 + store i16 208, i16* %__modeflags, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 1 + %arrayidx = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 0 + store i8 0, i8* %arrayidx, align 2 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + store i32 0, i32* %__mask, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 9 + store %struct.__STDIO_FILE_STRUCT.568* null, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + %0 = load i64, i64* %size.addr, align 8 + %1 = load i8*, i8** %buf.addr, align 8 + %2 = ptrtoint i8* %1 to i64 + %sub = sub i64 -1, %2 + %cmp = icmp ugt i64 %0, %sub + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %3 = load i8*, i8** %buf.addr, align 8 + %4 = ptrtoint i8* %3 to i64 + %sub1 = sub i64 -1, %4 + store i64 %sub1, i64* %size.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %5 = load i8*, i8** %buf.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 3 + store i8* %5, i8** %__bufstart, align 8 + %6 = load i8*, i8** %buf.addr, align 8 + %7 = load i64, i64* %size.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %6, i64 %7 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 4 + store i8* %add.ptr, i8** %__bufend, align 8 + %__bufstart2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 3 + %8 = load i8*, i8** %__bufstart2, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + store i8* %8, i8** %__bufpos, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 6 + store i8* %8, i8** %__bufread, align 8 + %__bufstart3 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 3 + %9 = load i8*, i8** %__bufstart3, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 7 + store i8* %9, i8** %__bufgetc_u, align 8 + %__bufend4 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 4 + %10 = load i8*, i8** %__bufend4, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 8 + store i8* %10, i8** %__bufputc_u, align 8 + %11 = load i8*, i8** %format.addr, align 8 + %12 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %arg.addr, align 8 + %call = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %f, i8* %11, %struct.__va_list_tag.0* %12) #18 + store i32 %call, i32* %rv, align 4 + %13 = load i64, i64* %size.addr, align 8 + %tobool = icmp ne i64 %13, 0 + br i1 %tobool, label %if.then5, label %if.end13 + +if.then5: ; preds = %if.end + %__bufpos6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + %14 = load i8*, i8** %__bufpos6, align 8 + %__bufend7 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 4 + %15 = load i8*, i8** %__bufend7, align 8 + %cmp8 = icmp eq i8* %14, %15 + br i1 %cmp8, label %if.then9, label %if.end11 + +if.then9: ; preds = %if.then5 + %__bufpos10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + %16 = load i8*, i8** %__bufpos10, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %16, i32 -1 + store i8* %incdec.ptr, i8** %__bufpos10, align 8 + br label %if.end11 + +if.end11: ; preds = %if.then9, %if.then5 + %__bufpos12 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + %17 = load i8*, i8** %__bufpos12, align 8 + store i8 0, i8* %17, align 1 + br label %if.end13 + +if.end13: ; preds = %if.end11, %if.end + %18 = load i32, i32* %rv, align 4 + ret i32 %18 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @atexit(void ()* nonnull %func) #0 { +entry: + %func.addr = alloca void ()*, align 8 + store void ()* %func, void ()** %func.addr, align 8 + %0 = load void ()*, void ()** %func.addr, align 8 + %1 = bitcast void ()* %0 to void (i8*)* + br i1 icmp eq (i8** @__dso_handle, i8** null), label %cond.end, label %cond.false + +cond.false: ; preds = %entry + %2 = load i8*, i8** @__dso_handle, align 8 + br label %cond.end + +cond.end: ; preds = %entry, %cond.false + %cond = phi i8* [ %2, %cond.false ], [ null, %entry ] + %call = call i32 @__cxa_atexit(void (i8*)* %1, i8* null, i8* %cond) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i8* @realpath(i8* %path, i8* nonnull %got_path) #0 { +entry: + %retval = alloca i8*, align 8 + %path.addr = alloca i8*, align 8 + %got_path.addr = alloca i8*, align 8 + %copy_path = alloca [4096 x i8], align 16 + %max_path = alloca i8*, align 8 + %new_path = alloca i8*, align 8 + %path_len = alloca i64, align 8 + %readlinks = alloca i32, align 4 + %link_len = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store i8* %got_path, i8** %got_path.addr, align 8 + store i32 0, i32* %readlinks, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %cmp = icmp eq i8* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 22, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %path.addr, align 8 + %2 = load i8, i8* %1, align 1 + %conv = sext i8 %2 to i32 + %cmp1 = icmp eq i32 %conv, 0 + br i1 %cmp1, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.end + store i32 2, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %if.end + %3 = load i8*, i8** %path.addr, align 8 + %call = call i64 @strlen(i8* %3) #20 + store i64 %call, i64* %path_len, align 8 + %4 = load i64, i64* %path_len, align 8 + %cmp5 = icmp uge i64 %4, 4094 + br i1 %cmp5, label %if.then7, label %if.end8 + +if.then7: ; preds = %if.end4 + store i32 36, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end8: ; preds = %if.end4 + %arraydecay = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 4095 + %5 = load i64, i64* %path_len, align 8 + %idx.neg = sub i64 0, %5 + %add.ptr9 = getelementptr inbounds i8, i8* %add.ptr, i64 %idx.neg + %6 = load i8*, i8** %path.addr, align 8 + %call10 = call i8* @strcpy(i8* %add.ptr9, i8* %6) #19 + %arraydecay11 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr12 = getelementptr inbounds i8, i8* %arraydecay11, i64 4095 + %7 = load i64, i64* %path_len, align 8 + %idx.neg13 = sub i64 0, %7 + %add.ptr14 = getelementptr inbounds i8, i8* %add.ptr12, i64 %idx.neg13 + store i8* %add.ptr14, i8** %path.addr, align 8 + %8 = load i8*, i8** %got_path.addr, align 8 + %add.ptr15 = getelementptr inbounds i8, i8* %8, i64 4096 + %add.ptr16 = getelementptr inbounds i8, i8* %add.ptr15, i64 -2 + store i8* %add.ptr16, i8** %max_path, align 8 + %9 = load i8*, i8** %got_path.addr, align 8 + store i8* %9, i8** %new_path, align 8 + %10 = load i8*, i8** %path.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv17 = sext i8 %11 to i32 + %cmp18 = icmp ne i32 %conv17, 47 + %12 = load i8*, i8** %new_path, align 8 + br i1 %cmp18, label %if.then20, label %if.else + +if.then20: ; preds = %if.end8 + %call21 = call i8* @getcwd(i8* %12, i64 4095) #19 + %tobool = icmp ne i8* %call21, null + br i1 %tobool, label %if.end23, label %if.then22 + +if.then22: ; preds = %if.then20 + store i8* null, i8** %retval, align 8 + br label %return + +if.end23: ; preds = %if.then20 + %13 = load i8*, i8** %new_path, align 8 + %call24 = call i64 @strlen(i8* %13) #20 + %14 = load i8*, i8** %new_path, align 8 + %add.ptr25 = getelementptr inbounds i8, i8* %14, i64 %call24 + store i8* %add.ptr25, i8** %new_path, align 8 + %15 = load i8*, i8** %new_path, align 8 + %arrayidx = getelementptr inbounds i8, i8* %15, i64 -1 + %16 = load i8, i8* %arrayidx, align 1 + %conv26 = sext i8 %16 to i32 + %cmp27 = icmp ne i32 %conv26, 47 + br i1 %cmp27, label %if.then29, label %if.end33 + +if.then29: ; preds = %if.end23 + %17 = load i8*, i8** %new_path, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %17, i32 1 + store i8* %incdec.ptr, i8** %new_path, align 8 + store i8 47, i8* %17, align 1 + br label %if.end33 + +if.else: ; preds = %if.end8 + %incdec.ptr31 = getelementptr inbounds i8, i8* %12, i32 1 + store i8* %incdec.ptr31, i8** %new_path, align 8 + store i8 47, i8* %12, align 1 + %18 = load i8*, i8** %path.addr, align 8 + %incdec.ptr32 = getelementptr inbounds i8, i8* %18, i32 1 + store i8* %incdec.ptr32, i8** %path.addr, align 8 + br label %if.end33 + +if.end33: ; preds = %if.end23, %if.then29, %if.else + br label %while.cond + +while.cond: ; preds = %while.cond79, %if.then72, %if.end155, %if.then55, %if.then40, %if.end33 + %19 = load i8*, i8** %path.addr, align 8 + %20 = load i8, i8* %19, align 1 + %conv34 = sext i8 %20 to i32 + %cmp35 = icmp ne i32 %conv34, 0 + br i1 %cmp35, label %while.body, label %while.end157 + +while.body: ; preds = %while.cond + %21 = load i8*, i8** %path.addr, align 8 + %22 = load i8, i8* %21, align 1 + %conv37 = sext i8 %22 to i32 + %cmp38 = icmp eq i32 %conv37, 47 + %23 = load i8*, i8** %path.addr, align 8 + br i1 %cmp38, label %if.then40, label %if.end42 + +if.then40: ; preds = %while.body + %incdec.ptr41 = getelementptr inbounds i8, i8* %23, i32 1 + store i8* %incdec.ptr41, i8** %path.addr, align 8 + br label %while.cond + +if.end42: ; preds = %while.body + %24 = load i8, i8* %23, align 1 + %conv43 = sext i8 %24 to i32 + %cmp44 = icmp eq i32 %conv43, 46 + br i1 %cmp44, label %if.then46, label %if.end88 + +if.then46: ; preds = %if.end42 + %25 = load i8*, i8** %path.addr, align 8 + %arrayidx47 = getelementptr inbounds i8, i8* %25, i64 1 + %26 = load i8, i8* %arrayidx47, align 1 + %conv48 = sext i8 %26 to i32 + %cmp49 = icmp eq i32 %conv48, 0 + br i1 %cmp49, label %if.then55, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then46 + %27 = load i8*, i8** %path.addr, align 8 + %arrayidx51 = getelementptr inbounds i8, i8* %27, i64 1 + %28 = load i8, i8* %arrayidx51, align 1 + %conv52 = sext i8 %28 to i32 + %cmp53 = icmp eq i32 %conv52, 47 + br i1 %cmp53, label %if.then55, label %if.end57 + +if.then55: ; preds = %lor.lhs.false, %if.then46 + %29 = load i8*, i8** %path.addr, align 8 + %incdec.ptr56 = getelementptr inbounds i8, i8* %29, i32 1 + store i8* %incdec.ptr56, i8** %path.addr, align 8 + br label %while.cond + +if.end57: ; preds = %lor.lhs.false + %30 = load i8*, i8** %path.addr, align 8 + %arrayidx58 = getelementptr inbounds i8, i8* %30, i64 1 + %31 = load i8, i8* %arrayidx58, align 1 + %conv59 = sext i8 %31 to i32 + %cmp60 = icmp eq i32 %conv59, 46 + br i1 %cmp60, label %if.then62, label %if.end88 + +if.then62: ; preds = %if.end57 + %32 = load i8*, i8** %path.addr, align 8 + %arrayidx63 = getelementptr inbounds i8, i8* %32, i64 2 + %33 = load i8, i8* %arrayidx63, align 1 + %conv64 = sext i8 %33 to i32 + %cmp65 = icmp eq i32 %conv64, 0 + br i1 %cmp65, label %if.then72, label %lor.lhs.false67 + +lor.lhs.false67: ; preds = %if.then62 + %34 = load i8*, i8** %path.addr, align 8 + %arrayidx68 = getelementptr inbounds i8, i8* %34, i64 2 + %35 = load i8, i8* %arrayidx68, align 1 + %conv69 = sext i8 %35 to i32 + %cmp70 = icmp eq i32 %conv69, 47 + br i1 %cmp70, label %if.then72, label %if.end88 + +if.then72: ; preds = %lor.lhs.false67, %if.then62 + %36 = load i8*, i8** %path.addr, align 8 + %add.ptr73 = getelementptr inbounds i8, i8* %36, i64 2 + store i8* %add.ptr73, i8** %path.addr, align 8 + %37 = load i8*, i8** %new_path, align 8 + %38 = load i8*, i8** %got_path.addr, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %38, i64 1 + %cmp75 = icmp eq i8* %37, %add.ptr74 + br i1 %cmp75, label %while.cond, label %while.cond79 + +while.cond79: ; preds = %while.cond79, %if.then72 + %39 = load i8*, i8** %new_path, align 8 + %incdec.ptr80 = getelementptr inbounds i8, i8* %39, i32 -1 + store i8* %incdec.ptr80, i8** %new_path, align 8 + %arrayidx81 = getelementptr inbounds i8, i8* %incdec.ptr80, i64 -1 + %40 = load i8, i8* %arrayidx81, align 1 + %conv82 = sext i8 %40 to i32 + %cmp83 = icmp ne i32 %conv82, 47 + br i1 %cmp83, label %while.cond79, label %while.cond + +if.end88: ; preds = %if.end57, %lor.lhs.false67, %if.end42 + br label %while.cond89 + +while.cond89: ; preds = %if.end100, %if.end88 + %41 = load i8*, i8** %path.addr, align 8 + %42 = load i8, i8* %41, align 1 + %conv90 = sext i8 %42 to i32 + %cmp91 = icmp ne i32 %conv90, 0 + br i1 %cmp91, label %land.rhs, label %while.end103 + +land.rhs: ; preds = %while.cond89 + %43 = load i8*, i8** %path.addr, align 8 + %44 = load i8, i8* %43, align 1 + %conv93 = sext i8 %44 to i32 + %cmp94 = icmp ne i32 %conv93, 47 + br i1 %cmp94, label %while.body96, label %while.end103 + +while.body96: ; preds = %land.rhs + %45 = load i8*, i8** %new_path, align 8 + %46 = load i8*, i8** %max_path, align 8 + %cmp97 = icmp ugt i8* %45, %46 + br i1 %cmp97, label %if.then99, label %if.end100 + +if.then99: ; preds = %while.body96 + store i32 36, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end100: ; preds = %while.body96 + %47 = load i8*, i8** %path.addr, align 8 + %incdec.ptr101 = getelementptr inbounds i8, i8* %47, i32 1 + store i8* %incdec.ptr101, i8** %path.addr, align 8 + %48 = load i8, i8* %47, align 1 + %49 = load i8*, i8** %new_path, align 8 + %incdec.ptr102 = getelementptr inbounds i8, i8* %49, i32 1 + store i8* %incdec.ptr102, i8** %new_path, align 8 + store i8 %48, i8* %49, align 1 + br label %while.cond89 + +while.end103: ; preds = %while.cond89, %land.rhs + %50 = load i32, i32* %readlinks, align 4 + %inc = add nsw i32 %50, 1 + store i32 %inc, i32* %readlinks, align 4 + %cmp104 = icmp sgt i32 %50, 32 + br i1 %cmp104, label %if.then106, label %if.end107 + +if.then106: ; preds = %while.end103 + store i32 40, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end107: ; preds = %while.end103 + %51 = load i8*, i8** %path.addr, align 8 + %call108 = call i64 @strlen(i8* %51) #20 + store i64 %call108, i64* %path_len, align 8 + %52 = load i8*, i8** %new_path, align 8 + store i8 0, i8* %52, align 1 + %53 = load i8*, i8** %got_path.addr, align 8 + %arraydecay109 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %call110 = call i64 @readlink(i8* %53, i8* %arraydecay109, i64 4095) #19 + %conv111 = trunc i64 %call110 to i32 + store i32 %conv111, i32* %link_len, align 4 + %54 = load i32, i32* %link_len, align 4 + %cmp112 = icmp slt i32 %54, 0 + br i1 %cmp112, label %if.then114, label %if.else119 + +if.then114: ; preds = %if.end107 + %55 = load i32, i32* @errno, align 4 + %cmp115 = icmp ne i32 %55, 22 + br i1 %cmp115, label %if.then117, label %if.end155 + +if.then117: ; preds = %if.then114 + store i8* null, i8** %retval, align 8 + br label %return + +if.else119: ; preds = %if.end107 + %56 = load i64, i64* %path_len, align 8 + %57 = load i32, i32* %link_len, align 4 + %conv120 = sext i32 %57 to i64 + %add = add i64 %56, %conv120 + %cmp121 = icmp uge i64 %add, 4094 + br i1 %cmp121, label %if.then123, label %if.end124 + +if.then123: ; preds = %if.else119 + store i32 36, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end124: ; preds = %if.else119 + %arraydecay125 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %58 = load i8, i8* %arraydecay125, align 16 + %conv126 = sext i8 %58 to i32 + %cmp127 = icmp eq i32 %conv126, 47 + br i1 %cmp127, label %if.then129, label %while.cond131 + +if.then129: ; preds = %if.end124 + %59 = load i8*, i8** %got_path.addr, align 8 + store i8* %59, i8** %new_path, align 8 + br label %if.end138 + +while.cond131: ; preds = %while.cond131, %if.end124 + %60 = load i8*, i8** %new_path, align 8 + %incdec.ptr132 = getelementptr inbounds i8, i8* %60, i32 -1 + store i8* %incdec.ptr132, i8** %new_path, align 8 + %61 = load i8, i8* %incdec.ptr132, align 1 + %conv133 = sext i8 %61 to i32 + %cmp134 = icmp ne i32 %conv133, 47 + br i1 %cmp134, label %while.cond131, label %if.end138 + +if.end138: ; preds = %while.cond131, %if.then129 + %arraydecay139 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr140 = getelementptr inbounds i8, i8* %arraydecay139, i64 4095 + %62 = load i32, i32* %link_len, align 4 + %idx.ext = sext i32 %62 to i64 + %idx.neg141 = sub i64 0, %idx.ext + %add.ptr142 = getelementptr inbounds i8, i8* %add.ptr140, i64 %idx.neg141 + %63 = load i64, i64* %path_len, align 8 + %idx.neg143 = sub i64 0, %63 + %add.ptr144 = getelementptr inbounds i8, i8* %add.ptr142, i64 %idx.neg143 + %arraydecay145 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %64 = load i32, i32* %link_len, align 4 + %conv146 = sext i32 %64 to i64 + %call147 = call i8* @memmove(i8* %add.ptr144, i8* %arraydecay145, i64 %conv146) #19 + %arraydecay148 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr149 = getelementptr inbounds i8, i8* %arraydecay148, i64 4095 + %65 = load i32, i32* %link_len, align 4 + %idx.ext150 = sext i32 %65 to i64 + %idx.neg151 = sub i64 0, %idx.ext150 + %add.ptr152 = getelementptr inbounds i8, i8* %add.ptr149, i64 %idx.neg151 + %66 = load i64, i64* %path_len, align 8 + %idx.neg153 = sub i64 0, %66 + %add.ptr154 = getelementptr inbounds i8, i8* %add.ptr152, i64 %idx.neg153 + store i8* %add.ptr154, i8** %path.addr, align 8 + br label %if.end155 + +if.end155: ; preds = %if.then114, %if.end138 + %67 = load i8*, i8** %new_path, align 8 + %incdec.ptr156 = getelementptr inbounds i8, i8* %67, i32 1 + store i8* %incdec.ptr156, i8** %new_path, align 8 + store i8 47, i8* %67, align 1 + br label %while.cond + +while.end157: ; preds = %while.cond + %68 = load i8*, i8** %new_path, align 8 + %69 = load i8*, i8** %got_path.addr, align 8 + %add.ptr158 = getelementptr inbounds i8, i8* %69, i64 1 + %cmp159 = icmp ne i8* %68, %add.ptr158 + br i1 %cmp159, label %land.lhs.true, label %if.end167 + +land.lhs.true: ; preds = %while.end157 + %70 = load i8*, i8** %new_path, align 8 + %arrayidx161 = getelementptr inbounds i8, i8* %70, i64 -1 + %71 = load i8, i8* %arrayidx161, align 1 + %conv162 = sext i8 %71 to i32 + %cmp163 = icmp eq i32 %conv162, 47 + br i1 %cmp163, label %if.then165, label %if.end167 + +if.then165: ; preds = %land.lhs.true + %72 = load i8*, i8** %new_path, align 8 + %incdec.ptr166 = getelementptr inbounds i8, i8* %72, i32 -1 + store i8* %incdec.ptr166, i8** %new_path, align 8 + br label %if.end167 + +if.end167: ; preds = %if.then165, %land.lhs.true, %while.end157 + %73 = load i8*, i8** %new_path, align 8 + store i8 0, i8* %73, align 1 + %74 = load i8*, i8** %got_path.addr, align 8 + store i8* %74, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end167, %if.then123, %if.then117, %if.then106, %if.then99, %if.then22, %if.then7, %if.then3, %if.then + %75 = load i8*, i8** %retval, align 8 + ret i8* %75 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @memcmp(i8* nonnull %s1, i8* nonnull %s2, i64 %n) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r1 = alloca i8*, align 8 + %r2 = alloca i8*, align 8 + %r = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %r1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %r2, align 8 + store i32 0, i32* %r, align 4 + br label %while.cond + +while.cond: ; preds = %land.rhs, %entry + %2 = load i64, i64* %n.addr, align 8 + %dec = add i64 %2, -1 + store i64 %dec, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %3 = load i8*, i8** %r1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %r1, align 8 + %4 = load i8, i8* %3, align 1 + %conv = zext i8 %4 to i32 + %5 = load i8*, i8** %r2, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr1, i8** %r2, align 8 + %6 = load i8, i8* %5, align 1 + %conv2 = zext i8 %6 to i32 + %sub = sub nsw i32 %conv, %conv2 + store i32 %sub, i32* %r, align 4 + %cmp = icmp eq i32 %sub, 0 + br i1 %cmp, label %while.cond, label %while.end + +while.end: ; preds = %while.cond, %land.rhs + %7 = load i32, i32* %r, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @tcgetattr(i32 %fd, %struct.termios* %termios_p) #0 { +entry: + %fd.addr = alloca i32, align 4 + %termios_p.addr = alloca %struct.termios*, align 8 + %k_termios = alloca %struct.__kernel_termios, align 4 + %retval1 = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.termios* %termios_p, %struct.termios** %termios_p.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 (i32, i64, ...) @ioctl(i32 %0, i64 21505, %struct.__kernel_termios* %k_termios) #19 + store i32 %call, i32* %retval1, align 4 + %c_iflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 0 + %1 = load i32, i32* %c_iflag, align 4 + %2 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_iflag2 = getelementptr inbounds %struct.termios, %struct.termios* %2, i32 0, i32 0 + store i32 %1, i32* %c_iflag2, align 4 + %c_oflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 1 + %3 = load i32, i32* %c_oflag, align 4 + %4 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_oflag3 = getelementptr inbounds %struct.termios, %struct.termios* %4, i32 0, i32 1 + store i32 %3, i32* %c_oflag3, align 4 + %c_cflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 2 + %5 = load i32, i32* %c_cflag, align 4 + %6 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_cflag4 = getelementptr inbounds %struct.termios, %struct.termios* %6, i32 0, i32 2 + store i32 %5, i32* %c_cflag4, align 4 + %c_lflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 3 + %7 = load i32, i32* %c_lflag, align 4 + %8 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_lflag5 = getelementptr inbounds %struct.termios, %struct.termios* %8, i32 0, i32 3 + store i32 %7, i32* %c_lflag5, align 4 + %c_line = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 4 + %9 = load i8, i8* %c_line, align 4 + %10 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_line6 = getelementptr inbounds %struct.termios, %struct.termios* %10, i32 0, i32 4 + store i8 %9, i8* %c_line6, align 4 + %11 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_cc = getelementptr inbounds %struct.termios, %struct.termios* %11, i32 0, i32 5 + %arrayidx = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc, i64 0, i64 0 + %c_cc7 = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 5 + %arrayidx8 = getelementptr inbounds [19 x i8], [19 x i8]* %c_cc7, i64 0, i64 0 + %call9 = call i8* @mempcpy(i8* %arrayidx, i8* %arrayidx8, i64 19) #19 + %call10 = call i8* @memset(i8* %call9, i32 0, i64 13) #19 + %12 = load i32, i32* %retval1, align 4 + ret i32 %12 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_getopt_internal(i32 %argc, i8** %argv, i8* %optstring, %struct.option* %longopts, i32* %longind, i32 %long_only) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + %longopts.addr = alloca %struct.option*, align 8 + %longind.addr = alloca i32*, align 8 + %long_only.addr = alloca i32, align 4 + %result = alloca i32, align 4 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + store %struct.option* %longopts, %struct.option** %longopts.addr, align 8 + store i32* %longind, i32** %longind.addr, align 8 + store i32 %long_only, i32* %long_only.addr, align 4 + %0 = load i32, i32* @optind, align 4 + store i32 %0, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 0), align 8 + %1 = load i32, i32* @opterr, align 4 + store i32 %1, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 1), align 4 + %2 = load i32, i32* %argc.addr, align 4 + %3 = load i8**, i8*** %argv.addr, align 8 + %4 = load i8*, i8** %optstring.addr, align 8 + %5 = load %struct.option*, %struct.option** %longopts.addr, align 8 + %6 = load i32*, i32** %longind.addr, align 8 + %7 = load i32, i32* %long_only.addr, align 4 + %call = call i32 @_getopt_internal_r(i32 %2, i8** %3, i8* %4, %struct.option* %5, i32* %6, i32 %7, %struct._getopt_data* @getopt_data) #18 + store i32 %call, i32* %result, align 4 + %8 = load i32, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 0), align 8 + store i32 %8, i32* @optind, align 4 + %9 = load i8*, i8** getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 3), align 8 + store i8* %9, i8** @optarg, align 8 + %10 = load i32, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 2), align 8 + store i32 %10, i32* @optopt, align 4 + %11 = load i32, i32* %result, align 4 + ret i32 %11 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_getopt_internal_r(i32 %argc, i8** %argv, i8* %optstring, %struct.option* %longopts, i32* %longind, i32 %long_only, %struct._getopt_data* %d) #0 { +entry: + %retval = alloca i32, align 4 + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + %longopts.addr = alloca %struct.option*, align 8 + %longind.addr = alloca i32*, align 8 + %long_only.addr = alloca i32, align 4 + %d.addr = alloca %struct._getopt_data*, align 8 + %print_errors = alloca i32, align 4 + %nameend = alloca i8*, align 8 + %p = alloca %struct.option*, align 8 + %pfound = alloca %struct.option*, align 8 + %exact = alloca i32, align 4 + %ambig = alloca i32, align 4 + %indfound = alloca i32, align 4 + %option_index = alloca i32, align 4 + %c = alloca i8, align 1 + %temp = alloca i8*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + store %struct.option* %longopts, %struct.option** %longopts.addr, align 8 + store i32* %longind, i32** %longind.addr, align 8 + store i32 %long_only, i32* %long_only.addr, align 4 + store %struct._getopt_data* %d, %struct._getopt_data** %d.addr, align 8 + %0 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %opterr = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %0, i32 0, i32 1 + %1 = load i32, i32* %opterr, align 4 + store i32 %1, i32* %print_errors, align 4 + %2 = load i8*, i8** %optstring.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %2, i64 0 + %3 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %3 to i32 + %cmp = icmp eq i32 %conv, 58 + %spec.store.select = select i1 %cmp, i32 0, i32 %1 + store i32 %spec.store.select, i32* %print_errors, align 4 + %4 = load i32, i32* %argc.addr, align 4 + %cmp2 = icmp slt i32 %4, 1 + br i1 %cmp2, label %if.then4, label %if.end5 + +if.then4: ; preds = %entry + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %entry + %5 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %5, i32 0, i32 3 + store i8* null, i8** %optarg, align 8 + %6 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %6, i32 0, i32 0 + %7 = load i32, i32* %optind, align 8 + %cmp6 = icmp eq i32 %7, 0 + br i1 %cmp6, label %if.then8, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end5 + %8 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__initialized = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %8, i32 0, i32 4 + %9 = load i32, i32* %__initialized, align 8 + %tobool = icmp ne i32 %9, 0 + br i1 %tobool, label %if.end16, label %if.then8 + +if.then8: ; preds = %lor.lhs.false, %if.end5 + %10 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind9 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %10, i32 0, i32 0 + %11 = load i32, i32* %optind9, align 8 + %cmp10 = icmp eq i32 %11, 0 + br i1 %cmp10, label %if.then12, label %if.end14 + +if.then12: ; preds = %if.then8 + %12 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind13 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %12, i32 0, i32 0 + store i32 1, i32* %optind13, align 8 + br label %if.end14 + +if.end14: ; preds = %if.then12, %if.then8 + %13 = load i32, i32* %argc.addr, align 4 + %14 = load i8**, i8*** %argv.addr, align 8 + %15 = load i8*, i8** %optstring.addr, align 8 + %16 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %call = call i8* @_getopt_initialize(i32 %13, i8** %14, i8* %15, %struct._getopt_data* %16) #18 + store i8* %call, i8** %optstring.addr, align 8 + %17 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__initialized15 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %17, i32 0, i32 4 + store i32 1, i32* %__initialized15, align 8 + br label %if.end16 + +if.end16: ; preds = %if.end14, %lor.lhs.false + %18 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %18, i32 0, i32 5 + %19 = load i8*, i8** %__nextchar, align 8 + %cmp17 = icmp eq i8* %19, null + br i1 %cmp17, label %if.then24, label %lor.lhs.false19 + +lor.lhs.false19: ; preds = %if.end16 + %20 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar20 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %20, i32 0, i32 5 + %21 = load i8*, i8** %__nextchar20, align 8 + %22 = load i8, i8* %21, align 1 + %conv21 = sext i8 %22 to i32 + %cmp22 = icmp eq i32 %conv21, 0 + br i1 %cmp22, label %if.then24, label %if.end171 + +if.then24: ; preds = %lor.lhs.false19, %if.end16 + %23 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %23, i32 0, i32 9 + %24 = load i32, i32* %__last_nonopt, align 4 + %25 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind25 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %25, i32 0, i32 0 + %26 = load i32, i32* %optind25, align 8 + %cmp26 = icmp sgt i32 %24, %26 + br i1 %cmp26, label %if.then28, label %if.end31 + +if.then28: ; preds = %if.then24 + %27 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind29 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %27, i32 0, i32 0 + %28 = load i32, i32* %optind29, align 8 + %29 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt30 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %29, i32 0, i32 9 + store i32 %28, i32* %__last_nonopt30, align 4 + br label %if.end31 + +if.end31: ; preds = %if.then28, %if.then24 + %30 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %30, i32 0, i32 8 + %31 = load i32, i32* %__first_nonopt, align 8 + %32 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind32 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %32, i32 0, i32 0 + %33 = load i32, i32* %optind32, align 8 + %cmp33 = icmp sgt i32 %31, %33 + br i1 %cmp33, label %if.then35, label %if.end38 + +if.then35: ; preds = %if.end31 + %34 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind36 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %34, i32 0, i32 0 + %35 = load i32, i32* %optind36, align 8 + %36 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt37 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %36, i32 0, i32 8 + store i32 %35, i32* %__first_nonopt37, align 8 + br label %if.end38 + +if.end38: ; preds = %if.then35, %if.end31 + %37 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %37, i32 0, i32 6 + %38 = load i32, i32* %__ordering, align 8 + %cmp39 = icmp eq i32 %38, 1 + br i1 %cmp39, label %if.then41, label %if.end79 + +if.then41: ; preds = %if.end38 + %39 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt42 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %39, i32 0, i32 8 + %40 = load i32, i32* %__first_nonopt42, align 8 + %41 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt43 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %41, i32 0, i32 9 + %42 = load i32, i32* %__last_nonopt43, align 4 + %cmp44 = icmp ne i32 %40, %42 + br i1 %cmp44, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %if.then41 + %43 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt46 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %43, i32 0, i32 9 + %44 = load i32, i32* %__last_nonopt46, align 4 + %45 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind47 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %45, i32 0, i32 0 + %46 = load i32, i32* %optind47, align 8 + %cmp48 = icmp ne i32 %44, %46 + br i1 %cmp48, label %if.then50, label %if.else + +if.then50: ; preds = %land.lhs.true + %47 = load i8**, i8*** %argv.addr, align 8 + %48 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + call void @exchange(i8** %47, %struct._getopt_data* %48) #18 + br label %if.end59 + +if.else: ; preds = %land.lhs.true, %if.then41 + %49 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt51 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %49, i32 0, i32 9 + %50 = load i32, i32* %__last_nonopt51, align 4 + %51 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind52 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %51, i32 0, i32 0 + %52 = load i32, i32* %optind52, align 8 + %cmp53 = icmp ne i32 %50, %52 + br i1 %cmp53, label %if.then55, label %if.end59 + +if.then55: ; preds = %if.else + %53 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind56 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %53, i32 0, i32 0 + %54 = load i32, i32* %optind56, align 8 + %55 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt57 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %55, i32 0, i32 8 + store i32 %54, i32* %__first_nonopt57, align 8 + br label %if.end59 + +if.end59: ; preds = %if.else, %if.then55, %if.then50 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end59 + %56 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind60 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %56, i32 0, i32 0 + %57 = load i32, i32* %optind60, align 8 + %58 = load i32, i32* %argc.addr, align 4 + %cmp61 = icmp slt i32 %57, %58 + br i1 %cmp61, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %59 = load i8**, i8*** %argv.addr, align 8 + %60 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind63 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %60, i32 0, i32 0 + %61 = load i32, i32* %optind63, align 8 + %idxprom = sext i32 %61 to i64 + %arrayidx64 = getelementptr inbounds i8*, i8** %59, i64 %idxprom + %62 = load i8*, i8** %arrayidx64, align 8 + %arrayidx65 = getelementptr inbounds i8, i8* %62, i64 0 + %63 = load i8, i8* %arrayidx65, align 1 + %conv66 = sext i8 %63 to i32 + %cmp67 = icmp ne i32 %conv66, 45 + br i1 %cmp67, label %land.end, label %lor.rhs + +lor.rhs: ; preds = %land.rhs + %64 = load i8**, i8*** %argv.addr, align 8 + %65 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind69 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %65, i32 0, i32 0 + %66 = load i32, i32* %optind69, align 8 + %idxprom70 = sext i32 %66 to i64 + %arrayidx71 = getelementptr inbounds i8*, i8** %64, i64 %idxprom70 + %67 = load i8*, i8** %arrayidx71, align 8 + %arrayidx72 = getelementptr inbounds i8, i8* %67, i64 1 + %68 = load i8, i8* %arrayidx72, align 1 + %conv73 = sext i8 %68 to i32 + %cmp74 = icmp eq i32 %conv73, 0 + br label %land.end + +land.end: ; preds = %land.rhs, %lor.rhs, %while.cond + %69 = phi i1 [ false, %while.cond ], [ true, %land.rhs ], [ %cmp74, %lor.rhs ] + %70 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind76 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %70, i32 0, i32 0 + %71 = load i32, i32* %optind76, align 8 + br i1 %69, label %while.body, label %while.end + +while.body: ; preds = %land.end + %inc = add nsw i32 %71, 1 + store i32 %inc, i32* %optind76, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %72 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt78 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %72, i32 0, i32 9 + store i32 %71, i32* %__last_nonopt78, align 4 + br label %if.end79 + +if.end79: ; preds = %while.end, %if.end38 + %73 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind80 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %73, i32 0, i32 0 + %74 = load i32, i32* %optind80, align 8 + %75 = load i32, i32* %argc.addr, align 4 + %cmp81 = icmp ne i32 %74, %75 + br i1 %cmp81, label %land.lhs.true83, label %if.end114 + +land.lhs.true83: ; preds = %if.end79 + %76 = load i8**, i8*** %argv.addr, align 8 + %77 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind84 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %77, i32 0, i32 0 + %78 = load i32, i32* %optind84, align 8 + %idxprom85 = sext i32 %78 to i64 + %arrayidx86 = getelementptr inbounds i8*, i8** %76, i64 %idxprom85 + %79 = load i8*, i8** %arrayidx86, align 8 + %call87 = call i32 @strcmp(i8* %79, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.292, i64 0, i64 0)) #20 + %tobool88 = icmp ne i32 %call87, 0 + br i1 %tobool88, label %if.end114, label %if.then89 + +if.then89: ; preds = %land.lhs.true83 + %80 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind90 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %80, i32 0, i32 0 + %81 = load i32, i32* %optind90, align 8 + %inc91 = add nsw i32 %81, 1 + store i32 %inc91, i32* %optind90, align 8 + %82 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt92 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %82, i32 0, i32 8 + %83 = load i32, i32* %__first_nonopt92, align 8 + %84 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt93 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %84, i32 0, i32 9 + %85 = load i32, i32* %__last_nonopt93, align 4 + %cmp94 = icmp ne i32 %83, %85 + br i1 %cmp94, label %land.lhs.true96, label %if.else102 + +land.lhs.true96: ; preds = %if.then89 + %86 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt97 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %86, i32 0, i32 9 + %87 = load i32, i32* %__last_nonopt97, align 4 + %88 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind98 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %88, i32 0, i32 0 + %89 = load i32, i32* %optind98, align 8 + %cmp99 = icmp ne i32 %87, %89 + br i1 %cmp99, label %if.then101, label %if.else102 + +if.then101: ; preds = %land.lhs.true96 + %90 = load i8**, i8*** %argv.addr, align 8 + %91 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + call void @exchange(i8** %90, %struct._getopt_data* %91) #18 + br label %if.end111 + +if.else102: ; preds = %land.lhs.true96, %if.then89 + %92 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt103 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %92, i32 0, i32 8 + %93 = load i32, i32* %__first_nonopt103, align 8 + %94 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt104 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %94, i32 0, i32 9 + %95 = load i32, i32* %__last_nonopt104, align 4 + %cmp105 = icmp eq i32 %93, %95 + br i1 %cmp105, label %if.then107, label %if.end111 + +if.then107: ; preds = %if.else102 + %96 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind108 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %96, i32 0, i32 0 + %97 = load i32, i32* %optind108, align 8 + %98 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt109 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %98, i32 0, i32 8 + store i32 %97, i32* %__first_nonopt109, align 8 + br label %if.end111 + +if.end111: ; preds = %if.else102, %if.then107, %if.then101 + %99 = load i32, i32* %argc.addr, align 4 + %100 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt112 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %100, i32 0, i32 9 + store i32 %99, i32* %__last_nonopt112, align 4 + %101 = load i32, i32* %argc.addr, align 4 + %102 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind113 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %102, i32 0, i32 0 + store i32 %101, i32* %optind113, align 8 + br label %if.end114 + +if.end114: ; preds = %if.end111, %land.lhs.true83, %if.end79 + %103 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind115 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %103, i32 0, i32 0 + %104 = load i32, i32* %optind115, align 8 + %105 = load i32, i32* %argc.addr, align 4 + %cmp116 = icmp eq i32 %104, %105 + br i1 %cmp116, label %if.then118, label %if.end127 + +if.then118: ; preds = %if.end114 + %106 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt119 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %106, i32 0, i32 8 + %107 = load i32, i32* %__first_nonopt119, align 8 + %108 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt120 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %108, i32 0, i32 9 + %109 = load i32, i32* %__last_nonopt120, align 4 + %cmp121 = icmp ne i32 %107, %109 + br i1 %cmp121, label %if.then123, label %if.end126 + +if.then123: ; preds = %if.then118 + %110 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt124 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %110, i32 0, i32 8 + %111 = load i32, i32* %__first_nonopt124, align 8 + %112 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind125 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %112, i32 0, i32 0 + store i32 %111, i32* %optind125, align 8 + br label %if.end126 + +if.end126: ; preds = %if.then123, %if.then118 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end127: ; preds = %if.end114 + %113 = load i8**, i8*** %argv.addr, align 8 + %114 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind128 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %114, i32 0, i32 0 + %115 = load i32, i32* %optind128, align 8 + %idxprom129 = sext i32 %115 to i64 + %arrayidx130 = getelementptr inbounds i8*, i8** %113, i64 %idxprom129 + %116 = load i8*, i8** %arrayidx130, align 8 + %arrayidx131 = getelementptr inbounds i8, i8* %116, i64 0 + %117 = load i8, i8* %arrayidx131, align 1 + %conv132 = sext i8 %117 to i32 + %cmp133 = icmp ne i32 %conv132, 45 + br i1 %cmp133, label %if.then143, label %lor.lhs.false135 + +lor.lhs.false135: ; preds = %if.end127 + %118 = load i8**, i8*** %argv.addr, align 8 + %119 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind136 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %119, i32 0, i32 0 + %120 = load i32, i32* %optind136, align 8 + %idxprom137 = sext i32 %120 to i64 + %arrayidx138 = getelementptr inbounds i8*, i8** %118, i64 %idxprom137 + %121 = load i8*, i8** %arrayidx138, align 8 + %arrayidx139 = getelementptr inbounds i8, i8* %121, i64 1 + %122 = load i8, i8* %arrayidx139, align 1 + %conv140 = sext i8 %122 to i32 + %cmp141 = icmp eq i32 %conv140, 0 + br i1 %cmp141, label %if.then143, label %if.end154 + +if.then143: ; preds = %lor.lhs.false135, %if.end127 + %123 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering144 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %123, i32 0, i32 6 + %124 = load i32, i32* %__ordering144, align 8 + %cmp145 = icmp eq i32 %124, 0 + br i1 %cmp145, label %if.then147, label %if.end148 + +if.then147: ; preds = %if.then143 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end148: ; preds = %if.then143 + %125 = load i8**, i8*** %argv.addr, align 8 + %126 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind149 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %126, i32 0, i32 0 + %127 = load i32, i32* %optind149, align 8 + %inc150 = add nsw i32 %127, 1 + store i32 %inc150, i32* %optind149, align 8 + %idxprom151 = sext i32 %127 to i64 + %arrayidx152 = getelementptr inbounds i8*, i8** %125, i64 %idxprom151 + %128 = load i8*, i8** %arrayidx152, align 8 + %129 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg153 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %129, i32 0, i32 3 + store i8* %128, i8** %optarg153, align 8 + store i32 1, i32* %retval, align 4 + br label %return + +if.end154: ; preds = %lor.lhs.false135 + %130 = load i8**, i8*** %argv.addr, align 8 + %131 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind155 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %131, i32 0, i32 0 + %132 = load i32, i32* %optind155, align 8 + %idxprom156 = sext i32 %132 to i64 + %arrayidx157 = getelementptr inbounds i8*, i8** %130, i64 %idxprom156 + %133 = load i8*, i8** %arrayidx157, align 8 + %add.ptr = getelementptr inbounds i8, i8* %133, i64 1 + %134 = load %struct.option*, %struct.option** %longopts.addr, align 8 + %cmp158 = icmp ne %struct.option* %134, null + br i1 %cmp158, label %land.rhs160, label %land.end168 + +land.rhs160: ; preds = %if.end154 + %135 = load i8**, i8*** %argv.addr, align 8 + %136 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind161 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %136, i32 0, i32 0 + %137 = load i32, i32* %optind161, align 8 + %idxprom162 = sext i32 %137 to i64 + %arrayidx163 = getelementptr inbounds i8*, i8** %135, i64 %idxprom162 + %138 = load i8*, i8** %arrayidx163, align 8 + %arrayidx164 = getelementptr inbounds i8, i8* %138, i64 1 + %139 = load i8, i8* %arrayidx164, align 1 + %conv165 = sext i8 %139 to i32 + %cmp166 = icmp eq i32 %conv165, 45 + br label %land.end168 + +land.end168: ; preds = %land.rhs160, %if.end154 + %140 = phi i1 [ false, %if.end154 ], [ %cmp166, %land.rhs160 ] + %land.ext = zext i1 %140 to i32 + %idx.ext = sext i32 %land.ext to i64 + %add.ptr169 = getelementptr inbounds i8, i8* %add.ptr, i64 %idx.ext + %141 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar170 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %141, i32 0, i32 5 + store i8* %add.ptr169, i8** %__nextchar170, align 8 + br label %if.end171 + +if.end171: ; preds = %land.end168, %lor.lhs.false19 + %142 = load %struct.option*, %struct.option** %longopts.addr, align 8 + %cmp172 = icmp ne %struct.option* %142, null + br i1 %cmp172, label %land.lhs.true174, label %if.end418 + +land.lhs.true174: ; preds = %if.end171 + %143 = load i8**, i8*** %argv.addr, align 8 + %144 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind175 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %144, i32 0, i32 0 + %145 = load i32, i32* %optind175, align 8 + %idxprom176 = sext i32 %145 to i64 + %arrayidx177 = getelementptr inbounds i8*, i8** %143, i64 %idxprom176 + %146 = load i8*, i8** %arrayidx177, align 8 + %arrayidx178 = getelementptr inbounds i8, i8* %146, i64 1 + %147 = load i8, i8* %arrayidx178, align 1 + %conv179 = sext i8 %147 to i32 + %cmp180 = icmp eq i32 %conv179, 45 + br i1 %cmp180, label %if.then199, label %lor.lhs.false182 + +lor.lhs.false182: ; preds = %land.lhs.true174 + %148 = load i32, i32* %long_only.addr, align 4 + %tobool183 = icmp ne i32 %148, 0 + br i1 %tobool183, label %land.lhs.true184, label %if.end418 + +land.lhs.true184: ; preds = %lor.lhs.false182 + %149 = load i8**, i8*** %argv.addr, align 8 + %150 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind185 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %150, i32 0, i32 0 + %151 = load i32, i32* %optind185, align 8 + %idxprom186 = sext i32 %151 to i64 + %arrayidx187 = getelementptr inbounds i8*, i8** %149, i64 %idxprom186 + %152 = load i8*, i8** %arrayidx187, align 8 + %arrayidx188 = getelementptr inbounds i8, i8* %152, i64 2 + %153 = load i8, i8* %arrayidx188, align 1 + %conv189 = sext i8 %153 to i32 + %tobool190 = icmp ne i32 %conv189, 0 + br i1 %tobool190, label %if.then199, label %lor.lhs.false191 + +lor.lhs.false191: ; preds = %land.lhs.true184 + %154 = load i8*, i8** %optstring.addr, align 8 + %155 = load i8**, i8*** %argv.addr, align 8 + %156 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind192 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %156, i32 0, i32 0 + %157 = load i32, i32* %optind192, align 8 + %idxprom193 = sext i32 %157 to i64 + %arrayidx194 = getelementptr inbounds i8*, i8** %155, i64 %idxprom193 + %158 = load i8*, i8** %arrayidx194, align 8 + %arrayidx195 = getelementptr inbounds i8, i8* %158, i64 1 + %159 = load i8, i8* %arrayidx195, align 1 + %conv196 = sext i8 %159 to i32 + %call197 = call i8* @strchr(i8* %154, i32 %conv196) #20 + %tobool198 = icmp ne i8* %call197, null + br i1 %tobool198, label %if.end418, label %if.then199 + +if.then199: ; preds = %lor.lhs.false191, %land.lhs.true184, %land.lhs.true174 + store %struct.option* null, %struct.option** %pfound, align 8 + store i32 0, i32* %exact, align 4 + store i32 0, i32* %ambig, align 4 + store i32 -1, i32* %indfound, align 4 + %160 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar200 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %160, i32 0, i32 5 + %161 = load i8*, i8** %__nextchar200, align 8 + store i8* %161, i8** %nameend, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.then199 + %162 = load i8*, i8** %nameend, align 8 + %163 = load i8, i8* %162, align 1 + %conv201 = sext i8 %163 to i32 + %tobool202 = icmp ne i32 %conv201, 0 + br i1 %tobool202, label %land.rhs203, label %for.end + +land.rhs203: ; preds = %for.cond + %164 = load i8*, i8** %nameend, align 8 + %165 = load i8, i8* %164, align 1 + %conv204 = sext i8 %165 to i32 + %cmp205 = icmp ne i32 %conv204, 61 + br i1 %cmp205, label %for.inc, label %for.end + +for.inc: ; preds = %land.rhs203 + %166 = load i8*, i8** %nameend, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %166, i32 1 + store i8* %incdec.ptr, i8** %nameend, align 8 + br label %for.cond + +for.end: ; preds = %for.cond, %land.rhs203 + %167 = load %struct.option*, %struct.option** %longopts.addr, align 8 + store %struct.option* %167, %struct.option** %p, align 8 + store i32 0, i32* %option_index, align 4 + br label %for.cond209 + +for.cond209: ; preds = %for.inc252, %for.end + %168 = load %struct.option*, %struct.option** %p, align 8 + %name = getelementptr inbounds %struct.option, %struct.option* %168, i32 0, i32 0 + %169 = load i8*, i8** %name, align 8 + %tobool210 = icmp ne i8* %169, null + br i1 %tobool210, label %for.body211, label %for.end255 + +for.body211: ; preds = %for.cond209 + %170 = load %struct.option*, %struct.option** %p, align 8 + %name212 = getelementptr inbounds %struct.option, %struct.option* %170, i32 0, i32 0 + %171 = load i8*, i8** %name212, align 8 + %172 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar213 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %172, i32 0, i32 5 + %173 = load i8*, i8** %__nextchar213, align 8 + %174 = load i8*, i8** %nameend, align 8 + %175 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar214 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %175, i32 0, i32 5 + %176 = load i8*, i8** %__nextchar214, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %174 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %176 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %call215 = call i32 @strncmp(i8* %171, i8* %173, i64 %sub.ptr.sub) #20 + %tobool216 = icmp ne i32 %call215, 0 + br i1 %tobool216, label %for.inc252, label %if.then217 + +if.then217: ; preds = %for.body211 + %177 = load i8*, i8** %nameend, align 8 + %178 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar218 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %178, i32 0, i32 5 + %179 = load i8*, i8** %__nextchar218, align 8 + %sub.ptr.lhs.cast219 = ptrtoint i8* %177 to i64 + %sub.ptr.rhs.cast220 = ptrtoint i8* %179 to i64 + %sub.ptr.sub221 = sub i64 %sub.ptr.lhs.cast219, %sub.ptr.rhs.cast220 + %conv222 = trunc i64 %sub.ptr.sub221 to i32 + %180 = load %struct.option*, %struct.option** %p, align 8 + %name223 = getelementptr inbounds %struct.option, %struct.option* %180, i32 0, i32 0 + %181 = load i8*, i8** %name223, align 8 + %call224 = call i64 @strlen(i8* %181) #20 + %conv225 = trunc i64 %call224 to i32 + %cmp226 = icmp eq i32 %conv222, %conv225 + br i1 %cmp226, label %if.then228, label %if.else229 + +if.then228: ; preds = %if.then217 + %182 = load %struct.option*, %struct.option** %p, align 8 + store %struct.option* %182, %struct.option** %pfound, align 8 + %183 = load i32, i32* %option_index, align 4 + store i32 %183, i32* %indfound, align 4 + store i32 1, i32* %exact, align 4 + br label %for.end255 + +if.else229: ; preds = %if.then217 + %184 = load %struct.option*, %struct.option** %pfound, align 8 + %cmp230 = icmp eq %struct.option* %184, null + br i1 %cmp230, label %if.then232, label %if.else233 + +if.then232: ; preds = %if.else229 + %185 = load %struct.option*, %struct.option** %p, align 8 + store %struct.option* %185, %struct.option** %pfound, align 8 + %186 = load i32, i32* %option_index, align 4 + store i32 %186, i32* %indfound, align 4 + br label %for.inc252 + +if.else233: ; preds = %if.else229 + %187 = load i32, i32* %long_only.addr, align 4 + %tobool234 = icmp ne i32 %187, 0 + br i1 %tobool234, label %if.then247, label %lor.lhs.false235 + +lor.lhs.false235: ; preds = %if.else233 + %188 = load %struct.option*, %struct.option** %pfound, align 8 + %has_arg = getelementptr inbounds %struct.option, %struct.option* %188, i32 0, i32 1 + %189 = load i32, i32* %has_arg, align 8 + %190 = load %struct.option*, %struct.option** %p, align 8 + %has_arg236 = getelementptr inbounds %struct.option, %struct.option* %190, i32 0, i32 1 + %191 = load i32, i32* %has_arg236, align 8 + %cmp237 = icmp ne i32 %189, %191 + br i1 %cmp237, label %if.then247, label %lor.lhs.false239 + +lor.lhs.false239: ; preds = %lor.lhs.false235 + %192 = load %struct.option*, %struct.option** %pfound, align 8 + %flag = getelementptr inbounds %struct.option, %struct.option* %192, i32 0, i32 2 + %193 = load i32*, i32** %flag, align 8 + %194 = load %struct.option*, %struct.option** %p, align 8 + %flag240 = getelementptr inbounds %struct.option, %struct.option* %194, i32 0, i32 2 + %195 = load i32*, i32** %flag240, align 8 + %cmp241 = icmp ne i32* %193, %195 + br i1 %cmp241, label %if.then247, label %lor.lhs.false243 + +lor.lhs.false243: ; preds = %lor.lhs.false239 + %196 = load %struct.option*, %struct.option** %pfound, align 8 + %val = getelementptr inbounds %struct.option, %struct.option* %196, i32 0, i32 3 + %197 = load i32, i32* %val, align 8 + %198 = load %struct.option*, %struct.option** %p, align 8 + %val244 = getelementptr inbounds %struct.option, %struct.option* %198, i32 0, i32 3 + %199 = load i32, i32* %val244, align 8 + %cmp245 = icmp ne i32 %197, %199 + br i1 %cmp245, label %if.then247, label %for.inc252 + +if.then247: ; preds = %lor.lhs.false243, %lor.lhs.false239, %lor.lhs.false235, %if.else233 + store i32 1, i32* %ambig, align 4 + br label %for.inc252 + +for.inc252: ; preds = %for.body211, %if.then232, %if.then247, %lor.lhs.false243 + %200 = load %struct.option*, %struct.option** %p, align 8 + %incdec.ptr253 = getelementptr inbounds %struct.option, %struct.option* %200, i32 1 + store %struct.option* %incdec.ptr253, %struct.option** %p, align 8 + %201 = load i32, i32* %option_index, align 4 + %inc254 = add nsw i32 %201, 1 + store i32 %inc254, i32* %option_index, align 4 + br label %for.cond209 + +for.end255: ; preds = %if.then228, %for.cond209 + %202 = load i32, i32* %ambig, align 4 + %tobool256 = icmp eq i32 %202, 0 + %203 = load i32, i32* %exact, align 4 + %tobool258 = icmp ne i32 %203, 0 + %or.cond = or i1 %tobool256, %tobool258 + br i1 %or.cond, label %if.end274, label %if.then259 + +if.then259: ; preds = %for.end255 + %204 = load i32, i32* %print_errors, align 4 + %tobool260 = icmp ne i32 %204, 0 + br i1 %tobool260, label %if.then261, label %if.end267 + +if.then261: ; preds = %if.then259 + %205 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %206 = load i8**, i8*** %argv.addr, align 8 + %arrayidx262 = getelementptr inbounds i8*, i8** %206, i64 0 + %207 = load i8*, i8** %arrayidx262, align 8 + %208 = load i8**, i8*** %argv.addr, align 8 + %209 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind263 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %209, i32 0, i32 0 + %210 = load i32, i32* %optind263, align 8 + %idxprom264 = sext i32 %210 to i64 + %arrayidx265 = getelementptr inbounds i8*, i8** %208, i64 %idxprom264 + %211 = load i8*, i8** %arrayidx265, align 8 + %call266 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %205, i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.1.293, i64 0, i64 0), i8* %207, i8* %211) #18 + br label %if.end267 + +if.end267: ; preds = %if.then261, %if.then259 + %212 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar268 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %212, i32 0, i32 5 + %213 = load i8*, i8** %__nextchar268, align 8 + %call269 = call i64 @strlen(i8* %213) #20 + %214 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar270 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %214, i32 0, i32 5 + %215 = load i8*, i8** %__nextchar270, align 8 + %add.ptr271 = getelementptr inbounds i8, i8* %215, i64 %call269 + store i8* %add.ptr271, i8** %__nextchar270, align 8 + %216 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind272 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %216, i32 0, i32 0 + %217 = load i32, i32* %optind272, align 8 + %inc273 = add nsw i32 %217, 1 + store i32 %inc273, i32* %optind272, align 8 + %218 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %218, i32 0, i32 2 + store i32 0, i32* %optopt, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.end274: ; preds = %for.end255 + %219 = load %struct.option*, %struct.option** %pfound, align 8 + %cmp275 = icmp ne %struct.option* %219, null + br i1 %cmp275, label %if.then277, label %if.end372 + +if.then277: ; preds = %if.end274 + %220 = load i32, i32* %indfound, align 4 + store i32 %220, i32* %option_index, align 4 + %221 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind278 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %221, i32 0, i32 0 + %222 = load i32, i32* %optind278, align 8 + %inc279 = add nsw i32 %222, 1 + store i32 %inc279, i32* %optind278, align 8 + %223 = load i8*, i8** %nameend, align 8 + %224 = load i8, i8* %223, align 1 + %tobool280 = icmp ne i8 %224, 0 + %225 = load %struct.option*, %struct.option** %pfound, align 8 + %has_arg282 = getelementptr inbounds %struct.option, %struct.option* %225, i32 0, i32 1 + %226 = load i32, i32* %has_arg282, align 8 + br i1 %tobool280, label %if.then281, label %if.else320 + +if.then281: ; preds = %if.then277 + %tobool283 = icmp ne i32 %226, 0 + br i1 %tobool283, label %if.then284, label %if.else287 + +if.then284: ; preds = %if.then281 + %227 = load i8*, i8** %nameend, align 8 + %add.ptr285 = getelementptr inbounds i8, i8* %227, i64 1 + %228 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg286 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %228, i32 0, i32 3 + store i8* %add.ptr285, i8** %optarg286, align 8 + br label %if.end356 + +if.else287: ; preds = %if.then281 + %229 = load i32, i32* %print_errors, align 4 + %tobool288 = icmp ne i32 %229, 0 + br i1 %tobool288, label %if.then289, label %if.end312 + +if.then289: ; preds = %if.else287 + %230 = load i8**, i8*** %argv.addr, align 8 + %231 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind290 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %231, i32 0, i32 0 + %232 = load i32, i32* %optind290, align 8 + %sub = sub nsw i32 %232, 1 + %idxprom291 = sext i32 %sub to i64 + %arrayidx292 = getelementptr inbounds i8*, i8** %230, i64 %idxprom291 + %233 = load i8*, i8** %arrayidx292, align 8 + %arrayidx293 = getelementptr inbounds i8, i8* %233, i64 1 + %234 = load i8, i8* %arrayidx293, align 1 + %conv294 = sext i8 %234 to i32 + %cmp295 = icmp eq i32 %conv294, 45 + %235 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %236 = load i8**, i8*** %argv.addr, align 8 + %arrayidx298 = getelementptr inbounds i8*, i8** %236, i64 0 + %237 = load i8*, i8** %arrayidx298, align 8 + br i1 %cmp295, label %if.then297, label %if.else301 + +if.then297: ; preds = %if.then289 + %238 = load %struct.option*, %struct.option** %pfound, align 8 + %name299 = getelementptr inbounds %struct.option, %struct.option* %238, i32 0, i32 0 + %239 = load i8*, i8** %name299, align 8 + %call300 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %235, i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.2.294, i64 0, i64 0), i8* %237, i8* %239) #18 + br label %if.end312 + +if.else301: ; preds = %if.then289 + %240 = load i8**, i8*** %argv.addr, align 8 + %241 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind303 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %241, i32 0, i32 0 + %242 = load i32, i32* %optind303, align 8 + %sub304 = sub nsw i32 %242, 1 + %idxprom305 = sext i32 %sub304 to i64 + %arrayidx306 = getelementptr inbounds i8*, i8** %240, i64 %idxprom305 + %243 = load i8*, i8** %arrayidx306, align 8 + %arrayidx307 = getelementptr inbounds i8, i8* %243, i64 0 + %244 = load i8, i8* %arrayidx307, align 1 + %conv308 = sext i8 %244 to i32 + %245 = load %struct.option*, %struct.option** %pfound, align 8 + %name309 = getelementptr inbounds %struct.option, %struct.option* %245, i32 0, i32 0 + %246 = load i8*, i8** %name309, align 8 + %call310 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %235, i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.3.295, i64 0, i64 0), i8* %237, i32 %conv308, i8* %246) #18 + br label %if.end312 + +if.end312: ; preds = %if.then297, %if.else301, %if.else287 + %247 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar313 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %247, i32 0, i32 5 + %248 = load i8*, i8** %__nextchar313, align 8 + %call314 = call i64 @strlen(i8* %248) #20 + %249 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar315 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %249, i32 0, i32 5 + %250 = load i8*, i8** %__nextchar315, align 8 + %add.ptr316 = getelementptr inbounds i8, i8* %250, i64 %call314 + store i8* %add.ptr316, i8** %__nextchar315, align 8 + %251 = load %struct.option*, %struct.option** %pfound, align 8 + %val317 = getelementptr inbounds %struct.option, %struct.option* %251, i32 0, i32 3 + %252 = load i32, i32* %val317, align 8 + %253 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt318 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %253, i32 0, i32 2 + store i32 %252, i32* %optopt318, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.else320: ; preds = %if.then277 + %cmp322 = icmp eq i32 %226, 1 + br i1 %cmp322, label %if.then324, label %if.end356 + +if.then324: ; preds = %if.else320 + %254 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind325 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %254, i32 0, i32 0 + %255 = load i32, i32* %optind325, align 8 + %256 = load i32, i32* %argc.addr, align 4 + %cmp326 = icmp slt i32 %255, %256 + br i1 %cmp326, label %if.then328, label %if.else334 + +if.then328: ; preds = %if.then324 + %257 = load i8**, i8*** %argv.addr, align 8 + %258 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind329 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %258, i32 0, i32 0 + %259 = load i32, i32* %optind329, align 8 + %inc330 = add nsw i32 %259, 1 + store i32 %inc330, i32* %optind329, align 8 + %idxprom331 = sext i32 %259 to i64 + %arrayidx332 = getelementptr inbounds i8*, i8** %257, i64 %idxprom331 + %260 = load i8*, i8** %arrayidx332, align 8 + %261 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg333 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %261, i32 0, i32 3 + store i8* %260, i8** %optarg333, align 8 + br label %if.end356 + +if.else334: ; preds = %if.then324 + %262 = load i32, i32* %print_errors, align 4 + %tobool335 = icmp ne i32 %262, 0 + br i1 %tobool335, label %if.then336, label %if.end343 + +if.then336: ; preds = %if.else334 + %263 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %264 = load i8**, i8*** %argv.addr, align 8 + %arrayidx337 = getelementptr inbounds i8*, i8** %264, i64 0 + %265 = load i8*, i8** %arrayidx337, align 8 + %266 = load i8**, i8*** %argv.addr, align 8 + %267 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind338 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %267, i32 0, i32 0 + %268 = load i32, i32* %optind338, align 8 + %sub339 = sub nsw i32 %268, 1 + %idxprom340 = sext i32 %sub339 to i64 + %arrayidx341 = getelementptr inbounds i8*, i8** %266, i64 %idxprom340 + %269 = load i8*, i8** %arrayidx341, align 8 + %call342 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %263, i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.4.296, i64 0, i64 0), i8* %265, i8* %269) #18 + br label %if.end343 + +if.end343: ; preds = %if.then336, %if.else334 + %270 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar344 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %270, i32 0, i32 5 + %271 = load i8*, i8** %__nextchar344, align 8 + %call345 = call i64 @strlen(i8* %271) #20 + %272 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar346 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %272, i32 0, i32 5 + %273 = load i8*, i8** %__nextchar346, align 8 + %add.ptr347 = getelementptr inbounds i8, i8* %273, i64 %call345 + store i8* %add.ptr347, i8** %__nextchar346, align 8 + %274 = load %struct.option*, %struct.option** %pfound, align 8 + %val348 = getelementptr inbounds %struct.option, %struct.option* %274, i32 0, i32 3 + %275 = load i32, i32* %val348, align 8 + %276 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt349 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %276, i32 0, i32 2 + store i32 %275, i32* %optopt349, align 8 + %277 = load i8*, i8** %optstring.addr, align 8 + %arrayidx350 = getelementptr inbounds i8, i8* %277, i64 0 + %278 = load i8, i8* %arrayidx350, align 1 + %conv351 = sext i8 %278 to i32 + %cmp352 = icmp eq i32 %conv351, 58 + %279 = zext i1 %cmp352 to i64 + %cond = select i1 %cmp352, i32 58, i32 63 + store i32 %cond, i32* %retval, align 4 + br label %return + +if.end356: ; preds = %if.else320, %if.then328, %if.then284 + %280 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar357 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %280, i32 0, i32 5 + %281 = load i8*, i8** %__nextchar357, align 8 + %call358 = call i64 @strlen(i8* %281) #20 + %282 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar359 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %282, i32 0, i32 5 + %283 = load i8*, i8** %__nextchar359, align 8 + %add.ptr360 = getelementptr inbounds i8, i8* %283, i64 %call358 + store i8* %add.ptr360, i8** %__nextchar359, align 8 + %284 = load i32*, i32** %longind.addr, align 8 + %cmp361 = icmp ne i32* %284, null + br i1 %cmp361, label %if.then363, label %if.end364 + +if.then363: ; preds = %if.end356 + %285 = load i32, i32* %option_index, align 4 + %286 = load i32*, i32** %longind.addr, align 8 + store i32 %285, i32* %286, align 4 + br label %if.end364 + +if.end364: ; preds = %if.then363, %if.end356 + %287 = load %struct.option*, %struct.option** %pfound, align 8 + %flag365 = getelementptr inbounds %struct.option, %struct.option* %287, i32 0, i32 2 + %288 = load i32*, i32** %flag365, align 8 + %tobool366 = icmp ne i32* %288, null + %289 = load %struct.option*, %struct.option** %pfound, align 8 + %val368 = getelementptr inbounds %struct.option, %struct.option* %289, i32 0, i32 3 + %290 = load i32, i32* %val368, align 8 + br i1 %tobool366, label %if.then367, label %if.end370 + +if.then367: ; preds = %if.end364 + %291 = load %struct.option*, %struct.option** %pfound, align 8 + %flag369 = getelementptr inbounds %struct.option, %struct.option* %291, i32 0, i32 2 + %292 = load i32*, i32** %flag369, align 8 + store i32 %290, i32* %292, align 4 + store i32 0, i32* %retval, align 4 + br label %return + +if.end370: ; preds = %if.end364 + store i32 %290, i32* %retval, align 4 + br label %return + +if.end372: ; preds = %if.end274 + %293 = load i32, i32* %long_only.addr, align 4 + %tobool373 = icmp ne i32 %293, 0 + br i1 %tobool373, label %lor.lhs.false374, label %if.then388 + +lor.lhs.false374: ; preds = %if.end372 + %294 = load i8**, i8*** %argv.addr, align 8 + %295 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind375 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %295, i32 0, i32 0 + %296 = load i32, i32* %optind375, align 8 + %idxprom376 = sext i32 %296 to i64 + %arrayidx377 = getelementptr inbounds i8*, i8** %294, i64 %idxprom376 + %297 = load i8*, i8** %arrayidx377, align 8 + %arrayidx378 = getelementptr inbounds i8, i8* %297, i64 1 + %298 = load i8, i8* %arrayidx378, align 1 + %conv379 = sext i8 %298 to i32 + %cmp380 = icmp eq i32 %conv379, 45 + br i1 %cmp380, label %if.then388, label %lor.lhs.false382 + +lor.lhs.false382: ; preds = %lor.lhs.false374 + %299 = load i8*, i8** %optstring.addr, align 8 + %300 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar383 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %300, i32 0, i32 5 + %301 = load i8*, i8** %__nextchar383, align 8 + %302 = load i8, i8* %301, align 1 + %conv384 = sext i8 %302 to i32 + %call385 = call i8* @strchr(i8* %299, i32 %conv384) #20 + %cmp386 = icmp eq i8* %call385, null + br i1 %cmp386, label %if.then388, label %if.end418 + +if.then388: ; preds = %lor.lhs.false382, %lor.lhs.false374, %if.end372 + %303 = load i32, i32* %print_errors, align 4 + %tobool389 = icmp ne i32 %303, 0 + br i1 %tobool389, label %if.then390, label %if.end412 + +if.then390: ; preds = %if.then388 + %304 = load i8**, i8*** %argv.addr, align 8 + %305 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind391 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %305, i32 0, i32 0 + %306 = load i32, i32* %optind391, align 8 + %idxprom392 = sext i32 %306 to i64 + %arrayidx393 = getelementptr inbounds i8*, i8** %304, i64 %idxprom392 + %307 = load i8*, i8** %arrayidx393, align 8 + %arrayidx394 = getelementptr inbounds i8, i8* %307, i64 1 + %308 = load i8, i8* %arrayidx394, align 1 + %conv395 = sext i8 %308 to i32 + %cmp396 = icmp eq i32 %conv395, 45 + %309 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %310 = load i8**, i8*** %argv.addr, align 8 + %arrayidx399 = getelementptr inbounds i8*, i8** %310, i64 0 + %311 = load i8*, i8** %arrayidx399, align 8 + br i1 %cmp396, label %if.then398, label %if.else402 + +if.then398: ; preds = %if.then390 + %312 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar400 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %312, i32 0, i32 5 + %313 = load i8*, i8** %__nextchar400, align 8 + %call401 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %309, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.5.297, i64 0, i64 0), i8* %311, i8* %313) #18 + br label %if.end412 + +if.else402: ; preds = %if.then390 + %314 = load i8**, i8*** %argv.addr, align 8 + %315 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind404 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %315, i32 0, i32 0 + %316 = load i32, i32* %optind404, align 8 + %idxprom405 = sext i32 %316 to i64 + %arrayidx406 = getelementptr inbounds i8*, i8** %314, i64 %idxprom405 + %317 = load i8*, i8** %arrayidx406, align 8 + %arrayidx407 = getelementptr inbounds i8, i8* %317, i64 0 + %318 = load i8, i8* %arrayidx407, align 1 + %conv408 = sext i8 %318 to i32 + %319 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar409 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %319, i32 0, i32 5 + %320 = load i8*, i8** %__nextchar409, align 8 + %call410 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %309, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.6.298, i64 0, i64 0), i8* %311, i32 %conv408, i8* %320) #18 + br label %if.end412 + +if.end412: ; preds = %if.then398, %if.else402, %if.then388 + %321 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar413 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %321, i32 0, i32 5 + store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.7.299, i64 0, i64 0), i8** %__nextchar413, align 8 + %322 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind414 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %322, i32 0, i32 0 + %323 = load i32, i32* %optind414, align 8 + %inc415 = add nsw i32 %323, 1 + store i32 %inc415, i32* %optind414, align 8 + %324 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt416 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %324, i32 0, i32 2 + store i32 0, i32* %optopt416, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.end418: ; preds = %lor.lhs.false382, %lor.lhs.false191, %lor.lhs.false182, %if.end171 + %325 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar419 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %325, i32 0, i32 5 + %326 = load i8*, i8** %__nextchar419, align 8 + %incdec.ptr420 = getelementptr inbounds i8, i8* %326, i32 1 + store i8* %incdec.ptr420, i8** %__nextchar419, align 8 + %327 = load i8, i8* %326, align 1 + store i8 %327, i8* %c, align 1 + %328 = load i8*, i8** %optstring.addr, align 8 + %329 = load i8, i8* %c, align 1 + %conv421 = sext i8 %329 to i32 + %call422 = call i8* @strchr(i8* %328, i32 %conv421) #20 + store i8* %call422, i8** %temp, align 8 + %330 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar423 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %330, i32 0, i32 5 + %331 = load i8*, i8** %__nextchar423, align 8 + %332 = load i8, i8* %331, align 1 + %conv424 = sext i8 %332 to i32 + %cmp425 = icmp eq i32 %conv424, 0 + br i1 %cmp425, label %if.then427, label %if.end430 + +if.then427: ; preds = %if.end418 + %333 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind428 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %333, i32 0, i32 0 + %334 = load i32, i32* %optind428, align 8 + %inc429 = add nsw i32 %334, 1 + store i32 %inc429, i32* %optind428, align 8 + br label %if.end430 + +if.end430: ; preds = %if.then427, %if.end418 + %335 = load i8*, i8** %temp, align 8 + %cmp431 = icmp eq i8* %335, null + br i1 %cmp431, label %if.then437, label %lor.lhs.false433 + +lor.lhs.false433: ; preds = %if.end430 + %336 = load i8, i8* %c, align 1 + %conv434 = sext i8 %336 to i32 + %cmp435 = icmp eq i32 %conv434, 58 + br i1 %cmp435, label %if.then437, label %if.end453 + +if.then437: ; preds = %lor.lhs.false433, %if.end430 + %337 = load i32, i32* %print_errors, align 4 + %tobool438 = icmp ne i32 %337, 0 + br i1 %tobool438, label %if.then439, label %if.end450 + +if.then439: ; preds = %if.then437 + %338 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__posixly_correct = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %338, i32 0, i32 7 + %339 = load i32, i32* %__posixly_correct, align 4 + %tobool440 = icmp ne i32 %339, 0 + %340 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %341 = load i8**, i8*** %argv.addr, align 8 + %arrayidx442 = getelementptr inbounds i8*, i8** %341, i64 0 + %342 = load i8*, i8** %arrayidx442, align 8 + %343 = load i8, i8* %c, align 1 + %conv443 = sext i8 %343 to i32 + br i1 %tobool440, label %if.then441, label %if.else445 + +if.then441: ; preds = %if.then439 + %call444 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %340, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.8.300, i64 0, i64 0), i8* %342, i32 %conv443) #18 + br label %if.end450 + +if.else445: ; preds = %if.then439 + %call448 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %340, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.9.301, i64 0, i64 0), i8* %342, i32 %conv443) #18 + br label %if.end450 + +if.end450: ; preds = %if.then441, %if.else445, %if.then437 + %344 = load i8, i8* %c, align 1 + %conv451 = sext i8 %344 to i32 + %345 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt452 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %345, i32 0, i32 2 + store i32 %conv451, i32* %optopt452, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.end453: ; preds = %lor.lhs.false433 + %346 = load i8*, i8** %temp, align 8 + %arrayidx454 = getelementptr inbounds i8, i8* %346, i64 1 + %347 = load i8, i8* %arrayidx454, align 1 + %conv455 = sext i8 %347 to i32 + %cmp456 = icmp eq i32 %conv455, 58 + br i1 %cmp456, label %if.then458, label %if.end517 + +if.then458: ; preds = %if.end453 + %348 = load i8*, i8** %temp, align 8 + %arrayidx459 = getelementptr inbounds i8, i8* %348, i64 2 + %349 = load i8, i8* %arrayidx459, align 1 + %conv460 = sext i8 %349 to i32 + %cmp461 = icmp eq i32 %conv460, 58 + %350 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar464 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %350, i32 0, i32 5 + %351 = load i8*, i8** %__nextchar464, align 8 + %352 = load i8, i8* %351, align 1 + %conv465 = sext i8 %352 to i32 + %cmp466 = icmp ne i32 %conv465, 0 + %353 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + br i1 %cmp461, label %if.then463, label %if.else477 + +if.then463: ; preds = %if.then458 + br i1 %cmp466, label %if.then468, label %if.else473 + +if.then468: ; preds = %if.then463 + %__nextchar469 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 5 + %354 = load i8*, i8** %__nextchar469, align 8 + %355 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg470 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %355, i32 0, i32 3 + store i8* %354, i8** %optarg470, align 8 + %356 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind471 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %356, i32 0, i32 0 + %357 = load i32, i32* %optind471, align 8 + %inc472 = add nsw i32 %357, 1 + store i32 %inc472, i32* %optind471, align 8 + br label %if.end475 + +if.else473: ; preds = %if.then463 + %optarg474 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 3 + store i8* null, i8** %optarg474, align 8 + br label %if.end475 + +if.end475: ; preds = %if.else473, %if.then468 + %358 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar476 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %358, i32 0, i32 5 + store i8* null, i8** %__nextchar476, align 8 + br label %if.end517 + +if.else477: ; preds = %if.then458 + br i1 %cmp466, label %if.then482, label %if.else487 + +if.then482: ; preds = %if.else477 + %__nextchar483 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 5 + %359 = load i8*, i8** %__nextchar483, align 8 + %360 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg484 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %360, i32 0, i32 3 + store i8* %359, i8** %optarg484, align 8 + %361 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind485 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %361, i32 0, i32 0 + %362 = load i32, i32* %optind485, align 8 + %inc486 = add nsw i32 %362, 1 + store i32 %inc486, i32* %optind485, align 8 + br label %if.end514 + +if.else487: ; preds = %if.else477 + %optind488 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 0 + %363 = load i32, i32* %optind488, align 8 + %364 = load i32, i32* %argc.addr, align 4 + %cmp489 = icmp eq i32 %363, %364 + br i1 %cmp489, label %if.then491, label %if.else507 + +if.then491: ; preds = %if.else487 + %365 = load i32, i32* %print_errors, align 4 + %tobool492 = icmp ne i32 %365, 0 + br i1 %tobool492, label %if.then493, label %if.end497 + +if.then493: ; preds = %if.then491 + %366 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %367 = load i8**, i8*** %argv.addr, align 8 + %arrayidx494 = getelementptr inbounds i8*, i8** %367, i64 0 + %368 = load i8*, i8** %arrayidx494, align 8 + %369 = load i8, i8* %c, align 1 + %conv495 = sext i8 %369 to i32 + %call496 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %366, i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.10.302, i64 0, i64 0), i8* %368, i32 %conv495) #18 + br label %if.end497 + +if.end497: ; preds = %if.then493, %if.then491 + %370 = load i8, i8* %c, align 1 + %conv498 = sext i8 %370 to i32 + %371 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt499 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %371, i32 0, i32 2 + store i32 %conv498, i32* %optopt499, align 8 + %372 = load i8*, i8** %optstring.addr, align 8 + %arrayidx500 = getelementptr inbounds i8, i8* %372, i64 0 + %373 = load i8, i8* %arrayidx500, align 1 + %conv501 = sext i8 %373 to i32 + %cmp502 = icmp eq i32 %conv501, 58 + br i1 %cmp502, label %if.then504, label %if.else505 + +if.then504: ; preds = %if.end497 + store i8 58, i8* %c, align 1 + br label %if.end514 + +if.else505: ; preds = %if.end497 + store i8 63, i8* %c, align 1 + br label %if.end514 + +if.else507: ; preds = %if.else487 + %374 = load i8**, i8*** %argv.addr, align 8 + %375 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind508 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %375, i32 0, i32 0 + %376 = load i32, i32* %optind508, align 8 + %inc509 = add nsw i32 %376, 1 + store i32 %inc509, i32* %optind508, align 8 + %idxprom510 = sext i32 %376 to i64 + %arrayidx511 = getelementptr inbounds i8*, i8** %374, i64 %idxprom510 + %377 = load i8*, i8** %arrayidx511, align 8 + %378 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg512 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %378, i32 0, i32 3 + store i8* %377, i8** %optarg512, align 8 + br label %if.end514 + +if.end514: ; preds = %if.else507, %if.else505, %if.then504, %if.then482 + %379 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar515 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %379, i32 0, i32 5 + store i8* null, i8** %__nextchar515, align 8 + br label %if.end517 + +if.end517: ; preds = %if.end475, %if.end514, %if.end453 + %380 = load i8, i8* %c, align 1 + %conv518 = sext i8 %380 to i32 + store i32 %conv518, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end517, %if.end450, %if.end412, %if.end370, %if.then367, %if.end343, %if.end312, %if.end267, %if.end148, %if.then147, %if.end126, %if.then4 + %381 = load i32, i32* %retval, align 4 + ret i32 %381 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @_getopt_initialize(i32 %argc, i8** %argv, i8* %optstring, %struct._getopt_data* %d) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + %d.addr = alloca %struct._getopt_data*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + store %struct._getopt_data* %d, %struct._getopt_data** %d.addr, align 8 + %0 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %0, i32 0, i32 0 + %1 = load i32, i32* %optind, align 8 + %2 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %2, i32 0, i32 9 + store i32 %1, i32* %__last_nonopt, align 4 + %3 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %3, i32 0, i32 8 + store i32 %1, i32* %__first_nonopt, align 8 + %4 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %4, i32 0, i32 5 + store i8* null, i8** %__nextchar, align 8 + %call = call i8* @getenv(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.11.303, i64 0, i64 0)) #19 + %tobool = icmp ne i8* %call, null + %lnot = xor i1 %tobool, true + %lnot1 = xor i1 %lnot, true + %lnot.ext = zext i1 %lnot1 to i32 + %5 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__posixly_correct = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %5, i32 0, i32 7 + store i32 %lnot.ext, i32* %__posixly_correct, align 4 + %6 = load i8*, i8** %optstring.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %6, i64 0 + %7 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %7 to i32 + %cmp = icmp eq i32 %conv, 45 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %8 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %8, i32 0, i32 6 + store i32 2, i32* %__ordering, align 8 + %9 = load i8*, i8** %optstring.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %optstring.addr, align 8 + br label %if.end18 + +if.else: ; preds = %entry + %10 = load i8*, i8** %optstring.addr, align 8 + %arrayidx3 = getelementptr inbounds i8, i8* %10, i64 0 + %11 = load i8, i8* %arrayidx3, align 1 + %conv4 = sext i8 %11 to i32 + %cmp5 = icmp eq i32 %conv4, 43 + %12 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + br i1 %cmp5, label %if.then7, label %if.else10 + +if.then7: ; preds = %if.else + %__ordering8 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %12, i32 0, i32 6 + store i32 0, i32* %__ordering8, align 8 + %13 = load i8*, i8** %optstring.addr, align 8 + %incdec.ptr9 = getelementptr inbounds i8, i8* %13, i32 1 + store i8* %incdec.ptr9, i8** %optstring.addr, align 8 + br label %if.end18 + +if.else10: ; preds = %if.else + %__posixly_correct11 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %12, i32 0, i32 7 + %14 = load i32, i32* %__posixly_correct11, align 4 + %tobool12 = icmp ne i32 %14, 0 + %15 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering14 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %15, i32 0, i32 6 + br i1 %tobool12, label %if.then13, label %if.else15 + +if.then13: ; preds = %if.else10 + store i32 0, i32* %__ordering14, align 8 + br label %if.end18 + +if.else15: ; preds = %if.else10 + store i32 1, i32* %__ordering14, align 8 + br label %if.end18 + +if.end18: ; preds = %if.then7, %if.else15, %if.then13, %if.then + %16 = load i8*, i8** %optstring.addr, align 8 + ret i8* %16 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @exchange(i8** %argv, %struct._getopt_data* %d) #0 { +entry: + %argv.addr = alloca i8**, align 8 + %d.addr = alloca %struct._getopt_data*, align 8 + %bottom = alloca i32, align 4 + %middle = alloca i32, align 4 + %top = alloca i32, align 4 + %tem = alloca i8*, align 8 + %len = alloca i32, align 4 + %i = alloca i32, align 4 + %len20 = alloca i32, align 4 + %i22 = alloca i32, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store %struct._getopt_data* %d, %struct._getopt_data** %d.addr, align 8 + %0 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %0, i32 0, i32 8 + %1 = load i32, i32* %__first_nonopt, align 8 + store i32 %1, i32* %bottom, align 4 + %2 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %2, i32 0, i32 9 + %3 = load i32, i32* %__last_nonopt, align 4 + store i32 %3, i32* %middle, align 4 + %4 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %4, i32 0, i32 0 + %5 = load i32, i32* %optind, align 8 + store i32 %5, i32* %top, align 4 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %6 = load i32, i32* %top, align 4 + %7 = load i32, i32* %middle, align 4 + %cmp = icmp sgt i32 %6, %7 + %8 = load i32, i32* %middle, align 4 + %9 = load i32, i32* %bottom, align 4 + %cmp1 = icmp sgt i32 %8, %9 + %10 = select i1 %cmp, i1 %cmp1, i1 false + br i1 %10, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %11 = load i32, i32* %top, align 4 + %12 = load i32, i32* %middle, align 4 + %sub = sub nsw i32 %11, %12 + %13 = load i32, i32* %middle, align 4 + %14 = load i32, i32* %bottom, align 4 + %sub2 = sub nsw i32 %13, %14 + %cmp3 = icmp sgt i32 %sub, %sub2 + br i1 %cmp3, label %if.then, label %if.else + +if.then: ; preds = %while.body + %15 = load i32, i32* %middle, align 4 + %16 = load i32, i32* %bottom, align 4 + %sub4 = sub nsw i32 %15, %16 + store i32 %sub4, i32* %len, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.then + %17 = load i32, i32* %i, align 4 + %18 = load i32, i32* %len, align 4 + %cmp5 = icmp slt i32 %17, %18 + br i1 %cmp5, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %19 = load i8**, i8*** %argv.addr, align 8 + %20 = load i32, i32* %bottom, align 4 + %21 = load i32, i32* %i, align 4 + %add = add nsw i32 %20, %21 + %idxprom = sext i32 %add to i64 + %arrayidx = getelementptr inbounds i8*, i8** %19, i64 %idxprom + %22 = load i8*, i8** %arrayidx, align 8 + store i8* %22, i8** %tem, align 8 + %23 = load i8**, i8*** %argv.addr, align 8 + %24 = load i32, i32* %top, align 4 + %25 = load i32, i32* %middle, align 4 + %26 = load i32, i32* %bottom, align 4 + %sub6 = sub nsw i32 %25, %26 + %sub7 = sub nsw i32 %24, %sub6 + %27 = load i32, i32* %i, align 4 + %add8 = add nsw i32 %sub7, %27 + %idxprom9 = sext i32 %add8 to i64 + %arrayidx10 = getelementptr inbounds i8*, i8** %23, i64 %idxprom9 + %28 = load i8*, i8** %arrayidx10, align 8 + %29 = load i8**, i8*** %argv.addr, align 8 + %30 = load i32, i32* %bottom, align 4 + %31 = load i32, i32* %i, align 4 + %add11 = add nsw i32 %30, %31 + %idxprom12 = sext i32 %add11 to i64 + %arrayidx13 = getelementptr inbounds i8*, i8** %29, i64 %idxprom12 + store i8* %28, i8** %arrayidx13, align 8 + %32 = load i8*, i8** %tem, align 8 + %33 = load i8**, i8*** %argv.addr, align 8 + %34 = load i32, i32* %top, align 4 + %35 = load i32, i32* %middle, align 4 + %36 = load i32, i32* %bottom, align 4 + %sub14 = sub nsw i32 %35, %36 + %sub15 = sub nsw i32 %34, %sub14 + %37 = load i32, i32* %i, align 4 + %add16 = add nsw i32 %sub15, %37 + %idxprom17 = sext i32 %add16 to i64 + %arrayidx18 = getelementptr inbounds i8*, i8** %33, i64 %idxprom17 + store i8* %32, i8** %arrayidx18, align 8 + %38 = load i32, i32* %i, align 4 + %inc = add nsw i32 %38, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %39 = load i32, i32* %len, align 4 + %40 = load i32, i32* %top, align 4 + %sub19 = sub nsw i32 %40, %39 + store i32 %sub19, i32* %top, align 4 + br label %if.end + +if.else: ; preds = %while.body + %41 = load i32, i32* %top, align 4 + %42 = load i32, i32* %middle, align 4 + %sub21 = sub nsw i32 %41, %42 + store i32 %sub21, i32* %len20, align 4 + store i32 0, i32* %i22, align 4 + br label %for.cond23 + +for.cond23: ; preds = %for.body25, %if.else + %43 = load i32, i32* %i22, align 4 + %44 = load i32, i32* %len20, align 4 + %cmp24 = icmp slt i32 %43, %44 + br i1 %cmp24, label %for.body25, label %for.end40 + +for.body25: ; preds = %for.cond23 + %45 = load i8**, i8*** %argv.addr, align 8 + %46 = load i32, i32* %bottom, align 4 + %47 = load i32, i32* %i22, align 4 + %add26 = add nsw i32 %46, %47 + %idxprom27 = sext i32 %add26 to i64 + %arrayidx28 = getelementptr inbounds i8*, i8** %45, i64 %idxprom27 + %48 = load i8*, i8** %arrayidx28, align 8 + store i8* %48, i8** %tem, align 8 + %49 = load i8**, i8*** %argv.addr, align 8 + %50 = load i32, i32* %middle, align 4 + %51 = load i32, i32* %i22, align 4 + %add29 = add nsw i32 %50, %51 + %idxprom30 = sext i32 %add29 to i64 + %arrayidx31 = getelementptr inbounds i8*, i8** %49, i64 %idxprom30 + %52 = load i8*, i8** %arrayidx31, align 8 + %53 = load i8**, i8*** %argv.addr, align 8 + %54 = load i32, i32* %bottom, align 4 + %55 = load i32, i32* %i22, align 4 + %add32 = add nsw i32 %54, %55 + %idxprom33 = sext i32 %add32 to i64 + %arrayidx34 = getelementptr inbounds i8*, i8** %53, i64 %idxprom33 + store i8* %52, i8** %arrayidx34, align 8 + %56 = load i8*, i8** %tem, align 8 + %57 = load i8**, i8*** %argv.addr, align 8 + %58 = load i32, i32* %middle, align 4 + %59 = load i32, i32* %i22, align 4 + %add35 = add nsw i32 %58, %59 + %idxprom36 = sext i32 %add35 to i64 + %arrayidx37 = getelementptr inbounds i8*, i8** %57, i64 %idxprom36 + store i8* %56, i8** %arrayidx37, align 8 + %60 = load i32, i32* %i22, align 4 + %inc39 = add nsw i32 %60, 1 + store i32 %inc39, i32* %i22, align 4 + br label %for.cond23 + +for.end40: ; preds = %for.cond23 + %61 = load i32, i32* %len20, align 4 + %62 = load i32, i32* %bottom, align 4 + %add41 = add nsw i32 %62, %61 + store i32 %add41, i32* %bottom, align 4 + br label %if.end + +if.end: ; preds = %for.end40, %for.end + br label %while.cond + +while.end: ; preds = %while.cond + %63 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind42 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %63, i32 0, i32 0 + %64 = load i32, i32* %optind42, align 8 + %65 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt43 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %65, i32 0, i32 9 + %66 = load i32, i32* %__last_nonopt43, align 4 + %sub44 = sub nsw i32 %64, %66 + %67 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt45 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %67, i32 0, i32 8 + %68 = load i32, i32* %__first_nonopt45, align 8 + %add46 = add nsw i32 %68, %sub44 + store i32 %add46, i32* %__first_nonopt45, align 8 + %69 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind47 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %69, i32 0, i32 0 + %70 = load i32, i32* %optind47, align 8 + %71 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt48 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %71, i32 0, i32 9 + store i32 %70, i32* %__last_nonopt48, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getopt(i32 %argc, i8** %argv, i8* %optstring) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + %0 = load i32, i32* %argc.addr, align 4 + %1 = load i8**, i8*** %argv.addr, align 8 + %2 = load i8*, i8** %optstring.addr, align 8 + %call = call i32 @_getopt_internal(i32 %0, i8** %1, i8* %2, %struct.option* null, i32* null, i32 0) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getopt_long(i32 %argc, i8** %argv, i8* %options, %struct.option* %long_options, i32* %opt_index) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %options.addr = alloca i8*, align 8 + %long_options.addr = alloca %struct.option*, align 8 + %opt_index.addr = alloca i32*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %options, i8** %options.addr, align 8 + store %struct.option* %long_options, %struct.option** %long_options.addr, align 8 + store i32* %opt_index, i32** %opt_index.addr, align 8 + %0 = load i32, i32* %argc.addr, align 4 + %1 = load i8**, i8*** %argv.addr, align 8 + %2 = load i8*, i8** %options.addr, align 8 + %3 = load %struct.option*, %struct.option** %long_options.addr, align 8 + %4 = load i32*, i32** %opt_index.addr, align 8 + %call = call i32 @_getopt_internal(i32 %0, i8** %1, i8* %2, %struct.option* %3, i32* %4, i32 0) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getopt_long_only(i32 %argc, i8** %argv, i8* %options, %struct.option* %long_options, i32* %opt_index) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %options.addr = alloca i8*, align 8 + %long_options.addr = alloca %struct.option*, align 8 + %opt_index.addr = alloca i32*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %options, i8** %options.addr, align 8 + store %struct.option* %long_options, %struct.option** %long_options.addr, align 8 + store i32* %opt_index, i32** %opt_index.addr, align 8 + %0 = load i32, i32* %argc.addr, align 4 + %1 = load i8**, i8*** %argv.addr, align 8 + %2 = load i8*, i8** %options.addr, align 8 + %3 = load %struct.option*, %struct.option** %long_options.addr, align 8 + %4 = load i32*, i32** %opt_index.addr, align 8 + %call = call i32 @_getopt_internal(i32 %0, i8** %1, i8* %2, %struct.option* %3, i32* %4, i32 1) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define %struct.__uclibc_locale_struct.201* @newlocale(i32 %category_mask, i8* %locale, %struct.__uclibc_locale_struct.201* %base) #0 { +entry: + %retval = alloca %struct.__uclibc_locale_struct.201*, align 8 + %category_mask.addr = alloca i32, align 4 + %locale.addr = alloca i8*, align 8 + %base.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %p = alloca i8*, align 8 + %i = alloca i32, align 4 + %j = alloca i32, align 4 + %k = alloca i32, align 4 + %new_selector = alloca [14 x i8], align 1 + store i32 %category_mask, i32* %category_mask.addr, align 4 + store i8* %locale, i8** %locale.addr, align 8 + store %struct.__uclibc_locale_struct.201* %base, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %0 = load i32, i32* %category_mask.addr, align 4 + %cmp = icmp eq i32 %0, 64 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 8127, i32* %category_mask.addr, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i8*, i8** %locale.addr, align 8 + %tobool = icmp eq i8* %1, null + %2 = load i32, i32* %category_mask.addr, align 4 + %cmp1 = icmp ugt i32 %2, 8127 + %or.cond = or i1 %tobool, %cmp1 + br i1 %or.cond, label %INVALID, label %if.end3 + +INVALID: ; preds = %if.else, %do.end, %if.end + store i32 22, i32* @errno, align 4 + store %struct.__uclibc_locale_struct.201* null, %struct.__uclibc_locale_struct.201** %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %3 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tobool4 = icmp ne %struct.__uclibc_locale_struct.201* %3, null + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %4, i32 0, i32 6 + %arraydecay5 = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + %cond = select i1 %tobool4, i8* %arraydecay5, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.308, i64 0, i64 0) + %call = call i8* @strcpy(i8* %arraydecay, i8* %cond) #19 + %5 = load i8*, i8** %locale.addr, align 8 + %6 = load i8, i8* %5, align 1 + %tobool6 = icmp ne i8 %6, 0 + br i1 %tobool6, label %if.else, label %if.then7 + +if.then7: ; preds = %if.end3 + store i32 1, i32* %i, align 4 + store i32 0, i32* %k, align 4 + br label %do.body + +do.body: ; preds = %if.end25, %if.then7 + %7 = load i32, i32* %category_mask.addr, align 4 + %8 = load i32, i32* %i, align 4 + %and = and i32 %7, %8 + %tobool8 = icmp ne i32 %and, 0 + br i1 %tobool8, label %if.then9, label %if.end25 + +if.then9: ; preds = %do.body + %9 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %9, i32 0, i32 34 + %arraydecay10 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names, i64 0, i64 0 + %10 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names11 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %10, i32 0, i32 34 + %11 = load i32, i32* %k, align 4 + %idxprom = sext i32 %11 to i64 + %arrayidx = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names11, i64 0, i64 %idxprom + %12 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %12 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay10, i64 %idx.ext + store i8* %add.ptr, i8** getelementptr inbounds ([4 x i8*], [4 x i8*]* @newlocale.envstr, i64 0, i64 1), align 8 + store i32 0, i32* %j, align 4 + br label %do.body12 + +do.body12: ; preds = %land.rhs, %lor.rhs, %if.then9 + %13 = load i32, i32* %j, align 4 + %idxprom13 = sext i32 %13 to i64 + %arrayidx14 = getelementptr inbounds [4 x i8*], [4 x i8*]* @newlocale.envstr, i64 0, i64 %idxprom13 + %14 = load i8*, i8** %arrayidx14, align 8 + store i8* %14, i8** %p, align 8 + %15 = load i32, i32* %j, align 4 + %inc = add nsw i32 %15, 1 + store i32 %inc, i32* %j, align 4 + %cmp15 = icmp slt i32 %inc, 4 + br i1 %cmp15, label %land.rhs, label %do.end + +land.rhs: ; preds = %do.body12 + %16 = load i8*, i8** %p, align 8 + %call17 = call i8* @getenv(i8* %16) #19 + store i8* %call17, i8** %p, align 8 + %tobool18 = icmp ne i8* %call17, null + br i1 %tobool18, label %lor.rhs, label %do.body12 + +lor.rhs: ; preds = %land.rhs + %17 = load i8*, i8** %p, align 8 + %18 = load i8, i8* %17, align 1 + %tobool19 = icmp ne i8 %18, 0 + %lnot = xor i1 %tobool19, true + br i1 %lnot, label %do.body12, label %do.end + +do.end: ; preds = %do.body12, %lor.rhs + %19 = load i32, i32* %i, align 4 + %20 = load i8*, i8** %p, align 8 + %arraydecay20 = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %call21 = call i32 @find_locale(i32 %19, i8* %20, i8* %arraydecay20) #18 + %tobool22 = icmp ne i32 %call21, 0 + br i1 %tobool22, label %if.end25, label %INVALID + +if.end25: ; preds = %do.end, %do.body + %21 = load i32, i32* %i, align 4 + %22 = load i32, i32* %i, align 4 + %add = add nsw i32 %22, %21 + store i32 %add, i32* %i, align 4 + %23 = load i32, i32* %k, align 4 + %inc27 = add nsw i32 %23, 1 + store i32 %inc27, i32* %k, align 4 + %cmp28 = icmp slt i32 %inc27, 6 + br i1 %cmp28, label %do.body, label %if.end36 + +if.else: ; preds = %if.end3 + %24 = load i32, i32* %category_mask.addr, align 4 + %25 = load i8*, i8** %locale.addr, align 8 + %arraydecay31 = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %call32 = call i8* @composite_locale(i32 %24, i8* %25, i8* %arraydecay31) #18 + %tobool33 = icmp ne i8* %call32, null + br i1 %tobool33, label %if.end36, label %INVALID + +if.end36: ; preds = %if.else, %if.end25 + %26 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tobool37 = icmp ne %struct.__uclibc_locale_struct.201* %26, null + br i1 %tobool37, label %if.end44, label %if.then38 + +if.then38: ; preds = %if.end36 + %call39 = call noalias i8* @calloc(i64 1, i64 3320) #19 + %27 = bitcast i8* %call39 to %struct.__uclibc_locale_struct.201* + store %struct.__uclibc_locale_struct.201* %27, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cmp40 = icmp eq %struct.__uclibc_locale_struct.201* %27, null + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + br i1 %cmp40, label %if.then42, label %if.end43 + +if.then42: ; preds = %if.then38 + store %struct.__uclibc_locale_struct.201* %28, %struct.__uclibc_locale_struct.201** %retval, align 8 + br label %return + +if.end43: ; preds = %if.then38 + call void @_locale_init_l(%struct.__uclibc_locale_struct.201* %28) #18 + br label %if.end44 + +if.end44: ; preds = %if.end43, %if.end36 + %arraydecay45 = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %29 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call46 = call i32 @_locale_set_l(i8* %arraydecay45, %struct.__uclibc_locale_struct.201* %29) #18 + %30 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + store %struct.__uclibc_locale_struct.201* %30, %struct.__uclibc_locale_struct.201** %retval, align 8 + br label %return + +return: ; preds = %if.end44, %if.then42, %INVALID + %31 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %retval, align 8 + ret %struct.__uclibc_locale_struct.201* %31 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @find_locale(i32 %category_mask, i8* %p, i8* %new_locale) #0 { +entry: + %retval = alloca i32, align 4 + %category_mask.addr = alloca i32, align 4 + %p.addr = alloca i8*, align 8 + %new_locale.addr = alloca i8*, align 8 + %i = alloca i32, align 4 + %s = alloca i8*, align 8 + %n = alloca i16, align 2 + %lang_cult = alloca i8, align 1 + %codeset = alloca i8, align 1 + %buf = alloca [18 x i8], align 16 + %q = alloca i8*, align 8 + store i32 %category_mask, i32* %category_mask.addr, align 4 + store i8* %p, i8** %p.addr, align 8 + store i8* %new_locale, i8** %new_locale.addr, align 8 + %0 = load i8*, i8** %p.addr, align 8 + %call = call i8* @strchr(i8* %0, i32 64) #20 + store i8* %call, i8** %q, align 8 + %cmp = icmp ne i8* %call, null + br i1 %cmp, label %if.then, label %if.end27 + +if.then: ; preds = %entry + %1 = load i8*, i8** %q, align 8 + %2 = load i8*, i8** %p.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %1 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %2 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %sub = sub nsw i64 %sub.ptr.sub, 5 + %cmp1 = icmp ugt i64 %sub, 13 + br i1 %cmp1, label %if.then4, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then + %3 = load i8*, i8** %p.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %3, i64 2 + %4 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %4 to i32 + %cmp2 = icmp ne i32 %conv, 95 + br i1 %cmp2, label %if.then4, label %if.end + +if.then4: ; preds = %lor.lhs.false, %if.then + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %lor.lhs.false + %5 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_at_modifiers = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %5, i32 0, i32 33 + %arraydecay = getelementptr inbounds [18 x i8], [18 x i8]* %locale_at_modifiers, i64 0, i64 0 + store i8* %arraydecay, i8** %s, align 8 + br label %do.body + +do.body: ; preds = %if.end8, %if.end + %6 = load i8*, i8** %s, align 8 + %add.ptr = getelementptr inbounds i8, i8* %6, i64 2 + %7 = load i8*, i8** %q, align 8 + %add.ptr5 = getelementptr inbounds i8, i8* %7, i64 1 + %call6 = call i32 @strcmp(i8* %add.ptr, i8* %add.ptr5) #20 + %tobool = icmp ne i32 %call6, 0 + br i1 %tobool, label %if.end8, label %do.end + +if.end8: ; preds = %do.body + %8 = load i8*, i8** %s, align 8 + %9 = load i8, i8* %8, align 1 + %conv9 = zext i8 %9 to i32 + %add = add nsw i32 2, %conv9 + %10 = load i8*, i8** %s, align 8 + %idx.ext = sext i32 %add to i64 + %add.ptr10 = getelementptr inbounds i8, i8* %10, i64 %idx.ext + store i8* %add.ptr10, i8** %s, align 8 + %11 = load i8*, i8** %s, align 8 + %12 = load i8, i8* %11, align 1 + %tobool11 = icmp ne i8 %12, 0 + br i1 %tobool11, label %do.body, label %do.end + +do.end: ; preds = %do.body, %if.end8 + %13 = load i8*, i8** %s, align 8 + %14 = load i8, i8* %13, align 1 + %tobool12 = icmp ne i8 %14, 0 + br i1 %tobool12, label %if.end14, label %if.then13 + +if.then13: ; preds = %do.end + store i32 0, i32* %retval, align 4 + br label %return + +if.end14: ; preds = %do.end + %arraydecay15 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 0 + %15 = load i8*, i8** %p.addr, align 8 + %16 = load i8*, i8** %q, align 8 + %17 = load i8*, i8** %p.addr, align 8 + %sub.ptr.lhs.cast16 = ptrtoint i8* %16 to i64 + %sub.ptr.rhs.cast17 = ptrtoint i8* %17 to i64 + %sub.ptr.sub18 = sub i64 %sub.ptr.lhs.cast16, %sub.ptr.rhs.cast17 + %call19 = call i8* @memcpy(i8* %arraydecay15, i8* %15, i64 %sub.ptr.sub18) #19 + %18 = load i8*, i8** %q, align 8 + %19 = load i8*, i8** %p.addr, align 8 + %sub.ptr.lhs.cast20 = ptrtoint i8* %18 to i64 + %sub.ptr.rhs.cast21 = ptrtoint i8* %19 to i64 + %sub.ptr.sub22 = sub i64 %sub.ptr.lhs.cast20, %sub.ptr.rhs.cast21 + %arrayidx23 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 %sub.ptr.sub22 + store i8 0, i8* %arrayidx23, align 1 + %20 = load i8*, i8** %s, align 8 + %arrayidx24 = getelementptr inbounds i8, i8* %20, i64 1 + %21 = load i8, i8* %arrayidx24, align 1 + %arrayidx25 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 2 + store i8 %21, i8* %arrayidx25, align 2 + %arraydecay26 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay26, i8** %p.addr, align 8 + br label %if.end27 + +if.end27: ; preds = %if.end14, %entry + store i8 0, i8* %codeset, align 1 + store i8 0, i8* %lang_cult, align 1 + %22 = load i8*, i8** %p.addr, align 8 + %23 = load i8, i8* %22, align 1 + %conv28 = sext i8 %23 to i32 + %cmp29 = icmp eq i32 %conv28, 67 + br i1 %cmp29, label %land.lhs.true, label %lor.lhs.false33 + +land.lhs.true: ; preds = %if.end27 + %24 = load i8*, i8** %p.addr, align 8 + %arrayidx31 = getelementptr inbounds i8, i8* %24, i64 1 + %25 = load i8, i8* %arrayidx31, align 1 + %tobool32 = icmp ne i8 %25, 0 + br i1 %tobool32, label %lor.lhs.false33, label %FIND_LOCALE + +lor.lhs.false33: ; preds = %land.lhs.true, %if.end27 + %26 = load i8*, i8** %p.addr, align 8 + %call34 = call i32 @strcmp(i8* %26, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @posix, i64 0, i64 0)) #20 + %tobool35 = icmp ne i32 %call34, 0 + br i1 %tobool35, label %if.end37, label %FIND_LOCALE + +if.end37: ; preds = %lor.lhs.false33 + %27 = load i8*, i8** %p.addr, align 8 + %call38 = call i64 @strlen(i8* %27) #20 + %cmp39 = icmp ugt i64 %call38, 5 + br i1 %cmp39, label %land.lhs.true41, label %FIND_LANG_CULT + +land.lhs.true41: ; preds = %if.end37 + %28 = load i8*, i8** %p.addr, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %28, i64 5 + %29 = load i8, i8* %arrayidx42, align 1 + %conv43 = sext i8 %29 to i32 + %cmp44 = icmp eq i32 %conv43, 46 + br i1 %cmp44, label %if.then46, label %FIND_LANG_CULT + +if.then46: ; preds = %land.lhs.true41 + store i8 2, i8* %codeset, align 1 + %30 = load i8*, i8** %p.addr, align 8 + %add.ptr47 = getelementptr inbounds i8, i8* %30, i64 6 + %call48 = call i32 @strcmp(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf8.311, i64 0, i64 0), i8* %add.ptr47) #20 + %cmp49 = icmp ne i32 %call48, 0 + br i1 %cmp49, label %if.then51, label %FIND_LANG_CULT + +if.then51: ; preds = %if.then46 + %31 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %31, i32 0, i32 35 + %arraydecay52 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list, i64 0, i64 0 + store i8* %arraydecay52, i8** %s, align 8 + br label %do.body53 + +do.body53: ; preds = %do.cond64, %if.then51 + %32 = load i8, i8* %codeset, align 1 + %inc = add i8 %32, 1 + store i8 %inc, i8* %codeset, align 1 + %33 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list54 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %33, i32 0, i32 35 + %arraydecay55 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list54, i64 0, i64 0 + %34 = load i8*, i8** %s, align 8 + %35 = load i8, i8* %34, align 1 + %conv56 = zext i8 %35 to i32 + %idx.ext57 = sext i32 %conv56 to i64 + %add.ptr58 = getelementptr inbounds i8, i8* %arraydecay55, i64 %idx.ext57 + %36 = load i8*, i8** %p.addr, align 8 + %add.ptr59 = getelementptr inbounds i8, i8* %36, i64 6 + %call60 = call i32 @strcmp(i8* %add.ptr58, i8* %add.ptr59) #20 + %tobool61 = icmp ne i32 %call60, 0 + br i1 %tobool61, label %do.cond64, label %FIND_LANG_CULT + +do.cond64: ; preds = %do.body53 + %37 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %37, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %38 = load i8, i8* %incdec.ptr, align 1 + %tobool65 = icmp ne i8 %38, 0 + br i1 %tobool65, label %do.body53, label %do.end66 + +do.end66: ; preds = %do.cond64 + store i32 0, i32* %retval, align 4 + br label %return + +FIND_LANG_CULT: ; preds = %if.end37, %land.lhs.true41, %if.then46, %do.body53 + %39 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_names5 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %39, i32 0, i32 32 + %arraydecay69 = getelementptr inbounds [835 x i8], [835 x i8]* %locale_names5, i64 0, i64 0 + store i8* %arraydecay69, i8** %s, align 8 + br label %do.body70 + +do.body70: ; preds = %if.end75, %FIND_LANG_CULT + %40 = load i8, i8* %lang_cult, align 1 + %inc71 = add i8 %40, 1 + store i8 %inc71, i8* %lang_cult, align 1 + %41 = load i8*, i8** %s, align 8 + %42 = load i8*, i8** %p.addr, align 8 + %call72 = call i32 @strncmp(i8* %41, i8* %42, i64 5) #20 + %tobool73 = icmp ne i32 %call72, 0 + br i1 %tobool73, label %if.end75, label %FIND_LOCALE + +if.end75: ; preds = %do.body70 + %43 = load i8*, i8** %s, align 8 + %add.ptr76 = getelementptr inbounds i8, i8* %43, i64 5 + store i8* %add.ptr76, i8** %s, align 8 + %44 = load i8, i8* %lang_cult, align 1 + %conv78 = zext i8 %44 to i32 + %cmp79 = icmp slt i32 %conv78, 167 + br i1 %cmp79, label %do.body70, label %do.end81 + +do.end81: ; preds = %if.end75 + store i32 0, i32* %retval, align 4 + br label %return + +FIND_LOCALE: ; preds = %do.body70, %land.lhs.true, %lor.lhs.false33 + %45 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %45, i32 0, i32 31 + %arraydecay82 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales, i64 0, i64 0 + store i8* %arraydecay82, i8** %s, align 8 + store i16 0, i16* %n, align 2 + br label %do.body83 + +do.body83: ; preds = %if.end120, %FIND_LOCALE + %46 = load i8, i8* %lang_cult, align 1 + %conv84 = zext i8 %46 to i32 + %47 = load i8*, i8** %s, align 8 + %48 = load i8, i8* %47, align 1 + %conv85 = zext i8 %48 to i32 + %cmp86 = icmp eq i32 %conv84, %conv85 + br i1 %cmp86, label %land.lhs.true88, label %if.end120 + +land.lhs.true88: ; preds = %do.body83 + %49 = load i8, i8* %codeset, align 1 + %conv89 = zext i8 %49 to i32 + %50 = load i8*, i8** %s, align 8 + %arrayidx90 = getelementptr inbounds i8, i8* %50, i64 1 + %51 = load i8, i8* %arrayidx90, align 1 + %conv91 = zext i8 %51 to i32 + %cmp92 = icmp eq i32 %conv89, %conv91 + br i1 %cmp92, label %if.then100, label %lor.lhs.false94 + +lor.lhs.false94: ; preds = %land.lhs.true88 + %52 = load i8, i8* %codeset, align 1 + %conv95 = zext i8 %52 to i32 + %53 = load i8*, i8** %s, align 8 + %arrayidx96 = getelementptr inbounds i8, i8* %53, i64 2 + %54 = load i8, i8* %arrayidx96, align 1 + %conv97 = zext i8 %54 to i32 + %cmp98 = icmp eq i32 %conv95, %conv97 + br i1 %cmp98, label %if.then100, label %if.end120 + +if.then100: ; preds = %lor.lhs.false94, %land.lhs.true88 + store i32 1, i32* %i, align 4 + %55 = load i8*, i8** %new_locale.addr, align 8 + %add.ptr101 = getelementptr inbounds i8, i8* %55, i64 1 + store i8* %add.ptr101, i8** %s, align 8 + br label %do.body102 + +do.body102: ; preds = %if.end113, %if.then100 + %56 = load i32, i32* %category_mask.addr, align 4 + %57 = load i32, i32* %i, align 4 + %and = and i32 %56, %57 + %tobool103 = icmp ne i32 %and, 0 + br i1 %tobool103, label %if.then104, label %if.end113 + +if.then104: ; preds = %do.body102 + %58 = load i16, i16* %n, align 2 + %conv105 = zext i16 %58 to i32 + %shr = ashr i32 %conv105, 7 + %or = or i32 %shr, 128 + %conv106 = trunc i32 %or to i8 + %59 = load i8*, i8** %s, align 8 + %arrayidx107 = getelementptr inbounds i8, i8* %59, i64 0 + store i8 %conv106, i8* %arrayidx107, align 1 + %60 = load i16, i16* %n, align 2 + %conv108 = zext i16 %60 to i32 + %and109 = and i32 %conv108, 127 + %or110 = or i32 %and109, 128 + %conv111 = trunc i32 %or110 to i8 + %61 = load i8*, i8** %s, align 8 + %arrayidx112 = getelementptr inbounds i8, i8* %61, i64 1 + store i8 %conv111, i8* %arrayidx112, align 1 + br label %if.end113 + +if.end113: ; preds = %if.then104, %do.body102 + %62 = load i8*, i8** %s, align 8 + %add.ptr114 = getelementptr inbounds i8, i8* %62, i64 2 + store i8* %add.ptr114, i8** %s, align 8 + %63 = load i32, i32* %i, align 4 + %64 = load i32, i32* %i, align 4 + %add115 = add nsw i32 %64, %63 + store i32 %add115, i32* %i, align 4 + %65 = load i32, i32* %i, align 4 + %cmp117 = icmp slt i32 %65, 64 + br i1 %cmp117, label %do.body102, label %do.end119 + +do.end119: ; preds = %if.end113 + %66 = load i32, i32* %i, align 4 + store i32 %66, i32* %retval, align 4 + br label %return + +if.end120: ; preds = %lor.lhs.false94, %do.body83 + %67 = load i8*, i8** %s, align 8 + %add.ptr121 = getelementptr inbounds i8, i8* %67, i64 9 + store i8* %add.ptr121, i8** %s, align 8 + %68 = load i16, i16* %n, align 2 + %inc122 = add i16 %68, 1 + store i16 %inc122, i16* %n, align 2 + %69 = load i16, i16* %n, align 2 + %conv124 = zext i16 %69 to i32 + %cmp125 = icmp sle i32 %conv124, 314 + br i1 %cmp125, label %do.body83, label %do.end127 + +do.end127: ; preds = %if.end120 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end127, %do.end119, %do.end81, %do.end66, %if.then13, %if.then4 + %70 = load i32, i32* %retval, align 4 + ret i32 %70 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @composite_locale(i32 %category_mask, i8* %locale, i8* %new_locale) #0 { +entry: + %retval = alloca i8*, align 8 + %category_mask.addr = alloca i32, align 4 + %locale.addr = alloca i8*, align 8 + %new_locale.addr = alloca i8*, align 8 + %buf = alloca [256 x i8], align 16 + %t = alloca i8*, align 8 + %e = alloca i8*, align 8 + %c = alloca i32, align 4 + %component_mask = alloca i32, align 4 + store i32 %category_mask, i32* %category_mask.addr, align 4 + store i8* %locale, i8** %locale.addr, align 8 + store i8* %new_locale, i8** %new_locale.addr, align 8 + %0 = load i8*, i8** %locale.addr, align 8 + %call = call i8* @strchr(i8* %0, i32 61) #20 + %tobool = icmp ne i8* %call, null + br i1 %tobool, label %if.end4, label %if.then + +if.then: ; preds = %entry + %1 = load i32, i32* %category_mask.addr, align 4 + %2 = load i8*, i8** %locale.addr, align 8 + %3 = load i8*, i8** %new_locale.addr, align 8 + %call1 = call i32 @find_locale(i32 %1, i8* %2, i8* %3) #18 + %tobool2 = icmp ne i32 %call1, 0 + br i1 %tobool2, label %if.end, label %if.then3 + +if.then3: ; preds = %if.then + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %if.then + %4 = load i8*, i8** %new_locale.addr, align 8 + store i8* %4, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %entry + %5 = load i8*, i8** %locale.addr, align 8 + %call5 = call i64 @strlen(i8* %5) #20 + %cmp = icmp uge i64 %call5, 256 + br i1 %cmp, label %if.then6, label %if.end7 + +if.then6: ; preds = %if.end4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end7: ; preds = %if.end4 + %arraydecay = getelementptr inbounds [256 x i8], [256 x i8]* %buf, i64 0, i64 0 + %6 = load i8*, i8** %locale.addr, align 8 + %call8 = call i8* @stpcpy(i8* %arraydecay, i8* %6) #19 + store i32 0, i32* %component_mask, align 4 + %arraydecay9 = getelementptr inbounds [256 x i8], [256 x i8]* %buf, i64 0, i64 0 + %call10 = call i8* @strtok_r(i8* %arraydecay9, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.309, i64 0, i64 0), i8** %e) #19 + store i8* %call10, i8** %t, align 8 + br label %do.body + +do.body: ; preds = %do.cond, %if.end7 + store i32 0, i32* %c, align 4 + br label %while.cond + +while.cond: ; preds = %while.body, %do.body + %7 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %7, i32 0, i32 34 + %arraydecay11 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names, i64 0, i64 0 + %8 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names12 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %8, i32 0, i32 34 + %9 = load i32, i32* %c, align 4 + %idxprom = sext i32 %9 to i64 + %arrayidx = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names12, i64 0, i64 %idxprom + %10 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %10 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay11, i64 %idx.ext + %11 = load i8*, i8** %t, align 8 + %call13 = call i32 @strcmp(i8* %add.ptr, i8* %11) #20 + %tobool14 = icmp ne i32 %call13, 0 + br i1 %tobool14, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %12 = load i32, i32* %c, align 4 + %inc = add nsw i32 %12, 1 + store i32 %inc, i32* %c, align 4 + %cmp15 = icmp eq i32 %inc, 6 + br i1 %cmp15, label %if.then17, label %while.cond + +if.then17: ; preds = %while.body + store i8* null, i8** %retval, align 8 + br label %return + +while.end: ; preds = %while.cond + %call19 = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.4.310, i64 0, i64 0), i8** %e) #19 + store i8* %call19, i8** %t, align 8 + %13 = load i32, i32* %c, align 4 + %shl = shl i32 1, %13 + store i32 %shl, i32* %c, align 4 + %14 = load i32, i32* %component_mask, align 4 + %15 = load i32, i32* %c, align 4 + %and = and i32 %14, %15 + %tobool20 = icmp ne i32 %and, 0 + br i1 %tobool20, label %if.then21, label %if.end22 + +if.then21: ; preds = %while.end + store i8* null, i8** %retval, align 8 + br label %return + +if.end22: ; preds = %while.end + %16 = load i32, i32* %c, align 4 + %17 = load i32, i32* %component_mask, align 4 + %or = or i32 %17, %16 + store i32 %or, i32* %component_mask, align 4 + %18 = load i32, i32* %category_mask.addr, align 4 + %19 = load i32, i32* %c, align 4 + %and23 = and i32 %18, %19 + %tobool24 = icmp ne i32 %and23, 0 + br i1 %tobool24, label %land.lhs.true, label %do.cond + +land.lhs.true: ; preds = %if.end22 + %20 = load i8*, i8** %t, align 8 + %tobool25 = icmp ne i8* %20, null + br i1 %tobool25, label %lor.lhs.false, label %if.then28 + +lor.lhs.false: ; preds = %land.lhs.true + %21 = load i32, i32* %c, align 4 + %22 = load i8*, i8** %t, align 8 + %23 = load i8*, i8** %new_locale.addr, align 8 + %call26 = call i32 @find_locale(i32 %21, i8* %22, i8* %23) #18 + %tobool27 = icmp ne i32 %call26, 0 + br i1 %tobool27, label %do.cond, label %if.then28 + +if.then28: ; preds = %lor.lhs.false, %land.lhs.true + store i8* null, i8** %retval, align 8 + br label %return + +do.cond: ; preds = %if.end22, %lor.lhs.false + %call30 = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.309, i64 0, i64 0), i8** %e) #19 + store i8* %call30, i8** %t, align 8 + %cmp31 = icmp ne i8* %call30, null + br i1 %cmp31, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %24 = load i32, i32* %category_mask.addr, align 4 + %25 = load i32, i32* %component_mask, align 4 + %neg = xor i32 %25, -1 + %and33 = and i32 %24, %neg + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %if.then35, label %if.end36 + +if.then35: ; preds = %do.end + store i8* null, i8** %retval, align 8 + br label %return + +if.end36: ; preds = %do.end + %26 = load i8*, i8** %new_locale.addr, align 8 + store i8* %26, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end36, %if.then35, %if.then28, %if.then21, %if.then17, %if.then6, %if.end, %if.then3 + %27 = load i8*, i8** %retval, align 8 + ret i8* %27 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @nl_langinfo_l(i32 %item, %struct.__uclibc_locale_struct.201* %locale_arg) #0 { +entry: + %retval = alloca i8*, align 8 + %item.addr = alloca i32, align 4 + %locale_arg.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %c = alloca i32, align 4 + %i = alloca i32, align 4 + store i32 %item, i32* %item.addr, align 4 + store %struct.__uclibc_locale_struct.201* %locale_arg, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %0 = load i32, i32* %item.addr, align 4 + %shr = ashr i32 %0, 8 + store i32 %shr, i32* %c, align 4 + %1 = load i32, i32* %item.addr, align 4 + %and = and i32 %1, 255 + store i32 %and, i32* %i, align 4 + %2 = load i32, i32* %c, align 4 + %cmp = icmp ult i32 %2, 6 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %3 = load i32, i32* %i, align 4 + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %category_item_count = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %4, i32 0, i32 8 + %5 = load i32, i32* %c, align 4 + %idxprom = zext i32 %5 to i64 + %arrayidx = getelementptr inbounds [6 x i8], [6 x i8]* %category_item_count, i64 0, i64 %idxprom + %6 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %6 to i32 + %cmp1 = icmp ult i32 %3, %conv + br i1 %cmp1, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %7 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %8 = bitcast %struct.__uclibc_locale_struct.201* %7 to i8* + %9 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %category_offsets = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %9, i32 0, i32 7 + %10 = load i32, i32* %c, align 4 + %idxprom3 = zext i32 %10 to i64 + %arrayidx4 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets, i64 0, i64 %idxprom3 + %11 = load i16, i16* %arrayidx4, align 2 + %conv5 = zext i16 %11 to i32 + %idx.ext = sext i32 %conv5 to i64 + %add.ptr = getelementptr inbounds i8, i8* %8, i64 %idx.ext + %12 = bitcast i8* %add.ptr to i8** + %13 = load i32, i32* %i, align 4 + %idxprom6 = zext i32 %13 to i64 + %arrayidx7 = getelementptr inbounds i8*, i8** %12, i64 %idxprom6 + %14 = load i8*, i8** %arrayidx7, align 8 + store i8* %14, i8** %retval, align 8 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @empty, i64 0, i64 0), i8** %retval, align 8 + br label %return + +return: ; preds = %if.end, %if.then + %15 = load i8*, i8** %retval, align 8 + ret i8* %15 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @mbsnrtowcs(i32* noalias %dst, i8** noalias %src, i64 %NMC, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %retval = alloca i64, align 8 + %dst.addr = alloca i32*, align 8 + %src.addr = alloca i8**, align 8 + %NMC.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %wcbuf = alloca [1 x i32], align 4 + %s = alloca i8*, align 8 + %count = alloca i64, align 8 + %incr = alloca i32, align 4 + %r = alloca i64, align 8 + %wc = alloca i32, align 4 + store i32* %dst, i32** %dst.addr, align 8 + store i8** %src, i8*** %src.addr, align 8 + store i64 %NMC, i64* %NMC.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %tobool = icmp ne %struct.__mbstate_t.512* %0, null + %spec.store.select = select i1 %tobool, %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512* @mbsnrtowcs.mbstate + store %struct.__mbstate_t.512* %spec.store.select, %struct.__mbstate_t.512** %ps.addr, align 8 + %1 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %1, i32 0, i32 9 + %2 = load i8, i8* %encoding, align 8 + %conv = zext i8 %2 to i32 + %cmp = icmp eq i32 %conv, 1 + br i1 %cmp, label %if.then2, label %if.end5 + +if.then2: ; preds = %entry + %3 = load i32*, i32** %dst.addr, align 8 + %4 = load i64, i64* %len.addr, align 8 + %5 = load i8**, i8*** %src.addr, align 8 + %6 = load i64, i64* %NMC.addr, align 8 + %7 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @_wchar_utf8sntowcs(i32* %3, i64 %4, i8** %5, i64 %6, %struct.__mbstate_t.512* %7, i32 1) #18 + store i64 %call, i64* %r, align 8 + %cmp3 = icmp ne i64 %call, -2 + %8 = load i64, i64* %r, align 8 + %cond = select i1 %cmp3, i64 %8, i64 0 + store i64 %cond, i64* %retval, align 8 + br label %return + +if.end5: ; preds = %entry + store i32 1, i32* %incr, align 4 + %9 = load i32*, i32** %dst.addr, align 8 + %tobool6 = icmp ne i32* %9, null + br i1 %tobool6, label %lor.lhs.false, label %if.then9 + +lor.lhs.false: ; preds = %if.end5 + %10 = load i32*, i32** %dst.addr, align 8 + %11 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %12 = bitcast %struct.__mbstate_t.512* %11 to i32* + %cmp7 = icmp eq i32* %10, %12 + br i1 %cmp7, label %if.then9, label %if.end13 + +if.then9: ; preds = %lor.lhs.false, %if.end5 + %13 = load i32*, i32** %dst.addr, align 8 + %tobool10 = icmp ne i32* %13, null + br i1 %tobool10, label %if.end12, label %if.then11 + +if.then11: ; preds = %if.then9 + store i64 -1, i64* %len.addr, align 8 + br label %if.end12 + +if.end12: ; preds = %if.then11, %if.then9 + %arraydecay = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay, i32** %dst.addr, align 8 + store i32 0, i32* %incr, align 4 + br label %if.end13 + +if.end13: ; preds = %if.end12, %lor.lhs.false + %14 = load i64, i64* %len.addr, align 8 + %15 = load i64, i64* %NMC.addr, align 8 + %cmp14 = icmp ugt i64 %14, %15 + br i1 %cmp14, label %if.then16, label %if.end17 + +if.then16: ; preds = %if.end13 + %16 = load i64, i64* %NMC.addr, align 8 + store i64 %16, i64* %len.addr, align 8 + br label %if.end17 + +if.end17: ; preds = %if.then16, %if.end13 + %17 = load i64, i64* %len.addr, align 8 + store i64 %17, i64* %count, align 8 + %18 = load i8**, i8*** %src.addr, align 8 + %19 = load i8*, i8** %18, align 8 + store i8* %19, i8** %s, align 8 + %20 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding18 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %20, i32 0, i32 9 + %21 = load i8, i8* %encoding18, align 8 + %conv19 = zext i8 %21 to i32 + %cmp20 = icmp eq i32 %conv19, 2 + br i1 %cmp20, label %while.cond, label %while.cond46 + +while.cond: ; preds = %if.end17, %if.end38 + %22 = load i64, i64* %count, align 8 + %tobool23 = icmp ne i64 %22, 0 + br i1 %tobool23, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %23 = load i8*, i8** %s, align 8 + %24 = load i8, i8* %23, align 1 + %conv24 = zext i8 %24 to i32 + store i32 %conv24, i32* %wc, align 4 + %cmp25 = icmp sge i32 %conv24, 128 + br i1 %cmp25, label %if.then27, label %if.end35 + +if.then27: ; preds = %while.body + %25 = load i32, i32* %wc, align 4 + %sub = sub nsw i32 %25, 128 + store i32 %sub, i32* %wc, align 4 + %26 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %tbl8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %26, i32 0, i32 17 + %27 = load i16*, i16** %tbl8c2wc, align 8 + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %idx8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %28, i32 0, i32 16 + %29 = load i8*, i8** %idx8c2wc, align 8 + %30 = load i32, i32* %wc, align 4 + %shr = ashr i32 %30, 3 + %idxprom = sext i32 %shr to i64 + %arrayidx = getelementptr inbounds i8, i8* %29, i64 %idxprom + %31 = load i8, i8* %arrayidx, align 1 + %conv28 = zext i8 %31 to i32 + %shl = shl i32 %conv28, 3 + %32 = load i32, i32* %wc, align 4 + %and = and i32 %32, 7 + %add = add nsw i32 %shl, %and + %idxprom29 = sext i32 %add to i64 + %arrayidx30 = getelementptr inbounds i16, i16* %27, i64 %idxprom29 + %33 = load i16, i16* %arrayidx30, align 2 + %conv31 = zext i16 %33 to i32 + store i32 %conv31, i32* %wc, align 4 + %34 = load i32, i32* %wc, align 4 + %tobool32 = icmp ne i32 %34, 0 + br i1 %tobool32, label %if.end35, label %BAD + +if.end35: ; preds = %if.then27, %while.body + %35 = load i32, i32* %wc, align 4 + %36 = load i32*, i32** %dst.addr, align 8 + store i32 %35, i32* %36, align 4 + %tobool36 = icmp ne i32 %35, 0 + br i1 %tobool36, label %if.end38, label %if.then37 + +if.then37: ; preds = %if.end35 + store i8* null, i8** %s, align 8 + br label %while.end + +if.end38: ; preds = %if.end35 + %37 = load i32, i32* %incr, align 4 + %38 = load i32*, i32** %dst.addr, align 8 + %idx.ext = sext i32 %37 to i64 + %add.ptr = getelementptr inbounds i32, i32* %38, i64 %idx.ext + store i32* %add.ptr, i32** %dst.addr, align 8 + %39 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %39, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %40 = load i64, i64* %count, align 8 + %dec = add i64 %40, -1 + store i64 %dec, i64* %count, align 8 + br label %while.cond + +while.end: ; preds = %if.then37, %while.cond + %41 = load i32*, i32** %dst.addr, align 8 + %arraydecay39 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %cmp40 = icmp ne i32* %41, %arraydecay39 + br i1 %cmp40, label %if.then42, label %if.end43 + +if.then42: ; preds = %while.end + %42 = load i8*, i8** %s, align 8 + %43 = load i8**, i8*** %src.addr, align 8 + store i8* %42, i8** %43, align 8 + br label %if.end43 + +if.end43: ; preds = %if.then42, %while.end + %44 = load i64, i64* %len.addr, align 8 + %45 = load i64, i64* %count, align 8 + %sub44 = sub i64 %44, %45 + store i64 %sub44, i64* %retval, align 8 + br label %return + +while.cond46: ; preds = %if.end17, %if.end57 + %46 = load i64, i64* %count, align 8 + %tobool47 = icmp ne i64 %46, 0 + br i1 %tobool47, label %while.body48, label %while.end62 + +while.body48: ; preds = %while.cond46 + %47 = load i8*, i8** %s, align 8 + %48 = load i8, i8* %47, align 1 + %conv49 = zext i8 %48 to i32 + %49 = load i32*, i32** %dst.addr, align 8 + store i32 %conv49, i32* %49, align 4 + %cmp50 = icmp eq i32 %conv49, 0 + br i1 %cmp50, label %if.then52, label %if.end53 + +if.then52: ; preds = %while.body48 + store i8* null, i8** %s, align 8 + br label %while.end62 + +if.end53: ; preds = %while.body48 + %50 = load i32*, i32** %dst.addr, align 8 + %51 = load i32, i32* %50, align 4 + %cmp54 = icmp sge i32 %51, 128 + br i1 %cmp54, label %BAD, label %if.end57 + +BAD: ; preds = %if.end53, %if.then27 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end57: ; preds = %if.end53 + %52 = load i8*, i8** %s, align 8 + %incdec.ptr58 = getelementptr inbounds i8, i8* %52, i32 1 + store i8* %incdec.ptr58, i8** %s, align 8 + %53 = load i32, i32* %incr, align 4 + %54 = load i32*, i32** %dst.addr, align 8 + %idx.ext59 = sext i32 %53 to i64 + %add.ptr60 = getelementptr inbounds i32, i32* %54, i64 %idx.ext59 + store i32* %add.ptr60, i32** %dst.addr, align 8 + %55 = load i64, i64* %count, align 8 + %dec61 = add i64 %55, -1 + store i64 %dec61, i64* %count, align 8 + br label %while.cond46 + +while.end62: ; preds = %if.then52, %while.cond46 + %56 = load i32*, i32** %dst.addr, align 8 + %arraydecay63 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %cmp64 = icmp ne i32* %56, %arraydecay63 + br i1 %cmp64, label %if.then66, label %if.end67 + +if.then66: ; preds = %while.end62 + %57 = load i8*, i8** %s, align 8 + %58 = load i8**, i8*** %src.addr, align 8 + store i8* %57, i8** %58, align 8 + br label %if.end67 + +if.end67: ; preds = %if.then66, %while.end62 + %59 = load i64, i64* %len.addr, align 8 + %60 = load i64, i64* %count, align 8 + %sub68 = sub i64 %59, %60 + store i64 %sub68, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end67, %BAD, %if.end43, %if.then2 + %61 = load i64, i64* %retval, align 8 + ret i64 %61 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @iswctype(i32 %wc, i32 %desc) #0 { +entry: + %wc.addr = alloca i32, align 4 + %desc.addr = alloca i32, align 4 + store i32 %wc, i32* %wc.addr, align 4 + store i32 %desc, i32* %desc.addr, align 4 + %0 = load i32, i32* %wc.addr, align 4 + %1 = load i32, i32* %desc.addr, align 4 + %2 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %call = call i32 @iswctype_l(i32 %0, i32 %1, %struct.__uclibc_locale_struct.201* %2) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %oflag) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %oflag.addr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %oflag, i32* %oflag.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %2 = load i32, i32* %oflag.addr, align 4 + %and = and i32 %conv, %2 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end9, label %if.then + +if.then: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 0 + %4 = load i16, i16* %__modeflags1, align 8 + %conv2 = zext i16 %4 to i32 + %and3 = and i32 %conv2, 2176 + %tobool4 = icmp ne i32 %and3, 0 + br i1 %tobool4, label %DO_EBADF, label %if.end + +if.end: ; preds = %if.then + %5 = load i32, i32* %oflag.addr, align 4 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 0 + %7 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %7 to i32 + %or = or i32 %conv7, %5 + %conv8 = trunc i32 %or to i16 + store i16 %conv8, i16* %__modeflags6, align 8 + br label %if.end9 + +if.end9: ; preds = %if.end, %entry + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags10, align 8 + %conv11 = zext i16 %9 to i32 + %and12 = and i32 %conv11, 32 + %tobool13 = icmp ne i32 %and12, 0 + br i1 %tobool13, label %DO_EBADF, label %if.end19 + +DO_EBADF: ; preds = %if.end9, %if.then + store i32 9, i32* @errno, align 4 + br label %ERROR + +ERROR: ; preds = %land.lhs.true, %DO_EBADF + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags15 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 0 + %11 = load i16, i16* %__modeflags15, align 8 + %conv16 = zext i16 %11 to i32 + %or17 = or i32 %conv16, 8 + %conv18 = trunc i32 %or17 to i16 + store i16 %conv18, i16* %__modeflags15, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end19: ; preds = %if.end9 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags20 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags20, align 8 + %conv21 = zext i16 %13 to i32 + %and22 = and i32 %conv21, 3 + %tobool23 = icmp ne i32 %and22, 0 + br i1 %tobool23, label %if.then24, label %if.end50 + +if.then24: ; preds = %if.end19 + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags25 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %14, i32 0, i32 0 + %15 = load i16, i16* %__modeflags25, align 8 + %conv26 = zext i16 %15 to i32 + %and27 = and i32 %conv26, 4 + %tobool28 = icmp ne i32 %and27, 0 + br i1 %tobool28, label %if.end42, label %if.then29 + +if.then29: ; preds = %if.then24 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %16, i32 0, i32 6 + %17 = load i8*, i8** %__bufread, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 5 + %19 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %17 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool30 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %tobool30, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then29 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags31 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 0 + %21 = load i16, i16* %__modeflags31, align 8 + %conv32 = zext i16 %21 to i32 + %and33 = and i32 %conv32, 2 + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %land.lhs.true, label %if.end42 + +land.lhs.true: ; preds = %lor.lhs.false, %if.then29 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %23 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags35 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %23, i32 0, i32 0 + %24 = load i16, i16* %__modeflags35, align 8 + %conv36 = zext i16 %24 to i32 + %and37 = and i32 %conv36, 1024 + %tobool38 = icmp ne i32 %and37, 0 + %25 = zext i1 %tobool38 to i64 + %cond = select i1 %tobool38, i32 2, i32 1 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32)* @fseek to i32 (%struct.__STDIO_FILE_STRUCT.568*, i64, i32)*)(%struct.__STDIO_FILE_STRUCT.568* %22, i64 0, i32 %cond) #18 + %tobool39 = icmp ne i32 %call, 0 + br i1 %tobool39, label %ERROR, label %if.end42 + +if.end42: ; preds = %lor.lhs.false, %land.lhs.true, %if.then24 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags43 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 0 + %27 = load i16, i16* %__modeflags43, align 8 + %conv44 = zext i16 %27 to i32 + %and45 = and i32 %conv44, -4 + %conv46 = trunc i32 %and45 to i16 + store i16 %conv46, i16* %__modeflags43, align 8 + %28 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %28, i32 0, i32 3 + %29 = load i8*, i8** %__bufstart, align 8 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %30, i32 0, i32 7 + store i8* %29, i8** %__bufgetc_u, align 8 + %31 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart47 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %31, i32 0, i32 3 + %32 = load i8*, i8** %__bufstart47, align 8 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos48 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %33, i32 0, i32 5 + store i8* %32, i8** %__bufpos48, align 8 + %34 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread49 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %34, i32 0, i32 6 + store i8* %32, i8** %__bufread49, align 8 + br label %if.end50 + +if.end50: ; preds = %if.end42, %if.end19 + %35 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags51 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %35, i32 0, i32 0 + %36 = load i16, i16* %__modeflags51, align 8 + %conv52 = zext i16 %36 to i32 + %or53 = or i32 %conv52, 64 + %conv54 = trunc i32 %or53 to i16 + store i16 %conv54, i16* %__modeflags51, align 8 + %37 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags55 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %37, i32 0, i32 0 + %38 = load i16, i16* %__modeflags55, align 8 + %conv56 = zext i16 %38 to i32 + %and57 = and i32 %conv56, 2816 + %tobool58 = icmp ne i32 %and57, 0 + br i1 %tobool58, label %if.end60, label %if.then59 + +if.then59: ; preds = %if.end50 + %39 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %39, i32 0, i32 4 + %40 = load i8*, i8** %__bufend, align 8 + %41 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %41, i32 0, i32 8 + store i8* %40, i8** %__bufputc_u, align 8 + br label %if.end60 + +if.end60: ; preds = %if.then59, %if.end50 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end60, %ERROR + %42 = load i32, i32* %retval, align 4 + ret i32 %42 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fseeko64(%struct.__STDIO_FILE_STRUCT.636* %stream, i64 %offset, i32 %whence) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + %pos = alloca i64, align 8 + %retval1 = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i64, i64* %offset.addr, align 8 + store i64 %0, i64* %pos, align 8 + store i32 -1, i32* %retval1, align 4 + %1 = load i32, i32* %whence.addr, align 4 + %cmp = icmp ugt i32 %1, 2 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + store i32 22, i32* @errno, align 4 + br label %if.end20 + +if.else: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %2, i32 0, i32 0 + %3 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %3 to i32 + %and = and i32 %conv, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %lor.lhs.false, label %land.lhs.true + +lor.lhs.false: ; preds = %if.else + %4 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %call = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.568*)* @__stdio_wcommit to i64 (%struct.__STDIO_FILE_STRUCT.636*)*)(%struct.__STDIO_FILE_STRUCT.636* %4) #18 + %tobool2 = icmp ne i64 %call, 0 + br i1 %tobool2, label %if.end20, label %land.lhs.true + +land.lhs.true: ; preds = %lor.lhs.false, %if.else + %5 = load i32, i32* %whence.addr, align 4 + %cmp3 = icmp ne i32 %5, 1 + br i1 %cmp3, label %land.lhs.true9, label %lor.lhs.false5 + +lor.lhs.false5: ; preds = %land.lhs.true + %6 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %call6 = call i32 @__stdio_adjust_position(%struct.__STDIO_FILE_STRUCT.636* %6, i64* %pos) #18 + %cmp7 = icmp sge i32 %call6, 0 + br i1 %cmp7, label %land.lhs.true9, label %if.end20 + +land.lhs.true9: ; preds = %lor.lhs.false5, %land.lhs.true + %7 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %8 = load i32, i32* %whence.addr, align 4 + %call10 = call i32 @__stdio_seek(%struct.__STDIO_FILE_STRUCT.636* %7, i64* %pos, i32 %8) #18 + %cmp11 = icmp sge i32 %call10, 0 + br i1 %cmp11, label %if.then13, label %if.end20 + +if.then13: ; preds = %land.lhs.true9 + %9 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags14 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %9, i32 0, i32 0 + %10 = load i16, i16* %__modeflags14, align 8 + %conv15 = zext i16 %10 to i32 + %and16 = and i32 %conv15, -72 + %conv17 = trunc i32 %and16 to i16 + store i16 %conv17, i16* %__modeflags14, align 8 + %11 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %11, i32 0, i32 3 + %12 = load i8*, i8** %__bufstart, align 8 + %13 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %13, i32 0, i32 5 + store i8* %12, i8** %__bufpos, align 8 + %14 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %14, i32 0, i32 6 + store i8* %12, i8** %__bufread, align 8 + %15 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufstart18 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %15, i32 0, i32 3 + %16 = load i8*, i8** %__bufstart18, align 8 + %17 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %17, i32 0, i32 7 + store i8* %16, i8** %__bufgetc_u, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufstart19 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %18, i32 0, i32 3 + %19 = load i8*, i8** %__bufstart19, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %20, i32 0, i32 8 + store i8* %19, i8** %__bufputc_u, align 8 + %21 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %21, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + store i32 0, i32* %__mask, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %22, i32 0, i32 1 + %arrayidx = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 0 + store i8 0, i8* %arrayidx, align 2 + store i32 0, i32* %retval1, align 4 + br label %if.end20 + +if.end20: ; preds = %lor.lhs.false, %lor.lhs.false5, %land.lhs.true9, %if.then13, %if.then + %23 = load i32, i32* %retval1, align 4 + ret i32 %23 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @fwrite_unlocked(i8* noalias %ptr, i64 %size, i64 %nmemb, %struct.__STDIO_FILE_STRUCT.621* noalias %stream) #0 { +entry: + %retval = alloca i64, align 8 + %ptr.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %nmemb.addr = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.621*, align 8 + store i8* %ptr, i8** %ptr.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + store i64 %nmemb, i64* %nmemb.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.621* %stream, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 192 + %cmp = icmp eq i32 %and, 192 + br i1 %cmp, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i32)* @__stdio_trans2w_o to i32 (%struct.__STDIO_FILE_STRUCT.621*, i32)*)(%struct.__STDIO_FILE_STRUCT.621* %2, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end13, label %land.lhs.true + +land.lhs.true: ; preds = %lor.lhs.false, %entry + %3 = load i64, i64* %size.addr, align 8 + %tobool2 = icmp ne i64 %3, 0 + %4 = load i64, i64* %nmemb.addr, align 8 + %tobool4 = icmp ne i64 %4, 0 + %or.cond = and i1 %tobool2, %tobool4 + br i1 %or.cond, label %if.then, label %if.end13 + +if.then: ; preds = %land.lhs.true + %5 = load i64, i64* %nmemb.addr, align 8 + %6 = load i64, i64* %size.addr, align 8 + %div = udiv i64 -1, %6 + %cmp5 = icmp ule i64 %5, %div + br i1 %cmp5, label %if.then7, label %if.end + +if.then7: ; preds = %if.then + %7 = load i8*, i8** %ptr.addr, align 8 + %8 = load i64, i64* %size.addr, align 8 + %9 = load i64, i64* %nmemb.addr, align 8 + %mul = mul i64 %8, %9 + %10 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %call8 = call i64 @__stdio_fwrite(i8* %7, i64 %mul, %struct.__STDIO_FILE_STRUCT.621* %10) #18 + %11 = load i64, i64* %size.addr, align 8 + %div9 = udiv i64 %call8, %11 + store i64 %div9, i64* %retval, align 8 + br label %return + +if.end: ; preds = %if.then + %12 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__modeflags10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags10, align 8 + %conv11 = zext i16 %13 to i32 + %or = or i32 %conv11, 8 + %conv12 = trunc i32 %or to i16 + store i16 %conv12, i16* %__modeflags10, align 8 + store i32 22, i32* @errno, align 4 + br label %if.end13 + +if.end13: ; preds = %if.end, %land.lhs.true, %lor.lhs.false + store i64 0, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end13, %if.then7 + %14 = load i64, i64* %retval, align 8 + ret i64 %14 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i8* noalias %format, %struct.__va_list_tag.0* %arg) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %format.addr = alloca i8*, align 8 + %arg.addr = alloca %struct.__va_list_tag.0*, align 8 + %ppfs = alloca %struct.ppfs_t.722, align 8 + %count = alloca i32, align 4 + %r = alloca i32, align 4 + %s = alloca i8*, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + store %struct.__va_list_tag.0* %arg, %struct.__va_list_tag.0** %arg.addr, align 8 + store i32 0, i32* %count, align 4 + %0 = load i8*, i8** %format.addr, align 8 + store i8* %0, i8** %s, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %1, i32 0, i32 0 + %2 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %2 to i32 + %and = and i32 %conv, 192 + %cmp = icmp eq i32 %and, 192 + br i1 %cmp, label %if.else, label %land.lhs.true + +land.lhs.true: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* %3, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %land.lhs.true + store i32 -1, i32* %count, align 4 + br label %if.end65 + +if.else: ; preds = %land.lhs.true, %entry + %4 = load i8*, i8** %format.addr, align 8 + %call2 = call i32 @_ppfs_init(%struct.ppfs_t.722* %ppfs, i8* %4) #18 + %cmp3 = icmp slt i32 %call2, 0 + br i1 %cmp3, label %if.then5, label %if.else13 + +if.then5: ; preds = %if.else + %fmtpos = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %5 = load i8*, i8** %fmtpos, align 8 + %call6 = call i64 @strlen(i8* %5) #20 + %cmp7 = icmp ugt i64 %call6, 0 + br i1 %cmp7, label %cond.true, label %cond.end + +cond.true: ; preds = %if.then5 + %fmtpos9 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %6 = load i8*, i8** %fmtpos9, align 8 + %fmtpos10 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %7 = load i8*, i8** %fmtpos10, align 8 + %call11 = call i64 @strlen(i8* %7) #20 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call12 = call i64 bitcast (i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.621*)* @__stdio_fwrite to i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.568*)*)(i8* %6, i64 %call11, %struct.__STDIO_FILE_STRUCT.568* %8) #18 + br label %cond.end + +cond.end: ; preds = %if.then5, %cond.true + %cond = phi i64 [ %call12, %cond.true ], [ 0, %if.then5 ] + store i32 -1, i32* %count, align 4 + br label %if.end65 + +if.else13: ; preds = %if.else + %9 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %arg.addr, align 8 + call void @_ppfs_prepargs(%struct.ppfs_t.722* %ppfs, %struct.__va_list_tag.0* %9) #18 + br label %do.body + +do.body: ; preds = %do.cond, %if.else13 + br label %while.cond + +while.cond: ; preds = %while.body, %do.body + %10 = load i8*, i8** %format.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv14 = sext i8 %11 to i32 + %tobool15 = icmp ne i32 %conv14, 0 + br i1 %tobool15, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %12 = load i8*, i8** %format.addr, align 8 + %13 = load i8, i8* %12, align 1 + %conv16 = sext i8 %13 to i32 + %cmp17 = icmp ne i32 %conv16, 37 + br label %land.end + +land.end: ; preds = %land.rhs, %while.cond + %14 = phi i1 [ false, %while.cond ], [ %cmp17, %land.rhs ] + %15 = load i8*, i8** %format.addr, align 8 + br i1 %14, label %while.body, label %while.end + +while.body: ; preds = %land.end + %incdec.ptr = getelementptr inbounds i8, i8* %15, i32 1 + store i8* %incdec.ptr, i8** %format.addr, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %16 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %15 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %16 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool19 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %tobool19, label %if.then20, label %if.end42 + +if.then20: ; preds = %while.end + %17 = load i8*, i8** %format.addr, align 8 + %18 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast21 = ptrtoint i8* %17 to i64 + %sub.ptr.rhs.cast22 = ptrtoint i8* %18 to i64 + %sub.ptr.sub23 = sub i64 %sub.ptr.lhs.cast21, %sub.ptr.rhs.cast22 + %cmp24 = icmp sgt i64 %sub.ptr.sub23, 0 + br i1 %cmp24, label %cond.true26, label %cond.end32 + +cond.true26: ; preds = %if.then20 + %19 = load i8*, i8** %s, align 8 + %20 = load i8*, i8** %format.addr, align 8 + %21 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast27 = ptrtoint i8* %20 to i64 + %sub.ptr.rhs.cast28 = ptrtoint i8* %21 to i64 + %sub.ptr.sub29 = sub i64 %sub.ptr.lhs.cast27, %sub.ptr.rhs.cast28 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call30 = call i64 bitcast (i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.621*)* @__stdio_fwrite to i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.568*)*)(i8* %19, i64 %sub.ptr.sub29, %struct.__STDIO_FILE_STRUCT.568* %22) #18 + br label %cond.end32 + +cond.end32: ; preds = %if.then20, %cond.true26 + %cond33 = phi i64 [ %call30, %cond.true26 ], [ 0, %if.then20 ] + %conv34 = trunc i64 %cond33 to i32 + store i32 %conv34, i32* %r, align 4 + %conv35 = sext i32 %conv34 to i64 + %23 = load i8*, i8** %format.addr, align 8 + %24 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast36 = ptrtoint i8* %23 to i64 + %sub.ptr.rhs.cast37 = ptrtoint i8* %24 to i64 + %sub.ptr.sub38 = sub i64 %sub.ptr.lhs.cast36, %sub.ptr.rhs.cast37 + %cmp39 = icmp ne i64 %conv35, %sub.ptr.sub38 + br i1 %cmp39, label %if.then41, label %if.end + +if.then41: ; preds = %cond.end32 + store i32 -1, i32* %count, align 4 + br label %do.end + +if.end: ; preds = %cond.end32 + %25 = load i32, i32* %r, align 4 + %26 = load i32, i32* %count, align 4 + %add = add nsw i32 %26, %25 + store i32 %add, i32* %count, align 4 + br label %if.end42 + +if.end42: ; preds = %if.end, %while.end + %27 = load i8*, i8** %format.addr, align 8 + %28 = load i8, i8* %27, align 1 + %tobool43 = icmp ne i8 %28, 0 + br i1 %tobool43, label %if.end45, label %do.end + +if.end45: ; preds = %if.end42 + %29 = load i8*, i8** %format.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %29, i64 1 + %30 = load i8, i8* %arrayidx, align 1 + %conv46 = sext i8 %30 to i32 + %cmp47 = icmp ne i32 %conv46, 37 + %31 = load i8*, i8** %format.addr, align 8 + %incdec.ptr50 = getelementptr inbounds i8, i8* %31, i32 1 + store i8* %incdec.ptr50, i8** %format.addr, align 8 + br i1 %cmp47, label %if.then49, label %if.else58 + +if.then49: ; preds = %if.end45 + %fmtpos51 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + store i8* %incdec.ptr50, i8** %fmtpos51, align 8 + %32 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call52 = call i32 @_do_one_spec(%struct.__STDIO_FILE_STRUCT.568* %32, %struct.ppfs_t.722* %ppfs, i32* %count) #18 + store i32 %call52, i32* %r, align 4 + %cmp53 = icmp slt i32 %call52, 0 + br i1 %cmp53, label %if.then55, label %if.end56 + +if.then55: ; preds = %if.then49 + store i32 -1, i32* %count, align 4 + br label %do.end + +if.end56: ; preds = %if.then49 + %fmtpos57 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %33 = load i8*, i8** %fmtpos57, align 8 + store i8* %33, i8** %format.addr, align 8 + store i8* %33, i8** %s, align 8 + br label %do.cond + +if.else58: ; preds = %if.end45 + store i8* %incdec.ptr50, i8** %s, align 8 + %34 = load i8*, i8** %format.addr, align 8 + %incdec.ptr60 = getelementptr inbounds i8, i8* %34, i32 1 + store i8* %incdec.ptr60, i8** %format.addr, align 8 + br label %do.cond + +do.cond: ; preds = %if.end56, %if.else58 + br label %do.body + +do.end: ; preds = %if.end42, %if.then55, %if.then41 + %arg62 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 7 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg62, i64 0, i64 0 + %arraydecay63 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_end(i8* %arraydecay63) + br label %if.end65 + +if.end65: ; preds = %cond.end, %do.end, %if.then + %35 = load i32, i32* %count, align 4 + ret i32 %35 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_do_one_spec(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, %struct.ppfs_t.722* %ppfs, i32* %count) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %count.addr = alloca i32*, align 8 + %argptr = alloca [1 x i8*], align 8 + %argtype = alloca i32*, align 8 + %ws = alloca i32*, align 8 + %mbstate = alloca %struct.__mbstate_t.512, align 4 + %slen = alloca i64, align 8 + %base = alloca i32, align 4 + %numpad = alloca i32, align 4 + %alphacase = alloca i32, align 4 + %numfill = alloca i32, align 4 + %prefix_num = alloca i32, align 4 + %padchar = alloca i8, align 1 + %buf = alloca [128 x i8], align 16 + %p = alloca %union.anon.193*, align 8 + %i = alloca i32, align 4 + %s = alloca i8*, align 8 + %nf = alloca i64, align 8 + %t = alloca i64, align 8 + %t351 = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store i32* %count, i32** %count.addr, align 8 + store i32* null, i32** %ws, align 8 + store i32 0, i32* %numfill, align 4 + store i32 11, i32* %prefix_num, align 4 + store i8 32, i8* %padchar, align 1 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %call = call i32 @_ppfs_parsespec(%struct.ppfs_t.722* %0) #18 + %1 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + call void @_ppfs_setargs(%struct.ppfs_t.722* %1) #18 + %2 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype1 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %2, i32 0, i32 6 + %arraydecay = getelementptr inbounds [9 x i32], [9 x i32]* %argtype1, i64 0, i64 0 + %3 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %3, i32 0, i32 5 + %arrayidx = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber, i64 0, i64 2 + %4 = load i8, i8* %arrayidx, align 2 + %conv = zext i8 %4 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds i32, i32* %arraydecay, i64 %idx.ext + %add.ptr2 = getelementptr inbounds i32, i32* %add.ptr, i64 -1 + store i32* %add.ptr2, i32** %argtype, align 8 + %5 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argvalue = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %5, i32 0, i32 8 + %arraydecay3 = getelementptr inbounds [9 x %union.anon.193], [9 x %union.anon.193]* %argvalue, i64 0, i64 0 + store %union.anon.193* %arraydecay3, %union.anon.193** %p, align 8 + %6 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %6, i32 0, i32 2 + %7 = load i32, i32* %maxposarg, align 4 + %cmp = icmp sgt i32 %7, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %8 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber5 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %8, i32 0, i32 5 + %arrayidx6 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber5, i64 0, i64 2 + %9 = load i8, i8* %arrayidx6, align 2 + %conv7 = zext i8 %9 to i32 + %sub = sub nsw i32 %conv7, 1 + %10 = load %union.anon.193*, %union.anon.193** %p, align 8 + %idx.ext8 = sext i32 %sub to i64 + %add.ptr9 = getelementptr inbounds %union.anon.193, %union.anon.193* %10, i64 %idx.ext8 + store %union.anon.193* %add.ptr9, %union.anon.193** %p, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %11 = load i32, i32* %i, align 4 + %12 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %12, i32 0, i32 3 + %13 = load i32, i32* %num_data_args, align 8 + %cmp10 = icmp slt i32 %11, %13 + br i1 %cmp10, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %14 = load %union.anon.193*, %union.anon.193** %p, align 8 + %incdec.ptr = getelementptr inbounds %union.anon.193, %union.anon.193* %14, i32 1 + store %union.anon.193* %incdec.ptr, %union.anon.193** %p, align 8 + %15 = bitcast %union.anon.193* %14 to i8* + %16 = load i32, i32* %i, align 4 + %idxprom = sext i32 %16 to i64 + %arrayidx12 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 %idxprom + store i8* %15, i8** %arrayidx12, align 8 + %17 = load i32, i32* %i, align 4 + %inc = add nsw i32 %17, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + store i8* null, i8** %s, align 8 + %18 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %18, i32 0, i32 4 + %19 = load i32, i32* %conv_num, align 4 + %cmp13 = icmp eq i32 %19, 0 + br i1 %cmp13, label %if.then15, label %if.end18 + +if.then15: ; preds = %for.end + %arraydecay16 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %20 = load i8*, i8** %arraydecay16, align 8 + %21 = bitcast i8* %20 to i8** + %22 = load i8*, i8** %21, align 8 + %23 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %23, i32 0, i32 1 + %_flags = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 3 + %24 = load i32, i32* %_flags, align 4 + %and = and i32 %24, 3840 + %25 = load i32*, i32** %count.addr, align 8 + %26 = load i32, i32* %25, align 4 + %conv17 = sext i32 %26 to i64 + call void @_store_inttype(i8* %22, i32 %and, i64 %conv17) #18 + store i32 0, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %for.end + %27 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num19 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %27, i32 0, i32 4 + %28 = load i32, i32* %conv_num19, align 4 + %cmp20 = icmp ule i32 %28, 7 + br i1 %cmp20, label %if.then22, label %if.else179 + +if.then22: ; preds = %if.end18 + store i32 87, i32* %alphacase, align 4 + %29 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num23 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %29, i32 0, i32 4 + %30 = load i32, i32* %conv_num23, align 4 + %sub24 = sub i32 %30, 1 + %idxprom25 = sext i32 %sub24 to i64 + %arrayidx26 = getelementptr inbounds [7 x i8], [7 x i8]* @_do_one_spec.spec_base, i64 0, i64 %idxprom25 + %31 = load i8, i8* %arrayidx26, align 1 + %conv27 = sext i8 %31 to i32 + store i32 %conv27, i32* %base, align 4 + %cmp28 = icmp eq i32 %conv27, 10 + br i1 %cmp28, label %if.then30, label %if.end42 + +if.then30: ; preds = %if.then22 + %32 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info31 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %32, i32 0, i32 1 + %_flags32 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info31, i32 0, i32 3 + %33 = load i32, i32* %_flags32, align 4 + %and33 = and i32 %33, 32 + %tobool = icmp ne i32 %and33, 0 + br i1 %tobool, label %if.then34, label %if.end35 + +if.then34: ; preds = %if.then30 + store i32 44, i32* %alphacase, align 4 + br label %if.end35 + +if.end35: ; preds = %if.then34, %if.then30 + %34 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info36 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %34, i32 0, i32 1 + %_flags37 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info36, i32 0, i32 3 + %35 = load i32, i32* %_flags37, align 4 + %and38 = and i32 %35, 64 + %tobool39 = icmp ne i32 %and38, 0 + br i1 %tobool39, label %if.then40, label %if.end42 + +if.then40: ; preds = %if.end35 + %36 = load i32, i32* %alphacase, align 4 + %or = or i32 %36, 128 + store i32 %or, i32* %alphacase, align 4 + br label %if.end42 + +if.end42: ; preds = %if.end35, %if.then40, %if.then22 + %37 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num43 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %37, i32 0, i32 4 + %38 = load i32, i32* %conv_num43, align 4 + %cmp44 = icmp ule i32 %38, 5 + br i1 %cmp44, label %if.then46, label %if.else57 + +if.then46: ; preds = %if.end42 + %39 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num47 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %39, i32 0, i32 4 + %40 = load i32, i32* %conv_num47, align 4 + %cmp48 = icmp eq i32 %40, 3 + br i1 %cmp48, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.then46 + store i32 55, i32* %alphacase, align 4 + br label %if.end51 + +if.end51: ; preds = %if.then50, %if.then46 + %41 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num52 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %41, i32 0, i32 4 + %42 = load i32, i32* %conv_num52, align 4 + %cmp53 = icmp eq i32 %42, 1 + br i1 %cmp53, label %if.then55, label %if.end59 + +if.then55: ; preds = %if.end51 + store i32 6, i32* %prefix_num, align 4 + br label %if.end59 + +if.else57: ; preds = %if.end42 + %43 = load i32, i32* %base, align 4 + %sub58 = sub nsw i32 0, %43 + store i32 %sub58, i32* %base, align 4 + br label %if.end59 + +if.end59: ; preds = %if.then55, %if.end51, %if.else57 + %44 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info60 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %44, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info60, i32 0, i32 0 + %45 = load i32, i32* %prec, align 8 + %cmp61 = icmp slt i32 %45, 0 + br i1 %cmp61, label %if.then63, label %if.end66 + +if.then63: ; preds = %if.end59 + %46 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info64 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %46, i32 0, i32 1 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info64, i32 0, i32 4 + %47 = load i32, i32* %pad, align 8 + %conv65 = trunc i32 %47 to i8 + store i8 %conv65, i8* %padchar, align 1 + br label %if.end66 + +if.end66: ; preds = %if.then63, %if.end59 + %arraydecay67 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %add.ptr68 = getelementptr inbounds i8, i8* %arraydecay67, i64 128 + %add.ptr69 = getelementptr inbounds i8, i8* %add.ptr68, i64 -1 + %48 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num70 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %48, i32 0, i32 4 + %49 = load i32, i32* %conv_num70, align 4 + %cmp71 = icmp eq i32 %49, 1 + br i1 %cmp71, label %cond.end, label %cond.false + +cond.false: ; preds = %if.end66 + %50 = load i32*, i32** %argtype, align 8 + %51 = load i32, i32* %50, align 4 + %and73 = and i32 %51, 3840 + br label %cond.end + +cond.end: ; preds = %if.end66, %cond.false + %cond = phi i32 [ %and73, %cond.false ], [ 1024, %if.end66 ] + %arraydecay74 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %52 = load i8*, i8** %arraydecay74, align 8 + %53 = load i32, i32* %base, align 4 + %call75 = call i64 @_load_inttype(i32 %cond, i8* %52, i32 %53) #18 + %54 = load i32, i32* %base, align 4 + %55 = load i32, i32* %alphacase, align 4 + %call76 = call i8* @_uintmaxtostr(i8* %add.ptr69, i64 %call75, i32 %54, i32 %55) #18 + store i8* %call76, i8** %s, align 8 + %56 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num77 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %56, i32 0, i32 4 + %57 = load i32, i32* %conv_num77, align 4 + %cmp78 = icmp ugt i32 %57, 5 + br i1 %cmp78, label %if.then80, label %if.end104 + +if.then80: ; preds = %cond.end + %58 = load i8*, i8** %s, align 8 + %59 = load i8, i8* %58, align 1 + %conv81 = sext i8 %59 to i32 + %cmp82 = icmp eq i32 %conv81, 45 + %60 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info85 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %60, i32 0, i32 1 + %_flags86 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info85, i32 0, i32 3 + %61 = load i32, i32* %_flags86, align 4 + br i1 %cmp82, label %if.then84, label %if.else89 + +if.then84: ; preds = %if.then80 + %or87 = or i32 %61, 2 + store i32 %or87, i32* %_flags86, align 4 + %62 = load i8*, i8** %s, align 8 + %incdec.ptr88 = getelementptr inbounds i8, i8* %62, i32 1 + store i8* %incdec.ptr88, i8** %s, align 8 + store i32 2, i32* %prefix_num, align 4 + br label %if.end104 + +if.else89: ; preds = %if.then80 + %and92 = and i32 %61, 2 + %tobool93 = icmp ne i32 %and92, 0 + br i1 %tobool93, label %if.then94, label %if.else95 + +if.then94: ; preds = %if.else89 + store i32 0, i32* %prefix_num, align 4 + br label %if.end104 + +if.else95: ; preds = %if.else89 + %63 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info96 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %63, i32 0, i32 1 + %_flags97 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info96, i32 0, i32 3 + %64 = load i32, i32* %_flags97, align 4 + %and98 = and i32 %64, 1 + %tobool99 = icmp ne i32 %and98, 0 + br i1 %tobool99, label %if.then100, label %if.end104 + +if.then100: ; preds = %if.else95 + store i32 4, i32* %prefix_num, align 4 + br label %if.end104 + +if.end104: ; preds = %if.then84, %if.else95, %if.then100, %if.then94, %cond.end + %arraydecay105 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %add.ptr106 = getelementptr inbounds i8, i8* %arraydecay105, i64 128 + %add.ptr107 = getelementptr inbounds i8, i8* %add.ptr106, i64 -1 + %65 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %add.ptr107 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %65 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %slen, align 8 + %66 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info108 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %66, i32 0, i32 1 + %prec109 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info108, i32 0, i32 0 + %67 = load i32, i32* %prec109, align 8 + %cmp110 = icmp slt i32 %67, 0 + br i1 %cmp110, label %cond.end116, label %cond.false113 + +cond.false113: ; preds = %if.end104 + %68 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info114 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %68, i32 0, i32 1 + %prec115 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info114, i32 0, i32 0 + %69 = load i32, i32* %prec115, align 8 + br label %cond.end116 + +cond.end116: ; preds = %if.end104, %cond.false113 + %cond117 = phi i32 [ %69, %cond.false113 ], [ 1, %if.end104 ] + store i32 %cond117, i32* %numfill, align 4 + %70 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info118 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %70, i32 0, i32 1 + %_flags119 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info118, i32 0, i32 3 + %71 = load i32, i32* %_flags119, align 4 + %and120 = and i32 %71, 16 + %tobool121 = icmp ne i32 %and120, 0 + br i1 %tobool121, label %if.then122, label %if.end149 + +if.then122: ; preds = %cond.end116 + %72 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num123 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %72, i32 0, i32 4 + %73 = load i32, i32* %conv_num123, align 4 + %cmp124 = icmp ule i32 %73, 2 + br i1 %cmp124, label %if.then126, label %if.end127 + +if.then126: ; preds = %if.then122 + store i32 6, i32* %prefix_num, align 4 + br label %if.end127 + +if.end127: ; preds = %if.then126, %if.then122 + %74 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num128 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %74, i32 0, i32 4 + %75 = load i32, i32* %conv_num128, align 4 + %cmp129 = icmp eq i32 %75, 3 + br i1 %cmp129, label %if.then131, label %if.end132 + +if.then131: ; preds = %if.end127 + store i32 9, i32* %prefix_num, align 4 + br label %if.end132 + +if.end132: ; preds = %if.then131, %if.end127 + %76 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num133 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %76, i32 0, i32 4 + %77 = load i32, i32* %conv_num133, align 4 + %cmp134 = icmp eq i32 %77, 4 + br i1 %cmp134, label %land.lhs.true, label %if.end149 + +land.lhs.true: ; preds = %if.end132 + %78 = load i32, i32* %numfill, align 4 + %conv136 = sext i32 %78 to i64 + %79 = load i64, i64* %slen, align 8 + %cmp137 = icmp ule i64 %conv136, %79 + br i1 %cmp137, label %if.then139, label %if.end149 + +if.then139: ; preds = %land.lhs.true + %80 = load i8*, i8** %s, align 8 + %81 = load i8, i8* %80, align 1 + %conv140 = sext i8 %81 to i32 + %cmp141 = icmp eq i32 %conv140, 48 + %82 = load i64, i64* %slen, align 8 + %add = add i64 %82, 1 + %cond146 = select i1 %cmp141, i64 1, i64 %add + %conv147 = trunc i64 %cond146 to i32 + store i32 %conv147, i32* %numfill, align 4 + br label %if.end149 + +if.end149: ; preds = %if.end132, %land.lhs.true, %if.then139, %cond.end116 + %83 = load i8*, i8** %s, align 8 + %84 = load i8, i8* %83, align 1 + %conv150 = sext i8 %84 to i32 + %cmp151 = icmp eq i32 %conv150, 48 + br i1 %cmp151, label %if.then153, label %if.end168 + +if.then153: ; preds = %if.end149 + %85 = load i32, i32* %prefix_num, align 4 + %cmp154 = icmp sge i32 %85, 6 + br i1 %cmp154, label %if.then156, label %if.end157 + +if.then156: ; preds = %if.then153 + store i32 11, i32* %prefix_num, align 4 + br label %if.end157 + +if.end157: ; preds = %if.then156, %if.then153 + %86 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num158 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %86, i32 0, i32 4 + %87 = load i32, i32* %conv_num158, align 4 + %cmp159 = icmp eq i32 %87, 1 + br i1 %cmp159, label %if.then161, label %if.else162 + +if.then161: ; preds = %if.end157 + store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.328, i64 0, i64 0), i8** %s, align 8 + store i64 5, i64* %slen, align 8 + store i32 0, i32* %numfill, align 4 + br label %if.end168 + +if.else162: ; preds = %if.end157 + %88 = load i32, i32* %numfill, align 4 + %cmp163 = icmp eq i32 %88, 0 + br i1 %cmp163, label %if.then165, label %if.end168 + +if.then165: ; preds = %if.else162 + store i64 0, i64* %slen, align 8 + br label %if.end168 + +if.end168: ; preds = %if.then161, %if.then165, %if.else162, %if.end149 + %89 = load i32, i32* %numfill, align 4 + %conv169 = sext i32 %89 to i64 + %90 = load i64, i64* %slen, align 8 + %cmp170 = icmp ugt i64 %conv169, %90 + %91 = load i32, i32* %numfill, align 4 + %conv173 = sext i32 %91 to i64 + %92 = load i64, i64* %slen, align 8 + %sub174 = sub i64 %conv173, %92 + %cond177 = select i1 %cmp170, i64 %sub174, i64 0 + %conv178 = trunc i64 %cond177 to i32 + store i32 %conv178, i32* %numfill, align 4 + br label %if.end278 + +if.else179: ; preds = %if.end18 + %93 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num180 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %93, i32 0, i32 4 + %94 = load i32, i32* %conv_num180, align 4 + %cmp181 = icmp ule i32 %94, 15 + br i1 %cmp181, label %if.then183, label %if.else203 + +if.then183: ; preds = %if.else179 + %95 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %arraydecay189 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %96 = load i8*, i8** %arraydecay189, align 8 + %97 = bitcast i8* %96 to double* + %98 = load double, double* %97, align 8 + %99 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info194 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %99, i32 0, i32 1 + %call195 = call i64 @_fpmaxtostr(%struct.__STDIO_FILE_STRUCT.568* %95, double %98, %struct.printf_info.720* %info194, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)* @_fp_out_narrow) #18 + store i64 %call195, i64* %nf, align 8 + %100 = load i64, i64* %nf, align 8 + %cmp196 = icmp slt i64 %100, 0 + br i1 %cmp196, label %if.then198, label %if.end199 + +if.then198: ; preds = %if.then183 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end199: ; preds = %if.then183 + %101 = load i64, i64* %nf, align 8 + %102 = load i32*, i32** %count.addr, align 8 + %103 = load i32, i32* %102, align 4 + %conv200 = sext i32 %103 to i64 + %add201 = add nsw i64 %conv200, %101 + %conv202 = trunc i64 %add201 to i32 + store i32 %conv202, i32* %102, align 4 + store i32 0, i32* %retval, align 4 + br label %return + +if.else203: ; preds = %if.else179 + %104 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num204 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %104, i32 0, i32 4 + %105 = load i32, i32* %conv_num204, align 4 + %cmp205 = icmp ule i32 %105, 17 + br i1 %cmp205, label %if.then207, label %if.else242 + +if.then207: ; preds = %if.else203 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %mbstate, i32 0, i32 0 + store i32 0, i32* %__mask, align 4 + %106 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num208 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %106, i32 0, i32 4 + %107 = load i32, i32* %conv_num208, align 4 + %cmp209 = icmp eq i32 %107, 17 + br i1 %cmp209, label %if.then211, label %if.else232 + +if.then211: ; preds = %if.then207 + %arraydecay212 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %108 = load i8*, i8** %arraydecay212, align 8 + %109 = bitcast i8* %108 to i32** + %110 = load i32*, i32** %109, align 8 + store i32* %110, i32** %ws, align 8 + %tobool213 = icmp ne i32* %110, null + br i1 %tobool213, label %if.end215, label %NULL_STRING + +if.end215: ; preds = %if.then211 + %111 = bitcast i32** %ws to i8* + %112 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info216 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %112, i32 0, i32 1 + %prec217 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info216, i32 0, i32 0 + %113 = load i32, i32* %prec217, align 8 + %cmp218 = icmp sge i32 %113, 0 + br i1 %cmp218, label %cond.true220, label %cond.end225 + +cond.true220: ; preds = %if.end215 + %114 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info221 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %114, i32 0, i32 1 + %prec222 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info221, i32 0, i32 0 + %115 = load i32, i32* %prec222, align 8 + %conv223 = sext i32 %115 to i64 + br label %cond.end225 + +cond.end225: ; preds = %if.end215, %cond.true220 + %cond226 = phi i64 [ %conv223, %cond.true220 ], [ -1, %if.end215 ] + %call227 = call i64 @wcsrtombs(i8* %111, i32** %ws, i64 %cond226, %struct.__mbstate_t.512* %mbstate) #19 + store i64 %call227, i64* %slen, align 8 + %cmp228 = icmp eq i64 %call227, -1 + br i1 %cmp228, label %if.then230, label %if.end278 + +if.then230: ; preds = %cond.end225 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else232: ; preds = %if.then207 + %arraydecay233 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay233, i8** %s, align 8 + %116 = load i8*, i8** %s, align 8 + %arraydecay234 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %117 = load i8*, i8** %arraydecay234, align 8 + %118 = bitcast i8* %117 to i32* + %119 = load i32, i32* %118, align 4 + %call235 = call i64 @wcrtomb(i8* %116, i32 %119, %struct.__mbstate_t.512* %mbstate) #19 + store i64 %call235, i64* %slen, align 8 + %120 = load i64, i64* %slen, align 8 + %cmp236 = icmp eq i64 %120, -1 + br i1 %cmp236, label %if.then238, label %if.end239 + +if.then238: ; preds = %if.else232 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end239: ; preds = %if.else232 + %121 = load i8*, i8** %s, align 8 + %122 = load i64, i64* %slen, align 8 + %arrayidx240 = getelementptr inbounds i8, i8* %121, i64 %122 + store i8 0, i8* %arrayidx240, align 1 + br label %if.end278 + +if.else242: ; preds = %if.else203 + %123 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num243 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %123, i32 0, i32 4 + %124 = load i32, i32* %conv_num243, align 4 + %cmp244 = icmp ule i32 %124, 19 + br i1 %cmp244, label %if.then246, label %if.else274 + +if.then246: ; preds = %if.else242 + %125 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num247 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %125, i32 0, i32 4 + %126 = load i32, i32* %conv_num247, align 4 + %cmp248 = icmp eq i32 %126, 19 + br i1 %cmp248, label %if.then250, label %if.else268 + +if.then250: ; preds = %if.then246 + %arraydecay251 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %127 = load i8*, i8** %arraydecay251, align 8 + %128 = bitcast i8* %127 to i8** + %129 = load i8*, i8** %128, align 8 + store i8* %129, i8** %s, align 8 + %130 = load i8*, i8** %s, align 8 + %tobool252 = icmp ne i8* %130, null + br i1 %tobool252, label %if.then253, label %NULL_STRING + +if.then253: ; preds = %if.then250 + %131 = load i8*, i8** %s, align 8 + %132 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info254 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %132, i32 0, i32 1 + %prec255 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info254, i32 0, i32 0 + %133 = load i32, i32* %prec255, align 8 + %cmp256 = icmp sge i32 %133, 0 + br i1 %cmp256, label %cond.true258, label %cond.end263 + +cond.true258: ; preds = %if.then253 + %134 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info259 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %134, i32 0, i32 1 + %prec260 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info259, i32 0, i32 0 + %135 = load i32, i32* %prec260, align 8 + %conv261 = sext i32 %135 to i64 + br label %cond.end263 + +cond.end263: ; preds = %if.then253, %cond.true258 + %cond264 = phi i64 [ %conv261, %cond.true258 ], [ -1, %if.then253 ] + %call265 = call i64 @strnlen(i8* %131, i64 %cond264) #20 + store i64 %call265, i64* %slen, align 8 + br label %if.end278 + +NULL_STRING: ; preds = %if.then250, %if.then211 + store i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.329, i64 0, i64 0), i8** %s, align 8 + store i64 6, i64* %slen, align 8 + br label %if.end278 + +if.else268: ; preds = %if.then246 + %arraydecay269 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay269, i8** %s, align 8 + %arraydecay270 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %136 = load i8*, i8** %arraydecay270, align 8 + %137 = bitcast i8* %136 to i32* + %138 = load i32, i32* %137, align 4 + %conv271 = trunc i32 %138 to i8 + %139 = load i8*, i8** %s, align 8 + store i8 %conv271, i8* %139, align 1 + %140 = load i8*, i8** %s, align 8 + %arrayidx272 = getelementptr inbounds i8, i8* %140, i64 1 + store i8 0, i8* %arrayidx272, align 1 + store i64 1, i64* %slen, align 8 + br label %if.end278 + +if.else274: ; preds = %if.else242 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end278: ; preds = %cond.end263, %NULL_STRING, %if.else268, %if.end239, %cond.end225, %if.end168 + %141 = load i64, i64* %slen, align 8 + %142 = load i32, i32* %numfill, align 4 + %conv279 = sext i32 %142 to i64 + %add280 = add i64 %141, %conv279 + store i64 %add280, i64* %t, align 8 + %143 = load i32, i32* %prefix_num, align 4 + %cmp281 = icmp ne i32 %143, 11 + br i1 %cmp281, label %if.then283, label %if.end289 + +if.then283: ; preds = %if.end278 + %144 = load i32, i32* %prefix_num, align 4 + %cmp284 = icmp slt i32 %144, 6 + %145 = zext i1 %cmp284 to i64 + %cond286 = select i1 %cmp284, i32 1, i32 2 + %conv287 = sext i32 %cond286 to i64 + %146 = load i64, i64* %t, align 8 + %add288 = add i64 %146, %conv287 + store i64 %add288, i64* %t, align 8 + br label %if.end289 + +if.end289: ; preds = %if.then283, %if.end278 + %147 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info290 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %147, i32 0, i32 1 + %width = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info290, i32 0, i32 1 + %148 = load i32, i32* %width, align 4 + %conv291 = sext i32 %148 to i64 + %149 = load i64, i64* %t, align 8 + %cmp292 = icmp ugt i64 %conv291, %149 + br i1 %cmp292, label %cond.true294, label %cond.end300 + +cond.true294: ; preds = %if.end289 + %150 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info295 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %150, i32 0, i32 1 + %width296 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info295, i32 0, i32 1 + %151 = load i32, i32* %width296, align 4 + %conv297 = sext i32 %151 to i64 + %152 = load i64, i64* %t, align 8 + %sub298 = sub i64 %conv297, %152 + br label %cond.end300 + +cond.end300: ; preds = %if.end289, %cond.true294 + %cond301 = phi i64 [ %sub298, %cond.true294 ], [ 0, %if.end289 ] + %conv302 = trunc i64 %cond301 to i32 + store i32 %conv302, i32* %numpad, align 4 + %153 = load i64, i64* %t, align 8 + %154 = load i32, i32* %numpad, align 4 + %conv303 = sext i32 %154 to i64 + %add304 = add i64 %153, %conv303 + %155 = load i32*, i32** %count.addr, align 8 + %156 = load i32, i32* %155, align 4 + %conv305 = sext i32 %156 to i64 + %add306 = add i64 %conv305, %add304 + %conv307 = trunc i64 %add306 to i32 + store i32 %conv307, i32* %155, align 4 + %157 = load i8, i8* %padchar, align 1 + %conv308 = sext i8 %157 to i32 + %cmp309 = icmp eq i32 %conv308, 48 + br i1 %cmp309, label %if.then311, label %if.end313 + +if.then311: ; preds = %cond.end300 + %158 = load i32, i32* %numpad, align 4 + %159 = load i32, i32* %numfill, align 4 + %add312 = add nsw i32 %159, %158 + store i32 %add312, i32* %numfill, align 4 + store i32 0, i32* %numpad, align 4 + br label %if.end313 + +if.end313: ; preds = %if.then311, %cond.end300 + %160 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info314 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %160, i32 0, i32 1 + %_flags315 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info314, i32 0, i32 3 + %161 = load i32, i32* %_flags315, align 4 + %and316 = and i32 %161, 8 + %tobool317 = icmp ne i32 %and316, 0 + br i1 %tobool317, label %if.end326, label %if.then318 + +if.then318: ; preds = %if.end313 + %162 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %163 = load i32, i32* %numpad, align 4 + %conv319 = sext i32 %163 to i64 + %call320 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %162, i32 32, i64 %conv319) #18 + %164 = load i32, i32* %numpad, align 4 + %conv321 = sext i32 %164 to i64 + %cmp322 = icmp ne i64 %call320, %conv321 + br i1 %cmp322, label %if.then324, label %if.end325 + +if.then324: ; preds = %if.then318 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end325: ; preds = %if.then318 + store i32 0, i32* %numpad, align 4 + br label %if.end326 + +if.end326: ; preds = %if.end325, %if.end313 + %165 = load i32, i32* %prefix_num, align 4 + %idx.ext327 = sext i32 %165 to i64 + %add.ptr328 = getelementptr inbounds i8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @_do_one_spec.prefix, i64 0, i64 0), i64 %idx.ext327 + %166 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call329 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct.__STDIO_FILE_STRUCT.568*)*)(i8* %add.ptr328, %struct.__STDIO_FILE_STRUCT.568* %166) #18 + %167 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %168 = load i32, i32* %numfill, align 4 + %conv330 = sext i32 %168 to i64 + %call331 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %167, i32 48, i64 %conv330) #18 + %169 = load i32, i32* %numfill, align 4 + %conv332 = sext i32 %169 to i64 + %cmp333 = icmp ne i64 %call331, %conv332 + br i1 %cmp333, label %if.then335, label %if.end336 + +if.then335: ; preds = %if.end326 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end336: ; preds = %if.end326 + %170 = load i32*, i32** %ws, align 8 + %tobool337 = icmp ne i32* %170, null + br i1 %tobool337, label %if.else350, label %if.then338 + +if.then338: ; preds = %if.end336 + %171 = load i64, i64* %slen, align 8 + %cmp339 = icmp ugt i64 %171, 0 + br i1 %cmp339, label %cond.true341, label %cond.end344 + +cond.true341: ; preds = %if.then338 + %172 = load i8*, i8** %s, align 8 + %173 = load i64, i64* %slen, align 8 + %174 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call342 = call i64 bitcast (i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.621*)* @__stdio_fwrite to i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.568*)*)(i8* %172, i64 %173, %struct.__STDIO_FILE_STRUCT.568* %174) #18 + br label %cond.end344 + +cond.end344: ; preds = %if.then338, %cond.true341 + %cond345 = phi i64 [ %call342, %cond.true341 ], [ 0, %if.then338 ] + %175 = load i64, i64* %slen, align 8 + %cmp346 = icmp ne i64 %cond345, %175 + br i1 %cmp346, label %if.then348, label %if.end375 + +if.then348: ; preds = %cond.end344 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else350: ; preds = %if.end336 + %__mask352 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %mbstate, i32 0, i32 0 + store i32 0, i32* %__mask352, align 4 + br label %while.cond + +while.cond: ; preds = %if.end373, %if.else350 + %176 = load i64, i64* %slen, align 8 + %tobool353 = icmp ne i64 %176, 0 + br i1 %tobool353, label %while.body, label %if.end375 + +while.body: ; preds = %while.cond + %177 = load i64, i64* %slen, align 8 + %cmp354 = icmp ule i64 %177, 128 + %178 = load i64, i64* %slen, align 8 + %cond359 = select i1 %cmp354, i64 %178, i64 128 + store i64 %cond359, i64* %t351, align 8 + %arraydecay360 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %179 = load i64, i64* %t351, align 8 + %call361 = call i64 @wcsrtombs(i8* %arraydecay360, i32** %ws, i64 %179, %struct.__mbstate_t.512* %mbstate) #19 + store i64 %call361, i64* %t351, align 8 + %180 = load i64, i64* %t351, align 8 + %cmp362 = icmp ugt i64 %180, 0 + br i1 %cmp362, label %cond.true364, label %cond.end368 + +cond.true364: ; preds = %while.body + %arraydecay365 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %181 = load i64, i64* %t351, align 8 + %182 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call366 = call i64 bitcast (i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.621*)* @__stdio_fwrite to i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.568*)*)(i8* %arraydecay365, i64 %181, %struct.__STDIO_FILE_STRUCT.568* %182) #18 + br label %cond.end368 + +cond.end368: ; preds = %while.body, %cond.true364 + %cond369 = phi i64 [ %call366, %cond.true364 ], [ 0, %while.body ] + %183 = load i64, i64* %t351, align 8 + %cmp370 = icmp ne i64 %cond369, %183 + br i1 %cmp370, label %if.then372, label %if.end373 + +if.then372: ; preds = %cond.end368 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end373: ; preds = %cond.end368 + %184 = load i64, i64* %t351, align 8 + %185 = load i64, i64* %slen, align 8 + %sub374 = sub i64 %185, %184 + store i64 %sub374, i64* %slen, align 8 + br label %while.cond + +if.end375: ; preds = %while.cond, %cond.end344 + %186 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %187 = load i32, i32* %numpad, align 4 + %conv376 = sext i32 %187 to i64 + %call377 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %186, i32 32, i64 %conv376) #18 + %188 = load i32, i32* %numpad, align 4 + %conv378 = sext i32 %188 to i64 + %cmp379 = icmp ne i64 %call377, %conv378 + br i1 %cmp379, label %if.then381, label %if.end382 + +if.then381: ; preds = %if.end375 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end382: ; preds = %if.end375 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end382, %if.then381, %if.then372, %if.then348, %if.then335, %if.then324, %if.else274, %if.then238, %if.then230, %if.end199, %if.then198, %if.then15 + %189 = load i32, i32* %retval, align 4 + ret i32 %189 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @_fp_out_narrow(%struct.__STDIO_FILE_STRUCT.568* %fp, i64 %type, i64 %len, i64 %buf) #0 { +entry: + %retval = alloca i64, align 8 + %fp.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %type.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %buf.addr = alloca i64, align 8 + %r = alloca i64, align 8 + %buflen = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %fp, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + store i64 %type, i64* %type.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store i64 %buf, i64* %buf.addr, align 8 + store i64 0, i64* %r, align 8 + %0 = load i64, i64* %type.addr, align 8 + %and = and i64 %0, 128 + %tobool = icmp ne i64 %and, 0 + br i1 %tobool, label %if.then, label %if.end12 + +if.then: ; preds = %entry + %1 = load i64, i64* %buf.addr, align 8 + %2 = inttoptr i64 %1 to i8* + %call = call i64 @strlen(i8* %2) #20 + %conv = trunc i64 %call to i32 + store i32 %conv, i32* %buflen, align 4 + %3 = load i32, i32* %buflen, align 4 + %conv1 = sext i32 %3 to i64 + %4 = load i64, i64* %len.addr, align 8 + %sub = sub nsw i64 %4, %conv1 + store i64 %sub, i64* %len.addr, align 8 + %cmp = icmp sgt i64 %sub, 0 + br i1 %cmp, label %if.then3, label %if.end10 + +if.then3: ; preds = %if.then + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + %6 = load i64, i64* %type.addr, align 8 + %and4 = and i64 %6, 127 + %conv5 = trunc i64 %and4 to i32 + %7 = load i64, i64* %len.addr, align 8 + %call6 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %5, i32 %conv5, i64 %7) #18 + store i64 %call6, i64* %r, align 8 + %8 = load i64, i64* %len.addr, align 8 + %cmp7 = icmp ne i64 %call6, %8 + br i1 %cmp7, label %if.then9, label %if.end10 + +if.then9: ; preds = %if.then3 + %9 = load i64, i64* %r, align 8 + store i64 %9, i64* %retval, align 8 + br label %return + +if.end10: ; preds = %if.then3, %if.then + %10 = load i32, i32* %buflen, align 4 + %conv11 = sext i32 %10 to i64 + store i64 %conv11, i64* %len.addr, align 8 + br label %if.end12 + +if.end12: ; preds = %if.end10, %entry + %11 = load i64, i64* %r, align 8 + %12 = load i64, i64* %len.addr, align 8 + %cmp13 = icmp sgt i64 %12, 0 + br i1 %cmp13, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end12 + %13 = load i64, i64* %buf.addr, align 8 + %14 = inttoptr i64 %13 to i8* + %15 = load i64, i64* %len.addr, align 8 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + %call15 = call i64 bitcast (i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.621*)* @__stdio_fwrite to i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.568*)*)(i8* %14, i64 %15, %struct.__STDIO_FILE_STRUCT.568* %16) #18 + br label %cond.end + +cond.end: ; preds = %if.end12, %cond.true + %cond = phi i64 [ %call15, %cond.true ], [ 0, %if.end12 ] + %add = add i64 %11, %cond + store i64 %add, i64* %retval, align 8 + br label %return + +return: ; preds = %cond.end, %if.then9 + %17 = load i64, i64* %retval, align 8 + ret i64 %17 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %padchar, i64 %numpad) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %padchar.addr = alloca i32, align 4 + %numpad.addr = alloca i64, align 8 + %todo = alloca i64, align 8 + %pad = alloca [1 x i8], align 1 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %padchar, i32* %padchar.addr, align 4 + store i64 %numpad, i64* %numpad.addr, align 8 + %0 = load i64, i64* %numpad.addr, align 8 + store i64 %0, i64* %todo, align 8 + %1 = load i32, i32* %padchar.addr, align 4 + %conv = trunc i32 %1 to i8 + %arraydecay = getelementptr inbounds [1 x i8], [1 x i8]* %pad, i64 0, i64 0 + store i8 %conv, i8* %arraydecay, align 1 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %2 = load i64, i64* %todo, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %arraydecay1 = getelementptr inbounds [1 x i8], [1 x i8]* %pad, i64 0, i64 0 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i64 bitcast (i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.621*)* @__stdio_fwrite to i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.568*)*)(i8* %arraydecay1, i64 1, %struct.__STDIO_FILE_STRUCT.568* %3) #18 + %cmp = icmp eq i64 %call, 1 + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %land.rhs + %4 = load i64, i64* %todo, align 8 + %dec = add i64 %4, -1 + store i64 %dec, i64* %todo, align 8 + br label %while.cond + +while.end: ; preds = %while.cond, %land.rhs + %5 = load i64, i64* %numpad.addr, align 8 + %6 = load i64, i64* %todo, align 8 + %sub = sub i64 %5, %6 + ret i64 %sub +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__cxa_atexit(void (i8*)* %func, i8* %arg, i8* %dso_handle) #0 { +entry: + %retval = alloca i32, align 4 + %func.addr = alloca void (i8*)*, align 8 + %arg.addr = alloca i8*, align 8 + %dso_handle.addr = alloca i8*, align 8 + %efp = alloca %struct.exit_function*, align 8 + store void (i8*)* %func, void (i8*)** %func.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i8* %dso_handle, i8** %dso_handle.addr, align 8 + %0 = load void (i8*)*, void (i8*)** %func.addr, align 8 + %cmp = icmp eq void (i8*)* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %call = call %struct.exit_function* @__new_exitfn() #18 + store %struct.exit_function* %call, %struct.exit_function** %efp, align 8 + %1 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %cmp1 = icmp eq %struct.exit_function* %1, null + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + store i32 -1, i32* %retval, align 4 + br label %return + +if.end3: ; preds = %if.end + %2 = load void (i8*)*, void (i8*)** %func.addr, align 8 + %3 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs = getelementptr inbounds %struct.exit_function, %struct.exit_function* %3, i32 0, i32 1 + %cxa_atexit = bitcast %union.anon.772* %funcs to %struct.anon.0.771* + %func4 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit, i32 0, i32 0 + store void (i8*)* %2, void (i8*)** %func4, align 8 + %4 = load i8*, i8** %arg.addr, align 8 + %5 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs5 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %5, i32 0, i32 1 + %cxa_atexit6 = bitcast %union.anon.772* %funcs5 to %struct.anon.0.771* + %arg7 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit6, i32 0, i32 1 + store i8* %4, i8** %arg7, align 8 + %6 = load i8*, i8** %dso_handle.addr, align 8 + %7 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs8 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %7, i32 0, i32 1 + %cxa_atexit9 = bitcast %union.anon.772* %funcs8 to %struct.anon.0.771* + %dso_handle10 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit9, i32 0, i32 2 + store i8* %6, i8** %dso_handle10, align 8 + %8 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %type = getelementptr inbounds %struct.exit_function, %struct.exit_function* %8, i32 0, i32 0 + store i64 3, i64* %type, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end3, %if.then2, %if.then + %9 = load i32, i32* %retval, align 4 + ret i32 %9 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @getenv(i8* nonnull %var) #0 { +entry: + %retval = alloca i8*, align 8 + %var.addr = alloca i8*, align 8 + %len = alloca i32, align 4 + %ep = alloca i8**, align 8 + store i8* %var, i8** %var.addr, align 8 + %0 = load i8**, i8*** @__environ, align 8 + store i8** %0, i8*** %ep, align 8 + %tobool = icmp ne i8** %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %var.addr, align 8 + %call = call i64 @strlen(i8* %1) #20 + %conv = trunc i64 %call to i32 + store i32 %conv, i32* %len, align 4 + br label %while.cond + +while.cond: ; preds = %if.end10, %if.end + %2 = load i8**, i8*** %ep, align 8 + %3 = load i8*, i8** %2, align 8 + %tobool1 = icmp ne i8* %3, null + br i1 %tobool1, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i8*, i8** %var.addr, align 8 + %5 = load i8**, i8*** %ep, align 8 + %6 = load i8*, i8** %5, align 8 + %7 = load i32, i32* %len, align 4 + %conv2 = sext i32 %7 to i64 + %call3 = call i32 @memcmp(i8* %4, i8* %6, i64 %conv2) #20 + %cmp = icmp eq i32 %call3, 0 + br i1 %cmp, label %land.lhs.true, label %if.end10 + +land.lhs.true: ; preds = %while.body + %8 = load i8**, i8*** %ep, align 8 + %9 = load i8*, i8** %8, align 8 + %10 = load i32, i32* %len, align 4 + %idxprom = sext i32 %10 to i64 + %arrayidx = getelementptr inbounds i8, i8* %9, i64 %idxprom + %11 = load i8, i8* %arrayidx, align 1 + %conv5 = sext i8 %11 to i32 + %cmp6 = icmp eq i32 %conv5, 61 + br i1 %cmp6, label %if.then8, label %if.end10 + +if.then8: ; preds = %land.lhs.true + %12 = load i8**, i8*** %ep, align 8 + %13 = load i8*, i8** %12, align 8 + %14 = load i32, i32* %len, align 4 + %idx.ext = sext i32 %14 to i64 + %add.ptr = getelementptr inbounds i8, i8* %13, i64 %idx.ext + %add.ptr9 = getelementptr inbounds i8, i8* %add.ptr, i64 1 + store i8* %add.ptr9, i8** %retval, align 8 + br label %return + +if.end10: ; preds = %land.lhs.true, %while.body + %15 = load i8**, i8*** %ep, align 8 + %incdec.ptr = getelementptr inbounds i8*, i8** %15, i32 1 + store i8** %incdec.ptr, i8*** %ep, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then8, %if.then + %16 = load i8*, i8** %retval, align 8 + ret i8* %16 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @memmove(i8* nonnull %s1, i8* nonnull %s2, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %p, align 8 + %2 = load i8*, i8** %p, align 8 + %3 = load i8*, i8** %s, align 8 + %cmp = icmp uge i8* %2, %3 + br i1 %cmp, label %while.cond, label %while.cond2 + +while.cond: ; preds = %entry, %while.body + %4 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %4, 0 + br i1 %tobool, label %while.body, label %if.end + +while.body: ; preds = %while.cond + %5 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %6 = load i8, i8* %5, align 1 + %7 = load i8*, i8** %s, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %7, i32 1 + store i8* %incdec.ptr1, i8** %s, align 8 + store i8 %6, i8* %7, align 1 + %8 = load i64, i64* %n.addr, align 8 + %dec = add i64 %8, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.cond2: ; preds = %entry, %while.body4 + %9 = load i64, i64* %n.addr, align 8 + %tobool3 = icmp ne i64 %9, 0 + br i1 %tobool3, label %while.body4, label %if.end + +while.body4: ; preds = %while.cond2 + %10 = load i64, i64* %n.addr, align 8 + %dec5 = add i64 %10, -1 + store i64 %dec5, i64* %n.addr, align 8 + %11 = load i8*, i8** %p, align 8 + %12 = load i64, i64* %n.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %11, i64 %12 + %13 = load i8, i8* %arrayidx, align 1 + %14 = load i8*, i8** %s, align 8 + %15 = load i64, i64* %n.addr, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %14, i64 %15 + store i8 %13, i8* %arrayidx6, align 1 + br label %while.cond2 + +if.end: ; preds = %while.cond2, %while.cond + %16 = load i8*, i8** %s1.addr, align 8 + ret i8* %16 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @mempcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r1 = alloca i8*, align 8 + %r2 = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %r1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %r2, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %2 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load i8*, i8** %r2, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %r2, align 8 + %4 = load i8, i8* %3, align 1 + %5 = load i8*, i8** %r1, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr1, i8** %r1, align 8 + store i8 %4, i8* %5, align 1 + %6 = load i64, i64* %n.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %7 = load i8*, i8** %r1, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @stpcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + br label %while.cond + +while.cond: ; preds = %while.cond, %entry + %0 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %0, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %1 = load i8, i8* %0, align 1 + %2 = load i8*, i8** %s1.addr, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %2, i32 1 + store i8* %incdec.ptr1, i8** %s1.addr, align 8 + store i8 %1, i8* %2, align 1 + %conv = sext i8 %1 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %while.cond, label %while.end + +while.end: ; preds = %while.cond + %3 = load i8*, i8** %s1.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %3, i64 -1 + ret i8* %add.ptr +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @strchr(i8* nonnull %s, i32 %c) #14 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %entry + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %2 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %2 to i8 + %conv2 = sext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + %3 = load i8*, i8** %s.addr, align 8 + br i1 %cmp, label %if.then, label %do.cond + +if.then: ; preds = %do.body + store i8* %3, i8** %retval, align 8 + br label %return + +do.cond: ; preds = %do.body + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %s.addr, align 8 + %4 = load i8, i8* %3, align 1 + %tobool = icmp ne i8 %4, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %do.end, %if.then + %5 = load i8*, i8** %retval, align 8 + ret i8* %5 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @strcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + br label %while.cond + +while.cond: ; preds = %while.cond, %entry + %1 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %1, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %2 = load i8, i8* %1, align 1 + %3 = load i8*, i8** %s, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr1, i8** %s, align 8 + store i8 %2, i8* %3, align 1 + %conv = sext i8 %2 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %while.cond, label %while.end + +while.end: ; preds = %while.cond + %4 = load i8*, i8** %s1.addr, align 8 + ret i8* %4 +} + +; Function Attrs: noinline nounwind uwtable +define noalias i8* @strdup(i8* nonnull %s1) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + %l = alloca i64, align 8 + store i8* %s1, i8** %s1.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + %call = call i64 @strlen(i8* %0) #20 + %add = add i64 %call, 1 + %mul = mul i64 %add, 1 + store i64 %mul, i64* %l, align 8 + %1 = load i64, i64* %l, align 8 + %call1 = call noalias i8* @malloc(i64 %1) #19 + store i8* %call1, i8** %s, align 8 + %cmp = icmp ne i8* %call1, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load i8*, i8** %s, align 8 + %3 = load i8*, i8** %s1.addr, align 8 + %4 = load i64, i64* %l, align 8 + %call2 = call i8* @memcpy(i8* %2, i8* %3, i64 %4) #19 + br label %if.end + +if.end: ; preds = %if.then, %entry + %5 = load i8*, i8** %s, align 8 + ret i8* %5 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @strerror(i32 %errnum) #0 { +entry: + %errnum.addr = alloca i32, align 4 + store i32 %errnum, i32* %errnum.addr, align 4 + %0 = load i32, i32* %errnum.addr, align 4 + %call = call i32 @__xpg_strerror_r(i32 %0, i8* getelementptr inbounds ([50 x i8], [50 x i8]* @strerror.buf, i64 0, i64 0), i64 50) #18 + ret i8* getelementptr inbounds ([50 x i8], [50 x i8]* @strerror.buf, i64 0, i64 0) +} + +; Function Attrs: noinline nounwind uwtable +define i64 @wcrtomb(i8* noalias %s, i32 %wc, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %s.addr = alloca i8*, align 8 + %wc.addr = alloca i32, align 4 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %wcbuf = alloca [1 x i32], align 4 + %pwc = alloca i32*, align 8 + %r = alloca i64, align 8 + %buf = alloca [16 x i8], align 16 + store i8* %s, i8** %s.addr, align 8 + store i32 %wc, i32* %wc.addr, align 4 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay, i8** %s.addr, align 8 + store i32 0, i32* %wc.addr, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %arraydecay1 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay1, i32** %pwc, align 8 + %1 = load i32, i32* %wc.addr, align 4 + %arrayidx = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32 %1, i32* %arrayidx, align 4 + %2 = load i8*, i8** %s.addr, align 8 + %3 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @wcsnrtombs(i8* %2, i32** %pwc, i64 1, i64 16, %struct.__mbstate_t.512* %3) #19 + store i64 %call, i64* %r, align 8 + %4 = load i64, i64* %r, align 8 + %cmp = icmp ne i64 %4, 0 + %5 = load i64, i64* %r, align 8 + %cond = select i1 %cmp, i64 %5, i64 1 + ret i64 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i64 @wcsrtombs(i8* noalias %dst, i32** noalias %src, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %dst.addr = alloca i8*, align 8 + %src.addr = alloca i32**, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + store i8* %dst, i8** %dst.addr, align 8 + store i32** %src, i32*** %src.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load i8*, i8** %dst.addr, align 8 + %1 = load i32**, i32*** %src.addr, align 8 + %2 = load i64, i64* %len.addr, align 8 + %3 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @wcsnrtombs(i8* %0, i32** %1, i64 -1, i64 %2, %struct.__mbstate_t.512* %3) #19 + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @iswctype_l(i32 %wc, i32 %desc, %struct.__uclibc_locale_struct.201* %locale) #0 { +entry: + %retval = alloca i32, align 4 + %wc.addr = alloca i32, align 4 + %desc.addr = alloca i32, align 4 + %locale.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %sc = alloca i32, align 4 + %n = alloca i32, align 4 + %i0 = alloca i32, align 4 + %i1 = alloca i32, align 4 + %d = alloca i8, align 1 + store i32 %wc, i32* %wc.addr, align 4 + store i32 %desc, i32* %desc.addr, align 4 + store %struct.__uclibc_locale_struct.201* %locale, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + store i8 0, i8* %d, align 1 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 9 + %1 = load i8, i8* %encoding, align 8 + %conv = zext i8 %1 to i32 + %cmp = icmp ne i32 %conv, 0 + %2 = load i32, i32* %wc.addr, align 4 + %cmp2 = icmp ule i32 %2, 127 + %or.cond = or i1 %cmp, %cmp2 + br i1 %or.cond, label %if.then, label %if.end78 + +if.then: ; preds = %entry + %3 = load i32, i32* %desc.addr, align 4 + %cmp4 = icmp ult i32 %3, 12 + br i1 %cmp4, label %if.then6, label %if.end58 + +if.then6: ; preds = %if.then + %4 = load i32, i32* %wc.addr, align 4 + %cmp7 = icmp ule i32 %4, 196607 + %5 = load i32, i32* %wc.addr, align 4 + br i1 %cmp7, label %if.then9, label %if.else + +if.then9: ; preds = %if.then6 + %and = and i32 %5, 7 + store i32 %and, i32* %sc, align 4 + %6 = load i32, i32* %wc.addr, align 4 + %shr = lshr i32 %6, 3 + store i32 %shr, i32* %wc.addr, align 4 + %7 = load i32, i32* %wc.addr, align 4 + %and10 = and i32 %7, 31 + store i32 %and10, i32* %n, align 4 + %8 = load i32, i32* %wc.addr, align 4 + %shr11 = lshr i32 %8, 5 + store i32 %shr11, i32* %wc.addr, align 4 + %9 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %tblwctype = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %9, i32 0, i32 21 + %10 = load i8*, i8** %tblwctype, align 8 + %11 = load i32, i32* %wc.addr, align 4 + %idxprom = zext i32 %11 to i64 + %arrayidx = getelementptr inbounds i8, i8* %10, i64 %idxprom + %12 = load i8, i8* %arrayidx, align 1 + %conv12 = zext i8 %12 to i32 + store i32 %conv12, i32* %i0, align 4 + %13 = load i32, i32* %i0, align 4 + %shl = shl i32 %13, 5 + store i32 %shl, i32* %i0, align 4 + %14 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %tblwctype13 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %14, i32 0, i32 21 + %15 = load i8*, i8** %tblwctype13, align 8 + %16 = load i32, i32* %i0, align 4 + %add = add i32 768, %16 + %17 = load i32, i32* %n, align 4 + %add14 = add i32 %add, %17 + %idxprom15 = zext i32 %add14 to i64 + %arrayidx16 = getelementptr inbounds i8, i8* %15, i64 %idxprom15 + %18 = load i8, i8* %arrayidx16, align 1 + %conv17 = zext i8 %18 to i32 + store i32 %conv17, i32* %i1, align 4 + %19 = load i32, i32* %i1, align 4 + %shl18 = shl i32 %19, 2 + store i32 %shl18, i32* %i1, align 4 + %20 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %tblwctype19 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %20, i32 0, i32 21 + %21 = load i8*, i8** %tblwctype19, align 8 + %22 = load i32, i32* %i1, align 4 + %add20 = add i32 2656, %22 + %23 = load i32, i32* %sc, align 4 + %shr21 = lshr i32 %23, 1 + %add22 = add i32 %add20, %shr21 + %idxprom23 = zext i32 %add22 to i64 + %arrayidx24 = getelementptr inbounds i8, i8* %21, i64 %idxprom23 + %24 = load i8, i8* %arrayidx24, align 1 + store i8 %24, i8* %d, align 1 + %25 = load i32, i32* %sc, align 4 + %and25 = and i32 %25, 1 + %tobool = icmp ne i32 %and25, 0 + %26 = load i8, i8* %d, align 1 + %conv26 = zext i8 %26 to i32 + %shr27 = ashr i32 %conv26, 4 + %and29 = and i32 %conv26, 15 + %cond = select i1 %tobool, i32 %shr27, i32 %and29 + %conv30 = trunc i32 %cond to i8 + store i8 %conv30, i8* %d, align 1 + br label %if.end50 + +if.else: ; preds = %if.then6 + %conv31 = zext i32 %5 to i64 + %sub = sub i64 %conv31, 917536 + %conv32 = trunc i64 %sub to i32 + %cmp33 = icmp ule i32 %conv32, 95 + br i1 %cmp33, label %if.then49, label %lor.lhs.false35 + +lor.lhs.false35: ; preds = %if.else + %27 = load i32, i32* %wc.addr, align 4 + %conv36 = zext i32 %27 to i64 + %cmp37 = icmp eq i64 %conv36, 917505 + br i1 %cmp37, label %if.then49, label %lor.lhs.false39 + +lor.lhs.false39: ; preds = %lor.lhs.false35 + %28 = load i32, i32* %wc.addr, align 4 + %conv40 = zext i32 %28 to i64 + %sub41 = sub i64 %conv40, 983040 + %conv42 = trunc i64 %sub41 to i32 + %conv43 = zext i32 %conv42 to i64 + %cmp44 = icmp ult i64 %conv43, 131072 + br i1 %cmp44, label %land.lhs.true, label %if.end50 + +land.lhs.true: ; preds = %lor.lhs.false39 + %29 = load i32, i32* %wc.addr, align 4 + %and46 = and i32 %29, 65535 + %cmp47 = icmp ule i32 %and46, 65533 + br i1 %cmp47, label %if.then49, label %if.end50 + +if.then49: ; preds = %land.lhs.true, %lor.lhs.false35, %if.else + store i8 6, i8* %d, align 1 + br label %if.end50 + +if.end50: ; preds = %lor.lhs.false39, %land.lhs.true, %if.then49, %if.then9 + %30 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %code2flag = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %30, i32 0, i32 20 + %31 = load i16*, i16** %code2flag, align 8 + %32 = load i8, i8* %d, align 1 + %idxprom51 = zext i8 %32 to i64 + %arrayidx52 = getelementptr inbounds i16, i16* %31, i64 %idxprom51 + %33 = load i16, i16* %arrayidx52, align 2 + %conv53 = zext i16 %33 to i32 + %34 = load i32, i32* %desc.addr, align 4 + %idxprom54 = zext i32 %34 to i64 + %arrayidx55 = getelementptr inbounds [13 x i16], [13 x i16]* @desc2flag, i64 0, i64 %idxprom54 + %35 = load i16, i16* %arrayidx55, align 2 + %conv56 = zext i16 %35 to i32 + %and57 = and i32 %conv53, %conv56 + store i32 %and57, i32* %retval, align 4 + br label %return + +if.end58: ; preds = %if.then + %36 = load i32, i32* %desc.addr, align 4 + %cmp59 = icmp eq i32 %36, 12 + br i1 %cmp59, label %cond.false68, label %cond.end76 + +cond.false68: ; preds = %if.end58 + %37 = load i32, i32* %wc.addr, align 4 + %sub69 = sub i32 %37, 48 + %cmp70 = icmp ult i32 %sub69, 10 + %38 = load i32, i32* %wc.addr, align 4 + %or = or i32 %38, 32 + %sub72 = sub i32 %or, 97 + %cmp73 = icmp ult i32 %sub72, 6 + %39 = select i1 %cmp70, i1 true, i1 %cmp73 + %lor.ext = zext i1 %39 to i32 + br label %cond.end76 + +cond.end76: ; preds = %if.end58, %cond.false68 + %cond77 = phi i32 [ %lor.ext, %cond.false68 ], [ 0, %if.end58 ] + store i32 %cond77, i32* %retval, align 4 + br label %return + +if.end78: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end78, %cond.end76, %if.end50 + %40 = load i32, i32* %retval, align 4 + ret i32 %40 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_adjust_position(%struct.__STDIO_FILE_STRUCT.636* noalias %stream, i64* %pos) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %pos.addr = alloca i64*, align 8 + %oldpos = alloca i64, align 8 + %corr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64* %pos, i64** %pos.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 3 + store i32 %and, i32* %corr, align 4 + %cmp = icmp ne i32 %and, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load i32, i32* %corr, align 4 + %dec = add nsw i32 %2, -1 + store i32 %dec, i32* %corr, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %3 = load i32, i32* %corr, align 4 + %tobool = icmp ne i32 %3, 0 + br i1 %tobool, label %land.lhs.true, label %if.end22 + +land.lhs.true: ; preds = %if.end + %4 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %4, i32 0, i32 0 + %5 = load i16, i16* %__modeflags2, align 8 + %conv3 = zext i16 %5 to i32 + %and4 = and i32 %conv3, 2048 + %tobool5 = icmp ne i32 %and4, 0 + br i1 %tobool5, label %if.then6, label %if.end22 + +if.then6: ; preds = %land.lhs.true + %6 = load i32, i32* %corr, align 4 + %cmp7 = icmp sgt i32 %6, 1 + br i1 %cmp7, label %if.then10, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then6 + %7 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %7, i32 0, i32 10 + %arrayidx = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot, i64 0, i64 1 + %8 = load i32, i32* %arrayidx, align 4 + %tobool9 = icmp ne i32 %8, 0 + br i1 %tobool9, label %if.then10, label %if.end11 + +if.then10: ; preds = %lor.lhs.false, %if.then6 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end11: ; preds = %lor.lhs.false + %9 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %9, i32 0, i32 1 + %arrayidx12 = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 1 + %10 = load i8, i8* %arrayidx12, align 1 + %conv13 = zext i8 %10 to i32 + %add = add nsw i32 1, %conv13 + %11 = load i32, i32* %corr, align 4 + %sub = sub nsw i32 %11, %add + store i32 %sub, i32* %corr, align 4 + %12 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %12, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + %13 = load i32, i32* %__mask, align 8 + %cmp14 = icmp sgt i32 %13, 0 + br i1 %cmp14, label %if.then16, label %if.end22 + +if.then16: ; preds = %if.end11 + %14 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot_width17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %14, i32 0, i32 1 + %arrayidx18 = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width17, i64 0, i64 0 + %15 = load i8, i8* %arrayidx18, align 2 + %conv19 = zext i8 %15 to i32 + %16 = load i32, i32* %corr, align 4 + %sub20 = sub nsw i32 %16, %conv19 + store i32 %sub20, i32* %corr, align 4 + br label %if.end22 + +if.end22: ; preds = %if.end11, %if.then16, %land.lhs.true, %if.end + %17 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags23 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %17, i32 0, i32 0 + %18 = load i16, i16* %__modeflags23, align 8 + %conv24 = zext i16 %18 to i32 + %and25 = and i32 %conv24, 64 + %tobool26 = icmp ne i32 %and25, 0 + %19 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + br i1 %tobool26, label %cond.true, label %cond.false + +cond.true: ; preds = %if.end22 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %19, i32 0, i32 3 + %20 = load i8*, i8** %__bufstart, align 8 + br label %cond.end + +cond.false: ; preds = %if.end22 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %19, i32 0, i32 6 + %21 = load i8*, i8** %__bufread, align 8 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i8* [ %20, %cond.true ], [ %21, %cond.false ] + %22 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %22, i32 0, i32 5 + %23 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %cond to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %23 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %24 = load i32, i32* %corr, align 4 + %conv27 = sext i32 %24 to i64 + %add28 = add nsw i64 %conv27, %sub.ptr.sub + %conv29 = trunc i64 %add28 to i32 + store i32 %conv29, i32* %corr, align 4 + %25 = load i64*, i64** %pos.addr, align 8 + %26 = load i64, i64* %25, align 8 + store i64 %26, i64* %oldpos, align 8 + %27 = load i32, i32* %corr, align 4 + %conv30 = sext i32 %27 to i64 + %28 = load i64*, i64** %pos.addr, align 8 + %29 = load i64, i64* %28, align 8 + %sub31 = sub nsw i64 %29, %conv30 + store i64 %sub31, i64* %28, align 8 + %30 = load i64, i64* %oldpos, align 8 + %cmp32 = icmp sgt i64 %sub31, %30 + br i1 %cmp32, label %if.then34, label %if.end36 + +if.then34: ; preds = %cond.end + %31 = load i32, i32* %corr, align 4 + %sub35 = sub nsw i32 0, %31 + store i32 %sub35, i32* %corr, align 4 + br label %if.end36 + +if.end36: ; preds = %if.then34, %cond.end + %32 = load i32, i32* %corr, align 4 + %cmp37 = icmp slt i32 %32, 0 + br i1 %cmp37, label %if.then39, label %if.end40 + +if.then39: ; preds = %if.end36 + store i32 75, i32* @errno, align 4 + br label %if.end40 + +if.end40: ; preds = %if.then39, %if.end36 + %33 = load i32, i32* %corr, align 4 + store i32 %33, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end40, %if.then10 + %34 = load i32, i32* %retval, align 4 + ret i32 %34 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_seek(%struct.__STDIO_FILE_STRUCT.636* %stream, i64* %pos, i32 %whence) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %pos.addr = alloca i64*, align 8 + %whence.addr = alloca i32, align 4 + %res = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64* %pos, i64** %pos.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %0, i32 0, i32 2 + %1 = load i32, i32* %__filedes, align 4 + %2 = load i64*, i64** %pos.addr, align 8 + %3 = load i64, i64* %2, align 8 + %4 = load i32, i32* %whence.addr, align 4 + %call = call i64 @lseek64(i32 %1, i64 %3, i32 %4) #19 + store i64 %call, i64* %res, align 8 + %5 = load i64, i64* %res, align 8 + %cmp = icmp sge i64 %5, 0 + %6 = load i64, i64* %res, align 8 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %entry + %7 = load i64*, i64** %pos.addr, align 8 + store i64 %6, i64* %7, align 8 + br label %cond.end + +cond.false: ; preds = %entry + %conv = trunc i64 %6 to i32 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ 0, %cond.true ], [ %conv, %cond.false ] + ret i32 %cond +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_fpmaxtostr(%struct.__STDIO_FILE_STRUCT.568* %fp, double %x, %struct.printf_info.720* %info, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)* %fp_outfunc) #0 { +entry: + %retval = alloca i64, align 8 + %fp.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %x.addr = alloca double, align 8 + %info.addr = alloca %struct.printf_info.720*, align 8 + %fp_outfunc.addr = alloca i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)*, align 8 + %round = alloca i32, align 4 + %o_exp = alloca i32, align 4 + %exp = alloca i32, align 4 + %width = alloca i32, align 4 + %preci = alloca i32, align 4 + %cnt = alloca i32, align 4 + %s = alloca i8*, align 8 + %e = alloca i8*, align 8 + %pc_fwi = alloca [24 x i64], align 16 + %ppc = alloca i64*, align 8 + %ppc_last = alloca i64*, align 8 + %exp_buf = alloca [16 x i8], align 16 + %buf = alloca [21 x i8], align 16 + %sign_str = alloca [6 x i8], align 1 + %o_mode = alloca i8, align 1 + %mode = alloca i8, align 1 + %i = alloca i32, align 4 + %j = alloca i32, align 4 + %exp_neg = alloca i32, align 4 + %i92 = alloca i32, align 4 + %j93 = alloca i32, align 4 + %digit_block = alloca i64, align 8 + %i151 = alloca i32, align 4 + %i218 = alloca i32, align 4 + %p = alloca i8*, align 8 + %j329 = alloca i32, align 4 + %exp_char = alloca i8, align 1 + %exp_sign = alloca i8, align 1 + %i359 = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %fp, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + store double %x, double* %x.addr, align 8 + store %struct.printf_info.720* %info, %struct.printf_info.720** %info.addr, align 8 + store i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)* %fp_outfunc, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)** %fp_outfunc.addr, align 8 + %0 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %width1 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %0, i32 0, i32 1 + %1 = load i32, i32* %width1, align 4 + store i32 %1, i32* %width, align 4 + %2 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %2, i32 0, i32 0 + %3 = load i32, i32* %prec, align 4 + store i32 %3, i32* %preci, align 4 + %4 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %spec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %4, i32 0, i32 2 + %5 = load i32, i32* %spec, align 4 + %conv = trunc i32 %5 to i8 + store i8 %conv, i8* %mode, align 1 + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + store i8 101, i8* %arraydecay, align 16 + %6 = load i8, i8* %mode, align 1 + %conv2 = sext i8 %6 to i32 + %or = or i32 %conv2, 32 + %cmp = icmp eq i32 %or, 97 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %7 = load i8, i8* %mode, align 1 + %conv4 = sext i8 %7 to i32 + %add = add nsw i32 %conv4, 6 + %conv5 = trunc i32 %add to i8 + store i8 %conv5, i8* %mode, align 1 + br label %if.end + +if.end: ; preds = %if.then, %entry + %8 = load i32, i32* %preci, align 4 + %cmp6 = icmp slt i32 %8, 0 + br i1 %cmp6, label %if.then8, label %if.end9 + +if.then8: ; preds = %if.end + store i32 6, i32* %preci, align 4 + br label %if.end9 + +if.end9: ; preds = %if.then8, %if.end + %arraydecay10 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 0, i8* %arraydecay10, align 1 + %9 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %showsign = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %9, i32 0, i32 3 + %bf.load = load i32, i32* %showsign, align 4 + %bf.lshr = lshr i32 %bf.load, 1 + %bf.clear = and i32 %bf.lshr, 1 + %tobool = icmp ne i32 %bf.clear, 0 + br i1 %tobool, label %if.then11, label %if.else + +if.then11: ; preds = %if.end9 + %arraydecay12 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 43, i8* %arraydecay12, align 1 + br label %if.end19 + +if.else: ; preds = %if.end9 + %10 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %space = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %10, i32 0, i32 3 + %bf.load13 = load i32, i32* %space, align 4 + %bf.clear14 = and i32 %bf.load13, 1 + %tobool15 = icmp ne i32 %bf.clear14, 0 + br i1 %tobool15, label %if.then16, label %if.end19 + +if.then16: ; preds = %if.else + %arraydecay17 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 32, i8* %arraydecay17, align 1 + br label %if.end19 + +if.end19: ; preds = %if.else, %if.then16, %if.then11 + %arraydecay20 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay20, i64 1 + store i8 0, i8* %add.ptr, align 1 + %arrayidx = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 0, i64* %arrayidx, align 8 + %11 = load double, double* %x.addr, align 8 + %12 = load double, double* %x.addr, align 8 + %cmp21 = fcmp une double %11, %12 + br i1 %cmp21, label %if.then23, label %if.end25 + +if.then23: ; preds = %if.end19 + %arrayidx24 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 8, i64* %arrayidx24, align 8 + br label %INF_NAN + +if.end25: ; preds = %if.end19 + %13 = load double, double* %x.addr, align 8 + %cmp26 = fcmp oeq double %13, 0.000000e+00 + %14 = load double, double* %x.addr, align 8 + br i1 %cmp26, label %if.then28, label %if.end34 + +if.then28: ; preds = %if.end25 + %div = fdiv double 1.000000e+00, %14 + %cmp29 = fcmp olt double %div, 0.000000e+00 + br i1 %cmp29, label %if.then31, label %if.end33 + +if.then31: ; preds = %if.then28 + %arraydecay32 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 45, i8* %arraydecay32, align 1 + br label %if.end33 + +if.end33: ; preds = %if.then31, %if.then28 + store i32 -1, i32* %exp, align 4 + br label %GENERATE_DIGITS + +if.end34: ; preds = %if.end25 + %cmp35 = fcmp olt double %14, 0.000000e+00 + br i1 %cmp35, label %if.then37, label %if.end39 + +if.then37: ; preds = %if.end34 + %arraydecay38 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 45, i8* %arraydecay38, align 1 + %15 = load double, double* %x.addr, align 8 + %fneg = fneg double %15 + store double %fneg, double* %x.addr, align 8 + br label %if.end39 + +if.end39: ; preds = %if.then37, %if.end34 + %16 = load double, double* %x.addr, align 8 + %17 = load double, double* %x.addr, align 8 + %div40 = fdiv double %17, 4.000000e+00 + %cmp41 = fcmp oeq double %16, %div40 + br i1 %cmp41, label %INF_NAN, label %if.end58 + +INF_NAN: ; preds = %if.end39, %if.then23 + %18 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %18, i32 0, i32 4 + store i32 32, i32* %pad, align 4 + %arraydecay44 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + %add.ptr45 = getelementptr inbounds i64, i64* %arraydecay44, i64 6 + store i64* %add.ptr45, i64** %ppc, align 8 + %arrayidx46 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 3 + store i64 112, i64* %arrayidx46, align 8 + %arrayidx47 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 4 + store i64 3, i64* %arrayidx47, align 16 + %19 = load i8, i8* %mode, align 1 + %conv48 = sext i8 %19 to i32 + %cmp49 = icmp slt i32 %conv48, 97 + br i1 %cmp49, label %if.then51, label %if.end54 + +if.then51: ; preds = %INF_NAN + %arrayidx52 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + %20 = load i64, i64* %arrayidx52, align 8 + %add53 = add nsw i64 %20, 4 + store i64 %add53, i64* %arrayidx52, align 8 + br label %if.end54 + +if.end54: ; preds = %if.then51, %INF_NAN + %arrayidx55 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + %21 = load i64, i64* %arrayidx55, align 8 + %add.ptr56 = getelementptr inbounds i8, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 0), i64 %21 + %22 = ptrtoint i8* %add.ptr56 to i64 + %arrayidx57 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 %22, i64* %arrayidx57, align 8 + br label %EXIT_SPECIAL + +if.end58: ; preds = %if.end39 + store i32 8, i32* %exp, align 4 + store i32 9, i32* %i, align 4 + store i32 256, i32* %j, align 4 + store i32 0, i32* %exp_neg, align 4 + %23 = load double, double* %x.addr, align 8 + %cmp59 = fcmp olt double %23, 1.000000e+08 + br i1 %cmp59, label %if.then61, label %if.end62 + +if.then61: ; preds = %if.end58 + store i32 1, i32* %exp_neg, align 4 + br label %if.end62 + +if.end62: ; preds = %if.then61, %if.end58 + br label %do.body + +do.body: ; preds = %if.end85, %if.end62 + %24 = load i32, i32* %i, align 4 + %dec = add nsw i32 %24, -1 + store i32 %dec, i32* %i, align 4 + %25 = load i32, i32* %exp_neg, align 4 + %tobool63 = icmp ne i32 %25, 0 + %26 = load double, double* %x.addr, align 8 + %27 = load i32, i32* %i, align 4 + %idxprom = sext i32 %27 to i64 + %arrayidx65 = getelementptr inbounds [9 x double], [9 x double]* @exp10_table, i64 0, i64 %idxprom + %28 = load double, double* %arrayidx65, align 8 + br i1 %tobool63, label %if.then64, label %if.else73 + +if.then64: ; preds = %do.body + %mul = fmul double %26, %28 + %cmp66 = fcmp olt double %mul, 1.000000e+09 + br i1 %cmp66, label %if.then68, label %if.end85 + +if.then68: ; preds = %if.then64 + %29 = load i32, i32* %i, align 4 + %idxprom69 = sext i32 %29 to i64 + %arrayidx70 = getelementptr inbounds [9 x double], [9 x double]* @exp10_table, i64 0, i64 %idxprom69 + %30 = load double, double* %arrayidx70, align 8 + %31 = load double, double* %x.addr, align 8 + %mul71 = fmul double %31, %30 + store double %mul71, double* %x.addr, align 8 + %32 = load i32, i32* %j, align 4 + %33 = load i32, i32* %exp, align 4 + %sub = sub nsw i32 %33, %32 + store i32 %sub, i32* %exp, align 4 + br label %if.end85 + +if.else73: ; preds = %do.body + %div76 = fdiv double %26, %28 + %cmp77 = fcmp oge double %div76, 1.000000e+08 + br i1 %cmp77, label %if.then79, label %if.end85 + +if.then79: ; preds = %if.else73 + %34 = load i32, i32* %i, align 4 + %idxprom80 = sext i32 %34 to i64 + %arrayidx81 = getelementptr inbounds [9 x double], [9 x double]* @exp10_table, i64 0, i64 %idxprom80 + %35 = load double, double* %arrayidx81, align 8 + %36 = load double, double* %x.addr, align 8 + %div82 = fdiv double %36, %35 + store double %div82, double* %x.addr, align 8 + %37 = load i32, i32* %j, align 4 + %38 = load i32, i32* %exp, align 4 + %add83 = add nsw i32 %38, %37 + store i32 %add83, i32* %exp, align 4 + br label %if.end85 + +if.end85: ; preds = %if.else73, %if.then79, %if.then64, %if.then68 + %39 = load i32, i32* %j, align 4 + %shr = ashr i32 %39, 1 + store i32 %shr, i32* %j, align 4 + %40 = load i32, i32* %i, align 4 + %tobool86 = icmp ne i32 %40, 0 + br i1 %tobool86, label %do.body, label %do.end + +do.end: ; preds = %if.end85 + %41 = load double, double* %x.addr, align 8 + %cmp87 = fcmp oge double %41, 1.000000e+09 + br i1 %cmp87, label %if.then89, label %GENERATE_DIGITS + +if.then89: ; preds = %do.end + %42 = load double, double* getelementptr inbounds ([9 x double], [9 x double]* @exp10_table, i64 0, i64 0), align 16 + %43 = load double, double* %x.addr, align 8 + %div90 = fdiv double %43, %42 + store double %div90, double* %x.addr, align 8 + %44 = load i32, i32* %exp, align 4 + %inc = add nsw i32 %44, 1 + store i32 %inc, i32* %exp, align 4 + br label %GENERATE_DIGITS + +GENERATE_DIGITS: ; preds = %do.end, %if.then89, %if.end33 + %arraydecay94 = getelementptr inbounds [21 x i8], [21 x i8]* %buf, i64 0, i64 0 + %add.ptr95 = getelementptr inbounds i8, i8* %arraydecay94, i64 2 + store i8* %add.ptr95, i8** %s, align 8 + store i32 0, i32* %i92, align 4 + br label %do.body96 + +do.body96: ; preds = %do.cond114, %GENERATE_DIGITS + %45 = load double, double* %x.addr, align 8 + %conv97 = fptoui double %45 to i64 + store i64 %conv97, i64* %digit_block, align 8 + %46 = load double, double* %x.addr, align 8 + %47 = load i64, i64* %digit_block, align 8 + %conv98 = uitofp i64 %47 to double + %sub99 = fsub double %46, %conv98 + %mul100 = fmul double %sub99, 1.000000e+09 + store double %mul100, double* %x.addr, align 8 + %48 = load i8*, i8** %s, align 8 + %add.ptr101 = getelementptr inbounds i8, i8* %48, i64 9 + store i8* %add.ptr101, i8** %s, align 8 + store i32 0, i32* %j93, align 4 + br label %do.body102 + +do.body102: ; preds = %do.body102, %do.body96 + %49 = load i64, i64* %digit_block, align 8 + %rem = urem i64 %49, 10 + %add103 = add i64 48, %rem + %conv104 = trunc i64 %add103 to i8 + %50 = load i8*, i8** %s, align 8 + %51 = load i32, i32* %j93, align 4 + %inc105 = add nsw i32 %51, 1 + store i32 %inc105, i32* %j93, align 4 + %sub106 = sub nsw i32 0, %inc105 + %idxprom107 = sext i32 %sub106 to i64 + %arrayidx108 = getelementptr inbounds i8, i8* %50, i64 %idxprom107 + store i8 %conv104, i8* %arrayidx108, align 1 + %52 = load i64, i64* %digit_block, align 8 + %div109 = udiv i64 %52, 10 + store i64 %div109, i64* %digit_block, align 8 + %53 = load i32, i32* %j93, align 4 + %cmp111 = icmp slt i32 %53, 9 + br i1 %cmp111, label %do.body102, label %do.cond114 + +do.cond114: ; preds = %do.body102 + %54 = load i32, i32* %i92, align 4 + %inc115 = add nsw i32 %54, 1 + store i32 %inc115, i32* %i92, align 4 + %cmp116 = icmp slt i32 %inc115, 2 + br i1 %cmp116, label %do.body96, label %do.end118 + +do.end118: ; preds = %do.cond114 + %55 = load i8, i8* %mode, align 1 + %conv119 = sext i8 %55 to i32 + %cmp120 = icmp slt i32 %conv119, 97 + br i1 %cmp120, label %if.then122, label %if.end130 + +if.then122: ; preds = %do.end118 + %arraydecay123 = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + %56 = load i8, i8* %arraydecay123, align 16 + %conv124 = sext i8 %56 to i32 + %sub125 = sub nsw i32 %conv124, 32 + %conv126 = trunc i32 %sub125 to i8 + store i8 %conv126, i8* %arraydecay123, align 16 + %57 = load i8, i8* %mode, align 1 + %conv127 = sext i8 %57 to i32 + %add128 = add nsw i32 %conv127, 32 + %conv129 = trunc i32 %add128 to i8 + store i8 %conv129, i8* %mode, align 1 + br label %if.end130 + +if.end130: ; preds = %if.then122, %do.end118 + %58 = load i8, i8* %mode, align 1 + store i8 %58, i8* %o_mode, align 1 + %59 = load i8, i8* %mode, align 1 + %conv131 = sext i8 %59 to i32 + %cmp132 = icmp eq i32 %conv131, 103 + %60 = load i32, i32* %preci, align 4 + %cmp134 = icmp sgt i32 %60, 0 + %or.cond = and i1 %cmp132, %cmp134 + br i1 %or.cond, label %if.then136, label %if.end138 + +if.then136: ; preds = %if.end130 + %61 = load i32, i32* %preci, align 4 + %dec137 = add nsw i32 %61, -1 + store i32 %dec137, i32* %preci, align 4 + br label %if.end138 + +if.end138: ; preds = %if.then136, %if.end130 + %62 = load i32, i32* %preci, align 4 + store i32 %62, i32* %round, align 4 + %63 = load i8, i8* %mode, align 1 + %conv139 = sext i8 %63 to i32 + %cmp140 = icmp eq i32 %conv139, 102 + br i1 %cmp140, label %if.then142, label %if.end149 + +if.then142: ; preds = %if.end138 + %64 = load i32, i32* %exp, align 4 + %65 = load i32, i32* %round, align 4 + %add143 = add nsw i32 %65, %64 + store i32 %add143, i32* %round, align 4 + %66 = load i32, i32* %round, align 4 + %cmp144 = icmp slt i32 %66, -1 + br i1 %cmp144, label %if.then146, label %if.end149 + +if.then146: ; preds = %if.then142 + %arraydecay147 = getelementptr inbounds [21 x i8], [21 x i8]* %buf, i64 0, i64 0 + %call = call i8* @memset(i8* %arraydecay147, i32 48, i64 17) #19 + store i32 -1, i32* %exp, align 4 + store i32 -1, i32* %round, align 4 + br label %if.end149 + +if.end149: ; preds = %if.then142, %if.then146, %if.end138 + %arraydecay150 = getelementptr inbounds [21 x i8], [21 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay150, i8** %s, align 8 + %67 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %67, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + store i8 0, i8* %67, align 1 + %68 = load i8*, i8** %s, align 8 + store i8 48, i8* %68, align 1 + store i32 0, i32* %i151, align 4 + %69 = load i8*, i8** %s, align 8 + %add.ptr152 = getelementptr inbounds i8, i8* %69, i64 17 + %add.ptr153 = getelementptr inbounds i8, i8* %add.ptr152, i64 1 + store i8* %add.ptr153, i8** %e, align 8 + %70 = load i32, i32* %round, align 4 + %cmp154 = icmp slt i32 %70, 17 + br i1 %cmp154, label %if.then156, label %if.end164 + +if.then156: ; preds = %if.end149 + %71 = load i8*, i8** %s, align 8 + %72 = load i32, i32* %round, align 4 + %idx.ext = sext i32 %72 to i64 + %add.ptr157 = getelementptr inbounds i8, i8* %71, i64 %idx.ext + %add.ptr158 = getelementptr inbounds i8, i8* %add.ptr157, i64 2 + store i8* %add.ptr158, i8** %e, align 8 + %73 = load i8*, i8** %e, align 8 + %74 = load i8, i8* %73, align 1 + %conv159 = sext i8 %74 to i32 + %cmp160 = icmp sge i32 %conv159, 53 + br i1 %cmp160, label %if.then162, label %if.end164 + +if.then162: ; preds = %if.then156 + store i32 1, i32* %i151, align 4 + br label %if.end164 + +if.end164: ; preds = %if.then156, %if.then162, %if.end149 + br label %do.body165 + +do.body165: ; preds = %do.body165, %lor.rhs, %if.end164 + %75 = load i32, i32* %i151, align 4 + %76 = load i8*, i8** %e, align 8 + %incdec.ptr166 = getelementptr inbounds i8, i8* %76, i32 -1 + store i8* %incdec.ptr166, i8** %e, align 8 + %77 = load i8, i8* %incdec.ptr166, align 1 + %conv167 = sext i8 %77 to i32 + %add168 = add nsw i32 %conv167, %75 + %conv169 = trunc i32 %add168 to i8 + store i8 %conv169, i8* %incdec.ptr166, align 1 + %78 = load i8*, i8** %e, align 8 + %79 = load i8, i8* %78, align 1 + %conv171 = sext i8 %79 to i32 + %cmp172 = icmp eq i32 %conv171, 48 + br i1 %cmp172, label %do.body165, label %lor.rhs + +lor.rhs: ; preds = %do.body165 + %80 = load i8*, i8** %e, align 8 + %81 = load i8, i8* %80, align 1 + %conv174 = sext i8 %81 to i32 + %cmp175 = icmp sgt i32 %conv174, 57 + br i1 %cmp175, label %do.body165, label %do.end177 + +do.end177: ; preds = %lor.rhs + %82 = load i32, i32* %exp, align 4 + store i32 %82, i32* %o_exp, align 4 + %83 = load i8*, i8** %e, align 8 + %84 = load i8*, i8** %s, align 8 + %cmp178 = icmp ule i8* %83, %84 + br i1 %cmp178, label %if.then180, label %if.else182 + +if.then180: ; preds = %do.end177 + %85 = load i32, i32* %o_exp, align 4 + %inc181 = add nsw i32 %85, 1 + store i32 %inc181, i32* %o_exp, align 4 + %86 = load i8*, i8** %s, align 8 + store i8* %86, i8** %e, align 8 + br label %if.end184 + +if.else182: ; preds = %do.end177 + %87 = load i8*, i8** %s, align 8 + %incdec.ptr183 = getelementptr inbounds i8, i8* %87, i32 1 + store i8* %incdec.ptr183, i8** %s, align 8 + br label %if.end184 + +if.end184: ; preds = %if.else182, %if.then180 + %88 = load i8*, i8** %e, align 8 + %incdec.ptr185 = getelementptr inbounds i8, i8* %88, i32 1 + store i8* %incdec.ptr185, i8** %e, align 8 + store i8 0, i8* %incdec.ptr185, align 1 + %89 = load i8, i8* %mode, align 1 + %conv186 = sext i8 %89 to i32 + %cmp187 = icmp eq i32 %conv186, 103 + %90 = load i32, i32* %o_exp, align 4 + %cmp190 = icmp sge i32 %90, -4 + %or.cond1 = and i1 %cmp187, %cmp190 + br i1 %or.cond1, label %land.lhs.true192, label %if.end197 + +land.lhs.true192: ; preds = %if.end184 + %91 = load i32, i32* %o_exp, align 4 + %92 = load i32, i32* %round, align 4 + %cmp193 = icmp sle i32 %91, %92 + br i1 %cmp193, label %if.then195, label %if.end197 + +if.then195: ; preds = %land.lhs.true192 + store i8 102, i8* %mode, align 1 + %93 = load i32, i32* %round, align 4 + %94 = load i32, i32* %o_exp, align 4 + %sub196 = sub nsw i32 %93, %94 + store i32 %sub196, i32* %preci, align 4 + br label %if.end197 + +if.end197: ; preds = %if.then195, %land.lhs.true192, %if.end184 + %95 = load i32, i32* %o_exp, align 4 + store i32 %95, i32* %exp, align 4 + %96 = load i8, i8* %mode, align 1 + %conv198 = sext i8 %96 to i32 + %cmp199 = icmp ne i32 %conv198, 102 + br i1 %cmp199, label %if.then201, label %if.end202 + +if.then201: ; preds = %if.end197 + store i32 0, i32* %o_exp, align 4 + br label %if.end202 + +if.end202: ; preds = %if.then201, %if.end197 + %97 = load i32, i32* %o_exp, align 4 + %cmp203 = icmp slt i32 %97, 0 + br i1 %cmp203, label %if.then205, label %if.end207 + +if.then205: ; preds = %if.end202 + %98 = load i8*, i8** %s, align 8 + %incdec.ptr206 = getelementptr inbounds i8, i8* %98, i32 -1 + store i8* %incdec.ptr206, i8** %s, align 8 + store i8 48, i8* %incdec.ptr206, align 1 + br label %if.end207 + +if.end207: ; preds = %if.then205, %if.end202 + %arrayidx208 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 3 + store i64 176, i64* %arrayidx208, align 8 + %arrayidx209 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 4 + store i64 1, i64* %arrayidx209, align 16 + %arraydecay210 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %add.ptr211 = getelementptr inbounds i8, i8* %arraydecay210, i64 4 + %99 = ptrtoint i8* %add.ptr211 to i64 + %arrayidx212 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 %99, i64* %arrayidx212, align 8 + %100 = load i8*, i8** %s, align 8 + %incdec.ptr213 = getelementptr inbounds i8, i8* %100, i32 1 + store i8* %incdec.ptr213, i8** %s, align 8 + %101 = load i8, i8* %100, align 1 + %arrayidx214 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 4 + store i8 %101, i8* %arrayidx214, align 1 + %arrayidx215 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 5 + store i8 0, i8* %arrayidx215, align 1 + %arraydecay216 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + %add.ptr217 = getelementptr inbounds i64, i64* %arraydecay216, i64 6 + store i64* %add.ptr217, i64** %ppc, align 8 + %102 = load i8*, i8** %e, align 8 + %103 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %102 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %103 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %conv219 = trunc i64 %sub.ptr.sub to i32 + store i32 %conv219, i32* %i218, align 4 + %104 = load i32, i32* %o_exp, align 4 + %cmp220 = icmp sge i32 %104, 0 + br i1 %cmp220, label %if.then222, label %if.end253 + +if.then222: ; preds = %if.end207 + %105 = load i64*, i64** %ppc, align 8 + %arrayidx223 = getelementptr inbounds i64, i64* %105, i64 0 + store i64 112, i64* %arrayidx223, align 8 + %106 = load i8*, i8** %s, align 8 + %107 = ptrtoint i8* %106 to i64 + %108 = load i64*, i64** %ppc, align 8 + %arrayidx224 = getelementptr inbounds i64, i64* %108, i64 2 + store i64 %107, i64* %arrayidx224, align 8 + %109 = load i32, i32* %o_exp, align 4 + %110 = load i32, i32* %i218, align 4 + %cmp225 = icmp sge i32 %109, %110 + br i1 %cmp225, label %if.then227, label %if.else241 + +if.then227: ; preds = %if.then222 + %111 = load i32, i32* %i218, align 4 + %conv228 = sext i32 %111 to i64 + %112 = load i64*, i64** %ppc, align 8 + %arrayidx229 = getelementptr inbounds i64, i64* %112, i64 1 + store i64 %conv228, i64* %arrayidx229, align 8 + %113 = load i64*, i64** %ppc, align 8 + %add.ptr230 = getelementptr inbounds i64, i64* %113, i64 3 + store i64* %add.ptr230, i64** %ppc, align 8 + %114 = load i32, i32* %i218, align 4 + %115 = load i32, i32* %o_exp, align 4 + %sub231 = sub nsw i32 %115, %114 + store i32 %sub231, i32* %o_exp, align 4 + store i32 0, i32* %i218, align 4 + %116 = load i32, i32* %o_exp, align 4 + %cmp232 = icmp sgt i32 %116, 0 + br i1 %cmp232, label %if.then234, label %if.end252 + +if.then234: ; preds = %if.then227 + %117 = load i64*, i64** %ppc, align 8 + %arrayidx235 = getelementptr inbounds i64, i64* %117, i64 0 + store i64 176, i64* %arrayidx235, align 8 + %118 = load i32, i32* %o_exp, align 4 + %conv236 = sext i32 %118 to i64 + %119 = load i64*, i64** %ppc, align 8 + %arrayidx237 = getelementptr inbounds i64, i64* %119, i64 1 + store i64 %conv236, i64* %arrayidx237, align 8 + %120 = load i64*, i64** %ppc, align 8 + %arrayidx238 = getelementptr inbounds i64, i64* %120, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx238, align 8 + %121 = load i64*, i64** %ppc, align 8 + %add.ptr239 = getelementptr inbounds i64, i64* %121, i64 3 + store i64* %add.ptr239, i64** %ppc, align 8 + br label %if.end252 + +if.else241: ; preds = %if.then222 + %122 = load i32, i32* %o_exp, align 4 + %cmp242 = icmp sgt i32 %122, 0 + br i1 %cmp242, label %if.then244, label %if.end252 + +if.then244: ; preds = %if.else241 + %123 = load i32, i32* %o_exp, align 4 + %conv245 = sext i32 %123 to i64 + %124 = load i64*, i64** %ppc, align 8 + %arrayidx246 = getelementptr inbounds i64, i64* %124, i64 1 + store i64 %conv245, i64* %arrayidx246, align 8 + %125 = load i64*, i64** %ppc, align 8 + %add.ptr247 = getelementptr inbounds i64, i64* %125, i64 3 + store i64* %add.ptr247, i64** %ppc, align 8 + %126 = load i32, i32* %o_exp, align 4 + %127 = load i8*, i8** %s, align 8 + %idx.ext248 = sext i32 %126 to i64 + %add.ptr249 = getelementptr inbounds i8, i8* %127, i64 %idx.ext248 + store i8* %add.ptr249, i8** %s, align 8 + %128 = load i32, i32* %o_exp, align 4 + %129 = load i32, i32* %i218, align 4 + %sub250 = sub nsw i32 %129, %128 + store i32 %sub250, i32* %i218, align 4 + br label %if.end252 + +if.end252: ; preds = %if.else241, %if.then244, %if.then227, %if.then234 + store i32 -1, i32* %o_exp, align 4 + br label %if.end253 + +if.end253: ; preds = %if.end252, %if.end207 + %130 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %alt = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %130, i32 0, i32 3 + %bf.load254 = load i32, i32* %alt, align 4 + %bf.lshr255 = lshr i32 %bf.load254, 4 + %bf.clear256 = and i32 %bf.lshr255, 1 + %tobool257 = icmp ne i32 %bf.clear256, 0 + %131 = load i32, i32* %i218, align 4 + %tobool258 = icmp ne i32 %131, 0 + %or.cond2 = or i1 %tobool257, %tobool258 + br i1 %or.cond2, label %if.then266, label %lor.lhs.false259 + +lor.lhs.false259: ; preds = %if.end253 + %132 = load i8, i8* %o_mode, align 1 + %conv260 = sext i8 %132 to i32 + %cmp261 = icmp ne i32 %conv260, 103 + %133 = load i32, i32* %preci, align 4 + %cmp264 = icmp sgt i32 %133, 0 + %or.cond3 = and i1 %cmp261, %cmp264 + br i1 %or.cond3, label %if.then266, label %if.end281 + +if.then266: ; preds = %lor.lhs.false259, %if.end253 + %134 = load i64*, i64** %ppc, align 8 + %arrayidx267 = getelementptr inbounds i64, i64* %134, i64 0 + store i64 112, i64* %arrayidx267, align 8 + %135 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %wide = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %135, i32 0, i32 3 + %bf.load268 = load i32, i32* %wide, align 4 + %bf.lshr269 = lshr i32 %bf.load268, 7 + %bf.clear270 = and i32 %bf.lshr269, 1 + %tobool271 = icmp ne i32 %bf.clear270, 0 + br i1 %tobool271, label %if.then272, label %if.else275 + +if.then272: ; preds = %if.then266 + %136 = load i64*, i64** %ppc, align 8 + %arrayidx273 = getelementptr inbounds i64, i64* %136, i64 1 + store i64 1, i64* %arrayidx273, align 8 + %137 = load i64*, i64** %ppc, align 8 + %arrayidx274 = getelementptr inbounds i64, i64* %137, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 16) to i64), i64* %arrayidx274, align 8 + br label %if.end279 + +if.else275: ; preds = %if.then266 + %138 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %decimal_point_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %138, i32 0, i32 26 + %139 = load i32, i32* %decimal_point_len, align 8 + %conv276 = sext i32 %139 to i64 + %140 = load i64*, i64** %ppc, align 8 + %arrayidx277 = getelementptr inbounds i64, i64* %140, i64 1 + store i64 %conv276, i64* %arrayidx277, align 8 + %141 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %decimal_point = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %141, i32 0, i32 39 + %142 = load i8*, i8** %decimal_point, align 8 + %143 = ptrtoint i8* %142 to i64 + %144 = load i64*, i64** %ppc, align 8 + %arrayidx278 = getelementptr inbounds i64, i64* %144, i64 2 + store i64 %143, i64* %arrayidx278, align 8 + br label %if.end279 + +if.end279: ; preds = %if.else275, %if.then272 + %145 = load i64*, i64** %ppc, align 8 + %add.ptr280 = getelementptr inbounds i64, i64* %145, i64 3 + store i64* %add.ptr280, i64** %ppc, align 8 + br label %if.end281 + +if.end281: ; preds = %if.end279, %lor.lhs.false259 + %146 = load i32, i32* %o_exp, align 4 + %inc282 = add nsw i32 %146, 1 + store i32 %inc282, i32* %o_exp, align 4 + %cmp283 = icmp slt i32 %inc282, 0 + br i1 %cmp283, label %if.then285, label %if.end292 + +if.then285: ; preds = %if.end281 + %147 = load i64*, i64** %ppc, align 8 + %arrayidx286 = getelementptr inbounds i64, i64* %147, i64 0 + store i64 176, i64* %arrayidx286, align 8 + %148 = load i32, i32* %o_exp, align 4 + %sub287 = sub nsw i32 0, %148 + %conv288 = sext i32 %sub287 to i64 + %149 = load i64*, i64** %ppc, align 8 + %arrayidx289 = getelementptr inbounds i64, i64* %149, i64 1 + store i64 %conv288, i64* %arrayidx289, align 8 + %150 = load i64*, i64** %ppc, align 8 + %arrayidx290 = getelementptr inbounds i64, i64* %150, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx290, align 8 + %151 = load i64*, i64** %ppc, align 8 + %add.ptr291 = getelementptr inbounds i64, i64* %151, i64 3 + store i64* %add.ptr291, i64** %ppc, align 8 + br label %if.end292 + +if.end292: ; preds = %if.then285, %if.end281 + %152 = load i32, i32* %i218, align 4 + %tobool293 = icmp ne i32 %152, 0 + br i1 %tobool293, label %if.then294, label %if.end300 + +if.then294: ; preds = %if.end292 + %153 = load i64*, i64** %ppc, align 8 + %arrayidx295 = getelementptr inbounds i64, i64* %153, i64 0 + store i64 112, i64* %arrayidx295, align 8 + %154 = load i32, i32* %i218, align 4 + %conv296 = sext i32 %154 to i64 + %155 = load i64*, i64** %ppc, align 8 + %arrayidx297 = getelementptr inbounds i64, i64* %155, i64 1 + store i64 %conv296, i64* %arrayidx297, align 8 + %156 = load i8*, i8** %s, align 8 + %157 = ptrtoint i8* %156 to i64 + %158 = load i64*, i64** %ppc, align 8 + %arrayidx298 = getelementptr inbounds i64, i64* %158, i64 2 + store i64 %157, i64* %arrayidx298, align 8 + %159 = load i64*, i64** %ppc, align 8 + %add.ptr299 = getelementptr inbounds i64, i64* %159, i64 3 + store i64* %add.ptr299, i64** %ppc, align 8 + br label %if.end300 + +if.end300: ; preds = %if.then294, %if.end292 + %160 = load i8, i8* %o_mode, align 1 + %conv301 = sext i8 %160 to i32 + %cmp302 = icmp ne i32 %conv301, 103 + br i1 %cmp302, label %if.then310, label %lor.lhs.false304 + +lor.lhs.false304: ; preds = %if.end300 + %161 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %alt305 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %161, i32 0, i32 3 + %bf.load306 = load i32, i32* %alt305, align 4 + %bf.lshr307 = lshr i32 %bf.load306, 4 + %bf.clear308 = and i32 %bf.lshr307, 1 + %tobool309 = icmp ne i32 %bf.clear308, 0 + br i1 %tobool309, label %if.then310, label %if.end322 + +if.then310: ; preds = %lor.lhs.false304, %if.end300 + %162 = load i32, i32* %o_exp, align 4 + %163 = load i32, i32* %i218, align 4 + %sub311 = sub nsw i32 %163, %162 + store i32 %sub311, i32* %i218, align 4 + %164 = load i32, i32* %i218, align 4 + %165 = load i32, i32* %preci, align 4 + %cmp312 = icmp slt i32 %164, %165 + br i1 %cmp312, label %if.then314, label %if.end322 + +if.then314: ; preds = %if.then310 + %166 = load i32, i32* %preci, align 4 + %167 = load i32, i32* %i218, align 4 + %sub315 = sub nsw i32 %166, %167 + store i32 %sub315, i32* %i218, align 4 + %168 = load i64*, i64** %ppc, align 8 + %arrayidx316 = getelementptr inbounds i64, i64* %168, i64 0 + store i64 176, i64* %arrayidx316, align 8 + %169 = load i32, i32* %i218, align 4 + %conv317 = sext i32 %169 to i64 + %170 = load i64*, i64** %ppc, align 8 + %arrayidx318 = getelementptr inbounds i64, i64* %170, i64 1 + store i64 %conv317, i64* %arrayidx318, align 8 + %171 = load i64*, i64** %ppc, align 8 + %arrayidx319 = getelementptr inbounds i64, i64* %171, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx319, align 8 + %172 = load i64*, i64** %ppc, align 8 + %add.ptr320 = getelementptr inbounds i64, i64* %172, i64 3 + store i64* %add.ptr320, i64** %ppc, align 8 + br label %if.end322 + +if.end322: ; preds = %if.then310, %if.then314, %lor.lhs.false304 + %173 = load i8, i8* %mode, align 1 + %conv323 = sext i8 %173 to i32 + %cmp324 = icmp ne i32 %conv323, 102 + br i1 %cmp324, label %if.then326, label %EXIT_SPECIAL + +if.then326: ; preds = %if.end322 + %arraydecay327 = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + %add.ptr328 = getelementptr inbounds i8, i8* %arraydecay327, i64 16 + store i8* %add.ptr328, i8** %p, align 8 + %arraydecay330 = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + %174 = load i8, i8* %arraydecay330, align 16 + store i8 %174, i8* %exp_char, align 1 + store i8 43, i8* %exp_sign, align 1 + %175 = load i32, i32* %exp, align 4 + %cmp331 = icmp slt i32 %175, 0 + br i1 %cmp331, label %if.then333, label %if.end335 + +if.then333: ; preds = %if.then326 + store i8 45, i8* %exp_sign, align 1 + %176 = load i32, i32* %exp, align 4 + %sub334 = sub nsw i32 0, %176 + store i32 %sub334, i32* %exp, align 4 + br label %if.end335 + +if.end335: ; preds = %if.then333, %if.then326 + %177 = load i8*, i8** %p, align 8 + %incdec.ptr336 = getelementptr inbounds i8, i8* %177, i32 -1 + store i8* %incdec.ptr336, i8** %p, align 8 + store i8 0, i8* %incdec.ptr336, align 1 + store i32 2, i32* %j329, align 4 + br label %do.body337 + +do.body337: ; preds = %do.body337, %if.end335 + %178 = load i32, i32* %exp, align 4 + %rem338 = srem i32 %178, 10 + %add339 = add nsw i32 48, %rem338 + %conv340 = trunc i32 %add339 to i8 + %179 = load i8*, i8** %p, align 8 + %incdec.ptr341 = getelementptr inbounds i8, i8* %179, i32 -1 + store i8* %incdec.ptr341, i8** %p, align 8 + store i8 %conv340, i8* %incdec.ptr341, align 1 + %180 = load i32, i32* %exp, align 4 + %div342 = sdiv i32 %180, 10 + store i32 %div342, i32* %exp, align 4 + %181 = load i32, i32* %j329, align 4 + %inc344 = add nsw i32 %181, 1 + store i32 %inc344, i32* %j329, align 4 + %cmp345 = icmp slt i32 %inc344, 4 + %182 = load i32, i32* %exp, align 4 + %tobool348 = icmp ne i32 %182, 0 + %183 = select i1 %cmp345, i1 true, i1 %tobool348 + br i1 %183, label %do.body337, label %do.end350 + +do.end350: ; preds = %do.body337 + %184 = load i8, i8* %exp_sign, align 1 + %185 = load i8*, i8** %p, align 8 + %incdec.ptr351 = getelementptr inbounds i8, i8* %185, i32 -1 + store i8* %incdec.ptr351, i8** %p, align 8 + store i8 %184, i8* %incdec.ptr351, align 1 + %186 = load i8, i8* %exp_char, align 1 + %187 = load i8*, i8** %p, align 8 + %incdec.ptr352 = getelementptr inbounds i8, i8* %187, i32 -1 + store i8* %incdec.ptr352, i8** %p, align 8 + store i8 %186, i8* %incdec.ptr352, align 1 + %188 = load i64*, i64** %ppc, align 8 + %arrayidx353 = getelementptr inbounds i64, i64* %188, i64 0 + store i64 112, i64* %arrayidx353, align 8 + %189 = load i32, i32* %j329, align 4 + %conv354 = sext i32 %189 to i64 + %190 = load i64*, i64** %ppc, align 8 + %arrayidx355 = getelementptr inbounds i64, i64* %190, i64 1 + store i64 %conv354, i64* %arrayidx355, align 8 + %191 = load i8*, i8** %p, align 8 + %192 = ptrtoint i8* %191 to i64 + %193 = load i64*, i64** %ppc, align 8 + %arrayidx356 = getelementptr inbounds i64, i64* %193, i64 2 + store i64 %192, i64* %arrayidx356, align 8 + %194 = load i64*, i64** %ppc, align 8 + %add.ptr357 = getelementptr inbounds i64, i64* %194, i64 3 + store i64* %add.ptr357, i64** %ppc, align 8 + br label %EXIT_SPECIAL + +EXIT_SPECIAL: ; preds = %if.end322, %do.end350, %if.end54 + %195 = load i64*, i64** %ppc, align 8 + store i64* %195, i64** %ppc_last, align 8 + %arraydecay360 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + %add.ptr361 = getelementptr inbounds i64, i64* %arraydecay360, i64 4 + store i64* %add.ptr361, i64** %ppc, align 8 + br label %do.body362 + +do.body362: ; preds = %do.body362, %EXIT_SPECIAL + %196 = load i64*, i64** %ppc, align 8 + %197 = load i64, i64* %196, align 8 + %198 = load i32, i32* %width, align 4 + %conv363 = sext i32 %198 to i64 + %sub364 = sub nsw i64 %conv363, %197 + %conv365 = trunc i64 %sub364 to i32 + store i32 %conv365, i32* %width, align 4 + %199 = load i64*, i64** %ppc, align 8 + %add.ptr366 = getelementptr inbounds i64, i64* %199, i64 3 + store i64* %add.ptr366, i64** %ppc, align 8 + %200 = load i64*, i64** %ppc, align 8 + %201 = load i64*, i64** %ppc_last, align 8 + %cmp368 = icmp ult i64* %200, %201 + br i1 %cmp368, label %do.body362, label %do.end370 + +do.end370: ; preds = %do.body362 + %arraydecay371 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + store i64* %arraydecay371, i64** %ppc, align 8 + %202 = load i64*, i64** %ppc, align 8 + %arrayidx372 = getelementptr inbounds i64, i64* %202, i64 0 + store i64 160, i64* %arrayidx372, align 8 + %arraydecay373 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %203 = load i8, i8* %arraydecay373, align 1 + %conv374 = sext i8 %203 to i32 + %cmp375 = icmp ne i32 %conv374, 0 + %conv376 = zext i1 %cmp375 to i32 + store i32 %conv376, i32* %i359, align 4 + %conv377 = sext i32 %conv376 to i64 + %204 = load i64*, i64** %ppc, align 8 + %arrayidx378 = getelementptr inbounds i64, i64* %204, i64 1 + store i64 %conv377, i64* %arrayidx378, align 8 + %arraydecay379 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %205 = ptrtoint i8* %arraydecay379 to i64 + %206 = load i64*, i64** %ppc, align 8 + %arrayidx380 = getelementptr inbounds i64, i64* %206, i64 2 + store i64 %205, i64* %arrayidx380, align 8 + %207 = load i32, i32* %i359, align 4 + %208 = load i32, i32* %width, align 4 + %sub381 = sub nsw i32 %208, %207 + store i32 %sub381, i32* %width, align 4 + %cmp382 = icmp sgt i32 %sub381, 0 + br i1 %cmp382, label %if.then384, label %if.end409 + +if.then384: ; preds = %do.end370 + %209 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %left = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %209, i32 0, i32 3 + %bf.load385 = load i32, i32* %left, align 4 + %bf.lshr386 = lshr i32 %bf.load385, 3 + %bf.clear387 = and i32 %bf.lshr386, 1 + %tobool388 = icmp ne i32 %bf.clear387, 0 + br i1 %tobool388, label %if.then389, label %if.else395 + +if.then389: ; preds = %if.then384 + %210 = load i64*, i64** %ppc_last, align 8 + %arrayidx390 = getelementptr inbounds i64, i64* %210, i64 0 + store i64 160, i64* %arrayidx390, align 8 + %211 = load i32, i32* %width, align 4 + %conv391 = sext i32 %211 to i64 + %212 = load i64*, i64** %ppc_last, align 8 + %arrayidx392 = getelementptr inbounds i64, i64* %212, i64 1 + store i64 %conv391, i64* %arrayidx392, align 8 + %213 = load i64*, i64** %ppc_last, align 8 + %arrayidx393 = getelementptr inbounds i64, i64* %213, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx393, align 8 + %214 = load i64*, i64** %ppc_last, align 8 + %add.ptr394 = getelementptr inbounds i64, i64* %214, i64 3 + store i64* %add.ptr394, i64** %ppc_last, align 8 + br label %if.end409 + +if.else395: ; preds = %if.then384 + %215 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %pad396 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %215, i32 0, i32 4 + %216 = load i32, i32* %pad396, align 4 + %cmp397 = icmp eq i32 %216, 48 + %217 = load i32, i32* %width, align 4 + %conv400 = sext i32 %217 to i64 + %218 = load i64*, i64** %ppc, align 8 + br i1 %cmp397, label %if.then399, label %if.else403 + +if.then399: ; preds = %if.else395 + %arrayidx401 = getelementptr inbounds i64, i64* %218, i64 4 + %219 = load i64, i64* %arrayidx401, align 8 + %add402 = add nsw i64 %219, %conv400 + store i64 %add402, i64* %arrayidx401, align 8 + br label %if.end409 + +if.else403: ; preds = %if.else395 + %arrayidx405 = getelementptr inbounds i64, i64* %218, i64 1 + %220 = load i64, i64* %arrayidx405, align 8 + %add406 = add nsw i64 %220, %conv400 + store i64 %add406, i64* %arrayidx405, align 8 + br label %if.end409 + +if.end409: ; preds = %if.then389, %if.else403, %if.then399, %do.end370 + store i32 0, i32* %cnt, align 4 + br label %do.body410 + +do.body410: ; preds = %if.end418, %if.end409 + %221 = load i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)*, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)** %fp_outfunc.addr, align 8 + %222 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + %223 = load i64*, i64** %ppc, align 8 + %224 = load i64, i64* %223, align 8 + %225 = load i64*, i64** %ppc, align 8 + %arrayidx411 = getelementptr inbounds i64, i64* %225, i64 1 + %226 = load i64, i64* %arrayidx411, align 8 + %227 = load i64*, i64** %ppc, align 8 + %arrayidx412 = getelementptr inbounds i64, i64* %227, i64 2 + %228 = load i64, i64* %arrayidx412, align 8 + %call413 = call i64 %221(%struct.__STDIO_FILE_STRUCT.568* %222, i64 %224, i64 %226, i64 %228) #18 + %229 = load i64*, i64** %ppc, align 8 + %arrayidx414 = getelementptr inbounds i64, i64* %229, i64 1 + %230 = load i64, i64* %arrayidx414, align 8 + %cmp415 = icmp ne i64 %call413, %230 + br i1 %cmp415, label %if.then417, label %if.end418 + +if.then417: ; preds = %do.body410 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end418: ; preds = %do.body410 + %231 = load i64*, i64** %ppc, align 8 + %arrayidx419 = getelementptr inbounds i64, i64* %231, i64 1 + %232 = load i64, i64* %arrayidx419, align 8 + %233 = load i32, i32* %cnt, align 4 + %conv420 = sext i32 %233 to i64 + %add421 = add nsw i64 %conv420, %232 + %conv422 = trunc i64 %add421 to i32 + store i32 %conv422, i32* %cnt, align 4 + %234 = load i64*, i64** %ppc, align 8 + %add.ptr423 = getelementptr inbounds i64, i64* %234, i64 3 + store i64* %add.ptr423, i64** %ppc, align 8 + %235 = load i64*, i64** %ppc, align 8 + %236 = load i64*, i64** %ppc_last, align 8 + %cmp425 = icmp ult i64* %235, %236 + br i1 %cmp425, label %do.body410, label %do.end427 + +do.end427: ; preds = %if.end418 + %237 = load i32, i32* %cnt, align 4 + %conv428 = sext i32 %237 to i64 + store i64 %conv428, i64* %retval, align 8 + br label %return + +return: ; preds = %do.end427, %if.then417 + %238 = load i64, i64* %retval, align 8 + ret i64 %238 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_fwrite(i8* noalias %buffer, i64 %bytes, %struct.__STDIO_FILE_STRUCT.621* noalias %stream) #0 { +entry: + %retval = alloca i64, align 8 + %buffer.addr = alloca i8*, align 8 + %bytes.addr = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.621*, align 8 + %pending = alloca i64, align 8 + %p = alloca i8*, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %bytes, i64* %bytes.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.621* %stream, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 512 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end63, label %if.then + +if.then: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %2, i32 0, i32 2 + %3 = load i32, i32* %__filedes, align 4 + %cmp = icmp eq i32 %3, -2 + br i1 %cmp, label %if.then2, label %if.end8 + +if.then2: ; preds = %if.then + %4 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %4, i32 0, i32 4 + %5 = load i8*, i8** %__bufend, align 8 + %6 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %6, i32 0, i32 5 + %7 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %pending, align 8 + %8 = load i64, i64* %pending, align 8 + %9 = load i64, i64* %bytes.addr, align 8 + %cmp3 = icmp ugt i64 %8, %9 + br i1 %cmp3, label %if.then5, label %if.end + +if.then5: ; preds = %if.then2 + %10 = load i64, i64* %bytes.addr, align 8 + store i64 %10, i64* %pending, align 8 + br label %if.end + +if.end: ; preds = %if.then5, %if.then2 + %11 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufpos6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %11, i32 0, i32 5 + %12 = load i8*, i8** %__bufpos6, align 8 + %13 = load i8*, i8** %buffer.addr, align 8 + %14 = load i64, i64* %pending, align 8 + %call = call i8* @memcpy(i8* %12, i8* %13, i64 %14) #19 + %15 = load i64, i64* %pending, align 8 + %16 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufpos7 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %16, i32 0, i32 5 + %17 = load i8*, i8** %__bufpos7, align 8 + %add.ptr = getelementptr inbounds i8, i8* %17, i64 %15 + store i8* %add.ptr, i8** %__bufpos7, align 8 + %18 = load i64, i64* %bytes.addr, align 8 + store i64 %18, i64* %retval, align 8 + br label %return + +if.end8: ; preds = %if.then + %19 = load i64, i64* %bytes.addr, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufend9 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %20, i32 0, i32 4 + %21 = load i8*, i8** %__bufend9, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufpos10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %22, i32 0, i32 5 + %23 = load i8*, i8** %__bufpos10, align 8 + %sub.ptr.lhs.cast11 = ptrtoint i8* %21 to i64 + %sub.ptr.rhs.cast12 = ptrtoint i8* %23 to i64 + %sub.ptr.sub13 = sub i64 %sub.ptr.lhs.cast11, %sub.ptr.rhs.cast12 + %cmp14 = icmp ule i64 %19, %sub.ptr.sub13 + %24 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufpos17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %24, i32 0, i32 5 + %25 = load i8*, i8** %__bufpos17, align 8 + br i1 %cmp14, label %if.then16, label %if.end51 + +if.then16: ; preds = %if.end8 + %26 = load i8*, i8** %buffer.addr, align 8 + %27 = load i64, i64* %bytes.addr, align 8 + %call18 = call i8* @memcpy(i8* %25, i8* %26, i64 %27) #19 + %28 = load i64, i64* %bytes.addr, align 8 + %29 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufpos19 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %29, i32 0, i32 5 + %30 = load i8*, i8** %__bufpos19, align 8 + %add.ptr20 = getelementptr inbounds i8, i8* %30, i64 %28 + store i8* %add.ptr20, i8** %__bufpos19, align 8 + %31 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__modeflags21 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %31, i32 0, i32 0 + %32 = load i16, i16* %__modeflags21, align 8 + %conv22 = zext i16 %32 to i32 + %and23 = and i32 %conv22, 256 + %tobool24 = icmp ne i32 %and23, 0 + br i1 %tobool24, label %land.lhs.true, label %if.end50 + +land.lhs.true: ; preds = %if.then16 + %33 = load i8*, i8** %buffer.addr, align 8 + %34 = load i64, i64* %bytes.addr, align 8 + %call25 = call i8* @memrchr(i8* %33, i32 10, i64 %34) #20 + %tobool26 = icmp ne i8* %call25, null + br i1 %tobool26, label %if.then27, label %if.end50 + +if.then27: ; preds = %land.lhs.true + %35 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %call28 = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.568*)* @__stdio_wcommit to i64 (%struct.__STDIO_FILE_STRUCT.621*)*)(%struct.__STDIO_FILE_STRUCT.621* %35) #18 + store i64 %call28, i64* %pending, align 8 + %cmp29 = icmp ugt i64 %call28, 0 + br i1 %cmp29, label %if.then31, label %if.end50 + +if.then31: ; preds = %if.then27 + %36 = load i64, i64* %pending, align 8 + %37 = load i64, i64* %bytes.addr, align 8 + %cmp32 = icmp ugt i64 %36, %37 + br i1 %cmp32, label %if.then34, label %if.end35 + +if.then34: ; preds = %if.then31 + %38 = load i64, i64* %bytes.addr, align 8 + store i64 %38, i64* %pending, align 8 + br label %if.end35 + +if.end35: ; preds = %if.then34, %if.then31 + %39 = load i64, i64* %bytes.addr, align 8 + %40 = load i64, i64* %pending, align 8 + %sub = sub i64 %39, %40 + %41 = load i8*, i8** %buffer.addr, align 8 + %add.ptr36 = getelementptr inbounds i8, i8* %41, i64 %sub + store i8* %add.ptr36, i8** %buffer.addr, align 8 + %42 = load i8*, i8** %buffer.addr, align 8 + %43 = load i64, i64* %pending, align 8 + %call37 = call i8* @memchr(i8* %42, i32 10, i64 %43) #20 + store i8* %call37, i8** %p, align 8 + %cmp38 = icmp ne i8* %call37, null + br i1 %cmp38, label %if.then40, label %if.end50 + +if.then40: ; preds = %if.end35 + %44 = load i8*, i8** %buffer.addr, align 8 + %45 = load i64, i64* %pending, align 8 + %add.ptr41 = getelementptr inbounds i8, i8* %44, i64 %45 + %46 = load i8*, i8** %p, align 8 + %sub.ptr.lhs.cast42 = ptrtoint i8* %add.ptr41 to i64 + %sub.ptr.rhs.cast43 = ptrtoint i8* %46 to i64 + %sub.ptr.sub44 = sub i64 %sub.ptr.lhs.cast42, %sub.ptr.rhs.cast43 + store i64 %sub.ptr.sub44, i64* %pending, align 8 + %47 = load i64, i64* %pending, align 8 + %48 = load i64, i64* %bytes.addr, align 8 + %sub45 = sub i64 %48, %47 + store i64 %sub45, i64* %bytes.addr, align 8 + %49 = load i64, i64* %pending, align 8 + %50 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufpos46 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %50, i32 0, i32 5 + %51 = load i8*, i8** %__bufpos46, align 8 + %idx.neg = sub i64 0, %49 + %add.ptr47 = getelementptr inbounds i8, i8* %51, i64 %idx.neg + store i8* %add.ptr47, i8** %__bufpos46, align 8 + br label %if.end50 + +if.end50: ; preds = %if.then27, %if.then40, %if.end35, %land.lhs.true, %if.then16 + %52 = load i64, i64* %bytes.addr, align 8 + store i64 %52, i64* %retval, align 8 + br label %return + +if.end51: ; preds = %if.end8 + %53 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %53, i32 0, i32 3 + %54 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast53 = ptrtoint i8* %25 to i64 + %sub.ptr.rhs.cast54 = ptrtoint i8* %54 to i64 + %sub.ptr.sub55 = sub i64 %sub.ptr.lhs.cast53, %sub.ptr.rhs.cast54 + %tobool56 = icmp ne i64 %sub.ptr.sub55, 0 + br i1 %tobool56, label %if.then57, label %if.end63 + +if.then57: ; preds = %if.end51 + %55 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %call58 = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.568*)* @__stdio_wcommit to i64 (%struct.__STDIO_FILE_STRUCT.621*)*)(%struct.__STDIO_FILE_STRUCT.621* %55) #18 + %tobool59 = icmp ne i64 %call58, 0 + br i1 %tobool59, label %if.then60, label %if.end63 + +if.then60: ; preds = %if.then57 + store i64 0, i64* %retval, align 8 + br label %return + +if.end63: ; preds = %if.end51, %if.then57, %entry + %56 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %57 = load i8*, i8** %buffer.addr, align 8 + %58 = load i64, i64* %bytes.addr, align 8 + %call64 = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.568*, i8*, i64)* @__stdio_WRITE to i64 (%struct.__STDIO_FILE_STRUCT.621*, i8*, i64)*)(%struct.__STDIO_FILE_STRUCT.621* %56, i8* %57, i64 %58) #18 + store i64 %call64, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end63, %if.then60, %if.end50, %if.end + %59 = load i64, i64* %retval, align 8 + ret i64 %59 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_load_inttype(i32 %desttype, i8* %src, i32 %uflag) #0 { +entry: + %retval = alloca i64, align 8 + %desttype.addr = alloca i32, align 4 + %src.addr = alloca i8*, align 8 + %uflag.addr = alloca i32, align 4 + %x = alloca i32, align 4 + %x24 = alloca i32, align 4 + store i32 %desttype, i32* %desttype.addr, align 4 + store i8* %src, i8** %src.addr, align 8 + store i32 %uflag, i32* %uflag.addr, align 4 + %0 = load i32, i32* %uflag.addr, align 4 + %cmp = icmp sge i32 %0, 0 + %1 = load i32, i32* %desttype.addr, align 4 + %and = and i32 %1, 3072 + %tobool = icmp ne i32 %and, 0 + %2 = load i8*, i8** %src.addr, align 8 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + br i1 %tobool, label %if.then1, label %if.end4 + +if.then1: ; preds = %if.then + %3 = bitcast i8* %2 to i64* + %4 = load i64, i64* %3, align 8 + store i64 %4, i64* %retval, align 8 + br label %return + +if.end4: ; preds = %if.then + %5 = bitcast i8* %2 to i32* + %6 = load i32, i32* %5, align 4 + store i32 %6, i32* %x, align 4 + %7 = load i32, i32* %desttype.addr, align 4 + %cmp5 = icmp eq i32 %7, 256 + br i1 %cmp5, label %if.then6, label %if.end8 + +if.then6: ; preds = %if.end4 + %8 = load i32, i32* %x, align 4 + %conv = trunc i32 %8 to i8 + %conv7 = zext i8 %conv to i32 + store i32 %conv7, i32* %x, align 4 + br label %if.end8 + +if.end8: ; preds = %if.then6, %if.end4 + %9 = load i32, i32* %desttype.addr, align 4 + %cmp9 = icmp eq i32 %9, 512 + br i1 %cmp9, label %if.then11, label %if.end14 + +if.then11: ; preds = %if.end8 + %10 = load i32, i32* %x, align 4 + %conv12 = trunc i32 %10 to i16 + %conv13 = zext i16 %conv12 to i32 + store i32 %conv13, i32* %x, align 4 + br label %if.end14 + +if.end14: ; preds = %if.then11, %if.end8 + %11 = load i32, i32* %x, align 4 + %conv15 = zext i32 %11 to i64 + store i64 %conv15, i64* %retval, align 8 + br label %return + +if.else: ; preds = %entry + br i1 %tobool, label %if.then18, label %if.end23 + +if.then18: ; preds = %if.else + %12 = bitcast i8* %2 to i64* + %13 = load i64, i64* %12, align 8 + store i64 %13, i64* %retval, align 8 + br label %return + +if.end23: ; preds = %if.else + %14 = bitcast i8* %2 to i32* + %15 = load i32, i32* %14, align 4 + store i32 %15, i32* %x24, align 4 + %16 = load i32, i32* %desttype.addr, align 4 + %cmp25 = icmp eq i32 %16, 256 + br i1 %cmp25, label %if.then27, label %if.end30 + +if.then27: ; preds = %if.end23 + %17 = load i32, i32* %x24, align 4 + %conv28 = trunc i32 %17 to i8 + %conv29 = sext i8 %conv28 to i32 + store i32 %conv29, i32* %x24, align 4 + br label %if.end30 + +if.end30: ; preds = %if.then27, %if.end23 + %18 = load i32, i32* %desttype.addr, align 4 + %cmp31 = icmp eq i32 %18, 512 + br i1 %cmp31, label %if.then33, label %if.end36 + +if.then33: ; preds = %if.end30 + %19 = load i32, i32* %x24, align 4 + %conv34 = trunc i32 %19 to i16 + %conv35 = sext i16 %conv34 to i32 + store i32 %conv35, i32* %x24, align 4 + br label %if.end36 + +if.end36: ; preds = %if.then33, %if.end30 + %20 = load i32, i32* %x24, align 4 + %conv37 = sext i32 %20 to i64 + store i64 %conv37, i64* %retval, align 8 + br label %return + +return: ; preds = %if.then18, %if.then1, %if.end36, %if.end14 + %21 = load i64, i64* %retval, align 8 + ret i64 %21 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_ppfs_init(%struct.ppfs_t.722* %ppfs, i8* %fmt0) #0 { +entry: + %retval = alloca i32, align 4 + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %fmt0.addr = alloca i8*, align 8 + %r = alloca i32, align 4 + %mbstate = alloca %struct.__mbstate_t.512, align 4 + %p = alloca i8*, align 8 + %p8 = alloca i32*, align 8 + %fmt = alloca i8*, align 8 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store i8* %fmt0, i8** %fmt0.addr, align 8 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %1 = bitcast %struct.ppfs_t.722* %0 to i8* + %call = call i8* @memset(i8* %1, i32 0, i64 176) #19 + %2 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %2, i32 0, i32 2 + %3 = load i32, i32* %maxposarg, align 4 + %dec = add nsw i32 %3, -1 + store i32 %dec, i32* %maxposarg, align 4 + %4 = load i8*, i8** %fmt0.addr, align 8 + %5 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %5, i32 0, i32 0 + store i8* %4, i8** %fmtpos, align 8 + %6 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %6, i32 0, i32 9 + %7 = load i8, i8* %encoding, align 8 + %conv = zext i8 %7 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %if.then, label %if.end7 + +if.then: ; preds = %entry + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %mbstate, i32 0, i32 0 + store i32 0, i32* %__mask, align 4 + %8 = load i8*, i8** %fmt0.addr, align 8 + store i8* %8, i8** %p, align 8 + %call2 = call i64 @mbsrtowcs(i32* null, i8** %p, i64 -1, %struct.__mbstate_t.512* %mbstate) #19 + %cmp3 = icmp eq i64 %call2, -1 + br i1 %cmp3, label %if.then5, label %if.end7 + +if.then5: ; preds = %if.then + %9 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos6 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %9, i32 0, i32 0 + store i8* getelementptr inbounds ([33 x i8], [33 x i8]* @_ppfs_init.invalid_mbs, i64 0, i64 0), i8** %fmtpos6, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end7: ; preds = %if.then, %entry + %10 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %10, i32 0, i32 6 + %arraydecay = getelementptr inbounds [9 x i32], [9 x i32]* %argtype, i64 0, i64 0 + store i32* %arraydecay, i32** %p8, align 8 + store i32 9, i32* %r, align 4 + br label %do.body + +do.body: ; preds = %do.body, %if.end7 + %11 = load i32*, i32** %p8, align 8 + %incdec.ptr = getelementptr inbounds i32, i32* %11, i32 1 + store i32* %incdec.ptr, i32** %p8, align 8 + store i32 8, i32* %11, align 4 + %12 = load i32, i32* %r, align 4 + %dec9 = add nsw i32 %12, -1 + store i32 %dec9, i32* %r, align 4 + %tobool = icmp ne i32 %dec9, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.body + %13 = load i8*, i8** %fmt0.addr, align 8 + store i8* %13, i8** %fmt, align 8 + br label %while.cond + +while.cond: ; preds = %if.end27, %do.end + %14 = load i8*, i8** %fmt, align 8 + %15 = load i8, i8* %14, align 1 + %tobool10 = icmp ne i8 %15, 0 + br i1 %tobool10, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %16 = load i8*, i8** %fmt, align 8 + %17 = load i8, i8* %16, align 1 + %conv11 = sext i8 %17 to i32 + %cmp12 = icmp eq i32 %conv11, 37 + br i1 %cmp12, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %while.body + %18 = load i8*, i8** %fmt, align 8 + %incdec.ptr14 = getelementptr inbounds i8, i8* %18, i32 1 + store i8* %incdec.ptr14, i8** %fmt, align 8 + %19 = load i8, i8* %incdec.ptr14, align 1 + %conv15 = sext i8 %19 to i32 + %cmp16 = icmp ne i32 %conv15, 37 + br i1 %cmp16, label %if.then18, label %if.else + +if.then18: ; preds = %land.lhs.true + %20 = load i8*, i8** %fmt, align 8 + %21 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos19 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %21, i32 0, i32 0 + store i8* %20, i8** %fmtpos19, align 8 + %22 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %call20 = call i32 @_ppfs_parsespec(%struct.ppfs_t.722* %22) #18 + store i32 %call20, i32* %r, align 4 + %cmp21 = icmp slt i32 %call20, 0 + br i1 %cmp21, label %if.then23, label %if.end24 + +if.then23: ; preds = %if.then18 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end24: ; preds = %if.then18 + %23 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos25 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %23, i32 0, i32 0 + %24 = load i8*, i8** %fmtpos25, align 8 + store i8* %24, i8** %fmt, align 8 + br label %if.end27 + +if.else: ; preds = %land.lhs.true, %while.body + %25 = load i8*, i8** %fmt, align 8 + %incdec.ptr26 = getelementptr inbounds i8, i8* %25, i32 1 + store i8* %incdec.ptr26, i8** %fmt, align 8 + br label %if.end27 + +if.end27: ; preds = %if.else, %if.end24 + br label %while.cond + +while.end: ; preds = %while.cond + %26 = load i8*, i8** %fmt0.addr, align 8 + %27 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos28 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %27, i32 0, i32 0 + store i8* %26, i8** %fmtpos28, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %while.end, %if.then23, %if.then5 + %28 = load i32, i32* %retval, align 4 + ret i32 %28 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_ppfs_parsespec(%struct.ppfs_t.722* %ppfs) #0 { +entry: + %retval = alloca i32, align 4 + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %fmt = alloca i8*, align 8 + %p = alloca i8*, align 8 + %preci = alloca i32, align 4 + %width = alloca i32, align 4 + %flags = alloca i32, align 4 + %dataargtype = alloca i32, align 4 + %i = alloca i32, align 4 + %dpoint = alloca i32, align 4 + %maxposarg = alloca i32, align 4 + %p_m_spec_chars = alloca i32, align 4 + %n = alloca i32, align 4 + %argtype = alloca [3 x i32], align 4 + %argnumber = alloca [3 x i32], align 4 + %buf = alloca [32 x i8], align 16 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store i32 -1, i32* %preci, align 4 + %arrayidx = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 0 + store i32 0, i32* %arrayidx, align 4 + %arrayidx1 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 1 + store i32 0, i32* %arrayidx1, align 4 + %arrayidx2 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 0 + store i32 8, i32* %arrayidx2, align 4 + %arrayidx3 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 1 + store i32 8, i32* %arrayidx3, align 4 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg4 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %0, i32 0, i32 2 + %1 = load i32, i32* %maxposarg4, align 4 + store i32 %1, i32* %maxposarg, align 4 + store i32 0, i32* %dpoint, align 4 + store i32 0, i32* %width, align 4 + %2 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %2, i32 0, i32 1 + %_flags = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 3 + %3 = load i32, i32* %_flags, align 4 + %and = and i32 %3, 128 + store i32 %and, i32* %flags, align 4 + %cmp = icmp eq i32 %and, 0 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %4 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %4, i32 0, i32 0 + %5 = load i8*, i8** %fmtpos, align 8 + store i8* %5, i8** %fmt, align 8 + br label %if.end20 + +if.else: ; preds = %entry + %arraydecay = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 1 + store i8* %add.ptr, i8** %fmt, align 8 + store i32 0, i32* %i, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %if.else + %6 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos5 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %6, i32 0, i32 0 + %7 = load i8*, i8** %fmtpos5, align 8 + %8 = bitcast i8* %7 to i32* + %9 = load i32, i32* %i, align 4 + %sub = sub nsw i32 %9, 1 + %idxprom = sext i32 %sub to i64 + %arrayidx6 = getelementptr inbounds i32, i32* %8, i64 %idxprom + %10 = load i32, i32* %arrayidx6, align 4 + %conv = trunc i32 %10 to i8 + %11 = load i32, i32* %i, align 4 + %idxprom7 = sext i32 %11 to i64 + %arrayidx8 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 %idxprom7 + store i8 %conv, i8* %arrayidx8, align 1 + %conv9 = sext i8 %conv to i32 + %12 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos10 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %12, i32 0, i32 0 + %13 = load i8*, i8** %fmtpos10, align 8 + %14 = bitcast i8* %13 to i32* + %15 = load i32, i32* %i, align 4 + %sub11 = sub nsw i32 %15, 1 + %idxprom12 = sext i32 %sub11 to i64 + %arrayidx13 = getelementptr inbounds i32, i32* %14, i64 %idxprom12 + %16 = load i32, i32* %arrayidx13, align 4 + %cmp14 = icmp ne i32 %conv9, %16 + br i1 %cmp14, label %if.then16, label %do.cond + +if.then16: ; preds = %do.body + store i32 -1, i32* %retval, align 4 + br label %return + +do.cond: ; preds = %do.body + %17 = load i32, i32* %i, align 4 + %inc = add nsw i32 %17, 1 + store i32 %inc, i32* %i, align 4 + %idxprom17 = sext i32 %17 to i64 + %arrayidx18 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 %idxprom17 + %18 = load i8, i8* %arrayidx18, align 1 + %tobool = icmp ne i8 %18, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %arrayidx19 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 31 + store i8 0, i8* %arrayidx19, align 1 + br label %if.end20 + +if.end20: ; preds = %do.end, %if.then + br label %width_precision + +width_precision: ; preds = %do.end89, %if.then129, %if.end20 + %19 = load i8*, i8** %fmt, align 8 + store i8* %19, i8** %p, align 8 + %20 = load i8*, i8** %fmt, align 8 + %21 = load i8, i8* %20, align 1 + %conv21 = sext i8 %21 to i32 + %cmp22 = icmp eq i32 %conv21, 42 + br i1 %cmp22, label %if.then24, label %if.end28 + +if.then24: ; preds = %width_precision + %22 = load i32, i32* %dpoint, align 4 + %sub25 = sub nsw i32 0, %22 + %idxprom26 = sext i32 %sub25 to i64 + %arrayidx27 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 %idxprom26 + store i32 0, i32* %arrayidx27, align 4 + %23 = load i8*, i8** %fmt, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %23, i32 1 + store i8* %incdec.ptr, i8** %fmt, align 8 + br label %if.end28 + +if.end28: ; preds = %if.then24, %width_precision + store i32 0, i32* %i, align 4 + br label %while.cond + +while.cond: ; preds = %if.end40, %if.end28 + %call = call i16** @__ctype_b_loc() #21 + %24 = load i16*, i16** %call, align 8 + %25 = load i8*, i8** %fmt, align 8 + %26 = load i8, i8* %25, align 1 + %conv29 = sext i8 %26 to i32 + %idxprom30 = sext i32 %conv29 to i64 + %arrayidx31 = getelementptr inbounds i16, i16* %24, i64 %idxprom30 + %27 = load i16, i16* %arrayidx31, align 2 + %conv32 = zext i16 %27 to i32 + %and33 = and i32 %conv32, 2048 + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %28 = load i32, i32* %i, align 4 + %cmp35 = icmp slt i32 %28, 4095 + br i1 %cmp35, label %if.then37, label %if.end40 + +if.then37: ; preds = %while.body + %29 = load i32, i32* %i, align 4 + %mul = mul nsw i32 %29, 10 + %30 = load i8*, i8** %fmt, align 8 + %31 = load i8, i8* %30, align 1 + %conv38 = sext i8 %31 to i32 + %sub39 = sub nsw i32 %conv38, 48 + %add = add nsw i32 %mul, %sub39 + store i32 %add, i32* %i, align 4 + br label %if.end40 + +if.end40: ; preds = %if.then37, %while.body + %32 = load i8*, i8** %fmt, align 8 + %incdec.ptr41 = getelementptr inbounds i8, i8* %32, i32 1 + store i8* %incdec.ptr41, i8** %fmt, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %33 = load i8*, i8** %p, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %33, i64 -1 + %34 = load i8, i8* %arrayidx42, align 1 + %conv43 = sext i8 %34 to i32 + %cmp44 = icmp eq i32 %conv43, 37 + br i1 %cmp44, label %if.then46, label %PREC_WIDTH + +if.then46: ; preds = %while.end + %35 = load i8*, i8** %fmt, align 8 + %36 = load i8, i8* %35, align 1 + %conv47 = sext i8 %36 to i32 + %cmp48 = icmp eq i32 %conv47, 36 + %37 = load i32, i32* %i, align 4 + %cmp50 = icmp sgt i32 %37, 0 + %or.cond = and i1 %cmp48, %cmp50 + br i1 %or.cond, label %if.then52, label %if.else63 + +if.then52: ; preds = %if.then46 + %38 = load i8*, i8** %fmt, align 8 + %incdec.ptr53 = getelementptr inbounds i8, i8* %38, i32 1 + store i8* %incdec.ptr53, i8** %fmt, align 8 + %39 = load i32, i32* %maxposarg, align 4 + %cmp54 = icmp eq i32 %39, 0 + br i1 %cmp54, label %if.then56, label %if.end57 + +if.then56: ; preds = %if.then52 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end57: ; preds = %if.then52 + %40 = load i32, i32* %i, align 4 + %arrayidx58 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 2 + store i32 %40, i32* %arrayidx58, align 4 + %41 = load i32, i32* %maxposarg, align 4 + %cmp59 = icmp sgt i32 %40, %41 + br i1 %cmp59, label %if.then61, label %if.end76 + +if.then61: ; preds = %if.end57 + %42 = load i32, i32* %i, align 4 + store i32 %42, i32* %maxposarg, align 4 + br label %if.end76 + +if.else63: ; preds = %if.then46 + %43 = load i32, i32* %maxposarg, align 4 + %cmp64 = icmp sgt i32 %43, 0 + br i1 %cmp64, label %if.then66, label %if.end67 + +if.then66: ; preds = %if.else63 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end67: ; preds = %if.else63 + store i32 0, i32* %maxposarg, align 4 + %44 = load i8*, i8** %fmt, align 8 + %45 = load i8*, i8** %p, align 8 + %cmp68 = icmp ugt i8* %44, %45 + br i1 %cmp68, label %land.lhs.true70, label %if.end75 + +land.lhs.true70: ; preds = %if.end67 + %46 = load i8*, i8** %p, align 8 + %47 = load i8, i8* %46, align 1 + %conv71 = sext i8 %47 to i32 + %cmp72 = icmp ne i32 %conv71, 48 + br i1 %cmp72, label %PREC_WIDTH, label %if.end75 + +if.end75: ; preds = %land.lhs.true70, %if.end67 + %48 = load i8*, i8** %p, align 8 + store i8* %48, i8** %fmt, align 8 + br label %if.end76 + +if.end76: ; preds = %if.end57, %if.then61, %if.end75 + br label %restart_flags + +restart_flags: ; preds = %if.then83, %if.end76 + store i32 1, i32* %i, align 4 + store i8* getelementptr inbounds ([8 x i8], [8 x i8]* @_ppfs_parsespec.spec_flags, i64 0, i64 0), i8** %p, align 8 + br label %do.body77 + +do.body77: ; preds = %if.end85, %restart_flags + %49 = load i8*, i8** %fmt, align 8 + %50 = load i8, i8* %49, align 1 + %conv78 = sext i8 %50 to i32 + %51 = load i8*, i8** %p, align 8 + %incdec.ptr79 = getelementptr inbounds i8, i8* %51, i32 1 + store i8* %incdec.ptr79, i8** %p, align 8 + %52 = load i8, i8* %51, align 1 + %conv80 = sext i8 %52 to i32 + %cmp81 = icmp eq i32 %conv78, %conv80 + br i1 %cmp81, label %if.then83, label %if.end85 + +if.then83: ; preds = %do.body77 + %53 = load i8*, i8** %fmt, align 8 + %incdec.ptr84 = getelementptr inbounds i8, i8* %53, i32 1 + store i8* %incdec.ptr84, i8** %fmt, align 8 + %54 = load i32, i32* %i, align 4 + %55 = load i32, i32* %flags, align 4 + %or = or i32 %55, %54 + store i32 %or, i32* %flags, align 4 + br label %restart_flags + +if.end85: ; preds = %do.body77 + %56 = load i32, i32* %i, align 4 + %57 = load i32, i32* %i, align 4 + %add86 = add nsw i32 %57, %56 + store i32 %add86, i32* %i, align 4 + %58 = load i8*, i8** %p, align 8 + %59 = load i8, i8* %58, align 1 + %tobool88 = icmp ne i8 %59, 0 + br i1 %tobool88, label %do.body77, label %do.end89 + +do.end89: ; preds = %if.end85 + store i32 0, i32* %i, align 4 + %60 = load i32, i32* %flags, align 4 + %and90 = and i32 %60, 10 + %shr = ashr i32 %and90, 1 + %neg = xor i32 %shr, -1 + %61 = load i32, i32* %flags, align 4 + %and91 = and i32 %61, %neg + store i32 %and91, i32* %flags, align 4 + %62 = load i8*, i8** %fmt, align 8 + %arrayidx92 = getelementptr inbounds i8, i8* %62, i64 -1 + %63 = load i8, i8* %arrayidx92, align 1 + %conv93 = sext i8 %63 to i32 + %cmp94 = icmp ne i32 %conv93, 37 + br i1 %cmp94, label %width_precision, label %PREC_WIDTH + +PREC_WIDTH: ; preds = %while.end, %do.end89, %land.lhs.true70 + %64 = load i8*, i8** %p, align 8 + %65 = load i8, i8* %64, align 1 + %conv99 = sext i8 %65 to i32 + %cmp100 = icmp eq i32 %conv99, 42 + br i1 %cmp100, label %if.then102, label %if.end123 + +if.then102: ; preds = %PREC_WIDTH + %66 = load i32, i32* %maxposarg, align 4 + %tobool103 = icmp ne i32 %66, 0 + br i1 %tobool103, label %if.then104, label %if.else116 + +if.then104: ; preds = %if.then102 + %67 = load i8*, i8** %fmt, align 8 + %incdec.ptr105 = getelementptr inbounds i8, i8* %67, i32 1 + store i8* %incdec.ptr105, i8** %fmt, align 8 + %68 = load i8, i8* %67, align 1 + %conv106 = sext i8 %68 to i32 + %cmp107 = icmp ne i32 %conv106, 36 + %69 = load i32, i32* %i, align 4 + %cmp109 = icmp sle i32 %69, 0 + %or.cond1 = or i1 %cmp107, %cmp109 + br i1 %or.cond1, label %if.then111, label %if.end112 + +if.then111: ; preds = %if.then104 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end112: ; preds = %if.then104 + %70 = load i32, i32* %i, align 4 + %71 = load i32, i32* %dpoint, align 4 + %sub113 = sub nsw i32 0, %71 + %idxprom114 = sext i32 %sub113 to i64 + %arrayidx115 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 %idxprom114 + store i32 %70, i32* %arrayidx115, align 4 + br label %if.end122 + +if.else116: ; preds = %if.then102 + %72 = load i8*, i8** %p, align 8 + %incdec.ptr117 = getelementptr inbounds i8, i8* %72, i32 1 + store i8* %incdec.ptr117, i8** %p, align 8 + %73 = load i8*, i8** %fmt, align 8 + %cmp118 = icmp ne i8* %incdec.ptr117, %73 + br i1 %cmp118, label %if.then120, label %if.end122 + +if.then120: ; preds = %if.else116 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end122: ; preds = %if.else116, %if.end112 + store i32 -2147483648, i32* %i, align 4 + br label %if.end123 + +if.end123: ; preds = %if.end122, %PREC_WIDTH + %74 = load i32, i32* %dpoint, align 4 + %tobool124 = icmp ne i32 %74, 0 + %75 = load i32, i32* %i, align 4 + br i1 %tobool124, label %if.else132, label %if.then125 + +if.then125: ; preds = %if.end123 + store i32 %75, i32* %width, align 4 + %76 = load i8*, i8** %fmt, align 8 + %77 = load i8, i8* %76, align 1 + %conv126 = sext i8 %77 to i32 + %cmp127 = icmp eq i32 %conv126, 46 + br i1 %cmp127, label %if.then129, label %if.end133 + +if.then129: ; preds = %if.then125 + %78 = load i8*, i8** %fmt, align 8 + %incdec.ptr130 = getelementptr inbounds i8, i8* %78, i32 1 + store i8* %incdec.ptr130, i8** %fmt, align 8 + store i32 -1, i32* %dpoint, align 4 + br label %width_precision + +if.else132: ; preds = %if.end123 + store i32 %75, i32* %preci, align 4 + br label %if.end133 + +if.end133: ; preds = %if.then125, %if.else132 + store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @_ppfs_parsespec.qual_chars, i64 0, i64 0), i8** %p, align 8 + br label %do.body134 + +do.body134: ; preds = %do.cond142, %if.end133 + %79 = load i8*, i8** %fmt, align 8 + %80 = load i8, i8* %79, align 1 + %conv135 = sext i8 %80 to i32 + %81 = load i8*, i8** %p, align 8 + %82 = load i8, i8* %81, align 1 + %conv136 = sext i8 %82 to i32 + %cmp137 = icmp eq i32 %conv135, %conv136 + br i1 %cmp137, label %if.then139, label %do.cond142 + +if.then139: ; preds = %do.body134 + %83 = load i8*, i8** %fmt, align 8 + %incdec.ptr140 = getelementptr inbounds i8, i8* %83, i32 1 + store i8* %incdec.ptr140, i8** %fmt, align 8 + br label %do.end145 + +do.cond142: ; preds = %do.body134 + %84 = load i8*, i8** %p, align 8 + %incdec.ptr143 = getelementptr inbounds i8, i8* %84, i32 1 + store i8* %incdec.ptr143, i8** %p, align 8 + %85 = load i8, i8* %incdec.ptr143, align 1 + %tobool144 = icmp ne i8 %85, 0 + br i1 %tobool144, label %do.body134, label %do.end145 + +do.end145: ; preds = %do.cond142, %if.then139 + %86 = load i8*, i8** %p, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %86 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, ptrtoint ([20 x i8]* @_ppfs_parsespec.qual_chars to i64) + %cmp146 = icmp slt i64 %sub.ptr.sub, 2 + br i1 %cmp146, label %land.lhs.true148, label %if.end156 + +land.lhs.true148: ; preds = %do.end145 + %87 = load i8*, i8** %fmt, align 8 + %88 = load i8, i8* %87, align 1 + %conv149 = sext i8 %88 to i32 + %89 = load i8*, i8** %p, align 8 + %90 = load i8, i8* %89, align 1 + %conv150 = sext i8 %90 to i32 + %cmp151 = icmp eq i32 %conv149, %conv150 + br i1 %cmp151, label %if.then153, label %if.end156 + +if.then153: ; preds = %land.lhs.true148 + %91 = load i8*, i8** %p, align 8 + %add.ptr154 = getelementptr inbounds i8, i8* %91, i64 9 + store i8* %add.ptr154, i8** %p, align 8 + %92 = load i8*, i8** %fmt, align 8 + %incdec.ptr155 = getelementptr inbounds i8, i8* %92, i32 1 + store i8* %incdec.ptr155, i8** %fmt, align 8 + br label %if.end156 + +if.end156: ; preds = %if.then153, %land.lhs.true148, %do.end145 + %93 = load i8*, i8** %p, align 8 + %arrayidx157 = getelementptr inbounds i8, i8* %93, i64 9 + %94 = load i8, i8* %arrayidx157, align 1 + %conv158 = sext i8 %94 to i32 + %shl = shl i32 %conv158, 8 + store i32 %shl, i32* %dataargtype, align 4 + %95 = load i8*, i8** %fmt, align 8 + %96 = load i8, i8* %95, align 1 + %tobool159 = icmp ne i8 %96, 0 + br i1 %tobool159, label %if.end161, label %if.then160 + +if.then160: ; preds = %if.end156 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end161: ; preds = %if.end156 + store i8* getelementptr inbounds ([21 x i8], [21 x i8]* @_ppfs_parsespec.spec_chars, i64 0, i64 0), i8** %p, align 8 + br label %do.body162 + +do.body162: ; preds = %do.cond199, %if.end161 + %97 = load i8*, i8** %fmt, align 8 + %98 = load i8, i8* %97, align 1 + %conv163 = sext i8 %98 to i32 + %99 = load i8*, i8** %p, align 8 + %100 = load i8, i8* %99, align 1 + %conv164 = sext i8 %100 to i32 + %cmp165 = icmp eq i32 %conv163, %conv164 + %101 = load i8*, i8** %p, align 8 + br i1 %cmp165, label %if.then167, label %do.cond199 + +if.then167: ; preds = %do.body162 + %sub.ptr.lhs.cast168 = ptrtoint i8* %101 to i64 + %sub.ptr.sub169 = sub i64 %sub.ptr.lhs.cast168, ptrtoint ([21 x i8]* @_ppfs_parsespec.spec_chars to i64) + %conv170 = trunc i64 %sub.ptr.sub169 to i32 + store i32 %conv170, i32* %p_m_spec_chars, align 4 + %102 = load i32, i32* %p_m_spec_chars, align 4 + %cmp171 = icmp sge i32 %102, 18 + br i1 %cmp171, label %land.lhs.true173, label %if.end178 + +land.lhs.true173: ; preds = %if.then167 + %103 = load i32, i32* %dataargtype, align 4 + %and174 = and i32 %103, 1024 + %tobool175 = icmp ne i32 %and174, 0 + br i1 %tobool175, label %if.then176, label %if.end178 + +if.then176: ; preds = %land.lhs.true173 + %104 = load i32, i32* %p_m_spec_chars, align 4 + %sub177 = sub nsw i32 %104, 2 + store i32 %sub177, i32* %p_m_spec_chars, align 4 + br label %if.end178 + +if.end178: ; preds = %if.then176, %land.lhs.true173, %if.then167 + %105 = load i32, i32* %p_m_spec_chars, align 4 + %106 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %106, i32 0, i32 4 + store i32 %105, i32* %conv_num, align 4 + store i8* getelementptr inbounds (i8, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @_ppfs_parsespec.spec_ranges, i64 0, i64 0), i64 -1), i8** %p, align 8 + br label %while.cond179 + +while.cond179: ; preds = %while.cond179, %if.end178 + %107 = load i32, i32* %p_m_spec_chars, align 4 + %108 = load i8*, i8** %p, align 8 + %incdec.ptr180 = getelementptr inbounds i8, i8* %108, i32 1 + store i8* %incdec.ptr180, i8** %p, align 8 + %109 = load i8, i8* %incdec.ptr180, align 1 + %conv181 = sext i8 %109 to i32 + %cmp182 = icmp sgt i32 %107, %conv181 + br i1 %cmp182, label %while.cond179, label %while.end185 + +while.end185: ; preds = %while.cond179 + %110 = load i8*, i8** %p, align 8 + %sub.ptr.lhs.cast186 = ptrtoint i8* %110 to i64 + %sub.ptr.sub187 = sub i64 %sub.ptr.lhs.cast186, ptrtoint ([9 x i8]* @_ppfs_parsespec.spec_ranges to i64) + %conv188 = trunc i64 %sub.ptr.sub187 to i32 + store i32 %conv188, i32* %i, align 4 + %111 = load i32, i32* %dataargtype, align 4 + %112 = load i32, i32* %i, align 4 + %idxprom189 = sext i32 %112 to i64 + %arrayidx190 = getelementptr inbounds [8 x i16], [8 x i16]* @_ppfs_parsespec.spec_or_mask, i64 0, i64 %idxprom189 + %113 = load i16, i16* %arrayidx190, align 2 + %conv191 = sext i16 %113 to i32 + %or192 = or i32 %111, %conv191 + %114 = load i32, i32* %i, align 4 + %idxprom193 = sext i32 %114 to i64 + %arrayidx194 = getelementptr inbounds [8 x i16], [8 x i16]* @_ppfs_parsespec.spec_and_mask, i64 0, i64 %idxprom193 + %115 = load i16, i16* %arrayidx194, align 2 + %conv195 = sext i16 %115 to i32 + %and196 = and i32 %or192, %conv195 + %arrayidx197 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 2 + store i32 %and196, i32* %arrayidx197, align 4 + store i8* getelementptr inbounds ([21 x i8], [21 x i8]* @_ppfs_parsespec.spec_chars, i64 0, i64 0), i8** %p, align 8 + br label %do.end202 + +do.cond199: ; preds = %do.body162 + %incdec.ptr200 = getelementptr inbounds i8, i8* %101, i32 1 + store i8* %incdec.ptr200, i8** %p, align 8 + %116 = load i8, i8* %incdec.ptr200, align 1 + %tobool201 = icmp ne i8 %116, 0 + br i1 %tobool201, label %do.body162, label %do.end202 + +do.end202: ; preds = %do.cond199, %while.end185 + %117 = load i8*, i8** %fmt, align 8 + %118 = load i8, i8* %117, align 1 + %conv203 = sext i8 %118 to i32 + %119 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info204 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %119, i32 0, i32 1 + %spec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info204, i32 0, i32 2 + store i32 %conv203, i32* %spec, align 8 + %120 = load i32, i32* %preci, align 4 + %121 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info205 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %121, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info205, i32 0, i32 0 + store i32 %120, i32* %prec, align 8 + %122 = load i32, i32* %width, align 4 + %123 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info206 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %123, i32 0, i32 1 + %width207 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info206, i32 0, i32 1 + store i32 %122, i32* %width207, align 4 + %124 = load i32, i32* %flags, align 4 + %and208 = and i32 %124, 4 + %tobool209 = icmp ne i32 %and208, 0 + %125 = zext i1 %tobool209 to i64 + %cond = select i1 %tobool209, i32 48, i32 32 + %126 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info210 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %126, i32 0, i32 1 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info210, i32 0, i32 4 + store i32 %cond, i32* %pad, align 8 + %127 = load i32, i32* %flags, align 4 + %and211 = and i32 %127, -5 + %128 = load i32, i32* %dataargtype, align 4 + %and212 = and i32 %128, 3840 + %or213 = or i32 %and211, %and212 + %129 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info214 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %129, i32 0, i32 1 + %_flags215 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info214, i32 0, i32 3 + store i32 %or213, i32* %_flags215, align 4 + %130 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %130, i32 0, i32 3 + store i32 1, i32* %num_data_args, align 8 + %131 = load i8*, i8** %p, align 8 + %132 = load i8, i8* %131, align 1 + %tobool216 = icmp ne i8 %132, 0 + br i1 %tobool216, label %if.end218, label %if.then217 + +if.then217: ; preds = %do.end202 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end218: ; preds = %do.end202 + %133 = load i32, i32* %maxposarg, align 4 + %cmp219 = icmp sgt i32 %133, 0 + br i1 %cmp219, label %if.then221, label %if.else265 + +if.then221: ; preds = %if.end218 + store i32 0, i32* %i, align 4 + br label %do.body222 + +do.body222: ; preds = %do.cond258, %if.then221 + %134 = load i32, i32* %i, align 4 + %cmp223 = icmp sle i32 %134, 2 + br i1 %cmp223, label %cond.true, label %cond.false + +cond.true: ; preds = %do.body222 + %135 = load i32, i32* %i, align 4 + %idxprom225 = sext i32 %135 to i64 + %arrayidx226 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 %idxprom225 + %136 = load i32, i32* %arrayidx226, align 4 + %conv227 = trunc i32 %136 to i8 + %137 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber228 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %137, i32 0, i32 5 + %138 = load i32, i32* %i, align 4 + %idxprom229 = sext i32 %138 to i64 + %arrayidx230 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber228, i64 0, i64 %idxprom229 + store i8 %conv227, i8* %arrayidx230, align 1 + %conv231 = zext i8 %conv227 to i32 + br label %cond.end + +cond.false: ; preds = %do.body222 + %arrayidx232 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 2 + %139 = load i32, i32* %arrayidx232, align 4 + %140 = load i32, i32* %i, align 4 + %sub233 = sub nsw i32 %140, 2 + %add234 = add nsw i32 %139, %sub233 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond235 = phi i32 [ %conv231, %cond.true ], [ %add234, %cond.false ] + store i32 %cond235, i32* %n, align 4 + %141 = load i32, i32* %n, align 4 + %142 = load i32, i32* %maxposarg, align 4 + %cmp236 = icmp sgt i32 %141, %142 + br i1 %cmp236, label %if.then238, label %if.end243 + +if.then238: ; preds = %cond.end + %143 = load i32, i32* %n, align 4 + store i32 %143, i32* %maxposarg, align 4 + %cmp239 = icmp sgt i32 %143, 9 + br i1 %cmp239, label %if.then241, label %if.end243 + +if.then241: ; preds = %if.then238 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end243: ; preds = %if.then238, %cond.end + %144 = load i32, i32* %n, align 4 + %dec = add nsw i32 %144, -1 + store i32 %dec, i32* %n, align 4 + %145 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype244 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %145, i32 0, i32 6 + %146 = load i32, i32* %n, align 4 + %idxprom245 = sext i32 %146 to i64 + %arrayidx246 = getelementptr inbounds [9 x i32], [9 x i32]* %argtype244, i64 0, i64 %idxprom245 + %147 = load i32, i32* %arrayidx246, align 4 + %148 = load i32, i32* %i, align 4 + %idxprom247 = sext i32 %148 to i64 + %arrayidx248 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 %idxprom247 + %149 = load i32, i32* %arrayidx248, align 4 + %call249 = call i32 @_is_equal_or_bigger_arg(i32 %147, i32 %149) #18 + %tobool250 = icmp ne i32 %call249, 0 + br i1 %tobool250, label %if.then251, label %do.cond258 + +if.then251: ; preds = %if.end243 + %150 = load i32, i32* %i, align 4 + %idxprom252 = sext i32 %150 to i64 + %arrayidx253 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 %idxprom252 + %151 = load i32, i32* %arrayidx253, align 4 + %152 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype254 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %152, i32 0, i32 6 + %153 = load i32, i32* %n, align 4 + %idxprom255 = sext i32 %153 to i64 + %arrayidx256 = getelementptr inbounds [9 x i32], [9 x i32]* %argtype254, i64 0, i64 %idxprom255 + store i32 %151, i32* %arrayidx256, align 4 + br label %do.cond258 + +do.cond258: ; preds = %if.end243, %if.then251 + %154 = load i32, i32* %i, align 4 + %inc259 = add nsw i32 %154, 1 + store i32 %inc259, i32* %i, align 4 + %155 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args260 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %155, i32 0, i32 3 + %156 = load i32, i32* %num_data_args260, align 8 + %add261 = add nsw i32 %156, 2 + %cmp262 = icmp slt i32 %inc259, %add261 + br i1 %cmp262, label %do.body222, label %if.end276 + +if.else265: ; preds = %if.end218 + %157 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber266 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %157, i32 0, i32 5 + %arrayidx267 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber266, i64 0, i64 2 + store i8 1, i8* %arrayidx267, align 2 + %158 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype268 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %158, i32 0, i32 6 + %arraydecay269 = getelementptr inbounds [9 x i32], [9 x i32]* %argtype268, i64 0, i64 0 + %159 = bitcast i32* %arraydecay269 to i8* + %arraydecay270 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 0 + %add.ptr271 = getelementptr inbounds i32, i32* %arraydecay270, i64 2 + %160 = bitcast i32* %add.ptr271 to i8* + %161 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args272 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %161, i32 0, i32 3 + %162 = load i32, i32* %num_data_args272, align 8 + %conv273 = sext i32 %162 to i64 + %mul274 = mul i64 %conv273, 4 + %call275 = call i8* @memcpy(i8* %159, i8* %160, i64 %mul274) #19 + br label %if.end276 + +if.end276: ; preds = %do.cond258, %if.else265 + %163 = load i32, i32* %maxposarg, align 4 + %164 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg277 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %164, i32 0, i32 2 + store i32 %163, i32* %maxposarg277, align 4 + %165 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info278 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %165, i32 0, i32 1 + %_flags279 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info278, i32 0, i32 3 + %166 = load i32, i32* %_flags279, align 4 + %and280 = and i32 %166, 128 + store i32 %and280, i32* %flags, align 4 + %cmp281 = icmp eq i32 %and280, 0 + br i1 %cmp281, label %if.then283, label %if.else286 + +if.then283: ; preds = %if.end276 + %167 = load i8*, i8** %fmt, align 8 + %incdec.ptr284 = getelementptr inbounds i8, i8* %167, i32 1 + store i8* %incdec.ptr284, i8** %fmt, align 8 + %168 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos285 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %168, i32 0, i32 0 + store i8* %incdec.ptr284, i8** %fmtpos285, align 8 + br label %if.end293 + +if.else286: ; preds = %if.end276 + %169 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos287 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %169, i32 0, i32 0 + %170 = load i8*, i8** %fmtpos287, align 8 + %171 = bitcast i8* %170 to i32* + %172 = load i8*, i8** %fmt, align 8 + %arraydecay288 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 0 + %sub.ptr.lhs.cast289 = ptrtoint i8* %172 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %arraydecay288 to i64 + %sub.ptr.sub290 = sub i64 %sub.ptr.lhs.cast289, %sub.ptr.rhs.cast + %add.ptr291 = getelementptr inbounds i32, i32* %171, i64 %sub.ptr.sub290 + %173 = bitcast i32* %add.ptr291 to i8* + %174 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos292 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %174, i32 0, i32 0 + store i8* %173, i8** %fmtpos292, align 8 + br label %if.end293 + +if.end293: ; preds = %if.else286, %if.then283 + %175 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args294 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %175, i32 0, i32 3 + %176 = load i32, i32* %num_data_args294, align 8 + %add295 = add nsw i32 %176, 2 + store i32 %add295, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end293, %if.then241, %if.then217, %if.then160, %if.then120, %if.then111, %if.then66, %if.then56, %if.then16 + %177 = load i32, i32* %retval, align 4 + ret i32 %177 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_is_equal_or_bigger_arg(i32 %curtype, i32 %newtype) #0 { +entry: + %retval = alloca i32, align 4 + %curtype.addr = alloca i32, align 4 + %newtype.addr = alloca i32, align 4 + store i32 %curtype, i32* %curtype.addr, align 4 + store i32 %newtype, i32* %newtype.addr, align 4 + %0 = load i32, i32* %newtype.addr, align 4 + %cmp = icmp eq i32 %0, 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %1 = load i32, i32* %curtype.addr, align 4 + %cmp1 = icmp eq i32 %1, 8 + br i1 %cmp1, label %if.then3, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %2 = load i32, i32* %curtype.addr, align 4 + %3 = load i32, i32* %newtype.addr, align 4 + %cmp2 = icmp eq i32 %2, %3 + br i1 %cmp2, label %if.then3, label %if.end4 + +if.then3: ; preds = %lor.lhs.false, %if.end + store i32 1, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %lor.lhs.false + %4 = load i32, i32* %curtype.addr, align 4 + %call = call i32 @_promoted_size(i32 %4) #18 + %5 = load i32, i32* %newtype.addr, align 4 + %call5 = call i32 @_promoted_size(i32 %5) #18 + %cmp6 = icmp sle i32 %call, %call5 + %conv = zext i1 %cmp6 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_promoted_size(i32 %argtype) #0 { +entry: + %argtype.addr = alloca i32, align 4 + %p = alloca i16*, align 8 + store i32 %argtype, i32* %argtype.addr, align 4 + store i16* getelementptr inbounds (i16, i16* getelementptr inbounds ([12 x i16], [12 x i16]* @type_codes, i64 0, i64 0), i64 12), i16** %p, align 8 + br label %do.body + +do.body: ; preds = %do.body, %entry + %0 = load i16*, i16** %p, align 8 + %incdec.ptr = getelementptr inbounds i16, i16* %0, i32 -1 + store i16* %incdec.ptr, i16** %p, align 8 + %1 = load i16, i16* %incdec.ptr, align 2 + %conv = sext i16 %1 to i32 + %2 = load i32, i32* %argtype.addr, align 4 + %cmp = icmp ne i32 %conv, %2 + %3 = load i16*, i16** %p, align 8 + %cmp2 = icmp ugt i16* %3, getelementptr inbounds ([12 x i16], [12 x i16]* @type_codes, i64 0, i64 0) + %or.cond = and i1 %cmp, %cmp2 + br i1 %or.cond, label %do.body, label %do.end + +do.end: ; preds = %do.body + %4 = load i16*, i16** %p, align 8 + %sub.ptr.lhs.cast = ptrtoint i16* %4 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, ptrtoint ([12 x i16]* @type_codes to i64) + %sub.ptr.div = sdiv exact i64 %sub.ptr.sub, 2 + %conv4 = trunc i64 %sub.ptr.div to i32 + %idxprom = sext i32 %conv4 to i64 + %arrayidx = getelementptr inbounds [12 x i8], [12 x i8]* @type_sizes, i64 0, i64 %idxprom + %5 = load i8, i8* %arrayidx, align 1 + %conv5 = zext i8 %5 to i32 + ret i32 %conv5 +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_ppfs_prepargs(%struct.ppfs_t.722* %ppfs, %struct.__va_list_tag.0* %arg) #0 { +entry: + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %arg.addr = alloca %struct.__va_list_tag.0*, align 8 + %i = alloca i32, align 4 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store %struct.__va_list_tag.0* %arg, %struct.__va_list_tag.0** %arg.addr, align 8 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg1 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %0, i32 0, i32 7 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg1, i64 0, i64 0 + %1 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %arg.addr, align 8 + %2 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + %3 = bitcast %struct.__va_list_tag.0* %1 to i8* + %vacopy.cast.dst = bitcast i8* %2 to i64* + %vacopy.cast.src = bitcast i8* %3 to i64* + %4 = load i64, i64* %vacopy.cast.src, align 8 + store volatile i64 %4, i64* %vacopy.cast.dst, align 8 + %5 = getelementptr i64, i64* %vacopy.cast.dst, i64 1 + %6 = getelementptr i64, i64* %vacopy.cast.src, i64 1 + %7 = load i64, i64* %6, align 8 + store i64 %7, i64* %5, align 8 + %8 = getelementptr i64, i64* %5, i64 1 + %9 = getelementptr i64, i64* %6, i64 1 + %10 = load i64, i64* %9, align 8 + store i64 %10, i64* %8, align 8 + %11 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %11, i32 0, i32 2 + %12 = load i32, i32* %maxposarg, align 4 + store i32 %12, i32* %i, align 4 + %cmp = icmp sgt i32 %12, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %13 = load i32, i32* %i, align 4 + %14 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %14, i32 0, i32 3 + store i32 %13, i32* %num_data_args, align 8 + %15 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg2 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %15, i32 0, i32 2 + store i32 0, i32* %maxposarg2, align 4 + %16 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %16, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 0 + store i32 0, i32* %prec, align 8 + %17 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info3 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %17, i32 0, i32 1 + %width = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info3, i32 0, i32 1 + store i32 0, i32* %width, align 4 + %18 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + call void @_ppfs_setargs(%struct.ppfs_t.722* %18) #18 + %19 = load i32, i32* %i, align 4 + %20 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg4 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %20, i32 0, i32 2 + store i32 %19, i32* %maxposarg4, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + ret void +} + +; Function Attrs: nounwind +declare void @llvm.va_copy(i8*, i8*) #11 + +; Function Attrs: noinline nounwind uwtable +define hidden void @_ppfs_setargs(%struct.ppfs_t.722* %ppfs) #0 { +entry: + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %p = alloca %union.anon.193*, align 8 + %i = alloca i32, align 4 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argvalue = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %0, i32 0, i32 8 + %arraydecay = getelementptr inbounds [9 x %union.anon.193], [9 x %union.anon.193]* %argvalue, i64 0, i64 0 + store %union.anon.193* %arraydecay, %union.anon.193** %p, align 8 + %1 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %1, i32 0, i32 2 + %2 = load i32, i32* %maxposarg, align 4 + %cmp = icmp eq i32 %2, 0 + %3 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %3, i32 0, i32 1 + %width = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 1 + %4 = load i32, i32* %width, align 4 + %cmp1 = icmp eq i32 %4, -2147483648 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + br i1 %cmp1, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + %5 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %5, i32 0, i32 7 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 8 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then2 + %6 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 3 + %reg_save_area = load i8*, i8** %6, align 8 + %7 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %8 = bitcast i8* %7 to i32* + %9 = add i32 %gp_offset, 8 + store i32 %9, i32* %gp_offset_p, align 8 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then2 + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %10 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %8, %vaarg.in_reg ], [ %10, %vaarg.in_mem ] + %11 = load i32, i32* %vaarg.addr, align 4 + %12 = load %union.anon.193*, %union.anon.193** %p, align 8 + %u = bitcast %union.anon.193* %12 to i32* + store i32 %11, i32* %u, align 8 + %13 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info4 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %13, i32 0, i32 1 + %width5 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info4, i32 0, i32 1 + store i32 %11, i32* %width5, align 4 + br label %if.end + +if.end: ; preds = %vaarg.end, %if.then + %14 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info6 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %14, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info6, i32 0, i32 0 + %15 = load i32, i32* %prec, align 8 + %cmp7 = icmp eq i32 %15, -2147483648 + br i1 %cmp7, label %if.then8, label %if.end25 + +if.then8: ; preds = %if.end + %16 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg9 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %16, i32 0, i32 7 + %arraydecay10 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg9, i64 0, i64 0 + %gp_offset_p11 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay10, i32 0, i32 0 + %gp_offset12 = load i32, i32* %gp_offset_p11, align 8 + %fits_in_gp13 = icmp ule i32 %gp_offset12, 40 + br i1 %fits_in_gp13, label %vaarg.in_reg14, label %vaarg.in_mem16 + +vaarg.in_reg14: ; preds = %if.then8 + %17 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay10, i32 0, i32 3 + %reg_save_area15 = load i8*, i8** %17, align 8 + %18 = getelementptr i8, i8* %reg_save_area15, i32 %gp_offset12 + %19 = bitcast i8* %18 to i32* + %20 = add i32 %gp_offset12, 8 + store i32 %20, i32* %gp_offset_p11, align 8 + br label %vaarg.end20 + +vaarg.in_mem16: ; preds = %if.then8 + %overflow_arg_area_p17 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay10, i32 0, i32 2 + %overflow_arg_area18 = load i8*, i8** %overflow_arg_area_p17, align 8 + %21 = bitcast i8* %overflow_arg_area18 to i32* + %overflow_arg_area.next19 = getelementptr i8, i8* %overflow_arg_area18, i32 8 + store i8* %overflow_arg_area.next19, i8** %overflow_arg_area_p17, align 8 + br label %vaarg.end20 + +vaarg.end20: ; preds = %vaarg.in_mem16, %vaarg.in_reg14 + %vaarg.addr21 = phi i32* [ %19, %vaarg.in_reg14 ], [ %21, %vaarg.in_mem16 ] + %22 = load i32, i32* %vaarg.addr21, align 4 + %23 = load %union.anon.193*, %union.anon.193** %p, align 8 + %u22 = bitcast %union.anon.193* %23 to i32* + store i32 %22, i32* %u22, align 8 + %24 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info23 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %24, i32 0, i32 1 + %prec24 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info23, i32 0, i32 0 + store i32 %22, i32* %prec24, align 8 + br label %if.end25 + +if.end25: ; preds = %vaarg.end20, %if.end + store i32 0, i32* %i, align 4 + br label %while.cond + +while.cond: ; preds = %NodeBlock, %sw.epilog, %if.end25 + %25 = load i32, i32* %i, align 4 + %26 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %26, i32 0, i32 3 + %27 = load i32, i32* %num_data_args, align 8 + %cmp26 = icmp slt i32 %25, %27 + br i1 %cmp26, label %while.body, label %if.end149 + +while.body: ; preds = %while.cond + %28 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %28, i32 0, i32 6 + %29 = load i32, i32* %i, align 4 + %inc = add nsw i32 %29, 1 + store i32 %inc, i32* %i, align 4 + %idxprom = sext i32 %29 to i64 + %arrayidx = getelementptr inbounds [9 x i32], [9 x i32]* %argtype, i64 0, i64 %idxprom + %30 = load i32, i32* %arrayidx, align 4 + br label %NodeBlock17 + +NodeBlock17: ; preds = %while.body + %case.cmp18 = icmp eq i32 %30, 2048 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %30, 1024 + br i1 %case.cmp16, label %sw.bb40, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %30, 1 + br i1 %case.cmp14, label %sw.bb54, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %30, 256 + br i1 %case.cmp12, label %sw.bb54, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %30, 512 + br i1 %case.cmp10, label %sw.bb54, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %30, 0 + br i1 %case.cmp8, label %sw.bb54, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %30, 2 + br i1 %case.cmp6, label %sw.bb69, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %30, 7 + br i1 %case.cmp4, label %sw.bb83, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %30, 2055 + br i1 %case.cmp2, label %sw.bb94, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %30, 8 + br i1 %case.cmp, label %while.cond, label %newDefault + +sw.bb: ; preds = %NodeBlock17 + %31 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg27 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %31, i32 0, i32 7 + %arraydecay28 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg27, i64 0, i64 0 + %gp_offset_p29 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay28, i32 0, i32 0 + %gp_offset30 = load i32, i32* %gp_offset_p29, align 8 + %fits_in_gp31 = icmp ule i32 %gp_offset30, 40 + br i1 %fits_in_gp31, label %vaarg.in_reg32, label %vaarg.in_mem34 + +vaarg.in_reg32: ; preds = %sw.bb + %32 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay28, i32 0, i32 3 + %reg_save_area33 = load i8*, i8** %32, align 8 + %33 = getelementptr i8, i8* %reg_save_area33, i32 %gp_offset30 + %34 = bitcast i8* %33 to i64* + %35 = add i32 %gp_offset30, 8 + store i32 %35, i32* %gp_offset_p29, align 8 + br label %vaarg.end38 + +vaarg.in_mem34: ; preds = %sw.bb + %overflow_arg_area_p35 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay28, i32 0, i32 2 + %overflow_arg_area36 = load i8*, i8** %overflow_arg_area_p35, align 8 + %36 = bitcast i8* %overflow_arg_area36 to i64* + %overflow_arg_area.next37 = getelementptr i8, i8* %overflow_arg_area36, i32 8 + store i8* %overflow_arg_area.next37, i8** %overflow_arg_area_p35, align 8 + br label %vaarg.end38 + +vaarg.end38: ; preds = %vaarg.in_mem34, %vaarg.in_reg32 + %vaarg.addr39 = phi i64* [ %34, %vaarg.in_reg32 ], [ %36, %vaarg.in_mem34 ] + %37 = load i64, i64* %vaarg.addr39, align 8 + %38 = load %union.anon.193*, %union.anon.193** %p, align 8 + %ull = bitcast %union.anon.193* %38 to i64* + store i64 %37, i64* %ull, align 8 + br label %sw.epilog + +sw.bb40: ; preds = %NodeBlock15 + %39 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg41 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %39, i32 0, i32 7 + %arraydecay42 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg41, i64 0, i64 0 + %gp_offset_p43 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay42, i32 0, i32 0 + %gp_offset44 = load i32, i32* %gp_offset_p43, align 8 + %fits_in_gp45 = icmp ule i32 %gp_offset44, 40 + br i1 %fits_in_gp45, label %vaarg.in_reg46, label %vaarg.in_mem48 + +vaarg.in_reg46: ; preds = %sw.bb40 + %40 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay42, i32 0, i32 3 + %reg_save_area47 = load i8*, i8** %40, align 8 + %41 = getelementptr i8, i8* %reg_save_area47, i32 %gp_offset44 + %42 = bitcast i8* %41 to i64* + %43 = add i32 %gp_offset44, 8 + store i32 %43, i32* %gp_offset_p43, align 8 + br label %vaarg.end52 + +vaarg.in_mem48: ; preds = %sw.bb40 + %overflow_arg_area_p49 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay42, i32 0, i32 2 + %overflow_arg_area50 = load i8*, i8** %overflow_arg_area_p49, align 8 + %44 = bitcast i8* %overflow_arg_area50 to i64* + %overflow_arg_area.next51 = getelementptr i8, i8* %overflow_arg_area50, i32 8 + store i8* %overflow_arg_area.next51, i8** %overflow_arg_area_p49, align 8 + br label %vaarg.end52 + +vaarg.end52: ; preds = %vaarg.in_mem48, %vaarg.in_reg46 + %vaarg.addr53 = phi i64* [ %42, %vaarg.in_reg46 ], [ %44, %vaarg.in_mem48 ] + %45 = load i64, i64* %vaarg.addr53, align 8 + %46 = load %union.anon.193*, %union.anon.193** %p, align 8 + %ul = bitcast %union.anon.193* %46 to i64* + store i64 %45, i64* %ul, align 8 + br label %sw.epilog + +sw.bb54: ; preds = %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7 + %47 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg55 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %47, i32 0, i32 7 + %arraydecay56 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg55, i64 0, i64 0 + %gp_offset_p57 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay56, i32 0, i32 0 + %gp_offset58 = load i32, i32* %gp_offset_p57, align 8 + %fits_in_gp59 = icmp ule i32 %gp_offset58, 40 + br i1 %fits_in_gp59, label %vaarg.in_reg60, label %vaarg.in_mem62 + +vaarg.in_reg60: ; preds = %sw.bb54 + %48 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay56, i32 0, i32 3 + %reg_save_area61 = load i8*, i8** %48, align 8 + %49 = getelementptr i8, i8* %reg_save_area61, i32 %gp_offset58 + %50 = bitcast i8* %49 to i32* + %51 = add i32 %gp_offset58, 8 + store i32 %51, i32* %gp_offset_p57, align 8 + br label %vaarg.end66 + +vaarg.in_mem62: ; preds = %sw.bb54 + %overflow_arg_area_p63 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay56, i32 0, i32 2 + %overflow_arg_area64 = load i8*, i8** %overflow_arg_area_p63, align 8 + %52 = bitcast i8* %overflow_arg_area64 to i32* + %overflow_arg_area.next65 = getelementptr i8, i8* %overflow_arg_area64, i32 8 + store i8* %overflow_arg_area.next65, i8** %overflow_arg_area_p63, align 8 + br label %vaarg.end66 + +vaarg.end66: ; preds = %vaarg.in_mem62, %vaarg.in_reg60 + %vaarg.addr67 = phi i32* [ %50, %vaarg.in_reg60 ], [ %52, %vaarg.in_mem62 ] + %53 = load i32, i32* %vaarg.addr67, align 4 + %54 = load %union.anon.193*, %union.anon.193** %p, align 8 + %u68 = bitcast %union.anon.193* %54 to i32* + store i32 %53, i32* %u68, align 8 + br label %sw.epilog + +sw.bb69: ; preds = %NodeBlock5 + %55 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg70 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %55, i32 0, i32 7 + %arraydecay71 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg70, i64 0, i64 0 + %gp_offset_p72 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay71, i32 0, i32 0 + %gp_offset73 = load i32, i32* %gp_offset_p72, align 8 + %fits_in_gp74 = icmp ule i32 %gp_offset73, 40 + br i1 %fits_in_gp74, label %vaarg.in_reg75, label %vaarg.in_mem77 + +vaarg.in_reg75: ; preds = %sw.bb69 + %56 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay71, i32 0, i32 3 + %reg_save_area76 = load i8*, i8** %56, align 8 + %57 = getelementptr i8, i8* %reg_save_area76, i32 %gp_offset73 + %58 = bitcast i8* %57 to i32* + %59 = add i32 %gp_offset73, 8 + store i32 %59, i32* %gp_offset_p72, align 8 + br label %vaarg.end81 + +vaarg.in_mem77: ; preds = %sw.bb69 + %overflow_arg_area_p78 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay71, i32 0, i32 2 + %overflow_arg_area79 = load i8*, i8** %overflow_arg_area_p78, align 8 + %60 = bitcast i8* %overflow_arg_area79 to i32* + %overflow_arg_area.next80 = getelementptr i8, i8* %overflow_arg_area79, i32 8 + store i8* %overflow_arg_area.next80, i8** %overflow_arg_area_p78, align 8 + br label %vaarg.end81 + +vaarg.end81: ; preds = %vaarg.in_mem77, %vaarg.in_reg75 + %vaarg.addr82 = phi i32* [ %58, %vaarg.in_reg75 ], [ %60, %vaarg.in_mem77 ] + %61 = load i32, i32* %vaarg.addr82, align 4 + %62 = load %union.anon.193*, %union.anon.193** %p, align 8 + %wc = bitcast %union.anon.193* %62 to i32* + store i32 %61, i32* %wc, align 8 + br label %sw.epilog + +sw.bb83: ; preds = %NodeBlock3 + %63 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg84 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %63, i32 0, i32 7 + %arraydecay85 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg84, i64 0, i64 0 + %fp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay85, i32 0, i32 1 + %fp_offset = load i32, i32* %fp_offset_p, align 4 + %fits_in_fp = icmp ule i32 %fp_offset, 160 + br i1 %fits_in_fp, label %vaarg.in_reg86, label %vaarg.in_mem88 + +vaarg.in_reg86: ; preds = %sw.bb83 + %64 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay85, i32 0, i32 3 + %reg_save_area87 = load i8*, i8** %64, align 8 + %65 = getelementptr i8, i8* %reg_save_area87, i32 %fp_offset + %66 = bitcast i8* %65 to double* + %67 = add i32 %fp_offset, 16 + store i32 %67, i32* %fp_offset_p, align 4 + br label %vaarg.end92 + +vaarg.in_mem88: ; preds = %sw.bb83 + %overflow_arg_area_p89 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay85, i32 0, i32 2 + %overflow_arg_area90 = load i8*, i8** %overflow_arg_area_p89, align 8 + %68 = bitcast i8* %overflow_arg_area90 to double* + %overflow_arg_area.next91 = getelementptr i8, i8* %overflow_arg_area90, i32 8 + store i8* %overflow_arg_area.next91, i8** %overflow_arg_area_p89, align 8 + br label %vaarg.end92 + +vaarg.end92: ; preds = %vaarg.in_mem88, %vaarg.in_reg86 + %vaarg.addr93 = phi double* [ %66, %vaarg.in_reg86 ], [ %68, %vaarg.in_mem88 ] + %69 = load double, double* %vaarg.addr93, align 8 + %70 = load %union.anon.193*, %union.anon.193** %p, align 8 + %d = bitcast %union.anon.193* %70 to double* + store double %69, double* %d, align 8 + br label %sw.epilog + +sw.bb94: ; preds = %NodeBlock1 + %71 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg95 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %71, i32 0, i32 7 + %arraydecay96 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg95, i64 0, i64 0 + %fp_offset_p97 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay96, i32 0, i32 1 + %fp_offset98 = load i32, i32* %fp_offset_p97, align 4 + %fits_in_fp99 = icmp ule i32 %fp_offset98, 160 + br i1 %fits_in_fp99, label %vaarg.in_reg100, label %vaarg.in_mem102 + +vaarg.in_reg100: ; preds = %sw.bb94 + %72 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay96, i32 0, i32 3 + %reg_save_area101 = load i8*, i8** %72, align 8 + %73 = getelementptr i8, i8* %reg_save_area101, i32 %fp_offset98 + %74 = bitcast i8* %73 to double* + %75 = add i32 %fp_offset98, 16 + store i32 %75, i32* %fp_offset_p97, align 4 + br label %vaarg.end106 + +vaarg.in_mem102: ; preds = %sw.bb94 + %overflow_arg_area_p103 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay96, i32 0, i32 2 + %overflow_arg_area104 = load i8*, i8** %overflow_arg_area_p103, align 8 + %76 = bitcast i8* %overflow_arg_area104 to double* + %overflow_arg_area.next105 = getelementptr i8, i8* %overflow_arg_area104, i32 8 + store i8* %overflow_arg_area.next105, i8** %overflow_arg_area_p103, align 8 + br label %vaarg.end106 + +vaarg.end106: ; preds = %vaarg.in_mem102, %vaarg.in_reg100 + %vaarg.addr107 = phi double* [ %74, %vaarg.in_reg100 ], [ %76, %vaarg.in_mem102 ] + %77 = load double, double* %vaarg.addr107, align 8 + %78 = load %union.anon.193*, %union.anon.193** %p, align 8 + %ld = bitcast %union.anon.193* %78 to double* + store double %77, double* %ld, align 8 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.bb108 + +sw.bb108: ; preds = %newDefault + %79 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg109 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %79, i32 0, i32 7 + %arraydecay110 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg109, i64 0, i64 0 + %gp_offset_p111 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay110, i32 0, i32 0 + %gp_offset112 = load i32, i32* %gp_offset_p111, align 8 + %fits_in_gp113 = icmp ule i32 %gp_offset112, 40 + br i1 %fits_in_gp113, label %vaarg.in_reg114, label %vaarg.in_mem116 + +vaarg.in_reg114: ; preds = %sw.bb108 + %80 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay110, i32 0, i32 3 + %reg_save_area115 = load i8*, i8** %80, align 8 + %81 = getelementptr i8, i8* %reg_save_area115, i32 %gp_offset112 + %82 = bitcast i8* %81 to i8** + %83 = add i32 %gp_offset112, 8 + store i32 %83, i32* %gp_offset_p111, align 8 + br label %vaarg.end120 + +vaarg.in_mem116: ; preds = %sw.bb108 + %overflow_arg_area_p117 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay110, i32 0, i32 2 + %overflow_arg_area118 = load i8*, i8** %overflow_arg_area_p117, align 8 + %84 = bitcast i8* %overflow_arg_area118 to i8** + %overflow_arg_area.next119 = getelementptr i8, i8* %overflow_arg_area118, i32 8 + store i8* %overflow_arg_area.next119, i8** %overflow_arg_area_p117, align 8 + br label %vaarg.end120 + +vaarg.end120: ; preds = %vaarg.in_mem116, %vaarg.in_reg114 + %vaarg.addr121 = phi i8** [ %82, %vaarg.in_reg114 ], [ %84, %vaarg.in_mem116 ] + %85 = load i8*, i8** %vaarg.addr121, align 8 + %86 = load %union.anon.193*, %union.anon.193** %p, align 8 + %p122 = bitcast %union.anon.193* %86 to i8** + store i8* %85, i8** %p122, align 8 + br label %sw.epilog + +sw.epilog: ; preds = %vaarg.end120, %vaarg.end106, %vaarg.end92, %vaarg.end81, %vaarg.end66, %vaarg.end52, %vaarg.end38 + %87 = load %union.anon.193*, %union.anon.193** %p, align 8 + %incdec.ptr = getelementptr inbounds %union.anon.193, %union.anon.193* %87, i32 1 + store %union.anon.193* %incdec.ptr, %union.anon.193** %p, align 8 + br label %while.cond + +if.else: ; preds = %entry + br i1 %cmp1, label %if.then127, label %if.end133 + +if.then127: ; preds = %if.else + %88 = load %union.anon.193*, %union.anon.193** %p, align 8 + %89 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %89, i32 0, i32 5 + %arrayidx128 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber, i64 0, i64 0 + %90 = load i8, i8* %arrayidx128, align 8 + %conv = zext i8 %90 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds %union.anon.193, %union.anon.193* %88, i64 %idx.ext + %add.ptr129 = getelementptr inbounds %union.anon.193, %union.anon.193* %add.ptr, i64 -1 + %u130 = bitcast %union.anon.193* %add.ptr129 to i32* + %91 = load i32, i32* %u130, align 8 + %92 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info131 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %92, i32 0, i32 1 + %width132 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info131, i32 0, i32 1 + store i32 %91, i32* %width132, align 4 + br label %if.end133 + +if.end133: ; preds = %if.then127, %if.else + %93 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info134 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %93, i32 0, i32 1 + %prec135 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info134, i32 0, i32 0 + %94 = load i32, i32* %prec135, align 8 + %cmp136 = icmp eq i32 %94, -2147483648 + br i1 %cmp136, label %if.then138, label %if.end149 + +if.then138: ; preds = %if.end133 + %95 = load %union.anon.193*, %union.anon.193** %p, align 8 + %96 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber139 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %96, i32 0, i32 5 + %arrayidx140 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber139, i64 0, i64 1 + %97 = load i8, i8* %arrayidx140, align 1 + %conv141 = zext i8 %97 to i32 + %idx.ext142 = sext i32 %conv141 to i64 + %add.ptr143 = getelementptr inbounds %union.anon.193, %union.anon.193* %95, i64 %idx.ext142 + %add.ptr144 = getelementptr inbounds %union.anon.193, %union.anon.193* %add.ptr143, i64 -1 + %u145 = bitcast %union.anon.193* %add.ptr144 to i32* + %98 = load i32, i32* %u145, align 8 + %99 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info146 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %99, i32 0, i32 1 + %prec147 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info146, i32 0, i32 0 + store i32 %98, i32* %prec147, align 8 + br label %if.end149 + +if.end149: ; preds = %if.end133, %if.then138, %while.cond + %100 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info150 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %100, i32 0, i32 1 + %width151 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info150, i32 0, i32 1 + %101 = load i32, i32* %width151, align 4 + %cmp152 = icmp slt i32 %101, 0 + br i1 %cmp152, label %if.then154, label %if.end163 + +if.then154: ; preds = %if.end149 + %102 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info155 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %102, i32 0, i32 1 + %width156 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info155, i32 0, i32 1 + %103 = load i32, i32* %width156, align 4 + %sub = sub nsw i32 0, %103 + %104 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info157 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %104, i32 0, i32 1 + %width158 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info157, i32 0, i32 1 + store i32 %sub, i32* %width158, align 4 + %105 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info159 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %105, i32 0, i32 1 + %_flags = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info159, i32 0, i32 3 + %106 = load i32, i32* %_flags, align 4 + %or = or i32 %106, 8 + store i32 %or, i32* %_flags, align 4 + %107 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info160 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %107, i32 0, i32 1 + %_flags161 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info160, i32 0, i32 3 + %108 = load i32, i32* %_flags161, align 4 + %and = and i32 %108, -2 + store i32 %and, i32* %_flags161, align 4 + %109 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info162 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %109, i32 0, i32 1 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info162, i32 0, i32 4 + store i32 32, i32* %pad, align 8 + br label %if.end163 + +if.end163: ; preds = %if.then154, %if.end149 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_store_inttype(i8* %dest, i32 %desttype, i64 %val) #0 { +entry: + %dest.addr = alloca i8*, align 8 + %desttype.addr = alloca i32, align 4 + %val.addr = alloca i64, align 8 + store i8* %dest, i8** %dest.addr, align 8 + store i32 %desttype, i32* %desttype.addr, align 4 + store i64 %val, i64* %val.addr, align 8 + %0 = load i32, i32* %desttype.addr, align 4 + %cmp = icmp eq i32 %0, 256 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load i64, i64* %val.addr, align 8 + %conv = trunc i64 %1 to i8 + %2 = load i8*, i8** %dest.addr, align 8 + store i8 %conv, i8* %2, align 1 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* %desttype.addr, align 4 + %cmp1 = icmp eq i32 %3, 2048 + br i1 %cmp1, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.end + %4 = load i64, i64* %val.addr, align 8 + %5 = load i8*, i8** %dest.addr, align 8 + %6 = bitcast i8* %5 to i64* + store i64 %4, i64* %6, align 8 + br label %return + +if.end4: ; preds = %if.end + %7 = load i32, i32* %desttype.addr, align 4 + %cmp5 = icmp eq i32 %7, 512 + br i1 %cmp5, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end4 + %8 = load i64, i64* %val.addr, align 8 + %conv8 = trunc i64 %8 to i16 + %9 = load i8*, i8** %dest.addr, align 8 + %10 = bitcast i8* %9 to i16* + store i16 %conv8, i16* %10, align 2 + br label %return + +if.end9: ; preds = %if.end4 + %11 = load i32, i32* %desttype.addr, align 4 + %cmp10 = icmp eq i32 %11, 1024 + %12 = load i64, i64* %val.addr, align 8 + br i1 %cmp10, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.end9 + %13 = load i8*, i8** %dest.addr, align 8 + %14 = bitcast i8* %13 to i64* + store i64 %12, i64* %14, align 8 + br label %return + +if.end13: ; preds = %if.end9 + %conv14 = trunc i64 %12 to i32 + %15 = load i8*, i8** %dest.addr, align 8 + %16 = bitcast i8* %15 to i32* + store i32 %conv14, i32* %16, align 4 + br label %return + +return: ; preds = %if.end13, %if.then12, %if.then7, %if.then3, %if.then + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden i8* @_uintmaxtostr(i8* noalias %bufend, i64 %uval, i32 %base, i32 %alphacase) #0 { +entry: + %bufend.addr = alloca i8*, align 8 + %uval.addr = alloca i64, align 8 + %base.addr = alloca i32, align 4 + %alphacase.addr = alloca i32, align 4 + %negative = alloca i32, align 4 + %digit = alloca i32, align 4 + %H = alloca i32, align 4 + %L = alloca i32, align 4 + %high = alloca i32, align 4 + %low = alloca i32, align 4 + %rh = alloca i32, align 4 + %grouping = alloca i32, align 4 + %outdigit = alloca i32, align 4 + %g = alloca i8*, align 8 + store i8* %bufend, i8** %bufend.addr, align 8 + store i64 %uval, i64* %uval.addr, align 8 + store i32 %base, i32* %base.addr, align 4 + store i32 %alphacase, i32* %alphacase.addr, align 4 + store i32 0, i32* %negative, align 4 + %0 = load i32, i32* %base.addr, align 4 + %cmp = icmp slt i32 %0, 0 + br i1 %cmp, label %if.then, label %if.end4 + +if.then: ; preds = %entry + %1 = load i32, i32* %base.addr, align 4 + %sub = sub nsw i32 0, %1 + store i32 %sub, i32* %base.addr, align 4 + %2 = load i64, i64* %uval.addr, align 8 + %cmp1 = icmp ugt i64 %2, 9223372036854775807 + br i1 %cmp1, label %if.then2, label %if.end4 + +if.then2: ; preds = %if.then + %3 = load i64, i64* %uval.addr, align 8 + %sub3 = sub i64 0, %3 + store i64 %sub3, i64* %uval.addr, align 8 + store i32 1, i32* %negative, align 4 + br label %if.end4 + +if.end4: ; preds = %if.then, %if.then2, %entry + store i32 -1, i32* %grouping, align 4 + %4 = load i32, i32* %alphacase.addr, align 4 + %and = and i32 128, %4 + store i32 %and, i32* %outdigit, align 4 + %5 = load i32, i32* %outdigit, align 4 + %6 = load i32, i32* %alphacase.addr, align 4 + %xor = xor i32 %6, %5 + store i32 %xor, i32* %alphacase.addr, align 4 + %7 = load i32, i32* %alphacase.addr, align 4 + %cmp5 = icmp eq i32 %7, 44 + br i1 %cmp5, label %if.then6, label %if.end10 + +if.then6: ; preds = %if.end4 + %8 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %grouping7 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %8, i32 0, i32 41 + %9 = load i8*, i8** %grouping7, align 8 + store i8* %9, i8** %g, align 8 + %10 = load i8, i8* %9, align 1 + %tobool = icmp ne i8 %10, 0 + br i1 %tobool, label %if.then8, label %if.end10 + +if.then8: ; preds = %if.then6 + %11 = load i8*, i8** %g, align 8 + %12 = load i8, i8* %11, align 1 + %conv = sext i8 %12 to i32 + store i32 %conv, i32* %grouping, align 4 + br label %if.end10 + +if.end10: ; preds = %if.then6, %if.then8, %if.end4 + %13 = load i8*, i8** %bufend.addr, align 8 + store i8 0, i8* %13, align 1 + %14 = load i32, i32* %base.addr, align 4 + %div = udiv i32 -1, %14 + store i32 %div, i32* %H, align 4 + %15 = load i32, i32* %base.addr, align 4 + %rem = urem i32 -1, %15 + %add = add i32 %rem, 1 + store i32 %add, i32* %L, align 4 + %16 = load i32, i32* %L, align 4 + %17 = load i32, i32* %base.addr, align 4 + %cmp11 = icmp eq i32 %16, %17 + br i1 %cmp11, label %if.then13, label %if.end14 + +if.then13: ; preds = %if.end10 + %18 = load i32, i32* %H, align 4 + %inc = add i32 %18, 1 + store i32 %inc, i32* %H, align 4 + store i32 0, i32* %L, align 4 + br label %if.end14 + +if.end14: ; preds = %if.then13, %if.end10 + %19 = load i64, i64* %uval.addr, align 8 + %conv15 = trunc i64 %19 to i32 + store i32 %conv15, i32* %low, align 4 + %20 = load i64, i64* %uval.addr, align 8 + %shr = lshr i64 %20, 32 + %conv16 = trunc i64 %shr to i32 + store i32 %conv16, i32* %high, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %if.end14 + %21 = load i32, i32* %grouping, align 4 + %tobool17 = icmp ne i32 %21, 0 + br i1 %tobool17, label %if.end27, label %if.then18 + +if.then18: ; preds = %do.body + %22 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %thousands_sep_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %22, i32 0, i32 27 + %23 = load i32, i32* %thousands_sep_len, align 4 + %24 = load i8*, i8** %bufend.addr, align 8 + %idx.ext = sext i32 %23 to i64 + %idx.neg = sub i64 0, %idx.ext + %add.ptr = getelementptr inbounds i8, i8* %24, i64 %idx.neg + store i8* %add.ptr, i8** %bufend.addr, align 8 + %25 = load i8*, i8** %bufend.addr, align 8 + %26 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %thousands_sep = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %26, i32 0, i32 40 + %27 = load i8*, i8** %thousands_sep, align 8 + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %thousands_sep_len19 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %28, i32 0, i32 27 + %29 = load i32, i32* %thousands_sep_len19, align 4 + %conv20 = sext i32 %29 to i64 + %call = call i8* @memcpy(i8* %25, i8* %27, i64 %conv20) #19 + %30 = load i8*, i8** %g, align 8 + %arrayidx = getelementptr inbounds i8, i8* %30, i64 1 + %31 = load i8, i8* %arrayidx, align 1 + %conv21 = sext i8 %31 to i32 + %cmp22 = icmp ne i32 %conv21, 0 + br i1 %cmp22, label %if.then24, label %if.end25 + +if.then24: ; preds = %if.then18 + %32 = load i8*, i8** %g, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %32, i32 1 + store i8* %incdec.ptr, i8** %g, align 8 + br label %if.end25 + +if.end25: ; preds = %if.then24, %if.then18 + %33 = load i8*, i8** %g, align 8 + %34 = load i8, i8* %33, align 1 + %conv26 = sext i8 %34 to i32 + store i32 %conv26, i32* %grouping, align 4 + br label %if.end27 + +if.end27: ; preds = %if.end25, %do.body + %35 = load i32, i32* %grouping, align 4 + %dec = add nsw i32 %35, -1 + store i32 %dec, i32* %grouping, align 4 + %36 = load i32, i32* %high, align 4 + %tobool28 = icmp ne i32 %36, 0 + %lnot = xor i1 %tobool28, true + %lnot29 = xor i1 %lnot, true + %lnot.ext = zext i1 %lnot29 to i32 + %conv30 = sext i32 %lnot.ext to i64 + %tobool31 = icmp ne i64 %conv30, 0 + br i1 %tobool31, label %if.then32, label %if.else + +if.then32: ; preds = %if.end27 + %37 = load i32, i32* %high, align 4 + %38 = load i32, i32* %base.addr, align 4 + %rem33 = urem i32 %37, %38 + store i32 %rem33, i32* %rh, align 4 + %39 = load i32, i32* %base.addr, align 4 + %40 = load i32, i32* %high, align 4 + %div34 = udiv i32 %40, %39 + store i32 %div34, i32* %high, align 4 + %41 = load i32, i32* %low, align 4 + %42 = load i32, i32* %base.addr, align 4 + %rem35 = urem i32 %41, %42 + %43 = load i32, i32* %L, align 4 + %44 = load i32, i32* %rh, align 4 + %mul = mul i32 %43, %44 + %add36 = add i32 %rem35, %mul + store i32 %add36, i32* %digit, align 4 + %45 = load i32, i32* %low, align 4 + %46 = load i32, i32* %base.addr, align 4 + %div37 = udiv i32 %45, %46 + %47 = load i32, i32* %H, align 4 + %48 = load i32, i32* %rh, align 4 + %mul38 = mul i32 %47, %48 + %add39 = add i32 %div37, %mul38 + %49 = load i32, i32* %digit, align 4 + %50 = load i32, i32* %base.addr, align 4 + %div40 = udiv i32 %49, %50 + %add41 = add i32 %add39, %div40 + store i32 %add41, i32* %low, align 4 + %51 = load i32, i32* %base.addr, align 4 + %52 = load i32, i32* %digit, align 4 + %rem42 = urem i32 %52, %51 + store i32 %rem42, i32* %digit, align 4 + br label %if.end45 + +if.else: ; preds = %if.end27 + %53 = load i32, i32* %low, align 4 + %54 = load i32, i32* %base.addr, align 4 + %rem43 = urem i32 %53, %54 + store i32 %rem43, i32* %digit, align 4 + %55 = load i32, i32* %base.addr, align 4 + %56 = load i32, i32* %low, align 4 + %div44 = udiv i32 %56, %55 + store i32 %div44, i32* %low, align 4 + br label %if.end45 + +if.end45: ; preds = %if.else, %if.then32 + %57 = load i32, i32* %outdigit, align 4 + %tobool46 = icmp ne i32 %57, 0 + %lnot47 = xor i1 %tobool46, true + %lnot49 = xor i1 %lnot47, true + %lnot.ext50 = zext i1 %lnot49 to i32 + %conv51 = sext i32 %lnot.ext50 to i64 + %tobool52 = icmp ne i64 %conv51, 0 + br i1 %tobool52, label %if.then53, label %if.else66 + +if.then53: ; preds = %if.end45 + %58 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %outdigit_length = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %58, i32 0, i32 11 + %59 = load i32, i32* %digit, align 4 + %idxprom = zext i32 %59 to i64 + %arrayidx54 = getelementptr inbounds [10 x i8], [10 x i8]* %outdigit_length, i64 0, i64 %idxprom + %60 = load i8, i8* %arrayidx54, align 1 + %conv55 = zext i8 %60 to i32 + %61 = load i8*, i8** %bufend.addr, align 8 + %idx.ext56 = sext i32 %conv55 to i64 + %idx.neg57 = sub i64 0, %idx.ext56 + %add.ptr58 = getelementptr inbounds i8, i8* %61, i64 %idx.neg57 + store i8* %add.ptr58, i8** %bufend.addr, align 8 + %62 = load i8*, i8** %bufend.addr, align 8 + %63 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %outdigit0_mb = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %63, i32 0, i32 28 + %64 = load i32, i32* %digit, align 4 + %idxprom59 = zext i32 %64 to i64 + %arrayidx60 = getelementptr inbounds i8*, i8** %outdigit0_mb, i64 %idxprom59 + %65 = load i8*, i8** %arrayidx60, align 8 + %66 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %outdigit_length61 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %66, i32 0, i32 11 + %67 = load i32, i32* %digit, align 4 + %idxprom62 = zext i32 %67 to i64 + %arrayidx63 = getelementptr inbounds [10 x i8], [10 x i8]* %outdigit_length61, i64 0, i64 %idxprom62 + %68 = load i8, i8* %arrayidx63, align 1 + %conv64 = zext i8 %68 to i64 + %call65 = call i8* @memcpy(i8* %62, i8* %65, i64 %conv64) #19 + br label %do.cond + +if.else66: ; preds = %if.end45 + %69 = load i32, i32* %digit, align 4 + %cmp67 = icmp ult i32 %69, 10 + %70 = load i32, i32* %digit, align 4 + %add69 = add i32 %70, 48 + %71 = load i32, i32* %alphacase.addr, align 4 + %add70 = add i32 %70, %71 + %cond = select i1 %cmp67, i32 %add69, i32 %add70 + %conv71 = trunc i32 %cond to i8 + %72 = load i8*, i8** %bufend.addr, align 8 + %incdec.ptr72 = getelementptr inbounds i8, i8* %72, i32 -1 + store i8* %incdec.ptr72, i8** %bufend.addr, align 8 + store i8 %conv71, i8* %incdec.ptr72, align 1 + br label %do.cond + +do.cond: ; preds = %if.then53, %if.else66 + %73 = load i32, i32* %low, align 4 + %74 = load i32, i32* %high, align 4 + %or = or i32 %73, %74 + %tobool74 = icmp ne i32 %or, 0 + br i1 %tobool74, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %75 = load i32, i32* %negative, align 4 + %tobool75 = icmp ne i32 %75, 0 + br i1 %tobool75, label %if.then76, label %if.end78 + +if.then76: ; preds = %do.end + %76 = load i8*, i8** %bufend.addr, align 8 + %incdec.ptr77 = getelementptr inbounds i8, i8* %76, i32 -1 + store i8* %incdec.ptr77, i8** %bufend.addr, align 8 + store i8 45, i8* %incdec.ptr77, align 1 + br label %if.end78 + +if.end78: ; preds = %if.then76, %do.end + %77 = load i8*, i8** %bufend.addr, align 8 + ret i8* %77 +} + +; Function Attrs: noinline nounwind uwtable +define hidden %struct.exit_function* @__new_exitfn() #0 { +entry: + %efp = alloca %struct.exit_function*, align 8 + %0 = load i32, i32* @__exit_slots, align 4 + %1 = load i32, i32* @__exit_count, align 4 + %add = add nsw i32 %1, 1 + %cmp = icmp slt i32 %0, %add + br i1 %cmp, label %if.then, label %if.end6 + +if.then: ; preds = %entry + %2 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + %3 = bitcast %struct.exit_function* %2 to i8* + %4 = load i32, i32* @__exit_slots, align 4 + %add1 = add nsw i32 %4, 20 + %conv = sext i32 %add1 to i64 + %mul = mul i64 %conv, 32 + %call = call noalias i8* @realloc(i8* %3, i64 %mul) #19 + %5 = bitcast i8* %call to %struct.exit_function* + store %struct.exit_function* %5, %struct.exit_function** %efp, align 8 + %6 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %cmp2 = icmp eq %struct.exit_function* %6, null + br i1 %cmp2, label %if.then4, label %if.end + +if.then4: ; preds = %if.then + store i32 12, i32* @errno, align 4 + br label %DONE + +if.end: ; preds = %if.then + %7 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + store %struct.exit_function* %7, %struct.exit_function** @__exit_function_table, align 8 + %8 = load i32, i32* @__exit_slots, align 4 + %add5 = add nsw i32 %8, 20 + store i32 %add5, i32* @__exit_slots, align 4 + br label %if.end6 + +if.end6: ; preds = %if.end, %entry + store void (i32)* @__exit_handler, void (i32)** @__exit_cleanup, align 8 + %9 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + %10 = load i32, i32* @__exit_count, align 4 + %inc = add nsw i32 %10, 1 + store i32 %inc, i32* @__exit_count, align 4 + %idxprom = sext i32 %10 to i64 + %arrayidx = getelementptr inbounds %struct.exit_function, %struct.exit_function* %9, i64 %idxprom + store %struct.exit_function* %arrayidx, %struct.exit_function** %efp, align 8 + %11 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %type = getelementptr inbounds %struct.exit_function, %struct.exit_function* %11, i32 0, i32 0 + store i64 1, i64* %type, align 8 + br label %DONE + +DONE: ; preds = %if.end6, %if.then4 + %12 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + ret %struct.exit_function* %12 +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @__exit_handler(i32 %status) #0 { +entry: + %status.addr = alloca i32, align 4 + %efp = alloca %struct.exit_function*, align 8 + store i32 %status, i32* %status.addr, align 4 + br label %while.cond + +while.cond: ; preds = %sw.epilog, %entry + %0 = load i32, i32* @__exit_count, align 4 + %tobool = icmp ne i32 %0, 0 + %1 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %2 = load i32, i32* @__exit_count, align 4 + %dec = add nsw i32 %2, -1 + store i32 %dec, i32* @__exit_count, align 4 + %idxprom = sext i32 %dec to i64 + %arrayidx = getelementptr inbounds %struct.exit_function, %struct.exit_function* %1, i64 %idxprom + store %struct.exit_function* %arrayidx, %struct.exit_function** %efp, align 8 + %3 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %type = getelementptr inbounds %struct.exit_function, %struct.exit_function* %3, i32 0, i32 0 + %4 = load i64, i64* %type, align 8 + br label %NodeBlock1 + +NodeBlock1: ; preds = %while.body + %case.cmp2 = icmp eq i64 %4, 2 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i64 %4, 3 + br i1 %case.cmp, label %sw.bb7, label %newDefault + +sw.bb: ; preds = %NodeBlock1 + %5 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs = getelementptr inbounds %struct.exit_function, %struct.exit_function* %5, i32 0, i32 1 + %on_exit = bitcast %union.anon.772* %funcs to %struct.anon.779* + %func = getelementptr inbounds %struct.anon.779, %struct.anon.779* %on_exit, i32 0, i32 0 + %6 = load void (i32, i8*)*, void (i32, i8*)** %func, align 8 + %tobool1 = icmp ne void (i32, i8*)* %6, null + br i1 %tobool1, label %if.then, label %sw.epilog + +if.then: ; preds = %sw.bb + %7 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs2 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %7, i32 0, i32 1 + %on_exit3 = bitcast %union.anon.772* %funcs2 to %struct.anon.779* + %func4 = getelementptr inbounds %struct.anon.779, %struct.anon.779* %on_exit3, i32 0, i32 0 + %8 = load void (i32, i8*)*, void (i32, i8*)** %func4, align 8 + %9 = load i32, i32* %status.addr, align 4 + %10 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs5 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %10, i32 0, i32 1 + %on_exit6 = bitcast %union.anon.772* %funcs5 to %struct.anon.779* + %arg = getelementptr inbounds %struct.anon.779, %struct.anon.779* %on_exit6, i32 0, i32 1 + %11 = load i8*, i8** %arg, align 8 + call void %8(i32 %9, i8* %11) #18 + br label %sw.epilog + +sw.bb7: ; preds = %NodeBlock + %12 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs8 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %12, i32 0, i32 1 + %cxa_atexit = bitcast %union.anon.772* %funcs8 to %struct.anon.0.771* + %func9 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit, i32 0, i32 0 + %13 = load void (i8*)*, void (i8*)** %func9, align 8 + %tobool10 = icmp ne void (i8*)* %13, null + br i1 %tobool10, label %if.then11, label %sw.epilog + +if.then11: ; preds = %sw.bb7 + %14 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs12 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %14, i32 0, i32 1 + %cxa_atexit13 = bitcast %union.anon.772* %funcs12 to %struct.anon.0.771* + %func14 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit13, i32 0, i32 0 + %15 = load void (i8*)*, void (i8*)** %func14, align 8 + %16 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs15 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %16, i32 0, i32 1 + %cxa_atexit16 = bitcast %union.anon.772* %funcs15 to %struct.anon.0.771* + %arg17 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit16, i32 0, i32 1 + %17 = load i8*, i8** %arg17, align 8 + call void %15(i8* %17) #18 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.epilog + +sw.epilog: ; preds = %newDefault, %sw.bb7, %if.then11, %sw.bb, %if.then + br label %while.cond + +while.end: ; preds = %while.cond + %tobool19 = icmp ne %struct.exit_function* %1, null + br i1 %tobool19, label %if.then20, label %if.end21 + +if.then20: ; preds = %while.end + %18 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + %19 = bitcast %struct.exit_function* %18 to i8* + call void @free(i8* %19) #19 + br label %if.end21 + +if.end21: ; preds = %if.then20, %while.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__xpg_strerror_r(i32 %errnum, i8* %strerrbuf, i64 %buflen) #0 { +entry: + %errnum.addr = alloca i32, align 4 + %strerrbuf.addr = alloca i8*, align 8 + %buflen.addr = alloca i64, align 8 + %s = alloca i8*, align 8 + %i = alloca i32, align 4 + %retval1 = alloca i32, align 4 + %buf = alloca [50 x i8], align 16 + store i32 %errnum, i32* %errnum.addr, align 4 + store i8* %strerrbuf, i8** %strerrbuf.addr, align 8 + store i64 %buflen, i64* %buflen.addr, align 8 + store i32 22, i32* %retval1, align 4 + %0 = load i32, i32* %errnum.addr, align 4 + store i32 %0, i32* %i, align 4 + %1 = load i32, i32* %i, align 4 + %cmp = icmp ult i32 %1, 125 + br i1 %cmp, label %if.then, label %if.end7 + +if.then: ; preds = %entry + store i8* getelementptr inbounds ([2906 x i8], [2906 x i8]* @_string_syserrmsgs, i64 0, i64 0), i8** %s, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.then + %2 = load i32, i32* %i, align 4 + %tobool = icmp ne i32 %2, 0 + %3 = load i8*, i8** %s, align 8 + %4 = load i8, i8* %3, align 1 + %tobool2 = icmp ne i8 %4, 0 + br i1 %tobool, label %for.body, label %for.end + +for.body: ; preds = %for.cond + br i1 %tobool2, label %for.inc, label %if.then3 + +if.then3: ; preds = %for.body + %5 = load i32, i32* %i, align 4 + %dec = add nsw i32 %5, -1 + store i32 %dec, i32* %i, align 4 + br label %for.inc + +for.inc: ; preds = %for.body, %if.then3 + %6 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + br i1 %tobool2, label %if.then5, label %if.end7 + +if.then5: ; preds = %for.end + store i32 0, i32* %retval1, align 4 + br label %GOT_MESG + +if.end7: ; preds = %for.end, %entry + %arraydecay = getelementptr inbounds [50 x i8], [50 x i8]* %buf, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 50 + %add.ptr8 = getelementptr inbounds i8, i8* %add.ptr, i64 -1 + %7 = load i32, i32* %errnum.addr, align 4 + %conv = sext i32 %7 to i64 + %call = call i8* @_uintmaxtostr(i8* %add.ptr8, i64 %conv, i32 -10, i32 0) #18 + %add.ptr9 = getelementptr inbounds i8, i8* %call, i64 -14 + store i8* %add.ptr9, i8** %s, align 8 + %8 = load i8*, i8** %s, align 8 + %call10 = call i8* @memcpy(i8* %8, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @__xpg_strerror_r.unknown, i64 0, i64 0), i64 14) #19 + br label %GOT_MESG + +GOT_MESG: ; preds = %if.end7, %if.then5 + %9 = load i8*, i8** %strerrbuf.addr, align 8 + %tobool11 = icmp ne i8* %9, null + br i1 %tobool11, label %if.end13, label %if.then12 + +if.then12: ; preds = %GOT_MESG + store i64 0, i64* %buflen.addr, align 8 + br label %if.end13 + +if.end13: ; preds = %if.then12, %GOT_MESG + %10 = load i8*, i8** %s, align 8 + %call14 = call i64 @strlen(i8* %10) #20 + %add = add i64 %call14, 1 + %conv15 = trunc i64 %add to i32 + store i32 %conv15, i32* %i, align 4 + %11 = load i32, i32* %i, align 4 + %conv16 = sext i32 %11 to i64 + %12 = load i64, i64* %buflen.addr, align 8 + %cmp17 = icmp ugt i64 %conv16, %12 + br i1 %cmp17, label %if.then19, label %if.end21 + +if.then19: ; preds = %if.end13 + %13 = load i64, i64* %buflen.addr, align 8 + %conv20 = trunc i64 %13 to i32 + store i32 %conv20, i32* %i, align 4 + store i32 34, i32* %retval1, align 4 + br label %if.end21 + +if.end21: ; preds = %if.then19, %if.end13 + %14 = load i32, i32* %i, align 4 + %tobool22 = icmp ne i32 %14, 0 + br i1 %tobool22, label %if.then23, label %if.end26 + +if.then23: ; preds = %if.end21 + %15 = load i8*, i8** %strerrbuf.addr, align 8 + %16 = load i8*, i8** %s, align 8 + %17 = load i32, i32* %i, align 4 + %conv24 = sext i32 %17 to i64 + %call25 = call i8* @memcpy(i8* %15, i8* %16, i64 %conv24) #19 + %18 = load i8*, i8** %strerrbuf.addr, align 8 + %19 = load i32, i32* %i, align 4 + %sub = sub nsw i32 %19, 1 + %idxprom = sext i32 %sub to i64 + %arrayidx = getelementptr inbounds i8, i8* %18, i64 %idxprom + store i8 0, i8* %arrayidx, align 1 + br label %if.end26 + +if.end26: ; preds = %if.then23, %if.end21 + %20 = load i32, i32* %retval1, align 4 + %tobool27 = icmp ne i32 %20, 0 + br i1 %tobool27, label %if.then28, label %if.end29 + +if.then28: ; preds = %if.end26 + %21 = load i32, i32* %retval1, align 4 + store i32 %21, i32* @errno, align 4 + br label %if.end29 + +if.end29: ; preds = %if.then28, %if.end26 + %22 = load i32, i32* %retval1, align 4 + ret i32 %22 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i64 @strnlen(i8* nonnull %s, i64 %max) #14 { +entry: + %s.addr = alloca i8*, align 8 + %max.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i64 %max, i64* %max.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %1 = load i64, i64* %max.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %2 = load i8*, i8** %p, align 8 + %3 = load i8, i8* %2, align 1 + %conv = sext i8 %3 to i32 + %tobool1 = icmp ne i32 %conv, 0 + br label %land.end + +land.end: ; preds = %land.rhs, %while.cond + %4 = phi i1 [ false, %while.cond ], [ %tobool1, %land.rhs ] + %5 = load i8*, i8** %p, align 8 + br i1 %4, label %while.body, label %while.end + +while.body: ; preds = %land.end + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %6 = load i64, i64* %max.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %max.addr, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %7 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind uwtable +define i8* @strtok_r(i8* noalias %s1, i8* noalias nonnull %s2, i8** noalias nonnull %next_start) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %next_start.addr = alloca i8**, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i8** %next_start, i8*** %next_start.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + %cmp = icmp ne i8* %0, null + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %1 = load i8**, i8*** %next_start.addr, align 8 + %2 = load i8*, i8** %1, align 8 + store i8* %2, i8** %s, align 8 + %cmp1 = icmp ne i8* %2, null + br i1 %cmp1, label %if.then, label %if.end7 + +if.then: ; preds = %lor.lhs.false, %entry + %3 = load i8*, i8** %s, align 8 + %4 = load i8*, i8** %s2.addr, align 8 + %call = call i64 @strspn(i8* %3, i8* %4) #20 + %5 = load i8*, i8** %s, align 8 + %add.ptr = getelementptr inbounds i8, i8* %5, i64 %call + store i8* %add.ptr, i8** %s, align 8 + %6 = load i8, i8* %add.ptr, align 1 + %tobool = icmp ne i8 %6, 0 + br i1 %tobool, label %if.then2, label %if.else + +if.then2: ; preds = %if.then + %7 = load i8*, i8** %s, align 8 + %8 = load i8*, i8** %s2.addr, align 8 + %call3 = call i8* @strpbrk(i8* %7, i8* %8) #20 + store i8* %call3, i8** %p, align 8 + %cmp4 = icmp ne i8* %call3, null + br i1 %cmp4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.then2 + %9 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + store i8 0, i8* %9, align 1 + br label %if.end6 + +if.else: ; preds = %if.then + store i8* null, i8** %s, align 8 + store i8* null, i8** %p, align 8 + br label %if.end6 + +if.end6: ; preds = %if.then2, %if.then5, %if.else + %10 = load i8*, i8** %p, align 8 + %11 = load i8**, i8*** %next_start.addr, align 8 + store i8* %10, i8** %11, align 8 + br label %if.end7 + +if.end7: ; preds = %if.end6, %lor.lhs.false + %12 = load i8*, i8** %s, align 8 + ret i8* %12 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @mbsrtowcs(i32* noalias %dst, i8** noalias %src, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %dst.addr = alloca i32*, align 8 + %src.addr = alloca i8**, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + store i32* %dst, i32** %dst.addr, align 8 + store i8** %src, i8*** %src.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load i32*, i32** %dst.addr, align 8 + %1 = load i8**, i8*** %src.addr, align 8 + %2 = load i64, i64* %len.addr, align 8 + %3 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %cmp = icmp ne %struct.__mbstate_t.512* %3, null + %4 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %cond = select i1 %cmp, %struct.__mbstate_t.512* %4, %struct.__mbstate_t.512* @mbsrtowcs.mbstate + %call = call i64 @mbsnrtowcs(i32* %0, i8** %1, i64 -1, i64 %2, %struct.__mbstate_t.512* %cond) #19 + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define i64 @wcsnrtombs(i8* noalias %dst, i32** noalias %src, i64 %NWC, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %retval = alloca i64, align 8 + %dst.addr = alloca i8*, align 8 + %src.addr = alloca i32**, align 8 + %NWC.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %s = alloca i32*, align 8 + %count = alloca i64, align 8 + %incr = alloca i32, align 4 + %buf = alloca [16 x i8], align 16 + %wc = alloca i32, align 4 + %u = alloca i32, align 4 + store i8* %dst, i8** %dst.addr, align 8 + store i32** %src, i32*** %src.addr, align 8 + store i64 %NWC, i64* %NWC.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 9 + %1 = load i8, i8* %encoding, align 8 + %conv = zext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load i8*, i8** %dst.addr, align 8 + %3 = load i64, i64* %len.addr, align 8 + %4 = load i32**, i32*** %src.addr, align 8 + %5 = load i64, i64* %NWC.addr, align 8 + %call = call i64 @_wchar_wcsntoutf8s(i8* %2, i64 %3, i32** %4, i64 %5) #18 + store i64 %call, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + store i32 1, i32* %incr, align 4 + %6 = load i8*, i8** %dst.addr, align 8 + %tobool = icmp ne i8* %6, null + br i1 %tobool, label %lor.lhs.false, label %if.then4 + +lor.lhs.false: ; preds = %if.end + %7 = load i8*, i8** %dst.addr, align 8 + %8 = load i32**, i32*** %src.addr, align 8 + %9 = bitcast i32** %8 to i8* + %cmp2 = icmp eq i8* %7, %9 + br i1 %cmp2, label %if.then4, label %if.end8 + +if.then4: ; preds = %lor.lhs.false, %if.end + %10 = load i8*, i8** %dst.addr, align 8 + %tobool5 = icmp ne i8* %10, null + br i1 %tobool5, label %if.end7, label %if.then6 + +if.then6: ; preds = %if.then4 + store i64 -1, i64* %len.addr, align 8 + br label %if.end7 + +if.end7: ; preds = %if.then6, %if.then4 + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay, i8** %dst.addr, align 8 + store i32 0, i32* %incr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end7, %lor.lhs.false + %11 = load i64, i64* %len.addr, align 8 + %12 = load i64, i64* %NWC.addr, align 8 + %cmp9 = icmp ugt i64 %11, %12 + br i1 %cmp9, label %if.then11, label %if.end12 + +if.then11: ; preds = %if.end8 + %13 = load i64, i64* %NWC.addr, align 8 + store i64 %13, i64* %len.addr, align 8 + br label %if.end12 + +if.end12: ; preds = %if.then11, %if.end8 + %14 = load i64, i64* %len.addr, align 8 + store i64 %14, i64* %count, align 8 + %15 = load i32**, i32*** %src.addr, align 8 + %16 = load i32*, i32** %15, align 8 + store i32* %16, i32** %s, align 8 + %17 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding13 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %17, i32 0, i32 9 + %18 = load i8, i8* %encoding13, align 8 + %conv14 = zext i8 %18 to i32 + %cmp15 = icmp eq i32 %conv14, 2 + br i1 %cmp15, label %while.cond, label %while.cond52 + +while.cond: ; preds = %if.end12, %if.end45 + %19 = load i64, i64* %count, align 8 + %tobool18 = icmp ne i64 %19, 0 + br i1 %tobool18, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %20 = load i32*, i32** %s, align 8 + %21 = load i32, i32* %20, align 4 + store i32 %21, i32* %wc, align 4 + %cmp19 = icmp ule i32 %21, 127 + br i1 %cmp19, label %if.then21, label %if.else + +if.then21: ; preds = %while.body + %22 = load i32, i32* %wc, align 4 + %conv22 = trunc i32 %22 to i8 + %23 = load i8*, i8** %dst.addr, align 8 + store i8 %conv22, i8* %23, align 1 + %tobool23 = icmp ne i8 %conv22, 0 + br i1 %tobool23, label %if.end45, label %if.then24 + +if.then24: ; preds = %if.then21 + store i32* null, i32** %s, align 8 + br label %while.end + +if.else: ; preds = %while.body + store i32 0, i32* %u, align 4 + %24 = load i32, i32* %wc, align 4 + %cmp26 = icmp ule i32 %24, 9727 + br i1 %cmp26, label %if.then28, label %if.end42 + +if.then28: ; preds = %if.else + %25 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %idx8wc2c = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %25, i32 0, i32 18 + %26 = load i8*, i8** %idx8wc2c, align 8 + %27 = load i32, i32* %wc, align 4 + %shr = lshr i32 %27, 8 + %idxprom = zext i32 %shr to i64 + %arrayidx = getelementptr inbounds i8, i8* %26, i64 %idxprom + %28 = load i8, i8* %arrayidx, align 1 + %conv29 = zext i8 %28 to i32 + store i32 %conv29, i32* %u, align 4 + %29 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %tbl8wc2c = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %29, i32 0, i32 19 + %30 = load i8*, i8** %tbl8wc2c, align 8 + %31 = load i32, i32* %u, align 4 + %shl = shl i32 %31, 4 + %32 = load i32, i32* %wc, align 4 + %shr30 = lshr i32 %32, 4 + %and = and i32 %shr30, 15 + %add = add i32 %shl, %and + %idxprom31 = zext i32 %add to i64 + %arrayidx32 = getelementptr inbounds i8, i8* %30, i64 %idxprom31 + %33 = load i8, i8* %arrayidx32, align 1 + %conv33 = zext i8 %33 to i32 + store i32 %conv33, i32* %u, align 4 + %34 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %tbl8wc2c34 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %34, i32 0, i32 19 + %35 = load i8*, i8** %tbl8wc2c34, align 8 + %36 = load i32, i32* %u, align 4 + %shl35 = shl i32 %36, 4 + %add36 = add i32 1072, %shl35 + %37 = load i32, i32* %wc, align 4 + %and37 = and i32 %37, 15 + %add38 = add i32 %add36, %and37 + %idxprom39 = zext i32 %add38 to i64 + %arrayidx40 = getelementptr inbounds i8, i8* %35, i64 %idxprom39 + %38 = load i8, i8* %arrayidx40, align 1 + %conv41 = zext i8 %38 to i32 + store i32 %conv41, i32* %u, align 4 + br label %if.end42 + +if.end42: ; preds = %if.then28, %if.else + %39 = load i32, i32* %u, align 4 + %tobool43 = icmp ne i32 %39, 0 + %40 = load i32, i32* %u, align 4 + %cond = select i1 %tobool43, i32 %40, i32 63 + %conv44 = trunc i32 %cond to i8 + %41 = load i8*, i8** %dst.addr, align 8 + store i8 %conv44, i8* %41, align 1 + br label %if.end45 + +if.end45: ; preds = %if.then21, %if.end42 + %42 = load i32*, i32** %s, align 8 + %incdec.ptr = getelementptr inbounds i32, i32* %42, i32 1 + store i32* %incdec.ptr, i32** %s, align 8 + %43 = load i32, i32* %incr, align 4 + %44 = load i8*, i8** %dst.addr, align 8 + %idx.ext = sext i32 %43 to i64 + %add.ptr = getelementptr inbounds i8, i8* %44, i64 %idx.ext + store i8* %add.ptr, i8** %dst.addr, align 8 + %45 = load i64, i64* %count, align 8 + %dec = add i64 %45, -1 + store i64 %dec, i64* %count, align 8 + br label %while.cond + +while.end: ; preds = %if.then24, %while.cond + %46 = load i8*, i8** %dst.addr, align 8 + %arraydecay46 = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + %cmp47 = icmp ne i8* %46, %arraydecay46 + br i1 %cmp47, label %if.then49, label %if.end50 + +if.then49: ; preds = %while.end + %47 = load i32*, i32** %s, align 8 + %48 = load i32**, i32*** %src.addr, align 8 + store i32* %47, i32** %48, align 8 + br label %if.end50 + +if.end50: ; preds = %if.then49, %while.end + %49 = load i64, i64* %len.addr, align 8 + %50 = load i64, i64* %count, align 8 + %sub = sub i64 %49, %50 + store i64 %sub, i64* %retval, align 8 + br label %return + +while.cond52: ; preds = %if.end12, %if.end64 + %51 = load i64, i64* %count, align 8 + %tobool53 = icmp ne i64 %51, 0 + br i1 %tobool53, label %while.body54, label %while.end69 + +while.body54: ; preds = %while.cond52 + %52 = load i32*, i32** %s, align 8 + %53 = load i32, i32* %52, align 4 + %cmp55 = icmp uge i32 %53, 128 + br i1 %cmp55, label %if.then57, label %if.end58 + +if.then57: ; preds = %while.body54 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end58: ; preds = %while.body54 + %54 = load i32*, i32** %s, align 8 + %55 = load i32, i32* %54, align 4 + %conv59 = trunc i32 %55 to i8 + %56 = load i8*, i8** %dst.addr, align 8 + store i8 %conv59, i8* %56, align 1 + %conv60 = sext i8 %conv59 to i32 + %cmp61 = icmp eq i32 %conv60, 0 + br i1 %cmp61, label %if.then63, label %if.end64 + +if.then63: ; preds = %if.end58 + store i32* null, i32** %s, align 8 + br label %while.end69 + +if.end64: ; preds = %if.end58 + %57 = load i32*, i32** %s, align 8 + %incdec.ptr65 = getelementptr inbounds i32, i32* %57, i32 1 + store i32* %incdec.ptr65, i32** %s, align 8 + %58 = load i32, i32* %incr, align 4 + %59 = load i8*, i8** %dst.addr, align 8 + %idx.ext66 = sext i32 %58 to i64 + %add.ptr67 = getelementptr inbounds i8, i8* %59, i64 %idx.ext66 + store i8* %add.ptr67, i8** %dst.addr, align 8 + %60 = load i64, i64* %count, align 8 + %dec68 = add i64 %60, -1 + store i64 %dec68, i64* %count, align 8 + br label %while.cond52 + +while.end69: ; preds = %if.then63, %while.cond52 + %61 = load i8*, i8** %dst.addr, align 8 + %arraydecay70 = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + %cmp71 = icmp ne i8* %61, %arraydecay70 + br i1 %cmp71, label %if.then73, label %if.end74 + +if.then73: ; preds = %while.end69 + %62 = load i32*, i32** %s, align 8 + %63 = load i32**, i32*** %src.addr, align 8 + store i32* %62, i32** %63, align 8 + br label %if.end74 + +if.end74: ; preds = %if.then73, %while.end69 + %64 = load i64, i64* %len.addr, align 8 + %65 = load i64, i64* %count, align 8 + %sub75 = sub i64 %64, %65 + store i64 %sub75, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end74, %if.then57, %if.end50, %if.then + %66 = load i64, i64* %retval, align 8 + ret i64 %66 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @memchr(i8* nonnull %s, i32 %c, i64 %n) #14 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %n.addr = alloca i64, align 8 + %r = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %r, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %1 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %2 = load i8*, i8** %r, align 8 + %3 = load i8, i8* %2, align 1 + %conv = zext i8 %3 to i32 + %4 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %4 to i8 + %conv2 = zext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + %5 = load i8*, i8** %r, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + store i8* %5, i8** %retval, align 8 + br label %return + +if.end: ; preds = %while.body + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %r, align 8 + %6 = load i64, i64* %n.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then + %7 = load i8*, i8** %retval, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @memrchr(i8* nonnull %s, i32 %c, i64 %n) #14 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %n.addr = alloca i64, align 8 + %r = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i64, i64* %n.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %0, i64 %1 + store i8* %add.ptr, i8** %r, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %2 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load i8*, i8** %r, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 -1 + store i8* %incdec.ptr, i8** %r, align 8 + %4 = load i8, i8* %incdec.ptr, align 1 + %conv = zext i8 %4 to i32 + %5 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %5 to i8 + %conv2 = zext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + %6 = load i8*, i8** %r, align 8 + store i8* %6, i8** %retval, align 8 + br label %return + +if.end: ; preds = %while.body + %7 = load i64, i64* %n.addr, align 8 + %dec = add i64 %7, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then + %8 = load i8*, i8** %retval, align 8 + ret i8* %8 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @strpbrk(i8* nonnull %s1, i8* nonnull %s2) #14 { +entry: + %retval = alloca i8*, align 8 + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc6, %entry + %1 = load i8*, i8** %s, align 8 + %2 = load i8, i8* %1, align 1 + %tobool = icmp ne i8 %2, 0 + br i1 %tobool, label %for.body, label %for.end8 + +for.body: ; preds = %for.cond + %3 = load i8*, i8** %s2.addr, align 8 + store i8* %3, i8** %p, align 8 + br label %for.cond1 + +for.cond1: ; preds = %for.inc, %for.body + %4 = load i8*, i8** %p, align 8 + %5 = load i8, i8* %4, align 1 + %tobool2 = icmp ne i8 %5, 0 + br i1 %tobool2, label %for.body3, label %for.inc6 + +for.body3: ; preds = %for.cond1 + %6 = load i8*, i8** %p, align 8 + %7 = load i8, i8* %6, align 1 + %conv = sext i8 %7 to i32 + %8 = load i8*, i8** %s, align 8 + %9 = load i8, i8* %8, align 1 + %conv4 = sext i8 %9 to i32 + %cmp = icmp eq i32 %conv, %conv4 + br i1 %cmp, label %if.then, label %for.inc + +if.then: ; preds = %for.body3 + %10 = load i8*, i8** %s, align 8 + store i8* %10, i8** %retval, align 8 + br label %return + +for.inc: ; preds = %for.body3 + %11 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %11, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + br label %for.cond1 + +for.inc6: ; preds = %for.cond1 + %12 = load i8*, i8** %s, align 8 + %incdec.ptr7 = getelementptr inbounds i8, i8* %12, i32 1 + store i8* %incdec.ptr7, i8** %s, align 8 + br label %for.cond + +for.end8: ; preds = %for.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %for.end8, %if.then + %13 = load i8*, i8** %retval, align 8 + ret i8* %13 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i64 @strspn(i8* nonnull %s1, i8* nonnull %s2) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %2 = load i8*, i8** %p, align 8 + %3 = load i8, i8* %2, align 1 + %tobool = icmp ne i8 %3, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %5 = load i8, i8* %4, align 1 + %conv = sext i8 %5 to i32 + %6 = load i8*, i8** %s, align 8 + %7 = load i8, i8* %6, align 1 + %conv1 = sext i8 %7 to i32 + %cmp = icmp eq i32 %conv, %conv1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + %8 = load i8*, i8** %s, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %8, i32 1 + store i8* %incdec.ptr3, i8** %s, align 8 + %9 = load i8*, i8** %s2.addr, align 8 + store i8* %9, i8** %p, align 8 + br label %if.end + +if.end: ; preds = %if.then, %while.body + br label %while.cond + +while.end: ; preds = %while.cond + %10 = load i8*, i8** %s, align 8 + %11 = load i8*, i8** %s1.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %10 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %11 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_wchar_wcsntoutf8s(i8* noalias %s, i64 %n, i32** noalias %src, i64 %wn) #0 { +entry: + %retval = alloca i64, align 8 + %s.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %src.addr = alloca i32**, align 8 + %wn.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + %len = alloca i64, align 8 + %t = alloca i64, align 8 + %wc = alloca i32, align 4 + %swc = alloca i32*, align 8 + %store = alloca i32, align 4 + %buf = alloca [16 x i8], align 16 + %m = alloca i8, align 1 + store i8* %s, i8** %s.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i32** %src, i32*** %src.addr, align 8 + store i64 %wn, i64* %wn.addr, align 8 + store i32 1, i32* %store, align 4 + %0 = load i8*, i8** %s.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %lor.lhs.false, label %if.then + +lor.lhs.false: ; preds = %entry + %1 = load i8*, i8** %s.addr, align 8 + %2 = load i32**, i32*** %src.addr, align 8 + %3 = bitcast i32** %2 to i8* + %cmp = icmp eq i8* %1, %3 + br i1 %cmp, label %if.then, label %if.end3 + +if.then: ; preds = %lor.lhs.false, %entry + %4 = load i8*, i8** %s.addr, align 8 + %tobool1 = icmp ne i8* %4, null + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + store i64 -1, i64* %n.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay, i8** %s.addr, align 8 + store i32 0, i32* %store, align 4 + br label %if.end3 + +if.end3: ; preds = %if.end, %lor.lhs.false + %5 = load i64, i64* %n.addr, align 8 + store i64 %5, i64* %t, align 8 + %6 = load i32**, i32*** %src.addr, align 8 + %7 = load i32*, i32** %6, align 8 + store i32* %7, i32** %swc, align 8 + br label %while.cond + +while.cond: ; preds = %if.end51, %if.end3 + %8 = load i64, i64* %wn.addr, align 8 + %tobool4 = icmp ne i64 %8, 0 + %9 = load i64, i64* %t, align 8 + %tobool5 = icmp ne i64 %9, 0 + %10 = select i1 %tobool4, i1 %tobool5, i1 false + br i1 %10, label %while.body, label %while.end52 + +while.body: ; preds = %while.cond + %11 = load i32*, i32** %swc, align 8 + %12 = load i32, i32* %11, align 4 + store i32 %12, i32* %wc, align 4 + %13 = load i32, i32* %wc, align 4 + %conv = trunc i32 %13 to i8 + %14 = load i8*, i8** %s.addr, align 8 + store i8 %conv, i8* %14, align 1 + store i64 1, i64* %len, align 8 + %15 = load i32, i32* %wc, align 4 + %cmp6 = icmp uge i32 %15, 128 + %16 = load i32, i32* %wc, align 4 + br i1 %cmp6, label %if.then8, label %if.else + +if.then8: ; preds = %while.body + %conv9 = zext i32 %16 to i64 + %cmp10 = icmp ugt i64 %conv9, 2147483647 + br i1 %cmp10, label %if.then19, label %lor.lhs.false12 + +lor.lhs.false12: ; preds = %if.then8 + %17 = load i32, i32* %wc, align 4 + %sub = sub i32 %17, 65534 + %cmp13 = icmp ult i32 %sub, 2 + br i1 %cmp13, label %if.then19, label %lor.lhs.false15 + +lor.lhs.false15: ; preds = %lor.lhs.false12 + %18 = load i32, i32* %wc, align 4 + %sub16 = sub i32 %18, 55296 + %cmp17 = icmp ult i32 %sub16, 2048 + br i1 %cmp17, label %if.then19, label %if.end20 + +if.then19: ; preds = %lor.lhs.false15, %lor.lhs.false12, %if.then8 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end20: ; preds = %lor.lhs.false15 + %19 = load i32, i32* %wc, align 4 + %shr = lshr i32 %19, 1 + store i32 %shr, i32* %wc, align 4 + %20 = load i8*, i8** %s.addr, align 8 + store i8* %20, i8** %p, align 8 + br label %do.body + +do.body: ; preds = %do.body, %if.end20 + %21 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %21, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %22 = load i32, i32* %wc, align 4 + %shr21 = lshr i32 %22, 5 + store i32 %shr21, i32* %wc, align 4 + %tobool22 = icmp ne i32 %shr21, 0 + br i1 %tobool22, label %do.body, label %do.end + +do.end: ; preds = %do.body + %23 = load i32*, i32** %swc, align 8 + %24 = load i32, i32* %23, align 4 + store i32 %24, i32* %wc, align 4 + %25 = load i8*, i8** %p, align 8 + %26 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %25 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %26 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %len, align 8 + %27 = load i64, i64* %t, align 8 + %cmp23 = icmp ugt i64 %sub.ptr.sub, %27 + br i1 %cmp23, label %while.end52, label %if.end26 + +if.end26: ; preds = %do.end + store i8 -128, i8* %m, align 1 + br label %while.cond27 + +while.cond27: ; preds = %while.body30, %if.end26 + %28 = load i8*, i8** %p, align 8 + %29 = load i8*, i8** %s.addr, align 8 + %cmp28 = icmp ugt i8* %28, %29 + %30 = load i8, i8* %m, align 1 + %conv31 = sext i8 %30 to i32 + br i1 %cmp28, label %while.body30, label %while.end + +while.body30: ; preds = %while.cond27 + %shr32 = ashr i32 %conv31, 1 + %or = or i32 %shr32, 128 + %conv33 = trunc i32 %or to i8 + store i8 %conv33, i8* %m, align 1 + %31 = load i32, i32* %wc, align 4 + %and = and i32 %31, 63 + %or34 = or i32 %and, 128 + %conv35 = trunc i32 %or34 to i8 + %32 = load i8*, i8** %p, align 8 + %incdec.ptr36 = getelementptr inbounds i8, i8* %32, i32 -1 + store i8* %incdec.ptr36, i8** %p, align 8 + store i8 %conv35, i8* %incdec.ptr36, align 1 + %33 = load i32, i32* %wc, align 4 + %shr37 = lshr i32 %33, 6 + store i32 %shr37, i32* %wc, align 4 + br label %while.cond27 + +while.end: ; preds = %while.cond27 + %shl = shl i32 %conv31, 1 + %34 = load i8*, i8** %s.addr, align 8 + %35 = load i8, i8* %34, align 1 + %conv39 = sext i8 %35 to i32 + %or40 = or i32 %conv39, %shl + %conv41 = trunc i32 %or40 to i8 + store i8 %conv41, i8* %34, align 1 + br label %if.end46 + +if.else: ; preds = %while.body + %cmp42 = icmp eq i32 %16, 0 + br i1 %cmp42, label %if.then44, label %if.end46 + +if.then44: ; preds = %if.else + store i32* null, i32** %swc, align 8 + br label %while.end52 + +if.end46: ; preds = %if.else, %while.end + %36 = load i32*, i32** %swc, align 8 + %incdec.ptr47 = getelementptr inbounds i32, i32* %36, i32 1 + store i32* %incdec.ptr47, i32** %swc, align 8 + %37 = load i64, i64* %wn.addr, align 8 + %dec = add i64 %37, -1 + store i64 %dec, i64* %wn.addr, align 8 + %38 = load i64, i64* %len, align 8 + %39 = load i64, i64* %t, align 8 + %sub48 = sub i64 %39, %38 + store i64 %sub48, i64* %t, align 8 + %40 = load i32, i32* %store, align 4 + %tobool49 = icmp ne i32 %40, 0 + br i1 %tobool49, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.end46 + %41 = load i64, i64* %len, align 8 + %42 = load i8*, i8** %s.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %42, i64 %41 + store i8* %add.ptr, i8** %s.addr, align 8 + br label %if.end51 + +if.end51: ; preds = %if.then50, %if.end46 + br label %while.cond + +while.end52: ; preds = %do.end, %if.then44, %while.cond + %43 = load i32, i32* %store, align 4 + %tobool53 = icmp ne i32 %43, 0 + br i1 %tobool53, label %if.then54, label %if.end55 + +if.then54: ; preds = %while.end52 + %44 = load i32*, i32** %swc, align 8 + %45 = load i32**, i32*** %src.addr, align 8 + store i32* %44, i32** %45, align 8 + br label %if.end55 + +if.end55: ; preds = %if.then54, %while.end52 + %46 = load i64, i64* %n.addr, align 8 + %47 = load i64, i64* %t, align 8 + %sub56 = sub i64 %46, %47 + store i64 %sub56, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end55, %if.then19 + %48 = load i64, i64* %retval, align 8 + ret i64 %48 +} + +attributes #0 = { noinline nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #1 = { noinline noreturn nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #2 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #3 = { noinline nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #4 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #5 = { "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #6 = { noinline noreturn nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #7 = { noreturn "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #8 = { argmemonly nounwind willreturn writeonly } +attributes #9 = { argmemonly nounwind willreturn } +attributes #10 = { noreturn nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #11 = { nounwind } +attributes #12 = { noinline nounwind readnone uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #13 = { noreturn "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #14 = { noinline nounwind readonly uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #15 = { noinline nounwind readonly uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #16 = { noinline nounwind returns_twice uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #17 = { "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #18 = { nobuiltin "no-builtins" } +attributes #19 = { nobuiltin nounwind "no-builtins" } +attributes #20 = { nobuiltin nounwind readonly "no-builtins" } +attributes #21 = { nobuiltin nounwind readnone "no-builtins" } +attributes #22 = { nobuiltin noreturn nounwind "no-builtins" } +attributes #23 = { nounwind readonly } +attributes #24 = { noreturn } +attributes #25 = { nounwind readnone } +attributes #26 = { noreturn nounwind } +attributes #27 = { nobuiltin noreturn "no-builtins" } + +!llvm.module.flags = !{!0, !1} +!llvm.ident = !{!2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2} + +!0 = !{i32 1, !"wchar_size", i32 4} +!1 = !{i32 7, !"PIC Level", i32 2} +!2 = !{!"clang version 11.1.0 (https://github.com/llvm/llvm-project.git 1fdec59bffc11ae37eb51a1b9869f0696bfd5312)"} diff --git a/benchmarks/coreutils/gensym_posix/paste.ll b/benchmarks/coreutils/gensym_posix/paste.ll new file mode 100644 index 000000000..75573eaab --- /dev/null +++ b/benchmarks/coreutils/gensym_posix/paste.ll @@ -0,0 +1,31833 @@ +; ModuleID = '__uClibc_main.os' +source_filename = "libc/misc/internals/__uClibc_main.c" +target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" +target triple = "x86_64-unknown-linux-gnu" + +module asm ".section .gnu.warning.siggetmask" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.__fpending" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.gets" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.tmpnam" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.mktemp" +module asm "\09.previous" + +%struct.__uclibc_locale_struct.201 = type { i16*, i16*, i16*, [384 x i16], [384 x i16], [384 x i16], [14 x i8], [6 x i16], [6 x i8], i8, i8, [10 x i8], i8*, i8*, i8*, i8*, i8*, i16*, i8*, i8*, i16*, i8*, i8*, i16*, i32, i32, i32, i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__collate_t.200 } +%struct.__collate_t.200 = type { i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16*, i16*, i16*, i16*, i16*, i16*, i16*, i16*, i16*, i16 } +%struct.__STDIO_FILE_STRUCT.568 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.568*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__mbstate_t.512 = type { i32, i32 } +%struct.quoting_options = type { i32, i32, [8 x i32], i8*, i8* } +%struct.infomap = type { i8*, i8* } +%struct.option = type { i8*, i32, i32*, i32 } +%struct.slotvec = type { i64, i8* } +%struct.exe_file_t = type { i32, i32, i64, %struct.exe_disk_file_t* } +%struct.exe_disk_file_t = type { i32, i8*, %struct.stat64* } +%struct.stat64 = type { i64, i64, i64, i32, i32, i32, i32, i64, i64, i64, i64, %struct.timespec, %struct.timespec, %struct.timespec, [3 x i64] } +%struct.timespec = type { i64, i64 } +%struct.exe_file_system_t = type { i32, %struct.exe_disk_file_t*, %struct.exe_disk_file_t*, i32, %struct.exe_disk_file_t*, i32, i32*, i32*, i32*, i32*, i32*, i32*, i32* } +%struct.__locale_mmap_t.203 = type { [420 x i8], [504 x i8], [1760 x i16], [4528 x i8], [3604 x i8], [1680 x i8], [196 x i16], [51 x i8], [28 x i8], [1646 x i8], [28353 x i8], [1804 x i8], [23 x %struct.__codeset_8_bit_t.202], [20 x i8], [10 x i16], [20 x i16], [45 x i8], [3 x i16], [15 x i16], [3894 x i8], [22 x i16], [407 x i16], [8250 x i8], [50 x i16], [3429 x i16], [372 x i8], [4 x i16], [200 x i16], [91141 x i16], [6 x i8], [24 x i64], [2826 x i8], [835 x i8], [18 x i8], [69 x i8], [255 x i8] } +%struct.__codeset_8_bit_t.202 = type { [16 x i8], [16 x i8], [16 x i8], [38 x i8] } +%struct.utmp.323 = type { i16, i32, [32 x i8], [4 x i8], [32 x i8], [256 x i8], %struct.exit_status, i64, %struct.timespec, [4 x i32], [20 x i8] } +%struct.exit_status = type { i16, i16 } +%struct._getopt_data = type { i32, i32, i32, i8*, i32, i8*, i32, i32, i32, i32 } +%struct.exit_function = type { i64, %union.anon.772 } +%union.anon.772 = type { %struct.anon.0.771 } +%struct.anon.0.771 = type { void (i8*)*, i8*, i8* } +%struct.dirent64 = type { i64, i64, i16, i8, [256 x i8] } +%struct.__STDIO_FILE_STRUCT.581 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.581*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.592 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.592*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.608 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.608*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.621 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.621*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.636 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.636*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.Elf64_auxv_t = type { i64, %union.anon.193 } +%union.anon.193 = type { i64 } +%struct.stat.192 = type { i64, i64, i64, i32, i32, i32, i32, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, [3 x i64] } +%struct.__STDIO_FILE_STRUCT.513 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.513*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.exe_sym_env_t = type { [32 x %struct.exe_file_t], i32, i32, i32 } +%struct.__va_list_tag.0 = type { i32, i32, i8*, i8* } +%struct.termios = type { i32, i32, i32, i32, i8, [32 x i8], i32, i32 } +%struct.winsize = type { i16, i16, i16, i16 } +%struct.flock = type { i16, i16, i64, i64, i32 } +%struct.statfs = type { i64, i64, i64, i64, i64, i64, i64, %struct.__fsid_t, i64, i64, i64, [4 x i64] } +%struct.__fsid_t = type { [2 x i32] } +%struct.fd_set = type { [16 x i64] } +%struct.coldata_header_t = type { i16, i16, i16, i16, i16, i16, i16, i16 } +%struct.coldata_base_t = type { i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16 } +%struct._IO_FILE = type { i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct._IO_marker*, %struct._IO_FILE*, i32, i32, i64, i16, i8, [1 x i8], i8*, i64, %struct._IO_codecvt*, %struct._IO_wide_data*, %struct._IO_FILE*, i8*, i64, i32, [20 x i8] } +%struct._IO_marker = type opaque +%struct._IO_codecvt = type opaque +%struct._IO_wide_data = type opaque +%struct.__mbstate_t = type { i32, %union.anon } +%union.anon = type { i32 } +%struct.sigaction.800 = type { %union.anon.799, %struct.fd_set, i32, void ()* } +%union.anon.799 = type { void (i32)* } +%struct.tms = type { i64, i64, i64, i64 } +%struct.utmpx = type opaque +%struct.utmp = type { i16, i32, [32 x i8], [4 x i8], [32 x i8], [256 x i8], %struct.exit_status, i32, %struct.__mbstate_t.512, [4 x i32], [20 x i8] } +%struct.rusage = type { %struct.timespec, %struct.timespec, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193 } +%struct.siginfo_t = type { i32, i32, i32, i32, %union.anon.0 } +%union.anon.0 = type { %struct.anon.3, [80 x i8] } +%struct.anon.3 = type { i32, i32, i32, i64, i64 } +%struct.kernel_sigaction = type { void (i32)*, i64, void ()*, %struct.fd_set } +%struct.__jmp_buf_tag = type { [8 x i64], i32, %struct.fd_set } +%struct.__STDIO_FILE_STRUCT.519 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.519*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.612 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.612*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__kernel_termios = type { i32, i32, i32, i32, i8, [19 x i8] } +%struct.ppfs_t.722 = type { i8*, %struct.printf_info.720, i32, i32, i32, [4 x i8], [9 x i32], [1 x %struct.__va_list_tag.0], [9 x %union.anon.193] } +%struct.printf_info.720 = type { i32, i32, i32, i32, i32 } +%struct.anon.779 = type { void (i32, i8*)*, i8* } + +@__libc_stack_end = global i8* null, align 8 +@.str = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@__uclibc_progname = hidden global i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i32 0, i32 0), align 8 +@program_invocation_short_name = global i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i32 0, i32 0), align 8 +@program_invocation_name = global i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i32 0, i32 0), align 8 +@__environ = global i8** null, align 8 +@__pagesize = global i64 0, align 8 +@__uClibc_init.been_there_done_that = internal global i32 0, align 4 +@__app_fini = hidden global void ()* null, align 8 +@__rtld_fini = hidden global void ()* null, align 8 +@.str.1 = private unnamed_addr constant [10 x i8] c"/dev/null\00", align 1 +@llvm.used = appending global [5 x i8*] [i8* getelementptr inbounds ([57 x i8], [57 x i8]* @__evoke_link_warning_siggetmask, i32 0, i32 0), i8* getelementptr inbounds ([167 x i8], [167 x i8]* @__evoke_link_warning___fpending, i32 0, i32 0), i8* getelementptr inbounds ([57 x i8], [57 x i8]* @__evoke_link_warning_gets, i32 0, i32 0), i8* getelementptr inbounds ([55 x i8], [55 x i8]* @__evoke_link_warning_tmpnam, i32 0, i32 0), i8* getelementptr inbounds ([55 x i8], [55 x i8]* @__evoke_link_warning_mktemp, i32 0, i32 0)], section "llvm.metadata" +@__evoke_link_warning_siggetmask = internal constant [57 x i8] c"warning: `siggetmask' is obsolete; `sigprocmask' is best\00", section ".gnu.warning.siggetmask\0A#APP\0A\09#", align 16 +@__evoke_link_warning___fpending = internal constant [167 x i8] c"This version of __fpending returns bytes remaining in buffer for both narrow and wide streams. glibc's version returns wide chars in buffer for the wide stream case.\00", section ".gnu.warning.__fpending\0A#APP\0A\09#", align 16 +@__evoke_link_warning_gets = internal constant [57 x i8] c"the 'gets' function is dangerous and should not be used.\00", section ".gnu.warning.gets\0A#APP\0A\09#", align 16 +@__evoke_link_warning_tmpnam = internal constant [55 x i8] c"the use of `tmpnam' is dangerous, better use `mkstemp'\00", section ".gnu.warning.tmpnam\0A#APP\0A\09#", align 16 +@tmpnam_buffer = internal global [20 x i8] zeroinitializer, align 16 +@__evoke_link_warning_mktemp = internal constant [55 x i8] c"the use of `mktemp' is dangerous, better use `mkstemp'\00", section ".gnu.warning.mktemp\0A#APP\0A\09#", align 16 +@.str.4 = private unnamed_addr constant [77 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/fd.c\00", align 1 +@.str.27 = private unnamed_addr constant [37 x i8] c"ERROR: concretizing symbolic pointer\00", align 1 +@.str.28 = private unnamed_addr constant [9 x i8] c"user.err\00", align 1 +@.str.25 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@getcwd.n_calls = internal global i32 0, align 4 +@.str.5 = private unnamed_addr constant [46 x i8] c"Undefined call to open(): O_TRUNC | O_RDONLY\0A\00", align 1 +@.str.1.6 = private unnamed_addr constant [47 x i8] c"Undefined call to open(): O_EXCL w/o O_RDONLY\0A\00", align 1 +@.str.2 = private unnamed_addr constant [44 x i8] c"symbolic file descriptor, ignoring (ENOENT)\00", align 1 +@close.n_calls = internal global i32 0, align 4 +@read.n_calls = internal global i32 0, align 4 +@.str.3 = private unnamed_addr constant [12 x i8] c"f->off >= 0\00", align 1 +@__PRETTY_FUNCTION__.read = private unnamed_addr constant [34 x i8] c"ssize_t read(int, void *, size_t)\00", align 1 +@write.n_calls = internal global i32 0, align 4 +@.str.5.7 = private unnamed_addr constant [7 x i8] c"r >= 0\00", align 1 +@__PRETTY_FUNCTION__.write = private unnamed_addr constant [41 x i8] c"ssize_t write(int, const void *, size_t)\00", align 1 +@.str.6 = private unnamed_addr constant [2 x i8] c"0\00", align 1 +@.str.7 = private unnamed_addr constant [24 x i8] c"write() ignores bytes.\0A\00", align 1 +@.str.8 = private unnamed_addr constant [18 x i8] c"new_off == f->off\00", align 1 +@__PRETTY_FUNCTION__.__fd_lseek = private unnamed_addr constant [38 x i8] c"off64_t __fd_lseek(int, off64_t, int)\00", align 1 +@.str.9 = private unnamed_addr constant [33 x i8] c"symbolic file, ignoring (ENOENT)\00", align 1 +@chmod.n_calls = internal global i32 0, align 4 +@fchmod.n_calls = internal global i32 0, align 4 +@.str.26 = private unnamed_addr constant [32 x i8] c"symbolic file, ignoring (EPERM)\00", align 1 +@__fd_ftruncate.n_calls = internal global i32 0, align 4 +@.str.10 = private unnamed_addr constant [30 x i8] c"symbolic file, ignoring (EIO)\00", align 1 +@.str.11 = private unnamed_addr constant [33 x i8] c"symbolic file, ignoring (EINVAL)\00", align 1 +@.str.12 = private unnamed_addr constant [18 x i8] c"s != (off64_t) -1\00", align 1 +@__PRETTY_FUNCTION__.__fd_getdents = private unnamed_addr constant [65 x i8] c"int __fd_getdents(unsigned int, struct dirent64 *, unsigned int)\00", align 1 +@.str.13 = private unnamed_addr constant [22 x i8] c"f->off != (off64_t)-1\00", align 1 +@.str.14 = private unnamed_addr constant [41 x i8] c"(TCGETS) symbolic file, incomplete model\00", align 1 +@.str.15 = private unnamed_addr constant [42 x i8] c"(TCSETS) symbolic file, silently ignoring\00", align 1 +@.str.16 = private unnamed_addr constant [43 x i8] c"(TCSETSW) symbolic file, silently ignoring\00", align 1 +@.str.17 = private unnamed_addr constant [43 x i8] c"(TCSETSF) symbolic file, silently ignoring\00", align 1 +@.str.18 = private unnamed_addr constant [45 x i8] c"(TIOCGWINSZ) symbolic file, incomplete model\00", align 1 +@.str.19 = private unnamed_addr constant [46 x i8] c"(TIOCSWINSZ) symbolic file, ignoring (EINVAL)\00", align 1 +@.str.20 = private unnamed_addr constant [43 x i8] c"(FIONREAD) symbolic file, incomplete model\00", align 1 +@.str.21 = private unnamed_addr constant [44 x i8] c"(MTIOCGET) symbolic file, ignoring (EINVAL)\00", align 1 +@.str.22 = private unnamed_addr constant [32 x i8] c"symbolic file, ignoring (EBADF)\00", align 1 +@.str.23 = private unnamed_addr constant [17 x i8] c"ignoring (EPERM)\00", align 1 +@.str.24 = private unnamed_addr constant [18 x i8] c"ignoring (ENOENT)\00", align 1 +@__const.klee_init_env.sym_arg_name = private unnamed_addr constant [6 x i8] c"arg\00\00\00", align 1 +@.str.29 = private unnamed_addr constant [7 x i8] c"--help\00", align 1 +@.str.1.30 = private unnamed_addr constant [964 x i8] c"klee_init_env\0A\0Ausage: (klee_init_env) [options] [program arguments]\0A -sym-arg - Replace by a symbolic argument with length N\0A -sym-args - Replace by at least MIN arguments and at most\0A MAX arguments, each with maximum length N\0A -sym-files - Make NUM symbolic files ('A', 'B', 'C', etc.),\0A each with size N\0A -sym-stdin - Make stdin symbolic with size N.\0A -sym-stdout - Make stdout symbolic.\0A -save-all-writes - Allow write operations to execute as expected\0A even if they exceed the file size. If set to 0, all\0A writes exceeding the initial file size are discarded.\0A Note: file offset is always incremented.\0A -max-fail - Allow up to N injected failures\0A -fd-fail - Shortcut for '-max-fail 1'\0A\0A\00", align 1 +@.str.2.31 = private unnamed_addr constant [10 x i8] c"--sym-arg\00", align 1 +@.str.3.32 = private unnamed_addr constant [9 x i8] c"-sym-arg\00", align 1 +@.str.4.33 = private unnamed_addr constant [48 x i8] c"--sym-arg expects an integer argument \00", align 1 +@.str.5.34 = private unnamed_addr constant [45 x i8] c"No more than 100 symbolic arguments allowed.\00", align 1 +@.str.6.35 = private unnamed_addr constant [11 x i8] c"--sym-args\00", align 1 +@.str.7.36 = private unnamed_addr constant [10 x i8] c"-sym-args\00", align 1 +@.str.8.37 = private unnamed_addr constant [77 x i8] c"--sym-args expects three integer arguments \00", align 1 +@.str.9.38 = private unnamed_addr constant [28 x i8] c"Invalid range to --sym-args\00", align 1 +@.str.10.39 = private unnamed_addr constant [7 x i8] c"n_args\00", align 1 +@.str.11.40 = private unnamed_addr constant [12 x i8] c"--sym-files\00", align 1 +@.str.12.41 = private unnamed_addr constant [11 x i8] c"-sym-files\00", align 1 +@.str.13.42 = private unnamed_addr constant [72 x i8] c"--sym-files expects two integer arguments \00", align 1 +@.str.14.43 = private unnamed_addr constant [39 x i8] c"Multiple --sym-files are not allowed.\0A\00", align 1 +@.str.15.44 = private unnamed_addr constant [65 x i8] c"The first argument to --sym-files (number of files) cannot be 0\0A\00", align 1 +@.str.16.45 = private unnamed_addr constant [60 x i8] c"The second argument to --sym-files (file size) cannot be 0\0A\00", align 1 +@.str.17.46 = private unnamed_addr constant [12 x i8] c"--sym-stdin\00", align 1 +@.str.18.47 = private unnamed_addr constant [11 x i8] c"-sym-stdin\00", align 1 +@.str.19.48 = private unnamed_addr constant [57 x i8] c"--sym-stdin expects one integer argument \00", align 1 +@.str.20.49 = private unnamed_addr constant [13 x i8] c"--sym-stdout\00", align 1 +@.str.21.50 = private unnamed_addr constant [12 x i8] c"-sym-stdout\00", align 1 +@.str.22.51 = private unnamed_addr constant [18 x i8] c"--save-all-writes\00", align 1 +@.str.23.52 = private unnamed_addr constant [17 x i8] c"-save-all-writes\00", align 1 +@.str.24.53 = private unnamed_addr constant [10 x i8] c"--fd-fail\00", align 1 +@.str.25.54 = private unnamed_addr constant [9 x i8] c"-fd-fail\00", align 1 +@.str.26.55 = private unnamed_addr constant [12 x i8] c"--bout-file\00", align 1 +@.str.27.56 = private unnamed_addr constant [11 x i8] c"-bout-file\00", align 1 +@.str.28.57 = private unnamed_addr constant [11 x i8] c"--max-fail\00", align 1 +@.str.29.58 = private unnamed_addr constant [10 x i8] c"-max-fail\00", align 1 +@.str.30 = private unnamed_addr constant [54 x i8] c"--max-fail expects an integer argument \00", align 1 +@.str.31 = private unnamed_addr constant [31 x i8] c"out of memory in klee_init_env\00", align 1 +@.str.35 = private unnamed_addr constant [37 x i8] c"too many arguments for klee_init_env\00", align 1 +@.str.32 = private unnamed_addr constant [88 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/klee_init_env.c\00", align 1 +@.str.33 = private unnamed_addr constant [9 x i8] c"user.err\00", align 1 +@.str.34 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.68 = private unnamed_addr constant [5 x i8] c"file\00", align 1 +@.str.1.69 = private unnamed_addr constant [5 x i8] c"/tmp\00", align 1 +@.str.2.70 = private unnamed_addr constant [16 x i8] c"%.*s/%.*sXXXXXX\00", align 1 +@.str.3.73 = private unnamed_addr constant [7 x i8] c"XXXXXX\00", align 1 +@letters = internal constant [63 x i8] c"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\00", align 16 +@brain_damaged_fillrand.value = internal global i64 0, align 8 +@.str.4.74 = private unnamed_addr constant [13 x i8] c"/dev/urandom\00", align 1 +@.str.5.75 = private unnamed_addr constant [12 x i8] c"/dev/random\00", align 1 +@__global_locale_data = global %struct.__uclibc_locale_struct.201 zeroinitializer, align 8 +@__global_locale = global %struct.__uclibc_locale_struct.201* @__global_locale_data, align 8 +@__curlocale_var = global %struct.__uclibc_locale_struct.201* @__global_locale_data, align 8 +@utf8 = internal constant [6 x i8] c"UTF-8\00", align 1 +@ascii = internal constant [6 x i8] c"ASCII\00", align 1 +@__code2flag = internal constant [16 x i16] [i16 0, i16 -15352, i16 -14840, i16 -14584, i16 -15096, i16 -14328, i16 -16380, i16 -16384, i16 24576, i16 24577, i16 8192, i16 8193, i16 8194, i16 8195, i16 2, i16 0], align 16 +@.str.76 = private unnamed_addr constant [14 x i8] c"#\80\80\80\80\80\80\80\80\80\80\80\80\00", align 1 +@stdin = global %struct.__STDIO_FILE_STRUCT.568* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i32 0, i32 0), align 8 +@_stdio_streams = internal global [3 x %struct.__STDIO_FILE_STRUCT.568] [%struct.__STDIO_FILE_STRUCT.568 { i16 544, [2 x i8] zeroinitializer, i32 0, i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 88) to %struct.__STDIO_FILE_STRUCT.568*), [2 x i32] zeroinitializer, %struct.__mbstate_t.512 zeroinitializer, i8* null }, %struct.__STDIO_FILE_STRUCT.568 { i16 528, [2 x i8] zeroinitializer, i32 1, i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 176) to %struct.__STDIO_FILE_STRUCT.568*), [2 x i32] zeroinitializer, %struct.__mbstate_t.512 zeroinitializer, i8* null }, %struct.__STDIO_FILE_STRUCT.568 { i16 528, [2 x i8] zeroinitializer, i32 2, i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, %struct.__STDIO_FILE_STRUCT.568* null, [2 x i32] zeroinitializer, %struct.__mbstate_t.512 zeroinitializer, i8* null }], align 16 +@stdout = global %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 88) to %struct.__STDIO_FILE_STRUCT.568*), align 8 +@stderr = global %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 176) to %struct.__STDIO_FILE_STRUCT.568*), align 8 +@__stdin = global %struct.__STDIO_FILE_STRUCT.568* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i32 0, i32 0), align 8 +@__stdout = global %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 88) to %struct.__STDIO_FILE_STRUCT.568*), align 8 +@_stdio_openlist = global %struct.__STDIO_FILE_STRUCT.568* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i32 0, i32 0), align 8 +@been_there_done_that = internal global i32 0, align 4 +@__exit_cleanup = hidden global void (i32)* null, align 8 +@Version = dso_local global i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.44, i32 0, i32 0), align 8 +@.str.44 = private unnamed_addr constant [5 x i8] c"8.32\00", align 1 +@exit_failure = dso_local global i32 1, align 4 +@program_name = dso_local global i8* null, align 8 +@quoting_style_args = dso_local constant [11 x i8*] [i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.61, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1.62, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2.63, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.3.64, i32 0, i32 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.4.65, i32 0, i32 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.5.66, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.6.67, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.7.68, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.8.69, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.9.70, i32 0, i32 0), i8* null], align 16 +@.str.61 = private unnamed_addr constant [8 x i8] c"literal\00", align 1 +@.str.1.62 = private unnamed_addr constant [6 x i8] c"shell\00", align 1 +@.str.2.63 = private unnamed_addr constant [13 x i8] c"shell-always\00", align 1 +@.str.3.64 = private unnamed_addr constant [13 x i8] c"shell-escape\00", align 1 +@.str.4.65 = private unnamed_addr constant [20 x i8] c"shell-escape-always\00", align 1 +@.str.5.66 = private unnamed_addr constant [2 x i8] c"c\00", align 1 +@.str.6.67 = private unnamed_addr constant [8 x i8] c"c-maybe\00", align 1 +@.str.7.68 = private unnamed_addr constant [7 x i8] c"escape\00", align 1 +@.str.8.69 = private unnamed_addr constant [7 x i8] c"locale\00", align 1 +@.str.9.70 = private unnamed_addr constant [8 x i8] c"clocale\00", align 1 +@quoting_style_vals = dso_local constant [10 x i32] [i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9], align 16 +@quote_quoting_options = dso_local global %struct.quoting_options { i32 8, i32 0, [8 x i32] zeroinitializer, i8* null, i8* null }, align 8 +@version_etc_copyright = dso_local constant [47 x i8] c"Copyright %s %d Free Software Foundation, Inc.\00", align 16 +@.str.95 = private unnamed_addr constant [39 x i8] c"Try '%s --help' for more information.\0A\00", align 1 +@.str.1.96 = private unnamed_addr constant [33 x i8] c"Usage: %s [OPTION]... [FILE]...\0A\00", align 1 +@.str.2.97 = private unnamed_addr constant [119 x i8] c"Write lines consisting of the sequentially corresponding lines from\0Aeach FILE, separated by TABs, to standard output.\0A\00", align 1 +@.str.3.98 = private unnamed_addr constant [144 x i8] c" -d, --delimiters=LIST reuse characters from LIST instead of TABs\0A -s, --serial paste one file at a time instead of in parallel\0A\00", align 1 +@.str.4.99 = private unnamed_addr constant [63 x i8] c" -z, --zero-terminated line delimiter is NUL, not newline\0A\00", align 1 +@.str.5.100 = private unnamed_addr constant [45 x i8] c" --help display this help and exit\0A\00", align 1 +@.str.6.101 = private unnamed_addr constant [54 x i8] c" --version output version information and exit\0A\00", align 1 +@.str.7.102 = private unnamed_addr constant [6 x i8] c"paste\00", align 1 +@__const.emit_ancillary_info.infomap = private unnamed_addr constant [7 x %struct.infomap] [%struct.infomap { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.19.112, i32 0, i32 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.20.113, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.21.114, i32 0, i32 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.22.115, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.23.116, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.24.117, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.25.118, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.24.117, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.26.119, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.24.117, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.27.120, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.24.117, i32 0, i32 0) }, %struct.infomap zeroinitializer], align 16 +@.str.28.103 = private unnamed_addr constant [23 x i8] c"\0A%s online help: <%s>\0A\00", align 1 +@.str.12.104 = private unnamed_addr constant [14 x i8] c"GNU coreutils\00", align 1 +@.str.29.105 = private unnamed_addr constant [40 x i8] c"https://www.gnu.org/software/coreutils/\00", align 1 +@.str.30.106 = private unnamed_addr constant [4 x i8] c"en_\00", align 1 +@.str.31.107 = private unnamed_addr constant [71 x i8] c"Report any translation bugs to \0A\00", align 1 +@.str.32.108 = private unnamed_addr constant [27 x i8] c"Full documentation <%s%s>\0A\00", align 1 +@.str.34.109 = private unnamed_addr constant [12 x i8] c" invocation\00", align 1 +@.str.9.110 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@.str.33.111 = private unnamed_addr constant [51 x i8] c"or available locally via: info '(coreutils) %s%s'\0A\00", align 1 +@.str.19.112 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@.str.20.113 = private unnamed_addr constant [16 x i8] c"test invocation\00", align 1 +@.str.21.114 = private unnamed_addr constant [10 x i8] c"coreutils\00", align 1 +@.str.22.115 = private unnamed_addr constant [22 x i8] c"Multi-call invocation\00", align 1 +@.str.23.116 = private unnamed_addr constant [10 x i8] c"sha224sum\00", align 1 +@.str.24.117 = private unnamed_addr constant [15 x i8] c"sha2 utilities\00", align 1 +@.str.25.118 = private unnamed_addr constant [10 x i8] c"sha256sum\00", align 1 +@.str.26.119 = private unnamed_addr constant [10 x i8] c"sha384sum\00", align 1 +@.str.27.120 = private unnamed_addr constant [10 x i8] c"sha512sum\00", align 1 +@.str.18.121 = private unnamed_addr constant [75 x i8] c"\0AMandatory arguments to long options are mandatory for short options too.\0A\00", align 1 +@.str.17.122 = private unnamed_addr constant [56 x i8] c"\0AWith no FILE, or when FILE is -, read standard input.\0A\00", align 1 +@.str.8.125 = private unnamed_addr constant [2 x i8] c"\09\00", align 1 +@have_read_stdin = internal global i8 0, align 1 +@serial_merge = internal global i8 0, align 1 +@.str.10.126 = private unnamed_addr constant [5 x i8] c"d:sz\00", align 1 +@longopts = internal constant [6 x %struct.option] [%struct.option { i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.35.132, i32 0, i32 0), i32 0, i32* null, i32 115 }, %struct.option { i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.36, i32 0, i32 0), i32 1, i32* null, i32 100 }, %struct.option { i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.37, i32 0, i32 0), i32 0, i32* null, i32 122 }, %struct.option { i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.38, i32 0, i32 0), i32 0, i32* null, i32 -130 }, %struct.option { i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.39, i32 0, i32 0), i32 0, i32* null, i32 -131 }, %struct.option zeroinitializer], align 16 +@.str.11.127 = private unnamed_addr constant [3 x i8] c"\\0\00", align 1 +@line_delim = internal global i8 10, align 1 +@.str.13.128 = private unnamed_addr constant [15 x i8] c"David M. Ihnat\00", align 1 +@.str.14.129 = private unnamed_addr constant [16 x i8] c"David MacKenzie\00", align 1 +@.str.15.130 = private unnamed_addr constant [2 x i8] c"-\00", align 1 +@.str.16.131 = private unnamed_addr constant [52 x i8] c"delimiter list ends with an unescaped backslash: %s\00", align 1 +@delims = internal global i8* null, align 8 +@.str.40 = private unnamed_addr constant [2 x i8] c"r\00", align 1 +@.str.41 = private unnamed_addr constant [3 x i8] c"%s\00", align 1 +@.str.43 = private unnamed_addr constant [25 x i8] c"standard input is closed\00", align 1 +@delim_end = internal global i8* null, align 8 +@.str.42 = private unnamed_addr constant [12 x i8] c"write error\00", align 1 +@.str.125 = private unnamed_addr constant [3 x i8] c"%s\00", align 1 +@.str.1.126 = private unnamed_addr constant [17 x i8] c"memory exhausted\00", align 1 +@slotvec = internal global %struct.slotvec* @slotvec0, align 8 +@nslots = internal global i32 1, align 4 +@slotvec0 = internal global %struct.slotvec { i64 256, i8* getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i32 0, i32 0) }, align 8 +@slot0 = internal global [256 x i8] zeroinitializer, align 16 +@.str.10.71 = private unnamed_addr constant [2 x i8] c"\22\00", align 1 +@.str.11.72 = private unnamed_addr constant [2 x i8] c"`\00", align 1 +@.str.12.73 = private unnamed_addr constant [2 x i8] c"'\00", align 1 +@.str.141 = private unnamed_addr constant [2 x i8] c"C\00", align 1 +@.str.1.142 = private unnamed_addr constant [6 x i8] c"POSIX\00", align 1 +@.str.13.74 = private unnamed_addr constant [6 x i8] c"UTF-8\00", align 1 +@.str.14.75 = private unnamed_addr constant [4 x i8] c"\E2\80\98\00", align 1 +@.str.15.76 = private unnamed_addr constant [4 x i8] c"\E2\80\99\00", align 1 +@.str.16.77 = private unnamed_addr constant [8 x i8] c"GB18030\00", align 1 +@.str.17.78 = private unnamed_addr constant [4 x i8] c"\A1\07e\00", align 1 +@.str.18.79 = private unnamed_addr constant [3 x i8] c"\A1\AF\00", align 1 +@.str.145 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@.str.1.146 = private unnamed_addr constant [6 x i8] c"ASCII\00", align 1 +@default_quoting_options = internal global %struct.quoting_options zeroinitializer, align 8 +@.str.84 = private unnamed_addr constant [12 x i8] c"%s (%s) %s\0A\00", align 1 +@.str.1.85 = private unnamed_addr constant [7 x i8] c"%s %s\0A\00", align 1 +@.str.2.86 = private unnamed_addr constant [4 x i8] c"(C)\00", align 1 +@.str.3.87 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.4.88 = private unnamed_addr constant [171 x i8] c"License GPLv3+: GNU GPL version 3 or later <%s>.\0AThis is free software: you are free to change and redistribute it.\0AThere is NO WARRANTY, to the extent permitted by law.\0A\00", align 1 +@.str.5.89 = private unnamed_addr constant [34 x i8] c"https://gnu.org/licenses/gpl.html\00", align 1 +@.str.6.90 = private unnamed_addr constant [16 x i8] c"Written by %s.\0A\00", align 1 +@.str.7.91 = private unnamed_addr constant [23 x i8] c"Written by %s and %s.\0A\00", align 1 +@.str.8.92 = private unnamed_addr constant [28 x i8] c"Written by %s, %s, and %s.\0A\00", align 1 +@.str.9.93 = private unnamed_addr constant [32 x i8] c"Written by %s, %s, %s,\0Aand %s.\0A\00", align 1 +@.str.10.94 = private unnamed_addr constant [36 x i8] c"Written by %s, %s, %s,\0A%s, and %s.\0A\00", align 1 +@.str.11.95 = private unnamed_addr constant [40 x i8] c"Written by %s, %s, %s,\0A%s, %s, and %s.\0A\00", align 1 +@.str.12.96 = private unnamed_addr constant [44 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, and %s.\0A\00", align 1 +@.str.13.97 = private unnamed_addr constant [48 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, %s,\0Aand %s.\0A\00", align 1 +@.str.14.98 = private unnamed_addr constant [52 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, %s,\0A%s, and %s.\0A\00", align 1 +@.str.15.99 = private unnamed_addr constant [60 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, %s,\0A%s, %s, and others.\0A\00", align 1 +@.str.35.132 = private unnamed_addr constant [7 x i8] c"serial\00", align 1 +@.str.36 = private unnamed_addr constant [11 x i8] c"delimiters\00", align 1 +@.str.37 = private unnamed_addr constant [16 x i8] c"zero-terminated\00", align 1 +@.str.38 = private unnamed_addr constant [5 x i8] c"help\00", align 1 +@.str.39 = private unnamed_addr constant [8 x i8] c"version\00", align 1 +@ignore_EPIPE = internal global i8 0, align 1 +@.str.47 = private unnamed_addr constant [12 x i8] c"write error\00", align 1 +@file_name = internal global i8* null, align 8 +@.str.1.48 = private unnamed_addr constant [7 x i8] c"%s: %s\00", align 1 +@.str.2.49 = private unnamed_addr constant [3 x i8] c"%s\00", align 1 +@.str.58 = private unnamed_addr constant [56 x i8] c"A NULL argv[0] was passed through an exec system call.\0A\00", align 1 +@.str.1.59 = private unnamed_addr constant [8 x i8] c"/.libs/\00", align 1 +@.str.2.60 = private unnamed_addr constant [4 x i8] c"lt-\00", align 1 +@.str.16.102 = private unnamed_addr constant [20 x i8] c"Report bugs to: %s\0A\00", align 1 +@.str.17.103 = private unnamed_addr constant [22 x i8] c"bug-coreutils@gnu.org\00", align 1 +@.str.18.104 = private unnamed_addr constant [20 x i8] c"%s home page: <%s>\0A\00", align 1 +@.str.19.105 = private unnamed_addr constant [14 x i8] c"GNU coreutils\00", align 1 +@.str.20.106 = private unnamed_addr constant [40 x i8] c"https://www.gnu.org/software/coreutils/\00", align 1 +@.str.21.107 = private unnamed_addr constant [39 x i8] c"General help using GNU software: <%s>\0A\00", align 1 +@.str.22.108 = private unnamed_addr constant [29 x i8] c"https://www.gnu.org/gethelp/\00", align 1 +@__exe_env = dso_local global { <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] } { <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }> <{ %struct.exe_file_t { i32 0, i32 5, i64 0, %struct.exe_disk_file_t* null }, %struct.exe_file_t { i32 1, i32 9, i64 0, %struct.exe_disk_file_t* null }, %struct.exe_file_t { i32 2, i32 9, i64 0, %struct.exe_disk_file_t* null }, [29 x %struct.exe_file_t] zeroinitializer }>, i32 18, i32 0, i32 0, [4 x i8] undef }, align 8 +@__exe_fs = dso_local global %struct.exe_file_system_t zeroinitializer, align 8 +@__const.klee_init_fds.name = private unnamed_addr constant [7 x i8] c"?-data\00", align 1 +@.str.139 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@.str.1.140 = private unnamed_addr constant [82 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/fd_init.c\00", align 1 +@.str.2.141 = private unnamed_addr constant [31 x i8] c"out of memory in klee_init_env\00", align 1 +@.str.3.142 = private unnamed_addr constant [9 x i8] c"user.err\00", align 1 +@.str.4.144 = private unnamed_addr constant [6 x i8] c"stdin\00", align 1 +@.str.5.145 = private unnamed_addr constant [10 x i8] c"read_fail\00", align 1 +@.str.6.146 = private unnamed_addr constant [11 x i8] c"write_fail\00", align 1 +@.str.7.147 = private unnamed_addr constant [11 x i8] c"close_fail\00", align 1 +@.str.8.148 = private unnamed_addr constant [15 x i8] c"ftruncate_fail\00", align 1 +@.str.9.149 = private unnamed_addr constant [12 x i8] c"getcwd_fail\00", align 1 +@.str.10.150 = private unnamed_addr constant [7 x i8] c"stdout\00", align 1 +@.str.11.151 = private unnamed_addr constant [14 x i8] c"model_version\00", align 1 +@.str.13.152 = private unnamed_addr constant [6 x i8] c"-stat\00", align 1 +@.str.14.153 = private unnamed_addr constant [5 x i8] c"size\00", align 1 +@__PRETTY_FUNCTION__.__create_new_dfile = private unnamed_addr constant [88 x i8] c"void __create_new_dfile(exe_disk_file_t *, unsigned int, const char *, struct stat64 *)\00", align 1 +@.str.12.154 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.155 = private unnamed_addr constant [18 x i8] c"silently ignoring\00", align 1 +@.str.1.160 = private unnamed_addr constant [24 x i8] c"ignoring (EAFNOSUPPORT)\00", align 1 +@.str.11.162 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.2.165 = private unnamed_addr constant [15 x i8] c"ignoring (EIO)\00", align 1 +@.str.3.166 = private unnamed_addr constant [18 x i8] c"ignoring (ENFILE)\00", align 1 +@.str.4.167 = private unnamed_addr constant [17 x i8] c"ignoring (EPERM)\00", align 1 +@.str.5.168 = private unnamed_addr constant [13 x i8] c"returning 0\0A\00", align 1 +@.str.6.169 = private unnamed_addr constant [40 x i8] c"setting all times to 0 and returning 0\0A\00", align 1 +@.str.7.170 = private unnamed_addr constant [17 x i8] c"ignoring (EBADF)\00", align 1 +@.str.8.173 = private unnamed_addr constant [21 x i8] c"ignoring (-1 result)\00", align 1 +@.str.9.174 = private unnamed_addr constant [18 x i8] c"ignoring (ECHILD)\00", align 1 +@.str.10.175 = private unnamed_addr constant [32 x i8] c"silently ignoring (returning 0)\00", align 1 +@__locale_mmap = global %struct.__locale_mmap_t.203* @locale_mmap, align 8 +@locale_mmap = internal constant %struct.__locale_mmap_t.203 { [420 x i8] c"\EE\EE\EE\EE\06afffffff$$$$$$$$$$\06\00\00\00\00D&fffdDDbfff`b\22\22FBFfddfFf$\22fbbB\22DDDD\22\22\22\22\06&fff`\00\00`fffff&ff`ffff\11a\06\00\00\00\11\11\11\11\11\01`\06\EE&fffd\E4\EEnffffb\E2Nfaff\11\11\11\22\22\22\22bDDDdDDD$FDDdDDdD&\22\22b\22\22b\22\22\22\22\12bbf&Fb$dd$dF$$$F\22BB\22fffdbaffff$fba$dFBfdbddBf$df\22b$$FFFdFDdD&&&b&\22b\22Ff\06dFDd@&f&b&\22b D\04DD@DDd\22\02\22\22 \22\22bFAFdFDdd&\22B\22FDDD&\22\22\22\06\00\06\00\00\00f\00\00`\00`\10\11\11\11\11\01\00\00\11afff\06\00\00ff\00ff`f`DddDADDDD@DDDD\22\22!\22\22\22\22\22\22\02\06ffffff\06\00\00\00`f&fffFff\22Fff`b$\04dfff``\00\00 $&f\00`f\06fF@f``\00`f&b\22fFdDffFf\11\11\11a\11\01\00`\11\11\11\16\11f\00\00", [504 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00{}\00\00\00{\00\7F\7F\00\00\00\00\00\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\00\00\F0\FE\00\FE\00\00\00\00\00\00\F0\00\F0\F0\F0\F0\F0\00\00\00\00\00\00\00\00\FF\FF\E7\00\F1\00\00\F0\00\F0\00\00\00\00\F0\00\00\FF\FF\F1\00\00\00\F0\00\F0\00\E7\FF\FF\F0\E0\E0\E0\E0\E0\E0\E0\E0\00\00\F0\00\F0\00\00\00\00\00\F0\00\F0\00\00\A0\00\00\00\00\00\00\00\A0\E0\E0\E0\E0\E0\E0\E0\00\00\F0\F0\F0\F0\F0\F0\00\F0\F0\F0\F0\F0\00\F0\F0\00\FF\FF\00\FF\FF\FB\00\F0\00\F0\FB\F0\00\00\B0\FF\FF\FF\FF\FF\FF\00\FE\F0\FE\F0\FC\F0\FF\FF\FC\E0\E0\E0\E0\E0\E0\E0\B0\00\00\00\00\00\00\FE\00\FE\00\00\00\00\00\00\00\00\00\00\00\FC\00\00\00\FC\00\00\00\FF\FF\BF\00\E0\E0\E0\E0\E0\E0\E0\BF\00\FF\FF\F0\00\00\FE\00\FE\00\F0\00\FE\00\FE\F0\00\00\F9\F0\FC\00\00\00\FC\F9\F0\00\FF\FF\BF\F0\00\F0\00\F0\00\F0\F0\00\00\F0\F0\F0\F0\00\F0\F0\00\F0\00\00\00\00\F0\00\00@\F0\F0\F0\00\00\F0\00\90\F0\F0\F0\00\00\F0\E0\E0\E0\00\E0\E0\E0\E0\00\E0\E0\E0\E0\E0\E0\00\00\F0\F0\F0\F0\00\F0\00\00\F0\F0\F0\F0\FE\F0\FE\00\B0\B0\B0\B0\B0\B0\B0\B0\B0\B0\B0\B0\00\B0\B0\00\00\00\00\00\00\DA\00\DB\DB\DB\00\C0\00\C1\C1\00\E0\E0\E0\E0\E0\E0\E0\E0\E0\00\E0\E0\E0\E0\E0\E0\E0\E0\E0\DA\DB\DB\DB\E0\E0\E1\E0\E0\E0\E0\E0\E0\E0\E0\E0\C0\C1\C1\00\E0\E0\E0\E0\E0t\E0\00\E0\E0\E0\E0\E0L\E0\00\00\00\00\10\00\00\00\00 \10\02\00\02\00\00\00\00\00\00\02\00\02\01\01\00\10\00\00\00\00\00\00\00\00\01\01\10\00\10\00\00\00\00\00\10\00\10\00\00\00\00\00\10\10\00\10\10\00\00\00\00\00\10\00\00", [1760 x i16] [i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 0, i16 1415, i16 1417, i16 41, i16 40, i16 187, i16 171, i16 8212, i16 46, i16 1373, i16 44, i16 45, i16 1418, i16 8230, i16 1372, i16 1371, i16 1374, i16 1329, i16 1377, i16 1330, i16 1378, i16 1331, i16 1379, i16 1332, i16 1380, i16 1333, i16 1381, i16 1334, i16 1382, i16 1335, i16 1383, i16 1336, i16 1384, i16 1337, i16 1385, i16 1338, i16 1386, i16 1339, i16 1387, i16 1340, i16 1388, i16 1341, i16 1389, i16 1342, i16 1390, i16 1343, i16 1391, i16 1344, i16 1392, i16 1345, i16 1393, i16 1346, i16 1394, i16 1347, i16 1395, i16 1348, i16 1396, i16 1349, i16 1397, i16 1350, i16 1398, i16 1351, i16 1399, i16 1352, i16 1400, i16 1353, i16 1401, i16 1354, i16 1402, i16 1355, i16 1403, i16 1356, i16 1404, i16 1357, i16 1405, i16 1358, i16 1406, i16 1359, i16 1407, i16 1360, i16 1408, i16 1361, i16 1409, i16 1362, i16 1410, i16 1363, i16 1411, i16 1364, i16 1412, i16 1365, i16 1413, i16 1366, i16 1414, i16 1370, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1026, i16 1027, i16 8218, i16 1107, i16 8222, i16 8230, i16 8224, i16 8225, i16 8364, i16 8240, i16 1033, i16 8249, i16 1034, i16 1036, i16 1035, i16 1039, i16 1106, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 0, i16 8482, i16 1113, i16 8250, i16 1114, i16 1116, i16 1115, i16 1119, i16 160, i16 1038, i16 1118, i16 1032, i16 164, i16 1168, i16 166, i16 167, i16 1025, i16 169, i16 1028, i16 171, i16 172, i16 173, i16 174, i16 1031, i16 176, i16 177, i16 1030, i16 1110, i16 1169, i16 181, i16 182, i16 183, i16 1105, i16 8470, i16 1108, i16 187, i16 1112, i16 1029, i16 1109, i16 1111, i16 1040, i16 1041, i16 1042, i16 1043, i16 1044, i16 1045, i16 1046, i16 1047, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 1058, i16 1059, i16 1060, i16 1061, i16 1062, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1070, i16 1071, i16 1072, i16 1073, i16 1074, i16 1075, i16 1076, i16 1077, i16 1078, i16 1079, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1088, i16 1089, i16 1090, i16 1091, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1099, i16 1100, i16 1101, i16 1102, i16 1103, i16 8364, i16 0, i16 8218, i16 402, i16 8222, i16 8230, i16 8224, i16 8225, i16 710, i16 8240, i16 0, i16 8249, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 732, i16 8482, i16 0, i16 8250, i16 0, i16 0, i16 0, i16 0, i16 160, i16 161, i16 162, i16 163, i16 8362, i16 165, i16 166, i16 167, i16 168, i16 169, i16 215, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 247, i16 187, i16 188, i16 189, i16 190, i16 191, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 0, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 0, i16 0, i16 8206, i16 8207, i16 0, i16 128, i16 129, i16 8218, i16 402, i16 8222, i16 8230, i16 8224, i16 8225, i16 710, i16 8240, i16 352, i16 8249, i16 338, i16 141, i16 142, i16 143, i16 144, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 732, i16 8482, i16 353, i16 8250, i16 339, i16 157, i16 158, i16 376, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 4304, i16 4305, i16 4306, i16 4307, i16 4308, i16 4309, i16 4310, i16 4337, i16 4311, i16 4312, i16 4313, i16 4314, i16 4315, i16 4316, i16 4338, i16 4317, i16 4318, i16 4319, i16 4320, i16 4321, i16 4322, i16 4339, i16 4323, i16 4324, i16 4325, i16 4326, i16 4327, i16 4328, i16 4329, i16 4330, i16 4331, i16 4332, i16 4333, i16 4334, i16 4340, i16 4335, i16 4336, i16 4341, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 160, i16 260, i16 274, i16 290, i16 298, i16 296, i16 310, i16 167, i16 315, i16 272, i16 352, i16 358, i16 381, i16 173, i16 362, i16 330, i16 176, i16 261, i16 275, i16 291, i16 299, i16 297, i16 311, i16 183, i16 316, i16 273, i16 353, i16 359, i16 382, i16 8213, i16 363, i16 331, i16 256, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 302, i16 268, i16 201, i16 280, i16 203, i16 278, i16 205, i16 206, i16 207, i16 208, i16 325, i16 332, i16 211, i16 212, i16 213, i16 214, i16 360, i16 216, i16 370, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 257, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 303, i16 269, i16 233, i16 281, i16 235, i16 279, i16 237, i16 238, i16 239, i16 240, i16 326, i16 333, i16 243, i16 244, i16 245, i16 246, i16 361, i16 248, i16 371, i16 250, i16 251, i16 252, i16 253, i16 254, i16 312, i16 160, i16 8221, i16 162, i16 163, i16 164, i16 8222, i16 166, i16 167, i16 216, i16 169, i16 342, i16 171, i16 172, i16 173, i16 174, i16 198, i16 176, i16 177, i16 178, i16 179, i16 8220, i16 181, i16 182, i16 183, i16 248, i16 185, i16 343, i16 187, i16 188, i16 189, i16 190, i16 230, i16 260, i16 302, i16 256, i16 262, i16 196, i16 197, i16 280, i16 274, i16 268, i16 201, i16 377, i16 278, i16 290, i16 310, i16 298, i16 315, i16 352, i16 323, i16 325, i16 211, i16 332, i16 213, i16 214, i16 215, i16 370, i16 321, i16 346, i16 362, i16 220, i16 379, i16 381, i16 223, i16 261, i16 303, i16 257, i16 263, i16 228, i16 229, i16 281, i16 275, i16 269, i16 233, i16 378, i16 279, i16 291, i16 311, i16 299, i16 316, i16 353, i16 324, i16 326, i16 243, i16 333, i16 245, i16 246, i16 247, i16 371, i16 322, i16 347, i16 363, i16 252, i16 380, i16 382, i16 8217, i16 160, i16 7682, i16 7683, i16 163, i16 266, i16 267, i16 7690, i16 167, i16 7808, i16 169, i16 7810, i16 7691, i16 7922, i16 173, i16 174, i16 376, i16 7710, i16 7711, i16 288, i16 289, i16 7744, i16 7745, i16 182, i16 7766, i16 7809, i16 7767, i16 7811, i16 7776, i16 7923, i16 7812, i16 7813, i16 7777, i16 372, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 7786, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 374, i16 223, i16 373, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 7787, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 375, i16 255, i16 160, i16 161, i16 162, i16 163, i16 8364, i16 165, i16 352, i16 167, i16 353, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 381, i16 181, i16 182, i16 183, i16 382, i16 185, i16 186, i16 187, i16 338, i16 339, i16 376, i16 191, i16 160, i16 260, i16 261, i16 321, i16 8364, i16 171, i16 352, i16 167, i16 353, i16 169, i16 536, i16 8222, i16 377, i16 173, i16 378, i16 379, i16 176, i16 177, i16 268, i16 322, i16 381, i16 8221, i16 182, i16 183, i16 382, i16 269, i16 537, i16 187, i16 338, i16 339, i16 376, i16 380, i16 192, i16 193, i16 194, i16 258, i16 196, i16 262, i16 198, i16 199, i16 272, i16 323, i16 210, i16 211, i16 212, i16 336, i16 214, i16 346, i16 368, i16 217, i16 218, i16 219, i16 220, i16 280, i16 538, i16 223, i16 224, i16 225, i16 226, i16 259, i16 228, i16 263, i16 230, i16 231, i16 273, i16 324, i16 242, i16 243, i16 244, i16 337, i16 246, i16 347, i16 369, i16 249, i16 250, i16 251, i16 252, i16 281, i16 539, i16 255, i16 160, i16 260, i16 728, i16 321, i16 164, i16 317, i16 346, i16 167, i16 168, i16 352, i16 350, i16 356, i16 377, i16 173, i16 381, i16 379, i16 176, i16 261, i16 731, i16 322, i16 180, i16 318, i16 347, i16 711, i16 184, i16 353, i16 351, i16 357, i16 378, i16 733, i16 382, i16 380, i16 340, i16 193, i16 194, i16 258, i16 196, i16 313, i16 262, i16 199, i16 268, i16 201, i16 280, i16 203, i16 282, i16 205, i16 206, i16 270, i16 272, i16 323, i16 327, i16 211, i16 212, i16 336, i16 214, i16 215, i16 344, i16 366, i16 218, i16 368, i16 220, i16 221, i16 354, i16 223, i16 341, i16 225, i16 226, i16 259, i16 228, i16 314, i16 263, i16 231, i16 269, i16 233, i16 281, i16 235, i16 283, i16 237, i16 238, i16 271, i16 273, i16 324, i16 328, i16 243, i16 244, i16 337, i16 246, i16 247, i16 345, i16 367, i16 250, i16 369, i16 252, i16 253, i16 355, i16 729, i16 160, i16 294, i16 728, i16 163, i16 164, i16 0, i16 292, i16 167, i16 168, i16 304, i16 350, i16 286, i16 308, i16 173, i16 0, i16 379, i16 176, i16 295, i16 178, i16 179, i16 180, i16 181, i16 293, i16 183, i16 184, i16 305, i16 351, i16 287, i16 309, i16 189, i16 0, i16 380, i16 192, i16 193, i16 194, i16 0, i16 196, i16 266, i16 264, i16 199, i16 0, i16 209, i16 210, i16 211, i16 212, i16 288, i16 214, i16 215, i16 284, i16 217, i16 218, i16 219, i16 220, i16 364, i16 348, i16 223, i16 224, i16 225, i16 226, i16 0, i16 228, i16 267, i16 265, i16 231, i16 0, i16 241, i16 242, i16 243, i16 244, i16 289, i16 246, i16 247, i16 285, i16 249, i16 250, i16 251, i16 252, i16 365, i16 349, i16 729, i16 160, i16 260, i16 312, i16 342, i16 164, i16 296, i16 315, i16 167, i16 168, i16 352, i16 274, i16 290, i16 358, i16 173, i16 381, i16 175, i16 176, i16 261, i16 731, i16 343, i16 180, i16 297, i16 316, i16 711, i16 184, i16 353, i16 275, i16 291, i16 359, i16 330, i16 382, i16 331, i16 268, i16 201, i16 280, i16 203, i16 278, i16 205, i16 206, i16 298, i16 272, i16 325, i16 332, i16 310, i16 212, i16 213, i16 214, i16 215, i16 216, i16 370, i16 218, i16 219, i16 220, i16 360, i16 362, i16 223, i16 269, i16 233, i16 281, i16 235, i16 279, i16 237, i16 238, i16 299, i16 273, i16 326, i16 333, i16 311, i16 244, i16 245, i16 246, i16 247, i16 248, i16 371, i16 250, i16 251, i16 252, i16 361, i16 363, i16 729, i16 160, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 173, i16 1038, i16 1039, i16 8470, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 167, i16 1118, i16 1119, i16 160, i16 0, i16 0, i16 0, i16 164, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1548, i16 173, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1563, i16 0, i16 0, i16 0, i16 1567, i16 0, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1611, i16 1612, i16 1613, i16 1614, i16 1615, i16 1616, i16 1617, i16 1618, i16 0, i16 0, i16 0, i16 0, i16 0, i16 160, i16 8216, i16 8217, i16 163, i16 0, i16 0, i16 166, i16 167, i16 168, i16 169, i16 0, i16 171, i16 172, i16 173, i16 0, i16 8213, i16 176, i16 177, i16 178, i16 179, i16 900, i16 901, i16 902, i16 183, i16 904, i16 905, i16 906, i16 187, i16 908, i16 189, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 918, i16 919, i16 920, i16 921, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 929, i16 0, i16 931, i16 932, i16 933, i16 934, i16 935, i16 936, i16 937, i16 938, i16 939, i16 940, i16 941, i16 942, i16 943, i16 944, i16 945, i16 946, i16 947, i16 948, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 964, i16 965, i16 966, i16 967, i16 968, i16 969, i16 970, i16 971, i16 972, i16 973, i16 974, i16 0, i16 160, i16 0, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 184, i16 185, i16 247, i16 187, i16 188, i16 189, i16 190, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8215, i16 286, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 304, i16 350, i16 223, i16 287, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 305, i16 351, i16 255, i16 9472, i16 9474, i16 9484, i16 9488, i16 9492, i16 9496, i16 9500, i16 9508, i16 9516, i16 9524, i16 9532, i16 9600, i16 9604, i16 9608, i16 9612, i16 9616, i16 9617, i16 9618, i16 9619, i16 8992, i16 9632, i16 8729, i16 8730, i16 8776, i16 8804, i16 8805, i16 160, i16 8993, i16 176, i16 178, i16 183, i16 247, i16 9552, i16 9553, i16 9554, i16 1105, i16 9555, i16 9556, i16 9557, i16 9558, i16 9559, i16 9560, i16 9561, i16 9562, i16 9563, i16 9564, i16 9565, i16 9566, i16 9567, i16 9568, i16 9569, i16 1025, i16 9570, i16 9571, i16 9572, i16 9573, i16 9574, i16 9575, i16 9576, i16 9577, i16 9578, i16 9579, i16 9580, i16 169, i16 1102, i16 1072, i16 1073, i16 1094, i16 1076, i16 1077, i16 1092, i16 1075, i16 1093, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1103, i16 1088, i16 1089, i16 1090, i16 1091, i16 1078, i16 1074, i16 1100, i16 1099, i16 1079, i16 1096, i16 1101, i16 1097, i16 1095, i16 1098, i16 1070, i16 1040, i16 1041, i16 1062, i16 1044, i16 1045, i16 1060, i16 1043, i16 1061, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1071, i16 1056, i16 1057, i16 1058, i16 1059, i16 1046, i16 1042, i16 1068, i16 1067, i16 1047, i16 1064, i16 1069, i16 1065, i16 1063, i16 1066, i16 1179, i16 1171, i16 8218, i16 1170, i16 8222, i16 8230, i16 8224, i16 8225, i16 0, i16 8240, i16 1203, i16 8249, i16 1202, i16 1207, i16 1206, i16 0, i16 1178, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 0, i16 8482, i16 0, i16 8250, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1263, i16 1262, i16 1105, i16 164, i16 1251, i16 166, i16 167, i16 0, i16 0, i16 0, i16 171, i16 172, i16 173, i16 174, i16 0, i16 176, i16 177, i16 178, i16 1025, i16 0, i16 1250, i16 182, i16 183, i16 0, i16 8470, i16 0, i16 187, i16 0, i16 0, i16 0, i16 169, i16 9552, i16 9553, i16 9554, i16 1105, i16 1108, i16 9556, i16 1110, i16 1111, i16 9559, i16 9560, i16 9561, i16 9562, i16 9563, i16 1169, i16 9565, i16 9566, i16 9567, i16 9568, i16 9569, i16 1025, i16 1028, i16 9571, i16 1030, i16 1031, i16 9574, i16 9575, i16 9576, i16 9577, i16 9578, i16 1168, i16 9580, i16 169, i16 0, i16 3585, i16 3586, i16 3587, i16 3588, i16 3589, i16 3590, i16 3591, i16 3592, i16 3593, i16 3594, i16 3595, i16 3596, i16 3597, i16 3598, i16 3599, i16 3600, i16 3601, i16 3602, i16 3603, i16 3604, i16 3605, i16 3606, i16 3607, i16 3608, i16 3609, i16 3610, i16 3611, i16 3612, i16 3613, i16 3614, i16 3615, i16 3616, i16 3617, i16 3618, i16 3619, i16 3620, i16 3621, i16 3622, i16 3623, i16 3624, i16 3625, i16 3626, i16 3627, i16 3628, i16 3629, i16 3630, i16 3631, i16 3632, i16 3633, i16 3634, i16 3635, i16 3636, i16 3637, i16 3638, i16 3639, i16 3640, i16 3641, i16 3642, i16 0, i16 0, i16 0, i16 0, i16 3647, i16 3648, i16 3649, i16 3650, i16 3651, i16 3652, i16 3653, i16 3654, i16 3655, i16 3656, i16 3657, i16 3658, i16 3659, i16 3660, i16 3661, i16 3662, i16 3663, i16 3664, i16 3665, i16 3666, i16 3667, i16 3668, i16 3669, i16 3670, i16 3671, i16 3672, i16 3673, i16 3674, i16 3675, i16 0, i16 0, i16 0, i16 0], [4528 x i8] c"\00\00\01\00\00\00\00\00\02\03\04\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\06\07\08\09\0A\0B\00\00\00\00\00\00\00\00\0C\0D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\0F\00\00\00\00\10\11\12\13\14\15\00\00\00\16\00\00\00\00\00\00\00\17\18\19\00\00\00\00\00\00\1A\00\00\00\00\00\00\1B\1C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\1D\1E\00\1F\00 \00\00\00\00\00\00\00\00\00!\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\22#\00\00\00\00\00\00\00\00\00\00\00\00\00$%\13&'(\17\18\19\00\00\00\00\00\00)\00\00\00\00\00\00\00\1C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00*+,-\00\00.\14\00\00\00\00\00/01\00!\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00234\00\17\18\19\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03,-\11\12\13\14\00\00\00\00\00\00\00\00\02\0356789:;<=>?\00@A\00\00\00\00\00\00\00\00\00B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03CDEFGHIJKLMNOP\00\00\00\00\00\00\00\00\00Q\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03RS\11T\13UV\00W\00\00\00\00X\00\00\00\00\00\00\00\00YZ\00\00[\\]\00^\00\00\00\00\00\00_\00\00\00\00\00\00\00\00\02\03`a\11\12\13\14\00\00\00\00\00bcd\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00e\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03fghijklm\00\00nocp\00\00\00\00\00\00\00\00\00q\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00r\00\00\00\00\00\00\00\00e\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03stuvwxyz\00{|}~\7F\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\81\00\00\00\00\00\00\00\00\00\00\02\03\82\83\84\85\86\87\88\89\8A\8B\00\8C\8D\8E\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\8F\00\00\00\00\00\00\00\00\00\00\02\03\90t\91\92\93\94;\95\96\97\98\99\9A\9B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\9C\00\00\00\00\00\00\00\00\00\00\02\03\9D\00\00\00\00\00\9E-\11\12\13\9F\00\00\00\00\00\00\00\00\00\00\00\A0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03\A1\00\00\00\00\00\A2\A3\A4\A5\13\A6\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03\A7\A8\00\00\00\00\00\00\00\00\00\00\00\00\A9\11\AA\13\AB\00\00\00\00\AC\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03\AD\AE\00\1F\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\13&\00(\AF\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03,-\11\B0\13\B1\00\B2\00\B3\00\B4\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B5\B6\00\00\00\B7\B8\B9\BA\BB\BC\BD\00\00\00\00\00\00\00\00\00\00\00\BE\00\00\BF\00\C0\00\00\00\00\00\00\00\00\00\00\00\C1\00\00\00\00\00\00\00\00\00\00\00\00\00\C2\C3\C4\C5\00\C6\C7\00\C8\C9\CA\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\CB\CC\00\00\00\00\B8\B9\BA\BB\BC\BD\00\00\00\CD\00\CE\00\00\CF\00\D0\B9\BA\BB\BC\D1\00\00\00\D2\00\00\00\00\00\00\C2\C3\C4\C5\00\D3\D4\00\C8\C9\CA\00\00\00\00\00\D5-\11\D6\13\D7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A5\A4\00\00\AB\AC\A9\00\80\81\82\83\84\85\86\87\88\89\8A\8B\8C\8D\8E\8F\90\91\92\93\94\95\96\97\98\99\9A\9B\9C\9D\9E\9F\A0\00\00\00\00\00\00\00\00\00\00\A7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A6\00\00\00\00\00\B2\B4\B6\B8\BA\BC\BE\C0\C2\C4\C6\C8\CA\CC\CE\D0\D2\D4\D6\D8\DA\DC\DE\E0\E2\E4\E6\E8\EA\EC\EE\F0\F2\F4\F6\F8\FA\FC\00\00\00\FE\B0\AF\AA\B1\00\00\B3\B5\B7\B9\BB\BD\BF\C1\C3\C5\C7\C9\CB\CD\CF\D1\D3\D5\D7\D9\DB\DD\DF\E1\E3\E5\E7\E9\EB\ED\EF\F1\F3\F5\F7\F9\FB\FD\A2\00\A3\AD\00\00\00\00\00\00\00\00\00\A8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\AE\00\00\00\00\00\00\00\00\00\A0\00\00\00\A4\00\A6\A7\00\A9\00\AB\AC\AD\AE\00\B0\B1\00\00\00\B5\B6\B7\00\00\00\BB\00\00\00\00\00\A8\80\81\AA\BD\B2\AF\A3\8A\8C\8E\8D\00\A1\8F\C0\C1\C2\C3\C4\C5\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\E0\E1\E2\E3\E4\E5\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\FD\FE\FF\00\B8\90\83\BA\BE\B3\BF\BC\9A\9C\9E\9D\00\A2\9F\A5\B4\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\96\97\00\00\00\91\92\82\00\93\94\84\00\86\87\95\00\00\00\85\00\00\00\00\00\00\00\00\00\89\00\00\00\00\00\00\00\00\8B\9B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\88\00\00\00\00\00\00\00\00\00\B9\00\00\00\00\00\00\00\00\00\00\00\99\00\00\00\00\00\00\00\00\00\00\00\00\00\A0\A1\A2\A3\00\A5\A6\A7\A8\A9\00\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\00\BB\BC\BD\BE\BF\00\00\00\00\00\00\00\AA\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\BA\00\00\00\00\00\00\00\00\00\00\83\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\88\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\98\00\00\00\C0\C1\C2\C3\C4\C5\C6\C7\C8\C9\00\CB\CC\CD\CE\CF\D0\D1\D2\D3\00\00\00\00\00\00\00\00\00\00\00\00\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\00\00\00\00\00\D4\D5\D6\D7\D8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\FD\FE\00\00\00\00\00\00\00\00\00\00\A4\00\80\00\00\00\80\81\00\00\00\00\00\00\00\00\00\00\00\8D\8E\8F\90\00\00\00\00\00\00\00\00\00\00\00\00\9D\9E\00\A0\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\BF\00\00\00\00\00\00\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\00\00\8C\9C\00\00\00\00\00\00\00\00\00\00\00\00\8A\9A\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\9F\00\00\00\00\00\00\00\C0\C1\C2\C3\C4\C5\C6\C8\C9\CA\CB\CC\CD\CF\D0\D1\D2\D3\D4\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\E0\E1\E3\E4\C7\CE\D5\E2\E5\00\00\00\00\00\00\00\00\00\00\A0\00\00\00\00\00\00\A7\00\00\00\00\00\AD\00\00\B0\00\00\00\00\00\00\B7\00\00\00\00\00\00\00\00\00\C1\C2\C3\C4\C5\C6\00\00\C9\00\CB\00\CD\CE\CF\D0\00\00\D3\D4\D5\D6\00\D8\00\DA\DB\DC\DD\DE\DF\00\E1\E2\E3\E4\E5\E6\00\00\E9\00\EB\00\ED\EE\EF\F0\00\00\F3\F4\F5\F6\00\F8\00\FA\FB\FC\FD\FE\00\C0\E0\00\00\A1\B1\00\00\00\00\00\00\C8\E8\00\00\A9\B9\A2\B2\00\00\CC\EC\CA\EA\00\00\00\00\00\00\00\00\A3\B3\00\00\00\00\A5\B5\A4\B4\00\00\C7\E7\00\00\00\00\00\00\A6\B6\FF\00\00\A8\B8\00\00\00\00\00\00\00\00\D1\F1\00\00\00\AF\BF\D2\F2\00\00\AA\BA\00\00\00\00\AB\BB\D7\F7\AE\BE\00\00\00\00\00\00\D9\F9\00\00\00\00\00\00\00\00\00\AC\BC\00\00\00\00\00\00\BD\00\00\00\00\00\00\00\00\00\00\A0\00\A2\A3\A4\00\A6\A7\00\A9\00\AB\AC\AD\AE\00\B0\B1\B2\B3\00\B5\B6\B7\00\B9\00\BB\BC\BD\BE\00\00\00\00\00\C4\C5\AF\00\00\C9\00\00\00\00\00\00\00\00\00\D3\00\D5\D6\D7\A8\00\00\00\DC\00\00\DF\00\00\00\00\E4\E5\BF\00\00\E9\00\00\00\00\00\00\00\00\00\F3\00\F5\F6\F7\B8\00\00\00\FC\00\00\00\C2\E2\00\00\C0\E0\C3\E3\00\00\00\00\C8\E8\00\00\00\00\C7\E7\00\00\CB\EB\C6\E6\00\00\00\00\00\00\00\00\CC\EC\00\00\00\00\00\00\CE\EE\00\00\C1\E1\00\00\00\00\00\00\CD\ED\00\00\00\CF\EF\00\00\00\00\D9\F9\D1\F1\D2\F2\00\00\00\00\00\D4\F4\00\00\00\00\00\00\00\00\AA\BA\00\00\DA\FA\00\00\00\00\D0\F0\00\00\00\00\00\00\00\00\DB\FB\00\00\00\00\00\00\D8\F8\00\00\00\00\00\CA\EA\DD\FD\DE\FE\00\00\00\00\00\00\00\00\00\00\FF\00\00\B4\A1\A5\00\A0\00\00\A3\00\00\00\A7\00\A9\00\00\00\AD\AE\00\00\00\00\00\00\00\B6\00\00\00\00\00\00\00\00\00\00\D1\D2\D3\D4\D5\D6\00\D8\D9\DA\DB\DC\DD\00\DF\00\F1\F2\F3\F4\F5\F6\00\F8\F9\FA\FB\FC\FD\00\FF\00\00\00\00\00\00\00\00\00\00\A4\A5\00\00\00\00\B2\B3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\D0\F0\DE\FE\AF\00\00\00\00\00\00\00\00\00\A1\A2\00\00\00\00\00\00\A6\AB\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B0\B1\B4\B5\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B7\B9\00\00\00\00\00\00\00\00\BB\BF\00\00\00\00\00\00\00\00\D7\F7\00\00\00\00\A8\B8\AA\BA\BD\BE\00\00\00\00\00\00\00\00\00\00\00\00\AC\BC\00\00\00\00\00\00\00\00\00\00\00\00\A0\A1\A2\A3\00\A5\00\A7\00\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B3\00\B5\B6\B7\00\B9\BA\BB\00\00\00\BF\00\00\BC\BD\00\00\00\00\00\00\00\00\00\00\00\00\A6\A8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\BE\00\00\00\00\B4\B8\00\00\00\00\00\00\00\00\00\00\00\00\00\A4\00\00\00\A0\00\00\00\00\00\00\A7\00\A9\00\A5\00\AD\00\00\B0\B1\00\00\00\00\B6\B7\00\00\00\BB\00\00\00\00\C0\C1\C2\00\C4\00\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\00\00\D2\D3\D4\00\D6\00\00\D9\DA\DB\DC\00\00\DF\E0\E1\E2\00\E4\00\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\00\00\F2\F3\F4\00\F6\00\00\F9\FA\FB\FC\00\00\FF\00\00\C3\E3\A1\A2\C5\E5\00\00\00\00\B2\B9\00\00\D0\F0\00\00\00\00\00\00\DD\FD\00\00\00\00\00\00\00\A3\B3\D1\F1\00\00\00\00\00\00\00\00\00\00\00\D5\F5\BC\BD\00\00\00\00\00\00\D7\F7\00\00\00\00\D8\F8\00\00\00\00\00\00\BE\AC\AE\AF\BF\B4\B8\00\00\00\00\00\00\00\00\00\AA\BA\DE\FE\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B5\AB\00\A0\00\00\00\A4\00\00\A7\A8\00\00\00\00\AD\00\00\B0\00\00\00\B4\00\00\00\B8\00\00\00\00\00\00\00\00\C1\C2\00\C4\00\00\C7\00\C9\00\CB\00\CD\CE\00\00\00\00\D3\D4\00\D6\D7\00\00\DA\00\DC\DD\00\DF\00\E1\E2\00\E4\00\00\E7\00\E9\00\EB\00\ED\EE\00\00\00\00\F3\F4\00\F6\F7\00\00\FA\00\FC\FD\00\00\00\00\C3\E3\A1\B1\C6\E6\00\00\00\00\C8\E8\CF\EF\D0\F0\00\00\00\00\00\00\CA\EA\CC\EC\00\00\00\00\00\00\00\00\00\00\00\00\00\C5\E5\00\00\A5\B5\00\00\A3\B3\D1\F1\00\00\D2\F2\00\00\00\00\00\00\00\D5\F5\00\00\C0\E0\00\00\D8\F8\A6\B6\00\00\AA\BA\A9\B9\DE\FE\AB\BB\00\00\00\00\00\00\00\00\D9\F9\DB\FB\00\00\00\00\00\00\00\AC\BC\AF\BF\AE\BE\00\00\00\00\00\00\00\00\B7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A2\FF\00\B2\00\BD\00\00\A0\00\00\A3\A4\00\00\A7\A8\00\00\00\00\AD\00\00\B0\00\B2\B3\B4\B5\00\B7\B8\00\00\00\00\BD\00\00\C0\C1\C2\00\C4\00\00\C7\C8\C9\CA\CB\CC\CD\CE\CF\00\D1\D2\D3\D4\00\D6\D7\00\D9\DA\DB\DC\00\00\DF\E0\E1\E2\00\E4\00\00\E7\E8\E9\EA\EB\EC\ED\EE\EF\00\F1\F2\F3\F4\00\F6\F7\00\F9\FA\FB\FC\00\00\00\00\00\00\00\00\00\00\00\C6\E6\C5\E5\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\D8\F8\AB\BB\D5\F5\00\00\A6\B6\A1\B1\00\00\00\00\00\00\00\00\A9\B9\00\00\AC\BC\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\DE\FE\AA\BA\00\00\00\00\00\00\00\00\00\00\00\00\DD\FD\00\00\00\00\00\00\00\00\00\00\00\00\00\AF\BF\00\00\00\00\00\00\00\00\00\00\00\A2\FF\00\00\00\00\00\00\A0\00\00\00\A4\00\00\A7\A8\00\00\00\00\AD\00\AF\00\C1\C2\C3\C4\C5\C6\00\00\C9\00\CB\00\CD\CE\00\00\00\00\00\D4\D5\D6\D7\D8\00\DA\DB\DC\00\00\DF\00\E1\E2\E3\E4\E5\E6\00\00\E9\00\EB\00\ED\EE\00\00\00\00\00\F4\F5\F6\F7\F8\00\FA\FB\FC\00\00\00\D0\F0\AA\BA\00\00\CC\EC\CA\EA\00\00\00\00\00\00\00\00\AB\BB\00\00\00\00\A5\B5\CF\EF\00\00\C7\E7\00\00\00\00\00\00\D3\F3\A2\00\00\A6\B6\00\00\00\00\00\00\00\00\D1\F1\00\00\00\BD\BF\D2\F2\00\00\00\00\00\00\00\00\A3\B3\00\00\00\00\00\00\00\00\A9\B9\00\00\00\00\AC\BC\DD\FD\DE\FE\00\00\00\00\00\00\D9\F9\00\00\00\00\00\00\00\00\00\AE\BE\00\00\00\00\00\00\00\00\00\00\FF\00\B2\00\00\00\00\A0\00\00\00\00\00\00\FD\00\00\00\00\00\AD\00\00\00\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\00\AE\AF\00\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\00\FE\FF\00\00\00\00\00\00\F0\00\00\00\00\00\00\00\00\00\A0\00\00\00\A4\00\00\00\00\00\00\00\00\AD\00\00\00\00\00\00\00\00\00\00\00\00\00\00\AC\00\00\00\00\00\00\00\00\00\00\00\00\00\00\BB\00\00\00\BF\00\C1\C2\C3\C4\C5\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\00\00\00\00\00\F0\F1\F2\00\00\00\00\00\00\00\00\00\00\00\00\00\A0\00\00\A3\00\00\A6\A7\A8\A9\00\AB\AC\AD\00\00\B0\B1\B2\B3\00\00\00\B7\00\00\00\BB\00\BD\00\00\00\00\00\00\B4\B5\B6\00\B8\B9\BA\00\BC\00\BE\BF\D0\D1\00\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\FD\FE\00\00\00\00\00\00\AF\00\00\A1\A2\00\00\00\00\00\00\A0\00\A2\A3\A4\A5\A6\A7\A8\A9\00\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\00\BB\BC\BD\BE\00\00\00\00\00\00\00\00\DF\00\00\00\00\00\00\00\00\00\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\00\00\DF\00\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\00\00\FF\00\00\00\00\00\00\00\00\00\00\00\00\00\00\D0\F0\DD\FD\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\DE\FE\9A\00\00\00\00\00\00\00\00\BF\00\00\00\00\00\00\9C\00\9D\00\00\00\00\9E\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\9F\00\00\00\00\00\00\00\00\00\B3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E1\E2\F7\E7\E4\E5\F6\FA\E9\EA\EB\EC\ED\EE\EF\F0\F2\F3\F4\F5\E6\E8\E3\FE\FB\FD\FF\F9\F8\FC\E0\F1\C1\C2\D7\C7\C4\C5\D6\DA\C9\CA\CB\CC\CD\CE\CF\D0\D2\D3\D4\D5\C6\C8\C3\DE\DB\DD\DF\D9\D8\DC\C0\D1\00\A3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\95\96\00\00\00\00\00\00\00\00\00\00\00\00\00\97\00\00\00\00\00\00\00\00\00\00\00\98\99\00\00\00\00\00\00\00\00\00\00\93\9B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\00\81\00\00\00\00\00\00\00\00\00\82\00\00\00\83\00\00\00\84\00\00\00\85\00\00\00\86\00\00\00\00\00\00\00\87\00\00\00\00\00\00\00\88\00\00\00\00\00\00\00\89\00\00\00\00\00\00\00\8A\00\00\00\A0\A1\A2\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\00\00\00\8B\00\00\00\8C\00\00\00\8D\00\00\00\8E\00\00\00\8F\90\91\92\00\00\00\00\00\00\00\00\00\00\00\00\94\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A4\00\A6\A7\00\BF\00\AB\AC\AD\AE\00\B0\B1\B2\00\00\00\B6\B7\00\00\00\BB\00\00\00\00\00\00\83\81\00\00\00\00\00\00\90\80\00\00\00\00\00\00\8C\8A\00\00\8E\8D\00\00\00\00\00\00\00\00\00\00\B5\A5\00\00\00\00\00\00\00\00\00\00\A2\A1\00\B3\00\00\B4\00\B6\B7\00\00\00\00\00\00\00\00\00\A3\00\00\A4\00\A6\A7\00\00\00\00\00\00\00\00\BD\AD\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A0\A1\A2\00\A5\00\00\A8\A9\AA\AB\AC\00\AE\AF\B0\B1\B2\00\B5\00\00\B8\B9\BA\BB\BC\00\BE\00\00\00\00\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\00\00\00\00\DF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\00\00\00\00", [3604 x i8] c":!\1F2#\1E\02,\00'\04%&\05\07)\0F\12\09\0C\06\19\1A\0B+\00\00\00\00\00 \1D9*7407.$777\00\00\00\0158\03/3\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\17\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\16\19\19\19\19\13\00\00\00\00\00\00\00\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\14\00\00\00\00\00\00\00\007777777777777777777777777\19\10\08\19\1B-(\00\00\00\0E\22\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0061\00\00\11\0A\15\1C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\18\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\19\19\0D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E4\E4\E4\CD\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\D0\00\00\07\00\1A5UU>Uj\DE\00UovUUUUUUUUUUUZ\E4\DA\DEU\\\08UUUUI5UUUUUUUUUUS\E4\E4UUU\00\00\00\00\00\00\00UU\12?#UU(%;\C4-\002\03U\C7\00\B6PGUU(&=\E3\CC\1F\00 U\00\00\1DL(UU(U:\D2.\04\009U\00\00\1DUS\17UUGOS\11\D5\E4\00\00\1C\005UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU5UUUUXUAVXUk\00\00\00\00/\22\0B54\16\BC\CBJ\DEU<\00\00\00\00S\00\14\09U\BBSJDUUUUUUUUUUUUU7\00\00\00\14UUUUUSUUUUUUUS'S'UUUUS'UUUS'S'SSUUSUUTBLLUUUFJ\17(UUUUUUUUUUUUUUUUUUUUUULm\00UUn\00UUk\00UL*\00UUUUUU`\E4\E4\E4\E2\D3U7\00\00US'SUUUUSUU>\B9vp\D4\00\00\00\00UUUUUUUUUUI\00UUUR\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00UUUS\D0\00UUU>\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00UUUUG1\C5\C0UpY\C0\00\00\00\00\00\00\00\00UUUUR\00UUUUU)UUUUURUUUUUUU>\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00UUUUUUUUUULUUUUUUUUL\103UE&UUUUUUUUUUUUUUUUUU8UUUUUUUU>UUUUUUUUUU7UUUUUUUUUUUUUUUUUI\E4\E4\E4\E4\E4\E4\E0\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUH\00\00\00\00\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUHUUU\BBUUhUUUhUUUUUUUUUUUUUUUUUUUUR\00\00\00\00\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUUUR\00\00\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUUUUUUUS\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU^S\00xUUgUUUUUUUUUi\1F\00UUUUUUUY\00\00UUUUUUUU\17UUUUUU\00\00\00\00\00UNUU]UUU]UUXUUUXUUU\BBUUU\BBUUh9UUUUUU\86\AA\83\A7\86\AA\86\AA\83\A7{\96\86\AA\86\83\86\AA\86\AA\86\AA\82\AE\C9\AF}\AC\7F\AF\19\AD\92\92\00\00\00\00\97\AA\AA\AA\A86y\86\86\86\85\B4\B9\E4\CD\E4\E4\CD\D4\00UUU>g\00\92\92\92\92+\92\8F\00\00\00ezq~bUqraUURU\BDp\E4p\E4_\DF\00\00\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\91d\92\92\92\92\92\92\92\92\92\92\92\8C\92\92\92\92\92\92\92\9A\9Fs\92\92\92\92\92\A5\99\A0\A4\8E\93\9C\A1\8D[\8B\9F\9D\92\92\98\92\AA\AA\AA\AA\A7\86\86\86\86\83\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\AA\AA\AA\AA\AA\AA\86\86\86\86\86\86\92\92\92\92\94\CA\92\92\92\92\92\92\9A\9E\92\92\92\92\90\8C\B5\C1\E4\E4\E4\B9\E4\E4\E4\DC\C3\E0\B9\E4\E4\E4\E4\E4\D4\E4\E4\E4\B9\E0\00\00\E4\E4\E4\D0\E4\E4\B6K#UU($=\D1-\05\0A9U,\00\18@'0\13@T:\C5.\04\00\02U\C2\00\B6L(UU(Q:\D7.\0C\009U\00\00\1DL(UU(Q:\D7.\0C\019U\00\00\B6UUUUUU=\E4\DE\BEUoU,\00\B6K#UU(!;\D6-\04\0AlUp\C2\B9\E4Up\B1\AA\AA\B0\95\86\86\88\E1UUUUUUUUUUS\17\17\17\15\E0\E0\00\B8\BF\E4\E4\E4Up\E4\E4U5UUU>\B9\E4\E4H\E4\B9\E4\E4\E4\D7\E4\D6\00\00\00\00\00\00\CE\C8Zw\DDfcC\D9k\1B\E4\AA\AA\86\86H\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E0U7UUUUUUUUUUU\00UUUUU\BA\00\00\00\00\00\00\00\00\00\00\E4\E3\BBUUI\E4\E4\E4\C2\00\00\00\00\00\00UUUUY\E4t\00\00\00\00\00\00\00\00\00\E4\E4\00\00\D0\00\E4\E4\E5\B9\C6\E4\E0\D0LUUUUUUUUUUUUUUUUM\E4\E4\D2\B9\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\E4\C0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E4\E4\E4\D4\E4\E4\E4\E4\D0\00\B9\E4\E4\E4\E4\D1\E4\E4\E4\E4\E4\E4\E4\E4\E4\D0\E4\E4\E4\E4\E4\E0\E4\E4\E4\E4\E0\00\00\00\E4\C2\00\00\E4\E4\E4\E4\E4\E4\E4\D8UUW\AA\AA\AA\86\86\86\8A\E4\E0\E4\E4\E4\E4\E0\1E\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\00\00\00\00\E4\E4\E4\E4\E4\E4\E4\E4\DB\E4\00\00\E4\E4\0D\0F\0E\A2\9B\AA\A3\A6|\86\86\84\80\92\92\92\81\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E0\1B\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\E4\E4\E4\E0\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E0\00\00\00\00\00\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\00\00\00\E4\D0\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E6\E4\E4\E4vpw_5UUUUUUUUUS\B7vUUUUUUUUUUh\E9\E8\E4\E4\E4\EA\E4\E4\E4\E4\C4\06\D0\1Eu\E2\E4\E0\00\00\E4\E4\C0\00\00\00\E4\E4\E4\C2\00\00\EC\EB\EC\EC\E7\E4\B2\B3\B1\AA\AA\B0\95\86\86\89\EC\EC\EC\EC\E4\CF\DB\CF\AA\AA\AB\A9\86\86\87\86\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\11\00\00\00`\00\00\00f\00\00\00\90\00\00\06\00\00\00\10\11\00\00\10\16\00\00\11\10\00\00\11\11\00\00`\06\00\00f\00\00\00fd\00\01\00\06\00\01\10\01\00\06\00`\00\06\10\11\00\10\01\00\00\10\11\11\00\11\01\00\00\11\10\11\00\11\11\11\00\16\10\11\00!\01\11\00`\00`\00`ff\00f\06\00\00f\10\11\00fff\01\00\00\00\01\00\00\11\01\01\00\11\01\01\10\00\01\10\11\11\01\11\00\11\01\11\10\01\01\11\10\11\01\11\11\00\01\11\11\11\01`\00\00\01f\00\00\04$$$\06\00\00\00\06`f\00\06ff\00\10\01\01\10\10\01\01\11\10\01ff\10\11\01\01\10\11\01\11\10\11\10\10\10\11\11\11\10fff\11\00\00\00\11\00\00\10\11\00\00\11\11\00\00f\11\00\06f\11\00\11\00\11\00\16f\11\01\00\00\11\01\00\10\11\01\00\11\11\01\00`\11\01\10\11\11\06\10\11\11\10\01\11\11\10\10\11\11\10\11\01\11\10\11\11\11\11\00\00\11\11\01\00\11\11\01\01\11\11\01\10\11\11\01\11\11\11\01`\11\11\06\00\11\11\10\00\11\11\10\10\11\11\10\11\11\11\11\00\11\11\11\01\11\11\11\10\11\11\11\11\11\11\11\16\11\11\11D\11\11\11a\11\11\11f\11\11\16f\11\114B\11\11a\06\11\11a\11\11\11a\16\11\11af\11\11ff\11\12\11\11\11\12!\11\11\16\11\11\11!\00\00\11!\12\22\11D\11\16\11a\06\00\11a\11\11\11af\11\11aff\11f\00\00\11f\00\11\11f\06\00\11ff\06\11ff\11\11fff\12!\11\11\12\22\11\11\12$$$\16\00\00\00\16\00ff\16\11\11\11\16\11\11f\19\11\11\11 \22\22\22!!\11\11!!!!!\22\22\22\22\11\00\11\22\11\11!\22\11!\11\22\11!\12\22\12$\06\22!\01\11\22\22\22\00\22\22\22\02\22\22\22\12\22\22\22\22\22\22\22b\22bff\22bf\E6\22fff#4BB$\00\00\00$\11$!$\11DB$$\00\00$$$\00$$$\11$$$$$$$D$ff\06&\22\22\22@@@@@DDDA#$DA$$DABBBADDDB\11$DBB\22$BBB\02BBBBBD\12DBDBBD\04\04DD@DDDB$DDBB\22DD\22\22DDD\00DDD\04DDD$DDDDDDDdDD`fDDd\06DDdbDDdfDdffFDDDUUUUUfff`\06\00\00`f\06f`f\10\11`f\16\11`ff\00`fffa\00\00\00a\11\11\11a\11ffa\16\11\11af\06\00affff\00\00\00f\00fff\06\00\00f\06\00\06f\06\00`f\06\00ff\06fff\11\01\00f\11\11\11f!\01\11f$$$f`\16\00f`f\00f`fffaf\16faffff\00\00ff\00`ff\00fff\01\00ff\06\00ff\06\06ff\06`ff\06fff\11\11ff\16\11ff\16aff&fff``ffadfff\00fff\01fff\06fff\11fff\16fff`ffffffv\07if\16\11ifff\99\99ff\99\99\99i\CCfff\DE\CC\CC\EE\EE\EE\EE\EE", [1680 x i8] c"\04\06\07\00\00\00\00\00\00\00\00\00\00\00\00\05\01\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\00\00\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\0D\00\00\00\00\00\00QQRR\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\1B\1B\19\0F\1F\1F\1D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\03SSSUUUT\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\1B\1B\19\0F\1F\1F\1D\00\00\00\00\00\00\04\00\1B\1B\1A\1A\1F\1F\1E ((((((1\10,*(((((2\11.3%)/0$\064,-((\12((((((((((((((((((('\08(((((((((((#GIFHGIGIFH\16\17GIMNGIGIGIEJ\09OCKDL\09P((((5(&\00\00\00\07\1367\0B\0089\0C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\01:\0E\1B\18\1C\0F\1F\22!;(((<\00>>\1B\1B\1B\1B\1F\1F\1F\1F==((((#\0A((((((\10+(((('#((\00\00\00\00\14@@@?\00\15BBBA\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00WWWWVYYYYX\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\001\00\00\00\00\00\00\00Y\00\00\00\00\00\00\00^^\00\00\00\00\00\03\00\00\00\00\00\00\000\00\00\00\00\00\00\1C\1D\1E\1C\00\00\00#$\00%%\00\00\00E\00\00\00\00\00\00\00N\00\00\00\00\00\00\05\06\05\06\05\06\00\00+\00\00,\00\00\00\00/\00\00\00\00\00\00\00Z[\00\00\00\00\00\01\01\01\01\01\01\01\00\02\02\02\02\02\02\02\00\05\06\05\06\05\06\05\00\0B\05\06\05\06\0C\05\00\1C\1D\1E\05\06 !\00&\00'\00\00\00\00\00CCCCCCC\00DDDDDDD\00F\00F\00F\00F\00G\00G\00G\00G\01\01\00\01\01\01\01\01\01\01\01\00\00\00\00\00\01\01\01\01\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\015666\02\02\02\00\00\00\00\00\02\02\02\02\02\02\02\00\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\04\02\02\02\02899\00\02\027\02\02\02\02\02\05\06\00\00\00\00\00\00\05\06\00\00\05\06\00\1B\05\06\00\00\13\15\16\17\05\06\05\06\00\00\00\00\05\06\05\06\05\06\00\00\05\06\05\06\05\06\05\06\05\06\05\06\05\06\18\05\06\00\05\06\05\06\05\06\06\05\06\05\06\05\06\00\06\05\06\05\06\05\06\05\06\05\06\05\06\1F\05\06\06\0D\0D\05\06\00\0E\0F\06\18\00\00\05\06\18\05\06\19\19\05\06\05\06\1A\07\08\05\06\05\06\05\06\09\05\06\05\06\05\06\0A\10\05\06\0D\11\12\13\14\1D\1E\1C\1D\1E\05\06\05\22\00\05\06\05\06\05\06%\00\00(\00\00\00\00)*\00\00\00\00\00*-\00\00-\00\00\00\00-\00..\00\00\00\00222\003\0044:;\00\00\00<=\00>?\1F\00@A\00\00????????BBBBBBBBCCCCCCC\00CCCCCCCCDDDDDDD\00DDDDDDDDFF\00\00\00\00\00\00FF\00\00\00T\00\00FF\00N\00\00\00\00FFFFFF\00\00FFFFFFFFGGGGGG\00\00GGGGGGGGGGOOP\00Q\00GGSS\00\00\00\00GGUUV\00\00\00HHIIIIJJKKLLMM\00\00RRRRP\00\00\00WWXXP\00\00\00\\\\\\\\\\\\\\\\]]]]]]]]^^^^^^^^__\00\00\00\00\00\00________``````\00\00````````aaaaaa\00\00aaaaaaaa", [196 x i16] [i16 0, i16 0, i16 0, i16 32, i16 -32, i16 0, i16 743, i16 0, i16 121, i16 0, i16 0, i16 1, i16 -1, i16 0, i16 0, i16 -199, i16 -232, i16 0, i16 0, i16 -121, i16 -300, i16 0, i16 0, i16 210, i16 0, i16 206, i16 0, i16 205, i16 0, i16 79, i16 0, i16 202, i16 0, i16 203, i16 0, i16 207, i16 97, i16 0, i16 0, i16 211, i16 0, i16 209, i16 0, i16 213, i16 130, i16 0, i16 0, i16 214, i16 0, i16 218, i16 0, i16 217, i16 0, i16 219, i16 56, i16 0, i16 0, i16 2, i16 -1, i16 1, i16 -2, i16 0, i16 -79, i16 0, i16 0, i16 -97, i16 0, i16 -56, i16 0, i16 -130, i16 -210, i16 0, i16 -206, i16 0, i16 -205, i16 0, i16 -202, i16 0, i16 -203, i16 0, i16 -207, i16 0, i16 -209, i16 0, i16 -211, i16 0, i16 -213, i16 0, i16 -214, i16 0, i16 -218, i16 0, i16 -217, i16 0, i16 -219, i16 0, i16 84, i16 0, i16 0, i16 38, i16 0, i16 37, i16 0, i16 64, i16 0, i16 63, i16 -38, i16 0, i16 -37, i16 0, i16 -31, i16 0, i16 -64, i16 0, i16 -63, i16 0, i16 -62, i16 0, i16 -57, i16 0, i16 -47, i16 0, i16 -54, i16 0, i16 -86, i16 0, i16 -80, i16 0, i16 0, i16 -60, i16 -96, i16 0, i16 0, i16 80, i16 0, i16 48, i16 -48, i16 0, i16 -59, i16 0, i16 8, i16 0, i16 0, i16 -8, i16 74, i16 0, i16 86, i16 0, i16 100, i16 0, i16 128, i16 0, i16 112, i16 0, i16 126, i16 0, i16 9, i16 0, i16 0, i16 -74, i16 0, i16 -9, i16 -7205, i16 0, i16 0, i16 -86, i16 0, i16 -100, i16 7, i16 0, i16 0, i16 -112, i16 0, i16 -7, i16 0, i16 -128, i16 0, i16 -126, i16 0, i16 -7517, i16 0, i16 -8383, i16 0, i16 -8262, i16 0, i16 16, i16 -16, i16 0, i16 0, i16 26, i16 -26, i16 0, i16 0, i16 40, i16 -40, i16 0], [51 x i8] c"\000\001\002\003\004\005\006\007\008\009\00\DB\B0\00\DB\B1\00\DB\B2\00\DB\B3\00\DB\B4\00\DB\B5\00\DB\B6\00\DB\B7\00\DB\B8\00\DB\B9\00", [28 x i8] c"\00.\00,\00\03\00\03\02\00\A0\00\C2\A0\00 \00\D9\AB\00\D9\AC\00'\00\02\03\00", [1646 x i8] c"\00\7F\00-\00ZAR \00R\00,\00.\00\03\00\02\00\01\00-R\00ETB \00$\00-$\00AED \00\CF.\C5.\00-\CF.\C5.\00\D8\AF.\D8\A5.\00-\D8\AF.\D8\A5.\00BHD \00\CF.\C8.\00-\CF.\C8.\00\D8\AF.\D8\A8.\00-\D8\AF.\D8\A8.\00DZD \00\CF.\CC.\00-\CF.\CC.\00\D8\AF.\D8\AC.\00-\D8\AF.\D8\AC.\00EGP \00\CC.\E5.\00-\CC.\E5.\00\D8\AC.\D9\85.\00-\D8\AC.\D9\85.\00INR \00\E2\82\A8\00\03\02\00-\E2\82\A8\00IQD \00\CF.\D9.\00-\CF.\D9.\00\D8\AF.\D8\B9.\00-\D8\AF.\D8\B9.\00JOD \00\CF.\C3.\00-\CF.\C3.\00\D8\AF.\D8\A3.\00-\D8\AF.\D8\A3.\00KWD \00\CF.\E3.\00-\CF.\E3.\00\D8\AF.\D9\83.\00-\D8\AF.\D9\83.\00LBP \00\E4.\E4.\00-\E4.\E4.\00\D9\84.\D9\84.\00-\D9\84.\D9\84.\00LYD \00\CF.\E4.\00-\CF.\E4.\00\D8\AF.\D9\84.\00-\D8\AF.\D9\84.\00MAD \00\CF.\E5.\00-\CF.\E5.\00\D8\AF.\D9\85.\00-\D8\AF.\D9\85.\00OMR \00\D1.\D9.\00-\D1.\D9.\00\D8\B1.\D8\B9.\00-\D8\B1.\D8\B9.\00QAR \00\D1.\E2.\00-\D1.\E2.\00\D8\B1.\D9\82.\00-\D8\B1.\D9\82.\00SAR \00\D1\EA\C7\E4\00+\D1\EA\C7\E4\00\D8\B1\D9\8A\D8\A7\D9\84\00+\D8\B1\D9\8A\D8\A7\D9\84\00SDP \00\CC.\D3.\00-\CC.\D3.\00\D8\AC.\D8\B3.\00-\D8\AC.\D8\B3.\00SYP \00\E4.\D3.\00-\E4.\D3.\00\D9\84.\D8\B3.\00-\D9\84.\D8\B3.\00TND \00\CF.\CA.\00-\CF.\CA.\00\D8\AF.\D8\AA.\00-\D8\AF.\D8\AA.\00YER \00\D1.\EA.\00-\D1.\EA.\00\D8\B1.\D9\8A.\00-\D8\B1.\D9\8A.\00AZM \00man.\00 \00+man.\00BYR \00\F0\F3\E1\00+\F0\F3\E1\00\D1\80\D1\83\D0\B1\00+\D1\80\D1\83\D0\B1\00BGL \00\EB\E2\00\A0\00+\EB\E2\00\D0\BB\D0\B2\00\C2\A0\00+\D0\BB\D0\B2\00\E0\A7\B3\00-\E0\A7\B3\00\E0\A6\9F\E0\A6\BE\E0\A6\95\E0\A6\BE\00\02\03\00-\E0\A6\9F\E0\A6\BE\E0\A6\95\E0\A6\BE\00EUR \00EUR\00+EUR\00\E2\82\AC\00+\E2\82\AC\00BAK \00KM\00-KM\00-EUR\00-\E2\82\AC\00\A4\00-\A4\00CZK \00K\E8\00+K\E8\00K\C4\8D\00+K\C4\8D\00GBP \00\A3\00-\A3\00\C2\A3\00-\C2\A3\00DKK \00kr\00\04\00-kr\00CHF \00Fr.\00-Fr.\00+\A4\00AUD \00BWP \00Pu\00-Pu\00CAD \00\C2\A4\00-\C2\A4\00HKD \00HK$\00-HK$\00NZD \00PHP \00Php\00-Php\00SGD \00USD \00ZWD \00Z$\00-Z$\00-EUR \00ARS \00BOB \00$b\00-$b\00CLP \00COP \00CRC \00C\00-C\00DOP \00ECS \00GTQ \00Q\00-Q\00HNL \00L.\00-L.\00MXP \00NIO \00$C\00-$C\00PAB \00B/\00-B/\00PEN \00S/\00-S/\00PYG \00Gs.\00-Gs.\00SVC \00\A2\00-\A2\00\C2\A2\00-\C2\A2\00UYU \00N$\00-N$\00VEB \00Bs.\00-Bs.\00EEK \00IRR \00\D8\B1\DB\8C\D8\A7\D9\84\00\D9\AB\00\D9\AC\00+\D8\B1\DB\8C\D8\A7\D9\84\00+$\00ILS \00\F9\E7\00-\F9\E7\00\D7\A9\D7\97\00-\D7\A9\D7\97\00\E0\A4\B0\E0\A5\82\00-\E0\A4\B0\E0\A5\82\00HRK \00Kn\00-Kn\00HUF \00Ft\00+Ft\00AMD \00\B8\00-\B8\00\D4\B4\00-\D4\B4\00IDR \00Rp\00-Rp\00ISK \00+kr\00JPY \00\EF\BF\A5\00-\EF\BF\A5\00GEL \00\CB\00-\CB\00\E1\83\9A\00-\E1\83\9A\00KRW \00\EF\BF\A6\00-\EF\BF\A6\00LTL \00Lt\00+Lt\00LVL \00Ls\00-Ls\00MKD \00\D4\D5\DD\00+\D4\D5\DD\00\D0\B4\D0\B5\D0\BD\00+\D0\B4\D0\B5\D0\BD\00\E0\A4\B0\E0\A5\81\00-\E0\A4\B0\E0\A5\81\00MYR \00RM\00-RM\00MTL \00Lm\00-Lm\00NOK \00PLN \00Z\B3\00-Z\B3\00Z\C5\82\00-Z\C5\82\00BRL \00R$\00+R$\00ROL \00Lei\00-Lei\00RUR \00\D2\D5\C2\00+\D2\D5\C2\00\E0\E3\D1\00+\E0\E3\D1\00UAH \00\C7\D2\00+\C7\D2\00\D0\B3\D1\80\00+\D0\B3\D1\80\00 ru\00- ru\00SKK \00Sk\00+Sk\00SIT \00SIT\00+SIT\00ALL \00Lek\00-Lek\00YUN \00din\00-din\00\D4\D8\DD\00-\D4\D8\DD\00\D0\B4\D0\B8\D0\BD\00-\D0\B4\D0\B8\D0\BD\00SEK \00THB \00\DF\00-\DF\00\E0\B8\BF\00-\E0\B8\BF\00ERB \00PhP\00-PhP\00TRL \00TL\00+TL\00PKR \00Rs\00-Rs\00UZS \00so'm\00-so'm\00VND \00\E2\82\AB\00+\E2\82\AB\00CNY \00TWD \00NT$\00-NT$\00", [28353 x i8] c"\00Sun\00Mon\00Tue\00Wed\00Thu\00Fri\00Sat\00Sunday\00Monday\00Tuesday\00Wednesday\00Thursday\00Friday\00Saturday\00Jan\00Feb\00Mar\00Apr\00May\00Jun\00Jul\00Aug\00Sep\00Oct\00Nov\00Dec\00January\00February\00March\00April\00June\00July\00August\00September\00October\00November\00December\00AM\00PM\00%a %b %e %H:%M:%S %Y\00%m/%d/%y\00%H:%M:%S\00%I:%M:%S %p\00So\00Ma\00Di\00Wo\00Do\00Vr\00Sa\00Sondag\00Maandag\00Dinsdag\00Woensdag\00Donderdag\00Vrydag\00Saterdag\00Mei\00Okt\00Des\00Januarie\00Februarie\00Maart\00Junie\00Julie\00Augustus\00Oktober\00Desember\00VM\00NM\00%a %d %b %Y %T %Z\00%d/%m/%y\00%T\00\E1\8A\A5\E1\88\91\E1\8B\B5\00\E1\88\B0\E1\8A\9E\00\E1\88\9B\E1\8A\AD\E1\88\B0\E1\8A\9E\00\E1\88\A8\E1\89\A1\E1\8B\95\00\E1\88\90\E1\88\99\E1\88\B5\00\E1\8B\93\E1\88\AD\E1\89\A5\00\E1\89\85\E1\8B\B3\E1\88\9C\00\E1\8C\83\E1\8A\95\E1\8B\A9\00\E1\8D\8C\E1\89\A5\E1\88\A9\00\E1\88\9B\E1\88\AD\E1\89\BD\00\E1\8A\A4\E1\8D\95\E1\88\A8\00\E1\88\9C\E1\8B\AD\00\E1\8C\81\E1\8A\95\00\E1\8C\81\E1\88\8B\E1\8B\AD\00\E1\8A\A6\E1\8C\88\E1\88\B5\00\E1\88\B4\E1\8D\95\E1\89\B4\00\E1\8A\A6\E1\8A\AD\E1\89\B0\00\E1\8A\96\E1\89\AC\E1\88\9D\00\E1\8B\B2\E1\88\B4\E1\88\9D\00\E1\8C\83\E1\8A\95\E1\8B\A9\E1\8B\88\E1\88\AA\00\E1\8D\8C\E1\89\A5\E1\88\A9\E1\8B\88\E1\88\AA\00\E1\8A\A4\E1\8D\95\E1\88\A8\E1\88\8D\00\E1\8A\A6\E1\8C\88\E1\88\B5\E1\89\B5\00\E1\88\B4\E1\8D\95\E1\89\B4\E1\88\9D\E1\89\A0\E1\88\AD\00\E1\8A\A6\E1\8A\AD\E1\89\B0\E1\8B\8D\E1\89\A0\E1\88\AD\00\E1\8A\96\E1\89\AC\E1\88\9D\E1\89\A0\E1\88\AD\00\E1\8B\B2\E1\88\B4\E1\88\9D\E1\89\A0\E1\88\AD\00\E1\8C\A0\E1\8B\8B\E1\89\B5\00\E1\8A\A8\E1\88\B3\E1\8B\93\E1\89\B5\00%A\E1\8D\A3 %b %e \E1\89\80\E1\8A\95 %l:%M:%S %Z %Y\00%d/%m/%Y\00%r\00\CD\00\E6\00\CB\00\D1\00\CE\00\CC\00\D3\00\C7\E4\C3\CD\CF\00\C7\E4\C7\CB\E6\EA\E6\00\C7\E4\CB\E4\C7\CB\C7\C1\00\C7\E4\C3\D1\C8\D9\C7\C1\00\C7\E4\CE\E5\EA\D3\00\C7\E4\CC\E5\D9\C9\00\C7\E4\D3\C8\CA \00\EA\E6\C7\00\E1\C8\D1\00\E5\C7\D1\00\C3\C8\D1\00\E5\C7\EA\00\EA\E8\E6\00\EA\E8\E4\00\C3\DA\D3\00\D3\C8\CA\00\C3\E3\CA\00\E6\E8\E1\00\CF\EA\D3\00\EA\E6\C7\EA\D1\00\E1\C8\D1\C7\EA\D1\00\E5\C7\D1\D3\00\C3\C8\D1\EA\E4\00\E5\C7\EA\E8\00\EA\E8\E6\EA\E8\00\EA\E8\E4\EA\E8\00\C3\DA\D3\D7\D3\00\D3\C8\CA\E5\C8\D1\00\C3\E3\CA\E8\C8\D1\00\E6\E8\E1\E5\C8\D1\00\CF\EA\D3\E5\C8\D1\00\D5\00\E5\00%d %b, %Y %Z %I:%M:%S %p\00%d %b, %Y\00%Z %I:%M:%S \00%Z %I:%M:%S %p\00\D8\AD\00\D9\86\00\D8\AB\00\D8\B1\00\D8\AE\00\D8\AC\00\D8\B3\00\D8\A7\D9\84\D8\A3\D8\AD\D8\AF\00\D8\A7\D9\84\D8\A7\D8\AB\D9\86\D9\8A\D9\86\00\D8\A7\D9\84\D8\AB\D9\84\D8\A7\D8\AB\D8\A7\D8\A1\00\D8\A7\D9\84\D8\A3\D8\B1\D8\A8\D8\B9\D8\A7\D8\A1\00\D8\A7\D9\84\D8\AE\D9\85\D9\8A\D8\B3\00\D8\A7\D9\84\D8\AC\D9\85\D8\B9\D8\A9\00\D8\A7\D9\84\D8\B3\D8\A8\D8\AA \00\D9\8A\D9\86\D8\A7\00\D9\81\D8\A8\D8\B1\00\D9\85\D8\A7\D8\B1\00\D8\A3\D8\A8\D8\B1\00\D9\85\D8\A7\D9\8A\00\D9\8A\D9\88\D9\86\00\D9\8A\D9\88\D9\84\00\D8\A3\D8\BA\D8\B3\00\D8\B3\D8\A8\D8\AA\00\D8\A3\D9\83\D8\AA\00\D9\86\D9\88\D9\81\00\D8\AF\D9\8A\D8\B3\00\D9\8A\D9\86\D8\A7\D9\8A\D8\B1\00\D9\81\D8\A8\D8\B1\D8\A7\D9\8A\D8\B1\00\D9\85\D8\A7\D8\B1\D8\B3\00\D8\A3\D8\A8\D8\B1\D9\8A\D9\84\00\D9\85\D8\A7\D9\8A\D9\88\00\D9\8A\D9\88\D9\86\D9\8A\D9\88\00\D9\8A\D9\88\D9\84\D9\8A\D9\88\00\D8\A3\D8\BA\D8\B3\D8\B7\D8\B3\00\D8\B3\D8\A8\D8\AA\D9\85\D8\A8\D8\B1\00\D8\A3\D9\83\D8\AA\D9\88\D8\A8\D8\B1\00\D9\86\D9\88\D9\81\D9\85\D8\A8\D8\B1\00\D8\AF\D9\8A\D8\B3\D9\85\D8\A8\D8\B1\00\D8\B5\00\D9\85\00\C7\E4\D3\C8\CA\00\D8\A7\D9\84\D8\B3\D8\A8\D8\AA\00%A %d %B %Y %I:%M:%S %p %Z\00%A %d %B %Y\00%I:%M:%S %Z\00%I:%M:%S %p %Z\00\E3\C7\E6\E8\E6 \C7\E4\CB\C7\E6\EA\00\D4\C8\C7\D7\00\C2\D0\C7\D1\00\E6\EA\D3\C7\E6\00\E6\E8\C7\D1\00\CD\D2\EA\D1\C7\E6\00\CA\E5\E8\D2\00\C2\C8\00\C3\EA\E4\E8\E4\00\CA\D4\D1\EA\E6 \C7\E4\C3\E8\E4\00\CA\D4\D1\EA\E6 \C7\E4\CB\C7\E6\EA\00\E3\C7\E6\E8\E6 \C7\E4\C3\E8\E4\00\D9\83\D8\A7\D9\86\D9\88\D9\86 \D8\A7\D9\84\D8\AB\D8\A7\D9\86\D9\8A\00\D8\B4\D8\A8\D8\A7\D8\B7\00\D8\A2\D8\B0\D8\A7\D8\B1\00\D9\86\D9\8A\D8\B3\D8\A7\D9\86\00\D9\86\D9\88\D8\A7\D8\B1\00\D8\AD\D8\B2\D9\8A\D8\B1\D8\A7\D9\86\00\D8\AA\D9\85\D9\88\D8\B2\00\D8\A2\D8\A8\00\D8\A3\D9\8A\D9\84\D9\88\D9\84\00\D8\AA\D8\B4\D8\B1\D9\8A\D9\86 \D8\A7\D9\84\D8\A3\D9\88\D9\84\00\D8\AA\D8\B4\D8\B1\D9\8A\D9\86 \D8\A7\D9\84\D8\AB\D8\A7\D9\86\D9\8A\00\D9\83\D8\A7\D9\86\D9\88\D9\86 \D8\A7\D9\84\D8\A3\D9\88\D9\84\00\C7\E4\C5\CB\E6\EA\E6\00\C7\E4\CC\E5\D9\E0\C9\00\E6\EA\D3\E0\C7\E6\00\C3\EA\C7\D1\00\CA\E0\E5\E0\E8\D2\00%A %.1d %B %Y %.1H:%M:%S\00%A %.1d %B %Y\00%.1H:%M:%S\00\D8\A7\D9\84\D8\A5\D8\AB\D9\86\D9\8A\D9\86\00\D8\A7\D9\84\D8\AC\D9\85\D8\B9\D9\80\D8\A9\00\D9\86\D9\8A\D8\B3\D9\80\D8\A7\D9\86\00\D8\A3\D9\8A\D8\A7\D8\B1\00\D8\AA\D9\80\D9\85\D9\80\D9\88\D8\B2\00\E6\E8\C7\D1\C7\E6\00\CD\D2\EA\D1\00\D9\86\D9\88\D8\A7\D8\B1\D8\A7\D9\86\00\D8\AD\D8\B2\D9\8A\D8\B1\00baz\00bir\00iki\00\FC\E7\FC\00d\F6r\00be\FE\00alt\00bazar g\FCn\FC\00birinci g\FCn\00ikinci g\FCn\00\FC\E7\FCnc\FC g\FCn\00d\F6rd\FCnc\FC g\FCn\00be\FEinci g\FCn\00alt\FDnc\FD g\FCn\00Yan\00Fev\00\DDyn\00\DDyl\00Avq\00Sen\00Noy\00Dek\00yanvar\00fevral\00mart\00aprel\00may\00iyun\00iyul\00avqust\00sentyabr\00oktyabr\00noyabr\00dekabr\00%A, %d %B %Y %T\00%d.%m.%Y\00\C3\BC\C3\A7\C3\BC\00d\C3\B6r\00be\C5\9F\00bazar g\C3\BCn\C3\BC\00birinci g\C3\BCn\00ikinci g\C3\BCn\00\C3\BC\C3\A7\C3\BCnc\C3\BC g\C3\BCn\00d\C3\B6rd\C3\BCnc\C3\BC g\C3\BCn\00be\C5\9Finci g\C3\BCn\00alt\C4\B1nc\C4\B1 g\C3\BCn\00\C4\B0yn\00\C4\B0yl\00\CD\FF\E4\00\CF\E0\ED\00\C0\A2\F2\00\D1\F0\E4\00\D7\F6\E2\00\CF\FF\F2\00\D1\F3\E1\00\CD\FF\E4\E7\E5\EB\FF\00\CF\E0\ED\FF\E4\E7\E5\EB\E0\EA\00\C0\A2\F2\EE\F0\E0\EA\00\D1\E5\F0\E0\E4\E0\00\D7\E0\F6\E2\E5\F0\00\CF\FF\F2\ED\B3\F6\E0\00\D1\F3\E1\EE\F2\E0\00\D1\F2\E4\00\CB\FE\F2\00\D1\E0\EA\00\CA\F0\F1\00\D2\F0\E0\00\D7\FD\F0\00\CB\B3\EF\00\C6\ED\E2\00\C2\F0\F1\00\CA\F1\F2\00\CB\B3\F1\00\D1\ED\E6\00\D1\F2\F3\E4\E7\E5\ED\FC\00\CB\FE\F2\FB\00\D1\E0\EA\E0\E2\B3\EA\00\CA\F0\E0\F1\E0\E2\B3\EA\00\D2\F0\E0\E2\E5\ED\FC\00\D7\FD\F0\E2\E5\ED\FC\00\CB\B3\EF\E5\ED\FC\00\C6\ED\B3\E2\E5\ED\FC\00\C2\E5\F0\E0\F1\E5\ED\FC\00\CA\E0\F1\F2\F0\FB\F7\ED\B3\EA\00\CB\B3\F1\F2\E0\EF\E0\E4\00\D1\ED\E5\E6\E0\ED\FC\00%a %d %b %Y %T\00\D0\9D\D1\8F\D0\B4\00\D0\9F\D0\B0\D0\BD\00\D0\90\D1\9E\D1\82\00\D0\A1\D1\80\D0\B4\00\D0\A7\D1\86\D0\B2\00\D0\9F\D1\8F\D1\82\00\D0\A1\D1\83\D0\B1\00\D0\9D\D1\8F\D0\B4\D0\B7\D0\B5\D0\BB\D1\8F\00\D0\9F\D0\B0\D0\BD\D1\8F\D0\B4\D0\B7\D0\B5\D0\BB\D0\B0\D0\BA\00\D0\90\D1\9E\D1\82\D0\BE\D1\80\D0\B0\D0\BA\00\D0\A1\D0\B5\D1\80\D0\B0\D0\B4\D0\B0\00\D0\A7\D0\B0\D1\86\D0\B2\D0\B5\D1\80\00\D0\9F\D1\8F\D1\82\D0\BD\D1\96\D1\86\D0\B0\00\D0\A1\D1\83\D0\B1\D0\BE\D1\82\D0\B0\00\D0\A1\D1\82\D0\B4\00\D0\9B\D1\8E\D1\82\00\D0\A1\D0\B0\D0\BA\00\D0\9A\D1\80\D1\81\00\D0\A2\D1\80\D0\B0\00\D0\A7\D1\8D\D1\80\00\D0\9B\D1\96\D0\BF\00\D0\96\D0\BD\D0\B2\00\D0\92\D1\80\D1\81\00\D0\9A\D1\81\D1\82\00\D0\9B\D1\96\D1\81\00\D0\A1\D0\BD\D0\B6\00\D0\A1\D1\82\D1\83\D0\B4\D0\B7\D0\B5\D0\BD\D1\8C\00\D0\9B\D1\8E\D1\82\D1\8B\00\D0\A1\D0\B0\D0\BA\D0\B0\D0\B2\D1\96\D0\BA\00\D0\9A\D1\80\D0\B0\D1\81\D0\B0\D0\B2\D1\96\D0\BA\00\D0\A2\D1\80\D0\B0\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\A7\D1\8D\D1\80\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\9B\D1\96\D0\BF\D0\B5\D0\BD\D1\8C\00\D0\96\D0\BD\D1\96\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\92\D0\B5\D1\80\D0\B0\D1\81\D0\B5\D0\BD\D1\8C\00\D0\9A\D0\B0\D1\81\D1\82\D1\80\D1\8B\D1\87\D0\BD\D1\96\D0\BA\00\D0\9B\D1\96\D1\81\D1\82\D0\B0\D0\BF\D0\B0\D0\B4\00\D0\A1\D0\BD\D0\B5\D0\B6\D0\B0\D0\BD\D1\8C\00\ED\E4\00\EF\ED\00\E2\F2\00\F1\F0\00\F7\F2\00\EF\F2\00\F1\E1\00\ED\E5\E4\E5\EB\FF\00\EF\EE\ED\E5\E4\E5\EB\ED\E8\EA\00\E2\F2\EE\F0\ED\E8\EA\00\F1\F0\FF\E4\E0\00\F7\E5\F2\E2\FA\F0\F2\FA\EA\00\EF\E5\F2\FA\EA\00\F1\FA\E1\EE\F2\E0\00\FF\ED\F3\00\F4\E5\E2\00\EC\E0\F0\00\E0\EF\F0\00\EC\E0\E9\00\FE\ED\E8\00\FE\EB\E8\00\E0\E2\E3\00\F1\E5\EF\00\EE\EA\F2\00\ED\EE\E5\00\E4\E5\EA\00\FF\ED\F3\E0\F0\E8\00\F4\E5\E2\F0\F3\E0\F0\E8\00\EC\E0\F0\F2\00\E0\EF\F0\E8\EB\00\E0\E2\E3\F3\F1\F2\00\F1\E5\EF\F2\E5\EC\E2\F0\E8\00\EE\EA\F2\EE\EC\E2\F0\E8\00\ED\EE\E5\EC\E2\F0\E8\00\E4\E5\EA\E5\EC\E2\F0\E8\00%x (%a) %X %Z\00%e.%m.%Y\00%k,%M,%S\00%l,%M,%S\00\D0\BD\D0\B4\00\D0\BF\D0\BD\00\D0\B2\D1\82\00\D1\81\D1\80\00\D1\87\D1\82\00\D0\BF\D1\82\00\D1\81\D0\B1\00\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D1\8F\00\D0\BF\D0\BE\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D0\BD\D0\B8\D0\BA\00\D0\B2\D1\82\D0\BE\D1\80\D0\BD\D0\B8\D0\BA\00\D1\81\D1\80\D1\8F\D0\B4\D0\B0\00\D1\87\D0\B5\D1\82\D0\B2\D1\8A\D1\80\D1\82\D1\8A\D0\BA\00\D0\BF\D0\B5\D1\82\D1\8A\D0\BA\00\D1\81\D1\8A\D0\B1\D0\BE\D1\82\D0\B0\00\D1\8F\D0\BD\D1\83\00\D1\84\D0\B5\D0\B2\00\D0\BC\D0\B0\D1\80\00\D0\B0\D0\BF\D1\80\00\D0\BC\D0\B0\D0\B9\00\D1\8E\D0\BD\D0\B8\00\D1\8E\D0\BB\D0\B8\00\D0\B0\D0\B2\D0\B3\00\D1\81\D0\B5\D0\BF\00\D0\BE\D0\BA\D1\82\00\D0\BD\D0\BE\D0\B5\00\D0\B4\D0\B5\D0\BA\00\D1\8F\D0\BD\D1\83\D0\B0\D1\80\D0\B8\00\D1\84\D0\B5\D0\B2\D1\80\D1\83\D0\B0\D1\80\D0\B8\00\D0\BC\D0\B0\D1\80\D1\82\00\D0\B0\D0\BF\D1\80\D0\B8\D0\BB\00\D0\B0\D0\B2\D0\B3\D1\83\D1\81\D1\82\00\D1\81\D0\B5\D0\BF\D1\82\D0\B5\D0\BC\D0\B2\D1\80\D0\B8\00\D0\BE\D0\BA\D1\82\D0\BE\D0\BC\D0\B2\D1\80\D0\B8\00\D0\BD\D0\BE\D0\B5\D0\BC\D0\B2\D1\80\D0\B8\00\D0\B4\D0\B5\D0\BA\D0\B5\D0\BC\D0\B2\D1\80\D0\B8\00\E0\A6\B0\E0\A6\AC\E0\A6\BF\00\E0\A6\B8\E0\A7\8B\E0\A6\AE\00\E0\A6\AE\E0\A6\99\E0\A6\97\E0\A6\B2\00\E0\A6\AC\E0\A7\81\E0\A6\A7\00\E0\A6\AC\E0\A7\83\E0\A6\B9\E0\A6\B8\E0\A7\8D\E0\A6\AA\E0\A6\A4\E0\A6\BF\00\E0\A6\B6\E0\A7\81\E0\A6\95\E0\A7\8D\E0\A6\B0\00\E0\A6\B6\E0\A6\A8\E0\A6\BF\00\E0\A6\B0\E0\A6\AC\E0\A6\BF\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B8\E0\A7\8B\E0\A6\AE\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\AE\E0\A6\99\E0\A6\97\E0\A6\B2\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\AC\E0\A7\81\E0\A6\A7\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\AC\E0\A7\83\E0\A6\B9\E0\A6\B8\E0\A7\8D\E0\A6\AA\E0\A6\A4\E0\A6\BF\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B6\E0\A7\81\E0\A6\95\E0\A7\8D\E0\A6\B0\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B6\E0\A6\A8\E0\A6\BF\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\9C\E0\A6\BE\E0\A6\A8\00\E0\A6\AB\E0\A7\87\E0\A6\AC\00\E0\A6\AE\E0\A6\BE\E0\A6\B0\00\E0\A6\8F\E0\A6\AA\E0\A7\8D\E0\A6\B0\00\E0\A6\AE\E0\A7\87\00\E0\A6\9C\E0\A7\81\E0\A6\A8\00\E0\A6\9C\E0\A7\81\E0\A6\B2\00\E0\A6\86\E0\A6\97\00\E0\A6\B8\E0\A7\87\E0\A6\AA\00\E0\A6\85\E0\A6\95\E0\A7\8D\E0\A6\9F\E0\A7\8B\E0\A6\AC\E0\A6\B0\00\E0\A6\A8\E0\A6\AD\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\B0\00\E0\A6\A1\E0\A6\BF\E0\A6\B8\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\B0\00\E0\A6\9C\E0\A6\BE\E0\A6\A8\E0\A7\81\E0\A7\9F\E0\A6\BE\E0\A6\B0\E0\A7\80\00\E0\A6\AB\E0\A7\87\E0\A6\AC\E0\A7\8D\E0\A6\B0\E0\A7\81\E0\A7\9F\E0\A6\BE\E0\A6\B0\E0\A7\80\00\E0\A6\AE\E0\A6\BE\E0\A6\B0\E0\A7\8D\E0\A6\9A\00\E0\A6\8F\E0\A6\AA\E0\A7\8D\E0\A6\B0\E0\A6\BF\E0\A6\B2\00\E0\A6\9C\E0\A7\81\E0\A6\B2\E0\A6\BE\E0\A6\87\00\E0\A6\86\E0\A6\97\E0\A6\B8\E0\A7\8D\E0\A6\9F\00\E0\A6\B8\E0\A7\87\E0\A6\AA\E0\A7\8D\E0\A6\9F\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\85\E0\A6\95\E0\A7\8D\E0\A6\9F\E0\A7\8B\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\A8\E0\A6\AD\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\A1\E0\A6\BF\E0\A6\B8\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B8\E0\A6\95\E0\A6\BE\E0\A6\B2\00\E0\A6\AC\E0\A6\BF\E0\A6\95\E0\A6\BE\E0\A6\B2\00%A %d %b %Y %I:%M:%S %p %Z\00%A %d %b %Y\00\E0\A6\B8\E0\A7\87\E0\A6\AA\E0\A7\8D\E0\A6\9F\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\B0\00\E0\A6\AA\E0\A7\82\E0\A6\B0\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B9\E0\A7\8D\E0\A6\A3\00\E0\A6\85\E0\A6\AA\E0\A6\B0\E0\A6\BE\E0\A6\B9\E0\A7\8D\E0\A6\A3\00sul\00lun\00meu\00mer\00yao\00gwe\00sad\00meurzh\00merc'her\00yaou\00gwener\00sadorn\00Gen \00C'hw\00Meu \00Ebr \00Mae \00Eve \00Gou \00Eos \00Gwe \00Her \00Du \00Ker \00Genver\00C'hwevrer\00Meurzh\00Ebrel\00Mae\00Mezheven\00Gouere\00Eost\00Gwengolo\00Here\00Du\00Kerzu\00 \00D'ar %A %d a viz %B %Y\00%Ie%M:%S %p\00Ned\00Pon\00Uto\00Sri\00\C8et\00Pet\00Sub\00Nedjelja\00Ponedjeljak\00Utorak\00Srijeda\00\C8etvrtak\00Petak\00Subota\00Maj\00Januar\00Februar\00Mart\00Juni\00Juli\00Septembar\00Oktobar\00Novembar\00Decembar\00\C4\8Cet\00\C4\8Cetvrtak\00dg\00dl\00dt\00dc\00dj\00dv\00ds\00diumenge\00dilluns\00dimarts\00dimecres\00dijous\00divendres\00dissabte\00gen\00feb\00mar\00abr\00mai\00jun\00jul\00ago\00set\00oct\00nov\00des\00gener\00febrer\00mar\E7\00abril\00maig\00juny\00juliol\00agost\00setembre\00octubre\00novembre\00desembre\00mar\C3\A7\00Ne\00Po\00\DAt\00St\00\C8t\00P\E1\00Ned\ECle\00Pond\ECl\ED\00\DAter\FD\00St\F8eda\00\C8tvrtek\00P\E1tek\00Sobota\00led\00\FAno\00b\F8e\00dub\00kv\EC\00\E8en\00\E8ec\00srp\00z\E1\F8\00\F8\EDj\00lis\00pro\00leden\00\FAnor\00b\F8ezen\00duben\00kv\ECten\00\E8erven\00\E8ervenec\00srpen\00z\E1\F8\ED\00\F8\EDjen\00listopad\00prosinec\00%a\A0%e.\A0%B\A0%Y,\A0%H:%M:%S\A0%Z\00%I:%M:%S\00\C3\9At\00\C4\8Ct\00P\C3\A1\00Ned\C4\9Ble\00Pond\C4\9Bl\C3\AD\00\C3\9Ater\C3\BD\00St\C5\99eda\00\C4\8Ctvrtek\00P\C3\A1tek\00\C3\BAno\00b\C5\99e\00kv\C4\9B\00\C4\8Den\00\C4\8Dec\00z\C3\A1\C5\99\00\C5\99\C3\ADj\00\C3\BAnor\00b\C5\99ezen\00kv\C4\9Bten\00\C4\8Derven\00\C4\8Dervenec\00z\C3\A1\C5\99\C3\AD\00\C5\99\C3\ADjen\00%a\C2\A0%e.\C2\A0%B\C2\A0%Y,\C2\A0%H:%M:%S\C2\A0%Z\00Sul\00Llu\00Maw\00Mer\00Iau\00Gwe\00Sad\00Llun\00Mawrth\00Mercher\00Gwener\00Sadwrn\00Ion\00Chw\00Ebr\00Mai\00Meh\00Gor\00Aws\00Med\00Hyd\00Tach\00Rha\00Ionawr\00Chwefror\00Ebrill\00Mehefin\00Gorffennaf\00Awst\00Medi\00Hydref\00Tachwedd\00Rhagfyr\00Dydd %A %d a viz %B %Y %T %Z\00%d.%m.%y\00s\F8n\00man\00tir\00ons\00tor\00fre\00l\F8r\00s\F8ndag\00mandag\00tirsdag\00onsdag\00torsdag\00fredag\00l\F8rdag\00jan\00apr\00maj\00aug\00sep\00okt\00dec\00januar\00februar\00marts\00april\00juni\00juli\00august\00september\00oktober\00november\00december\00%d-%m-%Y\00s\C3\B8n\00l\C3\B8r\00s\C3\B8ndag\00l\C3\B8rdag\00Son\00Die\00Mit\00Don\00Fre\00Sam\00Sonntag\00Montag\00Dienstag\00Mittwoch\00Donnerstag\00Freitag\00Samstag\00J\E4n\00M\E4r\00Dez\00J\E4nner\00Feber\00M\E4rz\00Dezember\00%Y-%m-%d\00J\C3\A4n\00M\C3\A4r\00J\C3\A4nner\00M\C3\A4rz\00\CA\F5\F1\00\C4\E5\F5\00\D4\F1\E9\00\D4\E5\F4\00\D0\E5\EC\00\D0\E1\F1\00\D3\E1\E2\00\CA\F5\F1\E9\E1\EA\DE\00\C4\E5\F5\F4\DD\F1\E1\00\D4\F1\DF\F4\E7\00\D4\E5\F4\DC\F1\F4\E7\00\D0\DD\EC\F0\F4\E7\00\D0\E1\F1\E1\F3\EA\E5\F5\DE\00\D3\DC\E2\E2\E1\F4\EF\00\C9\E1\ED\00\D6\E5\E2\00\CC\DC\F1\00\C1\F0\F1\00\CC\DC\E9\00\C9\EF\FD\ED\00\C9\EF\FD\EB\00\C1\FD\E3\00\D3\E5\F0\00\CF\EA\F4\00\CD\EF\DD\00\C4\E5\EA\00\C9\E1\ED\EF\F5\DC\F1\E9\EF\F2\00\D6\E5\E2\F1\EF\F5\DC\F1\E9\EF\F2\00\CC\DC\F1\F4\E9\EF\F2\00\C1\F0\F1\DF\EB\E9\EF\F2\00\CC\DC\E9\EF\F2\00\C9\EF\FD\ED\E9\EF\F2\00\C9\EF\FD\EB\E9\EF\F2\00\C1\FD\E3\EF\F5\F3\F4\EF\F2\00\D3\E5\F0\F4\DD\EC\E2\F1\E9\EF\F2\00\CF\EA\F4\FE\E2\F1\E9\EF\F2\00\CD\EF\DD\EC\E2\F1\E9\EF\F2\00\C4\E5\EA\DD\EC\E2\F1\E9\EF\F2\00\CE\9A\CF\85\CF\81\00\CE\94\CE\B5\CF\85\00\CE\A4\CF\81\CE\B9\00\CE\A4\CE\B5\CF\84\00\CE\A0\CE\B5\CE\BC\00\CE\A0\CE\B1\CF\81\00\CE\A3\CE\B1\CE\B2\00\CE\9A\CF\85\CF\81\CE\B9\CE\B1\CE\BA\CE\AE\00\CE\94\CE\B5\CF\85\CF\84\CE\AD\CF\81\CE\B1\00\CE\A4\CF\81\CE\AF\CF\84\CE\B7\00\CE\A4\CE\B5\CF\84\CE\AC\CF\81\CF\84\CE\B7\00\CE\A0\CE\AD\CE\BC\CF\80\CF\84\CE\B7\00\CE\A0\CE\B1\CF\81\CE\B1\CF\83\CE\BA\CE\B5\CF\85\CE\AE\00\CE\A3\CE\AC\CE\B2\CE\B2\CE\B1\CF\84\CE\BF\00\CE\99\CE\B1\CE\BD\00\CE\A6\CE\B5\CE\B2\00\CE\9C\CE\AC\CF\81\00\CE\91\CF\80\CF\81\00\CE\9C\CE\AC\CE\B9\00\CE\99\CE\BF\CF\8D\CE\BD\00\CE\99\CE\BF\CF\8D\CE\BB\00\CE\91\CF\8D\CE\B3\00\CE\A3\CE\B5\CF\80\00\CE\9F\CE\BA\CF\84\00\CE\9D\CE\BF\CE\AD\00\CE\94\CE\B5\CE\BA\00\CE\99\CE\B1\CE\BD\CE\BF\CF\85\CE\AC\CF\81\CE\B9\CE\BF\CF\82\00\CE\A6\CE\B5\CE\B2\CF\81\CE\BF\CF\85\CE\AC\CF\81\CE\B9\CE\BF\CF\82\00\CE\9C\CE\AC\CF\81\CF\84\CE\B9\CE\BF\CF\82\00\CE\91\CF\80\CF\81\CE\AF\CE\BB\CE\B9\CE\BF\CF\82\00\CE\9C\CE\AC\CE\B9\CE\BF\CF\82\00\CE\99\CE\BF\CF\8D\CE\BD\CE\B9\CE\BF\CF\82\00\CE\99\CE\BF\CF\8D\CE\BB\CE\B9\CE\BF\CF\82\00\CE\91\CF\8D\CE\B3\CE\BF\CF\85\CF\83\CF\84\CE\BF\CF\82\00\CE\A3\CE\B5\CF\80\CF\84\CE\AD\CE\BC\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00\CE\9F\CE\BA\CF\84\CF\8E\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00\CE\9D\CE\BF\CE\AD\CE\BC\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00\CE\94\CE\B5\CE\BA\CE\AD\CE\BC\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00%a %d %b %Y %r %Z\00%Y-%m-%dT%T %Z\00%A, %B %d, %Y %p%I:%M:%S %Z\00%A, %B %d, %Y\00%I:%M:%S %Z\00%p%I:%M:%S %Z\00%A, %d %B, %Y %I:%M:%S %p %Z\00%A, %d %B, %Y\00%A %d,%B,%Y %I:%M:%S %p %Z\00%A %d,%B,%Y\00%m/%d/%Y\00dim\00\C4\B5a\C5\AD\00ven\00sab\00diman\C4\89o\00lundo\00mardo\00merkredo\00\C4\B5a\C5\ADdo\00vendredo\00sabato\00A\C5\ADg\00Januaro\00Februaro\00Marto\00Aprilo\00Majo\00Junio\00Julio\00A\C5\ADgusto\00Septembro\00Oktobro\00Novembro\00Decembro\00%a %d %b %Y %T %z\00dom\00mi\E9\00jue\00vie\00s\E1b\00domingo\00lunes\00martes\00mi\E9rcoles\00jueves\00viernes\00s\E1bado\00ene\00dic\00enero\00febrero\00marzo\00mayo\00junio\00julio\00agosto\00septiembre\00noviembre\00diciembre\00mi\C3\A9\00s\C3\A1b\00mi\C3\A9rcoles\00s\C3\A1bado\00P\00E\00T\00K\00N\00R\00L\00p\FChap\E4ev\00esmasp\E4ev\00teisip\E4ev\00kolmap\E4ev\00neljap\E4ev\00reede\00laup\E4ev\00jaan \00veebr\00m\E4rts\00apr \00mai \00juuni\00juuli\00aug \00sept \00okt \00nov \00dets \00jaanuar\00veebruar\00aprill\00oktoober\00detsember\00p\C3\BChap\C3\A4ev\00esmasp\C3\A4ev\00teisip\C3\A4ev\00kolmap\C3\A4ev\00neljap\C3\A4ev\00laup\C3\A4ev\00m\C3\A4rts\00ig.\00al.\00ar.\00az.\00og.\00or.\00lr.\00igandea\00astelehena\00asteartea\00asteazkena\00osteguna\00ostirala\00larunbata\00urt\00ots\00api\00eka\00uzt\00abu\00ira\00urr\00aza\00abe\00urtarrila\00otsaila\00martxoa\00apirila\00maiatza\00ekaina\00uztaila\00abuztua\00iraila\00urria\00azaroa\00abendua\00%y-%m-%d %T %Z\00%a, %Y.eko %bren %da\00\DB\8C.\00\D8\AF.\00\D8\B3.\00\DA\86.\00\D9\BE.\00\D8\AC.\00\D8\B4.\00\DB\8C\DA\A9\E2\80\8C\D8\B4\D9\86\D8\A8\D9\87\00\D8\AF\D9\88\D8\B4\D9\86\D8\A8\D9\87\00\D8\B3\D9\87\E2\80\8C\D8\B4\D9\86\D8\A8\D9\87\00\DA\86\D9\87\D8\A7\D8\B1\D8\B4\D9\86\D8\A8\D9\87\00\D9\BE\D9\86\D8\AC\E2\80\8C\D8\B4\D9\86\D8\A8\D9\87\00\D8\AC\D9\85\D8\B9\D9\87\00\D8\B4\D9\86\D8\A8\D9\87\00\DA\98\D8\A7\D9\86\00\D9\81\D9\88\D8\B1\00\D8\A2\D9\88\D8\B1\00\D9\85\D9\80\D9\87\00\DA\98\D9\88\D9\86\00\DA\98\D9\88\DB\8C\00\D8\A7\D9\88\D8\AA\00\D8\B3\D9\BE\D8\AA\00\D8\A7\D9\83\D8\AA\00\D9\86\D9\88\D8\A7\00\D8\AF\D8\B3\D8\A7\00\DA\98\D8\A7\D9\86\D9\88\DB\8C\D9\87\00\D9\81\D9\88\D8\B1\DB\8C\D9\87\00\D8\A2\D9\88\D8\B1\DB\8C\D9\84\00\D9\85\D9\87\00\DA\98\D9\88\D8\A6\D9\86\00\DA\98\D9\88\D8\A6\DB\8C\D9\87\00\D8\B3\D9\BE\D8\AA\D8\A7\D9\85\D8\A8\D8\B1\00\D8\A7\D9\83\D8\AA\D8\A8\D8\B1\00\D9\86\D9\88\D8\A7\D9\85\D8\A8\D8\B1\00\D8\AF\D8\B3\D8\A7\D9\85\D8\A8\D8\B1\00\D8\B5\D8\A8\D8\AD\00\D8\B9\D8\B5\D8\B1\00\E2\80\AB%A %e %B %Y\D8\8C %I:%M:%S %p\E2\80\AC\00%Y/%m/%d\00\E2\80\AB%I:%M:%S %p\E2\80\AC\00su\00ma\00ti\00ke\00to\00pe\00la\00sunnuntai\00maanantai\00tiistai\00keskiviikko\00torstai\00perjantai\00lauantai\00tammi\A0\00helmi\A0\00maalis\00huhti\A0\00touko\A0\00kes\E4\A0\A0\00hein\E4\A0\00elo\A0\A0\A0\00syys\A0\A0\00loka\A0\A0\00marras\00joulu\A0\00tammikuu\00helmikuu\00maaliskuu\00huhtikuu\00toukokuu\00kes\E4kuu\00hein\E4kuu\00elokuu\00syyskuu\00lokakuu\00marraskuu\00joulukuu\00%a %e %B %Y %T\00tammi\C2\A0\00helmi\C2\A0\00huhti\C2\A0\00touko\C2\A0\00kes\C3\A4\C2\A0\C2\A0\00hein\C3\A4\C2\A0\00elo\C2\A0\C2\A0\C2\A0\00syys\C2\A0\C2\A0\00loka\C2\A0\C2\A0\00joulu\C2\A0\00kes\C3\A4kuu\00hein\C3\A4kuu\00sun\00m\E1n\00t\FDs\00mik\00h\F3s\00fr\ED\00ley\00sunnudagur\00m\E1nadagur\00t\FDsdagur\00mikudagur\00h\F3sdagur\00fr\EDggjadagur\00leygardagur\00mars\00apr\EDl\00desember\00%d/%m-%Y\00m\C3\A1n\00t\C3\BDs\00h\C3\B3s\00fr\C3\AD\00m\C3\A1nadagur\00t\C3\BDsdagur\00h\C3\B3sdagur\00fr\C3\ADggjadagur\00apr\C3\ADl\00jeu\00sam\00dimanche\00lundi\00mardi\00mercredi\00jeudi\00vendredi\00samedi\00f\E9v\00avr\00jui\00ao\FB\00d\E9c\00janvier\00f\E9vrier\00avril\00juin\00juillet\00ao\FBt\00septembre\00octobre\00d\E9cembre\00f\C3\A9v\00ao\C3\BB\00d\C3\A9c\00f\C3\A9vrier\00ao\C3\BBt\00d\C3\A9cembre\00%d. %m. %y\00Domh\00Luan\00M\E1irt\00C\E9ad\00D\E9ar\00Aoine\00Sath\00D\E9 Domhnaigh\00D\E9 Luain\00D\E9 M\E1irt\00D\E9 C\E9adaoin\00D\E9ardaoin\00D\E9 hAoine\00D\E9 Sathairn\00Ean\00Feabh\00M\E1rta\00Aib\00Beal\00Meith\00I\FAil\00L\FAn\00MF\F3mh\00DF\F3mh\00Samh\00Noll\00Ean\E1ir\00Feabhra\00Aibre\E1n\00M\ED na Bealtaine\00L\FAnasa\00Me\E1n F\F3mhair\00Deireadh F\F3mhair\00M\ED na Samhna\00M\ED na Nollag\00M\C3\A1irt\00C\C3\A9ad\00D\C3\A9ar\00D\C3\A9 Domhnaigh\00D\C3\A9 Luain\00D\C3\A9 M\C3\A1irt\00D\C3\A9 C\C3\A9adaoin\00D\C3\A9ardaoin\00D\C3\A9 hAoine\00D\C3\A9 Sathairn\00M\C3\A1rta\00I\C3\BAil\00L\C3\BAn\00MF\C3\B3mh\00DF\C3\B3mh\00Ean\C3\A1ir\00Aibre\C3\A1n\00M\C3\AD na Bealtaine\00L\C3\BAnasa\00Me\C3\A1n F\C3\B3mhair\00Deireadh F\C3\B3mhair\00M\C3\AD na Samhna\00M\C3\AD na Nollag\00Dido\00Dilu\00Dim\00Dic\00Diar\00Diha\00Disa\00Did\F2mhnaich\00Diluain\00Dim\E0irt\00Diciadain\00Diardaoin\00Dihaoine\00Disathairne\00Fao\00Gea\00M\E0r\00Gib\00Mh\E0\00OgM\00luc\00L\F9n\00Dam\00D\F9b\00Am Faoilteach\00An Gearran\00Am M\E0rt\00An Giblean\00A' Mh\E0igh\00An t-Mh\ECos\00An t-luchar\00An L\F9nasdal\00An t-Sultain\00An Damhair\00An t-Samhain\00An D\F9bhlachd\00Did\C3\B2mhnaich\00Dim\C3\A0irt\00M\C3\A0r\00Mh\C3\A0\00L\C3\B9n\00D\C3\B9b\00Am M\C3\A0rt\00A' Mh\C3\A0igh\00An t-Mh\C3\ACos\00An L\C3\B9nasdal\00An D\C3\B9bhlachd\00Dom\00Lun\00M\E9r\00Xov\00Ven\00S\E1b\00Domingo\00Luns\00Martes\00M\E9rcores\00Xoves\00Venres\00S\E1bado\00Xan\00Abr\00Xu\F1\00Xul\00Ago\00Set\00Out\00Xaneiro\00Febreiro\00Marzo\00Abril\00Maio\00Xu\F1o\00Xullo\00Agosto\00Setembro\00Outubro\00M\C3\A9r\00S\C3\A1b\00M\C3\A9rcores\00S\C3\A1bado\00Xu\C3\B1\00Xu\C3\B1o\00Jed\00Jel\00Jem\00Jerc\00Jerd\00Jeh\00Jes\00Jedoonee\00Jelhein\00Jemayrt\00Jercean\00Jerdein\00Jeheiney\00Jesarn\00J-guer\00T-arree\00Mayrnt\00Avrril\00Boaldyn\00M-souree\00J-souree\00Luanistyn\00M-fouyir\00J-fouyir\00M.Houney\00M.Nollick\00Jerrey-geuree\00Toshiaght-arree\00Averil\00Mean-souree\00Jerrey-souree\00Mean-fouyir\00Jerrey-fouyir\00Mee Houney\00Mee ny Nollick\00\E0'\00\E1'\00\E2'\00\E3'\00\E4'\00\E5'\00\F9'\00\F8\E0\F9\E5\EF\00\F9\F0\E9\00\F9\EC\E9\F9\E9\00\F8\E1\E9\F2\E9\00\E7\EE\E9\F9\E9\00\F9\E9\F9\E9\00\F9\E1\FA\00\E9\F0\E5\00\F4\E1\F8\00\EE\F8\F5\00\E0\F4\F8\00\EE\E0\E9\00\E9\E5\F0\00\E9\E5\EC\00\E0\E5\E2\00\F1\F4\E8\00\E0\E5\F7\00\F0\E5\E1\00\E3\F6\EE\00\E9\F0\E5\E0\F8\00\F4\E1\F8\E5\E0\F8\00\E0\F4\F8\E9\EC\00\E9\E5\F0\E9\00\E9\E5\EC\E9\00\E0\E5\E2\E5\F1\E8\00\F1\F4\E8\EE\E1\F8\00\E0\E5\F7\E8\E5\E1\F8\00\F0\E5\E1\EE\E1\F8\00\E3\F6\EE\E1\F8\00%Z %H:%M:%S %Y %b %d %a\00%I:%M:%S %P\00\D7\90'\00\D7\91'\00\D7\92'\00\D7\93'\00\D7\94'\00\D7\95'\00\D7\A9'\00\D7\A8\D7\90\D7\A9\D7\95\D7\9F\00\D7\A9\D7\A0\D7\99\00\D7\A9\D7\9C\D7\99\D7\A9\D7\99\00\D7\A8\D7\91\D7\99\D7\A2\D7\99\00\D7\97\D7\9E\D7\99\D7\A9\D7\99\00\D7\A9\D7\99\D7\A9\D7\99\00\D7\A9\D7\91\D7\AA\00\D7\99\D7\A0\D7\95\00\D7\A4\D7\91\D7\A8\00\D7\9E\D7\A8\D7\A5\00\D7\90\D7\A4\D7\A8\00\D7\9E\D7\90\D7\99\00\D7\99\D7\95\D7\A0\00\D7\99\D7\95\D7\9C\00\D7\90\D7\95\D7\92\00\D7\A1\D7\A4\D7\98\00\D7\90\D7\95\D7\A7\00\D7\A0\D7\95\D7\91\00\D7\93\D7\A6\D7\9E\00\D7\99\D7\A0\D7\95\D7\90\D7\A8\00\D7\A4\D7\91\D7\A8\D7\95\D7\90\D7\A8\00\D7\90\D7\A4\D7\A8\D7\99\D7\9C\00\D7\99\D7\95\D7\A0\D7\99\00\D7\99\D7\95\D7\9C\D7\99\00\D7\90\D7\95\D7\92\D7\95\D7\A1\D7\98\00\D7\A1\D7\A4\D7\98\D7\9E\D7\91\D7\A8\00\D7\90\D7\95\D7\A7\D7\98\D7\95\D7\91\D7\A8\00\D7\A0\D7\95\D7\91\D7\9E\D7\91\D7\A8\00\D7\93\D7\A6\D7\9E\D7\91\D7\A8\00\E0\A4\B0\E0\A4\B5\E0\A4\BF \00\E0\A4\B8\E0\A5\8B\E0\A4\AE \00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B2 \00\E0\A4\AC\E0\A5\81\E0\A4\A7 \00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81 \00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0 \00\E0\A4\B6\E0\A4\A8\E0\A4\BF \00\E0\A4\B0\E0\A4\B5\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\B8\E0\A5\8B\E0\A4\AE\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B2\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\AC\E0\A5\81\E0\A4\A7\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\B6\E0\A4\A8\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\9C\E0\A4\A8\E0\A4\B5\E0\A4\B0\E0\A5\80\00\E0\A4\AB\E0\A4\BC\E0\A4\B0\E0\A4\B5\E0\A4\B0\E0\A5\80\00\E0\A4\AE\E0\A4\BE\E0\A4\B0\E0\A5\8D\E0\A4\9A\00\E0\A4\85\E0\A4\AA\E0\A5\8D\E0\A4\B0\E0\A5\87\E0\A4\B2\00\E0\A4\AE\E0\A4\88\00\E0\A4\9C\E0\A5\82\E0\A4\A8\00\E0\A4\9C\E0\A5\81\E0\A4\B2\E0\A4\BE\E0\A4\88\00\E0\A4\85\E0\A4\97\E0\A4\B8\E0\A5\8D\E0\A4\A4\00\E0\A4\B8\E0\A4\BF\E0\A4\A4\E0\A4\AE\E0\A5\8D\E0\A4\AC\E0\A4\B0\00\E0\A4\85\E0\A4\95\E0\A5\8D\E0\A4\9F\E0\A5\82\E0\A4\AC\E0\A4\B0\00\E0\A4\A8\E0\A4\B5\E0\A4\AE\E0\A5\8D\E0\A4\AC\E0\A4\B0\00\E0\A4\A6\E0\A4\BF\E0\A4\B8\E0\A4\AE\E0\A5\8D\E0\A4\AC\E0\A4\B0\00\E0\A4\AA\E0\A5\82\E0\A4\B0\E0\A5\8D\E0\A4\B5\E0\A4\BE\E0\A4\B9\E0\A5\8D\E0\A4\A8\00\E0\A4\85\E0\A4\AA\E0\A4\B0\E0\A4\BE\E0\A4\B9\E0\A5\8D\E0\A4\A8\00Sij\00Vel\00O\BEu\00Tra\00Svi\00Lip\00Srp\00Kol\00Ruj\00Lis\00Stu\00Pro\00Sije\E8anj\00Velja\E8a\00O\BEujak\00Travanj\00Svibanj\00Lipanj\00Srpanj\00Kolovoz\00Rujan\00Listopad\00Studeni\00Prosinac\00O\C5\BEu\00Sije\C4\8Danj\00Velja\C4\8Da\00O\C5\BEujak\00v\00h\00k\00sze\00cs\00p\00szo\00vas\E1rnap\00h\E9tf\F5\00kedd\00szerda\00cs\FCt\F6rt\F6k\00p\E9ntek\00szombat\00m\E1r\00\E1pr\00m\E1j\00j\FAn\00j\FAl\00janu\E1r\00febru\E1r\00m\E1rcius\00\E1prilis\00m\E1jus\00j\FAnius\00j\FAlius\00augusztus\00szeptember\00okt\F3ber\00%Y. %b. %e., %A, %H.%M.%S %Z\00%H.%M.%S\00vas\C3\A1rnap\00h\C3\A9tf\C5\91\00cs\C3\BCt\C3\B6rt\C3\B6k\00p\C3\A9ntek\00m\C3\A1r\00\C3\A1pr\00m\C3\A1j\00j\C3\BAn\00j\C3\BAl\00janu\C3\A1r\00febru\C3\A1r\00m\C3\A1rcius\00\C3\A1prilis\00m\C3\A1jus\00j\C3\BAnius\00j\C3\BAlius\00okt\C3\B3ber\00\CE\F1\CF\00\BA\F1\CF\00\BA\F1\F9\00\E2\F1\F9\00\D0\DD\B7\00\E0\F5\F1\00\DE\B5\C3\00\CE\C7\F1\B3\CF\C7\00\BA\F1\CF\E1\F5\DF\B3\B5\C3\C7\00\BA\F1\BB\F9\DF\B3\B5\C3\C7\00\E2\E1\F1\BB\F9\DF\B3\B5\C3\C7\00\D0\C7\DD\B7\DF\B3\B5\C3\C7\00\E0\F5\F1\B5\B3\C3\00\DE\B3\B5\B3\C3\00\D0\DD\ED\00\F6\EF\F1\00\D8\B3\F1\00\B2\E5\F1\00\D8\B3\DB\00\D0\DD\EB\00\D0\C9\EB\00\FA\B7\EB\00\EA\BB\E5\00\D0\E1\CF\00\DC\D9\B5\00\B8\BB\CF\00\D0\E1\F5\DD\ED\B3\F1\C7\00\F6\BB\EF\F1\ED\B3\F1\C7\00\D8\B3\F1\EF\C7\00\B2\E5\F1\C7\C9\C7\00\D8\B3\DB\C7\EB\C7\00\D0\E1\F5\DD\C7\EB\C7\00\D0\E1\F5\C9\C7\EB\C7\00\FA\B7\E1\EB\EF\E1\EB\C7\00\EA\BB\E5\EF\BB\D9\B5\BB\F1\C7\00\D0\E1\CF\EF\BB\D9\B5\BB\F1\C7\00\DC\E1\DB\BB\D9\B5\BB\F1\C7\00\B8\BB\CF\EF\BB\D9\B5\BB\F1\C7\00\D4\BF\D6\80\D5\AF\00\D4\B5\D6\80\D5\AF\00\D4\B5\D6\80\D6\84\00\D5\89\D6\80\D6\84\00\D5\80\D5\B6\D5\A3\00\D5\88\D6\82\D6\80\00\D5\87\D5\A2\D5\A9\00\D4\BF\D5\AB\D6\80\D5\A1\D5\AF\D5\AB\00\D4\B5\D6\80\D5\AF\D5\B8\D6\82\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D4\B5\D6\80\D5\A5\D6\84\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D5\89\D5\B8\D6\80\D5\A5\D6\84\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D5\80\D5\AB\D5\B6\D5\A3\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D5\88\D6\82\D6\80\D5\A2\D5\A1\D5\A9\00\D5\87\D5\A1\D5\A2\D5\A1\D5\A9\00\D5\80\D5\B6\D5\BE\00\D5\93\D5\BF\D6\80\00\D5\84\D5\A1\D6\80\00\D4\B1\D5\BA\D6\80\00\D5\84\D5\A1\D5\B5\00\D5\80\D5\B6\D5\BD\00\D5\80\D5\AC\D5\BD\00\D5\95\D5\A3\D5\BD\00\D5\8D\D5\A5\D5\BA\00\D5\80\D5\B8\D5\AF\00\D5\86\D5\B4\D5\A2\00\D4\B4\D5\A5\D5\AF\00\D5\80\D5\B8\D6\82\D5\B6\D5\BE\D5\A1\D6\80\D5\AB\00\D5\93\D5\A5\D5\BF\D6\80\D5\BE\D5\A1\D6\80\D5\AB\00\D5\84\D5\A1\D6\80\D5\BF\D5\AB\00\D4\B1\D5\BA\D6\80\D5\AB\D5\AC\D5\AB\00\D5\84\D5\A1\D5\B5\D5\AB\D5\BD\D5\AB\00\D5\80\D5\B8\D6\82\D5\B6\D5\AB\D5\BD\D5\AB\00\D5\80\D5\B8\D6\82\D5\AC\D5\AB\D5\BD\D5\AB\00\D5\95\D5\A3\D5\B8\D5\BD\D5\BF\D5\B8\D5\BD\D5\AB\00\D5\8D\D5\A5\D5\BA\D5\BF\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00\D5\80\D5\B8\D5\AF\D5\BF\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00\D5\86\D5\B8\D5\B5\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00\D4\B4\D5\A5\D5\AF\D5\BF\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00Min\00Sel\00Rab\00Kam\00Jum\00Sab\00Minggu\00Senin\00Selasa\00Rabu\00Kamis\00Jumat\00Sabtu\00Peb\00Agu\00Januari\00Pebruari\00Maret\00Agustus\00M\E1n\00\DEri\00Mi\F0\00Fim\00F\F6s\00Lau\00Sunnudagur\00M\E1nudagur\00\DEri\F0judagur\00Mi\F0vikudagur\00Fimmtudagur\00F\F6studagur\00Laugardagur\00Ma\ED\00J\FAn\00J\FAl\00\C1g\FA\00N\F3v\00Jan\FAar\00Febr\FAar\00Mars\00Apr\EDl\00J\FAn\ED\00J\FAl\ED\00\C1g\FAst\00Okt\F3ber\00N\F3vember\00fh\00eh\00%a %e.%b %Y, %T %Z\00%a %e.%b %Y\00M\C3\A1n\00\C3\9Eri\00Mi\C3\B0\00F\C3\B6s\00M\C3\A1nudagur\00\C3\9Eri\C3\B0judagur\00Mi\C3\B0vikudagur\00F\C3\B6studagur\00Ma\C3\AD\00J\C3\BAn\00J\C3\BAl\00\C3\81g\C3\BA\00N\C3\B3v\00Jan\C3\BAar\00Febr\C3\BAar\00Apr\C3\ADl\00J\C3\BAn\C3\AD\00J\C3\BAl\C3\AD\00\C3\81g\C3\BAst\00Okt\C3\B3ber\00N\C3\B3vember\00gio\00domenica\00luned\EC\00marted\EC\00mercoled\EC\00gioved\EC\00venerd\EC\00mag\00giu\00lug\00ott\00gennaio\00febbraio\00aprile\00maggio\00giugno\00luglio\00settembre\00ottobre\00dicembre\00luned\C3\AC\00marted\C3\AC\00mercoled\C3\AC\00gioved\C3\AC\00venerd\C3\AC\00\E6\97\A5\00\E6\9C\88\00\E7\81\AB\00\E6\B0\B4\00\E6\9C\A8\00\E9\87\91\00\E5\9C\9F\00\E6\97\A5\E6\9B\9C\E6\97\A5\00\E6\9C\88\E6\9B\9C\E6\97\A5\00\E7\81\AB\E6\9B\9C\E6\97\A5\00\E6\B0\B4\E6\9B\9C\E6\97\A5\00\E6\9C\A8\E6\9B\9C\E6\97\A5\00\E9\87\91\E6\9B\9C\E6\97\A5\00\E5\9C\9F\E6\9B\9C\E6\97\A5\00 1\E6\9C\88\00 2\E6\9C\88\00 3\E6\9C\88\00 4\E6\9C\88\00 5\E6\9C\88\00 6\E6\9C\88\00 7\E6\9C\88\00 8\E6\9C\88\00 9\E6\9C\88\0010\E6\9C\88\0011\E6\9C\88\0012\E6\9C\88\001\E6\9C\88\002\E6\9C\88\003\E6\9C\88\004\E6\9C\88\005\E6\9C\88\006\E6\9C\88\007\E6\9C\88\008\E6\9C\88\009\E6\9C\88\00\E5\8D\88\E5\89\8D\00\E5\8D\88\E5\BE\8C\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %H\E6\99\82%M\E5\88\86%S\E7\A7\92\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5\00%H\E6\99\82%M\E5\88\86%S\E7\A7\92\00%p%I\E6\99\82%M\E5\88\86%S\E7\A7\92\00+:2:1990/01/01:+*:\E5\B9\B3\E6\88\90:%EC%Ey\E5\B9\B4\00+:1:1989/01/08:1989/12/31:\E5\B9\B3\E6\88\90:%EC\E5\85\83\E5\B9\B4\00+:2:1927/01/01:1989/01/07:\E6\98\AD\E5\92\8C:%EC%Ey\E5\B9\B4\00+:1:1926/12/25:1926/12/31:\E6\98\AD\E5\92\8C:%EC\E5\85\83\E5\B9\B4\00+:2:1913/01/01:1926/12/24:\E5\A4\A7\E6\AD\A3:%EC%Ey\E5\B9\B4\00+:2:1912/07/30:1912/12/31:\E5\A4\A7\E6\AD\A3:%EC\E5\85\83\E5\B9\B4\00+:6:1873/01/01:1912/07/29:\E6\98\8E\E6\B2\BB:%EC%Ey\E5\B9\B4\00+:1:0001/01/01:1872/12/31:\E8\A5\BF\E6\9A\A6:%EC%Ey\E5\B9\B4\00+:1:-0001/12/31:-*:\E7\B4\80\E5\85\83\E5\89\8D:%EC%Ey\E5\B9\B4\00\00%EY%m\E6\9C\88%d\E6\97\A5\00\E3\80\87\00\E4\B8\80\00\E4\BA\8C\00\E4\B8\89\00\E5\9B\9B\00\E4\BA\94\00\E5\85\AD\00\E4\B8\83\00\E5\85\AB\00\E4\B9\9D\00\E5\8D\81\00\E5\8D\81\E4\B8\80\00\E5\8D\81\E4\BA\8C\00\E5\8D\81\E4\B8\89\00\E5\8D\81\E5\9B\9B\00\E5\8D\81\E4\BA\94\00\E5\8D\81\E5\85\AD\00\E5\8D\81\E4\B8\83\00\E5\8D\81\E5\85\AB\00\E5\8D\81\E4\B9\9D\00\E4\BA\8C\E5\8D\81\00\E4\BA\8C\E5\8D\81\E4\B8\80\00\E4\BA\8C\E5\8D\81\E4\BA\8C\00\E4\BA\8C\E5\8D\81\E4\B8\89\00\E4\BA\8C\E5\8D\81\E5\9B\9B\00\E4\BA\8C\E5\8D\81\E4\BA\94\00\E4\BA\8C\E5\8D\81\E5\85\AD\00\E4\BA\8C\E5\8D\81\E4\B8\83\00\E4\BA\8C\E5\8D\81\E5\85\AB\00\E4\BA\8C\E5\8D\81\E4\B9\9D\00\E4\B8\89\E5\8D\81\00\E4\B8\89\E5\8D\81\E4\B8\80\00\E4\B8\89\E5\8D\81\E4\BA\8C\00\E4\B8\89\E5\8D\81\E4\B8\89\00\E4\B8\89\E5\8D\81\E5\9B\9B\00\E4\B8\89\E5\8D\81\E4\BA\94\00\E4\B8\89\E5\8D\81\E5\85\AD\00\E4\B8\89\E5\8D\81\E4\B8\83\00\E4\B8\89\E5\8D\81\E5\85\AB\00\E4\B8\89\E5\8D\81\E4\B9\9D\00\E5\9B\9B\E5\8D\81\00\E5\9B\9B\E5\8D\81\E4\B8\80\00\E5\9B\9B\E5\8D\81\E4\BA\8C\00\E5\9B\9B\E5\8D\81\E4\B8\89\00\E5\9B\9B\E5\8D\81\E5\9B\9B\00\E5\9B\9B\E5\8D\81\E4\BA\94\00\E5\9B\9B\E5\8D\81\E5\85\AD\00\E5\9B\9B\E5\8D\81\E4\B8\83\00\E5\9B\9B\E5\8D\81\E5\85\AB\00\E5\9B\9B\E5\8D\81\E4\B9\9D\00\E4\BA\94\E5\8D\81\00\E4\BA\94\E5\8D\81\E4\B8\80\00\E4\BA\94\E5\8D\81\E4\BA\8C\00\E4\BA\94\E5\8D\81\E4\B8\89\00\E4\BA\94\E5\8D\81\E5\9B\9B\00\E4\BA\94\E5\8D\81\E4\BA\94\00\E4\BA\94\E5\8D\81\E5\85\AD\00\E4\BA\94\E5\8D\81\E4\B8\83\00\E4\BA\94\E5\8D\81\E5\85\AB\00\E4\BA\94\E5\8D\81\E4\B9\9D\00\E5\85\AD\E5\8D\81\00\E5\85\AD\E5\8D\81\E4\B8\80\00\E5\85\AD\E5\8D\81\E4\BA\8C\00\E5\85\AD\E5\8D\81\E4\B8\89\00\E5\85\AD\E5\8D\81\E5\9B\9B\00\E5\85\AD\E5\8D\81\E4\BA\94\00\E5\85\AD\E5\8D\81\E5\85\AD\00\E5\85\AD\E5\8D\81\E4\B8\83\00\E5\85\AD\E5\8D\81\E5\85\AB\00\E5\85\AD\E5\8D\81\E4\B9\9D\00\E4\B8\83\E5\8D\81\00\E4\B8\83\E5\8D\81\E4\B8\80\00\E4\B8\83\E5\8D\81\E4\BA\8C\00\E4\B8\83\E5\8D\81\E4\B8\89\00\E4\B8\83\E5\8D\81\E5\9B\9B\00\E4\B8\83\E5\8D\81\E4\BA\94\00\E4\B8\83\E5\8D\81\E5\85\AD\00\E4\B8\83\E5\8D\81\E4\B8\83\00\E4\B8\83\E5\8D\81\E5\85\AB\00\E4\B8\83\E5\8D\81\E4\B9\9D\00\E5\85\AB\E5\8D\81\00\E5\85\AB\E5\8D\81\E4\B8\80\00\E5\85\AB\E5\8D\81\E4\BA\8C\00\E5\85\AB\E5\8D\81\E4\B8\89\00\E5\85\AB\E5\8D\81\E5\9B\9B\00\E5\85\AB\E5\8D\81\E4\BA\94\00\E5\85\AB\E5\8D\81\E5\85\AD\00\E5\85\AB\E5\8D\81\E4\B8\83\00\E5\85\AB\E5\8D\81\E5\85\AB\00\E5\85\AB\E5\8D\81\E4\B9\9D\00\E4\B9\9D\E5\8D\81\00\E4\B9\9D\E5\8D\81\E4\B8\80\00\E4\B9\9D\E5\8D\81\E4\BA\8C\00\E4\B9\9D\E5\8D\81\E4\B8\89\00\E4\B9\9D\E5\8D\81\E5\9B\9B\00\E4\B9\9D\E5\8D\81\E4\BA\94\00\E4\B9\9D\E5\8D\81\E5\85\AD\00\E4\B9\9D\E5\8D\81\E4\B8\83\00\E4\B9\9D\E5\8D\81\E5\85\AB\00\E4\B9\9D\E5\8D\81\E4\B9\9D\00%EY%m\E6\9C\88%d\E6\97\A5 %H\E6\99\82%M\E5\88\86%S\E7\A7\92\00\CA\C5\C9\00\CF\D2\DB\00\D3\C0\CC\00\CF\C8\E1\00\E1\D6\C8\00\D0\C0\D2\00\DB\C0\C1\00\CA\C5\C9\D2\C0\00\CF\D2\DB\C0\C1\C0\C8\C9\00\D3\C0\CC\DB\C0\C1\C0\C8\C9\00\CF\C8\E1\DB\C0\C1\C0\C8\C9\00\E1\D6\C8\DB\C0\C1\C0\C8\C9\00\D0\C0\D2\C0\D3\CA\C4\C5\C9\00\DB\C0\C1\C0\C8\C9\00\C9\C0\CD\00\C8\C4\C1\00\CC\C0\D2\00\C0\D0\D2\00\CC\C0\C9\00\C9\C5\CD\00\C9\C5\CB\00\C0\C2\C5\00\D3\C4\D8\00\CF\D8\D4\00\CD\CF\C4\00\C3\C4\CA\00\C9\C0\CD\C5\C0\D2\C9\00\C8\C4\C1\C4\D2\C5\C0\CB\C9\00\CC\C0\D2\D4\C9\00\C0\D0\D2\C9\CB\C9\00\CC\C0\C9\D3\C9\00\C9\C5\CD\C9\D3\C9\00\C9\C5\CB\C9\D3\C9\00\C0\C2\C5\C9\D3\D4\CF\00\D3\C4\D8\D4\C4\CC\C1\C4\D2\C9\00\CF\D8\D4\CF\CC\C1\C4\D2\C9\00\CD\CF\C4\CC\C1\C4\D2\C9\00\C3\C4\CA\C4\CC\C1\C4\D2\C9\00%Y \DF\CB\C9\D3 %d %B, %T %Z\00\E1\83\99\E1\83\95\E1\83\98\00\E1\83\9D\E1\83\A0\E1\83\A8\00\E1\83\A1\E1\83\90\E1\83\9B\00\E1\83\9D\E1\83\97\E1\83\AE\00\E1\83\AE\E1\83\A3\E1\83\97\00\E1\83\9E\E1\83\90\E1\83\A0\00\E1\83\A8\E1\83\90\E1\83\91\00\E1\83\99\E1\83\95\E1\83\98\E1\83\A0\E1\83\90\00\E1\83\9D\E1\83\A0\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\A1\E1\83\90\E1\83\9B\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\9D\E1\83\97\E1\83\AE\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\AE\E1\83\A3\E1\83\97\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\9E\E1\83\90\E1\83\A0\E1\83\90\E1\83\A1\E1\83\99\E1\83\94\E1\83\95\E1\83\98\00\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\98\E1\83\90\E1\83\9C\00\E1\83\97\E1\83\94\E1\83\91\00\E1\83\9B\E1\83\90\E1\83\A0\00\E1\83\90\E1\83\9E\E1\83\A0\00\E1\83\9B\E1\83\90\E1\83\98\00\E1\83\98\E1\83\95\E1\83\9C\00\E1\83\98\E1\83\95\E1\83\9A\00\E1\83\90\E1\83\92\E1\83\95\00\E1\83\A1\E1\83\94\E1\83\A5\00\E1\83\9D\E1\83\A5\E1\83\A2\00\E1\83\9C\E1\83\9D\E1\83\94\00\E1\83\93\E1\83\94\E1\83\99\00\E1\83\98\E1\83\90\E1\83\9C\E1\83\95\E1\83\90\E1\83\A0\E1\83\98\00\E1\83\97\E1\83\94\E1\83\91\E1\83\94\E1\83\A0\E1\83\95\E1\83\90\E1\83\9A\E1\83\98\00\E1\83\9B\E1\83\90\E1\83\A0\E1\83\A2\E1\83\98\00\E1\83\90\E1\83\9E\E1\83\A0\E1\83\98\E1\83\9A\E1\83\98\00\E1\83\9B\E1\83\90\E1\83\98\E1\83\A1\E1\83\98\00\E1\83\98\E1\83\95\E1\83\9C\E1\83\98\E1\83\A1\E1\83\98\00\E1\83\98\E1\83\95\E1\83\9A\E1\83\98\E1\83\A1\E1\83\98\00\E1\83\90\E1\83\92\E1\83\95\E1\83\98\E1\83\A1\E1\83\A2\E1\83\9D\00\E1\83\A1\E1\83\94\E1\83\A5\E1\83\A2\E1\83\94\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00\E1\83\9D\E1\83\A5\E1\83\A2\E1\83\9D\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00\E1\83\9C\E1\83\9D\E1\83\94\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00\E1\83\93\E1\83\94\E1\83\99\E1\83\94\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00%Y \E1\83\AC\E1\83\9A\E1\83\98\E1\83\A1 %d %B, %T %Z\00ata\00pin\00sis\00tal\00arf\00sabaat\00ataasinngorneq\00marlunngorneq\00pingasunngorneq\00sisamanngorneq\00tallimanngorneq\00arfininngorneq\00januari\00februari\00martsi\00aprili\00maji\00augustusi\00septemberi\00oktoberi\00novemberi\00decemberi\00%d %b %Y\00\EC\9D\BC\00\EC\9B\94\00\ED\99\94\00\EC\88\98\00\EB\AA\A9\00\EA\B8\88\00\ED\86\A0\00\EC\9D\BC\EC\9A\94\EC\9D\BC\00\EC\9B\94\EC\9A\94\EC\9D\BC\00\ED\99\94\EC\9A\94\EC\9D\BC\00\EC\88\98\EC\9A\94\EC\9D\BC\00\EB\AA\A9\EC\9A\94\EC\9D\BC\00\EA\B8\88\EC\9A\94\EC\9D\BC\00\ED\86\A0\EC\9A\94\EC\9D\BC\00 1\EC\9B\94\00 2\EC\9B\94\00 3\EC\9B\94\00 4\EC\9B\94\00 5\EC\9B\94\00 6\EC\9B\94\00 7\EC\9B\94\00 8\EC\9B\94\00 9\EC\9B\94\0010\EC\9B\94\0011\EC\9B\94\0012\EC\9B\94\00\EC\9D\BC\EC\9B\94\00\EC\9D\B4\EC\9B\94\00\EC\82\BC\EC\9B\94\00\EC\82\AC\EC\9B\94\00\EC\98\A4\EC\9B\94\00\EC\9C\A0\EC\9B\94\00\EC\B9\A0\EC\9B\94\00\ED\8C\94\EC\9B\94\00\EA\B5\AC\EC\9B\94\00\EC\8B\9C\EC\9B\94\00\EC\8B\AD\EC\9D\BC\EC\9B\94\00\EC\8B\AD\EC\9D\B4\EC\9B\94\00\EC\98\A4\EC\A0\84\00\EC\98\A4\ED\9B\84\00%x (%a) %r\00%Y\EB\85\84 %m\EC\9B\94 %d\EC\9D\BC\00%H\EC\8B\9C %M\EB\B6\84 %S\EC\B4\88\00%p %I\EC\8B\9C %M\EB\B6\84 %S\EC\B4\88\00Mth\00Mhr\00Yow\00De Sul\00De Lun\00De Merth\00De Merher\00De Yow\00De Gwener\00De Sadorn\00Gen\00Whe>\00Me\00Evn\00Est\00Gwn\00Hed\00Kev\00Mys Genver\00Mys Whevrel\00Mys Merth\00Mys Ebrel\00Mys Me\00Mys Evan\00Mys Gortheren\00Mye Est\00Mys Gwyngala\00Mys Hedra\00Mys Du\00Mys Kevardhu\00Sk\00Pr\00An\00Tr\00Kt\00Pn\00\D0t\00Sekmadienis\00Pirmadienis\00Antradienis\00Tre\E8iadienis\00Ketvirtadienis\00Penktadienis\00\D0e\F0tadienis\00Sau\00Vas\00Kov\00Bal\00Geg\00Bir\00Lie\00Rgp\00Rgs\00Spa\00Lap\00Grd\00sausio\00vasario\00kovo\00baland\FEio\00gegu\FE\EBs\00bir\FEelio\00liepos\00rugpj\FB\E8io\00rugs\EBjo\00spalio\00lapkri\E8io\00gruod\FEio\00%Y m. %B %d d. %T\00%Y.%m.%d\00\C5\A0t\00Tre\C4\8Diadienis\00\C5\A0e\C5\A1tadienis\00baland\C5\BEio\00gegu\C5\BE\C4\97s\00bir\C5\BEelio\00rugpj\C5\AB\C4\8Dio\00rugs\C4\97jo\00lapkri\C4\8Dio\00gruod\C5\BEio\00Sv\00P\A0\00O\A0\00T\A0\00C\A0\00Pk\00S\A0\00sv\E7tdiena\00pirmdiena\00otrdiena\00tre\F0diena\00ceturtdiena\00piektdiena\00sestdiena\00j\FBn\00j\FBl\00janv\E2ris\00febru\E2ris\00apr\EElis\00maijs\00j\FBnijs\00j\FBlijs\00augusts\00septembris\00oktobris\00novembris\00decembris\00%A, %Y. gada %e. %B, plkst. %H un %M\00%Y.%m.%d.\00P\C2\A0\00O\C2\A0\00T\C2\A0\00C\C2\A0\00S\C2\A0\00sv\C4\93tdiena\00tre\C5\A1diena\00j\C5\ABn\00j\C5\ABl\00janv\C4\81ris\00febru\C4\81ris\00apr\C4\ABlis\00j\C5\ABnijs\00j\C5\ABlijs\00Ta\00T\FB\00We\00T\E2i\00Pa\00H\E2\00R\E2tapu\00Mane\00T\FBrei\00Wenerei\00T\E2ite\00Paraire\00H\E2tarei\00Kohi\00Hui\00Pou\00Pae\00Hara\00Pipi\00H\F4ngoi\00Mahu\00Whi-nu\00Whi-ra\00Haki\00Kohi-t\E2tea\00Hui-tanguru\00Pout\FB-te-rangi\00Paenga-wh\E2wh\E2\00Haratua\00Pipiri\00H\F4ngoingoi\00Here-turi-k\F4k\E2\00Mahuru\00Whiringa-\E2-nuku\00Whiringa-\E2-rangi\00Hakihea\00Te %A, te %d o %B, %Y %T %Z\00T\C5\AB\00T\C4\81i\00H\C4\81\00R\C4\81tapu\00T\C5\ABrei\00T\C4\81ite\00H\C4\81tarei\00H\C5\8Dngoi\00Kohi-t\C4\81tea\00Pout\C5\AB-te-rangi\00Paenga-wh\C4\81wh\C4\81\00H\C5\8Dngoingoi\00Here-turi-k\C5\8Dk\C4\81\00Whiringa-\C4\81-nuku\00Whiringa-\C4\81-rangi\00\DD\D5\D4\00\DF\DE\DD\00\D2\E2\DE\00\E1\E0\D5\00\E7\D5\E2\00\DF\D5\E2\00\E1\D0\D1\00\DD\D5\D4\D5\DB\D0\00\DF\DE\DD\D5\D4\D5\DB\DD\D8\DA\00\D2\E2\DE\E0\DD\D8\DA\00\E1\E0\D5\D4\D0\00\E7\D5\E2\D2\E0\E2\DE\DA\00\DF\D5\E2\DE\DA\00\E1\D0\D1\DE\E2\D0\00\F8\D0\DD\00\E4\D5\D2\00\DC\D0\E0\00\D0\DF\E0\00\DC\D0\F8\00\F8\E3\DD\00\F8\E3\DB\00\D0\D2\D3\00\E1\D5\DF\00\DE\DA\E2\00\DD\DE\D5\00\D4\D5\DA\00\F8\D0\DD\E3\D0\E0\D8\00\E4\D5\D2\E0\E3\D0\E0\D8\00\DC\D0\E0\E2\00\D0\DF\E0\D8\DB\00\F8\E3\DD\D8\00\F8\E3\DB\D8\00\D0\D2\D3\E3\E1\E2\00\E1\D5\DF\E2\D5\DC\D2\E0\D8\00\DE\DA\E2\DE\DC\D2\E0\D8\00\DD\DE\D5\DC\D2\E0\D8\00\D4\D5\DA\D5\DC\D2\E0\D8\00%a, %d %b %Y %T %Z\00\D0\BD\D0\B5\D0\B4\00\D0\BF\D0\BE\D0\BD\00\D0\B2\D1\82\D0\BE\00\D1\81\D1\80\D0\B5\00\D1\87\D0\B5\D1\82\00\D0\BF\D0\B5\D1\82\00\D1\81\D0\B0\D0\B1\00\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D0\B0\00\D1\81\D1\80\D0\B5\D0\B4\D0\B0\00\D1\87\D0\B5\D1\82\D0\B2\D1\80\D1\82\D0\BE\D0\BA\00\D0\BF\D0\B5\D1\82\D0\BE\D0\BA\00\D1\81\D0\B0\D0\B1\D0\BE\D1\82\D0\B0\00\D1\98\D0\B0\D0\BD\00\D0\BC\D0\B0\D1\98\00\D1\98\D1\83\D0\BD\00\D1\98\D1\83\D0\BB\00\D1\98\D0\B0\D0\BD\D1\83\D0\B0\D1\80\D0\B8\00\D1\98\D1\83\D0\BD\D0\B8\00\D1\98\D1\83\D0\BB\D0\B8\00\E0\A4\B0\E0\A4\B5\E0\A4\BF\00\E0\A4\B8\E0\A5\8B\E0\A4\AE\00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B3\00\E0\A4\AC\E0\A5\81\E0\A4\A7\00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81\00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0\00\E0\A4\B6\E0\A4\A8\E0\A4\BF\00\E0\A4\B0\E0\A4\B5\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\B8\E0\A5\8B\E0\A4\AE\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B3\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\B6\E0\A4\A8\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\9C\E0\A4\BE\E0\A4\A8\E0\A5\87\E0\A4\B5\E0\A4\BE\E0\A4\B0\E0\A5\80\00\E0\A4\AB\E0\A5\87\E0\A4\AC\E0\A5\83\E0\A4\B5\E0\A4\BE\E0\A4\B0\E0\A5\80\00\E0\A4\8F\E0\A4\AA\E0\A5\8D\E0\A4\B0\E0\A4\BF\E0\A4\B2\00\E0\A4\AE\E0\A5\87\00\E0\A4\9C\E0\A5\81\E0\A4\B2\E0\A5\88\00\E0\A4\93\E0\A4\97\E0\A4\B8\E0\A5\8D\E0\A4\9F\00\E0\A4\B8\E0\A5\87\E0\A4\AA\E0\A5\8D\E0\A4\9F\E0\A5\87\E0\A4\82\E0\A4\AC\E0\A4\B0\00\E0\A4\93\E0\A4\95\E0\A5\8D\E0\A4\9F\E0\A5\8B\E0\A4\AC\E0\A4\B0\00\E0\A4\A8\E0\A5\8B\E0\A4\B5\E0\A5\8D\E0\A4\B9\E0\A5\87\E0\A4\82\E0\A4\AC\E0\A4\B0\00\E0\A4\A1\E0\A4\BF\E0\A4\B8\E0\A5\87\E0\A4\82\E0\A4\AC\E0\A4\B0\00\E0\A4\AE.\E0\A4\AA\E0\A5\82.\00\E0\A4\AE.\E0\A4\A8\E0\A4\82.\00Ahd\00Isn\00Kha\00Ahad\00Isnin\00Khamis\00Jumaat\00Mac\00Ogos\00Dis\00Februari\00Julai\00Disember\00\A1ad\00Tne\00Tli\00Erb\00\A1am\00\D5im\00Sib\00il-\A1add\00it-Tnejn\00it-Tlieta\00l-Erbg\B1a\00il-\A1amis\00il-\D5img\B1a\00is-Sibt\00Fra\00Mej\00\D5un\00Lul\00Awi\00Ott\00Di\E5\00Jannar\00Frar\00Marzu\00Mejju\00\D5unju\00Lulju\00Awissu\00Settembru\00Ottubru\00Novembru\00Di\E5embru \00%A, %d ta %b, %Y %I:%M:%S %p %Z\00%A, %d ta %b, %Y\00\C4\A6ad\00\C4\A6am\00\C4\A0im\00il-\C4\A6add\00l-Erbg\C4\A7a\00il-\C4\A6amis\00il-\C4\A0img\C4\A7a\00\C4\A0un\00Di\C4\8B\00\C4\A0unju\00Di\C4\8Bembru \00zo\00di\00wo\00do\00vr\00za\00zondag\00maandag\00dinsdag\00woensdag\00donderdag\00vrijdag\00zaterdag\00mrt\00mei\00maart\00augustus\00%d-%m-%y\00su \00m\E5 \00ty \00on \00to \00fr \00lau \00sundag \00m\E5ndag \00tysdag \00onsdag \00torsdag \00fredag \00laurdag \00%d. %b %Y kl %H.%M %Z\00%d. %b %Y\00kl %H.%M %Z\00m\C3\A5 \00m\C3\A5ndag \00%a %d-%m-%Y %T %Z\00mec\00j\F3u\00dimenge\00diluns\00dimars\00dij\F3us\00disabte\00ag\F3\00geni\E8r\00febri\E8r\00abrial\00junh\00julhet\00ag\F3st\00decembre\00j\C3\B3u\00dij\C3\B3us\00ag\C3\B3\00geni\C3\A8r\00febri\C3\A8r\00ag\C3\B3st\00nie\00pon\00wto\00\B6ro\00czw\00pi\B1\00sob\00niedziela\00poniedzia\B3ek\00wtorek\00\B6roda\00czwartek\00pi\B1tek\00sobota\00sty\00lut\00kwi\00cze\00lip\00sie\00wrz\00pa\BC\00gru\00stycze\F1\00luty\00marzec\00kwiecie\F1\00czerwiec\00lipiec\00sierpie\F1\00wrzesie\F1\00pa\BCdziernik\00grudzie\F1\00\C5\9Bro\00pi\C4\85\00poniedzia\C5\82ek\00\C5\9Broda\00pi\C4\85tek\00pa\C5\BA\00stycze\C5\84\00kwiecie\C5\84\00sierpie\C5\84\00wrzesie\C5\84\00pa\C5\BAdziernik\00grudzie\C5\84\00Seg\00Ter\00Qua\00Qui\00Sex\00segunda\00ter\E7a\00quarta\00quinta\00sexta\00janeiro\00fevereiro\00mar\E7o\00maio\00junho\00julho\00setembro\00outubro\00novembro\00dezembro\00ter\C3\A7a\00mar\C3\A7o\00Segunda\00Ter\E7a\00Quarta\00Quinta\00Sexta\00Janeiro\00Fevereiro\00Mar\E7o\00Junho\00Julho\00Dezembro\00Ter\C3\A7a\00Mar\C3\A7o\00Lu\00Mi\00Jo\00Vi\00S\EE\00Duminic\C3\00Luni\00Mar\FEi\00Miercuri\00Joi\00Vineri\00S\EEmb\C3t\C3\00ian\00iun\00iul\00Ianuarie\00Martie\00Aprilie\00Iunie\00Iulie\00Septembrie\00Octombrie\00Noiembrie\00Decembrie\00S\C3\AE\00Duminic\C4\82\00Mar\C5\A3i\00S\C3\AEmb\C4\82t\C4\82\00\F7\D3\CB\00\F0\CE\C4\00\F7\D4\D2\00\F3\D2\C4\00\FE\D4\D7\00\F0\D4\CE\00\F3\C2\D4\00\F7\CF\D3\CB\D2\C5\D3\C5\CE\D8\C5\00\F0\CF\CE\C5\C4\C5\CC\D8\CE\C9\CB\00\F7\D4\CF\D2\CE\C9\CB\00\F3\D2\C5\C4\C1\00\FE\C5\D4\D7\C5\D2\C7\00\F0\D1\D4\CE\C9\C3\C1\00\F3\D5\C2\C2\CF\D4\C1\00\F1\CE\D7\00\E6\C5\D7\00\ED\C1\D2\00\E1\D0\D2\00\ED\C1\CA\00\E9\C0\CE\00\E9\C0\CC\00\E1\D7\C7\00\F3\C5\CE\00\EF\CB\D4\00\EE\CF\D1\00\E4\C5\CB\00\F1\CE\D7\C1\D2\D1\00\E6\C5\D7\D2\C1\CC\D1\00\ED\C1\D2\D4\C1\00\E1\D0\D2\C5\CC\D1\00\ED\C1\D1\00\E9\C0\CE\D1\00\E9\C0\CC\D1\00\E1\D7\C7\D5\D3\D4\C1\00\F3\C5\CE\D4\D1\C2\D2\D1\00\EF\CB\D4\D1\C2\D2\D1\00\EE\CF\D1\C2\D2\D1\00\E4\C5\CB\C1\C2\D2\D1\00\B2\E1\DA\00\BF\DD\D4\00\B2\E2\E0\00\C1\E0\D4\00\C7\E2\D2\00\BF\E2\DD\00\C1\D1\E2\00\B2\DE\E1\DA\E0\D5\E1\D5\DD\EC\D5\00\BF\DE\DD\D5\D4\D5\DB\EC\DD\D8\DA\00\B2\E2\DE\E0\DD\D8\DA\00\C1\E0\D5\D4\D0\00\C7\D5\E2\D2\D5\E0\D3\00\BF\EF\E2\DD\D8\E6\D0\00\C1\E3\D1\D1\DE\E2\D0\00\CF\DD\D2\00\C4\D5\D2\00\BC\D0\E0\00\B0\DF\E0\00\BC\D0\D9\00\B8\EE\DD\00\B8\EE\DB\00\B0\D2\D3\00\C1\D5\DD\00\BE\DA\E2\00\BD\DE\EF\00\B4\D5\DA\00\CF\DD\D2\D0\E0\EF\00\C4\D5\D2\E0\D0\DB\EF\00\BC\D0\E0\E2\D0\00\B0\DF\E0\D5\DB\EF\00\BC\D0\EF\00\B8\EE\DD\EF\00\B8\EE\DB\EF\00\B0\D2\D3\E3\E1\E2\D0\00\C1\D5\DD\E2\EF\D1\E0\EF\00\BE\DA\E2\EF\D1\E0\EF\00\BD\DE\EF\D1\E0\EF\00\B4\D5\DA\D0\D1\E0\EF\00\D0\92\D1\81\D0\BA\00\D0\9F\D0\BD\D0\B4\00\D0\92\D1\82\D1\80\00\D0\A7\D1\82\D0\B2\00\D0\9F\D1\82\D0\BD\00\D0\A1\D0\B1\D1\82\00\D0\92\D0\BE\D1\81\D0\BA\D1\80\D0\B5\D1\81\D0\B5\D0\BD\D1\8C\D0\B5\00\D0\9F\D0\BE\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D1\8C\D0\BD\D0\B8\D0\BA\00\D0\92\D1\82\D0\BE\D1\80\D0\BD\D0\B8\D0\BA\00\D0\A1\D1\80\D0\B5\D0\B4\D0\B0\00\D0\A7\D0\B5\D1\82\D0\B2\D0\B5\D1\80\D0\B3\00\D0\9F\D1\8F\D1\82\D0\BD\D0\B8\D1\86\D0\B0\00\D0\A1\D1\83\D0\B1\D0\B1\D0\BE\D1\82\D0\B0\00\D0\AF\D0\BD\D0\B2\00\D0\A4\D0\B5\D0\B2\00\D0\9C\D0\B0\D1\80\00\D0\90\D0\BF\D1\80\00\D0\9C\D0\B0\D0\B9\00\D0\98\D1\8E\D0\BD\00\D0\98\D1\8E\D0\BB\00\D0\90\D0\B2\D0\B3\00\D0\A1\D0\B5\D0\BD\00\D0\9E\D0\BA\D1\82\00\D0\9D\D0\BE\D1\8F\00\D0\94\D0\B5\D0\BA\00\D0\AF\D0\BD\D0\B2\D0\B0\D1\80\D1\8F\00\D0\A4\D0\B5\D0\B2\D1\80\D0\B0\D0\BB\D1\8F\00\D0\9C\D0\B0\D1\80\D1\82\D0\B0\00\D0\90\D0\BF\D1\80\D0\B5\D0\BB\D1\8F\00\D0\9C\D0\B0\D1\8F\00\D0\98\D1\8E\D0\BD\D1\8F\00\D0\98\D1\8E\D0\BB\D1\8F\00\D0\90\D0\B2\D0\B3\D1\83\D1\81\D1\82\D0\B0\00\D0\A1\D0\B5\D0\BD\D1\82\D1\8F\D0\B1\D1\80\D1\8F\00\D0\9E\D0\BA\D1\82\D1\8F\D0\B1\D1\80\D1\8F\00\D0\9D\D0\BE\D1\8F\D0\B1\D1\80\D1\8F\00\D0\94\D0\B5\D0\BA\D0\B0\D0\B1\D1\80\D1\8F\00\F7\D4\CF\00\F3\D5\C2\00\F1\CE\D7\C1\D2\D8\00\E6\C5\D7\D2\C1\CC\D8\00\ED\C1\D2\D4\00\E1\D0\D2\C5\CC\D8\00\E9\C0\CE\D8\00\E9\C0\CC\D8\00\E1\D7\C7\D5\D3\D4\00\F3\C5\CE\D4\D1\C2\D2\D8\00\EF\CB\D4\D1\C2\D2\D8\00\EE\CF\D1\C2\D2\D8\00\E4\C5\CB\C1\C2\D2\D8\00\D0\92\D1\82\D0\BE\00\D0\AF\D0\BD\D0\B2\D0\B0\D1\80\D1\8C\00\D0\A4\D0\B5\D0\B2\D1\80\D0\B0\D0\BB\D1\8C\00\D0\9C\D0\B0\D1\80\D1\82\00\D0\90\D0\BF\D1\80\D0\B5\D0\BB\D1\8C\00\D0\98\D1\8E\D0\BD\D1\8C\00\D0\98\D1\8E\D0\BB\D1\8C\00\D0\90\D0\B2\D0\B3\D1\83\D1\81\D1\82\00\D0\A1\D0\B5\D0\BD\D1\82\D1\8F\D0\B1\D1\80\D1\8C\00\D0\9E\D0\BA\D1\82\D1\8F\D0\B1\D1\80\D1\8C\00\D0\9D\D0\BE\D1\8F\D0\B1\D1\80\D1\8C\00\D0\94\D0\B5\D0\BA\D0\B0\D0\B1\D1\80\D1\8C\00sotn\00vuos\00ma\C5\8B\00gask\00duor\00bear\00l\C3\A1v\00sotnabeaivi\00vuoss\C3\A1rga\00ma\C5\8B\C5\8Bebarga\00gaskavahkku\00duorasdat\00bearjadat\00l\C3\A1vvardat\00o\C4\91\C4\91j\00guov\00njuk\00cuo\C5\8B\00mies\00geas\00suoi\00borg\00\C4\8Dak\C4\8D\00golg\00sk\C3\A1b\00juov\00o\C4\91\C4\91ajagem\C3\A1nu\00guovvam\C3\A1nu\00njuk\C4\8Dam\C3\A1nu\00cuo\C5\8Bom\C3\A1nu\00miessem\C3\A1nu\00geassem\C3\A1nu\00suoidnem\C3\A1nu\00borgem\C3\A1nu\00\C4\8Dak\C4\8Dam\C3\A1nu\00golggotm\C3\A1nu\00sk\C3\A1bmam\C3\A1nu\00juovlam\C3\A1nu\00%a, %b %e. b. %Y %T %Z\00Ut\00\A9t\00Pi\00Nede\B5a\00Pondelok\00Utorok\00Streda\00\A9tvrtok\00Piatok\00marec\00Nede\C4\BEa\00\C5\A0tvrtok\00ned\00sre\00\E8et\00pet\00nedelja\00ponedeljek\00torek\00sreda\00\E8etrtek\00petek\00avg\00junij\00julij\00avgust\00\C4\8Det\00\C4\8Detrtek\00Die \00H\EBn \00Mar \00M\EBr \00Enj \00Pre \00Sht \00e diel \00e h\EBn\EB \00e mart\EB \00e m\EBrkur\EB \00e enjte \00e premte \00e shtun\EB \00Shk\00Pri\00Qer\00Kor\00Gsh\00Sht\00Tet\00N\EBn\00Dhj\00janar\00shkurt\00prill\00qershor\00korrik\00gusht\00shtator\00tetor\00n\EBntor\00dhjetor\00PD\00MD\00%Y-%b-%d %I.%M.%S.%p %Z\00%Y-%b-%d\00%I.%M.%S. %Z\00%I.%M.%S.%p %Z\00H\C3\ABn \00M\C3\ABr \00e h\C3\ABn\C3\AB \00e mart\C3\AB \00e m\C3\ABrkur\C3\AB \00e shtun\C3\AB \00N\C3\ABn\00n\C3\ABntor\00uto\00sub\00ponedeljak\00utorak\00\E8etvrtak\00petak\00subota\00septembar\00oktobar\00novembar\00decembar\00%d-%m-%Y.\00\C4\8Detvrtak\00\E3\E2\DE\00\E1\E3\D1\00\DD\D5\D4\D5\F9a\00\DF\DE\DD\D5\D4\D5\F9\D0\DA\00\E3\E2\DE\E0\D0\DA\00\E7\D5\E2\D2\E0\E2\D0\DA\00\DF\D5\E2\D0\DA\00\E1\E3\D1\DE\E2\D0\00\E4\D5\D1\00\DD\DE\D2\00\D4\D5\E6\00\F8\D0\DD\E3\D0\E0\00\E4\D5\D1\E0\E3\D0\E0\00\E1\D5\DF\E2\D5\DC\D1\D0\E0\00\DE\DA\E2\DE\D1\D0\E0\00\DD\DE\D2\D5\DC\D1\D0\E0\00\D4\D5\E6\D5\DC\D1\D0\E0\00+%a %d %b %Y %T %Z\00\D1\83\D1\82\D0\BE\00\D1\81\D1\83\D0\B1\00\D0\BD\D0\B5\D0\B4\D0\B5\D1\99a\00\D0\BF\D0\BE\D0\BD\D0\B5\D0\B4\D0\B5\D1\99\D0\B0\D0\BA\00\D1\83\D1\82\D0\BE\D1\80\D0\B0\D0\BA\00\D1\87\D0\B5\D1\82\D0\B2\D1\80\D1\82\D0\B0\D0\BA\00\D0\BF\D0\B5\D1\82\D0\B0\D0\BA\00\D1\81\D1\83\D0\B1\D0\BE\D1\82\D0\B0\00\D1\84\D0\B5\D0\B1\00\D0\BD\D0\BE\D0\B2\00\D0\B4\D0\B5\D1\86\00\D1\98\D0\B0\D0\BD\D1\83\D0\B0\D1\80\00\D1\84\D0\B5\D0\B1\D1\80\D1\83\D0\B0\D1\80\00\D1\81\D0\B5\D0\BF\D1\82\D0\B5\D0\BC\D0\B1\D0\B0\D1\80\00\D0\BE\D0\BA\D1\82\D0\BE\D0\B1\D0\B0\D1\80\00\D0\BD\D0\BE\D0\B2\D0\B5\D0\BC\D0\B1\D0\B0\D1\80\00\D0\B4\D0\B5\D1\86\D0\B5\D0\BC\D0\B1\D0\B0\D1\80\00s\F6n\00m\E5n\00tis\00l\F6r\00s\F6ndag\00m\E5ndag\00tisdag\00l\F6rdag\00augusti\00%a %e %b %Y %H.%M.%S\00s\C3\B6n\00m\C3\A5n\00l\C3\B6r\00s\C3\B6ndag\00m\C3\A5ndag\00l\C3\B6rdag\00\E0\AE\9E\00\E0\AE\A4\00\E0\AE\9A\00\E0\AE\AA\00\E0\AE\B5\00\E0\AE\9E\E0\AE\BE\E0\AE\AF\E0\AE\BF\E0\AE\B1\E0\AF\81\00\E0\AE\A4\E0\AE\BF\E0\AE\99\E0\AF\8D\E0\AE\95\E0\AE\B3\E0\AF\8D\00\E0\AE\9A\E0\AF\86\E0\AE\B5\E0\AF\8D\E0\AE\B5\E0\AE\BE\E0\AE\AF\E0\AF\8D\00\E0\AE\AA\E0\AF\81\E0\AE\A4\E0\AE\A9\E0\AF\8D\00\E0\AE\B5\E0\AE\BF\E0\AE\AF\E0\AE\BE\E0\AE\B4\E0\AE\A9\E0\AF\8D\00\E0\AE\B5\E0\AF\86\E0\AE\B3\E0\AF\8D\E0\AE\B3\E0\AE\BF\00\E0\AE\9A\E0\AE\A9\E0\AE\BF\00\E0\AE\9C\E0\AE\A9\E0\AE\B5\E0\AE\B0\E0\AE\BF\00\E0\AE\AA\E0\AF\86\E0\AE\AA\E0\AF\8D\E0\AE\B0\E0\AE\B5\E0\AE\B0\E0\AE\BF\00\E0\AE\AE\E0\AE\BE\E0\AE\B0\E0\AF\8D\E0\AE\9A\E0\AF\8D\00\E0\AE\8F\E0\AE\AA\E0\AF\8D\E0\AE\B0\E0\AE\B2\E0\AF\8D\00\E0\AE\AE\E0\AF\87\00\E0\AE\9C\E0\AF\82\E0\AE\A9\E0\AF\8D\00\E0\AE\9C\E0\AF\82\E0\AE\B2\E0\AF\88\00\E0\AE\86\E0\AE\95\E0\AE\B8\E0\AF\8D\E0\AE\9F\E0\AF\8D\00\E0\AE\9A\E0\AF\86\E0\AE\AA\E0\AF\8D\E0\AE\9F\E0\AE\AE\E0\AF\8D\E0\AE\AA\E0\AE\B0\E0\AF\8D\00\E0\AE\85\E0\AE\95\E0\AF\8D\E0\AE\9F\E0\AF\8B\E0\AE\AA\E0\AE\B0\E0\AF\8D\00\E0\AE\A8\E0\AE\B5\E0\AE\AE\E0\AF\8D\E0\AE\AA\E0\AE\B0\E0\AF\8D\00\E0\AE\9F\E0\AE\BF\E0\AE\9A\E0\AE\AE\E0\AF\8D\E0\AE\AA\E0\AE\B0\E0\AF\8Dr\00\E0\AE\95\E0\AE\BE\E0\AE\B2\E0\AF\88\00\E0\AE\AE\E0\AE\BE\E0\AE\B2\E0\AF\88\00\E0\B0\86\E0\B0\A6\E0\B0\BF\00\E0\B0\B8\E0\B1\8B\E0\B0\AE\00\E0\B0\AE\E0\B0\82\E0\B0\97\E0\B0\B3\00\E0\B0\AC\E0\B1\81\E0\B0\A7\00\E0\B0\97\E0\B1\81\E0\B0\B0\E0\B1\81\00\E0\B0\B6\E0\B1\81\E0\B0\95\E0\B1\8D\E0\B0\B0\00\E0\B0\B6\E0\B0\A8\E0\B0\BF\00\E0\B0\86\E0\B0\A6\E0\B0\BF\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\B8\E0\B1\8B\E0\B0\AE\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\AE\E0\B0\82\E0\B0\97\E0\B0\B3\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\AC\E0\B1\81\E0\B0\A7\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\97\E0\B1\81\E0\B0\B0\E0\B1\81\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\B6\E0\B1\81\E0\B0\95\E0\B1\8D\E0\B0\B0\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\B6\E0\B0\A8\E0\B0\BF\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\9C\E0\B0\A8\E0\B0\B5\E0\B0\B0\E0\B0\BF\00\E0\B0\AB\E0\B0\BF\E0\B0\AC\E0\B1\8D\E0\B0\B0\E0\B0\B5\E0\B0\B0\E0\B0\BF\00\E0\B0\AE\E0\B0\BE\E0\B0\B0\E0\B1\8D\E0\B0\9A\E0\B0\BF\00\E0\B0\8F\E0\B0\AA\E0\B1\8D\E0\B0\B0\E0\B0\BF\E0\B0\B2\E0\B1\8D\00\E0\B0\AE\E0\B1\87\00\E0\B0\9C\E0\B1\82\E0\B0\A8\E0\B1\8D\00\E0\B0\9C\E0\B1\82\E0\B0\B2\E0\B1\88\00\E0\B0\86\E0\B0\97\E0\B0\B8\E0\B1\8D\E0\B0\9F\E0\B1\81\00\E0\B0\B8\E0\B1\86\E0\B0\AA\E0\B1\8D\E0\B0\9F\E0\B1\86\E0\B0\82\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\85\E0\B0\95\E0\B1\8D\E0\B0\9F\E0\B1\8B\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\A8\E0\B0\B5\E0\B0\82\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\A1\E0\B0\BF\E0\B0\B8\E0\B1\86\E0\B0\82\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\AA\E0\B1\82\E0\B0\B0\E0\B1\8D\E0\B0\B5\E0\B0\BE\E0\B0\B9\E0\B1\8D\E0\B0\A8\00\E0\B0\85\E0\B0\AA\E0\B0\B0\E0\B0\BE\E0\B0\B9\E0\B1\8D\E0\B0\A8\00\CD\D2.\00\A8.\00\CD.\00\BE.\00\BE\C4.\00\C8.\00\CA.\00\CD\D2\B7\D4\B5\C2\EC\00\A8\D1\B9\B7\C3\EC\00\CD\D1\A7\A4\D2\C3\00\BE\D8\B8\00\BE\C4\CB\D1\CA\BA\B4\D5\00\C8\D8\A1\C3\EC\00\E0\CA\D2\C3\EC\00\C1.\A4.\00\A1.\BE.\00\C1\D5.\A4.\00\E0\C1.\C2.\00\BE.\A4.\00\C1\D4.\C2.\00\A1.\A4.\00\CA.\A4.\00\A1.\C2.\00\B5.\A4.\00\BE.\C2.\00\B8.\A4.\00\C1\A1\C3\D2\A4\C1\00\A1\D8\C1\C0\D2\BE\D1\B9\B8\EC\00\C1\D5\B9\D2\A4\C1\00\E0\C1\C9\D2\C2\B9\00\BE\C4\C9\C0\D2\A4\C1\00\C1\D4\B6\D8\B9\D2\C2\B9\00\A1\C3\A1\AE\D2\A4\C1\00\CA\D4\A7\CB\D2\A4\C1\00\A1\D1\B9\C2\D2\C2\B9\00\B5\D8\C5\D2\A4\C1\00\BE\C4\C8\A8\D4\A1\D2\C2\B9\00\B8\D1\B9\C7\D2\A4\C1\00%a %e %b %Ey, %H:%M:%S\00%d/%m/%Ey\00+:1:-543/01/01:+*:\BE.\C8.:%EC %Ey\00\00%e %b %Ey\00\C7\D1\B9%A\B7\D5\E8 %e %B %EC %Ey, %H.%M.%S \B9.\00%H.%M.%S \B9.\00\E0\B8\AD\E0\B8\B2.\00\E0\B8\88.\00\E0\B8\AD.\00\E0\B8\9E.\00\E0\B8\9E\E0\B8\A4.\00\E0\B8\A8.\00\E0\B8\AA.\00\E0\B8\AD\E0\B8\B2\E0\B8\97\E0\B8\B4\E0\B8\95\E0\B8\A2\E0\B9\8C\00\E0\B8\88\E0\B8\B1\E0\B8\99\E0\B8\97\E0\B8\A3\E0\B9\8C\00\E0\B8\AD\E0\B8\B1\E0\B8\87\E0\B8\84\E0\B8\B2\E0\B8\A3\00\E0\B8\9E\E0\B8\B8\E0\B8\98\00\E0\B8\9E\E0\B8\A4\E0\B8\AB\E0\B8\B1\E0\B8\AA\E0\B8\9A\E0\B8\94\E0\B8\B5\00\E0\B8\A8\E0\B8\B8\E0\B8\81\E0\B8\A3\E0\B9\8C\00\E0\B9\80\E0\B8\AA\E0\B8\B2\E0\B8\A3\E0\B9\8C\00\E0\B8\A1.\E0\B8\84.\00\E0\B8\81.\E0\B8\9E.\00\E0\B8\A1\E0\B8\B5.\E0\B8\84.\00\E0\B9\80\E0\B8\A1.\E0\B8\A2.\00\E0\B8\9E.\E0\B8\84.\00\E0\B8\A1\E0\B8\B4.\E0\B8\A2.\00\E0\B8\81.\E0\B8\84.\00\E0\B8\AA.\E0\B8\84.\00\E0\B8\81.\E0\B8\A2.\00\E0\B8\95.\E0\B8\84.\00\E0\B8\9E.\E0\B8\A2.\00\E0\B8\98.\E0\B8\84.\00\E0\B8\A1\E0\B8\81\E0\B8\A3\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\81\E0\B8\B8\E0\B8\A1\E0\B8\A0\E0\B8\B2\E0\B8\9E\E0\B8\B1\E0\B8\99\E0\B8\98\E0\B9\8C\00\E0\B8\A1\E0\B8\B5\E0\B8\99\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B9\80\E0\B8\A1\E0\B8\A9\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\9E\E0\B8\A4\E0\B8\A9\E0\B8\A0\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\A1\E0\B8\B4\E0\B8\96\E0\B8\B8\E0\B8\99\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\81\E0\B8\A3\E0\B8\81\E0\B8\8E\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\AA\E0\B8\B4\E0\B8\87\E0\B8\AB\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\81\E0\B8\B1\E0\B8\99\E0\B8\A2\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\95\E0\B8\B8\E0\B8\A5\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\9E\E0\B8\A4\E0\B8\A8\E0\B8\88\E0\B8\B4\E0\B8\81\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\98\E0\B8\B1\E0\B8\99\E0\B8\A7\E0\B8\B2\E0\B8\84\E0\B8\A1\00+:1:-543/01/01:+*:\E0\B8\9E.\E0\B8\A8.:%EC %Ey\00\00\E0\B8\A7\E0\B8\B1\E0\B8\99%A\E0\B8\97\E0\B8\B5\E0\B9\88 %e %B %EC %Ey, %H.%M.%S \E0\B8\99.\00%H.%M.%S \E0\B8\99.\00\E1\88\B0\E1\8A\95\E1\89\A0\E1\89\B5\00\E1\88\B0\E1\8A\91\E1\8B\AD\00\E1\88\B0\E1\88\89\E1\88\B5\00\E1\88\93\E1\88\99\E1\88\B5\00\E1\8B\93\E1\88\AD\E1\89\A2\00\E1\89\80\E1\8B\B3\E1\88\9D\00\E1\8C\A5\E1\88\AA\00\E1\88\88\E1\8A\AB\E1\89\B2\00\E1\88\98\E1\8C\8B\E1\89\A2\00\E1\88\9A\E1\8B\AB\E1\8B\9D\00\E1\8C\8D\E1\8A\95\E1\89\A6\00\E1\88\B0\E1\8A\90\00\E1\88\93\E1\88\9D\E1\88\88\00\E1\8A\90\E1\88\93\E1\88\B0\00\E1\88\98\E1\88\B5\E1\8A\A8\00\E1\8C\A5\E1\89\85\E1\88\9D\00\E1\88\95\E1\8B\B3\E1\88\AD\00\E1\89\B3\E1\88\95\E1\88\B3\00\E1\88\88\E1\8A\AB\E1\89\B2\E1\89\B5\00\E1\88\98\E1\8C\8B\E1\89\A2\E1\89\B5\00\E1\88\9A\E1\8B\AB\E1\8B\9D\E1\8B\AB\00\E1\8C\8D\E1\8A\95\E1\89\A6\E1\89\B5\00\E1\88\98\E1\88\B5\E1\8A\A8\E1\88\A8\E1\88\9D\00\E1\8C\A5\E1\89\85\E1\88\9D\E1\89\B2\00\E1\89\B3\E1\88\95\E1\88\B3\E1\88\B5\00\E1\8A\95\E1\8C\89\E1\88\86 \E1\88\B0\E1\8B\93\E1\89\B0\00\E1\8B\B5\E1\88\95\E1\88\AD \E1\88\B0\E1\8B\93\E1\89\B5\00%A\E1\8D\A3 %b %e \E1\88\98\E1\8B\93\E1\88\8D\E1\89\B2 %l:%M:%S %Z %Y\00Lin\00Miy\00Huw\00Biy\00Linggo\00Lunes\00Miyerkoles\00Huwebes\00Biyernes\00Sabado\00Ene\00Hun\00Hul\00Nob\00Enero\00Pebrero\00Marso\00Mayo\00Hunyo\00Hulyo\00Septiyembre\00Oktubre\00Nobiyembre\00Disyembre\00Paz\00Pzt\00Sal\00\C7r\FE\00Pr\FE\00Cum\00Cts\00Pazar\00Pazartesi\00Sal\FD\00\C7ar\FEamba\00Per\FEembe\00Cuma\00Cumartesi\00Oca\00\DEub\00Nis\00Haz\00Tem\00A\F0u\00Eyl\00Eki\00Kas\00Ara\00Ocak\00\DEubat\00Nisan\00May\FDs\00Haziran\00Temmuz\00A\F0ustos\00Eyl\FCl\00Ekim\00Kas\FDm\00Aral\FDk\00\D6\D6\00\D6S\00\C3\87r\C5\9F\00Pr\C5\9F\00Sal\C4\B1\00\C3\87ar\C5\9Famba\00Per\C5\9Fembe\00\C5\9Eub\00A\C4\9Fu\00\C5\9Eubat\00May\C4\B1s\00A\C4\9Fustos\00Eyl\C3\BCl\00Kas\C4\B1m\00Aral\C4\B1k\00\C3\96\C3\96\00\C3\96S\00\D0\AF\D0\BA\D1\88\00\D0\94\D1\8B\D1\88\00\D0\A1\D0\B8\D1\88\00\D0\A7\D3\99\D1\80\D1\88\00\D0\9F\D3\99\D0\BD\D2\97\00\D2\96\D0\BE\D0\BC\00\D0\A8\D0\B8\D0\BC\00\D0\AF\D0\BA\D1\88\D3\99\D0\BC\D0\B1\D0\B5\00\D0\94\D1\8B\D1\88\D3\99\D0\BC\D0\B1\D0\B5\00\D0\A1\D0\B8\D1\88\D3\99\D0\BC\D0\B1\D0\B5\00\D0\A7\D3\99\D1\80\D1\88\D3\99\D3\99\D0\BC\D0\B1\D0\B5\00\D0\9F\D3\99\D0\BD\D2\97\D0\B5\D1\88\D0\BC\D0\B1\D0\B5\00\D2\96\D0\BE\D0\BC\D0\B3\D0\B0\00\D0\A8\D0\B8\D0\BC\D0\B1\D3\99\00\EE\C4\CC\00\EE\C5\C4\A6\CC\D1\00\F0\CF\CE\C5\C4\A6\CC\CF\CB\00\F7\A6\D7\D4\CF\D2\CF\CB\00\F3\C5\D2\C5\C4\C1\00\FE\C5\D4\D7\C5\D2\00\F0'\D1\D4\CE\C9\C3\D1\00\F3\D5\C2\CF\D4\C1\00\F3\A6\DE\00\EC\C0\D4\00\E2\C5\D2\00\EB\D7\A6\00\F4\D2\C1\00\FE\C5\D2\00\EC\C9\D0\00\F3\C5\D2\00\F7\C5\D2\00\F6\CF\D7\00\EC\C9\D3\00\E7\D2\D5\00\F3\A6\DE\C5\CE\D8\00\EC\C0\D4\C9\CA\00\E2\C5\D2\C5\DA\C5\CE\D8\00\EB\D7\A6\D4\C5\CE\D8\00\F4\D2\C1\D7\C5\CE\D8\00\FE\C5\D2\D7\C5\CE\D8\00\EC\C9\D0\C5\CE\D8\00\F3\C5\D2\D0\C5\CE\D8\00\F7\C5\D2\C5\D3\C5\CE\D8\00\F6\CF\D7\D4\C5\CE\D8\00\EC\C9\D3\D4\CF\D0\C1\C4\00\E7\D2\D5\C4\C5\CE\D8\00\D0\9D\D0\B4\D0\BB\00\D0\9D\D0\B5\D0\B4\D1\96\D0\BB\D1\8F\00\D0\9F\D0\BE\D0\BD\D0\B5\D0\B4\D1\96\D0\BB\D0\BE\D0\BA\00\D0\92\D1\96\D0\B2\D1\82\D0\BE\D1\80\D0\BE\D0\BA\00\D0\A1\D0\B5\D1\80\D0\B5\D0\B4\D0\B0\00\D0\A7\D0\B5\D1\82\D0\B2\D0\B5\D1\80\00\D0\9F'\D1\8F\D1\82\D0\BD\D0\B8\D1\86\D1\8F\00\D0\A1\D1\96\D1\87\00\D0\91\D0\B5\D1\80\00\D0\9A\D0\B2\D1\96\00\D0\A7\D0\B5\D1\80\00\D0\9B\D0\B8\D0\BF\00\D0\A1\D0\B5\D1\80\00\D0\92\D0\B5\D1\80\00\D0\96\D0\BE\D0\B2\00\D0\9B\D0\B8\D1\81\00\D0\93\D1\80\D1\83\00\D0\A1\D1\96\D1\87\D0\B5\D0\BD\D1\8C\00\D0\9B\D1\8E\D1\82\D0\B8\D0\B9\00\D0\91\D0\B5\D1\80\D0\B5\D0\B7\D0\B5\D0\BD\D1\8C\00\D0\9A\D0\B2\D1\96\D1\82\D0\B5\D0\BD\D1\8C\00\D0\A7\D0\B5\D1\80\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\9B\D0\B8\D0\BF\D0\B5\D0\BD\D1\8C\00\D0\A1\D0\B5\D1\80\D0\BF\D0\B5\D0\BD\D1\8C\00\D0\92\D0\B5\D1\80\D0\B5\D1\81\D0\B5\D0\BD\D1\8C\00\D0\96\D0\BE\D0\B2\D1\82\D0\B5\D0\BD\D1\8C\00\D0\9B\D0\B8\D1\81\D1\82\D0\BE\D0\BF\D0\B0\D0\B4\00\D0\93\D1\80\D1\83\D0\B4\D0\B5\D0\BD\D1\8C\00\D8\A7\D8\AA\D9\88\D8\A7\D8\B1\00\D9\BE\D9\8A\D8\B1\00\D9\85\D9\86\DA\AF\D9\84\00\D8\A8\D8\AF\DA\BE\00\D8\AC\D9\85\D8\B9\D8\B1\D8\A7\D8\AA\00\D9\87\D9\81\D8\AA\D9\87\00\D8\AC\D9\86\D9\88\D8\B1\D9\8A\00\D9\81\D8\B1\D9\88\D8\B1\D9\8A\00\D9\85\D8\A7\D8\B1\DA\86\00\D8\A7\D9\BE\D8\B1\D9\8A\D9\84\00\D9\85\D9\93\DB\8C\00\D8\AC\D9\88\D9\86\00\D8\AC\D9\88\D9\84\D8\A7\D9\8A\00\D8\A7\DA\AF\D8\B3\D8\AA\00\D8\B3\D8\AA\D9\85\D8\A8\D8\B1\00\D8\A7\D9\83\D8\AA\D9\88\D8\A8\D8\B1\00\D9\86\D9\88\D9\85\D8\A8\D8\B1\00\D8\AF\D8\B3\D9\85\D8\A8\D8\B1\00\D8\B4\00\D9\88 %H:%M:%S %Z \D8\AA %d %B %Y\00%P %I:%M:%S\00Yak\00Se\00Cho\00Pay\00Ju\00Sha\00yakshanba\00dushanba\00seshanba\00chorshanba\00payshanba\00juma\00shanba\00Yav\00Iyn\00Iyl\00Avg\00senyabr\00%T, %d %B, %Y yil, %A\00CN \00Th 2 \00Th 3 \00Th 4 \00Th 5 \00Th 6 \00Th 7 \00Chu\CC\89 nh\C3\A2\CC\A3t \00Th\C6\B0\CC\81 hai \00Th\C6\B0\CC\81 ba \00Th\C6\B0\CC\81 t\C6\B0 \00Th\C6\B0\CC\81 n\C4\83m \00Th\C6\B0\CC\81 s\C3\A1u \00Th\C6\B0\CC\81 ba\CC\89y \00Thg 1\00Thg 2\00Thg 3\00Thg 4\00Thg 5\00Thg 6\00Thg 7\00Thg 8\00Thg 9\00Thg 10\00Thg 11\00Thg 12\00Th\C3\A1ng m\C3\B4\CC\A3t\00Th\C3\A1ng hai\00Th\C3\A1ng ba\00Th\C3\A1ng t\C6\B0\00Th\C3\A1ng n\C4\83m\00Th\C3\A1ng s\C3\A1u\00Th\C3\A1ng ba\CC\89y\00Th\C3\A1ng t\C3\A1m\00Th\C3\A1ng ch\C3\ADn\00Th\C3\A1ng m\C6\B0\C6\A1\CC\80i\00Th\C3\A1ng m\C6\B0\C6\A1\CC\80i m\C3\B4\CC\A3t\00Th\C3\A1ng m\C6\B0\C6\A1\CC\80i hai\00%H:%M:%S %Z %A %d %b %Y\00%H:%M:%S %Z\00d\EEm\00lon\00m\E5r\00dju\00vin\00sem\00d\EEmegne\00londi\00m\E5rdi\00merkidi\00djudi\00vinrdi\00semdi\00dja\00fev\00m\E5s\00djn\00djl\00awo\00n\F4v\00djanv\EE\00fevr\EE\00m\E5ss\00avri\00djun\00djulete\00awousse\00setimbe\00oct\F4be\00n\F4vimbe\00decimbe\00Li %A %d di %B %Y %T %Z\00d\C3\AEm\00m\C3\A5r\00d\C3\AEmegne\00m\C3\A5rdi\00m\C3\A5s\00n\C3\B4v\00djanv\C3\AE\00fevr\C3\AE\00m\C3\A5ss\00oct\C3\B4be\00n\C3\B4vimbe\00\E6\E5\F0'\00\EE\E0\C8\F0'\00\E3\E9\F0'\00\EE\E9\E8'\00\E3\E0\C8\F0'\00\F4\CF\F8\D6\C7'\00\E6\E5\F0\E8\E9\F7\00\EE\E0\C8\F0\E8\E9\F7\00\E3\E9\F0\F1\E8\E9\F7\00\EE\E9\E8\D4\E0\C8\EA\00\E3\E0\C8\F0\F2\F8\F9\E8\E9\F7\00\F4\CF\F8\D6\C7\E8\E9\F7\00\E9\E0\C7\F0'\00\F4\CF\F2\E1'\00\EE\E0\C7\F8'\00\E0\C7\F4\CC\F8'\00\EE\D6\C7\00\E9\E5\F0'\00\E9\E5\EC'\00\E0\D5\E2'\00\F1\F2\F4\CC'\00\E0\C8\F7\E8'\00\F0\E0\C8\D4'\00\E3\F2\F6'\00\E9\E0\C7\F0\E5\E0\C7\F8\00\F4\CF\F2\E1\F8\E5\E0\C7\F8\00\EE\E0\C7\F8\F5\00\E0\C7\F4\CC\F8\E9\EC\00\E0\D5\E2\F1\E8\00\F1\F2\F4\CC\E8\F2\EE\E1\F2\F8\00\E0\C8\F7\E8\E0\C8\E1\F2\F8\00\F0A\C8\D4\F2\EE\E1\F2\F8\00\D7\96\D7\95\D7\A0'\00\D7\9E\D7\90\D6\B8\D7\A0'\00\D7\93\D7\99\D7\A0'\00\D7\9E\D7\99\D7\98'\00\D7\93\D7\90\D6\B8\D7\A0'\00\D7\A4\D6\BF\D7\A8\D7\B2\D6\B7'\00\D7\96\D7\95\D7\A0\D7\98\D7\99\D7\A7\00\D7\9E\D7\90\D6\B8\D7\A0\D7\98\D7\99\D7\A7\00\D7\93\D7\99\D7\A0\D7\A1\D7\98\D7\99\D7\A7\00\D7\9E\D7\99\D7\98\D7\B0\D7\90\D6\B8\D7\9A\00\D7\93\D7\90\D6\B8\D7\A0\D7\A2\D7\A8\D7\A9\D7\98\D7\99\D7\A7\00\D7\A4\D6\BF\D7\A8\D7\B2\D6\B7\D7\98\D7\99\D7\A7\00\D7\99\D7\90\D6\B7\D7\A0'\00\D7\A4\D6\BF\D7\A2\D7\91'\00\D7\9E\D7\90\D6\B7\D7\A8'\00\D7\90\D6\B7\D7\A4\D6\BC\D7\A8'\00\D7\9E\D7\B2\D6\B7\00\D7\99\D7\95\D7\A0'\00\D7\99\D7\95\D7\9C'\00\D7\90\D7\B1\D7\92'\00\D7\A1\D7\A2\D7\A4\D6\BC'\00\D7\90\D6\B8\D7\A7\D7\98'\00\D7\A0\D7\90\D6\B8\D7\B0'\00\D7\93\D7\A2\D7\A6'\00\D7\99\D7\90\D6\B7\D7\A0\D7\95\D7\90\D6\B7\D7\A8\00\D7\A4\D6\BF\D7\A2\D7\91\D7\A8\D7\95\D7\90\D6\B7\D7\A8\00\D7\9E\D7\90\D6\B7\D7\A8\D7\A5\00\D7\90\D6\B7\D7\A4\D6\BC\D7\A8\D7\99\D7\9C\00\D7\90\D7\B1\D7\92\D7\A1\D7\98\00\D7\A1\D7\A2\D7\A4\D6\BC\D7\98\D7\A2\D7\9E\D7\91\D7\A2\D7\A8\00\D7\90\D6\B8\D7\A7\D7\98\D7\90\D6\B8\D7\91\D7\A2\D7\A8\00\D7\A0A\D6\B8\D7\B0\D7\A2\D7\9E\D7\91\D7\A2\D7\A8\00\E4\B8\80\00\E4\BA\8C\00\E4\B8\89\00\E5\9B\9B\00\E4\BA\94\00\E5\85\AD\00\E6\98\9F\E6\9C\9F\E6\97\A5\00\E6\98\9F\E6\9C\9F\E4\B8\80\00\E6\98\9F\E6\9C\9F\E4\BA\8C\00\E6\98\9F\E6\9C\9F\E4\B8\89\00\E6\98\9F\E6\9C\9F\E5\9B\9B\00\E6\98\9F\E6\9C\9F\E4\BA\94\00\E6\98\9F\E6\9C\9F\E5\85\AD\00\E4\B8\80\E6\9C\88\00\E4\BA\8C\E6\9C\88\00\E4\B8\89\E6\9C\88\00\E5\9B\9B\E6\9C\88\00\E4\BA\94\E6\9C\88\00\E5\85\AD\E6\9C\88\00\E4\B8\83\E6\9C\88\00\E5\85\AB\E6\9C\88\00\E4\B9\9D\E6\9C\88\00\E5\8D\81\E6\9C\88\00\E5\8D\81\E4\B8\80\E6\9C\88\00\E5\8D\81\E4\BA\8C\E6\9C\88\00\E4\B8\8A\E5\8D\88\00\E4\B8\8B\E5\8D\88\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %A %H\E6\97\B6%M\E5\88\86%S\E7\A7\92\00%H\E6\97\B6%M\E5\88\86%S\E7\A7\92\00%p %I\E6\97\B6%M\E5\88\86%S\E7\A7\92\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %A %H:%M:%S\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %A\00%I\E6\99\82%M\E5\88\86%S\E7\A7\92 %Z\00%p %I:%M:%S\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %H\E6\97\B6%M\E5\88\86%S\E7\A7\92 %Z\00%H\E6\97\B6%M\E5\88\86%S\E7\A7\92 %Z\00\E9\80\B1\E6\97\A5\00\E9\80\B1\E4\B8\80\00\E9\80\B1\E4\BA\8C\00\E9\80\B1\E4\B8\89\00\E9\80\B1\E5\9B\9B\00\E9\80\B1\E4\BA\94\00\E9\80\B1\E5\85\AD\00\E8\A5\BF\E5\85\83%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 (%A) %H\E6\99\82%M\E5\88\86%S\E7\A7\92\00\E8\A5\BF\E5\85\83%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5\00%p %I\E6\99\82%M\E5\88\86%S\E7\A7\92\00", [1804 x i8] c"\00^[yY]\00^[nN]\00[jJ].*\00[nN].*\00^[yY].*\00^[nN].*\00^[\E6].*\00^[\E4].*\00^[\D9\86].*\00^[\D9\84].*\00^[\D9\86]\00^[\D9\84]\00\D9\86\D8\B9\D9\85\00\D9\84\D8\A7\00^(\E6|\E6\D9\E5)\00^(\E4|\E4\C7)\00\E6\D9\E5\00\E4\C7\00^(\D9\86|\D9\86\D8\B9\D9\85)\00^(\D9\84|\D9\84\D8\A7)\00^[Bb].*\00^[YyNn].*\00yox\00b\C9\99li\00^[\C4\E4Yy].*\00^[\CD\EDNn].*\00^[\D0\94\D0\B4Yy].*\00^[\D0\9D\D0\BDNn].*\00^[+1\C4\E4DdYyOo].*\00^[-0\CD\EDNnKk].*\00^[+1\D0\94\D0\B4DdYyOo].*\00^[-0\D0\9D\D0\BDNnKk].*\00[yYsS\D5\A1\D4\B1].*\00[nN\D5\B8\D5\88].*\00\D5\A1\D5\B5\D5\B8\00\D5\B8\D5\B9\00^[\E0\A6\B9\E0\A7\8D\E0\A6\AF\E0\A6\BE\E0\A6\81]\00^[\E0\A6\A8\E0\A6\BE]\00\E0\A6\B9\E0\A7\8D\E0\A6\AF\E0\A6\BE\E0\A6\81\00\E0\A6\A8\E0\A6\BE\00[oOyY].*\00^[dDyY]*.\00^[nN]*.\00[sSyY].*\00^[aAyY].*\00ano\00ne\00[iItTyY].*\00ie\00na\00^[1JjYy].*\00^[0Nn].*\00^[jJyY].*\00^[\ED\CDyY].*\00^[\EF\CFnN].*\00^[\CE\BD\CE\9DyY].*\00^[\CE\BF\CE\9FnN].*\00[yY].*\00^[yYoO].*\00^[1JjsSyYoO].*\00^[0nN].*\00Yes\00No\00^[JjYy].*\00^[sSyY].*\00^[EeNn].*\00^[bBsSyY].*\00^[eEnN].*\00[yY\D8\A8f].*\00[nN\D8\AE\D9\86o].*\00^[KkJjYy].*\00^[NnEe].*\00^[Nn].*\00^[oOjJyY1].*\00^[nN0].*\00^[oOyY].*\00^[OojJsSyY].*\00^[tTyY].*\00^[Yy\EB].*\00^[Nn\EC].*\00^[Yy\D7\9B].*\00^[Nn\D7\9C].*\00^[dDyY].*\00^[IiYy].*\00[yYsS\B3\B2].*\00[nN\E1\E0].*\00\B3\DB\E1\00\E1\E3\00[tTnN].*\00^[sSjJoOyY].*\00^([yY\EF\BD\99\EF\BC\B9]|\E3\81\AF\E3\81\84|\E3\83\8F\E3\82\A4)\00^([nN\EF\BD\8E\EF\BC\AE]|\E3\81\84\E3\81\84\E3\81\88|\E3\82\A4\E3\82\A4\E3\82\A8)\00\E3\81\AF\E3\81\84\00\E3\81\84\E3\81\84\E3\81\88\00[1yYkKxX\E1].*\00[0nNaA\C0].*\00[1yYkKxX\E1\83\AE].*\00[0nNaA\E1\83\90].*\00^[JjYyAa].*\00^[yY\EC\98\88]\00^[nN\EC\95\84\EB\8B\88\EC\98\A4]\00[eE].*\00^[TtYy].*\00^[1yY\E2\C2\E4\C4aA].*\00^[0nNkK].*\00\E2e\00k\E2ore\00^[1yY\C4\81\C4\80\C3\A4\C3\84aA].*\00\C4\81e\00k\C4\81ore\00[\B4\D4DdYy1].*\00[\BD\DDNn0].*\00\D4\D0\00\DD\D5\00[\D0\94\D0\B4DdYy1].*\00[\D0\9D\D0\BDNn0].*\00\D0\B4\D0\B0\00\D0\BD\D0\B5\00^(Yes|[yY])\00^(No|[nN])\00^[tT]\00Ya\00Tidak\00[oOsS].*\00^[SsyY].*\00^[DdYy].*\00^[\E4\C4Yy].*\00^[\EE\CENn].*\00^[\B4\D4Yy].*\00^[\BD\DDNn].*\00[\E4\C4Yy].*\00[\EE\CENn].*\00[\D0\94\D0\B4Yy].*\00[\D0\9D\D0\BDNn].*\00^[Ii].*\00[aA\E1\C1yY].*\00\E1no\00nie\00[aA\C3\A1\C3\81yY].*\00\C3\A1no\00^[YyJj].*\00[dDyY1].*\00[nN0].*\00[\B4\D4Yy].*\00[\BD\DDNn].*\00^[\E0\AE\86\E0\AE\AE\E0\AF\8D]\00^[\E0\AE\87\E0\AE\B2\E0\AF\8D\E0\AE\B2\E0\AF\88]\00\E0\AE\86\E0\AE\AE\E0\AF\8D\00\E0\AE\87\E0\AE\B2\E0\AF\8D\E0\AE\B2\E0\AF\88\00^[\E0\B0\85]\00^[\E0\B0\95]\00\E0\B0\85\E0\B0\B5\E0\B0\A8\E0\B1\81\00\E0\B0\95\E0\B0\BE\E0\B0\A6\E0\B1\81\00\C4\C1\00\CE\C5\D4\00\D0\BD\D0\B5\D1\82\00^[yY\AA]\00^[nN\C1]\00\E3\AA\E8\00\E4\C1\E8\E3\AA\E8\00^[yY\E0\B8\8A]\00^[nN\E0\B8\A1]\00\E0\B9\83\E0\B8\8A\E0\B9\88\00\E0\B9\84\E0\B8\A1\E0\B9\88\E0\B9\83\E0\B8\8A\E0\B9\88\00^[eE].*\00^[hH].*\00evet\00hay\FDr\00hay\C4\B1r\00\D3\98\D0\B9\D0\B5\00\D0\AE\D0\BA\00[\F4\D4Yy].*\00[\D0\A2\D1\82Yy].*\00[yY\D9\87\D8\A8f].*\00[nN\D9\86o].*\00\D8\A8\D9\84\D9\83\D9\84\00\D9\86\D9\87\D9\8A\DA\BA\00^[YyHh].*\00^[JjNn].*\00Ha\00Yo'q\00[oOyYaAwW].*\00Oyi\00Neni\00^[Yy\E9].*\00^[Nn\F0\F7].*\00\E9\E0\C7\00\F7\D6\EF\00^[Yy\D7\99].*\00^[Nn\D7\A0\D7\A7].*\00\D7\99\D7\90\D6\B7\00\D7\A7\D7\B2\D7\9F\00^[yY\E6\98\AF]\00^[nN\E4\B8\8D\E5\90\A6]\00", [23 x %struct.__codeset_8_bit_t.202] [%struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\01\02\03\04\04\04\04\04\04\04\04\05", [16 x i8] c"\00\00\00\00\01\02\03\04\04\04\04\04\04\04\04\05", [16 x i8] c"\00\01\02\03\04\05\06\07\08\09\0A\0B\0C\0D\0E\0F", [38 x i8] c"\00\01\01\01\01\02\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\03\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06", [16 x i8] zeroinitializer, [16 x i8] c"\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10", [38 x i8] c"\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\07\08\09\0A\0B\0C\0D\0E\0F\0F\0F\0F\10\10\10\10", [16 x i8] c"\06\07\08\07\09\0A\0B\0C\0D\0D\0D\0D\0D\0D\0D\0D", [16 x i8] c"\11\12\13\14\15\16\17\18\19\1A\1B\1C\1D\1E\1F ", [38 x i8] c"\04\01\01\01\05\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\06\07\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\11\12\13\12\02\02\14\02\02\15\16\17\18\18\18\19", [16 x i8] zeroinitializer, [16 x i8] c"!\22#$%&'()*+,-./0", [38 x i8] c"\08\09\0A\01\01\0B\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\0C\0D\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\1A\1B\1C\1D\02\1E\14\1E\18\18\18\18\1F\10 \10", [16 x i8] c"\00\0E\00\0F\00\00\00\00\00\00\00\00\00\00\00\10", [16 x i8] c"123456'789:;<=>?", [38 x i8] c"\0E\0F\0A\01\01\01\01\01\01\01\01\01\01\01\01\01\10\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\11\0D\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\02\1E\14\1E\0F\0F!\22\10\10 \10", [16 x i8] c"\00\00\00\00\00\00\00\00\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\0356'7@ABCD=>?", [38 x i8] c"\12\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00#$%&\0F\0F\0F\22\10\10\10'", [16 x i8] c"\00\00\00\00\12\13\12\13\0D\0D\0D\11\0D\0D\0D\11", [16 x i8] c"\00\01\02\03EFGHIJKLMNOP", [38 x i8] c"\13\14\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\15\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\02\0C\14(\0F\0F!\22\10\10 ", [16 x i8] c"\00\00\00\00\00\0A\00\0A\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\03QRSTUVWXYZ[\\", [38 x i8] c"\16\17\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\18\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00)*+,\0F\0F\0F\22\10\10\10\10", [16 x i8] c"\00\00\00\00\14\15\16\17\0D\0D\0D\11\0D\0D\0D\18", [16 x i8] c"\00\01\02\03]^_`@AabD=cd", [38 x i8] c"\19\1A\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\1B\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00-./0\0F\0F!\22\10\10 \10", [16 x i8] c"\00\00\00\00\19\1A\1B\1C\0D\0D\11\11\0D\0D\11\1D", [16 x i8] c"\00\01\02\03efgh@ABCD=>?", [38 x i8] c"\1C\1D\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\1E\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\001234\0F\0F\0F\22\10\10\10\10", [16 x i8] c"\00\00\00\00\1E\1F !\0D\0D\0D\11\0D\0D\0D\1D", [16 x i8] c"\00\01\02\03ijklmAnop=qr", [38 x i8] c"\1F !\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\22\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\005678\0F\0F!\22\10\10 ", [16 x i8] c"\00\00\00\00\22#\22#\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\03stuvwxyz{|}~", [38 x i8] c"#$%\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\009:;<=\0F>\22?\10@ ", [16 x i8] c"\00\00\00\00$%$&'\0D(\11'\0D(\11", [16 x i8] c"\00\01\02\03\7F\80\81\82\83A\84\85\86=\87\88", [38 x i8] c"&'(\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00AB7C\0F\0F!\22\10\10 ", [16 x i8] c"\00\00\00\00\22)\22*\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\03\89\8A\8B\8CI\8D\8E\8FM\90\91\92", [38 x i8] c")*+\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00D$\0F\0F\0F\0F\10\10\10\10E&", [16 x i8] c"\00\00\00\00+,\0D\0D\0D\0D\0D\0D\0D\0D+,", [16 x i8] c"\00\01\02\03\93\94\19\1A\1B\1C\1D\1E\1F \95\96", [38 x i8] c",\01\01\01-\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01.\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00FG\06HI\18\18J\18KL\06", [16 x i8] zeroinitializer, [16 x i8] c"\00\01\02\03\97\98\10\99\9A\9B\9C\9D\9E\9F\A0\10", [38 x i8] c"/\01\01\01\01\010\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00MN-OP\0FQRS\10\10T", [16 x i8] c"\00\00\00\00\00\00-./\0D01/\0D23", [16 x i8] c"\00\01\02\03\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC", [38 x i8] c"1\01\012\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\013\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00U\02\14V\06\06\06W\18\18\18\19", [16 x i8] zeroinitializer, [16 x i8] c"\00\01\02\03\AD&'\AE\10\10\10\AF-./0", [38 x i8] c"4\01\01\01\015\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\016\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\02\1E\14\1E\0F\0F!\22\10\10 \10", [16 x i8] c"\00\00\00\00\00\00\00\00\0D\0D\114\0D\0D\115", [16 x i8] c"\00\01\02\0356'7@A\B0\B1D=\B2\B3", [38 x i8] c"78\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\02\02\02\02X\02Y\02\10\10\10\10\0F\0F\0F\0F", [16 x i8] c"\00\00\00\006\006\0077777777", [16 x i8] c"\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\BF\C0\C1\C2\C3", [38 x i8] c"9\01\01\01:\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01;<\01=" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"Z[\\]^_`a\10\10\10\10\0F\0F\0F\0F", [16 x i8] c"89:\00;\00<\0077777777", [16 x i8] c"\C4\C5\C6\C7\C8\C9\CA\CB\BC\BD\BE\BF\C0\C1\C2\C3", [38 x i8] c">\01\01\01?\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\11\07\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\02\02\02\02b\14cd\10\10\10\10\0F\0F\0F\0F", [16 x i8] c"\00\00\00\00=>=>77777777", [16 x i8] c"\B4\B5\B6\B7\CC\CD\CE\CF\BC\BD\BE\BF\C0\C1\C2\C3", [38 x i8] c"9\01\01\01@\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01;<\01A" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\06\06\06\06I\18\18\18\18e\18fge\18h", [16 x i8] zeroinitializer, [16 x i8] c"\10\10\10\10\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB", [38 x i8] c"\01\01\01\01\01\01\01\01\01\01\01\01\01\01B\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }], [20 x i8] c"\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\01\01\01\01\01", [10 x i16] [i16 0, i16 2, i16 4, i16 6, i16 8, i16 10, i16 12, i16 14, i16 16, i16 18], [20 x i16] [i16 1, i16 21, i16 3, i16 24, i16 5, i16 27, i16 7, i16 30, i16 9, i16 33, i16 11, i16 36, i16 13, i16 39, i16 15, i16 42, i16 17, i16 45, i16 19, i16 48], [45 x i8] c"\00\00\00\01\01\01\00\02\01\00\02\02\01\00\01\01\00\00\01\03\01\01\04\01\00\05\01\01\01\00\02\06\01\01\05\00\01\07\01\01\05\01\00\02\03", [3 x i16] [i16 0, i16 3, i16 11], [15 x i16] [i16 1, i16 3, i16 17, i16 0, i16 1, i16 3, i16 10, i16 12, i16 15, i16 20, i16 23, i16 0, i16 5, i16 7, i16 25], [3894 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\03\03\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\03\03\04\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\04\04\05\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\05\04\06\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\06\05\07\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\07\05\08\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\08\06\09\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\09\06\0A\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0A\07\0B\02\02\02\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\0B\08\0C\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0C\08\0D\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0D\09\0E\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0E\09\0F\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0F\0A\10\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\10\0A\11\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\11\0B\12\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\12\0B\13\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\13\0C\14\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\14\0C\15\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\15\0D\16\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\16\0D\17\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\17\0E\18\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\18\0E\19\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\19\0F\1A\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1A\0F\1B\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1B\10\1C\02\00\00\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01\1C\10\1D\02\00\00\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01\1D\11\1E\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1E\11\1F\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1F\12 \02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02 \12!\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02!\13\22\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\22\13#\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02#\14$\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02$\14%\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02%\15&\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01&\16'\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01'\16(\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01(\17)\01\04\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01)\17*\01\05\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01*\00+\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01+\07,\02\02\03\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01,\18-\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01-\18.\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01.\19/\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01/\18-\01\01\03\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\01\03\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\011\180\01\01\03\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\012\1A1\01\04\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\013\1A2\01\05\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\014\1B3\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\015\1B4\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\016\1C5\01\01\01\00\01\01\01\01\03\01\03\02\03\01\03\01\03\02\037\18-\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\011\180\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\012\18-\01\01\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\030\18.\01\01\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\031\180\01\01\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\032\1D6\02\03\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\038\18-\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01-\18.\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01.\180\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\019\18-\01\01\01\00\01\04\04\02\01\01\01\01\01\02\01\01\01\01\01-\18.\01\01\01\00\01\04\04\02\01\01\01\01\01\02\01\01\01\01\01.\1E\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\1F7\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01: \02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\1C0\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\012\1C8\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01;!9\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04<\18-\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\010\18.\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\011\180\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\012\22\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02#:\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04=$\02\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04\02%\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\01\01\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01&;\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01>\18<\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01?'\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02(=\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01@)\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02*\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02+>\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01A,\02\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02-\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02\18-\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\011\180\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\012.?\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01B/@\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01C0\02\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\021A\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01D2B\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01E3C\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01F%\02\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\024D\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01G5E\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01H5F\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01I6G\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01J7H\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01K85\01\04\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01785\01\05\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\017\18-\01\01\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\01\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\011\180\01\01\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\0129I\03\06\01\00\01\03\03\02\02\02\02\01\01\02\02\02\02\01\01L\18-\01\01\01\00\01\01\01\02\03\02\03\01\01\02\03\02\03\01\01-\18.\01\01\01\00\01\01\01\02\03\02\03\01\01\02\03\02\03\01\01.\180\01\01\01\00\01\01\01\02\03\02\03\01\01\02\03\02\03\01\019 \02\01\03\01\00\01\01\01\02\02\02\02\01\04\02\02\02\02\01\04M\180\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\019:J\02\02\01\00\01\01\01\01\02\01\02\03\02\01\02\01\02\03\02N:K\02\02\01\00\01\01\01\01\02\01\02\03\02\01\02\01\02\03\02O\07L\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01P;M\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01QQ\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01U?5\01\01\01\00\01\03\03\02\02\02\02\01\01\02\02\02\02\01\01V@R\02\02\01\00\01\03\03\01\01\01\01\01\03\01\01\01\01\01\03WAS\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01XAT\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01YBU\02\02\01\00\01\03\03\01\01\01\01\01\03\01\01\01\01\01\03ZCV\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01[DW\01\04\01\00\01\01\01\01\02\01\02\04\05\01\02\01\02\04\05\\DW\01\05\01\00\01\01\01\01\02\01\02\04\05\01\02\01\02\04\05\\EX\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01]EY\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01^\07Z\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01_F[\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04`G\\\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04a\18-\01\03\01\00\01\01\01\01\02\01\02\01\02\01\02\01\02\01\020\18.\01\03\01\00\01\01\01\01\02\01\02\01\02\01\02\01\02\01\021\180\01\03\01\00\01\01\01\01\02\01\02\01\02\01\02\01\02\01\022H5\01\04\01\00\01\01\01\01\02\01\01\01\05\01\02\01\01\01\057H5\01\05\01\00\01\01\01\01\02\01\01\01\05\01\02\01\01\01\057H5\01\01\01\00\01\01\01\01\01\01\01\02\03\01\01\01\01\02\037I]\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01bI^\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01cJ_\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01d\18-\04\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01-\18.\04\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01.\180\04\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\019K`\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01eLa\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01fLb\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01gL(\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01(Mc\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01hMd\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01iHe\01\01\01\00\01\01\01\01\01\01\01\02\03\01\01\01\01\02\03jNf\01\04\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01kNf\01\05\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01kOg\01\03\01\00\01\01\01\02\03\02\03\03\02\02\03\02\03\03\02lPh\01\01\01\00\01\02\02\01\01\01\01\01\01\01\01\01\01\01\01mQi\01\03\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\01nQj\01\03\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\01oQk\01\03\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\01pR5\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01V\07L\02\02\03\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01PSl\02\02\01\00\01\01\01\01\03\01\03\02\03\01\03\01\03\02\03qSm\02\02\01\00\01\01\01\01\03\01\03\02\03\01\03\01\03\02\03rT\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02#n\02\02\01\00\01\01\01\01\01\01\02\01\01\01\01\01\02\01\01sUo\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01tVp\02\02\01\00\01\01\01\01\02\01\01\03\01\01\02\01\01\03\01uWq\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01vXr\01\01\01\00\01\01\01\02\01\01\01\01\01\02\01\01\01\01\01w%\02\02\02\01\00\01\01\01\01\02\01\02\03\02\01\02\01\02\03\02\02YR\02\02\01\00\01\01\01\01\01\01\01\02\03\01\01\01\01\01\01WZs\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01x", [22 x i16] [i16 0, i16 91, i16 207, i16 212, i16 219, i16 223, i16 224, i16 226, i16 231, i16 236, i16 239, i16 243, i16 246, i16 250, i16 255, i16 261, i16 264, i16 268, i16 271, i16 275, i16 280, i16 286], [407 x i16] [i16 0, i16 5, i16 25, i16 35, i16 66, i16 97, i16 128, i16 159, i16 176, i16 207, i16 238, i16 269, i16 300, i16 331, i16 362, i16 393, i16 424, i16 459, i16 490, i16 521, i16 552, i16 583, i16 601, i16 630, i16 697, i16 720, i16 747, i16 768, i16 785, i16 799, i16 816, i16 821, i16 833, i16 845, i16 859, i16 864, i16 878, i16 883, i16 888, i16 906, i16 911, i16 923, i16 928, i16 933, i16 943, i16 948, i16 953, i16 963, i16 975, i16 980, i16 992, i16 1004, i16 1016, i16 1030, i16 1047, i16 1059, i16 1073, i16 1078, i16 1111, i16 1149, i16 1161, i16 1173, i16 1190, i16 1202, i16 1211, i16 1225, i16 1244, i16 1258, i16 1270, i16 1282, i16 1326, i16 1338, i16 1350, i16 1355, i16 1376, i16 1388, i16 1402, i16 1425, i16 1457, i16 1469, i16 1483, i16 1497, i16 1535, i16 1540, i16 1559, i16 1573, i16 1585, i16 1597, i16 1613, i16 1627, i16 1632, i16 0, i16 10, i16 30, i16 40, i16 51, i16 71, i16 82, i16 102, i16 113, i16 133, i16 144, i16 164, i16 181, i16 192, i16 212, i16 223, i16 243, i16 254, i16 274, i16 285, i16 305, i16 316, i16 336, i16 347, i16 367, i16 378, i16 398, i16 409, i16 429, i16 440, i16 464, i16 475, i16 495, i16 506, i16 526, i16 537, i16 557, i16 568, i16 588, i16 606, i16 615, i16 635, i16 644, i16 658, i16 667, i16 702, i16 711, i16 725, i16 742, i16 752, i16 759, i16 773, i16 778, i16 790, i16 804, i16 826, i16 838, i16 850, i16 869, i16 893, i16 697, i16 916, i16 938, i16 958, i16 968, i16 985, i16 997, i16 1009, i16 1021, i16 1035, i16 1040, i16 1052, i16 1064, i16 1083, i16 1116, i16 1123, i16 1134, i16 1154, i16 1166, i16 1178, i16 1183, i16 1195, i16 1216, i16 1230, i16 1235, i16 1249, i16 1263, i16 1275, i16 1287, i16 1296, i16 1311, i16 1331, i16 1343, i16 1360, i16 1367, i16 1381, i16 1393, i16 1407, i16 1416, i16 1430, i16 1437, i16 1448, i16 1462, i16 1474, i16 1488, i16 1502, i16 1511, i16 1520, i16 1545, i16 1550, i16 1564, i16 1578, i16 1590, i16 1602, i16 1618, i16 1637, i16 0, i16 12, i16 14, i16 1092, i16 30, i16 0, i16 14, i16 12, i16 593, i16 638, i16 649, i16 1095, i16 0, i16 16, i16 168, i16 680, i16 0, i16 0, i16 3, i16 1, i16 18, i16 16, i16 0, i16 793, i16 1, i16 18, i16 16, i16 0, i16 793, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 793, i16 18, i16 16, i16 1, i16 20, i16 18, i16 793, i16 0, i16 16, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 793, i16 18, i16 16, i16 1, i16 20, i16 18, i16 793, i16 0, i16 16, i16 3, i16 22, i16 32, i16 45, i16 58, i16 76, i16 89, i16 107, i16 120, i16 138, i16 151, i16 171, i16 186, i16 199, i16 217, i16 230, i16 248, i16 261, i16 279, i16 292, i16 310, i16 323, i16 341, i16 354, i16 372, i16 385, i16 403, i16 416, i16 434, i16 449, i16 469, i16 482, i16 500, i16 513, i16 531, i16 544, i16 562, i16 575, i16 595, i16 610, i16 622, i16 640, i16 652, i16 662, i16 683, i16 706, i16 715, i16 728, i16 732, i16 737, i16 744, i16 755, i16 763, i16 775, i16 781, i16 795, i16 808, i16 813, i16 829, i16 841, i16 854, i16 873, i16 896, i16 900, i16 919, i16 940, i16 960, i16 971, i16 988, i16 1000, i16 1012, i16 1025, i16 1037, i16 1043, i16 1055, i16 1068, i16 1098, i16 1108, i16 1119, i16 1128, i16 1141, i16 1157, i16 1169, i16 1180, i16 1186, i16 1198, i16 1207, i16 1220, i16 1232, i16 1239, i16 1253, i16 1266, i16 1278, i16 1291, i16 1303, i16 1318, i16 1334, i16 1346, i16 1363, i16 1371, i16 1384, i16 1397, i16 1411, i16 1420, i16 1433, i16 1442, i16 1452, i16 1465, i16 1478, i16 1492, i16 1506, i16 1515, i16 1527, i16 1547, i16 1554, i16 1568, i16 1581, i16 1593, i16 1607, i16 1622, i16 1641], [8250 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\00\00\00\00\01\00\00\00\00\01\00\01\01\01\01\00\01\01\01\01\00\01\00\01\01\01\01\01\01\01\00\00\00\00\00\00\02\02\02\02\02\02\02\02\02\02\02\02\02\02\01\01\01\01\02\01\01\01\01\02\01\02\02\02\02\01\02\02\02\02\01\02\01\02\02\02\02\02\02\00\00\00\00\00\00\00\03\03\03\03\03\03\03\03\03\03\03\03\03\03\02\02\02\02\03\02\02\02\02\03\02\03\03\03\03\02\03\03\03\03\02\03\02\03\03\03\03\03\03\02\00\00\00\00\00\00\04\04\04\04\04\04\04\04\04\04\04\04\04\04\03\03\03\03\04\03\03\03\03\04\03\04\04\04\04\03\04\04\04\04\03\04\03\04\04\04\03\03\03\02\00\00\00\00\00\00\03\03\03\03\03\03\03\03\03\03\03\03\03\05\02\02\02\02\03\02\02\02\02\03\02\03\03\03\03\02\03\03\03\03\02\03\02\03\03\03\03\03\03\02\00\00\00\00\00\00\04\04\04\04\04\04\04\04\04\04\04\04\04\06\03\03\03\03\04\03\03\03\03\04\03\04\04\04\04\03\04\04\04\04\03\04\03\04\04\04\03\03\03\02\00\00\00\00\00\00\04\04\04\04\04\04\04\04\04\04\04\04\04\06\03\03\03\03\04\03\03\03\03\04\03\04\04\04\04\03\04\04\04\04\03\04\03\04\04\04\04\04\04\03\00\00\00\00\00\00\05\05\05\05\05\05\05\03\03\03\03\03\03\05\04\04\04\04\05\04\04\04\04\05\04\05\05\05\05\04\05\05\05\05\04\05\04\05\03\03\03\03\03\02\00\00\00\00\00\00\06\06\06\06\06\06\06\04\04\04\04\04\04\06\05\05\05\05\06\05\05\05\05\06\05\06\06\06\06\05\06\06\06\06\05\06\05\06\04\04\03\03\03\02\00\00\00\00\00\00\00\00\00\00\00\00\00\03\05\03\03\03\05\05\00\00\00\00\00\00\00\00\00\00\00\00\05\05\05\06\07\05\07\05\04\05\04\05\05\05\05\05\05\04\00\00\00\00\00\00\00\00\00\00\00\00\00\04\06\04\04\04\06\06\00\00\00\00\00\00\00\00\00\00\00\00\06\06\06\07\08\06\08\06\05\06\05\06\05\05\05\05\05\04\00\00\00\00\00\00\05\05\05\05\05\05\05\03\03\03\03\03\03\05\04\04\04\04\05\04\04\04\04\05\04\05\05\05\05\04\09\07\05\05\04\05\04\05\03\03\03\03\03\02\00\00\00\00\00\00\06\06\06\06\06\06\06\04\04\04\04\04\04\06\05\05\05\05\06\05\05\05\05\06\05\06\06\06\06\05\0A\08\06\06\05\06\05\06\04\04\03\03\03\02\00\00\00\00\00\00\07\07\07\07\07\07\07\05\07\05\05\05\07\07\06\06\00\00\00\06\06\06\06\01\06\07\07\07\07\08\0B\09\09\07\06\07\06\07\05\05\06\06\01\01\00\00\00\00\00\00\07\07\07\08\08\08\07\06\08\06\06\06\08\08\06\06\00\00\00\07\07\06\06\01\06\07\07\07\07\08\0B\09\09\07\06\07\06\07\05\05\06\06\01\01\00\00\00\00\00\00\08\08\08\09\09\09\08\07\09\07\07\07\09\09\07\07\06\06\07\08\08\07\07\07\07\08\08\08\08\09\0C\0A\0A\08\07\08\07\08\05\05\07\06\01\01\00\00\00\00\00\00\09\09\09\0A\0A\0A\09\08\0A\08\08\08\0A\0A\08\08\07\07\08\09\09\08\08\08\08\09\09\09\09\0A\0D\0B\0B\09\08\09\08\09\05\05\07\06\01\01\00\00\00\00\00\00\0A\0A\0A\0B\0B\0B\0A\09\0B\09\09\09\0B\0B\09\09\08\08\09\0A\0A\09\09\09\09\0A\0A\0A\0A\0B\0E\0C\0C\0A\09\0A\09\0A\05\05\08\07\06\05\00\00\00\00\00\00\0B\0B\0B\0C\0C\0C\0B\0A\0C\0A\0A\0A\0C\0C\0A\0A\09\09\0A\0B\0B\0A\0A\0A\0A\0B\0B\0B\0B\0C\0F\0D\0D\0B\0A\0B\0A\0B\05\05\08\07\06\05\00\00\00\00\00\00\0C\0C\0C\0D\0D\0D\0C\0B\0D\0B\0B\0B\0D\0D\0B\0B\0A\0A\0B\0C\0C\0B\0B\0B\0B\0C\0C\0C\0C\0D\10\0E\0E\0C\0B\0C\0B\0C\06\06\09\08\04\03\00\00\00\00\00\00\0C\0C\0C\0D\0D\0D\0C\0B\0D\0B\0B\0B\0D\0D\0C\0C\0B\0B\0B\0C\0D\0C\0C\0B\0B\0C\0C\0C\0C\0D\10\0E\0E\0C\0C\0D\0C\0D\07\07\09\08\04\03\00\00\00\00\00\00\0D\0D\0D\0E\0E\0E\0D\0C\0E\0C\0C\0C\0E\0E\0D\0D\0C\0C\0C\0D\0E\0D\0D\0C\0C\0D\0D\0D\0D\0E\11\0F\0F\0D\0D\0E\0D\0E\08\08\0A\06\01\06\00\00\00\00\00\00\0E\0E\0E\0F\0F\0F\0E\0D\0F\0D\0D\0D\0F\0F\00\00\00\00\0D\00\00\00\00\01\00\00\0E\0E\0E\00\12\10\10\00\0E\0F\0E\0F\05\05\07\06\01\01\00\00\00\00\00\00\0E\0E\0E\0F\10\0F\0E\0D\0F\0D\0D\0E\0F\0F\00\00\00\00\0D\00\00\00\00\01\00\00\0E\0E\0E\00\12\10\10\00\0E\0F\0E\0F\05\05\07\06\01\01\00\00\00\00\00\00\0F\0F\0F\10\11\10\0F\0E\10\0E\0E\0F\10\10\0E\0E\0D\0D\0E\0E\0F\0E\0E\0D\0D\0E\0F\0F\0F\0F\13\11\11\0E\0F\10\0F\10\05\05\01\01\01\01\00\00\00\00\00\00\0F\0F\0F\10\11\10\0F\0E\10\0E\0E\0F\10\10\0E\0E\0D\0D\0E\0E\0F\0E\0E\0D\0D\0E\0F\0F\10\0F\13\11\11\0E\0F\10\0F\10\05\05\01\01\01\01\00\00\00\00\00\00\10\10\10\11\12\11\10\0F\11\0F\0F\10\11\11\0F\0F\0E\0E\0F\0F\10\0F\0F\0E\0E\0F\10\10\11\10\14\12\12\0F\10\11\10\11\05\05\0B\06\00\07\00\00\00\00\00\00\10\10\11\11\13\12\10\10\12\10\10\11\12\11\0F\10\0F\0E\10\10\11\0F\10\0F\0E\0F\10\11\12\10\15\13\13\0F\11\12\10\11\05\05\0C\06\00\07\00\00\00\00\00\00\11\11\12\12\14\13\11\11\13\11\11\12\13\12\10\11\10\0F\11\11\12\10\11\10\0F\10\11\12\13\11\16\14\14\10\12\13\11\12\05\05\0D\09\01\01\00\00\00\00\00\00\12\12\13\13\15\14\12\12\14\12\12\13\14\13\11\0E\0D\10\12\0E\0F\11\12\11\0D\11\12\13\14\12\17\15\15\11\13\14\12\13\05\05\01\0A\01\01\00\00\00\00\00\00\13\12\13\13\15\14\13\13\14\12\12\13\14\14\11\0E\0D\10\12\0E\0F\11\12\11\0D\11\12\13\14\12\17\15\15\11\13\14\12\13\05\05\01\0A\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\12\00\11\00\11\00\00\00\00\01\00\12\13\14\15\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\13\00\12\00\11\00\00\00\00\01\00\12\14\14\16\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\11\00\11\00\00\00\00\01\00\12\0E\0E\15\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\12\00\11\00\00\00\00\01\00\12\0E\0E\16\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\11\00\11\00\00\00\00\01\00\12\0E\0E\15\00\16\10\10\00\00\01\00\14\05\05\01\06\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\12\00\11\00\00\00\00\01\00\12\0E\0E\16\00\16\10\10\00\00\01\00\14\05\05\01\06\01\01\00\00\00\00\00\00\15\13\15\15\17\16\15\15\16\14\14\15\16\16\14\12\13\11\13\12\13\12\13\12\10\13\15\15\17\13\18\16\16\12\14\15\13\15\05\05\01\02\01\01\00\00\00\00\00\00\16\14\16\16\18\17\16\16\17\15\15\16\17\17\15\13\14\12\14\13\14\13\14\13\11\14\16\16\18\14\19\17\17\13\15\16\14\16\05\05\01\02\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\05\01\01\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\01\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\05\0F\0B\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\10\0C\07\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\04\04\04\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\11\0D\04\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\12\0E\04\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\0F\02\00\00\00\00\00\00\00\17\0D\17\0E\19\18\17\17\18\16\16\17\18\18\00\00\00\00\0D\00\00\14\00\01\00\00\17\17\19\15\1A\18\18\14\16\17\15\17\05\05\13\0B\01\01\00\00\00\00\00\00\18\0D\17\17\1A\19\18\18\19\17\17\18\19\19\16\0E\0D\0D\15\0E\0F\0E\12\0D\0D\15\18\18\1A\0F\1B\19\19\15\17\10\16\18\05\05\01\01\01\01\00\00\00\00\00\00\18\0D\17\18\1A\19\19\18\19\17\18\18\19\1A\16\0E\0D\0D\15\0E\0F\0E\12\0D\0D\15\18\18\1A\0F\1B\19\19\15\17\10\16\18\05\05\01\01\01\01\00\00\00\00\00\00\19\15\18\19\1B\1A\1A\19\1A\18\19\19\1A\1B\17\14\15\13\16\14\15\15\15\14\12\16\19\19\1B\16\1C\1A\1A\11\13\18\12\19\05\05\01\06\01\01\00\00\00\00\00\00\19\15\18\19\1B\1A\1A\1A\1B\19\1A\1A\1A\1C\17\14\16\13\16\14\15\15\15\14\12\16\19\19\1C\16\1C\1A\1A\11\13\18\12\19\05\05\01\06\01\01\00\00\00\00\00\00\1A\16\19\1A\1C\1B\1B\1B\1C\1A\1B\1B\1B\1D\18\15\0D\14\0E\15\16\16\16\15\13\17\1A\1A\1D\17\1D\1B\1B\16\18\19\17\1A\05\05\14\10\01\01\00\00\00\00\00\00\1B\17\1A\1B\1D\1C\1C\1C\1D\1B\1C\1C\1C\1E\19\16\03\15\17\16\17\17\17\16\14\18\1B\1B\04\18\1E\1C\1C\17\19\1A\18\1B\09\09\15\11\00\09\00\00\00\00\00\00\1C\18\1B\1C\1E\1D\1D\1D\1E\1C\1D\1D\1D\1F\1A\17\17\16\18\17\18\18\18\17\15\19\1C\1C\1E\19\1F\1D\1D\18\1A\1B\19\1C\05\05\16\06\01\01\00\00\00\00\00\00\1C\18\1B\1C\1E\1D\1D\1D\1E\1C\1D\1D\1D\1F\1B\18\17\17\19\18\19\19\19\18\15\1A\1C\1C\1E\19\1F\1E\1E\18\1A\1B\19\1C\05\05\16\06\01\01\00\00\00\00\00\00\1D\19\1C\1D\1F\1E\1E\1E\1F\1D\1E\1E\1E \11\0E\0D\10\0E\0E\0F\11\12\11\0D\0E\12\13\1F\1A\1C\15\15\11\13\14\12\1D\05\05\01\12\01\01\00\00\00\00\00\00\1D\1A\1D\1D \1F\1E\1E \1E\1E\1F\1F \11\0E\0D\10\0E\0E\0F\11\12\11\0D\0E\12\13\1F\1B\1C\15\15\11\13\14\12\1D\05\05\01\12\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\01\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\01\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\0B\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\0B\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\13\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\13\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\06\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\06\01\01\00\00\00\00\00\00\1E\1B\1E\1E\22 \22 !!\22\1C\1B\18\19\1A\19\1B\1C\1A\19\16\1D\1E\1F \1D \1B\1C\1D\1A \05\05\01\09\01\01\00\00\00\00\00\00\1E\1B\1F\1F# !#!!\22\22#\1C\1B\19\19\1A\19\1C\1D\1B\1A\16\1D\1F\1F!\1E! !\1C\1D\1E\1B!\05\05\01\09\01\01\00\00\00\00\00\00\1F\1C $!!\22$\22\22##$\1D\1C\1A\1A\1B\1A\1D\1E\1C\1B\17\1E \22\1F\22!\22\1D\1E\1F\1C\22\05\05\01\01\01\01\00\00\00\00\00\00\1F\1C $!!#$#\22##$\1D\1C\1B\1A\1C\1A\1D\1F\1C\1B\17\1F #\1F#\22\22\1E\1E\1F\1C#\05\05\01\01\01\01\00\00\00\00\00\00 \1D!!%\22\22$%$#$$%\1E\00\00\1B\11\1B\1E \1D\1C\00\00!!$ $##\1F\1F \15\17\05\05\01\01\01\01\00\00\00\00\00\00 \1D!\22%\22#$%$$$$&\1E\00\00\1B\11\1C\1E \1D\1C\00\00!!$ $$#\1F\1F \15\17\05\05\01\01\01\01\00\00\00\00\00\00!\1E\22#&#$%&%%%%'\1F\1D\1C\1C\1D\1D\1F!\1E\1D\18 \22\22%!%%$ !\1D$\05\05\01\01\01\01\00\00\00\00\00\00\22\1F#$'$%&'&&&&( \1E\1D\1D\1E\1E \22\1F\1E\19!##&\22&&%!!\22\1E%\00\00\17\01\00\0A\00\00\00\00\00\00# $%(%&'('''')!\1F\1E\1E\1F\1F!# \1F\1A\22$$'#''&\22\22#\1F&\00\00\17\01\00\0A\00\00\00\00\00\00$!%&)&'()((((*\22 \1F\1F \22$! \1B#%%($(('##$ '\0A\0A\09\08\04\03\00\00\00\00\00\00\0E\0E\0E\0F\0F\0F\0E\0D\0F\0D\0D\0D\0F\0F#! !!#%\22!\1C$&&)%))($$%!(\05\05\07\06\01\01\00\00\00\00\00\00\0E\0E\0E\0F\10\0F\0E\0D\0F\0D\0D\0E\0F\0F#!! !!#%\22!\1C$''*%))($$%!(\05\05\07\06\01\01\00\00\00\00\00\00%\22&'*'()*))))+\11\0E\22!\22\22$\11#\11\0D\11((+&**)%%&\12\13\05\05\18\0B\08\0B\00\00\00\00\00\00%\22&'*'(*+))**+\11\0E#\22##%\11#\11\0D\11)),'++*%%'\12\13\05\05\18\0B\08\0B\00\00\00\00\00\00&#'(+()+,**++,$\22$#$$&&$\22\1D%**-(,,+&&(\22)\05\05\0E\00\02\01\00\00\00\00\00\00'$(),)*,-++,,-%#%$%%''%#\1E&++.)--,'')#*\05\05\0E\00\02\01\00\00\00\00\00\00(%)*-*+-.,,--.\00$\00\00\01\00\00(\00\01\00\01,,/\00\01\10\10(\00\01\00\01\05\05\0E\01\01\01\00\00\00\00\00\00\00&*+.+,./--../\00\00\00\00&&()\00\01\1F\01--0*..-)\00*$\01\0B\0B\19\14\01\01\00\00\00\00\00\00\00'+,.,,.0...//\00\00\00\00'')*\00\01 \01..0+//.*\00+%\01\0B\0B\19\14\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/1///0\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\13\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/20001\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\13\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/1///0\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\02\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/20001\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\02\01\01\00\00\00\00\00\00)(,-0--0311120&%&%))++&%!'001-110+)-&,\0C\0C\1A\15\09\0C\01\00\01\01\01\00*)-.1..1422231'&'&**,,'&\22(112.221,*.'-\05\05\1B\0F\01\01\00\00\00\00\00\00+*./2//2533342('('++--('#)223/332-+/(.\05\05\1C\0F\01\01\00\00\00\00\00\00,+\1703003644453\11\0E\0D\10\12\0E\0F\11\12\11\0D\1133404\15\15.,0)/\05\05\01\16\01\01\00\00\00\00\00\00-,/14114755564)()(,,..)($*4451543/-1*0\0D\0D\1D\17\0A\0D\00\00\00\00\00\00\11\1D025\13\115866675*)*\0F--\12/*)%+55626540.2+1\05\05\01\01\01\01\00\00\00\00\00\00.-136226977786+*+)../0+*&,66737651/3,2\05\05\1E\18\01\01\00\00\00\00\00\00.-136236978787+*+)../0+*&,6674875203-3\05\05\1E\18\01\01\00\00\00\00\00\00/.247347:89898\11\0E\0D\10\0E/0\11\12\11\0D\1177\145986314.4\05\05\1F\19\01\01\00\00\00\00\00\00//358358:8:898\11\0E\0D\10\0E01\11\12\11\0D\1188\146997314.4\05\05\1F\19\01\01\00\00\00\00\00\000\01469469;9;9:9,+,*/121,+'-9987::8425/5\05\05 \01\01\01\00\00\00\00\00\000\0156:47:;:;:::,+,*/131,+'-:998::952605\05\05 \01\01\01\00\00\00\00\00\001067;58;<;<;;;-,-+0242-,(.;::9;;:63716\05\05!\06\01\01\00\00\00\00\00\002178<69<\0C\0A=<<<.\0A\09\09135\0A\0A\0A\0A\0B<\0B\0B\0C<<;\0B\0A\0B\0A\0B\05\05!\06\01\01\00\00\00\00\00\003289=7:==<>===/-\1F,2 63.-)/=;(:=(<74827\0E\0E\09\08\04\03\00\00\00\00\00\0043)*>*+>>,,>>.\00\00.\00\01\00\004\00\01\000,<;\00\01==8\00\01\008\05\05\09\08\04\03\00\00\00\00\00\00549:?8;??=???>\00.\00\003475\1D.\001>=<\00>>>95939\05\05\22\1A\04\03\00\00\00\00\00\00649:@9;@?=@@@>\00.\00\003575\1D.\002>=<\00>?>9593:\05\05\22\1A\04\03\00\00\00\00\00\007\18:;A:AAA?\11\0E/\104\0E\0F\11\12\11\0D\1133=\12?\15\15:\13\14\12\13\05\05\01\1B\01\01\00\00\00\00\00\0085;\0F;\1C@?;\0F\1C\0F;\05\05\01\06\01\01\00\00\00\00\00\00\17\0D\17=D\18\17CC@\0ED\10A\0E\0E\0D\0D\0E\0E\0F7\0E\0D\0D\11@?\10;\1C@?<\0F\1C\0F;\05\05\01\06\01\01\00\00\00\00\00\0097<>E<>DDACECB0/\0D-\12688//\0E3A@><\17A@=6:\10<\05\05\01\0B\01\01\00\00\00\00\00\0097DEADEDB0/\0D-\12688/0\0E3B@>=\17A@>7;\10=\05\05\01\0B\01\01\00\00\00\00\00\00 8=@F>\22\18FBEFE\19\00\06\00\1B\11\00\00 \1D\1C\00\12CA?\0F@BA\158<4>\05\05\01\0A\01\01\00\00\00\00\00\00 8=@F>#\18FCEFE\1A\00\06\00\1B\11\00\00 \1D\1C\00\12CA@\0F@BA\158<4>\05\05\01\0A\01\01\00\00\00\00\00\00 8=@F>\22$GDFGF%\00\06\00\1B\11\00\00 \1D\1C\00\12DBA $CB\1F\1F \15?\05\05\01\0A\01\01\00\00\00\00\00\00 8=@F>#$GEFGF&\00\06\00\1B\11\00\00 \1D\1C\00\12DBB $CB\1F\1F \15?\05\05\01\0A\01\01\00\00\00\00\00\00:9>AG??EHFGHGC1\0E\0D\10\0E79\11\12\0D\0D\11E\01C>\16DC\009=5@\05\05\01\0B\01\01\00\00\00\00\00\00:9>AG?@FHGGHGD1\0E\0D\10\0E79\11\12\0D\0D\11E\01C>\16DC\009=5@\05\05\01\0B\01\01\00\00\00\00\00\00;:?BH@AGIHHIHE200.58:901*4FCD?AED?:>6A\05\05\07\06\01\01\00\00\00\00\00\00<;@CIABHJIIJIF311/69;:12+5GDE@BFE@;?7B\05\05\07\06\01\01\00\00\00\00\00\00=B:E\05\05\07\06\01\01\00\00\00\00\00\00>=DDKCEJLKKLKH53318;=<34-7KHIDFJID?C;F\05\05%\0B\01\01\00\00\00\00\00\00\10\10E\11LD\10KMLLML\11\11\0E\0D\10\22\22$\11\12\11\0D\11((J\1AGKJ\11\13&\12\13\05\05\0B\06\00\07\00\00\00\00\00\00\10\10E\11MD\10LMLLNL\11\11\0E\0D\10##%\11\12\11\0D\11))J\1BHLK\11\13'\12\13\05\05\0C\06\00\07\00\00\00\00\00\00?7FENE>MNMMOMB\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13J\12\17MLE\13\14\12\13\05\05\01\06\01\01\00\00\00\00\00\00?7FEOE>MNMMPMB\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13J\12\17MLE\13\14\12\13\05\05\01\06\01\01\00\00\00\00\00\00@>GFPFFNONNQNI\004\002\0D<>>45.8LI\1FE\17NMF@D>45/8LI\1FE\17NMF@D=G\0F\0F&\1D\0C\0E\00\00\00\00\00\00?7HENEGMQPMROK\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13\07\12\17\15\15EAE>H\05\05\01\1E\01\01\00\00\00\00\00\00?7HEOEGMQPMSOK\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13\07\12\17\15\15EAE>H\05\05\01\1E\01\01\00\00\00\00\00\0010I7;5HORQ@@673RONILTSKGKDN\00\00)\1F\00\00\03\00\02\00\03\02GFP\02UKPWZX\02ZVT:;87=ACC9:6?SPOJMUTLHLEO\12\12*\02\02\00\00\00\00\00\00\00GFP\02UKPWZX\02ZVT\01\01\01\01\02\01\01\01\01\02\01\02\02\02\02\01\02\02\02\02\01\02\01\02\12\12*\02\02\00\00\00\00\00\00\00H\1D!LVL+X[$T[WU;$\00\1B\00BD \00\0170TQP NVU\1FIMFP\00\00\0E\00\02\00\00\00\00\00\00\00IGQMWMQY\\YU\\XV<<\008\00CED:;8@UR\0EKOWVMJNGQ\13\13\01\0A\01\00\00\00\00\00\00\00IGQNXMQY\\ZV]XV<=\008\00CEE:;8@US\0EKPWVNKNHR\14\14\01\0A\01\00\00\00\00\00\00\00JHROYNRZ][W^YW42207:<;23,6HEFACGFA<@8C\05\05\07\06\01\01\00\00\00\00\00\00K:?BH@A[^\\X_ZX=>99>DFF;<9AVTQLQXWOLOIS\05\05\07\06\01\01\00\00\00\00\00\00L\08::\08EGG<=:BWURM\0DYXPMPJT\05\05\07\06\01\01\00\00\00\00\00\00MISPZOS]`^Za\1CY??;;?FHH=>;CXVSNRZYQNQKU\04\15+\02\00\0F\00\00\00\00\00\00NJTQ[PT^a_[b\\Z@\06\00\00\00GII\06\01\06\07\07\07\07\08\0B\09\09EO\07\06\07\05\05,\01\01\01\00\00\00\00\00\00OKUR\\QU_b`\\c][A@<<@HJJ>?\18\15IKK\0E\0D>\11[YVP\0B\\[SQTNW\00\00.\02\00\00\00\00\00\00\00\00RMXS^SWbdc^e_(CB?=AJLL?@?E\\ZWQT&%TRUO%\00\00\17\01\00\0A\00\00\00\00\00\00SNYT_TXced_f`)DC@>BKMM@A@F][XRU'&USVP&\00\00\17\01\00\0A\00\00\00\00\00\00)OZU`UYdfe`ga]&%&%))++&%!'^\\YSV]\\VTWQX\15\16/\15\0E\10\00\00\00\00\00\00)OZU`UYdfe`ga]EDA?CLNNA%!'^\\YSV]\\VTWQX\15\160 \0F\11\00\00\00\00\00\00TP[VaVZdfe`ga]FEB@DMOOBBAG^\\YSV]\\VTWQX\15\161\15\10\01\00\00\00\00\00\00)OZU`UYegfahb^&%&%))++&%!'^\\YSV]\\VTWQX\15\162!\09\12\00\00\00\00\00\00", [50 x i16] [i16 0, i16 85, i16 166, i16 258, i16 345, i16 443, i16 530, i16 621, i16 723, i16 827, i16 930, i16 1028, i16 1133, i16 1232, i16 1327, i16 1398, i16 1468, i16 1535, i16 1600, i16 1669, i16 1747, i16 1827, i16 1907, i16 1974, i16 2041, i16 2107, i16 2179, i16 2274, i16 2367, i16 2457, i16 2541, i16 2628, i16 2722, i16 2815, i16 2902, i16 2987, i16 3075, i16 3157, i16 3246, i16 3268, i16 3291, i16 3342, i16 3376, i16 3393, i16 3412, i16 3416, i16 3417, i16 3420, i16 3422, i16 3426], [3429 x i16] [i16 1, i16 273, i16 463, i16 844, i16 1101, i16 858, i16 1122, i16 1977, i16 2348, i16 2594, i16 3018, i16 3253, i16 3606, i16 4397, i16 4635, i16 4806, i16 5023, i16 5441, i16 5662, i16 5858, i16 5884, i16 6040, i16 6288, i16 6938, i16 7125, i16 7310, i16 7573, i16 7838, i16 8226, i16 8624, i16 9025, i16 9539, i16 9921, i16 10130, i16 10434, i16 10640, i16 10937, i16 11606, i16 11946, i16 12190, i16 12640, i16 13317, i16 14931, i16 15189, i16 6952, i16 16066, i16 16636, i16 17024, i16 17365, i16 17819, i16 18049, i16 18224, i16 18661, i16 18735, i16 18983, i16 19067, i16 19176, i16 19479, i16 4589, i16 20213, i16 20433, i16 20653, i16 21280, i16 21712, i16 21810, i16 22607, i16 22680, i16 22719, i16 23133, i16 23665, i16 24019, i16 24674, i16 25025, i16 25183, i16 25483, i16 25641, i16 25844, i16 26175, i16 26395, i16 26524, i16 26932, i16 27130, i16 27204, i16 27426, i16 27844, i16 5, i16 276, i16 473, i16 846, i16 1104, i16 864, i16 1133, i16 1981, i16 2352, i16 2601, i16 3021, i16 3258, i16 3616, i16 4401, i16 4639, i16 4809, i16 5026, i16 5445, i16 5666, i16 6044, i16 6295, i16 7312, i16 7577, i16 7842, i16 8229, i16 8628, i16 8755, i16 9030, i16 9544, i16 9925, i16 10134, i16 10437, i16 10644, i16 10948, i16 11608, i16 11950, i16 12197, i16 2107, i16 12746, i16 12967, i16 13321, i16 14935, i16 15199, i16 15853, i16 16070, i16 16639, i16 17027, i16 17267, i16 17823, i16 18056, i16 18234, i16 18665, i16 18739, i16 19180, i16 19307, i16 19483, i16 19792, i16 20029, i16 20217, i16 20437, i16 20660, i16 21285, i16 21815, i16 22082, i16 22611, i16 22685, i16 22723, i16 23143, i16 23669, i16 24027, i16 24687, i16 25187, i16 25490, i16 26186, i16 4589, i16 26528, i16 26936, i16 27209, i16 27434, i16 27820, i16 27854, i16 9, i16 279, i16 480, i16 848, i16 1107, i16 872, i16 1148, i16 1985, i16 2356, i16 2608, i16 3024, i16 3263, i16 3626, i16 4405, i16 4643, i16 4812, i16 5029, i16 5255, i16 5449, i16 5670, i16 5888, i16 6048, i16 6302, i16 4895, i16 7314, i16 7581, i16 7846, i16 8232, i16 8632, i16 8760, i16 9035, i16 9301, i16 9549, i16 94, i16 10138, i16 10440, i16 10648, i16 10959, i16 11610, i16 11954, i16 12204, i16 12644, i16 12750, i16 12972, i16 13325, i16 14939, i16 15209, i16 16074, i16 16408, i16 16642, i16 17030, i16 17271, i16 17368, i16 17659, i16 17827, i16 18063, i16 18244, i16 18743, i16 19070, i16 19184, i16 19487, i16 19796, i16 276, i16 20221, i16 20441, i16 20667, i16 21048, i16 21132, i16 21290, i16 21635, i16 5678, i16 21820, i16 22151, i16 22255, i16 22391, i16 22615, i16 22727, i16 23153, i16 23672, i16 24032, i16 24697, i16 25191, i16 25497, i16 26193, i16 26399, i16 26534, i16 26940, i16 27135, i16 27215, i16 27444, i16 27824, i16 27864, i16 13, i16 282, i16 493, i16 850, i16 1110, i16 881, i16 1165, i16 1989, i16 2221, i16 2360, i16 2615, i16 3027, i16 3268, i16 3639, i16 4409, i16 4647, i16 4815, i16 5032, i16 5453, i16 5674, i16 5892, i16 6052, i16 6309, i16 7129, i16 7281, i16 7316, i16 7585, i16 7850, i16 8235, i16 8636, i16 9041, i16 9308, i16 9553, i16 9929, i16 10091, i16 10142, i16 10443, i16 10652, i16 10973, i16 11612, i16 11958, i16 12211, i16 12648, i16 12754, i16 12977, i16 13329, i16 14943, i16 15219, i16 15857, i16 16078, i16 16412, i16 16645, i16 17033, i16 17275, i16 17371, i16 17831, i16 18070, i16 18257, i16 18747, i16 19073, i16 19188, i16 19339, i16 19491, i16 19686, i16 19800, i16 20032, i16 20225, i16 20445, i16 21295, i16 21716, i16 21825, i16 22088, i16 22731, i16 23166, i16 23675, i16 24037, i16 25029, i16 25195, i16 25381, i16 25504, i16 26202, i16 26402, i16 26540, i16 27220, i16 27452, i16 27828, i16 27874, i16 17, i16 285, i16 503, i16 852, i16 1113, i16 890, i16 1182, i16 1993, i16 2228, i16 2364, i16 2622, i16 3030, i16 3273, i16 3649, i16 4413, i16 4651, i16 4791, i16 4818, i16 5035, i16 5259, i16 5457, i16 5678, i16 5896, i16 6056, i16 6316, i16 6942, i16 7133, i16 7318, i16 7589, i16 7854, i16 8238, i16 8640, i16 8765, i16 8827, i16 9046, i16 9314, i16 9557, i16 9933, i16 10147, i16 10446, i16 10656, i16 10984, i16 11616, i16 11962, i16 12218, i16 12652, i16 12758, i16 13129, i16 13333, i16 14947, i16 15229, i16 15861, i16 16082, i16 16416, i16 16648, i16 17036, i16 17279, i16 17374, i16 17663, i16 17835, i16 18077, i16 18267, i16 18669, i16 18751, i16 18988, i16 19076, i16 19192, i16 19343, i16 19437, i16 19495, i16 19804, i16 20035, i16 20229, i16 20449, i16 20674, i16 21300, i16 21638, i16 16919, i16 21720, i16 21796, i16 21830, i16 22735, i16 23176, i16 23678, i16 24042, i16 24707, i16 25033, i16 25199, i16 25387, i16 25513, i16 26209, i16 26406, i16 26546, i16 26944, i16 27225, i16 27460, i16 27832, i16 27884, i16 21, i16 288, i16 513, i16 854, i16 1116, i16 897, i16 1195, i16 1997, i16 2233, i16 2368, i16 2629, i16 3033, i16 3278, i16 3674, i16 4417, i16 4655, i16 4821, i16 5038, i16 5263, i16 5461, i16 5682, i16 5900, i16 6060, i16 6323, i16 6948, i16 7137, i16 7320, i16 7593, i16 7858, i16 8241, i16 8644, i16 8770, i16 9051, i16 9562, i16 9937, i16 10152, i16 10449, i16 10660, i16 10998, i16 11619, i16 11966, i16 12225, i16 12656, i16 12762, i16 12982, i16 13337, i16 14951, i16 15239, i16 15865, i16 16086, i16 16651, i16 17039, i16 17378, i16 17839, i16 18084, i16 18280, i16 18755, i16 18993, i16 19079, i16 19196, i16 19499, i16 19691, i16 19808, i16 20038, i16 20233, i16 20453, i16 20681, i16 21305, i16 21641, i16 21724, i16 21835, i16 22735, i16 23189, i16 23682, i16 24050, i16 24717, i16 25037, i16 25203, i16 25522, i16 7946, i16 26410, i16 26552, i16 26948, i16 27231, i16 27470, i16 27836, i16 27894, i16 25, i16 291, i16 523, i16 856, i16 1119, i16 1448, i16 1454, i16 2001, i16 2372, i16 2636, i16 3036, i16 3283, i16 3690, i16 4421, i16 4659, i16 4824, i16 273, i16 5465, i16 5686, i16 5863, i16 5904, i16 6064, i16 6330, i16 6952, i16 7141, i16 7286, i16 7322, i16 7597, i16 7862, i16 8244, i16 8648, i16 8831, i16 9057, i16 9567, i16 9941, i16 10096, i16 10156, i16 10452, i16 10664, i16 11015, i16 11621, i16 11970, i16 12232, i16 12660, i16 12766, i16 13341, i16 14955, i16 15249, i16 15869, i16 16090, i16 16654, i16 16919, i16 17042, i16 17283, i16 17381, i16 17668, i16 17843, i16 18091, i16 18296, i16 18759, i16 19082, i16 19200, i16 19503, i16 20041, i16 20181, i16 20237, i16 20457, i16 20688, i16 21052, i16 21310, i16 21840, i16 22155, i16 22259, i16 22398, i16 22619, i16 22690, i16 22727, i16 23205, i16 23685, i16 24055, i16 24727, i16 25207, i16 25529, i16 26222, i16 26413, i16 26558, i16 26952, i16 10488, i16 10728, i16 27840, i16 27904, i16 29, i16 294, i16 463, i16 858, i16 1122, i16 2005, i16 2238, i16 2376, i16 2643, i16 3039, i16 3288, i16 3700, i16 4397, i16 4663, i16 4827, i16 5041, i16 5267, i16 5441, i16 5690, i16 5868, i16 5908, i16 6068, i16 6337, i16 6956, i16 7145, i16 7324, i16 7502, i16 7601, i16 7866, i16 8247, i16 8652, i16 8835, i16 9062, i16 9320, i16 9572, i16 9820, i16 9945, i16 10160, i16 10455, i16 10668, i16 11026, i16 11625, i16 11815, i16 11974, i16 12239, i16 12664, i16 12770, i16 13133, i16 13345, i16 14959, i16 15259, i16 15873, i16 16094, i16 16420, i16 16657, i16 17045, i16 17287, i16 17384, i16 17672, i16 17847, i16 18098, i16 18306, i16 18673, i16 18763, i16 18998, i16 19085, i16 19205, i16 19347, i16 19507, i16 20044, i16 20185, i16 20241, i16 20461, i16 20695, i16 21315, i16 21644, i16 21695, i16 21728, i16 21845, i16 22263, i16 22405, i16 22623, i16 22695, i16 22739, i16 23215, i16 23688, i16 24060, i16 24674, i16 25041, i16 25211, i16 25536, i16 25645, i16 25851, i16 26175, i16 26417, i16 26564, i16 26956, i16 27140, i16 27238, i16 27482, i16 27844, i16 28220, i16 36, i16 301, i16 473, i16 864, i16 1133, i16 1792, i16 1878, i16 2016, i16 2251, i16 2384, i16 2658, i16 3046, i16 3301, i16 3719, i16 4401, i16 4672, i16 4836, i16 5048, i16 5275, i16 5469, i16 5697, i16 5916, i16 6076, i16 6352, i16 6965, i16 7153, i16 7333, i16 7513, i16 7609, i16 7882, i16 8257, i16 8663, i16 8775, i16 8844, i16 9075, i16 9334, i16 9584, i16 9953, i16 10169, i16 10461, i16 10679, i16 11046, i16 11634, i16 11825, i16 11981, i16 12252, i16 12671, i16 12781, i16 12987, i16 13142, i16 13271, i16 13355, i16 14965, i16 15275, i16 15880, i16 16104, i16 16427, i16 16669, i16 17055, i16 17391, i16 17854, i16 18325, i16 18678, i16 18771, i16 19092, i16 19213, i16 19312, i16 19355, i16 19517, i16 19696, i16 19812, i16 19936, i16 20053, i16 20253, i16 20473, i16 20718, i16 21327, i16 21651, i16 21736, i16 21853, i16 22094, i16 22159, i16 22270, i16 22417, i16 22630, i16 22703, i16 22758, i16 23237, i16 23696, i16 24082, i16 24687, i16 25048, i16 25217, i16 25551, i16 25652, i16 25864, i16 26186, i16 26427, i16 26579, i16 26964, i16 27245, i16 27495, i16 27854, i16 28227, i16 43, i16 309, i16 480, i16 872, i16 1148, i16 2028, i16 2264, i16 2395, i16 2679, i16 3057, i16 3322, i16 3738, i16 4425, i16 4684, i16 4844, i16 5056, i16 5285, i16 5474, i16 5704, i16 5923, i16 6084, i16 6367, i16 6971, i16 7159, i16 7343, i16 7524, i16 7620, i16 7895, i16 8267, i16 8673, i16 8786, i16 8850, i16 9084, i16 9344, i16 9592, i16 9833, i16 9958, i16 10177, i16 10465, i16 10686, i16 11066, i16 11640, i16 11992, i16 12273, i16 12677, i16 12791, i16 12998, i16 13149, i16 13279, i16 13365, i16 14974, i16 15300, i16 15895, i16 16114, i16 16434, i16 16681, i16 17065, i16 17396, i16 17680, i16 17865, i16 18344, i16 18780, i16 19100, i16 19221, i16 19362, i16 19530, i16 19820, i16 19922, i16 19944, i16 20015, i16 20058, i16 20195, i16 20265, i16 20485, i16 20741, i16 21338, i16 21660, i16 21747, i16 21861, i16 22104, i16 22170, i16 22280, i16 22436, i16 22637, i16 22780, i16 23259, i16 23703, i16 24101, i16 24697, i16 25227, i16 25392, i16 25566, i16 25662, i16 25883, i16 26193, i16 26436, i16 26591, i16 26970, i16 27149, i16 27253, i16 27510, i16 27864, i16 28234, i16 51, i16 317, i16 493, i16 881, i16 1165, i16 2039, i16 2276, i16 2403, i16 2694, i16 3065, i16 3337, i16 3760, i16 4432, i16 4691, i16 4852, i16 5062, i16 5293, i16 5481, i16 5712, i16 5932, i16 6090, i16 6378, i16 6977, i16 7166, i16 7291, i16 7353, i16 7535, i16 7630, i16 7911, i16 8275, i16 8682, i16 8856, i16 9093, i16 9355, i16 9600, i16 9965, i16 10101, i16 10185, i16 10471, i16 10697, i16 11089, i16 11645, i16 12002, i16 12292, i16 12684, i16 12803, i16 13012, i16 13157, i16 13288, i16 13375, i16 14984, i16 15328, i16 15909, i16 16124, i16 16443, i16 16693, i16 16923, i16 17074, i16 17298, i16 17402, i16 17873, i16 18111, i16 18344, i16 18790, i16 19007, i16 19108, i16 19229, i16 19537, i16 19710, i16 19826, i16 19950, i16 20064, i16 20273, i16 20493, i16 20756, i16 21351, i16 21667, i16 21753, i16 21870, i16 22114, i16 22805, i16 23284, i16 23710, i16 24120, i16 25054, i16 25232, i16 25398, i16 25581, i16 25671, i16 25900, i16 26202, i16 26445, i16 26602, i16 26976, i16 27261, i16 27525, i16 27874, i16 28241, i16 61, i16 326, i16 503, i16 890, i16 1182, i16 2050, i16 2292, i16 2410, i16 2707, i16 3071, i16 3348, i16 3779, i16 4441, i16 4699, i16 4796, i16 4861, i16 5069, i16 5301, i16 5457, i16 5719, i16 5941, i16 6098, i16 6393, i16 6986, i16 7176, i16 7363, i16 7546, i16 7641, i16 7928, i16 8287, i16 8692, i16 8796, i16 8865, i16 9105, i16 9369, i16 9610, i16 9974, i16 10193, i16 10477, i16 10708, i16 11109, i16 11652, i16 11833, i16 12013, i16 12313, i16 12689, i16 12816, i16 13167, i16 13299, i16 13385, i16 14994, i16 15356, i16 15925, i16 16134, i16 16453, i16 16706, i16 17084, i16 17410, i16 17687, i16 17879, i16 18122, i16 18366, i16 18684, i16 18799, i16 19017, i16 19117, i16 19237, i16 19369, i16 19442, i16 19543, i16 19833, i16 19957, i16 20073, i16 20279, i16 20499, i16 20767, i16 21363, i16 21674, i16 21703, i16 21759, i16 21801, i16 21881, i16 22177, i16 22245, i16 22287, i16 22449, i16 22821, i16 23306, i16 23714, i16 24130, i16 24707, i16 25065, i16 25241, i16 25409, i16 25600, i16 25678, i16 25913, i16 26209, i16 26456, i16 26614, i16 26984, i16 27269, i16 27540, i16 27884, i16 28248, i16 70, i16 336, i16 513, i16 897, i16 1195, i16 1800, i16 1893, i16 2063, i16 2309, i16 2417, i16 2720, i16 3081, i16 3367, i16 3813, i16 4446, i16 4708, i16 4868, i16 5077, i16 5310, i16 5489, i16 5727, i16 5952, i16 6105, i16 6406, i16 6994, i16 7183, i16 7373, i16 7650, i16 7946, i16 8295, i16 8701, i16 8806, i16 8871, i16 9115, i16 9380, i16 9620, i16 9980, i16 10201, i16 10483, i16 10719, i16 11132, i16 11662, i16 11846, i16 12023, i16 12332, i16 12695, i16 12828, i16 13026, i16 13175, i16 13308, i16 13395, i16 15004, i16 15384, i16 15940, i16 16144, i16 16460, i16 16721, i16 17096, i16 17416, i16 17888, i16 18139, i16 18388, i16 18691, i16 18808, i16 19027, i16 19127, i16 19246, i16 19552, i16 19717, i16 19840, i16 19964, i16 20077, i16 20287, i16 20507, i16 20782, i16 21373, i16 21682, i16 21767, i16 21890, i16 22186, i16 22296, i16 22466, i16 22843, i16 23331, i16 23723, i16 24155, i16 24717, i16 25073, i16 25250, i16 25619, i16 25685, i16 25926, i16 26466, i16 26627, i16 26990, i16 27280, i16 27561, i16 27894, i16 28255, i16 77, i16 343, i16 523, i16 904, i16 1208, i16 1448, i16 1454, i16 2075, i16 2323, i16 2425, i16 2735, i16 3087, i16 3378, i16 3838, i16 4453, i16 4714, i16 4878, i16 5083, i16 5496, i16 5734, i16 5876, i16 5960, i16 6115, i16 6425, i16 7003, i16 7191, i16 7302, i16 7379, i16 7557, i16 7659, i16 7955, i16 8305, i16 8714, i16 8880, i16 9125, i16 9391, i16 9629, i16 9987, i16 10111, i16 10210, i16 10488, i16 10728, i16 11158, i16 11669, i16 12030, i16 12345, i16 12701, i16 12839, i16 13405, i16 15014, i16 15412, i16 15956, i16 16154, i16 16470, i16 16734, i16 16937, i16 17107, i16 17424, i16 17694, i16 17894, i16 18150, i16 18413, i16 18818, i16 19135, i16 19254, i16 19376, i16 19559, i16 20084, i16 20202, i16 20295, i16 20515, i16 20797, i16 21383, i16 21900, i16 22127, i16 22192, i16 22302, i16 22477, i16 22644, i16 22711, i16 22862, i16 23359, i16 23729, i16 24171, i16 24727, i16 25082, i16 25255, i16 25630, i16 25694, i16 26222, i16 26471, i16 26640, i16 26997, i16 27904, i16 28262, i16 86, i16 533, i16 911, i16 1220, i16 1532, i16 1624, i16 2087, i16 2432, i16 2748, i16 3094, i16 3391, i16 3857, i16 4013, i16 4460, i16 4887, i16 5090, i16 5503, i16 5741, i16 5968, i16 6016, i16 6123, i16 6440, i16 7198, i16 7387, i16 7669, i16 7964, i16 8314, i16 8518, i16 9137, i16 9641, i16 9994, i16 10217, i16 10492, i16 10735, i16 11178, i16 11432, i16 12036, i16 12356, i16 13415, i16 15021, i16 15431, i16 16164, i16 16480, i16 16746, i16 17432, i16 17901, i16 18163, i16 18432, i16 19566, i16 20092, i16 20303, i16 20523, i16 20812, i16 21394, i16 22872, i16 23381, i16 23735, i16 24187, i16 24737, i16 25089, i16 25265, i16 25701, i16 25942, i16 26231, i16 26478, i16 26654, i16 27003, i16 27289, i16 27578, i16 13487, i16 27914, i16 90, i16 543, i16 915, i16 1227, i16 1545, i16 1648, i16 2091, i16 2436, i16 2755, i16 3098, i16 3398, i16 3867, i16 4038, i16 4465, i16 4891, i16 5094, i16 5317, i16 5507, i16 6127, i16 6447, i16 7393, i16 7673, i16 7971, i16 8321, i16 8526, i16 8887, i16 8974, i16 9141, i16 9645, i16 10224, i16 10496, i16 10742, i16 11194, i16 11436, i16 12040, i16 12363, i16 12707, i16 13421, i16 15025, i16 15441, i16 16170, i16 16484, i16 16750, i16 17437, i16 17905, i16 18457, i16 18826, i16 19570, i16 20307, i16 20527, i16 20819, i16 21401, i16 21910, i16 22309, i16 22490, i16 22888, i16 23397, i16 23740, i16 24196, i16 24744, i16 25269, i16 25419, i16 25705, i16 26242, i16 26660, i16 27007, i16 27295, i16 27588, i16 13492, i16 27921, i16 94, i16 553, i16 919, i16 1234, i16 1550, i16 1657, i16 2440, i16 2762, i16 3102, i16 3405, i16 3877, i16 4069, i16 4470, i16 4895, i16 5098, i16 5322, i16 5449, i16 5972, i16 6021, i16 6131, i16 6454, i16 7399, i16 7566, i16 8328, i16 9147, i16 9404, i16 9649, i16 9842, i16 10232, i16 10500, i16 10749, i16 11213, i16 11440, i16 11574, i16 11677, i16 11854, i16 12044, i16 12370, i16 13427, i16 15029, i16 15451, i16 16176, i16 5453, i16 16754, i16 17441, i16 17909, i16 18698, i16 19144, i16 20311, i16 20531, i16 20826, i16 21406, i16 22913, i16 23422, i16 23745, i16 24205, i16 24754, i16 25709, i16 25949, i16 26253, i16 26666, i16 27011, i16 27156, i16 27301, i16 27598, i16 13497, i16 27928, i16 98, i16 563, i16 923, i16 1241, i16 1555, i16 1666, i16 2444, i16 2769, i16 3106, i16 3412, i16 3887, i16 4085, i16 4475, i16 4899, i16 5102, i16 5511, i16 5745, i16 6135, i16 6461, i16 7405, i16 7677, i16 7978, i16 8335, i16 8534, i16 8891, i16 9153, i16 9653, i16 9998, i16 10239, i16 10504, i16 10756, i16 11229, i16 11444, i16 11681, i16 11859, i16 12048, i16 12377, i16 13433, i16 15033, i16 15461, i16 16182, i16 16758, i16 17445, i16 17913, i16 18482, i16 19574, i16 20315, i16 20535, i16 20833, i16 21411, i16 21914, i16 22932, i16 23441, i16 23751, i16 24217, i16 24764, i16 25273, i16 25713, i16 25956, i16 26262, i16 26672, i16 27307, i16 27608, i16 13502, i16 27935, i16 102, i16 352, i16 573, i16 927, i16 1248, i16 1561, i16 1677, i16 2448, i16 2776, i16 3110, i16 3419, i16 3900, i16 4480, i16 4721, i16 4903, i16 5106, i16 5327, i16 5515, i16 5749, i16 6139, i16 6468, i16 2144, i16 7411, i16 7985, i16 8342, i16 8542, i16 9157, i16 9657, i16 9847, i16 10246, i16 10508, i16 10763, i16 11248, i16 11448, i16 11685, i16 11864, i16 12052, i16 12384, i16 12851, i16 13038, i16 13183, i16 13439, i16 15037, i16 15471, i16 16188, i16 16489, i16 16762, i16 17449, i16 17917, i16 18170, i16 18501, i16 18830, i16 19148, i16 20319, i16 20539, i16 20840, i16 21417, i16 22951, i16 23463, i16 23757, i16 24229, i16 24774, i16 25717, i16 26273, i16 26678, i16 27314, i16 27620, i16 13507, i16 27942, i16 106, i16 580, i16 931, i16 1255, i16 1566, i16 1686, i16 2095, i16 2338, i16 2452, i16 2783, i16 3114, i16 3426, i16 3907, i16 4485, i16 4907, i16 5110, i16 5332, i16 5519, i16 6143, i16 6475, i16 7417, i16 7681, i16 7992, i16 8349, i16 8550, i16 9162, i16 9661, i16 10002, i16 10119, i16 10254, i16 10512, i16 10770, i16 11255, i16 11452, i16 11689, i16 11869, i16 12056, i16 12391, i16 12855, i16 13043, i16 13187, i16 13445, i16 15041, i16 15481, i16 16194, i16 16492, i16 16766, i16 17117, i16 17309, i16 17454, i16 17921, i16 18177, i16 18834, i16 19039, i16 19578, i16 20096, i16 20323, i16 20543, i16 20847, i16 21422, i16 21918, i16 22958, i16 23470, i16 23762, i16 24238, i16 24784, i16 25093, i16 25277, i16 25721, i16 25963, i16 26280, i16 26482, i16 26684, i16 27015, i16 27318, i16 27627, i16 13512, i16 27949, i16 110, i16 587, i16 935, i16 1262, i16 1573, i16 1699, i16 2099, i16 2343, i16 2456, i16 2790, i16 3118, i16 3433, i16 3917, i16 4104, i16 4490, i16 4911, i16 5114, i16 5337, i16 5523, i16 6148, i16 6484, i16 7423, i16 7685, i16 7999, i16 8356, i16 8560, i16 8895, i16 9168, i16 9411, i16 9665, i16 10006, i16 10263, i16 10516, i16 10777, i16 11265, i16 11456, i16 11693, i16 11874, i16 12060, i16 12398, i16 12859, i16 13048, i16 13191, i16 13451, i16 15045, i16 15491, i16 16200, i16 16770, i16 17121, i16 17314, i16 17459, i16 17703, i16 17925, i16 18184, i16 18508, i16 18838, i16 19582, i16 20100, i16 20327, i16 20547, i16 20854, i16 21427, i16 21922, i16 22971, i16 23483, i16 23768, i16 24250, i16 24791, i16 25097, i16 25281, i16 25725, i16 25970, i16 26287, i16 26486, i16 26690, i16 27019, i16 27323, i16 27635, i16 13517, i16 27956, i16 114, i16 597, i16 939, i16 1269, i16 1578, i16 1708, i16 2103, i16 2460, i16 2797, i16 3122, i16 3440, i16 3927, i16 4120, i16 4495, i16 4915, i16 5118, i16 5527, i16 5753, i16 6153, i16 6493, i16 7010, i16 7429, i16 7689, i16 8006, i16 8363, i16 8569, i16 8899, i16 8979, i16 9173, i16 9417, i16 9669, i16 9852, i16 10010, i16 10272, i16 10520, i16 10784, i16 11281, i16 11460, i16 12064, i16 12405, i16 12711, i16 12863, i16 13053, i16 13457, i16 15049, i16 15501, i16 16206, i16 16496, i16 16774, i16 4584, i16 17929, i16 18521, i16 18702, i16 18842, i16 19384, i16 19450, i16 19586, i16 20331, i16 20551, i16 20861, i16 21432, i16 21773, i16 21926, i16 22984, i16 23496, i16 23773, i16 24259, i16 24801, i16 25285, i16 25424, i16 25729, i16 25977, i16 26298, i16 26490, i16 26696, i16 27023, i16 27328, i16 27643, i16 13522, i16 27963, i16 118, i16 607, i16 943, i16 1276, i16 1581, i16 1713, i16 2107, i16 2464, i16 2804, i16 3126, i16 3447, i16 3934, i16 4316, i16 4500, i16 4919, i16 5122, i16 5342, i16 5531, i16 5757, i16 6157, i16 6500, i16 7435, i16 7693, i16 8013, i16 8370, i16 8579, i16 9177, i16 9422, i16 5441, i16 10014, i16 10282, i16 10524, i16 10791, i16 11297, i16 11464, i16 11612, i16 12068, i16 12412, i16 13463, i16 15053, i16 15511, i16 16212, i16 16500, i16 16778, i16 17466, i16 17933, i16 18537, i16 19590, i16 20335, i16 20555, i16 20868, i16 21437, i16 21930, i16 23003, i16 23515, i16 23778, i16 24268, i16 24811, i16 25289, i16 25733, i16 25984, i16 26307, i16 26702, i16 27333, i16 27651, i16 13527, i16 27970, i16 122, i16 356, i16 617, i16 947, i16 1283, i16 1587, i16 1724, i16 2468, i16 2811, i16 3130, i16 3454, i16 3944, i16 4505, i16 4923, i16 5126, i16 5348, i16 5535, i16 5761, i16 6161, i16 6507, i16 7441, i16 7697, i16 8020, i16 8377, i16 8588, i16 9183, i16 9429, i16 9673, i16 10018, i16 10291, i16 10528, i16 10798, i16 11319, i16 11468, i16 12072, i16 12419, i16 13195, i16 13469, i16 15057, i16 15521, i16 16218, i16 16504, i16 16782, i16 17471, i16 17937, i16 18565, i16 18846, i16 19594, i16 19725, i16 20339, i16 20559, i16 20875, i16 21444, i16 21934, i16 23034, i16 23546, i16 23783, i16 24277, i16 24821, i16 25293, i16 25737, i16 25991, i16 26318, i16 26708, i16 27339, i16 27661, i16 27977, i16 126, i16 627, i16 951, i16 1290, i16 1599, i16 1746, i16 2111, i16 2472, i16 2818, i16 3134, i16 3461, i16 3966, i16 4510, i16 4927, i16 5130, i16 5539, i16 6165, i16 6514, i16 7447, i16 7701, i16 8027, i16 8384, i16 9189, i16 5904, i16 10300, i16 10532, i16 10805, i16 11341, i16 11472, i16 12076, i16 12426, i16 12867, i16 13059, i16 13475, i16 15061, i16 15531, i16 16224, i16 4589, i16 16786, i16 17478, i16 17941, i16 18587, i16 20343, i16 20563, i16 20882, i16 21449, i16 21938, i16 22138, i16 22313, i16 22497, i16 23059, i16 23571, i16 23788, i16 24286, i16 24831, i16 25101, i16 25297, i16 25741, i16 25998, i16 26331, i16 26715, i16 27027, i16 27161, i16 27345, i16 27671, i16 27984, i16 130, i16 360, i16 637, i16 955, i16 1297, i16 1612, i16 1770, i16 2115, i16 2476, i16 2825, i16 3138, i16 3468, i16 3988, i16 4515, i16 4931, i16 5134, i16 5544, i16 5765, i16 5976, i16 6169, i16 6521, i16 7202, i16 7453, i16 7705, i16 8034, i16 8391, i16 8597, i16 8903, i16 8984, i16 9194, i16 9677, i16 9857, i16 10309, i16 10536, i16 10812, i16 11360, i16 11476, i16 12080, i16 12433, i16 13481, i16 15065, i16 15541, i16 16230, i16 16508, i16 16790, i16 17485, i16 17945, i16 18615, i16 18707, i16 18850, i16 19044, i16 19598, i16 20347, i16 20567, i16 20889, i16 21455, i16 21942, i16 22317, i16 22504, i16 23081, i16 23590, i16 23793, i16 24295, i16 24841, i16 25301, i16 25745, i16 26005, i16 26342, i16 26722, i16 27351, i16 27681, i16 27994, i16 134, i16 364, i16 647, i16 959, i16 1304, i16 1532, i16 1624, i16 2119, i16 2480, i16 2832, i16 3142, i16 3475, i16 4013, i16 4520, i16 4725, i16 4935, i16 5138, i16 5548, i16 5769, i16 5980, i16 6026, i16 6173, i16 6528, i16 7015, i16 7206, i16 7459, i16 7709, i16 8041, i16 8398, i16 8907, i16 9199, i16 9436, i16 9681, i16 10022, i16 10319, i16 10540, i16 10819, i16 11178, i16 11480, i16 11579, i16 11697, i16 11879, i16 12084, i16 12440, i16 12715, i16 12871, i16 13064, i16 13199, i16 13487, i16 15069, i16 15551, i16 15971, i16 16236, i16 16512, i16 16794, i16 17125, i16 17319, i16 17490, i16 17711, i16 17949, i16 18191, i16 18432, i16 18854, i16 19388, i16 19455, i16 19602, i16 19730, i16 19846, i16 19970, i16 20104, i16 20351, i16 20571, i16 20896, i16 21056, i16 21139, i16 21460, i16 21946, i16 22321, i16 22511, i16 22872, i16 23381, i16 23798, i16 24304, i16 24737, i16 25105, i16 25305, i16 25749, i16 26012, i16 26231, i16 26729, i16 27031, i16 27166, i16 27356, i16 27689, i16 27914, i16 142, i16 373, i16 663, i16 965, i16 1315, i16 1545, i16 1648, i16 2126, i16 2489, i16 2849, i16 3149, i16 3488, i16 4038, i16 4527, i16 4732, i16 4941, i16 5144, i16 5354, i16 5555, i16 5776, i16 5987, i16 6184, i16 6549, i16 7023, i16 7212, i16 7467, i16 7719, i16 8054, i16 8407, i16 8915, i16 8989, i16 9206, i16 9695, i16 10030, i16 10333, i16 10546, i16 10830, i16 11194, i16 11489, i16 11589, i16 11704, i16 11887, i16 12093, i16 12457, i16 12723, i16 12878, i16 13072, i16 13207, i16 13492, i16 15077, i16 15573, i16 15979, i16 16243, i16 16523, i16 16801, i16 17134, i16 17329, i16 17501, i16 17957, i16 18457, i16 18711, i16 18861, i16 19395, i16 19463, i16 19610, i16 19854, i16 19978, i16 20358, i16 20578, i16 20909, i16 21063, i16 21152, i16 21476, i16 21952, i16 22328, i16 22524, i16 22888, i16 23397, i16 23805, i16 24323, i16 24851, i16 25111, i16 25310, i16 25429, i16 25756, i16 26025, i16 26242, i16 26743, i16 27038, i16 27174, i16 27365, i16 27706, i16 27921, i16 151, i16 383, i16 553, i16 972, i16 1328, i16 1550, i16 1657, i16 2133, i16 2494, i16 2858, i16 3158, i16 3505, i16 4069, i16 4537, i16 4740, i16 4948, i16 5017, i16 5149, i16 5360, i16 5474, i16 5784, i16 5993, i16 6034, i16 6196, i16 6572, i16 7032, i16 7220, i16 7399, i16 7566, i16 7727, i16 8416, i16 8726, i16 9147, i16 9404, i16 9706, i16 9862, i16 10039, i16 10232, i16 10500, i16 10749, i16 11213, i16 11497, i16 11598, i16 11712, i16 11896, i16 12102, i16 12474, i16 12732, i16 12886, i16 13497, i16 15087, i16 15601, i16 15988, i16 16250, i16 16535, i16 16809, i16 17513, i16 17723, i16 17966, i16 18698, i16 18866, i16 19152, i16 19615, i16 19864, i16 19929, i16 19988, i16 20022, i16 20113, i16 20366, i16 20586, i16 20924, i16 21071, i16 21167, i16 21488, i16 21689, i16 22913, i16 23422, i16 23816, i16 24354, i16 24864, i16 25119, i16 25762, i16 26036, i16 26253, i16 26754, i16 27044, i16 27181, i16 27375, i16 27725, i16 27928, i16 157, i16 679, i16 977, i16 1337, i16 1555, i16 1666, i16 1808, i16 1908, i16 2138, i16 2502, i16 2873, i16 3163, i16 3514, i16 4085, i16 4544, i16 4953, i16 5156, i16 5564, i16 5790, i16 6204, i16 6587, i16 7038, i16 7476, i16 7735, i16 8065, i16 8426, i16 8731, i16 8820, i16 8923, i16 9214, i16 9444, i16 9714, i16 10045, i16 10349, i16 10553, i16 10843, i16 11229, i16 11504, i16 11720, i16 11905, i16 12108, i16 12485, i16 12891, i16 13081, i16 13216, i16 13502, i16 15093, i16 15617, i16 15995, i16 16257, i16 16545, i16 16814, i16 16951, i16 17144, i16 17340, i16 17528, i16 17739, i16 17971, i16 18482, i16 19403, i16 19622, i16 19739, i16 20120, i16 20372, i16 20592, i16 20935, i16 21076, i16 21176, i16 21501, i16 21959, i16 22932, i16 23441, i16 23823, i16 24373, i16 24877, i16 25316, i16 25771, i16 26053, i16 26262, i16 26764, i16 27049, i16 27381, i16 27736, i16 27935, i16 102, i16 352, i16 573, i16 983, i16 1348, i16 1561, i16 1677, i16 1815, i16 1921, i16 1943, i16 1955, i16 2144, i16 2511, i16 2890, i16 3110, i16 3419, i16 3900, i16 4550, i16 4721, i16 4959, i16 5162, i16 5368, i16 5515, i16 5749, i16 6213, i16 6604, i16 7045, i16 7226, i16 4903, i16 7743, i16 8076, i16 8435, i16 9222, i16 9453, i16 9725, i16 9871, i16 10051, i16 10246, i16 10508, i16 10763, i16 11248, i16 11512, i16 11728, i16 11914, i16 12115, i16 12498, i16 12851, i16 13038, i16 13223, i16 13507, i16 15100, i16 15636, i16 16002, i16 16264, i16 16555, i16 16824, i16 16962, i16 17152, i16 17542, i16 17917, i16 18170, i16 18501, i16 18872, i16 19148, i16 19870, i16 20379, i16 20599, i16 20948, i16 20319, i16 20840, i16 21513, i16 11685, i16 11864, i16 22951, i16 23463, i16 23830, i16 24392, i16 24890, i16 25125, i16 25322, i16 25436, i16 25779, i16 26273, i16 26775, i16 27314, i16 27620, i16 27942, i16 163, i16 389, i16 580, i16 988, i16 1357, i16 1566, i16 1686, i16 1950, i16 1968, i16 2148, i16 2519, i16 2905, i16 3114, i16 3426, i16 3907, i16 4554, i16 4745, i16 4964, i16 5169, i16 5376, i16 5571, i16 5796, i16 6219, i16 6615, i16 7050, i16 7231, i16 7417, i16 7751, i16 8081, i16 8444, i16 8605, i16 8929, i16 9162, i16 9735, i16 9882, i16 10056, i16 10124, i16 10356, i16 10559, i16 10854, i16 11255, i16 11520, i16 11734, i16 11921, i16 12122, i16 12511, i16 12897, i16 13088, i16 13230, i16 13512, i16 15106, i16 15652, i16 16271, i16 16562, i16 16832, i16 16972, i16 17158, i16 17349, i16 17550, i16 17977, i16 18206, i16 106, i16 18878, i16 19049, i16 19410, i16 19631, i16 19875, i16 19994, i16 20128, i16 20383, i16 20603, i16 20955, i16 21083, i16 21189, i16 21525, i16 11689, i16 11869, i16 21777, i16 21965, i16 17921, i16 18177, i16 22958, i16 23470, i16 23838, i16 24414, i16 24784, i16 25130, i16 25328, i16 25787, i16 26068, i16 26280, i16 26787, i16 27054, i16 27949, i16 168, i16 395, i16 587, i16 994, i16 1368, i16 1573, i16 1699, i16 1820, i16 1930, i16 2153, i16 2527, i16 2920, i16 3118, i16 3433, i16 4104, i16 4563, i16 4750, i16 4969, i16 5176, i16 5384, i16 5579, i16 5801, i16 6227, i16 6630, i16 7056, i16 7237, i16 7423, i16 7758, i16 8090, i16 8452, i16 8614, i16 8934, i16 9168, i16 9411, i16 9746, i16 10061, i16 10368, i16 10564, i16 10863, i16 11265, i16 11527, i16 11741, i16 11929, i16 12130, i16 12526, i16 12902, i16 13095, i16 13237, i16 13517, i16 15113, i16 15671, i16 16278, i16 16571, i16 16841, i16 17165, i16 17357, i16 17557, i16 17755, i16 17982, i16 18215, i16 18508, i16 18720, i16 18884, i16 19415, i16 19640, i16 19881, i16 20000, i16 20134, i16 20388, i16 20608, i16 20964, i16 21088, i16 21198, i16 21537, i16 11693, i16 11874, i16 21783, i16 21973, i16 17925, i16 18184, i16 22971, i16 23483, i16 23847, i16 24439, i16 24791, i16 25136, i16 25336, i16 25795, i16 26083, i16 26287, i16 26799, i16 27059, i16 27956, i16 173, i16 401, i16 692, i16 1000, i16 1379, i16 1578, i16 1708, i16 2158, i16 2534, i16 2933, i16 3169, i16 3525, i16 4120, i16 4570, i16 4976, i16 5185, i16 5590, i16 5806, i16 6235, i16 6645, i16 7062, i16 7243, i16 7766, i16 8006, i16 8461, i16 8942, i16 8998, i16 9238, i16 9470, i16 9758, i16 9894, i16 10067, i16 10272, i16 10569, i16 10872, i16 11281, i16 11534, i16 11748, i16 12138, i16 12541, i16 12738, i16 12907, i16 13102, i16 13522, i16 15120, i16 15690, i16 16007, i16 16285, i16 16585, i16 16848, i16 16982, i16 17172, i16 17568, i16 17767, i16 17987, i16 18521, i16 18702, i16 18890, i16 19158, i16 19422, i16 19472, i16 19647, i16 19749, i16 20393, i16 20613, i16 20973, i16 21093, i16 21207, i16 21550, i16 21789, i16 21980, i16 22651, i16 22984, i16 23496, i16 23855, i16 24461, i16 24801, i16 25343, i16 25443, i16 25802, i16 26096, i16 26298, i16 26812, i16 27067, i16 27389, i16 27751, i16 27963, i16 180, i16 705, i16 1006, i16 1390, i16 1581, i16 1713, i16 2165, i16 2542, i16 2948, i16 3176, i16 3538, i16 4136, i16 4316, i16 4575, i16 4755, i16 4982, i16 5191, i16 5394, i16 5595, i16 5813, i16 6245, i16 6664, i16 7071, i16 7250, i16 7774, i16 8101, i16 8468, i16 8947, i16 9245, i16 9478, i16 9770, i16 10074, i16 10382, i16 10576, i16 10885, i16 11297, i16 11542, i16 11758, i16 12147, i16 12558, i16 13244, i16 13527, i16 15128, i16 15712, i16 16017, i16 16292, i16 16593, i16 16858, i16 16994, i16 17180, i16 17583, i16 17994, i16 18537, i16 18897, i16 19656, i16 19759, i16 19887, i16 20140, i16 20401, i16 20621, i16 20988, i16 21100, i16 21220, i16 21561, i16 21986, i16 22199, i16 22336, i16 22539, i16 23003, i16 23515, i16 23863, i16 24483, i16 24903, i16 25142, i16 25351, i16 25452, i16 25810, i16 26111, i16 26307, i16 26494, i16 26824, i16 27075, i16 27395, i16 27762, i16 27970, i16 190, i16 410, i16 724, i16 1013, i16 1403, i16 1587, i16 1724, i16 2174, i16 2551, i16 2965, i16 3186, i16 3557, i16 4170, i16 3944, i16 4584, i16 4765, i16 4991, i16 5196, i16 5402, i16 5600, i16 5823, i16 6257, i16 6687, i16 7081, i16 7483, i16 7781, i16 8116, i16 8476, i16 8957, i16 9258, i16 9493, i16 9783, i16 10083, i16 10394, i16 10583, i16 10898, i16 11319, i16 11548, i16 11769, i16 11937, i16 12158, i16 12579, i16 12913, i16 13110, i16 13254, i16 13469, i16 15139, i16 15743, i16 16028, i16 16299, i16 16606, i16 16866, i16 17191, i16 17590, i16 17784, i16 18004, i16 18565, i16 18907, i16 19665, i16 19769, i16 19896, i16 20151, i16 20410, i16 20630, i16 21005, i16 21109, i16 21237, i16 21574, i16 21994, i16 22209, i16 22346, i16 22558, i16 23034, i16 23546, i16 23871, i16 24505, i16 24919, i16 25154, i16 25357, i16 25819, i16 26128, i16 26318, i16 26837, i16 27083, i16 27187, i16 27406, i16 27783, i16 27977, i16 198, i16 743, i16 1020, i16 1416, i16 1599, i16 1746, i16 2182, i16 2562, i16 2986, i16 3195, i16 3574, i16 4195, i16 3966, i16 4589, i16 4773, i16 4999, i16 5202, i16 5607, i16 5831, i16 6267, i16 6706, i16 7089, i16 7261, i16 7787, i16 8127, i16 8484, i16 9275, i16 9511, i16 9794, i16 10408, i16 10591, i16 10913, i16 11341, i16 11557, i16 12169, i16 12600, i16 12921, i16 13119, i16 13475, i16 15149, i16 15771, i16 16037, i16 16306, i16 16616, i16 16873, i16 17003, i16 17200, i16 17606, i16 17801, i16 18013, i16 18587, i16 18915, i16 19904, i16 20161, i16 20418, i16 20638, i16 21020, i16 21117, i16 21252, i16 21587, i16 22000, i16 22143, i16 22217, i16 22354, i16 22573, i16 23059, i16 23571, i16 23878, i16 24524, i16 24831, i16 25162, i16 25362, i16 25459, i16 25827, i16 26143, i16 26331, i16 26853, i16 27090, i16 27195, i16 27416, i16 27802, i16 27984, i16 207, i16 418, i16 759, i16 1027, i16 1429, i16 1612, i16 1770, i16 2189, i16 2571, i16 3003, i16 3203, i16 3589, i16 4220, i16 3988, i16 4592, i16 4782, i16 5008, i16 5211, i16 5616, i16 5840, i16 5998, i16 6277, i16 6725, i16 7098, i16 7271, i16 7492, i16 7794, i16 8140, i16 8494, i16 8737, i16 8965, i16 9004, i16 9288, i16 9525, i16 9807, i16 9907, i16 10419, i16 10598, i16 10926, i16 11360, i16 11565, i16 12179, i16 12619, i16 13262, i16 13481, i16 15158, i16 15796, i16 16047, i16 16316, i16 16623, i16 16883, i16 17014, i16 17210, i16 17623, i16 18021, i16 18615, i16 18726, i16 18924, i16 19056, i16 19428, i16 19677, i16 19782, i16 19913, i16 20006, i16 20171, i16 20425, i16 20645, i16 21033, i16 21124, i16 21265, i16 21600, i16 22007, i16 22226, i16 22363, i16 22590, i16 23081, i16 23590, i16 23888, i16 24552, i16 24932, i16 25173, i16 25368, i16 25466, i16 25836, i16 26160, i16 26342, i16 26876, i16 27098, i16 27994, i16 216, i16 427, i16 775, i16 1034, i16 1442, i16 0, i16 4248, i16 4347, i16 4598, i16 8153, i16 11382, i16 12930, i16 13532, i16 16326, i16 18637, i16 22015, i16 23107, i16 23615, i16 24945, i16 25375, i16 25474, i16 28004, i16 219, i16 430, i16 785, i16 1036, i16 1445, i16 0, i16 4261, i16 4375, i16 4598, i16 8160, i16 11410, i16 12933, i16 13539, i16 16333, i16 18649, i16 22018, i16 23120, i16 23643, i16 24965, i16 25378, i16 25479, i16 26353, i16 28011, i16 222, i16 433, i16 798, i16 1038, i16 1465, i16 1827, i16 2196, i16 2579, i16 3212, i16 4277, i16 4600, i16 5220, i16 5410, i16 5624, i16 6746, i16 6764, i16 6779, i16 6847, i16 6890, i16 7107, i16 7802, i16 8167, i16 8503, i16 10604, i16 11777, i16 12936, i16 13546, i16 15168, i16 15824, i16 16340, i16 16892, i16 17220, i16 17631, i16 18030, i16 18934, i16 19263, i16 19321, i16 21612, i16 22021, i16 22372, i16 22659, i16 23896, i16 24985, i16 26356, i16 26502, i16 26896, i16 27106, i16 28018, i16 28088, i16 28166, i16 28269, i16 243, i16 451, i16 832, i16 1063, i16 1492, i16 1853, i16 2212, i16 3226, i16 4304, i16 5653, i16 5849, i16 6007, i16 6807, i16 6876, i16 6917, i16 6929, i16 7817, i16 8199, i16 8746, i16 9014, i16 12955, i16 13578, i16 16057, i16 16351, i16 16910, i16 17257, i16 18966, i16 19167, i16 19285, i16 22045, i16 22235, i16 23919, i16 28116, i16 28312, i16 252, i16 460, i16 841, i16 1073, i16 1504, i16 1867, i16 3235, i16 6821, i16 11806, i16 13594, i16 16369, i16 19295, i16 22054, i16 26920, i16 28053, i16 28135, i16 28201, i16 261, i16 0, i16 1086, i16 1517, i16 1867, i16 3244, i16 4623, i16 5246, i16 6833, i16 8208, i16 10628, i16 11806, i16 13610, i16 16387, i16 22067, i16 26383, i16 28069, i16 28154, i16 28334, i16 0, i16 13628, i16 23929, i16 24574, i16 0, i16 0, i16 14004, i16 23961, i16 0, i16 14018, i16 0, i16 14901, i16 23971, i16 24610, i16 0, i16 24007, i16 24660], [372 x i8] c"\00\00\00\00\01\01\00\00\02\02\00\00\03\03\00\00\04\04\00\00\05\05\01\01\06\06\02\02\07\07\01\01\08\08\00\00\09\09\00\00\0A\0A\00\03\0A\0A\03\03\0B\0B\00\00\0C\0C\00\00\0D\0D\00\00\0E\0E\00\00\0F\0F\04\04\10\10\05\05\11\01\00\00\12\11\00\00\13\01\00\00\14\02\06\06\15\01\07\07\16\12\00\00\17\02\00\00\18\13\00\00\19\14\00\00\1A\01\00\00\1B\02\00\00\1C\15\00\00\00\00\08\08\1D\02\00\00\1E\02\00\00\1D\16\00\00\1F\17\00\00 \18\00\00!\19\00\00\1D\1A\00\00\22\1B\00\00#\02\00\00$\02\00\00%\02\00\00&\1C\00\00'\1D\00\00(\02\00\00)\02\00\00*\1E\09\09\1A\1F\00\00+\02\00\00, \0A\0A-!\00\00.\22\00\00/\1A\00\000#\00\001\01\00\002\1A\00\003$\0B\0B4$\0C\0C5%\0D\0D6&\0E\0E7'\00\00\00(\0F\0F8\01\00\002\02\00\009\02\00\00:\02\00\00;)\00\00<*\00\00=+\00\00>,\00\00\1D-\00\00?\01\10\10@\01\11\10A\1A\00\00B.\00\00C/\00\00D0\12\11E1\13\12;)\14\13\0C\0C\0E\14F2\15\15G3\16\16H4\17\17H4\17\18\0C\0C\18\19I+\00\00J,\00\00K5\19\1AL6\1A\1BM\01\1B\1CN7\1C\1DO8\1D\1EP9\00\00", [4 x i16] [i16 0, i16 81, i16 139, i16 169], [200 x i16] [i16 1, i16 13, i16 27, i16 43, i16 57, i16 73, i16 97, i16 121, i16 114, i16 85, i16 145, i16 173, i16 193, i16 217, i16 247, i16 281, i16 317, i16 369, i16 378, i16 396, i16 405, i16 422, i16 439, i16 459, i16 469, i16 489, i16 513, i16 520, i16 530, i16 561, i16 571, i16 591, i16 613, i16 635, i16 665, i16 687, i16 697, i16 711, i16 721, i16 739, i16 759, i16 769, i16 779, i16 815, i16 829, i16 908, i16 932, i16 960, i16 972, i16 996, i16 1003, i16 1013, i16 1048, i16 1078, i16 1106, i16 1142, i16 1180, i16 1189, i16 1199, i16 1209, i16 1229, i16 1249, i16 1267, i16 1297, i16 1316, i16 1334, i16 1344, i16 1362, i16 1380, i16 1438, i16 1492, i16 1517, i16 1564, i16 1610, i16 1619, i16 1630, i16 1670, i16 1698, i16 1720, i16 1747, i16 1783, i16 7, i16 20, i16 35, i16 50, i16 65, i16 79, i16 106, i16 134, i16 118, i16 92, i16 153, i16 183, i16 205, i16 233, i16 265, i16 294, i16 336, i16 388, i16 450, i16 479, i16 501, i16 545, i16 581, i16 603, i16 623, i16 647, i16 657, i16 678, i16 730, i16 749, i16 790, i16 806, i16 857, i16 921, i16 947, i16 981, i16 1028, i16 1090, i16 1120, i16 1154, i16 1165, i16 1219, i16 1239, i16 1258, i16 1278, i16 1289, i16 1354, i16 1371, i16 1393, i16 1445, i16 1499, i16 1526, i16 1572, i16 1642, i16 1680, i16 1729, i16 1757, i16 1792, i16 0, i16 85, i16 114, i16 167, i16 305, i16 346, i16 415, i16 433, i16 554, i16 799, i16 891, i16 1039, i16 1067, i16 1100, i16 1132, i16 1171, i16 1308, i16 1329, i16 1412, i16 1452, i16 1478, i16 1506, i16 1535, i16 1580, i16 1598, i16 1652, i16 1690, i16 1711, i16 1739, i16 1769, i16 0, i16 92, i16 118, i16 163, i16 312, i16 362, i16 419, i16 436, i16 558, i16 803, i16 898, i16 1042, i16 1071, i16 1103, i16 1137, i16 1174, i16 1312, i16 1422, i16 1465, i16 1481, i16 1485, i16 1510, i16 1545, i16 1585, i16 1591, i16 1605, i16 1661, i16 1693, i16 1715, i16 1743, i16 1776], [91141 x i16] [i16 7, i16 145, i16 4, i16 5352, i16 1159, i16 2868, i16 9485, i16 12504, i16 4, i16 38, i16 5, i16 3, i16 256, i16 576, i16 22623, i16 1154, i16 1623, i16 0, i16 19968, i16 20901, i16 1708, i16 747, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4, i16 10, i16 5, i16 4, i16 128, i16 480, i16 2038, i16 1693, i16 1947, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1154, i16 1154, i16 1986, i16 2440, i16 0, i16 4, i16 2, i16 5, i16 4, i16 128, i16 480, i16 1886, i16 1885, i16 1886, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2847, i16 2847, i16 2178, i16 5976, i16 0, i16 2, i16 0, i16 5, i16 6, i16 32, i16 64, i16 213, i16 212, i16 213, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4732, i16 4732, i16 0, i16 9496, i16 0, i16 4, i16 5, i16 5, i16 5, i16 64, i16 96, i16 409, i16 408, i16 409, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4944, i16 4944, i16 2193, i16 9976, i16 0, i16 1, i16 0, i16 4, i16 5, i16 128, i16 816, i16 13169, i16 13168, i16 13169, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5352, i16 5352, i16 0, i16 10360, i16 0, i16 1, i16 0, i16 5, i16 2, i16 512, i16 6176, i16 17172, i16 5999, i16 17172, i16 0, i16 -21504, i16 11171, i16 1111, i16 3125, i16 5352, i16 5352, i16 0, i16 -32216, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 5, i16 114, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 55, i16 246, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 92, i16 0, i16 0, i16 1155, i16 274, i16 372, i16 0, i16 1155, i16 300, i16 0, i16 0, i16 1155, i16 300, i16 0, i16 0, i16 1155, i16 331, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 390, i16 0, i16 0, i16 1155, i16 448, i16 498, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 547, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 730, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 798, i16 648, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 875, i16 786, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 916, i16 0, i16 0, i16 1155, i16 1075, i16 924, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 1433, i16 1502, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 1721, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 1780, i16 1634, i16 0, i16 1155, i16 1915, i16 498, i16 0, i16 1155, i16 2012, i16 1844, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 2049, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 2235, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 300, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 1, i16 680, i16 2383, i16 1986, i16 1, i16 680, i16 2880, i16 1986, i16 1, i16 680, i16 3369, i16 1986, i16 1, i16 680, i16 3871, i16 1986, i16 1, i16 680, i16 4373, i16 2016, i16 1, i16 680, i16 4869, i16 1986, i16 1, i16 680, i16 5366, i16 1986, i16 1, i16 680, i16 5868, i16 2016, i16 1, i16 680, i16 6369, i16 1986, i16 1, i16 680, i16 6952, i16 2058, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7976, i16 1986, i16 1, i16 680, i16 5868, i16 2016, i16 1, i16 680, i16 2880, i16 1986, i16 1, i16 680, i16 8476, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 8967, i16 2124, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 8967, i16 2124, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7976, i16 1986, i16 1, i16 680, i16 5868, i16 2016, i16 1, i16 680, i16 7478, i16 1986, i16 2, i16 1338, i16 3, i16 2178, i16 2, i16 1338, i16 3, i16 2178, i16 3, i16 212, i16 3, i16 0, i16 4, i16 6, i16 3, i16 2193, i16 5, i16 13168, i16 3, i16 0, i16 6, i16 17171, i16 3, i16 0, i16 1, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 21, i16 22, i16 23, i16 24, i16 30, i16 40, i16 44, i16 45, i16 50, i16 51, i16 52, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 120, i16 125, i16 126, i16 135, i16 137, i16 144, i16 157, i16 159, i16 160, i16 162, i16 167, i16 170, i16 172, i16 175, i16 177, i16 182, i16 183, i16 186, i16 188, i16 193, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 236, i16 237, i16 240, i16 241, i16 242, i16 243, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 458, i16 459, i16 460, i16 461, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 640, i16 651, i16 652, i16 654, i16 655, i16 669, i16 683, i16 685, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 698, i16 708, i16 711, i16 719, i16 720, i16 722, i16 724, i16 725, i16 726, i16 727, i16 728, i16 731, i16 732, i16 733, i16 735, i16 742, i16 743, i16 744, i16 745, i16 746, i16 747, i16 748, i16 756, i16 757, i16 758, i16 759, i16 761, i16 764, i16 765, i16 766, i16 767, i16 768, i16 774, i16 775, i16 776, i16 779, i16 780, i16 783, i16 784, i16 785, i16 786, i16 793, i16 798, i16 805, i16 806, i16 808, i16 810, i16 811, i16 812, i16 816, i16 818, i16 819, i16 820, i16 821, i16 826, i16 827, i16 828, i16 830, i16 831, i16 832, i16 833, i16 840, i16 843, i16 844, i16 859, i16 860, i16 862, i16 863, i16 877, i16 891, i16 893, i16 895, i16 896, i16 897, i16 898, i16 899, i16 900, i16 901, i16 902, i16 903, i16 906, i16 916, i16 919, i16 927, i16 928, i16 930, i16 932, i16 933, i16 934, i16 935, i16 936, i16 939, i16 940, i16 942, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 955, i16 963, i16 964, i16 965, i16 967, i16 970, i16 971, i16 972, i16 973, i16 979, i16 980, i16 981, i16 984, i16 985, i16 988, i16 989, i16 990, i16 991, i16 998, i16 1002, i16 1009, i16 1010, i16 1012, i16 1014, i16 1015, i16 1016, i16 1020, i16 1022, i16 1023, i16 1024, i16 1025, i16 1030, i16 1031, i16 1032, i16 1034, i16 1035, i16 1036, i16 1037, i16 1044, i16 1047, i16 1108, i16 1109, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 1117, i16 1118, i16 1119, i16 1120, i16 1121, i16 1122, i16 1123, i16 1124, i16 1125, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1132, i16 1133, i16 1134, i16 1139, i16 1140, i16 1141, i16 1142, i16 1143, i16 1147, i16 1157, i16 1158, i16 1183, i16 1184, i16 1185, i16 1186, i16 1187, i16 1188, i16 1189, i16 1190, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1206, i16 1207, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1235, i16 1236, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1242, i16 1243, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 1251, i16 1252, i16 1253, i16 1254, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1263, i16 1264, i16 1265, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1318, i16 1319, i16 1348, i16 1349, i16 1350, i16 1351, i16 1356, i16 1357, i16 1358, i16 1359, i16 1368, i16 1369, i16 1371, i16 1372, i16 1373, i16 1374, i16 1377, i16 1378, i16 1379, i16 1380, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 1390, i16 1391, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1400, i16 1403, i16 1404, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1418, i16 1419, i16 1420, i16 1421, i16 1422, i16 1423, i16 1424, i16 1425, i16 1426, i16 1427, i16 1428, i16 1429, i16 1430, i16 1431, i16 1432, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1440, i16 1441, i16 1442, i16 1443, i16 1444, i16 1445, i16 1446, i16 1447, i16 1448, i16 1449, i16 1450, i16 1451, i16 1452, i16 1453, i16 1454, i16 1455, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1481, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1507, i16 1513, i16 1520, i16 1521, i16 1523, i16 1529, i16 1530, i16 1531, i16 1533, i16 1536, i16 1537, i16 1540, i16 1542, i16 1543, i16 1544, i16 1545, i16 1548, i16 1551, i16 1552, i16 1554, i16 1555, i16 1558, i16 1559, i16 1560, i16 1562, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1571, i16 1578, i16 1584, i16 1585, i16 1587, i16 1593, i16 1596, i16 1598, i16 1601, i16 1602, i16 1605, i16 1607, i16 1608, i16 1609, i16 1610, i16 1613, i16 1616, i16 1617, i16 1619, i16 1620, i16 1623, i16 1624, i16 1625, i16 1627, i16 1629, i16 1630, i16 2, i16 25, i16 26, i16 27, i16 28, i16 29, i16 41, i16 48, i16 49, i16 132, i16 141, i16 151, i16 153, i16 155, i16 169, i16 185, i16 199, i16 200, i16 235, i16 299, i16 300, i16 301, i16 302, i16 304, i16 305, i16 307, i16 308, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 317, i16 318, i16 319, i16 320, i16 321, i16 323, i16 324, i16 325, i16 326, i16 328, i16 329, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 339, i16 341, i16 342, i16 344, i16 345, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 641, i16 642, i16 643, i16 644, i16 648, i16 649, i16 650, i16 653, i16 662, i16 663, i16 664, i16 665, i16 666, i16 682, i16 684, i16 705, i16 706, i16 707, i16 714, i16 715, i16 716, i16 721, i16 723, i16 730, i16 755, i16 760, i16 771, i16 772, i16 773, i16 794, i16 795, i16 796, i16 797, i16 807, i16 814, i16 815, i16 817, i16 823, i16 841, i16 842, i16 849, i16 850, i16 851, i16 852, i16 856, i16 857, i16 858, i16 861, i16 870, i16 871, i16 872, i16 873, i16 874, i16 890, i16 892, i16 913, i16 914, i16 915, i16 922, i16 923, i16 924, i16 929, i16 931, i16 938, i16 962, i16 966, i16 976, i16 977, i16 978, i16 999, i16 1000, i16 1001, i16 1011, i16 1018, i16 1019, i16 1021, i16 1027, i16 1045, i16 1046, i16 1048, i16 1084, i16 1085, i16 1086, i16 1087, i16 1088, i16 1089, i16 1090, i16 1091, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1099, i16 1100, i16 1101, i16 1102, i16 1103, i16 1104, i16 1105, i16 1106, i16 1107, i16 1110, i16 1137, i16 1138, i16 1144, i16 1145, i16 1146, i16 1154, i16 1155, i16 1156, i16 1159, i16 1175, i16 1176, i16 1177, i16 1178, i16 1179, i16 1180, i16 1181, i16 1182, i16 1191, i16 1192, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1310, i16 1311, i16 1312, i16 1313, i16 1314, i16 1315, i16 1316, i16 1317, i16 1346, i16 1347, i16 1352, i16 1353, i16 1354, i16 1355, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 1367, i16 1511, i16 1517, i16 1518, i16 1519, i16 1522, i16 1527, i16 1528, i16 1535, i16 1539, i16 1546, i16 1547, i16 1550, i16 1557, i16 1561, i16 1563, i16 1575, i16 1577, i16 1582, i16 1583, i16 1586, i16 1591, i16 1592, i16 1595, i16 1600, i16 1604, i16 1611, i16 1612, i16 1615, i16 1622, i16 1626, i16 1628, i16 4, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 322, i16 323, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 446, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 460, i16 464, i16 468, i16 472, i16 474, i16 475, i16 477, i16 478, i16 480, i16 482, i16 483, i16 485, i16 486, i16 488, i16 489, i16 490, i16 493, i16 494, i16 496, i16 497, i16 498, i16 501, i16 502, i16 504, i16 505, i16 506, i16 508, i16 509, i16 511, i16 512, i16 513, i16 514, i16 515, i16 516, i16 517, i16 518, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 714, i16 715, i16 716, i16 717, i16 718, i16 719, i16 720, i16 721, i16 722, i16 723, i16 724, i16 725, i16 726, i16 727, i16 728, i16 729, i16 730, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 737, i16 738, i16 739, i16 740, i16 741, i16 742, i16 743, i16 744, i16 745, i16 746, i16 747, i16 748, i16 749, i16 750, i16 751, i16 752, i16 755, i16 783, i16 784, i16 785, i16 788, i16 789, i16 790, i16 791, i16 792, i16 793, i16 794, i16 795, i16 796, i16 797, i16 798, i16 799, i16 800, i16 801, i16 802, i16 803, i16 804, i16 805, i16 806, i16 807, i16 808, i16 809, i16 810, i16 811, i16 812, i16 813, i16 814, i16 815, i16 816, i16 817, i16 818, i16 819, i16 824, i16 825, i16 828, i16 829, i16 830, i16 831, i16 832, i16 833, i16 834, i16 835, i16 840, i16 841, i16 842, i16 851, i16 852, i16 853, i16 854, i16 855, i16 856, i16 857, i16 858, i16 859, i16 860, i16 861, i16 864, i16 865, i16 868, i16 869, i16 870, i16 871, i16 874, i16 875, i16 876, i16 881, i16 882, i16 883, i16 884, i16 885, i16 886, i16 887, i16 888, i16 891, i16 892, i16 893, i16 894, i16 895, i16 896, i16 897, i16 904, i16 905, i16 908, i16 909, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 918, i16 919, i16 920, i16 921, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 929, i16 930, i16 931, i16 932, i16 933, i16 934, i16 935, i16 936, i16 937, i16 938, i16 939, i16 940, i16 941, i16 942, i16 943, i16 948, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 964, i16 965, i16 966, i16 967, i16 968, i16 969, i16 970, i16 971, i16 972, i16 977, i16 978, i16 979, i16 980, i16 981, i16 982, i16 983, i16 984, i16 987, i16 988, i16 989, i16 992, i16 993, i16 994, i16 995, i16 996, i16 997, i16 998, i16 999, i16 1000, i16 1001, i16 1002, i16 1003, i16 1004, i16 1005, i16 1006, i16 1007, i16 1008, i16 1012, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1023, i16 1024, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 1039, i16 1040, i16 1041, i16 1042, i16 1045, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 1058, i16 1059, i16 1060, i16 1061, i16 1062, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1072, i16 1073, i16 1074, i16 1078, i16 1079, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1103, i16 1104, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1112, i16 1113, i16 1116, i16 1117, i16 1120, i16 1121, i16 1122, i16 1123, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1138, i16 1139, i16 1140, i16 1143, i16 1144, i16 1145, i16 1146, i16 1147, i16 1148, i16 1149, i16 1150, i16 1151, i16 1152, i16 1153, i16 1154, i16 1155, i16 1156, i16 1157, i16 1158, i16 1159, i16 1160, i16 1161, i16 1162, i16 1163, i16 1164, i16 1169, i16 1170, i16 1173, i16 1174, i16 1175, i16 1176, i16 1177, i16 1178, i16 1183, i16 1184, i16 1185, i16 1186, i16 1189, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1244, i16 1245, i16 1246, i16 1249, i16 1250, i16 1251, i16 1252, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1265, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1281, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1298, i16 1299, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1314, i16 1315, i16 1318, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1328, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 1336, i16 1337, i16 1338, i16 1339, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 1360, i16 1369, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1404, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1427, i16 1428, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1481, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 1528, i16 1529, i16 1530, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 1539, i16 1540, i16 1541, i16 1542, i16 1543, i16 1544, i16 1545, i16 1546, i16 1547, i16 1548, i16 1549, i16 1550, i16 1551, i16 1552, i16 1553, i16 1554, i16 1555, i16 1556, i16 1557, i16 1558, i16 1559, i16 1560, i16 1561, i16 1562, i16 1563, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 1595, i16 1596, i16 1597, i16 1598, i16 1599, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1611, i16 1612, i16 1613, i16 1614, i16 1615, i16 1616, i16 1617, i16 1618, i16 1619, i16 1620, i16 1621, i16 1622, i16 1623, i16 1624, i16 1625, i16 1626, i16 1627, i16 1628, i16 1629, i16 1630, i16 1631, i16 1632, i16 1633, i16 1634, i16 1635, i16 1636, i16 1637, i16 1638, i16 1639, i16 1640, i16 1641, i16 1642, i16 1643, i16 1644, i16 1645, i16 1646, i16 1647, i16 1648, i16 1649, i16 1650, i16 1651, i16 1652, i16 1653, i16 1654, i16 1655, i16 1656, i16 1657, i16 1658, i16 1659, i16 1660, i16 1661, i16 1662, i16 1663, i16 1664, i16 1665, i16 1666, i16 1667, i16 1668, i16 1669, i16 1670, i16 1671, i16 1672, i16 1673, i16 1674, i16 1675, i16 1676, i16 1677, i16 1678, i16 1679, i16 1680, i16 1681, i16 1682, i16 1683, i16 1684, i16 1685, i16 1686, i16 1687, i16 1688, i16 1689, i16 1690, i16 1691, i16 1692, i16 1693, i16 1694, i16 1695, i16 1696, i16 1697, i16 1698, i16 1699, i16 1700, i16 1701, i16 1702, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 1717, i16 1718, i16 1719, i16 1720, i16 1721, i16 1722, i16 1723, i16 1724, i16 1725, i16 1726, i16 1727, i16 1728, i16 1729, i16 1730, i16 1731, i16 1732, i16 1733, i16 1734, i16 1735, i16 1736, i16 1737, i16 1738, i16 1739, i16 1740, i16 1741, i16 1742, i16 1743, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 1749, i16 1750, i16 1751, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 1758, i16 1759, i16 1760, i16 1761, i16 1762, i16 1763, i16 1764, i16 1765, i16 1766, i16 1767, i16 1768, i16 1769, i16 1770, i16 1771, i16 1772, i16 1773, i16 1774, i16 1775, i16 1776, i16 1777, i16 1778, i16 1779, i16 1780, i16 1781, i16 1782, i16 1783, i16 1784, i16 1785, i16 1786, i16 1787, i16 1788, i16 1789, i16 1790, i16 1791, i16 1792, i16 1793, i16 1794, i16 1795, i16 1796, i16 1797, i16 1798, i16 1799, i16 1800, i16 1801, i16 1802, i16 1803, i16 1804, i16 1805, i16 1806, i16 1807, i16 1808, i16 1809, i16 1810, i16 1811, i16 1812, i16 1813, i16 1814, i16 1815, i16 1816, i16 1817, i16 1818, i16 1819, i16 1820, i16 1821, i16 1822, i16 1823, i16 1824, i16 1825, i16 1826, i16 1827, i16 1828, i16 1829, i16 1830, i16 1831, i16 1832, i16 1833, i16 1834, i16 1835, i16 1836, i16 1837, i16 1838, i16 1839, i16 1840, i16 1841, i16 1842, i16 1843, i16 1844, i16 1845, i16 1846, i16 1847, i16 1848, i16 1849, i16 1850, i16 1851, i16 1852, i16 1853, i16 1854, i16 1855, i16 1856, i16 1857, i16 1858, i16 1859, i16 1860, i16 1861, i16 1862, i16 1863, i16 1864, i16 1865, i16 1866, i16 1867, i16 1868, i16 1869, i16 1870, i16 1871, i16 1872, i16 1873, i16 1874, i16 1875, i16 1876, i16 1877, i16 1878, i16 1879, i16 1880, i16 1881, i16 1882, i16 1883, i16 1884, i16 1885, i16 1886, i16 1887, i16 1888, i16 1889, i16 1890, i16 1891, i16 1892, i16 1893, i16 1894, i16 1895, i16 1896, i16 1897, i16 1898, i16 1899, i16 1900, i16 1901, i16 1902, i16 1903, i16 1904, i16 1905, i16 1906, i16 1907, i16 1908, i16 1909, i16 1910, i16 1911, i16 1912, i16 1913, i16 1914, i16 1915, i16 1916, i16 1917, i16 1918, i16 1919, i16 1920, i16 1921, i16 1922, i16 1923, i16 1924, i16 1925, i16 1926, i16 1927, i16 1928, i16 1929, i16 1930, i16 1931, i16 1932, i16 1933, i16 1934, i16 1935, i16 1936, i16 1937, i16 1938, i16 1939, i16 1940, i16 1941, i16 1942, i16 1943, i16 1944, i16 1945, i16 1946, i16 1947, i16 1948, i16 1949, i16 1950, i16 1951, i16 1952, i16 1953, i16 1954, i16 1955, i16 1956, i16 1957, i16 1958, i16 1959, i16 1960, i16 1961, i16 1962, i16 1963, i16 1964, i16 1965, i16 1966, i16 1967, i16 1968, i16 1969, i16 1970, i16 1971, i16 1972, i16 1973, i16 1974, i16 1975, i16 1976, i16 1977, i16 1978, i16 1979, i16 1980, i16 1981, i16 1982, i16 1983, i16 1984, i16 1985, i16 1986, i16 1987, i16 1988, i16 1989, i16 1990, i16 1991, i16 1992, i16 1993, i16 1994, i16 1995, i16 1996, i16 1997, i16 1998, i16 1999, i16 2000, i16 2001, i16 2002, i16 2003, i16 2004, i16 2005, i16 2006, i16 2007, i16 2008, i16 2009, i16 2010, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 458, i16 459, i16 460, i16 461, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 482, i16 483, i16 484, i16 485, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 494, i16 495, i16 496, i16 497, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 520, i16 521, i16 522, i16 523, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 714, i16 715, i16 716, i16 717, i16 718, i16 719, i16 720, i16 721, i16 722, i16 723, i16 724, i16 725, i16 726, i16 727, i16 728, i16 729, i16 730, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 737, i16 738, i16 739, i16 740, i16 741, i16 742, i16 743, i16 744, i16 745, i16 746, i16 747, i16 748, i16 749, i16 750, i16 751, i16 752, i16 753, i16 754, i16 755, i16 756, i16 757, i16 758, i16 759, i16 760, i16 761, i16 762, i16 763, i16 764, i16 765, i16 766, i16 767, i16 768, i16 769, i16 770, i16 771, i16 772, i16 773, i16 774, i16 775, i16 776, i16 777, i16 778, i16 779, i16 780, i16 781, i16 782, i16 783, i16 784, i16 785, i16 786, i16 787, i16 788, i16 789, i16 790, i16 791, i16 792, i16 793, i16 794, i16 795, i16 796, i16 797, i16 798, i16 799, i16 800, i16 801, i16 802, i16 803, i16 804, i16 805, i16 806, i16 807, i16 808, i16 809, i16 810, i16 811, i16 812, i16 813, i16 814, i16 815, i16 816, i16 817, i16 818, i16 819, i16 820, i16 821, i16 822, i16 823, i16 824, i16 825, i16 826, i16 827, i16 828, i16 829, i16 830, i16 831, i16 832, i16 833, i16 834, i16 835, i16 836, i16 837, i16 838, i16 839, i16 840, i16 841, i16 842, i16 843, i16 844, i16 845, i16 846, i16 847, i16 848, i16 849, i16 850, i16 851, i16 852, i16 853, i16 854, i16 855, i16 856, i16 857, i16 858, i16 859, i16 860, i16 861, i16 862, i16 863, i16 864, i16 865, i16 866, i16 867, i16 868, i16 869, i16 870, i16 871, i16 872, i16 873, i16 874, i16 875, i16 876, i16 877, i16 878, i16 879, i16 880, i16 881, i16 882, i16 883, i16 884, i16 885, i16 886, i16 887, i16 888, i16 889, i16 890, i16 891, i16 892, i16 893, i16 894, i16 895, i16 896, i16 897, i16 898, i16 899, i16 900, i16 901, i16 902, i16 903, i16 904, i16 905, i16 906, i16 907, i16 908, i16 909, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 918, i16 919, i16 920, i16 921, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 929, i16 930, i16 931, i16 932, i16 933, i16 934, i16 935, i16 936, i16 937, i16 938, i16 939, i16 940, i16 941, i16 942, i16 943, i16 944, i16 945, i16 946, i16 947, i16 948, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 964, i16 965, i16 966, i16 967, i16 968, i16 969, i16 970, i16 971, i16 972, i16 973, i16 974, i16 975, i16 976, i16 977, i16 978, i16 979, i16 980, i16 981, i16 982, i16 983, i16 984, i16 985, i16 986, i16 987, i16 988, i16 989, i16 990, i16 991, i16 992, i16 993, i16 994, i16 995, i16 996, i16 997, i16 998, i16 999, i16 1000, i16 1001, i16 1002, i16 1003, i16 1004, i16 1005, i16 1006, i16 1007, i16 1008, i16 1009, i16 1010, i16 1011, i16 1012, i16 1013, i16 1014, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1023, i16 1024, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 1037, i16 1038, i16 1039, i16 1040, i16 1041, i16 1042, i16 1043, i16 1044, i16 1045, i16 1046, i16 1047, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 1058, i16 1059, i16 1060, i16 1061, i16 1062, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1070, i16 1071, i16 1072, i16 1073, i16 1074, i16 1075, i16 1076, i16 1077, i16 1078, i16 1079, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1088, i16 1089, i16 1090, i16 1091, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1099, i16 1100, i16 1101, i16 1102, i16 1103, i16 1104, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 1117, i16 1118, i16 1119, i16 1120, i16 1121, i16 1122, i16 1123, i16 1124, i16 1125, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1132, i16 1133, i16 1134, i16 1135, i16 1136, i16 1137, i16 1138, i16 1139, i16 1140, i16 1141, i16 1142, i16 1143, i16 1144, i16 1145, i16 1146, i16 1147, i16 1148, i16 1149, i16 1150, i16 1151, i16 1152, i16 1153, i16 1154, i16 1155, i16 1156, i16 1157, i16 1158, i16 1159, i16 1160, i16 1161, i16 1162, i16 1163, i16 1164, i16 1165, i16 1166, i16 1167, i16 1168, i16 1169, i16 1170, i16 1171, i16 1172, i16 1173, i16 1174, i16 1175, i16 1176, i16 1177, i16 1178, i16 1179, i16 1180, i16 1181, i16 1182, i16 1183, i16 1184, i16 1185, i16 1186, i16 1187, i16 1188, i16 1189, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1206, i16 1207, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1235, i16 1236, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1242, i16 1243, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 1251, i16 1252, i16 1253, i16 1254, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1263, i16 1264, i16 1265, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1281, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1314, i16 1315, i16 1316, i16 1317, i16 1318, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 1367, i16 1368, i16 1369, i16 1370, i16 1371, i16 1372, i16 1373, i16 1374, i16 1375, i16 1376, i16 1377, i16 1378, i16 1379, i16 1380, i16 1381, i16 1382, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 1390, i16 1391, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1400, i16 1401, i16 1402, i16 1403, i16 1404, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1418, i16 1419, i16 1420, i16 1421, i16 1422, i16 1423, i16 1424, i16 1425, i16 1426, i16 1427, i16 1428, i16 1429, i16 1430, i16 1431, i16 1432, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1440, i16 1441, i16 1442, i16 1443, i16 1444, i16 1445, i16 1446, i16 1447, i16 1448, i16 1449, i16 1450, i16 1451, i16 1452, i16 1453, i16 1454, i16 1455, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1481, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 1528, i16 1529, i16 1530, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 1539, i16 1540, i16 1541, i16 1542, i16 1543, i16 1544, i16 1545, i16 1546, i16 1547, i16 1548, i16 1549, i16 1550, i16 1551, i16 1552, i16 1553, i16 1554, i16 1555, i16 1556, i16 1557, i16 1558, i16 1559, i16 1560, i16 1561, i16 1562, i16 1563, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 1595, i16 1596, i16 1597, i16 1598, i16 1599, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1611, i16 1612, i16 1613, i16 1614, i16 1615, i16 1616, i16 1617, i16 1618, i16 1619, i16 1620, i16 1621, i16 1622, i16 1623, i16 1624, i16 1625, i16 1626, i16 1627, i16 1628, i16 1629, i16 1630, i16 1631, i16 1632, i16 1633, i16 1634, i16 1635, i16 1636, i16 1637, i16 1638, i16 1639, i16 1640, i16 1641, i16 1642, i16 1643, i16 1644, i16 1645, i16 1646, i16 1647, i16 1648, i16 1649, i16 1650, i16 1651, i16 1652, i16 1653, i16 1654, i16 1655, i16 1656, i16 1657, i16 1658, i16 1659, i16 1660, i16 1661, i16 1662, i16 1663, i16 1664, i16 1665, i16 1666, i16 1667, i16 1668, i16 1669, i16 1670, i16 1671, i16 1672, i16 1673, i16 1674, i16 1675, i16 1676, i16 1677, i16 1678, i16 1679, i16 1680, i16 1681, i16 1682, i16 1683, i16 1684, i16 1685, i16 1686, i16 1687, i16 1688, i16 1689, i16 1690, i16 1691, i16 1692, i16 1693, i16 1694, i16 1695, i16 1696, i16 1697, i16 1698, i16 1699, i16 1700, i16 1701, i16 1702, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 1717, i16 1718, i16 1719, i16 1720, i16 1721, i16 1722, i16 1723, i16 1724, i16 1725, i16 1726, i16 1727, i16 1728, i16 1729, i16 1730, i16 1731, i16 1732, i16 1733, i16 1734, i16 1735, i16 1736, i16 1737, i16 1738, i16 1739, i16 1740, i16 1741, i16 1742, i16 1743, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 1749, i16 1750, i16 1751, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 1758, i16 1759, i16 1760, i16 1761, i16 1762, i16 1763, i16 1764, i16 1765, i16 1766, i16 1767, i16 1768, i16 1769, i16 1770, i16 1771, i16 1772, i16 1773, i16 1774, i16 1775, i16 1776, i16 1777, i16 1778, i16 1779, i16 1780, i16 1781, i16 1782, i16 1783, i16 1784, i16 1785, i16 1786, i16 1787, i16 1788, i16 1789, i16 1790, i16 1791, i16 1792, i16 1793, i16 1794, i16 1795, i16 1796, i16 1797, i16 1798, i16 1799, i16 1800, i16 1801, i16 1802, i16 1803, i16 1804, i16 1805, i16 1806, i16 1807, i16 1808, i16 1809, i16 1810, i16 1811, i16 1812, i16 1813, i16 1814, i16 1815, i16 1816, i16 1817, i16 1818, i16 1819, i16 1820, i16 1821, i16 1822, i16 1823, i16 1824, i16 1825, i16 1826, i16 1827, i16 1828, i16 1829, i16 1830, i16 1831, i16 1832, i16 1833, i16 1834, i16 1835, i16 1836, i16 1837, i16 1838, i16 1839, i16 1840, i16 1841, i16 1842, i16 1843, i16 1844, i16 1845, i16 1846, i16 1847, i16 1848, i16 1849, i16 1850, i16 1851, i16 1852, i16 1853, i16 1854, i16 1855, i16 1856, i16 1857, i16 1858, i16 1859, i16 1860, i16 1861, i16 1862, i16 1863, i16 1864, i16 1865, i16 1866, i16 1867, i16 1868, i16 1869, i16 1870, i16 1871, i16 1872, i16 1873, i16 1874, i16 1875, i16 1876, i16 1877, i16 1878, i16 1879, i16 1880, i16 1881, i16 1882, i16 1883, i16 1884, i16 1885, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 2, i16 1, i16 3, i16 1, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 457, i16 458, i16 459, i16 460, i16 461, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 482, i16 483, i16 484, i16 485, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 494, i16 495, i16 496, i16 497, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 520, i16 521, i16 522, i16 523, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 714, i16 715, i16 716, i16 717, i16 718, i16 719, i16 720, i16 721, i16 722, i16 723, i16 724, i16 725, i16 726, i16 727, i16 728, i16 729, i16 730, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 737, i16 738, i16 739, i16 740, i16 741, i16 742, i16 743, i16 744, i16 745, i16 746, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1188, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1206, i16 1207, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1235, i16 1236, i16 1187, i16 1190, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1242, i16 1243, i16 1187, i16 1190, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 1251, i16 1252, i16 1187, i16 1190, i16 1253, i16 1254, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1263, i16 1264, i16 1265, i16 1187, i16 1190, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1281, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1187, i16 1190, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1187, i16 1314, i16 1315, i16 1316, i16 1317, i16 1318, i16 1190, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1329, i16 1330, i16 1331, i16 1187, i16 1190, i16 1332, i16 1333, i16 1334, i16 1335, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 1187, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 1367, i16 1368, i16 1369, i16 1370, i16 1371, i16 1372, i16 1373, i16 1187, i16 1374, i16 1375, i16 1190, i16 1376, i16 1377, i16 1378, i16 1187, i16 1190, i16 1379, i16 1380, i16 1381, i16 1382, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 1187, i16 1190, i16 1390, i16 1391, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1400, i16 1401, i16 1402, i16 1403, i16 1404, i16 1187, i16 1190, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1187, i16 1190, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1418, i16 1419, i16 1420, i16 1421, i16 1422, i16 1423, i16 1187, i16 1190, i16 1424, i16 1425, i16 1426, i16 1427, i16 1428, i16 1429, i16 1430, i16 1431, i16 1432, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1440, i16 1441, i16 1442, i16 1443, i16 1444, i16 1445, i16 1446, i16 1447, i16 1448, i16 1449, i16 1450, i16 1451, i16 1452, i16 1453, i16 1454, i16 1455, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1187, i16 1190, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1187, i16 1190, i16 1481, i16 1187, i16 1190, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1187, i16 1190, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1187, i16 1513, i16 1514, i16 1515, i16 1190, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 1528, i16 1529, i16 1530, i16 1187, i16 1190, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 1539, i16 1540, i16 1541, i16 1542, i16 1543, i16 1544, i16 1545, i16 1546, i16 1547, i16 1548, i16 1549, i16 1550, i16 1551, i16 1552, i16 1553, i16 1554, i16 1555, i16 1556, i16 1557, i16 1558, i16 1559, i16 1560, i16 1561, i16 1562, i16 1563, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1187, i16 1187, i16 1187, i16 1190, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1187, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 1595, i16 1596, i16 1597, i16 1598, i16 1599, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1187, i16 1611, i16 1612, i16 1613, i16 1614, i16 1611, i16 1615, i16 1611, i16 1616, i16 1611, i16 1617, i16 1611, i16 1618, i16 1619, i16 1620, i16 1611, i16 1621, i16 1611, i16 1622, i16 1623, i16 1624, i16 1611, i16 1625, i16 1611, i16 1626, i16 1627, i16 1628, i16 1629, i16 1630, i16 1631, i16 1611, i16 1632, i16 1611, i16 1633, i16 1611, i16 1634, i16 1611, i16 1635, i16 1611, i16 1636, i16 1611, i16 1637, i16 1638, i16 1639, i16 1611, i16 1640, i16 1611, i16 1641, i16 1611, i16 1642, i16 1643, i16 1611, i16 1644, i16 1611, i16 1645, i16 1646, i16 1647, i16 1648, i16 1649, i16 1650, i16 1611, i16 1651, i16 1611, i16 1652, i16 1611, i16 1653, i16 1611, i16 1654, i16 1655, i16 1656, i16 1657, i16 1658, i16 1657, i16 1659, i16 1657, i16 1660, i16 1657, i16 1661, i16 1657, i16 1662, i16 1657, i16 1663, i16 1657, i16 1664, i16 1657, i16 1665, i16 1657, i16 1666, i16 1657, i16 1667, i16 1657, i16 1668, i16 1657, i16 1669, i16 1657, i16 1670, i16 1657, i16 1671, i16 1657, i16 1672, i16 1657, i16 1673, i16 1657, i16 1674, i16 1657, i16 1675, i16 1657, i16 1676, i16 1657, i16 1677, i16 1657, i16 1678, i16 1657, i16 1679, i16 1657, i16 1680, i16 1657, i16 1681, i16 1657, i16 1682, i16 1657, i16 1683, i16 1657, i16 1684, i16 1657, i16 1685, i16 1657, i16 1686, i16 1657, i16 1687, i16 1657, i16 1688, i16 1657, i16 1689, i16 1657, i16 1690, i16 1657, i16 1691, i16 1657, i16 1692, i16 1657, i16 1693, i16 1657, i16 1694, i16 1657, i16 1695, i16 1657, i16 1696, i16 1657, i16 1697, i16 1657, i16 1698, i16 1699, i16 1700, i16 1657, i16 1701, i16 1699, i16 1702, i16 1657, i16 1703, i16 1657, i16 1704, i16 1657, i16 1705, i16 1657, i16 1706, i16 1657, i16 1707, i16 1657, i16 1708, i16 1657, i16 1709, i16 1657, i16 1710, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1189, i16 1189, i16 1189, i16 1189, i16 1712, i16 1712, i16 1713, i16 1714, i16 1714, i16 1714, i16 1714, i16 1714, i16 1714, i16 1712, i16 1712, i16 1715, i16 1715, i16 1715, i16 1712, i16 1716, i16 1716, i16 1716, i16 1716, i16 1712, i16 1712, i16 1712, i16 1717, i16 1717, i16 1717, i16 1717, i16 1717, i16 1717, i16 1717, i16 1712, i16 1718, i16 1718, i16 1718, i16 1718, i16 1712, i16 1719, i16 1719, i16 1719, i16 1719, i16 1712, i16 1720, i16 1720, i16 1720, i16 1720, i16 1712, i16 1721, i16 1721, i16 1721, i16 1721, i16 1712, i16 1722, i16 1722, i16 1712, i16 1723, i16 1723, i16 1712, i16 1724, i16 1724, i16 1712, i16 1725, i16 1725, i16 1712, i16 1726, i16 1726, i16 1726, i16 1726, i16 1712, i16 1727, i16 1727, i16 1727, i16 1727, i16 1712, i16 1728, i16 1728, i16 1728, i16 1728, i16 1712, i16 1729, i16 1729, i16 1729, i16 1729, i16 1712, i16 1730, i16 1730, i16 1730, i16 1730, i16 1712, i16 1731, i16 1731, i16 1731, i16 1731, i16 1712, i16 1732, i16 1732, i16 1732, i16 1732, i16 1712, i16 1733, i16 1733, i16 1733, i16 1733, i16 1712, i16 1734, i16 1734, i16 1734, i16 1734, i16 1712, i16 1735, i16 1735, i16 1735, i16 1735, i16 1712, i16 1736, i16 1736, i16 1736, i16 1736, i16 1712, i16 1737, i16 1737, i16 1737, i16 1737, i16 1712, i16 1738, i16 1738, i16 1738, i16 1738, i16 1712, i16 1739, i16 1739, i16 1739, i16 1739, i16 1712, i16 1740, i16 1740, i16 1740, i16 1740, i16 1712, i16 1741, i16 1741, i16 1712, i16 1742, i16 1742, i16 1712, i16 1743, i16 1743, i16 1743, i16 1743, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 1749, i16 1750, i16 1751, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 1758, i16 1759, i16 1760, i16 1761, i16 1762, i16 1712, i16 1763, i16 1763, i16 1763, i16 1712, i16 1764, i16 1764, i16 1764, i16 1712, i16 1765, i16 1765, i16 1765, i16 1765, i16 1712, i16 1766, i16 1766, i16 1766, i16 1712, i16 1767, i16 1767, i16 1767, i16 1712, i16 1768, i16 1768, i16 1768, i16 1768, i16 1712, i16 1769, i16 1769, i16 1769, i16 1712, i16 1770, i16 1770, i16 1770, i16 1712, i16 1771, i16 1771, i16 1771, i16 1771, i16 1712, i16 1772, i16 1772, i16 1772, i16 1712, i16 1773, i16 1773, i16 1773, i16 1712, i16 1774, i16 1774, i16 1774, i16 1712, i16 1775, i16 1775, i16 1775, i16 1712, i16 1776, i16 1776, i16 1776, i16 1712, i16 1777, i16 1777, i16 1777, i16 1712, i16 1778, i16 1778, i16 1778, i16 1712, i16 1779, i16 1779, i16 1779, i16 1712, i16 1780, i16 1780, i16 1780, i16 1780, i16 1780, i16 1712, i16 1781, i16 1781, i16 1781, i16 1712, i16 1782, i16 1782, i16 1782, i16 1712, i16 1783, i16 1712, i16 1784, i16 1712, i16 1785, i16 1712, i16 1786, i16 1712, i16 1787, i16 1712, i16 1788, i16 1788, i16 1788, i16 1788, i16 1788, i16 1712, i16 1789, i16 1789, i16 1789, i16 1789, i16 1789, i16 1712, i16 1790, i16 1790, i16 1790, i16 1790, i16 1790, i16 1712, i16 1791, i16 1791, i16 1791, i16 1791, i16 1791, i16 1712, i16 1792, i16 1792, i16 1792, i16 1792, i16 1792, i16 1712, i16 1793, i16 1712, i16 1794, i16 1712, i16 1795, i16 1712, i16 1796, i16 1712, i16 1797, i16 1712, i16 1798, i16 1798, i16 1798, i16 1712, i16 1799, i16 1799, i16 1799, i16 1712, i16 1800, i16 1800, i16 1800, i16 1712, i16 1801, i16 1712, i16 1802, i16 1712, i16 1803, i16 1712, i16 1804, i16 1712, i16 1805, i16 1712, i16 1806, i16 1806, i16 1806, i16 1712, i16 1807, i16 1712, i16 1808, i16 1712, i16 1809, i16 1712, i16 1810, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2093, i16 2094, i16 2095, i16 2096, i16 2097, i16 2098, i16 2099, i16 2100, i16 2101, i16 2102, i16 2103, i16 2104, i16 2105, i16 2106, i16 2107, i16 2108, i16 2109, i16 2110, i16 2111, i16 2112, i16 2113, i16 2114, i16 2115, i16 2116, i16 2117, i16 2118, i16 2119, i16 2120, i16 2121, i16 2122, i16 2123, i16 2124, i16 2125, i16 2126, i16 2127, i16 2128, i16 2129, i16 2130, i16 2131, i16 2132, i16 2133, i16 2134, i16 2135, i16 2136, i16 2137, i16 2138, i16 2139, i16 2140, i16 2141, i16 2142, i16 2143, i16 2144, i16 2145, i16 2146, i16 2147, i16 2148, i16 2149, i16 2150, i16 2151, i16 2091, i16 2152, i16 2153, i16 2154, i16 2155, i16 2156, i16 2157, i16 2093, i16 2158, i16 2159, i16 2160, i16 2161, i16 2162, i16 2163, i16 2164, i16 2091, i16 2093, i16 2165, i16 2166, i16 2167, i16 2168, i16 2169, i16 2170, i16 2171, i16 2172, i16 2173, i16 2174, i16 2175, i16 2176, i16 2177, i16 2178, i16 2179, i16 2091, i16 2093, i16 2180, i16 2181, i16 2182, i16 2183, i16 2184, i16 2185, i16 2186, i16 2187, i16 2188, i16 2189, i16 2190, i16 2191, i16 2192, i16 2193, i16 2194, i16 2091, i16 2093, i16 2195, i16 2196, i16 2197, i16 2198, i16 2199, i16 2200, i16 2201, i16 2202, i16 2203, i16 2204, i16 2205, i16 2206, i16 2207, i16 2208, i16 2209, i16 2210, i16 2211, i16 2212, i16 2213, i16 2214, i16 2215, i16 2216, i16 2217, i16 2218, i16 2219, i16 2220, i16 2221, i16 2222, i16 2223, i16 2224, i16 2225, i16 2226, i16 2227, i16 2228, i16 2229, i16 2230, i16 2231, i16 2232, i16 2233, i16 2234, i16 2235, i16 2236, i16 2237, i16 2238, i16 2239, i16 2240, i16 2241, i16 2242, i16 2243, i16 2091, i16 2093, i16 2244, i16 2245, i16 2246, i16 2247, i16 2248, i16 2091, i16 2249, i16 2250, i16 2251, i16 2252, i16 2253, i16 2093, i16 2254, i16 2255, i16 2256, i16 2257, i16 2258, i16 2259, i16 2260, i16 2261, i16 2262, i16 2263, i16 2264, i16 2265, i16 2266, i16 2267, i16 2268, i16 2269, i16 2270, i16 2091, i16 2093, i16 2271, i16 2272, i16 2273, i16 2274, i16 2275, i16 2276, i16 2277, i16 2278, i16 2279, i16 2280, i16 2281, i16 2282, i16 2283, i16 2284, i16 2285, i16 2091, i16 2093, i16 2286, i16 2287, i16 2093, i16 2288, i16 2289, i16 2290, i16 2291, i16 2292, i16 2293, i16 2294, i16 2295, i16 2296, i16 2297, i16 2298, i16 2299, i16 2300, i16 2301, i16 2302, i16 2303, i16 2304, i16 2305, i16 2306, i16 2307, i16 2308, i16 2309, i16 2310, i16 2311, i16 2312, i16 2313, i16 2314, i16 2315, i16 2316, i16 2317, i16 2318, i16 2319, i16 2320, i16 2091, i16 2321, i16 2322, i16 2093, i16 2323, i16 2324, i16 2325, i16 2091, i16 2093, i16 2326, i16 2327, i16 2328, i16 2329, i16 2330, i16 2331, i16 2332, i16 2333, i16 2334, i16 2335, i16 2336, i16 2337, i16 2338, i16 2091, i16 2339, i16 2093, i16 2340, i16 2341, i16 2342, i16 2343, i16 2344, i16 2345, i16 2346, i16 2347, i16 2348, i16 2349, i16 2350, i16 2351, i16 2352, i16 2353, i16 2354, i16 2355, i16 2356, i16 2357, i16 2358, i16 2091, i16 2093, i16 2359, i16 2360, i16 2361, i16 2362, i16 2363, i16 2364, i16 2365, i16 2091, i16 2093, i16 2366, i16 2367, i16 2368, i16 2369, i16 2370, i16 2371, i16 2372, i16 2373, i16 2374, i16 2375, i16 2376, i16 2377, i16 2378, i16 2379, i16 2380, i16 2381, i16 2382, i16 2383, i16 2091, i16 2384, i16 2385, i16 2093, i16 2386, i16 2387, i16 2388, i16 2389, i16 2390, i16 2391, i16 2392, i16 2393, i16 2394, i16 2395, i16 2396, i16 2397, i16 2398, i16 2399, i16 2400, i16 2401, i16 2402, i16 2403, i16 2404, i16 2405, i16 2406, i16 2407, i16 2408, i16 2409, i16 2410, i16 2411, i16 2412, i16 2413, i16 2414, i16 2415, i16 2416, i16 2417, i16 2418, i16 2419, i16 2420, i16 2421, i16 2422, i16 2423, i16 2424, i16 2425, i16 2426, i16 2427, i16 2428, i16 2429, i16 2430, i16 2431, i16 2432, i16 2433, i16 2434, i16 2435, i16 2436, i16 2437, i16 2438, i16 2439, i16 2440, i16 2441, i16 2442, i16 2443, i16 2444, i16 2445, i16 2446, i16 2447, i16 2448, i16 2449, i16 2450, i16 2451, i16 2091, i16 2452, i16 2453, i16 2093, i16 2454, i16 2455, i16 2456, i16 2457, i16 2458, i16 2091, i16 2093, i16 2459, i16 2091, i16 2093, i16 2460, i16 2461, i16 2462, i16 2463, i16 2464, i16 2465, i16 2466, i16 2467, i16 2468, i16 2469, i16 2470, i16 2471, i16 2472, i16 2473, i16 2474, i16 2475, i16 2476, i16 2178, i16 2477, i16 2091, i16 2093, i16 2478, i16 2479, i16 2480, i16 2481, i16 2482, i16 2483, i16 2484, i16 2485, i16 2486, i16 2487, i16 2488, i16 2489, i16 2490, i16 2491, i16 2492, i16 2493, i16 2178, i16 2494, i16 2495, i16 2496, i16 2091, i16 2497, i16 2498, i16 2499, i16 2093, i16 2500, i16 2501, i16 2502, i16 2503, i16 2504, i16 2505, i16 2506, i16 2507, i16 2508, i16 2509, i16 2510, i16 2511, i16 2512, i16 2513, i16 2514, i16 2091, i16 2515, i16 2516, i16 2093, i16 2517, i16 2518, i16 2519, i16 2520, i16 2521, i16 2522, i16 2523, i16 2524, i16 2525, i16 2526, i16 2527, i16 2528, i16 2529, i16 2530, i16 2531, i16 2532, i16 2533, i16 2534, i16 2535, i16 2536, i16 2537, i16 2538, i16 2539, i16 2540, i16 2541, i16 2542, i16 2543, i16 2544, i16 2545, i16 2546, i16 2547, i16 2548, i16 2549, i16 2550, i16 2551, i16 2552, i16 2553, i16 2554, i16 2555, i16 2556, i16 2557, i16 2558, i16 2559, i16 2560, i16 2561, i16 2562, i16 2563, i16 2564, i16 2565, i16 2566, i16 2567, i16 2568, i16 2569, i16 2570, i16 2571, i16 2572, i16 2573, i16 2574, i16 2575, i16 2576, i16 2577, i16 2091, i16 2093, i16 2578, i16 2579, i16 2580, i16 2581, i16 2582, i16 2091, i16 2093, i16 2583, i16 2584, i16 2585, i16 2586, i16 2587, i16 2588, i16 2589, i16 2590, i16 2591, i16 2592, i16 2593, i16 2594, i16 2595, i16 2091, i16 2093, i16 2596, i16 2597, i16 2598, i16 2599, i16 2600, i16 2091, i16 2093, i16 2601, i16 2602, i16 2603, i16 2604, i16 2605, i16 2606, i16 2607, i16 2608, i16 2609, i16 2610, i16 2611, i16 2612, i16 2613, i16 2614, i16 2615, i16 2616, i16 2617, i16 2091, i16 2093, i16 2618, i16 2619, i16 2620, i16 2621, i16 2622, i16 2623, i16 2624, i16 2625, i16 2626, i16 2627, i16 2628, i16 2629, i16 2630, i16 2091, i16 2178, i16 2631, i16 2632, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2634, i16 2635, i16 2636, i16 2637, i16 2638, i16 2639, i16 2640, i16 2641, i16 2642, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2643, i16 2092, i16 2644, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2645, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2646, i16 2647, i16 2648, i16 2649, i16 2650, i16 2647, i16 2651, i16 2647, i16 2652, i16 2647, i16 2653, i16 2647, i16 2654, i16 2655, i16 2656, i16 2647, i16 2657, i16 2647, i16 2658, i16 2659, i16 2660, i16 2647, i16 2661, i16 2647, i16 2662, i16 2663, i16 2664, i16 2665, i16 2666, i16 2667, i16 2647, i16 2668, i16 2647, i16 2669, i16 2647, i16 2670, i16 2647, i16 2671, i16 2647, i16 2672, i16 2647, i16 2673, i16 2674, i16 2675, i16 2647, i16 2676, i16 2647, i16 2677, i16 2647, i16 2678, i16 2679, i16 2647, i16 2680, i16 2647, i16 2681, i16 2682, i16 2683, i16 2684, i16 2685, i16 2686, i16 2647, i16 2687, i16 2647, i16 2688, i16 2647, i16 2689, i16 2647, i16 2690, i16 2691, i16 2692, i16 2693, i16 2694, i16 2693, i16 2695, i16 2693, i16 2696, i16 2693, i16 2697, i16 2693, i16 2698, i16 2693, i16 2699, i16 2693, i16 2700, i16 2693, i16 2701, i16 2693, i16 2702, i16 2693, i16 2703, i16 2693, i16 2704, i16 2693, i16 2705, i16 2693, i16 2706, i16 2693, i16 2707, i16 2693, i16 2708, i16 2693, i16 2709, i16 2693, i16 2710, i16 2693, i16 2711, i16 2693, i16 2712, i16 2693, i16 2713, i16 2693, i16 2714, i16 2693, i16 2715, i16 2693, i16 2716, i16 2693, i16 2717, i16 2693, i16 2718, i16 2693, i16 2719, i16 2693, i16 2720, i16 2693, i16 2721, i16 2693, i16 2722, i16 2693, i16 2723, i16 2693, i16 2724, i16 2693, i16 2725, i16 2693, i16 2726, i16 2693, i16 2727, i16 2693, i16 2728, i16 2693, i16 2729, i16 2693, i16 2730, i16 2693, i16 2731, i16 2693, i16 2732, i16 2693, i16 2733, i16 2693, i16 2734, i16 2735, i16 2736, i16 2693, i16 2737, i16 2735, i16 2738, i16 2693, i16 2739, i16 2693, i16 2740, i16 2693, i16 2741, i16 2693, i16 2742, i16 2693, i16 2743, i16 2693, i16 2744, i16 2693, i16 2745, i16 2693, i16 2746, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2092, i16 2092, i16 2092, i16 2092, i16 2632, i16 2632, i16 2748, i16 2749, i16 2749, i16 2749, i16 2749, i16 2749, i16 2749, i16 2632, i16 2632, i16 2750, i16 2750, i16 2750, i16 2632, i16 2751, i16 2751, i16 2751, i16 2751, i16 2632, i16 2632, i16 2632, i16 2752, i16 2752, i16 2752, i16 2752, i16 2752, i16 2752, i16 2752, i16 2632, i16 2753, i16 2753, i16 2753, i16 2753, i16 2632, i16 2754, i16 2754, i16 2754, i16 2754, i16 2632, i16 2755, i16 2755, i16 2755, i16 2755, i16 2632, i16 2756, i16 2756, i16 2756, i16 2756, i16 2632, i16 2757, i16 2757, i16 2632, i16 2758, i16 2758, i16 2632, i16 2759, i16 2759, i16 2632, i16 2760, i16 2760, i16 2632, i16 2761, i16 2761, i16 2761, i16 2761, i16 2632, i16 2762, i16 2762, i16 2762, i16 2762, i16 2632, i16 2763, i16 2763, i16 2763, i16 2763, i16 2632, i16 2764, i16 2764, i16 2764, i16 2764, i16 2632, i16 2765, i16 2765, i16 2765, i16 2765, i16 2632, i16 2766, i16 2766, i16 2766, i16 2766, i16 2632, i16 2767, i16 2767, i16 2767, i16 2767, i16 2632, i16 2768, i16 2768, i16 2768, i16 2768, i16 2632, i16 2769, i16 2769, i16 2769, i16 2769, i16 2632, i16 2770, i16 2770, i16 2770, i16 2770, i16 2632, i16 2771, i16 2771, i16 2771, i16 2771, i16 2632, i16 2772, i16 2772, i16 2772, i16 2772, i16 2632, i16 2773, i16 2773, i16 2773, i16 2773, i16 2632, i16 2774, i16 2774, i16 2774, i16 2774, i16 2632, i16 2775, i16 2775, i16 2775, i16 2775, i16 2632, i16 2776, i16 2776, i16 2632, i16 2777, i16 2777, i16 2632, i16 2778, i16 2778, i16 2778, i16 2778, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2633, i16 2634, i16 2635, i16 2636, i16 2637, i16 2638, i16 2639, i16 2640, i16 2641, i16 2642, i16 2780, i16 2781, i16 2782, i16 2783, i16 2784, i16 2785, i16 2786, i16 2787, i16 2632, i16 2788, i16 2788, i16 2788, i16 2632, i16 2789, i16 2789, i16 2789, i16 2632, i16 2790, i16 2790, i16 2790, i16 2790, i16 2632, i16 2791, i16 2791, i16 2791, i16 2632, i16 2792, i16 2792, i16 2792, i16 2632, i16 2793, i16 2793, i16 2793, i16 2793, i16 2632, i16 2794, i16 2794, i16 2794, i16 2632, i16 2795, i16 2795, i16 2795, i16 2632, i16 2796, i16 2796, i16 2796, i16 2796, i16 2632, i16 2797, i16 2797, i16 2797, i16 2632, i16 2798, i16 2798, i16 2798, i16 2632, i16 2799, i16 2799, i16 2799, i16 2632, i16 2800, i16 2800, i16 2800, i16 2632, i16 2801, i16 2801, i16 2801, i16 2632, i16 2802, i16 2802, i16 2802, i16 2632, i16 2803, i16 2803, i16 2803, i16 2632, i16 2804, i16 2804, i16 2804, i16 2632, i16 2805, i16 2805, i16 2805, i16 2805, i16 2805, i16 2632, i16 2806, i16 2806, i16 2806, i16 2632, i16 2807, i16 2807, i16 2807, i16 2632, i16 2808, i16 2632, i16 2809, i16 2632, i16 2810, i16 2632, i16 2811, i16 2632, i16 2812, i16 2632, i16 2813, i16 2813, i16 2813, i16 2813, i16 2813, i16 2632, i16 2814, i16 2814, i16 2814, i16 2814, i16 2814, i16 2632, i16 2815, i16 2815, i16 2815, i16 2815, i16 2815, i16 2632, i16 2816, i16 2816, i16 2816, i16 2816, i16 2816, i16 2632, i16 2817, i16 2817, i16 2817, i16 2817, i16 2817, i16 2632, i16 2818, i16 2632, i16 2819, i16 2632, i16 2820, i16 2632, i16 2821, i16 2632, i16 2822, i16 2632, i16 2823, i16 2823, i16 2823, i16 2632, i16 2824, i16 2824, i16 2824, i16 2632, i16 2825, i16 2825, i16 2825, i16 2632, i16 2826, i16 2632, i16 2827, i16 2632, i16 2828, i16 2632, i16 2829, i16 2632, i16 2830, i16 2632, i16 2831, i16 2831, i16 2831, i16 2632, i16 2832, i16 2632, i16 2833, i16 2632, i16 2834, i16 2632, i16 2835, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2837, i16 2836, i16 2838, i16 2836, i16 2839, i16 2836, i16 2840, i16 2836, i16 2841, i16 2836, i16 2842, i16 2836, i16 2843, i16 2836, i16 2844, i16 2836, i16 2845, i16 2836, i16 2846, i16 2836, i16 2847, i16 2836, i16 2848, i16 2836, i16 2849, i16 2836, i16 2850, i16 2836, i16 2851, i16 2836, i16 2852, i16 2836, i16 2853, i16 2836, i16 2854, i16 2836, i16 2855, i16 2836, i16 2856, i16 2836, i16 2857, i16 2836, i16 2858, i16 2836, i16 2859, i16 2836, i16 2860, i16 2836, i16 2861, i16 2836, i16 2862, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2836, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2646, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2866, i16 2867, i16 2866, i16 2868, i16 2866, i16 2869, i16 2866, i16 2870, i16 2866, i16 2871, i16 2866, i16 2872, i16 2866, i16 2873, i16 2866, i16 2874, i16 2866, i16 2875, i16 2866, i16 2876, i16 2877, i16 2878, i16 2877, i16 2879, i16 2877, i16 2880, i16 2877, i16 2881, i16 2877, i16 2882, i16 2877, i16 2883, i16 2877, i16 2884, i16 2877, i16 2885, i16 2877, i16 2886, i16 2877, i16 2887, i16 2877, i16 2888, i16 2877, i16 2889, i16 2877, i16 2890, i16 2877, i16 2891, i16 2877, i16 2892, i16 2877, i16 2893, i16 2877, i16 2894, i16 2877, i16 2895, i16 2877, i16 2896, i16 2877, i16 2897, i16 2877, i16 2898, i16 2877, i16 2899, i16 2877, i16 2900, i16 2877, i16 2901, i16 2877, i16 2902, i16 2877, i16 2903, i16 2866, i16 2904, i16 2905, i16 2906, i16 2907, i16 2908, i16 2866, i16 2909, i16 2910, i16 2911, i16 2912, i16 2913, i16 2866, i16 2914, i16 2915, i16 2916, i16 2917, i16 2918, i16 2866, i16 2919, i16 2920, i16 2921, i16 2922, i16 2923, i16 2866, i16 2924, i16 2925, i16 2926, i16 2927, i16 2928, i16 2866, i16 2929, i16 2930, i16 2931, i16 2932, i16 2933, i16 2866, i16 2934, i16 2935, i16 2936, i16 2937, i16 2938, i16 2866, i16 2939, i16 2940, i16 2941, i16 2942, i16 2943, i16 2866, i16 2944, i16 2945, i16 2946, i16 2947, i16 2948, i16 2866, i16 2949, i16 2950, i16 2951, i16 2952, i16 2953, i16 2866, i16 2954, i16 2955, i16 2956, i16 2957, i16 2958, i16 2866, i16 2959, i16 2960, i16 2961, i16 2962, i16 2963, i16 2866, i16 2964, i16 2965, i16 2966, i16 2967, i16 2968, i16 2866, i16 2969, i16 2970, i16 2971, i16 2972, i16 2973, i16 2866, i16 2974, i16 2975, i16 2976, i16 2977, i16 2978, i16 2866, i16 2979, i16 2980, i16 2981, i16 2982, i16 2983, i16 2866, i16 2984, i16 2985, i16 2986, i16 2987, i16 2988, i16 2866, i16 2989, i16 2990, i16 2991, i16 2992, i16 2993, i16 2866, i16 2994, i16 2995, i16 2996, i16 2997, i16 2998, i16 2866, i16 2999, i16 3000, i16 3001, i16 3002, i16 3003, i16 2866, i16 3004, i16 3005, i16 3006, i16 3007, i16 3008, i16 2866, i16 3009, i16 3010, i16 3011, i16 3012, i16 3013, i16 2866, i16 3014, i16 3015, i16 3016, i16 3017, i16 3018, i16 2866, i16 3019, i16 3020, i16 3021, i16 3022, i16 3023, i16 2866, i16 3024, i16 3025, i16 3026, i16 3027, i16 3028, i16 2866, i16 3029, i16 3030, i16 3031, i16 3032, i16 3033, i16 2866, i16 3034, i16 3035, i16 3036, i16 3037, i16 3038, i16 2866, i16 3039, i16 3040, i16 3041, i16 3042, i16 3043, i16 2866, i16 3044, i16 3045, i16 3046, i16 3047, i16 3048, i16 2866, i16 3049, i16 3050, i16 3051, i16 3052, i16 3053, i16 2866, i16 3054, i16 3055, i16 3056, i16 3057, i16 3058, i16 2866, i16 3059, i16 3060, i16 3061, i16 3062, i16 3063, i16 2866, i16 3064, i16 3065, i16 3066, i16 3067, i16 3068, i16 2866, i16 3069, i16 3070, i16 3071, i16 3072, i16 3073, i16 2866, i16 3074, i16 3075, i16 3076, i16 3077, i16 3078, i16 2866, i16 2866, i16 3079, i16 3080, i16 3081, i16 3082, i16 3083, i16 2866, i16 2866, i16 3084, i16 3085, i16 3086, i16 3087, i16 3088, i16 2866, i16 3089, i16 3090, i16 3091, i16 3092, i16 3093, i16 2866, i16 3094, i16 3095, i16 3096, i16 3097, i16 3098, i16 2866, i16 3099, i16 3100, i16 3101, i16 3102, i16 3103, i16 2866, i16 3104, i16 3105, i16 3106, i16 3107, i16 3108, i16 2866, i16 3109, i16 3110, i16 3111, i16 3112, i16 3113, i16 2866, i16 3114, i16 3115, i16 3116, i16 3117, i16 3118, i16 2866, i16 3119, i16 3120, i16 3121, i16 3122, i16 3123, i16 2866, i16 2866, i16 2866, i16 2866, i16 3124, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 99, i16 104, i16 112, i16 117, i16 122, i16 124, i16 126, i16 128, i16 130, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 1162, i16 296, i16 0, i16 704, i16 0, i16 1166, i16 293, i16 0, i16 714, i16 0, i16 1168, i16 296, i16 0, i16 1167, i16 293, i16 0, i16 723, i16 0, i16 1169, i16 299, i16 0, i16 728, i16 0, i16 1170, i16 293, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 49, i16 51, i16 53, i16 55, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 83, i16 85, i16 87, i16 89, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 1174, i16 169, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 1176, i16 169, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 1173, i16 169, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 1175, i16 169, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 1222, i16 411, i16 0, i16 1221, i16 491, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 1219, i16 411, i16 0, i16 1220, i16 491, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 48, i16 50, i16 52, i16 54, i16 62, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 94, i16 96, i16 98, i16 100, i16 108, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 138, i16 140, i16 142, i16 144, i16 146, i16 148, i16 478, i16 0, i16 1265, i16 1008, i16 0, i16 1264, i16 1047, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 1269, i16 421, i16 0, i16 1268, i16 501, i16 0, i16 504, i16 0, i16 1273, i16 421, i16 0, i16 1272, i16 501, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 1262, i16 1008, i16 0, i16 1263, i16 1047, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 1266, i16 421, i16 0, i16 1267, i16 501, i16 0, i16 425, i16 0, i16 1270, i16 421, i16 0, i16 1271, i16 501, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 52, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 92, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 1318, i16 989, i16 0, i16 1317, i16 1029, i16 0, i16 491, i16 0, i16 1322, i16 401, i16 0, i16 1321, i16 481, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 1315, i16 989, i16 0, i16 1316, i16 1029, i16 0, i16 411, i16 0, i16 1319, i16 401, i16 0, i16 1320, i16 481, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 1222, i16 411, i16 0, i16 1221, i16 491, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1328, i16 413, i16 0, i16 1327, i16 493, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 1219, i16 411, i16 0, i16 1220, i16 491, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1325, i16 413, i16 0, i16 1326, i16 493, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 62, i16 142, i16 144, i16 168, i16 170, i16 194, i16 218, i16 220, i16 222, i16 224, i16 248, i16 272, i16 274, i16 298, i16 322, i16 402, i16 404, i16 428, i16 430, i16 454, i16 478, i16 480, i16 482, i16 484, i16 508, i16 532, i16 534, i16 558, i16 560, i16 562, i16 564, i16 566, i16 568, i16 570, i16 572, i16 574, i16 576, i16 1425, i16 451, i16 0, i16 1429, i16 398, i16 451, i16 0, i16 1428, i16 398, i16 528, i16 0, i16 1424, i16 528, i16 0, i16 1427, i16 478, i16 451, i16 0, i16 1426, i16 478, i16 528, i16 0, i16 478, i16 0, i16 1451, i16 471, i16 451, i16 0, i16 1450, i16 471, i16 528, i16 0, i16 1437, i16 471, i16 0, i16 1459, i16 399, i16 471, i16 451, i16 0, i16 1458, i16 399, i16 471, i16 528, i16 0, i16 1441, i16 399, i16 471, i16 0, i16 1457, i16 399, i16 548, i16 451, i16 0, i16 1456, i16 399, i16 548, i16 528, i16 0, i16 1440, i16 399, i16 548, i16 0, i16 1449, i16 548, i16 451, i16 0, i16 1448, i16 548, i16 528, i16 0, i16 1436, i16 548, i16 0, i16 1455, i16 479, i16 471, i16 451, i16 0, i16 1454, i16 479, i16 471, i16 528, i16 0, i16 1439, i16 479, i16 471, i16 0, i16 1453, i16 479, i16 548, i16 451, i16 0, i16 1452, i16 479, i16 548, i16 528, i16 0, i16 1438, i16 479, i16 548, i16 0, i16 479, i16 0, i16 490, i16 0, i16 1473, i16 467, i16 0, i16 1477, i16 411, i16 467, i16 0, i16 1476, i16 411, i16 544, i16 0, i16 1472, i16 544, i16 0, i16 1475, i16 491, i16 467, i16 0, i16 1474, i16 491, i16 544, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 1485, i16 467, i16 0, i16 1489, i16 425, i16 467, i16 0, i16 1488, i16 425, i16 544, i16 0, i16 1484, i16 544, i16 0, i16 1487, i16 504, i16 467, i16 0, i16 1486, i16 504, i16 544, i16 0, i16 504, i16 0, i16 1497, i16 467, i16 0, i16 1501, i16 432, i16 467, i16 0, i16 1500, i16 432, i16 544, i16 0, i16 1496, i16 544, i16 0, i16 1499, i16 511, i16 467, i16 0, i16 1498, i16 511, i16 544, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 1509, i16 471, i16 0, i16 1513, i16 451, i16 471, i16 0, i16 1512, i16 451, i16 548, i16 0, i16 1508, i16 548, i16 0, i16 1511, i16 528, i16 471, i16 0, i16 1510, i16 528, i16 548, i16 0, i16 528, i16 0, i16 1521, i16 467, i16 0, i16 1525, i16 453, i16 467, i16 0, i16 1524, i16 453, i16 544, i16 0, i16 1520, i16 544, i16 0, i16 1523, i16 530, i16 467, i16 0, i16 1522, i16 530, i16 544, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 1537, i16 471, i16 451, i16 0, i16 1536, i16 471, i16 528, i16 0, i16 1533, i16 451, i16 0, i16 1535, i16 548, i16 451, i16 0, i16 1534, i16 548, i16 528, i16 0, i16 1532, i16 528, i16 0, i16 548, i16 0, i16 1431, i16 451, i16 0, i16 1435, i16 398, i16 451, i16 0, i16 1434, i16 398, i16 528, i16 0, i16 1430, i16 528, i16 0, i16 1433, i16 478, i16 451, i16 0, i16 1432, i16 478, i16 528, i16 0, i16 398, i16 0, i16 1463, i16 471, i16 451, i16 0, i16 1462, i16 471, i16 528, i16 0, i16 1443, i16 471, i16 0, i16 1471, i16 399, i16 471, i16 451, i16 0, i16 1470, i16 399, i16 471, i16 528, i16 0, i16 1447, i16 399, i16 471, i16 0, i16 1469, i16 399, i16 548, i16 451, i16 0, i16 1468, i16 399, i16 548, i16 528, i16 0, i16 1446, i16 399, i16 548, i16 0, i16 1461, i16 548, i16 451, i16 0, i16 1460, i16 548, i16 528, i16 0, i16 1442, i16 548, i16 0, i16 1467, i16 479, i16 471, i16 451, i16 0, i16 1466, i16 479, i16 471, i16 528, i16 0, i16 1445, i16 479, i16 471, i16 0, i16 1465, i16 479, i16 548, i16 451, i16 0, i16 1464, i16 479, i16 548, i16 528, i16 0, i16 1444, i16 479, i16 548, i16 0, i16 399, i16 0, i16 410, i16 0, i16 1478, i16 467, i16 0, i16 1483, i16 411, i16 467, i16 0, i16 1482, i16 411, i16 544, i16 0, i16 1479, i16 544, i16 0, i16 1481, i16 491, i16 467, i16 0, i16 1480, i16 491, i16 544, i16 0, i16 411, i16 0, i16 990, i16 0, i16 1490, i16 467, i16 0, i16 1495, i16 425, i16 467, i16 0, i16 1494, i16 425, i16 544, i16 0, i16 1491, i16 544, i16 0, i16 1493, i16 504, i16 467, i16 0, i16 1492, i16 504, i16 544, i16 0, i16 425, i16 0, i16 1502, i16 467, i16 0, i16 1507, i16 432, i16 467, i16 0, i16 1506, i16 432, i16 544, i16 0, i16 1503, i16 544, i16 0, i16 1505, i16 511, i16 467, i16 0, i16 1504, i16 511, i16 544, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 1515, i16 471, i16 0, i16 1519, i16 451, i16 471, i16 0, i16 1518, i16 451, i16 548, i16 0, i16 1514, i16 548, i16 0, i16 1517, i16 528, i16 471, i16 0, i16 1516, i16 528, i16 548, i16 0, i16 451, i16 0, i16 1527, i16 467, i16 0, i16 1531, i16 453, i16 467, i16 0, i16 1530, i16 453, i16 544, i16 0, i16 1526, i16 544, i16 0, i16 1529, i16 530, i16 467, i16 0, i16 1528, i16 530, i16 544, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 1543, i16 471, i16 451, i16 0, i16 1542, i16 471, i16 528, i16 0, i16 1539, i16 451, i16 0, i16 1541, i16 548, i16 451, i16 0, i16 1540, i16 548, i16 528, i16 0, i16 1538, i16 528, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 112, i16 117, i16 122, i16 127, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1559, i16 1554, i16 0, i16 1556, i16 1552, i16 0, i16 1073, i16 0, i16 1560, i16 1553, i16 0, i16 582, i16 0, i16 1562, i16 1553, i16 0, i16 1080, i16 0, i16 1563, i16 1553, i16 0, i16 1082, i16 0, i16 1561, i16 1553, i16 0, i16 1564, i16 0, i16 38, i16 46, i16 54, i16 62, i16 64, i16 66, i16 74, i16 82, i16 84, i16 92, i16 100, i16 102, i16 110, i16 112, i16 114, i16 122, i16 130, i16 138, i16 140, i16 142, i16 150, i16 158, i16 160, i16 168, i16 176, i16 178, i16 186, i16 188, i16 190, i16 192, i16 194, i16 196, i16 198, i16 200, i16 202, i16 204, i16 206, i16 208, i16 1591, i16 413, i16 0, i16 1590, i16 493, i16 0, i16 478, i16 0, i16 1595, i16 399, i16 0, i16 1594, i16 479, i16 0, i16 479, i16 0, i16 1599, i16 410, i16 0, i16 1598, i16 490, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 1603, i16 425, i16 0, i16 1602, i16 504, i16 0, i16 504, i16 0, i16 1222, i16 411, i16 0, i16 1221, i16 491, i16 0, i16 511, i16 0, i16 515, i16 0, i16 1607, i16 413, i16 0, i16 1606, i16 493, i16 0, i16 522, i16 0, i16 1611, i16 413, i16 0, i16 1610, i16 493, i16 0, i16 524, i16 0, i16 528, i16 0, i16 1615, i16 413, i16 0, i16 1614, i16 493, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 1588, i16 413, i16 0, i16 1589, i16 493, i16 0, i16 398, i16 0, i16 1592, i16 399, i16 0, i16 1593, i16 479, i16 0, i16 399, i16 0, i16 1596, i16 410, i16 0, i16 1597, i16 490, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 1600, i16 425, i16 0, i16 1601, i16 504, i16 0, i16 425, i16 0, i16 1219, i16 411, i16 0, i16 1220, i16 491, i16 0, i16 432, i16 0, i16 437, i16 0, i16 1604, i16 413, i16 0, i16 1605, i16 493, i16 0, i16 445, i16 0, i16 1608, i16 413, i16 0, i16 1609, i16 493, i16 0, i16 447, i16 0, i16 451, i16 0, i16 1612, i16 413, i16 0, i16 1613, i16 493, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 138, i16 140, i16 1591, i16 413, i16 0, i16 1590, i16 493, i16 0, i16 1621, i16 169, i16 413, i16 0, i16 1620, i16 169, i16 493, i16 0, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 1588, i16 413, i16 0, i16 1589, i16 493, i16 0, i16 1618, i16 169, i16 413, i16 0, i16 1619, i16 169, i16 493, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 10, i16 12, i16 14, i16 16, i16 18, i16 20, i16 22, i16 24, i16 26, i16 28, i16 681, i16 0, i16 738, i16 0, i16 749, i16 0, i16 901, i16 0, i16 927, i16 0, i16 682, i16 0, i16 739, i16 0, i16 750, i16 0, i16 902, i16 0, i16 928, i16 0, i16 10, i16 18, i16 20, i16 22, i16 24, i16 26, i16 34, i16 36, i16 38, i16 40, i16 1884, i16 682, i16 0, i16 1883, i16 681, i16 0, i16 681, i16 0, i16 738, i16 0, i16 749, i16 0, i16 901, i16 0, i16 927, i16 0, i16 1886, i16 682, i16 0, i16 1885, i16 681, i16 0, i16 682, i16 0, i16 739, i16 0, i16 750, i16 0, i16 902, i16 0, i16 928, i16 0, i16 10, i16 12, i16 14, i16 22, i16 30, i16 38, i16 40, i16 42, i16 50, i16 58, i16 681, i16 0, i16 738, i16 0, i16 1928, i16 1880, i16 0, i16 1927, i16 1879, i16 0, i16 749, i16 0, i16 1932, i16 884, i16 0, i16 1931, i16 883, i16 0, i16 901, i16 0, i16 1936, i16 884, i16 0, i16 1935, i16 883, i16 0, i16 927, i16 0, i16 682, i16 0, i16 739, i16 0, i16 1930, i16 1880, i16 0, i16 1929, i16 1879, i16 0, i16 750, i16 0, i16 1934, i16 884, i16 0, i16 1933, i16 883, i16 0, i16 902, i16 0, i16 1938, i16 884, i16 0, i16 1937, i16 883, i16 0, i16 928, i16 0, i16 10, i16 12, i16 20, i16 22, i16 30, i16 32, i16 34, i16 42, i16 44, i16 52, i16 681, i16 0, i16 1940, i16 837, i16 0, i16 1939, i16 836, i16 0, i16 738, i16 0, i16 749, i16 0, i16 1944, i16 902, i16 0, i16 1943, i16 901, i16 0, i16 901, i16 0, i16 927, i16 0, i16 682, i16 0, i16 1942, i16 837, i16 0, i16 1941, i16 836, i16 0, i16 739, i16 0, i16 750, i16 0, i16 1946, i16 902, i16 0, i16 1945, i16 901, i16 0, i16 902, i16 0, i16 928, i16 0, i16 2, i16 10, i16 295, i16 278, i16 0, i16 294, i16 277, i16 0, i16 161, i16 0, i16 296, i16 278, i16 0, i16 162, i16 0, i16 5, i16 139, i16 273, i16 407, i16 541, i16 387, i16 386, i16 0, i16 381, i16 380, i16 0, i16 375, i16 374, i16 0, i16 369, i16 368, i16 0, i16 363, i16 362, i16 0, i16 357, i16 356, i16 0, i16 351, i16 350, i16 0, i16 345, i16 344, i16 0, i16 338, i16 337, i16 0, i16 331, i16 330, i16 0, i16 325, i16 324, i16 0, i16 319, i16 318, i16 0, i16 313, i16 312, i16 0, i16 307, i16 306, i16 0, i16 301, i16 300, i16 0, i16 295, i16 294, i16 0, i16 289, i16 288, i16 0, i16 283, i16 282, i16 0, i16 277, i16 276, i16 0, i16 271, i16 270, i16 0, i16 265, i16 264, i16 0, i16 259, i16 258, i16 0, i16 253, i16 252, i16 0, i16 247, i16 246, i16 0, i16 241, i16 240, i16 0, i16 235, i16 234, i16 0, i16 229, i16 228, i16 0, i16 223, i16 222, i16 0, i16 217, i16 216, i16 0, i16 211, i16 210, i16 0, i16 205, i16 204, i16 0, i16 199, i16 198, i16 0, i16 193, i16 192, i16 0, i16 187, i16 186, i16 0, i16 181, i16 180, i16 0, i16 175, i16 174, i16 0, i16 169, i16 168, i16 0, i16 163, i16 162, i16 0, i16 157, i16 156, i16 0, i16 151, i16 150, i16 0, i16 145, i16 144, i16 0, i16 139, i16 138, i16 0, i16 133, i16 132, i16 0, i16 127, i16 126, i16 0, i16 404, i16 0, i16 388, i16 386, i16 0, i16 382, i16 380, i16 0, i16 376, i16 374, i16 0, i16 370, i16 368, i16 0, i16 364, i16 362, i16 0, i16 358, i16 356, i16 0, i16 352, i16 350, i16 0, i16 346, i16 344, i16 0, i16 339, i16 337, i16 0, i16 332, i16 330, i16 0, i16 326, i16 324, i16 0, i16 320, i16 318, i16 0, i16 314, i16 312, i16 0, i16 308, i16 306, i16 0, i16 302, i16 300, i16 0, i16 296, i16 294, i16 0, i16 290, i16 288, i16 0, i16 284, i16 282, i16 0, i16 278, i16 276, i16 0, i16 272, i16 270, i16 0, i16 266, i16 264, i16 0, i16 260, i16 258, i16 0, i16 254, i16 252, i16 0, i16 248, i16 246, i16 0, i16 242, i16 240, i16 0, i16 236, i16 234, i16 0, i16 230, i16 228, i16 0, i16 224, i16 222, i16 0, i16 218, i16 216, i16 0, i16 212, i16 210, i16 0, i16 206, i16 204, i16 0, i16 200, i16 198, i16 0, i16 194, i16 192, i16 0, i16 188, i16 186, i16 0, i16 182, i16 180, i16 0, i16 176, i16 174, i16 0, i16 170, i16 168, i16 0, i16 164, i16 162, i16 0, i16 158, i16 156, i16 0, i16 152, i16 150, i16 0, i16 146, i16 144, i16 0, i16 140, i16 138, i16 0, i16 134, i16 132, i16 0, i16 128, i16 126, i16 0, i16 405, i16 0, i16 389, i16 386, i16 0, i16 383, i16 380, i16 0, i16 377, i16 374, i16 0, i16 371, i16 368, i16 0, i16 365, i16 362, i16 0, i16 359, i16 356, i16 0, i16 353, i16 350, i16 0, i16 347, i16 344, i16 0, i16 340, i16 337, i16 0, i16 333, i16 330, i16 0, i16 327, i16 324, i16 0, i16 321, i16 318, i16 0, i16 315, i16 312, i16 0, i16 309, i16 306, i16 0, i16 303, i16 300, i16 0, i16 297, i16 294, i16 0, i16 291, i16 288, i16 0, i16 285, i16 282, i16 0, i16 279, i16 276, i16 0, i16 273, i16 270, i16 0, i16 267, i16 264, i16 0, i16 261, i16 258, i16 0, i16 255, i16 252, i16 0, i16 249, i16 246, i16 0, i16 243, i16 240, i16 0, i16 237, i16 234, i16 0, i16 231, i16 228, i16 0, i16 225, i16 222, i16 0, i16 219, i16 216, i16 0, i16 213, i16 210, i16 0, i16 207, i16 204, i16 0, i16 201, i16 198, i16 0, i16 195, i16 192, i16 0, i16 189, i16 186, i16 0, i16 183, i16 180, i16 0, i16 177, i16 174, i16 0, i16 171, i16 168, i16 0, i16 165, i16 162, i16 0, i16 159, i16 156, i16 0, i16 153, i16 150, i16 0, i16 147, i16 144, i16 0, i16 141, i16 138, i16 0, i16 135, i16 132, i16 0, i16 129, i16 126, i16 0, i16 406, i16 0, i16 390, i16 386, i16 0, i16 384, i16 380, i16 0, i16 378, i16 374, i16 0, i16 372, i16 368, i16 0, i16 366, i16 362, i16 0, i16 360, i16 356, i16 0, i16 354, i16 350, i16 0, i16 348, i16 344, i16 0, i16 341, i16 337, i16 0, i16 334, i16 330, i16 0, i16 328, i16 324, i16 0, i16 322, i16 318, i16 0, i16 316, i16 312, i16 0, i16 310, i16 306, i16 0, i16 304, i16 300, i16 0, i16 298, i16 294, i16 0, i16 292, i16 288, i16 0, i16 286, i16 282, i16 0, i16 280, i16 276, i16 0, i16 274, i16 270, i16 0, i16 268, i16 264, i16 0, i16 262, i16 258, i16 0, i16 256, i16 252, i16 0, i16 250, i16 246, i16 0, i16 244, i16 240, i16 0, i16 238, i16 234, i16 0, i16 232, i16 228, i16 0, i16 226, i16 222, i16 0, i16 220, i16 216, i16 0, i16 214, i16 210, i16 0, i16 208, i16 204, i16 0, i16 202, i16 198, i16 0, i16 196, i16 192, i16 0, i16 190, i16 186, i16 0, i16 184, i16 180, i16 0, i16 178, i16 174, i16 0, i16 172, i16 168, i16 0, i16 166, i16 162, i16 0, i16 160, i16 156, i16 0, i16 154, i16 150, i16 0, i16 148, i16 144, i16 0, i16 142, i16 138, i16 0, i16 136, i16 132, i16 0, i16 130, i16 126, i16 0, i16 407, i16 0, i16 391, i16 386, i16 0, i16 385, i16 380, i16 0, i16 379, i16 374, i16 0, i16 373, i16 368, i16 0, i16 367, i16 362, i16 0, i16 361, i16 356, i16 0, i16 355, i16 350, i16 0, i16 349, i16 344, i16 0, i16 342, i16 337, i16 0, i16 335, i16 330, i16 0, i16 329, i16 324, i16 0, i16 323, i16 318, i16 0, i16 317, i16 312, i16 0, i16 311, i16 306, i16 0, i16 305, i16 300, i16 0, i16 299, i16 294, i16 0, i16 293, i16 288, i16 0, i16 287, i16 282, i16 0, i16 281, i16 276, i16 0, i16 275, i16 270, i16 0, i16 269, i16 264, i16 0, i16 263, i16 258, i16 0, i16 257, i16 252, i16 0, i16 251, i16 246, i16 0, i16 245, i16 240, i16 0, i16 239, i16 234, i16 0, i16 233, i16 228, i16 0, i16 227, i16 222, i16 0, i16 221, i16 216, i16 0, i16 215, i16 210, i16 0, i16 209, i16 204, i16 0, i16 203, i16 198, i16 0, i16 197, i16 192, i16 0, i16 191, i16 186, i16 0, i16 185, i16 180, i16 0, i16 179, i16 174, i16 0, i16 173, i16 168, i16 0, i16 167, i16 162, i16 0, i16 161, i16 156, i16 0, i16 155, i16 150, i16 0, i16 149, i16 144, i16 0, i16 143, i16 138, i16 0, i16 137, i16 132, i16 0, i16 131, i16 126, i16 0, i16 408, i16 0, i16 1, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 263, i16 1158, i16 0, i16 1159, i16 0, i16 2, i16 272, i16 1160, i16 0, i16 1161, i16 0, i16 2, i16 1375, i16 1163, i16 748, i16 1164, i16 749, i16 2, i16 1381, i16 1165, i16 750, i16 1166, i16 751, i16 2, i16 1392, i16 1167, i16 752, i16 1168, i16 753, i16 2, i16 1401, i16 1169, i16 754, i16 1170, i16 755, i16 1, i16 1156, i16 244, i16 0, i16 1157, i16 253, i16 0, i16 1162, i16 1370, i16 756, i16 1155, i16 22611, i16 1, i16 0, i16 1, i16 1171, i16 142, i16 0, i16 1172, i16 163, i16 0, i16 1173, i16 699, i16 757, i16 1174, i16 907, i16 758, i16 1175, i16 762, i16 759, i16 1176, i16 968, i16 760, i16 1155, i16 22611, i16 1, i16 0, i16 1, i16 1177, i16 306, i16 0, i16 1178, i16 1512, i16 761, i16 1179, i16 1576, i16 762, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 145, i16 900, i16 0, i16 1183, i16 0, i16 901, i16 0, i16 902, i16 0, i16 903, i16 0, i16 2, i16 636, i16 1196, i16 763, i16 974, i16 764, i16 2, i16 845, i16 1197, i16 765, i16 1014, i16 766, i16 2, i16 712, i16 992, i16 767, i16 990, i16 768, i16 2, i16 920, i16 1030, i16 769, i16 1032, i16 770, i16 2, i16 749, i16 995, i16 771, i16 994, i16 772, i16 2, i16 956, i16 1035, i16 773, i16 1034, i16 774, i16 2, i16 762, i16 1198, i16 775, i16 996, i16 775, i16 2, i16 968, i16 1199, i16 776, i16 1036, i16 776, i16 1, i16 1180, i16 121, i16 0, i16 1181, i16 127, i16 0, i16 1182, i16 142, i16 0, i16 1184, i16 161, i16 0, i16 1185, i16 163, i16 0, i16 1186, i16 173, i16 0, i16 1187, i16 178, i16 0, i16 1188, i16 303, i16 0, i16 1189, i16 309, i16 0, i16 1190, i16 322, i16 0, i16 1191, i16 327, i16 0, i16 1192, i16 330, i16 0, i16 1193, i16 340, i16 0, i16 1194, i16 343, i16 0, i16 1195, i16 346, i16 0, i16 978, i16 656, i16 777, i16 1018, i16 864, i16 778, i16 985, i16 699, i16 779, i16 1025, i16 907, i16 780, i16 1001, i16 787, i16 781, i16 1041, i16 992, i16 782, i16 1004, i16 809, i16 783, i16 1043, i16 1013, i16 784, i16 1200, i16 1506, i16 785, i16 1201, i16 1570, i16 786, i16 1202, i16 1514, i16 787, i16 1203, i16 1579, i16 788, i16 1204, i16 1532, i16 789, i16 1205, i16 1597, i16 790, i16 1206, i16 1538, i16 791, i16 1207, i16 1603, i16 792, i16 1208, i16 1541, i16 793, i16 1209, i16 1606, i16 794, i16 1210, i16 1549, i16 795, i16 1211, i16 1614, i16 796, i16 1212, i16 1553, i16 797, i16 1213, i16 1618, i16 798, i16 1214, i16 1556, i16 799, i16 1215, i16 1621, i16 800, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 749, i16 1219, i16 801, i16 1220, i16 802, i16 2, i16 956, i16 1221, i16 803, i16 1222, i16 804, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1218, i16 161, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 12, i16 22611, i16 1223, i16 805, i16 1224, i16 805, i16 1225, i16 805, i16 1226, i16 805, i16 1227, i16 805, i16 1228, i16 805, i16 1229, i16 805, i16 1230, i16 805, i16 1231, i16 805, i16 1232, i16 805, i16 1233, i16 805, i16 1234, i16 805, i16 1, i16 1155, i16 22623, i16 1, i16 0, i16 1, i16 1188, i16 303, i16 0, i16 1235, i16 316, i16 0, i16 1236, i16 322, i16 0, i16 1237, i16 338, i16 0, i16 1238, i16 343, i16 0, i16 1239, i16 346, i16 0, i16 1200, i16 1506, i16 785, i16 1201, i16 1570, i16 786, i16 1240, i16 1524, i16 806, i16 1241, i16 1588, i16 807, i16 1242, i16 1532, i16 808, i16 1243, i16 1597, i16 809, i16 1244, i16 1549, i16 810, i16 1245, i16 1614, i16 811, i16 1246, i16 1553, i16 812, i16 1247, i16 1618, i16 813, i16 1248, i16 1556, i16 814, i16 1249, i16 1621, i16 815, i16 1155, i16 22611, i16 1, i16 0, i16 4, i16 189, i16 1250, i16 0, i16 1251, i16 0, i16 1252, i16 0, i16 1253, i16 0, i16 3, i16 645, i16 974, i16 816, i16 975, i16 817, i16 977, i16 818, i16 2, i16 769, i16 996, i16 819, i16 997, i16 820, i16 3, i16 853, i16 1014, i16 821, i16 1015, i16 822, i16 1017, i16 823, i16 2, i16 974, i16 1036, i16 824, i16 1037, i16 825, i16 1, i16 895, i16 53, i16 0, i16 1046, i16 1026, i16 826, i16 1007, i16 822, i16 827, i16 1004, i16 813, i16 828, i16 1043, i16 1017, i16 829, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 127, i16 1254, i16 0, i16 1255, i16 0, i16 898, i16 0, i16 1256, i16 0, i16 1257, i16 0, i16 2, i16 656, i16 979, i16 830, i16 981, i16 831, i16 2, i16 864, i16 1019, i16 832, i16 1021, i16 833, i16 3, i16 670, i16 1262, i16 834, i16 1263, i16 835, i16 984, i16 836, i16 3, i16 878, i16 1264, i16 837, i16 1265, i16 838, i16 1024, i16 839, i16 2, i16 736, i16 1266, i16 840, i16 1267, i16 841, i16 2, i16 943, i16 1268, i16 842, i16 1269, i16 843, i16 2, i16 749, i16 1270, i16 844, i16 1271, i16 845, i16 2, i16 956, i16 1272, i16 846, i16 1273, i16 847, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1258, i16 158, i16 0, i16 1259, i16 161, i16 0, i16 1260, i16 173, i16 0, i16 1261, i16 189, i16 0, i16 1000, i16 787, i16 848, i16 1040, i16 992, i16 849, i16 1008, i16 834, i16 850, i16 1047, i16 1038, i16 851, i16 1155, i16 22611, i16 1, i16 0, i16 4, i16 121, i16 1274, i16 0, i16 1275, i16 0, i16 1276, i16 0, i16 1277, i16 0, i16 4, i16 127, i16 1255, i16 0, i16 1278, i16 0, i16 1279, i16 0, i16 1280, i16 0, i16 2, i16 133, i16 1281, i16 0, i16 1282, i16 0, i16 2, i16 142, i16 1284, i16 0, i16 1285, i16 0, i16 2, i16 173, i16 1287, i16 0, i16 1260, i16 0, i16 5, i16 194, i16 1288, i16 0, i16 1253, i16 0, i16 1250, i16 0, i16 1289, i16 0, i16 1252, i16 0, i16 4, i16 636, i16 971, i16 852, i16 970, i16 853, i16 972, i16 854, i16 973, i16 855, i16 4, i16 845, i16 1011, i16 856, i16 1010, i16 857, i16 1012, i16 858, i16 1013, i16 859, i16 2, i16 656, i16 978, i16 860, i16 981, i16 861, i16 2, i16 864, i16 1018, i16 862, i16 1021, i16 863, i16 2, i16 667, i16 1290, i16 864, i16 1291, i16 865, i16 2, i16 875, i16 1292, i16 864, i16 1293, i16 866, i16 2, i16 670, i16 983, i16 867, i16 984, i16 868, i16 2, i16 878, i16 1023, i16 869, i16 1024, i16 870, i16 2, i16 709, i16 1295, i16 871, i16 1296, i16 872, i16 2, i16 917, i16 1297, i16 871, i16 1298, i16 872, i16 3, i16 992, i16 1002, i16 873, i16 1000, i16 874, i16 1040, i16 875, i16 3, i16 645, i16 974, i16 876, i16 975, i16 817, i16 977, i16 877, i16 2, i16 769, i16 996, i16 819, i16 997, i16 820, i16 3, i16 853, i16 1014, i16 878, i16 1015, i16 822, i16 1017, i16 879, i16 2, i16 974, i16 1036, i16 824, i16 1037, i16 825, i16 1, i16 889, i16 16, i16 0, i16 1283, i16 138, i16 0, i16 1286, i16 156, i16 0, i16 1294, i16 696, i16 880, i16 1299, i16 734, i16 881, i16 1300, i16 941, i16 882, i16 1004, i16 813, i16 828, i16 1043, i16 1017, i16 829, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 46, i16 897, i16 0, i16 896, i16 0, i16 2, i16 121, i16 1301, i16 0, i16 1302, i16 0, i16 2, i16 636, i16 972, i16 883, i16 976, i16 884, i16 2, i16 845, i16 1012, i16 885, i16 1016, i16 886, i16 2, i16 787, i16 1305, i16 781, i16 1001, i16 781, i16 2, i16 992, i16 1306, i16 781, i16 1041, i16 782, i16 2, i16 799, i16 1307, i16 887, i16 1003, i16 887, i16 2, i16 1003, i16 1308, i16 887, i16 1042, i16 888, i16 1, i16 1303, i16 152, i16 0, i16 1186, i16 173, i16 0, i16 1304, i16 176, i16 0, i16 991, i16 717, i16 889, i16 1031, i16 925, i16 890, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 699, i16 1315, i16 891, i16 1316, i16 892, i16 2, i16 907, i16 1317, i16 893, i16 1318, i16 894, i16 2, i16 717, i16 1319, i16 895, i16 1320, i16 896, i16 2, i16 925, i16 1321, i16 897, i16 1322, i16 898, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1309, i16 127, i16 0, i16 1310, i16 138, i16 0, i16 1311, i16 142, i16 0, i16 1312, i16 145, i16 0, i16 1313, i16 152, i16 0, i16 1314, i16 187, i16 0, i16 982, i16 656, i16 899, i16 1022, i16 864, i16 900, i16 987, i16 696, i16 901, i16 1027, i16 904, i16 902, i16 989, i16 712, i16 903, i16 1029, i16 920, i16 904, i16 1009, i16 829, i16 905, i16 1048, i16 1033, i16 906, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 749, i16 1219, i16 907, i16 1220, i16 908, i16 2, i16 956, i16 1221, i16 909, i16 1222, i16 910, i16 2, i16 824, i16 1325, i16 911, i16 1326, i16 912, i16 2, i16 1028, i16 1327, i16 913, i16 1328, i16 914, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1323, i16 161, i16 0, i16 1324, i16 184, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 76, i16 1632, i16 1329, i16 915, i16 1330, i16 915, i16 1331, i16 915, i16 1332, i16 915, i16 1333, i16 915, i16 1334, i16 915, i16 1335, i16 915, i16 1336, i16 915, i16 1337, i16 915, i16 1338, i16 915, i16 1339, i16 915, i16 1340, i16 915, i16 1341, i16 915, i16 1342, i16 915, i16 1343, i16 915, i16 1344, i16 915, i16 1345, i16 915, i16 1346, i16 915, i16 1347, i16 915, i16 1348, i16 915, i16 1349, i16 915, i16 1350, i16 915, i16 1351, i16 915, i16 1352, i16 915, i16 1353, i16 915, i16 1354, i16 915, i16 1355, i16 915, i16 1356, i16 915, i16 1357, i16 915, i16 1358, i16 915, i16 1359, i16 915, i16 1360, i16 915, i16 1361, i16 915, i16 1362, i16 915, i16 1363, i16 915, i16 1364, i16 915, i16 1365, i16 915, i16 1366, i16 915, i16 1367, i16 916, i16 1368, i16 916, i16 1369, i16 916, i16 1370, i16 916, i16 1371, i16 916, i16 1372, i16 916, i16 1373, i16 916, i16 1374, i16 916, i16 1375, i16 916, i16 1376, i16 916, i16 1377, i16 916, i16 1378, i16 916, i16 1379, i16 916, i16 1380, i16 916, i16 1381, i16 916, i16 1382, i16 916, i16 1383, i16 916, i16 1384, i16 916, i16 1385, i16 916, i16 1386, i16 916, i16 1387, i16 916, i16 1388, i16 916, i16 1389, i16 916, i16 1390, i16 916, i16 1391, i16 916, i16 1392, i16 916, i16 1393, i16 916, i16 1394, i16 916, i16 1395, i16 916, i16 1396, i16 916, i16 1397, i16 916, i16 1398, i16 916, i16 1399, i16 916, i16 1400, i16 916, i16 1401, i16 916, i16 1402, i16 916, i16 1403, i16 916, i16 1404, i16 916, i16 1, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 3, i16 1216, i16 0, i16 1405, i16 0, i16 1406, i16 0, i16 1407, i16 0, i16 1408, i16 0, i16 5, i16 16, i16 1217, i16 0, i16 1409, i16 0, i16 1410, i16 0, i16 1411, i16 0, i16 1412, i16 0, i16 2, i16 133, i16 1414, i16 0, i16 1415, i16 0, i16 4, i16 163, i16 996, i16 917, i16 998, i16 918, i16 1036, i16 919, i16 1038, i16 920, i16 4, i16 178, i16 1004, i16 921, i16 1006, i16 922, i16 1043, i16 923, i16 1045, i16 924, i16 6, i16 864, i16 1424, i16 925, i16 1425, i16 926, i16 1426, i16 927, i16 1427, i16 928, i16 1428, i16 929, i16 1429, i16 930, i16 6, i16 656, i16 1430, i16 931, i16 1431, i16 932, i16 1432, i16 933, i16 1433, i16 934, i16 1434, i16 935, i16 1435, i16 936, i16 6, i16 878, i16 1436, i16 937, i16 1437, i16 938, i16 1438, i16 939, i16 1439, i16 940, i16 1440, i16 941, i16 1441, i16 942, i16 6, i16 670, i16 1442, i16 943, i16 1443, i16 944, i16 1444, i16 945, i16 1445, i16 946, i16 1446, i16 947, i16 1447, i16 948, i16 12, i16 878, i16 1448, i16 949, i16 1449, i16 950, i16 1450, i16 951, i16 1451, i16 952, i16 1452, i16 953, i16 1453, i16 954, i16 1454, i16 955, i16 1455, i16 956, i16 1456, i16 953, i16 1457, i16 954, i16 1458, i16 955, i16 1459, i16 956, i16 12, i16 670, i16 1460, i16 957, i16 1461, i16 958, i16 1462, i16 959, i16 1463, i16 960, i16 1464, i16 961, i16 1465, i16 962, i16 1466, i16 963, i16 1467, i16 964, i16 1468, i16 961, i16 1469, i16 962, i16 1470, i16 963, i16 1471, i16 964, i16 6, i16 907, i16 1472, i16 965, i16 1473, i16 966, i16 1474, i16 967, i16 1475, i16 968, i16 1476, i16 969, i16 1477, i16 970, i16 6, i16 699, i16 1478, i16 971, i16 1479, i16 972, i16 1480, i16 973, i16 1481, i16 974, i16 1482, i16 975, i16 1483, i16 976, i16 6, i16 943, i16 1484, i16 977, i16 1485, i16 978, i16 1486, i16 979, i16 1487, i16 980, i16 1488, i16 981, i16 1489, i16 982, i16 6, i16 736, i16 1490, i16 983, i16 1491, i16 984, i16 1492, i16 985, i16 1493, i16 986, i16 1494, i16 987, i16 1495, i16 988, i16 6, i16 956, i16 1496, i16 989, i16 1497, i16 990, i16 1498, i16 991, i16 1499, i16 992, i16 1500, i16 993, i16 1501, i16 994, i16 6, i16 749, i16 1502, i16 995, i16 1503, i16 996, i16 1504, i16 997, i16 1505, i16 998, i16 1506, i16 999, i16 1507, i16 1000, i16 6, i16 992, i16 1508, i16 1001, i16 1509, i16 1002, i16 1510, i16 1003, i16 1511, i16 1004, i16 1512, i16 1005, i16 1513, i16 1006, i16 6, i16 787, i16 1514, i16 1007, i16 1515, i16 1008, i16 1516, i16 1009, i16 1517, i16 1010, i16 1518, i16 1011, i16 1519, i16 1012, i16 6, i16 1003, i16 1520, i16 1013, i16 1521, i16 1014, i16 1522, i16 1015, i16 1523, i16 1016, i16 1524, i16 1017, i16 1525, i16 1018, i16 6, i16 799, i16 1526, i16 1019, i16 1527, i16 1020, i16 1528, i16 1021, i16 1529, i16 1022, i16 1530, i16 1023, i16 1531, i16 1024, i16 6, i16 1038, i16 1532, i16 1025, i16 1533, i16 1026, i16 1534, i16 1027, i16 1535, i16 1028, i16 1536, i16 1029, i16 1537, i16 1030, i16 6, i16 834, i16 1538, i16 1031, i16 1539, i16 1032, i16 1540, i16 1033, i16 1541, i16 1034, i16 1542, i16 1035, i16 1543, i16 1036, i16 1, i16 1413, i16 127, i16 0, i16 1416, i16 142, i16 0, i16 1417, i16 158, i16 0, i16 1418, i16 161, i16 0, i16 1419, i16 163, i16 0, i16 1420, i16 173, i16 0, i16 1421, i16 176, i16 0, i16 1422, i16 178, i16 0, i16 1423, i16 189, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 9, i16 31, i16 890, i16 0, i16 892, i16 0, i16 1544, i16 0, i16 891, i16 0, i16 1545, i16 0, i16 1546, i16 0, i16 1547, i16 0, i16 893, i16 0, i16 894, i16 0, i16 2, i16 42, i16 1548, i16 0, i16 1549, i16 0, i16 3, i16 194, i16 1550, i16 0, i16 906, i16 0, i16 905, i16 0, i16 2, i16 238, i16 907, i16 0, i16 1551, i16 0, i16 16, i16 482, i16 961, i16 1037, i16 962, i16 1037, i16 963, i16 1037, i16 967, i16 1037, i16 968, i16 1037, i16 969, i16 1037, i16 964, i16 1037, i16 965, i16 1037, i16 966, i16 1037, i16 954, i16 1037, i16 955, i16 1037, i16 956, i16 1037, i16 959, i16 1037, i16 960, i16 1037, i16 957, i16 1037, i16 958, i16 1037, i16 4, i16 520, i16 1552, i16 1037, i16 1553, i16 1037, i16 1554, i16 1037, i16 1555, i16 1037, i16 35, i16 1049, i16 1050, i16 641, i16 1049, i16 642, i16 1052, i16 643, i16 1051, i16 644, i16 1054, i16 645, i16 1053, i16 646, i16 1056, i16 647, i16 1055, i16 648, i16 1058, i16 649, i16 1057, i16 650, i16 1060, i16 651, i16 1059, i16 652, i16 1062, i16 653, i16 1061, i16 654, i16 1064, i16 655, i16 1063, i16 656, i16 1066, i16 657, i16 1065, i16 658, i16 1068, i16 659, i16 1067, i16 660, i16 1070, i16 1038, i16 1556, i16 1038, i16 1073, i16 665, i16 1557, i16 1039, i16 1069, i16 661, i16 1071, i16 1040, i16 1558, i16 1040, i16 1072, i16 1041, i16 1559, i16 1041, i16 1079, i16 1042, i16 1560, i16 1042, i16 1081, i16 1043, i16 1561, i16 1044, i16 1562, i16 1045, i16 1563, i16 1043, i16 2, i16 1135, i16 1076, i16 667, i16 1075, i16 1046, i16 6, i16 1148, i16 1077, i16 669, i16 1074, i16 1047, i16 1078, i16 1048, i16 1564, i16 1049, i16 1080, i16 1050, i16 1082, i16 1051, i16 15, i16 1160, i16 1084, i16 1052, i16 1085, i16 1053, i16 1090, i16 1054, i16 1091, i16 1055, i16 1565, i16 1056, i16 1566, i16 1057, i16 1083, i16 1058, i16 1086, i16 1059, i16 1087, i16 1060, i16 1088, i16 1061, i16 1089, i16 1062, i16 1108, i16 1063, i16 1109, i16 1064, i16 1567, i16 1065, i16 1568, i16 1066, i16 8, i16 1276, i16 1098, i16 1067, i16 1099, i16 1068, i16 1100, i16 1069, i16 1101, i16 1070, i16 1094, i16 1071, i16 1095, i16 1072, i16 1096, i16 1073, i16 1097, i16 1074, i16 26, i16 1320, i16 1102, i16 1075, i16 1103, i16 1076, i16 1104, i16 1077, i16 1105, i16 1078, i16 1092, i16 1079, i16 1093, i16 1080, i16 1106, i16 1081, i16 1107, i16 1082, i16 1570, i16 1083, i16 1571, i16 1084, i16 1572, i16 1085, i16 1573, i16 1086, i16 1110, i16 1087, i16 1111, i16 1088, i16 1112, i16 1089, i16 1113, i16 1090, i16 1114, i16 1091, i16 1115, i16 1092, i16 1116, i16 1093, i16 1117, i16 1094, i16 1118, i16 1095, i16 1119, i16 1096, i16 1120, i16 1097, i16 1121, i16 1098, i16 1122, i16 1099, i16 1123, i16 1100, i16 1, i16 1569, i16 1229, i16 1101, i16 1155, i16 22611, i16 1, i16 0, i16 1, i16 1574, i16 127, i16 0, i16 1575, i16 142, i16 0, i16 1576, i16 145, i16 0, i16 1577, i16 154, i16 0, i16 1578, i16 173, i16 0, i16 1579, i16 178, i16 0, i16 1020, i16 864, i16 1102, i16 980, i16 656, i16 1103, i16 1026, i16 907, i16 1104, i16 986, i16 699, i16 1105, i16 1028, i16 920, i16 1106, i16 988, i16 712, i16 1107, i16 1033, i16 937, i16 1108, i16 993, i16 729, i16 1109, i16 1039, i16 992, i16 1110, i16 999, i16 787, i16 1111, i16 1044, i16 1013, i16 1112, i16 1005, i16 809, i16 1113, i16 1155, i16 22611, i16 1, i16 0, i16 3, i16 127, i16 1580, i16 0, i16 898, i16 0, i16 1581, i16 0, i16 3, i16 138, i16 1582, i16 0, i16 899, i16 0, i16 1583, i16 0, i16 2, i16 656, i16 1588, i16 1114, i16 1589, i16 1115, i16 2, i16 864, i16 1590, i16 1116, i16 1591, i16 1117, i16 2, i16 670, i16 1592, i16 1118, i16 1593, i16 1119, i16 2, i16 878, i16 1594, i16 1120, i16 1595, i16 1121, i16 2, i16 696, i16 1596, i16 1122, i16 1597, i16 1123, i16 2, i16 904, i16 1598, i16 1124, i16 1599, i16 1125, i16 2, i16 699, i16 1219, i16 1126, i16 1220, i16 1127, i16 2, i16 907, i16 1221, i16 1128, i16 1222, i16 1129, i16 2, i16 736, i16 1600, i16 1130, i16 1601, i16 1131, i16 2, i16 943, i16 1602, i16 1132, i16 1603, i16 1133, i16 2, i16 777, i16 1604, i16 1134, i16 1605, i16 1135, i16 2, i16 982, i16 1606, i16 1136, i16 1607, i16 1137, i16 2, i16 781, i16 1608, i16 1138, i16 1609, i16 1139, i16 2, i16 986, i16 1610, i16 1140, i16 1611, i16 1141, i16 2, i16 799, i16 1612, i16 1142, i16 1613, i16 1143, i16 2, i16 1003, i16 1614, i16 1144, i16 1615, i16 1145, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1584, i16 158, i16 0, i16 1585, i16 168, i16 0, i16 1586, i16 171, i16 0, i16 1587, i16 176, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 127, i16 1254, i16 0, i16 1255, i16 0, i16 898, i16 0, i16 1256, i16 0, i16 1257, i16 0, i16 2, i16 656, i16 979, i16 830, i16 981, i16 831, i16 2, i16 864, i16 1019, i16 832, i16 1021, i16 833, i16 3, i16 670, i16 1262, i16 834, i16 1263, i16 835, i16 984, i16 836, i16 5, i16 878, i16 1264, i16 837, i16 1265, i16 838, i16 1024, i16 839, i16 1266, i16 840, i16 1267, i16 841, i16 2, i16 943, i16 1268, i16 842, i16 1269, i16 843, i16 2, i16 749, i16 1270, i16 844, i16 1271, i16 845, i16 2, i16 956, i16 1272, i16 846, i16 1273, i16 847, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1258, i16 158, i16 0, i16 1259, i16 161, i16 0, i16 1260, i16 173, i16 0, i16 1261, i16 189, i16 0, i16 1000, i16 787, i16 848, i16 1040, i16 992, i16 849, i16 1008, i16 834, i16 850, i16 1047, i16 1038, i16 851, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 127, i16 1616, i16 0, i16 1617, i16 0, i16 4, i16 656, i16 1588, i16 1146, i16 1589, i16 1147, i16 1618, i16 1148, i16 1619, i16 1149, i16 4, i16 864, i16 1590, i16 1150, i16 1591, i16 1151, i16 1620, i16 1152, i16 1621, i16 1153, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 46, i16 74, i16 908, i16 0, i16 909, i16 0, i16 910, i16 0, i16 911, i16 0, i16 912, i16 0, i16 913, i16 0, i16 914, i16 0, i16 915, i16 0, i16 916, i16 0, i16 917, i16 0, i16 918, i16 0, i16 919, i16 0, i16 920, i16 0, i16 921, i16 0, i16 922, i16 0, i16 923, i16 0, i16 924, i16 0, i16 925, i16 0, i16 926, i16 0, i16 927, i16 0, i16 928, i16 0, i16 929, i16 0, i16 930, i16 0, i16 931, i16 0, i16 932, i16 0, i16 933, i16 0, i16 934, i16 0, i16 935, i16 0, i16 936, i16 0, i16 937, i16 0, i16 938, i16 0, i16 939, i16 0, i16 940, i16 0, i16 941, i16 0, i16 942, i16 0, i16 943, i16 0, i16 944, i16 0, i16 945, i16 0, i16 946, i16 0, i16 947, i16 0, i16 948, i16 0, i16 949, i16 0, i16 950, i16 0, i16 951, i16 0, i16 952, i16 0, i16 953, i16 0, i16 3, i16 1508, i16 1125, i16 1154, i16 1136, i16 1155, i16 1128, i16 1156, i16 3, i16 1514, i16 1126, i16 1157, i16 1127, i16 1158, i16 1138, i16 1159, i16 3, i16 1524, i16 1144, i16 1160, i16 1130, i16 1161, i16 1137, i16 1162, i16 3, i16 1572, i16 1140, i16 1163, i16 1152, i16 1164, i16 1143, i16 1165, i16 3, i16 1579, i16 1141, i16 1166, i16 1142, i16 1167, i16 1154, i16 1168, i16 3, i16 1588, i16 1129, i16 1169, i16 1145, i16 1170, i16 1153, i16 1171, i16 1, i16 1124, i16 1506, i16 1172, i16 1133, i16 1532, i16 1173, i16 1131, i16 1534, i16 1174, i16 1132, i16 1538, i16 1175, i16 1135, i16 1549, i16 1176, i16 1134, i16 1556, i16 1177, i16 1139, i16 1570, i16 1178, i16 1146, i16 1594, i16 1179, i16 1149, i16 1597, i16 1180, i16 1147, i16 1599, i16 1181, i16 1148, i16 1603, i16 1182, i16 1151, i16 1614, i16 1183, i16 1150, i16 1621, i16 1184, i16 1155, i16 22611, i16 1, i16 0, i16 6, i16 145, i16 904, i16 0, i16 900, i16 0, i16 1183, i16 0, i16 901, i16 0, i16 902, i16 0, i16 903, i16 0, i16 2, i16 712, i16 992, i16 767, i16 990, i16 768, i16 2, i16 920, i16 1030, i16 769, i16 1032, i16 770, i16 1, i16 1181, i16 127, i16 0, i16 1180, i16 136, i16 0, i16 1182, i16 142, i16 0, i16 1622, i16 163, i16 0, i16 1186, i16 173, i16 0, i16 1187, i16 178, i16 0, i16 1188, i16 303, i16 0, i16 1189, i16 309, i16 0, i16 1190, i16 322, i16 0, i16 1192, i16 330, i16 0, i16 1193, i16 340, i16 0, i16 1194, i16 343, i16 0, i16 1195, i16 346, i16 0, i16 978, i16 656, i16 777, i16 1018, i16 864, i16 778, i16 1196, i16 686, i16 763, i16 1197, i16 894, i16 765, i16 985, i16 699, i16 779, i16 1025, i16 907, i16 780, i16 996, i16 762, i16 1185, i16 1036, i16 968, i16 1186, i16 1001, i16 787, i16 781, i16 1041, i16 992, i16 782, i16 1004, i16 809, i16 783, i16 1043, i16 1013, i16 784, i16 1200, i16 1506, i16 785, i16 1201, i16 1570, i16 786, i16 1202, i16 1514, i16 787, i16 1203, i16 1579, i16 788, i16 1204, i16 1532, i16 789, i16 1205, i16 1597, i16 790, i16 1208, i16 1541, i16 793, i16 1209, i16 1606, i16 794, i16 1210, i16 1549, i16 795, i16 1211, i16 1614, i16 796, i16 1212, i16 1553, i16 797, i16 1213, i16 1618, i16 798, i16 1214, i16 1556, i16 799, i16 1215, i16 1621, i16 800, i16 1155, i16 22611, i16 1, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 877, i16 1780, i16 1190, i16 1781, i16 1833, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 990, i16 1792, i16 1190, i16 1793, i16 1844, i16 3, i16 1009, i16 1794, i16 1845, i16 1795, i16 1846, i16 1796, i16 1847, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 4, i16 1206, i16 1828, i16 1190, i16 1829, i16 1878, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1266, i16 1838, i16 1190, i16 1839, i16 1887, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 8, i16 1361, i16 1848, i16 1190, i16 1849, i16 1896, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1803, i16 1075, i16 1925, i16 0, i16 2, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 20, i16 1370, i16 1850, i16 1934, i16 1851, i16 1935, i16 1852, i16 1936, i16 1853, i16 1937, i16 1854, i16 1938, i16 1855, i16 1939, i16 1856, i16 1934, i16 1857, i16 1940, i16 1858, i16 1941, i16 1859, i16 1942, i16 1860, i16 1943, i16 1861, i16 1944, i16 1862, i16 1945, i16 1863, i16 1946, i16 1864, i16 1947, i16 1865, i16 1948, i16 1866, i16 1949, i16 1867, i16 1950, i16 1868, i16 1951, i16 1869, i16 1952, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 7, i16 1418, i16 1874, i16 1187, i16 1848, i16 1953, i16 1849, i16 1954, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 20, i16 1440, i16 1760, i16 1190, i16 1761, i16 1955, i16 1762, i16 1956, i16 1763, i16 1957, i16 1764, i16 1190, i16 1765, i16 1958, i16 1770, i16 1959, i16 1771, i16 1960, i16 1772, i16 1959, i16 1773, i16 1961, i16 1774, i16 1959, i16 1775, i16 1962, i16 1828, i16 1190, i16 1829, i16 1878, i16 1822, i16 1963, i16 1823, i16 1964, i16 1824, i16 1963, i16 1825, i16 1965, i16 1820, i16 1966, i16 1821, i16 1967, i16 27, i16 2011, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 1, i16 1696, i16 1, i16 1187, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 877, i16 1778, i16 1968, i16 1779, i16 1846, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1836, i16 1971, i16 1837, i16 1846, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 2, i16 1429, i16 1881, i16 1923, i16 1882, i16 1924, i16 2, i16 1440, i16 1879, i16 1974, i16 1880, i16 1846, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 2, i16 836, i16 1768, i16 1821, i16 1769, i16 1822, i16 8, i16 843, i16 1766, i16 1190, i16 1767, i16 1975, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 877, i16 1776, i16 1190, i16 1777, i16 1976, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 2, i16 944, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 955, i16 1786, i16 1190, i16 1787, i16 1977, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 2, i16 1088, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1099, i16 1804, i16 1190, i16 1805, i16 1978, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 4, i16 1132, i16 1808, i16 1190, i16 1809, i16 1979, i16 1814, i16 1864, i16 1815, i16 1865, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 4, i16 1206, i16 1816, i16 1190, i16 1817, i16 1980, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1834, i16 1190, i16 1835, i16 1981, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 3, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 2, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 4, i16 1440, i16 1877, i16 1190, i16 1878, i16 1982, i16 1881, i16 1190, i16 1882, i16 1983, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 9, i16 1418, i16 1874, i16 1187, i16 1848, i16 1984, i16 1849, i16 1985, i16 1844, i16 1984, i16 1845, i16 1986, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 24, i16 1440, i16 1770, i16 1190, i16 1771, i16 1987, i16 1772, i16 1988, i16 1773, i16 1989, i16 1774, i16 1990, i16 1775, i16 1991, i16 1764, i16 1992, i16 1765, i16 1993, i16 1822, i16 1190, i16 1823, i16 1994, i16 1824, i16 1995, i16 1825, i16 1996, i16 1828, i16 1997, i16 1829, i16 1998, i16 1818, i16 1999, i16 1819, i16 2000, i16 1760, i16 1190, i16 1761, i16 1955, i16 1883, i16 2001, i16 1884, i16 2002, i16 1885, i16 2003, i16 1886, i16 2004, i16 1762, i16 2001, i16 1763, i16 2005, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 2, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 8, i16 843, i16 1768, i16 1190, i16 1769, i16 2006, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 877, i16 1778, i16 1190, i16 1779, i16 2007, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 2, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 2, i16 955, i16 1788, i16 1190, i16 1789, i16 2008, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 990, i16 1790, i16 1190, i16 1791, i16 2009, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 7, i16 1046, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 1874, i16 1187, i16 1799, i16 1190, i16 1800, i16 2010, i16 3, i16 1075, i16 1801, i16 1190, i16 1802, i16 2011, i16 1803, i16 1925, i16 2, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 2, i16 1099, i16 1806, i16 1190, i16 1807, i16 2012, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 4, i16 1132, i16 1812, i16 1190, i16 1813, i16 2013, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 4, i16 1206, i16 1826, i16 1190, i16 1827, i16 2014, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1242, i16 1832, i16 1190, i16 1833, i16 2015, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1836, i16 1190, i16 1837, i16 2016, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 8, i16 1361, i16 1846, i16 1190, i16 1847, i16 2017, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1418, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 2, i16 1429, i16 1881, i16 1923, i16 1882, i16 1924, i16 2, i16 1440, i16 1879, i16 1190, i16 1880, i16 2018, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1046, i16 1870, i16 1190, i16 1871, i16 1915, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 2, i16 1400, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 81, i16 1697, i16 1712, i16 1698, i16 2019, i16 1699, i16 2019, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 898, i16 1887, i16 2020, i16 1888, i16 2021, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 9, i16 1418, i16 1874, i16 1187, i16 1848, i16 1984, i16 1849, i16 1985, i16 1844, i16 1984, i16 1845, i16 1986, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 24, i16 1440, i16 1770, i16 1190, i16 1771, i16 1987, i16 1772, i16 1988, i16 1773, i16 1989, i16 1774, i16 1990, i16 1775, i16 1991, i16 1764, i16 1992, i16 1765, i16 1993, i16 1822, i16 1190, i16 1823, i16 1994, i16 1824, i16 1995, i16 1825, i16 1996, i16 1828, i16 1997, i16 1829, i16 1998, i16 1818, i16 1999, i16 1819, i16 2000, i16 1760, i16 1190, i16 1761, i16 1955, i16 1883, i16 2001, i16 1884, i16 2002, i16 1885, i16 2003, i16 1886, i16 2004, i16 1762, i16 2001, i16 1763, i16 2005, i16 1, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1220, i16 2022, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1892, i16 1189, i16 1893, i16 1189, i16 1894, i16 1189, i16 3, i16 461, i16 1895, i16 1189, i16 1896, i16 1189, i16 1897, i16 1189, i16 3, i16 465, i16 1898, i16 1189, i16 1899, i16 1189, i16 1900, i16 1189, i16 3, i16 469, i16 1901, i16 1189, i16 1902, i16 1189, i16 1903, i16 1189, i16 2, i16 491, i16 1910, i16 1189, i16 1911, i16 1189, i16 2, i16 499, i16 1913, i16 1189, i16 1914, i16 1189, i16 29, i16 519, i16 1918, i16 1189, i16 1703, i16 1189, i16 1704, i16 1189, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 1717, i16 1189, i16 1718, i16 1189, i16 1719, i16 1189, i16 1720, i16 1189, i16 1721, i16 1189, i16 1722, i16 1189, i16 1723, i16 1189, i16 1724, i16 1189, i16 1725, i16 1189, i16 1726, i16 1189, i16 1727, i16 1189, i16 1728, i16 1189, i16 1729, i16 1189, i16 1730, i16 1189, i16 2, i16 753, i16 1919, i16 1189, i16 1920, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1759, i16 1846, i16 1758, i16 2023, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 898, i16 1888, i16 1846, i16 1887, i16 2024, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 955, i16 1785, i16 1846, i16 1784, i16 2025, i16 4, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 1921, i16 2026, i16 1922, i16 2027, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1046, i16 1798, i16 1846, i16 1797, i16 2028, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 2029, i16 1815, i16 2030, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 2, i16 1179, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1817, i16 1846, i16 1816, i16 2031, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 8, i16 1361, i16 1843, i16 1846, i16 1842, i16 2032, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 2, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 7, i16 1418, i16 1874, i16 1187, i16 1873, i16 1846, i16 1872, i16 2033, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 10, i16 1440, i16 1841, i16 1846, i16 1840, i16 2034, i16 1771, i16 1846, i16 1770, i16 2035, i16 1831, i16 2036, i16 1830, i16 2037, i16 1829, i16 1846, i16 1828, i16 2038, i16 1823, i16 2039, i16 1822, i16 2040, i16 4, i16 2011, i16 1923, i16 1744, i16 1924, i16 2041, i16 1925, i16 2042, i16 1926, i16 2043, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1702, i16 205, i16 1189, i16 1701, i16 221, i16 1189, i16 1700, i16 324, i16 1189, i16 1889, i16 371, i16 1189, i16 1890, i16 445, i16 1189, i16 1891, i16 447, i16 1189, i16 1904, i16 473, i16 1189, i16 1905, i16 476, i16 1189, i16 1906, i16 479, i16 1189, i16 1907, i16 481, i16 1189, i16 1908, i16 484, i16 1189, i16 1909, i16 487, i16 1189, i16 1912, i16 495, i16 1189, i16 1915, i16 503, i16 1189, i16 1916, i16 507, i16 1189, i16 1917, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 4, i16 877, i16 1778, i16 1190, i16 1779, i16 2007, i16 1776, i16 1190, i16 1777, i16 1976, i16 6, i16 898, i16 1927, i16 1190, i16 1928, i16 2044, i16 1929, i16 2045, i16 1930, i16 2046, i16 1782, i16 1190, i16 1783, i16 2047, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 4, i16 1099, i16 1931, i16 1190, i16 1932, i16 2048, i16 1933, i16 2049, i16 1934, i16 2050, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 6, i16 1132, i16 1935, i16 1190, i16 1936, i16 2051, i16 1937, i16 2052, i16 1938, i16 2053, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1836, i16 1190, i16 1837, i16 2016, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 2, i16 1429, i16 1881, i16 1923, i16 1882, i16 1924, i16 2, i16 1440, i16 1879, i16 1190, i16 1880, i16 2018, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 4, i16 1132, i16 1810, i16 1190, i16 1811, i16 2054, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 10, i16 1266, i16 1836, i16 2055, i16 1837, i16 2056, i16 1875, i16 2057, i16 1876, i16 2058, i16 1877, i16 2059, i16 1878, i16 2060, i16 1881, i16 2061, i16 1882, i16 2062, i16 1879, i16 2063, i16 1880, i16 2064, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 22, i16 1370, i16 1856, i16 2065, i16 1857, i16 2066, i16 1858, i16 2067, i16 1859, i16 2068, i16 1860, i16 2069, i16 1861, i16 2070, i16 1862, i16 2071, i16 1863, i16 2072, i16 1868, i16 2073, i16 1869, i16 2074, i16 1866, i16 2075, i16 1867, i16 2076, i16 1864, i16 2077, i16 1865, i16 2078, i16 1820, i16 2079, i16 1821, i16 2080, i16 1764, i16 2081, i16 1765, i16 2082, i16 1828, i16 2081, i16 1829, i16 2083, i16 1848, i16 2081, i16 1849, i16 2084, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 1874, i16 1418, i16 1187, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 4, i16 877, i16 1939, i16 1190, i16 1940, i16 2085, i16 1941, i16 2086, i16 1942, i16 2087, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 4, i16 1099, i16 1943, i16 1190, i16 1944, i16 2088, i16 1945, i16 2089, i16 1946, i16 2090, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 4, i16 1132, i16 1810, i16 1190, i16 1811, i16 2054, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 32766, i16 32766, i16 32766, i16 -2, i16 16384, i16 0, i16 16384, i16 -2, i16 16384, i16 0, i16 16384, i16 -16206, i16 16384, i16 0, i16 16384, i16 -16204, i16 16384, i16 0, i16 16384, i16 -16353, i16 16384, i16 0, i16 16384, i16 -16352, i16 16384, i16 0, i16 16384, i16 -16351, i16 16384, i16 0, i16 16384, i16 -16350, i16 16384, i16 0, i16 16384, i16 -16349, i16 16384, i16 0, i16 16384, i16 -16348, i16 16384, i16 0, i16 16384, i16 -16347, i16 16384, i16 0, i16 16384, i16 -16346, i16 16384, i16 0, i16 16384, i16 -16345, i16 16384, i16 0, i16 16384, i16 -16344, i16 16384, i16 0, i16 16384, i16 -16343, i16 16384, i16 0, i16 16384, i16 -16342, i16 16384, i16 0, i16 16384, i16 -16341, i16 16384, i16 0, i16 16384, i16 -15486, i16 16384, i16 0, i16 16384, i16 -16340, i16 16384, i16 0, i16 16384, i16 -16339, i16 16384, i16 0, i16 16384, i16 -15485, i16 16384, i16 0, i16 16384, i16 -16338, i16 16384, i16 0, i16 16384, i16 -15484, i16 16384, i16 0, i16 16384, i16 -15483, i16 16384, i16 0, i16 16384, i16 -15482, i16 16384, i16 0, i16 16384, i16 -16337, i16 16384, i16 0, i16 16384, i16 -16336, i16 16384, i16 0, i16 16384, i16 -16335, i16 16384, i16 0, i16 16384, i16 -16334, i16 16384, i16 0, i16 16384, i16 -16333, i16 16384, i16 0, i16 16384, i16 -15481, i16 16384, i16 0, i16 16384, i16 -16332, i16 16384, i16 0, i16 16384, i16 -16331, i16 16384, i16 0, i16 16384, i16 -16330, i16 16384, i16 0, i16 16384, i16 -16329, i16 16384, i16 0, i16 16384, i16 -16328, i16 16384, i16 0, i16 16384, i16 -16327, i16 16384, i16 0, i16 16384, i16 -15480, i16 16384, i16 0, i16 16384, i16 -16326, i16 16384, i16 0, i16 16384, i16 -16325, i16 16534, i16 14, i16 17273, i16 -16384, i16 16415, i16 14, i16 17273, i16 -16384, i16 16416, i16 14, i16 17273, i16 -16384, i16 16417, i16 14, i16 17273, i16 -16384, i16 16418, i16 14, i16 17273, i16 -16384, i16 16419, i16 14, i16 17273, i16 -16384, i16 16420, i16 14, i16 17273, i16 -16384, i16 16421, i16 14, i16 17273, i16 -16384, i16 16422, i16 14, i16 17273, i16 -16384, i16 16423, i16 14, i16 17273, i16 -16384, i16 16424, i16 14, i16 17273, i16 -16384, i16 16415, i16 17, i16 17273, i16 -16384, i16 16415, i16 896, i16 17273, i16 -16384, i16 16415, i16 897, i16 17273, i16 -16384, i16 16415, i16 19, i16 17273, i16 -16384, i16 16415, i16 21, i16 17273, i16 -16384, i16 16415, i16 18, i16 17273, i16 -16384, i16 16415, i16 20, i16 17273, i16 -16384, i16 16415, i16 14, i16 16392, i16 -16384, i16 16416, i16 14, i16 16392, i16 -16384, i16 16417, i16 14, i16 16392, i16 -16384, i16 16418, i16 14, i16 16392, i16 -16384, i16 16419, i16 14, i16 16392, i16 -16384, i16 16420, i16 14, i16 16392, i16 -16384, i16 16421, i16 14, i16 16392, i16 -16384, i16 16422, i16 14, i16 16392, i16 -16384, i16 16423, i16 14, i16 16392, i16 -16384, i16 16424, i16 14, i16 16392, i16 -16384, i16 16425, i16 14, i16 17273, i16 -16384, i16 16425, i16 15, i16 16392, i16 -16384, i16 16425, i16 26, i16 17273, i16 -16384, i16 16425, i16 27, i16 17273, i16 -16384, i16 16426, i16 14, i16 17273, i16 -16384, i16 16427, i16 14, i16 17273, i16 -16384, i16 17282, i16 14, i16 17273, i16 -16384, i16 17282, i16 18, i16 17273, i16 -16384, i16 16428, i16 14, i16 17273, i16 -16384, i16 16428, i16 16, i16 17273, i16 -16384, i16 16428, i16 17, i16 17273, i16 -16384, i16 16428, i16 897, i16 17273, i16 -16384, i16 16428, i16 20, i16 17273, i16 -16384, i16 16428, i16 18, i16 17273, i16 -16384, i16 16428, i16 23, i16 17273, i16 -16384, i16 16428, i16 26, i16 17273, i16 -16384, i16 16428, i16 27, i16 17273, i16 -16384, i16 16429, i16 14, i16 17273, i16 -16384, i16 17283, i16 14, i16 17273, i16 -16384, i16 17283, i16 25, i16 17273, i16 -16384, i16 16430, i16 14, i16 17273, i16 -16384, i16 17284, i16 16, i16 17273, i16 -16384, i16 17284, i16 17, i16 17273, i16 -16384, i16 17284, i16 20, i16 17273, i16 -16384, i16 17284, i16 22, i16 17273, i16 -16384, i16 17284, i16 26, i16 17273, i16 -16384, i16 17284, i16 27, i16 17273, i16 -16384, i16 18009, i16 1628, i16 18015, i16 -16384, i16 17285, i16 14, i16 17273, i16 -16384, i16 17286, i16 14, i16 17273, i16 -16384, i16 17286, i16 15, i16 17273, i16 -16384, i16 17286, i16 25, i16 17273, i16 -16384, i16 16431, i16 14, i16 17273, i16 -16384, i16 16431, i16 16, i16 17273, i16 -16384, i16 16431, i16 18, i16 17273, i16 -16384, i16 16431, i16 24, i16 17273, i16 -16384, i16 16431, i16 25, i16 17273, i16 -16384, i16 16431, i16 23, i16 17273, i16 -16384, i16 16432, i16 14, i16 17273, i16 -16384, i16 16433, i16 14, i16 17273, i16 -16384, i16 16433, i16 15, i16 17273, i16 -16384, i16 16433, i16 16, i16 17273, i16 -16384, i16 16433, i16 18, i16 17273, i16 -16384, i16 16433, i16 25, i16 17273, i16 -16384, i16 16434, i16 14, i16 17273, i16 -16384, i16 16434, i16 15, i16 16392, i16 -16384, i16 16434, i16 16, i16 17273, i16 -16384, i16 16434, i16 17, i16 17273, i16 -16384, i16 16434, i16 897, i16 17273, i16 -16384, i16 16434, i16 22, i16 17273, i16 -16384, i16 16434, i16 27, i16 17273, i16 -16384, i16 18018, i16 1628, i16 18015, i16 -16384, i16 16435, i16 14, i16 17273, i16 -16384, i16 17287, i16 14, i16 17273, i16 -16384, i16 16436, i16 14, i16 17273, i16 -16384, i16 16436, i16 16, i16 17273, i16 -16384, i16 16436, i16 18, i16 17273, i16 -16384, i16 16436, i16 25, i16 17273, i16 -16384, i16 16437, i16 14, i16 17273, i16 -16384, i16 16437, i16 16, i16 17273, i16 -16384, i16 16438, i16 14, i16 17273, i16 -16384, i16 16438, i16 18, i16 17273, i16 -16384, i16 16438, i16 24, i16 17273, i16 -16384, i16 16439, i16 14, i16 17273, i16 -16384, i16 16439, i16 16, i16 17273, i16 -16384, i16 16439, i16 17, i16 17273, i16 -16384, i16 16439, i16 897, i16 17273, i16 -16384, i16 16439, i16 19, i16 17273, i16 -16384, i16 16439, i16 22, i16 17273, i16 -16384, i16 16439, i16 26, i16 17273, i16 -16384, i16 16439, i16 27, i16 17273, i16 -16384, i16 16440, i16 14, i16 17273, i16 -16384, i16 16441, i16 897, i16 17273, i16 -16384, i16 17288, i16 14, i16 17273, i16 -16384, i16 16442, i16 14, i16 17273, i16 -16384, i16 16442, i16 16, i16 17273, i16 -16384, i16 16442, i16 20, i16 17273, i16 -16384, i16 16442, i16 897, i16 17273, i16 -16384, i16 16443, i16 14, i16 17273, i16 -16384, i16 16443, i16 16, i16 17273, i16 -16384, i16 16444, i16 14, i16 17273, i16 -16384, i16 16425, i16 14, i16 16393, i16 -16384, i16 16425, i16 26, i16 16393, i16 -16384, i16 16425, i16 27, i16 16393, i16 -16384, i16 16426, i16 14, i16 16393, i16 -16384, i16 16427, i16 14, i16 16393, i16 -16384, i16 17282, i16 14, i16 16393, i16 -16384, i16 17282, i16 18, i16 16393, i16 -16384, i16 16428, i16 14, i16 16393, i16 -16384, i16 16428, i16 16, i16 16393, i16 -16384, i16 16428, i16 17, i16 16393, i16 -16384, i16 16428, i16 897, i16 16393, i16 -16384, i16 16428, i16 20, i16 16393, i16 -16384, i16 16428, i16 18, i16 16393, i16 -16384, i16 16428, i16 23, i16 16393, i16 -16384, i16 16428, i16 26, i16 16393, i16 -16384, i16 16428, i16 27, i16 16393, i16 -16384, i16 16429, i16 14, i16 16393, i16 -16384, i16 17283, i16 14, i16 16393, i16 -16384, i16 17283, i16 25, i16 16393, i16 -16384, i16 16430, i16 14, i16 16393, i16 -16384, i16 17284, i16 16, i16 16393, i16 -16384, i16 17284, i16 17, i16 16393, i16 -16384, i16 17284, i16 20, i16 16393, i16 -16384, i16 17284, i16 22, i16 16393, i16 -16384, i16 17284, i16 26, i16 16393, i16 -16384, i16 17284, i16 27, i16 16393, i16 -16384, i16 18009, i16 1628, i16 18021, i16 -16384, i16 17285, i16 14, i16 16393, i16 -16384, i16 17286, i16 14, i16 16393, i16 -16384, i16 17286, i16 25, i16 16393, i16 -16384, i16 16431, i16 14, i16 16393, i16 -16384, i16 16431, i16 16, i16 16393, i16 -16384, i16 16431, i16 18, i16 16393, i16 -16384, i16 16431, i16 24, i16 16393, i16 -16384, i16 16431, i16 25, i16 16393, i16 -16384, i16 16431, i16 23, i16 16393, i16 -16384, i16 16432, i16 14, i16 16393, i16 -16384, i16 16433, i16 14, i16 16393, i16 -16384, i16 16433, i16 16, i16 16393, i16 -16384, i16 16433, i16 18, i16 16393, i16 -16384, i16 16433, i16 25, i16 16393, i16 -16384, i16 16434, i16 14, i16 16393, i16 -16384, i16 16434, i16 16, i16 16393, i16 -16384, i16 16434, i16 17, i16 16393, i16 -16384, i16 16434, i16 897, i16 16393, i16 -16384, i16 16434, i16 22, i16 16393, i16 -16384, i16 16434, i16 27, i16 16393, i16 -16384, i16 18018, i16 1628, i16 18021, i16 -16384, i16 16435, i16 14, i16 16393, i16 -16384, i16 17287, i16 14, i16 16393, i16 -16384, i16 16436, i16 14, i16 16393, i16 -16384, i16 16436, i16 16, i16 16393, i16 -16384, i16 16436, i16 18, i16 16393, i16 -16384, i16 16436, i16 25, i16 16393, i16 -16384, i16 16437, i16 14, i16 16393, i16 -16384, i16 16437, i16 16, i16 16393, i16 -16384, i16 16438, i16 14, i16 16393, i16 -16384, i16 16438, i16 18, i16 16393, i16 -16384, i16 16438, i16 24, i16 16393, i16 -16384, i16 16439, i16 14, i16 16393, i16 -16384, i16 16439, i16 16, i16 16393, i16 -16384, i16 16439, i16 17, i16 16393, i16 -16384, i16 16439, i16 897, i16 16393, i16 -16384, i16 16439, i16 19, i16 16393, i16 -16384, i16 16439, i16 22, i16 16393, i16 -16384, i16 16439, i16 26, i16 16393, i16 -16384, i16 16439, i16 27, i16 16393, i16 -16384, i16 16440, i16 14, i16 16393, i16 -16384, i16 16441, i16 897, i16 16393, i16 -16384, i16 17288, i16 14, i16 16393, i16 -16384, i16 16442, i16 14, i16 16393, i16 -16384, i16 16442, i16 16, i16 16393, i16 -16384, i16 16442, i16 897, i16 16393, i16 -16384, i16 16442, i16 20, i16 16393, i16 -16384, i16 16443, i16 14, i16 16393, i16 -16384, i16 16443, i16 16, i16 16393, i16 -16384, i16 16444, i16 14, i16 16393, i16 -16384, i16 16445, i16 16398, i16 17273, i16 -16384, i16 16446, i16 16398, i16 17273, i16 -16384, i16 16448, i16 16398, i16 17273, i16 -16384, i16 16449, i16 16398, i16 17273, i16 -16384, i16 16450, i16 16398, i16 17273, i16 -16384, i16 16451, i16 16398, i16 17273, i16 -16384, i16 16452, i16 16398, i16 17273, i16 -16384, i16 16453, i16 16398, i16 17273, i16 -16384, i16 16454, i16 16398, i16 17273, i16 -16384, i16 16455, i16 16398, i16 17273, i16 -16384, i16 16456, i16 16398, i16 17273, i16 -16384, i16 16457, i16 16398, i16 17273, i16 -16384, i16 16458, i16 16398, i16 17273, i16 -16384, i16 16459, i16 16398, i16 17273, i16 -16384, i16 16460, i16 16398, i16 17273, i16 -16384, i16 16461, i16 16398, i16 17273, i16 -16384, i16 16462, i16 16398, i16 17273, i16 -16384, i16 16463, i16 16398, i16 17273, i16 -16384, i16 16464, i16 16398, i16 17273, i16 -16384, i16 16465, i16 16398, i16 17273, i16 -16384, i16 16466, i16 16398, i16 17273, i16 -16384, i16 16467, i16 16398, i16 17273, i16 -16384, i16 16468, i16 16398, i16 17273, i16 -16384, i16 16469, i16 16398, i16 17273, i16 -16384, i16 16470, i16 16398, i16 17273, i16 -16384, i16 16471, i16 16398, i16 17273, i16 -16384, i16 16474, i16 16398, i16 17273, i16 -16384, i16 16475, i16 16398, i16 17273, i16 -16384, i16 16476, i16 16398, i16 17273, i16 -16384, i16 16477, i16 16398, i16 17273, i16 -16384, i16 16478, i16 16398, i16 17273, i16 -16384, i16 16480, i16 16398, i16 17273, i16 -16384, i16 16482, i16 17278, i16 17273, i16 -16384, i16 16482, i16 16398, i16 17273, i16 -16384, i16 61, i16 14, i16 3, i16 -16384, i16 61, i16 14, i16 4, i16 -16384, i16 61, i16 14, i16 5, i16 -16384, i16 61, i16 14, i16 6, i16 -16384, i16 62, i16 14, i16 3, i16 -16384, i16 62, i16 14, i16 4, i16 -16384, i16 62, i16 14, i16 5, i16 -16384, i16 62, i16 14, i16 6, i16 -16384, i16 64, i16 14, i16 3, i16 -16384, i16 64, i16 14, i16 4, i16 -16384, i16 64, i16 14, i16 5, i16 -16384, i16 64, i16 14, i16 6, i16 -16384, i16 65, i16 14, i16 3, i16 -16384, i16 65, i16 14, i16 4, i16 -16384, i16 65, i16 14, i16 5, i16 -16384, i16 65, i16 14, i16 6, i16 -16384, i16 66, i16 14, i16 3, i16 -16384, i16 66, i16 14, i16 4, i16 -16384, i16 66, i16 14, i16 5, i16 -16384, i16 66, i16 14, i16 6, i16 -16384, i16 67, i16 14, i16 3, i16 -16384, i16 67, i16 14, i16 4, i16 -16384, i16 67, i16 14, i16 5, i16 -16384, i16 67, i16 14, i16 6, i16 -16384, i16 68, i16 14, i16 3, i16 -16384, i16 68, i16 14, i16 4, i16 -16384, i16 68, i16 14, i16 5, i16 -16384, i16 68, i16 14, i16 6, i16 -16384, i16 69, i16 14, i16 3, i16 -16384, i16 69, i16 14, i16 4, i16 -16384, i16 69, i16 14, i16 5, i16 -16384, i16 69, i16 14, i16 6, i16 -16384, i16 70, i16 14, i16 3, i16 -16384, i16 70, i16 14, i16 4, i16 -16384, i16 70, i16 14, i16 5, i16 -16384, i16 70, i16 14, i16 6, i16 -16384, i16 71, i16 14, i16 3, i16 -16384, i16 71, i16 14, i16 4, i16 -16384, i16 72, i16 14, i16 3, i16 -16384, i16 72, i16 14, i16 4, i16 -16384, i16 73, i16 14, i16 3, i16 -16384, i16 73, i16 14, i16 4, i16 -16384, i16 74, i16 14, i16 3, i16 -16384, i16 74, i16 14, i16 4, i16 -16384, i16 75, i16 14, i16 3, i16 -16384, i16 75, i16 14, i16 4, i16 -16384, i16 76, i16 14, i16 3, i16 -16384, i16 76, i16 14, i16 4, i16 -16384, i16 77, i16 14, i16 3, i16 -16384, i16 77, i16 14, i16 4, i16 -16384, i16 78, i16 14, i16 3, i16 -16384, i16 78, i16 14, i16 4, i16 -16384, i16 78, i16 14, i16 5, i16 -16384, i16 78, i16 14, i16 6, i16 -16384, i16 79, i16 14, i16 3, i16 -16384, i16 79, i16 14, i16 4, i16 -16384, i16 79, i16 14, i16 5, i16 -16384, i16 79, i16 14, i16 6, i16 -16384, i16 80, i16 14, i16 3, i16 -16384, i16 80, i16 14, i16 4, i16 -16384, i16 80, i16 14, i16 5, i16 -16384, i16 80, i16 14, i16 6, i16 -16384, i16 81, i16 14, i16 3, i16 -16384, i16 81, i16 14, i16 4, i16 -16384, i16 81, i16 14, i16 5, i16 -16384, i16 81, i16 14, i16 6, i16 -16384, i16 82, i16 14, i16 3, i16 -16384, i16 82, i16 14, i16 4, i16 -16384, i16 82, i16 14, i16 5, i16 -16384, i16 82, i16 14, i16 6, i16 -16384, i16 83, i16 14, i16 3, i16 -16384, i16 83, i16 14, i16 4, i16 -16384, i16 83, i16 14, i16 5, i16 -16384, i16 83, i16 14, i16 6, i16 -16384, i16 84, i16 14, i16 3, i16 -16384, i16 84, i16 14, i16 4, i16 -16384, i16 84, i16 14, i16 5, i16 -16384, i16 84, i16 14, i16 6, i16 -16384, i16 85, i16 14, i16 3, i16 -16384, i16 85, i16 14, i16 4, i16 -16384, i16 85, i16 14, i16 5, i16 -16384, i16 85, i16 14, i16 6, i16 -16384, i16 86, i16 14, i16 3, i16 -16384, i16 86, i16 14, i16 4, i16 -16384, i16 86, i16 14, i16 5, i16 -16384, i16 86, i16 14, i16 6, i16 -16384, i16 87, i16 14, i16 3, i16 -16384, i16 87, i16 14, i16 4, i16 -16384, i16 87, i16 14, i16 5, i16 -16384, i16 87, i16 14, i16 6, i16 -16384, i16 90, i16 14, i16 3, i16 -16384, i16 90, i16 14, i16 4, i16 -16384, i16 90, i16 14, i16 5, i16 -16384, i16 90, i16 14, i16 6, i16 -16384, i16 91, i16 14, i16 3, i16 -16384, i16 91, i16 14, i16 4, i16 -16384, i16 91, i16 14, i16 5, i16 -16384, i16 91, i16 14, i16 6, i16 -16384, i16 92, i16 14, i16 3, i16 -16384, i16 92, i16 14, i16 4, i16 -16384, i16 92, i16 14, i16 5, i16 -16384, i16 92, i16 14, i16 6, i16 -16384, i16 93, i16 14, i16 3, i16 -16384, i16 93, i16 14, i16 4, i16 -16384, i16 93, i16 14, i16 5, i16 -16384, i16 93, i16 14, i16 6, i16 -16384, i16 94, i16 14, i16 3, i16 -16384, i16 94, i16 14, i16 4, i16 -16384, i16 96, i16 14, i16 3, i16 -16384, i16 96, i16 14, i16 4, i16 -16384, i16 1640, i16 1643, i16 1646, i16 -16384, i16 1640, i16 1643, i16 1649, i16 -16384, i16 1640, i16 1643, i16 1652, i16 -16384, i16 1640, i16 1643, i16 1655, i16 -16384, i16 98, i16 894, i16 3, i16 -16384, i16 98, i16 894, i16 4, i16 -16384, i16 98, i16 14, i16 3, i16 -16384, i16 98, i16 14, i16 4, i16 -16384, i16 16483, i16 16398, i16 16384, i16 -16384, i16 16484, i16 16398, i16 16384, i16 -16384, i16 16485, i16 16398, i16 16384, i16 -16384, i16 16486, i16 16398, i16 16384, i16 -16384, i16 16487, i16 16398, i16 16384, i16 -16384, i16 16488, i16 16398, i16 16384, i16 -16384, i16 16489, i16 16398, i16 16384, i16 -16384, i16 16490, i16 16398, i16 16384, i16 -16384, i16 16491, i16 16398, i16 16384, i16 -16384, i16 16492, i16 16398, i16 16384, i16 -16384, i16 16493, i16 16398, i16 16384, i16 -16384, i16 16494, i16 16398, i16 16384, i16 -16384, i16 16495, i16 16398, i16 16384, i16 -16384, i16 16496, i16 16398, i16 16384, i16 -16384, i16 16497, i16 16398, i16 16384, i16 -16384, i16 16498, i16 16398, i16 16384, i16 -16384, i16 16499, i16 16398, i16 16384, i16 -16384, i16 16500, i16 16398, i16 16384, i16 -16384, i16 16501, i16 16398, i16 16384, i16 -16384, i16 16502, i16 16398, i16 16384, i16 -16384, i16 16503, i16 16398, i16 16384, i16 -16384, i16 16504, i16 16398, i16 16384, i16 -16384, i16 16505, i16 16398, i16 16384, i16 -16384, i16 16506, i16 16398, i16 16384, i16 -16384, i16 16507, i16 16398, i16 16384, i16 -16384, i16 16508, i16 16398, i16 16384, i16 -16384, i16 16509, i16 16398, i16 16384, i16 -16384, i16 16510, i16 14, i16 16393, i16 -16384, i16 16510, i16 28, i16 16393, i16 -16384, i16 16511, i16 14, i16 16393, i16 -16384, i16 16512, i16 14, i16 16393, i16 -16384, i16 16512, i16 15, i16 16393, i16 -16384, i16 16513, i16 14, i16 16393, i16 -16384, i16 16513, i16 15, i16 16393, i16 -16384, i16 16514, i16 14, i16 16393, i16 -16384, i16 16514, i16 28, i16 16393, i16 -16384, i16 16515, i16 14, i16 16393, i16 -16384, i16 16515, i16 15, i16 16393, i16 -16384, i16 16516, i16 14, i16 16393, i16 -16384, i16 16516, i16 28, i16 16393, i16 -16384, i16 16517, i16 14, i16 16393, i16 -16384, i16 16518, i16 14, i16 16393, i16 -16384, i16 16518, i16 28, i16 16393, i16 -16384, i16 16518, i16 29, i16 16393, i16 -16384, i16 16519, i16 14, i16 16393, i16 -16384, i16 16519, i16 15, i16 16393, i16 -16384, i16 16519, i16 895, i16 16393, i16 -16384, i16 16520, i16 14, i16 16393, i16 -16384, i16 16521, i16 14, i16 16393, i16 -16384, i16 16522, i16 14, i16 16393, i16 -16384, i16 16523, i16 14, i16 16393, i16 -16384, i16 16524, i16 14, i16 16393, i16 -16384, i16 16524, i16 28, i16 16393, i16 -16384, i16 16525, i16 14, i16 16393, i16 -16384, i16 16526, i16 14, i16 16393, i16 -16384, i16 16527, i16 14, i16 16393, i16 -16384, i16 16527, i16 15, i16 16393, i16 -16384, i16 16527, i16 895, i16 16393, i16 -16384, i16 16528, i16 14, i16 16393, i16 -16384, i16 16528, i16 15, i16 16393, i16 -16384, i16 16529, i16 14, i16 16393, i16 -16384, i16 16529, i16 28, i16 16393, i16 -16384, i16 16529, i16 29, i16 16393, i16 -16384, i16 16529, i16 30, i16 16393, i16 -16384, i16 16529, i16 26, i16 16393, i16 -16384, i16 16529, i16 27, i16 16393, i16 -16384, i16 16530, i16 14, i16 16393, i16 -16384, i16 16530, i16 895, i16 16393, i16 -16384, i16 16531, i16 14, i16 16393, i16 -16384, i16 16531, i16 15, i16 16393, i16 -16384, i16 16532, i16 14, i16 16393, i16 -16384, i16 16532, i16 15, i16 16393, i16 -16384, i16 16533, i16 14, i16 16393, i16 -16384, i16 16533, i16 28, i16 16393, i16 -16384, i16 16510, i16 14, i16 16396, i16 -16384, i16 16510, i16 28, i16 16396, i16 -16384, i16 16511, i16 14, i16 16396, i16 -16384, i16 16511, i16 15, i16 16396, i16 -16384, i16 16512, i16 14, i16 16396, i16 -16384, i16 16513, i16 14, i16 16396, i16 -16384, i16 16514, i16 14, i16 16396, i16 -16384, i16 16514, i16 28, i16 16396, i16 -16384, i16 16515, i16 14, i16 16396, i16 -16384, i16 16515, i16 15, i16 16396, i16 -16384, i16 16516, i16 14, i16 16396, i16 -16384, i16 16516, i16 28, i16 16396, i16 -16384, i16 16517, i16 14, i16 16396, i16 -16384, i16 16517, i16 15, i16 16396, i16 -16384, i16 16518, i16 14, i16 16396, i16 -16384, i16 16518, i16 28, i16 16396, i16 -16384, i16 16518, i16 29, i16 16396, i16 -16384, i16 16518, i16 30, i16 16396, i16 -16384, i16 16518, i16 26, i16 16396, i16 -16384, i16 16519, i16 14, i16 16396, i16 -16384, i16 16519, i16 15, i16 16396, i16 -16384, i16 16519, i16 895, i16 16396, i16 -16384, i16 16520, i16 14, i16 16396, i16 -16384, i16 16521, i16 14, i16 16396, i16 -16384, i16 16522, i16 14, i16 16396, i16 -16384, i16 16523, i16 14, i16 16396, i16 -16384, i16 16524, i16 14, i16 16396, i16 -16384, i16 16524, i16 28, i16 16396, i16 -16384, i16 16525, i16 14, i16 16396, i16 -16384, i16 16525, i16 15, i16 16396, i16 -16384, i16 16526, i16 15, i16 16396, i16 -16384, i16 16527, i16 14, i16 16396, i16 -16384, i16 16527, i16 15, i16 16396, i16 -16384, i16 16527, i16 895, i16 16396, i16 -16384, i16 16527, i16 26, i16 16396, i16 -16384, i16 16528, i16 14, i16 16396, i16 -16384, i16 16528, i16 15, i16 16396, i16 -16384, i16 16529, i16 14, i16 16396, i16 -16384, i16 16529, i16 28, i16 16396, i16 -16384, i16 16529, i16 29, i16 16396, i16 -16384, i16 16529, i16 30, i16 16396, i16 -16384, i16 16530, i16 14, i16 16396, i16 -16384, i16 16530, i16 15, i16 16396, i16 -16384, i16 16530, i16 895, i16 16396, i16 -16384, i16 16531, i16 14, i16 16396, i16 -16384, i16 16532, i16 14, i16 16396, i16 -16384, i16 16532, i16 15, i16 16396, i16 -16384, i16 16533, i16 14, i16 16396, i16 -16384, i16 16533, i16 28, i16 16396, i16 -16384, i16 17292, i16 16398, i16 17273, i16 -16384, i16 17293, i16 16398, i16 17273, i16 -16384, i16 17294, i16 16398, i16 17273, i16 -16384, i16 17295, i16 16398, i16 17273, i16 -16384, i16 17296, i16 16398, i16 17273, i16 -16384, i16 17299, i16 16398, i16 17273, i16 -16384, i16 17302, i16 16398, i16 17273, i16 -16384, i16 17303, i16 16398, i16 17273, i16 -16384, i16 17305, i16 16398, i16 17273, i16 -16384, i16 17308, i16 16398, i16 17273, i16 -16384, i16 17309, i16 16398, i16 17273, i16 -16384, i16 17310, i16 16398, i16 17273, i16 -16384, i16 17311, i16 16398, i16 17273, i16 -16384, i16 17313, i16 16398, i16 17273, i16 -16384, i16 17314, i16 16398, i16 17273, i16 -16384, i16 17316, i16 16398, i16 17273, i16 -16384, i16 17317, i16 16398, i16 17273, i16 -16384, i16 17318, i16 16398, i16 17273, i16 -16384, i16 17319, i16 16398, i16 17273, i16 -16384, i16 17320, i16 16398, i16 17273, i16 -16384, i16 17323, i16 16398, i16 17273, i16 -16384, i16 17325, i16 16398, i16 17273, i16 -16384, i16 17326, i16 16398, i16 17273, i16 -16384, i16 17327, i16 16398, i16 17273, i16 -16384, i16 17328, i16 16398, i16 17273, i16 -16384, i16 17330, i16 16398, i16 17273, i16 -16384, i16 17331, i16 16398, i16 17273, i16 -16384, i16 17332, i16 16398, i16 17273, i16 -16384, i16 17334, i16 16398, i16 17273, i16 -16384, i16 17336, i16 16398, i16 17273, i16 -16384, i16 17337, i16 16398, i16 17273, i16 -16384, i16 17292, i16 16398, i16 16393, i16 -16384, i16 17293, i16 16398, i16 16393, i16 -16384, i16 17294, i16 16398, i16 16393, i16 -16384, i16 17295, i16 16398, i16 16393, i16 -16384, i16 17296, i16 16398, i16 16393, i16 -16384, i16 17299, i16 16398, i16 16393, i16 -16384, i16 17302, i16 16398, i16 16393, i16 -16384, i16 17303, i16 16398, i16 16393, i16 -16384, i16 17305, i16 16398, i16 16393, i16 -16384, i16 17308, i16 16398, i16 16393, i16 -16384, i16 17310, i16 16398, i16 16393, i16 -16384, i16 17311, i16 16398, i16 16393, i16 -16384, i16 17313, i16 16398, i16 16393, i16 -16384, i16 17314, i16 16398, i16 16393, i16 -16384, i16 17316, i16 16398, i16 16393, i16 -16384, i16 17317, i16 16398, i16 16393, i16 -16384, i16 17318, i16 16398, i16 16393, i16 -16384, i16 17319, i16 16398, i16 16393, i16 -16384, i16 17320, i16 16398, i16 16393, i16 -16384, i16 17323, i16 16398, i16 16393, i16 -16384, i16 17325, i16 16398, i16 16393, i16 -16384, i16 17326, i16 16398, i16 16393, i16 -16384, i16 17327, i16 16398, i16 16393, i16 -16384, i16 17328, i16 16398, i16 16393, i16 -16384, i16 17330, i16 16398, i16 16393, i16 -16384, i16 17331, i16 16398, i16 16393, i16 -16384, i16 17332, i16 16398, i16 16393, i16 -16384, i16 17334, i16 16398, i16 16393, i16 -16384, i16 17336, i16 16398, i16 16393, i16 -16384, i16 17337, i16 16398, i16 16393, i16 -16384, i16 16425, i16 16, i16 17273, i16 -16384, i16 16425, i16 17, i16 17273, i16 -16384, i16 16425, i16 897, i16 17273, i16 -16384, i16 16425, i16 22, i16 17273, i16 -16384, i16 16425, i16 20, i16 17273, i16 -16384, i16 16425, i16 19, i16 17273, i16 -16384, i16 16425, i16 896, i16 17273, i16 -16384, i16 18042, i16 1628, i16 18015, i16 -16384, i16 16427, i16 25, i16 17273, i16 -16384, i16 16427, i16 16, i16 17273, i16 -16384, i16 16427, i16 897, i16 17273, i16 -16384, i16 16427, i16 18, i16 17273, i16 -16384, i16 16427, i16 23, i16 17273, i16 -16384, i16 17282, i16 15, i16 17273, i16 -16384, i16 17282, i16 24, i16 17273, i16 -16384, i16 17283, i16 896, i16 17273, i16 -16384, i16 17283, i16 897, i16 17273, i16 -16384, i16 17283, i16 23, i16 17273, i16 -16384, i16 16430, i16 897, i16 17273, i16 -16384, i16 16430, i16 24, i16 17273, i16 -16384, i16 17284, i16 14, i16 17273, i16 -16384, i16 17284, i16 897, i16 17273, i16 -16384, i16 17284, i16 15, i16 17273, i16 -16384, i16 17285, i16 897, i16 17273, i16 -16384, i16 16433, i16 22, i16 17273, i16 -16384, i16 18045, i16 1628, i16 18015, i16 -16384, i16 16434, i16 20, i16 17273, i16 -16384, i16 16434, i16 24, i16 17273, i16 -16384, i16 16434, i16 21, i16 17273, i16 -16384, i16 16437, i16 897, i16 17273, i16 -16384, i16 16437, i16 18, i16 17273, i16 -16384, i16 16437, i16 25, i16 17273, i16 -16384, i16 18048, i16 1628, i16 18015, i16 -16384, i16 16438, i16 25, i16 17273, i16 -16384, i16 16439, i16 20, i16 17273, i16 -16384, i16 16439, i16 896, i16 17273, i16 -16384, i16 16439, i16 21, i16 17273, i16 -16384, i16 16441, i16 14, i16 17273, i16 -16384, i16 16443, i16 18, i16 17273, i16 -16384, i16 16443, i16 23, i16 17273, i16 -16384, i16 16425, i16 16, i16 16393, i16 -16384, i16 16425, i16 17, i16 16393, i16 -16384, i16 16425, i16 897, i16 16393, i16 -16384, i16 16425, i16 22, i16 16393, i16 -16384, i16 16425, i16 20, i16 16393, i16 -16384, i16 16425, i16 19, i16 16393, i16 -16384, i16 16425, i16 896, i16 16393, i16 -16384, i16 18042, i16 1628, i16 18021, i16 -16384, i16 16427, i16 25, i16 16393, i16 -16384, i16 16427, i16 16, i16 16393, i16 -16384, i16 16427, i16 897, i16 16393, i16 -16384, i16 16427, i16 18, i16 16393, i16 -16384, i16 16427, i16 23, i16 16393, i16 -16384, i16 17282, i16 15, i16 16393, i16 -16384, i16 17282, i16 24, i16 16393, i16 -16384, i16 17283, i16 896, i16 16393, i16 -16384, i16 17283, i16 897, i16 16393, i16 -16384, i16 17283, i16 23, i16 16393, i16 -16384, i16 16430, i16 897, i16 16393, i16 -16384, i16 16430, i16 24, i16 16393, i16 -16384, i16 17284, i16 14, i16 16393, i16 -16384, i16 17284, i16 897, i16 16393, i16 -16384, i16 17284, i16 15, i16 16393, i16 -16384, i16 17285, i16 897, i16 16393, i16 -16384, i16 16433, i16 22, i16 16393, i16 -16384, i16 18045, i16 1628, i16 18021, i16 -16384, i16 16434, i16 20, i16 16393, i16 -16384, i16 16434, i16 24, i16 16393, i16 -16384, i16 16434, i16 21, i16 16393, i16 -16384, i16 16437, i16 897, i16 16393, i16 -16384, i16 16437, i16 18, i16 16393, i16 -16384, i16 16437, i16 25, i16 16393, i16 -16384, i16 16438, i16 25, i16 16393, i16 -16384, i16 16439, i16 20, i16 16393, i16 -16384, i16 16439, i16 896, i16 16393, i16 -16384, i16 16439, i16 21, i16 16393, i16 -16384, i16 16441, i16 14, i16 16393, i16 -16384, i16 16443, i16 18, i16 16393, i16 -16384, i16 16443, i16 23, i16 16393, i16 -16384, i16 16415, i16 16398, i16 17273, i16 -16384, i16 16415, i16 16399, i16 17273, i16 -16384, i16 16416, i16 16398, i16 17273, i16 -16384, i16 16416, i16 16399, i16 17273, i16 -16384, i16 16417, i16 16398, i16 17273, i16 -16384, i16 16417, i16 16399, i16 17273, i16 -16384, i16 16418, i16 16398, i16 17273, i16 -16384, i16 16418, i16 16399, i16 17273, i16 -16384, i16 16419, i16 16398, i16 17273, i16 -16384, i16 16419, i16 16399, i16 17273, i16 -16384, i16 16420, i16 16398, i16 17273, i16 -16384, i16 16420, i16 16399, i16 17273, i16 -16384, i16 16421, i16 16398, i16 17273, i16 -16384, i16 16421, i16 16399, i16 17273, i16 -16384, i16 16422, i16 16398, i16 17273, i16 -16384, i16 16422, i16 16399, i16 17273, i16 -16384, i16 16423, i16 16398, i16 17273, i16 -16384, i16 16423, i16 16399, i16 17273, i16 -16384, i16 16424, i16 16398, i16 17273, i16 -16384, i16 16424, i16 16399, i16 17273, i16 -16384, i16 17289, i16 16398, i16 17273, i16 -16384, i16 17290, i16 16397, i16 17273, i16 -16384, i16 17290, i16 17274, i16 17273, i16 -16384, i16 17290, i16 17276, i16 17273, i16 -16384, i16 17290, i16 16398, i16 17273, i16 -16384, i16 16447, i16 16398, i16 17273, i16 -16384, i16 16472, i16 16398, i16 17273, i16 -16384, i16 16473, i16 16398, i16 17273, i16 -16384, i16 17291, i16 16398, i16 17273, i16 -16384, i16 16479, i16 16398, i16 17273, i16 -16384, i16 16480, i16 17275, i16 17273, i16 -16384, i16 16481, i16 16398, i16 17273, i16 -16384, i16 18051, i16 18054, i16 18015, i16 -16384, i16 16481, i16 17277, i16 17273, i16 -16384, i16 905, i16 14, i16 3, i16 -16384, i16 906, i16 13, i16 3, i16 -16384, i16 906, i16 13, i16 4, i16 -16384, i16 906, i16 890, i16 3, i16 -16384, i16 906, i16 890, i16 4, i16 -16384, i16 906, i16 892, i16 3, i16 -16384, i16 906, i16 892, i16 4, i16 -16384, i16 906, i16 14, i16 3, i16 -16384, i16 906, i16 14, i16 4, i16 -16384, i16 63, i16 14, i16 3, i16 -16384, i16 63, i16 14, i16 4, i16 -16384, i16 88, i16 14, i16 3, i16 -16384, i16 88, i16 14, i16 4, i16 -16384, i16 88, i16 14, i16 5, i16 -16384, i16 88, i16 14, i16 6, i16 -16384, i16 89, i16 14, i16 3, i16 -16384, i16 89, i16 14, i16 4, i16 -16384, i16 89, i16 14, i16 5, i16 -16384, i16 89, i16 14, i16 6, i16 -16384, i16 907, i16 14, i16 3, i16 -16384, i16 907, i16 14, i16 4, i16 -16384, i16 907, i16 14, i16 5, i16 -16384, i16 907, i16 14, i16 6, i16 -16384, i16 95, i16 14, i16 3, i16 -16384, i16 95, i16 14, i16 4, i16 -16384, i16 96, i16 891, i16 3, i16 -16384, i16 96, i16 891, i16 4, i16 -16384, i16 97, i16 14, i16 3, i16 -16384, i16 97, i16 14, i16 4, i16 -16384, i16 97, i16 893, i16 3, i16 -16384, i16 97, i16 893, i16 4, i16 -16384, i16 97, i16 893, i16 5, i16 -16384, i16 97, i16 893, i16 6, i16 -16384, i16 1673, i16 1676, i16 1679, i16 -16384, i16 1673, i16 1676, i16 1682, i16 -16384, i16 1673, i16 1685, i16 1679, i16 -16384, i16 1673, i16 1685, i16 1682, i16 -16384, i16 1673, i16 1688, i16 1679, i16 -16384, i16 1673, i16 1688, i16 1682, i16 -16384, i16 1673, i16 1643, i16 1679, i16 -16384, i16 1673, i16 1643, i16 1682, i16 -16384, i16 17297, i16 16398, i16 17273, i16 -16384, i16 17298, i16 16398, i16 17273, i16 -16384, i16 17300, i16 16398, i16 17273, i16 -16384, i16 17301, i16 16398, i16 17273, i16 -16384, i16 17304, i16 16398, i16 17273, i16 -16384, i16 17306, i16 16398, i16 17273, i16 -16384, i16 17307, i16 16398, i16 17273, i16 -16384, i16 17312, i16 16398, i16 17273, i16 -16384, i16 17315, i16 16398, i16 17273, i16 -16384, i16 17321, i16 16398, i16 17273, i16 -16384, i16 17322, i16 16398, i16 17273, i16 -16384, i16 17324, i16 16398, i16 17273, i16 -16384, i16 17329, i16 16398, i16 17273, i16 -16384, i16 17333, i16 16398, i16 17273, i16 -16384, i16 17335, i16 16398, i16 17273, i16 -16384, i16 17297, i16 16398, i16 16393, i16 -16384, i16 17298, i16 16398, i16 16393, i16 -16384, i16 17300, i16 16398, i16 16393, i16 -16384, i16 17301, i16 16398, i16 16393, i16 -16384, i16 17304, i16 16398, i16 16393, i16 -16384, i16 17306, i16 16398, i16 16393, i16 -16384, i16 17307, i16 16398, i16 16393, i16 -16384, i16 17309, i16 16398, i16 16393, i16 -16384, i16 17312, i16 16398, i16 16393, i16 -16384, i16 17315, i16 16398, i16 16393, i16 -16384, i16 17321, i16 16398, i16 16393, i16 -16384, i16 17322, i16 16398, i16 16393, i16 -16384, i16 17324, i16 16398, i16 16393, i16 -16384, i16 17329, i16 16398, i16 16393, i16 -16384, i16 17333, i16 16398, i16 16393, i16 -16384, i16 17335, i16 16398, i16 16393, i16 -16384, i16 32767, i16 16384, i16 16384, i16 -16384, i16 18075, i16 18078, i16 16384, i16 -16384, i16 18081, i16 18078, i16 16384, i16 -16384, i16 18084, i16 18078, i16 16384, i16 -16384, i16 17541, i16 16407, i16 17273, i16 -16384, i16 17542, i16 16407, i16 17273, i16 -16384, i16 17543, i16 16407, i16 17273, i16 -16384, i16 17544, i16 16407, i16 17273, i16 -16384, i16 17545, i16 16407, i16 17273, i16 -16384, i16 17540, i16 16407, i16 17273, i16 -16384, i16 17555, i16 16399, i16 17273, i16 -16384, i16 17555, i16 16399, i16 16393, i16 -16384, i16 17556, i16 16399, i16 17273, i16 -16384, i16 17556, i16 16399, i16 16393, i16 -16384, i16 17561, i16 16398, i16 17273, i16 -16384, i16 17561, i16 16398, i16 16393, i16 -16384, i16 17564, i16 16399, i16 17273, i16 -16384, i16 17564, i16 16404, i16 17273, i16 -16384, i16 17564, i16 16399, i16 16393, i16 -16384, i16 17564, i16 16404, i16 16393, i16 -16384, i16 17284, i16 16398, i16 17273, i16 -16384, i16 17567, i16 16407, i16 17273, i16 -16384, i16 17284, i16 16398, i16 16393, i16 -16384, i16 17567, i16 16407, i16 16393, i16 -16384, i16 17568, i16 16399, i16 17273, i16 -16384, i16 17568, i16 16406, i16 17273, i16 -16384, i16 17568, i16 16399, i16 16393, i16 -16384, i16 17568, i16 16406, i16 16393, i16 -16384, i16 17569, i16 16404, i16 17273, i16 -16384, i16 17569, i16 16404, i16 16393, i16 -16384, i16 17565, i16 16409, i16 17273, i16 -16384, i16 17565, i16 16409, i16 16393, i16 -16384, i16 17566, i16 17280, i16 17273, i16 -16384, i16 17566, i16 17280, i16 16393, i16 -16384, i16 17570, i16 16409, i16 17273, i16 -16384, i16 17570, i16 16409, i16 16393, i16 -16384, i16 17571, i16 16404, i16 17273, i16 -16384, i16 17571, i16 16404, i16 16393, i16 -16384, i16 17572, i16 16399, i16 17273, i16 -16384, i16 17572, i16 16399, i16 16393, i16 -16384, i16 17573, i16 16399, i16 17273, i16 -16384, i16 17573, i16 16399, i16 16393, i16 -16384, i16 17574, i16 16399, i16 17273, i16 -16384, i16 17574, i16 16399, i16 16393, i16 -16384, i16 17575, i16 16399, i16 17273, i16 -16384, i16 17575, i16 16399, i16 16393, i16 -16384, i16 17576, i16 16399, i16 17273, i16 -16384, i16 17576, i16 16399, i16 16393, i16 -16384, i16 17577, i16 16399, i16 17273, i16 -16384, i16 17577, i16 16399, i16 16393, i16 -16384, i16 17578, i16 16399, i16 17273, i16 -16384, i16 17578, i16 16399, i16 16393, i16 -16384, i16 17579, i16 16399, i16 17273, i16 -16384, i16 17579, i16 16399, i16 16393, i16 -16384, i16 17602, i16 16407, i16 17273, i16 -16384, i16 17602, i16 16407, i16 17600, i16 -16384, i16 17602, i16 16407, i16 16393, i16 -16384, i16 17602, i16 16407, i16 17601, i16 -16384, i16 32766, i16 16384, i16 16384, i16 16384, i16 17619, i16 16399, i16 17273, i16 -16384, i16 17619, i16 16399, i16 16393, i16 -16384, i16 17620, i16 16399, i16 17273, i16 -16384, i16 17620, i16 16399, i16 16393, i16 -16384, i16 17621, i16 16399, i16 17273, i16 -16384, i16 17621, i16 16399, i16 16393, i16 -16384, i16 17622, i16 16399, i16 17273, i16 -16384, i16 17622, i16 16399, i16 16393, i16 -16384, i16 17623, i16 16399, i16 17273, i16 -16384, i16 17623, i16 16399, i16 16393, i16 -16384, i16 17635, i16 16404, i16 17273, i16 -16384, i16 17634, i16 16403, i16 17273, i16 -16384, i16 17635, i16 17279, i16 17273, i16 -16384, i16 17636, i16 16404, i16 17273, i16 -16384, i16 17637, i16 16408, i16 17273, i16 -16384, i16 17635, i16 16404, i16 16393, i16 -16384, i16 17634, i16 16403, i16 16393, i16 -16384, i16 17635, i16 17279, i16 16393, i16 -16384, i16 17636, i16 16404, i16 16393, i16 -16384, i16 17637, i16 16408, i16 16393, i16 -16384, i16 16440, i16 16398, i16 16393, i16 -16327, i16 16440, i16 16398, i16 17273, i16 -16327, i16 16442, i16 16404, i16 17273, i16 -16384, i16 16442, i16 16404, i16 16393, i16 -16384, i16 17638, i16 16407, i16 17273, i16 -16384, i16 17639, i16 16407, i16 17273, i16 -16384, i16 17638, i16 16407, i16 16393, i16 -16384, i16 17639, i16 16407, i16 16393, i16 -16384, i16 17640, i16 16407, i16 17273, i16 -16384, i16 17640, i16 16407, i16 17600, i16 -16384, i16 17641, i16 16407, i16 17273, i16 -16384, i16 17640, i16 16407, i16 16393, i16 -16384, i16 17640, i16 16407, i16 17601, i16 -16384, i16 17641, i16 16407, i16 16393, i16 -16384, i16 17642, i16 16407, i16 17273, i16 -16384, i16 17642, i16 16407, i16 17600, i16 -16384, i16 17642, i16 16407, i16 16393, i16 -16384, i16 17642, i16 16407, i16 17601, i16 -16384, i16 17643, i16 16407, i16 17273, i16 -16384, i16 17643, i16 16407, i16 17600, i16 -16384, i16 17643, i16 16407, i16 16393, i16 -16384, i16 17643, i16 16407, i16 17601, i16 -16384, i16 17644, i16 16407, i16 17273, i16 -16384, i16 17644, i16 16407, i16 16393, i16 -16384, i16 17645, i16 16407, i16 17273, i16 -16384, i16 17645, i16 16407, i16 16393, i16 -16384, i16 17658, i16 16401, i16 17273, i16 -16384, i16 17660, i16 16400, i16 17273, i16 -16384, i16 17661, i16 17281, i16 17273, i16 -16384, i16 17659, i16 16406, i16 17273, i16 -16384, i16 17658, i16 16401, i16 16393, i16 -16384, i16 17660, i16 16400, i16 16393, i16 -16384, i16 17661, i16 17281, i16 16393, i16 -16384, i16 17659, i16 16406, i16 16393, i16 -16384, i16 17662, i16 16409, i16 17273, i16 -16384, i16 17639, i16 16402, i16 17273, i16 -16384, i16 17662, i16 16409, i16 16393, i16 -16384, i16 17639, i16 16402, i16 16393, i16 -16384, i16 17663, i16 16398, i16 17273, i16 -16384, i16 17664, i16 16402, i16 17273, i16 -16384, i16 17664, i16 16402, i16 16393, i16 -16384, i16 17666, i16 16399, i16 17273, i16 -16384, i16 17665, i16 16408, i16 17273, i16 -16384, i16 17666, i16 16399, i16 16393, i16 -16384, i16 17665, i16 16408, i16 16393, i16 -16384, i16 17668, i16 16402, i16 17273, i16 -16384, i16 17669, i16 16408, i16 17273, i16 -16384, i16 17671, i16 18078, i16 18015, i16 -16384, i16 17644, i16 16402, i16 17273, i16 -16384, i16 17644, i16 16402, i16 16393, i16 -16384, i16 17673, i16 16404, i16 17273, i16 -16384, i16 17672, i16 17279, i16 17273, i16 -16384, i16 17673, i16 16404, i16 16393, i16 -16384, i16 17672, i16 17279, i16 16393, i16 -16384, i16 17667, i16 16398, i16 17273, i16 -16384, i16 17670, i16 16402, i16 17273, i16 -16384, i16 17670, i16 16402, i16 16393, i16 -16384, i16 17685, i16 17281, i16 17273, i16 -16384, i16 17686, i16 17280, i16 17273, i16 -16384, i16 17685, i16 17281, i16 16393, i16 -16384, i16 17686, i16 17280, i16 16393, i16 -16384, i16 17688, i16 16409, i16 17273, i16 -16384, i16 17688, i16 16409, i16 16393, i16 -16384, i16 17687, i16 17281, i16 17273, i16 -16384, i16 17687, i16 17281, i16 16393, i16 -16384, i16 17695, i16 16399, i16 17273, i16 -16384, i16 17695, i16 16399, i16 17600, i16 -16384, i16 17695, i16 16399, i16 16393, i16 -16384, i16 17695, i16 16399, i16 17601, i16 -16384, i16 17697, i16 16399, i16 17273, i16 -16384, i16 17697, i16 16399, i16 17600, i16 -16384, i16 17697, i16 16399, i16 16393, i16 -16384, i16 17697, i16 16399, i16 17601, i16 -16384, i16 17693, i16 16407, i16 17273, i16 -16384, i16 17693, i16 16407, i16 16393, i16 -16384, i16 17694, i16 16407, i16 17273, i16 -16384, i16 17694, i16 16407, i16 16393, i16 -16384, i16 17696, i16 16408, i16 17273, i16 -16384, i16 17696, i16 16408, i16 16393, i16 -16384, i16 17698, i16 16407, i16 17273, i16 -16384, i16 17698, i16 16407, i16 16393, i16 -16384, i16 17707, i16 16407, i16 17273, i16 -16384, i16 17707, i16 16407, i16 17600, i16 -16384, i16 17707, i16 16407, i16 16393, i16 -16384, i16 17707, i16 16407, i16 17601, i16 -16384, i16 17708, i16 16407, i16 17273, i16 -16384, i16 17708, i16 16407, i16 17600, i16 -16384, i16 17708, i16 16407, i16 16393, i16 -16384, i16 17708, i16 16407, i16 17601, i16 -16384, i16 32766, i16 16398, i16 17273, i16 -16384, i16 32766, i16 16398, i16 16393, i16 -16384, i16 17803, i16 16404, i16 17273, i16 -16384, i16 17803, i16 16405, i16 17273, i16 -16384, i16 17803, i16 16404, i16 16393, i16 -16384, i16 17803, i16 16405, i16 16393, i16 -16384, i16 17806, i16 16404, i16 17273, i16 -16384, i16 17806, i16 16405, i16 17273, i16 -16384, i16 17806, i16 16404, i16 16393, i16 -16384, i16 17806, i16 16405, i16 16393, i16 -16384, i16 17797, i16 16398, i16 16393, i16 -16384, i16 17797, i16 16398, i16 17601, i16 -16384, i16 18087, i16 18054, i16 18021, i16 -16384, i16 18087, i16 18054, i16 18090, i16 -16384, i16 18087, i16 18054, i16 18093, i16 -16384, i16 18087, i16 18054, i16 18096, i16 -16384, i16 17797, i16 16398, i16 17600, i16 -16384, i16 17797, i16 16398, i16 17273, i16 -16384, i16 18087, i16 18054, i16 18099, i16 -16384, i16 18087, i16 18054, i16 18102, i16 -16384, i16 18087, i16 18054, i16 18105, i16 -16384, i16 18087, i16 18054, i16 18015, i16 -16384, i16 17798, i16 16398, i16 16393, i16 -16384, i16 17798, i16 16398, i16 17601, i16 -16384, i16 18108, i16 18054, i16 18021, i16 -16384, i16 18108, i16 18054, i16 18090, i16 -16384, i16 18108, i16 18054, i16 18093, i16 -16384, i16 18108, i16 18054, i16 18096, i16 -16384, i16 17798, i16 16398, i16 17600, i16 -16384, i16 17798, i16 16398, i16 17273, i16 -16384, i16 18108, i16 18054, i16 18099, i16 -16384, i16 18108, i16 18054, i16 18102, i16 -16384, i16 18108, i16 18054, i16 18105, i16 -16384, i16 18108, i16 18054, i16 18015, i16 -16384, i16 17799, i16 16398, i16 17796, i16 -16384, i16 17799, i16 16398, i16 17795, i16 -16384, i16 17799, i16 16398, i16 17794, i16 -16384, i16 17799, i16 16398, i16 17793, i16 -16384, i16 18111, i16 18054, i16 18114, i16 -16384, i16 18111, i16 18054, i16 18117, i16 -16384, i16 18111, i16 18054, i16 18120, i16 -16384, i16 18111, i16 18054, i16 18123, i16 -16384, i16 17799, i16 16398, i16 17792, i16 -16384, i16 17799, i16 16398, i16 17791, i16 -16384, i16 17799, i16 16398, i16 17790, i16 -16384, i16 17799, i16 16398, i16 17789, i16 -16384, i16 18111, i16 18054, i16 18126, i16 -16384, i16 18111, i16 18054, i16 18129, i16 -16384, i16 18111, i16 18054, i16 18132, i16 -16384, i16 18111, i16 18054, i16 18135, i16 -16384, i16 17800, i16 16398, i16 16393, i16 -16384, i16 17800, i16 16398, i16 17601, i16 -16384, i16 18138, i16 18054, i16 18021, i16 -16384, i16 18138, i16 18054, i16 18090, i16 -16384, i16 18138, i16 18054, i16 18093, i16 -16384, i16 18138, i16 18054, i16 18096, i16 -16384, i16 17800, i16 16398, i16 17273, i16 -16384, i16 17800, i16 16398, i16 17600, i16 -16384, i16 18138, i16 18054, i16 18099, i16 -16384, i16 18138, i16 18054, i16 18102, i16 -16384, i16 18138, i16 18054, i16 18105, i16 -16384, i16 18138, i16 18054, i16 18015, i16 -16384, i16 17801, i16 16398, i16 16393, i16 -16384, i16 17801, i16 16398, i16 17601, i16 -16384, i16 18141, i16 18054, i16 18021, i16 -16384, i16 18141, i16 18054, i16 18090, i16 -16384, i16 18141, i16 18054, i16 18093, i16 -16384, i16 18141, i16 18054, i16 18096, i16 -16384, i16 17801, i16 16398, i16 17273, i16 -16384, i16 17801, i16 16398, i16 17600, i16 -16384, i16 18141, i16 18054, i16 18099, i16 -16384, i16 18141, i16 18054, i16 18102, i16 -16384, i16 18141, i16 18054, i16 18105, i16 -16384, i16 18141, i16 18054, i16 18015, i16 -16384, i16 17802, i16 16398, i16 16393, i16 -16384, i16 17802, i16 16398, i16 17601, i16 -16384, i16 18144, i16 18054, i16 18021, i16 -16384, i16 18144, i16 18054, i16 18090, i16 -16384, i16 18144, i16 18054, i16 18093, i16 -16384, i16 18144, i16 18054, i16 18096, i16 -16384, i16 17802, i16 16398, i16 17273, i16 -16384, i16 17802, i16 16398, i16 17600, i16 -16384, i16 18144, i16 18054, i16 18099, i16 -16384, i16 18144, i16 18054, i16 18102, i16 -16384, i16 18144, i16 18054, i16 18105, i16 -16384, i16 18144, i16 18054, i16 18015, i16 -16384, i16 17804, i16 16398, i16 16393, i16 -16384, i16 17804, i16 16398, i16 17601, i16 -16384, i16 18147, i16 18054, i16 18021, i16 -16384, i16 18147, i16 18054, i16 18090, i16 -16384, i16 18147, i16 18054, i16 18093, i16 -16384, i16 18147, i16 18054, i16 18096, i16 -16384, i16 17804, i16 16398, i16 17600, i16 -16384, i16 17804, i16 16398, i16 17273, i16 -16384, i16 18147, i16 18054, i16 18099, i16 -16384, i16 18147, i16 18054, i16 18102, i16 -16384, i16 18147, i16 18054, i16 18105, i16 -16384, i16 18147, i16 18054, i16 18015, i16 -16384, i16 17805, i16 16398, i16 16393, i16 -16384, i16 17805, i16 16398, i16 17601, i16 -16384, i16 18150, i16 18054, i16 18021, i16 -16384, i16 18150, i16 18054, i16 18090, i16 -16384, i16 18150, i16 18054, i16 18093, i16 -16384, i16 18150, i16 18054, i16 18096, i16 -16384, i16 17805, i16 16398, i16 17600, i16 -16384, i16 17805, i16 16398, i16 17273, i16 -16384, i16 18150, i16 18054, i16 18099, i16 -16384, i16 18150, i16 18054, i16 18102, i16 -16384, i16 18150, i16 18054, i16 18105, i16 -16384, i16 18150, i16 18054, i16 18015, i16 -16384, i16 17807, i16 16398, i16 16393, i16 -16384, i16 17807, i16 16398, i16 17601, i16 -16384, i16 18153, i16 18054, i16 18021, i16 -16384, i16 18153, i16 18054, i16 18090, i16 -16384, i16 18153, i16 18054, i16 18093, i16 -16384, i16 18153, i16 18054, i16 18096, i16 -16384, i16 17807, i16 16398, i16 17600, i16 -16384, i16 17807, i16 16398, i16 17273, i16 -16384, i16 18153, i16 18054, i16 18099, i16 -16384, i16 18153, i16 18054, i16 18102, i16 -16384, i16 18153, i16 18054, i16 18105, i16 -16384, i16 18153, i16 18054, i16 18015, i16 -16384, i16 16384, i16 16384, i16 16384, i16 -2, i16 17934, i16 16398, i16 17273, i16 -16384, i16 17290, i16 17928, i16 17273, i16 -16384, i16 17289, i16 17274, i16 17273, i16 -16384, i16 17289, i16 17276, i16 17273, i16 -16384, i16 17289, i16 17275, i16 17273, i16 -16384, i16 17289, i16 17929, i16 17273, i16 -16384, i16 17289, i16 17929, i16 17932, i16 -16384, i16 17289, i16 17929, i16 17933, i16 -16384, i16 16472, i16 16399, i16 17273, i16 -16384, i16 17291, i16 17931, i16 17273, i16 -16384, i16 17291, i16 17274, i16 17273, i16 -16384, i16 17935, i16 16398, i16 17273, i16 -16384, i16 17935, i16 17930, i16 17273, i16 -16384, i16 17935, i16 17277, i16 17273, i16 -16384, i16 17934, i16 16398, i16 16387, i16 -16384, i16 17934, i16 16398, i16 16388, i16 -16384, i16 17290, i16 16398, i16 16387, i16 -16384, i16 17290, i16 16398, i16 16388, i16 -16384, i16 17290, i16 17928, i16 16387, i16 -16384, i16 17290, i16 17928, i16 16388, i16 -16384, i16 17289, i16 16398, i16 16387, i16 -16384, i16 17289, i16 17274, i16 16387, i16 -16384, i16 17289, i16 17274, i16 16388, i16 -16384, i16 17289, i16 17276, i16 16387, i16 -16384, i16 17289, i16 17276, i16 16388, i16 -16384, i16 17289, i16 17275, i16 16387, i16 -16384, i16 17289, i16 17275, i16 16388, i16 -16384, i16 17289, i16 17929, i16 16387, i16 -16384, i16 17289, i16 17929, i16 16388, i16 -16384, i16 16472, i16 16398, i16 16387, i16 -16384, i16 16472, i16 16398, i16 16388, i16 -16384, i16 16472, i16 16398, i16 16389, i16 -16384, i16 16472, i16 16398, i16 16390, i16 -16384, i16 16472, i16 16399, i16 16387, i16 -16384, i16 16472, i16 16399, i16 16388, i16 -16384, i16 16472, i16 16399, i16 16389, i16 -16384, i16 16472, i16 16399, i16 16390, i16 -16384, i16 17291, i16 16398, i16 16387, i16 -16384, i16 17291, i16 16398, i16 16388, i16 -16384, i16 17291, i16 16398, i16 16389, i16 -16384, i16 17291, i16 16398, i16 16390, i16 -16384, i16 17291, i16 17931, i16 16387, i16 -16384, i16 17291, i16 17931, i16 16388, i16 -16384, i16 17291, i16 17274, i16 16387, i16 -16384, i16 17291, i16 17274, i16 16388, i16 -16384, i16 17935, i16 16398, i16 16387, i16 -16384, i16 17935, i16 16398, i16 16388, i16 -16384, i16 17935, i16 16398, i16 16389, i16 -16384, i16 17935, i16 16398, i16 16390, i16 -16384, i16 17935, i16 17930, i16 16387, i16 -16384, i16 17935, i16 17930, i16 16388, i16 -16384, i16 17935, i16 17277, i16 16387, i16 -16384, i16 17935, i16 17277, i16 16388, i16 -16384, i16 17935, i16 17277, i16 16389, i16 -16384, i16 17935, i16 17277, i16 16390, i16 -16384, i16 18156, i16 18054, i16 18159, i16 -16384, i16 18156, i16 18054, i16 18162, i16 -16384, i16 18165, i16 18168, i16 18159, i16 -16384, i16 18165, i16 18168, i16 18162, i16 -16384, i16 18165, i16 18171, i16 18159, i16 -16384, i16 18165, i16 18171, i16 18162, i16 -16384, i16 18174, i16 18054, i16 18159, i16 -16384, i16 18174, i16 18054, i16 18162, i16 -16384, i16 18177, i16 18182, i16 18187, i16 -16384, i16 17958, i16 17281, i16 16393, i16 -16384, i16 17958, i16 17281, i16 17273, i16 -16384, i16 17959, i16 17281, i16 16393, i16 -16384, i16 17959, i16 17281, i16 17273, i16 -16384, i16 17960, i16 17281, i16 16393, i16 -16384, i16 17960, i16 17281, i16 17273, i16 -16384, i16 17961, i16 17281, i16 16393, i16 -16384, i16 17961, i16 17281, i16 17273, i16 -16384, i16 17962, i16 17281, i16 16393, i16 -16384, i16 17962, i16 17281, i16 17273, i16 -16384, i16 17963, i16 17280, i16 16393, i16 -16384, i16 17963, i16 17280, i16 17273, i16 -16384, i16 17964, i16 16407, i16 17273, i16 -16384, i16 17964, i16 16407, i16 17600, i16 -16384, i16 17964, i16 16407, i16 16393, i16 -16384, i16 17964, i16 16407, i16 17601, i16 -16384, i16 17965, i16 16407, i16 17273, i16 -16384, i16 17965, i16 16407, i16 17600, i16 -16384, i16 17965, i16 16407, i16 16393, i16 -16384, i16 17965, i16 16407, i16 17601, i16 -16384, i16 17966, i16 16407, i16 17273, i16 -16384, i16 17966, i16 16407, i16 17600, i16 -16384, i16 17966, i16 16407, i16 16393, i16 -16384, i16 17966, i16 16407, i16 17601, i16 -16384, i16 17967, i16 16407, i16 17273, i16 -16384, i16 17967, i16 16407, i16 17600, i16 -16384, i16 17967, i16 16407, i16 16393, i16 -16384, i16 17967, i16 16407, i16 17601, i16 -16384, i16 17968, i16 16407, i16 17273, i16 -16384, i16 17968, i16 16407, i16 17600, i16 -16384, i16 17968, i16 16407, i16 16393, i16 -16384, i16 17968, i16 16407, i16 17601, i16 -16384, i16 17969, i16 16407, i16 17273, i16 -16384, i16 17969, i16 16407, i16 17600, i16 -16384, i16 17969, i16 16407, i16 16393, i16 -16384, i16 17969, i16 16407, i16 17601, i16 -16384, i16 17970, i16 16407, i16 17273, i16 -16384, i16 17970, i16 16407, i16 17600, i16 -16384, i16 17970, i16 16407, i16 16393, i16 -16384, i16 17970, i16 16407, i16 17601, i16 -16384, i16 17971, i16 16407, i16 17273, i16 -16384, i16 17971, i16 16407, i16 17600, i16 -16384, i16 17971, i16 16407, i16 16393, i16 -16384, i16 17971, i16 16407, i16 17601, i16 -16384, i16 18000, i16 16407, i16 17273, i16 -16384, i16 18000, i16 16407, i16 17600, i16 -16384, i16 18001, i16 16407, i16 17273, i16 -16384, i16 18001, i16 16407, i16 17600, i16 -16384, i16 18000, i16 16407, i16 16393, i16 -16384, i16 18000, i16 16407, i16 17601, i16 -16384, i16 18001, i16 16407, i16 16393, i16 -16384, i16 18001, i16 16407, i16 17601, i16 -16384, i16 18192, i16 18078, i16 18015, i16 -16384, i16 18192, i16 18195, i16 18015, i16 -16384, i16 18198, i16 18078, i16 18015, i16 -16384, i16 17299, i16 17300, i16 17273, i16 -16384, i16 17299, i16 17301, i16 17273, i16 -16384, i16 17299, i16 17335, i16 17273, i16 -16384, i16 17305, i16 17306, i16 17273, i16 -16384, i16 17305, i16 17307, i16 17273, i16 -16384, i16 17305, i16 17333, i16 17273, i16 -16384, i16 18192, i16 18078, i16 18021, i16 -16384, i16 18192, i16 18195, i16 18021, i16 -16384, i16 18198, i16 18078, i16 18021, i16 -16384, i16 17299, i16 17300, i16 16393, i16 -16384, i16 17299, i16 17301, i16 16393, i16 -16384, i16 17299, i16 17335, i16 16393, i16 -16384, i16 17305, i16 17306, i16 16393, i16 -16384, i16 17305, i16 17307, i16 16393, i16 -16384, i16 17305, i16 17333, i16 16393, i16 -16384, i16 17295, i16 17297, i16 17273, i16 -16384, i16 17310, i16 17321, i16 17273, i16 -16384, i16 18201, i16 18078, i16 18015, i16 -16384, i16 18204, i16 18078, i16 18015, i16 -16384, i16 17323, i16 17324, i16 17273, i16 -16384, i16 17328, i16 17322, i16 17273, i16 -16384, i16 17295, i16 17297, i16 16393, i16 -16384, i16 17308, i16 17309, i16 16393, i16 -16384, i16 17310, i16 17321, i16 16393, i16 -16384, i16 18201, i16 18078, i16 18021, i16 -16384, i16 18204, i16 18078, i16 18021, i16 -16384, i16 17323, i16 17324, i16 16393, i16 -16384, i16 17328, i16 17322, i16 16393, i16 -16384, i16 18006, i16 16404, i16 17273, i16 -16384, i16 18006, i16 16404, i16 16393, i16 -16384, i16 32766, i16 16382, i16 32766, i16 -16386, i16 32766, i16 16382, i16 32766, i16 -32768, i16 16384, i16 0, i16 16384, i16 -16386, i16 32766, i16 2, i16 16385, i16 -32768, i16 17065, i16 2, i16 18080, i16 -32768, i16 17065, i16 2, i16 32766, i16 -32768, i16 17065, i16 5, i16 16385, i16 -32768, i16 17065, i16 5, i16 18080, i16 -32768, i16 17065, i16 6, i16 16385, i16 -32768, i16 17065, i16 6, i16 18080, i16 -32768, i16 17065, i16 7, i16 16385, i16 -32768, i16 17065, i16 7, i16 18080, i16 -32768, i16 17065, i16 8, i16 16385, i16 -32768, i16 17065, i16 8, i16 18080, i16 -32768, i16 17065, i16 9, i16 16385, i16 -32768, i16 17065, i16 9, i16 18080, i16 -32768, i16 17065, i16 11, i16 16385, i16 -32768, i16 17065, i16 11, i16 18080, i16 -32768, i16 17065, i16 12, i16 16385, i16 -32768, i16 17065, i16 12, i16 18080, i16 -32768, i16 17065, i16 13, i16 16385, i16 -32768, i16 17065, i16 13, i16 18080, i16 -32768, i16 17065, i16 15, i16 16385, i16 -32768, i16 17065, i16 15, i16 18080, i16 -32768, i16 17065, i16 16, i16 16385, i16 -32768, i16 17065, i16 16, i16 18080, i16 -32768, i16 17065, i16 17, i16 16385, i16 -32768, i16 17065, i16 17, i16 18080, i16 -32768, i16 17065, i16 18, i16 16385, i16 -32768, i16 17065, i16 18, i16 18080, i16 -32768, i16 17065, i16 19, i16 16385, i16 -32768, i16 17065, i16 19, i16 18080, i16 -32768, i16 17065, i16 20, i16 16385, i16 -32768, i16 17065, i16 20, i16 18080, i16 -32768, i16 17065, i16 21, i16 16385, i16 -32768, i16 17065, i16 21, i16 18080, i16 -32768, i16 17065, i16 22, i16 16385, i16 -32768, i16 17065, i16 22, i16 18080, i16 -32768, i16 17065, i16 27, i16 16385, i16 -32768, i16 17065, i16 27, i16 18080, i16 -32768, i16 17065, i16 29, i16 16385, i16 -32768, i16 17065, i16 29, i16 18080, i16 -32768, i16 17065, i16 34, i16 16385, i16 -32768, i16 17065, i16 34, i16 18080, i16 -32768, i16 17065, i16 35, i16 16385, i16 -32768, i16 17065, i16 35, i16 18080, i16 -32768, i16 17065, i16 40, i16 16385, i16 -32768, i16 17065, i16 40, i16 18080, i16 -32768, i16 17065, i16 55, i16 16385, i16 -32768, i16 17065, i16 55, i16 18080, i16 -32768, i16 17113, i16 2, i16 18080, i16 -32768, i16 17113, i16 39, i16 16385, i16 -32768, i16 17113, i16 39, i16 18080, i16 -32768, i16 17113, i16 40, i16 16385, i16 -32768, i16 17113, i16 40, i16 18080, i16 -32768, i16 17113, i16 58, i16 16385, i16 -32768, i16 17113, i16 58, i16 18080, i16 -32768, i16 17122, i16 2, i16 18080, i16 -32768, i16 17122, i16 16, i16 16385, i16 -32768, i16 17122, i16 16, i16 18080, i16 -32768, i16 17122, i16 34, i16 16385, i16 -32768, i16 17122, i16 34, i16 18080, i16 -32768, i16 17122, i16 39, i16 16385, i16 -32768, i16 17122, i16 39, i16 18080, i16 -32768, i16 17122, i16 45, i16 16385, i16 -32768, i16 17122, i16 45, i16 18080, i16 -32768, i16 17133, i16 2, i16 18080, i16 -32768, i16 17133, i16 22, i16 16385, i16 -32768, i16 17133, i16 22, i16 18080, i16 -32768, i16 17133, i16 39, i16 16385, i16 -32768, i16 17133, i16 39, i16 18080, i16 -32768, i16 17133, i16 40, i16 16385, i16 -32768, i16 17133, i16 40, i16 18080, i16 -32768, i16 17133, i16 44, i16 16385, i16 -32768, i16 17133, i16 44, i16 18080, i16 -32768, i16 17133, i16 57, i16 16385, i16 -32768, i16 17133, i16 57, i16 18080, i16 -32768, i16 17133, i16 58, i16 16385, i16 -32768, i16 17133, i16 58, i16 18080, i16 -32768, i16 17148, i16 2, i16 18080, i16 -32768, i16 17148, i16 5, i16 16385, i16 -32768, i16 17148, i16 5, i16 18080, i16 -32768, i16 17148, i16 6, i16 16385, i16 -32768, i16 17148, i16 6, i16 18080, i16 -32768, i16 17148, i16 7, i16 16385, i16 -32768, i16 17148, i16 7, i16 18080, i16 -32768, i16 17148, i16 15, i16 16385, i16 -32768, i16 17148, i16 15, i16 18080, i16 -32768, i16 17148, i16 16, i16 16385, i16 -32768, i16 17148, i16 16, i16 18080, i16 -32768, i16 17148, i16 17, i16 16385, i16 -32768, i16 17148, i16 17, i16 18080, i16 -32768, i16 17148, i16 18, i16 16385, i16 -32768, i16 17148, i16 18, i16 18080, i16 -32768, i16 17148, i16 19, i16 16385, i16 -32768, i16 17148, i16 19, i16 18080, i16 -32768, i16 17148, i16 20, i16 16385, i16 -32768, i16 17148, i16 20, i16 18080, i16 -32768, i16 17148, i16 21, i16 16385, i16 -32768, i16 17148, i16 21, i16 18080, i16 -32768, i16 17148, i16 22, i16 16385, i16 -32768, i16 17148, i16 22, i16 18080, i16 -32768, i16 17148, i16 28, i16 16385, i16 -32768, i16 17148, i16 28, i16 18080, i16 -32768, i16 17148, i16 34, i16 16385, i16 -32768, i16 17148, i16 34, i16 18080, i16 -32768, i16 17148, i16 35, i16 16385, i16 -32768, i16 17148, i16 35, i16 18080, i16 -32768, i16 17148, i16 38, i16 16385, i16 -32768, i16 17148, i16 38, i16 18080, i16 -32768, i16 17148, i16 39, i16 16385, i16 -32768, i16 17148, i16 39, i16 18080, i16 -32768, i16 17148, i16 40, i16 16385, i16 -32768, i16 17148, i16 40, i16 18080, i16 -32768, i16 17148, i16 47, i16 16385, i16 -32768, i16 17148, i16 47, i16 18080, i16 -32768, i16 17148, i16 51, i16 16385, i16 -32768, i16 17148, i16 51, i16 18080, i16 -32768, i16 17148, i16 52, i16 16385, i16 -32768, i16 17148, i16 52, i16 18080, i16 -32768, i16 17148, i16 57, i16 16385, i16 -32768, i16 17148, i16 57, i16 18080, i16 -32768, i16 17193, i16 2, i16 18080, i16 -32768, i16 17193, i16 34, i16 16385, i16 -32768, i16 17193, i16 34, i16 18080, i16 -32768, i16 17193, i16 39, i16 16385, i16 -32768, i16 17193, i16 39, i16 18080, i16 -32768, i16 18531, i16 2150, i16 18537, i16 -32768, i16 18540, i16 2150, i16 18543, i16 -32768, i16 18546, i16 2150, i16 18549, i16 -32768, i16 18552, i16 2172, i16 18560, i16 -32768, i16 18564, i16 2172, i16 18568, i16 -32768, i16 17205, i16 2, i16 18080, i16 -32768, i16 17205, i16 3, i16 16385, i16 -32768, i16 17205, i16 3, i16 18080, i16 -32768, i16 17205, i16 16, i16 16385, i16 -32768, i16 17205, i16 16, i16 18080, i16 -32768, i16 17205, i16 22, i16 16385, i16 -32768, i16 17205, i16 22, i16 18080, i16 -32768, i16 17205, i16 39, i16 16385, i16 -32768, i16 17205, i16 39, i16 18080, i16 -32768, i16 17205, i16 42, i16 16385, i16 -32768, i16 17205, i16 42, i16 18080, i16 -32768, i16 17205, i16 50, i16 16385, i16 -32768, i16 17205, i16 50, i16 18080, i16 -32768, i16 17220, i16 2, i16 18080, i16 -32768, i16 17220, i16 14, i16 16385, i16 -32768, i16 17220, i16 14, i16 18080, i16 -32768, i16 17220, i16 16, i16 16385, i16 -32768, i16 17220, i16 16, i16 18080, i16 -32768, i16 17220, i16 28, i16 16385, i16 -32768, i16 17220, i16 28, i16 18080, i16 -32768, i16 17220, i16 39, i16 16385, i16 -32768, i16 17220, i16 39, i16 18080, i16 -32768, i16 17220, i16 40, i16 16385, i16 -32768, i16 17220, i16 40, i16 18080, i16 -32768, i16 17220, i16 42, i16 16385, i16 -32768, i16 17220, i16 42, i16 18080, i16 -32768, i16 17220, i16 44, i16 16385, i16 -32768, i16 17220, i16 44, i16 18080, i16 -32768, i16 18178, i16 2, i16 18080, i16 -32768, i16 18178, i16 5, i16 16385, i16 -32768, i16 18178, i16 5, i16 18080, i16 -32768, i16 18178, i16 6, i16 16385, i16 -32768, i16 18178, i16 6, i16 18080, i16 -32768, i16 18178, i16 7, i16 16385, i16 -32768, i16 18178, i16 7, i16 18080, i16 -32768, i16 18178, i16 15, i16 16385, i16 -32768, i16 18178, i16 15, i16 18080, i16 -32768, i16 18178, i16 16, i16 16385, i16 -32768, i16 18178, i16 16, i16 18080, i16 -32768, i16 18178, i16 22, i16 16385, i16 -32768, i16 18178, i16 22, i16 18080, i16 -32768, i16 18178, i16 28, i16 16385, i16 -32768, i16 18178, i16 28, i16 18080, i16 -32768, i16 18178, i16 30, i16 16385, i16 -32768, i16 18178, i16 30, i16 18080, i16 -32768, i16 18178, i16 34, i16 16385, i16 -32768, i16 18178, i16 34, i16 18080, i16 -32768, i16 18178, i16 35, i16 16385, i16 -32768, i16 18178, i16 35, i16 18080, i16 -32768, i16 18178, i16 38, i16 16385, i16 -32768, i16 18178, i16 38, i16 18080, i16 -32768, i16 18178, i16 40, i16 16385, i16 -32768, i16 18178, i16 40, i16 18080, i16 -32768, i16 18178, i16 48, i16 16385, i16 -32768, i16 18178, i16 48, i16 18080, i16 -32768, i16 18572, i16 2191, i16 18578, i16 -32768, i16 18572, i16 2191, i16 18581, i16 -32768, i16 17267, i16 2, i16 18080, i16 -32768, i16 17267, i16 16, i16 16385, i16 -32768, i16 17267, i16 16, i16 18080, i16 -32768, i16 17272, i16 2, i16 18080, i16 -32768, i16 17272, i16 3, i16 16385, i16 -32768, i16 17272, i16 3, i16 18080, i16 -32768, i16 17272, i16 22, i16 16385, i16 -32768, i16 17272, i16 22, i16 18080, i16 -32768, i16 17272, i16 34, i16 16385, i16 -32768, i16 17272, i16 34, i16 18080, i16 -32768, i16 17272, i16 40, i16 16385, i16 -32768, i16 17272, i16 40, i16 18080, i16 -32768, i16 17272, i16 58, i16 16385, i16 -32768, i16 17272, i16 58, i16 18080, i16 -32768, i16 17285, i16 2, i16 18080, i16 -32768, i16 17285, i16 3, i16 16385, i16 -32768, i16 17285, i16 3, i16 18080, i16 -32768, i16 17285, i16 22, i16 16385, i16 -32768, i16 17285, i16 22, i16 18080, i16 -32768, i16 17285, i16 39, i16 16385, i16 -32768, i16 17285, i16 39, i16 18080, i16 -32768, i16 17285, i16 40, i16 16385, i16 -32768, i16 17285, i16 40, i16 18080, i16 -32768, i16 17285, i16 56, i16 16385, i16 -32768, i16 17285, i16 56, i16 18080, i16 -32768, i16 17285, i16 57, i16 16385, i16 -32768, i16 17285, i16 57, i16 18080, i16 -32768, i16 17285, i16 58, i16 16385, i16 -32768, i16 17285, i16 58, i16 18080, i16 -32768, i16 17302, i16 2, i16 18080, i16 -32768, i16 17302, i16 3, i16 16385, i16 -32768, i16 17302, i16 3, i16 18080, i16 -32768, i16 17302, i16 39, i16 16385, i16 -32768, i16 17302, i16 39, i16 18080, i16 -32768, i16 17302, i16 40, i16 16385, i16 -32768, i16 17302, i16 40, i16 18080, i16 -32768, i16 17311, i16 2, i16 18080, i16 -32768, i16 17311, i16 22, i16 16385, i16 -32768, i16 17311, i16 22, i16 18080, i16 -32768, i16 17311, i16 39, i16 16385, i16 -32768, i16 17311, i16 39, i16 18080, i16 -32768, i16 17311, i16 40, i16 16385, i16 -32768, i16 17311, i16 40, i16 18080, i16 -32768, i16 17311, i16 57, i16 16385, i16 -32768, i16 17311, i16 57, i16 18080, i16 -32768, i16 17311, i16 58, i16 16385, i16 -32768, i16 17311, i16 58, i16 18080, i16 -32768, i16 17311, i16 65, i16 18080, i16 -32768, i16 17325, i16 2, i16 18080, i16 -32768, i16 17325, i16 2, i16 32766, i16 -32768, i16 17325, i16 5, i16 16385, i16 -32768, i16 17325, i16 5, i16 18080, i16 -32768, i16 17325, i16 6, i16 16385, i16 -32768, i16 17325, i16 6, i16 18080, i16 -32768, i16 17325, i16 7, i16 16385, i16 -32768, i16 17325, i16 7, i16 18080, i16 -32768, i16 17325, i16 15, i16 16385, i16 -32768, i16 17325, i16 15, i16 18080, i16 -32768, i16 17325, i16 16, i16 16385, i16 -32768, i16 17325, i16 16, i16 18080, i16 -32768, i16 17325, i16 17, i16 16385, i16 -32768, i16 17325, i16 17, i16 18080, i16 -32768, i16 17325, i16 18, i16 16385, i16 -32768, i16 17325, i16 18, i16 18080, i16 -32768, i16 17325, i16 19, i16 16385, i16 -32768, i16 17325, i16 19, i16 18080, i16 -32768, i16 17325, i16 20, i16 16385, i16 -32768, i16 17325, i16 20, i16 18080, i16 -32768, i16 17325, i16 21, i16 16385, i16 -32768, i16 17325, i16 21, i16 18080, i16 -32768, i16 17325, i16 22, i16 16385, i16 -32768, i16 17325, i16 22, i16 18080, i16 -32768, i16 17325, i16 34, i16 16385, i16 -32768, i16 17325, i16 34, i16 18080, i16 -32768, i16 17325, i16 36, i16 16385, i16 -32768, i16 17325, i16 36, i16 18080, i16 -32768, i16 17325, i16 37, i16 16385, i16 -32768, i16 17325, i16 37, i16 18080, i16 -32768, i16 17325, i16 40, i16 16385, i16 -32768, i16 17325, i16 40, i16 18080, i16 -32768, i16 17325, i16 48, i16 16385, i16 -32768, i16 17325, i16 48, i16 18080, i16 -32768, i16 17325, i16 49, i16 16385, i16 -32768, i16 17325, i16 49, i16 18080, i16 -32768, i16 17325, i16 51, i16 16385, i16 -32768, i16 17325, i16 51, i16 18080, i16 -32768, i16 17325, i16 52, i16 16385, i16 -32768, i16 17325, i16 52, i16 18080, i16 -32768, i16 17325, i16 59, i16 16385, i16 -32768, i16 17325, i16 59, i16 18080, i16 -32768, i16 17325, i16 60, i16 16385, i16 -32768, i16 17325, i16 60, i16 18080, i16 -32768, i16 17325, i16 61, i16 16385, i16 -32768, i16 17325, i16 61, i16 18080, i16 -32768, i16 17325, i16 62, i16 16385, i16 -32768, i16 17325, i16 62, i16 18080, i16 -32768, i16 17325, i16 63, i16 16385, i16 -32768, i16 17325, i16 63, i16 18080, i16 -32768, i16 17325, i16 64, i16 16385, i16 -32768, i16 17325, i16 64, i16 18080, i16 -32768, i16 17379, i16 2, i16 18080, i16 -32768, i16 17379, i16 3, i16 16385, i16 -32768, i16 17379, i16 3, i16 18080, i16 -32768, i16 17379, i16 39, i16 16385, i16 -32768, i16 17379, i16 39, i16 18080, i16 -32768, i16 17386, i16 2, i16 18080, i16 -32768, i16 17389, i16 2, i16 18080, i16 -32768, i16 17389, i16 3, i16 16385, i16 -32768, i16 17389, i16 3, i16 18080, i16 -32768, i16 17389, i16 6, i16 16385, i16 -32768, i16 17389, i16 6, i16 18080, i16 -32768, i16 17389, i16 15, i16 16385, i16 -32768, i16 17389, i16 15, i16 18080, i16 -32768, i16 17389, i16 22, i16 16385, i16 -32768, i16 17389, i16 22, i16 18080, i16 -32768, i16 17389, i16 39, i16 16385, i16 -32768, i16 17389, i16 39, i16 18080, i16 -32768, i16 17389, i16 40, i16 16385, i16 -32768, i16 17389, i16 40, i16 18080, i16 -32768, i16 17389, i16 56, i16 16385, i16 -32768, i16 17389, i16 56, i16 18080, i16 -32768, i16 17389, i16 58, i16 16385, i16 -32768, i16 17389, i16 58, i16 18080, i16 -32768, i16 17408, i16 2, i16 18080, i16 -32768, i16 18584, i16 2150, i16 18587, i16 -32768, i16 17408, i16 4, i16 16385, i16 -32768, i16 17408, i16 4, i16 18080, i16 -32768, i16 17408, i16 16, i16 16385, i16 -32768, i16 17408, i16 16, i16 18080, i16 -32768, i16 17408, i16 24, i16 16385, i16 -32768, i16 17408, i16 24, i16 18080, i16 -32768, i16 17408, i16 39, i16 16385, i16 -32768, i16 17408, i16 39, i16 18080, i16 -32768, i16 17408, i16 40, i16 16385, i16 -32768, i16 17408, i16 40, i16 18080, i16 -32768, i16 17408, i16 41, i16 16385, i16 -32768, i16 17408, i16 41, i16 18080, i16 -32768, i16 17408, i16 16382, i16 18080, i16 -32768, i16 18590, i16 2150, i16 18593, i16 -32768, i16 18584, i16 2150, i16 18596, i16 -32768, i16 17427, i16 2, i16 18080, i16 -32768, i16 17427, i16 22, i16 16385, i16 -32768, i16 17427, i16 22, i16 18080, i16 -32768, i16 17427, i16 39, i16 16385, i16 -32768, i16 17427, i16 39, i16 18080, i16 -32768, i16 17427, i16 40, i16 16385, i16 -32768, i16 17427, i16 40, i16 18080, i16 -32768, i16 17427, i16 42, i16 16385, i16 -32768, i16 17427, i16 42, i16 18080, i16 -32768, i16 17427, i16 44, i16 16385, i16 -32768, i16 17427, i16 44, i16 18080, i16 -32768, i16 17427, i16 57, i16 16385, i16 -32768, i16 17427, i16 57, i16 18080, i16 -32768, i16 17427, i16 58, i16 16385, i16 -32768, i16 17427, i16 58, i16 18080, i16 -32768, i16 17444, i16 2, i16 18080, i16 -32768, i16 17444, i16 5, i16 16385, i16 -32768, i16 17444, i16 5, i16 18080, i16 -32768, i16 17444, i16 6, i16 16385, i16 -32768, i16 17444, i16 6, i16 18080, i16 -32768, i16 17444, i16 7, i16 16385, i16 -32768, i16 17444, i16 7, i16 18080, i16 -32768, i16 17444, i16 15, i16 16385, i16 -32768, i16 17444, i16 15, i16 18080, i16 -32768, i16 17444, i16 16, i16 16385, i16 -32768, i16 17444, i16 16, i16 18080, i16 -32768, i16 17444, i16 22, i16 16385, i16 -32768, i16 17444, i16 22, i16 18080, i16 -32768, i16 17444, i16 25, i16 16385, i16 -32768, i16 17444, i16 25, i16 18080, i16 -32768, i16 17444, i16 29, i16 16385, i16 -32768, i16 17444, i16 29, i16 18080, i16 -32768, i16 17444, i16 30, i16 16385, i16 -32768, i16 17444, i16 30, i16 18080, i16 -32768, i16 17444, i16 31, i16 16385, i16 -32768, i16 17444, i16 31, i16 18080, i16 -32768, i16 17444, i16 32, i16 16385, i16 -32768, i16 17444, i16 32, i16 18080, i16 -32768, i16 17444, i16 34, i16 16385, i16 -32768, i16 17444, i16 34, i16 18080, i16 -32768, i16 17444, i16 35, i16 16385, i16 -32768, i16 17444, i16 35, i16 18080, i16 -32768, i16 17444, i16 36, i16 16385, i16 -32768, i16 17444, i16 36, i16 18080, i16 -32768, i16 17444, i16 38, i16 16385, i16 -32768, i16 17444, i16 38, i16 18080, i16 -32768, i16 17444, i16 40, i16 16385, i16 -32768, i16 17444, i16 40, i16 18080, i16 -32768, i16 17444, i16 48, i16 16385, i16 -32768, i16 17444, i16 48, i16 18080, i16 -32768, i16 17444, i16 53, i16 16385, i16 -32768, i16 17444, i16 53, i16 18080, i16 -32768, i16 17444, i16 54, i16 16385, i16 -32768, i16 17444, i16 54, i16 18080, i16 -32768, i16 17444, i16 57, i16 16385, i16 -32768, i16 17444, i16 57, i16 18080, i16 -32768, i16 17444, i16 59, i16 16385, i16 -32768, i16 17444, i16 59, i16 18080, i16 -32768, i16 17444, i16 60, i16 16385, i16 -32768, i16 17444, i16 60, i16 18080, i16 -32768, i16 17444, i16 61, i16 16385, i16 -32768, i16 17444, i16 61, i16 18080, i16 -32768, i16 17444, i16 62, i16 16385, i16 -32768, i16 17444, i16 62, i16 18080, i16 -32768, i16 17444, i16 63, i16 16385, i16 -32768, i16 17444, i16 63, i16 18080, i16 -32768, i16 17444, i16 64, i16 16385, i16 -32768, i16 17444, i16 64, i16 18080, i16 -32768, i16 17501, i16 2, i16 18080, i16 -32768, i16 17501, i16 28, i16 16385, i16 -32768, i16 17501, i16 28, i16 18080, i16 -32768, i16 17501, i16 39, i16 16385, i16 -32768, i16 17501, i16 39, i16 18080, i16 -32768, i16 18254, i16 5, i16 16385, i16 -32768, i16 18254, i16 5, i16 18080, i16 -32768, i16 18254, i16 16, i16 16385, i16 -32768, i16 18254, i16 16, i16 18080, i16 -32768, i16 18254, i16 28, i16 16385, i16 -32768, i16 18254, i16 28, i16 18080, i16 -32768, i16 18254, i16 34, i16 16385, i16 -32768, i16 18254, i16 34, i16 18080, i16 -32768, i16 18254, i16 35, i16 16385, i16 -32768, i16 18254, i16 35, i16 18080, i16 -32768, i16 18254, i16 39, i16 16385, i16 -32768, i16 18254, i16 39, i16 18080, i16 -32768, i16 18254, i16 40, i16 16385, i16 -32768, i16 18254, i16 40, i16 18080, i16 -32768, i16 18259, i16 16, i16 16385, i16 -32768, i16 18259, i16 16, i16 18080, i16 -32768, i16 18259, i16 40, i16 16385, i16 -32768, i16 18259, i16 40, i16 18080, i16 -32768, i16 18259, i16 42, i16 16385, i16 -32768, i16 18259, i16 42, i16 18080, i16 -32768, i16 18259, i16 58, i16 16385, i16 -32768, i16 18259, i16 58, i16 18080, i16 -32768, i16 32766, i16 1, i16 16450, i16 -32768, i16 17531, i16 1, i16 16451, i16 -32768, i16 17531, i16 1696, i16 16450, i16 -32768, i16 17531, i16 1696, i16 16451, i16 -32768, i16 17535, i16 1696, i16 16450, i16 -32768, i16 17537, i16 1696, i16 16450, i16 -32768, i16 17539, i16 1696, i16 16450, i16 -32768, i16 17541, i16 1, i16 16451, i16 -32768, i16 17541, i16 1696, i16 16450, i16 -32768, i16 17541, i16 1696, i16 16451, i16 -32768, i16 17545, i16 1696, i16 16450, i16 -32768, i16 17547, i16 1, i16 16451, i16 -32768, i16 17547, i16 1696, i16 16450, i16 -32768, i16 17547, i16 1696, i16 16451, i16 -32768, i16 17551, i16 1696, i16 16450, i16 -32768, i16 17553, i16 1, i16 16451, i16 -32768, i16 17553, i16 1, i16 16452, i16 -32768, i16 17553, i16 1696, i16 16450, i16 -32768, i16 17553, i16 1696, i16 16451, i16 -32768, i16 17553, i16 1696, i16 16452, i16 -32768, i16 17553, i16 1696, i16 16453, i16 -32768, i16 17560, i16 1696, i16 16450, i16 -32768, i16 17562, i16 1696, i16 16450, i16 -32768, i16 17564, i16 1696, i16 16450, i16 -32768, i16 17566, i16 1696, i16 16450, i16 -32768, i16 17568, i16 1696, i16 16450, i16 -32768, i16 17570, i16 1, i16 16451, i16 -32768, i16 17570, i16 1696, i16 16450, i16 -32768, i16 17570, i16 1696, i16 16451, i16 -32768, i16 17574, i16 1696, i16 16450, i16 -32768, i16 17576, i16 1696, i16 16450, i16 -32768, i16 17578, i16 1696, i16 16450, i16 -32768, i16 17578, i16 1696, i16 32766, i16 -32768, i16 17581, i16 1696, i16 16450, i16 -32768, i16 17583, i16 1, i16 16451, i16 -32768, i16 17583, i16 1, i16 16452, i16 -32768, i16 17583, i16 1696, i16 16450, i16 -32768, i16 17583, i16 1696, i16 16451, i16 -32768, i16 17583, i16 1696, i16 16452, i16 -32768, i16 17583, i16 1696, i16 16453, i16 -32768, i16 17590, i16 1696, i16 16450, i16 -32768, i16 17592, i16 1696, i16 16450, i16 -32768, i16 17594, i16 1696, i16 16450, i16 -32768, i16 17596, i16 1, i16 16451, i16 -32768, i16 17596, i16 1696, i16 16450, i16 -32768, i16 17596, i16 1696, i16 16451, i16 -32768, i16 32766, i16 70, i16 16385, i16 -32768, i16 17600, i16 70, i16 18080, i16 -32768, i16 17602, i16 70, i16 18080, i16 -32768, i16 17604, i16 70, i16 18080, i16 -32768, i16 17606, i16 70, i16 18080, i16 -32768, i16 17608, i16 70, i16 18080, i16 -32768, i16 17610, i16 70, i16 18080, i16 -32768, i16 17612, i16 70, i16 18080, i16 -32768, i16 17614, i16 70, i16 18080, i16 -32768, i16 17616, i16 70, i16 18080, i16 -32768, i16 17618, i16 70, i16 18080, i16 -32768, i16 17620, i16 70, i16 18080, i16 -32768, i16 17622, i16 70, i16 18080, i16 -32768, i16 17624, i16 70, i16 18080, i16 -32768, i16 17626, i16 70, i16 18080, i16 -32768, i16 17628, i16 70, i16 18080, i16 -32768, i16 17630, i16 70, i16 18080, i16 -32768, i16 17632, i16 70, i16 18080, i16 -32768, i16 17634, i16 70, i16 18080, i16 -32768, i16 17636, i16 70, i16 18080, i16 -32768, i16 17638, i16 70, i16 18080, i16 -32768, i16 17640, i16 70, i16 18080, i16 -32768, i16 17642, i16 70, i16 18080, i16 -32768, i16 17644, i16 70, i16 18080, i16 -32768, i16 17646, i16 70, i16 18080, i16 -32768, i16 17648, i16 70, i16 18080, i16 -32768, i16 17650, i16 70, i16 18080, i16 -32768, i16 17652, i16 70, i16 18080, i16 -32768, i16 17654, i16 70, i16 18080, i16 -32768, i16 17656, i16 70, i16 18080, i16 -32768, i16 17658, i16 70, i16 18080, i16 -32768, i16 17660, i16 70, i16 18080, i16 -32768, i16 17662, i16 70, i16 18080, i16 -32768, i16 17664, i16 70, i16 18080, i16 -32768, i16 17666, i16 70, i16 18080, i16 -32768, i16 17668, i16 70, i16 18080, i16 -32768, i16 17670, i16 70, i16 18080, i16 -32768, i16 17672, i16 70, i16 18080, i16 -32768, i16 17674, i16 70, i16 18080, i16 -32768, i16 17676, i16 70, i16 18080, i16 -32768, i16 17678, i16 70, i16 18080, i16 -32768, i16 17680, i16 70, i16 18080, i16 -32768, i16 32766, i16 70, i16 18080, i16 -32768, i16 17682, i16 70, i16 16385, i16 -32768, i16 17684, i16 70, i16 18080, i16 -32768, i16 17686, i16 70, i16 16385, i16 -32768, i16 17688, i16 70, i16 18080, i16 -32768, i16 17690, i16 70, i16 18080, i16 -32768, i16 17692, i16 70, i16 18080, i16 -32768, i16 17694, i16 70, i16 18080, i16 -32768, i16 17696, i16 70, i16 18080, i16 -32768, i16 17698, i16 70, i16 18080, i16 -32768, i16 17700, i16 70, i16 18080, i16 -32768, i16 17702, i16 70, i16 18080, i16 -32768, i16 32766, i16 0, i16 16384, i16 -32768, i16 32766, i16 16382, i16 16384, i16 -32768, i16 17736, i16 16382, i16 16384, i16 -32768, i16 17735, i16 16382, i16 16384, i16 -32768, i16 17745, i16 16382, i16 16384, i16 -32768, i16 17749, i16 16382, i16 16384, i16 -32768, i16 17756, i16 16382, i16 16384, i16 -32768, i16 17764, i16 16382, i16 16384, i16 -32768, i16 17769, i16 16382, i16 16384, i16 -32768, i16 17774, i16 16382, i16 16384, i16 -32768, i16 17779, i16 16382, i16 16384, i16 -32768, i16 17784, i16 16382, i16 16384, i16 -32768, i16 17787, i16 16382, i16 16384, i16 -32768, i16 17790, i16 16382, i16 16384, i16 -32768, i16 17793, i16 16382, i16 16384, i16 -32768, i16 17796, i16 16382, i16 16384, i16 -32768, i16 17801, i16 16382, i16 16384, i16 -32768, i16 17806, i16 16382, i16 16384, i16 -32768, i16 17811, i16 16382, i16 16384, i16 -32768, i16 17816, i16 16382, i16 16384, i16 -32768, i16 17821, i16 16382, i16 16384, i16 -32768, i16 17826, i16 16382, i16 16384, i16 -32768, i16 17831, i16 16382, i16 16384, i16 -32768, i16 17836, i16 16382, i16 16384, i16 -32768, i16 17841, i16 16382, i16 16384, i16 -32768, i16 17846, i16 16382, i16 16384, i16 -32768, i16 17851, i16 16382, i16 16384, i16 -32768, i16 17856, i16 16382, i16 16384, i16 -32768, i16 17861, i16 16382, i16 16384, i16 -32768, i16 17866, i16 16382, i16 16384, i16 -32768, i16 17871, i16 16382, i16 16384, i16 -32768, i16 17874, i16 16382, i16 16384, i16 -32768, i16 17877, i16 16382, i16 16384, i16 -32768, i16 16384, i16 0, i16 32766, i16 -32768, i16 18115, i16 16382, i16 16384, i16 -32768, i16 18124, i16 16382, i16 16384, i16 -32768, i16 18125, i16 16382, i16 16384, i16 -32768, i16 18126, i16 16382, i16 16384, i16 -32768, i16 18127, i16 16382, i16 16384, i16 -32768, i16 18128, i16 16382, i16 16384, i16 -32768, i16 18129, i16 16382, i16 16384, i16 -32768, i16 18130, i16 16382, i16 16384, i16 -32768, i16 18131, i16 16382, i16 16384, i16 -32768, i16 18132, i16 16382, i16 16384, i16 -32768, i16 18599, i16 2218, i16 18605, i16 -32768, i16 18599, i16 2224, i16 18611, i16 -32768, i16 18614, i16 2233, i16 18620, i16 -32768, i16 18614, i16 2239, i16 18626, i16 -32768, i16 18629, i16 2248, i16 18635, i16 -32768, i16 18629, i16 2254, i16 18641, i16 -32768, i16 18644, i16 2263, i16 18650, i16 -32768, i16 18644, i16 2269, i16 18656, i16 -32768, i16 17909, i16 16382, i16 16384, i16 -32768, i16 17913, i16 16382, i16 16384, i16 -32768, i16 17917, i16 16382, i16 16384, i16 -32768, i16 17922, i16 16382, i16 16384, i16 -32768, i16 17926, i16 16382, i16 16384, i16 -32768, i16 17930, i16 16382, i16 16384, i16 -32768, i16 17935, i16 16382, i16 16384, i16 -32768, i16 17939, i16 16382, i16 16384, i16 -32768, i16 17943, i16 16382, i16 16384, i16 -32768, i16 17948, i16 16382, i16 16384, i16 -32768, i16 17952, i16 16382, i16 16384, i16 -32768, i16 17956, i16 16382, i16 16384, i16 -32768, i16 17960, i16 16382, i16 16384, i16 -32768, i16 17964, i16 16382, i16 16384, i16 -32768, i16 17968, i16 16382, i16 16384, i16 -32768, i16 17972, i16 16382, i16 16384, i16 -32768, i16 17976, i16 16382, i16 16384, i16 -32768, i16 17980, i16 16382, i16 16384, i16 -32768, i16 17986, i16 16382, i16 16384, i16 -32768, i16 17990, i16 16382, i16 16384, i16 -32768, i16 17994, i16 16382, i16 16384, i16 -32768, i16 17996, i16 16382, i16 16384, i16 -32768, i16 17998, i16 16382, i16 16384, i16 -32768, i16 18000, i16 16382, i16 16384, i16 -32768, i16 18002, i16 16382, i16 16384, i16 -32768, i16 18004, i16 16382, i16 16384, i16 -32768, i16 18010, i16 16382, i16 16384, i16 -32768, i16 18016, i16 16382, i16 16384, i16 -32768, i16 18022, i16 16382, i16 16384, i16 -32768, i16 18028, i16 16382, i16 16384, i16 -32768, i16 18034, i16 16382, i16 16384, i16 -32768, i16 18036, i16 16382, i16 16384, i16 -32768, i16 18038, i16 16382, i16 16384, i16 -32768, i16 18040, i16 16382, i16 16384, i16 -32768, i16 18042, i16 16382, i16 16384, i16 -32768, i16 18044, i16 16382, i16 16384, i16 -32768, i16 18048, i16 16382, i16 16384, i16 -32768, i16 18052, i16 16382, i16 16384, i16 -32768, i16 18056, i16 16382, i16 16384, i16 -32768, i16 18058, i16 16382, i16 16384, i16 -32768, i16 18060, i16 16382, i16 16384, i16 -32768, i16 18062, i16 16382, i16 16384, i16 -32768, i16 18064, i16 16382, i16 16384, i16 -32768, i16 18066, i16 16382, i16 16384, i16 -32768, i16 18070, i16 16382, i16 16384, i16 -32768, i16 18072, i16 16382, i16 16384, i16 -32768, i16 18074, i16 16382, i16 16384, i16 -32768, i16 18076, i16 16382, i16 16384, i16 -32768, i16 17065, i16 3, i16 16385, i16 -32768, i16 17065, i16 3, i16 18080, i16 -32768, i16 17065, i16 25, i16 16385, i16 -32768, i16 17065, i16 25, i16 18080, i16 -32768, i16 17065, i16 26, i16 16385, i16 -32768, i16 17065, i16 26, i16 18080, i16 -32768, i16 17065, i16 28, i16 16385, i16 -32768, i16 17065, i16 28, i16 18080, i16 -32768, i16 17065, i16 48, i16 16385, i16 -32768, i16 17065, i16 48, i16 18080, i16 -32768, i16 17065, i16 50, i16 16385, i16 -32768, i16 17065, i16 50, i16 18080, i16 -32768, i16 18659, i16 2278, i16 18578, i16 -32768, i16 18659, i16 2278, i16 18581, i16 -32768, i16 18659, i16 2281, i16 18578, i16 -32768, i16 18659, i16 2281, i16 18581, i16 -32768, i16 18659, i16 2284, i16 18578, i16 -32768, i16 18659, i16 2284, i16 18581, i16 -32768, i16 17122, i16 3, i16 16385, i16 -32768, i16 17122, i16 3, i16 18080, i16 -32768, i16 17122, i16 22, i16 16385, i16 -32768, i16 17122, i16 22, i16 18080, i16 -32768, i16 18164, i16 2, i16 18080, i16 -32768, i16 17133, i16 42, i16 16385, i16 -32768, i16 17133, i16 42, i16 18080, i16 -32768, i16 17148, i16 3, i16 16385, i16 -32768, i16 17148, i16 3, i16 18080, i16 -32768, i16 17148, i16 48, i16 16385, i16 -32768, i16 17148, i16 48, i16 18080, i16 -32768, i16 17148, i16 50, i16 16385, i16 -32768, i16 17148, i16 50, i16 18080, i16 -32768, i16 17205, i16 44, i16 16385, i16 -32768, i16 17205, i16 44, i16 18080, i16 -32768, i16 18176, i16 2, i16 18080, i16 -32768, i16 18179, i16 2, i16 16385, i16 -32768, i16 32766, i16 2, i16 18080, i16 -32768, i16 18178, i16 2, i16 16385, i16 -32768, i16 18178, i16 3, i16 16385, i16 -32768, i16 18178, i16 3, i16 18080, i16 -32768, i16 18178, i16 50, i16 16385, i16 -32768, i16 18178, i16 50, i16 18080, i16 -32768, i16 17272, i16 44, i16 16385, i16 -32768, i16 17272, i16 44, i16 18080, i16 -32768, i16 17285, i16 42, i16 16385, i16 -32768, i16 17285, i16 42, i16 18080, i16 -32768, i16 17285, i16 44, i16 16385, i16 -32768, i16 17285, i16 44, i16 18080, i16 -32768, i16 17311, i16 3, i16 16385, i16 -32768, i16 17311, i16 3, i16 18080, i16 -32768, i16 17311, i16 35, i16 16385, i16 -32768, i16 17311, i16 35, i16 18080, i16 -32768, i16 17311, i16 44, i16 16385, i16 -32768, i16 17311, i16 44, i16 18080, i16 -32768, i16 18671, i16 2290, i16 18578, i16 -32768, i16 18671, i16 2290, i16 18581, i16 -32768, i16 17325, i16 3, i16 16385, i16 -32768, i16 17325, i16 3, i16 18080, i16 -32768, i16 17325, i16 33, i16 16385, i16 -32768, i16 17325, i16 33, i16 18080, i16 -32768, i16 17325, i16 35, i16 16385, i16 -32768, i16 17325, i16 35, i16 18080, i16 -32768, i16 17325, i16 42, i16 16385, i16 -32768, i16 17325, i16 42, i16 18080, i16 -32768, i16 17325, i16 43, i16 16385, i16 -32768, i16 17325, i16 43, i16 18080, i16 -32768, i16 17325, i16 50, i16 16385, i16 -32768, i16 17325, i16 50, i16 18080, i16 -32768, i16 18212, i16 2, i16 18080, i16 -32768, i16 18677, i16 2296, i16 18578, i16 -32768, i16 18677, i16 2296, i16 18581, i16 -32768, i16 17389, i16 44, i16 16385, i16 -32768, i16 17389, i16 44, i16 18080, i16 -32768, i16 17408, i16 3, i16 16385, i16 -32768, i16 17408, i16 3, i16 18080, i16 -32768, i16 17408, i16 22, i16 16385, i16 -32768, i16 17408, i16 22, i16 18080, i16 -32768, i16 18222, i16 2, i16 18080, i16 -32768, i16 18683, i16 2302, i16 18578, i16 -32768, i16 18683, i16 2302, i16 18581, i16 -32768, i16 17444, i16 3, i16 16385, i16 -32768, i16 17444, i16 3, i16 18080, i16 -32768, i16 17444, i16 33, i16 16385, i16 -32768, i16 17444, i16 33, i16 18080, i16 -32768, i16 17444, i16 50, i16 16385, i16 -32768, i16 17444, i16 50, i16 18080, i16 -32768, i16 18232, i16 2, i16 18080, i16 -32768, i16 18234, i16 2, i16 18080, i16 -32768, i16 18234, i16 35, i16 16385, i16 -32768, i16 18234, i16 35, i16 18080, i16 -32768, i16 18234, i16 40, i16 16385, i16 -32768, i16 18234, i16 40, i16 18080, i16 -32768, i16 18240, i16 2, i16 18080, i16 -32768, i16 18240, i16 3, i16 16385, i16 -32768, i16 18240, i16 3, i16 18080, i16 -32768, i16 18240, i16 5, i16 16385, i16 -32768, i16 18240, i16 5, i16 18080, i16 -32768, i16 18240, i16 16, i16 16385, i16 -32768, i16 18240, i16 16, i16 18080, i16 -32768, i16 18240, i16 28, i16 16385, i16 -32768, i16 18240, i16 28, i16 18080, i16 -32768, i16 18240, i16 39, i16 16385, i16 -32768, i16 18240, i16 39, i16 18080, i16 -32768, i16 18240, i16 40, i16 16385, i16 -32768, i16 18240, i16 40, i16 18080, i16 -32768, i16 18254, i16 2, i16 18080, i16 -32768, i16 18254, i16 3, i16 16385, i16 -32768, i16 18254, i16 3, i16 18080, i16 -32768, i16 18259, i16 2, i16 18080, i16 -32768, i16 18259, i16 3, i16 16385, i16 -32768, i16 18259, i16 3, i16 18080, i16 -32768, i16 18259, i16 22, i16 16385, i16 -32768, i16 18259, i16 22, i16 18080, i16 -32768, i16 18259, i16 39, i16 16385, i16 -32768, i16 18259, i16 39, i16 18080, i16 -32768, i16 17272, i16 16382, i16 18080, i16 -32768, i16 17122, i16 44, i16 16385, i16 -32768, i16 17122, i16 44, i16 18080, i16 -32768, i16 17205, i16 7, i16 16385, i16 -32768, i16 17205, i16 7, i16 18080, i16 -32768, i16 18178, i16 39, i16 16385, i16 -32768, i16 18178, i16 39, i16 18080, i16 -32768, i16 17408, i16 44, i16 16385, i16 -32768, i16 17408, i16 44, i16 18080, i16 -32768, i16 32766, i16 16382, i16 16386, i16 -32767, i16 18234, i16 1850, i16 16386, i16 -31072, i16 18234, i16 1850, i16 16419, i16 -32767, i16 18234, i16 1850, i16 16419, i16 -31072, i16 18234, i16 1850, i16 16424, i16 -32767, i16 18234, i16 1850, i16 16424, i16 -31072, i16 18240, i16 1856, i16 16386, i16 -31072, i16 18240, i16 1856, i16 16387, i16 -32767, i16 18240, i16 1856, i16 16387, i16 -31072, i16 18240, i16 1856, i16 16389, i16 -32767, i16 18240, i16 1856, i16 16389, i16 -31072, i16 18240, i16 1856, i16 16400, i16 -32767, i16 18240, i16 1856, i16 16400, i16 -31072, i16 18240, i16 1856, i16 16412, i16 -32767, i16 18240, i16 1856, i16 16412, i16 -31072, i16 18240, i16 1856, i16 16423, i16 -32767, i16 18240, i16 1856, i16 16423, i16 -31072, i16 18240, i16 1856, i16 16424, i16 -32767, i16 18240, i16 1856, i16 16424, i16 -31072, i16 18254, i16 73, i16 16385, i16 -32768, i16 18254, i16 73, i16 18080, i16 -32768, i16 18144, i16 2, i16 18080, i16 -32768, i16 18144, i16 3, i16 16385, i16 -32768, i16 18144, i16 3, i16 18080, i16 -32768, i16 18148, i16 2, i16 18080, i16 -32768, i16 18148, i16 16382, i16 16385, i16 -32768, i16 18148, i16 1770, i16 18080, i16 -32768, i16 18148, i16 1772, i16 18080, i16 -32768, i16 18148, i16 1774, i16 18080, i16 -32768, i16 18212, i16 16382, i16 16385, i16 -32768, i16 18212, i16 1822, i16 18080, i16 -32768, i16 18212, i16 1824, i16 18080, i16 -32768, i16 18212, i16 35, i16 16385, i16 -32768, i16 18212, i16 35, i16 18080, i16 -32768, i16 18163, i16 2, i16 16385, i16 -32768, i16 17325, i16 28, i16 16385, i16 -32768, i16 17325, i16 28, i16 18080, i16 -32768, i16 18221, i16 2, i16 16385, i16 -32768, i16 17444, i16 28, i16 16385, i16 -32768, i16 17444, i16 28, i16 18080, i16 -32768, i16 18264, i16 2, i16 16385, i16 -32768, i16 18150, i16 2, i16 18080, i16 -32768, i16 18160, i16 2, i16 18080, i16 -32768, i16 18170, i16 2, i16 18080, i16 -32768, i16 18188, i16 2, i16 18080, i16 -32768, i16 18192, i16 2, i16 18080, i16 -32768, i16 18200, i16 2, i16 18080, i16 -32768, i16 18218, i16 2, i16 18080, i16 -32768, i16 18261, i16 2, i16 18080, i16 -32768, i16 18265, i16 2, i16 18080, i16 -32768, i16 18254, i16 16382, i16 16385, i16 -32768, i16 18254, i16 1848, i16 18080, i16 -32768, i16 18254, i16 1844, i16 18080, i16 -32768, i16 18154, i16 2, i16 18080, i16 -32768, i16 18154, i16 3, i16 16385, i16 -32768, i16 18154, i16 3, i16 18080, i16 -32768, i16 18154, i16 50, i16 16385, i16 -32768, i16 18154, i16 50, i16 18080, i16 -32768, i16 18154, i16 73, i16 16385, i16 -32768, i16 18154, i16 73, i16 18080, i16 -32768, i16 18206, i16 2, i16 18080, i16 -32768, i16 18206, i16 3, i16 16385, i16 -32768, i16 18206, i16 3, i16 18080, i16 -32768, i16 18206, i16 28, i16 16385, i16 -32768, i16 18206, i16 28, i16 18080, i16 -32768, i16 18206, i16 33, i16 16385, i16 -32768, i16 18206, i16 33, i16 18080, i16 -32768, i16 18144, i16 16382, i16 16385, i16 -32768, i16 18144, i16 1883, i16 18078, i16 -32768, i16 18144, i16 1883, i16 18079, i16 -32768, i16 18144, i16 1883, i16 18080, i16 -32768, i16 18144, i16 1762, i16 18080, i16 -32768, i16 18152, i16 2, i16 18080, i16 -32768, i16 18162, i16 2, i16 18080, i16 -32768, i16 18172, i16 2, i16 18080, i16 -32768, i16 18174, i16 2, i16 18080, i16 -32768, i16 18183, i16 2, i16 18080, i16 -32768, i16 18185, i16 2, i16 18080, i16 -32768, i16 18190, i16 2, i16 18080, i16 -32768, i16 18196, i16 2, i16 18080, i16 -32768, i16 18210, i16 2, i16 18080, i16 -32768, i16 18216, i16 2, i16 18080, i16 -32768, i16 18220, i16 2, i16 18080, i16 -32768, i16 18230, i16 2, i16 18080, i16 -32768, i16 18263, i16 2, i16 18080, i16 -32768, i16 18081, i16 16382, i16 16384, i16 -32768, i16 17133, i16 16382, i16 16385, i16 -32768, i16 17133, i16 1887, i16 18080, i16 -32768, i16 17386, i16 73, i16 18080, i16 -32768, i16 18143, i16 2, i16 16385, i16 -32768, i16 18272, i16 2, i16 16385, i16 -32768, i16 18169, i16 2, i16 16385, i16 -32768, i16 17205, i16 8, i16 16385, i16 -32768, i16 17205, i16 8, i16 18080, i16 -32768, i16 18182, i16 2, i16 16385, i16 -32768, i16 17311, i16 16382, i16 16385, i16 -32768, i16 17311, i16 1814, i16 18080, i16 -32768, i16 18201, i16 2, i16 16385, i16 -32768, i16 18227, i16 2, i16 16385, i16 -32768, i16 18257, i16 2, i16 16385, i16 -32768, i16 18225, i16 2, i16 16385, i16 -32768, i16 18155, i16 2, i16 16385, i16 -32768, i16 18155, i16 73, i16 18080, i16 -32768, i16 18155, i16 73, i16 16385, i16 -32768, i16 18213, i16 2, i16 16385, i16 -32768, i16 18213, i16 73, i16 18080, i16 -32768, i16 18213, i16 73, i16 16385, i16 -32768, i16 16384, i16 0, i16 16400, i16 -32768, i16 16384, i16 0, i16 16434, i16 -32768, i16 16384, i16 0, i16 16389, i16 -32768, i16 18311, i16 2, i16 18078, i16 -32768, i16 18311, i16 2, i16 18079, i16 -32768, i16 18311, i16 2, i16 18080, i16 -32768, i16 18166, i16 2, i16 18080, i16 -32768, i16 18315, i16 2, i16 18078, i16 -32768, i16 18315, i16 2, i16 18079, i16 -32768, i16 18315, i16 2, i16 18080, i16 -32768, i16 18319, i16 2, i16 18078, i16 -32768, i16 18319, i16 2, i16 18079, i16 -32768, i16 18319, i16 2, i16 18080, i16 -32768, i16 18194, i16 2, i16 18080, i16 -32768, i16 32766, i16 22, i16 16385, i16 -16386, i16 18220, i16 22, i16 18080, i16 -16386, i16 32766, i16 2, i16 16385, i16 -16386, i16 18259, i16 2, i16 18080, i16 -16386, i16 18259, i16 3, i16 16385, i16 -16386, i16 18259, i16 3, i16 18080, i16 -16386, i16 18259, i16 39, i16 16385, i16 -16386, i16 18259, i16 39, i16 18080, i16 -16386, i16 18259, i16 22, i16 16385, i16 -16386, i16 18259, i16 22, i16 18080, i16 -16386, i16 18234, i16 16382, i16 16386, i16 -32767, i16 18234, i16 1856, i16 16386, i16 -31072, i16 18234, i16 1856, i16 16387, i16 -32767, i16 18234, i16 1856, i16 16387, i16 -31072, i16 18234, i16 1856, i16 16389, i16 -32767, i16 18234, i16 1856, i16 16389, i16 -31072, i16 18234, i16 1856, i16 16400, i16 -32767, i16 18234, i16 1856, i16 16400, i16 -31072, i16 18234, i16 1856, i16 16434, i16 -32767, i16 18234, i16 1856, i16 16434, i16 -31072, i16 18234, i16 1856, i16 16423, i16 -32767, i16 18234, i16 1856, i16 16423, i16 -31072, i16 18234, i16 1856, i16 16412, i16 -32767, i16 18234, i16 1856, i16 16412, i16 -31072, i16 32766, i16 35, i16 16385, i16 -16386, i16 18204, i16 35, i16 18080, i16 -16386, i16 32766, i16 28, i16 16385, i16 -16386, i16 18148, i16 28, i16 18080, i16 -16386, i16 18212, i16 28, i16 18080, i16 -16386, i16 18232, i16 28, i16 18080, i16 -16386, i16 18323, i16 2, i16 18078, i16 -32768, i16 18323, i16 2, i16 18079, i16 -32768, i16 18323, i16 2, i16 18080, i16 -32768, i16 18327, i16 2, i16 18078, i16 -32768, i16 18327, i16 2, i16 18079, i16 -32768, i16 18327, i16 2, i16 18080, i16 -32768, i16 32766, i16 32766, i16 32766, i16 32766, i16 16384, i16 16384, i16 16384, i16 32766, i16 32766, i16 16389, i16 16385, i16 32766, i16 16470, i16 16389, i16 16388, i16 16470, i16 16470, i16 16389, i16 32766, i16 16470, i16 16470, i16 16392, i16 16385, i16 16470, i16 16470, i16 16392, i16 16388, i16 16470, i16 16470, i16 16393, i16 16385, i16 16470, i16 16470, i16 16393, i16 16388, i16 16470, i16 16470, i16 16405, i16 16385, i16 16470, i16 16470, i16 16405, i16 16388, i16 16470, i16 16470, i16 16397, i16 16385, i16 16470, i16 16470, i16 16397, i16 16388, i16 16470, i16 16470, i16 16408, i16 16385, i16 16470, i16 16470, i16 16408, i16 16388, i16 16470, i16 16470, i16 16409, i16 16385, i16 16470, i16 16470, i16 16409, i16 16388, i16 16470, i16 16470, i16 16411, i16 16385, i16 16470, i16 16470, i16 16411, i16 16388, i16 16470, i16 16470, i16 16410, i16 16385, i16 16470, i16 16470, i16 16410, i16 16388, i16 16470, i16 16470, i16 16435, i16 16385, i16 16470, i16 16470, i16 16435, i16 16388, i16 16470, i16 16470, i16 16398, i16 16385, i16 16470, i16 16470, i16 16398, i16 16388, i16 16470, i16 16470, i16 16394, i16 16385, i16 16470, i16 16470, i16 16394, i16 16388, i16 16470, i16 16470, i16 16412, i16 16385, i16 16470, i16 16470, i16 16412, i16 16388, i16 16470, i16 16470, i16 16413, i16 16385, i16 16470, i16 16470, i16 16413, i16 16388, i16 16470, i16 16470, i16 16415, i16 16385, i16 16470, i16 16470, i16 16415, i16 16388, i16 16470, i16 16470, i16 16414, i16 16385, i16 16470, i16 16470, i16 16414, i16 16388, i16 16470, i16 16470, i16 16436, i16 16385, i16 16470, i16 16470, i16 16436, i16 16388, i16 16470, i16 16470, i16 16395, i16 16385, i16 16470, i16 16470, i16 16395, i16 16388, i16 16470, i16 16470, i16 16399, i16 16385, i16 16470, i16 16470, i16 16399, i16 16388, i16 16470, i16 16470, i16 16417, i16 16385, i16 16470, i16 16470, i16 16417, i16 16388, i16 16470, i16 16470, i16 16450, i16 16385, i16 16470, i16 16470, i16 16450, i16 16388, i16 16470, i16 16470, i16 16402, i16 16385, i16 16470, i16 16470, i16 16402, i16 16388, i16 16470, i16 16470, i16 16426, i16 16385, i16 16470, i16 16470, i16 16426, i16 16388, i16 16470, i16 16470, i16 16400, i16 16385, i16 16470, i16 16470, i16 16400, i16 16388, i16 16470, i16 16470, i16 16396, i16 16385, i16 16470, i16 16470, i16 16396, i16 16388, i16 16470, i16 16470, i16 16444, i16 16385, i16 16470, i16 16470, i16 16444, i16 16388, i16 16470, i16 16470, i16 16449, i16 16385, i16 16470, i16 16470, i16 16449, i16 16388, i16 16470, i16 16470, i16 16391, i16 16385, i16 16470, i16 16470, i16 16391, i16 16388, i16 16470, i16 16470, i16 16418, i16 16385, i16 16470, i16 16470, i16 16418, i16 16388, i16 16470, i16 18628, i16 18631, i16 18517, i16 18628, i16 18628, i16 18631, i16 18425, i16 18628, i16 18628, i16 18634, i16 18517, i16 18628, i16 18628, i16 18634, i16 18425, i16 18628, i16 18628, i16 18637, i16 18517, i16 18628, i16 18628, i16 18637, i16 18425, i16 18628, i16 16536, i16 16389, i16 16388, i16 16536, i16 16536, i16 16390, i16 16385, i16 16536, i16 16536, i16 16390, i16 16388, i16 16536, i16 16536, i16 16444, i16 16385, i16 16536, i16 16536, i16 16444, i16 16388, i16 16536, i16 16536, i16 16445, i16 16385, i16 16536, i16 16536, i16 16445, i16 16388, i16 16536, i16 16545, i16 16389, i16 16388, i16 16545, i16 16545, i16 16392, i16 16385, i16 16545, i16 16545, i16 16392, i16 16388, i16 16545, i16 16545, i16 16394, i16 16385, i16 16545, i16 16545, i16 16394, i16 16388, i16 16545, i16 16545, i16 16400, i16 16385, i16 16545, i16 16545, i16 16400, i16 16388, i16 16545, i16 16545, i16 16390, i16 16385, i16 16545, i16 16545, i16 16390, i16 16388, i16 16545, i16 16545, i16 16448, i16 16385, i16 16545, i16 16545, i16 16448, i16 16388, i16 16545, i16 16545, i16 16437, i16 16385, i16 16545, i16 16545, i16 16437, i16 16388, i16 16545, i16 32766, i16 16395, i16 16385, i16 32766, i16 16559, i16 16395, i16 16388, i16 16559, i16 16562, i16 16389, i16 16388, i16 16562, i16 16562, i16 16395, i16 16385, i16 16562, i16 16562, i16 16395, i16 16388, i16 16562, i16 16562, i16 16390, i16 16385, i16 16562, i16 16562, i16 16390, i16 16388, i16 16562, i16 16562, i16 16444, i16 16385, i16 16562, i16 16562, i16 16444, i16 16388, i16 16562, i16 16562, i16 16452, i16 16385, i16 16562, i16 16562, i16 16452, i16 16388, i16 16562, i16 16562, i16 16448, i16 16385, i16 16562, i16 16562, i16 16448, i16 16388, i16 16562, i16 16562, i16 16421, i16 16385, i16 16562, i16 16562, i16 16421, i16 16388, i16 16562, i16 16562, i16 16445, i16 16385, i16 16562, i16 16562, i16 16445, i16 16388, i16 16562, i16 16579, i16 16389, i16 16388, i16 16579, i16 16579, i16 16392, i16 16385, i16 16579, i16 16579, i16 16392, i16 16388, i16 16579, i16 16579, i16 16393, i16 16385, i16 16579, i16 16579, i16 16393, i16 16388, i16 16579, i16 16579, i16 16405, i16 16385, i16 16579, i16 16579, i16 16405, i16 16388, i16 16579, i16 16579, i16 16397, i16 16385, i16 16579, i16 16579, i16 16397, i16 16388, i16 16579, i16 16579, i16 16398, i16 16385, i16 16579, i16 16579, i16 16398, i16 16388, i16 16579, i16 16579, i16 16394, i16 16385, i16 16579, i16 16579, i16 16394, i16 16388, i16 16579, i16 16579, i16 16412, i16 16385, i16 16579, i16 16579, i16 16412, i16 16388, i16 16579, i16 16579, i16 16413, i16 16385, i16 16579, i16 16579, i16 16413, i16 16388, i16 16579, i16 16579, i16 16415, i16 16385, i16 16579, i16 16579, i16 16415, i16 16388, i16 16579, i16 16579, i16 16414, i16 16385, i16 16579, i16 16579, i16 16414, i16 16388, i16 16579, i16 16579, i16 16436, i16 16385, i16 16579, i16 16579, i16 16436, i16 16388, i16 16579, i16 16579, i16 16395, i16 16385, i16 16579, i16 16579, i16 16395, i16 16388, i16 16579, i16 16579, i16 16402, i16 16385, i16 16579, i16 16579, i16 16402, i16 16388, i16 16579, i16 16579, i16 16400, i16 16385, i16 16579, i16 16579, i16 16400, i16 16388, i16 16579, i16 16579, i16 16396, i16 16385, i16 16579, i16 16579, i16 16396, i16 16388, i16 16579, i16 16579, i16 16446, i16 16385, i16 16579, i16 16579, i16 16446, i16 16388, i16 16579, i16 16579, i16 16390, i16 16385, i16 16579, i16 16579, i16 16390, i16 16388, i16 16579, i16 16579, i16 16444, i16 16385, i16 16579, i16 16579, i16 16444, i16 16388, i16 16579, i16 16579, i16 16439, i16 16385, i16 16579, i16 16579, i16 16439, i16 16388, i16 16579, i16 16579, i16 16449, i16 16385, i16 16579, i16 16579, i16 16449, i16 16388, i16 16579, i16 16579, i16 16391, i16 16385, i16 16579, i16 16579, i16 16391, i16 16388, i16 16579, i16 16579, i16 16419, i16 16385, i16 16579, i16 16579, i16 16419, i16 16388, i16 16579, i16 16579, i16 16420, i16 16385, i16 16579, i16 16579, i16 16420, i16 16388, i16 16579, i16 16579, i16 16421, i16 16385, i16 16579, i16 16579, i16 16421, i16 16388, i16 16579, i16 16630, i16 16389, i16 16388, i16 16630, i16 16630, i16 16400, i16 16385, i16 16630, i16 16630, i16 16400, i16 16388, i16 16630, i16 16630, i16 16390, i16 16385, i16 16630, i16 16630, i16 16390, i16 16388, i16 16630, i16 18640, i16 18643, i16 18646, i16 18640, i16 18649, i16 18643, i16 18652, i16 18649, i16 18655, i16 18643, i16 18658, i16 18655, i16 18661, i16 18665, i16 18669, i16 18661, i16 18673, i16 18665, i16 18677, i16 18673, i16 16642, i16 16389, i16 16388, i16 16642, i16 16642, i16 16392, i16 16385, i16 16642, i16 16642, i16 16392, i16 16388, i16 16642, i16 16642, i16 16397, i16 16385, i16 16642, i16 16642, i16 16397, i16 16388, i16 16642, i16 16642, i16 16394, i16 16385, i16 16642, i16 16642, i16 16394, i16 16388, i16 16642, i16 16642, i16 16395, i16 16385, i16 16642, i16 16642, i16 16395, i16 16388, i16 16642, i16 16642, i16 16390, i16 16385, i16 16642, i16 16642, i16 16390, i16 16388, i16 16642, i16 16642, i16 16452, i16 16385, i16 16642, i16 16642, i16 16452, i16 16388, i16 16642, i16 16642, i16 16448, i16 16385, i16 16642, i16 16642, i16 16448, i16 16388, i16 16642, i16 16642, i16 16391, i16 16385, i16 16642, i16 16642, i16 16391, i16 16388, i16 16642, i16 16661, i16 16389, i16 16388, i16 16661, i16 16661, i16 16447, i16 16385, i16 16661, i16 16661, i16 16447, i16 16388, i16 16661, i16 16661, i16 16394, i16 16385, i16 16661, i16 16661, i16 16394, i16 16388, i16 16661, i16 16661, i16 16402, i16 16385, i16 16661, i16 16661, i16 16402, i16 16388, i16 16661, i16 16661, i16 16390, i16 16385, i16 16661, i16 16661, i16 16390, i16 16388, i16 16661, i16 16661, i16 16444, i16 16385, i16 16661, i16 16661, i16 16444, i16 16388, i16 16661, i16 16661, i16 16452, i16 16385, i16 16661, i16 16661, i16 16452, i16 16388, i16 16661, i16 16661, i16 16448, i16 16385, i16 16661, i16 16661, i16 16448, i16 16388, i16 16661, i16 16678, i16 16389, i16 16386, i16 16678, i16 16678, i16 16389, i16 16388, i16 16678, i16 16681, i16 16389, i16 16388, i16 16681, i16 16681, i16 16392, i16 16385, i16 16681, i16 16681, i16 16392, i16 16388, i16 16681, i16 16681, i16 16393, i16 16385, i16 16681, i16 16681, i16 16393, i16 16388, i16 16681, i16 16681, i16 16405, i16 16385, i16 16681, i16 16681, i16 16405, i16 16388, i16 16681, i16 16681, i16 16397, i16 16385, i16 16681, i16 16681, i16 16397, i16 16388, i16 16681, i16 16681, i16 16398, i16 16385, i16 16681, i16 16681, i16 16398, i16 16388, i16 16681, i16 16681, i16 16394, i16 16385, i16 16681, i16 16681, i16 16394, i16 16388, i16 16681, i16 16681, i16 16395, i16 16385, i16 16681, i16 16681, i16 16395, i16 16388, i16 16681, i16 16681, i16 16402, i16 16385, i16 16681, i16 16681, i16 16402, i16 16388, i16 16681, i16 16681, i16 16427, i16 16385, i16 16681, i16 16681, i16 16427, i16 16388, i16 16681, i16 16681, i16 16400, i16 16385, i16 16681, i16 16681, i16 16400, i16 16388, i16 16681, i16 16681, i16 16396, i16 16385, i16 16681, i16 16681, i16 16396, i16 16388, i16 16681, i16 16681, i16 16446, i16 16385, i16 16681, i16 16681, i16 16446, i16 16388, i16 16681, i16 16681, i16 16390, i16 16385, i16 16681, i16 16681, i16 16390, i16 16388, i16 16681, i16 16681, i16 16444, i16 16385, i16 16681, i16 16681, i16 16444, i16 16388, i16 16681, i16 16681, i16 16449, i16 16385, i16 16681, i16 16681, i16 16449, i16 16388, i16 16681, i16 16681, i16 16391, i16 16385, i16 16681, i16 16681, i16 16391, i16 16388, i16 16681, i16 18681, i16 18684, i16 18517, i16 18681, i16 18681, i16 18684, i16 18425, i16 18681, i16 16718, i16 16389, i16 16388, i16 16718, i16 16718, i16 16394, i16 16385, i16 16718, i16 16718, i16 16394, i16 16388, i16 16718, i16 16723, i16 16389, i16 16388, i16 16723, i16 16723, i16 16392, i16 16385, i16 16723, i16 16723, i16 16392, i16 16388, i16 16723, i16 16723, i16 16395, i16 16385, i16 16723, i16 16723, i16 16395, i16 16388, i16 16723, i16 16723, i16 16400, i16 16385, i16 16723, i16 16723, i16 16400, i16 16388, i16 16723, i16 16723, i16 16444, i16 16385, i16 16723, i16 16723, i16 16444, i16 16388, i16 16723, i16 16723, i16 16448, i16 16385, i16 16723, i16 16723, i16 16448, i16 16388, i16 16723, i16 16723, i16 16445, i16 16385, i16 16723, i16 16723, i16 16445, i16 16388, i16 16723, i16 16723, i16 32766, i16 16388, i16 16723, i16 16739, i16 16389, i16 16388, i16 16739, i16 16739, i16 16392, i16 16385, i16 16739, i16 16739, i16 16392, i16 16388, i16 16739, i16 16739, i16 16395, i16 16385, i16 16739, i16 16739, i16 16395, i16 16388, i16 16739, i16 16739, i16 16390, i16 16385, i16 16739, i16 16739, i16 16390, i16 16388, i16 16739, i16 16739, i16 16444, i16 16385, i16 16739, i16 16739, i16 16444, i16 16388, i16 16739, i16 16739, i16 16452, i16 16385, i16 16739, i16 16739, i16 16452, i16 16388, i16 16739, i16 16739, i16 16448, i16 16385, i16 16739, i16 16739, i16 16448, i16 16388, i16 16739, i16 16739, i16 16434, i16 16385, i16 16739, i16 16739, i16 16434, i16 16388, i16 16739, i16 16739, i16 16421, i16 16385, i16 16739, i16 16739, i16 16421, i16 16388, i16 16739, i16 16739, i16 16445, i16 16385, i16 16739, i16 16739, i16 16445, i16 16388, i16 16739, i16 16760, i16 16389, i16 16388, i16 16760, i16 16760, i16 16392, i16 16385, i16 16760, i16 16760, i16 16392, i16 16388, i16 16760, i16 16760, i16 16390, i16 16385, i16 16760, i16 16760, i16 16390, i16 16388, i16 16760, i16 16760, i16 16444, i16 16385, i16 16760, i16 16760, i16 16444, i16 16388, i16 16760, i16 16769, i16 16389, i16 16388, i16 16769, i16 16769, i16 16392, i16 16385, i16 16769, i16 16769, i16 16392, i16 16388, i16 16769, i16 16769, i16 16395, i16 16385, i16 16769, i16 16769, i16 16395, i16 16388, i16 16769, i16 16769, i16 16396, i16 16385, i16 16769, i16 16769, i16 16396, i16 16388, i16 16769, i16 16769, i16 16390, i16 16385, i16 16769, i16 16769, i16 16390, i16 16388, i16 16769, i16 16769, i16 16444, i16 16385, i16 16769, i16 16769, i16 16444, i16 16388, i16 16769, i16 16769, i16 16448, i16 16385, i16 16769, i16 16769, i16 16448, i16 16388, i16 16769, i16 16769, i16 16421, i16 16385, i16 16769, i16 16769, i16 16421, i16 16388, i16 16769, i16 16769, i16 16445, i16 16385, i16 16769, i16 16769, i16 16445, i16 16388, i16 16769, i16 16769, i16 16451, i16 16388, i16 16769, i16 18687, i16 18690, i16 18517, i16 18687, i16 18687, i16 18690, i16 18425, i16 18687, i16 16791, i16 16389, i16 16388, i16 16791, i16 16791, i16 16389, i16 32766, i16 16791, i16 16791, i16 16392, i16 16385, i16 16791, i16 16791, i16 16392, i16 16388, i16 16791, i16 16791, i16 16393, i16 16385, i16 16791, i16 16791, i16 16393, i16 16388, i16 16791, i16 16791, i16 16405, i16 16385, i16 16791, i16 16791, i16 16405, i16 16388, i16 16791, i16 16791, i16 16397, i16 16385, i16 16791, i16 16791, i16 16397, i16 16388, i16 16791, i16 16791, i16 16398, i16 16385, i16 16791, i16 16791, i16 16398, i16 16388, i16 16791, i16 16791, i16 16394, i16 16385, i16 16791, i16 16791, i16 16394, i16 16388, i16 16791, i16 16791, i16 16412, i16 16385, i16 16791, i16 16791, i16 16412, i16 16388, i16 16791, i16 16791, i16 16413, i16 16385, i16 16791, i16 16791, i16 16413, i16 16388, i16 16791, i16 16791, i16 16415, i16 16385, i16 16791, i16 16791, i16 16415, i16 16388, i16 16791, i16 16791, i16 16414, i16 16385, i16 16791, i16 16791, i16 16414, i16 16388, i16 16791, i16 16791, i16 16436, i16 16385, i16 16791, i16 16791, i16 16436, i16 16388, i16 16791, i16 16791, i16 16395, i16 16385, i16 16791, i16 16791, i16 16395, i16 16388, i16 16791, i16 16791, i16 16402, i16 16385, i16 16791, i16 16791, i16 16402, i16 16388, i16 16791, i16 16791, i16 16404, i16 16385, i16 16791, i16 16791, i16 16404, i16 16388, i16 16791, i16 16791, i16 16400, i16 16385, i16 16791, i16 16791, i16 16400, i16 16388, i16 16791, i16 16791, i16 16396, i16 16385, i16 16791, i16 16791, i16 16396, i16 16388, i16 16791, i16 16791, i16 16406, i16 16385, i16 16791, i16 16791, i16 16406, i16 16388, i16 16791, i16 16791, i16 16431, i16 16385, i16 16791, i16 16791, i16 16431, i16 16388, i16 16791, i16 16791, i16 16444, i16 16385, i16 16791, i16 16791, i16 16444, i16 16388, i16 16791, i16 16791, i16 16452, i16 16385, i16 16791, i16 16791, i16 16452, i16 16388, i16 16791, i16 16791, i16 16443, i16 16385, i16 16791, i16 16791, i16 16443, i16 16388, i16 16791, i16 16791, i16 16449, i16 16385, i16 16791, i16 16791, i16 16449, i16 16388, i16 16791, i16 16791, i16 16440, i16 16385, i16 16791, i16 16791, i16 16440, i16 16388, i16 16791, i16 16791, i16 16391, i16 16385, i16 16791, i16 16791, i16 16391, i16 16388, i16 16791, i16 16791, i16 16419, i16 16385, i16 16791, i16 16791, i16 16419, i16 16388, i16 16791, i16 16791, i16 16420, i16 16385, i16 16791, i16 16791, i16 16420, i16 16388, i16 16791, i16 16791, i16 16401, i16 16385, i16 16791, i16 16791, i16 16401, i16 16388, i16 16791, i16 16791, i16 16422, i16 16385, i16 16791, i16 16791, i16 16422, i16 16388, i16 16791, i16 16791, i16 16423, i16 16385, i16 16791, i16 16791, i16 16423, i16 16388, i16 16791, i16 16791, i16 16425, i16 16385, i16 16791, i16 16791, i16 16425, i16 16388, i16 16791, i16 16791, i16 16424, i16 16385, i16 16791, i16 16791, i16 16424, i16 16388, i16 16791, i16 16791, i16 16441, i16 16385, i16 16791, i16 16791, i16 16441, i16 16388, i16 16791, i16 18693, i16 18696, i16 18517, i16 18693, i16 18693, i16 18696, i16 18425, i16 18693, i16 16861, i16 16389, i16 16388, i16 16861, i16 16861, i16 16392, i16 16385, i16 16861, i16 16861, i16 16392, i16 16388, i16 16861, i16 16861, i16 16390, i16 16385, i16 16861, i16 16861, i16 16390, i16 16388, i16 16861, i16 16868, i16 16389, i16 16388, i16 16868, i16 16871, i16 16389, i16 16388, i16 16871, i16 16871, i16 16392, i16 16385, i16 16871, i16 16871, i16 16392, i16 16388, i16 16871, i16 16871, i16 16405, i16 16385, i16 16871, i16 16871, i16 16405, i16 16388, i16 16871, i16 16871, i16 16398, i16 16385, i16 16871, i16 16871, i16 16398, i16 16388, i16 16871, i16 16871, i16 16390, i16 16385, i16 16871, i16 16871, i16 16390, i16 16388, i16 16871, i16 16871, i16 16444, i16 16385, i16 16871, i16 16871, i16 16444, i16 16388, i16 16871, i16 16871, i16 16448, i16 16385, i16 16871, i16 16871, i16 16448, i16 16388, i16 16871, i16 16871, i16 16434, i16 16385, i16 16871, i16 16871, i16 16434, i16 16388, i16 16871, i16 16871, i16 16445, i16 16385, i16 16871, i16 16871, i16 16445, i16 16388, i16 16871, i16 16889, i16 16395, i16 16388, i16 16889, i16 16892, i16 16389, i16 16388, i16 16892, i16 18699, i16 18643, i16 18702, i16 18699, i16 16892, i16 16392, i16 16385, i16 16892, i16 16892, i16 16392, i16 16388, i16 16892, i16 16892, i16 16403, i16 16385, i16 16892, i16 16892, i16 16403, i16 16388, i16 16892, i16 16892, i16 16394, i16 16385, i16 16892, i16 16892, i16 16394, i16 16388, i16 16892, i16 16892, i16 16390, i16 16385, i16 16892, i16 16892, i16 16390, i16 16388, i16 16892, i16 16892, i16 16444, i16 16385, i16 16892, i16 16892, i16 16444, i16 16388, i16 16892, i16 16892, i16 16433, i16 16385, i16 16892, i16 16892, i16 16433, i16 16388, i16 16892, i16 16892, i16 16448, i16 16385, i16 16892, i16 16892, i16 16448, i16 16388, i16 16892, i16 16909, i16 16395, i16 16388, i16 16909, i16 16909, i16 16416, i16 16385, i16 16909, i16 16909, i16 16416, i16 16388, i16 16909, i16 16892, i16 32766, i16 16388, i16 16892, i16 18705, i16 18643, i16 18708, i16 18705, i16 18699, i16 18643, i16 18711, i16 16384, i16 16917, i16 16389, i16 16388, i16 16917, i16 16917, i16 16395, i16 16385, i16 16917, i16 16917, i16 16395, i16 16388, i16 16917, i16 16917, i16 16390, i16 16385, i16 16917, i16 16917, i16 16390, i16 16388, i16 16917, i16 16917, i16 16444, i16 16385, i16 16917, i16 16917, i16 16444, i16 16388, i16 16917, i16 16917, i16 16452, i16 16385, i16 16917, i16 16917, i16 16452, i16 16388, i16 16917, i16 16917, i16 16448, i16 16385, i16 16917, i16 16917, i16 16448, i16 16388, i16 16917, i16 16917, i16 16421, i16 16385, i16 16917, i16 16917, i16 16421, i16 16388, i16 16917, i16 16917, i16 16445, i16 16385, i16 16917, i16 16917, i16 16445, i16 16388, i16 16917, i16 18714, i16 18717, i16 18517, i16 18714, i16 18714, i16 18717, i16 18425, i16 18714, i16 16936, i16 16389, i16 16388, i16 16936, i16 16936, i16 16392, i16 16385, i16 16936, i16 16936, i16 16392, i16 16388, i16 16936, i16 16936, i16 16393, i16 16385, i16 16936, i16 16936, i16 16393, i16 16388, i16 16936, i16 16936, i16 16405, i16 16385, i16 16936, i16 16936, i16 16405, i16 16388, i16 16936, i16 16936, i16 16397, i16 16385, i16 16936, i16 16936, i16 16397, i16 16388, i16 16936, i16 16936, i16 16398, i16 16385, i16 16936, i16 16936, i16 16398, i16 16388, i16 16936, i16 16936, i16 16394, i16 16385, i16 16936, i16 16936, i16 16394, i16 16388, i16 16936, i16 16936, i16 16395, i16 16385, i16 16936, i16 16936, i16 16395, i16 16388, i16 16936, i16 16936, i16 16399, i16 16385, i16 16936, i16 16936, i16 16399, i16 16388, i16 16936, i16 16936, i16 16402, i16 16385, i16 16936, i16 16936, i16 16402, i16 16388, i16 16936, i16 16936, i16 16426, i16 16385, i16 16936, i16 16936, i16 16426, i16 16388, i16 16936, i16 16936, i16 16427, i16 16385, i16 16936, i16 16936, i16 16427, i16 16388, i16 16936, i16 16936, i16 16428, i16 16385, i16 16936, i16 16936, i16 16428, i16 16388, i16 16936, i16 16936, i16 16429, i16 16385, i16 16936, i16 16936, i16 16429, i16 16388, i16 16936, i16 16936, i16 16404, i16 16385, i16 16936, i16 16936, i16 16404, i16 16388, i16 16936, i16 16936, i16 16400, i16 16385, i16 16936, i16 16936, i16 16400, i16 16388, i16 16936, i16 16936, i16 16396, i16 16385, i16 16936, i16 16936, i16 16396, i16 16388, i16 16936, i16 16936, i16 16406, i16 16385, i16 16936, i16 16936, i16 16406, i16 16388, i16 16936, i16 16936, i16 16446, i16 16385, i16 16936, i16 16936, i16 16446, i16 16388, i16 16936, i16 16936, i16 16444, i16 16385, i16 16936, i16 16936, i16 16444, i16 16388, i16 16936, i16 16936, i16 16449, i16 16385, i16 16936, i16 16936, i16 16449, i16 16388, i16 16936, i16 16936, i16 16391, i16 16385, i16 16936, i16 16936, i16 16391, i16 16388, i16 16936, i16 16936, i16 16430, i16 16385, i16 16936, i16 16936, i16 16430, i16 16388, i16 16936, i16 16936, i16 16442, i16 16385, i16 16936, i16 16936, i16 16442, i16 16388, i16 16936, i16 16936, i16 16421, i16 16385, i16 16936, i16 16936, i16 16421, i16 16388, i16 16936, i16 16936, i16 16401, i16 16385, i16 16936, i16 16936, i16 16401, i16 16388, i16 16936, i16 16936, i16 16422, i16 16385, i16 16936, i16 16936, i16 16422, i16 16388, i16 16936, i16 16936, i16 16423, i16 16385, i16 16936, i16 16936, i16 16423, i16 16388, i16 16936, i16 16936, i16 16425, i16 16385, i16 16936, i16 16936, i16 16425, i16 16388, i16 16936, i16 16936, i16 16424, i16 16385, i16 16936, i16 16936, i16 16424, i16 16388, i16 16936, i16 16936, i16 16441, i16 16385, i16 16936, i16 16936, i16 16441, i16 16388, i16 16936, i16 16999, i16 16389, i16 16388, i16 16999, i16 16999, i16 16396, i16 16385, i16 16999, i16 16999, i16 16396, i16 16388, i16 16999, i16 16999, i16 16444, i16 16385, i16 16999, i16 16999, i16 16444, i16 16388, i16 16999, i16 17006, i16 16389, i16 16388, i16 17006, i16 17006, i16 16392, i16 16385, i16 17006, i16 17006, i16 16392, i16 16388, i16 17006, i16 17006, i16 16393, i16 16385, i16 17006, i16 17006, i16 16393, i16 16388, i16 17006, i16 17006, i16 16394, i16 16385, i16 17006, i16 17006, i16 16394, i16 16388, i16 17006, i16 17006, i16 16402, i16 16385, i16 17006, i16 17006, i16 16402, i16 16388, i16 17006, i16 17006, i16 16390, i16 16385, i16 17006, i16 17006, i16 16390, i16 16388, i16 17006, i16 17006, i16 16444, i16 16385, i16 17006, i16 17006, i16 16444, i16 16388, i16 17006, i16 17021, i16 16389, i16 16388, i16 17021, i16 17021, i16 16402, i16 16385, i16 17021, i16 17021, i16 16402, i16 16388, i16 17021, i16 17021, i16 16390, i16 16385, i16 17021, i16 17021, i16 16390, i16 16388, i16 17021, i16 17028, i16 16389, i16 16388, i16 17028, i16 17028, i16 16392, i16 16385, i16 17028, i16 17028, i16 16392, i16 16388, i16 17028, i16 17028, i16 16393, i16 16385, i16 17028, i16 17028, i16 16393, i16 16388, i16 17028, i16 17028, i16 16394, i16 16385, i16 17028, i16 17028, i16 16394, i16 16388, i16 17028, i16 17028, i16 16402, i16 16385, i16 17028, i16 17028, i16 16402, i16 16388, i16 17028, i16 17028, i16 16400, i16 16385, i16 17028, i16 17028, i16 16400, i16 16388, i16 17028, i16 17028, i16 16396, i16 16385, i16 17028, i16 17028, i16 16396, i16 16388, i16 17028, i16 17028, i16 16390, i16 16385, i16 17028, i16 17028, i16 16390, i16 16388, i16 17028, i16 17028, i16 16444, i16 16385, i16 17028, i16 17028, i16 16444, i16 16388, i16 17028, i16 17047, i16 16389, i16 16388, i16 17047, i16 17047, i16 16392, i16 16385, i16 17047, i16 17047, i16 16392, i16 16388, i16 17047, i16 17047, i16 16394, i16 16385, i16 17047, i16 17047, i16 16394, i16 16388, i16 17047, i16 17047, i16 16390, i16 16385, i16 17047, i16 17047, i16 16390, i16 16388, i16 17047, i16 17047, i16 16444, i16 16385, i16 17047, i16 17047, i16 16444, i16 16388, i16 17047, i16 17047, i16 16452, i16 16385, i16 17047, i16 17047, i16 16452, i16 16388, i16 17047, i16 17047, i16 16445, i16 16385, i16 17047, i16 17047, i16 16445, i16 16388, i16 17047, i16 17062, i16 16395, i16 16388, i16 17062, i16 32766, i16 32766, i16 16384, i16 32766, i16 17064, i16 32766, i16 16384, i16 17064, i16 17073, i16 32766, i16 16384, i16 17073, i16 17074, i16 32766, i16 16384, i16 17074, i16 17075, i16 32766, i16 16384, i16 17075, i16 17076, i16 32766, i16 16384, i16 17076, i16 17077, i16 32766, i16 16384, i16 17077, i16 17078, i16 32766, i16 16384, i16 17078, i16 17079, i16 32766, i16 16384, i16 17079, i16 17080, i16 32766, i16 16384, i16 17080, i16 17081, i16 32766, i16 16384, i16 17081, i16 16384, i16 16384, i16 16384, i16 17133, i16 16384, i16 16384, i16 16384, i16 17135, i16 16384, i16 16384, i16 16384, i16 17197, i16 16384, i16 16384, i16 16384, i16 16384, i16 32766, i16 16385, i16 16453, i16 32766, i16 17723, i16 16385, i16 16454, i16 17723, i16 17723, i16 16388, i16 16453, i16 17723, i16 17723, i16 16388, i16 16454, i16 17723, i16 17727, i16 16388, i16 16453, i16 17727, i16 17729, i16 16388, i16 16453, i16 17729, i16 17731, i16 16388, i16 16453, i16 17731, i16 17733, i16 16385, i16 16454, i16 17733, i16 17733, i16 16388, i16 16453, i16 17733, i16 17733, i16 16388, i16 16454, i16 17733, i16 17737, i16 16388, i16 16453, i16 17737, i16 17739, i16 16385, i16 16454, i16 17739, i16 17739, i16 16388, i16 16453, i16 17739, i16 17739, i16 16388, i16 16454, i16 17739, i16 17743, i16 16388, i16 16453, i16 17743, i16 17745, i16 16385, i16 16454, i16 17745, i16 17745, i16 16385, i16 16455, i16 17745, i16 17745, i16 16388, i16 16453, i16 17745, i16 17745, i16 16388, i16 16454, i16 17745, i16 17745, i16 16388, i16 16455, i16 17745, i16 17745, i16 16388, i16 16456, i16 17745, i16 17752, i16 16388, i16 16453, i16 17752, i16 17754, i16 16388, i16 16453, i16 17754, i16 17756, i16 16388, i16 16453, i16 17756, i16 17758, i16 16388, i16 16453, i16 17758, i16 17760, i16 16388, i16 16453, i16 17760, i16 17762, i16 16385, i16 16454, i16 17762, i16 17762, i16 16388, i16 16453, i16 17762, i16 17762, i16 16388, i16 16454, i16 17762, i16 17766, i16 16388, i16 16453, i16 17766, i16 17768, i16 16388, i16 16453, i16 17768, i16 17770, i16 16388, i16 16453, i16 17770, i16 17770, i16 16388, i16 32766, i16 17770, i16 17773, i16 16388, i16 16453, i16 17773, i16 17775, i16 16385, i16 16454, i16 17775, i16 17775, i16 16385, i16 16455, i16 17775, i16 17775, i16 16388, i16 16453, i16 17775, i16 17775, i16 16388, i16 16454, i16 17775, i16 17775, i16 16388, i16 16455, i16 17775, i16 17775, i16 16388, i16 16456, i16 17775, i16 17782, i16 16388, i16 16453, i16 17782, i16 17784, i16 16388, i16 16453, i16 17784, i16 17786, i16 16388, i16 16453, i16 17786, i16 17788, i16 16385, i16 16454, i16 17788, i16 17788, i16 16388, i16 16453, i16 17788, i16 17788, i16 16388, i16 16454, i16 17788, i16 32766, i16 16457, i16 16385, i16 32766, i16 17792, i16 16457, i16 16388, i16 17792, i16 17794, i16 16457, i16 16388, i16 17794, i16 17796, i16 16457, i16 16388, i16 17796, i16 17798, i16 16457, i16 16388, i16 17798, i16 17800, i16 16457, i16 16388, i16 17800, i16 17802, i16 16457, i16 16388, i16 17802, i16 17804, i16 16457, i16 16388, i16 17804, i16 17806, i16 16457, i16 16388, i16 17806, i16 17808, i16 16457, i16 16388, i16 17808, i16 17810, i16 16457, i16 16388, i16 17810, i16 17812, i16 16457, i16 16388, i16 17812, i16 17814, i16 16457, i16 16388, i16 17814, i16 17816, i16 16457, i16 16388, i16 17816, i16 17818, i16 16457, i16 16388, i16 17818, i16 17820, i16 16457, i16 16388, i16 17820, i16 17822, i16 16457, i16 16388, i16 17822, i16 17824, i16 16457, i16 16388, i16 17824, i16 17826, i16 16457, i16 16388, i16 17826, i16 17828, i16 16457, i16 16388, i16 17828, i16 17830, i16 16457, i16 16388, i16 17830, i16 17832, i16 16457, i16 16388, i16 17832, i16 17834, i16 16457, i16 16388, i16 17834, i16 17836, i16 16457, i16 16388, i16 17836, i16 17838, i16 16457, i16 16388, i16 17838, i16 17840, i16 16457, i16 16388, i16 17840, i16 17842, i16 16457, i16 16388, i16 17842, i16 17844, i16 16457, i16 16388, i16 17844, i16 17846, i16 16457, i16 16388, i16 17846, i16 17848, i16 16457, i16 16388, i16 17848, i16 17850, i16 16457, i16 16388, i16 17850, i16 17852, i16 16457, i16 16388, i16 17852, i16 17854, i16 16457, i16 16388, i16 17854, i16 17856, i16 16457, i16 16388, i16 17856, i16 17858, i16 16457, i16 16388, i16 17858, i16 17860, i16 16457, i16 16388, i16 17860, i16 17862, i16 16457, i16 16388, i16 17862, i16 17864, i16 16457, i16 16388, i16 17864, i16 17866, i16 16457, i16 16388, i16 17866, i16 17868, i16 16457, i16 16388, i16 17868, i16 17870, i16 16457, i16 16388, i16 17870, i16 17872, i16 16457, i16 16388, i16 17872, i16 32766, i16 16457, i16 16388, i16 32766, i16 17874, i16 16457, i16 16385, i16 17874, i16 17876, i16 16457, i16 16388, i16 17876, i16 17878, i16 16457, i16 16385, i16 17878, i16 17880, i16 16457, i16 16388, i16 17880, i16 17882, i16 16457, i16 16388, i16 17882, i16 17884, i16 16457, i16 16388, i16 17884, i16 17886, i16 16457, i16 16388, i16 17886, i16 17888, i16 16457, i16 16388, i16 17888, i16 17890, i16 16457, i16 16388, i16 17890, i16 17892, i16 16457, i16 16388, i16 17892, i16 17894, i16 16457, i16 16388, i16 17894, i16 32766, i16 16384, i16 16384, i16 32766, i16 17928, i16 32766, i16 16384, i16 17928, i16 17927, i16 32766, i16 16384, i16 17927, i16 17937, i16 32766, i16 16384, i16 17937, i16 17941, i16 32766, i16 16384, i16 17941, i16 17948, i16 32766, i16 16384, i16 17948, i16 17956, i16 32766, i16 16384, i16 17956, i16 17961, i16 32766, i16 16384, i16 17961, i16 17966, i16 32766, i16 16384, i16 17966, i16 17971, i16 32766, i16 16384, i16 17971, i16 17976, i16 32766, i16 16384, i16 17976, i16 17979, i16 32766, i16 16384, i16 17979, i16 17982, i16 32766, i16 16384, i16 17982, i16 17985, i16 32766, i16 16384, i16 17985, i16 17988, i16 32766, i16 16384, i16 17988, i16 17993, i16 32766, i16 16384, i16 17993, i16 17998, i16 32766, i16 16384, i16 17998, i16 18003, i16 32766, i16 16384, i16 18003, i16 18008, i16 32766, i16 16384, i16 18008, i16 18013, i16 32766, i16 16384, i16 18013, i16 18018, i16 32766, i16 16384, i16 18018, i16 18023, i16 32766, i16 16384, i16 18023, i16 18028, i16 32766, i16 16384, i16 18028, i16 18033, i16 32766, i16 16384, i16 18033, i16 18038, i16 32766, i16 16384, i16 18038, i16 18043, i16 32766, i16 16384, i16 18043, i16 18048, i16 32766, i16 16384, i16 18048, i16 18053, i16 32766, i16 16384, i16 18053, i16 18058, i16 32766, i16 16384, i16 18058, i16 18063, i16 32766, i16 16384, i16 18063, i16 18066, i16 32766, i16 16384, i16 18066, i16 18069, i16 32766, i16 16384, i16 18069, i16 16384, i16 16384, i16 32766, i16 32766, i16 18720, i16 18720, i16 18723, i16 18720, i16 18720, i16 18726, i16 18729, i16 18720, i16 18732, i16 18732, i16 18735, i16 18732, i16 18732, i16 18738, i16 18741, i16 18732, i16 18744, i16 18744, i16 18747, i16 18744, i16 18744, i16 18750, i16 18753, i16 18744, i16 18756, i16 18759, i16 18762, i16 18756, i16 18756, i16 18765, i16 18768, i16 18756, i16 18101, i16 32766, i16 16384, i16 18101, i16 18105, i16 32766, i16 16384, i16 18105, i16 18109, i16 32766, i16 16384, i16 18109, i16 18114, i16 32766, i16 16384, i16 18114, i16 18118, i16 32766, i16 16384, i16 18118, i16 18122, i16 32766, i16 16384, i16 18122, i16 18127, i16 32766, i16 16384, i16 18127, i16 18131, i16 32766, i16 16384, i16 18131, i16 18135, i16 32766, i16 16384, i16 18135, i16 18140, i16 32766, i16 16384, i16 18140, i16 18144, i16 32766, i16 16384, i16 18144, i16 18148, i16 32766, i16 16384, i16 18148, i16 18152, i16 32766, i16 16384, i16 18152, i16 18156, i16 32766, i16 16384, i16 18156, i16 18160, i16 32766, i16 16384, i16 18160, i16 18164, i16 32766, i16 16384, i16 18164, i16 18168, i16 32766, i16 16384, i16 18168, i16 18172, i16 32766, i16 16384, i16 18172, i16 18178, i16 32766, i16 16384, i16 18178, i16 18182, i16 32766, i16 16384, i16 18182, i16 18186, i16 32766, i16 16384, i16 18186, i16 18188, i16 32766, i16 16384, i16 18188, i16 18190, i16 32766, i16 16384, i16 18190, i16 18192, i16 32766, i16 16384, i16 18192, i16 18194, i16 32766, i16 16384, i16 18194, i16 18196, i16 32766, i16 16384, i16 18196, i16 18202, i16 32766, i16 16384, i16 18202, i16 18208, i16 32766, i16 16384, i16 18208, i16 18214, i16 32766, i16 16384, i16 18214, i16 18220, i16 32766, i16 16384, i16 18220, i16 18226, i16 32766, i16 16384, i16 18226, i16 18228, i16 32766, i16 16384, i16 18228, i16 18230, i16 32766, i16 16384, i16 18230, i16 18232, i16 32766, i16 16384, i16 18232, i16 18234, i16 32766, i16 16384, i16 18234, i16 18236, i16 32766, i16 16384, i16 18236, i16 18240, i16 32766, i16 16384, i16 18240, i16 18244, i16 32766, i16 16384, i16 18244, i16 18248, i16 32766, i16 16384, i16 18248, i16 18250, i16 32766, i16 16384, i16 18250, i16 18252, i16 32766, i16 16384, i16 18252, i16 18254, i16 32766, i16 16384, i16 18254, i16 18256, i16 32766, i16 16384, i16 18256, i16 18258, i16 32766, i16 16384, i16 18258, i16 18262, i16 32766, i16 16384, i16 18262, i16 18264, i16 32766, i16 16384, i16 18264, i16 18266, i16 32766, i16 16384, i16 18266, i16 18268, i16 32766, i16 16384, i16 18268, i16 32766, i16 32766, i16 16384, i16 16384, i16 16396, i16 32766, i16 16384, i16 16384, i16 16398, i16 32766, i16 16384, i16 16384, i16 16400, i16 32766, i16 16384, i16 16384, i16 16402, i16 32766, i16 16384, i16 16384, i16 16404, i16 32766, i16 16384, i16 16384, i16 16406, i16 32766, i16 16384, i16 16384, i16 16408, i16 32766, i16 16384, i16 16384, i16 16410, i16 32766, i16 16384, i16 16384, i16 16412, i16 32766, i16 16384, i16 16384, i16 16414, i16 32766, i16 16384, i16 16384, i16 16416, i16 32766, i16 16384, i16 16384, i16 16418, i16 32766, i16 16384, i16 16384, i16 16420, i16 32766, i16 16384, i16 16384, i16 16422, i16 32766, i16 16384, i16 16384, i16 16424, i16 32766, i16 16384, i16 16384, i16 16426, i16 32766, i16 16384, i16 16384, i16 16428, i16 32766, i16 16384, i16 16384, i16 16430, i16 32766, i16 16384, i16 16384, i16 16432, i16 32766, i16 16384, i16 16384, i16 16434, i16 32766, i16 16384, i16 16384, i16 16436, i16 32766, i16 16384, i16 16384, i16 16438, i16 32766, i16 16384, i16 16384, i16 16440, i16 32766, i16 16384, i16 16384, i16 16442, i16 32766, i16 16384, i16 16384, i16 16444, i16 32766, i16 16384, i16 16384, i16 16446, i16 32766, i16 16384, i16 16384, i16 16384, i16 32766, i16 16384, i16 16384, i16 16384, i16 16384, i16 32766, i16 16384, i16 16384, i16 32766, i16 16385, i16 16385, i16 32766, i16 16385, i16 16385, i16 16385, i16 16438, i16 16386, i16 16385, i16 16385, i16 16440, i16 16386, i16 16385, i16 16385, i16 16442, i16 16386, i16 16385, i16 16385, i16 16444, i16 16386, i16 16385, i16 16385, i16 16446, i16 16386, i16 16385, i16 16385, i16 16448, i16 16386, i16 16385, i16 16385, i16 16450, i16 16386, i16 16385, i16 16385, i16 16452, i16 16386, i16 16385, i16 16385, i16 16454, i16 16386, i16 16385, i16 16385, i16 16456, i16 16386, i16 16385, i16 16385, i16 32766, i16 16385, i16 16385, i16 16387, i16 16458, i16 16385, i16 16385, i16 16388, i16 16460, i16 16385, i16 16385, i16 16388, i16 16462, i16 16385, i16 16385, i16 16388, i16 16464, i16 16385, i16 16385, i16 16388, i16 16466, i16 16385, i16 16385, i16 16388, i16 16468, i16 16385, i16 16385, i16 16388, i16 16470, i16 16385, i16 16385, i16 16388, i16 16472, i16 16385, i16 16385, i16 16388, i16 16474, i16 16385, i16 16385, i16 16388, i16 16476, i16 16385, i16 16385, i16 16388, i16 16478, i16 16385, i16 16385, i16 16388, i16 16480, i16 16385, i16 16385, i16 16388, i16 16482, i16 16385, i16 16385, i16 16388, i16 16484, i16 16385, i16 16385, i16 16388, i16 16486, i16 16385, i16 16385, i16 16388, i16 16488, i16 16385, i16 16385, i16 16388, i16 16490, i16 16385, i16 16385, i16 16388, i16 16492, i16 16385, i16 16385, i16 16388, i16 16494, i16 16385, i16 16385, i16 16388, i16 16496, i16 16385, i16 16385, i16 16388, i16 16498, i16 16385, i16 16385, i16 16388, i16 16500, i16 16385, i16 16385, i16 16388, i16 16502, i16 16385, i16 16385, i16 16388, i16 16504, i16 16385, i16 16385, i16 16388, i16 16506, i16 16385, i16 16385, i16 16388, i16 16508, i16 16385, i16 16385, i16 16388, i16 17294, i16 16385, i16 16385, i16 16385, i16 17297, i16 16385, i16 16385, i16 16385, i16 17300, i16 16385, i16 16385, i16 16385, i16 17303, i16 16385, i16 16385, i16 16385, i16 17306, i16 16385, i16 16385, i16 16385, i16 17309, i16 16385, i16 16385, i16 16385, i16 17312, i16 16385, i16 16385, i16 16385, i16 17315, i16 16385, i16 16385, i16 16385, i16 17318, i16 16385, i16 16385, i16 16385, i16 17321, i16 16385, i16 16385, i16 16385, i16 17324, i16 16385, i16 16385, i16 16385, i16 17327, i16 16385, i16 16385, i16 16385, i16 17330, i16 16385, i16 16385, i16 16385, i16 17333, i16 16385, i16 16385, i16 16385, i16 17336, i16 16385, i16 16385, i16 16385, i16 17339, i16 16385, i16 16385, i16 16385, i16 17342, i16 16385, i16 16385, i16 16385, i16 17345, i16 16385, i16 16385, i16 16385, i16 17348, i16 16385, i16 16385, i16 16385, i16 17351, i16 16385, i16 16385, i16 16385, i16 17354, i16 16385, i16 16385, i16 16385, i16 17357, i16 16385, i16 16385, i16 16385, i16 17360, i16 16385, i16 16385, i16 16385, i16 17363, i16 16385, i16 16385, i16 16385, i16 17366, i16 16385, i16 16385, i16 16385, i16 17369, i16 16385, i16 16385, i16 16385, i16 17372, i16 16385, i16 16385, i16 16385, i16 17375, i16 16385, i16 16385, i16 16385, i16 17378, i16 16385, i16 16385, i16 16385, i16 17381, i16 16385, i16 16385, i16 16385, i16 17384, i16 16385, i16 16385, i16 16385, i16 17387, i16 16385, i16 16385, i16 16385, i16 17390, i16 16385, i16 16385, i16 16385, i16 17393, i16 16385, i16 16385, i16 16385, i16 17396, i16 16385, i16 16385, i16 16385, i16 17399, i16 16385, i16 16385, i16 16385, i16 17402, i16 16385, i16 16385, i16 16385, i16 17405, i16 16385, i16 16385, i16 16385, i16 17408, i16 16385, i16 16385, i16 16385, i16 17411, i16 16385, i16 16385, i16 16385, i16 17414, i16 16385, i16 16385, i16 16385, i16 17417, i16 16385, i16 16385, i16 16385, i16 17420, i16 16385, i16 16385, i16 16385, i16 17423, i16 16385, i16 16385, i16 16385, i16 17426, i16 16385, i16 16385, i16 16385, i16 17429, i16 16385, i16 16385, i16 16385, i16 17432, i16 16385, i16 16385, i16 16385, i16 17435, i16 16385, i16 16385, i16 16385, i16 17438, i16 16385, i16 16385, i16 16385, i16 17441, i16 16385, i16 16385, i16 16385, i16 17444, i16 16385, i16 16385, i16 16385, i16 17447, i16 16385, i16 16385, i16 16385, i16 17450, i16 16385, i16 16385, i16 16385, i16 17453, i16 16385, i16 16385, i16 16385, i16 17456, i16 16385, i16 16385, i16 16385, i16 17459, i16 16385, i16 16385, i16 16385, i16 17462, i16 16385, i16 16385, i16 16385, i16 17465, i16 16385, i16 16385, i16 16385, i16 17468, i16 16385, i16 16385, i16 16385, i16 17471, i16 16385, i16 16385, i16 16385, i16 17474, i16 16385, i16 16385, i16 16385, i16 17477, i16 16385, i16 16385, i16 16385, i16 17480, i16 16385, i16 16385, i16 16385, i16 17483, i16 16385, i16 16385, i16 16385, i16 17486, i16 16385, i16 16385, i16 16385, i16 17489, i16 16385, i16 16385, i16 16385, i16 17492, i16 16385, i16 16385, i16 16385, i16 17495, i16 16385, i16 16385, i16 16385, i16 17498, i16 16385, i16 16385, i16 16385, i16 17501, i16 16385, i16 16385, i16 16385, i16 17504, i16 16385, i16 16385, i16 16385, i16 17507, i16 16385, i16 16385, i16 16385, i16 17510, i16 16385, i16 16385, i16 16385, i16 17513, i16 16385, i16 16385, i16 16385, i16 17516, i16 16385, i16 16385, i16 16385, i16 17519, i16 16385, i16 16385, i16 16385, i16 17522, i16 16385, i16 16385, i16 16385, i16 17525, i16 16385, i16 16385, i16 16385, i16 17528, i16 16385, i16 16385, i16 16385, i16 17531, i16 16385, i16 16385, i16 16385, i16 17534, i16 16385, i16 16385, i16 16385, i16 17537, i16 16385, i16 16385, i16 16385, i16 17540, i16 16385, i16 16385, i16 16385, i16 17543, i16 16385, i16 16385, i16 16385, i16 17546, i16 16385, i16 16385, i16 16385, i16 17549, i16 16385, i16 16385, i16 16385, i16 17552, i16 16385, i16 16385, i16 16385, i16 17555, i16 16385, i16 16385, i16 16385, i16 17558, i16 16385, i16 16385, i16 16385, i16 17561, i16 16385, i16 16385, i16 16385, i16 17564, i16 16385, i16 16385, i16 16385, i16 17567, i16 16385, i16 16385, i16 16385, i16 17570, i16 16385, i16 16385, i16 16385, i16 17573, i16 16385, i16 16385, i16 16385, i16 17576, i16 16385, i16 16385, i16 16385, i16 17579, i16 16385, i16 16385, i16 16385, i16 17582, i16 16385, i16 16385, i16 16385, i16 17585, i16 16385, i16 16385, i16 16385, i16 17588, i16 16385, i16 16385, i16 16385, i16 17591, i16 16385, i16 16385, i16 16385, i16 17594, i16 16385, i16 16385, i16 16385, i16 17597, i16 16385, i16 16385, i16 16385, i16 17600, i16 16385, i16 16385, i16 16385, i16 17603, i16 16385, i16 16385, i16 16385, i16 17606, i16 16385, i16 16385, i16 16385, i16 17609, i16 16385, i16 16385, i16 16385, i16 17612, i16 16385, i16 16385, i16 16385, i16 17615, i16 16385, i16 16385, i16 16385, i16 17618, i16 16385, i16 16385, i16 16385, i16 17621, i16 16385, i16 16385, i16 16385, i16 17624, i16 16385, i16 16385, i16 16385, i16 17627, i16 16385, i16 16385, i16 16385, i16 17630, i16 16385, i16 16385, i16 16385, i16 17633, i16 16385, i16 16385, i16 16385, i16 17636, i16 16385, i16 16385, i16 16385, i16 17639, i16 16385, i16 16385, i16 16385, i16 17642, i16 16385, i16 16385, i16 16385, i16 17645, i16 16385, i16 16385, i16 16385, i16 17648, i16 16385, i16 16385, i16 16385, i16 17651, i16 16385, i16 16385, i16 16385, i16 17654, i16 16385, i16 16385, i16 16385, i16 17657, i16 16385, i16 16385, i16 16385, i16 17660, i16 16385, i16 16385, i16 16385, i16 17663, i16 16385, i16 16385, i16 16385, i16 17666, i16 16385, i16 16385, i16 16385, i16 17669, i16 16385, i16 16385, i16 16385, i16 17672, i16 16385, i16 16385, i16 16385, i16 17675, i16 16385, i16 16385, i16 16385, i16 17678, i16 16385, i16 16385, i16 16385, i16 17681, i16 16385, i16 16385, i16 16385, i16 17684, i16 16385, i16 16385, i16 16385, i16 17687, i16 16385, i16 16385, i16 16385, i16 17690, i16 16385, i16 16385, i16 16385, i16 17693, i16 16385, i16 16385, i16 16385, i16 17696, i16 16385, i16 16385, i16 16385, i16 17699, i16 16385, i16 16385, i16 16385, i16 17702, i16 16385, i16 16385, i16 16385, i16 17705, i16 16385, i16 16385, i16 16385, i16 17708, i16 16385, i16 16385, i16 16385, i16 17711, i16 16385, i16 16385, i16 16385, i16 17714, i16 16385, i16 16385, i16 16385, i16 17717, i16 16385, i16 16385, i16 16385, i16 17720, i16 16385, i16 16385, i16 16385, i16 17723, i16 16385, i16 16385, i16 16385, i16 17726, i16 16385, i16 16385, i16 16385, i16 17729, i16 16385, i16 16385, i16 16385, i16 17732, i16 16385, i16 16385, i16 16385, i16 17735, i16 16385, i16 16385, i16 16385, i16 17738, i16 16385, i16 16385, i16 16385, i16 17741, i16 16385, i16 16385, i16 16385, i16 17744, i16 16385, i16 16385, i16 16385, i16 17747, i16 16385, i16 16385, i16 16385, i16 17750, i16 16385, i16 16385, i16 16385, i16 17753, i16 16385, i16 16385, i16 16385, i16 17756, i16 16385, i16 16385, i16 16385, i16 17759, i16 16385, i16 16385, i16 16385, i16 17762, i16 16385, i16 16385, i16 16385, i16 17765, i16 16385, i16 16385, i16 16385, i16 17768, i16 16385, i16 16385, i16 16385, i16 17771, i16 16385, i16 16385, i16 16385, i16 17774, i16 16385, i16 16385, i16 16385, i16 17777, i16 16385, i16 16385, i16 16385, i16 17780, i16 16385, i16 16385, i16 16385, i16 17783, i16 16385, i16 16385, i16 16385, i16 17786, i16 16385, i16 16385, i16 16385, i16 17789, i16 16385, i16 16385, i16 16385, i16 17792, i16 16385, i16 16385, i16 16385, i16 17795, i16 16385, i16 16385, i16 16385, i16 17798, i16 16385, i16 16385, i16 16385, i16 17801, i16 16385, i16 16385, i16 16385, i16 17804, i16 16385, i16 16385, i16 16385, i16 17807, i16 16385, i16 16385, i16 16385, i16 17810, i16 16385, i16 16385, i16 16385, i16 17813, i16 16385, i16 16385, i16 16385, i16 17816, i16 16385, i16 16385, i16 16385, i16 17819, i16 16385, i16 16385, i16 16385, i16 17822, i16 16385, i16 16385, i16 16385, i16 17825, i16 16385, i16 16385, i16 16385, i16 17828, i16 16385, i16 16385, i16 16385, i16 17831, i16 16385, i16 16385, i16 16385, i16 17834, i16 16385, i16 16385, i16 16385, i16 17837, i16 16385, i16 16385, i16 16385, i16 17840, i16 16385, i16 16385, i16 16385, i16 17843, i16 16385, i16 16385, i16 16385, i16 17846, i16 16385, i16 16385, i16 16385, i16 17849, i16 16385, i16 16385, i16 16385, i16 17852, i16 16385, i16 16385, i16 16385, i16 17855, i16 16385, i16 16385, i16 16385, i16 17858, i16 16385, i16 16385, i16 16385, i16 17861, i16 16385, i16 16385, i16 16385, i16 17864, i16 16385, i16 16385, i16 16385, i16 17867, i16 16385, i16 16385, i16 16385, i16 17870, i16 16385, i16 16385, i16 16385, i16 17873, i16 16385, i16 16385, i16 16385, i16 17876, i16 16385, i16 16385, i16 16385, i16 17879, i16 16385, i16 16385, i16 16385, i16 17882, i16 16385, i16 16385, i16 16385, i16 17885, i16 16385, i16 16385, i16 16385, i16 17888, i16 16385, i16 16385, i16 16385, i16 17891, i16 16385, i16 16385, i16 16385, i16 17894, i16 16385, i16 16385, i16 16385, i16 17897, i16 16385, i16 16385, i16 16385, i16 17900, i16 16385, i16 16385, i16 16385, i16 17903, i16 16385, i16 16385, i16 16385, i16 17906, i16 16385, i16 16385, i16 16385, i16 17909, i16 16385, i16 16385, i16 16385, i16 17912, i16 16385, i16 16385, i16 16385, i16 17915, i16 16385, i16 16385, i16 16385, i16 17918, i16 16385, i16 16385, i16 16385, i16 17921, i16 16385, i16 16385, i16 16385, i16 17924, i16 16385, i16 16385, i16 16385, i16 17927, i16 16385, i16 16385, i16 16385, i16 17930, i16 16385, i16 16385, i16 16385, i16 17933, i16 16385, i16 16385, i16 16385, i16 17936, i16 16385, i16 16385, i16 16385, i16 17939, i16 16385, i16 16385, i16 16385, i16 17942, i16 16385, i16 16385, i16 16385, i16 17945, i16 16385, i16 16385, i16 16385, i16 17948, i16 16385, i16 16385, i16 16385, i16 17951, i16 16385, i16 16385, i16 16385, i16 16779, i16 16385, i16 16385, i16 16389, i16 32767, i16 16384, i16 16384, i16 16384, i16 17284, i16 17285, i16 0, i16 895, i16 895, i16 0, i16 17273, i16 17273, i16 0, i16 16434, i16 16428, i16 0, i16 16393, i16 16393, i16 0, i16 97, i16 905, i16 0, i16 14, i16 14, i16 0, i16 3, i16 3, i16 0, i16 4, i16 3, i16 0, i16 5, i16 3, i16 0, i16 6, i16 3, i16 0, i16 16425, i16 16428, i16 0, i16 16433, i16 17283, i16 0, i16 16437, i16 16437, i16 0, i16 16481, i16 17289, i16 0, i16 16398, i16 16398, i16 0, i16 91, i16 906, i16 0, i16 14, i16 13, i16 0, i16 3, i16 4, i16 0, i16 4, i16 4, i16 0, i16 14, i16 890, i16 0, i16 14, i16 892, i16 0, i16 16488, i16 16488, i16 0, i16 17279, i16 17279, i16 0, i16 16488, i16 16492, i16 0, i16 16492, i16 16492, i16 0, i16 17797, i16 17797, i16 0, i16 16393, i16 17601, i16 0, i16 16393, i16 17600, i16 0, i16 16393, i16 17273, i16 0, i16 17273, i16 16393, i16 0, i16 17273, i16 17601, i16 0, i16 17273, i16 17600, i16 0, i16 17798, i16 17798, i16 0, i16 17799, i16 17799, i16 0, i16 16393, i16 17796, i16 0, i16 16393, i16 17795, i16 0, i16 16393, i16 17794, i16 0, i16 16393, i16 17793, i16 0, i16 17273, i16 17796, i16 0, i16 17273, i16 17795, i16 0, i16 17273, i16 17794, i16 0, i16 17273, i16 17793, i16 0, i16 17800, i16 17800, i16 0, i16 17801, i16 17801, i16 0, i16 17802, i16 17802, i16 0, i16 17804, i16 17804, i16 0, i16 17805, i16 17805, i16 0, i16 17807, i16 17807, i16 0, i16 16475, i16 17934, i16 0, i16 16387, i16 16388, i16 0, i16 16388, i16 16388, i16 0, i16 16475, i16 17289, i16 0, i16 16398, i16 17274, i16 0, i16 16398, i16 17276, i16 0, i16 16475, i16 17290, i16 0, i16 16458, i16 17935, i16 17290, i16 16475, i16 0, i16 17279, i16 17279, i16 17279, i16 17279, i16 0, i16 16389, i16 16390, i16 16388, i16 16387, i16 0, i16 17296, i16 17302, i16 0, i16 17329, i16 17279, i16 0, i16 17296, i16 17303, i16 0, i16 17311, i16 17334, i16 0, i16 17314, i16 17334, i16 0, i16 17193, i16 17193, i16 0, i16 2, i16 2, i16 0, i16 17200, i16 17200, i16 0, i16 17193, i16 18178, i16 0, i16 17201, i16 17201, i16 0, i16 17193, i16 17285, i16 0, i16 17202, i16 17202, i16 0, i16 17193, i16 17193, i16 18178, i16 0, i16 2, i16 2, i16 2, i16 0, i16 17203, i16 17203, i16 17203, i16 0, i16 17193, i16 17193, i16 17285, i16 0, i16 17204, i16 17204, i16 17204, i16 0, i16 18178, i16 17267, i16 0, i16 881, i16 881, i16 0, i16 16385, i16 16385, i16 0, i16 18080, i16 18080, i16 0, i16 17408, i16 17427, i16 0, i16 17410, i16 17410, i16 0, i16 17408, i16 17408, i16 0, i16 18080, i16 17425, i16 0, i16 17426, i16 17426, i16 0, i16 17851, i16 17736, i16 0, i16 1467, i16 1352, i16 0, i16 17901, i16 17901, i16 0, i16 1467, i16 1353, i16 0, i16 17902, i16 17902, i16 0, i16 17851, i16 17738, i16 0, i16 1467, i16 1354, i16 0, i16 17903, i16 17903, i16 0, i16 1467, i16 1355, i16 0, i16 17904, i16 17904, i16 0, i16 17851, i16 17741, i16 0, i16 1467, i16 1357, i16 0, i16 17905, i16 17905, i16 0, i16 1467, i16 1358, i16 0, i16 17906, i16 17906, i16 0, i16 17851, i16 17745, i16 0, i16 1467, i16 1362, i16 0, i16 17907, i16 17907, i16 0, i16 1467, i16 1363, i16 0, i16 17908, i16 17908, i16 0, i16 17065, i16 17148, i16 0, i16 1770, i16 1770, i16 0, i16 1772, i16 1772, i16 0, i16 1774, i16 1774, i16 0, i16 17311, i16 17205, i16 0, i16 1814, i16 1814, i16 0, i16 17325, i16 17148, i16 0, i16 1830, i16 1830, i16 0, i16 17427, i16 17220, i16 0, i16 1840, i16 1840, i16 0, i16 16470, i16 16579, i16 0, i16 16530, i16 16530, i16 0, i16 16532, i16 16532, i16 0, i16 16534, i16 16534, i16 0, i16 16630, i16 16630, i16 0, i16 16389, i16 16389, i16 0, i16 16637, i16 16637, i16 0, i16 16630, i16 16681, i16 0, i16 16638, i16 16638, i16 0, i16 16630, i16 16739, i16 0, i16 16639, i16 16639, i16 0, i16 16630, i16 16630, i16 16681, i16 0, i16 16389, i16 16389, i16 16389, i16 0, i16 16640, i16 16640, i16 16640, i16 0, i16 16630, i16 16630, i16 16739, i16 0, i16 16641, i16 16641, i16 16641, i16 0, i16 16681, i16 16718, i16 0, i16 16716, i16 16716, i16 0, i16 16769, i16 16642, i16 0, i16 16789, i16 16789, i16 0, i16 16791, i16 16579, i16 0, i16 16859, i16 16859, i16 0, i16 16892, i16 16917, i16 0, i16 16894, i16 16894, i16 0, i16 16892, i16 16892, i16 0, i16 16388, i16 16915, i16 0, i16 16916, i16 16916, i16 0, i16 16917, i16 16661, i16 0, i16 16934, i16 16934, i16 0, i16 18043, i16 17928, i16 0, i16 18093, i16 18093, i16 0, i16 18043, i16 17929, i16 0, i16 18094, i16 18094, i16 0, i16 18043, i16 17930, i16 0, i16 18095, i16 18095, i16 0, i16 18043, i16 17931, i16 0, i16 18096, i16 18096, i16 0, i16 18043, i16 17933, i16 0, i16 18097, i16 18097, i16 0, i16 18043, i16 17934, i16 0, i16 18098, i16 18098, i16 0, i16 18043, i16 17937, i16 0, i16 18043, i16 17938, i16 0, i16 18099, i16 18099, i16 0, i16 18043, i16 17939, i16 0, i16 18100, i16 18100, i16 0, i16 16510, i16 16788, i16 0, i16 16510, i16 16789, i16 0, i16 16510, i16 16790, i16 0, i16 16510, i16 16791, i16 0, i16 16510, i16 16792, i16 0, i16 16516, i16 16788, i16 0, i16 16516, i16 16789, i16 0, i16 16516, i16 16790, i16 0, i16 16516, i16 16791, i16 0, i16 16516, i16 16792, i16 0, i16 16522, i16 16788, i16 0, i16 16522, i16 16789, i16 0, i16 16522, i16 16790, i16 0, i16 16522, i16 16791, i16 0, i16 16522, i16 16792, i16 0, i16 16528, i16 16788, i16 0, i16 16528, i16 16789, i16 0, i16 16528, i16 16790, i16 0, i16 16528, i16 16791, i16 0, i16 16528, i16 16792, i16 0, i16 16534, i16 16788, i16 0, i16 16534, i16 16789, i16 0, i16 16534, i16 16790, i16 0, i16 16534, i16 16791, i16 0, i16 16534, i16 16792, i16 0, i16 16540, i16 16788, i16 0, i16 16540, i16 16789, i16 0, i16 16540, i16 16790, i16 0, i16 16540, i16 16791, i16 0, i16 16540, i16 16792, i16 0, i16 16546, i16 16788, i16 0, i16 16546, i16 16789, i16 0, i16 16546, i16 16790, i16 0, i16 16546, i16 16791, i16 0, i16 16546, i16 16792, i16 0, i16 16552, i16 16788, i16 0, i16 16552, i16 16789, i16 0, i16 16552, i16 16790, i16 0, i16 16552, i16 16791, i16 0, i16 16552, i16 16792, i16 0, i16 16558, i16 16788, i16 0, i16 16558, i16 16789, i16 0, i16 16558, i16 16790, i16 0, i16 16558, i16 16791, i16 0, i16 16558, i16 16792, i16 0, i16 16564, i16 16788, i16 0, i16 16564, i16 16789, i16 0, i16 16564, i16 16790, i16 0, i16 16564, i16 16791, i16 0, i16 16564, i16 16792, i16 0, i16 16570, i16 16788, i16 0, i16 16570, i16 16789, i16 0, i16 16570, i16 16790, i16 0, i16 16570, i16 16791, i16 0, i16 16570, i16 16792, i16 0, i16 16576, i16 16788, i16 0, i16 16576, i16 16789, i16 0, i16 16576, i16 16790, i16 0, i16 16576, i16 16791, i16 0, i16 16576, i16 16792, i16 0, i16 16582, i16 16788, i16 0, i16 16582, i16 16789, i16 0, i16 16582, i16 16790, i16 0, i16 16582, i16 16791, i16 0, i16 16582, i16 16792, i16 0, i16 16588, i16 16788, i16 0, i16 16588, i16 16789, i16 0, i16 16588, i16 16790, i16 0, i16 16588, i16 16791, i16 0, i16 16588, i16 16792, i16 0, i16 16594, i16 16788, i16 0, i16 16594, i16 16789, i16 0, i16 16594, i16 16790, i16 0, i16 16594, i16 16791, i16 0, i16 16594, i16 16792, i16 0, i16 16600, i16 16788, i16 0, i16 16600, i16 16789, i16 0, i16 16600, i16 16790, i16 0, i16 16600, i16 16791, i16 0, i16 16600, i16 16792, i16 0, i16 16606, i16 16788, i16 0, i16 16606, i16 16789, i16 0, i16 16606, i16 16790, i16 0, i16 16606, i16 16791, i16 0, i16 16606, i16 16792, i16 0, i16 16612, i16 16788, i16 0, i16 16612, i16 16789, i16 0, i16 16612, i16 16790, i16 0, i16 16612, i16 16791, i16 0, i16 16612, i16 16792, i16 0, i16 16618, i16 16788, i16 0, i16 16618, i16 16789, i16 0, i16 16618, i16 16790, i16 0, i16 16618, i16 16791, i16 0, i16 16618, i16 16792, i16 0, i16 16624, i16 16788, i16 0, i16 16624, i16 16789, i16 0, i16 16624, i16 16790, i16 0, i16 16624, i16 16791, i16 0, i16 16624, i16 16792, i16 0, i16 16630, i16 16788, i16 0, i16 16630, i16 16789, i16 0, i16 16630, i16 16790, i16 0, i16 16630, i16 16791, i16 0, i16 16630, i16 16792, i16 0, i16 16636, i16 16788, i16 0, i16 16636, i16 16789, i16 0, i16 16636, i16 16790, i16 0, i16 16636, i16 16791, i16 0, i16 16636, i16 16792, i16 0, i16 16642, i16 16788, i16 0, i16 16642, i16 16789, i16 0, i16 16642, i16 16790, i16 0, i16 16642, i16 16791, i16 0, i16 16642, i16 16792, i16 0, i16 16648, i16 16788, i16 0, i16 16648, i16 16789, i16 0, i16 16648, i16 16790, i16 0, i16 16648, i16 16791, i16 0, i16 16648, i16 16792, i16 0, i16 16654, i16 16788, i16 0, i16 16654, i16 16789, i16 0, i16 16654, i16 16790, i16 0, i16 16654, i16 16791, i16 0, i16 16654, i16 16792, i16 0, i16 16660, i16 16788, i16 0, i16 16660, i16 16789, i16 0, i16 16660, i16 16790, i16 0, i16 16660, i16 16791, i16 0, i16 16660, i16 16792, i16 0, i16 16666, i16 16788, i16 0, i16 16666, i16 16789, i16 0, i16 16666, i16 16790, i16 0, i16 16666, i16 16791, i16 0, i16 16666, i16 16792, i16 0, i16 16672, i16 16788, i16 0, i16 16672, i16 16789, i16 0, i16 16672, i16 16790, i16 0, i16 16672, i16 16791, i16 0, i16 16672, i16 16792, i16 0, i16 16678, i16 16788, i16 0, i16 16678, i16 16789, i16 0, i16 16678, i16 16790, i16 0, i16 16678, i16 16791, i16 0, i16 16678, i16 16792, i16 0, i16 16684, i16 16788, i16 0, i16 16684, i16 16789, i16 0, i16 16684, i16 16790, i16 0, i16 16684, i16 16791, i16 0, i16 16684, i16 16792, i16 0, i16 16690, i16 16788, i16 0, i16 16690, i16 16789, i16 0, i16 16690, i16 16790, i16 0, i16 16690, i16 16791, i16 0, i16 16690, i16 16792, i16 0, i16 16696, i16 16788, i16 0, i16 16696, i16 16789, i16 0, i16 16696, i16 16790, i16 0, i16 16696, i16 16791, i16 0, i16 16696, i16 16792, i16 0, i16 16702, i16 16788, i16 0, i16 16702, i16 16789, i16 0, i16 16702, i16 16790, i16 0, i16 16702, i16 16791, i16 0, i16 16702, i16 16792, i16 0, i16 16708, i16 16788, i16 0, i16 16708, i16 16789, i16 0, i16 16708, i16 16790, i16 0, i16 16708, i16 16791, i16 0, i16 16708, i16 16792, i16 0, i16 16714, i16 16788, i16 0, i16 16714, i16 16789, i16 0, i16 16714, i16 16790, i16 0, i16 16714, i16 16791, i16 0, i16 16714, i16 16792, i16 0, i16 16721, i16 16788, i16 0, i16 16721, i16 16789, i16 0, i16 16721, i16 16790, i16 0, i16 16721, i16 16791, i16 0, i16 16721, i16 16792, i16 0, i16 16728, i16 16788, i16 0, i16 16728, i16 16789, i16 0, i16 16728, i16 16790, i16 0, i16 16728, i16 16791, i16 0, i16 16728, i16 16792, i16 0, i16 16734, i16 16788, i16 0, i16 16734, i16 16789, i16 0, i16 16734, i16 16790, i16 0, i16 16734, i16 16791, i16 0, i16 16734, i16 16792, i16 0, i16 16740, i16 16788, i16 0, i16 16740, i16 16789, i16 0, i16 16740, i16 16790, i16 0, i16 16740, i16 16791, i16 0, i16 16740, i16 16792, i16 0, i16 16746, i16 16788, i16 0, i16 16746, i16 16789, i16 0, i16 16746, i16 16790, i16 0, i16 16746, i16 16791, i16 0, i16 16746, i16 16792, i16 0, i16 16752, i16 16788, i16 0, i16 16752, i16 16789, i16 0, i16 16752, i16 16790, i16 0, i16 16752, i16 16791, i16 0, i16 16752, i16 16792, i16 0, i16 16758, i16 16788, i16 0, i16 16758, i16 16789, i16 0, i16 16758, i16 16790, i16 0, i16 16758, i16 16791, i16 0, i16 16758, i16 16792, i16 0, i16 16764, i16 16788, i16 0, i16 16764, i16 16789, i16 0, i16 16764, i16 16790, i16 0, i16 16764, i16 16791, i16 0, i16 16764, i16 16792, i16 0, i16 16770, i16 16788, i16 0, i16 16770, i16 16789, i16 0, i16 16770, i16 16790, i16 0, i16 16770, i16 16791, i16 0, i16 16770, i16 16792, i16 0, i16 14, i16 17, i16 8, i16 13, i16 15, i16 6, i16 12, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5, i16 10, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9, i16 7, i16 11, i16 0, i16 0, i16 16, i16 3, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4, i16 0, i16 1, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 15, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 168, i16 173, i16 100, i16 105, i16 110, i16 116, i16 125, i16 131, i16 140, i16 144, i16 146, i16 148, i16 151, i16 154, i16 160, i16 163, i16 120, i16 124, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 26, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 82, i16 114, i16 5, i16 119, i16 0, i16 32, i16 0, i16 136, i16 111, i16 6, i16 17, i16 8, i16 167, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 16, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 36, i16 0, i16 37, i16 0, i16 0, i16 0, i16 0, i16 0, i16 38, i16 0, i16 0, i16 0, i16 0, i16 39, i16 0, i16 40, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 55, i16 123, i16 129, i16 134, i16 139, i16 0, i16 52, i16 99, i16 104, i16 109, i16 115, i16 0, i16 0, i16 0, i16 0, i16 0, i16 77, i16 85, i16 89, i16 0, i16 170, i16 174, i16 178, i16 180, i16 147, i16 0, i16 0, i16 0, i16 0, i16 0, i16 35, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 25, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 61, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 80, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 58, i16 0, i16 0, i16 12, i16 0, i16 0, i16 0, i16 28, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 159, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 143, i16 145, i16 0, i16 0, i16 0, i16 0, i16 172, i16 177, i16 0, i16 0, i16 0, i16 0, i16 47, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 41, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 191, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 13, i16 0, i16 24, i16 51, i16 87, i16 93, i16 102, i16 70, i16 142, i16 175, i16 0, i16 76, i16 90, i16 72, i16 49, i16 4, i16 92, i16 53, i16 96, i16 0, i16 54, i16 0, i16 30, i16 97, i16 18, i16 31, i16 0, i16 0, i16 0, i16 79, i16 91, i16 10, i16 45, i16 0, i16 0, i16 0, i16 158, i16 33, i16 155, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9, i16 184, i16 81, i16 189, i16 196, i16 64, i16 94, i16 75, i16 88, i16 98, i16 66, i16 46, i16 63, i16 187, i16 84, i16 0, i16 50, i16 95, i16 101, i16 106, i16 150, i16 162, i16 133, i16 138, i16 169, i16 192, i16 126, i16 83, i16 183, i16 153, i16 135, i16 179, i16 112, i16 117, i16 122, i16 128, i16 132, i16 185, i16 194, i16 156, i16 195, i16 186, i16 200, i16 67, i16 176, i16 149, i16 181, i16 188, i16 57, i16 141, i16 121, i16 127, i16 130, i16 137, i16 103, i16 107, i16 113, i16 118, i16 56, i16 108, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 152, i16 43, i16 34, i16 7, i16 44, i16 171, i16 0, i16 0, i16 0, i16 165, i16 42, i16 166, i16 0, i16 0, i16 59, i16 19, i16 197, i16 199, i16 22, i16 20, i16 23, i16 21, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 48, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 27, i16 0, i16 0, i16 0, i16 182, i16 198, i16 60, i16 190, i16 62, i16 193, i16 65, i16 157, i16 161, i16 164, i16 69, i16 68, i16 71, i16 78, i16 74, i16 86, i16 0, i16 2, i16 29, i16 3, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 14, i16 73, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1292, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1197, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1199, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 557, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 597, i16 598, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 691, i16 692, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1211, i16 1210, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 701, i16 702, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 731, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 223, i16 230, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 245, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1198, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 268, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1298, i16 1296, i16 1297, i16 1295, i16 0, i16 0, i16 0, i16 0, i16 1569, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1570, i16 1571, i16 1572, i16 1573, i16 0, i16 0, i16 0, i16 0, i16 1106, i16 1107, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1661, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 246, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 247, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 250, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 251, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 253, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 269, i16 0, i16 0, i16 0, i16 270, i16 0, i16 0, i16 0, i16 376, i16 378, i16 379, i16 380, i16 0, i16 0, i16 0, i16 263, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 266, i16 267, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1290, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 581, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 584, i16 583, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 609, i16 610, i16 611, i16 612, i16 0, i16 0, i16 0, i16 0, i16 152, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1207, i16 1206, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 189, i16 0, i16 0, i16 0, i16 244, i16 0, i16 0, i16 0, i16 1224, i16 0, i16 0, i16 1223, i16 0, i16 0, i16 0, i16 0, i16 1226, i16 0, i16 0, i16 1225, i16 0, i16 0, i16 0, i16 0, i16 1228, i16 0, i16 0, i16 1227, i16 0, i16 0, i16 0, i16 0, i16 1230, i16 0, i16 0, i16 1229, i16 0, i16 0, i16 0, i16 0, i16 1232, i16 0, i16 0, i16 1231, i16 0, i16 0, i16 0, i16 0, i16 1234, i16 0, i16 0, i16 1233, i16 0, i16 0, i16 0, i16 0, i16 1241, i16 1240, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1243, i16 1242, i16 1205, i16 1204, i16 0, i16 0, i16 0, i16 0, i16 1247, i16 1246, i16 0, i16 0, i16 1249, i16 1248, i16 0, i16 0, i16 226, i16 228, i16 225, i16 0, i16 0, i16 0, i16 0, i16 0, i16 760, i16 0, i16 734, i16 0, i16 748, i16 0, i16 0, i16 260, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 264, i16 265, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 554, i16 0, i16 0, i16 0, i16 0, i16 552, i16 0, i16 0, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 0, i16 1069, i16 1070, i16 1071, i16 1079, i16 1072, i16 1081, i16 1657, i16 0, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 0, i16 564, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1076, i16 0, i16 0, i16 0, i16 0, i16 0, i16 577, i16 0, i16 1367, i16 1368, i16 1369, i16 1370, i16 1371, i16 1372, i16 1373, i16 0, i16 1127, i16 1125, i16 1124, i16 1126, i16 1128, i16 1129, i16 1130, i16 0, i16 1142, i16 1140, i16 1139, i16 1141, i16 1143, i16 1144, i16 1145, i16 0, i16 1196, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 256, i16 257, i16 255, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1024, i16 984, i16 489, i16 409, i16 0, i16 0, i16 487, i16 407, i16 258, i16 261, i16 259, i16 262, i16 0, i16 0, i16 0, i16 0, i16 1027, i16 987, i16 492, i16 412, i16 1028, i16 988, i16 1029, i16 989, i16 773, i16 0, i16 775, i16 825, i16 771, i16 822, i16 749, i16 800, i16 774, i16 776, i16 746, i16 766, i16 779, i16 786, i16 790, i16 794, i16 1032, i16 992, i16 500, i16 420, i16 1033, i16 993, i16 503, i16 424, i16 781, i16 792, i16 768, i16 769, i16 767, i16 821, i16 808, i16 0, i16 1037, i16 535, i16 534, i16 536, i16 1043, i16 545, i16 550, i16 1002, i16 526, i16 449, i16 529, i16 452, i16 1039, i16 999, i16 1041, i16 1001, i16 1038, i16 998, i16 521, i16 444, i16 525, i16 448, i16 527, i16 450, i16 271, i16 575, i16 576, i16 1075, i16 578, i16 579, i16 580, i16 1077, i16 1040, i16 1000, i16 1042, i16 1003, i16 531, i16 454, i16 532, i16 455, i16 1555, i16 1557, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1300, i16 1299, i16 0, i16 0, i16 0, i16 0, i16 1293, i16 1291, i16 1045, i16 1006, i16 539, i16 462, i16 542, i16 465, i16 546, i16 470, i16 791, i16 793, i16 798, i16 801, i16 802, i16 803, i16 804, i16 805, i16 1049, i16 1051, i16 1053, i16 1055, i16 1057, i16 1059, i16 1061, i16 1063, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 538, i16 461, i16 540, i16 463, i16 1044, i16 1005, i16 537, i16 460, i16 1050, i16 1052, i16 1054, i16 1056, i16 1058, i16 1060, i16 1062, i16 1064, i16 1306, i16 1305, i16 1308, i16 1307, i16 0, i16 0, i16 0, i16 0, i16 796, i16 730, i16 732, i16 733, i16 735, i16 737, i16 739, i16 741, i16 1565, i16 1566, i16 0, i16 0, i16 0, i16 0, i16 589, i16 590, i16 543, i16 544, i16 1637, i16 181, i16 213, i16 182, i16 224, i16 151, i16 799, i16 809, i16 813, i16 797, i16 0, i16 0, i16 0, i16 0, i16 290, i16 291, i16 0, i16 292, i16 293, i16 294, i16 295, i16 296, i16 547, i16 549, i16 472, i16 1048, i16 1009, i16 1047, i16 1008, i16 0, i16 551, i16 1074, i16 553, i16 555, i16 556, i16 558, i16 559, i16 560, i16 807, i16 758, i16 811, i16 810, i16 814, i16 816, i16 820, i16 823, i16 297, i16 298, i16 299, i16 300, i16 0, i16 0, i16 0, i16 0, i16 1065, i16 1067, i16 272, i16 273, i16 274, i16 275, i16 0, i16 0, i16 1066, i16 1068, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 561, i16 1567, i16 1568, i16 0, i16 0, i16 0, i16 0, i16 0, i16 562, i16 563, i16 565, i16 567, i16 568, i16 569, i16 570, i16 571, i16 819, i16 778, i16 780, i16 782, i16 783, i16 785, i16 787, i16 789, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 566, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1078, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 824, i16 826, i16 795, i16 818, i16 806, i16 817, i16 827, i16 0, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1108, i16 1109, i16 1088, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 572, i16 573, i16 574, i16 0, i16 0, i16 0, i16 0, i16 0, i16 828, i16 829, i16 830, i16 831, i16 832, i16 833, i16 834, i16 835, i16 1344, i16 1345, i16 1346, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1089, i16 695, i16 696, i16 697, i16 698, i16 1090, i16 1091, i16 585, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 836, i16 837, i16 839, i16 840, i16 841, i16 842, i16 843, i16 844, i16 838, i16 1131, i16 1132, i16 1134, i16 1133, i16 0, i16 1135, i16 1136, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 586, i16 587, i16 588, i16 1092, i16 1093, i16 593, i16 594, i16 595, i16 1100, i16 1101, i16 675, i16 676, i16 677, i16 678, i16 0, i16 0, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 845, i16 846, i16 847, i16 848, i16 849, i16 850, i16 851, i16 852, i16 591, i16 592, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 0, i16 596, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 853, i16 854, i16 855, i16 1137, i16 856, i16 1138, i16 857, i16 858, i16 599, i16 600, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 1117, i16 1118, i16 859, i16 860, i16 861, i16 862, i16 863, i16 864, i16 865, i16 866, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 1374, i16 1375, i16 1376, i16 1377, i16 1378, i16 1379, i16 1380, i16 1381, i16 1119, i16 1120, i16 1121, i16 1122, i16 1123, i16 0, i16 0, i16 0, i16 608, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 1632, i16 523, i16 1633, i16 1634, i16 1635, i16 533, i16 541, i16 1636, i16 867, i16 868, i16 869, i16 870, i16 871, i16 872, i16 873, i16 874, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 1382, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 875, i16 876, i16 877, i16 878, i16 879, i16 880, i16 881, i16 882, i16 620, i16 621, i16 622, i16 625, i16 626, i16 627, i16 628, i16 631, i16 365, i16 160, i16 192, i16 194, i16 191, i16 195, i16 241, i16 185, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 1390, i16 1391, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1646, i16 446, i16 1647, i16 1648, i16 1649, i16 456, i16 464, i16 1650, i16 623, i16 624, i16 633, i16 634, i16 629, i16 630, i16 1098, i16 1099, i16 883, i16 884, i16 885, i16 1153, i16 886, i16 1154, i16 887, i16 888, i16 374, i16 375, i16 158, i16 157, i16 234, i16 236, i16 238, i16 161, i16 1398, i16 1399, i16 1400, i16 1401, i16 1402, i16 1403, i16 1404, i16 0, i16 632, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 1146, i16 1147, i16 1148, i16 1150, i16 1149, i16 0, i16 1151, i16 1152, i16 1658, i16 1659, i16 1660, i16 954, i16 957, i16 959, i16 961, i16 964, i16 383, i16 0, i16 0, i16 0, i16 387, i16 388, i16 389, i16 390, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 391, i16 392, i16 219, i16 217, i16 0, i16 178, i16 180, i16 0, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 1163, i16 1164, i16 1165, i16 0, i16 0, i16 0, i16 0, i16 0, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 403, i16 402, i16 404, i16 405, i16 415, i16 414, i16 991, i16 416, i16 150, i16 159, i16 172, i16 215, i16 193, i16 216, i16 214, i16 169, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 1179, i16 1178, i16 1201, i16 1200, i16 0, i16 0, i16 0, i16 0, i16 413, i16 1642, i16 421, i16 422, i16 1643, i16 431, i16 1644, i16 1645, i16 674, i16 1094, i16 1095, i16 1096, i16 1097, i16 679, i16 680, i16 681, i16 164, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 167, i16 384, i16 438, i16 176, i16 377, i16 381, i16 382, i16 162, i16 423, i16 505, i16 426, i16 508, i16 429, i16 506, i16 427, i16 509, i16 168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 170, i16 171, i16 0, i16 0, i16 173, i16 174, i16 0, i16 0, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 430, i16 507, i16 428, i16 512, i16 434, i16 514, i16 436, i16 513, i16 177, i16 179, i16 212, i16 218, i16 156, i16 155, i16 165, i16 163, i16 690, i16 1102, i16 1103, i16 1104, i16 1105, i16 693, i16 694, i16 1110, i16 435, i16 433, i16 1035, i16 995, i16 520, i16 443, i16 0, i16 0, i16 1203, i16 1202, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1209, i16 1208, i16 0, i16 0, i16 0, i16 0, i16 1245, i16 1244, i16 699, i16 700, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 955, i16 956, i16 958, i16 0, i16 960, i16 0, i16 962, i16 963, i16 190, i16 474, i16 477, i16 1624, i16 1625, i16 481, i16 1626, i16 1627, i16 703, i16 1652, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 1215, i16 1214, i16 1213, i16 1212, i16 0, i16 0, i16 0, i16 0, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 965, i16 966, i16 968, i16 969, i16 277, i16 278, i16 280, i16 281, i16 711, i16 712, i16 713, i16 1653, i16 715, i16 716, i16 717, i16 718, i16 967, i16 276, i16 279, i16 1552, i16 1553, i16 1554, i16 0, i16 0, i16 971, i16 970, i16 972, i16 973, i16 974, i16 975, i16 977, i16 978, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 719, i16 720, i16 721, i16 722, i16 1654, i16 724, i16 725, i16 726, i16 466, i16 467, i16 1651, i16 183, i16 240, i16 184, i16 229, i16 332, i16 727, i16 1655, i16 1656, i16 0, i16 0, i16 0, i16 0, i16 0, i16 983, i16 994, i16 440, i16 439, i16 441, i16 442, i16 996, i16 231, i16 476, i16 396, i16 1016, i16 976, i16 475, i16 395, i16 1019, i16 979, i16 222, i16 393, i16 397, i16 1638, i16 1639, i16 401, i16 1640, i16 1641, i16 738, i16 742, i16 745, i16 0, i16 755, i16 0, i16 765, i16 777, i16 227, i16 187, i16 394, i16 175, i16 239, i16 154, i16 188, i16 153, i16 483, i16 482, i16 484, i16 485, i16 495, i16 494, i16 1031, i16 496, i16 740, i16 788, i16 736, i16 784, i16 761, i16 812, i16 763, i16 815, i16 997, i16 458, i16 457, i16 459, i16 1004, i16 468, i16 473, i16 469, i16 743, i16 744, i16 747, i16 750, i16 751, i16 752, i16 753, i16 754, i16 488, i16 408, i16 486, i16 406, i16 1026, i16 986, i16 1025, i16 985, i16 233, i16 0, i16 0, i16 0, i16 235, i16 237, i16 0, i16 0, i16 493, i16 1628, i16 501, i16 502, i16 1629, i16 510, i16 1630, i16 1631, i16 497, i16 417, i16 499, i16 419, i16 0, i16 0, i16 498, i16 418, i16 242, i16 220, i16 385, i16 386, i16 221, i16 243, i16 186, i16 166, i16 1011, i16 1010, i16 1012, i16 1013, i16 1014, i16 1015, i16 1017, i16 1018, i16 756, i16 757, i16 0, i16 759, i16 762, i16 764, i16 770, i16 772, i16 248, i16 0, i16 0, i16 0, i16 252, i16 0, i16 0, i16 0, i16 1020, i16 980, i16 1022, i16 982, i16 1021, i16 981, i16 480, i16 400, i16 254, i16 0, i16 0, i16 0, i16 249, i16 0, i16 0, i16 0, i16 1023, i16 1034, i16 517, i16 516, i16 518, i16 519, i16 1036, i16 232, i16 8, i16 13, i16 9, i16 5, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 14, i16 7, i16 11, i16 3, i16 6, i16 0, i16 0, i16 0, i16 0, i16 10, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 81, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8, i16 42, i16 98, i16 109, i16 122, i16 130, i16 140, i16 151, i16 164, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 35, i16 0, i16 108, i16 0, i16 110, i16 120, i16 125, i16 133, i16 0, i16 0, i16 0, i16 0, i16 15, i16 0, i16 141, i16 148, i16 112, i16 117, i16 160, i16 139, i16 149, i16 57, i16 167, i16 170, i16 174, i16 47, i16 60, i16 61, i16 39, i16 0, i16 0, i16 11, i16 92, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 43, i16 18, i16 0, i16 0, i16 10, i16 12, i16 51, i16 119, i16 93, i16 169, i16 172, i16 96, i16 0, i16 0, i16 28, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 23, i16 9, i16 0, i16 14, i16 66, i16 0, i16 67, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 32, i16 75, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 46, i16 147, i16 152, i16 156, i16 31, i16 0, i16 0, i16 157, i16 161, i16 0, i16 36, i16 0, i16 0, i16 0, i16 0, i16 0, i16 37, i16 22, i16 176, i16 0, i16 0, i16 38, i16 181, i16 63, i16 70, i16 48, i16 17, i16 0, i16 73, i16 74, i16 0, i16 0, i16 52, i16 102, i16 135, i16 155, i16 114, i16 171, i16 101, i16 173, i16 111, i16 121, i16 94, i16 127, i16 142, i16 103, i16 143, i16 104, i16 175, i16 180, i16 89, i16 62, i16 124, i16 71, i16 80, i16 83, i16 20, i16 49, i16 166, i16 95, i16 7, i16 106, i16 165, i16 26, i16 55, i16 153, i16 179, i16 154, i16 182, i16 56, i16 40, i16 41, i16 77, i16 158, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 79, i16 86, i16 0, i16 76, i16 82, i16 88, i16 0, i16 59, i16 69, i16 85, i16 99, i16 116, i16 131, i16 58, i16 68, i16 84, i16 97, i16 115, i16 128, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 78, i16 50, i16 87, i16 27, i16 33, i16 34, i16 123, i16 0, i16 44, i16 16, i16 24, i16 0, i16 25, i16 0, i16 3, i16 0, i16 45, i16 105, i16 107, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 126, i16 54, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 144, i16 177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 13, i16 21, i16 19, i16 0, i16 0, i16 53, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 29, i16 30, i16 129, i16 137, i16 146, i16 138, i16 134, i16 0, i16 0, i16 159, i16 178, i16 90, i16 118, i16 132, i16 163, i16 64, i16 72, i16 91, i16 113, i16 162, i16 145, i16 65, i16 150, i16 168, i16 100, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 136, i16 5, i16 6, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 592, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 161, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 172, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 167, i16 168, i16 169, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 170, i16 0, i16 171, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 714, i16 715, i16 864, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1505, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 524, i16 0, i16 525, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 581, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1348, i16 0, i16 0, i16 0, i16 1349, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1923, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 526, i16 527, i16 528, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 427, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 343, i16 344, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 290, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 594, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 742, i16 743, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1924, i16 146, i16 0, i16 1925, i16 0, i16 1926, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 232, i16 233, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 234, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 520, i16 521, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 522, i16 523, i16 0, i16 0, i16 0, i16 0, i16 0, i16 345, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 823, i16 824, i16 0, i16 0, i16 0, i16 0, i16 1762, i16 1763, i16 1772, i16 1773, i16 1824, i16 1825, i16 0, i16 0, i16 0, i16 0, i16 323, i16 324, i16 325, i16 326, i16 0, i16 0, i16 0, i16 0, i16 327, i16 0, i16 328, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1371, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 153, i16 154, i16 0, i16 0, i16 0, i16 0, i16 155, i16 0, i16 0, i16 0, i16 156, i16 0, i16 0, i16 0, i16 0, i16 0, i16 157, i16 158, i16 1148, i16 159, i16 1158, i16 1164, i16 1170, i16 0, i16 1187, i16 0, i16 1200, i16 1213, i16 0, i16 0, i16 0, i16 0, i16 1701, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 546, i16 0, i16 0, i16 0, i16 547, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 329, i16 0, i16 330, i16 0, i16 0, i16 331, i16 0, i16 0, i16 0, i16 332, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 333, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 358, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 225, i16 226, i16 0, i16 0, i16 227, i16 0, i16 228, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 229, i16 0, i16 230, i16 0, i16 0, i16 0, i16 231, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 1733, i16 1735, i16 1737, i16 1739, i16 0, i16 0, i16 0, i16 517, i16 518, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 519, i16 0, i16 0, i16 1310, i16 1311, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1312, i16 1313, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1314, i16 1315, i16 1316, i16 1317, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1353, i16 0, i16 1355, i16 0, i16 0, i16 0, i16 1358, i16 0, i16 0, i16 0, i16 0, i16 1362, i16 1363, i16 1366, i16 0, i16 0, i16 593, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 339, i16 340, i16 0, i16 0, i16 341, i16 342, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 348, i16 0, i16 0, i16 0, i16 0, i16 0, i16 349, i16 350, i16 351, i16 352, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 173, i16 174, i16 175, i16 176, i16 177, i16 0, i16 0, i16 180, i16 181, i16 0, i16 0, i16 0, i16 178, i16 179, i16 0, i16 0, i16 499, i16 500, i16 0, i16 0, i16 0, i16 501, i16 0, i16 0, i16 502, i16 0, i16 503, i16 504, i16 0, i16 0, i16 0, i16 282, i16 0, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 811, i16 812, i16 0, i16 0, i16 0, i16 0, i16 0, i16 894, i16 895, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 304, i16 305, i16 306, i16 307, i16 0, i16 0, i16 308, i16 309, i16 1700, i16 310, i16 0, i16 0, i16 311, i16 312, i16 313, i16 0, i16 1351, i16 1352, i16 1354, i16 1356, i16 1357, i16 1359, i16 1361, i16 1365, i16 1372, i16 1375, i16 1380, i16 1385, i16 1390, i16 1395, i16 1400, i16 0, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 75, i16 78, i16 76, i16 79, i16 77, i16 604, i16 605, i16 0, i16 658, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 672, i16 673, i16 674, i16 675, i16 676, i16 1364, i16 677, i16 678, i16 679, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1234, i16 1230, i16 1224, i16 1236, i16 1288, i16 1244, i16 1246, i16 1248, i16 1258, i16 1264, i16 1276, i16 1254, i16 0, i16 1280, i16 1292, i16 0, i16 1235, i16 1231, i16 1225, i16 1237, i16 1289, i16 1245, i16 1247, i16 1249, i16 1259, i16 1265, i16 1277, i16 1255, i16 0, i16 1281, i16 1293, i16 0, i16 476, i16 477, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1525, i16 1527, i16 1529, i16 1531, i16 1533, i16 1535, i16 1538, i16 1540, i16 1542, i16 1544, i16 1547, i16 1549, i16 1551, i16 1553, i16 1555, i16 0, i16 1526, i16 1528, i16 1530, i16 1532, i16 1534, i16 1536, i16 1539, i16 1541, i16 1543, i16 1545, i16 1548, i16 1550, i16 1552, i16 1554, i16 1556, i16 0, i16 505, i16 0, i16 0, i16 506, i16 0, i16 507, i16 508, i16 0, i16 0, i16 509, i16 510, i16 0, i16 0, i16 511, i16 512, i16 513, i16 514, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 515, i16 516, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1796, i16 1795, i16 881, i16 882, i16 885, i16 886, i16 1801, i16 1802, i16 1803, i16 903, i16 904, i16 1806, i16 1807, i16 905, i16 906, i16 907, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 1033, i16 1034, i16 1035, i16 1036, i16 1027, i16 1028, i16 1031, i16 1032, i16 1037, i16 1038, i16 1047, i16 1048, i16 1049, i16 1050, i16 1057, i16 1058, i16 778, i16 779, i16 780, i16 781, i16 782, i16 783, i16 784, i16 785, i16 870, i16 871, i16 876, i16 877, i16 972, i16 973, i16 966, i16 967, i16 529, i16 0, i16 530, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 0, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 1557, i16 1560, i16 1562, i16 1564, i16 1566, i16 1568, i16 1570, i16 1572, i16 1574, i16 1576, i16 1578, i16 1580, i16 1582, i16 1584, i16 1586, i16 1588, i16 1558, i16 1561, i16 1563, i16 1565, i16 1567, i16 1569, i16 1571, i16 1573, i16 1575, i16 1577, i16 1579, i16 1581, i16 1583, i16 1585, i16 1587, i16 1589, i16 279, i16 280, i16 281, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1818, i16 1819, i16 1830, i16 1831, i16 1007, i16 1008, i16 1832, i16 1833, i16 1013, i16 1014, i16 1834, i16 1835, i16 1029, i16 1030, i16 1838, i16 1839, i16 1055, i16 1056, i16 1098, i16 1099, i16 1090, i16 1091, i16 1100, i16 1101, i16 1088, i16 1089, i16 1096, i16 1097, i16 1852, i16 1853, i16 1854, i16 1855, i16 291, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 292, i16 0, i16 293, i16 0, i16 294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 548, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 0, i16 0, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 1318, i16 1319, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 295, i16 0, i16 296, i16 297, i16 0, i16 298, i16 299, i16 300, i16 301, i16 0, i16 0, i16 302, i16 0, i16 0, i16 0, i16 303, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 1836, i16 1837, i16 1053, i16 1054, i16 1045, i16 1046, i16 1051, i16 1052, i16 1086, i16 1087, i16 1846, i16 1847, i16 1066, i16 1067, i16 1074, i16 1075, i16 816, i16 817, i16 818, i16 819, i16 820, i16 1042, i16 1026, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 0, i16 0, i16 0, i16 0, i16 571, i16 0, i16 0, i16 0, i16 1844, i16 1845, i16 1094, i16 1095, i16 1862, i16 1863, i16 1126, i16 1127, i16 1128, i16 1877, i16 1878, i16 1881, i16 1882, i16 1879, i16 1880, i16 1040, i16 1590, i16 1592, i16 1594, i16 1596, i16 1598, i16 1600, i16 1602, i16 1604, i16 1606, i16 1608, i16 1610, i16 1612, i16 1614, i16 1616, i16 1618, i16 1620, i16 1591, i16 1593, i16 1595, i16 1597, i16 1599, i16 1601, i16 1603, i16 1605, i16 1607, i16 1609, i16 1611, i16 1613, i16 1615, i16 1617, i16 1619, i16 1621, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 314, i16 0, i16 0, i16 0, i16 0, i16 315, i16 0, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 0, i16 322, i16 0, i16 572, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 829, i16 830, i16 1790, i16 1791, i16 840, i16 841, i16 848, i16 849, i16 872, i16 873, i16 1799, i16 1800, i16 858, i16 859, i16 878, i16 879, i16 833, i16 834, i16 844, i16 845, i16 846, i16 847, i16 842, i16 843, i16 850, i16 851, i16 838, i16 839, i16 874, i16 875, i16 868, i16 869, i16 1860, i16 1861, i16 1858, i16 1859, i16 1864, i16 1865, i16 1866, i16 1867, i16 1868, i16 1869, i16 1121, i16 1122, i16 1119, i16 1120, i16 1134, i16 1135, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1350, i16 1452, i16 1457, i16 1462, i16 1467, i16 1472, i16 1477, i16 1482, i16 1487, i16 1490, i16 1493, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 74, i16 87, i16 120, i16 122, i16 119, i16 123, i16 143, i16 114, i16 94, i16 116, i16 683, i16 104, i16 141, i16 82, i16 117, i16 81, i16 1103, i16 0, i16 0, i16 0, i16 0, i16 1142, i16 1143, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1360, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1370, i16 0, i16 1622, i16 1624, i16 1626, i16 1628, i16 1630, i16 1632, i16 1634, i16 1636, i16 1638, i16 1640, i16 1642, i16 1644, i16 1646, i16 1648, i16 1650, i16 1652, i16 1367, i16 1368, i16 1369, i16 1373, i16 1374, i16 1376, i16 1377, i16 1378, i16 1379, i16 1381, i16 1382, i16 1383, i16 1384, i16 1386, i16 1387, i16 1388, i16 1623, i16 1625, i16 1627, i16 1629, i16 1631, i16 1633, i16 1635, i16 1637, i16 1639, i16 1641, i16 1643, i16 1645, i16 1647, i16 1649, i16 1651, i16 1653, i16 1112, i16 1113, i16 1124, i16 1125, i16 1136, i16 1137, i16 1130, i16 1131, i16 1132, i16 1133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 92, i16 1953, i16 730, i16 1954, i16 1955, i16 765, i16 810, i16 822, i16 837, i16 853, i16 884, i16 889, i16 1956, i16 919, i16 1957, i16 942, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 1887, i16 1810, i16 944, i16 1816, i16 952, i16 1820, i16 1828, i16 134, i16 1822, i16 1062, i16 1842, i16 1070, i16 1848, i16 1872, i16 1840, i16 1041, i16 1888, i16 1811, i16 945, i16 1817, i16 953, i16 1821, i16 1829, i16 133, i16 1823, i16 1063, i16 1843, i16 1071, i16 1849, i16 1873, i16 1841, i16 1129, i16 353, i16 0, i16 354, i16 0, i16 0, i16 355, i16 0, i16 0, i16 1889, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 865, i16 964, i16 965, i16 1072, i16 1073, i16 1076, i16 1077, i16 1078, i16 1079, i16 1082, i16 1083, i16 1080, i16 1081, i16 0, i16 718, i16 719, i16 356, i16 357, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 359, i16 360, i16 361, i16 362, i16 0, i16 0, i16 363, i16 364, i16 365, i16 366, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1389, i16 1391, i16 1392, i16 1393, i16 1394, i16 1396, i16 1397, i16 1398, i16 1399, i16 1401, i16 1402, i16 1404, i16 1405, i16 1407, i16 1408, i16 1410, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 1905, i16 445, i16 446, i16 1906, i16 447, i16 1907, i16 448, i16 449, i16 1908, i16 450, i16 451, i16 1909, i16 452, i16 453, i16 454, i16 1910, i16 1138, i16 1139, i16 1140, i16 1141, i16 1144, i16 1145, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 118, i16 1948, i16 729, i16 1949, i16 1950, i16 764, i16 809, i16 821, i16 836, i16 1794, i16 883, i16 888, i16 1951, i16 918, i16 1952, i16 941, i16 1654, i16 1656, i16 1658, i16 1660, i16 1662, i16 1664, i16 1666, i16 1668, i16 1670, i16 1672, i16 1674, i16 1676, i16 1678, i16 1680, i16 1682, i16 1684, i16 1655, i16 1657, i16 1659, i16 1661, i16 1663, i16 1665, i16 1667, i16 1669, i16 1671, i16 1673, i16 1675, i16 1677, i16 1679, i16 1681, i16 1683, i16 1685, i16 1911, i16 455, i16 456, i16 1912, i16 457, i16 458, i16 459, i16 1913, i16 1914, i16 460, i16 461, i16 1915, i16 462, i16 463, i16 464, i16 1916, i16 890, i16 891, i16 896, i16 897, i16 898, i16 899, i16 909, i16 910, i16 911, i16 912, i16 915, i16 916, i16 913, i16 914, i16 920, i16 921, i16 1403, i16 1406, i16 1409, i16 1412, i16 1417, i16 1422, i16 1427, i16 1432, i16 1437, i16 1442, i16 1447, i16 0, i16 0, i16 0, i16 0, i16 0, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 1411, i16 1413, i16 1414, i16 1415, i16 1416, i16 1418, i16 1419, i16 1420, i16 1421, i16 1423, i16 1424, i16 1425, i16 1426, i16 1428, i16 1429, i16 1430, i16 135, i16 334, i16 0, i16 0, i16 137, i16 139, i16 0, i16 0, i16 0, i16 0, i16 335, i16 336, i16 0, i16 0, i16 337, i16 338, i16 908, i16 1804, i16 1805, i16 1808, i16 1809, i16 1812, i16 1813, i16 929, i16 930, i16 939, i16 1814, i16 1815, i16 1826, i16 1827, i16 948, i16 949, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 655, i16 656, i16 657, i16 0, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 144, i16 132, i16 1750, i16 1751, i16 91, i16 145, i16 115, i16 96, i16 97, i16 1749, i16 943, i16 105, i16 1734, i16 1736, i16 1738, i16 89, i16 1686, i16 1688, i16 1690, i16 1692, i16 1537, i16 1546, i16 1559, i16 0, i16 0, i16 0, i16 0, i16 577, i16 578, i16 579, i16 580, i16 0, i16 1175, i16 1147, i16 1151, i16 1153, i16 1155, i16 1157, i16 1161, i16 1163, i16 1167, i16 1169, i16 1176, i16 1178, i16 1180, i16 1182, i16 1184, i16 1186, i16 1431, i16 1433, i16 1434, i16 1435, i16 1436, i16 1438, i16 1439, i16 1440, i16 1441, i16 1443, i16 1444, i16 1445, i16 1446, i16 1448, i16 1449, i16 1450, i16 1687, i16 1689, i16 1691, i16 1693, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 573, i16 574, i16 575, i16 576, i16 0, i16 922, i16 923, i16 924, i16 925, i16 931, i16 932, i16 933, i16 934, i16 937, i16 938, i16 935, i16 936, i16 968, i16 969, i16 970, i16 971, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 0, i16 0, i16 0, i16 0, i16 160, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1697, i16 86, i16 101, i16 127, i16 121, i16 128, i16 126, i16 98, i16 106, i16 108, i16 124, i16 130, i16 83, i16 1698, i16 90, i16 1699, i16 162, i16 163, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 164, i16 165, i16 166, i16 1190, i16 1192, i16 0, i16 1194, i16 1197, i16 1199, i16 1206, i16 1208, i16 1210, i16 1212, i16 1171, i16 1201, i16 1150, i16 1160, i16 1166, i16 1173, i16 1191, i16 1193, i16 1196, i16 1195, i16 1198, i16 1202, i16 1207, i16 1209, i16 1211, i16 1214, i16 1174, i16 1204, i16 1189, i16 1203, i16 1215, i16 0, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 1717, i16 1718, i16 1451, i16 1453, i16 1454, i16 1455, i16 1456, i16 1458, i16 1459, i16 1460, i16 1461, i16 1463, i16 1464, i16 1465, i16 1466, i16 1468, i16 1469, i16 1470, i16 428, i16 1890, i16 429, i16 1891, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 1892, i16 1893, i16 1894, i16 684, i16 1758, i16 702, i16 722, i16 1764, i16 1760, i16 1770, i16 1780, i16 766, i16 1784, i16 774, i16 788, i16 854, i16 1797, i16 862, i16 866, i16 685, i16 1759, i16 703, i16 723, i16 1765, i16 1761, i16 1771, i16 1781, i16 767, i16 1785, i16 775, i16 789, i16 855, i16 1798, i16 863, i16 867, i16 686, i16 687, i16 700, i16 701, i16 768, i16 769, i16 772, i16 773, i16 856, i16 857, i16 860, i16 861, i16 946, i16 947, i16 950, i16 951, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 798, i16 799, i16 790, i16 791, i16 792, i16 793, i16 776, i16 777, i16 1205, i16 1149, i16 1152, i16 1154, i16 1156, i16 1159, i16 1162, i16 1165, i16 1168, i16 1172, i16 1177, i16 1179, i16 1181, i16 1183, i16 1185, i16 1188, i16 182, i16 0, i16 0, i16 183, i16 184, i16 185, i16 186, i16 187, i16 99, i16 100, i16 188, i16 189, i16 102, i16 103, i16 190, i16 191, i16 439, i16 1895, i16 1896, i16 1897, i16 440, i16 1898, i16 1899, i16 1900, i16 441, i16 1901, i16 1902, i16 1903, i16 442, i16 1904, i16 443, i16 444, i16 1719, i16 1720, i16 1721, i16 1722, i16 1723, i16 1724, i16 1725, i16 1726, i16 1727, i16 1728, i16 1729, i16 1730, i16 475, i16 0, i16 0, i16 0, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 984, i16 985, i16 986, i16 987, i16 988, i16 989, i16 1471, i16 1473, i16 1474, i16 1475, i16 1476, i16 1478, i16 1479, i16 1480, i16 1481, i16 1483, i16 1484, i16 1485, i16 1486, i16 1488, i16 1489, i16 1491, i16 192, i16 193, i16 1702, i16 0, i16 0, i16 194, i16 195, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1216, i16 1218, i16 1220, i16 1222, i16 1228, i16 1232, i16 1238, i16 1240, i16 1242, i16 1250, i16 1252, i16 1256, i16 1260, i16 1262, i16 1266, i16 1268, i16 1217, i16 1219, i16 1221, i16 1223, i16 1229, i16 1233, i16 1239, i16 1241, i16 1243, i16 1251, i16 1253, i16 1257, i16 1261, i16 1263, i16 1267, i16 1269, i16 1731, i16 1740, i16 1741, i16 1742, i16 1743, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 85, i16 84, i16 136, i16 138, i16 140, i16 88, i16 196, i16 0, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 0, i16 208, i16 0, i16 1732, i16 0, i16 0, i16 0, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 131, i16 129, i16 209, i16 107, i16 109, i16 0, i16 1226, i16 1227, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 716, i16 717, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 746, i16 747, i16 753, i16 754, i16 755, i16 756, i16 761, i16 762, i16 465, i16 466, i16 1917, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 1918, i16 0, i16 0, i16 0, i16 0, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 0, i16 724, i16 725, i16 720, i16 721, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 690, i16 691, i16 980, i16 981, i16 978, i16 979, i16 997, i16 998, i16 999, i16 1000, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1492, i16 1494, i16 1495, i16 1496, i16 1497, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 0, i16 0, i16 0, i16 726, i16 727, i16 1774, i16 1775, i16 831, i16 832, i16 827, i16 828, i16 892, i16 893, i16 974, i16 975, i16 976, i16 977, i16 0, i16 0, i16 982, i16 983, i16 1921, i16 1922, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1102, i16 478, i16 0, i16 0, i16 0, i16 479, i16 0, i16 0, i16 0, i16 480, i16 0, i16 0, i16 0, i16 481, i16 0, i16 0, i16 0, i16 990, i16 991, i16 992, i16 993, i16 1092, i16 1093, i16 1084, i16 1085, i16 1104, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1503, i16 1504, i16 1506, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 482, i16 483, i16 484, i16 485, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 995, i16 1002, i16 1005, i16 1024, i16 1043, i16 1060, i16 1850, i16 1856, i16 1117, i16 1870, i16 1875, i16 110, i16 125, i16 111, i16 93, i16 80, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 996, i16 1003, i16 1006, i16 1025, i16 1044, i16 1061, i16 1851, i16 1857, i16 1118, i16 1871, i16 1876, i16 112, i16 142, i16 113, i16 95, i16 622, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 494, i16 495, i16 496, i16 0, i16 497, i16 498, i16 0, i16 0, i16 1768, i16 1769, i16 688, i16 689, i16 1766, i16 1767, i16 1776, i16 1777, i16 740, i16 741, i16 744, i16 745, i16 1778, i16 1779, i16 751, i16 752, i16 235, i16 0, i16 236, i16 0, i16 0, i16 0, i16 237, i16 0, i16 0, i16 0, i16 0, i16 238, i16 0, i16 0, i16 0, i16 0, i16 1009, i16 1010, i16 1011, i16 1012, i16 1064, i16 1065, i16 1068, i16 1069, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 757, i16 758, i16 759, i16 760, i16 804, i16 805, i16 802, i16 803, i16 806, i16 807, i16 794, i16 795, i16 800, i16 801, i16 813, i16 814, i16 1270, i16 1272, i16 1274, i16 1278, i16 1282, i16 1284, i16 1286, i16 1290, i16 1294, i16 1296, i16 1299, i16 1300, i16 1303, i16 1304, i16 1306, i16 1308, i16 1782, i16 1783, i16 1788, i16 1789, i16 770, i16 771, i16 796, i16 797, i16 1786, i16 1787, i16 786, i16 787, i16 825, i16 826, i16 1792, i16 1793, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 1271, i16 1273, i16 1275, i16 1279, i16 1283, i16 1285, i16 1287, i16 1291, i16 1295, i16 1297, i16 1298, i16 1301, i16 1302, i16 1305, i16 1307, i16 1309, i16 9, i16 11, i16 8, i16 5, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12, i16 7, i16 13, i16 3, i16 6, i16 0, i16 0, i16 0, i16 0, i16 14, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 181, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8, i16 38, i16 76, i16 84, i16 94, i16 104, i16 117, i16 126, i16 135, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 36, i16 0, i16 170, i16 0, i16 171, i16 176, i16 66, i16 74, i16 0, i16 0, i16 0, i16 0, i16 13, i16 0, i16 81, i16 86, i16 49, i16 50, i16 112, i16 82, i16 96, i16 51, i16 118, i16 120, i16 123, i16 40, i16 54, i16 134, i16 41, i16 0, i16 0, i16 11, i16 165, i16 0, i16 0, i16 0, i16 0, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 46, i16 18, i16 0, i16 0, i16 9, i16 12, i16 47, i16 90, i16 67, i16 138, i16 141, i16 71, i16 0, i16 0, i16 26, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 22, i16 10, i16 0, i16 14, i16 142, i16 0, i16 145, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 34, i16 150, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 39, i16 169, i16 98, i16 100, i16 29, i16 0, i16 0, i16 147, i16 110, i16 0, i16 37, i16 0, i16 0, i16 0, i16 0, i16 0, i16 32, i16 21, i16 65, i16 0, i16 0, i16 33, i16 122, i16 129, i16 136, i16 57, i16 17, i16 0, i16 139, i16 140, i16 0, i16 0, i16 55, i16 127, i16 149, i16 128, i16 151, i16 56, i16 44, i16 45, i16 172, i16 131, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 173, i16 179, i16 0, i16 61, i16 175, i16 99, i16 146, i16 180, i16 167, i16 160, i16 168, i16 63, i16 73, i16 97, i16 83, i16 106, i16 52, i16 108, i16 53, i16 132, i16 154, i16 68, i16 93, i16 116, i16 148, i16 70, i16 95, i16 20, i16 62, i16 158, i16 107, i16 7, i16 89, i16 133, i16 25, i16 80, i16 85, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 109, i16 174, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 19, i16 16, i16 0, i16 0, i16 48, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 27, i16 28, i16 103, i16 114, i16 121, i16 115, i16 91, i16 0, i16 0, i16 125, i16 155, i16 72, i16 101, i16 124, i16 157, i16 64, i16 79, i16 119, i16 137, i16 130, i16 111, i16 161, i16 143, i16 163, i16 113, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 92, i16 5, i16 6, i16 3, i16 144, i16 58, i16 152, i16 30, i16 31, i16 35, i16 78, i16 0, i16 42, i16 15, i16 23, i16 0, i16 24, i16 0, i16 4, i16 0, i16 43, i16 69, i16 166, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 153, i16 156, i16 159, i16 0, i16 60, i16 164, i16 178, i16 77, i16 88, i16 105, i16 59, i16 162, i16 177, i16 75, i16 87, i16 102, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 831, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1251, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 842, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 979, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 837, i16 838, i16 839, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 840, i16 0, i16 841, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 121, i16 122, i16 311, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1697, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1539, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1183, i16 0, i16 1184, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1240, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1540, i16 0, i16 0, i16 0, i16 1541, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1058, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1185, i16 1186, i16 1187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 975, i16 976, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 816, i16 811, i16 819, i16 818, i16 800, i16 821, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 929, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1253, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 815, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 167, i16 168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 771, i16 772, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 877, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1179, i16 1180, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1181, i16 1182, i16 0, i16 0, i16 0, i16 0, i16 0, i16 977, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 978, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 260, i16 261, i16 0, i16 0, i16 0, i16 0, i16 125, i16 126, i16 148, i16 149, i16 450, i16 451, i16 0, i16 0, i16 0, i16 0, i16 1563, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 823, i16 824, i16 0, i16 0, i16 0, i16 0, i16 825, i16 0, i16 0, i16 0, i16 826, i16 0, i16 0, i16 0, i16 0, i16 0, i16 827, i16 828, i16 1340, i16 829, i16 1350, i16 1356, i16 1362, i16 0, i16 1379, i16 0, i16 1392, i16 1405, i16 0, i16 0, i16 0, i16 0, i16 946, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 961, i16 962, i16 963, i16 964, i16 0, i16 0, i16 0, i16 0, i16 803, i16 0, i16 965, i16 0, i16 0, i16 0, i16 0, i16 804, i16 0, i16 805, i16 0, i16 0, i16 806, i16 0, i16 0, i16 0, i16 802, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 808, i16 0, i16 876, i16 0, i16 0, i16 0, i16 809, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 878, i16 879, i16 880, i16 881, i16 882, i16 883, i16 884, i16 885, i16 682, i16 684, i16 686, i16 688, i16 0, i16 0, i16 0, i16 0, i16 1205, i16 0, i16 0, i16 0, i16 1206, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 966, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 989, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 767, i16 768, i16 0, i16 0, i16 769, i16 0, i16 770, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1545, i16 0, i16 1547, i16 0, i16 0, i16 0, i16 1550, i16 0, i16 0, i16 0, i16 0, i16 1554, i16 1555, i16 1558, i16 0, i16 0, i16 79, i16 80, i16 81, i16 82, i16 83, i16 0, i16 0, i16 84, i16 85, i16 0, i16 0, i16 0, i16 843, i16 844, i16 0, i16 0, i16 1158, i16 1159, i16 0, i16 0, i16 0, i16 1160, i16 0, i16 0, i16 1161, i16 0, i16 1162, i16 1163, i16 0, i16 0, i16 0, i16 0, i16 1176, i16 1177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1178, i16 0, i16 0, i16 971, i16 972, i16 0, i16 0, i16 973, i16 974, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 980, i16 0, i16 0, i16 0, i16 0, i16 0, i16 981, i16 982, i16 983, i16 984, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1502, i16 1503, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1504, i16 1505, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1506, i16 1507, i16 1508, i16 1509, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1252, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1543, i16 1544, i16 1546, i16 1548, i16 1549, i16 1551, i16 1553, i16 1557, i16 1564, i16 1567, i16 1572, i16 1577, i16 1582, i16 1587, i16 1592, i16 0, i16 1317, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1092, i16 1093, i16 0, i16 1095, i16 0, i16 1097, i16 1098, i16 0, i16 1100, i16 1101, i16 0, i16 1103, i16 1104, i16 1105, i16 0, i16 0, i16 1108, i16 1109, i16 0, i16 1111, i16 1112, i16 1113, i16 0, i16 0, i16 1116, i16 1117, i16 0, i16 1119, i16 1120, i16 1121, i16 0, i16 0, i16 1135, i16 1136, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 391, i16 412, i16 410, i16 420, i16 440, i16 434, i16 791, i16 448, i16 556, i16 554, i16 564, i16 570, i16 646, i16 550, i16 531, i16 0, i16 392, i16 413, i16 411, i16 421, i16 441, i16 435, i16 787, i16 449, i16 557, i16 555, i16 565, i16 571, i16 647, i16 551, i16 653, i16 0, i16 1164, i16 0, i16 0, i16 1165, i16 0, i16 1166, i16 1167, i16 0, i16 0, i16 1168, i16 1169, i16 0, i16 0, i16 1170, i16 1171, i16 0, i16 1426, i16 1422, i16 1416, i16 1428, i16 1480, i16 1436, i16 1438, i16 1440, i16 1450, i16 1456, i16 1468, i16 1446, i16 0, i16 1472, i16 1484, i16 0, i16 1427, i16 1423, i16 1417, i16 1429, i16 1481, i16 1437, i16 1439, i16 1441, i16 1451, i16 1457, i16 1469, i16 1447, i16 0, i16 1473, i16 1485, i16 0, i16 921, i16 0, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 943, i16 735, i16 944, i16 945, i16 0, i16 0, i16 793, i16 947, i16 847, i16 788, i16 0, i16 0, i16 949, i16 950, i16 951, i16 0, i16 1717, i16 1719, i16 1721, i16 1723, i16 1725, i16 1727, i16 1730, i16 1732, i16 1734, i16 1736, i16 1739, i16 1741, i16 1743, i16 1745, i16 1747, i16 0, i16 1718, i16 1720, i16 1722, i16 1724, i16 1726, i16 1728, i16 1731, i16 1733, i16 1735, i16 1737, i16 1740, i16 1742, i16 1744, i16 1746, i16 1748, i16 0, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 707, i16 710, i16 708, i16 711, i16 709, i16 1263, i16 1264, i16 0, i16 248, i16 249, i16 0, i16 0, i16 0, i16 0, i16 0, i16 345, i16 346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 517, i16 518, i16 519, i16 520, i16 513, i16 514, i16 527, i16 528, i16 521, i16 522, i16 537, i16 538, i16 539, i16 540, i16 547, i16 548, i16 773, i16 0, i16 774, i16 0, i16 0, i16 0, i16 775, i16 0, i16 0, i16 0, i16 0, i16 776, i16 0, i16 0, i16 0, i16 0, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 1037, i16 1038, i16 1039, i16 1040, i16 1041, i16 1042, i16 1043, i16 1044, i16 1045, i16 1542, i16 1644, i16 1649, i16 1654, i16 1659, i16 1664, i16 1669, i16 1674, i16 1679, i16 1682, i16 1685, i16 1690, i16 1691, i16 1692, i16 1693, i16 1694, i16 268, i16 269, i16 272, i16 273, i16 281, i16 282, i16 289, i16 290, i16 319, i16 320, i16 329, i16 330, i16 305, i16 306, i16 327, i16 328, i16 780, i16 0, i16 985, i16 0, i16 0, i16 986, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 525, i16 526, i16 543, i16 544, i16 535, i16 536, i16 541, i16 542, i16 584, i16 585, i16 594, i16 595, i16 560, i16 561, i16 568, i16 569, i16 1552, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1562, i16 0, i16 274, i16 275, i16 285, i16 286, i16 287, i16 288, i16 283, i16 284, i16 291, i16 292, i16 279, i16 280, i16 321, i16 322, i16 315, i16 316, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1046, i16 1047, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 0, i16 0, i16 0, i16 0, i16 1814, i16 1816, i16 1818, i16 1820, i16 1822, i16 1824, i16 1826, i16 1828, i16 1830, i16 1832, i16 1834, i16 1836, i16 1838, i16 1840, i16 1842, i16 1844, i16 1559, i16 1560, i16 1561, i16 1565, i16 1566, i16 1568, i16 1569, i16 1570, i16 1571, i16 1573, i16 1574, i16 1575, i16 1576, i16 1578, i16 1579, i16 1580, i16 1815, i16 1817, i16 1819, i16 1821, i16 1823, i16 1825, i16 1827, i16 1829, i16 1831, i16 1833, i16 1835, i16 1837, i16 1839, i16 1841, i16 1843, i16 1845, i16 795, i16 784, i16 0, i16 0, i16 796, i16 797, i16 0, i16 0, i16 0, i16 0, i16 967, i16 968, i16 0, i16 0, i16 969, i16 970, i16 545, i16 546, i16 598, i16 599, i16 588, i16 589, i16 600, i16 601, i16 586, i16 587, i16 596, i16 597, i16 617, i16 618, i16 619, i16 620, i16 1314, i16 1315, i16 1316, i16 0, i16 1318, i16 801, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1059, i16 0, i16 1061, i16 0, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1070, i16 1071, i16 0, i16 0, i16 0, i16 1060, i16 1062, i16 1072, i16 1073, i16 1074, i16 1076, i16 1077, i16 1078, i16 1080, i16 1081, i16 1082, i16 1084, i16 1085, i16 1086, i16 1088, i16 1091, i16 807, i16 794, i16 699, i16 700, i16 814, i16 766, i16 762, i16 822, i16 817, i16 698, i16 409, i16 786, i16 683, i16 685, i16 687, i16 716, i16 1581, i16 1583, i16 1584, i16 1585, i16 1586, i16 1588, i16 1589, i16 1590, i16 1591, i16 1593, i16 1594, i16 1596, i16 1597, i16 1599, i16 1600, i16 1602, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1556, i16 1335, i16 1336, i16 1337, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1075, i16 0, i16 0, i16 0, i16 1079, i16 0, i16 0, i16 0, i16 1083, i16 0, i16 0, i16 0, i16 1087, i16 0, i16 1089, i16 1090, i16 1846, i16 1848, i16 1850, i16 1852, i16 1854, i16 1856, i16 1858, i16 1860, i16 1862, i16 1864, i16 1866, i16 1868, i16 1870, i16 1872, i16 1874, i16 1876, i16 1847, i16 1849, i16 1851, i16 1853, i16 1855, i16 1857, i16 1859, i16 1861, i16 1863, i16 1865, i16 1867, i16 1869, i16 1871, i16 1873, i16 1875, i16 1877, i16 312, i16 432, i16 433, i16 566, i16 567, i16 572, i16 573, i16 574, i16 575, i16 578, i16 579, i16 576, i16 577, i16 0, i16 131, i16 132, i16 1595, i16 1598, i16 1601, i16 1604, i16 1609, i16 1614, i16 1619, i16 1624, i16 1629, i16 1634, i16 1639, i16 0, i16 0, i16 0, i16 0, i16 0, i16 830, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 832, i16 833, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 834, i16 835, i16 836, i16 323, i16 324, i16 332, i16 333, i16 336, i16 337, i16 349, i16 350, i16 354, i16 357, i16 358, i16 367, i16 368, i16 359, i16 360, i16 361, i16 1603, i16 1605, i16 1606, i16 1607, i16 1608, i16 1610, i16 1611, i16 1612, i16 1613, i16 1615, i16 1616, i16 1617, i16 1618, i16 1620, i16 1621, i16 1622, i16 580, i16 581, i16 592, i16 593, i16 628, i16 629, i16 650, i16 651, i16 652, i16 665, i16 666, i16 669, i16 670, i16 678, i16 679, i16 530, i16 1094, i16 1096, i16 1099, i16 1102, i16 1106, i16 1107, i16 1110, i16 1114, i16 1115, i16 1118, i16 1122, i16 1125, i16 1134, i16 0, i16 0, i16 0, i16 77, i16 718, i16 764, i16 756, i16 810, i16 765, i16 739, i16 757, i16 820, i16 761, i16 88, i16 785, i16 781, i16 733, i16 760, i16 812, i16 845, i16 846, i16 948, i16 0, i16 0, i16 848, i16 849, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 78, i16 717, i16 720, i16 798, i16 759, i16 758, i16 755, i16 721, i16 743, i16 745, i16 792, i16 789, i16 713, i16 731, i16 712, i16 741, i16 850, i16 0, i16 851, i16 852, i16 853, i16 854, i16 855, i16 856, i16 857, i16 750, i16 752, i16 858, i16 859, i16 0, i16 813, i16 0, i16 341, i16 342, i16 347, i16 348, i16 351, i16 352, i16 363, i16 364, i16 369, i16 370, i16 373, i16 374, i16 371, i16 372, i16 378, i16 379, i16 1878, i16 1880, i16 1882, i16 1884, i16 1729, i16 1738, i16 1751, i16 0, i16 0, i16 0, i16 0, i16 1236, i16 1237, i16 1238, i16 1239, i16 0, i16 1367, i16 1339, i16 1343, i16 1345, i16 1347, i16 1349, i16 1353, i16 1355, i16 1359, i16 1361, i16 1368, i16 1370, i16 1372, i16 1374, i16 1376, i16 1378, i16 1623, i16 1625, i16 1626, i16 1627, i16 1628, i16 1630, i16 1631, i16 1632, i16 1633, i16 1635, i16 1636, i16 1637, i16 1638, i16 1640, i16 1641, i16 1642, i16 1879, i16 1881, i16 1883, i16 1885, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1232, i16 1233, i16 1234, i16 1235, i16 0, i16 91, i16 89, i16 109, i16 135, i16 129, i16 123, i16 146, i16 171, i16 199, i16 197, i16 207, i16 221, i16 301, i16 299, i16 309, i16 313, i16 603, i16 0, i16 0, i16 0, i16 0, i16 673, i16 674, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 92, i16 90, i16 110, i16 136, i16 130, i16 124, i16 147, i16 172, i16 200, i16 198, i16 208, i16 222, i16 302, i16 300, i16 310, i16 314, i16 93, i16 94, i16 107, i16 108, i16 201, i16 202, i16 205, i16 206, i16 303, i16 304, i16 307, i16 308, i16 414, i16 415, i16 418, i16 419, i16 861, i16 862, i16 863, i16 864, i16 865, i16 866, i16 867, i16 868, i16 869, i16 870, i16 871, i16 872, i16 873, i16 874, i16 875, i16 0, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 231, i16 232, i16 223, i16 224, i16 225, i16 226, i16 209, i16 210, i16 1123, i16 1124, i16 0, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1132, i16 1133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 612, i16 613, i16 648, i16 649, i16 660, i16 661, i16 654, i16 655, i16 656, i16 657, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1382, i16 1384, i16 0, i16 1386, i16 1389, i16 1391, i16 1398, i16 1400, i16 1402, i16 1404, i16 1363, i16 1393, i16 1342, i16 1352, i16 1358, i16 1365, i16 1383, i16 1385, i16 1388, i16 1387, i16 1390, i16 1394, i16 1399, i16 1401, i16 1403, i16 1406, i16 1366, i16 1396, i16 1381, i16 1395, i16 1407, i16 0, i16 362, i16 365, i16 366, i16 387, i16 388, i16 397, i16 398, i16 389, i16 390, i16 403, i16 405, i16 406, i16 456, i16 457, i16 416, i16 417, i16 1643, i16 1645, i16 1646, i16 1647, i16 1648, i16 1650, i16 1651, i16 1652, i16 1653, i16 1655, i16 1656, i16 1657, i16 1658, i16 1660, i16 1661, i16 1662, i16 1137, i16 0, i16 0, i16 0, i16 1138, i16 0, i16 0, i16 0, i16 1139, i16 0, i16 0, i16 0, i16 1140, i16 0, i16 0, i16 0, i16 626, i16 627, i16 624, i16 625, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 641, i16 642, i16 639, i16 640, i16 658, i16 659, i16 1141, i16 1142, i16 1143, i16 1144, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1397, i16 1341, i16 1344, i16 1346, i16 1348, i16 1351, i16 1354, i16 1357, i16 1360, i16 1364, i16 1369, i16 1371, i16 1373, i16 1375, i16 1377, i16 1380, i16 886, i16 887, i16 888, i16 889, i16 890, i16 891, i16 892, i16 893, i16 894, i16 895, i16 896, i16 897, i16 898, i16 899, i16 900, i16 901, i16 1145, i16 1146, i16 1147, i16 1148, i16 1149, i16 1150, i16 1151, i16 1152, i16 1153, i16 1154, i16 1155, i16 0, i16 1156, i16 1157, i16 0, i16 0, i16 380, i16 381, i16 382, i16 383, i16 393, i16 394, i16 395, i16 396, i16 401, i16 402, i16 399, i16 400, i16 442, i16 443, i16 444, i16 445, i16 127, i16 128, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 173, i16 174, i16 182, i16 183, i16 184, i16 185, i16 192, i16 193, i16 1663, i16 1665, i16 1666, i16 1667, i16 1668, i16 1670, i16 1671, i16 1672, i16 1673, i16 1675, i16 1676, i16 1677, i16 1678, i16 1680, i16 1681, i16 1683, i16 1408, i16 1410, i16 1412, i16 1414, i16 1420, i16 1424, i16 1430, i16 1432, i16 1434, i16 1442, i16 1444, i16 1448, i16 1452, i16 1454, i16 1458, i16 1460, i16 1409, i16 1411, i16 1413, i16 1415, i16 1421, i16 1425, i16 1431, i16 1433, i16 1435, i16 1443, i16 1445, i16 1449, i16 1453, i16 1455, i16 1459, i16 1461, i16 902, i16 903, i16 904, i16 905, i16 906, i16 907, i16 908, i16 909, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 137, i16 138, i16 133, i16 134, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 97, i16 98, i16 1418, i16 1419, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 141, i16 142, i16 95, i16 96, i16 139, i16 140, i16 163, i16 164, i16 165, i16 166, i16 169, i16 170, i16 175, i16 176, i16 180, i16 181, i16 143, i16 144, i16 150, i16 151, i16 270, i16 271, i16 266, i16 267, i16 343, i16 344, i16 452, i16 453, i16 454, i16 455, i16 0, i16 0, i16 1172, i16 1173, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1174, i16 1175, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1684, i16 1686, i16 1687, i16 1688, i16 1689, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 0, i16 0, i16 0, i16 918, i16 919, i16 920, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 667, i16 668, i16 671, i16 672, i16 675, i16 676, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1695, i16 1696, i16 1698, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 930, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 931, i16 0, i16 932, i16 0, i16 933, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1699, i16 1700, i16 1701, i16 1702, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1188, i16 0, i16 1189, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 934, i16 0, i16 935, i16 936, i16 0, i16 937, i16 938, i16 939, i16 940, i16 0, i16 0, i16 941, i16 0, i16 0, i16 0, i16 942, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 0, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 680, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 719, i16 714, i16 749, i16 778, i16 751, i16 715, i16 681, i16 0, i16 0, i16 0, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 790, i16 732, i16 860, i16 744, i16 746, i16 0, i16 436, i16 437, i16 475, i16 476, i16 489, i16 490, i16 499, i16 500, i16 505, i16 506, i16 511, i16 512, i16 515, i16 516, i16 523, i16 524, i16 1462, i16 1464, i16 1466, i16 1470, i16 1474, i16 1476, i16 1478, i16 1482, i16 1486, i16 1488, i16 1491, i16 1492, i16 1495, i16 1496, i16 1498, i16 1500, i16 1207, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1463, i16 1465, i16 1467, i16 1471, i16 1475, i16 1477, i16 1479, i16 1483, i16 1487, i16 1489, i16 1490, i16 1493, i16 1494, i16 1497, i16 1499, i16 1501, i16 952, i16 0, i16 0, i16 0, i16 0, i16 953, i16 0, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 0, i16 960, i16 0, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 0, i16 0, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 186, i16 187, i16 237, i16 238, i16 203, i16 204, i16 229, i16 230, i16 235, i16 236, i16 219, i16 220, i16 264, i16 265, i16 262, i16 263, i16 188, i16 189, i16 190, i16 191, i16 241, i16 242, i16 239, i16 240, i16 243, i16 244, i16 227, i16 228, i16 233, i16 234, i16 250, i16 251, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 0, i16 0, i16 0, i16 0, i16 1230, i16 0, i16 0, i16 0, i16 460, i16 461, i16 458, i16 459, i16 479, i16 480, i16 481, i16 482, i16 495, i16 496, i16 497, i16 498, i16 501, i16 502, i16 503, i16 504, i16 462, i16 463, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 602, i16 1231, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 722, i16 87, i16 153, i16 1888, i16 179, i16 196, i16 247, i16 259, i16 278, i16 298, i16 335, i16 340, i16 356, i16 377, i16 386, i16 408, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 317, i16 318, i16 325, i16 326, i16 446, i16 447, i16 438, i16 439, i16 1749, i16 1752, i16 1754, i16 1756, i16 1758, i16 1760, i16 1762, i16 1764, i16 1766, i16 1768, i16 1770, i16 1772, i16 1774, i16 1776, i16 1778, i16 1780, i16 470, i16 471, i16 472, i16 473, i16 590, i16 591, i16 582, i16 583, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 1750, i16 1753, i16 1755, i16 1757, i16 1759, i16 1761, i16 1763, i16 1765, i16 1767, i16 1769, i16 1771, i16 1773, i16 1775, i16 1777, i16 1779, i16 1781, i16 1241, i16 1242, i16 1243, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 987, i16 988, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 477, i16 484, i16 487, i16 508, i16 533, i16 552, i16 615, i16 622, i16 637, i16 644, i16 663, i16 747, i16 742, i16 748, i16 779, i16 777, i16 478, i16 485, i16 488, i16 509, i16 534, i16 553, i16 616, i16 623, i16 638, i16 645, i16 664, i16 753, i16 740, i16 754, i16 799, i16 1281, i16 734, i16 0, i16 0, i16 736, i16 737, i16 738, i16 782, i16 783, i16 729, i16 730, i16 723, i16 728, i16 726, i16 727, i16 724, i16 725, i16 990, i16 991, i16 992, i16 993, i16 0, i16 0, i16 994, i16 995, i16 996, i16 997, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 998, i16 999, i16 1000, i16 1001, i16 1002, i16 1003, i16 1004, i16 1005, i16 1006, i16 1007, i16 1008, i16 1009, i16 1010, i16 1011, i16 1012, i16 1013, i16 1510, i16 1511, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 491, i16 492, i16 493, i16 494, i16 558, i16 559, i16 562, i16 563, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1265, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1014, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1023, i16 1024, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1782, i16 1784, i16 1786, i16 1788, i16 1790, i16 1792, i16 1794, i16 1796, i16 1798, i16 1800, i16 1802, i16 1804, i16 1806, i16 1808, i16 1810, i16 1812, i16 1783, i16 1785, i16 1787, i16 1789, i16 1791, i16 1793, i16 1795, i16 1797, i16 1799, i16 1801, i16 1803, i16 1805, i16 1807, i16 1809, i16 1811, i16 1813, i16 1528, i16 1529, i16 1530, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 0, i16 0, i16 0, i16 0, i16 0, i16 763, i16 86, i16 152, i16 1887, i16 178, i16 195, i16 246, i16 258, i16 277, i16 297, i16 334, i16 339, i16 355, i16 376, i16 385, i16 407, i16 253, i16 254, i16 255, i16 256, i16 257, i16 532, i16 510, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 3, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 5, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 134, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 136, i16 0, i16 0, i16 0, i16 137, i16 0, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 1, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 12, i16 14, i16 16, i16 18, i16 20, i16 22, i16 24, i16 26, i16 28, i16 30, i16 32, i16 34, i16 36, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 13, i16 15, i16 17, i16 19, i16 21, i16 23, i16 25, i16 27, i16 29, i16 31, i16 33, i16 35, i16 37, i16 39, i16 41, i16 43, i16 45, i16 47, i16 49, i16 51, i16 53, i16 55, i16 57, i16 59, i16 61, i16 63, i16 92, i16 93, i16 94, i16 95, i16 202, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 96, i16 0, i16 0, i16 0, i16 133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 135, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 203, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 5, i16 6, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 4, i16 3, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 126, i16 132, i16 138, i16 144, i16 150, i16 156, i16 162, i16 168, i16 174, i16 180, i16 186, i16 192, i16 198, i16 204, i16 210, i16 216, i16 222, i16 228, i16 234, i16 240, i16 246, i16 252, i16 258, i16 264, i16 270, i16 276, i16 282, i16 288, i16 294, i16 300, i16 306, i16 7, i16 13, i16 23, i16 39, i16 32, i16 40, i16 38, i16 22, i16 24, i16 29, i16 36, i16 41, i16 10, i16 9, i16 16, i16 15, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 12, i16 11, i16 42, i16 43, i16 44, i16 14, i16 19, i16 75, i16 77, i16 79, i16 81, i16 83, i16 85, i16 87, i16 89, i16 91, i16 93, i16 95, i16 97, i16 99, i16 101, i16 103, i16 105, i16 107, i16 109, i16 111, i16 113, i16 115, i16 117, i16 119, i16 121, i16 123, i16 125, i16 26, i16 45, i16 27, i16 21, i16 0, i16 30, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 25, i16 37, i16 28, i16 20, i16 8, i16 312, i16 318, i16 324, i16 330, i16 336, i16 337, i16 343, i16 344, i16 350, i16 356, i16 362, i16 368, i16 374, i16 380, i16 386, i16 17, i16 393, i16 394, i16 395, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 47, i16 0, i16 0, i16 0, i16 0, i16 31, i16 410, i16 411, i16 412, i16 413, i16 414, i16 396, i16 18, i16 49, i16 50, i16 51, i16 52, i16 53, i16 48, i16 392, i16 46, i16 33, i16 55, i16 57, i16 59, i16 61, i16 63, i16 65, i16 67, i16 69, i16 71, i16 73, i16 34, i16 35, i16 0, i16 0, i16 0, i16 0, i16 32, i16 3, i16 45, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7, i16 37, i16 2, i16 12, i16 0, i16 0, i16 0, i16 0, i16 27, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 25, i16 33, i16 28, i16 44, i16 11, i16 14, i16 29, i16 40, i16 23, i16 9, i16 20, i16 10, i16 38, i16 22, i16 42, i16 31, i16 49, i16 36, i16 43, i16 16, i16 15, i16 26, i16 21, i16 35, i16 17, i16 18, i16 13, i16 47, i16 24, i16 6, i16 34, i16 4, i16 39, i16 19, i16 8, i16 41, i16 5, i16 48, i16 50, i16 46, i16 30, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 266, i16 373, i16 661, i16 236, i16 595, i16 0, i16 0, i16 94, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 615, i16 647, i16 136, i16 0, i16 0, i16 390, i16 36, i16 15, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 31, i16 0, i16 0, i16 0, i16 0, i16 0, i16 60, i16 455, i16 499, i16 0, i16 0, i16 4, i16 259, i16 192, i16 133, i16 445, i16 669, i16 550, i16 172, i16 0, i16 0, i16 62, i16 153, i16 389, i16 409, i16 145, i16 1, i16 180, i16 570, i16 258, i16 261, i16 414, i16 610, i16 140, i16 566, i16 280, i16 150, i16 468, i16 333, i16 655, i16 176, i16 402, i16 260, i16 173, i16 607, i16 281, i16 293, i16 306, i16 319, i16 267, i16 168, i16 368, i16 382, i16 456, i16 249, i16 437, i16 500, i16 95, i16 14, i16 465, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 68, i16 129, i16 0, i16 0, i16 12, i16 0, i16 9, i16 0, i16 533, i16 84, i16 587, i16 606, i16 447, i16 652, i16 668, i16 291, i16 318, i16 459, i16 61, i16 659, i16 395, i16 195, i16 202, i16 186, i16 30, i16 590, i16 617, i16 422, i16 209, i16 535, i16 137, i16 485, i16 511, i16 222, i16 165, i16 337, i16 355, i16 371, i16 385, i16 190, i16 35, i16 627, i16 98, i16 660, i16 85, i16 278, i16 244, i16 376, i16 391, i16 101, i16 69, i16 377, i16 185, i16 401, i16 205, i16 453, i16 38, i16 24, i16 331, i16 352, i16 644, i16 649, i16 662, i16 398, i16 673, i16 454, i16 287, i16 152, i16 223, i16 307, i16 294, i16 419, i16 39, i16 0, i16 357, i16 22, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 296, i16 160, i16 363, i16 342, i16 360, i16 378, i16 42, i16 415, i16 434, i16 206, i16 431, i16 13, i16 490, i16 462, i16 521, i16 486, i16 304, i16 593, i16 525, i16 253, i16 622, i16 645, i16 234, i16 269, i16 104, i16 279, i16 63, i16 425, i16 199, i16 78, i16 174, i16 72, i16 569, i16 295, i16 620, i16 161, i16 340, i16 658, i16 273, i16 680, i16 289, i16 404, i16 361, i16 359, i16 372, i16 423, i16 73, i16 417, i16 315, i16 132, i16 356, i16 362, i16 381, i16 412, i16 26, i16 594, i16 87, i16 471, i16 497, i16 601, i16 227, i16 118, i16 542, i16 557, i16 317, i16 353, i16 265, i16 182, i16 188, i16 0, i16 0, i16 0, i16 0, i16 5, i16 74, i16 544, i16 448, i16 211, i16 475, i16 575, i16 599, i16 524, i16 545, i16 552, i16 239, i16 157, i16 66, i16 585, i16 103, i16 614, i16 48, i16 632, i16 687, i16 282, i16 308, i16 329, i16 604, i16 514, i16 183, i16 537, i16 530, i16 326, i16 177, i16 226, i16 380, i16 406, i16 76, i16 204, i16 208, i16 215, i16 584, i16 247, i16 605, i16 428, i16 679, i16 634, i16 637, i16 37, i16 138, i16 316, i16 196, i16 34, i16 230, i16 44, i16 286, i16 676, i16 312, i16 603, i16 609, i16 549, i16 513, i16 310, i16 325, i16 346, i16 77, i16 388, i16 128, i16 399, i16 411, i16 418, i16 54, i16 444, i16 299, i16 480, i16 113, i16 197, i16 602, i16 89, i16 158, i16 635, i16 59, i16 670, i16 493, i16 276, i16 105, i16 416, i16 429, i16 334, i16 159, i16 110, i16 370, i16 384, i16 684, i16 248, i16 424, i16 301, i16 156, i16 343, i16 242, i16 214, i16 504, i16 515, i16 556, i16 403, i16 81, i16 364, i16 374, i16 189, i16 413, i16 427, i16 28, i16 207, i16 473, i16 494, i16 672, i16 228, i16 540, i16 283, i16 100, i16 586, i16 323, i16 344, i16 375, i16 155, i16 630, i16 124, i16 626, i16 526, i16 613, i16 665, i16 677, i16 16, i16 305, i16 290, i16 167, i16 339, i16 383, i16 408, i16 122, i16 449, i16 80, i16 467, i16 169, i16 218, i16 200, i16 532, i16 543, i16 561, i16 508, i16 510, i16 553, i16 256, i16 582, i16 653, i16 643, i16 0, i16 241, i16 619, i16 666, i16 147, i16 348, i16 397, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 648, i16 141, i16 82, i16 292, i16 309, i16 608, i16 354, i16 410, i16 386, i16 311, i16 439, i16 321, i16 109, i16 460, i16 481, i16 498, i16 394, i16 495, i16 461, i16 112, i16 19, i16 457, i16 254, i16 489, i16 503, i16 221, i16 512, i16 86, i16 527, i16 139, i16 568, i16 580, i16 143, i16 0, i16 0, i16 7, i16 300, i16 49, i16 57, i16 528, i16 102, i16 430, i16 194, i16 564, i16 17, i16 579, i16 0, i16 0, i16 144, i16 83, i16 531, i16 324, i16 229, i16 154, i16 179, i16 387, i16 53, i16 43, i16 277, i16 201, i16 108, i16 21, i16 625, i16 483, i16 146, i16 347, i16 396, i16 446, i16 505, i16 252, i16 336, i16 477, i16 351, i16 379, i16 322, i16 436, i16 0, i16 0, i16 18, i16 8, i16 420, i16 250, i16 450, i16 472, i16 633, i16 518, i16 529, i16 119, i16 631, i16 268, i16 674, i16 142, i16 686, i16 458, i16 134, i16 328, i16 678, i16 488, i16 509, i16 491, i16 541, i16 657, i16 120, i16 563, i16 675, i16 583, i16 245, i16 91, i16 618, i16 0, i16 0, i16 0, i16 683, i16 516, i16 314, i16 681, i16 193, i16 572, i16 358, i16 443, i16 611, i16 421, i16 646, i16 262, i16 272, i16 107, i16 99, i16 538, i16 685, i16 288, i16 64, i16 70, i16 166, i16 50, i16 25, i16 52, i16 71, i16 392, i16 191, i16 426, i16 433, i16 442, i16 451, i16 441, i16 435, i16 438, i16 11, i16 338, i16 106, i16 40, i16 0, i16 0, i16 10, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 440, i16 466, i16 478, i16 501, i16 523, i16 536, i16 554, i16 522, i16 592, i16 581, i16 233, i16 555, i16 251, i16 476, i16 636, i16 264, i16 203, i16 452, i16 474, i16 365, i16 178, i16 187, i16 539, i16 126, i16 565, i16 578, i16 600, i16 220, i16 2, i16 624, i16 639, i16 654, i16 212, i16 562, i16 407, i16 616, i16 33, i16 650, i16 47, i16 332, i16 271, i16 131, i16 97, i16 298, i16 162, i16 341, i16 65, i16 367, i16 213, i16 149, i16 151, i16 302, i16 163, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3, i16 484, i16 345, i16 67, i16 591, i16 469, i16 487, i16 51, i16 171, i16 303, i16 400, i16 175, i16 58, i16 125, i16 598, i16 79, i16 628, i16 463, i16 651, i16 350, i16 274, i16 470, i16 56, i16 464, i16 520, i16 612, i16 640, i16 238, i16 507, i16 123, i16 127, i16 88, i16 623, i16 642, i16 664, i16 548, i16 547, i16 216, i16 682, i16 492, i16 116, i16 519, i16 240, i16 667, i16 588, i16 597, i16 23, i16 559, i16 641, i16 577, i16 93, i16 270, i16 96, i16 225, i16 534, i16 589, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 482, i16 184, i16 224, i16 393, i16 0, i16 0, i16 0, i16 41, i16 121, i16 75, i16 198, i16 517, i16 90, i16 263, i16 210, i16 671, i16 231, i16 496, i16 45, i16 574, i16 246, i16 235, i16 621, i16 32, i16 479, i16 237, i16 560, i16 284, i16 571, i16 327, i16 217, i16 366, i16 232, i16 432, i16 55, i16 111, i16 0, i16 27, i16 114, i16 219, i16 115, i16 573, i16 546, i16 567, i16 6, i16 46, i16 243, i16 130, i16 502, i16 320, i16 92, i16 117, i16 369, i16 551, i16 558, i16 20, i16 164, i16 576, i16 275, i16 257, i16 297, i16 656, i16 596, i16 506, i16 255, i16 629, i16 638, i16 135, i16 0, i16 29, i16 663, i16 285, i16 313, i16 349, i16 148, i16 181, i16 405, i16 330, i16 335, i16 170, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3171, i16 12478, i16 12479, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2196, i16 6503, i16 11985, i16 1886, i16 6504, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2650, i16 12441, i16 12442, i16 0, i16 0, i16 0, i16 0, i16 12443, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2542, i16 11756, i16 11757, i16 6356, i16 0, i16 0, i16 11758, i16 11759, i16 6358, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1165, i16 0, i16 5777, i16 0, i16 5778, i16 10826, i16 10825, i16 10827, i16 10828, i16 10829, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1956, i16 6848, i16 6849, i16 1656, i16 0, i16 12717, i16 0, i16 12718, i16 0, i16 12719, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7035, i16 0, i16 0, i16 1517, i16 7036, i16 13063, i16 13064, i16 13065, i16 7037, i16 0, i16 1888, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7306, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 341, i16 0, i16 342, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 351, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 326, i16 327, i16 325, i16 328, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11125, i16 0, i16 0, i16 5992, i16 0, i16 5993, i16 0, i16 990, i16 11126, i16 0, i16 0, i16 947, i16 5990, i16 11127, i16 0, i16 11128, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 251, i16 0, i16 0, i16 0, i16 0, i16 250, i16 255, i16 0, i16 259, i16 260, i16 0, i16 0, i16 261, i16 262, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 368, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7427, i16 2983, i16 3748, i16 7428, i16 0, i16 7430, i16 3029, i16 7431, i16 3631, i16 7432, i16 2168, i16 7433, i16 1818, i16 7434, i16 1866, i16 965, i16 7435, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3587, i16 0, i16 13156, i16 13157, i16 13158, i16 13159, i16 0, i16 13160, i16 7092, i16 13161, i16 13162, i16 0, i16 0, i16 0, i16 0, i16 7093, i16 5548, i16 13163, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7201, i16 7287, i16 7229, i16 7315, i16 7247, i16 7332, i16 7265, i16 7350, i16 7274, i16 7359, i16 7271, i16 7356, i16 7273, i16 7358, i16 7272, i16 7357, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8287, i16 0, i16 0, i16 0, i16 0, i16 8288, i16 0, i16 2969, i16 8289, i16 0, i16 0, i16 8290, i16 0, i16 0, i16 8291, i16 4207, i16 3113, i16 8292, i16 0, i16 8293, i16 8294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9649, i16 5112, i16 9650, i16 9651, i16 5118, i16 0, i16 0, i16 5116, i16 0, i16 2728, i16 0, i16 0, i16 5123, i16 5113, i16 9652, i16 0, i16 9653, i16 0, i16 9654, i16 5114, i16 5090, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9574, i16 0, i16 9575, i16 0, i16 0, i16 1049, i16 0, i16 0, i16 892, i16 0, i16 9576, i16 5056, i16 0, i16 9577, i16 5059, i16 9578, i16 0, i16 0, i16 3600, i16 9579, i16 0, i16 9580, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 364, i16 0, i16 0, i16 363, i16 0, i16 362, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7882, i16 7883, i16 0, i16 0, i16 4012, i16 3474, i16 0, i16 2068, i16 7884, i16 4018, i16 0, i16 7885, i16 7886, i16 0, i16 4017, i16 4008, i16 0, i16 7887, i16 7888, i16 7889, i16 2472, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 995, i16 0, i16 0, i16 7950, i16 0, i16 0, i16 4058, i16 7951, i16 2153, i16 4054, i16 7952, i16 4052, i16 7953, i16 4053, i16 7954, i16 4055, i16 7955, i16 0, i16 7956, i16 7957, i16 7958, i16 0, i16 7959, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3650, i16 0, i16 9772, i16 5182, i16 0, i16 0, i16 0, i16 847, i16 0, i16 9773, i16 0, i16 9774, i16 9775, i16 9776, i16 9777, i16 0, i16 9778, i16 5184, i16 0, i16 0, i16 9779, i16 5183, i16 0, i16 5181, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10072, i16 10073, i16 5305, i16 0, i16 10074, i16 0, i16 0, i16 5306, i16 10075, i16 0, i16 0, i16 10076, i16 5307, i16 0, i16 0, i16 0, i16 10077, i16 0, i16 10078, i16 10079, i16 866, i16 0, i16 10080, i16 10081, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3182, i16 0, i16 6816, i16 12656, i16 0, i16 12657, i16 12658, i16 6817, i16 12659, i16 6818, i16 0, i16 0, i16 12660, i16 0, i16 6819, i16 12661, i16 12662, i16 0, i16 12663, i16 12664, i16 0, i16 0, i16 0, i16 12665, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11391, i16 0, i16 1000, i16 6110, i16 6111, i16 11358, i16 0, i16 0, i16 0, i16 11359, i16 0, i16 6106, i16 0, i16 1808, i16 11360, i16 0, i16 11361, i16 0, i16 11362, i16 0, i16 11363, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1683, i16 0, i16 12778, i16 0, i16 12779, i16 6888, i16 12780, i16 12781, i16 6889, i16 0, i16 12782, i16 0, i16 12783, i16 12784, i16 12785, i16 0, i16 1055, i16 12786, i16 0, i16 12787, i16 6890, i16 0, i16 12788, i16 12789, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8637, i16 0, i16 0, i16 8638, i16 0, i16 0, i16 8639, i16 4435, i16 4441, i16 4433, i16 0, i16 2779, i16 8640, i16 8641, i16 4438, i16 3156, i16 8642, i16 8643, i16 4432, i16 8644, i16 4437, i16 3636, i16 1834, i16 0, i16 8645, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7102, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7101, i16 7104, i16 7108, i16 7107, i16 0, i16 7105, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11222, i16 0, i16 0, i16 11223, i16 0, i16 3292, i16 0, i16 3660, i16 11224, i16 11225, i16 11226, i16 11227, i16 0, i16 6049, i16 0, i16 0, i16 11228, i16 0, i16 0, i16 11230, i16 11231, i16 6056, i16 11232, i16 0, i16 6048, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8409, i16 8410, i16 0, i16 8411, i16 0, i16 4283, i16 0, i16 0, i16 8412, i16 1205, i16 4284, i16 8413, i16 0, i16 4285, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8414, i16 0, i16 8415, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4599, i16 752, i16 8844, i16 8845, i16 1720, i16 0, i16 8846, i16 0, i16 2177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8847, i16 8848, i16 0, i16 0, i16 8849, i16 2707, i16 0, i16 8850, i16 3053, i16 4605, i16 2405, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4632, i16 0, i16 0, i16 8909, i16 8910, i16 0, i16 0, i16 2464, i16 0, i16 4639, i16 8911, i16 0, i16 8912, i16 4633, i16 8913, i16 0, i16 4630, i16 4637, i16 8914, i16 0, i16 0, i16 0, i16 4607, i16 0, i16 8915, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 316, i16 315, i16 0, i16 0, i16 0, i16 312, i16 0, i16 0, i16 314, i16 313, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8817, i16 0, i16 8818, i16 0, i16 0, i16 3069, i16 4663, i16 0, i16 0, i16 0, i16 0, i16 3279, i16 0, i16 8819, i16 0, i16 2706, i16 8820, i16 8821, i16 0, i16 3368, i16 8822, i16 4583, i16 934, i16 2605, i16 8823, i16 8824, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7940, i16 2549, i16 0, i16 7941, i16 970, i16 7942, i16 0, i16 0, i16 7943, i16 7944, i16 7945, i16 7946, i16 7947, i16 7948, i16 0, i16 4042, i16 0, i16 4044, i16 2069, i16 858, i16 7949, i16 0, i16 4047, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 311, i16 310, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2652, i16 12969, i16 6980, i16 0, i16 3024, i16 0, i16 6985, i16 6981, i16 0, i16 0, i16 0, i16 6982, i16 0, i16 12970, i16 3300, i16 3413, i16 0, i16 2861, i16 12971, i16 0, i16 12972, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1124, i16 11078, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11079, i16 920, i16 5954, i16 3639, i16 2498, i16 11080, i16 0, i16 3131, i16 0, i16 5966, i16 11081, i16 988, i16 5964, i16 0, i16 5962, i16 5953, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2662, i16 9547, i16 9548, i16 9549, i16 883, i16 1622, i16 5035, i16 0, i16 0, i16 9551, i16 9552, i16 0, i16 9553, i16 1974, i16 5040, i16 0, i16 5039, i16 5034, i16 0, i16 5037, i16 9554, i16 0, i16 1099, i16 9555, i16 5036, i16 2948, i16 9556, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8864, i16 8865, i16 3280, i16 1919, i16 4620, i16 0, i16 4619, i16 8866, i16 8867, i16 2243, i16 0, i16 0, i16 8868, i16 1497, i16 0, i16 8869, i16 8870, i16 4613, i16 2086, i16 8871, i16 0, i16 2885, i16 2924, i16 8872, i16 8873, i16 0, i16 8874, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11173, i16 6028, i16 11174, i16 11175, i16 3524, i16 11176, i16 0, i16 0, i16 11177, i16 3575, i16 11178, i16 0, i16 11179, i16 11180, i16 0, i16 0, i16 0, i16 11181, i16 2619, i16 11182, i16 11183, i16 11184, i16 1102, i16 11185, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6850, i16 12720, i16 0, i16 1057, i16 0, i16 0, i16 0, i16 2954, i16 6851, i16 6852, i16 0, i16 12721, i16 12722, i16 12723, i16 2589, i16 2888, i16 12724, i16 0, i16 0, i16 0, i16 12725, i16 12726, i16 0, i16 6853, i16 12727, i16 0, i16 12728, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4292, i16 0, i16 4294, i16 0, i16 8425, i16 0, i16 8426, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8427, i16 0, i16 0, i16 0, i16 0, i16 8429, i16 0, i16 4295, i16 0, i16 0, i16 0, i16 8428, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10961, i16 5874, i16 10962, i16 0, i16 0, i16 10963, i16 5872, i16 10964, i16 0, i16 2208, i16 0, i16 3164, i16 5877, i16 10965, i16 5876, i16 1639, i16 3710, i16 0, i16 10966, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5893, i16 0, i16 0, i16 0, i16 0, i16 13078, i16 7046, i16 3001, i16 0, i16 13079, i16 7047, i16 7049, i16 0, i16 13080, i16 7050, i16 13081, i16 13082, i16 13083, i16 0, i16 0, i16 13084, i16 13085, i16 13086, i16 0, i16 0, i16 7048, i16 1668, i16 3422, i16 3350, i16 4361, i16 0, i16 4996, i16 3374, i16 0, i16 0, i16 0, i16 0, i16 9766, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9767, i16 5177, i16 2557, i16 5180, i16 5175, i16 9768, i16 9769, i16 0, i16 5179, i16 9770, i16 0, i16 0, i16 9771, i16 5178, i16 2751, i16 802, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4915, i16 9346, i16 9347, i16 4920, i16 4924, i16 9348, i16 9349, i16 1331, i16 0, i16 0, i16 9350, i16 0, i16 9351, i16 9352, i16 9353, i16 0, i16 0, i16 9354, i16 9355, i16 0, i16 1259, i16 4922, i16 0, i16 9356, i16 0, i16 0, i16 0, i16 1216, i16 0, i16 0, i16 0, i16 0, i16 9780, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5176, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3286, i16 9781, i16 0, i16 0, i16 5186, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9539, i16 0, i16 0, i16 9540, i16 0, i16 0, i16 9541, i16 3517, i16 5042, i16 0, i16 9542, i16 9543, i16 0, i16 9544, i16 5041, i16 9545, i16 0, i16 0, i16 0, i16 2335, i16 0, i16 5038, i16 9546, i16 3547, i16 0, i16 0, i16 2835, i16 5032, i16 0, i16 0, i16 0, i16 0, i16 10582, i16 0, i16 3236, i16 986, i16 0, i16 10583, i16 0, i16 5611, i16 0, i16 5608, i16 10584, i16 5613, i16 10585, i16 10586, i16 5612, i16 0, i16 2990, i16 3384, i16 10587, i16 1806, i16 5606, i16 5615, i16 5610, i16 10588, i16 5609, i16 5605, i16 10589, i16 5607, i16 0, i16 0, i16 0, i16 0, i16 12640, i16 0, i16 6807, i16 12641, i16 0, i16 0, i16 12642, i16 6809, i16 2511, i16 1086, i16 1087, i16 6808, i16 0, i16 12643, i16 12644, i16 12645, i16 1194, i16 1515, i16 12646, i16 12647, i16 1195, i16 12648, i16 12649, i16 2750, i16 0, i16 0, i16 3629, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9849, i16 0, i16 0, i16 0, i16 5220, i16 0, i16 2687, i16 9850, i16 5222, i16 5221, i16 0, i16 9851, i16 5223, i16 0, i16 5224, i16 0, i16 9852, i16 1936, i16 3162, i16 0, i16 9853, i16 9854, i16 3453, i16 5225, i16 5226, i16 2397, i16 1877, i16 5227, i16 0, i16 0, i16 0, i16 0, i16 944, i16 0, i16 13087, i16 0, i16 13088, i16 0, i16 0, i16 13089, i16 7052, i16 1263, i16 7053, i16 7054, i16 7055, i16 0, i16 1676, i16 0, i16 7056, i16 13090, i16 0, i16 0, i16 5266, i16 3436, i16 0, i16 2504, i16 7057, i16 7059, i16 7058, i16 13091, i16 0, i16 0, i16 0, i16 0, i16 9393, i16 0, i16 0, i16 9394, i16 3008, i16 0, i16 4946, i16 0, i16 9395, i16 0, i16 0, i16 0, i16 9396, i16 9397, i16 9398, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4950, i16 4947, i16 9399, i16 9400, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1215, i16 9243, i16 4856, i16 0, i16 9244, i16 3418, i16 4831, i16 1214, i16 9245, i16 4838, i16 0, i16 9246, i16 9247, i16 9248, i16 3315, i16 9249, i16 4839, i16 4841, i16 9250, i16 4845, i16 4833, i16 9251, i16 2541, i16 0, i16 9252, i16 9253, i16 0, i16 2798, i16 0, i16 0, i16 0, i16 0, i16 7110, i16 7111, i16 7122, i16 0, i16 7123, i16 7124, i16 7125, i16 0, i16 7127, i16 0, i16 7128, i16 7130, i16 7136, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 0, i16 0, i16 0, i16 0, i16 6623, i16 0, i16 0, i16 12326, i16 12327, i16 12328, i16 0, i16 2886, i16 0, i16 2772, i16 0, i16 0, i16 12329, i16 12330, i16 12331, i16 0, i16 2680, i16 12332, i16 6636, i16 12333, i16 12334, i16 0, i16 12335, i16 2566, i16 6632, i16 0, i16 12336, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2303, i16 11822, i16 1920, i16 6405, i16 0, i16 11823, i16 0, i16 1077, i16 11824, i16 6406, i16 11825, i16 0, i16 2429, i16 6407, i16 0, i16 6408, i16 3170, i16 0, i16 0, i16 1230, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11826, i16 0, i16 0, i16 0, i16 8200, i16 905, i16 0, i16 8201, i16 1202, i16 2877, i16 3273, i16 0, i16 0, i16 0, i16 0, i16 4173, i16 2396, i16 4172, i16 1435, i16 8202, i16 8203, i16 3342, i16 4171, i16 0, i16 2788, i16 4175, i16 8204, i16 4174, i16 8205, i16 0, i16 8206, i16 8207, i16 8208, i16 0, i16 0, i16 0, i16 9739, i16 9740, i16 0, i16 0, i16 0, i16 9741, i16 9742, i16 9743, i16 9744, i16 5111, i16 0, i16 9749, i16 0, i16 0, i16 5171, i16 0, i16 0, i16 9745, i16 9746, i16 0, i16 0, i16 2884, i16 0, i16 0, i16 0, i16 0, i16 9747, i16 9748, i16 0, i16 0, i16 0, i16 0, i16 8486, i16 0, i16 0, i16 0, i16 8487, i16 0, i16 4332, i16 0, i16 8488, i16 1185, i16 4333, i16 8490, i16 0, i16 8489, i16 0, i16 4335, i16 4334, i16 0, i16 0, i16 4336, i16 0, i16 8491, i16 8492, i16 0, i16 4337, i16 0, i16 2327, i16 1970, i16 0, i16 0, i16 0, i16 0, i16 808, i16 5862, i16 0, i16 2563, i16 0, i16 10928, i16 0, i16 0, i16 0, i16 2963, i16 10929, i16 2496, i16 10930, i16 0, i16 0, i16 10931, i16 0, i16 10932, i16 10933, i16 5864, i16 10934, i16 10935, i16 5860, i16 5863, i16 5858, i16 0, i16 5861, i16 3289, i16 0, i16 0, i16 0, i16 0, i16 6698, i16 0, i16 0, i16 12462, i16 784, i16 12463, i16 12464, i16 6696, i16 12465, i16 6700, i16 6699, i16 0, i16 0, i16 12466, i16 12467, i16 12468, i16 12469, i16 6702, i16 6701, i16 6703, i16 0, i16 2827, i16 12470, i16 12471, i16 0, i16 6704, i16 12472, i16 12473, i16 12474, i16 0, i16 0, i16 0, i16 299, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7121, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9006, i16 0, i16 1543, i16 0, i16 9007, i16 4685, i16 9008, i16 0, i16 0, i16 0, i16 4688, i16 0, i16 3145, i16 9009, i16 1278, i16 9010, i16 0, i16 9011, i16 4687, i16 4686, i16 2959, i16 4689, i16 1330, i16 0, i16 0, i16 0, i16 4691, i16 4690, i16 9012, i16 0, i16 0, i16 0, i16 5172, i16 9750, i16 9751, i16 0, i16 0, i16 0, i16 0, i16 0, i16 981, i16 9752, i16 0, i16 9753, i16 2803, i16 1032, i16 0, i16 0, i16 0, i16 0, i16 9754, i16 9755, i16 0, i16 1283, i16 0, i16 0, i16 0, i16 1935, i16 1735, i16 9756, i16 0, i16 0, i16 0, i16 0, i16 9782, i16 9783, i16 9784, i16 9785, i16 9786, i16 0, i16 5185, i16 0, i16 9787, i16 9788, i16 0, i16 0, i16 9789, i16 0, i16 0, i16 0, i16 0, i16 914, i16 0, i16 0, i16 0, i16 0, i16 5188, i16 3207, i16 0, i16 5187, i16 0, i16 9790, i16 0, i16 0, i16 0, i16 0, i16 8247, i16 8248, i16 863, i16 1136, i16 8249, i16 4189, i16 0, i16 3414, i16 3112, i16 0, i16 0, i16 8250, i16 8251, i16 0, i16 8252, i16 8253, i16 0, i16 8254, i16 0, i16 753, i16 8255, i16 0, i16 0, i16 0, i16 834, i16 0, i16 0, i16 0, i16 1828, i16 0, i16 0, i16 0, i16 10308, i16 0, i16 0, i16 0, i16 5464, i16 0, i16 10309, i16 0, i16 0, i16 0, i16 5465, i16 0, i16 0, i16 0, i16 10310, i16 10311, i16 0, i16 0, i16 10312, i16 0, i16 5466, i16 0, i16 10313, i16 5467, i16 3400, i16 5468, i16 0, i16 10314, i16 10315, i16 0, i16 0, i16 0, i16 10830, i16 10831, i16 5779, i16 0, i16 10832, i16 0, i16 0, i16 0, i16 0, i16 5780, i16 5781, i16 5782, i16 10833, i16 5783, i16 5784, i16 10834, i16 10835, i16 5786, i16 5785, i16 0, i16 0, i16 5787, i16 0, i16 0, i16 10836, i16 10837, i16 10838, i16 0, i16 5788, i16 0, i16 0, i16 0, i16 6991, i16 0, i16 0, i16 6989, i16 0, i16 1118, i16 0, i16 6988, i16 1891, i16 942, i16 0, i16 0, i16 12981, i16 12982, i16 0, i16 12983, i16 12984, i16 12985, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12986, i16 1658, i16 12987, i16 12989, i16 6998, i16 6997, i16 0, i16 0, i16 0, i16 12117, i16 0, i16 0, i16 0, i16 12118, i16 12119, i16 2864, i16 6566, i16 1989, i16 1937, i16 2966, i16 2612, i16 12120, i16 0, i16 0, i16 1955, i16 12121, i16 2231, i16 0, i16 6567, i16 12122, i16 6568, i16 12123, i16 12124, i16 12125, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1113, i16 5562, i16 5561, i16 10536, i16 5565, i16 5558, i16 10537, i16 5566, i16 3574, i16 10538, i16 5567, i16 10539, i16 5568, i16 0, i16 10540, i16 4170, i16 5570, i16 0, i16 5569, i16 0, i16 0, i16 0, i16 5571, i16 5572, i16 10541, i16 3586, i16 5573, i16 0, i16 6797, i16 0, i16 0, i16 0, i16 4186, i16 8227, i16 2474, i16 0, i16 8228, i16 3307, i16 0, i16 0, i16 0, i16 2761, i16 8229, i16 8230, i16 8231, i16 8232, i16 0, i16 4187, i16 8233, i16 0, i16 0, i16 0, i16 8234, i16 0, i16 3352, i16 8235, i16 1727, i16 8236, i16 0, i16 2071, i16 0, i16 0, i16 0, i16 0, i16 4961, i16 0, i16 0, i16 9421, i16 4960, i16 0, i16 4962, i16 9422, i16 0, i16 979, i16 9423, i16 2554, i16 0, i16 4963, i16 0, i16 9424, i16 1152, i16 4965, i16 0, i16 9425, i16 0, i16 9426, i16 4964, i16 0, i16 4966, i16 0, i16 9427, i16 0, i16 4967, i16 0, i16 0, i16 0, i16 10341, i16 10342, i16 5477, i16 0, i16 10343, i16 10344, i16 0, i16 0, i16 0, i16 10345, i16 0, i16 10346, i16 0, i16 0, i16 0, i16 10347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10348, i16 2104, i16 10349, i16 0, i16 0, i16 0, i16 0, i16 2175, i16 8612, i16 3107, i16 0, i16 8613, i16 8614, i16 8615, i16 0, i16 8616, i16 1208, i16 2913, i16 0, i16 0, i16 8617, i16 8618, i16 8619, i16 8620, i16 8621, i16 0, i16 4422, i16 1833, i16 3309, i16 3310, i16 0, i16 0, i16 933, i16 4427, i16 8622, i16 0, i16 0, i16 0, i16 0, i16 2695, i16 3881, i16 7678, i16 0, i16 2444, i16 0, i16 7679, i16 1764, i16 3882, i16 3883, i16 2359, i16 0, i16 3880, i16 0, i16 0, i16 0, i16 0, i16 3885, i16 7680, i16 3305, i16 7681, i16 7682, i16 0, i16 7683, i16 1659, i16 7684, i16 0, i16 3884, i16 7685, i16 0, i16 0, i16 0, i16 5002, i16 5001, i16 0, i16 9479, i16 9480, i16 9481, i16 0, i16 0, i16 0, i16 9482, i16 0, i16 9483, i16 0, i16 0, i16 0, i16 0, i16 9484, i16 2224, i16 9485, i16 9486, i16 3120, i16 881, i16 0, i16 9487, i16 9488, i16 0, i16 0, i16 3038, i16 9489, i16 0, i16 0, i16 0, i16 12200, i16 12201, i16 12202, i16 12203, i16 0, i16 12204, i16 6671, i16 0, i16 0, i16 6599, i16 0, i16 12205, i16 12206, i16 12207, i16 0, i16 0, i16 12208, i16 3640, i16 12209, i16 12210, i16 1555, i16 12211, i16 12212, i16 12213, i16 0, i16 12214, i16 0, i16 12215, i16 6609, i16 0, i16 0, i16 0, i16 1469, i16 0, i16 8946, i16 0, i16 8947, i16 4649, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8948, i16 8949, i16 8950, i16 1800, i16 4646, i16 0, i16 4645, i16 0, i16 0, i16 8951, i16 8952, i16 2925, i16 8953, i16 0, i16 8954, i16 2834, i16 8955, i16 0, i16 0, i16 0, i16 1223, i16 1538, i16 4235, i16 1083, i16 0, i16 8338, i16 4236, i16 0, i16 2462, i16 0, i16 0, i16 8339, i16 8340, i16 4237, i16 4277, i16 0, i16 4238, i16 0, i16 4239, i16 0, i16 0, i16 4240, i16 0, i16 4242, i16 0, i16 8341, i16 8342, i16 8343, i16 8344, i16 0, i16 0, i16 0, i16 5320, i16 5319, i16 5321, i16 10092, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5322, i16 5324, i16 5323, i16 0, i16 0, i16 1680, i16 10093, i16 5326, i16 0, i16 5325, i16 10094, i16 10095, i16 1158, i16 0, i16 2206, i16 0, i16 2747, i16 0, i16 5327, i16 2273, i16 0, i16 0, i16 0, i16 9928, i16 1677, i16 1845, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9929, i16 5264, i16 5265, i16 9930, i16 0, i16 9931, i16 0, i16 0, i16 0, i16 9932, i16 5267, i16 9933, i16 0, i16 0, i16 0, i16 0, i16 9934, i16 9935, i16 9936, i16 0, i16 0, i16 0, i16 4811, i16 0, i16 0, i16 0, i16 3111, i16 0, i16 0, i16 0, i16 9216, i16 0, i16 0, i16 9217, i16 9218, i16 9219, i16 9220, i16 9221, i16 0, i16 4823, i16 9222, i16 952, i16 4812, i16 0, i16 9223, i16 9224, i16 9225, i16 9226, i16 0, i16 4829, i16 4813, i16 0, i16 0, i16 0, i16 13009, i16 13010, i16 0, i16 13011, i16 7009, i16 0, i16 7008, i16 13012, i16 0, i16 0, i16 13013, i16 13014, i16 1463, i16 0, i16 0, i16 13015, i16 13016, i16 0, i16 13017, i16 13018, i16 13019, i16 13020, i16 0, i16 7013, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11738, i16 0, i16 0, i16 1460, i16 0, i16 0, i16 0, i16 0, i16 6342, i16 6344, i16 11739, i16 0, i16 6345, i16 1251, i16 5811, i16 2150, i16 0, i16 6346, i16 0, i16 11740, i16 1575, i16 11741, i16 11742, i16 0, i16 0, i16 11743, i16 6347, i16 11744, i16 0, i16 0, i16 0, i16 0, i16 5086, i16 9609, i16 9610, i16 0, i16 0, i16 9611, i16 9612, i16 3388, i16 9613, i16 0, i16 5084, i16 5088, i16 9614, i16 0, i16 9615, i16 9616, i16 9617, i16 9618, i16 0, i16 1545, i16 9619, i16 2098, i16 0, i16 0, i16 2556, i16 9620, i16 9621, i16 9622, i16 5078, i16 0, i16 0, i16 0, i16 7917, i16 7918, i16 0, i16 0, i16 1489, i16 4034, i16 4032, i16 2394, i16 1257, i16 1321, i16 7919, i16 4029, i16 0, i16 1393, i16 0, i16 7920, i16 0, i16 0, i16 0, i16 875, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7921, i16 0, i16 0, i16 0, i16 238, i16 0, i16 300, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1015, i16 0, i16 11621, i16 2163, i16 6275, i16 0, i16 11622, i16 0, i16 11623, i16 0, i16 11624, i16 0, i16 0, i16 0, i16 11625, i16 0, i16 11626, i16 6276, i16 0, i16 11627, i16 0, i16 6277, i16 11628, i16 0, i16 0, i16 0, i16 11629, i16 0, i16 11630, i16 0, i16 0, i16 7936, i16 1823, i16 4040, i16 0, i16 0, i16 0, i16 0, i16 7937, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7938, i16 4043, i16 0, i16 4048, i16 0, i16 0, i16 0, i16 4046, i16 4045, i16 7939, i16 0, i16 0, i16 8448, i16 8449, i16 0, i16 0, i16 8450, i16 0, i16 8451, i16 0, i16 8455, i16 4317, i16 4314, i16 0, i16 4316, i16 0, i16 3553, i16 8453, i16 4315, i16 0, i16 0, i16 8452, i16 0, i16 0, i16 0, i16 8454, i16 0, i16 0, i16 4305, i16 0, i16 0, i16 8456, i16 0, i16 0, i16 2310, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8927, i16 0, i16 0, i16 4643, i16 8928, i16 0, i16 8929, i16 8930, i16 8931, i16 8932, i16 0, i16 0, i16 0, i16 2725, i16 0, i16 8933, i16 8934, i16 8935, i16 8936, i16 0, i16 8937, i16 0, i16 0, i16 10759, i16 10760, i16 10761, i16 10762, i16 10763, i16 5714, i16 0, i16 0, i16 1368, i16 3077, i16 10764, i16 10765, i16 10766, i16 2420, i16 0, i16 3613, i16 2046, i16 0, i16 0, i16 5762, i16 0, i16 10767, i16 5724, i16 10768, i16 2343, i16 0, i16 5720, i16 5725, i16 5727, i16 0, i16 0, i16 0, i16 6161, i16 11432, i16 11433, i16 11434, i16 11435, i16 11436, i16 11437, i16 11438, i16 0, i16 11439, i16 11440, i16 3498, i16 0, i16 0, i16 11441, i16 0, i16 0, i16 11442, i16 0, i16 11443, i16 0, i16 11444, i16 11445, i16 11446, i16 0, i16 0, i16 0, i16 0, i16 11447, i16 6160, i16 0, i16 0, i16 8998, i16 4677, i16 4676, i16 0, i16 8999, i16 0, i16 0, i16 9000, i16 4644, i16 4678, i16 4666, i16 0, i16 9001, i16 1836, i16 0, i16 9002, i16 0, i16 0, i16 4679, i16 4680, i16 4682, i16 4681, i16 4683, i16 1027, i16 9003, i16 1613, i16 9004, i16 9005, i16 3281, i16 2264, i16 0, i16 0, i16 13103, i16 13104, i16 0, i16 0, i16 0, i16 7071, i16 7072, i16 13105, i16 0, i16 0, i16 0, i16 0, i16 2723, i16 13106, i16 13107, i16 13108, i16 13109, i16 1558, i16 13110, i16 7074, i16 13111, i16 13112, i16 0, i16 13113, i16 13114, i16 13115, i16 0, i16 0, i16 0, i16 13116, i16 0, i16 0, i16 1852, i16 10946, i16 0, i16 1337, i16 2289, i16 3697, i16 3391, i16 5865, i16 2301, i16 10947, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10948, i16 10949, i16 10950, i16 0, i16 1266, i16 5868, i16 10951, i16 0, i16 10952, i16 0, i16 0, i16 0, i16 4159, i16 0, i16 0, i16 8181, i16 8182, i16 0, i16 0, i16 3238, i16 4160, i16 8183, i16 8184, i16 0, i16 0, i16 971, i16 4161, i16 0, i16 8185, i16 8186, i16 8187, i16 3499, i16 1043, i16 0, i16 3939, i16 2007, i16 2468, i16 4162, i16 3452, i16 8189, i16 0, i16 0, i16 0, i16 0, i16 9280, i16 0, i16 0, i16 9281, i16 0, i16 0, i16 0, i16 9282, i16 3515, i16 0, i16 0, i16 0, i16 9283, i16 0, i16 0, i16 0, i16 0, i16 3181, i16 4862, i16 2479, i16 0, i16 9284, i16 0, i16 4868, i16 2374, i16 9285, i16 4859, i16 4872, i16 4871, i16 0, i16 0, i16 0, i16 334, i16 335, i16 0, i16 0, i16 332, i16 333, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5718, i16 5712, i16 0, i16 0, i16 10752, i16 10753, i16 0, i16 0, i16 10754, i16 5716, i16 1963, i16 806, i16 5711, i16 5719, i16 5723, i16 1634, i16 3431, i16 10755, i16 2679, i16 5713, i16 10756, i16 10757, i16 5721, i16 10758, i16 5710, i16 2561, i16 0, i16 5715, i16 774, i16 3419, i16 0, i16 0, i16 9566, i16 0, i16 0, i16 5052, i16 0, i16 9567, i16 2096, i16 0, i16 0, i16 0, i16 3487, i16 0, i16 5049, i16 0, i16 0, i16 9568, i16 9569, i16 5044, i16 9570, i16 5050, i16 9571, i16 9572, i16 9573, i16 3627, i16 0, i16 2802, i16 2847, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3942, i16 7777, i16 3458, i16 0, i16 0, i16 7778, i16 7779, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7780, i16 0, i16 0, i16 0, i16 0, i16 7781, i16 7782, i16 0, i16 3943, i16 0, i16 3615, i16 7783, i16 1589, i16 0, i16 0, i16 7784, i16 0, i16 1519, i16 0, i16 0, i16 9320, i16 0, i16 0, i16 9321, i16 0, i16 4903, i16 4896, i16 0, i16 0, i16 4909, i16 0, i16 4907, i16 9322, i16 9323, i16 0, i16 9324, i16 4902, i16 9325, i16 0, i16 9326, i16 0, i16 0, i16 0, i16 4901, i16 0, i16 2673, i16 0, i16 2412, i16 9327, i16 4899, i16 0, i16 0, i16 12650, i16 12651, i16 0, i16 12652, i16 12653, i16 1557, i16 0, i16 0, i16 12654, i16 6810, i16 12655, i16 0, i16 0, i16 6811, i16 6812, i16 6813, i16 0, i16 6815, i16 6814, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4205, i16 8279, i16 0, i16 8280, i16 3151, i16 8281, i16 0, i16 0, i16 4206, i16 0, i16 4201, i16 8282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8283, i16 0, i16 0, i16 8284, i16 8285, i16 0, i16 0, i16 8286, i16 3404, i16 0, i16 0, i16 2671, i16 2855, i16 880, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2331, i16 9194, i16 0, i16 2269, i16 1413, i16 0, i16 9195, i16 0, i16 0, i16 0, i16 9196, i16 4801, i16 9197, i16 0, i16 0, i16 12666, i16 6821, i16 6820, i16 12667, i16 6822, i16 0, i16 12668, i16 0, i16 0, i16 0, i16 12669, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3085, i16 5822, i16 0, i16 0, i16 2164, i16 0, i16 0, i16 12678, i16 6825, i16 0, i16 3440, i16 0, i16 12679, i16 12680, i16 6826, i16 3531, i16 0, i16 873, i16 0, i16 0, i16 0, i16 1812, i16 12681, i16 6827, i16 1011, i16 6828, i16 12682, i16 12683, i16 12684, i16 6829, i16 0, i16 12685, i16 12686, i16 12687, i16 6831, i16 6832, i16 12688, i16 0, i16 0, i16 7827, i16 0, i16 7828, i16 0, i16 7829, i16 7830, i16 1967, i16 7831, i16 1959, i16 7832, i16 0, i16 7833, i16 7834, i16 0, i16 3977, i16 3975, i16 0, i16 3380, i16 7835, i16 3972, i16 3981, i16 3976, i16 0, i16 0, i16 0, i16 3979, i16 1535, i16 3408, i16 0, i16 7836, i16 0, i16 0, i16 9623, i16 9624, i16 0, i16 0, i16 0, i16 3486, i16 9625, i16 0, i16 0, i16 5081, i16 0, i16 0, i16 5074, i16 2801, i16 0, i16 0, i16 5077, i16 9626, i16 0, i16 0, i16 5083, i16 0, i16 0, i16 0, i16 0, i16 9627, i16 0, i16 9628, i16 3708, i16 1903, i16 0, i16 0, i16 10135, i16 5355, i16 10136, i16 5354, i16 0, i16 0, i16 0, i16 0, i16 0, i16 893, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5363, i16 3073, i16 5357, i16 10137, i16 5359, i16 0, i16 0, i16 5361, i16 2185, i16 10138, i16 0, i16 5362, i16 5360, i16 1905, i16 10139, i16 0, i16 0, i16 7585, i16 3813, i16 7586, i16 3811, i16 7587, i16 2389, i16 7588, i16 7589, i16 0, i16 0, i16 0, i16 3812, i16 3814, i16 7590, i16 0, i16 7591, i16 7603, i16 0, i16 0, i16 3816, i16 7592, i16 0, i16 0, i16 3815, i16 7593, i16 3229, i16 0, i16 0, i16 7594, i16 0, i16 0, i16 0, i16 6307, i16 11695, i16 6305, i16 0, i16 11696, i16 2575, i16 11697, i16 11698, i16 11699, i16 2282, i16 1171, i16 6306, i16 0, i16 2214, i16 0, i16 11700, i16 3607, i16 11701, i16 11702, i16 11703, i16 3691, i16 11704, i16 0, i16 0, i16 6308, i16 6319, i16 2646, i16 11705, i16 6318, i16 11706, i16 0, i16 0, i16 12974, i16 6986, i16 0, i16 0, i16 6987, i16 2843, i16 6984, i16 6983, i16 0, i16 12973, i16 0, i16 0, i16 943, i16 0, i16 0, i16 12975, i16 6995, i16 0, i16 0, i16 6994, i16 0, i16 12976, i16 12977, i16 0, i16 0, i16 924, i16 12978, i16 12979, i16 12980, i16 6992, i16 0, i16 0, i16 1714, i16 0, i16 0, i16 10326, i16 10327, i16 0, i16 0, i16 10328, i16 0, i16 0, i16 5472, i16 10329, i16 10330, i16 0, i16 0, i16 10331, i16 5473, i16 0, i16 1503, i16 1738, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10332, i16 0, i16 0, i16 0, i16 0, i16 9906, i16 0, i16 9907, i16 9908, i16 0, i16 9909, i16 0, i16 0, i16 5255, i16 9910, i16 0, i16 9911, i16 0, i16 0, i16 0, i16 0, i16 9912, i16 9913, i16 0, i16 0, i16 5257, i16 5254, i16 9914, i16 9915, i16 0, i16 3429, i16 5256, i16 5258, i16 9916, i16 3601, i16 0, i16 0, i16 4280, i16 7388, i16 0, i16 0, i16 0, i16 0, i16 7389, i16 7390, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3551, i16 0, i16 2906, i16 7391, i16 7392, i16 0, i16 0, i16 0, i16 7393, i16 0, i16 0, i16 0, i16 0, i16 1126, i16 7394, i16 0, i16 0, i16 9401, i16 9402, i16 3554, i16 4948, i16 9403, i16 9404, i16 0, i16 9405, i16 4900, i16 0, i16 0, i16 0, i16 0, i16 9406, i16 9407, i16 9408, i16 4951, i16 0, i16 0, i16 0, i16 4952, i16 9409, i16 0, i16 0, i16 0, i16 9410, i16 0, i16 860, i16 9411, i16 4954, i16 0, i16 0, i16 2749, i16 6472, i16 0, i16 0, i16 0, i16 0, i16 11939, i16 0, i16 0, i16 6475, i16 0, i16 11946, i16 11940, i16 0, i16 11941, i16 11942, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11943, i16 1893, i16 11944, i16 11945, i16 6474, i16 6473, i16 1461, i16 6476, i16 0, i16 0, i16 0, i16 9917, i16 0, i16 9918, i16 5262, i16 0, i16 9919, i16 9920, i16 5261, i16 2617, i16 2920, i16 9921, i16 0, i16 1502, i16 5260, i16 0, i16 9922, i16 9923, i16 0, i16 5259, i16 9924, i16 3488, i16 3489, i16 0, i16 0, i16 9925, i16 9926, i16 0, i16 9927, i16 5263, i16 917, i16 0, i16 0, i16 5579, i16 0, i16 5592, i16 0, i16 5582, i16 10551, i16 1287, i16 0, i16 5581, i16 5594, i16 0, i16 0, i16 0, i16 5580, i16 0, i16 2109, i16 0, i16 0, i16 10552, i16 0, i16 0, i16 0, i16 5584, i16 5585, i16 0, i16 2730, i16 0, i16 0, i16 5586, i16 10553, i16 0, i16 0, i16 7119, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 360, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6868, i16 0, i16 0, i16 0, i16 0, i16 12737, i16 0, i16 0, i16 12738, i16 12739, i16 12740, i16 6859, i16 6860, i16 0, i16 12741, i16 6861, i16 6862, i16 0, i16 12742, i16 12743, i16 0, i16 0, i16 6864, i16 12744, i16 0, i16 6863, i16 0, i16 12745, i16 12746, i16 2024, i16 0, i16 0, i16 4310, i16 8439, i16 8440, i16 0, i16 8441, i16 8442, i16 0, i16 3277, i16 0, i16 8438, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8443, i16 0, i16 0, i16 8444, i16 0, i16 0, i16 0, i16 0, i16 8445, i16 0, i16 0, i16 0, i16 8446, i16 0, i16 8447, i16 0, i16 0, i16 2523, i16 0, i16 10008, i16 5286, i16 10009, i16 0, i16 10010, i16 10011, i16 10012, i16 10013, i16 10014, i16 10015, i16 10016, i16 10017, i16 10018, i16 10019, i16 5288, i16 3619, i16 1364, i16 3093, i16 2949, i16 0, i16 0, i16 10020, i16 5289, i16 0, i16 0, i16 0, i16 0, i16 5291, i16 0, i16 0, i16 6368, i16 0, i16 0, i16 6370, i16 11784, i16 11785, i16 0, i16 6369, i16 6371, i16 11786, i16 3321, i16 6372, i16 6373, i16 0, i16 11787, i16 0, i16 11788, i16 11789, i16 6374, i16 0, i16 0, i16 0, i16 6376, i16 11790, i16 0, i16 11791, i16 11792, i16 1040, i16 2696, i16 0, i16 0, i16 0, i16 7648, i16 0, i16 2257, i16 3861, i16 2025, i16 0, i16 7649, i16 3862, i16 0, i16 2623, i16 3596, i16 2783, i16 0, i16 7650, i16 0, i16 7651, i16 7652, i16 7653, i16 0, i16 7654, i16 3935, i16 0, i16 7655, i16 0, i16 0, i16 3863, i16 7099, i16 1346, i16 7656, i16 0, i16 0, i16 0, i16 6882, i16 0, i16 6884, i16 6883, i16 0, i16 0, i16 0, i16 6885, i16 6887, i16 6886, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 745, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 735, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8685, i16 0, i16 8686, i16 2141, i16 4477, i16 2868, i16 8687, i16 8688, i16 8689, i16 8690, i16 0, i16 0, i16 8691, i16 8692, i16 0, i16 3698, i16 0, i16 4473, i16 8693, i16 8694, i16 0, i16 0, i16 4479, i16 8695, i16 1682, i16 8696, i16 2292, i16 8697, i16 8698, i16 797, i16 0, i16 0, i16 4592, i16 0, i16 8825, i16 2551, i16 4586, i16 4593, i16 4588, i16 4595, i16 4591, i16 0, i16 4590, i16 2986, i16 8826, i16 4584, i16 1026, i16 4582, i16 1296, i16 2520, i16 4578, i16 8827, i16 8828, i16 4581, i16 1611, i16 2308, i16 8829, i16 2084, i16 4589, i16 2957, i16 0, i16 0, i16 0, i16 0, i16 1265, i16 2324, i16 1901, i16 3479, i16 4245, i16 0, i16 8355, i16 8356, i16 0, i16 0, i16 8357, i16 8358, i16 1275, i16 8359, i16 1728, i16 8360, i16 8361, i16 1045, i16 906, i16 2073, i16 973, i16 8362, i16 4246, i16 3509, i16 8363, i16 0, i16 8364, i16 0, i16 0, i16 2008, i16 0, i16 0, i16 3570, i16 2894, i16 0, i16 0, i16 0, i16 0, i16 850, i16 12532, i16 2316, i16 1895, i16 0, i16 0, i16 0, i16 12533, i16 3212, i16 12534, i16 871, i16 0, i16 0, i16 0, i16 3642, i16 3546, i16 0, i16 6745, i16 12535, i16 2756, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7672, i16 0, i16 3030, i16 3233, i16 0, i16 3875, i16 7673, i16 3559, i16 3876, i16 0, i16 0, i16 0, i16 3877, i16 0, i16 2813, i16 7674, i16 7675, i16 3878, i16 0, i16 7676, i16 2258, i16 1779, i16 1487, i16 3879, i16 1820, i16 1670, i16 7677, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3834, i16 0, i16 7631, i16 2907, i16 7632, i16 0, i16 2363, i16 3836, i16 3837, i16 3013, i16 1585, i16 3686, i16 3838, i16 0, i16 0, i16 1315, i16 0, i16 0, i16 0, i16 3217, i16 2459, i16 1390, i16 2740, i16 0, i16 0, i16 0, i16 1486, i16 0, i16 7633, i16 0, i16 0, i16 0, i16 13052, i16 0, i16 0, i16 0, i16 0, i16 13053, i16 0, i16 0, i16 13051, i16 0, i16 0, i16 0, i16 13054, i16 0, i16 13055, i16 13056, i16 13057, i16 0, i16 0, i16 13058, i16 13059, i16 0, i16 0, i16 13060, i16 7032, i16 7033, i16 13061, i16 13062, i16 7034, i16 0, i16 0, i16 0, i16 9469, i16 0, i16 9470, i16 9471, i16 0, i16 0, i16 4997, i16 9472, i16 0, i16 0, i16 0, i16 9473, i16 9474, i16 1844, i16 9475, i16 3394, i16 9476, i16 4998, i16 4999, i16 0, i16 0, i16 1219, i16 0, i16 9477, i16 0, i16 5000, i16 0, i16 0, i16 0, i16 9478, i16 0, i16 2304, i16 0, i16 6423, i16 11858, i16 11859, i16 0, i16 11860, i16 1554, i16 0, i16 6420, i16 6421, i16 11861, i16 0, i16 0, i16 3668, i16 11862, i16 11864, i16 11865, i16 2648, i16 11866, i16 2352, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6424, i16 11867, i16 0, i16 6427, i16 0, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 0, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 520, i16 521, i16 522, i16 523, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 0, i16 1028, i16 1703, i16 6923, i16 6922, i16 3382, i16 0, i16 0, i16 12844, i16 0, i16 0, i16 12845, i16 12846, i16 6925, i16 6926, i16 6924, i16 0, i16 6927, i16 0, i16 0, i16 3349, i16 12847, i16 12848, i16 12849, i16 6928, i16 0, i16 1306, i16 12850, i16 0, i16 0, i16 12851, i16 0, i16 0, i16 6661, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6659, i16 0, i16 0, i16 12412, i16 12413, i16 0, i16 12414, i16 12415, i16 12416, i16 12417, i16 6660, i16 6658, i16 0, i16 2525, i16 0, i16 6662, i16 12418, i16 0, i16 12420, i16 0, i16 12419, i16 0, i16 12549, i16 6764, i16 12550, i16 6761, i16 0, i16 6762, i16 0, i16 6763, i16 6765, i16 12551, i16 0, i16 0, i16 0, i16 12552, i16 12553, i16 0, i16 0, i16 2285, i16 0, i16 0, i16 12554, i16 3464, i16 12555, i16 12556, i16 2286, i16 12557, i16 12558, i16 6766, i16 0, i16 3084, i16 0, i16 0, i16 6663, i16 0, i16 12421, i16 6665, i16 12422, i16 0, i16 0, i16 12423, i16 0, i16 12424, i16 0, i16 12425, i16 0, i16 0, i16 0, i16 0, i16 1174, i16 6664, i16 3467, i16 0, i16 12426, i16 0, i16 0, i16 0, i16 12427, i16 6676, i16 6666, i16 12428, i16 0, i16 6669, i16 12429, i16 0, i16 4105, i16 8057, i16 0, i16 1690, i16 8058, i16 2550, i16 8059, i16 8060, i16 4102, i16 2683, i16 8061, i16 0, i16 8062, i16 8063, i16 8064, i16 8065, i16 8066, i16 0, i16 8067, i16 8068, i16 8069, i16 0, i16 8070, i16 0, i16 8071, i16 8072, i16 8073, i16 8074, i16 0, i16 8075, i16 4106, i16 0, i16 6409, i16 11827, i16 0, i16 11828, i16 2647, i16 0, i16 0, i16 11829, i16 0, i16 898, i16 0, i16 0, i16 11830, i16 0, i16 0, i16 11831, i16 11832, i16 0, i16 0, i16 0, i16 11833, i16 0, i16 0, i16 0, i16 6410, i16 0, i16 0, i16 0, i16 0, i16 11834, i16 11835, i16 0, i16 3338, i16 2521, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3370, i16 0, i16 0, i16 5024, i16 0, i16 9517, i16 5025, i16 9518, i16 980, i16 9519, i16 0, i16 0, i16 0, i16 3197, i16 3470, i16 5027, i16 1876, i16 2095, i16 5020, i16 5026, i16 911, i16 0, i16 3595, i16 0, i16 7373, i16 7374, i16 0, i16 3223, i16 0, i16 7375, i16 0, i16 3714, i16 7376, i16 0, i16 2601, i16 7377, i16 7378, i16 7379, i16 3715, i16 1399, i16 0, i16 0, i16 7380, i16 3716, i16 0, i16 1182, i16 2547, i16 0, i16 1944, i16 3717, i16 0, i16 0, i16 3718, i16 0, i16 4364, i16 4365, i16 2956, i16 0, i16 0, i16 8542, i16 0, i16 4366, i16 3652, i16 3672, i16 8544, i16 8543, i16 0, i16 8545, i16 4368, i16 4367, i16 8546, i16 8547, i16 1066, i16 8548, i16 8549, i16 4369, i16 0, i16 0, i16 0, i16 4372, i16 4373, i16 8550, i16 4371, i16 8551, i16 3127, i16 0, i16 1549, i16 1851, i16 0, i16 0, i16 3079, i16 10923, i16 10924, i16 0, i16 1507, i16 3318, i16 10925, i16 5857, i16 5855, i16 0, i16 1637, i16 0, i16 1638, i16 818, i16 0, i16 1757, i16 0, i16 0, i16 0, i16 10926, i16 10927, i16 2964, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3599, i16 9227, i16 4820, i16 9228, i16 2970, i16 9229, i16 0, i16 9230, i16 0, i16 0, i16 0, i16 0, i16 4828, i16 0, i16 4815, i16 0, i16 0, i16 0, i16 765, i16 4817, i16 0, i16 9231, i16 1619, i16 9232, i16 0, i16 9233, i16 4819, i16 9234, i16 4818, i16 0, i16 4814, i16 0, i16 4879, i16 0, i16 4887, i16 0, i16 9315, i16 0, i16 7096, i16 9316, i16 0, i16 4884, i16 1620, i16 2665, i16 2411, i16 4882, i16 0, i16 4877, i16 9317, i16 0, i16 4880, i16 0, i16 0, i16 9318, i16 9319, i16 3516, i16 3357, i16 0, i16 0, i16 0, i16 4885, i16 4895, i16 0, i16 0, i16 11023, i16 11024, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11025, i16 5925, i16 1641, i16 5926, i16 3045, i16 0, i16 5940, i16 0, i16 0, i16 0, i16 11026, i16 5928, i16 11027, i16 2478, i16 2992, i16 1528, i16 5927, i16 2348, i16 11028, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5395, i16 5396, i16 0, i16 10200, i16 10201, i16 0, i16 5400, i16 5397, i16 5398, i16 5399, i16 0, i16 5401, i16 10202, i16 10203, i16 10204, i16 5402, i16 10205, i16 5403, i16 0, i16 10206, i16 0, i16 5404, i16 0, i16 5405, i16 0, i16 3016, i16 2767, i16 5406, i16 2989, i16 3115, i16 0, i16 0, i16 8468, i16 4323, i16 8469, i16 4322, i16 0, i16 0, i16 4321, i16 8470, i16 0, i16 8471, i16 2791, i16 4300, i16 0, i16 0, i16 0, i16 4329, i16 0, i16 8472, i16 8473, i16 8474, i16 8475, i16 0, i16 0, i16 0, i16 8476, i16 0, i16 8477, i16 0, i16 4325, i16 0, i16 8478, i16 0, i16 6679, i16 0, i16 12440, i16 12439, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1304, i16 3121, i16 0, i16 9655, i16 0, i16 1904, i16 0, i16 9656, i16 1678, i16 9657, i16 0, i16 9658, i16 9659, i16 0, i16 3678, i16 0, i16 5110, i16 0, i16 5122, i16 912, i16 2413, i16 9660, i16 0, i16 9661, i16 0, i16 9662, i16 9663, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8729, i16 4504, i16 0, i16 4505, i16 8730, i16 8731, i16 4494, i16 1871, i16 8732, i16 4498, i16 2491, i16 1609, i16 4480, i16 2176, i16 0, i16 0, i16 0, i16 0, i16 4518, i16 0, i16 3262, i16 0, i16 0, i16 4508, i16 4509, i16 4510, i16 0, i16 0, i16 4517, i16 8733, i16 4516, i16 0, i16 9757, i16 0, i16 0, i16 0, i16 9758, i16 9759, i16 0, i16 0, i16 3666, i16 2225, i16 0, i16 0, i16 0, i16 913, i16 0, i16 0, i16 0, i16 5174, i16 0, i16 9760, i16 9761, i16 9762, i16 9763, i16 9764, i16 5173, i16 0, i16 9765, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7458, i16 7459, i16 1127, i16 7460, i16 7461, i16 3762, i16 0, i16 3754, i16 7462, i16 7463, i16 3632, i16 7464, i16 1867, i16 7465, i16 3755, i16 7466, i16 3760, i16 7467, i16 7468, i16 7469, i16 0, i16 3763, i16 7470, i16 3756, i16 7471, i16 7472, i16 1310, i16 0, i16 790, i16 7473, i16 7474, i16 0, i16 11555, i16 6226, i16 0, i16 6231, i16 0, i16 11556, i16 3192, i16 0, i16 0, i16 6233, i16 0, i16 6232, i16 11557, i16 11558, i16 11559, i16 1103, i16 0, i16 3294, i16 6234, i16 0, i16 11560, i16 11561, i16 0, i16 11562, i16 11563, i16 11564, i16 0, i16 11565, i16 6246, i16 6236, i16 0, i16 0, i16 1572, i16 0, i16 0, i16 0, i16 0, i16 5480, i16 2711, i16 0, i16 0, i16 10359, i16 0, i16 5483, i16 1050, i16 5478, i16 10360, i16 0, i16 3075, i16 0, i16 855, i16 10361, i16 1761, i16 0, i16 3709, i16 10362, i16 0, i16 5482, i16 0, i16 0, i16 10364, i16 10365, i16 10366, i16 0, i16 6950, i16 6947, i16 6946, i16 6948, i16 12905, i16 0, i16 12906, i16 1466, i16 0, i16 12907, i16 12908, i16 0, i16 0, i16 0, i16 12909, i16 6954, i16 6953, i16 6952, i16 12910, i16 0, i16 764, i16 0, i16 12911, i16 12912, i16 12913, i16 12914, i16 0, i16 0, i16 12915, i16 0, i16 12916, i16 0, i16 2856, i16 4921, i16 0, i16 9357, i16 0, i16 4923, i16 9358, i16 0, i16 0, i16 9359, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9360, i16 4917, i16 9361, i16 0, i16 0, i16 0, i16 0, i16 4919, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9362, i16 1091, i16 0, i16 11816, i16 0, i16 11817, i16 6393, i16 6394, i16 0, i16 6396, i16 2440, i16 11818, i16 6395, i16 1191, i16 0, i16 6398, i16 0, i16 6397, i16 6399, i16 0, i16 11819, i16 6401, i16 6403, i16 0, i16 6404, i16 11820, i16 0, i16 0, i16 0, i16 11821, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6188, i16 6187, i16 6118, i16 0, i16 0, i16 0, i16 6192, i16 11497, i16 0, i16 0, i16 0, i16 0, i16 11498, i16 11499, i16 0, i16 11500, i16 6189, i16 11501, i16 0, i16 0, i16 11502, i16 6190, i16 0, i16 0, i16 6191, i16 11503, i16 6193, i16 11504, i16 0, i16 0, i16 0, i16 0, i16 8237, i16 0, i16 8238, i16 8239, i16 0, i16 4188, i16 0, i16 8240, i16 1827, i16 8241, i16 1826, i16 0, i16 8242, i16 0, i16 0, i16 770, i16 1537, i16 8243, i16 2260, i16 794, i16 0, i16 0, i16 0, i16 0, i16 4192, i16 4193, i16 0, i16 4190, i16 8244, i16 8245, i16 8246, i16 0, i16 4912, i16 4937, i16 4936, i16 0, i16 0, i16 9383, i16 0, i16 9385, i16 9384, i16 0, i16 0, i16 9386, i16 0, i16 0, i16 0, i16 9387, i16 4942, i16 0, i16 3665, i16 9388, i16 9389, i16 9390, i16 0, i16 0, i16 0, i16 4945, i16 1400, i16 9391, i16 9392, i16 4941, i16 4943, i16 0, i16 12592, i16 0, i16 6789, i16 12593, i16 12594, i16 6790, i16 12595, i16 6791, i16 12596, i16 12597, i16 6792, i16 12598, i16 12599, i16 12600, i16 0, i16 12601, i16 12602, i16 0, i16 1179, i16 12603, i16 0, i16 0, i16 12604, i16 12605, i16 12606, i16 0, i16 12610, i16 6793, i16 12607, i16 12608, i16 0, i16 0, i16 819, i16 0, i16 12066, i16 12067, i16 12068, i16 0, i16 12069, i16 12070, i16 0, i16 1648, i16 0, i16 12064, i16 0, i16 3685, i16 0, i16 0, i16 0, i16 12079, i16 0, i16 0, i16 12071, i16 0, i16 12072, i16 12073, i16 12074, i16 0, i16 6560, i16 12075, i16 12076, i16 0, i16 12077, i16 0, i16 6451, i16 11911, i16 11912, i16 6454, i16 6453, i16 0, i16 6452, i16 0, i16 11913, i16 6456, i16 6455, i16 0, i16 3463, i16 0, i16 0, i16 11914, i16 6458, i16 11915, i16 6457, i16 6459, i16 11916, i16 0, i16 0, i16 0, i16 6460, i16 11917, i16 11918, i16 0, i16 11919, i16 11920, i16 0, i16 0, i16 1332, i16 9520, i16 0, i16 5017, i16 5022, i16 9521, i16 0, i16 0, i16 2333, i16 2988, i16 0, i16 3072, i16 9522, i16 0, i16 9523, i16 9524, i16 9525, i16 9526, i16 5019, i16 9527, i16 3284, i16 9528, i16 5021, i16 0, i16 5030, i16 9529, i16 5028, i16 9530, i16 5023, i16 0, i16 0, i16 0, i16 6708, i16 12480, i16 0, i16 12481, i16 12482, i16 12483, i16 0, i16 6709, i16 0, i16 1754, i16 0, i16 12484, i16 0, i16 6710, i16 6711, i16 0, i16 12485, i16 3324, i16 12486, i16 0, i16 0, i16 0, i16 12487, i16 12488, i16 12489, i16 12490, i16 2386, i16 12491, i16 12492, i16 0, i16 749, i16 0, i16 12852, i16 0, i16 12853, i16 0, i16 12854, i16 12855, i16 0, i16 12856, i16 0, i16 12857, i16 12858, i16 12859, i16 12860, i16 12861, i16 3664, i16 0, i16 0, i16 0, i16 12862, i16 6929, i16 12863, i16 0, i16 12864, i16 12865, i16 12866, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12867, i16 0, i16 10805, i16 10806, i16 0, i16 0, i16 10807, i16 5742, i16 5750, i16 0, i16 5758, i16 5757, i16 10808, i16 0, i16 3373, i16 10809, i16 10810, i16 1414, i16 0, i16 0, i16 10811, i16 0, i16 0, i16 0, i16 0, i16 10812, i16 5756, i16 0, i16 5760, i16 5759, i16 5763, i16 10813, i16 5765, i16 0, i16 2872, i16 2230, i16 12031, i16 12032, i16 2588, i16 0, i16 1397, i16 0, i16 6536, i16 3494, i16 870, i16 12033, i16 3244, i16 998, i16 6531, i16 6532, i16 6533, i16 6534, i16 2840, i16 2534, i16 812, i16 6538, i16 0, i16 6539, i16 7097, i16 0, i16 12034, i16 2466, i16 12035, i16 6540, i16 0, i16 0, i16 6969, i16 12928, i16 12929, i16 6968, i16 6967, i16 12930, i16 12931, i16 12932, i16 12933, i16 12934, i16 0, i16 0, i16 3136, i16 6965, i16 828, i16 6970, i16 12935, i16 6972, i16 0, i16 0, i16 12936, i16 12937, i16 12938, i16 0, i16 1106, i16 6951, i16 862, i16 0, i16 12939, i16 6974, i16 0, i16 0, i16 9018, i16 4694, i16 4695, i16 0, i16 9019, i16 0, i16 3213, i16 4241, i16 2287, i16 9020, i16 0, i16 3139, i16 0, i16 1741, i16 0, i16 3070, i16 3036, i16 9021, i16 0, i16 0, i16 9022, i16 0, i16 2764, i16 9023, i16 3598, i16 0, i16 4697, i16 1921, i16 9024, i16 0, i16 4698, i16 0, i16 1341, i16 12391, i16 0, i16 6651, i16 6645, i16 12392, i16 12393, i16 6644, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12395, i16 12396, i16 12394, i16 12397, i16 12398, i16 0, i16 12399, i16 0, i16 0, i16 0, i16 6462, i16 11921, i16 0, i16 0, i16 0, i16 0, i16 11922, i16 0, i16 11923, i16 6461, i16 2195, i16 6463, i16 11924, i16 11925, i16 1386, i16 6464, i16 6466, i16 0, i16 11926, i16 0, i16 11927, i16 0, i16 0, i16 0, i16 0, i16 11928, i16 11929, i16 0, i16 0, i16 6467, i16 0, i16 0, i16 10814, i16 1807, i16 5761, i16 0, i16 0, i16 10815, i16 10816, i16 5766, i16 5767, i16 10817, i16 0, i16 5768, i16 10818, i16 5774, i16 2746, i16 5770, i16 10819, i16 5769, i16 5771, i16 5772, i16 10820, i16 5773, i16 0, i16 10821, i16 0, i16 10822, i16 5775, i16 5776, i16 10823, i16 10824, i16 0, i16 0, i16 11328, i16 6096, i16 0, i16 0, i16 0, i16 0, i16 11329, i16 0, i16 11330, i16 0, i16 0, i16 0, i16 3557, i16 0, i16 5430, i16 6098, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11331, i16 0, i16 11332, i16 0, i16 11333, i16 0, i16 11334, i16 11335, i16 0, i16 6099, i16 0, i16 8772, i16 8773, i16 4542, i16 0, i16 8776, i16 4541, i16 8774, i16 0, i16 8775, i16 0, i16 0, i16 8777, i16 8778, i16 0, i16 8779, i16 0, i16 0, i16 2633, i16 0, i16 4545, i16 0, i16 4543, i16 4533, i16 1495, i16 0, i16 4544, i16 0, i16 4548, i16 4547, i16 4549, i16 4546, i16 0, i16 9798, i16 0, i16 0, i16 0, i16 9799, i16 9800, i16 9801, i16 0, i16 3656, i16 9802, i16 9803, i16 5194, i16 0, i16 2338, i16 0, i16 9804, i16 0, i16 9805, i16 0, i16 0, i16 5190, i16 5195, i16 9806, i16 0, i16 915, i16 9807, i16 0, i16 9808, i16 0, i16 9809, i16 0, i16 0, i16 2122, i16 6364, i16 11773, i16 11774, i16 0, i16 11775, i16 0, i16 11776, i16 11777, i16 1666, i16 3724, i16 6365, i16 11778, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11779, i16 0, i16 11780, i16 11781, i16 0, i16 6366, i16 3126, i16 6367, i16 11782, i16 6375, i16 0, i16 11783, i16 0, i16 0, i16 1355, i16 1412, i16 5657, i16 0, i16 0, i16 10668, i16 10669, i16 0, i16 3209, i16 0, i16 2227, i16 0, i16 3393, i16 0, i16 10670, i16 5658, i16 0, i16 3584, i16 0, i16 10671, i16 2991, i16 0, i16 2381, i16 2927, i16 0, i16 0, i16 2012, i16 0, i16 0, i16 10672, i16 777, i16 0, i16 13131, i16 0, i16 13132, i16 13133, i16 13134, i16 13135, i16 13136, i16 0, i16 0, i16 7078, i16 5519, i16 0, i16 0, i16 6400, i16 6795, i16 0, i16 0, i16 7079, i16 13137, i16 7080, i16 13138, i16 13139, i16 13140, i16 13141, i16 0, i16 13142, i16 0, i16 0, i16 13143, i16 13144, i16 7082, i16 0, i16 12365, i16 0, i16 12366, i16 12367, i16 0, i16 12368, i16 1054, i16 12369, i16 12375, i16 0, i16 12370, i16 6638, i16 6639, i16 2660, i16 0, i16 6637, i16 0, i16 0, i16 0, i16 12371, i16 12372, i16 12373, i16 0, i16 0, i16 6641, i16 12374, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1872, i16 4600, i16 8835, i16 8836, i16 0, i16 0, i16 1835, i16 4601, i16 781, i16 8837, i16 8838, i16 4596, i16 8839, i16 0, i16 0, i16 8840, i16 2634, i16 0, i16 8841, i16 0, i16 0, i16 8842, i16 0, i16 8843, i16 1298, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1329, i16 0, i16 1618, i16 1119, i16 0, i16 0, i16 0, i16 0, i16 9199, i16 9198, i16 4803, i16 1111, i16 4809, i16 9200, i16 9201, i16 0, i16 9202, i16 9203, i16 9204, i16 4806, i16 9205, i16 2332, i16 0, i16 0, i16 0, i16 1070, i16 1697, i16 0, i16 9206, i16 1069, i16 1732, i16 0, i16 9207, i16 0, i16 6996, i16 12990, i16 12991, i16 6993, i16 12988, i16 6999, i16 12992, i16 7000, i16 0, i16 12993, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7005, i16 7004, i16 0, i16 12994, i16 12995, i16 0, i16 0, i16 0, i16 0, i16 7006, i16 0, i16 0, i16 852, i16 7001, i16 7002, i16 12996, i16 0, i16 4182, i16 2908, i16 3063, i16 3426, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2912, i16 8220, i16 8221, i16 4191, i16 8222, i16 0, i16 0, i16 0, i16 8223, i16 1239, i16 0, i16 8224, i16 3508, i16 8225, i16 0, i16 3392, i16 0, i16 4286, i16 0, i16 4183, i16 0, i16 8226, i16 0, i16 1880, i16 0, i16 0, i16 0, i16 5494, i16 5489, i16 10378, i16 10379, i16 10380, i16 5495, i16 5490, i16 10381, i16 0, i16 10382, i16 0, i16 3057, i16 5488, i16 10383, i16 10384, i16 5491, i16 10385, i16 10386, i16 0, i16 0, i16 0, i16 5498, i16 10388, i16 0, i16 0, i16 0, i16 10389, i16 0, i16 9560, i16 0, i16 5043, i16 5045, i16 9561, i16 865, i16 9562, i16 0, i16 1623, i16 3677, i16 0, i16 1056, i16 0, i16 3161, i16 9563, i16 9564, i16 0, i16 0, i16 0, i16 3536, i16 0, i16 0, i16 1031, i16 2182, i16 5047, i16 0, i16 0, i16 9565, i16 0, i16 0, i16 0, i16 0, i16 12376, i16 0, i16 6647, i16 12377, i16 12378, i16 12379, i16 12380, i16 6650, i16 12381, i16 12382, i16 12383, i16 12384, i16 12385, i16 0, i16 0, i16 6649, i16 2732, i16 0, i16 12386, i16 0, i16 0, i16 6642, i16 6643, i16 6646, i16 12387, i16 0, i16 0, i16 12388, i16 6648, i16 12389, i16 12390, i16 0, i16 11868, i16 0, i16 0, i16 11869, i16 11870, i16 11871, i16 0, i16 6425, i16 6426, i16 3528, i16 11872, i16 0, i16 0, i16 0, i16 2820, i16 6430, i16 11873, i16 0, i16 0, i16 11874, i16 0, i16 11875, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6428, i16 6429, i16 6431, i16 0, i16 12126, i16 2216, i16 6569, i16 12127, i16 6570, i16 0, i16 12128, i16 0, i16 6571, i16 3550, i16 0, i16 1990, i16 12129, i16 0, i16 0, i16 0, i16 0, i16 6573, i16 6572, i16 12130, i16 1649, i16 0, i16 1674, i16 1811, i16 12131, i16 12132, i16 12133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4703, i16 9033, i16 4701, i16 4704, i16 3590, i16 4702, i16 0, i16 9034, i16 9035, i16 0, i16 2340, i16 4705, i16 0, i16 9036, i16 2455, i16 9037, i16 0, i16 4706, i16 0, i16 9038, i16 0, i16 9039, i16 1211, i16 9040, i16 4708, i16 0, i16 4707, i16 0, i16 0, i16 0, i16 9041, i16 0, i16 11104, i16 11105, i16 5986, i16 0, i16 0, i16 0, i16 0, i16 826, i16 0, i16 0, i16 5977, i16 11106, i16 11107, i16 11108, i16 5976, i16 11109, i16 5971, i16 5970, i16 11110, i16 5968, i16 5967, i16 2598, i16 11111, i16 2528, i16 5973, i16 11112, i16 0, i16 11113, i16 11114, i16 0, i16 0, i16 0, i16 11364, i16 0, i16 6107, i16 2941, i16 0, i16 11365, i16 11366, i16 11367, i16 6108, i16 6109, i16 6119, i16 0, i16 11368, i16 0, i16 6113, i16 6116, i16 11369, i16 0, i16 11370, i16 11371, i16 11372, i16 6112, i16 11373, i16 11374, i16 11375, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11376, i16 0, i16 12134, i16 6576, i16 12135, i16 0, i16 12136, i16 12137, i16 2037, i16 0, i16 6575, i16 12138, i16 6574, i16 0, i16 2510, i16 12139, i16 0, i16 1576, i16 12140, i16 2284, i16 12141, i16 12142, i16 12143, i16 0, i16 3017, i16 12144, i16 0, i16 0, i16 0, i16 1992, i16 0, i16 12145, i16 0, i16 0, i16 4458, i16 8665, i16 4461, i16 4463, i16 0, i16 8666, i16 0, i16 8667, i16 1902, i16 8668, i16 4469, i16 2705, i16 4459, i16 8669, i16 0, i16 0, i16 8670, i16 4467, i16 8671, i16 1022, i16 8672, i16 4465, i16 4466, i16 8673, i16 0, i16 4462, i16 4464, i16 0, i16 8674, i16 8675, i16 1568, i16 0, i16 7018, i16 7024, i16 13030, i16 7017, i16 0, i16 7022, i16 13031, i16 0, i16 13032, i16 13033, i16 0, i16 0, i16 0, i16 0, i16 7023, i16 0, i16 0, i16 0, i16 7026, i16 13034, i16 13035, i16 13036, i16 13037, i16 0, i16 7025, i16 13038, i16 0, i16 0, i16 0, i16 13039, i16 13040, i16 0, i16 10858, i16 10859, i16 5804, i16 1421, i16 0, i16 10860, i16 0, i16 2345, i16 1248, i16 10861, i16 0, i16 0, i16 10862, i16 5808, i16 5805, i16 0, i16 0, i16 5806, i16 0, i16 10863, i16 0, i16 5809, i16 0, i16 5810, i16 5807, i16 0, i16 0, i16 10864, i16 848, i16 0, i16 10865, i16 0, i16 3180, i16 2325, i16 0, i16 1918, i16 4261, i16 2074, i16 4262, i16 4263, i16 796, i16 2463, i16 2205, i16 8379, i16 4264, i16 2832, i16 2075, i16 0, i16 2076, i16 0, i16 4265, i16 0, i16 0, i16 2326, i16 8380, i16 0, i16 0, i16 2077, i16 0, i16 0, i16 0, i16 8381, i16 8382, i16 0, i16 12400, i16 12401, i16 6655, i16 12402, i16 0, i16 0, i16 6656, i16 12403, i16 12404, i16 0, i16 0, i16 0, i16 12405, i16 12406, i16 12407, i16 6657, i16 0, i16 0, i16 6654, i16 6653, i16 12408, i16 12409, i16 12410, i16 2127, i16 2823, i16 6652, i16 0, i16 0, i16 0, i16 0, i16 12411, i16 0, i16 8562, i16 8563, i16 8564, i16 8565, i16 3456, i16 1522, i16 1541, i16 8566, i16 4392, i16 0, i16 8567, i16 8568, i16 4393, i16 8569, i16 4399, i16 8570, i16 1942, i16 0, i16 0, i16 8571, i16 2630, i16 8572, i16 1324, i16 4394, i16 0, i16 0, i16 8573, i16 3106, i16 8574, i16 2569, i16 8575, i16 0, i16 12146, i16 6577, i16 0, i16 2124, i16 0, i16 12147, i16 0, i16 12148, i16 0, i16 6580, i16 6578, i16 12149, i16 12150, i16 12151, i16 6579, i16 12152, i16 12153, i16 12154, i16 12155, i16 6582, i16 6581, i16 12156, i16 0, i16 2151, i16 0, i16 6583, i16 12157, i16 12158, i16 12159, i16 0, i16 12160, i16 0, i16 3960, i16 7810, i16 1256, i16 1065, i16 0, i16 0, i16 0, i16 1662, i16 1255, i16 2688, i16 844, i16 2830, i16 3407, i16 1592, i16 3560, i16 2758, i16 1591, i16 0, i16 7811, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7812, i16 1418, i16 0, i16 3969, i16 0, i16 1376, i16 0, i16 3705, i16 11299, i16 0, i16 0, i16 0, i16 0, i16 11300, i16 0, i16 6080, i16 11301, i16 11302, i16 0, i16 3556, i16 11303, i16 6082, i16 6084, i16 0, i16 0, i16 0, i16 0, i16 6085, i16 0, i16 0, i16 11305, i16 0, i16 11306, i16 0, i16 6088, i16 6086, i16 0, i16 11307, i16 0, i16 10363, i16 0, i16 5484, i16 10367, i16 0, i16 0, i16 3232, i16 10368, i16 2306, i16 5486, i16 0, i16 10369, i16 10370, i16 0, i16 5487, i16 10371, i16 10372, i16 10373, i16 10374, i16 0, i16 5485, i16 0, i16 0, i16 0, i16 0, i16 1073, i16 10375, i16 5493, i16 10376, i16 5492, i16 10377, i16 0, i16 12670, i16 1233, i16 12671, i16 0, i16 12672, i16 12673, i16 12674, i16 0, i16 6823, i16 12675, i16 6824, i16 0, i16 3910, i16 4959, i16 3052, i16 0, i16 0, i16 836, i16 12676, i16 772, i16 0, i16 12677, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1863, i16 3299, i16 2155, i16 0, i16 0, i16 1408, i16 6500, i16 6501, i16 6502, i16 11984, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8328, i16 2139, i16 0, i16 0, i16 8329, i16 0, i16 0, i16 0, i16 0, i16 4225, i16 0, i16 2685, i16 8330, i16 0, i16 0, i16 876, i16 0, i16 4223, i16 0, i16 8324, i16 0, i16 4226, i16 0, i16 8331, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4227, i16 0, i16 0, i16 4489, i16 8720, i16 0, i16 0, i16 0, i16 0, i16 4497, i16 4496, i16 0, i16 8721, i16 8722, i16 4501, i16 0, i16 0, i16 0, i16 8723, i16 8724, i16 0, i16 0, i16 4502, i16 8725, i16 8726, i16 8727, i16 0, i16 8728, i16 0, i16 0, i16 4500, i16 4503, i16 4495, i16 4499, i16 0, i16 8076, i16 2221, i16 8077, i16 0, i16 0, i16 0, i16 0, i16 4104, i16 4107, i16 0, i16 1434, i16 8078, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4108, i16 8079, i16 8088, i16 0, i16 8080, i16 0, i16 8081, i16 8082, i16 0, i16 8083, i16 8084, i16 8085, i16 8086, i16 0, i16 12940, i16 0, i16 12941, i16 12942, i16 12943, i16 6973, i16 6971, i16 2544, i16 12944, i16 12945, i16 0, i16 0, i16 0, i16 12946, i16 12947, i16 12948, i16 0, i16 3363, i16 12949, i16 12950, i16 0, i16 12951, i16 3623, i16 12952, i16 0, i16 6975, i16 12953, i16 12960, i16 12954, i16 12955, i16 12956, i16 0, i16 654, i16 7143, i16 7144, i16 7145, i16 7146, i16 7147, i16 7148, i16 7149, i16 7150, i16 7151, i16 7152, i16 7153, i16 0, i16 7154, i16 7155, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 0, i16 1423, i16 6557, i16 0, i16 6558, i16 12078, i16 0, i16 0, i16 3179, i16 0, i16 0, i16 12081, i16 0, i16 1079, i16 0, i16 12082, i16 12083, i16 0, i16 0, i16 0, i16 12084, i16 3496, i16 12080, i16 1340, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2771, i16 12085, i16 12086, i16 0, i16 10127, i16 5350, i16 0, i16 0, i16 10128, i16 5345, i16 5346, i16 0, i16 5349, i16 5348, i16 3100, i16 0, i16 0, i16 2377, i16 2376, i16 10129, i16 1246, i16 10130, i16 10131, i16 5351, i16 10132, i16 0, i16 0, i16 0, i16 10133, i16 5352, i16 0, i16 10134, i16 5353, i16 0, i16 0, i16 0, i16 11407, i16 0, i16 11408, i16 0, i16 6142, i16 0, i16 0, i16 11409, i16 6143, i16 0, i16 0, i16 0, i16 0, i16 11410, i16 11411, i16 0, i16 11412, i16 11413, i16 0, i16 6138, i16 0, i16 0, i16 6140, i16 0, i16 11414, i16 11415, i16 6141, i16 11416, i16 11417, i16 11418, i16 6139, i16 0, i16 5010, i16 5007, i16 3535, i16 0, i16 9507, i16 9508, i16 9509, i16 2657, i16 9510, i16 0, i16 0, i16 2870, i16 5008, i16 0, i16 0, i16 5016, i16 0, i16 5015, i16 1406, i16 9511, i16 9512, i16 946, i16 9513, i16 9514, i16 1712, i16 5009, i16 5011, i16 9515, i16 0, i16 0, i16 9516, i16 0, i16 8851, i16 8852, i16 8853, i16 8854, i16 0, i16 8855, i16 0, i16 0, i16 2447, i16 8856, i16 8857, i16 1790, i16 4606, i16 8858, i16 4608, i16 4604, i16 0, i16 8859, i16 8860, i16 8861, i16 3254, i16 0, i16 2654, i16 8862, i16 0, i16 0, i16 8863, i16 2403, i16 0, i16 0, i16 0, i16 0, i16 11163, i16 0, i16 6002, i16 2839, i16 0, i16 11164, i16 6007, i16 0, i16 0, i16 11165, i16 6004, i16 3291, i16 6010, i16 809, i16 11166, i16 0, i16 11167, i16 0, i16 5998, i16 0, i16 11168, i16 0, i16 0, i16 0, i16 11169, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3228, i16 2651, i16 1687, i16 0, i16 1655, i16 2038, i16 12619, i16 2215, i16 0, i16 12620, i16 0, i16 6801, i16 12622, i16 12623, i16 6800, i16 3505, i16 1193, i16 3051, i16 2873, i16 12624, i16 0, i16 12625, i16 2247, i16 3611, i16 12621, i16 1462, i16 0, i16 12626, i16 0, i16 12627, i16 0, i16 0, i16 4765, i16 0, i16 0, i16 0, i16 9146, i16 4768, i16 9147, i16 9148, i16 2244, i16 0, i16 0, i16 9149, i16 0, i16 3562, i16 786, i16 1749, i16 2465, i16 0, i16 1934, i16 9150, i16 9151, i16 2144, i16 0, i16 0, i16 4771, i16 0, i16 0, i16 2765, i16 9152, i16 4769, i16 2448, i16 0, i16 3230, i16 8167, i16 0, i16 8165, i16 4143, i16 0, i16 2568, i16 8168, i16 0, i16 1018, i16 0, i16 2138, i16 8169, i16 8170, i16 0, i16 8171, i16 4145, i16 8172, i16 4144, i16 8173, i16 1663, i16 8174, i16 4146, i16 4148, i16 4147, i16 8175, i16 0, i16 4150, i16 8176, i16 4139, i16 4152, i16 0, i16 6046, i16 0, i16 0, i16 0, i16 0, i16 11204, i16 0, i16 11205, i16 11206, i16 11207, i16 0, i16 0, i16 6024, i16 0, i16 11208, i16 0, i16 11209, i16 1114, i16 0, i16 11210, i16 0, i16 0, i16 0, i16 2149, i16 6035, i16 11211, i16 6040, i16 2426, i16 11212, i16 11213, i16 6036, i16 0, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 0, i16 6047, i16 11241, i16 11242, i16 11243, i16 11244, i16 2678, i16 11245, i16 0, i16 0, i16 11246, i16 11247, i16 6052, i16 839, i16 0, i16 11248, i16 0, i16 0, i16 11229, i16 11249, i16 11250, i16 2439, i16 11251, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3224, i16 0, i16 11252, i16 0, i16 9892, i16 1333, i16 5243, i16 5245, i16 0, i16 5244, i16 9893, i16 0, i16 9894, i16 0, i16 0, i16 9895, i16 0, i16 5246, i16 0, i16 1546, i16 0, i16 5247, i16 0, i16 0, i16 9896, i16 9897, i16 1382, i16 9898, i16 2375, i16 0, i16 1684, i16 0, i16 0, i16 0, i16 9899, i16 0, i16 10918, i16 0, i16 0, i16 5849, i16 5851, i16 5850, i16 3006, i16 10919, i16 2902, i16 0, i16 3689, i16 3010, i16 0, i16 10920, i16 0, i16 0, i16 0, i16 0, i16 5853, i16 0, i16 0, i16 2112, i16 0, i16 3105, i16 0, i16 5854, i16 5852, i16 10921, i16 1167, i16 10922, i16 0, i16 0, i16 7848, i16 3986, i16 0, i16 3995, i16 3988, i16 7849, i16 7850, i16 3992, i16 7851, i16 7852, i16 3993, i16 3989, i16 7853, i16 7854, i16 4022, i16 0, i16 7855, i16 1758, i16 1044, i16 0, i16 0, i16 0, i16 7856, i16 3987, i16 7857, i16 7858, i16 7859, i16 3997, i16 831, i16 3996, i16 7860, i16 0, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 458, i16 459, i16 460, i16 461, i16 0, i16 3248, i16 8554, i16 4385, i16 3673, i16 0, i16 8555, i16 8556, i16 8557, i16 4386, i16 3221, i16 4389, i16 3711, i16 3727, i16 8558, i16 1889, i16 2898, i16 4390, i16 0, i16 1276, i16 2629, i16 835, i16 4391, i16 3195, i16 1607, i16 8559, i16 0, i16 2579, i16 8560, i16 8561, i16 0, i16 2704, i16 0, i16 3000, i16 0, i16 12729, i16 2481, i16 895, i16 1387, i16 0, i16 1388, i16 12730, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2614, i16 6858, i16 1389, i16 12731, i16 12732, i16 1012, i16 0, i16 0, i16 6857, i16 12733, i16 12734, i16 6855, i16 12735, i16 6856, i16 12736, i16 6854, i16 0, i16 3513, i16 4657, i16 0, i16 8965, i16 4653, i16 0, i16 4654, i16 0, i16 8966, i16 8967, i16 8968, i16 8969, i16 2407, i16 8970, i16 0, i16 8971, i16 8972, i16 4652, i16 0, i16 4587, i16 8973, i16 0, i16 8974, i16 4656, i16 0, i16 4651, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6334, i16 11726, i16 11727, i16 11728, i16 11729, i16 11730, i16 0, i16 11731, i16 6338, i16 0, i16 0, i16 6335, i16 11736, i16 6337, i16 6336, i16 0, i16 0, i16 11732, i16 11733, i16 11734, i16 0, i16 6339, i16 0, i16 1890, i16 11735, i16 6341, i16 6340, i16 3167, i16 0, i16 11737, i16 6343, i16 0, i16 11198, i16 6026, i16 0, i16 6021, i16 11199, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2114, i16 0, i16 0, i16 0, i16 0, i16 1982, i16 0, i16 11200, i16 11201, i16 1885, i16 11202, i16 0, i16 0, i16 0, i16 3433, i16 0, i16 0, i16 3134, i16 0, i16 11203, i16 6037, i16 0, i16 6591, i16 0, i16 2689, i16 12170, i16 12171, i16 3336, i16 1401, i16 0, i16 12172, i16 12173, i16 0, i16 12174, i16 12175, i16 12176, i16 12177, i16 12178, i16 12179, i16 0, i16 0, i16 0, i16 6594, i16 6595, i16 12180, i16 0, i16 12181, i16 0, i16 12182, i16 6593, i16 12183, i16 0, i16 6597, i16 0, i16 3009, i16 4355, i16 3219, i16 4356, i16 0, i16 0, i16 0, i16 8521, i16 0, i16 8522, i16 8523, i16 8524, i16 8525, i16 8526, i16 0, i16 8527, i16 0, i16 1140, i16 3220, i16 2922, i16 4358, i16 4359, i16 0, i16 1603, i16 1141, i16 4360, i16 1521, i16 3507, i16 3480, i16 1207, i16 4362, i16 0, i16 3526, i16 0, i16 6257, i16 0, i16 0, i16 3193, i16 2945, i16 6258, i16 11600, i16 6259, i16 1508, i16 0, i16 11601, i16 0, i16 1227, i16 11602, i16 0, i16 0, i16 6260, i16 11603, i16 11604, i16 1854, i16 2940, i16 6261, i16 0, i16 1075, i16 11605, i16 11606, i16 0, i16 0, i16 11607, i16 0, i16 3783, i16 7516, i16 3268, i16 2576, i16 3779, i16 1484, i16 7517, i16 3776, i16 3784, i16 3778, i16 3614, i16 3785, i16 3692, i16 7518, i16 0, i16 7519, i16 0, i16 7520, i16 7521, i16 0, i16 7522, i16 1379, i16 0, i16 0, i16 1483, i16 0, i16 7546, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9159, i16 0, i16 0, i16 9160, i16 4783, i16 0, i16 3091, i16 0, i16 4774, i16 0, i16 4780, i16 4779, i16 0, i16 9161, i16 9162, i16 2296, i16 9163, i16 0, i16 9164, i16 0, i16 3360, i16 9165, i16 3616, i16 9166, i16 9167, i16 3354, i16 9168, i16 977, i16 1841, i16 0, i16 0, i16 0, i16 7112, i16 302, i16 303, i16 7120, i16 0, i16 7113, i16 309, i16 236, i16 7117, i16 7116, i16 0, i16 340, i16 0, i16 7118, i16 7106, i16 296, i16 283, i16 0, i16 0, i16 234, i16 0, i16 367, i16 0, i16 7103, i16 0, i16 7115, i16 0, i16 0, i16 0, i16 0, i16 7114, i16 0, i16 8138, i16 4127, i16 0, i16 8139, i16 0, i16 0, i16 8140, i16 8141, i16 925, i16 0, i16 2741, i16 0, i16 0, i16 0, i16 0, i16 4129, i16 0, i16 4125, i16 0, i16 0, i16 2203, i16 0, i16 0, i16 8142, i16 4133, i16 0, i16 0, i16 8143, i16 0, i16 2013, i16 8144, i16 0, i16 972, i16 4211, i16 0, i16 8307, i16 0, i16 8308, i16 0, i16 8309, i16 1900, i16 0, i16 4210, i16 1492, i16 0, i16 0, i16 8310, i16 4224, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4217, i16 4214, i16 0, i16 0, i16 8311, i16 0, i16 8312, i16 0, i16 0, i16 0, i16 0, i16 6865, i16 12747, i16 12748, i16 12749, i16 6867, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12750, i16 12751, i16 0, i16 1234, i16 6866, i16 12752, i16 12753, i16 2434, i16 1516, i16 0, i16 0, i16 12754, i16 0, i16 0, i16 6869, i16 0, i16 0, i16 0, i16 0, i16 12755, i16 0, i16 0, i16 10449, i16 0, i16 0, i16 0, i16 0, i16 1305, i16 5518, i16 10450, i16 10451, i16 5520, i16 10452, i16 0, i16 0, i16 5521, i16 10453, i16 2916, i16 10454, i16 0, i16 5522, i16 10455, i16 0, i16 0, i16 0, i16 10456, i16 5523, i16 5524, i16 10457, i16 0, i16 1366, i16 984, i16 2850, i16 0, i16 9683, i16 9684, i16 0, i16 2032, i16 0, i16 5139, i16 0, i16 9685, i16 0, i16 0, i16 0, i16 9686, i16 5132, i16 2637, i16 5129, i16 2682, i16 0, i16 0, i16 0, i16 5164, i16 0, i16 0, i16 0, i16 5126, i16 0, i16 5125, i16 0, i16 5134, i16 9687, i16 9688, i16 0, i16 0, i16 12499, i16 840, i16 2211, i16 2059, i16 1178, i16 6721, i16 0, i16 0, i16 0, i16 2977, i16 0, i16 6723, i16 0, i16 12500, i16 0, i16 841, i16 0, i16 6722, i16 2661, i16 12501, i16 3610, i16 2824, i16 6716, i16 3571, i16 0, i16 1514, i16 12502, i16 12503, i16 3530, i16 12504, i16 12505, i16 0, i16 6357, i16 0, i16 0, i16 0, i16 11760, i16 2819, i16 11761, i16 6359, i16 11762, i16 3296, i16 11763, i16 6360, i16 0, i16 6361, i16 11764, i16 6362, i16 11765, i16 0, i16 11766, i16 11767, i16 6363, i16 0, i16 11768, i16 11769, i16 11772, i16 2871, i16 11770, i16 0, i16 11771, i16 0, i16 0, i16 0, i16 11480, i16 0, i16 11481, i16 0, i16 6158, i16 11482, i16 0, i16 0, i16 11483, i16 11484, i16 11485, i16 0, i16 6178, i16 6182, i16 6177, i16 11486, i16 6184, i16 11488, i16 11489, i16 11490, i16 6186, i16 6185, i16 0, i16 11491, i16 11487, i16 11492, i16 11493, i16 11494, i16 0, i16 11495, i16 11496, i16 0, i16 12506, i16 12507, i16 12508, i16 12509, i16 1398, i16 3585, i16 0, i16 1411, i16 12510, i16 2503, i16 5873, i16 0, i16 6724, i16 1039, i16 2234, i16 0, i16 12511, i16 0, i16 0, i16 1081, i16 6726, i16 12512, i16 6727, i16 6725, i16 1471, i16 12513, i16 1746, i16 2128, i16 12514, i16 0, i16 12515, i16 0, i16 3548, i16 773, i16 5703, i16 0, i16 10730, i16 1290, i16 10731, i16 5700, i16 0, i16 10732, i16 0, i16 0, i16 0, i16 5701, i16 0, i16 10733, i16 2812, i16 5699, i16 5696, i16 0, i16 1035, i16 2317, i16 0, i16 10734, i16 1505, i16 10735, i16 10736, i16 0, i16 5708, i16 0, i16 10737, i16 0, i16 13021, i16 0, i16 0, i16 7014, i16 0, i16 0, i16 0, i16 0, i16 7015, i16 13022, i16 7010, i16 13023, i16 0, i16 13024, i16 6990, i16 0, i16 13025, i16 7016, i16 0, i16 2690, i16 13026, i16 0, i16 0, i16 7020, i16 13027, i16 7021, i16 7019, i16 13028, i16 0, i16 0, i16 13029, i16 0, i16 9187, i16 4794, i16 0, i16 4791, i16 0, i16 9188, i16 4799, i16 0, i16 4789, i16 0, i16 0, i16 4787, i16 0, i16 4795, i16 4785, i16 9189, i16 2607, i16 9190, i16 3465, i16 1911, i16 1769, i16 9191, i16 9192, i16 0, i16 9176, i16 0, i16 1711, i16 0, i16 0, i16 3362, i16 1060, i16 0, i16 3044, i16 0, i16 5746, i16 10797, i16 10798, i16 5741, i16 10799, i16 0, i16 0, i16 2344, i16 1453, i16 0, i16 1978, i16 10800, i16 0, i16 10801, i16 0, i16 10802, i16 0, i16 2160, i16 2365, i16 5752, i16 0, i16 10803, i16 5754, i16 5755, i16 0, i16 0, i16 5751, i16 5753, i16 10804, i16 0, i16 231, i16 0, i16 305, i16 301, i16 304, i16 306, i16 0, i16 263, i16 264, i16 307, i16 281, i16 225, i16 0, i16 226, i16 252, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 228, i16 229, i16 288, i16 286, i16 289, i16 230, i16 0, i16 3568, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11549, i16 6229, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11550, i16 11551, i16 11552, i16 6230, i16 2117, i16 6228, i16 11553, i16 0, i16 11554, i16 3542, i16 6225, i16 0, i16 0, i16 6227, i16 2278, i16 2249, i16 0, i16 0, i16 3824, i16 0, i16 7611, i16 0, i16 0, i16 0, i16 7612, i16 7613, i16 0, i16 3476, i16 0, i16 7614, i16 7615, i16 0, i16 7616, i16 0, i16 7617, i16 3434, i16 7618, i16 7619, i16 7620, i16 0, i16 3826, i16 7621, i16 7622, i16 3825, i16 3828, i16 3827, i16 0, i16 0, i16 3829, i16 0, i16 8177, i16 8178, i16 0, i16 4151, i16 4149, i16 0, i16 0, i16 0, i16 8179, i16 0, i16 1825, i16 2204, i16 0, i16 2395, i16 4153, i16 2277, i16 822, i16 2975, i16 8180, i16 0, i16 0, i16 0, i16 2684, i16 0, i16 4155, i16 4154, i16 4156, i16 4157, i16 4158, i16 0, i16 0, i16 0, i16 7922, i16 0, i16 7923, i16 4038, i16 4036, i16 7924, i16 4093, i16 0, i16 7925, i16 0, i16 7926, i16 7927, i16 0, i16 7928, i16 0, i16 0, i16 7929, i16 7930, i16 7931, i16 4041, i16 0, i16 0, i16 7932, i16 7933, i16 0, i16 4035, i16 7934, i16 4039, i16 0, i16 7935, i16 4037, i16 0, i16 8434, i16 0, i16 0, i16 0, i16 0, i16 8435, i16 2237, i16 0, i16 0, i16 0, i16 4302, i16 0, i16 8436, i16 1759, i16 0, i16 0, i16 4308, i16 8437, i16 0, i16 4309, i16 4303, i16 1046, i16 4304, i16 4313, i16 4312, i16 4311, i16 4307, i16 0, i16 0, i16 0, i16 4306, i16 0, i16 10738, i16 10739, i16 10740, i16 0, i16 10741, i16 10742, i16 0, i16 10743, i16 5705, i16 0, i16 10744, i16 10745, i16 10746, i16 0, i16 5707, i16 0, i16 10747, i16 0, i16 5704, i16 0, i16 0, i16 10748, i16 10749, i16 0, i16 1452, i16 2456, i16 5709, i16 2421, i16 10750, i16 10751, i16 5722, i16 0, i16 10227, i16 5421, i16 2961, i16 0, i16 10228, i16 3346, i16 0, i16 885, i16 10229, i16 894, i16 10230, i16 10231, i16 5422, i16 10232, i16 0, i16 0, i16 0, i16 5424, i16 0, i16 10233, i16 0, i16 5423, i16 2799, i16 0, i16 10234, i16 0, i16 2274, i16 4957, i16 0, i16 5425, i16 3410, i16 0, i16 9460, i16 0, i16 9461, i16 0, i16 0, i16 9462, i16 9463, i16 0, i16 0, i16 0, i16 4993, i16 4992, i16 0, i16 9464, i16 4995, i16 0, i16 9465, i16 0, i16 4994, i16 0, i16 0, i16 0, i16 9466, i16 0, i16 9467, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9468, i16 0, i16 5109, i16 0, i16 0, i16 0, i16 1156, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9674, i16 0, i16 9675, i16 9676, i16 9677, i16 1476, i16 0, i16 0, i16 9678, i16 5135, i16 9679, i16 9680, i16 5130, i16 2337, i16 9681, i16 9682, i16 1094, i16 0, i16 4855, i16 4834, i16 4854, i16 0, i16 4847, i16 4835, i16 0, i16 4851, i16 0, i16 4852, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4869, i16 9275, i16 0, i16 9276, i16 2859, i16 9277, i16 4842, i16 0, i16 9278, i16 4865, i16 0, i16 9279, i16 0, i16 4867, i16 0, i16 2681, i16 0, i16 3579, i16 0, i16 0, i16 2145, i16 2334, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9557, i16 0, i16 5048, i16 5046, i16 0, i16 3140, i16 0, i16 9558, i16 9559, i16 0, i16 8956, i16 0, i16 8957, i16 2736, i16 4647, i16 8958, i16 0, i16 8959, i16 4648, i16 0, i16 3174, i16 8960, i16 2944, i16 1782, i16 0, i16 2330, i16 0, i16 3331, i16 8961, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1068, i16 0, i16 4655, i16 4650, i16 8962, i16 8963, i16 8964, i16 0, i16 8190, i16 3397, i16 8191, i16 8192, i16 4164, i16 0, i16 2508, i16 8193, i16 2742, i16 2469, i16 3150, i16 4165, i16 4166, i16 930, i16 8194, i16 8195, i16 1899, i16 4167, i16 8196, i16 0, i16 8197, i16 8198, i16 793, i16 4168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4169, i16 8199, i16 0, i16 12543, i16 12544, i16 12545, i16 6755, i16 0, i16 0, i16 3401, i16 12546, i16 0, i16 6756, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6757, i16 12547, i16 3669, i16 12548, i16 0, i16 0, i16 0, i16 0, i16 4761, i16 6758, i16 0, i16 0, i16 0, i16 6759, i16 6760, i16 0, i16 11520, i16 1644, i16 6199, i16 810, i16 11521, i16 0, i16 0, i16 0, i16 3124, i16 11522, i16 0, i16 6200, i16 0, i16 0, i16 0, i16 0, i16 2229, i16 11523, i16 6207, i16 0, i16 0, i16 6204, i16 0, i16 2610, i16 0, i16 11524, i16 0, i16 11525, i16 0, i16 6205, i16 6202, i16 1371, i16 5889, i16 0, i16 10986, i16 5892, i16 5891, i16 0, i16 0, i16 0, i16 3319, i16 5895, i16 0, i16 0, i16 0, i16 0, i16 10987, i16 0, i16 5896, i16 0, i16 10988, i16 2366, i16 10989, i16 5897, i16 0, i16 0, i16 5899, i16 0, i16 5903, i16 10990, i16 0, i16 5900, i16 5898, i16 2938, i16 6145, i16 11425, i16 0, i16 6156, i16 11426, i16 11427, i16 993, i16 0, i16 6152, i16 0, i16 6157, i16 0, i16 0, i16 0, i16 6153, i16 11428, i16 0, i16 11429, i16 11430, i16 0, i16 6150, i16 0, i16 2644, i16 0, i16 6147, i16 0, i16 0, i16 11431, i16 0, i16 0, i16 0, i16 2979, i16 11265, i16 11266, i16 11267, i16 6058, i16 11268, i16 0, i16 0, i16 0, i16 3706, i16 2815, i16 3178, i16 11269, i16 0, i16 6071, i16 0, i16 11270, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6077, i16 0, i16 11271, i16 11272, i16 11273, i16 0, i16 11274, i16 6078, i16 11275, i16 12802, i16 0, i16 6898, i16 6899, i16 12803, i16 12804, i16 6900, i16 12805, i16 0, i16 12806, i16 3018, i16 6902, i16 12807, i16 3101, i16 6903, i16 6901, i16 0, i16 6905, i16 12808, i16 12809, i16 6904, i16 12810, i16 0, i16 6906, i16 0, i16 12811, i16 12812, i16 6907, i16 0, i16 12813, i16 0, i16 12814, i16 4611, i16 0, i16 8875, i16 2404, i16 8876, i16 0, i16 0, i16 8877, i16 1961, i16 4616, i16 8878, i16 0, i16 2085, i16 0, i16 4610, i16 4615, i16 8879, i16 0, i16 2958, i16 0, i16 8880, i16 8881, i16 4609, i16 0, i16 1404, i16 8882, i16 8883, i16 1088, i16 0, i16 0, i16 8884, i16 4617, i16 4100, i16 0, i16 1753, i16 0, i16 0, i16 8052, i16 8053, i16 1358, i16 0, i16 0, i16 3306, i16 0, i16 8054, i16 8055, i16 4098, i16 4101, i16 1718, i16 1594, i16 8056, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9732, i16 0, i16 0, i16 9733, i16 0, i16 0, i16 2616, i16 2514, i16 0, i16 0, i16 0, i16 0, i16 2254, i16 0, i16 0, i16 9734, i16 5168, i16 0, i16 5170, i16 0, i16 9735, i16 0, i16 0, i16 9736, i16 0, i16 9737, i16 0, i16 0, i16 9738, i16 0, i16 5169, i16 0, i16 10244, i16 2103, i16 0, i16 0, i16 5434, i16 0, i16 10245, i16 5433, i16 5432, i16 3094, i16 10246, i16 1160, i16 1506, i16 0, i16 10247, i16 0, i16 0, i16 0, i16 10248, i16 0, i16 10249, i16 10250, i16 0, i16 10251, i16 0, i16 10252, i16 10253, i16 5440, i16 10254, i16 0, i16 5437, i16 2186, i16 7429, i16 0, i16 0, i16 7447, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3758, i16 7448, i16 0, i16 7449, i16 0, i16 7450, i16 3761, i16 3759, i16 7451, i16 0, i16 967, i16 0, i16 3216, i16 3753, i16 7452, i16 7453, i16 7454, i16 7455, i16 3757, i16 1580, i16 7456, i16 7457, i16 1819, i16 12293, i16 12294, i16 0, i16 12295, i16 2058, i16 12296, i16 0, i16 12297, i16 12298, i16 6620, i16 3252, i16 0, i16 12299, i16 891, i16 12300, i16 0, i16 12301, i16 0, i16 3133, i16 2613, i16 0, i16 0, i16 0, i16 0, i16 1303, i16 12302, i16 6622, i16 12303, i16 1652, i16 0, i16 0, i16 12304, i16 7686, i16 7687, i16 0, i16 1488, i16 1747, i16 2984, i16 7688, i16 0, i16 0, i16 3888, i16 3886, i16 0, i16 0, i16 0, i16 7689, i16 3186, i16 2135, i16 3895, i16 1095, i16 3889, i16 3887, i16 2390, i16 0, i16 7690, i16 7691, i16 7692, i16 0, i16 0, i16 0, i16 3891, i16 0, i16 3890, i16 11526, i16 6201, i16 6208, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1425, i16 0, i16 0, i16 2499, i16 0, i16 6214, i16 0, i16 0, i16 0, i16 0, i16 6210, i16 0, i16 0, i16 0, i16 2458, i16 6209, i16 11527, i16 6212, i16 11528, i16 11529, i16 11530, i16 0, i16 6203, i16 11531, i16 4103, i16 0, i16 0, i16 4114, i16 0, i16 0, i16 4115, i16 8095, i16 8096, i16 0, i16 0, i16 3351, i16 8097, i16 0, i16 2136, i16 8098, i16 0, i16 0, i16 4117, i16 4118, i16 4116, i16 8099, i16 4120, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2931, i16 8100, i16 8101, i16 817, i16 5383, i16 5384, i16 5385, i16 10177, i16 5386, i16 10178, i16 10179, i16 5382, i16 0, i16 10180, i16 0, i16 0, i16 0, i16 10181, i16 0, i16 0, i16 5388, i16 0, i16 10182, i16 10183, i16 5387, i16 10184, i16 0, i16 0, i16 10185, i16 10186, i16 10187, i16 5389, i16 10188, i16 0, i16 0, i16 0, i16 11015, i16 5917, i16 5918, i16 11016, i16 0, i16 5919, i16 0, i16 5920, i16 1338, i16 4660, i16 5921, i16 0, i16 2318, i16 5922, i16 1916, i16 11017, i16 5923, i16 0, i16 3726, i16 11018, i16 11019, i16 0, i16 5924, i16 3251, i16 1181, i16 11020, i16 11021, i16 2347, i16 2023, i16 11022, i16 3176, i16 1981, i16 5128, i16 5127, i16 5133, i16 9689, i16 2250, i16 0, i16 5124, i16 9690, i16 9691, i16 0, i16 0, i16 9692, i16 9693, i16 9694, i16 5136, i16 0, i16 9695, i16 5137, i16 9696, i16 9697, i16 9698, i16 0, i16 9699, i16 1155, i16 0, i16 0, i16 9700, i16 0, i16 0, i16 0, i16 0, i16 9701, i16 8457, i16 8458, i16 8459, i16 0, i16 8460, i16 0, i16 0, i16 0, i16 0, i16 2238, i16 8461, i16 0, i16 4318, i16 8462, i16 0, i16 1708, i16 8463, i16 0, i16 0, i16 4319, i16 0, i16 0, i16 4320, i16 0, i16 0, i16 8464, i16 8465, i16 0, i16 0, i16 0, i16 8466, i16 8467, i16 2314, i16 5617, i16 10602, i16 0, i16 3048, i16 10603, i16 5621, i16 3240, i16 10604, i16 2590, i16 10605, i16 5616, i16 5618, i16 0, i16 0, i16 5619, i16 0, i16 0, i16 0, i16 0, i16 10606, i16 0, i16 10607, i16 10608, i16 0, i16 10609, i16 10610, i16 10611, i16 0, i16 5622, i16 0, i16 0, i16 13066, i16 7038, i16 13067, i16 13068, i16 13069, i16 13070, i16 0, i16 13071, i16 7039, i16 0, i16 0, i16 7040, i16 7041, i16 0, i16 13072, i16 13073, i16 0, i16 7044, i16 7042, i16 3687, i16 0, i16 7043, i16 13074, i16 3644, i16 13075, i16 0, i16 0, i16 13076, i16 0, i16 7045, i16 13077, i16 3624, i16 4363, i16 0, i16 8531, i16 0, i16 8532, i16 8533, i16 2776, i16 1719, i16 8534, i16 0, i16 8535, i16 1540, i16 8536, i16 2702, i16 0, i16 0, i16 0, i16 8537, i16 0, i16 8538, i16 0, i16 780, i16 2045, i16 1606, i16 3510, i16 0, i16 0, i16 0, i16 0, i16 8539, i16 8540, i16 8541, i16 6667, i16 12430, i16 6668, i16 12431, i16 0, i16 0, i16 0, i16 0, i16 12432, i16 0, i16 6670, i16 12433, i16 0, i16 12434, i16 12435, i16 12436, i16 6672, i16 12437, i16 12438, i16 0, i16 0, i16 6673, i16 0, i16 6674, i16 0, i16 0, i16 0, i16 0, i16 6677, i16 6675, i16 6678, i16 6680, i16 2572, i16 9363, i16 0, i16 9364, i16 4930, i16 0, i16 9365, i16 9366, i16 0, i16 9367, i16 0, i16 9368, i16 0, i16 4928, i16 1570, i16 0, i16 4927, i16 9369, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4933, i16 0, i16 0, i16 0, i16 9370, i16 4800, i16 9371, i16 9372, i16 9373, i16 3340, i16 0, i16 2831, i16 8114, i16 8115, i16 1491, i16 2484, i16 0, i16 8116, i16 8117, i16 4119, i16 4122, i16 8119, i16 8120, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2473, i16 0, i16 0, i16 0, i16 4123, i16 0, i16 8121, i16 0, i16 4124, i16 8122, i16 8123, i16 7436, i16 0, i16 7437, i16 2674, i16 0, i16 0, i16 2533, i16 3752, i16 7438, i16 7439, i16 0, i16 7440, i16 7441, i16 789, i16 2692, i16 1994, i16 1705, i16 3475, i16 7442, i16 2483, i16 7443, i16 964, i16 7444, i16 3751, i16 7445, i16 3501, i16 3747, i16 3749, i16 1763, i16 3750, i16 4184, i16 7446, i16 11532, i16 0, i16 6213, i16 0, i16 6215, i16 0, i16 0, i16 0, i16 11533, i16 0, i16 11534, i16 3080, i16 0, i16 0, i16 6211, i16 0, i16 6216, i16 6218, i16 0, i16 0, i16 1548, i16 6206, i16 0, i16 778, i16 0, i16 0, i16 11535, i16 0, i16 0, i16 11536, i16 11537, i16 6217, i16 4109, i16 8087, i16 1595, i16 1059, i16 4111, i16 0, i16 0, i16 8089, i16 8090, i16 8091, i16 4112, i16 0, i16 8092, i16 0, i16 0, i16 0, i16 4113, i16 0, i16 0, i16 4110, i16 0, i16 0, i16 0, i16 0, i16 8093, i16 0, i16 0, i16 0, i16 0, i16 8094, i16 0, i16 0, i16 5901, i16 0, i16 5902, i16 10992, i16 0, i16 10993, i16 951, i16 0, i16 5909, i16 5904, i16 10994, i16 10991, i16 0, i16 5905, i16 10995, i16 10996, i16 0, i16 5906, i16 0, i16 2438, i16 0, i16 10997, i16 0, i16 10998, i16 5908, i16 5907, i16 5910, i16 10999, i16 0, i16 11000, i16 11001, i16 5911, i16 7693, i16 0, i16 7694, i16 1063, i16 0, i16 7695, i16 0, i16 1467, i16 3896, i16 3578, i16 7696, i16 0, i16 7697, i16 3892, i16 0, i16 0, i16 0, i16 3897, i16 3894, i16 7698, i16 3893, i16 7699, i16 7700, i16 7701, i16 7702, i16 0, i16 7703, i16 3612, i16 7704, i16 0, i16 0, i16 1586, i16 10510, i16 5545, i16 5546, i16 2148, i16 0, i16 10511, i16 0, i16 10512, i16 0, i16 5547, i16 10513, i16 1074, i16 0, i16 10514, i16 0, i16 0, i16 5549, i16 0, i16 0, i16 0, i16 1477, i16 10515, i16 1285, i16 0, i16 10516, i16 5550, i16 1394, i16 0, i16 0, i16 5551, i16 10517, i16 2341, i16 2063, i16 1318, i16 0, i16 3924, i16 0, i16 7751, i16 0, i16 7752, i16 7753, i16 7754, i16 3060, i16 7755, i16 7756, i16 7757, i16 0, i16 3925, i16 7758, i16 3926, i16 7759, i16 3927, i16 0, i16 7760, i16 0, i16 0, i16 3928, i16 3099, i16 1381, i16 814, i16 7761, i16 7762, i16 7763, i16 2844, i16 4623, i16 8891, i16 0, i16 2460, i16 4629, i16 8892, i16 4624, i16 0, i16 8893, i16 4626, i16 0, i16 0, i16 0, i16 0, i16 8894, i16 3128, i16 2708, i16 8895, i16 4627, i16 8896, i16 8897, i16 8898, i16 3483, i16 0, i16 0, i16 0, i16 3511, i16 1146, i16 8899, i16 0, i16 0, i16 0, i16 12815, i16 12816, i16 12817, i16 12818, i16 12819, i16 12820, i16 6908, i16 0, i16 12821, i16 12822, i16 0, i16 12823, i16 12824, i16 12825, i16 12826, i16 0, i16 12827, i16 0, i16 12828, i16 0, i16 0, i16 0, i16 12829, i16 0, i16 6909, i16 12830, i16 6910, i16 12831, i16 12832, i16 0, i16 0, i16 6911, i16 5648, i16 0, i16 0, i16 5645, i16 0, i16 0, i16 10645, i16 0, i16 0, i16 0, i16 10646, i16 0, i16 5644, i16 2299, i16 0, i16 5647, i16 5649, i16 10648, i16 10649, i16 10650, i16 5646, i16 10647, i16 5653, i16 0, i16 5650, i16 10651, i16 10652, i16 10653, i16 10654, i16 10655, i16 10656, i16 5651, i16 10000, i16 10001, i16 0, i16 1284, i16 10002, i16 5284, i16 3564, i16 10003, i16 0, i16 3581, i16 10004, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10005, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10006, i16 10007, i16 0, i16 0, i16 0, i16 0, i16 1297, i16 1067, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8830, i16 0, i16 1098, i16 2156, i16 4597, i16 4602, i16 0, i16 4598, i16 8831, i16 1496, i16 8832, i16 4603, i16 1781, i16 1664, i16 0, i16 0, i16 0, i16 0, i16 8833, i16 8834, i16 1973, i16 4585, i16 10769, i16 918, i16 0, i16 0, i16 2889, i16 5731, i16 0, i16 0, i16 10781, i16 5738, i16 5732, i16 5739, i16 0, i16 0, i16 0, i16 0, i16 10782, i16 10783, i16 5735, i16 0, i16 0, i16 10784, i16 0, i16 10785, i16 0, i16 0, i16 0, i16 2998, i16 10786, i16 10787, i16 1915, i16 5737, i16 12305, i16 0, i16 12306, i16 0, i16 0, i16 0, i16 1791, i16 0, i16 12307, i16 0, i16 0, i16 0, i16 0, i16 12308, i16 0, i16 6621, i16 2232, i16 12309, i16 0, i16 0, i16 12310, i16 12311, i16 0, i16 0, i16 2233, i16 6625, i16 6627, i16 0, i16 12312, i16 12313, i16 12314, i16 12315, i16 11538, i16 1744, i16 3651, i16 6219, i16 6220, i16 2428, i16 0, i16 0, i16 0, i16 0, i16 11539, i16 11540, i16 11541, i16 11542, i16 11543, i16 3567, i16 0, i16 11544, i16 11545, i16 11546, i16 6221, i16 3492, i16 0, i16 0, i16 6222, i16 6223, i16 0, i16 11547, i16 3257, i16 6224, i16 11548, i16 1717, i16 1299, i16 2766, i16 9602, i16 5080, i16 5089, i16 760, i16 857, i16 9603, i16 0, i16 958, i16 0, i16 5082, i16 2449, i16 5073, i16 5075, i16 1624, i16 0, i16 0, i16 9604, i16 0, i16 0, i16 0, i16 9605, i16 0, i16 5092, i16 9606, i16 5087, i16 9607, i16 9608, i16 0, i16 5079, i16 0, i16 2323, i16 7769, i16 0, i16 7770, i16 0, i16 7771, i16 1424, i16 0, i16 0, i16 3937, i16 0, i16 0, i16 7772, i16 7773, i16 3938, i16 851, i16 830, i16 1198, i16 7774, i16 2445, i16 1264, i16 3552, i16 0, i16 3941, i16 956, i16 7775, i16 0, i16 3940, i16 0, i16 0, i16 7776, i16 1319, i16 7188, i16 7173, i16 7187, i16 7239, i16 7324, i16 7241, i16 7326, i16 7240, i16 7325, i16 7189, i16 7175, i16 7190, i16 7249, i16 7334, i16 0, i16 0, i16 7248, i16 7333, i16 7177, i16 7192, i16 7251, i16 7336, i16 7253, i16 7338, i16 7252, i16 7337, i16 7254, i16 7339, i16 7255, i16 7340, i16 7257, i16 7342, i16 6165, i16 11458, i16 0, i16 0, i16 6169, i16 0, i16 6172, i16 6171, i16 11459, i16 11460, i16 11461, i16 6163, i16 0, i16 0, i16 11462, i16 0, i16 6166, i16 0, i16 6183, i16 0, i16 0, i16 11463, i16 11464, i16 0, i16 0, i16 11465, i16 11466, i16 0, i16 11467, i16 0, i16 0, i16 11468, i16 2582, i16 0, i16 5005, i16 0, i16 0, i16 0, i16 0, i16 9550, i16 5013, i16 0, i16 5006, i16 9499, i16 0, i16 9500, i16 0, i16 9501, i16 2470, i16 0, i16 1281, i16 5014, i16 9502, i16 0, i16 9503, i16 0, i16 9504, i16 9505, i16 1475, i16 9506, i16 0, i16 1220, i16 5012, i16 0, i16 10518, i16 2858, i16 10519, i16 2313, i16 1770, i16 10520, i16 10521, i16 0, i16 5552, i16 0, i16 10522, i16 10523, i16 0, i16 0, i16 0, i16 0, i16 10524, i16 10525, i16 2597, i16 2418, i16 10526, i16 5554, i16 5556, i16 5553, i16 5555, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10527, i16 1405, i16 12054, i16 12055, i16 12056, i16 2878, i16 0, i16 12057, i16 3297, i16 0, i16 6553, i16 0, i16 1930, i16 0, i16 0, i16 0, i16 0, i16 6554, i16 12058, i16 6555, i16 12059, i16 12060, i16 12061, i16 6556, i16 12062, i16 0, i16 2720, i16 0, i16 0, i16 0, i16 0, i16 12063, i16 12065, i16 0, i16 11287, i16 0, i16 11288, i16 0, i16 6066, i16 11289, i16 2349, i16 11290, i16 6070, i16 1786, i16 2192, i16 1419, i16 3461, i16 11304, i16 3466, i16 2049, i16 0, i16 0, i16 0, i16 0, i16 11291, i16 0, i16 11292, i16 11293, i16 11294, i16 6083, i16 6081, i16 0, i16 11295, i16 11296, i16 11297, i16 11298, i16 3864, i16 3345, i16 7657, i16 0, i16 0, i16 7658, i16 2039, i16 2529, i16 0, i16 3866, i16 2881, i16 0, i16 0, i16 3867, i16 7659, i16 0, i16 3868, i16 1041, i16 7660, i16 7661, i16 7662, i16 3869, i16 1316, i16 7663, i16 2857, i16 929, i16 2015, i16 0, i16 0, i16 3002, i16 3870, i16 0, i16 5912, i16 11002, i16 0, i16 2190, i16 11003, i16 1006, i16 0, i16 5913, i16 3620, i16 0, i16 1884, i16 11004, i16 11005, i16 1980, i16 0, i16 0, i16 11006, i16 11007, i16 11008, i16 1853, i16 2586, i16 11009, i16 11010, i16 0, i16 11011, i16 11012, i16 5914, i16 5915, i16 856, i16 11013, i16 5916, i16 11014, i16 6936, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12883, i16 12884, i16 6937, i16 12885, i16 3361, i16 1792, i16 12886, i16 1775, i16 2358, i16 0, i16 12887, i16 12888, i16 12889, i16 0, i16 6938, i16 0, i16 0, i16 12890, i16 12891, i16 6941, i16 0, i16 12892, i16 12893, i16 0, i16 12894, i16 12895, i16 7960, i16 7961, i16 868, i16 7962, i16 7963, i16 0, i16 7964, i16 0, i16 0, i16 7965, i16 0, i16 7966, i16 2368, i16 7967, i16 4049, i16 7968, i16 4050, i16 0, i16 0, i16 0, i16 7969, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1117, i16 0, i16 0, i16 7970, i16 0, i16 2842, i16 1323, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1002, i16 4296, i16 4301, i16 0, i16 0, i16 4299, i16 8430, i16 3276, i16 3275, i16 8431, i16 8432, i16 0, i16 8433, i16 0, i16 2790, i16 0, i16 0, i16 0, i16 4298, i16 2019, i16 0, i16 4297, i16 0, i16 0, i16 12570, i16 6777, i16 0, i16 0, i16 1110, i16 6775, i16 6779, i16 0, i16 0, i16 12571, i16 0, i16 6780, i16 0, i16 785, i16 0, i16 6781, i16 6782, i16 0, i16 0, i16 0, i16 0, i16 12572, i16 12573, i16 12574, i16 2129, i16 12575, i16 12576, i16 0, i16 6783, i16 0, i16 12577, i16 12578, i16 4891, i16 9304, i16 0, i16 0, i16 0, i16 9305, i16 9306, i16 4888, i16 9307, i16 0, i16 0, i16 9308, i16 0, i16 9309, i16 4876, i16 9310, i16 0, i16 4905, i16 4875, i16 0, i16 4894, i16 0, i16 0, i16 9311, i16 9312, i16 0, i16 9313, i16 4886, i16 9314, i16 0, i16 4881, i16 4878, i16 6939, i16 12896, i16 0, i16 0, i16 0, i16 0, i16 6942, i16 12897, i16 12898, i16 1578, i16 6940, i16 0, i16 0, i16 0, i16 12899, i16 6943, i16 12900, i16 6944, i16 6945, i16 0, i16 6949, i16 0, i16 1789, i16 12901, i16 12902, i16 0, i16 0, i16 2505, i16 0, i16 12903, i16 0, i16 12904, i16 7197, i16 7196, i16 7199, i16 7205, i16 7198, i16 7204, i16 7169, i16 7209, i16 7213, i16 7212, i16 7215, i16 7214, i16 7226, i16 7225, i16 7228, i16 7227, i16 0, i16 7242, i16 7244, i16 7243, i16 7246, i16 7250, i16 7245, i16 284, i16 7176, i16 7261, i16 7260, i16 7263, i16 7262, i16 7276, i16 7179, i16 7193, i16 8734, i16 0, i16 3376, i16 1144, i16 0, i16 4514, i16 0, i16 1440, i16 1047, i16 0, i16 0, i16 4511, i16 8735, i16 0, i16 3589, i16 4513, i16 799, i16 4515, i16 8736, i16 4506, i16 4512, i16 4519, i16 1439, i16 4507, i16 8737, i16 0, i16 0, i16 8738, i16 8739, i16 0, i16 3532, i16 8740, i16 287, i16 350, i16 0, i16 0, i16 0, i16 0, i16 290, i16 291, i16 0, i16 0, i16 352, i16 353, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1311, i16 966, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4185, i16 0, i16 3372, i16 3173, i16 1581, i16 0, i16 0, i16 7475, i16 0, i16 0, i16 2170, i16 3588, i16 7476, i16 0, i16 7477, i16 0, i16 7478, i16 7479, i16 7480, i16 7481, i16 3245, i16 5407, i16 10207, i16 0, i16 5408, i16 2729, i16 10208, i16 1034, i16 1627, i16 5409, i16 0, i16 0, i16 5410, i16 10209, i16 10210, i16 5411, i16 0, i16 1788, i16 0, i16 0, i16 5413, i16 0, i16 10211, i16 5412, i16 0, i16 0, i16 5414, i16 5415, i16 10212, i16 10213, i16 10214, i16 0, i16 10215, i16 8479, i16 0, i16 4324, i16 0, i16 0, i16 0, i16 0, i16 8480, i16 0, i16 0, i16 0, i16 8481, i16 4326, i16 0, i16 4327, i16 0, i16 8482, i16 0, i16 12526, i16 0, i16 8483, i16 0, i16 0, i16 4330, i16 8484, i16 8485, i16 3635, i16 0, i16 4331, i16 4328, i16 0, i16 0, i16 11039, i16 0, i16 5936, i16 11040, i16 5935, i16 0, i16 1168, i16 11041, i16 5937, i16 0, i16 5938, i16 5939, i16 0, i16 11042, i16 1702, i16 3606, i16 0, i16 5941, i16 2162, i16 0, i16 11043, i16 0, i16 919, i16 5942, i16 5943, i16 0, i16 0, i16 11044, i16 0, i16 11045, i16 5944, i16 11046, i16 2080, i16 4375, i16 4374, i16 4370, i16 0, i16 8552, i16 0, i16 0, i16 4376, i16 4377, i16 0, i16 8553, i16 4378, i16 0, i16 0, i16 0, i16 4381, i16 4379, i16 0, i16 4380, i16 4382, i16 0, i16 907, i16 2703, i16 4383, i16 0, i16 1493, i16 1019, i16 2929, i16 0, i16 4384, i16 2904, i16 6176, i16 0, i16 11469, i16 11470, i16 11471, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11472, i16 11473, i16 0, i16 11474, i16 0, i16 6174, i16 0, i16 11475, i16 6175, i16 11476, i16 0, i16 0, i16 6180, i16 6181, i16 11477, i16 1037, i16 11478, i16 1249, i16 0, i16 0, i16 6179, i16 11479, i16 6688, i16 12452, i16 1177, i16 1080, i16 1653, i16 3023, i16 12453, i16 6690, i16 6689, i16 12454, i16 0, i16 12455, i16 12456, i16 6691, i16 0, i16 0, i16 0, i16 0, i16 899, i16 0, i16 12457, i16 0, i16 12458, i16 0, i16 0, i16 6694, i16 12459, i16 6693, i16 6692, i16 12460, i16 6695, i16 12461, i16 10528, i16 0, i16 0, i16 10529, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5557, i16 1409, i16 0, i16 10530, i16 0, i16 1286, i16 3521, i16 5559, i16 0, i16 0, i16 10531, i16 0, i16 10532, i16 5560, i16 0, i16 0, i16 10533, i16 853, i16 10534, i16 10535, i16 0, i16 0, i16 5563, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 12833, i16 0, i16 6912, i16 6913, i16 0, i16 6914, i16 12834, i16 6915, i16 6916, i16 6917, i16 6918, i16 12835, i16 0, i16 12836, i16 6919, i16 6920, i16 0, i16 4953, i16 6921, i16 12837, i16 12838, i16 12839, i16 0, i16 12840, i16 0, i16 12841, i16 12842, i16 5678, i16 1235, i16 12843, i16 0, i16 0, i16 4130, i16 0, i16 0, i16 9454, i16 9455, i16 1218, i16 4988, i16 0, i16 0, i16 9456, i16 0, i16 4989, i16 9457, i16 3265, i16 3355, i16 0, i16 0, i16 0, i16 2852, i16 4990, i16 3071, i16 0, i16 9458, i16 0, i16 3092, i16 0, i16 9459, i16 3428, i16 0, i16 0, i16 0, i16 4991, i16 7202, i16 7288, i16 7200, i16 7286, i16 7203, i16 7289, i16 7206, i16 7292, i16 7207, i16 7293, i16 7210, i16 7296, i16 7208, i16 7294, i16 7211, i16 7297, i16 7170, i16 7181, i16 7218, i16 7304, i16 0, i16 0, i16 7217, i16 7303, i16 7219, i16 7305, i16 7216, i16 7302, i16 7220, i16 7307, i16 7221, i16 7308, i16 7971, i16 7972, i16 7973, i16 7974, i16 4057, i16 0, i16 7975, i16 0, i16 1200, i16 7976, i16 4060, i16 4056, i16 4059, i16 7977, i16 0, i16 7978, i16 0, i16 7979, i16 7980, i16 0, i16 3203, i16 7981, i16 0, i16 0, i16 2866, i16 0, i16 3025, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10788, i16 5734, i16 5740, i16 5733, i16 0, i16 0, i16 2003, i16 10789, i16 10790, i16 0, i16 0, i16 3288, i16 10791, i16 10792, i16 2011, i16 10793, i16 0, i16 5736, i16 5748, i16 10794, i16 0, i16 5744, i16 10795, i16 5747, i16 0, i16 5745, i16 5749, i16 5743, i16 0, i16 5717, i16 2300, i16 10796, i16 7717, i16 3904, i16 0, i16 3337, i16 7718, i16 2653, i16 7719, i16 3477, i16 7720, i16 3246, i16 0, i16 0, i16 7721, i16 3905, i16 0, i16 7722, i16 0, i16 7723, i16 6771, i16 0, i16 7724, i16 2829, i16 7725, i16 3906, i16 1131, i16 3396, i16 0, i16 7726, i16 7727, i16 2062, i16 3907, i16 3260, i16 8741, i16 8742, i16 3482, i16 8743, i16 8744, i16 0, i16 0, i16 4522, i16 0, i16 0, i16 4526, i16 8745, i16 0, i16 8746, i16 2437, i16 0, i16 3654, i16 4527, i16 8747, i16 8748, i16 4524, i16 0, i16 4521, i16 8749, i16 8750, i16 4520, i16 4525, i16 0, i16 8751, i16 8752, i16 0, i16 8753, i16 10021, i16 5294, i16 0, i16 10022, i16 10023, i16 0, i16 10024, i16 10025, i16 0, i16 0, i16 0, i16 10026, i16 0, i16 10027, i16 0, i16 0, i16 0, i16 10028, i16 10029, i16 0, i16 0, i16 5290, i16 0, i16 10030, i16 0, i16 5293, i16 1571, i16 884, i16 5295, i16 10031, i16 2235, i16 5292, i16 295, i16 0, i16 294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5671, i16 0, i16 5673, i16 0, i16 10682, i16 5672, i16 0, i16 10683, i16 10684, i16 10685, i16 1547, i16 0, i16 0, i16 10686, i16 2367, i16 10687, i16 0, i16 0, i16 5675, i16 10688, i16 10689, i16 10690, i16 2811, i16 10691, i16 5674, i16 10692, i16 10693, i16 0, i16 5676, i16 10694, i16 3210, i16 2419, i16 10279, i16 2226, i16 10280, i16 2849, i16 10281, i16 5448, i16 3334, i16 10282, i16 5445, i16 0, i16 10283, i16 5446, i16 10284, i16 0, i16 0, i16 0, i16 10285, i16 0, i16 10286, i16 10287, i16 10288, i16 0, i16 0, i16 0, i16 0, i16 5451, i16 10289, i16 0, i16 0, i16 10290, i16 5450, i16 5449, i16 11047, i16 11048, i16 0, i16 11049, i16 11050, i16 0, i16 0, i16 11051, i16 0, i16 11052, i16 11053, i16 827, i16 0, i16 5945, i16 11054, i16 0, i16 0, i16 11055, i16 5946, i16 0, i16 11056, i16 0, i16 11057, i16 0, i16 11058, i16 3166, i16 11059, i16 11060, i16 0, i16 1912, i16 0, i16 5948, i16 2600, i16 0, i16 10266, i16 0, i16 0, i16 10267, i16 10268, i16 5443, i16 0, i16 0, i16 10269, i16 0, i16 0, i16 10270, i16 10271, i16 10272, i16 0, i16 0, i16 10273, i16 0, i16 0, i16 0, i16 10274, i16 10275, i16 0, i16 0, i16 5444, i16 5447, i16 10276, i16 0, i16 10277, i16 10278, i16 3625, i16 0, i16 10032, i16 5298, i16 7098, i16 0, i16 10033, i16 10034, i16 10035, i16 5296, i16 5299, i16 10036, i16 0, i16 10037, i16 10038, i16 5285, i16 5297, i16 10039, i16 10040, i16 1713, i16 0, i16 0, i16 5300, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5301, i16 0, i16 5929, i16 0, i16 0, i16 11029, i16 11030, i16 11031, i16 11032, i16 2715, i16 0, i16 0, i16 0, i16 11033, i16 0, i16 0, i16 11034, i16 11035, i16 0, i16 11036, i16 0, i16 0, i16 0, i16 0, i16 11037, i16 0, i16 5931, i16 5930, i16 5933, i16 0, i16 11038, i16 5932, i16 0, i16 5934, i16 2604, i16 8623, i16 8624, i16 0, i16 4424, i16 0, i16 0, i16 0, i16 8625, i16 8626, i16 8627, i16 1020, i16 8628, i16 8629, i16 8630, i16 8631, i16 4475, i16 4426, i16 8632, i16 8633, i16 0, i16 2923, i16 8634, i16 0, i16 4425, i16 0, i16 8635, i16 4423, i16 8636, i16 1681, i16 0, i16 4429, i16 6444, i16 11900, i16 11901, i16 6446, i16 6443, i16 0, i16 0, i16 0, i16 0, i16 11902, i16 0, i16 0, i16 11903, i16 11904, i16 0, i16 11905, i16 11906, i16 11907, i16 6449, i16 0, i16 1986, i16 0, i16 6448, i16 0, i16 0, i16 11908, i16 11909, i16 11910, i16 6450, i16 0, i16 0, i16 0, i16 11308, i16 0, i16 0, i16 0, i16 2816, i16 6087, i16 11309, i16 0, i16 11310, i16 3046, i16 6074, i16 0, i16 0, i16 11311, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11312, i16 0, i16 0, i16 11313, i16 2050, i16 0, i16 6089, i16 6094, i16 2427, i16 11314, i16 0, i16 6093, i16 11315, i16 8493, i16 2035, i16 0, i16 2410, i16 8494, i16 1600, i16 1709, i16 1601, i16 1295, i16 8495, i16 0, i16 4338, i16 0, i16 0, i16 1710, i16 0, i16 0, i16 1539, i16 4339, i16 3383, i16 2942, i16 4340, i16 0, i16 1602, i16 8496, i16 8497, i16 0, i16 1133, i16 0, i16 2538, i16 1359, i16 0, i16 11566, i16 0, i16 0, i16 0, i16 0, i16 6237, i16 11567, i16 11568, i16 11569, i16 0, i16 6238, i16 6239, i16 0, i16 0, i16 0, i16 0, i16 11570, i16 11571, i16 11572, i16 0, i16 0, i16 11573, i16 6243, i16 0, i16 6244, i16 11574, i16 11575, i16 6242, i16 0, i16 0, i16 11576, i16 0, i16 3377, i16 0, i16 5093, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3015, i16 9629, i16 0, i16 5105, i16 1524, i16 0, i16 0, i16 9630, i16 0, i16 0, i16 2031, i16 0, i16 5095, i16 9631, i16 0, i16 0, i16 3580, i16 1625, i16 0, i16 5108, i16 8498, i16 0, i16 1831, i16 3154, i16 0, i16 0, i16 3034, i16 8499, i16 0, i16 0, i16 0, i16 4341, i16 1206, i16 8500, i16 0, i16 0, i16 0, i16 4344, i16 8501, i16 0, i16 8502, i16 8503, i16 2626, i16 0, i16 8504, i16 4343, i16 4342, i16 4345, i16 0, i16 2700, i16 0, i16 8505, i16 8754, i16 0, i16 0, i16 0, i16 3205, i16 8755, i16 0, i16 2833, i16 8756, i16 1441, i16 8757, i16 4528, i16 4523, i16 8758, i16 4529, i16 0, i16 0, i16 0, i16 1494, i16 0, i16 0, i16 0, i16 950, i16 0, i16 8759, i16 8760, i16 4537, i16 0, i16 8761, i16 0, i16 1145, i16 0, i16 10291, i16 0, i16 0, i16 0, i16 10292, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5453, i16 10293, i16 10294, i16 5452, i16 0, i16 0, i16 5454, i16 0, i16 0, i16 10295, i16 10296, i16 10297, i16 0, i16 0, i16 0, i16 10298, i16 0, i16 0, i16 0, i16 5456, i16 10299, i16 308, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 267, i16 253, i16 268, i16 237, i16 239, i16 11316, i16 0, i16 6062, i16 0, i16 11317, i16 11318, i16 6095, i16 2384, i16 0, i16 0, i16 6090, i16 6092, i16 0, i16 11319, i16 11320, i16 0, i16 11321, i16 11322, i16 11323, i16 6091, i16 0, i16 0, i16 4949, i16 4934, i16 11324, i16 11325, i16 6097, i16 11326, i16 0, i16 0, i16 11327, i16 0, i16 821, i16 2621, i16 7367, i16 1896, i16 7368, i16 7369, i16 0, i16 3375, i16 2131, i16 1795, i16 2130, i16 961, i16 7370, i16 3147, i16 3502, i16 0, i16 3712, i16 854, i16 7371, i16 0, i16 1105, i16 3713, i16 2253, i16 3932, i16 1269, i16 3215, i16 0, i16 0, i16 0, i16 0, i16 2132, i16 7372, i16 4661, i16 4662, i16 2726, i16 4664, i16 8975, i16 8976, i16 1783, i16 4659, i16 0, i16 8977, i16 8978, i16 0, i16 1243, i16 8979, i16 0, i16 4665, i16 8980, i16 4658, i16 4669, i16 0, i16 4668, i16 8981, i16 4667, i16 8982, i16 0, i16 0, i16 4670, i16 8983, i16 0, i16 4672, i16 2142, i16 8984, i16 9013, i16 0, i16 1147, i16 1801, i16 0, i16 0, i16 2869, i16 9014, i16 0, i16 0, i16 0, i16 9015, i16 1444, i16 0, i16 0, i16 0, i16 2239, i16 0, i16 4692, i16 0, i16 2265, i16 2727, i16 0, i16 3158, i16 4693, i16 0, i16 9016, i16 0, i16 0, i16 9017, i16 0, i16 0, i16 11061, i16 11062, i16 0, i16 11063, i16 11064, i16 1036, i16 763, i16 11065, i16 11066, i16 11067, i16 11068, i16 5947, i16 5950, i16 2953, i16 11069, i16 2191, i16 11070, i16 987, i16 11071, i16 3290, i16 11072, i16 0, i16 0, i16 11073, i16 1464, i16 1369, i16 11074, i16 5949, i16 11075, i16 1007, i16 11076, i16 11077, i16 7223, i16 7309, i16 7222, i16 0, i16 7224, i16 7310, i16 7171, i16 7183, i16 7233, i16 7318, i16 7231, i16 7316, i16 0, i16 0, i16 7232, i16 7317, i16 7230, i16 7184, i16 7172, i16 7185, i16 7234, i16 7319, i16 7235, i16 7320, i16 7186, i16 7236, i16 7321, i16 7238, i16 7323, i16 7237, i16 7322, i16 7174, i16 12087, i16 0, i16 6561, i16 0, i16 12088, i16 12089, i16 12090, i16 0, i16 12091, i16 0, i16 0, i16 0, i16 0, i16 12092, i16 0, i16 0, i16 12093, i16 0, i16 6562, i16 0, i16 12094, i16 0, i16 12095, i16 12096, i16 12097, i16 6563, i16 12098, i16 0, i16 12099, i16 0, i16 12100, i16 0, i16 10041, i16 10042, i16 0, i16 3565, i16 0, i16 10043, i16 10044, i16 10045, i16 0, i16 10046, i16 0, i16 5302, i16 0, i16 0, i16 0, i16 10047, i16 10048, i16 10049, i16 10050, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10051, i16 10052, i16 10053, i16 0, i16 10054, i16 0, i16 5303, i16 10055, i16 11577, i16 6240, i16 11578, i16 6235, i16 6241, i16 11579, i16 11580, i16 0, i16 0, i16 11581, i16 0, i16 0, i16 6245, i16 6741, i16 0, i16 11582, i16 0, i16 0, i16 11583, i16 0, i16 0, i16 0, i16 941, i16 11584, i16 0, i16 0, i16 11585, i16 11586, i16 11587, i16 0, i16 6248, i16 1372, i16 7482, i16 7483, i16 1427, i16 2442, i16 1001, i16 7484, i16 7485, i16 0, i16 7486, i16 7487, i16 2018, i16 7488, i16 7489, i16 7490, i16 3767, i16 7491, i16 3772, i16 3770, i16 7492, i16 0, i16 3765, i16 0, i16 0, i16 2452, i16 3768, i16 0, i16 3771, i16 3769, i16 7493, i16 3250, i16 0, i16 3766, i16 8506, i16 0, i16 0, i16 0, i16 0, i16 2222, i16 0, i16 0, i16 8508, i16 0, i16 0, i16 1832, i16 0, i16 2291, i16 8507, i16 2488, i16 1217, i16 0, i16 8509, i16 2627, i16 0, i16 8510, i16 4346, i16 4347, i16 2140, i16 0, i16 0, i16 0, i16 0, i16 3308, i16 8511, i16 0, i16 8762, i16 8763, i16 8764, i16 4535, i16 0, i16 0, i16 4536, i16 1694, i16 4534, i16 4532, i16 4531, i16 4538, i16 4530, i16 4540, i16 8765, i16 8766, i16 1024, i16 0, i16 0, i16 0, i16 0, i16 8767, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8768, i16 8769, i16 8770, i16 8771, i16 7739, i16 3449, i16 2900, i16 7740, i16 0, i16 3270, i16 3916, i16 0, i16 3917, i16 0, i16 7741, i16 7742, i16 7743, i16 3919, i16 0, i16 3921, i16 3920, i16 7744, i16 0, i16 7745, i16 0, i16 3922, i16 962, i16 3327, i16 7746, i16 1777, i16 3923, i16 7747, i16 7748, i16 2400, i16 7749, i16 7750, i16 9531, i16 3285, i16 2947, i16 1282, i16 0, i16 2724, i16 0, i16 9532, i16 2608, i16 9533, i16 5031, i16 9534, i16 9535, i16 0, i16 9536, i16 5029, i16 2494, i16 5018, i16 9537, i16 882, i16 9538, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2108, i16 5574, i16 5575, i16 2022, i16 0, i16 2837, i16 5576, i16 0, i16 10542, i16 10543, i16 2539, i16 10544, i16 10545, i16 5577, i16 0, i16 2559, i16 5578, i16 10546, i16 0, i16 0, i16 10547, i16 0, i16 1314, i16 0, i16 3835, i16 2592, i16 1892, i16 10548, i16 0, i16 10549, i16 10550, i16 1161, i16 11836, i16 0, i16 0, i16 1954, i16 0, i16 0, i16 11837, i16 0, i16 2241, i16 0, i16 0, i16 11838, i16 11839, i16 0, i16 0, i16 11840, i16 0, i16 0, i16 11841, i16 2450, i16 0, i16 11842, i16 0, i16 11843, i16 0, i16 11844, i16 6413, i16 11845, i16 11863, i16 0, i16 6412, i16 0, i16 318, i16 317, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 320, i16 319, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 322, i16 321, i16 0, i16 0, i16 4671, i16 8985, i16 0, i16 0, i16 8986, i16 4675, i16 0, i16 0, i16 8987, i16 8988, i16 8989, i16 0, i16 0, i16 0, i16 0, i16 8990, i16 0, i16 0, i16 0, i16 8991, i16 8992, i16 0, i16 8993, i16 0, i16 4673, i16 8994, i16 0, i16 8995, i16 4674, i16 4636, i16 8996, i16 8997, i16 9791, i16 3398, i16 0, i16 0, i16 0, i16 0, i16 2100, i16 0, i16 0, i16 0, i16 0, i16 9792, i16 0, i16 9793, i16 0, i16 9794, i16 9795, i16 9796, i16 0, i16 0, i16 0, i16 0, i16 2362, i16 0, i16 9797, i16 0, i16 0, i16 0, i16 2099, i16 0, i16 0, i16 0, i16 6976, i16 0, i16 0, i16 12957, i16 0, i16 0, i16 0, i16 6977, i16 12962, i16 12958, i16 12959, i16 12961, i16 0, i16 0, i16 12963, i16 0, i16 12964, i16 0, i16 12965, i16 0, i16 0, i16 12966, i16 6978, i16 12967, i16 6979, i16 0, i16 0, i16 12968, i16 0, i16 0, i16 0, i16 0, i16 8256, i16 795, i16 0, i16 748, i16 8257, i16 0, i16 0, i16 0, i16 0, i16 4198, i16 0, i16 0, i16 8258, i16 8259, i16 8260, i16 0, i16 0, i16 4196, i16 8261, i16 8262, i16 0, i16 0, i16 0, i16 0, i16 3405, i16 0, i16 4199, i16 0, i16 4197, i16 0, i16 8263, i16 4195, i16 12352, i16 12353, i16 12354, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12355, i16 0, i16 12356, i16 12357, i16 1116, i16 12358, i16 0, i16 12359, i16 0, i16 0, i16 12360, i16 0, i16 6640, i16 12361, i16 1716, i16 2432, i16 12362, i16 0, i16 2667, i16 12363, i16 0, i16 0, i16 12364, i16 0, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 0, i16 0, i16 0, i16 0, i16 227, i16 249, i16 240, i16 241, i16 0, i16 833, i16 8016, i16 0, i16 2567, i16 8017, i16 8018, i16 8019, i16 8020, i16 8021, i16 0, i16 0, i16 8023, i16 0, i16 8024, i16 4081, i16 0, i16 1689, i16 8022, i16 792, i16 2217, i16 0, i16 0, i16 8025, i16 8026, i16 0, i16 4082, i16 1536, i16 0, i16 0, i16 1672, i16 0, i16 4084, i16 1089, i16 0, i16 0, i16 10554, i16 0, i16 2213, i16 3163, i16 10555, i16 5588, i16 10556, i16 10557, i16 10558, i16 2509, i16 10559, i16 10560, i16 10561, i16 10562, i16 10563, i16 0, i16 5583, i16 10564, i16 5587, i16 5589, i16 0, i16 0, i16 1776, i16 0, i16 0, i16 0, i16 10565, i16 0, i16 10566, i16 4929, i16 0, i16 4931, i16 4932, i16 0, i16 9374, i16 0, i16 0, i16 0, i16 0, i16 4944, i16 9375, i16 4940, i16 0, i16 4821, i16 9376, i16 9377, i16 9378, i16 0, i16 4939, i16 9379, i16 0, i16 0, i16 0, i16 4938, i16 0, i16 0, i16 4935, i16 0, i16 9380, i16 9381, i16 9382, i16 9025, i16 767, i16 0, i16 9026, i16 1361, i16 2294, i16 9027, i16 3159, i16 0, i16 0, i16 0, i16 4699, i16 1813, i16 2570, i16 9028, i16 1838, i16 2178, i16 0, i16 9029, i16 9030, i16 9031, i16 0, i16 0, i16 4700, i16 0, i16 3282, i16 0, i16 0, i16 926, i16 1839, i16 0, i16 9032, i16 12609, i16 12611, i16 0, i16 0, i16 12612, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6794, i16 2910, i16 12613, i16 0, i16 12614, i16 6796, i16 960, i16 12615, i16 6799, i16 6798, i16 12616, i16 12617, i16 0, i16 12618, i16 843, i16 0, i16 0, i16 0, i16 1342, i16 4418, i16 1567, i16 8603, i16 0, i16 8606, i16 0, i16 0, i16 8604, i16 4419, i16 3187, i16 2026, i16 8605, i16 8607, i16 4420, i16 3090, i16 8608, i16 8609, i16 8610, i16 0, i16 2846, i16 2632, i16 0, i16 0, i16 0, i16 8611, i16 2735, i16 0, i16 0, i16 4421, i16 1226, i16 0, i16 0, i16 3395, i16 0, i16 10255, i16 0, i16 5436, i16 5438, i16 5439, i16 0, i16 10256, i16 5435, i16 0, i16 0, i16 0, i16 10257, i16 10258, i16 10259, i16 0, i16 0, i16 0, i16 0, i16 10260, i16 10261, i16 10262, i16 5441, i16 5442, i16 10263, i16 2640, i16 0, i16 1188, i16 10264, i16 10265, i16 0, i16 12868, i16 0, i16 0, i16 6931, i16 12869, i16 12870, i16 12871, i16 12872, i16 0, i16 12873, i16 12874, i16 12875, i16 0, i16 12876, i16 775, i16 12877, i16 12878, i16 6932, i16 3200, i16 6930, i16 12879, i16 0, i16 6933, i16 6934, i16 0, i16 0, i16 12880, i16 0, i16 0, i16 12881, i16 12882, i16 6935, i16 12101, i16 0, i16 12103, i16 12104, i16 0, i16 12102, i16 0, i16 12105, i16 0, i16 12106, i16 0, i16 0, i16 0, i16 2721, i16 12107, i16 12108, i16 6565, i16 12109, i16 6564, i16 0, i16 12110, i16 0, i16 12111, i16 12112, i16 0, i16 12113, i16 12114, i16 0, i16 12115, i16 12116, i16 0, i16 0, i16 1350, i16 4271, i16 0, i16 0, i16 0, i16 1294, i16 4272, i16 0, i16 1403, i16 0, i16 2860, i16 949, i16 0, i16 1830, i16 4273, i16 4276, i16 4275, i16 1402, i16 0, i16 4274, i16 0, i16 2743, i16 0, i16 0, i16 0, i16 8393, i16 8394, i16 0, i16 8395, i16 0, i16 2453, i16 0, i16 7494, i16 2169, i16 7495, i16 3366, i16 3773, i16 3774, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1971, i16 3787, i16 7496, i16 0, i16 7497, i16 2955, i16 0, i16 3117, i16 3782, i16 0, i16 3269, i16 0, i16 955, i16 0, i16 7498, i16 7499, i16 3786, i16 7500, i16 11846, i16 0, i16 6411, i16 0, i16 0, i16 11847, i16 11848, i16 11849, i16 11850, i16 0, i16 11851, i16 6419, i16 6417, i16 0, i16 11852, i16 6414, i16 0, i16 11853, i16 0, i16 0, i16 11854, i16 11855, i16 6416, i16 11856, i16 0, i16 11857, i16 6415, i16 6418, i16 0, i16 1302, i16 0, i16 6422, i16 3911, i16 7728, i16 2259, i16 3908, i16 1357, i16 7729, i16 3909, i16 1132, i16 7730, i16 7731, i16 7732, i16 0, i16 7733, i16 0, i16 0, i16 0, i16 7734, i16 7735, i16 1417, i16 3912, i16 7736, i16 3913, i16 7737, i16 7738, i16 3914, i16 3915, i16 1932, i16 0, i16 0, i16 0, i16 1588, i16 3439, i16 10567, i16 10568, i16 0, i16 0, i16 0, i16 5596, i16 3109, i16 10569, i16 3007, i16 2808, i16 0, i16 1367, i16 5595, i16 5593, i16 10570, i16 3022, i16 5590, i16 2593, i16 2810, i16 0, i16 2809, i16 10571, i16 1771, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5614, i16 0, i16 0, i16 10056, i16 10057, i16 5283, i16 10058, i16 0, i16 0, i16 10059, i16 5304, i16 10060, i16 10061, i16 10062, i16 10063, i16 0, i16 0, i16 10064, i16 10065, i16 1157, i16 10066, i16 10067, i16 0, i16 0, i16 10068, i16 0, i16 0, i16 0, i16 10069, i16 0, i16 10070, i16 0, i16 1878, i16 0, i16 10071, i16 11336, i16 8188, i16 11337, i16 0, i16 0, i16 0, i16 11338, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6100, i16 1552, i16 0, i16 1267, i16 0, i16 11339, i16 11340, i16 6102, i16 3865, i16 11341, i16 11342, i16 11343, i16 11344, i16 1300, i16 0, i16 3591, i16 11345, i16 1392, i16 6103, i16 842, i16 0, i16 0, i16 3622, i16 12516, i16 12517, i16 12518, i16 6729, i16 6544, i16 12519, i16 6728, i16 0, i16 0, i16 0, i16 12520, i16 12521, i16 6732, i16 6730, i16 6731, i16 12522, i16 6733, i16 0, i16 6734, i16 3641, i16 6735, i16 6736, i16 12523, i16 2290, i16 3028, i16 0, i16 0, i16 0, i16 11082, i16 5951, i16 11083, i16 5952, i16 11084, i16 1940, i16 1385, i16 2618, i16 11085, i16 0, i16 11086, i16 2862, i16 0, i16 11087, i16 0, i16 11088, i16 0, i16 888, i16 0, i16 5956, i16 5955, i16 0, i16 11089, i16 11090, i16 0, i16 5961, i16 5957, i16 5960, i16 0, i16 11091, i16 11092, i16 0, i16 2892, i16 4870, i16 2887, i16 9286, i16 9287, i16 9288, i16 9289, i16 0, i16 9290, i16 9291, i16 4874, i16 4861, i16 9292, i16 1349, i16 4864, i16 2028, i16 9293, i16 9294, i16 9295, i16 2971, i16 4866, i16 1352, i16 0, i16 4858, i16 4860, i16 4857, i16 9296, i16 9297, i16 3675, i16 1085, i16 4863, i16 9298, i16 10316, i16 0, i16 3457, i16 5469, i16 10317, i16 2577, i16 10318, i16 2981, i16 0, i16 1384, i16 10319, i16 0, i16 10320, i16 2558, i16 5470, i16 1335, i16 10321, i16 10322, i16 0, i16 2297, i16 10323, i16 0, i16 0, i16 0, i16 10324, i16 0, i16 0, i16 10325, i16 5471, i16 0, i16 0, i16 0, i16 10572, i16 0, i16 0, i16 0, i16 10573, i16 5598, i16 10574, i16 5600, i16 0, i16 10575, i16 10576, i16 0, i16 5603, i16 10577, i16 5604, i16 10578, i16 5601, i16 5602, i16 10579, i16 10580, i16 5599, i16 5597, i16 0, i16 10581, i16 0, i16 0, i16 5591, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3149, i16 8118, i16 0, i16 4121, i16 8102, i16 0, i16 8103, i16 8104, i16 0, i16 8105, i16 0, i16 0, i16 0, i16 8106, i16 0, i16 0, i16 8107, i16 0, i16 0, i16 0, i16 2154, i16 8108, i16 8109, i16 1898, i16 8110, i16 2968, i16 1201, i16 0, i16 1760, i16 8111, i16 8112, i16 8113, i16 7501, i16 7502, i16 0, i16 0, i16 7503, i16 3780, i16 3789, i16 7504, i16 0, i16 2393, i16 7505, i16 1533, i16 7506, i16 2967, i16 7507, i16 5253, i16 7508, i16 3788, i16 2780, i16 7509, i16 3777, i16 0, i16 1583, i16 7510, i16 7511, i16 1582, i16 3775, i16 7512, i16 7513, i16 7514, i16 7515, i16 1931, i16 2382, i16 3317, i16 1772, i16 10710, i16 0, i16 0, i16 10711, i16 0, i16 0, i16 0, i16 10712, i16 1850, i16 2686, i16 10713, i16 5691, i16 3628, i16 1742, i16 10714, i16 5692, i16 2189, i16 0, i16 5694, i16 0, i16 0, i16 0, i16 2111, i16 1701, i16 0, i16 10715, i16 10716, i16 10717, i16 5693, i16 4431, i16 8660, i16 1023, i16 4451, i16 4453, i16 2580, i16 0, i16 8661, i16 1693, i16 957, i16 4445, i16 4456, i16 4455, i16 1328, i16 0, i16 2446, i16 1097, i16 8662, i16 0, i16 0, i16 0, i16 1438, i16 0, i16 4446, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8663, i16 8664, i16 5455, i16 0, i16 10300, i16 0, i16 0, i16 3234, i16 0, i16 10301, i16 0, i16 0, i16 10302, i16 0, i16 2021, i16 3603, i16 10303, i16 10304, i16 5457, i16 10305, i16 0, i16 2836, i16 0, i16 10306, i16 5458, i16 0, i16 0, i16 5459, i16 0, i16 5463, i16 5461, i16 5462, i16 10307, i16 5460, i16 8528, i16 2628, i16 0, i16 1604, i16 2078, i16 0, i16 0, i16 3064, i16 0, i16 0, i16 2079, i16 8529, i16 0, i16 0, i16 8530, i16 2055, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2701, i16 3278, i16 2744, i16 0, i16 0, i16 1605, i16 0, i16 3155, i16 0, i16 0, i16 0, i16 4177, i16 8209, i16 4176, i16 8210, i16 0, i16 931, i16 0, i16 4178, i16 2070, i16 4180, i16 2536, i16 8211, i16 4179, i16 8212, i16 3208, i16 8213, i16 0, i16 0, i16 8214, i16 2054, i16 2778, i16 8215, i16 8216, i16 0, i16 4181, i16 8217, i16 0, i16 8218, i16 8219, i16 1596, i16 0, i16 0, i16 9810, i16 0, i16 5193, i16 0, i16 2972, i16 5189, i16 5192, i16 2101, i16 9811, i16 3050, i16 0, i16 0, i16 5196, i16 0, i16 1922, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9812, i16 0, i16 0, i16 0, i16 2339, i16 0, i16 0, i16 11346, i16 11347, i16 11348, i16 11349, i16 11350, i16 0, i16 0, i16 6104, i16 0, i16 11351, i16 0, i16 2609, i16 11352, i16 0, i16 0, i16 11353, i16 0, i16 6105, i16 0, i16 0, i16 0, i16 11354, i16 11355, i16 11356, i16 0, i16 2903, i16 11357, i16 771, i16 0, i16 0, i16 0, i16 0, i16 8787, i16 4558, i16 8788, i16 8789, i16 0, i16 0, i16 2328, i16 8790, i16 0, i16 8791, i16 4559, i16 8792, i16 0, i16 0, i16 4560, i16 1241, i16 4561, i16 0, i16 4562, i16 4563, i16 2492, i16 0, i16 0, i16 0, i16 1542, i16 8793, i16 0, i16 3442, i16 0, i16 8794, i16 0, i16 3311, i16 9299, i16 4873, i16 1048, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1756, i16 0, i16 0, i16 9300, i16 900, i16 0, i16 0, i16 4890, i16 9301, i16 0, i16 3676, i16 4893, i16 9302, i16 0, i16 9303, i16 0, i16 0, i16 2181, i16 4892, i16 0, i16 0, i16 0, i16 2388, i16 7075, i16 13117, i16 0, i16 0, i16 0, i16 13118, i16 0, i16 0, i16 0, i16 13119, i16 13120, i16 7076, i16 0, i16 0, i16 13121, i16 0, i16 13122, i16 13123, i16 0, i16 13124, i16 0, i16 0, i16 13125, i16 0, i16 13126, i16 13127, i16 3096, i16 13128, i16 13129, i16 7077, i16 13130, i16 5972, i16 0, i16 11115, i16 11116, i16 11117, i16 5975, i16 0, i16 11118, i16 0, i16 2423, i16 1456, i16 0, i16 0, i16 11119, i16 11120, i16 872, i16 5974, i16 11121, i16 1642, i16 11156, i16 11099, i16 11122, i16 11123, i16 11124, i16 2424, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12628, i16 6804, i16 0, i16 12629, i16 6803, i16 12638, i16 12630, i16 0, i16 0, i16 0, i16 0, i16 12631, i16 3326, i16 2825, i16 12632, i16 12633, i16 12634, i16 0, i16 12635, i16 12636, i16 887, i16 12637, i16 0, i16 6805, i16 6802, i16 0, i16 0, i16 3144, i16 3545, i16 6806, i16 12639, i16 0, i16 9813, i16 0, i16 0, i16 0, i16 5199, i16 9814, i16 0, i16 9815, i16 5191, i16 0, i16 1410, i16 0, i16 9816, i16 0, i16 0, i16 5197, i16 0, i16 0, i16 9817, i16 0, i16 3519, i16 5200, i16 0, i16 0, i16 0, i16 7100, i16 9818, i16 9819, i16 0, i16 0, i16 0, i16 2014, i16 11093, i16 11094, i16 3425, i16 5959, i16 989, i16 1120, i16 5963, i16 11095, i16 11096, i16 5965, i16 11097, i16 11098, i16 0, i16 0, i16 1455, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5969, i16 5978, i16 5979, i16 0, i16 0, i16 11100, i16 756, i16 11101, i16 11102, i16 11103, i16 343, i16 0, i16 348, i16 344, i16 0, i16 0, i16 0, i16 349, i16 330, i16 0, i16 0, i16 331, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 354, i16 0, i16 0, i16 356, i16 292, i16 0, i16 7256, i16 7341, i16 7259, i16 7344, i16 7258, i16 7343, i16 7178, i16 7194, i16 7270, i16 7355, i16 7267, i16 7352, i16 7264, i16 7349, i16 7269, i16 7354, i16 7266, i16 7351, i16 7268, i16 7353, i16 7275, i16 7360, i16 7278, i16 7363, i16 7277, i16 7279, i16 7364, i16 7281, i16 7366, i16 7280, i16 7365, i16 0, i16 11608, i16 6262, i16 0, i16 0, i16 0, i16 11609, i16 6264, i16 3558, i16 0, i16 6263, i16 2193, i16 0, i16 6265, i16 0, i16 0, i16 6266, i16 11610, i16 0, i16 6267, i16 1170, i16 11611, i16 11612, i16 11613, i16 11614, i16 0, i16 0, i16 6268, i16 0, i16 11615, i16 6269, i16 0, i16 6270, i16 345, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 338, i16 339, i16 337, i16 336, i16 358, i16 359, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 293, i16 357, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 355, i16 0, i16 0, i16 3929, i16 1996, i16 7764, i16 2322, i16 0, i16 3931, i16 3930, i16 2064, i16 1562, i16 3933, i16 3031, i16 7766, i16 7765, i16 3934, i16 0, i16 0, i16 0, i16 3061, i16 2457, i16 2515, i16 1317, i16 0, i16 0, i16 2891, i16 2548, i16 7767, i16 2985, i16 7768, i16 3329, i16 0, i16 3936, i16 0, i16 9049, i16 0, i16 1614, i16 4714, i16 9050, i16 0, i16 1696, i16 2087, i16 9051, i16 9052, i16 4713, i16 0, i16 2088, i16 9053, i16 3409, i16 1695, i16 0, i16 9054, i16 9055, i16 800, i16 2295, i16 9056, i16 9057, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4720, i16 9058, i16 9059, i16 2266, i16 5210, i16 0, i16 0, i16 0, i16 0, i16 2414, i16 1803, i16 5212, i16 0, i16 0, i16 0, i16 0, i16 5211, i16 2159, i16 3955, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5213, i16 0, i16 0, i16 9838, i16 5215, i16 0, i16 5198, i16 5214, i16 0, i16 9839, i16 5216, i16 9820, i16 0, i16 9821, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5201, i16 0, i16 0, i16 0, i16 5202, i16 0, i16 0, i16 9822, i16 9823, i16 2921, i16 9824, i16 9825, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5204, i16 9826, i16 0, i16 0, i16 0, i16 5205, i16 9827, i16 1630, i16 0, i16 5677, i16 0, i16 0, i16 0, i16 10695, i16 3605, i16 0, i16 10696, i16 0, i16 10697, i16 0, i16 0, i16 0, i16 5679, i16 0, i16 0, i16 5680, i16 0, i16 5681, i16 10698, i16 5682, i16 0, i16 1848, i16 0, i16 5683, i16 1450, i16 0, i16 0, i16 1289, i16 0, i16 10590, i16 1162, i16 0, i16 0, i16 0, i16 10591, i16 0, i16 0, i16 0, i16 0, i16 2560, i16 0, i16 10592, i16 2342, i16 0, i16 10593, i16 10594, i16 3003, i16 10595, i16 0, i16 5620, i16 10596, i16 10597, i16 0, i16 3005, i16 0, i16 10598, i16 10599, i16 10600, i16 10601, i16 0, i16 0, i16 3168, i16 1751, i16 1646, i16 0, i16 11793, i16 0, i16 0, i16 3142, i16 996, i16 3047, i16 6379, i16 1172, i16 2302, i16 6378, i16 6383, i16 2620, i16 3444, i16 0, i16 6381, i16 6382, i16 1229, i16 0, i16 6384, i16 2974, i16 2500, i16 11794, i16 11795, i16 3082, i16 2748, i16 6380, i16 0, i16 3322, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 1377, i16 0, i16 0, i16 2005, i16 0, i16 2841, i16 0, i16 0, i16 12248, i16 12249, i16 12250, i16 0, i16 0, i16 12251, i16 12252, i16 0, i16 0, i16 2356, i16 12253, i16 6614, i16 0, i16 6608, i16 6613, i16 12254, i16 3412, i16 12255, i16 2649, i16 6615, i16 6612, i16 0, i16 0, i16 12256, i16 10849, i16 0, i16 5794, i16 5796, i16 0, i16 3540, i16 5795, i16 5798, i16 5797, i16 0, i16 3522, i16 10850, i16 5799, i16 10851, i16 3095, i16 10852, i16 10853, i16 10854, i16 0, i16 0, i16 5800, i16 0, i16 10855, i16 10856, i16 0, i16 0, i16 5803, i16 0, i16 10857, i16 5802, i16 5801, i16 0, i16 5475, i16 10333, i16 10334, i16 10335, i16 0, i16 2773, i16 1739, i16 1261, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10336, i16 10337, i16 0, i16 10338, i16 0, i16 3287, i16 0, i16 2950, i16 10339, i16 0, i16 10340, i16 0, i16 0, i16 2774, i16 0, i16 0, i16 0, i16 0, i16 1651, i16 7523, i16 7524, i16 7525, i16 3790, i16 0, i16 7526, i16 7527, i16 3791, i16 3795, i16 791, i16 7528, i16 0, i16 7529, i16 0, i16 7530, i16 3237, i16 3794, i16 7531, i16 7532, i16 7533, i16 0, i16 3793, i16 3797, i16 7534, i16 0, i16 7535, i16 3796, i16 0, i16 2693, i16 0, i16 0, i16 7536, i16 9828, i16 9829, i16 0, i16 2926, i16 9830, i16 0, i16 0, i16 0, i16 2804, i16 5207, i16 0, i16 9831, i16 9832, i16 0, i16 5209, i16 0, i16 3618, i16 0, i16 5206, i16 9833, i16 5208, i16 916, i16 9834, i16 5203, i16 0, i16 9835, i16 9836, i16 0, i16 9837, i16 0, i16 0, i16 4051, i16 11876, i16 11877, i16 11878, i16 11879, i16 0, i16 0, i16 11880, i16 11881, i16 0, i16 0, i16 6445, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6434, i16 11882, i16 0, i16 11883, i16 6435, i16 6433, i16 11884, i16 11885, i16 11886, i16 11887, i16 0, i16 0, i16 0, i16 11888, i16 0, i16 0, i16 4709, i16 4710, i16 1212, i16 0, i16 0, i16 2905, i16 2553, i16 1291, i16 1840, i16 2408, i16 0, i16 0, i16 2027, i16 761, i16 0, i16 0, i16 9042, i16 4711, i16 9043, i16 0, i16 9044, i16 9045, i16 0, i16 0, i16 0, i16 9046, i16 935, i16 4715, i16 0, i16 0, i16 9047, i16 9048, i16 8037, i16 0, i16 8038, i16 8039, i16 8040, i16 8041, i16 4095, i16 766, i16 1748, i16 8042, i16 8043, i16 0, i16 8044, i16 1432, i16 8045, i16 8046, i16 2578, i16 0, i16 0, i16 8047, i16 8048, i16 0, i16 0, i16 4096, i16 4097, i16 0, i16 0, i16 4099, i16 0, i16 8049, i16 8050, i16 8051, i16 615, i16 616, i16 0, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 7126, i16 7129, i16 7131, i16 7132, i16 7133, i16 7134, i16 7141, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 6247, i16 11588, i16 11589, i16 11590, i16 6250, i16 0, i16 6249, i16 0, i16 0, i16 0, i16 6252, i16 11591, i16 0, i16 6251, i16 11592, i16 6253, i16 11593, i16 0, i16 1984, i16 11594, i16 6254, i16 11595, i16 0, i16 6255, i16 0, i16 0, i16 11596, i16 11597, i16 11598, i16 11599, i16 6256, i16 2279, i16 8295, i16 0, i16 8296, i16 0, i16 0, i16 0, i16 0, i16 8297, i16 0, i16 0, i16 0, i16 0, i16 8298, i16 0, i16 0, i16 0, i16 0, i16 8299, i16 8300, i16 8301, i16 0, i16 8302, i16 0, i16 0, i16 8303, i16 0, i16 8304, i16 8305, i16 4208, i16 4212, i16 4209, i16 8306, i16 1128, i16 7640, i16 3851, i16 7641, i16 3849, i16 3406, i16 3850, i16 0, i16 3153, i16 3852, i16 3853, i16 3854, i16 2782, i16 7642, i16 0, i16 0, i16 3858, i16 3856, i16 3857, i16 3855, i16 1752, i16 3859, i16 3451, i16 3633, i16 7643, i16 0, i16 7644, i16 0, i16 7645, i16 3860, i16 7646, i16 7647, i16 2152, i16 12316, i16 6626, i16 6628, i16 12317, i16 12318, i16 1360, i16 12319, i16 3132, i16 12320, i16 12321, i16 1939, i16 3662, i16 0, i16 6624, i16 1773, i16 0, i16 0, i16 3690, i16 12322, i16 12323, i16 6630, i16 12324, i16 12325, i16 0, i16 0, i16 6629, i16 6631, i16 0, i16 0, i16 0, i16 0, i16 3944, i16 7785, i16 0, i16 0, i16 7786, i16 3946, i16 3945, i16 0, i16 2218, i16 864, i16 7787, i16 7788, i16 0, i16 901, i16 3947, i16 7789, i16 3948, i16 0, i16 7790, i16 1520, i16 7791, i16 7792, i16 3949, i16 7793, i16 7794, i16 0, i16 7795, i16 1293, i16 0, i16 7796, i16 0, i16 0, i16 4200, i16 3671, i16 0, i16 0, i16 8271, i16 8272, i16 2951, i16 8273, i16 8274, i16 4202, i16 0, i16 0, i16 8275, i16 0, i16 0, i16 0, i16 8276, i16 0, i16 0, i16 0, i16 0, i16 8277, i16 0, i16 0, i16 0, i16 0, i16 1692, i16 0, i16 0, i16 0, i16 8278, i16 0, i16 5994, i16 0, i16 5984, i16 0, i16 0, i16 0, i16 11142, i16 11143, i16 5996, i16 11144, i16 5982, i16 2999, i16 11145, i16 11170, i16 0, i16 0, i16 0, i16 3544, i16 0, i16 0, i16 0, i16 5991, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6013, i16 11146, i16 11147, i16 4972, i16 0, i16 9436, i16 4974, i16 4973, i16 9437, i16 3339, i16 0, i16 0, i16 2029, i16 1949, i16 1815, i16 0, i16 4975, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4977, i16 2158, i16 9438, i16 4976, i16 0, i16 0, i16 9439, i16 0, i16 0, i16 4978, i16 9440, i16 5228, i16 9855, i16 9856, i16 9857, i16 0, i16 9858, i16 5229, i16 3239, i16 3040, i16 0, i16 0, i16 5230, i16 2962, i16 0, i16 9859, i16 9860, i16 9861, i16 0, i16 2638, i16 9862, i16 0, i16 9863, i16 9864, i16 0, i16 5231, i16 1004, i16 9865, i16 1292, i16 9866, i16 3415, i16 9867, i16 3399, i16 365, i16 366, i16 0, i16 0, i16 0, i16 258, i16 257, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 361, i16 0, i16 297, i16 298, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 323, i16 0, i16 0, i16 0, i16 0, i16 878, i16 9060, i16 9061, i16 9062, i16 9063, i16 2020, i16 9064, i16 3353, i16 1767, i16 9065, i16 9066, i16 9067, i16 9068, i16 2089, i16 9069, i16 2256, i16 9070, i16 9071, i16 0, i16 9072, i16 4719, i16 4717, i16 4718, i16 9074, i16 0, i16 9073, i16 0, i16 0, i16 2606, i16 0, i16 0, i16 4750, i16 10350, i16 10351, i16 0, i16 10352, i16 10353, i16 0, i16 0, i16 0, i16 10354, i16 0, i16 10355, i16 3583, i16 1628, i16 0, i16 10356, i16 1504, i16 0, i16 0, i16 3004, i16 0, i16 5479, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10357, i16 0, i16 5481, i16 0, i16 10358, i16 0, i16 6767, i16 7051, i16 3421, i16 12559, i16 6768, i16 0, i16 6769, i16 12560, i16 6770, i16 1082, i16 12561, i16 6772, i16 0, i16 2212, i16 12562, i16 0, i16 0, i16 6773, i16 0, i16 12563, i16 1407, i16 0, i16 12564, i16 12565, i16 12566, i16 6774, i16 6778, i16 12567, i16 6776, i16 12568, i16 0, i16 12569, i16 9328, i16 9329, i16 4897, i16 9330, i16 0, i16 4904, i16 0, i16 0, i16 0, i16 0, i16 4910, i16 3086, i16 4916, i16 0, i16 0, i16 9331, i16 0, i16 9332, i16 4911, i16 4914, i16 4908, i16 9333, i16 0, i16 2615, i16 0, i16 3119, i16 9334, i16 4898, i16 0, i16 9335, i16 4906, i16 2093, i16 9840, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2997, i16 9841, i16 9842, i16 9843, i16 0, i16 0, i16 0, i16 5217, i16 0, i16 0, i16 5218, i16 0, i16 0, i16 9844, i16 0, i16 0, i16 0, i16 9845, i16 0, i16 0, i16 9846, i16 5219, i16 0, i16 9847, i16 0, i16 9848, i16 10096, i16 10097, i16 0, i16 1805, i16 10098, i16 928, i16 5328, i16 10099, i16 3520, i16 10100, i16 10101, i16 3256, i16 5329, i16 0, i16 0, i16 10102, i16 2755, i16 3490, i16 1626, i16 2184, i16 0, i16 0, i16 10103, i16 2574, i16 3918, i16 10104, i16 2639, i16 1005, i16 5330, i16 10105, i16 10106, i16 10107, i16 7537, i16 0, i16 7538, i16 7539, i16 0, i16 1485, i16 7540, i16 7541, i16 0, i16 0, i16 7542, i16 0, i16 3798, i16 7543, i16 0, i16 0, i16 7544, i16 7545, i16 1910, i16 0, i16 2443, i16 2694, i16 1395, i16 0, i16 3799, i16 0, i16 0, i16 0, i16 0, i16 1237, i16 0, i16 0, i16 11377, i16 11378, i16 0, i16 11379, i16 6114, i16 11380, i16 6115, i16 1929, i16 0, i16 6117, i16 0, i16 2564, i16 0, i16 1457, i16 1061, i16 0, i16 0, i16 11381, i16 11382, i16 0, i16 6120, i16 11383, i16 0, i16 11384, i16 0, i16 1058, i16 11385, i16 6125, i16 11386, i16 0, i16 6121, i16 6124, i16 11889, i16 11890, i16 6432, i16 0, i16 2718, i16 0, i16 0, i16 6437, i16 6441, i16 6438, i16 6436, i16 11891, i16 6439, i16 11892, i16 11893, i16 11894, i16 6440, i16 0, i16 0, i16 0, i16 11895, i16 6447, i16 0, i16 0, i16 0, i16 6442, i16 0, i16 11896, i16 11897, i16 11898, i16 11899, i16 2305, i16 10866, i16 940, i16 0, i16 10867, i16 0, i16 5812, i16 5813, i16 0, i16 10868, i16 0, i16 5814, i16 0, i16 3537, i16 0, i16 10869, i16 10870, i16 0, i16 0, i16 1979, i16 0, i16 5816, i16 5815, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10871, i16 0, i16 0, i16 0, i16 10872, i16 3699, i16 4782, i16 2240, i16 0, i16 0, i16 0, i16 4781, i16 0, i16 0, i16 4776, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1544, i16 9169, i16 9170, i16 9171, i16 4788, i16 4786, i16 9172, i16 978, i16 4784, i16 4790, i16 4796, i16 0, i16 9173, i16 9174, i16 9175, i16 0, i16 0, i16 7283, i16 7282, i16 7285, i16 7291, i16 7284, i16 7290, i16 7180, i16 7295, i16 7299, i16 7298, i16 7301, i16 7300, i16 7312, i16 7311, i16 7314, i16 7313, i16 7182, i16 7327, i16 7329, i16 7328, i16 7331, i16 7335, i16 7330, i16 285, i16 7191, i16 7346, i16 7345, i16 7348, i16 7347, i16 7361, i16 7195, i16 7362, i16 9075, i16 4724, i16 1873, i16 1615, i16 4722, i16 9076, i16 9077, i16 0, i16 0, i16 4723, i16 9078, i16 2179, i16 9079, i16 0, i16 9081, i16 4721, i16 0, i16 9080, i16 1794, i16 0, i16 0, i16 0, i16 0, i16 9082, i16 9083, i16 9084, i16 0, i16 9085, i16 9086, i16 4726, i16 4725, i16 4730, i16 1908, i16 0, i16 11233, i16 11234, i16 0, i16 0, i16 6015, i16 11235, i16 0, i16 0, i16 0, i16 0, i16 11236, i16 0, i16 11237, i16 0, i16 11238, i16 3235, i16 0, i16 3379, i16 6055, i16 6054, i16 0, i16 6050, i16 6051, i16 0, i16 861, i16 0, i16 11239, i16 0, i16 11240, i16 6053, i16 1909, i16 0, i16 0, i16 0, i16 2851, i16 5627, i16 5626, i16 0, i16 10612, i16 5623, i16 10613, i16 0, i16 0, i16 3681, i16 0, i16 0, i16 0, i16 0, i16 10614, i16 5632, i16 10615, i16 10616, i16 5636, i16 5633, i16 10617, i16 10618, i16 10619, i16 0, i16 10620, i16 0, i16 10621, i16 0, i16 7797, i16 0, i16 1797, i16 3950, i16 0, i16 7798, i16 0, i16 0, i16 3367, i16 1706, i16 1273, i16 3478, i16 2391, i16 3032, i16 1966, i16 7799, i16 0, i16 0, i16 7800, i16 7801, i16 2006, i16 7802, i16 1945, i16 1958, i16 0, i16 2053, i16 7803, i16 3033, i16 0, i16 7804, i16 7805, i16 3953, i16 12917, i16 0, i16 12918, i16 0, i16 6964, i16 0, i16 6960, i16 0, i16 6961, i16 6957, i16 6963, i16 12919, i16 6959, i16 1093, i16 0, i16 12920, i16 3703, i16 12921, i16 6962, i16 6958, i16 6956, i16 6955, i16 12922, i16 0, i16 12923, i16 12924, i16 12925, i16 6966, i16 12926, i16 0, i16 12927, i16 0, i16 9590, i16 2555, i16 9591, i16 0, i16 5069, i16 9592, i16 5058, i16 0, i16 5064, i16 9593, i16 5071, i16 837, i16 5061, i16 0, i16 5072, i16 9594, i16 9595, i16 2183, i16 0, i16 2030, i16 9596, i16 3194, i16 9597, i16 1699, i16 0, i16 5053, i16 5067, i16 2745, i16 9598, i16 0, i16 0, i16 0, i16 3448, i16 0, i16 6681, i16 2357, i16 12444, i16 0, i16 0, i16 6682, i16 12445, i16 3225, i16 6683, i16 1038, i16 12446, i16 12447, i16 12448, i16 867, i16 0, i16 1176, i16 0, i16 1175, i16 6684, i16 0, i16 6685, i16 0, i16 6686, i16 6687, i16 0, i16 0, i16 0, i16 12449, i16 12450, i16 12451, i16 4472, i16 4470, i16 8699, i16 2401, i16 0, i16 8700, i16 0, i16 4460, i16 1799, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2475, i16 4491, i16 8701, i16 2402, i16 4486, i16 8702, i16 4483, i16 4484, i16 8703, i16 1943, i16 4487, i16 4490, i16 8704, i16 8705, i16 0, i16 0, i16 6008, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11157, i16 3267, i16 11158, i16 5999, i16 0, i16 0, i16 0, i16 991, i16 1551, i16 3104, i16 6009, i16 0, i16 5997, i16 0, i16 11159, i16 6006, i16 11160, i16 11161, i16 0, i16 6016, i16 11162, i16 6001, i16 0, i16 0, i16 9336, i16 3424, i16 4926, i16 4913, i16 9337, i16 0, i16 0, i16 0, i16 9338, i16 1499, i16 936, i16 1090, i16 0, i16 0, i16 4889, i16 0, i16 9339, i16 0, i16 9340, i16 0, i16 9341, i16 2094, i16 4918, i16 9342, i16 4925, i16 1962, i16 1109, i16 9343, i16 0, i16 2545, i16 9344, i16 9345, i16 11640, i16 0, i16 11641, i16 1480, i16 11642, i16 6284, i16 11643, i16 0, i16 0, i16 0, i16 3295, i16 11644, i16 11645, i16 2312, i16 0, i16 11646, i16 0, i16 1301, i16 0, i16 3462, i16 2385, i16 11647, i16 6285, i16 11648, i16 0, i16 0, i16 2194, i16 2611, i16 2119, i16 11649, i16 11650, i16 0, i16 8313, i16 2599, i16 0, i16 4213, i16 0, i16 8314, i16 4215, i16 0, i16 0, i16 4216, i16 8315, i16 0, i16 0, i16 0, i16 8316, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8317, i16 8318, i16 0, i16 0, i16 0, i16 4218, i16 4219, i16 0, i16 8319, i16 0, i16 0, i16 11129, i16 0, i16 11130, i16 0, i16 11131, i16 5980, i16 11132, i16 5988, i16 0, i16 5995, i16 5989, i16 0, i16 0, i16 11133, i16 5987, i16 0, i16 0, i16 0, i16 11134, i16 5958, i16 11135, i16 11136, i16 5985, i16 0, i16 11137, i16 11138, i16 5981, i16 11139, i16 11140, i16 11141, i16 1169, i16 5983, i16 890, i16 11664, i16 6294, i16 1459, i16 0, i16 11665, i16 1857, i16 11666, i16 0, i16 1856, i16 0, i16 3704, i16 6293, i16 6292, i16 2350, i16 0, i16 1260, i16 3694, i16 1053, i16 2121, i16 0, i16 11667, i16 11668, i16 11669, i16 0, i16 11670, i16 11671, i16 11672, i16 6291, i16 0, i16 11673, i16 11674, i16 3962, i16 0, i16 3663, i16 7821, i16 7822, i16 0, i16 3271, i16 7823, i16 2697, i16 1563, i16 1671, i16 0, i16 0, i16 7824, i16 3970, i16 7825, i16 0, i16 2874, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7826, i16 3974, i16 3707, i16 4830, i16 0, i16 0, i16 4844, i16 801, i16 9267, i16 0, i16 4832, i16 9268, i16 9269, i16 3403, i16 4837, i16 2157, i16 2664, i16 4827, i16 9270, i16 9271, i16 4843, i16 9272, i16 0, i16 0, i16 9273, i16 9274, i16 0, i16 2245, i16 4853, i16 1108, i16 1498, i16 0, i16 0, i16 0, i16 11387, i16 0, i16 0, i16 11388, i16 3027, i16 11389, i16 0, i16 11390, i16 0, i16 6122, i16 0, i16 0, i16 6123, i16 3135, i16 3059, i16 6126, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2530, i16 6136, i16 11392, i16 6132, i16 11393, i16 11394, i16 1008, i16 0, i16 2172, i16 0, i16 0, i16 8264, i16 8265, i16 4194, i16 0, i16 8266, i16 8267, i16 3247, i16 8268, i16 0, i16 0, i16 8269, i16 0, i16 1565, i16 8270, i16 0, i16 0, i16 0, i16 0, i16 4203, i16 4204, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2072, i16 0, i16 0, i16 0, i16 6012, i16 0, i16 6011, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2982, i16 6018, i16 0, i16 6029, i16 0, i16 0, i16 11171, i16 0, i16 1121, i16 0, i16 0, i16 0, i16 6032, i16 0, i16 0, i16 6014, i16 11172, i16 0, i16 0, i16 6019, i16 3549, i16 0, i16 0, i16 10108, i16 0, i16 0, i16 10109, i16 5331, i16 0, i16 5336, i16 10110, i16 10111, i16 5334, i16 5333, i16 4684, i16 1033, i16 5332, i16 10112, i16 803, i16 10113, i16 3011, i16 10114, i16 0, i16 3043, i16 0, i16 0, i16 10115, i16 0, i16 3582, i16 5337, i16 5335, i16 2591, i16 2255, i16 10116, i16 10117, i16 7806, i16 874, i16 2392, i16 1590, i16 1534, i16 1380, i16 7807, i16 7808, i16 3957, i16 2532, i16 2531, i16 1320, i16 2065, i16 3958, i16 3956, i16 969, i16 2507, i16 1897, i16 1822, i16 845, i16 0, i16 7809, i16 1107, i16 1661, i16 1821, i16 0, i16 3959, i16 0, i16 0, i16 0, i16 0, i16 0, i16 639, i16 640, i16 7138, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 7135, i16 7140, i16 7137, i16 7139, i16 7142, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6271, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1076, i16 0, i16 11616, i16 11617, i16 11618, i16 11619, i16 11620, i16 0, i16 6272, i16 0, i16 6273, i16 6274, i16 0, i16 0, i16 9087, i16 9088, i16 4731, i16 0, i16 4727, i16 0, i16 1029, i16 4728, i16 4729, i16 3054, i16 9090, i16 9091, i16 9092, i16 0, i16 3160, i16 1445, i16 4732, i16 0, i16 0, i16 9094, i16 2267, i16 9095, i16 2090, i16 9097, i16 9098, i16 9099, i16 2581, i16 9100, i16 9102, i16 0, i16 9093, i16 9096, i16 9599, i16 0, i16 0, i16 0, i16 9600, i16 2271, i16 0, i16 1100, i16 1734, i16 2097, i16 5055, i16 2001, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1447, i16 0, i16 5054, i16 0, i16 0, i16 0, i16 5076, i16 2044, i16 1523, i16 0, i16 5091, i16 9601, i16 5085, i16 8320, i16 8321, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8322, i16 1203, i16 0, i16 4221, i16 4220, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4222, i16 8323, i16 0, i16 8325, i16 0, i16 8326, i16 0, i16 8327, i16 0, i16 0, i16 8576, i16 4395, i16 0, i16 0, i16 8577, i16 8578, i16 0, i16 8579, i16 4396, i16 0, i16 1325, i16 0, i16 4397, i16 8580, i16 4398, i16 0, i16 8581, i16 4400, i16 0, i16 2805, i16 8582, i16 0, i16 4401, i16 4402, i16 8583, i16 4403, i16 0, i16 8584, i16 4388, i16 4387, i16 0, i16 0, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 0, i16 0, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 1665, i16 2915, i16 0, i16 0, i16 5051, i16 0, i16 0, i16 0, i16 9719, i16 9720, i16 0, i16 3555, i16 5149, i16 0, i16 5153, i16 2522, i16 9721, i16 5152, i16 0, i16 5131, i16 0, i16 9722, i16 6697, i16 0, i16 0, i16 9723, i16 5157, i16 0, i16 9724, i16 9725, i16 5161, i16 0, i16 5249, i16 5250, i16 5248, i16 0, i16 0, i16 9900, i16 0, i16 0, i16 0, i16 1950, i16 0, i16 0, i16 2853, i16 1334, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9901, i16 9902, i16 0, i16 0, i16 5252, i16 2543, i16 5251, i16 9903, i16 9904, i16 3680, i16 2973, i16 9905, i16 0, i16 5507, i16 1426, i16 0, i16 0, i16 10420, i16 10421, i16 10422, i16 1247, i16 1222, i16 1846, i16 10423, i16 10424, i16 0, i16 0, i16 0, i16 10425, i16 3491, i16 10426, i16 0, i16 5513, i16 10427, i16 5512, i16 2379, i16 5509, i16 10428, i16 0, i16 5511, i16 10429, i16 10430, i16 2010, i16 2187, i16 5510, i16 11651, i16 6286, i16 0, i16 11652, i16 0, i16 11653, i16 6289, i16 11654, i16 6290, i16 11655, i16 0, i16 0, i16 0, i16 11656, i16 11657, i16 0, i16 1715, i16 2471, i16 6288, i16 11658, i16 2120, i16 3125, i16 11659, i16 11660, i16 11661, i16 0, i16 0, i16 6287, i16 11662, i16 11663, i16 1855, i16 0, i16 5508, i16 0, i16 2917, i16 0, i16 0, i16 2106, i16 0, i16 10431, i16 3123, i16 10432, i16 0, i16 10433, i16 0, i16 1740, i16 0, i16 0, i16 0, i16 0, i16 10434, i16 0, i16 0, i16 0, i16 0, i16 2807, i16 0, i16 10435, i16 5514, i16 10436, i16 10437, i16 0, i16 10438, i16 5515, i16 4485, i16 1972, i16 8706, i16 4488, i16 0, i16 0, i16 4482, i16 8707, i16 3469, i16 3468, i16 8708, i16 0, i16 8709, i16 4492, i16 4493, i16 798, i16 8710, i16 8711, i16 8712, i16 8713, i16 8714, i16 4481, i16 8715, i16 8716, i16 0, i16 8717, i16 1391, i16 751, i16 8718, i16 0, i16 8719, i16 1143, i16 4230, i16 8332, i16 0, i16 4228, i16 0, i16 4229, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8333, i16 8334, i16 0, i16 0, i16 0, i16 1829, i16 4231, i16 8335, i16 0, i16 1597, i16 4232, i16 8336, i16 1869, i16 2461, i16 0, i16 4233, i16 4234, i16 1837, i16 1598, i16 8337, i16 3427, i16 1673, i16 0, i16 3259, i16 5542, i16 10499, i16 10500, i16 3335, i16 10501, i16 10502, i16 5544, i16 0, i16 0, i16 10503, i16 2298, i16 886, i16 959, i16 757, i16 0, i16 0, i16 0, i16 0, i16 10504, i16 10505, i16 5543, i16 0, i16 10506, i16 0, i16 0, i16 10507, i16 10508, i16 0, i16 10509, i16 2441, i16 6521, i16 754, i16 3661, i16 0, i16 0, i16 0, i16 6526, i16 12021, i16 12022, i16 12024, i16 0, i16 12025, i16 12026, i16 2502, i16 12023, i16 0, i16 1988, i16 2197, i16 12027, i16 12028, i16 6528, i16 6527, i16 12029, i16 824, i16 6529, i16 0, i16 0, i16 3110, i16 0, i16 6537, i16 12030, i16 8585, i16 4404, i16 1436, i16 8586, i16 8587, i16 0, i16 3102, i16 8588, i16 0, i16 1729, i16 3118, i16 2631, i16 3138, i16 4405, i16 0, i16 8589, i16 2081, i16 877, i16 8590, i16 4406, i16 8591, i16 8592, i16 0, i16 4407, i16 8593, i16 3459, i16 8594, i16 0, i16 3065, i16 8595, i16 8596, i16 4410, i16 10634, i16 1163, i16 0, i16 5637, i16 0, i16 10635, i16 10636, i16 5638, i16 10637, i16 0, i16 5639, i16 5642, i16 10638, i16 0, i16 0, i16 0, i16 0, i16 10639, i16 0, i16 10640, i16 10641, i16 0, i16 10642, i16 5641, i16 3087, i16 10643, i16 10644, i16 0, i16 0, i16 5643, i16 3657, i16 3266, i16 1675, i16 3402, i16 12998, i16 12997, i16 7003, i16 12999, i16 0, i16 0, i16 0, i16 13000, i16 13001, i16 13002, i16 3301, i16 0, i16 0, i16 7011, i16 13003, i16 0, i16 7007, i16 0, i16 0, i16 0, i16 13004, i16 13005, i16 0, i16 0, i16 7012, i16 13006, i16 13007, i16 0, i16 13008, i16 0, i16 7563, i16 7564, i16 7565, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7566, i16 0, i16 1722, i16 3506, i16 0, i16 7567, i16 7568, i16 0, i16 3804, i16 3807, i16 3803, i16 1721, i16 0, i16 2060, i16 0, i16 7569, i16 7570, i16 0, i16 0, i16 7571, i16 1428, i16 0, i16 3980, i16 7837, i16 0, i16 7838, i16 3982, i16 7839, i16 3984, i16 0, i16 7840, i16 7841, i16 0, i16 1765, i16 3693, i16 7842, i16 3973, i16 3971, i16 3983, i16 7843, i16 3978, i16 0, i16 0, i16 7844, i16 7845, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7846, i16 0, i16 0, i16 7847, i16 9868, i16 953, i16 3679, i16 9869, i16 0, i16 0, i16 0, i16 3333, i16 9870, i16 3199, i16 0, i16 9871, i16 0, i16 0, i16 9872, i16 9873, i16 0, i16 9874, i16 2272, i16 0, i16 5232, i16 0, i16 0, i16 9875, i16 9876, i16 2848, i16 0, i16 9877, i16 9878, i16 1500, i16 5233, i16 9879, i16 11148, i16 6005, i16 0, i16 0, i16 0, i16 2246, i16 0, i16 11149, i16 0, i16 11150, i16 1253, i16 0, i16 1370, i16 0, i16 6000, i16 11151, i16 11152, i16 11153, i16 0, i16 992, i16 11154, i16 0, i16 2113, i16 0, i16 6003, i16 0, i16 0, i16 0, i16 1743, i16 11155, i16 0, i16 2768, i16 4749, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4751, i16 0, i16 9131, i16 4752, i16 0, i16 9132, i16 9133, i16 0, i16 9134, i16 0, i16 4753, i16 0, i16 1351, i16 879, i16 1616, i16 4754, i16 0, i16 4755, i16 2048, i16 2409, i16 9135, i16 9089, i16 3954, i16 2373, i16 2372, i16 2493, i16 9101, i16 1348, i16 0, i16 4733, i16 4737, i16 0, i16 0, i16 976, i16 4734, i16 4736, i16 0, i16 9103, i16 9104, i16 9105, i16 4735, i16 0, i16 9106, i16 2042, i16 9107, i16 0, i16 0, i16 0, i16 2571, i16 782, i16 4738, i16 9108, i16 9109, i16 9110, i16 9111, i16 4739, i16 0, i16 9112, i16 10897, i16 5830, i16 0, i16 0, i16 10898, i16 0, i16 10899, i16 0, i16 5831, i16 0, i16 0, i16 0, i16 10900, i16 0, i16 10901, i16 0, i16 10902, i16 0, i16 0, i16 1883, i16 10903, i16 10904, i16 3454, i16 10905, i16 0, i16 10906, i16 10907, i16 5833, i16 10908, i16 2562, i16 10909, i16 5832, i16 3218, i16 3626, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8131, i16 1017, i16 4128, i16 8132, i16 8133, i16 0, i16 8134, i16 8135, i16 2369, i16 4131, i16 0, i16 2786, i16 8136, i16 0, i16 2760, i16 2787, i16 3026, i16 2670, i16 0, i16 0, i16 0, i16 1726, i16 8137, i16 3731, i16 3303, i16 3732, i16 0, i16 1579, i16 816, i16 3365, i16 0, i16 1307, i16 0, i16 0, i16 1308, i16 1309, i16 2691, i16 3593, i16 7399, i16 3733, i16 0, i16 0, i16 3734, i16 0, i16 0, i16 3735, i16 0, i16 0, i16 7400, i16 2200, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4243, i16 8345, i16 0, i16 4244, i16 8346, i16 2517, i16 8347, i16 846, i16 1946, i16 779, i16 8348, i16 2398, i16 1137, i16 1894, i16 8349, i16 1599, i16 8350, i16 8351, i16 0, i16 8352, i16 8353, i16 2789, i16 8354, i16 1968, i16 1138, i16 2603, i16 2699, i16 769, i16 1240, i16 3274, i16 0, i16 1907, i16 7060, i16 0, i16 0, i16 0, i16 13092, i16 7061, i16 0, i16 13093, i16 7062, i16 0, i16 0, i16 0, i16 13094, i16 13095, i16 13096, i16 7063, i16 13097, i16 13098, i16 13099, i16 0, i16 7064, i16 13100, i16 7065, i16 7066, i16 13101, i16 7067, i16 0, i16 7068, i16 7069, i16 7070, i16 0, i16 13102, i16 7572, i16 0, i16 3808, i16 7573, i16 7574, i16 1356, i16 0, i16 7575, i16 0, i16 3805, i16 3806, i16 0, i16 7576, i16 2828, i16 7577, i16 2435, i16 7578, i16 1312, i16 0, i16 7579, i16 7580, i16 3328, i16 3809, i16 0, i16 7581, i16 0, i16 3594, i16 0, i16 7582, i16 7583, i16 3810, i16 7584, i16 6549, i16 6548, i16 6546, i16 5564, i16 1173, i16 12043, i16 0, i16 6514, i16 12044, i16 6551, i16 6550, i16 12045, i16 12046, i16 0, i16 12047, i16 6552, i16 12048, i16 3495, i16 0, i16 0, i16 0, i16 12049, i16 0, i16 12050, i16 12051, i16 12052, i16 0, i16 12053, i16 0, i16 0, i16 0, i16 0, i16 2710, i16 2000, i16 1280, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9490, i16 9491, i16 0, i16 9492, i16 3039, i16 9493, i16 1887, i16 0, i16 9494, i16 0, i16 9495, i16 5004, i16 0, i16 1153, i16 0, i16 9496, i16 927, i16 9497, i16 9498, i16 2895, i16 5003, i16 1621, i16 10390, i16 10391, i16 0, i16 0, i16 10387, i16 0, i16 10392, i16 5497, i16 3348, i16 0, i16 10393, i16 0, i16 5496, i16 0, i16 0, i16 820, i16 0, i16 0, i16 10394, i16 10395, i16 5500, i16 0, i16 10397, i16 10398, i16 0, i16 0, i16 10399, i16 10400, i16 0, i16 5499, i16 0, i16 10401, i16 12184, i16 12185, i16 0, i16 0, i16 12186, i16 12187, i16 12188, i16 12189, i16 0, i16 12190, i16 12191, i16 0, i16 12192, i16 2876, i16 1062, i16 0, i16 12193, i16 6601, i16 12194, i16 12195, i16 6598, i16 6600, i16 12196, i16 0, i16 12197, i16 0, i16 0, i16 0, i16 12198, i16 12199, i16 6596, i16 0, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 3481, i16 0, i16 8676, i16 1142, i16 8677, i16 8678, i16 896, i16 4468, i16 8679, i16 2933, i16 758, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8680, i16 8681, i16 3066, i16 4428, i16 4474, i16 4478, i16 3446, i16 8682, i16 4471, i16 0, i16 0, i16 8683, i16 2792, i16 4476, i16 8684, i16 0, i16 9113, i16 0, i16 2635, i16 0, i16 9114, i16 0, i16 3646, i16 0, i16 0, i16 0, i16 0, i16 1814, i16 0, i16 9115, i16 3264, i16 0, i16 0, i16 9116, i16 9117, i16 0, i16 3312, i16 9118, i16 0, i16 0, i16 4746, i16 4741, i16 0, i16 9119, i16 4744, i16 0, i16 4743, i16 9120, i16 922, i16 2387, i16 12036, i16 1512, i16 0, i16 3529, i16 12037, i16 12038, i16 6541, i16 2731, i16 0, i16 0, i16 12039, i16 2431, i16 1928, i16 6542, i16 12040, i16 0, i16 6545, i16 0, i16 12041, i16 2036, i16 6543, i16 2354, i16 2353, i16 12042, i16 813, i16 0, i16 3608, i16 6547, i16 0, i16 3083, i16 2714, i16 5730, i16 10770, i16 0, i16 5726, i16 10771, i16 10772, i16 0, i16 3241, i16 1164, i16 10773, i16 10774, i16 3420, i16 10775, i16 0, i16 807, i16 0, i16 10776, i16 5729, i16 0, i16 3658, i16 10777, i16 10778, i16 0, i16 0, i16 10779, i16 10780, i16 5728, i16 0, i16 0, i16 0, i16 0, i16 11930, i16 11931, i16 0, i16 11932, i16 11933, i16 6468, i16 6465, i16 11934, i16 6469, i16 0, i16 1927, i16 6470, i16 1231, i16 1422, i16 0, i16 11935, i16 0, i16 11936, i16 1511, i16 0, i16 11937, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6471, i16 11938, i16 0, i16 0, i16 2893, i16 11419, i16 0, i16 0, i16 11420, i16 0, i16 11421, i16 0, i16 0, i16 0, i16 2319, i16 0, i16 3684, i16 6148, i16 11422, i16 6149, i16 0, i16 0, i16 0, i16 0, i16 6155, i16 0, i16 2165, i16 0, i16 6151, i16 11423, i16 6154, i16 0, i16 0, i16 0, i16 11424, i16 0, i16 6146, i16 11675, i16 0, i16 6296, i16 11676, i16 6297, i16 6295, i16 11677, i16 1553, i16 0, i16 3503, i16 0, i16 11678, i16 1858, i16 2914, i16 0, i16 11679, i16 11680, i16 6300, i16 11681, i16 2281, i16 0, i16 2565, i16 11682, i16 11683, i16 3493, i16 11684, i16 6303, i16 0, i16 0, i16 0, i16 1573, i16 11685, i16 10140, i16 10141, i16 5356, i16 5358, i16 10142, i16 3129, i16 10143, i16 2102, i16 0, i16 0, i16 5365, i16 0, i16 10144, i16 5364, i16 10145, i16 10146, i16 0, i16 0, i16 5366, i16 0, i16 1879, i16 1700, i16 0, i16 10147, i16 2806, i16 5367, i16 0, i16 2668, i16 10148, i16 0, i16 5369, i16 10149, i16 10396, i16 2105, i16 0, i16 0, i16 0, i16 0, i16 10402, i16 5501, i16 0, i16 0, i16 0, i16 0, i16 10403, i16 0, i16 2378, i16 0, i16 10404, i16 5503, i16 5502, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5504, i16 10405, i16 0, i16 10406, i16 0, i16 10407, i16 10408, i16 5789, i16 10839, i16 0, i16 10840, i16 10841, i16 10842, i16 10843, i16 5792, i16 5790, i16 5791, i16 1750, i16 1454, i16 0, i16 10844, i16 2585, i16 0, i16 3020, i16 10845, i16 2047, i16 0, i16 0, i16 2952, i16 0, i16 3078, i16 5793, i16 4539, i16 0, i16 0, i16 0, i16 10846, i16 10847, i16 10848, i16 10910, i16 0, i16 0, i16 0, i16 10911, i16 0, i16 5835, i16 0, i16 0, i16 0, i16 5834, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5836, i16 0, i16 0, i16 0, i16 2276, i16 0, i16 5837, i16 0, i16 5838, i16 0, i16 0, i16 0, i16 3214, i16 5839, i16 12702, i16 12703, i16 6839, i16 0, i16 0, i16 6841, i16 12704, i16 12705, i16 12706, i16 6840, i16 0, i16 6843, i16 6846, i16 12707, i16 12708, i16 0, i16 6842, i16 6844, i16 6845, i16 0, i16 12709, i16 6847, i16 0, i16 1343, i16 12710, i16 12711, i16 0, i16 12712, i16 12713, i16 0, i16 12714, i16 12715, i16 1951, i16 9987, i16 0, i16 9988, i16 0, i16 5280, i16 9989, i16 9990, i16 0, i16 9991, i16 1433, i16 0, i16 0, i16 3042, i16 5281, i16 0, i16 0, i16 5308, i16 0, i16 0, i16 9992, i16 9993, i16 0, i16 9994, i16 5287, i16 9995, i16 9996, i16 9997, i16 0, i16 9998, i16 1526, i16 9999, i16 5279, i16 0, i16 982, i16 0, i16 0, i16 9976, i16 9977, i16 0, i16 5275, i16 9978, i16 1804, i16 9979, i16 9980, i16 2658, i16 5277, i16 9981, i16 0, i16 0, i16 9982, i16 9983, i16 0, i16 0, i16 9984, i16 0, i16 0, i16 9985, i16 0, i16 0, i16 0, i16 9986, i16 5282, i16 0, i16 5535, i16 10488, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10489, i16 0, i16 0, i16 0, i16 10490, i16 0, i16 10491, i16 1952, i16 10492, i16 10493, i16 5538, i16 825, i16 0, i16 10494, i16 10495, i16 0, i16 5541, i16 10496, i16 10497, i16 10498, i16 5539, i16 985, i16 1449, i16 5540, i16 1629, i16 2976, i16 11805, i16 1510, i16 6388, i16 6387, i16 0, i16 3169, i16 0, i16 11806, i16 0, i16 1906, i16 0, i16 11807, i16 2769, i16 0, i16 11808, i16 11809, i16 0, i16 11810, i16 0, i16 0, i16 11811, i16 0, i16 11812, i16 11813, i16 0, i16 6391, i16 6392, i16 1647, i16 6390, i16 11814, i16 11815, i16 9632, i16 0, i16 823, i16 0, i16 0, i16 5106, i16 0, i16 9633, i16 0, i16 0, i16 5094, i16 0, i16 0, i16 9634, i16 9635, i16 5100, i16 0, i16 9636, i16 5102, i16 9637, i16 0, i16 0, i16 3518, i16 5097, i16 0, i16 0, i16 2733, i16 9638, i16 0, i16 5099, i16 0, i16 9639, i16 10912, i16 2422, i16 5840, i16 0, i16 10913, i16 0, i16 10914, i16 0, i16 5841, i16 0, i16 0, i16 0, i16 0, i16 10915, i16 0, i16 3659, i16 5844, i16 10916, i16 5843, i16 5842, i16 2641, i16 10917, i16 5845, i16 2161, i16 0, i16 5846, i16 0, i16 0, i16 0, i16 5847, i16 3683, i16 5848, i16 5537, i16 1365, i16 0, i16 0, i16 3688, i16 2364, i16 0, i16 0, i16 0, i16 0, i16 5516, i16 10439, i16 10440, i16 983, i16 2712, i16 3190, i16 0, i16 10441, i16 0, i16 10442, i16 10443, i16 10444, i16 10445, i16 0, i16 10446, i16 0, i16 0, i16 10447, i16 10448, i16 5517, i16 0, i16 0, i16 9121, i16 4740, i16 9122, i16 9123, i16 4745, i16 0, i16 0, i16 2875, i16 9124, i16 4742, i16 0, i16 0, i16 9125, i16 0, i16 9126, i16 9127, i16 0, i16 0, i16 0, i16 0, i16 9128, i16 0, i16 4747, i16 0, i16 0, i16 2043, i16 4748, i16 9129, i16 3514, i16 2995, i16 0, i16 9130, i16 4770, i16 2143, i16 3438, i16 4772, i16 4773, i16 3543, i16 9153, i16 0, i16 0, i16 0, i16 4778, i16 0, i16 9154, i16 1617, i16 9155, i16 2960, i16 4775, i16 2795, i16 4712, i16 4716, i16 9156, i16 1262, i16 9157, i16 2946, i16 0, i16 0, i16 0, i16 9158, i16 4777, i16 0, i16 2091, i16 3037, i16 932, i16 2261, i16 4409, i16 4408, i16 1437, i16 2489, i16 0, i16 4414, i16 4412, i16 8597, i16 4411, i16 3572, i16 1566, i16 8598, i16 0, i16 8599, i16 2056, i16 4413, i16 2763, i16 1997, i16 0, i16 0, i16 8600, i16 2845, i16 4417, i16 4416, i16 0, i16 0, i16 8601, i16 8602, i16 4415, i16 0, i16 10150, i16 10151, i16 3566, i16 5368, i16 10152, i16 0, i16 0, i16 10153, i16 0, i16 2416, i16 0, i16 0, i16 10154, i16 0, i16 10155, i16 10156, i16 5374, i16 10157, i16 5376, i16 5377, i16 2583, i16 0, i16 0, i16 0, i16 0, i16 10158, i16 5375, i16 0, i16 5372, i16 0, i16 5370, i16 5371, i16 9640, i16 9641, i16 5107, i16 9642, i16 5101, i16 3416, i16 0, i16 9643, i16 9644, i16 5096, i16 9645, i16 1875, i16 5120, i16 9646, i16 9647, i16 9648, i16 0, i16 1101, i16 0, i16 5098, i16 5103, i16 5104, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2513, i16 2495, i16 0, i16 4009, i16 7890, i16 0, i16 0, i16 2516, i16 4014, i16 2067, i16 7891, i16 0, i16 7892, i16 7893, i16 0, i16 4011, i16 7894, i16 0, i16 3445, i16 7895, i16 7896, i16 0, i16 1431, i16 0, i16 0, i16 4015, i16 4016, i16 7897, i16 0, i16 7898, i16 7899, i16 4013, i16 4019, i16 7900, i16 0, i16 6057, i16 6061, i16 0, i16 3058, i16 0, i16 0, i16 11253, i16 0, i16 6060, i16 2115, i16 1914, i16 6063, i16 0, i16 0, i16 1339, i16 11254, i16 11255, i16 11256, i16 11257, i16 11258, i16 0, i16 6064, i16 11259, i16 3184, i16 6059, i16 11260, i16 6020, i16 0, i16 11261, i16 11262, i16 11263, i16 11264, i16 10409, i16 0, i16 0, i16 0, i16 0, i16 10410, i16 5474, i16 10411, i16 0, i16 10412, i16 5476, i16 5506, i16 5505, i16 10413, i16 0, i16 0, i16 0, i16 10414, i16 0, i16 0, i16 10415, i16 10416, i16 0, i16 0, i16 0, i16 0, i16 1881, i16 10417, i16 3638, i16 10418, i16 1923, i16 10419, i16 4266, i16 0, i16 4267, i16 8383, i16 3441, i16 0, i16 8384, i16 0, i16 4268, i16 8385, i16 0, i16 8386, i16 8387, i16 1347, i16 8388, i16 0, i16 8389, i16 1969, i16 8390, i16 0, i16 0, i16 8391, i16 8392, i16 0, i16 4269, i16 4270, i16 1933, i16 2167, i16 2897, i16 2207, i16 3089, i16 2909, i16 6315, i16 6323, i16 6316, i16 0, i16 6312, i16 0, i16 2717, i16 6311, i16 0, i16 0, i16 0, i16 6309, i16 11707, i16 3472, i16 1859, i16 0, i16 11708, i16 6313, i16 0, i16 6310, i16 11709, i16 11710, i16 11711, i16 6317, i16 2051, i16 0, i16 1530, i16 0, i16 11712, i16 0, i16 2527, i16 11713, i16 7083, i16 7084, i16 3645, i16 7081, i16 0, i16 0, i16 7085, i16 7086, i16 13145, i16 13146, i16 7088, i16 0, i16 7087, i16 13147, i16 13148, i16 13149, i16 13150, i16 13151, i16 7090, i16 13152, i16 0, i16 13153, i16 7091, i16 7089, i16 0, i16 0, i16 13154, i16 0, i16 0, i16 13155, i16 0, i16 0, i16 11947, i16 0, i16 11948, i16 1078, i16 0, i16 6478, i16 0, i16 11949, i16 11950, i16 1745, i16 6477, i16 0, i16 6486, i16 0, i16 0, i16 11951, i16 11952, i16 0, i16 6480, i16 6482, i16 3258, i16 6479, i16 11953, i16 11954, i16 11955, i16 6481, i16 0, i16 6485, i16 6483, i16 1232, i16 11956, i16 6484, i16 1964, i16 0, i16 12536, i16 12537, i16 6746, i16 12538, i16 6747, i16 2199, i16 6748, i16 12539, i16 3643, i16 0, i16 0, i16 6743, i16 6750, i16 6752, i16 0, i16 6751, i16 0, i16 6749, i16 0, i16 0, i16 6753, i16 0, i16 0, i16 6754, i16 12540, i16 12541, i16 2433, i16 12542, i16 999, i16 0, i16 12716, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8365, i16 8366, i16 1941, i16 4247, i16 1204, i16 2863, i16 3386, i16 4248, i16 0, i16 4249, i16 0, i16 0, i16 3152, i16 8367, i16 0, i16 8368, i16 4251, i16 0, i16 1129, i16 1396, i16 4250, i16 0, i16 8369, i16 8370, i16 8371, i16 8372, i16 8373, i16 1139, i16 0, i16 2173, i16 4255, i16 1780, i16 10159, i16 5373, i16 10160, i16 10161, i16 10162, i16 0, i16 0, i16 10163, i16 10164, i16 5380, i16 10165, i16 5378, i16 10166, i16 5379, i16 0, i16 10167, i16 0, i16 0, i16 10168, i16 10169, i16 0, i16 10170, i16 10171, i16 0, i16 0, i16 10172, i16 0, i16 10173, i16 10174, i16 10175, i16 10176, i16 5381, i16 2480, i16 12493, i16 6712, i16 0, i16 3172, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6715, i16 6713, i16 1654, i16 0, i16 6714, i16 1531, i16 0, i16 12494, i16 0, i16 12495, i16 0, i16 12496, i16 12497, i16 12498, i16 0, i16 0, i16 3226, i16 6717, i16 6719, i16 6718, i16 6720, i16 6065, i16 11276, i16 0, i16 0, i16 2993, i16 11277, i16 11278, i16 6075, i16 6067, i16 11279, i16 6069, i16 11280, i16 11281, i16 0, i16 0, i16 11282, i16 6079, i16 6068, i16 0, i16 11283, i16 6072, i16 0, i16 0, i16 921, i16 11284, i16 2882, i16 0, i16 6073, i16 6076, i16 11285, i16 0, i16 11286, i16 10673, i16 5663, i16 5661, i16 0, i16 5659, i16 1122, i16 10674, i16 2110, i16 5664, i16 0, i16 0, i16 5662, i16 0, i16 5660, i16 5668, i16 0, i16 10675, i16 5667, i16 5666, i16 5665, i16 0, i16 0, i16 10676, i16 10677, i16 0, i16 5669, i16 10678, i16 10679, i16 10680, i16 5670, i16 2275, i16 10681, i16 6834, i16 6830, i16 12689, i16 0, i16 6833, i16 0, i16 12690, i16 12691, i16 1180, i16 0, i16 0, i16 12692, i16 6835, i16 0, i16 6836, i16 0, i16 0, i16 12693, i16 12694, i16 12695, i16 12696, i16 12697, i16 0, i16 0, i16 0, i16 12698, i16 12699, i16 12700, i16 12701, i16 6837, i16 6838, i16 0, i16 11186, i16 3177, i16 6034, i16 2814, i16 11187, i16 11188, i16 762, i16 11189, i16 0, i16 6027, i16 11190, i16 6023, i16 2425, i16 6017, i16 6025, i16 6030, i16 11191, i16 2919, i16 0, i16 11192, i16 11193, i16 755, i16 11194, i16 6022, i16 11195, i16 6031, i16 3183, i16 0, i16 11196, i16 11197, i16 0, i16 0, i16 2228, i16 5817, i16 0, i16 10873, i16 0, i16 10874, i16 5818, i16 0, i16 10875, i16 5819, i16 0, i16 1190, i16 10876, i16 0, i16 10877, i16 10878, i16 1166, i16 0, i16 10879, i16 5820, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5821, i16 10880, i16 3344, i16 3538, i16 10881, i16 10882, i16 10883, i16 2996, i16 0, i16 1154, i16 3655, i16 0, i16 0, i16 9664, i16 0, i16 0, i16 9665, i16 9666, i16 3378, i16 2675, i16 9673, i16 0, i16 9667, i16 9668, i16 5117, i16 5119, i16 9669, i16 0, i16 0, i16 9670, i16 0, i16 2361, i16 0, i16 0, i16 9671, i16 9672, i16 0, i16 5121, i16 5115, i16 4021, i16 7906, i16 7907, i16 4031, i16 2360, i16 0, i16 7908, i16 4033, i16 7909, i16 1593, i16 4023, i16 2624, i16 0, i16 0, i16 7910, i16 7911, i16 0, i16 7912, i16 7913, i16 7914, i16 7915, i16 0, i16 0, i16 7916, i16 4027, i16 4020, i16 1134, i16 0, i16 1199, i16 1096, i16 4028, i16 4024, i16 11957, i16 11958, i16 0, i16 11959, i16 0, i16 11960, i16 6487, i16 11961, i16 11962, i16 2965, i16 3621, i16 0, i16 11963, i16 11964, i16 11965, i16 1987, i16 0, i16 0, i16 0, i16 6488, i16 11966, i16 11967, i16 11968, i16 11969, i16 3473, i16 6490, i16 11970, i16 6489, i16 0, i16 0, i16 6493, i16 3504, i16 7094, i16 13164, i16 13165, i16 13166, i16 0, i16 13167, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8374, i16 974, i16 4254, i16 0, i16 4252, i16 4256, i16 4253, i16 2918, i16 4883, i16 2174, i16 0, i16 4257, i16 0, i16 0, i16 3597, i16 8375, i16 4258, i16 8376, i16 0, i16 4260, i16 8377, i16 2625, i16 4259, i16 0, i16 2252, i16 0, i16 1870, i16 0, i16 0, i16 8378, i16 2485, i16 1960, i16 9142, i16 0, i16 9143, i16 0, i16 0, i16 0, i16 4759, i16 4760, i16 3435, i16 0, i16 3381, i16 3369, i16 3343, i16 1784, i16 4762, i16 0, i16 0, i16 1948, i16 0, i16 9144, i16 3332, i16 0, i16 4764, i16 4767, i16 4766, i16 0, i16 1210, i16 0, i16 0, i16 1279, i16 9145, i16 4763, i16 1975, i16 1847, i16 10458, i16 0, i16 10459, i16 0, i16 0, i16 10460, i16 10461, i16 5525, i16 10462, i16 1976, i16 0, i16 0, i16 0, i16 10463, i16 0, i16 975, i16 3130, i16 0, i16 10464, i16 5526, i16 10465, i16 0, i16 3076, i16 0, i16 10466, i16 0, i16 0, i16 10467, i16 10468, i16 2380, i16 6327, i16 3527, i16 0, i16 0, i16 0, i16 0, i16 6330, i16 0, i16 6333, i16 0, i16 0, i16 6331, i16 3116, i16 11722, i16 0, i16 0, i16 11723, i16 0, i16 0, i16 6328, i16 0, i16 0, i16 0, i16 11724, i16 0, i16 1373, i16 0, i16 0, i16 11725, i16 0, i16 6332, i16 0, i16 6584, i16 6585, i16 12161, i16 12162, i16 0, i16 12163, i16 3049, i16 1736, i16 1938, i16 6586, i16 0, i16 6587, i16 3569, i16 2004, i16 3455, i16 3609, i16 6588, i16 1375, i16 0, i16 12164, i16 12165, i16 0, i16 6589, i16 12166, i16 2722, i16 12167, i16 12168, i16 6592, i16 1115, i16 2198, i16 12169, i16 6590, i16 10936, i16 1550, i16 0, i16 0, i16 838, i16 5859, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10937, i16 10938, i16 5866, i16 10939, i16 5867, i16 10940, i16 10941, i16 2838, i16 0, i16 10942, i16 0, i16 1336, i16 10943, i16 10944, i16 0, i16 5878, i16 2936, i16 10945, i16 0, i16 11448, i16 0, i16 6159, i16 11449, i16 0, i16 0, i16 0, i16 11450, i16 0, i16 0, i16 0, i16 6168, i16 11451, i16 11452, i16 11453, i16 6162, i16 0, i16 11454, i16 0, i16 6170, i16 0, i16 11455, i16 0, i16 0, i16 0, i16 0, i16 3541, i16 6173, i16 0, i16 6164, i16 11456, i16 11457, i16 12216, i16 0, i16 12217, i16 12218, i16 2739, i16 6604, i16 12219, i16 12220, i16 6607, i16 6605, i16 12221, i16 6610, i16 0, i16 12222, i16 12223, i16 12224, i16 6611, i16 12225, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6603, i16 12226, i16 12227, i16 6616, i16 923, i16 12228, i16 12229, i16 6602, i16 0, i16 7865, i16 832, i16 4007, i16 0, i16 0, i16 3999, i16 4000, i16 0, i16 2066, i16 3356, i16 7866, i16 0, i16 7867, i16 4005, i16 4004, i16 7868, i16 0, i16 0, i16 2734, i16 0, i16 0, i16 0, i16 7869, i16 0, i16 0, i16 0, i16 4006, i16 0, i16 7870, i16 4003, i16 7871, i16 7872, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 0, i16 687, i16 7156, i16 7157, i16 7158, i16 7159, i16 7160, i16 7161, i16 7162, i16 7163, i16 7164, i16 7165, i16 7166, i16 0, i16 7167, i16 7168, i16 2490, i16 4430, i16 0, i16 0, i16 8646, i16 1277, i16 4440, i16 2262, i16 908, i16 4434, i16 1021, i16 4439, i16 0, i16 8647, i16 0, i16 1326, i16 0, i16 4436, i16 0, i16 8648, i16 0, i16 8649, i16 0, i16 0, i16 0, i16 0, i16 4442, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12475, i16 6705, i16 6707, i16 0, i16 12476, i16 6706, i16 12477, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1724, i16 0, i16 0, i16 3792, i16 0, i16 9136, i16 0, i16 9137, i16 1481, i16 3484, i16 0, i16 3283, i16 0, i16 3189, i16 9138, i16 4756, i16 0, i16 0, i16 0, i16 9139, i16 1768, i16 2656, i16 4757, i16 3674, i16 0, i16 9140, i16 0, i16 3313, i16 9141, i16 2636, i16 4758, i16 1213, i16 8124, i16 4126, i16 0, i16 0, i16 2698, i16 0, i16 8125, i16 8126, i16 0, i16 0, i16 1135, i16 0, i16 0, i16 8127, i16 0, i16 7095, i16 904, i16 3272, i16 8128, i16 0, i16 2137, i16 2759, i16 0, i16 0, i16 0, i16 8129, i16 1755, i16 0, i16 0, i16 4132, i16 0, i16 8130, i16 5309, i16 0, i16 3122, i16 5310, i16 10082, i16 0, i16 1125, i16 5311, i16 10083, i16 5312, i16 10084, i16 10085, i16 0, i16 0, i16 5313, i16 10086, i16 5315, i16 5316, i16 5314, i16 0, i16 10087, i16 0, i16 3146, i16 5318, i16 5317, i16 0, i16 10088, i16 10089, i16 10090, i16 0, i16 0, i16 10091, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 1470, i16 2526, i16 5138, i16 2934, i16 0, i16 9713, i16 5145, i16 9714, i16 9715, i16 0, i16 9716, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5150, i16 5148, i16 0, i16 0, i16 5151, i16 0, i16 9717, i16 5154, i16 0, i16 0, i16 9718, i16 5147, i16 7873, i16 7874, i16 0, i16 0, i16 859, i16 7875, i16 1707, i16 2171, i16 7876, i16 7877, i16 0, i16 0, i16 7878, i16 7879, i16 7880, i16 4001, i16 2785, i16 0, i16 0, i16 0, i16 4002, i16 7881, i16 747, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1474, i16 1874, i16 0, i16 1362, i16 9412, i16 0, i16 0, i16 937, i16 9413, i16 0, i16 0, i16 9414, i16 9415, i16 0, i16 0, i16 9416, i16 0, i16 0, i16 3534, i16 0, i16 0, i16 9417, i16 9418, i16 4956, i16 4955, i16 4958, i16 1244, i16 9419, i16 0, i16 1363, i16 1151, i16 9420, i16 3523, i16 3682, i16 0, i16 1636, i16 5824, i16 1925, i16 5823, i16 10884, i16 10885, i16 0, i16 10886, i16 5825, i16 1882, i16 10887, i16 10888, i16 10889, i16 2486, i16 10890, i16 5826, i16 10891, i16 10892, i16 1635, i16 10893, i16 3432, i16 5827, i16 5828, i16 0, i16 0, i16 5829, i16 10894, i16 10895, i16 10896, i16 11971, i16 11972, i16 6492, i16 11973, i16 1104, i16 6491, i16 6496, i16 11974, i16 0, i16 6495, i16 0, i16 0, i16 6494, i16 2737, i16 6497, i16 11975, i16 0, i16 11976, i16 11977, i16 11978, i16 11979, i16 11980, i16 0, i16 6498, i16 11981, i16 0, i16 0, i16 0, i16 6499, i16 11982, i16 11983, i16 1667, i16 3012, i16 10118, i16 3108, i16 0, i16 5339, i16 3577, i16 1448, i16 5340, i16 0, i16 5338, i16 3055, i16 5341, i16 0, i16 5342, i16 0, i16 10119, i16 804, i16 10120, i16 0, i16 2147, i16 5347, i16 0, i16 5344, i16 2890, i16 5343, i16 10121, i16 10122, i16 10123, i16 10124, i16 10125, i16 10126, i16 1221, i16 4804, i16 1472, i16 1446, i16 2796, i16 9208, i16 9209, i16 4802, i16 0, i16 783, i16 0, i16 9210, i16 0, i16 9211, i16 4805, i16 4807, i16 0, i16 1354, i16 1415, i16 9193, i16 1149, i16 1258, i16 9212, i16 0, i16 9213, i16 9214, i16 4810, i16 0, i16 9215, i16 1774, i16 3364, i16 0, i16 1802, i16 8900, i16 759, i16 0, i16 4625, i16 0, i16 8901, i16 0, i16 0, i16 0, i16 4622, i16 8902, i16 0, i16 8903, i16 0, i16 1209, i16 0, i16 0, i16 0, i16 8904, i16 8905, i16 910, i16 8906, i16 4628, i16 0, i16 8907, i16 8908, i16 3512, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2501, i16 2430, i16 12015, i16 2821, i16 12016, i16 6516, i16 1268, i16 0, i16 12017, i16 0, i16 0, i16 6525, i16 12018, i16 6522, i16 6535, i16 2822, i16 2595, i16 6519, i16 0, i16 2719, i16 2770, i16 6520, i16 6524, i16 2219, i16 12019, i16 2978, i16 2669, i16 12020, i16 0, i16 2283, i16 6523, i16 2451, i16 4550, i16 8780, i16 0, i16 8781, i16 8782, i16 0, i16 0, i16 8783, i16 4551, i16 4552, i16 3263, i16 0, i16 4554, i16 4553, i16 1998, i16 0, i16 2263, i16 1003, i16 1025, i16 8784, i16 4555, i16 8785, i16 776, i16 0, i16 0, i16 0, i16 2293, i16 4556, i16 8786, i16 6377, i16 4557, i16 1468, i16 12230, i16 12231, i16 3014, i16 0, i16 6606, i16 12232, i16 2125, i16 12233, i16 12234, i16 12235, i16 0, i16 0, i16 0, i16 0, i16 12236, i16 12237, i16 12238, i16 1650, i16 0, i16 0, i16 0, i16 12239, i16 12240, i16 12241, i16 12242, i16 12243, i16 0, i16 12244, i16 12245, i16 12246, i16 3323, i16 12247, i16 1479, i16 11505, i16 6195, i16 11506, i16 6194, i16 11507, i16 1983, i16 0, i16 11508, i16 11509, i16 11510, i16 11511, i16 1643, i16 5033, i16 11512, i16 0, i16 0, i16 11513, i16 6196, i16 2016, i16 0, i16 11514, i16 11515, i16 1052, i16 11516, i16 6197, i16 11517, i16 889, i16 11518, i16 2116, i16 6198, i16 11519, i16 968, i16 0, i16 0, i16 3649, i16 7705, i16 7706, i16 7707, i16 7708, i16 0, i16 2052, i16 2775, i16 1660, i16 3900, i16 3901, i16 0, i16 7709, i16 7710, i16 3634, i16 0, i16 0, i16 3670, i16 3903, i16 7711, i16 7712, i16 7713, i16 1587, i16 7714, i16 7715, i16 3902, i16 7716, i16 1042, i16 0, i16 1224, i16 0, i16 10478, i16 10479, i16 0, i16 0, i16 0, i16 10480, i16 5531, i16 10481, i16 10482, i16 2713, i16 10483, i16 5532, i16 2288, i16 0, i16 0, i16 10484, i16 0, i16 0, i16 3390, i16 10485, i16 0, i16 3098, i16 5533, i16 5534, i16 2584, i16 10486, i16 3604, i16 0, i16 10487, i16 5536, i16 2248, i16 1192, i16 0, i16 0, i16 3497, i16 1010, i16 1991, i16 1556, i16 0, i16 6739, i16 12524, i16 6738, i16 1862, i16 6740, i16 6737, i16 0, i16 0, i16 1787, i16 12525, i16 0, i16 0, i16 6744, i16 6167, i16 0, i16 12527, i16 3952, i16 12528, i16 2242, i16 6742, i16 12529, i16 12530, i16 12531, i16 1225, i16 0, i16 5685, i16 10699, i16 3460, i16 1631, i16 5684, i16 10700, i16 10701, i16 10702, i16 5688, i16 3447, i16 0, i16 2935, i16 0, i16 10703, i16 3114, i16 10704, i16 10705, i16 10706, i16 2034, i16 5687, i16 10707, i16 1924, i16 1632, i16 1849, i16 1288, i16 3211, i16 5686, i16 10708, i16 10709, i16 0, i16 1737, i16 5235, i16 5234, i16 0, i16 9880, i16 0, i16 0, i16 5236, i16 0, i16 9881, i16 0, i16 0, i16 0, i16 9882, i16 9883, i16 0, i16 0, i16 0, i16 5237, i16 9884, i16 0, i16 0, i16 5238, i16 0, i16 0, i16 0, i16 0, i16 9885, i16 0, i16 0, i16 0, i16 0, i16 1993, i16 2201, i16 3740, i16 7401, i16 3738, i16 0, i16 3739, i16 1271, i16 0, i16 0, i16 1688, i16 1013, i16 0, i16 3737, i16 3736, i16 3198, i16 7402, i16 0, i16 0, i16 0, i16 1817, i16 1816, i16 2467, i16 3741, i16 3148, i16 2320, i16 7403, i16 7404, i16 0, i16 245, i16 3742, i16 3744, i16 10953, i16 0, i16 0, i16 5870, i16 10954, i16 0, i16 0, i16 10955, i16 0, i16 5869, i16 0, i16 0, i16 10956, i16 0, i16 0, i16 5871, i16 10957, i16 2537, i16 0, i16 2937, i16 0, i16 10958, i16 0, i16 0, i16 0, i16 2642, i16 10959, i16 0, i16 10960, i16 0, i16 5875, i16 0, i16 714, i16 725, i16 715, i16 726, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 716, i16 0, i16 0, i16 727, i16 717, i16 0, i16 0, i16 728, i16 719, i16 0, i16 0, i16 730, i16 718, i16 0, i16 0, i16 729, i16 720, i16 741, i16 0, i16 0, i16 2762, i16 1913, i16 8396, i16 8397, i16 2399, i16 3561, i16 0, i16 8398, i16 8399, i16 8400, i16 0, i16 0, i16 4278, i16 8401, i16 4279, i16 2867, i16 8402, i16 1798, i16 0, i16 0, i16 8403, i16 8404, i16 4281, i16 0, i16 0, i16 4282, i16 8405, i16 8406, i16 8407, i16 8408, i16 0, i16 0, i16 8650, i16 4444, i16 4454, i16 4452, i16 0, i16 0, i16 4449, i16 8651, i16 8652, i16 8653, i16 4448, i16 3653, i16 8654, i16 4450, i16 0, i16 0, i16 1327, i16 8655, i16 1608, i16 0, i16 8656, i16 2057, i16 8657, i16 8658, i16 0, i16 4457, i16 4443, i16 0, i16 0, i16 8659, i16 0, i16 4447, i16 6348, i16 11745, i16 0, i16 1809, i16 11746, i16 11747, i16 0, i16 0, i16 0, i16 0, i16 4696, i16 11748, i16 6349, i16 11749, i16 6350, i16 11750, i16 1985, i16 0, i16 6351, i16 6352, i16 11751, i16 11752, i16 6353, i16 0, i16 0, i16 6354, i16 6355, i16 0, i16 11753, i16 0, i16 11754, i16 11755, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 482, i16 483, i16 484, i16 485, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 10190, i16 10191, i16 3602, i16 10192, i16 10193, i16 10194, i16 5392, i16 5390, i16 5391, i16 10195, i16 10189, i16 10196, i16 1187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3471, i16 0, i16 0, i16 10197, i16 3231, i16 0, i16 5394, i16 10198, i16 0, i16 0, i16 5393, i16 0, i16 0, i16 10199, i16 11214, i16 6043, i16 11215, i16 0, i16 2594, i16 0, i16 6044, i16 11216, i16 11217, i16 3525, i16 6033, i16 1051, i16 11218, i16 6039, i16 0, i16 11219, i16 6042, i16 3389, i16 0, i16 11220, i16 0, i16 0, i16 6045, i16 0, i16 0, i16 6038, i16 6041, i16 0, i16 11221, i16 0, i16 0, i16 0, i16 8145, i16 8146, i16 0, i16 1322, i16 0, i16 4134, i16 0, i16 8147, i16 8148, i16 8149, i16 8150, i16 0, i16 8151, i16 8152, i16 0, i16 8153, i16 8154, i16 0, i16 0, i16 3261, i16 8155, i16 0, i16 8156, i16 2436, i16 0, i16 0, i16 0, i16 0, i16 2663, i16 8157, i16 0, i16 4136, i16 9937, i16 0, i16 0, i16 2002, i16 0, i16 0, i16 9938, i16 9939, i16 5269, i16 9940, i16 5268, i16 9941, i16 9942, i16 0, i16 9943, i16 9944, i16 5270, i16 9945, i16 1072, i16 0, i16 0, i16 5272, i16 0, i16 9946, i16 5271, i16 9947, i16 5274, i16 5273, i16 9948, i16 0, i16 0, i16 0, i16 11986, i16 11987, i16 0, i16 6505, i16 11988, i16 11989, i16 11990, i16 3899, i16 3898, i16 0, i16 0, i16 0, i16 0, i16 6506, i16 5764, i16 6507, i16 2535, i16 2166, i16 2939, i16 0, i16 0, i16 11991, i16 11992, i16 6508, i16 11993, i16 0, i16 3242, i16 2677, i16 1685, i16 0, i16 11994, i16 2540, i16 3539, i16 0, i16 0, i16 0, i16 9581, i16 5066, i16 5060, i16 5057, i16 9582, i16 0, i16 9583, i16 3617, i16 5063, i16 0, i16 9584, i16 9585, i16 0, i16 2009, i16 5065, i16 0, i16 0, i16 5070, i16 9586, i16 0, i16 2800, i16 5068, i16 0, i16 9587, i16 0, i16 9588, i16 5062, i16 9589, i16 1236, i16 0, i16 3722, i16 0, i16 0, i16 3723, i16 3592, i16 0, i16 3500, i16 2415, i16 3725, i16 1865, i16 2896, i16 7395, i16 3728, i16 0, i16 0, i16 869, i16 1560, i16 0, i16 1559, i16 815, i16 7396, i16 7397, i16 3702, i16 3701, i16 0, i16 1704, i16 746, i16 7398, i16 3729, i16 3730, i16 8916, i16 0, i16 8917, i16 0, i16 8918, i16 8919, i16 4634, i16 0, i16 4638, i16 8920, i16 8921, i16 0, i16 3035, i16 2794, i16 0, i16 8922, i16 8923, i16 0, i16 0, i16 0, i16 4631, i16 8924, i16 4635, i16 0, i16 0, i16 0, i16 1443, i16 0, i16 0, i16 8925, i16 1766, i16 8926, i16 9428, i16 4968, i16 1842, i16 2270, i16 1686, i16 0, i16 3175, i16 9429, i16 0, i16 3255, i16 3695, i16 9430, i16 0, i16 0, i16 9431, i16 1864, i16 9432, i16 0, i16 0, i16 1733, i16 3647, i16 9433, i16 0, i16 0, i16 4969, i16 4970, i16 0, i16 1843, i16 0, i16 9434, i16 9435, i16 4971, i16 12756, i16 0, i16 12757, i16 12758, i16 12759, i16 0, i16 0, i16 12760, i16 2482, i16 0, i16 0, i16 6870, i16 0, i16 12761, i16 12762, i16 0, i16 2826, i16 0, i16 0, i16 12763, i16 0, i16 12764, i16 12765, i16 6871, i16 12766, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6876, i16 0, i16 7381, i16 7382, i16 3719, i16 2928, i16 7383, i16 1270, i16 0, i16 7384, i16 0, i16 0, i16 0, i16 2930, i16 0, i16 2880, i16 1532, i16 3302, i16 0, i16 7385, i16 0, i16 0, i16 0, i16 6101, i16 3720, i16 2133, i16 3721, i16 954, i16 7386, i16 0, i16 7387, i16 1378, i16 1577, i16 3450, i16 1238, i16 3818, i16 3819, i16 7595, i16 948, i16 0, i16 7596, i16 7597, i16 7598, i16 3817, i16 0, i16 7599, i16 7600, i16 7601, i16 7602, i16 0, i16 7604, i16 0, i16 1957, i16 0, i16 3822, i16 3821, i16 3820, i16 7605, i16 3764, i16 7606, i16 3823, i16 7607, i16 7608, i16 7609, i16 7610, i16 2061, i16 10967, i16 10968, i16 0, i16 0, i16 0, i16 5881, i16 5882, i16 10969, i16 10970, i16 10971, i16 0, i16 1953, i16 0, i16 10972, i16 5880, i16 10973, i16 1679, i16 5879, i16 0, i16 0, i16 5883, i16 0, i16 0, i16 10974, i16 2643, i16 3191, i16 2346, i16 0, i16 0, i16 0, i16 0, i16 2497, i16 3800, i16 7547, i16 0, i16 7548, i16 7549, i16 3802, i16 7550, i16 0, i16 0, i16 0, i16 7551, i16 0, i16 0, i16 3304, i16 7552, i16 7553, i16 7554, i16 1473, i16 7555, i16 7556, i16 7557, i16 0, i16 7558, i16 0, i16 1796, i16 3088, i16 3801, i16 7559, i16 7560, i16 0, i16 7561, i16 7562, i16 4569, i16 0, i16 0, i16 4567, i16 8807, i16 0, i16 0, i16 0, i16 4570, i16 0, i16 0, i16 0, i16 0, i16 8808, i16 3206, i16 8809, i16 0, i16 768, i16 0, i16 8810, i16 0, i16 0, i16 3157, i16 0, i16 0, i16 3068, i16 8811, i16 0, i16 4571, i16 8812, i16 4574, i16 2082, i16 4825, i16 9235, i16 2092, i16 9236, i16 0, i16 9237, i16 4163, i16 1569, i16 3563, i16 9238, i16 9239, i16 0, i16 0, i16 4816, i16 9240, i16 2709, i16 1030, i16 1698, i16 9241, i16 4808, i16 0, i16 4824, i16 1092, i16 0, i16 0, i16 4822, i16 4826, i16 9242, i16 2797, i16 0, i16 0, i16 0, i16 9177, i16 2477, i16 9178, i16 9179, i16 3222, i16 9180, i16 4798, i16 0, i16 9181, i16 9182, i16 3097, i16 0, i16 0, i16 0, i16 4797, i16 2987, i16 3314, i16 1148, i16 9183, i16 2336, i16 1999, i16 0, i16 0, i16 9184, i16 2676, i16 9185, i16 3485, i16 0, i16 9186, i16 4793, i16 4792, i16 0, i16 1242, i16 0, i16 4572, i16 4579, i16 2083, i16 0, i16 0, i16 0, i16 0, i16 4573, i16 2943, i16 0, i16 0, i16 8813, i16 8814, i16 8815, i16 8816, i16 3533, i16 4575, i16 4576, i16 4580, i16 2793, i16 4577, i16 1610, i16 2311, i16 0, i16 0, i16 4594, i16 3021, i16 0, i16 2519, i16 0, i16 6874, i16 12768, i16 6873, i16 6875, i16 12769, i16 6872, i16 0, i16 12767, i16 0, i16 0, i16 12770, i16 12771, i16 12772, i16 6878, i16 12773, i16 0, i16 0, i16 12774, i16 0, i16 0, i16 12775, i16 6877, i16 12776, i16 6880, i16 0, i16 0, i16 1344, i16 6879, i16 0, i16 12777, i16 0, i16 6881, i16 11995, i16 11996, i16 849, i16 0, i16 3371, i16 2210, i16 11997, i16 0, i16 0, i16 0, i16 11998, i16 11999, i16 0, i16 12000, i16 1465, i16 0, i16 12001, i16 1374, i16 12002, i16 12003, i16 3243, i16 12004, i16 0, i16 0, i16 0, i16 0, i16 6509, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1245, i16 0, i16 5239, i16 0, i16 0, i16 0, i16 0, i16 5240, i16 9886, i16 0, i16 0, i16 0, i16 1501, i16 9887, i16 9888, i16 3041, i16 0, i16 9889, i16 5242, i16 0, i16 9890, i16 0, i16 2146, i16 0, i16 0, i16 5241, i16 0, i16 0, i16 0, i16 0, i16 9891, i16 0, i16 7901, i16 7902, i16 0, i16 4010, i16 7903, i16 0, i16 7904, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4025, i16 4030, i16 0, i16 4026, i16 7905, i16 9949, i16 9950, i16 0, i16 9951, i16 1525, i16 9952, i16 9953, i16 3573, i16 0, i16 1353, i16 0, i16 939, i16 0, i16 0, i16 9954, i16 0, i16 9955, i16 0, i16 0, i16 9956, i16 0, i16 9957, i16 1383, i16 9958, i16 9959, i16 0, i16 0, i16 0, i16 9960, i16 0, i16 9961, i16 9962, i16 222, i16 223, i16 224, i16 244, i16 0, i16 246, i16 247, i16 248, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 324, i16 329, i16 265, i16 266, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 254, i16 0, i16 0, i16 0, i16 4062, i16 0, i16 0, i16 0, i16 7982, i16 7983, i16 4061, i16 1064, i16 7984, i16 0, i16 4063, i16 7985, i16 7986, i16 0, i16 0, i16 4066, i16 0, i16 0, i16 0, i16 0, i16 4065, i16 7987, i16 0, i16 0, i16 0, i16 7988, i16 7989, i16 0, i16 0, i16 7990, i16 7991, i16 7992, i16 8158, i16 8159, i16 8160, i16 0, i16 0, i16 0, i16 8161, i16 0, i16 3330, i16 8162, i16 0, i16 4137, i16 0, i16 0, i16 4142, i16 0, i16 0, i16 8163, i16 8164, i16 3204, i16 0, i16 0, i16 0, i16 0, i16 4141, i16 4135, i16 4138, i16 4140, i16 8166, i16 0, i16 1691, i16 0, i16 10718, i16 10719, i16 1977, i16 1527, i16 2383, i16 5689, i16 5695, i16 10720, i16 10721, i16 0, i16 0, i16 5690, i16 1451, i16 10722, i16 5698, i16 5702, i16 1478, i16 10723, i16 0, i16 10724, i16 0, i16 0, i16 5697, i16 10725, i16 0, i16 10726, i16 10727, i16 5706, i16 10728, i16 10729, i16 1633, i16 0, i16 736, i16 0, i16 0, i16 731, i16 722, i16 743, i16 0, i16 0, i16 738, i16 0, i16 0, i16 733, i16 721, i16 0, i16 0, i16 737, i16 742, i16 0, i16 0, i16 732, i16 723, i16 0, i16 0, i16 739, i16 744, i16 0, i16 0, i16 734, i16 724, i16 0, i16 0, i16 740, i16 2784, i16 7664, i16 7665, i16 2202, i16 3871, i16 7666, i16 3201, i16 2307, i16 1123, i16 0, i16 1130, i16 3872, i16 0, i16 0, i16 3874, i16 0, i16 0, i16 1429, i16 7667, i16 7668, i16 3873, i16 7669, i16 7670, i16 3648, i16 7671, i16 0, i16 0, i16 0, i16 0, i16 2040, i16 0, i16 0, i16 4064, i16 0, i16 2932, i16 0, i16 0, i16 4067, i16 7993, i16 7994, i16 7995, i16 7996, i16 0, i16 7997, i16 7998, i16 7999, i16 4068, i16 0, i16 0, i16 8000, i16 0, i16 8001, i16 4070, i16 0, i16 4069, i16 8002, i16 0, i16 0, i16 0, i16 0, i16 4072, i16 0, i16 8003, i16 0, i16 8416, i16 945, i16 8417, i16 8418, i16 0, i16 0, i16 8419, i16 0, i16 2370, i16 1189, i16 8420, i16 4287, i16 3385, i16 0, i16 0, i16 0, i16 0, i16 2487, i16 8421, i16 1084, i16 8422, i16 8423, i16 4289, i16 4291, i16 1184, i16 0, i16 8424, i16 4288, i16 4290, i16 0, i16 4293, i16 0, i16 9441, i16 0, i16 9442, i16 9443, i16 4979, i16 0, i16 0, i16 0, i16 9444, i16 9445, i16 4980, i16 4981, i16 9446, i16 9447, i16 9448, i16 4982, i16 9449, i16 4984, i16 4983, i16 4985, i16 938, i16 2573, i16 0, i16 4986, i16 9450, i16 9451, i16 1785, i16 1071, i16 4987, i16 9452, i16 9453, i16 2753, i16 12257, i16 0, i16 0, i16 0, i16 12258, i16 12259, i16 0, i16 12260, i16 12261, i16 0, i16 0, i16 12262, i16 0, i16 2355, i16 0, i16 12263, i16 0, i16 0, i16 12264, i16 0, i16 0, i16 0, i16 12265, i16 6619, i16 12266, i16 6618, i16 12267, i16 12268, i16 12269, i16 12270, i16 0, i16 12271, i16 10469, i16 5529, i16 10470, i16 5530, i16 2980, i16 10471, i16 2188, i16 5527, i16 0, i16 2596, i16 10472, i16 10473, i16 5528, i16 10474, i16 0, i16 0, i16 2107, i16 10475, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10476, i16 0, i16 0, i16 805, i16 10477, i16 0, i16 0, i16 0, i16 12005, i16 0, i16 6511, i16 12006, i16 12007, i16 6510, i16 997, i16 0, i16 12008, i16 2899, i16 6512, i16 2994, i16 0, i16 2738, i16 12009, i16 6513, i16 2017, i16 12010, i16 0, i16 0, i16 6515, i16 12011, i16 12012, i16 3411, i16 6530, i16 6517, i16 6518, i16 12013, i16 0, i16 2666, i16 12014, i16 0, i16 1254, i16 0, i16 12579, i16 6786, i16 0, i16 0, i16 6785, i16 0, i16 6784, i16 0, i16 0, i16 6329, i16 12580, i16 3249, i16 12581, i16 0, i16 0, i16 12582, i16 12583, i16 6787, i16 6788, i16 12584, i16 12585, i16 0, i16 12586, i16 12587, i16 12588, i16 0, i16 12589, i16 0, i16 12590, i16 12591, i16 9702, i16 5142, i16 0, i16 5141, i16 5143, i16 9703, i16 9704, i16 9705, i16 9706, i16 0, i16 5146, i16 0, i16 0, i16 0, i16 9707, i16 9708, i16 9709, i16 2754, i16 0, i16 5140, i16 0, i16 9710, i16 9711, i16 0, i16 0, i16 5144, i16 0, i16 0, i16 9712, i16 0, i16 0, i16 0, i16 2280, i16 6299, i16 0, i16 6304, i16 1574, i16 6301, i16 6302, i16 11686, i16 6298, i16 11687, i16 0, i16 0, i16 2315, i16 2854, i16 11688, i16 11689, i16 2546, i16 0, i16 994, i16 11690, i16 0, i16 0, i16 11691, i16 11692, i16 0, i16 3081, i16 0, i16 11693, i16 1250, i16 0, i16 11694, i16 2645, i16 10216, i16 0, i16 10217, i16 10218, i16 10219, i16 10220, i16 10221, i16 10222, i16 10223, i16 0, i16 10224, i16 0, i16 0, i16 10225, i16 3074, i16 0, i16 5416, i16 0, i16 0, i16 0, i16 5417, i16 0, i16 0, i16 7073, i16 5418, i16 5419, i16 5420, i16 0, i16 0, i16 10226, i16 0, i16 1793, i16 6633, i16 0, i16 0, i16 0, i16 12337, i16 12338, i16 0, i16 12339, i16 0, i16 12340, i16 12341, i16 0, i16 1416, i16 12342, i16 6635, i16 12343, i16 12344, i16 12345, i16 0, i16 12346, i16 12347, i16 1513, i16 12348, i16 0, i16 0, i16 0, i16 12349, i16 0, i16 6634, i16 12350, i16 2126, i16 12351, i16 8938, i16 8939, i16 0, i16 8940, i16 0, i16 0, i16 0, i16 4640, i16 0, i16 3347, i16 0, i16 0, i16 0, i16 8941, i16 0, i16 4641, i16 0, i16 0, i16 0, i16 8942, i16 8943, i16 0, i16 4642, i16 0, i16 3423, i16 0, i16 2251, i16 8944, i16 0, i16 8945, i16 0, i16 0, i16 235, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 269, i16 256, i16 270, i16 7109, i16 0, i16 4075, i16 4073, i16 4071, i16 4074, i16 0, i16 8004, i16 0, i16 0, i16 4076, i16 8005, i16 8006, i16 8007, i16 8010, i16 8011, i16 4077, i16 8008, i16 8009, i16 4078, i16 0, i16 4079, i16 0, i16 0, i16 0, i16 4080, i16 3841, i16 8012, i16 1965, i16 1824, i16 8013, i16 8014, i16 1016, i16 8015, i16 6891, i16 12790, i16 0, i16 12791, i16 2236, i16 0, i16 12792, i16 0, i16 12793, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12794, i16 6892, i16 12795, i16 6893, i16 12796, i16 6894, i16 6895, i16 12797, i16 12798, i16 12799, i16 1657, i16 0, i16 0, i16 12800, i16 12801, i16 0, i16 6896, i16 6897, i16 9963, i16 0, i16 9964, i16 0, i16 0, i16 9965, i16 9966, i16 0, i16 0, i16 1186, i16 9967, i16 9968, i16 0, i16 9969, i16 0, i16 0, i16 0, i16 0, i16 3637, i16 5276, i16 0, i16 9970, i16 0, i16 9971, i16 0, i16 9972, i16 0, i16 5278, i16 9973, i16 9974, i16 0, i16 9975, i16 7405, i16 7406, i16 7407, i16 2506, i16 3630, i16 787, i16 0, i16 0, i16 7408, i16 0, i16 0, i16 0, i16 0, i16 3743, i16 963, i16 7409, i16 1345, i16 7410, i16 2602, i16 7411, i16 0, i16 7412, i16 1482, i16 3745, i16 0, i16 0, i16 0, i16 2911, i16 0, i16 7413, i16 7414, i16 7415, i16 494, i16 495, i16 496, i16 497, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 232, i16 233, i16 242, i16 243, i16 0, i16 750, i16 3137, i16 3994, i16 0, i16 3990, i16 0, i16 7861, i16 3985, i16 3991, i16 1725, i16 7862, i16 0, i16 0, i16 7863, i16 7864, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3998, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12272, i16 12273, i16 12274, i16 12275, i16 0, i16 12276, i16 12277, i16 12278, i16 12279, i16 0, i16 0, i16 12280, i16 12281, i16 12282, i16 12283, i16 6617, i16 12284, i16 0, i16 3298, i16 12285, i16 0, i16 12286, i16 0, i16 12287, i16 12288, i16 12289, i16 0, i16 0, i16 12290, i16 12291, i16 0, i16 12292, i16 1009, i16 6386, i16 3667, i16 2659, i16 3696, i16 11796, i16 11797, i16 1860, i16 6385, i16 11798, i16 2454, i16 11799, i16 0, i16 6402, i16 2351, i16 11800, i16 0, i16 2901, i16 0, i16 3143, i16 0, i16 11802, i16 11801, i16 0, i16 0, i16 11803, i16 6389, i16 1810, i16 1861, i16 11804, i16 2123, i16 0, i16 4849, i16 4836, i16 0, i16 4846, i16 0, i16 9254, i16 0, i16 4840, i16 9255, i16 0, i16 9256, i16 9257, i16 9258, i16 9259, i16 2180, i16 4850, i16 9260, i16 9261, i16 2268, i16 0, i16 0, i16 9262, i16 9263, i16 0, i16 0, i16 4848, i16 1150, i16 9264, i16 9265, i16 9266, i16 0, i16 0, i16 13041, i16 0, i16 0, i16 0, i16 0, i16 13042, i16 7028, i16 13043, i16 0, i16 13044, i16 0, i16 13045, i16 0, i16 7029, i16 13046, i16 7030, i16 13047, i16 0, i16 3700, i16 13048, i16 13049, i16 0, i16 0, i16 0, i16 7027, i16 2512, i16 1762, i16 0, i16 0, i16 7031, i16 13050, i16 0, i16 6130, i16 0, i16 3293, i16 6131, i16 11395, i16 11396, i16 6128, i16 11397, i16 6129, i16 6134, i16 6137, i16 11398, i16 0, i16 6135, i16 11399, i16 11400, i16 11401, i16 6133, i16 6127, i16 11402, i16 11403, i16 0, i16 0, i16 0, i16 2587, i16 11404, i16 6144, i16 0, i16 3387, i16 0, i16 11405, i16 11406, i16 4083, i16 8027, i16 8028, i16 3253, i16 4085, i16 0, i16 0, i16 8029, i16 4087, i16 4086, i16 8030, i16 4088, i16 8031, i16 4089, i16 0, i16 1490, i16 0, i16 8032, i16 903, i16 4090, i16 0, i16 8033, i16 4092, i16 0, i16 4091, i16 0, i16 8034, i16 8035, i16 4094, i16 8036, i16 0, i16 2777, i16 3830, i16 829, i16 7623, i16 1518, i16 1430, i16 1995, i16 2622, i16 1313, i16 2321, i16 1584, i16 7624, i16 1669, i16 3832, i16 3417, i16 2757, i16 7625, i16 1868, i16 0, i16 3831, i16 7626, i16 3833, i16 7627, i16 0, i16 7628, i16 7629, i16 0, i16 2781, i16 0, i16 1112, i16 0, i16 0, i16 7630, i16 3320, i16 897, i16 811, i16 0, i16 2818, i16 11714, i16 11715, i16 6321, i16 0, i16 0, i16 11721, i16 11716, i16 6320, i16 0, i16 2883, i16 0, i16 6325, i16 11717, i16 0, i16 0, i16 6314, i16 0, i16 6324, i16 6326, i16 0, i16 1509, i16 6322, i16 1645, i16 11718, i16 1926, i16 11719, i16 11720, i16 3576, i16 1731, i16 2552, i16 4614, i16 8885, i16 2309, i16 8886, i16 1612, i16 2223, i16 909, i16 2371, i16 4612, i16 1252, i16 8887, i16 8888, i16 8889, i16 0, i16 0, i16 1442, i16 0, i16 2672, i16 4618, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2406, i16 0, i16 8890, i16 4621, i16 0, i16 7416, i16 1196, i16 7417, i16 7418, i16 0, i16 0, i16 0, i16 0, i16 7419, i16 3746, i16 788, i16 7420, i16 7421, i16 1561, i16 1197, i16 3185, i16 3019, i16 1272, i16 7422, i16 0, i16 0, i16 7423, i16 7424, i16 7425, i16 0, i16 7426, i16 1014, i16 0, i16 3781, i16 2752, i16 0, i16 0, i16 1529, i16 0, i16 2716, i16 6278, i16 11631, i16 11632, i16 0, i16 11633, i16 1458, i16 0, i16 2209, i16 0, i16 6281, i16 0, i16 2817, i16 11634, i16 6280, i16 11635, i16 11636, i16 1420, i16 11637, i16 11638, i16 6279, i16 2524, i16 1228, i16 0, i16 0, i16 6282, i16 0, i16 6283, i16 11639, i16 2118, i16 2041, i16 4564, i16 8795, i16 8796, i16 8797, i16 0, i16 8798, i16 2329, i16 6559, i16 3067, i16 0, i16 1947, i16 8799, i16 1730, i16 4565, i16 0, i16 8800, i16 8801, i16 8802, i16 2476, i16 8803, i16 3196, i16 8804, i16 0, i16 2518, i16 0, i16 8805, i16 4568, i16 8806, i16 0, i16 4566, i16 0, i16 10235, i16 5426, i16 0, i16 1159, i16 3056, i16 5427, i16 10236, i16 5428, i16 10237, i16 0, i16 5429, i16 0, i16 10238, i16 0, i16 3437, i16 0, i16 10239, i16 10240, i16 3430, i16 0, i16 2655, i16 0, i16 10241, i16 0, i16 2417, i16 10242, i16 0, i16 5431, i16 10243, i16 0, i16 2033, i16 0, i16 5628, i16 10657, i16 0, i16 10658, i16 5652, i16 5654, i16 0, i16 10659, i16 0, i16 10660, i16 0, i16 0, i16 5655, i16 10661, i16 10662, i16 0, i16 10663, i16 0, i16 10664, i16 3227, i16 0, i16 5656, i16 0, i16 0, i16 0, i16 10665, i16 0, i16 0, i16 10666, i16 10667, i16 3443, i16 0, i16 3325, i16 7813, i16 0, i16 0, i16 0, i16 0, i16 3062, i16 7814, i16 7815, i16 3968, i16 7816, i16 1183, i16 3963, i16 3964, i16 3966, i16 7817, i16 0, i16 7818, i16 0, i16 0, i16 7819, i16 7820, i16 3967, i16 0, i16 1274, i16 2220, i16 0, i16 3202, i16 3965, i16 3961, i16 1564, i16 0, i16 5629, i16 10622, i16 10623, i16 10624, i16 10625, i16 0, i16 10626, i16 5630, i16 0, i16 10627, i16 0, i16 10628, i16 10629, i16 5635, i16 10630, i16 10631, i16 0, i16 5624, i16 3951, i16 5631, i16 5625, i16 0, i16 0, i16 5634, i16 0, i16 10632, i16 0, i16 10633, i16 0, i16 0, i16 0, i16 5640, i16 4350, i16 0, i16 0, i16 4349, i16 4348, i16 3188, i16 0, i16 4357, i16 0, i16 8514, i16 0, i16 8512, i16 3341, i16 0, i16 4351, i16 0, i16 8513, i16 8515, i16 0, i16 0, i16 4353, i16 3358, i16 8516, i16 4352, i16 8517, i16 0, i16 0, i16 8518, i16 8519, i16 0, i16 8520, i16 4354, i16 9726, i16 5159, i16 0, i16 0, i16 0, i16 9727, i16 9728, i16 9729, i16 0, i16 5155, i16 0, i16 5156, i16 0, i16 9730, i16 0, i16 5160, i16 0, i16 5158, i16 0, i16 0, i16 0, i16 3141, i16 0, i16 9731, i16 5166, i16 0, i16 5163, i16 5162, i16 0, i16 5165, i16 2865, i16 5167, i16 3839, i16 0, i16 3840, i16 7634, i16 7635, i16 2879, i16 902, i16 0, i16 0, i16 3843, i16 1778, i16 7636, i16 3842, i16 1723, i16 7637, i16 3844, i16 5856, i16 3845, i16 3316, i16 3846, i16 0, i16 3847, i16 3848, i16 2134, i16 7638, i16 1917, i16 0, i16 0, i16 0, i16 7639, i16 0, i16 0, i16 5887, i16 10975, i16 5888, i16 5884, i16 10977, i16 10978, i16 10979, i16 0, i16 5885, i16 0, i16 5886, i16 10980, i16 0, i16 0, i16 10981, i16 1640, i16 10976, i16 0, i16 0, i16 5894, i16 0, i16 5890, i16 10982, i16 0, i16 10983, i16 0, i16 3165, i16 10984, i16 3359, i16 3103, i16 10985, i16 0, i16 120, i16 12, i16 25, i16 0, i16 0, i16 5, i16 0, i16 23, i16 156, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 17, i16 157, i16 107, i16 21, i16 147, i16 174, i16 24, i16 0, i16 3, i16 173, i16 137, i16 30, i16 88, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 143, i16 145, i16 8, i16 117, i16 132, i16 0, i16 0, i16 177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 187, i16 95, i16 182, i16 161, i16 129, i16 127, i16 97, i16 135, i16 103, i16 108, i16 83, i16 86, i16 166, i16 139, i16 89, i16 172, i16 56, i16 77, i16 106, i16 162, i16 189, i16 155, i16 41, i16 141, i16 124, i16 28, i16 74, i16 68, i16 113, i16 27, i16 67, i16 85, i16 144, i16 70, i16 126, i16 96, i16 35, i16 61, i16 190, i16 123, i16 176, i16 171, i16 148, i16 183, i16 38, i16 54, i16 142, i16 186, i16 87, i16 75, i16 94, i16 76, i16 32, i16 98, i16 163, i16 20, i16 133, i16 154, i16 66, i16 138, i16 52, i16 101, i16 44, i16 63, i16 19, i16 22, i16 164, i16 191, i16 136, i16 80, i16 65, i16 91, i16 114, i16 181, i16 51, i16 79, i16 184, i16 116, i16 151, i16 92, i16 140, i16 64, i16 167, i16 50, i16 110, i16 130, i16 192, i16 152, i16 100, i16 99, i16 36, i16 93, i16 72, i16 146, i16 131, i16 33, i16 47, i16 119, i16 7, i16 73, i16 185, i16 57, i16 160, i16 150, i16 78, i16 45, i16 118, i16 49, i16 115, i16 29, i16 31, i16 69, i16 188, i16 53, i16 149, i16 121, i16 55, i16 109, i16 82, i16 153, i16 178, i16 90, i16 122, i16 104, i16 6, i16 175, i16 60, i16 59, i16 43, i16 180, i16 125, i16 16, i16 179, i16 102, i16 134, i16 62, i16 37, i16 158, i16 71, i16 40, i16 84, i16 0, i16 1, i16 159, i16 13, i16 81, i16 111, i16 46, i16 105, i16 9, i16 128, i16 18, i16 170, i16 11, i16 15, i16 39, i16 34, i16 2, i16 48, i16 10, i16 14, i16 26, i16 58, i16 42, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 169, i16 112, i16 168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 165, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 84, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1270, i16 1950, i16 0, i16 426, i16 2786, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3365, i16 3389, i16 3410, i16 1975, i16 0, i16 2471, i16 2480, i16 2502, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2924, i16 1668, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 408, i16 0, i16 0, i16 3296, i16 0, i16 3249, i16 1864, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 141, i16 0, i16 51, i16 1513, i16 1049, i16 2968, i16 2294, i16 0, i16 1390, i16 979, i16 0, i16 1886, i16 0, i16 617, i16 0, i16 0, i16 0, i16 1282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 471, i16 2852, i16 0, i16 0, i16 0, i16 0, i16 3275, i16 2769, i16 2449, i16 0, i16 0, i16 0, i16 0, i16 693, i16 657, i16 2725, i16 1421, i16 1123, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1524, i16 2708, i16 2736, i16 2762, i16 2793, i16 2808, i16 2834, i16 2854, i16 2870, i16 2890, i16 2909, i16 2932, i16 2958, i16 2983, i16 3003, i16 3025, i16 3042, i16 3062, i16 3085, i16 3108, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2374, i16 367, i16 1664, i16 0, i16 0, i16 0, i16 0, i16 2342, i16 0, i16 0, i16 0, i16 0, i16 165, i16 2704, i16 1683, i16 0, i16 0, i16 1370, i16 0, i16 2875, i16 0, i16 2939, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1678, i16 423, i16 0, i16 2585, i16 0, i16 0, i16 0, i16 2178, i16 0, i16 0, i16 0, i16 463, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 603, i16 0, i16 3282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2510, i16 0, i16 0, i16 0, i16 2978, i16 0, i16 0, i16 0, i16 0, i16 0, i16 454, i16 3047, i16 2404, i16 0, i16 0, i16 1652, i16 0, i16 628, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1882, i16 3318, i16 2723, i16 1548, i16 2895, i16 3235, i16 3268, i16 2013, i16 0, i16 899, i16 0, i16 0, i16 2999, i16 270, i16 3031, i16 926, i16 0, i16 511, i16 0, i16 0, i16 2064, i16 271, i16 2107, i16 537, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2071, i16 1576, i16 0, i16 1014, i16 610, i16 703, i16 0, i16 89, i16 277, i16 2618, i16 2078, i16 373, i16 2562, i16 2653, i16 0, i16 20, i16 2792, i16 1006, i16 1991, i16 745, i16 0, i16 2504, i16 1920, i16 3246, i16 1187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1040, i16 538, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1639, i16 1552, i16 1656, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1084, i16 0, i16 0, i16 343, i16 947, i16 0, i16 1748, i16 0, i16 0, i16 2269, i16 1677, i16 2648, i16 0, i16 455, i16 0, i16 2224, i16 572, i16 0, i16 0, i16 0, i16 0, i16 272, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 218, i16 2385, i16 42, i16 1008, i16 2883, i16 1666, i16 3317, i16 0, i16 0, i16 0, i16 845, i16 1527, i16 0, i16 966, i16 1411, i16 2278, i16 0, i16 0, i16 0, i16 529, i16 764, i16 1103, i16 2200, i16 446, i16 1517, i16 1958, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1554, i16 2767, i16 2782, i16 2040, i16 1538, i16 0, i16 0, i16 3329, i16 0, i16 320, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2561, i16 0, i16 183, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1077, i16 1744, i16 1381, i16 0, i16 1821, i16 2017, i16 2216, i16 1487, i16 2180, i16 1772, i16 0, i16 1191, i16 0, i16 0, i16 0, i16 2697, i16 1177, i16 1167, i16 1491, i16 0, i16 0, i16 0, i16 1684, i16 1161, i16 0, i16 0, i16 261, i16 0, i16 0, i16 0, i16 0, i16 0, i16 353, i16 1482, i16 385, i16 2859, i16 2317, i16 136, i16 2314, i16 598, i16 2350, i16 2114, i16 3321, i16 177, i16 3325, i16 740, i16 1376, i16 0, i16 564, i16 3237, i16 2522, i16 0, i16 220, i16 451, i16 896, i16 985, i16 0, i16 931, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1514, i16 391, i16 2423, i16 0, i16 1547, i16 0, i16 904, i16 0, i16 3173, i16 265, i16 0, i16 1255, i16 0, i16 406, i16 3030, i16 2947, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2682, i16 0, i16 0, i16 0, i16 90, i16 1190, i16 0, i16 0, i16 0, i16 0, i16 3076, i16 3092, i16 2084, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1002, i16 3212, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3169, i16 789, i16 0, i16 3187, i16 948, i16 1953, i16 530, i16 245, i16 1845, i16 769, i16 646, i16 0, i16 670, i16 2443, i16 1563, i16 2644, i16 1508, i16 2949, i16 0, i16 0, i16 0, i16 0, i16 0, i16 330, i16 0, i16 2594, i16 2182, i16 696, i16 0, i16 0, i16 0, i16 0, i16 1906, i16 3349, i16 3372, i16 3395, i16 3415, i16 1974, i16 1997, i16 0, i16 1128, i16 2030, i16 2057, i16 2085, i16 2106, i16 2126, i16 2152, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 884, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1151, i16 0, i16 0, i16 0, i16 0, i16 907, i16 0, i16 0, i16 1164, i16 0, i16 2089, i16 328, i16 2093, i16 0, i16 1196, i16 0, i16 921, i16 0, i16 0, i16 0, i16 0, i16 929, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 910, i16 152, i16 0, i16 1679, i16 0, i16 1452, i16 0, i16 0, i16 0, i16 1992, i16 65, i16 1016, i16 259, i16 0, i16 0, i16 1174, i16 1900, i16 3026, i16 3184, i16 2125, i16 0, i16 0, i16 2720, i16 0, i16 0, i16 3373, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2737, i16 0, i16 0, i16 0, i16 1427, i16 0, i16 1750, i16 2491, i16 1564, i16 1184, i16 2996, i16 889, i16 3105, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1290, i16 0, i16 3191, i16 0, i16 2844, i16 401, i16 3231, i16 3156, i16 241, i16 1896, i16 0, i16 0, i16 0, i16 0, i16 699, i16 0, i16 1035, i16 0, i16 0, i16 2360, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1115, i16 3123, i16 1925, i16 3287, i16 0, i16 0, i16 0, i16 0, i16 1450, i16 803, i16 1267, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3280, i16 2450, i16 1696, i16 3032, i16 1377, i16 0, i16 0, i16 0, i16 568, i16 0, i16 2921, i16 2479, i16 2955, i16 2063, i16 1546, i16 1367, i16 1641, i16 0, i16 1039, i16 0, i16 0, i16 0, i16 0, i16 3264, i16 0, i16 2136, i16 0, i16 3056, i16 0, i16 0, i16 0, i16 0, i16 467, i16 0, i16 0, i16 0, i16 3041, i16 1967, i16 1980, i16 0, i16 932, i16 1066, i16 0, i16 3061, i16 3344, i16 920, i16 3399, i16 915, i16 3409, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1520, i16 3160, i16 3104, i16 973, i16 1426, i16 1893, i16 0, i16 2838, i16 0, i16 0, i16 0, i16 1137, i16 1473, i16 0, i16 1810, i16 942, i16 331, i16 0, i16 1150, i16 0, i16 43, i16 0, i16 2179, i16 1614, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 508, i16 487, i16 0, i16 0, i16 1726, i16 0, i16 734, i16 308, i16 0, i16 0, i16 2990, i16 3063, i16 2991, i16 0, i16 3011, i16 1074, i16 3210, i16 3037, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1827, i16 0, i16 897, i16 0, i16 75, i16 0, i16 0, i16 0, i16 1030, i16 462, i16 0, i16 0, i16 2414, i16 2898, i16 0, i16 0, i16 3253, i16 1468, i16 2833, i16 3273, i16 1955, i16 0, i16 127, i16 913, i16 0, i16 0, i16 507, i16 2716, i16 1126, i16 3029, i16 0, i16 3382, i16 2668, i16 0, i16 2555, i16 128, i16 0, i16 0, i16 0, i16 0, i16 1127, i16 2981, i16 1437, i16 0, i16 0, i16 0, i16 1500, i16 0, i16 0, i16 480, i16 0, i16 114, i16 0, i16 0, i16 205, i16 1655, i16 0, i16 0, i16 34, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 370, i16 500, i16 528, i16 0, i16 2690, i16 2876, i16 1477, i16 3133, i16 333, i16 0, i16 0, i16 0, i16 0, i16 1793, i16 0, i16 0, i16 1529, i16 2550, i16 1096, i16 1112, i16 1588, i16 820, i16 3267, i16 2595, i16 1977, i16 3394, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 125, i16 1589, i16 0, i16 1933, i16 847, i16 2168, i16 468, i16 0, i16 3405, i16 0, i16 0, i16 1506, i16 0, i16 0, i16 683, i16 1939, i16 2846, i16 2878, i16 2642, i16 0, i16 0, i16 2377, i16 0, i16 0, i16 2596, i16 0, i16 1532, i16 0, i16 1107, i16 0, i16 0, i16 0, i16 1919, i16 3021, i16 120, i16 0, i16 644, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2732, i16 501, i16 279, i16 2509, i16 1644, i16 1863, i16 0, i16 0, i16 395, i16 246, i16 1025, i16 626, i16 3384, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1675, i16 0, i16 2734, i16 0, i16 3140, i16 990, i16 0, i16 0, i16 2169, i16 0, i16 0, i16 1027, i16 552, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2583, i16 0, i16 3286, i16 0, i16 1212, i16 316, i16 0, i16 0, i16 2830, i16 0, i16 0, i16 0, i16 0, i16 909, i16 1229, i16 0, i16 0, i16 335, i16 0, i16 0, i16 359, i16 647, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1153, i16 0, i16 0, i16 901, i16 0, i16 0, i16 0, i16 2492, i16 2027, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3219, i16 0, i16 2744, i16 476, i16 0, i16 11, i16 243, i16 0, i16 2327, i16 3098, i16 0, i16 0, i16 0, i16 97, i16 0, i16 0, i16 0, i16 1523, i16 0, i16 0, i16 783, i16 1121, i16 3144, i16 0, i16 0, i16 0, i16 496, i16 0, i16 0, i16 0, i16 0, i16 0, i16 158, i16 0, i16 2711, i16 1954, i16 3311, i16 886, i16 239, i16 1528, i16 1343, i16 1531, i16 225, i16 0, i16 1047, i16 0, i16 2311, i16 3385, i16 607, i16 2571, i16 2130, i16 848, i16 0, i16 2750, i16 440, i16 794, i16 2102, i16 460, i16 2018, i16 2208, i16 1181, i16 0, i16 0, i16 0, i16 1755, i16 2493, i16 1397, i16 0, i16 3417, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 780, i16 206, i16 2759, i16 0, i16 0, i16 834, i16 0, i16 0, i16 672, i16 0, i16 2241, i16 1359, i16 0, i16 0, i16 584, i16 1978, i16 3009, i16 0, i16 0, i16 0, i16 1160, i16 211, i16 2666, i16 0, i16 0, i16 0, i16 0, i16 2074, i16 0, i16 0, i16 0, i16 0, i16 17, i16 2606, i16 1737, i16 202, i16 1812, i16 1007, i16 0, i16 1841, i16 1345, i16 0, i16 738, i16 1162, i16 2860, i16 1943, i16 1814, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1674, i16 2556, i16 66, i16 542, i16 1205, i16 3419, i16 0, i16 2603, i16 2500, i16 425, i16 0, i16 0, i16 278, i16 1961, i16 680, i16 0, i16 1124, i16 1758, i16 0, i16 1555, i16 1446, i16 2210, i16 1405, i16 350, i16 3028, i16 2892, i16 0, i16 0, i16 0, i16 0, i16 1826, i16 2907, i16 21, i16 558, i16 1600, i16 1932, i16 0, i16 0, i16 1779, i16 0, i16 0, i16 1295, i16 0, i16 0, i16 28, i16 1725, i16 0, i16 0, i16 0, i16 0, i16 1981, i16 0, i16 2384, i16 1942, i16 0, i16 0, i16 0, i16 0, i16 0, i16 795, i16 452, i16 0, i16 208, i16 0, i16 0, i16 3044, i16 0, i16 0, i16 0, i16 0, i16 166, i16 836, i16 340, i16 337, i16 0, i16 0, i16 1875, i16 0, i16 0, i16 1159, i16 32, i16 1879, i16 1304, i16 0, i16 414, i16 515, i16 1347, i16 365, i16 0, i16 1884, i16 1521, i16 970, i16 0, i16 0, i16 858, i16 3141, i16 0, i16 717, i16 1866, i16 0, i16 1280, i16 1791, i16 2234, i16 0, i16 1414, i16 2147, i16 0, i16 0, i16 1645, i16 0, i16 0, i16 0, i16 404, i16 0, i16 0, i16 984, i16 3122, i16 0, i16 0, i16 0, i16 145, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1803, i16 0, i16 0, i16 1651, i16 2447, i16 0, i16 0, i16 2291, i16 472, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1134, i16 838, i16 0, i16 470, i16 2650, i16 606, i16 1065, i16 0, i16 1130, i16 0, i16 0, i16 0, i16 0, i16 1374, i16 1694, i16 1572, i16 1648, i16 2386, i16 200, i16 694, i16 0, i16 2530, i16 0, i16 0, i16 1752, i16 159, i16 2351, i16 3097, i16 1410, i16 1125, i16 0, i16 0, i16 412, i16 0, i16 1556, i16 0, i16 0, i16 625, i16 0, i16 1649, i16 0, i16 2100, i16 2469, i16 0, i16 273, i16 3016, i16 0, i16 0, i16 0, i16 0, i16 0, i16 399, i16 276, i16 2646, i16 671, i16 1732, i16 1888, i16 1382, i16 57, i16 0, i16 0, i16 0, i16 0, i16 0, i16 999, i16 0, i16 0, i16 681, i16 190, i16 2424, i16 0, i16 1319, i16 1454, i16 0, i16 0, i16 539, i16 0, i16 761, i16 0, i16 2021, i16 0, i16 0, i16 2189, i16 54, i16 0, i16 0, i16 0, i16 0, i16 3073, i16 0, i16 3049, i16 1501, i16 3198, i16 0, i16 0, i16 0, i16 2802, i16 255, i16 1960, i16 0, i16 0, i16 0, i16 263, i16 0, i16 0, i16 0, i16 0, i16 3168, i16 3007, i16 784, i16 3164, i16 0, i16 0, i16 788, i16 2164, i16 1711, i16 1088, i16 1328, i16 3024, i16 0, i16 2497, i16 1825, i16 2888, i16 1003, i16 986, i16 1603, i16 0, i16 0, i16 1012, i16 2473, i16 329, i16 0, i16 0, i16 0, i16 189, i16 2254, i16 1348, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 283, i16 155, i16 0, i16 0, i16 2908, i16 1209, i16 346, i16 0, i16 2765, i16 0, i16 1957, i16 0, i16 0, i16 0, i16 828, i16 0, i16 0, i16 2807, i16 0, i16 1676, i16 0, i16 1091, i16 768, i16 0, i16 2818, i16 349, i16 1789, i16 2193, i16 0, i16 164, i16 0, i16 1171, i16 2810, i16 938, i16 1163, i16 719, i16 2554, i16 2822, i16 0, i16 1575, i16 1200, i16 0, i16 2598, i16 753, i16 2532, i16 972, i16 689, i16 0, i16 1284, i16 0, i16 0, i16 0, i16 0, i16 0, i16 64, i16 800, i16 0, i16 0, i16 0, i16 1307, i16 509, i16 106, i16 0, i16 3278, i16 819, i16 0, i16 3013, i16 1015, i16 26, i16 1631, i16 1202, i16 1117, i16 0, i16 2326, i16 0, i16 3046, i16 49, i16 0, i16 736, i16 0, i16 776, i16 1109, i16 0, i16 0, i16 3182, i16 0, i16 0, i16 0, i16 0, i16 0, i16 217, i16 510, i16 2212, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 341, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2689, i16 0, i16 0, i16 2117, i16 0, i16 0, i16 0, i16 2825, i16 1273, i16 2948, i16 0, i16 977, i16 268, i16 1266, i16 1283, i16 1369, i16 1795, i16 207, i16 1685, i16 3014, i16 497, i16 0, i16 437, i16 2505, i16 0, i16 2563, i16 0, i16 0, i16 732, i16 553, i16 1247, i16 2372, i16 0, i16 0, i16 1637, i16 3251, i16 3313, i16 1308, i16 0, i16 10, i16 2912, i16 1061, i16 131, i16 0, i16 0, i16 0, i16 2111, i16 0, i16 0, i16 0, i16 0, i16 0, i16 169, i16 0, i16 0, i16 0, i16 490, i16 642, i16 677, i16 0, i16 0, i16 180, i16 1565, i16 148, i16 569, i16 2201, i16 0, i16 315, i16 0, i16 0, i16 0, i16 1818, i16 1021, i16 0, i16 0, i16 0, i16 1244, i16 0, i16 76, i16 0, i16 3406, i16 0, i16 93, i16 0, i16 513, i16 960, i16 0, i16 859, i16 96, i16 1964, i16 0, i16 0, i16 386, i16 1629, i16 1510, i16 0, i16 2656, i16 269, i16 321, i16 0, i16 0, i16 0, i16 0, i16 3106, i16 2930, i16 1402, i16 80, i16 867, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2660, i16 368, i16 0, i16 2661, i16 2045, i16 0, i16 0, i16 0, i16 1581, i16 1544, i16 3381, i16 0, i16 2853, i16 891, i16 449, i16 2010, i16 3277, i16 0, i16 0, i16 2382, i16 2172, i16 2069, i16 2897, i16 0, i16 1773, i16 0, i16 0, i16 1291, i16 0, i16 645, i16 2135, i16 2034, i16 0, i16 0, i16 0, i16 2584, i16 772, i16 1898, i16 0, i16 0, i16 48, i16 1245, i16 1113, i16 747, i16 0, i16 0, i16 1973, i16 0, i16 0, i16 209, i16 2281, i16 1289, i16 2785, i16 0, i16 0, i16 2118, i16 176, i16 1248, i16 2037, i16 2043, i16 339, i16 3293, i16 2066, i16 86, i16 248, i16 857, i16 0, i16 0, i16 1433, i16 0, i16 0, i16 0, i16 1585, i16 2756, i16 2680, i16 1650, i16 1718, i16 0, i16 0, i16 0, i16 0, i16 0, i16 394, i16 1024, i16 1537, i16 0, i16 0, i16 3170, i16 2362, i16 40, i16 53, i16 1101, i16 0, i16 2933, i16 900, i16 1447, i16 0, i16 3179, i16 833, i16 1566, i16 1494, i16 2973, i16 0, i16 0, i16 2609, i16 0, i16 927, i16 2303, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 650, i16 0, i16 0, i16 1075, i16 235, i16 823, i16 565, i16 3079, i16 0, i16 785, i16 777, i16 186, i16 2969, i16 1860, i16 2232, i16 0, i16 873, i16 741, i16 3125, i16 3257, i16 2239, i16 0, i16 3121, i16 1242, i16 2791, i16 0, i16 0, i16 1435, i16 974, i16 1780, i16 961, i16 0, i16 0, i16 2874, i16 757, i16 0, i16 0, i16 0, i16 400, i16 1432, i16 2766, i16 3039, i16 1001, i16 1507, i16 2972, i16 0, i16 2514, i16 1512, i16 2046, i16 0, i16 0, i16 0, i16 1253, i16 0, i16 2098, i16 545, i16 2165, i16 531, i16 555, i16 0, i16 0, i16 3371, i16 0, i16 0, i16 0, i16 742, i16 0, i16 807, i16 1931, i16 0, i16 1076, i16 0, i16 2026, i16 3245, i16 0, i16 0, i16 117, i16 1467, i16 2104, i16 631, i16 0, i16 754, i16 156, i16 2258, i16 307, i16 0, i16 60, i16 0, i16 1260, i16 1371, i16 3328, i16 1870, i16 0, i16 0, i16 61, i16 1241, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 424, i16 2403, i16 2148, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1231, i16 2367, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1596, i16 3096, i16 2202, i16 363, i16 1609, i16 2710, i16 2582, i16 791, i16 2705, i16 0, i16 2543, i16 2319, i16 2558, i16 2597, i16 1, i16 2495, i16 2730, i16 0, i16 3374, i16 2485, i16 2487, i16 0, i16 581, i16 1476, i16 3359, i16 2499, i16 2719, i16 0, i16 1876, i16 3240, i16 0, i16 0, i16 2110, i16 0, i16 198, i16 1488, i16 2262, i16 140, i16 0, i16 0, i16 782, i16 3157, i16 27, i16 3136, i16 0, i16 1092, i16 0, i16 1302, i16 0, i16 1912, i16 1217, i16 0, i16 1642, i16 0, i16 2457, i16 0, i16 3400, i16 1530, i16 0, i16 0, i16 167, i16 524, i16 221, i16 0, i16 2119, i16 998, i16 461, i16 0, i16 1358, i16 1037, i16 3378, i16 3206, i16 841, i16 68, i16 1762, i16 0, i16 1756, i16 2665, i16 482, i16 1004, i16 0, i16 2501, i16 0, i16 3204, i16 918, i16 724, i16 322, i16 2401, i16 0, i16 0, i16 2412, i16 306, i16 733, i16 863, i16 0, i16 0, i16 2904, i16 0, i16 0, i16 1979, i16 0, i16 1985, i16 556, i16 3312, i16 2987, i16 3045, i16 643, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3128, i16 1729, i16 0, i16 2970, i16 161, i16 0, i16 0, i16 0, i16 0, i16 602, i16 0, i16 1682, i16 0, i16 2523, i16 0, i16 92, i16 0, i16 0, i16 583, i16 0, i16 0, i16 697, i16 1263, i16 253, i16 504, i16 0, i16 0, i16 0, i16 0, i16 1636, i16 56, i16 0, i16 0, i16 2617, i16 0, i16 0, i16 0, i16 0, i16 2960, i16 2884, i16 0, i16 1999, i16 438, i16 0, i16 0, i16 0, i16 0, i16 1116, i16 2929, i16 2605, i16 0, i16 2323, i16 774, i16 1032, i16 0, i16 2015, i16 2336, i16 0, i16 520, i16 0, i16 2016, i16 1634, i16 1182, i16 1362, i16 850, i16 2906, i16 596, i16 3274, i16 0, i16 199, i16 2242, i16 0, i16 1934, i16 0, i16 2635, i16 0, i16 1746, i16 2915, i16 0, i16 1375, i16 1118, i16 3004, i16 0, i16 477, i16 0, i16 0, i16 0, i16 0, i16 715, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3185, i16 0, i16 0, i16 0, i16 3248, i16 2541, i16 2340, i16 3258, i16 24, i16 2230, i16 1654, i16 0, i16 3421, i16 1923, i16 2565, i16 2280, i16 0, i16 3167, i16 3149, i16 895, i16 3306, i16 994, i16 2009, i16 1543, i16 2273, i16 0, i16 14, i16 814, i16 540, i16 2243, i16 1384, i16 969, i16 0, i16 2914, i16 1698, i16 0, i16 0, i16 995, i16 1119, i16 2474, i16 2855, i16 498, i16 0, i16 0, i16 2312, i16 3331, i16 2002, i16 2324, i16 0, i16 111, i16 1281, i16 410, i16 2158, i16 1404, i16 708, i16 2625, i16 0, i16 0, i16 0, i16 82, i16 1965, i16 486, i16 3228, i16 661, i16 0, i16 2961, i16 0, i16 197, i16 2842, i16 2060, i16 517, i16 1518, i16 0, i16 0, i16 1853, i16 2257, i16 3392, i16 2419, i16 251, i16 975, i16 0, i16 883, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1423, i16 0, i16 2521, i16 0, i16 2305, i16 0, i16 3380, i16 0, i16 0, i16 1054, i16 1108, i16 1842, i16 0, i16 943, i16 811, i16 2963, i16 0, i16 0, i16 0, i16 2455, i16 0, i16 1511, i16 0, i16 0, i16 1907, i16 3408, i16 2431, i16 516, i16 0, i16 238, i16 2124, i16 1483, i16 0, i16 825, i16 2271, i16 0, i16 1475, i16 1297, i16 0, i16 2001, i16 1346, i16 0, i16 0, i16 0, i16 0, i16 1387, i16 0, i16 0, i16 2629, i16 0, i16 614, i16 1274, i16 839, i16 3154, i16 1005, i16 0, i16 3189, i16 1136, i16 1000, i16 0, i16 2727, i16 2848, i16 3, i16 0, i16 112, i16 1234, i16 1459, i16 770, i16 0, i16 1828, i16 0, i16 2065, i16 0, i16 1106, i16 2444, i16 0, i16 830, i16 1457, i16 1764, i16 2604, i16 3057, i16 1098, i16 1223, i16 0, i16 362, i16 1460, i16 1840, i16 0, i16 1913, i16 580, i16 829, i16 958, i16 0, i16 3337, i16 0, i16 1833, i16 2778, i16 387, i16 2865, i16 310, i16 193, i16 3403, i16 0, i16 0, i16 0, i16 2614, i16 466, i16 0, i16 0, i16 2428, i16 1646, i16 0, i16 0, i16 0, i16 0, i16 1917, i16 0, i16 1908, i16 1859, i16 0, i16 1660, i16 804, i16 1592, i16 0, i16 3094, i16 3216, i16 2295, i16 33, i16 443, i16 3358, i16 0, i16 1394, i16 250, i16 213, i16 0, i16 1971, i16 3080, i16 1354, i16 3360, i16 0, i16 1265, i16 1584, i16 2053, i16 512, i16 0, i16 2928, i16 409, i16 2225, i16 779, i16 1186, i16 0, i16 0, i16 381, i16 0, i16 0, i16 2369, i16 0, i16 3368, i16 0, i16 0, i16 1479, i16 924, i16 0, i16 0, i16 599, i16 3139, i16 0, i16 1492, i16 2101, i16 0, i16 0, i16 0, i16 0, i16 0, i16 184, i16 0, i16 2197, i16 651, i16 0, i16 601, i16 0, i16 0, i16 29, i16 0, i16 1149, i16 3302, i16 1156, i16 3111, i16 1269, i16 1298, i16 0, i16 2073, i16 0, i16 615, i16 262, i16 0, i16 0, i16 1349, i16 118, i16 3159, i16 3178, i16 3316, i16 1252, i16 1277, i16 3301, i16 493, i16 3119, i16 2977, i16 842, i16 2399, i16 318, i16 2940, i16 2123, i16 0, i16 1620, i16 0, i16 2951, i16 0, i16 0, i16 0, i16 0, i16 2453, i16 0, i16 0, i16 1323, i16 288, i16 0, i16 0, i16 1615, i16 2715, i16 0, i16 0, i16 2691, i16 0, i16 0, i16 1388, i16 0, i16 280, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1250, i16 0, i16 392, i16 275, i16 0, i16 0, i16 0, i16 0, i16 1926, i16 3008, i16 0, i16 620, i16 0, i16 0, i16 0, i16 2971, i16 3401, i16 0, i16 0, i16 0, i16 1314, i16 608, i16 944, i16 0, i16 1534, i16 1131, i16 1430, i16 2835, i16 525, i16 1559, i16 3115, i16 0, i16 1672, i16 0, i16 3232, i16 0, i16 0, i16 382, i16 0, i16 3377, i16 352, i16 2301, i16 1207, i16 0, i16 1611, i16 0, i16 0, i16 260, i16 0, i16 94, i16 0, i16 2795, i16 1197, i16 0, i16 3402, i16 45, i16 0, i16 1816, i16 2185, i16 1216, i16 2678, i16 2866, i16 0, i16 2677, i16 0, i16 0, i16 687, i16 1342, i16 2420, i16 2163, i16 2142, i16 0, i16 876, i16 2989, i16 1172, i16 3393, i16 1550, i16 2506, i16 3017, i16 879, i16 0, i16 1169, i16 2729, i16 1817, i16 323, i16 0, i16 0, i16 1562, i16 1436, i16 0, i16 3397, i16 2616, i16 922, i16 44, i16 2966, i16 3135, i16 0, i16 0, i16 1713, i16 0, i16 491, i16 0, i16 0, i16 0, i16 2024, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2943, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3364, i16 3355, i16 2004, i16 2105, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3262, i16 0, i16 1082, i16 2663, i16 0, i16 0, i16 2379, i16 0, i16 0, i16 0, i16 2, i16 1330, i16 1747, i16 0, i16 731, i16 0, i16 2639, i16 0, i16 393, i16 18, i16 722, i16 0, i16 813, i16 223, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3353, i16 0, i16 1504, i16 0, i16 3099, i16 30, i16 1574, i16 2218, i16 566, i16 2621, i16 1989, i16 2917, i16 0, i16 3305, i16 0, i16 1398, i16 2651, i16 843, i16 2159, i16 317, i16 1335, i16 640, i16 865, i16 62, i16 2937, i16 1385, i16 919, i16 1034, i16 1233, i16 1850, i16 792, i16 1972, i16 987, i16 0, i16 2529, i16 1717, i16 364, i16 1095, i16 2696, i16 1142, i16 5, i16 1029, i16 0, i16 0, i16 1962, i16 1595, i16 0, i16 1145, i16 637, i16 1662, i16 0, i16 3386, i16 925, i16 2076, i16 2672, i16 0, i16 338, i16 0, i16 1198, i16 0, i16 1846, i16 0, i16 0, i16 366, i16 2622, i16 0, i16 739, i16 869, i16 799, i16 1480, i16 0, i16 0, i16 1721, i16 0, i16 1542, i16 160, i16 0, i16 1195, i16 1891, i16 2526, i16 3236, i16 502, i16 1697, i16 0, i16 1577, i16 514, i16 2373, i16 3289, i16 0, i16 478, i16 0, i16 0, i16 0, i16 2591, i16 2383, i16 660, i16 2297, i16 0, i16 234, i16 267, i16 124, i16 0, i16 2077, i16 534, i16 1838, i16 1568, i16 0, i16 0, i16 1619, i16 1873, i16 2033, i16 2484, i16 0, i16 2964, i16 2787, i16 1147, i16 0, i16 721, i16 0, i16 0, i16 0, i16 2815, i16 3086, i16 1622, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3336, i16 0, i16 3239, i16 1796, i16 0, i16 2976, i16 139, i16 1176, i16 0, i16 888, i16 2919, i16 3196, i16 1440, i16 2044, i16 574, i16 1754, i16 0, i16 586, i16 1760, i16 1087, i16 2331, i16 544, i16 0, i16 3279, i16 0, i16 0, i16 0, i16 1602, i16 2985, i16 1366, i16 91, i16 894, i16 523, i16 911, i16 2345, i16 2669, i16 3067, i16 3292, i16 2638, i16 806, i16 1341, i16 2986, i16 3363, i16 3227, i16 0, i16 659, i16 868, i16 0, i16 2794, i16 2296, i16 713, i16 1832, i16 0, i16 3217, i16 3304, i16 1811, i16 231, i16 2657, i16 0, i16 0, i16 3127, i16 852, i16 358, i16 0, i16 2318, i16 1570, i16 817, i16 3069, i16 3420, i16 447, i16 2520, i16 638, i16 2299, i16 0, i16 2693, i16 1043, i16 0, i16 1140, i16 1591, i16 1837, i16 236, i16 1355, i16 0, i16 2763, i16 0, i16 1022, i16 2422, i16 0, i16 2138, i16 0, i16 179, i16 0, i16 0, i16 1100, i16 0, i16 1326, i16 2574, i16 2211, i16 1702, i16 0, i16 1089, i16 0, i16 0, i16 377, i16 1687, i16 0, i16 793, i16 0, i16 667, i16 126, i16 934, i16 2300, i16 2079, i16 3370, i16 2233, i16 2862, i16 810, i16 0, i16 0, i16 3263, i16 756, i16 1809, i16 2714, i16 2518, i16 1422, i16 1665, i16 2722, i16 3194, i16 1296, i16 1412, i16 0, i16 138, i16 101, i16 2353, i16 0, i16 1179, i16 1225, i16 458, i16 3413, i16 1579, i16 2090, i16 1561, i16 0, i16 0, i16 0, i16 2809, i16 1497, i16 1389, i16 1019, i16 1329, i16 2421, i16 396, i16 2695, i16 6, i16 2095, i16 950, i16 489, i16 0, i16 1661, i16 0, i16 1808, i16 2171, i16 2511, i16 0, i16 1086, i16 1219, i16 2006, i16 25, i16 0, i16 0, i16 1201, i16 522, i16 0, i16 0, i16 618, i16 0, i16 0, i16 2235, i16 880, i16 0, i16 0, i16 334, i16 1305, i16 1705, i16 2204, i16 1858, i16 1013, i16 1306, i16 0, i16 1085, i16 1533, i16 87, i16 2067, i16 1502, i16 2290, i16 1799, i16 0, i16 3146, i16 1794, i16 3346, i16 2192, i16 0, i16 0, i16 653, i16 1429, i16 887, i16 314, i16 2041, i16 2436, i16 875, i16 1331, i16 1481, i16 0, i16 403, i16 0, i16 0, i16 1910, i16 0, i16 1155, i16 0, i16 2072, i16 3266, i16 1165, i16 1857, i16 1557, i16 1801, i16 2496, i16 3131, i16 2926, i16 2643, i16 1582, i16 0, i16 0, i16 0, i16 122, i16 686, i16 168, i16 0, i16 2398, i16 2749, i16 1553, i16 2413, i16 1541, i16 2440, i16 134, i16 1578, i16 247, i16 0, i16 1193, i16 1321, i16 2575, i16 570, i16 2894, i16 0, i16 0, i16 0, i16 2581, i16 2636, i16 2270, i16 12, i16 1424, i16 1188, i16 1383, i16 0, i16 485, i16 700, i16 3254, i16 149, i16 2922, i16 1627, i16 2545, i16 0, i16 1693, i16 0, i16 953, i16 0, i16 0, i16 0, i16 0, i16 600, i16 1138, i16 0, i16 2059, i16 1525, i16 0, i16 1657, i16 0, i16 1727, i16 2841, i16 532, i16 3176, i16 993, i16 1930, i16 192, i16 0, i16 1740, i16 0, i16 3192, i16 1927, i16 802, i16 2849, i16 1064, i16 2109, i16 0, i16 324, i16 144, i16 881, i16 2133, i16 0, i16 2610, i16 171, i16 1129, i16 1378, i16 0, i16 1835, i16 435, i16 760, i16 1324, i16 0, i16 1251, i16 3100, i16 0, i16 835, i16 0, i16 3310, i16 636, i16 594, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2333, i16 1632, i16 3379, i16 3018, i16 3285, i16 388, i16 2748, i16 0, i16 0, i16 0, i16 0, i16 1905, i16 3354, i16 0, i16 2014, i16 0, i16 0, i16 763, i16 0, i16 2011, i16 0, i16 3033, i16 3223, i16 1009, i16 0, i16 1287, i16 292, i16 413, i16 0, i16 0, i16 0, i16 0, i16 31, i16 2143, i16 2128, i16 1878, i16 956, i16 822, i16 2430, i16 311, i16 0, i16 0, i16 2313, i16 1256, i16 2956, i16 0, i16 224, i16 0, i16 2965, i16 109, i16 634, i16 1431, i16 2465, i16 0, i16 0, i16 0, i16 1775, i16 2462, i16 1090, i16 778, i16 3271, i16 1819, i16 0, i16 2645, i16 291, i16 0, i16 1904, i16 0, i16 182, i16 536, i16 0, i16 0, i16 1203, i16 827, i16 294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8, i16 2005, i16 15, i16 2031, i16 3269, i16 3297, i16 3319, i16 0, i16 3213, i16 3241, i16 3259, i16 0, i16 295, i16 133, i16 2811, i16 1707, i16 1915, i16 0, i16 154, i16 174, i16 3416, i16 2448, i16 1144, i16 0, i16 0, i16 0, i16 0, i16 890, i16 1865, i16 1368, i16 1496, i16 1868, i16 1050, i16 1823, i16 2389, i16 1264, i16 752, i16 2456, i16 0, i16 0, i16 356, i16 1336, i16 2116, i16 978, i16 1831, i16 0, i16 2068, i16 1215, i16 705, i16 1044, i16 0, i16 702, i16 0, i16 0, i16 129, i16 0, i16 0, i16 2364, i16 0, i16 0, i16 1312, i16 0, i16 0, i16 16, i16 0, i16 3244, i16 1133, i16 3078, i16 1139, i16 0, i16 2478, i16 0, i16 422, i16 2573, i16 2007, i16 1097, i16 812, i16 0, i16 0, i16 0, i16 665, i16 0, i16 0, i16 0, i16 0, i16 1736, i16 0, i16 2157, i16 549, i16 3165, i16 0, i16 0, i16 0, i16 1271, i16 0, i16 219, i16 0, i16 0, i16 0, i16 1783, i16 0, i16 0, i16 397, i16 3383, i16 0, i16 0, i16 0, i16 2279, i16 3375, i16 1052, i16 0, i16 0, i16 1712, i16 546, i16 1798, i16 3309, i16 0, i16 380, i16 0, i16 0, i16 3038, i16 0, i16 1621, i16 1122, i16 711, i16 3222, i16 2742, i16 0, i16 1701, i16 1053, i16 0, i16 3327, i16 1922, i16 0, i16 1800, i16 1731, i16 0, i16 2516, i16 655, i16 0, i16 2358, i16 2393, i16 2464, i16 2494, i16 2580, i16 2679, i16 2743, i16 2788, i16 2824, i16 2858, i16 2935, i16 2982, i16 3101, i16 3153, i16 3276, i16 2438, i16 2488, i16 2757, i16 2052, i16 2144, i16 2286, i16 2337, i16 2400, i16 2452, i16 2738, i16 2779, i16 2845, i16 2887, i16 3020, i16 3134, i16 3188, i16 3102, i16 1847, i16 2733, i16 2758, i16 1560, i16 1535, i16 824, i16 1822, i16 0, i16 0, i16 2816, i16 2380, i16 0, i16 1228, i16 0, i16 2366, i16 2378, i16 1968, i16 1599, i16 2042, i16 1318, i16 1338, i16 1569, i16 300, i16 0, i16 2873, i16 2320, i16 0, i16 2893, i16 1706, i16 0, i16 1916, i16 0, i16 3129, i16 590, i16 0, i16 0, i16 2836, i16 0, i16 37, i16 0, i16 0, i16 0, i16 551, i16 3155, i16 3177, i16 1951, i16 1056, i16 1855, i16 3247, i16 562, i16 3208, i16 3294, i16 862, i16 0, i16 3055, i16 1453, i16 1626, i16 296, i16 1871, i16 0, i16 1069, i16 0, i16 1767, i16 1776, i16 58, i16 2992, i16 611, i16 2607, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1941, i16 2347, i16 1813, i16 0, i16 2203, i16 1148, i16 0, i16 0, i16 1667, i16 0, i16 0, i16 162, i16 108, i16 0, i16 1211, i16 1063, i16 83, i16 2249, i16 0, i16 1288, i16 832, i16 0, i16 826, i16 88, i16 1434, i16 0, i16 0, i16 0, i16 2087, i16 2773, i16 1852, i16 1921, i16 2220, i16 0, i16 2627, i16 1333, i16 1120, i16 1902, i16 0, i16 1079, i16 1073, i16 305, i16 0, i16 3074, i16 2755, i16 2628, i16 2244, i16 547, i16 0, i16 527, i16 0, i16 428, i16 0, i16 0, i16 3130, i16 3158, i16 3180, i16 3200, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1601, i16 2058, i16 1332, i16 0, i16 0, i16 242, i16 0, i16 0, i16 0, i16 0, i16 3335, i16 374, i16 1877, i16 2903, i16 2726, i16 0, i16 2131, i16 325, i16 1807, i16 378, i16 1606, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 429, i16 172, i16 201, i16 0, i16 585, i16 0, i16 0, i16 2913, i16 351, i16 698, i16 2264, i16 2187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1104, i16 1114, i16 2003, i16 2029, i16 2056, i16 2083, i16 2103, i16 2120, i16 2145, i16 2173, i16 2195, i16 2228, i16 2256, i16 2277, i16 2302, i16 2328, i16 2346, i16 2363, i16 2388, i16 2408, i16 2429, i16 2454, i16 2472, i16 1406, i16 2507, i16 2533, i16 2553, i16 2578, i16 2601, i16 2623, i16 2640, i16 2667, i16 597, i16 0, i16 0, i16 1363, i16 0, i16 0, i16 0, i16 244, i16 474, i16 0, i16 0, i16 0, i16 229, i16 0, i16 481, i16 0, i16 0, i16 2531, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2275, i16 0, i16 0, i16 2357, i16 548, i16 0, i16 1670, i16 701, i16 2901, i16 3404, i16 0, i16 1067, i16 2008, i16 2577, i16 1844, i16 1659, i16 2564, i16 0, i16 2905, i16 3220, i16 442, i16 0, i16 1407, i16 0, i16 1416, i16 0, i16 1663, i16 1036, i16 0, i16 0, i16 2548, i16 3088, i16 0, i16 473, i16 0, i16 2486, i16 2659, i16 3143, i16 0, i16 1861, i16 1881, i16 0, i16 629, i16 840, i16 2519, i16 3068, i16 2012, i16 0, i16 0, i16 2149, i16 1739, i16 3303, i16 949, i16 577, i16 725, i16 658, i16 146, i16 67, i16 2916, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 945, i16 0, i16 0, i16 505, i16 469, i16 3166, i16 3209, i16 1883, i16 0, i16 0, i16 0, i16 1540, i16 0, i16 3332, i16 3072, i16 2593, i16 1610, i16 1257, i16 0, i16 0, i16 578, i16 0, i16 2394, i16 1766, i16 959, i16 1218, i16 0, i16 0, i16 0, i16 632, i16 0, i16 623, i16 1068, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 348, i16 1624, i16 1315, i16 0, i16 878, i16 3095, i16 116, i16 2426, i16 0, i16 737, i16 1466, i16 13, i16 212, i16 0, i16 3315, i16 831, i16 0, i16 2670, i16 1635, i16 1612, i16 0, i16 0, i16 0, i16 1357, i16 709, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1630, i16 2934, i16 488, i16 157, i16 1327, i16 2054, i16 2407, i16 450, i16 0, i16 981, i16 1135, i16 0, i16 1918, i16 1189, i16 729, i16 2427, i16 0, i16 0, i16 2739, i16 3291, i16 0, i16 675, i16 1834, i16 0, i16 1080, i16 589, i16 1415, i16 2537, i16 2406, i16 119, i16 1393, i16 2387, i16 2910, i16 1897, i16 0, i16 1310, i16 1690, i16 0, i16 2988, i16 0, i16 0, i16 0, i16 0, i16 3322, i16 1048, i16 1399, i16 0, i16 1023, i16 0, i16 1361, i16 1617, i16 375, i16 1699, i16 1778, i16 914, i16 1033, i16 0, i16 1334, i16 0, i16 1279, i16 0, i16 0, i16 1952, i16 210, i16 354, i16 0, i16 1738, i16 2881, i16 2283, i16 0, i16 2451, i16 861, i16 3006, i16 0, i16 2800, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1313, i16 1417, i16 2287, i16 1703, i16 2137, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 866, i16 622, i16 1316, i16 1408, i16 1820, i16 898, i16 1728, i16 2600, i16 1320, i16 2332, i16 2813, i16 2630, i16 0, i16 0, i16 427, i16 0, i16 69, i16 459, i16 3043, i16 445, i16 0, i16 1640, i16 706, i16 3050, i16 0, i16 1658, i16 0, i16 0, i16 0, i16 2288, i16 3051, i16 0, i16 1638, i16 402, i16 0, i16 2886, i16 1350, i16 74, i16 0, i16 0, i16 105, i16 266, i16 1214, i16 0, i16 0, i16 0, i16 723, i16 2198, i16 1895, i16 1356, i16 893, i16 535, i16 2248, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2209, i16 3391, i16 0, i16 1254, i16 72, i16 0, i16 2918, i16 3376, i16 2631, i16 1889, i16 2329, i16 2112, i16 2967, i16 0, i16 2831, i16 0, i16 433, i16 2626, i16 2664, i16 1403, i16 1604, i16 0, i16 656, i16 2227, i16 0, i16 0, i16 3181, i16 0, i16 0, i16 933, i16 1146, i16 750, i16 2439, i16 503, i16 1715, i16 885, i16 1784, i16 432, i16 2153, i16 2176, i16 2206, i16 2237, i16 2265, i16 2284, i16 2308, i16 2121, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3054, i16 3082, i16 3103, i16 3126, i16 3151, i16 3171, i16 3193, i16 36, i16 877, i16 0, i16 758, i16 0, i16 1301, i16 147, i16 1262, i16 1072, i16 1616, i16 0, i16 0, i16 0, i16 0, i16 1774, i16 2051, i16 1567, i16 0, i16 2435, i16 2483, i16 0, i16 905, i16 0, i16 2397, i16 256, i16 1851, i16 0, i16 303, i16 0, i16 0, i16 0, i16 0, i16 0, i16 882, i16 0, i16 0, i16 0, i16 1094, i16 1733, i16 1409, i16 0, i16 0, i16 464, i16 0, i16 1880, i16 707, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1243, i16 1963, i16 767, i16 0, i16 0, i16 0, i16 992, i16 0, i16 1571, i16 3334, i16 0, i16 1719, i16 3036, i16 0, i16 2676, i16 624, i16 728, i16 1261, i16 798, i16 1493, i16 0, i16 0, i16 2702, i16 1526, i16 746, i16 3183, i16 0, i16 1046, i16 0, i16 1462, i16 0, i16 2576, i16 1293, i16 3333, i16 0, i16 0, i16 0, i16 3324, i16 1549, i16 0, i16 0, i16 0, i16 2681, i16 1041, i16 2798, i16 1516, i16 1143, i16 1949, i16 1598, i16 390, i16 1236, i16 1448, i16 2829, i16 2432, i16 298, i16 304, i16 2980, i16 336, i16 0, i16 284, i16 0, i16 533, i16 0, i16 0, i16 0, i16 2741, i16 3407, i16 0, i16 2760, i16 1224, i16 100, i16 0, i16 151, i16 0, i16 2885, i16 0, i16 3272, i16 3398, i16 2167, i16 0, i16 0, i16 2175, i16 2184, i16 2196, i16 2191, i16 2205, i16 2307, i16 2222, i16 2322, i16 2214, i16 2343, i16 2229, i16 2348, i16 2236, i16 2490, i16 2508, i16 2534, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 376, i16 3202, i16 1158, i16 0, i16 0, i16 712, i16 1994, i16 906, i16 0, i16 0, i16 0, i16 751, i16 692, i16 1372, i16 936, i16 2146, i16 1829, i16 1474, i16 357, i16 1618, i16 930, i16 2381, i16 2392, i16 0, i16 0, i16 0, i16 46, i16 3256, i16 0, i16 0, i16 0, i16 0, i16 2425, i16 519, i16 0, i16 2466, i16 3340, i16 0, i16 0, i16 0, i16 0, i16 2559, i16 3233, i16 2995, i16 281, i16 0, i16 2685, i16 1680, i16 3175, i16 2402, i16 2752, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1770, i16 1105, i16 3059, i16 1340, i16 801, i16 0, i16 521, i16 0, i16 2170, i16 0, i16 0, i16 1154, i16 0, i16 0, i16 1583, i16 22, i16 2652, i16 3211, i16 0, i16 0, i16 0, i16 0, i16 361, i16 0, i16 928, i16 0, i16 0, i16 3089, i16 557, i16 815, i16 0, i16 0, i16 1325, i16 2950, i16 1110, i16 2310, i16 2113, i16 0, i16 2115, i16 2330, i16 635, i16 2418, i16 967, i16 0, i16 230, i16 666, i16 1709, i16 0, i16 0, i16 1456, i16 2370, i16 3060, i16 0, i16 0, i16 1392, i16 851, i16 342, i16 805, i16 1854, i16 0, i16 2433, i16 3281, i16 1787, i16 2535, i16 0, i16 576, i16 2700, i16 1987, i16 0, i16 0, i16 2549, i16 407, i16 2174, i16 2957, i16 0, i16 0, i16 0, i16 0, i16 1993, i16 1413, i16 175, i16 0, i16 912, i16 2161, i16 0, i16 976, i16 2039, i16 649, i16 0, i16 1239, i16 2979, i16 1111, i16 1849, i16 1078, i16 0, i16 662, i16 668, i16 964, i16 0, i16 3314, i16 595, i16 3120, i16 3152, i16 592, i16 2687, i16 0, i16 2804, i16 2828, i16 2847, i16 2796, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1465, i16 2612, i16 2633, i16 2655, i16 2675, i16 2699, i16 2724, i16 2747, i16 2774, i16 2799, i16 2821, i16 2840, i16 2864, i16 2882, i16 2899, i16 2925, i16 641, i16 781, i16 0, i16 1996, i16 1613, i16 856, i16 1929, i16 1924, i16 0, i16 1781, i16 240, i16 1192, i16 35, i16 787, i16 3197, i16 1593, i16 3081, i16 2927, i16 0, i16 2686, i16 0, i16 1235, i16 0, i16 104, i16 1505, i16 0, i16 0, i16 0, i16 579, i16 3412, i16 2998, i16 1990, i16 2945, i16 2975, i16 2994, i16 3015, i16 3035, i16 0, i16 0, i16 0, i16 1742, i16 3070, i16 3093, i16 3116, i16 3137, i16 3162, i16 3186, i16 3203, i16 3226, i16 3250, i16 3270, i16 3298, i16 3320, i16 3345, i16 3366, i16 3390, i16 3411, i16 1976, i16 1998, i16 2025, i16 2049, i16 2075, i16 0, i16 0, i16 142, i16 0, i16 1213, i16 0, i16 560, i16 1166, i16 3001, i16 290, i16 0, i16 1536, i16 0, i16 633, i16 1309, i16 0, i16 1856, i16 1026, i16 0, i16 0, i16 591, i16 0, i16 0, i16 773, i16 0, i16 571, i16 2590, i16 110, i16 0, i16 0, i16 0, i16 0, i16 41, i16 621, i16 3218, i16 312, i16 3150, i16 431, i16 1894, i16 0, i16 963, i16 1790, i16 2952, i16 1558, i16 3199, i16 3142, i16 0, i16 2889, i16 0, i16 2761, i16 0, i16 0, i16 0, i16 0, i16 892, i16 0, i16 0, i16 0, i16 2869, i16 2877, i16 955, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1688, i16 313, i16 1710, i16 0, i16 1647, i16 0, i16 0, i16 0, i16 0, i16 0, i16 150, i16 383, i16 0, i16 0, i16 957, i16 1268, i16 0, i16 0, i16 1199, i16 3255, i16 2586, i16 1183, i16 0, i16 0, i16 0, i16 405, i16 2764, i16 818, i16 543, i16 293, i16 1017, i16 4, i16 3225, i16 0, i16 1984, i16 0, i16 0, i16 0, i16 3091, i16 2000, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 639, i16 0, i16 1428, i16 0, i16 444, i16 0, i16 718, i16 2251, i16 0, i16 0, i16 2306, i16 2181, i16 0, i16 2458, i16 0, i16 3083, i16 99, i16 0, i16 0, i16 479, i16 2260, i16 3064, i16 0, i16 3343, i16 0, i16 103, i16 1210, i16 727, i16 1469, i16 3339, i16 582, i16 0, i16 1956, i16 0, i16 0, i16 2223, i16 63, i16 203, i16 1208, i16 2141, i16 1238, i16 344, i16 2415, i16 796, i16 3323, i16 1692, i16 3117, i16 0, i16 0, i16 1653, i16 1175, i16 2446, i16 448, i16 327, i16 1928, i16 2706, i16 2713, i16 2826, i16 421, i16 2832, i16 0, i16 0, i16 113, i16 0, i16 2108, i16 1607, i16 2217, i16 1839, i16 2023, i16 679, i16 1275, i16 766, i16 252, i16 2789, i16 1391, i16 2872, i16 274, i16 1438, i16 0, i16 0, i16 1396, i16 1625, i16 0, i16 0, i16 0, i16 0, i16 561, i16 616, i16 790, i16 1691, i16 0, i16 1628, i16 1443, i16 3221, i16 0, i16 1700, i16 0, i16 1495, i16 1353, i16 2437, i16 59, i16 0, i16 2539, i16 1940, i16 0, i16 0, i16 0, i16 254, i16 0, i16 1439, i16 988, i16 369, i16 102, i16 195, i16 682, i16 0, i16 0, i16 1765, i16 0, i16 1704, i16 0, i16 704, i16 0, i16 554, i16 1222, i16 2784, i16 0, i16 0, i16 0, i16 559, i16 0, i16 0, i16 0, i16 302, i16 0, i16 0, i16 0, i16 0, i16 3284, i16 3234, i16 0, i16 2463, i16 3071, i16 1802, i16 1232, i16 0, i16 264, i16 0, i16 2868, i16 908, i16 0, i16 0, i16 0, i16 178, i16 0, i16 228, i16 0, i16 871, i16 0, i16 0, i16 0, i16 257, i16 0, i16 673, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 952, i16 416, i16 0, i16 419, i16 1936, i16 1503, i16 0, i16 319, i16 0, i16 0, i16 3342, i16 0, i16 0, i16 3174, i16 735, i16 39, i16 0, i16 1062, i16 573, i16 1594, i16 1168, i16 0, i16 962, i16 1441, i16 1173, i16 3084, i16 864, i16 0, i16 1970, i16 227, i16 3114, i16 0, i16 0, i16 1753, i16 1761, i16 1194, i16 0, i16 0, i16 0, i16 2094, i16 2122, i16 2154, i16 2177, i16 2207, i16 2238, i16 2266, i16 2285, i16 2309, i16 2335, i16 2355, i16 2376, i16 2396, i16 2417, i16 2442, i16 2468, i16 1292, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1451, i16 2589, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1401, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2475, i16 1869, i16 0, i16 0, i16 1317, i16 1059, i16 2777, i16 2728, i16 0, i16 0, i16 0, i16 0, i16 417, i16 1081, i16 1911, i16 0, i16 0, i16 0, i16 0, i16 3307, i16 1038, i16 0, i16 0, i16 0, i16 0, i16 2099, i16 575, i16 0, i16 0, i16 0, i16 2896, i16 2637, i16 3243, i16 0, i16 1141, i16 123, i16 1498, i16 1988, i16 2513, i16 0, i16 55, i16 2772, i16 2356, i16 1373, i16 1605, i16 0, i16 287, i16 3052, i16 0, i16 355, i16 765, i16 0, i16 0, i16 2781, i16 0, i16 2797, i16 1573, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 941, i16 1909, i16 2552, i16 0, i16 0, i16 0, i16 2276, i16 0, i16 38, i16 0, i16 1874, i16 50, i16 0, i16 0, i16 1380, i16 684, i16 0, i16 0, i16 411, i16 755, i16 1983, i16 2613, i16 0, i16 0, i16 0, i16 1478, i16 137, i16 0, i16 2544, i16 0, i16 2219, i16 332, i16 1455, i16 3350, i16 2325, i16 1294, i16 1946, i16 1028, i16 2062, i16 1445, i16 0, i16 0, i16 0, i16 797, i16 0, i16 1395, i16 0, i16 441, i16 499, i16 2823, i16 1890, i16 495, i16 1490, i16 3148, i16 1071, i16 1716, i16 3295, i16 0, i16 0, i16 937, i16 1797, i16 1246, i16 3205, i16 0, i16 946, i16 0, i16 2731, i16 0, i16 285, i16 0, i16 0, i16 0, i16 2459, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 384, i16 204, i16 2735, i16 716, i16 0, i16 0, i16 0, i16 153, i16 3347, i16 0, i16 0, i16 0, i16 2489, i16 2482, i16 1419, i16 2703, i16 2226, i16 1471, i16 0, i16 1418, i16 951, i16 0, i16 0, i16 0, i16 0, i16 232, i16 0, i16 0, i16 3326, i16 0, i16 0, i16 1470, i16 0, i16 0, i16 494, i16 0, i16 107, i16 2409, i16 1769, i16 1058, i16 3261, i16 0, i16 3147, i16 1285, i16 0, i16 1351, i16 3362, i16 0, i16 1204, i16 695, i16 0, i16 360, i16 1539, i16 2634, i16 0, i16 0, i16 2250, i16 0, i16 95, i16 3034, i16 1815, i16 0, i16 2993, i16 52, i16 1722, i16 0, i16 0, i16 0, i16 1276, i16 3172, i16 2199, i16 808, i16 786, i16 2361, i16 0, i16 1458, i16 2215, i16 0, i16 483, i16 3230, i16 1206, i16 2183, i16 2213, i16 2245, i16 2268, i16 2289, i16 2315, i16 2339, i16 2354, i16 2375, i16 2395, i16 2416, i16 2441, i16 2467, i16 2477, i16 2753, i16 2517, i16 2547, i16 2566, i16 2587, i16 2611, i16 2632, i16 2654, i16 2674, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 439, i16 2127, i16 2746, i16 3195, i16 2974, i16 0, i16 9, i16 1157, i16 1986, i16 1055, i16 1178, i16 0, i16 436, i16 0, i16 3388, i16 3048, i16 654, i16 0, i16 3058, i16 0, i16 1545, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2515, i16 0, i16 1221, i16 1099, i16 187, i16 2092, i16 1463, i16 2647, i16 2803, i16 0, i16 0, i16 0, i16 0, i16 1031, i16 2658, i16 0, i16 1836, i16 0, i16 0, i16 47, i16 2879, i16 3019, i16 2166, i16 0, i16 0, i16 1843, i16 0, i16 0, i16 398, i16 0, i16 1848, i16 874, i16 297, i16 0, i16 0, i16 0, i16 1686, i16 613, i16 3002, i16 2931, i16 2867, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2754, i16 2503, i16 2391, i16 3065, i16 3110, i16 3138, i16 3163, i16 3190, i16 3229, i16 3288, i16 3338, i16 3357, i16 2036, i16 2070, i16 2097, i16 2129, i16 2156, i16 2186, i16 2247, i16 2274, i16 2298, i16 2344, i16 2365, i16 2019, i16 2801, i16 2684, i16 2405, i16 3341, i16 3027, i16 3348, i16 3422, i16 2091, i16 1485, i16 0, i16 3010, i16 902, i16 0, i16 0, i16 1948, i16 0, i16 0, i16 0, i16 309, i16 0, i16 3418, i16 484, i16 0, i16 0, i16 2567, i16 1944, i16 0, i16 1724, i16 0, i16 1777, i16 492, i16 81, i16 688, i16 1714, i16 1499, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2770, i16 3075, i16 1804, i16 0, i16 1227, i16 1751, i16 2936, i16 0, i16 0, i16 0, i16 121, i16 0, i16 1180, i16 1364, i16 1322, i16 3112, i16 588, i16 347, i16 1982, i16 2162, i16 2938, i16 2304, i16 3215, i16 2528, i16 0, i16 0, i16 0, i16 2814, i16 1442, i16 71, i16 0, i16 593, i16 2775, i16 2240, i16 1741, i16 0, i16 0, i16 0, i16 2692, i16 1966, i16 0, i16 379, i16 1102, i16 3000, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1745, i16 0, i16 0, i16 0, i16 3161, i16 1057, i16 2683, i16 222, i16 2338, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1749, i16 2524, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2334, i16 2349, i16 2368, i16 2390, i16 2411, i16 2434, i16 2461, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3214, i16 3242, i16 3260, i16 3283, i16 3308, i16 3330, i16 3352, i16 0, i16 0, i16 0, i16 0, i16 0, i16 989, i16 982, i16 0, i16 0, i16 0, i16 0, i16 1938, i16 0, i16 0, i16 1681, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 991, i16 0, i16 730, i16 2911, i16 0, i16 0, i16 0, i16 1899, i16 2028, i16 185, i16 2512, i16 2569, i16 2673, i16 2267, i16 2806, i16 2941, i16 2540, i16 2923, i16 2086, i16 0, i16 1892, i16 0, i16 903, i16 2920, i16 2592, i16 2751, i16 1093, i16 1708, i16 0, i16 3005, i16 19, i16 3356, i16 2527, i16 216, i16 2619, i16 2188, i16 2557, i16 627, i16 748, i16 135, i16 1344, i16 0, i16 872, i16 1018, i16 2790, i16 2776, i16 0, i16 669, i16 2721, i16 73, i16 2139, i16 1278, i16 188, i16 0, i16 2662, i16 0, i16 0, i16 0, i16 0, i16 550, i16 1484, i16 1083, i16 1303, i16 3238, i16 2783, i16 2805, i16 2688, i16 2891, i16 2839, i16 2863, i16 2572, i16 2624, i16 2641, i16 2588, i16 2709, i16 2944, i16 2718, i16 2740, i16 2768, i16 2820, i16 2871, i16 2579, i16 2698, i16 215, i16 2959, i16 844, i16 2151, i16 2984, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2272, i16 0, i16 2155, i16 2445, i16 371, i16 1070, i16 2953, i16 1633, i16 389, i16 1272, i16 691, i16 1365, i16 1759, i16 2857, i16 1045, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2902, i16 2263, i16 170, i16 855, i16 3113, i16 685, i16 1379, i16 1226, i16 2082, i16 1311, i16 1643, i16 0, i16 3040, i16 1768, i16 1995, i16 1623, i16 2088, i16 3022, i16 1425, i16 1170, i16 2282, i16 0, i16 0, i16 923, i16 1515, i16 1300, i16 3090, i16 2476, i16 1914, i16 289, i16 587, i16 1937, i16 2546, i16 2536, i16 1449, i16 2962, i16 3207, i16 0, i16 1519, i16 1259, i16 968, i16 1590, i16 2371, i16 3066, i16 1249, i16 173, i16 759, i16 1945, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 526, i16 2096, i16 0, i16 0, i16 0, i16 0, i16 3367, i16 0, i16 541, i16 2231, i16 954, i16 0, i16 0, i16 237, i16 0, i16 0, i16 430, i16 0, i16 0, i16 0, i16 2081, i16 726, i16 2020, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 939, i16 23, i16 0, i16 3109, i16 0, i16 0, i16 0, i16 0, i16 3252, i16 2599, i16 0, i16 965, i16 2221, i16 420, i16 1386, i16 0, i16 1734, i16 0, i16 1824, i16 0, i16 0, i16 0, i16 1969, i16 2259, i16 1509, i16 0, i16 1580, i16 1887, i16 2712, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 194, i16 0, i16 2134, i16 2568, i16 2649, i16 226, i16 663, i16 2048, i16 1862, i16 2460, i16 1400, i16 1299, i16 3369, i16 0, i16 0, i16 1867, i16 465, i16 2620, i16 916, i16 771, i16 940, i16 233, i16 0, i16 3132, i16 2132, i16 720, i16 1020, i16 2050, i16 0, i16 2316, i16 1723, i16 3351, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2246, i16 2032, i16 0, i16 326, i16 3387, i16 714, i16 475, i16 0, i16 1673, i16 0, i16 0, i16 1743, i16 0, i16 3145, i16 0, i16 0, i16 1258, i16 1240, i16 1830, i16 0, i16 70, i16 0, i16 163, i16 0, i16 2817, i16 1230, i16 2481, i16 2253, i16 2880, i16 2551, i16 2701, i16 115, i16 2851, i16 2292, i16 434, i16 0, i16 0, i16 1420, i16 1152, i16 2150, i16 3201, i16 2498, i16 3224, i16 77, i16 0, i16 0, i16 0, i16 690, i16 2538, i16 1903, i16 1901, i16 2812, i16 3396, i16 1959, i16 3023, i16 0, i16 0, i16 0, i16 0, i16 1671, i16 258, i16 1060, i16 0, i16 1587, i16 191, i16 775, i16 935, i16 0, i16 0, i16 743, i16 2615, i16 1010, i16 0, i16 0, i16 0, i16 181, i16 3300, i16 372, i16 0, i16 1689, i16 749, i16 1695, i16 0, i16 2542, i16 2359, i16 418, i16 1730, i16 2771, i16 1735, i16 2470, i16 453, i16 2352, i16 2608, i16 143, i16 1337, i16 2160, i16 1339, i16 1352, i16 78, i16 3124, i16 983, i16 249, i16 0, i16 0, i16 3087, i16 1757, i16 2997, i16 2038, i16 1472, i16 2837, i16 619, i16 3414, i16 3053, i16 79, i16 2061, i16 1885, i16 1132, i16 2055, i16 3118, i16 604, i16 0, i16 0, i16 0, i16 1608, i16 744, i16 0, i16 2560, i16 0, i16 980, i16 1785, i16 301, i16 1489, i16 0, i16 853, i16 2293, i16 1792, i16 0, i16 0, i16 98, i16 1805, i16 456, i16 997, i16 0, i16 849, i16 1011, i16 821, i16 518, i16 0, i16 0, i16 605, i16 630, i16 0, i16 0, i16 0, i16 0, i16 1185, i16 0, i16 0, i16 0, i16 7, i16 0, i16 0, i16 0, i16 609, i16 2570, i16 2946, i16 345, i16 2856, i16 0, i16 415, i16 0, i16 0, i16 0, i16 0, i16 1360, i16 0, i16 2035, i16 1771, i16 2525, i16 0, i16 0, i16 0, i16 0, i16 846, i16 1720, i16 3361, i16 648, i16 132, i16 2252, i16 2080, i16 506, i16 0, i16 0, i16 0, i16 860, i16 214, i16 1522, i16 2819, i16 2671, i16 1051, i16 1551, i16 3107, i16 0, i16 0, i16 0, i16 1806, i16 1286, i16 2745, i16 1782, i16 870, i16 2022, i16 1935, i16 0, i16 1669, i16 809, i16 130, i16 0, i16 299, i16 0, i16 0, i16 2707, i16 2410, i16 0, i16 2602, i16 762, i16 3290, i16 3265, i16 2717, i16 85, i16 1597, i16 2341, i16 1763, i16 612, i16 2140, i16 2694, i16 664, i16 3299, i16 1042, i16 0, i16 1486, i16 1786, i16 2047, i16 2827, i16 1464, i16 3012, i16 2190, i16 0, i16 0, i16 196, i16 2942, i16 0, i16 837, i16 1586, i16 0, i16 1461, i16 710, i16 3077, i16 0, i16 996, i16 0, i16 0, i16 1237, i16 917, i16 457, i16 2194, i16 2954, i16 1220, i16 2780, i16 1444, i16 0, i16 0, i16 676, i16 1788, i16 0, i16 0, i16 971, i16 0, i16 652, i16 0, i16 0, i16 0, i16 0, i16 678, i16 2261, i16 0, i16 0, i16 674, i16 816, i16 2843, i16 286, i16 2900, i16 0, i16 2861, i16 563, i16 567, i16 2255, i16 2850, i16 1872, i16 2321, i16 1947, i16 0, i16 0, i16 854, i16 282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 14592, i16 0, i16 0, i16 0, i16 15360, i16 0, i16 0, i16 0, i16 13825, i16 0, i16 0, i16 0, i16 14338, i16 0, i16 0, i16 0, i16 14595, i16 0, i16 0, i16 0, i16 15620, i16 0, i16 0, i16 0, i16 13317, i16 0, i16 0, i16 0, i16 774, i16 0, i16 0, i16 0, i16 12806, i16 0, i16 0, i16 0, i16 15110, i16 0, i16 0, i16 0, i16 16903, i16 0, i16 0, i16 0, i16 13320, i16 0, i16 0, i16 0, i16 16136, i16 0, i16 0, i16 0, i16 15625, i16 0, i16 0, i16 0, i16 778, i16 0, i16 0, i16 0, i16 13578, i16 0, i16 0, i16 0, i16 14859, i16 0, i16 0, i16 0, i16 12556, i16 0, i16 0, i16 0, i16 14092, i16 0, i16 0, i16 0, i16 16652, i16 0, i16 0, i16 0, i16 12302, i16 0, i16 0, i16 0, i16 15118, i16 0, i16 0, i16 0, i16 17166, i16 0, i16 0, i16 0, i16 12559, i16 0, i16 0, i16 0, i16 12815, i16 0, i16 0, i16 0, i16 12304, i16 0, i16 0, i16 0, i16 14353, i16 0, i16 0, i16 0, i16 16913, i16 0, i16 0, i16 0, i16 14354, i16 0, i16 0, i16 0, i16 14355, i16 0, i16 0, i16 0, i16 16659, i16 0, i16 0, i16 0, i16 13844, i16 0, i16 0, i16 0, i16 13590, i16 0, i16 0, i16 0, i16 13591, i16 0, i16 0, i16 0, i16 15639, i16 0, i16 0, i16 0, i16 280, i16 0, i16 0, i16 0, i16 13336, i16 0, i16 0, i16 0, i16 14616, i16 0, i16 0, i16 0, i16 14105, i16 0, i16 0, i16 0, i16 13594, i16 0, i16 0, i16 0, i16 12571, i16 0, i16 0, i16 0, i16 13340, i16 0, i16 0, i16 0, i16 14620, i16 0, i16 0, i16 0, i16 14365, i16 0, i16 0, i16 0, i16 13854, i16 0, i16 0, i16 0, i16 16926, i16 0, i16 0, i16 0, i16 12831, i16 0, i16 0, i16 0, i16 14623, i16 0, i16 0, i16 0, i16 16415, i16 0, i16 0, i16 0, i16 16671, i16 0, i16 0, i16 0, i16 12576, i16 0, i16 0, i16 0, i16 15648, i16 0, i16 0, i16 0, i16 16928, i16 0, i16 0, i16 0, i16 12833, i16 0, i16 0, i16 0, i16 12322, i16 0, i16 0, i16 0, i16 13346, i16 0, i16 0, i16 0, i16 14370, i16 0, i16 0, i16 0, i16 16418, i16 0, i16 0, i16 0, i16 15907, i16 0, i16 0, i16 0, i16 14631, i16 0, i16 0, i16 0, i16 14632, i16 0, i16 0, i16 0, i16 15400, i16 0, i16 0, i16 0, i16 15656, i16 0, i16 0, i16 0, i16 13353, i16 0, i16 0, i16 0, i16 13609, i16 0, i16 0, i16 0, i16 15145, i16 0, i16 0, i16 0, i16 12330, i16 0, i16 0, i16 0, i16 12587, i16 0, i16 0, i16 0, i16 14891, i16 0, i16 0, i16 0, i16 15147, i16 0, i16 0, i16 0, i16 12588, i16 0, i16 0, i16 0, i16 13868, i16 0, i16 0, i16 0, i16 14381, i16 0, i16 0, i16 0, i16 15149, i16 0, i16 0, i16 0, i16 12334, i16 0, i16 0, i16 0, i16 16430, i16 0, i16 0, i16 0, i16 13359, i16 0, i16 0, i16 0, i16 14383, i16 0, i16 0, i16 0, i16 13616, i16 0, i16 0, i16 0, i16 15664, i16 0, i16 0, i16 0, i16 16432, i16 0, i16 0, i16 0, i16 12593, i16 0, i16 0, i16 0, i16 16945, i16 0, i16 0, i16 0, i16 15666, i16 0, i16 0, i16 0, i16 16690, i16 0, i16 0, i16 0, i16 15923, i16 0, i16 0, i16 0, i16 12340, i16 0, i16 0, i16 0, i16 14388, i16 0, i16 0, i16 0, i16 15924, i16 0, i16 0, i16 0, i16 12853, i16 0, i16 0, i16 0, i16 13112, i16 0, i16 0, i16 0, i16 15928, i16 0, i16 0, i16 0, i16 15929, i16 0, i16 0, i16 0, i16 16185, i16 0, i16 0, i16 0, i16 13626, i16 0, i16 0, i16 0, i16 13882, i16 0, i16 0, i16 0, i16 15930, i16 0, i16 0, i16 0, i16 12347, i16 0, i16 0, i16 0, i16 12603, i16 0, i16 0, i16 0, i16 13627, i16 0, i16 0, i16 0, i16 15675, i16 0, i16 0, i16 0, i16 12860, i16 0, i16 0, i16 0, i16 14396, i16 0, i16 0, i16 0, i16 16444, i16 0, i16 0, i16 0, i16 12351, i16 0, i16 0, i16 0, i16 13631, i16 0, i16 0, i16 0, i16 16703, i16 0, i16 0, i16 0, i16 12353, i16 0, i16 0, i16 0, i16 12865, i16 0, i16 0, i16 0, i16 13377, i16 0, i16 0, i16 0, i16 14145, i16 0, i16 0, i16 0, i16 15425, i16 0, i16 0, i16 0, i16 12866, i16 0, i16 0, i16 0, i16 13634, i16 0, i16 0, i16 0, i16 16962, i16 0, i16 0, i16 0, i16 13380, i16 0, i16 0, i16 0, i16 14916, i16 0, i16 0, i16 0, i16 13125, i16 0, i16 0, i16 0, i16 13893, i16 0, i16 0, i16 0, i16 15429, i16 0, i16 0, i16 0, i16 16709, i16 0, i16 0, i16 0, i16 13638, i16 0, i16 0, i16 0, i16 15430, i16 0, i16 0, i16 0, i16 15686, i16 0, i16 0, i16 0, i16 16966, i16 0, i16 0, i16 0, i16 13383, i16 0, i16 0, i16 0, i16 16455, i16 0, i16 0, i16 0, i16 16456, i16 0, i16 0, i16 0, i16 16712, i16 0, i16 0, i16 0, i16 12361, i16 0, i16 0, i16 0, i16 12617, i16 0, i16 0, i16 0, i16 15177, i16 0, i16 0, i16 0, i16 12874, i16 0, i16 0, i16 0, i16 16970, i16 0, i16 0, i16 0, i16 12875, i16 0, i16 0, i16 0, i16 14412, i16 0, i16 0, i16 0, i16 15948, i16 0, i16 0, i16 0, i16 12621, i16 0, i16 0, i16 0, i16 13646, i16 0, i16 0, i16 0, i16 14414, i16 0, i16 0, i16 0, i16 12623, i16 0, i16 0, i16 0, i16 14159, i16 0, i16 0, i16 0, i16 13136, i16 0, i16 0, i16 0, i16 16464, i16 0, i16 0, i16 0, i16 16976, i16 0, i16 0, i16 0, i16 12882, i16 0, i16 0, i16 0, i16 15698, i16 0, i16 0, i16 0, i16 14419, i16 0, i16 0, i16 0, i16 12373, i16 0, i16 0, i16 0, i16 15957, i16 0, i16 0, i16 0, i16 16981, i16 0, i16 0, i16 0, i16 13398, i16 0, i16 0, i16 0, i16 14934, i16 0, i16 0, i16 0, i16 13400, i16 0, i16 0, i16 0, i16 13145, i16 0, i16 0, i16 0, i16 13402, i16 0, i16 0, i16 0, i16 14682, i16 0, i16 0, i16 0, i16 16730, i16 0, i16 0, i16 0, i16 16986, i16 0, i16 0, i16 0, i16 14939, i16 0, i16 0, i16 0, i16 13148, i16 0, i16 0, i16 0, i16 15708, i16 0, i16 0, i16 0, i16 16476, i16 0, i16 0, i16 0, i16 13149, i16 0, i16 0, i16 0, i16 14173, i16 0, i16 0, i16 0, i16 15453, i16 0, i16 0, i16 0, i16 15709, i16 0, i16 0, i16 0, i16 16733, i16 0, i16 0, i16 0, i16 14174, i16 0, i16 0, i16 0, i16 15710, i16 0, i16 0, i16 0, i16 12383, i16 0, i16 0, i16 0, i16 16735, i16 0, i16 0, i16 0, i16 15712, i16 0, i16 0, i16 0, i16 12641, i16 0, i16 0, i16 0, i16 13409, i16 0, i16 0, i16 0, i16 16226, i16 0, i16 0, i16 0, i16 13923, i16 0, i16 0, i16 0, i16 14179, i16 0, i16 0, i16 0, i16 16483, i16 0, i16 0, i16 0, i16 15716, i16 0, i16 0, i16 0, i16 13414, i16 0, i16 0, i16 0, i16 615, i16 0, i16 0, i16 0, i16 871, i16 0, i16 0, i16 0, i16 12906, i16 0, i16 0, i16 0, i16 14186, i16 0, i16 0, i16 0, i16 14442, i16 0, i16 0, i16 0, i16 14698, i16 0, i16 0, i16 0, i16 16490, i16 0, i16 0, i16 0, i16 12651, i16 0, i16 0, i16 0, i16 13675, i16 0, i16 0, i16 0, i16 13164, i16 0, i16 0, i16 0, i16 13420, i16 0, i16 0, i16 0, i16 15980, i16 0, i16 0, i16 0, i16 13935, i16 0, i16 0, i16 0, i16 13680, i16 0, i16 0, i16 0, i16 16752, i16 0, i16 0, i16 0, i16 13938, i16 0, i16 0, i16 0, i16 15475, i16 0, i16 0, i16 0, i16 15731, i16 0, i16 0, i16 0, i16 12660, i16 0, i16 0, i16 0, i16 15732, i16 0, i16 0, i16 0, i16 14453, i16 0, i16 0, i16 0, i16 14709, i16 0, i16 0, i16 0, i16 15221, i16 0, i16 0, i16 0, i16 12406, i16 0, i16 0, i16 0, i16 13174, i16 0, i16 0, i16 0, i16 12919, i16 0, i16 0, i16 0, i16 16759, i16 0, i16 0, i16 0, i16 15480, i16 0, i16 0, i16 0, i16 14201, i16 0, i16 0, i16 0, i16 15737, i16 0, i16 0, i16 0, i16 15993, i16 0, i16 0, i16 0, i16 16250, i16 0, i16 0, i16 0, i16 12411, i16 0, i16 0, i16 0, i16 636, i16 0, i16 0, i16 0, i16 13180, i16 0, i16 0, i16 0, i16 14460, i16 0, i16 0, i16 0, i16 14716, i16 0, i16 0, i16 0, i16 14972, i16 0, i16 0, i16 0, i16 15228, i16 0, i16 0, i16 0, i16 12669, i16 0, i16 0, i16 0, i16 14205, i16 0, i16 0, i16 0, i16 16765, i16 0, i16 0, i16 0, i16 12926, i16 0, i16 0, i16 0, i16 15486, i16 0, i16 0, i16 0, i16 15742, i16 0, i16 0, i16 0, i16 14207, i16 0, i16 0, i16 0, i16 16767, i16 0, i16 0, i16 0, i16 13185, i16 0, i16 0, i16 0, i16 12931, i16 0, i16 0, i16 0, i16 13187, i16 0, i16 0, i16 0, i16 13699, i16 0, i16 0, i16 0, i16 14467, i16 0, i16 0, i16 0, i16 12421, i16 0, i16 0, i16 0, i16 13701, i16 0, i16 0, i16 0, i16 14725, i16 0, i16 0, i16 0, i16 14981, i16 0, i16 0, i16 0, i16 16261, i16 0, i16 0, i16 0, i16 13190, i16 0, i16 0, i16 0, i16 14214, i16 0, i16 0, i16 0, i16 16006, i16 0, i16 0, i16 0, i16 13703, i16 0, i16 0, i16 0, i16 12425, i16 0, i16 0, i16 0, i16 13705, i16 0, i16 0, i16 0, i16 14473, i16 0, i16 0, i16 0, i16 14985, i16 0, i16 0, i16 0, i16 13962, i16 0, i16 0, i16 0, i16 16266, i16 0, i16 0, i16 0, i16 12939, i16 0, i16 0, i16 0, i16 13453, i16 0, i16 0, i16 0, i16 14221, i16 0, i16 0, i16 0, i16 16013, i16 0, i16 0, i16 0, i16 17037, i16 0, i16 0, i16 0, i16 15503, i16 0, i16 0, i16 0, i16 14737, i16 0, i16 0, i16 0, i16 12946, i16 0, i16 0, i16 0, i16 13458, i16 0, i16 0, i16 0, i16 15506, i16 0, i16 0, i16 0, i16 17042, i16 0, i16 0, i16 0, i16 12435, i16 0, i16 0, i16 0, i16 16019, i16 0, i16 0, i16 0, i16 17043, i16 0, i16 0, i16 0, i16 12948, i16 0, i16 0, i16 0, i16 13972, i16 0, i16 0, i16 0, i16 16532, i16 0, i16 0, i16 0, i16 13975, i16 0, i16 0, i16 0, i16 15768, i16 0, i16 0, i16 0, i16 16793, i16 0, i16 0, i16 0, i16 13466, i16 0, i16 0, i16 0, i16 155, i16 0, i16 0, i16 0, i16 156, i16 0, i16 0, i16 0, i16 13469, i16 0, i16 0, i16 0, i16 16285, i16 0, i16 0, i16 0, i16 12958, i16 0, i16 0, i16 0, i16 13215, i16 0, i16 0, i16 0, i16 13727, i16 0, i16 0, i16 0, i16 14751, i16 0, i16 0, i16 0, i16 15263, i16 0, i16 0, i16 0, i16 15775, i16 0, i16 0, i16 0, i16 12704, i16 0, i16 0, i16 0, i16 16800, i16 0, i16 0, i16 0, i16 13473, i16 0, i16 0, i16 0, i16 14241, i16 0, i16 0, i16 0, i16 15521, i16 0, i16 0, i16 0, i16 16801, i16 0, i16 0, i16 0, i16 12962, i16 0, i16 0, i16 0, i16 15010, i16 0, i16 0, i16 0, i16 15778, i16 0, i16 0, i16 0, i16 15267, i16 0, i16 0, i16 0, i16 14500, i16 0, i16 0, i16 0, i16 165, i16 0, i16 0, i16 0, i16 15781, i16 0, i16 0, i16 0, i16 16293, i16 0, i16 0, i16 0, i16 166, i16 0, i16 0, i16 0, i16 17063, i16 0, i16 0, i16 0, i16 13736, i16 0, i16 0, i16 0, i16 16296, i16 0, i16 0, i16 0, i16 16808, i16 0, i16 0, i16 0, i16 12713, i16 0, i16 0, i16 0, i16 13993, i16 0, i16 0, i16 0, i16 16041, i16 0, i16 0, i16 0, i16 16810, i16 0, i16 0, i16 0, i16 17066, i16 0, i16 0, i16 0, i16 13483, i16 0, i16 0, i16 0, i16 13484, i16 0, i16 0, i16 0, i16 16300, i16 0, i16 0, i16 0, i16 13741, i16 0, i16 0, i16 0, i16 15277, i16 0, i16 0, i16 0, i16 12462, i16 0, i16 0, i16 0, i16 13999, i16 0, i16 0, i16 0, i16 16559, i16 0, i16 0, i16 0, i16 176, i16 0, i16 0, i16 0, i16 16048, i16 0, i16 0, i16 0, i16 13233, i16 0, i16 0, i16 0, i16 14769, i16 0, i16 0, i16 0, i16 16049, i16 0, i16 0, i16 0, i16 16305, i16 0, i16 0, i16 0, i16 13746, i16 0, i16 0, i16 0, i16 13747, i16 0, i16 0, i16 0, i16 180, i16 0, i16 0, i16 0, i16 13237, i16 0, i16 0, i16 0, i16 13749, i16 0, i16 0, i16 0, i16 14773, i16 0, i16 0, i16 0, i16 16309, i16 0, i16 0, i16 0, i16 16821, i16 0, i16 0, i16 0, i16 13750, i16 0, i16 0, i16 0, i16 14263, i16 0, i16 0, i16 0, i16 696, i16 0, i16 0, i16 0, i16 15544, i16 0, i16 0, i16 0, i16 16312, i16 0, i16 0, i16 0, i16 15290, i16 0, i16 0, i16 0, i16 16570, i16 0, i16 0, i16 0, i16 12475, i16 0, i16 0, i16 0, i16 13755, i16 0, i16 0, i16 0, i16 14779, i16 0, i16 0, i16 0, i16 15035, i16 0, i16 0, i16 0, i16 16828, i16 0, i16 0, i16 0, i16 15037, i16 0, i16 0, i16 0, i16 14526, i16 0, i16 0, i16 0, i16 15294, i16 0, i16 0, i16 0, i16 16832, i16 0, i16 0, i16 0, i16 15809, i16 0, i16 0, i16 0, i16 13506, i16 0, i16 0, i16 0, i16 16066, i16 0, i16 0, i16 0, i16 16834, i16 0, i16 0, i16 0, i16 12739, i16 0, i16 0, i16 0, i16 13763, i16 0, i16 0, i16 0, i16 12740, i16 0, i16 0, i16 0, i16 13764, i16 0, i16 0, i16 0, i16 16068, i16 0, i16 0, i16 0, i16 15045, i16 0, i16 0, i16 0, i16 15301, i16 0, i16 0, i16 0, i16 14278, i16 0, i16 0, i16 0, i16 12743, i16 0, i16 0, i16 0, i16 14791, i16 0, i16 0, i16 0, i16 17095, i16 0, i16 0, i16 0, i16 13768, i16 0, i16 0, i16 0, i16 15560, i16 0, i16 0, i16 0, i16 12745, i16 0, i16 0, i16 0, i16 13513, i16 0, i16 0, i16 0, i16 13514, i16 0, i16 0, i16 0, i16 13770, i16 0, i16 0, i16 0, i16 14027, i16 0, i16 0, i16 0, i16 17099, i16 0, i16 0, i16 0, i16 13516, i16 0, i16 0, i16 0, i16 17100, i16 0, i16 0, i16 0, i16 14285, i16 0, i16 0, i16 0, i16 16845, i16 0, i16 0, i16 0, i16 12494, i16 0, i16 0, i16 0, i16 14798, i16 0, i16 0, i16 0, i16 17102, i16 0, i16 0, i16 0, i16 16079, i16 0, i16 0, i16 0, i16 13520, i16 0, i16 0, i16 0, i16 14032, i16 0, i16 0, i16 0, i16 14288, i16 0, i16 0, i16 0, i16 14800, i16 0, i16 0, i16 0, i16 14289, i16 0, i16 0, i16 0, i16 15569, i16 0, i16 0, i16 0, i16 17105, i16 0, i16 0, i16 0, i16 13778, i16 0, i16 0, i16 0, i16 14034, i16 0, i16 0, i16 0, i16 14803, i16 0, i16 0, i16 0, i16 16083, i16 0, i16 0, i16 0, i16 14805, i16 0, i16 0, i16 0, i16 15829, i16 0, i16 0, i16 0, i16 16597, i16 0, i16 0, i16 0, i16 16853, i16 0, i16 0, i16 0, i16 16598, i16 0, i16 0, i16 0, i16 12503, i16 0, i16 0, i16 0, i16 13527, i16 0, i16 0, i16 0, i16 16088, i16 0, i16 0, i16 0, i16 12761, i16 0, i16 0, i16 0, i16 13785, i16 0, i16 0, i16 0, i16 14809, i16 0, i16 0, i16 0, i16 12508, i16 0, i16 0, i16 0, i16 13276, i16 0, i16 0, i16 0, i16 13532, i16 0, i16 0, i16 0, i16 15836, i16 0, i16 0, i16 0, i16 16348, i16 0, i16 0, i16 0, i16 17116, i16 0, i16 0, i16 0, i16 14045, i16 0, i16 0, i16 0, i16 15837, i16 0, i16 0, i16 0, i16 14558, i16 0, i16 0, i16 0, i16 15326, i16 0, i16 0, i16 0, i16 14047, i16 0, i16 0, i16 0, i16 12768, i16 0, i16 0, i16 0, i16 15584, i16 0, i16 0, i16 0, i16 225, i16 0, i16 0, i16 0, i16 13793, i16 0, i16 0, i16 0, i16 13027, i16 0, i16 0, i16 0, i16 14819, i16 0, i16 0, i16 0, i16 16099, i16 0, i16 0, i16 0, i16 16867, i16 0, i16 0, i16 0, i16 14052, i16 0, i16 0, i16 0, i16 17124, i16 0, i16 0, i16 0, i16 14821, i16 0, i16 0, i16 0, i16 15077, i16 0, i16 0, i16 0, i16 13286, i16 0, i16 0, i16 0, i16 12519, i16 0, i16 0, i16 0, i16 12775, i16 0, i16 0, i16 0, i16 13031, i16 0, i16 0, i16 0, i16 14311, i16 0, i16 0, i16 0, i16 14823, i16 0, i16 0, i16 0, i16 13800, i16 0, i16 0, i16 0, i16 16616, i16 0, i16 0, i16 0, i16 14057, i16 0, i16 0, i16 0, i16 14826, i16 0, i16 0, i16 0, i16 15594, i16 0, i16 0, i16 0, i16 13291, i16 0, i16 0, i16 0, i16 16108, i16 0, i16 0, i16 0, i16 237, i16 0, i16 0, i16 0, i16 12781, i16 0, i16 0, i16 0, i16 15597, i16 0, i16 0, i16 0, i16 15342, i16 0, i16 0, i16 0, i16 14063, i16 0, i16 0, i16 0, i16 15087, i16 0, i16 0, i16 0, i16 15344, i16 0, i16 0, i16 0, i16 13809, i16 0, i16 0, i16 0, i16 17138, i16 0, i16 0, i16 0, i16 15091, i16 0, i16 0, i16 0, i16 16627, i16 0, i16 0, i16 0, i16 12788, i16 0, i16 0, i16 0, i16 14580, i16 0, i16 0, i16 0, i16 15348, i16 0, i16 0, i16 0, i16 16628, i16 0, i16 0, i16 0, i16 13813, i16 0, i16 0, i16 0, i16 13302, i16 0, i16 0, i16 0, i16 14326, i16 0, i16 0, i16 0, i16 15094, i16 0, i16 0, i16 0, i16 15863, i16 0, i16 0, i16 0, i16 16375, i16 0, i16 0, i16 0, i16 15353, i16 0, i16 0, i16 0, i16 15609, i16 0, i16 0, i16 0, i16 14586, i16 0, i16 0, i16 0, i16 15354, i16 0, i16 0, i16 0, i16 15355, i16 0, i16 0, i16 0, i16 15867, i16 0, i16 0, i16 0, i16 15100, i16 0, i16 0, i16 0, i16 12285, i16 0, i16 0, i16 0, i16 13053, i16 0, i16 0, i16 0, i16 14333, i16 0, i16 0, i16 0, i16 12542, i16 0, i16 0, i16 0, i16 12798, i16 0, i16 0, i16 0, i16 13310, i16 0, i16 0, i16 0, i16 14846, i16 0, i16 0, i16 0, i16 15103, i16 0, i16 0, i16 256, i16 0, i16 0, i16 0, i16 14080, i16 0, i16 0, i16 0, i16 13313, i16 17049, i16 0, i16 0, i16 12546, i16 0, i16 0, i16 0, i16 14082, i16 0, i16 0, i16 0, i16 15618, i16 0, i16 0, i16 0, i16 12547, i16 0, i16 0, i16 0, i16 16899, i16 0, i16 0, i16 0, i16 14852, i16 17003, i16 0, i16 0, i16 16388, i16 0, i16 0, i16 0, i16 16644, i16 0, i16 0, i16 0, i16 13573, i16 0, i16 0, i16 0, i16 14085, i16 0, i16 0, i16 0, i16 15109, i16 0, i16 0, i16 0, i16 13318, i16 0, i16 0, i16 0, i16 15366, i16 0, i16 0, i16 0, i16 15622, i16 0, i16 0, i16 0, i16 16390, i16 14495, i16 0, i16 0, i16 16902, i16 13005, i16 0, i16 0, i16 12295, i16 12296, i16 0, i16 0, i16 14343, i16 13546, i16 0, i16 0, i16 16647, i16 0, i16 0, i16 0, i16 14344, i16 0, i16 0, i16 0, i16 15880, i16 15683, i16 0, i16 0, i16 265, i16 264, i16 0, i16 0, i16 12553, i16 14944, i16 0, i16 0, i16 13833, i16 0, i16 0, i16 0, i16 14857, i16 0, i16 0, i16 0, i16 15881, i16 0, i16 0, i16 0, i16 16137, i16 0, i16 0, i16 0, i16 16649, i16 0, i16 0, i16 0, i16 17162, i16 0, i16 0, i16 0, i16 12555, i16 16345, i16 0, i16 0, i16 13067, i16 0, i16 0, i16 0, i16 15115, i16 0, i16 0, i16 0, i16 12300, i16 0, i16 0, i16 0, i16 14348, i16 0, i16 0, i16 0, i16 15628, i16 14483, i16 0, i16 0, i16 16140, i16 0, i16 0, i16 0, i16 12557, i16 0, i16 0, i16 0, i16 14349, i16 0, i16 0, i16 0, i16 14605, i16 15757, i16 0, i16 0, i16 15629, i16 0, i16 0, i16 0, i16 15885, i16 0, i16 0, i16 0, i16 782, i16 0, i16 0, i16 0, i16 13582, i16 13021, i16 0, i16 0, i16 14094, i16 0, i16 0, i16 0, i16 14862, i16 0, i16 0, i16 0, i16 16398, i16 14978, i16 0, i16 0, i16 14352, i16 0, i16 0, i16 0, i16 15376, i16 0, i16 0, i16 0, i16 15121, i16 0, i16 0, i16 0, i16 16657, i16 0, i16 0, i16 0, i16 17169, i16 0, i16 0, i16 0, i16 16658, i16 0, i16 0, i16 0, i16 12819, i16 15198, i16 0, i16 0, i16 13331, i16 0, i16 0, i16 0, i16 13588, i16 15915, i16 0, i16 0, i16 16148, i16 0, i16 0, i16 0, i16 13589, i16 14715, i16 0, i16 0, i16 15125, i16 0, i16 0, i16 0, i16 16661, i16 0, i16 0, i16 0, i16 12310, i16 0, i16 0, i16 0, i16 12566, i16 15116, i16 0, i16 0, i16 13334, i16 0, i16 0, i16 0, i16 14102, i16 15783, i16 0, i16 0, i16 13335, i16 0, i16 0, i16 0, i16 16152, i16 0, i16 0, i16 0, i16 12569, i16 0, i16 0, i16 0, i16 282, i16 0, i16 0, i16 0, i16 794, i16 0, i16 0, i16 0, i16 13338, i16 0, i16 0, i16 0, i16 15386, i16 15387, i16 0, i16 0, i16 15643, i16 16909, i16 0, i16 0, i16 16155, i16 14782, i16 0, i16 0, i16 16667, i16 0, i16 0, i16 0, i16 12828, i16 0, i16 0, i16 0, i16 15644, i16 0, i16 0, i16 0, i16 12829, i16 0, i16 0, i16 0, i16 13597, i16 0, i16 0, i16 0, i16 15133, i16 0, i16 0, i16 0, i16 16413, i16 0, i16 0, i16 0, i16 16669, i16 0, i16 0, i16 0, i16 14110, i16 0, i16 0, i16 0, i16 15902, i16 0, i16 0, i16 0, i16 16158, i16 0, i16 0, i16 0, i16 16670, i16 0, i16 0, i16 0, i16 12320, i16 0, i16 0, i16 0, i16 13344, i16 0, i16 0, i16 0, i16 14624, i16 13170, i16 0, i16 0, i16 15392, i16 0, i16 0, i16 0, i16 16672, i16 12786, i16 0, i16 0, i16 12321, i16 0, i16 0, i16 0, i16 13601, i16 0, i16 0, i16 0, i16 14881, i16 17167, i16 0, i16 0, i16 15649, i16 16630, i16 0, i16 0, i16 15905, i16 16062, i16 0, i16 0, i16 16929, i16 0, i16 0, i16 0, i16 14114, i16 0, i16 0, i16 0, i16 14882, i16 0, i16 0, i16 0, i16 15906, i16 12444, i16 0, i16 0, i16 16674, i16 0, i16 0, i16 0, i16 16163, i16 0, i16 0, i16 0, i16 13860, i16 13824, i16 0, i16 0, i16 14116, i16 15911, i16 0, i16 0, i16 14884, i16 0, i16 0, i16 0, i16 12325, i16 0, i16 0, i16 0, i16 12837, i16 0, i16 0, i16 0, i16 16678, i16 0, i16 0, i16 0, i16 12327, i16 0, i16 0, i16 0, i16 14887, i16 0, i16 0, i16 0, i16 16423, i16 0, i16 0, i16 0, i16 12328, i16 16639, i16 0, i16 0, i16 16425, i16 0, i16 0, i16 0, i16 13610, i16 16180, i16 0, i16 0, i16 14890, i16 0, i16 0, i16 0, i16 16170, i16 0, i16 0, i16 0, i16 15403, i16 0, i16 0, i16 0, i16 16171, i16 0, i16 0, i16 0, i16 12332, i16 0, i16 0, i16 0, i16 15404, i16 15291, i16 0, i16 0, i16 14125, i16 0, i16 0, i16 0, i16 14893, i16 15274, i16 0, i16 0, i16 16685, i16 0, i16 0, i16 0, i16 16941, i16 0, i16 0, i16 0, i16 14382, i16 0, i16 0, i16 0, i16 14638, i16 12998, i16 0, i16 0, i16 16174, i16 0, i16 0, i16 0, i16 12591, i16 0, i16 0, i16 0, i16 14639, i16 0, i16 0, i16 0, i16 13360, i16 0, i16 0, i16 0, i16 14384, i16 0, i16 0, i16 0, i16 14640, i16 0, i16 0, i16 0, i16 13361, i16 0, i16 0, i16 0, i16 14641, i16 0, i16 0, i16 0, i16 15409, i16 0, i16 0, i16 0, i16 16433, i16 0, i16 0, i16 0, i16 14642, i16 0, i16 0, i16 0, i16 14898, i16 13976, i16 0, i16 0, i16 15154, i16 0, i16 0, i16 0, i16 12851, i16 15968, i16 0, i16 0, i16 13619, i16 0, i16 0, i16 0, i16 16947, i16 0, i16 0, i16 0, i16 15156, i16 0, i16 0, i16 0, i16 13365, i16 0, i16 0, i16 0, i16 13621, i16 12675, i16 0, i16 0, i16 12598, i16 15066, i16 0, i16 0, i16 12343, i16 13378, i16 0, i16 0, i16 14135, i16 0, i16 0, i16 0, i16 14391, i16 0, i16 0, i16 0, i16 16951, i16 15075, i16 0, i16 0, i16 12856, i16 0, i16 0, i16 0, i16 15160, i16 13821, i16 0, i16 0, i16 14905, i16 0, i16 0, i16 0, i16 12858, i16 0, i16 0, i16 0, i16 13370, i16 0, i16 0, i16 0, i16 14138, i16 0, i16 0, i16 0, i16 14907, i16 0, i16 0, i16 0, i16 13628, i16 0, i16 0, i16 0, i16 13884, i16 0, i16 0, i16 0, i16 16956, i16 0, i16 0, i16 0, i16 13885, i16 0, i16 0, i16 0, i16 14141, i16 0, i16 0, i16 0, i16 14398, i16 0, i16 0, i16 0, i16 15166, i16 0, i16 0, i16 0, i16 16958, i16 0, i16 0, i16 0, i16 13375, i16 0, i16 0, i16 0, i16 13889, i16 0, i16 0, i16 0, i16 14913, i16 14137, i16 0, i16 0, i16 16193, i16 0, i16 0, i16 0, i16 16449, i16 0, i16 0, i16 0, i16 15938, i16 0, i16 0, i16 0, i16 12355, i16 0, i16 0, i16 0, i16 13379, i16 0, i16 0, i16 0, i16 14660, i16 16660, i16 0, i16 0, i16 15684, i16 0, i16 0, i16 0, i16 12613, i16 16161, i16 0, i16 0, i16 12869, i16 0, i16 0, i16 0, i16 16965, i16 0, i16 0, i16 0, i16 13126, i16 0, i16 0, i16 0, i16 14406, i16 0, i16 0, i16 0, i16 12359, i16 0, i16 0, i16 0, i16 13895, i16 15817, i16 0, i16 0, i16 16711, i16 0, i16 0, i16 0, i16 13640, i16 0, i16 0, i16 0, i16 14920, i16 0, i16 0, i16 0, i16 15944, i16 0, i16 0, i16 0, i16 13385, i16 0, i16 0, i16 0, i16 13641, i16 0, i16 0, i16 0, i16 15945, i16 16859, i16 0, i16 0, i16 16457, i16 0, i16 0, i16 0, i16 12362, i16 0, i16 0, i16 0, i16 13130, i16 0, i16 0, i16 0, i16 14154, i16 0, i16 0, i16 0, i16 14666, i16 0, i16 0, i16 0, i16 16202, i16 0, i16 0, i16 0, i16 13131, i16 15689, i16 0, i16 0, i16 13387, i16 0, i16 0, i16 0, i16 14155, i16 0, i16 0, i16 0, i16 15179, i16 12896, i16 0, i16 0, i16 15691, i16 0, i16 0, i16 0, i16 12364, i16 14260, i16 0, i16 0, i16 13388, i16 13894, i16 0, i16 0, i16 13901, i16 0, i16 0, i16 0, i16 14669, i16 15472, i16 0, i16 0, i16 15949, i16 0, i16 0, i16 0, i16 13390, i16 16026, i16 0, i16 0, i16 14670, i16 0, i16 0, i16 0, i16 13135, i16 16906, i16 0, i16 0, i16 13391, i16 0, i16 0, i16 0, i16 16463, i16 0, i16 0, i16 0, i16 13392, i16 13404, i16 0, i16 0, i16 16720, i16 0, i16 0, i16 0, i16 13649, i16 0, i16 0, i16 0, i16 16209, i16 0, i16 0, i16 0, i16 14674, i16 0, i16 0, i16 0, i16 16722, i16 0, i16 0, i16 0, i16 14163, i16 0, i16 0, i16 0, i16 14675, i16 0, i16 0, i16 0, i16 15699, i16 0, i16 0, i16 0, i16 12628, i16 14648, i16 0, i16 0, i16 13396, i16 0, i16 0, i16 0, i16 15188, i16 0, i16 0, i16 0, i16 12886, i16 0, i16 0, i16 0, i16 13910, i16 0, i16 0, i16 0, i16 14422, i16 0, i16 0, i16 0, i16 15958, i16 12707, i16 0, i16 0, i16 16214, i16 0, i16 0, i16 0, i16 16470, i16 0, i16 0, i16 0, i16 12631, i16 13625, i16 0, i16 0, i16 13143, i16 0, i16 0, i16 0, i16 14423, i16 0, i16 0, i16 0, i16 13656, i16 0, i16 0, i16 0, i16 13912, i16 0, i16 0, i16 0, i16 14424, i16 0, i16 0, i16 0, i16 12633, i16 0, i16 0, i16 0, i16 13913, i16 0, i16 0, i16 0, i16 12890, i16 0, i16 0, i16 0, i16 13146, i16 0, i16 0, i16 0, i16 15962, i16 0, i16 0, i16 0, i16 13147, i16 0, i16 0, i16 0, i16 13659, i16 0, i16 0, i16 0, i16 13405, i16 0, i16 0, i16 0, i16 13150, i16 0, i16 0, i16 0, i16 13406, i16 0, i16 0, i16 0, i16 14686, i16 0, i16 0, i16 0, i16 12895, i16 12407, i16 0, i16 0, i16 15455, i16 0, i16 0, i16 0, i16 14176, i16 0, i16 0, i16 0, i16 14432, i16 0, i16 0, i16 0, i16 15200, i16 0, i16 0, i16 0, i16 16736, i16 0, i16 0, i16 0, i16 12897, i16 0, i16 0, i16 0, i16 13921, i16 0, i16 0, i16 0, i16 14689, i16 0, i16 0, i16 0, i16 13154, i16 0, i16 0, i16 0, i16 16994, i16 16995, i16 0, i16 0, i16 15971, i16 15754, i16 0, i16 0, i16 13156, i16 0, i16 0, i16 0, i16 14692, i16 0, i16 0, i16 0, i16 15460, i16 0, i16 0, i16 0, i16 16228, i16 0, i16 0, i16 0, i16 12389, i16 0, i16 0, i16 0, i16 13669, i16 0, i16 0, i16 0, i16 16486, i16 0, i16 0, i16 0, i16 13927, i16 12380, i16 0, i16 0, i16 14951, i16 15813, i16 0, i16 0, i16 15975, i16 0, i16 0, i16 0, i16 16487, i16 0, i16 0, i16 0, i16 12904, i16 12905, i16 0, i16 0, i16 13416, i16 14004, i16 0, i16 0, i16 15977, i16 0, i16 0, i16 0, i16 12394, i16 15982, i16 0, i16 0, i16 15978, i16 0, i16 0, i16 0, i16 13676, i16 0, i16 0, i16 0, i16 15212, i16 0, i16 0, i16 0, i16 14445, i16 0, i16 0, i16 0, i16 12654, i16 0, i16 0, i16 0, i16 13934, i16 0, i16 0, i16 0, i16 13679, i16 0, i16 0, i16 0, i16 14449, i16 0, i16 0, i16 0, i16 16241, i16 0, i16 0, i16 0, i16 13426, i16 16648, i16 0, i16 0, i16 12915, i16 0, i16 0, i16 0, i16 13427, i16 14180, i16 0, i16 0, i16 14451, i16 15717, i16 0, i16 0, i16 16243, i16 0, i16 0, i16 0, i16 14452, i16 0, i16 0, i16 0, i16 14708, i16 0, i16 0, i16 0, i16 12917, i16 0, i16 0, i16 0, i16 14966, i16 0, i16 0, i16 0, i16 13944, i16 0, i16 0, i16 0, i16 15992, i16 0, i16 0, i16 0, i16 16760, i16 0, i16 0, i16 0, i16 17016, i16 15317, i16 0, i16 0, i16 15225, i16 0, i16 0, i16 0, i16 12666, i16 0, i16 0, i16 0, i16 15738, i16 13848, i16 0, i16 0, i16 17018, i16 0, i16 0, i16 0, i16 13947, i16 0, i16 0, i16 0, i16 15996, i16 0, i16 0, i16 0, i16 13181, i16 0, i16 0, i16 0, i16 15229, i16 0, i16 0, i16 0, i16 13438, i16 13197, i16 0, i16 0, i16 15743, i16 0, i16 0, i16 0, i16 17023, i16 0, i16 0, i16 0, i16 13184, i16 0, i16 0, i16 0, i16 13440, i16 0, i16 0, i16 0, i16 13442, i16 0, i16 0, i16 0, i16 16515, i16 0, i16 0, i16 0, i16 12420, i16 0, i16 0, i16 0, i16 13189, i16 0, i16 0, i16 0, i16 13445, i16 13494, i16 0, i16 0, i16 15237, i16 0, i16 0, i16 0, i16 13958, i16 0, i16 0, i16 0, i16 16262, i16 0, i16 0, i16 0, i16 15239, i16 0, i16 0, i16 0, i16 13960, i16 0, i16 0, i16 0, i16 16776, i16 0, i16 0, i16 0, i16 17032, i16 0, i16 0, i16 0, i16 13193, i16 0, i16 0, i16 0, i16 13961, i16 0, i16 0, i16 0, i16 16010, i16 0, i16 0, i16 0, i16 13451, i16 0, i16 0, i16 0, i16 12428, i16 14380, i16 0, i16 0, i16 14732, i16 16704, i16 0, i16 0, i16 15244, i16 0, i16 0, i16 0, i16 16524, i16 15420, i16 0, i16 0, i16 16269, i16 0, i16 0, i16 0, i16 13198, i16 16103, i16 0, i16 0, i16 13710, i16 17081, i16 0, i16 0, i16 13711, i16 0, i16 0, i16 0, i16 14479, i16 14478, i16 0, i16 0, i16 16015, i16 13394, i16 0, i16 0, i16 16271, i16 0, i16 0, i16 0, i16 12688, i16 0, i16 0, i16 0, i16 16784, i16 0, i16 0, i16 0, i16 13201, i16 14579, i16 0, i16 0, i16 13713, i16 0, i16 0, i16 0, i16 14738, i16 0, i16 0, i16 0, i16 12947, i16 0, i16 0, i16 0, i16 13459, i16 14369, i16 0, i16 0, i16 15251, i16 14807, i16 0, i16 0, i16 14740, i16 0, i16 0, i16 0, i16 17044, i16 0, i16 0, i16 0, i16 14229, i16 0, i16 0, i16 0, i16 14741, i16 0, i16 0, i16 0, i16 13718, i16 0, i16 0, i16 0, i16 13974, i16 0, i16 0, i16 0, i16 14230, i16 0, i16 0, i16 0, i16 17046, i16 13544, i16 0, i16 0, i16 12439, i16 0, i16 0, i16 0, i16 16023, i16 0, i16 0, i16 0, i16 17047, i16 15588, i16 0, i16 0, i16 13464, i16 14488, i16 0, i16 0, i16 13209, i16 0, i16 0, i16 0, i16 15257, i16 13925, i16 0, i16 0, i16 16281, i16 0, i16 0, i16 0, i16 16794, i16 13906, i16 0, i16 0, i16 12955, i16 13571, i16 0, i16 0, i16 668, i16 0, i16 0, i16 0, i16 14748, i16 0, i16 0, i16 0, i16 15004, i16 0, i16 0, i16 0, i16 12701, i16 0, i16 0, i16 0, i16 15773, i16 14925, i16 0, i16 0, i16 16029, i16 0, i16 0, i16 0, i16 17053, i16 0, i16 0, i16 0, i16 12446, i16 0, i16 0, i16 0, i16 13982, i16 0, i16 0, i16 0, i16 14494, i16 0, i16 0, i16 0, i16 17054, i16 16165, i16 0, i16 0, i16 14239, i16 0, i16 0, i16 0, i16 15007, i16 0, i16 0, i16 0, i16 16031, i16 0, i16 0, i16 0, i16 13216, i16 15956, i16 0, i16 0, i16 12705, i16 0, i16 0, i16 0, i16 16289, i16 0, i16 0, i16 0, i16 674, i16 0, i16 0, i16 0, i16 15266, i16 0, i16 0, i16 0, i16 16290, i16 0, i16 0, i16 0, i16 16546, i16 0, i16 0, i16 0, i16 16802, i16 0, i16 0, i16 0, i16 12451, i16 0, i16 0, i16 0, i16 15523, i16 0, i16 0, i16 0, i16 16291, i16 0, i16 0, i16 0, i16 12452, i16 12408, i16 0, i16 0, i16 12708, i16 0, i16 0, i16 0, i16 12964, i16 0, i16 0, i16 0, i16 14244, i16 0, i16 0, i16 0, i16 16292, i16 0, i16 0, i16 0, i16 15269, i16 0, i16 0, i16 0, i16 16037, i16 0, i16 0, i16 0, i16 16549, i16 0, i16 0, i16 0, i16 12710, i16 15019, i16 0, i16 0, i16 15782, i16 0, i16 0, i16 0, i16 16294, i16 0, i16 0, i16 0, i16 12455, i16 17045, i16 0, i16 0, i16 12711, i16 13480, i16 0, i16 0, i16 13479, i16 0, i16 0, i16 0, i16 13991, i16 0, i16 0, i16 0, i16 14503, i16 0, i16 0, i16 0, i16 15527, i16 0, i16 0, i16 0, i16 16295, i16 16721, i16 0, i16 0, i16 12456, i16 0, i16 0, i16 0, i16 13224, i16 12838, i16 0, i16 0, i16 15784, i16 0, i16 0, i16 0, i16 13737, i16 0, i16 0, i16 0, i16 13738, i16 0, i16 0, i16 0, i16 13739, i16 0, i16 0, i16 0, i16 13995, i16 14438, i16 0, i16 0, i16 14763, i16 0, i16 0, i16 0, i16 16299, i16 13632, i16 0, i16 0, i16 13996, i16 14799, i16 0, i16 0, i16 15788, i16 13599, i16 0, i16 0, i16 14253, i16 12873, i16 0, i16 0, i16 14765, i16 0, i16 0, i16 0, i16 17069, i16 0, i16 0, i16 0, i16 174, i16 0, i16 0, i16 0, i16 15790, i16 0, i16 0, i16 0, i16 13743, i16 0, i16 0, i16 0, i16 15279, i16 16077, i16 0, i16 0, i16 13744, i16 13482, i16 0, i16 0, i16 15792, i16 0, i16 0, i16 0, i16 16816, i16 0, i16 0, i16 0, i16 14513, i16 15755, i16 0, i16 0, i16 178, i16 0, i16 0, i16 0, i16 13490, i16 16151, i16 0, i16 0, i16 14514, i16 16601, i16 0, i16 0, i16 15026, i16 0, i16 0, i16 0, i16 15538, i16 16535, i16 0, i16 0, i16 16562, i16 0, i16 0, i16 0, i16 16818, i16 0, i16 0, i16 0, i16 691, i16 0, i16 0, i16 0, i16 14515, i16 0, i16 0, i16 0, i16 16307, i16 0, i16 0, i16 0, i16 12980, i16 12981, i16 0, i16 0, i16 13492, i16 0, i16 0, i16 0, i16 15028, i16 0, i16 0, i16 0, i16 15284, i16 14607, i16 0, i16 0, i16 15285, i16 0, i16 0, i16 0, i16 694, i16 785, i16 0, i16 0, i16 12470, i16 15646, i16 0, i16 0, i16 15798, i16 0, i16 0, i16 0, i16 12983, i16 13478, i16 0, i16 0, i16 13495, i16 0, i16 0, i16 0, i16 12728, i16 16993, i16 0, i16 0, i16 12984, i16 14160, i16 0, i16 0, i16 13496, i16 0, i16 0, i16 0, i16 185, i16 184, i16 0, i16 0, i16 12985, i16 0, i16 0, i16 0, i16 15033, i16 0, i16 0, i16 0, i16 13498, i16 0, i16 0, i16 0, i16 16314, i16 16812, i16 0, i16 0, i16 187, i16 186, i16 0, i16 0, i16 699, i16 792, i16 0, i16 0, i16 14011, i16 12526, i16 0, i16 0, i16 16315, i16 0, i16 0, i16 0, i16 16571, i16 0, i16 0, i16 0, i16 13500, i16 0, i16 0, i16 0, i16 701, i16 793, i16 0, i16 0, i16 12733, i16 0, i16 0, i16 0, i16 13501, i16 0, i16 0, i16 0, i16 702, i16 795, i16 0, i16 0, i16 13246, i16 15414, i16 0, i16 0, i16 14014, i16 0, i16 0, i16 0, i16 191, i16 190, i16 0, i16 0, i16 12735, i16 0, i16 0, i16 0, i16 12991, i16 0, i16 0, i16 0, i16 13503, i16 0, i16 0, i16 0, i16 14271, i16 0, i16 0, i16 0, i16 14527, i16 14060, i16 0, i16 0, i16 12480, i16 0, i16 0, i16 0, i16 13249, i16 0, i16 0, i16 0, i16 15553, i16 14199, i16 0, i16 0, i16 16065, i16 0, i16 0, i16 0, i16 12738, i16 0, i16 0, i16 0, i16 14530, i16 14206, i16 0, i16 0, i16 14786, i16 0, i16 0, i16 0, i16 12995, i16 0, i16 0, i16 0, i16 14531, i16 0, i16 0, i16 0, i16 16579, i16 0, i16 0, i16 0, i16 15556, i16 0, i16 0, i16 0, i16 16836, i16 0, i16 0, i16 0, i16 14277, i16 0, i16 0, i16 0, i16 16325, i16 0, i16 0, i16 0, i16 16837, i16 0, i16 0, i16 0, i16 12742, i16 0, i16 0, i16 0, i16 16839, i16 0, i16 0, i16 0, i16 200, i16 201, i16 0, i16 0, i16 15304, i16 15303, i16 0, i16 0, i16 15816, i16 14955, i16 0, i16 0, i16 16328, i16 0, i16 0, i16 0, i16 16584, i16 0, i16 0, i16 0, i16 16073, i16 0, i16 0, i16 0, i16 16329, i16 0, i16 0, i16 0, i16 17097, i16 0, i16 0, i16 0, i16 202, i16 0, i16 0, i16 0, i16 13258, i16 0, i16 0, i16 0, i16 14794, i16 0, i16 0, i16 0, i16 15050, i16 0, i16 0, i16 0, i16 15562, i16 0, i16 0, i16 0, i16 16074, i16 0, i16 0, i16 0, i16 13260, i16 0, i16 0, i16 0, i16 13772, i16 15199, i16 0, i16 0, i16 16332, i16 0, i16 0, i16 0, i16 16588, i16 0, i16 0, i16 0, i16 13517, i16 0, i16 0, i16 0, i16 13262, i16 0, i16 0, i16 0, i16 15822, i16 0, i16 0, i16 0, i16 14543, i16 12589, i16 0, i16 0, i16 16335, i16 0, i16 0, i16 0, i16 12752, i16 13794, i16 0, i16 0, i16 13264, i16 0, i16 0, i16 0, i16 15057, i16 13046, i16 0, i16 0, i16 16849, i16 16921, i16 0, i16 0, i16 210, i16 211, i16 0, i16 0, i16 13522, i16 0, i16 0, i16 0, i16 14802, i16 0, i16 0, i16 0, i16 15314, i16 13029, i16 0, i16 0, i16 12499, i16 0, i16 0, i16 0, i16 13011, i16 0, i16 0, i16 0, i16 14035, i16 16620, i16 0, i16 0, i16 212, i16 213, i16 0, i16 0, i16 16084, i16 0, i16 0, i16 0, i16 16340, i16 0, i16 0, i16 0, i16 16342, i16 0, i16 0, i16 0, i16 13783, i16 0, i16 0, i16 0, i16 13016, i16 14788, i16 0, i16 0, i16 14808, i16 0, i16 0, i16 0, i16 15064, i16 0, i16 0, i16 0, i16 14041, i16 14269, i16 0, i16 0, i16 14297, i16 0, i16 0, i16 0, i16 15065, i16 0, i16 0, i16 0, i16 15833, i16 0, i16 0, i16 0, i16 13018, i16 0, i16 0, i16 0, i16 219, i16 0, i16 0, i16 0, i16 13787, i16 0, i16 0, i16 0, i16 14299, i16 0, i16 0, i16 0, i16 14811, i16 0, i16 0, i16 0, i16 15324, i16 16112, i16 0, i16 0, i16 13277, i16 0, i16 0, i16 0, i16 16605, i16 0, i16 0, i16 0, i16 13534, i16 0, i16 0, i16 0, i16 13790, i16 0, i16 0, i16 0, i16 15070, i16 0, i16 0, i16 0, i16 13791, i16 0, i16 0, i16 0, i16 14559, i16 0, i16 0, i16 0, i16 16607, i16 0, i16 0, i16 0, i16 16863, i16 14628, i16 0, i16 0, i16 17119, i16 0, i16 0, i16 0, i16 13024, i16 13060, i16 0, i16 0, i16 13536, i16 0, i16 0, i16 0, i16 14048, i16 0, i16 0, i16 0, i16 14816, i16 0, i16 0, i16 0, i16 15328, i16 0, i16 0, i16 0, i16 16352, i16 16046, i16 0, i16 0, i16 12513, i16 0, i16 0, i16 0, i16 14817, i16 0, i16 0, i16 0, i16 15329, i16 0, i16 0, i16 0, i16 15841, i16 0, i16 0, i16 0, i16 17121, i16 0, i16 0, i16 0, i16 13538, i16 0, i16 0, i16 0, i16 14050, i16 0, i16 0, i16 0, i16 15842, i16 14561, i16 0, i16 0, i16 16098, i16 0, i16 0, i16 0, i16 14564, i16 0, i16 0, i16 0, i16 15332, i16 0, i16 0, i16 0, i16 15845, i16 12345, i16 0, i16 0, i16 13798, i16 15306, i16 0, i16 0, i16 17126, i16 12973, i16 0, i16 0, i16 12520, i16 0, i16 0, i16 0, i16 14056, i16 0, i16 0, i16 0, i16 14568, i16 0, i16 0, i16 0, i16 14824, i16 0, i16 0, i16 0, i16 17129, i16 0, i16 0, i16 0, i16 12522, i16 12391, i16 0, i16 0, i16 13802, i16 0, i16 0, i16 0, i16 14570, i16 16105, i16 0, i16 0, i16 16106, i16 15989, i16 0, i16 0, i16 14827, i16 13366, i16 0, i16 0, i16 16875, i16 0, i16 0, i16 0, i16 15084, i16 15744, i16 0, i16 0, i16 13293, i16 0, i16 0, i16 0, i16 13549, i16 0, i16 0, i16 0, i16 14317, i16 0, i16 0, i16 0, i16 15853, i16 16114, i16 0, i16 0, i16 15854, i16 0, i16 0, i16 0, i16 13039, i16 0, i16 0, i16 0, i16 14064, i16 0, i16 0, i16 0, i16 14832, i16 17077, i16 0, i16 0, i16 15088, i16 0, i16 0, i16 0, i16 13553, i16 0, i16 0, i16 0, i16 14577, i16 0, i16 0, i16 0, i16 14833, i16 0, i16 0, i16 0, i16 15857, i16 0, i16 0, i16 0, i16 15090, i16 15635, i16 0, i16 0, i16 15346, i16 0, i16 0, i16 0, i16 15858, i16 14520, i16 0, i16 0, i16 16882, i16 0, i16 0, i16 0, i16 244, i16 243, i16 0, i16 0, i16 13812, i16 0, i16 0, i16 0, i16 14068, i16 0, i16 0, i16 0, i16 14325, i16 0, i16 0, i16 0, i16 17141, i16 16512, i16 0, i16 0, i16 13558, i16 0, i16 0, i16 0, i16 16374, i16 15645, i16 0, i16 0, i16 12535, i16 0, i16 0, i16 0, i16 16120, i16 0, i16 0, i16 0, i16 16376, i16 0, i16 0, i16 0, i16 17144, i16 16840, i16 0, i16 0, i16 14585, i16 0, i16 0, i16 0, i16 15097, i16 16614, i16 0, i16 0, i16 16121, i16 0, i16 0, i16 0, i16 16889, i16 0, i16 0, i16 0, i16 12794, i16 14493, i16 0, i16 0, i16 13562, i16 0, i16 0, i16 0, i16 14074, i16 0, i16 0, i16 0, i16 14587, i16 0, i16 0, i16 0, i16 12540, i16 0, i16 0, i16 0, i16 16124, i16 16211, i16 0, i16 0, i16 13565, i16 16820, i16 0, i16 0, i16 15101, i16 0, i16 0, i16 0, i16 15357, i16 0, i16 0, i16 0, i16 16638, i16 0, i16 0, i16 0, i16 13055, i16 0, i16 0, i16 0, i16 15871, i16 0, i16 0, i16 0, i16 16127, i16 0, i16 0, i16 0, i16 16383, i16 0, i16 0, i16 0, i16 16895, i16 0, i16 0, i16 14336, i16 0, i16 0, i16 0, i16 15872, i16 0, i16 0, i16 0, i16 16896, i16 12854, i16 0, i16 0, i16 12289, i16 0, i16 0, i16 0, i16 13057, i16 0, i16 0, i16 0, i16 14593, i16 0, i16 0, i16 0, i16 15361, i16 14291, i16 12990, i16 0, i16 16129, i16 0, i16 0, i16 0, i16 2, i16 3, i16 0, i16 0, i16 12290, i16 0, i16 0, i16 0, i16 13826, i16 14262, i16 0, i16 0, i16 15106, i16 0, i16 0, i16 0, i16 17154, i16 0, i16 0, i16 0, i16 12291, i16 0, i16 0, i16 0, i16 13315, i16 0, i16 0, i16 0, i16 14339, i16 12729, i16 13820, i16 0, i16 14851, i16 0, i16 0, i16 0, i16 15875, i16 0, i16 0, i16 0, i16 4, i16 5, i16 6, i16 0, i16 12292, i16 14533, i16 0, i16 0, i16 13316, i16 0, i16 0, i16 0, i16 16900, i16 12787, i16 15477, i16 0, i16 17156, i16 0, i16 14379, i16 0, i16 14341, i16 0, i16 0, i16 0, i16 14597, i16 0, i16 0, i16 0, i16 12550, i16 0, i16 0, i16 0, i16 15878, i16 0, i16 0, i16 0, i16 13575, i16 0, i16 0, i16 0, i16 14087, i16 13298, i16 0, i16 0, i16 14599, i16 0, i16 0, i16 0, i16 16135, i16 13144, i16 0, i16 0, i16 16391, i16 0, i16 0, i16 0, i16 520, i16 521, i16 522, i16 0, i16 13832, i16 0, i16 0, i16 0, i16 14088, i16 14747, i16 13614, i16 0, i16 14600, i16 14465, i16 0, i16 0, i16 16392, i16 0, i16 0, i16 0, i16 12809, i16 0, i16 0, i16 0, i16 13577, i16 15658, i16 0, i16 0, i16 13066, i16 0, i16 0, i16 0, i16 15114, i16 0, i16 15163, i16 0, i16 16650, i16 0, i16 15347, i16 0, i16 12811, i16 0, i16 0, i16 0, i16 13579, i16 0, i16 0, i16 0, i16 16139, i16 0, i16 13204, i16 0, i16 16651, i16 0, i16 12426, i16 0, i16 17163, i16 0, i16 0, i16 0, i16 14860, i16 0, i16 0, i16 0, i16 15884, i16 13063, i16 12474, i16 0, i16 17164, i16 17165, i16 0, i16 0, i16 13325, i16 16860, i16 0, i16 0, i16 16397, i16 0, i16 0, i16 0, i16 13326, i16 0, i16 0, i16 0, i16 16654, i16 0, i16 0, i16 0, i16 16910, i16 0, i16 0, i16 0, i16 783, i16 0, i16 0, i16 0, i16 13071, i16 16937, i16 15040, i16 0, i16 13583, i16 0, i16 0, i16 0, i16 14863, i16 0, i16 0, i16 0, i16 15119, i16 0, i16 16996, i16 0, i16 16655, i16 0, i16 16656, i16 0, i16 13584, i16 0, i16 15449, i16 0, i16 14608, i16 14546, i16 0, i16 0, i16 15120, i16 0, i16 0, i16 0, i16 16400, i16 0, i16 0, i16 0, i16 13329, i16 0, i16 0, i16 0, i16 14609, i16 17131, i16 0, i16 0, i16 15889, i16 12524, i16 0, i16 0, i16 786, i16 695, i16 787, i16 0, i16 12818, i16 12650, i16 0, i16 0, i16 13843, i16 0, i16 15910, i16 0, i16 14099, i16 0, i16 0, i16 0, i16 15123, i16 0, i16 13134, i16 0, i16 15891, i16 14665, i16 17026, i16 0, i16 14356, i16 13443, i16 14504, i16 0, i16 15124, i16 0, i16 0, i16 0, i16 16404, i16 0, i16 13658, i16 0, i16 16917, i16 0, i16 0, i16 0, i16 14358, i16 13399, i16 0, i16 0, i16 15126, i16 0, i16 0, i16 0, i16 15894, i16 12941, i16 12942, i16 0, i16 12311, i16 0, i16 0, i16 0, i16 14103, i16 0, i16 16763, i16 0, i16 15895, i16 0, i16 17074, i16 0, i16 16663, i16 0, i16 0, i16 0, i16 16919, i16 0, i16 0, i16 0, i16 15128, i16 0, i16 0, i16 0, i16 16664, i16 0, i16 0, i16 0, i16 16920, i16 0, i16 13816, i16 0, i16 13337, i16 0, i16 0, i16 0, i16 13849, i16 0, i16 15779, i16 0, i16 14873, i16 0, i16 0, i16 0, i16 15129, i16 0, i16 0, i16 0, i16 15641, i16 0, i16 0, i16 0, i16 15897, i16 0, i16 12885, i16 0, i16 13850, i16 0, i16 0, i16 0, i16 14362, i16 0, i16 0, i16 0, i16 16666, i16 16590, i16 15456, i16 0, i16 1051, i16 0, i16 0, i16 0, i16 16668, i16 16710, i16 12369, i16 0, i16 797, i16 703, i16 796, i16 0, i16 13853, i16 0, i16 0, i16 0, i16 15901, i16 16166, i16 14550, i16 0, i16 16157, i16 0, i16 0, i16 0, i16 13342, i16 16181, i16 12441, i16 0, i16 15134, i16 15135, i16 0, i16 0, i16 16414, i16 0, i16 0, i16 0, i16 287, i16 284, i16 0, i16 0, i16 14879, i16 16693, i16 0, i16 0, i16 16927, i16 13356, i16 0, i16 0, i16 288, i16 289, i16 290, i16 0, i16 12832, i16 16729, i16 0, i16 0, i16 15136, i16 0, i16 15657, i16 0, i16 15137, i16 0, i16 15988, i16 0, i16 16417, i16 0, i16 0, i16 0, i16 16673, i16 0, i16 13283, i16 0, i16 13602, i16 0, i16 0, i16 0, i16 14115, i16 0, i16 0, i16 0, i16 14371, i16 0, i16 0, i16 0, i16 16675, i16 0, i16 0, i16 0, i16 12580, i16 16042, i16 12849, i16 0, i16 13348, i16 14712, i16 15662, i16 0, i16 15140, i16 0, i16 0, i16 0, i16 15909, i16 0, i16 0, i16 0, i16 16933, i16 0, i16 13345, i16 0, i16 12582, i16 0, i16 13797, i16 0, i16 13350, i16 0, i16 0, i16 0, i16 13862, i16 0, i16 0, i16 0, i16 16934, i16 0, i16 0, i16 0, i16 15143, i16 16324, i16 0, i16 0, i16 12840, i16 15772, i16 0, i16 0, i16 14888, i16 14337, i16 0, i16 0, i16 16424, i16 0, i16 0, i16 0, i16 16680, i16 0, i16 0, i16 0, i16 16936, i16 12953, i16 0, i16 0, i16 14633, i16 0, i16 0, i16 0, i16 14889, i16 12899, i16 0, i16 0, i16 15401, i16 15603, i16 0, i16 0, i16 15146, i16 0, i16 0, i16 0, i16 13611, i16 0, i16 0, i16 0, i16 16684, i16 0, i16 0, i16 0, i16 14637, i16 0, i16 0, i16 0, i16 16429, i16 0, i16 0, i16 0, i16 12590, i16 0, i16 0, i16 0, i16 13358, i16 13570, i16 14553, i16 0, i16 14126, i16 0, i16 0, i16 0, i16 14894, i16 0, i16 0, i16 0, i16 15407, i16 15848, i16 16384, i16 0, i16 15919, i16 0, i16 0, i16 0, i16 16431, i16 0, i16 16343, i16 0, i16 16687, i16 0, i16 0, i16 0, i16 16943, i16 0, i16 0, i16 0, i16 15408, i16 0, i16 14373, i16 0, i16 15920, i16 0, i16 0, i16 0, i16 16176, i16 0, i16 16162, i16 0, i16 16688, i16 0, i16 16319, i16 0, i16 13617, i16 0, i16 0, i16 0, i16 14385, i16 0, i16 0, i16 0, i16 12338, i16 0, i16 0, i16 0, i16 12594, i16 0, i16 13859, i16 0, i16 12850, i16 0, i16 0, i16 0, i16 13618, i16 0, i16 0, i16 0, i16 14386, i16 0, i16 12777, i16 0, i16 15922, i16 16156, i16 13300, i16 0, i16 13363, i16 12934, i16 0, i16 0, i16 15668, i16 0, i16 0, i16 0, i16 16692, i16 0, i16 0, i16 0, i16 12341, i16 0, i16 0, i16 0, i16 14645, i16 13454, i16 13712, i16 0, i16 15925, i16 14582, i16 0, i16 0, i16 12342, i16 0, i16 0, i16 0, i16 13110, i16 0, i16 0, i16 0, i16 13622, i16 16877, i16 0, i16 0, i16 14134, i16 16977, i16 14101, i16 0, i16 15926, i16 0, i16 14100, i16 0, i16 12855, i16 0, i16 0, i16 0, i16 13111, i16 0, i16 0, i16 0, i16 15415, i16 0, i16 13550, i16 0, i16 12344, i16 14324, i16 0, i16 0, i16 13368, i16 17123, i16 0, i16 0, i16 13880, i16 0, i16 0, i16 0, i16 14136, i16 15933, i16 16499, i16 0, i16 15672, i16 0, i16 0, i16 0, i16 16184, i16 0, i16 0, i16 0, i16 14649, i16 17057, i16 12572, i16 0, i16 15161, i16 0, i16 13899, i16 0, i16 16697, i16 14679, i16 0, i16 0, i16 12602, i16 16064, i16 0, i16 0, i16 14650, i16 0, i16 0, i16 0, i16 14906, i16 15697, i16 14606, i16 0, i16 16186, i16 0, i16 0, i16 0, i16 16954, i16 0, i16 12615, i16 0, i16 12859, i16 0, i16 0, i16 0, i16 13883, i16 0, i16 0, i16 0, i16 16443, i16 0, i16 0, i16 0, i16 16955, i16 0, i16 0, i16 0, i16 1084, i16 0, i16 0, i16 0, i16 13372, i16 0, i16 15883, i16 0, i16 14652, i16 0, i16 15961, i16 0, i16 12605, i16 16723, i16 0, i16 0, i16 13373, i16 0, i16 0, i16 0, i16 14397, i16 0, i16 0, i16 0, i16 14653, i16 0, i16 0, i16 0, i16 14909, i16 15552, i16 14122, i16 0, i16 12862, i16 0, i16 0, i16 0, i16 13374, i16 0, i16 13511, i16 0, i16 12607, i16 0, i16 0, i16 0, i16 14143, i16 0, i16 0, i16 0, i16 15679, i16 0, i16 16861, i16 0, i16 16191, i16 0, i16 0, i16 0, i16 12352, i16 0, i16 13142, i16 0, i16 12608, i16 0, i16 0, i16 0, i16 13120, i16 0, i16 0, i16 0, i16 13376, i16 16172, i16 12431, i16 0, i16 13888, i16 0, i16 0, i16 0, i16 14400, i16 0, i16 0, i16 0, i16 15680, i16 13424, i16 0, i16 0, i16 13633, i16 0, i16 0, i16 0, i16 15170, i16 0, i16 0, i16 0, i16 15682, i16 0, i16 0, i16 0, i16 16194, i16 0, i16 12409, i16 0, i16 14403, i16 0, i16 15776, i16 0, i16 14659, i16 14658, i16 0, i16 0, i16 15171, i16 0, i16 0, i16 0, i16 16195, i16 0, i16 13887, i16 0, i16 13124, i16 0, i16 0, i16 0, i16 13636, i16 0, i16 0, i16 0, i16 14404, i16 0, i16 0, i16 0, i16 16196, i16 0, i16 0, i16 0, i16 16452, i16 0, i16 0, i16 0, i16 16964, i16 0, i16 14108, i16 0, i16 14661, i16 0, i16 12817, i16 0, i16 14917, i16 16969, i16 12392, i16 0, i16 15941, i16 0, i16 15896, i16 0, i16 16197, i16 0, i16 0, i16 0, i16 16454, i16 0, i16 0, i16 0, i16 13639, i16 0, i16 0, i16 0, i16 14919, i16 0, i16 0, i16 0, i16 15175, i16 0, i16 14644, i16 0, i16 15687, i16 0, i16 16380, i16 0, i16 13384, i16 0, i16 0, i16 0, i16 13896, i16 0, i16 0, i16 0, i16 14408, i16 0, i16 0, i16 0, i16 13897, i16 0, i16 0, i16 0, i16 12618, i16 17068, i16 0, i16 0, i16 13642, i16 16781, i16 0, i16 0, i16 13898, i16 16924, i16 0, i16 0, i16 15178, i16 14797, i16 0, i16 0, i16 12363, i16 0, i16 0, i16 0, i16 14411, i16 16971, i16 0, i16 0, i16 14923, i16 0, i16 15843, i16 0, i16 15947, i16 0, i16 0, i16 0, i16 16459, i16 0, i16 0, i16 0, i16 16715, i16 0, i16 0, i16 0, i16 14156, i16 0, i16 0, i16 0, i16 12877, i16 0, i16 16806, i16 0, i16 13389, i16 0, i16 0, i16 0, i16 14157, i16 0, i16 0, i16 0, i16 16461, i16 0, i16 16018, i16 0, i16 16717, i16 0, i16 0, i16 0, i16 13902, i16 0, i16 0, i16 0, i16 14926, i16 0, i16 12720, i16 0, i16 15694, i16 0, i16 15793, i16 0, i16 15950, i16 0, i16 0, i16 0, i16 16974, i16 0, i16 0, i16 0, i16 12879, i16 0, i16 0, i16 0, i16 14671, i16 0, i16 0, i16 0, i16 15439, i16 0, i16 0, i16 0, i16 15695, i16 0, i16 0, i16 0, i16 14416, i16 0, i16 0, i16 0, i16 15696, i16 0, i16 16589, i16 0, i16 14673, i16 0, i16 0, i16 0, i16 16465, i16 0, i16 15220, i16 0, i16 14162, i16 0, i16 0, i16 0, i16 16466, i16 15454, i16 13875, i16 0, i16 12627, i16 0, i16 0, i16 0, i16 13139, i16 0, i16 15444, i16 0, i16 13395, i16 0, i16 0, i16 0, i16 13651, i16 0, i16 0, i16 0, i16 16979, i16 0, i16 0, i16 0, i16 13140, i16 0, i16 0, i16 0, i16 13908, i16 0, i16 0, i16 0, i16 14420, i16 0, i16 0, i16 0, i16 14676, i16 0, i16 0, i16 0, i16 16212, i16 0, i16 0, i16 0, i16 16724, i16 0, i16 0, i16 0, i16 13141, i16 15167, i16 12734, i16 0, i16 13653, i16 0, i16 0, i16 0, i16 14421, i16 0, i16 12527, i16 0, i16 14677, i16 0, i16 0, i16 0, i16 15701, i16 0, i16 0, i16 0, i16 16213, i16 0, i16 0, i16 0, i16 12374, i16 12375, i16 0, i16 0, i16 12630, i16 0, i16 0, i16 0, i16 14678, i16 0, i16 0, i16 0, i16 16982, i16 13183, i16 0, i16 0, i16 13655, i16 0, i16 16233, i16 0, i16 14935, i16 0, i16 0, i16 0, i16 15447, i16 0, i16 0, i16 0, i16 16471, i16 13382, i16 0, i16 0, i16 16983, i16 15838, i16 14030, i16 0, i16 12376, i16 0, i16 0, i16 0, i16 14168, i16 0, i16 0, i16 0, i16 16216, i16 0, i16 14287, i16 0, i16 16728, i16 0, i16 0, i16 0, i16 89, i16 0, i16 0, i16 0, i16 14425, i16 0, i16 0, i16 0, i16 15705, i16 0, i16 0, i16 0, i16 16473, i16 0, i16 13593, i16 0, i16 16985, i16 0, i16 13907, i16 0, i16 90, i16 91, i16 92, i16 0, i16 12891, i16 0, i16 0, i16 0, i16 13915, i16 0, i16 0, i16 0, i16 14171, i16 0, i16 0, i16 0, i16 15707, i16 0, i16 0, i16 0, i16 12892, i16 0, i16 0, i16 0, i16 13660, i16 0, i16 0, i16 0, i16 14428, i16 0, i16 0, i16 0, i16 14940, i16 0, i16 0, i16 0, i16 16220, i16 16689, i16 15887, i16 0, i16 16988, i16 0, i16 0, i16 0, i16 12893, i16 0, i16 12842, i16 0, i16 14685, i16 16372, i16 0, i16 0, i16 13918, i16 12927, i16 0, i16 0, i16 16734, i16 0, i16 15318, i16 0, i16 13663, i16 0, i16 16595, i16 0, i16 12640, i16 0, i16 0, i16 0, i16 14945, i16 0, i16 0, i16 0, i16 15457, i16 0, i16 0, i16 0, i16 15713, i16 16567, i16 0, i16 0, i16 16225, i16 0, i16 15660, i16 0, i16 12386, i16 0, i16 0, i16 0, i16 14690, i16 0, i16 17039, i16 0, i16 16482, i16 0, i16 0, i16 0, i16 12643, i16 15955, i16 12727, i16 0, i16 13155, i16 12358, i16 0, i16 0, i16 13411, i16 17107, i16 0, i16 0, i16 16227, i16 0, i16 0, i16 0, i16 13412, i16 0, i16 15652, i16 0, i16 13924, i16 14113, i16 0, i16 0, i16 15972, i16 17161, i16 14439, i16 0, i16 16740, i16 0, i16 0, i16 0, i16 12901, i16 0, i16 0, i16 0, i16 15205, i16 0, i16 13167, i16 0, i16 15973, i16 0, i16 0, i16 0, i16 16741, i16 0, i16 14792, i16 0, i16 12646, i16 0, i16 12827, i16 0, i16 12902, i16 16984, i16 13252, i16 0, i16 14182, i16 0, i16 0, i16 0, i16 15462, i16 0, i16 0, i16 0, i16 12903, i16 0, i16 0, i16 0, i16 13159, i16 0, i16 0, i16 0, i16 14183, i16 0, i16 0, i16 0, i16 15207, i16 0, i16 0, i16 0, i16 15719, i16 0, i16 0, i16 0, i16 872, i16 873, i16 874, i16 0, i16 13672, i16 0, i16 0, i16 0, i16 14184, i16 0, i16 13723, i16 0, i16 14440, i16 15702, i16 13754, i16 0, i16 14696, i16 0, i16 12323, i16 0, i16 16488, i16 0, i16 0, i16 0, i16 12649, i16 0, i16 0, i16 0, i16 13161, i16 15899, i16 0, i16 0, i16 14185, i16 0, i16 0, i16 0, i16 14441, i16 0, i16 0, i16 0, i16 13162, i16 0, i16 0, i16 0, i16 13419, i16 0, i16 0, i16 0, i16 14443, i16 0, i16 0, i16 0, i16 15979, i16 16623, i16 0, i16 0, i16 876, i16 877, i16 878, i16 0, i16 13932, i16 13543, i16 0, i16 0, i16 17004, i16 16055, i16 15825, i16 0, i16 12397, i16 13647, i16 0, i16 0, i16 13165, i16 17058, i16 13093, i16 0, i16 14957, i16 0, i16 16405, i16 0, i16 15469, i16 0, i16 0, i16 0, i16 16749, i16 0, i16 0, i16 0, i16 13166, i16 0, i16 13950, i16 0, i16 15470, i16 12770, i16 0, i16 0, i16 16494, i16 13846, i16 16862, i16 0, i16 12655, i16 16472, i16 0, i16 0, i16 12911, i16 0, i16 14435, i16 0, i16 14447, i16 13098, i16 0, i16 0, i16 15215, i16 0, i16 0, i16 0, i16 15471, i16 0, i16 0, i16 0, i16 15727, i16 15044, i16 0, i16 0, i16 17007, i16 15700, i16 12367, i16 0, i16 12400, i16 0, i16 0, i16 0, i16 12912, i16 0, i16 0, i16 0, i16 14192, i16 0, i16 0, i16 0, i16 16240, i16 15211, i16 0, i16 0, i16 16496, i16 0, i16 16462, i16 0, i16 12401, i16 0, i16 0, i16 0, i16 14193, i16 16914, i16 16725, i16 0, i16 15217, i16 0, i16 12511, i16 0, i16 16497, i16 0, i16 14251, i16 0, i16 12402, i16 0, i16 0, i16 0, i16 13682, i16 0, i16 15219, i16 0, i16 14962, i16 0, i16 16960, i16 0, i16 12659, i16 16333, i16 0, i16 0, i16 13683, i16 0, i16 0, i16 0, i16 13684, i16 0, i16 12944, i16 0, i16 16756, i16 16757, i16 12346, i16 0, i16 17012, i16 13397, i16 0, i16 0, i16 17013, i16 0, i16 0, i16 0, i16 13430, i16 0, i16 0, i16 0, i16 14454, i16 0, i16 0, i16 0, i16 15222, i16 0, i16 0, i16 0, i16 15990, i16 0, i16 12661, i16 0, i16 13943, i16 13179, i16 16645, i16 0, i16 14455, i16 0, i16 0, i16 0, i16 14967, i16 0, i16 0, i16 0, i16 17015, i16 0, i16 15677, i16 0, i16 12920, i16 0, i16 0, i16 0, i16 15736, i16 0, i16 14401, i16 0, i16 13433, i16 12583, i16 0, i16 0, i16 13945, i16 0, i16 0, i16 0, i16 17017, i16 0, i16 0, i16 0, i16 15226, i16 0, i16 0, i16 0, i16 15994, i16 16110, i16 0, i16 0, i16 16762, i16 0, i16 0, i16 0, i16 15739, i16 0, i16 0, i16 0, i16 16507, i16 0, i16 0, i16 0, i16 15740, i16 0, i16 0, i16 0, i16 13693, i16 0, i16 13630, i16 0, i16 13949, i16 0, i16 14130, i16 0, i16 14461, i16 0, i16 0, i16 0, i16 15741, i16 0, i16 0, i16 0, i16 382, i16 383, i16 384, i16 0, i16 12670, i16 0, i16 0, i16 0, i16 13694, i16 0, i16 0, i16 0, i16 14718, i16 0, i16 0, i16 0, i16 16254, i16 16540, i16 14067, i16 0, i16 17022, i16 0, i16 0, i16 0, i16 13951, i16 14569, i16 0, i16 0, i16 14719, i16 0, i16 0, i16 0, i16 14975, i16 0, i16 0, i16 0, i16 15999, i16 16395, i16 0, i16 0, i16 16255, i16 15970, i16 0, i16 0, i16 14464, i16 0, i16 0, i16 0, i16 16000, i16 0, i16 15654, i16 0, i16 16768, i16 0, i16 0, i16 0, i16 129, i16 130, i16 0, i16 0, i16 12417, i16 0, i16 0, i16 0, i16 14209, i16 0, i16 0, i16 0, i16 16257, i16 13839, i16 0, i16 0, i16 12418, i16 0, i16 0, i16 0, i16 13698, i16 0, i16 0, i16 0, i16 14722, i16 0, i16 0, i16 0, i16 16514, i16 0, i16 0, i16 0, i16 15236, i16 0, i16 12423, i16 0, i16 17028, i16 0, i16 14146, i16 0, i16 133, i16 0, i16 0, i16 0, i16 13957, i16 0, i16 0, i16 0, i16 14469, i16 0, i16 14664, i16 0, i16 15749, i16 15089, i16 0, i16 0, i16 16773, i16 0, i16 0, i16 0, i16 17029, i16 16890, i16 0, i16 0, i16 134, i16 0, i16 0, i16 0, i16 12422, i16 16944, i16 0, i16 0, i16 13702, i16 0, i16 0, i16 0, i16 14726, i16 12950, i16 15112, i16 0, i16 135, i16 0, i16 216, i16 0, i16 12935, i16 15489, i16 14213, i16 0, i16 13191, i16 13212, i16 14463, i16 0, i16 13959, i16 13804, i16 0, i16 0, i16 16007, i16 0, i16 16851, i16 0, i16 17031, i16 0, i16 15590, i16 0, i16 13192, i16 0, i16 14757, i16 0, i16 13448, i16 0, i16 0, i16 0, i16 14728, i16 0, i16 14610, i16 0, i16 16008, i16 0, i16 0, i16 0, i16 12681, i16 0, i16 0, i16 0, i16 15753, i16 0, i16 0, i16 0, i16 13194, i16 0, i16 14601, i16 0, i16 13706, i16 13328, i16 0, i16 0, i16 12683, i16 0, i16 0, i16 0, i16 16267, i16 13977, i16 0, i16 0, i16 16523, i16 0, i16 0, i16 0, i16 13196, i16 16505, i16 0, i16 0, i16 16268, i16 0, i16 0, i16 0, i16 15501, i16 0, i16 0, i16 0, i16 13966, i16 0, i16 14225, i16 0, i16 14222, i16 0, i16 15866, i16 0, i16 16782, i16 15483, i16 12909, i16 0, i16 14991, i16 0, i16 0, i16 0, i16 14224, i16 16057, i16 16615, i16 0, i16 14480, i16 0, i16 0, i16 0, i16 14736, i16 0, i16 16389, i16 0, i16 14992, i16 0, i16 12530, i16 0, i16 15760, i16 0, i16 15102, i16 0, i16 16528, i16 0, i16 12544, i16 0, i16 12689, i16 0, i16 0, i16 0, i16 14481, i16 0, i16 0, i16 0, i16 16017, i16 0, i16 16265, i16 0, i16 16273, i16 0, i16 0, i16 0, i16 17041, i16 12577, i16 0, i16 0, i16 13714, i16 0, i16 17088, i16 0, i16 13970, i16 0, i16 0, i16 0, i16 14994, i16 0, i16 0, i16 0, i16 13203, i16 0, i16 15248, i16 0, i16 13715, i16 0, i16 0, i16 0, i16 14227, i16 0, i16 14729, i16 0, i16 12436, i16 12560, i16 0, i16 0, i16 15508, i16 0, i16 0, i16 0, i16 16020, i16 13774, i16 13965, i16 0, i16 16788, i16 0, i16 13922, i16 0, i16 12949, i16 14112, i16 0, i16 0, i16 14485, i16 12372, i16 0, i16 0, i16 14997, i16 0, i16 0, i16 0, i16 15509, i16 17038, i16 0, i16 0, i16 15765, i16 0, i16 13172, i16 0, i16 16021, i16 0, i16 0, i16 0, i16 16533, i16 17065, i16 15937, i16 0, i16 14742, i16 0, i16 0, i16 0, i16 14998, i16 0, i16 0, i16 0, i16 16278, i16 12741, i16 0, i16 0, i16 16534, i16 0, i16 0, i16 0, i16 14487, i16 0, i16 0, i16 0, i16 16279, i16 0, i16 0, i16 0, i16 13720, i16 0, i16 14858, i16 0, i16 16280, i16 14376, i16 0, i16 0, i16 13721, i16 0, i16 13661, i16 0, i16 15769, i16 0, i16 0, i16 0, i16 16025, i16 0, i16 12517, i16 0, i16 13978, i16 0, i16 0, i16 0, i16 14234, i16 0, i16 0, i16 0, i16 14490, i16 0, i16 16578, i16 0, i16 13467, i16 0, i16 0, i16 0, i16 15259, i16 0, i16 0, i16 0, i16 13724, i16 13489, i16 0, i16 0, i16 14492, i16 0, i16 0, i16 0, i16 15260, i16 0, i16 0, i16 0, i16 12445, i16 0, i16 0, i16 0, i16 13981, i16 0, i16 0, i16 0, i16 14749, i16 0, i16 15349, i16 0, i16 16797, i16 14625, i16 0, i16 0, i16 14750, i16 0, i16 14516, i16 0, i16 15262, i16 0, i16 0, i16 0, i16 15774, i16 0, i16 0, i16 0, i16 16286, i16 13429, i16 14081, i16 0, i16 12703, i16 0, i16 0, i16 0, i16 12959, i16 0, i16 0, i16 0, i16 13471, i16 0, i16 0, i16 0, i16 16799, i16 0, i16 0, i16 0, i16 14240, i16 0, i16 0, i16 0, i16 15264, i16 0, i16 0, i16 0, i16 16288, i16 0, i16 0, i16 0, i16 12449, i16 0, i16 0, i16 0, i16 14754, i16 0, i16 0, i16 0, i16 16034, i16 0, i16 14965, i16 0, i16 13219, i16 0, i16 0, i16 0, i16 13475, i16 12802, i16 0, i16 0, i16 13987, i16 0, i16 0, i16 0, i16 14499, i16 0, i16 14961, i16 0, i16 14755, i16 0, i16 0, i16 0, i16 15011, i16 0, i16 0, i16 0, i16 16035, i16 0, i16 0, i16 0, i16 16803, i16 0, i16 14505, i16 0, i16 13988, i16 0, i16 0, i16 0, i16 15012, i16 0, i16 13477, i16 0, i16 15268, i16 0, i16 0, i16 0, i16 12453, i16 0, i16 0, i16 0, i16 14245, i16 0, i16 0, i16 0, i16 15270, i16 13548, i16 0, i16 0, i16 13223, i16 12676, i16 0, i16 0, i16 15015, i16 0, i16 14969, i16 0, i16 16039, i16 0, i16 0, i16 0, i16 16551, i16 0, i16 0, i16 0, i16 13992, i16 12922, i16 12751, i16 0, i16 14248, i16 0, i16 13984, i16 0, i16 15016, i16 0, i16 0, i16 0, i16 169, i16 347, i16 0, i16 0, i16 14761, i16 0, i16 0, i16 0, i16 16809, i16 0, i16 15476, i16 0, i16 12970, i16 0, i16 0, i16 0, i16 14506, i16 12454, i16 0, i16 0, i16 14762, i16 0, i16 0, i16 0, i16 15786, i16 16009, i16 0, i16 0, i16 14507, i16 0, i16 13835, i16 0, i16 16555, i16 14270, i16 15187, i16 0, i16 12716, i16 16963, i16 13886, i16 0, i16 13740, i16 0, i16 0, i16 0, i16 14252, i16 0, i16 13592, i16 0, i16 15532, i16 0, i16 0, i16 0, i16 173, i16 0, i16 0, i16 0, i16 12461, i16 0, i16 0, i16 0, i16 14510, i16 12978, i16 0, i16 0, i16 16814, i16 0, i16 0, i16 0, i16 12719, i16 15416, i16 0, i16 0, i16 13231, i16 0, i16 0, i16 0, i16 13487, i16 0, i16 0, i16 0, i16 16047, i16 0, i16 0, i16 0, i16 16303, i16 13486, i16 15435, i16 0, i16 12464, i16 0, i16 0, i16 0, i16 13232, i16 0, i16 14864, i16 0, i16 14000, i16 0, i16 0, i16 0, i16 15280, i16 0, i16 0, i16 0, i16 16304, i16 0, i16 0, i16 0, i16 17072, i16 0, i16 13786, i16 0, i16 13745, i16 0, i16 0, i16 0, i16 14001, i16 0, i16 16036, i16 0, i16 17073, i16 0, i16 0, i16 0, i16 12722, i16 0, i16 0, i16 0, i16 14002, i16 13056, i16 16377, i16 0, i16 16306, i16 0, i16 0, i16 0, i16 12467, i16 0, i16 0, i16 0, i16 12979, i16 15210, i16 0, i16 0, i16 13235, i16 16467, i16 0, i16 0, i16 14003, i16 0, i16 12539, i16 0, i16 14259, i16 0, i16 0, i16 0, i16 12468, i16 0, i16 0, i16 0, i16 13236, i16 0, i16 0, i16 0, i16 13748, i16 0, i16 0, i16 0, i16 14772, i16 0, i16 0, i16 0, i16 14261, i16 0, i16 16750, i16 0, i16 15797, i16 0, i16 15079, i16 0, i16 182, i16 181, i16 0, i16 0, i16 12982, i16 0, i16 0, i16 0, i16 16566, i16 14236, i16 12396, i16 0, i16 14007, i16 0, i16 14200, i16 0, i16 15287, i16 15298, i16 0, i16 0, i16 16311, i16 0, i16 0, i16 0, i16 17079, i16 0, i16 16957, i16 0, i16 14008, i16 0, i16 0, i16 0, i16 14264, i16 0, i16 0, i16 0, i16 15032, i16 0, i16 0, i16 0, i16 15800, i16 0, i16 12647, i16 0, i16 17080, i16 0, i16 0, i16 0, i16 14777, i16 0, i16 12653, i16 0, i16 12730, i16 13939, i16 0, i16 0, i16 13242, i16 0, i16 0, i16 0, i16 17082, i16 15463, i16 0, i16 0, i16 13243, i16 0, i16 0, i16 0, i16 13499, i16 0, i16 12619, i16 0, i16 15547, i16 0, i16 0, i16 0, i16 16059, i16 0, i16 0, i16 0, i16 16827, i16 0, i16 0, i16 0, i16 12732, i16 0, i16 0, i16 0, i16 14780, i16 0, i16 0, i16 0, i16 16060, i16 16222, i16 16477, i16 0, i16 14013, i16 0, i16 0, i16 0, i16 16829, i16 14875, i16 0, i16 0, i16 12478, i16 0, i16 13819, i16 0, i16 16318, i16 0, i16 0, i16 0, i16 17086, i16 16766, i16 0, i16 0, i16 959, i16 960, i16 961, i16 0, i16 12479, i16 17114, i16 0, i16 0, i16 16831, i16 0, i16 0, i16 0, i16 17087, i16 0, i16 14320, i16 0, i16 12736, i16 0, i16 0, i16 0, i16 14784, i16 0, i16 0, i16 0, i16 15296, i16 0, i16 0, i16 0, i16 14529, i16 15967, i16 0, i16 0, i16 14785, i16 0, i16 14535, i16 0, i16 16577, i16 0, i16 16787, i16 0, i16 14018, i16 0, i16 12889, i16 0, i16 15554, i16 16918, i16 14331, i16 0, i16 17090, i16 0, i16 0, i16 0, i16 13507, i16 0, i16 0, i16 0, i16 14787, i16 14334, i16 12388, i16 0, i16 15555, i16 13137, i16 0, i16 0, i16 16067, i16 0, i16 14279, i16 0, i16 16835, i16 0, i16 0, i16 0, i16 14276, i16 0, i16 0, i16 0, i16 14532, i16 0, i16 0, i16 0, i16 15812, i16 0, i16 0, i16 0, i16 16580, i16 0, i16 16561, i16 0, i16 17092, i16 13324, i16 0, i16 0, i16 12485, i16 0, i16 0, i16 0, i16 13509, i16 0, i16 0, i16 0, i16 16581, i16 0, i16 0, i16 0, i16 17093, i16 14943, i16 0, i16 0, i16 13766, i16 16326, i16 0, i16 0, i16 15302, i16 0, i16 0, i16 0, i16 12487, i16 16568, i16 0, i16 0, i16 15559, i16 0, i16 0, i16 0, i16 15815, i16 0, i16 13257, i16 0, i16 16327, i16 0, i16 0, i16 0, i16 16583, i16 0, i16 0, i16 0, i16 12488, i16 0, i16 0, i16 0, i16 12744, i16 0, i16 16842, i16 0, i16 14024, i16 17150, i16 0, i16 0, i16 15048, i16 0, i16 0, i16 0, i16 13769, i16 0, i16 0, i16 0, i16 14537, i16 0, i16 0, i16 0, i16 14538, i16 0, i16 0, i16 0, i16 16330, i16 0, i16 0, i16 0, i16 12491, i16 0, i16 0, i16 0, i16 12747, i16 0, i16 0, i16 0, i16 14283, i16 0, i16 0, i16 0, i16 15563, i16 15180, i16 0, i16 0, i16 16331, i16 0, i16 0, i16 0, i16 16587, i16 16365, i16 0, i16 0, i16 204, i16 160, i16 0, i16 0, i16 12492, i16 0, i16 0, i16 0, i16 12748, i16 12463, i16 14825, i16 0, i16 15564, i16 14603, i16 14662, i16 0, i16 16076, i16 16453, i16 0, i16 0, i16 12493, i16 13904, i16 0, i16 0, i16 14029, i16 0, i16 0, i16 0, i16 12750, i16 0, i16 13916, i16 0, i16 15054, i16 0, i16 0, i16 0, i16 16334, i16 0, i16 0, i16 0, i16 16846, i16 0, i16 0, i16 0, i16 15312, i16 16790, i16 14958, i16 0, i16 15824, i16 0, i16 0, i16 0, i16 12497, i16 0, i16 0, i16 0, i16 12498, i16 16586, i16 0, i16 0, i16 13266, i16 0, i16 0, i16 0, i16 16082, i16 0, i16 0, i16 0, i16 16338, i16 16898, i16 0, i16 0, i16 13267, i16 0, i16 0, i16 0, i16 15571, i16 0, i16 13048, i16 0, i16 16339, i16 0, i16 0, i16 0, i16 13268, i16 0, i16 16251, i16 0, i16 14548, i16 0, i16 13322, i16 0, i16 17108, i16 0, i16 0, i16 0, i16 13525, i16 0, i16 0, i16 0, i16 14549, i16 16208, i16 0, i16 0, i16 15061, i16 16355, i16 12754, i16 0, i16 16085, i16 0, i16 16086, i16 0, i16 16341, i16 0, i16 0, i16 0, i16 12758, i16 0, i16 0, i16 0, i16 13782, i16 13206, i16 0, i16 0, i16 14038, i16 0, i16 0, i16 0, i16 14294, i16 0, i16 0, i16 0, i16 13271, i16 15273, i16 0, i16 0, i16 14551, i16 0, i16 0, i16 0, i16 15063, i16 0, i16 0, i16 0, i16 15319, i16 15008, i16 0, i16 0, i16 16087, i16 0, i16 0, i16 0, i16 16855, i16 0, i16 0, i16 0, i16 17111, i16 0, i16 0, i16 0, i16 13528, i16 0, i16 0, i16 0, i16 15320, i16 13709, i16 0, i16 0, i16 15576, i16 0, i16 0, i16 0, i16 15832, i16 0, i16 0, i16 0, i16 17112, i16 0, i16 15491, i16 0, i16 15577, i16 15748, i16 0, i16 0, i16 16857, i16 0, i16 0, i16 0, i16 17113, i16 0, i16 0, i16 0, i16 12506, i16 0, i16 0, i16 0, i16 13530, i16 0, i16 16095, i16 0, i16 15834, i16 16856, i16 0, i16 0, i16 16090, i16 0, i16 15381, i16 0, i16 16346, i16 0, i16 0, i16 0, i16 16858, i16 0, i16 0, i16 0, i16 12507, i16 15526, i16 12403, i16 0, i16 16091, i16 0, i16 0, i16 0, i16 16347, i16 14430, i16 0, i16 0, i16 14044, i16 0, i16 0, i16 0, i16 14556, i16 0, i16 13251, i16 0, i16 12765, i16 0, i16 0, i16 0, i16 17117, i16 0, i16 0, i16 0, i16 14302, i16 0, i16 0, i16 0, i16 16094, i16 0, i16 12956, i16 0, i16 12767, i16 0, i16 0, i16 0, i16 15583, i16 0, i16 14655, i16 0, i16 14304, i16 15497, i16 0, i16 0, i16 14560, i16 0, i16 0, i16 0, i16 15840, i16 0, i16 16260, i16 0, i16 13281, i16 0, i16 0, i16 0, i16 14049, i16 0, i16 0, i16 0, i16 16097, i16 0, i16 12370, i16 0, i16 15074, i16 0, i16 0, i16 0, i16 15330, i16 15690, i16 15960, i16 0, i16 16866, i16 0, i16 0, i16 0, i16 227, i16 0, i16 0, i16 0, i16 12515, i16 0, i16 13876, i16 0, i16 14563, i16 0, i16 0, i16 0, i16 16611, i16 0, i16 0, i16 0, i16 12516, i16 0, i16 0, i16 0, i16 13284, i16 0, i16 0, i16 0, i16 13540, i16 0, i16 0, i16 0, i16 13796, i16 0, i16 0, i16 0, i16 14308, i16 0, i16 0, i16 0, i16 14309, i16 0, i16 0, i16 0, i16 14565, i16 0, i16 16525, i16 0, i16 16101, i16 14818, i16 0, i16 0, i16 16357, i16 14010, i16 0, i16 0, i16 14566, i16 0, i16 0, i16 0, i16 15334, i16 0, i16 0, i16 0, i16 16102, i16 16942, i16 15214, i16 0, i16 15847, i16 0, i16 0, i16 0, i16 16359, i16 15252, i16 0, i16 0, i16 232, i16 0, i16 0, i16 0, i16 15336, i16 0, i16 15165, i16 0, i16 16361, i16 15730, i16 0, i16 0, i16 14058, i16 0, i16 0, i16 0, i16 14314, i16 0, i16 0, i16 0, i16 15082, i16 12921, i16 14023, i16 0, i16 12779, i16 0, i16 0, i16 0, i16 13035, i16 0, i16 0, i16 0, i16 15083, i16 16001, i16 0, i16 0, i16 15595, i16 0, i16 0, i16 0, i16 16107, i16 0, i16 14187, i16 0, i16 16363, i16 0, i16 0, i16 0, i16 236, i16 0, i16 0, i16 0, i16 15596, i16 0, i16 0, i16 0, i16 16876, i16 0, i16 0, i16 0, i16 14061, i16 0, i16 0, i16 0, i16 14829, i16 14436, i16 16437, i16 0, i16 16621, i16 15846, i16 0, i16 0, i16 17133, i16 0, i16 0, i16 0, i16 12782, i16 0, i16 0, i16 0, i16 14318, i16 0, i16 14389, i16 0, i16 15598, i16 12969, i16 0, i16 0, i16 239, i16 0, i16 0, i16 0, i16 13295, i16 0, i16 0, i16 0, i16 496, i16 497, i16 498, i16 0, i16 12784, i16 0, i16 14922, i16 0, i16 16624, i16 0, i16 0, i16 0, i16 16880, i16 16428, i16 16881, i16 0, i16 14322, i16 15067, i16 0, i16 0, i16 14578, i16 0, i16 0, i16 0, i16 15602, i16 0, i16 0, i16 0, i16 12531, i16 0, i16 0, i16 0, i16 13299, i16 14574, i16 0, i16 0, i16 15859, i16 12469, i16 0, i16 0, i16 17139, i16 0, i16 0, i16 0, i16 12532, i16 0, i16 0, i16 0, i16 14836, i16 0, i16 0, i16 0, i16 13301, i16 0, i16 0, i16 0, i16 13557, i16 13244, i16 16772, i16 0, i16 12534, i16 0, i16 13973, i16 0, i16 13814, i16 13690, i16 0, i16 0, i16 14070, i16 0, i16 0, i16 0, i16 15862, i16 0, i16 0, i16 0, i16 16118, i16 0, i16 0, i16 0, i16 13303, i16 0, i16 0, i16 0, i16 13559, i16 14258, i16 0, i16 0, i16 14327, i16 14477, i16 0, i16 0, i16 16119, i16 0, i16 13937, i16 0, i16 16887, i16 0, i16 0, i16 0, i16 17143, i16 12677, i16 0, i16 0, i16 14840, i16 12604, i16 15706, i16 0, i16 14329, i16 0, i16 15728, i16 0, i16 16633, i16 0, i16 15151, i16 0, i16 13818, i16 16626, i16 15466, i16 0, i16 14330, i16 0, i16 0, i16 0, i16 16634, i16 12664, i16 0, i16 0, i16 251, i16 0, i16 0, i16 0, i16 13307, i16 0, i16 12887, i16 0, i16 16123, i16 0, i16 0, i16 0, i16 16379, i16 0, i16 0, i16 0, i16 16635, i16 0, i16 0, i16 0, i16 17147, i16 16591, i16 0, i16 0, i16 12796, i16 0, i16 0, i16 0, i16 14844, i16 0, i16 0, i16 0, i16 15356, i16 0, i16 0, i16 0, i16 15868, i16 0, i16 0, i16 0, i16 16636, i16 0, i16 0, i16 0, i16 16892, i16 13247, i16 0, i16 0, i16 12797, i16 0, i16 0, i16 0, i16 15613, i16 14079, i16 0, i16 0, i16 12286, i16 0, i16 13968, i16 0, i16 14078, i16 0, i16 0, i16 0, i16 14590, i16 13127, i16 0, i16 0, i16 15614, i16 13555, i16 13688, i16 0, i16 15870, i16 0, i16 0, i16 0, i16 16126, i16 0, i16 0, i16 0, i16 16382, i16 0, i16 0, i16 0, i16 12543, i16 0, i16 13728, i16 0, i16 13823, i16 0, i16 13674, i16 0, i16 15615, i16 12820, i16 0, i16 15104, i16 0, i16 0, i16 0, i16 15616, i16 13933, i16 15995, i16 0, i16 16128, i16 0, i16 0, i16 12308, i16 16640, i16 0, i16 0, i16 16054, i16 17152, i16 12348, i16 0, i16 0, i16 257, i16 258, i16 261, i16 260, i16 12801, i16 0, i16 0, i16 0, i16 13569, i16 16879, i16 0, i16 0, i16 14849, i16 0, i16 0, i16 0, i16 15617, i16 14776, i16 0, i16 0, i16 15873, i16 0, i16 14896, i16 0, i16 16385, i16 0, i16 0, i16 0, i16 514, i16 515, i16 516, i16 517, i16 770, i16 771, i16 772, i16 0, i16 1026, i16 1027, i16 1028, i16 1029, i16 13058, i16 12645, i16 0, i16 14683, i16 15874, i16 0, i16 0, i16 12460, i16 16386, i16 0, i16 0, i16 0, i16 259, i16 262, i16 0, i16 0, i16 12803, i16 0, i16 0, i16 0, i16 13059, i16 13351, i16 0, i16 0, i16 14083, i16 14084, i16 0, i16 0, i16 15107, i16 0, i16 0, i16 0, i16 16387, i16 0, i16 15688, i16 0, i16 16643, i16 0, i16 0, i16 0, i16 17155, i16 0, i16 16783, i16 0, i16 13828, i16 0, i16 0, i16 0, i16 15108, i16 12610, i16 14517, i16 0, i16 15364, i16 15365, i16 12936, i16 0, i16 15876, i16 0, i16 0, i16 0, i16 12805, i16 13691, i16 0, i16 0, i16 14853, i16 0, i16 0, i16 0, i16 15621, i16 0, i16 0, i16 0, i16 16901, i16 0, i16 0, i16 16677, i16 17157, i16 0, i16 0, i16 0, i16 518, i16 519, i16 0, i16 0, i16 1030, i16 1031, i16 1032, i16 1033, i16 13574, i16 0, i16 0, i16 0, i16 13830, i16 0, i16 0, i16 0, i16 14086, i16 0, i16 0, i16 0, i16 14342, i16 15893, i16 15892, i16 0, i16 7, i16 8, i16 9, i16 10, i16 263, i16 277, i16 278, i16 0, i16 775, i16 0, i16 0, i16 0, i16 12807, i16 0, i16 0, i16 0, i16 13319, i16 0, i16 0, i16 0, i16 13831, i16 0, i16 0, i16 0, i16 14855, i16 0, i16 0, i16 0, i16 15367, i16 0, i16 0, i16 17002, i16 15879, i16 14820, i16 14767, i16 0, i16 17159, i16 17158, i16 16518, i16 0, i16 776, i16 773, i16 777, i16 233, i16 12552, i16 16573, i16 0, i16 14188, i16 12808, i16 0, i16 0, i16 0, i16 13576, i16 12432, i16 0, i16 0, i16 16904, i16 0, i16 0, i16 0, i16 13065, i16 0, i16 0, i16 0, i16 13321, i16 13327, i16 13330, i16 13434, i16 14345, i16 13568, i16 0, i16 0, i16 15113, i16 14228, i16 0, i16 0, i16 15369, i16 15370, i16 0, i16 0, i16 16393, i16 13771, i16 0, i16 0, i16 266, i16 0, i16 267, i16 0, i16 1034, i16 1035, i16 1036, i16 1037, i16 12298, i16 0, i16 16519, i16 0, i16 12554, i16 0, i16 0, i16 0, i16 14090, i16 15681, i16 12652, i16 0, i16 11, i16 12, i16 13, i16 14, i16 523, i16 524, i16 525, i16 526, i16 779, i16 780, i16 781, i16 0, i16 15371, i16 0, i16 12852, i16 0, i16 15627, i16 0, i16 0, i16 0, i16 16907, i16 14760, i16 0, i16 0, i16 12812, i16 0, i16 13177, i16 0, i16 13068, i16 13069, i16 13070, i16 13072, i16 13580, i16 16024, i16 14835, i16 13381, i16 14604, i16 15275, i16 0, i16 0, i16 15372, i16 12415, i16 0, i16 12648, i16 269, i16 270, i16 0, i16 0, i16 12301, i16 12570, i16 0, i16 12599, i16 12813, i16 0, i16 0, i16 15111, i16 13581, i16 12989, i16 0, i16 0, i16 13837, i16 0, i16 16492, i16 0, i16 14093, i16 0, i16 0, i16 12975, i16 14861, i16 0, i16 15592, i16 0, i16 16141, i16 0, i16 0, i16 0, i16 16653, i16 0, i16 0, i16 0, i16 1038, i16 1039, i16 1040, i16 1041, i16 12814, i16 0, i16 0, i16 12706, i16 13838, i16 14545, i16 16980, i16 0, i16 15374, i16 15377, i16 15382, i16 15384, i16 15630, i16 0, i16 0, i16 0, i16 15886, i16 15536, i16 0, i16 14123, i16 16142, i16 14132, i16 14450, i16 0, i16 15, i16 16, i16 17, i16 18, i16 527, i16 528, i16 529, i16 530, i16 12303, i16 13730, i16 0, i16 0, i16 14095, i16 0, i16 0, i16 0, i16 15375, i16 0, i16 0, i16 0, i16 15631, i16 14274, i16 14286, i16 16727, i16 16143, i16 0, i16 0, i16 12638, i16 16399, i16 0, i16 14372, i16 0, i16 784, i16 0, i16 0, i16 0, i16 13840, i16 0, i16 12299, i16 0, i16 14096, i16 16478, i16 0, i16 0, i16 17168, i16 0, i16 0, i16 0, i16 12305, i16 0, i16 0, i16 13199, i16 12561, i16 0, i16 0, i16 0, i16 13073, i16 13074, i16 13075, i16 13076, i16 14097, i16 0, i16 0, i16 0, i16 14865, i16 0, i16 0, i16 0, i16 15633, i16 12694, i16 0, i16 12377, i16 16401, i16 0, i16 12835, i16 0, i16 1042, i16 1043, i16 1044, i16 0, i16 13586, i16 0, i16 14476, i16 0, i16 13842, i16 12965, i16 0, i16 14265, i16 14098, i16 0, i16 0, i16 0, i16 15122, i16 15419, i16 0, i16 15300, i16 15634, i16 13210, i16 0, i16 0, i16 16402, i16 0, i16 0, i16 12309, i16 17170, i16 16987, i16 16811, i16 14313, i16 19, i16 20, i16 21, i16 0, i16 275, i16 273, i16 0, i16 0, i16 531, i16 532, i16 533, i16 534, i16 12307, i16 0, i16 15734, i16 0, i16 13587, i16 0, i16 0, i16 0, i16 16403, i16 12791, i16 0, i16 0, i16 788, i16 0, i16 0, i16 0, i16 12564, i16 12629, i16 0, i16 14470, i16 14868, i16 14870, i16 14874, i16 14910, i16 16916, i16 13696, i16 0, i16 0, i16 789, i16 697, i16 790, i16 0, i16 1045, i16 1046, i16 1047, i16 1048, i16 12565, i16 0, i16 0, i16 0, i16 12821, i16 0, i16 0, i16 0, i16 13077, i16 13079, i16 13080, i16 13081, i16 13333, i16 0, i16 0, i16 0, i16 14357, i16 0, i16 0, i16 0, i16 14613, i16 13502, i16 0, i16 0, i16 14869, i16 0, i16 0, i16 0, i16 15637, i16 14361, i16 14107, i16 0, i16 22, i16 0, i16 23, i16 24, i16 16150, i16 14012, i16 13767, i16 0, i16 279, i16 276, i16 0, i16 0, i16 535, i16 536, i16 0, i16 537, i16 791, i16 0, i16 0, i16 0, i16 12567, i16 0, i16 0, i16 15172, i16 12823, i16 16179, i16 15581, i16 12312, i16 13847, i16 0, i16 0, i16 13811, i16 14359, i16 0, i16 0, i16 0, i16 14615, i16 0, i16 0, i16 14235, i16 15127, i16 0, i16 15766, i16 0, i16 15383, i16 0, i16 13753, i16 0, i16 12568, i16 0, i16 0, i16 13306, i16 12824, i16 0, i16 15607, i16 12864, i16 14104, i16 0, i16 0, i16 0, i16 14872, i16 0, i16 0, i16 0, i16 15640, i16 0, i16 0, i16 14139, i16 25, i16 26, i16 27, i16 28, i16 281, i16 0, i16 0, i16 0, i16 1049, i16 1050, i16 1052, i16 1053, i16 12313, i16 13332, i16 0, i16 12825, i16 14617, i16 0, i16 13773, i16 15987, i16 16409, i16 0, i16 15799, i16 0, i16 538, i16 539, i16 540, i16 541, i16 12314, i16 0, i16 0, i16 0, i16 12826, i16 0, i16 0, i16 12800, i16 13082, i16 13083, i16 13084, i16 13085, i16 14106, i16 16843, i16 0, i16 16575, i16 14618, i16 0, i16 0, i16 0, i16 15642, i16 0, i16 0, i16 0, i16 13339, i16 15747, i16 0, i16 0, i16 13851, i16 0, i16 13432, i16 0, i16 14363, i16 0, i16 0, i16 15368, i16 14619, i16 0, i16 0, i16 0, i16 15131, i16 0, i16 0, i16 16830, i16 16411, i16 0, i16 0, i16 0, i16 16923, i16 14142, i16 0, i16 14540, i16 12316, i16 0, i16 0, i16 16908, i16 13596, i16 0, i16 15599, i16 0, i16 14364, i16 17134, i16 0, i16 0, i16 14876, i16 0, i16 0, i16 0, i16 15388, i16 15391, i16 15393, i16 15394, i16 29, i16 30, i16 31, i16 32, i16 12317, i16 0, i16 0, i16 15758, i16 12573, i16 0, i16 0, i16 0, i16 13341, i16 0, i16 0, i16 0, i16 14109, i16 0, i16 0, i16 13273, i16 15389, i16 0, i16 14346, i16 14634, i16 286, i16 0, i16 0, i16 679, i16 542, i16 543, i16 0, i16 0, i16 798, i16 799, i16 800, i16 801, i16 1054, i16 1055, i16 1056, i16 1057, i16 12574, i16 0, i16 14714, i16 0, i16 13086, i16 13087, i16 13088, i16 13089, i16 13598, i16 0, i16 0, i16 0, i16 14366, i16 0, i16 0, i16 13288, i16 14622, i16 0, i16 0, i16 13168, i16 14878, i16 14663, i16 0, i16 0, i16 13343, i16 0, i16 0, i16 16050, i16 13855, i16 13834, i16 0, i16 12997, i16 14111, i16 12898, i16 0, i16 14936, i16 14367, i16 0, i16 0, i16 0, i16 15647, i16 0, i16 0, i16 0, i16 16159, i16 0, i16 0, i16 0, i16 544, i16 555, i16 545, i16 556, i16 13600, i16 0, i16 0, i16 0, i16 13856, i16 16531, i16 0, i16 0, i16 14880, i16 0, i16 0, i16 0, i16 16160, i16 0, i16 0, i16 0, i16 16416, i16 0, i16 13817, i16 0, i16 33, i16 34, i16 35, i16 36, i16 13857, i16 0, i16 0, i16 0, i16 546, i16 583, i16 582, i16 557, i16 802, i16 803, i16 804, i16 805, i16 1058, i16 1059, i16 1060, i16 1061, i16 12578, i16 0, i16 0, i16 0, i16 12834, i16 16537, i16 13775, i16 0, i16 14626, i16 0, i16 0, i16 0, i16 15138, i16 0, i16 0, i16 0, i16 16930, i16 0, i16 0, i16 0, i16 291, i16 292, i16 293, i16 294, i16 547, i16 577, i16 576, i16 558, i16 12579, i16 12755, i16 0, i16 0, i16 13091, i16 13092, i16 13096, i16 13097, i16 13347, i16 0, i16 0, i16 0, i16 14627, i16 14539, i16 15436, i16 0, i16 15651, i16 0, i16 15105, i16 0, i16 16931, i16 0, i16 0, i16 12335, i16 548, i16 579, i16 578, i16 559, i16 15908, i16 0, i16 0, i16 0, i16 16164, i16 0, i16 13836, i16 0, i16 16932, i16 15385, i16 0, i16 0, i16 37, i16 38, i16 39, i16 40, i16 549, i16 581, i16 580, i16 560, i16 13349, i16 0, i16 0, i16 0, i16 13605, i16 0, i16 0, i16 0, i16 13861, i16 0, i16 14594, i16 15626, i16 14629, i16 0, i16 12476, i16 0, i16 14885, i16 0, i16 0, i16 0, i16 15141, i16 0, i16 0, i16 12717, i16 15397, i16 0, i16 0, i16 0, i16 15653, i16 0, i16 0, i16 16014, i16 550, i16 571, i16 584, i16 585, i16 806, i16 807, i16 808, i16 809, i16 1062, i16 1063, i16 1064, i16 1065, i16 12326, i16 0, i16 0, i16 0, i16 13606, i16 0, i16 0, i16 0, i16 14118, i16 16596, i16 15068, i16 14731, i16 14886, i16 0, i16 12514, i16 0, i16 16422, i16 0, i16 14654, i16 0, i16 295, i16 296, i16 297, i16 298, i16 551, i16 592, i16 593, i16 567, i16 12839, i16 0, i16 0, i16 0, i16 13607, i16 14883, i16 16707, i16 0, i16 13863, i16 0, i16 0, i16 0, i16 15399, i16 0, i16 0, i16 0, i16 15655, i16 14031, i16 14395, i16 0, i16 16167, i16 0, i16 15903, i16 0, i16 16935, i16 0, i16 0, i16 0, i16 552, i16 573, i16 588, i16 589, i16 13352, i16 0, i16 0, i16 0, i16 13608, i16 0, i16 0, i16 0, i16 14120, i16 0, i16 15293, i16 0, i16 15144, i16 0, i16 0, i16 0, i16 15912, i16 12541, i16 13870, i16 0, i16 41, i16 42, i16 43, i16 44, i16 553, i16 596, i16 597, i16 569, i16 12585, i16 0, i16 0, i16 0, i16 12841, i16 12810, i16 0, i16 0, i16 13865, i16 0, i16 0, i16 13462, i16 14377, i16 12693, i16 0, i16 12872, i16 15913, i16 0, i16 0, i16 0, i16 16169, i16 12857, i16 0, i16 13290, i16 554, i16 600, i16 601, i16 570, i16 810, i16 811, i16 812, i16 813, i16 1066, i16 1067, i16 1068, i16 1069, i16 13866, i16 0, i16 14612, i16 0, i16 14378, i16 0, i16 16272, i16 13312, i16 15402, i16 0, i16 0, i16 0, i16 16426, i16 14161, i16 0, i16 0, i16 16682, i16 0, i16 0, i16 0, i16 16938, i16 0, i16 16694, i16 16603, i16 299, i16 300, i16 301, i16 302, i16 12331, i16 0, i16 0, i16 0, i16 13099, i16 13100, i16 13102, i16 13103, i16 13867, i16 0, i16 0, i16 0, i16 15659, i16 0, i16 0, i16 14841, i16 13612, i16 0, i16 16751, i16 13410, i16 14636, i16 0, i16 0, i16 0, i16 14892, i16 14009, i16 0, i16 0, i16 15148, i16 0, i16 15943, i16 12679, i16 15916, i16 0, i16 0, i16 0, i16 16940, i16 16394, i16 14706, i16 0, i16 45, i16 46, i16 47, i16 48, i16 12333, i16 0, i16 0, i16 12297, i16 12845, i16 0, i16 0, i16 14223, i16 13357, i16 16618, i16 0, i16 0, i16 13613, i16 14635, i16 0, i16 0, i16 13869, i16 0, i16 0, i16 0, i16 15661, i16 0, i16 0, i16 0, i16 15917, i16 16642, i16 0, i16 0, i16 16173, i16 0, i16 0, i16 13254, i16 814, i16 815, i16 816, i16 817, i16 1070, i16 1071, i16 1072, i16 1073, i16 12846, i16 0, i16 16637, i16 13664, i16 303, i16 304, i16 305, i16 306, i16 12847, i16 0, i16 0, i16 0, i16 13615, i16 0, i16 13985, i16 0, i16 13871, i16 0, i16 0, i16 0, i16 14895, i16 0, i16 15844, i16 14089, i16 12592, i16 0, i16 16205, i16 0, i16 13104, i16 13105, i16 13106, i16 13107, i16 13872, i16 0, i16 0, i16 0, i16 15152, i16 0, i16 12319, i16 12545, i16 49, i16 50, i16 51, i16 52, i16 13873, i16 0, i16 0, i16 0, i16 14129, i16 0, i16 0, i16 0, i16 14897, i16 0, i16 0, i16 0, i16 15665, i16 0, i16 16344, i16 16912, i16 15921, i16 16016, i16 14055, i16 13417, i16 16177, i16 0, i16 0, i16 14753, i16 818, i16 819, i16 820, i16 821, i16 1074, i16 1075, i16 1076, i16 1077, i16 15410, i16 15411, i16 15413, i16 15417, i16 16178, i16 14405, i16 0, i16 0, i16 16434, i16 15807, i16 15243, i16 0, i16 307, i16 308, i16 309, i16 310, i16 12339, i16 0, i16 0, i16 15839, i16 14131, i16 0, i16 0, i16 0, i16 14387, i16 0, i16 0, i16 0, i16 14643, i16 15448, i16 0, i16 0, i16 15155, i16 0, i16 0, i16 0, i16 15667, i16 0, i16 0, i16 0, i16 16435, i16 0, i16 0, i16 12749, i16 12596, i16 0, i16 0, i16 0, i16 13108, i16 13109, i16 13114, i16 13115, i16 13364, i16 14877, i16 0, i16 0, i16 14900, i16 0, i16 0, i16 0, i16 16436, i16 0, i16 0, i16 0, i16 53, i16 54, i16 55, i16 56, i16 12597, i16 0, i16 0, i16 16939, i16 13877, i16 0, i16 16491, i16 15185, i16 14901, i16 0, i16 0, i16 0, i16 16949, i16 0, i16 15802, i16 0, i16 566, i16 586, i16 587, i16 561, i16 822, i16 823, i16 824, i16 825, i16 1078, i16 1079, i16 1080, i16 1081, i16 14390, i16 0, i16 0, i16 0, i16 14902, i16 0, i16 0, i16 12930, i16 15158, i16 0, i16 12620, i16 15062, i16 15670, i16 0, i16 0, i16 0, i16 16438, i16 15340, i16 0, i16 16791, i16 311, i16 312, i16 313, i16 314, i16 13367, i16 16221, i16 16526, i16 0, i16 13879, i16 14764, i16 15132, i16 0, i16 15159, i16 15814, i16 0, i16 0, i16 15671, i16 0, i16 0, i16 16804, i16 16439, i16 13563, i16 0, i16 0, i16 16695, i16 0, i16 0, i16 0, i16 568, i16 590, i16 591, i16 563, i16 12600, i16 0, i16 0, i16 0, i16 13624, i16 0, i16 16032, i16 16310, i16 16440, i16 0, i16 12692, i16 13449, i16 16696, i16 0, i16 0, i16 14281, i16 16952, i16 16111, i16 0, i16 0, i16 57, i16 58, i16 59, i16 60, i16 13113, i16 0, i16 0, i16 0, i16 13881, i16 13940, i16 13941, i16 0, i16 15673, i16 16353, i16 0, i16 16691, i16 16441, i16 0, i16 12822, i16 15936, i16 16953, i16 16871, i16 15856, i16 12551, i16 826, i16 827, i16 828, i16 829, i16 1082, i16 1083, i16 1085, i16 1086, i16 14394, i16 15473, i16 0, i16 0, i16 15418, i16 15422, i16 15423, i16 15428, i16 16442, i16 0, i16 0, i16 0, i16 315, i16 316, i16 317, i16 318, i16 15931, i16 0, i16 14069, i16 0, i16 16187, i16 16188, i16 0, i16 0, i16 16699, i16 0, i16 0, i16 16698, i16 572, i16 594, i16 595, i16 562, i16 13116, i16 13117, i16 13118, i16 13119, i16 14908, i16 0, i16 0, i16 14194, i16 61, i16 62, i16 63, i16 64, i16 13629, i16 0, i16 0, i16 0, i16 574, i16 598, i16 599, i16 564, i16 830, i16 831, i16 832, i16 833, i16 12350, i16 0, i16 15031, i16 0, i16 12606, i16 13556, i16 14165, i16 0, i16 16190, i16 0, i16 0, i16 14219, i16 16446, i16 0, i16 0, i16 12529, i16 319, i16 320, i16 321, i16 322, i16 1087, i16 1088, i16 1089, i16 1090, i16 12863, i16 0, i16 0, i16 0, i16 14399, i16 0, i16 0, i16 15204, i16 14911, i16 14912, i16 14914, i16 14915, i16 14144, i16 13858, i16 0, i16 0, i16 14656, i16 0, i16 0, i16 0, i16 15424, i16 0, i16 0, i16 0, i16 16448, i16 14368, i16 17076, i16 12951, i16 65, i16 66, i16 67, i16 68, i16 12609, i16 0, i16 0, i16 0, i16 13121, i16 13122, i16 13292, i16 13314, i16 14657, i16 15421, i16 16239, i16 12586, i16 15169, i16 0, i16 0, i16 16147, i16 834, i16 835, i16 836, i16 837, i16 12354, i16 0, i16 16676, i16 14020, i16 13890, i16 0, i16 0, i16 0, i16 14402, i16 0, i16 15406, i16 0, i16 15426, i16 14351, i16 0, i16 0, i16 16450, i16 17137, i16 0, i16 0, i16 16706, i16 0, i16 0, i16 0, i16 323, i16 324, i16 325, i16 326, i16 1091, i16 1092, i16 1093, i16 1094, i16 12867, i16 0, i16 0, i16 0, i16 13123, i16 0, i16 13799, i16 13101, i16 13635, i16 0, i16 0, i16 0, i16 13891, i16 0, i16 0, i16 0, i16 14147, i16 0, i16 14148, i16 14149, i16 15939, i16 0, i16 14140, i16 13205, i16 16451, i16 0, i16 0, i16 0, i16 12356, i16 0, i16 0, i16 12804, i16 12612, i16 0, i16 0, i16 0, i16 12868, i16 0, i16 0, i16 0, i16 16708, i16 0, i16 0, i16 14124, i16 69, i16 70, i16 71, i16 72, i16 12357, i16 13758, i16 0, i16 17094, i16 838, i16 839, i16 840, i16 841, i16 12870, i16 12894, i16 12907, i16 12992, i16 14150, i16 0, i16 0, i16 13722, i16 14918, i16 14921, i16 14927, i16 14929, i16 16198, i16 0, i16 0, i16 0, i16 327, i16 328, i16 329, i16 330, i16 1095, i16 1096, i16 1097, i16 1098, i16 12871, i16 13304, i16 0, i16 0, i16 14151, i16 15380, i16 0, i16 16447, i16 14407, i16 0, i16 0, i16 0, i16 15431, i16 15432, i16 15433, i16 15434, i16 16199, i16 0, i16 16646, i16 12696, i16 16967, i16 0, i16 0, i16 0, i16 12360, i16 0, i16 0, i16 0, i16 12616, i16 0, i16 0, i16 0, i16 14152, i16 14254, i16 14256, i16 14275, i16 16200, i16 15023, i16 0, i16 0, i16 16968, i16 0, i16 0, i16 15490, i16 73, i16 74, i16 75, i16 76, i16 14409, i16 16493, i16 0, i16 12457, i16 16201, i16 0, i16 0, i16 12412, i16 842, i16 843, i16 844, i16 845, i16 13386, i16 0, i16 0, i16 0, i16 14410, i16 0, i16 0, i16 0, i16 15946, i16 0, i16 0, i16 0, i16 16458, i16 0, i16 0, i16 0, i16 331, i16 332, i16 333, i16 334, i16 1099, i16 1100, i16 1101, i16 1102, i16 13643, i16 0, i16 0, i16 0, i16 14667, i16 16229, i16 14220, i16 0, i16 16203, i16 0, i16 13697, i16 16959, i16 12876, i16 0, i16 14128, i16 0, i16 13644, i16 13645, i16 0, i16 0, i16 13900, i16 0, i16 0, i16 0, i16 14668, i16 15935, i16 0, i16 0, i16 15692, i16 0, i16 0, i16 0, i16 16460, i16 17118, i16 13652, i16 16277, i16 16716, i16 0, i16 0, i16 0, i16 16972, i16 13323, i16 0, i16 0, i16 77, i16 78, i16 79, i16 80, i16 13133, i16 0, i16 0, i16 0, i16 14413, i16 14238, i16 0, i16 0, i16 15437, i16 13403, i16 15831, i16 14474, i16 15693, i16 12584, i16 0, i16 14433, i16 846, i16 847, i16 848, i16 849, i16 12366, i16 0, i16 0, i16 0, i16 12622, i16 0, i16 0, i16 0, i16 14158, i16 0, i16 0, i16 0, i16 15182, i16 15183, i16 15189, i16 15191, i16 15438, i16 0, i16 15541, i16 0, i16 16718, i16 0, i16 0, i16 0, i16 335, i16 336, i16 337, i16 338, i16 1103, i16 1104, i16 1105, i16 1106, i16 16207, i16 13692, i16 0, i16 0, i16 16719, i16 16092, i16 0, i16 12318, i16 16975, i16 0, i16 16560, i16 0, i16 12368, i16 0, i16 14730, i16 16284, i16 12624, i16 13779, i16 0, i16 0, i16 12880, i16 0, i16 0, i16 0, i16 13648, i16 16754, i16 0, i16 0, i16 14672, i16 0, i16 0, i16 0, i16 14928, i16 0, i16 0, i16 0, i16 15440, i16 15484, i16 15485, i16 15488, i16 15952, i16 0, i16 0, i16 0, i16 81, i16 82, i16 83, i16 84, i16 12625, i16 0, i16 0, i16 0, i16 12881, i16 0, i16 0, i16 0, i16 13393, i16 15069, i16 0, i16 0, i16 13905, i16 0, i16 0, i16 0, i16 15441, i16 0, i16 12759, i16 15305, i16 15953, i16 15242, i16 0, i16 0, i16 850, i16 851, i16 0, i16 0, i16 12626, i16 0, i16 16516, i16 0, i16 13138, i16 0, i16 0, i16 0, i16 14930, i16 14931, i16 14933, i16 14937, i16 15954, i16 12429, i16 0, i16 0, i16 16978, i16 0, i16 12756, i16 0, i16 339, i16 340, i16 341, i16 342, i16 1107, i16 1108, i16 1109, i16 1110, i16 12371, i16 0, i16 0, i16 13280, i16 12883, i16 16244, i16 0, i16 14076, i16 852, i16 853, i16 854, i16 855, i16 85, i16 86, i16 87, i16 88, i16 13909, i16 0, i16 0, i16 0, i16 15190, i16 16683, i16 0, i16 0, i16 15446, i16 0, i16 0, i16 16364, i16 16726, i16 0, i16 15405, i16 0, i16 343, i16 344, i16 345, i16 346, i16 14167, i16 0, i16 0, i16 0, i16 16215, i16 0, i16 0, i16 16946, i16 856, i16 857, i16 858, i16 859, i16 12632, i16 0, i16 12954, i16 14051, i16 14680, i16 0, i16 0, i16 16133, i16 15192, i16 0, i16 0, i16 12731, i16 15704, i16 0, i16 0, i16 0, i16 13657, i16 0, i16 16746, i16 15249, i16 14169, i16 0, i16 0, i16 14941, i16 14681, i16 0, i16 0, i16 13062, i16 15193, i16 15196, i16 15203, i16 15208, i16 16217, i16 0, i16 0, i16 0, i16 602, i16 603, i16 575, i16 604, i16 12378, i16 0, i16 0, i16 0, i16 12634, i16 0, i16 0, i16 0, i16 13914, i16 0, i16 0, i16 0, i16 14938, i16 14942, i16 14950, i16 14952, i16 16218, i16 0, i16 15720, i16 15308, i16 16474, i16 0, i16 0, i16 0, i16 12635, i16 0, i16 15162, i16 0, i16 15195, i16 15117, i16 0, i16 0, i16 16219, i16 14723, i16 0, i16 14210, i16 16475, i16 16878, i16 0, i16 0, i16 16731, i16 13425, i16 13354, i16 0, i16 860, i16 861, i16 862, i16 863, i16 12636, i16 12671, i16 12843, i16 12848, i16 15452, i16 0, i16 0, i16 16113, i16 15964, i16 0, i16 0, i16 0, i16 16732, i16 15276, i16 0, i16 0, i16 93, i16 94, i16 95, i16 96, i16 605, i16 606, i16 607, i16 608, i16 12381, i16 0, i16 0, i16 0, i16 12637, i16 0, i16 0, i16 0, i16 15197, i16 0, i16 0, i16 0, i16 16989, i16 16604, i16 16529, i16 12685, i16 12382, i16 0, i16 0, i16 0, i16 13662, i16 17008, i16 17091, i16 15900, i16 15966, i16 0, i16 15965, i16 0, i16 16990, i16 0, i16 0, i16 15548, i16 351, i16 352, i16 353, i16 354, i16 12639, i16 13535, i16 16905, i16 0, i16 13407, i16 14189, i16 0, i16 0, i16 13919, i16 14215, i16 0, i16 0, i16 14175, i16 0, i16 16825, i16 0, i16 14687, i16 0, i16 15830, i16 17030, i16 16479, i16 0, i16 15951, i16 0, i16 864, i16 865, i16 866, i16 0, i16 12384, i16 15412, i16 14756, i16 0, i16 13152, i16 16096, i16 0, i16 0, i16 13408, i16 0, i16 0, i16 0, i16 13920, i16 0, i16 0, i16 0, i16 14688, i16 0, i16 0, i16 0, i16 16224, i16 0, i16 0, i16 0, i16 16480, i16 0, i16 0, i16 0, i16 16992, i16 0, i16 0, i16 0, i16 97, i16 98, i16 99, i16 100, i16 609, i16 610, i16 611, i16 565, i16 12385, i16 15963, i16 0, i16 0, i16 13153, i16 15352, i16 0, i16 0, i16 14177, i16 16622, i16 0, i16 0, i16 15201, i16 13463, i16 0, i16 12601, i16 16481, i16 0, i16 16100, i16 14801, i16 16737, i16 14119, i16 13491, i16 15570, i16 12642, i16 15578, i16 0, i16 15586, i16 14178, i16 0, i16 0, i16 0, i16 14434, i16 0, i16 12816, i16 0, i16 15202, i16 12458, i16 0, i16 0, i16 15714, i16 0, i16 0, i16 0, i16 16738, i16 17040, i16 0, i16 13241, i16 355, i16 356, i16 357, i16 358, i16 14691, i16 0, i16 13169, i16 0, i16 14947, i16 0, i16 0, i16 15534, i16 12644, i16 0, i16 16786, i16 0, i16 12900, i16 14153, i16 16593, i16 0, i16 13668, i16 0, i16 16247, i16 0, i16 101, i16 102, i16 103, i16 104, i16 13157, i16 0, i16 0, i16 0, i16 13413, i16 0, i16 0, i16 0, i16 14181, i16 0, i16 0, i16 0, i16 14437, i16 14744, i16 12562, i16 0, i16 14949, i16 14462, i16 12293, i16 0, i16 16485, i16 0, i16 0, i16 0, i16 16997, i16 13129, i16 0, i16 15959, i16 870, i16 0, i16 0, i16 0, i16 13670, i16 12405, i16 0, i16 0, i16 13926, i16 0, i16 16547, i16 0, i16 15206, i16 0, i16 0, i16 0, i16 16742, i16 0, i16 15362, i16 0, i16 359, i16 360, i16 361, i16 362, i16 13671, i16 0, i16 0, i16 16700, i16 14695, i16 0, i16 14197, i16 0, i16 16231, i16 0, i16 0, i16 15711, i16 16743, i16 0, i16 0, i16 0, i16 16999, i16 12558, i16 0, i16 0, i16 616, i16 622, i16 623, i16 624, i16 13928, i16 13929, i16 0, i16 0, i16 15464, i16 16002, i16 0, i16 0, i16 15976, i16 0, i16 0, i16 16852, i16 16232, i16 0, i16 16003, i16 0, i16 16744, i16 0, i16 14502, i16 13911, i16 105, i16 106, i16 107, i16 108, i16 617, i16 675, i16 690, i16 283, i16 14953, i16 14956, i16 14964, i16 14968, i16 15209, i16 13666, i16 16813, i16 14575, i16 15465, i16 0, i16 0, i16 0, i16 15721, i16 0, i16 0, i16 0, i16 16489, i16 13095, i16 0, i16 14300, i16 16745, i16 0, i16 0, i16 0, i16 14954, i16 0, i16 0, i16 0, i16 363, i16 364, i16 365, i16 366, i16 619, i16 620, i16 621, i16 640, i16 875, i16 0, i16 0, i16 0, i16 12395, i16 0, i16 0, i16 0, i16 13163, i16 0, i16 13604, i16 0, i16 13931, i16 0, i16 16865, i16 13665, i16 14699, i16 0, i16 0, i16 0, i16 15723, i16 0, i16 0, i16 0, i16 16747, i16 15442, i16 12315, i16 0, i16 14444, i16 0, i16 14347, i16 0, i16 14700, i16 15223, i16 0, i16 0, i16 15468, i16 0, i16 0, i16 0, i16 15724, i16 0, i16 0, i16 0, i16 16236, i16 0, i16 12512, i16 16144, i16 109, i16 110, i16 111, i16 112, i16 14701, i16 0, i16 12413, i16 15310, i16 15213, i16 0, i16 0, i16 16807, i16 15981, i16 0, i16 0, i16 14611, i16 12398, i16 0, i16 13810, i16 0, i16 13422, i16 0, i16 0, i16 0, i16 13678, i16 16641, i16 15345, i16 0, i16 14702, i16 0, i16 0, i16 0, i16 15726, i16 0, i16 12419, i16 17035, i16 16238, i16 0, i16 14062, i16 0, i16 367, i16 368, i16 369, i16 370, i16 879, i16 880, i16 881, i16 882, i16 12399, i16 15153, i16 0, i16 0, i16 13423, i16 0, i16 0, i16 17122, i16 14191, i16 0, i16 16427, i16 0, i16 14703, i16 13623, i16 0, i16 16506, i16 15983, i16 15729, i16 0, i16 0, i16 16495, i16 0, i16 16714, i16 0, i16 12656, i16 0, i16 13762, i16 0, i16 13936, i16 0, i16 0, i16 12284, i16 14448, i16 12575, i16 0, i16 13776, i16 14704, i16 0, i16 13229, i16 15194, i16 113, i16 114, i16 115, i16 116, i16 625, i16 626, i16 627, i16 628, i16 12657, i16 16053, i16 0, i16 0, i16 15985, i16 0, i16 16183, i16 13515, i16 17009, i16 0, i16 14554, i16 0, i16 12658, i16 0, i16 0, i16 0, i16 15474, i16 0, i16 16770, i16 0, i16 16498, i16 15164, i16 0, i16 0, i16 17010, i16 0, i16 13788, i16 13789, i16 371, i16 372, i16 373, i16 374, i16 883, i16 884, i16 885, i16 886, i16 14963, i16 15898, i16 0, i16 0, i16 16755, i16 0, i16 0, i16 0, i16 17011, i16 0, i16 0, i16 15514, i16 12404, i16 0, i16 0, i16 0, i16 12916, i16 0, i16 0, i16 14195, i16 16500, i16 0, i16 14290, i16 0, i16 117, i16 118, i16 119, i16 120, i16 629, i16 630, i16 631, i16 618, i16 13173, i16 0, i16 16230, i16 0, i16 13685, i16 13795, i16 16412, i16 0, i16 16245, i16 0, i16 16891, i16 0, i16 16501, i16 0, i16 0, i16 0, i16 12918, i16 0, i16 0, i16 0, i16 13686, i16 0, i16 0, i16 0, i16 13942, i16 13667, i16 0, i16 0, i16 14198, i16 12283, i16 0, i16 0, i16 14710, i16 0, i16 0, i16 0, i16 15478, i16 0, i16 15445, i16 15918, i16 16246, i16 16210, i16 13864, i16 0, i16 16758, i16 0, i16 0, i16 0, i16 375, i16 376, i16 377, i16 378, i16 887, i16 888, i16 889, i16 890, i16 12663, i16 0, i16 0, i16 0, i16 13431, i16 15482, i16 0, i16 0, i16 13687, i16 0, i16 0, i16 0, i16 15479, i16 0, i16 0, i16 0, i16 15735, i16 0, i16 14247, i16 0, i16 15991, i16 0, i16 0, i16 12861, i16 16503, i16 0, i16 0, i16 0, i16 13176, i16 0, i16 0, i16 0, i16 14456, i16 0, i16 0, i16 14707, i16 15224, i16 0, i16 0, i16 0, i16 16248, i16 0, i16 0, i16 0, i16 121, i16 122, i16 123, i16 124, i16 13689, i16 0, i16 0, i16 15343, i16 15481, i16 0, i16 15241, i16 0, i16 16761, i16 15321, i16 0, i16 0, i16 13178, i16 0, i16 16356, i16 0, i16 13946, i16 14970, i16 0, i16 0, i16 14458, i16 0, i16 0, i16 15513, i16 379, i16 380, i16 224, i16 0, i16 891, i16 892, i16 893, i16 894, i16 12923, i16 0, i16 0, i16 0, i16 14203, i16 0, i16 0, i16 0, i16 14459, i16 16609, i16 0, i16 12288, i16 14971, i16 14974, i16 14977, i16 14979, i16 15227, i16 17075, i16 14960, i16 0, i16 17019, i16 12410, i16 0, i16 0, i16 12668, i16 0, i16 12416, i16 0, i16 12924, i16 0, i16 0, i16 16146, i16 13948, i16 13979, i16 14073, i16 14121, i16 16764, i16 0, i16 0, i16 0, i16 17020, i16 0, i16 0, i16 0, i16 125, i16 126, i16 127, i16 132, i16 637, i16 638, i16 671, i16 672, i16 12925, i16 0, i16 0, i16 17153, i16 13437, i16 14216, i16 0, i16 0, i16 15997, i16 0, i16 0, i16 0, i16 16253, i16 17110, i16 16998, i16 0, i16 17021, i16 14028, i16 14602, i16 0, i16 12414, i16 0, i16 0, i16 15940, i16 13182, i16 0, i16 0, i16 0, i16 15230, i16 0, i16 0, i16 0, i16 15998, i16 13078, i16 12795, i16 0, i16 639, i16 688, i16 632, i16 0, i16 895, i16 896, i16 897, i16 898, i16 15487, i16 0, i16 16117, i16 0, i16 16511, i16 0, i16 13967, i16 0, i16 12672, i16 0, i16 0, i16 0, i16 12928, i16 0, i16 0, i16 0, i16 13952, i16 0, i16 0, i16 14693, i16 14720, i16 15363, i16 17000, i16 0, i16 15232, i16 0, i16 0, i16 14017, i16 17024, i16 0, i16 0, i16 0, i16 385, i16 386, i16 387, i16 388, i16 641, i16 680, i16 681, i16 682, i16 12673, i16 15969, i16 15810, i16 15142, i16 12929, i16 14360, i16 15168, i16 0, i16 13953, i16 17120, i16 0, i16 0, i16 15233, i16 0, i16 0, i16 0, i16 15745, i16 13371, i16 15358, i16 16608, i16 16513, i16 0, i16 0, i16 0, i16 16769, i16 0, i16 14392, i16 0, i16 17025, i16 0, i16 0, i16 0, i16 642, i16 643, i16 644, i16 645, i16 12674, i16 0, i16 13497, i16 16005, i16 13186, i16 0, i16 0, i16 0, i16 14466, i16 16629, i16 0, i16 0, i16 15746, i16 0, i16 0, i16 0, i16 131, i16 0, i16 693, i16 0, i16 899, i16 900, i16 901, i16 902, i16 13955, i16 0, i16 14350, i16 0, i16 15235, i16 14924, i16 0, i16 0, i16 16259, i16 0, i16 12776, i16 15255, i16 16771, i16 0, i16 0, i16 0, i16 17027, i16 0, i16 0, i16 0, i16 12932, i16 15535, i16 13829, i16 12760, i16 13188, i16 0, i16 0, i16 16888, i16 13444, i16 0, i16 0, i16 0, i16 14212, i16 0, i16 0, i16 15638, i16 14468, i16 0, i16 15186, i16 13221, i16 16004, i16 0, i16 0, i16 13654, i16 389, i16 390, i16 391, i16 392, i16 12933, i16 15624, i16 0, i16 0, i16 15493, i16 15494, i16 15495, i16 15496, i16 16517, i16 0, i16 12390, i16 0, i16 646, i16 647, i16 648, i16 649, i16 12678, i16 0, i16 0, i16 0, i16 13446, i16 0, i16 0, i16 0, i16 14982, i16 14983, i16 14984, i16 14986, i16 15238, i16 0, i16 14524, i16 0, i16 15750, i16 0, i16 14589, i16 0, i16 16774, i16 12986, i16 15718, i16 0, i16 903, i16 904, i16 905, i16 906, i16 13447, i16 0, i16 0, i16 0, i16 14471, i16 12595, i16 16282, i16 14959, i16 15751, i16 0, i16 14208, i16 0, i16 16263, i16 0, i16 14091, i16 0, i16 16775, i16 15669, i16 0, i16 0, i16 136, i16 348, i16 349, i16 350, i16 12424, i16 12430, i16 12447, i16 12611, i16 12680, i16 0, i16 16168, i16 0, i16 14472, i16 14429, i16 0, i16 0, i16 15240, i16 15283, i16 15323, i16 15359, i16 15752, i16 15337, i16 15932, i16 14724, i16 16264, i16 0, i16 0, i16 0, i16 16520, i16 0, i16 0, i16 0, i16 137, i16 203, i16 0, i16 0, i16 393, i16 394, i16 395, i16 396, i16 12937, i16 15537, i16 0, i16 0, i16 14217, i16 0, i16 0, i16 0, i16 16777, i16 0, i16 0, i16 0, i16 17033, i16 0, i16 15761, i16 0, i16 138, i16 139, i16 0, i16 0, i16 650, i16 651, i16 657, i16 658, i16 12682, i16 0, i16 0, i16 0, i16 12938, i16 0, i16 0, i16 0, i16 14218, i16 0, i16 0, i16 16130, i16 16778, i16 13956, i16 0, i16 0, i16 17034, i16 0, i16 13841, i16 12533, i16 907, i16 908, i16 909, i16 910, i16 12427, i16 0, i16 0, i16 0, i16 13195, i16 0, i16 16922, i16 0, i16 13707, i16 0, i16 0, i16 0, i16 14475, i16 0, i16 0, i16 0, i16 15499, i16 15502, i16 15504, i16 15510, i16 16011, i16 0, i16 0, i16 16509, i16 16779, i16 12836, i16 16582, i16 0, i16 140, i16 141, i16 0, i16 0, i16 652, i16 653, i16 654, i16 655, i16 12684, i16 0, i16 0, i16 0, i16 13452, i16 12433, i16 0, i16 0, i16 13708, i16 0, i16 14987, i16 0, i16 13964, i16 0, i16 15770, i16 16631, i16 14988, i16 14989, i16 14990, i16 14993, i16 15500, i16 0, i16 0, i16 0, i16 15756, i16 17160, i16 0, i16 0, i16 16012, i16 0, i16 0, i16 0, i16 16780, i16 14427, i16 14651, i16 16249, i16 397, i16 398, i16 399, i16 400, i16 14733, i16 15528, i16 0, i16 0, i16 15245, i16 16145, i16 12910, i16 15246, i16 142, i16 143, i16 0, i16 0, i16 12686, i16 0, i16 0, i16 0, i16 16270, i16 15176, i16 16407, i16 0, i16 911, i16 912, i16 913, i16 914, i16 12687, i16 0, i16 0, i16 0, i16 13455, i16 13547, i16 13572, i16 13917, i16 15759, i16 0, i16 0, i16 0, i16 16527, i16 13808, i16 0, i16 12337, i16 144, i16 145, i16 146, i16 147, i16 656, i16 0, i16 0, i16 0, i16 13200, i16 0, i16 0, i16 14170, i16 13456, i16 0, i16 0, i16 0, i16 401, i16 402, i16 403, i16 404, i16 12945, i16 13998, i16 0, i16 0, i16 13457, i16 16256, i16 0, i16 16553, i16 13969, i16 13521, i16 0, i16 0, i16 15505, i16 0, i16 0, i16 0, i16 12434, i16 0, i16 15058, i16 13539, i16 12690, i16 14684, i16 12987, i16 16033, i16 14482, i16 0, i16 0, i16 0, i16 15250, i16 0, i16 0, i16 0, i16 15762, i16 14596, i16 16510, i16 0, i16 16274, i16 13878, i16 0, i16 0, i16 16530, i16 0, i16 0, i16 13211, i16 659, i16 660, i16 661, i16 662, i16 915, i16 916, i16 917, i16 918, i16 13971, i16 0, i16 12440, i16 0, i16 14739, i16 0, i16 0, i16 0, i16 14995, i16 14996, i16 14999, i16 15000, i16 15507, i16 14598, i16 14237, i16 15914, i16 15763, i16 15390, i16 12379, i16 14705, i16 16275, i16 0, i16 0, i16 0, i16 148, i16 149, i16 150, i16 151, i16 13460, i16 0, i16 16753, i16 15034, i16 13716, i16 13717, i16 15801, i16 0, i16 14484, i16 13903, i16 14323, i16 0, i16 15764, i16 0, i16 15835, i16 0, i16 16276, i16 16223, i16 0, i16 0, i16 405, i16 406, i16 407, i16 408, i16 12437, i16 0, i16 0, i16 13759, i16 13461, i16 0, i16 0, i16 0, i16 15253, i16 0, i16 0, i16 0, i16 14486, i16 15451, i16 0, i16 16104, i16 663, i16 664, i16 665, i16 666, i16 919, i16 920, i16 921, i16 922, i16 13207, i16 0, i16 0, i16 15529, i16 13719, i16 12365, i16 16469, i16 15002, i16 14231, i16 12961, i16 0, i16 0, i16 14743, i16 0, i16 0, i16 0, i16 15511, i16 15515, i16 15516, i16 15519, i16 15767, i16 14614, i16 0, i16 13954, i16 152, i16 153, i16 0, i16 199, i16 12952, i16 0, i16 0, i16 0, i16 13208, i16 0, i16 0, i16 0, i16 14232, i16 0, i16 0, i16 0, i16 15256, i16 13725, i16 0, i16 16406, i16 16792, i16 0, i16 12502, i16 0, i16 17048, i16 0, i16 16613, i16 0, i16 409, i16 410, i16 411, i16 412, i16 12697, i16 0, i16 0, i16 0, i16 13465, i16 0, i16 15265, i16 16948, i16 14489, i16 0, i16 12306, i16 0, i16 15001, i16 15003, i16 15009, i16 15014, i16 12442, i16 13226, i16 0, i16 14226, i16 12698, i16 15313, i16 0, i16 17014, i16 15258, i16 0, i16 0, i16 0, i16 16538, i16 13681, i16 16557, i16 0, i16 667, i16 612, i16 613, i16 614, i16 923, i16 924, i16 925, i16 926, i16 12443, i16 16521, i16 0, i16 16894, i16 16539, i16 16116, i16 14202, i16 15247, i16 16795, i16 16796, i16 16864, i16 16991, i16 17052, i16 0, i16 0, i16 0, i16 157, i16 177, i16 0, i16 0, i16 413, i16 414, i16 415, i16 416, i16 669, i16 670, i16 285, i16 687, i16 12957, i16 0, i16 12393, i16 0, i16 13213, i16 0, i16 13510, i16 0, i16 15005, i16 0, i16 0, i16 0, i16 15517, i16 0, i16 0, i16 0, i16 16541, i16 15492, i16 0, i16 0, i16 158, i16 159, i16 0, i16 0, i16 12702, i16 16396, i16 16565, i16 0, i16 13726, i16 0, i16 15904, i16 0, i16 15006, i16 0, i16 0, i16 13595, i16 15518, i16 0, i16 0, i16 0, i16 927, i16 928, i16 929, i16 930, i16 13983, i16 0, i16 0, i16 0, i16 16287, i16 0, i16 0, i16 0, i16 17055, i16 0, i16 0, i16 0, i16 13472, i16 14810, i16 14523, i16 0, i16 15520, i16 15531, i16 15539, i16 15540, i16 16544, i16 0, i16 12913, i16 0, i16 161, i16 205, i16 0, i16 0, i16 417, i16 418, i16 419, i16 420, i16 673, i16 633, i16 634, i16 635, i16 13729, i16 14746, i16 0, i16 15579, i16 14497, i16 0, i16 0, i16 13296, i16 16545, i16 0, i16 0, i16 15030, i16 162, i16 154, i16 868, i16 869, i16 12450, i16 0, i16 0, i16 0, i16 13218, i16 16234, i16 0, i16 0, i16 13474, i16 0, i16 15986, i16 0, i16 931, i16 932, i16 933, i16 934, i16 12963, i16 16061, i16 0, i16 0, i16 13731, i16 14781, i16 15351, i16 0, i16 14243, i16 0, i16 0, i16 0, i16 17059, i16 15542, i16 13128, i16 0, i16 13476, i16 0, i16 0, i16 0, i16 13732, i16 0, i16 0, i16 15733, i16 15524, i16 0, i16 13441, i16 0, i16 16548, i16 16337, i16 0, i16 13756, i16 17060, i16 0, i16 0, i16 0, i16 421, i16 422, i16 423, i16 424, i16 12709, i16 0, i16 0, i16 0, i16 13733, i16 0, i16 0, i16 0, i16 13989, i16 0, i16 0, i16 0, i16 14501, i16 0, i16 0, i16 15771, i16 15013, i16 0, i16 13401, i16 13158, i16 15525, i16 0, i16 0, i16 0, i16 16805, i16 15459, i16 15096, i16 13761, i16 17061, i16 0, i16 14417, i16 0, i16 12966, i16 0, i16 15984, i16 0, i16 13734, i16 0, i16 13803, i16 13637, i16 14246, i16 0, i16 14315, i16 0, i16 16038, i16 0, i16 0, i16 14842, i16 16550, i16 12792, i16 0, i16 0, i16 17062, i16 0, i16 0, i16 15604, i16 167, i16 168, i16 218, i16 381, i16 935, i16 936, i16 937, i16 938, i16 13735, i16 0, i16 13742, i16 13171, i16 14759, i16 16681, i16 0, i16 13892, i16 15271, i16 15272, i16 14418, i16 0, i16 12968, i16 0, i16 14867, i16 0, i16 16040, i16 0, i16 16175, i16 0, i16 16552, i16 16563, i16 16665, i16 16686, i16 425, i16 426, i16 427, i16 428, i16 13225, i16 15942, i16 13512, i16 0, i16 13481, i16 0, i16 0, i16 0, i16 15017, i16 15018, i16 15020, i16 15021, i16 15785, i16 0, i16 0, i16 16662, i16 16297, i16 0, i16 0, i16 0, i16 12714, i16 0, i16 12438, i16 16242, i16 14250, i16 16679, i16 14694, i16 0, i16 15530, i16 15333, i16 0, i16 0, i16 16298, i16 15512, i16 0, i16 13777, i16 16554, i16 0, i16 0, i16 13450, i16 171, i16 0, i16 170, i16 0, i16 683, i16 676, i16 677, i16 678, i16 939, i16 940, i16 941, i16 942, i16 12459, i16 16235, i16 0, i16 0, i16 12715, i16 0, i16 0, i16 0, i16 12971, i16 0, i16 0, i16 0, i16 13227, i16 0, i16 0, i16 0, i16 15787, i16 0, i16 0, i16 0, i16 17067, i16 0, i16 0, i16 0, i16 172, i16 0, i16 0, i16 0, i16 12972, i16 0, i16 0, i16 15139, i16 13228, i16 0, i16 0, i16 0, i16 14508, i16 0, i16 13704, i16 0, i16 16044, i16 0, i16 0, i16 0, i16 16556, i16 0, i16 0, i16 0, i16 429, i16 430, i16 431, i16 432, i16 685, i16 0, i16 0, i16 686, i16 13485, i16 0, i16 0, i16 0, i16 13997, i16 0, i16 0, i16 0, i16 14509, i16 13175, i16 16316, i16 0, i16 15533, i16 0, i16 0, i16 0, i16 15789, i16 17036, i16 0, i16 0, i16 16045, i16 0, i16 16600, i16 0, i16 16301, i16 0, i16 15820, i16 12844, i16 12718, i16 16063, i16 12914, i16 14117, i16 12974, i16 0, i16 16705, i16 0, i16 13230, i16 0, i16 15623, i16 13677, i16 14766, i16 0, i16 0, i16 0, i16 15022, i16 0, i16 13436, i16 0, i16 15278, i16 0, i16 14272, i16 0, i16 16302, i16 14904, i16 16258, i16 16283, i16 16558, i16 16824, i16 0, i16 0, i16 943, i16 944, i16 945, i16 946, i16 14255, i16 16131, i16 0, i16 13355, i16 15791, i16 0, i16 0, i16 0, i16 16815, i16 0, i16 0, i16 0, i16 17071, i16 0, i16 0, i16 0, i16 13488, i16 0, i16 0, i16 0, i16 14768, i16 0, i16 14039, i16 0, i16 15024, i16 15039, i16 15041, i16 15046, i16 433, i16 434, i16 435, i16 436, i16 689, i16 684, i16 0, i16 0, i16 12465, i16 13274, i16 0, i16 13752, i16 12721, i16 16798, i16 14932, i16 0, i16 12977, i16 0, i16 12908, i16 0, i16 14257, i16 14133, i16 0, i16 0, i16 15025, i16 0, i16 0, i16 0, i16 16817, i16 12884, i16 0, i16 0, i16 12466, i16 16789, i16 12563, i16 13222, i16 13234, i16 0, i16 0, i16 0, i16 15794, i16 0, i16 0, i16 0, i16 947, i16 948, i16 949, i16 950, i16 12723, i16 0, i16 0, i16 0, i16 14771, i16 0, i16 13435, i16 0, i16 16051, i16 15890, i16 0, i16 0, i16 16819, i16 12329, i16 0, i16 17001, i16 692, i16 0, i16 0, i16 0, i16 12724, i16 0, i16 13132, i16 0, i16 15796, i16 0, i16 0, i16 0, i16 16308, i16 16502, i16 16504, i16 16536, i16 437, i16 438, i16 439, i16 440, i16 12725, i16 0, i16 0, i16 0, i16 13493, i16 0, i16 0, i16 0, i16 14005, i16 0, i16 0, i16 0, i16 15029, i16 0, i16 0, i16 0, i16 12726, i16 0, i16 15184, i16 0, i16 13238, i16 16154, i16 16911, i16 0, i16 14006, i16 0, i16 0, i16 0, i16 14774, i16 0, i16 0, i16 0, i16 15286, i16 0, i16 0, i16 0, i16 16822, i16 14980, i16 0, i16 0, i16 17078, i16 0, i16 0, i16 0, i16 951, i16 952, i16 953, i16 954, i16 12471, i16 0, i16 0, i16 12778, i16 13751, i16 0, i16 16204, i16 0, i16 14519, i16 0, i16 0, i16 0, i16 14775, i16 0, i16 0, i16 0, i16 15543, i16 15546, i16 15549, i16 15550, i16 12472, i16 16606, i16 14284, i16 0, i16 13240, i16 12549, i16 0, i16 13294, i16 15288, i16 0, i16 0, i16 0, i16 16056, i16 0, i16 0, i16 0, i16 441, i16 442, i16 443, i16 444, i16 12473, i16 0, i16 0, i16 0, i16 14521, i16 14717, i16 14727, i16 14735, i16 15289, i16 12888, i16 0, i16 16378, i16 16313, i16 13827, i16 0, i16 14976, i16 16569, i16 16206, i16 0, i16 0, i16 698, i16 0, i16 0, i16 0, i16 14266, i16 0, i16 0, i16 0, i16 14778, i16 0, i16 0, i16 0, i16 16058, i16 0, i16 0, i16 0, i16 955, i16 956, i16 957, i16 958, i16 14267, i16 0, i16 0, i16 0, i16 12988, i16 0, i16 0, i16 0, i16 14268, i16 0, i16 13468, i16 0, i16 15036, i16 0, i16 0, i16 0, i16 16572, i16 14518, i16 12691, i16 13239, i16 189, i16 188, i16 0, i16 253, i16 445, i16 446, i16 447, i16 448, i16 12477, i16 15331, i16 0, i16 0, i16 13245, i16 0, i16 0, i16 0, i16 13757, i16 0, i16 0, i16 14374, i16 14525, i16 0, i16 13038, i16 0, i16 16317, i16 0, i16 0, i16 0, i16 17085, i16 0, i16 15086, i16 0, i16 15038, i16 0, i16 17064, i16 0, i16 15806, i16 0, i16 0, i16 0, i16 16574, i16 0, i16 0, i16 0, i16 14783, i16 0, i16 0, i16 0, i16 15551, i16 15803, i16 0, i16 16468, i16 704, i16 705, i16 706, i16 707, i16 13248, i16 14745, i16 0, i16 15254, i16 13504, i16 0, i16 0, i16 0, i16 14016, i16 15498, i16 16826, i16 0, i16 15808, i16 0, i16 12581, i16 0, i16 16320, i16 0, i16 0, i16 0, i16 16576, i16 0, i16 0, i16 0, i16 193, i16 192, i16 0, i16 0, i16 449, i16 450, i16 451, i16 452, i16 12481, i16 15674, i16 0, i16 0, i16 12737, i16 0, i16 0, i16 16125, i16 12993, i16 12996, i16 12999, i16 13000, i16 13505, i16 12448, i16 0, i16 16713, i16 15297, i16 15282, i16 16915, i16 0, i16 16321, i16 0, i16 0, i16 0, i16 17089, i16 0, i16 0, i16 0, i16 962, i16 963, i16 964, i16 965, i16 12482, i16 0, i16 0, i16 0, i16 12994, i16 0, i16 0, i16 14948, i16 13250, i16 0, i16 17056, i16 0, i16 15042, i16 0, i16 0, i16 0, i16 16322, i16 0, i16 0, i16 0, i16 195, i16 196, i16 194, i16 197, i16 12483, i16 16508, i16 13428, i16 13090, i16 14019, i16 15663, i16 0, i16 14242, i16 15043, i16 0, i16 15522, i16 0, i16 15299, i16 14752, i16 16138, i16 12614, i16 15811, i16 0, i16 0, i16 0, i16 708, i16 709, i16 710, i16 711, i16 12484, i16 0, i16 13845, i16 0, i16 13508, i16 12695, i16 0, i16 0, i16 453, i16 454, i16 455, i16 456, i16 13253, i16 0, i16 0, i16 0, i16 13765, i16 0, i16 0, i16 12940, i16 14021, i16 0, i16 0, i16 0, i16 14789, i16 0, i16 12336, i16 0, i16 15557, i16 0, i16 0, i16 0, i16 16069, i16 0, i16 14166, i16 0, i16 198, i16 271, i16 274, i16 272, i16 966, i16 967, i16 968, i16 969, i16 12486, i16 15292, i16 0, i16 0, i16 14022, i16 12548, i16 0, i16 0, i16 14534, i16 14770, i16 0, i16 14512, i16 14790, i16 0, i16 0, i16 0, i16 15558, i16 0, i16 0, i16 0, i16 16070, i16 15545, i16 0, i16 0, i16 13255, i16 0, i16 0, i16 0, i16 15047, i16 15051, i16 15053, i16 15055, i16 16071, i16 16132, i16 16153, i16 16237, i16 712, i16 713, i16 714, i16 715, i16 14280, i16 0, i16 15295, i16 0, i16 14536, i16 0, i16 0, i16 0, i16 16072, i16 16419, i16 0, i16 15427, i16 17096, i16 0, i16 0, i16 0, i16 457, i16 458, i16 459, i16 460, i16 12489, i16 0, i16 0, i16 13963, i16 13001, i16 13002, i16 13003, i16 13004, i16 14025, i16 0, i16 0, i16 0, i16 14793, i16 16370, i16 0, i16 0, i16 15049, i16 0, i16 14621, i16 15073, i16 15561, i16 0, i16 0, i16 15636, i16 16585, i16 0, i16 0, i16 16785, i16 970, i16 971, i16 972, i16 973, i16 12490, i16 0, i16 0, i16 0, i16 12746, i16 13990, i16 0, i16 0, i16 14026, i16 0, i16 13980, i16 0, i16 15818, i16 15722, i16 0, i16 14075, i16 17098, i16 0, i16 0, i16 0, i16 14795, i16 0, i16 0, i16 0, i16 15307, i16 0, i16 0, i16 0, i16 15819, i16 0, i16 0, i16 15927, i16 16075, i16 0, i16 0, i16 0, i16 716, i16 717, i16 718, i16 719, i16 14796, i16 0, i16 16022, i16 0, i16 15052, i16 0, i16 13418, i16 12665, i16 16844, i16 0, i16 0, i16 0, i16 461, i16 462, i16 463, i16 464, i16 13261, i16 0, i16 0, i16 0, i16 14541, i16 13220, i16 0, i16 0, i16 15309, i16 0, i16 12712, i16 0, i16 15565, i16 15566, i16 15568, i16 15573, i16 15821, i16 0, i16 16052, i16 0, i16 17101, i16 0, i16 0, i16 0, i16 974, i16 975, i16 976, i16 977, i16 13006, i16 13007, i16 13008, i16 13009, i16 13518, i16 0, i16 0, i16 14415, i16 14542, i16 0, i16 0, i16 0, i16 16078, i16 14393, i16 0, i16 0, i16 207, i16 0, i16 235, i16 0, i16 12495, i16 0, i16 0, i16 16950, i16 13519, i16 0, i16 0, i16 0, i16 15311, i16 0, i16 14830, i16 14282, i16 15567, i16 0, i16 0, i16 16619, i16 15823, i16 0, i16 0, i16 16027, i16 16847, i16 0, i16 0, i16 14496, i16 17103, i16 17115, i16 0, i16 0, i16 208, i16 0, i16 0, i16 209, i16 720, i16 721, i16 722, i16 723, i16 14544, i16 0, i16 0, i16 0, i16 15056, i16 15059, i16 15071, i16 15076, i16 16336, i16 0, i16 0, i16 0, i16 16592, i16 15685, i16 0, i16 0, i16 16848, i16 0, i16 13214, i16 0, i16 17104, i16 14273, i16 14711, i16 0, i16 465, i16 466, i16 467, i16 468, i16 12753, i16 14734, i16 0, i16 16252, i16 14033, i16 0, i16 0, i16 15601, i16 16081, i16 0, i16 0, i16 0, i16 978, i16 979, i16 980, i16 981, i16 13010, i16 13012, i16 13013, i16 13014, i16 15826, i16 16028, i16 12772, i16 0, i16 16594, i16 0, i16 0, i16 0, i16 16850, i16 0, i16 16189, i16 0, i16 17106, i16 0, i16 0, i16 12294, i16 14547, i16 0, i16 0, i16 14190, i16 15315, i16 0, i16 0, i16 0, i16 15827, i16 0, i16 0, i16 12830, i16 724, i16 725, i16 726, i16 727, i16 12500, i16 0, i16 0, i16 16134, i16 13524, i16 0, i16 0, i16 0, i16 13780, i16 13256, i16 0, i16 0, i16 14804, i16 16701, i16 0, i16 0, i16 15060, i16 0, i16 12324, i16 0, i16 15316, i16 0, i16 15341, i16 0, i16 15572, i16 0, i16 0, i16 14646, i16 15828, i16 0, i16 13541, i16 15450, i16 469, i16 470, i16 471, i16 472, i16 12501, i16 0, i16 0, i16 0, i16 12757, i16 0, i16 0, i16 14292, i16 13269, i16 0, i16 0, i16 0, i16 13781, i16 0, i16 0, i16 13202, i16 14293, i16 0, i16 0, i16 14850, i16 982, i16 983, i16 984, i16 985, i16 13526, i16 12773, i16 0, i16 13700, i16 15574, i16 15575, i16 15650, i16 15725, i16 16854, i16 0, i16 15593, i16 14511, i16 13015, i16 13017, i16 13019, i16 13020, i16 14295, i16 0, i16 0, i16 0, i16 16599, i16 13986, i16 0, i16 0, i16 728, i16 729, i16 730, i16 731, i16 12504, i16 0, i16 0, i16 0, i16 13272, i16 13695, i16 17084, i16 13561, i16 14040, i16 16182, i16 16408, i16 0, i16 14296, i16 0, i16 0, i16 0, i16 14552, i16 0, i16 13151, i16 16838, i16 217, i16 215, i16 214, i16 206, i16 473, i16 474, i16 475, i16 0, i16 13529, i16 0, i16 15231, i16 0, i16 16089, i16 0, i16 16543, i16 0, i16 986, i16 987, i16 988, i16 989, i16 12762, i16 0, i16 0, i16 12667, i16 14042, i16 0, i16 14899, i16 0, i16 14298, i16 0, i16 0, i16 0, i16 15322, i16 14491, i16 0, i16 12496, i16 16602, i16 0, i16 0, i16 0, i16 12763, i16 0, i16 0, i16 15467, i16 13275, i16 14301, i16 0, i16 17006, i16 13531, i16 0, i16 14555, i16 0, i16 220, i16 0, i16 0, i16 0, i16 476, i16 477, i16 478, i16 479, i16 732, i16 733, i16 734, i16 735, i16 12764, i16 15934, i16 0, i16 16323, i16 14812, i16 12878, i16 0, i16 15877, i16 15580, i16 14196, i16 16484, i16 15632, i16 221, i16 0, i16 175, i16 222, i16 12509, i16 0, i16 0, i16 0, i16 13533, i16 0, i16 0, i16 0, i16 14557, i16 14233, i16 0, i16 0, i16 14813, i16 0, i16 0, i16 0, i16 15325, i16 0, i16 15780, i16 0, i16 16093, i16 16897, i16 13603, i16 0, i16 16349, i16 0, i16 14054, i16 14713, i16 990, i16 991, i16 992, i16 993, i16 12510, i16 15805, i16 13369, i16 0, i16 12766, i16 0, i16 0, i16 0, i16 13022, i16 13026, i16 13030, i16 13032, i16 13278, i16 14015, i16 13585, i16 0, i16 14046, i16 0, i16 0, i16 0, i16 14814, i16 0, i16 0, i16 0, i16 15582, i16 0, i16 0, i16 16043, i16 16350, i16 0, i16 0, i16 0, i16 223, i16 0, i16 268, i16 128, i16 13279, i16 15703, i16 16122, i16 0, i16 14303, i16 0, i16 0, i16 13160, i16 14815, i16 0, i16 0, i16 14647, i16 15327, i16 15373, i16 0, i16 14127, i16 16351, i16 0, i16 14211, i16 0, i16 480, i16 481, i16 482, i16 483, i16 736, i16 737, i16 738, i16 739, i16 13792, i16 0, i16 0, i16 14426, i16 15072, i16 15398, i16 0, i16 0, i16 12769, i16 0, i16 0, i16 0, i16 13537, i16 0, i16 0, i16 0, i16 14305, i16 0, i16 0, i16 0, i16 15585, i16 16868, i16 0, i16 0, i16 226, i16 229, i16 228, i16 231, i16 994, i16 995, i16 996, i16 997, i16 13282, i16 0, i16 0, i16 0, i16 14306, i16 0, i16 12700, i16 0, i16 14562, i16 15395, i16 0, i16 0, i16 16354, i16 0, i16 14249, i16 0, i16 16610, i16 0, i16 0, i16 13023, i16 12771, i16 0, i16 0, i16 0, i16 14307, i16 0, i16 0, i16 0, i16 15587, i16 17070, i16 0, i16 13673, i16 484, i16 485, i16 0, i16 0, i16 740, i16 741, i16 742, i16 743, i16 13028, i16 15378, i16 15379, i16 13805, i16 16612, i16 0, i16 14204, i16 16080, i16 13285, i16 0, i16 0, i16 0, i16 14053, i16 0, i16 13415, i16 0, i16 15589, i16 0, i16 12505, i16 16542, i16 16869, i16 0, i16 12780, i16 0, i16 17125, i16 16445, i16 0, i16 0, i16 230, i16 867, i16 700, i16 0, i16 486, i16 487, i16 488, i16 489, i16 998, i16 999, i16 1000, i16 1001, i16 12518, i16 0, i16 0, i16 0, i16 12774, i16 0, i16 0, i16 0, i16 13542, i16 0, i16 12967, i16 16522, i16 14310, i16 17148, i16 0, i16 0, i16 14822, i16 0, i16 0, i16 0, i16 15078, i16 15095, i16 15173, i16 15174, i16 16358, i16 0, i16 0, i16 13564, i16 16870, i16 0, i16 0, i16 0, i16 13287, i16 0, i16 12943, i16 14498, i16 14567, i16 0, i16 0, i16 0, i16 15335, i16 0, i16 0, i16 0, i16 17127, i16 15461, i16 13470, i16 0, i16 744, i16 745, i16 746, i16 747, i16 14312, i16 0, i16 0, i16 0, i16 15080, i16 15157, i16 13874, i16 13265, i16 16360, i16 0, i16 0, i16 0, i16 16872, i16 0, i16 0, i16 0, i16 13033, i16 13034, i16 13036, i16 13037, i16 13289, i16 12536, i16 0, i16 16564, i16 13545, i16 0, i16 0, i16 15443, i16 13801, i16 0, i16 13620, i16 0, i16 15081, i16 15804, i16 0, i16 0, i16 15849, i16 0, i16 0, i16 0, i16 16617, i16 0, i16 0, i16 0, i16 16873, i16 14697, i16 0, i16 0, i16 234, i16 0, i16 0, i16 0, i16 490, i16 491, i16 492, i16 493, i16 1002, i16 1003, i16 1004, i16 1005, i16 15338, i16 0, i16 0, i16 0, i16 16362, i16 0, i16 14446, i16 15234, i16 16874, i16 0, i16 0, i16 13025, i16 17130, i16 0, i16 0, i16 0, i16 12523, i16 0, i16 13760, i16 0, i16 14059, i16 14375, i16 0, i16 0, i16 14571, i16 0, i16 12662, i16 0, i16 15339, i16 14340, i16 0, i16 0, i16 15851, i16 0, i16 0, i16 16883, i16 748, i16 749, i16 750, i16 751, i16 14316, i16 0, i16 16739, i16 0, i16 14572, i16 0, i16 16192, i16 14871, i16 14828, i16 0, i16 0, i16 0, i16 15852, i16 12976, i16 15777, i16 0, i16 17132, i16 0, i16 0, i16 0, i16 12525, i16 14854, i16 0, i16 0, i16 14573, i16 14036, i16 0, i16 14037, i16 15085, i16 17109, i16 13852, i16 0, i16 16109, i16 15216, i16 13094, i16 0, i16 238, i16 0, i16 0, i16 179, i16 494, i16 495, i16 0, i16 0, i16 1006, i16 1007, i16 1008, i16 1009, i16 13806, i16 15676, i16 16961, i16 0, i16 16366, i16 15218, i16 0, i16 0, i16 12783, i16 0, i16 15396, i16 0, i16 13551, i16 15458, i16 17151, i16 0, i16 13807, i16 0, i16 0, i16 0, i16 14831, i16 0, i16 0, i16 0, i16 15855, i16 0, i16 14172, i16 0, i16 16367, i16 0, i16 14806, i16 12387, i16 240, i16 0, i16 163, i16 164, i16 752, i16 753, i16 754, i16 755, i16 12528, i16 0, i16 0, i16 12349, i16 13040, i16 0, i16 0, i16 15092, i16 13552, i16 13270, i16 0, i16 0, i16 14576, i16 0, i16 0, i16 0, i16 15600, i16 0, i16 0, i16 13650, i16 16368, i16 0, i16 0, i16 17051, i16 17136, i16 15591, i16 12699, i16 0, i16 13041, i16 13042, i16 13043, i16 13044, i16 13297, i16 0, i16 14164, i16 0, i16 14065, i16 0, i16 0, i16 0, i16 14321, i16 14328, i16 14431, i16 14457, i16 16369, i16 0, i16 16030, i16 16833, i16 16625, i16 0, i16 0, i16 0, i16 242, i16 241, i16 0, i16 0, i16 1010, i16 1011, i16 1012, i16 1013, i16 13554, i16 0, i16 0, i16 16702, i16 14066, i16 0, i16 0, i16 0, i16 14834, i16 14837, i16 14838, i16 14845, i16 499, i16 500, i16 501, i16 502, i16 16115, i16 0, i16 13362, i16 0, i16 16371, i16 14903, i16 15888, i16 0, i16 756, i16 757, i16 0, i16 0, i16 15860, i16 0, i16 0, i16 0, i16 16884, i16 0, i16 0, i16 0, i16 245, i16 248, i16 0, i16 249, i16 12789, i16 14319, i16 0, i16 0, i16 13045, i16 13047, i16 13052, i16 13064, i16 14581, i16 0, i16 16841, i16 0, i16 15093, i16 15181, i16 14721, i16 13061, i16 15605, i16 15130, i16 15715, i16 0, i16 15861, i16 0, i16 0, i16 14946, i16 16373, i16 15027, i16 0, i16 0, i16 16885, i16 0, i16 0, i16 16823, i16 246, i16 247, i16 0, i16 250, i16 758, i16 759, i16 760, i16 761, i16 1014, i16 1015, i16 1016, i16 1017, i16 12790, i16 0, i16 0, i16 0, i16 15350, i16 13930, i16 0, i16 0, i16 15606, i16 0, i16 0, i16 0, i16 16886, i16 16410, i16 15882, i16 17128, i16 17142, i16 16149, i16 0, i16 17135, i16 503, i16 504, i16 505, i16 506, i16 13815, i16 0, i16 0, i16 0, i16 14071, i16 0, i16 0, i16 0, i16 14583, i16 0, i16 0, i16 0, i16 14839, i16 16973, i16 15261, i16 17140, i16 13560, i16 0, i16 17083, i16 0, i16 14072, i16 0, i16 0, i16 0, i16 14584, i16 0, i16 15281, i16 0, i16 15608, i16 0, i16 0, i16 0, i16 15864, i16 16748, i16 0, i16 0, i16 16632, i16 15150, i16 0, i16 0, i16 12537, i16 0, i16 0, i16 14973, i16 12793, i16 14630, i16 15850, i16 0, i16 13049, i16 14043, i16 0, i16 0, i16 13305, i16 13263, i16 0, i16 0, i16 15865, i16 0, i16 0, i16 0, i16 17145, i16 16421, i16 0, i16 13784, i16 762, i16 763, i16 764, i16 765, i16 1018, i16 1019, i16 1020, i16 1021, i16 12538, i16 0, i16 0, i16 12960, i16 13050, i16 15974, i16 0, i16 13523, i16 15610, i16 0, i16 0, i16 0, i16 17146, i16 0, i16 0, i16 0, i16 507, i16 508, i16 509, i16 510, i16 13051, i16 0, i16 0, i16 0, i16 15099, i16 17005, i16 17050, i16 16925, i16 15611, i16 15678, i16 0, i16 0, i16 252, i16 0, i16 0, i16 183, i16 13308, i16 14843, i16 0, i16 0, i16 14332, i16 14758, i16 0, i16 0, i16 14588, i16 0, i16 16420, i16 14528, i16 15612, i16 15795, i16 0, i16 0, i16 13309, i16 0, i16 0, i16 0, i16 15869, i16 13439, i16 0, i16 0, i16 16381, i16 0, i16 0, i16 0, i16 16893, i16 14522, i16 0, i16 0, i16 17149, i16 0, i16 12785, i16 0, i16 254, i16 255, i16 0, i16 0, i16 766, i16 767, i16 768, i16 769, i16 1022, i16 1023, i16 1024, i16 1025, i16 13054, i16 0, i16 0, i16 13994, i16 13566, i16 0, i16 0, i16 0, i16 13822, i16 13259, i16 0, i16 15098, i16 511, i16 512, i16 0, i16 513, i16 12287, i16 0, i16 0, i16 13421, i16 12799, i16 0, i16 0, i16 0, i16 13311, i16 0, i16 0, i16 0, i16 13567, i16 0, i16 14077, i16 0, i16 14335, i16 12521, i16 13217, i16 0, i16 14591, i16 15619, i16 0, i16 0, i16 14847, i16 14848, i16 14856, i16 14866], [6 x i8] c"\0A\03\162\00\04", [24 x i64] [i64 48508, i64 48528, i64 48548, i64 14648, i64 48588, i64 48634, i64 48640, i64 14699, i64 48670, i64 52564, i64 52608, i64 14727, i64 53422, i64 61672, i64 61772, i64 16373, i64 0, i64 0, i64 0, i64 0, i64 68630, i64 69002, i64 69010, i64 44726], [2826 x i8] c"\00\00\01\00\00\00\00\00\00\01\00\08\00\01\01\01e\01\01\02\02\00\01\01\01e\01\02\00\02\00\02\02\02d\02\03\00\12\00\02\03\03c\03\03\02\02\00\02\04\04c\04\04\00\12\00\02\05\05b\03\04\02\02\00\02\06\06b\04\05\00\12\00\02\07\05a\03\05\02\02\00\02\08\06a\04\06\00\12\00\02\09\05`\03\06\02\02\00\02\0A\06`\04\07\00\02\00\03\0B\07_\05\08\00\12\00\02\0C\05^\03\08\02\02\00\02\0D\06^\04\09\00\12\00\02\0E\08]\03\09\02\02\00\02\0F\09]\04\0A\00\12\00\02\10\05\\\03\0A\02\02\00\02\11\06\\\04\0B\00\12\00\02\12\08[\03\0B\02\02\00\02\13\09[\04\0C\00\12\00\02\14\05Z\03\0C\02\02\00\02\15\06Z\04\0D\00\12\00\02\16\05Y\03\0D\02\02\00\02\17\06Y\04\0E\00\12\00\02\18\05X\03\0E\02\02\00\02\19\06X\04\0F\00\12\00\02\1A\05W\03\0F\02\02\00\02\1B\06W\04\10\00\12\00\00\1C\0A\8E\06\10\02\02\00\00\1D\0B\8E\07\11\00\12\00\02\1E\05V\03\11\02\02\00\02\1F\06V\04\12\00\12\00\02 \0CU\03\12\02\02\00\02!\0DU\04\13\00\12\00\02\22\05T\08\13\02\02\00\02#\06T\09\14\00\12\00\02$\05S\08\14\02\02\00\02%\06S\09\15\00\15\00\01&\0ER\0A\15\02\02\00\01&\0FR\0B\16\00\05\00\01'\10Q\0C\16\02\02\00\01(\11Q\0D\17\00\05\00\04)\12P\0E\17\02\02\00\04*\13P\0F\18\00\02\00\02+\14O\10\19\00\02\00\03,\15N\11\1A\00\08\00\05-\16M\12\1A\02\02\00\05.\16M\12\1B\00\0E\00\05/\17L\13\1B\02\02\00\05/\18L\13\1C\00\08\00\050\19\8B\14\1C\02\02\00\051\1A\8B\14\1D\00\0C\00\052\19\8B\14\1D\02\02\00\051\1A\8B\14\1E\00\0E\00\063\1B\8C\15\1E\02\02\00\074\1C\8C\15\1F\00\0B\00\025\1DK\16\1F\02\02\00\026\1DK\16 \00\08\00\017\1E\8A\17 \02\02\00\017\1F\8A\17!\00\08\00\058 J\18!\02\02\00\059!J\18\22\00\0C\00\05: J\18\22\02\02\00\059!J\18#\00\08\00\01;\22I\18#\02\02\00\01<#I\18$\00\0C\00\01=\22I\18$\02\02\00\01<#I\18%\00\08\00\08>$H\18%\02\02\00\08>%H\18&\00\08\00\01?$G\18&\02\02\00\01@%G\18'\00\0C\00\01A$G\18'\02\02\00\01@%G\18(\00\08\00\01;\22F\18(\02\02\00\01<#F\18)\00\0C\00\01=\22F\18)\02\02\00\01<#F\18*\00\13\00\09B&E\19*\02\02\00\09C'E\1A+\00\08\00\02D(D\02+\02\02\00\02D(D\02,\00\08\00\02E)C\1B,\02\02\00\02E)C\1B-\00\08\00\02F*\89\1C-\02\02\00\02F*\89\1C.\00\08\00\01G+B\1D.\02\02\00\01H+B\1D/\00\08\00\025)A\02/\02\02\00\026)A\020\00\08\00\02I,@\1E0\02\02\00\02I,@\1E1\00\08\00\02J)?\021\02\02\00\02K)?\022\00\0C\00\02L)?\022\02\02\00\02K)?\023\00\02\00\03\0B->\1E4\00\08\00\02M)=\024\02\02\00\02M)=\025\00\08\00\02N.<\1E5\02\02\00\02N.<\1E6\00\08\00\02O/;\1E6\02\02\00\02O/;\1E7\00\08\00\02P0:\027\02\02\00\02P0:\028\00\08\00\02Q)9\1B8\02\02\00\02Q)9\1B9\00\08\00\02R)8\1B9\02\02\00\02R)8\1B:\02\02\00\05S17\1F;\00\08\00\01T2\88 ;\02\02\00\01T3\88 <\00\08\00\05U2\87 <\02\02\00\05U3\87 =\00\08\00\05V2\86 =\02\02\00\05V3\86 >\00\08\00\05W2\85 >\02\02\00\05W3\85 ?\00\08\00\00X2\84 ?\02\02\00\00X3\84 @\00\08\00\00Y2\83 @\02\02\00\00Y3\83 A\00\08\00\05Z2\82 A\02\02\00\05Z3\82 B\00\08\00\05[2\81 B\02\02\00\05\\3\81 C\00\0C\00\05]2\81 C\02\02\00\05\\3\81 D\00\08\00\00^2\80 D\02\02\00\00^3\80 E\00\08\00\00_2\7F E\02\02\00\00_3\7F F\00\08\00\00`2~ F\02\02\00\00`3~ G\00\08\00\00a2} G\02\02\00\00a3} H\00\08\00\00b2| H\02\02\00\00b3| I\00\08\00\00c2{ I\02\02\00\00c3{ J\00\08\00\00d2z J\02\02\00\00d3z K\00\08\00\05e2y K\02\02\00\05e3y L\00\08\00\00f2x L\02\02\00\00g3x M\00\08\00\02P2w M\02\02\00\02P3w N\00\08\00\05h2v N\02\02\00\05h3v O\00\08\00\05i2u O\02\02\00\05i3u P\00\08\00\06j4t!P\02\02\00\07k5t!Q\00\08\00\05l66\22Q\02\02\00\05m66\22R\00\0C\00\05n66\22R\02\02\00\05m66\22S\02\02\01\0Ao75#S\00\02\01\0Ao75#T\00\08\00\01p8s$T\02\02\00\01q9s$U\00\0C\00\01r8s$U\02\02\00\01q9s$V\00\08\00\017:r%V\02\02\00\017;r%W\00\08\00\09?<4&W\02\02\00\09@=4&X\00\0C\00\09A<4&X\02\02\00\09@=4&Y\00\08\00\0Bs>q'Y\02\02\00\0Bs?q'Z\00\08\00\05>@3(Z\02\02\00\05>A3([\00\08\00\05-B2'[\02\02\00\05.C2'\\\00\0C\00\05tB2'\\\02\02\00\05.C2']\00\08\00\05-B1']\02\02\00\05.C1'^\00\0C\00\05tB1'^\02\02\00\05.C1'_\00\08\00\02JD0)_\02\02\00\02KE0)`\00\0C\00\02LD0)`\02\02\00\02KE0)a\00\0C\00\025F/\1Ba\02\02\00\026G/\1Bb\00\08\00\05lHp b\02\02\00\05mIp c\00\0C\00\05nHp c\02\02\00\05mIp d\00\08\00\025J.\1Bd\02\02\00\026J.\1Be\00\14\00\02uK-*e\02\02\00\02vL-+f\02\02\00\02wM,\02f\00\02\00\02wM,\02g\00\0E\00\05xNo,g\02\02\00\05xOo,h\00\0E\00\01yP+-h\02\02\00\01yQ+-i\00\03\00\02zR*.i\02\02\00\02{S*\10j\00\08\00\01|T)/j\02\02\00\01|T)/k\00\08\00\01}Un\18k\02\02\00\01}Vn\18l\00\08\00\0C>W(0l\02\02\00\0C>X(0m\00\08\00\05lY' m\02\02\00\05mZ' n\00\0C\00\05nY' n\02\02\00\05mZ' o\00\14\00\02uK&*o\02\02\00\02vL&+p\02\02\00\02~[\901q\00\07\00\01\7F\\%2q\02\02\00\01\80]%3r\00\08\00\017^m4r\02\02\00\017^m4s\02\02\00\02\81_\915t\00\08\00\025`$6t\02\02\00\026`$6u\00\0A\00\01\82al7u\02\02\00\01\82bl7v\00\0A\00\06\83ck%v\02\02\00\07\84dk%w\00\0A\00\02Me#8w\02\02\00\02Mf#9x\00\11\00\0D\85g\22:x\02\02\00\0D\86h\22;y\02\02\00\02\87i!\82\02\02\00\05.s\1B>\83\00\0E\00\05\90ti?\83\02\02\00\05\91ui?\84\00\08\00\05\92v\1A@\84\02\02\00\05\92w\1A@\85\00\08\00\05\93x\19@\85\02\02\00\05\94y\19@\86\00\0C\00\05\95x\19@\86\02\02\00\05\94y\19@\87\00\0E\00\05\96z\18A\87\02\02\00\05\96{\18A\88\16\16\00\01\97|\17B\88\00\11\00\01\98}\17C\88\02\02\00\01\99~\17\0D\89\00\18\00\01\9A\7F\16D\89\02\02\00\01\9B\80\16E\8A\00\02\00\01\9C\81\15F\8B\00\0E\00\06\9D\82\8DG\8B\02\02\00\07\9E\83\8DH\8C\00\0E\00\0B\9F\84hI\8C\02\02\00\0B\9F\85hI\8D\00\08\00\01\A0\86\14\02\8D\02\02\00\01\A0\87\14\02\8E\00\0E\00\05\A1\88\13J\8E\02\02\00\05\A1\89\13J\8F\00\11\00\05\A2\8A\13K\8F\02\02\00\05\A3\8B\13E\90\00\08\00\01p\8Cg\18\90\02\02\00\01q\8Dg\18\91\00\0C\00\01r\8Cg\18\91\02\02\00\01q\8Dg\18\92\00\08\00\0D\A4\8C\12\18\92\02\02\00\0D\A4\8D\12\18\93\00\02\00\03\0B\8E\11L\94\00\02\00\0E\A5\8F\10M\95\00\17\00\01\97|\0FN\95\02\02\00\01\99~\0FO\96\00\19\00\02\A6\90\8FP\96\02\02\00\02\A7\91\8FQ\97\00\02\00\02\A8\92\0E\02\98\00\02\00\02\02\93\0D\02\99\00\08\00\02\A9\94\0C\02\99\02\02\00\02\A9\94\0C\02\9A\00\15\00\00\AA\95fR\9A\02\02\00\00\AA\96fS\9B\02\02\00\01\99\97\0BT\9C\00\18\00\01\9A\98\0AU\9C\02\02\00\01\9B\99\0AV\9D\00\02\00\02\AB\9A\09W\9E\00\08\00\02\AC\9B\08X\9E\02\02\00\02\AC\9B\08X\9F\02\02\00\01\AD\9C\07\02\9F\00\02\00\01\AD\9C\07\02\A0\00\08\00\09?\9D\06Y\A0\02\02\00\09@\9E\06Y\A1\00\0C\00\09A\9D\06Y\A2\00\06\00\02\AE\9F\05Z\A2\02\02\00\02\AE\A0\05[\A3\02\02\00\02\AF\A1\04\\\A4\02\02\00\02I\A2\03\\\A5\00\02\00\02O\A3\02\1E\A6\02\02\00\02\B0\A4\01\\", [835 x i8] c"af_ZAam_ETar_AEar_BHar_DZar_EGar_INar_IQar_JOar_KWar_LBar_LYar_MAar_OMar_QAar_SAar_SDar_SYar_TNar_YEaz_AZbe_BYbg_BGbn_BDbn_INbr_FRbs_BAca_EScaeEScs_CZcy_GBda_DKde_ATdeeATde_BEdeeBEde_CHde_DEdeeDEde_LUdeeLUel_GRen_AUen_BWen_CAen_DKen_GBen_HKen_IEeneIEen_INen_NZen_PHen_SGen_USen_ZAen_ZWeo_EOes_ARes_BOes_CLes_COes_CRes_DOes_ECes_ESeseESes_GTes_HNes_MXes_NIes_PAes_PEes_PRes_PYes_SVes_USes_UYes_VEet_EEeu_ESeueESfa_IRfi_FIfieFIfo_FOfr_BEfreBEfr_CAfr_CHfr_FRfreFRfr_LUfreLUga_IEgaeIEgd_GBgl_ESgleESgv_GBhe_ILhi_INhr_HRhu_HUhy_AMid_IDis_ISit_CHit_ITiteITiw_ILja_JPka_GEkl_GLko_KRkw_GBlt_LTlv_LVmi_NZmk_MKmr_INms_MYmt_MTnl_BEnleBEnl_NLnleNLnn_NOno_NOoc_FRpl_PLpt_BRpt_PTptePTro_ROru_RUru_UAse_NOsk_SKsl_SIsq_ALsr_YUsrcYUsv_FIsveFIsv_SEta_INte_INtg_TJth_THti_ERti_ETtl_PHtr_TRtt_RUuk_UAur_PKuz_UZvi_VNwa_BEwaeBEyi_USzh_CNzh_HKzh_SGzh_TW\00\00\00\00\00", [18 x i8] c"\05eeuro\00\09ccyrillic\00", [69 x i8] c"\06\0F\1A&.9LC_CTYPE\00LC_NUMERIC\00LC_MONETARY\00LC_TIME\00LC_COLLATE\00LC_MESSAGES\00", [255 x i8] c"\18\22(/6BMYeq}\89\94\9F\AA\B5\C0\CB\D6\E1\E8\EF\F6\00ARMSCII-8\00ASCII\00CP1251\00CP1255\00GEORGIAN-PS\00ISO-8859-1\00ISO-8859-10\00ISO-8859-13\00ISO-8859-14\00ISO-8859-15\00ISO-8859-16\00ISO-8859-2\00ISO-8859-3\00ISO-8859-4\00ISO-8859-5\00ISO-8859-6\00ISO-8859-7\00ISO-8859-8\00ISO-8859-9\00KOI8-R\00KOI8-T\00KOI8-U\00TIS-620\00\00" }, align 8 +@__C_ctype_b_data = constant <{ [256 x i16], [128 x i16] }> <{ [256 x i16] [i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 8195, i16 8194, i16 8194, i16 8194, i16 8194, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 24577, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -11000, i16 -11000, i16 -11000, i16 -11000, i16 -11000, i16 -11000, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -10744, i16 -10744, i16 -10744, i16 -10744, i16 -10744, i16 -10744, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 2], [128 x i16] zeroinitializer }>, align 16 +@__C_ctype_b = global i16* bitcast (i8* getelementptr (i8, i8* bitcast (<{ [256 x i16], [128 x i16] }>* @__C_ctype_b_data to i8*), i64 256) to i16*), align 8 +@__C_ctype_tolower_data = constant [384 x i16] [i16 -128, i16 -127, i16 -126, i16 -125, i16 -124, i16 -123, i16 -122, i16 -121, i16 -120, i16 -119, i16 -118, i16 -117, i16 -116, i16 -115, i16 -114, i16 -113, i16 -112, i16 -111, i16 -110, i16 -109, i16 -108, i16 -107, i16 -106, i16 -105, i16 -104, i16 -103, i16 -102, i16 -101, i16 -100, i16 -99, i16 -98, i16 -97, i16 -96, i16 -95, i16 -94, i16 -93, i16 -92, i16 -91, i16 -90, i16 -89, i16 -88, i16 -87, i16 -86, i16 -85, i16 -84, i16 -83, i16 -82, i16 -81, i16 -80, i16 -79, i16 -78, i16 -77, i16 -76, i16 -75, i16 -74, i16 -73, i16 -72, i16 -71, i16 -70, i16 -69, i16 -68, i16 -67, i16 -66, i16 -65, i16 -64, i16 -63, i16 -62, i16 -61, i16 -60, i16 -59, i16 -58, i16 -57, i16 -56, i16 -55, i16 -54, i16 -53, i16 -52, i16 -51, i16 -50, i16 -49, i16 -48, i16 -47, i16 -46, i16 -45, i16 -44, i16 -43, i16 -42, i16 -41, i16 -40, i16 -39, i16 -38, i16 -37, i16 -36, i16 -35, i16 -34, i16 -33, i16 -32, i16 -31, i16 -30, i16 -29, i16 -28, i16 -27, i16 -26, i16 -25, i16 -24, i16 -23, i16 -22, i16 -21, i16 -20, i16 -19, i16 -18, i16 -17, i16 -16, i16 -15, i16 -14, i16 -13, i16 -12, i16 -11, i16 -10, i16 -9, i16 -8, i16 -7, i16 -6, i16 -5, i16 -4, i16 -3, i16 -2, i16 -1, i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255], align 16 +@__C_ctype_tolower = global i16* bitcast (i8* getelementptr (i8, i8* bitcast ([384 x i16]* @__C_ctype_tolower_data to i8*), i64 256) to i16*), align 8 +@__C_ctype_toupper_data = constant [384 x i16] [i16 -128, i16 -127, i16 -126, i16 -125, i16 -124, i16 -123, i16 -122, i16 -121, i16 -120, i16 -119, i16 -118, i16 -117, i16 -116, i16 -115, i16 -114, i16 -113, i16 -112, i16 -111, i16 -110, i16 -109, i16 -108, i16 -107, i16 -106, i16 -105, i16 -104, i16 -103, i16 -102, i16 -101, i16 -100, i16 -99, i16 -98, i16 -97, i16 -96, i16 -95, i16 -94, i16 -93, i16 -92, i16 -91, i16 -90, i16 -89, i16 -88, i16 -87, i16 -86, i16 -85, i16 -84, i16 -83, i16 -82, i16 -81, i16 -80, i16 -79, i16 -78, i16 -77, i16 -76, i16 -75, i16 -74, i16 -73, i16 -72, i16 -71, i16 -70, i16 -69, i16 -68, i16 -67, i16 -66, i16 -65, i16 -64, i16 -63, i16 -62, i16 -61, i16 -60, i16 -59, i16 -58, i16 -57, i16 -56, i16 -55, i16 -54, i16 -53, i16 -52, i16 -51, i16 -50, i16 -49, i16 -48, i16 -47, i16 -46, i16 -45, i16 -44, i16 -43, i16 -42, i16 -41, i16 -40, i16 -39, i16 -38, i16 -37, i16 -36, i16 -35, i16 -34, i16 -33, i16 -32, i16 -31, i16 -30, i16 -29, i16 -28, i16 -27, i16 -26, i16 -25, i16 -24, i16 -23, i16 -22, i16 -21, i16 -20, i16 -19, i16 -18, i16 -17, i16 -16, i16 -15, i16 -14, i16 -13, i16 -12, i16 -11, i16 -10, i16 -9, i16 -8, i16 -7, i16 -6, i16 -5, i16 -4, i16 -3, i16 -2, i16 -1, i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255], align 16 +@__C_ctype_toupper = global i16* bitcast (i8* getelementptr (i8, i8* bitcast ([384 x i16]* @__C_ctype_toupper_data to i8*), i64 256) to i16*), align 8 +@errno = global i32 0, align 4 +@h_errno = global i32 0, align 4 +@.str.216 = private unnamed_addr constant [17 x i8] c"ignoring (EPERM)\00", align 1 +@.str.7.218 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.1.219 = private unnamed_addr constant [9 x i8] c"ignoring\00", align 1 +@.str.2.220 = private unnamed_addr constant [82 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/illegal.c\00", align 1 +@.str.3.221 = private unnamed_addr constant [20 x i8] c"longjmp unsupported\00", align 1 +@.str.4.222 = private unnamed_addr constant [8 x i8] c"xxx.err\00", align 1 +@.str.5.224 = private unnamed_addr constant [18 x i8] c"ignoring (EACCES)\00", align 1 +@.str.6.225 = private unnamed_addr constant [18 x i8] c"ignoring (ENOMEM)\00", align 1 +@error_message_count = global i32 0, align 4 +@error_one_per_line = global i32 0, align 4 +@.str.228 = private unnamed_addr constant [5 x i8] c": %s\00", align 1 +@__error_at_line.old_line_number = internal global i32 0, align 4 +@__error_at_line.old_file_name = internal global i8* null, align 8 +@.str.1.229 = private unnamed_addr constant [8 x i8] c"%s:%d: \00", align 1 +@hr_locale = internal global [448 x i8] zeroinitializer, align 16 +@utf8.236 = internal constant [6 x i8] c"UTF-8\00", align 1 +@static_fd = internal global i32 -1, align 4 +@static_ut_name = internal global i8* getelementptr inbounds ([14 x i8], [14 x i8]* @default_file_name, i32 0, i32 0), align 8 +@default_file_name = internal constant [14 x i8] c"/var/run/utmp\00", align 1 +@static_utmp = internal global %struct.utmp.323 zeroinitializer, align 8 +@mbrtowc.mbstate = internal global %struct.__mbstate_t.512 zeroinitializer, align 4 +@__dso_handle = extern_weak global i8*, align 8 +@optind = global i32 1, align 4 +@opterr = global i32 1, align 4 +@optopt = global i32 63, align 4 +@optarg = global i8* null, align 8 +@getopt_data = internal global %struct._getopt_data zeroinitializer, align 8 +@.str.305 = private unnamed_addr constant [3 x i8] c"--\00", align 1 +@.str.1.306 = private unnamed_addr constant [30 x i8] c"%s: option `%s' is ambiguous\0A\00", align 1 +@.str.2.307 = private unnamed_addr constant [45 x i8] c"%s: option `--%s' doesn't allow an argument\0A\00", align 1 +@.str.3.308 = private unnamed_addr constant [45 x i8] c"%s: option `%c%s' doesn't allow an argument\0A\00", align 1 +@.str.4.309 = private unnamed_addr constant [38 x i8] c"%s: option `%s' requires an argument\0A\00", align 1 +@.str.5.310 = private unnamed_addr constant [32 x i8] c"%s: unrecognized option `--%s'\0A\00", align 1 +@.str.6.311 = private unnamed_addr constant [32 x i8] c"%s: unrecognized option `%c%s'\0A\00", align 1 +@.str.7.312 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@.str.8.313 = private unnamed_addr constant [26 x i8] c"%s: illegal option -- %c\0A\00", align 1 +@.str.9.314 = private unnamed_addr constant [26 x i8] c"%s: invalid option -- %c\0A\00", align 1 +@.str.10.315 = private unnamed_addr constant [39 x i8] c"%s: option requires an argument -- %c\0A\00", align 1 +@.str.11.316 = private unnamed_addr constant [16 x i8] c"POSIXLY_CORRECT\00", align 1 +@.str.321 = private unnamed_addr constant [14 x i8] c"#\80\80\80\80\80\80\80\80\80\80\80\80\00", align 1 +@newlocale.envstr = internal global [4 x i8*] [i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.325, i32 0, i32 0), i8* null, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.2.326, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @posix, i32 0, i32 0)], align 16 +@.str.3.322 = private unnamed_addr constant [2 x i8] c"=\00", align 1 +@.str.4.323 = private unnamed_addr constant [2 x i8] c";\00", align 1 +@posix = internal constant [6 x i8] c"POSIX\00", align 1 +@utf8.324 = internal constant [6 x i8] c"UTF-8\00", align 1 +@.str.1.325 = private unnamed_addr constant [7 x i8] c"LC_ALL\00", align 1 +@.str.2.326 = private unnamed_addr constant [5 x i8] c"LANG\00", align 1 +@empty = internal constant [1 x i8] zeroinitializer, align 1 +@mbsnrtowcs.mbstate = internal global %struct.__mbstate_t.512 zeroinitializer, align 4 +@_do_one_spec.spec_base = internal constant [7 x i8] c"\10\10\10\08\0A\0A\0A", align 1 +@.str.343 = private unnamed_addr constant [6 x i8] c"(nil)\00", align 1 +@.str.1.344 = private unnamed_addr constant [7 x i8] c"(null)\00", align 1 +@_do_one_spec.prefix = internal constant [12 x i8] c"+\00-\00 \000x\000X\00", align 1 +@strerror.buf = internal global [50 x i8] zeroinitializer, align 16 +@desc2flag = internal constant [13 x i16] [i16 0, i16 2048, i16 4, i16 256, i16 512, i16 8, i16 128, i16 2, i16 64, i16 1024, i16 32, i16 1, i16 16], align 16 +@fmt = internal constant [20 x i8] c"inf\00INF\00nan\00NAN\00.\00,\00", align 16 +@exp10_table = internal constant [9 x double] [double 1.000000e+01, double 1.000000e+02, double 1.000000e+04, double 1.000000e+08, double 1.000000e+16, double 1.000000e+32, double 1.000000e+64, double 1.000000e+128, double 1.000000e+256], align 16 +@_ppfs_init.invalid_mbs = internal constant [33 x i8] c"Invalid multibyte format string.\00", align 16 +@_ppfs_parsespec.spec_flags = internal constant [8 x i8] c" +0-#'I\00", align 1 +@_ppfs_parsespec.qual_chars = internal constant [20 x i8] c"hlLjztqZ\00\02\04\08\04\04\04\08\04\00\01\08", align 16 +@_ppfs_parsespec.spec_chars = internal constant [21 x i8] c"npxXoudifFeEgGaACScs\00", align 16 +@_ppfs_parsespec.spec_ranges = internal constant [9 x i8] c"\00\01\07\0F\10\11\12\13\14", align 1 +@_ppfs_parsespec.spec_or_mask = internal constant [8 x i16] [i16 4096, i16 5, i16 0, i16 7, i16 2, i16 4, i16 1, i16 3], align 16 +@_ppfs_parsespec.spec_and_mask = internal constant [8 x i16] [i16 7936, i16 5, i16 3840, i16 2055, i16 2, i16 4, i16 1, i16 3], align 16 +@type_codes = internal constant [12 x i16] [i16 8, i16 5, i16 3, i16 4, i16 1, i16 512, i16 0, i16 1024, i16 2048, i16 2, i16 7, i16 2055], align 16 +@type_sizes = internal constant [12 x i8] c"\00\01\01\01\04\02\01\01\01\01\01\01", align 1 +@__exit_count = hidden global i32 0, align 4 +@__exit_function_table = hidden global %struct.exit_function* null, align 8 +@__exit_slots = hidden global i32 0, align 4 +@__xpg_strerror_r.unknown = internal constant [14 x i8] c"Unknown error ", align 1 +@mbsrtowcs.mbstate = internal global %struct.__mbstate_t.512 zeroinitializer, align 4 +@_string_syserrmsgs = hidden constant [2906 x i8] c"Success\00Operation not permitted\00No such file or directory\00No such process\00Interrupted system call\00Input/output error\00No such device or address\00Argument list too long\00Exec format error\00Bad file descriptor\00No child processes\00Resource temporarily unavailable\00Cannot allocate memory\00Permission denied\00Bad address\00Block device required\00Device or resource busy\00File exists\00Invalid cross-device link\00No such device\00Not a directory\00Is a directory\00Invalid argument\00Too many open files in system\00Too many open files\00Inappropriate ioctl for device\00Text file busy\00File too large\00No space left on device\00Illegal seek\00Read-only file system\00Too many links\00Broken pipe\00Numerical argument out of domain\00Numerical result out of range\00Resource deadlock avoided\00File name too long\00No locks available\00Function not implemented\00Directory not empty\00Too many levels of symbolic links\00\00No message of desired type\00Identifier removed\00Channel number out of range\00Level 2 not synchronized\00Level 3 halted\00Level 3 reset\00Link number out of range\00Protocol driver not attached\00No CSI structure available\00Level 2 halted\00Invalid exchange\00Invalid request descriptor\00Exchange full\00No anode\00Invalid request code\00Invalid slot\00\00Bad font file format\00Device not a stream\00No data available\00Timer expired\00Out of streams resources\00Machine is not on the network\00Package not installed\00Object is remote\00Link has been severed\00Advertise error\00Srmount error\00Communication error on send\00Protocol error\00Multihop attempted\00RFS specific error\00Bad message\00Value too large for defined data type\00Name not unique on network\00File descriptor in bad state\00Remote address changed\00Can not access a needed shared library\00Accessing a corrupted shared library\00.lib section in a.out corrupted\00Attempting to link in too many shared libraries\00Cannot exec a shared library directly\00Invalid or incomplete multibyte or wide character\00Interrupted system call should be restarted\00Streams pipe error\00Too many users\00Socket operation on non-socket\00Destination address required\00Message too long\00Protocol wrong type for socket\00Protocol not available\00Protocol not supported\00Socket type not supported\00Operation not supported\00Protocol family not supported\00Address family not supported by protocol\00Address already in use\00Cannot assign requested address\00Network is down\00Network is unreachable\00Network dropped connection on reset\00Software caused connection abort\00Connection reset by peer\00No buffer space available\00Transport endpoint is already connected\00Transport endpoint is not connected\00Cannot send after transport endpoint shutdown\00Too many references: cannot splice\00Connection timed out\00Connection refused\00Host is down\00No route to host\00Operation already in progress\00Operation now in progress\00Stale NFS file handle\00Structure needs cleaning\00Not a XENIX named type file\00No XENIX semaphores available\00Is a named type file\00Remote I/O error\00Disk quota exceeded\00No medium found\00Wrong medium type\00", align 16 + +@__progname = weak alias i8*, i8** @program_invocation_short_name +@__progname_full = weak alias i8*, i8** @program_invocation_name +@environ = weak alias i8**, i8*** @__environ +@__getdents = dso_local alias i64 (i32, %struct.dirent64*, i64), i64 (i32, %struct.dirent64*, i64)* @getdents +@getchar = alias i32 (), i32 ()* @getchar_unlocked +@raise = weak alias i32 (i32), i32 (i32)* @__raise +@fgetc_unlocked = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@getc_unlocked = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@fgetc = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@getc = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@__getdents64 = dso_local alias i64 (i32, i8*, i64), i64 (i32, i8*, i64)* @getdents64 +@error = weak alias void (i32, i32, i8*, ...), void (i32, i32, i8*, ...)* @__error +@error_at_line = weak alias void (i32, i32, i8*, i32, i8*, ...), void (i32, i32, i8*, i32, i8*, ...)* @__error_at_line +@clearerr = alias void (%struct.__STDIO_FILE_STRUCT.581*), void (%struct.__STDIO_FILE_STRUCT.581*)* @clearerr_unlocked +@ferror = alias i32 (%struct.__STDIO_FILE_STRUCT.592*), i32 (%struct.__STDIO_FILE_STRUCT.592*)* @ferror_unlocked +@fflush = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fflush_unlocked +@fileno = alias i32 (%struct.__STDIO_FILE_STRUCT.608*), i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno_unlocked +@fputc_unlocked = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@putc_unlocked = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@fputc = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@putc = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@fputs = alias i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*), i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked +@fseeko = alias i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32), i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32)* @fseek +@fwrite = alias i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*), i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*)* @fwrite_unlocked +@putchar = alias i32 (i32), i32 (i32)* @putchar_unlocked +@strerror_r = weak alias i32 (i32, i8*, i64), i32 (i32, i8*, i64)* @__xpg_strerror_r + +; Function Attrs: noinline nounwind uwtable +define void @__uClibc_init() #0 { +entry: + %0 = load i32, i32* @__uClibc_init.been_there_done_that, align 4 + %tobool = icmp ne i32 %0, 0 + br i1 %tobool, label %if.end4, label %if.end + +if.end: ; preds = %entry + %1 = load i32, i32* @__uClibc_init.been_there_done_that, align 4 + %inc = add nsw i32 %1, 1 + store i32 %inc, i32* @__uClibc_init.been_there_done_that, align 4 + store i64 4096, i64* @__pagesize, align 8 + call void @_locale_init() #18 + call void @_stdio_init() #18 + br label %if.end4 + +if.end4: ; preds = %entry, %if.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define void @__uClibc_fini() #0 { +entry: + %0 = load void ()*, void ()** @__app_fini, align 8 + %cmp = icmp ne void ()* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load void ()*, void ()** @__app_fini, align 8 + call void %1() #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %2 = load void ()*, void ()** @__rtld_fini, align 8 + %cmp1 = icmp ne void ()* %2, null + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + %3 = load void ()*, void ()** @__rtld_fini, align 8 + call void %3() #18 + br label %if.end3 + +if.end3: ; preds = %if.then2, %if.end + ret void +} + +; Function Attrs: noinline noreturn nounwind uwtable +define void @__uClibc_main(i32 (i32, i8**, i8**)* %main, i32 %argc, i8** %argv, void ()* %app_init, void ()* %app_fini, void ()* %rtld_fini, i8* %stack_end) #1 { +entry: + %main.addr = alloca i32 (i32, i8**, i8**)*, align 8 + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %app_init.addr = alloca void ()*, align 8 + %app_fini.addr = alloca void ()*, align 8 + %rtld_fini.addr = alloca void ()*, align 8 + %stack_end.addr = alloca i8*, align 8 + %aux_dat = alloca i64*, align 8 + %auxvt = alloca [15 x %struct.Elf64_auxv_t], align 16 + %auxv_entry = alloca %struct.Elf64_auxv_t*, align 8 + store i32 (i32, i8**, i8**)* %main, i32 (i32, i8**, i8**)** %main.addr, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store void ()* %app_init, void ()** %app_init.addr, align 8 + store void ()* %app_fini, void ()** %app_fini.addr, align 8 + store void ()* %rtld_fini, void ()** %rtld_fini.addr, align 8 + store i8* %stack_end, i8** %stack_end.addr, align 8 + %0 = load i8*, i8** %stack_end.addr, align 8 + store i8* %0, i8** @__libc_stack_end, align 8 + %1 = load void ()*, void ()** %rtld_fini.addr, align 8 + store void ()* %1, void ()** @__rtld_fini, align 8 + %2 = load i8**, i8*** %argv.addr, align 8 + %3 = load i32, i32* %argc.addr, align 4 + %add = add nsw i32 %3, 1 + %idxprom = sext i32 %add to i64 + %arrayidx = getelementptr inbounds i8*, i8** %2, i64 %idxprom + store i8** %arrayidx, i8*** @__environ, align 8 + %4 = load i8**, i8*** @__environ, align 8 + %5 = bitcast i8** %4 to i8* + %6 = load i8**, i8*** %argv.addr, align 8 + %7 = load i8*, i8** %6, align 8 + %cmp = icmp eq i8* %5, %7 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %8 = load i8**, i8*** %argv.addr, align 8 + %9 = load i32, i32* %argc.addr, align 4 + %idxprom1 = sext i32 %9 to i64 + %arrayidx2 = getelementptr inbounds i8*, i8** %8, i64 %idxprom1 + store i8** %arrayidx2, i8*** @__environ, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %arraydecay = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 0 + %10 = bitcast %struct.Elf64_auxv_t* %arraydecay to i8* + %call = call i8* @memset(i8* %10, i32 0, i64 240) #19 + %11 = load i8**, i8*** @__environ, align 8 + %12 = bitcast i8** %11 to i64* + store i64* %12, i64** %aux_dat, align 8 + br label %while.cond + +while.cond: ; preds = %while.cond, %if.end + %13 = load i64*, i64** %aux_dat, align 8 + %14 = load i64, i64* %13, align 8 + %tobool = icmp ne i64 %14, 0 + %15 = load i64*, i64** %aux_dat, align 8 + %incdec.ptr = getelementptr inbounds i64, i64* %15, i32 1 + store i64* %incdec.ptr, i64** %aux_dat, align 8 + br i1 %tobool, label %while.cond, label %while.cond4 + +while.cond4: ; preds = %while.cond, %if.end12 + %16 = load i64*, i64** %aux_dat, align 8 + %17 = load i64, i64* %16, align 8 + %tobool5 = icmp ne i64 %17, 0 + br i1 %tobool5, label %while.body6, label %while.end13 + +while.body6: ; preds = %while.cond4 + %18 = load i64*, i64** %aux_dat, align 8 + %19 = bitcast i64* %18 to %struct.Elf64_auxv_t* + store %struct.Elf64_auxv_t* %19, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %20 = load %struct.Elf64_auxv_t*, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %a_type = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %20, i32 0, i32 0 + %21 = load i64, i64* %a_type, align 8 + %cmp7 = icmp ule i64 %21, 14 + br i1 %cmp7, label %if.then8, label %if.end12 + +if.then8: ; preds = %while.body6 + %22 = load %struct.Elf64_auxv_t*, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %a_type9 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %22, i32 0, i32 0 + %23 = load i64, i64* %a_type9, align 8 + %arrayidx10 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 %23 + %24 = bitcast %struct.Elf64_auxv_t* %arrayidx10 to i8* + %25 = load %struct.Elf64_auxv_t*, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %26 = bitcast %struct.Elf64_auxv_t* %25 to i8* + %call11 = call i8* @memcpy(i8* %24, i8* %26, i64 16) #19 + br label %if.end12 + +if.end12: ; preds = %if.then8, %while.body6 + %27 = load i64*, i64** %aux_dat, align 8 + %add.ptr = getelementptr inbounds i64, i64* %27, i64 2 + store i64* %add.ptr, i64** %aux_dat, align 8 + br label %while.cond4 + +while.end13: ; preds = %while.cond4 + call void @__uClibc_init() #18 + %arrayidx14 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 6 + %a_un = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx14, i32 0, i32 1 + %a_val = bitcast %union.anon.193* %a_un to i64* + %28 = load i64, i64* %a_val, align 8 + %tobool15 = icmp ne i64 %28, 0 + %arrayidx16 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 6 + %a_un17 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx16, i32 0, i32 1 + %a_val18 = bitcast %union.anon.193* %a_un17 to i64* + %29 = load i64, i64* %a_val18, align 8 + %cond = select i1 %tobool15, i64 %29, i64 4096 + store i64 %cond, i64* @__pagesize, align 8 + %arrayidx19 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 11 + %a_un20 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx19, i32 0, i32 1 + %a_val21 = bitcast %union.anon.193* %a_un20 to i64* + %30 = load i64, i64* %a_val21, align 8 + %cmp22 = icmp eq i64 %30, -1 + br i1 %cmp22, label %land.lhs.true, label %lor.lhs.false + +land.lhs.true: ; preds = %while.end13 + %call23 = call i32 @__check_suid() #18 + %tobool24 = icmp ne i32 %call23, 0 + br i1 %tobool24, label %if.then45, label %lor.lhs.false + +lor.lhs.false: ; preds = %land.lhs.true, %while.end13 + %arrayidx25 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 11 + %a_un26 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx25, i32 0, i32 1 + %a_val27 = bitcast %union.anon.193* %a_un26 to i64* + %31 = load i64, i64* %a_val27, align 8 + %cmp28 = icmp ne i64 %31, -1 + br i1 %cmp28, label %land.lhs.true29, label %if.end46 + +land.lhs.true29: ; preds = %lor.lhs.false + %arrayidx30 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 11 + %a_un31 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx30, i32 0, i32 1 + %a_val32 = bitcast %union.anon.193* %a_un31 to i64* + %32 = load i64, i64* %a_val32, align 8 + %arrayidx33 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 12 + %a_un34 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx33, i32 0, i32 1 + %a_val35 = bitcast %union.anon.193* %a_un34 to i64* + %33 = load i64, i64* %a_val35, align 8 + %cmp36 = icmp ne i64 %32, %33 + br i1 %cmp36, label %if.then45, label %lor.lhs.false37 + +lor.lhs.false37: ; preds = %land.lhs.true29 + %arrayidx38 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 13 + %a_un39 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx38, i32 0, i32 1 + %a_val40 = bitcast %union.anon.193* %a_un39 to i64* + %34 = load i64, i64* %a_val40, align 8 + %arrayidx41 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 14 + %a_un42 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx41, i32 0, i32 1 + %a_val43 = bitcast %union.anon.193* %a_un42 to i64* + %35 = load i64, i64* %a_val43, align 8 + %cmp44 = icmp ne i64 %34, %35 + br i1 %cmp44, label %if.then45, label %if.end46 + +if.then45: ; preds = %lor.lhs.false37, %land.lhs.true29, %land.lhs.true + call void @__check_one_fd(i32 0, i32 131072) #18 + call void @__check_one_fd(i32 1, i32 131074) #18 + call void @__check_one_fd(i32 2, i32 131074) #18 + br label %if.end46 + +if.end46: ; preds = %if.then45, %lor.lhs.false37, %lor.lhs.false + %36 = load i8**, i8*** %argv.addr, align 8 + %37 = load i8*, i8** %36, align 8 + store i8* %37, i8** @__uclibc_progname, align 8 + %38 = load i8**, i8*** %argv.addr, align 8 + %39 = load i8*, i8** %38, align 8 + store i8* %39, i8** @program_invocation_name, align 8 + %40 = load i8**, i8*** %argv.addr, align 8 + %41 = load i8*, i8** %40, align 8 + %call47 = call i8* @strrchr(i8* %41, i32 47) #20 + store i8* %call47, i8** @program_invocation_short_name, align 8 + %42 = load i8*, i8** @program_invocation_short_name, align 8 + %cmp48 = icmp ne i8* %42, null + br i1 %cmp48, label %if.then49, label %if.else + +if.then49: ; preds = %if.end46 + %43 = load i8*, i8** @program_invocation_short_name, align 8 + %incdec.ptr50 = getelementptr inbounds i8, i8* %43, i32 1 + store i8* %incdec.ptr50, i8** @program_invocation_short_name, align 8 + br label %if.end51 + +if.else: ; preds = %if.end46 + %44 = load i8*, i8** @program_invocation_name, align 8 + store i8* %44, i8** @program_invocation_short_name, align 8 + br label %if.end51 + +if.end51: ; preds = %if.else, %if.then49 + %45 = load void ()*, void ()** %app_fini.addr, align 8 + store void ()* %45, void ()** @__app_fini, align 8 + %46 = load void ()*, void ()** %app_init.addr, align 8 + %cmp52 = icmp ne void ()* %46, null + br i1 %cmp52, label %if.then53, label %if.then55 + +if.then53: ; preds = %if.end51 + %47 = load void ()*, void ()** %app_init.addr, align 8 + call void %47() #18 + br label %if.then55 + +if.then55: ; preds = %if.end51, %if.then53 + %call56 = call i32* @__errno_location() #21 + store i32 0, i32* %call56, align 4 + %call59 = call i32* @__h_errno_location() #21 + store i32 0, i32* %call59, align 4 + %48 = load i32 (i32, i8**, i8**)*, i32 (i32, i8**, i8**)** %main.addr, align 8 + %49 = load i32, i32* %argc.addr, align 4 + %50 = load i8**, i8*** %argv.addr, align 8 + %51 = load i8**, i8*** @__environ, align 8 + %call61 = call i32 %48(i32 %49, i8** %50, i8** %51) #18 + call void @exit(i32 %call61) #22 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__check_suid() #0 { +entry: + %retval = alloca i32, align 4 + %uid = alloca i32, align 4 + %euid = alloca i32, align 4 + %gid = alloca i32, align 4 + %egid = alloca i32, align 4 + %call = call i32 @getuid() #19 + store i32 %call, i32* %uid, align 4 + %call1 = call i32 @geteuid() #19 + store i32 %call1, i32* %euid, align 4 + %call2 = call i32 @getgid() #19 + store i32 %call2, i32* %gid, align 4 + %call3 = call i32 @getegid() #19 + store i32 %call3, i32* %egid, align 4 + %0 = load i32, i32* %uid, align 4 + %1 = load i32, i32* %euid, align 4 + %cmp = icmp eq i32 %0, %1 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %2 = load i32, i32* %gid, align 4 + %3 = load i32, i32* %egid, align 4 + %cmp4 = icmp eq i32 %2, %3 + br i1 %cmp4, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__check_one_fd(i32 %fd, i32 %mode) #0 { +entry: + %fd.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %st = alloca %struct.stat.192, align 8 + %nullfd = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 (i32, i32, ...) @fcntl(i32 %0, i32 1) #18 + %cmp = icmp eq i32 %call, -1 + br i1 %cmp, label %land.rhs, label %land.end + +land.rhs: ; preds = %entry + %call1 = call i32* @__errno_location() #21 + %1 = load i32, i32* %call1, align 4 + %cmp2 = icmp eq i32 %1, 9 + br label %land.end + +land.end: ; preds = %land.rhs, %entry + %2 = phi i1 [ false, %entry ], [ %cmp2, %land.rhs ] + %lnot = xor i1 %2, true + %lnot3 = xor i1 %lnot, true + %lnot.ext = zext i1 %lnot3 to i32 + %conv = sext i32 %lnot.ext to i64 + %tobool = icmp ne i64 %conv, 0 + br i1 %tobool, label %if.then, label %if.end17 + +if.then: ; preds = %land.end + %3 = load i32, i32* %mode.addr, align 4 + %call4 = call i32 (i8*, i32, ...) @open(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.1, i64 0, i64 0), i32 %3) #18 + store i32 %call4, i32* %nullfd, align 4 + %4 = load i32, i32* %nullfd, align 4 + %5 = load i32, i32* %fd.addr, align 4 + %cmp5 = icmp ne i32 %4, %5 + br i1 %cmp5, label %if.then16, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then + %6 = load i32, i32* %fd.addr, align 4 + %call7 = call i32 bitcast (i32 (i32, %struct.stat64*)* @fstat to i32 (i32, %struct.stat.192*)*)(i32 %6, %struct.stat.192* %st) #19 + %tobool8 = icmp ne i32 %call7, 0 + br i1 %tobool8, label %if.then16, label %lor.lhs.false9 + +lor.lhs.false9: ; preds = %lor.lhs.false + %st_mode = getelementptr inbounds %struct.stat.192, %struct.stat.192* %st, i32 0, i32 3 + %7 = load i32, i32* %st_mode, align 8 + %and = and i32 %7, 61440 + %cmp10 = icmp eq i32 %and, 8192 + br i1 %cmp10, label %lor.lhs.false12, label %if.then16 + +lor.lhs.false12: ; preds = %lor.lhs.false9 + %st_rdev = getelementptr inbounds %struct.stat.192, %struct.stat.192* %st, i32 0, i32 7 + %8 = load i64, i64* %st_rdev, align 8 + %call13 = call i64 @gnu_dev_makedev.172(i32 1, i32 3) #19 + %cmp14 = icmp ne i64 %8, %call13 + br i1 %cmp14, label %if.then16, label %if.end17 + +if.then16: ; preds = %lor.lhs.false12, %lor.lhs.false9, %lor.lhs.false, %if.then + call void @abort() #22 + unreachable + +if.end17: ; preds = %lor.lhs.false12, %land.end + ret void +} + +; Function Attrs: nounwind +declare i32 @getuid() #2 + +; Function Attrs: nounwind +declare i32 @geteuid() #2 + +; Function Attrs: nounwind +declare i32 @getgid() #2 + +; Function Attrs: nounwind +declare i32 @getegid() #2 + +; Function Attrs: noinline nounwind uwtable +define internal i64 @gnu_dev_makedev.172(i32 %__major, i32 %__minor) #0 { +entry: + %__major.addr = alloca i32, align 4 + %__minor.addr = alloca i32, align 4 + store i32 %__major, i32* %__major.addr, align 4 + store i32 %__minor, i32* %__minor.addr, align 4 + %0 = load i32, i32* %__minor.addr, align 4 + %and = and i32 %0, 255 + %1 = load i32, i32* %__major.addr, align 4 + %and1 = and i32 %1, 4095 + %shl = shl i32 %and1, 8 + %or = or i32 %and, %shl + %conv = zext i32 %or to i64 + %2 = load i32, i32* %__minor.addr, align 4 + %and2 = and i32 %2, -256 + %conv3 = zext i32 %and2 to i64 + %shl4 = shl i64 %conv3, 12 + %or5 = or i64 %conv, %shl4 + %3 = load i32, i32* %__major.addr, align 4 + %and6 = and i32 %3, -4096 + %conv7 = zext i32 %and6 to i64 + %shl8 = shl i64 %conv7, 32 + %or9 = or i64 %or5, %shl8 + ret i64 %or9 +} + +define i32 @main(i32 %argc, i8** %argv) { +entry: + call void @__uClibc_main(i32 (i32, i8**, i8**)* @__user_main, i32 %argc, i8** %argv, void ()* null, void ()* null, void ()* null, i8* null) + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define i32 @siggetmask() #0 { +entry: + %call = call i32 @sigblock(i32 0) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i64 @__fpending(%struct.__STDIO_FILE_STRUCT.513* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.513*, align 8 + store %struct.__STDIO_FILE_STRUCT.513* %stream, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.513*, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.513, %struct.__STDIO_FILE_STRUCT.513* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %cond.true, label %cond.end + +cond.true: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.513*, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.513, %struct.__STDIO_FILE_STRUCT.513* %2, i32 0, i32 5 + %3 = load i8*, i8** %__bufpos, align 8 + %4 = load %struct.__STDIO_FILE_STRUCT.513*, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.513, %struct.__STDIO_FILE_STRUCT.513* %4, i32 0, i32 3 + %5 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %3 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + br label %cond.end + +cond.end: ; preds = %entry, %cond.true + %cond = phi i64 [ %sub.ptr.sub, %cond.true ], [ 0, %entry ] + ret i64 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i8* @gets(i8* %s) #0 { +entry: + %s.addr = alloca i8*, align 8 + %p = alloca i8*, align 8 + %c = alloca i32, align 4 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %call = call i32 @getchar_unlocked() #18 + store i32 %call, i32* %c, align 4 + %cmp = icmp ne i32 %call, -1 + br i1 %cmp, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %1 = load i32, i32* %c, align 4 + %conv = trunc i32 %1 to i8 + %2 = load i8*, i8** %p, align 8 + store i8 %conv, i8* %2, align 1 + %conv1 = sext i8 %conv to i32 + %cmp2 = icmp ne i32 %conv1, 10 + br i1 %cmp2, label %while.body, label %while.end + +while.body: ; preds = %land.rhs + %3 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + br label %while.cond + +while.end: ; preds = %while.cond, %land.rhs + %4 = load i32, i32* %c, align 4 + %cmp4 = icmp eq i32 %4, -1 + br i1 %cmp4, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.end + %5 = load i8*, i8** %s.addr, align 8 + %6 = load i8*, i8** %p, align 8 + %cmp6 = icmp eq i8* %5, %6 + br i1 %cmp6, label %if.then, label %if.else + +if.then: ; preds = %lor.lhs.false, %while.end + store i8* null, i8** %s.addr, align 8 + br label %if.end + +if.else: ; preds = %lor.lhs.false + %7 = load i8*, i8** %p, align 8 + store i8 0, i8* %7, align 1 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %8 = load i8*, i8** %s.addr, align 8 + ret i8* %8 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @tmpnam(i8* %s) #0 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %tmpbufmem = alloca [20 x i8], align 16 + %tmpbuf = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %tobool = icmp ne i8* %0, null + %arraydecay = getelementptr inbounds [20 x i8], [20 x i8]* %tmpbufmem, i64 0, i64 0 + %cond = select i1 %tobool, i8* %0, i8* %arraydecay + store i8* %cond, i8** %tmpbuf, align 8 + %1 = load i8*, i8** %tmpbuf, align 8 + %call = call i32 @___path_search(i8* %1, i64 20, i8* null, i8* null) #18 + %conv = sext i32 %call to i64 + %tobool1 = icmp ne i64 %conv, 0 + br i1 %tobool1, label %if.then, label %if.end + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %tmpbuf, align 8 + %call2 = call i32 @__gen_tempname(i8* %2, i32 3) #18 + %conv3 = sext i32 %call2 to i64 + %tobool4 = icmp ne i64 %conv3, 0 + br i1 %tobool4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end + store i8* null, i8** %retval, align 8 + br label %return + +if.end6: ; preds = %if.end + %3 = load i8*, i8** %s.addr, align 8 + %cmp = icmp eq i8* %3, null + br i1 %cmp, label %if.then8, label %if.end10 + +if.then8: ; preds = %if.end6 + %4 = load i8*, i8** %tmpbuf, align 8 + %call9 = call i8* @memcpy(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @tmpnam_buffer, i64 0, i64 0), i8* %4, i64 20) #19 + store i8* %call9, i8** %retval, align 8 + br label %return + +if.end10: ; preds = %if.end6 + %5 = load i8*, i8** %s.addr, align 8 + store i8* %5, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end10, %if.then8, %if.then5, %if.then + %6 = load i8*, i8** %retval, align 8 + ret i8* %6 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @mktemp(i8* nonnull %template) #0 { +entry: + %template.addr = alloca i8*, align 8 + store i8* %template, i8** %template.addr, align 8 + %0 = load i8*, i8** %template.addr, align 8 + %call = call i32 @__gen_tempname(i8* %0, i32 3) #18 + %cmp = icmp slt i32 %call, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load i8*, i8** %template.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + store i8 0, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then, %entry + %2 = load i8*, i8** %template.addr, align 8 + ret i8* %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @access(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %pathname.addr, align 8 + %call1 = call i8* @__concretize_string(i8* %2) + %3 = load i32, i32* %mode.addr, align 4 + %call2 = call i64 (i64, ...) @syscall(i64 21, i8* %call1, i32 %3) #11 + %conv = trunc i64 %call2 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.exe_disk_file_t* @__get_sym_file(i8* %pathname) #3 { +entry: + %retval = alloca %struct.exe_disk_file_t*, align 8 + %pathname.addr = alloca i8*, align 8 + %cwd = alloca [1024 x i8], align 16 + %cwd_len = alloca i64, align 8 + %c = alloca i8, align 1 + %i = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + %0 = load i8*, i8** %pathname.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %pathname.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %2 to i32 + %cmp = icmp eq i32 %conv, 47 + br i1 %cmp, label %if.then2, label %if.end29 + +if.then2: ; preds = %if.end + %3 = bitcast [1024 x i8]* %cwd to i8* + %4 = call i8* @memset(i8* %3, i32 0, i64 1024) + %arraydecay = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 0 + %call = call i8* @getcwd(i8* %arraydecay, i64 1024) #11 + %tobool3 = icmp ne i8* %call, null + br i1 %tobool3, label %if.then4, label %if.end29 + +if.then4: ; preds = %if.then2 + %arraydecay5 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 0 + %call6 = call i64 @strlen(i8* %arraydecay5) #23 + store i64 %call6, i64* %cwd_len, align 8 + %5 = load i64, i64* %cwd_len, align 8 + %cmp7 = icmp ugt i64 %5, 0 + br i1 %cmp7, label %land.lhs.true, label %if.end15 + +land.lhs.true: ; preds = %if.then4 + %6 = load i64, i64* %cwd_len, align 8 + %sub = sub i64 %6, 1 + %arrayidx9 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 %sub + %7 = load i8, i8* %arrayidx9, align 1 + %conv10 = sext i8 %7 to i32 + %cmp11 = icmp eq i32 %conv10, 47 + br i1 %cmp11, label %if.then13, label %if.end15 + +if.then13: ; preds = %land.lhs.true + %8 = load i64, i64* %cwd_len, align 8 + %dec = add i64 %8, -1 + store i64 %dec, i64* %cwd_len, align 8 + %arrayidx14 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 %dec + store i8 0, i8* %arrayidx14, align 1 + br label %if.end15 + +if.end15: ; preds = %if.then13, %land.lhs.true, %if.then4 + %9 = load i8*, i8** %pathname.addr, align 8 + %arraydecay16 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 0 + %10 = load i64, i64* %cwd_len, align 8 + %call17 = call i32 @strncmp(i8* %9, i8* %arraydecay16, i64 %10) #23 + %cmp18 = icmp eq i32 %call17, 0 + br i1 %cmp18, label %if.then20, label %if.end29 + +if.then20: ; preds = %if.end15 + %11 = load i8*, i8** %pathname.addr, align 8 + %12 = load i64, i64* %cwd_len, align 8 + %arrayidx21 = getelementptr inbounds i8, i8* %11, i64 %12 + %13 = load i8, i8* %arrayidx21, align 1 + %conv22 = sext i8 %13 to i32 + %cmp23 = icmp ne i32 %conv22, 0 + br i1 %cmp23, label %if.then25, label %if.end29 + +if.then25: ; preds = %if.then20 + %14 = load i64, i64* %cwd_len, align 8 + %add = add i64 %14, 1 + %15 = load i8*, i8** %pathname.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %15, i64 %add + store i8* %add.ptr, i8** %pathname.addr, align 8 + br label %if.end29 + +if.end29: ; preds = %if.then2, %if.then20, %if.then25, %if.end15, %if.end + %16 = load i8*, i8** %pathname.addr, align 8 + %arrayidx30 = getelementptr inbounds i8, i8* %16, i64 0 + %17 = load i8, i8* %arrayidx30, align 1 + store i8 %17, i8* %c, align 1 + %18 = load i8, i8* %c, align 1 + %conv31 = sext i8 %18 to i32 + %cmp32 = icmp eq i32 %conv31, 0 + br i1 %cmp32, label %if.then38, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end29 + %19 = load i8*, i8** %pathname.addr, align 8 + %arrayidx34 = getelementptr inbounds i8, i8* %19, i64 1 + %20 = load i8, i8* %arrayidx34, align 1 + %conv35 = sext i8 %20 to i32 + %cmp36 = icmp ne i32 %conv35, 0 + br i1 %cmp36, label %if.then38, label %if.end39 + +if.then38: ; preds = %lor.lhs.false, %if.end29 + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +if.end39: ; preds = %lor.lhs.false + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end39 + %21 = load i32, i32* %i, align 4 + %22 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %cmp40 = icmp ult i32 %21, %22 + br i1 %cmp40, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %23 = load i8, i8* %c, align 1 + %conv42 = sext i8 %23 to i32 + %24 = load i32, i32* %i, align 4 + %conv43 = trunc i32 %24 to i8 + %conv44 = sext i8 %conv43 to i32 + %add45 = add nsw i32 65, %conv44 + %cmp46 = icmp eq i32 %conv42, %add45 + br i1 %cmp46, label %if.then48, label %for.inc + +if.then48: ; preds = %for.body + %25 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %26 = load i32, i32* %i, align 4 + %idxprom = zext i32 %26 to i64 + %arrayidx49 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %25, i64 %idxprom + store %struct.exe_disk_file_t* %arrayidx49, %struct.exe_disk_file_t** %df, align 8 + %27 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %27, i32 0, i32 2 + %28 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %28, i32 0, i32 1 + %29 = load i64, i64* %st_ino, align 8 + %cmp50 = icmp eq i64 %29, 0 + br i1 %cmp50, label %if.then52, label %if.end53 + +if.then52: ; preds = %if.then48 + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +if.end53: ; preds = %if.then48 + %30 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + store %struct.exe_disk_file_t* %30, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +for.inc: ; preds = %for.body + %31 = load i32, i32* %i, align 4 + %inc = add i32 %31, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +return: ; preds = %for.end, %if.end53, %if.then52, %if.then38, %if.then + %32 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %retval, align 8 + ret %struct.exe_disk_file_t* %32 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @__concretize_string(i8* %s) #3 { +entry: + %s.addr = alloca i8*, align 8 + %sc = alloca i8*, align 8 + %i = alloca i32, align 4 + %c = alloca i8, align 1 + %cc = alloca i8, align 1 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %call = call i8* @__concretize_ptr(i8* %0) + store i8* %call, i8** %sc, align 8 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load i8*, i8** %sc, align 8 + %2 = load i8, i8* %1, align 1 + store i8 %2, i8* %c, align 1 + %3 = load i8, i8* %c, align 1 + %conv = sext i8 %3 to i64 + %call1 = call i32 @gs_is_symbolic(i64 %conv) + %tobool = icmp ne i32 %call1, 0 + br i1 %tobool, label %if.end4, label %if.then + +if.then: ; preds = %for.cond + %4 = load i8, i8* %c, align 1 + %tobool2 = icmp ne i8 %4, 0 + br i1 %tobool2, label %for.inc, label %for.end + +if.end4: ; preds = %for.cond + %5 = load i32, i32* %i, align 4 + %6 = load i32, i32* %i, align 4 + %sub = sub i32 %6, 1 + %and = and i32 %5, %sub + %tobool5 = icmp ne i32 %and, 0 + %7 = load i8, i8* %c, align 1 + br i1 %tobool5, label %if.else14, label %if.then6 + +if.then6: ; preds = %if.end4 + %tobool7 = icmp ne i8 %7, 0 + br i1 %tobool7, label %if.else, label %if.then8 + +if.then8: ; preds = %if.then6 + %8 = load i8*, i8** %sc, align 8 + store i8 0, i8* %8, align 1 + br label %for.end + +if.else: ; preds = %if.then6 + %9 = load i8, i8* %c, align 1 + %conv9 = sext i8 %9 to i32 + %cmp = icmp eq i32 %conv9, 47 + br i1 %cmp, label %if.then11, label %for.inc + +if.then11: ; preds = %if.else + %10 = load i8*, i8** %sc, align 8 + store i8 47, i8* %10, align 1 + br label %for.inc + +if.else14: ; preds = %if.end4 + %conv15 = sext i8 %7 to i64 + %call16 = call i64 @gs_get_valuel(i64 %conv15) + %conv17 = trunc i64 %call16 to i8 + store i8 %conv17, i8* %cc, align 1 + %11 = load i8, i8* %cc, align 1 + %conv18 = sext i8 %11 to i32 + %12 = load i8, i8* %c, align 1 + %conv19 = sext i8 %12 to i32 + %cmp20 = icmp eq i32 %conv18, %conv19 + call void @gs_assume(i1 zeroext %cmp20) + %13 = load i8, i8* %cc, align 1 + %14 = load i8*, i8** %sc, align 8 + store i8 %13, i8* %14, align 1 + %15 = load i8, i8* %cc, align 1 + %tobool22 = icmp ne i8 %15, 0 + br i1 %tobool22, label %for.inc, label %for.end + +for.inc: ; preds = %if.else, %if.then11, %if.else14, %if.then + %16 = load i32, i32* %i, align 4 + %inc = add i32 %16, 1 + store i32 %inc, i32* %i, align 4 + %17 = load i8*, i8** %sc, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %17, i32 1 + store i8* %incdec.ptr, i8** %sc, align 8 + br label %for.cond + +for.end: ; preds = %if.else14, %if.then, %if.then8 + %18 = load i8*, i8** %s.addr, align 8 + ret i8* %18 +} + +; Function Attrs: nounwind +declare dso_local i64 @syscall(i64, ...) #4 + +; Function Attrs: noinline nounwind uwtable +define internal i8* @__concretize_ptr(i8* %p) #3 { +entry: + %p.addr = alloca i8*, align 8 + store i8* %p, i8** %p.addr, align 8 + %0 = load i8*, i8** %p.addr, align 8 + %1 = ptrtoint i8* %0 to i64 + %call = call i32 @gs_is_symbolic(i64 %1) + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @gs_report_error(i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 1386, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.27, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.28, i64 0, i64 0)) #24 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %p.addr, align 8 + ret i8* %2 +} + +declare dso_local i32 @gs_is_symbolic(i64) #5 + +declare dso_local i64 @gs_get_valuel(i64) #5 + +declare dso_local void @gs_assume(i1 zeroext) #5 + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.25, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +declare dso_local void @print_string(i8*) #5 + +declare dso_local void @sym_print(i32, ...) #5 + +; Function Attrs: noreturn +declare dso_local void @stop(i32) #7 + +; Function Attrs: argmemonly nounwind willreturn writeonly +declare void @llvm.memset.p0i8.i64(i8* nocapture writeonly, i8, i64, i1 immarg) #8 + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @getcwd(i8* %buf, i64 %size) #3 { +entry: + %retval = alloca i8*, align 8 + %buf.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %r = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + %0 = load i32, i32* @getcwd.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @getcwd.n_calls, align 4 + %1 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool = icmp ne i32 %1, 0 + br i1 %tobool, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %2 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %3 = load i32, i32* %2, align 4 + %4 = load i32, i32* @getcwd.n_calls, align 4 + %cmp = icmp eq i32 %3, %4 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %5 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %5, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call = call i32* @__errno_location() #25 + store i32 34, i32* %call, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + %6 = load i8*, i8** %buf.addr, align 8 + %tobool1 = icmp ne i8* %6, null + br i1 %tobool1, label %if.else, label %if.then2 + +if.then2: ; preds = %if.end + store i64 1024, i64* %size.addr, align 8 + %7 = load i64, i64* %size.addr, align 8 + %call3 = call noalias i8* @malloc(i64 %7) #11 + store i8* %call3, i8** %buf.addr, align 8 + %8 = load i8*, i8** %buf.addr, align 8 + %tobool4 = icmp ne i8* %8, null + br i1 %tobool4, label %if.end12, label %if.then5 + +if.then5: ; preds = %if.then2 + %call6 = call i32* @__errno_location() #25 + store i32 12, i32* %call6, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.else: ; preds = %if.end + %9 = load i64, i64* %size.addr, align 8 + %tobool8 = icmp ne i64 %9, 0 + br i1 %tobool8, label %if.end12, label %if.then9 + +if.then9: ; preds = %if.else + %call10 = call i32* @__errno_location() #25 + store i32 22, i32* %call10, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end12: ; preds = %if.else, %if.then2 + %10 = load i8*, i8** %buf.addr, align 8 + %call13 = call i8* @__concretize_ptr(i8* %10) + store i8* %call13, i8** %buf.addr, align 8 + %11 = load i64, i64* %size.addr, align 8 + %call14 = call i64 @__concretize_size(i64 %11) + store i64 %call14, i64* %size.addr, align 8 + %12 = load i8*, i8** %buf.addr, align 8 + %13 = load i64, i64* %size.addr, align 8 + %call15 = call i64 (i64, ...) @syscall(i64 79, i8* %12, i64 %13) #11 + %conv = trunc i64 %call15 to i32 + store i32 %conv, i32* %r, align 4 + %14 = load i32, i32* %r, align 4 + %cmp16 = icmp eq i32 %14, -1 + br i1 %cmp16, label %if.then18, label %if.end19 + +if.then18: ; preds = %if.end12 + store i8* null, i8** %retval, align 8 + br label %return + +if.end19: ; preds = %if.end12 + %15 = load i8*, i8** %buf.addr, align 8 + store i8* %15, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end19, %if.then18, %if.then9, %if.then5, %if.then + %16 = load i8*, i8** %retval, align 8 + ret i8* %16 +} + +; Function Attrs: nounwind +declare dso_local noalias i8* @malloc(i64) #4 + +; Function Attrs: noinline nounwind uwtable +define internal i64 @__concretize_size(i64 %s) #3 { +entry: + %s.addr = alloca i64, align 8 + %sc = alloca i64, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %call = call i64 @gs_get_valuel(i64 %0) + store i64 %call, i64* %sc, align 8 + %1 = load i64, i64* %sc, align 8 + %2 = load i64, i64* %s.addr, align 8 + %cmp = icmp eq i64 %1, %2 + call void @gs_assume(i1 zeroext %cmp) + %3 = load i64, i64* %sc, align 8 + ret i64 %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @umask(i32 %mask) #3 { +entry: + %mask.addr = alloca i32, align 4 + %r = alloca i32, align 4 + store i32 %mask, i32* %mask.addr, align 4 + %0 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 1), align 8 + store i32 %0, i32* %r, align 4 + %1 = load i32, i32* %mask.addr, align 4 + %and = and i32 %1, 511 + store i32 %and, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 1), align 8 + %2 = load i32, i32* %r, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_open(i8* %pathname, i32 %flags, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %fd = alloca i32, align 4 + %os_fd = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + store i32 0, i32* %fd, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %0, 32 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %1 = load i32, i32* %fd, align 4 + %idxprom = sext i32 %1 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + %flags1 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %arrayidx, i32 0, i32 1 + %2 = load i32, i32* %flags1, align 4 + %and = and i32 %2, 1 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %for.inc, label %for.end + +for.inc: ; preds = %for.body + %3 = load i32, i32* %fd, align 4 + %inc = add nsw i32 %3, 1 + store i32 %inc, i32* %fd, align 4 + br label %for.cond + +for.end: ; preds = %for.body, %for.cond + %4 = load i32, i32* %fd, align 4 + %cmp2 = icmp eq i32 %4, 32 + br i1 %cmp2, label %if.then3, label %if.end4 + +if.then3: ; preds = %for.end + %call = call i32* @__errno_location() #25 + store i32 24, i32* %call, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %for.end + %5 = load i32, i32* %fd, align 4 + %idxprom5 = sext i32 %5 to i64 + %arrayidx6 = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom5 + store %struct.exe_file_t* %arrayidx6, %struct.exe_file_t** %f, align 8 + %6 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %7 = bitcast %struct.exe_file_t* %6 to i8* + %8 = call i8* @memset(i8* %7, i32 0, i64 24) + %9 = load i8*, i8** %pathname.addr, align 8 + %call7 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %9) + store %struct.exe_disk_file_t* %call7, %struct.exe_disk_file_t** %df, align 8 + %10 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %tobool8 = icmp ne %struct.exe_disk_file_t* %10, null + br i1 %tobool8, label %if.then9, label %if.else45 + +if.then9: ; preds = %if.end4 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %12 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %12, i32 0, i32 3 + store %struct.exe_disk_file_t* %11, %struct.exe_disk_file_t** %dfile, align 8 + %13 = load i32, i32* %flags.addr, align 4 + %and10 = and i32 %13, 64 + %tobool11 = icmp ne i32 %and10, 0 + br i1 %tobool11, label %land.lhs.true, label %if.end16 + +land.lhs.true: ; preds = %if.then9 + %14 = load i32, i32* %flags.addr, align 4 + %and12 = and i32 %14, 128 + %tobool13 = icmp ne i32 %and12, 0 + br i1 %tobool13, label %if.then14, label %if.end16 + +if.then14: ; preds = %land.lhs.true + %call15 = call i32* @__errno_location() #25 + store i32 17, i32* %call15, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end16: ; preds = %land.lhs.true, %if.then9 + %15 = load i32, i32* %flags.addr, align 4 + %and17 = and i32 %15, 512 + %tobool18 = icmp ne i32 %and17, 0 + br i1 %tobool18, label %land.lhs.true19, label %if.end24 + +land.lhs.true19: ; preds = %if.end16 + %16 = load i32, i32* %flags.addr, align 4 + %and20 = and i32 %16, 0 + %tobool21 = icmp ne i32 %and20, 0 + br i1 %tobool21, label %if.then22, label %if.end24 + +if.then22: ; preds = %land.lhs.true19 + call void @gs_warning(i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.5, i64 0, i64 0)) + %call23 = call i32* @__errno_location() #25 + store i32 13, i32* %call23, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end24: ; preds = %land.lhs.true19, %if.end16 + %17 = load i32, i32* %flags.addr, align 4 + %and25 = and i32 %17, 128 + %tobool26 = icmp ne i32 %and25, 0 + br i1 %tobool26, label %land.lhs.true27, label %if.end32 + +land.lhs.true27: ; preds = %if.end24 + %18 = load i32, i32* %flags.addr, align 4 + %and28 = and i32 %18, 64 + %tobool29 = icmp ne i32 %and28, 0 + br i1 %tobool29, label %if.end32, label %if.then30 + +if.then30: ; preds = %land.lhs.true27 + call void @gs_warning(i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.1.6, i64 0, i64 0)) + %call31 = call i32* @__errno_location() #25 + store i32 13, i32* %call31, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end32: ; preds = %land.lhs.true27, %if.end24 + %19 = load i32, i32* %flags.addr, align 4 + %20 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %20, i32 0, i32 2 + %21 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %call33 = call i32 @has_permission(i32 %19, %struct.stat64* %21) + %tobool34 = icmp ne i32 %call33, 0 + br i1 %tobool34, label %if.else, label %if.then35 + +if.then35: ; preds = %if.end32 + %call36 = call i32* @__errno_location() #25 + store i32 13, i32* %call36, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.end32 + %22 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile37 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %22, i32 0, i32 3 + %23 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile37, align 8 + %stat38 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %23, i32 0, i32 2 + %24 = load %struct.stat64*, %struct.stat64** %stat38, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %24, i32 0, i32 3 + %25 = load i32, i32* %st_mode, align 8 + %and39 = and i32 %25, -512 + %26 = load i32, i32* %mode.addr, align 4 + %27 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 1), align 8 + %neg = xor i32 %27, -1 + %and40 = and i32 %26, %neg + %or = or i32 %and39, %and40 + %28 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile41 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %28, i32 0, i32 3 + %29 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile41, align 8 + %stat42 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %29, i32 0, i32 2 + %30 = load %struct.stat64*, %struct.stat64** %stat42, align 8 + %st_mode43 = getelementptr inbounds %struct.stat64, %struct.stat64* %30, i32 0, i32 3 + store i32 %or, i32* %st_mode43, align 8 + br label %if.end53 + +if.else45: ; preds = %if.end4 + %31 = load i8*, i8** %pathname.addr, align 8 + %call46 = call i8* @__concretize_string(i8* %31) + %32 = load i32, i32* %flags.addr, align 4 + %33 = load i32, i32* %mode.addr, align 4 + %call47 = call i64 (i64, ...) @syscall(i64 2, i8* %call46, i32 %32, i32 %33) #11 + %conv = trunc i64 %call47 to i32 + store i32 %conv, i32* %os_fd, align 4 + %34 = load i32, i32* %os_fd, align 4 + %cmp48 = icmp eq i32 %34, -1 + br i1 %cmp48, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.else45 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end51: ; preds = %if.else45 + %35 = load i32, i32* %os_fd, align 4 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd52 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 0 + store i32 %35, i32* %fd52, align 8 + br label %if.end53 + +if.end53: ; preds = %if.end51, %if.else + %37 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %37, i32 0, i32 1 + store i32 1, i32* %flags54, align 4 + %38 = load i32, i32* %flags.addr, align 4 + %and55 = and i32 %38, 3 + %cmp56 = icmp eq i32 %and55, 0 + br i1 %cmp56, label %if.then58, label %if.else61 + +if.then58: ; preds = %if.end53 + %39 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags59 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %39, i32 0, i32 1 + %40 = load i32, i32* %flags59, align 4 + %or60 = or i32 %40, 4 + store i32 %or60, i32* %flags59, align 4 + br label %if.end72 + +if.else61: ; preds = %if.end53 + %41 = load i32, i32* %flags.addr, align 4 + %and62 = and i32 %41, 3 + %cmp63 = icmp eq i32 %and62, 1 + %42 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags66 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %42, i32 0, i32 1 + %43 = load i32, i32* %flags66, align 4 + br i1 %cmp63, label %if.then65, label %if.else68 + +if.then65: ; preds = %if.else61 + %or67 = or i32 %43, 8 + store i32 %or67, i32* %flags66, align 4 + br label %if.end72 + +if.else68: ; preds = %if.else61 + %or70 = or i32 %43, 12 + store i32 %or70, i32* %flags66, align 4 + br label %if.end72 + +if.end72: ; preds = %if.then65, %if.else68, %if.then58 + %44 = load i32, i32* %fd, align 4 + store i32 %44, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end72, %if.then50, %if.then35, %if.then30, %if.then22, %if.then14, %if.then3 + %45 = load i32, i32* %retval, align 4 + ret i32 %45 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @gs_warning(i8* %message) #3 { +entry: + %message.addr = alloca i8*, align 8 + store i8* %message, i8** %message.addr, align 8 + %0 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %0) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.25, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @has_permission(i32 %flags, %struct.stat64* %s) #3 { +entry: + %retval = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %s.addr = alloca %struct.stat64*, align 8 + %write_access = alloca i32, align 4 + %read_access = alloca i32, align 4 + %mode = alloca i32, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store %struct.stat64* %s, %struct.stat64** %s.addr, align 8 + %0 = load %struct.stat64*, %struct.stat64** %s.addr, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %0, i32 0, i32 3 + %1 = load i32, i32* %st_mode, align 8 + store i32 %1, i32* %mode, align 4 + %2 = load i32, i32* %flags.addr, align 4 + %and = and i32 %2, 0 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %3 = load i32, i32* %flags.addr, align 4 + %and1 = and i32 %3, 2 + %tobool2 = icmp ne i32 %and1, 0 + br i1 %tobool2, label %if.then, label %if.else + +if.then: ; preds = %lor.lhs.false, %entry + store i32 1, i32* %read_access, align 4 + br label %if.end + +if.else: ; preds = %lor.lhs.false + store i32 0, i32* %read_access, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %4 = load i32, i32* %flags.addr, align 4 + %and3 = and i32 %4, 1 + %tobool4 = icmp ne i32 %and3, 0 + br i1 %tobool4, label %if.then8, label %lor.lhs.false5 + +lor.lhs.false5: ; preds = %if.end + %5 = load i32, i32* %flags.addr, align 4 + %and6 = and i32 %5, 2 + %tobool7 = icmp ne i32 %and6, 0 + br i1 %tobool7, label %if.then8, label %if.else9 + +if.then8: ; preds = %lor.lhs.false5, %if.end + store i32 1, i32* %write_access, align 4 + br label %if.end10 + +if.else9: ; preds = %lor.lhs.false5 + store i32 0, i32* %write_access, align 4 + br label %if.end10 + +if.end10: ; preds = %if.else9, %if.then8 + %6 = load i32, i32* %read_access, align 4 + %tobool11 = icmp ne i32 %6, 0 + br i1 %tobool11, label %land.lhs.true, label %if.end18 + +land.lhs.true: ; preds = %if.end10 + %7 = load i32, i32* %mode, align 4 + %and12 = and i32 %7, 256 + %8 = load i32, i32* %mode, align 4 + %and13 = and i32 %8, 32 + %or = or i32 %and12, %and13 + %9 = load i32, i32* %mode, align 4 + %and14 = and i32 %9, 4 + %or15 = or i32 %or, %and14 + %tobool16 = icmp ne i32 %or15, 0 + br i1 %tobool16, label %if.then17, label %if.end18 + +if.then17: ; preds = %land.lhs.true + store i32 0, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %land.lhs.true, %if.end10 + %10 = load i32, i32* %write_access, align 4 + %tobool19 = icmp ne i32 %10, 0 + br i1 %tobool19, label %land.lhs.true20, label %if.end28 + +land.lhs.true20: ; preds = %if.end18 + %11 = load i32, i32* %mode, align 4 + %and21 = and i32 %11, 128 + %12 = load i32, i32* %mode, align 4 + %and22 = and i32 %12, 16 + %or23 = or i32 %and21, %and22 + %13 = load i32, i32* %mode, align 4 + %and24 = and i32 %13, 2 + %or25 = or i32 %or23, %and24 + %tobool26 = icmp ne i32 %or25, 0 + br i1 %tobool26, label %if.end28, label %if.then27 + +if.then27: ; preds = %land.lhs.true20 + store i32 0, i32* %retval, align 4 + br label %return + +if.end28: ; preds = %land.lhs.true20, %if.end18 + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end28, %if.then27, %if.then17 + %14 = load i32, i32* %retval, align 4 + ret i32 %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_openat(i32 %basefd, i8* %pathname, i32 %flags, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %basefd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %fd = alloca i32, align 4 + %bf = alloca %struct.exe_file_t*, align 8 + %os_fd = alloca i32, align 4 + store i32 %basefd, i32* %basefd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %basefd.addr, align 4 + %cmp = icmp ne i32 %0, -100 + br i1 %cmp, label %if.then, label %if.end8 + +if.then: ; preds = %entry + %1 = load i32, i32* %basefd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %bf, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %bf, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.else, label %if.then1 + +if.then1: ; preds = %if.then + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %bf, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 3 + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool3 = icmp ne %struct.exe_disk_file_t* %4, null + br i1 %tobool3, label %if.then4, label %if.end6 + +if.then4: ; preds = %if.else + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0)) + %call5 = call i32* @__errno_location() #25 + store i32 2, i32* %call5, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.else + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %bf, align 8 + %fd7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd7, align 8 + store i32 %6, i32* %basefd.addr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end6, %entry + %7 = load i8*, i8** %pathname.addr, align 8 + %call9 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %7) + %tobool10 = icmp ne %struct.exe_disk_file_t* %call9, null + br i1 %tobool10, label %if.then11, label %if.end13 + +if.then11: ; preds = %if.end8 + %8 = load i8*, i8** %pathname.addr, align 8 + %9 = load i32, i32* %flags.addr, align 4 + %10 = load i32, i32* %mode.addr, align 4 + %call12 = call i32 @__fd_open(i8* %8, i32 %9, i32 %10) + store i32 %call12, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.end8 + store i32 0, i32* %fd, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end13 + %11 = load i32, i32* %fd, align 4 + %cmp14 = icmp slt i32 %11, 32 + br i1 %cmp14, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %12 = load i32, i32* %fd, align 4 + %idxprom = sext i32 %12 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + %flags15 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %arrayidx, i32 0, i32 1 + %13 = load i32, i32* %flags15, align 4 + %and = and i32 %13, 1 + %tobool16 = icmp ne i32 %and, 0 + br i1 %tobool16, label %for.inc, label %for.end + +for.inc: ; preds = %for.body + %14 = load i32, i32* %fd, align 4 + %inc = add nsw i32 %14, 1 + store i32 %inc, i32* %fd, align 4 + br label %for.cond + +for.end: ; preds = %for.body, %for.cond + %15 = load i32, i32* %fd, align 4 + %cmp19 = icmp eq i32 %15, 32 + br i1 %cmp19, label %if.then20, label %if.end22 + +if.then20: ; preds = %for.end + %call21 = call i32* @__errno_location() #25 + store i32 24, i32* %call21, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end22: ; preds = %for.end + %16 = load i32, i32* %fd, align 4 + %idxprom23 = sext i32 %16 to i64 + %arrayidx24 = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom23 + store %struct.exe_file_t* %arrayidx24, %struct.exe_file_t** %f, align 8 + %17 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %18 = bitcast %struct.exe_file_t* %17 to i8* + %19 = call i8* @memset(i8* %18, i32 0, i64 24) + %20 = load i32, i32* %basefd.addr, align 4 + %conv = sext i32 %20 to i64 + %21 = load i8*, i8** %pathname.addr, align 8 + %call25 = call i8* @__concretize_string(i8* %21) + %22 = load i32, i32* %flags.addr, align 4 + %conv26 = sext i32 %22 to i64 + %23 = load i32, i32* %mode.addr, align 4 + %call27 = call i64 (i64, ...) @syscall(i64 257, i64 %conv, i8* %call25, i64 %conv26, i32 %23) #11 + %conv28 = trunc i64 %call27 to i32 + store i32 %conv28, i32* %os_fd, align 4 + %24 = load i32, i32* %os_fd, align 4 + %cmp29 = icmp eq i32 %24, -1 + br i1 %cmp29, label %if.then31, label %if.end32 + +if.then31: ; preds = %if.end22 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end32: ; preds = %if.end22 + %25 = load i32, i32* %os_fd, align 4 + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd33 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 0 + store i32 %25, i32* %fd33, align 8 + %27 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags34 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %27, i32 0, i32 1 + store i32 1, i32* %flags34, align 4 + %28 = load i32, i32* %flags.addr, align 4 + %and35 = and i32 %28, 3 + %cmp36 = icmp eq i32 %and35, 0 + br i1 %cmp36, label %if.then38, label %if.else40 + +if.then38: ; preds = %if.end32 + %29 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags39 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %29, i32 0, i32 1 + %30 = load i32, i32* %flags39, align 4 + %or = or i32 %30, 4 + store i32 %or, i32* %flags39, align 4 + br label %if.end51 + +if.else40: ; preds = %if.end32 + %31 = load i32, i32* %flags.addr, align 4 + %and41 = and i32 %31, 3 + %cmp42 = icmp eq i32 %and41, 1 + %32 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags45 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %32, i32 0, i32 1 + %33 = load i32, i32* %flags45, align 4 + br i1 %cmp42, label %if.then44, label %if.else47 + +if.then44: ; preds = %if.else40 + %or46 = or i32 %33, 8 + store i32 %or46, i32* %flags45, align 4 + br label %if.end51 + +if.else47: ; preds = %if.else40 + %or49 = or i32 %33, 12 + store i32 %or49, i32* %flags45, align 4 + br label %if.end51 + +if.end51: ; preds = %if.then44, %if.else47, %if.then38 + %34 = load i32, i32* %fd, align 4 + store i32 %34, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end51, %if.then31, %if.then20, %if.then11, %if.then4, %if.then1 + %35 = load i32, i32* %retval, align 4 + ret i32 %35 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.exe_file_t* @__get_file(i32 %fd) #3 { +entry: + %retval = alloca %struct.exe_file_t*, align 8 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %cmp = icmp sge i32 %0, 0 + %1 = load i32, i32* %fd.addr, align 4 + %cmp1 = icmp slt i32 %1, 32 + %or.cond = and i1 %cmp, %cmp1 + br i1 %or.cond, label %if.then, label %if.end3 + +if.then: ; preds = %entry + %2 = load i32, i32* %fd.addr, align 4 + %idxprom = sext i32 %2 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + store %struct.exe_file_t* %arrayidx, %struct.exe_file_t** %f, align 8 + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 1 + %4 = load i32, i32* %flags, align 4 + %and = and i32 %4, 1 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.then + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + store %struct.exe_file_t* %5, %struct.exe_file_t** %retval, align 8 + br label %return + +if.end3: ; preds = %if.then, %entry + store %struct.exe_file_t* null, %struct.exe_file_t** %retval, align 8 + br label %return + +return: ; preds = %if.end3, %if.then2 + %6 = load %struct.exe_file_t*, %struct.exe_file_t** %retval, align 8 + ret %struct.exe_file_t* %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @utimes(i8* nonnull %path, %struct.timespec* %times) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %times.addr = alloca %struct.timespec*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + %newTimes = alloca [2 x %struct.timespec], align 16 + store i8* %path, i8** %path.addr, align 8 + store %struct.timespec* %times, %struct.timespec** %times.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end12 + +if.then: ; preds = %entry + %2 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %tobool1 = icmp ne %struct.timespec* %2, null + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + %arrayidx = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 0 + %call3 = call i32 @gettimeofday(%struct.timespec* %arrayidx, i8* null) #11 + %arrayidx4 = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 1 + %arrayidx5 = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 0 + %3 = bitcast %struct.timespec* %arrayidx4 to i8* + %4 = bitcast %struct.timespec* %arrayidx5 to i8* + %5 = call i8* @memcpy(i8* %3, i8* %4, i64 16) + %arraydecay = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 0 + store %struct.timespec* %arraydecay, %struct.timespec** %times.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %6 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %arrayidx6 = getelementptr inbounds %struct.timespec, %struct.timespec* %6, i64 0 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %arrayidx6, i32 0, i32 0 + %7 = load i64, i64* %tv_sec, align 8 + %8 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %8, i32 0, i32 2 + %9 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_atim = getelementptr inbounds %struct.stat64, %struct.stat64* %9, i32 0, i32 11 + %tv_sec7 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim, i32 0, i32 0 + store i64 %7, i64* %tv_sec7, align 8 + %10 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %arrayidx8 = getelementptr inbounds %struct.timespec, %struct.timespec* %10, i64 1 + %tv_sec9 = getelementptr inbounds %struct.timespec, %struct.timespec* %arrayidx8, i32 0, i32 0 + %11 = load i64, i64* %tv_sec9, align 8 + %12 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat10 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %12, i32 0, i32 2 + %13 = load %struct.stat64*, %struct.stat64** %stat10, align 8 + %st_mtim = getelementptr inbounds %struct.stat64, %struct.stat64* %13, i32 0, i32 12 + %tv_sec11 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim, i32 0, i32 0 + store i64 %11, i64* %tv_sec11, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.end12: ; preds = %entry + %14 = load i8*, i8** %path.addr, align 8 + %call13 = call i8* @__concretize_string(i8* %14) + %15 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %call14 = call i64 (i64, ...) @syscall(i64 235, i8* %call13, %struct.timespec* %15) #11 + %conv = trunc i64 %call14 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end12, %if.end + %16 = load i32, i32* %retval, align 4 + ret i32 %16 +} + +; Function Attrs: nounwind +declare dso_local i32 @gettimeofday(%struct.timespec*, i8*) #4 + +; Function Attrs: argmemonly nounwind willreturn +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* noalias nocapture writeonly, i8* noalias nocapture readonly, i64, i1 immarg) #9 + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @futimesat(i32 %fd, i8* %path, %struct.timespec* %times) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %times.addr = alloca %struct.timespec*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.timespec* %times, %struct.timespec** %times.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %cmp = icmp ne i32 %0, -100 + br i1 %cmp, label %if.then, label %if.end8 + +if.then: ; preds = %entry + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.else, label %if.then1 + +if.then1: ; preds = %if.then + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 3 + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool3 = icmp ne %struct.exe_disk_file_t* %4, null + br i1 %tobool3, label %if.then4, label %if.end6 + +if.then4: ; preds = %if.else + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0)) + %call5 = call i32* @__errno_location() #25 + store i32 2, i32* %call5, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.else + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd7, align 8 + store i32 %6, i32* %fd.addr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end6, %entry + %7 = load i8*, i8** %path.addr, align 8 + %call9 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %7) + %tobool10 = icmp ne %struct.exe_disk_file_t* %call9, null + br i1 %tobool10, label %if.then11, label %if.end13 + +if.then11: ; preds = %if.end8 + %8 = load i8*, i8** %path.addr, align 8 + %9 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %call12 = call i32 @utimes(i8* %8, %struct.timespec* %9) #11 + store i32 %call12, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.end8 + %10 = load i32, i32* %fd.addr, align 4 + %conv = sext i32 %10 to i64 + %11 = load i8*, i8** %path.addr, align 8 + %tobool14 = icmp ne i8* %11, null + br i1 %tobool14, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end13 + %12 = load i8*, i8** %path.addr, align 8 + %call15 = call i8* @__concretize_string(i8* %12) + br label %cond.end + +cond.end: ; preds = %if.end13, %cond.true + %cond = phi i8* [ %call15, %cond.true ], [ null, %if.end13 ] + %13 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %call16 = call i64 (i64, ...) @syscall(i64 261, i64 %conv, i8* %cond, %struct.timespec* %13) #11 + %conv17 = trunc i64 %call16 to i32 + store i32 %conv17, i32* %retval, align 4 + br label %return + +return: ; preds = %cond.end, %if.then11, %if.then4, %if.then1 + %14 = load i32, i32* %retval, align 4 + ret i32 %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @close(i32 %fd) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %r = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 0, i32* %r, align 4 + %0 = load i32, i32* @close.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @close.n_calls, align 4 + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @close.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %9 = bitcast %struct.exe_file_t* %8 to i8* + %10 = call i8* @memset(i8* %9, i32 0, i64 24) + %11 = load i32, i32* %r, align 4 + store i32 %11, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %12 = load i32, i32* %retval, align 4 + ret i32 %12 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @read(i32 %fd, i8* %buf, i64 %count) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %r = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + %0 = load i32, i32* @read.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @read.n_calls, align 4 + %1 = load i64, i64* %count.addr, align 8 + %cmp = icmp eq i64 %1, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i64 0, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %buf.addr, align 8 + %cmp1 = icmp eq i8* %2, null + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + %call = call i32* @__errno_location() #25 + store i32 14, i32* %call, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %3 = load i32, i32* %fd.addr, align 4 + %call4 = call %struct.exe_file_t* @__get_file(i32 %3) + store %struct.exe_file_t* %call4, %struct.exe_file_t** %f, align 8 + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %4, null + br i1 %tobool, label %if.end7, label %if.then5 + +if.then5: ; preds = %if.end3 + %call6 = call i32* @__errno_location() #25 + store i32 9, i32* %call6, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end7: ; preds = %if.end3 + %5 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool8 = icmp ne i32 %5, 0 + br i1 %tobool8, label %land.lhs.true, label %if.end12 + +land.lhs.true: ; preds = %if.end7 + %6 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %7 = load i32, i32* %6, align 4 + %8 = load i32, i32* @read.n_calls, align 4 + %cmp9 = icmp eq i32 %7, %8 + br i1 %cmp9, label %if.then10, label %if.end12 + +if.then10: ; preds = %land.lhs.true + %9 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %9, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call11 = call i32* @__errno_location() #25 + store i32 5, i32* %call11, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end12: ; preds = %land.lhs.true, %if.end7 + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 3 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool13 = icmp ne %struct.exe_disk_file_t* %11, null + br i1 %tobool13, label %if.else38, label %if.then14 + +if.then14: ; preds = %if.end12 + %12 = load i8*, i8** %buf.addr, align 8 + %call15 = call i8* @__concretize_ptr(i8* %12) + store i8* %call15, i8** %buf.addr, align 8 + %13 = load i64, i64* %count.addr, align 8 + %call16 = call i64 @__concretize_size(i64 %13) + store i64 %call16, i64* %count.addr, align 8 + %14 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd17 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %14, i32 0, i32 0 + %15 = load i32, i32* %fd17, align 8 + %cmp18 = icmp eq i32 %15, 0 + %16 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd20 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %16, i32 0, i32 0 + %17 = load i32, i32* %fd20, align 8 + %18 = load i8*, i8** %buf.addr, align 8 + %19 = load i64, i64* %count.addr, align 8 + br i1 %cmp18, label %if.then19, label %if.else + +if.then19: ; preds = %if.then14 + %call21 = call i64 (i64, ...) @syscall(i64 0, i32 %17, i8* %18, i64 %19) #11 + %conv = trunc i64 %call21 to i32 + store i32 %conv, i32* %r, align 4 + br label %if.end25 + +if.else: ; preds = %if.then14 + %20 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %20, i32 0, i32 2 + %21 = load i64, i64* %off, align 8 + %call23 = call i64 (i64, ...) @syscall(i64 17, i32 %17, i8* %18, i64 %19, i64 %21) #11 + %conv24 = trunc i64 %call23 to i32 + store i32 %conv24, i32* %r, align 4 + br label %if.end25 + +if.end25: ; preds = %if.else, %if.then19 + %22 = load i32, i32* %r, align 4 + %cmp26 = icmp eq i32 %22, -1 + br i1 %cmp26, label %if.then28, label %if.end29 + +if.then28: ; preds = %if.end25 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end29: ; preds = %if.end25 + %23 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd30 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %23, i32 0, i32 0 + %24 = load i32, i32* %fd30, align 8 + %cmp31 = icmp ne i32 %24, 0 + br i1 %cmp31, label %if.then33, label %if.end36 + +if.then33: ; preds = %if.end29 + %25 = load i32, i32* %r, align 4 + %conv34 = sext i32 %25 to i64 + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off35 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 2 + %27 = load i64, i64* %off35, align 8 + %add = add nsw i64 %27, %conv34 + store i64 %add, i64* %off35, align 8 + br label %if.end36 + +if.end36: ; preds = %if.then33, %if.end29 + %28 = load i32, i32* %r, align 4 + %conv37 = sext i32 %28 to i64 + store i64 %conv37, i64* %retval, align 8 + br label %return + +if.else38: ; preds = %if.end12 + %29 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off39 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %29, i32 0, i32 2 + %30 = load i64, i64* %off39, align 8 + %cmp40 = icmp sge i64 %30, 0 + br i1 %cmp40, label %if.end44, label %if.else43 + +if.else43: ; preds = %if.else38 + call void @__assert_fail(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.3, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 393, i8* getelementptr inbounds ([34 x i8], [34 x i8]* @__PRETTY_FUNCTION__.read, i64 0, i64 0)) #26 + unreachable + +if.end44: ; preds = %if.else38 + %31 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile45 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %31, i32 0, i32 3 + %32 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile45, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %32, i32 0, i32 0 + %33 = load i32, i32* %size, align 8 + %conv46 = zext i32 %33 to i64 + %34 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off47 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %34, i32 0, i32 2 + %35 = load i64, i64* %off47, align 8 + %cmp48 = icmp slt i64 %conv46, %35 + br i1 %cmp48, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.end44 + store i64 0, i64* %retval, align 8 + br label %return + +if.end51: ; preds = %if.end44 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off52 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 2 + %37 = load i64, i64* %off52, align 8 + %38 = load i64, i64* %count.addr, align 8 + %add53 = add i64 %37, %38 + %39 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %39, i32 0, i32 3 + %40 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile54, align 8 + %size55 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %40, i32 0, i32 0 + %41 = load i32, i32* %size55, align 8 + %conv56 = zext i32 %41 to i64 + %cmp57 = icmp ugt i64 %add53, %conv56 + br i1 %cmp57, label %if.then59, label %if.end64 + +if.then59: ; preds = %if.end51 + %42 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile60 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %42, i32 0, i32 3 + %43 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile60, align 8 + %size61 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %43, i32 0, i32 0 + %44 = load i32, i32* %size61, align 8 + %conv62 = zext i32 %44 to i64 + %45 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off63 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %45, i32 0, i32 2 + %46 = load i64, i64* %off63, align 8 + %sub = sub nsw i64 %conv62, %46 + store i64 %sub, i64* %count.addr, align 8 + br label %if.end64 + +if.end64: ; preds = %if.then59, %if.end51 + %47 = load i8*, i8** %buf.addr, align 8 + %48 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile65 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %48, i32 0, i32 3 + %49 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile65, align 8 + %contents = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %49, i32 0, i32 1 + %50 = load i8*, i8** %contents, align 8 + %51 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off66 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %51, i32 0, i32 2 + %52 = load i64, i64* %off66, align 8 + %add.ptr = getelementptr inbounds i8, i8* %50, i64 %52 + %53 = load i64, i64* %count.addr, align 8 + %54 = call i8* @memcpy(i8* %47, i8* %add.ptr, i64 %53) + %55 = load i64, i64* %count.addr, align 8 + %56 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off67 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %56, i32 0, i32 2 + %57 = load i64, i64* %off67, align 8 + %add68 = add i64 %57, %55 + store i64 %add68, i64* %off67, align 8 + %58 = load i64, i64* %count.addr, align 8 + store i64 %58, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end64, %if.then50, %if.end36, %if.then28, %if.then10, %if.then5, %if.then2, %if.then + %59 = load i64, i64* %retval, align 8 + ret i64 %59 +} + +; Function Attrs: noreturn nounwind +declare dso_local void @__assert_fail(i8*, i8*, i32, i8*) #10 + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @write(i32 %fd, i8* %buf, i64 %count) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %r = alloca i32, align 4 + %actual_count = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + %0 = load i32, i32* @write.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @write.n_calls, align 4 + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @write.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + br i1 %tobool6, label %if.else42, label %if.then7 + +if.then7: ; preds = %if.end5 + %10 = load i8*, i8** %buf.addr, align 8 + %call8 = call i8* @__concretize_ptr(i8* %10) + store i8* %call8, i8** %buf.addr, align 8 + %11 = load i64, i64* %count.addr, align 8 + %call9 = call i64 @__concretize_size(i64 %11) + store i64 %call9, i64* %count.addr, align 8 + %12 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd10 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %12, i32 0, i32 0 + %13 = load i32, i32* %fd10, align 8 + %cmp11 = icmp eq i32 %13, 1 + br i1 %cmp11, label %if.then14, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then7 + %14 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd12 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %14, i32 0, i32 0 + %15 = load i32, i32* %fd12, align 8 + %cmp13 = icmp eq i32 %15, 2 + br i1 %cmp13, label %if.then14, label %if.else + +if.then14: ; preds = %lor.lhs.false, %if.then7 + %16 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd15 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %16, i32 0, i32 0 + %17 = load i32, i32* %fd15, align 8 + %18 = load i8*, i8** %buf.addr, align 8 + %19 = load i64, i64* %count.addr, align 8 + %call16 = call i64 (i64, ...) @syscall(i64 1, i32 %17, i8* %18, i64 %19) #11 + %conv = trunc i64 %call16 to i32 + store i32 %conv, i32* %r, align 4 + br label %if.end20 + +if.else: ; preds = %lor.lhs.false + %20 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd17 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %20, i32 0, i32 0 + %21 = load i32, i32* %fd17, align 8 + %22 = load i8*, i8** %buf.addr, align 8 + %23 = load i64, i64* %count.addr, align 8 + %24 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %24, i32 0, i32 2 + %25 = load i64, i64* %off, align 8 + %call18 = call i64 (i64, ...) @syscall(i64 18, i32 %21, i8* %22, i64 %23, i64 %25) #11 + %conv19 = trunc i64 %call18 to i32 + store i32 %conv19, i32* %r, align 4 + br label %if.end20 + +if.end20: ; preds = %if.else, %if.then14 + %26 = load i32, i32* %r, align 4 + %cmp21 = icmp eq i32 %26, -1 + br i1 %cmp21, label %if.then23, label %if.end24 + +if.then23: ; preds = %if.end20 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end24: ; preds = %if.end20 + %27 = load i32, i32* %r, align 4 + %cmp25 = icmp sge i32 %27, 0 + br i1 %cmp25, label %if.end29, label %if.else28 + +if.else28: ; preds = %if.end24 + call void @__assert_fail(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.5.7, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 445, i8* getelementptr inbounds ([41 x i8], [41 x i8]* @__PRETTY_FUNCTION__.write, i64 0, i64 0)) #26 + unreachable + +if.end29: ; preds = %if.end24 + %28 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd30 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %28, i32 0, i32 0 + %29 = load i32, i32* %fd30, align 8 + %cmp31 = icmp ne i32 %29, 1 + br i1 %cmp31, label %land.lhs.true33, label %if.end40 + +land.lhs.true33: ; preds = %if.end29 + %30 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd34 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %30, i32 0, i32 0 + %31 = load i32, i32* %fd34, align 8 + %cmp35 = icmp ne i32 %31, 2 + br i1 %cmp35, label %if.then37, label %if.end40 + +if.then37: ; preds = %land.lhs.true33 + %32 = load i32, i32* %r, align 4 + %conv38 = sext i32 %32 to i64 + %33 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off39 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %33, i32 0, i32 2 + %34 = load i64, i64* %off39, align 8 + %add = add nsw i64 %34, %conv38 + store i64 %add, i64* %off39, align 8 + br label %if.end40 + +if.end40: ; preds = %if.then37, %land.lhs.true33, %if.end29 + %35 = load i32, i32* %r, align 4 + %conv41 = sext i32 %35 to i64 + store i64 %conv41, i64* %retval, align 8 + br label %return + +if.else42: ; preds = %if.end5 + store i64 0, i64* %actual_count, align 8 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off43 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 2 + %37 = load i64, i64* %off43, align 8 + %38 = load i64, i64* %count.addr, align 8 + %add44 = add i64 %37, %38 + %39 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile45 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %39, i32 0, i32 3 + %40 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile45, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %40, i32 0, i32 0 + %41 = load i32, i32* %size, align 8 + %conv46 = zext i32 %41 to i64 + %cmp47 = icmp ule i64 %add44, %conv46 + br i1 %cmp47, label %if.then49, label %if.else50 + +if.then49: ; preds = %if.else42 + %42 = load i64, i64* %count.addr, align 8 + store i64 %42, i64* %actual_count, align 8 + br label %if.end67 + +if.else50: ; preds = %if.else42 + %43 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 3), align 8 + %tobool51 = icmp ne i32 %43, 0 + br i1 %tobool51, label %if.then52, label %if.else53 + +if.then52: ; preds = %if.else50 + call void @__assert_fail(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.6, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 458, i8* getelementptr inbounds ([41 x i8], [41 x i8]* @__PRETTY_FUNCTION__.write, i64 0, i64 0)) #26 + unreachable + +if.else53: ; preds = %if.else50 + %44 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %44, i32 0, i32 2 + %45 = load i64, i64* %off54, align 8 + %46 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile55 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %46, i32 0, i32 3 + %47 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile55, align 8 + %size56 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %47, i32 0, i32 0 + %48 = load i32, i32* %size56, align 8 + %conv57 = zext i32 %48 to i64 + %cmp58 = icmp slt i64 %45, %conv57 + br i1 %cmp58, label %if.then60, label %if.end67 + +if.then60: ; preds = %if.else53 + %49 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile61 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %49, i32 0, i32 3 + %50 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile61, align 8 + %size62 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %50, i32 0, i32 0 + %51 = load i32, i32* %size62, align 8 + %conv63 = zext i32 %51 to i64 + %52 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off64 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %52, i32 0, i32 2 + %53 = load i64, i64* %off64, align 8 + %sub = sub nsw i64 %conv63, %53 + store i64 %sub, i64* %actual_count, align 8 + br label %if.end67 + +if.end67: ; preds = %if.then60, %if.else53, %if.then49 + %54 = load i64, i64* %actual_count, align 8 + %tobool68 = icmp ne i64 %54, 0 + br i1 %tobool68, label %if.then69, label %if.end72 + +if.then69: ; preds = %if.end67 + %55 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile70 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %55, i32 0, i32 3 + %56 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile70, align 8 + %contents = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %56, i32 0, i32 1 + %57 = load i8*, i8** %contents, align 8 + %58 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off71 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %58, i32 0, i32 2 + %59 = load i64, i64* %off71, align 8 + %add.ptr = getelementptr inbounds i8, i8* %57, i64 %59 + %60 = load i8*, i8** %buf.addr, align 8 + %61 = load i64, i64* %actual_count, align 8 + %62 = call i8* @memcpy(i8* %add.ptr, i8* %60, i64 %61) + br label %if.end72 + +if.end72: ; preds = %if.then69, %if.end67 + %63 = load i64, i64* %count.addr, align 8 + %64 = load i64, i64* %actual_count, align 8 + %cmp73 = icmp ne i64 %63, %64 + br i1 %cmp73, label %if.then75, label %if.end76 + +if.then75: ; preds = %if.end72 + call void @gs_warning(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.7, i64 0, i64 0)) + br label %if.end76 + +if.end76: ; preds = %if.then75, %if.end72 + %65 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile77 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %65, i32 0, i32 3 + %66 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile77, align 8 + %67 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + %cmp78 = icmp eq %struct.exe_disk_file_t* %66, %67 + br i1 %cmp78, label %if.then80, label %if.end84 + +if.then80: ; preds = %if.end76 + %68 = load i64, i64* %actual_count, align 8 + %69 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 3), align 8 + %conv81 = zext i32 %69 to i64 + %add82 = add i64 %conv81, %68 + %conv83 = trunc i64 %add82 to i32 + store i32 %conv83, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 3), align 8 + br label %if.end84 + +if.end84: ; preds = %if.then80, %if.end76 + %70 = load i64, i64* %count.addr, align 8 + %71 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off85 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %71, i32 0, i32 2 + %72 = load i64, i64* %off85, align 8 + %add86 = add i64 %72, %70 + store i64 %add86, i64* %off85, align 8 + %73 = load i64, i64* %count.addr, align 8 + store i64 %73, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end84, %if.end40, %if.then23, %if.then3, %if.then + %74 = load i64, i64* %retval, align 8 + ret i64 %74 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @__fd_lseek(i32 %fd, i64 %offset, i32 %whence) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + %new_off = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + %4 = load i32, i32* %whence.addr, align 4 + br i1 %tobool2, label %if.end24, label %if.then3 + +if.then3: ; preds = %if.end + %cmp = icmp eq i32 %4, 0 + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd5 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd5, align 8 + br i1 %cmp, label %if.then4, label %if.else + +if.then4: ; preds = %if.then3 + %7 = load i64, i64* %offset.addr, align 8 + %call6 = call i64 (i64, ...) @syscall(i64 8, i32 %6, i64 %7, i32 0) #11 + store i64 %call6, i64* %new_off, align 8 + br label %if.end19 + +if.else: ; preds = %if.then3 + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 2 + %9 = load i64, i64* %off, align 8 + %call8 = call i64 (i64, ...) @syscall(i64 8, i32 %6, i64 %9, i32 0) #11 + store i64 %call8, i64* %new_off, align 8 + %10 = load i64, i64* %new_off, align 8 + %cmp9 = icmp ne i64 %10, -1 + br i1 %cmp9, label %if.then10, label %if.end19 + +if.then10: ; preds = %if.else + %11 = load i64, i64* %new_off, align 8 + %12 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off11 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %12, i32 0, i32 2 + %13 = load i64, i64* %off11, align 8 + %cmp12 = icmp eq i64 %11, %13 + br i1 %cmp12, label %if.end15, label %if.else14 + +if.else14: ; preds = %if.then10 + call void @__assert_fail(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.8, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 504, i8* getelementptr inbounds ([38 x i8], [38 x i8]* @__PRETTY_FUNCTION__.__fd_lseek, i64 0, i64 0)) #26 + unreachable + +if.end15: ; preds = %if.then10 + %14 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd16 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %14, i32 0, i32 0 + %15 = load i32, i32* %fd16, align 8 + %16 = load i64, i64* %offset.addr, align 8 + %17 = load i32, i32* %whence.addr, align 4 + %call17 = call i64 (i64, ...) @syscall(i64 8, i32 %15, i64 %16, i32 %17) #11 + store i64 %call17, i64* %new_off, align 8 + br label %if.end19 + +if.end19: ; preds = %if.else, %if.end15, %if.then4 + %18 = load i64, i64* %new_off, align 8 + %cmp20 = icmp eq i64 %18, -1 + br i1 %cmp20, label %if.then21, label %if.end22 + +if.then21: ; preds = %if.end19 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end22: ; preds = %if.end19 + %19 = load i64, i64* %new_off, align 8 + %20 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off23 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %20, i32 0, i32 2 + store i64 %19, i64* %off23, align 8 + %21 = load i64, i64* %new_off, align 8 + store i64 %21, i64* %retval, align 8 + br label %return + +if.end24: ; preds = %if.end + br label %NodeBlock3 + +NodeBlock3: ; preds = %if.end24 + %case.cmp4 = icmp eq i32 %4, 0 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %4, 1 + br i1 %case.cmp2, label %sw.bb25, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %4, 2 + br i1 %case.cmp, label %sw.bb27, label %newDefault + +sw.bb: ; preds = %NodeBlock3 + %22 = load i64, i64* %offset.addr, align 8 + store i64 %22, i64* %new_off, align 8 + br label %sw.epilog + +sw.bb25: ; preds = %NodeBlock1 + %23 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off26 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %23, i32 0, i32 2 + %24 = load i64, i64* %off26, align 8 + %25 = load i64, i64* %offset.addr, align 8 + %add = add nsw i64 %24, %25 + store i64 %add, i64* %new_off, align 8 + br label %sw.epilog + +sw.bb27: ; preds = %NodeBlock + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile28 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 3 + %27 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile28, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %27, i32 0, i32 0 + %28 = load i32, i32* %size, align 8 + %conv = zext i32 %28 to i64 + %29 = load i64, i64* %offset.addr, align 8 + %add29 = add nsw i64 %conv, %29 + store i64 %add29, i64* %new_off, align 8 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + %call30 = call i32* @__errno_location() #25 + store i32 22, i32* %call30, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +sw.epilog: ; preds = %sw.bb27, %sw.bb25, %sw.bb + %30 = load i64, i64* %new_off, align 8 + %cmp31 = icmp slt i64 %30, 0 + br i1 %cmp31, label %if.then33, label %if.end35 + +if.then33: ; preds = %sw.epilog + %call34 = call i32* @__errno_location() #25 + store i32 22, i32* %call34, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end35: ; preds = %sw.epilog + %31 = load i64, i64* %new_off, align 8 + %32 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off36 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %32, i32 0, i32 2 + store i64 %31, i64* %off36, align 8 + %33 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off37 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %33, i32 0, i32 2 + %34 = load i64, i64* %off37, align 8 + store i64 %34, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end35, %if.then33, %sw.default, %if.end22, %if.then21, %if.then + %35 = load i64, i64* %retval, align 8 + ret i64 %35 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_stat(i8* %path, %struct.stat64* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %3 = bitcast %struct.stat64* %2 to i8* + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %4, i32 0, i32 2 + %5 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %6 = bitcast %struct.stat64* %5 to i8* + %7 = call i8* @memcpy(i8* %3, i8* %6, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load i8*, i8** %path.addr, align 8 + %call1 = call i8* @__concretize_string(i8* %8) + %9 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %call2 = call i64 (i64, ...) @syscall(i64 4, i8* %call1, %struct.stat64* %9) #11 + %conv = trunc i64 %call2 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %10 = load i32, i32* %retval, align 4 + ret i32 %10 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstatat(i32 %fd, i8* nonnull %path, %struct.stat64* nonnull %buf, i32 %flags) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %flags.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %dfile9 = alloca %struct.exe_disk_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %cmp = icmp ne i32 %0, -100 + br i1 %cmp, label %if.then, label %if.end8 + +if.then: ; preds = %entry + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.else, label %if.then1 + +if.then1: ; preds = %if.then + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 3 + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool3 = icmp ne %struct.exe_disk_file_t* %4, null + br i1 %tobool3, label %if.then4, label %if.end6 + +if.then4: ; preds = %if.else + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0)) + %call5 = call i32* @__errno_location() #25 + store i32 2, i32* %call5, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.else + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd7, align 8 + store i32 %6, i32* %fd.addr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end6, %entry + %7 = load i8*, i8** %path.addr, align 8 + %call10 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %7) + store %struct.exe_disk_file_t* %call10, %struct.exe_disk_file_t** %dfile9, align 8 + %8 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile9, align 8 + %tobool11 = icmp ne %struct.exe_disk_file_t* %8, null + br i1 %tobool11, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.end8 + %9 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %10 = bitcast %struct.stat64* %9 to i8* + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile9, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %11, i32 0, i32 2 + %12 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %13 = bitcast %struct.stat64* %12 to i8* + %14 = call i8* @memcpy(i8* %10, i8* %13, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.end8 + %15 = load i32, i32* %fd.addr, align 4 + %conv = sext i32 %15 to i64 + %16 = load i8*, i8** %path.addr, align 8 + %tobool14 = icmp ne i8* %16, null + br i1 %tobool14, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end13 + %17 = load i8*, i8** %path.addr, align 8 + %call15 = call i8* @__concretize_string(i8* %17) + br label %cond.end + +cond.end: ; preds = %if.end13, %cond.true + %cond = phi i8* [ %call15, %cond.true ], [ null, %if.end13 ] + %18 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %19 = load i32, i32* %flags.addr, align 4 + %conv16 = sext i32 %19 to i64 + %call17 = call i64 (i64, ...) @syscall(i64 262, i64 %conv, i8* %cond, %struct.stat64* %18, i64 %conv16) #11 + %conv18 = trunc i64 %call17 to i32 + store i32 %conv18, i32* %retval, align 4 + br label %return + +return: ; preds = %cond.end, %if.then12, %if.then4, %if.then1 + %20 = load i32, i32* %retval, align 4 + ret i32 %20 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_lstat(i8* %path, %struct.stat64* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %3 = bitcast %struct.stat64* %2 to i8* + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %4, i32 0, i32 2 + %5 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %6 = bitcast %struct.stat64* %5 to i8* + %7 = call i8* @memcpy(i8* %3, i8* %6, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load i8*, i8** %path.addr, align 8 + %call1 = call i8* @__concretize_string(i8* %8) + %9 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %call2 = call i64 (i64, ...) @syscall(i64 6, i8* %call1, %struct.stat64* %9) #11 + %conv = trunc i64 %call2 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %10 = load i32, i32* %retval, align 4 + ret i32 %10 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chdir(i8* nonnull %path) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0)) + %call1 = call i32* @__errno_location() #25 + store i32 2, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %2) + %call3 = call i64 (i64, ...) @syscall(i64 80, i8* %call2) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %3 = load i32, i32* %retval, align 4 + ret i32 %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fchdir(i32 %fd) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %if.end + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 2, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd6, align 8 + %call7 = call i64 (i64, ...) @syscall(i64 81, i32 %5) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chmod(i8* nonnull %path, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load i32, i32* @chmod.n_calls, align 4 + %inc = add nsw i32 %1, 1 + store i32 %inc, i32* @chmod.n_calls, align 4 + %2 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool = icmp ne i32 %2, 0 + br i1 %tobool, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %3 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 11), align 8 + %4 = load i32, i32* %3, align 4 + %5 = load i32, i32* @chmod.n_calls, align 4 + %cmp = icmp eq i32 %4, %5 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %6 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %6, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call1 = call i32* @__errno_location() #25 + store i32 5, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + %7 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %7, null + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %if.end + %8 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %9 = load i32, i32* %mode.addr, align 4 + %call4 = call i32 @__df_chmod(%struct.exe_disk_file_t* %8, i32 %9) + store i32 %call4, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %if.end + %10 = load i8*, i8** %path.addr, align 8 + %call6 = call i8* @__concretize_string(i8* %10) + %11 = load i32, i32* %mode.addr, align 4 + %call7 = call i64 (i64, ...) @syscall(i64 90, i8* %call6, i32 %11) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %12 = load i32, i32* %retval, align 4 + ret i32 %12 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__df_chmod(%struct.exe_disk_file_t* %df, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %df.addr = alloca %struct.exe_disk_file_t*, align 8 + %mode.addr = alloca i32, align 4 + store %struct.exe_disk_file_t* %df, %struct.exe_disk_file_t** %df.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %call = call i32 @geteuid() #11 + %0 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %0, i32 0, i32 2 + %1 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_uid = getelementptr inbounds %struct.stat64, %struct.stat64* %1, i32 0, i32 4 + %2 = load i32, i32* %st_uid, align 4 + %cmp = icmp eq i32 %call, %2 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %call1 = call i32 @getgid() #11 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %3, i32 0, i32 2 + %4 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + %st_gid = getelementptr inbounds %struct.stat64, %struct.stat64* %4, i32 0, i32 5 + %5 = load i32, i32* %st_gid, align 8 + %cmp3 = icmp ne i32 %call1, %5 + br i1 %cmp3, label %if.then4, label %if.end + +if.then4: ; preds = %if.then + %6 = load i32, i32* %mode.addr, align 4 + %and = and i32 %6, -1025 + store i32 %and, i32* %mode.addr, align 4 + br label %if.end + +if.end: ; preds = %if.then4, %if.then + %7 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat5 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %7, i32 0, i32 2 + %8 = load %struct.stat64*, %struct.stat64** %stat5, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %8, i32 0, i32 3 + %9 = load i32, i32* %st_mode, align 8 + %and6 = and i32 %9, -4096 + %10 = load i32, i32* %mode.addr, align 4 + %and7 = and i32 %10, 4095 + %or = or i32 %and6, %and7 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat8 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %11, i32 0, i32 2 + %12 = load %struct.stat64*, %struct.stat64** %stat8, align 8 + %st_mode9 = getelementptr inbounds %struct.stat64, %struct.stat64* %12, i32 0, i32 3 + store i32 %or, i32* %st_mode9, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %call10 = call i32* @__errno_location() #25 + store i32 1, i32* %call10, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.else, %if.end + %13 = load i32, i32* %retval, align 4 + ret i32 %13 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fchmod(i32 %fd, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i32, i32* @fchmod.n_calls, align 4 + %inc = add nsw i32 %2, 1 + store i32 %inc, i32* @fchmod.n_calls, align 4 + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 12), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @fchmod.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + br i1 %tobool6, label %if.then7, label %if.end10 + +if.then7: ; preds = %if.end5 + %dfile8 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 3 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile8, align 8 + %12 = load i32, i32* %mode.addr, align 4 + %call9 = call i32 @__df_chmod(%struct.exe_disk_file_t* %11, i32 %12) + store i32 %call9, i32* %retval, align 4 + br label %return + +if.end10: ; preds = %if.end5 + %fd11 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 0 + %13 = load i32, i32* %fd11, align 8 + %14 = load i32, i32* %mode.addr, align 4 + %call12 = call i64 (i64, ...) @syscall(i64 91, i32 %13, i32 %14) #11 + %conv = trunc i64 %call12 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end10, %if.then7, %if.then3, %if.then + %15 = load i32, i32* %retval, align 4 + ret i32 %15 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chown(i8* nonnull %path, i32 %owner, i32 %group) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %df, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %3 = load i32, i32* %owner.addr, align 4 + %4 = load i32, i32* %group.addr, align 4 + %call1 = call i32 @__df_chown(%struct.exe_disk_file_t* %2, i32 %3, i32 %4) + store i32 %call1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %5 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %5) + %6 = load i32, i32* %owner.addr, align 4 + %7 = load i32, i32* %group.addr, align 4 + %call3 = call i64 (i64, ...) @syscall(i64 92, i8* %call2, i32 %6, i32 %7) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__df_chown(%struct.exe_disk_file_t* %df, i32 %owner, i32 %group) #3 { +entry: + %df.addr = alloca %struct.exe_disk_file_t*, align 8 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + store %struct.exe_disk_file_t* %df, %struct.exe_disk_file_t** %df.addr, align 8 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + call void @gs_warning(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.26, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fchown(i32 %fd, i32 %owner, i32 %group) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end6 + +if.then3: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile4 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 3 + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile4, align 8 + %6 = load i32, i32* %owner.addr, align 4 + %7 = load i32, i32* %group.addr, align 4 + %call5 = call i32 @__df_chown(%struct.exe_disk_file_t* %5, i32 %6, i32 %7) + store i32 %call5, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.end + %8 = load i32, i32* %fd.addr, align 4 + %9 = load i32, i32* %owner.addr, align 4 + %10 = load i32, i32* %group.addr, align 4 + %call7 = call i64 (i64, ...) @syscall(i64 93, i32 %8, i32 %9, i32 %10) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end6, %if.then3, %if.then + %11 = load i32, i32* %retval, align 4 + ret i32 %11 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @lchown(i8* nonnull %path, i32 %owner, i32 %group) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %df, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %3 = load i32, i32* %owner.addr, align 4 + %4 = load i32, i32* %group.addr, align 4 + %call1 = call i32 @__df_chown(%struct.exe_disk_file_t* %2, i32 %3, i32 %4) + store i32 %call1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %5 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %5) + %6 = load i32, i32* %owner.addr, align 4 + %7 = load i32, i32* %group.addr, align 4 + %call3 = call i64 (i64, ...) @syscall(i64 92, i8* %call2, i32 %6, i32 %7) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_fstat(i32 %fd, %struct.stat64* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.end6, label %if.then3 + +if.then3: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd4 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd4, align 8 + %6 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %call5 = call i64 (i64, ...) @syscall(i64 5, i32 %5, %struct.stat64* %6) #11 + %conv = trunc i64 %call5 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.end + %7 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %8 = bitcast %struct.stat64* %7 to i8* + %9 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %9, i32 0, i32 3 + %10 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile7, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %10, i32 0, i32 2 + %11 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %12 = bitcast %struct.stat64* %11 to i8* + %13 = call i8* @memcpy(i8* %8, i8* %12, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end6, %if.then3, %if.then + %14 = load i32, i32* %retval, align 4 + ret i32 %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_ftruncate(i32 %fd, i64 %length) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %length.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %length, i64* %length.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load i32, i32* @__fd_ftruncate.n_calls, align 4 + %inc = add nsw i32 %1, 1 + store i32 %inc, i32* @__fd_ftruncate.n_calls, align 4 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @__fd_ftruncate.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + br i1 %tobool6, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end5 + call void @gs_warning(i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.10, i64 0, i64 0)) + %call8 = call i32* @__errno_location() #25 + store i32 5, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end9: ; preds = %if.end5 + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd10 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 0 + %11 = load i32, i32* %fd10, align 8 + %12 = load i64, i64* %length.addr, align 8 + %call11 = call i64 (i64, ...) @syscall(i64 77, i32 %11, i64 %12) #11 + %conv = trunc i64 %call11 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end9, %if.then7, %if.then3, %if.then + %13 = load i32, i32* %retval, align 4 + ret i32 %13 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_getdents(i32 %fd, %struct.dirent64* %dirp, i32 %count) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %dirp.addr = alloca %struct.dirent64*, align 8 + %count.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %i = alloca i64, align 8 + %pad = alloca i64, align 8 + %bytes = alloca i64, align 8 + %df = alloca %struct.exe_disk_file_t*, align 8 + %os_pos = alloca i64, align 8 + %res = alloca i32, align 4 + %s = alloca i64, align 8 + %pos = alloca i32, align 4 + %dp = alloca %struct.dirent64*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.dirent64* %dirp, %struct.dirent64** %dirp.addr, align 8 + store i32 %count, i32* %count.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.else + +if.then3: ; preds = %if.end + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 22, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 2 + %5 = load i64, i64* %off, align 8 + %cmp = icmp ult i64 %5, 4096 + br i1 %cmp, label %if.then5, label %if.else43 + +if.then5: ; preds = %if.else + store i64 0, i64* %bytes, align 8 + %6 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %6, i32 0, i32 2 + %7 = load i64, i64* %off6, align 8 + %div = udiv i64 %7, 280 + store i64 %div, i64* %i, align 8 + %8 = load i64, i64* %i, align 8 + %mul = mul i64 %8, 280 + %9 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %9, i32 0, i32 2 + %10 = load i64, i64* %off7, align 8 + %cmp8 = icmp ne i64 %mul, %10 + br i1 %cmp8, label %if.then11, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then5 + %11 = load i64, i64* %i, align 8 + %12 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %conv = zext i32 %12 to i64 + %cmp9 = icmp sgt i64 %11, %conv + br i1 %cmp9, label %if.then11, label %for.cond + +if.then11: ; preds = %lor.lhs.false, %if.then5 + %call12 = call i32* @__errno_location() #25 + store i32 22, i32* %call12, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +for.cond: ; preds = %lor.lhs.false, %for.body + %13 = load i64, i64* %i, align 8 + %14 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %conv14 = zext i32 %14 to i64 + %cmp15 = icmp slt i64 %13, %conv14 + br i1 %cmp15, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %15 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %16 = load i64, i64* %i, align 8 + %arrayidx = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %15, i64 %16 + store %struct.exe_disk_file_t* %arrayidx, %struct.exe_disk_file_t** %df, align 8 + %17 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %17, i32 0, i32 2 + %18 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %18, i32 0, i32 1 + %19 = load i64, i64* %st_ino, align 8 + %20 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_ino = getelementptr inbounds %struct.dirent64, %struct.dirent64* %20, i32 0, i32 0 + store i64 %19, i64* %d_ino, align 8 + %21 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen = getelementptr inbounds %struct.dirent64, %struct.dirent64* %21, i32 0, i32 2 + store i16 280, i16* %d_reclen, align 8 + %22 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat17 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %22, i32 0, i32 2 + %23 = load %struct.stat64*, %struct.stat64** %stat17, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %23, i32 0, i32 3 + %24 = load i32, i32* %st_mode, align 8 + %and = and i32 %24, 61440 + %shr = lshr i32 %and, 12 + %conv18 = trunc i32 %shr to i8 + %25 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_type = getelementptr inbounds %struct.dirent64, %struct.dirent64* %25, i32 0, i32 3 + store i8 %conv18, i8* %d_type, align 2 + %26 = load i64, i64* %i, align 8 + %add = add nsw i64 65, %26 + %conv19 = trunc i64 %add to i8 + %27 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_name = getelementptr inbounds %struct.dirent64, %struct.dirent64* %27, i32 0, i32 4 + %arrayidx20 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name, i64 0, i64 0 + store i8 %conv19, i8* %arrayidx20, align 1 + %28 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_name21 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %28, i32 0, i32 4 + %arrayidx22 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name21, i64 0, i64 1 + store i8 0, i8* %arrayidx22, align 1 + %29 = load i64, i64* %i, align 8 + %add23 = add nsw i64 %29, 1 + %mul24 = mul i64 %add23, 280 + %30 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_off = getelementptr inbounds %struct.dirent64, %struct.dirent64* %30, i32 0, i32 1 + store i64 %mul24, i64* %d_off, align 8 + %31 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen25 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %31, i32 0, i32 2 + %32 = load i16, i16* %d_reclen25, align 8 + %conv26 = zext i16 %32 to i64 + %33 = load i64, i64* %bytes, align 8 + %add27 = add nsw i64 %33, %conv26 + store i64 %add27, i64* %bytes, align 8 + %34 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %incdec.ptr = getelementptr inbounds %struct.dirent64, %struct.dirent64* %34, i32 1 + store %struct.dirent64* %incdec.ptr, %struct.dirent64** %dirp.addr, align 8 + %35 = load i64, i64* %i, align 8 + %inc = add nsw i64 %35, 1 + store i64 %inc, i64* %i, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %36 = load i32, i32* %count.addr, align 4 + %cmp28 = icmp uge i32 %36, 4096 + %37 = load i32, i32* %count.addr, align 4 + %cond = select i1 %cmp28, i32 4096, i32 %37 + %conv30 = zext i32 %cond to i64 + store i64 %conv30, i64* %pad, align 8 + %38 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_ino31 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %38, i32 0, i32 0 + store i64 0, i64* %d_ino31, align 8 + %39 = load i64, i64* %pad, align 8 + %40 = load i64, i64* %bytes, align 8 + %sub = sub nsw i64 %39, %40 + %conv32 = trunc i64 %sub to i16 + %41 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen33 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %41, i32 0, i32 2 + store i16 %conv32, i16* %d_reclen33, align 8 + %42 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_type34 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %42, i32 0, i32 3 + store i8 0, i8* %d_type34, align 2 + %43 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_name35 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %43, i32 0, i32 4 + %arrayidx36 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name35, i64 0, i64 0 + store i8 0, i8* %arrayidx36, align 1 + %44 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_off37 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %44, i32 0, i32 1 + store i64 4096, i64* %d_off37, align 8 + %45 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen38 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %45, i32 0, i32 2 + %46 = load i16, i16* %d_reclen38, align 8 + %conv39 = zext i16 %46 to i64 + %47 = load i64, i64* %bytes, align 8 + %add40 = add nsw i64 %47, %conv39 + store i64 %add40, i64* %bytes, align 8 + %48 = load i64, i64* %pad, align 8 + %49 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off41 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %49, i32 0, i32 2 + store i64 %48, i64* %off41, align 8 + %50 = load i64, i64* %bytes, align 8 + %conv42 = trunc i64 %50 to i32 + store i32 %conv42, i32* %retval, align 4 + br label %return + +if.else43: ; preds = %if.else + %51 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off44 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %51, i32 0, i32 2 + %52 = load i64, i64* %off44, align 8 + %sub45 = sub nsw i64 %52, 4096 + store i64 %sub45, i64* %os_pos, align 8 + store i64 0, i64* %s, align 8 + %53 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %54 = bitcast %struct.dirent64* %53 to i8* + %55 = load i32, i32* %count.addr, align 4 + %conv46 = zext i32 %55 to i64 + %56 = call i8* @memset(i8* %54, i32 0, i64 %conv46) + %57 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd47 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %57, i32 0, i32 0 + %58 = load i32, i32* %fd47, align 8 + %59 = load i64, i64* %os_pos, align 8 + %call48 = call i64 (i64, ...) @syscall(i64 8, i32 %58, i64 %59, i32 0) #11 + store i64 %call48, i64* %s, align 8 + %60 = load i64, i64* %s, align 8 + %cmp49 = icmp ne i64 %60, -1 + br i1 %cmp49, label %if.end53, label %if.else52 + +if.else52: ; preds = %if.else43 + call void @__assert_fail(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.12, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 840, i8* getelementptr inbounds ([65 x i8], [65 x i8]* @__PRETTY_FUNCTION__.__fd_getdents, i64 0, i64 0)) #26 + unreachable + +if.end53: ; preds = %if.else43 + %61 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %61, i32 0, i32 0 + %62 = load i32, i32* %fd54, align 8 + %63 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %64 = load i32, i32* %count.addr, align 4 + %call55 = call i64 (i64, ...) @syscall(i64 217, i32 %62, %struct.dirent64* %63, i32 %64) #11 + %conv56 = trunc i64 %call55 to i32 + store i32 %conv56, i32* %res, align 4 + %65 = load i32, i32* %res, align 4 + %cmp57 = icmp sgt i32 %65, -1 + br i1 %cmp57, label %if.then59, label %if.end78 + +if.then59: ; preds = %if.end53 + store i32 0, i32* %pos, align 4 + %66 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd60 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %66, i32 0, i32 0 + %67 = load i32, i32* %fd60, align 8 + %call61 = call i64 (i64, ...) @syscall(i64 8, i32 %67, i32 0, i32 1) #11 + %68 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off62 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %68, i32 0, i32 2 + store i64 %call61, i64* %off62, align 8 + %69 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off63 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %69, i32 0, i32 2 + %70 = load i64, i64* %off63, align 8 + %cmp64 = icmp ne i64 %70, -1 + br i1 %cmp64, label %if.end68, label %if.else67 + +if.else67: ; preds = %if.then59 + call void @__assert_fail(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.13, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 845, i8* getelementptr inbounds ([65 x i8], [65 x i8]* @__PRETTY_FUNCTION__.__fd_getdents, i64 0, i64 0)) #26 + unreachable + +if.end68: ; preds = %if.then59 + %71 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off69 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %71, i32 0, i32 2 + %72 = load i64, i64* %off69, align 8 + %add70 = add nsw i64 %72, 4096 + store i64 %add70, i64* %off69, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end68 + %73 = load i32, i32* %pos, align 4 + %74 = load i32, i32* %res, align 4 + %cmp71 = icmp slt i32 %73, %74 + br i1 %cmp71, label %while.body, label %if.end78 + +while.body: ; preds = %while.cond + %75 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %76 = bitcast %struct.dirent64* %75 to i8* + %77 = load i32, i32* %pos, align 4 + %idx.ext = sext i32 %77 to i64 + %add.ptr = getelementptr inbounds i8, i8* %76, i64 %idx.ext + %78 = bitcast i8* %add.ptr to %struct.dirent64* + store %struct.dirent64* %78, %struct.dirent64** %dp, align 8 + %79 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_off73 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %79, i32 0, i32 1 + %80 = load i64, i64* %d_off73, align 8 + %add74 = add nsw i64 %80, 4096 + store i64 %add74, i64* %d_off73, align 8 + %81 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_reclen75 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %81, i32 0, i32 2 + %82 = load i16, i16* %d_reclen75, align 8 + %conv76 = zext i16 %82 to i32 + %83 = load i32, i32* %pos, align 4 + %add77 = add nsw i32 %83, %conv76 + store i32 %add77, i32* %pos, align 4 + br label %while.cond + +if.end78: ; preds = %while.cond, %if.end53 + %84 = load i32, i32* %res, align 4 + store i32 %84, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end78, %for.end, %if.then11, %if.then3, %if.then + %85 = load i32, i32* %retval, align 4 + ret i32 %85 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @ioctl(i32 %fd, i64 %request, ...) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %request.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + %buf = alloca i8*, align 8 + %stat = alloca %struct.stat64*, align 8 + %ts = alloca %struct.termios*, align 8 + %ws = alloca %struct.winsize*, align 8 + %res = alloca i32*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %request, i64* %request.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay2 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay2) + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.end + %2 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 3 + %reg_save_area = load i8*, i8** %2, align 16 + %3 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %4 = bitcast i8* %3 to i8** + %5 = add i32 %gp_offset, 8 + store i32 %5, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.end + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %6 = bitcast i8* %overflow_arg_area to i8** + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i8** [ %4, %vaarg.in_reg ], [ %6, %vaarg.in_mem ] + %7 = load i8*, i8** %vaarg.addr, align 8 + store i8* %7, i8** %buf, align 8 + %arraydecay4 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay45 = bitcast %struct.__va_list_tag.0* %arraydecay4 to i8* + call void @llvm.va_end(i8* %arraydecay45) + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + br i1 %tobool6, label %if.then7, label %if.end103 + +if.then7: ; preds = %vaarg.end + %dfile8 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 3 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile8, align 8 + %stat9 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %11, i32 0, i32 2 + %12 = load %struct.stat64*, %struct.stat64** %stat9, align 8 + %13 = bitcast %struct.stat64* %12 to %struct.stat64* + store %struct.stat64* %13, %struct.stat64** %stat, align 8 + %14 = load i64, i64* %request.addr, align 8 + br label %NodeBlock13 + +NodeBlock13: ; preds = %if.then7 + %case.cmp14 = icmp eq i64 %14, 21505 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i64 %14, 21506 + br i1 %case.cmp12, label %sw.bb48, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i64 %14, 21507 + br i1 %case.cmp10, label %sw.bb55, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i64 %14, 21508 + br i1 %case.cmp8, label %sw.bb60, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i64 %14, 21523 + br i1 %case.cmp6, label %sw.bb67, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i64 %14, 21524 + br i1 %case.cmp4, label %sw.bb74, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i64 %14, 21531 + br i1 %case.cmp2, label %sw.bb82, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i64 %14, 2150657282 + br i1 %case.cmp, label %sw.bb100, label %newDefault + +sw.bb: ; preds = %NodeBlock13 + %15 = load i8*, i8** %buf, align 8 + %16 = bitcast i8* %15 to %struct.termios* + store %struct.termios* %16, %struct.termios** %ts, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.14, i64 0, i64 0)) + %17 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %17, i32 0, i32 3 + %18 = load i32, i32* %st_mode, align 8 + %and = and i32 %18, 61440 + %cmp = icmp eq i32 %and, 8192 + br i1 %cmp, label %if.then10, label %if.else + +if.then10: ; preds = %sw.bb + %19 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_iflag = getelementptr inbounds %struct.termios, %struct.termios* %19, i32 0, i32 0 + store i32 27906, i32* %c_iflag, align 4 + %20 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_oflag = getelementptr inbounds %struct.termios, %struct.termios* %20, i32 0, i32 1 + store i32 5, i32* %c_oflag, align 4 + %21 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cflag = getelementptr inbounds %struct.termios, %struct.termios* %21, i32 0, i32 2 + store i32 1215, i32* %c_cflag, align 4 + %22 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_lflag = getelementptr inbounds %struct.termios, %struct.termios* %22, i32 0, i32 3 + store i32 35287, i32* %c_lflag, align 4 + %23 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_line = getelementptr inbounds %struct.termios, %struct.termios* %23, i32 0, i32 4 + store i8 0, i8* %c_line, align 4 + %24 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc = getelementptr inbounds %struct.termios, %struct.termios* %24, i32 0, i32 5 + %arrayidx = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc, i64 0, i64 0 + store i8 3, i8* %arrayidx, align 1 + %25 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc11 = getelementptr inbounds %struct.termios, %struct.termios* %25, i32 0, i32 5 + %arrayidx12 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc11, i64 0, i64 1 + store i8 28, i8* %arrayidx12, align 1 + %26 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc13 = getelementptr inbounds %struct.termios, %struct.termios* %26, i32 0, i32 5 + %arrayidx14 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc13, i64 0, i64 2 + store i8 127, i8* %arrayidx14, align 1 + %27 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc15 = getelementptr inbounds %struct.termios, %struct.termios* %27, i32 0, i32 5 + %arrayidx16 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc15, i64 0, i64 3 + store i8 21, i8* %arrayidx16, align 1 + %28 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc17 = getelementptr inbounds %struct.termios, %struct.termios* %28, i32 0, i32 5 + %arrayidx18 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc17, i64 0, i64 4 + store i8 4, i8* %arrayidx18, align 1 + %29 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc19 = getelementptr inbounds %struct.termios, %struct.termios* %29, i32 0, i32 5 + %arrayidx20 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc19, i64 0, i64 5 + store i8 0, i8* %arrayidx20, align 1 + %30 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc21 = getelementptr inbounds %struct.termios, %struct.termios* %30, i32 0, i32 5 + %arrayidx22 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc21, i64 0, i64 6 + store i8 1, i8* %arrayidx22, align 1 + %31 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc23 = getelementptr inbounds %struct.termios, %struct.termios* %31, i32 0, i32 5 + %arrayidx24 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc23, i64 0, i64 7 + store i8 -1, i8* %arrayidx24, align 1 + %32 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc25 = getelementptr inbounds %struct.termios, %struct.termios* %32, i32 0, i32 5 + %arrayidx26 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc25, i64 0, i64 8 + store i8 17, i8* %arrayidx26, align 1 + %33 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc27 = getelementptr inbounds %struct.termios, %struct.termios* %33, i32 0, i32 5 + %arrayidx28 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc27, i64 0, i64 9 + store i8 19, i8* %arrayidx28, align 1 + %34 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc29 = getelementptr inbounds %struct.termios, %struct.termios* %34, i32 0, i32 5 + %arrayidx30 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc29, i64 0, i64 10 + store i8 26, i8* %arrayidx30, align 1 + %35 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc31 = getelementptr inbounds %struct.termios, %struct.termios* %35, i32 0, i32 5 + %arrayidx32 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc31, i64 0, i64 11 + store i8 -1, i8* %arrayidx32, align 1 + %36 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc33 = getelementptr inbounds %struct.termios, %struct.termios* %36, i32 0, i32 5 + %arrayidx34 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc33, i64 0, i64 12 + store i8 18, i8* %arrayidx34, align 1 + %37 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc35 = getelementptr inbounds %struct.termios, %struct.termios* %37, i32 0, i32 5 + %arrayidx36 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc35, i64 0, i64 13 + store i8 15, i8* %arrayidx36, align 1 + %38 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc37 = getelementptr inbounds %struct.termios, %struct.termios* %38, i32 0, i32 5 + %arrayidx38 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc37, i64 0, i64 14 + store i8 23, i8* %arrayidx38, align 1 + %39 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc39 = getelementptr inbounds %struct.termios, %struct.termios* %39, i32 0, i32 5 + %arrayidx40 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc39, i64 0, i64 15 + store i8 22, i8* %arrayidx40, align 1 + %40 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc41 = getelementptr inbounds %struct.termios, %struct.termios* %40, i32 0, i32 5 + %arrayidx42 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc41, i64 0, i64 16 + store i8 -1, i8* %arrayidx42, align 1 + %41 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc43 = getelementptr inbounds %struct.termios, %struct.termios* %41, i32 0, i32 5 + %arrayidx44 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc43, i64 0, i64 17 + store i8 0, i8* %arrayidx44, align 1 + %42 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc45 = getelementptr inbounds %struct.termios, %struct.termios* %42, i32 0, i32 5 + %arrayidx46 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc45, i64 0, i64 18 + store i8 0, i8* %arrayidx46, align 1 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %sw.bb + %call47 = call i32* @__errno_location() #25 + store i32 25, i32* %call47, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb48: ; preds = %NodeBlock11 + call void @gs_warning_once(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.15, i64 0, i64 0)) + %43 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode49 = getelementptr inbounds %struct.stat64, %struct.stat64* %43, i32 0, i32 3 + %44 = load i32, i32* %st_mode49, align 8 + %and50 = and i32 %44, 61440 + %cmp51 = icmp eq i32 %and50, 8192 + br i1 %cmp51, label %if.then52, label %if.else53 + +if.then52: ; preds = %sw.bb48 + store i32 0, i32* %retval, align 4 + br label %return + +if.else53: ; preds = %sw.bb48 + %call54 = call i32* @__errno_location() #25 + store i32 25, i32* %call54, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb55: ; preds = %NodeBlock9 + call void @gs_warning_once(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.16, i64 0, i64 0)) + %45 = load i32, i32* %fd.addr, align 4 + %cmp56 = icmp eq i32 %45, 0 + br i1 %cmp56, label %if.then57, label %if.else58 + +if.then57: ; preds = %sw.bb55 + store i32 0, i32* %retval, align 4 + br label %return + +if.else58: ; preds = %sw.bb55 + %call59 = call i32* @__errno_location() #25 + store i32 25, i32* %call59, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb60: ; preds = %NodeBlock7 + call void @gs_warning_once(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.17, i64 0, i64 0)) + %46 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode61 = getelementptr inbounds %struct.stat64, %struct.stat64* %46, i32 0, i32 3 + %47 = load i32, i32* %st_mode61, align 8 + %and62 = and i32 %47, 61440 + %cmp63 = icmp eq i32 %and62, 8192 + br i1 %cmp63, label %if.then64, label %if.else65 + +if.then64: ; preds = %sw.bb60 + store i32 0, i32* %retval, align 4 + br label %return + +if.else65: ; preds = %sw.bb60 + %call66 = call i32* @__errno_location() #25 + store i32 25, i32* %call66, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb67: ; preds = %NodeBlock5 + %48 = load i8*, i8** %buf, align 8 + %49 = bitcast i8* %48 to %struct.winsize* + store %struct.winsize* %49, %struct.winsize** %ws, align 8 + %50 = load %struct.winsize*, %struct.winsize** %ws, align 8 + %ws_row = getelementptr inbounds %struct.winsize, %struct.winsize* %50, i32 0, i32 0 + store i16 24, i16* %ws_row, align 2 + %51 = load %struct.winsize*, %struct.winsize** %ws, align 8 + %ws_col = getelementptr inbounds %struct.winsize, %struct.winsize* %51, i32 0, i32 1 + store i16 80, i16* %ws_col, align 2 + call void @gs_warning_once(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.18, i64 0, i64 0)) + %52 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode68 = getelementptr inbounds %struct.stat64, %struct.stat64* %52, i32 0, i32 3 + %53 = load i32, i32* %st_mode68, align 8 + %and69 = and i32 %53, 61440 + %cmp70 = icmp eq i32 %and69, 8192 + br i1 %cmp70, label %if.then71, label %if.else72 + +if.then71: ; preds = %sw.bb67 + store i32 0, i32* %retval, align 4 + br label %return + +if.else72: ; preds = %sw.bb67 + %call73 = call i32* @__errno_location() #25 + store i32 25, i32* %call73, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb74: ; preds = %NodeBlock3 + call void @gs_warning_once(i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.19, i64 0, i64 0)) + %54 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode75 = getelementptr inbounds %struct.stat64, %struct.stat64* %54, i32 0, i32 3 + %55 = load i32, i32* %st_mode75, align 8 + %and76 = and i32 %55, 61440 + %cmp77 = icmp eq i32 %and76, 8192 + %call79 = call i32* @__errno_location() #25 + br i1 %cmp77, label %if.then78, label %if.else80 + +if.then78: ; preds = %sw.bb74 + store i32 22, i32* %call79, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else80: ; preds = %sw.bb74 + store i32 25, i32* %call79, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb82: ; preds = %NodeBlock1 + %56 = load i8*, i8** %buf, align 8 + %57 = bitcast i8* %56 to i32* + store i32* %57, i32** %res, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.20, i64 0, i64 0)) + %58 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode83 = getelementptr inbounds %struct.stat64, %struct.stat64* %58, i32 0, i32 3 + %59 = load i32, i32* %st_mode83, align 8 + %and84 = and i32 %59, 61440 + %cmp85 = icmp eq i32 %and84, 8192 + br i1 %cmp85, label %if.then86, label %if.else98 + +if.then86: ; preds = %sw.bb82 + %60 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %60, i32 0, i32 2 + %61 = load i64, i64* %off, align 8 + %62 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile87 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %62, i32 0, i32 3 + %63 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile87, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %63, i32 0, i32 0 + %64 = load i32, i32* %size, align 8 + %conv = zext i32 %64 to i64 + %cmp88 = icmp slt i64 %61, %conv + br i1 %cmp88, label %if.then90, label %if.else96 + +if.then90: ; preds = %if.then86 + %65 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile91 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %65, i32 0, i32 3 + %66 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile91, align 8 + %size92 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %66, i32 0, i32 0 + %67 = load i32, i32* %size92, align 8 + %conv93 = zext i32 %67 to i64 + %68 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off94 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %68, i32 0, i32 2 + %69 = load i64, i64* %off94, align 8 + %sub = sub nsw i64 %conv93, %69 + %conv95 = trunc i64 %sub to i32 + %70 = load i32*, i32** %res, align 8 + store i32 %conv95, i32* %70, align 4 + br label %if.end97 + +if.else96: ; preds = %if.then86 + %71 = load i32*, i32** %res, align 8 + store i32 0, i32* %71, align 4 + br label %if.end97 + +if.end97: ; preds = %if.else96, %if.then90 + store i32 0, i32* %retval, align 4 + br label %return + +if.else98: ; preds = %sw.bb82 + %call99 = call i32* @__errno_location() #25 + store i32 25, i32* %call99, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb100: ; preds = %NodeBlock + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.21, i64 0, i64 0)) + %call101 = call i32* @__errno_location() #25 + store i32 22, i32* %call101, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0)) + %call102 = call i32* @__errno_location() #25 + store i32 22, i32* %call102, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end103: ; preds = %vaarg.end + %fd104 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 0 + %72 = load i32, i32* %fd104, align 8 + %73 = load i64, i64* %request.addr, align 8 + %74 = load i8*, i8** %buf, align 8 + %call105 = call i64 (i64, ...) @syscall(i64 16, i32 %72, i64 %73, i8* %74) #11 + %conv106 = trunc i64 %call105 to i32 + store i32 %conv106, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end103, %sw.default, %sw.bb100, %if.else98, %if.end97, %if.else80, %if.then78, %if.else72, %if.then71, %if.else65, %if.then64, %if.else58, %if.then57, %if.else53, %if.then52, %if.else, %if.then10, %if.then + %75 = load i32, i32* %retval, align 4 + ret i32 %75 +} + +; Function Attrs: nounwind +declare void @llvm.va_start(i8*) #11 + +; Function Attrs: nounwind +declare void @llvm.va_end(i8*) #11 + +declare dso_local void @gs_warning_once(i8*) #5 + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fcntl(i32 %fd, i32 %cmd, ...) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %cmd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + %arg = alloca i32, align 4 + %lock = alloca %struct.flock*, align 8 + %flags = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %cmd, i32* %cmd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i32, i32* %cmd.addr, align 4 + %cmp = icmp eq i32 %2, 1 + %3 = load i32, i32* %cmd.addr, align 4 + %cmp2 = icmp eq i32 %3, 3 + %or.cond = or i1 %cmp, %cmp2 + %4 = load i32, i32* %cmd.addr, align 4 + %cmp4 = icmp eq i32 %4, 9 + %or.cond1 = or i1 %or.cond, %cmp4 + %5 = load i32, i32* %cmd.addr, align 4 + %cmp6 = icmp eq i32 %5, 11 + %or.cond2 = or i1 %or.cond1, %cmp6 + %6 = load i32, i32* %cmd.addr, align 4 + %cmp8 = icmp eq i32 %6, 1025 + %or.cond3 = or i1 %or.cond2, %cmp8 + %7 = load i32, i32* %cmd.addr, align 4 + %cmp10 = icmp eq i32 %7, 1026 + %or.cond4 = or i1 %or.cond3, %cmp10 + br i1 %or.cond4, label %if.then11, label %if.else + +if.then11: ; preds = %if.end + store i32 0, i32* %arg, align 4 + br label %if.end40 + +if.else: ; preds = %if.end + %8 = load i32, i32* %cmd.addr, align 4 + %cmp12 = icmp eq i32 %8, 5 + %9 = load i32, i32* %cmd.addr, align 4 + %cmp14 = icmp eq i32 %9, 6 + %or.cond5 = or i1 %cmp12, %cmp14 + %10 = load i32, i32* %cmd.addr, align 4 + %cmp16 = icmp eq i32 %10, 7 + %or.cond6 = or i1 %or.cond5, %cmp16 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay18 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay18) + %arraydecay19 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %or.cond6, label %if.then17, label %if.else22 + +if.then17: ; preds = %if.else + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then17 + %11 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 3 + %reg_save_area = load i8*, i8** %11, align 16 + %12 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %13 = bitcast i8* %12 to %struct.flock** + %14 = add i32 %gp_offset, 8 + store i32 %14, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then17 + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %15 = bitcast i8* %overflow_arg_area to %struct.flock** + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi %struct.flock** [ %13, %vaarg.in_reg ], [ %15, %vaarg.in_mem ] + %16 = load %struct.flock*, %struct.flock** %vaarg.addr, align 8 + store %struct.flock* %16, %struct.flock** %lock, align 8 + %arraydecay20 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay2021 = bitcast %struct.__va_list_tag.0* %arraydecay20 to i8* + call void @llvm.va_end(i8* %arraydecay2021) + br label %if.end40 + +if.else22: ; preds = %if.else + br i1 %fits_in_gp, label %vaarg.in_reg29, label %vaarg.in_mem31 + +vaarg.in_reg29: ; preds = %if.else22 + %17 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 3 + %reg_save_area30 = load i8*, i8** %17, align 16 + %18 = getelementptr i8, i8* %reg_save_area30, i32 %gp_offset + %19 = bitcast i8* %18 to i32* + %20 = add i32 %gp_offset, 8 + store i32 %20, i32* %gp_offset_p, align 16 + br label %vaarg.end35 + +vaarg.in_mem31: ; preds = %if.else22 + %overflow_arg_area_p32 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 2 + %overflow_arg_area33 = load i8*, i8** %overflow_arg_area_p32, align 8 + %21 = bitcast i8* %overflow_arg_area33 to i32* + %overflow_arg_area.next34 = getelementptr i8, i8* %overflow_arg_area33, i32 8 + store i8* %overflow_arg_area.next34, i8** %overflow_arg_area_p32, align 8 + br label %vaarg.end35 + +vaarg.end35: ; preds = %vaarg.in_mem31, %vaarg.in_reg29 + %vaarg.addr36 = phi i32* [ %19, %vaarg.in_reg29 ], [ %21, %vaarg.in_mem31 ] + %22 = load i32, i32* %vaarg.addr36, align 4 + store i32 %22, i32* %arg, align 4 + %arraydecay37 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay3738 = bitcast %struct.__va_list_tag.0* %arraydecay37 to i8* + call void @llvm.va_end(i8* %arraydecay3738) + br label %if.end40 + +if.end40: ; preds = %vaarg.end, %vaarg.end35, %if.then11 + %23 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %23, i32 0, i32 3 + %24 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool41 = icmp ne %struct.exe_disk_file_t* %24, null + br i1 %tobool41, label %if.then42, label %if.end60 + +if.then42: ; preds = %if.end40 + %25 = load i32, i32* %cmd.addr, align 4 + br label %NodeBlock13 + +NodeBlock13: ; preds = %if.then42 + %case.cmp14 = icmp eq i32 %25, 1 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %25, 2 + br i1 %case.cmp12, label %sw.bb47, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %25, 3 + br i1 %case.cmp10, label %sw.bb56, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %25, 5 + br i1 %case.cmp8, label %sw.bb57, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock7 + %case.cmp = icmp eq i32 %25, 6 + br i1 %case.cmp, label %sw.bb58, label %newDefault + +sw.bb: ; preds = %NodeBlock13 + store i32 0, i32* %flags, align 4 + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags43 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 1 + %27 = load i32, i32* %flags43, align 4 + %and = and i32 %27, 2 + %tobool44 = icmp ne i32 %and, 0 + br i1 %tobool44, label %if.then45, label %if.end46 + +if.then45: ; preds = %sw.bb + %28 = load i32, i32* %flags, align 4 + %or = or i32 %28, 1 + store i32 %or, i32* %flags, align 4 + br label %if.end46 + +if.end46: ; preds = %if.then45, %sw.bb + %29 = load i32, i32* %flags, align 4 + store i32 %29, i32* %retval, align 4 + br label %return + +sw.bb47: ; preds = %NodeBlock11 + %30 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags48 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %30, i32 0, i32 1 + %31 = load i32, i32* %flags48, align 4 + %and49 = and i32 %31, -3 + store i32 %and49, i32* %flags48, align 4 + %32 = load i32, i32* %arg, align 4 + %and50 = and i32 %32, 1 + %tobool51 = icmp ne i32 %and50, 0 + br i1 %tobool51, label %if.then52, label %if.end55 + +if.then52: ; preds = %sw.bb47 + %33 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags53 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %33, i32 0, i32 1 + %34 = load i32, i32* %flags53, align 4 + %or54 = or i32 %34, 2 + store i32 %or54, i32* %flags53, align 4 + br label %if.end55 + +if.end55: ; preds = %if.then52, %sw.bb47 + store i32 0, i32* %retval, align 4 + br label %return + +sw.bb56: ; preds = %NodeBlock9 + store i32 0, i32* %retval, align 4 + br label %return + +sw.bb57: ; preds = %NodeBlock7 + %35 = load %struct.flock*, %struct.flock** %lock, align 8 + %l_type = getelementptr inbounds %struct.flock, %struct.flock* %35, i32 0, i32 0 + store i16 2, i16* %l_type, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +sw.bb58: ; preds = %NodeBlock + store i32 0, i32* %retval, align 4 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0)) + %call59 = call i32* @__errno_location() #25 + store i32 22, i32* %call59, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end60: ; preds = %if.end40 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd61 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 0 + %37 = load i32, i32* %fd61, align 8 + %38 = load i32, i32* %cmd.addr, align 4 + %39 = load i32, i32* %arg, align 4 + %call62 = call i64 (i64, ...) @syscall(i64 72, i32 %37, i32 %38, i32 %39) #11 + %conv = trunc i64 %call62 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end60, %sw.default, %sw.bb58, %sw.bb57, %sw.bb56, %if.end55, %if.end46, %if.then + %40 = load i32, i32* %retval, align 4 + ret i32 %40 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_statfs(i8* %path, %struct.statfs* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.statfs*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.statfs* %buf, %struct.statfs** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0)) + %call1 = call i32* @__errno_location() #25 + store i32 2, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %2) + %3 = load %struct.statfs*, %struct.statfs** %buf.addr, align 8 + %call3 = call i64 (i64, ...) @syscall(i64 137, i8* %call2, %struct.statfs* %3) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstatfs(i32 %fd, %struct.statfs* nonnull %buf) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.statfs*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.statfs* %buf, %struct.statfs** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %if.end + call void @gs_warning(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.22, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 9, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd6, align 8 + %6 = load %struct.statfs*, %struct.statfs** %buf.addr, align 8 + %call7 = call i64 (i64, ...) @syscall(i64 138, i32 %5, %struct.statfs* %6) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %7 = load i32, i32* %retval, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fsync(i32 %fd) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.else + store i32 0, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %if.else + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd5 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd5, align 8 + %call6 = call i64 (i64, ...) @syscall(i64 74, i32 %5) #11 + %conv = trunc i64 %call6 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @dup2(i32 %oldfd, i32 %newfd) #3 { +entry: + %retval = alloca i32, align 4 + %oldfd.addr = alloca i32, align 4 + %newfd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %f2 = alloca %struct.exe_file_t*, align 8 + store i32 %oldfd, i32* %oldfd.addr, align 4 + store i32 %newfd, i32* %newfd.addr, align 4 + %0 = load i32, i32* %oldfd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + %2 = load i32, i32* %newfd.addr, align 4 + %cmp = icmp sge i32 %2, 0 + %or.cond = and i1 %tobool, %cmp + %3 = load i32, i32* %newfd.addr, align 4 + %cmp1 = icmp slt i32 %3, 32 + %or.cond1 = and i1 %or.cond, %cmp1 + br i1 %or.cond1, label %if.else, label %if.then + +if.then: ; preds = %entry + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %4 = load i32, i32* %newfd.addr, align 4 + %idxprom = sext i32 %4 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + store %struct.exe_file_t* %arrayidx, %struct.exe_file_t** %f2, align 8 + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f2, align 8 + %flags = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 1 + %6 = load i32, i32* %flags, align 4 + %and = and i32 %6, 1 + %tobool3 = icmp ne i32 %and, 0 + br i1 %tobool3, label %if.then4, label %if.end + +if.then4: ; preds = %if.else + %7 = load i32, i32* %newfd.addr, align 4 + %call5 = call i32 @close(i32 %7) + br label %if.end + +if.end: ; preds = %if.then4, %if.else + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f2, align 8 + %9 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %10 = bitcast %struct.exe_file_t* %8 to i8* + %11 = bitcast %struct.exe_file_t* %9 to i8* + %12 = call i8* @memcpy(i8* %10, i8* %11, i64 24) + %13 = load %struct.exe_file_t*, %struct.exe_file_t** %f2, align 8 + %flags6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %13, i32 0, i32 1 + %14 = load i32, i32* %flags6, align 4 + %and7 = and i32 %14, -3 + store i32 %and7, i32* %flags6, align 4 + %15 = load i32, i32* %newfd.addr, align 4 + store i32 %15, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %16 = load i32, i32* %retval, align 4 + ret i32 %16 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @dup(i32 %oldfd) #3 { +entry: + %retval = alloca i32, align 4 + %oldfd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %fd = alloca i32, align 4 + store i32 %oldfd, i32* %oldfd.addr, align 4 + %0 = load i32, i32* %oldfd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + store i32 0, i32* %fd, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.else + %2 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %2, 32 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %3 = load i32, i32* %fd, align 4 + %idxprom = sext i32 %3 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + %flags = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %arrayidx, i32 0, i32 1 + %4 = load i32, i32* %flags, align 4 + %and = and i32 %4, 1 + %tobool2 = icmp ne i32 %and, 0 + br i1 %tobool2, label %for.inc, label %for.end + +for.inc: ; preds = %for.body + %5 = load i32, i32* %fd, align 4 + %inc = add nsw i32 %5, 1 + store i32 %inc, i32* %fd, align 4 + br label %for.cond + +for.end: ; preds = %for.body, %for.cond + %6 = load i32, i32* %fd, align 4 + %cmp4 = icmp eq i32 %6, 32 + br i1 %cmp4, label %if.then5, label %if.else7 + +if.then5: ; preds = %for.end + %call6 = call i32* @__errno_location() #25 + store i32 24, i32* %call6, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else7: ; preds = %for.end + %7 = load i32, i32* %oldfd.addr, align 4 + %8 = load i32, i32* %fd, align 4 + %call8 = call i32 @dup2(i32 %7, i32 %8) #11 + store i32 %call8, i32* %retval, align 4 + br label %return + +return: ; preds = %if.else7, %if.then5, %if.then + %9 = load i32, i32* %retval, align 4 + ret i32 %9 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rmdir(i8* nonnull %pathname) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 16384 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %5, i32 0, i32 2 + %6 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 1 + store i64 0, i64* %st_ino, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %call3 = call i32* @__errno_location() #25 + store i32 20, i32* %call3, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 1, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.else, %if.then1 + %7 = load i32, i32* %retval, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @unlink(i8* nonnull %pathname) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 32768 + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %5, i32 0, i32 2 + %6 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 1 + store i64 0, i64* %st_ino, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %st_mode4 = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 3 + %7 = load i32, i32* %st_mode4, align 8 + %and5 = and i32 %7, 61440 + %cmp6 = icmp eq i32 %and5, 16384 + %call8 = call i32* @__errno_location() #25 + br i1 %cmp6, label %if.then7, label %if.else9 + +if.then7: ; preds = %if.else + store i32 21, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else9: ; preds = %if.else + store i32 1, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0)) + %call11 = call i32* @__errno_location() #25 + store i32 1, i32* %call11, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.else9, %if.then7, %if.then1 + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @unlinkat(i32 %dirfd, i8* nonnull %pathname, i32 %flags) #3 { +entry: + %retval = alloca i32, align 4 + %dirfd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i32 %dirfd, i32* %dirfd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 32768 + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %5, i32 0, i32 2 + %6 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 1 + store i64 0, i64* %st_ino, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %st_mode4 = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 3 + %7 = load i32, i32* %st_mode4, align 8 + %and5 = and i32 %7, 61440 + %cmp6 = icmp eq i32 %and5, 16384 + %call8 = call i32* @__errno_location() #25 + br i1 %cmp6, label %if.then7, label %if.else9 + +if.then7: ; preds = %if.else + store i32 21, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else9: ; preds = %if.else + store i32 1, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0)) + %call11 = call i32* @__errno_location() #25 + store i32 1, i32* %call11, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.else9, %if.then7, %if.then1 + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @readlink(i8* nonnull %path, i8* nonnull %buf, i64 %bufsize) #3 { +entry: + %retval = alloca i64, align 8 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end20 + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 40960 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %5 = load i8*, i8** %path.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 0 + %6 = load i8, i8* %arrayidx, align 1 + %7 = load i8*, i8** %buf.addr, align 8 + %arrayidx2 = getelementptr inbounds i8, i8* %7, i64 0 + store i8 %6, i8* %arrayidx2, align 1 + %8 = load i64, i64* %bufsize.addr, align 8 + %cmp3 = icmp ugt i64 %8, 1 + br i1 %cmp3, label %if.then4, label %if.end + +if.then4: ; preds = %if.then1 + %9 = load i8*, i8** %buf.addr, align 8 + %arrayidx5 = getelementptr inbounds i8, i8* %9, i64 1 + store i8 46, i8* %arrayidx5, align 1 + br label %if.end + +if.end: ; preds = %if.then4, %if.then1 + %10 = load i64, i64* %bufsize.addr, align 8 + %cmp6 = icmp ugt i64 %10, 2 + br i1 %cmp6, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end + %11 = load i8*, i8** %buf.addr, align 8 + %arrayidx8 = getelementptr inbounds i8, i8* %11, i64 2 + store i8 108, i8* %arrayidx8, align 1 + br label %if.end9 + +if.end9: ; preds = %if.then7, %if.end + %12 = load i64, i64* %bufsize.addr, align 8 + %cmp10 = icmp ugt i64 %12, 3 + br i1 %cmp10, label %if.then11, label %if.end13 + +if.then11: ; preds = %if.end9 + %13 = load i8*, i8** %buf.addr, align 8 + %arrayidx12 = getelementptr inbounds i8, i8* %13, i64 3 + store i8 110, i8* %arrayidx12, align 1 + br label %if.end13 + +if.end13: ; preds = %if.then11, %if.end9 + %14 = load i64, i64* %bufsize.addr, align 8 + %cmp14 = icmp ugt i64 %14, 4 + br i1 %cmp14, label %if.then15, label %if.end17 + +if.then15: ; preds = %if.end13 + %15 = load i8*, i8** %buf.addr, align 8 + %arrayidx16 = getelementptr inbounds i8, i8* %15, i64 4 + store i8 107, i8* %arrayidx16, align 1 + br label %if.end17 + +if.end17: ; preds = %if.then15, %if.end13 + %16 = load i64, i64* %bufsize.addr, align 8 + %cmp18 = icmp ugt i64 %16, 5 + %17 = load i64, i64* %bufsize.addr, align 8 + %cond = select i1 %cmp18, i64 5, i64 %17 + store i64 %cond, i64* %retval, align 8 + br label %return + +if.else: ; preds = %if.then + %call19 = call i32* @__errno_location() #25 + store i32 22, i32* %call19, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end20: ; preds = %entry + %18 = load i8*, i8** %path.addr, align 8 + %19 = load i8*, i8** %buf.addr, align 8 + %20 = load i64, i64* %bufsize.addr, align 8 + %call21 = call i64 (i64, ...) @syscall(i64 89, i8* %18, i8* %19, i64 %20) #11 + store i64 %call21, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end20, %if.else, %if.end17 + %21 = load i64, i64* %retval, align 8 + ret i64 %21 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @select(i32 %nfds, %struct.fd_set* %read, %struct.fd_set* %write, %struct.fd_set* %except, %struct.timespec* %timeout) #3 { +entry: + %retval = alloca i32, align 4 + %nfds.addr = alloca i32, align 4 + %read.addr = alloca %struct.fd_set*, align 8 + %write.addr = alloca %struct.fd_set*, align 8 + %except.addr = alloca %struct.fd_set*, align 8 + %timeout.addr = alloca %struct.timespec*, align 8 + %in_read = alloca %struct.fd_set, align 8 + %in_write = alloca %struct.fd_set, align 8 + %in_except = alloca %struct.fd_set, align 8 + %os_read = alloca %struct.fd_set, align 8 + %os_write = alloca %struct.fd_set, align 8 + %os_except = alloca %struct.fd_set, align 8 + %i = alloca i32, align 4 + %count = alloca i32, align 4 + %os_nfds = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %tv = alloca %struct.timespec, align 8 + %r = alloca i32, align 4 + %f182 = alloca %struct.exe_file_t*, align 8 + store i32 %nfds, i32* %nfds.addr, align 4 + store %struct.fd_set* %read, %struct.fd_set** %read.addr, align 8 + store %struct.fd_set* %write, %struct.fd_set** %write.addr, align 8 + store %struct.fd_set* %except, %struct.fd_set** %except.addr, align 8 + store %struct.timespec* %timeout, %struct.timespec** %timeout.addr, align 8 + store i32 0, i32* %count, align 4 + store i32 0, i32* %os_nfds, align 4 + %0 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %tobool = icmp ne %struct.fd_set* %0, null + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %entry + %1 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %2 = bitcast %struct.fd_set* %in_read to i8* + %3 = bitcast %struct.fd_set* %1 to i8* + %4 = call i8* @memcpy(i8* %2, i8* %3, i64 128) + %5 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %6 = bitcast %struct.fd_set* %5 to i8* + %7 = call i8* @memset(i8* %6, i32 0, i64 128) + br label %if.end + +if.else: ; preds = %entry + %8 = bitcast %struct.fd_set* %in_read to i8* + %9 = call i8* @memset(i8* %8, i32 0, i64 128) + br label %if.end + +if.end: ; preds = %if.else, %if.then + %10 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %tobool1 = icmp ne %struct.fd_set* %10, null + br i1 %tobool1, label %if.then2, label %if.else3 + +if.then2: ; preds = %if.end + %11 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %12 = bitcast %struct.fd_set* %in_write to i8* + %13 = bitcast %struct.fd_set* %11 to i8* + %14 = call i8* @memcpy(i8* %12, i8* %13, i64 128) + %15 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %16 = bitcast %struct.fd_set* %15 to i8* + %17 = call i8* @memset(i8* %16, i32 0, i64 128) + br label %if.end4 + +if.else3: ; preds = %if.end + %18 = bitcast %struct.fd_set* %in_write to i8* + %19 = call i8* @memset(i8* %18, i32 0, i64 128) + br label %if.end4 + +if.end4: ; preds = %if.else3, %if.then2 + %20 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %tobool5 = icmp ne %struct.fd_set* %20, null + br i1 %tobool5, label %if.then6, label %if.else7 + +if.then6: ; preds = %if.end4 + %21 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %22 = bitcast %struct.fd_set* %in_except to i8* + %23 = bitcast %struct.fd_set* %21 to i8* + %24 = call i8* @memcpy(i8* %22, i8* %23, i64 128) + %25 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %26 = bitcast %struct.fd_set* %25 to i8* + %27 = call i8* @memset(i8* %26, i32 0, i64 128) + br label %if.end8 + +if.else7: ; preds = %if.end4 + %28 = bitcast %struct.fd_set* %in_except to i8* + %29 = call i8* @memset(i8* %28, i32 0, i64 128) + br label %if.end8 + +if.end8: ; preds = %if.else7, %if.then6 + %30 = bitcast %struct.fd_set* %os_read to i8* + %31 = call i8* @memset(i8* %30, i32 0, i64 128) + %32 = bitcast %struct.fd_set* %os_write to i8* + %33 = call i8* @memset(i8* %32, i32 0, i64 128) + %34 = bitcast %struct.fd_set* %os_except to i8* + %35 = call i8* @memset(i8* %34, i32 0, i64 128) + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end8 + %36 = load i32, i32* %i, align 4 + %37 = load i32, i32* %nfds.addr, align 4 + %cmp = icmp slt i32 %36, %37 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %fds_bits = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_read, i32 0, i32 0 + %38 = load i32, i32* %i, align 4 + %div = sdiv i32 %38, 64 + %idxprom = sext i32 %div to i64 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits, i64 0, i64 %idxprom + %39 = load i64, i64* %arrayidx, align 8 + %40 = load i32, i32* %i, align 4 + %rem = srem i32 %40, 64 + %shl = shl i32 1, %rem + %conv = sext i32 %shl to i64 + %and = and i64 %39, %conv + %tobool9 = icmp ne i64 %and, 0 + br i1 %tobool9, label %if.then29, label %lor.lhs.false + +lor.lhs.false: ; preds = %for.body + %fds_bits10 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_write, i32 0, i32 0 + %41 = load i32, i32* %i, align 4 + %div11 = sdiv i32 %41, 64 + %idxprom12 = sext i32 %div11 to i64 + %arrayidx13 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits10, i64 0, i64 %idxprom12 + %42 = load i64, i64* %arrayidx13, align 8 + %43 = load i32, i32* %i, align 4 + %rem14 = srem i32 %43, 64 + %shl15 = shl i32 1, %rem14 + %conv16 = sext i32 %shl15 to i64 + %and17 = and i64 %42, %conv16 + %tobool18 = icmp ne i64 %and17, 0 + br i1 %tobool18, label %if.then29, label %lor.lhs.false19 + +lor.lhs.false19: ; preds = %lor.lhs.false + %fds_bits20 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_except, i32 0, i32 0 + %44 = load i32, i32* %i, align 4 + %div21 = sdiv i32 %44, 64 + %idxprom22 = sext i32 %div21 to i64 + %arrayidx23 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits20, i64 0, i64 %idxprom22 + %45 = load i64, i64* %arrayidx23, align 8 + %46 = load i32, i32* %i, align 4 + %rem24 = srem i32 %46, 64 + %shl25 = shl i32 1, %rem24 + %conv26 = sext i32 %shl25 to i64 + %and27 = and i64 %45, %conv26 + %tobool28 = icmp ne i64 %and27, 0 + br i1 %tobool28, label %if.then29, label %for.inc + +if.then29: ; preds = %lor.lhs.false19, %lor.lhs.false, %for.body + %47 = load i32, i32* %i, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %47) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %48 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool30 = icmp ne %struct.exe_file_t* %48, null + br i1 %tobool30, label %if.else33, label %if.then31 + +if.then31: ; preds = %if.then29 + %call32 = call i32* @__errno_location() #25 + store i32 9, i32* %call32, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else33: ; preds = %if.then29 + %49 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %49, i32 0, i32 3 + %50 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool34 = icmp ne %struct.exe_disk_file_t* %50, null + %fds_bits36 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_read, i32 0, i32 0 + %51 = load i32, i32* %i, align 4 + %div37 = sdiv i32 %51, 64 + %idxprom38 = sext i32 %div37 to i64 + %arrayidx39 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits36, i64 0, i64 %idxprom38 + %52 = load i64, i64* %arrayidx39, align 8 + %53 = load i32, i32* %i, align 4 + %rem40 = srem i32 %53, 64 + %shl41 = shl i32 1, %rem40 + %conv42 = sext i32 %shl41 to i64 + %and43 = and i64 %52, %conv42 + %tobool44 = icmp ne i64 %and43, 0 + br i1 %tobool34, label %if.then35, label %if.else92 + +if.then35: ; preds = %if.else33 + br i1 %tobool44, label %if.then45, label %if.end53 + +if.then45: ; preds = %if.then35 + %54 = load i32, i32* %i, align 4 + %rem46 = srem i32 %54, 64 + %shl47 = shl i32 1, %rem46 + %conv48 = sext i32 %shl47 to i64 + %55 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %fds_bits49 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %55, i32 0, i32 0 + %56 = load i32, i32* %i, align 4 + %div50 = sdiv i32 %56, 64 + %idxprom51 = sext i32 %div50 to i64 + %arrayidx52 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits49, i64 0, i64 %idxprom51 + %57 = load i64, i64* %arrayidx52, align 8 + %or = or i64 %57, %conv48 + store i64 %or, i64* %arrayidx52, align 8 + br label %if.end53 + +if.end53: ; preds = %if.then45, %if.then35 + %fds_bits54 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_write, i32 0, i32 0 + %58 = load i32, i32* %i, align 4 + %div55 = sdiv i32 %58, 64 + %idxprom56 = sext i32 %div55 to i64 + %arrayidx57 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits54, i64 0, i64 %idxprom56 + %59 = load i64, i64* %arrayidx57, align 8 + %60 = load i32, i32* %i, align 4 + %rem58 = srem i32 %60, 64 + %shl59 = shl i32 1, %rem58 + %conv60 = sext i32 %shl59 to i64 + %and61 = and i64 %59, %conv60 + %tobool62 = icmp ne i64 %and61, 0 + br i1 %tobool62, label %if.then63, label %if.end72 + +if.then63: ; preds = %if.end53 + %61 = load i32, i32* %i, align 4 + %rem64 = srem i32 %61, 64 + %shl65 = shl i32 1, %rem64 + %conv66 = sext i32 %shl65 to i64 + %62 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %fds_bits67 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %62, i32 0, i32 0 + %63 = load i32, i32* %i, align 4 + %div68 = sdiv i32 %63, 64 + %idxprom69 = sext i32 %div68 to i64 + %arrayidx70 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits67, i64 0, i64 %idxprom69 + %64 = load i64, i64* %arrayidx70, align 8 + %or71 = or i64 %64, %conv66 + store i64 %or71, i64* %arrayidx70, align 8 + br label %if.end72 + +if.end72: ; preds = %if.then63, %if.end53 + %fds_bits73 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_except, i32 0, i32 0 + %65 = load i32, i32* %i, align 4 + %div74 = sdiv i32 %65, 64 + %idxprom75 = sext i32 %div74 to i64 + %arrayidx76 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits73, i64 0, i64 %idxprom75 + %66 = load i64, i64* %arrayidx76, align 8 + %67 = load i32, i32* %i, align 4 + %rem77 = srem i32 %67, 64 + %shl78 = shl i32 1, %rem77 + %conv79 = sext i32 %shl78 to i64 + %and80 = and i64 %66, %conv79 + %tobool81 = icmp ne i64 %and80, 0 + br i1 %tobool81, label %if.then82, label %if.end91 + +if.then82: ; preds = %if.end72 + %68 = load i32, i32* %i, align 4 + %rem83 = srem i32 %68, 64 + %shl84 = shl i32 1, %rem83 + %conv85 = sext i32 %shl84 to i64 + %69 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %fds_bits86 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %69, i32 0, i32 0 + %70 = load i32, i32* %i, align 4 + %div87 = sdiv i32 %70, 64 + %idxprom88 = sext i32 %div87 to i64 + %arrayidx89 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits86, i64 0, i64 %idxprom88 + %71 = load i64, i64* %arrayidx89, align 8 + %or90 = or i64 %71, %conv85 + store i64 %or90, i64* %arrayidx89, align 8 + br label %if.end91 + +if.end91: ; preds = %if.then82, %if.end72 + %72 = load i32, i32* %count, align 4 + %inc = add nsw i32 %72, 1 + store i32 %inc, i32* %count, align 4 + br label %for.inc + +if.else92: ; preds = %if.else33 + br i1 %tobool44, label %if.then102, label %if.end112 + +if.then102: ; preds = %if.else92 + %73 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %73, i32 0, i32 0 + %74 = load i32, i32* %fd, align 8 + %rem103 = srem i32 %74, 64 + %shl104 = shl i32 1, %rem103 + %conv105 = sext i32 %shl104 to i64 + %fds_bits106 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_read, i32 0, i32 0 + %75 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd107 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %75, i32 0, i32 0 + %76 = load i32, i32* %fd107, align 8 + %div108 = sdiv i32 %76, 64 + %idxprom109 = sext i32 %div108 to i64 + %arrayidx110 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits106, i64 0, i64 %idxprom109 + %77 = load i64, i64* %arrayidx110, align 8 + %or111 = or i64 %77, %conv105 + store i64 %or111, i64* %arrayidx110, align 8 + br label %if.end112 + +if.end112: ; preds = %if.then102, %if.else92 + %fds_bits113 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_write, i32 0, i32 0 + %78 = load i32, i32* %i, align 4 + %div114 = sdiv i32 %78, 64 + %idxprom115 = sext i32 %div114 to i64 + %arrayidx116 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits113, i64 0, i64 %idxprom115 + %79 = load i64, i64* %arrayidx116, align 8 + %80 = load i32, i32* %i, align 4 + %rem117 = srem i32 %80, 64 + %shl118 = shl i32 1, %rem117 + %conv119 = sext i32 %shl118 to i64 + %and120 = and i64 %79, %conv119 + %tobool121 = icmp ne i64 %and120, 0 + br i1 %tobool121, label %if.then122, label %if.end133 + +if.then122: ; preds = %if.end112 + %81 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd123 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %81, i32 0, i32 0 + %82 = load i32, i32* %fd123, align 8 + %rem124 = srem i32 %82, 64 + %shl125 = shl i32 1, %rem124 + %conv126 = sext i32 %shl125 to i64 + %fds_bits127 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_write, i32 0, i32 0 + %83 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd128 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %83, i32 0, i32 0 + %84 = load i32, i32* %fd128, align 8 + %div129 = sdiv i32 %84, 64 + %idxprom130 = sext i32 %div129 to i64 + %arrayidx131 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits127, i64 0, i64 %idxprom130 + %85 = load i64, i64* %arrayidx131, align 8 + %or132 = or i64 %85, %conv126 + store i64 %or132, i64* %arrayidx131, align 8 + br label %if.end133 + +if.end133: ; preds = %if.then122, %if.end112 + %fds_bits134 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_except, i32 0, i32 0 + %86 = load i32, i32* %i, align 4 + %div135 = sdiv i32 %86, 64 + %idxprom136 = sext i32 %div135 to i64 + %arrayidx137 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits134, i64 0, i64 %idxprom136 + %87 = load i64, i64* %arrayidx137, align 8 + %88 = load i32, i32* %i, align 4 + %rem138 = srem i32 %88, 64 + %shl139 = shl i32 1, %rem138 + %conv140 = sext i32 %shl139 to i64 + %and141 = and i64 %87, %conv140 + %tobool142 = icmp ne i64 %and141, 0 + br i1 %tobool142, label %if.then143, label %if.end154 + +if.then143: ; preds = %if.end133 + %89 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd144 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %89, i32 0, i32 0 + %90 = load i32, i32* %fd144, align 8 + %rem145 = srem i32 %90, 64 + %shl146 = shl i32 1, %rem145 + %conv147 = sext i32 %shl146 to i64 + %fds_bits148 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_except, i32 0, i32 0 + %91 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd149 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %91, i32 0, i32 0 + %92 = load i32, i32* %fd149, align 8 + %div150 = sdiv i32 %92, 64 + %idxprom151 = sext i32 %div150 to i64 + %arrayidx152 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits148, i64 0, i64 %idxprom151 + %93 = load i64, i64* %arrayidx152, align 8 + %or153 = or i64 %93, %conv147 + store i64 %or153, i64* %arrayidx152, align 8 + br label %if.end154 + +if.end154: ; preds = %if.then143, %if.end133 + %94 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd155 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %94, i32 0, i32 0 + %95 = load i32, i32* %fd155, align 8 + %96 = load i32, i32* %os_nfds, align 4 + %cmp156 = icmp sge i32 %95, %96 + br i1 %cmp156, label %if.then158, label %for.inc + +if.then158: ; preds = %if.end154 + %97 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd159 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %97, i32 0, i32 0 + %98 = load i32, i32* %fd159, align 8 + %add = add nsw i32 %98, 1 + store i32 %add, i32* %os_nfds, align 4 + br label %for.inc + +for.inc: ; preds = %lor.lhs.false19, %if.end91, %if.then158, %if.end154 + %99 = load i32, i32* %i, align 4 + %inc164 = add nsw i32 %99, 1 + store i32 %inc164, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %100 = load i32, i32* %os_nfds, align 4 + %cmp165 = icmp sgt i32 %100, 0 + br i1 %cmp165, label %if.then167, label %if.end262 + +if.then167: ; preds = %for.end + %101 = bitcast %struct.timespec* %tv to i8* + %102 = call i8* @memset(i8* %101, i32 0, i64 16) + %103 = load i32, i32* %os_nfds, align 4 + %call168 = call i64 (i64, ...) @syscall(i64 23, i32 %103, %struct.fd_set* %os_read, %struct.fd_set* %os_write, %struct.fd_set* %os_except, %struct.timespec* %tv) #11 + %conv169 = trunc i64 %call168 to i32 + store i32 %conv169, i32* %r, align 4 + %104 = load i32, i32* %r, align 4 + %cmp170 = icmp eq i32 %104, -1 + br i1 %cmp170, label %if.then172, label %if.else176 + +if.then172: ; preds = %if.then167 + %105 = load i32, i32* %count, align 4 + %tobool173 = icmp ne i32 %105, 0 + br i1 %tobool173, label %if.end262, label %if.then174 + +if.then174: ; preds = %if.then172 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else176: ; preds = %if.then167 + %106 = load i32, i32* %r, align 4 + %107 = load i32, i32* %count, align 4 + %add177 = add nsw i32 %107, %106 + store i32 %add177, i32* %count, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond178 + +for.cond178: ; preds = %for.inc258, %if.else176 + %108 = load i32, i32* %i, align 4 + %109 = load i32, i32* %nfds.addr, align 4 + %cmp179 = icmp slt i32 %108, %109 + br i1 %cmp179, label %for.body181, label %if.end262 + +for.body181: ; preds = %for.cond178 + %110 = load i32, i32* %i, align 4 + %call183 = call %struct.exe_file_t* @__get_file(i32 %110) + store %struct.exe_file_t* %call183, %struct.exe_file_t** %f182, align 8 + %111 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %tobool184 = icmp ne %struct.exe_file_t* %111, null + br i1 %tobool184, label %land.lhs.true, label %for.inc258 + +land.lhs.true: ; preds = %for.body181 + %112 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %dfile185 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %112, i32 0, i32 3 + %113 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile185, align 8 + %tobool186 = icmp ne %struct.exe_disk_file_t* %113, null + br i1 %tobool186, label %for.inc258, label %if.then187 + +if.then187: ; preds = %land.lhs.true + %114 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %tobool188 = icmp ne %struct.fd_set* %114, null + br i1 %tobool188, label %land.lhs.true189, label %if.end210 + +land.lhs.true189: ; preds = %if.then187 + %fds_bits190 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_read, i32 0, i32 0 + %115 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd191 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %115, i32 0, i32 0 + %116 = load i32, i32* %fd191, align 8 + %div192 = sdiv i32 %116, 64 + %idxprom193 = sext i32 %div192 to i64 + %arrayidx194 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits190, i64 0, i64 %idxprom193 + %117 = load i64, i64* %arrayidx194, align 8 + %118 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd195 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %118, i32 0, i32 0 + %119 = load i32, i32* %fd195, align 8 + %rem196 = srem i32 %119, 64 + %shl197 = shl i32 1, %rem196 + %conv198 = sext i32 %shl197 to i64 + %and199 = and i64 %117, %conv198 + %tobool200 = icmp ne i64 %and199, 0 + br i1 %tobool200, label %if.then201, label %if.end210 + +if.then201: ; preds = %land.lhs.true189 + %120 = load i32, i32* %i, align 4 + %rem202 = srem i32 %120, 64 + %shl203 = shl i32 1, %rem202 + %conv204 = sext i32 %shl203 to i64 + %121 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %fds_bits205 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %121, i32 0, i32 0 + %122 = load i32, i32* %i, align 4 + %div206 = sdiv i32 %122, 64 + %idxprom207 = sext i32 %div206 to i64 + %arrayidx208 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits205, i64 0, i64 %idxprom207 + %123 = load i64, i64* %arrayidx208, align 8 + %or209 = or i64 %123, %conv204 + store i64 %or209, i64* %arrayidx208, align 8 + br label %if.end210 + +if.end210: ; preds = %if.then201, %land.lhs.true189, %if.then187 + %124 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %tobool211 = icmp ne %struct.fd_set* %124, null + br i1 %tobool211, label %land.lhs.true212, label %if.end233 + +land.lhs.true212: ; preds = %if.end210 + %fds_bits213 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_write, i32 0, i32 0 + %125 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd214 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %125, i32 0, i32 0 + %126 = load i32, i32* %fd214, align 8 + %div215 = sdiv i32 %126, 64 + %idxprom216 = sext i32 %div215 to i64 + %arrayidx217 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits213, i64 0, i64 %idxprom216 + %127 = load i64, i64* %arrayidx217, align 8 + %128 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd218 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %128, i32 0, i32 0 + %129 = load i32, i32* %fd218, align 8 + %rem219 = srem i32 %129, 64 + %shl220 = shl i32 1, %rem219 + %conv221 = sext i32 %shl220 to i64 + %and222 = and i64 %127, %conv221 + %tobool223 = icmp ne i64 %and222, 0 + br i1 %tobool223, label %if.then224, label %if.end233 + +if.then224: ; preds = %land.lhs.true212 + %130 = load i32, i32* %i, align 4 + %rem225 = srem i32 %130, 64 + %shl226 = shl i32 1, %rem225 + %conv227 = sext i32 %shl226 to i64 + %131 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %fds_bits228 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %131, i32 0, i32 0 + %132 = load i32, i32* %i, align 4 + %div229 = sdiv i32 %132, 64 + %idxprom230 = sext i32 %div229 to i64 + %arrayidx231 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits228, i64 0, i64 %idxprom230 + %133 = load i64, i64* %arrayidx231, align 8 + %or232 = or i64 %133, %conv227 + store i64 %or232, i64* %arrayidx231, align 8 + br label %if.end233 + +if.end233: ; preds = %if.then224, %land.lhs.true212, %if.end210 + %134 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %tobool234 = icmp ne %struct.fd_set* %134, null + br i1 %tobool234, label %land.lhs.true235, label %for.inc258 + +land.lhs.true235: ; preds = %if.end233 + %fds_bits236 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_except, i32 0, i32 0 + %135 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd237 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %135, i32 0, i32 0 + %136 = load i32, i32* %fd237, align 8 + %div238 = sdiv i32 %136, 64 + %idxprom239 = sext i32 %div238 to i64 + %arrayidx240 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits236, i64 0, i64 %idxprom239 + %137 = load i64, i64* %arrayidx240, align 8 + %138 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd241 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %138, i32 0, i32 0 + %139 = load i32, i32* %fd241, align 8 + %rem242 = srem i32 %139, 64 + %shl243 = shl i32 1, %rem242 + %conv244 = sext i32 %shl243 to i64 + %and245 = and i64 %137, %conv244 + %tobool246 = icmp ne i64 %and245, 0 + br i1 %tobool246, label %if.then247, label %for.inc258 + +if.then247: ; preds = %land.lhs.true235 + %140 = load i32, i32* %i, align 4 + %rem248 = srem i32 %140, 64 + %shl249 = shl i32 1, %rem248 + %conv250 = sext i32 %shl249 to i64 + %141 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %fds_bits251 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %141, i32 0, i32 0 + %142 = load i32, i32* %i, align 4 + %div252 = sdiv i32 %142, 64 + %idxprom253 = sext i32 %div252 to i64 + %arrayidx254 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits251, i64 0, i64 %idxprom253 + %143 = load i64, i64* %arrayidx254, align 8 + %or255 = or i64 %143, %conv250 + store i64 %or255, i64* %arrayidx254, align 8 + br label %for.inc258 + +for.inc258: ; preds = %for.body181, %land.lhs.true, %if.then247, %land.lhs.true235, %if.end233 + %144 = load i32, i32* %i, align 4 + %inc259 = add nsw i32 %144, 1 + store i32 %inc259, i32* %i, align 4 + br label %for.cond178 + +if.end262: ; preds = %if.then172, %for.cond178, %for.end + %145 = load i32, i32* %count, align 4 + store i32 %145, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end262, %if.then174, %if.then31 + %146 = load i32, i32* %retval, align 4 + ret i32 %146 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chroot(i8* nonnull %path) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %0, i64 0 + %1 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call = call i32* @__errno_location() #25 + store i32 2, i32* %call, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %path.addr, align 8 + %arrayidx2 = getelementptr inbounds i8, i8* %2, i64 0 + %3 = load i8, i8* %arrayidx2, align 1 + %conv3 = sext i8 %3 to i32 + %cmp4 = icmp eq i32 %conv3, 47 + br i1 %cmp4, label %land.lhs.true, label %if.end11 + +land.lhs.true: ; preds = %if.end + %4 = load i8*, i8** %path.addr, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %4, i64 1 + %5 = load i8, i8* %arrayidx6, align 1 + %conv7 = sext i8 %5 to i32 + %cmp8 = icmp eq i32 %conv7, 0 + br i1 %cmp8, label %if.then10, label %if.end11 + +if.then10: ; preds = %land.lhs.true + store i32 0, i32* %retval, align 4 + br label %return + +if.end11: ; preds = %land.lhs.true, %if.end + call void @gs_warning(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.24, i64 0, i64 0)) + %call12 = call i32* @__errno_location() #25 + store i32 2, i32* %call12, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end11, %if.then10, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @open(i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i8*, i8** %pathname.addr, align 8 + %8 = load i32, i32* %flags.addr, align 4 + %9 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_open(i8* %7, i32 %8, i32 %9) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @openat(i32 %fd, i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %fd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i32, i32* %fd.addr, align 4 + %8 = load i8*, i8** %pathname.addr, align 8 + %9 = load i32, i32* %flags.addr, align 4 + %10 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_openat(i32 %7, i8* %8, i32 %9, i32 %10) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @lseek(i32 %fd, i64 %off, i32 %whence) #3 { +entry: + %fd.addr = alloca i32, align 4 + %off.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %off, i64* %off.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %off.addr, align 8 + %2 = load i32, i32* %whence.addr, align 4 + %call = call i64 @__fd_lseek(i32 %0, i64 %1, i32 %2) + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__xstat(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__stat64_to_stat(%struct.stat64* %a, %struct.stat64* %b) #3 { +entry: + %a.addr = alloca %struct.stat64*, align 8 + %b.addr = alloca %struct.stat64*, align 8 + store %struct.stat64* %a, %struct.stat64** %a.addr, align 8 + store %struct.stat64* %b, %struct.stat64** %b.addr, align 8 + %0 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_dev = getelementptr inbounds %struct.stat64, %struct.stat64* %0, i32 0, i32 0 + %1 = load i64, i64* %st_dev, align 8 + %2 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_dev1 = getelementptr inbounds %struct.stat64, %struct.stat64* %2, i32 0, i32 0 + store i64 %1, i64* %st_dev1, align 8 + %3 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 1 + %4 = load i64, i64* %st_ino, align 8 + %5 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_ino2 = getelementptr inbounds %struct.stat64, %struct.stat64* %5, i32 0, i32 1 + store i64 %4, i64* %st_ino2, align 8 + %6 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 3 + %7 = load i32, i32* %st_mode, align 8 + %8 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_mode3 = getelementptr inbounds %struct.stat64, %struct.stat64* %8, i32 0, i32 3 + store i32 %7, i32* %st_mode3, align 8 + %9 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_nlink = getelementptr inbounds %struct.stat64, %struct.stat64* %9, i32 0, i32 2 + %10 = load i64, i64* %st_nlink, align 8 + %11 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_nlink4 = getelementptr inbounds %struct.stat64, %struct.stat64* %11, i32 0, i32 2 + store i64 %10, i64* %st_nlink4, align 8 + %12 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_uid = getelementptr inbounds %struct.stat64, %struct.stat64* %12, i32 0, i32 4 + %13 = load i32, i32* %st_uid, align 4 + %14 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_uid5 = getelementptr inbounds %struct.stat64, %struct.stat64* %14, i32 0, i32 4 + store i32 %13, i32* %st_uid5, align 4 + %15 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_gid = getelementptr inbounds %struct.stat64, %struct.stat64* %15, i32 0, i32 5 + %16 = load i32, i32* %st_gid, align 8 + %17 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_gid6 = getelementptr inbounds %struct.stat64, %struct.stat64* %17, i32 0, i32 5 + store i32 %16, i32* %st_gid6, align 8 + %18 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_rdev = getelementptr inbounds %struct.stat64, %struct.stat64* %18, i32 0, i32 7 + %19 = load i64, i64* %st_rdev, align 8 + %20 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_rdev7 = getelementptr inbounds %struct.stat64, %struct.stat64* %20, i32 0, i32 7 + store i64 %19, i64* %st_rdev7, align 8 + %21 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_size = getelementptr inbounds %struct.stat64, %struct.stat64* %21, i32 0, i32 8 + %22 = load i64, i64* %st_size, align 8 + %23 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_size8 = getelementptr inbounds %struct.stat64, %struct.stat64* %23, i32 0, i32 8 + store i64 %22, i64* %st_size8, align 8 + %24 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_atim = getelementptr inbounds %struct.stat64, %struct.stat64* %24, i32 0, i32 11 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim, i32 0, i32 0 + %25 = load i64, i64* %tv_sec, align 8 + %26 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_atim9 = getelementptr inbounds %struct.stat64, %struct.stat64* %26, i32 0, i32 11 + %tv_sec10 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim9, i32 0, i32 0 + store i64 %25, i64* %tv_sec10, align 8 + %27 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_mtim = getelementptr inbounds %struct.stat64, %struct.stat64* %27, i32 0, i32 12 + %tv_sec11 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim, i32 0, i32 0 + %28 = load i64, i64* %tv_sec11, align 8 + %29 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_mtim12 = getelementptr inbounds %struct.stat64, %struct.stat64* %29, i32 0, i32 12 + %tv_sec13 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim12, i32 0, i32 0 + store i64 %28, i64* %tv_sec13, align 8 + %30 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_ctim = getelementptr inbounds %struct.stat64, %struct.stat64* %30, i32 0, i32 13 + %tv_sec14 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim, i32 0, i32 0 + %31 = load i64, i64* %tv_sec14, align 8 + %32 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_ctim15 = getelementptr inbounds %struct.stat64, %struct.stat64* %32, i32 0, i32 13 + %tv_sec16 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim15, i32 0, i32 0 + store i64 %31, i64* %tv_sec16, align 8 + %33 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_blksize = getelementptr inbounds %struct.stat64, %struct.stat64* %33, i32 0, i32 9 + %34 = load i64, i64* %st_blksize, align 8 + %35 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_blksize17 = getelementptr inbounds %struct.stat64, %struct.stat64* %35, i32 0, i32 9 + store i64 %34, i64* %st_blksize17, align 8 + %36 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_blocks = getelementptr inbounds %struct.stat64, %struct.stat64* %36, i32 0, i32 10 + %37 = load i64, i64* %st_blocks, align 8 + %38 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_blocks18 = getelementptr inbounds %struct.stat64, %struct.stat64* %38, i32 0, i32 10 + store i64 %37, i64* %st_blocks18, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @stat(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__lxstat(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @lstat(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fxstat(i32 %vers, i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %vers, i32* %vers.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstat(i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @ftruncate(i32 %fd, i64 %length) #3 { +entry: + %fd.addr = alloca i32, align 4 + %length.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %length, i64* %length.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %length.addr, align 8 + %call = call i32 @__fd_ftruncate(i32 %0, i64 %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @statfs(i8* nonnull %path, %struct.statfs* nonnull %buf32) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf32.addr = alloca %struct.statfs*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.statfs* %buf32, %struct.statfs** %buf32.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.statfs*, %struct.statfs** %buf32.addr, align 8 + %call = call i32 @__fd_statfs(i8* %0, %struct.statfs* %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @getdents(i32 %fd, %struct.dirent64* %dirp, i64 %nbytes) #3 { +entry: + %fd.addr = alloca i32, align 4 + %dirp.addr = alloca %struct.dirent64*, align 8 + %nbytes.addr = alloca i64, align 8 + %dp64 = alloca %struct.dirent64*, align 8 + %res = alloca i64, align 8 + %end = alloca %struct.dirent64*, align 8 + %dp = alloca %struct.dirent64*, align 8 + %name_len = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.dirent64* %dirp, %struct.dirent64** %dirp.addr, align 8 + store i64 %nbytes, i64* %nbytes.addr, align 8 + %0 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %1 = bitcast %struct.dirent64* %0 to %struct.dirent64* + store %struct.dirent64* %1, %struct.dirent64** %dp64, align 8 + %2 = load i32, i32* %fd.addr, align 4 + %3 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %4 = load i64, i64* %nbytes.addr, align 8 + %conv = trunc i64 %4 to i32 + %call = call i32 @__fd_getdents(i32 %2, %struct.dirent64* %3, i32 %conv) + %conv1 = sext i32 %call to i64 + store i64 %conv1, i64* %res, align 8 + %5 = load i64, i64* %res, align 8 + %cmp = icmp sgt i64 %5, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %6 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %7 = bitcast %struct.dirent64* %6 to i8* + %8 = load i64, i64* %res, align 8 + %add.ptr = getelementptr inbounds i8, i8* %7, i64 %8 + %9 = bitcast i8* %add.ptr to %struct.dirent64* + store %struct.dirent64* %9, %struct.dirent64** %end, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.then + %10 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %11 = load %struct.dirent64*, %struct.dirent64** %end, align 8 + %cmp3 = icmp ult %struct.dirent64* %10, %11 + br i1 %cmp3, label %while.body, label %if.end + +while.body: ; preds = %while.cond + %12 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %13 = bitcast %struct.dirent64* %12 to %struct.dirent64* + store %struct.dirent64* %13, %struct.dirent64** %dp, align 8 + %14 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_reclen = getelementptr inbounds %struct.dirent64, %struct.dirent64* %14, i32 0, i32 2 + %15 = load i16, i16* %d_reclen, align 8 + %conv5 = zext i16 %15 to i64 + %sub = sub i64 %conv5, ptrtoint ([256 x i8]* getelementptr inbounds (%struct.dirent64, %struct.dirent64* null, i32 0, i32 4) to i64) + store i64 %sub, i64* %name_len, align 8 + %16 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_ino = getelementptr inbounds %struct.dirent64, %struct.dirent64* %16, i32 0, i32 0 + %17 = load i64, i64* %d_ino, align 8 + %18 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_ino6 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %18, i32 0, i32 0 + store i64 %17, i64* %d_ino6, align 8 + %19 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_off = getelementptr inbounds %struct.dirent64, %struct.dirent64* %19, i32 0, i32 1 + %20 = load i64, i64* %d_off, align 8 + %21 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_off7 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %21, i32 0, i32 1 + store i64 %20, i64* %d_off7, align 8 + %22 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_reclen8 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %22, i32 0, i32 2 + %23 = load i16, i16* %d_reclen8, align 8 + %24 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_reclen9 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %24, i32 0, i32 2 + store i16 %23, i16* %d_reclen9, align 8 + %25 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_type = getelementptr inbounds %struct.dirent64, %struct.dirent64* %25, i32 0, i32 3 + %26 = load i8, i8* %d_type, align 2 + %27 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_type10 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %27, i32 0, i32 3 + store i8 %26, i8* %d_type10, align 2 + %28 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_name = getelementptr inbounds %struct.dirent64, %struct.dirent64* %28, i32 0, i32 4 + %arraydecay = getelementptr inbounds [256 x i8], [256 x i8]* %d_name, i64 0, i64 0 + %29 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_name11 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %29, i32 0, i32 4 + %arraydecay12 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name11, i64 0, i64 0 + %30 = load i64, i64* %name_len, align 8 + %31 = call i8* @memmove(i8* %arraydecay, i8* %arraydecay12, i64 %30) + %32 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %33 = bitcast %struct.dirent64* %32 to i8* + %34 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_reclen13 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %34, i32 0, i32 2 + %35 = load i16, i16* %d_reclen13, align 8 + %conv14 = zext i16 %35 to i32 + %idx.ext = sext i32 %conv14 to i64 + %add.ptr15 = getelementptr inbounds i8, i8* %33, i64 %idx.ext + %36 = bitcast i8* %add.ptr15 to %struct.dirent64* + store %struct.dirent64* %36, %struct.dirent64** %dp64, align 8 + br label %while.cond + +if.end: ; preds = %while.cond, %entry + %37 = load i64, i64* %res, align 8 + ret i64 %37 +} + +; Function Attrs: argmemonly nounwind willreturn +declare void @llvm.memmove.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i1 immarg) #9 + +; Function Attrs: noinline nounwind uwtable +define dso_local void @klee_init_env(i32* %argcPtr, i8*** %argvPtr) #3 { +entry: + %argcPtr.addr = alloca i32*, align 8 + %argvPtr.addr = alloca i8***, align 8 + %argc = alloca i32, align 4 + %argv = alloca i8**, align 8 + %new_argc = alloca i32, align 4 + %n_args = alloca i32, align 4 + %new_argv = alloca [1024 x i8*], align 16 + %max_len = alloca i32, align 4 + %min_argvs = alloca i32, align 4 + %max_argvs = alloca i32, align 4 + %sym_files = alloca i32, align 4 + %sym_file_len = alloca i32, align 4 + %sym_stdin_len = alloca i32, align 4 + %sym_stdout_flag = alloca i32, align 4 + %save_all_writes_flag = alloca i32, align 4 + %fd_fail = alloca i32, align 4 + %final_argv = alloca i8**, align 8 + %sym_arg_name = alloca [6 x i8], align 1 + %sym_arg_num = alloca i32, align 4 + %k = alloca i32, align 4 + %i = alloca i32, align 4 + %msg = alloca i8*, align 8 + %msg40 = alloca i8*, align 8 + %msg105 = alloca i8*, align 8 + %msg145 = alloca i8*, align 8 + %msg215 = alloca i8*, align 8 + store i32* %argcPtr, i32** %argcPtr.addr, align 8 + store i8*** %argvPtr, i8**** %argvPtr.addr, align 8 + %0 = load i32*, i32** %argcPtr.addr, align 8 + %1 = load i32, i32* %0, align 4 + store i32 %1, i32* %argc, align 4 + %2 = load i8***, i8**** %argvPtr.addr, align 8 + %3 = load i8**, i8*** %2, align 8 + store i8** %3, i8*** %argv, align 8 + store i32 0, i32* %new_argc, align 4 + store i32 0, i32* %sym_files, align 4 + store i32 0, i32* %sym_file_len, align 4 + store i32 0, i32* %sym_stdin_len, align 4 + store i32 0, i32* %sym_stdout_flag, align 4 + store i32 0, i32* %save_all_writes_flag, align 4 + store i32 0, i32* %fd_fail, align 4 + %4 = bitcast [6 x i8]* %sym_arg_name to i8* + %5 = call i8* @memcpy(i8* %4, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @__const.klee_init_env.sym_arg_name, i32 0, i32 0), i64 6) + store i32 0, i32* %sym_arg_num, align 4 + store i32 0, i32* %k, align 4 + %arrayidx = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 5 + store i8 0, i8* %arrayidx, align 1 + %6 = load i32, i32* %argc, align 4 + %cmp = icmp eq i32 %6, 2 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %7 = load i8**, i8*** %argv, align 8 + %arrayidx1 = getelementptr inbounds i8*, i8** %7, i64 1 + %8 = load i8*, i8** %arrayidx1, align 8 + %call = call i32 @__streq(i8* %8, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.29, i64 0, i64 0)) + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + call void @__emit_error(i8* getelementptr inbounds ([964 x i8], [964 x i8]* @.str.1.30, i64 0, i64 0)) + br label %if.end + +if.end: ; preds = %if.then, %land.lhs.true, %entry + br label %while.cond + +while.cond: ; preds = %if.end239, %if.end + %9 = load i32, i32* %k, align 4 + %10 = load i32, i32* %argc, align 4 + %cmp2 = icmp slt i32 %9, %10 + br i1 %cmp2, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %11 = load i8**, i8*** %argv, align 8 + %12 = load i32, i32* %k, align 4 + %idxprom = sext i32 %12 to i64 + %arrayidx3 = getelementptr inbounds i8*, i8** %11, i64 %idxprom + %13 = load i8*, i8** %arrayidx3, align 8 + %call4 = call i32 @__streq(i8* %13, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.2.31, i64 0, i64 0)) + %tobool5 = icmp ne i32 %call4, 0 + br i1 %tobool5, label %if.then10, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.body + %14 = load i8**, i8*** %argv, align 8 + %15 = load i32, i32* %k, align 4 + %idxprom6 = sext i32 %15 to i64 + %arrayidx7 = getelementptr inbounds i8*, i8** %14, i64 %idxprom6 + %16 = load i8*, i8** %arrayidx7, align 8 + %call8 = call i32 @__streq(i8* %16, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.32, i64 0, i64 0)) + %tobool9 = icmp ne i32 %call8, 0 + br i1 %tobool9, label %if.then10, label %if.else + +if.then10: ; preds = %lor.lhs.false, %while.body + store i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.4.33, i64 0, i64 0), i8** %msg, align 8 + %17 = load i32, i32* %k, align 4 + %inc = add nsw i32 %17, 1 + store i32 %inc, i32* %k, align 4 + %18 = load i32, i32* %argc, align 4 + %cmp11 = icmp eq i32 %inc, %18 + br i1 %cmp11, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.then10 + %19 = load i8*, i8** %msg, align 8 + call void @__emit_error(i8* %19) + br label %if.end13 + +if.end13: ; preds = %if.then12, %if.then10 + %20 = load i8**, i8*** %argv, align 8 + %21 = load i32, i32* %k, align 4 + %inc14 = add nsw i32 %21, 1 + store i32 %inc14, i32* %k, align 4 + %idxprom15 = sext i32 %21 to i64 + %arrayidx16 = getelementptr inbounds i8*, i8** %20, i64 %idxprom15 + %22 = load i8*, i8** %arrayidx16, align 8 + %23 = load i8*, i8** %msg, align 8 + %call17 = call i64 @__str_to_int(i8* %22, i8* %23) + %conv = trunc i64 %call17 to i32 + store i32 %conv, i32* %max_len, align 4 + %24 = load i32, i32* %sym_arg_num, align 4 + %cmp18 = icmp ugt i32 %24, 99 + br i1 %cmp18, label %if.then20, label %if.end21 + +if.then20: ; preds = %if.end13 + call void @__emit_error(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.5.34, i64 0, i64 0)) + br label %if.end21 + +if.end21: ; preds = %if.then20, %if.end13 + %25 = load i32, i32* %sym_arg_num, align 4 + %div = udiv i32 %25, 10 + %add = add i32 48, %div + %conv22 = trunc i32 %add to i8 + %arrayidx23 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 3 + store i8 %conv22, i8* %arrayidx23, align 1 + %26 = load i32, i32* %sym_arg_num, align 4 + %rem = urem i32 %26, 10 + %add24 = add i32 48, %rem + %conv25 = trunc i32 %add24 to i8 + %arrayidx26 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 4 + store i8 %conv25, i8* %arrayidx26, align 1 + %27 = load i32, i32* %sym_arg_num, align 4 + %inc27 = add i32 %27, 1 + store i32 %inc27, i32* %sym_arg_num, align 4 + %arraydecay = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %28 = load i32, i32* %max_len, align 4 + %arraydecay28 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 0 + %call29 = call i8* @__get_sym_str(i32 %28, i8* %arraydecay28) + call void @__add_arg(i32* %new_argc, i8** %arraydecay, i8* %call29, i32 1024) + br label %if.end239 + +if.else: ; preds = %lor.lhs.false + %29 = load i8**, i8*** %argv, align 8 + %30 = load i32, i32* %k, align 4 + %idxprom30 = sext i32 %30 to i64 + %arrayidx31 = getelementptr inbounds i8*, i8** %29, i64 %idxprom30 + %31 = load i8*, i8** %arrayidx31, align 8 + %call32 = call i32 @__streq(i8* %31, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.6.35, i64 0, i64 0)) + %tobool33 = icmp ne i32 %call32, 0 + br i1 %tobool33, label %if.then39, label %lor.lhs.false34 + +lor.lhs.false34: ; preds = %if.else + %32 = load i8**, i8*** %argv, align 8 + %33 = load i32, i32* %k, align 4 + %idxprom35 = sext i32 %33 to i64 + %arrayidx36 = getelementptr inbounds i8*, i8** %32, i64 %idxprom35 + %34 = load i8*, i8** %arrayidx36, align 8 + %call37 = call i32 @__streq(i8* %34, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.7.36, i64 0, i64 0)) + %tobool38 = icmp ne i32 %call37, 0 + br i1 %tobool38, label %if.then39, label %if.else94 + +if.then39: ; preds = %lor.lhs.false34, %if.else + store i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.8.37, i64 0, i64 0), i8** %msg40, align 8 + %35 = load i32, i32* %k, align 4 + %add41 = add nsw i32 %35, 3 + %36 = load i32, i32* %argc, align 4 + %cmp42 = icmp sge i32 %add41, %36 + br i1 %cmp42, label %if.then44, label %if.end45 + +if.then44: ; preds = %if.then39 + %37 = load i8*, i8** %msg40, align 8 + call void @__emit_error(i8* %37) + br label %if.end45 + +if.end45: ; preds = %if.then44, %if.then39 + %38 = load i32, i32* %k, align 4 + %inc46 = add nsw i32 %38, 1 + store i32 %inc46, i32* %k, align 4 + %39 = load i8**, i8*** %argv, align 8 + %40 = load i32, i32* %k, align 4 + %inc47 = add nsw i32 %40, 1 + store i32 %inc47, i32* %k, align 4 + %idxprom48 = sext i32 %40 to i64 + %arrayidx49 = getelementptr inbounds i8*, i8** %39, i64 %idxprom48 + %41 = load i8*, i8** %arrayidx49, align 8 + %42 = load i8*, i8** %msg40, align 8 + %call50 = call i64 @__str_to_int(i8* %41, i8* %42) + %conv51 = trunc i64 %call50 to i32 + store i32 %conv51, i32* %min_argvs, align 4 + %43 = load i8**, i8*** %argv, align 8 + %44 = load i32, i32* %k, align 4 + %inc52 = add nsw i32 %44, 1 + store i32 %inc52, i32* %k, align 4 + %idxprom53 = sext i32 %44 to i64 + %arrayidx54 = getelementptr inbounds i8*, i8** %43, i64 %idxprom53 + %45 = load i8*, i8** %arrayidx54, align 8 + %46 = load i8*, i8** %msg40, align 8 + %call55 = call i64 @__str_to_int(i8* %45, i8* %46) + %conv56 = trunc i64 %call55 to i32 + store i32 %conv56, i32* %max_argvs, align 4 + %47 = load i8**, i8*** %argv, align 8 + %48 = load i32, i32* %k, align 4 + %inc57 = add nsw i32 %48, 1 + store i32 %inc57, i32* %k, align 4 + %idxprom58 = sext i32 %48 to i64 + %arrayidx59 = getelementptr inbounds i8*, i8** %47, i64 %idxprom58 + %49 = load i8*, i8** %arrayidx59, align 8 + %50 = load i8*, i8** %msg40, align 8 + %call60 = call i64 @__str_to_int(i8* %49, i8* %50) + %conv61 = trunc i64 %call60 to i32 + store i32 %conv61, i32* %max_len, align 4 + %51 = load i32, i32* %min_argvs, align 4 + %52 = load i32, i32* %max_argvs, align 4 + %cmp62 = icmp ugt i32 %51, %52 + br i1 %cmp62, label %if.then70, label %lor.lhs.false64 + +lor.lhs.false64: ; preds = %if.end45 + %53 = load i32, i32* %min_argvs, align 4 + %cmp65 = icmp eq i32 %53, 0 + %54 = load i32, i32* %max_argvs, align 4 + %cmp68 = icmp eq i32 %54, 0 + %or.cond = and i1 %cmp65, %cmp68 + br i1 %or.cond, label %if.then70, label %if.end71 + +if.then70: ; preds = %lor.lhs.false64, %if.end45 + call void @__emit_error(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.9.38, i64 0, i64 0)) + br label %if.end71 + +if.end71: ; preds = %if.then70, %lor.lhs.false64 + %55 = load i32, i32* %min_argvs, align 4 + %56 = load i32, i32* %max_argvs, align 4 + %add72 = add i32 %56, 1 + %call73 = call i32 @gs_range(i32 %55, i32 %add72, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.10.39, i64 0, i64 0)) + store i32 %call73, i32* %n_args, align 4 + %57 = load i32, i32* %sym_arg_num, align 4 + %58 = load i32, i32* %max_argvs, align 4 + %add74 = add i32 %57, %58 + %cmp75 = icmp ugt i32 %add74, 99 + br i1 %cmp75, label %if.then77, label %if.end78 + +if.then77: ; preds = %if.end71 + call void @__emit_error(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.5.34, i64 0, i64 0)) + br label %if.end78 + +if.end78: ; preds = %if.then77, %if.end71 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end78 + %59 = load i32, i32* %i, align 4 + %60 = load i32, i32* %n_args, align 4 + %cmp79 = icmp slt i32 %59, %60 + br i1 %cmp79, label %for.body, label %if.end239 + +for.body: ; preds = %for.cond + %61 = load i32, i32* %sym_arg_num, align 4 + %div81 = udiv i32 %61, 10 + %add82 = add i32 48, %div81 + %conv83 = trunc i32 %add82 to i8 + %arrayidx84 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 3 + store i8 %conv83, i8* %arrayidx84, align 1 + %62 = load i32, i32* %sym_arg_num, align 4 + %rem85 = urem i32 %62, 10 + %add86 = add i32 48, %rem85 + %conv87 = trunc i32 %add86 to i8 + %arrayidx88 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 4 + store i8 %conv87, i8* %arrayidx88, align 1 + %63 = load i32, i32* %sym_arg_num, align 4 + %inc89 = add i32 %63, 1 + store i32 %inc89, i32* %sym_arg_num, align 4 + %arraydecay90 = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %64 = load i32, i32* %max_len, align 4 + %arraydecay91 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 0 + %call92 = call i8* @__get_sym_str(i32 %64, i8* %arraydecay91) + call void @__add_arg(i32* %new_argc, i8** %arraydecay90, i8* %call92, i32 1024) + %65 = load i32, i32* %i, align 4 + %inc93 = add nsw i32 %65, 1 + store i32 %inc93, i32* %i, align 4 + br label %for.cond + +if.else94: ; preds = %lor.lhs.false34 + %66 = load i8**, i8*** %argv, align 8 + %67 = load i32, i32* %k, align 4 + %idxprom95 = sext i32 %67 to i64 + %arrayidx96 = getelementptr inbounds i8*, i8** %66, i64 %idxprom95 + %68 = load i8*, i8** %arrayidx96, align 8 + %call97 = call i32 @__streq(i8* %68, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.11.40, i64 0, i64 0)) + %tobool98 = icmp ne i32 %call97, 0 + br i1 %tobool98, label %if.then104, label %lor.lhs.false99 + +lor.lhs.false99: ; preds = %if.else94 + %69 = load i8**, i8*** %argv, align 8 + %70 = load i32, i32* %k, align 4 + %idxprom100 = sext i32 %70 to i64 + %arrayidx101 = getelementptr inbounds i8*, i8** %69, i64 %idxprom100 + %71 = load i8*, i8** %arrayidx101, align 8 + %call102 = call i32 @__streq(i8* %71, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.12.41, i64 0, i64 0)) + %tobool103 = icmp ne i32 %call102, 0 + br i1 %tobool103, label %if.then104, label %if.else134 + +if.then104: ; preds = %lor.lhs.false99, %if.else94 + store i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.13.42, i64 0, i64 0), i8** %msg105, align 8 + %72 = load i32, i32* %k, align 4 + %add106 = add nsw i32 %72, 2 + %73 = load i32, i32* %argc, align 4 + %cmp107 = icmp sge i32 %add106, %73 + br i1 %cmp107, label %if.then109, label %if.end110 + +if.then109: ; preds = %if.then104 + %74 = load i8*, i8** %msg105, align 8 + call void @__emit_error(i8* %74) + br label %if.end110 + +if.end110: ; preds = %if.then109, %if.then104 + %75 = load i32, i32* %sym_files, align 4 + %cmp111 = icmp ne i32 %75, 0 + br i1 %cmp111, label %if.then113, label %if.end114 + +if.then113: ; preds = %if.end110 + call void @__emit_error(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.14.43, i64 0, i64 0)) + br label %if.end114 + +if.end114: ; preds = %if.then113, %if.end110 + %76 = load i32, i32* %k, align 4 + %inc115 = add nsw i32 %76, 1 + store i32 %inc115, i32* %k, align 4 + %77 = load i8**, i8*** %argv, align 8 + %78 = load i32, i32* %k, align 4 + %inc116 = add nsw i32 %78, 1 + store i32 %inc116, i32* %k, align 4 + %idxprom117 = sext i32 %78 to i64 + %arrayidx118 = getelementptr inbounds i8*, i8** %77, i64 %idxprom117 + %79 = load i8*, i8** %arrayidx118, align 8 + %80 = load i8*, i8** %msg105, align 8 + %call119 = call i64 @__str_to_int(i8* %79, i8* %80) + %conv120 = trunc i64 %call119 to i32 + store i32 %conv120, i32* %sym_files, align 4 + %81 = load i8**, i8*** %argv, align 8 + %82 = load i32, i32* %k, align 4 + %inc121 = add nsw i32 %82, 1 + store i32 %inc121, i32* %k, align 4 + %idxprom122 = sext i32 %82 to i64 + %arrayidx123 = getelementptr inbounds i8*, i8** %81, i64 %idxprom122 + %83 = load i8*, i8** %arrayidx123, align 8 + %84 = load i8*, i8** %msg105, align 8 + %call124 = call i64 @__str_to_int(i8* %83, i8* %84) + %conv125 = trunc i64 %call124 to i32 + store i32 %conv125, i32* %sym_file_len, align 4 + %85 = load i32, i32* %sym_files, align 4 + %cmp126 = icmp eq i32 %85, 0 + br i1 %cmp126, label %if.then128, label %if.end129 + +if.then128: ; preds = %if.end114 + call void @__emit_error(i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.15.44, i64 0, i64 0)) + br label %if.end129 + +if.end129: ; preds = %if.then128, %if.end114 + %86 = load i32, i32* %sym_file_len, align 4 + %cmp130 = icmp eq i32 %86, 0 + br i1 %cmp130, label %if.then132, label %if.end239 + +if.then132: ; preds = %if.end129 + call void @__emit_error(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.16.45, i64 0, i64 0)) + br label %if.end239 + +if.else134: ; preds = %lor.lhs.false99 + %87 = load i8**, i8*** %argv, align 8 + %88 = load i32, i32* %k, align 4 + %idxprom135 = sext i32 %88 to i64 + %arrayidx136 = getelementptr inbounds i8*, i8** %87, i64 %idxprom135 + %89 = load i8*, i8** %arrayidx136, align 8 + %call137 = call i32 @__streq(i8* %89, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.17.46, i64 0, i64 0)) + %tobool138 = icmp ne i32 %call137, 0 + br i1 %tobool138, label %if.then144, label %lor.lhs.false139 + +lor.lhs.false139: ; preds = %if.else134 + %90 = load i8**, i8*** %argv, align 8 + %91 = load i32, i32* %k, align 4 + %idxprom140 = sext i32 %91 to i64 + %arrayidx141 = getelementptr inbounds i8*, i8** %90, i64 %idxprom140 + %92 = load i8*, i8** %arrayidx141, align 8 + %call142 = call i32 @__streq(i8* %92, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.18.47, i64 0, i64 0)) + %tobool143 = icmp ne i32 %call142, 0 + br i1 %tobool143, label %if.then144, label %if.else156 + +if.then144: ; preds = %lor.lhs.false139, %if.else134 + store i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.19.48, i64 0, i64 0), i8** %msg145, align 8 + %93 = load i32, i32* %k, align 4 + %inc146 = add nsw i32 %93, 1 + store i32 %inc146, i32* %k, align 4 + %94 = load i32, i32* %argc, align 4 + %cmp147 = icmp eq i32 %inc146, %94 + br i1 %cmp147, label %if.then149, label %if.end150 + +if.then149: ; preds = %if.then144 + %95 = load i8*, i8** %msg145, align 8 + call void @__emit_error(i8* %95) + br label %if.end150 + +if.end150: ; preds = %if.then149, %if.then144 + %96 = load i8**, i8*** %argv, align 8 + %97 = load i32, i32* %k, align 4 + %inc151 = add nsw i32 %97, 1 + store i32 %inc151, i32* %k, align 4 + %idxprom152 = sext i32 %97 to i64 + %arrayidx153 = getelementptr inbounds i8*, i8** %96, i64 %idxprom152 + %98 = load i8*, i8** %arrayidx153, align 8 + %99 = load i8*, i8** %msg145, align 8 + %call154 = call i64 @__str_to_int(i8* %98, i8* %99) + %conv155 = trunc i64 %call154 to i32 + store i32 %conv155, i32* %sym_stdin_len, align 4 + br label %if.end239 + +if.else156: ; preds = %lor.lhs.false139 + %100 = load i8**, i8*** %argv, align 8 + %101 = load i32, i32* %k, align 4 + %idxprom157 = sext i32 %101 to i64 + %arrayidx158 = getelementptr inbounds i8*, i8** %100, i64 %idxprom157 + %102 = load i8*, i8** %arrayidx158, align 8 + %call159 = call i32 @__streq(i8* %102, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.20.49, i64 0, i64 0)) + %tobool160 = icmp ne i32 %call159, 0 + br i1 %tobool160, label %if.then166, label %lor.lhs.false161 + +lor.lhs.false161: ; preds = %if.else156 + %103 = load i8**, i8*** %argv, align 8 + %104 = load i32, i32* %k, align 4 + %idxprom162 = sext i32 %104 to i64 + %arrayidx163 = getelementptr inbounds i8*, i8** %103, i64 %idxprom162 + %105 = load i8*, i8** %arrayidx163, align 8 + %call164 = call i32 @__streq(i8* %105, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.21.50, i64 0, i64 0)) + %tobool165 = icmp ne i32 %call164, 0 + br i1 %tobool165, label %if.then166, label %if.else168 + +if.then166: ; preds = %lor.lhs.false161, %if.else156 + store i32 1, i32* %sym_stdout_flag, align 4 + %106 = load i32, i32* %k, align 4 + %inc167 = add nsw i32 %106, 1 + store i32 %inc167, i32* %k, align 4 + br label %if.end239 + +if.else168: ; preds = %lor.lhs.false161 + %107 = load i8**, i8*** %argv, align 8 + %108 = load i32, i32* %k, align 4 + %idxprom169 = sext i32 %108 to i64 + %arrayidx170 = getelementptr inbounds i8*, i8** %107, i64 %idxprom169 + %109 = load i8*, i8** %arrayidx170, align 8 + %call171 = call i32 @__streq(i8* %109, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.22.51, i64 0, i64 0)) + %tobool172 = icmp ne i32 %call171, 0 + br i1 %tobool172, label %if.then178, label %lor.lhs.false173 + +lor.lhs.false173: ; preds = %if.else168 + %110 = load i8**, i8*** %argv, align 8 + %111 = load i32, i32* %k, align 4 + %idxprom174 = sext i32 %111 to i64 + %arrayidx175 = getelementptr inbounds i8*, i8** %110, i64 %idxprom174 + %112 = load i8*, i8** %arrayidx175, align 8 + %call176 = call i32 @__streq(i8* %112, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23.52, i64 0, i64 0)) + %tobool177 = icmp ne i32 %call176, 0 + br i1 %tobool177, label %if.then178, label %if.else180 + +if.then178: ; preds = %lor.lhs.false173, %if.else168 + store i32 1, i32* %save_all_writes_flag, align 4 + %113 = load i32, i32* %k, align 4 + %inc179 = add nsw i32 %113, 1 + store i32 %inc179, i32* %k, align 4 + br label %if.end239 + +if.else180: ; preds = %lor.lhs.false173 + %114 = load i8**, i8*** %argv, align 8 + %115 = load i32, i32* %k, align 4 + %idxprom181 = sext i32 %115 to i64 + %arrayidx182 = getelementptr inbounds i8*, i8** %114, i64 %idxprom181 + %116 = load i8*, i8** %arrayidx182, align 8 + %call183 = call i32 @__streq(i8* %116, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.24.53, i64 0, i64 0)) + %tobool184 = icmp ne i32 %call183, 0 + br i1 %tobool184, label %if.then190, label %lor.lhs.false185 + +lor.lhs.false185: ; preds = %if.else180 + %117 = load i8**, i8*** %argv, align 8 + %118 = load i32, i32* %k, align 4 + %idxprom186 = sext i32 %118 to i64 + %arrayidx187 = getelementptr inbounds i8*, i8** %117, i64 %idxprom186 + %119 = load i8*, i8** %arrayidx187, align 8 + %call188 = call i32 @__streq(i8* %119, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.25.54, i64 0, i64 0)) + %tobool189 = icmp ne i32 %call188, 0 + br i1 %tobool189, label %if.then190, label %if.else192 + +if.then190: ; preds = %lor.lhs.false185, %if.else180 + store i32 1, i32* %fd_fail, align 4 + %120 = load i32, i32* %k, align 4 + %inc191 = add nsw i32 %120, 1 + store i32 %inc191, i32* %k, align 4 + br label %if.end239 + +if.else192: ; preds = %lor.lhs.false185 + %121 = load i8**, i8*** %argv, align 8 + %122 = load i32, i32* %k, align 4 + %idxprom193 = sext i32 %122 to i64 + %arrayidx194 = getelementptr inbounds i8*, i8** %121, i64 %idxprom193 + %123 = load i8*, i8** %arrayidx194, align 8 + %call195 = call i32 @__streq(i8* %123, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.26.55, i64 0, i64 0)) + %tobool196 = icmp ne i32 %call195, 0 + br i1 %tobool196, label %if.then202, label %lor.lhs.false197 + +lor.lhs.false197: ; preds = %if.else192 + %124 = load i8**, i8*** %argv, align 8 + %125 = load i32, i32* %k, align 4 + %idxprom198 = sext i32 %125 to i64 + %arrayidx199 = getelementptr inbounds i8*, i8** %124, i64 %idxprom198 + %126 = load i8*, i8** %arrayidx199, align 8 + %call200 = call i32 @__streq(i8* %126, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.27.56, i64 0, i64 0)) + %tobool201 = icmp ne i32 %call200, 0 + br i1 %tobool201, label %if.then202, label %if.else204 + +if.then202: ; preds = %lor.lhs.false197, %if.else192 + %127 = load i32, i32* %k, align 4 + %add203 = add nsw i32 %127, 2 + store i32 %add203, i32* %k, align 4 + br label %if.end239 + +if.else204: ; preds = %lor.lhs.false197 + %128 = load i8**, i8*** %argv, align 8 + %129 = load i32, i32* %k, align 4 + %idxprom205 = sext i32 %129 to i64 + %arrayidx206 = getelementptr inbounds i8*, i8** %128, i64 %idxprom205 + %130 = load i8*, i8** %arrayidx206, align 8 + %call207 = call i32 @__streq(i8* %130, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.28.57, i64 0, i64 0)) + %tobool208 = icmp ne i32 %call207, 0 + br i1 %tobool208, label %if.then214, label %lor.lhs.false209 + +lor.lhs.false209: ; preds = %if.else204 + %131 = load i8**, i8*** %argv, align 8 + %132 = load i32, i32* %k, align 4 + %idxprom210 = sext i32 %132 to i64 + %arrayidx211 = getelementptr inbounds i8*, i8** %131, i64 %idxprom210 + %133 = load i8*, i8** %arrayidx211, align 8 + %call212 = call i32 @__streq(i8* %133, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.29.58, i64 0, i64 0)) + %tobool213 = icmp ne i32 %call212, 0 + br i1 %tobool213, label %if.then214, label %if.else226 + +if.then214: ; preds = %lor.lhs.false209, %if.else204 + store i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.30, i64 0, i64 0), i8** %msg215, align 8 + %134 = load i32, i32* %k, align 4 + %inc216 = add nsw i32 %134, 1 + store i32 %inc216, i32* %k, align 4 + %135 = load i32, i32* %argc, align 4 + %cmp217 = icmp eq i32 %inc216, %135 + br i1 %cmp217, label %if.then219, label %if.end220 + +if.then219: ; preds = %if.then214 + %136 = load i8*, i8** %msg215, align 8 + call void @__emit_error(i8* %136) + br label %if.end220 + +if.end220: ; preds = %if.then219, %if.then214 + %137 = load i8**, i8*** %argv, align 8 + %138 = load i32, i32* %k, align 4 + %inc221 = add nsw i32 %138, 1 + store i32 %inc221, i32* %k, align 4 + %idxprom222 = sext i32 %138 to i64 + %arrayidx223 = getelementptr inbounds i8*, i8** %137, i64 %idxprom222 + %139 = load i8*, i8** %arrayidx223, align 8 + %140 = load i8*, i8** %msg215, align 8 + %call224 = call i64 @__str_to_int(i8* %139, i8* %140) + %conv225 = trunc i64 %call224 to i32 + store i32 %conv225, i32* %fd_fail, align 4 + br label %if.end239 + +if.else226: ; preds = %lor.lhs.false209 + %arraydecay227 = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %141 = load i8**, i8*** %argv, align 8 + %142 = load i32, i32* %k, align 4 + %inc228 = add nsw i32 %142, 1 + store i32 %inc228, i32* %k, align 4 + %idxprom229 = sext i32 %142 to i64 + %arrayidx230 = getelementptr inbounds i8*, i8** %141, i64 %idxprom229 + %143 = load i8*, i8** %arrayidx230, align 8 + call void @__add_arg(i32* %new_argc, i8** %arraydecay227, i8* %143, i32 1024) + br label %if.end239 + +if.end239: ; preds = %for.cond, %if.end150, %if.then178, %if.then202, %if.else226, %if.end220, %if.then190, %if.then166, %if.end129, %if.then132, %if.end21 + br label %while.cond + +while.end: ; preds = %while.cond + %144 = load i32, i32* %new_argc, align 4 + %add240 = add nsw i32 %144, 1 + %conv241 = sext i32 %add240 to i64 + %mul = mul i64 %conv241, 8 + %call242 = call noalias i8* @malloc(i64 %mul) #11 + %145 = bitcast i8* %call242 to i8** + store i8** %145, i8*** %final_argv, align 8 + %146 = load i8**, i8*** %final_argv, align 8 + %tobool243 = icmp ne i8** %146, null + br i1 %tobool243, label %if.end245, label %if.then244 + +if.then244: ; preds = %while.end + call void @__emit_error(i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.31, i64 0, i64 0)) + br label %if.end245 + +if.end245: ; preds = %if.then244, %while.end + %147 = load i8**, i8*** %final_argv, align 8 + %148 = bitcast i8** %147 to i8* + %arraydecay246 = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %149 = bitcast i8** %arraydecay246 to i8* + %150 = load i32, i32* %new_argc, align 4 + %conv247 = sext i32 %150 to i64 + %mul248 = mul i64 %conv247, 8 + %151 = call i8* @memcpy(i8* %148, i8* %149, i64 %mul248) + %152 = load i8**, i8*** %final_argv, align 8 + %153 = load i32, i32* %new_argc, align 4 + %idxprom249 = sext i32 %153 to i64 + %arrayidx250 = getelementptr inbounds i8*, i8** %152, i64 %idxprom249 + store i8* null, i8** %arrayidx250, align 8 + %154 = load i32, i32* %new_argc, align 4 + %155 = load i32*, i32** %argcPtr.addr, align 8 + store i32 %154, i32* %155, align 4 + %156 = load i8**, i8*** %final_argv, align 8 + %157 = load i8***, i8**** %argvPtr.addr, align 8 + store i8** %156, i8*** %157, align 8 + %158 = load i32, i32* %sym_files, align 4 + %159 = load i32, i32* %sym_file_len, align 4 + %160 = load i32, i32* %sym_stdin_len, align 4 + %161 = load i32, i32* %sym_stdout_flag, align 4 + %162 = load i32, i32* %save_all_writes_flag, align 4 + %163 = load i32, i32* %fd_fail, align 4 + call void @klee_init_fds(i32 %158, i32 %159, i32 %160, i32 %161, i32 %162, i32 %163) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__streq(i8* %a, i8* %b) #3 { +entry: + %retval = alloca i32, align 4 + %a.addr = alloca i8*, align 8 + %b.addr = alloca i8*, align 8 + store i8* %a, i8** %a.addr, align 8 + store i8* %b, i8** %b.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %0 = load i8*, i8** %a.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %2 = load i8*, i8** %b.addr, align 8 + %3 = load i8, i8* %2, align 1 + %conv1 = sext i8 %3 to i32 + %cmp = icmp eq i32 %conv, %conv1 + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i8*, i8** %a.addr, align 8 + %5 = load i8, i8* %4, align 1 + %tobool = icmp ne i8 %5, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %while.body + store i32 1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %while.body + %6 = load i8*, i8** %a.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %a.addr, align 8 + %7 = load i8*, i8** %b.addr, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %7, i32 1 + store i8* %incdec.ptr3, i8** %b.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %while.end, %if.then + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__emit_error(i8* %msg) #3 { +entry: + %msg.addr = alloca i8*, align 8 + store i8* %msg, i8** %msg.addr, align 8 + %0 = load i8*, i8** %msg.addr, align 8 + call void @gs_report_error.59(i8* getelementptr inbounds ([88 x i8], [88 x i8]* @.str.32, i64 0, i64 0), i32 21, i8* %0, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.33, i64 0, i64 0)) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @__str_to_int(i8* %s, i8* %error_msg) #3 { +entry: + %s.addr = alloca i8*, align 8 + %error_msg.addr = alloca i8*, align 8 + %res = alloca i64, align 8 + %c = alloca i8, align 1 + store i8* %s, i8** %s.addr, align 8 + store i8* %error_msg, i8** %error_msg.addr, align 8 + store i64 0, i64* %res, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i8, i8* %0, align 1 + %tobool = icmp ne i8 %1, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %2 = load i8*, i8** %error_msg.addr, align 8 + call void @__emit_error(i8* %2) + br label %if.end + +if.end: ; preds = %if.then, %entry + br label %while.cond + +while.cond: ; preds = %if.end9, %if.end + %3 = load i8*, i8** %s.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %s.addr, align 8 + %4 = load i8, i8* %3, align 1 + store i8 %4, i8* %c, align 1 + %tobool1 = icmp ne i8 %4, 0 + br i1 %tobool1, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %5 = load i8, i8* %c, align 1 + %conv = sext i8 %5 to i32 + %cmp = icmp sge i32 %conv, 48 + br i1 %cmp, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %while.body + %6 = load i8, i8* %c, align 1 + %conv3 = sext i8 %6 to i32 + %cmp4 = icmp sle i32 %conv3, 57 + br i1 %cmp4, label %if.then6, label %if.else + +if.then6: ; preds = %land.lhs.true + %7 = load i64, i64* %res, align 8 + %mul = mul nsw i64 %7, 10 + %8 = load i8, i8* %c, align 1 + %conv7 = sext i8 %8 to i32 + %sub = sub nsw i32 %conv7, 48 + %conv8 = sext i32 %sub to i64 + %add = add nsw i64 %mul, %conv8 + store i64 %add, i64* %res, align 8 + br label %if.end9 + +if.else: ; preds = %land.lhs.true, %while.body + %9 = load i8*, i8** %error_msg.addr, align 8 + call void @__emit_error(i8* %9) + br label %if.end9 + +if.end9: ; preds = %if.else, %if.then6 + br label %while.cond + +while.end: ; preds = %while.cond + %10 = load i64, i64* %res, align 8 + ret i64 %10 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @__get_sym_str(i32 %numChars, i8* %name) #3 { +entry: + %numChars.addr = alloca i32, align 4 + %name.addr = alloca i8*, align 8 + %i = alloca i32, align 4 + %s = alloca i8*, align 8 + store i32 %numChars, i32* %numChars.addr, align 4 + store i8* %name, i8** %name.addr, align 8 + %0 = load i32, i32* %numChars.addr, align 4 + %add = add nsw i32 %0, 1 + %conv = sext i32 %add to i64 + %call = call noalias i8* @malloc(i64 %conv) #11 + store i8* %call, i8** %s, align 8 + %1 = load i8*, i8** %s, align 8 + %tobool = icmp ne i8* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @__emit_error(i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.31, i64 0, i64 0)) + br label %if.end + +if.end: ; preds = %if.then, %entry + %2 = load i8*, i8** %s, align 8 + %3 = load i32, i32* %numChars.addr, align 4 + %add1 = add nsw i32 %3, 1 + %conv2 = sext i32 %add1 to i64 + %4 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %2, i64 %conv2, i8* %4) + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %5 = load i32, i32* %i, align 4 + %6 = load i32, i32* %numChars.addr, align 4 + %cmp = icmp slt i32 %5, %6 + %7 = load i8*, i8** %s, align 8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %8 = load i8*, i8** %s, align 8 + %9 = load i32, i32* %i, align 4 + %idxprom = sext i32 %9 to i64 + %arrayidx = getelementptr inbounds i8, i8* %8, i64 %idxprom + %10 = load i8, i8* %arrayidx, align 1 + %call4 = call i32 @__isprint(i8 signext %10) + %tobool5 = icmp ne i32 %call4, 0 + call void @gs_posix_prefer_cex(i8* %7, i1 zeroext %tobool5) + %11 = load i32, i32* %i, align 4 + %inc = add nsw i32 %11, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %12 = load i32, i32* %numChars.addr, align 4 + %idxprom6 = sext i32 %12 to i64 + %arrayidx7 = getelementptr inbounds i8, i8* %7, i64 %idxprom6 + store i8 0, i8* %arrayidx7, align 1 + %13 = load i8*, i8** %s, align 8 + ret i8* %13 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__add_arg(i32* %argc, i8** %argv, i8* %arg, i32 %argcMax) #3 { +entry: + %argc.addr = alloca i32*, align 8 + %argv.addr = alloca i8**, align 8 + %arg.addr = alloca i8*, align 8 + %argcMax.addr = alloca i32, align 4 + store i32* %argc, i32** %argc.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i32 %argcMax, i32* %argcMax.addr, align 4 + %0 = load i32*, i32** %argc.addr, align 8 + %1 = load i32, i32* %0, align 4 + %2 = load i32, i32* %argcMax.addr, align 4 + %cmp = icmp eq i32 %1, %2 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + call void @__emit_error(i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.35, i64 0, i64 0)) + br label %if.end + +if.else: ; preds = %entry + %3 = load i8*, i8** %arg.addr, align 8 + %4 = load i8**, i8*** %argv.addr, align 8 + %5 = load i32*, i32** %argc.addr, align 8 + %6 = load i32, i32* %5, align 4 + %idxprom = sext i32 %6 to i64 + %arrayidx = getelementptr inbounds i8*, i8** %4, i64 %idxprom + store i8* %3, i8** %arrayidx, align 8 + %7 = load i32*, i32** %argc.addr, align 8 + %8 = load i32, i32* %7, align 4 + %inc = add nsw i32 %8, 1 + store i32 %inc, i32* %7, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @gs_range(i32 %begin, i32 %end, i8* %name) #3 { +entry: + %begin.addr = alloca i32, align 4 + %end.addr = alloca i32, align 4 + %name.addr = alloca i8*, align 8 + %x = alloca i32, align 4 + store i32 %begin, i32* %begin.addr, align 4 + store i32 %end, i32* %end.addr, align 4 + store i8* %name, i8** %name.addr, align 8 + %0 = bitcast i32* %x to i8* + %1 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %0, i64 4, i8* %1) + %2 = load i32, i32* %x, align 4 + %3 = load i32, i32* %begin.addr, align 4 + %cmp = icmp sge i32 %2, %3 + call void @gs_assume(i1 zeroext %cmp) + %4 = load i32, i32* %x, align 4 + %5 = load i32, i32* %end.addr, align 4 + %cmp1 = icmp slt i32 %4, %5 + call void @gs_assume(i1 zeroext %cmp1) + %6 = load i32, i32* %x, align 4 + ret i32 %6 +} + +declare dso_local void @make_symbolic(i8*, i64, ...) #5 + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__isprint(i8 signext %c) #3 { +entry: + %c.addr = alloca i8, align 1 + store i8 %c, i8* %c.addr, align 1 + %0 = load i8, i8* %c.addr, align 1 + %conv = sext i8 %0 to i32 + %cmp = icmp sle i32 32, %conv + %conv1 = zext i1 %cmp to i32 + %1 = load i8, i8* %c.addr, align 1 + %conv2 = sext i8 %1 to i32 + %cmp3 = icmp sle i32 %conv2, 126 + %conv4 = zext i1 %cmp3 to i32 + %and = and i32 %conv1, %conv4 + ret i32 %and +} + +declare dso_local void @gs_posix_prefer_cex(i8*, i1 zeroext) #5 + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error.59(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.34, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__user_main(i32 %argcPtr, i8** %argvPtr, i8** %envp) #3 { +entry: + %argcPtr.addr = alloca i32, align 4 + %argvPtr.addr = alloca i8**, align 8 + %envp.addr = alloca i8**, align 8 + store i32 %argcPtr, i32* %argcPtr.addr, align 4 + store i8** %argvPtr, i8*** %argvPtr.addr, align 8 + store i8** %envp, i8*** %envp.addr, align 8 + call void @klee_init_env(i32* %argcPtr.addr, i8*** %argvPtr.addr) + %0 = load i32, i32* %argcPtr.addr, align 4 + %1 = load i8**, i8*** %argvPtr.addr, align 8 + %2 = load i8**, i8*** %envp.addr, align 8 + %call = call i32 bitcast (i32 (i32, i8**)* @__klee_posix_wrapped_main to i32 (i32, i8**, i8**)*)(i32 %0, i8** %1, i8** %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind readnone uwtable +declare i32* @__errno_location() #12 + +; Function Attrs: noinline nounwind readnone uwtable +define weak i32* @__h_errno_location() #12 { +entry: + ret i32* @h_errno +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @___path_search(i8* %tmpl, i64 %tmpl_len, i8* %dir, i8* %pfx) #0 { +entry: + %retval = alloca i32, align 4 + %tmpl.addr = alloca i8*, align 8 + %tmpl_len.addr = alloca i64, align 8 + %dir.addr = alloca i8*, align 8 + %pfx.addr = alloca i8*, align 8 + %dlen = alloca i64, align 8 + %plen = alloca i64, align 8 + store i8* %tmpl, i8** %tmpl.addr, align 8 + store i64 %tmpl_len, i64* %tmpl_len.addr, align 8 + store i8* %dir, i8** %dir.addr, align 8 + store i8* %pfx, i8** %pfx.addr, align 8 + %0 = load i8*, i8** %pfx.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %lor.lhs.false, label %if.then + +lor.lhs.false: ; preds = %entry + %1 = load i8*, i8** %pfx.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %tobool1 = icmp ne i8 %2, 0 + br i1 %tobool1, label %if.else, label %if.then + +if.then: ; preds = %lor.lhs.false, %entry + store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.68, i64 0, i64 0), i8** %pfx.addr, align 8 + store i64 4, i64* %plen, align 8 + br label %if.end3 + +if.else: ; preds = %lor.lhs.false + %3 = load i8*, i8** %pfx.addr, align 8 + %call = call i64 @strlen(i8* %3) #20 + store i64 %call, i64* %plen, align 8 + %4 = load i64, i64* %plen, align 8 + %cmp = icmp ugt i64 %4, 5 + %spec.store.select = select i1 %cmp, i64 5, i64 %call + store i64 %spec.store.select, i64* %plen, align 8 + br label %if.end3 + +if.end3: ; preds = %if.else, %if.then + %5 = load i8*, i8** %dir.addr, align 8 + %cmp4 = icmp eq i8* %5, null + br i1 %cmp4, label %if.then5, label %if.end18 + +if.then5: ; preds = %if.end3 + %call6 = call i32 @direxists(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0)) #18 + %tobool7 = icmp ne i32 %call6, 0 + br i1 %tobool7, label %if.then8, label %if.else9 + +if.then8: ; preds = %if.then5 + store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0), i8** %dir.addr, align 8 + br label %if.end18 + +if.else9: ; preds = %if.then5 + %call10 = call i32 @strcmp(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0)) #20 + %cmp11 = icmp ne i32 %call10, 0 + br i1 %cmp11, label %land.lhs.true, label %if.else15 + +land.lhs.true: ; preds = %if.else9 + %call12 = call i32 @direxists(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0)) #18 + %tobool13 = icmp ne i32 %call12, 0 + br i1 %tobool13, label %if.then14, label %if.else15 + +if.then14: ; preds = %land.lhs.true + store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0), i8** %dir.addr, align 8 + br label %if.end18 + +if.else15: ; preds = %land.lhs.true, %if.else9 + store i32 2, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %if.then8, %if.then14, %if.end3 + %6 = load i8*, i8** %dir.addr, align 8 + %call19 = call i64 @strlen(i8* %6) #20 + store i64 %call19, i64* %dlen, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end18 + %7 = load i64, i64* %dlen, align 8 + %cmp20 = icmp ugt i64 %7, 1 + br i1 %cmp20, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %8 = load i8*, i8** %dir.addr, align 8 + %9 = load i64, i64* %dlen, align 8 + %sub = sub i64 %9, 1 + %arrayidx21 = getelementptr inbounds i8, i8* %8, i64 %sub + %10 = load i8, i8* %arrayidx21, align 1 + %conv = sext i8 %10 to i32 + %cmp22 = icmp eq i32 %conv, 47 + br i1 %cmp22, label %while.body, label %while.end + +while.body: ; preds = %land.rhs + %11 = load i64, i64* %dlen, align 8 + %dec = add i64 %11, -1 + store i64 %dec, i64* %dlen, align 8 + br label %while.cond + +while.end: ; preds = %while.cond, %land.rhs + %12 = load i64, i64* %tmpl_len.addr, align 8 + %13 = load i64, i64* %dlen, align 8 + %add = add i64 %13, 1 + %14 = load i64, i64* %plen, align 8 + %add24 = add i64 %add, %14 + %add25 = add i64 %add24, 6 + %add26 = add i64 %add25, 1 + %cmp27 = icmp ult i64 %12, %add26 + br i1 %cmp27, label %if.then29, label %if.end30 + +if.then29: ; preds = %while.end + store i32 22, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end30: ; preds = %while.end + %15 = load i8*, i8** %tmpl.addr, align 8 + %16 = load i64, i64* %dlen, align 8 + %17 = load i8*, i8** %dir.addr, align 8 + %18 = load i64, i64* %plen, align 8 + %19 = load i8*, i8** %pfx.addr, align 8 + %call31 = call i32 (i8*, i8*, ...) @sprintf(i8* %15, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.2.70, i64 0, i64 0), i64 %16, i8* %17, i64 %18, i8* %19) #19 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end30, %if.then29, %if.else15 + %20 = load i32, i32* %retval, align 4 + ret i32 %20 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @direxists(i8* %dir) #0 { +entry: + %dir.addr = alloca i8*, align 8 + %buf = alloca %struct.stat.192, align 8 + store i8* %dir, i8** %dir.addr, align 8 + %0 = load i8*, i8** %dir.addr, align 8 + %call = call i32 bitcast (i32 (i8*, %struct.stat64*)* @stat to i32 (i8*, %struct.stat.192*)*)(i8* %0, %struct.stat.192* %buf) #19 + %cmp = icmp eq i32 %call, 0 + %st_mode = getelementptr inbounds %struct.stat.192, %struct.stat.192* %buf, i32 0, i32 3 + %1 = load i32, i32* %st_mode, align 8 + %and = and i32 %1, 61440 + %cmp1 = icmp eq i32 %and, 16384 + %2 = select i1 %cmp, i1 %cmp1, i1 false + %land.ext = zext i1 %2 to i32 + ret i32 %land.ext +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__gen_tempname(i8* %tmpl, i32 %kind) #0 { +entry: + %retval = alloca i32, align 4 + %tmpl.addr = alloca i8*, align 8 + %kind.addr = alloca i32, align 4 + %XXXXXX = alloca i8*, align 8 + %i = alloca i32, align 4 + %fd = alloca i32, align 4 + %save_errno = alloca i32, align 4 + %randomness = alloca [6 x i8], align 1 + %len = alloca i64, align 8 + %j = alloca i32, align 4 + %st = alloca %struct.stat.192, align 8 + store i8* %tmpl, i8** %tmpl.addr, align 8 + store i32 %kind, i32* %kind.addr, align 4 + %0 = load i32, i32* @errno, align 4 + store i32 %0, i32* %save_errno, align 4 + %1 = load i8*, i8** %tmpl.addr, align 8 + %call = call i64 @strlen(i8* %1) #20 + store i64 %call, i64* %len, align 8 + %2 = load i8*, i8** %tmpl.addr, align 8 + %3 = load i64, i64* %len, align 8 + %add.ptr = getelementptr inbounds i8, i8* %2, i64 %3 + %add.ptr1 = getelementptr inbounds i8, i8* %add.ptr, i64 -6 + store i8* %add.ptr1, i8** %XXXXXX, align 8 + %4 = load i64, i64* %len, align 8 + %cmp = icmp ult i64 %4, 6 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %5 = load i8*, i8** %XXXXXX, align 8 + %call2 = call i32 @strcmp(i8* %5, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.3.73, i64 0, i64 0)) #20 + %tobool = icmp ne i32 %call2, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %lor.lhs.false, %entry + store i32 22, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %lor.lhs.false + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc44, %if.end + %6 = load i32, i32* %i, align 4 + %cmp3 = icmp ult i32 %6, 238328 + br i1 %cmp3, label %for.body, label %for.end46 + +for.body: ; preds = %for.cond + %arraydecay = getelementptr inbounds [6 x i8], [6 x i8]* %randomness, i64 0, i64 0 + %call4 = call i32 @fillrand(i8* %arraydecay, i32 6) #18 + %conv = zext i32 %call4 to i64 + %cmp5 = icmp ne i64 %conv, 6 + br i1 %cmp5, label %if.then7, label %if.end9 + +if.then7: ; preds = %for.body + %arraydecay8 = getelementptr inbounds [6 x i8], [6 x i8]* %randomness, i64 0, i64 0 + call void @brain_damaged_fillrand(i8* %arraydecay8, i32 6) #18 + br label %if.end9 + +if.end9: ; preds = %if.then7, %for.body + store i32 0, i32* %j, align 4 + br label %for.cond10 + +for.cond10: ; preds = %for.body14, %if.end9 + %7 = load i32, i32* %j, align 4 + %conv11 = sext i32 %7 to i64 + %cmp12 = icmp ult i64 %conv11, 6 + br i1 %cmp12, label %for.body14, label %for.end + +for.body14: ; preds = %for.cond10 + %8 = load i32, i32* %j, align 4 + %idxprom = sext i32 %8 to i64 + %arrayidx = getelementptr inbounds [6 x i8], [6 x i8]* %randomness, i64 0, i64 %idxprom + %9 = load i8, i8* %arrayidx, align 1 + %conv15 = zext i8 %9 to i32 + %rem = srem i32 %conv15, 62 + %idxprom16 = sext i32 %rem to i64 + %arrayidx17 = getelementptr inbounds [63 x i8], [63 x i8]* @letters, i64 0, i64 %idxprom16 + %10 = load i8, i8* %arrayidx17, align 1 + %11 = load i8*, i8** %XXXXXX, align 8 + %12 = load i32, i32* %j, align 4 + %idxprom18 = sext i32 %12 to i64 + %arrayidx19 = getelementptr inbounds i8, i8* %11, i64 %idxprom18 + store i8 %10, i8* %arrayidx19, align 1 + %13 = load i32, i32* %j, align 4 + %inc = add nsw i32 %13, 1 + store i32 %inc, i32* %j, align 4 + br label %for.cond10 + +for.end: ; preds = %for.cond10 + %14 = load i32, i32* %kind.addr, align 4 + br label %NodeBlock5 + +NodeBlock5: ; preds = %for.end + %case.cmp6 = icmp eq i32 %14, 3 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %14, 0 + br i1 %case.cmp4, label %sw.bb29, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %14, 1 + br i1 %case.cmp2, label %sw.bb31, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %14, 2 + br i1 %case.cmp, label %sw.bb33, label %newDefault + +sw.bb: ; preds = %NodeBlock5 + %15 = load i8*, i8** %tmpl.addr, align 8 + %call20 = call i32 bitcast (i32 (i8*, %struct.stat64*)* @stat to i32 (i8*, %struct.stat.192*)*)(i8* %15, %struct.stat.192* %st) #19 + %cmp21 = icmp slt i32 %call20, 0 + br i1 %cmp21, label %if.then23, label %if.else27 + +if.then23: ; preds = %sw.bb + %16 = load i32, i32* @errno, align 4 + %cmp24 = icmp eq i32 %16, 2 + br i1 %cmp24, label %if.then26, label %if.else + +if.then26: ; preds = %if.then23 + store i32 0, i32* %fd, align 4 + br label %restore_and_ret + +if.else: ; preds = %if.then23 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else27: ; preds = %sw.bb + store i32 0, i32* %fd, align 4 + br label %sw.bb29 + +sw.bb29: ; preds = %NodeBlock3, %if.else27 + %17 = load i8*, i8** %tmpl.addr, align 8 + %call30 = call i32 (i8*, i32, ...) @open(i8* %17, i32 194, i32 384) #18 + store i32 %call30, i32* %fd, align 4 + br label %sw.epilog + +sw.bb31: ; preds = %NodeBlock1 + %18 = load i8*, i8** %tmpl.addr, align 8 + %call32 = call i32 (i8*, i32, ...) @open64(i8* %18, i32 194, i32 384) #18 + store i32 %call32, i32* %fd, align 4 + br label %sw.epilog + +sw.bb33: ; preds = %NodeBlock + %19 = load i8*, i8** %tmpl.addr, align 8 + %call34 = call i32 @mkdir(i8* %19, i32 448) #19 + store i32 %call34, i32* %fd, align 4 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i32 -1, i32* %fd, align 4 + br label %sw.epilog + +sw.epilog: ; preds = %sw.default, %sw.bb33, %sw.bb31, %sw.bb29 + %20 = load i32, i32* %fd, align 4 + %cmp35 = icmp sge i32 %20, 0 + br i1 %cmp35, label %restore_and_ret, label %if.else38 + +restore_and_ret: ; preds = %sw.epilog, %if.then26 + %21 = load i32, i32* %save_errno, align 4 + store i32 %21, i32* @errno, align 4 + %22 = load i32, i32* %fd, align 4 + store i32 %22, i32* %retval, align 4 + br label %return + +if.else38: ; preds = %sw.epilog + %23 = load i32, i32* @errno, align 4 + %cmp39 = icmp ne i32 %23, 17 + br i1 %cmp39, label %if.then41, label %for.inc44 + +if.then41: ; preds = %if.else38 + store i32 -1, i32* %retval, align 4 + br label %return + +for.inc44: ; preds = %if.else38 + %24 = load i32, i32* %i, align 4 + %inc45 = add i32 %24, 1 + store i32 %inc45, i32* %i, align 4 + br label %for.cond + +for.end46: ; preds = %for.cond + store i32 17, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %for.end46, %if.then41, %restore_and_ret, %if.else, %if.then + %25 = load i32, i32* %retval, align 4 + ret i32 %25 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @fillrand(i8* %buf, i32 %len) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %len.addr = alloca i32, align 4 + %fd = alloca i32, align 4 + %result = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i32 %len, i32* %len.addr, align 4 + store i32 -1, i32* %result, align 4 + %call = call i32 (i8*, i32, ...) @open(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.4.74, i64 0, i64 0), i32 0) #18 + store i32 %call, i32* %fd, align 4 + %0 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %0, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call1 = call i32 (i8*, i32, ...) @open(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.5.75, i64 0, i64 0), i32 2048) #18 + store i32 %call1, i32* %fd, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i32, i32* %fd, align 4 + %cmp2 = icmp sge i32 %1, 0 + br i1 %cmp2, label %if.then3, label %if.end7 + +if.then3: ; preds = %if.end + %2 = load i32, i32* %fd, align 4 + %3 = load i8*, i8** %buf.addr, align 8 + %4 = load i32, i32* %len.addr, align 4 + %conv = zext i32 %4 to i64 + %call4 = call i64 @read(i32 %2, i8* %3, i64 %conv) #18 + %conv5 = trunc i64 %call4 to i32 + store i32 %conv5, i32* %result, align 4 + %5 = load i32, i32* %fd, align 4 + %call6 = call i32 @close(i32 %5) #18 + br label %if.end7 + +if.end7: ; preds = %if.then3, %if.end + %6 = load i32, i32* %result, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @brain_damaged_fillrand(i8* %buf, i32 %len) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %len.addr = alloca i32, align 4 + %i = alloca i32, align 4 + %k = alloca i32, align 4 + %tv = alloca %struct.timespec, align 8 + %high = alloca i32, align 4 + %low = alloca i32, align 4 + %rh = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i32 %len, i32* %len.addr, align 4 + %call = call i32 bitcast (i32 (%struct.timespec*, i8*)* @gettimeofday to i32 (%struct.timespec*, %struct.__mbstate_t.512*)*)(%struct.timespec* %tv, %struct.__mbstate_t.512* null) #19 + %tv_usec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 1 + %0 = load i64, i64* %tv_usec, align 8 + %shl = shl i64 %0, 16 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %1 = load i64, i64* %tv_sec, align 8 + %xor = xor i64 %shl, %1 + %call1 = call i32 @getpid() #19 + %conv = sext i32 %call1 to i64 + %xor2 = xor i64 %xor, %conv + %2 = load i64, i64* @brain_damaged_fillrand.value, align 8 + %add = add i64 %2, %xor2 + store i64 %add, i64* @brain_damaged_fillrand.value, align 8 + %3 = load i64, i64* @brain_damaged_fillrand.value, align 8 + %and = and i64 %3, 4294967295 + %conv3 = trunc i64 %and to i32 + store i32 %conv3, i32* %low, align 4 + %4 = load i64, i64* @brain_damaged_fillrand.value, align 8 + %shr = lshr i64 %4, 32 + %conv4 = trunc i64 %shr to i32 + store i32 %conv4, i32* %high, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %5 = load i32, i32* %i, align 4 + %6 = load i32, i32* %len.addr, align 4 + %cmp = icmp ult i32 %5, %6 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %7 = load i32, i32* %high, align 4 + %rem = urem i32 %7, 62 + store i32 %rem, i32* %rh, align 4 + %8 = load i32, i32* %high, align 4 + %div = udiv i32 %8, 62 + store i32 %div, i32* %high, align 4 + %9 = load i32, i32* %low, align 4 + %rem6 = urem i32 %9, 62 + %10 = load i32, i32* %rh, align 4 + %mul = mul i32 4, %10 + %add7 = add i32 %rem6, %mul + store i32 %add7, i32* %k, align 4 + %11 = load i32, i32* %low, align 4 + %div8 = udiv i32 %11, 62 + %12 = load i32, i32* %rh, align 4 + %mul9 = mul i32 69273666, %12 + %add10 = add i32 %div8, %mul9 + %13 = load i32, i32* %k, align 4 + %div11 = udiv i32 %13, 62 + %add12 = add i32 %add10, %div11 + store i32 %add12, i32* %low, align 4 + %14 = load i32, i32* %k, align 4 + %rem13 = urem i32 %14, 62 + store i32 %rem13, i32* %k, align 4 + %15 = load i32, i32* %k, align 4 + %idxprom = zext i32 %15 to i64 + %arrayidx = getelementptr inbounds [63 x i8], [63 x i8]* @letters, i64 0, i64 %idxprom + %16 = load i8, i8* %arrayidx, align 1 + %17 = load i8*, i8** %buf.addr, align 8 + %18 = load i32, i32* %i, align 4 + %idxprom14 = zext i32 %18 to i64 + %arrayidx15 = getelementptr inbounds i8, i8* %17, i64 %idxprom14 + store i8 %16, i8* %arrayidx15, align 1 + %19 = load i32, i32* %i, align 4 + %inc = add i32 %19, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + ret void +} + +; Function Attrs: nounwind +declare i32 @getpid() #2 + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_locale_set_l(i8* %p, %struct.__uclibc_locale_struct.201* %base) #0 { +entry: + %retval = alloca i32, align 4 + %p.addr = alloca i8*, align 8 + %base.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %x = alloca i8**, align 8 + %s = alloca i8*, align 8 + %stp = alloca i64*, align 8 + %r = alloca i8*, align 8 + %io = alloca i16*, align 8 + %ii = alloca i16*, align 8 + %d = alloca i8*, align 8 + %row = alloca i32, align 4 + %crow = alloca i32, align 4 + %len = alloca i32, align 4 + %c = alloca i32, align 4 + %i = alloca i32, align 4 + %newcol = alloca %struct.__collate_t.200, align 8 + %c8b = alloca %struct.__codeset_8_bit_t.202*, align 8 + %u = alloca i32, align 4 + %m = alloca i16, align 2 + store i8* %p, i8** %p.addr, align 8 + store %struct.__uclibc_locale_struct.201* %base, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 6 + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 1 + store i8* %add.ptr, i8** %s, align 8 + store i32 0, i32* %i, align 4 + %1 = load i8*, i8** %p.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %1, i32 1 + store i8* %incdec.ptr, i8** %p.addr, align 8 + %index2weight = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %newcol, i32 0, i32 23 + store i16* null, i16** %index2weight, align 8 + %2 = load i8*, i8** %p.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %2, i64 8 + %3 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %3 to i32 + %4 = load i8*, i8** %s, align 8 + %arrayidx1 = getelementptr inbounds i8, i8* %4, i64 8 + %5 = load i8, i8* %arrayidx1, align 1 + %conv2 = zext i8 %5 to i32 + %cmp = icmp ne i32 %conv, %conv2 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %6 = load i8*, i8** %p.addr, align 8 + %arrayidx4 = getelementptr inbounds i8, i8* %6, i64 9 + %7 = load i8, i8* %arrayidx4, align 1 + %conv5 = zext i8 %7 to i32 + %8 = load i8*, i8** %s, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %8, i64 9 + %9 = load i8, i8* %arrayidx6, align 1 + %conv7 = zext i8 %9 to i32 + %cmp8 = icmp ne i32 %conv5, %conv7 + br i1 %cmp8, label %if.then, label %if.end22 + +if.then: ; preds = %lor.lhs.false, %entry + %10 = load i8*, i8** %p.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv10 = zext i8 %11 to i32 + %and = and i32 %conv10, 127 + %shl = shl i32 %and, 7 + %12 = load i8*, i8** %p.addr, align 8 + %arrayidx11 = getelementptr inbounds i8, i8* %12, i64 1 + %13 = load i8, i8* %arrayidx11, align 1 + %conv12 = zext i8 %13 to i32 + %and13 = and i32 %conv12, 127 + %add = add nsw i32 %shl, %and13 + store i32 %add, i32* %row, align 4 + %14 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %14, i32 0, i32 31 + %15 = load i32, i32* %row, align 4 + %mul = mul nsw i32 9, %15 + %add14 = add nsw i32 %mul, 3 + %add15 = add nsw i32 %add14, 4 + %idxprom = sext i32 %add15 to i64 + %arrayidx16 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales, i64 0, i64 %idxprom + %16 = load i8, i8* %arrayidx16, align 1 + %conv17 = zext i8 %16 to i32 + %call = call i32 @init_cur_collate(i32 %conv17, %struct.__collate_t.200* %newcol) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end, label %if.then18 + +if.then18: ; preds = %if.then + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %if.then + %17 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %collate = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %17, i32 0, i32 118 + %index2weight19 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate, i32 0, i32 23 + %18 = load i16*, i16** %index2weight19, align 8 + %19 = bitcast i16* %18 to i8* + call void @free(i8* %19) #19 + %20 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %collate20 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %20, i32 0, i32 118 + %21 = bitcast %struct.__collate_t.200* %collate20 to i8* + %22 = bitcast %struct.__collate_t.200* %newcol to i8* + %call21 = call i8* @memcpy(i8* %21, i8* %22, i64 112) #19 + br label %if.end22 + +if.end22: ; preds = %if.end, %lor.lhs.false + br label %do.body + +do.body: ; preds = %if.end313, %if.end22 + %23 = load i8*, i8** %p.addr, align 8 + %24 = load i8, i8* %23, align 1 + %conv23 = zext i8 %24 to i32 + %25 = load i8*, i8** %s, align 8 + %26 = load i8, i8* %25, align 1 + %conv24 = zext i8 %26 to i32 + %cmp25 = icmp ne i32 %conv23, %conv24 + br i1 %cmp25, label %if.then34, label %lor.lhs.false27 + +lor.lhs.false27: ; preds = %do.body + %27 = load i8*, i8** %p.addr, align 8 + %arrayidx28 = getelementptr inbounds i8, i8* %27, i64 1 + %28 = load i8, i8* %arrayidx28, align 1 + %conv29 = zext i8 %28 to i32 + %29 = load i8*, i8** %s, align 8 + %arrayidx30 = getelementptr inbounds i8, i8* %29, i64 1 + %30 = load i8, i8* %arrayidx30, align 1 + %conv31 = zext i8 %30 to i32 + %cmp32 = icmp ne i32 %conv29, %conv31 + br i1 %cmp32, label %if.then34, label %if.end313 + +if.then34: ; preds = %lor.lhs.false27, %do.body + %31 = load i8*, i8** %p.addr, align 8 + %32 = load i8, i8* %31, align 1 + %conv35 = zext i8 %32 to i32 + %and36 = and i32 %conv35, 127 + %shl37 = shl i32 %and36, 7 + %33 = load i8*, i8** %p.addr, align 8 + %arrayidx38 = getelementptr inbounds i8, i8* %33, i64 1 + %34 = load i8, i8* %arrayidx38, align 1 + %conv39 = zext i8 %34 to i32 + %and40 = and i32 %conv39, 127 + %add41 = add nsw i32 %shl37, %and40 + store i32 %add41, i32* %row, align 4 + %35 = load i8*, i8** %p.addr, align 8 + %36 = load i8, i8* %35, align 1 + %37 = load i8*, i8** %s, align 8 + store i8 %36, i8* %37, align 1 + %38 = load i8*, i8** %p.addr, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %38, i64 1 + %39 = load i8, i8* %arrayidx42, align 1 + %40 = load i8*, i8** %s, align 8 + %arrayidx43 = getelementptr inbounds i8, i8* %40, i64 1 + store i8 %39, i8* %arrayidx43, align 1 + %41 = load i32, i32* %i, align 4 + %cmp44 = icmp ne i32 %41, 4 + br i1 %cmp44, label %land.lhs.true, label %if.end92 + +land.lhs.true: ; preds = %if.then34 + %42 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_common_item_offsets_LEN = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %42, i32 0, i32 29 + %43 = load i32, i32* %i, align 4 + %idxprom46 = sext i32 %43 to i64 + %arrayidx47 = getelementptr inbounds [6 x i8], [6 x i8]* %lc_common_item_offsets_LEN, i64 0, i64 %idxprom46 + %44 = load i8, i8* %arrayidx47, align 1 + %conv48 = zext i8 %44 to i32 + store i32 %conv48, i32* %len, align 4 + %cmp49 = icmp ne i32 %conv48, 0 + br i1 %cmp49, label %if.then51, label %if.end92 + +if.then51: ; preds = %land.lhs.true + %45 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales52 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %45, i32 0, i32 31 + %46 = load i32, i32* %row, align 4 + %mul53 = mul nsw i32 9, %46 + %add54 = add nsw i32 %mul53, 3 + %47 = load i32, i32* %i, align 4 + %add55 = add nsw i32 %add54, %47 + %idxprom56 = sext i32 %add55 to i64 + %arrayidx57 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales52, i64 0, i64 %idxprom56 + %48 = load i8, i8* %arrayidx57, align 1 + %conv58 = zext i8 %48 to i32 + %49 = load i32, i32* %len, align 4 + %mul59 = mul nsw i32 %conv58, %49 + store i32 %mul59, i32* %crow, align 4 + %50 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %51 = bitcast %struct.__uclibc_locale_struct.201* %50 to i8* + %52 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %52, i32 0, i32 7 + %53 = load i32, i32* %i, align 4 + %idxprom60 = sext i32 %53 to i64 + %arrayidx61 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets, i64 0, i64 %idxprom60 + %54 = load i16, i16* %arrayidx61, align 2 + %conv62 = zext i16 %54 to i32 + %idx.ext = sext i32 %conv62 to i64 + %add.ptr63 = getelementptr inbounds i8, i8* %51, i64 %idx.ext + %55 = bitcast i8* %add.ptr63 to i8** + store i8** %55, i8*** %x, align 8 + %56 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_common_tbl_offsets = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %56, i32 0, i32 30 + %arraydecay64 = getelementptr inbounds [24 x i64], [24 x i64]* %lc_common_tbl_offsets, i64 0, i64 0 + %57 = load i32, i32* %i, align 4 + %mul65 = mul nsw i32 4, %57 + %idx.ext66 = sext i32 %mul65 to i64 + %add.ptr67 = getelementptr inbounds i64, i64* %arraydecay64, i64 %idx.ext66 + store i64* %add.ptr67, i64** %stp, align 8 + %58 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %59 = bitcast %struct.__locale_mmap_t.203* %58 to i8* + %60 = load i64*, i64** %stp, align 8 + %61 = load i64, i64* %60, align 8 + %add.ptr68 = getelementptr inbounds i8, i8* %59, i64 %61 + store i8* %add.ptr68, i8** %r, align 8 + %62 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %63 = bitcast %struct.__locale_mmap_t.203* %62 to i8* + %64 = load i64*, i64** %stp, align 8 + %incdec.ptr69 = getelementptr inbounds i64, i64* %64, i32 1 + store i64* %incdec.ptr69, i64** %stp, align 8 + %65 = load i64, i64* %incdec.ptr69, align 8 + %add.ptr70 = getelementptr inbounds i8, i8* %63, i64 %65 + %66 = bitcast i8* %add.ptr70 to i16* + store i16* %66, i16** %io, align 8 + %67 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %68 = bitcast %struct.__locale_mmap_t.203* %67 to i8* + %69 = load i64*, i64** %stp, align 8 + %incdec.ptr71 = getelementptr inbounds i64, i64* %69, i32 1 + store i64* %incdec.ptr71, i64** %stp, align 8 + %70 = load i64, i64* %incdec.ptr71, align 8 + %add.ptr72 = getelementptr inbounds i8, i8* %68, i64 %70 + %71 = bitcast i8* %add.ptr72 to i16* + store i16* %71, i16** %ii, align 8 + %72 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %73 = bitcast %struct.__locale_mmap_t.203* %72 to i8* + %74 = load i64*, i64** %stp, align 8 + %incdec.ptr73 = getelementptr inbounds i64, i64* %74, i32 1 + store i64* %incdec.ptr73, i64** %stp, align 8 + %75 = load i64, i64* %incdec.ptr73, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %73, i64 %75 + store i8* %add.ptr74, i8** %d, align 8 + store i32 0, i32* %c, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.then51 + %76 = load i32, i32* %c, align 4 + %77 = load i32, i32* %len, align 4 + %cmp75 = icmp slt i32 %76, %77 + br i1 %cmp75, label %for.body, label %if.end92 + +for.body: ; preds = %for.cond + %78 = load i8*, i8** %d, align 8 + %79 = load i16*, i16** %ii, align 8 + %80 = load i8*, i8** %r, align 8 + %81 = load i32, i32* %crow, align 4 + %82 = load i32, i32* %c, align 4 + %add77 = add nsw i32 %81, %82 + %idxprom78 = sext i32 %add77 to i64 + %arrayidx79 = getelementptr inbounds i8, i8* %80, i64 %idxprom78 + %83 = load i8, i8* %arrayidx79, align 1 + %conv80 = zext i8 %83 to i32 + %84 = load i16*, i16** %io, align 8 + %85 = load i32, i32* %c, align 4 + %idxprom81 = sext i32 %85 to i64 + %arrayidx82 = getelementptr inbounds i16, i16* %84, i64 %idxprom81 + %86 = load i16, i16* %arrayidx82, align 2 + %conv83 = zext i16 %86 to i32 + %add84 = add nsw i32 %conv80, %conv83 + %idxprom85 = sext i32 %add84 to i64 + %arrayidx86 = getelementptr inbounds i16, i16* %79, i64 %idxprom85 + %87 = load i16, i16* %arrayidx86, align 2 + %conv87 = zext i16 %87 to i32 + %idx.ext88 = sext i32 %conv87 to i64 + %add.ptr89 = getelementptr inbounds i8, i8* %78, i64 %idx.ext88 + %88 = load i8**, i8*** %x, align 8 + %89 = load i32, i32* %c, align 4 + %idx.ext90 = sext i32 %89 to i64 + %add.ptr91 = getelementptr inbounds i8*, i8** %88, i64 %idx.ext90 + store i8* %add.ptr89, i8** %add.ptr91, align 8 + %90 = load i32, i32* %c, align 4 + %inc = add nsw i32 %90, 1 + store i32 %inc, i32* %c, align 4 + br label %for.cond + +if.end92: ; preds = %for.cond, %land.lhs.true, %if.then34 + %91 = load i32, i32* %i, align 4 + %cmp93 = icmp eq i32 %91, 0 + br i1 %cmp93, label %if.then95, label %if.else295 + +if.then95: ; preds = %if.end92 + %92 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales96 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %92, i32 0, i32 31 + %93 = load i32, i32* %row, align 4 + %mul97 = mul nsw i32 9, %93 + %add98 = add nsw i32 %mul97, 2 + %idxprom99 = sext i32 %add98 to i64 + %arrayidx100 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales96, i64 0, i64 %idxprom99 + %94 = load i8, i8* %arrayidx100, align 1 + %conv101 = zext i8 %94 to i32 + store i32 %conv101, i32* %c, align 4 + %95 = load i32, i32* %c, align 4 + %cmp102 = icmp sle i32 %95, 2 + br i1 %cmp102, label %if.then104, label %if.else112 + +if.then104: ; preds = %if.then95 + %96 = load i32, i32* %c, align 4 + %cmp105 = icmp eq i32 %96, 2 + %97 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %codeset = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %97, i32 0, i32 38 + br i1 %cmp105, label %if.then107, label %if.else + +if.then107: ; preds = %if.then104 + store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf8, i64 0, i64 0), i8** %codeset, align 8 + %98 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %98, i32 0, i32 9 + store i8 1, i8* %encoding, align 8 + %99 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %mb_cur_max = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %99, i32 0, i32 10 + store i8 6, i8* %mb_cur_max, align 1 + br label %if.end280 + +if.else: ; preds = %if.then104 + store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @ascii, i64 0, i64 0), i8** %codeset, align 8 + %100 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %encoding109 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %100, i32 0, i32 9 + store i8 0, i8* %encoding109, align 8 + %101 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %mb_cur_max110 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %101, i32 0, i32 10 + store i8 1, i8* %mb_cur_max110, align 1 + br label %if.end280 + +if.else112: ; preds = %if.then95 + %102 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %102, i32 0, i32 35 + %arraydecay113 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list, i64 0, i64 0 + store i8* %arraydecay113, i8** %r, align 8 + %103 = load i8*, i8** %r, align 8 + %104 = load i8*, i8** %r, align 8 + %105 = load i32, i32* %c, align 4 + %sub = sub nsw i32 %105, 3 + store i32 %sub, i32* %c, align 4 + %idxprom114 = sext i32 %sub to i64 + %arrayidx115 = getelementptr inbounds i8, i8* %104, i64 %idxprom114 + %106 = load i8, i8* %arrayidx115, align 1 + %conv116 = zext i8 %106 to i32 + %idx.ext117 = sext i32 %conv116 to i64 + %add.ptr118 = getelementptr inbounds i8, i8* %103, i64 %idx.ext117 + %107 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %codeset119 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %107, i32 0, i32 38 + store i8* %add.ptr118, i8** %codeset119, align 8 + %108 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %encoding120 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %108, i32 0, i32 9 + store i8 2, i8* %encoding120, align 8 + %109 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %mb_cur_max121 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %109, i32 0, i32 10 + store i8 1, i8* %mb_cur_max121, align 1 + %110 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_8_bit = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %110, i32 0, i32 12 + %arraydecay122 = getelementptr inbounds [23 x %struct.__codeset_8_bit_t.202], [23 x %struct.__codeset_8_bit_t.202]* %codeset_8_bit, i64 0, i64 0 + %111 = load i32, i32* %c, align 4 + %idx.ext123 = sext i32 %111 to i64 + %add.ptr124 = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %arraydecay122, i64 %idx.ext123 + store %struct.__codeset_8_bit_t.202* %add.ptr124, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %112 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8ctype = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %112, i32 0, i32 0 + %arraydecay125 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8ctype, i64 0, i64 0 + %113 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8ctype126 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %113, i32 0, i32 12 + store i8* %arraydecay125, i8** %idx8ctype126, align 8 + %114 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8uplow = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %114, i32 0, i32 1 + %arraydecay127 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8uplow, i64 0, i64 0 + %115 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8uplow128 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %115, i32 0, i32 14 + store i8* %arraydecay127, i8** %idx8uplow128, align 8 + %116 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8c2wc = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %116, i32 0, i32 2 + %arraydecay129 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8c2wc, i64 0, i64 0 + %117 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8c2wc130 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %117, i32 0, i32 16 + store i8* %arraydecay129, i8** %idx8c2wc130, align 8 + %118 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8wc2c = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %118, i32 0, i32 3 + %arraydecay131 = getelementptr inbounds [38 x i8], [38 x i8]* %idx8wc2c, i64 0, i64 0 + %119 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8wc2c132 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %119, i32 0, i32 18 + store i8* %arraydecay131, i8** %idx8wc2c132, align 8 + %120 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b_data = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %120, i32 0, i32 3 + %arraydecay133 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data, i64 0, i64 0 + %121 = bitcast i16* %arraydecay133 to i8* + %122 = load i16*, i16** @__C_ctype_b, align 8 + %add.ptr134 = getelementptr inbounds i16, i16* %122, i64 -128 + %123 = bitcast i16* %add.ptr134 to i8* + %call135 = call i8* @memcpy(i8* %121, i8* %123, i64 768) #19 + %124 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %124, i32 0, i32 4 + %arraydecay136 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data, i64 0, i64 0 + %125 = bitcast i16* %arraydecay136 to i8* + %126 = load i16*, i16** @__C_ctype_tolower, align 8 + %add.ptr137 = getelementptr inbounds i16, i16* %126, i64 -128 + %127 = bitcast i16* %add.ptr137 to i8* + %call138 = call i8* @memcpy(i8* %125, i8* %127, i64 768) #19 + %128 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %128, i32 0, i32 5 + %arraydecay139 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data, i64 0, i64 0 + %129 = bitcast i16* %arraydecay139 to i8* + %130 = load i16*, i16** @__C_ctype_toupper, align 8 + %add.ptr140 = getelementptr inbounds i16, i16* %130, i64 -128 + %131 = bitcast i16* %add.ptr140 to i8* + %call141 = call i8* @memcpy(i8* %129, i8* %131, i64 768) #19 + store i32 0, i32* %u, align 4 + br label %for.cond142 + +for.cond142: ; preds = %for.inc268, %if.else112 + %132 = load i32, i32* %u, align 4 + %cmp143 = icmp slt i32 %132, 128 + %133 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + br i1 %cmp143, label %for.body145, label %for.end270 + +for.body145: ; preds = %for.cond142 + %tbl8ctype = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %133, i32 0, i32 13 + %134 = load i8*, i8** %tbl8ctype, align 8 + %135 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8ctype146 = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %135, i32 0, i32 0 + %136 = load i32, i32* %u, align 4 + %shr = ashr i32 %136, 3 + %idxprom147 = sext i32 %shr to i64 + %arrayidx148 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8ctype146, i64 0, i64 %idxprom147 + %137 = load i8, i8* %arrayidx148, align 1 + %conv149 = zext i8 %137 to i32 + %shl150 = shl i32 %conv149, 2 + %138 = load i32, i32* %u, align 4 + %and151 = and i32 %138, 7 + %shr152 = ashr i32 %and151, 1 + %add153 = add nsw i32 %shl150, %shr152 + %idxprom154 = sext i32 %add153 to i64 + %arrayidx155 = getelementptr inbounds i8, i8* %134, i64 %idxprom154 + %139 = load i8, i8* %arrayidx155, align 1 + %conv156 = zext i8 %139 to i32 + store i32 %conv156, i32* %c, align 4 + %140 = load i32, i32* %u, align 4 + %and157 = and i32 %140, 1 + %tobool158 = icmp ne i32 %and157, 0 + %141 = load i32, i32* %c, align 4 + %shr159 = ashr i32 %141, 4 + %and160 = and i32 %141, 15 + %cond = select i1 %tobool158, i32 %shr159, i32 %and160 + store i32 %cond, i32* %c, align 4 + %142 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %code2flag = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %142, i32 0, i32 20 + %143 = load i16*, i16** %code2flag, align 8 + %144 = load i32, i32* %c, align 4 + %idxprom161 = sext i32 %144 to i64 + %arrayidx162 = getelementptr inbounds i16, i16* %143, i64 %idxprom161 + %145 = load i16, i16* %arrayidx162, align 2 + store i16 %145, i16* %m, align 2 + %146 = load i16, i16* %m, align 2 + %147 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b_data163 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %147, i32 0, i32 3 + %148 = load i32, i32* %u, align 4 + %add164 = add nsw i32 256, %148 + %idxprom165 = sext i32 %add164 to i64 + %arrayidx166 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data163, i64 0, i64 %idxprom165 + store i16 %146, i16* %arrayidx166, align 2 + %149 = load i32, i32* %u, align 4 + %add167 = add nsw i32 128, %149 + %conv168 = trunc i32 %add167 to i8 + %conv169 = sext i8 %conv168 to i32 + %cmp170 = icmp ne i32 %conv169, -1 + br i1 %cmp170, label %if.then172, label %if.end180 + +if.then172: ; preds = %for.body145 + %150 = load i16, i16* %m, align 2 + %151 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b_data173 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %151, i32 0, i32 3 + %152 = load i32, i32* %u, align 4 + %add174 = add nsw i32 128, %152 + %conv175 = trunc i32 %add174 to i8 + %conv176 = sext i8 %conv175 to i32 + %add177 = add nsw i32 128, %conv176 + %idxprom178 = sext i32 %add177 to i64 + %arrayidx179 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data173, i64 0, i64 %idxprom178 + store i16 %150, i16* %arrayidx179, align 2 + br label %if.end180 + +if.end180: ; preds = %if.then172, %for.body145 + %153 = load i32, i32* %u, align 4 + %add181 = add nsw i32 128, %153 + %conv182 = trunc i32 %add181 to i16 + %154 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data183 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %154, i32 0, i32 4 + %155 = load i32, i32* %u, align 4 + %add184 = add nsw i32 256, %155 + %idxprom185 = sext i32 %add184 to i64 + %arrayidx186 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data183, i64 0, i64 %idxprom185 + store i16 %conv182, i16* %arrayidx186, align 2 + %156 = load i32, i32* %u, align 4 + %add187 = add nsw i32 128, %156 + %conv188 = trunc i32 %add187 to i16 + %157 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data189 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %157, i32 0, i32 5 + %158 = load i32, i32* %u, align 4 + %add190 = add nsw i32 256, %158 + %idxprom191 = sext i32 %add190 to i64 + %arrayidx192 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data189, i64 0, i64 %idxprom191 + store i16 %conv188, i16* %arrayidx192, align 2 + %159 = load i16, i16* %m, align 2 + %conv193 = zext i16 %159 to i32 + %and194 = and i32 %conv193, 768 + %tobool195 = icmp ne i32 %and194, 0 + br i1 %tobool195, label %if.then196, label %for.inc268 + +if.then196: ; preds = %if.end180 + %160 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8uplow = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %160, i32 0, i32 15 + %161 = load i8*, i8** %tbl8uplow, align 8 + %162 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8uplow197 = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %162, i32 0, i32 1 + %163 = load i32, i32* %u, align 4 + %shr198 = ashr i32 %163, 3 + %idxprom199 = sext i32 %shr198 to i64 + %arrayidx200 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8uplow197, i64 0, i64 %idxprom199 + %164 = load i8, i8* %arrayidx200, align 1 + %conv201 = zext i8 %164 to i32 + %shl202 = shl i32 %conv201, 3 + %165 = load i32, i32* %u, align 4 + %add203 = add nsw i32 128, %165 + %and204 = and i32 %add203, 7 + %add205 = add nsw i32 %shl202, %and204 + %idxprom206 = sext i32 %add205 to i64 + %arrayidx207 = getelementptr inbounds i8, i8* %161, i64 %idxprom206 + %166 = load i8, i8* %arrayidx207, align 1 + %conv208 = zext i8 %166 to i32 + store i32 %conv208, i32* %c, align 4 + %167 = load i16, i16* %m, align 2 + %conv209 = zext i16 %167 to i32 + %and210 = and i32 %conv209, 512 + %tobool211 = icmp ne i32 %and210, 0 + %168 = load i32, i32* %u, align 4 + %add213 = add nsw i32 128, %168 + %169 = load i32, i32* %c, align 4 + br i1 %tobool211, label %if.then212, label %if.else239 + +if.then212: ; preds = %if.then196 + %add214 = add nsw i32 %add213, %169 + %conv215 = trunc i32 %add214 to i8 + %conv216 = zext i8 %conv215 to i16 + %170 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data217 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %170, i32 0, i32 5 + %171 = load i32, i32* %u, align 4 + %add218 = add nsw i32 256, %171 + %idxprom219 = sext i32 %add218 to i64 + %arrayidx220 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data217, i64 0, i64 %idxprom219 + store i16 %conv216, i16* %arrayidx220, align 2 + %172 = load i32, i32* %u, align 4 + %add221 = add nsw i32 128, %172 + %conv222 = trunc i32 %add221 to i8 + %conv223 = sext i8 %conv222 to i32 + %cmp224 = icmp ne i32 %conv223, -1 + br i1 %cmp224, label %if.then226, label %for.inc268 + +if.then226: ; preds = %if.then212 + %173 = load i32, i32* %u, align 4 + %add227 = add nsw i32 128, %173 + %174 = load i32, i32* %c, align 4 + %add228 = add nsw i32 %add227, %174 + %conv229 = trunc i32 %add228 to i8 + %conv230 = zext i8 %conv229 to i16 + %175 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data231 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %175, i32 0, i32 5 + %176 = load i32, i32* %u, align 4 + %add232 = add nsw i32 128, %176 + %conv233 = trunc i32 %add232 to i8 + %conv234 = sext i8 %conv233 to i32 + %add235 = add nsw i32 128, %conv234 + %idxprom236 = sext i32 %add235 to i64 + %arrayidx237 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data231, i64 0, i64 %idxprom236 + store i16 %conv230, i16* %arrayidx237, align 2 + br label %for.inc268 + +if.else239: ; preds = %if.then196 + %sub241 = sub nsw i32 %add213, %169 + %conv242 = trunc i32 %sub241 to i8 + %conv243 = zext i8 %conv242 to i16 + %177 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data244 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %177, i32 0, i32 4 + %178 = load i32, i32* %u, align 4 + %add245 = add nsw i32 256, %178 + %idxprom246 = sext i32 %add245 to i64 + %arrayidx247 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data244, i64 0, i64 %idxprom246 + store i16 %conv243, i16* %arrayidx247, align 2 + %179 = load i32, i32* %u, align 4 + %add248 = add nsw i32 128, %179 + %conv249 = trunc i32 %add248 to i8 + %conv250 = sext i8 %conv249 to i32 + %cmp251 = icmp ne i32 %conv250, -1 + br i1 %cmp251, label %if.then253, label %for.inc268 + +if.then253: ; preds = %if.else239 + %180 = load i32, i32* %u, align 4 + %add254 = add nsw i32 128, %180 + %181 = load i32, i32* %c, align 4 + %sub255 = sub nsw i32 %add254, %181 + %conv256 = trunc i32 %sub255 to i8 + %conv257 = zext i8 %conv256 to i16 + %182 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data258 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %182, i32 0, i32 4 + %183 = load i32, i32* %u, align 4 + %add259 = add nsw i32 128, %183 + %conv260 = trunc i32 %add259 to i8 + %conv261 = sext i8 %conv260 to i32 + %add262 = add nsw i32 128, %conv261 + %idxprom263 = sext i32 %add262 to i64 + %arrayidx264 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data258, i64 0, i64 %idxprom263 + store i16 %conv257, i16* %arrayidx264, align 2 + br label %for.inc268 + +for.inc268: ; preds = %if.end180, %if.else239, %if.then253, %if.then212, %if.then226 + %184 = load i32, i32* %u, align 4 + %inc269 = add nsw i32 %184, 1 + store i32 %inc269, i32* %u, align 4 + br label %for.cond142 + +for.end270: ; preds = %for.cond142 + %__ctype_b_data271 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %133, i32 0, i32 3 + %arraydecay272 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data271, i64 0, i64 0 + %add.ptr273 = getelementptr inbounds i16, i16* %arraydecay272, i64 128 + %185 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %185, i32 0, i32 0 + store i16* %add.ptr273, i16** %__ctype_b, align 8 + %186 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data274 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %186, i32 0, i32 4 + %arraydecay275 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data274, i64 0, i64 0 + %add.ptr276 = getelementptr inbounds i16, i16* %arraydecay275, i64 128 + %187 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %187, i32 0, i32 1 + store i16* %add.ptr276, i16** %__ctype_tolower, align 8 + %188 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data277 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %188, i32 0, i32 5 + %arraydecay278 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data277, i64 0, i64 0 + %add.ptr279 = getelementptr inbounds i16, i16* %arraydecay278, i64 128 + %189 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %189, i32 0, i32 2 + store i16* %add.ptr279, i16** %__ctype_toupper, align 8 + br label %if.end280 + +if.end280: ; preds = %if.then107, %if.else, %for.end270 + %190 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %outdigit_length = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %190, i32 0, i32 11 + %arraydecay281 = getelementptr inbounds [10 x i8], [10 x i8]* %outdigit_length, i64 0, i64 0 + store i8* %arraydecay281, i8** %d, align 8 + %191 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %outdigit0_mb = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %191, i32 0, i32 28 + store i8** %outdigit0_mb, i8*** %x, align 8 + store i32 0, i32* %c, align 4 + br label %for.cond282 + +for.cond282: ; preds = %for.body285, %if.end280 + %192 = load i32, i32* %c, align 4 + %cmp283 = icmp slt i32 %192, 10 + br i1 %cmp283, label %for.body285, label %if.end313 + +for.body285: ; preds = %for.cond282 + %193 = load i8**, i8*** %x, align 8 + %194 = load i32, i32* %c, align 4 + %idxprom286 = sext i32 %194 to i64 + %arrayidx287 = getelementptr inbounds i8*, i8** %193, i64 %idxprom286 + %195 = load i8*, i8** %arrayidx287, align 8 + %call288 = call i64 @strlen(i8* %195) #20 + %conv289 = trunc i64 %call288 to i8 + %196 = load i8*, i8** %d, align 8 + %197 = load i32, i32* %c, align 4 + %idxprom290 = sext i32 %197 to i64 + %arrayidx291 = getelementptr inbounds i8, i8* %196, i64 %idxprom290 + store i8 %conv289, i8* %arrayidx291, align 1 + %198 = load i32, i32* %c, align 4 + %inc293 = add nsw i32 %198, 1 + store i32 %inc293, i32* %c, align 4 + br label %for.cond282 + +if.else295: ; preds = %if.end92 + %199 = load i32, i32* %i, align 4 + %cmp296 = icmp eq i32 %199, 1 + br i1 %cmp296, label %if.then298, label %if.end313 + +if.then298: ; preds = %if.else295 + %200 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %decimal_point_wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %200, i32 0, i32 24 + %201 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %decimal_point = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %201, i32 0, i32 39 + %202 = load i8*, i8** %decimal_point, align 8 + %203 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call299 = call i32 @__locale_mbrtowc_l(i32* %decimal_point_wc, i8* %202, %struct.__uclibc_locale_struct.201* %203) #18 + %204 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %decimal_point_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %204, i32 0, i32 26 + store i32 %call299, i32* %decimal_point_len, align 8 + %205 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %grouping = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %205, i32 0, i32 41 + %206 = load i8*, i8** %grouping, align 8 + %207 = load i8, i8* %206, align 1 + %tobool300 = icmp ne i8 %207, 0 + br i1 %tobool300, label %if.then301, label %if.end313 + +if.then301: ; preds = %if.then298 + %208 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep_wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %208, i32 0, i32 25 + %209 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %209, i32 0, i32 40 + %210 = load i8*, i8** %thousands_sep, align 8 + %211 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call302 = call i32 @__locale_mbrtowc_l(i32* %thousands_sep_wc, i8* %210, %struct.__uclibc_locale_struct.201* %211) #18 + %212 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %212, i32 0, i32 27 + store i32 %call302, i32* %thousands_sep_len, align 4 + %213 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep_len303 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %213, i32 0, i32 27 + %214 = load i32, i32* %thousands_sep_len303, align 4 + %cmp304 = icmp eq i32 %214, 0 + br i1 %cmp304, label %if.then306, label %if.end313 + +if.then306: ; preds = %if.then301 + %215 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep307 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %215, i32 0, i32 40 + %216 = load i8*, i8** %thousands_sep307, align 8 + %217 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %grouping308 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %217, i32 0, i32 41 + store i8* %216, i8** %grouping308, align 8 + br label %if.end313 + +if.end313: ; preds = %for.cond282, %if.then298, %if.then306, %if.then301, %if.else295, %lor.lhs.false27 + %218 = load i32, i32* %i, align 4 + %inc314 = add nsw i32 %218, 1 + store i32 %inc314, i32* %i, align 4 + %219 = load i8*, i8** %p.addr, align 8 + %add.ptr315 = getelementptr inbounds i8, i8* %219, i64 2 + store i8* %add.ptr315, i8** %p.addr, align 8 + %220 = load i8*, i8** %s, align 8 + %add.ptr316 = getelementptr inbounds i8, i8* %220, i64 2 + store i8* %add.ptr316, i8** %s, align 8 + %221 = load i32, i32* %i, align 4 + %cmp317 = icmp slt i32 %221, 6 + br i1 %cmp317, label %do.body, label %do.end + +do.end: ; preds = %if.end313 + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end, %if.then18 + %222 = load i32, i32* %retval, align 4 + ret i32 %222 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @init_cur_collate(i32 %der_num, %struct.__collate_t.200* %cur_collate) #0 { +entry: + %retval = alloca i32, align 4 + %der_num.addr = alloca i32, align 4 + %cur_collate.addr = alloca %struct.__collate_t.200*, align 8 + %__locale_collate_tbl = alloca i16*, align 8 + %cdh = alloca %struct.coldata_header_t*, align 8 + %cdb = alloca %struct.coldata_base_t*, align 8 + %cdd = alloca %struct.winsize*, align 8 + %p = alloca i16*, align 8 + %n = alloca i64, align 8 + %i = alloca i16, align 2 + %w = alloca i16, align 2 + store i32 %der_num, i32* %der_num.addr, align 4 + store %struct.__collate_t.200* %cur_collate, %struct.__collate_t.200** %cur_collate.addr, align 8 + %0 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %collate_data = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %0, i32 0, i32 28 + %arraydecay = getelementptr inbounds [91141 x i16], [91141 x i16]* %collate_data, i64 0, i64 0 + store i16* %arraydecay, i16** %__locale_collate_tbl, align 8 + %1 = load i32, i32* %der_num.addr, align 4 + %tobool = icmp ne i32 %1, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %2 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %num_weights = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %2, i32 0, i32 0 + store i16 0, i16* %num_weights, align 8 + store i32 1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* %der_num.addr, align 4 + %dec = add nsw i32 %3, -1 + store i32 %dec, i32* %der_num.addr, align 4 + %4 = load i16*, i16** %__locale_collate_tbl, align 8 + %5 = bitcast i16* %4 to %struct.coldata_header_t* + store %struct.coldata_header_t* %5, %struct.coldata_header_t** %cdh, align 8 + %6 = load i16*, i16** %__locale_collate_tbl, align 8 + %7 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_base = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %7, i32 0, i32 0 + %8 = load i16, i16* %num_base, align 2 + %conv = zext i16 %8 to i64 + %mul = mul i64 %conv, 38 + %add = add i64 16, %mul + %9 = load i32, i32* %der_num.addr, align 4 + %conv1 = sext i32 %9 to i64 + %mul2 = mul i64 %conv1, 8 + %add3 = add i64 %add, %mul2 + %div = udiv i64 %add3, 2 + %add.ptr = getelementptr inbounds i16, i16* %6, i64 %div + %10 = bitcast i16* %add.ptr to %struct.winsize* + store %struct.winsize* %10, %struct.winsize** %cdd, align 8 + %11 = load i16*, i16** %__locale_collate_tbl, align 8 + %12 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %base_idx = getelementptr inbounds %struct.winsize, %struct.winsize* %12, i32 0, i32 0 + %13 = load i16, i16* %base_idx, align 2 + %conv4 = zext i16 %13 to i64 + %mul5 = mul i64 %conv4, 38 + %add6 = add i64 16, %mul5 + %div7 = udiv i64 %add6, 2 + %add.ptr8 = getelementptr inbounds i16, i16* %11, i64 %div7 + %14 = bitcast i16* %add.ptr8 to %struct.coldata_base_t* + store %struct.coldata_base_t* %14, %struct.coldata_base_t** %cdb, align 8 + %15 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %16 = bitcast %struct.__collate_t.200* %15 to i8* + %17 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %18 = bitcast %struct.coldata_base_t* %17 to i8* + %call = call i8* @memcpy(i8* %16, i8* %18, i64 28) #19 + %19 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %undefined_idx = getelementptr inbounds %struct.winsize, %struct.winsize* %19, i32 0, i32 1 + %20 = load i16, i16* %undefined_idx, align 2 + %21 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %undefined_idx9 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %21, i32 0, i32 9 + store i16 %20, i16* %undefined_idx9, align 2 + %22 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ti_shift = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %22, i32 0, i32 3 + %23 = load i16, i16* %ti_shift, align 2 + %conv10 = zext i16 %23 to i32 + %shl = shl i32 1, %conv10 + %sub = sub nsw i32 %shl, 1 + %conv11 = trunc i32 %sub to i16 + %24 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ti_mask = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %24, i32 0, i32 15 + store i16 %conv11, i16* %ti_mask, align 2 + %25 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ii_shift = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %25, i32 0, i32 2 + %26 = load i16, i16* %ii_shift, align 4 + %conv12 = zext i16 %26 to i32 + %shl13 = shl i32 1, %conv12 + %sub14 = sub nsw i32 %shl13, 1 + %conv15 = trunc i32 %sub14 to i16 + %27 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ii_mask = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %27, i32 0, i32 14 + store i16 %conv15, i16* %ii_mask, align 4 + %28 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_base16 = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %28, i32 0, i32 0 + %29 = load i16, i16* %num_base16, align 2 + %conv17 = zext i16 %29 to i64 + %mul18 = mul i64 %conv17, 38 + %add19 = add i64 16, %mul18 + %30 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_der = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %30, i32 0, i32 1 + %31 = load i16, i16* %num_der, align 2 + %conv20 = zext i16 %31 to i64 + %mul21 = mul i64 %conv20, 8 + %add22 = add i64 %add19, %mul21 + %div23 = udiv i64 %add22, 2 + store i64 %div23, i64* %n, align 8 + %32 = load i16*, i16** %__locale_collate_tbl, align 8 + %33 = load i64, i64* %n, align 8 + %add.ptr24 = getelementptr inbounds i16, i16* %32, i64 %33 + %34 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %index2weight_offset = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %34, i32 0, i32 14 + %35 = load i16, i16* %index2weight_offset, align 2 + %conv25 = zext i16 %35 to i32 + %idx.ext = sext i32 %conv25 to i64 + %add.ptr26 = getelementptr inbounds i16, i16* %add.ptr24, i64 %idx.ext + %36 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %36, i32 0, i32 16 + store i16* %add.ptr26, i16** %index2weight_tbl, align 8 + %37 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_index2weight = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %37, i32 0, i32 3 + %38 = load i16, i16* %num_index2weight, align 2 + %conv27 = zext i16 %38 to i64 + %39 = load i64, i64* %n, align 8 + %add28 = add i64 %39, %conv27 + store i64 %add28, i64* %n, align 8 + %40 = load i16*, i16** %__locale_collate_tbl, align 8 + %41 = load i64, i64* %n, align 8 + %add.ptr29 = getelementptr inbounds i16, i16* %40, i64 %41 + %42 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %index2ruleidx_offset = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %42, i32 0, i32 15 + %43 = load i16, i16* %index2ruleidx_offset, align 2 + %conv30 = zext i16 %43 to i32 + %idx.ext31 = sext i32 %conv30 to i64 + %add.ptr32 = getelementptr inbounds i16, i16* %add.ptr29, i64 %idx.ext31 + %44 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %44, i32 0, i32 17 + store i16* %add.ptr32, i16** %index2ruleidx_tbl, align 8 + %45 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_index2weight33 = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %45, i32 0, i32 3 + %46 = load i16, i16* %num_index2weight33, align 2 + %conv34 = zext i16 %46 to i64 + %47 = load i64, i64* %n, align 8 + %add35 = add i64 %47, %conv34 + store i64 %add35, i64* %n, align 8 + %48 = load i16*, i16** %__locale_collate_tbl, align 8 + %49 = load i64, i64* %n, align 8 + %add.ptr36 = getelementptr inbounds i16, i16* %48, i64 %49 + %50 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %multistart_offset = getelementptr inbounds %struct.winsize, %struct.winsize* %50, i32 0, i32 3 + %51 = load i16, i16* %multistart_offset, align 2 + %conv37 = zext i16 %51 to i32 + %idx.ext38 = sext i32 %conv37 to i64 + %add.ptr39 = getelementptr inbounds i16, i16* %add.ptr36, i64 %idx.ext38 + %52 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %multistart_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %52, i32 0, i32 18 + store i16* %add.ptr39, i16** %multistart_tbl, align 8 + %53 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_multistart = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %53, i32 0, i32 5 + %54 = load i16, i16* %num_multistart, align 2 + %conv40 = zext i16 %54 to i64 + %55 = load i64, i64* %n, align 8 + %add41 = add i64 %55, %conv40 + store i64 %add41, i64* %n, align 8 + %56 = load i16*, i16** %__locale_collate_tbl, align 8 + %57 = load i64, i64* %n, align 8 + %add.ptr42 = getelementptr inbounds i16, i16* %56, i64 %57 + %58 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %overrides_offset = getelementptr inbounds %struct.winsize, %struct.winsize* %58, i32 0, i32 2 + %59 = load i16, i16* %overrides_offset, align 2 + %conv43 = zext i16 %59 to i32 + %idx.ext44 = sext i32 %conv43 to i64 + %add.ptr45 = getelementptr inbounds i16, i16* %add.ptr42, i64 %idx.ext44 + %60 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %overrides_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %60, i32 0, i32 20 + store i16* %add.ptr45, i16** %overrides_tbl, align 8 + %61 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_override = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %61, i32 0, i32 6 + %62 = load i16, i16* %num_override, align 2 + %conv46 = zext i16 %62 to i64 + %63 = load i64, i64* %n, align 8 + %add47 = add i64 %63, %conv46 + store i64 %add47, i64* %n, align 8 + %64 = load i16*, i16** %__locale_collate_tbl, align 8 + %65 = load i64, i64* %n, align 8 + %add.ptr48 = getelementptr inbounds i16, i16* %64, i64 %65 + %66 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ruletable = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %66, i32 0, i32 22 + store i16* %add.ptr48, i16** %ruletable, align 8 + %67 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_ruletable = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %67, i32 0, i32 7 + %68 = load i16, i16* %num_ruletable, align 2 + %conv49 = zext i16 %68 to i64 + %69 = load i64, i64* %n, align 8 + %add50 = add i64 %69, %conv49 + store i64 %add50, i64* %n, align 8 + %70 = load i16*, i16** %__locale_collate_tbl, align 8 + %71 = load i64, i64* %n, align 8 + %add.ptr51 = getelementptr inbounds i16, i16* %70, i64 %71 + %72 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %weightstr = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %72, i32 0, i32 21 + store i16* %add.ptr51, i16** %weightstr, align 8 + %73 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_weightstr = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %73, i32 0, i32 4 + %74 = load i16, i16* %num_weightstr, align 2 + %conv52 = zext i16 %74 to i64 + %75 = load i64, i64* %n, align 8 + %add53 = add i64 %75, %conv52 + store i64 %add53, i64* %n, align 8 + %76 = load i16*, i16** %__locale_collate_tbl, align 8 + %77 = load i64, i64* %n, align 8 + %add.ptr54 = getelementptr inbounds i16, i16* %76, i64 %77 + %78 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %wcs2colidt_offset_hi = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %78, i32 0, i32 18 + %79 = load i16, i16* %wcs2colidt_offset_hi, align 2 + %conv55 = zext i16 %79 to i64 + %shl56 = shl i64 %conv55, 16 + %add.ptr57 = getelementptr inbounds i16, i16* %add.ptr54, i64 %shl56 + %80 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %wcs2colidt_offset_low = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %80, i32 0, i32 17 + %81 = load i16, i16* %wcs2colidt_offset_low, align 2 + %conv58 = zext i16 %81 to i32 + %idx.ext59 = sext i32 %conv58 to i64 + %add.ptr60 = getelementptr inbounds i16, i16* %add.ptr57, i64 %idx.ext59 + %82 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %wcs2colidt_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %82, i32 0, i32 19 + store i16* %add.ptr60, i16** %wcs2colidt_tbl, align 8 + %83 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %MAX_WEIGHTS = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %83, i32 0, i32 2 + %84 = load i16, i16* %MAX_WEIGHTS, align 2 + %85 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %MAX_WEIGHTS61 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %85, i32 0, i32 25 + store i16 %84, i16* %MAX_WEIGHTS61, align 8 + %86 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %max_col_index = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %86, i32 0, i32 8 + %87 = load i16, i16* %max_col_index, align 8 + %conv62 = zext i16 %87 to i32 + %mul63 = mul nsw i32 2, %conv62 + %add64 = add nsw i32 %mul63, 2 + %conv65 = sext i32 %add64 to i64 + %call66 = call noalias i8* @calloc(i64 %conv65, i64 2) #19 + %88 = bitcast i8* %call66 to i16* + %89 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %89, i32 0, i32 23 + store i16* %88, i16** %index2weight, align 8 + %90 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight67 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %90, i32 0, i32 23 + %91 = load i16*, i16** %index2weight67, align 8 + %tobool68 = icmp ne i16* %91, null + br i1 %tobool68, label %if.end70, label %if.then69 + +if.then69: ; preds = %if.end + store i32 0, i32* %retval, align 4 + br label %return + +if.end70: ; preds = %if.end + %92 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight71 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %92, i32 0, i32 23 + %93 = load i16*, i16** %index2weight71, align 8 + %94 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %max_col_index72 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %94, i32 0, i32 8 + %95 = load i16, i16* %max_col_index72, align 8 + %conv73 = zext i16 %95 to i32 + %idx.ext74 = sext i32 %conv73 to i64 + %add.ptr75 = getelementptr inbounds i16, i16* %93, i64 %idx.ext74 + %add.ptr76 = getelementptr inbounds i16, i16* %add.ptr75, i64 1 + %96 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %96, i32 0, i32 24 + store i16* %add.ptr76, i16** %index2ruleidx, align 8 + %97 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight77 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %97, i32 0, i32 23 + %98 = load i16*, i16** %index2weight77, align 8 + %99 = bitcast i16* %98 to i8* + %100 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight_tbl78 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %100, i32 0, i32 16 + %101 = load i16*, i16** %index2weight_tbl78, align 8 + %102 = bitcast i16* %101 to i8* + %103 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %num_col_base = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %103, i32 0, i32 7 + %104 = load i16, i16* %num_col_base, align 2 + %conv79 = zext i16 %104 to i64 + %mul80 = mul i64 %conv79, 2 + %call81 = call i8* @memcpy(i8* %99, i8* %102, i64 %mul80) #19 + %105 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx82 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %105, i32 0, i32 24 + %106 = load i16*, i16** %index2ruleidx82, align 8 + %107 = bitcast i16* %106 to i8* + %108 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx_tbl83 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %108, i32 0, i32 17 + %109 = load i16*, i16** %index2ruleidx_tbl83, align 8 + %110 = bitcast i16* %109 to i8* + %111 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %num_col_base84 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %111, i32 0, i32 7 + %112 = load i16, i16* %num_col_base84, align 2 + %conv85 = zext i16 %112 to i64 + %mul86 = mul i64 %conv85, 2 + %call87 = call i8* @memcpy(i8* %107, i8* %110, i64 %mul86) #19 + %113 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %overrides_tbl88 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %113, i32 0, i32 20 + %114 = load i16*, i16** %overrides_tbl88, align 8 + store i16* %114, i16** %p, align 8 + br label %while.cond + +while.cond: ; preds = %do.body, %if.end70 + %115 = load i16*, i16** %p, align 8 + %116 = load i16, i16* %115, align 2 + %conv89 = zext i16 %116 to i32 + %cmp = icmp sgt i32 %conv89, 1 + br i1 %cmp, label %while.body, label %while.cond105 + +while.body: ; preds = %while.cond + %117 = load i16*, i16** %p, align 8 + %incdec.ptr = getelementptr inbounds i16, i16* %117, i32 1 + store i16* %incdec.ptr, i16** %p, align 8 + %118 = load i16, i16* %117, align 2 + %conv91 = zext i16 %118 to i64 + store i64 %conv91, i64* %n, align 8 + %119 = load i16*, i16** %p, align 8 + %incdec.ptr92 = getelementptr inbounds i16, i16* %119, i32 1 + store i16* %incdec.ptr92, i16** %p, align 8 + %120 = load i16, i16* %119, align 2 + store i16 %120, i16* %w, align 2 + br label %do.body + +do.body: ; preds = %do.body, %while.body + %121 = load i16*, i16** %p, align 8 + %incdec.ptr93 = getelementptr inbounds i16, i16* %121, i32 1 + store i16* %incdec.ptr93, i16** %p, align 8 + %122 = load i16, i16* %121, align 2 + store i16 %122, i16* %i, align 2 + %123 = load i16, i16* %w, align 2 + %inc = add i16 %123, 1 + store i16 %inc, i16* %w, align 2 + %124 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight94 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %124, i32 0, i32 23 + %125 = load i16*, i16** %index2weight94, align 8 + %126 = load i16, i16* %i, align 2 + %conv95 = zext i16 %126 to i32 + %sub96 = sub nsw i32 %conv95, 1 + %idxprom = sext i32 %sub96 to i64 + %arrayidx = getelementptr inbounds i16, i16* %125, i64 %idxprom + store i16 %123, i16* %arrayidx, align 2 + %127 = load i16*, i16** %p, align 8 + %incdec.ptr97 = getelementptr inbounds i16, i16* %127, i32 1 + store i16* %incdec.ptr97, i16** %p, align 8 + %128 = load i16, i16* %127, align 2 + %129 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx98 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %129, i32 0, i32 24 + %130 = load i16*, i16** %index2ruleidx98, align 8 + %131 = load i16, i16* %i, align 2 + %conv99 = zext i16 %131 to i32 + %sub100 = sub nsw i32 %conv99, 1 + %idxprom101 = sext i32 %sub100 to i64 + %arrayidx102 = getelementptr inbounds i16, i16* %130, i64 %idxprom101 + store i16 %128, i16* %arrayidx102, align 2 + %132 = load i64, i64* %n, align 8 + %dec103 = add i64 %132, -1 + store i64 %dec103, i64* %n, align 8 + %tobool104 = icmp ne i64 %dec103, 0 + br i1 %tobool104, label %do.body, label %while.cond + +while.cond105: ; preds = %while.cond, %while.body108 + %133 = load i16*, i16** %p, align 8 + %incdec.ptr106 = getelementptr inbounds i16, i16* %133, i32 1 + store i16* %incdec.ptr106, i16** %p, align 8 + %134 = load i16, i16* %incdec.ptr106, align 2 + %tobool107 = icmp ne i16 %134, 0 + br i1 %tobool107, label %while.body108, label %while.end121 + +while.body108: ; preds = %while.cond105 + %135 = load i16*, i16** %p, align 8 + %136 = load i16, i16* %135, align 2 + store i16 %136, i16* %i, align 2 + %137 = load i16*, i16** %p, align 8 + %incdec.ptr109 = getelementptr inbounds i16, i16* %137, i32 1 + store i16* %incdec.ptr109, i16** %p, align 8 + %138 = load i16, i16* %incdec.ptr109, align 2 + %139 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight110 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %139, i32 0, i32 23 + %140 = load i16*, i16** %index2weight110, align 8 + %141 = load i16, i16* %i, align 2 + %conv111 = zext i16 %141 to i32 + %sub112 = sub nsw i32 %conv111, 1 + %idxprom113 = sext i32 %sub112 to i64 + %arrayidx114 = getelementptr inbounds i16, i16* %140, i64 %idxprom113 + store i16 %138, i16* %arrayidx114, align 2 + %142 = load i16*, i16** %p, align 8 + %incdec.ptr115 = getelementptr inbounds i16, i16* %142, i32 1 + store i16* %incdec.ptr115, i16** %p, align 8 + %143 = load i16, i16* %incdec.ptr115, align 2 + %144 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx116 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %144, i32 0, i32 24 + %145 = load i16*, i16** %index2ruleidx116, align 8 + %146 = load i16, i16* %i, align 2 + %conv117 = zext i16 %146 to i32 + %sub118 = sub nsw i32 %conv117, 1 + %idxprom119 = sext i32 %sub118 to i64 + %arrayidx120 = getelementptr inbounds i16, i16* %145, i64 %idxprom119 + store i16 %143, i16* %arrayidx120, align 2 + br label %while.cond105 + +while.end121: ; preds = %while.cond105 + store i16 0, i16* %i, align 2 + br label %for.cond + +for.cond: ; preds = %for.inc, %while.end121 + %147 = load i16, i16* %i, align 2 + %conv122 = zext i16 %147 to i32 + %148 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %multistart_tbl123 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %148, i32 0, i32 18 + %149 = load i16*, i16** %multistart_tbl123, align 8 + %arrayidx124 = getelementptr inbounds i16, i16* %149, i64 0 + %150 = load i16, i16* %arrayidx124, align 2 + %conv125 = zext i16 %150 to i32 + %cmp126 = icmp slt i32 %conv122, %conv125 + br i1 %cmp126, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %151 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %multistart_tbl128 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %151, i32 0, i32 18 + %152 = load i16*, i16** %multistart_tbl128, align 8 + store i16* %152, i16** %p, align 8 + %153 = load i16*, i16** %p, align 8 + %154 = load i16, i16* %i, align 2 + %idxprom129 = zext i16 %154 to i64 + %arrayidx130 = getelementptr inbounds i16, i16* %153, i64 %idxprom129 + %155 = load i16, i16* %arrayidx130, align 2 + %conv131 = zext i16 %155 to i32 + %156 = load i16*, i16** %p, align 8 + %idx.ext132 = sext i32 %conv131 to i64 + %add.ptr133 = getelementptr inbounds i16, i16* %156, i64 %idx.ext132 + store i16* %add.ptr133, i16** %p, align 8 + br label %do.body134 + +do.body134: ; preds = %do.body141, %for.body + %157 = load i16*, i16** %p, align 8 + %incdec.ptr135 = getelementptr inbounds i16, i16* %157, i32 1 + store i16* %incdec.ptr135, i16** %p, align 8 + %158 = load i16, i16* %157, align 2 + %conv136 = zext i16 %158 to i64 + store i64 %conv136, i64* %n, align 8 + %159 = load i16*, i16** %p, align 8 + %160 = load i16, i16* %159, align 2 + %tobool138 = icmp ne i16 %160, 0 + br i1 %tobool138, label %do.body141, label %for.inc + +do.body141: ; preds = %do.body134, %do.body141 + %161 = load i16*, i16** %p, align 8 + %incdec.ptr143 = getelementptr inbounds i16, i16* %161, i32 1 + store i16* %incdec.ptr143, i16** %p, align 8 + %162 = load i16, i16* %161, align 2 + %tobool144 = icmp ne i16 %162, 0 + br i1 %tobool144, label %do.body141, label %do.body134 + +for.inc: ; preds = %do.body134 + %163 = load i16, i16* %i, align 2 + %inc150 = add i16 %163, 1 + store i16 %inc150, i16* %i, align 2 + br label %for.cond + +for.end: ; preds = %for.cond + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %for.end, %if.then69, %if.then + %164 = load i32, i32* %retval, align 4 + ret i32 %164 +} + +; Function Attrs: nounwind +declare void @free(i8*) #2 + +; Function Attrs: nounwind +declare noalias i8* @calloc(i64, i64) #2 + +; Function Attrs: noinline nounwind uwtable +define hidden void @_locale_init_l(%struct.__uclibc_locale_struct.201* %base) #0 { +entry: + %base.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + store %struct.__uclibc_locale_struct.201* %base, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 6 + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + %call = call i8* @memset(i8* %arraydecay, i32 0, i64 14) #19 + %1 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale1 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %1, i32 0, i32 6 + %arrayidx = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale1, i64 0, i64 0 + store i8 35, i8* %arrayidx, align 8 + %2 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_item_count = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %2, i32 0, i32 8 + %arraydecay2 = getelementptr inbounds [6 x i8], [6 x i8]* %category_item_count, i64 0, i64 0 + %3 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_common_item_offsets_LEN = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %3, i32 0, i32 29 + %arraydecay3 = getelementptr inbounds [6 x i8], [6 x i8]* %lc_common_item_offsets_LEN, i64 0, i64 0 + %call4 = call i8* @memcpy(i8* %arraydecay2, i8* %arraydecay3, i64 6) #19 + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_item_count5 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %4, i32 0, i32 8 + %arrayidx6 = getelementptr inbounds [6 x i8], [6 x i8]* %category_item_count5, i64 0, i64 0 + %5 = load i8, i8* %arrayidx6, align 2 + %inc = add i8 %5, 1 + store i8 %inc, i8* %arrayidx6, align 2 + %6 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %6, i32 0, i32 7 + %arrayidx7 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets, i64 0, i64 0 + store i16 2488, i16* %arrayidx7, align 2 + %7 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets8 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %7, i32 0, i32 7 + %arrayidx9 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets8, i64 0, i64 1 + store i16 2576, i16* %arrayidx9, align 2 + %8 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets10 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %8, i32 0, i32 7 + %arrayidx11 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets10, i64 0, i64 2 + store i16 2600, i16* %arrayidx11, align 2 + %9 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets12 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %9, i32 0, i32 7 + %arrayidx13 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets12, i64 0, i64 3 + store i16 2776, i16* %arrayidx13, align 2 + %10 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets14 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %10, i32 0, i32 7 + %arrayidx15 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets14, i64 0, i64 5 + store i16 3176, i16* %arrayidx15, align 2 + %11 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8ctype = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %11, i32 0, i32 0 + %12 = bitcast [420 x i8]* %tbl8ctype to i8* + %13 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8ctype16 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %13, i32 0, i32 13 + store i8* %12, i8** %tbl8ctype16, align 8 + %14 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8uplow = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %14, i32 0, i32 1 + %15 = bitcast [504 x i8]* %tbl8uplow to i8* + %16 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8uplow17 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %16, i32 0, i32 15 + store i8* %15, i8** %tbl8uplow17, align 8 + %17 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8c2wc = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %17, i32 0, i32 2 + %18 = bitcast [1760 x i16]* %tbl8c2wc to i16* + %19 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8c2wc18 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %19, i32 0, i32 17 + store i16* %18, i16** %tbl8c2wc18, align 8 + %20 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8wc2c = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %20, i32 0, i32 3 + %21 = bitcast [4528 x i8]* %tbl8wc2c to i8* + %22 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8wc2c19 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %22, i32 0, i32 19 + store i8* %21, i8** %tbl8wc2c19, align 8 + %23 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tblwctype = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %23, i32 0, i32 4 + %24 = bitcast [3604 x i8]* %tblwctype to i8* + %25 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tblwctype20 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %25, i32 0, i32 21 + store i8* %24, i8** %tblwctype20, align 8 + %26 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tblwuplow = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %26, i32 0, i32 5 + %27 = bitcast [1680 x i8]* %tblwuplow to i8* + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tblwuplow21 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %28, i32 0, i32 22 + store i8* %27, i8** %tblwuplow21, align 8 + %29 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tblwuplow_diff = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %29, i32 0, i32 6 + %30 = bitcast [196 x i16]* %tblwuplow_diff to i16* + %31 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tblwuplow_diff22 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %31, i32 0, i32 23 + store i16* %30, i16** %tblwuplow_diff22, align 8 + %32 = load i16*, i16** @__C_ctype_b, align 8 + %33 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %33, i32 0, i32 0 + store i16* %32, i16** %__ctype_b, align 8 + %34 = load i16*, i16** @__C_ctype_tolower, align 8 + %35 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %35, i32 0, i32 1 + store i16* %34, i16** %__ctype_tolower, align 8 + %36 = load i16*, i16** @__C_ctype_toupper, align 8 + %37 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %37, i32 0, i32 2 + store i16* %36, i16** %__ctype_toupper, align 8 + %38 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %code2flag = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %38, i32 0, i32 20 + store i16* getelementptr inbounds ([16 x i16], [16 x i16]* @__code2flag, i64 0, i64 0), i16** %code2flag, align 8 + %39 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call23 = call i32 @_locale_set_l(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.76, i64 0, i64 0), %struct.__uclibc_locale_struct.201* %39) #18 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_locale_init() #0 { +entry: + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__global_locale, align 8 + call void @_locale_init_l(%struct.__uclibc_locale_struct.201* %0) #18 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @sigblock(i32 %mask) #0 { +entry: + %retval = alloca i32, align 4 + %mask.addr = alloca i32, align 4 + %set = alloca %struct.fd_set, align 8 + %oset = alloca %struct.fd_set, align 8 + store i32 %mask, i32* %mask.addr, align 4 + %0 = load i32, i32* %mask.addr, align 4 + %call = call i32 @sigset_set_old_mask(%struct.fd_set* %set, i32 %0) #18 + %cmp = icmp slt i32 %call, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %call1 = call i32 @sigprocmask(i32 0, %struct.fd_set* %set, %struct.fd_set* %oset) #19 + %cmp2 = icmp slt i32 %call1, 0 + br i1 %cmp2, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.end + store i32 -1, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %if.end + %call5 = call i32 @sigset_get_old_mask(%struct.fd_set* %oset) #18 + store i32 %call5, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %1 = load i32, i32* %retval, align 4 + ret i32 %1 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @sigset_set_old_mask(%struct.fd_set* %set, i32 %mask) #0 { +entry: + %set.addr = alloca %struct.fd_set*, align 8 + %mask.addr = alloca i32, align 4 + %ptr = alloca i64*, align 8 + %cnt = alloca i32, align 4 + store %struct.fd_set* %set, %struct.fd_set** %set.addr, align 8 + store i32 %mask, i32* %mask.addr, align 4 + %0 = load %struct.fd_set*, %struct.fd_set** %set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %0, i32 0, i32 0 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 0 + store i64* %arrayidx, i64** %ptr, align 8 + %1 = load i32, i32* %mask.addr, align 4 + %conv = zext i32 %1 to i64 + %2 = load i64*, i64** %ptr, align 8 + %incdec.ptr = getelementptr inbounds i64, i64* %2, i32 1 + store i64* %incdec.ptr, i64** %ptr, align 8 + store i64 %conv, i64* %2, align 8 + store i32 14, i32* %cnt, align 4 + br label %do.body + +do.body: ; preds = %do.body, %entry + %3 = load i64*, i64** %ptr, align 8 + %incdec.ptr1 = getelementptr inbounds i64, i64* %3, i32 1 + store i64* %incdec.ptr1, i64** %ptr, align 8 + store i64 0, i64* %3, align 8 + %4 = load i32, i32* %cnt, align 4 + %dec = add nsw i32 %4, -1 + store i32 %dec, i32* %cnt, align 4 + %cmp = icmp sge i32 %dec, 0 + br i1 %cmp, label %do.body, label %do.end + +do.end: ; preds = %do.body + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @sigset_get_old_mask(%struct.fd_set* %set) #0 { +entry: + %set.addr = alloca %struct.fd_set*, align 8 + store %struct.fd_set* %set, %struct.fd_set** %set.addr, align 8 + %0 = load %struct.fd_set*, %struct.fd_set** %set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %0, i32 0, i32 0 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 0 + %1 = load i64, i64* %arrayidx, align 8 + %conv = trunc i64 %1 to i32 + ret i32 %conv +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_stdio_term() #0 { +entry: + %ptr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %0, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %1, null + br i1 %tobool, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 0 + %3 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %3 to i32 + %and = and i32 %conv, 64 + %tobool1 = icmp ne i32 %and, 0 + br i1 %tobool1, label %if.then, label %for.inc + +if.then: ; preds = %for.body + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %call = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %4) #18 + br label %for.inc + +for.inc: ; preds = %for.body, %if.then + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 9 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %6, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_stdio_init() #0 { +entry: + %old_errno = alloca i32, align 4 + %0 = load i32, i32* @errno, align 4 + store i32 %0, i32* %old_errno, align 4 + %call = call i32 @isatty(i32 0) #19 + %sub = sub nsw i32 1, %call + %mul = mul i32 %sub, 256 + %1 = load i16, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 0, i32 0), align 16 + %conv = zext i16 %1 to i32 + %xor = xor i32 %conv, %mul + %conv1 = trunc i32 %xor to i16 + store i16 %conv1, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 0, i32 0), align 16 + %call2 = call i32 @isatty(i32 1) #19 + %sub3 = sub nsw i32 1, %call2 + %mul4 = mul i32 %sub3, 256 + %2 = load i16, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 1, i32 0), align 8 + %conv5 = zext i16 %2 to i32 + %xor6 = xor i32 %conv5, %mul4 + %conv7 = trunc i32 %xor6 to i16 + store i16 %conv7, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 1, i32 0), align 8 + %3 = load i32, i32* %old_errno, align 4 + store i32 %3, i32* @errno, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getchar_unlocked() #0 { +entry: + %stream = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdin, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %0, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %1, i32 0, i32 5 + %2 = load i8*, i8** %__bufpos, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 7 + %4 = load i8*, i8** %__bufgetc_u, align 8 + %cmp = icmp ult i8* %2, %4 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %entry + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 5 + %6 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + %7 = load i8, i8* %6, align 1 + %conv = zext i8 %7 to i32 + br label %cond.end + +cond.false: ; preds = %entry + %call = call i32 @__fgetc_unlocked(%struct.__STDIO_FILE_STRUCT.568* %5) #18 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ %conv, %cond.true ], [ %call, %cond.false ] + ret i32 %cond +} + +; Function Attrs: noinline noreturn nounwind uwtable +declare void @abort() #1 + +; Function Attrs: noreturn +declare void @_exit(i32) #13 + +; Function Attrs: noinline noreturn nounwind uwtable +define void @exit(i32 %rv) #1 { +entry: + %rv.addr = alloca i32, align 4 + store i32 %rv, i32* %rv.addr, align 4 + %0 = load void (i32)*, void (i32)** @__exit_cleanup, align 8 + %tobool = icmp ne void (i32)* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load void (i32)*, void (i32)** @__exit_cleanup, align 8 + %2 = load i32, i32* %rv.addr, align 4 + call void %1(i32 %2) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + call void @__uClibc_fini() #18 + call void @_stdio_term() #18 + %3 = load i32, i32* %rv.addr, align 4 + call void @_exit(i32 %3) #27 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define i8* @memcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r1 = alloca i8*, align 8 + %r2 = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %r1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %r2, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %2 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load i8*, i8** %r2, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %r2, align 8 + %4 = load i8, i8* %3, align 1 + %5 = load i8*, i8** %r1, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr1, i8** %r1, align 8 + store i8 %4, i8* %5, align 1 + %6 = load i64, i64* %n.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %7 = load i8*, i8** %s1.addr, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @memset(i8* nonnull %s, i32 %c, i64 %n) #0 { +entry: + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %n.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %1 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %2 = load i32, i32* %c.addr, align 4 + %conv = trunc i32 %2 to i8 + %3 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + store i8 %conv, i8* %3, align 1 + %4 = load i64, i64* %n.addr, align 8 + %dec = add i64 %4, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %5 = load i8*, i8** %s.addr, align 8 + ret i8* %5 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @strrchr(i8* nonnull %s, i32 %c) #14 { +entry: + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i8* null, i8** %p, align 8 + br label %do.body + +do.body: ; preds = %do.cond, %entry + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %2 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %2 to i8 + %conv2 = sext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + br i1 %cmp, label %if.then, label %do.cond + +if.then: ; preds = %do.body + %3 = load i8*, i8** %s.addr, align 8 + store i8* %3, i8** %p, align 8 + br label %do.cond + +do.cond: ; preds = %do.body, %if.then + %4 = load i8*, i8** %s.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr, i8** %s.addr, align 8 + %5 = load i8, i8* %4, align 1 + %tobool = icmp ne i8 %5, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %6 = load i8*, i8** %p, align 8 + ret i8* %6 +} + +; Function Attrs: noinline noreturn nounwind uwtable +define dso_local void @usage(i32 %status) #6 { +entry: + %status.addr = alloca i32, align 4 + store i32 %status, i32* %status.addr, align 4 + %0 = load i32, i32* %status.addr, align 4 + %cmp = icmp ne i32 %0, 0 + br i1 %cmp, label %do.body, label %if.else + +do.body: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stderr to %struct._IO_FILE**), align 8 + %2 = load i8*, i8** @program_name, align 8 + %call = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %1, i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.95, i64 0, i64 0), i8* %2) + br label %if.end + +if.else: ; preds = %entry + %3 = load i8*, i8** @program_name, align 8 + %call1 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.1.96, i64 0, i64 0), i8* %3) + %4 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call2 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([119 x i8], [119 x i8]* @.str.2.97, i64 0, i64 0), %struct._IO_FILE* %4) + call void @emit_stdin_note() + call void @emit_mandatory_arg_note() + %5 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call3 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([144 x i8], [144 x i8]* @.str.3.98, i64 0, i64 0), %struct._IO_FILE* %5) + %6 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call4 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.4.99, i64 0, i64 0), %struct._IO_FILE* %6) + %7 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call5 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.5.100, i64 0, i64 0), %struct._IO_FILE* %7) + %8 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call6 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.6.101, i64 0, i64 0), %struct._IO_FILE* %8) + call void @emit_ancillary_info(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.7.102, i64 0, i64 0)) + br label %if.end + +if.end: ; preds = %if.else, %do.body + %9 = load i32, i32* %status.addr, align 4 + call void @exit(i32 %9) #26 + unreachable +} + +declare dso_local i32 @printf(i8*, ...) #5 + +; Function Attrs: noinline nounwind uwtable +define internal void @emit_stdin_note() #3 { +entry: + %0 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.17.122, i64 0, i64 0), %struct._IO_FILE* %0) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @emit_mandatory_arg_note() #3 { +entry: + %0 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([75 x i8], [75 x i8]* @.str.18.121, i64 0, i64 0), %struct._IO_FILE* %0) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @emit_ancillary_info(i8* %program) #3 { +entry: + %program.addr = alloca i8*, align 8 + %infomap = alloca [7 x %struct.infomap], align 16 + %node = alloca i8*, align 8 + %map_prog = alloca %struct.infomap*, align 8 + %lc_messages = alloca i8*, align 8 + store i8* %program, i8** %program.addr, align 8 + %0 = bitcast [7 x %struct.infomap]* %infomap to i8* + %1 = call i8* @memcpy(i8* %0, i8* bitcast ([7 x %struct.infomap]* @__const.emit_ancillary_info.infomap to i8*), i64 112) + %2 = load i8*, i8** %program.addr, align 8 + store i8* %2, i8** %node, align 8 + %arraydecay = getelementptr inbounds [7 x %struct.infomap], [7 x %struct.infomap]* %infomap, i64 0, i64 0 + store %struct.infomap* %arraydecay, %struct.infomap** %map_prog, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %3 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + %program1 = getelementptr inbounds %struct.infomap, %struct.infomap* %3, i32 0, i32 0 + %4 = load i8*, i8** %program1, align 8 + %tobool = icmp ne i8* %4, null + br i1 %tobool, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %5 = load i8*, i8** %program.addr, align 8 + %6 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + %program2 = getelementptr inbounds %struct.infomap, %struct.infomap* %6, i32 0, i32 0 + %7 = load i8*, i8** %program2, align 8 + %call = call i32 @strcmp(i8* %5, i8* %7) #23 + %cmp = icmp eq i32 %call, 0 + %lnot = xor i1 %cmp, true + br label %land.end + +land.end: ; preds = %land.rhs, %while.cond + %8 = phi i1 [ false, %while.cond ], [ %lnot, %land.rhs ] + %9 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + br i1 %8, label %while.body, label %while.end + +while.body: ; preds = %land.end + %incdec.ptr = getelementptr inbounds %struct.infomap, %struct.infomap* %9, i32 1 + store %struct.infomap* %incdec.ptr, %struct.infomap** %map_prog, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %node3 = getelementptr inbounds %struct.infomap, %struct.infomap* %9, i32 0, i32 1 + %10 = load i8*, i8** %node3, align 8 + %tobool4 = icmp ne i8* %10, null + br i1 %tobool4, label %if.then, label %if.end + +if.then: ; preds = %while.end + %11 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + %node5 = getelementptr inbounds %struct.infomap, %struct.infomap* %11, i32 0, i32 1 + %12 = load i8*, i8** %node5, align 8 + store i8* %12, i8** %node, align 8 + br label %if.end + +if.end: ; preds = %if.then, %while.end + %call6 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.28.103, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.12.104, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.29.105, i64 0, i64 0)) + %call7 = call i8* @setlocale(i32 5, i8* null) #11 + store i8* %call7, i8** %lc_messages, align 8 + %13 = load i8*, i8** %lc_messages, align 8 + %tobool8 = icmp ne i8* %13, null + br i1 %tobool8, label %land.lhs.true, label %if.end13 + +land.lhs.true: ; preds = %if.end + %14 = load i8*, i8** %lc_messages, align 8 + %call9 = call i32 @strncmp(i8* %14, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.30.106, i64 0, i64 0), i64 3) #23 + %tobool10 = icmp ne i32 %call9, 0 + br i1 %tobool10, label %if.then11, label %if.end13 + +if.then11: ; preds = %land.lhs.true + %15 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call12 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.31.107, i64 0, i64 0), %struct._IO_FILE* %15) + br label %if.end13 + +if.end13: ; preds = %if.then11, %land.lhs.true, %if.end + %16 = load i8*, i8** %program.addr, align 8 + %call14 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.32.108, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.29.105, i64 0, i64 0), i8* %16) + %17 = load i8*, i8** %node, align 8 + %18 = load i8*, i8** %node, align 8 + %19 = load i8*, i8** %program.addr, align 8 + %cmp15 = icmp eq i8* %18, %19 + %20 = zext i1 %cmp15 to i64 + %cond = select i1 %cmp15, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.34.109, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.9.110, i64 0, i64 0) + %call16 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([51 x i8], [51 x i8]* @.str.33.111, i64 0, i64 0), i8* %17, i8* %cond) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__klee_posix_wrapped_main(i32 %argc, i8** %argv) #3 { +entry: + %retval = alloca i32, align 4 + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optc = alloca i32, align 4 + %delim_arg = alloca i8*, align 8 + %nfiles = alloca i32, align 4 + %ok = alloca i8, align 1 + store i32 0, i32* %retval, align 4 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.8.125, i64 0, i64 0), i8** %delim_arg, align 8 + %0 = load i8**, i8*** %argv.addr, align 8 + %arrayidx = getelementptr inbounds i8*, i8** %0, i64 0 + %1 = load i8*, i8** %arrayidx, align 8 + call void @set_program_name(i8* %1) + %call = call i8* @setlocale(i32 6, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.9.110, i64 0, i64 0)) #11 + %call1 = call i32 @atexit(void ()* @close_stdout) #11 + store i8 0, i8* @have_read_stdin, align 1 + store i8 0, i8* @serial_merge, align 1 + br label %while.cond + +while.cond: ; preds = %sw.epilog, %entry + %2 = load i32, i32* %argc.addr, align 4 + %3 = load i8**, i8*** %argv.addr, align 8 + %call2 = call i32 @getopt_long(i32 %2, i8** %3, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.10.126, i64 0, i64 0), %struct.option* getelementptr inbounds ([6 x %struct.option], [6 x %struct.option]* @longopts, i64 0, i64 0), i32* null) #11 + store i32 %call2, i32* %optc, align 4 + %cmp = icmp ne i32 %call2, -1 + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i32, i32* %optc, align 4 + br label %NodeBlock7 + +NodeBlock7: ; preds = %while.body + %case.cmp8 = icmp eq i32 %4, 100 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %4, 115 + br i1 %case.cmp6, label %sw.bb6, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %4, 122 + br i1 %case.cmp4, label %sw.bb7, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %4, -130 + br i1 %case.cmp2, label %sw.bb8, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %4, -131 + br i1 %case.cmp, label %sw.bb9, label %newDefault + +sw.bb: ; preds = %NodeBlock7 + %5 = load i8*, i8** @optarg, align 8 + %arrayidx3 = getelementptr inbounds i8, i8* %5, i64 0 + %6 = load i8, i8* %arrayidx3, align 1 + %conv = sext i8 %6 to i32 + %cmp4 = icmp eq i32 %conv, 0 + %7 = load i8*, i8** @optarg, align 8 + %cond = select i1 %cmp4, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.11.127, i64 0, i64 0), i8* %7 + store i8* %cond, i8** %delim_arg, align 8 + br label %sw.epilog + +sw.bb6: ; preds = %NodeBlock5 + store i8 1, i8* @serial_merge, align 1 + br label %sw.epilog + +sw.bb7: ; preds = %NodeBlock3 + store i8 0, i8* @line_delim, align 1 + br label %sw.epilog + +sw.bb8: ; preds = %NodeBlock1 + call void @usage(i32 0) #24 + unreachable + +sw.bb9: ; preds = %NodeBlock + %8 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %9 = load i8*, i8** @Version, align 8 + call void (%struct._IO_FILE*, i8*, i8*, i8*, ...) @version_etc(%struct._IO_FILE* %8, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.7.102, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.12.104, i64 0, i64 0), i8* %9, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.13.128, i64 0, i64 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.14.129, i64 0, i64 0), i8* null) + call void @exit(i32 0) #26 + unreachable + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @usage(i32 1) #24 + unreachable + +sw.epilog: ; preds = %sw.bb7, %sw.bb6, %sw.bb + br label %while.cond + +while.end: ; preds = %while.cond + %10 = load i32, i32* %argc.addr, align 4 + %11 = load i32, i32* @optind, align 4 + %sub = sub nsw i32 %10, %11 + store i32 %sub, i32* %nfiles, align 4 + %12 = load i32, i32* %nfiles, align 4 + %cmp10 = icmp eq i32 %12, 0 + br i1 %cmp10, label %if.then, label %if.end + +if.then: ; preds = %while.end + %call12 = call i8* @bad_cast(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.15.130, i64 0, i64 0)) + %13 = load i8**, i8*** %argv.addr, align 8 + %14 = load i32, i32* @optind, align 4 + %idxprom = sext i32 %14 to i64 + %arrayidx13 = getelementptr inbounds i8*, i8** %13, i64 %idxprom + store i8* %call12, i8** %arrayidx13, align 8 + %15 = load i32, i32* %nfiles, align 4 + %inc = add nsw i32 %15, 1 + store i32 %inc, i32* %nfiles, align 4 + br label %if.end + +if.end: ; preds = %if.then, %while.end + %16 = load i8*, i8** %delim_arg, align 8 + %call14 = call i32 @collapse_escapes(i8* %16) + %tobool = icmp ne i32 %call14, 0 + br i1 %tobool, label %if.then15, label %if.end17 + +if.then15: ; preds = %if.end + %17 = load i8*, i8** %delim_arg, align 8 + %call16 = call i8* @quotearg_n_style_colon(i32 0, i32 6, i8* %17) + call void (i32, i32, i8*, ...) @error(i32 1, i32 0, i8* getelementptr inbounds ([52 x i8], [52 x i8]* @.str.16.131, i64 0, i64 0), i8* %call16) + unreachable + +if.end17: ; preds = %if.end + %18 = load i8, i8* @serial_merge, align 1 + %tobool18 = trunc i8 %18 to i1 + %19 = zext i1 %tobool18 to i64 + %cond20 = select i1 %tobool18, i1 (i64, i8**)* @paste_serial, i1 (i64, i8**)* @paste_parallel + %20 = load i32, i32* %nfiles, align 4 + %conv21 = sext i32 %20 to i64 + %21 = load i8**, i8*** %argv.addr, align 8 + %22 = load i32, i32* @optind, align 4 + %idxprom22 = sext i32 %22 to i64 + %arrayidx23 = getelementptr inbounds i8*, i8** %21, i64 %idxprom22 + %call24 = call zeroext i1 %cond20(i64 %conv21, i8** %arrayidx23) + %frombool = zext i1 %call24 to i8 + store i8 %frombool, i8* %ok, align 1 + %23 = load i8*, i8** @delims, align 8 + call void @free(i8* %23) #11 + %24 = load i8, i8* @have_read_stdin, align 1 + %tobool25 = trunc i8 %24 to i1 + br i1 %tobool25, label %land.lhs.true, label %if.end32 + +land.lhs.true: ; preds = %if.end17 + %25 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdin to %struct._IO_FILE**), align 8 + %call27 = call i32 @rpl_fclose(%struct._IO_FILE* %25) + %cmp28 = icmp eq i32 %call27, -1 + br i1 %cmp28, label %if.then30, label %if.end32 + +if.then30: ; preds = %land.lhs.true + %call31 = call i32* @__errno_location() #25 + %26 = load i32, i32* %call31, align 4 + call void (i32, i32, i8*, ...) @error(i32 1, i32 %26, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.15.130, i64 0, i64 0)) + unreachable + +if.end32: ; preds = %land.lhs.true, %if.end17 + %27 = load i8, i8* %ok, align 1 + %tobool33 = trunc i8 %27 to i1 + %28 = zext i1 %tobool33 to i64 + %cond35 = select i1 %tobool33, i32 0, i32 1 + ret i32 %cond35 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_program_name(i8* %argv0) #3 { +entry: + %argv0.addr = alloca i8*, align 8 + %slash = alloca i8*, align 8 + %base = alloca i8*, align 8 + store i8* %argv0, i8** %argv0.addr, align 8 + %0 = load i8*, i8** %argv0.addr, align 8 + %cmp = icmp eq i8* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stderr to %struct._IO_FILE**), align 8 + %call = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.58, i64 0, i64 0), %struct._IO_FILE* %1) + call void @abort() #26 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %argv0.addr, align 8 + %call1 = call i8* @strrchr(i8* %2, i32 47) #23 + store i8* %call1, i8** %slash, align 8 + %3 = load i8*, i8** %slash, align 8 + %cmp2 = icmp ne i8* %3, null + %4 = load i8*, i8** %slash, align 8 + %add.ptr = getelementptr inbounds i8, i8* %4, i64 1 + %5 = load i8*, i8** %argv0.addr, align 8 + %cond = select i1 %cmp2, i8* %add.ptr, i8* %5 + store i8* %cond, i8** %base, align 8 + %6 = load i8*, i8** %base, align 8 + %7 = load i8*, i8** %argv0.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %6 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %cmp3 = icmp sge i64 %sub.ptr.sub, 7 + br i1 %cmp3, label %land.lhs.true, label %if.end13 + +land.lhs.true: ; preds = %if.end + %8 = load i8*, i8** %base, align 8 + %add.ptr4 = getelementptr inbounds i8, i8* %8, i64 -7 + %call5 = call i32 @strncmp(i8* %add.ptr4, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1.59, i64 0, i64 0), i64 7) #23 + %cmp6 = icmp eq i32 %call5, 0 + br i1 %cmp6, label %if.then7, label %if.end13 + +if.then7: ; preds = %land.lhs.true + %9 = load i8*, i8** %base, align 8 + store i8* %9, i8** %argv0.addr, align 8 + %10 = load i8*, i8** %base, align 8 + %call8 = call i32 @strncmp(i8* %10, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2.60, i64 0, i64 0), i64 3) #23 + %cmp9 = icmp eq i32 %call8, 0 + br i1 %cmp9, label %if.then10, label %if.end13 + +if.then10: ; preds = %if.then7 + %11 = load i8*, i8** %base, align 8 + %add.ptr11 = getelementptr inbounds i8, i8* %11, i64 3 + store i8* %add.ptr11, i8** %argv0.addr, align 8 + %12 = load i8*, i8** %argv0.addr, align 8 + store i8* %12, i8** @program_invocation_short_name, align 8 + br label %if.end13 + +if.end13: ; preds = %if.then7, %if.then10, %land.lhs.true, %if.end + %13 = load i8*, i8** %argv0.addr, align 8 + store i8* %13, i8** @program_name, align 8 + %14 = load i8*, i8** %argv0.addr, align 8 + store i8* %14, i8** @program_invocation_name, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @close_stdout() #3 { +entry: + %write_error = alloca i8*, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call = call i32 @close_stream(%struct._IO_FILE* %0) + %cmp = icmp ne i32 %call, 0 + br i1 %cmp, label %land.lhs.true, label %if.end9 + +land.lhs.true: ; preds = %entry + %1 = load i8, i8* @ignore_EPIPE, align 1 + %tobool = trunc i8 %1 to i1 + br i1 %tobool, label %land.lhs.true1, label %if.then + +land.lhs.true1: ; preds = %land.lhs.true + %call2 = call i32* @__errno_location() #25 + %2 = load i32, i32* %call2, align 4 + %cmp3 = icmp eq i32 %2, 32 + br i1 %cmp3, label %if.end9, label %if.then + +if.then: ; preds = %land.lhs.true1, %land.lhs.true + store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.47, i64 0, i64 0), i8** %write_error, align 8 + %3 = load i8*, i8** @file_name, align 8 + %tobool4 = icmp ne i8* %3, null + %call6 = call i32* @__errno_location() #25 + %4 = load i32, i32* %call6, align 4 + br i1 %tobool4, label %if.then5, label %if.else + +if.then5: ; preds = %if.then + %5 = load i8*, i8** @file_name, align 8 + %call7 = call i8* @quotearg_colon(i8* %5) + %6 = load i8*, i8** %write_error, align 8 + call void (i32, i32, i8*, ...) @error(i32 0, i32 %4, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.48, i64 0, i64 0), i8* %call7, i8* %6) + br label %if.end + +if.else: ; preds = %if.then + %7 = load i8*, i8** %write_error, align 8 + call void (i32, i32, i8*, ...) @error(i32 0, i32 %4, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2.49, i64 0, i64 0), i8* %7) + br label %if.end + +if.end: ; preds = %if.else, %if.then5 + %8 = load volatile i32, i32* @exit_failure, align 4 + call void @_exit(i32 %8) #24 + unreachable + +if.end9: ; preds = %land.lhs.true1, %entry + %9 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stderr to %struct._IO_FILE**), align 8 + %call10 = call i32 @close_stream(%struct._IO_FILE* %9) + %cmp11 = icmp ne i32 %call10, 0 + br i1 %cmp11, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.end9 + %10 = load volatile i32, i32* @exit_failure, align 4 + call void @_exit(i32 %10) #24 + unreachable + +if.end13: ; preds = %if.end9 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, ...) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors = alloca [1 x %struct.__va_list_tag.0], align 16 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %authors, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %1 = load i8*, i8** %command_name.addr, align 8 + %2 = load i8*, i8** %package.addr, align 8 + %3 = load i8*, i8** %version.addr, align 8 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %authors, i64 0, i64 0 + call void @version_etc_va(%struct._IO_FILE* %0, i8* %1, i8* %2, i8* %3, %struct.__va_list_tag.0* %arraydecay2) + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %authors, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @bad_cast(i8* %s) #3 { +entry: + %s.addr = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + ret i8* %0 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @collapse_escapes(i8* %strptr) #3 { +entry: + %strptr.addr = alloca i8*, align 8 + %strout = alloca i8*, align 8 + %backslash_at_end = alloca i8, align 1 + store i8* %strptr, i8** %strptr.addr, align 8 + %0 = load i8*, i8** %strptr.addr, align 8 + %call = call noalias i8* @xstrdup(i8* %0) + store i8* %call, i8** %strout, align 8 + store i8 0, i8* %backslash_at_end, align 1 + %1 = load i8*, i8** %strout, align 8 + store i8* %1, i8** @delims, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %2 = load i8*, i8** %strptr.addr, align 8 + %3 = load i8, i8* %2, align 1 + %tobool = icmp ne i8 %3, 0 + br i1 %tobool, label %while.body, label %done + +while.body: ; preds = %while.cond + %4 = load i8*, i8** %strptr.addr, align 8 + %5 = load i8, i8* %4, align 1 + %conv = sext i8 %5 to i32 + %cmp = icmp ne i32 %conv, 92 + %6 = load i8*, i8** %strptr.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %strptr.addr, align 8 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %while.body + %7 = load i8, i8* %6, align 1 + %8 = load i8*, i8** %strout, align 8 + %incdec.ptr2 = getelementptr inbounds i8, i8* %8, i32 1 + store i8* %incdec.ptr2, i8** %strout, align 8 + store i8 %7, i8* %8, align 1 + br label %if.end + +if.else: ; preds = %while.body + %9 = load i8, i8* %incdec.ptr, align 1 + %conv4 = sext i8 %9 to i32 + br label %NodeBlock15 + +NodeBlock15: ; preds = %if.else + %case.cmp16 = icmp eq i32 %conv4, 48 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %conv4, 98 + br i1 %case.cmp14, label %sw.bb6, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %conv4, 102 + br i1 %case.cmp12, label %sw.bb8, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %conv4, 110 + br i1 %case.cmp10, label %sw.bb10, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %conv4, 114 + br i1 %case.cmp8, label %sw.bb12, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %conv4, 116 + br i1 %case.cmp6, label %sw.bb14, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %conv4, 118 + br i1 %case.cmp4, label %sw.bb16, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %conv4, 92 + br i1 %case.cmp2, label %sw.bb18, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %conv4, 0 + br i1 %case.cmp, label %sw.bb20, label %newDefault + +sw.bb: ; preds = %NodeBlock15 + %10 = load i8*, i8** %strout, align 8 + %incdec.ptr5 = getelementptr inbounds i8, i8* %10, i32 1 + store i8* %incdec.ptr5, i8** %strout, align 8 + store i8 0, i8* %10, align 1 + br label %sw.epilog + +sw.bb6: ; preds = %NodeBlock13 + %11 = load i8*, i8** %strout, align 8 + %incdec.ptr7 = getelementptr inbounds i8, i8* %11, i32 1 + store i8* %incdec.ptr7, i8** %strout, align 8 + store i8 8, i8* %11, align 1 + br label %sw.epilog + +sw.bb8: ; preds = %NodeBlock11 + %12 = load i8*, i8** %strout, align 8 + %incdec.ptr9 = getelementptr inbounds i8, i8* %12, i32 1 + store i8* %incdec.ptr9, i8** %strout, align 8 + store i8 12, i8* %12, align 1 + br label %sw.epilog + +sw.bb10: ; preds = %NodeBlock9 + %13 = load i8*, i8** %strout, align 8 + %incdec.ptr11 = getelementptr inbounds i8, i8* %13, i32 1 + store i8* %incdec.ptr11, i8** %strout, align 8 + store i8 10, i8* %13, align 1 + br label %sw.epilog + +sw.bb12: ; preds = %NodeBlock7 + %14 = load i8*, i8** %strout, align 8 + %incdec.ptr13 = getelementptr inbounds i8, i8* %14, i32 1 + store i8* %incdec.ptr13, i8** %strout, align 8 + store i8 13, i8* %14, align 1 + br label %sw.epilog + +sw.bb14: ; preds = %NodeBlock5 + %15 = load i8*, i8** %strout, align 8 + %incdec.ptr15 = getelementptr inbounds i8, i8* %15, i32 1 + store i8* %incdec.ptr15, i8** %strout, align 8 + store i8 9, i8* %15, align 1 + br label %sw.epilog + +sw.bb16: ; preds = %NodeBlock3 + %16 = load i8*, i8** %strout, align 8 + %incdec.ptr17 = getelementptr inbounds i8, i8* %16, i32 1 + store i8* %incdec.ptr17, i8** %strout, align 8 + store i8 11, i8* %16, align 1 + br label %sw.epilog + +sw.bb18: ; preds = %NodeBlock1 + %17 = load i8*, i8** %strout, align 8 + %incdec.ptr19 = getelementptr inbounds i8, i8* %17, i32 1 + store i8* %incdec.ptr19, i8** %strout, align 8 + store i8 92, i8* %17, align 1 + br label %sw.epilog + +sw.bb20: ; preds = %NodeBlock + store i8 1, i8* %backslash_at_end, align 1 + br label %done + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + %18 = load i8*, i8** %strptr.addr, align 8 + %19 = load i8, i8* %18, align 1 + %20 = load i8*, i8** %strout, align 8 + %incdec.ptr21 = getelementptr inbounds i8, i8* %20, i32 1 + store i8* %incdec.ptr21, i8** %strout, align 8 + store i8 %19, i8* %20, align 1 + br label %sw.epilog + +sw.epilog: ; preds = %sw.default, %sw.bb18, %sw.bb16, %sw.bb14, %sw.bb12, %sw.bb10, %sw.bb8, %sw.bb6, %sw.bb + %21 = load i8*, i8** %strptr.addr, align 8 + %incdec.ptr22 = getelementptr inbounds i8, i8* %21, i32 1 + store i8* %incdec.ptr22, i8** %strptr.addr, align 8 + br label %if.end + +if.end: ; preds = %sw.epilog, %if.then + br label %while.cond + +done: ; preds = %while.cond, %sw.bb20 + %22 = load i8*, i8** %strout, align 8 + store i8* %22, i8** @delim_end, align 8 + %23 = load i8, i8* %backslash_at_end, align 1 + %tobool23 = trunc i8 %23 to i1 + %24 = zext i1 %tobool23 to i64 + %cond = select i1 %tobool23, i32 1, i32 0 + ret i32 %cond +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_style_colon(i32 %n, i32 %s, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %options = alloca %struct.quoting_options, align 8 + %tmp = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + call void @quoting_options_from_style(%struct.quoting_options* sret align 8 %tmp, i32 %0) + %1 = bitcast %struct.quoting_options* %options to i8* + %2 = bitcast %struct.quoting_options* %tmp to i8* + %3 = call i8* @memcpy(i8* %1, i8* %2, i64 56) + %call = call i32 @set_char_quoting(%struct.quoting_options* %options, i8 signext 58, i32 1) + %4 = load i32, i32* %n.addr, align 4 + %5 = load i8*, i8** %arg.addr, align 8 + %call1 = call i8* @quotearg_n_options(i32 %4, i8* %5, i64 -1, %struct.quoting_options* %options) + ret i8* %call1 +} + +; Function Attrs: noinline nounwind uwtable +define internal zeroext i1 @paste_serial(i64 %nfiles, i8** %fnamptr) #3 { +entry: + %nfiles.addr = alloca i64, align 8 + %fnamptr.addr = alloca i8**, align 8 + %ok = alloca i8, align 1 + %charnew = alloca i32, align 4 + %charold = alloca i32, align 4 + %delimptr = alloca i8*, align 8 + %fileptr = alloca %struct._IO_FILE*, align 8 + %saved_errno = alloca i32, align 4 + %is_stdin = alloca i8, align 1 + store i64 %nfiles, i64* %nfiles.addr, align 8 + store i8** %fnamptr, i8*** %fnamptr.addr, align 8 + store i8 1, i8* %ok, align 1 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i64, i64* %nfiles.addr, align 8 + %tobool = icmp ne i64 %0, 0 + br i1 %tobool, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %1 = load i8**, i8*** %fnamptr.addr, align 8 + %2 = load i8*, i8** %1, align 8 + %call = call i32 @strcmp(i8* %2, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.15.130, i64 0, i64 0)) #23 + %cmp = icmp eq i32 %call, 0 + %frombool = zext i1 %cmp to i8 + store i8 %frombool, i8* %is_stdin, align 1 + %3 = load i8, i8* %is_stdin, align 1 + %tobool1 = trunc i8 %3 to i1 + br i1 %tobool1, label %if.then, label %if.else + +if.then: ; preds = %for.body + store i8 1, i8* @have_read_stdin, align 1 + %4 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdin to %struct._IO_FILE**), align 8 + store %struct._IO_FILE* %4, %struct._IO_FILE** %fileptr, align 8 + br label %if.end7 + +if.else: ; preds = %for.body + %5 = load i8**, i8*** %fnamptr.addr, align 8 + %6 = load i8*, i8** %5, align 8 + %call2 = call %struct._IO_FILE* bitcast (%struct.__STDIO_FILE_STRUCT.612* (i8*, i8*)* @fopen to %struct._IO_FILE* (i8*, i8*)*)(i8* %6, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.40, i64 0, i64 0)) + store %struct._IO_FILE* %call2, %struct._IO_FILE** %fileptr, align 8 + %7 = load %struct._IO_FILE*, %struct._IO_FILE** %fileptr, align 8 + %cmp3 = icmp eq %struct._IO_FILE* %7, null + br i1 %cmp3, label %if.then4, label %if.end + +if.then4: ; preds = %if.else + %call5 = call i32* @__errno_location() #25 + %8 = load i32, i32* %call5, align 4 + %9 = load i8**, i8*** %fnamptr.addr, align 8 + %10 = load i8*, i8** %9, align 8 + %call6 = call i8* @quotearg_n_style_colon(i32 0, i32 3, i8* %10) + call void (i32, i32, i8*, ...) @error(i32 0, i32 %8, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.41, i64 0, i64 0), i8* %call6) + store i8 0, i8* %ok, align 1 + br label %for.inc + +if.end: ; preds = %if.else + %11 = load %struct._IO_FILE*, %struct._IO_FILE** %fileptr, align 8 + call void @fadvise(%struct._IO_FILE* %11, i32 2) + br label %if.end7 + +if.end7: ; preds = %if.end, %if.then + %12 = load i8*, i8** @delims, align 8 + store i8* %12, i8** %delimptr, align 8 + %13 = load %struct._IO_FILE*, %struct._IO_FILE** %fileptr, align 8 + %call8 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @getc_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %13) + store i32 %call8, i32* %charold, align 4 + %call9 = call i32* @__errno_location() #25 + %14 = load i32, i32* %call9, align 4 + store i32 %14, i32* %saved_errno, align 4 + %15 = load i32, i32* %charold, align 4 + %cmp10 = icmp ne i32 %15, -1 + br i1 %cmp10, label %while.cond, label %if.end31 + +while.cond: ; preds = %if.end7, %if.end28 + %16 = load %struct._IO_FILE*, %struct._IO_FILE** %fileptr, align 8 + %call12 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @getc_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %16) + store i32 %call12, i32* %charnew, align 4 + %cmp13 = icmp ne i32 %call12, -1 + br i1 %cmp13, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %17 = load i32, i32* %charold, align 4 + %18 = load i8, i8* @line_delim, align 1 + %conv = zext i8 %18 to i32 + %cmp14 = icmp eq i32 %17, %conv + br i1 %cmp14, label %if.then16, label %if.else26 + +if.then16: ; preds = %while.body + %19 = load i8*, i8** %delimptr, align 8 + %20 = load i8, i8* %19, align 1 + %conv17 = sext i8 %20 to i32 + %cmp18 = icmp ne i32 %conv17, 0 + br i1 %cmp18, label %if.then20, label %if.end21 + +if.then20: ; preds = %if.then16 + %21 = load i8*, i8** %delimptr, align 8 + %22 = load i8, i8* %21, align 1 + call void @xputchar(i8 signext %22) + br label %if.end21 + +if.end21: ; preds = %if.then20, %if.then16 + %23 = load i8*, i8** %delimptr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %23, i32 1 + store i8* %incdec.ptr, i8** %delimptr, align 8 + %24 = load i8*, i8** @delim_end, align 8 + %cmp22 = icmp eq i8* %incdec.ptr, %24 + br i1 %cmp22, label %if.then24, label %if.end28 + +if.then24: ; preds = %if.end21 + %25 = load i8*, i8** @delims, align 8 + store i8* %25, i8** %delimptr, align 8 + br label %if.end28 + +if.else26: ; preds = %while.body + %26 = load i32, i32* %charold, align 4 + %conv27 = trunc i32 %26 to i8 + call void @xputchar(i8 signext %conv27) + br label %if.end28 + +if.end28: ; preds = %if.end21, %if.then24, %if.else26 + %27 = load i32, i32* %charnew, align 4 + store i32 %27, i32* %charold, align 4 + br label %while.cond + +while.end: ; preds = %while.cond + %call29 = call i32* @__errno_location() #25 + %28 = load i32, i32* %call29, align 4 + store i32 %28, i32* %saved_errno, align 4 + %29 = load i32, i32* %charold, align 4 + %conv30 = trunc i32 %29 to i8 + call void @xputchar(i8 signext %conv30) + br label %if.end31 + +if.end31: ; preds = %while.end, %if.end7 + %30 = load i32, i32* %charold, align 4 + %31 = load i8, i8* @line_delim, align 1 + %conv32 = zext i8 %31 to i32 + %cmp33 = icmp ne i32 %30, %conv32 + br i1 %cmp33, label %if.then35, label %if.end36 + +if.then35: ; preds = %if.end31 + %32 = load i8, i8* @line_delim, align 1 + call void @xputchar(i8 signext %32) + br label %if.end36 + +if.end36: ; preds = %if.then35, %if.end31 + %33 = load %struct._IO_FILE*, %struct._IO_FILE** %fileptr, align 8 + %call37 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.592*)* @ferror_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %33) #11 + %tobool38 = icmp ne i32 %call37, 0 + br i1 %tobool38, label %if.then39, label %if.end41 + +if.then39: ; preds = %if.end36 + %34 = load i32, i32* %saved_errno, align 4 + %35 = load i8**, i8*** %fnamptr.addr, align 8 + %36 = load i8*, i8** %35, align 8 + %call40 = call i8* @quotearg_n_style_colon(i32 0, i32 3, i8* %36) + call void (i32, i32, i8*, ...) @error(i32 0, i32 %34, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.41, i64 0, i64 0), i8* %call40) + store i8 0, i8* %ok, align 1 + br label %if.end41 + +if.end41: ; preds = %if.then39, %if.end36 + %37 = load i8, i8* %is_stdin, align 1 + %tobool42 = trunc i8 %37 to i1 + %38 = load %struct._IO_FILE*, %struct._IO_FILE** %fileptr, align 8 + br i1 %tobool42, label %if.then43, label %if.else44 + +if.then43: ; preds = %if.end41 + call void bitcast (void (%struct.__STDIO_FILE_STRUCT.581*)* @clearerr_unlocked to void (%struct._IO_FILE*)*)(%struct._IO_FILE* %38) #11 + br label %for.inc + +if.else44: ; preds = %if.end41 + %call45 = call i32 @rpl_fclose(%struct._IO_FILE* %38) + %cmp46 = icmp eq i32 %call45, -1 + br i1 %cmp46, label %if.then48, label %for.inc + +if.then48: ; preds = %if.else44 + %call49 = call i32* @__errno_location() #25 + %39 = load i32, i32* %call49, align 4 + %40 = load i8**, i8*** %fnamptr.addr, align 8 + %41 = load i8*, i8** %40, align 8 + %call50 = call i8* @quotearg_n_style_colon(i32 0, i32 3, i8* %41) + call void (i32, i32, i8*, ...) @error(i32 0, i32 %39, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.41, i64 0, i64 0), i8* %call50) + store i8 0, i8* %ok, align 1 + br label %for.inc + +for.inc: ; preds = %if.then43, %if.then48, %if.else44, %if.then4 + %42 = load i64, i64* %nfiles.addr, align 8 + %dec = add i64 %42, -1 + store i64 %dec, i64* %nfiles.addr, align 8 + %43 = load i8**, i8*** %fnamptr.addr, align 8 + %incdec.ptr53 = getelementptr inbounds i8*, i8** %43, i32 1 + store i8** %incdec.ptr53, i8*** %fnamptr.addr, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %44 = load i8, i8* %ok, align 1 + %tobool54 = trunc i8 %44 to i1 + ret i1 %tobool54 +} + +; Function Attrs: noinline nounwind uwtable +define internal zeroext i1 @paste_parallel(i64 %nfiles, i8** %fnamptr) #3 { +entry: + %nfiles.addr = alloca i64, align 8 + %fnamptr.addr = alloca i8**, align 8 + %ok = alloca i8, align 1 + %delbuf = alloca i8*, align 8 + %fileptr = alloca %struct._IO_FILE**, align 8 + %files_open = alloca i64, align 8 + %opened_stdin = alloca i8, align 1 + %somedone = alloca i8, align 1 + %delimptr = alloca i8*, align 8 + %delims_saved = alloca i64, align 8 + %i = alloca i64, align 8 + %chr = alloca i32, align 4 + %err = alloca i32, align 4 + %sometodo = alloca i8, align 1 + %c = alloca i8, align 1 + store i64 %nfiles, i64* %nfiles.addr, align 8 + store i8** %fnamptr, i8*** %fnamptr.addr, align 8 + store i8 1, i8* %ok, align 1 + %0 = load i64, i64* %nfiles.addr, align 8 + %add = add i64 %0, 2 + %call = call noalias i8* @xmalloc(i64 %add) + store i8* %call, i8** %delbuf, align 8 + %1 = load i64, i64* %nfiles.addr, align 8 + %add1 = add i64 %1, 1 + %call2 = call noalias i8* @xnmalloc(i64 %add1, i64 8) + %2 = bitcast i8* %call2 to %struct._IO_FILE** + store %struct._IO_FILE** %2, %struct._IO_FILE*** %fileptr, align 8 + store i8 0, i8* %opened_stdin, align 1 + store i64 0, i64* %files_open, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %3 = load i64, i64* %files_open, align 8 + %4 = load i64, i64* %nfiles.addr, align 8 + %cmp = icmp ult i64 %3, %4 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %5 = load i8**, i8*** %fnamptr.addr, align 8 + %6 = load i64, i64* %files_open, align 8 + %arrayidx = getelementptr inbounds i8*, i8** %5, i64 %6 + %7 = load i8*, i8** %arrayidx, align 8 + %call3 = call i32 @strcmp(i8* %7, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.15.130, i64 0, i64 0)) #23 + %cmp4 = icmp eq i32 %call3, 0 + br i1 %cmp4, label %if.then, label %if.else + +if.then: ; preds = %for.body + store i8 1, i8* @have_read_stdin, align 1 + %8 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdin to %struct._IO_FILE**), align 8 + %9 = load %struct._IO_FILE**, %struct._IO_FILE*** %fileptr, align 8 + %10 = load i64, i64* %files_open, align 8 + %arrayidx5 = getelementptr inbounds %struct._IO_FILE*, %struct._IO_FILE** %9, i64 %10 + store %struct._IO_FILE* %8, %struct._IO_FILE** %arrayidx5, align 8 + br label %for.inc + +if.else: ; preds = %for.body + %11 = load i8**, i8*** %fnamptr.addr, align 8 + %12 = load i64, i64* %files_open, align 8 + %arrayidx6 = getelementptr inbounds i8*, i8** %11, i64 %12 + %13 = load i8*, i8** %arrayidx6, align 8 + %call7 = call %struct._IO_FILE* bitcast (%struct.__STDIO_FILE_STRUCT.612* (i8*, i8*)* @fopen to %struct._IO_FILE* (i8*, i8*)*)(i8* %13, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.40, i64 0, i64 0)) + %14 = load %struct._IO_FILE**, %struct._IO_FILE*** %fileptr, align 8 + %15 = load i64, i64* %files_open, align 8 + %arrayidx8 = getelementptr inbounds %struct._IO_FILE*, %struct._IO_FILE** %14, i64 %15 + store %struct._IO_FILE* %call7, %struct._IO_FILE** %arrayidx8, align 8 + %16 = load %struct._IO_FILE**, %struct._IO_FILE*** %fileptr, align 8 + %17 = load i64, i64* %files_open, align 8 + %arrayidx9 = getelementptr inbounds %struct._IO_FILE*, %struct._IO_FILE** %16, i64 %17 + %18 = load %struct._IO_FILE*, %struct._IO_FILE** %arrayidx9, align 8 + %cmp10 = icmp eq %struct._IO_FILE* %18, null + br i1 %cmp10, label %if.then11, label %if.else15 + +if.then11: ; preds = %if.else + %call12 = call i32* @__errno_location() #25 + %19 = load i32, i32* %call12, align 4 + %20 = load i8**, i8*** %fnamptr.addr, align 8 + %21 = load i64, i64* %files_open, align 8 + %arrayidx13 = getelementptr inbounds i8*, i8** %20, i64 %21 + %22 = load i8*, i8** %arrayidx13, align 8 + %call14 = call i8* @quotearg_n_style_colon(i32 0, i32 3, i8* %22) + call void (i32, i32, i8*, ...) @error(i32 1, i32 %19, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.41, i64 0, i64 0), i8* %call14) + unreachable + +if.else15: ; preds = %if.else + %23 = load %struct._IO_FILE**, %struct._IO_FILE*** %fileptr, align 8 + %24 = load i64, i64* %files_open, align 8 + %arrayidx16 = getelementptr inbounds %struct._IO_FILE*, %struct._IO_FILE** %23, i64 %24 + %25 = load %struct._IO_FILE*, %struct._IO_FILE** %arrayidx16, align 8 + %call17 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %25) #11 + %cmp18 = icmp eq i32 %call17, 0 + br i1 %cmp18, label %if.then19, label %if.end20 + +if.then19: ; preds = %if.else15 + store i8 1, i8* %opened_stdin, align 1 + br label %if.end20 + +if.end20: ; preds = %if.else15, %if.then19 + %26 = load %struct._IO_FILE**, %struct._IO_FILE*** %fileptr, align 8 + %27 = load i64, i64* %files_open, align 8 + %arrayidx21 = getelementptr inbounds %struct._IO_FILE*, %struct._IO_FILE** %26, i64 %27 + %28 = load %struct._IO_FILE*, %struct._IO_FILE** %arrayidx21, align 8 + call void @fadvise(%struct._IO_FILE* %28, i32 2) + br label %for.inc + +for.inc: ; preds = %if.then, %if.end20 + %29 = load i64, i64* %files_open, align 8 + %inc = add i64 %29, 1 + store i64 %inc, i64* %files_open, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %30 = load i8, i8* %opened_stdin, align 1 + %tobool = trunc i8 %30 to i1 + br i1 %tobool, label %land.lhs.true, label %if.end25 + +land.lhs.true: ; preds = %for.end + %31 = load i8, i8* @have_read_stdin, align 1 + %tobool23 = trunc i8 %31 to i1 + br i1 %tobool23, label %if.then24, label %if.end25 + +if.then24: ; preds = %land.lhs.true + call void (i32, i32, i8*, ...) @error(i32 1, i32 0, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.43, i64 0, i64 0)) + unreachable + +if.end25: ; preds = %land.lhs.true, %for.end + br label %while.cond + +while.cond: ; preds = %for.cond27, %if.end25 + %32 = load i64, i64* %files_open, align 8 + %tobool26 = icmp ne i64 %32, 0 + br i1 %tobool26, label %while.body, label %while.end150 + +while.body: ; preds = %while.cond + store i8 0, i8* %somedone, align 1 + %33 = load i8*, i8** @delims, align 8 + store i8* %33, i8** %delimptr, align 8 + store i64 0, i64* %delims_saved, align 8 + store i64 0, i64* %i, align 8 + br label %for.cond27 + +for.cond27: ; preds = %for.inc147, %while.body + %34 = load i64, i64* %i, align 8 + %35 = load i64, i64* %nfiles.addr, align 8 + %cmp28 = icmp ult i64 %34, %35 + %36 = load i64, i64* %files_open, align 8 + %tobool29 = icmp ne i64 %36, 0 + %37 = select i1 %cmp28, i1 %tobool29, i1 false + br i1 %37, label %for.body30, label %while.cond + +for.body30: ; preds = %for.cond27 + store i8 0, i8* %sometodo, align 1 + %38 = load %struct._IO_FILE**, %struct._IO_FILE*** %fileptr, align 8 + %39 = load i64, i64* %i, align 8 + %arrayidx31 = getelementptr inbounds %struct._IO_FILE*, %struct._IO_FILE** %38, i64 %39 + %40 = load %struct._IO_FILE*, %struct._IO_FILE** %arrayidx31, align 8 + %tobool32 = icmp ne %struct._IO_FILE* %40, null + br i1 %tobool32, label %if.then33, label %if.end57 + +if.then33: ; preds = %for.body30 + %41 = load %struct._IO_FILE**, %struct._IO_FILE*** %fileptr, align 8 + %42 = load i64, i64* %i, align 8 + %arrayidx34 = getelementptr inbounds %struct._IO_FILE*, %struct._IO_FILE** %41, i64 %42 + %43 = load %struct._IO_FILE*, %struct._IO_FILE** %arrayidx34, align 8 + %call35 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @getc_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %43) + store i32 %call35, i32* %chr, align 4 + %call36 = call i32* @__errno_location() #25 + %44 = load i32, i32* %call36, align 4 + store i32 %44, i32* %err, align 4 + %45 = load i32, i32* %chr, align 4 + %cmp37 = icmp ne i32 %45, -1 + %46 = load i64, i64* %delims_saved, align 8 + %tobool39 = icmp ne i64 %46, 0 + %or.cond = and i1 %cmp37, %tobool39 + br i1 %or.cond, label %if.then40, label %if.end45 + +if.then40: ; preds = %if.then33 + %47 = load i8*, i8** %delbuf, align 8 + %48 = load i64, i64* %delims_saved, align 8 + %49 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call41 = call i64 bitcast (i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*)* @fwrite_unlocked to i64 (i8*, i64, i64, %struct._IO_FILE*)*)(i8* %47, i64 1, i64 %48, %struct._IO_FILE* %49) + %50 = load i64, i64* %delims_saved, align 8 + %cmp42 = icmp ne i64 %call41, %50 + br i1 %cmp42, label %if.then43, label %if.end44 + +if.then43: ; preds = %if.then40 + call void @write_error() #24 + unreachable + +if.end44: ; preds = %if.then40 + store i64 0, i64* %delims_saved, align 8 + br label %if.end45 + +if.end45: ; preds = %if.end44, %if.then33 + br label %while.cond46 + +while.cond46: ; preds = %if.end52, %if.end45 + %51 = load i32, i32* %chr, align 4 + %cmp47 = icmp ne i32 %51, -1 + br i1 %cmp47, label %while.body48, label %if.end57 + +while.body48: ; preds = %while.cond46 + store i8 1, i8* %sometodo, align 1 + %52 = load i32, i32* %chr, align 4 + %53 = load i8, i8* @line_delim, align 1 + %conv = zext i8 %53 to i32 + %cmp49 = icmp eq i32 %52, %conv + br i1 %cmp49, label %if.end57, label %if.end52 + +if.end52: ; preds = %while.body48 + %54 = load i32, i32* %chr, align 4 + %conv53 = trunc i32 %54 to i8 + call void @xputchar(i8 signext %conv53) + %55 = load %struct._IO_FILE**, %struct._IO_FILE*** %fileptr, align 8 + %56 = load i64, i64* %i, align 8 + %arrayidx54 = getelementptr inbounds %struct._IO_FILE*, %struct._IO_FILE** %55, i64 %56 + %57 = load %struct._IO_FILE*, %struct._IO_FILE** %arrayidx54, align 8 + %call55 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @getc_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %57) + store i32 %call55, i32* %chr, align 4 + %call56 = call i32* @__errno_location() #25 + %58 = load i32, i32* %call56, align 4 + store i32 %58, i32* %err, align 4 + br label %while.cond46 + +if.end57: ; preds = %while.cond46, %while.body48, %for.body30 + %59 = load i8, i8* %sometodo, align 1 + %tobool58 = trunc i8 %59 to i1 + br i1 %tobool58, label %if.else116, label %if.then59 + +if.then59: ; preds = %if.end57 + %60 = load %struct._IO_FILE**, %struct._IO_FILE*** %fileptr, align 8 + %61 = load i64, i64* %i, align 8 + %arrayidx60 = getelementptr inbounds %struct._IO_FILE*, %struct._IO_FILE** %60, i64 %61 + %62 = load %struct._IO_FILE*, %struct._IO_FILE** %arrayidx60, align 8 + %tobool61 = icmp ne %struct._IO_FILE* %62, null + br i1 %tobool61, label %if.then62, label %if.end87 + +if.then62: ; preds = %if.then59 + %63 = load %struct._IO_FILE**, %struct._IO_FILE*** %fileptr, align 8 + %64 = load i64, i64* %i, align 8 + %arrayidx63 = getelementptr inbounds %struct._IO_FILE*, %struct._IO_FILE** %63, i64 %64 + %65 = load %struct._IO_FILE*, %struct._IO_FILE** %arrayidx63, align 8 + %call64 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.592*)* @ferror_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %65) #11 + %tobool65 = icmp ne i32 %call64, 0 + br i1 %tobool65, label %if.then66, label %if.end69 + +if.then66: ; preds = %if.then62 + %66 = load i32, i32* %err, align 4 + %67 = load i8**, i8*** %fnamptr.addr, align 8 + %68 = load i64, i64* %i, align 8 + %arrayidx67 = getelementptr inbounds i8*, i8** %67, i64 %68 + %69 = load i8*, i8** %arrayidx67, align 8 + %call68 = call i8* @quotearg_n_style_colon(i32 0, i32 3, i8* %69) + call void (i32, i32, i8*, ...) @error(i32 0, i32 %66, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.41, i64 0, i64 0), i8* %call68) + store i8 0, i8* %ok, align 1 + br label %if.end69 + +if.end69: ; preds = %if.then66, %if.then62 + %70 = load %struct._IO_FILE**, %struct._IO_FILE*** %fileptr, align 8 + %71 = load i64, i64* %i, align 8 + %arrayidx70 = getelementptr inbounds %struct._IO_FILE*, %struct._IO_FILE** %70, i64 %71 + %72 = load %struct._IO_FILE*, %struct._IO_FILE** %arrayidx70, align 8 + %73 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdin to %struct._IO_FILE**), align 8 + %cmp71 = icmp eq %struct._IO_FILE* %72, %73 + %74 = load %struct._IO_FILE**, %struct._IO_FILE*** %fileptr, align 8 + %75 = load i64, i64* %i, align 8 + %arrayidx74 = getelementptr inbounds %struct._IO_FILE*, %struct._IO_FILE** %74, i64 %75 + %76 = load %struct._IO_FILE*, %struct._IO_FILE** %arrayidx74, align 8 + br i1 %cmp71, label %if.then73, label %if.else75 + +if.then73: ; preds = %if.end69 + call void bitcast (void (%struct.__STDIO_FILE_STRUCT.581*)* @clearerr_unlocked to void (%struct._IO_FILE*)*)(%struct._IO_FILE* %76) #11 + br label %if.end85 + +if.else75: ; preds = %if.end69 + %call77 = call i32 @rpl_fclose(%struct._IO_FILE* %76) + %cmp78 = icmp eq i32 %call77, -1 + br i1 %cmp78, label %if.then80, label %if.end85 + +if.then80: ; preds = %if.else75 + %call81 = call i32* @__errno_location() #25 + %77 = load i32, i32* %call81, align 4 + %78 = load i8**, i8*** %fnamptr.addr, align 8 + %79 = load i64, i64* %i, align 8 + %arrayidx82 = getelementptr inbounds i8*, i8** %78, i64 %79 + %80 = load i8*, i8** %arrayidx82, align 8 + %call83 = call i8* @quotearg_n_style_colon(i32 0, i32 3, i8* %80) + call void (i32, i32, i8*, ...) @error(i32 0, i32 %77, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.41, i64 0, i64 0), i8* %call83) + store i8 0, i8* %ok, align 1 + br label %if.end85 + +if.end85: ; preds = %if.else75, %if.then80, %if.then73 + %81 = load %struct._IO_FILE**, %struct._IO_FILE*** %fileptr, align 8 + %82 = load i64, i64* %i, align 8 + %arrayidx86 = getelementptr inbounds %struct._IO_FILE*, %struct._IO_FILE** %81, i64 %82 + store %struct._IO_FILE* null, %struct._IO_FILE** %arrayidx86, align 8 + %83 = load i64, i64* %files_open, align 8 + %dec = add i64 %83, -1 + store i64 %dec, i64* %files_open, align 8 + br label %if.end87 + +if.end87: ; preds = %if.end85, %if.then59 + %84 = load i64, i64* %i, align 8 + %add88 = add i64 %84, 1 + %85 = load i64, i64* %nfiles.addr, align 8 + %cmp89 = icmp eq i64 %add88, %85 + br i1 %cmp89, label %if.then91, label %if.else103 + +if.then91: ; preds = %if.end87 + %86 = load i8, i8* %somedone, align 1 + %tobool92 = trunc i8 %86 to i1 + br i1 %tobool92, label %if.then93, label %for.inc147 + +if.then93: ; preds = %if.then91 + %87 = load i64, i64* %delims_saved, align 8 + %tobool94 = icmp ne i64 %87, 0 + br i1 %tobool94, label %if.then95, label %if.end101 + +if.then95: ; preds = %if.then93 + %88 = load i8*, i8** %delbuf, align 8 + %89 = load i64, i64* %delims_saved, align 8 + %90 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call96 = call i64 bitcast (i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*)* @fwrite_unlocked to i64 (i8*, i64, i64, %struct._IO_FILE*)*)(i8* %88, i64 1, i64 %89, %struct._IO_FILE* %90) + %91 = load i64, i64* %delims_saved, align 8 + %cmp97 = icmp ne i64 %call96, %91 + br i1 %cmp97, label %if.then99, label %if.end100 + +if.then99: ; preds = %if.then95 + call void @write_error() #24 + unreachable + +if.end100: ; preds = %if.then95 + store i64 0, i64* %delims_saved, align 8 + br label %if.end101 + +if.end101: ; preds = %if.end100, %if.then93 + %92 = load i8, i8* @line_delim, align 1 + call void @xputchar(i8 signext %92) + br label %for.inc147 + +if.else103: ; preds = %if.end87 + %93 = load i8*, i8** %delimptr, align 8 + %94 = load i8, i8* %93, align 1 + %conv104 = sext i8 %94 to i32 + %cmp105 = icmp ne i32 %conv104, 0 + br i1 %cmp105, label %if.then107, label %if.end110 + +if.then107: ; preds = %if.else103 + %95 = load i8*, i8** %delimptr, align 8 + %96 = load i8, i8* %95, align 1 + %97 = load i8*, i8** %delbuf, align 8 + %98 = load i64, i64* %delims_saved, align 8 + %inc108 = add i64 %98, 1 + store i64 %inc108, i64* %delims_saved, align 8 + %arrayidx109 = getelementptr inbounds i8, i8* %97, i64 %98 + store i8 %96, i8* %arrayidx109, align 1 + br label %if.end110 + +if.end110: ; preds = %if.then107, %if.else103 + %99 = load i8*, i8** %delimptr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %99, i32 1 + store i8* %incdec.ptr, i8** %delimptr, align 8 + %100 = load i8*, i8** @delim_end, align 8 + %cmp111 = icmp eq i8* %incdec.ptr, %100 + br i1 %cmp111, label %if.then113, label %for.inc147 + +if.then113: ; preds = %if.end110 + %101 = load i8*, i8** @delims, align 8 + store i8* %101, i8** %delimptr, align 8 + br label %for.inc147 + +if.else116: ; preds = %if.end57 + store i8 1, i8* %somedone, align 1 + %102 = load i64, i64* %i, align 8 + %add117 = add i64 %102, 1 + %103 = load i64, i64* %nfiles.addr, align 8 + %cmp118 = icmp ne i64 %add117, %103 + %104 = load i32, i32* %chr, align 4 + br i1 %cmp118, label %if.then120, label %if.else140 + +if.then120: ; preds = %if.else116 + %105 = load i8, i8* @line_delim, align 1 + %conv121 = zext i8 %105 to i32 + %cmp122 = icmp ne i32 %104, %conv121 + %106 = load i32, i32* %chr, align 4 + %cmp125 = icmp ne i32 %106, -1 + %or.cond1 = and i1 %cmp122, %cmp125 + br i1 %or.cond1, label %if.then127, label %if.end129 + +if.then127: ; preds = %if.then120 + %107 = load i32, i32* %chr, align 4 + %conv128 = trunc i32 %107 to i8 + call void @xputchar(i8 signext %conv128) + br label %if.end129 + +if.end129: ; preds = %if.then127, %if.then120 + %108 = load i8*, i8** %delimptr, align 8 + %109 = load i8, i8* %108, align 1 + %conv130 = sext i8 %109 to i32 + %cmp131 = icmp ne i32 %conv130, 0 + br i1 %cmp131, label %if.then133, label %if.end134 + +if.then133: ; preds = %if.end129 + %110 = load i8*, i8** %delimptr, align 8 + %111 = load i8, i8* %110, align 1 + call void @xputchar(i8 signext %111) + br label %if.end134 + +if.end134: ; preds = %if.then133, %if.end129 + %112 = load i8*, i8** %delimptr, align 8 + %incdec.ptr135 = getelementptr inbounds i8, i8* %112, i32 1 + store i8* %incdec.ptr135, i8** %delimptr, align 8 + %113 = load i8*, i8** @delim_end, align 8 + %cmp136 = icmp eq i8* %incdec.ptr135, %113 + br i1 %cmp136, label %if.then138, label %for.inc147 + +if.then138: ; preds = %if.end134 + %114 = load i8*, i8** @delims, align 8 + store i8* %114, i8** %delimptr, align 8 + br label %for.inc147 + +if.else140: ; preds = %if.else116 + %cmp141 = icmp eq i32 %104, -1 + %115 = load i8, i8* @line_delim, align 1 + %conv143 = zext i8 %115 to i32 + %116 = load i32, i32* %chr, align 4 + %cond = select i1 %cmp141, i32 %conv143, i32 %116 + %conv144 = trunc i32 %cond to i8 + store i8 %conv144, i8* %c, align 1 + %117 = load i8, i8* %c, align 1 + call void @xputchar(i8 signext %117) + br label %for.inc147 + +for.inc147: ; preds = %if.end110, %if.then113, %if.end134, %if.then138, %if.else140, %if.then91, %if.end101 + %118 = load i64, i64* %i, align 8 + %inc148 = add i64 %118, 1 + store i64 %inc148, i64* %i, align 8 + br label %for.cond27 + +while.end150: ; preds = %while.cond + %119 = load %struct._IO_FILE**, %struct._IO_FILE*** %fileptr, align 8 + %120 = bitcast %struct._IO_FILE** %119 to i8* + call void @free(i8* %120) #11 + %121 = load i8*, i8** %delbuf, align 8 + call void @free(i8* %121) #11 + %122 = load i8, i8* %ok, align 1 + %tobool151 = trunc i8 %122 to i1 + ret i1 %tobool151 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fclose(%struct._IO_FILE* nonnull %fp) #3 { +entry: + %retval = alloca i32, align 4 + %fp.addr = alloca %struct._IO_FILE*, align 8 + %saved_errno = alloca i32, align 4 + %fd = alloca i32, align 4 + %result = alloca i32, align 4 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + store i32 0, i32* %saved_errno, align 4 + store i32 0, i32* %result, align 4 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %0) #11 + store i32 %call, i32* %fd, align 4 + %1 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %1, 0 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call1 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fclose to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %2) + store i32 %call1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %call2 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.519*)* @__freading to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %2) #11 + %cmp3 = icmp ne i32 %call2, 0 + br i1 %cmp3, label %lor.lhs.false, label %land.lhs.true + +lor.lhs.false: ; preds = %if.end + %3 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call4 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %3) #11 + %call5 = call i64 @lseek(i32 %call4, i64 0, i32 1) #11 + %cmp6 = icmp ne i64 %call5, -1 + br i1 %cmp6, label %land.lhs.true, label %if.end10 + +land.lhs.true: ; preds = %lor.lhs.false, %if.end + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call7 = call i32 @rpl_fflush(%struct._IO_FILE* %4) + %tobool = icmp ne i32 %call7, 0 + br i1 %tobool, label %if.then8, label %if.end10 + +if.then8: ; preds = %land.lhs.true + %call9 = call i32* @__errno_location() #25 + %5 = load i32, i32* %call9, align 4 + store i32 %5, i32* %saved_errno, align 4 + br label %if.end10 + +if.end10: ; preds = %if.then8, %land.lhs.true, %lor.lhs.false + %6 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call11 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fclose to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %6) + store i32 %call11, i32* %result, align 4 + %7 = load i32, i32* %saved_errno, align 4 + %cmp12 = icmp ne i32 %7, 0 + br i1 %cmp12, label %if.then13, label %if.end15 + +if.then13: ; preds = %if.end10 + %8 = load i32, i32* %saved_errno, align 4 + %call14 = call i32* @__errno_location() #25 + store i32 %8, i32* %call14, align 4 + store i32 -1, i32* %result, align 4 + br label %if.end15 + +if.end15: ; preds = %if.then13, %if.end10 + %9 = load i32, i32* %result, align 4 + store i32 %9, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end15, %if.then + %10 = load i32, i32* %retval, align 4 + ret i32 %10 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fflush(%struct._IO_FILE* %stream) #3 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %cmp = icmp eq %struct._IO_FILE* %0, null + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.519*)* @__freading to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %1) #11 + %cmp1 = icmp ne i32 %call, 0 + br i1 %cmp1, label %if.end, label %if.then + +if.then: ; preds = %lor.lhs.false, %entry + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call2 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fflush to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %2) + store i32 %call2, i32* %retval, align 4 + br label %return + +if.end: ; preds = %lor.lhs.false + %3 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + call void @clear_ungetc_buffer_preserving_position(%struct._IO_FILE* %3) + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call3 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fflush to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %4) + store i32 %call3, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %5 = load i32, i32* %retval, align 4 + ret i32 %5 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @clear_ungetc_buffer_preserving_position(%struct._IO_FILE* %fp) #3 { +entry: + %fp.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_flags = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %0, i32 0, i32 0 + %1 = load i32, i32* %_flags, align 8 + %and = and i32 %1, 256 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 @rpl_fseeko(%struct._IO_FILE* %2, i64 0, i32 1) + br label %if.end + +if.end: ; preds = %if.then, %entry + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fseeko(%struct._IO_FILE* nonnull %fp, i64 %offset, i32 %whence) #3 { +entry: + %retval = alloca i32, align 4 + %fp.addr = alloca %struct._IO_FILE*, align 8 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + %pos = alloca i64, align 8 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_read_end = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %0, i32 0, i32 2 + %1 = load i8*, i8** %_IO_read_end, align 8 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_read_ptr = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %2, i32 0, i32 1 + %3 = load i8*, i8** %_IO_read_ptr, align 8 + %cmp = icmp eq i8* %1, %3 + br i1 %cmp, label %land.lhs.true, label %if.end7 + +land.lhs.true: ; preds = %entry + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_write_ptr = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %4, i32 0, i32 5 + %5 = load i8*, i8** %_IO_write_ptr, align 8 + %6 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_write_base = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %6, i32 0, i32 4 + %7 = load i8*, i8** %_IO_write_base, align 8 + %cmp1 = icmp eq i8* %5, %7 + br i1 %cmp1, label %land.lhs.true2, label %if.end7 + +land.lhs.true2: ; preds = %land.lhs.true + %8 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_save_base = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %8, i32 0, i32 9 + %9 = load i8*, i8** %_IO_save_base, align 8 + %cmp3 = icmp eq i8* %9, null + br i1 %cmp3, label %if.then, label %if.end7 + +if.then: ; preds = %land.lhs.true2 + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %10) #11 + %11 = load i64, i64* %offset.addr, align 8 + %12 = load i32, i32* %whence.addr, align 4 + %call4 = call i64 @lseek(i32 %call, i64 %11, i32 %12) #11 + store i64 %call4, i64* %pos, align 8 + %13 = load i64, i64* %pos, align 8 + %cmp5 = icmp eq i64 %13, -1 + br i1 %cmp5, label %if.then6, label %if.end + +if.then6: ; preds = %if.then + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %if.then + %14 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_flags = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %14, i32 0, i32 0 + %15 = load i32, i32* %_flags, align 8 + %and = and i32 %15, -17 + store i32 %and, i32* %_flags, align 8 + %16 = load i64, i64* %pos, align 8 + %17 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_offset = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %17, i32 0, i32 21 + store i64 %16, i64* %_offset, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.end7: ; preds = %land.lhs.true2, %land.lhs.true, %entry + %18 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %19 = load i64, i64* %offset.addr, align 8 + %20 = load i32, i32* %whence.addr, align 4 + %call8 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32)* @fseeko to i32 (%struct._IO_FILE*, i64, i32)*)(%struct._IO_FILE* %18, i64 %19, i32 %20) + store i32 %call8, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end7, %if.end, %if.then6 + %21 = load i32, i32* %retval, align 4 + ret i32 %21 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xmalloc(i64 %n) #3 { +entry: + %n.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @malloc(i64 %0) #11 + store i8* %call, i8** %p, align 8 + %1 = load i8*, i8** %p, align 8 + %tobool = icmp eq i8* %1, null + %2 = load i64, i64* %n.addr, align 8 + %cmp = icmp ne i64 %2, 0 + %or.cond = and i1 %tobool, %cmp + br i1 %or.cond, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %entry + %3 = load i8*, i8** %p, align 8 + ret i8* %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xnmalloc(i64 %n, i64 %s) #3 { +entry: + %n.addr = alloca i64, align 8 + %s.addr = alloca i64, align 8 + store i64 %n, i64* %n.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %div = udiv i64 9223372036854775807, %0 + %1 = load i64, i64* %n.addr, align 8 + %cmp = icmp ult i64 %div, %1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %entry + %2 = load i64, i64* %n.addr, align 8 + %3 = load i64, i64* %s.addr, align 8 + %mul = mul i64 %2, %3 + %call = call noalias i8* @xmalloc(i64 %mul) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @fadvise(%struct._IO_FILE* %fp, i32 %advice) #3 { +entry: + %fp.addr = alloca %struct._IO_FILE*, align 8 + %advice.addr = alloca i32, align 4 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + store i32 %advice, i32* %advice.addr, align 4 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %tobool = icmp ne %struct._IO_FILE* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %1) #11 + %2 = load i32, i32* %advice.addr, align 4 + call void @fdadvise(i32 %call, i64 0, i64 0, i32 %2) + br label %if.end + +if.end: ; preds = %if.then, %entry + ret void +} + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @write_error() #6 { +entry: + %call = call i32* @__errno_location() #25 + %0 = load i32, i32* %call, align 4 + call void (i32, i32, i8*, ...) @error(i32 1, i32 %0, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.42, i64 0, i64 0)) + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal void @xputchar(i8 signext %c) #3 { +entry: + %c.addr = alloca i8, align 1 + store i8 %c, i8* %c.addr, align 1 + %0 = load i8, i8* %c.addr, align 1 + %conv = sext i8 %0 to i32 + %call = call i32 @putchar_unlocked(i32 %conv) + %cmp = icmp slt i32 %call, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @write_error() #24 + unreachable + +if.end: ; preds = %entry + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @fdadvise(i32 %fd, i64 %offset, i64 %len, i32 %advice) #3 { +entry: + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %advice.addr = alloca i32, align 4 + %__x = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store i32 %advice, i32* %advice.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %offset.addr, align 8 + %2 = load i64, i64* %len.addr, align 8 + %3 = load i32, i32* %advice.addr, align 4 + %call = call i32 @posix_fadvise(i32 %0, i64 %1, i64 %2, i32 %3) #11 + store i32 %call, i32* %__x, align 4 + %4 = load i32, i32* %__x, align 4 + ret void +} + +; Function Attrs: nounwind +declare dso_local i32 @posix_fadvise(i32, i64, i64, i32) #4 + +; Function Attrs: noinline noreturn nounwind uwtable +define dso_local void @xalloc_die() #6 { +entry: + %0 = load volatile i32, i32* @exit_failure, align 4 + call void (i32, i32, i8*, ...) @error(i32 %0, i32 0, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.125, i64 0, i64 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.1.126, i64 0, i64 0)) + call void @abort() #26 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal void @quoting_options_from_style(%struct.quoting_options* noalias sret align 8 %agg.result, i32 %style) #3 { +entry: + %style.addr = alloca i32, align 4 + store i32 %style, i32* %style.addr, align 4 + %0 = bitcast %struct.quoting_options* %agg.result to i8* + %1 = call i8* @memset(i8* %0, i32 0, i64 56) + %2 = load i32, i32* %style.addr, align 4 + %cmp = icmp eq i32 %2, 10 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @abort() #26 + unreachable + +if.end: ; preds = %entry + %3 = load i32, i32* %style.addr, align 4 + %style1 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %agg.result, i32 0, i32 0 + store i32 %3, i32* %style1, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @set_char_quoting(%struct.quoting_options* %o, i8 signext %c, i32 %i) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %c.addr = alloca i8, align 1 + %i.addr = alloca i32, align 4 + %uc = alloca i8, align 1 + %p = alloca i32*, align 8 + %shift = alloca i32, align 4 + %r = alloca i32, align 4 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i8 %c, i8* %c.addr, align 1 + store i32 %i, i32* %i.addr, align 4 + %0 = load i8, i8* %c.addr, align 1 + store i8 %0, i8* %uc, align 1 + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %1, null + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %2, %struct.quoting_options* @default_quoting_options + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %cond, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %3 = load i8, i8* %uc, align 1 + %conv = zext i8 %3 to i64 + %div = udiv i64 %conv, 32 + %add.ptr = getelementptr inbounds i32, i32* %arraydecay, i64 %div + store i32* %add.ptr, i32** %p, align 8 + %4 = load i8, i8* %uc, align 1 + %conv1 = zext i8 %4 to i64 + %rem = urem i64 %conv1, 32 + %conv2 = trunc i64 %rem to i32 + store i32 %conv2, i32* %shift, align 4 + %5 = load i32*, i32** %p, align 8 + %6 = load i32, i32* %5, align 4 + %7 = load i32, i32* %shift, align 4 + %shr = lshr i32 %6, %7 + %and = and i32 %shr, 1 + store i32 %and, i32* %r, align 4 + %8 = load i32, i32* %i.addr, align 4 + %and3 = and i32 %8, 1 + %9 = load i32, i32* %r, align 4 + %xor = xor i32 %and3, %9 + %10 = load i32, i32* %shift, align 4 + %shl = shl i32 %xor, %10 + %11 = load i32*, i32** %p, align 8 + %12 = load i32, i32* %11, align 4 + %xor4 = xor i32 %12, %shl + store i32 %xor4, i32* %11, align 4 + %13 = load i32, i32* %r, align 4 + ret i32 %13 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @quotearg_n_options(i32 %n, i8* %arg, i64 %argsize, %struct.quoting_options* %options) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %options.addr = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %sv = alloca %struct.slotvec*, align 8 + %preallocated = alloca i8, align 1 + %nmax = alloca i32, align 4 + %size = alloca i64, align 8 + %val = alloca i8*, align 8 + %flags = alloca i32, align 4 + %qsize = alloca i64, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store %struct.quoting_options* %options, %struct.quoting_options** %options.addr, align 8 + %call = call i32* @__errno_location() #25 + %0 = load i32, i32* %call, align 4 + store i32 %0, i32* %e, align 4 + %1 = load %struct.slotvec*, %struct.slotvec** @slotvec, align 8 + store %struct.slotvec* %1, %struct.slotvec** %sv, align 8 + %2 = load i32, i32* %n.addr, align 4 + %cmp = icmp slt i32 %2, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @abort() #26 + unreachable + +if.end: ; preds = %entry + %3 = load i32, i32* @nslots, align 4 + %4 = load i32, i32* %n.addr, align 4 + %cmp1 = icmp sle i32 %3, %4 + br i1 %cmp1, label %if.then2, label %if.end15 + +if.then2: ; preds = %if.end + %5 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %cmp3 = icmp eq %struct.slotvec* %5, @slotvec0 + %frombool = zext i1 %cmp3 to i8 + store i8 %frombool, i8* %preallocated, align 1 + store i32 2147483646, i32* %nmax, align 4 + %6 = load i32, i32* %nmax, align 4 + %7 = load i32, i32* %n.addr, align 4 + %cmp4 = icmp slt i32 %6, %7 + br i1 %cmp4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.then2 + call void @xalloc_die() #24 + unreachable + +if.end6: ; preds = %if.then2 + %8 = load i8, i8* %preallocated, align 1 + %tobool = trunc i8 %8 to i1 + %9 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %cond = select i1 %tobool, %struct.slotvec* null, %struct.slotvec* %9 + %10 = bitcast %struct.slotvec* %cond to i8* + %11 = load i32, i32* %n.addr, align 4 + %add = add nsw i32 %11, 1 + %conv = sext i32 %add to i64 + %mul = mul i64 %conv, 16 + %call7 = call i8* @xrealloc(i8* %10, i64 %mul) + %12 = bitcast i8* %call7 to %struct.slotvec* + store %struct.slotvec* %12, %struct.slotvec** %sv, align 8 + store %struct.slotvec* %12, %struct.slotvec** @slotvec, align 8 + %13 = load i8, i8* %preallocated, align 1 + %tobool8 = trunc i8 %13 to i1 + br i1 %tobool8, label %if.then9, label %if.end10 + +if.then9: ; preds = %if.end6 + %14 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %15 = bitcast %struct.slotvec* %14 to i8* + %16 = call i8* @memcpy(i8* %15, i8* bitcast (%struct.slotvec* @slotvec0 to i8*), i64 16) + br label %if.end10 + +if.end10: ; preds = %if.then9, %if.end6 + %17 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %18 = load i32, i32* @nslots, align 4 + %idx.ext = sext i32 %18 to i64 + %add.ptr = getelementptr inbounds %struct.slotvec, %struct.slotvec* %17, i64 %idx.ext + %19 = bitcast %struct.slotvec* %add.ptr to i8* + %20 = load i32, i32* %n.addr, align 4 + %add11 = add nsw i32 %20, 1 + %21 = load i32, i32* @nslots, align 4 + %sub = sub nsw i32 %add11, %21 + %conv12 = sext i32 %sub to i64 + %mul13 = mul i64 %conv12, 16 + %22 = call i8* @memset(i8* %19, i32 0, i64 %mul13) + %23 = load i32, i32* %n.addr, align 4 + %add14 = add nsw i32 %23, 1 + store i32 %add14, i32* @nslots, align 4 + br label %if.end15 + +if.end15: ; preds = %if.end10, %if.end + %24 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %25 = load i32, i32* %n.addr, align 4 + %idxprom = sext i32 %25 to i64 + %arrayidx = getelementptr inbounds %struct.slotvec, %struct.slotvec* %24, i64 %idxprom + %size16 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx, i32 0, i32 0 + %26 = load i64, i64* %size16, align 8 + store i64 %26, i64* %size, align 8 + %27 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %28 = load i32, i32* %n.addr, align 4 + %idxprom17 = sext i32 %28 to i64 + %arrayidx18 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %27, i64 %idxprom17 + %val19 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx18, i32 0, i32 1 + %29 = load i8*, i8** %val19, align 8 + store i8* %29, i8** %val, align 8 + %30 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %flags20 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %30, i32 0, i32 1 + %31 = load i32, i32* %flags20, align 4 + %or = or i32 %31, 1 + store i32 %or, i32* %flags, align 4 + %32 = load i8*, i8** %val, align 8 + %33 = load i64, i64* %size, align 8 + %34 = load i8*, i8** %arg.addr, align 8 + %35 = load i64, i64* %argsize.addr, align 8 + %36 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %36, i32 0, i32 0 + %37 = load i32, i32* %style, align 8 + %38 = load i32, i32* %flags, align 4 + %39 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %39, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %40 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %left_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %40, i32 0, i32 3 + %41 = load i8*, i8** %left_quote, align 8 + %42 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %right_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %42, i32 0, i32 4 + %43 = load i8*, i8** %right_quote, align 8 + %call21 = call i64 @quotearg_buffer_restyled(i8* %32, i64 %33, i8* %34, i64 %35, i32 %37, i32 %38, i32* %arraydecay, i8* %41, i8* %43) + store i64 %call21, i64* %qsize, align 8 + %44 = load i64, i64* %size, align 8 + %45 = load i64, i64* %qsize, align 8 + %cmp22 = icmp ule i64 %44, %45 + br i1 %cmp22, label %if.then24, label %if.end43 + +if.then24: ; preds = %if.end15 + %46 = load i64, i64* %qsize, align 8 + %add25 = add i64 %46, 1 + store i64 %add25, i64* %size, align 8 + %47 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %48 = load i32, i32* %n.addr, align 4 + %idxprom26 = sext i32 %48 to i64 + %arrayidx27 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %47, i64 %idxprom26 + %size28 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx27, i32 0, i32 0 + store i64 %add25, i64* %size28, align 8 + %49 = load i8*, i8** %val, align 8 + %cmp29 = icmp ne i8* %49, getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i64 0, i64 0) + br i1 %cmp29, label %if.then31, label %if.end32 + +if.then31: ; preds = %if.then24 + %50 = load i8*, i8** %val, align 8 + call void @free(i8* %50) #11 + br label %if.end32 + +if.end32: ; preds = %if.then31, %if.then24 + %51 = load i64, i64* %size, align 8 + %call33 = call noalias i8* @xcharalloc(i64 %51) + store i8* %call33, i8** %val, align 8 + %52 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %53 = load i32, i32* %n.addr, align 4 + %idxprom34 = sext i32 %53 to i64 + %arrayidx35 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %52, i64 %idxprom34 + %val36 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx35, i32 0, i32 1 + store i8* %call33, i8** %val36, align 8 + %54 = load i8*, i8** %val, align 8 + %55 = load i64, i64* %size, align 8 + %56 = load i8*, i8** %arg.addr, align 8 + %57 = load i64, i64* %argsize.addr, align 8 + %58 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %style37 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %58, i32 0, i32 0 + %59 = load i32, i32* %style37, align 8 + %60 = load i32, i32* %flags, align 4 + %61 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %quote_these_too38 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %61, i32 0, i32 2 + %arraydecay39 = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too38, i64 0, i64 0 + %62 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %left_quote40 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %62, i32 0, i32 3 + %63 = load i8*, i8** %left_quote40, align 8 + %64 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %right_quote41 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %64, i32 0, i32 4 + %65 = load i8*, i8** %right_quote41, align 8 + %call42 = call i64 @quotearg_buffer_restyled(i8* %54, i64 %55, i8* %56, i64 %57, i32 %59, i32 %60, i32* %arraydecay39, i8* %63, i8* %65) + br label %if.end43 + +if.end43: ; preds = %if.end32, %if.end15 + %66 = load i32, i32* %e, align 4 + %call44 = call i32* @__errno_location() #25 + store i32 %66, i32* %call44, align 4 + %67 = load i8*, i8** %val, align 8 + ret i8* %67 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @xrealloc(i8* %p, i64 %n) #3 { +entry: + %retval = alloca i8*, align 8 + %p.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %tobool = icmp eq i64 %0, 0 + %1 = load i8*, i8** %p.addr, align 8 + %tobool1 = icmp ne i8* %1, null + %or.cond = and i1 %tobool, %tobool1 + %2 = load i8*, i8** %p.addr, align 8 + br i1 %or.cond, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @free(i8* %2) #11 + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %3 = load i64, i64* %n.addr, align 8 + %call = call i8* @realloc(i8* %2, i64 %3) #11 + store i8* %call, i8** %p.addr, align 8 + %4 = load i8*, i8** %p.addr, align 8 + %tobool2 = icmp eq i8* %4, null + %5 = load i64, i64* %n.addr, align 8 + %tobool4 = icmp ne i64 %5, 0 + %or.cond1 = and i1 %tobool2, %tobool4 + br i1 %or.cond1, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end + call void @xalloc_die() #24 + unreachable + +if.end6: ; preds = %if.end + %6 = load i8*, i8** %p.addr, align 8 + store i8* %6, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end6, %if.then + %7 = load i8*, i8** %retval, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @quotearg_buffer_restyled(i8* %buffer, i64 %buffersize, i8* %arg, i64 %argsize, i32 %quoting_style, i32 %flags, i32* %quote_these_too, i8* %left_quote, i8* %right_quote) #3 { +entry: + %retval = alloca i64, align 8 + %buffer.addr = alloca i8*, align 8 + %buffersize.addr = alloca i64, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %quoting_style.addr = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %quote_these_too.addr = alloca i32*, align 8 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %i = alloca i64, align 8 + %len = alloca i64, align 8 + %orig_buffersize = alloca i64, align 8 + %quote_string = alloca i8*, align 8 + %quote_string_len = alloca i64, align 8 + %backslash_escapes = alloca i8, align 1 + %unibyte_locale = alloca i8, align 1 + %elide_outer_quotes = alloca i8, align 1 + %pending_shell_escape_end = alloca i8, align 1 + %encountered_single_quote = alloca i8, align 1 + %all_c_and_shell_quote_compat = alloca i8, align 1 + %c = alloca i8, align 1 + %esc = alloca i8, align 1 + %is_right_quote = alloca i8, align 1 + %escaping = alloca i8, align 1 + %c_and_shell_quote_compat = alloca i8, align 1 + %m = alloca i64, align 8 + %printable = alloca i8, align 1 + %mbstate = alloca %struct.__mbstate_t, align 4 + %w = alloca i32, align 4 + %bytes = alloca i64, align 8 + %j = alloca i64, align 8 + %ilim = alloca i64, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %buffersize, i64* %buffersize.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store i32 %quoting_style, i32* %quoting_style.addr, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store i32* %quote_these_too, i32** %quote_these_too.addr, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i64 0, i64* %len, align 8 + store i64 0, i64* %orig_buffersize, align 8 + store i8* null, i8** %quote_string, align 8 + store i64 0, i64* %quote_string_len, align 8 + store i8 0, i8* %backslash_escapes, align 1 + %call = call i64 @__ctype_get_mb_cur_max() #11 + %cmp = icmp eq i64 %call, 1 + %frombool = zext i1 %cmp to i8 + store i8 %frombool, i8* %unibyte_locale, align 1 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 2 + %cmp1 = icmp ne i32 %and, 0 + %frombool2 = zext i1 %cmp1 to i8 + store i8 %frombool2, i8* %elide_outer_quotes, align 1 + store i8 0, i8* %pending_shell_escape_end, align 1 + store i8 0, i8* %encountered_single_quote, align 1 + store i8 1, i8* %all_c_and_shell_quote_compat, align 1 + br label %process_input + +process_input: ; preds = %if.then701, %entry + %1 = load i32, i32* %quoting_style.addr, align 4 + br label %NodeBlock27 + +NodeBlock27: ; preds = %process_input + %case.cmp28 = icmp eq i32 %1, 6 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %1, 5 + br i1 %case.cmp26, label %sw.bb3, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %1, 7 + br i1 %case.cmp24, label %sw.bb7, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %1, 8 + br i1 %case.cmp22, label %sw.bb8, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %1, 9 + br i1 %case.cmp20, label %sw.bb8, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %1, 10 + br i1 %case.cmp18, label %sw.bb8, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %1, 3 + br i1 %case.cmp16, label %sw.bb26, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %1, 1 + br i1 %case.cmp14, label %sw.bb27, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %1, 4 + br i1 %case.cmp12, label %sw.bb28, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %1, 2 + br i1 %case.cmp10, label %sw.bb32, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock9 + %case.cmp = icmp eq i32 %1, 0 + br i1 %case.cmp, label %sw.bb43, label %newDefault + +sw.bb: ; preds = %NodeBlock27 + store i32 5, i32* %quoting_style.addr, align 4 + store i8 1, i8* %elide_outer_quotes, align 1 + br label %sw.bb3 + +sw.bb3: ; preds = %NodeBlock25, %sw.bb + %2 = load i8, i8* %elide_outer_quotes, align 1 + %tobool = trunc i8 %2 to i1 + br i1 %tobool, label %if.end6, label %do.body + +do.body: ; preds = %sw.bb3 + %3 = load i64, i64* %len, align 8 + %4 = load i64, i64* %buffersize.addr, align 8 + %cmp4 = icmp ult i64 %3, %4 + br i1 %cmp4, label %if.then5, label %if.end + +if.then5: ; preds = %do.body + %5 = load i8*, i8** %buffer.addr, align 8 + %6 = load i64, i64* %len, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 %6 + store i8 34, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then5, %do.body + %7 = load i64, i64* %len, align 8 + %inc = add i64 %7, 1 + store i64 %inc, i64* %len, align 8 + br label %if.end6 + +if.end6: ; preds = %if.end, %sw.bb3 + store i8 1, i8* %backslash_escapes, align 1 + store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10.71, i64 0, i64 0), i8** %quote_string, align 8 + store i64 1, i64* %quote_string_len, align 8 + br label %sw.epilog + +sw.bb7: ; preds = %NodeBlock23 + store i8 1, i8* %backslash_escapes, align 1 + store i8 0, i8* %elide_outer_quotes, align 1 + br label %sw.epilog + +sw.bb8: ; preds = %NodeBlock21, %NodeBlock19, %NodeBlock17 + %8 = load i32, i32* %quoting_style.addr, align 4 + %cmp9 = icmp ne i32 %8, 10 + br i1 %cmp9, label %if.then10, label %if.end13 + +if.then10: ; preds = %sw.bb8 + %9 = load i32, i32* %quoting_style.addr, align 4 + %call11 = call i8* @gettext_quote(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.11.72, i64 0, i64 0), i32 %9) + store i8* %call11, i8** %left_quote.addr, align 8 + %10 = load i32, i32* %quoting_style.addr, align 4 + %call12 = call i8* @gettext_quote(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.73, i64 0, i64 0), i32 %10) + store i8* %call12, i8** %right_quote.addr, align 8 + br label %if.end13 + +if.end13: ; preds = %if.then10, %sw.bb8 + %11 = load i8, i8* %elide_outer_quotes, align 1 + %tobool14 = trunc i8 %11 to i1 + br i1 %tobool14, label %if.end24, label %if.then15 + +if.then15: ; preds = %if.end13 + %12 = load i8*, i8** %left_quote.addr, align 8 + store i8* %12, i8** %quote_string, align 8 + br label %for.cond + +for.cond: ; preds = %if.end21, %if.then15 + %13 = load i8*, i8** %quote_string, align 8 + %14 = load i8, i8* %13, align 1 + %tobool16 = icmp ne i8 %14, 0 + br i1 %tobool16, label %do.body17, label %if.end24 + +do.body17: ; preds = %for.cond + %15 = load i64, i64* %len, align 8 + %16 = load i64, i64* %buffersize.addr, align 8 + %cmp18 = icmp ult i64 %15, %16 + br i1 %cmp18, label %if.then19, label %if.end21 + +if.then19: ; preds = %do.body17 + %17 = load i8*, i8** %quote_string, align 8 + %18 = load i8, i8* %17, align 1 + %19 = load i8*, i8** %buffer.addr, align 8 + %20 = load i64, i64* %len, align 8 + %arrayidx20 = getelementptr inbounds i8, i8* %19, i64 %20 + store i8 %18, i8* %arrayidx20, align 1 + br label %if.end21 + +if.end21: ; preds = %if.then19, %do.body17 + %21 = load i64, i64* %len, align 8 + %inc22 = add i64 %21, 1 + store i64 %inc22, i64* %len, align 8 + %22 = load i8*, i8** %quote_string, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %22, i32 1 + store i8* %incdec.ptr, i8** %quote_string, align 8 + br label %for.cond + +if.end24: ; preds = %for.cond, %if.end13 + store i8 1, i8* %backslash_escapes, align 1 + %23 = load i8*, i8** %right_quote.addr, align 8 + store i8* %23, i8** %quote_string, align 8 + %24 = load i8*, i8** %quote_string, align 8 + %call25 = call i64 @strlen(i8* %24) #23 + store i64 %call25, i64* %quote_string_len, align 8 + br label %sw.epilog + +sw.bb26: ; preds = %NodeBlock15 + store i8 1, i8* %backslash_escapes, align 1 + br label %sw.bb27 + +sw.bb27: ; preds = %NodeBlock13, %sw.bb26 + store i8 1, i8* %elide_outer_quotes, align 1 + br label %sw.bb28 + +sw.bb28: ; preds = %NodeBlock11, %sw.bb27 + %25 = load i8, i8* %elide_outer_quotes, align 1 + %tobool29 = trunc i8 %25 to i1 + br i1 %tobool29, label %sw.bb32, label %if.then30 + +if.then30: ; preds = %sw.bb28 + store i8 1, i8* %backslash_escapes, align 1 + br label %sw.bb32 + +sw.bb32: ; preds = %NodeBlock9, %sw.bb28, %if.then30 + store i32 2, i32* %quoting_style.addr, align 4 + %26 = load i8, i8* %elide_outer_quotes, align 1 + %tobool33 = trunc i8 %26 to i1 + br i1 %tobool33, label %if.end42, label %do.body35 + +do.body35: ; preds = %sw.bb32 + %27 = load i64, i64* %len, align 8 + %28 = load i64, i64* %buffersize.addr, align 8 + %cmp36 = icmp ult i64 %27, %28 + br i1 %cmp36, label %if.then37, label %if.end39 + +if.then37: ; preds = %do.body35 + %29 = load i8*, i8** %buffer.addr, align 8 + %30 = load i64, i64* %len, align 8 + %arrayidx38 = getelementptr inbounds i8, i8* %29, i64 %30 + store i8 39, i8* %arrayidx38, align 1 + br label %if.end39 + +if.end39: ; preds = %if.then37, %do.body35 + %31 = load i64, i64* %len, align 8 + %inc40 = add i64 %31, 1 + store i64 %inc40, i64* %len, align 8 + br label %if.end42 + +if.end42: ; preds = %if.end39, %sw.bb32 + store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.73, i64 0, i64 0), i8** %quote_string, align 8 + store i64 1, i64* %quote_string_len, align 8 + br label %sw.epilog + +sw.bb43: ; preds = %NodeBlock + store i8 0, i8* %elide_outer_quotes, align 1 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @abort() #26 + unreachable + +sw.epilog: ; preds = %sw.bb43, %if.end42, %if.end24, %sw.bb7, %if.end6 + store i64 0, i64* %i, align 8 + br label %for.cond44 + +for.cond44: ; preds = %for.inc673, %sw.epilog + %32 = load i64, i64* %argsize.addr, align 8 + %cmp45 = icmp eq i64 %32, -1 + br i1 %cmp45, label %cond.true, label %cond.false + +cond.true: ; preds = %for.cond44 + %33 = load i8*, i8** %arg.addr, align 8 + %34 = load i64, i64* %i, align 8 + %arrayidx46 = getelementptr inbounds i8, i8* %33, i64 %34 + %35 = load i8, i8* %arrayidx46, align 1 + %conv = sext i8 %35 to i32 + %cmp47 = icmp eq i32 %conv, 0 + %conv48 = zext i1 %cmp47 to i32 + br label %cond.end + +cond.false: ; preds = %for.cond44 + %36 = load i64, i64* %i, align 8 + %37 = load i64, i64* %argsize.addr, align 8 + %cmp49 = icmp eq i64 %36, %37 + %conv50 = zext i1 %cmp49 to i32 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ %conv48, %cond.true ], [ %conv50, %cond.false ] + %tobool51 = icmp ne i32 %cond, 0 + %lnot = xor i1 %tobool51, true + br i1 %lnot, label %for.body52, label %for.end675 + +for.body52: ; preds = %cond.end + store i8 0, i8* %is_right_quote, align 1 + store i8 0, i8* %escaping, align 1 + store i8 0, i8* %c_and_shell_quote_compat, align 1 + %38 = load i8, i8* %backslash_escapes, align 1 + %tobool53 = trunc i8 %38 to i1 + %39 = load i32, i32* %quoting_style.addr, align 4 + %cmp55 = icmp ne i32 %39, 2 + %or.cond = and i1 %tobool53, %cmp55 + %40 = load i64, i64* %quote_string_len, align 8 + %tobool58 = icmp ne i64 %40, 0 + %or.cond1 = and i1 %or.cond, %tobool58 + br i1 %or.cond1, label %land.lhs.true59, label %if.end80 + +land.lhs.true59: ; preds = %for.body52 + %41 = load i64, i64* %i, align 8 + %42 = load i64, i64* %quote_string_len, align 8 + %add = add i64 %41, %42 + %43 = load i64, i64* %argsize.addr, align 8 + %cmp60 = icmp eq i64 %43, -1 + %44 = load i64, i64* %quote_string_len, align 8 + %cmp63 = icmp ult i64 1, %44 + %or.cond2 = and i1 %cmp60, %cmp63 + br i1 %or.cond2, label %cond.true65, label %cond.false67 + +cond.true65: ; preds = %land.lhs.true59 + %45 = load i8*, i8** %arg.addr, align 8 + %call66 = call i64 @strlen(i8* %45) #23 + store i64 %call66, i64* %argsize.addr, align 8 + br label %cond.end68 + +cond.false67: ; preds = %land.lhs.true59 + %46 = load i64, i64* %argsize.addr, align 8 + br label %cond.end68 + +cond.end68: ; preds = %cond.false67, %cond.true65 + %cond69 = phi i64 [ %call66, %cond.true65 ], [ %46, %cond.false67 ] + %cmp70 = icmp ule i64 %add, %cond69 + br i1 %cmp70, label %land.lhs.true72, label %if.end80 + +land.lhs.true72: ; preds = %cond.end68 + %47 = load i8*, i8** %arg.addr, align 8 + %48 = load i64, i64* %i, align 8 + %add.ptr = getelementptr inbounds i8, i8* %47, i64 %48 + %49 = load i8*, i8** %quote_string, align 8 + %50 = load i64, i64* %quote_string_len, align 8 + %call73 = call i32 @memcmp(i8* %add.ptr, i8* %49, i64 %50) #23 + %cmp74 = icmp eq i32 %call73, 0 + br i1 %cmp74, label %if.then76, label %if.end80 + +if.then76: ; preds = %land.lhs.true72 + %51 = load i8, i8* %elide_outer_quotes, align 1 + %tobool77 = trunc i8 %51 to i1 + br i1 %tobool77, label %force_outer_quoting_style, label %if.end79 + +if.end79: ; preds = %if.then76 + store i8 1, i8* %is_right_quote, align 1 + br label %if.end80 + +if.end80: ; preds = %if.end79, %land.lhs.true72, %cond.end68, %for.body52 + %52 = load i8*, i8** %arg.addr, align 8 + %53 = load i64, i64* %i, align 8 + %arrayidx81 = getelementptr inbounds i8, i8* %52, i64 %53 + %54 = load i8, i8* %arrayidx81, align 1 + store i8 %54, i8* %c, align 1 + %55 = load i8, i8* %c, align 1 + %conv82 = zext i8 %55 to i32 + br label %NodeBlock232 + +NodeBlock232: ; preds = %if.end80 + %case.cmp233 = icmp eq i32 %conv82, 0 + br i1 %case.cmp233, label %sw.bb83, label %NodeBlock230 + +NodeBlock230: ; preds = %NodeBlock232 + %case.cmp231 = icmp eq i32 %conv82, 63 + br i1 %case.cmp231, label %sw.bb170, label %NodeBlock228 + +NodeBlock228: ; preds = %NodeBlock230 + %case.cmp229 = icmp eq i32 %conv82, 7 + br i1 %case.cmp229, label %sw.bb236, label %NodeBlock226 + +NodeBlock226: ; preds = %NodeBlock228 + %case.cmp227 = icmp eq i32 %conv82, 8 + br i1 %case.cmp227, label %sw.bb237, label %NodeBlock224 + +NodeBlock224: ; preds = %NodeBlock226 + %case.cmp225 = icmp eq i32 %conv82, 12 + br i1 %case.cmp225, label %sw.bb238, label %NodeBlock222 + +NodeBlock222: ; preds = %NodeBlock224 + %case.cmp223 = icmp eq i32 %conv82, 10 + br i1 %case.cmp223, label %sw.bb239, label %NodeBlock220 + +NodeBlock220: ; preds = %NodeBlock222 + %case.cmp221 = icmp eq i32 %conv82, 13 + br i1 %case.cmp221, label %sw.bb240, label %NodeBlock218 + +NodeBlock218: ; preds = %NodeBlock220 + %case.cmp219 = icmp eq i32 %conv82, 9 + br i1 %case.cmp219, label %sw.bb241, label %NodeBlock216 + +NodeBlock216: ; preds = %NodeBlock218 + %case.cmp217 = icmp eq i32 %conv82, 11 + br i1 %case.cmp217, label %sw.bb242, label %NodeBlock214 + +NodeBlock214: ; preds = %NodeBlock216 + %case.cmp215 = icmp eq i32 %conv82, 92 + br i1 %case.cmp215, label %sw.bb243, label %NodeBlock212 + +NodeBlock212: ; preds = %NodeBlock214 + %case.cmp213 = icmp eq i32 %conv82, 123 + br i1 %case.cmp213, label %sw.bb270, label %NodeBlock210 + +NodeBlock210: ; preds = %NodeBlock212 + %case.cmp211 = icmp eq i32 %conv82, 125 + br i1 %case.cmp211, label %sw.bb270, label %NodeBlock208 + +NodeBlock208: ; preds = %NodeBlock210 + %case.cmp209 = icmp eq i32 %conv82, 35 + br i1 %case.cmp209, label %sw.bb283, label %NodeBlock206 + +NodeBlock206: ; preds = %NodeBlock208 + %case.cmp207 = icmp eq i32 %conv82, 126 + br i1 %case.cmp207, label %sw.bb283, label %NodeBlock204 + +NodeBlock204: ; preds = %NodeBlock206 + %case.cmp205 = icmp eq i32 %conv82, 32 + br i1 %case.cmp205, label %sw.bb288, label %NodeBlock202 + +NodeBlock202: ; preds = %NodeBlock204 + %case.cmp203 = icmp eq i32 %conv82, 33 + br i1 %case.cmp203, label %sw.bb289, label %NodeBlock200 + +NodeBlock200: ; preds = %NodeBlock202 + %case.cmp201 = icmp eq i32 %conv82, 34 + br i1 %case.cmp201, label %sw.bb289, label %NodeBlock198 + +NodeBlock198: ; preds = %NodeBlock200 + %case.cmp199 = icmp eq i32 %conv82, 36 + br i1 %case.cmp199, label %sw.bb289, label %NodeBlock196 + +NodeBlock196: ; preds = %NodeBlock198 + %case.cmp197 = icmp eq i32 %conv82, 38 + br i1 %case.cmp197, label %sw.bb289, label %NodeBlock194 + +NodeBlock194: ; preds = %NodeBlock196 + %case.cmp195 = icmp eq i32 %conv82, 40 + br i1 %case.cmp195, label %sw.bb289, label %NodeBlock192 + +NodeBlock192: ; preds = %NodeBlock194 + %case.cmp193 = icmp eq i32 %conv82, 41 + br i1 %case.cmp193, label %sw.bb289, label %NodeBlock190 + +NodeBlock190: ; preds = %NodeBlock192 + %case.cmp191 = icmp eq i32 %conv82, 42 + br i1 %case.cmp191, label %sw.bb289, label %NodeBlock188 + +NodeBlock188: ; preds = %NodeBlock190 + %case.cmp189 = icmp eq i32 %conv82, 59 + br i1 %case.cmp189, label %sw.bb289, label %NodeBlock186 + +NodeBlock186: ; preds = %NodeBlock188 + %case.cmp187 = icmp eq i32 %conv82, 60 + br i1 %case.cmp187, label %sw.bb289, label %NodeBlock184 + +NodeBlock184: ; preds = %NodeBlock186 + %case.cmp185 = icmp eq i32 %conv82, 61 + br i1 %case.cmp185, label %sw.bb289, label %NodeBlock182 + +NodeBlock182: ; preds = %NodeBlock184 + %case.cmp183 = icmp eq i32 %conv82, 62 + br i1 %case.cmp183, label %sw.bb289, label %NodeBlock180 + +NodeBlock180: ; preds = %NodeBlock182 + %case.cmp181 = icmp eq i32 %conv82, 91 + br i1 %case.cmp181, label %sw.bb289, label %NodeBlock178 + +NodeBlock178: ; preds = %NodeBlock180 + %case.cmp179 = icmp eq i32 %conv82, 94 + br i1 %case.cmp179, label %sw.bb289, label %NodeBlock176 + +NodeBlock176: ; preds = %NodeBlock178 + %case.cmp177 = icmp eq i32 %conv82, 96 + br i1 %case.cmp177, label %sw.bb289, label %NodeBlock174 + +NodeBlock174: ; preds = %NodeBlock176 + %case.cmp175 = icmp eq i32 %conv82, 124 + br i1 %case.cmp175, label %sw.bb289, label %NodeBlock172 + +NodeBlock172: ; preds = %NodeBlock174 + %case.cmp173 = icmp eq i32 %conv82, 39 + br i1 %case.cmp173, label %sw.bb297, label %NodeBlock170 + +NodeBlock170: ; preds = %NodeBlock172 + %case.cmp171 = icmp eq i32 %conv82, 37 + br i1 %case.cmp171, label %sw.bb334, label %NodeBlock168 + +NodeBlock168: ; preds = %NodeBlock170 + %case.cmp169 = icmp eq i32 %conv82, 43 + br i1 %case.cmp169, label %sw.bb334, label %NodeBlock166 + +NodeBlock166: ; preds = %NodeBlock168 + %case.cmp167 = icmp eq i32 %conv82, 44 + br i1 %case.cmp167, label %sw.bb334, label %NodeBlock164 + +NodeBlock164: ; preds = %NodeBlock166 + %case.cmp165 = icmp eq i32 %conv82, 45 + br i1 %case.cmp165, label %sw.bb334, label %NodeBlock162 + +NodeBlock162: ; preds = %NodeBlock164 + %case.cmp163 = icmp eq i32 %conv82, 46 + br i1 %case.cmp163, label %sw.bb334, label %NodeBlock160 + +NodeBlock160: ; preds = %NodeBlock162 + %case.cmp161 = icmp eq i32 %conv82, 47 + br i1 %case.cmp161, label %sw.bb334, label %NodeBlock158 + +NodeBlock158: ; preds = %NodeBlock160 + %case.cmp159 = icmp eq i32 %conv82, 48 + br i1 %case.cmp159, label %sw.bb334, label %NodeBlock156 + +NodeBlock156: ; preds = %NodeBlock158 + %case.cmp157 = icmp eq i32 %conv82, 49 + br i1 %case.cmp157, label %sw.bb334, label %NodeBlock154 + +NodeBlock154: ; preds = %NodeBlock156 + %case.cmp155 = icmp eq i32 %conv82, 50 + br i1 %case.cmp155, label %sw.bb334, label %NodeBlock152 + +NodeBlock152: ; preds = %NodeBlock154 + %case.cmp153 = icmp eq i32 %conv82, 51 + br i1 %case.cmp153, label %sw.bb334, label %NodeBlock150 + +NodeBlock150: ; preds = %NodeBlock152 + %case.cmp151 = icmp eq i32 %conv82, 52 + br i1 %case.cmp151, label %sw.bb334, label %NodeBlock148 + +NodeBlock148: ; preds = %NodeBlock150 + %case.cmp149 = icmp eq i32 %conv82, 53 + br i1 %case.cmp149, label %sw.bb334, label %NodeBlock146 + +NodeBlock146: ; preds = %NodeBlock148 + %case.cmp147 = icmp eq i32 %conv82, 54 + br i1 %case.cmp147, label %sw.bb334, label %NodeBlock144 + +NodeBlock144: ; preds = %NodeBlock146 + %case.cmp145 = icmp eq i32 %conv82, 55 + br i1 %case.cmp145, label %sw.bb334, label %NodeBlock142 + +NodeBlock142: ; preds = %NodeBlock144 + %case.cmp143 = icmp eq i32 %conv82, 56 + br i1 %case.cmp143, label %sw.bb334, label %NodeBlock140 + +NodeBlock140: ; preds = %NodeBlock142 + %case.cmp141 = icmp eq i32 %conv82, 57 + br i1 %case.cmp141, label %sw.bb334, label %NodeBlock138 + +NodeBlock138: ; preds = %NodeBlock140 + %case.cmp139 = icmp eq i32 %conv82, 58 + br i1 %case.cmp139, label %sw.bb334, label %NodeBlock136 + +NodeBlock136: ; preds = %NodeBlock138 + %case.cmp137 = icmp eq i32 %conv82, 65 + br i1 %case.cmp137, label %sw.bb334, label %NodeBlock134 + +NodeBlock134: ; preds = %NodeBlock136 + %case.cmp135 = icmp eq i32 %conv82, 66 + br i1 %case.cmp135, label %sw.bb334, label %NodeBlock132 + +NodeBlock132: ; preds = %NodeBlock134 + %case.cmp133 = icmp eq i32 %conv82, 67 + br i1 %case.cmp133, label %sw.bb334, label %NodeBlock130 + +NodeBlock130: ; preds = %NodeBlock132 + %case.cmp131 = icmp eq i32 %conv82, 68 + br i1 %case.cmp131, label %sw.bb334, label %NodeBlock128 + +NodeBlock128: ; preds = %NodeBlock130 + %case.cmp129 = icmp eq i32 %conv82, 69 + br i1 %case.cmp129, label %sw.bb334, label %NodeBlock126 + +NodeBlock126: ; preds = %NodeBlock128 + %case.cmp127 = icmp eq i32 %conv82, 70 + br i1 %case.cmp127, label %sw.bb334, label %NodeBlock124 + +NodeBlock124: ; preds = %NodeBlock126 + %case.cmp125 = icmp eq i32 %conv82, 71 + br i1 %case.cmp125, label %sw.bb334, label %NodeBlock122 + +NodeBlock122: ; preds = %NodeBlock124 + %case.cmp123 = icmp eq i32 %conv82, 72 + br i1 %case.cmp123, label %sw.bb334, label %NodeBlock120 + +NodeBlock120: ; preds = %NodeBlock122 + %case.cmp121 = icmp eq i32 %conv82, 73 + br i1 %case.cmp121, label %sw.bb334, label %NodeBlock118 + +NodeBlock118: ; preds = %NodeBlock120 + %case.cmp119 = icmp eq i32 %conv82, 74 + br i1 %case.cmp119, label %sw.bb334, label %NodeBlock116 + +NodeBlock116: ; preds = %NodeBlock118 + %case.cmp117 = icmp eq i32 %conv82, 75 + br i1 %case.cmp117, label %sw.bb334, label %NodeBlock114 + +NodeBlock114: ; preds = %NodeBlock116 + %case.cmp115 = icmp eq i32 %conv82, 76 + br i1 %case.cmp115, label %sw.bb334, label %NodeBlock112 + +NodeBlock112: ; preds = %NodeBlock114 + %case.cmp113 = icmp eq i32 %conv82, 77 + br i1 %case.cmp113, label %sw.bb334, label %NodeBlock110 + +NodeBlock110: ; preds = %NodeBlock112 + %case.cmp111 = icmp eq i32 %conv82, 78 + br i1 %case.cmp111, label %sw.bb334, label %NodeBlock108 + +NodeBlock108: ; preds = %NodeBlock110 + %case.cmp109 = icmp eq i32 %conv82, 79 + br i1 %case.cmp109, label %sw.bb334, label %NodeBlock106 + +NodeBlock106: ; preds = %NodeBlock108 + %case.cmp107 = icmp eq i32 %conv82, 80 + br i1 %case.cmp107, label %sw.bb334, label %NodeBlock104 + +NodeBlock104: ; preds = %NodeBlock106 + %case.cmp105 = icmp eq i32 %conv82, 81 + br i1 %case.cmp105, label %sw.bb334, label %NodeBlock102 + +NodeBlock102: ; preds = %NodeBlock104 + %case.cmp103 = icmp eq i32 %conv82, 82 + br i1 %case.cmp103, label %sw.bb334, label %NodeBlock100 + +NodeBlock100: ; preds = %NodeBlock102 + %case.cmp101 = icmp eq i32 %conv82, 83 + br i1 %case.cmp101, label %sw.bb334, label %NodeBlock98 + +NodeBlock98: ; preds = %NodeBlock100 + %case.cmp99 = icmp eq i32 %conv82, 84 + br i1 %case.cmp99, label %sw.bb334, label %NodeBlock96 + +NodeBlock96: ; preds = %NodeBlock98 + %case.cmp97 = icmp eq i32 %conv82, 85 + br i1 %case.cmp97, label %sw.bb334, label %NodeBlock94 + +NodeBlock94: ; preds = %NodeBlock96 + %case.cmp95 = icmp eq i32 %conv82, 86 + br i1 %case.cmp95, label %sw.bb334, label %NodeBlock92 + +NodeBlock92: ; preds = %NodeBlock94 + %case.cmp93 = icmp eq i32 %conv82, 87 + br i1 %case.cmp93, label %sw.bb334, label %NodeBlock90 + +NodeBlock90: ; preds = %NodeBlock92 + %case.cmp91 = icmp eq i32 %conv82, 88 + br i1 %case.cmp91, label %sw.bb334, label %NodeBlock88 + +NodeBlock88: ; preds = %NodeBlock90 + %case.cmp89 = icmp eq i32 %conv82, 89 + br i1 %case.cmp89, label %sw.bb334, label %NodeBlock86 + +NodeBlock86: ; preds = %NodeBlock88 + %case.cmp87 = icmp eq i32 %conv82, 90 + br i1 %case.cmp87, label %sw.bb334, label %NodeBlock84 + +NodeBlock84: ; preds = %NodeBlock86 + %case.cmp85 = icmp eq i32 %conv82, 93 + br i1 %case.cmp85, label %sw.bb334, label %NodeBlock82 + +NodeBlock82: ; preds = %NodeBlock84 + %case.cmp83 = icmp eq i32 %conv82, 95 + br i1 %case.cmp83, label %sw.bb334, label %NodeBlock80 + +NodeBlock80: ; preds = %NodeBlock82 + %case.cmp81 = icmp eq i32 %conv82, 97 + br i1 %case.cmp81, label %sw.bb334, label %NodeBlock78 + +NodeBlock78: ; preds = %NodeBlock80 + %case.cmp79 = icmp eq i32 %conv82, 98 + br i1 %case.cmp79, label %sw.bb334, label %NodeBlock76 + +NodeBlock76: ; preds = %NodeBlock78 + %case.cmp77 = icmp eq i32 %conv82, 99 + br i1 %case.cmp77, label %sw.bb334, label %NodeBlock74 + +NodeBlock74: ; preds = %NodeBlock76 + %case.cmp75 = icmp eq i32 %conv82, 100 + br i1 %case.cmp75, label %sw.bb334, label %NodeBlock72 + +NodeBlock72: ; preds = %NodeBlock74 + %case.cmp73 = icmp eq i32 %conv82, 101 + br i1 %case.cmp73, label %sw.bb334, label %NodeBlock70 + +NodeBlock70: ; preds = %NodeBlock72 + %case.cmp71 = icmp eq i32 %conv82, 102 + br i1 %case.cmp71, label %sw.bb334, label %NodeBlock68 + +NodeBlock68: ; preds = %NodeBlock70 + %case.cmp69 = icmp eq i32 %conv82, 103 + br i1 %case.cmp69, label %sw.bb334, label %NodeBlock66 + +NodeBlock66: ; preds = %NodeBlock68 + %case.cmp67 = icmp eq i32 %conv82, 104 + br i1 %case.cmp67, label %sw.bb334, label %NodeBlock64 + +NodeBlock64: ; preds = %NodeBlock66 + %case.cmp65 = icmp eq i32 %conv82, 105 + br i1 %case.cmp65, label %sw.bb334, label %NodeBlock62 + +NodeBlock62: ; preds = %NodeBlock64 + %case.cmp63 = icmp eq i32 %conv82, 106 + br i1 %case.cmp63, label %sw.bb334, label %NodeBlock60 + +NodeBlock60: ; preds = %NodeBlock62 + %case.cmp61 = icmp eq i32 %conv82, 107 + br i1 %case.cmp61, label %sw.bb334, label %NodeBlock58 + +NodeBlock58: ; preds = %NodeBlock60 + %case.cmp59 = icmp eq i32 %conv82, 108 + br i1 %case.cmp59, label %sw.bb334, label %NodeBlock56 + +NodeBlock56: ; preds = %NodeBlock58 + %case.cmp57 = icmp eq i32 %conv82, 109 + br i1 %case.cmp57, label %sw.bb334, label %NodeBlock54 + +NodeBlock54: ; preds = %NodeBlock56 + %case.cmp55 = icmp eq i32 %conv82, 110 + br i1 %case.cmp55, label %sw.bb334, label %NodeBlock52 + +NodeBlock52: ; preds = %NodeBlock54 + %case.cmp53 = icmp eq i32 %conv82, 111 + br i1 %case.cmp53, label %sw.bb334, label %NodeBlock50 + +NodeBlock50: ; preds = %NodeBlock52 + %case.cmp51 = icmp eq i32 %conv82, 112 + br i1 %case.cmp51, label %sw.bb334, label %NodeBlock48 + +NodeBlock48: ; preds = %NodeBlock50 + %case.cmp49 = icmp eq i32 %conv82, 113 + br i1 %case.cmp49, label %sw.bb334, label %NodeBlock46 + +NodeBlock46: ; preds = %NodeBlock48 + %case.cmp47 = icmp eq i32 %conv82, 114 + br i1 %case.cmp47, label %sw.bb334, label %NodeBlock44 + +NodeBlock44: ; preds = %NodeBlock46 + %case.cmp45 = icmp eq i32 %conv82, 115 + br i1 %case.cmp45, label %sw.bb334, label %NodeBlock42 + +NodeBlock42: ; preds = %NodeBlock44 + %case.cmp43 = icmp eq i32 %conv82, 116 + br i1 %case.cmp43, label %sw.bb334, label %NodeBlock40 + +NodeBlock40: ; preds = %NodeBlock42 + %case.cmp41 = icmp eq i32 %conv82, 117 + br i1 %case.cmp41, label %sw.bb334, label %NodeBlock38 + +NodeBlock38: ; preds = %NodeBlock40 + %case.cmp39 = icmp eq i32 %conv82, 118 + br i1 %case.cmp39, label %sw.bb334, label %NodeBlock36 + +NodeBlock36: ; preds = %NodeBlock38 + %case.cmp37 = icmp eq i32 %conv82, 119 + br i1 %case.cmp37, label %sw.bb334, label %NodeBlock34 + +NodeBlock34: ; preds = %NodeBlock36 + %case.cmp35 = icmp eq i32 %conv82, 120 + br i1 %case.cmp35, label %sw.bb334, label %NodeBlock32 + +NodeBlock32: ; preds = %NodeBlock34 + %case.cmp33 = icmp eq i32 %conv82, 121 + br i1 %case.cmp33, label %sw.bb334, label %NodeBlock30 + +NodeBlock30: ; preds = %NodeBlock32 + %case.cmp31 = icmp eq i32 %conv82, 122 + br i1 %case.cmp31, label %sw.bb334, label %newDefault29 + +sw.bb83: ; preds = %NodeBlock232 + %56 = load i8, i8* %backslash_escapes, align 1 + %tobool84 = trunc i8 %56 to i1 + br i1 %tobool84, label %do.body86, label %if.else + +do.body86: ; preds = %sw.bb83 + %57 = load i8, i8* %elide_outer_quotes, align 1 + %tobool87 = trunc i8 %57 to i1 + br i1 %tobool87, label %force_outer_quoting_style, label %if.end89 + +if.end89: ; preds = %do.body86 + store i8 1, i8* %escaping, align 1 + %58 = load i32, i32* %quoting_style.addr, align 4 + %cmp90 = icmp eq i32 %58, 2 + br i1 %cmp90, label %land.lhs.true92, label %do.body120 + +land.lhs.true92: ; preds = %if.end89 + %59 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool93 = trunc i8 %59 to i1 + br i1 %tobool93, label %do.body120, label %do.body95 + +do.body95: ; preds = %land.lhs.true92 + %60 = load i64, i64* %len, align 8 + %61 = load i64, i64* %buffersize.addr, align 8 + %cmp96 = icmp ult i64 %60, %61 + br i1 %cmp96, label %if.then98, label %if.end100 + +if.then98: ; preds = %do.body95 + %62 = load i8*, i8** %buffer.addr, align 8 + %63 = load i64, i64* %len, align 8 + %arrayidx99 = getelementptr inbounds i8, i8* %62, i64 %63 + store i8 39, i8* %arrayidx99, align 1 + br label %if.end100 + +if.end100: ; preds = %if.then98, %do.body95 + %64 = load i64, i64* %len, align 8 + %inc101 = add i64 %64, 1 + store i64 %inc101, i64* %len, align 8 + %65 = load i64, i64* %len, align 8 + %66 = load i64, i64* %buffersize.addr, align 8 + %cmp104 = icmp ult i64 %65, %66 + br i1 %cmp104, label %if.then106, label %if.end108 + +if.then106: ; preds = %if.end100 + %67 = load i8*, i8** %buffer.addr, align 8 + %68 = load i64, i64* %len, align 8 + %arrayidx107 = getelementptr inbounds i8, i8* %67, i64 %68 + store i8 36, i8* %arrayidx107, align 1 + br label %if.end108 + +if.end108: ; preds = %if.then106, %if.end100 + %69 = load i64, i64* %len, align 8 + %inc109 = add i64 %69, 1 + store i64 %inc109, i64* %len, align 8 + %70 = load i64, i64* %len, align 8 + %71 = load i64, i64* %buffersize.addr, align 8 + %cmp112 = icmp ult i64 %70, %71 + br i1 %cmp112, label %if.then114, label %if.end116 + +if.then114: ; preds = %if.end108 + %72 = load i8*, i8** %buffer.addr, align 8 + %73 = load i64, i64* %len, align 8 + %arrayidx115 = getelementptr inbounds i8, i8* %72, i64 %73 + store i8 39, i8* %arrayidx115, align 1 + br label %if.end116 + +if.end116: ; preds = %if.then114, %if.end108 + %74 = load i64, i64* %len, align 8 + %inc117 = add i64 %74, 1 + store i64 %inc117, i64* %len, align 8 + store i8 1, i8* %pending_shell_escape_end, align 1 + br label %do.body120 + +do.body120: ; preds = %if.end89, %land.lhs.true92, %if.end116 + %75 = load i64, i64* %len, align 8 + %76 = load i64, i64* %buffersize.addr, align 8 + %cmp121 = icmp ult i64 %75, %76 + br i1 %cmp121, label %if.then123, label %if.end125 + +if.then123: ; preds = %do.body120 + %77 = load i8*, i8** %buffer.addr, align 8 + %78 = load i64, i64* %len, align 8 + %arrayidx124 = getelementptr inbounds i8, i8* %77, i64 %78 + store i8 92, i8* %arrayidx124, align 1 + br label %if.end125 + +if.end125: ; preds = %if.then123, %do.body120 + %79 = load i64, i64* %len, align 8 + %inc126 = add i64 %79, 1 + store i64 %inc126, i64* %len, align 8 + %80 = load i32, i32* %quoting_style.addr, align 4 + %cmp129 = icmp ne i32 %80, 2 + br i1 %cmp129, label %land.lhs.true131, label %if.end164 + +land.lhs.true131: ; preds = %if.end125 + %81 = load i64, i64* %i, align 8 + %add132 = add i64 %81, 1 + %82 = load i64, i64* %argsize.addr, align 8 + %cmp133 = icmp ult i64 %add132, %82 + br i1 %cmp133, label %land.lhs.true135, label %if.end164 + +land.lhs.true135: ; preds = %land.lhs.true131 + %83 = load i8*, i8** %arg.addr, align 8 + %84 = load i64, i64* %i, align 8 + %add136 = add i64 %84, 1 + %arrayidx137 = getelementptr inbounds i8, i8* %83, i64 %add136 + %85 = load i8, i8* %arrayidx137, align 1 + %conv138 = sext i8 %85 to i32 + %cmp139 = icmp sle i32 48, %conv138 + br i1 %cmp139, label %land.lhs.true141, label %if.end164 + +land.lhs.true141: ; preds = %land.lhs.true135 + %86 = load i8*, i8** %arg.addr, align 8 + %87 = load i64, i64* %i, align 8 + %add142 = add i64 %87, 1 + %arrayidx143 = getelementptr inbounds i8, i8* %86, i64 %add142 + %88 = load i8, i8* %arrayidx143, align 1 + %conv144 = sext i8 %88 to i32 + %cmp145 = icmp sle i32 %conv144, 57 + br i1 %cmp145, label %do.body148, label %if.end164 + +do.body148: ; preds = %land.lhs.true141 + %89 = load i64, i64* %len, align 8 + %90 = load i64, i64* %buffersize.addr, align 8 + %cmp149 = icmp ult i64 %89, %90 + br i1 %cmp149, label %if.then151, label %if.end153 + +if.then151: ; preds = %do.body148 + %91 = load i8*, i8** %buffer.addr, align 8 + %92 = load i64, i64* %len, align 8 + %arrayidx152 = getelementptr inbounds i8, i8* %91, i64 %92 + store i8 48, i8* %arrayidx152, align 1 + br label %if.end153 + +if.end153: ; preds = %if.then151, %do.body148 + %93 = load i64, i64* %len, align 8 + %inc154 = add i64 %93, 1 + store i64 %inc154, i64* %len, align 8 + %94 = load i64, i64* %len, align 8 + %95 = load i64, i64* %buffersize.addr, align 8 + %cmp157 = icmp ult i64 %94, %95 + br i1 %cmp157, label %if.then159, label %if.end161 + +if.then159: ; preds = %if.end153 + %96 = load i8*, i8** %buffer.addr, align 8 + %97 = load i64, i64* %len, align 8 + %arrayidx160 = getelementptr inbounds i8, i8* %96, i64 %97 + store i8 48, i8* %arrayidx160, align 1 + br label %if.end161 + +if.end161: ; preds = %if.then159, %if.end153 + %98 = load i64, i64* %len, align 8 + %inc162 = add i64 %98, 1 + store i64 %inc162, i64* %len, align 8 + br label %if.end164 + +if.end164: ; preds = %if.end161, %land.lhs.true141, %land.lhs.true135, %land.lhs.true131, %if.end125 + store i8 48, i8* %c, align 1 + br label %sw.epilog564 + +if.else: ; preds = %sw.bb83 + %99 = load i32, i32* %flags.addr, align 4 + %and165 = and i32 %99, 1 + %tobool166 = icmp ne i32 %and165, 0 + br i1 %tobool166, label %for.inc673, label %sw.epilog564 + +sw.bb170: ; preds = %NodeBlock230 + %100 = load i32, i32* %quoting_style.addr, align 4 + br label %NodeBlock237 + +NodeBlock237: ; preds = %sw.bb170 + %case.cmp238 = icmp eq i32 %100, 2 + br i1 %case.cmp238, label %sw.bb171, label %NodeBlock235 + +NodeBlock235: ; preds = %NodeBlock237 + %case.cmp236 = icmp eq i32 %100, 5 + br i1 %case.cmp236, label %sw.bb175, label %newDefault234 + +sw.bb171: ; preds = %NodeBlock237 + %101 = load i8, i8* %elide_outer_quotes, align 1 + %tobool172 = trunc i8 %101 to i1 + br i1 %tobool172, label %force_outer_quoting_style, label %sw.epilog564 + +sw.bb175: ; preds = %NodeBlock235 + %102 = load i32, i32* %flags.addr, align 4 + %and176 = and i32 %102, 4 + %tobool177 = icmp ne i32 %and176, 0 + br i1 %tobool177, label %land.lhs.true178, label %sw.epilog564 + +land.lhs.true178: ; preds = %sw.bb175 + %103 = load i64, i64* %i, align 8 + %add179 = add i64 %103, 2 + %104 = load i64, i64* %argsize.addr, align 8 + %cmp180 = icmp ult i64 %add179, %104 + br i1 %cmp180, label %land.lhs.true182, label %sw.epilog564 + +land.lhs.true182: ; preds = %land.lhs.true178 + %105 = load i8*, i8** %arg.addr, align 8 + %106 = load i64, i64* %i, align 8 + %add183 = add i64 %106, 1 + %arrayidx184 = getelementptr inbounds i8, i8* %105, i64 %add183 + %107 = load i8, i8* %arrayidx184, align 1 + %conv185 = sext i8 %107 to i32 + %cmp186 = icmp eq i32 %conv185, 63 + br i1 %cmp186, label %if.then188, label %sw.epilog564 + +if.then188: ; preds = %land.lhs.true182 + %108 = load i8*, i8** %arg.addr, align 8 + %109 = load i64, i64* %i, align 8 + %add189 = add i64 %109, 2 + %arrayidx190 = getelementptr inbounds i8, i8* %108, i64 %add189 + %110 = load i8, i8* %arrayidx190, align 1 + %conv191 = sext i8 %110 to i32 + br label %NodeBlock256 + +NodeBlock256: ; preds = %if.then188 + %case.cmp257 = icmp eq i32 %conv191, 33 + br i1 %case.cmp257, label %sw.bb192, label %NodeBlock254 + +NodeBlock254: ; preds = %NodeBlock256 + %case.cmp255 = icmp eq i32 %conv191, 39 + br i1 %case.cmp255, label %sw.bb192, label %NodeBlock252 + +NodeBlock252: ; preds = %NodeBlock254 + %case.cmp253 = icmp eq i32 %conv191, 40 + br i1 %case.cmp253, label %sw.bb192, label %NodeBlock250 + +NodeBlock250: ; preds = %NodeBlock252 + %case.cmp251 = icmp eq i32 %conv191, 41 + br i1 %case.cmp251, label %sw.bb192, label %NodeBlock248 + +NodeBlock248: ; preds = %NodeBlock250 + %case.cmp249 = icmp eq i32 %conv191, 45 + br i1 %case.cmp249, label %sw.bb192, label %NodeBlock246 + +NodeBlock246: ; preds = %NodeBlock248 + %case.cmp247 = icmp eq i32 %conv191, 47 + br i1 %case.cmp247, label %sw.bb192, label %NodeBlock244 + +NodeBlock244: ; preds = %NodeBlock246 + %case.cmp245 = icmp eq i32 %conv191, 60 + br i1 %case.cmp245, label %sw.bb192, label %NodeBlock242 + +NodeBlock242: ; preds = %NodeBlock244 + %case.cmp243 = icmp eq i32 %conv191, 61 + br i1 %case.cmp243, label %sw.bb192, label %NodeBlock240 + +NodeBlock240: ; preds = %NodeBlock242 + %case.cmp241 = icmp eq i32 %conv191, 62 + br i1 %case.cmp241, label %sw.bb192, label %newDefault239 + +sw.bb192: ; preds = %NodeBlock256, %NodeBlock254, %NodeBlock252, %NodeBlock250, %NodeBlock248, %NodeBlock246, %NodeBlock244, %NodeBlock242, %NodeBlock240 + %111 = load i8, i8* %elide_outer_quotes, align 1 + %tobool193 = trunc i8 %111 to i1 + br i1 %tobool193, label %force_outer_quoting_style, label %if.end195 + +if.end195: ; preds = %sw.bb192 + %112 = load i8*, i8** %arg.addr, align 8 + %113 = load i64, i64* %i, align 8 + %add196 = add i64 %113, 2 + %arrayidx197 = getelementptr inbounds i8, i8* %112, i64 %add196 + %114 = load i8, i8* %arrayidx197, align 1 + store i8 %114, i8* %c, align 1 + %115 = load i64, i64* %i, align 8 + %add198 = add i64 %115, 2 + store i64 %add198, i64* %i, align 8 + %116 = load i64, i64* %len, align 8 + %117 = load i64, i64* %buffersize.addr, align 8 + %cmp200 = icmp ult i64 %116, %117 + br i1 %cmp200, label %if.then202, label %if.end204 + +if.then202: ; preds = %if.end195 + %118 = load i8*, i8** %buffer.addr, align 8 + %119 = load i64, i64* %len, align 8 + %arrayidx203 = getelementptr inbounds i8, i8* %118, i64 %119 + store i8 63, i8* %arrayidx203, align 1 + br label %if.end204 + +if.end204: ; preds = %if.then202, %if.end195 + %120 = load i64, i64* %len, align 8 + %inc205 = add i64 %120, 1 + store i64 %inc205, i64* %len, align 8 + %121 = load i64, i64* %len, align 8 + %122 = load i64, i64* %buffersize.addr, align 8 + %cmp208 = icmp ult i64 %121, %122 + br i1 %cmp208, label %if.then210, label %if.end212 + +if.then210: ; preds = %if.end204 + %123 = load i8*, i8** %buffer.addr, align 8 + %124 = load i64, i64* %len, align 8 + %arrayidx211 = getelementptr inbounds i8, i8* %123, i64 %124 + store i8 34, i8* %arrayidx211, align 1 + br label %if.end212 + +if.end212: ; preds = %if.then210, %if.end204 + %125 = load i64, i64* %len, align 8 + %inc213 = add i64 %125, 1 + store i64 %inc213, i64* %len, align 8 + %126 = load i64, i64* %len, align 8 + %127 = load i64, i64* %buffersize.addr, align 8 + %cmp216 = icmp ult i64 %126, %127 + br i1 %cmp216, label %if.then218, label %if.end220 + +if.then218: ; preds = %if.end212 + %128 = load i8*, i8** %buffer.addr, align 8 + %129 = load i64, i64* %len, align 8 + %arrayidx219 = getelementptr inbounds i8, i8* %128, i64 %129 + store i8 34, i8* %arrayidx219, align 1 + br label %if.end220 + +if.end220: ; preds = %if.then218, %if.end212 + %130 = load i64, i64* %len, align 8 + %inc221 = add i64 %130, 1 + store i64 %inc221, i64* %len, align 8 + %131 = load i64, i64* %len, align 8 + %132 = load i64, i64* %buffersize.addr, align 8 + %cmp224 = icmp ult i64 %131, %132 + br i1 %cmp224, label %if.then226, label %if.end228 + +if.then226: ; preds = %if.end220 + %133 = load i8*, i8** %buffer.addr, align 8 + %134 = load i64, i64* %len, align 8 + %arrayidx227 = getelementptr inbounds i8, i8* %133, i64 %134 + store i8 63, i8* %arrayidx227, align 1 + br label %if.end228 + +if.end228: ; preds = %if.then226, %if.end220 + %135 = load i64, i64* %len, align 8 + %inc229 = add i64 %135, 1 + store i64 %inc229, i64* %len, align 8 + br label %sw.epilog564 + +sw.bb236: ; preds = %NodeBlock228 + store i8 97, i8* %esc, align 1 + br label %c_escape + +sw.bb237: ; preds = %NodeBlock226 + store i8 98, i8* %esc, align 1 + br label %c_escape + +sw.bb238: ; preds = %NodeBlock224 + store i8 102, i8* %esc, align 1 + br label %c_escape + +sw.bb239: ; preds = %NodeBlock222 + store i8 110, i8* %esc, align 1 + br label %c_and_shell_escape + +sw.bb240: ; preds = %NodeBlock220 + store i8 114, i8* %esc, align 1 + br label %c_and_shell_escape + +sw.bb241: ; preds = %NodeBlock218 + store i8 116, i8* %esc, align 1 + br label %c_and_shell_escape + +sw.bb242: ; preds = %NodeBlock216 + store i8 118, i8* %esc, align 1 + br label %c_escape + +sw.bb243: ; preds = %NodeBlock214 + %136 = load i8, i8* %c, align 1 + store i8 %136, i8* %esc, align 1 + %137 = load i32, i32* %quoting_style.addr, align 4 + %cmp244 = icmp eq i32 %137, 2 + br i1 %cmp244, label %if.then246, label %if.end250 + +if.then246: ; preds = %sw.bb243 + %138 = load i8, i8* %elide_outer_quotes, align 1 + %tobool247 = trunc i8 %138 to i1 + br i1 %tobool247, label %force_outer_quoting_style, label %do.body634 + +if.end250: ; preds = %sw.bb243 + %139 = load i8, i8* %backslash_escapes, align 1 + %tobool251 = trunc i8 %139 to i1 + br i1 %tobool251, label %land.lhs.true253, label %c_and_shell_escape + +land.lhs.true253: ; preds = %if.end250 + %140 = load i8, i8* %elide_outer_quotes, align 1 + %tobool254 = trunc i8 %140 to i1 + %141 = load i64, i64* %quote_string_len, align 8 + %tobool257 = icmp ne i64 %141, 0 + %or.cond3 = and i1 %tobool254, %tobool257 + br i1 %or.cond3, label %do.body634, label %c_and_shell_escape + +c_and_shell_escape: ; preds = %if.end250, %land.lhs.true253, %sw.bb241, %sw.bb240, %sw.bb239 + %142 = load i32, i32* %quoting_style.addr, align 4 + %cmp260 = icmp eq i32 %142, 2 + br i1 %cmp260, label %land.lhs.true262, label %c_escape + +land.lhs.true262: ; preds = %c_and_shell_escape + %143 = load i8, i8* %elide_outer_quotes, align 1 + %tobool263 = trunc i8 %143 to i1 + br i1 %tobool263, label %force_outer_quoting_style, label %c_escape + +c_escape: ; preds = %c_and_shell_escape, %land.lhs.true262, %sw.bb242, %sw.bb238, %sw.bb237, %sw.bb236 + %144 = load i8, i8* %backslash_escapes, align 1 + %tobool267 = trunc i8 %144 to i1 + br i1 %tobool267, label %if.then268, label %sw.epilog564 + +if.then268: ; preds = %c_escape + %145 = load i8, i8* %esc, align 1 + store i8 %145, i8* %c, align 1 + br label %do.body586 + +sw.bb270: ; preds = %NodeBlock212, %NodeBlock210 + %146 = load i64, i64* %argsize.addr, align 8 + %cmp271 = icmp eq i64 %146, -1 + br i1 %cmp271, label %cond.true273, label %cond.false278 + +cond.true273: ; preds = %sw.bb270 + %147 = load i8*, i8** %arg.addr, align 8 + %arrayidx274 = getelementptr inbounds i8, i8* %147, i64 1 + %148 = load i8, i8* %arrayidx274, align 1 + %conv275 = sext i8 %148 to i32 + %cmp276 = icmp eq i32 %conv275, 0 + br i1 %cmp276, label %sw.bb283, label %sw.epilog564 + +cond.false278: ; preds = %sw.bb270 + %149 = load i64, i64* %argsize.addr, align 8 + %cmp279 = icmp eq i64 %149, 1 + br i1 %cmp279, label %sw.bb283, label %sw.epilog564 + +sw.bb283: ; preds = %NodeBlock208, %NodeBlock206, %cond.true273, %cond.false278 + %150 = load i64, i64* %i, align 8 + %cmp284 = icmp ne i64 %150, 0 + br i1 %cmp284, label %sw.epilog564, label %sw.bb288 + +sw.bb288: ; preds = %NodeBlock204, %sw.bb283 + store i8 1, i8* %c_and_shell_quote_compat, align 1 + br label %sw.bb289 + +sw.bb289: ; preds = %NodeBlock202, %NodeBlock200, %NodeBlock198, %NodeBlock196, %NodeBlock194, %NodeBlock192, %NodeBlock190, %NodeBlock188, %NodeBlock186, %NodeBlock184, %NodeBlock182, %NodeBlock180, %NodeBlock178, %NodeBlock176, %NodeBlock174, %sw.bb288 + %151 = load i32, i32* %quoting_style.addr, align 4 + %cmp290 = icmp eq i32 %151, 2 + br i1 %cmp290, label %land.lhs.true292, label %sw.epilog564 + +land.lhs.true292: ; preds = %sw.bb289 + %152 = load i8, i8* %elide_outer_quotes, align 1 + %tobool293 = trunc i8 %152 to i1 + br i1 %tobool293, label %force_outer_quoting_style, label %sw.epilog564 + +sw.bb297: ; preds = %NodeBlock172 + store i8 1, i8* %encountered_single_quote, align 1 + store i8 1, i8* %c_and_shell_quote_compat, align 1 + %153 = load i32, i32* %quoting_style.addr, align 4 + %cmp298 = icmp eq i32 %153, 2 + br i1 %cmp298, label %if.then300, label %sw.epilog564 + +if.then300: ; preds = %sw.bb297 + %154 = load i8, i8* %elide_outer_quotes, align 1 + %tobool301 = trunc i8 %154 to i1 + br i1 %tobool301, label %force_outer_quoting_style, label %if.end303 + +if.end303: ; preds = %if.then300 + %155 = load i64, i64* %buffersize.addr, align 8 + %tobool304 = icmp eq i64 %155, 0 + %156 = load i64, i64* %orig_buffersize, align 8 + %tobool306 = icmp ne i64 %156, 0 + %or.cond4 = or i1 %tobool304, %tobool306 + br i1 %or.cond4, label %do.body309, label %if.then307 + +if.then307: ; preds = %if.end303 + %157 = load i64, i64* %buffersize.addr, align 8 + store i64 %157, i64* %orig_buffersize, align 8 + store i64 0, i64* %buffersize.addr, align 8 + br label %do.body309 + +do.body309: ; preds = %if.then307, %if.end303 + %158 = load i64, i64* %len, align 8 + %159 = load i64, i64* %buffersize.addr, align 8 + %cmp310 = icmp ult i64 %158, %159 + br i1 %cmp310, label %if.then312, label %if.end314 + +if.then312: ; preds = %do.body309 + %160 = load i8*, i8** %buffer.addr, align 8 + %161 = load i64, i64* %len, align 8 + %arrayidx313 = getelementptr inbounds i8, i8* %160, i64 %161 + store i8 39, i8* %arrayidx313, align 1 + br label %if.end314 + +if.end314: ; preds = %if.then312, %do.body309 + %162 = load i64, i64* %len, align 8 + %inc315 = add i64 %162, 1 + store i64 %inc315, i64* %len, align 8 + %163 = load i64, i64* %len, align 8 + %164 = load i64, i64* %buffersize.addr, align 8 + %cmp318 = icmp ult i64 %163, %164 + br i1 %cmp318, label %if.then320, label %if.end322 + +if.then320: ; preds = %if.end314 + %165 = load i8*, i8** %buffer.addr, align 8 + %166 = load i64, i64* %len, align 8 + %arrayidx321 = getelementptr inbounds i8, i8* %165, i64 %166 + store i8 92, i8* %arrayidx321, align 1 + br label %if.end322 + +if.end322: ; preds = %if.then320, %if.end314 + %167 = load i64, i64* %len, align 8 + %inc323 = add i64 %167, 1 + store i64 %inc323, i64* %len, align 8 + %168 = load i64, i64* %len, align 8 + %169 = load i64, i64* %buffersize.addr, align 8 + %cmp326 = icmp ult i64 %168, %169 + br i1 %cmp326, label %if.then328, label %if.end330 + +if.then328: ; preds = %if.end322 + %170 = load i8*, i8** %buffer.addr, align 8 + %171 = load i64, i64* %len, align 8 + %arrayidx329 = getelementptr inbounds i8, i8* %170, i64 %171 + store i8 39, i8* %arrayidx329, align 1 + br label %if.end330 + +if.end330: ; preds = %if.then328, %if.end322 + %172 = load i64, i64* %len, align 8 + %inc331 = add i64 %172, 1 + store i64 %inc331, i64* %len, align 8 + store i8 0, i8* %pending_shell_escape_end, align 1 + br label %sw.epilog564 + +sw.bb334: ; preds = %NodeBlock170, %NodeBlock168, %NodeBlock166, %NodeBlock164, %NodeBlock162, %NodeBlock160, %NodeBlock158, %NodeBlock156, %NodeBlock154, %NodeBlock152, %NodeBlock150, %NodeBlock148, %NodeBlock146, %NodeBlock144, %NodeBlock142, %NodeBlock140, %NodeBlock138, %NodeBlock136, %NodeBlock134, %NodeBlock132, %NodeBlock130, %NodeBlock128, %NodeBlock126, %NodeBlock124, %NodeBlock122, %NodeBlock120, %NodeBlock118, %NodeBlock116, %NodeBlock114, %NodeBlock112, %NodeBlock110, %NodeBlock108, %NodeBlock106, %NodeBlock104, %NodeBlock102, %NodeBlock100, %NodeBlock98, %NodeBlock96, %NodeBlock94, %NodeBlock92, %NodeBlock90, %NodeBlock88, %NodeBlock86, %NodeBlock84, %NodeBlock82, %NodeBlock80, %NodeBlock78, %NodeBlock76, %NodeBlock74, %NodeBlock72, %NodeBlock70, %NodeBlock68, %NodeBlock66, %NodeBlock64, %NodeBlock62, %NodeBlock60, %NodeBlock58, %NodeBlock56, %NodeBlock54, %NodeBlock52, %NodeBlock50, %NodeBlock48, %NodeBlock46, %NodeBlock44, %NodeBlock42, %NodeBlock40, %NodeBlock38, %NodeBlock36, %NodeBlock34, %NodeBlock32, %NodeBlock30 + store i8 1, i8* %c_and_shell_quote_compat, align 1 + br label %sw.epilog564 + +newDefault29: ; preds = %NodeBlock30 + br label %sw.default335 + +sw.default335: ; preds = %newDefault29 + %173 = load i8, i8* %unibyte_locale, align 1 + %tobool336 = trunc i8 %173 to i1 + br i1 %tobool336, label %if.then337, label %if.else346 + +if.then337: ; preds = %sw.default335 + store i64 1, i64* %m, align 8 + %call338 = call i16** @__ctype_b_loc() #25 + %174 = load i16*, i16** %call338, align 8 + %175 = load i8, i8* %c, align 1 + %conv339 = zext i8 %175 to i32 + %idxprom = sext i32 %conv339 to i64 + %arrayidx340 = getelementptr inbounds i16, i16* %174, i64 %idxprom + %176 = load i16, i16* %arrayidx340, align 2 + %conv341 = zext i16 %176 to i32 + %and342 = and i32 %conv341, 16384 + %cmp343 = icmp ne i32 %and342, 0 + %frombool345 = zext i1 %cmp343 to i8 + store i8 %frombool345, i8* %printable, align 1 + br label %if.end410 + +if.else346: ; preds = %sw.default335 + %177 = bitcast %struct.__mbstate_t* %mbstate to i8* + %178 = call i8* @memset(i8* %177, i32 0, i64 8) + store i64 0, i64* %m, align 8 + store i8 1, i8* %printable, align 1 + %179 = load i64, i64* %argsize.addr, align 8 + %cmp347 = icmp eq i64 %179, -1 + br i1 %cmp347, label %if.then349, label %if.end351 + +if.then349: ; preds = %if.else346 + %180 = load i8*, i8** %arg.addr, align 8 + %call350 = call i64 @strlen(i8* %180) #23 + store i64 %call350, i64* %argsize.addr, align 8 + br label %if.end351 + +if.end351: ; preds = %if.then349, %if.else346 + br label %do.body352 + +do.body352: ; preds = %if.end401, %if.end351 + %181 = load i8*, i8** %arg.addr, align 8 + %182 = load i64, i64* %i, align 8 + %183 = load i64, i64* %m, align 8 + %add353 = add i64 %182, %183 + %arrayidx354 = getelementptr inbounds i8, i8* %181, i64 %add353 + %184 = load i64, i64* %argsize.addr, align 8 + %185 = load i64, i64* %i, align 8 + %186 = load i64, i64* %m, align 8 + %add355 = add i64 %185, %186 + %sub = sub i64 %184, %add355 + %call356 = call i64 @rpl_mbrtowc(i32* %w, i8* %arrayidx354, i64 %sub, %struct.__mbstate_t* %mbstate) + store i64 %call356, i64* %bytes, align 8 + %187 = load i64, i64* %bytes, align 8 + %cmp357 = icmp eq i64 %187, 0 + br i1 %cmp357, label %if.end410, label %if.else360 + +if.else360: ; preds = %do.body352 + %188 = load i64, i64* %bytes, align 8 + %cmp361 = icmp eq i64 %188, -1 + br i1 %cmp361, label %if.then363, label %if.else364 + +if.then363: ; preds = %if.else360 + store i8 0, i8* %printable, align 1 + br label %if.end410 + +if.else364: ; preds = %if.else360 + %189 = load i64, i64* %bytes, align 8 + %cmp365 = icmp eq i64 %189, -2 + br i1 %cmp365, label %if.then367, label %if.else376 + +if.then367: ; preds = %if.else364 + store i8 0, i8* %printable, align 1 + br label %while.cond + +while.cond: ; preds = %while.body, %if.then367 + %190 = load i64, i64* %i, align 8 + %191 = load i64, i64* %m, align 8 + %add368 = add i64 %190, %191 + %192 = load i64, i64* %argsize.addr, align 8 + %cmp369 = icmp ult i64 %add368, %192 + br i1 %cmp369, label %land.rhs, label %if.end410 + +land.rhs: ; preds = %while.cond + %193 = load i8*, i8** %arg.addr, align 8 + %194 = load i64, i64* %i, align 8 + %195 = load i64, i64* %m, align 8 + %add371 = add i64 %194, %195 + %arrayidx372 = getelementptr inbounds i8, i8* %193, i64 %add371 + %196 = load i8, i8* %arrayidx372, align 1 + %conv373 = sext i8 %196 to i32 + %tobool374 = icmp ne i32 %conv373, 0 + br i1 %tobool374, label %while.body, label %if.end410 + +while.body: ; preds = %land.rhs + %197 = load i64, i64* %m, align 8 + %inc375 = add i64 %197, 1 + store i64 %inc375, i64* %m, align 8 + br label %while.cond + +if.else376: ; preds = %if.else364 + %198 = load i8, i8* %elide_outer_quotes, align 1 + %tobool377 = trunc i8 %198 to i1 + %199 = load i32, i32* %quoting_style.addr, align 4 + %cmp380 = icmp eq i32 %199, 2 + %or.cond5 = and i1 %tobool377, %cmp380 + br i1 %or.cond5, label %if.then382, label %if.end397 + +if.then382: ; preds = %if.else376 + store i64 1, i64* %j, align 8 + br label %for.cond383 + +for.cond383: ; preds = %for.inc394, %if.then382 + %200 = load i64, i64* %j, align 8 + %201 = load i64, i64* %bytes, align 8 + %cmp384 = icmp ult i64 %200, %201 + br i1 %cmp384, label %for.body386, label %if.end397 + +for.body386: ; preds = %for.cond383 + %202 = load i8*, i8** %arg.addr, align 8 + %203 = load i64, i64* %i, align 8 + %204 = load i64, i64* %m, align 8 + %add387 = add i64 %203, %204 + %205 = load i64, i64* %j, align 8 + %add388 = add i64 %add387, %205 + %arrayidx389 = getelementptr inbounds i8, i8* %202, i64 %add388 + %206 = load i8, i8* %arrayidx389, align 1 + %conv390 = sext i8 %206 to i32 + br label %NodeBlock267 + +NodeBlock267: ; preds = %for.body386 + %case.cmp268 = icmp eq i32 %conv390, 91 + br i1 %case.cmp268, label %force_outer_quoting_style, label %NodeBlock265 + +NodeBlock265: ; preds = %NodeBlock267 + %case.cmp266 = icmp eq i32 %conv390, 92 + br i1 %case.cmp266, label %force_outer_quoting_style, label %NodeBlock263 + +NodeBlock263: ; preds = %NodeBlock265 + %case.cmp264 = icmp eq i32 %conv390, 94 + br i1 %case.cmp264, label %force_outer_quoting_style, label %NodeBlock261 + +NodeBlock261: ; preds = %NodeBlock263 + %case.cmp262 = icmp eq i32 %conv390, 96 + br i1 %case.cmp262, label %force_outer_quoting_style, label %NodeBlock259 + +NodeBlock259: ; preds = %NodeBlock261 + %case.cmp260 = icmp eq i32 %conv390, 124 + br i1 %case.cmp260, label %force_outer_quoting_style, label %newDefault258 + +newDefault258: ; preds = %NodeBlock259 + br label %for.inc394 + +for.inc394: ; preds = %newDefault258 + %207 = load i64, i64* %j, align 8 + %inc395 = add i64 %207, 1 + store i64 %inc395, i64* %j, align 8 + br label %for.cond383 + +if.end397: ; preds = %for.cond383, %if.else376 + %208 = load i32, i32* %w, align 4 + %call398 = call i32 @iswprint(i32 %208) #11 + %tobool399 = icmp ne i32 %call398, 0 + br i1 %tobool399, label %if.end401, label %if.then400 + +if.then400: ; preds = %if.end397 + store i8 0, i8* %printable, align 1 + br label %if.end401 + +if.end401: ; preds = %if.then400, %if.end397 + %209 = load i64, i64* %bytes, align 8 + %210 = load i64, i64* %m, align 8 + %add402 = add i64 %210, %209 + store i64 %add402, i64* %m, align 8 + %call406 = call i32 bitcast (i32 (%struct.__mbstate_t.512*)* @mbsinit to i32 (%struct.__mbstate_t*)*)(%struct.__mbstate_t* %mbstate) #23 + %tobool407 = icmp ne i32 %call406, 0 + %lnot408 = xor i1 %tobool407, true + br i1 %lnot408, label %do.body352, label %if.end410 + +if.end410: ; preds = %if.then363, %if.end401, %do.body352, %while.cond, %land.rhs, %if.then337 + %211 = load i8, i8* %printable, align 1 + %tobool411 = trunc i8 %211 to i1 + %frombool412 = zext i1 %tobool411 to i8 + store i8 %frombool412, i8* %c_and_shell_quote_compat, align 1 + %212 = load i64, i64* %m, align 8 + %cmp413 = icmp ult i64 1, %212 + br i1 %cmp413, label %if.then419, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end410 + %213 = load i8, i8* %backslash_escapes, align 1 + %tobool415 = trunc i8 %213 to i1 + br i1 %tobool415, label %land.lhs.true417, label %sw.epilog564 + +land.lhs.true417: ; preds = %lor.lhs.false + %214 = load i8, i8* %printable, align 1 + %tobool418 = trunc i8 %214 to i1 + br i1 %tobool418, label %sw.epilog564, label %if.then419 + +if.then419: ; preds = %land.lhs.true417, %if.end410 + %215 = load i64, i64* %i, align 8 + %216 = load i64, i64* %m, align 8 + %add420 = add i64 %215, %216 + store i64 %add420, i64* %ilim, align 8 + br label %for.cond421 + +for.cond421: ; preds = %if.end556, %if.then419 + %217 = load i8, i8* %backslash_escapes, align 1 + %tobool422 = trunc i8 %217 to i1 + br i1 %tobool422, label %land.lhs.true424, label %if.else505 + +land.lhs.true424: ; preds = %for.cond421 + %218 = load i8, i8* %printable, align 1 + %tobool425 = trunc i8 %218 to i1 + br i1 %tobool425, label %if.else505, label %do.body427 + +do.body427: ; preds = %land.lhs.true424 + %219 = load i8, i8* %elide_outer_quotes, align 1 + %tobool428 = trunc i8 %219 to i1 + br i1 %tobool428, label %force_outer_quoting_style, label %if.end430 + +if.end430: ; preds = %do.body427 + store i8 1, i8* %escaping, align 1 + %220 = load i32, i32* %quoting_style.addr, align 4 + %cmp431 = icmp eq i32 %220, 2 + br i1 %cmp431, label %land.lhs.true433, label %do.body464 + +land.lhs.true433: ; preds = %if.end430 + %221 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool434 = trunc i8 %221 to i1 + br i1 %tobool434, label %do.body464, label %do.body436 + +do.body436: ; preds = %land.lhs.true433 + %222 = load i64, i64* %len, align 8 + %223 = load i64, i64* %buffersize.addr, align 8 + %cmp437 = icmp ult i64 %222, %223 + br i1 %cmp437, label %if.then439, label %if.end441 + +if.then439: ; preds = %do.body436 + %224 = load i8*, i8** %buffer.addr, align 8 + %225 = load i64, i64* %len, align 8 + %arrayidx440 = getelementptr inbounds i8, i8* %224, i64 %225 + store i8 39, i8* %arrayidx440, align 1 + br label %if.end441 + +if.end441: ; preds = %if.then439, %do.body436 + %226 = load i64, i64* %len, align 8 + %inc442 = add i64 %226, 1 + store i64 %inc442, i64* %len, align 8 + %227 = load i64, i64* %len, align 8 + %228 = load i64, i64* %buffersize.addr, align 8 + %cmp446 = icmp ult i64 %227, %228 + br i1 %cmp446, label %if.then448, label %if.end450 + +if.then448: ; preds = %if.end441 + %229 = load i8*, i8** %buffer.addr, align 8 + %230 = load i64, i64* %len, align 8 + %arrayidx449 = getelementptr inbounds i8, i8* %229, i64 %230 + store i8 36, i8* %arrayidx449, align 1 + br label %if.end450 + +if.end450: ; preds = %if.then448, %if.end441 + %231 = load i64, i64* %len, align 8 + %inc451 = add i64 %231, 1 + store i64 %inc451, i64* %len, align 8 + %232 = load i64, i64* %len, align 8 + %233 = load i64, i64* %buffersize.addr, align 8 + %cmp455 = icmp ult i64 %232, %233 + br i1 %cmp455, label %if.then457, label %if.end459 + +if.then457: ; preds = %if.end450 + %234 = load i8*, i8** %buffer.addr, align 8 + %235 = load i64, i64* %len, align 8 + %arrayidx458 = getelementptr inbounds i8, i8* %234, i64 %235 + store i8 39, i8* %arrayidx458, align 1 + br label %if.end459 + +if.end459: ; preds = %if.then457, %if.end450 + %236 = load i64, i64* %len, align 8 + %inc460 = add i64 %236, 1 + store i64 %inc460, i64* %len, align 8 + store i8 1, i8* %pending_shell_escape_end, align 1 + br label %do.body464 + +do.body464: ; preds = %if.end430, %land.lhs.true433, %if.end459 + %237 = load i64, i64* %len, align 8 + %238 = load i64, i64* %buffersize.addr, align 8 + %cmp465 = icmp ult i64 %237, %238 + br i1 %cmp465, label %if.then467, label %if.end469 + +if.then467: ; preds = %do.body464 + %239 = load i8*, i8** %buffer.addr, align 8 + %240 = load i64, i64* %len, align 8 + %arrayidx468 = getelementptr inbounds i8, i8* %239, i64 %240 + store i8 92, i8* %arrayidx468, align 1 + br label %if.end469 + +if.end469: ; preds = %if.then467, %do.body464 + %241 = load i64, i64* %len, align 8 + %inc470 = add i64 %241, 1 + store i64 %inc470, i64* %len, align 8 + %242 = load i64, i64* %len, align 8 + %243 = load i64, i64* %buffersize.addr, align 8 + %cmp476 = icmp ult i64 %242, %243 + br i1 %cmp476, label %if.then478, label %if.end483 + +if.then478: ; preds = %if.end469 + %244 = load i8, i8* %c, align 1 + %conv479 = zext i8 %244 to i32 + %shr = ashr i32 %conv479, 6 + %add480 = add nsw i32 48, %shr + %conv481 = trunc i32 %add480 to i8 + %245 = load i8*, i8** %buffer.addr, align 8 + %246 = load i64, i64* %len, align 8 + %arrayidx482 = getelementptr inbounds i8, i8* %245, i64 %246 + store i8 %conv481, i8* %arrayidx482, align 1 + br label %if.end483 + +if.end483: ; preds = %if.then478, %if.end469 + %247 = load i64, i64* %len, align 8 + %inc484 = add i64 %247, 1 + store i64 %inc484, i64* %len, align 8 + %248 = load i64, i64* %len, align 8 + %249 = load i64, i64* %buffersize.addr, align 8 + %cmp488 = icmp ult i64 %248, %249 + br i1 %cmp488, label %if.then490, label %if.end497 + +if.then490: ; preds = %if.end483 + %250 = load i8, i8* %c, align 1 + %conv491 = zext i8 %250 to i32 + %shr492 = ashr i32 %conv491, 3 + %and493 = and i32 %shr492, 7 + %add494 = add nsw i32 48, %and493 + %conv495 = trunc i32 %add494 to i8 + %251 = load i8*, i8** %buffer.addr, align 8 + %252 = load i64, i64* %len, align 8 + %arrayidx496 = getelementptr inbounds i8, i8* %251, i64 %252 + store i8 %conv495, i8* %arrayidx496, align 1 + br label %if.end497 + +if.end497: ; preds = %if.then490, %if.end483 + %253 = load i64, i64* %len, align 8 + %inc498 = add i64 %253, 1 + store i64 %inc498, i64* %len, align 8 + %254 = load i8, i8* %c, align 1 + %conv501 = zext i8 %254 to i32 + %and502 = and i32 %conv501, 7 + %add503 = add nsw i32 48, %and502 + %conv504 = trunc i32 %add503 to i8 + store i8 %conv504, i8* %c, align 1 + br label %if.end518 + +if.else505: ; preds = %land.lhs.true424, %for.cond421 + %255 = load i8, i8* %is_right_quote, align 1 + %tobool506 = trunc i8 %255 to i1 + br i1 %tobool506, label %do.body508, label %if.end518 + +do.body508: ; preds = %if.else505 + %256 = load i64, i64* %len, align 8 + %257 = load i64, i64* %buffersize.addr, align 8 + %cmp509 = icmp ult i64 %256, %257 + br i1 %cmp509, label %if.then511, label %if.end513 + +if.then511: ; preds = %do.body508 + %258 = load i8*, i8** %buffer.addr, align 8 + %259 = load i64, i64* %len, align 8 + %arrayidx512 = getelementptr inbounds i8, i8* %258, i64 %259 + store i8 92, i8* %arrayidx512, align 1 + br label %if.end513 + +if.end513: ; preds = %if.then511, %do.body508 + %260 = load i64, i64* %len, align 8 + %inc514 = add i64 %260, 1 + store i64 %inc514, i64* %len, align 8 + store i8 0, i8* %is_right_quote, align 1 + br label %if.end518 + +if.end518: ; preds = %if.else505, %if.end513, %if.end497 + %261 = load i64, i64* %ilim, align 8 + %262 = load i64, i64* %i, align 8 + %add519 = add i64 %262, 1 + %cmp520 = icmp ule i64 %261, %add519 + br i1 %cmp520, label %do.body634, label %do.body524 + +do.body524: ; preds = %if.end518 + %263 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool525 = trunc i8 %263 to i1 + br i1 %tobool525, label %land.lhs.true527, label %do.body551 + +land.lhs.true527: ; preds = %do.body524 + %264 = load i8, i8* %escaping, align 1 + %tobool528 = trunc i8 %264 to i1 + br i1 %tobool528, label %do.body551, label %do.body530 + +do.body530: ; preds = %land.lhs.true527 + %265 = load i64, i64* %len, align 8 + %266 = load i64, i64* %buffersize.addr, align 8 + %cmp531 = icmp ult i64 %265, %266 + br i1 %cmp531, label %if.then533, label %if.end535 + +if.then533: ; preds = %do.body530 + %267 = load i8*, i8** %buffer.addr, align 8 + %268 = load i64, i64* %len, align 8 + %arrayidx534 = getelementptr inbounds i8, i8* %267, i64 %268 + store i8 39, i8* %arrayidx534, align 1 + br label %if.end535 + +if.end535: ; preds = %if.then533, %do.body530 + %269 = load i64, i64* %len, align 8 + %inc536 = add i64 %269, 1 + store i64 %inc536, i64* %len, align 8 + %270 = load i64, i64* %len, align 8 + %271 = load i64, i64* %buffersize.addr, align 8 + %cmp540 = icmp ult i64 %270, %271 + br i1 %cmp540, label %if.then542, label %if.end544 + +if.then542: ; preds = %if.end535 + %272 = load i8*, i8** %buffer.addr, align 8 + %273 = load i64, i64* %len, align 8 + %arrayidx543 = getelementptr inbounds i8, i8* %272, i64 %273 + store i8 39, i8* %arrayidx543, align 1 + br label %if.end544 + +if.end544: ; preds = %if.then542, %if.end535 + %274 = load i64, i64* %len, align 8 + %inc545 = add i64 %274, 1 + store i64 %inc545, i64* %len, align 8 + store i8 0, i8* %pending_shell_escape_end, align 1 + br label %do.body551 + +do.body551: ; preds = %if.end544, %land.lhs.true527, %do.body524 + %275 = load i64, i64* %len, align 8 + %276 = load i64, i64* %buffersize.addr, align 8 + %cmp552 = icmp ult i64 %275, %276 + br i1 %cmp552, label %if.then554, label %if.end556 + +if.then554: ; preds = %do.body551 + %277 = load i8, i8* %c, align 1 + %278 = load i8*, i8** %buffer.addr, align 8 + %279 = load i64, i64* %len, align 8 + %arrayidx555 = getelementptr inbounds i8, i8* %278, i64 %279 + store i8 %277, i8* %arrayidx555, align 1 + br label %if.end556 + +if.end556: ; preds = %if.then554, %do.body551 + %280 = load i64, i64* %len, align 8 + %inc557 = add i64 %280, 1 + store i64 %inc557, i64* %len, align 8 + %281 = load i8*, i8** %arg.addr, align 8 + %282 = load i64, i64* %i, align 8 + %inc560 = add i64 %282, 1 + store i64 %inc560, i64* %i, align 8 + %arrayidx561 = getelementptr inbounds i8, i8* %281, i64 %inc560 + %283 = load i8, i8* %arrayidx561, align 1 + store i8 %283, i8* %c, align 1 + br label %for.cond421 + +newDefault234: ; preds = %NodeBlock235 + br label %sw.epilog564 + +newDefault239: ; preds = %NodeBlock240 + br label %sw.epilog564 + +sw.epilog564: ; preds = %newDefault239, %newDefault234, %lor.lhs.false, %land.lhs.true417, %sw.bb297, %if.end330, %sw.bb289, %land.lhs.true292, %sw.bb283, %cond.true273, %cond.false278, %c_escape, %sw.bb171, %if.end228, %land.lhs.true182, %land.lhs.true178, %sw.bb175, %if.end164, %if.else, %sw.bb334 + %284 = load i8, i8* %backslash_escapes, align 1 + %tobool565 = trunc i8 %284 to i1 + %285 = load i32, i32* %quoting_style.addr, align 4 + %cmp568 = icmp ne i32 %285, 2 + %or.cond6 = and i1 %tobool565, %cmp568 + br i1 %or.cond6, label %land.lhs.true573, label %lor.lhs.false570 + +lor.lhs.false570: ; preds = %sw.epilog564 + %286 = load i8, i8* %elide_outer_quotes, align 1 + %tobool571 = trunc i8 %286 to i1 + br i1 %tobool571, label %land.lhs.true573, label %land.lhs.true582 + +land.lhs.true573: ; preds = %sw.epilog564, %lor.lhs.false570 + %287 = load i32*, i32** %quote_these_too.addr, align 8 + %tobool574 = icmp ne i32* %287, null + br i1 %tobool574, label %land.lhs.true575, label %land.lhs.true582 + +land.lhs.true575: ; preds = %land.lhs.true573 + %288 = load i32*, i32** %quote_these_too.addr, align 8 + %289 = load i8, i8* %c, align 1 + %conv576 = zext i8 %289 to i64 + %div = udiv i64 %conv576, 32 + %arrayidx577 = getelementptr inbounds i32, i32* %288, i64 %div + %290 = load i32, i32* %arrayidx577, align 4 + %291 = load i8, i8* %c, align 1 + %conv578 = zext i8 %291 to i64 + %rem = urem i64 %conv578, 32 + %sh_prom = trunc i64 %rem to i32 + %shr579 = lshr i32 %290, %sh_prom + %and580 = and i32 %shr579, 1 + %tobool581 = icmp ne i32 %and580, 0 + br i1 %tobool581, label %do.body586, label %land.lhs.true582 + +land.lhs.true582: ; preds = %land.lhs.true575, %land.lhs.true573, %lor.lhs.false570 + %292 = load i8, i8* %is_right_quote, align 1 + %tobool583 = trunc i8 %292 to i1 + br i1 %tobool583, label %do.body586, label %do.body634 + +do.body586: ; preds = %if.then268, %land.lhs.true582, %land.lhs.true575 + %293 = load i8, i8* %elide_outer_quotes, align 1 + %tobool587 = trunc i8 %293 to i1 + br i1 %tobool587, label %force_outer_quoting_style, label %if.end589 + +if.end589: ; preds = %do.body586 + store i8 1, i8* %escaping, align 1 + %294 = load i32, i32* %quoting_style.addr, align 4 + %cmp590 = icmp eq i32 %294, 2 + br i1 %cmp590, label %land.lhs.true592, label %do.body623 + +land.lhs.true592: ; preds = %if.end589 + %295 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool593 = trunc i8 %295 to i1 + br i1 %tobool593, label %do.body623, label %do.body595 + +do.body595: ; preds = %land.lhs.true592 + %296 = load i64, i64* %len, align 8 + %297 = load i64, i64* %buffersize.addr, align 8 + %cmp596 = icmp ult i64 %296, %297 + br i1 %cmp596, label %if.then598, label %if.end600 + +if.then598: ; preds = %do.body595 + %298 = load i8*, i8** %buffer.addr, align 8 + %299 = load i64, i64* %len, align 8 + %arrayidx599 = getelementptr inbounds i8, i8* %298, i64 %299 + store i8 39, i8* %arrayidx599, align 1 + br label %if.end600 + +if.end600: ; preds = %if.then598, %do.body595 + %300 = load i64, i64* %len, align 8 + %inc601 = add i64 %300, 1 + store i64 %inc601, i64* %len, align 8 + %301 = load i64, i64* %len, align 8 + %302 = load i64, i64* %buffersize.addr, align 8 + %cmp605 = icmp ult i64 %301, %302 + br i1 %cmp605, label %if.then607, label %if.end609 + +if.then607: ; preds = %if.end600 + %303 = load i8*, i8** %buffer.addr, align 8 + %304 = load i64, i64* %len, align 8 + %arrayidx608 = getelementptr inbounds i8, i8* %303, i64 %304 + store i8 36, i8* %arrayidx608, align 1 + br label %if.end609 + +if.end609: ; preds = %if.then607, %if.end600 + %305 = load i64, i64* %len, align 8 + %inc610 = add i64 %305, 1 + store i64 %inc610, i64* %len, align 8 + %306 = load i64, i64* %len, align 8 + %307 = load i64, i64* %buffersize.addr, align 8 + %cmp614 = icmp ult i64 %306, %307 + br i1 %cmp614, label %if.then616, label %if.end618 + +if.then616: ; preds = %if.end609 + %308 = load i8*, i8** %buffer.addr, align 8 + %309 = load i64, i64* %len, align 8 + %arrayidx617 = getelementptr inbounds i8, i8* %308, i64 %309 + store i8 39, i8* %arrayidx617, align 1 + br label %if.end618 + +if.end618: ; preds = %if.then616, %if.end609 + %310 = load i64, i64* %len, align 8 + %inc619 = add i64 %310, 1 + store i64 %inc619, i64* %len, align 8 + store i8 1, i8* %pending_shell_escape_end, align 1 + br label %do.body623 + +do.body623: ; preds = %if.end589, %land.lhs.true592, %if.end618 + %311 = load i64, i64* %len, align 8 + %312 = load i64, i64* %buffersize.addr, align 8 + %cmp624 = icmp ult i64 %311, %312 + br i1 %cmp624, label %if.then626, label %if.end628 + +if.then626: ; preds = %do.body623 + %313 = load i8*, i8** %buffer.addr, align 8 + %314 = load i64, i64* %len, align 8 + %arrayidx627 = getelementptr inbounds i8, i8* %313, i64 %314 + store i8 92, i8* %arrayidx627, align 1 + br label %if.end628 + +if.end628: ; preds = %if.then626, %do.body623 + %315 = load i64, i64* %len, align 8 + %inc629 = add i64 %315, 1 + store i64 %inc629, i64* %len, align 8 + br label %do.body634 + +do.body634: ; preds = %if.end628, %if.then246, %land.lhs.true253, %if.end518, %land.lhs.true582 + %316 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool635 = trunc i8 %316 to i1 + br i1 %tobool635, label %land.lhs.true637, label %do.body661 + +land.lhs.true637: ; preds = %do.body634 + %317 = load i8, i8* %escaping, align 1 + %tobool638 = trunc i8 %317 to i1 + br i1 %tobool638, label %do.body661, label %do.body640 + +do.body640: ; preds = %land.lhs.true637 + %318 = load i64, i64* %len, align 8 + %319 = load i64, i64* %buffersize.addr, align 8 + %cmp641 = icmp ult i64 %318, %319 + br i1 %cmp641, label %if.then643, label %if.end645 + +if.then643: ; preds = %do.body640 + %320 = load i8*, i8** %buffer.addr, align 8 + %321 = load i64, i64* %len, align 8 + %arrayidx644 = getelementptr inbounds i8, i8* %320, i64 %321 + store i8 39, i8* %arrayidx644, align 1 + br label %if.end645 + +if.end645: ; preds = %if.then643, %do.body640 + %322 = load i64, i64* %len, align 8 + %inc646 = add i64 %322, 1 + store i64 %inc646, i64* %len, align 8 + %323 = load i64, i64* %len, align 8 + %324 = load i64, i64* %buffersize.addr, align 8 + %cmp650 = icmp ult i64 %323, %324 + br i1 %cmp650, label %if.then652, label %if.end654 + +if.then652: ; preds = %if.end645 + %325 = load i8*, i8** %buffer.addr, align 8 + %326 = load i64, i64* %len, align 8 + %arrayidx653 = getelementptr inbounds i8, i8* %325, i64 %326 + store i8 39, i8* %arrayidx653, align 1 + br label %if.end654 + +if.end654: ; preds = %if.then652, %if.end645 + %327 = load i64, i64* %len, align 8 + %inc655 = add i64 %327, 1 + store i64 %inc655, i64* %len, align 8 + store i8 0, i8* %pending_shell_escape_end, align 1 + br label %do.body661 + +do.body661: ; preds = %if.end654, %land.lhs.true637, %do.body634 + %328 = load i64, i64* %len, align 8 + %329 = load i64, i64* %buffersize.addr, align 8 + %cmp662 = icmp ult i64 %328, %329 + br i1 %cmp662, label %if.then664, label %if.end666 + +if.then664: ; preds = %do.body661 + %330 = load i8, i8* %c, align 1 + %331 = load i8*, i8** %buffer.addr, align 8 + %332 = load i64, i64* %len, align 8 + %arrayidx665 = getelementptr inbounds i8, i8* %331, i64 %332 + store i8 %330, i8* %arrayidx665, align 1 + br label %if.end666 + +if.end666: ; preds = %if.then664, %do.body661 + %333 = load i64, i64* %len, align 8 + %inc667 = add i64 %333, 1 + store i64 %inc667, i64* %len, align 8 + %334 = load i8, i8* %c_and_shell_quote_compat, align 1 + %tobool670 = trunc i8 %334 to i1 + br i1 %tobool670, label %for.inc673, label %if.then671 + +if.then671: ; preds = %if.end666 + store i8 0, i8* %all_c_and_shell_quote_compat, align 1 + br label %for.inc673 + +for.inc673: ; preds = %if.end666, %if.then671, %if.else + %335 = load i64, i64* %i, align 8 + %inc674 = add i64 %335, 1 + store i64 %inc674, i64* %i, align 8 + br label %for.cond44 + +for.end675: ; preds = %cond.end + %336 = load i64, i64* %len, align 8 + %cmp676 = icmp eq i64 %336, 0 + %337 = load i32, i32* %quoting_style.addr, align 4 + %cmp679 = icmp eq i32 %337, 2 + %or.cond7 = and i1 %cmp676, %cmp679 + br i1 %or.cond7, label %land.lhs.true681, label %if.end685 + +land.lhs.true681: ; preds = %for.end675 + %338 = load i8, i8* %elide_outer_quotes, align 1 + %tobool682 = trunc i8 %338 to i1 + br i1 %tobool682, label %force_outer_quoting_style, label %if.end685 + +if.end685: ; preds = %land.lhs.true681, %for.end675 + %339 = load i32, i32* %quoting_style.addr, align 4 + %cmp686 = icmp eq i32 %339, 2 + br i1 %cmp686, label %land.lhs.true688, label %if.end704 + +land.lhs.true688: ; preds = %if.end685 + %340 = load i8, i8* %elide_outer_quotes, align 1 + %tobool689 = trunc i8 %340 to i1 + br i1 %tobool689, label %if.end704, label %land.lhs.true690 + +land.lhs.true690: ; preds = %land.lhs.true688 + %341 = load i8, i8* %encountered_single_quote, align 1 + %tobool691 = trunc i8 %341 to i1 + br i1 %tobool691, label %if.then693, label %if.end704 + +if.then693: ; preds = %land.lhs.true690 + %342 = load i8, i8* %all_c_and_shell_quote_compat, align 1 + %tobool694 = trunc i8 %342 to i1 + br i1 %tobool694, label %if.then695, label %if.else697 + +if.then695: ; preds = %if.then693 + %343 = load i8*, i8** %buffer.addr, align 8 + %344 = load i64, i64* %orig_buffersize, align 8 + %345 = load i8*, i8** %arg.addr, align 8 + %346 = load i64, i64* %argsize.addr, align 8 + %347 = load i32, i32* %flags.addr, align 4 + %348 = load i32*, i32** %quote_these_too.addr, align 8 + %349 = load i8*, i8** %left_quote.addr, align 8 + %350 = load i8*, i8** %right_quote.addr, align 8 + %call696 = call i64 @quotearg_buffer_restyled(i8* %343, i64 %344, i8* %345, i64 %346, i32 5, i32 %347, i32* %348, i8* %349, i8* %350) + store i64 %call696, i64* %retval, align 8 + br label %return + +if.else697: ; preds = %if.then693 + %351 = load i64, i64* %buffersize.addr, align 8 + %tobool698 = icmp eq i64 %351, 0 + %352 = load i64, i64* %orig_buffersize, align 8 + %tobool700 = icmp ne i64 %352, 0 + %or.cond8 = and i1 %tobool698, %tobool700 + br i1 %or.cond8, label %if.then701, label %if.end704 + +if.then701: ; preds = %if.else697 + %353 = load i64, i64* %orig_buffersize, align 8 + store i64 %353, i64* %buffersize.addr, align 8 + store i64 0, i64* %len, align 8 + br label %process_input + +if.end704: ; preds = %if.else697, %land.lhs.true690, %land.lhs.true688, %if.end685 + %354 = load i8*, i8** %quote_string, align 8 + %tobool705 = icmp ne i8* %354, null + br i1 %tobool705, label %land.lhs.true706, label %if.end724 + +land.lhs.true706: ; preds = %if.end704 + %355 = load i8, i8* %elide_outer_quotes, align 1 + %tobool707 = trunc i8 %355 to i1 + br i1 %tobool707, label %if.end724, label %for.cond709 + +for.cond709: ; preds = %land.lhs.true706, %if.end717 + %356 = load i8*, i8** %quote_string, align 8 + %357 = load i8, i8* %356, align 1 + %tobool710 = icmp ne i8 %357, 0 + br i1 %tobool710, label %do.body712, label %if.end724 + +do.body712: ; preds = %for.cond709 + %358 = load i64, i64* %len, align 8 + %359 = load i64, i64* %buffersize.addr, align 8 + %cmp713 = icmp ult i64 %358, %359 + br i1 %cmp713, label %if.then715, label %if.end717 + +if.then715: ; preds = %do.body712 + %360 = load i8*, i8** %quote_string, align 8 + %361 = load i8, i8* %360, align 1 + %362 = load i8*, i8** %buffer.addr, align 8 + %363 = load i64, i64* %len, align 8 + %arrayidx716 = getelementptr inbounds i8, i8* %362, i64 %363 + store i8 %361, i8* %arrayidx716, align 1 + br label %if.end717 + +if.end717: ; preds = %if.then715, %do.body712 + %364 = load i64, i64* %len, align 8 + %inc718 = add i64 %364, 1 + store i64 %inc718, i64* %len, align 8 + %365 = load i8*, i8** %quote_string, align 8 + %incdec.ptr722 = getelementptr inbounds i8, i8* %365, i32 1 + store i8* %incdec.ptr722, i8** %quote_string, align 8 + br label %for.cond709 + +if.end724: ; preds = %for.cond709, %land.lhs.true706, %if.end704 + %366 = load i64, i64* %len, align 8 + %367 = load i64, i64* %buffersize.addr, align 8 + %cmp725 = icmp ult i64 %366, %367 + br i1 %cmp725, label %if.then727, label %if.end729 + +if.then727: ; preds = %if.end724 + %368 = load i8*, i8** %buffer.addr, align 8 + %369 = load i64, i64* %len, align 8 + %arrayidx728 = getelementptr inbounds i8, i8* %368, i64 %369 + store i8 0, i8* %arrayidx728, align 1 + br label %if.end729 + +if.end729: ; preds = %if.then727, %if.end724 + %370 = load i64, i64* %len, align 8 + store i64 %370, i64* %retval, align 8 + br label %return + +force_outer_quoting_style: ; preds = %NodeBlock267, %NodeBlock265, %NodeBlock263, %NodeBlock261, %NodeBlock259, %land.lhs.true681, %do.body586, %do.body427, %if.then300, %land.lhs.true292, %land.lhs.true262, %if.then246, %sw.bb192, %sw.bb171, %do.body86, %if.then76 + %371 = load i32, i32* %quoting_style.addr, align 4 + %cmp730 = icmp eq i32 %371, 2 + br i1 %cmp730, label %land.lhs.true732, label %if.end736 + +land.lhs.true732: ; preds = %force_outer_quoting_style + %372 = load i8, i8* %backslash_escapes, align 1 + %tobool733 = trunc i8 %372 to i1 + br i1 %tobool733, label %if.then735, label %if.end736 + +if.then735: ; preds = %land.lhs.true732 + store i32 4, i32* %quoting_style.addr, align 4 + br label %if.end736 + +if.end736: ; preds = %if.then735, %land.lhs.true732, %force_outer_quoting_style + %373 = load i8*, i8** %buffer.addr, align 8 + %374 = load i64, i64* %buffersize.addr, align 8 + %375 = load i8*, i8** %arg.addr, align 8 + %376 = load i64, i64* %argsize.addr, align 8 + %377 = load i32, i32* %quoting_style.addr, align 4 + %378 = load i32, i32* %flags.addr, align 4 + %and737 = and i32 %378, -3 + %379 = load i8*, i8** %left_quote.addr, align 8 + %380 = load i8*, i8** %right_quote.addr, align 8 + %call738 = call i64 @quotearg_buffer_restyled(i8* %373, i64 %374, i8* %375, i64 %376, i32 %377, i32 %and737, i32* null, i8* %379, i8* %380) + store i64 %call738, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end736, %if.end729, %if.then695 + %381 = load i64, i64* %retval, align 8 + ret i64 %381 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xcharalloc(i64 %n) #3 { +entry: + %n.addr = alloca i64, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @xmalloc(i64 %0) + ret i8* %call +} + +; Function Attrs: nounwind +declare dso_local i64 @__ctype_get_mb_cur_max() #4 + +; Function Attrs: noinline nounwind uwtable +define internal i8* @gettext_quote(i8* %msgid, i32 %s) #3 { +entry: + %retval = alloca i8*, align 8 + %msgid.addr = alloca i8*, align 8 + %s.addr = alloca i32, align 4 + %translation = alloca i8*, align 8 + %locale_code = alloca i8*, align 8 + store i8* %msgid, i8** %msgid.addr, align 8 + store i32 %s, i32* %s.addr, align 4 + %0 = load i8*, i8** %msgid.addr, align 8 + store i8* %0, i8** %translation, align 8 + %1 = load i8*, i8** %translation, align 8 + %2 = load i8*, i8** %msgid.addr, align 8 + %cmp = icmp ne i8* %1, %2 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %3 = load i8*, i8** %translation, align 8 + store i8* %3, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %call = call i8* @locale_charset() + store i8* %call, i8** %locale_code, align 8 + %4 = load i8*, i8** %locale_code, align 8 + %call1 = call i32 @c_strcasecmp(i8* %4, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.13.74, i64 0, i64 0)) #23 + %cmp2 = icmp eq i32 %call1, 0 + br i1 %cmp2, label %if.then3, label %if.end6 + +if.then3: ; preds = %if.end + %5 = load i8*, i8** %msgid.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 0 + %6 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %6 to i32 + %cmp4 = icmp eq i32 %conv, 96 + %7 = zext i1 %cmp4 to i64 + %cond = select i1 %cmp4, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.14.75, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.15.76, i64 0, i64 0) + store i8* %cond, i8** %retval, align 8 + br label %return + +if.end6: ; preds = %if.end + %8 = load i8*, i8** %locale_code, align 8 + %call7 = call i32 @c_strcasecmp(i8* %8, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.16.77, i64 0, i64 0)) #23 + %cmp8 = icmp eq i32 %call7, 0 + br i1 %cmp8, label %if.then10, label %if.end16 + +if.then10: ; preds = %if.end6 + %9 = load i8*, i8** %msgid.addr, align 8 + %arrayidx11 = getelementptr inbounds i8, i8* %9, i64 0 + %10 = load i8, i8* %arrayidx11, align 1 + %conv12 = sext i8 %10 to i32 + %cmp13 = icmp eq i32 %conv12, 96 + %11 = zext i1 %cmp13 to i64 + %cond15 = select i1 %cmp13, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.17.78, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.18.79, i64 0, i64 0) + store i8* %cond15, i8** %retval, align 8 + br label %return + +if.end16: ; preds = %if.end6 + %12 = load i32, i32* %s.addr, align 4 + %cmp17 = icmp eq i32 %12, 9 + %13 = zext i1 %cmp17 to i64 + %cond19 = select i1 %cmp17, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10.71, i64 0, i64 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.73, i64 0, i64 0) + store i8* %cond19, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end16, %if.then10, %if.then3, %if.then + %14 = load i8*, i8** %retval, align 8 + ret i8* %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @rpl_mbrtowc(i32* %pwc, i8* %s, i64 %n, %struct.__mbstate_t* %ps) #3 { +entry: + %retval = alloca i64, align 8 + %pwc.addr = alloca i32*, align 8 + %s.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t*, align 8 + %ret = alloca i64, align 8 + %wc = alloca i32, align 4 + %uc = alloca i8, align 1 + store i32* %pwc, i32** %pwc.addr, align 8 + store i8* %s, i8** %s.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__mbstate_t* %ps, %struct.__mbstate_t** %ps.addr, align 8 + %0 = load i32*, i32** %pwc.addr, align 8 + %tobool = icmp ne i32* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i32* %wc, i32** %pwc.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i32*, i32** %pwc.addr, align 8 + %2 = load i8*, i8** %s.addr, align 8 + %3 = load i64, i64* %n.addr, align 8 + %4 = load %struct.__mbstate_t*, %struct.__mbstate_t** %ps.addr, align 8 + %call = call i64 bitcast (i64 (i32*, i8*, i64, %struct.__mbstate_t.512*)* @mbrtowc to i64 (i32*, i8*, i64, %struct.__mbstate_t*)*)(i32* %1, i8* %2, i64 %3, %struct.__mbstate_t* %4) #11 + store i64 %call, i64* %ret, align 8 + %5 = load i64, i64* %ret, align 8 + %cmp = icmp ule i64 -2, %5 + %6 = load i64, i64* %n.addr, align 8 + %cmp1 = icmp ne i64 %6, 0 + %or.cond = and i1 %cmp, %cmp1 + br i1 %or.cond, label %land.lhs.true2, label %if.end5 + +land.lhs.true2: ; preds = %if.end + %call3 = call zeroext i1 @hard_locale(i32 0) + br i1 %call3, label %if.end5, label %if.then4 + +if.then4: ; preds = %land.lhs.true2 + %7 = load i8*, i8** %s.addr, align 8 + %8 = load i8, i8* %7, align 1 + store i8 %8, i8* %uc, align 1 + %9 = load i8, i8* %uc, align 1 + %conv = zext i8 %9 to i32 + %10 = load i32*, i32** %pwc.addr, align 8 + store i32 %conv, i32* %10, align 4 + store i64 1, i64* %retval, align 8 + br label %return + +if.end5: ; preds = %land.lhs.true2, %if.end + %11 = load i64, i64* %ret, align 8 + store i64 %11, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end5, %if.then4 + %12 = load i64, i64* %retval, align 8 + ret i64 %12 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @hard_locale(i32 %category) #3 { +entry: + %retval = alloca i1, align 1 + %category.addr = alloca i32, align 4 + %locale = alloca [257 x i8], align 16 + store i32 %category, i32* %category.addr, align 4 + %0 = load i32, i32* %category.addr, align 4 + %arraydecay = getelementptr inbounds [257 x i8], [257 x i8]* %locale, i64 0, i64 0 + %call = call i32 @setlocale_null_r(i32 %0, i8* %arraydecay, i64 257) + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +if.end: ; preds = %entry + %arraydecay1 = getelementptr inbounds [257 x i8], [257 x i8]* %locale, i64 0, i64 0 + %call2 = call i32 @strcmp(i8* %arraydecay1, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.141, i64 0, i64 0)) #23 + %cmp = icmp eq i32 %call2, 0 + br i1 %cmp, label %lor.end, label %lor.rhs + +lor.rhs: ; preds = %if.end + %arraydecay3 = getelementptr inbounds [257 x i8], [257 x i8]* %locale, i64 0, i64 0 + %call4 = call i32 @strcmp(i8* %arraydecay3, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1.142, i64 0, i64 0)) #23 + %cmp5 = icmp eq i32 %call4, 0 + br label %lor.end + +lor.end: ; preds = %lor.rhs, %if.end + %1 = phi i1 [ true, %if.end ], [ %cmp5, %lor.rhs ] + %lnot = xor i1 %1, true + store i1 %lnot, i1* %retval, align 1 + br label %return + +return: ; preds = %lor.end, %if.then + %2 = load i1, i1* %retval, align 1 + ret i1 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @setlocale_null_r(i32 %category, i8* nonnull %buf, i64 %bufsize) #3 { +entry: + %category.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + store i32 %category, i32* %category.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i32, i32* %category.addr, align 4 + %1 = load i8*, i8** %buf.addr, align 8 + %2 = load i64, i64* %bufsize.addr, align 8 + %call = call i32 @setlocale_null_unlocked(i32 %0, i8* %1, i64 %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @setlocale_null_unlocked(i32 %category, i8* %buf, i64 %bufsize) #3 { +entry: + %retval = alloca i32, align 4 + %category.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %result = alloca i8*, align 8 + %length = alloca i64, align 8 + store i32 %category, i32* %category.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i32, i32* %category.addr, align 4 + %call = call i8* @setlocale_null_androidfix(i32 %0) + store i8* %call, i8** %result, align 8 + %1 = load i8*, i8** %result, align 8 + %cmp = icmp eq i8* %1, null + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %2 = load i64, i64* %bufsize.addr, align 8 + %cmp1 = icmp ugt i64 %2, 0 + br i1 %cmp1, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + %3 = load i8*, i8** %buf.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %3, i64 0 + store i8 0, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + store i32 22, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %4 = load i8*, i8** %result, align 8 + %call3 = call i64 @strlen(i8* %4) #23 + store i64 %call3, i64* %length, align 8 + %5 = load i64, i64* %length, align 8 + %6 = load i64, i64* %bufsize.addr, align 8 + %cmp4 = icmp ult i64 %5, %6 + br i1 %cmp4, label %if.then5, label %if.else6 + +if.then5: ; preds = %if.else + %7 = load i8*, i8** %buf.addr, align 8 + %8 = load i8*, i8** %result, align 8 + %9 = load i64, i64* %length, align 8 + %add = add i64 %9, 1 + %10 = call i8* @memcpy(i8* %7, i8* %8, i64 %add) + store i32 0, i32* %retval, align 4 + br label %return + +if.else6: ; preds = %if.else + %11 = load i64, i64* %bufsize.addr, align 8 + %cmp7 = icmp ugt i64 %11, 0 + br i1 %cmp7, label %if.then8, label %if.end11 + +if.then8: ; preds = %if.else6 + %12 = load i8*, i8** %buf.addr, align 8 + %13 = load i8*, i8** %result, align 8 + %14 = load i64, i64* %bufsize.addr, align 8 + %sub = sub i64 %14, 1 + %15 = call i8* @memcpy(i8* %12, i8* %13, i64 %sub) + %16 = load i8*, i8** %buf.addr, align 8 + %17 = load i64, i64* %bufsize.addr, align 8 + %sub9 = sub i64 %17, 1 + %arrayidx10 = getelementptr inbounds i8, i8* %16, i64 %sub9 + store i8 0, i8* %arrayidx10, align 1 + br label %if.end11 + +if.end11: ; preds = %if.then8, %if.else6 + store i32 34, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end11, %if.then5, %if.end + %18 = load i32, i32* %retval, align 4 + ret i32 %18 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @setlocale_null_androidfix(i32 %category) #3 { +entry: + %category.addr = alloca i32, align 4 + %result = alloca i8*, align 8 + store i32 %category, i32* %category.addr, align 4 + %0 = load i32, i32* %category.addr, align 4 + %call = call i8* @setlocale(i32 %0, i8* null) #11 + store i8* %call, i8** %result, align 8 + %1 = load i8*, i8** %result, align 8 + ret i8* %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @locale_charset() #3 { +entry: + %codeset = alloca i8*, align 8 + %call = call i8* @nl_langinfo(i32 14) #11 + store i8* %call, i8** %codeset, align 8 + %0 = load i8*, i8** %codeset, align 8 + %cmp = icmp eq i8* %0, null + %spec.store.select = select i1 %cmp, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.145, i64 0, i64 0), i8* %call + store i8* %spec.store.select, i8** %codeset, align 8 + %1 = load i8*, i8** %codeset, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %2 to i32 + %cmp1 = icmp eq i32 %conv, 0 + %spec.store.select1 = select i1 %cmp1, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1.146, i64 0, i64 0), i8* %spec.store.select + store i8* %spec.store.select1, i8** %codeset, align 8 + %3 = load i8*, i8** %codeset, align 8 + ret i8* %3 +} + +; Function Attrs: noinline nounwind readonly uwtable +define dso_local i32 @c_strcasecmp(i8* %s1, i8* %s2) #15 { +entry: + %retval = alloca i32, align 4 + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %p1 = alloca i8*, align 8 + %p2 = alloca i8*, align 8 + %c1 = alloca i8, align 1 + %c2 = alloca i8, align 1 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %p1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %p2, align 8 + %2 = load i8*, i8** %p1, align 8 + %3 = load i8*, i8** %p2, align 8 + %cmp = icmp eq i8* %2, %3 + br i1 %cmp, label %if.then, label %do.body + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +do.body: ; preds = %entry, %if.end9 + %4 = load i8*, i8** %p1, align 8 + %5 = load i8, i8* %4, align 1 + %conv = zext i8 %5 to i32 + %call = call i32 @c_tolower(i32 %conv) + %conv1 = trunc i32 %call to i8 + store i8 %conv1, i8* %c1, align 1 + %6 = load i8*, i8** %p2, align 8 + %7 = load i8, i8* %6, align 1 + %conv2 = zext i8 %7 to i32 + %call3 = call i32 @c_tolower(i32 %conv2) + %conv4 = trunc i32 %call3 to i8 + store i8 %conv4, i8* %c2, align 1 + %8 = load i8, i8* %c1, align 1 + %conv5 = zext i8 %8 to i32 + %cmp6 = icmp eq i32 %conv5, 0 + br i1 %cmp6, label %do.end, label %if.end9 + +if.end9: ; preds = %do.body + %9 = load i8*, i8** %p1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %p1, align 8 + %10 = load i8*, i8** %p2, align 8 + %incdec.ptr10 = getelementptr inbounds i8, i8* %10, i32 1 + store i8* %incdec.ptr10, i8** %p2, align 8 + %11 = load i8, i8* %c1, align 1 + %conv11 = zext i8 %11 to i32 + %12 = load i8, i8* %c2, align 1 + %conv12 = zext i8 %12 to i32 + %cmp13 = icmp eq i32 %conv11, %conv12 + br i1 %cmp13, label %do.body, label %do.end + +do.end: ; preds = %do.body, %if.end9 + %13 = load i8, i8* %c1, align 1 + %conv15 = zext i8 %13 to i32 + %14 = load i8, i8* %c2, align 1 + %conv16 = zext i8 %14 to i32 + %sub = sub nsw i32 %conv15, %conv16 + store i32 %sub, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end, %if.then + %15 = load i32, i32* %retval, align 4 + ret i32 %15 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @c_tolower(i32 %c) #3 { +entry: + %retval = alloca i32, align 4 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -65 + %switch = icmp ult i32 %.off, 26 + %1 = load i32, i32* %c.addr, align 4 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + %sub = sub nsw i32 %1, 65 + %add = add nsw i32 %sub, 97 + store i32 %add, i32* %retval, align 4 + br label %return + +sw.default: ; preds = %entry + store i32 %1, i32* %retval, align 4 + br label %return + +return: ; preds = %sw.default, %sw.bb + %2 = load i32, i32* %retval, align 4 + ret i32 %2 +} + +; Function Attrs: nounwind +declare dso_local i8* @realloc(i8*, i64) #4 + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xstrdup(i8* %string) #3 { +entry: + %string.addr = alloca i8*, align 8 + store i8* %string, i8** %string.addr, align 8 + %0 = load i8*, i8** %string.addr, align 8 + %1 = load i8*, i8** %string.addr, align 8 + %call = call i64 @strlen(i8* %1) #23 + %add = add i64 %call, 1 + %call1 = call i8* @xmemdup(i8* %0, i64 %add) + ret i8* %call1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @xmemdup(i8* %p, i64 %s) #3 { +entry: + %p.addr = alloca i8*, align 8 + %s.addr = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %call = call noalias i8* @xmalloc(i64 %0) + %1 = load i8*, i8** %p.addr, align 8 + %2 = load i64, i64* %s.addr, align 8 + %3 = call i8* @memcpy(i8* %call, i8* %1, i64 %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc_va(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, %struct.__va_list_tag.0* %authors) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors.addr = alloca %struct.__va_list_tag.0*, align 8 + %n_authors = alloca i64, align 8 + %authtab = alloca [10 x i8*], align 16 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + store %struct.__va_list_tag.0* %authors, %struct.__va_list_tag.0** %authors.addr, align 8 + store i64 0, i64* %n_authors, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i64, i64* %n_authors, align 8 + %cmp = icmp ult i64 %0, 10 + br i1 %cmp, label %land.rhs, label %for.end + +land.rhs: ; preds = %for.cond + %1 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %authors.addr, align 8 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %1, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 8 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %land.rhs + %2 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %1, i32 0, i32 3 + %reg_save_area = load i8*, i8** %2, align 8 + %3 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %4 = bitcast i8* %3 to i8** + %5 = add i32 %gp_offset, 8 + store i32 %5, i32* %gp_offset_p, align 8 + br label %vaarg.end + +vaarg.in_mem: ; preds = %land.rhs + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %1, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %6 = bitcast i8* %overflow_arg_area to i8** + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i8** [ %4, %vaarg.in_reg ], [ %6, %vaarg.in_mem ] + %7 = load i8*, i8** %vaarg.addr, align 8 + %8 = load i64, i64* %n_authors, align 8 + %arrayidx = getelementptr inbounds [10 x i8*], [10 x i8*]* %authtab, i64 0, i64 %8 + store i8* %7, i8** %arrayidx, align 8 + %cmp1 = icmp ne i8* %7, null + br i1 %cmp1, label %for.inc, label %for.end + +for.inc: ; preds = %vaarg.end + %9 = load i64, i64* %n_authors, align 8 + %inc = add i64 %9, 1 + store i64 %inc, i64* %n_authors, align 8 + br label %for.cond + +for.end: ; preds = %for.cond, %vaarg.end + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %11 = load i8*, i8** %command_name.addr, align 8 + %12 = load i8*, i8** %package.addr, align 8 + %13 = load i8*, i8** %version.addr, align 8 + %arraydecay = getelementptr inbounds [10 x i8*], [10 x i8*]* %authtab, i64 0, i64 0 + %14 = load i64, i64* %n_authors, align 8 + call void @version_etc_arn(%struct._IO_FILE* %10, i8* %11, i8* %12, i8* %13, i8** %arraydecay, i64 %14) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc_arn(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, i8** %authors, i64 %n_authors) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors.addr = alloca i8**, align 8 + %n_authors.addr = alloca i64, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + store i8** %authors, i8*** %authors.addr, align 8 + store i64 %n_authors, i64* %n_authors.addr, align 8 + %0 = load i8*, i8** %command_name.addr, align 8 + %tobool = icmp ne i8* %0, null + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %entry + %2 = load i8*, i8** %command_name.addr, align 8 + %3 = load i8*, i8** %package.addr, align 8 + %4 = load i8*, i8** %version.addr, align 8 + %call = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %1, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.84, i64 0, i64 0), i8* %2, i8* %3, i8* %4) + br label %if.end + +if.else: ; preds = %entry + %5 = load i8*, i8** %package.addr, align 8 + %6 = load i8*, i8** %version.addr, align 8 + %call1 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %1, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.85, i64 0, i64 0), i8* %5, i8* %6) + br label %if.end + +if.end: ; preds = %if.else, %if.then + %7 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call2 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %7, i8* getelementptr inbounds ([47 x i8], [47 x i8]* @version_etc_copyright, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2.86, i64 0, i64 0), i32 2020) + %8 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call3 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.87, i64 0, i64 0), %struct._IO_FILE* %8) + %9 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call4 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %9, i8* getelementptr inbounds ([171 x i8], [171 x i8]* @.str.4.88, i64 0, i64 0), i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.5.89, i64 0, i64 0)) + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call5 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.87, i64 0, i64 0), %struct._IO_FILE* %10) + %11 = load i64, i64* %n_authors.addr, align 8 + br label %NodeBlock17 + +NodeBlock17: ; preds = %if.end + %case.cmp18 = icmp eq i64 %11, 0 + br i1 %case.cmp18, label %sw.epilog, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i64 %11, 1 + br i1 %case.cmp16, label %sw.bb6, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i64 %11, 2 + br i1 %case.cmp14, label %sw.bb8, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i64 %11, 3 + br i1 %case.cmp12, label %sw.bb12, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i64 %11, 4 + br i1 %case.cmp10, label %sw.bb17, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i64 %11, 5 + br i1 %case.cmp8, label %sw.bb23, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i64 %11, 6 + br i1 %case.cmp6, label %sw.bb30, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i64 %11, 7 + br i1 %case.cmp4, label %sw.bb38, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i64 %11, 8 + br i1 %case.cmp2, label %sw.bb47, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i64 %11, 9 + br i1 %case.cmp, label %sw.bb57, label %newDefault + +sw.bb6: ; preds = %NodeBlock15 + %12 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %13 = load i8**, i8*** %authors.addr, align 8 + %arrayidx = getelementptr inbounds i8*, i8** %13, i64 0 + %14 = load i8*, i8** %arrayidx, align 8 + %call7 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %12, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.6.90, i64 0, i64 0), i8* %14) + br label %sw.epilog + +sw.bb8: ; preds = %NodeBlock13 + %15 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %16 = load i8**, i8*** %authors.addr, align 8 + %arrayidx9 = getelementptr inbounds i8*, i8** %16, i64 0 + %17 = load i8*, i8** %arrayidx9, align 8 + %18 = load i8**, i8*** %authors.addr, align 8 + %arrayidx10 = getelementptr inbounds i8*, i8** %18, i64 1 + %19 = load i8*, i8** %arrayidx10, align 8 + %call11 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %15, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.7.91, i64 0, i64 0), i8* %17, i8* %19) + br label %sw.epilog + +sw.bb12: ; preds = %NodeBlock11 + %20 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %21 = load i8**, i8*** %authors.addr, align 8 + %arrayidx13 = getelementptr inbounds i8*, i8** %21, i64 0 + %22 = load i8*, i8** %arrayidx13, align 8 + %23 = load i8**, i8*** %authors.addr, align 8 + %arrayidx14 = getelementptr inbounds i8*, i8** %23, i64 1 + %24 = load i8*, i8** %arrayidx14, align 8 + %25 = load i8**, i8*** %authors.addr, align 8 + %arrayidx15 = getelementptr inbounds i8*, i8** %25, i64 2 + %26 = load i8*, i8** %arrayidx15, align 8 + %call16 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %20, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.8.92, i64 0, i64 0), i8* %22, i8* %24, i8* %26) + br label %sw.epilog + +sw.bb17: ; preds = %NodeBlock9 + %27 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %28 = load i8**, i8*** %authors.addr, align 8 + %arrayidx18 = getelementptr inbounds i8*, i8** %28, i64 0 + %29 = load i8*, i8** %arrayidx18, align 8 + %30 = load i8**, i8*** %authors.addr, align 8 + %arrayidx19 = getelementptr inbounds i8*, i8** %30, i64 1 + %31 = load i8*, i8** %arrayidx19, align 8 + %32 = load i8**, i8*** %authors.addr, align 8 + %arrayidx20 = getelementptr inbounds i8*, i8** %32, i64 2 + %33 = load i8*, i8** %arrayidx20, align 8 + %34 = load i8**, i8*** %authors.addr, align 8 + %arrayidx21 = getelementptr inbounds i8*, i8** %34, i64 3 + %35 = load i8*, i8** %arrayidx21, align 8 + %call22 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %27, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.9.93, i64 0, i64 0), i8* %29, i8* %31, i8* %33, i8* %35) + br label %sw.epilog + +sw.bb23: ; preds = %NodeBlock7 + %36 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %37 = load i8**, i8*** %authors.addr, align 8 + %arrayidx24 = getelementptr inbounds i8*, i8** %37, i64 0 + %38 = load i8*, i8** %arrayidx24, align 8 + %39 = load i8**, i8*** %authors.addr, align 8 + %arrayidx25 = getelementptr inbounds i8*, i8** %39, i64 1 + %40 = load i8*, i8** %arrayidx25, align 8 + %41 = load i8**, i8*** %authors.addr, align 8 + %arrayidx26 = getelementptr inbounds i8*, i8** %41, i64 2 + %42 = load i8*, i8** %arrayidx26, align 8 + %43 = load i8**, i8*** %authors.addr, align 8 + %arrayidx27 = getelementptr inbounds i8*, i8** %43, i64 3 + %44 = load i8*, i8** %arrayidx27, align 8 + %45 = load i8**, i8*** %authors.addr, align 8 + %arrayidx28 = getelementptr inbounds i8*, i8** %45, i64 4 + %46 = load i8*, i8** %arrayidx28, align 8 + %call29 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %36, i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.10.94, i64 0, i64 0), i8* %38, i8* %40, i8* %42, i8* %44, i8* %46) + br label %sw.epilog + +sw.bb30: ; preds = %NodeBlock5 + %47 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %48 = load i8**, i8*** %authors.addr, align 8 + %arrayidx31 = getelementptr inbounds i8*, i8** %48, i64 0 + %49 = load i8*, i8** %arrayidx31, align 8 + %50 = load i8**, i8*** %authors.addr, align 8 + %arrayidx32 = getelementptr inbounds i8*, i8** %50, i64 1 + %51 = load i8*, i8** %arrayidx32, align 8 + %52 = load i8**, i8*** %authors.addr, align 8 + %arrayidx33 = getelementptr inbounds i8*, i8** %52, i64 2 + %53 = load i8*, i8** %arrayidx33, align 8 + %54 = load i8**, i8*** %authors.addr, align 8 + %arrayidx34 = getelementptr inbounds i8*, i8** %54, i64 3 + %55 = load i8*, i8** %arrayidx34, align 8 + %56 = load i8**, i8*** %authors.addr, align 8 + %arrayidx35 = getelementptr inbounds i8*, i8** %56, i64 4 + %57 = load i8*, i8** %arrayidx35, align 8 + %58 = load i8**, i8*** %authors.addr, align 8 + %arrayidx36 = getelementptr inbounds i8*, i8** %58, i64 5 + %59 = load i8*, i8** %arrayidx36, align 8 + %call37 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %47, i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.11.95, i64 0, i64 0), i8* %49, i8* %51, i8* %53, i8* %55, i8* %57, i8* %59) + br label %sw.epilog + +sw.bb38: ; preds = %NodeBlock3 + %60 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %61 = load i8**, i8*** %authors.addr, align 8 + %arrayidx39 = getelementptr inbounds i8*, i8** %61, i64 0 + %62 = load i8*, i8** %arrayidx39, align 8 + %63 = load i8**, i8*** %authors.addr, align 8 + %arrayidx40 = getelementptr inbounds i8*, i8** %63, i64 1 + %64 = load i8*, i8** %arrayidx40, align 8 + %65 = load i8**, i8*** %authors.addr, align 8 + %arrayidx41 = getelementptr inbounds i8*, i8** %65, i64 2 + %66 = load i8*, i8** %arrayidx41, align 8 + %67 = load i8**, i8*** %authors.addr, align 8 + %arrayidx42 = getelementptr inbounds i8*, i8** %67, i64 3 + %68 = load i8*, i8** %arrayidx42, align 8 + %69 = load i8**, i8*** %authors.addr, align 8 + %arrayidx43 = getelementptr inbounds i8*, i8** %69, i64 4 + %70 = load i8*, i8** %arrayidx43, align 8 + %71 = load i8**, i8*** %authors.addr, align 8 + %arrayidx44 = getelementptr inbounds i8*, i8** %71, i64 5 + %72 = load i8*, i8** %arrayidx44, align 8 + %73 = load i8**, i8*** %authors.addr, align 8 + %arrayidx45 = getelementptr inbounds i8*, i8** %73, i64 6 + %74 = load i8*, i8** %arrayidx45, align 8 + %call46 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %60, i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.12.96, i64 0, i64 0), i8* %62, i8* %64, i8* %66, i8* %68, i8* %70, i8* %72, i8* %74) + br label %sw.epilog + +sw.bb47: ; preds = %NodeBlock1 + %75 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %76 = load i8**, i8*** %authors.addr, align 8 + %arrayidx48 = getelementptr inbounds i8*, i8** %76, i64 0 + %77 = load i8*, i8** %arrayidx48, align 8 + %78 = load i8**, i8*** %authors.addr, align 8 + %arrayidx49 = getelementptr inbounds i8*, i8** %78, i64 1 + %79 = load i8*, i8** %arrayidx49, align 8 + %80 = load i8**, i8*** %authors.addr, align 8 + %arrayidx50 = getelementptr inbounds i8*, i8** %80, i64 2 + %81 = load i8*, i8** %arrayidx50, align 8 + %82 = load i8**, i8*** %authors.addr, align 8 + %arrayidx51 = getelementptr inbounds i8*, i8** %82, i64 3 + %83 = load i8*, i8** %arrayidx51, align 8 + %84 = load i8**, i8*** %authors.addr, align 8 + %arrayidx52 = getelementptr inbounds i8*, i8** %84, i64 4 + %85 = load i8*, i8** %arrayidx52, align 8 + %86 = load i8**, i8*** %authors.addr, align 8 + %arrayidx53 = getelementptr inbounds i8*, i8** %86, i64 5 + %87 = load i8*, i8** %arrayidx53, align 8 + %88 = load i8**, i8*** %authors.addr, align 8 + %arrayidx54 = getelementptr inbounds i8*, i8** %88, i64 6 + %89 = load i8*, i8** %arrayidx54, align 8 + %90 = load i8**, i8*** %authors.addr, align 8 + %arrayidx55 = getelementptr inbounds i8*, i8** %90, i64 7 + %91 = load i8*, i8** %arrayidx55, align 8 + %call56 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %75, i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.13.97, i64 0, i64 0), i8* %77, i8* %79, i8* %81, i8* %83, i8* %85, i8* %87, i8* %89, i8* %91) + br label %sw.epilog + +sw.bb57: ; preds = %NodeBlock + %92 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %93 = load i8**, i8*** %authors.addr, align 8 + %arrayidx58 = getelementptr inbounds i8*, i8** %93, i64 0 + %94 = load i8*, i8** %arrayidx58, align 8 + %95 = load i8**, i8*** %authors.addr, align 8 + %arrayidx59 = getelementptr inbounds i8*, i8** %95, i64 1 + %96 = load i8*, i8** %arrayidx59, align 8 + %97 = load i8**, i8*** %authors.addr, align 8 + %arrayidx60 = getelementptr inbounds i8*, i8** %97, i64 2 + %98 = load i8*, i8** %arrayidx60, align 8 + %99 = load i8**, i8*** %authors.addr, align 8 + %arrayidx61 = getelementptr inbounds i8*, i8** %99, i64 3 + %100 = load i8*, i8** %arrayidx61, align 8 + %101 = load i8**, i8*** %authors.addr, align 8 + %arrayidx62 = getelementptr inbounds i8*, i8** %101, i64 4 + %102 = load i8*, i8** %arrayidx62, align 8 + %103 = load i8**, i8*** %authors.addr, align 8 + %arrayidx63 = getelementptr inbounds i8*, i8** %103, i64 5 + %104 = load i8*, i8** %arrayidx63, align 8 + %105 = load i8**, i8*** %authors.addr, align 8 + %arrayidx64 = getelementptr inbounds i8*, i8** %105, i64 6 + %106 = load i8*, i8** %arrayidx64, align 8 + %107 = load i8**, i8*** %authors.addr, align 8 + %arrayidx65 = getelementptr inbounds i8*, i8** %107, i64 7 + %108 = load i8*, i8** %arrayidx65, align 8 + %109 = load i8**, i8*** %authors.addr, align 8 + %arrayidx66 = getelementptr inbounds i8*, i8** %109, i64 8 + %110 = load i8*, i8** %arrayidx66, align 8 + %call67 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %92, i8* getelementptr inbounds ([52 x i8], [52 x i8]* @.str.14.98, i64 0, i64 0), i8* %94, i8* %96, i8* %98, i8* %100, i8* %102, i8* %104, i8* %106, i8* %108, i8* %110) + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + %111 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %112 = load i8**, i8*** %authors.addr, align 8 + %arrayidx68 = getelementptr inbounds i8*, i8** %112, i64 0 + %113 = load i8*, i8** %arrayidx68, align 8 + %114 = load i8**, i8*** %authors.addr, align 8 + %arrayidx69 = getelementptr inbounds i8*, i8** %114, i64 1 + %115 = load i8*, i8** %arrayidx69, align 8 + %116 = load i8**, i8*** %authors.addr, align 8 + %arrayidx70 = getelementptr inbounds i8*, i8** %116, i64 2 + %117 = load i8*, i8** %arrayidx70, align 8 + %118 = load i8**, i8*** %authors.addr, align 8 + %arrayidx71 = getelementptr inbounds i8*, i8** %118, i64 3 + %119 = load i8*, i8** %arrayidx71, align 8 + %120 = load i8**, i8*** %authors.addr, align 8 + %arrayidx72 = getelementptr inbounds i8*, i8** %120, i64 4 + %121 = load i8*, i8** %arrayidx72, align 8 + %122 = load i8**, i8*** %authors.addr, align 8 + %arrayidx73 = getelementptr inbounds i8*, i8** %122, i64 5 + %123 = load i8*, i8** %arrayidx73, align 8 + %124 = load i8**, i8*** %authors.addr, align 8 + %arrayidx74 = getelementptr inbounds i8*, i8** %124, i64 6 + %125 = load i8*, i8** %arrayidx74, align 8 + %126 = load i8**, i8*** %authors.addr, align 8 + %arrayidx75 = getelementptr inbounds i8*, i8** %126, i64 7 + %127 = load i8*, i8** %arrayidx75, align 8 + %128 = load i8**, i8*** %authors.addr, align 8 + %arrayidx76 = getelementptr inbounds i8*, i8** %128, i64 8 + %129 = load i8*, i8** %arrayidx76, align 8 + %call77 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %111, i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.15.99, i64 0, i64 0), i8* %113, i8* %115, i8* %117, i8* %119, i8* %121, i8* %123, i8* %125, i8* %127, i8* %129) + br label %sw.epilog + +sw.epilog: ; preds = %NodeBlock17, %sw.default, %sw.bb57, %sw.bb47, %sw.bb38, %sw.bb30, %sw.bb23, %sw.bb17, %sw.bb12, %sw.bb8, %sw.bb6 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @close_stream(%struct._IO_FILE* %stream) #3 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct._IO_FILE*, align 8 + %some_pending = alloca i8, align 1 + %prev_fail = alloca i8, align 1 + %fclose_fail = alloca i8, align 1 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.513*)* @__fpending to i64 (%struct._IO_FILE*)*)(%struct._IO_FILE* %0) #11 + %cmp = icmp ne i64 %call, 0 + %frombool = zext i1 %cmp to i8 + store i8 %frombool, i8* %some_pending, align 1 + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call1 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.592*)* @ferror_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %1) #11 + %cmp2 = icmp ne i32 %call1, 0 + %frombool3 = zext i1 %cmp2 to i8 + store i8 %frombool3, i8* %prev_fail, align 1 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call4 = call i32 @rpl_fclose(%struct._IO_FILE* %2) + %cmp5 = icmp ne i32 %call4, 0 + %frombool6 = zext i1 %cmp5 to i8 + store i8 %frombool6, i8* %fclose_fail, align 1 + %3 = load i8, i8* %prev_fail, align 1 + %tobool = trunc i8 %3 to i1 + br i1 %tobool, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %4 = load i8, i8* %fclose_fail, align 1 + %tobool7 = trunc i8 %4 to i1 + br i1 %tobool7, label %land.lhs.true, label %if.end15 + +land.lhs.true: ; preds = %lor.lhs.false + %5 = load i8, i8* %some_pending, align 1 + %tobool8 = trunc i8 %5 to i1 + br i1 %tobool8, label %if.then, label %lor.lhs.false9 + +lor.lhs.false9: ; preds = %land.lhs.true + %call10 = call i32* @__errno_location() #25 + %6 = load i32, i32* %call10, align 4 + %cmp11 = icmp ne i32 %6, 9 + br i1 %cmp11, label %if.then, label %if.end15 + +if.then: ; preds = %lor.lhs.false9, %land.lhs.true, %entry + %7 = load i8, i8* %fclose_fail, align 1 + %tobool12 = trunc i8 %7 to i1 + br i1 %tobool12, label %if.end, label %if.then13 + +if.then13: ; preds = %if.then + %call14 = call i32* @__errno_location() #25 + store i32 0, i32* %call14, align 4 + br label %if.end + +if.end: ; preds = %if.then13, %if.then + store i32 -1, i32* %retval, align 4 + br label %return + +if.end15: ; preds = %lor.lhs.false9, %lor.lhs.false + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end15, %if.end + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_colon(i8* %arg) #3 { +entry: + %arg.addr = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_char(i8* %0, i8 signext 58) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_char(i8* %arg, i8 signext %ch) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %ch.addr = alloca i8, align 1 + store i8* %arg, i8** %arg.addr, align 8 + store i8 %ch, i8* %ch.addr, align 1 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i8, i8* %ch.addr, align 1 + %call = call i8* @quotearg_char_mem(i8* %0, i64 -1, i8 signext %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_char_mem(i8* %arg, i64 %argsize, i8 signext %ch) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %ch.addr = alloca i8, align 1 + %options = alloca %struct.quoting_options, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store i8 %ch, i8* %ch.addr, align 1 + %0 = bitcast %struct.quoting_options* %options to i8* + %1 = call i8* @memcpy(i8* %0, i8* bitcast (%struct.quoting_options* @default_quoting_options to i8*), i64 56) + %2 = load i8, i8* %ch.addr, align 1 + %call = call i32 @set_char_quoting(%struct.quoting_options* %options, i8 signext %2, i32 1) + %3 = load i8*, i8** %arg.addr, align 8 + %4 = load i64, i64* %argsize.addr, align 8 + %call1 = call i8* @quotearg_n_options(i32 0, i8* %3, i64 %4, %struct.quoting_options* %options) + ret i8* %call1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @close_stdout_set_file_name(i8* %file) #3 { +entry: + %file.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + store i8* %0, i8** @file_name, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @close_stdout_set_ignore_EPIPE(i1 zeroext %ignore) #3 { +entry: + %ignore.addr = alloca i8, align 1 + %frombool = zext i1 %ignore to i8 + store i8 %frombool, i8* %ignore.addr, align 1 + %0 = load i8, i8* %ignore.addr, align 1 + %tobool = trunc i8 %0 to i1 + %frombool1 = zext i1 %tobool to i8 + store i8 %frombool1, i8* @ignore_EPIPE, align 1 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local %struct.quoting_options* @clone_quoting_options(%struct.quoting_options* %o) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %p = alloca %struct.quoting_options*, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %call = call i32* @__errno_location() #25 + %0 = load i32, i32* %call, align 4 + store i32 %0, i32* %e, align 4 + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %1, null + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %2, %struct.quoting_options* @default_quoting_options + %3 = bitcast %struct.quoting_options* %cond to i8* + %call1 = call i8* @xmemdup(i8* %3, i64 56) + %4 = bitcast i8* %call1 to %struct.quoting_options* + store %struct.quoting_options* %4, %struct.quoting_options** %p, align 8 + %5 = load i32, i32* %e, align 4 + %call2 = call i32* @__errno_location() #25 + store i32 %5, i32* %call2, align 4 + %6 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + ret %struct.quoting_options* %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @get_quoting_style(%struct.quoting_options* %o) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %1, %struct.quoting_options* @default_quoting_options + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %cond, i32 0, i32 0 + %2 = load i32, i32* %style, align 8 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_quoting_style(%struct.quoting_options* %o, i32 %s) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %s.addr = alloca i32, align 4 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i32 %s, i32* %s.addr, align 4 + %0 = load i32, i32* %s.addr, align 4 + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %1, null + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %2, %struct.quoting_options* @default_quoting_options + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %cond, i32 0, i32 0 + store i32 %0, i32* %style, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @set_quoting_flags(%struct.quoting_options* %o, i32 %i) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %i.addr = alloca i32, align 4 + %r = alloca i32, align 4 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i32 %i, i32* %i.addr, align 4 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store %struct.quoting_options* @default_quoting_options, %struct.quoting_options** %o.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %flags = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %1, i32 0, i32 1 + %2 = load i32, i32* %flags, align 4 + store i32 %2, i32* %r, align 4 + %3 = load i32, i32* %i.addr, align 4 + %4 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %flags1 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %4, i32 0, i32 1 + store i32 %3, i32* %flags1, align 4 + %5 = load i32, i32* %r, align 4 + ret i32 %5 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_custom_quoting(%struct.quoting_options* %o, i8* %left_quote, i8* %right_quote) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store %struct.quoting_options* @default_quoting_options, %struct.quoting_options** %o.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %1, i32 0, i32 0 + store i32 10, i32* %style, align 8 + %2 = load i8*, i8** %left_quote.addr, align 8 + %tobool1 = icmp ne i8* %2, null + %3 = load i8*, i8** %right_quote.addr, align 8 + %tobool2 = icmp ne i8* %3, null + %or.cond = and i1 %tobool1, %tobool2 + br i1 %or.cond, label %if.end4, label %if.then3 + +if.then3: ; preds = %if.end + call void @abort() #26 + unreachable + +if.end4: ; preds = %if.end + %4 = load i8*, i8** %left_quote.addr, align 8 + %5 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %left_quote5 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %5, i32 0, i32 3 + store i8* %4, i8** %left_quote5, align 8 + %6 = load i8*, i8** %right_quote.addr, align 8 + %7 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %right_quote6 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %7, i32 0, i32 4 + store i8* %6, i8** %right_quote6, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @quotearg_buffer(i8* %buffer, i64 %buffersize, i8* %arg, i64 %argsize, %struct.quoting_options* %o) #3 { +entry: + %buffer.addr = alloca i8*, align 8 + %buffersize.addr = alloca i64, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o.addr = alloca %struct.quoting_options*, align 8 + %p = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %r = alloca i64, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %buffersize, i64* %buffersize.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %1, %struct.quoting_options* @default_quoting_options + store %struct.quoting_options* %cond, %struct.quoting_options** %p, align 8 + %call = call i32* @__errno_location() #25 + %2 = load i32, i32* %call, align 4 + store i32 %2, i32* %e, align 4 + %3 = load i8*, i8** %buffer.addr, align 8 + %4 = load i64, i64* %buffersize.addr, align 8 + %5 = load i8*, i8** %arg.addr, align 8 + %6 = load i64, i64* %argsize.addr, align 8 + %7 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %7, i32 0, i32 0 + %8 = load i32, i32* %style, align 8 + %9 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %flags = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %9, i32 0, i32 1 + %10 = load i32, i32* %flags, align 4 + %11 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %11, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %12 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %left_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %12, i32 0, i32 3 + %13 = load i8*, i8** %left_quote, align 8 + %14 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %right_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %14, i32 0, i32 4 + %15 = load i8*, i8** %right_quote, align 8 + %call1 = call i64 @quotearg_buffer_restyled(i8* %3, i64 %4, i8* %5, i64 %6, i32 %8, i32 %10, i32* %arraydecay, i8* %13, i8* %15) + store i64 %call1, i64* %r, align 8 + %16 = load i32, i32* %e, align 4 + %call2 = call i32* @__errno_location() #25 + store i32 %16, i32* %call2, align 4 + %17 = load i64, i64* %r, align 8 + ret i64 %17 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_alloc(i8* %arg, i64 %argsize, %struct.quoting_options* %o) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o.addr = alloca %struct.quoting_options*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %call = call i8* @quotearg_alloc_mem(i8* %0, i64 %1, i64* null, %struct.quoting_options* %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_alloc_mem(i8* %arg, i64 %argsize, i64* %size, %struct.quoting_options* %o) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %size.addr = alloca i64*, align 8 + %o.addr = alloca %struct.quoting_options*, align 8 + %p = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %flags = alloca i32, align 4 + %bufsize = alloca i64, align 8 + %buf = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store i64* %size, i64** %size.addr, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %1, %struct.quoting_options* @default_quoting_options + store %struct.quoting_options* %cond, %struct.quoting_options** %p, align 8 + %call = call i32* @__errno_location() #25 + %2 = load i32, i32* %call, align 4 + store i32 %2, i32* %e, align 4 + %3 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %flags1 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %3, i32 0, i32 1 + %4 = load i32, i32* %flags1, align 4 + %5 = load i64*, i64** %size.addr, align 8 + %tobool2 = icmp ne i64* %5, null + %6 = zext i1 %tobool2 to i64 + %cond3 = select i1 %tobool2, i32 0, i32 1 + %or = or i32 %4, %cond3 + store i32 %or, i32* %flags, align 4 + %7 = load i8*, i8** %arg.addr, align 8 + %8 = load i64, i64* %argsize.addr, align 8 + %9 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %9, i32 0, i32 0 + %10 = load i32, i32* %style, align 8 + %11 = load i32, i32* %flags, align 4 + %12 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %12, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %13 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %left_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %13, i32 0, i32 3 + %14 = load i8*, i8** %left_quote, align 8 + %15 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %right_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %15, i32 0, i32 4 + %16 = load i8*, i8** %right_quote, align 8 + %call4 = call i64 @quotearg_buffer_restyled(i8* null, i64 0, i8* %7, i64 %8, i32 %10, i32 %11, i32* %arraydecay, i8* %14, i8* %16) + %add = add i64 %call4, 1 + store i64 %add, i64* %bufsize, align 8 + %17 = load i64, i64* %bufsize, align 8 + %call5 = call noalias i8* @xcharalloc(i64 %17) + store i8* %call5, i8** %buf, align 8 + %18 = load i8*, i8** %buf, align 8 + %19 = load i64, i64* %bufsize, align 8 + %20 = load i8*, i8** %arg.addr, align 8 + %21 = load i64, i64* %argsize.addr, align 8 + %22 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %style6 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %22, i32 0, i32 0 + %23 = load i32, i32* %style6, align 8 + %24 = load i32, i32* %flags, align 4 + %25 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %quote_these_too7 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %25, i32 0, i32 2 + %arraydecay8 = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too7, i64 0, i64 0 + %26 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %left_quote9 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %26, i32 0, i32 3 + %27 = load i8*, i8** %left_quote9, align 8 + %28 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %right_quote10 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %28, i32 0, i32 4 + %29 = load i8*, i8** %right_quote10, align 8 + %call11 = call i64 @quotearg_buffer_restyled(i8* %18, i64 %19, i8* %20, i64 %21, i32 %23, i32 %24, i32* %arraydecay8, i8* %27, i8* %29) + %30 = load i32, i32* %e, align 4 + %call12 = call i32* @__errno_location() #25 + store i32 %30, i32* %call12, align 4 + %31 = load i64*, i64** %size.addr, align 8 + %tobool13 = icmp ne i64* %31, null + br i1 %tobool13, label %if.then, label %if.end + +if.then: ; preds = %entry + %32 = load i64, i64* %bufsize, align 8 + %sub = sub i64 %32, 1 + %33 = load i64*, i64** %size.addr, align 8 + store i64 %sub, i64* %33, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %34 = load i8*, i8** %buf, align 8 + ret i8* %34 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @quotearg_free() #3 { +entry: + %sv = alloca %struct.slotvec*, align 8 + %i = alloca i32, align 4 + %0 = load %struct.slotvec*, %struct.slotvec** @slotvec, align 8 + store %struct.slotvec* %0, %struct.slotvec** %sv, align 8 + store i32 1, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %1 = load i32, i32* %i, align 4 + %2 = load i32, i32* @nslots, align 4 + %cmp = icmp slt i32 %1, %2 + %3 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %4 = load i32, i32* %i, align 4 + %idxprom = sext i32 %4 to i64 + %arrayidx = getelementptr inbounds %struct.slotvec, %struct.slotvec* %3, i64 %idxprom + %val = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx, i32 0, i32 1 + %5 = load i8*, i8** %val, align 8 + call void @free(i8* %5) #11 + %6 = load i32, i32* %i, align 4 + %inc = add nsw i32 %6, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %arrayidx1 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %3, i64 0 + %val2 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx1, i32 0, i32 1 + %7 = load i8*, i8** %val2, align 8 + %cmp3 = icmp ne i8* %7, getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i64 0, i64 0) + br i1 %cmp3, label %if.then, label %if.end + +if.then: ; preds = %for.end + %8 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %arrayidx4 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %8, i64 0 + %val5 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx4, i32 0, i32 1 + %9 = load i8*, i8** %val5, align 8 + call void @free(i8* %9) #11 + store i64 256, i64* getelementptr inbounds (%struct.slotvec, %struct.slotvec* @slotvec0, i32 0, i32 0), align 8 + store i8* getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i64 0, i64 0), i8** getelementptr inbounds (%struct.slotvec, %struct.slotvec* @slotvec0, i32 0, i32 1), align 8 + br label %if.end + +if.end: ; preds = %if.then, %for.end + %10 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %cmp6 = icmp ne %struct.slotvec* %10, @slotvec0 + br i1 %cmp6, label %if.then7, label %if.end8 + +if.then7: ; preds = %if.end + %11 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %12 = bitcast %struct.slotvec* %11 to i8* + call void @free(i8* %12) #11 + store %struct.slotvec* @slotvec0, %struct.slotvec** @slotvec, align 8 + br label %if.end8 + +if.end8: ; preds = %if.then7, %if.end + store i32 1, i32* @nslots, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n(i32 %n, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %0, i8* %1, i64 -1, %struct.quoting_options* @default_quoting_options) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_mem(i32 %n, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %2 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %0, i8* %1, i64 %2, %struct.quoting_options* @default_quoting_options) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg(i8* %arg) #3 { +entry: + %arg.addr = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n(i32 0, i8* %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_mem(i8* %arg, i64 %argsize) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_mem(i32 0, i8* %0, i64 %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_style(i32 %n, i32 %s, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %o = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + call void @quoting_options_from_style(%struct.quoting_options* sret align 8 %o, i32 %0) + %1 = load i32, i32* %n.addr, align 4 + %2 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %1, i8* %2, i64 -1, %struct.quoting_options* %o) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_style_mem(i32 %n, i32 %s, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + call void @quoting_options_from_style(%struct.quoting_options* sret align 8 %o, i32 %0) + %1 = load i32, i32* %n.addr, align 4 + %2 = load i8*, i8** %arg.addr, align 8 + %3 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %1, i8* %2, i64 %3, %struct.quoting_options* %o) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_style(i32 %s, i8* %arg) #3 { +entry: + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_style(i32 0, i32 %0, i8* %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_style_mem(i32 %s, i8* %arg, i64 %argsize) #3 { +entry: + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %2 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_style_mem(i32 0, i32 %0, i8* %1, i64 %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_colon_mem(i8* %arg, i64 %argsize) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_char_mem(i8* %0, i64 %1, i8 signext 58) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_custom(i32 %n, i8* %left_quote, i8* %right_quote, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %left_quote.addr, align 8 + %2 = load i8*, i8** %right_quote.addr, align 8 + %3 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_custom_mem(i32 %0, i8* %1, i8* %2, i8* %3, i64 -1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_custom_mem(i32 %n, i8* %left_quote, i8* %right_quote, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = bitcast %struct.quoting_options* %o to i8* + %1 = call i8* @memcpy(i8* %0, i8* bitcast (%struct.quoting_options* @default_quoting_options to i8*), i64 56) + %2 = load i8*, i8** %left_quote.addr, align 8 + %3 = load i8*, i8** %right_quote.addr, align 8 + call void @set_custom_quoting(%struct.quoting_options* %o, i8* %2, i8* %3) + %4 = load i32, i32* %n.addr, align 4 + %5 = load i8*, i8** %arg.addr, align 8 + %6 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %4, i8* %5, i64 %6, %struct.quoting_options* %o) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_custom(i8* %left_quote, i8* %right_quote, i8* %arg) #3 { +entry: + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %left_quote.addr, align 8 + %1 = load i8*, i8** %right_quote.addr, align 8 + %2 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_custom(i32 0, i8* %0, i8* %1, i8* %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_custom_mem(i8* %left_quote, i8* %right_quote, i8* %arg, i64 %argsize) #3 { +entry: + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %left_quote.addr, align 8 + %1 = load i8*, i8** %right_quote.addr, align 8 + %2 = load i8*, i8** %arg.addr, align 8 + %3 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_custom_mem(i32 0, i8* %0, i8* %1, i8* %2, i64 %3) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote_n_mem(i32 %n, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %2 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %0, i8* %1, i64 %2, %struct.quoting_options* @quote_quoting_options) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote_mem(i8* %arg, i64 %argsize) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quote_n_mem(i32 0, i8* %0, i64 %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote_n(i32 %n, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quote_n_mem(i32 %0, i8* %1, i64 -1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote(i8* %arg) #3 { +entry: + %arg.addr = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quote_n(i32 0, i8* %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc_ar(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, i8** %authors) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors.addr = alloca i8**, align 8 + %n_authors = alloca i64, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + store i8** %authors, i8*** %authors.addr, align 8 + store i64 0, i64* %n_authors, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i8**, i8*** %authors.addr, align 8 + %1 = load i64, i64* %n_authors, align 8 + %arrayidx = getelementptr inbounds i8*, i8** %0, i64 %1 + %2 = load i8*, i8** %arrayidx, align 8 + %tobool = icmp ne i8* %2, null + br i1 %tobool, label %for.inc, label %for.end + +for.inc: ; preds = %for.cond + %3 = load i64, i64* %n_authors, align 8 + %inc = add i64 %3, 1 + store i64 %inc, i64* %n_authors, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %5 = load i8*, i8** %command_name.addr, align 8 + %6 = load i8*, i8** %package.addr, align 8 + %7 = load i8*, i8** %version.addr, align 8 + %8 = load i8**, i8*** %authors.addr, align 8 + %9 = load i64, i64* %n_authors, align 8 + call void @version_etc_arn(%struct._IO_FILE* %4, i8* %5, i8* %6, i8* %7, i8** %8, i64 %9) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @emit_bug_reporting_address() #3 { +entry: + %0 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.87, i64 0, i64 0), %struct._IO_FILE* %0) + %call1 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.16.102, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.17.103, i64 0, i64 0)) + %call2 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.18.104, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.19.105, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.20.106, i64 0, i64 0)) + %call3 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.21.107, i64 0, i64 0), i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.22.108, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @xnrealloc(i8* %p, i64 %n, i64 %s) #3 { +entry: + %p.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %s.addr = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %div = udiv i64 9223372036854775807, %0 + %1 = load i64, i64* %n.addr, align 8 + %cmp = icmp ult i64 %div, %1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %p.addr, align 8 + %3 = load i64, i64* %n.addr, align 8 + %4 = load i64, i64* %s.addr, align 8 + %mul = mul i64 %3, %4 + %call = call i8* @xrealloc(i8* %2, i64 %mul) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @x2nrealloc(i8* %p, i64* %pn, i64 %s) #3 { +entry: + %p.addr = alloca i8*, align 8 + %pn.addr = alloca i64*, align 8 + %s.addr = alloca i64, align 8 + %n = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64* %pn, i64** %pn.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64*, i64** %pn.addr, align 8 + %1 = load i64, i64* %0, align 8 + store i64 %1, i64* %n, align 8 + %2 = load i8*, i8** %p.addr, align 8 + %tobool = icmp ne i8* %2, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %3 = load i64, i64* %n, align 8 + %tobool1 = icmp ne i64 %3, 0 + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + %4 = load i64, i64* %s.addr, align 8 + %div = udiv i64 128, %4 + store i64 %div, i64* %n, align 8 + %5 = load i64, i64* %n, align 8 + %tobool3 = icmp ne i64 %5, 0 + %lnot = xor i1 %tobool3, true + %lnot.ext = zext i1 %lnot to i32 + %conv = sext i32 %lnot.ext to i64 + %6 = load i64, i64* %n, align 8 + %add = add i64 %6, %conv + store i64 %add, i64* %n, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %7 = load i64, i64* %s.addr, align 8 + %div4 = udiv i64 9223372036854775807, %7 + %8 = load i64, i64* %n, align 8 + %cmp = icmp ult i64 %div4, %8 + br i1 %cmp, label %if.then6, label %if.end16 + +if.then6: ; preds = %if.end + call void @xalloc_die() #24 + unreachable + +if.else: ; preds = %entry + %9 = load i64, i64* %s.addr, align 8 + %div8 = udiv i64 6148914691236517204, %9 + %10 = load i64, i64* %n, align 8 + %cmp9 = icmp ule i64 %div8, %10 + br i1 %cmp9, label %if.then11, label %if.end12 + +if.then11: ; preds = %if.else + call void @xalloc_die() #24 + unreachable + +if.end12: ; preds = %if.else + %11 = load i64, i64* %n, align 8 + %div13 = udiv i64 %11, 2 + %add14 = add i64 %div13, 1 + %12 = load i64, i64* %n, align 8 + %add15 = add i64 %12, %add14 + store i64 %add15, i64* %n, align 8 + br label %if.end16 + +if.end16: ; preds = %if.end, %if.end12 + %13 = load i64, i64* %n, align 8 + %14 = load i64*, i64** %pn.addr, align 8 + store i64 %13, i64* %14, align 8 + %15 = load i8*, i8** %p.addr, align 8 + %16 = load i64, i64* %n, align 8 + %17 = load i64, i64* %s.addr, align 8 + %mul = mul i64 %16, %17 + %call = call i8* @xrealloc(i8* %15, i64 %mul) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @x2realloc(i8* %p, i64* %pn) #3 { +entry: + %p.addr = alloca i8*, align 8 + %pn.addr = alloca i64*, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64* %pn, i64** %pn.addr, align 8 + %0 = load i8*, i8** %p.addr, align 8 + %1 = load i64*, i64** %pn.addr, align 8 + %call = call i8* @x2nrealloc(i8* %0, i64* %1, i64 1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xzalloc(i64 %n) #3 { +entry: + %n.addr = alloca i64, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @xcalloc(i64 %0, i64 1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xcalloc(i64 %n, i64 %s) #3 { +entry: + %n.addr = alloca i64, align 8 + %s.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i64 %n, i64* %n.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %div = udiv i64 9223372036854775807, %0 + %1 = load i64, i64* %n.addr, align 8 + %cmp = icmp ult i64 %div, %1 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load i64, i64* %n.addr, align 8 + %3 = load i64, i64* %s.addr, align 8 + %call = call noalias i8* @calloc(i64 %2, i64 %3) #11 + store i8* %call, i8** %p, align 8 + %tobool = icmp ne i8* %call, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %lor.lhs.false, %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %lor.lhs.false + %4 = load i8*, i8** %p, align 8 + ret i8* %4 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @setlocale_null(i32 %category) #3 { +entry: + %category.addr = alloca i32, align 4 + store i32 %category, i32* %category.addr, align 4 + %0 = load i32, i32* %category.addr, align 4 + %call = call i8* @setlocale_null_androidfix(i32 %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isalnum(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock121 + +NodeBlock121: ; preds = %entry + %case.cmp122 = icmp eq i32 %0, 48 + br i1 %case.cmp122, label %sw.bb, label %NodeBlock119 + +NodeBlock119: ; preds = %NodeBlock121 + %case.cmp120 = icmp eq i32 %0, 49 + br i1 %case.cmp120, label %sw.bb, label %NodeBlock117 + +NodeBlock117: ; preds = %NodeBlock119 + %case.cmp118 = icmp eq i32 %0, 50 + br i1 %case.cmp118, label %sw.bb, label %NodeBlock115 + +NodeBlock115: ; preds = %NodeBlock117 + %case.cmp116 = icmp eq i32 %0, 51 + br i1 %case.cmp116, label %sw.bb, label %NodeBlock113 + +NodeBlock113: ; preds = %NodeBlock115 + %case.cmp114 = icmp eq i32 %0, 52 + br i1 %case.cmp114, label %sw.bb, label %NodeBlock111 + +NodeBlock111: ; preds = %NodeBlock113 + %case.cmp112 = icmp eq i32 %0, 53 + br i1 %case.cmp112, label %sw.bb, label %NodeBlock109 + +NodeBlock109: ; preds = %NodeBlock111 + %case.cmp110 = icmp eq i32 %0, 54 + br i1 %case.cmp110, label %sw.bb, label %NodeBlock107 + +NodeBlock107: ; preds = %NodeBlock109 + %case.cmp108 = icmp eq i32 %0, 55 + br i1 %case.cmp108, label %sw.bb, label %NodeBlock105 + +NodeBlock105: ; preds = %NodeBlock107 + %case.cmp106 = icmp eq i32 %0, 56 + br i1 %case.cmp106, label %sw.bb, label %NodeBlock103 + +NodeBlock103: ; preds = %NodeBlock105 + %case.cmp104 = icmp eq i32 %0, 57 + br i1 %case.cmp104, label %sw.bb, label %NodeBlock101 + +NodeBlock101: ; preds = %NodeBlock103 + %case.cmp102 = icmp eq i32 %0, 97 + br i1 %case.cmp102, label %sw.bb, label %NodeBlock99 + +NodeBlock99: ; preds = %NodeBlock101 + %case.cmp100 = icmp eq i32 %0, 98 + br i1 %case.cmp100, label %sw.bb, label %NodeBlock97 + +NodeBlock97: ; preds = %NodeBlock99 + %case.cmp98 = icmp eq i32 %0, 99 + br i1 %case.cmp98, label %sw.bb, label %NodeBlock95 + +NodeBlock95: ; preds = %NodeBlock97 + %case.cmp96 = icmp eq i32 %0, 100 + br i1 %case.cmp96, label %sw.bb, label %NodeBlock93 + +NodeBlock93: ; preds = %NodeBlock95 + %case.cmp94 = icmp eq i32 %0, 101 + br i1 %case.cmp94, label %sw.bb, label %NodeBlock91 + +NodeBlock91: ; preds = %NodeBlock93 + %case.cmp92 = icmp eq i32 %0, 102 + br i1 %case.cmp92, label %sw.bb, label %NodeBlock89 + +NodeBlock89: ; preds = %NodeBlock91 + %case.cmp90 = icmp eq i32 %0, 103 + br i1 %case.cmp90, label %sw.bb, label %NodeBlock87 + +NodeBlock87: ; preds = %NodeBlock89 + %case.cmp88 = icmp eq i32 %0, 104 + br i1 %case.cmp88, label %sw.bb, label %NodeBlock85 + +NodeBlock85: ; preds = %NodeBlock87 + %case.cmp86 = icmp eq i32 %0, 105 + br i1 %case.cmp86, label %sw.bb, label %NodeBlock83 + +NodeBlock83: ; preds = %NodeBlock85 + %case.cmp84 = icmp eq i32 %0, 106 + br i1 %case.cmp84, label %sw.bb, label %NodeBlock81 + +NodeBlock81: ; preds = %NodeBlock83 + %case.cmp82 = icmp eq i32 %0, 107 + br i1 %case.cmp82, label %sw.bb, label %NodeBlock79 + +NodeBlock79: ; preds = %NodeBlock81 + %case.cmp80 = icmp eq i32 %0, 108 + br i1 %case.cmp80, label %sw.bb, label %NodeBlock77 + +NodeBlock77: ; preds = %NodeBlock79 + %case.cmp78 = icmp eq i32 %0, 109 + br i1 %case.cmp78, label %sw.bb, label %NodeBlock75 + +NodeBlock75: ; preds = %NodeBlock77 + %case.cmp76 = icmp eq i32 %0, 110 + br i1 %case.cmp76, label %sw.bb, label %NodeBlock73 + +NodeBlock73: ; preds = %NodeBlock75 + %case.cmp74 = icmp eq i32 %0, 111 + br i1 %case.cmp74, label %sw.bb, label %NodeBlock71 + +NodeBlock71: ; preds = %NodeBlock73 + %case.cmp72 = icmp eq i32 %0, 112 + br i1 %case.cmp72, label %sw.bb, label %NodeBlock69 + +NodeBlock69: ; preds = %NodeBlock71 + %case.cmp70 = icmp eq i32 %0, 113 + br i1 %case.cmp70, label %sw.bb, label %NodeBlock67 + +NodeBlock67: ; preds = %NodeBlock69 + %case.cmp68 = icmp eq i32 %0, 114 + br i1 %case.cmp68, label %sw.bb, label %NodeBlock65 + +NodeBlock65: ; preds = %NodeBlock67 + %case.cmp66 = icmp eq i32 %0, 115 + br i1 %case.cmp66, label %sw.bb, label %NodeBlock63 + +NodeBlock63: ; preds = %NodeBlock65 + %case.cmp64 = icmp eq i32 %0, 116 + br i1 %case.cmp64, label %sw.bb, label %NodeBlock61 + +NodeBlock61: ; preds = %NodeBlock63 + %case.cmp62 = icmp eq i32 %0, 117 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 118 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 119 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 120 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 121 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 122 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 65 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 66 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 67 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 68 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 69 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 70 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 71 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 72 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 73 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 74 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 75 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 76 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 77 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 78 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 79 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 80 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 81 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 82 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 83 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 84 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 85 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 86 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 87 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 88 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 89 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 90 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock121, %NodeBlock119, %NodeBlock117, %NodeBlock115, %NodeBlock113, %NodeBlock111, %NodeBlock109, %NodeBlock107, %NodeBlock105, %NodeBlock103, %NodeBlock101, %NodeBlock99, %NodeBlock97, %NodeBlock95, %NodeBlock93, %NodeBlock91, %NodeBlock89, %NodeBlock87, %NodeBlock85, %NodeBlock83, %NodeBlock81, %NodeBlock79, %NodeBlock77, %NodeBlock75, %NodeBlock73, %NodeBlock71, %NodeBlock69, %NodeBlock67, %NodeBlock65, %NodeBlock63, %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isalpha(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock101 + +NodeBlock101: ; preds = %entry + %case.cmp102 = icmp eq i32 %0, 97 + br i1 %case.cmp102, label %sw.bb, label %NodeBlock99 + +NodeBlock99: ; preds = %NodeBlock101 + %case.cmp100 = icmp eq i32 %0, 98 + br i1 %case.cmp100, label %sw.bb, label %NodeBlock97 + +NodeBlock97: ; preds = %NodeBlock99 + %case.cmp98 = icmp eq i32 %0, 99 + br i1 %case.cmp98, label %sw.bb, label %NodeBlock95 + +NodeBlock95: ; preds = %NodeBlock97 + %case.cmp96 = icmp eq i32 %0, 100 + br i1 %case.cmp96, label %sw.bb, label %NodeBlock93 + +NodeBlock93: ; preds = %NodeBlock95 + %case.cmp94 = icmp eq i32 %0, 101 + br i1 %case.cmp94, label %sw.bb, label %NodeBlock91 + +NodeBlock91: ; preds = %NodeBlock93 + %case.cmp92 = icmp eq i32 %0, 102 + br i1 %case.cmp92, label %sw.bb, label %NodeBlock89 + +NodeBlock89: ; preds = %NodeBlock91 + %case.cmp90 = icmp eq i32 %0, 103 + br i1 %case.cmp90, label %sw.bb, label %NodeBlock87 + +NodeBlock87: ; preds = %NodeBlock89 + %case.cmp88 = icmp eq i32 %0, 104 + br i1 %case.cmp88, label %sw.bb, label %NodeBlock85 + +NodeBlock85: ; preds = %NodeBlock87 + %case.cmp86 = icmp eq i32 %0, 105 + br i1 %case.cmp86, label %sw.bb, label %NodeBlock83 + +NodeBlock83: ; preds = %NodeBlock85 + %case.cmp84 = icmp eq i32 %0, 106 + br i1 %case.cmp84, label %sw.bb, label %NodeBlock81 + +NodeBlock81: ; preds = %NodeBlock83 + %case.cmp82 = icmp eq i32 %0, 107 + br i1 %case.cmp82, label %sw.bb, label %NodeBlock79 + +NodeBlock79: ; preds = %NodeBlock81 + %case.cmp80 = icmp eq i32 %0, 108 + br i1 %case.cmp80, label %sw.bb, label %NodeBlock77 + +NodeBlock77: ; preds = %NodeBlock79 + %case.cmp78 = icmp eq i32 %0, 109 + br i1 %case.cmp78, label %sw.bb, label %NodeBlock75 + +NodeBlock75: ; preds = %NodeBlock77 + %case.cmp76 = icmp eq i32 %0, 110 + br i1 %case.cmp76, label %sw.bb, label %NodeBlock73 + +NodeBlock73: ; preds = %NodeBlock75 + %case.cmp74 = icmp eq i32 %0, 111 + br i1 %case.cmp74, label %sw.bb, label %NodeBlock71 + +NodeBlock71: ; preds = %NodeBlock73 + %case.cmp72 = icmp eq i32 %0, 112 + br i1 %case.cmp72, label %sw.bb, label %NodeBlock69 + +NodeBlock69: ; preds = %NodeBlock71 + %case.cmp70 = icmp eq i32 %0, 113 + br i1 %case.cmp70, label %sw.bb, label %NodeBlock67 + +NodeBlock67: ; preds = %NodeBlock69 + %case.cmp68 = icmp eq i32 %0, 114 + br i1 %case.cmp68, label %sw.bb, label %NodeBlock65 + +NodeBlock65: ; preds = %NodeBlock67 + %case.cmp66 = icmp eq i32 %0, 115 + br i1 %case.cmp66, label %sw.bb, label %NodeBlock63 + +NodeBlock63: ; preds = %NodeBlock65 + %case.cmp64 = icmp eq i32 %0, 116 + br i1 %case.cmp64, label %sw.bb, label %NodeBlock61 + +NodeBlock61: ; preds = %NodeBlock63 + %case.cmp62 = icmp eq i32 %0, 117 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 118 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 119 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 120 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 121 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 122 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 65 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 66 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 67 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 68 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 69 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 70 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 71 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 72 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 73 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 74 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 75 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 76 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 77 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 78 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 79 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 80 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 81 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 82 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 83 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 84 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 85 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 86 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 87 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 88 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 89 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 90 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock101, %NodeBlock99, %NodeBlock97, %NodeBlock95, %NodeBlock93, %NodeBlock91, %NodeBlock89, %NodeBlock87, %NodeBlock85, %NodeBlock83, %NodeBlock81, %NodeBlock79, %NodeBlock77, %NodeBlock75, %NodeBlock73, %NodeBlock71, %NodeBlock69, %NodeBlock67, %NodeBlock65, %NodeBlock63, %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isascii(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %switch = icmp ult i32 %0, 128 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isblank(i32 %c) #3 { +entry: + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %cmp = icmp eq i32 %0, 32 + %1 = load i32, i32* %c.addr, align 4 + %cmp1 = icmp eq i32 %1, 9 + %2 = select i1 %cmp, i1 true, i1 %cmp1 + ret i1 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_iscntrl(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock63 + +NodeBlock63: ; preds = %entry + %case.cmp64 = icmp eq i32 %0, 7 + br i1 %case.cmp64, label %sw.bb, label %NodeBlock61 + +NodeBlock61: ; preds = %NodeBlock63 + %case.cmp62 = icmp eq i32 %0, 8 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 12 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 10 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 13 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 9 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 11 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 0 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 1 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 2 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 3 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 4 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 5 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 6 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 14 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 15 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 16 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 17 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 18 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 19 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 20 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 21 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 22 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 23 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 24 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 25 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 26 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 27 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 28 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 29 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 30 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 31 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 127 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock63, %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isdigit(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -48 + %switch = icmp ult i32 %.off, 10 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isgraph(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -33 + %switch = icmp ult i32 %.off, 94 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_islower(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -97 + %switch = icmp ult i32 %.off, 26 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isprint(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -32 + %switch = icmp ult i32 %.off, 95 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_ispunct(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock61 + +NodeBlock61: ; preds = %entry + %case.cmp62 = icmp eq i32 %0, 33 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 34 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 35 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 36 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 37 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 38 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 39 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 40 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 41 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 42 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 43 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 44 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 45 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 46 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 47 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 58 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 59 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 60 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 61 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 62 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 63 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 64 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 91 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 92 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 93 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 94 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 95 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 96 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 123 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 124 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 125 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 126 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isspace(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock9 + +NodeBlock9: ; preds = %entry + %case.cmp10 = icmp eq i32 %0, 32 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 9 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 10 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 11 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 12 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 13 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isupper(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -65 + %switch = icmp ult i32 %.off, 26 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isxdigit(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock41 + +NodeBlock41: ; preds = %entry + %case.cmp42 = icmp eq i32 %0, 48 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 49 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 50 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 51 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 52 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 53 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 54 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 55 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 56 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 57 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 97 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 98 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 99 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 100 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 101 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 102 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 65 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 66 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 67 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 68 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 69 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 70 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @c_toupper(i32 %c) #3 { +entry: + %retval = alloca i32, align 4 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -97 + %switch = icmp ult i32 %.off, 26 + %1 = load i32, i32* %c.addr, align 4 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + %sub = sub nsw i32 %1, 97 + %add = add nsw i32 %sub, 65 + store i32 %add, i32* %retval, align 4 + br label %return + +sw.default: ; preds = %entry + store i32 %1, i32* %retval, align 4 + br label %return + +return: ; preds = %sw.default, %sw.bb + %2 = load i32, i32* %retval, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @klee_init_fds(i32 %n_files, i32 %file_length, i32 %stdin_length, i32 %sym_stdout_flag, i32 %save_all_writes_flag, i32 %max_failures) #3 { +entry: + %n_files.addr = alloca i32, align 4 + %file_length.addr = alloca i32, align 4 + %stdin_length.addr = alloca i32, align 4 + %sym_stdout_flag.addr = alloca i32, align 4 + %save_all_writes_flag.addr = alloca i32, align 4 + %max_failures.addr = alloca i32, align 4 + %k = alloca i32, align 4 + %name = alloca [7 x i8], align 1 + %s = alloca %struct.stat64, align 8 + store i32 %n_files, i32* %n_files.addr, align 4 + store i32 %file_length, i32* %file_length.addr, align 4 + store i32 %stdin_length, i32* %stdin_length.addr, align 4 + store i32 %sym_stdout_flag, i32* %sym_stdout_flag.addr, align 4 + store i32 %save_all_writes_flag, i32* %save_all_writes_flag.addr, align 4 + store i32 %max_failures, i32* %max_failures.addr, align 4 + %0 = bitcast [7 x i8]* %name to i8* + %1 = call i8* @memcpy(i8* %0, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @__const.klee_init_fds.name, i32 0, i32 0), i64 7) + %call = call i32 @stat64(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.139, i64 0, i64 0), %struct.stat64* %s) #11 + %2 = load i32, i32* %n_files.addr, align 4 + store i32 %2, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %3 = load i32, i32* %n_files.addr, align 4 + %conv = zext i32 %3 to i64 + %mul = mul i64 24, %conv + %call1 = call noalias i8* @malloc(i64 %mul) #11 + %4 = bitcast i8* %call1 to %struct.exe_disk_file_t* + store %struct.exe_disk_file_t* %4, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %5 = load i32, i32* %n_files.addr, align 4 + %tobool = icmp eq i32 %5, 0 + %6 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %6, null + %or.cond = or i1 %tobool, %tobool2 + br i1 %or.cond, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @gs_report_error.143(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.140, i64 0, i64 0), i32 124, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.141, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.142, i64 0, i64 0)) #24 + unreachable + +if.end: ; preds = %entry + store i32 0, i32* %k, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %7 = load i32, i32* %k, align 4 + %8 = load i32, i32* %n_files.addr, align 4 + %cmp = icmp ult i32 %7, %8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %9 = load i32, i32* %k, align 4 + %add = add i32 65, %9 + %conv4 = trunc i32 %add to i8 + %arrayidx = getelementptr inbounds [7 x i8], [7 x i8]* %name, i64 0, i64 0 + store i8 %conv4, i8* %arrayidx, align 1 + %10 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %11 = load i32, i32* %k, align 4 + %idxprom = zext i32 %11 to i64 + %arrayidx5 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %10, i64 %idxprom + %12 = load i32, i32* %file_length.addr, align 4 + %arraydecay = getelementptr inbounds [7 x i8], [7 x i8]* %name, i64 0, i64 0 + call void @__create_new_dfile(%struct.exe_disk_file_t* %arrayidx5, i32 %12, i8* %arraydecay, %struct.stat64* %s) + %13 = load i32, i32* %k, align 4 + %inc = add i32 %13, 1 + store i32 %inc, i32* %k, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %14 = load i32, i32* %stdin_length.addr, align 4 + %tobool6 = icmp ne i32 %14, 0 + br i1 %tobool6, label %if.then7, label %if.else + +if.then7: ; preds = %for.end + %call8 = call noalias i8* @malloc(i64 24) #11 + %15 = bitcast i8* %call8 to %struct.exe_disk_file_t* + store %struct.exe_disk_file_t* %15, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + %16 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + %tobool9 = icmp ne %struct.exe_disk_file_t* %16, null + br i1 %tobool9, label %if.end11, label %if.then10 + +if.then10: ; preds = %if.then7 + call void @gs_report_error.143(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.140, i64 0, i64 0), i32 135, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.141, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.142, i64 0, i64 0)) #24 + unreachable + +if.end11: ; preds = %if.then7 + %17 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + %18 = load i32, i32* %stdin_length.addr, align 4 + call void @__create_new_dfile(%struct.exe_disk_file_t* %17, i32 %18, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.4.144, i64 0, i64 0), %struct.stat64* %s) + %19 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + store %struct.exe_disk_file_t* %19, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0, i64 0, i32 3), align 8 + br label %if.end12 + +if.else: ; preds = %for.end + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + br label %if.end12 + +if.end12: ; preds = %if.else, %if.end11 + %20 = load i32, i32* %max_failures.addr, align 4 + store i32 %20, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %21 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool13 = icmp ne i32 %21, 0 + br i1 %tobool13, label %if.then14, label %if.end31 + +if.then14: ; preds = %if.end12 + %call15 = call noalias i8* @malloc(i64 4) #11 + %22 = bitcast i8* %call15 to i32* + store i32* %22, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %call16 = call noalias i8* @malloc(i64 4) #11 + %23 = bitcast i8* %call16 to i32* + store i32* %23, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %call17 = call noalias i8* @malloc(i64 4) #11 + %24 = bitcast i8* %call17 to i32* + store i32* %24, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %call18 = call noalias i8* @malloc(i64 4) #11 + %25 = bitcast i8* %call18 to i32* + store i32* %25, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %call19 = call noalias i8* @malloc(i64 4) #11 + %26 = bitcast i8* %call19 to i32* + store i32* %26, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %27 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %tobool20 = icmp ne i32* %27, null + %28 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %tobool22 = icmp ne i32* %28, null + %or.cond1 = and i1 %tobool20, %tobool22 + %29 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %tobool24 = icmp ne i32* %29, null + %or.cond2 = and i1 %or.cond1, %tobool24 + %30 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %tobool26 = icmp ne i32* %30, null + %or.cond3 = and i1 %or.cond2, %tobool26 + %31 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %tobool28 = icmp ne i32* %31, null + %or.cond4 = and i1 %or.cond3, %tobool28 + br i1 %or.cond4, label %if.end30, label %if.then29 + +if.then29: ; preds = %if.then14 + call void @gs_report_error.143(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.140, i64 0, i64 0), i32 150, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.141, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.142, i64 0, i64 0)) #24 + unreachable + +if.end30: ; preds = %if.then14 + %32 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %33 = bitcast i32* %32 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %33, i64 4, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.5.145, i64 0, i64 0)) + %34 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %35 = bitcast i32* %34 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %35, i64 4, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.6.146, i64 0, i64 0)) + %36 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %37 = bitcast i32* %36 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %37, i64 4, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.7.147, i64 0, i64 0)) + %38 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %39 = bitcast i32* %38 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %39, i64 4, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.8.148, i64 0, i64 0)) + %40 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %41 = bitcast i32* %40 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %41, i64 4, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.9.149, i64 0, i64 0)) + br label %if.end31 + +if.end31: ; preds = %if.end30, %if.end12 + %42 = load i32, i32* %sym_stdout_flag.addr, align 4 + %tobool32 = icmp ne i32 %42, 0 + br i1 %tobool32, label %if.then33, label %if.else38 + +if.then33: ; preds = %if.end31 + %call34 = call noalias i8* @malloc(i64 24) #11 + %43 = bitcast i8* %call34 to %struct.exe_disk_file_t* + store %struct.exe_disk_file_t* %43, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + %44 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + %tobool35 = icmp ne %struct.exe_disk_file_t* %44, null + br i1 %tobool35, label %if.end37, label %if.then36 + +if.then36: ; preds = %if.then33 + call void @gs_report_error.143(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.140, i64 0, i64 0), i32 163, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.141, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.142, i64 0, i64 0)) #24 + unreachable + +if.end37: ; preds = %if.then33 + %45 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + call void @__create_new_dfile(%struct.exe_disk_file_t* %45, i32 1024, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.10.150, i64 0, i64 0), %struct.stat64* %s) + %46 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + store %struct.exe_disk_file_t* %46, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0, i64 1, i32 3), align 8 + store i32 0, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 3), align 8 + br label %if.end39 + +if.else38: ; preds = %if.end31 + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + br label %if.end39 + +if.end39: ; preds = %if.else38, %if.end37 + %47 = load i32, i32* %save_all_writes_flag.addr, align 4 + store i32 %47, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 3), align 8 + %call40 = call i32 @__sym_uint32(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.11.151, i64 0, i64 0)) + store i32 %call40, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 2), align 4 + %48 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 2), align 4 + %cmp41 = icmp eq i32 %48, 1 + call void @gs_assume(i1 zeroext %cmp41) + ret void +} + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error.143(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.154, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__create_new_dfile(%struct.exe_disk_file_t* %dfile, i32 %size, i8* %name, %struct.stat64* %defaults) #3 { +entry: + %dfile.addr = alloca %struct.exe_disk_file_t*, align 8 + %size.addr = alloca i32, align 4 + %name.addr = alloca i8*, align 8 + %defaults.addr = alloca %struct.stat64*, align 8 + %s = alloca %struct.stat64*, align 8 + %sp = alloca i8*, align 8 + %sname = alloca [64 x i8], align 16 + store %struct.exe_disk_file_t* %dfile, %struct.exe_disk_file_t** %dfile.addr, align 8 + store i32 %size, i32* %size.addr, align 4 + store i8* %name, i8** %name.addr, align 8 + store %struct.stat64* %defaults, %struct.stat64** %defaults.addr, align 8 + %call = call noalias i8* @malloc(i64 144) #11 + %0 = bitcast i8* %call to %struct.stat64* + store %struct.stat64* %0, %struct.stat64** %s, align 8 + %1 = load %struct.stat64*, %struct.stat64** %s, align 8 + %tobool = icmp ne %struct.stat64* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @gs_report_error.143(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.140, i64 0, i64 0), i32 47, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.141, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.142, i64 0, i64 0)) #24 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %name.addr, align 8 + store i8* %2, i8** %sp, align 8 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %3 = load i8*, i8** %sp, align 8 + %4 = load i8, i8* %3, align 1 + %tobool1 = icmp ne i8 %4, 0 + %5 = load i8*, i8** %sp, align 8 + br i1 %tobool1, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %6 = load i8, i8* %5, align 1 + %7 = load i8*, i8** %sp, align 8 + %8 = load i8*, i8** %name.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %8 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %arrayidx = getelementptr inbounds [64 x i8], [64 x i8]* %sname, i64 0, i64 %sub.ptr.sub + store i8 %6, i8* %arrayidx, align 1 + %9 = load i8*, i8** %sp, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %sp, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %10 = load i8*, i8** %name.addr, align 8 + %sub.ptr.lhs.cast2 = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast3 = ptrtoint i8* %10 to i64 + %sub.ptr.sub4 = sub i64 %sub.ptr.lhs.cast2, %sub.ptr.rhs.cast3 + %arrayidx5 = getelementptr inbounds [64 x i8], [64 x i8]* %sname, i64 0, i64 %sub.ptr.sub4 + %11 = call i8* @memcpy(i8* %arrayidx5, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.13.152, i64 0, i64 0), i64 6) + %12 = load i32, i32* %size.addr, align 4 + %tobool6 = icmp ne i32 %12, 0 + br i1 %tobool6, label %if.end8, label %if.else + +if.else: ; preds = %for.end + call void @__assert_fail(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.14.153, i64 0, i64 0), i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.140, i64 0, i64 0), i32 55, i8* getelementptr inbounds ([88 x i8], [88 x i8]* @__PRETTY_FUNCTION__.__create_new_dfile, i64 0, i64 0)) #26 + unreachable + +if.end8: ; preds = %for.end + %13 = load i32, i32* %size.addr, align 4 + %14 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size9 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %14, i32 0, i32 0 + store i32 %13, i32* %size9, align 8 + %15 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size10 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %15, i32 0, i32 0 + %16 = load i32, i32* %size10, align 8 + %conv = zext i32 %16 to i64 + %call11 = call noalias i8* @malloc(i64 %conv) #11 + %17 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %contents = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %17, i32 0, i32 1 + store i8* %call11, i8** %contents, align 8 + %18 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %contents12 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %18, i32 0, i32 1 + %19 = load i8*, i8** %contents12, align 8 + %tobool13 = icmp ne i8* %19, null + br i1 %tobool13, label %if.end15, label %if.then14 + +if.then14: ; preds = %if.end8 + call void @gs_report_error.143(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.140, i64 0, i64 0), i32 60, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.141, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.142, i64 0, i64 0)) #24 + unreachable + +if.end15: ; preds = %if.end8 + %20 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %contents16 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %20, i32 0, i32 1 + %21 = load i8*, i8** %contents16, align 8 + %22 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size17 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %22, i32 0, i32 0 + %23 = load i32, i32* %size17, align 8 + %conv18 = zext i32 %23 to i64 + %24 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %21, i64 %conv18, i8* %24) + %25 = load %struct.stat64*, %struct.stat64** %s, align 8 + %26 = bitcast %struct.stat64* %25 to i8* + %arraydecay = getelementptr inbounds [64 x i8], [64 x i8]* %sname, i64 0, i64 0 + call void (i8*, i64, ...) @make_symbolic(i8* %26, i64 144, i8* %arraydecay) + %27 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %27, i32 0, i32 1 + %28 = load i64, i64* %st_ino, align 8 + %call19 = call i32 @gs_is_symbolic(i64 %28) + %tobool20 = icmp ne i32 %call19, 0 + br i1 %tobool20, label %if.end26, label %land.lhs.true + +land.lhs.true: ; preds = %if.end15 + %29 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino21 = getelementptr inbounds %struct.stat64, %struct.stat64* %29, i32 0, i32 1 + %30 = load i64, i64* %st_ino21, align 8 + %and = and i64 %30, 2147483647 + %cmp = icmp eq i64 %and, 0 + br i1 %cmp, label %if.then23, label %if.end26 + +if.then23: ; preds = %land.lhs.true + %31 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_ino24 = getelementptr inbounds %struct.stat64, %struct.stat64* %31, i32 0, i32 1 + %32 = load i64, i64* %st_ino24, align 8 + %33 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino25 = getelementptr inbounds %struct.stat64, %struct.stat64* %33, i32 0, i32 1 + store i64 %32, i64* %st_ino25, align 8 + br label %if.end26 + +if.end26: ; preds = %if.then23, %land.lhs.true, %if.end15 + %34 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino27 = getelementptr inbounds %struct.stat64, %struct.stat64* %34, i32 0, i32 1 + %35 = load i64, i64* %st_ino27, align 8 + %and28 = and i64 %35, 2147483647 + %cmp29 = icmp ne i64 %and28, 0 + call void @gs_assume(i1 zeroext %cmp29) + %36 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_blksize = getelementptr inbounds %struct.stat64, %struct.stat64* %36, i32 0, i32 9 + %37 = load i64, i64* %st_blksize, align 8 + %and31 = and i64 %37, -65536 + %cmp32 = icmp eq i64 %and31, 0 + call void @gs_assume(i1 zeroext %cmp32) + %38 = load %struct.stat64*, %struct.stat64** %s, align 8 + %39 = bitcast %struct.stat64* %38 to i8* + %40 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %40, i32 0, i32 3 + %41 = load i32, i32* %st_mode, align 8 + %and34 = and i32 %41, -61952 + %tobool35 = icmp ne i32 %and34, 0 + %lnot = xor i1 %tobool35, true + call void @gs_prefer_cex(i8* %39, i1 zeroext %lnot) + %42 = load %struct.stat64*, %struct.stat64** %s, align 8 + %43 = bitcast %struct.stat64* %42 to i8* + %44 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_dev = getelementptr inbounds %struct.stat64, %struct.stat64* %44, i32 0, i32 0 + %45 = load i64, i64* %st_dev, align 8 + %46 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_dev36 = getelementptr inbounds %struct.stat64, %struct.stat64* %46, i32 0, i32 0 + %47 = load i64, i64* %st_dev36, align 8 + %cmp37 = icmp eq i64 %45, %47 + call void @gs_prefer_cex(i8* %43, i1 zeroext %cmp37) + %48 = load %struct.stat64*, %struct.stat64** %s, align 8 + %49 = bitcast %struct.stat64* %48 to i8* + %50 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_rdev = getelementptr inbounds %struct.stat64, %struct.stat64* %50, i32 0, i32 7 + %51 = load i64, i64* %st_rdev, align 8 + %52 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_rdev39 = getelementptr inbounds %struct.stat64, %struct.stat64* %52, i32 0, i32 7 + %53 = load i64, i64* %st_rdev39, align 8 + %cmp40 = icmp eq i64 %51, %53 + call void @gs_prefer_cex(i8* %49, i1 zeroext %cmp40) + %54 = load %struct.stat64*, %struct.stat64** %s, align 8 + %55 = bitcast %struct.stat64* %54 to i8* + %56 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode42 = getelementptr inbounds %struct.stat64, %struct.stat64* %56, i32 0, i32 3 + %57 = load i32, i32* %st_mode42, align 8 + %and43 = and i32 %57, 448 + %cmp44 = icmp eq i32 %and43, 384 + call void @gs_prefer_cex(i8* %55, i1 zeroext %cmp44) + %58 = load %struct.stat64*, %struct.stat64** %s, align 8 + %59 = bitcast %struct.stat64* %58 to i8* + %60 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode46 = getelementptr inbounds %struct.stat64, %struct.stat64* %60, i32 0, i32 3 + %61 = load i32, i32* %st_mode46, align 8 + %and47 = and i32 %61, 56 + %cmp48 = icmp eq i32 %and47, 32 + call void @gs_prefer_cex(i8* %59, i1 zeroext %cmp48) + %62 = load %struct.stat64*, %struct.stat64** %s, align 8 + %63 = bitcast %struct.stat64* %62 to i8* + %64 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode50 = getelementptr inbounds %struct.stat64, %struct.stat64* %64, i32 0, i32 3 + %65 = load i32, i32* %st_mode50, align 8 + %and51 = and i32 %65, 7 + %cmp52 = icmp eq i32 %and51, 4 + call void @gs_prefer_cex(i8* %63, i1 zeroext %cmp52) + %66 = load %struct.stat64*, %struct.stat64** %s, align 8 + %67 = bitcast %struct.stat64* %66 to i8* + %68 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode54 = getelementptr inbounds %struct.stat64, %struct.stat64* %68, i32 0, i32 3 + %69 = load i32, i32* %st_mode54, align 8 + %and55 = and i32 %69, 61440 + %cmp56 = icmp eq i32 %and55, 32768 + call void @gs_prefer_cex(i8* %67, i1 zeroext %cmp56) + %70 = load %struct.stat64*, %struct.stat64** %s, align 8 + %71 = bitcast %struct.stat64* %70 to i8* + %72 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_nlink = getelementptr inbounds %struct.stat64, %struct.stat64* %72, i32 0, i32 2 + %73 = load i64, i64* %st_nlink, align 8 + %cmp58 = icmp eq i64 %73, 1 + call void @gs_prefer_cex(i8* %71, i1 zeroext %cmp58) + %74 = load %struct.stat64*, %struct.stat64** %s, align 8 + %75 = bitcast %struct.stat64* %74 to i8* + %76 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_uid = getelementptr inbounds %struct.stat64, %struct.stat64* %76, i32 0, i32 4 + %77 = load i32, i32* %st_uid, align 4 + %78 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_uid60 = getelementptr inbounds %struct.stat64, %struct.stat64* %78, i32 0, i32 4 + %79 = load i32, i32* %st_uid60, align 4 + %cmp61 = icmp eq i32 %77, %79 + call void @gs_prefer_cex(i8* %75, i1 zeroext %cmp61) + %80 = load %struct.stat64*, %struct.stat64** %s, align 8 + %81 = bitcast %struct.stat64* %80 to i8* + %82 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_gid = getelementptr inbounds %struct.stat64, %struct.stat64* %82, i32 0, i32 5 + %83 = load i32, i32* %st_gid, align 8 + %84 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_gid63 = getelementptr inbounds %struct.stat64, %struct.stat64* %84, i32 0, i32 5 + %85 = load i32, i32* %st_gid63, align 8 + %cmp64 = icmp eq i32 %83, %85 + call void @gs_prefer_cex(i8* %81, i1 zeroext %cmp64) + %86 = load %struct.stat64*, %struct.stat64** %s, align 8 + %87 = bitcast %struct.stat64* %86 to i8* + %88 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_blksize66 = getelementptr inbounds %struct.stat64, %struct.stat64* %88, i32 0, i32 9 + %89 = load i64, i64* %st_blksize66, align 8 + %cmp67 = icmp eq i64 %89, 4096 + call void @gs_prefer_cex(i8* %87, i1 zeroext %cmp67) + %90 = load %struct.stat64*, %struct.stat64** %s, align 8 + %91 = bitcast %struct.stat64* %90 to i8* + %92 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_atim = getelementptr inbounds %struct.stat64, %struct.stat64* %92, i32 0, i32 11 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim, i32 0, i32 0 + %93 = load i64, i64* %tv_sec, align 8 + %94 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_atim69 = getelementptr inbounds %struct.stat64, %struct.stat64* %94, i32 0, i32 11 + %tv_sec70 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim69, i32 0, i32 0 + %95 = load i64, i64* %tv_sec70, align 8 + %cmp71 = icmp eq i64 %93, %95 + call void @gs_prefer_cex(i8* %91, i1 zeroext %cmp71) + %96 = load %struct.stat64*, %struct.stat64** %s, align 8 + %97 = bitcast %struct.stat64* %96 to i8* + %98 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mtim = getelementptr inbounds %struct.stat64, %struct.stat64* %98, i32 0, i32 12 + %tv_sec73 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim, i32 0, i32 0 + %99 = load i64, i64* %tv_sec73, align 8 + %100 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_mtim74 = getelementptr inbounds %struct.stat64, %struct.stat64* %100, i32 0, i32 12 + %tv_sec75 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim74, i32 0, i32 0 + %101 = load i64, i64* %tv_sec75, align 8 + %cmp76 = icmp eq i64 %99, %101 + call void @gs_prefer_cex(i8* %97, i1 zeroext %cmp76) + %102 = load %struct.stat64*, %struct.stat64** %s, align 8 + %103 = bitcast %struct.stat64* %102 to i8* + %104 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ctim = getelementptr inbounds %struct.stat64, %struct.stat64* %104, i32 0, i32 13 + %tv_sec78 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim, i32 0, i32 0 + %105 = load i64, i64* %tv_sec78, align 8 + %106 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_ctim79 = getelementptr inbounds %struct.stat64, %struct.stat64* %106, i32 0, i32 13 + %tv_sec80 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim79, i32 0, i32 0 + %107 = load i64, i64* %tv_sec80, align 8 + %cmp81 = icmp eq i64 %105, %107 + call void @gs_prefer_cex(i8* %103, i1 zeroext %cmp81) + %108 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size83 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %108, i32 0, i32 0 + %109 = load i32, i32* %size83, align 8 + %conv84 = zext i32 %109 to i64 + %110 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_size = getelementptr inbounds %struct.stat64, %struct.stat64* %110, i32 0, i32 8 + store i64 %conv84, i64* %st_size, align 8 + %111 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_blocks = getelementptr inbounds %struct.stat64, %struct.stat64* %111, i32 0, i32 10 + store i64 8, i64* %st_blocks, align 8 + %112 = load %struct.stat64*, %struct.stat64** %s, align 8 + %113 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %113, i32 0, i32 2 + store %struct.stat64* %112, %struct.stat64** %stat, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__sym_uint32(i8* %name) #3 { +entry: + %name.addr = alloca i8*, align 8 + %x = alloca i32, align 4 + store i8* %name, i8** %name.addr, align 8 + %0 = bitcast i32* %x to i8* + %1 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %0, i64 4, i8* %1) + %2 = load i32, i32* %x, align 4 + ret i32 %2 +} + +declare dso_local void @gs_prefer_cex(i8*, i1 zeroext) #5 + +; Function Attrs: noinline nounwind uwtable +define weak hidden i32 @__syscall_rt_sigaction(i32 %signum, %struct.sigaction.800* %act, %struct.sigaction.800* %oldact, i64 %_something) #3 { +entry: + %signum.addr = alloca i32, align 4 + %act.addr = alloca %struct.sigaction.800*, align 8 + %oldact.addr = alloca %struct.sigaction.800*, align 8 + %_something.addr = alloca i64, align 8 + store i32 %signum, i32* %signum.addr, align 4 + store %struct.sigaction.800* %act, %struct.sigaction.800** %act.addr, align 8 + store %struct.sigaction.800* %oldact, %struct.sigaction.800** %oldact.addr, align 8 + store i64 %_something, i64* %_something.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.155, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @sigaction(i32 %signum, %struct.sigaction.800* %act, %struct.sigaction.800* %oldact) #3 { +entry: + %signum.addr = alloca i32, align 4 + %act.addr = alloca %struct.sigaction.800*, align 8 + %oldact.addr = alloca %struct.sigaction.800*, align 8 + store i32 %signum, i32* %signum.addr, align 4 + store %struct.sigaction.800* %act, %struct.sigaction.800** %act.addr, align 8 + store %struct.sigaction.800* %oldact, %struct.sigaction.800** %oldact.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.155, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @sigprocmask(i32 %how, %struct.fd_set* %set, %struct.fd_set* %oldset) #3 { +entry: + %how.addr = alloca i32, align 4 + %set.addr = alloca %struct.fd_set*, align 8 + %oldset.addr = alloca %struct.fd_set*, align 8 + store i32 %how, i32* %how.addr, align 4 + store %struct.fd_set* %set, %struct.fd_set** %set.addr, align 8 + store %struct.fd_set* %oldset, %struct.fd_set** %oldset.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.155, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @fdatasync(i32 %fd) #3 { +entry: + %fd.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local void @sync() #3 { +entry: + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @__socketcall(i32 %type, i32* %args) #3 { +entry: + %type.addr = alloca i32, align 4 + %args.addr = alloca i32*, align 8 + store i32 %type, i32* %type.addr, align 4 + store i32* %args, i32** %args.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.1.160, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 97, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @gs_warning.161(i8* %message) #3 { +entry: + %message.addr = alloca i8*, align 8 + store i8* %message, i8** %message.addr, align 8 + %0 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %0) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.11.162, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @_IO_getc(%struct._IO_FILE* %f) #3 { +entry: + %f.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %f, %struct._IO_FILE** %f.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %f.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %0) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @_IO_putc(i32 %c, %struct._IO_FILE* %f) #3 { +entry: + %c.addr = alloca i32, align 4 + %f.addr = alloca %struct._IO_FILE*, align 8 + store i32 %c, i32* %c.addr, align 4 + store %struct._IO_FILE* %f, %struct._IO_FILE** %f.addr, align 8 + %0 = load i32, i32* %c.addr, align 4 + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %f.addr, align 8 + %call = call i32 bitcast (i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked to i32 (i32, %struct._IO_FILE*)*)(i32 %0, %struct._IO_FILE* %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mkdir(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2.165, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 5, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mkfifo(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2.165, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 5, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mknod(i8* nonnull %pathname, i32 %mode, i64 %dev) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + %dev.addr = alloca i64, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + store i64 %dev, i64* %dev.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2.165, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 5, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @pipe(i32* %filedes) #3 { +entry: + %filedes.addr = alloca i32*, align 8 + store i32* %filedes, i32** %filedes.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.3.166, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 23, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @link(i8* nonnull %oldpath, i8* nonnull %newpath) #3 { +entry: + %oldpath.addr = alloca i8*, align 8 + %newpath.addr = alloca i8*, align 8 + store i8* %oldpath, i8** %oldpath.addr, align 8 + store i8* %newpath, i8** %newpath.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @symlink(i8* nonnull %oldpath, i8* nonnull %newpath) #3 { +entry: + %oldpath.addr = alloca i8*, align 8 + %newpath.addr = alloca i8*, align 8 + store i8* %oldpath, i8** %oldpath.addr, align 8 + store i8* %newpath, i8** %newpath.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @rename(i8* %oldpath, i8* %newpath) #3 { +entry: + %oldpath.addr = alloca i8*, align 8 + %newpath.addr = alloca i8*, align 8 + store i8* %oldpath, i8** %oldpath.addr, align 8 + store i8* %newpath, i8** %newpath.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @nanosleep(%struct.timespec* %req, %struct.timespec* %rem) #3 { +entry: + %req.addr = alloca %struct.timespec*, align 8 + %rem.addr = alloca %struct.timespec*, align 8 + store %struct.timespec* %req, %struct.timespec** %req.addr, align 8 + store %struct.timespec* %rem, %struct.timespec** %rem.addr, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @clock_gettime(i32 %clk_id, %struct.timespec* %res) #3 { +entry: + %clk_id.addr = alloca i32, align 4 + %res.addr = alloca %struct.timespec*, align 8 + %tv = alloca %struct.timespec, align 8 + store i32 %clk_id, i32* %clk_id.addr, align 4 + store %struct.timespec* %res, %struct.timespec** %res.addr, align 8 + %call = call i32 @gettimeofday(%struct.timespec* %tv, i8* null) #11 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %0 = load i64, i64* %tv_sec, align 8 + %1 = load %struct.timespec*, %struct.timespec** %res.addr, align 8 + %tv_sec1 = getelementptr inbounds %struct.timespec, %struct.timespec* %1, i32 0, i32 0 + store i64 %0, i64* %tv_sec1, align 8 + %tv_usec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 1 + %2 = load i64, i64* %tv_usec, align 8 + %mul = mul nsw i64 %2, 1000 + %3 = load %struct.timespec*, %struct.timespec** %res.addr, align 8 + %tv_nsec = getelementptr inbounds %struct.timespec, %struct.timespec* %3, i32 0, i32 1 + store i64 %mul, i64* %tv_nsec, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @clock_settime(i32 %clk_id, %struct.timespec* %res) #3 { +entry: + %clk_id.addr = alloca i32, align 4 + %res.addr = alloca %struct.timespec*, align 8 + store i32 %clk_id, i32* %clk_id.addr, align 4 + store %struct.timespec* %res, %struct.timespec** %res.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @time(i64* %t) #3 { +entry: + %t.addr = alloca i64*, align 8 + %tv = alloca %struct.timespec, align 8 + store i64* %t, i64** %t.addr, align 8 + %call = call i32 @gettimeofday(%struct.timespec* %tv, i8* null) #11 + %0 = load i64*, i64** %t.addr, align 8 + %tobool = icmp ne i64* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %1 = load i64, i64* %tv_sec, align 8 + %2 = load i64*, i64** %t.addr, align 8 + store i64 %1, i64* %2, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %tv_sec1 = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %3 = load i64, i64* %tv_sec1, align 8 + ret i64 %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @times(%struct.tms* %buf) #3 { +entry: + %buf.addr = alloca %struct.tms*, align 8 + store %struct.tms* %buf, %struct.tms** %buf.addr, align 8 + %0 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tobool = icmp ne %struct.tms* %0, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + call void @gs_warning.161(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.5.168, i64 0, i64 0)) + br label %if.end + +if.else: ; preds = %entry + call void @gs_warning.161(i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.6.169, i64 0, i64 0)) + %1 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_utime = getelementptr inbounds %struct.tms, %struct.tms* %1, i32 0, i32 0 + store i64 0, i64* %tms_utime, align 8 + %2 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_stime = getelementptr inbounds %struct.tms, %struct.tms* %2, i32 0, i32 1 + store i64 0, i64* %tms_stime, align 8 + %3 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_cutime = getelementptr inbounds %struct.tms, %struct.tms* %3, i32 0, i32 2 + store i64 0, i64* %tms_cutime, align 8 + %4 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_cstime = getelementptr inbounds %struct.tms, %struct.tms* %4, i32 0, i32 3 + store i64 0, i64* %tms_cstime, align 8 + br label %if.end + +if.end: ; preds = %if.else, %if.then + ret i64 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local %struct.utmpx* @getutxent() #3 { +entry: + %call = call %struct.utmp* bitcast (%struct.utmp.323* ()* @getutent to %struct.utmp* ()*)() #11 + %0 = bitcast %struct.utmp* %call to %struct.utmpx* + ret %struct.utmpx* %0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local void @setutxent() #3 { +entry: + call void @setutent() #11 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local void @endutxent() #3 { +entry: + call void @endutent() #11 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @utmpxname(i8* %file) #3 { +entry: + %file.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + %call = call i32 @utmpname(i8* %0) #11 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @euidaccess(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %1 = load i32, i32* %mode.addr, align 4 + %call = call i32 @access(i8* %0, i32 %1) #11 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @eaccess(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %1 = load i32, i32* %mode.addr, align 4 + %call = call i32 @euidaccess(i8* %0, i32 %1) #11 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @group_member(i32 %__gid) #3 { +entry: + %__gid.addr = alloca i32, align 4 + store i32 %__gid, i32* %__gid.addr, align 4 + %0 = load i32, i32* %__gid.addr, align 4 + %call = call i32 @getgid() #11 + %cmp = icmp eq i32 %0, %call + br i1 %cmp, label %lor.end, label %lor.rhs + +lor.rhs: ; preds = %entry + %1 = load i32, i32* %__gid.addr, align 4 + %call1 = call i32 @getegid() #11 + %cmp2 = icmp eq i32 %1, %call1 + br label %lor.end + +lor.end: ; preds = %lor.rhs, %entry + %2 = phi i1 [ true, %entry ], [ %cmp2, %lor.rhs ] + %lor.ext = zext i1 %2 to i32 + ret i32 %lor.ext +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @utime(i8* nonnull %filename, %struct.timespec* %buf) #3 { +entry: + %filename.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.timespec*, align 8 + store i8* %filename, i8** %filename.addr, align 8 + store %struct.timespec* %buf, %struct.timespec** %buf.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @futimes(i32 %fd, %struct.timespec* %times) #3 { +entry: + %fd.addr = alloca i32, align 4 + %times.addr = alloca %struct.timespec*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.timespec* %times, %struct.timespec** %times.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.7.170, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 9, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind readonly uwtable +define dso_local i32 @strverscmp(i8* nonnull %__s1, i8* nonnull %__s2) #15 { +entry: + %__s1.addr = alloca i8*, align 8 + %__s2.addr = alloca i8*, align 8 + store i8* %__s1, i8** %__s1.addr, align 8 + store i8* %__s2, i8** %__s2.addr, align 8 + %0 = load i8*, i8** %__s1.addr, align 8 + %1 = load i8*, i8** %__s2.addr, align 8 + %call = call i32 @strcmp(i8* %0, i8* %1) #23 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @gnu_dev_major(i64 %__dev) #3 { +entry: + %__dev.addr = alloca i64, align 8 + store i64 %__dev, i64* %__dev.addr, align 8 + %0 = load i64, i64* %__dev.addr, align 8 + %shr = lshr i64 %0, 8 + %and = and i64 %shr, 4095 + %1 = load i64, i64* %__dev.addr, align 8 + %shr1 = lshr i64 %1, 32 + %conv = trunc i64 %shr1 to i32 + %and2 = and i32 %conv, -4096 + %conv3 = zext i32 %and2 to i64 + %or = or i64 %and, %conv3 + %conv4 = trunc i64 %or to i32 + ret i32 %conv4 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @gnu_dev_minor(i64 %__dev) #3 { +entry: + %__dev.addr = alloca i64, align 8 + store i64 %__dev, i64* %__dev.addr, align 8 + %0 = load i64, i64* %__dev.addr, align 8 + %and = and i64 %0, 255 + %1 = load i64, i64* %__dev.addr, align 8 + %shr = lshr i64 %1, 12 + %conv = trunc i64 %shr to i32 + %and1 = and i32 %conv, -256 + %conv2 = zext i32 %and1 to i64 + %or = or i64 %and, %conv2 + %conv3 = trunc i64 %or to i32 + ret i32 %conv3 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i64 @gnu_dev_makedev(i32 %__major, i32 %__minor) #3 { +entry: + %__major.addr = alloca i32, align 4 + %__minor.addr = alloca i32, align 4 + store i32 %__major, i32* %__major.addr, align 4 + store i32 %__minor, i32* %__minor.addr, align 4 + %0 = load i32, i32* %__minor.addr, align 4 + %and = and i32 %0, 255 + %1 = load i32, i32* %__major.addr, align 4 + %and1 = and i32 %1, 4095 + %shl = shl i32 %and1, 8 + %or = or i32 %and, %shl + %conv = zext i32 %or to i64 + %2 = load i32, i32* %__minor.addr, align 4 + %and2 = and i32 %2, -256 + %conv3 = zext i32 %and2 to i64 + %shl4 = shl i64 %conv3, 12 + %or5 = or i64 %conv, %shl4 + %3 = load i32, i32* %__major.addr, align 4 + %and6 = and i32 %3, -4096 + %conv7 = zext i32 %and6 to i64 + %shl8 = shl i64 %conv7, 32 + %or9 = or i64 %or5, %shl8 + ret i64 %or9 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i8* @canonicalize_file_name(i8* nonnull %name) #3 { +entry: + %retval = alloca i8*, align 8 + %name.addr = alloca i8*, align 8 + %resolved_name = alloca i8*, align 8 + store i8* %name, i8** %name.addr, align 8 + %call = call noalias i8* @malloc(i64 4096) #11 + store i8* %call, i8** %resolved_name, align 8 + %0 = load i8*, i8** %resolved_name, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %name.addr, align 8 + %2 = load i8*, i8** %resolved_name, align 8 + %call1 = call i8* @realpath(i8* %1, i8* %2) #11 + %tobool2 = icmp ne i8* %call1, null + %3 = load i8*, i8** %resolved_name, align 8 + br i1 %tobool2, label %if.end4, label %if.then3 + +if.then3: ; preds = %if.end + call void @free(i8* %3) #11 + store i8* null, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %if.end + store i8* %3, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %4 = load i8*, i8** %retval, align 8 + ret i8* %4 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @getloadavg(double* nonnull %loadavg, i32 %nelem) #3 { +entry: + %loadavg.addr = alloca double*, align 8 + %nelem.addr = alloca i32, align 4 + store double* %loadavg, double** %loadavg.addr, align 8 + store i32 %nelem, i32* %nelem.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.8.173, i64 0, i64 0)) + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @wait(i32* %status) #3 { +entry: + %status.addr = alloca i32*, align 8 + store i32* %status, i32** %status.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.174, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @wait3(i32* %status, i32 %options, %struct.rusage* %rusage) #3 { +entry: + %status.addr = alloca i32*, align 8 + %options.addr = alloca i32, align 4 + %rusage.addr = alloca %struct.rusage*, align 8 + store i32* %status, i32** %status.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + store %struct.rusage* %rusage, %struct.rusage** %rusage.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.174, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @wait4(i32 %pid, i32* %status, i32 %options, %struct.rusage* %rusage) #3 { +entry: + %pid.addr = alloca i32, align 4 + %status.addr = alloca i32*, align 8 + %options.addr = alloca i32, align 4 + %rusage.addr = alloca %struct.rusage*, align 8 + store i32 %pid, i32* %pid.addr, align 4 + store i32* %status, i32** %status.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + store %struct.rusage* %rusage, %struct.rusage** %rusage.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.174, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @waitpid(i32 %pid, i32* %status, i32 %options) #3 { +entry: + %pid.addr = alloca i32, align 4 + %status.addr = alloca i32*, align 8 + %options.addr = alloca i32, align 4 + store i32 %pid, i32* %pid.addr, align 4 + store i32* %status, i32** %status.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.174, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @waitid(i32 %idtype, i32 %id, %struct.siginfo_t* %infop, i32 %options) #3 { +entry: + %idtype.addr = alloca i32, align 4 + %id.addr = alloca i32, align 4 + %infop.addr = alloca %struct.siginfo_t*, align 8 + %options.addr = alloca i32, align 4 + store i32 %idtype, i32* %idtype.addr, align 4 + store i32 %id, i32* %id.addr, align 4 + store %struct.siginfo_t* %infop, %struct.siginfo_t** %infop.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.174, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mount(i8* %source, i8* %target, i8* %filesystemtype, i64 %mountflags, i8* %data) #3 { +entry: + %source.addr = alloca i8*, align 8 + %target.addr = alloca i8*, align 8 + %filesystemtype.addr = alloca i8*, align 8 + %mountflags.addr = alloca i64, align 8 + %data.addr = alloca i8*, align 8 + store i8* %source, i8** %source.addr, align 8 + store i8* %target, i8** %target.addr, align 8 + store i8* %filesystemtype, i8** %filesystemtype.addr, align 8 + store i64 %mountflags, i64* %mountflags.addr, align 8 + store i8* %data, i8** %data.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @umount(i8* %target) #3 { +entry: + %target.addr = alloca i8*, align 8 + store i8* %target, i8** %target.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @umount2(i8* %target, i32 %flags) #3 { +entry: + %target.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + store i8* %target, i8** %target.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @swapon(i8* %path, i32 %swapflags) #3 { +entry: + %path.addr = alloca i8*, align 8 + %swapflags.addr = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store i32 %swapflags, i32* %swapflags.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @swapoff(i8* %path) #3 { +entry: + %path.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setgid(i32 %gid) #3 { +entry: + %gid.addr = alloca i32, align 4 + store i32 %gid, i32* %gid.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.10.175, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setgroups(i64 %size, i32* %list) #3 { +entry: + %size.addr = alloca i64, align 8 + %list.addr = alloca i32*, align 8 + store i64 %size, i64* %size.addr, align 8 + store i32* %list, i32** %list.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @sethostname(i8* nonnull %name, i64 %len) #3 { +entry: + %name.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + store i8* %name, i8** %name.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setpgid(i32 %pid, i32 %pgid) #3 { +entry: + %pid.addr = alloca i32, align 4 + %pgid.addr = alloca i32, align 4 + store i32 %pid, i32* %pid.addr, align 4 + store i32 %pgid, i32* %pgid.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setpgrp() #3 { +entry: + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setpriority(i32 %which, i32 %who, i32 %prio) #3 { +entry: + %which.addr = alloca i32, align 4 + %who.addr = alloca i32, align 4 + %prio.addr = alloca i32, align 4 + store i32 %which, i32* %which.addr, align 4 + store i32 %who, i32* %who.addr, align 4 + store i32 %prio, i32* %prio.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setresgid(i32 %rgid, i32 %egid, i32 %sgid) #3 { +entry: + %rgid.addr = alloca i32, align 4 + %egid.addr = alloca i32, align 4 + %sgid.addr = alloca i32, align 4 + store i32 %rgid, i32* %rgid.addr, align 4 + store i32 %egid, i32* %egid.addr, align 4 + store i32 %sgid, i32* %sgid.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setresuid(i32 %ruid, i32 %euid, i32 %suid) #3 { +entry: + %ruid.addr = alloca i32, align 4 + %euid.addr = alloca i32, align 4 + %suid.addr = alloca i32, align 4 + store i32 %ruid, i32* %ruid.addr, align 4 + store i32 %euid, i32* %euid.addr, align 4 + store i32 %suid, i32* %suid.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setrlimit(i32 %resource, %struct.timespec* %rlim) #3 { +entry: + %resource.addr = alloca i32, align 4 + %rlim.addr = alloca %struct.timespec*, align 8 + store i32 %resource, i32* %resource.addr, align 4 + store %struct.timespec* %rlim, %struct.timespec** %rlim.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setrlimit64(i32 %resource, %struct.timespec* %rlim) #3 { +entry: + %resource.addr = alloca i32, align 4 + %rlim.addr = alloca %struct.timespec*, align 8 + store i32 %resource, i32* %resource.addr, align 4 + store %struct.timespec* %rlim, %struct.timespec** %rlim.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setsid() #3 { +entry: + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @settimeofday(%struct.timespec* %tv, %struct.__mbstate_t.512* %tz) #3 { +entry: + %tv.addr = alloca %struct.timespec*, align 8 + %tz.addr = alloca %struct.__mbstate_t.512*, align 8 + store %struct.timespec* %tv, %struct.timespec** %tv.addr, align 8 + store %struct.__mbstate_t.512* %tz, %struct.__mbstate_t.512** %tz.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setuid(i32 %uid) #3 { +entry: + %uid.addr = alloca i32, align 4 + store i32 %uid, i32* %uid.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.10.175, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @reboot(i32 %flag) #3 { +entry: + %flag.addr = alloca i32, align 4 + store i32 %flag, i32* %flag.addr, align 4 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mlock(i8* %addr, i64 %len) #3 { +entry: + %addr.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + store i8* %addr, i8** %addr.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @munlock(i8* %addr, i64 %len) #3 { +entry: + %addr.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + store i8* %addr, i8** %addr.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @pause() #3 { +entry: + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i64 @readahead(i32 %fd, i64* %offset, i64 %count) #3 { +entry: + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64*, align 8 + %count.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64* %offset, i64** %offset.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i64 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i8* @mmap(i8* %start, i64 %length, i32 %prot, i32 %flags, i32 %fd, i64 %offset) #3 { +entry: + %start.addr = alloca i8*, align 8 + %length.addr = alloca i64, align 8 + %prot.addr = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + store i8* %start, i8** %start.addr, align 8 + store i64 %length, i64* %length.addr, align 8 + store i32 %prot, i32* %prot.addr, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i8* inttoptr (i64 -1 to i8*) +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i8* @mmap64(i8* %start, i64 %length, i32 %prot, i32 %flags, i32 %fd, i64 %offset) #3 { +entry: + %start.addr = alloca i8*, align 8 + %length.addr = alloca i64, align 8 + %prot.addr = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + store i8* %start, i8** %start.addr, align 8 + store i64 %length, i64* %length.addr, align 8 + store i32 %prot, i32* %prot.addr, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i8* inttoptr (i64 -1 to i8*) +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @munmap(i8* %start, i64 %length) #3 { +entry: + %start.addr = alloca i8*, align 8 + %length.addr = alloca i64, align 8 + store i8* %start, i8** %start.addr, align 8 + store i64 %length, i64* %length.addr, align 8 + call void @gs_warning.161(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__locale_mbrtowc_l(i32* noalias %dst, i8* noalias %src, %struct.__uclibc_locale_struct.201* %loc) #0 { +entry: + %retval = alloca i32, align 4 + %dst.addr = alloca i32*, align 8 + %src.addr = alloca i8*, align 8 + %loc.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %ps = alloca %struct.__mbstate_t.512, align 4 + %p = alloca i8*, align 8 + %r = alloca i64, align 8 + %wc = alloca i32, align 4 + store i32* %dst, i32** %dst.addr, align 8 + store i8* %src, i8** %src.addr, align 8 + store %struct.__uclibc_locale_struct.201* %loc, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 9 + %1 = load i8, i8* %encoding, align 8 + %conv = zext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 1 + %2 = load i8*, i8** %src.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i8* %2, i8** %p, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %ps, i32 0, i32 0 + store i32 0, i32* %__mask, align 4 + %3 = load i32*, i32** %dst.addr, align 8 + %call = call i64 @_wchar_utf8sntowcs(i32* %3, i64 1, i8** %p, i64 -1, %struct.__mbstate_t.512* %ps, i32 1) #18 + store i64 %call, i64* %r, align 8 + %4 = load i64, i64* %r, align 8 + %cmp2 = icmp eq i64 %4, 1 + %5 = load i8*, i8** %p, align 8 + %6 = load i8*, i8** %src.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %6 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %7 = load i64, i64* %r, align 8 + %cond = select i1 %cmp2, i64 %sub.ptr.sub, i64 %7 + %conv4 = trunc i64 %cond to i32 + store i32 %conv4, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load i8, i8* %2, align 1 + %conv5 = zext i8 %8 to i32 + %9 = load i32*, i32** %dst.addr, align 8 + store i32 %conv5, i32* %9, align 4 + %cmp6 = icmp slt i32 %conv5, 128 + br i1 %cmp6, label %if.then8, label %if.end12 + +if.then8: ; preds = %if.end + %10 = load i8*, i8** %src.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv9 = sext i8 %11 to i32 + %cmp10 = icmp ne i32 %conv9, 0 + %conv11 = zext i1 %cmp10 to i32 + store i32 %conv11, i32* %retval, align 4 + br label %return + +if.end12: ; preds = %if.end + %12 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %encoding13 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %12, i32 0, i32 9 + %13 = load i8, i8* %encoding13, align 8 + %conv14 = zext i8 %13 to i32 + %cmp15 = icmp eq i32 %conv14, 2 + br i1 %cmp15, label %if.then17, label %if.end24 + +if.then17: ; preds = %if.end12 + %14 = load i32*, i32** %dst.addr, align 8 + %15 = load i32, i32* %14, align 4 + %sub = sub nsw i32 %15, 128 + store i32 %sub, i32* %wc, align 4 + %16 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %tbl8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %16, i32 0, i32 17 + %17 = load i16*, i16** %tbl8c2wc, align 8 + %18 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %idx8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %18, i32 0, i32 16 + %19 = load i8*, i8** %idx8c2wc, align 8 + %20 = load i32, i32* %wc, align 4 + %shr = ashr i32 %20, 3 + %idxprom = sext i32 %shr to i64 + %arrayidx = getelementptr inbounds i8, i8* %19, i64 %idxprom + %21 = load i8, i8* %arrayidx, align 1 + %conv18 = zext i8 %21 to i32 + %shl = shl i32 %conv18, 3 + %22 = load i32, i32* %wc, align 4 + %and = and i32 %22, 7 + %add = add nsw i32 %shl, %and + %idxprom19 = sext i32 %add to i64 + %arrayidx20 = getelementptr inbounds i16, i16* %17, i64 %idxprom19 + %23 = load i16, i16* %arrayidx20, align 2 + %conv21 = zext i16 %23 to i32 + %24 = load i32*, i32** %dst.addr, align 8 + store i32 %conv21, i32* %24, align 4 + %25 = load i32*, i32** %dst.addr, align 8 + %26 = load i32, i32* %25, align 4 + %tobool = icmp ne i32 %26, 0 + br i1 %tobool, label %if.then22, label %if.end24 + +if.then22: ; preds = %if.then17 + store i32 1, i32* %retval, align 4 + br label %return + +if.end24: ; preds = %if.then17, %if.end12 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end24, %if.then22, %if.then8, %if.then + %27 = load i32, i32* %retval, align 4 + ret i32 %27 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__raise(i32 %signo) #0 { +entry: + %signo.addr = alloca i32, align 4 + store i32 %signo, i32* %signo.addr, align 4 + %call = call i32 @getpid() #19 + %0 = load i32, i32* %signo.addr, align 4 + %call1 = call i32 @kill(i32 %call, i32 %0) #19 + ret i32 %call1 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__libc_sigaction(i32 %sig, %struct.sigaction.800* %act, %struct.sigaction.800* %oact) #0 { +entry: + %sig.addr = alloca i32, align 4 + %act.addr = alloca %struct.sigaction.800*, align 8 + %oact.addr = alloca %struct.sigaction.800*, align 8 + %result = alloca i32, align 4 + %kact = alloca %struct.kernel_sigaction, align 8 + %koact = alloca %struct.kernel_sigaction, align 8 + store i32 %sig, i32* %sig.addr, align 4 + store %struct.sigaction.800* %act, %struct.sigaction.800** %act.addr, align 8 + store %struct.sigaction.800* %oact, %struct.sigaction.800** %oact.addr, align 8 + %0 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %tobool = icmp ne %struct.sigaction.800* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %__sigaction_handler = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %1, i32 0, i32 0 + %sa_handler = bitcast %union.anon.799* %__sigaction_handler to void (i32)** + %2 = load void (i32)*, void (i32)** %sa_handler, align 8 + %k_sa_handler = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 0 + store void (i32)* %2, void (i32)** %k_sa_handler, align 8 + %sa_mask = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 3 + %3 = bitcast %struct.fd_set* %sa_mask to i8* + %4 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %sa_mask1 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %4, i32 0, i32 1 + %5 = bitcast %struct.fd_set* %sa_mask1 to i8* + %call = call i8* @memcpy(i8* %3, i8* %5, i64 128) #19 + %6 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %sa_flags = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %6, i32 0, i32 2 + %7 = load i32, i32* %sa_flags, align 8 + %conv = sext i32 %7 to i64 + %sa_flags2 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 1 + store i64 %conv, i64* %sa_flags2, align 8 + %8 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %sa_restorer = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %8, i32 0, i32 3 + %9 = load void ()*, void ()** %sa_restorer, align 8 + %sa_restorer3 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 2 + store void ()* %9, void ()** %sa_restorer3, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %10 = load i32, i32* %sig.addr, align 4 + %11 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %tobool4 = icmp ne %struct.sigaction.800* %11, null + %kact. = select i1 %tobool4, %struct.kernel_sigaction* %kact, %struct.kernel_sigaction* null + %12 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %tobool5 = icmp ne %struct.sigaction.800* %12, null + %cond9 = select i1 %tobool5, %struct.kernel_sigaction* %koact, %struct.kernel_sigaction* null + %call10 = call i32 bitcast (i32 (i32, %struct.sigaction.800*, %struct.sigaction.800*, i64)* @__syscall_rt_sigaction to i32 (i32, %struct.kernel_sigaction*, %struct.kernel_sigaction*, i64)*)(i32 %10, %struct.kernel_sigaction* %kact., %struct.kernel_sigaction* %cond9, i64 8) #18 + store i32 %call10, i32* %result, align 4 + %13 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %tobool11 = icmp ne %struct.sigaction.800* %13, null + %14 = load i32, i32* %result, align 4 + %cmp = icmp sge i32 %14, 0 + %or.cond = and i1 %tobool11, %cmp + br i1 %or.cond, label %if.then13, label %if.end25 + +if.then13: ; preds = %if.end + %k_sa_handler14 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 0 + %15 = load void (i32)*, void (i32)** %k_sa_handler14, align 8 + %16 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %__sigaction_handler15 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %16, i32 0, i32 0 + %sa_handler16 = bitcast %union.anon.799* %__sigaction_handler15 to void (i32)** + store void (i32)* %15, void (i32)** %sa_handler16, align 8 + %17 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %sa_mask17 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %17, i32 0, i32 1 + %18 = bitcast %struct.fd_set* %sa_mask17 to i8* + %sa_mask18 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 3 + %19 = bitcast %struct.fd_set* %sa_mask18 to i8* + %call19 = call i8* @memcpy(i8* %18, i8* %19, i64 128) #19 + %sa_flags20 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 1 + %20 = load i64, i64* %sa_flags20, align 8 + %conv21 = trunc i64 %20 to i32 + %21 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %sa_flags22 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %21, i32 0, i32 2 + store i32 %conv21, i32* %sa_flags22, align 8 + %sa_restorer23 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 2 + %22 = load void ()*, void ()** %sa_restorer23, align 8 + %23 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %sa_restorer24 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %23, i32 0, i32 3 + store void ()* %22, void ()** %sa_restorer24, align 8 + br label %if.end25 + +if.end25: ; preds = %if.then13, %if.end + %24 = load i32, i32* %result, align 4 + ret i32 %24 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__sigismember(%struct.fd_set* %__set, i32 %__sig) #0 { +entry: + %__set.addr = alloca %struct.fd_set*, align 8 + %__sig.addr = alloca i32, align 4 + %__mask = alloca i64, align 8 + %__word = alloca i64, align 8 + store %struct.fd_set* %__set, %struct.fd_set** %__set.addr, align 8 + store i32 %__sig, i32* %__sig.addr, align 4 + %0 = load i32, i32* %__sig.addr, align 4 + %sub = sub nsw i32 %0, 1 + %conv = sext i32 %sub to i64 + %rem = urem i64 %conv, 64 + %shl = shl i64 1, %rem + store i64 %shl, i64* %__mask, align 8 + %1 = load i32, i32* %__sig.addr, align 4 + %sub1 = sub nsw i32 %1, 1 + %conv2 = sext i32 %sub1 to i64 + %div = udiv i64 %conv2, 64 + store i64 %div, i64* %__word, align 8 + %2 = load %struct.fd_set*, %struct.fd_set** %__set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %2, i32 0, i32 0 + %3 = load i64, i64* %__word, align 8 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 %3 + %4 = load i64, i64* %arrayidx, align 8 + %5 = load i64, i64* %__mask, align 8 + %and = and i64 %4, %5 + %tobool = icmp ne i64 %and, 0 + %6 = zext i1 %tobool to i64 + %cond = select i1 %tobool, i32 1, i32 0 + ret i32 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__sigaddset(%struct.fd_set* %__set, i32 %__sig) #0 { +entry: + %__set.addr = alloca %struct.fd_set*, align 8 + %__sig.addr = alloca i32, align 4 + %__mask = alloca i64, align 8 + %__word = alloca i64, align 8 + store %struct.fd_set* %__set, %struct.fd_set** %__set.addr, align 8 + store i32 %__sig, i32* %__sig.addr, align 4 + %0 = load i32, i32* %__sig.addr, align 4 + %sub = sub nsw i32 %0, 1 + %conv = sext i32 %sub to i64 + %rem = urem i64 %conv, 64 + %shl = shl i64 1, %rem + store i64 %shl, i64* %__mask, align 8 + %1 = load i32, i32* %__sig.addr, align 4 + %sub1 = sub nsw i32 %1, 1 + %conv2 = sext i32 %sub1 to i64 + %div = udiv i64 %conv2, 64 + store i64 %div, i64* %__word, align 8 + %2 = load i64, i64* %__mask, align 8 + %3 = load %struct.fd_set*, %struct.fd_set** %__set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %3, i32 0, i32 0 + %4 = load i64, i64* %__word, align 8 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 %4 + %5 = load i64, i64* %arrayidx, align 8 + %or = or i64 %5, %2 + store i64 %or, i64* %arrayidx, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__sigdelset(%struct.fd_set* %__set, i32 %__sig) #0 { +entry: + %__set.addr = alloca %struct.fd_set*, align 8 + %__sig.addr = alloca i32, align 4 + %__mask = alloca i64, align 8 + %__word = alloca i64, align 8 + store %struct.fd_set* %__set, %struct.fd_set** %__set.addr, align 8 + store i32 %__sig, i32* %__sig.addr, align 4 + %0 = load i32, i32* %__sig.addr, align 4 + %sub = sub nsw i32 %0, 1 + %conv = sext i32 %sub to i64 + %rem = urem i64 %conv, 64 + %shl = shl i64 1, %rem + store i64 %shl, i64* %__mask, align 8 + %1 = load i32, i32* %__sig.addr, align 4 + %sub1 = sub nsw i32 %1, 1 + %conv2 = sext i32 %sub1 to i64 + %div = udiv i64 %conv2, 64 + store i64 %div, i64* %__word, align 8 + %2 = load i64, i64* %__mask, align 8 + %neg = xor i64 %2, -1 + %3 = load %struct.fd_set*, %struct.fd_set** %__set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %3, i32 0, i32 0 + %4 = load i64, i64* %__word, align 8 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 %4 + %5 = load i64, i64* %arrayidx, align 8 + %and = and i64 %5, %neg + store i64 %and, i64* %arrayidx, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %bufsize = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 5 + %1 = load i8*, i8** %__bufpos, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 3 + %3 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %1 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %3 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %bufsize, align 8 + %cmp = icmp ne i64 %sub.ptr.sub, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 3 + %5 = load i8*, i8** %__bufstart1, align 8 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 5 + store i8* %5, i8** %__bufpos2, align 8 + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart3 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 3 + %9 = load i8*, i8** %__bufstart3, align 8 + %10 = load i64, i64* %bufsize, align 8 + %call = call i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %7, i8* %9, i64 %10) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos4 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 5 + %12 = load i8*, i8** %__bufpos4, align 8 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart5 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 3 + %14 = load i8*, i8** %__bufstart5, align 8 + %sub.ptr.lhs.cast6 = ptrtoint i8* %12 to i64 + %sub.ptr.rhs.cast7 = ptrtoint i8* %14 to i64 + %sub.ptr.sub8 = sub i64 %sub.ptr.lhs.cast6, %sub.ptr.rhs.cast7 + ret i64 %sub.ptr.sub8 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__fgetc_unlocked(%struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %uc = alloca i8, align 1 + %uc56 = alloca i8, align 1 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 5 + %1 = load i8*, i8** %__bufpos, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 7 + %3 = load i8*, i8** %__bufgetc_u, align 8 + %cmp = icmp ult i8* %1, %3 + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 5 + %5 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + %6 = load i8, i8* %5, align 1 + %conv = zext i8 %6 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 0 + %7 = load i16, i16* %__modeflags, align 8 + %conv2 = zext i16 %7 to i32 + %and = and i32 %conv2, 131 + %cmp3 = icmp ugt i32 %and, 128 + br i1 %cmp3, label %if.then5, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2r_o(%struct.__STDIO_FILE_STRUCT.568* %8, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end63, label %if.then5 + +if.then5: ; preds = %lor.lhs.false, %if.end + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %9, i32 0, i32 0 + %10 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %10 to i32 + %and8 = and i32 %conv7, 2 + %tobool9 = icmp ne i32 %and8, 0 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %tobool9, label %if.then10, label %if.end18 + +if.then10: ; preds = %if.then5 + %__ungot = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 10 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags11 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags11, align 8 + %dec = add i16 %13, -1 + store i16 %dec, i16* %__modeflags11, align 8 + %conv12 = zext i16 %13 to i32 + %and13 = and i32 %conv12, 1 + %idxprom = sext i32 %and13 to i64 + %arrayidx = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot, i64 0, i64 %idxprom + %14 = load i32, i32* %arrayidx, align 4 + %conv14 = trunc i32 %14 to i8 + store i8 %conv14, i8* %uc, align 1 + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__ungot15 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 10 + %arrayidx16 = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot15, i64 0, i64 1 + store i32 0, i32* %arrayidx16, align 4 + %16 = load i8, i8* %uc, align 1 + %conv17 = zext i8 %16 to i32 + store i32 %conv17, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %if.then5 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 6 + %17 = load i8*, i8** %__bufread, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos19 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 5 + %19 = load i8*, i8** %__bufpos19, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %17 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool20 = icmp ne i64 %sub.ptr.sub, 0 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %tobool20, label %if.then21, label %if.end25 + +if.then21: ; preds = %if.end18 + %__bufpos22 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 5 + %21 = load i8*, i8** %__bufpos22, align 8 + %incdec.ptr23 = getelementptr inbounds i8, i8* %21, i32 1 + store i8* %incdec.ptr23, i8** %__bufpos22, align 8 + %22 = load i8, i8* %21, align 1 + %conv24 = zext i8 %22 to i32 + store i32 %conv24, i32* %retval, align 4 + br label %return + +if.end25: ; preds = %if.end18 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 2 + %23 = load i32, i32* %__filedes, align 4 + %cmp26 = icmp eq i32 %23, -2 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags29 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 0 + %25 = load i16, i16* %__modeflags29, align 8 + %conv30 = zext i16 %25 to i32 + br i1 %cmp26, label %if.then28, label %if.end32 + +if.then28: ; preds = %if.end25 + %or = or i32 %conv30, 4 + %conv31 = trunc i32 %or to i16 + store i16 %conv31, i16* %__modeflags29, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end32: ; preds = %if.end25 + %and35 = and i32 %conv30, 768 + %tobool36 = icmp ne i32 %and35, 0 + br i1 %tobool36, label %if.then37, label %if.end39 + +if.then37: ; preds = %if.end32 + %call38 = call i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.568* bitcast (%struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist to %struct.__STDIO_FILE_STRUCT.568*)) #18 + br label %if.end39 + +if.end39: ; preds = %if.then37, %if.end32 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 4 + %27 = load i8*, i8** %__bufend, align 8 + %28 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %28, i32 0, i32 3 + %29 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast40 = ptrtoint i8* %27 to i64 + %sub.ptr.rhs.cast41 = ptrtoint i8* %29 to i64 + %sub.ptr.sub42 = sub i64 %sub.ptr.lhs.cast40, %sub.ptr.rhs.cast41 + %tobool43 = icmp ne i64 %sub.ptr.sub42, 0 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %tobool43, label %if.then44, label %if.else + +if.then44: ; preds = %if.end39 + %__bufstart45 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %30, i32 0, i32 3 + %31 = load i8*, i8** %__bufstart45, align 8 + %32 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u46 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %32, i32 0, i32 7 + store i8* %31, i8** %__bufgetc_u46, align 8 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call47 = call i64 @__stdio_rfill(%struct.__STDIO_FILE_STRUCT.568* %33) #18 + %tobool48 = icmp ne i64 %call47, 0 + br i1 %tobool48, label %if.then49, label %if.end63 + +if.then49: ; preds = %if.then44 + %34 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread50 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %34, i32 0, i32 6 + %35 = load i8*, i8** %__bufread50, align 8 + %36 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u51 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %36, i32 0, i32 7 + store i8* %35, i8** %__bufgetc_u51, align 8 + %37 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos52 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %37, i32 0, i32 5 + %38 = load i8*, i8** %__bufpos52, align 8 + %incdec.ptr53 = getelementptr inbounds i8, i8* %38, i32 1 + store i8* %incdec.ptr53, i8** %__bufpos52, align 8 + %39 = load i8, i8* %38, align 1 + %conv54 = zext i8 %39 to i32 + store i32 %conv54, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.end39 + %call57 = call i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.568* %30, i8* %uc56, i64 1) #18 + %tobool58 = icmp ne i64 %call57, 0 + br i1 %tobool58, label %if.then59, label %if.end63 + +if.then59: ; preds = %if.else + %40 = load i8, i8* %uc56, align 1 + %conv60 = zext i8 %40 to i32 + store i32 %conv60, i32* %retval, align 4 + br label %return + +if.end63: ; preds = %if.then44, %if.else, %lor.lhs.false + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end63, %if.then59, %if.then49, %if.then28, %if.then21, %if.then10, %if.then + %41 = load i32, i32* %retval, align 4 + ret i32 %41 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @sprintf(i8* noalias %buf, i8* noalias %format, ...) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %format.addr = alloca i8*, align 8 + %arg = alloca [1 x %struct.__va_list_tag.0], align 16 + %rv = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load i8*, i8** %buf.addr, align 8 + %1 = load i8*, i8** %format.addr, align 8 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %call = call i32 @vsnprintf(i8* %0, i64 -1, i8* %1, %struct.__va_list_tag.0* %arraydecay2) #19 + store i32 %call, i32* %rv, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + %2 = load i32, i32* %rv, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @strcmp(i8* nonnull %s1, i8* nonnull %s2) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %r = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + br label %while.cond + +while.cond: ; preds = %land.rhs, %entry + %0 = load i8*, i8** %s1.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = zext i8 %1 to i32 + %2 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %2, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %3 = load i8, i8* %2, align 1 + %conv1 = zext i8 %3 to i32 + %sub = sub nsw i32 %conv, %conv1 + store i32 %sub, i32* %r, align 4 + %cmp = icmp eq i32 %sub, 0 + br i1 %cmp, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %4 = load i8*, i8** %s1.addr, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr3, i8** %s1.addr, align 8 + %5 = load i8, i8* %4, align 1 + %conv4 = sext i8 %5 to i32 + %tobool = icmp ne i32 %conv4, 0 + br i1 %tobool, label %while.cond, label %while.end + +while.end: ; preds = %while.cond, %land.rhs + %6 = load i32, i32* %r, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i64 @strlen(i8* nonnull %s) #14 { +entry: + %s.addr = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load i8*, i8** %p, align 8 + %2 = load i8, i8* %1, align 1 + %tobool = icmp ne i8 %2, 0 + %3 = load i8*, i8** %p, align 8 + br i1 %tobool, label %for.inc, label %for.end + +for.inc: ; preds = %for.cond + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %4 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %3 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %4 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @strncmp(i8* nonnull %s1, i8* nonnull %s2, i64 %n) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i32 0, i32* %r, align 4 + br label %while.cond + +while.cond: ; preds = %land.rhs, %entry + %0 = load i64, i64* %n.addr, align 8 + %dec = add i64 %0, -1 + store i64 %dec, i64* %n.addr, align 8 + %tobool = icmp ne i64 %0, 0 + br i1 %tobool, label %land.lhs.true, label %while.end + +land.lhs.true: ; preds = %while.cond + %1 = load i8*, i8** %s1.addr, align 8 + %2 = load i8, i8* %1, align 1 + %conv = zext i8 %2 to i32 + %3 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %4 = load i8, i8* %3, align 1 + %conv1 = zext i8 %4 to i32 + %sub = sub nsw i32 %conv, %conv1 + store i32 %sub, i32* %r, align 4 + %cmp = icmp eq i32 %sub, 0 + br i1 %cmp, label %land.rhs, label %while.end + +land.rhs: ; preds = %land.lhs.true + %5 = load i8*, i8** %s1.addr, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr3, i8** %s1.addr, align 8 + %6 = load i8, i8* %5, align 1 + %conv4 = sext i8 %6 to i32 + %tobool5 = icmp ne i32 %conv4, 0 + br i1 %tobool5, label %while.cond, label %while.end + +while.end: ; preds = %while.cond, %land.lhs.true, %land.rhs + %7 = load i32, i32* %r, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @isatty(i32 %fd) #0 { +entry: + %fd.addr = alloca i32, align 4 + %term = alloca %struct.termios, align 4 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 @tcgetattr(i32 %0, %struct.termios* %term) #19 + %cmp = icmp eq i32 %call, 0 + %conv = zext i1 %cmp to i32 + ret i32 %conv +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @open64(i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i8*, i8** %pathname.addr, align 8 + %8 = load i32, i32* %flags.addr, align 4 + %9 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_open(i8* %7, i32 %8, i32 %9) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @openat64(i32 %fd, i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %fd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i32, i32* %fd.addr, align 4 + %8 = load i8*, i8** %pathname.addr, align 8 + %9 = load i32, i32* %flags.addr, align 4 + %10 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_openat(i32 %7, i8* %8, i32 %9, i32 %10) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @lseek64(i32 %fd, i64 %offset, i32 %whence) #3 { +entry: + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %offset.addr, align 8 + %2 = load i32, i32* %whence.addr, align 4 + %call = call i64 @__fd_lseek(i32 %0, i64 %1, i32 %2) + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__xstat64(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @stat64(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__lxstat64(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @lstat64(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fxstat64(i32 %vers, i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %vers, i32* %vers.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstat64(i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @ftruncate64(i32 %fd, i64 %length) #3 { +entry: + %fd.addr = alloca i32, align 4 + %length.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %length, i64* %length.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %length.addr, align 8 + %call = call i32 @__fd_ftruncate(i32 %0, i64 %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @statfs64(i8* nonnull %path, %struct.statfs* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.statfs*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.statfs* %buf, %struct.statfs** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.statfs*, %struct.statfs** %buf.addr, align 8 + %call = call i32 @__fd_statfs(i8* %0, %struct.statfs* %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @getdents64(i32 %fd, i8* nonnull %dirp, i64 %count) #3 { +entry: + %fd.addr = alloca i32, align 4 + %dirp.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %dirp, i8** %dirp.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i8*, i8** %dirp.addr, align 8 + %2 = bitcast i8* %1 to %struct.dirent64* + %3 = load i64, i64* %count.addr, align 8 + %conv = trunc i64 %3 to i32 + %call = call i32 @__fd_getdents(i32 %0, %struct.dirent64* %2, i32 %conv) + %conv1 = sext i32 %call to i64 + ret i64 %conv1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @kill(i32 %pid, i32 %sig) #3 { +entry: + %pid.addr = alloca i32, align 4 + %sig.addr = alloca i32, align 4 + store i32 %pid, i32* %pid.addr, align 4 + store i32 %sig, i32* %sig.addr, align 4 + call void @gs_warning.217(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.216, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @gs_warning.217(i8* %message) #3 { +entry: + %message.addr = alloca i8*, align 8 + store i8* %message, i8** %message.addr, align 8 + %0 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %0) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.7.218, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind returns_twice uwtable +define weak dso_local i32 @_setjmp(%struct.__jmp_buf_tag* %__env) #16 { +entry: + %__env.addr = alloca %struct.__jmp_buf_tag*, align 8 + store %struct.__jmp_buf_tag* %__env, %struct.__jmp_buf_tag** %__env.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1.219, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline noreturn nounwind uwtable +define dso_local void @longjmp(%struct.__jmp_buf_tag* %env, i32 %val) #6 { +entry: + %env.addr = alloca %struct.__jmp_buf_tag*, align 8 + %val.addr = alloca i32, align 4 + store %struct.__jmp_buf_tag* %env, %struct.__jmp_buf_tag** %env.addr, align 8 + store i32 %val, i32* %val.addr, align 4 + call void @gs_report_error.223(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.2.220, i64 0, i64 0), i32 37, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.3.221, i64 0, i64 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.4.222, i64 0, i64 0)) #24 + unreachable +} + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error.223(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.7.218, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execl(i8* nonnull %path, i8* nonnull %arg, ...) #3 { +entry: + %path.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + call void @gs_warning.217(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.224, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execlp(i8* nonnull %file, i8* nonnull %arg, ...) #3 { +entry: + %file.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + call void @gs_warning.217(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.224, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execle(i8* nonnull %path, i8* nonnull %arg, ...) #3 { +entry: + %path.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + call void @gs_warning.217(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.224, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execv(i8* nonnull %path, i8** nonnull %argv) #3 { +entry: + %path.addr = alloca i8*, align 8 + %argv.addr = alloca i8**, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + call void @gs_warning.217(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.224, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execvp(i8* nonnull %file, i8** nonnull %argv) #3 { +entry: + %file.addr = alloca i8*, align 8 + %argv.addr = alloca i8**, align 8 + store i8* %file, i8** %file.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + call void @gs_warning.217(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.224, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execve(i8* nonnull %file, i8** nonnull %argv, i8** %envp) #3 { +entry: + %file.addr = alloca i8*, align 8 + %argv.addr = alloca i8**, align 8 + %envp.addr = alloca i8**, align 8 + store i8* %file, i8** %file.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + store i8** %envp, i8*** %envp.addr, align 8 + call void @gs_warning.217(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.224, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fork() #3 { +entry: + call void @gs_warning.217(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.6.225, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 12, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind returns_twice uwtable +define dso_local i32 @vfork() #16 { +entry: + %call = call i32 @fork() #11 + ret i32 %call +} + +; Function Attrs: noinline nounwind readnone uwtable +define i16** @__ctype_b_loc() #12 { +entry: + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 0 + ret i16** %__ctype_b +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @__error(i32 %status, i32 %errnum, i8* %message, ...) #0 { +entry: + %status.addr = alloca i32, align 4 + %errnum.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %args = alloca [1 x %struct.__va_list_tag.0], align 16 + %__S = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %tmp = alloca i32, align 4 + store i32 %status, i32* %status.addr, align 4 + store i32 %errnum, i32* %errnum.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdout, align 8 + %call = call i32 @fflush(%struct.__STDIO_FILE_STRUCT.568* %0) #18 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %2 = load i8*, i8** %message.addr, align 8 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %call3 = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %1, i8* %2, %struct.__va_list_tag.0* %arraydecay2) #18 + %arraydecay4 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay45 = bitcast %struct.__va_list_tag.0* %arraydecay4 to i8* + call void @llvm.va_end(i8* %arraydecay45) + %3 = load i32, i32* @error_message_count, align 4 + %inc = add i32 %3, 1 + store i32 %inc, i32* @error_message_count, align 4 + %4 = load i32, i32* %errnum.addr, align 4 + %tobool = icmp ne i32 %4, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %6 = load i32, i32* %errnum.addr, align 4 + %call6 = call i8* @strerror(i32 %6) #19 + %call7 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %5, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.228, i64 0, i64 0), i8* %call6) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %7, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 5 + %9 = load i8*, i8** %__bufpos, align 8 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 8 + %11 = load i8*, i8** %__bufputc_u, align 8 + %cmp = icmp ult i8* %9, %11 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %if.end + %__bufpos8 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 5 + %13 = load i8*, i8** %__bufpos8, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %13, i32 1 + store i8* %incdec.ptr, i8** %__bufpos8, align 8 + store i8 10, i8* %13, align 1 + br label %cond.end + +cond.false: ; preds = %if.end + %call9 = call i32 @__fputc_unlocked(i32 10, %struct.__STDIO_FILE_STRUCT.568* %12) #18 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ 10, %cond.true ], [ %call9, %cond.false ] + store i32 %cond, i32* %tmp, align 4 + %14 = load i32, i32* %tmp, align 4 + %15 = load i32, i32* %status.addr, align 4 + %tobool10 = icmp ne i32 %15, 0 + br i1 %tobool10, label %if.then11, label %if.end12 + +if.then11: ; preds = %cond.end + %16 = load i32, i32* %status.addr, align 4 + call void @exit(i32 %16) #22 + unreachable + +if.end12: ; preds = %cond.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @__error_at_line(i32 %status, i32 %errnum, i8* %file_name, i32 %line_number, i8* %message, ...) #0 { +entry: + %status.addr = alloca i32, align 4 + %errnum.addr = alloca i32, align 4 + %file_name.addr = alloca i8*, align 8 + %line_number.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %args = alloca [1 x %struct.__va_list_tag.0], align 16 + %__S = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %tmp = alloca i32, align 4 + store i32 %status, i32* %status.addr, align 4 + store i32 %errnum, i32* %errnum.addr, align 4 + store i8* %file_name, i8** %file_name.addr, align 8 + store i32 %line_number, i32* %line_number.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + %0 = load i32, i32* @error_one_per_line, align 4 + %tobool = icmp ne i32 %0, 0 + br i1 %tobool, label %if.then, label %if.end4 + +if.then: ; preds = %entry + %1 = load i32, i32* @__error_at_line.old_line_number, align 4 + %2 = load i32, i32* %line_number.addr, align 4 + %cmp = icmp eq i32 %1, %2 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %if.then + %3 = load i8*, i8** %file_name.addr, align 8 + %4 = load i8*, i8** @__error_at_line.old_file_name, align 8 + %cmp1 = icmp eq i8* %3, %4 + br i1 %cmp1, label %if.end25, label %lor.lhs.false + +lor.lhs.false: ; preds = %land.lhs.true + %5 = load i8*, i8** @__error_at_line.old_file_name, align 8 + %6 = load i8*, i8** %file_name.addr, align 8 + %call = call i32 @strcmp(i8* %5, i8* %6) #20 + %tobool2 = icmp ne i32 %call, 0 + br i1 %tobool2, label %if.end, label %if.end25 + +if.end: ; preds = %lor.lhs.false, %if.then + %7 = load i8*, i8** %file_name.addr, align 8 + store i8* %7, i8** @__error_at_line.old_file_name, align 8 + %8 = load i32, i32* %line_number.addr, align 4 + store i32 %8, i32* @__error_at_line.old_line_number, align 4 + br label %if.end4 + +if.end4: ; preds = %if.end, %entry + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdout, align 8 + %call5 = call i32 @fflush(%struct.__STDIO_FILE_STRUCT.568* %9) #18 + %10 = load i8*, i8** %file_name.addr, align 8 + %cmp6 = icmp ne i8* %10, null + br i1 %cmp6, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end4 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %12 = load i8*, i8** %file_name.addr, align 8 + %13 = load i32, i32* %line_number.addr, align 4 + %call8 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %11, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1.229, i64 0, i64 0), i8* %12, i32 %13) #18 + br label %if.end9 + +if.end9: ; preds = %if.then7, %if.end4 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay10 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay10) + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %15 = load i8*, i8** %message.addr, align 8 + %arraydecay11 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %call12 = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %14, i8* %15, %struct.__va_list_tag.0* %arraydecay11) #18 + %arraydecay13 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay1314 = bitcast %struct.__va_list_tag.0* %arraydecay13 to i8* + call void @llvm.va_end(i8* %arraydecay1314) + %16 = load i32, i32* @error_message_count, align 4 + %inc = add i32 %16, 1 + store i32 %inc, i32* @error_message_count, align 4 + %17 = load i32, i32* %errnum.addr, align 4 + %tobool15 = icmp ne i32 %17, 0 + br i1 %tobool15, label %if.then16, label %if.end19 + +if.then16: ; preds = %if.end9 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %19 = load i32, i32* %errnum.addr, align 4 + %call17 = call i8* @strerror(i32 %19) #19 + %call18 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %18, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.228, i64 0, i64 0), i8* %call17) #18 + br label %if.end19 + +if.end19: ; preds = %if.then16, %if.end9 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %20, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %21 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %21, i32 0, i32 5 + %22 = load i8*, i8** %__bufpos, align 8 + %23 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %23, i32 0, i32 8 + %24 = load i8*, i8** %__bufputc_u, align 8 + %cmp20 = icmp ult i8* %22, %24 + %25 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + br i1 %cmp20, label %cond.true, label %cond.false + +cond.true: ; preds = %if.end19 + %__bufpos21 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %25, i32 0, i32 5 + %26 = load i8*, i8** %__bufpos21, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %26, i32 1 + store i8* %incdec.ptr, i8** %__bufpos21, align 8 + store i8 10, i8* %26, align 1 + br label %cond.end + +cond.false: ; preds = %if.end19 + %call22 = call i32 @__fputc_unlocked(i32 10, %struct.__STDIO_FILE_STRUCT.568* %25) #18 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ 10, %cond.true ], [ %call22, %cond.false ] + store i32 %cond, i32* %tmp, align 4 + %27 = load i32, i32* %tmp, align 4 + %28 = load i32, i32* %status.addr, align 4 + %tobool23 = icmp ne i32 %28, 0 + br i1 %tobool23, label %if.then24, label %if.end25 + +if.then24: ; preds = %cond.end + %29 = load i32, i32* %status.addr, align 4 + call void @exit(i32 %29) #22 + unreachable + +if.end25: ; preds = %land.lhs.true, %lor.lhs.false, %cond.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i8* @nl_langinfo(i32 %item) #0 { +entry: + %item.addr = alloca i32, align 4 + store i32 %item, i32* %item.addr, align 4 + %0 = load i32, i32* %item.addr, align 4 + %1 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %call = call i8* @nl_langinfo_l(i32 %0, %struct.__uclibc_locale_struct.201* %1) #18 + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define i8* @setlocale(i32 %category, i8* %locale) #0 { +entry: + %retval = alloca i8*, align 8 + %category.addr = alloca i32, align 4 + %locale.addr = alloca i8*, align 8 + store i32 %category, i32* %category.addr, align 4 + store i8* %locale, i8** %locale.addr, align 8 + %0 = load i32, i32* %category.addr, align 4 + %cmp = icmp ugt i32 %0, 6 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %locale.addr, align 8 + %cmp1 = icmp ne i8* %1, null + br i1 %cmp1, label %if.then2, label %if.end5 + +if.then2: ; preds = %if.end + %2 = load i32, i32* %category.addr, align 4 + %shl = shl i32 1, %2 + %3 = load i8*, i8** %locale.addr, align 8 + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__global_locale, align 8 + %call = call %struct.__uclibc_locale_struct.201* @newlocale(i32 %shl, i8* %3, %struct.__uclibc_locale_struct.201* %4) #19 + %tobool = icmp ne %struct.__uclibc_locale_struct.201* %call, null + br i1 %tobool, label %if.end4, label %if.then3 + +if.then3: ; preds = %if.then2 + store i8* null, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %if.then2 + %5 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__global_locale, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %5, i32 0, i32 6 + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + call void @update_hr_locale(i8* %arraydecay) #18 + br label %if.end5 + +if.end5: ; preds = %if.end4, %if.end + %6 = load i32, i32* %category.addr, align 4 + %mul = mul nsw i32 %6, 32 + %idx.ext = sext i32 %mul to i64 + %add.ptr = getelementptr inbounds i8, i8* getelementptr inbounds ([448 x i8], [448 x i8]* @hr_locale, i64 0, i64 0), i64 %idx.ext + store i8* %add.ptr, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %7 = load i8*, i8** %retval, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @update_hr_locale(i8* %spec) #0 { +entry: + %spec.addr = alloca i8*, align 8 + %loc = alloca i8*, align 8 + %s = alloca i8*, align 8 + %n = alloca i8*, align 8 + %i = alloca i32, align 4 + %category = alloca i32, align 4 + %done = alloca i32, align 4 + %at = alloca i8, align 1 + %q = alloca i8*, align 8 + store i8* %spec, i8** %spec.addr, align 8 + store i32 0, i32* %category, align 4 + store i32 0, i32* %done, align 4 + br label %do.body + +do.body: ; preds = %do.end127, %entry + %0 = load i8*, i8** %spec.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %0, i64 1 + store i8* %add.ptr, i8** %s, align 8 + %1 = load i32, i32* %category, align 4 + %mul = mul nsw i32 %1, 32 + %idx.ext = sext i32 %mul to i64 + %add.ptr1 = getelementptr inbounds i8, i8* getelementptr inbounds ([448 x i8], [448 x i8]* @hr_locale, i64 0, i64 0), i64 %idx.ext + store i8* %add.ptr1, i8** %n, align 8 + %2 = load i32, i32* %category, align 4 + %cmp = icmp eq i32 %2, 6 + br i1 %cmp, label %if.then, label %SKIP + +if.then: ; preds = %do.body + store i32 1, i32* %done, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.then + %3 = load i32, i32* %i, align 4 + %cmp2 = icmp slt i32 %3, 5 + br i1 %cmp2, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %4 = load i8*, i8** %s, align 8 + %5 = load i32, i32* %i, align 4 + %idxprom = sext i32 %5 to i64 + %arrayidx = getelementptr inbounds i8, i8* %4, i64 %idxprom + %6 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %6 to i32 + %7 = load i8*, i8** %s, align 8 + %8 = load i32, i32* %i, align 4 + %add = add nsw i32 %8, 2 + %idxprom3 = sext i32 %add to i64 + %arrayidx4 = getelementptr inbounds i8, i8* %7, i64 %idxprom3 + %9 = load i8, i8* %arrayidx4, align 1 + %conv5 = zext i8 %9 to i32 + %cmp6 = icmp ne i32 %conv, %conv5 + br i1 %cmp6, label %SKIP, label %lor.lhs.false + +lor.lhs.false: ; preds = %for.body + %10 = load i8*, i8** %s, align 8 + %11 = load i32, i32* %i, align 4 + %add8 = add nsw i32 %11, 1 + %idxprom9 = sext i32 %add8 to i64 + %arrayidx10 = getelementptr inbounds i8, i8* %10, i64 %idxprom9 + %12 = load i8, i8* %arrayidx10, align 1 + %conv11 = zext i8 %12 to i32 + %13 = load i8*, i8** %s, align 8 + %14 = load i32, i32* %i, align 4 + %add12 = add nsw i32 %14, 3 + %idxprom13 = sext i32 %add12 to i64 + %arrayidx14 = getelementptr inbounds i8, i8* %13, i64 %idxprom13 + %15 = load i8, i8* %arrayidx14, align 1 + %conv15 = zext i8 %15 to i32 + %cmp16 = icmp ne i32 %conv11, %conv15 + br i1 %cmp16, label %SKIP, label %for.inc + +for.inc: ; preds = %lor.lhs.false + %16 = load i32, i32* %i, align 4 + %add19 = add nsw i32 %16, 2 + store i32 %add19, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + store i32 0, i32* %category, align 4 + br label %SKIP + +SKIP: ; preds = %do.body, %for.end, %for.body, %lor.lhs.false + %17 = load i32, i32* %category, align 4 + %cmp21 = icmp eq i32 %17, 6 + %18 = load i32, i32* %category, align 4 + %cond = select i1 %cmp21, i32 0, i32 %18 + store i32 %cond, i32* %i, align 4 + %19 = load i32, i32* %i, align 4 + %mul23 = mul nsw i32 2, %19 + %20 = load i8*, i8** %s, align 8 + %idx.ext24 = sext i32 %mul23 to i64 + %add.ptr25 = getelementptr inbounds i8, i8* %20, i64 %idx.ext24 + store i8* %add.ptr25, i8** %s, align 8 + br label %do.body26 + +do.body26: ; preds = %if.end122, %SKIP + %21 = load i8*, i8** %s, align 8 + %22 = load i8, i8* %21, align 1 + %conv27 = zext i8 %22 to i32 + %cmp28 = icmp ne i32 %conv27, 255 + br i1 %cmp28, label %if.then35, label %lor.lhs.false30 + +lor.lhs.false30: ; preds = %do.body26 + %23 = load i8*, i8** %s, align 8 + %arrayidx31 = getelementptr inbounds i8, i8* %23, i64 1 + %24 = load i8, i8* %arrayidx31, align 1 + %conv32 = zext i8 %24 to i32 + %cmp33 = icmp ne i32 %conv32, 255 + br i1 %cmp33, label %if.then35, label %if.end122 + +if.then35: ; preds = %lor.lhs.false30, %do.body26 + %25 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %25, i32 0, i32 31 + %arraydecay = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales, i64 0, i64 0 + %26 = load i8*, i8** %s, align 8 + %27 = load i8, i8* %26, align 1 + %conv36 = zext i8 %27 to i32 + %and = and i32 %conv36, 127 + %shl = shl i32 %and, 7 + %28 = load i8*, i8** %s, align 8 + %arrayidx37 = getelementptr inbounds i8, i8* %28, i64 1 + %29 = load i8, i8* %arrayidx37, align 1 + %conv38 = zext i8 %29 to i32 + %and39 = and i32 %conv38, 127 + %add40 = add nsw i32 %shl, %and39 + %mul41 = mul nsw i32 9, %add40 + %idx.ext42 = sext i32 %mul41 to i64 + %add.ptr43 = getelementptr inbounds i8, i8* %arraydecay, i64 %idx.ext42 + store i8* %add.ptr43, i8** %loc, align 8 + %30 = load i32, i32* %category, align 4 + %cmp44 = icmp eq i32 %30, 6 + br i1 %cmp44, label %if.then46, label %if.end54 + +if.then46: ; preds = %if.then35 + %31 = load i8*, i8** %n, align 8 + %32 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %32, i32 0, i32 34 + %arraydecay47 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names, i64 0, i64 0 + %33 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names48 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %33, i32 0, i32 34 + %34 = load i32, i32* %i, align 4 + %idxprom49 = sext i32 %34 to i64 + %arrayidx50 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names48, i64 0, i64 %idxprom49 + %35 = load i8, i8* %arrayidx50, align 1 + %conv51 = zext i8 %35 to i32 + %idx.ext52 = sext i32 %conv51 to i64 + %add.ptr53 = getelementptr inbounds i8, i8* %arraydecay47, i64 %idx.ext52 + %call = call i8* @stpcpy(i8* %31, i8* %add.ptr53) #19 + store i8* %call, i8** %n, align 8 + %36 = load i8*, i8** %n, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %36, i32 1 + store i8* %incdec.ptr, i8** %n, align 8 + store i8 61, i8* %36, align 1 + br label %if.end54 + +if.end54: ; preds = %if.then46, %if.then35 + %37 = load i8*, i8** %loc, align 8 + %38 = load i8, i8* %37, align 1 + %conv55 = zext i8 %38 to i32 + %cmp56 = icmp eq i32 %conv55, 0 + br i1 %cmp56, label %if.then58, label %if.else + +if.then58: ; preds = %if.end54 + %39 = load i8*, i8** %n, align 8 + %incdec.ptr59 = getelementptr inbounds i8, i8* %39, i32 1 + store i8* %incdec.ptr59, i8** %n, align 8 + store i8 67, i8* %39, align 1 + %40 = load i8*, i8** %n, align 8 + store i8 0, i8* %40, align 1 + br label %if.end120 + +if.else: ; preds = %if.end54 + store i8 0, i8* %at, align 1 + %41 = load i8*, i8** %n, align 8 + %42 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_names5 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %42, i32 0, i32 32 + %arraydecay60 = getelementptr inbounds [835 x i8], [835 x i8]* %locale_names5, i64 0, i64 0 + %43 = load i8*, i8** %loc, align 8 + %44 = load i8, i8* %43, align 1 + %conv61 = zext i8 %44 to i32 + %sub = sub nsw i32 %conv61, 1 + %mul62 = mul nsw i32 5, %sub + %idx.ext63 = sext i32 %mul62 to i64 + %add.ptr64 = getelementptr inbounds i8, i8* %arraydecay60, i64 %idx.ext63 + %call65 = call i8* @memcpy(i8* %41, i8* %add.ptr64, i64 5) #19 + %45 = load i8*, i8** %n, align 8 + %arrayidx66 = getelementptr inbounds i8, i8* %45, i64 2 + %46 = load i8, i8* %arrayidx66, align 1 + %conv67 = sext i8 %46 to i32 + %cmp68 = icmp ne i32 %conv67, 95 + br i1 %cmp68, label %if.then70, label %if.end73 + +if.then70: ; preds = %if.else + %47 = load i8*, i8** %n, align 8 + %arrayidx71 = getelementptr inbounds i8, i8* %47, i64 2 + %48 = load i8, i8* %arrayidx71, align 1 + store i8 %48, i8* %at, align 1 + %49 = load i8*, i8** %n, align 8 + %arrayidx72 = getelementptr inbounds i8, i8* %49, i64 2 + store i8 95, i8* %arrayidx72, align 1 + br label %if.end73 + +if.end73: ; preds = %if.then70, %if.else + %50 = load i8*, i8** %n, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %50, i64 5 + store i8* %add.ptr74, i8** %n, align 8 + %51 = load i8*, i8** %n, align 8 + %incdec.ptr75 = getelementptr inbounds i8, i8* %51, i32 1 + store i8* %incdec.ptr75, i8** %n, align 8 + store i8 46, i8* %51, align 1 + %52 = load i8*, i8** %loc, align 8 + %arrayidx76 = getelementptr inbounds i8, i8* %52, i64 2 + %53 = load i8, i8* %arrayidx76, align 1 + %conv77 = zext i8 %53 to i32 + %cmp78 = icmp eq i32 %conv77, 2 + br i1 %cmp78, label %if.then80, label %if.else82 + +if.then80: ; preds = %if.end73 + %54 = load i8*, i8** %n, align 8 + %call81 = call i8* @stpcpy(i8* %54, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf8.236, i64 0, i64 0)) #19 + store i8* %call81, i8** %n, align 8 + br label %if.end100 + +if.else82: ; preds = %if.end73 + %55 = load i8*, i8** %loc, align 8 + %arrayidx83 = getelementptr inbounds i8, i8* %55, i64 2 + %56 = load i8, i8* %arrayidx83, align 1 + %conv84 = zext i8 %56 to i32 + %cmp85 = icmp sge i32 %conv84, 3 + br i1 %cmp85, label %if.then87, label %if.end100 + +if.then87: ; preds = %if.else82 + %57 = load i8*, i8** %n, align 8 + %58 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %58, i32 0, i32 35 + %arraydecay88 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list, i64 0, i64 0 + %59 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list89 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %59, i32 0, i32 35 + %60 = load i8*, i8** %loc, align 8 + %arrayidx90 = getelementptr inbounds i8, i8* %60, i64 2 + %61 = load i8, i8* %arrayidx90, align 1 + %conv91 = zext i8 %61 to i32 + %sub92 = sub nsw i32 %conv91, 3 + %idxprom93 = sext i32 %sub92 to i64 + %arrayidx94 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list89, i64 0, i64 %idxprom93 + %62 = load i8, i8* %arrayidx94, align 1 + %conv95 = zext i8 %62 to i32 + %idx.ext96 = sext i32 %conv95 to i64 + %add.ptr97 = getelementptr inbounds i8, i8* %arraydecay88, i64 %idx.ext96 + %call98 = call i8* @stpcpy(i8* %57, i8* %add.ptr97) #19 + store i8* %call98, i8** %n, align 8 + br label %if.end100 + +if.end100: ; preds = %if.else82, %if.then87, %if.then80 + %63 = load i8, i8* %at, align 1 + %tobool = icmp ne i8 %63, 0 + br i1 %tobool, label %if.then101, label %if.end120 + +if.then101: ; preds = %if.end100 + %64 = load i8*, i8** %n, align 8 + %incdec.ptr102 = getelementptr inbounds i8, i8* %64, i32 1 + store i8* %incdec.ptr102, i8** %n, align 8 + store i8 64, i8* %64, align 1 + %65 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_at_modifiers = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %65, i32 0, i32 33 + %arraydecay103 = getelementptr inbounds [18 x i8], [18 x i8]* %locale_at_modifiers, i64 0, i64 0 + store i8* %arraydecay103, i8** %q, align 8 + br label %do.body104 + +do.body104: ; preds = %if.end113, %if.then101 + %66 = load i8*, i8** %q, align 8 + %arrayidx105 = getelementptr inbounds i8, i8* %66, i64 1 + %67 = load i8, i8* %arrayidx105, align 1 + %conv106 = sext i8 %67 to i32 + %68 = load i8, i8* %at, align 1 + %conv107 = sext i8 %68 to i32 + %cmp108 = icmp eq i32 %conv106, %conv107 + br i1 %cmp108, label %if.then110, label %if.end113 + +if.then110: ; preds = %do.body104 + %69 = load i8*, i8** %n, align 8 + %70 = load i8*, i8** %q, align 8 + %add.ptr111 = getelementptr inbounds i8, i8* %70, i64 2 + %call112 = call i8* @stpcpy(i8* %69, i8* %add.ptr111) #19 + store i8* %call112, i8** %n, align 8 + br label %if.end120 + +if.end113: ; preds = %do.body104 + %71 = load i8*, i8** %q, align 8 + %72 = load i8, i8* %71, align 1 + %conv114 = sext i8 %72 to i32 + %add115 = add nsw i32 2, %conv114 + %73 = load i8*, i8** %q, align 8 + %idx.ext116 = sext i32 %add115 to i64 + %add.ptr117 = getelementptr inbounds i8, i8* %73, i64 %idx.ext116 + store i8* %add.ptr117, i8** %q, align 8 + %74 = load i8*, i8** %q, align 8 + %75 = load i8, i8* %74, align 1 + %tobool118 = icmp ne i8 %75, 0 + br i1 %tobool118, label %do.body104, label %if.end120 + +if.end120: ; preds = %if.end100, %if.end113, %if.then110, %if.then58 + %76 = load i8*, i8** %n, align 8 + %incdec.ptr121 = getelementptr inbounds i8, i8* %76, i32 1 + store i8* %incdec.ptr121, i8** %n, align 8 + store i8 59, i8* %76, align 1 + br label %if.end122 + +if.end122: ; preds = %if.end120, %lor.lhs.false30 + %77 = load i8*, i8** %s, align 8 + %add.ptr123 = getelementptr inbounds i8, i8* %77, i64 2 + store i8* %add.ptr123, i8** %s, align 8 + %78 = load i32, i32* %i, align 4 + %inc = add nsw i32 %78, 1 + store i32 %inc, i32* %i, align 4 + %79 = load i32, i32* %category, align 4 + %cmp125 = icmp slt i32 %inc, %79 + br i1 %cmp125, label %do.body26, label %do.end127 + +do.end127: ; preds = %if.end122 + %80 = load i8*, i8** %n, align 8 + %incdec.ptr128 = getelementptr inbounds i8, i8* %80, i32 -1 + store i8* %incdec.ptr128, i8** %n, align 8 + store i8 0, i8* %incdec.ptr128, align 1 + %81 = load i32, i32* %category, align 4 + %inc129 = add nsw i32 %81, 1 + store i32 %inc129, i32* %category, align 4 + %82 = load i32, i32* %done, align 4 + %tobool131 = icmp ne i32 %82, 0 + %lnot = xor i1 %tobool131, true + br i1 %lnot, label %do.body, label %do.end132 + +do.end132: ; preds = %do.end127 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define void @setutent() #0 { +entry: + call void @__setutent() #18 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__setutent() #0 { +entry: + %ret = alloca i32, align 4 + %0 = load i32, i32* @static_fd, align 4 + %cmp = icmp eq i32 %0, -1 + br i1 %cmp, label %if.then, label %if.end16 + +if.then: ; preds = %entry + %1 = load i8*, i8** @static_ut_name, align 8 + %call = call i32 (i8*, i32, ...) @open(i8* %1, i32 2) #18 + store i32 %call, i32* @static_fd, align 4 + %cmp1 = icmp slt i32 %call, 0 + br i1 %cmp1, label %if.then2, label %if.end6 + +if.then2: ; preds = %if.then + %2 = load i8*, i8** @static_ut_name, align 8 + %call3 = call i32 (i8*, i32, ...) @open(i8* %2, i32 0) #18 + store i32 %call3, i32* @static_fd, align 4 + %cmp4 = icmp slt i32 %call3, 0 + br i1 %cmp4, label %bummer, label %if.end6 + +if.end6: ; preds = %if.then2, %if.then + %3 = load i32, i32* @static_fd, align 4 + %call7 = call i32 (i32, i32, ...) @fcntl(i32 %3, i32 1, i32 0) #18 + store i32 %call7, i32* %ret, align 4 + %4 = load i32, i32* %ret, align 4 + %cmp8 = icmp sge i32 %4, 0 + br i1 %cmp8, label %if.then9, label %if.end11 + +if.then9: ; preds = %if.end6 + %5 = load i32, i32* @static_fd, align 4 + %6 = load i32, i32* %ret, align 4 + %or = or i32 %6, 1 + %call10 = call i32 (i32, i32, ...) @fcntl(i32 %5, i32 2, i32 %or) #18 + store i32 %call10, i32* %ret, align 4 + br label %if.end11 + +if.end11: ; preds = %if.then9, %if.end6 + %7 = load i32, i32* %ret, align 4 + %cmp12 = icmp slt i32 %7, 0 + br i1 %cmp12, label %bummer, label %if.end16 + +bummer: ; preds = %if.end11, %if.then2 + store i32 -1, i32* @static_fd, align 4 + %8 = load i32, i32* @static_fd, align 4 + %call14 = call i32 @close(i32 %8) #18 + br label %return + +if.end16: ; preds = %if.end11, %entry + %9 = load i32, i32* @static_fd, align 4 + %call17 = call i64 @lseek(i32 %9, i64 0, i32 0) #19 + br label %return + +return: ; preds = %if.end16, %bummer + ret void +} + +; Function Attrs: noinline nounwind uwtable +define void @endutent() #0 { +entry: + %0 = load i32, i32* @static_fd, align 4 + %cmp = icmp ne i32 %0, -1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load i32, i32* @static_fd, align 4 + %call = call i32 @close(i32 %1) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + store i32 -1, i32* @static_fd, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @getutent() #0 { +entry: + %ret = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* null, %struct.utmp.323** %ret, align 8 + %0 = load i32, i32* @static_fd, align 4 + %call = call %struct.utmp.323* @__getutent(i32 %0) #18 + store %struct.utmp.323* %call, %struct.utmp.323** %ret, align 8 + %1 = load %struct.utmp.323*, %struct.utmp.323** %ret, align 8 + ret %struct.utmp.323* %1 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.utmp.323* @__getutent(i32 %utmp_fd) #0 { +entry: + %retval = alloca %struct.utmp.323*, align 8 + %utmp_fd.addr = alloca i32, align 4 + %ret = alloca %struct.utmp.323*, align 8 + store i32 %utmp_fd, i32* %utmp_fd.addr, align 4 + store %struct.utmp.323* null, %struct.utmp.323** %ret, align 8 + %0 = load i32, i32* %utmp_fd.addr, align 4 + %cmp = icmp eq i32 %0, -1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @__setutent() #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i32, i32* %utmp_fd.addr, align 4 + %cmp1 = icmp eq i32 %1, -1 + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + store %struct.utmp.323* null, %struct.utmp.323** %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %2 = load i32, i32* %utmp_fd.addr, align 4 + %call = call i64 @read(i32 %2, i8* bitcast (%struct.utmp.323* @static_utmp to i8*), i64 400) #18 + %cmp4 = icmp eq i64 %call, 400 + br i1 %cmp4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end3 + store %struct.utmp.323* @static_utmp, %struct.utmp.323** %ret, align 8 + br label %if.end6 + +if.end6: ; preds = %if.then5, %if.end3 + %3 = load %struct.utmp.323*, %struct.utmp.323** %ret, align 8 + store %struct.utmp.323* %3, %struct.utmp.323** %retval, align 8 + br label %return + +return: ; preds = %if.end6, %if.then2 + %4 = load %struct.utmp.323*, %struct.utmp.323** %retval, align 8 + ret %struct.utmp.323* %4 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @getutid(%struct.utmp.323* %utmp_entry) #0 { +entry: + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + %ret = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + store %struct.utmp.323* null, %struct.utmp.323** %ret, align 8 + %0 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %call = call %struct.utmp.323* @__getutid(%struct.utmp.323* %0) #18 + store %struct.utmp.323* %call, %struct.utmp.323** %ret, align 8 + %1 = load %struct.utmp.323*, %struct.utmp.323** %ret, align 8 + ret %struct.utmp.323* %1 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.utmp.323* @__getutid(%struct.utmp.323* %utmp_entry) #0 { +entry: + %retval = alloca %struct.utmp.323*, align 8 + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + %lutmp = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end47, %entry + %0 = load i32, i32* @static_fd, align 4 + %call = call %struct.utmp.323* @__getutent(i32 %0) #18 + store %struct.utmp.323* %call, %struct.utmp.323** %lutmp, align 8 + %cmp = icmp ne %struct.utmp.323* %call, null + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %1 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %1, i32 0, i32 0 + %2 = load i16, i16* %ut_type, align 8 + %conv = sext i16 %2 to i32 + %cmp1 = icmp eq i32 %conv, 1 + br i1 %cmp1, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.body + %3 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type3 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %3, i32 0, i32 0 + %4 = load i16, i16* %ut_type3, align 8 + %conv4 = sext i16 %4 to i32 + %cmp5 = icmp eq i32 %conv4, 2 + br i1 %cmp5, label %land.lhs.true, label %lor.lhs.false7 + +lor.lhs.false7: ; preds = %lor.lhs.false + %5 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type8 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %5, i32 0, i32 0 + %6 = load i16, i16* %ut_type8, align 8 + %conv9 = sext i16 %6 to i32 + %cmp10 = icmp eq i32 %conv9, 3 + br i1 %cmp10, label %land.lhs.true, label %lor.lhs.false12 + +lor.lhs.false12: ; preds = %lor.lhs.false7 + %7 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type13 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %7, i32 0, i32 0 + %8 = load i16, i16* %ut_type13, align 8 + %conv14 = sext i16 %8 to i32 + %cmp15 = icmp eq i32 %conv14, 4 + br i1 %cmp15, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %lor.lhs.false12, %lor.lhs.false7, %lor.lhs.false, %while.body + %9 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_type17 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %9, i32 0, i32 0 + %10 = load i16, i16* %ut_type17, align 8 + %conv18 = sext i16 %10 to i32 + %11 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type19 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %11, i32 0, i32 0 + %12 = load i16, i16* %ut_type19, align 8 + %conv20 = sext i16 %12 to i32 + %cmp21 = icmp eq i32 %conv18, %conv20 + br i1 %cmp21, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %13 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + store %struct.utmp.323* %13, %struct.utmp.323** %retval, align 8 + br label %return + +if.end: ; preds = %land.lhs.true, %lor.lhs.false12 + %14 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type23 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %14, i32 0, i32 0 + %15 = load i16, i16* %ut_type23, align 8 + %conv24 = sext i16 %15 to i32 + %cmp25 = icmp eq i32 %conv24, 5 + br i1 %cmp25, label %land.lhs.true42, label %lor.lhs.false27 + +lor.lhs.false27: ; preds = %if.end + %16 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type28 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %16, i32 0, i32 0 + %17 = load i16, i16* %ut_type28, align 8 + %conv29 = sext i16 %17 to i32 + %cmp30 = icmp eq i32 %conv29, 8 + br i1 %cmp30, label %land.lhs.true42, label %lor.lhs.false32 + +lor.lhs.false32: ; preds = %lor.lhs.false27 + %18 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type33 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %18, i32 0, i32 0 + %19 = load i16, i16* %ut_type33, align 8 + %conv34 = sext i16 %19 to i32 + %cmp35 = icmp eq i32 %conv34, 6 + br i1 %cmp35, label %land.lhs.true42, label %lor.lhs.false37 + +lor.lhs.false37: ; preds = %lor.lhs.false32 + %20 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type38 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %20, i32 0, i32 0 + %21 = load i16, i16* %ut_type38, align 8 + %conv39 = sext i16 %21 to i32 + %cmp40 = icmp eq i32 %conv39, 7 + br i1 %cmp40, label %land.lhs.true42, label %if.end47 + +land.lhs.true42: ; preds = %lor.lhs.false37, %lor.lhs.false32, %lor.lhs.false27, %if.end + %22 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_id = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %22, i32 0, i32 3 + %arraydecay = getelementptr inbounds [4 x i8], [4 x i8]* %ut_id, i64 0, i64 0 + %23 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_id43 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %23, i32 0, i32 3 + %arraydecay44 = getelementptr inbounds [4 x i8], [4 x i8]* %ut_id43, i64 0, i64 0 + %call45 = call i32 @strncmp(i8* %arraydecay, i8* %arraydecay44, i64 4) #20 + %tobool = icmp ne i32 %call45, 0 + br i1 %tobool, label %if.end47, label %if.then46 + +if.then46: ; preds = %land.lhs.true42 + %24 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + store %struct.utmp.323* %24, %struct.utmp.323** %retval, align 8 + br label %return + +if.end47: ; preds = %land.lhs.true42, %lor.lhs.false37 + br label %while.cond + +while.end: ; preds = %while.cond + store %struct.utmp.323* null, %struct.utmp.323** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then46, %if.then + %25 = load %struct.utmp.323*, %struct.utmp.323** %retval, align 8 + ret %struct.utmp.323* %25 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @getutline(%struct.utmp.323* %utmp_entry) #0 { +entry: + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + %lutmp = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + store %struct.utmp.323* null, %struct.utmp.323** %lutmp, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %0 = load i32, i32* @static_fd, align 4 + %call = call %struct.utmp.323* @__getutent(i32 %0) #18 + store %struct.utmp.323* %call, %struct.utmp.323** %lutmp, align 8 + %cmp = icmp ne %struct.utmp.323* %call, null + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %1 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_type = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %1, i32 0, i32 0 + %2 = load i16, i16* %ut_type, align 8 + %conv = sext i16 %2 to i32 + %cmp1 = icmp eq i32 %conv, 7 + br i1 %cmp1, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.body + %3 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_type3 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %3, i32 0, i32 0 + %4 = load i16, i16* %ut_type3, align 8 + %conv4 = sext i16 %4 to i32 + %cmp5 = icmp eq i32 %conv4, 6 + br i1 %cmp5, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %lor.lhs.false, %while.body + %5 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_line = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %5, i32 0, i32 2 + %arraydecay = getelementptr inbounds [32 x i8], [32 x i8]* %ut_line, i64 0, i64 0 + %6 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_line7 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %6, i32 0, i32 2 + %arraydecay8 = getelementptr inbounds [32 x i8], [32 x i8]* %ut_line7, i64 0, i64 0 + %call9 = call i32 @strcmp(i8* %arraydecay, i8* %arraydecay8) #20 + %tobool = icmp ne i32 %call9, 0 + br i1 %tobool, label %if.end, label %while.end + +if.end: ; preds = %land.lhs.true, %lor.lhs.false + br label %while.cond + +while.end: ; preds = %land.lhs.true, %while.cond + %7 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + ret %struct.utmp.323* %7 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @pututline(%struct.utmp.323* %utmp_entry) #0 { +entry: + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + %0 = load i32, i32* @static_fd, align 4 + %call = call i64 @lseek(i32 %0, i64 -400, i32 1) #19 + %1 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %call1 = call %struct.utmp.323* @__getutid(%struct.utmp.323* %1) #18 + %cmp = icmp ne %struct.utmp.323* %call1, null + %2 = load i32, i32* @static_fd, align 4 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %call2 = call i64 @lseek(i32 %2, i64 -400, i32 1) #19 + br label %if.end + +if.else: ; preds = %entry + %call3 = call i64 @lseek(i32 %2, i64 0, i32 2) #19 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %3 = load i32, i32* @static_fd, align 4 + %4 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %5 = bitcast %struct.utmp.323* %4 to i8* + %call4 = call i64 @write(i32 %3, i8* %5, i64 400) #18 + %cmp5 = icmp ne i64 %call4, 400 + br i1 %cmp5, label %if.then6, label %if.end7 + +if.then6: ; preds = %if.end + store %struct.utmp.323* null, %struct.utmp.323** %utmp_entry.addr, align 8 + br label %if.end7 + +if.end7: ; preds = %if.then6, %if.end + %6 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + ret %struct.utmp.323* %6 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @utmpname(i8* %new_ut_name) #0 { +entry: + %new_ut_name.addr = alloca i8*, align 8 + store i8* %new_ut_name, i8** %new_ut_name.addr, align 8 + %0 = load i8*, i8** %new_ut_name.addr, align 8 + %cmp = icmp ne i8* %0, null + br i1 %cmp, label %if.then, label %if.end6 + +if.then: ; preds = %entry + %1 = load i8*, i8** @static_ut_name, align 8 + %cmp1 = icmp ne i8* %1, getelementptr inbounds ([14 x i8], [14 x i8]* @default_file_name, i64 0, i64 0) + br i1 %cmp1, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + %2 = load i8*, i8** @static_ut_name, align 8 + call void @free(i8* %2) #19 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %3 = load i8*, i8** %new_ut_name.addr, align 8 + %call = call noalias i8* @strdup(i8* %3) #19 + store i8* %call, i8** @static_ut_name, align 8 + %4 = load i8*, i8** @static_ut_name, align 8 + %cmp3 = icmp eq i8* %4, null + %spec.store.select = select i1 %cmp3, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @default_file_name, i64 0, i64 0), i8* %call + store i8* %spec.store.select, i8** @static_ut_name, align 8 + br label %if.end6 + +if.end6: ; preds = %if.end, %entry + %5 = load i32, i32* @static_fd, align 4 + %cmp7 = icmp ne i32 %5, -1 + br i1 %cmp7, label %if.then8, label %if.end10 + +if.then8: ; preds = %if.end6 + %6 = load i32, i32* @static_fd, align 4 + %call9 = call i32 @close(i32 %6) #18 + br label %if.end10 + +if.end10: ; preds = %if.then8, %if.end6 + store i32 -1, i32* @static_fd, align 4 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_wchar_utf8sntowcs(i32* noalias %pwc, i64 %wn, i8** noalias %src, i64 %n, %struct.__mbstate_t.512* %ps, i32 %allow_continuation) #0 { +entry: + %retval = alloca i64, align 8 + %pwc.addr = alloca i32*, align 8 + %wn.addr = alloca i64, align 8 + %src.addr = alloca i8**, align 8 + %n.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %allow_continuation.addr = alloca i32, align 4 + %s = alloca i8*, align 8 + %mask = alloca i32, align 4 + %wc = alloca i32, align 4 + %wcbuf = alloca [1 x i32], align 4 + %count = alloca i64, align 8 + %incr = alloca i32, align 4 + store i32* %pwc, i32** %pwc.addr, align 8 + store i64 %wn, i64* %wn.addr, align 8 + store i8** %src, i8*** %src.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + store i32 %allow_continuation, i32* %allow_continuation.addr, align 4 + %0 = load i8**, i8*** %src.addr, align 8 + %1 = load i8*, i8** %0, align 8 + store i8* %1, i8** %s, align 8 + store i32 1, i32* %incr, align 4 + %2 = load i32*, i32** %pwc.addr, align 8 + %tobool = icmp ne i32* %2, null + br i1 %tobool, label %lor.lhs.false, label %if.then + +lor.lhs.false: ; preds = %entry + %3 = load i32*, i32** %pwc.addr, align 8 + %4 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %5 = bitcast %struct.__mbstate_t.512* %4 to i32* + %cmp = icmp eq i32* %3, %5 + br i1 %cmp, label %if.then, label %if.end3 + +if.then: ; preds = %lor.lhs.false, %entry + %6 = load i32*, i32** %pwc.addr, align 8 + %tobool1 = icmp ne i32* %6, null + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + store i64 -1, i64* %wn.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %arraydecay = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay, i32** %pwc.addr, align 8 + store i32 0, i32* %incr, align 4 + br label %if.end3 + +if.end3: ; preds = %if.end, %lor.lhs.false + %7 = load i64, i64* %wn.addr, align 8 + store i64 %7, i64* %count, align 8 + %tobool4 = icmp ne i64 %7, 0 + br i1 %tobool4, label %if.end6, label %if.then5 + +if.then5: ; preds = %if.end3 + store i64 0, i64* %retval, align 8 + br label %return + +if.end6: ; preds = %if.end3 + %8 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %8, i32 0, i32 0 + %9 = load i32, i32* %__mask, align 4 + store i32 %9, i32* %mask, align 4 + %cmp7 = icmp ne i32 %9, 0 + br i1 %cmp7, label %if.then8, label %do.body + +if.then8: ; preds = %if.end6 + %10 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %10, i32 0, i32 1 + %11 = load i32, i32* %__wc, align 4 + store i32 %11, i32* %wc, align 4 + %cmp9 = icmp ne i32 %11, 65535 + br i1 %cmp9, label %if.then10, label %if.end14 + +if.then10: ; preds = %if.then8 + %12 = load i64, i64* %n.addr, align 8 + %tobool11 = icmp ne i64 %12, 0 + br i1 %tobool11, label %while.cond, label %DONE + +if.end14: ; preds = %if.then8 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +do.body: ; preds = %if.end6, %land.rhs + %13 = load i64, i64* %n.addr, align 8 + %tobool16 = icmp ne i64 %13, 0 + br i1 %tobool16, label %if.end18, label %DONE + +if.end18: ; preds = %do.body + %14 = load i64, i64* %n.addr, align 8 + %dec = add i64 %14, -1 + store i64 %dec, i64* %n.addr, align 8 + %15 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %15, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %16 = load i8, i8* %15, align 1 + %conv = zext i8 %16 to i32 + store i32 %conv, i32* %wc, align 4 + %cmp19 = icmp uge i32 %conv, 128 + br i1 %cmp19, label %if.then21, label %COMPLETE + +if.then21: ; preds = %if.end18 + store i32 64, i32* %mask, align 4 + %17 = load i8*, i8** %s, align 8 + %arrayidx = getelementptr inbounds i8, i8* %17, i64 -1 + %18 = load i8, i8* %arrayidx, align 1 + %conv22 = sext i8 %18 to i32 + %sub = sub nsw i32 %conv22, 192 + %conv23 = trunc i32 %sub to i8 + %conv24 = zext i8 %conv23 to i32 + %cmp25 = icmp slt i32 %conv24, 62 + br i1 %cmp25, label %START, label %BAD + +BAD: ; preds = %if.end52, %lor.lhs.false55, %lor.lhs.false59, %while.body, %if.then21 + %19 = load i32, i32* %mask, align 4 + %20 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask29 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %20, i32 0, i32 0 + store i32 %19, i32* %__mask29, align 4 + %21 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc30 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %21, i32 0, i32 1 + store i32 65535, i32* %__wc30, align 4 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +while.cond: ; preds = %START, %if.then10 + %22 = load i64, i64* %n.addr, align 8 + %tobool31 = icmp ne i64 %22, 0 + br i1 %tobool31, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %23 = load i64, i64* %n.addr, align 8 + %dec32 = add i64 %23, -1 + store i64 %dec32, i64* %n.addr, align 8 + %24 = load i8*, i8** %s, align 8 + %25 = load i8, i8* %24, align 1 + %conv33 = sext i8 %25 to i32 + %and = and i32 %conv33, 192 + %cmp34 = icmp ne i32 %and, 128 + br i1 %cmp34, label %BAD, label %if.end37 + +if.end37: ; preds = %while.body + %26 = load i32, i32* %mask, align 4 + %shl = shl i32 %26, 5 + store i32 %shl, i32* %mask, align 4 + %27 = load i32, i32* %wc, align 4 + %shl38 = shl i32 %27, 6 + store i32 %shl38, i32* %wc, align 4 + %28 = load i8*, i8** %s, align 8 + %29 = load i8, i8* %28, align 1 + %conv39 = sext i8 %29 to i32 + %and40 = and i32 %conv39, 63 + %30 = load i32, i32* %wc, align 4 + %add = add i32 %30, %and40 + store i32 %add, i32* %wc, align 4 + %31 = load i8*, i8** %s, align 8 + %incdec.ptr41 = getelementptr inbounds i8, i8* %31, i32 1 + store i8* %incdec.ptr41, i8** %s, align 8 + br label %START + +START: ; preds = %if.then21, %if.end37 + %32 = load i32, i32* %mask, align 4 + %shl42 = shl i32 %32, 1 + %neg = xor i32 %shl42, -1 + %33 = load i32, i32* %wc, align 4 + %and43 = and i32 %33, %neg + store i32 %and43, i32* %wc, align 4 + %34 = load i32, i32* %wc, align 4 + %35 = load i32, i32* %mask, align 4 + %and44 = and i32 %34, %35 + %cmp45 = icmp eq i32 %and44, 0 + br i1 %cmp45, label %if.then47, label %while.cond + +if.then47: ; preds = %START + %36 = load i32, i32* %mask, align 4 + %shr = lshr i32 %36, 5 + store i32 %shr, i32* %mask, align 4 + %cmp48 = icmp eq i32 %shr, 64 + br i1 %cmp48, label %if.then50, label %if.end52 + +if.then50: ; preds = %if.then47 + %37 = load i32, i32* %mask, align 4 + %38 = load i32, i32* %mask, align 4 + %add51 = add i32 %38, %37 + store i32 %add51, i32* %mask, align 4 + br label %if.end52 + +if.end52: ; preds = %if.then50, %if.then47 + %39 = load i32, i32* %wc, align 4 + %40 = load i32, i32* %mask, align 4 + %cmp53 = icmp ult i32 %39, %40 + br i1 %cmp53, label %BAD, label %lor.lhs.false55 + +lor.lhs.false55: ; preds = %if.end52 + %41 = load i32, i32* %wc, align 4 + %sub56 = sub i32 %41, 65534 + %cmp57 = icmp ult i32 %sub56, 2 + br i1 %cmp57, label %BAD, label %lor.lhs.false59 + +lor.lhs.false59: ; preds = %lor.lhs.false55 + %42 = load i32, i32* %wc, align 4 + %sub60 = sub i32 %42, 55296 + %cmp61 = icmp ult i32 %sub60, 2048 + br i1 %cmp61, label %BAD, label %COMPLETE + +while.end: ; preds = %while.cond + %43 = load i32, i32* %allow_continuation.addr, align 4 + %tobool66 = icmp ne i32 %43, 0 + br i1 %tobool66, label %if.end77, label %if.then67 + +if.then67: ; preds = %while.end + %44 = load i64, i64* %count, align 8 + %45 = load i64, i64* %wn.addr, align 8 + %cmp68 = icmp ne i64 %44, %45 + br i1 %cmp68, label %if.then70, label %do.body72 + +if.then70: ; preds = %if.then67 + store i64 0, i64* %retval, align 8 + br label %return + +do.body72: ; preds = %if.then67, %do.body72 + %46 = load i8*, i8** %s, align 8 + %incdec.ptr73 = getelementptr inbounds i8, i8* %46, i32 -1 + store i8* %incdec.ptr73, i8** %s, align 8 + %47 = load i32, i32* %mask, align 4 + %shr74 = lshr i32 %47, 5 + store i32 %shr74, i32* %mask, align 4 + %cmp75 = icmp uge i32 %shr74, 64 + br i1 %cmp75, label %do.body72, label %DONE + +if.end77: ; preds = %while.end + %48 = load i32, i32* %mask, align 4 + %49 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask78 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %49, i32 0, i32 0 + store i32 %48, i32* %__mask78, align 4 + %50 = load i32, i32* %wc, align 4 + %51 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc79 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %51, i32 0, i32 1 + store i32 %50, i32* %__wc79, align 4 + %52 = load i8*, i8** %s, align 8 + %53 = load i8**, i8*** %src.addr, align 8 + store i8* %52, i8** %53, align 8 + store i64 -2, i64* %retval, align 8 + br label %return + +COMPLETE: ; preds = %if.end18, %lor.lhs.false59 + %54 = load i32, i32* %wc, align 4 + %55 = load i32*, i32** %pwc.addr, align 8 + store i32 %54, i32* %55, align 4 + %56 = load i32, i32* %incr, align 4 + %57 = load i32*, i32** %pwc.addr, align 8 + %idx.ext = sext i32 %56 to i64 + %add.ptr = getelementptr inbounds i32, i32* %57, i64 %idx.ext + store i32* %add.ptr, i32** %pwc.addr, align 8 + %58 = load i32, i32* %wc, align 4 + %tobool82 = icmp ne i32 %58, 0 + br i1 %tobool82, label %land.rhs, label %do.end85 + +land.rhs: ; preds = %COMPLETE + %59 = load i64, i64* %count, align 8 + %dec83 = add i64 %59, -1 + store i64 %dec83, i64* %count, align 8 + %tobool84 = icmp ne i64 %dec83, 0 + br i1 %tobool84, label %do.body, label %do.end85 + +do.end85: ; preds = %COMPLETE, %land.rhs + %60 = load i32, i32* %wc, align 4 + %tobool86 = icmp ne i32 %60, 0 + br i1 %tobool86, label %DONE, label %if.then87 + +if.then87: ; preds = %do.end85 + store i8* null, i8** %s, align 8 + br label %DONE + +DONE: ; preds = %do.end85, %if.then87, %do.body72, %do.body, %if.then10 + %61 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask89 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %61, i32 0, i32 0 + store i32 0, i32* %__mask89, align 4 + %62 = load i32*, i32** %pwc.addr, align 8 + %arraydecay90 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %cmp91 = icmp ne i32* %62, %arraydecay90 + br i1 %cmp91, label %if.then93, label %if.end94 + +if.then93: ; preds = %DONE + %63 = load i8*, i8** %s, align 8 + %64 = load i8**, i8*** %src.addr, align 8 + store i8* %63, i8** %64, align 8 + br label %if.end94 + +if.end94: ; preds = %if.then93, %DONE + %65 = load i64, i64* %wn.addr, align 8 + %66 = load i64, i64* %count, align 8 + %sub95 = sub i64 %65, %66 + store i64 %sub95, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end94, %if.end77, %if.then70, %BAD, %if.end14, %if.then5 + %67 = load i64, i64* %retval, align 8 + ret i64 %67 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @mbrtowc(i32* noalias %pwc, i8* noalias %s, i64 %n, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %retval = alloca i64, align 8 + %pwc.addr = alloca i32*, align 8 + %s.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %wcbuf = alloca [1 x i32], align 4 + %p = alloca i8*, align 8 + %r = alloca i64, align 8 + %empty_string = alloca [1 x i8], align 1 + store i32* %pwc, i32** %pwc.addr, align 8 + store i8* %s, i8** %s.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %tobool = icmp ne %struct.__mbstate_t.512* %0, null + %spec.store.select = select i1 %tobool, %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512* @mbrtowc.mbstate + store %struct.__mbstate_t.512* %spec.store.select, %struct.__mbstate_t.512** %ps.addr, align 8 + %1 = load i8*, i8** %s.addr, align 8 + %tobool1 = icmp ne i8* %1, null + br i1 %tobool1, label %if.else, label %if.then2 + +if.then2: ; preds = %entry + %2 = load i8*, i8** %s.addr, align 8 + %3 = bitcast i8* %2 to i32* + store i32* %3, i32** %pwc.addr, align 8 + %arrayidx = getelementptr inbounds [1 x i8], [1 x i8]* %empty_string, i64 0, i64 0 + store i8 0, i8* %arrayidx, align 1 + %arraydecay = getelementptr inbounds [1 x i8], [1 x i8]* %empty_string, i64 0, i64 0 + store i8* %arraydecay, i8** %s.addr, align 8 + store i64 1, i64* %n.addr, align 8 + br label %if.end7 + +if.else: ; preds = %entry + %4 = load i64, i64* %n.addr, align 8 + %tobool3 = icmp ne i64 %4, 0 + br i1 %tobool3, label %if.end7, label %if.then4 + +if.then4: ; preds = %if.else + %5 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %5, i32 0, i32 0 + %6 = load i32, i32* %__mask, align 4 + %tobool5 = icmp ne i32 %6, 0 + br i1 %tobool5, label %land.rhs, label %land.end + +land.rhs: ; preds = %if.then4 + %7 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %7, i32 0, i32 1 + %8 = load i32, i32* %__wc, align 4 + %cmp = icmp eq i32 %8, 65535 + br label %land.end + +land.end: ; preds = %land.rhs, %if.then4 + %9 = phi i1 [ false, %if.then4 ], [ %cmp, %land.rhs ] + %10 = zext i1 %9 to i64 + %cond = select i1 %9, i64 -1, i64 -2 + store i64 %cond, i64* %retval, align 8 + br label %return + +if.end7: ; preds = %if.else, %if.then2 + %11 = load i8*, i8** %s.addr, align 8 + store i8* %11, i8** %p, align 8 + %12 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %12, i32 0, i32 9 + %13 = load i8, i8* %encoding, align 8 + %conv = zext i8 %13 to i32 + %cmp8 = icmp eq i32 %conv, 1 + br i1 %cmp8, label %if.then10, label %if.end18 + +if.then10: ; preds = %if.end7 + %14 = load i32*, i32** %pwc.addr, align 8 + %tobool11 = icmp ne i32* %14, null + br i1 %tobool11, label %if.end14, label %if.then12 + +if.then12: ; preds = %if.then10 + %arraydecay13 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay13, i32** %pwc.addr, align 8 + br label %if.end14 + +if.end14: ; preds = %if.then12, %if.then10 + %15 = load i32*, i32** %pwc.addr, align 8 + %16 = load i64, i64* %n.addr, align 8 + %17 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @_wchar_utf8sntowcs(i32* %15, i64 1, i8** %p, i64 %16, %struct.__mbstate_t.512* %17, i32 1) #18 + store i64 %call, i64* %r, align 8 + %18 = load i64, i64* %r, align 8 + %cmp15 = icmp eq i64 %18, 1 + %19 = load i8*, i8** %p, align 8 + %20 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %20 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %21 = load i64, i64* %r, align 8 + %cond17 = select i1 %cmp15, i64 %sub.ptr.sub, i64 %21 + store i64 %cond17, i64* %retval, align 8 + br label %return + +if.end18: ; preds = %if.end7 + %arraydecay19 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %22 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call20 = call i64 @mbsnrtowcs(i32* %arraydecay19, i8** %p, i64 -1, i64 1, %struct.__mbstate_t.512* %22) #19 + store i64 %call20, i64* %r, align 8 + %23 = load i64, i64* %r, align 8 + %cmp21 = icmp sge i64 %23, 0 + %24 = load i32*, i32** %pwc.addr, align 8 + %tobool24 = icmp ne i32* %24, null + %or.cond = and i1 %cmp21, %tobool24 + br i1 %or.cond, label %if.then25, label %if.end28 + +if.then25: ; preds = %if.end18 + %arraydecay26 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %25 = load i32, i32* %arraydecay26, align 4 + %26 = load i32*, i32** %pwc.addr, align 8 + store i32 %25, i32* %26, align 4 + br label %if.end28 + +if.end28: ; preds = %if.then25, %if.end18 + %27 = load i64, i64* %r, align 8 + store i64 %27, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end28, %if.end14, %land.end + %28 = load i64, i64* %retval, align 8 + ret i64 %28 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @mbsinit(%struct.__mbstate_t.512* %ps) #14 { +entry: + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %tobool = icmp ne %struct.__mbstate_t.512* %0, null + br i1 %tobool, label %lor.rhs, label %lor.end + +lor.rhs: ; preds = %entry + %1 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %1, i32 0, i32 0 + %2 = load i32, i32* %__mask, align 4 + %tobool1 = icmp ne i32 %2, 0 + %lnot = xor i1 %tobool1, true + br label %lor.end + +lor.end: ; preds = %lor.rhs, %entry + %3 = phi i1 [ true, %entry ], [ %lnot, %lor.rhs ] + %lor.ext = zext i1 %3 to i32 + ret i32 %lor.ext +} + +; Function Attrs: noinline nounwind uwtable +define i32 @iswprint(i32 %wc) #0 { +entry: + %wc.addr = alloca i32, align 4 + store i32 %wc, i32* %wc.addr, align 4 + %0 = load i32, i32* %wc.addr, align 4 + %call = call i32 @iswctype(i32 %0, i32 8) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.568* %stream, i8* %buf, i64 %bufsize) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %rv = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + store i64 0, i64* %rv, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 4 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end18, label %if.then + +if.then: ; preds = %entry + %2 = load i64, i64* %bufsize.addr, align 8 + %cmp = icmp ugt i64 %2, 9223372036854775807 + br i1 %cmp, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + store i64 9223372036854775807, i64* %bufsize.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 2 + %4 = load i32, i32* %__filedes, align 4 + %5 = load i8*, i8** %buf.addr, align 8 + %6 = load i64, i64* %bufsize.addr, align 8 + %call = call i64 @read(i32 %4, i8* %5, i64 %6) #18 + store i64 %call, i64* %rv, align 8 + %cmp3 = icmp sle i64 %call, 0 + br i1 %cmp3, label %if.then5, label %if.end18 + +if.then5: ; preds = %if.end + %7 = load i64, i64* %rv, align 8 + %cmp6 = icmp eq i64 %7, 0 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags9 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags9, align 8 + %conv10 = zext i16 %9 to i32 + br i1 %cmp6, label %if.then8, label %if.else + +if.then8: ; preds = %if.then5 + %or = or i32 %conv10, 4 + %conv11 = trunc i32 %or to i16 + store i16 %conv11, i16* %__modeflags9, align 8 + br label %if.end18 + +if.else: ; preds = %if.then5 + %or14 = or i32 %conv10, 8 + %conv15 = trunc i32 %or14 to i16 + store i16 %conv15, i16* %__modeflags9, align 8 + store i64 0, i64* %rv, align 8 + br label %if.end18 + +if.end18: ; preds = %if.end, %if.else, %if.then8, %entry + %10 = load i64, i64* %rv, align 8 + ret i64 %10 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %stream, i8* %buf, i64 %bufsize) #0 { +entry: + %retval = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %todo = alloca i64, align 8 + %rv = alloca i64, align 8 + %stodo = alloca i64, align 8 + %s = alloca i8*, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i64, i64* %bufsize.addr, align 8 + store i64 %0, i64* %todo, align 8 + br label %do.body + +do.body: ; preds = %if.then3, %entry + %1 = load i64, i64* %todo, align 8 + %cmp = icmp eq i64 %1, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %do.body + %2 = load i64, i64* %bufsize.addr, align 8 + store i64 %2, i64* %retval, align 8 + br label %do.end32 + +if.end: ; preds = %do.body + %3 = load i64, i64* %todo, align 8 + %cmp1 = icmp ule i64 %3, 9223372036854775807 + %4 = load i64, i64* %todo, align 8 + %cond = select i1 %cmp1, i64 %4, i64 9223372036854775807 + store i64 %cond, i64* %stodo, align 8 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 2 + %6 = load i32, i32* %__filedes, align 4 + %7 = load i8*, i8** %buf.addr, align 8 + %8 = load i64, i64* %stodo, align 8 + %call = call i64 @write(i32 %6, i8* %7, i64 %8) #18 + store i64 %call, i64* %rv, align 8 + %cmp2 = icmp sge i64 %call, 0 + br i1 %cmp2, label %if.then3, label %if.else + +if.then3: ; preds = %if.end + %9 = load i64, i64* %rv, align 8 + %10 = load i64, i64* %todo, align 8 + %sub = sub i64 %10, %9 + store i64 %sub, i64* %todo, align 8 + %11 = load i64, i64* %rv, align 8 + %12 = load i8*, i8** %buf.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %12, i64 %11 + store i8* %add.ptr, i8** %buf.addr, align 8 + br label %do.body + +if.else: ; preds = %if.end + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 0 + %14 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %14 to i32 + %or = or i32 %conv, 8 + %conv4 = trunc i32 %or to i16 + store i16 %conv4, i16* %__modeflags, align 8 + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 4 + %16 = load i8*, i8** %__bufend, align 8 + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 3 + %18 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %16 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %18 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %stodo, align 8 + %cmp5 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %cmp5, label %if.then7, label %if.end28 + +if.then7: ; preds = %if.else + %19 = load i64, i64* %stodo, align 8 + %20 = load i64, i64* %todo, align 8 + %cmp8 = icmp ugt i64 %19, %20 + br i1 %cmp8, label %if.then10, label %if.end11 + +if.then10: ; preds = %if.then7 + %21 = load i64, i64* %todo, align 8 + store i64 %21, i64* %stodo, align 8 + br label %if.end11 + +if.end11: ; preds = %if.then10, %if.then7 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart12 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 3 + %23 = load i8*, i8** %__bufstart12, align 8 + store i8* %23, i8** %s, align 8 + br label %do.body13 + +do.body13: ; preds = %if.end20, %if.end11 + %24 = load i8*, i8** %buf.addr, align 8 + %25 = load i8, i8* %24, align 1 + %26 = load i8*, i8** %s, align 8 + store i8 %25, i8* %26, align 1 + %conv14 = zext i8 %25 to i32 + %cmp15 = icmp eq i32 %conv14, 10 + br i1 %cmp15, label %land.lhs.true, label %if.end20 + +land.lhs.true: ; preds = %do.body13 + %27 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %27, i32 0, i32 0 + %28 = load i16, i16* %__modeflags17, align 8 + %conv18 = zext i16 %28 to i32 + %and = and i32 %conv18, 256 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %do.end, label %if.end20 + +if.end20: ; preds = %land.lhs.true, %do.body13 + %29 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %29, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %30 = load i8*, i8** %buf.addr, align 8 + %incdec.ptr21 = getelementptr inbounds i8, i8* %30, i32 1 + store i8* %incdec.ptr21, i8** %buf.addr, align 8 + %31 = load i64, i64* %stodo, align 8 + %dec = add nsw i64 %31, -1 + store i64 %dec, i64* %stodo, align 8 + %tobool22 = icmp ne i64 %dec, 0 + br i1 %tobool22, label %do.body13, label %do.end + +do.end: ; preds = %land.lhs.true, %if.end20 + %32 = load i8*, i8** %s, align 8 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %33, i32 0, i32 5 + store i8* %32, i8** %__bufpos, align 8 + %34 = load i8*, i8** %s, align 8 + %35 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart23 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %35, i32 0, i32 3 + %36 = load i8*, i8** %__bufstart23, align 8 + %sub.ptr.lhs.cast24 = ptrtoint i8* %34 to i64 + %sub.ptr.rhs.cast25 = ptrtoint i8* %36 to i64 + %sub.ptr.sub26 = sub i64 %sub.ptr.lhs.cast24, %sub.ptr.rhs.cast25 + %37 = load i64, i64* %todo, align 8 + %sub27 = sub i64 %37, %sub.ptr.sub26 + store i64 %sub27, i64* %todo, align 8 + br label %if.end28 + +if.end28: ; preds = %do.end, %if.else + %38 = load i64, i64* %bufsize.addr, align 8 + %39 = load i64, i64* %todo, align 8 + %sub29 = sub i64 %38, %39 + store i64 %sub29, i64* %retval, align 8 + br label %do.end32 + +do.end32: ; preds = %if.then, %if.end28 + %40 = load i64, i64* %retval, align 8 + ret i64 %40 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__freading(%struct.__STDIO_FILE_STRUCT.519* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.519*, align 8 + store %struct.__STDIO_FILE_STRUCT.519* %stream, %struct.__STDIO_FILE_STRUCT.519** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.519*, %struct.__STDIO_FILE_STRUCT.519** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.519, %struct.__STDIO_FILE_STRUCT.519* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 35 + ret i32 %and +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_rfill(%struct.__STDIO_FILE_STRUCT.568* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %rv = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %1, i32 0, i32 3 + %2 = load i8*, i8** %__bufstart, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 4 + %4 = load i8*, i8** %__bufend, align 8 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 3 + %6 = load i8*, i8** %__bufstart1, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %4 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %6 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %call = call i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.568* %0, i8* %2, i64 %sub.ptr.sub) #18 + store i64 %call, i64* %rv, align 8 + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %7, i32 0, i32 3 + %8 = load i8*, i8** %__bufstart2, align 8 + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %9, i32 0, i32 5 + store i8* %8, i8** %__bufpos, align 8 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart3 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 3 + %11 = load i8*, i8** %__bufstart3, align 8 + %12 = load i64, i64* %rv, align 8 + %add.ptr = getelementptr inbounds i8, i8* %11, i64 %12 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 6 + store i8* %add.ptr, i8** %__bufread, align 8 + %14 = load i64, i64* %rv, align 8 + ret i64 %14 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_trans2r_o(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %oflag) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %oflag.addr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %oflag, i32* %oflag.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %2 = load i32, i32* %oflag.addr, align 4 + %and = and i32 %conv, %2 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end9, label %if.then + +if.then: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 0 + %4 = load i16, i16* %__modeflags1, align 8 + %conv2 = zext i16 %4 to i32 + %and3 = and i32 %conv2, 2176 + %tobool4 = icmp ne i32 %and3, 0 + br i1 %tobool4, label %DO_EBADF, label %if.end + +if.end: ; preds = %if.then + %5 = load i32, i32* %oflag.addr, align 4 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 0 + %7 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %7 to i32 + %or = or i32 %conv7, %5 + %conv8 = trunc i32 %or to i16 + store i16 %conv8, i16* %__modeflags6, align 8 + br label %if.end9 + +if.end9: ; preds = %if.end, %entry + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags10, align 8 + %conv11 = zext i16 %9 to i32 + %and12 = and i32 %conv11, 16 + %tobool13 = icmp ne i32 %and12, 0 + br i1 %tobool13, label %DO_EBADF, label %if.end19 + +DO_EBADF: ; preds = %if.end9, %if.then + store i32 9, i32* @errno, align 4 + br label %ERROR + +ERROR: ; preds = %if.then24, %DO_EBADF + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags15 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 0 + %11 = load i16, i16* %__modeflags15, align 8 + %conv16 = zext i16 %11 to i32 + %or17 = or i32 %conv16, 8 + %conv18 = trunc i32 %or17 to i16 + store i16 %conv18, i16* %__modeflags15, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end19: ; preds = %if.end9 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags20 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags20, align 8 + %conv21 = zext i16 %13 to i32 + %and22 = and i32 %conv21, 64 + %tobool23 = icmp ne i32 %and22, 0 + br i1 %tobool23, label %if.then24, label %if.end32 + +if.then24: ; preds = %if.end19 + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %14) #18 + %tobool25 = icmp ne i64 %call, 0 + br i1 %tobool25, label %ERROR, label %if.end27 + +if.end27: ; preds = %if.then24 + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 3 + %16 = load i8*, i8** %__bufstart, align 8 + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 8 + store i8* %16, i8** %__bufputc_u, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags28 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 0 + %19 = load i16, i16* %__modeflags28, align 8 + %conv29 = zext i16 %19 to i32 + %and30 = and i32 %conv29, -65 + %conv31 = trunc i32 %and30 to i16 + store i16 %conv31, i16* %__modeflags28, align 8 + br label %if.end32 + +if.end32: ; preds = %if.end27, %if.end19 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags33 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 0 + %21 = load i16, i16* %__modeflags33, align 8 + %conv34 = zext i16 %21 to i32 + %or35 = or i32 %conv34, 1 + %conv36 = trunc i32 %or35 to i16 + store i16 %conv36, i16* %__modeflags33, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end32, %ERROR + %22 = load i32, i32* %retval, align 4 + ret i32 %22 +} + +; Function Attrs: noinline nounwind uwtable +define void @clearerr_unlocked(%struct.__STDIO_FILE_STRUCT.581* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.581*, align 8 + store %struct.__STDIO_FILE_STRUCT.581* %stream, %struct.__STDIO_FILE_STRUCT.581** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.581*, %struct.__STDIO_FILE_STRUCT.581** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.581, %struct.__STDIO_FILE_STRUCT.581* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, -13 + %conv1 = trunc i32 %and to i16 + store i16 %conv1, i16* %__modeflags, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fclose(%struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %rv = alloca i32, align 4 + %ptr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 0, i32* %rv, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %0, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %1, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp = icmp eq %struct.__STDIO_FILE_STRUCT.568* %1, %2 + br i1 %cmp, label %if.then, label %while.cond + +if.then: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 9 + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %4, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + br label %if.end7 + +while.cond: ; preds = %entry, %if.end + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %5, null + br i1 %tobool, label %while.body, label %if.end7 + +while.body: ; preds = %while.cond + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 9 + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen1, align 8 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp2 = icmp eq %struct.__STDIO_FILE_STRUCT.568* %7, %8 + br i1 %cmp2, label %if.then3, label %if.end + +if.then3: ; preds = %while.body + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen4 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %9, i32 0, i32 9 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen4, align 8 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen5 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 9 + store %struct.__STDIO_FILE_STRUCT.568* %10, %struct.__STDIO_FILE_STRUCT.568** %__nextopen5, align 8 + br label %if.end7 + +if.end: ; preds = %while.body + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 9 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen6, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %13, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + br label %while.cond + +if.end7: ; preds = %while.cond, %if.then3, %if.then + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %14, i32 0, i32 0 + %15 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %15 to i32 + %and = and i32 %conv, 64 + %tobool8 = icmp ne i32 %and, 0 + br i1 %tobool8, label %if.then9, label %if.end10 + +if.then9: ; preds = %if.end7 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.568* %16) #18 + store i32 %call, i32* %rv, align 4 + br label %if.end10 + +if.end10: ; preds = %if.then9, %if.end7 + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 2 + %18 = load i32, i32* %__filedes, align 4 + %call11 = call i32 @close(i32 %18) #18 + %cmp12 = icmp slt i32 %call11, 0 + br i1 %cmp12, label %if.then14, label %if.end15 + +if.then14: ; preds = %if.end10 + store i32 -1, i32* %rv, align 4 + br label %if.end15 + +if.end15: ; preds = %if.then14, %if.end10 + %19 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes16 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %19, i32 0, i32 2 + store i32 -1, i32* %__filedes16, align 4 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 0 + %21 = load i16, i16* %__modeflags17, align 8 + %conv18 = zext i16 %21 to i32 + %and19 = and i32 %conv18, 24576 + %conv20 = trunc i32 %and19 to i16 + store i16 %conv20, i16* %__modeflags17, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags21 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 0 + %23 = load i16, i16* %__modeflags21, align 8 + %conv22 = zext i16 %23 to i32 + %or = or i32 %conv22, 48 + %conv23 = trunc i32 %or to i16 + store i16 %conv23, i16* %__modeflags21, align 8 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags24 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 0 + %25 = load i16, i16* %__modeflags24, align 8 + %conv25 = zext i16 %25 to i32 + %and26 = and i32 %conv25, 16384 + %tobool27 = icmp ne i32 %and26, 0 + br i1 %tobool27, label %if.then28, label %do.body30 + +if.then28: ; preds = %if.end15 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 3 + %27 = load i8*, i8** %__bufstart, align 8 + call void @free(i8* %27) #19 + br label %do.body30 + +do.body30: ; preds = %if.then28, %if.end15 + %28 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags31 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %28, i32 0, i32 0 + %29 = load i16, i16* %__modeflags31, align 8 + %conv32 = zext i16 %29 to i32 + %and33 = and i32 %conv32, 8192 + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %if.then35, label %do.end37 + +if.then35: ; preds = %do.body30 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %31 = bitcast %struct.__STDIO_FILE_STRUCT.568* %30 to i8* + call void @free(i8* %31) #19 + br label %do.end37 + +do.end37: ; preds = %do.body30, %if.then35 + %32 = load i32, i32* %rv, align 4 + ret i32 %32 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @ferror_unlocked(%struct.__STDIO_FILE_STRUCT.592* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.592*, align 8 + store %struct.__STDIO_FILE_STRUCT.592* %stream, %struct.__STDIO_FILE_STRUCT.592** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.592*, %struct.__STDIO_FILE_STRUCT.592** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.592, %struct.__STDIO_FILE_STRUCT.592* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 8 + ret i32 %and +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %retval1 = alloca i32, align 4 + %bufmask = alloca i16, align 2 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 0, i32* %retval1, align 4 + store i16 256, i16* %bufmask, align 2 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp = icmp eq %struct.__STDIO_FILE_STRUCT.568* %0, bitcast (%struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist to %struct.__STDIO_FILE_STRUCT.568*) + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store %struct.__STDIO_FILE_STRUCT.568* null, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i16 0, i16* %bufmask, align 2 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %1, null + br i1 %tobool, label %if.else21, label %if.then2 + +if.then2: ; preds = %if.end + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %2, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end20, %if.then2 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %tobool3 = icmp ne %struct.__STDIO_FILE_STRUCT.568* %3, null + br i1 %tobool3, label %while.body, label %if.end39 + +while.body: ; preds = %while.cond + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 0 + %5 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %5 to i32 + %and = and i32 %conv, 64 + %tobool4 = icmp ne i32 %and, 0 + br i1 %tobool4, label %if.then5, label %if.end20 + +if.then5: ; preds = %while.body + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 0 + %7 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %7 to i32 + %8 = load i16, i16* %bufmask, align 2 + %conv8 = zext i16 %8 to i32 + %or = or i32 %conv7, %conv8 + %xor = xor i32 %or, 320 + %and9 = and i32 %xor, 832 + %tobool10 = icmp ne i32 %and9, 0 + br i1 %tobool10, label %if.end20, label %if.then11 + +if.then11: ; preds = %if.then5 + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %9) #18 + %tobool12 = icmp ne i64 %call, 0 + br i1 %tobool12, label %if.else, label %if.then13 + +if.then13: ; preds = %if.then11 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 3 + %11 = load i8*, i8** %__bufstart, align 8 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 8 + store i8* %11, i8** %__bufputc_u, align 8 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags14 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 0 + %14 = load i16, i16* %__modeflags14, align 8 + %conv15 = zext i16 %14 to i32 + %and16 = and i32 %conv15, -65 + %conv17 = trunc i32 %and16 to i16 + store i16 %conv17, i16* %__modeflags14, align 8 + br label %if.end20 + +if.else: ; preds = %if.then11 + store i32 -1, i32* %retval1, align 4 + br label %if.end20 + +if.end20: ; preds = %if.then5, %if.else, %if.then13, %while.body + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 9 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %16, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br label %while.cond + +if.else21: ; preds = %if.end + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags22 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 0 + %18 = load i16, i16* %__modeflags22, align 8 + %conv23 = zext i16 %18 to i32 + %and24 = and i32 %conv23, 64 + %tobool25 = icmp ne i32 %and24, 0 + br i1 %tobool25, label %if.then26, label %if.end39 + +if.then26: ; preds = %if.else21 + %19 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call27 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %19) #18 + %tobool28 = icmp ne i64 %call27, 0 + br i1 %tobool28, label %if.else36, label %if.then29 + +if.then29: ; preds = %if.then26 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart30 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 3 + %21 = load i8*, i8** %__bufstart30, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u31 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 8 + store i8* %21, i8** %__bufputc_u31, align 8 + %23 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags32 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %23, i32 0, i32 0 + %24 = load i16, i16* %__modeflags32, align 8 + %conv33 = zext i16 %24 to i32 + %and34 = and i32 %conv33, -65 + %conv35 = trunc i32 %and34 to i16 + store i16 %conv35, i16* %__modeflags32, align 8 + br label %if.end39 + +if.else36: ; preds = %if.then26 + store i32 -1, i32* %retval1, align 4 + br label %if.end39 + +if.end39: ; preds = %if.else21, %if.else36, %if.then29, %while.cond + %25 = load i32, i32* %retval1, align 4 + ret i32 %25 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fileno_unlocked(%struct.__STDIO_FILE_STRUCT.608* %stream) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.608*, align 8 + store %struct.__STDIO_FILE_STRUCT.608* %stream, %struct.__STDIO_FILE_STRUCT.608** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.608*, %struct.__STDIO_FILE_STRUCT.608** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.608, %struct.__STDIO_FILE_STRUCT.608* %0, i32 0, i32 2 + %1 = load i32, i32* %__filedes, align 4 + %cmp = icmp sge i32 %1, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.608*, %struct.__STDIO_FILE_STRUCT.608** %stream.addr, align 8 + %__filedes1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.608, %struct.__STDIO_FILE_STRUCT.608* %2, i32 0, i32 2 + %3 = load i32, i32* %__filedes1, align 4 + store i32 %3, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + store i32 9, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.__STDIO_FILE_STRUCT.612* @fopen(i8* noalias %filename, i8* noalias %mode) #0 { +entry: + %filename.addr = alloca i8*, align 8 + %mode.addr = alloca i8*, align 8 + store i8* %filename, i8** %filename.addr, align 8 + store i8* %mode, i8** %mode.addr, align 8 + %0 = load i8*, i8** %filename.addr, align 8 + %1 = ptrtoint i8* %0 to i64 + %2 = load i8*, i8** %mode.addr, align 8 + %call = call %struct.__STDIO_FILE_STRUCT.612* bitcast (%struct.__STDIO_FILE_STRUCT.568* (i64, i8*, %struct.__STDIO_FILE_STRUCT.568*, i32)* @_stdio_fopen to %struct.__STDIO_FILE_STRUCT.612* (i64, i8*, %struct.__STDIO_FILE_STRUCT.612*, i32)*)(i64 %1, i8* %2, %struct.__STDIO_FILE_STRUCT.612* null, i32 -1) #18 + ret %struct.__STDIO_FILE_STRUCT.612* %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fprintf(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i8* noalias %format, ...) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %format.addr = alloca i8*, align 8 + %arg = alloca [1 x %struct.__va_list_tag.0], align 16 + %rv = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdout, align 8 + %cmp = icmp eq %struct.__STDIO_FILE_STRUCT.568* %0, %1 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %cmp2 = icmp eq %struct.__STDIO_FILE_STRUCT.568* %2, %3 + br i1 %cmp2, label %if.then, label %if.else + +if.then: ; preds = %lor.lhs.false, %entry + %4 = load i8*, i8** %format.addr, align 8 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %call = call i32 @vprintf(i8* %4, %struct.__va_list_tag.0* %arraydecay3) #18 + store i32 %call, i32* %rv, align 4 + br label %if.end + +if.else: ; preds = %lor.lhs.false + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %6 = load i8*, i8** %format.addr, align 8 + %arraydecay4 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %call5 = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %5, i8* %6, %struct.__va_list_tag.0* %arraydecay4) #18 + store i32 %call5, i32* %rv, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %arraydecay6 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay67 = bitcast %struct.__va_list_tag.0* %arraydecay6 to i8* + call void @llvm.va_end(i8* %arraydecay67) + %7 = load i32, i32* %rv, align 4 + ret i32 %7 +} + +declare i32 @vprintf(i8*, %struct.__va_list_tag.0*) #17 + +; Function Attrs: noinline nounwind uwtable +define i32 @__fputc_unlocked(i32 %c, %struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %retval = alloca i32, align 4 + %c.addr = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %uc = alloca i8, align 1 + store i32 %c, i32* %c.addr, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 5 + %1 = load i8*, i8** %__bufpos, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 8 + %3 = load i8*, i8** %__bufputc_u, align 8 + %cmp = icmp ult i8* %1, %3 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %4 = load i32, i32* %c.addr, align 4 + %conv = trunc i32 %4 to i8 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 5 + %6 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + store i8 %conv, i8* %6, align 1 + %7 = load i32, i32* %c.addr, align 4 + %conv2 = trunc i32 %7 to i8 + %conv3 = zext i8 %conv2 to i32 + store i32 %conv3, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags, align 8 + %conv4 = zext i16 %9 to i32 + %and = and i32 %conv4, 192 + %cmp5 = icmp eq i32 %and, 192 + br i1 %cmp5, label %if.then7, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* %10, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %BAD, label %if.then7 + +if.then7: ; preds = %lor.lhs.false, %if.end + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 2 + %12 = load i32, i32* %__filedes, align 4 + %cmp8 = icmp eq i32 %12, -2 + br i1 %cmp8, label %if.then10, label %if.end13 + +if.then10: ; preds = %if.then7 + %13 = load i32, i32* %c.addr, align 4 + %conv11 = trunc i32 %13 to i8 + %conv12 = zext i8 %conv11 to i32 + store i32 %conv12, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.then7 + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %14, i32 0, i32 4 + %15 = load i8*, i8** %__bufend, align 8 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %16, i32 0, i32 3 + %17 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %15 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %17 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool14 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %tobool14, label %if.then15, label %if.else + +if.then15: ; preds = %if.end13 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend16 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 4 + %19 = load i8*, i8** %__bufend16, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 5 + %21 = load i8*, i8** %__bufpos17, align 8 + %sub.ptr.lhs.cast18 = ptrtoint i8* %19 to i64 + %sub.ptr.rhs.cast19 = ptrtoint i8* %21 to i64 + %sub.ptr.sub20 = sub i64 %sub.ptr.lhs.cast18, %sub.ptr.rhs.cast19 + %tobool21 = icmp ne i64 %sub.ptr.sub20, 0 + br i1 %tobool21, label %if.end25, label %land.lhs.true + +land.lhs.true: ; preds = %if.then15 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call22 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %22) #18 + %tobool23 = icmp ne i64 %call22, 0 + br i1 %tobool23, label %BAD, label %if.end25 + +if.end25: ; preds = %land.lhs.true, %if.then15 + %23 = load i32, i32* %c.addr, align 4 + %conv26 = trunc i32 %23 to i8 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos27 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 5 + %25 = load i8*, i8** %__bufpos27, align 8 + %incdec.ptr28 = getelementptr inbounds i8, i8* %25, i32 1 + store i8* %incdec.ptr28, i8** %__bufpos27, align 8 + store i8 %conv26, i8* %25, align 1 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags29 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 0 + %27 = load i16, i16* %__modeflags29, align 8 + %conv30 = zext i16 %27 to i32 + %and31 = and i32 %conv30, 256 + %tobool32 = icmp ne i32 %and31, 0 + br i1 %tobool32, label %if.then33, label %if.end51 + +if.then33: ; preds = %if.end25 + %28 = load i32, i32* %c.addr, align 4 + %conv34 = trunc i32 %28 to i8 + %conv35 = zext i8 %conv34 to i32 + %cmp36 = icmp eq i32 %conv35, 10 + br i1 %cmp36, label %land.lhs.true38, label %if.end51 + +land.lhs.true38: ; preds = %if.then33 + %29 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call39 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %29) #18 + %tobool40 = icmp ne i64 %call39, 0 + br i1 %tobool40, label %if.then41, label %if.end51 + +if.then41: ; preds = %land.lhs.true38 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos42 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %30, i32 0, i32 5 + %31 = load i8*, i8** %__bufpos42, align 8 + %incdec.ptr43 = getelementptr inbounds i8, i8* %31, i32 -1 + store i8* %incdec.ptr43, i8** %__bufpos42, align 8 + br label %BAD + +if.else: ; preds = %if.end13 + %32 = load i32, i32* %c.addr, align 4 + %conv46 = trunc i32 %32 to i8 + store i8 %conv46, i8* %uc, align 1 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call47 = call i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %33, i8* %uc, i64 1) #18 + %tobool48 = icmp ne i64 %call47, 0 + br i1 %tobool48, label %if.end51, label %BAD + +if.end51: ; preds = %if.else, %if.end25, %land.lhs.true38, %if.then33 + %34 = load i32, i32* %c.addr, align 4 + %conv52 = trunc i32 %34 to i8 + %conv53 = zext i8 %conv52 to i32 + store i32 %conv53, i32* %retval, align 4 + br label %return + +BAD: ; preds = %lor.lhs.false, %if.else, %land.lhs.true, %if.then41 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %BAD, %if.end51, %if.then10, %if.then + %35 = load i32, i32* %retval, align 4 + ret i32 %35 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fputs_unlocked(i8* noalias %s, %struct.__STDIO_FILE_STRUCT.621* noalias %stream) #0 { +entry: + %s.addr = alloca i8*, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.621*, align 8 + %n = alloca i64, align 8 + store i8* %s, i8** %s.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.621* %stream, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %call = call i64 @strlen(i8* %0) #20 + store i64 %call, i64* %n, align 8 + %1 = load i8*, i8** %s.addr, align 8 + %2 = load i64, i64* %n, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %call1 = call i64 bitcast (i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.568*)* @fwrite_unlocked to i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.621*)*)(i8* %1, i64 1, i64 %2, %struct.__STDIO_FILE_STRUCT.621* %3) #18 + %4 = load i64, i64* %n, align 8 + %cmp = icmp eq i64 %call1, %4 + %5 = load i64, i64* %n, align 8 + %cond = select i1 %cmp, i64 %5, i64 -1 + %conv = trunc i64 %cond to i32 + ret i32 %conv +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fseek(%struct.__STDIO_FILE_STRUCT.636* %stream, i64 %offset, i32 %whence) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %1 = load i64, i64* %offset.addr, align 8 + %2 = load i32, i32* %whence.addr, align 4 + %call = call i32 @fseeko64(%struct.__STDIO_FILE_STRUCT.636* %0, i64 %1, i32 %2) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i64 @fwrite_unlocked(i8* noalias %ptr, i64 %size, i64 %nmemb, %struct.__STDIO_FILE_STRUCT.568* noalias %stream) #0 { +entry: + %retval = alloca i64, align 8 + %ptr.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %nmemb.addr = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + store i8* %ptr, i8** %ptr.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + store i64 %nmemb, i64* %nmemb.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 192 + %cmp = icmp eq i32 %and, 192 + br i1 %cmp, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* %2, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end13, label %land.lhs.true + +land.lhs.true: ; preds = %lor.lhs.false, %entry + %3 = load i64, i64* %size.addr, align 8 + %tobool2 = icmp ne i64 %3, 0 + %4 = load i64, i64* %nmemb.addr, align 8 + %tobool4 = icmp ne i64 %4, 0 + %or.cond = and i1 %tobool2, %tobool4 + br i1 %or.cond, label %if.then, label %if.end13 + +if.then: ; preds = %land.lhs.true + %5 = load i64, i64* %nmemb.addr, align 8 + %6 = load i64, i64* %size.addr, align 8 + %div = udiv i64 -1, %6 + %cmp5 = icmp ule i64 %5, %div + br i1 %cmp5, label %if.then7, label %if.end + +if.then7: ; preds = %if.then + %7 = load i8*, i8** %ptr.addr, align 8 + %8 = load i64, i64* %size.addr, align 8 + %9 = load i64, i64* %nmemb.addr, align 8 + %mul = mul i64 %8, %9 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call8 = call i64 @__stdio_fwrite(i8* %7, i64 %mul, %struct.__STDIO_FILE_STRUCT.568* %10) #18 + %11 = load i64, i64* %size.addr, align 8 + %div9 = udiv i64 %call8, %11 + store i64 %div9, i64* %retval, align 8 + br label %return + +if.end: ; preds = %if.then + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags10, align 8 + %conv11 = zext i16 %13 to i32 + %or = or i32 %conv11, 8 + %conv12 = trunc i32 %or to i16 + store i16 %conv12, i16* %__modeflags10, align 8 + store i32 22, i32* @errno, align 4 + br label %if.end13 + +if.end13: ; preds = %if.end, %land.lhs.true, %lor.lhs.false + store i64 0, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end13, %if.then7 + %14 = load i64, i64* %retval, align 8 + ret i64 %14 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @putchar_unlocked(i32 %c) #0 { +entry: + %c.addr = alloca i32, align 4 + %stream = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + store i32 %c, i32* %c.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdout, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %0, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %1, i32 0, i32 5 + %2 = load i8*, i8** %__bufpos, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 8 + %4 = load i8*, i8** %__bufputc_u, align 8 + %cmp = icmp ult i8* %2, %4 + %5 = load i32, i32* %c.addr, align 4 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %entry + %conv = trunc i32 %5 to i8 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 5 + %7 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %7, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + store i8 %conv, i8* %7, align 1 + %conv2 = zext i8 %conv to i32 + br label %cond.end + +cond.false: ; preds = %entry + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %call = call i32 @__fputc_unlocked(i32 %5, %struct.__STDIO_FILE_STRUCT.568* %8) #18 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ %conv2, %cond.true ], [ %call, %cond.false ] + ret i32 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i32 @vsnprintf(i8* noalias %buf, i64 %size, i8* noalias %format, %struct.__va_list_tag.0* %arg) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %format.addr = alloca i8*, align 8 + %arg.addr = alloca %struct.__va_list_tag.0*, align 8 + %f = alloca %struct.__STDIO_FILE_STRUCT.568, align 8 + %rv = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + store %struct.__va_list_tag.0* %arg, %struct.__va_list_tag.0** %arg.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 2 + store i32 -2, i32* %__filedes, align 4 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 0 + store i16 208, i16* %__modeflags, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 1 + %arrayidx = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 0 + store i8 0, i8* %arrayidx, align 2 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + store i32 0, i32* %__mask, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 9 + store %struct.__STDIO_FILE_STRUCT.568* null, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + %0 = load i64, i64* %size.addr, align 8 + %1 = load i8*, i8** %buf.addr, align 8 + %2 = ptrtoint i8* %1 to i64 + %sub = sub i64 -1, %2 + %cmp = icmp ugt i64 %0, %sub + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %3 = load i8*, i8** %buf.addr, align 8 + %4 = ptrtoint i8* %3 to i64 + %sub1 = sub i64 -1, %4 + store i64 %sub1, i64* %size.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %5 = load i8*, i8** %buf.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 3 + store i8* %5, i8** %__bufstart, align 8 + %6 = load i8*, i8** %buf.addr, align 8 + %7 = load i64, i64* %size.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %6, i64 %7 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 4 + store i8* %add.ptr, i8** %__bufend, align 8 + %__bufstart2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 3 + %8 = load i8*, i8** %__bufstart2, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + store i8* %8, i8** %__bufpos, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 6 + store i8* %8, i8** %__bufread, align 8 + %__bufstart3 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 3 + %9 = load i8*, i8** %__bufstart3, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 7 + store i8* %9, i8** %__bufgetc_u, align 8 + %__bufend4 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 4 + %10 = load i8*, i8** %__bufend4, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 8 + store i8* %10, i8** %__bufputc_u, align 8 + %11 = load i8*, i8** %format.addr, align 8 + %12 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %arg.addr, align 8 + %call = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %f, i8* %11, %struct.__va_list_tag.0* %12) #18 + store i32 %call, i32* %rv, align 4 + %13 = load i64, i64* %size.addr, align 8 + %tobool = icmp ne i64 %13, 0 + br i1 %tobool, label %if.then5, label %if.end13 + +if.then5: ; preds = %if.end + %__bufpos6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + %14 = load i8*, i8** %__bufpos6, align 8 + %__bufend7 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 4 + %15 = load i8*, i8** %__bufend7, align 8 + %cmp8 = icmp eq i8* %14, %15 + br i1 %cmp8, label %if.then9, label %if.end11 + +if.then9: ; preds = %if.then5 + %__bufpos10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + %16 = load i8*, i8** %__bufpos10, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %16, i32 -1 + store i8* %incdec.ptr, i8** %__bufpos10, align 8 + br label %if.end11 + +if.end11: ; preds = %if.then9, %if.then5 + %__bufpos12 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + %17 = load i8*, i8** %__bufpos12, align 8 + store i8 0, i8* %17, align 1 + br label %if.end13 + +if.end13: ; preds = %if.end11, %if.end + %18 = load i32, i32* %rv, align 4 + ret i32 %18 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @atexit(void ()* nonnull %func) #0 { +entry: + %func.addr = alloca void ()*, align 8 + store void ()* %func, void ()** %func.addr, align 8 + %0 = load void ()*, void ()** %func.addr, align 8 + %1 = bitcast void ()* %0 to void (i8*)* + br i1 icmp eq (i8** @__dso_handle, i8** null), label %cond.end, label %cond.false + +cond.false: ; preds = %entry + %2 = load i8*, i8** @__dso_handle, align 8 + br label %cond.end + +cond.end: ; preds = %entry, %cond.false + %cond = phi i8* [ %2, %cond.false ], [ null, %entry ] + %call = call i32 @__cxa_atexit(void (i8*)* %1, i8* null, i8* %cond) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i8* @realpath(i8* %path, i8* nonnull %got_path) #0 { +entry: + %retval = alloca i8*, align 8 + %path.addr = alloca i8*, align 8 + %got_path.addr = alloca i8*, align 8 + %copy_path = alloca [4096 x i8], align 16 + %max_path = alloca i8*, align 8 + %new_path = alloca i8*, align 8 + %path_len = alloca i64, align 8 + %readlinks = alloca i32, align 4 + %link_len = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store i8* %got_path, i8** %got_path.addr, align 8 + store i32 0, i32* %readlinks, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %cmp = icmp eq i8* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 22, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %path.addr, align 8 + %2 = load i8, i8* %1, align 1 + %conv = sext i8 %2 to i32 + %cmp1 = icmp eq i32 %conv, 0 + br i1 %cmp1, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.end + store i32 2, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %if.end + %3 = load i8*, i8** %path.addr, align 8 + %call = call i64 @strlen(i8* %3) #20 + store i64 %call, i64* %path_len, align 8 + %4 = load i64, i64* %path_len, align 8 + %cmp5 = icmp uge i64 %4, 4094 + br i1 %cmp5, label %if.then7, label %if.end8 + +if.then7: ; preds = %if.end4 + store i32 36, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end8: ; preds = %if.end4 + %arraydecay = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 4095 + %5 = load i64, i64* %path_len, align 8 + %idx.neg = sub i64 0, %5 + %add.ptr9 = getelementptr inbounds i8, i8* %add.ptr, i64 %idx.neg + %6 = load i8*, i8** %path.addr, align 8 + %call10 = call i8* @strcpy(i8* %add.ptr9, i8* %6) #19 + %arraydecay11 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr12 = getelementptr inbounds i8, i8* %arraydecay11, i64 4095 + %7 = load i64, i64* %path_len, align 8 + %idx.neg13 = sub i64 0, %7 + %add.ptr14 = getelementptr inbounds i8, i8* %add.ptr12, i64 %idx.neg13 + store i8* %add.ptr14, i8** %path.addr, align 8 + %8 = load i8*, i8** %got_path.addr, align 8 + %add.ptr15 = getelementptr inbounds i8, i8* %8, i64 4096 + %add.ptr16 = getelementptr inbounds i8, i8* %add.ptr15, i64 -2 + store i8* %add.ptr16, i8** %max_path, align 8 + %9 = load i8*, i8** %got_path.addr, align 8 + store i8* %9, i8** %new_path, align 8 + %10 = load i8*, i8** %path.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv17 = sext i8 %11 to i32 + %cmp18 = icmp ne i32 %conv17, 47 + %12 = load i8*, i8** %new_path, align 8 + br i1 %cmp18, label %if.then20, label %if.else + +if.then20: ; preds = %if.end8 + %call21 = call i8* @getcwd(i8* %12, i64 4095) #19 + %tobool = icmp ne i8* %call21, null + br i1 %tobool, label %if.end23, label %if.then22 + +if.then22: ; preds = %if.then20 + store i8* null, i8** %retval, align 8 + br label %return + +if.end23: ; preds = %if.then20 + %13 = load i8*, i8** %new_path, align 8 + %call24 = call i64 @strlen(i8* %13) #20 + %14 = load i8*, i8** %new_path, align 8 + %add.ptr25 = getelementptr inbounds i8, i8* %14, i64 %call24 + store i8* %add.ptr25, i8** %new_path, align 8 + %15 = load i8*, i8** %new_path, align 8 + %arrayidx = getelementptr inbounds i8, i8* %15, i64 -1 + %16 = load i8, i8* %arrayidx, align 1 + %conv26 = sext i8 %16 to i32 + %cmp27 = icmp ne i32 %conv26, 47 + br i1 %cmp27, label %if.then29, label %if.end33 + +if.then29: ; preds = %if.end23 + %17 = load i8*, i8** %new_path, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %17, i32 1 + store i8* %incdec.ptr, i8** %new_path, align 8 + store i8 47, i8* %17, align 1 + br label %if.end33 + +if.else: ; preds = %if.end8 + %incdec.ptr31 = getelementptr inbounds i8, i8* %12, i32 1 + store i8* %incdec.ptr31, i8** %new_path, align 8 + store i8 47, i8* %12, align 1 + %18 = load i8*, i8** %path.addr, align 8 + %incdec.ptr32 = getelementptr inbounds i8, i8* %18, i32 1 + store i8* %incdec.ptr32, i8** %path.addr, align 8 + br label %if.end33 + +if.end33: ; preds = %if.end23, %if.then29, %if.else + br label %while.cond + +while.cond: ; preds = %while.cond79, %if.then72, %if.end155, %if.then55, %if.then40, %if.end33 + %19 = load i8*, i8** %path.addr, align 8 + %20 = load i8, i8* %19, align 1 + %conv34 = sext i8 %20 to i32 + %cmp35 = icmp ne i32 %conv34, 0 + br i1 %cmp35, label %while.body, label %while.end157 + +while.body: ; preds = %while.cond + %21 = load i8*, i8** %path.addr, align 8 + %22 = load i8, i8* %21, align 1 + %conv37 = sext i8 %22 to i32 + %cmp38 = icmp eq i32 %conv37, 47 + %23 = load i8*, i8** %path.addr, align 8 + br i1 %cmp38, label %if.then40, label %if.end42 + +if.then40: ; preds = %while.body + %incdec.ptr41 = getelementptr inbounds i8, i8* %23, i32 1 + store i8* %incdec.ptr41, i8** %path.addr, align 8 + br label %while.cond + +if.end42: ; preds = %while.body + %24 = load i8, i8* %23, align 1 + %conv43 = sext i8 %24 to i32 + %cmp44 = icmp eq i32 %conv43, 46 + br i1 %cmp44, label %if.then46, label %if.end88 + +if.then46: ; preds = %if.end42 + %25 = load i8*, i8** %path.addr, align 8 + %arrayidx47 = getelementptr inbounds i8, i8* %25, i64 1 + %26 = load i8, i8* %arrayidx47, align 1 + %conv48 = sext i8 %26 to i32 + %cmp49 = icmp eq i32 %conv48, 0 + br i1 %cmp49, label %if.then55, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then46 + %27 = load i8*, i8** %path.addr, align 8 + %arrayidx51 = getelementptr inbounds i8, i8* %27, i64 1 + %28 = load i8, i8* %arrayidx51, align 1 + %conv52 = sext i8 %28 to i32 + %cmp53 = icmp eq i32 %conv52, 47 + br i1 %cmp53, label %if.then55, label %if.end57 + +if.then55: ; preds = %lor.lhs.false, %if.then46 + %29 = load i8*, i8** %path.addr, align 8 + %incdec.ptr56 = getelementptr inbounds i8, i8* %29, i32 1 + store i8* %incdec.ptr56, i8** %path.addr, align 8 + br label %while.cond + +if.end57: ; preds = %lor.lhs.false + %30 = load i8*, i8** %path.addr, align 8 + %arrayidx58 = getelementptr inbounds i8, i8* %30, i64 1 + %31 = load i8, i8* %arrayidx58, align 1 + %conv59 = sext i8 %31 to i32 + %cmp60 = icmp eq i32 %conv59, 46 + br i1 %cmp60, label %if.then62, label %if.end88 + +if.then62: ; preds = %if.end57 + %32 = load i8*, i8** %path.addr, align 8 + %arrayidx63 = getelementptr inbounds i8, i8* %32, i64 2 + %33 = load i8, i8* %arrayidx63, align 1 + %conv64 = sext i8 %33 to i32 + %cmp65 = icmp eq i32 %conv64, 0 + br i1 %cmp65, label %if.then72, label %lor.lhs.false67 + +lor.lhs.false67: ; preds = %if.then62 + %34 = load i8*, i8** %path.addr, align 8 + %arrayidx68 = getelementptr inbounds i8, i8* %34, i64 2 + %35 = load i8, i8* %arrayidx68, align 1 + %conv69 = sext i8 %35 to i32 + %cmp70 = icmp eq i32 %conv69, 47 + br i1 %cmp70, label %if.then72, label %if.end88 + +if.then72: ; preds = %lor.lhs.false67, %if.then62 + %36 = load i8*, i8** %path.addr, align 8 + %add.ptr73 = getelementptr inbounds i8, i8* %36, i64 2 + store i8* %add.ptr73, i8** %path.addr, align 8 + %37 = load i8*, i8** %new_path, align 8 + %38 = load i8*, i8** %got_path.addr, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %38, i64 1 + %cmp75 = icmp eq i8* %37, %add.ptr74 + br i1 %cmp75, label %while.cond, label %while.cond79 + +while.cond79: ; preds = %while.cond79, %if.then72 + %39 = load i8*, i8** %new_path, align 8 + %incdec.ptr80 = getelementptr inbounds i8, i8* %39, i32 -1 + store i8* %incdec.ptr80, i8** %new_path, align 8 + %arrayidx81 = getelementptr inbounds i8, i8* %incdec.ptr80, i64 -1 + %40 = load i8, i8* %arrayidx81, align 1 + %conv82 = sext i8 %40 to i32 + %cmp83 = icmp ne i32 %conv82, 47 + br i1 %cmp83, label %while.cond79, label %while.cond + +if.end88: ; preds = %if.end57, %lor.lhs.false67, %if.end42 + br label %while.cond89 + +while.cond89: ; preds = %if.end100, %if.end88 + %41 = load i8*, i8** %path.addr, align 8 + %42 = load i8, i8* %41, align 1 + %conv90 = sext i8 %42 to i32 + %cmp91 = icmp ne i32 %conv90, 0 + br i1 %cmp91, label %land.rhs, label %while.end103 + +land.rhs: ; preds = %while.cond89 + %43 = load i8*, i8** %path.addr, align 8 + %44 = load i8, i8* %43, align 1 + %conv93 = sext i8 %44 to i32 + %cmp94 = icmp ne i32 %conv93, 47 + br i1 %cmp94, label %while.body96, label %while.end103 + +while.body96: ; preds = %land.rhs + %45 = load i8*, i8** %new_path, align 8 + %46 = load i8*, i8** %max_path, align 8 + %cmp97 = icmp ugt i8* %45, %46 + br i1 %cmp97, label %if.then99, label %if.end100 + +if.then99: ; preds = %while.body96 + store i32 36, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end100: ; preds = %while.body96 + %47 = load i8*, i8** %path.addr, align 8 + %incdec.ptr101 = getelementptr inbounds i8, i8* %47, i32 1 + store i8* %incdec.ptr101, i8** %path.addr, align 8 + %48 = load i8, i8* %47, align 1 + %49 = load i8*, i8** %new_path, align 8 + %incdec.ptr102 = getelementptr inbounds i8, i8* %49, i32 1 + store i8* %incdec.ptr102, i8** %new_path, align 8 + store i8 %48, i8* %49, align 1 + br label %while.cond89 + +while.end103: ; preds = %while.cond89, %land.rhs + %50 = load i32, i32* %readlinks, align 4 + %inc = add nsw i32 %50, 1 + store i32 %inc, i32* %readlinks, align 4 + %cmp104 = icmp sgt i32 %50, 32 + br i1 %cmp104, label %if.then106, label %if.end107 + +if.then106: ; preds = %while.end103 + store i32 40, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end107: ; preds = %while.end103 + %51 = load i8*, i8** %path.addr, align 8 + %call108 = call i64 @strlen(i8* %51) #20 + store i64 %call108, i64* %path_len, align 8 + %52 = load i8*, i8** %new_path, align 8 + store i8 0, i8* %52, align 1 + %53 = load i8*, i8** %got_path.addr, align 8 + %arraydecay109 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %call110 = call i64 @readlink(i8* %53, i8* %arraydecay109, i64 4095) #19 + %conv111 = trunc i64 %call110 to i32 + store i32 %conv111, i32* %link_len, align 4 + %54 = load i32, i32* %link_len, align 4 + %cmp112 = icmp slt i32 %54, 0 + br i1 %cmp112, label %if.then114, label %if.else119 + +if.then114: ; preds = %if.end107 + %55 = load i32, i32* @errno, align 4 + %cmp115 = icmp ne i32 %55, 22 + br i1 %cmp115, label %if.then117, label %if.end155 + +if.then117: ; preds = %if.then114 + store i8* null, i8** %retval, align 8 + br label %return + +if.else119: ; preds = %if.end107 + %56 = load i64, i64* %path_len, align 8 + %57 = load i32, i32* %link_len, align 4 + %conv120 = sext i32 %57 to i64 + %add = add i64 %56, %conv120 + %cmp121 = icmp uge i64 %add, 4094 + br i1 %cmp121, label %if.then123, label %if.end124 + +if.then123: ; preds = %if.else119 + store i32 36, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end124: ; preds = %if.else119 + %arraydecay125 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %58 = load i8, i8* %arraydecay125, align 16 + %conv126 = sext i8 %58 to i32 + %cmp127 = icmp eq i32 %conv126, 47 + br i1 %cmp127, label %if.then129, label %while.cond131 + +if.then129: ; preds = %if.end124 + %59 = load i8*, i8** %got_path.addr, align 8 + store i8* %59, i8** %new_path, align 8 + br label %if.end138 + +while.cond131: ; preds = %while.cond131, %if.end124 + %60 = load i8*, i8** %new_path, align 8 + %incdec.ptr132 = getelementptr inbounds i8, i8* %60, i32 -1 + store i8* %incdec.ptr132, i8** %new_path, align 8 + %61 = load i8, i8* %incdec.ptr132, align 1 + %conv133 = sext i8 %61 to i32 + %cmp134 = icmp ne i32 %conv133, 47 + br i1 %cmp134, label %while.cond131, label %if.end138 + +if.end138: ; preds = %while.cond131, %if.then129 + %arraydecay139 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr140 = getelementptr inbounds i8, i8* %arraydecay139, i64 4095 + %62 = load i32, i32* %link_len, align 4 + %idx.ext = sext i32 %62 to i64 + %idx.neg141 = sub i64 0, %idx.ext + %add.ptr142 = getelementptr inbounds i8, i8* %add.ptr140, i64 %idx.neg141 + %63 = load i64, i64* %path_len, align 8 + %idx.neg143 = sub i64 0, %63 + %add.ptr144 = getelementptr inbounds i8, i8* %add.ptr142, i64 %idx.neg143 + %arraydecay145 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %64 = load i32, i32* %link_len, align 4 + %conv146 = sext i32 %64 to i64 + %call147 = call i8* @memmove(i8* %add.ptr144, i8* %arraydecay145, i64 %conv146) #19 + %arraydecay148 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr149 = getelementptr inbounds i8, i8* %arraydecay148, i64 4095 + %65 = load i32, i32* %link_len, align 4 + %idx.ext150 = sext i32 %65 to i64 + %idx.neg151 = sub i64 0, %idx.ext150 + %add.ptr152 = getelementptr inbounds i8, i8* %add.ptr149, i64 %idx.neg151 + %66 = load i64, i64* %path_len, align 8 + %idx.neg153 = sub i64 0, %66 + %add.ptr154 = getelementptr inbounds i8, i8* %add.ptr152, i64 %idx.neg153 + store i8* %add.ptr154, i8** %path.addr, align 8 + br label %if.end155 + +if.end155: ; preds = %if.then114, %if.end138 + %67 = load i8*, i8** %new_path, align 8 + %incdec.ptr156 = getelementptr inbounds i8, i8* %67, i32 1 + store i8* %incdec.ptr156, i8** %new_path, align 8 + store i8 47, i8* %67, align 1 + br label %while.cond + +while.end157: ; preds = %while.cond + %68 = load i8*, i8** %new_path, align 8 + %69 = load i8*, i8** %got_path.addr, align 8 + %add.ptr158 = getelementptr inbounds i8, i8* %69, i64 1 + %cmp159 = icmp ne i8* %68, %add.ptr158 + br i1 %cmp159, label %land.lhs.true, label %if.end167 + +land.lhs.true: ; preds = %while.end157 + %70 = load i8*, i8** %new_path, align 8 + %arrayidx161 = getelementptr inbounds i8, i8* %70, i64 -1 + %71 = load i8, i8* %arrayidx161, align 1 + %conv162 = sext i8 %71 to i32 + %cmp163 = icmp eq i32 %conv162, 47 + br i1 %cmp163, label %if.then165, label %if.end167 + +if.then165: ; preds = %land.lhs.true + %72 = load i8*, i8** %new_path, align 8 + %incdec.ptr166 = getelementptr inbounds i8, i8* %72, i32 -1 + store i8* %incdec.ptr166, i8** %new_path, align 8 + br label %if.end167 + +if.end167: ; preds = %if.then165, %land.lhs.true, %while.end157 + %73 = load i8*, i8** %new_path, align 8 + store i8 0, i8* %73, align 1 + %74 = load i8*, i8** %got_path.addr, align 8 + store i8* %74, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end167, %if.then123, %if.then117, %if.then106, %if.then99, %if.then22, %if.then7, %if.then3, %if.then + %75 = load i8*, i8** %retval, align 8 + ret i8* %75 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @memcmp(i8* nonnull %s1, i8* nonnull %s2, i64 %n) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r1 = alloca i8*, align 8 + %r2 = alloca i8*, align 8 + %r = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %r1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %r2, align 8 + store i32 0, i32* %r, align 4 + br label %while.cond + +while.cond: ; preds = %land.rhs, %entry + %2 = load i64, i64* %n.addr, align 8 + %dec = add i64 %2, -1 + store i64 %dec, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %3 = load i8*, i8** %r1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %r1, align 8 + %4 = load i8, i8* %3, align 1 + %conv = zext i8 %4 to i32 + %5 = load i8*, i8** %r2, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr1, i8** %r2, align 8 + %6 = load i8, i8* %5, align 1 + %conv2 = zext i8 %6 to i32 + %sub = sub nsw i32 %conv, %conv2 + store i32 %sub, i32* %r, align 4 + %cmp = icmp eq i32 %sub, 0 + br i1 %cmp, label %while.cond, label %while.end + +while.end: ; preds = %while.cond, %land.rhs + %7 = load i32, i32* %r, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @tcgetattr(i32 %fd, %struct.termios* %termios_p) #0 { +entry: + %fd.addr = alloca i32, align 4 + %termios_p.addr = alloca %struct.termios*, align 8 + %k_termios = alloca %struct.__kernel_termios, align 4 + %retval1 = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.termios* %termios_p, %struct.termios** %termios_p.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 (i32, i64, ...) @ioctl(i32 %0, i64 21505, %struct.__kernel_termios* %k_termios) #19 + store i32 %call, i32* %retval1, align 4 + %c_iflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 0 + %1 = load i32, i32* %c_iflag, align 4 + %2 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_iflag2 = getelementptr inbounds %struct.termios, %struct.termios* %2, i32 0, i32 0 + store i32 %1, i32* %c_iflag2, align 4 + %c_oflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 1 + %3 = load i32, i32* %c_oflag, align 4 + %4 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_oflag3 = getelementptr inbounds %struct.termios, %struct.termios* %4, i32 0, i32 1 + store i32 %3, i32* %c_oflag3, align 4 + %c_cflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 2 + %5 = load i32, i32* %c_cflag, align 4 + %6 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_cflag4 = getelementptr inbounds %struct.termios, %struct.termios* %6, i32 0, i32 2 + store i32 %5, i32* %c_cflag4, align 4 + %c_lflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 3 + %7 = load i32, i32* %c_lflag, align 4 + %8 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_lflag5 = getelementptr inbounds %struct.termios, %struct.termios* %8, i32 0, i32 3 + store i32 %7, i32* %c_lflag5, align 4 + %c_line = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 4 + %9 = load i8, i8* %c_line, align 4 + %10 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_line6 = getelementptr inbounds %struct.termios, %struct.termios* %10, i32 0, i32 4 + store i8 %9, i8* %c_line6, align 4 + %11 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_cc = getelementptr inbounds %struct.termios, %struct.termios* %11, i32 0, i32 5 + %arrayidx = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc, i64 0, i64 0 + %c_cc7 = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 5 + %arrayidx8 = getelementptr inbounds [19 x i8], [19 x i8]* %c_cc7, i64 0, i64 0 + %call9 = call i8* @mempcpy(i8* %arrayidx, i8* %arrayidx8, i64 19) #19 + %call10 = call i8* @memset(i8* %call9, i32 0, i64 13) #19 + %12 = load i32, i32* %retval1, align 4 + ret i32 %12 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_getopt_internal(i32 %argc, i8** %argv, i8* %optstring, %struct.option* %longopts, i32* %longind, i32 %long_only) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + %longopts.addr = alloca %struct.option*, align 8 + %longind.addr = alloca i32*, align 8 + %long_only.addr = alloca i32, align 4 + %result = alloca i32, align 4 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + store %struct.option* %longopts, %struct.option** %longopts.addr, align 8 + store i32* %longind, i32** %longind.addr, align 8 + store i32 %long_only, i32* %long_only.addr, align 4 + %0 = load i32, i32* @optind, align 4 + store i32 %0, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 0), align 8 + %1 = load i32, i32* @opterr, align 4 + store i32 %1, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 1), align 4 + %2 = load i32, i32* %argc.addr, align 4 + %3 = load i8**, i8*** %argv.addr, align 8 + %4 = load i8*, i8** %optstring.addr, align 8 + %5 = load %struct.option*, %struct.option** %longopts.addr, align 8 + %6 = load i32*, i32** %longind.addr, align 8 + %7 = load i32, i32* %long_only.addr, align 4 + %call = call i32 @_getopt_internal_r(i32 %2, i8** %3, i8* %4, %struct.option* %5, i32* %6, i32 %7, %struct._getopt_data* @getopt_data) #18 + store i32 %call, i32* %result, align 4 + %8 = load i32, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 0), align 8 + store i32 %8, i32* @optind, align 4 + %9 = load i8*, i8** getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 3), align 8 + store i8* %9, i8** @optarg, align 8 + %10 = load i32, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 2), align 8 + store i32 %10, i32* @optopt, align 4 + %11 = load i32, i32* %result, align 4 + ret i32 %11 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_getopt_internal_r(i32 %argc, i8** %argv, i8* %optstring, %struct.option* %longopts, i32* %longind, i32 %long_only, %struct._getopt_data* %d) #0 { +entry: + %retval = alloca i32, align 4 + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + %longopts.addr = alloca %struct.option*, align 8 + %longind.addr = alloca i32*, align 8 + %long_only.addr = alloca i32, align 4 + %d.addr = alloca %struct._getopt_data*, align 8 + %print_errors = alloca i32, align 4 + %nameend = alloca i8*, align 8 + %p = alloca %struct.option*, align 8 + %pfound = alloca %struct.option*, align 8 + %exact = alloca i32, align 4 + %ambig = alloca i32, align 4 + %indfound = alloca i32, align 4 + %option_index = alloca i32, align 4 + %c = alloca i8, align 1 + %temp = alloca i8*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + store %struct.option* %longopts, %struct.option** %longopts.addr, align 8 + store i32* %longind, i32** %longind.addr, align 8 + store i32 %long_only, i32* %long_only.addr, align 4 + store %struct._getopt_data* %d, %struct._getopt_data** %d.addr, align 8 + %0 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %opterr = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %0, i32 0, i32 1 + %1 = load i32, i32* %opterr, align 4 + store i32 %1, i32* %print_errors, align 4 + %2 = load i8*, i8** %optstring.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %2, i64 0 + %3 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %3 to i32 + %cmp = icmp eq i32 %conv, 58 + %spec.store.select = select i1 %cmp, i32 0, i32 %1 + store i32 %spec.store.select, i32* %print_errors, align 4 + %4 = load i32, i32* %argc.addr, align 4 + %cmp2 = icmp slt i32 %4, 1 + br i1 %cmp2, label %if.then4, label %if.end5 + +if.then4: ; preds = %entry + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %entry + %5 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %5, i32 0, i32 3 + store i8* null, i8** %optarg, align 8 + %6 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %6, i32 0, i32 0 + %7 = load i32, i32* %optind, align 8 + %cmp6 = icmp eq i32 %7, 0 + br i1 %cmp6, label %if.then8, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end5 + %8 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__initialized = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %8, i32 0, i32 4 + %9 = load i32, i32* %__initialized, align 8 + %tobool = icmp ne i32 %9, 0 + br i1 %tobool, label %if.end16, label %if.then8 + +if.then8: ; preds = %lor.lhs.false, %if.end5 + %10 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind9 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %10, i32 0, i32 0 + %11 = load i32, i32* %optind9, align 8 + %cmp10 = icmp eq i32 %11, 0 + br i1 %cmp10, label %if.then12, label %if.end14 + +if.then12: ; preds = %if.then8 + %12 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind13 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %12, i32 0, i32 0 + store i32 1, i32* %optind13, align 8 + br label %if.end14 + +if.end14: ; preds = %if.then12, %if.then8 + %13 = load i32, i32* %argc.addr, align 4 + %14 = load i8**, i8*** %argv.addr, align 8 + %15 = load i8*, i8** %optstring.addr, align 8 + %16 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %call = call i8* @_getopt_initialize(i32 %13, i8** %14, i8* %15, %struct._getopt_data* %16) #18 + store i8* %call, i8** %optstring.addr, align 8 + %17 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__initialized15 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %17, i32 0, i32 4 + store i32 1, i32* %__initialized15, align 8 + br label %if.end16 + +if.end16: ; preds = %if.end14, %lor.lhs.false + %18 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %18, i32 0, i32 5 + %19 = load i8*, i8** %__nextchar, align 8 + %cmp17 = icmp eq i8* %19, null + br i1 %cmp17, label %if.then24, label %lor.lhs.false19 + +lor.lhs.false19: ; preds = %if.end16 + %20 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar20 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %20, i32 0, i32 5 + %21 = load i8*, i8** %__nextchar20, align 8 + %22 = load i8, i8* %21, align 1 + %conv21 = sext i8 %22 to i32 + %cmp22 = icmp eq i32 %conv21, 0 + br i1 %cmp22, label %if.then24, label %if.end171 + +if.then24: ; preds = %lor.lhs.false19, %if.end16 + %23 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %23, i32 0, i32 9 + %24 = load i32, i32* %__last_nonopt, align 4 + %25 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind25 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %25, i32 0, i32 0 + %26 = load i32, i32* %optind25, align 8 + %cmp26 = icmp sgt i32 %24, %26 + br i1 %cmp26, label %if.then28, label %if.end31 + +if.then28: ; preds = %if.then24 + %27 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind29 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %27, i32 0, i32 0 + %28 = load i32, i32* %optind29, align 8 + %29 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt30 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %29, i32 0, i32 9 + store i32 %28, i32* %__last_nonopt30, align 4 + br label %if.end31 + +if.end31: ; preds = %if.then28, %if.then24 + %30 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %30, i32 0, i32 8 + %31 = load i32, i32* %__first_nonopt, align 8 + %32 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind32 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %32, i32 0, i32 0 + %33 = load i32, i32* %optind32, align 8 + %cmp33 = icmp sgt i32 %31, %33 + br i1 %cmp33, label %if.then35, label %if.end38 + +if.then35: ; preds = %if.end31 + %34 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind36 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %34, i32 0, i32 0 + %35 = load i32, i32* %optind36, align 8 + %36 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt37 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %36, i32 0, i32 8 + store i32 %35, i32* %__first_nonopt37, align 8 + br label %if.end38 + +if.end38: ; preds = %if.then35, %if.end31 + %37 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %37, i32 0, i32 6 + %38 = load i32, i32* %__ordering, align 8 + %cmp39 = icmp eq i32 %38, 1 + br i1 %cmp39, label %if.then41, label %if.end79 + +if.then41: ; preds = %if.end38 + %39 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt42 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %39, i32 0, i32 8 + %40 = load i32, i32* %__first_nonopt42, align 8 + %41 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt43 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %41, i32 0, i32 9 + %42 = load i32, i32* %__last_nonopt43, align 4 + %cmp44 = icmp ne i32 %40, %42 + br i1 %cmp44, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %if.then41 + %43 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt46 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %43, i32 0, i32 9 + %44 = load i32, i32* %__last_nonopt46, align 4 + %45 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind47 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %45, i32 0, i32 0 + %46 = load i32, i32* %optind47, align 8 + %cmp48 = icmp ne i32 %44, %46 + br i1 %cmp48, label %if.then50, label %if.else + +if.then50: ; preds = %land.lhs.true + %47 = load i8**, i8*** %argv.addr, align 8 + %48 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + call void @exchange(i8** %47, %struct._getopt_data* %48) #18 + br label %if.end59 + +if.else: ; preds = %land.lhs.true, %if.then41 + %49 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt51 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %49, i32 0, i32 9 + %50 = load i32, i32* %__last_nonopt51, align 4 + %51 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind52 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %51, i32 0, i32 0 + %52 = load i32, i32* %optind52, align 8 + %cmp53 = icmp ne i32 %50, %52 + br i1 %cmp53, label %if.then55, label %if.end59 + +if.then55: ; preds = %if.else + %53 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind56 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %53, i32 0, i32 0 + %54 = load i32, i32* %optind56, align 8 + %55 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt57 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %55, i32 0, i32 8 + store i32 %54, i32* %__first_nonopt57, align 8 + br label %if.end59 + +if.end59: ; preds = %if.else, %if.then55, %if.then50 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end59 + %56 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind60 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %56, i32 0, i32 0 + %57 = load i32, i32* %optind60, align 8 + %58 = load i32, i32* %argc.addr, align 4 + %cmp61 = icmp slt i32 %57, %58 + br i1 %cmp61, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %59 = load i8**, i8*** %argv.addr, align 8 + %60 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind63 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %60, i32 0, i32 0 + %61 = load i32, i32* %optind63, align 8 + %idxprom = sext i32 %61 to i64 + %arrayidx64 = getelementptr inbounds i8*, i8** %59, i64 %idxprom + %62 = load i8*, i8** %arrayidx64, align 8 + %arrayidx65 = getelementptr inbounds i8, i8* %62, i64 0 + %63 = load i8, i8* %arrayidx65, align 1 + %conv66 = sext i8 %63 to i32 + %cmp67 = icmp ne i32 %conv66, 45 + br i1 %cmp67, label %land.end, label %lor.rhs + +lor.rhs: ; preds = %land.rhs + %64 = load i8**, i8*** %argv.addr, align 8 + %65 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind69 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %65, i32 0, i32 0 + %66 = load i32, i32* %optind69, align 8 + %idxprom70 = sext i32 %66 to i64 + %arrayidx71 = getelementptr inbounds i8*, i8** %64, i64 %idxprom70 + %67 = load i8*, i8** %arrayidx71, align 8 + %arrayidx72 = getelementptr inbounds i8, i8* %67, i64 1 + %68 = load i8, i8* %arrayidx72, align 1 + %conv73 = sext i8 %68 to i32 + %cmp74 = icmp eq i32 %conv73, 0 + br label %land.end + +land.end: ; preds = %land.rhs, %lor.rhs, %while.cond + %69 = phi i1 [ false, %while.cond ], [ true, %land.rhs ], [ %cmp74, %lor.rhs ] + %70 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind76 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %70, i32 0, i32 0 + %71 = load i32, i32* %optind76, align 8 + br i1 %69, label %while.body, label %while.end + +while.body: ; preds = %land.end + %inc = add nsw i32 %71, 1 + store i32 %inc, i32* %optind76, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %72 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt78 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %72, i32 0, i32 9 + store i32 %71, i32* %__last_nonopt78, align 4 + br label %if.end79 + +if.end79: ; preds = %while.end, %if.end38 + %73 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind80 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %73, i32 0, i32 0 + %74 = load i32, i32* %optind80, align 8 + %75 = load i32, i32* %argc.addr, align 4 + %cmp81 = icmp ne i32 %74, %75 + br i1 %cmp81, label %land.lhs.true83, label %if.end114 + +land.lhs.true83: ; preds = %if.end79 + %76 = load i8**, i8*** %argv.addr, align 8 + %77 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind84 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %77, i32 0, i32 0 + %78 = load i32, i32* %optind84, align 8 + %idxprom85 = sext i32 %78 to i64 + %arrayidx86 = getelementptr inbounds i8*, i8** %76, i64 %idxprom85 + %79 = load i8*, i8** %arrayidx86, align 8 + %call87 = call i32 @strcmp(i8* %79, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.305, i64 0, i64 0)) #20 + %tobool88 = icmp ne i32 %call87, 0 + br i1 %tobool88, label %if.end114, label %if.then89 + +if.then89: ; preds = %land.lhs.true83 + %80 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind90 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %80, i32 0, i32 0 + %81 = load i32, i32* %optind90, align 8 + %inc91 = add nsw i32 %81, 1 + store i32 %inc91, i32* %optind90, align 8 + %82 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt92 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %82, i32 0, i32 8 + %83 = load i32, i32* %__first_nonopt92, align 8 + %84 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt93 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %84, i32 0, i32 9 + %85 = load i32, i32* %__last_nonopt93, align 4 + %cmp94 = icmp ne i32 %83, %85 + br i1 %cmp94, label %land.lhs.true96, label %if.else102 + +land.lhs.true96: ; preds = %if.then89 + %86 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt97 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %86, i32 0, i32 9 + %87 = load i32, i32* %__last_nonopt97, align 4 + %88 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind98 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %88, i32 0, i32 0 + %89 = load i32, i32* %optind98, align 8 + %cmp99 = icmp ne i32 %87, %89 + br i1 %cmp99, label %if.then101, label %if.else102 + +if.then101: ; preds = %land.lhs.true96 + %90 = load i8**, i8*** %argv.addr, align 8 + %91 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + call void @exchange(i8** %90, %struct._getopt_data* %91) #18 + br label %if.end111 + +if.else102: ; preds = %land.lhs.true96, %if.then89 + %92 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt103 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %92, i32 0, i32 8 + %93 = load i32, i32* %__first_nonopt103, align 8 + %94 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt104 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %94, i32 0, i32 9 + %95 = load i32, i32* %__last_nonopt104, align 4 + %cmp105 = icmp eq i32 %93, %95 + br i1 %cmp105, label %if.then107, label %if.end111 + +if.then107: ; preds = %if.else102 + %96 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind108 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %96, i32 0, i32 0 + %97 = load i32, i32* %optind108, align 8 + %98 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt109 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %98, i32 0, i32 8 + store i32 %97, i32* %__first_nonopt109, align 8 + br label %if.end111 + +if.end111: ; preds = %if.else102, %if.then107, %if.then101 + %99 = load i32, i32* %argc.addr, align 4 + %100 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt112 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %100, i32 0, i32 9 + store i32 %99, i32* %__last_nonopt112, align 4 + %101 = load i32, i32* %argc.addr, align 4 + %102 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind113 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %102, i32 0, i32 0 + store i32 %101, i32* %optind113, align 8 + br label %if.end114 + +if.end114: ; preds = %if.end111, %land.lhs.true83, %if.end79 + %103 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind115 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %103, i32 0, i32 0 + %104 = load i32, i32* %optind115, align 8 + %105 = load i32, i32* %argc.addr, align 4 + %cmp116 = icmp eq i32 %104, %105 + br i1 %cmp116, label %if.then118, label %if.end127 + +if.then118: ; preds = %if.end114 + %106 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt119 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %106, i32 0, i32 8 + %107 = load i32, i32* %__first_nonopt119, align 8 + %108 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt120 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %108, i32 0, i32 9 + %109 = load i32, i32* %__last_nonopt120, align 4 + %cmp121 = icmp ne i32 %107, %109 + br i1 %cmp121, label %if.then123, label %if.end126 + +if.then123: ; preds = %if.then118 + %110 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt124 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %110, i32 0, i32 8 + %111 = load i32, i32* %__first_nonopt124, align 8 + %112 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind125 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %112, i32 0, i32 0 + store i32 %111, i32* %optind125, align 8 + br label %if.end126 + +if.end126: ; preds = %if.then123, %if.then118 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end127: ; preds = %if.end114 + %113 = load i8**, i8*** %argv.addr, align 8 + %114 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind128 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %114, i32 0, i32 0 + %115 = load i32, i32* %optind128, align 8 + %idxprom129 = sext i32 %115 to i64 + %arrayidx130 = getelementptr inbounds i8*, i8** %113, i64 %idxprom129 + %116 = load i8*, i8** %arrayidx130, align 8 + %arrayidx131 = getelementptr inbounds i8, i8* %116, i64 0 + %117 = load i8, i8* %arrayidx131, align 1 + %conv132 = sext i8 %117 to i32 + %cmp133 = icmp ne i32 %conv132, 45 + br i1 %cmp133, label %if.then143, label %lor.lhs.false135 + +lor.lhs.false135: ; preds = %if.end127 + %118 = load i8**, i8*** %argv.addr, align 8 + %119 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind136 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %119, i32 0, i32 0 + %120 = load i32, i32* %optind136, align 8 + %idxprom137 = sext i32 %120 to i64 + %arrayidx138 = getelementptr inbounds i8*, i8** %118, i64 %idxprom137 + %121 = load i8*, i8** %arrayidx138, align 8 + %arrayidx139 = getelementptr inbounds i8, i8* %121, i64 1 + %122 = load i8, i8* %arrayidx139, align 1 + %conv140 = sext i8 %122 to i32 + %cmp141 = icmp eq i32 %conv140, 0 + br i1 %cmp141, label %if.then143, label %if.end154 + +if.then143: ; preds = %lor.lhs.false135, %if.end127 + %123 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering144 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %123, i32 0, i32 6 + %124 = load i32, i32* %__ordering144, align 8 + %cmp145 = icmp eq i32 %124, 0 + br i1 %cmp145, label %if.then147, label %if.end148 + +if.then147: ; preds = %if.then143 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end148: ; preds = %if.then143 + %125 = load i8**, i8*** %argv.addr, align 8 + %126 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind149 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %126, i32 0, i32 0 + %127 = load i32, i32* %optind149, align 8 + %inc150 = add nsw i32 %127, 1 + store i32 %inc150, i32* %optind149, align 8 + %idxprom151 = sext i32 %127 to i64 + %arrayidx152 = getelementptr inbounds i8*, i8** %125, i64 %idxprom151 + %128 = load i8*, i8** %arrayidx152, align 8 + %129 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg153 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %129, i32 0, i32 3 + store i8* %128, i8** %optarg153, align 8 + store i32 1, i32* %retval, align 4 + br label %return + +if.end154: ; preds = %lor.lhs.false135 + %130 = load i8**, i8*** %argv.addr, align 8 + %131 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind155 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %131, i32 0, i32 0 + %132 = load i32, i32* %optind155, align 8 + %idxprom156 = sext i32 %132 to i64 + %arrayidx157 = getelementptr inbounds i8*, i8** %130, i64 %idxprom156 + %133 = load i8*, i8** %arrayidx157, align 8 + %add.ptr = getelementptr inbounds i8, i8* %133, i64 1 + %134 = load %struct.option*, %struct.option** %longopts.addr, align 8 + %cmp158 = icmp ne %struct.option* %134, null + br i1 %cmp158, label %land.rhs160, label %land.end168 + +land.rhs160: ; preds = %if.end154 + %135 = load i8**, i8*** %argv.addr, align 8 + %136 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind161 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %136, i32 0, i32 0 + %137 = load i32, i32* %optind161, align 8 + %idxprom162 = sext i32 %137 to i64 + %arrayidx163 = getelementptr inbounds i8*, i8** %135, i64 %idxprom162 + %138 = load i8*, i8** %arrayidx163, align 8 + %arrayidx164 = getelementptr inbounds i8, i8* %138, i64 1 + %139 = load i8, i8* %arrayidx164, align 1 + %conv165 = sext i8 %139 to i32 + %cmp166 = icmp eq i32 %conv165, 45 + br label %land.end168 + +land.end168: ; preds = %land.rhs160, %if.end154 + %140 = phi i1 [ false, %if.end154 ], [ %cmp166, %land.rhs160 ] + %land.ext = zext i1 %140 to i32 + %idx.ext = sext i32 %land.ext to i64 + %add.ptr169 = getelementptr inbounds i8, i8* %add.ptr, i64 %idx.ext + %141 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar170 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %141, i32 0, i32 5 + store i8* %add.ptr169, i8** %__nextchar170, align 8 + br label %if.end171 + +if.end171: ; preds = %land.end168, %lor.lhs.false19 + %142 = load %struct.option*, %struct.option** %longopts.addr, align 8 + %cmp172 = icmp ne %struct.option* %142, null + br i1 %cmp172, label %land.lhs.true174, label %if.end418 + +land.lhs.true174: ; preds = %if.end171 + %143 = load i8**, i8*** %argv.addr, align 8 + %144 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind175 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %144, i32 0, i32 0 + %145 = load i32, i32* %optind175, align 8 + %idxprom176 = sext i32 %145 to i64 + %arrayidx177 = getelementptr inbounds i8*, i8** %143, i64 %idxprom176 + %146 = load i8*, i8** %arrayidx177, align 8 + %arrayidx178 = getelementptr inbounds i8, i8* %146, i64 1 + %147 = load i8, i8* %arrayidx178, align 1 + %conv179 = sext i8 %147 to i32 + %cmp180 = icmp eq i32 %conv179, 45 + br i1 %cmp180, label %if.then199, label %lor.lhs.false182 + +lor.lhs.false182: ; preds = %land.lhs.true174 + %148 = load i32, i32* %long_only.addr, align 4 + %tobool183 = icmp ne i32 %148, 0 + br i1 %tobool183, label %land.lhs.true184, label %if.end418 + +land.lhs.true184: ; preds = %lor.lhs.false182 + %149 = load i8**, i8*** %argv.addr, align 8 + %150 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind185 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %150, i32 0, i32 0 + %151 = load i32, i32* %optind185, align 8 + %idxprom186 = sext i32 %151 to i64 + %arrayidx187 = getelementptr inbounds i8*, i8** %149, i64 %idxprom186 + %152 = load i8*, i8** %arrayidx187, align 8 + %arrayidx188 = getelementptr inbounds i8, i8* %152, i64 2 + %153 = load i8, i8* %arrayidx188, align 1 + %conv189 = sext i8 %153 to i32 + %tobool190 = icmp ne i32 %conv189, 0 + br i1 %tobool190, label %if.then199, label %lor.lhs.false191 + +lor.lhs.false191: ; preds = %land.lhs.true184 + %154 = load i8*, i8** %optstring.addr, align 8 + %155 = load i8**, i8*** %argv.addr, align 8 + %156 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind192 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %156, i32 0, i32 0 + %157 = load i32, i32* %optind192, align 8 + %idxprom193 = sext i32 %157 to i64 + %arrayidx194 = getelementptr inbounds i8*, i8** %155, i64 %idxprom193 + %158 = load i8*, i8** %arrayidx194, align 8 + %arrayidx195 = getelementptr inbounds i8, i8* %158, i64 1 + %159 = load i8, i8* %arrayidx195, align 1 + %conv196 = sext i8 %159 to i32 + %call197 = call i8* @strchr(i8* %154, i32 %conv196) #20 + %tobool198 = icmp ne i8* %call197, null + br i1 %tobool198, label %if.end418, label %if.then199 + +if.then199: ; preds = %lor.lhs.false191, %land.lhs.true184, %land.lhs.true174 + store %struct.option* null, %struct.option** %pfound, align 8 + store i32 0, i32* %exact, align 4 + store i32 0, i32* %ambig, align 4 + store i32 -1, i32* %indfound, align 4 + %160 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar200 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %160, i32 0, i32 5 + %161 = load i8*, i8** %__nextchar200, align 8 + store i8* %161, i8** %nameend, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.then199 + %162 = load i8*, i8** %nameend, align 8 + %163 = load i8, i8* %162, align 1 + %conv201 = sext i8 %163 to i32 + %tobool202 = icmp ne i32 %conv201, 0 + br i1 %tobool202, label %land.rhs203, label %for.end + +land.rhs203: ; preds = %for.cond + %164 = load i8*, i8** %nameend, align 8 + %165 = load i8, i8* %164, align 1 + %conv204 = sext i8 %165 to i32 + %cmp205 = icmp ne i32 %conv204, 61 + br i1 %cmp205, label %for.inc, label %for.end + +for.inc: ; preds = %land.rhs203 + %166 = load i8*, i8** %nameend, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %166, i32 1 + store i8* %incdec.ptr, i8** %nameend, align 8 + br label %for.cond + +for.end: ; preds = %for.cond, %land.rhs203 + %167 = load %struct.option*, %struct.option** %longopts.addr, align 8 + store %struct.option* %167, %struct.option** %p, align 8 + store i32 0, i32* %option_index, align 4 + br label %for.cond209 + +for.cond209: ; preds = %for.inc252, %for.end + %168 = load %struct.option*, %struct.option** %p, align 8 + %name = getelementptr inbounds %struct.option, %struct.option* %168, i32 0, i32 0 + %169 = load i8*, i8** %name, align 8 + %tobool210 = icmp ne i8* %169, null + br i1 %tobool210, label %for.body211, label %for.end255 + +for.body211: ; preds = %for.cond209 + %170 = load %struct.option*, %struct.option** %p, align 8 + %name212 = getelementptr inbounds %struct.option, %struct.option* %170, i32 0, i32 0 + %171 = load i8*, i8** %name212, align 8 + %172 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar213 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %172, i32 0, i32 5 + %173 = load i8*, i8** %__nextchar213, align 8 + %174 = load i8*, i8** %nameend, align 8 + %175 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar214 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %175, i32 0, i32 5 + %176 = load i8*, i8** %__nextchar214, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %174 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %176 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %call215 = call i32 @strncmp(i8* %171, i8* %173, i64 %sub.ptr.sub) #20 + %tobool216 = icmp ne i32 %call215, 0 + br i1 %tobool216, label %for.inc252, label %if.then217 + +if.then217: ; preds = %for.body211 + %177 = load i8*, i8** %nameend, align 8 + %178 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar218 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %178, i32 0, i32 5 + %179 = load i8*, i8** %__nextchar218, align 8 + %sub.ptr.lhs.cast219 = ptrtoint i8* %177 to i64 + %sub.ptr.rhs.cast220 = ptrtoint i8* %179 to i64 + %sub.ptr.sub221 = sub i64 %sub.ptr.lhs.cast219, %sub.ptr.rhs.cast220 + %conv222 = trunc i64 %sub.ptr.sub221 to i32 + %180 = load %struct.option*, %struct.option** %p, align 8 + %name223 = getelementptr inbounds %struct.option, %struct.option* %180, i32 0, i32 0 + %181 = load i8*, i8** %name223, align 8 + %call224 = call i64 @strlen(i8* %181) #20 + %conv225 = trunc i64 %call224 to i32 + %cmp226 = icmp eq i32 %conv222, %conv225 + br i1 %cmp226, label %if.then228, label %if.else229 + +if.then228: ; preds = %if.then217 + %182 = load %struct.option*, %struct.option** %p, align 8 + store %struct.option* %182, %struct.option** %pfound, align 8 + %183 = load i32, i32* %option_index, align 4 + store i32 %183, i32* %indfound, align 4 + store i32 1, i32* %exact, align 4 + br label %for.end255 + +if.else229: ; preds = %if.then217 + %184 = load %struct.option*, %struct.option** %pfound, align 8 + %cmp230 = icmp eq %struct.option* %184, null + br i1 %cmp230, label %if.then232, label %if.else233 + +if.then232: ; preds = %if.else229 + %185 = load %struct.option*, %struct.option** %p, align 8 + store %struct.option* %185, %struct.option** %pfound, align 8 + %186 = load i32, i32* %option_index, align 4 + store i32 %186, i32* %indfound, align 4 + br label %for.inc252 + +if.else233: ; preds = %if.else229 + %187 = load i32, i32* %long_only.addr, align 4 + %tobool234 = icmp ne i32 %187, 0 + br i1 %tobool234, label %if.then247, label %lor.lhs.false235 + +lor.lhs.false235: ; preds = %if.else233 + %188 = load %struct.option*, %struct.option** %pfound, align 8 + %has_arg = getelementptr inbounds %struct.option, %struct.option* %188, i32 0, i32 1 + %189 = load i32, i32* %has_arg, align 8 + %190 = load %struct.option*, %struct.option** %p, align 8 + %has_arg236 = getelementptr inbounds %struct.option, %struct.option* %190, i32 0, i32 1 + %191 = load i32, i32* %has_arg236, align 8 + %cmp237 = icmp ne i32 %189, %191 + br i1 %cmp237, label %if.then247, label %lor.lhs.false239 + +lor.lhs.false239: ; preds = %lor.lhs.false235 + %192 = load %struct.option*, %struct.option** %pfound, align 8 + %flag = getelementptr inbounds %struct.option, %struct.option* %192, i32 0, i32 2 + %193 = load i32*, i32** %flag, align 8 + %194 = load %struct.option*, %struct.option** %p, align 8 + %flag240 = getelementptr inbounds %struct.option, %struct.option* %194, i32 0, i32 2 + %195 = load i32*, i32** %flag240, align 8 + %cmp241 = icmp ne i32* %193, %195 + br i1 %cmp241, label %if.then247, label %lor.lhs.false243 + +lor.lhs.false243: ; preds = %lor.lhs.false239 + %196 = load %struct.option*, %struct.option** %pfound, align 8 + %val = getelementptr inbounds %struct.option, %struct.option* %196, i32 0, i32 3 + %197 = load i32, i32* %val, align 8 + %198 = load %struct.option*, %struct.option** %p, align 8 + %val244 = getelementptr inbounds %struct.option, %struct.option* %198, i32 0, i32 3 + %199 = load i32, i32* %val244, align 8 + %cmp245 = icmp ne i32 %197, %199 + br i1 %cmp245, label %if.then247, label %for.inc252 + +if.then247: ; preds = %lor.lhs.false243, %lor.lhs.false239, %lor.lhs.false235, %if.else233 + store i32 1, i32* %ambig, align 4 + br label %for.inc252 + +for.inc252: ; preds = %for.body211, %if.then232, %if.then247, %lor.lhs.false243 + %200 = load %struct.option*, %struct.option** %p, align 8 + %incdec.ptr253 = getelementptr inbounds %struct.option, %struct.option* %200, i32 1 + store %struct.option* %incdec.ptr253, %struct.option** %p, align 8 + %201 = load i32, i32* %option_index, align 4 + %inc254 = add nsw i32 %201, 1 + store i32 %inc254, i32* %option_index, align 4 + br label %for.cond209 + +for.end255: ; preds = %if.then228, %for.cond209 + %202 = load i32, i32* %ambig, align 4 + %tobool256 = icmp eq i32 %202, 0 + %203 = load i32, i32* %exact, align 4 + %tobool258 = icmp ne i32 %203, 0 + %or.cond = or i1 %tobool256, %tobool258 + br i1 %or.cond, label %if.end274, label %if.then259 + +if.then259: ; preds = %for.end255 + %204 = load i32, i32* %print_errors, align 4 + %tobool260 = icmp ne i32 %204, 0 + br i1 %tobool260, label %if.then261, label %if.end267 + +if.then261: ; preds = %if.then259 + %205 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %206 = load i8**, i8*** %argv.addr, align 8 + %arrayidx262 = getelementptr inbounds i8*, i8** %206, i64 0 + %207 = load i8*, i8** %arrayidx262, align 8 + %208 = load i8**, i8*** %argv.addr, align 8 + %209 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind263 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %209, i32 0, i32 0 + %210 = load i32, i32* %optind263, align 8 + %idxprom264 = sext i32 %210 to i64 + %arrayidx265 = getelementptr inbounds i8*, i8** %208, i64 %idxprom264 + %211 = load i8*, i8** %arrayidx265, align 8 + %call266 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %205, i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.1.306, i64 0, i64 0), i8* %207, i8* %211) #18 + br label %if.end267 + +if.end267: ; preds = %if.then261, %if.then259 + %212 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar268 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %212, i32 0, i32 5 + %213 = load i8*, i8** %__nextchar268, align 8 + %call269 = call i64 @strlen(i8* %213) #20 + %214 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar270 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %214, i32 0, i32 5 + %215 = load i8*, i8** %__nextchar270, align 8 + %add.ptr271 = getelementptr inbounds i8, i8* %215, i64 %call269 + store i8* %add.ptr271, i8** %__nextchar270, align 8 + %216 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind272 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %216, i32 0, i32 0 + %217 = load i32, i32* %optind272, align 8 + %inc273 = add nsw i32 %217, 1 + store i32 %inc273, i32* %optind272, align 8 + %218 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %218, i32 0, i32 2 + store i32 0, i32* %optopt, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.end274: ; preds = %for.end255 + %219 = load %struct.option*, %struct.option** %pfound, align 8 + %cmp275 = icmp ne %struct.option* %219, null + br i1 %cmp275, label %if.then277, label %if.end372 + +if.then277: ; preds = %if.end274 + %220 = load i32, i32* %indfound, align 4 + store i32 %220, i32* %option_index, align 4 + %221 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind278 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %221, i32 0, i32 0 + %222 = load i32, i32* %optind278, align 8 + %inc279 = add nsw i32 %222, 1 + store i32 %inc279, i32* %optind278, align 8 + %223 = load i8*, i8** %nameend, align 8 + %224 = load i8, i8* %223, align 1 + %tobool280 = icmp ne i8 %224, 0 + %225 = load %struct.option*, %struct.option** %pfound, align 8 + %has_arg282 = getelementptr inbounds %struct.option, %struct.option* %225, i32 0, i32 1 + %226 = load i32, i32* %has_arg282, align 8 + br i1 %tobool280, label %if.then281, label %if.else320 + +if.then281: ; preds = %if.then277 + %tobool283 = icmp ne i32 %226, 0 + br i1 %tobool283, label %if.then284, label %if.else287 + +if.then284: ; preds = %if.then281 + %227 = load i8*, i8** %nameend, align 8 + %add.ptr285 = getelementptr inbounds i8, i8* %227, i64 1 + %228 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg286 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %228, i32 0, i32 3 + store i8* %add.ptr285, i8** %optarg286, align 8 + br label %if.end356 + +if.else287: ; preds = %if.then281 + %229 = load i32, i32* %print_errors, align 4 + %tobool288 = icmp ne i32 %229, 0 + br i1 %tobool288, label %if.then289, label %if.end312 + +if.then289: ; preds = %if.else287 + %230 = load i8**, i8*** %argv.addr, align 8 + %231 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind290 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %231, i32 0, i32 0 + %232 = load i32, i32* %optind290, align 8 + %sub = sub nsw i32 %232, 1 + %idxprom291 = sext i32 %sub to i64 + %arrayidx292 = getelementptr inbounds i8*, i8** %230, i64 %idxprom291 + %233 = load i8*, i8** %arrayidx292, align 8 + %arrayidx293 = getelementptr inbounds i8, i8* %233, i64 1 + %234 = load i8, i8* %arrayidx293, align 1 + %conv294 = sext i8 %234 to i32 + %cmp295 = icmp eq i32 %conv294, 45 + %235 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %236 = load i8**, i8*** %argv.addr, align 8 + %arrayidx298 = getelementptr inbounds i8*, i8** %236, i64 0 + %237 = load i8*, i8** %arrayidx298, align 8 + br i1 %cmp295, label %if.then297, label %if.else301 + +if.then297: ; preds = %if.then289 + %238 = load %struct.option*, %struct.option** %pfound, align 8 + %name299 = getelementptr inbounds %struct.option, %struct.option* %238, i32 0, i32 0 + %239 = load i8*, i8** %name299, align 8 + %call300 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %235, i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.2.307, i64 0, i64 0), i8* %237, i8* %239) #18 + br label %if.end312 + +if.else301: ; preds = %if.then289 + %240 = load i8**, i8*** %argv.addr, align 8 + %241 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind303 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %241, i32 0, i32 0 + %242 = load i32, i32* %optind303, align 8 + %sub304 = sub nsw i32 %242, 1 + %idxprom305 = sext i32 %sub304 to i64 + %arrayidx306 = getelementptr inbounds i8*, i8** %240, i64 %idxprom305 + %243 = load i8*, i8** %arrayidx306, align 8 + %arrayidx307 = getelementptr inbounds i8, i8* %243, i64 0 + %244 = load i8, i8* %arrayidx307, align 1 + %conv308 = sext i8 %244 to i32 + %245 = load %struct.option*, %struct.option** %pfound, align 8 + %name309 = getelementptr inbounds %struct.option, %struct.option* %245, i32 0, i32 0 + %246 = load i8*, i8** %name309, align 8 + %call310 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %235, i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.3.308, i64 0, i64 0), i8* %237, i32 %conv308, i8* %246) #18 + br label %if.end312 + +if.end312: ; preds = %if.then297, %if.else301, %if.else287 + %247 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar313 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %247, i32 0, i32 5 + %248 = load i8*, i8** %__nextchar313, align 8 + %call314 = call i64 @strlen(i8* %248) #20 + %249 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar315 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %249, i32 0, i32 5 + %250 = load i8*, i8** %__nextchar315, align 8 + %add.ptr316 = getelementptr inbounds i8, i8* %250, i64 %call314 + store i8* %add.ptr316, i8** %__nextchar315, align 8 + %251 = load %struct.option*, %struct.option** %pfound, align 8 + %val317 = getelementptr inbounds %struct.option, %struct.option* %251, i32 0, i32 3 + %252 = load i32, i32* %val317, align 8 + %253 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt318 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %253, i32 0, i32 2 + store i32 %252, i32* %optopt318, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.else320: ; preds = %if.then277 + %cmp322 = icmp eq i32 %226, 1 + br i1 %cmp322, label %if.then324, label %if.end356 + +if.then324: ; preds = %if.else320 + %254 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind325 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %254, i32 0, i32 0 + %255 = load i32, i32* %optind325, align 8 + %256 = load i32, i32* %argc.addr, align 4 + %cmp326 = icmp slt i32 %255, %256 + br i1 %cmp326, label %if.then328, label %if.else334 + +if.then328: ; preds = %if.then324 + %257 = load i8**, i8*** %argv.addr, align 8 + %258 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind329 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %258, i32 0, i32 0 + %259 = load i32, i32* %optind329, align 8 + %inc330 = add nsw i32 %259, 1 + store i32 %inc330, i32* %optind329, align 8 + %idxprom331 = sext i32 %259 to i64 + %arrayidx332 = getelementptr inbounds i8*, i8** %257, i64 %idxprom331 + %260 = load i8*, i8** %arrayidx332, align 8 + %261 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg333 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %261, i32 0, i32 3 + store i8* %260, i8** %optarg333, align 8 + br label %if.end356 + +if.else334: ; preds = %if.then324 + %262 = load i32, i32* %print_errors, align 4 + %tobool335 = icmp ne i32 %262, 0 + br i1 %tobool335, label %if.then336, label %if.end343 + +if.then336: ; preds = %if.else334 + %263 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %264 = load i8**, i8*** %argv.addr, align 8 + %arrayidx337 = getelementptr inbounds i8*, i8** %264, i64 0 + %265 = load i8*, i8** %arrayidx337, align 8 + %266 = load i8**, i8*** %argv.addr, align 8 + %267 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind338 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %267, i32 0, i32 0 + %268 = load i32, i32* %optind338, align 8 + %sub339 = sub nsw i32 %268, 1 + %idxprom340 = sext i32 %sub339 to i64 + %arrayidx341 = getelementptr inbounds i8*, i8** %266, i64 %idxprom340 + %269 = load i8*, i8** %arrayidx341, align 8 + %call342 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %263, i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.4.309, i64 0, i64 0), i8* %265, i8* %269) #18 + br label %if.end343 + +if.end343: ; preds = %if.then336, %if.else334 + %270 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar344 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %270, i32 0, i32 5 + %271 = load i8*, i8** %__nextchar344, align 8 + %call345 = call i64 @strlen(i8* %271) #20 + %272 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar346 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %272, i32 0, i32 5 + %273 = load i8*, i8** %__nextchar346, align 8 + %add.ptr347 = getelementptr inbounds i8, i8* %273, i64 %call345 + store i8* %add.ptr347, i8** %__nextchar346, align 8 + %274 = load %struct.option*, %struct.option** %pfound, align 8 + %val348 = getelementptr inbounds %struct.option, %struct.option* %274, i32 0, i32 3 + %275 = load i32, i32* %val348, align 8 + %276 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt349 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %276, i32 0, i32 2 + store i32 %275, i32* %optopt349, align 8 + %277 = load i8*, i8** %optstring.addr, align 8 + %arrayidx350 = getelementptr inbounds i8, i8* %277, i64 0 + %278 = load i8, i8* %arrayidx350, align 1 + %conv351 = sext i8 %278 to i32 + %cmp352 = icmp eq i32 %conv351, 58 + %279 = zext i1 %cmp352 to i64 + %cond = select i1 %cmp352, i32 58, i32 63 + store i32 %cond, i32* %retval, align 4 + br label %return + +if.end356: ; preds = %if.else320, %if.then328, %if.then284 + %280 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar357 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %280, i32 0, i32 5 + %281 = load i8*, i8** %__nextchar357, align 8 + %call358 = call i64 @strlen(i8* %281) #20 + %282 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar359 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %282, i32 0, i32 5 + %283 = load i8*, i8** %__nextchar359, align 8 + %add.ptr360 = getelementptr inbounds i8, i8* %283, i64 %call358 + store i8* %add.ptr360, i8** %__nextchar359, align 8 + %284 = load i32*, i32** %longind.addr, align 8 + %cmp361 = icmp ne i32* %284, null + br i1 %cmp361, label %if.then363, label %if.end364 + +if.then363: ; preds = %if.end356 + %285 = load i32, i32* %option_index, align 4 + %286 = load i32*, i32** %longind.addr, align 8 + store i32 %285, i32* %286, align 4 + br label %if.end364 + +if.end364: ; preds = %if.then363, %if.end356 + %287 = load %struct.option*, %struct.option** %pfound, align 8 + %flag365 = getelementptr inbounds %struct.option, %struct.option* %287, i32 0, i32 2 + %288 = load i32*, i32** %flag365, align 8 + %tobool366 = icmp ne i32* %288, null + %289 = load %struct.option*, %struct.option** %pfound, align 8 + %val368 = getelementptr inbounds %struct.option, %struct.option* %289, i32 0, i32 3 + %290 = load i32, i32* %val368, align 8 + br i1 %tobool366, label %if.then367, label %if.end370 + +if.then367: ; preds = %if.end364 + %291 = load %struct.option*, %struct.option** %pfound, align 8 + %flag369 = getelementptr inbounds %struct.option, %struct.option* %291, i32 0, i32 2 + %292 = load i32*, i32** %flag369, align 8 + store i32 %290, i32* %292, align 4 + store i32 0, i32* %retval, align 4 + br label %return + +if.end370: ; preds = %if.end364 + store i32 %290, i32* %retval, align 4 + br label %return + +if.end372: ; preds = %if.end274 + %293 = load i32, i32* %long_only.addr, align 4 + %tobool373 = icmp ne i32 %293, 0 + br i1 %tobool373, label %lor.lhs.false374, label %if.then388 + +lor.lhs.false374: ; preds = %if.end372 + %294 = load i8**, i8*** %argv.addr, align 8 + %295 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind375 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %295, i32 0, i32 0 + %296 = load i32, i32* %optind375, align 8 + %idxprom376 = sext i32 %296 to i64 + %arrayidx377 = getelementptr inbounds i8*, i8** %294, i64 %idxprom376 + %297 = load i8*, i8** %arrayidx377, align 8 + %arrayidx378 = getelementptr inbounds i8, i8* %297, i64 1 + %298 = load i8, i8* %arrayidx378, align 1 + %conv379 = sext i8 %298 to i32 + %cmp380 = icmp eq i32 %conv379, 45 + br i1 %cmp380, label %if.then388, label %lor.lhs.false382 + +lor.lhs.false382: ; preds = %lor.lhs.false374 + %299 = load i8*, i8** %optstring.addr, align 8 + %300 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar383 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %300, i32 0, i32 5 + %301 = load i8*, i8** %__nextchar383, align 8 + %302 = load i8, i8* %301, align 1 + %conv384 = sext i8 %302 to i32 + %call385 = call i8* @strchr(i8* %299, i32 %conv384) #20 + %cmp386 = icmp eq i8* %call385, null + br i1 %cmp386, label %if.then388, label %if.end418 + +if.then388: ; preds = %lor.lhs.false382, %lor.lhs.false374, %if.end372 + %303 = load i32, i32* %print_errors, align 4 + %tobool389 = icmp ne i32 %303, 0 + br i1 %tobool389, label %if.then390, label %if.end412 + +if.then390: ; preds = %if.then388 + %304 = load i8**, i8*** %argv.addr, align 8 + %305 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind391 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %305, i32 0, i32 0 + %306 = load i32, i32* %optind391, align 8 + %idxprom392 = sext i32 %306 to i64 + %arrayidx393 = getelementptr inbounds i8*, i8** %304, i64 %idxprom392 + %307 = load i8*, i8** %arrayidx393, align 8 + %arrayidx394 = getelementptr inbounds i8, i8* %307, i64 1 + %308 = load i8, i8* %arrayidx394, align 1 + %conv395 = sext i8 %308 to i32 + %cmp396 = icmp eq i32 %conv395, 45 + %309 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %310 = load i8**, i8*** %argv.addr, align 8 + %arrayidx399 = getelementptr inbounds i8*, i8** %310, i64 0 + %311 = load i8*, i8** %arrayidx399, align 8 + br i1 %cmp396, label %if.then398, label %if.else402 + +if.then398: ; preds = %if.then390 + %312 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar400 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %312, i32 0, i32 5 + %313 = load i8*, i8** %__nextchar400, align 8 + %call401 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %309, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.5.310, i64 0, i64 0), i8* %311, i8* %313) #18 + br label %if.end412 + +if.else402: ; preds = %if.then390 + %314 = load i8**, i8*** %argv.addr, align 8 + %315 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind404 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %315, i32 0, i32 0 + %316 = load i32, i32* %optind404, align 8 + %idxprom405 = sext i32 %316 to i64 + %arrayidx406 = getelementptr inbounds i8*, i8** %314, i64 %idxprom405 + %317 = load i8*, i8** %arrayidx406, align 8 + %arrayidx407 = getelementptr inbounds i8, i8* %317, i64 0 + %318 = load i8, i8* %arrayidx407, align 1 + %conv408 = sext i8 %318 to i32 + %319 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar409 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %319, i32 0, i32 5 + %320 = load i8*, i8** %__nextchar409, align 8 + %call410 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %309, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.6.311, i64 0, i64 0), i8* %311, i32 %conv408, i8* %320) #18 + br label %if.end412 + +if.end412: ; preds = %if.then398, %if.else402, %if.then388 + %321 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar413 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %321, i32 0, i32 5 + store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.7.312, i64 0, i64 0), i8** %__nextchar413, align 8 + %322 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind414 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %322, i32 0, i32 0 + %323 = load i32, i32* %optind414, align 8 + %inc415 = add nsw i32 %323, 1 + store i32 %inc415, i32* %optind414, align 8 + %324 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt416 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %324, i32 0, i32 2 + store i32 0, i32* %optopt416, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.end418: ; preds = %lor.lhs.false382, %lor.lhs.false191, %lor.lhs.false182, %if.end171 + %325 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar419 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %325, i32 0, i32 5 + %326 = load i8*, i8** %__nextchar419, align 8 + %incdec.ptr420 = getelementptr inbounds i8, i8* %326, i32 1 + store i8* %incdec.ptr420, i8** %__nextchar419, align 8 + %327 = load i8, i8* %326, align 1 + store i8 %327, i8* %c, align 1 + %328 = load i8*, i8** %optstring.addr, align 8 + %329 = load i8, i8* %c, align 1 + %conv421 = sext i8 %329 to i32 + %call422 = call i8* @strchr(i8* %328, i32 %conv421) #20 + store i8* %call422, i8** %temp, align 8 + %330 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar423 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %330, i32 0, i32 5 + %331 = load i8*, i8** %__nextchar423, align 8 + %332 = load i8, i8* %331, align 1 + %conv424 = sext i8 %332 to i32 + %cmp425 = icmp eq i32 %conv424, 0 + br i1 %cmp425, label %if.then427, label %if.end430 + +if.then427: ; preds = %if.end418 + %333 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind428 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %333, i32 0, i32 0 + %334 = load i32, i32* %optind428, align 8 + %inc429 = add nsw i32 %334, 1 + store i32 %inc429, i32* %optind428, align 8 + br label %if.end430 + +if.end430: ; preds = %if.then427, %if.end418 + %335 = load i8*, i8** %temp, align 8 + %cmp431 = icmp eq i8* %335, null + br i1 %cmp431, label %if.then437, label %lor.lhs.false433 + +lor.lhs.false433: ; preds = %if.end430 + %336 = load i8, i8* %c, align 1 + %conv434 = sext i8 %336 to i32 + %cmp435 = icmp eq i32 %conv434, 58 + br i1 %cmp435, label %if.then437, label %if.end453 + +if.then437: ; preds = %lor.lhs.false433, %if.end430 + %337 = load i32, i32* %print_errors, align 4 + %tobool438 = icmp ne i32 %337, 0 + br i1 %tobool438, label %if.then439, label %if.end450 + +if.then439: ; preds = %if.then437 + %338 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__posixly_correct = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %338, i32 0, i32 7 + %339 = load i32, i32* %__posixly_correct, align 4 + %tobool440 = icmp ne i32 %339, 0 + %340 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %341 = load i8**, i8*** %argv.addr, align 8 + %arrayidx442 = getelementptr inbounds i8*, i8** %341, i64 0 + %342 = load i8*, i8** %arrayidx442, align 8 + %343 = load i8, i8* %c, align 1 + %conv443 = sext i8 %343 to i32 + br i1 %tobool440, label %if.then441, label %if.else445 + +if.then441: ; preds = %if.then439 + %call444 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %340, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.8.313, i64 0, i64 0), i8* %342, i32 %conv443) #18 + br label %if.end450 + +if.else445: ; preds = %if.then439 + %call448 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %340, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.9.314, i64 0, i64 0), i8* %342, i32 %conv443) #18 + br label %if.end450 + +if.end450: ; preds = %if.then441, %if.else445, %if.then437 + %344 = load i8, i8* %c, align 1 + %conv451 = sext i8 %344 to i32 + %345 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt452 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %345, i32 0, i32 2 + store i32 %conv451, i32* %optopt452, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.end453: ; preds = %lor.lhs.false433 + %346 = load i8*, i8** %temp, align 8 + %arrayidx454 = getelementptr inbounds i8, i8* %346, i64 1 + %347 = load i8, i8* %arrayidx454, align 1 + %conv455 = sext i8 %347 to i32 + %cmp456 = icmp eq i32 %conv455, 58 + br i1 %cmp456, label %if.then458, label %if.end517 + +if.then458: ; preds = %if.end453 + %348 = load i8*, i8** %temp, align 8 + %arrayidx459 = getelementptr inbounds i8, i8* %348, i64 2 + %349 = load i8, i8* %arrayidx459, align 1 + %conv460 = sext i8 %349 to i32 + %cmp461 = icmp eq i32 %conv460, 58 + %350 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar464 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %350, i32 0, i32 5 + %351 = load i8*, i8** %__nextchar464, align 8 + %352 = load i8, i8* %351, align 1 + %conv465 = sext i8 %352 to i32 + %cmp466 = icmp ne i32 %conv465, 0 + %353 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + br i1 %cmp461, label %if.then463, label %if.else477 + +if.then463: ; preds = %if.then458 + br i1 %cmp466, label %if.then468, label %if.else473 + +if.then468: ; preds = %if.then463 + %__nextchar469 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 5 + %354 = load i8*, i8** %__nextchar469, align 8 + %355 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg470 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %355, i32 0, i32 3 + store i8* %354, i8** %optarg470, align 8 + %356 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind471 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %356, i32 0, i32 0 + %357 = load i32, i32* %optind471, align 8 + %inc472 = add nsw i32 %357, 1 + store i32 %inc472, i32* %optind471, align 8 + br label %if.end475 + +if.else473: ; preds = %if.then463 + %optarg474 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 3 + store i8* null, i8** %optarg474, align 8 + br label %if.end475 + +if.end475: ; preds = %if.else473, %if.then468 + %358 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar476 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %358, i32 0, i32 5 + store i8* null, i8** %__nextchar476, align 8 + br label %if.end517 + +if.else477: ; preds = %if.then458 + br i1 %cmp466, label %if.then482, label %if.else487 + +if.then482: ; preds = %if.else477 + %__nextchar483 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 5 + %359 = load i8*, i8** %__nextchar483, align 8 + %360 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg484 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %360, i32 0, i32 3 + store i8* %359, i8** %optarg484, align 8 + %361 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind485 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %361, i32 0, i32 0 + %362 = load i32, i32* %optind485, align 8 + %inc486 = add nsw i32 %362, 1 + store i32 %inc486, i32* %optind485, align 8 + br label %if.end514 + +if.else487: ; preds = %if.else477 + %optind488 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 0 + %363 = load i32, i32* %optind488, align 8 + %364 = load i32, i32* %argc.addr, align 4 + %cmp489 = icmp eq i32 %363, %364 + br i1 %cmp489, label %if.then491, label %if.else507 + +if.then491: ; preds = %if.else487 + %365 = load i32, i32* %print_errors, align 4 + %tobool492 = icmp ne i32 %365, 0 + br i1 %tobool492, label %if.then493, label %if.end497 + +if.then493: ; preds = %if.then491 + %366 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %367 = load i8**, i8*** %argv.addr, align 8 + %arrayidx494 = getelementptr inbounds i8*, i8** %367, i64 0 + %368 = load i8*, i8** %arrayidx494, align 8 + %369 = load i8, i8* %c, align 1 + %conv495 = sext i8 %369 to i32 + %call496 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %366, i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.10.315, i64 0, i64 0), i8* %368, i32 %conv495) #18 + br label %if.end497 + +if.end497: ; preds = %if.then493, %if.then491 + %370 = load i8, i8* %c, align 1 + %conv498 = sext i8 %370 to i32 + %371 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt499 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %371, i32 0, i32 2 + store i32 %conv498, i32* %optopt499, align 8 + %372 = load i8*, i8** %optstring.addr, align 8 + %arrayidx500 = getelementptr inbounds i8, i8* %372, i64 0 + %373 = load i8, i8* %arrayidx500, align 1 + %conv501 = sext i8 %373 to i32 + %cmp502 = icmp eq i32 %conv501, 58 + br i1 %cmp502, label %if.then504, label %if.else505 + +if.then504: ; preds = %if.end497 + store i8 58, i8* %c, align 1 + br label %if.end514 + +if.else505: ; preds = %if.end497 + store i8 63, i8* %c, align 1 + br label %if.end514 + +if.else507: ; preds = %if.else487 + %374 = load i8**, i8*** %argv.addr, align 8 + %375 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind508 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %375, i32 0, i32 0 + %376 = load i32, i32* %optind508, align 8 + %inc509 = add nsw i32 %376, 1 + store i32 %inc509, i32* %optind508, align 8 + %idxprom510 = sext i32 %376 to i64 + %arrayidx511 = getelementptr inbounds i8*, i8** %374, i64 %idxprom510 + %377 = load i8*, i8** %arrayidx511, align 8 + %378 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg512 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %378, i32 0, i32 3 + store i8* %377, i8** %optarg512, align 8 + br label %if.end514 + +if.end514: ; preds = %if.else507, %if.else505, %if.then504, %if.then482 + %379 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar515 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %379, i32 0, i32 5 + store i8* null, i8** %__nextchar515, align 8 + br label %if.end517 + +if.end517: ; preds = %if.end475, %if.end514, %if.end453 + %380 = load i8, i8* %c, align 1 + %conv518 = sext i8 %380 to i32 + store i32 %conv518, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end517, %if.end450, %if.end412, %if.end370, %if.then367, %if.end343, %if.end312, %if.end267, %if.end148, %if.then147, %if.end126, %if.then4 + %381 = load i32, i32* %retval, align 4 + ret i32 %381 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @_getopt_initialize(i32 %argc, i8** %argv, i8* %optstring, %struct._getopt_data* %d) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + %d.addr = alloca %struct._getopt_data*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + store %struct._getopt_data* %d, %struct._getopt_data** %d.addr, align 8 + %0 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %0, i32 0, i32 0 + %1 = load i32, i32* %optind, align 8 + %2 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %2, i32 0, i32 9 + store i32 %1, i32* %__last_nonopt, align 4 + %3 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %3, i32 0, i32 8 + store i32 %1, i32* %__first_nonopt, align 8 + %4 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %4, i32 0, i32 5 + store i8* null, i8** %__nextchar, align 8 + %call = call i8* @getenv(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.11.316, i64 0, i64 0)) #19 + %tobool = icmp ne i8* %call, null + %lnot = xor i1 %tobool, true + %lnot1 = xor i1 %lnot, true + %lnot.ext = zext i1 %lnot1 to i32 + %5 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__posixly_correct = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %5, i32 0, i32 7 + store i32 %lnot.ext, i32* %__posixly_correct, align 4 + %6 = load i8*, i8** %optstring.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %6, i64 0 + %7 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %7 to i32 + %cmp = icmp eq i32 %conv, 45 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %8 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %8, i32 0, i32 6 + store i32 2, i32* %__ordering, align 8 + %9 = load i8*, i8** %optstring.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %optstring.addr, align 8 + br label %if.end18 + +if.else: ; preds = %entry + %10 = load i8*, i8** %optstring.addr, align 8 + %arrayidx3 = getelementptr inbounds i8, i8* %10, i64 0 + %11 = load i8, i8* %arrayidx3, align 1 + %conv4 = sext i8 %11 to i32 + %cmp5 = icmp eq i32 %conv4, 43 + %12 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + br i1 %cmp5, label %if.then7, label %if.else10 + +if.then7: ; preds = %if.else + %__ordering8 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %12, i32 0, i32 6 + store i32 0, i32* %__ordering8, align 8 + %13 = load i8*, i8** %optstring.addr, align 8 + %incdec.ptr9 = getelementptr inbounds i8, i8* %13, i32 1 + store i8* %incdec.ptr9, i8** %optstring.addr, align 8 + br label %if.end18 + +if.else10: ; preds = %if.else + %__posixly_correct11 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %12, i32 0, i32 7 + %14 = load i32, i32* %__posixly_correct11, align 4 + %tobool12 = icmp ne i32 %14, 0 + %15 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering14 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %15, i32 0, i32 6 + br i1 %tobool12, label %if.then13, label %if.else15 + +if.then13: ; preds = %if.else10 + store i32 0, i32* %__ordering14, align 8 + br label %if.end18 + +if.else15: ; preds = %if.else10 + store i32 1, i32* %__ordering14, align 8 + br label %if.end18 + +if.end18: ; preds = %if.then7, %if.else15, %if.then13, %if.then + %16 = load i8*, i8** %optstring.addr, align 8 + ret i8* %16 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @exchange(i8** %argv, %struct._getopt_data* %d) #0 { +entry: + %argv.addr = alloca i8**, align 8 + %d.addr = alloca %struct._getopt_data*, align 8 + %bottom = alloca i32, align 4 + %middle = alloca i32, align 4 + %top = alloca i32, align 4 + %tem = alloca i8*, align 8 + %len = alloca i32, align 4 + %i = alloca i32, align 4 + %len20 = alloca i32, align 4 + %i22 = alloca i32, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store %struct._getopt_data* %d, %struct._getopt_data** %d.addr, align 8 + %0 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %0, i32 0, i32 8 + %1 = load i32, i32* %__first_nonopt, align 8 + store i32 %1, i32* %bottom, align 4 + %2 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %2, i32 0, i32 9 + %3 = load i32, i32* %__last_nonopt, align 4 + store i32 %3, i32* %middle, align 4 + %4 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %4, i32 0, i32 0 + %5 = load i32, i32* %optind, align 8 + store i32 %5, i32* %top, align 4 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %6 = load i32, i32* %top, align 4 + %7 = load i32, i32* %middle, align 4 + %cmp = icmp sgt i32 %6, %7 + %8 = load i32, i32* %middle, align 4 + %9 = load i32, i32* %bottom, align 4 + %cmp1 = icmp sgt i32 %8, %9 + %10 = select i1 %cmp, i1 %cmp1, i1 false + br i1 %10, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %11 = load i32, i32* %top, align 4 + %12 = load i32, i32* %middle, align 4 + %sub = sub nsw i32 %11, %12 + %13 = load i32, i32* %middle, align 4 + %14 = load i32, i32* %bottom, align 4 + %sub2 = sub nsw i32 %13, %14 + %cmp3 = icmp sgt i32 %sub, %sub2 + br i1 %cmp3, label %if.then, label %if.else + +if.then: ; preds = %while.body + %15 = load i32, i32* %middle, align 4 + %16 = load i32, i32* %bottom, align 4 + %sub4 = sub nsw i32 %15, %16 + store i32 %sub4, i32* %len, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.then + %17 = load i32, i32* %i, align 4 + %18 = load i32, i32* %len, align 4 + %cmp5 = icmp slt i32 %17, %18 + br i1 %cmp5, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %19 = load i8**, i8*** %argv.addr, align 8 + %20 = load i32, i32* %bottom, align 4 + %21 = load i32, i32* %i, align 4 + %add = add nsw i32 %20, %21 + %idxprom = sext i32 %add to i64 + %arrayidx = getelementptr inbounds i8*, i8** %19, i64 %idxprom + %22 = load i8*, i8** %arrayidx, align 8 + store i8* %22, i8** %tem, align 8 + %23 = load i8**, i8*** %argv.addr, align 8 + %24 = load i32, i32* %top, align 4 + %25 = load i32, i32* %middle, align 4 + %26 = load i32, i32* %bottom, align 4 + %sub6 = sub nsw i32 %25, %26 + %sub7 = sub nsw i32 %24, %sub6 + %27 = load i32, i32* %i, align 4 + %add8 = add nsw i32 %sub7, %27 + %idxprom9 = sext i32 %add8 to i64 + %arrayidx10 = getelementptr inbounds i8*, i8** %23, i64 %idxprom9 + %28 = load i8*, i8** %arrayidx10, align 8 + %29 = load i8**, i8*** %argv.addr, align 8 + %30 = load i32, i32* %bottom, align 4 + %31 = load i32, i32* %i, align 4 + %add11 = add nsw i32 %30, %31 + %idxprom12 = sext i32 %add11 to i64 + %arrayidx13 = getelementptr inbounds i8*, i8** %29, i64 %idxprom12 + store i8* %28, i8** %arrayidx13, align 8 + %32 = load i8*, i8** %tem, align 8 + %33 = load i8**, i8*** %argv.addr, align 8 + %34 = load i32, i32* %top, align 4 + %35 = load i32, i32* %middle, align 4 + %36 = load i32, i32* %bottom, align 4 + %sub14 = sub nsw i32 %35, %36 + %sub15 = sub nsw i32 %34, %sub14 + %37 = load i32, i32* %i, align 4 + %add16 = add nsw i32 %sub15, %37 + %idxprom17 = sext i32 %add16 to i64 + %arrayidx18 = getelementptr inbounds i8*, i8** %33, i64 %idxprom17 + store i8* %32, i8** %arrayidx18, align 8 + %38 = load i32, i32* %i, align 4 + %inc = add nsw i32 %38, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %39 = load i32, i32* %len, align 4 + %40 = load i32, i32* %top, align 4 + %sub19 = sub nsw i32 %40, %39 + store i32 %sub19, i32* %top, align 4 + br label %if.end + +if.else: ; preds = %while.body + %41 = load i32, i32* %top, align 4 + %42 = load i32, i32* %middle, align 4 + %sub21 = sub nsw i32 %41, %42 + store i32 %sub21, i32* %len20, align 4 + store i32 0, i32* %i22, align 4 + br label %for.cond23 + +for.cond23: ; preds = %for.body25, %if.else + %43 = load i32, i32* %i22, align 4 + %44 = load i32, i32* %len20, align 4 + %cmp24 = icmp slt i32 %43, %44 + br i1 %cmp24, label %for.body25, label %for.end40 + +for.body25: ; preds = %for.cond23 + %45 = load i8**, i8*** %argv.addr, align 8 + %46 = load i32, i32* %bottom, align 4 + %47 = load i32, i32* %i22, align 4 + %add26 = add nsw i32 %46, %47 + %idxprom27 = sext i32 %add26 to i64 + %arrayidx28 = getelementptr inbounds i8*, i8** %45, i64 %idxprom27 + %48 = load i8*, i8** %arrayidx28, align 8 + store i8* %48, i8** %tem, align 8 + %49 = load i8**, i8*** %argv.addr, align 8 + %50 = load i32, i32* %middle, align 4 + %51 = load i32, i32* %i22, align 4 + %add29 = add nsw i32 %50, %51 + %idxprom30 = sext i32 %add29 to i64 + %arrayidx31 = getelementptr inbounds i8*, i8** %49, i64 %idxprom30 + %52 = load i8*, i8** %arrayidx31, align 8 + %53 = load i8**, i8*** %argv.addr, align 8 + %54 = load i32, i32* %bottom, align 4 + %55 = load i32, i32* %i22, align 4 + %add32 = add nsw i32 %54, %55 + %idxprom33 = sext i32 %add32 to i64 + %arrayidx34 = getelementptr inbounds i8*, i8** %53, i64 %idxprom33 + store i8* %52, i8** %arrayidx34, align 8 + %56 = load i8*, i8** %tem, align 8 + %57 = load i8**, i8*** %argv.addr, align 8 + %58 = load i32, i32* %middle, align 4 + %59 = load i32, i32* %i22, align 4 + %add35 = add nsw i32 %58, %59 + %idxprom36 = sext i32 %add35 to i64 + %arrayidx37 = getelementptr inbounds i8*, i8** %57, i64 %idxprom36 + store i8* %56, i8** %arrayidx37, align 8 + %60 = load i32, i32* %i22, align 4 + %inc39 = add nsw i32 %60, 1 + store i32 %inc39, i32* %i22, align 4 + br label %for.cond23 + +for.end40: ; preds = %for.cond23 + %61 = load i32, i32* %len20, align 4 + %62 = load i32, i32* %bottom, align 4 + %add41 = add nsw i32 %62, %61 + store i32 %add41, i32* %bottom, align 4 + br label %if.end + +if.end: ; preds = %for.end40, %for.end + br label %while.cond + +while.end: ; preds = %while.cond + %63 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind42 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %63, i32 0, i32 0 + %64 = load i32, i32* %optind42, align 8 + %65 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt43 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %65, i32 0, i32 9 + %66 = load i32, i32* %__last_nonopt43, align 4 + %sub44 = sub nsw i32 %64, %66 + %67 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt45 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %67, i32 0, i32 8 + %68 = load i32, i32* %__first_nonopt45, align 8 + %add46 = add nsw i32 %68, %sub44 + store i32 %add46, i32* %__first_nonopt45, align 8 + %69 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind47 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %69, i32 0, i32 0 + %70 = load i32, i32* %optind47, align 8 + %71 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt48 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %71, i32 0, i32 9 + store i32 %70, i32* %__last_nonopt48, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getopt(i32 %argc, i8** %argv, i8* %optstring) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + %0 = load i32, i32* %argc.addr, align 4 + %1 = load i8**, i8*** %argv.addr, align 8 + %2 = load i8*, i8** %optstring.addr, align 8 + %call = call i32 @_getopt_internal(i32 %0, i8** %1, i8* %2, %struct.option* null, i32* null, i32 0) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getopt_long(i32 %argc, i8** %argv, i8* %options, %struct.option* %long_options, i32* %opt_index) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %options.addr = alloca i8*, align 8 + %long_options.addr = alloca %struct.option*, align 8 + %opt_index.addr = alloca i32*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %options, i8** %options.addr, align 8 + store %struct.option* %long_options, %struct.option** %long_options.addr, align 8 + store i32* %opt_index, i32** %opt_index.addr, align 8 + %0 = load i32, i32* %argc.addr, align 4 + %1 = load i8**, i8*** %argv.addr, align 8 + %2 = load i8*, i8** %options.addr, align 8 + %3 = load %struct.option*, %struct.option** %long_options.addr, align 8 + %4 = load i32*, i32** %opt_index.addr, align 8 + %call = call i32 @_getopt_internal(i32 %0, i8** %1, i8* %2, %struct.option* %3, i32* %4, i32 0) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getopt_long_only(i32 %argc, i8** %argv, i8* %options, %struct.option* %long_options, i32* %opt_index) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %options.addr = alloca i8*, align 8 + %long_options.addr = alloca %struct.option*, align 8 + %opt_index.addr = alloca i32*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %options, i8** %options.addr, align 8 + store %struct.option* %long_options, %struct.option** %long_options.addr, align 8 + store i32* %opt_index, i32** %opt_index.addr, align 8 + %0 = load i32, i32* %argc.addr, align 4 + %1 = load i8**, i8*** %argv.addr, align 8 + %2 = load i8*, i8** %options.addr, align 8 + %3 = load %struct.option*, %struct.option** %long_options.addr, align 8 + %4 = load i32*, i32** %opt_index.addr, align 8 + %call = call i32 @_getopt_internal(i32 %0, i8** %1, i8* %2, %struct.option* %3, i32* %4, i32 1) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define %struct.__uclibc_locale_struct.201* @newlocale(i32 %category_mask, i8* %locale, %struct.__uclibc_locale_struct.201* %base) #0 { +entry: + %retval = alloca %struct.__uclibc_locale_struct.201*, align 8 + %category_mask.addr = alloca i32, align 4 + %locale.addr = alloca i8*, align 8 + %base.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %p = alloca i8*, align 8 + %i = alloca i32, align 4 + %j = alloca i32, align 4 + %k = alloca i32, align 4 + %new_selector = alloca [14 x i8], align 1 + store i32 %category_mask, i32* %category_mask.addr, align 4 + store i8* %locale, i8** %locale.addr, align 8 + store %struct.__uclibc_locale_struct.201* %base, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %0 = load i32, i32* %category_mask.addr, align 4 + %cmp = icmp eq i32 %0, 64 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 8127, i32* %category_mask.addr, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i8*, i8** %locale.addr, align 8 + %tobool = icmp eq i8* %1, null + %2 = load i32, i32* %category_mask.addr, align 4 + %cmp1 = icmp ugt i32 %2, 8127 + %or.cond = or i1 %tobool, %cmp1 + br i1 %or.cond, label %INVALID, label %if.end3 + +INVALID: ; preds = %if.else, %do.end, %if.end + store i32 22, i32* @errno, align 4 + store %struct.__uclibc_locale_struct.201* null, %struct.__uclibc_locale_struct.201** %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %3 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tobool4 = icmp ne %struct.__uclibc_locale_struct.201* %3, null + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %4, i32 0, i32 6 + %arraydecay5 = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + %cond = select i1 %tobool4, i8* %arraydecay5, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.321, i64 0, i64 0) + %call = call i8* @strcpy(i8* %arraydecay, i8* %cond) #19 + %5 = load i8*, i8** %locale.addr, align 8 + %6 = load i8, i8* %5, align 1 + %tobool6 = icmp ne i8 %6, 0 + br i1 %tobool6, label %if.else, label %if.then7 + +if.then7: ; preds = %if.end3 + store i32 1, i32* %i, align 4 + store i32 0, i32* %k, align 4 + br label %do.body + +do.body: ; preds = %if.end25, %if.then7 + %7 = load i32, i32* %category_mask.addr, align 4 + %8 = load i32, i32* %i, align 4 + %and = and i32 %7, %8 + %tobool8 = icmp ne i32 %and, 0 + br i1 %tobool8, label %if.then9, label %if.end25 + +if.then9: ; preds = %do.body + %9 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %9, i32 0, i32 34 + %arraydecay10 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names, i64 0, i64 0 + %10 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names11 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %10, i32 0, i32 34 + %11 = load i32, i32* %k, align 4 + %idxprom = sext i32 %11 to i64 + %arrayidx = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names11, i64 0, i64 %idxprom + %12 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %12 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay10, i64 %idx.ext + store i8* %add.ptr, i8** getelementptr inbounds ([4 x i8*], [4 x i8*]* @newlocale.envstr, i64 0, i64 1), align 8 + store i32 0, i32* %j, align 4 + br label %do.body12 + +do.body12: ; preds = %land.rhs, %lor.rhs, %if.then9 + %13 = load i32, i32* %j, align 4 + %idxprom13 = sext i32 %13 to i64 + %arrayidx14 = getelementptr inbounds [4 x i8*], [4 x i8*]* @newlocale.envstr, i64 0, i64 %idxprom13 + %14 = load i8*, i8** %arrayidx14, align 8 + store i8* %14, i8** %p, align 8 + %15 = load i32, i32* %j, align 4 + %inc = add nsw i32 %15, 1 + store i32 %inc, i32* %j, align 4 + %cmp15 = icmp slt i32 %inc, 4 + br i1 %cmp15, label %land.rhs, label %do.end + +land.rhs: ; preds = %do.body12 + %16 = load i8*, i8** %p, align 8 + %call17 = call i8* @getenv(i8* %16) #19 + store i8* %call17, i8** %p, align 8 + %tobool18 = icmp ne i8* %call17, null + br i1 %tobool18, label %lor.rhs, label %do.body12 + +lor.rhs: ; preds = %land.rhs + %17 = load i8*, i8** %p, align 8 + %18 = load i8, i8* %17, align 1 + %tobool19 = icmp ne i8 %18, 0 + %lnot = xor i1 %tobool19, true + br i1 %lnot, label %do.body12, label %do.end + +do.end: ; preds = %do.body12, %lor.rhs + %19 = load i32, i32* %i, align 4 + %20 = load i8*, i8** %p, align 8 + %arraydecay20 = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %call21 = call i32 @find_locale(i32 %19, i8* %20, i8* %arraydecay20) #18 + %tobool22 = icmp ne i32 %call21, 0 + br i1 %tobool22, label %if.end25, label %INVALID + +if.end25: ; preds = %do.end, %do.body + %21 = load i32, i32* %i, align 4 + %22 = load i32, i32* %i, align 4 + %add = add nsw i32 %22, %21 + store i32 %add, i32* %i, align 4 + %23 = load i32, i32* %k, align 4 + %inc27 = add nsw i32 %23, 1 + store i32 %inc27, i32* %k, align 4 + %cmp28 = icmp slt i32 %inc27, 6 + br i1 %cmp28, label %do.body, label %if.end36 + +if.else: ; preds = %if.end3 + %24 = load i32, i32* %category_mask.addr, align 4 + %25 = load i8*, i8** %locale.addr, align 8 + %arraydecay31 = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %call32 = call i8* @composite_locale(i32 %24, i8* %25, i8* %arraydecay31) #18 + %tobool33 = icmp ne i8* %call32, null + br i1 %tobool33, label %if.end36, label %INVALID + +if.end36: ; preds = %if.else, %if.end25 + %26 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tobool37 = icmp ne %struct.__uclibc_locale_struct.201* %26, null + br i1 %tobool37, label %if.end44, label %if.then38 + +if.then38: ; preds = %if.end36 + %call39 = call noalias i8* @calloc(i64 1, i64 3320) #19 + %27 = bitcast i8* %call39 to %struct.__uclibc_locale_struct.201* + store %struct.__uclibc_locale_struct.201* %27, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cmp40 = icmp eq %struct.__uclibc_locale_struct.201* %27, null + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + br i1 %cmp40, label %if.then42, label %if.end43 + +if.then42: ; preds = %if.then38 + store %struct.__uclibc_locale_struct.201* %28, %struct.__uclibc_locale_struct.201** %retval, align 8 + br label %return + +if.end43: ; preds = %if.then38 + call void @_locale_init_l(%struct.__uclibc_locale_struct.201* %28) #18 + br label %if.end44 + +if.end44: ; preds = %if.end43, %if.end36 + %arraydecay45 = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %29 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call46 = call i32 @_locale_set_l(i8* %arraydecay45, %struct.__uclibc_locale_struct.201* %29) #18 + %30 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + store %struct.__uclibc_locale_struct.201* %30, %struct.__uclibc_locale_struct.201** %retval, align 8 + br label %return + +return: ; preds = %if.end44, %if.then42, %INVALID + %31 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %retval, align 8 + ret %struct.__uclibc_locale_struct.201* %31 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @find_locale(i32 %category_mask, i8* %p, i8* %new_locale) #0 { +entry: + %retval = alloca i32, align 4 + %category_mask.addr = alloca i32, align 4 + %p.addr = alloca i8*, align 8 + %new_locale.addr = alloca i8*, align 8 + %i = alloca i32, align 4 + %s = alloca i8*, align 8 + %n = alloca i16, align 2 + %lang_cult = alloca i8, align 1 + %codeset = alloca i8, align 1 + %buf = alloca [18 x i8], align 16 + %q = alloca i8*, align 8 + store i32 %category_mask, i32* %category_mask.addr, align 4 + store i8* %p, i8** %p.addr, align 8 + store i8* %new_locale, i8** %new_locale.addr, align 8 + %0 = load i8*, i8** %p.addr, align 8 + %call = call i8* @strchr(i8* %0, i32 64) #20 + store i8* %call, i8** %q, align 8 + %cmp = icmp ne i8* %call, null + br i1 %cmp, label %if.then, label %if.end27 + +if.then: ; preds = %entry + %1 = load i8*, i8** %q, align 8 + %2 = load i8*, i8** %p.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %1 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %2 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %sub = sub nsw i64 %sub.ptr.sub, 5 + %cmp1 = icmp ugt i64 %sub, 13 + br i1 %cmp1, label %if.then4, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then + %3 = load i8*, i8** %p.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %3, i64 2 + %4 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %4 to i32 + %cmp2 = icmp ne i32 %conv, 95 + br i1 %cmp2, label %if.then4, label %if.end + +if.then4: ; preds = %lor.lhs.false, %if.then + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %lor.lhs.false + %5 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_at_modifiers = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %5, i32 0, i32 33 + %arraydecay = getelementptr inbounds [18 x i8], [18 x i8]* %locale_at_modifiers, i64 0, i64 0 + store i8* %arraydecay, i8** %s, align 8 + br label %do.body + +do.body: ; preds = %if.end8, %if.end + %6 = load i8*, i8** %s, align 8 + %add.ptr = getelementptr inbounds i8, i8* %6, i64 2 + %7 = load i8*, i8** %q, align 8 + %add.ptr5 = getelementptr inbounds i8, i8* %7, i64 1 + %call6 = call i32 @strcmp(i8* %add.ptr, i8* %add.ptr5) #20 + %tobool = icmp ne i32 %call6, 0 + br i1 %tobool, label %if.end8, label %do.end + +if.end8: ; preds = %do.body + %8 = load i8*, i8** %s, align 8 + %9 = load i8, i8* %8, align 1 + %conv9 = zext i8 %9 to i32 + %add = add nsw i32 2, %conv9 + %10 = load i8*, i8** %s, align 8 + %idx.ext = sext i32 %add to i64 + %add.ptr10 = getelementptr inbounds i8, i8* %10, i64 %idx.ext + store i8* %add.ptr10, i8** %s, align 8 + %11 = load i8*, i8** %s, align 8 + %12 = load i8, i8* %11, align 1 + %tobool11 = icmp ne i8 %12, 0 + br i1 %tobool11, label %do.body, label %do.end + +do.end: ; preds = %do.body, %if.end8 + %13 = load i8*, i8** %s, align 8 + %14 = load i8, i8* %13, align 1 + %tobool12 = icmp ne i8 %14, 0 + br i1 %tobool12, label %if.end14, label %if.then13 + +if.then13: ; preds = %do.end + store i32 0, i32* %retval, align 4 + br label %return + +if.end14: ; preds = %do.end + %arraydecay15 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 0 + %15 = load i8*, i8** %p.addr, align 8 + %16 = load i8*, i8** %q, align 8 + %17 = load i8*, i8** %p.addr, align 8 + %sub.ptr.lhs.cast16 = ptrtoint i8* %16 to i64 + %sub.ptr.rhs.cast17 = ptrtoint i8* %17 to i64 + %sub.ptr.sub18 = sub i64 %sub.ptr.lhs.cast16, %sub.ptr.rhs.cast17 + %call19 = call i8* @memcpy(i8* %arraydecay15, i8* %15, i64 %sub.ptr.sub18) #19 + %18 = load i8*, i8** %q, align 8 + %19 = load i8*, i8** %p.addr, align 8 + %sub.ptr.lhs.cast20 = ptrtoint i8* %18 to i64 + %sub.ptr.rhs.cast21 = ptrtoint i8* %19 to i64 + %sub.ptr.sub22 = sub i64 %sub.ptr.lhs.cast20, %sub.ptr.rhs.cast21 + %arrayidx23 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 %sub.ptr.sub22 + store i8 0, i8* %arrayidx23, align 1 + %20 = load i8*, i8** %s, align 8 + %arrayidx24 = getelementptr inbounds i8, i8* %20, i64 1 + %21 = load i8, i8* %arrayidx24, align 1 + %arrayidx25 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 2 + store i8 %21, i8* %arrayidx25, align 2 + %arraydecay26 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay26, i8** %p.addr, align 8 + br label %if.end27 + +if.end27: ; preds = %if.end14, %entry + store i8 0, i8* %codeset, align 1 + store i8 0, i8* %lang_cult, align 1 + %22 = load i8*, i8** %p.addr, align 8 + %23 = load i8, i8* %22, align 1 + %conv28 = sext i8 %23 to i32 + %cmp29 = icmp eq i32 %conv28, 67 + br i1 %cmp29, label %land.lhs.true, label %lor.lhs.false33 + +land.lhs.true: ; preds = %if.end27 + %24 = load i8*, i8** %p.addr, align 8 + %arrayidx31 = getelementptr inbounds i8, i8* %24, i64 1 + %25 = load i8, i8* %arrayidx31, align 1 + %tobool32 = icmp ne i8 %25, 0 + br i1 %tobool32, label %lor.lhs.false33, label %FIND_LOCALE + +lor.lhs.false33: ; preds = %land.lhs.true, %if.end27 + %26 = load i8*, i8** %p.addr, align 8 + %call34 = call i32 @strcmp(i8* %26, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @posix, i64 0, i64 0)) #20 + %tobool35 = icmp ne i32 %call34, 0 + br i1 %tobool35, label %if.end37, label %FIND_LOCALE + +if.end37: ; preds = %lor.lhs.false33 + %27 = load i8*, i8** %p.addr, align 8 + %call38 = call i64 @strlen(i8* %27) #20 + %cmp39 = icmp ugt i64 %call38, 5 + br i1 %cmp39, label %land.lhs.true41, label %FIND_LANG_CULT + +land.lhs.true41: ; preds = %if.end37 + %28 = load i8*, i8** %p.addr, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %28, i64 5 + %29 = load i8, i8* %arrayidx42, align 1 + %conv43 = sext i8 %29 to i32 + %cmp44 = icmp eq i32 %conv43, 46 + br i1 %cmp44, label %if.then46, label %FIND_LANG_CULT + +if.then46: ; preds = %land.lhs.true41 + store i8 2, i8* %codeset, align 1 + %30 = load i8*, i8** %p.addr, align 8 + %add.ptr47 = getelementptr inbounds i8, i8* %30, i64 6 + %call48 = call i32 @strcmp(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf8.324, i64 0, i64 0), i8* %add.ptr47) #20 + %cmp49 = icmp ne i32 %call48, 0 + br i1 %cmp49, label %if.then51, label %FIND_LANG_CULT + +if.then51: ; preds = %if.then46 + %31 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %31, i32 0, i32 35 + %arraydecay52 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list, i64 0, i64 0 + store i8* %arraydecay52, i8** %s, align 8 + br label %do.body53 + +do.body53: ; preds = %do.cond64, %if.then51 + %32 = load i8, i8* %codeset, align 1 + %inc = add i8 %32, 1 + store i8 %inc, i8* %codeset, align 1 + %33 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list54 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %33, i32 0, i32 35 + %arraydecay55 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list54, i64 0, i64 0 + %34 = load i8*, i8** %s, align 8 + %35 = load i8, i8* %34, align 1 + %conv56 = zext i8 %35 to i32 + %idx.ext57 = sext i32 %conv56 to i64 + %add.ptr58 = getelementptr inbounds i8, i8* %arraydecay55, i64 %idx.ext57 + %36 = load i8*, i8** %p.addr, align 8 + %add.ptr59 = getelementptr inbounds i8, i8* %36, i64 6 + %call60 = call i32 @strcmp(i8* %add.ptr58, i8* %add.ptr59) #20 + %tobool61 = icmp ne i32 %call60, 0 + br i1 %tobool61, label %do.cond64, label %FIND_LANG_CULT + +do.cond64: ; preds = %do.body53 + %37 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %37, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %38 = load i8, i8* %incdec.ptr, align 1 + %tobool65 = icmp ne i8 %38, 0 + br i1 %tobool65, label %do.body53, label %do.end66 + +do.end66: ; preds = %do.cond64 + store i32 0, i32* %retval, align 4 + br label %return + +FIND_LANG_CULT: ; preds = %if.end37, %land.lhs.true41, %if.then46, %do.body53 + %39 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_names5 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %39, i32 0, i32 32 + %arraydecay69 = getelementptr inbounds [835 x i8], [835 x i8]* %locale_names5, i64 0, i64 0 + store i8* %arraydecay69, i8** %s, align 8 + br label %do.body70 + +do.body70: ; preds = %if.end75, %FIND_LANG_CULT + %40 = load i8, i8* %lang_cult, align 1 + %inc71 = add i8 %40, 1 + store i8 %inc71, i8* %lang_cult, align 1 + %41 = load i8*, i8** %s, align 8 + %42 = load i8*, i8** %p.addr, align 8 + %call72 = call i32 @strncmp(i8* %41, i8* %42, i64 5) #20 + %tobool73 = icmp ne i32 %call72, 0 + br i1 %tobool73, label %if.end75, label %FIND_LOCALE + +if.end75: ; preds = %do.body70 + %43 = load i8*, i8** %s, align 8 + %add.ptr76 = getelementptr inbounds i8, i8* %43, i64 5 + store i8* %add.ptr76, i8** %s, align 8 + %44 = load i8, i8* %lang_cult, align 1 + %conv78 = zext i8 %44 to i32 + %cmp79 = icmp slt i32 %conv78, 167 + br i1 %cmp79, label %do.body70, label %do.end81 + +do.end81: ; preds = %if.end75 + store i32 0, i32* %retval, align 4 + br label %return + +FIND_LOCALE: ; preds = %do.body70, %land.lhs.true, %lor.lhs.false33 + %45 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %45, i32 0, i32 31 + %arraydecay82 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales, i64 0, i64 0 + store i8* %arraydecay82, i8** %s, align 8 + store i16 0, i16* %n, align 2 + br label %do.body83 + +do.body83: ; preds = %if.end120, %FIND_LOCALE + %46 = load i8, i8* %lang_cult, align 1 + %conv84 = zext i8 %46 to i32 + %47 = load i8*, i8** %s, align 8 + %48 = load i8, i8* %47, align 1 + %conv85 = zext i8 %48 to i32 + %cmp86 = icmp eq i32 %conv84, %conv85 + br i1 %cmp86, label %land.lhs.true88, label %if.end120 + +land.lhs.true88: ; preds = %do.body83 + %49 = load i8, i8* %codeset, align 1 + %conv89 = zext i8 %49 to i32 + %50 = load i8*, i8** %s, align 8 + %arrayidx90 = getelementptr inbounds i8, i8* %50, i64 1 + %51 = load i8, i8* %arrayidx90, align 1 + %conv91 = zext i8 %51 to i32 + %cmp92 = icmp eq i32 %conv89, %conv91 + br i1 %cmp92, label %if.then100, label %lor.lhs.false94 + +lor.lhs.false94: ; preds = %land.lhs.true88 + %52 = load i8, i8* %codeset, align 1 + %conv95 = zext i8 %52 to i32 + %53 = load i8*, i8** %s, align 8 + %arrayidx96 = getelementptr inbounds i8, i8* %53, i64 2 + %54 = load i8, i8* %arrayidx96, align 1 + %conv97 = zext i8 %54 to i32 + %cmp98 = icmp eq i32 %conv95, %conv97 + br i1 %cmp98, label %if.then100, label %if.end120 + +if.then100: ; preds = %lor.lhs.false94, %land.lhs.true88 + store i32 1, i32* %i, align 4 + %55 = load i8*, i8** %new_locale.addr, align 8 + %add.ptr101 = getelementptr inbounds i8, i8* %55, i64 1 + store i8* %add.ptr101, i8** %s, align 8 + br label %do.body102 + +do.body102: ; preds = %if.end113, %if.then100 + %56 = load i32, i32* %category_mask.addr, align 4 + %57 = load i32, i32* %i, align 4 + %and = and i32 %56, %57 + %tobool103 = icmp ne i32 %and, 0 + br i1 %tobool103, label %if.then104, label %if.end113 + +if.then104: ; preds = %do.body102 + %58 = load i16, i16* %n, align 2 + %conv105 = zext i16 %58 to i32 + %shr = ashr i32 %conv105, 7 + %or = or i32 %shr, 128 + %conv106 = trunc i32 %or to i8 + %59 = load i8*, i8** %s, align 8 + %arrayidx107 = getelementptr inbounds i8, i8* %59, i64 0 + store i8 %conv106, i8* %arrayidx107, align 1 + %60 = load i16, i16* %n, align 2 + %conv108 = zext i16 %60 to i32 + %and109 = and i32 %conv108, 127 + %or110 = or i32 %and109, 128 + %conv111 = trunc i32 %or110 to i8 + %61 = load i8*, i8** %s, align 8 + %arrayidx112 = getelementptr inbounds i8, i8* %61, i64 1 + store i8 %conv111, i8* %arrayidx112, align 1 + br label %if.end113 + +if.end113: ; preds = %if.then104, %do.body102 + %62 = load i8*, i8** %s, align 8 + %add.ptr114 = getelementptr inbounds i8, i8* %62, i64 2 + store i8* %add.ptr114, i8** %s, align 8 + %63 = load i32, i32* %i, align 4 + %64 = load i32, i32* %i, align 4 + %add115 = add nsw i32 %64, %63 + store i32 %add115, i32* %i, align 4 + %65 = load i32, i32* %i, align 4 + %cmp117 = icmp slt i32 %65, 64 + br i1 %cmp117, label %do.body102, label %do.end119 + +do.end119: ; preds = %if.end113 + %66 = load i32, i32* %i, align 4 + store i32 %66, i32* %retval, align 4 + br label %return + +if.end120: ; preds = %lor.lhs.false94, %do.body83 + %67 = load i8*, i8** %s, align 8 + %add.ptr121 = getelementptr inbounds i8, i8* %67, i64 9 + store i8* %add.ptr121, i8** %s, align 8 + %68 = load i16, i16* %n, align 2 + %inc122 = add i16 %68, 1 + store i16 %inc122, i16* %n, align 2 + %69 = load i16, i16* %n, align 2 + %conv124 = zext i16 %69 to i32 + %cmp125 = icmp sle i32 %conv124, 314 + br i1 %cmp125, label %do.body83, label %do.end127 + +do.end127: ; preds = %if.end120 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end127, %do.end119, %do.end81, %do.end66, %if.then13, %if.then4 + %70 = load i32, i32* %retval, align 4 + ret i32 %70 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @composite_locale(i32 %category_mask, i8* %locale, i8* %new_locale) #0 { +entry: + %retval = alloca i8*, align 8 + %category_mask.addr = alloca i32, align 4 + %locale.addr = alloca i8*, align 8 + %new_locale.addr = alloca i8*, align 8 + %buf = alloca [256 x i8], align 16 + %t = alloca i8*, align 8 + %e = alloca i8*, align 8 + %c = alloca i32, align 4 + %component_mask = alloca i32, align 4 + store i32 %category_mask, i32* %category_mask.addr, align 4 + store i8* %locale, i8** %locale.addr, align 8 + store i8* %new_locale, i8** %new_locale.addr, align 8 + %0 = load i8*, i8** %locale.addr, align 8 + %call = call i8* @strchr(i8* %0, i32 61) #20 + %tobool = icmp ne i8* %call, null + br i1 %tobool, label %if.end4, label %if.then + +if.then: ; preds = %entry + %1 = load i32, i32* %category_mask.addr, align 4 + %2 = load i8*, i8** %locale.addr, align 8 + %3 = load i8*, i8** %new_locale.addr, align 8 + %call1 = call i32 @find_locale(i32 %1, i8* %2, i8* %3) #18 + %tobool2 = icmp ne i32 %call1, 0 + br i1 %tobool2, label %if.end, label %if.then3 + +if.then3: ; preds = %if.then + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %if.then + %4 = load i8*, i8** %new_locale.addr, align 8 + store i8* %4, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %entry + %5 = load i8*, i8** %locale.addr, align 8 + %call5 = call i64 @strlen(i8* %5) #20 + %cmp = icmp uge i64 %call5, 256 + br i1 %cmp, label %if.then6, label %if.end7 + +if.then6: ; preds = %if.end4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end7: ; preds = %if.end4 + %arraydecay = getelementptr inbounds [256 x i8], [256 x i8]* %buf, i64 0, i64 0 + %6 = load i8*, i8** %locale.addr, align 8 + %call8 = call i8* @stpcpy(i8* %arraydecay, i8* %6) #19 + store i32 0, i32* %component_mask, align 4 + %arraydecay9 = getelementptr inbounds [256 x i8], [256 x i8]* %buf, i64 0, i64 0 + %call10 = call i8* @strtok_r(i8* %arraydecay9, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.322, i64 0, i64 0), i8** %e) #19 + store i8* %call10, i8** %t, align 8 + br label %do.body + +do.body: ; preds = %do.cond, %if.end7 + store i32 0, i32* %c, align 4 + br label %while.cond + +while.cond: ; preds = %while.body, %do.body + %7 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %7, i32 0, i32 34 + %arraydecay11 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names, i64 0, i64 0 + %8 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names12 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %8, i32 0, i32 34 + %9 = load i32, i32* %c, align 4 + %idxprom = sext i32 %9 to i64 + %arrayidx = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names12, i64 0, i64 %idxprom + %10 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %10 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay11, i64 %idx.ext + %11 = load i8*, i8** %t, align 8 + %call13 = call i32 @strcmp(i8* %add.ptr, i8* %11) #20 + %tobool14 = icmp ne i32 %call13, 0 + br i1 %tobool14, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %12 = load i32, i32* %c, align 4 + %inc = add nsw i32 %12, 1 + store i32 %inc, i32* %c, align 4 + %cmp15 = icmp eq i32 %inc, 6 + br i1 %cmp15, label %if.then17, label %while.cond + +if.then17: ; preds = %while.body + store i8* null, i8** %retval, align 8 + br label %return + +while.end: ; preds = %while.cond + %call19 = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.4.323, i64 0, i64 0), i8** %e) #19 + store i8* %call19, i8** %t, align 8 + %13 = load i32, i32* %c, align 4 + %shl = shl i32 1, %13 + store i32 %shl, i32* %c, align 4 + %14 = load i32, i32* %component_mask, align 4 + %15 = load i32, i32* %c, align 4 + %and = and i32 %14, %15 + %tobool20 = icmp ne i32 %and, 0 + br i1 %tobool20, label %if.then21, label %if.end22 + +if.then21: ; preds = %while.end + store i8* null, i8** %retval, align 8 + br label %return + +if.end22: ; preds = %while.end + %16 = load i32, i32* %c, align 4 + %17 = load i32, i32* %component_mask, align 4 + %or = or i32 %17, %16 + store i32 %or, i32* %component_mask, align 4 + %18 = load i32, i32* %category_mask.addr, align 4 + %19 = load i32, i32* %c, align 4 + %and23 = and i32 %18, %19 + %tobool24 = icmp ne i32 %and23, 0 + br i1 %tobool24, label %land.lhs.true, label %do.cond + +land.lhs.true: ; preds = %if.end22 + %20 = load i8*, i8** %t, align 8 + %tobool25 = icmp ne i8* %20, null + br i1 %tobool25, label %lor.lhs.false, label %if.then28 + +lor.lhs.false: ; preds = %land.lhs.true + %21 = load i32, i32* %c, align 4 + %22 = load i8*, i8** %t, align 8 + %23 = load i8*, i8** %new_locale.addr, align 8 + %call26 = call i32 @find_locale(i32 %21, i8* %22, i8* %23) #18 + %tobool27 = icmp ne i32 %call26, 0 + br i1 %tobool27, label %do.cond, label %if.then28 + +if.then28: ; preds = %lor.lhs.false, %land.lhs.true + store i8* null, i8** %retval, align 8 + br label %return + +do.cond: ; preds = %if.end22, %lor.lhs.false + %call30 = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.322, i64 0, i64 0), i8** %e) #19 + store i8* %call30, i8** %t, align 8 + %cmp31 = icmp ne i8* %call30, null + br i1 %cmp31, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %24 = load i32, i32* %category_mask.addr, align 4 + %25 = load i32, i32* %component_mask, align 4 + %neg = xor i32 %25, -1 + %and33 = and i32 %24, %neg + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %if.then35, label %if.end36 + +if.then35: ; preds = %do.end + store i8* null, i8** %retval, align 8 + br label %return + +if.end36: ; preds = %do.end + %26 = load i8*, i8** %new_locale.addr, align 8 + store i8* %26, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end36, %if.then35, %if.then28, %if.then21, %if.then17, %if.then6, %if.end, %if.then3 + %27 = load i8*, i8** %retval, align 8 + ret i8* %27 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @nl_langinfo_l(i32 %item, %struct.__uclibc_locale_struct.201* %locale_arg) #0 { +entry: + %retval = alloca i8*, align 8 + %item.addr = alloca i32, align 4 + %locale_arg.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %c = alloca i32, align 4 + %i = alloca i32, align 4 + store i32 %item, i32* %item.addr, align 4 + store %struct.__uclibc_locale_struct.201* %locale_arg, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %0 = load i32, i32* %item.addr, align 4 + %shr = ashr i32 %0, 8 + store i32 %shr, i32* %c, align 4 + %1 = load i32, i32* %item.addr, align 4 + %and = and i32 %1, 255 + store i32 %and, i32* %i, align 4 + %2 = load i32, i32* %c, align 4 + %cmp = icmp ult i32 %2, 6 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %3 = load i32, i32* %i, align 4 + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %category_item_count = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %4, i32 0, i32 8 + %5 = load i32, i32* %c, align 4 + %idxprom = zext i32 %5 to i64 + %arrayidx = getelementptr inbounds [6 x i8], [6 x i8]* %category_item_count, i64 0, i64 %idxprom + %6 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %6 to i32 + %cmp1 = icmp ult i32 %3, %conv + br i1 %cmp1, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %7 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %8 = bitcast %struct.__uclibc_locale_struct.201* %7 to i8* + %9 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %category_offsets = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %9, i32 0, i32 7 + %10 = load i32, i32* %c, align 4 + %idxprom3 = zext i32 %10 to i64 + %arrayidx4 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets, i64 0, i64 %idxprom3 + %11 = load i16, i16* %arrayidx4, align 2 + %conv5 = zext i16 %11 to i32 + %idx.ext = sext i32 %conv5 to i64 + %add.ptr = getelementptr inbounds i8, i8* %8, i64 %idx.ext + %12 = bitcast i8* %add.ptr to i8** + %13 = load i32, i32* %i, align 4 + %idxprom6 = zext i32 %13 to i64 + %arrayidx7 = getelementptr inbounds i8*, i8** %12, i64 %idxprom6 + %14 = load i8*, i8** %arrayidx7, align 8 + store i8* %14, i8** %retval, align 8 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @empty, i64 0, i64 0), i8** %retval, align 8 + br label %return + +return: ; preds = %if.end, %if.then + %15 = load i8*, i8** %retval, align 8 + ret i8* %15 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @mbsnrtowcs(i32* noalias %dst, i8** noalias %src, i64 %NMC, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %retval = alloca i64, align 8 + %dst.addr = alloca i32*, align 8 + %src.addr = alloca i8**, align 8 + %NMC.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %wcbuf = alloca [1 x i32], align 4 + %s = alloca i8*, align 8 + %count = alloca i64, align 8 + %incr = alloca i32, align 4 + %r = alloca i64, align 8 + %wc = alloca i32, align 4 + store i32* %dst, i32** %dst.addr, align 8 + store i8** %src, i8*** %src.addr, align 8 + store i64 %NMC, i64* %NMC.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %tobool = icmp ne %struct.__mbstate_t.512* %0, null + %spec.store.select = select i1 %tobool, %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512* @mbsnrtowcs.mbstate + store %struct.__mbstate_t.512* %spec.store.select, %struct.__mbstate_t.512** %ps.addr, align 8 + %1 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %1, i32 0, i32 9 + %2 = load i8, i8* %encoding, align 8 + %conv = zext i8 %2 to i32 + %cmp = icmp eq i32 %conv, 1 + br i1 %cmp, label %if.then2, label %if.end5 + +if.then2: ; preds = %entry + %3 = load i32*, i32** %dst.addr, align 8 + %4 = load i64, i64* %len.addr, align 8 + %5 = load i8**, i8*** %src.addr, align 8 + %6 = load i64, i64* %NMC.addr, align 8 + %7 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @_wchar_utf8sntowcs(i32* %3, i64 %4, i8** %5, i64 %6, %struct.__mbstate_t.512* %7, i32 1) #18 + store i64 %call, i64* %r, align 8 + %cmp3 = icmp ne i64 %call, -2 + %8 = load i64, i64* %r, align 8 + %cond = select i1 %cmp3, i64 %8, i64 0 + store i64 %cond, i64* %retval, align 8 + br label %return + +if.end5: ; preds = %entry + store i32 1, i32* %incr, align 4 + %9 = load i32*, i32** %dst.addr, align 8 + %tobool6 = icmp ne i32* %9, null + br i1 %tobool6, label %lor.lhs.false, label %if.then9 + +lor.lhs.false: ; preds = %if.end5 + %10 = load i32*, i32** %dst.addr, align 8 + %11 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %12 = bitcast %struct.__mbstate_t.512* %11 to i32* + %cmp7 = icmp eq i32* %10, %12 + br i1 %cmp7, label %if.then9, label %if.end13 + +if.then9: ; preds = %lor.lhs.false, %if.end5 + %13 = load i32*, i32** %dst.addr, align 8 + %tobool10 = icmp ne i32* %13, null + br i1 %tobool10, label %if.end12, label %if.then11 + +if.then11: ; preds = %if.then9 + store i64 -1, i64* %len.addr, align 8 + br label %if.end12 + +if.end12: ; preds = %if.then11, %if.then9 + %arraydecay = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay, i32** %dst.addr, align 8 + store i32 0, i32* %incr, align 4 + br label %if.end13 + +if.end13: ; preds = %if.end12, %lor.lhs.false + %14 = load i64, i64* %len.addr, align 8 + %15 = load i64, i64* %NMC.addr, align 8 + %cmp14 = icmp ugt i64 %14, %15 + br i1 %cmp14, label %if.then16, label %if.end17 + +if.then16: ; preds = %if.end13 + %16 = load i64, i64* %NMC.addr, align 8 + store i64 %16, i64* %len.addr, align 8 + br label %if.end17 + +if.end17: ; preds = %if.then16, %if.end13 + %17 = load i64, i64* %len.addr, align 8 + store i64 %17, i64* %count, align 8 + %18 = load i8**, i8*** %src.addr, align 8 + %19 = load i8*, i8** %18, align 8 + store i8* %19, i8** %s, align 8 + %20 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding18 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %20, i32 0, i32 9 + %21 = load i8, i8* %encoding18, align 8 + %conv19 = zext i8 %21 to i32 + %cmp20 = icmp eq i32 %conv19, 2 + br i1 %cmp20, label %while.cond, label %while.cond46 + +while.cond: ; preds = %if.end17, %if.end38 + %22 = load i64, i64* %count, align 8 + %tobool23 = icmp ne i64 %22, 0 + br i1 %tobool23, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %23 = load i8*, i8** %s, align 8 + %24 = load i8, i8* %23, align 1 + %conv24 = zext i8 %24 to i32 + store i32 %conv24, i32* %wc, align 4 + %cmp25 = icmp sge i32 %conv24, 128 + br i1 %cmp25, label %if.then27, label %if.end35 + +if.then27: ; preds = %while.body + %25 = load i32, i32* %wc, align 4 + %sub = sub nsw i32 %25, 128 + store i32 %sub, i32* %wc, align 4 + %26 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %tbl8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %26, i32 0, i32 17 + %27 = load i16*, i16** %tbl8c2wc, align 8 + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %idx8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %28, i32 0, i32 16 + %29 = load i8*, i8** %idx8c2wc, align 8 + %30 = load i32, i32* %wc, align 4 + %shr = ashr i32 %30, 3 + %idxprom = sext i32 %shr to i64 + %arrayidx = getelementptr inbounds i8, i8* %29, i64 %idxprom + %31 = load i8, i8* %arrayidx, align 1 + %conv28 = zext i8 %31 to i32 + %shl = shl i32 %conv28, 3 + %32 = load i32, i32* %wc, align 4 + %and = and i32 %32, 7 + %add = add nsw i32 %shl, %and + %idxprom29 = sext i32 %add to i64 + %arrayidx30 = getelementptr inbounds i16, i16* %27, i64 %idxprom29 + %33 = load i16, i16* %arrayidx30, align 2 + %conv31 = zext i16 %33 to i32 + store i32 %conv31, i32* %wc, align 4 + %34 = load i32, i32* %wc, align 4 + %tobool32 = icmp ne i32 %34, 0 + br i1 %tobool32, label %if.end35, label %BAD + +if.end35: ; preds = %if.then27, %while.body + %35 = load i32, i32* %wc, align 4 + %36 = load i32*, i32** %dst.addr, align 8 + store i32 %35, i32* %36, align 4 + %tobool36 = icmp ne i32 %35, 0 + br i1 %tobool36, label %if.end38, label %if.then37 + +if.then37: ; preds = %if.end35 + store i8* null, i8** %s, align 8 + br label %while.end + +if.end38: ; preds = %if.end35 + %37 = load i32, i32* %incr, align 4 + %38 = load i32*, i32** %dst.addr, align 8 + %idx.ext = sext i32 %37 to i64 + %add.ptr = getelementptr inbounds i32, i32* %38, i64 %idx.ext + store i32* %add.ptr, i32** %dst.addr, align 8 + %39 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %39, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %40 = load i64, i64* %count, align 8 + %dec = add i64 %40, -1 + store i64 %dec, i64* %count, align 8 + br label %while.cond + +while.end: ; preds = %if.then37, %while.cond + %41 = load i32*, i32** %dst.addr, align 8 + %arraydecay39 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %cmp40 = icmp ne i32* %41, %arraydecay39 + br i1 %cmp40, label %if.then42, label %if.end43 + +if.then42: ; preds = %while.end + %42 = load i8*, i8** %s, align 8 + %43 = load i8**, i8*** %src.addr, align 8 + store i8* %42, i8** %43, align 8 + br label %if.end43 + +if.end43: ; preds = %if.then42, %while.end + %44 = load i64, i64* %len.addr, align 8 + %45 = load i64, i64* %count, align 8 + %sub44 = sub i64 %44, %45 + store i64 %sub44, i64* %retval, align 8 + br label %return + +while.cond46: ; preds = %if.end17, %if.end57 + %46 = load i64, i64* %count, align 8 + %tobool47 = icmp ne i64 %46, 0 + br i1 %tobool47, label %while.body48, label %while.end62 + +while.body48: ; preds = %while.cond46 + %47 = load i8*, i8** %s, align 8 + %48 = load i8, i8* %47, align 1 + %conv49 = zext i8 %48 to i32 + %49 = load i32*, i32** %dst.addr, align 8 + store i32 %conv49, i32* %49, align 4 + %cmp50 = icmp eq i32 %conv49, 0 + br i1 %cmp50, label %if.then52, label %if.end53 + +if.then52: ; preds = %while.body48 + store i8* null, i8** %s, align 8 + br label %while.end62 + +if.end53: ; preds = %while.body48 + %50 = load i32*, i32** %dst.addr, align 8 + %51 = load i32, i32* %50, align 4 + %cmp54 = icmp sge i32 %51, 128 + br i1 %cmp54, label %BAD, label %if.end57 + +BAD: ; preds = %if.end53, %if.then27 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end57: ; preds = %if.end53 + %52 = load i8*, i8** %s, align 8 + %incdec.ptr58 = getelementptr inbounds i8, i8* %52, i32 1 + store i8* %incdec.ptr58, i8** %s, align 8 + %53 = load i32, i32* %incr, align 4 + %54 = load i32*, i32** %dst.addr, align 8 + %idx.ext59 = sext i32 %53 to i64 + %add.ptr60 = getelementptr inbounds i32, i32* %54, i64 %idx.ext59 + store i32* %add.ptr60, i32** %dst.addr, align 8 + %55 = load i64, i64* %count, align 8 + %dec61 = add i64 %55, -1 + store i64 %dec61, i64* %count, align 8 + br label %while.cond46 + +while.end62: ; preds = %if.then52, %while.cond46 + %56 = load i32*, i32** %dst.addr, align 8 + %arraydecay63 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %cmp64 = icmp ne i32* %56, %arraydecay63 + br i1 %cmp64, label %if.then66, label %if.end67 + +if.then66: ; preds = %while.end62 + %57 = load i8*, i8** %s, align 8 + %58 = load i8**, i8*** %src.addr, align 8 + store i8* %57, i8** %58, align 8 + br label %if.end67 + +if.end67: ; preds = %if.then66, %while.end62 + %59 = load i64, i64* %len.addr, align 8 + %60 = load i64, i64* %count, align 8 + %sub68 = sub i64 %59, %60 + store i64 %sub68, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end67, %BAD, %if.end43, %if.then2 + %61 = load i64, i64* %retval, align 8 + ret i64 %61 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @iswctype(i32 %wc, i32 %desc) #0 { +entry: + %wc.addr = alloca i32, align 4 + %desc.addr = alloca i32, align 4 + store i32 %wc, i32* %wc.addr, align 4 + store i32 %desc, i32* %desc.addr, align 4 + %0 = load i32, i32* %wc.addr, align 4 + %1 = load i32, i32* %desc.addr, align 4 + %2 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %call = call i32 @iswctype_l(i32 %0, i32 %1, %struct.__uclibc_locale_struct.201* %2) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define hidden %struct.__STDIO_FILE_STRUCT.568* @_stdio_fopen(i64 %fname_or_mode, i8* noalias %mode, %struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %filedes) #0 { +entry: + %retval = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %fname_or_mode.addr = alloca i64, align 8 + %mode.addr = alloca i8*, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %filedes.addr = alloca i32, align 4 + %open_mode = alloca i32, align 4 + %i = alloca i32, align 4 + store i64 %fname_or_mode, i64* %fname_or_mode.addr, align 8 + store i8* %mode, i8** %mode.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %filedes, i32* %filedes.addr, align 4 + store i32 0, i32* %open_mode, align 4 + %0 = load i8*, i8** %mode.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %cmp = icmp ne i32 %conv, 114 + br i1 %cmp, label %if.then, label %if.end17 + +if.then: ; preds = %entry + store i32 577, i32* %open_mode, align 4 + %2 = load i8*, i8** %mode.addr, align 8 + %3 = load i8, i8* %2, align 1 + %conv2 = sext i8 %3 to i32 + %cmp3 = icmp ne i32 %conv2, 119 + br i1 %cmp3, label %if.then5, label %if.end17 + +if.then5: ; preds = %if.then + store i32 1089, i32* %open_mode, align 4 + %4 = load i8*, i8** %mode.addr, align 8 + %5 = load i8, i8* %4, align 1 + %conv6 = sext i8 %5 to i32 + %cmp7 = icmp ne i32 %conv6, 97 + br i1 %cmp7, label %DO_EINVAL, label %if.end17 + +DO_EINVAL: ; preds = %if.then40, %land.lhs.true, %if.then5 + store i32 22, i32* @errno, align 4 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %6, null + br i1 %tobool, label %do.body, label %if.end14 + +do.body: ; preds = %if.end62, %DO_EINVAL + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %7, i32 0, i32 0 + %8 = load i16, i16* %__modeflags, align 8 + %conv11 = zext i16 %8 to i32 + %and = and i32 %conv11, 8192 + %tobool12 = icmp ne i32 %and, 0 + br i1 %tobool12, label %if.then13, label %if.end14 + +if.then13: ; preds = %do.body + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %10 = bitcast %struct.__STDIO_FILE_STRUCT.568* %9 to i8* + call void @free(i8* %10) #19 + br label %if.end14 + +if.end14: ; preds = %if.then13, %do.body, %DO_EINVAL + store %struct.__STDIO_FILE_STRUCT.568* null, %struct.__STDIO_FILE_STRUCT.568** %retval, align 8 + br label %return + +if.end17: ; preds = %if.then, %if.then5, %entry + %11 = load i8*, i8** %mode.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %11, i64 1 + %12 = load i8, i8* %arrayidx, align 1 + %conv18 = sext i8 %12 to i32 + %cmp19 = icmp eq i32 %conv18, 98 + br i1 %cmp19, label %if.then21, label %if.end22 + +if.then21: ; preds = %if.end17 + %13 = load i8*, i8** %mode.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %13, i32 1 + store i8* %incdec.ptr, i8** %mode.addr, align 8 + br label %if.end22 + +if.end22: ; preds = %if.then21, %if.end17 + %14 = load i8*, i8** %mode.addr, align 8 + %arrayidx23 = getelementptr inbounds i8, i8* %14, i64 1 + %15 = load i8, i8* %arrayidx23, align 1 + %conv24 = sext i8 %15 to i32 + %cmp25 = icmp eq i32 %conv24, 43 + br i1 %cmp25, label %if.then27, label %if.end29 + +if.then27: ; preds = %if.end22 + %16 = load i8*, i8** %mode.addr, align 8 + %incdec.ptr28 = getelementptr inbounds i8, i8* %16, i32 1 + store i8* %incdec.ptr28, i8** %mode.addr, align 8 + %17 = load i32, i32* %open_mode, align 4 + %or = or i32 %17, 1 + store i32 %or, i32* %open_mode, align 4 + %18 = load i32, i32* %open_mode, align 4 + %add = add i32 %18, 1 + store i32 %add, i32* %open_mode, align 4 + br label %if.end29 + +if.end29: ; preds = %if.then27, %if.end22 + %19 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %tobool30 = icmp ne %struct.__STDIO_FILE_STRUCT.568* %19, null + br i1 %tobool30, label %if.end37, label %if.then31 + +if.then31: ; preds = %if.end29 + %call = call noalias i8* @malloc(i64 88) #19 + %20 = bitcast i8* %call to %struct.__STDIO_FILE_STRUCT.568* + store %struct.__STDIO_FILE_STRUCT.568* %20, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp32 = icmp eq %struct.__STDIO_FILE_STRUCT.568* %20, null + %21 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %cmp32, label %if.then34, label %if.end35 + +if.then34: ; preds = %if.then31 + store %struct.__STDIO_FILE_STRUCT.568* %21, %struct.__STDIO_FILE_STRUCT.568** %retval, align 8 + br label %return + +if.end35: ; preds = %if.then31 + %__modeflags36 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %21, i32 0, i32 0 + store i16 8192, i16* %__modeflags36, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 3 + store i8* null, i8** %__bufstart, align 8 + br label %if.end37 + +if.end37: ; preds = %if.end35, %if.end29 + %23 = load i32, i32* %filedes.addr, align 4 + %cmp38 = icmp sge i32 %23, 0 + %24 = load i32, i32* %filedes.addr, align 4 + br i1 %cmp38, label %if.then40, label %if.else + +if.then40: ; preds = %if.end37 + %25 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %25, i32 0, i32 2 + store i32 %24, i32* %__filedes, align 4 + %26 = load i32, i32* %open_mode, align 4 + %and41 = and i32 %26, 3 + %add42 = add i32 %and41, 1 + store i32 %add42, i32* %i, align 4 + %27 = load i32, i32* %i, align 4 + %28 = load i64, i64* %fname_or_mode.addr, align 8 + %conv43 = trunc i64 %28 to i32 + %add44 = add nsw i32 %conv43, 1 + %and45 = and i32 %27, %add44 + %29 = load i32, i32* %i, align 4 + %cmp46 = icmp ne i32 %and45, %29 + br i1 %cmp46, label %DO_EINVAL, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then40 + %30 = load i32, i32* %open_mode, align 4 + %31 = load i64, i64* %fname_or_mode.addr, align 8 + %conv48 = trunc i64 %31 to i32 + %neg = xor i32 %conv48, -1 + %and49 = and i32 %30, %neg + %and50 = and i32 %and49, 1024 + %tobool51 = icmp ne i32 %and50, 0 + br i1 %tobool51, label %land.lhs.true, label %if.end55 + +land.lhs.true: ; preds = %lor.lhs.false + %32 = load i32, i32* %filedes.addr, align 4 + %call52 = call i32 (i32, i32, ...) @fcntl(i32 %32, i32 4, i32 1024) #18 + %tobool53 = icmp ne i32 %call52, 0 + br i1 %tobool53, label %DO_EINVAL, label %if.end55 + +if.end55: ; preds = %land.lhs.true, %lor.lhs.false + %33 = load i64, i64* %fname_or_mode.addr, align 8 + %conv56 = trunc i64 %33 to i32 + %and57 = and i32 %conv56, 0 + %34 = load i32, i32* %open_mode, align 4 + %or58 = or i32 %34, %and57 + store i32 %or58, i32* %open_mode, align 4 + br label %if.end69 + +if.else: ; preds = %if.end37 + %cmp59 = icmp slt i32 %24, -1 + br i1 %cmp59, label %if.then61, label %if.end62 + +if.then61: ; preds = %if.else + %35 = load i32, i32* %open_mode, align 4 + store i32 %35, i32* %open_mode, align 4 + br label %if.end62 + +if.end62: ; preds = %if.then61, %if.else + %36 = load i64, i64* %fname_or_mode.addr, align 8 + %37 = inttoptr i64 %36 to i8* + %38 = load i32, i32* %open_mode, align 4 + %call63 = call i32 (i8*, i32, ...) @open(i8* %37, i32 %38, i32 438) #18 + %39 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes64 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %39, i32 0, i32 2 + store i32 %call63, i32* %__filedes64, align 4 + %cmp65 = icmp slt i32 %call63, 0 + br i1 %cmp65, label %do.body, label %if.end69 + +if.end69: ; preds = %if.end62, %if.end55 + %40 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags70 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %40, i32 0, i32 0 + %41 = load i16, i16* %__modeflags70, align 8 + %conv71 = zext i16 %41 to i32 + %and72 = and i32 %conv71, 8192 + %conv73 = trunc i32 %and72 to i16 + store i16 %conv73, i16* %__modeflags70, align 8 + %42 = load i32, i32* %open_mode, align 4 + %and74 = and i32 %42, 1024 + %43 = load i32, i32* %open_mode, align 4 + %and75 = and i32 %43, 3 + %add76 = add i32 %and75, 1 + %xor = xor i32 %add76, 3 + %mul = mul i32 %xor, 16 + %or77 = or i32 %and74, %mul + %44 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags78 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %44, i32 0, i32 0 + %45 = load i16, i16* %__modeflags78, align 8 + %conv79 = zext i16 %45 to i32 + %or80 = or i32 %conv79, %or77 + %conv81 = trunc i32 %or80 to i16 + store i16 %conv81, i16* %__modeflags78, align 8 + %46 = load i32, i32* @errno, align 4 + store i32 %46, i32* %i, align 4 + %47 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes82 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %47, i32 0, i32 2 + %48 = load i32, i32* %__filedes82, align 4 + %call83 = call i32 @isatty(i32 %48) #19 + %mul84 = mul i32 %call83, 256 + %49 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags85 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %49, i32 0, i32 0 + %50 = load i16, i16* %__modeflags85, align 8 + %conv86 = zext i16 %50 to i32 + %or87 = or i32 %conv86, %mul84 + %conv88 = trunc i32 %or87 to i16 + store i16 %conv88, i16* %__modeflags85, align 8 + %51 = load i32, i32* %i, align 4 + store i32 %51, i32* @errno, align 4 + %52 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart89 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %52, i32 0, i32 3 + %53 = load i8*, i8** %__bufstart89, align 8 + %tobool90 = icmp ne i8* %53, null + br i1 %tobool90, label %if.end106, label %if.then91 + +if.then91: ; preds = %if.end69 + %call92 = call noalias i8* @malloc(i64 4096) #19 + %54 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart93 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %54, i32 0, i32 3 + store i8* %call92, i8** %__bufstart93, align 8 + %cmp94 = icmp ne i8* %call92, null + %55 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart97 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %55, i32 0, i32 3 + %56 = load i8*, i8** %__bufstart97, align 8 + br i1 %cmp94, label %if.then96, label %if.else102 + +if.then96: ; preds = %if.then91 + %add.ptr = getelementptr inbounds i8, i8* %56, i64 4096 + %57 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %57, i32 0, i32 4 + store i8* %add.ptr, i8** %__bufend, align 8 + %58 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags98 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %58, i32 0, i32 0 + %59 = load i16, i16* %__modeflags98, align 8 + %conv99 = zext i16 %59 to i32 + %or100 = or i32 %conv99, 16384 + %conv101 = trunc i32 %or100 to i16 + store i16 %conv101, i16* %__modeflags98, align 8 + br label %if.end106 + +if.else102: ; preds = %if.then91 + %60 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend104 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %60, i32 0, i32 4 + store i8* %56, i8** %__bufend104, align 8 + br label %if.end106 + +if.end106: ; preds = %if.then96, %if.else102, %if.end69 + %61 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart107 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %61, i32 0, i32 3 + %62 = load i8*, i8** %__bufstart107, align 8 + %63 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %63, i32 0, i32 7 + store i8* %62, i8** %__bufgetc_u, align 8 + %64 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart108 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %64, i32 0, i32 3 + %65 = load i8*, i8** %__bufstart108, align 8 + %66 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %66, i32 0, i32 8 + store i8* %65, i8** %__bufputc_u, align 8 + %67 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart109 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %67, i32 0, i32 3 + %68 = load i8*, i8** %__bufstart109, align 8 + %69 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %69, i32 0, i32 5 + store i8* %68, i8** %__bufpos, align 8 + %70 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %70, i32 0, i32 6 + store i8* %68, i8** %__bufread, align 8 + %71 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %71, i32 0, i32 1 + %arrayidx110 = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 0 + store i8 0, i8* %arrayidx110, align 2 + %72 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %72, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + store i32 0, i32* %__mask, align 8 + %73 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + %74 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %74, i32 0, i32 9 + store %struct.__STDIO_FILE_STRUCT.568* %73, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + %75 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %75, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + %76 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %76, %struct.__STDIO_FILE_STRUCT.568** %retval, align 8 + br label %return + +return: ; preds = %if.end106, %if.then34, %if.end14 + %77 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %retval, align 8 + ret %struct.__STDIO_FILE_STRUCT.568* %77 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_fwrite(i8* noalias %buffer, i64 %bytes, %struct.__STDIO_FILE_STRUCT.568* noalias %stream) #0 { +entry: + %retval = alloca i64, align 8 + %buffer.addr = alloca i8*, align 8 + %bytes.addr = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %pending = alloca i64, align 8 + %p = alloca i8*, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %bytes, i64* %bytes.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 512 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end63, label %if.then + +if.then: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 2 + %3 = load i32, i32* %__filedes, align 4 + %cmp = icmp eq i32 %3, -2 + br i1 %cmp, label %if.then2, label %if.end8 + +if.then2: ; preds = %if.then + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 4 + %5 = load i8*, i8** %__bufend, align 8 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 5 + %7 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %pending, align 8 + %8 = load i64, i64* %pending, align 8 + %9 = load i64, i64* %bytes.addr, align 8 + %cmp3 = icmp ugt i64 %8, %9 + br i1 %cmp3, label %if.then5, label %if.end + +if.then5: ; preds = %if.then2 + %10 = load i64, i64* %bytes.addr, align 8 + store i64 %10, i64* %pending, align 8 + br label %if.end + +if.end: ; preds = %if.then5, %if.then2 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 5 + %12 = load i8*, i8** %__bufpos6, align 8 + %13 = load i8*, i8** %buffer.addr, align 8 + %14 = load i64, i64* %pending, align 8 + %call = call i8* @memcpy(i8* %12, i8* %13, i64 %14) #19 + %15 = load i64, i64* %pending, align 8 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos7 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %16, i32 0, i32 5 + %17 = load i8*, i8** %__bufpos7, align 8 + %add.ptr = getelementptr inbounds i8, i8* %17, i64 %15 + store i8* %add.ptr, i8** %__bufpos7, align 8 + %18 = load i64, i64* %bytes.addr, align 8 + store i64 %18, i64* %retval, align 8 + br label %return + +if.end8: ; preds = %if.then + %19 = load i64, i64* %bytes.addr, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend9 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 4 + %21 = load i8*, i8** %__bufend9, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 5 + %23 = load i8*, i8** %__bufpos10, align 8 + %sub.ptr.lhs.cast11 = ptrtoint i8* %21 to i64 + %sub.ptr.rhs.cast12 = ptrtoint i8* %23 to i64 + %sub.ptr.sub13 = sub i64 %sub.ptr.lhs.cast11, %sub.ptr.rhs.cast12 + %cmp14 = icmp ule i64 %19, %sub.ptr.sub13 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 5 + %25 = load i8*, i8** %__bufpos17, align 8 + br i1 %cmp14, label %if.then16, label %if.end51 + +if.then16: ; preds = %if.end8 + %26 = load i8*, i8** %buffer.addr, align 8 + %27 = load i64, i64* %bytes.addr, align 8 + %call18 = call i8* @memcpy(i8* %25, i8* %26, i64 %27) #19 + %28 = load i64, i64* %bytes.addr, align 8 + %29 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos19 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %29, i32 0, i32 5 + %30 = load i8*, i8** %__bufpos19, align 8 + %add.ptr20 = getelementptr inbounds i8, i8* %30, i64 %28 + store i8* %add.ptr20, i8** %__bufpos19, align 8 + %31 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags21 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %31, i32 0, i32 0 + %32 = load i16, i16* %__modeflags21, align 8 + %conv22 = zext i16 %32 to i32 + %and23 = and i32 %conv22, 256 + %tobool24 = icmp ne i32 %and23, 0 + br i1 %tobool24, label %land.lhs.true, label %if.end50 + +land.lhs.true: ; preds = %if.then16 + %33 = load i8*, i8** %buffer.addr, align 8 + %34 = load i64, i64* %bytes.addr, align 8 + %call25 = call i8* @memrchr(i8* %33, i32 10, i64 %34) #20 + %tobool26 = icmp ne i8* %call25, null + br i1 %tobool26, label %if.then27, label %if.end50 + +if.then27: ; preds = %land.lhs.true + %35 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call28 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %35) #18 + store i64 %call28, i64* %pending, align 8 + %cmp29 = icmp ugt i64 %call28, 0 + br i1 %cmp29, label %if.then31, label %if.end50 + +if.then31: ; preds = %if.then27 + %36 = load i64, i64* %pending, align 8 + %37 = load i64, i64* %bytes.addr, align 8 + %cmp32 = icmp ugt i64 %36, %37 + br i1 %cmp32, label %if.then34, label %if.end35 + +if.then34: ; preds = %if.then31 + %38 = load i64, i64* %bytes.addr, align 8 + store i64 %38, i64* %pending, align 8 + br label %if.end35 + +if.end35: ; preds = %if.then34, %if.then31 + %39 = load i64, i64* %bytes.addr, align 8 + %40 = load i64, i64* %pending, align 8 + %sub = sub i64 %39, %40 + %41 = load i8*, i8** %buffer.addr, align 8 + %add.ptr36 = getelementptr inbounds i8, i8* %41, i64 %sub + store i8* %add.ptr36, i8** %buffer.addr, align 8 + %42 = load i8*, i8** %buffer.addr, align 8 + %43 = load i64, i64* %pending, align 8 + %call37 = call i8* @memchr(i8* %42, i32 10, i64 %43) #20 + store i8* %call37, i8** %p, align 8 + %cmp38 = icmp ne i8* %call37, null + br i1 %cmp38, label %if.then40, label %if.end50 + +if.then40: ; preds = %if.end35 + %44 = load i8*, i8** %buffer.addr, align 8 + %45 = load i64, i64* %pending, align 8 + %add.ptr41 = getelementptr inbounds i8, i8* %44, i64 %45 + %46 = load i8*, i8** %p, align 8 + %sub.ptr.lhs.cast42 = ptrtoint i8* %add.ptr41 to i64 + %sub.ptr.rhs.cast43 = ptrtoint i8* %46 to i64 + %sub.ptr.sub44 = sub i64 %sub.ptr.lhs.cast42, %sub.ptr.rhs.cast43 + store i64 %sub.ptr.sub44, i64* %pending, align 8 + %47 = load i64, i64* %pending, align 8 + %48 = load i64, i64* %bytes.addr, align 8 + %sub45 = sub i64 %48, %47 + store i64 %sub45, i64* %bytes.addr, align 8 + %49 = load i64, i64* %pending, align 8 + %50 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos46 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %50, i32 0, i32 5 + %51 = load i8*, i8** %__bufpos46, align 8 + %idx.neg = sub i64 0, %49 + %add.ptr47 = getelementptr inbounds i8, i8* %51, i64 %idx.neg + store i8* %add.ptr47, i8** %__bufpos46, align 8 + br label %if.end50 + +if.end50: ; preds = %if.then27, %if.then40, %if.end35, %land.lhs.true, %if.then16 + %52 = load i64, i64* %bytes.addr, align 8 + store i64 %52, i64* %retval, align 8 + br label %return + +if.end51: ; preds = %if.end8 + %53 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %53, i32 0, i32 3 + %54 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast53 = ptrtoint i8* %25 to i64 + %sub.ptr.rhs.cast54 = ptrtoint i8* %54 to i64 + %sub.ptr.sub55 = sub i64 %sub.ptr.lhs.cast53, %sub.ptr.rhs.cast54 + %tobool56 = icmp ne i64 %sub.ptr.sub55, 0 + br i1 %tobool56, label %if.then57, label %if.end63 + +if.then57: ; preds = %if.end51 + %55 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call58 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %55) #18 + %tobool59 = icmp ne i64 %call58, 0 + br i1 %tobool59, label %if.then60, label %if.end63 + +if.then60: ; preds = %if.then57 + store i64 0, i64* %retval, align 8 + br label %return + +if.end63: ; preds = %if.end51, %if.then57, %entry + %56 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %57 = load i8*, i8** %buffer.addr, align 8 + %58 = load i64, i64* %bytes.addr, align 8 + %call64 = call i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %56, i8* %57, i64 %58) #18 + store i64 %call64, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end63, %if.then60, %if.end50, %if.end + %59 = load i64, i64* %retval, align 8 + ret i64 %59 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %oflag) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %oflag.addr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %oflag, i32* %oflag.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %2 = load i32, i32* %oflag.addr, align 4 + %and = and i32 %conv, %2 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end9, label %if.then + +if.then: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 0 + %4 = load i16, i16* %__modeflags1, align 8 + %conv2 = zext i16 %4 to i32 + %and3 = and i32 %conv2, 2176 + %tobool4 = icmp ne i32 %and3, 0 + br i1 %tobool4, label %DO_EBADF, label %if.end + +if.end: ; preds = %if.then + %5 = load i32, i32* %oflag.addr, align 4 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 0 + %7 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %7 to i32 + %or = or i32 %conv7, %5 + %conv8 = trunc i32 %or to i16 + store i16 %conv8, i16* %__modeflags6, align 8 + br label %if.end9 + +if.end9: ; preds = %if.end, %entry + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags10, align 8 + %conv11 = zext i16 %9 to i32 + %and12 = and i32 %conv11, 32 + %tobool13 = icmp ne i32 %and12, 0 + br i1 %tobool13, label %DO_EBADF, label %if.end19 + +DO_EBADF: ; preds = %if.end9, %if.then + store i32 9, i32* @errno, align 4 + br label %ERROR + +ERROR: ; preds = %land.lhs.true, %DO_EBADF + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags15 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 0 + %11 = load i16, i16* %__modeflags15, align 8 + %conv16 = zext i16 %11 to i32 + %or17 = or i32 %conv16, 8 + %conv18 = trunc i32 %or17 to i16 + store i16 %conv18, i16* %__modeflags15, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end19: ; preds = %if.end9 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags20 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags20, align 8 + %conv21 = zext i16 %13 to i32 + %and22 = and i32 %conv21, 3 + %tobool23 = icmp ne i32 %and22, 0 + br i1 %tobool23, label %if.then24, label %if.end50 + +if.then24: ; preds = %if.end19 + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags25 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %14, i32 0, i32 0 + %15 = load i16, i16* %__modeflags25, align 8 + %conv26 = zext i16 %15 to i32 + %and27 = and i32 %conv26, 4 + %tobool28 = icmp ne i32 %and27, 0 + br i1 %tobool28, label %if.end42, label %if.then29 + +if.then29: ; preds = %if.then24 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %16, i32 0, i32 6 + %17 = load i8*, i8** %__bufread, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 5 + %19 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %17 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool30 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %tobool30, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then29 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags31 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 0 + %21 = load i16, i16* %__modeflags31, align 8 + %conv32 = zext i16 %21 to i32 + %and33 = and i32 %conv32, 2 + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %land.lhs.true, label %if.end42 + +land.lhs.true: ; preds = %lor.lhs.false, %if.then29 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %23 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags35 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %23, i32 0, i32 0 + %24 = load i16, i16* %__modeflags35, align 8 + %conv36 = zext i16 %24 to i32 + %and37 = and i32 %conv36, 1024 + %tobool38 = icmp ne i32 %and37, 0 + %25 = zext i1 %tobool38 to i64 + %cond = select i1 %tobool38, i32 2, i32 1 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32)* @fseek to i32 (%struct.__STDIO_FILE_STRUCT.568*, i64, i32)*)(%struct.__STDIO_FILE_STRUCT.568* %22, i64 0, i32 %cond) #18 + %tobool39 = icmp ne i32 %call, 0 + br i1 %tobool39, label %ERROR, label %if.end42 + +if.end42: ; preds = %lor.lhs.false, %land.lhs.true, %if.then24 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags43 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 0 + %27 = load i16, i16* %__modeflags43, align 8 + %conv44 = zext i16 %27 to i32 + %and45 = and i32 %conv44, -4 + %conv46 = trunc i32 %and45 to i16 + store i16 %conv46, i16* %__modeflags43, align 8 + %28 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %28, i32 0, i32 3 + %29 = load i8*, i8** %__bufstart, align 8 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %30, i32 0, i32 7 + store i8* %29, i8** %__bufgetc_u, align 8 + %31 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart47 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %31, i32 0, i32 3 + %32 = load i8*, i8** %__bufstart47, align 8 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos48 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %33, i32 0, i32 5 + store i8* %32, i8** %__bufpos48, align 8 + %34 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread49 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %34, i32 0, i32 6 + store i8* %32, i8** %__bufread49, align 8 + br label %if.end50 + +if.end50: ; preds = %if.end42, %if.end19 + %35 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags51 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %35, i32 0, i32 0 + %36 = load i16, i16* %__modeflags51, align 8 + %conv52 = zext i16 %36 to i32 + %or53 = or i32 %conv52, 64 + %conv54 = trunc i32 %or53 to i16 + store i16 %conv54, i16* %__modeflags51, align 8 + %37 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags55 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %37, i32 0, i32 0 + %38 = load i16, i16* %__modeflags55, align 8 + %conv56 = zext i16 %38 to i32 + %and57 = and i32 %conv56, 2816 + %tobool58 = icmp ne i32 %and57, 0 + br i1 %tobool58, label %if.end60, label %if.then59 + +if.then59: ; preds = %if.end50 + %39 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %39, i32 0, i32 4 + %40 = load i8*, i8** %__bufend, align 8 + %41 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %41, i32 0, i32 8 + store i8* %40, i8** %__bufputc_u, align 8 + br label %if.end60 + +if.end60: ; preds = %if.then59, %if.end50 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end60, %ERROR + %42 = load i32, i32* %retval, align 4 + ret i32 %42 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fseeko64(%struct.__STDIO_FILE_STRUCT.636* %stream, i64 %offset, i32 %whence) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + %pos = alloca i64, align 8 + %retval1 = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i64, i64* %offset.addr, align 8 + store i64 %0, i64* %pos, align 8 + store i32 -1, i32* %retval1, align 4 + %1 = load i32, i32* %whence.addr, align 4 + %cmp = icmp ugt i32 %1, 2 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + store i32 22, i32* @errno, align 4 + br label %if.end20 + +if.else: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %2, i32 0, i32 0 + %3 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %3 to i32 + %and = and i32 %conv, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %lor.lhs.false, label %land.lhs.true + +lor.lhs.false: ; preds = %if.else + %4 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %call = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.568*)* @__stdio_wcommit to i64 (%struct.__STDIO_FILE_STRUCT.636*)*)(%struct.__STDIO_FILE_STRUCT.636* %4) #18 + %tobool2 = icmp ne i64 %call, 0 + br i1 %tobool2, label %if.end20, label %land.lhs.true + +land.lhs.true: ; preds = %lor.lhs.false, %if.else + %5 = load i32, i32* %whence.addr, align 4 + %cmp3 = icmp ne i32 %5, 1 + br i1 %cmp3, label %land.lhs.true9, label %lor.lhs.false5 + +lor.lhs.false5: ; preds = %land.lhs.true + %6 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %call6 = call i32 @__stdio_adjust_position(%struct.__STDIO_FILE_STRUCT.636* %6, i64* %pos) #18 + %cmp7 = icmp sge i32 %call6, 0 + br i1 %cmp7, label %land.lhs.true9, label %if.end20 + +land.lhs.true9: ; preds = %lor.lhs.false5, %land.lhs.true + %7 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %8 = load i32, i32* %whence.addr, align 4 + %call10 = call i32 @__stdio_seek(%struct.__STDIO_FILE_STRUCT.636* %7, i64* %pos, i32 %8) #18 + %cmp11 = icmp sge i32 %call10, 0 + br i1 %cmp11, label %if.then13, label %if.end20 + +if.then13: ; preds = %land.lhs.true9 + %9 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags14 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %9, i32 0, i32 0 + %10 = load i16, i16* %__modeflags14, align 8 + %conv15 = zext i16 %10 to i32 + %and16 = and i32 %conv15, -72 + %conv17 = trunc i32 %and16 to i16 + store i16 %conv17, i16* %__modeflags14, align 8 + %11 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %11, i32 0, i32 3 + %12 = load i8*, i8** %__bufstart, align 8 + %13 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %13, i32 0, i32 5 + store i8* %12, i8** %__bufpos, align 8 + %14 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %14, i32 0, i32 6 + store i8* %12, i8** %__bufread, align 8 + %15 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufstart18 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %15, i32 0, i32 3 + %16 = load i8*, i8** %__bufstart18, align 8 + %17 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %17, i32 0, i32 7 + store i8* %16, i8** %__bufgetc_u, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufstart19 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %18, i32 0, i32 3 + %19 = load i8*, i8** %__bufstart19, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %20, i32 0, i32 8 + store i8* %19, i8** %__bufputc_u, align 8 + %21 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %21, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + store i32 0, i32* %__mask, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %22, i32 0, i32 1 + %arrayidx = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 0 + store i8 0, i8* %arrayidx, align 2 + store i32 0, i32* %retval1, align 4 + br label %if.end20 + +if.end20: ; preds = %lor.lhs.false, %lor.lhs.false5, %land.lhs.true9, %if.then13, %if.then + %23 = load i32, i32* %retval1, align 4 + ret i32 %23 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i8* noalias %format, %struct.__va_list_tag.0* %arg) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %format.addr = alloca i8*, align 8 + %arg.addr = alloca %struct.__va_list_tag.0*, align 8 + %ppfs = alloca %struct.ppfs_t.722, align 8 + %count = alloca i32, align 4 + %r = alloca i32, align 4 + %s = alloca i8*, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + store %struct.__va_list_tag.0* %arg, %struct.__va_list_tag.0** %arg.addr, align 8 + store i32 0, i32* %count, align 4 + %0 = load i8*, i8** %format.addr, align 8 + store i8* %0, i8** %s, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %1, i32 0, i32 0 + %2 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %2 to i32 + %and = and i32 %conv, 192 + %cmp = icmp eq i32 %and, 192 + br i1 %cmp, label %if.else, label %land.lhs.true + +land.lhs.true: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* %3, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %land.lhs.true + store i32 -1, i32* %count, align 4 + br label %if.end65 + +if.else: ; preds = %land.lhs.true, %entry + %4 = load i8*, i8** %format.addr, align 8 + %call2 = call i32 @_ppfs_init(%struct.ppfs_t.722* %ppfs, i8* %4) #18 + %cmp3 = icmp slt i32 %call2, 0 + br i1 %cmp3, label %if.then5, label %if.else13 + +if.then5: ; preds = %if.else + %fmtpos = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %5 = load i8*, i8** %fmtpos, align 8 + %call6 = call i64 @strlen(i8* %5) #20 + %cmp7 = icmp ugt i64 %call6, 0 + br i1 %cmp7, label %cond.true, label %cond.end + +cond.true: ; preds = %if.then5 + %fmtpos9 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %6 = load i8*, i8** %fmtpos9, align 8 + %fmtpos10 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %7 = load i8*, i8** %fmtpos10, align 8 + %call11 = call i64 @strlen(i8* %7) #20 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call12 = call i64 @__stdio_fwrite(i8* %6, i64 %call11, %struct.__STDIO_FILE_STRUCT.568* %8) #18 + br label %cond.end + +cond.end: ; preds = %if.then5, %cond.true + %cond = phi i64 [ %call12, %cond.true ], [ 0, %if.then5 ] + store i32 -1, i32* %count, align 4 + br label %if.end65 + +if.else13: ; preds = %if.else + %9 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %arg.addr, align 8 + call void @_ppfs_prepargs(%struct.ppfs_t.722* %ppfs, %struct.__va_list_tag.0* %9) #18 + br label %do.body + +do.body: ; preds = %do.cond, %if.else13 + br label %while.cond + +while.cond: ; preds = %while.body, %do.body + %10 = load i8*, i8** %format.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv14 = sext i8 %11 to i32 + %tobool15 = icmp ne i32 %conv14, 0 + br i1 %tobool15, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %12 = load i8*, i8** %format.addr, align 8 + %13 = load i8, i8* %12, align 1 + %conv16 = sext i8 %13 to i32 + %cmp17 = icmp ne i32 %conv16, 37 + br label %land.end + +land.end: ; preds = %land.rhs, %while.cond + %14 = phi i1 [ false, %while.cond ], [ %cmp17, %land.rhs ] + %15 = load i8*, i8** %format.addr, align 8 + br i1 %14, label %while.body, label %while.end + +while.body: ; preds = %land.end + %incdec.ptr = getelementptr inbounds i8, i8* %15, i32 1 + store i8* %incdec.ptr, i8** %format.addr, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %16 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %15 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %16 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool19 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %tobool19, label %if.then20, label %if.end42 + +if.then20: ; preds = %while.end + %17 = load i8*, i8** %format.addr, align 8 + %18 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast21 = ptrtoint i8* %17 to i64 + %sub.ptr.rhs.cast22 = ptrtoint i8* %18 to i64 + %sub.ptr.sub23 = sub i64 %sub.ptr.lhs.cast21, %sub.ptr.rhs.cast22 + %cmp24 = icmp sgt i64 %sub.ptr.sub23, 0 + br i1 %cmp24, label %cond.true26, label %cond.end32 + +cond.true26: ; preds = %if.then20 + %19 = load i8*, i8** %s, align 8 + %20 = load i8*, i8** %format.addr, align 8 + %21 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast27 = ptrtoint i8* %20 to i64 + %sub.ptr.rhs.cast28 = ptrtoint i8* %21 to i64 + %sub.ptr.sub29 = sub i64 %sub.ptr.lhs.cast27, %sub.ptr.rhs.cast28 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call30 = call i64 @__stdio_fwrite(i8* %19, i64 %sub.ptr.sub29, %struct.__STDIO_FILE_STRUCT.568* %22) #18 + br label %cond.end32 + +cond.end32: ; preds = %if.then20, %cond.true26 + %cond33 = phi i64 [ %call30, %cond.true26 ], [ 0, %if.then20 ] + %conv34 = trunc i64 %cond33 to i32 + store i32 %conv34, i32* %r, align 4 + %conv35 = sext i32 %conv34 to i64 + %23 = load i8*, i8** %format.addr, align 8 + %24 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast36 = ptrtoint i8* %23 to i64 + %sub.ptr.rhs.cast37 = ptrtoint i8* %24 to i64 + %sub.ptr.sub38 = sub i64 %sub.ptr.lhs.cast36, %sub.ptr.rhs.cast37 + %cmp39 = icmp ne i64 %conv35, %sub.ptr.sub38 + br i1 %cmp39, label %if.then41, label %if.end + +if.then41: ; preds = %cond.end32 + store i32 -1, i32* %count, align 4 + br label %do.end + +if.end: ; preds = %cond.end32 + %25 = load i32, i32* %r, align 4 + %26 = load i32, i32* %count, align 4 + %add = add nsw i32 %26, %25 + store i32 %add, i32* %count, align 4 + br label %if.end42 + +if.end42: ; preds = %if.end, %while.end + %27 = load i8*, i8** %format.addr, align 8 + %28 = load i8, i8* %27, align 1 + %tobool43 = icmp ne i8 %28, 0 + br i1 %tobool43, label %if.end45, label %do.end + +if.end45: ; preds = %if.end42 + %29 = load i8*, i8** %format.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %29, i64 1 + %30 = load i8, i8* %arrayidx, align 1 + %conv46 = sext i8 %30 to i32 + %cmp47 = icmp ne i32 %conv46, 37 + %31 = load i8*, i8** %format.addr, align 8 + %incdec.ptr50 = getelementptr inbounds i8, i8* %31, i32 1 + store i8* %incdec.ptr50, i8** %format.addr, align 8 + br i1 %cmp47, label %if.then49, label %if.else58 + +if.then49: ; preds = %if.end45 + %fmtpos51 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + store i8* %incdec.ptr50, i8** %fmtpos51, align 8 + %32 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call52 = call i32 @_do_one_spec(%struct.__STDIO_FILE_STRUCT.568* %32, %struct.ppfs_t.722* %ppfs, i32* %count) #18 + store i32 %call52, i32* %r, align 4 + %cmp53 = icmp slt i32 %call52, 0 + br i1 %cmp53, label %if.then55, label %if.end56 + +if.then55: ; preds = %if.then49 + store i32 -1, i32* %count, align 4 + br label %do.end + +if.end56: ; preds = %if.then49 + %fmtpos57 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %33 = load i8*, i8** %fmtpos57, align 8 + store i8* %33, i8** %format.addr, align 8 + store i8* %33, i8** %s, align 8 + br label %do.cond + +if.else58: ; preds = %if.end45 + store i8* %incdec.ptr50, i8** %s, align 8 + %34 = load i8*, i8** %format.addr, align 8 + %incdec.ptr60 = getelementptr inbounds i8, i8* %34, i32 1 + store i8* %incdec.ptr60, i8** %format.addr, align 8 + br label %do.cond + +do.cond: ; preds = %if.end56, %if.else58 + br label %do.body + +do.end: ; preds = %if.end42, %if.then55, %if.then41 + %arg62 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 7 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg62, i64 0, i64 0 + %arraydecay63 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_end(i8* %arraydecay63) + br label %if.end65 + +if.end65: ; preds = %cond.end, %do.end, %if.then + %35 = load i32, i32* %count, align 4 + ret i32 %35 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_do_one_spec(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, %struct.ppfs_t.722* %ppfs, i32* %count) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %count.addr = alloca i32*, align 8 + %argptr = alloca [1 x i8*], align 8 + %argtype = alloca i32*, align 8 + %ws = alloca i32*, align 8 + %mbstate = alloca %struct.__mbstate_t.512, align 4 + %slen = alloca i64, align 8 + %base = alloca i32, align 4 + %numpad = alloca i32, align 4 + %alphacase = alloca i32, align 4 + %numfill = alloca i32, align 4 + %prefix_num = alloca i32, align 4 + %padchar = alloca i8, align 1 + %buf = alloca [128 x i8], align 16 + %p = alloca %union.anon.193*, align 8 + %i = alloca i32, align 4 + %s = alloca i8*, align 8 + %nf = alloca i64, align 8 + %t = alloca i64, align 8 + %t351 = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store i32* %count, i32** %count.addr, align 8 + store i32* null, i32** %ws, align 8 + store i32 0, i32* %numfill, align 4 + store i32 11, i32* %prefix_num, align 4 + store i8 32, i8* %padchar, align 1 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %call = call i32 @_ppfs_parsespec(%struct.ppfs_t.722* %0) #18 + %1 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + call void @_ppfs_setargs(%struct.ppfs_t.722* %1) #18 + %2 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype1 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %2, i32 0, i32 6 + %arraydecay = getelementptr inbounds [9 x i32], [9 x i32]* %argtype1, i64 0, i64 0 + %3 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %3, i32 0, i32 5 + %arrayidx = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber, i64 0, i64 2 + %4 = load i8, i8* %arrayidx, align 2 + %conv = zext i8 %4 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds i32, i32* %arraydecay, i64 %idx.ext + %add.ptr2 = getelementptr inbounds i32, i32* %add.ptr, i64 -1 + store i32* %add.ptr2, i32** %argtype, align 8 + %5 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argvalue = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %5, i32 0, i32 8 + %arraydecay3 = getelementptr inbounds [9 x %union.anon.193], [9 x %union.anon.193]* %argvalue, i64 0, i64 0 + store %union.anon.193* %arraydecay3, %union.anon.193** %p, align 8 + %6 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %6, i32 0, i32 2 + %7 = load i32, i32* %maxposarg, align 4 + %cmp = icmp sgt i32 %7, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %8 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber5 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %8, i32 0, i32 5 + %arrayidx6 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber5, i64 0, i64 2 + %9 = load i8, i8* %arrayidx6, align 2 + %conv7 = zext i8 %9 to i32 + %sub = sub nsw i32 %conv7, 1 + %10 = load %union.anon.193*, %union.anon.193** %p, align 8 + %idx.ext8 = sext i32 %sub to i64 + %add.ptr9 = getelementptr inbounds %union.anon.193, %union.anon.193* %10, i64 %idx.ext8 + store %union.anon.193* %add.ptr9, %union.anon.193** %p, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %11 = load i32, i32* %i, align 4 + %12 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %12, i32 0, i32 3 + %13 = load i32, i32* %num_data_args, align 8 + %cmp10 = icmp slt i32 %11, %13 + br i1 %cmp10, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %14 = load %union.anon.193*, %union.anon.193** %p, align 8 + %incdec.ptr = getelementptr inbounds %union.anon.193, %union.anon.193* %14, i32 1 + store %union.anon.193* %incdec.ptr, %union.anon.193** %p, align 8 + %15 = bitcast %union.anon.193* %14 to i8* + %16 = load i32, i32* %i, align 4 + %idxprom = sext i32 %16 to i64 + %arrayidx12 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 %idxprom + store i8* %15, i8** %arrayidx12, align 8 + %17 = load i32, i32* %i, align 4 + %inc = add nsw i32 %17, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + store i8* null, i8** %s, align 8 + %18 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %18, i32 0, i32 4 + %19 = load i32, i32* %conv_num, align 4 + %cmp13 = icmp eq i32 %19, 0 + br i1 %cmp13, label %if.then15, label %if.end18 + +if.then15: ; preds = %for.end + %arraydecay16 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %20 = load i8*, i8** %arraydecay16, align 8 + %21 = bitcast i8* %20 to i8** + %22 = load i8*, i8** %21, align 8 + %23 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %23, i32 0, i32 1 + %_flags = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 3 + %24 = load i32, i32* %_flags, align 4 + %and = and i32 %24, 3840 + %25 = load i32*, i32** %count.addr, align 8 + %26 = load i32, i32* %25, align 4 + %conv17 = sext i32 %26 to i64 + call void @_store_inttype(i8* %22, i32 %and, i64 %conv17) #18 + store i32 0, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %for.end + %27 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num19 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %27, i32 0, i32 4 + %28 = load i32, i32* %conv_num19, align 4 + %cmp20 = icmp ule i32 %28, 7 + br i1 %cmp20, label %if.then22, label %if.else179 + +if.then22: ; preds = %if.end18 + store i32 87, i32* %alphacase, align 4 + %29 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num23 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %29, i32 0, i32 4 + %30 = load i32, i32* %conv_num23, align 4 + %sub24 = sub i32 %30, 1 + %idxprom25 = sext i32 %sub24 to i64 + %arrayidx26 = getelementptr inbounds [7 x i8], [7 x i8]* @_do_one_spec.spec_base, i64 0, i64 %idxprom25 + %31 = load i8, i8* %arrayidx26, align 1 + %conv27 = sext i8 %31 to i32 + store i32 %conv27, i32* %base, align 4 + %cmp28 = icmp eq i32 %conv27, 10 + br i1 %cmp28, label %if.then30, label %if.end42 + +if.then30: ; preds = %if.then22 + %32 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info31 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %32, i32 0, i32 1 + %_flags32 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info31, i32 0, i32 3 + %33 = load i32, i32* %_flags32, align 4 + %and33 = and i32 %33, 32 + %tobool = icmp ne i32 %and33, 0 + br i1 %tobool, label %if.then34, label %if.end35 + +if.then34: ; preds = %if.then30 + store i32 44, i32* %alphacase, align 4 + br label %if.end35 + +if.end35: ; preds = %if.then34, %if.then30 + %34 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info36 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %34, i32 0, i32 1 + %_flags37 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info36, i32 0, i32 3 + %35 = load i32, i32* %_flags37, align 4 + %and38 = and i32 %35, 64 + %tobool39 = icmp ne i32 %and38, 0 + br i1 %tobool39, label %if.then40, label %if.end42 + +if.then40: ; preds = %if.end35 + %36 = load i32, i32* %alphacase, align 4 + %or = or i32 %36, 128 + store i32 %or, i32* %alphacase, align 4 + br label %if.end42 + +if.end42: ; preds = %if.end35, %if.then40, %if.then22 + %37 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num43 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %37, i32 0, i32 4 + %38 = load i32, i32* %conv_num43, align 4 + %cmp44 = icmp ule i32 %38, 5 + br i1 %cmp44, label %if.then46, label %if.else57 + +if.then46: ; preds = %if.end42 + %39 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num47 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %39, i32 0, i32 4 + %40 = load i32, i32* %conv_num47, align 4 + %cmp48 = icmp eq i32 %40, 3 + br i1 %cmp48, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.then46 + store i32 55, i32* %alphacase, align 4 + br label %if.end51 + +if.end51: ; preds = %if.then50, %if.then46 + %41 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num52 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %41, i32 0, i32 4 + %42 = load i32, i32* %conv_num52, align 4 + %cmp53 = icmp eq i32 %42, 1 + br i1 %cmp53, label %if.then55, label %if.end59 + +if.then55: ; preds = %if.end51 + store i32 6, i32* %prefix_num, align 4 + br label %if.end59 + +if.else57: ; preds = %if.end42 + %43 = load i32, i32* %base, align 4 + %sub58 = sub nsw i32 0, %43 + store i32 %sub58, i32* %base, align 4 + br label %if.end59 + +if.end59: ; preds = %if.then55, %if.end51, %if.else57 + %44 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info60 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %44, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info60, i32 0, i32 0 + %45 = load i32, i32* %prec, align 8 + %cmp61 = icmp slt i32 %45, 0 + br i1 %cmp61, label %if.then63, label %if.end66 + +if.then63: ; preds = %if.end59 + %46 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info64 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %46, i32 0, i32 1 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info64, i32 0, i32 4 + %47 = load i32, i32* %pad, align 8 + %conv65 = trunc i32 %47 to i8 + store i8 %conv65, i8* %padchar, align 1 + br label %if.end66 + +if.end66: ; preds = %if.then63, %if.end59 + %arraydecay67 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %add.ptr68 = getelementptr inbounds i8, i8* %arraydecay67, i64 128 + %add.ptr69 = getelementptr inbounds i8, i8* %add.ptr68, i64 -1 + %48 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num70 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %48, i32 0, i32 4 + %49 = load i32, i32* %conv_num70, align 4 + %cmp71 = icmp eq i32 %49, 1 + br i1 %cmp71, label %cond.end, label %cond.false + +cond.false: ; preds = %if.end66 + %50 = load i32*, i32** %argtype, align 8 + %51 = load i32, i32* %50, align 4 + %and73 = and i32 %51, 3840 + br label %cond.end + +cond.end: ; preds = %if.end66, %cond.false + %cond = phi i32 [ %and73, %cond.false ], [ 1024, %if.end66 ] + %arraydecay74 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %52 = load i8*, i8** %arraydecay74, align 8 + %53 = load i32, i32* %base, align 4 + %call75 = call i64 @_load_inttype(i32 %cond, i8* %52, i32 %53) #18 + %54 = load i32, i32* %base, align 4 + %55 = load i32, i32* %alphacase, align 4 + %call76 = call i8* @_uintmaxtostr(i8* %add.ptr69, i64 %call75, i32 %54, i32 %55) #18 + store i8* %call76, i8** %s, align 8 + %56 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num77 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %56, i32 0, i32 4 + %57 = load i32, i32* %conv_num77, align 4 + %cmp78 = icmp ugt i32 %57, 5 + br i1 %cmp78, label %if.then80, label %if.end104 + +if.then80: ; preds = %cond.end + %58 = load i8*, i8** %s, align 8 + %59 = load i8, i8* %58, align 1 + %conv81 = sext i8 %59 to i32 + %cmp82 = icmp eq i32 %conv81, 45 + %60 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info85 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %60, i32 0, i32 1 + %_flags86 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info85, i32 0, i32 3 + %61 = load i32, i32* %_flags86, align 4 + br i1 %cmp82, label %if.then84, label %if.else89 + +if.then84: ; preds = %if.then80 + %or87 = or i32 %61, 2 + store i32 %or87, i32* %_flags86, align 4 + %62 = load i8*, i8** %s, align 8 + %incdec.ptr88 = getelementptr inbounds i8, i8* %62, i32 1 + store i8* %incdec.ptr88, i8** %s, align 8 + store i32 2, i32* %prefix_num, align 4 + br label %if.end104 + +if.else89: ; preds = %if.then80 + %and92 = and i32 %61, 2 + %tobool93 = icmp ne i32 %and92, 0 + br i1 %tobool93, label %if.then94, label %if.else95 + +if.then94: ; preds = %if.else89 + store i32 0, i32* %prefix_num, align 4 + br label %if.end104 + +if.else95: ; preds = %if.else89 + %63 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info96 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %63, i32 0, i32 1 + %_flags97 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info96, i32 0, i32 3 + %64 = load i32, i32* %_flags97, align 4 + %and98 = and i32 %64, 1 + %tobool99 = icmp ne i32 %and98, 0 + br i1 %tobool99, label %if.then100, label %if.end104 + +if.then100: ; preds = %if.else95 + store i32 4, i32* %prefix_num, align 4 + br label %if.end104 + +if.end104: ; preds = %if.then84, %if.else95, %if.then100, %if.then94, %cond.end + %arraydecay105 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %add.ptr106 = getelementptr inbounds i8, i8* %arraydecay105, i64 128 + %add.ptr107 = getelementptr inbounds i8, i8* %add.ptr106, i64 -1 + %65 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %add.ptr107 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %65 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %slen, align 8 + %66 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info108 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %66, i32 0, i32 1 + %prec109 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info108, i32 0, i32 0 + %67 = load i32, i32* %prec109, align 8 + %cmp110 = icmp slt i32 %67, 0 + br i1 %cmp110, label %cond.end116, label %cond.false113 + +cond.false113: ; preds = %if.end104 + %68 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info114 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %68, i32 0, i32 1 + %prec115 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info114, i32 0, i32 0 + %69 = load i32, i32* %prec115, align 8 + br label %cond.end116 + +cond.end116: ; preds = %if.end104, %cond.false113 + %cond117 = phi i32 [ %69, %cond.false113 ], [ 1, %if.end104 ] + store i32 %cond117, i32* %numfill, align 4 + %70 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info118 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %70, i32 0, i32 1 + %_flags119 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info118, i32 0, i32 3 + %71 = load i32, i32* %_flags119, align 4 + %and120 = and i32 %71, 16 + %tobool121 = icmp ne i32 %and120, 0 + br i1 %tobool121, label %if.then122, label %if.end149 + +if.then122: ; preds = %cond.end116 + %72 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num123 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %72, i32 0, i32 4 + %73 = load i32, i32* %conv_num123, align 4 + %cmp124 = icmp ule i32 %73, 2 + br i1 %cmp124, label %if.then126, label %if.end127 + +if.then126: ; preds = %if.then122 + store i32 6, i32* %prefix_num, align 4 + br label %if.end127 + +if.end127: ; preds = %if.then126, %if.then122 + %74 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num128 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %74, i32 0, i32 4 + %75 = load i32, i32* %conv_num128, align 4 + %cmp129 = icmp eq i32 %75, 3 + br i1 %cmp129, label %if.then131, label %if.end132 + +if.then131: ; preds = %if.end127 + store i32 9, i32* %prefix_num, align 4 + br label %if.end132 + +if.end132: ; preds = %if.then131, %if.end127 + %76 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num133 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %76, i32 0, i32 4 + %77 = load i32, i32* %conv_num133, align 4 + %cmp134 = icmp eq i32 %77, 4 + br i1 %cmp134, label %land.lhs.true, label %if.end149 + +land.lhs.true: ; preds = %if.end132 + %78 = load i32, i32* %numfill, align 4 + %conv136 = sext i32 %78 to i64 + %79 = load i64, i64* %slen, align 8 + %cmp137 = icmp ule i64 %conv136, %79 + br i1 %cmp137, label %if.then139, label %if.end149 + +if.then139: ; preds = %land.lhs.true + %80 = load i8*, i8** %s, align 8 + %81 = load i8, i8* %80, align 1 + %conv140 = sext i8 %81 to i32 + %cmp141 = icmp eq i32 %conv140, 48 + %82 = load i64, i64* %slen, align 8 + %add = add i64 %82, 1 + %cond146 = select i1 %cmp141, i64 1, i64 %add + %conv147 = trunc i64 %cond146 to i32 + store i32 %conv147, i32* %numfill, align 4 + br label %if.end149 + +if.end149: ; preds = %if.end132, %land.lhs.true, %if.then139, %cond.end116 + %83 = load i8*, i8** %s, align 8 + %84 = load i8, i8* %83, align 1 + %conv150 = sext i8 %84 to i32 + %cmp151 = icmp eq i32 %conv150, 48 + br i1 %cmp151, label %if.then153, label %if.end168 + +if.then153: ; preds = %if.end149 + %85 = load i32, i32* %prefix_num, align 4 + %cmp154 = icmp sge i32 %85, 6 + br i1 %cmp154, label %if.then156, label %if.end157 + +if.then156: ; preds = %if.then153 + store i32 11, i32* %prefix_num, align 4 + br label %if.end157 + +if.end157: ; preds = %if.then156, %if.then153 + %86 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num158 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %86, i32 0, i32 4 + %87 = load i32, i32* %conv_num158, align 4 + %cmp159 = icmp eq i32 %87, 1 + br i1 %cmp159, label %if.then161, label %if.else162 + +if.then161: ; preds = %if.end157 + store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.343, i64 0, i64 0), i8** %s, align 8 + store i64 5, i64* %slen, align 8 + store i32 0, i32* %numfill, align 4 + br label %if.end168 + +if.else162: ; preds = %if.end157 + %88 = load i32, i32* %numfill, align 4 + %cmp163 = icmp eq i32 %88, 0 + br i1 %cmp163, label %if.then165, label %if.end168 + +if.then165: ; preds = %if.else162 + store i64 0, i64* %slen, align 8 + br label %if.end168 + +if.end168: ; preds = %if.then161, %if.then165, %if.else162, %if.end149 + %89 = load i32, i32* %numfill, align 4 + %conv169 = sext i32 %89 to i64 + %90 = load i64, i64* %slen, align 8 + %cmp170 = icmp ugt i64 %conv169, %90 + %91 = load i32, i32* %numfill, align 4 + %conv173 = sext i32 %91 to i64 + %92 = load i64, i64* %slen, align 8 + %sub174 = sub i64 %conv173, %92 + %cond177 = select i1 %cmp170, i64 %sub174, i64 0 + %conv178 = trunc i64 %cond177 to i32 + store i32 %conv178, i32* %numfill, align 4 + br label %if.end278 + +if.else179: ; preds = %if.end18 + %93 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num180 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %93, i32 0, i32 4 + %94 = load i32, i32* %conv_num180, align 4 + %cmp181 = icmp ule i32 %94, 15 + br i1 %cmp181, label %if.then183, label %if.else203 + +if.then183: ; preds = %if.else179 + %95 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %arraydecay189 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %96 = load i8*, i8** %arraydecay189, align 8 + %97 = bitcast i8* %96 to double* + %98 = load double, double* %97, align 8 + %99 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info194 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %99, i32 0, i32 1 + %call195 = call i64 @_fpmaxtostr(%struct.__STDIO_FILE_STRUCT.568* %95, double %98, %struct.printf_info.720* %info194, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)* @_fp_out_narrow) #18 + store i64 %call195, i64* %nf, align 8 + %100 = load i64, i64* %nf, align 8 + %cmp196 = icmp slt i64 %100, 0 + br i1 %cmp196, label %if.then198, label %if.end199 + +if.then198: ; preds = %if.then183 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end199: ; preds = %if.then183 + %101 = load i64, i64* %nf, align 8 + %102 = load i32*, i32** %count.addr, align 8 + %103 = load i32, i32* %102, align 4 + %conv200 = sext i32 %103 to i64 + %add201 = add nsw i64 %conv200, %101 + %conv202 = trunc i64 %add201 to i32 + store i32 %conv202, i32* %102, align 4 + store i32 0, i32* %retval, align 4 + br label %return + +if.else203: ; preds = %if.else179 + %104 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num204 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %104, i32 0, i32 4 + %105 = load i32, i32* %conv_num204, align 4 + %cmp205 = icmp ule i32 %105, 17 + br i1 %cmp205, label %if.then207, label %if.else242 + +if.then207: ; preds = %if.else203 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %mbstate, i32 0, i32 0 + store i32 0, i32* %__mask, align 4 + %106 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num208 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %106, i32 0, i32 4 + %107 = load i32, i32* %conv_num208, align 4 + %cmp209 = icmp eq i32 %107, 17 + br i1 %cmp209, label %if.then211, label %if.else232 + +if.then211: ; preds = %if.then207 + %arraydecay212 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %108 = load i8*, i8** %arraydecay212, align 8 + %109 = bitcast i8* %108 to i32** + %110 = load i32*, i32** %109, align 8 + store i32* %110, i32** %ws, align 8 + %tobool213 = icmp ne i32* %110, null + br i1 %tobool213, label %if.end215, label %NULL_STRING + +if.end215: ; preds = %if.then211 + %111 = bitcast i32** %ws to i8* + %112 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info216 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %112, i32 0, i32 1 + %prec217 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info216, i32 0, i32 0 + %113 = load i32, i32* %prec217, align 8 + %cmp218 = icmp sge i32 %113, 0 + br i1 %cmp218, label %cond.true220, label %cond.end225 + +cond.true220: ; preds = %if.end215 + %114 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info221 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %114, i32 0, i32 1 + %prec222 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info221, i32 0, i32 0 + %115 = load i32, i32* %prec222, align 8 + %conv223 = sext i32 %115 to i64 + br label %cond.end225 + +cond.end225: ; preds = %if.end215, %cond.true220 + %cond226 = phi i64 [ %conv223, %cond.true220 ], [ -1, %if.end215 ] + %call227 = call i64 @wcsrtombs(i8* %111, i32** %ws, i64 %cond226, %struct.__mbstate_t.512* %mbstate) #19 + store i64 %call227, i64* %slen, align 8 + %cmp228 = icmp eq i64 %call227, -1 + br i1 %cmp228, label %if.then230, label %if.end278 + +if.then230: ; preds = %cond.end225 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else232: ; preds = %if.then207 + %arraydecay233 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay233, i8** %s, align 8 + %116 = load i8*, i8** %s, align 8 + %arraydecay234 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %117 = load i8*, i8** %arraydecay234, align 8 + %118 = bitcast i8* %117 to i32* + %119 = load i32, i32* %118, align 4 + %call235 = call i64 @wcrtomb(i8* %116, i32 %119, %struct.__mbstate_t.512* %mbstate) #19 + store i64 %call235, i64* %slen, align 8 + %120 = load i64, i64* %slen, align 8 + %cmp236 = icmp eq i64 %120, -1 + br i1 %cmp236, label %if.then238, label %if.end239 + +if.then238: ; preds = %if.else232 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end239: ; preds = %if.else232 + %121 = load i8*, i8** %s, align 8 + %122 = load i64, i64* %slen, align 8 + %arrayidx240 = getelementptr inbounds i8, i8* %121, i64 %122 + store i8 0, i8* %arrayidx240, align 1 + br label %if.end278 + +if.else242: ; preds = %if.else203 + %123 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num243 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %123, i32 0, i32 4 + %124 = load i32, i32* %conv_num243, align 4 + %cmp244 = icmp ule i32 %124, 19 + br i1 %cmp244, label %if.then246, label %if.else274 + +if.then246: ; preds = %if.else242 + %125 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num247 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %125, i32 0, i32 4 + %126 = load i32, i32* %conv_num247, align 4 + %cmp248 = icmp eq i32 %126, 19 + br i1 %cmp248, label %if.then250, label %if.else268 + +if.then250: ; preds = %if.then246 + %arraydecay251 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %127 = load i8*, i8** %arraydecay251, align 8 + %128 = bitcast i8* %127 to i8** + %129 = load i8*, i8** %128, align 8 + store i8* %129, i8** %s, align 8 + %130 = load i8*, i8** %s, align 8 + %tobool252 = icmp ne i8* %130, null + br i1 %tobool252, label %if.then253, label %NULL_STRING + +if.then253: ; preds = %if.then250 + %131 = load i8*, i8** %s, align 8 + %132 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info254 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %132, i32 0, i32 1 + %prec255 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info254, i32 0, i32 0 + %133 = load i32, i32* %prec255, align 8 + %cmp256 = icmp sge i32 %133, 0 + br i1 %cmp256, label %cond.true258, label %cond.end263 + +cond.true258: ; preds = %if.then253 + %134 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info259 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %134, i32 0, i32 1 + %prec260 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info259, i32 0, i32 0 + %135 = load i32, i32* %prec260, align 8 + %conv261 = sext i32 %135 to i64 + br label %cond.end263 + +cond.end263: ; preds = %if.then253, %cond.true258 + %cond264 = phi i64 [ %conv261, %cond.true258 ], [ -1, %if.then253 ] + %call265 = call i64 @strnlen(i8* %131, i64 %cond264) #20 + store i64 %call265, i64* %slen, align 8 + br label %if.end278 + +NULL_STRING: ; preds = %if.then250, %if.then211 + store i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.344, i64 0, i64 0), i8** %s, align 8 + store i64 6, i64* %slen, align 8 + br label %if.end278 + +if.else268: ; preds = %if.then246 + %arraydecay269 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay269, i8** %s, align 8 + %arraydecay270 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %136 = load i8*, i8** %arraydecay270, align 8 + %137 = bitcast i8* %136 to i32* + %138 = load i32, i32* %137, align 4 + %conv271 = trunc i32 %138 to i8 + %139 = load i8*, i8** %s, align 8 + store i8 %conv271, i8* %139, align 1 + %140 = load i8*, i8** %s, align 8 + %arrayidx272 = getelementptr inbounds i8, i8* %140, i64 1 + store i8 0, i8* %arrayidx272, align 1 + store i64 1, i64* %slen, align 8 + br label %if.end278 + +if.else274: ; preds = %if.else242 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end278: ; preds = %cond.end263, %NULL_STRING, %if.else268, %if.end239, %cond.end225, %if.end168 + %141 = load i64, i64* %slen, align 8 + %142 = load i32, i32* %numfill, align 4 + %conv279 = sext i32 %142 to i64 + %add280 = add i64 %141, %conv279 + store i64 %add280, i64* %t, align 8 + %143 = load i32, i32* %prefix_num, align 4 + %cmp281 = icmp ne i32 %143, 11 + br i1 %cmp281, label %if.then283, label %if.end289 + +if.then283: ; preds = %if.end278 + %144 = load i32, i32* %prefix_num, align 4 + %cmp284 = icmp slt i32 %144, 6 + %145 = zext i1 %cmp284 to i64 + %cond286 = select i1 %cmp284, i32 1, i32 2 + %conv287 = sext i32 %cond286 to i64 + %146 = load i64, i64* %t, align 8 + %add288 = add i64 %146, %conv287 + store i64 %add288, i64* %t, align 8 + br label %if.end289 + +if.end289: ; preds = %if.then283, %if.end278 + %147 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info290 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %147, i32 0, i32 1 + %width = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info290, i32 0, i32 1 + %148 = load i32, i32* %width, align 4 + %conv291 = sext i32 %148 to i64 + %149 = load i64, i64* %t, align 8 + %cmp292 = icmp ugt i64 %conv291, %149 + br i1 %cmp292, label %cond.true294, label %cond.end300 + +cond.true294: ; preds = %if.end289 + %150 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info295 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %150, i32 0, i32 1 + %width296 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info295, i32 0, i32 1 + %151 = load i32, i32* %width296, align 4 + %conv297 = sext i32 %151 to i64 + %152 = load i64, i64* %t, align 8 + %sub298 = sub i64 %conv297, %152 + br label %cond.end300 + +cond.end300: ; preds = %if.end289, %cond.true294 + %cond301 = phi i64 [ %sub298, %cond.true294 ], [ 0, %if.end289 ] + %conv302 = trunc i64 %cond301 to i32 + store i32 %conv302, i32* %numpad, align 4 + %153 = load i64, i64* %t, align 8 + %154 = load i32, i32* %numpad, align 4 + %conv303 = sext i32 %154 to i64 + %add304 = add i64 %153, %conv303 + %155 = load i32*, i32** %count.addr, align 8 + %156 = load i32, i32* %155, align 4 + %conv305 = sext i32 %156 to i64 + %add306 = add i64 %conv305, %add304 + %conv307 = trunc i64 %add306 to i32 + store i32 %conv307, i32* %155, align 4 + %157 = load i8, i8* %padchar, align 1 + %conv308 = sext i8 %157 to i32 + %cmp309 = icmp eq i32 %conv308, 48 + br i1 %cmp309, label %if.then311, label %if.end313 + +if.then311: ; preds = %cond.end300 + %158 = load i32, i32* %numpad, align 4 + %159 = load i32, i32* %numfill, align 4 + %add312 = add nsw i32 %159, %158 + store i32 %add312, i32* %numfill, align 4 + store i32 0, i32* %numpad, align 4 + br label %if.end313 + +if.end313: ; preds = %if.then311, %cond.end300 + %160 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info314 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %160, i32 0, i32 1 + %_flags315 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info314, i32 0, i32 3 + %161 = load i32, i32* %_flags315, align 4 + %and316 = and i32 %161, 8 + %tobool317 = icmp ne i32 %and316, 0 + br i1 %tobool317, label %if.end326, label %if.then318 + +if.then318: ; preds = %if.end313 + %162 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %163 = load i32, i32* %numpad, align 4 + %conv319 = sext i32 %163 to i64 + %call320 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %162, i32 32, i64 %conv319) #18 + %164 = load i32, i32* %numpad, align 4 + %conv321 = sext i32 %164 to i64 + %cmp322 = icmp ne i64 %call320, %conv321 + br i1 %cmp322, label %if.then324, label %if.end325 + +if.then324: ; preds = %if.then318 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end325: ; preds = %if.then318 + store i32 0, i32* %numpad, align 4 + br label %if.end326 + +if.end326: ; preds = %if.end325, %if.end313 + %165 = load i32, i32* %prefix_num, align 4 + %idx.ext327 = sext i32 %165 to i64 + %add.ptr328 = getelementptr inbounds i8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @_do_one_spec.prefix, i64 0, i64 0), i64 %idx.ext327 + %166 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call329 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct.__STDIO_FILE_STRUCT.568*)*)(i8* %add.ptr328, %struct.__STDIO_FILE_STRUCT.568* %166) #18 + %167 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %168 = load i32, i32* %numfill, align 4 + %conv330 = sext i32 %168 to i64 + %call331 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %167, i32 48, i64 %conv330) #18 + %169 = load i32, i32* %numfill, align 4 + %conv332 = sext i32 %169 to i64 + %cmp333 = icmp ne i64 %call331, %conv332 + br i1 %cmp333, label %if.then335, label %if.end336 + +if.then335: ; preds = %if.end326 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end336: ; preds = %if.end326 + %170 = load i32*, i32** %ws, align 8 + %tobool337 = icmp ne i32* %170, null + br i1 %tobool337, label %if.else350, label %if.then338 + +if.then338: ; preds = %if.end336 + %171 = load i64, i64* %slen, align 8 + %cmp339 = icmp ugt i64 %171, 0 + br i1 %cmp339, label %cond.true341, label %cond.end344 + +cond.true341: ; preds = %if.then338 + %172 = load i8*, i8** %s, align 8 + %173 = load i64, i64* %slen, align 8 + %174 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call342 = call i64 @__stdio_fwrite(i8* %172, i64 %173, %struct.__STDIO_FILE_STRUCT.568* %174) #18 + br label %cond.end344 + +cond.end344: ; preds = %if.then338, %cond.true341 + %cond345 = phi i64 [ %call342, %cond.true341 ], [ 0, %if.then338 ] + %175 = load i64, i64* %slen, align 8 + %cmp346 = icmp ne i64 %cond345, %175 + br i1 %cmp346, label %if.then348, label %if.end375 + +if.then348: ; preds = %cond.end344 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else350: ; preds = %if.end336 + %__mask352 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %mbstate, i32 0, i32 0 + store i32 0, i32* %__mask352, align 4 + br label %while.cond + +while.cond: ; preds = %if.end373, %if.else350 + %176 = load i64, i64* %slen, align 8 + %tobool353 = icmp ne i64 %176, 0 + br i1 %tobool353, label %while.body, label %if.end375 + +while.body: ; preds = %while.cond + %177 = load i64, i64* %slen, align 8 + %cmp354 = icmp ule i64 %177, 128 + %178 = load i64, i64* %slen, align 8 + %cond359 = select i1 %cmp354, i64 %178, i64 128 + store i64 %cond359, i64* %t351, align 8 + %arraydecay360 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %179 = load i64, i64* %t351, align 8 + %call361 = call i64 @wcsrtombs(i8* %arraydecay360, i32** %ws, i64 %179, %struct.__mbstate_t.512* %mbstate) #19 + store i64 %call361, i64* %t351, align 8 + %180 = load i64, i64* %t351, align 8 + %cmp362 = icmp ugt i64 %180, 0 + br i1 %cmp362, label %cond.true364, label %cond.end368 + +cond.true364: ; preds = %while.body + %arraydecay365 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %181 = load i64, i64* %t351, align 8 + %182 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call366 = call i64 @__stdio_fwrite(i8* %arraydecay365, i64 %181, %struct.__STDIO_FILE_STRUCT.568* %182) #18 + br label %cond.end368 + +cond.end368: ; preds = %while.body, %cond.true364 + %cond369 = phi i64 [ %call366, %cond.true364 ], [ 0, %while.body ] + %183 = load i64, i64* %t351, align 8 + %cmp370 = icmp ne i64 %cond369, %183 + br i1 %cmp370, label %if.then372, label %if.end373 + +if.then372: ; preds = %cond.end368 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end373: ; preds = %cond.end368 + %184 = load i64, i64* %t351, align 8 + %185 = load i64, i64* %slen, align 8 + %sub374 = sub i64 %185, %184 + store i64 %sub374, i64* %slen, align 8 + br label %while.cond + +if.end375: ; preds = %while.cond, %cond.end344 + %186 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %187 = load i32, i32* %numpad, align 4 + %conv376 = sext i32 %187 to i64 + %call377 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %186, i32 32, i64 %conv376) #18 + %188 = load i32, i32* %numpad, align 4 + %conv378 = sext i32 %188 to i64 + %cmp379 = icmp ne i64 %call377, %conv378 + br i1 %cmp379, label %if.then381, label %if.end382 + +if.then381: ; preds = %if.end375 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end382: ; preds = %if.end375 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end382, %if.then381, %if.then372, %if.then348, %if.then335, %if.then324, %if.else274, %if.then238, %if.then230, %if.end199, %if.then198, %if.then15 + %189 = load i32, i32* %retval, align 4 + ret i32 %189 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @_fp_out_narrow(%struct.__STDIO_FILE_STRUCT.568* %fp, i64 %type, i64 %len, i64 %buf) #0 { +entry: + %retval = alloca i64, align 8 + %fp.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %type.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %buf.addr = alloca i64, align 8 + %r = alloca i64, align 8 + %buflen = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %fp, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + store i64 %type, i64* %type.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store i64 %buf, i64* %buf.addr, align 8 + store i64 0, i64* %r, align 8 + %0 = load i64, i64* %type.addr, align 8 + %and = and i64 %0, 128 + %tobool = icmp ne i64 %and, 0 + br i1 %tobool, label %if.then, label %if.end12 + +if.then: ; preds = %entry + %1 = load i64, i64* %buf.addr, align 8 + %2 = inttoptr i64 %1 to i8* + %call = call i64 @strlen(i8* %2) #20 + %conv = trunc i64 %call to i32 + store i32 %conv, i32* %buflen, align 4 + %3 = load i32, i32* %buflen, align 4 + %conv1 = sext i32 %3 to i64 + %4 = load i64, i64* %len.addr, align 8 + %sub = sub nsw i64 %4, %conv1 + store i64 %sub, i64* %len.addr, align 8 + %cmp = icmp sgt i64 %sub, 0 + br i1 %cmp, label %if.then3, label %if.end10 + +if.then3: ; preds = %if.then + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + %6 = load i64, i64* %type.addr, align 8 + %and4 = and i64 %6, 127 + %conv5 = trunc i64 %and4 to i32 + %7 = load i64, i64* %len.addr, align 8 + %call6 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %5, i32 %conv5, i64 %7) #18 + store i64 %call6, i64* %r, align 8 + %8 = load i64, i64* %len.addr, align 8 + %cmp7 = icmp ne i64 %call6, %8 + br i1 %cmp7, label %if.then9, label %if.end10 + +if.then9: ; preds = %if.then3 + %9 = load i64, i64* %r, align 8 + store i64 %9, i64* %retval, align 8 + br label %return + +if.end10: ; preds = %if.then3, %if.then + %10 = load i32, i32* %buflen, align 4 + %conv11 = sext i32 %10 to i64 + store i64 %conv11, i64* %len.addr, align 8 + br label %if.end12 + +if.end12: ; preds = %if.end10, %entry + %11 = load i64, i64* %r, align 8 + %12 = load i64, i64* %len.addr, align 8 + %cmp13 = icmp sgt i64 %12, 0 + br i1 %cmp13, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end12 + %13 = load i64, i64* %buf.addr, align 8 + %14 = inttoptr i64 %13 to i8* + %15 = load i64, i64* %len.addr, align 8 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + %call15 = call i64 @__stdio_fwrite(i8* %14, i64 %15, %struct.__STDIO_FILE_STRUCT.568* %16) #18 + br label %cond.end + +cond.end: ; preds = %if.end12, %cond.true + %cond = phi i64 [ %call15, %cond.true ], [ 0, %if.end12 ] + %add = add i64 %11, %cond + store i64 %add, i64* %retval, align 8 + br label %return + +return: ; preds = %cond.end, %if.then9 + %17 = load i64, i64* %retval, align 8 + ret i64 %17 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %padchar, i64 %numpad) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %padchar.addr = alloca i32, align 4 + %numpad.addr = alloca i64, align 8 + %todo = alloca i64, align 8 + %pad = alloca [1 x i8], align 1 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %padchar, i32* %padchar.addr, align 4 + store i64 %numpad, i64* %numpad.addr, align 8 + %0 = load i64, i64* %numpad.addr, align 8 + store i64 %0, i64* %todo, align 8 + %1 = load i32, i32* %padchar.addr, align 4 + %conv = trunc i32 %1 to i8 + %arraydecay = getelementptr inbounds [1 x i8], [1 x i8]* %pad, i64 0, i64 0 + store i8 %conv, i8* %arraydecay, align 1 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %2 = load i64, i64* %todo, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %arraydecay1 = getelementptr inbounds [1 x i8], [1 x i8]* %pad, i64 0, i64 0 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i64 @__stdio_fwrite(i8* %arraydecay1, i64 1, %struct.__STDIO_FILE_STRUCT.568* %3) #18 + %cmp = icmp eq i64 %call, 1 + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %land.rhs + %4 = load i64, i64* %todo, align 8 + %dec = add i64 %4, -1 + store i64 %dec, i64* %todo, align 8 + br label %while.cond + +while.end: ; preds = %while.cond, %land.rhs + %5 = load i64, i64* %numpad.addr, align 8 + %6 = load i64, i64* %todo, align 8 + %sub = sub i64 %5, %6 + ret i64 %sub +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__cxa_atexit(void (i8*)* %func, i8* %arg, i8* %dso_handle) #0 { +entry: + %retval = alloca i32, align 4 + %func.addr = alloca void (i8*)*, align 8 + %arg.addr = alloca i8*, align 8 + %dso_handle.addr = alloca i8*, align 8 + %efp = alloca %struct.exit_function*, align 8 + store void (i8*)* %func, void (i8*)** %func.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i8* %dso_handle, i8** %dso_handle.addr, align 8 + %0 = load void (i8*)*, void (i8*)** %func.addr, align 8 + %cmp = icmp eq void (i8*)* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %call = call %struct.exit_function* @__new_exitfn() #18 + store %struct.exit_function* %call, %struct.exit_function** %efp, align 8 + %1 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %cmp1 = icmp eq %struct.exit_function* %1, null + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + store i32 -1, i32* %retval, align 4 + br label %return + +if.end3: ; preds = %if.end + %2 = load void (i8*)*, void (i8*)** %func.addr, align 8 + %3 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs = getelementptr inbounds %struct.exit_function, %struct.exit_function* %3, i32 0, i32 1 + %cxa_atexit = bitcast %union.anon.772* %funcs to %struct.anon.0.771* + %func4 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit, i32 0, i32 0 + store void (i8*)* %2, void (i8*)** %func4, align 8 + %4 = load i8*, i8** %arg.addr, align 8 + %5 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs5 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %5, i32 0, i32 1 + %cxa_atexit6 = bitcast %union.anon.772* %funcs5 to %struct.anon.0.771* + %arg7 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit6, i32 0, i32 1 + store i8* %4, i8** %arg7, align 8 + %6 = load i8*, i8** %dso_handle.addr, align 8 + %7 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs8 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %7, i32 0, i32 1 + %cxa_atexit9 = bitcast %union.anon.772* %funcs8 to %struct.anon.0.771* + %dso_handle10 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit9, i32 0, i32 2 + store i8* %6, i8** %dso_handle10, align 8 + %8 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %type = getelementptr inbounds %struct.exit_function, %struct.exit_function* %8, i32 0, i32 0 + store i64 3, i64* %type, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end3, %if.then2, %if.then + %9 = load i32, i32* %retval, align 4 + ret i32 %9 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @getenv(i8* nonnull %var) #0 { +entry: + %retval = alloca i8*, align 8 + %var.addr = alloca i8*, align 8 + %len = alloca i32, align 4 + %ep = alloca i8**, align 8 + store i8* %var, i8** %var.addr, align 8 + %0 = load i8**, i8*** @__environ, align 8 + store i8** %0, i8*** %ep, align 8 + %tobool = icmp ne i8** %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %var.addr, align 8 + %call = call i64 @strlen(i8* %1) #20 + %conv = trunc i64 %call to i32 + store i32 %conv, i32* %len, align 4 + br label %while.cond + +while.cond: ; preds = %if.end10, %if.end + %2 = load i8**, i8*** %ep, align 8 + %3 = load i8*, i8** %2, align 8 + %tobool1 = icmp ne i8* %3, null + br i1 %tobool1, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i8*, i8** %var.addr, align 8 + %5 = load i8**, i8*** %ep, align 8 + %6 = load i8*, i8** %5, align 8 + %7 = load i32, i32* %len, align 4 + %conv2 = sext i32 %7 to i64 + %call3 = call i32 @memcmp(i8* %4, i8* %6, i64 %conv2) #20 + %cmp = icmp eq i32 %call3, 0 + br i1 %cmp, label %land.lhs.true, label %if.end10 + +land.lhs.true: ; preds = %while.body + %8 = load i8**, i8*** %ep, align 8 + %9 = load i8*, i8** %8, align 8 + %10 = load i32, i32* %len, align 4 + %idxprom = sext i32 %10 to i64 + %arrayidx = getelementptr inbounds i8, i8* %9, i64 %idxprom + %11 = load i8, i8* %arrayidx, align 1 + %conv5 = sext i8 %11 to i32 + %cmp6 = icmp eq i32 %conv5, 61 + br i1 %cmp6, label %if.then8, label %if.end10 + +if.then8: ; preds = %land.lhs.true + %12 = load i8**, i8*** %ep, align 8 + %13 = load i8*, i8** %12, align 8 + %14 = load i32, i32* %len, align 4 + %idx.ext = sext i32 %14 to i64 + %add.ptr = getelementptr inbounds i8, i8* %13, i64 %idx.ext + %add.ptr9 = getelementptr inbounds i8, i8* %add.ptr, i64 1 + store i8* %add.ptr9, i8** %retval, align 8 + br label %return + +if.end10: ; preds = %land.lhs.true, %while.body + %15 = load i8**, i8*** %ep, align 8 + %incdec.ptr = getelementptr inbounds i8*, i8** %15, i32 1 + store i8** %incdec.ptr, i8*** %ep, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then8, %if.then + %16 = load i8*, i8** %retval, align 8 + ret i8* %16 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @memmove(i8* nonnull %s1, i8* nonnull %s2, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %p, align 8 + %2 = load i8*, i8** %p, align 8 + %3 = load i8*, i8** %s, align 8 + %cmp = icmp uge i8* %2, %3 + br i1 %cmp, label %while.cond, label %while.cond2 + +while.cond: ; preds = %entry, %while.body + %4 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %4, 0 + br i1 %tobool, label %while.body, label %if.end + +while.body: ; preds = %while.cond + %5 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %6 = load i8, i8* %5, align 1 + %7 = load i8*, i8** %s, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %7, i32 1 + store i8* %incdec.ptr1, i8** %s, align 8 + store i8 %6, i8* %7, align 1 + %8 = load i64, i64* %n.addr, align 8 + %dec = add i64 %8, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.cond2: ; preds = %entry, %while.body4 + %9 = load i64, i64* %n.addr, align 8 + %tobool3 = icmp ne i64 %9, 0 + br i1 %tobool3, label %while.body4, label %if.end + +while.body4: ; preds = %while.cond2 + %10 = load i64, i64* %n.addr, align 8 + %dec5 = add i64 %10, -1 + store i64 %dec5, i64* %n.addr, align 8 + %11 = load i8*, i8** %p, align 8 + %12 = load i64, i64* %n.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %11, i64 %12 + %13 = load i8, i8* %arrayidx, align 1 + %14 = load i8*, i8** %s, align 8 + %15 = load i64, i64* %n.addr, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %14, i64 %15 + store i8 %13, i8* %arrayidx6, align 1 + br label %while.cond2 + +if.end: ; preds = %while.cond2, %while.cond + %16 = load i8*, i8** %s1.addr, align 8 + ret i8* %16 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @mempcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r1 = alloca i8*, align 8 + %r2 = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %r1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %r2, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %2 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load i8*, i8** %r2, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %r2, align 8 + %4 = load i8, i8* %3, align 1 + %5 = load i8*, i8** %r1, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr1, i8** %r1, align 8 + store i8 %4, i8* %5, align 1 + %6 = load i64, i64* %n.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %7 = load i8*, i8** %r1, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @stpcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + br label %while.cond + +while.cond: ; preds = %while.cond, %entry + %0 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %0, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %1 = load i8, i8* %0, align 1 + %2 = load i8*, i8** %s1.addr, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %2, i32 1 + store i8* %incdec.ptr1, i8** %s1.addr, align 8 + store i8 %1, i8* %2, align 1 + %conv = sext i8 %1 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %while.cond, label %while.end + +while.end: ; preds = %while.cond + %3 = load i8*, i8** %s1.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %3, i64 -1 + ret i8* %add.ptr +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @strchr(i8* nonnull %s, i32 %c) #14 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %entry + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %2 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %2 to i8 + %conv2 = sext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + %3 = load i8*, i8** %s.addr, align 8 + br i1 %cmp, label %if.then, label %do.cond + +if.then: ; preds = %do.body + store i8* %3, i8** %retval, align 8 + br label %return + +do.cond: ; preds = %do.body + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %s.addr, align 8 + %4 = load i8, i8* %3, align 1 + %tobool = icmp ne i8 %4, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %do.end, %if.then + %5 = load i8*, i8** %retval, align 8 + ret i8* %5 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @strcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + br label %while.cond + +while.cond: ; preds = %while.cond, %entry + %1 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %1, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %2 = load i8, i8* %1, align 1 + %3 = load i8*, i8** %s, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr1, i8** %s, align 8 + store i8 %2, i8* %3, align 1 + %conv = sext i8 %2 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %while.cond, label %while.end + +while.end: ; preds = %while.cond + %4 = load i8*, i8** %s1.addr, align 8 + ret i8* %4 +} + +; Function Attrs: noinline nounwind uwtable +define noalias i8* @strdup(i8* nonnull %s1) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + %l = alloca i64, align 8 + store i8* %s1, i8** %s1.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + %call = call i64 @strlen(i8* %0) #20 + %add = add i64 %call, 1 + %mul = mul i64 %add, 1 + store i64 %mul, i64* %l, align 8 + %1 = load i64, i64* %l, align 8 + %call1 = call noalias i8* @malloc(i64 %1) #19 + store i8* %call1, i8** %s, align 8 + %cmp = icmp ne i8* %call1, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load i8*, i8** %s, align 8 + %3 = load i8*, i8** %s1.addr, align 8 + %4 = load i64, i64* %l, align 8 + %call2 = call i8* @memcpy(i8* %2, i8* %3, i64 %4) #19 + br label %if.end + +if.end: ; preds = %if.then, %entry + %5 = load i8*, i8** %s, align 8 + ret i8* %5 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @strerror(i32 %errnum) #0 { +entry: + %errnum.addr = alloca i32, align 4 + store i32 %errnum, i32* %errnum.addr, align 4 + %0 = load i32, i32* %errnum.addr, align 4 + %call = call i32 @__xpg_strerror_r(i32 %0, i8* getelementptr inbounds ([50 x i8], [50 x i8]* @strerror.buf, i64 0, i64 0), i64 50) #18 + ret i8* getelementptr inbounds ([50 x i8], [50 x i8]* @strerror.buf, i64 0, i64 0) +} + +; Function Attrs: noinline nounwind uwtable +define i64 @wcrtomb(i8* noalias %s, i32 %wc, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %s.addr = alloca i8*, align 8 + %wc.addr = alloca i32, align 4 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %wcbuf = alloca [1 x i32], align 4 + %pwc = alloca i32*, align 8 + %r = alloca i64, align 8 + %buf = alloca [16 x i8], align 16 + store i8* %s, i8** %s.addr, align 8 + store i32 %wc, i32* %wc.addr, align 4 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay, i8** %s.addr, align 8 + store i32 0, i32* %wc.addr, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %arraydecay1 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay1, i32** %pwc, align 8 + %1 = load i32, i32* %wc.addr, align 4 + %arrayidx = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32 %1, i32* %arrayidx, align 4 + %2 = load i8*, i8** %s.addr, align 8 + %3 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @wcsnrtombs(i8* %2, i32** %pwc, i64 1, i64 16, %struct.__mbstate_t.512* %3) #19 + store i64 %call, i64* %r, align 8 + %4 = load i64, i64* %r, align 8 + %cmp = icmp ne i64 %4, 0 + %5 = load i64, i64* %r, align 8 + %cond = select i1 %cmp, i64 %5, i64 1 + ret i64 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i64 @wcsrtombs(i8* noalias %dst, i32** noalias %src, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %dst.addr = alloca i8*, align 8 + %src.addr = alloca i32**, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + store i8* %dst, i8** %dst.addr, align 8 + store i32** %src, i32*** %src.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load i8*, i8** %dst.addr, align 8 + %1 = load i32**, i32*** %src.addr, align 8 + %2 = load i64, i64* %len.addr, align 8 + %3 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @wcsnrtombs(i8* %0, i32** %1, i64 -1, i64 %2, %struct.__mbstate_t.512* %3) #19 + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @iswctype_l(i32 %wc, i32 %desc, %struct.__uclibc_locale_struct.201* %locale) #0 { +entry: + %retval = alloca i32, align 4 + %wc.addr = alloca i32, align 4 + %desc.addr = alloca i32, align 4 + %locale.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %sc = alloca i32, align 4 + %n = alloca i32, align 4 + %i0 = alloca i32, align 4 + %i1 = alloca i32, align 4 + %d = alloca i8, align 1 + store i32 %wc, i32* %wc.addr, align 4 + store i32 %desc, i32* %desc.addr, align 4 + store %struct.__uclibc_locale_struct.201* %locale, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + store i8 0, i8* %d, align 1 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 9 + %1 = load i8, i8* %encoding, align 8 + %conv = zext i8 %1 to i32 + %cmp = icmp ne i32 %conv, 0 + %2 = load i32, i32* %wc.addr, align 4 + %cmp2 = icmp ule i32 %2, 127 + %or.cond = or i1 %cmp, %cmp2 + br i1 %or.cond, label %if.then, label %if.end78 + +if.then: ; preds = %entry + %3 = load i32, i32* %desc.addr, align 4 + %cmp4 = icmp ult i32 %3, 12 + br i1 %cmp4, label %if.then6, label %if.end58 + +if.then6: ; preds = %if.then + %4 = load i32, i32* %wc.addr, align 4 + %cmp7 = icmp ule i32 %4, 196607 + %5 = load i32, i32* %wc.addr, align 4 + br i1 %cmp7, label %if.then9, label %if.else + +if.then9: ; preds = %if.then6 + %and = and i32 %5, 7 + store i32 %and, i32* %sc, align 4 + %6 = load i32, i32* %wc.addr, align 4 + %shr = lshr i32 %6, 3 + store i32 %shr, i32* %wc.addr, align 4 + %7 = load i32, i32* %wc.addr, align 4 + %and10 = and i32 %7, 31 + store i32 %and10, i32* %n, align 4 + %8 = load i32, i32* %wc.addr, align 4 + %shr11 = lshr i32 %8, 5 + store i32 %shr11, i32* %wc.addr, align 4 + %9 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %tblwctype = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %9, i32 0, i32 21 + %10 = load i8*, i8** %tblwctype, align 8 + %11 = load i32, i32* %wc.addr, align 4 + %idxprom = zext i32 %11 to i64 + %arrayidx = getelementptr inbounds i8, i8* %10, i64 %idxprom + %12 = load i8, i8* %arrayidx, align 1 + %conv12 = zext i8 %12 to i32 + store i32 %conv12, i32* %i0, align 4 + %13 = load i32, i32* %i0, align 4 + %shl = shl i32 %13, 5 + store i32 %shl, i32* %i0, align 4 + %14 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %tblwctype13 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %14, i32 0, i32 21 + %15 = load i8*, i8** %tblwctype13, align 8 + %16 = load i32, i32* %i0, align 4 + %add = add i32 768, %16 + %17 = load i32, i32* %n, align 4 + %add14 = add i32 %add, %17 + %idxprom15 = zext i32 %add14 to i64 + %arrayidx16 = getelementptr inbounds i8, i8* %15, i64 %idxprom15 + %18 = load i8, i8* %arrayidx16, align 1 + %conv17 = zext i8 %18 to i32 + store i32 %conv17, i32* %i1, align 4 + %19 = load i32, i32* %i1, align 4 + %shl18 = shl i32 %19, 2 + store i32 %shl18, i32* %i1, align 4 + %20 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %tblwctype19 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %20, i32 0, i32 21 + %21 = load i8*, i8** %tblwctype19, align 8 + %22 = load i32, i32* %i1, align 4 + %add20 = add i32 2656, %22 + %23 = load i32, i32* %sc, align 4 + %shr21 = lshr i32 %23, 1 + %add22 = add i32 %add20, %shr21 + %idxprom23 = zext i32 %add22 to i64 + %arrayidx24 = getelementptr inbounds i8, i8* %21, i64 %idxprom23 + %24 = load i8, i8* %arrayidx24, align 1 + store i8 %24, i8* %d, align 1 + %25 = load i32, i32* %sc, align 4 + %and25 = and i32 %25, 1 + %tobool = icmp ne i32 %and25, 0 + %26 = load i8, i8* %d, align 1 + %conv26 = zext i8 %26 to i32 + %shr27 = ashr i32 %conv26, 4 + %and29 = and i32 %conv26, 15 + %cond = select i1 %tobool, i32 %shr27, i32 %and29 + %conv30 = trunc i32 %cond to i8 + store i8 %conv30, i8* %d, align 1 + br label %if.end50 + +if.else: ; preds = %if.then6 + %conv31 = zext i32 %5 to i64 + %sub = sub i64 %conv31, 917536 + %conv32 = trunc i64 %sub to i32 + %cmp33 = icmp ule i32 %conv32, 95 + br i1 %cmp33, label %if.then49, label %lor.lhs.false35 + +lor.lhs.false35: ; preds = %if.else + %27 = load i32, i32* %wc.addr, align 4 + %conv36 = zext i32 %27 to i64 + %cmp37 = icmp eq i64 %conv36, 917505 + br i1 %cmp37, label %if.then49, label %lor.lhs.false39 + +lor.lhs.false39: ; preds = %lor.lhs.false35 + %28 = load i32, i32* %wc.addr, align 4 + %conv40 = zext i32 %28 to i64 + %sub41 = sub i64 %conv40, 983040 + %conv42 = trunc i64 %sub41 to i32 + %conv43 = zext i32 %conv42 to i64 + %cmp44 = icmp ult i64 %conv43, 131072 + br i1 %cmp44, label %land.lhs.true, label %if.end50 + +land.lhs.true: ; preds = %lor.lhs.false39 + %29 = load i32, i32* %wc.addr, align 4 + %and46 = and i32 %29, 65535 + %cmp47 = icmp ule i32 %and46, 65533 + br i1 %cmp47, label %if.then49, label %if.end50 + +if.then49: ; preds = %land.lhs.true, %lor.lhs.false35, %if.else + store i8 6, i8* %d, align 1 + br label %if.end50 + +if.end50: ; preds = %lor.lhs.false39, %land.lhs.true, %if.then49, %if.then9 + %30 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %code2flag = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %30, i32 0, i32 20 + %31 = load i16*, i16** %code2flag, align 8 + %32 = load i8, i8* %d, align 1 + %idxprom51 = zext i8 %32 to i64 + %arrayidx52 = getelementptr inbounds i16, i16* %31, i64 %idxprom51 + %33 = load i16, i16* %arrayidx52, align 2 + %conv53 = zext i16 %33 to i32 + %34 = load i32, i32* %desc.addr, align 4 + %idxprom54 = zext i32 %34 to i64 + %arrayidx55 = getelementptr inbounds [13 x i16], [13 x i16]* @desc2flag, i64 0, i64 %idxprom54 + %35 = load i16, i16* %arrayidx55, align 2 + %conv56 = zext i16 %35 to i32 + %and57 = and i32 %conv53, %conv56 + store i32 %and57, i32* %retval, align 4 + br label %return + +if.end58: ; preds = %if.then + %36 = load i32, i32* %desc.addr, align 4 + %cmp59 = icmp eq i32 %36, 12 + br i1 %cmp59, label %cond.false68, label %cond.end76 + +cond.false68: ; preds = %if.end58 + %37 = load i32, i32* %wc.addr, align 4 + %sub69 = sub i32 %37, 48 + %cmp70 = icmp ult i32 %sub69, 10 + %38 = load i32, i32* %wc.addr, align 4 + %or = or i32 %38, 32 + %sub72 = sub i32 %or, 97 + %cmp73 = icmp ult i32 %sub72, 6 + %39 = select i1 %cmp70, i1 true, i1 %cmp73 + %lor.ext = zext i1 %39 to i32 + br label %cond.end76 + +cond.end76: ; preds = %if.end58, %cond.false68 + %cond77 = phi i32 [ %lor.ext, %cond.false68 ], [ 0, %if.end58 ] + store i32 %cond77, i32* %retval, align 4 + br label %return + +if.end78: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end78, %cond.end76, %if.end50 + %40 = load i32, i32* %retval, align 4 + ret i32 %40 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_adjust_position(%struct.__STDIO_FILE_STRUCT.636* noalias %stream, i64* %pos) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %pos.addr = alloca i64*, align 8 + %oldpos = alloca i64, align 8 + %corr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64* %pos, i64** %pos.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 3 + store i32 %and, i32* %corr, align 4 + %cmp = icmp ne i32 %and, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load i32, i32* %corr, align 4 + %dec = add nsw i32 %2, -1 + store i32 %dec, i32* %corr, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %3 = load i32, i32* %corr, align 4 + %tobool = icmp ne i32 %3, 0 + br i1 %tobool, label %land.lhs.true, label %if.end22 + +land.lhs.true: ; preds = %if.end + %4 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %4, i32 0, i32 0 + %5 = load i16, i16* %__modeflags2, align 8 + %conv3 = zext i16 %5 to i32 + %and4 = and i32 %conv3, 2048 + %tobool5 = icmp ne i32 %and4, 0 + br i1 %tobool5, label %if.then6, label %if.end22 + +if.then6: ; preds = %land.lhs.true + %6 = load i32, i32* %corr, align 4 + %cmp7 = icmp sgt i32 %6, 1 + br i1 %cmp7, label %if.then10, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then6 + %7 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %7, i32 0, i32 10 + %arrayidx = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot, i64 0, i64 1 + %8 = load i32, i32* %arrayidx, align 4 + %tobool9 = icmp ne i32 %8, 0 + br i1 %tobool9, label %if.then10, label %if.end11 + +if.then10: ; preds = %lor.lhs.false, %if.then6 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end11: ; preds = %lor.lhs.false + %9 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %9, i32 0, i32 1 + %arrayidx12 = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 1 + %10 = load i8, i8* %arrayidx12, align 1 + %conv13 = zext i8 %10 to i32 + %add = add nsw i32 1, %conv13 + %11 = load i32, i32* %corr, align 4 + %sub = sub nsw i32 %11, %add + store i32 %sub, i32* %corr, align 4 + %12 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %12, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + %13 = load i32, i32* %__mask, align 8 + %cmp14 = icmp sgt i32 %13, 0 + br i1 %cmp14, label %if.then16, label %if.end22 + +if.then16: ; preds = %if.end11 + %14 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot_width17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %14, i32 0, i32 1 + %arrayidx18 = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width17, i64 0, i64 0 + %15 = load i8, i8* %arrayidx18, align 2 + %conv19 = zext i8 %15 to i32 + %16 = load i32, i32* %corr, align 4 + %sub20 = sub nsw i32 %16, %conv19 + store i32 %sub20, i32* %corr, align 4 + br label %if.end22 + +if.end22: ; preds = %if.end11, %if.then16, %land.lhs.true, %if.end + %17 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags23 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %17, i32 0, i32 0 + %18 = load i16, i16* %__modeflags23, align 8 + %conv24 = zext i16 %18 to i32 + %and25 = and i32 %conv24, 64 + %tobool26 = icmp ne i32 %and25, 0 + %19 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + br i1 %tobool26, label %cond.true, label %cond.false + +cond.true: ; preds = %if.end22 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %19, i32 0, i32 3 + %20 = load i8*, i8** %__bufstart, align 8 + br label %cond.end + +cond.false: ; preds = %if.end22 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %19, i32 0, i32 6 + %21 = load i8*, i8** %__bufread, align 8 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i8* [ %20, %cond.true ], [ %21, %cond.false ] + %22 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %22, i32 0, i32 5 + %23 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %cond to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %23 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %24 = load i32, i32* %corr, align 4 + %conv27 = sext i32 %24 to i64 + %add28 = add nsw i64 %conv27, %sub.ptr.sub + %conv29 = trunc i64 %add28 to i32 + store i32 %conv29, i32* %corr, align 4 + %25 = load i64*, i64** %pos.addr, align 8 + %26 = load i64, i64* %25, align 8 + store i64 %26, i64* %oldpos, align 8 + %27 = load i32, i32* %corr, align 4 + %conv30 = sext i32 %27 to i64 + %28 = load i64*, i64** %pos.addr, align 8 + %29 = load i64, i64* %28, align 8 + %sub31 = sub nsw i64 %29, %conv30 + store i64 %sub31, i64* %28, align 8 + %30 = load i64, i64* %oldpos, align 8 + %cmp32 = icmp sgt i64 %sub31, %30 + br i1 %cmp32, label %if.then34, label %if.end36 + +if.then34: ; preds = %cond.end + %31 = load i32, i32* %corr, align 4 + %sub35 = sub nsw i32 0, %31 + store i32 %sub35, i32* %corr, align 4 + br label %if.end36 + +if.end36: ; preds = %if.then34, %cond.end + %32 = load i32, i32* %corr, align 4 + %cmp37 = icmp slt i32 %32, 0 + br i1 %cmp37, label %if.then39, label %if.end40 + +if.then39: ; preds = %if.end36 + store i32 75, i32* @errno, align 4 + br label %if.end40 + +if.end40: ; preds = %if.then39, %if.end36 + %33 = load i32, i32* %corr, align 4 + store i32 %33, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end40, %if.then10 + %34 = load i32, i32* %retval, align 4 + ret i32 %34 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_seek(%struct.__STDIO_FILE_STRUCT.636* %stream, i64* %pos, i32 %whence) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %pos.addr = alloca i64*, align 8 + %whence.addr = alloca i32, align 4 + %res = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64* %pos, i64** %pos.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %0, i32 0, i32 2 + %1 = load i32, i32* %__filedes, align 4 + %2 = load i64*, i64** %pos.addr, align 8 + %3 = load i64, i64* %2, align 8 + %4 = load i32, i32* %whence.addr, align 4 + %call = call i64 @lseek64(i32 %1, i64 %3, i32 %4) #19 + store i64 %call, i64* %res, align 8 + %5 = load i64, i64* %res, align 8 + %cmp = icmp sge i64 %5, 0 + %6 = load i64, i64* %res, align 8 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %entry + %7 = load i64*, i64** %pos.addr, align 8 + store i64 %6, i64* %7, align 8 + br label %cond.end + +cond.false: ; preds = %entry + %conv = trunc i64 %6 to i32 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ 0, %cond.true ], [ %conv, %cond.false ] + ret i32 %cond +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_fpmaxtostr(%struct.__STDIO_FILE_STRUCT.568* %fp, double %x, %struct.printf_info.720* %info, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)* %fp_outfunc) #0 { +entry: + %retval = alloca i64, align 8 + %fp.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %x.addr = alloca double, align 8 + %info.addr = alloca %struct.printf_info.720*, align 8 + %fp_outfunc.addr = alloca i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)*, align 8 + %round = alloca i32, align 4 + %o_exp = alloca i32, align 4 + %exp = alloca i32, align 4 + %width = alloca i32, align 4 + %preci = alloca i32, align 4 + %cnt = alloca i32, align 4 + %s = alloca i8*, align 8 + %e = alloca i8*, align 8 + %pc_fwi = alloca [24 x i64], align 16 + %ppc = alloca i64*, align 8 + %ppc_last = alloca i64*, align 8 + %exp_buf = alloca [16 x i8], align 16 + %buf = alloca [21 x i8], align 16 + %sign_str = alloca [6 x i8], align 1 + %o_mode = alloca i8, align 1 + %mode = alloca i8, align 1 + %i = alloca i32, align 4 + %j = alloca i32, align 4 + %exp_neg = alloca i32, align 4 + %i92 = alloca i32, align 4 + %j93 = alloca i32, align 4 + %digit_block = alloca i64, align 8 + %i151 = alloca i32, align 4 + %i218 = alloca i32, align 4 + %p = alloca i8*, align 8 + %j329 = alloca i32, align 4 + %exp_char = alloca i8, align 1 + %exp_sign = alloca i8, align 1 + %i359 = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %fp, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + store double %x, double* %x.addr, align 8 + store %struct.printf_info.720* %info, %struct.printf_info.720** %info.addr, align 8 + store i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)* %fp_outfunc, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)** %fp_outfunc.addr, align 8 + %0 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %width1 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %0, i32 0, i32 1 + %1 = load i32, i32* %width1, align 4 + store i32 %1, i32* %width, align 4 + %2 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %2, i32 0, i32 0 + %3 = load i32, i32* %prec, align 4 + store i32 %3, i32* %preci, align 4 + %4 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %spec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %4, i32 0, i32 2 + %5 = load i32, i32* %spec, align 4 + %conv = trunc i32 %5 to i8 + store i8 %conv, i8* %mode, align 1 + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + store i8 101, i8* %arraydecay, align 16 + %6 = load i8, i8* %mode, align 1 + %conv2 = sext i8 %6 to i32 + %or = or i32 %conv2, 32 + %cmp = icmp eq i32 %or, 97 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %7 = load i8, i8* %mode, align 1 + %conv4 = sext i8 %7 to i32 + %add = add nsw i32 %conv4, 6 + %conv5 = trunc i32 %add to i8 + store i8 %conv5, i8* %mode, align 1 + br label %if.end + +if.end: ; preds = %if.then, %entry + %8 = load i32, i32* %preci, align 4 + %cmp6 = icmp slt i32 %8, 0 + br i1 %cmp6, label %if.then8, label %if.end9 + +if.then8: ; preds = %if.end + store i32 6, i32* %preci, align 4 + br label %if.end9 + +if.end9: ; preds = %if.then8, %if.end + %arraydecay10 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 0, i8* %arraydecay10, align 1 + %9 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %showsign = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %9, i32 0, i32 3 + %bf.load = load i32, i32* %showsign, align 4 + %bf.lshr = lshr i32 %bf.load, 1 + %bf.clear = and i32 %bf.lshr, 1 + %tobool = icmp ne i32 %bf.clear, 0 + br i1 %tobool, label %if.then11, label %if.else + +if.then11: ; preds = %if.end9 + %arraydecay12 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 43, i8* %arraydecay12, align 1 + br label %if.end19 + +if.else: ; preds = %if.end9 + %10 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %space = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %10, i32 0, i32 3 + %bf.load13 = load i32, i32* %space, align 4 + %bf.clear14 = and i32 %bf.load13, 1 + %tobool15 = icmp ne i32 %bf.clear14, 0 + br i1 %tobool15, label %if.then16, label %if.end19 + +if.then16: ; preds = %if.else + %arraydecay17 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 32, i8* %arraydecay17, align 1 + br label %if.end19 + +if.end19: ; preds = %if.else, %if.then16, %if.then11 + %arraydecay20 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay20, i64 1 + store i8 0, i8* %add.ptr, align 1 + %arrayidx = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 0, i64* %arrayidx, align 8 + %11 = load double, double* %x.addr, align 8 + %12 = load double, double* %x.addr, align 8 + %cmp21 = fcmp une double %11, %12 + br i1 %cmp21, label %if.then23, label %if.end25 + +if.then23: ; preds = %if.end19 + %arrayidx24 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 8, i64* %arrayidx24, align 8 + br label %INF_NAN + +if.end25: ; preds = %if.end19 + %13 = load double, double* %x.addr, align 8 + %cmp26 = fcmp oeq double %13, 0.000000e+00 + %14 = load double, double* %x.addr, align 8 + br i1 %cmp26, label %if.then28, label %if.end34 + +if.then28: ; preds = %if.end25 + %div = fdiv double 1.000000e+00, %14 + %cmp29 = fcmp olt double %div, 0.000000e+00 + br i1 %cmp29, label %if.then31, label %if.end33 + +if.then31: ; preds = %if.then28 + %arraydecay32 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 45, i8* %arraydecay32, align 1 + br label %if.end33 + +if.end33: ; preds = %if.then31, %if.then28 + store i32 -1, i32* %exp, align 4 + br label %GENERATE_DIGITS + +if.end34: ; preds = %if.end25 + %cmp35 = fcmp olt double %14, 0.000000e+00 + br i1 %cmp35, label %if.then37, label %if.end39 + +if.then37: ; preds = %if.end34 + %arraydecay38 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 45, i8* %arraydecay38, align 1 + %15 = load double, double* %x.addr, align 8 + %fneg = fneg double %15 + store double %fneg, double* %x.addr, align 8 + br label %if.end39 + +if.end39: ; preds = %if.then37, %if.end34 + %16 = load double, double* %x.addr, align 8 + %17 = load double, double* %x.addr, align 8 + %div40 = fdiv double %17, 4.000000e+00 + %cmp41 = fcmp oeq double %16, %div40 + br i1 %cmp41, label %INF_NAN, label %if.end58 + +INF_NAN: ; preds = %if.end39, %if.then23 + %18 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %18, i32 0, i32 4 + store i32 32, i32* %pad, align 4 + %arraydecay44 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + %add.ptr45 = getelementptr inbounds i64, i64* %arraydecay44, i64 6 + store i64* %add.ptr45, i64** %ppc, align 8 + %arrayidx46 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 3 + store i64 112, i64* %arrayidx46, align 8 + %arrayidx47 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 4 + store i64 3, i64* %arrayidx47, align 16 + %19 = load i8, i8* %mode, align 1 + %conv48 = sext i8 %19 to i32 + %cmp49 = icmp slt i32 %conv48, 97 + br i1 %cmp49, label %if.then51, label %if.end54 + +if.then51: ; preds = %INF_NAN + %arrayidx52 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + %20 = load i64, i64* %arrayidx52, align 8 + %add53 = add nsw i64 %20, 4 + store i64 %add53, i64* %arrayidx52, align 8 + br label %if.end54 + +if.end54: ; preds = %if.then51, %INF_NAN + %arrayidx55 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + %21 = load i64, i64* %arrayidx55, align 8 + %add.ptr56 = getelementptr inbounds i8, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 0), i64 %21 + %22 = ptrtoint i8* %add.ptr56 to i64 + %arrayidx57 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 %22, i64* %arrayidx57, align 8 + br label %EXIT_SPECIAL + +if.end58: ; preds = %if.end39 + store i32 8, i32* %exp, align 4 + store i32 9, i32* %i, align 4 + store i32 256, i32* %j, align 4 + store i32 0, i32* %exp_neg, align 4 + %23 = load double, double* %x.addr, align 8 + %cmp59 = fcmp olt double %23, 1.000000e+08 + br i1 %cmp59, label %if.then61, label %if.end62 + +if.then61: ; preds = %if.end58 + store i32 1, i32* %exp_neg, align 4 + br label %if.end62 + +if.end62: ; preds = %if.then61, %if.end58 + br label %do.body + +do.body: ; preds = %if.end85, %if.end62 + %24 = load i32, i32* %i, align 4 + %dec = add nsw i32 %24, -1 + store i32 %dec, i32* %i, align 4 + %25 = load i32, i32* %exp_neg, align 4 + %tobool63 = icmp ne i32 %25, 0 + %26 = load double, double* %x.addr, align 8 + %27 = load i32, i32* %i, align 4 + %idxprom = sext i32 %27 to i64 + %arrayidx65 = getelementptr inbounds [9 x double], [9 x double]* @exp10_table, i64 0, i64 %idxprom + %28 = load double, double* %arrayidx65, align 8 + br i1 %tobool63, label %if.then64, label %if.else73 + +if.then64: ; preds = %do.body + %mul = fmul double %26, %28 + %cmp66 = fcmp olt double %mul, 1.000000e+09 + br i1 %cmp66, label %if.then68, label %if.end85 + +if.then68: ; preds = %if.then64 + %29 = load i32, i32* %i, align 4 + %idxprom69 = sext i32 %29 to i64 + %arrayidx70 = getelementptr inbounds [9 x double], [9 x double]* @exp10_table, i64 0, i64 %idxprom69 + %30 = load double, double* %arrayidx70, align 8 + %31 = load double, double* %x.addr, align 8 + %mul71 = fmul double %31, %30 + store double %mul71, double* %x.addr, align 8 + %32 = load i32, i32* %j, align 4 + %33 = load i32, i32* %exp, align 4 + %sub = sub nsw i32 %33, %32 + store i32 %sub, i32* %exp, align 4 + br label %if.end85 + +if.else73: ; preds = %do.body + %div76 = fdiv double %26, %28 + %cmp77 = fcmp oge double %div76, 1.000000e+08 + br i1 %cmp77, label %if.then79, label %if.end85 + +if.then79: ; preds = %if.else73 + %34 = load i32, i32* %i, align 4 + %idxprom80 = sext i32 %34 to i64 + %arrayidx81 = getelementptr inbounds [9 x double], [9 x double]* @exp10_table, i64 0, i64 %idxprom80 + %35 = load double, double* %arrayidx81, align 8 + %36 = load double, double* %x.addr, align 8 + %div82 = fdiv double %36, %35 + store double %div82, double* %x.addr, align 8 + %37 = load i32, i32* %j, align 4 + %38 = load i32, i32* %exp, align 4 + %add83 = add nsw i32 %38, %37 + store i32 %add83, i32* %exp, align 4 + br label %if.end85 + +if.end85: ; preds = %if.else73, %if.then79, %if.then64, %if.then68 + %39 = load i32, i32* %j, align 4 + %shr = ashr i32 %39, 1 + store i32 %shr, i32* %j, align 4 + %40 = load i32, i32* %i, align 4 + %tobool86 = icmp ne i32 %40, 0 + br i1 %tobool86, label %do.body, label %do.end + +do.end: ; preds = %if.end85 + %41 = load double, double* %x.addr, align 8 + %cmp87 = fcmp oge double %41, 1.000000e+09 + br i1 %cmp87, label %if.then89, label %GENERATE_DIGITS + +if.then89: ; preds = %do.end + %42 = load double, double* getelementptr inbounds ([9 x double], [9 x double]* @exp10_table, i64 0, i64 0), align 16 + %43 = load double, double* %x.addr, align 8 + %div90 = fdiv double %43, %42 + store double %div90, double* %x.addr, align 8 + %44 = load i32, i32* %exp, align 4 + %inc = add nsw i32 %44, 1 + store i32 %inc, i32* %exp, align 4 + br label %GENERATE_DIGITS + +GENERATE_DIGITS: ; preds = %do.end, %if.then89, %if.end33 + %arraydecay94 = getelementptr inbounds [21 x i8], [21 x i8]* %buf, i64 0, i64 0 + %add.ptr95 = getelementptr inbounds i8, i8* %arraydecay94, i64 2 + store i8* %add.ptr95, i8** %s, align 8 + store i32 0, i32* %i92, align 4 + br label %do.body96 + +do.body96: ; preds = %do.cond114, %GENERATE_DIGITS + %45 = load double, double* %x.addr, align 8 + %conv97 = fptoui double %45 to i64 + store i64 %conv97, i64* %digit_block, align 8 + %46 = load double, double* %x.addr, align 8 + %47 = load i64, i64* %digit_block, align 8 + %conv98 = uitofp i64 %47 to double + %sub99 = fsub double %46, %conv98 + %mul100 = fmul double %sub99, 1.000000e+09 + store double %mul100, double* %x.addr, align 8 + %48 = load i8*, i8** %s, align 8 + %add.ptr101 = getelementptr inbounds i8, i8* %48, i64 9 + store i8* %add.ptr101, i8** %s, align 8 + store i32 0, i32* %j93, align 4 + br label %do.body102 + +do.body102: ; preds = %do.body102, %do.body96 + %49 = load i64, i64* %digit_block, align 8 + %rem = urem i64 %49, 10 + %add103 = add i64 48, %rem + %conv104 = trunc i64 %add103 to i8 + %50 = load i8*, i8** %s, align 8 + %51 = load i32, i32* %j93, align 4 + %inc105 = add nsw i32 %51, 1 + store i32 %inc105, i32* %j93, align 4 + %sub106 = sub nsw i32 0, %inc105 + %idxprom107 = sext i32 %sub106 to i64 + %arrayidx108 = getelementptr inbounds i8, i8* %50, i64 %idxprom107 + store i8 %conv104, i8* %arrayidx108, align 1 + %52 = load i64, i64* %digit_block, align 8 + %div109 = udiv i64 %52, 10 + store i64 %div109, i64* %digit_block, align 8 + %53 = load i32, i32* %j93, align 4 + %cmp111 = icmp slt i32 %53, 9 + br i1 %cmp111, label %do.body102, label %do.cond114 + +do.cond114: ; preds = %do.body102 + %54 = load i32, i32* %i92, align 4 + %inc115 = add nsw i32 %54, 1 + store i32 %inc115, i32* %i92, align 4 + %cmp116 = icmp slt i32 %inc115, 2 + br i1 %cmp116, label %do.body96, label %do.end118 + +do.end118: ; preds = %do.cond114 + %55 = load i8, i8* %mode, align 1 + %conv119 = sext i8 %55 to i32 + %cmp120 = icmp slt i32 %conv119, 97 + br i1 %cmp120, label %if.then122, label %if.end130 + +if.then122: ; preds = %do.end118 + %arraydecay123 = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + %56 = load i8, i8* %arraydecay123, align 16 + %conv124 = sext i8 %56 to i32 + %sub125 = sub nsw i32 %conv124, 32 + %conv126 = trunc i32 %sub125 to i8 + store i8 %conv126, i8* %arraydecay123, align 16 + %57 = load i8, i8* %mode, align 1 + %conv127 = sext i8 %57 to i32 + %add128 = add nsw i32 %conv127, 32 + %conv129 = trunc i32 %add128 to i8 + store i8 %conv129, i8* %mode, align 1 + br label %if.end130 + +if.end130: ; preds = %if.then122, %do.end118 + %58 = load i8, i8* %mode, align 1 + store i8 %58, i8* %o_mode, align 1 + %59 = load i8, i8* %mode, align 1 + %conv131 = sext i8 %59 to i32 + %cmp132 = icmp eq i32 %conv131, 103 + %60 = load i32, i32* %preci, align 4 + %cmp134 = icmp sgt i32 %60, 0 + %or.cond = and i1 %cmp132, %cmp134 + br i1 %or.cond, label %if.then136, label %if.end138 + +if.then136: ; preds = %if.end130 + %61 = load i32, i32* %preci, align 4 + %dec137 = add nsw i32 %61, -1 + store i32 %dec137, i32* %preci, align 4 + br label %if.end138 + +if.end138: ; preds = %if.then136, %if.end130 + %62 = load i32, i32* %preci, align 4 + store i32 %62, i32* %round, align 4 + %63 = load i8, i8* %mode, align 1 + %conv139 = sext i8 %63 to i32 + %cmp140 = icmp eq i32 %conv139, 102 + br i1 %cmp140, label %if.then142, label %if.end149 + +if.then142: ; preds = %if.end138 + %64 = load i32, i32* %exp, align 4 + %65 = load i32, i32* %round, align 4 + %add143 = add nsw i32 %65, %64 + store i32 %add143, i32* %round, align 4 + %66 = load i32, i32* %round, align 4 + %cmp144 = icmp slt i32 %66, -1 + br i1 %cmp144, label %if.then146, label %if.end149 + +if.then146: ; preds = %if.then142 + %arraydecay147 = getelementptr inbounds [21 x i8], [21 x i8]* %buf, i64 0, i64 0 + %call = call i8* @memset(i8* %arraydecay147, i32 48, i64 17) #19 + store i32 -1, i32* %exp, align 4 + store i32 -1, i32* %round, align 4 + br label %if.end149 + +if.end149: ; preds = %if.then142, %if.then146, %if.end138 + %arraydecay150 = getelementptr inbounds [21 x i8], [21 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay150, i8** %s, align 8 + %67 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %67, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + store i8 0, i8* %67, align 1 + %68 = load i8*, i8** %s, align 8 + store i8 48, i8* %68, align 1 + store i32 0, i32* %i151, align 4 + %69 = load i8*, i8** %s, align 8 + %add.ptr152 = getelementptr inbounds i8, i8* %69, i64 17 + %add.ptr153 = getelementptr inbounds i8, i8* %add.ptr152, i64 1 + store i8* %add.ptr153, i8** %e, align 8 + %70 = load i32, i32* %round, align 4 + %cmp154 = icmp slt i32 %70, 17 + br i1 %cmp154, label %if.then156, label %if.end164 + +if.then156: ; preds = %if.end149 + %71 = load i8*, i8** %s, align 8 + %72 = load i32, i32* %round, align 4 + %idx.ext = sext i32 %72 to i64 + %add.ptr157 = getelementptr inbounds i8, i8* %71, i64 %idx.ext + %add.ptr158 = getelementptr inbounds i8, i8* %add.ptr157, i64 2 + store i8* %add.ptr158, i8** %e, align 8 + %73 = load i8*, i8** %e, align 8 + %74 = load i8, i8* %73, align 1 + %conv159 = sext i8 %74 to i32 + %cmp160 = icmp sge i32 %conv159, 53 + br i1 %cmp160, label %if.then162, label %if.end164 + +if.then162: ; preds = %if.then156 + store i32 1, i32* %i151, align 4 + br label %if.end164 + +if.end164: ; preds = %if.then156, %if.then162, %if.end149 + br label %do.body165 + +do.body165: ; preds = %do.body165, %lor.rhs, %if.end164 + %75 = load i32, i32* %i151, align 4 + %76 = load i8*, i8** %e, align 8 + %incdec.ptr166 = getelementptr inbounds i8, i8* %76, i32 -1 + store i8* %incdec.ptr166, i8** %e, align 8 + %77 = load i8, i8* %incdec.ptr166, align 1 + %conv167 = sext i8 %77 to i32 + %add168 = add nsw i32 %conv167, %75 + %conv169 = trunc i32 %add168 to i8 + store i8 %conv169, i8* %incdec.ptr166, align 1 + %78 = load i8*, i8** %e, align 8 + %79 = load i8, i8* %78, align 1 + %conv171 = sext i8 %79 to i32 + %cmp172 = icmp eq i32 %conv171, 48 + br i1 %cmp172, label %do.body165, label %lor.rhs + +lor.rhs: ; preds = %do.body165 + %80 = load i8*, i8** %e, align 8 + %81 = load i8, i8* %80, align 1 + %conv174 = sext i8 %81 to i32 + %cmp175 = icmp sgt i32 %conv174, 57 + br i1 %cmp175, label %do.body165, label %do.end177 + +do.end177: ; preds = %lor.rhs + %82 = load i32, i32* %exp, align 4 + store i32 %82, i32* %o_exp, align 4 + %83 = load i8*, i8** %e, align 8 + %84 = load i8*, i8** %s, align 8 + %cmp178 = icmp ule i8* %83, %84 + br i1 %cmp178, label %if.then180, label %if.else182 + +if.then180: ; preds = %do.end177 + %85 = load i32, i32* %o_exp, align 4 + %inc181 = add nsw i32 %85, 1 + store i32 %inc181, i32* %o_exp, align 4 + %86 = load i8*, i8** %s, align 8 + store i8* %86, i8** %e, align 8 + br label %if.end184 + +if.else182: ; preds = %do.end177 + %87 = load i8*, i8** %s, align 8 + %incdec.ptr183 = getelementptr inbounds i8, i8* %87, i32 1 + store i8* %incdec.ptr183, i8** %s, align 8 + br label %if.end184 + +if.end184: ; preds = %if.else182, %if.then180 + %88 = load i8*, i8** %e, align 8 + %incdec.ptr185 = getelementptr inbounds i8, i8* %88, i32 1 + store i8* %incdec.ptr185, i8** %e, align 8 + store i8 0, i8* %incdec.ptr185, align 1 + %89 = load i8, i8* %mode, align 1 + %conv186 = sext i8 %89 to i32 + %cmp187 = icmp eq i32 %conv186, 103 + %90 = load i32, i32* %o_exp, align 4 + %cmp190 = icmp sge i32 %90, -4 + %or.cond1 = and i1 %cmp187, %cmp190 + br i1 %or.cond1, label %land.lhs.true192, label %if.end197 + +land.lhs.true192: ; preds = %if.end184 + %91 = load i32, i32* %o_exp, align 4 + %92 = load i32, i32* %round, align 4 + %cmp193 = icmp sle i32 %91, %92 + br i1 %cmp193, label %if.then195, label %if.end197 + +if.then195: ; preds = %land.lhs.true192 + store i8 102, i8* %mode, align 1 + %93 = load i32, i32* %round, align 4 + %94 = load i32, i32* %o_exp, align 4 + %sub196 = sub nsw i32 %93, %94 + store i32 %sub196, i32* %preci, align 4 + br label %if.end197 + +if.end197: ; preds = %if.then195, %land.lhs.true192, %if.end184 + %95 = load i32, i32* %o_exp, align 4 + store i32 %95, i32* %exp, align 4 + %96 = load i8, i8* %mode, align 1 + %conv198 = sext i8 %96 to i32 + %cmp199 = icmp ne i32 %conv198, 102 + br i1 %cmp199, label %if.then201, label %if.end202 + +if.then201: ; preds = %if.end197 + store i32 0, i32* %o_exp, align 4 + br label %if.end202 + +if.end202: ; preds = %if.then201, %if.end197 + %97 = load i32, i32* %o_exp, align 4 + %cmp203 = icmp slt i32 %97, 0 + br i1 %cmp203, label %if.then205, label %if.end207 + +if.then205: ; preds = %if.end202 + %98 = load i8*, i8** %s, align 8 + %incdec.ptr206 = getelementptr inbounds i8, i8* %98, i32 -1 + store i8* %incdec.ptr206, i8** %s, align 8 + store i8 48, i8* %incdec.ptr206, align 1 + br label %if.end207 + +if.end207: ; preds = %if.then205, %if.end202 + %arrayidx208 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 3 + store i64 176, i64* %arrayidx208, align 8 + %arrayidx209 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 4 + store i64 1, i64* %arrayidx209, align 16 + %arraydecay210 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %add.ptr211 = getelementptr inbounds i8, i8* %arraydecay210, i64 4 + %99 = ptrtoint i8* %add.ptr211 to i64 + %arrayidx212 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 %99, i64* %arrayidx212, align 8 + %100 = load i8*, i8** %s, align 8 + %incdec.ptr213 = getelementptr inbounds i8, i8* %100, i32 1 + store i8* %incdec.ptr213, i8** %s, align 8 + %101 = load i8, i8* %100, align 1 + %arrayidx214 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 4 + store i8 %101, i8* %arrayidx214, align 1 + %arrayidx215 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 5 + store i8 0, i8* %arrayidx215, align 1 + %arraydecay216 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + %add.ptr217 = getelementptr inbounds i64, i64* %arraydecay216, i64 6 + store i64* %add.ptr217, i64** %ppc, align 8 + %102 = load i8*, i8** %e, align 8 + %103 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %102 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %103 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %conv219 = trunc i64 %sub.ptr.sub to i32 + store i32 %conv219, i32* %i218, align 4 + %104 = load i32, i32* %o_exp, align 4 + %cmp220 = icmp sge i32 %104, 0 + br i1 %cmp220, label %if.then222, label %if.end253 + +if.then222: ; preds = %if.end207 + %105 = load i64*, i64** %ppc, align 8 + %arrayidx223 = getelementptr inbounds i64, i64* %105, i64 0 + store i64 112, i64* %arrayidx223, align 8 + %106 = load i8*, i8** %s, align 8 + %107 = ptrtoint i8* %106 to i64 + %108 = load i64*, i64** %ppc, align 8 + %arrayidx224 = getelementptr inbounds i64, i64* %108, i64 2 + store i64 %107, i64* %arrayidx224, align 8 + %109 = load i32, i32* %o_exp, align 4 + %110 = load i32, i32* %i218, align 4 + %cmp225 = icmp sge i32 %109, %110 + br i1 %cmp225, label %if.then227, label %if.else241 + +if.then227: ; preds = %if.then222 + %111 = load i32, i32* %i218, align 4 + %conv228 = sext i32 %111 to i64 + %112 = load i64*, i64** %ppc, align 8 + %arrayidx229 = getelementptr inbounds i64, i64* %112, i64 1 + store i64 %conv228, i64* %arrayidx229, align 8 + %113 = load i64*, i64** %ppc, align 8 + %add.ptr230 = getelementptr inbounds i64, i64* %113, i64 3 + store i64* %add.ptr230, i64** %ppc, align 8 + %114 = load i32, i32* %i218, align 4 + %115 = load i32, i32* %o_exp, align 4 + %sub231 = sub nsw i32 %115, %114 + store i32 %sub231, i32* %o_exp, align 4 + store i32 0, i32* %i218, align 4 + %116 = load i32, i32* %o_exp, align 4 + %cmp232 = icmp sgt i32 %116, 0 + br i1 %cmp232, label %if.then234, label %if.end252 + +if.then234: ; preds = %if.then227 + %117 = load i64*, i64** %ppc, align 8 + %arrayidx235 = getelementptr inbounds i64, i64* %117, i64 0 + store i64 176, i64* %arrayidx235, align 8 + %118 = load i32, i32* %o_exp, align 4 + %conv236 = sext i32 %118 to i64 + %119 = load i64*, i64** %ppc, align 8 + %arrayidx237 = getelementptr inbounds i64, i64* %119, i64 1 + store i64 %conv236, i64* %arrayidx237, align 8 + %120 = load i64*, i64** %ppc, align 8 + %arrayidx238 = getelementptr inbounds i64, i64* %120, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx238, align 8 + %121 = load i64*, i64** %ppc, align 8 + %add.ptr239 = getelementptr inbounds i64, i64* %121, i64 3 + store i64* %add.ptr239, i64** %ppc, align 8 + br label %if.end252 + +if.else241: ; preds = %if.then222 + %122 = load i32, i32* %o_exp, align 4 + %cmp242 = icmp sgt i32 %122, 0 + br i1 %cmp242, label %if.then244, label %if.end252 + +if.then244: ; preds = %if.else241 + %123 = load i32, i32* %o_exp, align 4 + %conv245 = sext i32 %123 to i64 + %124 = load i64*, i64** %ppc, align 8 + %arrayidx246 = getelementptr inbounds i64, i64* %124, i64 1 + store i64 %conv245, i64* %arrayidx246, align 8 + %125 = load i64*, i64** %ppc, align 8 + %add.ptr247 = getelementptr inbounds i64, i64* %125, i64 3 + store i64* %add.ptr247, i64** %ppc, align 8 + %126 = load i32, i32* %o_exp, align 4 + %127 = load i8*, i8** %s, align 8 + %idx.ext248 = sext i32 %126 to i64 + %add.ptr249 = getelementptr inbounds i8, i8* %127, i64 %idx.ext248 + store i8* %add.ptr249, i8** %s, align 8 + %128 = load i32, i32* %o_exp, align 4 + %129 = load i32, i32* %i218, align 4 + %sub250 = sub nsw i32 %129, %128 + store i32 %sub250, i32* %i218, align 4 + br label %if.end252 + +if.end252: ; preds = %if.else241, %if.then244, %if.then227, %if.then234 + store i32 -1, i32* %o_exp, align 4 + br label %if.end253 + +if.end253: ; preds = %if.end252, %if.end207 + %130 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %alt = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %130, i32 0, i32 3 + %bf.load254 = load i32, i32* %alt, align 4 + %bf.lshr255 = lshr i32 %bf.load254, 4 + %bf.clear256 = and i32 %bf.lshr255, 1 + %tobool257 = icmp ne i32 %bf.clear256, 0 + %131 = load i32, i32* %i218, align 4 + %tobool258 = icmp ne i32 %131, 0 + %or.cond2 = or i1 %tobool257, %tobool258 + br i1 %or.cond2, label %if.then266, label %lor.lhs.false259 + +lor.lhs.false259: ; preds = %if.end253 + %132 = load i8, i8* %o_mode, align 1 + %conv260 = sext i8 %132 to i32 + %cmp261 = icmp ne i32 %conv260, 103 + %133 = load i32, i32* %preci, align 4 + %cmp264 = icmp sgt i32 %133, 0 + %or.cond3 = and i1 %cmp261, %cmp264 + br i1 %or.cond3, label %if.then266, label %if.end281 + +if.then266: ; preds = %lor.lhs.false259, %if.end253 + %134 = load i64*, i64** %ppc, align 8 + %arrayidx267 = getelementptr inbounds i64, i64* %134, i64 0 + store i64 112, i64* %arrayidx267, align 8 + %135 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %wide = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %135, i32 0, i32 3 + %bf.load268 = load i32, i32* %wide, align 4 + %bf.lshr269 = lshr i32 %bf.load268, 7 + %bf.clear270 = and i32 %bf.lshr269, 1 + %tobool271 = icmp ne i32 %bf.clear270, 0 + br i1 %tobool271, label %if.then272, label %if.else275 + +if.then272: ; preds = %if.then266 + %136 = load i64*, i64** %ppc, align 8 + %arrayidx273 = getelementptr inbounds i64, i64* %136, i64 1 + store i64 1, i64* %arrayidx273, align 8 + %137 = load i64*, i64** %ppc, align 8 + %arrayidx274 = getelementptr inbounds i64, i64* %137, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 16) to i64), i64* %arrayidx274, align 8 + br label %if.end279 + +if.else275: ; preds = %if.then266 + %138 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %decimal_point_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %138, i32 0, i32 26 + %139 = load i32, i32* %decimal_point_len, align 8 + %conv276 = sext i32 %139 to i64 + %140 = load i64*, i64** %ppc, align 8 + %arrayidx277 = getelementptr inbounds i64, i64* %140, i64 1 + store i64 %conv276, i64* %arrayidx277, align 8 + %141 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %decimal_point = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %141, i32 0, i32 39 + %142 = load i8*, i8** %decimal_point, align 8 + %143 = ptrtoint i8* %142 to i64 + %144 = load i64*, i64** %ppc, align 8 + %arrayidx278 = getelementptr inbounds i64, i64* %144, i64 2 + store i64 %143, i64* %arrayidx278, align 8 + br label %if.end279 + +if.end279: ; preds = %if.else275, %if.then272 + %145 = load i64*, i64** %ppc, align 8 + %add.ptr280 = getelementptr inbounds i64, i64* %145, i64 3 + store i64* %add.ptr280, i64** %ppc, align 8 + br label %if.end281 + +if.end281: ; preds = %if.end279, %lor.lhs.false259 + %146 = load i32, i32* %o_exp, align 4 + %inc282 = add nsw i32 %146, 1 + store i32 %inc282, i32* %o_exp, align 4 + %cmp283 = icmp slt i32 %inc282, 0 + br i1 %cmp283, label %if.then285, label %if.end292 + +if.then285: ; preds = %if.end281 + %147 = load i64*, i64** %ppc, align 8 + %arrayidx286 = getelementptr inbounds i64, i64* %147, i64 0 + store i64 176, i64* %arrayidx286, align 8 + %148 = load i32, i32* %o_exp, align 4 + %sub287 = sub nsw i32 0, %148 + %conv288 = sext i32 %sub287 to i64 + %149 = load i64*, i64** %ppc, align 8 + %arrayidx289 = getelementptr inbounds i64, i64* %149, i64 1 + store i64 %conv288, i64* %arrayidx289, align 8 + %150 = load i64*, i64** %ppc, align 8 + %arrayidx290 = getelementptr inbounds i64, i64* %150, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx290, align 8 + %151 = load i64*, i64** %ppc, align 8 + %add.ptr291 = getelementptr inbounds i64, i64* %151, i64 3 + store i64* %add.ptr291, i64** %ppc, align 8 + br label %if.end292 + +if.end292: ; preds = %if.then285, %if.end281 + %152 = load i32, i32* %i218, align 4 + %tobool293 = icmp ne i32 %152, 0 + br i1 %tobool293, label %if.then294, label %if.end300 + +if.then294: ; preds = %if.end292 + %153 = load i64*, i64** %ppc, align 8 + %arrayidx295 = getelementptr inbounds i64, i64* %153, i64 0 + store i64 112, i64* %arrayidx295, align 8 + %154 = load i32, i32* %i218, align 4 + %conv296 = sext i32 %154 to i64 + %155 = load i64*, i64** %ppc, align 8 + %arrayidx297 = getelementptr inbounds i64, i64* %155, i64 1 + store i64 %conv296, i64* %arrayidx297, align 8 + %156 = load i8*, i8** %s, align 8 + %157 = ptrtoint i8* %156 to i64 + %158 = load i64*, i64** %ppc, align 8 + %arrayidx298 = getelementptr inbounds i64, i64* %158, i64 2 + store i64 %157, i64* %arrayidx298, align 8 + %159 = load i64*, i64** %ppc, align 8 + %add.ptr299 = getelementptr inbounds i64, i64* %159, i64 3 + store i64* %add.ptr299, i64** %ppc, align 8 + br label %if.end300 + +if.end300: ; preds = %if.then294, %if.end292 + %160 = load i8, i8* %o_mode, align 1 + %conv301 = sext i8 %160 to i32 + %cmp302 = icmp ne i32 %conv301, 103 + br i1 %cmp302, label %if.then310, label %lor.lhs.false304 + +lor.lhs.false304: ; preds = %if.end300 + %161 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %alt305 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %161, i32 0, i32 3 + %bf.load306 = load i32, i32* %alt305, align 4 + %bf.lshr307 = lshr i32 %bf.load306, 4 + %bf.clear308 = and i32 %bf.lshr307, 1 + %tobool309 = icmp ne i32 %bf.clear308, 0 + br i1 %tobool309, label %if.then310, label %if.end322 + +if.then310: ; preds = %lor.lhs.false304, %if.end300 + %162 = load i32, i32* %o_exp, align 4 + %163 = load i32, i32* %i218, align 4 + %sub311 = sub nsw i32 %163, %162 + store i32 %sub311, i32* %i218, align 4 + %164 = load i32, i32* %i218, align 4 + %165 = load i32, i32* %preci, align 4 + %cmp312 = icmp slt i32 %164, %165 + br i1 %cmp312, label %if.then314, label %if.end322 + +if.then314: ; preds = %if.then310 + %166 = load i32, i32* %preci, align 4 + %167 = load i32, i32* %i218, align 4 + %sub315 = sub nsw i32 %166, %167 + store i32 %sub315, i32* %i218, align 4 + %168 = load i64*, i64** %ppc, align 8 + %arrayidx316 = getelementptr inbounds i64, i64* %168, i64 0 + store i64 176, i64* %arrayidx316, align 8 + %169 = load i32, i32* %i218, align 4 + %conv317 = sext i32 %169 to i64 + %170 = load i64*, i64** %ppc, align 8 + %arrayidx318 = getelementptr inbounds i64, i64* %170, i64 1 + store i64 %conv317, i64* %arrayidx318, align 8 + %171 = load i64*, i64** %ppc, align 8 + %arrayidx319 = getelementptr inbounds i64, i64* %171, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx319, align 8 + %172 = load i64*, i64** %ppc, align 8 + %add.ptr320 = getelementptr inbounds i64, i64* %172, i64 3 + store i64* %add.ptr320, i64** %ppc, align 8 + br label %if.end322 + +if.end322: ; preds = %if.then310, %if.then314, %lor.lhs.false304 + %173 = load i8, i8* %mode, align 1 + %conv323 = sext i8 %173 to i32 + %cmp324 = icmp ne i32 %conv323, 102 + br i1 %cmp324, label %if.then326, label %EXIT_SPECIAL + +if.then326: ; preds = %if.end322 + %arraydecay327 = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + %add.ptr328 = getelementptr inbounds i8, i8* %arraydecay327, i64 16 + store i8* %add.ptr328, i8** %p, align 8 + %arraydecay330 = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + %174 = load i8, i8* %arraydecay330, align 16 + store i8 %174, i8* %exp_char, align 1 + store i8 43, i8* %exp_sign, align 1 + %175 = load i32, i32* %exp, align 4 + %cmp331 = icmp slt i32 %175, 0 + br i1 %cmp331, label %if.then333, label %if.end335 + +if.then333: ; preds = %if.then326 + store i8 45, i8* %exp_sign, align 1 + %176 = load i32, i32* %exp, align 4 + %sub334 = sub nsw i32 0, %176 + store i32 %sub334, i32* %exp, align 4 + br label %if.end335 + +if.end335: ; preds = %if.then333, %if.then326 + %177 = load i8*, i8** %p, align 8 + %incdec.ptr336 = getelementptr inbounds i8, i8* %177, i32 -1 + store i8* %incdec.ptr336, i8** %p, align 8 + store i8 0, i8* %incdec.ptr336, align 1 + store i32 2, i32* %j329, align 4 + br label %do.body337 + +do.body337: ; preds = %do.body337, %if.end335 + %178 = load i32, i32* %exp, align 4 + %rem338 = srem i32 %178, 10 + %add339 = add nsw i32 48, %rem338 + %conv340 = trunc i32 %add339 to i8 + %179 = load i8*, i8** %p, align 8 + %incdec.ptr341 = getelementptr inbounds i8, i8* %179, i32 -1 + store i8* %incdec.ptr341, i8** %p, align 8 + store i8 %conv340, i8* %incdec.ptr341, align 1 + %180 = load i32, i32* %exp, align 4 + %div342 = sdiv i32 %180, 10 + store i32 %div342, i32* %exp, align 4 + %181 = load i32, i32* %j329, align 4 + %inc344 = add nsw i32 %181, 1 + store i32 %inc344, i32* %j329, align 4 + %cmp345 = icmp slt i32 %inc344, 4 + %182 = load i32, i32* %exp, align 4 + %tobool348 = icmp ne i32 %182, 0 + %183 = select i1 %cmp345, i1 true, i1 %tobool348 + br i1 %183, label %do.body337, label %do.end350 + +do.end350: ; preds = %do.body337 + %184 = load i8, i8* %exp_sign, align 1 + %185 = load i8*, i8** %p, align 8 + %incdec.ptr351 = getelementptr inbounds i8, i8* %185, i32 -1 + store i8* %incdec.ptr351, i8** %p, align 8 + store i8 %184, i8* %incdec.ptr351, align 1 + %186 = load i8, i8* %exp_char, align 1 + %187 = load i8*, i8** %p, align 8 + %incdec.ptr352 = getelementptr inbounds i8, i8* %187, i32 -1 + store i8* %incdec.ptr352, i8** %p, align 8 + store i8 %186, i8* %incdec.ptr352, align 1 + %188 = load i64*, i64** %ppc, align 8 + %arrayidx353 = getelementptr inbounds i64, i64* %188, i64 0 + store i64 112, i64* %arrayidx353, align 8 + %189 = load i32, i32* %j329, align 4 + %conv354 = sext i32 %189 to i64 + %190 = load i64*, i64** %ppc, align 8 + %arrayidx355 = getelementptr inbounds i64, i64* %190, i64 1 + store i64 %conv354, i64* %arrayidx355, align 8 + %191 = load i8*, i8** %p, align 8 + %192 = ptrtoint i8* %191 to i64 + %193 = load i64*, i64** %ppc, align 8 + %arrayidx356 = getelementptr inbounds i64, i64* %193, i64 2 + store i64 %192, i64* %arrayidx356, align 8 + %194 = load i64*, i64** %ppc, align 8 + %add.ptr357 = getelementptr inbounds i64, i64* %194, i64 3 + store i64* %add.ptr357, i64** %ppc, align 8 + br label %EXIT_SPECIAL + +EXIT_SPECIAL: ; preds = %if.end322, %do.end350, %if.end54 + %195 = load i64*, i64** %ppc, align 8 + store i64* %195, i64** %ppc_last, align 8 + %arraydecay360 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + %add.ptr361 = getelementptr inbounds i64, i64* %arraydecay360, i64 4 + store i64* %add.ptr361, i64** %ppc, align 8 + br label %do.body362 + +do.body362: ; preds = %do.body362, %EXIT_SPECIAL + %196 = load i64*, i64** %ppc, align 8 + %197 = load i64, i64* %196, align 8 + %198 = load i32, i32* %width, align 4 + %conv363 = sext i32 %198 to i64 + %sub364 = sub nsw i64 %conv363, %197 + %conv365 = trunc i64 %sub364 to i32 + store i32 %conv365, i32* %width, align 4 + %199 = load i64*, i64** %ppc, align 8 + %add.ptr366 = getelementptr inbounds i64, i64* %199, i64 3 + store i64* %add.ptr366, i64** %ppc, align 8 + %200 = load i64*, i64** %ppc, align 8 + %201 = load i64*, i64** %ppc_last, align 8 + %cmp368 = icmp ult i64* %200, %201 + br i1 %cmp368, label %do.body362, label %do.end370 + +do.end370: ; preds = %do.body362 + %arraydecay371 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + store i64* %arraydecay371, i64** %ppc, align 8 + %202 = load i64*, i64** %ppc, align 8 + %arrayidx372 = getelementptr inbounds i64, i64* %202, i64 0 + store i64 160, i64* %arrayidx372, align 8 + %arraydecay373 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %203 = load i8, i8* %arraydecay373, align 1 + %conv374 = sext i8 %203 to i32 + %cmp375 = icmp ne i32 %conv374, 0 + %conv376 = zext i1 %cmp375 to i32 + store i32 %conv376, i32* %i359, align 4 + %conv377 = sext i32 %conv376 to i64 + %204 = load i64*, i64** %ppc, align 8 + %arrayidx378 = getelementptr inbounds i64, i64* %204, i64 1 + store i64 %conv377, i64* %arrayidx378, align 8 + %arraydecay379 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %205 = ptrtoint i8* %arraydecay379 to i64 + %206 = load i64*, i64** %ppc, align 8 + %arrayidx380 = getelementptr inbounds i64, i64* %206, i64 2 + store i64 %205, i64* %arrayidx380, align 8 + %207 = load i32, i32* %i359, align 4 + %208 = load i32, i32* %width, align 4 + %sub381 = sub nsw i32 %208, %207 + store i32 %sub381, i32* %width, align 4 + %cmp382 = icmp sgt i32 %sub381, 0 + br i1 %cmp382, label %if.then384, label %if.end409 + +if.then384: ; preds = %do.end370 + %209 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %left = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %209, i32 0, i32 3 + %bf.load385 = load i32, i32* %left, align 4 + %bf.lshr386 = lshr i32 %bf.load385, 3 + %bf.clear387 = and i32 %bf.lshr386, 1 + %tobool388 = icmp ne i32 %bf.clear387, 0 + br i1 %tobool388, label %if.then389, label %if.else395 + +if.then389: ; preds = %if.then384 + %210 = load i64*, i64** %ppc_last, align 8 + %arrayidx390 = getelementptr inbounds i64, i64* %210, i64 0 + store i64 160, i64* %arrayidx390, align 8 + %211 = load i32, i32* %width, align 4 + %conv391 = sext i32 %211 to i64 + %212 = load i64*, i64** %ppc_last, align 8 + %arrayidx392 = getelementptr inbounds i64, i64* %212, i64 1 + store i64 %conv391, i64* %arrayidx392, align 8 + %213 = load i64*, i64** %ppc_last, align 8 + %arrayidx393 = getelementptr inbounds i64, i64* %213, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx393, align 8 + %214 = load i64*, i64** %ppc_last, align 8 + %add.ptr394 = getelementptr inbounds i64, i64* %214, i64 3 + store i64* %add.ptr394, i64** %ppc_last, align 8 + br label %if.end409 + +if.else395: ; preds = %if.then384 + %215 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %pad396 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %215, i32 0, i32 4 + %216 = load i32, i32* %pad396, align 4 + %cmp397 = icmp eq i32 %216, 48 + %217 = load i32, i32* %width, align 4 + %conv400 = sext i32 %217 to i64 + %218 = load i64*, i64** %ppc, align 8 + br i1 %cmp397, label %if.then399, label %if.else403 + +if.then399: ; preds = %if.else395 + %arrayidx401 = getelementptr inbounds i64, i64* %218, i64 4 + %219 = load i64, i64* %arrayidx401, align 8 + %add402 = add nsw i64 %219, %conv400 + store i64 %add402, i64* %arrayidx401, align 8 + br label %if.end409 + +if.else403: ; preds = %if.else395 + %arrayidx405 = getelementptr inbounds i64, i64* %218, i64 1 + %220 = load i64, i64* %arrayidx405, align 8 + %add406 = add nsw i64 %220, %conv400 + store i64 %add406, i64* %arrayidx405, align 8 + br label %if.end409 + +if.end409: ; preds = %if.then389, %if.else403, %if.then399, %do.end370 + store i32 0, i32* %cnt, align 4 + br label %do.body410 + +do.body410: ; preds = %if.end418, %if.end409 + %221 = load i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)*, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)** %fp_outfunc.addr, align 8 + %222 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + %223 = load i64*, i64** %ppc, align 8 + %224 = load i64, i64* %223, align 8 + %225 = load i64*, i64** %ppc, align 8 + %arrayidx411 = getelementptr inbounds i64, i64* %225, i64 1 + %226 = load i64, i64* %arrayidx411, align 8 + %227 = load i64*, i64** %ppc, align 8 + %arrayidx412 = getelementptr inbounds i64, i64* %227, i64 2 + %228 = load i64, i64* %arrayidx412, align 8 + %call413 = call i64 %221(%struct.__STDIO_FILE_STRUCT.568* %222, i64 %224, i64 %226, i64 %228) #18 + %229 = load i64*, i64** %ppc, align 8 + %arrayidx414 = getelementptr inbounds i64, i64* %229, i64 1 + %230 = load i64, i64* %arrayidx414, align 8 + %cmp415 = icmp ne i64 %call413, %230 + br i1 %cmp415, label %if.then417, label %if.end418 + +if.then417: ; preds = %do.body410 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end418: ; preds = %do.body410 + %231 = load i64*, i64** %ppc, align 8 + %arrayidx419 = getelementptr inbounds i64, i64* %231, i64 1 + %232 = load i64, i64* %arrayidx419, align 8 + %233 = load i32, i32* %cnt, align 4 + %conv420 = sext i32 %233 to i64 + %add421 = add nsw i64 %conv420, %232 + %conv422 = trunc i64 %add421 to i32 + store i32 %conv422, i32* %cnt, align 4 + %234 = load i64*, i64** %ppc, align 8 + %add.ptr423 = getelementptr inbounds i64, i64* %234, i64 3 + store i64* %add.ptr423, i64** %ppc, align 8 + %235 = load i64*, i64** %ppc, align 8 + %236 = load i64*, i64** %ppc_last, align 8 + %cmp425 = icmp ult i64* %235, %236 + br i1 %cmp425, label %do.body410, label %do.end427 + +do.end427: ; preds = %if.end418 + %237 = load i32, i32* %cnt, align 4 + %conv428 = sext i32 %237 to i64 + store i64 %conv428, i64* %retval, align 8 + br label %return + +return: ; preds = %do.end427, %if.then417 + %238 = load i64, i64* %retval, align 8 + ret i64 %238 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_load_inttype(i32 %desttype, i8* %src, i32 %uflag) #0 { +entry: + %retval = alloca i64, align 8 + %desttype.addr = alloca i32, align 4 + %src.addr = alloca i8*, align 8 + %uflag.addr = alloca i32, align 4 + %x = alloca i32, align 4 + %x24 = alloca i32, align 4 + store i32 %desttype, i32* %desttype.addr, align 4 + store i8* %src, i8** %src.addr, align 8 + store i32 %uflag, i32* %uflag.addr, align 4 + %0 = load i32, i32* %uflag.addr, align 4 + %cmp = icmp sge i32 %0, 0 + %1 = load i32, i32* %desttype.addr, align 4 + %and = and i32 %1, 3072 + %tobool = icmp ne i32 %and, 0 + %2 = load i8*, i8** %src.addr, align 8 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + br i1 %tobool, label %if.then1, label %if.end4 + +if.then1: ; preds = %if.then + %3 = bitcast i8* %2 to i64* + %4 = load i64, i64* %3, align 8 + store i64 %4, i64* %retval, align 8 + br label %return + +if.end4: ; preds = %if.then + %5 = bitcast i8* %2 to i32* + %6 = load i32, i32* %5, align 4 + store i32 %6, i32* %x, align 4 + %7 = load i32, i32* %desttype.addr, align 4 + %cmp5 = icmp eq i32 %7, 256 + br i1 %cmp5, label %if.then6, label %if.end8 + +if.then6: ; preds = %if.end4 + %8 = load i32, i32* %x, align 4 + %conv = trunc i32 %8 to i8 + %conv7 = zext i8 %conv to i32 + store i32 %conv7, i32* %x, align 4 + br label %if.end8 + +if.end8: ; preds = %if.then6, %if.end4 + %9 = load i32, i32* %desttype.addr, align 4 + %cmp9 = icmp eq i32 %9, 512 + br i1 %cmp9, label %if.then11, label %if.end14 + +if.then11: ; preds = %if.end8 + %10 = load i32, i32* %x, align 4 + %conv12 = trunc i32 %10 to i16 + %conv13 = zext i16 %conv12 to i32 + store i32 %conv13, i32* %x, align 4 + br label %if.end14 + +if.end14: ; preds = %if.then11, %if.end8 + %11 = load i32, i32* %x, align 4 + %conv15 = zext i32 %11 to i64 + store i64 %conv15, i64* %retval, align 8 + br label %return + +if.else: ; preds = %entry + br i1 %tobool, label %if.then18, label %if.end23 + +if.then18: ; preds = %if.else + %12 = bitcast i8* %2 to i64* + %13 = load i64, i64* %12, align 8 + store i64 %13, i64* %retval, align 8 + br label %return + +if.end23: ; preds = %if.else + %14 = bitcast i8* %2 to i32* + %15 = load i32, i32* %14, align 4 + store i32 %15, i32* %x24, align 4 + %16 = load i32, i32* %desttype.addr, align 4 + %cmp25 = icmp eq i32 %16, 256 + br i1 %cmp25, label %if.then27, label %if.end30 + +if.then27: ; preds = %if.end23 + %17 = load i32, i32* %x24, align 4 + %conv28 = trunc i32 %17 to i8 + %conv29 = sext i8 %conv28 to i32 + store i32 %conv29, i32* %x24, align 4 + br label %if.end30 + +if.end30: ; preds = %if.then27, %if.end23 + %18 = load i32, i32* %desttype.addr, align 4 + %cmp31 = icmp eq i32 %18, 512 + br i1 %cmp31, label %if.then33, label %if.end36 + +if.then33: ; preds = %if.end30 + %19 = load i32, i32* %x24, align 4 + %conv34 = trunc i32 %19 to i16 + %conv35 = sext i16 %conv34 to i32 + store i32 %conv35, i32* %x24, align 4 + br label %if.end36 + +if.end36: ; preds = %if.then33, %if.end30 + %20 = load i32, i32* %x24, align 4 + %conv37 = sext i32 %20 to i64 + store i64 %conv37, i64* %retval, align 8 + br label %return + +return: ; preds = %if.then18, %if.then1, %if.end36, %if.end14 + %21 = load i64, i64* %retval, align 8 + ret i64 %21 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_ppfs_init(%struct.ppfs_t.722* %ppfs, i8* %fmt0) #0 { +entry: + %retval = alloca i32, align 4 + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %fmt0.addr = alloca i8*, align 8 + %r = alloca i32, align 4 + %mbstate = alloca %struct.__mbstate_t.512, align 4 + %p = alloca i8*, align 8 + %p8 = alloca i32*, align 8 + %fmt = alloca i8*, align 8 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store i8* %fmt0, i8** %fmt0.addr, align 8 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %1 = bitcast %struct.ppfs_t.722* %0 to i8* + %call = call i8* @memset(i8* %1, i32 0, i64 176) #19 + %2 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %2, i32 0, i32 2 + %3 = load i32, i32* %maxposarg, align 4 + %dec = add nsw i32 %3, -1 + store i32 %dec, i32* %maxposarg, align 4 + %4 = load i8*, i8** %fmt0.addr, align 8 + %5 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %5, i32 0, i32 0 + store i8* %4, i8** %fmtpos, align 8 + %6 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %6, i32 0, i32 9 + %7 = load i8, i8* %encoding, align 8 + %conv = zext i8 %7 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %if.then, label %if.end7 + +if.then: ; preds = %entry + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %mbstate, i32 0, i32 0 + store i32 0, i32* %__mask, align 4 + %8 = load i8*, i8** %fmt0.addr, align 8 + store i8* %8, i8** %p, align 8 + %call2 = call i64 @mbsrtowcs(i32* null, i8** %p, i64 -1, %struct.__mbstate_t.512* %mbstate) #19 + %cmp3 = icmp eq i64 %call2, -1 + br i1 %cmp3, label %if.then5, label %if.end7 + +if.then5: ; preds = %if.then + %9 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos6 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %9, i32 0, i32 0 + store i8* getelementptr inbounds ([33 x i8], [33 x i8]* @_ppfs_init.invalid_mbs, i64 0, i64 0), i8** %fmtpos6, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end7: ; preds = %if.then, %entry + %10 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %10, i32 0, i32 6 + %arraydecay = getelementptr inbounds [9 x i32], [9 x i32]* %argtype, i64 0, i64 0 + store i32* %arraydecay, i32** %p8, align 8 + store i32 9, i32* %r, align 4 + br label %do.body + +do.body: ; preds = %do.body, %if.end7 + %11 = load i32*, i32** %p8, align 8 + %incdec.ptr = getelementptr inbounds i32, i32* %11, i32 1 + store i32* %incdec.ptr, i32** %p8, align 8 + store i32 8, i32* %11, align 4 + %12 = load i32, i32* %r, align 4 + %dec9 = add nsw i32 %12, -1 + store i32 %dec9, i32* %r, align 4 + %tobool = icmp ne i32 %dec9, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.body + %13 = load i8*, i8** %fmt0.addr, align 8 + store i8* %13, i8** %fmt, align 8 + br label %while.cond + +while.cond: ; preds = %if.end27, %do.end + %14 = load i8*, i8** %fmt, align 8 + %15 = load i8, i8* %14, align 1 + %tobool10 = icmp ne i8 %15, 0 + br i1 %tobool10, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %16 = load i8*, i8** %fmt, align 8 + %17 = load i8, i8* %16, align 1 + %conv11 = sext i8 %17 to i32 + %cmp12 = icmp eq i32 %conv11, 37 + br i1 %cmp12, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %while.body + %18 = load i8*, i8** %fmt, align 8 + %incdec.ptr14 = getelementptr inbounds i8, i8* %18, i32 1 + store i8* %incdec.ptr14, i8** %fmt, align 8 + %19 = load i8, i8* %incdec.ptr14, align 1 + %conv15 = sext i8 %19 to i32 + %cmp16 = icmp ne i32 %conv15, 37 + br i1 %cmp16, label %if.then18, label %if.else + +if.then18: ; preds = %land.lhs.true + %20 = load i8*, i8** %fmt, align 8 + %21 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos19 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %21, i32 0, i32 0 + store i8* %20, i8** %fmtpos19, align 8 + %22 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %call20 = call i32 @_ppfs_parsespec(%struct.ppfs_t.722* %22) #18 + store i32 %call20, i32* %r, align 4 + %cmp21 = icmp slt i32 %call20, 0 + br i1 %cmp21, label %if.then23, label %if.end24 + +if.then23: ; preds = %if.then18 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end24: ; preds = %if.then18 + %23 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos25 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %23, i32 0, i32 0 + %24 = load i8*, i8** %fmtpos25, align 8 + store i8* %24, i8** %fmt, align 8 + br label %if.end27 + +if.else: ; preds = %land.lhs.true, %while.body + %25 = load i8*, i8** %fmt, align 8 + %incdec.ptr26 = getelementptr inbounds i8, i8* %25, i32 1 + store i8* %incdec.ptr26, i8** %fmt, align 8 + br label %if.end27 + +if.end27: ; preds = %if.else, %if.end24 + br label %while.cond + +while.end: ; preds = %while.cond + %26 = load i8*, i8** %fmt0.addr, align 8 + %27 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos28 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %27, i32 0, i32 0 + store i8* %26, i8** %fmtpos28, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %while.end, %if.then23, %if.then5 + %28 = load i32, i32* %retval, align 4 + ret i32 %28 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_ppfs_parsespec(%struct.ppfs_t.722* %ppfs) #0 { +entry: + %retval = alloca i32, align 4 + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %fmt = alloca i8*, align 8 + %p = alloca i8*, align 8 + %preci = alloca i32, align 4 + %width = alloca i32, align 4 + %flags = alloca i32, align 4 + %dataargtype = alloca i32, align 4 + %i = alloca i32, align 4 + %dpoint = alloca i32, align 4 + %maxposarg = alloca i32, align 4 + %p_m_spec_chars = alloca i32, align 4 + %n = alloca i32, align 4 + %argtype = alloca [3 x i32], align 4 + %argnumber = alloca [3 x i32], align 4 + %buf = alloca [32 x i8], align 16 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store i32 -1, i32* %preci, align 4 + %arrayidx = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 0 + store i32 0, i32* %arrayidx, align 4 + %arrayidx1 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 1 + store i32 0, i32* %arrayidx1, align 4 + %arrayidx2 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 0 + store i32 8, i32* %arrayidx2, align 4 + %arrayidx3 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 1 + store i32 8, i32* %arrayidx3, align 4 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg4 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %0, i32 0, i32 2 + %1 = load i32, i32* %maxposarg4, align 4 + store i32 %1, i32* %maxposarg, align 4 + store i32 0, i32* %dpoint, align 4 + store i32 0, i32* %width, align 4 + %2 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %2, i32 0, i32 1 + %_flags = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 3 + %3 = load i32, i32* %_flags, align 4 + %and = and i32 %3, 128 + store i32 %and, i32* %flags, align 4 + %cmp = icmp eq i32 %and, 0 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %4 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %4, i32 0, i32 0 + %5 = load i8*, i8** %fmtpos, align 8 + store i8* %5, i8** %fmt, align 8 + br label %if.end20 + +if.else: ; preds = %entry + %arraydecay = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 1 + store i8* %add.ptr, i8** %fmt, align 8 + store i32 0, i32* %i, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %if.else + %6 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos5 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %6, i32 0, i32 0 + %7 = load i8*, i8** %fmtpos5, align 8 + %8 = bitcast i8* %7 to i32* + %9 = load i32, i32* %i, align 4 + %sub = sub nsw i32 %9, 1 + %idxprom = sext i32 %sub to i64 + %arrayidx6 = getelementptr inbounds i32, i32* %8, i64 %idxprom + %10 = load i32, i32* %arrayidx6, align 4 + %conv = trunc i32 %10 to i8 + %11 = load i32, i32* %i, align 4 + %idxprom7 = sext i32 %11 to i64 + %arrayidx8 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 %idxprom7 + store i8 %conv, i8* %arrayidx8, align 1 + %conv9 = sext i8 %conv to i32 + %12 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos10 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %12, i32 0, i32 0 + %13 = load i8*, i8** %fmtpos10, align 8 + %14 = bitcast i8* %13 to i32* + %15 = load i32, i32* %i, align 4 + %sub11 = sub nsw i32 %15, 1 + %idxprom12 = sext i32 %sub11 to i64 + %arrayidx13 = getelementptr inbounds i32, i32* %14, i64 %idxprom12 + %16 = load i32, i32* %arrayidx13, align 4 + %cmp14 = icmp ne i32 %conv9, %16 + br i1 %cmp14, label %if.then16, label %do.cond + +if.then16: ; preds = %do.body + store i32 -1, i32* %retval, align 4 + br label %return + +do.cond: ; preds = %do.body + %17 = load i32, i32* %i, align 4 + %inc = add nsw i32 %17, 1 + store i32 %inc, i32* %i, align 4 + %idxprom17 = sext i32 %17 to i64 + %arrayidx18 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 %idxprom17 + %18 = load i8, i8* %arrayidx18, align 1 + %tobool = icmp ne i8 %18, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %arrayidx19 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 31 + store i8 0, i8* %arrayidx19, align 1 + br label %if.end20 + +if.end20: ; preds = %do.end, %if.then + br label %width_precision + +width_precision: ; preds = %do.end89, %if.then129, %if.end20 + %19 = load i8*, i8** %fmt, align 8 + store i8* %19, i8** %p, align 8 + %20 = load i8*, i8** %fmt, align 8 + %21 = load i8, i8* %20, align 1 + %conv21 = sext i8 %21 to i32 + %cmp22 = icmp eq i32 %conv21, 42 + br i1 %cmp22, label %if.then24, label %if.end28 + +if.then24: ; preds = %width_precision + %22 = load i32, i32* %dpoint, align 4 + %sub25 = sub nsw i32 0, %22 + %idxprom26 = sext i32 %sub25 to i64 + %arrayidx27 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 %idxprom26 + store i32 0, i32* %arrayidx27, align 4 + %23 = load i8*, i8** %fmt, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %23, i32 1 + store i8* %incdec.ptr, i8** %fmt, align 8 + br label %if.end28 + +if.end28: ; preds = %if.then24, %width_precision + store i32 0, i32* %i, align 4 + br label %while.cond + +while.cond: ; preds = %if.end40, %if.end28 + %call = call i16** @__ctype_b_loc() #21 + %24 = load i16*, i16** %call, align 8 + %25 = load i8*, i8** %fmt, align 8 + %26 = load i8, i8* %25, align 1 + %conv29 = sext i8 %26 to i32 + %idxprom30 = sext i32 %conv29 to i64 + %arrayidx31 = getelementptr inbounds i16, i16* %24, i64 %idxprom30 + %27 = load i16, i16* %arrayidx31, align 2 + %conv32 = zext i16 %27 to i32 + %and33 = and i32 %conv32, 2048 + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %28 = load i32, i32* %i, align 4 + %cmp35 = icmp slt i32 %28, 4095 + br i1 %cmp35, label %if.then37, label %if.end40 + +if.then37: ; preds = %while.body + %29 = load i32, i32* %i, align 4 + %mul = mul nsw i32 %29, 10 + %30 = load i8*, i8** %fmt, align 8 + %31 = load i8, i8* %30, align 1 + %conv38 = sext i8 %31 to i32 + %sub39 = sub nsw i32 %conv38, 48 + %add = add nsw i32 %mul, %sub39 + store i32 %add, i32* %i, align 4 + br label %if.end40 + +if.end40: ; preds = %if.then37, %while.body + %32 = load i8*, i8** %fmt, align 8 + %incdec.ptr41 = getelementptr inbounds i8, i8* %32, i32 1 + store i8* %incdec.ptr41, i8** %fmt, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %33 = load i8*, i8** %p, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %33, i64 -1 + %34 = load i8, i8* %arrayidx42, align 1 + %conv43 = sext i8 %34 to i32 + %cmp44 = icmp eq i32 %conv43, 37 + br i1 %cmp44, label %if.then46, label %PREC_WIDTH + +if.then46: ; preds = %while.end + %35 = load i8*, i8** %fmt, align 8 + %36 = load i8, i8* %35, align 1 + %conv47 = sext i8 %36 to i32 + %cmp48 = icmp eq i32 %conv47, 36 + %37 = load i32, i32* %i, align 4 + %cmp50 = icmp sgt i32 %37, 0 + %or.cond = and i1 %cmp48, %cmp50 + br i1 %or.cond, label %if.then52, label %if.else63 + +if.then52: ; preds = %if.then46 + %38 = load i8*, i8** %fmt, align 8 + %incdec.ptr53 = getelementptr inbounds i8, i8* %38, i32 1 + store i8* %incdec.ptr53, i8** %fmt, align 8 + %39 = load i32, i32* %maxposarg, align 4 + %cmp54 = icmp eq i32 %39, 0 + br i1 %cmp54, label %if.then56, label %if.end57 + +if.then56: ; preds = %if.then52 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end57: ; preds = %if.then52 + %40 = load i32, i32* %i, align 4 + %arrayidx58 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 2 + store i32 %40, i32* %arrayidx58, align 4 + %41 = load i32, i32* %maxposarg, align 4 + %cmp59 = icmp sgt i32 %40, %41 + br i1 %cmp59, label %if.then61, label %if.end76 + +if.then61: ; preds = %if.end57 + %42 = load i32, i32* %i, align 4 + store i32 %42, i32* %maxposarg, align 4 + br label %if.end76 + +if.else63: ; preds = %if.then46 + %43 = load i32, i32* %maxposarg, align 4 + %cmp64 = icmp sgt i32 %43, 0 + br i1 %cmp64, label %if.then66, label %if.end67 + +if.then66: ; preds = %if.else63 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end67: ; preds = %if.else63 + store i32 0, i32* %maxposarg, align 4 + %44 = load i8*, i8** %fmt, align 8 + %45 = load i8*, i8** %p, align 8 + %cmp68 = icmp ugt i8* %44, %45 + br i1 %cmp68, label %land.lhs.true70, label %if.end75 + +land.lhs.true70: ; preds = %if.end67 + %46 = load i8*, i8** %p, align 8 + %47 = load i8, i8* %46, align 1 + %conv71 = sext i8 %47 to i32 + %cmp72 = icmp ne i32 %conv71, 48 + br i1 %cmp72, label %PREC_WIDTH, label %if.end75 + +if.end75: ; preds = %land.lhs.true70, %if.end67 + %48 = load i8*, i8** %p, align 8 + store i8* %48, i8** %fmt, align 8 + br label %if.end76 + +if.end76: ; preds = %if.end57, %if.then61, %if.end75 + br label %restart_flags + +restart_flags: ; preds = %if.then83, %if.end76 + store i32 1, i32* %i, align 4 + store i8* getelementptr inbounds ([8 x i8], [8 x i8]* @_ppfs_parsespec.spec_flags, i64 0, i64 0), i8** %p, align 8 + br label %do.body77 + +do.body77: ; preds = %if.end85, %restart_flags + %49 = load i8*, i8** %fmt, align 8 + %50 = load i8, i8* %49, align 1 + %conv78 = sext i8 %50 to i32 + %51 = load i8*, i8** %p, align 8 + %incdec.ptr79 = getelementptr inbounds i8, i8* %51, i32 1 + store i8* %incdec.ptr79, i8** %p, align 8 + %52 = load i8, i8* %51, align 1 + %conv80 = sext i8 %52 to i32 + %cmp81 = icmp eq i32 %conv78, %conv80 + br i1 %cmp81, label %if.then83, label %if.end85 + +if.then83: ; preds = %do.body77 + %53 = load i8*, i8** %fmt, align 8 + %incdec.ptr84 = getelementptr inbounds i8, i8* %53, i32 1 + store i8* %incdec.ptr84, i8** %fmt, align 8 + %54 = load i32, i32* %i, align 4 + %55 = load i32, i32* %flags, align 4 + %or = or i32 %55, %54 + store i32 %or, i32* %flags, align 4 + br label %restart_flags + +if.end85: ; preds = %do.body77 + %56 = load i32, i32* %i, align 4 + %57 = load i32, i32* %i, align 4 + %add86 = add nsw i32 %57, %56 + store i32 %add86, i32* %i, align 4 + %58 = load i8*, i8** %p, align 8 + %59 = load i8, i8* %58, align 1 + %tobool88 = icmp ne i8 %59, 0 + br i1 %tobool88, label %do.body77, label %do.end89 + +do.end89: ; preds = %if.end85 + store i32 0, i32* %i, align 4 + %60 = load i32, i32* %flags, align 4 + %and90 = and i32 %60, 10 + %shr = ashr i32 %and90, 1 + %neg = xor i32 %shr, -1 + %61 = load i32, i32* %flags, align 4 + %and91 = and i32 %61, %neg + store i32 %and91, i32* %flags, align 4 + %62 = load i8*, i8** %fmt, align 8 + %arrayidx92 = getelementptr inbounds i8, i8* %62, i64 -1 + %63 = load i8, i8* %arrayidx92, align 1 + %conv93 = sext i8 %63 to i32 + %cmp94 = icmp ne i32 %conv93, 37 + br i1 %cmp94, label %width_precision, label %PREC_WIDTH + +PREC_WIDTH: ; preds = %while.end, %do.end89, %land.lhs.true70 + %64 = load i8*, i8** %p, align 8 + %65 = load i8, i8* %64, align 1 + %conv99 = sext i8 %65 to i32 + %cmp100 = icmp eq i32 %conv99, 42 + br i1 %cmp100, label %if.then102, label %if.end123 + +if.then102: ; preds = %PREC_WIDTH + %66 = load i32, i32* %maxposarg, align 4 + %tobool103 = icmp ne i32 %66, 0 + br i1 %tobool103, label %if.then104, label %if.else116 + +if.then104: ; preds = %if.then102 + %67 = load i8*, i8** %fmt, align 8 + %incdec.ptr105 = getelementptr inbounds i8, i8* %67, i32 1 + store i8* %incdec.ptr105, i8** %fmt, align 8 + %68 = load i8, i8* %67, align 1 + %conv106 = sext i8 %68 to i32 + %cmp107 = icmp ne i32 %conv106, 36 + %69 = load i32, i32* %i, align 4 + %cmp109 = icmp sle i32 %69, 0 + %or.cond1 = or i1 %cmp107, %cmp109 + br i1 %or.cond1, label %if.then111, label %if.end112 + +if.then111: ; preds = %if.then104 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end112: ; preds = %if.then104 + %70 = load i32, i32* %i, align 4 + %71 = load i32, i32* %dpoint, align 4 + %sub113 = sub nsw i32 0, %71 + %idxprom114 = sext i32 %sub113 to i64 + %arrayidx115 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 %idxprom114 + store i32 %70, i32* %arrayidx115, align 4 + br label %if.end122 + +if.else116: ; preds = %if.then102 + %72 = load i8*, i8** %p, align 8 + %incdec.ptr117 = getelementptr inbounds i8, i8* %72, i32 1 + store i8* %incdec.ptr117, i8** %p, align 8 + %73 = load i8*, i8** %fmt, align 8 + %cmp118 = icmp ne i8* %incdec.ptr117, %73 + br i1 %cmp118, label %if.then120, label %if.end122 + +if.then120: ; preds = %if.else116 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end122: ; preds = %if.else116, %if.end112 + store i32 -2147483648, i32* %i, align 4 + br label %if.end123 + +if.end123: ; preds = %if.end122, %PREC_WIDTH + %74 = load i32, i32* %dpoint, align 4 + %tobool124 = icmp ne i32 %74, 0 + %75 = load i32, i32* %i, align 4 + br i1 %tobool124, label %if.else132, label %if.then125 + +if.then125: ; preds = %if.end123 + store i32 %75, i32* %width, align 4 + %76 = load i8*, i8** %fmt, align 8 + %77 = load i8, i8* %76, align 1 + %conv126 = sext i8 %77 to i32 + %cmp127 = icmp eq i32 %conv126, 46 + br i1 %cmp127, label %if.then129, label %if.end133 + +if.then129: ; preds = %if.then125 + %78 = load i8*, i8** %fmt, align 8 + %incdec.ptr130 = getelementptr inbounds i8, i8* %78, i32 1 + store i8* %incdec.ptr130, i8** %fmt, align 8 + store i32 -1, i32* %dpoint, align 4 + br label %width_precision + +if.else132: ; preds = %if.end123 + store i32 %75, i32* %preci, align 4 + br label %if.end133 + +if.end133: ; preds = %if.then125, %if.else132 + store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @_ppfs_parsespec.qual_chars, i64 0, i64 0), i8** %p, align 8 + br label %do.body134 + +do.body134: ; preds = %do.cond142, %if.end133 + %79 = load i8*, i8** %fmt, align 8 + %80 = load i8, i8* %79, align 1 + %conv135 = sext i8 %80 to i32 + %81 = load i8*, i8** %p, align 8 + %82 = load i8, i8* %81, align 1 + %conv136 = sext i8 %82 to i32 + %cmp137 = icmp eq i32 %conv135, %conv136 + br i1 %cmp137, label %if.then139, label %do.cond142 + +if.then139: ; preds = %do.body134 + %83 = load i8*, i8** %fmt, align 8 + %incdec.ptr140 = getelementptr inbounds i8, i8* %83, i32 1 + store i8* %incdec.ptr140, i8** %fmt, align 8 + br label %do.end145 + +do.cond142: ; preds = %do.body134 + %84 = load i8*, i8** %p, align 8 + %incdec.ptr143 = getelementptr inbounds i8, i8* %84, i32 1 + store i8* %incdec.ptr143, i8** %p, align 8 + %85 = load i8, i8* %incdec.ptr143, align 1 + %tobool144 = icmp ne i8 %85, 0 + br i1 %tobool144, label %do.body134, label %do.end145 + +do.end145: ; preds = %do.cond142, %if.then139 + %86 = load i8*, i8** %p, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %86 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, ptrtoint ([20 x i8]* @_ppfs_parsespec.qual_chars to i64) + %cmp146 = icmp slt i64 %sub.ptr.sub, 2 + br i1 %cmp146, label %land.lhs.true148, label %if.end156 + +land.lhs.true148: ; preds = %do.end145 + %87 = load i8*, i8** %fmt, align 8 + %88 = load i8, i8* %87, align 1 + %conv149 = sext i8 %88 to i32 + %89 = load i8*, i8** %p, align 8 + %90 = load i8, i8* %89, align 1 + %conv150 = sext i8 %90 to i32 + %cmp151 = icmp eq i32 %conv149, %conv150 + br i1 %cmp151, label %if.then153, label %if.end156 + +if.then153: ; preds = %land.lhs.true148 + %91 = load i8*, i8** %p, align 8 + %add.ptr154 = getelementptr inbounds i8, i8* %91, i64 9 + store i8* %add.ptr154, i8** %p, align 8 + %92 = load i8*, i8** %fmt, align 8 + %incdec.ptr155 = getelementptr inbounds i8, i8* %92, i32 1 + store i8* %incdec.ptr155, i8** %fmt, align 8 + br label %if.end156 + +if.end156: ; preds = %if.then153, %land.lhs.true148, %do.end145 + %93 = load i8*, i8** %p, align 8 + %arrayidx157 = getelementptr inbounds i8, i8* %93, i64 9 + %94 = load i8, i8* %arrayidx157, align 1 + %conv158 = sext i8 %94 to i32 + %shl = shl i32 %conv158, 8 + store i32 %shl, i32* %dataargtype, align 4 + %95 = load i8*, i8** %fmt, align 8 + %96 = load i8, i8* %95, align 1 + %tobool159 = icmp ne i8 %96, 0 + br i1 %tobool159, label %if.end161, label %if.then160 + +if.then160: ; preds = %if.end156 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end161: ; preds = %if.end156 + store i8* getelementptr inbounds ([21 x i8], [21 x i8]* @_ppfs_parsespec.spec_chars, i64 0, i64 0), i8** %p, align 8 + br label %do.body162 + +do.body162: ; preds = %do.cond199, %if.end161 + %97 = load i8*, i8** %fmt, align 8 + %98 = load i8, i8* %97, align 1 + %conv163 = sext i8 %98 to i32 + %99 = load i8*, i8** %p, align 8 + %100 = load i8, i8* %99, align 1 + %conv164 = sext i8 %100 to i32 + %cmp165 = icmp eq i32 %conv163, %conv164 + %101 = load i8*, i8** %p, align 8 + br i1 %cmp165, label %if.then167, label %do.cond199 + +if.then167: ; preds = %do.body162 + %sub.ptr.lhs.cast168 = ptrtoint i8* %101 to i64 + %sub.ptr.sub169 = sub i64 %sub.ptr.lhs.cast168, ptrtoint ([21 x i8]* @_ppfs_parsespec.spec_chars to i64) + %conv170 = trunc i64 %sub.ptr.sub169 to i32 + store i32 %conv170, i32* %p_m_spec_chars, align 4 + %102 = load i32, i32* %p_m_spec_chars, align 4 + %cmp171 = icmp sge i32 %102, 18 + br i1 %cmp171, label %land.lhs.true173, label %if.end178 + +land.lhs.true173: ; preds = %if.then167 + %103 = load i32, i32* %dataargtype, align 4 + %and174 = and i32 %103, 1024 + %tobool175 = icmp ne i32 %and174, 0 + br i1 %tobool175, label %if.then176, label %if.end178 + +if.then176: ; preds = %land.lhs.true173 + %104 = load i32, i32* %p_m_spec_chars, align 4 + %sub177 = sub nsw i32 %104, 2 + store i32 %sub177, i32* %p_m_spec_chars, align 4 + br label %if.end178 + +if.end178: ; preds = %if.then176, %land.lhs.true173, %if.then167 + %105 = load i32, i32* %p_m_spec_chars, align 4 + %106 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %106, i32 0, i32 4 + store i32 %105, i32* %conv_num, align 4 + store i8* getelementptr inbounds (i8, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @_ppfs_parsespec.spec_ranges, i64 0, i64 0), i64 -1), i8** %p, align 8 + br label %while.cond179 + +while.cond179: ; preds = %while.cond179, %if.end178 + %107 = load i32, i32* %p_m_spec_chars, align 4 + %108 = load i8*, i8** %p, align 8 + %incdec.ptr180 = getelementptr inbounds i8, i8* %108, i32 1 + store i8* %incdec.ptr180, i8** %p, align 8 + %109 = load i8, i8* %incdec.ptr180, align 1 + %conv181 = sext i8 %109 to i32 + %cmp182 = icmp sgt i32 %107, %conv181 + br i1 %cmp182, label %while.cond179, label %while.end185 + +while.end185: ; preds = %while.cond179 + %110 = load i8*, i8** %p, align 8 + %sub.ptr.lhs.cast186 = ptrtoint i8* %110 to i64 + %sub.ptr.sub187 = sub i64 %sub.ptr.lhs.cast186, ptrtoint ([9 x i8]* @_ppfs_parsespec.spec_ranges to i64) + %conv188 = trunc i64 %sub.ptr.sub187 to i32 + store i32 %conv188, i32* %i, align 4 + %111 = load i32, i32* %dataargtype, align 4 + %112 = load i32, i32* %i, align 4 + %idxprom189 = sext i32 %112 to i64 + %arrayidx190 = getelementptr inbounds [8 x i16], [8 x i16]* @_ppfs_parsespec.spec_or_mask, i64 0, i64 %idxprom189 + %113 = load i16, i16* %arrayidx190, align 2 + %conv191 = sext i16 %113 to i32 + %or192 = or i32 %111, %conv191 + %114 = load i32, i32* %i, align 4 + %idxprom193 = sext i32 %114 to i64 + %arrayidx194 = getelementptr inbounds [8 x i16], [8 x i16]* @_ppfs_parsespec.spec_and_mask, i64 0, i64 %idxprom193 + %115 = load i16, i16* %arrayidx194, align 2 + %conv195 = sext i16 %115 to i32 + %and196 = and i32 %or192, %conv195 + %arrayidx197 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 2 + store i32 %and196, i32* %arrayidx197, align 4 + store i8* getelementptr inbounds ([21 x i8], [21 x i8]* @_ppfs_parsespec.spec_chars, i64 0, i64 0), i8** %p, align 8 + br label %do.end202 + +do.cond199: ; preds = %do.body162 + %incdec.ptr200 = getelementptr inbounds i8, i8* %101, i32 1 + store i8* %incdec.ptr200, i8** %p, align 8 + %116 = load i8, i8* %incdec.ptr200, align 1 + %tobool201 = icmp ne i8 %116, 0 + br i1 %tobool201, label %do.body162, label %do.end202 + +do.end202: ; preds = %do.cond199, %while.end185 + %117 = load i8*, i8** %fmt, align 8 + %118 = load i8, i8* %117, align 1 + %conv203 = sext i8 %118 to i32 + %119 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info204 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %119, i32 0, i32 1 + %spec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info204, i32 0, i32 2 + store i32 %conv203, i32* %spec, align 8 + %120 = load i32, i32* %preci, align 4 + %121 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info205 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %121, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info205, i32 0, i32 0 + store i32 %120, i32* %prec, align 8 + %122 = load i32, i32* %width, align 4 + %123 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info206 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %123, i32 0, i32 1 + %width207 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info206, i32 0, i32 1 + store i32 %122, i32* %width207, align 4 + %124 = load i32, i32* %flags, align 4 + %and208 = and i32 %124, 4 + %tobool209 = icmp ne i32 %and208, 0 + %125 = zext i1 %tobool209 to i64 + %cond = select i1 %tobool209, i32 48, i32 32 + %126 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info210 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %126, i32 0, i32 1 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info210, i32 0, i32 4 + store i32 %cond, i32* %pad, align 8 + %127 = load i32, i32* %flags, align 4 + %and211 = and i32 %127, -5 + %128 = load i32, i32* %dataargtype, align 4 + %and212 = and i32 %128, 3840 + %or213 = or i32 %and211, %and212 + %129 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info214 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %129, i32 0, i32 1 + %_flags215 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info214, i32 0, i32 3 + store i32 %or213, i32* %_flags215, align 4 + %130 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %130, i32 0, i32 3 + store i32 1, i32* %num_data_args, align 8 + %131 = load i8*, i8** %p, align 8 + %132 = load i8, i8* %131, align 1 + %tobool216 = icmp ne i8 %132, 0 + br i1 %tobool216, label %if.end218, label %if.then217 + +if.then217: ; preds = %do.end202 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end218: ; preds = %do.end202 + %133 = load i32, i32* %maxposarg, align 4 + %cmp219 = icmp sgt i32 %133, 0 + br i1 %cmp219, label %if.then221, label %if.else265 + +if.then221: ; preds = %if.end218 + store i32 0, i32* %i, align 4 + br label %do.body222 + +do.body222: ; preds = %do.cond258, %if.then221 + %134 = load i32, i32* %i, align 4 + %cmp223 = icmp sle i32 %134, 2 + br i1 %cmp223, label %cond.true, label %cond.false + +cond.true: ; preds = %do.body222 + %135 = load i32, i32* %i, align 4 + %idxprom225 = sext i32 %135 to i64 + %arrayidx226 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 %idxprom225 + %136 = load i32, i32* %arrayidx226, align 4 + %conv227 = trunc i32 %136 to i8 + %137 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber228 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %137, i32 0, i32 5 + %138 = load i32, i32* %i, align 4 + %idxprom229 = sext i32 %138 to i64 + %arrayidx230 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber228, i64 0, i64 %idxprom229 + store i8 %conv227, i8* %arrayidx230, align 1 + %conv231 = zext i8 %conv227 to i32 + br label %cond.end + +cond.false: ; preds = %do.body222 + %arrayidx232 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 2 + %139 = load i32, i32* %arrayidx232, align 4 + %140 = load i32, i32* %i, align 4 + %sub233 = sub nsw i32 %140, 2 + %add234 = add nsw i32 %139, %sub233 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond235 = phi i32 [ %conv231, %cond.true ], [ %add234, %cond.false ] + store i32 %cond235, i32* %n, align 4 + %141 = load i32, i32* %n, align 4 + %142 = load i32, i32* %maxposarg, align 4 + %cmp236 = icmp sgt i32 %141, %142 + br i1 %cmp236, label %if.then238, label %if.end243 + +if.then238: ; preds = %cond.end + %143 = load i32, i32* %n, align 4 + store i32 %143, i32* %maxposarg, align 4 + %cmp239 = icmp sgt i32 %143, 9 + br i1 %cmp239, label %if.then241, label %if.end243 + +if.then241: ; preds = %if.then238 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end243: ; preds = %if.then238, %cond.end + %144 = load i32, i32* %n, align 4 + %dec = add nsw i32 %144, -1 + store i32 %dec, i32* %n, align 4 + %145 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype244 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %145, i32 0, i32 6 + %146 = load i32, i32* %n, align 4 + %idxprom245 = sext i32 %146 to i64 + %arrayidx246 = getelementptr inbounds [9 x i32], [9 x i32]* %argtype244, i64 0, i64 %idxprom245 + %147 = load i32, i32* %arrayidx246, align 4 + %148 = load i32, i32* %i, align 4 + %idxprom247 = sext i32 %148 to i64 + %arrayidx248 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 %idxprom247 + %149 = load i32, i32* %arrayidx248, align 4 + %call249 = call i32 @_is_equal_or_bigger_arg(i32 %147, i32 %149) #18 + %tobool250 = icmp ne i32 %call249, 0 + br i1 %tobool250, label %if.then251, label %do.cond258 + +if.then251: ; preds = %if.end243 + %150 = load i32, i32* %i, align 4 + %idxprom252 = sext i32 %150 to i64 + %arrayidx253 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 %idxprom252 + %151 = load i32, i32* %arrayidx253, align 4 + %152 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype254 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %152, i32 0, i32 6 + %153 = load i32, i32* %n, align 4 + %idxprom255 = sext i32 %153 to i64 + %arrayidx256 = getelementptr inbounds [9 x i32], [9 x i32]* %argtype254, i64 0, i64 %idxprom255 + store i32 %151, i32* %arrayidx256, align 4 + br label %do.cond258 + +do.cond258: ; preds = %if.end243, %if.then251 + %154 = load i32, i32* %i, align 4 + %inc259 = add nsw i32 %154, 1 + store i32 %inc259, i32* %i, align 4 + %155 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args260 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %155, i32 0, i32 3 + %156 = load i32, i32* %num_data_args260, align 8 + %add261 = add nsw i32 %156, 2 + %cmp262 = icmp slt i32 %inc259, %add261 + br i1 %cmp262, label %do.body222, label %if.end276 + +if.else265: ; preds = %if.end218 + %157 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber266 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %157, i32 0, i32 5 + %arrayidx267 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber266, i64 0, i64 2 + store i8 1, i8* %arrayidx267, align 2 + %158 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype268 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %158, i32 0, i32 6 + %arraydecay269 = getelementptr inbounds [9 x i32], [9 x i32]* %argtype268, i64 0, i64 0 + %159 = bitcast i32* %arraydecay269 to i8* + %arraydecay270 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 0 + %add.ptr271 = getelementptr inbounds i32, i32* %arraydecay270, i64 2 + %160 = bitcast i32* %add.ptr271 to i8* + %161 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args272 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %161, i32 0, i32 3 + %162 = load i32, i32* %num_data_args272, align 8 + %conv273 = sext i32 %162 to i64 + %mul274 = mul i64 %conv273, 4 + %call275 = call i8* @memcpy(i8* %159, i8* %160, i64 %mul274) #19 + br label %if.end276 + +if.end276: ; preds = %do.cond258, %if.else265 + %163 = load i32, i32* %maxposarg, align 4 + %164 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg277 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %164, i32 0, i32 2 + store i32 %163, i32* %maxposarg277, align 4 + %165 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info278 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %165, i32 0, i32 1 + %_flags279 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info278, i32 0, i32 3 + %166 = load i32, i32* %_flags279, align 4 + %and280 = and i32 %166, 128 + store i32 %and280, i32* %flags, align 4 + %cmp281 = icmp eq i32 %and280, 0 + br i1 %cmp281, label %if.then283, label %if.else286 + +if.then283: ; preds = %if.end276 + %167 = load i8*, i8** %fmt, align 8 + %incdec.ptr284 = getelementptr inbounds i8, i8* %167, i32 1 + store i8* %incdec.ptr284, i8** %fmt, align 8 + %168 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos285 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %168, i32 0, i32 0 + store i8* %incdec.ptr284, i8** %fmtpos285, align 8 + br label %if.end293 + +if.else286: ; preds = %if.end276 + %169 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos287 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %169, i32 0, i32 0 + %170 = load i8*, i8** %fmtpos287, align 8 + %171 = bitcast i8* %170 to i32* + %172 = load i8*, i8** %fmt, align 8 + %arraydecay288 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 0 + %sub.ptr.lhs.cast289 = ptrtoint i8* %172 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %arraydecay288 to i64 + %sub.ptr.sub290 = sub i64 %sub.ptr.lhs.cast289, %sub.ptr.rhs.cast + %add.ptr291 = getelementptr inbounds i32, i32* %171, i64 %sub.ptr.sub290 + %173 = bitcast i32* %add.ptr291 to i8* + %174 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos292 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %174, i32 0, i32 0 + store i8* %173, i8** %fmtpos292, align 8 + br label %if.end293 + +if.end293: ; preds = %if.else286, %if.then283 + %175 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args294 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %175, i32 0, i32 3 + %176 = load i32, i32* %num_data_args294, align 8 + %add295 = add nsw i32 %176, 2 + store i32 %add295, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end293, %if.then241, %if.then217, %if.then160, %if.then120, %if.then111, %if.then66, %if.then56, %if.then16 + %177 = load i32, i32* %retval, align 4 + ret i32 %177 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_is_equal_or_bigger_arg(i32 %curtype, i32 %newtype) #0 { +entry: + %retval = alloca i32, align 4 + %curtype.addr = alloca i32, align 4 + %newtype.addr = alloca i32, align 4 + store i32 %curtype, i32* %curtype.addr, align 4 + store i32 %newtype, i32* %newtype.addr, align 4 + %0 = load i32, i32* %newtype.addr, align 4 + %cmp = icmp eq i32 %0, 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %1 = load i32, i32* %curtype.addr, align 4 + %cmp1 = icmp eq i32 %1, 8 + br i1 %cmp1, label %if.then3, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %2 = load i32, i32* %curtype.addr, align 4 + %3 = load i32, i32* %newtype.addr, align 4 + %cmp2 = icmp eq i32 %2, %3 + br i1 %cmp2, label %if.then3, label %if.end4 + +if.then3: ; preds = %lor.lhs.false, %if.end + store i32 1, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %lor.lhs.false + %4 = load i32, i32* %curtype.addr, align 4 + %call = call i32 @_promoted_size(i32 %4) #18 + %5 = load i32, i32* %newtype.addr, align 4 + %call5 = call i32 @_promoted_size(i32 %5) #18 + %cmp6 = icmp sle i32 %call, %call5 + %conv = zext i1 %cmp6 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_promoted_size(i32 %argtype) #0 { +entry: + %argtype.addr = alloca i32, align 4 + %p = alloca i16*, align 8 + store i32 %argtype, i32* %argtype.addr, align 4 + store i16* getelementptr inbounds (i16, i16* getelementptr inbounds ([12 x i16], [12 x i16]* @type_codes, i64 0, i64 0), i64 12), i16** %p, align 8 + br label %do.body + +do.body: ; preds = %do.body, %entry + %0 = load i16*, i16** %p, align 8 + %incdec.ptr = getelementptr inbounds i16, i16* %0, i32 -1 + store i16* %incdec.ptr, i16** %p, align 8 + %1 = load i16, i16* %incdec.ptr, align 2 + %conv = sext i16 %1 to i32 + %2 = load i32, i32* %argtype.addr, align 4 + %cmp = icmp ne i32 %conv, %2 + %3 = load i16*, i16** %p, align 8 + %cmp2 = icmp ugt i16* %3, getelementptr inbounds ([12 x i16], [12 x i16]* @type_codes, i64 0, i64 0) + %or.cond = and i1 %cmp, %cmp2 + br i1 %or.cond, label %do.body, label %do.end + +do.end: ; preds = %do.body + %4 = load i16*, i16** %p, align 8 + %sub.ptr.lhs.cast = ptrtoint i16* %4 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, ptrtoint ([12 x i16]* @type_codes to i64) + %sub.ptr.div = sdiv exact i64 %sub.ptr.sub, 2 + %conv4 = trunc i64 %sub.ptr.div to i32 + %idxprom = sext i32 %conv4 to i64 + %arrayidx = getelementptr inbounds [12 x i8], [12 x i8]* @type_sizes, i64 0, i64 %idxprom + %5 = load i8, i8* %arrayidx, align 1 + %conv5 = zext i8 %5 to i32 + ret i32 %conv5 +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_ppfs_prepargs(%struct.ppfs_t.722* %ppfs, %struct.__va_list_tag.0* %arg) #0 { +entry: + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %arg.addr = alloca %struct.__va_list_tag.0*, align 8 + %i = alloca i32, align 4 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store %struct.__va_list_tag.0* %arg, %struct.__va_list_tag.0** %arg.addr, align 8 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg1 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %0, i32 0, i32 7 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg1, i64 0, i64 0 + %1 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %arg.addr, align 8 + %2 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + %3 = bitcast %struct.__va_list_tag.0* %1 to i8* + %vacopy.cast.dst = bitcast i8* %2 to i64* + %vacopy.cast.src = bitcast i8* %3 to i64* + %4 = load i64, i64* %vacopy.cast.src, align 8 + store volatile i64 %4, i64* %vacopy.cast.dst, align 8 + %5 = getelementptr i64, i64* %vacopy.cast.dst, i64 1 + %6 = getelementptr i64, i64* %vacopy.cast.src, i64 1 + %7 = load i64, i64* %6, align 8 + store i64 %7, i64* %5, align 8 + %8 = getelementptr i64, i64* %5, i64 1 + %9 = getelementptr i64, i64* %6, i64 1 + %10 = load i64, i64* %9, align 8 + store i64 %10, i64* %8, align 8 + %11 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %11, i32 0, i32 2 + %12 = load i32, i32* %maxposarg, align 4 + store i32 %12, i32* %i, align 4 + %cmp = icmp sgt i32 %12, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %13 = load i32, i32* %i, align 4 + %14 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %14, i32 0, i32 3 + store i32 %13, i32* %num_data_args, align 8 + %15 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg2 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %15, i32 0, i32 2 + store i32 0, i32* %maxposarg2, align 4 + %16 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %16, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 0 + store i32 0, i32* %prec, align 8 + %17 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info3 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %17, i32 0, i32 1 + %width = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info3, i32 0, i32 1 + store i32 0, i32* %width, align 4 + %18 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + call void @_ppfs_setargs(%struct.ppfs_t.722* %18) #18 + %19 = load i32, i32* %i, align 4 + %20 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg4 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %20, i32 0, i32 2 + store i32 %19, i32* %maxposarg4, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + ret void +} + +; Function Attrs: nounwind +declare void @llvm.va_copy(i8*, i8*) #11 + +; Function Attrs: noinline nounwind uwtable +define hidden void @_ppfs_setargs(%struct.ppfs_t.722* %ppfs) #0 { +entry: + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %p = alloca %union.anon.193*, align 8 + %i = alloca i32, align 4 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argvalue = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %0, i32 0, i32 8 + %arraydecay = getelementptr inbounds [9 x %union.anon.193], [9 x %union.anon.193]* %argvalue, i64 0, i64 0 + store %union.anon.193* %arraydecay, %union.anon.193** %p, align 8 + %1 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %1, i32 0, i32 2 + %2 = load i32, i32* %maxposarg, align 4 + %cmp = icmp eq i32 %2, 0 + %3 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %3, i32 0, i32 1 + %width = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 1 + %4 = load i32, i32* %width, align 4 + %cmp1 = icmp eq i32 %4, -2147483648 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + br i1 %cmp1, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + %5 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %5, i32 0, i32 7 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 8 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then2 + %6 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 3 + %reg_save_area = load i8*, i8** %6, align 8 + %7 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %8 = bitcast i8* %7 to i32* + %9 = add i32 %gp_offset, 8 + store i32 %9, i32* %gp_offset_p, align 8 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then2 + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %10 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %8, %vaarg.in_reg ], [ %10, %vaarg.in_mem ] + %11 = load i32, i32* %vaarg.addr, align 4 + %12 = load %union.anon.193*, %union.anon.193** %p, align 8 + %u = bitcast %union.anon.193* %12 to i32* + store i32 %11, i32* %u, align 8 + %13 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info4 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %13, i32 0, i32 1 + %width5 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info4, i32 0, i32 1 + store i32 %11, i32* %width5, align 4 + br label %if.end + +if.end: ; preds = %vaarg.end, %if.then + %14 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info6 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %14, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info6, i32 0, i32 0 + %15 = load i32, i32* %prec, align 8 + %cmp7 = icmp eq i32 %15, -2147483648 + br i1 %cmp7, label %if.then8, label %if.end25 + +if.then8: ; preds = %if.end + %16 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg9 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %16, i32 0, i32 7 + %arraydecay10 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg9, i64 0, i64 0 + %gp_offset_p11 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay10, i32 0, i32 0 + %gp_offset12 = load i32, i32* %gp_offset_p11, align 8 + %fits_in_gp13 = icmp ule i32 %gp_offset12, 40 + br i1 %fits_in_gp13, label %vaarg.in_reg14, label %vaarg.in_mem16 + +vaarg.in_reg14: ; preds = %if.then8 + %17 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay10, i32 0, i32 3 + %reg_save_area15 = load i8*, i8** %17, align 8 + %18 = getelementptr i8, i8* %reg_save_area15, i32 %gp_offset12 + %19 = bitcast i8* %18 to i32* + %20 = add i32 %gp_offset12, 8 + store i32 %20, i32* %gp_offset_p11, align 8 + br label %vaarg.end20 + +vaarg.in_mem16: ; preds = %if.then8 + %overflow_arg_area_p17 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay10, i32 0, i32 2 + %overflow_arg_area18 = load i8*, i8** %overflow_arg_area_p17, align 8 + %21 = bitcast i8* %overflow_arg_area18 to i32* + %overflow_arg_area.next19 = getelementptr i8, i8* %overflow_arg_area18, i32 8 + store i8* %overflow_arg_area.next19, i8** %overflow_arg_area_p17, align 8 + br label %vaarg.end20 + +vaarg.end20: ; preds = %vaarg.in_mem16, %vaarg.in_reg14 + %vaarg.addr21 = phi i32* [ %19, %vaarg.in_reg14 ], [ %21, %vaarg.in_mem16 ] + %22 = load i32, i32* %vaarg.addr21, align 4 + %23 = load %union.anon.193*, %union.anon.193** %p, align 8 + %u22 = bitcast %union.anon.193* %23 to i32* + store i32 %22, i32* %u22, align 8 + %24 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info23 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %24, i32 0, i32 1 + %prec24 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info23, i32 0, i32 0 + store i32 %22, i32* %prec24, align 8 + br label %if.end25 + +if.end25: ; preds = %vaarg.end20, %if.end + store i32 0, i32* %i, align 4 + br label %while.cond + +while.cond: ; preds = %NodeBlock, %sw.epilog, %if.end25 + %25 = load i32, i32* %i, align 4 + %26 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %26, i32 0, i32 3 + %27 = load i32, i32* %num_data_args, align 8 + %cmp26 = icmp slt i32 %25, %27 + br i1 %cmp26, label %while.body, label %if.end149 + +while.body: ; preds = %while.cond + %28 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %28, i32 0, i32 6 + %29 = load i32, i32* %i, align 4 + %inc = add nsw i32 %29, 1 + store i32 %inc, i32* %i, align 4 + %idxprom = sext i32 %29 to i64 + %arrayidx = getelementptr inbounds [9 x i32], [9 x i32]* %argtype, i64 0, i64 %idxprom + %30 = load i32, i32* %arrayidx, align 4 + br label %NodeBlock17 + +NodeBlock17: ; preds = %while.body + %case.cmp18 = icmp eq i32 %30, 2048 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %30, 1024 + br i1 %case.cmp16, label %sw.bb40, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %30, 1 + br i1 %case.cmp14, label %sw.bb54, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %30, 256 + br i1 %case.cmp12, label %sw.bb54, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %30, 512 + br i1 %case.cmp10, label %sw.bb54, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %30, 0 + br i1 %case.cmp8, label %sw.bb54, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %30, 2 + br i1 %case.cmp6, label %sw.bb69, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %30, 7 + br i1 %case.cmp4, label %sw.bb83, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %30, 2055 + br i1 %case.cmp2, label %sw.bb94, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %30, 8 + br i1 %case.cmp, label %while.cond, label %newDefault + +sw.bb: ; preds = %NodeBlock17 + %31 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg27 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %31, i32 0, i32 7 + %arraydecay28 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg27, i64 0, i64 0 + %gp_offset_p29 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay28, i32 0, i32 0 + %gp_offset30 = load i32, i32* %gp_offset_p29, align 8 + %fits_in_gp31 = icmp ule i32 %gp_offset30, 40 + br i1 %fits_in_gp31, label %vaarg.in_reg32, label %vaarg.in_mem34 + +vaarg.in_reg32: ; preds = %sw.bb + %32 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay28, i32 0, i32 3 + %reg_save_area33 = load i8*, i8** %32, align 8 + %33 = getelementptr i8, i8* %reg_save_area33, i32 %gp_offset30 + %34 = bitcast i8* %33 to i64* + %35 = add i32 %gp_offset30, 8 + store i32 %35, i32* %gp_offset_p29, align 8 + br label %vaarg.end38 + +vaarg.in_mem34: ; preds = %sw.bb + %overflow_arg_area_p35 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay28, i32 0, i32 2 + %overflow_arg_area36 = load i8*, i8** %overflow_arg_area_p35, align 8 + %36 = bitcast i8* %overflow_arg_area36 to i64* + %overflow_arg_area.next37 = getelementptr i8, i8* %overflow_arg_area36, i32 8 + store i8* %overflow_arg_area.next37, i8** %overflow_arg_area_p35, align 8 + br label %vaarg.end38 + +vaarg.end38: ; preds = %vaarg.in_mem34, %vaarg.in_reg32 + %vaarg.addr39 = phi i64* [ %34, %vaarg.in_reg32 ], [ %36, %vaarg.in_mem34 ] + %37 = load i64, i64* %vaarg.addr39, align 8 + %38 = load %union.anon.193*, %union.anon.193** %p, align 8 + %ull = bitcast %union.anon.193* %38 to i64* + store i64 %37, i64* %ull, align 8 + br label %sw.epilog + +sw.bb40: ; preds = %NodeBlock15 + %39 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg41 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %39, i32 0, i32 7 + %arraydecay42 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg41, i64 0, i64 0 + %gp_offset_p43 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay42, i32 0, i32 0 + %gp_offset44 = load i32, i32* %gp_offset_p43, align 8 + %fits_in_gp45 = icmp ule i32 %gp_offset44, 40 + br i1 %fits_in_gp45, label %vaarg.in_reg46, label %vaarg.in_mem48 + +vaarg.in_reg46: ; preds = %sw.bb40 + %40 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay42, i32 0, i32 3 + %reg_save_area47 = load i8*, i8** %40, align 8 + %41 = getelementptr i8, i8* %reg_save_area47, i32 %gp_offset44 + %42 = bitcast i8* %41 to i64* + %43 = add i32 %gp_offset44, 8 + store i32 %43, i32* %gp_offset_p43, align 8 + br label %vaarg.end52 + +vaarg.in_mem48: ; preds = %sw.bb40 + %overflow_arg_area_p49 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay42, i32 0, i32 2 + %overflow_arg_area50 = load i8*, i8** %overflow_arg_area_p49, align 8 + %44 = bitcast i8* %overflow_arg_area50 to i64* + %overflow_arg_area.next51 = getelementptr i8, i8* %overflow_arg_area50, i32 8 + store i8* %overflow_arg_area.next51, i8** %overflow_arg_area_p49, align 8 + br label %vaarg.end52 + +vaarg.end52: ; preds = %vaarg.in_mem48, %vaarg.in_reg46 + %vaarg.addr53 = phi i64* [ %42, %vaarg.in_reg46 ], [ %44, %vaarg.in_mem48 ] + %45 = load i64, i64* %vaarg.addr53, align 8 + %46 = load %union.anon.193*, %union.anon.193** %p, align 8 + %ul = bitcast %union.anon.193* %46 to i64* + store i64 %45, i64* %ul, align 8 + br label %sw.epilog + +sw.bb54: ; preds = %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7 + %47 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg55 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %47, i32 0, i32 7 + %arraydecay56 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg55, i64 0, i64 0 + %gp_offset_p57 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay56, i32 0, i32 0 + %gp_offset58 = load i32, i32* %gp_offset_p57, align 8 + %fits_in_gp59 = icmp ule i32 %gp_offset58, 40 + br i1 %fits_in_gp59, label %vaarg.in_reg60, label %vaarg.in_mem62 + +vaarg.in_reg60: ; preds = %sw.bb54 + %48 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay56, i32 0, i32 3 + %reg_save_area61 = load i8*, i8** %48, align 8 + %49 = getelementptr i8, i8* %reg_save_area61, i32 %gp_offset58 + %50 = bitcast i8* %49 to i32* + %51 = add i32 %gp_offset58, 8 + store i32 %51, i32* %gp_offset_p57, align 8 + br label %vaarg.end66 + +vaarg.in_mem62: ; preds = %sw.bb54 + %overflow_arg_area_p63 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay56, i32 0, i32 2 + %overflow_arg_area64 = load i8*, i8** %overflow_arg_area_p63, align 8 + %52 = bitcast i8* %overflow_arg_area64 to i32* + %overflow_arg_area.next65 = getelementptr i8, i8* %overflow_arg_area64, i32 8 + store i8* %overflow_arg_area.next65, i8** %overflow_arg_area_p63, align 8 + br label %vaarg.end66 + +vaarg.end66: ; preds = %vaarg.in_mem62, %vaarg.in_reg60 + %vaarg.addr67 = phi i32* [ %50, %vaarg.in_reg60 ], [ %52, %vaarg.in_mem62 ] + %53 = load i32, i32* %vaarg.addr67, align 4 + %54 = load %union.anon.193*, %union.anon.193** %p, align 8 + %u68 = bitcast %union.anon.193* %54 to i32* + store i32 %53, i32* %u68, align 8 + br label %sw.epilog + +sw.bb69: ; preds = %NodeBlock5 + %55 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg70 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %55, i32 0, i32 7 + %arraydecay71 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg70, i64 0, i64 0 + %gp_offset_p72 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay71, i32 0, i32 0 + %gp_offset73 = load i32, i32* %gp_offset_p72, align 8 + %fits_in_gp74 = icmp ule i32 %gp_offset73, 40 + br i1 %fits_in_gp74, label %vaarg.in_reg75, label %vaarg.in_mem77 + +vaarg.in_reg75: ; preds = %sw.bb69 + %56 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay71, i32 0, i32 3 + %reg_save_area76 = load i8*, i8** %56, align 8 + %57 = getelementptr i8, i8* %reg_save_area76, i32 %gp_offset73 + %58 = bitcast i8* %57 to i32* + %59 = add i32 %gp_offset73, 8 + store i32 %59, i32* %gp_offset_p72, align 8 + br label %vaarg.end81 + +vaarg.in_mem77: ; preds = %sw.bb69 + %overflow_arg_area_p78 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay71, i32 0, i32 2 + %overflow_arg_area79 = load i8*, i8** %overflow_arg_area_p78, align 8 + %60 = bitcast i8* %overflow_arg_area79 to i32* + %overflow_arg_area.next80 = getelementptr i8, i8* %overflow_arg_area79, i32 8 + store i8* %overflow_arg_area.next80, i8** %overflow_arg_area_p78, align 8 + br label %vaarg.end81 + +vaarg.end81: ; preds = %vaarg.in_mem77, %vaarg.in_reg75 + %vaarg.addr82 = phi i32* [ %58, %vaarg.in_reg75 ], [ %60, %vaarg.in_mem77 ] + %61 = load i32, i32* %vaarg.addr82, align 4 + %62 = load %union.anon.193*, %union.anon.193** %p, align 8 + %wc = bitcast %union.anon.193* %62 to i32* + store i32 %61, i32* %wc, align 8 + br label %sw.epilog + +sw.bb83: ; preds = %NodeBlock3 + %63 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg84 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %63, i32 0, i32 7 + %arraydecay85 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg84, i64 0, i64 0 + %fp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay85, i32 0, i32 1 + %fp_offset = load i32, i32* %fp_offset_p, align 4 + %fits_in_fp = icmp ule i32 %fp_offset, 160 + br i1 %fits_in_fp, label %vaarg.in_reg86, label %vaarg.in_mem88 + +vaarg.in_reg86: ; preds = %sw.bb83 + %64 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay85, i32 0, i32 3 + %reg_save_area87 = load i8*, i8** %64, align 8 + %65 = getelementptr i8, i8* %reg_save_area87, i32 %fp_offset + %66 = bitcast i8* %65 to double* + %67 = add i32 %fp_offset, 16 + store i32 %67, i32* %fp_offset_p, align 4 + br label %vaarg.end92 + +vaarg.in_mem88: ; preds = %sw.bb83 + %overflow_arg_area_p89 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay85, i32 0, i32 2 + %overflow_arg_area90 = load i8*, i8** %overflow_arg_area_p89, align 8 + %68 = bitcast i8* %overflow_arg_area90 to double* + %overflow_arg_area.next91 = getelementptr i8, i8* %overflow_arg_area90, i32 8 + store i8* %overflow_arg_area.next91, i8** %overflow_arg_area_p89, align 8 + br label %vaarg.end92 + +vaarg.end92: ; preds = %vaarg.in_mem88, %vaarg.in_reg86 + %vaarg.addr93 = phi double* [ %66, %vaarg.in_reg86 ], [ %68, %vaarg.in_mem88 ] + %69 = load double, double* %vaarg.addr93, align 8 + %70 = load %union.anon.193*, %union.anon.193** %p, align 8 + %d = bitcast %union.anon.193* %70 to double* + store double %69, double* %d, align 8 + br label %sw.epilog + +sw.bb94: ; preds = %NodeBlock1 + %71 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg95 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %71, i32 0, i32 7 + %arraydecay96 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg95, i64 0, i64 0 + %fp_offset_p97 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay96, i32 0, i32 1 + %fp_offset98 = load i32, i32* %fp_offset_p97, align 4 + %fits_in_fp99 = icmp ule i32 %fp_offset98, 160 + br i1 %fits_in_fp99, label %vaarg.in_reg100, label %vaarg.in_mem102 + +vaarg.in_reg100: ; preds = %sw.bb94 + %72 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay96, i32 0, i32 3 + %reg_save_area101 = load i8*, i8** %72, align 8 + %73 = getelementptr i8, i8* %reg_save_area101, i32 %fp_offset98 + %74 = bitcast i8* %73 to double* + %75 = add i32 %fp_offset98, 16 + store i32 %75, i32* %fp_offset_p97, align 4 + br label %vaarg.end106 + +vaarg.in_mem102: ; preds = %sw.bb94 + %overflow_arg_area_p103 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay96, i32 0, i32 2 + %overflow_arg_area104 = load i8*, i8** %overflow_arg_area_p103, align 8 + %76 = bitcast i8* %overflow_arg_area104 to double* + %overflow_arg_area.next105 = getelementptr i8, i8* %overflow_arg_area104, i32 8 + store i8* %overflow_arg_area.next105, i8** %overflow_arg_area_p103, align 8 + br label %vaarg.end106 + +vaarg.end106: ; preds = %vaarg.in_mem102, %vaarg.in_reg100 + %vaarg.addr107 = phi double* [ %74, %vaarg.in_reg100 ], [ %76, %vaarg.in_mem102 ] + %77 = load double, double* %vaarg.addr107, align 8 + %78 = load %union.anon.193*, %union.anon.193** %p, align 8 + %ld = bitcast %union.anon.193* %78 to double* + store double %77, double* %ld, align 8 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.bb108 + +sw.bb108: ; preds = %newDefault + %79 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg109 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %79, i32 0, i32 7 + %arraydecay110 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg109, i64 0, i64 0 + %gp_offset_p111 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay110, i32 0, i32 0 + %gp_offset112 = load i32, i32* %gp_offset_p111, align 8 + %fits_in_gp113 = icmp ule i32 %gp_offset112, 40 + br i1 %fits_in_gp113, label %vaarg.in_reg114, label %vaarg.in_mem116 + +vaarg.in_reg114: ; preds = %sw.bb108 + %80 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay110, i32 0, i32 3 + %reg_save_area115 = load i8*, i8** %80, align 8 + %81 = getelementptr i8, i8* %reg_save_area115, i32 %gp_offset112 + %82 = bitcast i8* %81 to i8** + %83 = add i32 %gp_offset112, 8 + store i32 %83, i32* %gp_offset_p111, align 8 + br label %vaarg.end120 + +vaarg.in_mem116: ; preds = %sw.bb108 + %overflow_arg_area_p117 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay110, i32 0, i32 2 + %overflow_arg_area118 = load i8*, i8** %overflow_arg_area_p117, align 8 + %84 = bitcast i8* %overflow_arg_area118 to i8** + %overflow_arg_area.next119 = getelementptr i8, i8* %overflow_arg_area118, i32 8 + store i8* %overflow_arg_area.next119, i8** %overflow_arg_area_p117, align 8 + br label %vaarg.end120 + +vaarg.end120: ; preds = %vaarg.in_mem116, %vaarg.in_reg114 + %vaarg.addr121 = phi i8** [ %82, %vaarg.in_reg114 ], [ %84, %vaarg.in_mem116 ] + %85 = load i8*, i8** %vaarg.addr121, align 8 + %86 = load %union.anon.193*, %union.anon.193** %p, align 8 + %p122 = bitcast %union.anon.193* %86 to i8** + store i8* %85, i8** %p122, align 8 + br label %sw.epilog + +sw.epilog: ; preds = %vaarg.end120, %vaarg.end106, %vaarg.end92, %vaarg.end81, %vaarg.end66, %vaarg.end52, %vaarg.end38 + %87 = load %union.anon.193*, %union.anon.193** %p, align 8 + %incdec.ptr = getelementptr inbounds %union.anon.193, %union.anon.193* %87, i32 1 + store %union.anon.193* %incdec.ptr, %union.anon.193** %p, align 8 + br label %while.cond + +if.else: ; preds = %entry + br i1 %cmp1, label %if.then127, label %if.end133 + +if.then127: ; preds = %if.else + %88 = load %union.anon.193*, %union.anon.193** %p, align 8 + %89 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %89, i32 0, i32 5 + %arrayidx128 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber, i64 0, i64 0 + %90 = load i8, i8* %arrayidx128, align 8 + %conv = zext i8 %90 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds %union.anon.193, %union.anon.193* %88, i64 %idx.ext + %add.ptr129 = getelementptr inbounds %union.anon.193, %union.anon.193* %add.ptr, i64 -1 + %u130 = bitcast %union.anon.193* %add.ptr129 to i32* + %91 = load i32, i32* %u130, align 8 + %92 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info131 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %92, i32 0, i32 1 + %width132 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info131, i32 0, i32 1 + store i32 %91, i32* %width132, align 4 + br label %if.end133 + +if.end133: ; preds = %if.then127, %if.else + %93 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info134 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %93, i32 0, i32 1 + %prec135 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info134, i32 0, i32 0 + %94 = load i32, i32* %prec135, align 8 + %cmp136 = icmp eq i32 %94, -2147483648 + br i1 %cmp136, label %if.then138, label %if.end149 + +if.then138: ; preds = %if.end133 + %95 = load %union.anon.193*, %union.anon.193** %p, align 8 + %96 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber139 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %96, i32 0, i32 5 + %arrayidx140 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber139, i64 0, i64 1 + %97 = load i8, i8* %arrayidx140, align 1 + %conv141 = zext i8 %97 to i32 + %idx.ext142 = sext i32 %conv141 to i64 + %add.ptr143 = getelementptr inbounds %union.anon.193, %union.anon.193* %95, i64 %idx.ext142 + %add.ptr144 = getelementptr inbounds %union.anon.193, %union.anon.193* %add.ptr143, i64 -1 + %u145 = bitcast %union.anon.193* %add.ptr144 to i32* + %98 = load i32, i32* %u145, align 8 + %99 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info146 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %99, i32 0, i32 1 + %prec147 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info146, i32 0, i32 0 + store i32 %98, i32* %prec147, align 8 + br label %if.end149 + +if.end149: ; preds = %if.end133, %if.then138, %while.cond + %100 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info150 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %100, i32 0, i32 1 + %width151 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info150, i32 0, i32 1 + %101 = load i32, i32* %width151, align 4 + %cmp152 = icmp slt i32 %101, 0 + br i1 %cmp152, label %if.then154, label %if.end163 + +if.then154: ; preds = %if.end149 + %102 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info155 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %102, i32 0, i32 1 + %width156 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info155, i32 0, i32 1 + %103 = load i32, i32* %width156, align 4 + %sub = sub nsw i32 0, %103 + %104 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info157 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %104, i32 0, i32 1 + %width158 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info157, i32 0, i32 1 + store i32 %sub, i32* %width158, align 4 + %105 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info159 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %105, i32 0, i32 1 + %_flags = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info159, i32 0, i32 3 + %106 = load i32, i32* %_flags, align 4 + %or = or i32 %106, 8 + store i32 %or, i32* %_flags, align 4 + %107 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info160 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %107, i32 0, i32 1 + %_flags161 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info160, i32 0, i32 3 + %108 = load i32, i32* %_flags161, align 4 + %and = and i32 %108, -2 + store i32 %and, i32* %_flags161, align 4 + %109 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info162 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %109, i32 0, i32 1 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info162, i32 0, i32 4 + store i32 32, i32* %pad, align 8 + br label %if.end163 + +if.end163: ; preds = %if.then154, %if.end149 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_store_inttype(i8* %dest, i32 %desttype, i64 %val) #0 { +entry: + %dest.addr = alloca i8*, align 8 + %desttype.addr = alloca i32, align 4 + %val.addr = alloca i64, align 8 + store i8* %dest, i8** %dest.addr, align 8 + store i32 %desttype, i32* %desttype.addr, align 4 + store i64 %val, i64* %val.addr, align 8 + %0 = load i32, i32* %desttype.addr, align 4 + %cmp = icmp eq i32 %0, 256 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load i64, i64* %val.addr, align 8 + %conv = trunc i64 %1 to i8 + %2 = load i8*, i8** %dest.addr, align 8 + store i8 %conv, i8* %2, align 1 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* %desttype.addr, align 4 + %cmp1 = icmp eq i32 %3, 2048 + br i1 %cmp1, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.end + %4 = load i64, i64* %val.addr, align 8 + %5 = load i8*, i8** %dest.addr, align 8 + %6 = bitcast i8* %5 to i64* + store i64 %4, i64* %6, align 8 + br label %return + +if.end4: ; preds = %if.end + %7 = load i32, i32* %desttype.addr, align 4 + %cmp5 = icmp eq i32 %7, 512 + br i1 %cmp5, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end4 + %8 = load i64, i64* %val.addr, align 8 + %conv8 = trunc i64 %8 to i16 + %9 = load i8*, i8** %dest.addr, align 8 + %10 = bitcast i8* %9 to i16* + store i16 %conv8, i16* %10, align 2 + br label %return + +if.end9: ; preds = %if.end4 + %11 = load i32, i32* %desttype.addr, align 4 + %cmp10 = icmp eq i32 %11, 1024 + %12 = load i64, i64* %val.addr, align 8 + br i1 %cmp10, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.end9 + %13 = load i8*, i8** %dest.addr, align 8 + %14 = bitcast i8* %13 to i64* + store i64 %12, i64* %14, align 8 + br label %return + +if.end13: ; preds = %if.end9 + %conv14 = trunc i64 %12 to i32 + %15 = load i8*, i8** %dest.addr, align 8 + %16 = bitcast i8* %15 to i32* + store i32 %conv14, i32* %16, align 4 + br label %return + +return: ; preds = %if.end13, %if.then12, %if.then7, %if.then3, %if.then + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden i8* @_uintmaxtostr(i8* noalias %bufend, i64 %uval, i32 %base, i32 %alphacase) #0 { +entry: + %bufend.addr = alloca i8*, align 8 + %uval.addr = alloca i64, align 8 + %base.addr = alloca i32, align 4 + %alphacase.addr = alloca i32, align 4 + %negative = alloca i32, align 4 + %digit = alloca i32, align 4 + %H = alloca i32, align 4 + %L = alloca i32, align 4 + %high = alloca i32, align 4 + %low = alloca i32, align 4 + %rh = alloca i32, align 4 + %grouping = alloca i32, align 4 + %outdigit = alloca i32, align 4 + %g = alloca i8*, align 8 + store i8* %bufend, i8** %bufend.addr, align 8 + store i64 %uval, i64* %uval.addr, align 8 + store i32 %base, i32* %base.addr, align 4 + store i32 %alphacase, i32* %alphacase.addr, align 4 + store i32 0, i32* %negative, align 4 + %0 = load i32, i32* %base.addr, align 4 + %cmp = icmp slt i32 %0, 0 + br i1 %cmp, label %if.then, label %if.end4 + +if.then: ; preds = %entry + %1 = load i32, i32* %base.addr, align 4 + %sub = sub nsw i32 0, %1 + store i32 %sub, i32* %base.addr, align 4 + %2 = load i64, i64* %uval.addr, align 8 + %cmp1 = icmp ugt i64 %2, 9223372036854775807 + br i1 %cmp1, label %if.then2, label %if.end4 + +if.then2: ; preds = %if.then + %3 = load i64, i64* %uval.addr, align 8 + %sub3 = sub i64 0, %3 + store i64 %sub3, i64* %uval.addr, align 8 + store i32 1, i32* %negative, align 4 + br label %if.end4 + +if.end4: ; preds = %if.then, %if.then2, %entry + store i32 -1, i32* %grouping, align 4 + %4 = load i32, i32* %alphacase.addr, align 4 + %and = and i32 128, %4 + store i32 %and, i32* %outdigit, align 4 + %5 = load i32, i32* %outdigit, align 4 + %6 = load i32, i32* %alphacase.addr, align 4 + %xor = xor i32 %6, %5 + store i32 %xor, i32* %alphacase.addr, align 4 + %7 = load i32, i32* %alphacase.addr, align 4 + %cmp5 = icmp eq i32 %7, 44 + br i1 %cmp5, label %if.then6, label %if.end10 + +if.then6: ; preds = %if.end4 + %8 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %grouping7 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %8, i32 0, i32 41 + %9 = load i8*, i8** %grouping7, align 8 + store i8* %9, i8** %g, align 8 + %10 = load i8, i8* %9, align 1 + %tobool = icmp ne i8 %10, 0 + br i1 %tobool, label %if.then8, label %if.end10 + +if.then8: ; preds = %if.then6 + %11 = load i8*, i8** %g, align 8 + %12 = load i8, i8* %11, align 1 + %conv = sext i8 %12 to i32 + store i32 %conv, i32* %grouping, align 4 + br label %if.end10 + +if.end10: ; preds = %if.then6, %if.then8, %if.end4 + %13 = load i8*, i8** %bufend.addr, align 8 + store i8 0, i8* %13, align 1 + %14 = load i32, i32* %base.addr, align 4 + %div = udiv i32 -1, %14 + store i32 %div, i32* %H, align 4 + %15 = load i32, i32* %base.addr, align 4 + %rem = urem i32 -1, %15 + %add = add i32 %rem, 1 + store i32 %add, i32* %L, align 4 + %16 = load i32, i32* %L, align 4 + %17 = load i32, i32* %base.addr, align 4 + %cmp11 = icmp eq i32 %16, %17 + br i1 %cmp11, label %if.then13, label %if.end14 + +if.then13: ; preds = %if.end10 + %18 = load i32, i32* %H, align 4 + %inc = add i32 %18, 1 + store i32 %inc, i32* %H, align 4 + store i32 0, i32* %L, align 4 + br label %if.end14 + +if.end14: ; preds = %if.then13, %if.end10 + %19 = load i64, i64* %uval.addr, align 8 + %conv15 = trunc i64 %19 to i32 + store i32 %conv15, i32* %low, align 4 + %20 = load i64, i64* %uval.addr, align 8 + %shr = lshr i64 %20, 32 + %conv16 = trunc i64 %shr to i32 + store i32 %conv16, i32* %high, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %if.end14 + %21 = load i32, i32* %grouping, align 4 + %tobool17 = icmp ne i32 %21, 0 + br i1 %tobool17, label %if.end27, label %if.then18 + +if.then18: ; preds = %do.body + %22 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %thousands_sep_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %22, i32 0, i32 27 + %23 = load i32, i32* %thousands_sep_len, align 4 + %24 = load i8*, i8** %bufend.addr, align 8 + %idx.ext = sext i32 %23 to i64 + %idx.neg = sub i64 0, %idx.ext + %add.ptr = getelementptr inbounds i8, i8* %24, i64 %idx.neg + store i8* %add.ptr, i8** %bufend.addr, align 8 + %25 = load i8*, i8** %bufend.addr, align 8 + %26 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %thousands_sep = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %26, i32 0, i32 40 + %27 = load i8*, i8** %thousands_sep, align 8 + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %thousands_sep_len19 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %28, i32 0, i32 27 + %29 = load i32, i32* %thousands_sep_len19, align 4 + %conv20 = sext i32 %29 to i64 + %call = call i8* @memcpy(i8* %25, i8* %27, i64 %conv20) #19 + %30 = load i8*, i8** %g, align 8 + %arrayidx = getelementptr inbounds i8, i8* %30, i64 1 + %31 = load i8, i8* %arrayidx, align 1 + %conv21 = sext i8 %31 to i32 + %cmp22 = icmp ne i32 %conv21, 0 + br i1 %cmp22, label %if.then24, label %if.end25 + +if.then24: ; preds = %if.then18 + %32 = load i8*, i8** %g, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %32, i32 1 + store i8* %incdec.ptr, i8** %g, align 8 + br label %if.end25 + +if.end25: ; preds = %if.then24, %if.then18 + %33 = load i8*, i8** %g, align 8 + %34 = load i8, i8* %33, align 1 + %conv26 = sext i8 %34 to i32 + store i32 %conv26, i32* %grouping, align 4 + br label %if.end27 + +if.end27: ; preds = %if.end25, %do.body + %35 = load i32, i32* %grouping, align 4 + %dec = add nsw i32 %35, -1 + store i32 %dec, i32* %grouping, align 4 + %36 = load i32, i32* %high, align 4 + %tobool28 = icmp ne i32 %36, 0 + %lnot = xor i1 %tobool28, true + %lnot29 = xor i1 %lnot, true + %lnot.ext = zext i1 %lnot29 to i32 + %conv30 = sext i32 %lnot.ext to i64 + %tobool31 = icmp ne i64 %conv30, 0 + br i1 %tobool31, label %if.then32, label %if.else + +if.then32: ; preds = %if.end27 + %37 = load i32, i32* %high, align 4 + %38 = load i32, i32* %base.addr, align 4 + %rem33 = urem i32 %37, %38 + store i32 %rem33, i32* %rh, align 4 + %39 = load i32, i32* %base.addr, align 4 + %40 = load i32, i32* %high, align 4 + %div34 = udiv i32 %40, %39 + store i32 %div34, i32* %high, align 4 + %41 = load i32, i32* %low, align 4 + %42 = load i32, i32* %base.addr, align 4 + %rem35 = urem i32 %41, %42 + %43 = load i32, i32* %L, align 4 + %44 = load i32, i32* %rh, align 4 + %mul = mul i32 %43, %44 + %add36 = add i32 %rem35, %mul + store i32 %add36, i32* %digit, align 4 + %45 = load i32, i32* %low, align 4 + %46 = load i32, i32* %base.addr, align 4 + %div37 = udiv i32 %45, %46 + %47 = load i32, i32* %H, align 4 + %48 = load i32, i32* %rh, align 4 + %mul38 = mul i32 %47, %48 + %add39 = add i32 %div37, %mul38 + %49 = load i32, i32* %digit, align 4 + %50 = load i32, i32* %base.addr, align 4 + %div40 = udiv i32 %49, %50 + %add41 = add i32 %add39, %div40 + store i32 %add41, i32* %low, align 4 + %51 = load i32, i32* %base.addr, align 4 + %52 = load i32, i32* %digit, align 4 + %rem42 = urem i32 %52, %51 + store i32 %rem42, i32* %digit, align 4 + br label %if.end45 + +if.else: ; preds = %if.end27 + %53 = load i32, i32* %low, align 4 + %54 = load i32, i32* %base.addr, align 4 + %rem43 = urem i32 %53, %54 + store i32 %rem43, i32* %digit, align 4 + %55 = load i32, i32* %base.addr, align 4 + %56 = load i32, i32* %low, align 4 + %div44 = udiv i32 %56, %55 + store i32 %div44, i32* %low, align 4 + br label %if.end45 + +if.end45: ; preds = %if.else, %if.then32 + %57 = load i32, i32* %outdigit, align 4 + %tobool46 = icmp ne i32 %57, 0 + %lnot47 = xor i1 %tobool46, true + %lnot49 = xor i1 %lnot47, true + %lnot.ext50 = zext i1 %lnot49 to i32 + %conv51 = sext i32 %lnot.ext50 to i64 + %tobool52 = icmp ne i64 %conv51, 0 + br i1 %tobool52, label %if.then53, label %if.else66 + +if.then53: ; preds = %if.end45 + %58 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %outdigit_length = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %58, i32 0, i32 11 + %59 = load i32, i32* %digit, align 4 + %idxprom = zext i32 %59 to i64 + %arrayidx54 = getelementptr inbounds [10 x i8], [10 x i8]* %outdigit_length, i64 0, i64 %idxprom + %60 = load i8, i8* %arrayidx54, align 1 + %conv55 = zext i8 %60 to i32 + %61 = load i8*, i8** %bufend.addr, align 8 + %idx.ext56 = sext i32 %conv55 to i64 + %idx.neg57 = sub i64 0, %idx.ext56 + %add.ptr58 = getelementptr inbounds i8, i8* %61, i64 %idx.neg57 + store i8* %add.ptr58, i8** %bufend.addr, align 8 + %62 = load i8*, i8** %bufend.addr, align 8 + %63 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %outdigit0_mb = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %63, i32 0, i32 28 + %64 = load i32, i32* %digit, align 4 + %idxprom59 = zext i32 %64 to i64 + %arrayidx60 = getelementptr inbounds i8*, i8** %outdigit0_mb, i64 %idxprom59 + %65 = load i8*, i8** %arrayidx60, align 8 + %66 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %outdigit_length61 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %66, i32 0, i32 11 + %67 = load i32, i32* %digit, align 4 + %idxprom62 = zext i32 %67 to i64 + %arrayidx63 = getelementptr inbounds [10 x i8], [10 x i8]* %outdigit_length61, i64 0, i64 %idxprom62 + %68 = load i8, i8* %arrayidx63, align 1 + %conv64 = zext i8 %68 to i64 + %call65 = call i8* @memcpy(i8* %62, i8* %65, i64 %conv64) #19 + br label %do.cond + +if.else66: ; preds = %if.end45 + %69 = load i32, i32* %digit, align 4 + %cmp67 = icmp ult i32 %69, 10 + %70 = load i32, i32* %digit, align 4 + %add69 = add i32 %70, 48 + %71 = load i32, i32* %alphacase.addr, align 4 + %add70 = add i32 %70, %71 + %cond = select i1 %cmp67, i32 %add69, i32 %add70 + %conv71 = trunc i32 %cond to i8 + %72 = load i8*, i8** %bufend.addr, align 8 + %incdec.ptr72 = getelementptr inbounds i8, i8* %72, i32 -1 + store i8* %incdec.ptr72, i8** %bufend.addr, align 8 + store i8 %conv71, i8* %incdec.ptr72, align 1 + br label %do.cond + +do.cond: ; preds = %if.then53, %if.else66 + %73 = load i32, i32* %low, align 4 + %74 = load i32, i32* %high, align 4 + %or = or i32 %73, %74 + %tobool74 = icmp ne i32 %or, 0 + br i1 %tobool74, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %75 = load i32, i32* %negative, align 4 + %tobool75 = icmp ne i32 %75, 0 + br i1 %tobool75, label %if.then76, label %if.end78 + +if.then76: ; preds = %do.end + %76 = load i8*, i8** %bufend.addr, align 8 + %incdec.ptr77 = getelementptr inbounds i8, i8* %76, i32 -1 + store i8* %incdec.ptr77, i8** %bufend.addr, align 8 + store i8 45, i8* %incdec.ptr77, align 1 + br label %if.end78 + +if.end78: ; preds = %if.then76, %do.end + %77 = load i8*, i8** %bufend.addr, align 8 + ret i8* %77 +} + +; Function Attrs: noinline nounwind uwtable +define hidden %struct.exit_function* @__new_exitfn() #0 { +entry: + %efp = alloca %struct.exit_function*, align 8 + %0 = load i32, i32* @__exit_slots, align 4 + %1 = load i32, i32* @__exit_count, align 4 + %add = add nsw i32 %1, 1 + %cmp = icmp slt i32 %0, %add + br i1 %cmp, label %if.then, label %if.end6 + +if.then: ; preds = %entry + %2 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + %3 = bitcast %struct.exit_function* %2 to i8* + %4 = load i32, i32* @__exit_slots, align 4 + %add1 = add nsw i32 %4, 20 + %conv = sext i32 %add1 to i64 + %mul = mul i64 %conv, 32 + %call = call noalias i8* @realloc(i8* %3, i64 %mul) #19 + %5 = bitcast i8* %call to %struct.exit_function* + store %struct.exit_function* %5, %struct.exit_function** %efp, align 8 + %6 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %cmp2 = icmp eq %struct.exit_function* %6, null + br i1 %cmp2, label %if.then4, label %if.end + +if.then4: ; preds = %if.then + store i32 12, i32* @errno, align 4 + br label %DONE + +if.end: ; preds = %if.then + %7 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + store %struct.exit_function* %7, %struct.exit_function** @__exit_function_table, align 8 + %8 = load i32, i32* @__exit_slots, align 4 + %add5 = add nsw i32 %8, 20 + store i32 %add5, i32* @__exit_slots, align 4 + br label %if.end6 + +if.end6: ; preds = %if.end, %entry + store void (i32)* @__exit_handler, void (i32)** @__exit_cleanup, align 8 + %9 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + %10 = load i32, i32* @__exit_count, align 4 + %inc = add nsw i32 %10, 1 + store i32 %inc, i32* @__exit_count, align 4 + %idxprom = sext i32 %10 to i64 + %arrayidx = getelementptr inbounds %struct.exit_function, %struct.exit_function* %9, i64 %idxprom + store %struct.exit_function* %arrayidx, %struct.exit_function** %efp, align 8 + %11 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %type = getelementptr inbounds %struct.exit_function, %struct.exit_function* %11, i32 0, i32 0 + store i64 1, i64* %type, align 8 + br label %DONE + +DONE: ; preds = %if.end6, %if.then4 + %12 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + ret %struct.exit_function* %12 +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @__exit_handler(i32 %status) #0 { +entry: + %status.addr = alloca i32, align 4 + %efp = alloca %struct.exit_function*, align 8 + store i32 %status, i32* %status.addr, align 4 + br label %while.cond + +while.cond: ; preds = %sw.epilog, %entry + %0 = load i32, i32* @__exit_count, align 4 + %tobool = icmp ne i32 %0, 0 + %1 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %2 = load i32, i32* @__exit_count, align 4 + %dec = add nsw i32 %2, -1 + store i32 %dec, i32* @__exit_count, align 4 + %idxprom = sext i32 %dec to i64 + %arrayidx = getelementptr inbounds %struct.exit_function, %struct.exit_function* %1, i64 %idxprom + store %struct.exit_function* %arrayidx, %struct.exit_function** %efp, align 8 + %3 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %type = getelementptr inbounds %struct.exit_function, %struct.exit_function* %3, i32 0, i32 0 + %4 = load i64, i64* %type, align 8 + br label %NodeBlock1 + +NodeBlock1: ; preds = %while.body + %case.cmp2 = icmp eq i64 %4, 2 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i64 %4, 3 + br i1 %case.cmp, label %sw.bb7, label %newDefault + +sw.bb: ; preds = %NodeBlock1 + %5 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs = getelementptr inbounds %struct.exit_function, %struct.exit_function* %5, i32 0, i32 1 + %on_exit = bitcast %union.anon.772* %funcs to %struct.anon.779* + %func = getelementptr inbounds %struct.anon.779, %struct.anon.779* %on_exit, i32 0, i32 0 + %6 = load void (i32, i8*)*, void (i32, i8*)** %func, align 8 + %tobool1 = icmp ne void (i32, i8*)* %6, null + br i1 %tobool1, label %if.then, label %sw.epilog + +if.then: ; preds = %sw.bb + %7 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs2 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %7, i32 0, i32 1 + %on_exit3 = bitcast %union.anon.772* %funcs2 to %struct.anon.779* + %func4 = getelementptr inbounds %struct.anon.779, %struct.anon.779* %on_exit3, i32 0, i32 0 + %8 = load void (i32, i8*)*, void (i32, i8*)** %func4, align 8 + %9 = load i32, i32* %status.addr, align 4 + %10 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs5 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %10, i32 0, i32 1 + %on_exit6 = bitcast %union.anon.772* %funcs5 to %struct.anon.779* + %arg = getelementptr inbounds %struct.anon.779, %struct.anon.779* %on_exit6, i32 0, i32 1 + %11 = load i8*, i8** %arg, align 8 + call void %8(i32 %9, i8* %11) #18 + br label %sw.epilog + +sw.bb7: ; preds = %NodeBlock + %12 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs8 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %12, i32 0, i32 1 + %cxa_atexit = bitcast %union.anon.772* %funcs8 to %struct.anon.0.771* + %func9 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit, i32 0, i32 0 + %13 = load void (i8*)*, void (i8*)** %func9, align 8 + %tobool10 = icmp ne void (i8*)* %13, null + br i1 %tobool10, label %if.then11, label %sw.epilog + +if.then11: ; preds = %sw.bb7 + %14 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs12 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %14, i32 0, i32 1 + %cxa_atexit13 = bitcast %union.anon.772* %funcs12 to %struct.anon.0.771* + %func14 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit13, i32 0, i32 0 + %15 = load void (i8*)*, void (i8*)** %func14, align 8 + %16 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs15 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %16, i32 0, i32 1 + %cxa_atexit16 = bitcast %union.anon.772* %funcs15 to %struct.anon.0.771* + %arg17 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit16, i32 0, i32 1 + %17 = load i8*, i8** %arg17, align 8 + call void %15(i8* %17) #18 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.epilog + +sw.epilog: ; preds = %newDefault, %sw.bb7, %if.then11, %sw.bb, %if.then + br label %while.cond + +while.end: ; preds = %while.cond + %tobool19 = icmp ne %struct.exit_function* %1, null + br i1 %tobool19, label %if.then20, label %if.end21 + +if.then20: ; preds = %while.end + %18 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + %19 = bitcast %struct.exit_function* %18 to i8* + call void @free(i8* %19) #19 + br label %if.end21 + +if.end21: ; preds = %if.then20, %while.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__xpg_strerror_r(i32 %errnum, i8* %strerrbuf, i64 %buflen) #0 { +entry: + %errnum.addr = alloca i32, align 4 + %strerrbuf.addr = alloca i8*, align 8 + %buflen.addr = alloca i64, align 8 + %s = alloca i8*, align 8 + %i = alloca i32, align 4 + %retval1 = alloca i32, align 4 + %buf = alloca [50 x i8], align 16 + store i32 %errnum, i32* %errnum.addr, align 4 + store i8* %strerrbuf, i8** %strerrbuf.addr, align 8 + store i64 %buflen, i64* %buflen.addr, align 8 + store i32 22, i32* %retval1, align 4 + %0 = load i32, i32* %errnum.addr, align 4 + store i32 %0, i32* %i, align 4 + %1 = load i32, i32* %i, align 4 + %cmp = icmp ult i32 %1, 125 + br i1 %cmp, label %if.then, label %if.end7 + +if.then: ; preds = %entry + store i8* getelementptr inbounds ([2906 x i8], [2906 x i8]* @_string_syserrmsgs, i64 0, i64 0), i8** %s, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.then + %2 = load i32, i32* %i, align 4 + %tobool = icmp ne i32 %2, 0 + %3 = load i8*, i8** %s, align 8 + %4 = load i8, i8* %3, align 1 + %tobool2 = icmp ne i8 %4, 0 + br i1 %tobool, label %for.body, label %for.end + +for.body: ; preds = %for.cond + br i1 %tobool2, label %for.inc, label %if.then3 + +if.then3: ; preds = %for.body + %5 = load i32, i32* %i, align 4 + %dec = add nsw i32 %5, -1 + store i32 %dec, i32* %i, align 4 + br label %for.inc + +for.inc: ; preds = %for.body, %if.then3 + %6 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + br i1 %tobool2, label %if.then5, label %if.end7 + +if.then5: ; preds = %for.end + store i32 0, i32* %retval1, align 4 + br label %GOT_MESG + +if.end7: ; preds = %for.end, %entry + %arraydecay = getelementptr inbounds [50 x i8], [50 x i8]* %buf, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 50 + %add.ptr8 = getelementptr inbounds i8, i8* %add.ptr, i64 -1 + %7 = load i32, i32* %errnum.addr, align 4 + %conv = sext i32 %7 to i64 + %call = call i8* @_uintmaxtostr(i8* %add.ptr8, i64 %conv, i32 -10, i32 0) #18 + %add.ptr9 = getelementptr inbounds i8, i8* %call, i64 -14 + store i8* %add.ptr9, i8** %s, align 8 + %8 = load i8*, i8** %s, align 8 + %call10 = call i8* @memcpy(i8* %8, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @__xpg_strerror_r.unknown, i64 0, i64 0), i64 14) #19 + br label %GOT_MESG + +GOT_MESG: ; preds = %if.end7, %if.then5 + %9 = load i8*, i8** %strerrbuf.addr, align 8 + %tobool11 = icmp ne i8* %9, null + br i1 %tobool11, label %if.end13, label %if.then12 + +if.then12: ; preds = %GOT_MESG + store i64 0, i64* %buflen.addr, align 8 + br label %if.end13 + +if.end13: ; preds = %if.then12, %GOT_MESG + %10 = load i8*, i8** %s, align 8 + %call14 = call i64 @strlen(i8* %10) #20 + %add = add i64 %call14, 1 + %conv15 = trunc i64 %add to i32 + store i32 %conv15, i32* %i, align 4 + %11 = load i32, i32* %i, align 4 + %conv16 = sext i32 %11 to i64 + %12 = load i64, i64* %buflen.addr, align 8 + %cmp17 = icmp ugt i64 %conv16, %12 + br i1 %cmp17, label %if.then19, label %if.end21 + +if.then19: ; preds = %if.end13 + %13 = load i64, i64* %buflen.addr, align 8 + %conv20 = trunc i64 %13 to i32 + store i32 %conv20, i32* %i, align 4 + store i32 34, i32* %retval1, align 4 + br label %if.end21 + +if.end21: ; preds = %if.then19, %if.end13 + %14 = load i32, i32* %i, align 4 + %tobool22 = icmp ne i32 %14, 0 + br i1 %tobool22, label %if.then23, label %if.end26 + +if.then23: ; preds = %if.end21 + %15 = load i8*, i8** %strerrbuf.addr, align 8 + %16 = load i8*, i8** %s, align 8 + %17 = load i32, i32* %i, align 4 + %conv24 = sext i32 %17 to i64 + %call25 = call i8* @memcpy(i8* %15, i8* %16, i64 %conv24) #19 + %18 = load i8*, i8** %strerrbuf.addr, align 8 + %19 = load i32, i32* %i, align 4 + %sub = sub nsw i32 %19, 1 + %idxprom = sext i32 %sub to i64 + %arrayidx = getelementptr inbounds i8, i8* %18, i64 %idxprom + store i8 0, i8* %arrayidx, align 1 + br label %if.end26 + +if.end26: ; preds = %if.then23, %if.end21 + %20 = load i32, i32* %retval1, align 4 + %tobool27 = icmp ne i32 %20, 0 + br i1 %tobool27, label %if.then28, label %if.end29 + +if.then28: ; preds = %if.end26 + %21 = load i32, i32* %retval1, align 4 + store i32 %21, i32* @errno, align 4 + br label %if.end29 + +if.end29: ; preds = %if.then28, %if.end26 + %22 = load i32, i32* %retval1, align 4 + ret i32 %22 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @memchr(i8* nonnull %s, i32 %c, i64 %n) #14 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %n.addr = alloca i64, align 8 + %r = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %r, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %1 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %2 = load i8*, i8** %r, align 8 + %3 = load i8, i8* %2, align 1 + %conv = zext i8 %3 to i32 + %4 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %4 to i8 + %conv2 = zext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + %5 = load i8*, i8** %r, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + store i8* %5, i8** %retval, align 8 + br label %return + +if.end: ; preds = %while.body + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %r, align 8 + %6 = load i64, i64* %n.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then + %7 = load i8*, i8** %retval, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @memrchr(i8* nonnull %s, i32 %c, i64 %n) #14 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %n.addr = alloca i64, align 8 + %r = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i64, i64* %n.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %0, i64 %1 + store i8* %add.ptr, i8** %r, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %2 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load i8*, i8** %r, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 -1 + store i8* %incdec.ptr, i8** %r, align 8 + %4 = load i8, i8* %incdec.ptr, align 1 + %conv = zext i8 %4 to i32 + %5 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %5 to i8 + %conv2 = zext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + %6 = load i8*, i8** %r, align 8 + store i8* %6, i8** %retval, align 8 + br label %return + +if.end: ; preds = %while.body + %7 = load i64, i64* %n.addr, align 8 + %dec = add i64 %7, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then + %8 = load i8*, i8** %retval, align 8 + ret i8* %8 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i64 @strnlen(i8* nonnull %s, i64 %max) #14 { +entry: + %s.addr = alloca i8*, align 8 + %max.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i64 %max, i64* %max.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %1 = load i64, i64* %max.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %2 = load i8*, i8** %p, align 8 + %3 = load i8, i8* %2, align 1 + %conv = sext i8 %3 to i32 + %tobool1 = icmp ne i32 %conv, 0 + br label %land.end + +land.end: ; preds = %land.rhs, %while.cond + %4 = phi i1 [ false, %while.cond ], [ %tobool1, %land.rhs ] + %5 = load i8*, i8** %p, align 8 + br i1 %4, label %while.body, label %while.end + +while.body: ; preds = %land.end + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %6 = load i64, i64* %max.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %max.addr, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %7 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind uwtable +define i8* @strtok_r(i8* noalias %s1, i8* noalias nonnull %s2, i8** noalias nonnull %next_start) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %next_start.addr = alloca i8**, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i8** %next_start, i8*** %next_start.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + %cmp = icmp ne i8* %0, null + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %1 = load i8**, i8*** %next_start.addr, align 8 + %2 = load i8*, i8** %1, align 8 + store i8* %2, i8** %s, align 8 + %cmp1 = icmp ne i8* %2, null + br i1 %cmp1, label %if.then, label %if.end7 + +if.then: ; preds = %lor.lhs.false, %entry + %3 = load i8*, i8** %s, align 8 + %4 = load i8*, i8** %s2.addr, align 8 + %call = call i64 @strspn(i8* %3, i8* %4) #20 + %5 = load i8*, i8** %s, align 8 + %add.ptr = getelementptr inbounds i8, i8* %5, i64 %call + store i8* %add.ptr, i8** %s, align 8 + %6 = load i8, i8* %add.ptr, align 1 + %tobool = icmp ne i8 %6, 0 + br i1 %tobool, label %if.then2, label %if.else + +if.then2: ; preds = %if.then + %7 = load i8*, i8** %s, align 8 + %8 = load i8*, i8** %s2.addr, align 8 + %call3 = call i8* @strpbrk(i8* %7, i8* %8) #20 + store i8* %call3, i8** %p, align 8 + %cmp4 = icmp ne i8* %call3, null + br i1 %cmp4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.then2 + %9 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + store i8 0, i8* %9, align 1 + br label %if.end6 + +if.else: ; preds = %if.then + store i8* null, i8** %s, align 8 + store i8* null, i8** %p, align 8 + br label %if.end6 + +if.end6: ; preds = %if.then2, %if.then5, %if.else + %10 = load i8*, i8** %p, align 8 + %11 = load i8**, i8*** %next_start.addr, align 8 + store i8* %10, i8** %11, align 8 + br label %if.end7 + +if.end7: ; preds = %if.end6, %lor.lhs.false + %12 = load i8*, i8** %s, align 8 + ret i8* %12 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @mbsrtowcs(i32* noalias %dst, i8** noalias %src, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %dst.addr = alloca i32*, align 8 + %src.addr = alloca i8**, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + store i32* %dst, i32** %dst.addr, align 8 + store i8** %src, i8*** %src.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load i32*, i32** %dst.addr, align 8 + %1 = load i8**, i8*** %src.addr, align 8 + %2 = load i64, i64* %len.addr, align 8 + %3 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %cmp = icmp ne %struct.__mbstate_t.512* %3, null + %4 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %cond = select i1 %cmp, %struct.__mbstate_t.512* %4, %struct.__mbstate_t.512* @mbsrtowcs.mbstate + %call = call i64 @mbsnrtowcs(i32* %0, i8** %1, i64 -1, i64 %2, %struct.__mbstate_t.512* %cond) #19 + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define i64 @wcsnrtombs(i8* noalias %dst, i32** noalias %src, i64 %NWC, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %retval = alloca i64, align 8 + %dst.addr = alloca i8*, align 8 + %src.addr = alloca i32**, align 8 + %NWC.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %s = alloca i32*, align 8 + %count = alloca i64, align 8 + %incr = alloca i32, align 4 + %buf = alloca [16 x i8], align 16 + %wc = alloca i32, align 4 + %u = alloca i32, align 4 + store i8* %dst, i8** %dst.addr, align 8 + store i32** %src, i32*** %src.addr, align 8 + store i64 %NWC, i64* %NWC.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 9 + %1 = load i8, i8* %encoding, align 8 + %conv = zext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load i8*, i8** %dst.addr, align 8 + %3 = load i64, i64* %len.addr, align 8 + %4 = load i32**, i32*** %src.addr, align 8 + %5 = load i64, i64* %NWC.addr, align 8 + %call = call i64 @_wchar_wcsntoutf8s(i8* %2, i64 %3, i32** %4, i64 %5) #18 + store i64 %call, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + store i32 1, i32* %incr, align 4 + %6 = load i8*, i8** %dst.addr, align 8 + %tobool = icmp ne i8* %6, null + br i1 %tobool, label %lor.lhs.false, label %if.then4 + +lor.lhs.false: ; preds = %if.end + %7 = load i8*, i8** %dst.addr, align 8 + %8 = load i32**, i32*** %src.addr, align 8 + %9 = bitcast i32** %8 to i8* + %cmp2 = icmp eq i8* %7, %9 + br i1 %cmp2, label %if.then4, label %if.end8 + +if.then4: ; preds = %lor.lhs.false, %if.end + %10 = load i8*, i8** %dst.addr, align 8 + %tobool5 = icmp ne i8* %10, null + br i1 %tobool5, label %if.end7, label %if.then6 + +if.then6: ; preds = %if.then4 + store i64 -1, i64* %len.addr, align 8 + br label %if.end7 + +if.end7: ; preds = %if.then6, %if.then4 + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay, i8** %dst.addr, align 8 + store i32 0, i32* %incr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end7, %lor.lhs.false + %11 = load i64, i64* %len.addr, align 8 + %12 = load i64, i64* %NWC.addr, align 8 + %cmp9 = icmp ugt i64 %11, %12 + br i1 %cmp9, label %if.then11, label %if.end12 + +if.then11: ; preds = %if.end8 + %13 = load i64, i64* %NWC.addr, align 8 + store i64 %13, i64* %len.addr, align 8 + br label %if.end12 + +if.end12: ; preds = %if.then11, %if.end8 + %14 = load i64, i64* %len.addr, align 8 + store i64 %14, i64* %count, align 8 + %15 = load i32**, i32*** %src.addr, align 8 + %16 = load i32*, i32** %15, align 8 + store i32* %16, i32** %s, align 8 + %17 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding13 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %17, i32 0, i32 9 + %18 = load i8, i8* %encoding13, align 8 + %conv14 = zext i8 %18 to i32 + %cmp15 = icmp eq i32 %conv14, 2 + br i1 %cmp15, label %while.cond, label %while.cond52 + +while.cond: ; preds = %if.end12, %if.end45 + %19 = load i64, i64* %count, align 8 + %tobool18 = icmp ne i64 %19, 0 + br i1 %tobool18, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %20 = load i32*, i32** %s, align 8 + %21 = load i32, i32* %20, align 4 + store i32 %21, i32* %wc, align 4 + %cmp19 = icmp ule i32 %21, 127 + br i1 %cmp19, label %if.then21, label %if.else + +if.then21: ; preds = %while.body + %22 = load i32, i32* %wc, align 4 + %conv22 = trunc i32 %22 to i8 + %23 = load i8*, i8** %dst.addr, align 8 + store i8 %conv22, i8* %23, align 1 + %tobool23 = icmp ne i8 %conv22, 0 + br i1 %tobool23, label %if.end45, label %if.then24 + +if.then24: ; preds = %if.then21 + store i32* null, i32** %s, align 8 + br label %while.end + +if.else: ; preds = %while.body + store i32 0, i32* %u, align 4 + %24 = load i32, i32* %wc, align 4 + %cmp26 = icmp ule i32 %24, 9727 + br i1 %cmp26, label %if.then28, label %if.end42 + +if.then28: ; preds = %if.else + %25 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %idx8wc2c = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %25, i32 0, i32 18 + %26 = load i8*, i8** %idx8wc2c, align 8 + %27 = load i32, i32* %wc, align 4 + %shr = lshr i32 %27, 8 + %idxprom = zext i32 %shr to i64 + %arrayidx = getelementptr inbounds i8, i8* %26, i64 %idxprom + %28 = load i8, i8* %arrayidx, align 1 + %conv29 = zext i8 %28 to i32 + store i32 %conv29, i32* %u, align 4 + %29 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %tbl8wc2c = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %29, i32 0, i32 19 + %30 = load i8*, i8** %tbl8wc2c, align 8 + %31 = load i32, i32* %u, align 4 + %shl = shl i32 %31, 4 + %32 = load i32, i32* %wc, align 4 + %shr30 = lshr i32 %32, 4 + %and = and i32 %shr30, 15 + %add = add i32 %shl, %and + %idxprom31 = zext i32 %add to i64 + %arrayidx32 = getelementptr inbounds i8, i8* %30, i64 %idxprom31 + %33 = load i8, i8* %arrayidx32, align 1 + %conv33 = zext i8 %33 to i32 + store i32 %conv33, i32* %u, align 4 + %34 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %tbl8wc2c34 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %34, i32 0, i32 19 + %35 = load i8*, i8** %tbl8wc2c34, align 8 + %36 = load i32, i32* %u, align 4 + %shl35 = shl i32 %36, 4 + %add36 = add i32 1072, %shl35 + %37 = load i32, i32* %wc, align 4 + %and37 = and i32 %37, 15 + %add38 = add i32 %add36, %and37 + %idxprom39 = zext i32 %add38 to i64 + %arrayidx40 = getelementptr inbounds i8, i8* %35, i64 %idxprom39 + %38 = load i8, i8* %arrayidx40, align 1 + %conv41 = zext i8 %38 to i32 + store i32 %conv41, i32* %u, align 4 + br label %if.end42 + +if.end42: ; preds = %if.then28, %if.else + %39 = load i32, i32* %u, align 4 + %tobool43 = icmp ne i32 %39, 0 + %40 = load i32, i32* %u, align 4 + %cond = select i1 %tobool43, i32 %40, i32 63 + %conv44 = trunc i32 %cond to i8 + %41 = load i8*, i8** %dst.addr, align 8 + store i8 %conv44, i8* %41, align 1 + br label %if.end45 + +if.end45: ; preds = %if.then21, %if.end42 + %42 = load i32*, i32** %s, align 8 + %incdec.ptr = getelementptr inbounds i32, i32* %42, i32 1 + store i32* %incdec.ptr, i32** %s, align 8 + %43 = load i32, i32* %incr, align 4 + %44 = load i8*, i8** %dst.addr, align 8 + %idx.ext = sext i32 %43 to i64 + %add.ptr = getelementptr inbounds i8, i8* %44, i64 %idx.ext + store i8* %add.ptr, i8** %dst.addr, align 8 + %45 = load i64, i64* %count, align 8 + %dec = add i64 %45, -1 + store i64 %dec, i64* %count, align 8 + br label %while.cond + +while.end: ; preds = %if.then24, %while.cond + %46 = load i8*, i8** %dst.addr, align 8 + %arraydecay46 = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + %cmp47 = icmp ne i8* %46, %arraydecay46 + br i1 %cmp47, label %if.then49, label %if.end50 + +if.then49: ; preds = %while.end + %47 = load i32*, i32** %s, align 8 + %48 = load i32**, i32*** %src.addr, align 8 + store i32* %47, i32** %48, align 8 + br label %if.end50 + +if.end50: ; preds = %if.then49, %while.end + %49 = load i64, i64* %len.addr, align 8 + %50 = load i64, i64* %count, align 8 + %sub = sub i64 %49, %50 + store i64 %sub, i64* %retval, align 8 + br label %return + +while.cond52: ; preds = %if.end12, %if.end64 + %51 = load i64, i64* %count, align 8 + %tobool53 = icmp ne i64 %51, 0 + br i1 %tobool53, label %while.body54, label %while.end69 + +while.body54: ; preds = %while.cond52 + %52 = load i32*, i32** %s, align 8 + %53 = load i32, i32* %52, align 4 + %cmp55 = icmp uge i32 %53, 128 + br i1 %cmp55, label %if.then57, label %if.end58 + +if.then57: ; preds = %while.body54 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end58: ; preds = %while.body54 + %54 = load i32*, i32** %s, align 8 + %55 = load i32, i32* %54, align 4 + %conv59 = trunc i32 %55 to i8 + %56 = load i8*, i8** %dst.addr, align 8 + store i8 %conv59, i8* %56, align 1 + %conv60 = sext i8 %conv59 to i32 + %cmp61 = icmp eq i32 %conv60, 0 + br i1 %cmp61, label %if.then63, label %if.end64 + +if.then63: ; preds = %if.end58 + store i32* null, i32** %s, align 8 + br label %while.end69 + +if.end64: ; preds = %if.end58 + %57 = load i32*, i32** %s, align 8 + %incdec.ptr65 = getelementptr inbounds i32, i32* %57, i32 1 + store i32* %incdec.ptr65, i32** %s, align 8 + %58 = load i32, i32* %incr, align 4 + %59 = load i8*, i8** %dst.addr, align 8 + %idx.ext66 = sext i32 %58 to i64 + %add.ptr67 = getelementptr inbounds i8, i8* %59, i64 %idx.ext66 + store i8* %add.ptr67, i8** %dst.addr, align 8 + %60 = load i64, i64* %count, align 8 + %dec68 = add i64 %60, -1 + store i64 %dec68, i64* %count, align 8 + br label %while.cond52 + +while.end69: ; preds = %if.then63, %while.cond52 + %61 = load i8*, i8** %dst.addr, align 8 + %arraydecay70 = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + %cmp71 = icmp ne i8* %61, %arraydecay70 + br i1 %cmp71, label %if.then73, label %if.end74 + +if.then73: ; preds = %while.end69 + %62 = load i32*, i32** %s, align 8 + %63 = load i32**, i32*** %src.addr, align 8 + store i32* %62, i32** %63, align 8 + br label %if.end74 + +if.end74: ; preds = %if.then73, %while.end69 + %64 = load i64, i64* %len.addr, align 8 + %65 = load i64, i64* %count, align 8 + %sub75 = sub i64 %64, %65 + store i64 %sub75, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end74, %if.then57, %if.end50, %if.then + %66 = load i64, i64* %retval, align 8 + ret i64 %66 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @strpbrk(i8* nonnull %s1, i8* nonnull %s2) #14 { +entry: + %retval = alloca i8*, align 8 + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc6, %entry + %1 = load i8*, i8** %s, align 8 + %2 = load i8, i8* %1, align 1 + %tobool = icmp ne i8 %2, 0 + br i1 %tobool, label %for.body, label %for.end8 + +for.body: ; preds = %for.cond + %3 = load i8*, i8** %s2.addr, align 8 + store i8* %3, i8** %p, align 8 + br label %for.cond1 + +for.cond1: ; preds = %for.inc, %for.body + %4 = load i8*, i8** %p, align 8 + %5 = load i8, i8* %4, align 1 + %tobool2 = icmp ne i8 %5, 0 + br i1 %tobool2, label %for.body3, label %for.inc6 + +for.body3: ; preds = %for.cond1 + %6 = load i8*, i8** %p, align 8 + %7 = load i8, i8* %6, align 1 + %conv = sext i8 %7 to i32 + %8 = load i8*, i8** %s, align 8 + %9 = load i8, i8* %8, align 1 + %conv4 = sext i8 %9 to i32 + %cmp = icmp eq i32 %conv, %conv4 + br i1 %cmp, label %if.then, label %for.inc + +if.then: ; preds = %for.body3 + %10 = load i8*, i8** %s, align 8 + store i8* %10, i8** %retval, align 8 + br label %return + +for.inc: ; preds = %for.body3 + %11 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %11, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + br label %for.cond1 + +for.inc6: ; preds = %for.cond1 + %12 = load i8*, i8** %s, align 8 + %incdec.ptr7 = getelementptr inbounds i8, i8* %12, i32 1 + store i8* %incdec.ptr7, i8** %s, align 8 + br label %for.cond + +for.end8: ; preds = %for.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %for.end8, %if.then + %13 = load i8*, i8** %retval, align 8 + ret i8* %13 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i64 @strspn(i8* nonnull %s1, i8* nonnull %s2) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %2 = load i8*, i8** %p, align 8 + %3 = load i8, i8* %2, align 1 + %tobool = icmp ne i8 %3, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %5 = load i8, i8* %4, align 1 + %conv = sext i8 %5 to i32 + %6 = load i8*, i8** %s, align 8 + %7 = load i8, i8* %6, align 1 + %conv1 = sext i8 %7 to i32 + %cmp = icmp eq i32 %conv, %conv1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + %8 = load i8*, i8** %s, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %8, i32 1 + store i8* %incdec.ptr3, i8** %s, align 8 + %9 = load i8*, i8** %s2.addr, align 8 + store i8* %9, i8** %p, align 8 + br label %if.end + +if.end: ; preds = %if.then, %while.body + br label %while.cond + +while.end: ; preds = %while.cond + %10 = load i8*, i8** %s, align 8 + %11 = load i8*, i8** %s1.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %10 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %11 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_wchar_wcsntoutf8s(i8* noalias %s, i64 %n, i32** noalias %src, i64 %wn) #0 { +entry: + %retval = alloca i64, align 8 + %s.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %src.addr = alloca i32**, align 8 + %wn.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + %len = alloca i64, align 8 + %t = alloca i64, align 8 + %wc = alloca i32, align 4 + %swc = alloca i32*, align 8 + %store = alloca i32, align 4 + %buf = alloca [16 x i8], align 16 + %m = alloca i8, align 1 + store i8* %s, i8** %s.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i32** %src, i32*** %src.addr, align 8 + store i64 %wn, i64* %wn.addr, align 8 + store i32 1, i32* %store, align 4 + %0 = load i8*, i8** %s.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %lor.lhs.false, label %if.then + +lor.lhs.false: ; preds = %entry + %1 = load i8*, i8** %s.addr, align 8 + %2 = load i32**, i32*** %src.addr, align 8 + %3 = bitcast i32** %2 to i8* + %cmp = icmp eq i8* %1, %3 + br i1 %cmp, label %if.then, label %if.end3 + +if.then: ; preds = %lor.lhs.false, %entry + %4 = load i8*, i8** %s.addr, align 8 + %tobool1 = icmp ne i8* %4, null + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + store i64 -1, i64* %n.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay, i8** %s.addr, align 8 + store i32 0, i32* %store, align 4 + br label %if.end3 + +if.end3: ; preds = %if.end, %lor.lhs.false + %5 = load i64, i64* %n.addr, align 8 + store i64 %5, i64* %t, align 8 + %6 = load i32**, i32*** %src.addr, align 8 + %7 = load i32*, i32** %6, align 8 + store i32* %7, i32** %swc, align 8 + br label %while.cond + +while.cond: ; preds = %if.end51, %if.end3 + %8 = load i64, i64* %wn.addr, align 8 + %tobool4 = icmp ne i64 %8, 0 + %9 = load i64, i64* %t, align 8 + %tobool5 = icmp ne i64 %9, 0 + %10 = select i1 %tobool4, i1 %tobool5, i1 false + br i1 %10, label %while.body, label %while.end52 + +while.body: ; preds = %while.cond + %11 = load i32*, i32** %swc, align 8 + %12 = load i32, i32* %11, align 4 + store i32 %12, i32* %wc, align 4 + %13 = load i32, i32* %wc, align 4 + %conv = trunc i32 %13 to i8 + %14 = load i8*, i8** %s.addr, align 8 + store i8 %conv, i8* %14, align 1 + store i64 1, i64* %len, align 8 + %15 = load i32, i32* %wc, align 4 + %cmp6 = icmp uge i32 %15, 128 + %16 = load i32, i32* %wc, align 4 + br i1 %cmp6, label %if.then8, label %if.else + +if.then8: ; preds = %while.body + %conv9 = zext i32 %16 to i64 + %cmp10 = icmp ugt i64 %conv9, 2147483647 + br i1 %cmp10, label %if.then19, label %lor.lhs.false12 + +lor.lhs.false12: ; preds = %if.then8 + %17 = load i32, i32* %wc, align 4 + %sub = sub i32 %17, 65534 + %cmp13 = icmp ult i32 %sub, 2 + br i1 %cmp13, label %if.then19, label %lor.lhs.false15 + +lor.lhs.false15: ; preds = %lor.lhs.false12 + %18 = load i32, i32* %wc, align 4 + %sub16 = sub i32 %18, 55296 + %cmp17 = icmp ult i32 %sub16, 2048 + br i1 %cmp17, label %if.then19, label %if.end20 + +if.then19: ; preds = %lor.lhs.false15, %lor.lhs.false12, %if.then8 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end20: ; preds = %lor.lhs.false15 + %19 = load i32, i32* %wc, align 4 + %shr = lshr i32 %19, 1 + store i32 %shr, i32* %wc, align 4 + %20 = load i8*, i8** %s.addr, align 8 + store i8* %20, i8** %p, align 8 + br label %do.body + +do.body: ; preds = %do.body, %if.end20 + %21 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %21, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %22 = load i32, i32* %wc, align 4 + %shr21 = lshr i32 %22, 5 + store i32 %shr21, i32* %wc, align 4 + %tobool22 = icmp ne i32 %shr21, 0 + br i1 %tobool22, label %do.body, label %do.end + +do.end: ; preds = %do.body + %23 = load i32*, i32** %swc, align 8 + %24 = load i32, i32* %23, align 4 + store i32 %24, i32* %wc, align 4 + %25 = load i8*, i8** %p, align 8 + %26 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %25 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %26 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %len, align 8 + %27 = load i64, i64* %t, align 8 + %cmp23 = icmp ugt i64 %sub.ptr.sub, %27 + br i1 %cmp23, label %while.end52, label %if.end26 + +if.end26: ; preds = %do.end + store i8 -128, i8* %m, align 1 + br label %while.cond27 + +while.cond27: ; preds = %while.body30, %if.end26 + %28 = load i8*, i8** %p, align 8 + %29 = load i8*, i8** %s.addr, align 8 + %cmp28 = icmp ugt i8* %28, %29 + %30 = load i8, i8* %m, align 1 + %conv31 = sext i8 %30 to i32 + br i1 %cmp28, label %while.body30, label %while.end + +while.body30: ; preds = %while.cond27 + %shr32 = ashr i32 %conv31, 1 + %or = or i32 %shr32, 128 + %conv33 = trunc i32 %or to i8 + store i8 %conv33, i8* %m, align 1 + %31 = load i32, i32* %wc, align 4 + %and = and i32 %31, 63 + %or34 = or i32 %and, 128 + %conv35 = trunc i32 %or34 to i8 + %32 = load i8*, i8** %p, align 8 + %incdec.ptr36 = getelementptr inbounds i8, i8* %32, i32 -1 + store i8* %incdec.ptr36, i8** %p, align 8 + store i8 %conv35, i8* %incdec.ptr36, align 1 + %33 = load i32, i32* %wc, align 4 + %shr37 = lshr i32 %33, 6 + store i32 %shr37, i32* %wc, align 4 + br label %while.cond27 + +while.end: ; preds = %while.cond27 + %shl = shl i32 %conv31, 1 + %34 = load i8*, i8** %s.addr, align 8 + %35 = load i8, i8* %34, align 1 + %conv39 = sext i8 %35 to i32 + %or40 = or i32 %conv39, %shl + %conv41 = trunc i32 %or40 to i8 + store i8 %conv41, i8* %34, align 1 + br label %if.end46 + +if.else: ; preds = %while.body + %cmp42 = icmp eq i32 %16, 0 + br i1 %cmp42, label %if.then44, label %if.end46 + +if.then44: ; preds = %if.else + store i32* null, i32** %swc, align 8 + br label %while.end52 + +if.end46: ; preds = %if.else, %while.end + %36 = load i32*, i32** %swc, align 8 + %incdec.ptr47 = getelementptr inbounds i32, i32* %36, i32 1 + store i32* %incdec.ptr47, i32** %swc, align 8 + %37 = load i64, i64* %wn.addr, align 8 + %dec = add i64 %37, -1 + store i64 %dec, i64* %wn.addr, align 8 + %38 = load i64, i64* %len, align 8 + %39 = load i64, i64* %t, align 8 + %sub48 = sub i64 %39, %38 + store i64 %sub48, i64* %t, align 8 + %40 = load i32, i32* %store, align 4 + %tobool49 = icmp ne i32 %40, 0 + br i1 %tobool49, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.end46 + %41 = load i64, i64* %len, align 8 + %42 = load i8*, i8** %s.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %42, i64 %41 + store i8* %add.ptr, i8** %s.addr, align 8 + br label %if.end51 + +if.end51: ; preds = %if.then50, %if.end46 + br label %while.cond + +while.end52: ; preds = %do.end, %if.then44, %while.cond + %43 = load i32, i32* %store, align 4 + %tobool53 = icmp ne i32 %43, 0 + br i1 %tobool53, label %if.then54, label %if.end55 + +if.then54: ; preds = %while.end52 + %44 = load i32*, i32** %swc, align 8 + %45 = load i32**, i32*** %src.addr, align 8 + store i32* %44, i32** %45, align 8 + br label %if.end55 + +if.end55: ; preds = %if.then54, %while.end52 + %46 = load i64, i64* %n.addr, align 8 + %47 = load i64, i64* %t, align 8 + %sub56 = sub i64 %46, %47 + store i64 %sub56, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end55, %if.then19 + %48 = load i64, i64* %retval, align 8 + ret i64 %48 +} + +attributes #0 = { noinline nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #1 = { noinline noreturn nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #2 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #3 = { noinline nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #4 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #5 = { "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #6 = { noinline noreturn nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #7 = { noreturn "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #8 = { argmemonly nounwind willreturn writeonly } +attributes #9 = { argmemonly nounwind willreturn } +attributes #10 = { noreturn nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #11 = { nounwind } +attributes #12 = { noinline nounwind readnone uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #13 = { noreturn "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #14 = { noinline nounwind readonly uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #15 = { noinline nounwind readonly uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #16 = { noinline nounwind returns_twice uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #17 = { "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #18 = { nobuiltin "no-builtins" } +attributes #19 = { nobuiltin nounwind "no-builtins" } +attributes #20 = { nobuiltin nounwind readonly "no-builtins" } +attributes #21 = { nobuiltin nounwind readnone "no-builtins" } +attributes #22 = { nobuiltin noreturn nounwind "no-builtins" } +attributes #23 = { nounwind readonly } +attributes #24 = { noreturn } +attributes #25 = { nounwind readnone } +attributes #26 = { noreturn nounwind } +attributes #27 = { nobuiltin noreturn "no-builtins" } + +!llvm.module.flags = !{!0, !1} +!llvm.ident = !{!2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2} + +!0 = !{i32 1, !"wchar_size", i32 4} +!1 = !{i32 7, !"PIC Level", i32 2} +!2 = !{!"clang version 11.1.0 (https://github.com/llvm/llvm-project.git 1fdec59bffc11ae37eb51a1b9869f0696bfd5312)"} diff --git a/benchmarks/coreutils/gensym_posix/pathchk.ll b/benchmarks/coreutils/gensym_posix/pathchk.ll new file mode 100644 index 000000000..d1dfe27c3 --- /dev/null +++ b/benchmarks/coreutils/gensym_posix/pathchk.ll @@ -0,0 +1,31299 @@ +; ModuleID = '__uClibc_main.os' +source_filename = "libc/misc/internals/__uClibc_main.c" +target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" +target triple = "x86_64-unknown-linux-gnu" + +module asm ".section .gnu.warning.siggetmask" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.__fpending" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.gets" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.tmpnam" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.mktemp" +module asm "\09.previous" + +%struct.__uclibc_locale_struct.203 = type { i16*, i16*, i16*, [384 x i16], [384 x i16], [384 x i16], [14 x i8], [6 x i16], [6 x i8], i8, i8, [10 x i8], i8*, i8*, i8*, i8*, i8*, i16*, i8*, i8*, i16*, i8*, i8*, i16*, i32, i32, i32, i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__collate_t.202 } +%struct.__collate_t.202 = type { i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16*, i16*, i16*, i16*, i16*, i16*, i16*, i16*, i16*, i16 } +%struct.__STDIO_FILE_STRUCT.570 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.570*, [2 x i32], %struct.__mbstate_t.514, i8* } +%struct.__mbstate_t.514 = type { i32, i32 } +%struct.quoting_options = type { i32, i32, [8 x i32], i8*, i8* } +%struct.infomap = type { i8*, i8* } +%struct.option = type { i8*, i32, i32*, i32 } +%struct.slotvec = type { i64, i8* } +%struct.__mbstate_t = type { i32, %union.anon } +%union.anon = type { i32 } +%struct.exe_file_t = type { i32, i32, i64, %struct.exe_disk_file_t* } +%struct.exe_disk_file_t = type { i32, i8*, %struct.stat64* } +%struct.stat64 = type { i64, i64, i64, i32, i32, i32, i32, i64, i64, i64, i64, %struct.timespec.0, %struct.timespec.0, %struct.timespec.0, [3 x i64] } +%struct.timespec.0 = type { i64, i64 } +%struct.exe_file_system_t = type { i32, %struct.exe_disk_file_t*, %struct.exe_disk_file_t*, i32, %struct.exe_disk_file_t*, i32, i32*, i32*, i32*, i32*, i32*, i32*, i32* } +%struct.__locale_mmap_t.205 = type { [420 x i8], [504 x i8], [1760 x i16], [4528 x i8], [3604 x i8], [1680 x i8], [196 x i16], [51 x i8], [28 x i8], [1646 x i8], [28353 x i8], [1804 x i8], [23 x %struct.__codeset_8_bit_t.204], [20 x i8], [10 x i16], [20 x i16], [45 x i8], [3 x i16], [15 x i16], [3894 x i8], [22 x i16], [407 x i16], [8250 x i8], [50 x i16], [3429 x i16], [372 x i8], [4 x i16], [200 x i16], [91141 x i16], [6 x i8], [24 x i64], [2826 x i8], [835 x i8], [18 x i8], [69 x i8], [255 x i8] } +%struct.__codeset_8_bit_t.204 = type { [16 x i8], [16 x i8], [16 x i8], [38 x i8] } +%struct.utmp.325 = type { i16, i32, [32 x i8], [4 x i8], [32 x i8], [256 x i8], %struct.exit_status, i64, %struct.timespec.0, [4 x i32], [20 x i8] } +%struct.exit_status = type { i16, i16 } +%struct._getopt_data = type { i32, i32, i32, i8*, i32, i8*, i32, i32, i32, i32 } +%struct.exit_function = type { i64, %union.anon.774 } +%union.anon.774 = type { %struct.anon.0.773 } +%struct.anon.0.773 = type { void (i8*)*, i8*, i8* } +%struct.dirent64 = type { i64, i64, i16, i8, [256 x i8] } +%struct.__STDIO_FILE_STRUCT.594 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.594*, [2 x i32], %struct.__mbstate_t.514, i8* } +%struct.__STDIO_FILE_STRUCT.610 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.610*, [2 x i32], %struct.__mbstate_t.514, i8* } +%struct.__STDIO_FILE_STRUCT.623 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.623*, [2 x i32], %struct.__mbstate_t.514, i8* } +%struct.__STDIO_FILE_STRUCT.638 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.638*, [2 x i32], %struct.__mbstate_t.514, i8* } +%struct.Elf64_auxv_t = type { i64, %union.anon.195 } +%union.anon.195 = type { i64 } +%struct.stat.194 = type { i64, i64, i64, i32, i32, i32, i32, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, [3 x i64] } +%struct.__STDIO_FILE_STRUCT.515 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.515*, [2 x i32], %struct.__mbstate_t.514, i8* } +%struct.exe_sym_env_t = type { [32 x %struct.exe_file_t], i32, i32, i32 } +%struct.__va_list_tag.2 = type { i32, i32, i8*, i8* } +%struct.termios = type { i32, i32, i32, i32, i8, [32 x i8], i32, i32 } +%struct.winsize = type { i16, i16, i16, i16 } +%struct.flock = type { i16, i16, i64, i64, i32 } +%struct.statfs = type { i64, i64, i64, i64, i64, i64, i64, %struct.__fsid_t, i64, i64, i64, [4 x i64] } +%struct.__fsid_t = type { [2 x i32] } +%struct.fd_set = type { [16 x i64] } +%struct.coldata_header_t = type { i16, i16, i16, i16, i16, i16, i16, i16 } +%struct.coldata_base_t = type { i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16 } +%struct._IO_FILE = type { i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct._IO_marker*, %struct._IO_FILE*, i32, i32, i64, i16, i8, [1 x i8], i8*, i64, %struct._IO_codecvt*, %struct._IO_wide_data*, %struct._IO_FILE*, i8*, i64, i32, [20 x i8] } +%struct._IO_marker = type opaque +%struct._IO_codecvt = type opaque +%struct._IO_wide_data = type opaque +%struct.sigaction.802 = type { %union.anon.801, %struct.fd_set, i32, void ()* } +%union.anon.801 = type { void (i32)* } +%struct.tms = type { i64, i64, i64, i64 } +%struct.utmpx = type opaque +%struct.utmp = type { i16, i32, [32 x i8], [4 x i8], [32 x i8], [256 x i8], %struct.exit_status, i32, %struct.__mbstate_t.514, [4 x i32], [20 x i8] } +%struct.rusage = type { %struct.timespec.0, %struct.timespec.0, %union.anon.195, %union.anon.195, %union.anon.195, %union.anon.195, %union.anon.195, %union.anon.195, %union.anon.195, %union.anon.195, %union.anon.195, %union.anon.195, %union.anon.195, %union.anon.195, %union.anon.195, %union.anon.195 } +%struct.siginfo_t = type { i32, i32, i32, i32, %union.anon.0 } +%union.anon.0 = type { %struct.anon.3, [80 x i8] } +%struct.anon.3 = type { i32, i32, i32, i64, i64 } +%struct.kernel_sigaction = type { void (i32)*, i64, void ()*, %struct.fd_set } +%struct.__jmp_buf_tag = type { [8 x i64], i32, %struct.fd_set } +%struct.__STDIO_FILE_STRUCT.521 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.521*, [2 x i32], %struct.__mbstate_t.514, i8* } +%struct.__kernel_termios = type { i32, i32, i32, i32, i8, [19 x i8] } +%struct.statfs.908 = type { i64, i64, i64, i64, i64, i64, i64, %struct.__fsid_t, i64, i64, [5 x i64] } +%struct.ppfs_t.724 = type { i8*, %struct.printf_info.722, i32, i32, i32, [4 x i8], [9 x i32], [1 x %struct.__va_list_tag.2], [9 x %union.anon.195] } +%struct.printf_info.722 = type { i32, i32, i32, i32, i32 } +%struct.anon.781 = type { void (i32, i8*)*, i8* } + +@__libc_stack_end = global i8* null, align 8 +@.str = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@__uclibc_progname = hidden global i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i32 0, i32 0), align 8 +@program_invocation_short_name = global i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i32 0, i32 0), align 8 +@program_invocation_name = global i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i32 0, i32 0), align 8 +@__environ = global i8** null, align 8 +@__pagesize = global i64 0, align 8 +@__uClibc_init.been_there_done_that = internal global i32 0, align 4 +@__app_fini = hidden global void ()* null, align 8 +@__rtld_fini = hidden global void ()* null, align 8 +@.str.1 = private unnamed_addr constant [10 x i8] c"/dev/null\00", align 1 +@llvm.used = appending global [5 x i8*] [i8* getelementptr inbounds ([57 x i8], [57 x i8]* @__evoke_link_warning_siggetmask, i32 0, i32 0), i8* getelementptr inbounds ([167 x i8], [167 x i8]* @__evoke_link_warning___fpending, i32 0, i32 0), i8* getelementptr inbounds ([57 x i8], [57 x i8]* @__evoke_link_warning_gets, i32 0, i32 0), i8* getelementptr inbounds ([55 x i8], [55 x i8]* @__evoke_link_warning_tmpnam, i32 0, i32 0), i8* getelementptr inbounds ([55 x i8], [55 x i8]* @__evoke_link_warning_mktemp, i32 0, i32 0)], section "llvm.metadata" +@__evoke_link_warning_siggetmask = internal constant [57 x i8] c"warning: `siggetmask' is obsolete; `sigprocmask' is best\00", section ".gnu.warning.siggetmask\0A#APP\0A\09#", align 16 +@__evoke_link_warning___fpending = internal constant [167 x i8] c"This version of __fpending returns bytes remaining in buffer for both narrow and wide streams. glibc's version returns wide chars in buffer for the wide stream case.\00", section ".gnu.warning.__fpending\0A#APP\0A\09#", align 16 +@__evoke_link_warning_gets = internal constant [57 x i8] c"the 'gets' function is dangerous and should not be used.\00", section ".gnu.warning.gets\0A#APP\0A\09#", align 16 +@__evoke_link_warning_tmpnam = internal constant [55 x i8] c"the use of `tmpnam' is dangerous, better use `mkstemp'\00", section ".gnu.warning.tmpnam\0A#APP\0A\09#", align 16 +@tmpnam_buffer = internal global [20 x i8] zeroinitializer, align 16 +@__evoke_link_warning_mktemp = internal constant [55 x i8] c"the use of `mktemp' is dangerous, better use `mkstemp'\00", section ".gnu.warning.mktemp\0A#APP\0A\09#", align 16 +@.str.4 = private unnamed_addr constant [77 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/fd.c\00", align 1 +@.str.27 = private unnamed_addr constant [37 x i8] c"ERROR: concretizing symbolic pointer\00", align 1 +@.str.28 = private unnamed_addr constant [9 x i8] c"user.err\00", align 1 +@.str.25 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@getcwd.n_calls = internal global i32 0, align 4 +@.str.5 = private unnamed_addr constant [46 x i8] c"Undefined call to open(): O_TRUNC | O_RDONLY\0A\00", align 1 +@.str.1.6 = private unnamed_addr constant [47 x i8] c"Undefined call to open(): O_EXCL w/o O_RDONLY\0A\00", align 1 +@.str.2 = private unnamed_addr constant [44 x i8] c"symbolic file descriptor, ignoring (ENOENT)\00", align 1 +@close.n_calls = internal global i32 0, align 4 +@read.n_calls = internal global i32 0, align 4 +@.str.3 = private unnamed_addr constant [12 x i8] c"f->off >= 0\00", align 1 +@__PRETTY_FUNCTION__.read = private unnamed_addr constant [34 x i8] c"ssize_t read(int, void *, size_t)\00", align 1 +@write.n_calls = internal global i32 0, align 4 +@.str.5.7 = private unnamed_addr constant [7 x i8] c"r >= 0\00", align 1 +@__PRETTY_FUNCTION__.write = private unnamed_addr constant [41 x i8] c"ssize_t write(int, const void *, size_t)\00", align 1 +@.str.6 = private unnamed_addr constant [2 x i8] c"0\00", align 1 +@.str.7 = private unnamed_addr constant [24 x i8] c"write() ignores bytes.\0A\00", align 1 +@.str.8 = private unnamed_addr constant [18 x i8] c"new_off == f->off\00", align 1 +@__PRETTY_FUNCTION__.__fd_lseek = private unnamed_addr constant [38 x i8] c"off64_t __fd_lseek(int, off64_t, int)\00", align 1 +@.str.9 = private unnamed_addr constant [33 x i8] c"symbolic file, ignoring (ENOENT)\00", align 1 +@chmod.n_calls = internal global i32 0, align 4 +@fchmod.n_calls = internal global i32 0, align 4 +@.str.26 = private unnamed_addr constant [32 x i8] c"symbolic file, ignoring (EPERM)\00", align 1 +@__fd_ftruncate.n_calls = internal global i32 0, align 4 +@.str.10 = private unnamed_addr constant [30 x i8] c"symbolic file, ignoring (EIO)\00", align 1 +@.str.11 = private unnamed_addr constant [33 x i8] c"symbolic file, ignoring (EINVAL)\00", align 1 +@.str.12 = private unnamed_addr constant [18 x i8] c"s != (off64_t) -1\00", align 1 +@__PRETTY_FUNCTION__.__fd_getdents = private unnamed_addr constant [65 x i8] c"int __fd_getdents(unsigned int, struct dirent64 *, unsigned int)\00", align 1 +@.str.13 = private unnamed_addr constant [22 x i8] c"f->off != (off64_t)-1\00", align 1 +@.str.14 = private unnamed_addr constant [41 x i8] c"(TCGETS) symbolic file, incomplete model\00", align 1 +@.str.15 = private unnamed_addr constant [42 x i8] c"(TCSETS) symbolic file, silently ignoring\00", align 1 +@.str.16 = private unnamed_addr constant [43 x i8] c"(TCSETSW) symbolic file, silently ignoring\00", align 1 +@.str.17 = private unnamed_addr constant [43 x i8] c"(TCSETSF) symbolic file, silently ignoring\00", align 1 +@.str.18 = private unnamed_addr constant [45 x i8] c"(TIOCGWINSZ) symbolic file, incomplete model\00", align 1 +@.str.19 = private unnamed_addr constant [46 x i8] c"(TIOCSWINSZ) symbolic file, ignoring (EINVAL)\00", align 1 +@.str.20 = private unnamed_addr constant [43 x i8] c"(FIONREAD) symbolic file, incomplete model\00", align 1 +@.str.21 = private unnamed_addr constant [44 x i8] c"(MTIOCGET) symbolic file, ignoring (EINVAL)\00", align 1 +@.str.22 = private unnamed_addr constant [32 x i8] c"symbolic file, ignoring (EBADF)\00", align 1 +@.str.23 = private unnamed_addr constant [17 x i8] c"ignoring (EPERM)\00", align 1 +@.str.24 = private unnamed_addr constant [18 x i8] c"ignoring (ENOENT)\00", align 1 +@__const.klee_init_env.sym_arg_name = private unnamed_addr constant [6 x i8] c"arg\00\00\00", align 1 +@.str.29 = private unnamed_addr constant [7 x i8] c"--help\00", align 1 +@.str.1.30 = private unnamed_addr constant [964 x i8] c"klee_init_env\0A\0Ausage: (klee_init_env) [options] [program arguments]\0A -sym-arg - Replace by a symbolic argument with length N\0A -sym-args - Replace by at least MIN arguments and at most\0A MAX arguments, each with maximum length N\0A -sym-files - Make NUM symbolic files ('A', 'B', 'C', etc.),\0A each with size N\0A -sym-stdin - Make stdin symbolic with size N.\0A -sym-stdout - Make stdout symbolic.\0A -save-all-writes - Allow write operations to execute as expected\0A even if they exceed the file size. If set to 0, all\0A writes exceeding the initial file size are discarded.\0A Note: file offset is always incremented.\0A -max-fail - Allow up to N injected failures\0A -fd-fail - Shortcut for '-max-fail 1'\0A\0A\00", align 1 +@.str.2.31 = private unnamed_addr constant [10 x i8] c"--sym-arg\00", align 1 +@.str.3.32 = private unnamed_addr constant [9 x i8] c"-sym-arg\00", align 1 +@.str.4.33 = private unnamed_addr constant [48 x i8] c"--sym-arg expects an integer argument \00", align 1 +@.str.5.34 = private unnamed_addr constant [45 x i8] c"No more than 100 symbolic arguments allowed.\00", align 1 +@.str.6.35 = private unnamed_addr constant [11 x i8] c"--sym-args\00", align 1 +@.str.7.36 = private unnamed_addr constant [10 x i8] c"-sym-args\00", align 1 +@.str.8.37 = private unnamed_addr constant [77 x i8] c"--sym-args expects three integer arguments \00", align 1 +@.str.9.38 = private unnamed_addr constant [28 x i8] c"Invalid range to --sym-args\00", align 1 +@.str.10.39 = private unnamed_addr constant [7 x i8] c"n_args\00", align 1 +@.str.11.40 = private unnamed_addr constant [12 x i8] c"--sym-files\00", align 1 +@.str.12.41 = private unnamed_addr constant [11 x i8] c"-sym-files\00", align 1 +@.str.13.42 = private unnamed_addr constant [72 x i8] c"--sym-files expects two integer arguments \00", align 1 +@.str.14.43 = private unnamed_addr constant [39 x i8] c"Multiple --sym-files are not allowed.\0A\00", align 1 +@.str.15.44 = private unnamed_addr constant [65 x i8] c"The first argument to --sym-files (number of files) cannot be 0\0A\00", align 1 +@.str.16.45 = private unnamed_addr constant [60 x i8] c"The second argument to --sym-files (file size) cannot be 0\0A\00", align 1 +@.str.17.46 = private unnamed_addr constant [12 x i8] c"--sym-stdin\00", align 1 +@.str.18.47 = private unnamed_addr constant [11 x i8] c"-sym-stdin\00", align 1 +@.str.19.48 = private unnamed_addr constant [57 x i8] c"--sym-stdin expects one integer argument \00", align 1 +@.str.20.49 = private unnamed_addr constant [13 x i8] c"--sym-stdout\00", align 1 +@.str.21.50 = private unnamed_addr constant [12 x i8] c"-sym-stdout\00", align 1 +@.str.22.51 = private unnamed_addr constant [18 x i8] c"--save-all-writes\00", align 1 +@.str.23.52 = private unnamed_addr constant [17 x i8] c"-save-all-writes\00", align 1 +@.str.24.53 = private unnamed_addr constant [10 x i8] c"--fd-fail\00", align 1 +@.str.25.54 = private unnamed_addr constant [9 x i8] c"-fd-fail\00", align 1 +@.str.26.55 = private unnamed_addr constant [12 x i8] c"--bout-file\00", align 1 +@.str.27.56 = private unnamed_addr constant [11 x i8] c"-bout-file\00", align 1 +@.str.28.57 = private unnamed_addr constant [11 x i8] c"--max-fail\00", align 1 +@.str.29.58 = private unnamed_addr constant [10 x i8] c"-max-fail\00", align 1 +@.str.30 = private unnamed_addr constant [54 x i8] c"--max-fail expects an integer argument \00", align 1 +@.str.31 = private unnamed_addr constant [31 x i8] c"out of memory in klee_init_env\00", align 1 +@.str.35 = private unnamed_addr constant [37 x i8] c"too many arguments for klee_init_env\00", align 1 +@.str.32 = private unnamed_addr constant [88 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/klee_init_env.c\00", align 1 +@.str.33 = private unnamed_addr constant [9 x i8] c"user.err\00", align 1 +@.str.34 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.68 = private unnamed_addr constant [5 x i8] c"file\00", align 1 +@.str.1.69 = private unnamed_addr constant [5 x i8] c"/tmp\00", align 1 +@.str.2.70 = private unnamed_addr constant [16 x i8] c"%.*s/%.*sXXXXXX\00", align 1 +@.str.3.73 = private unnamed_addr constant [7 x i8] c"XXXXXX\00", align 1 +@letters = internal constant [63 x i8] c"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\00", align 16 +@brain_damaged_fillrand.value = internal global i64 0, align 8 +@.str.4.74 = private unnamed_addr constant [13 x i8] c"/dev/urandom\00", align 1 +@.str.5.75 = private unnamed_addr constant [12 x i8] c"/dev/random\00", align 1 +@__global_locale_data = global %struct.__uclibc_locale_struct.203 zeroinitializer, align 8 +@__global_locale = global %struct.__uclibc_locale_struct.203* @__global_locale_data, align 8 +@__curlocale_var = global %struct.__uclibc_locale_struct.203* @__global_locale_data, align 8 +@utf8 = internal constant [6 x i8] c"UTF-8\00", align 1 +@ascii = internal constant [6 x i8] c"ASCII\00", align 1 +@__code2flag = internal constant [16 x i16] [i16 0, i16 -15352, i16 -14840, i16 -14584, i16 -15096, i16 -14328, i16 -16380, i16 -16384, i16 24576, i16 24577, i16 8192, i16 8193, i16 8194, i16 8195, i16 2, i16 0], align 16 +@.str.76 = private unnamed_addr constant [14 x i8] c"#\80\80\80\80\80\80\80\80\80\80\80\80\00", align 1 +@stdin = global %struct.__STDIO_FILE_STRUCT.570* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.570], [3 x %struct.__STDIO_FILE_STRUCT.570]* @_stdio_streams, i32 0, i32 0), align 8 +@_stdio_streams = internal global [3 x %struct.__STDIO_FILE_STRUCT.570] [%struct.__STDIO_FILE_STRUCT.570 { i16 544, [2 x i8] zeroinitializer, i32 0, i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, %struct.__STDIO_FILE_STRUCT.570* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.570]* @_stdio_streams to i8*), i64 88) to %struct.__STDIO_FILE_STRUCT.570*), [2 x i32] zeroinitializer, %struct.__mbstate_t.514 zeroinitializer, i8* null }, %struct.__STDIO_FILE_STRUCT.570 { i16 528, [2 x i8] zeroinitializer, i32 1, i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, %struct.__STDIO_FILE_STRUCT.570* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.570]* @_stdio_streams to i8*), i64 176) to %struct.__STDIO_FILE_STRUCT.570*), [2 x i32] zeroinitializer, %struct.__mbstate_t.514 zeroinitializer, i8* null }, %struct.__STDIO_FILE_STRUCT.570 { i16 528, [2 x i8] zeroinitializer, i32 2, i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, %struct.__STDIO_FILE_STRUCT.570* null, [2 x i32] zeroinitializer, %struct.__mbstate_t.514 zeroinitializer, i8* null }], align 16 +@stdout = global %struct.__STDIO_FILE_STRUCT.570* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.570]* @_stdio_streams to i8*), i64 88) to %struct.__STDIO_FILE_STRUCT.570*), align 8 +@stderr = global %struct.__STDIO_FILE_STRUCT.570* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.570]* @_stdio_streams to i8*), i64 176) to %struct.__STDIO_FILE_STRUCT.570*), align 8 +@__stdin = global %struct.__STDIO_FILE_STRUCT.570* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.570], [3 x %struct.__STDIO_FILE_STRUCT.570]* @_stdio_streams, i32 0, i32 0), align 8 +@__stdout = global %struct.__STDIO_FILE_STRUCT.570* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.570]* @_stdio_streams to i8*), i64 88) to %struct.__STDIO_FILE_STRUCT.570*), align 8 +@_stdio_openlist = global %struct.__STDIO_FILE_STRUCT.570* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.570], [3 x %struct.__STDIO_FILE_STRUCT.570]* @_stdio_streams, i32 0, i32 0), align 8 +@been_there_done_that = internal global i32 0, align 4 +@__exit_cleanup = hidden global void (i32)* null, align 8 +@Version = dso_local global i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.42, i32 0, i32 0), align 8 +@.str.42 = private unnamed_addr constant [5 x i8] c"8.32\00", align 1 +@exit_failure = dso_local global i32 1, align 4 +@program_name = dso_local global i8* null, align 8 +@quoting_style_args = dso_local constant [11 x i8*] [i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.57, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1.58, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2.59, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.3.60, i32 0, i32 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.4.61, i32 0, i32 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.5.62, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.6.63, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.7.64, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.8.65, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.9.66, i32 0, i32 0), i8* null], align 16 +@.str.57 = private unnamed_addr constant [8 x i8] c"literal\00", align 1 +@.str.1.58 = private unnamed_addr constant [6 x i8] c"shell\00", align 1 +@.str.2.59 = private unnamed_addr constant [13 x i8] c"shell-always\00", align 1 +@.str.3.60 = private unnamed_addr constant [13 x i8] c"shell-escape\00", align 1 +@.str.4.61 = private unnamed_addr constant [20 x i8] c"shell-escape-always\00", align 1 +@.str.5.62 = private unnamed_addr constant [2 x i8] c"c\00", align 1 +@.str.6.63 = private unnamed_addr constant [8 x i8] c"c-maybe\00", align 1 +@.str.7.64 = private unnamed_addr constant [7 x i8] c"escape\00", align 1 +@.str.8.65 = private unnamed_addr constant [7 x i8] c"locale\00", align 1 +@.str.9.66 = private unnamed_addr constant [8 x i8] c"clocale\00", align 1 +@quoting_style_vals = dso_local constant [10 x i32] [i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9], align 16 +@quote_quoting_options = dso_local global %struct.quoting_options { i32 8, i32 0, [8 x i32] zeroinitializer, i8* null, i8* null }, align 8 +@version_etc_copyright = dso_local constant [47 x i8] c"Copyright %s %d Free Software Foundation, Inc.\00", align 16 +@.str.95 = private unnamed_addr constant [39 x i8] c"Try '%s --help' for more information.\0A\00", align 1 +@.str.1.96 = private unnamed_addr constant [31 x i8] c"Usage: %s [OPTION]... NAME...\0A\00", align 1 +@.str.2.97 = private unnamed_addr constant [228 x i8] c"Diagnose invalid or unportable file names.\0A\0A -p check for most POSIX systems\0A -P check for empty names and leading \22-\22\0A --portability check for all POSIX systems (equivalent to -p -P)\0A\00", align 1 +@.str.3.98 = private unnamed_addr constant [45 x i8] c" --help display this help and exit\0A\00", align 1 +@.str.4.99 = private unnamed_addr constant [54 x i8] c" --version output version information and exit\0A\00", align 1 +@.str.5.100 = private unnamed_addr constant [8 x i8] c"pathchk\00", align 1 +@__const.emit_ancillary_info.infomap = private unnamed_addr constant [7 x %struct.infomap] [%struct.infomap { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.13.110, i32 0, i32 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.14.111, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.15.112, i32 0, i32 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.16.113, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.17.114, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.18.115, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.19.116, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.18.115, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.20.117, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.18.115, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.21.118, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.18.115, i32 0, i32 0) }, %struct.infomap zeroinitializer], align 16 +@.str.22.101 = private unnamed_addr constant [23 x i8] c"\0A%s online help: <%s>\0A\00", align 1 +@.str.8.102 = private unnamed_addr constant [14 x i8] c"GNU coreutils\00", align 1 +@.str.23.103 = private unnamed_addr constant [40 x i8] c"https://www.gnu.org/software/coreutils/\00", align 1 +@.str.24.104 = private unnamed_addr constant [4 x i8] c"en_\00", align 1 +@.str.25.105 = private unnamed_addr constant [71 x i8] c"Report any translation bugs to \0A\00", align 1 +@.str.26.106 = private unnamed_addr constant [27 x i8] c"Full documentation <%s%s>\0A\00", align 1 +@.str.28.107 = private unnamed_addr constant [12 x i8] c" invocation\00", align 1 +@.str.6.108 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@.str.27.109 = private unnamed_addr constant [51 x i8] c"or available locally via: info '(coreutils) %s%s'\0A\00", align 1 +@.str.13.110 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@.str.14.111 = private unnamed_addr constant [16 x i8] c"test invocation\00", align 1 +@.str.15.112 = private unnamed_addr constant [10 x i8] c"coreutils\00", align 1 +@.str.16.113 = private unnamed_addr constant [22 x i8] c"Multi-call invocation\00", align 1 +@.str.17.114 = private unnamed_addr constant [10 x i8] c"sha224sum\00", align 1 +@.str.18.115 = private unnamed_addr constant [15 x i8] c"sha2 utilities\00", align 1 +@.str.19.116 = private unnamed_addr constant [10 x i8] c"sha256sum\00", align 1 +@.str.20.117 = private unnamed_addr constant [10 x i8] c"sha384sum\00", align 1 +@.str.21.118 = private unnamed_addr constant [10 x i8] c"sha512sum\00", align 1 +@.str.7.121 = private unnamed_addr constant [4 x i8] c"+pP\00", align 1 +@longopts = internal constant [4 x %struct.option] [%struct.option { i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.29.130, i32 0, i32 0), i32 0, i32* null, i32 128 }, %struct.option { i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.30.131, i32 0, i32 0), i32 0, i32* null, i32 -130 }, %struct.option { i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.31.132, i32 0, i32 0), i32 0, i32* null, i32 -131 }, %struct.option zeroinitializer], align 16 +@.str.9.122 = private unnamed_addr constant [12 x i8] c"Paul Eggert\00", align 1 +@.str.10.123 = private unnamed_addr constant [16 x i8] c"David MacKenzie\00", align 1 +@.str.11.124 = private unnamed_addr constant [13 x i8] c"Jim Meyering\00", align 1 +@.str.12.125 = private unnamed_addr constant [16 x i8] c"missing operand\00", align 1 +@.str.32.126 = private unnamed_addr constant [16 x i8] c"empty file name\00", align 1 +@.str.33.127 = private unnamed_addr constant [3 x i8] c"%s\00", align 1 +@.str.34.128 = private unnamed_addr constant [2 x i8] c"/\00", align 1 +@.str.35.129 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@.str.36 = private unnamed_addr constant [49 x i8] c"%s: unable to determine maximum file name length\00", align 1 +@.str.37 = private unnamed_addr constant [49 x i8] c"limit %lu exceeded by length %lu of file name %s\00", align 1 +@.str.38 = private unnamed_addr constant [59 x i8] c"limit %lu exceeded by length %lu of file name component %s\00", align 1 +@slotvec = internal global %struct.slotvec* @slotvec0, align 8 +@nslots = internal global i32 1, align 4 +@slotvec0 = internal global %struct.slotvec { i64 256, i8* getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i32 0, i32 0) }, align 8 +@slot0 = internal global [256 x i8] zeroinitializer, align 16 +@.str.10.67 = private unnamed_addr constant [2 x i8] c"\22\00", align 1 +@.str.11.68 = private unnamed_addr constant [2 x i8] c"`\00", align 1 +@.str.12.69 = private unnamed_addr constant [2 x i8] c"'\00", align 1 +@.str.135 = private unnamed_addr constant [2 x i8] c"C\00", align 1 +@.str.1.136 = private unnamed_addr constant [6 x i8] c"POSIX\00", align 1 +@.str.13.70 = private unnamed_addr constant [6 x i8] c"UTF-8\00", align 1 +@.str.14.71 = private unnamed_addr constant [4 x i8] c"\E2\80\98\00", align 1 +@.str.15.72 = private unnamed_addr constant [4 x i8] c"\E2\80\99\00", align 1 +@.str.16.73 = private unnamed_addr constant [8 x i8] c"GB18030\00", align 1 +@.str.17.74 = private unnamed_addr constant [4 x i8] c"\A1\07e\00", align 1 +@.str.18.75 = private unnamed_addr constant [3 x i8] c"\A1\AF\00", align 1 +@.str.139 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@.str.1.140 = private unnamed_addr constant [6 x i8] c"ASCII\00", align 1 +@.str.123 = private unnamed_addr constant [3 x i8] c"%s\00", align 1 +@.str.1.124 = private unnamed_addr constant [17 x i8] c"memory exhausted\00", align 1 +@default_quoting_options = internal global %struct.quoting_options zeroinitializer, align 8 +@.str.40 = private unnamed_addr constant [67 x i8] c"/ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789._-\00", align 1 +@.str.41 = private unnamed_addr constant [41 x i8] c"nonportable character %s in file name %s\00", align 1 +@internal_state = internal global %struct.__mbstate_t zeroinitializer, align 4 +@.str.39 = private unnamed_addr constant [43 x i8] c"leading '-' in a component of file name %s\00", align 1 +@.str.88 = private unnamed_addr constant [12 x i8] c"%s (%s) %s\0A\00", align 1 +@.str.1.89 = private unnamed_addr constant [7 x i8] c"%s %s\0A\00", align 1 +@.str.2.90 = private unnamed_addr constant [4 x i8] c"(C)\00", align 1 +@.str.3.91 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.4.92 = private unnamed_addr constant [171 x i8] c"License GPLv3+: GNU GPL version 3 or later <%s>.\0AThis is free software: you are free to change and redistribute it.\0AThere is NO WARRANTY, to the extent permitted by law.\0A\00", align 1 +@.str.5.93 = private unnamed_addr constant [34 x i8] c"https://gnu.org/licenses/gpl.html\00", align 1 +@.str.6.94 = private unnamed_addr constant [16 x i8] c"Written by %s.\0A\00", align 1 +@.str.7.95 = private unnamed_addr constant [23 x i8] c"Written by %s and %s.\0A\00", align 1 +@.str.8.96 = private unnamed_addr constant [28 x i8] c"Written by %s, %s, and %s.\0A\00", align 1 +@.str.9.97 = private unnamed_addr constant [32 x i8] c"Written by %s, %s, %s,\0Aand %s.\0A\00", align 1 +@.str.10.98 = private unnamed_addr constant [36 x i8] c"Written by %s, %s, %s,\0A%s, and %s.\0A\00", align 1 +@.str.11.99 = private unnamed_addr constant [40 x i8] c"Written by %s, %s, %s,\0A%s, %s, and %s.\0A\00", align 1 +@.str.12.100 = private unnamed_addr constant [44 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, and %s.\0A\00", align 1 +@.str.13.101 = private unnamed_addr constant [48 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, %s,\0Aand %s.\0A\00", align 1 +@.str.14.102 = private unnamed_addr constant [52 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, %s,\0A%s, and %s.\0A\00", align 1 +@.str.15.103 = private unnamed_addr constant [60 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, %s,\0A%s, %s, and others.\0A\00", align 1 +@.str.29.130 = private unnamed_addr constant [12 x i8] c"portability\00", align 1 +@.str.30.131 = private unnamed_addr constant [5 x i8] c"help\00", align 1 +@.str.31.132 = private unnamed_addr constant [8 x i8] c"version\00", align 1 +@ignore_EPIPE = internal global i8 0, align 1 +@.str.45 = private unnamed_addr constant [12 x i8] c"write error\00", align 1 +@file_name = internal global i8* null, align 8 +@.str.1.46 = private unnamed_addr constant [7 x i8] c"%s: %s\00", align 1 +@.str.2.47 = private unnamed_addr constant [3 x i8] c"%s\00", align 1 +@.str.54 = private unnamed_addr constant [56 x i8] c"A NULL argv[0] was passed through an exec system call.\0A\00", align 1 +@.str.1.55 = private unnamed_addr constant [8 x i8] c"/.libs/\00", align 1 +@.str.2.56 = private unnamed_addr constant [4 x i8] c"lt-\00", align 1 +@.str.16.106 = private unnamed_addr constant [20 x i8] c"Report bugs to: %s\0A\00", align 1 +@.str.17.107 = private unnamed_addr constant [22 x i8] c"bug-coreutils@gnu.org\00", align 1 +@.str.18.108 = private unnamed_addr constant [20 x i8] c"%s home page: <%s>\0A\00", align 1 +@.str.19.109 = private unnamed_addr constant [14 x i8] c"GNU coreutils\00", align 1 +@.str.20.110 = private unnamed_addr constant [40 x i8] c"https://www.gnu.org/software/coreutils/\00", align 1 +@.str.21.111 = private unnamed_addr constant [39 x i8] c"General help using GNU software: <%s>\0A\00", align 1 +@.str.22.112 = private unnamed_addr constant [29 x i8] c"https://www.gnu.org/gethelp/\00", align 1 +@__exe_env = dso_local global { <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] } { <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }> <{ %struct.exe_file_t { i32 0, i32 5, i64 0, %struct.exe_disk_file_t* null }, %struct.exe_file_t { i32 1, i32 9, i64 0, %struct.exe_disk_file_t* null }, %struct.exe_file_t { i32 2, i32 9, i64 0, %struct.exe_disk_file_t* null }, [29 x %struct.exe_file_t] zeroinitializer }>, i32 18, i32 0, i32 0, [4 x i8] undef }, align 8 +@__exe_fs = dso_local global %struct.exe_file_system_t zeroinitializer, align 8 +@__const.klee_init_fds.name = private unnamed_addr constant [7 x i8] c"?-data\00", align 1 +@.str.140 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@.str.1.141 = private unnamed_addr constant [82 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/fd_init.c\00", align 1 +@.str.2.142 = private unnamed_addr constant [31 x i8] c"out of memory in klee_init_env\00", align 1 +@.str.3.143 = private unnamed_addr constant [9 x i8] c"user.err\00", align 1 +@.str.4.145 = private unnamed_addr constant [6 x i8] c"stdin\00", align 1 +@.str.5.146 = private unnamed_addr constant [10 x i8] c"read_fail\00", align 1 +@.str.6.147 = private unnamed_addr constant [11 x i8] c"write_fail\00", align 1 +@.str.7.148 = private unnamed_addr constant [11 x i8] c"close_fail\00", align 1 +@.str.8.149 = private unnamed_addr constant [15 x i8] c"ftruncate_fail\00", align 1 +@.str.9.150 = private unnamed_addr constant [12 x i8] c"getcwd_fail\00", align 1 +@.str.10.151 = private unnamed_addr constant [7 x i8] c"stdout\00", align 1 +@.str.11.152 = private unnamed_addr constant [14 x i8] c"model_version\00", align 1 +@.str.13.153 = private unnamed_addr constant [6 x i8] c"-stat\00", align 1 +@.str.14.154 = private unnamed_addr constant [5 x i8] c"size\00", align 1 +@__PRETTY_FUNCTION__.__create_new_dfile = private unnamed_addr constant [88 x i8] c"void __create_new_dfile(exe_disk_file_t *, unsigned int, const char *, struct stat64 *)\00", align 1 +@.str.12.155 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.156 = private unnamed_addr constant [18 x i8] c"silently ignoring\00", align 1 +@.str.1.161 = private unnamed_addr constant [24 x i8] c"ignoring (EAFNOSUPPORT)\00", align 1 +@.str.11.163 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.2.166 = private unnamed_addr constant [15 x i8] c"ignoring (EIO)\00", align 1 +@.str.3.167 = private unnamed_addr constant [18 x i8] c"ignoring (ENFILE)\00", align 1 +@.str.4.168 = private unnamed_addr constant [17 x i8] c"ignoring (EPERM)\00", align 1 +@.str.5.169 = private unnamed_addr constant [13 x i8] c"returning 0\0A\00", align 1 +@.str.6.170 = private unnamed_addr constant [40 x i8] c"setting all times to 0 and returning 0\0A\00", align 1 +@.str.7.171 = private unnamed_addr constant [17 x i8] c"ignoring (EBADF)\00", align 1 +@.str.8.174 = private unnamed_addr constant [21 x i8] c"ignoring (-1 result)\00", align 1 +@.str.9.175 = private unnamed_addr constant [18 x i8] c"ignoring (ECHILD)\00", align 1 +@.str.10.176 = private unnamed_addr constant [32 x i8] c"silently ignoring (returning 0)\00", align 1 +@__locale_mmap = global %struct.__locale_mmap_t.205* @locale_mmap, align 8 +@locale_mmap = internal constant %struct.__locale_mmap_t.205 { [420 x i8] c"\EE\EE\EE\EE\06afffffff$$$$$$$$$$\06\00\00\00\00D&fffdDDbfff`b\22\22FBFfddfFf$\22fbbB\22DDDD\22\22\22\22\06&fff`\00\00`fffff&ff`ffff\11a\06\00\00\00\11\11\11\11\11\01`\06\EE&fffd\E4\EEnffffb\E2Nfaff\11\11\11\22\22\22\22bDDDdDDD$FDDdDDdD&\22\22b\22\22b\22\22\22\22\12bbf&Fb$dd$dF$$$F\22BB\22fffdbaffff$fba$dFBfdbddBf$df\22b$$FFFdFDdD&&&b&\22b\22Ff\06dFDd@&f&b&\22b D\04DD@DDd\22\02\22\22 \22\22bFAFdFDdd&\22B\22FDDD&\22\22\22\06\00\06\00\00\00f\00\00`\00`\10\11\11\11\11\01\00\00\11afff\06\00\00ff\00ff`f`DddDADDDD@DDDD\22\22!\22\22\22\22\22\22\02\06ffffff\06\00\00\00`f&fffFff\22Fff`b$\04dfff``\00\00 $&f\00`f\06fF@f``\00`f&b\22fFdDffFf\11\11\11a\11\01\00`\11\11\11\16\11f\00\00", [504 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00{}\00\00\00{\00\7F\7F\00\00\00\00\00\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\00\00\F0\FE\00\FE\00\00\00\00\00\00\F0\00\F0\F0\F0\F0\F0\00\00\00\00\00\00\00\00\FF\FF\E7\00\F1\00\00\F0\00\F0\00\00\00\00\F0\00\00\FF\FF\F1\00\00\00\F0\00\F0\00\E7\FF\FF\F0\E0\E0\E0\E0\E0\E0\E0\E0\00\00\F0\00\F0\00\00\00\00\00\F0\00\F0\00\00\A0\00\00\00\00\00\00\00\A0\E0\E0\E0\E0\E0\E0\E0\00\00\F0\F0\F0\F0\F0\F0\00\F0\F0\F0\F0\F0\00\F0\F0\00\FF\FF\00\FF\FF\FB\00\F0\00\F0\FB\F0\00\00\B0\FF\FF\FF\FF\FF\FF\00\FE\F0\FE\F0\FC\F0\FF\FF\FC\E0\E0\E0\E0\E0\E0\E0\B0\00\00\00\00\00\00\FE\00\FE\00\00\00\00\00\00\00\00\00\00\00\FC\00\00\00\FC\00\00\00\FF\FF\BF\00\E0\E0\E0\E0\E0\E0\E0\BF\00\FF\FF\F0\00\00\FE\00\FE\00\F0\00\FE\00\FE\F0\00\00\F9\F0\FC\00\00\00\FC\F9\F0\00\FF\FF\BF\F0\00\F0\00\F0\00\F0\F0\00\00\F0\F0\F0\F0\00\F0\F0\00\F0\00\00\00\00\F0\00\00@\F0\F0\F0\00\00\F0\00\90\F0\F0\F0\00\00\F0\E0\E0\E0\00\E0\E0\E0\E0\00\E0\E0\E0\E0\E0\E0\00\00\F0\F0\F0\F0\00\F0\00\00\F0\F0\F0\F0\FE\F0\FE\00\B0\B0\B0\B0\B0\B0\B0\B0\B0\B0\B0\B0\00\B0\B0\00\00\00\00\00\00\DA\00\DB\DB\DB\00\C0\00\C1\C1\00\E0\E0\E0\E0\E0\E0\E0\E0\E0\00\E0\E0\E0\E0\E0\E0\E0\E0\E0\DA\DB\DB\DB\E0\E0\E1\E0\E0\E0\E0\E0\E0\E0\E0\E0\C0\C1\C1\00\E0\E0\E0\E0\E0t\E0\00\E0\E0\E0\E0\E0L\E0\00\00\00\00\10\00\00\00\00 \10\02\00\02\00\00\00\00\00\00\02\00\02\01\01\00\10\00\00\00\00\00\00\00\00\01\01\10\00\10\00\00\00\00\00\10\00\10\00\00\00\00\00\10\10\00\10\10\00\00\00\00\00\10\00\00", [1760 x i16] [i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 0, i16 1415, i16 1417, i16 41, i16 40, i16 187, i16 171, i16 8212, i16 46, i16 1373, i16 44, i16 45, i16 1418, i16 8230, i16 1372, i16 1371, i16 1374, i16 1329, i16 1377, i16 1330, i16 1378, i16 1331, i16 1379, i16 1332, i16 1380, i16 1333, i16 1381, i16 1334, i16 1382, i16 1335, i16 1383, i16 1336, i16 1384, i16 1337, i16 1385, i16 1338, i16 1386, i16 1339, i16 1387, i16 1340, i16 1388, i16 1341, i16 1389, i16 1342, i16 1390, i16 1343, i16 1391, i16 1344, i16 1392, i16 1345, i16 1393, i16 1346, i16 1394, i16 1347, i16 1395, i16 1348, i16 1396, i16 1349, i16 1397, i16 1350, i16 1398, i16 1351, i16 1399, i16 1352, i16 1400, i16 1353, i16 1401, i16 1354, i16 1402, i16 1355, i16 1403, i16 1356, i16 1404, i16 1357, i16 1405, i16 1358, i16 1406, i16 1359, i16 1407, i16 1360, i16 1408, i16 1361, i16 1409, i16 1362, i16 1410, i16 1363, i16 1411, i16 1364, i16 1412, i16 1365, i16 1413, i16 1366, i16 1414, i16 1370, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1026, i16 1027, i16 8218, i16 1107, i16 8222, i16 8230, i16 8224, i16 8225, i16 8364, i16 8240, i16 1033, i16 8249, i16 1034, i16 1036, i16 1035, i16 1039, i16 1106, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 0, i16 8482, i16 1113, i16 8250, i16 1114, i16 1116, i16 1115, i16 1119, i16 160, i16 1038, i16 1118, i16 1032, i16 164, i16 1168, i16 166, i16 167, i16 1025, i16 169, i16 1028, i16 171, i16 172, i16 173, i16 174, i16 1031, i16 176, i16 177, i16 1030, i16 1110, i16 1169, i16 181, i16 182, i16 183, i16 1105, i16 8470, i16 1108, i16 187, i16 1112, i16 1029, i16 1109, i16 1111, i16 1040, i16 1041, i16 1042, i16 1043, i16 1044, i16 1045, i16 1046, i16 1047, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 1058, i16 1059, i16 1060, i16 1061, i16 1062, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1070, i16 1071, i16 1072, i16 1073, i16 1074, i16 1075, i16 1076, i16 1077, i16 1078, i16 1079, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1088, i16 1089, i16 1090, i16 1091, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1099, i16 1100, i16 1101, i16 1102, i16 1103, i16 8364, i16 0, i16 8218, i16 402, i16 8222, i16 8230, i16 8224, i16 8225, i16 710, i16 8240, i16 0, i16 8249, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 732, i16 8482, i16 0, i16 8250, i16 0, i16 0, i16 0, i16 0, i16 160, i16 161, i16 162, i16 163, i16 8362, i16 165, i16 166, i16 167, i16 168, i16 169, i16 215, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 247, i16 187, i16 188, i16 189, i16 190, i16 191, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 0, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 0, i16 0, i16 8206, i16 8207, i16 0, i16 128, i16 129, i16 8218, i16 402, i16 8222, i16 8230, i16 8224, i16 8225, i16 710, i16 8240, i16 352, i16 8249, i16 338, i16 141, i16 142, i16 143, i16 144, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 732, i16 8482, i16 353, i16 8250, i16 339, i16 157, i16 158, i16 376, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 4304, i16 4305, i16 4306, i16 4307, i16 4308, i16 4309, i16 4310, i16 4337, i16 4311, i16 4312, i16 4313, i16 4314, i16 4315, i16 4316, i16 4338, i16 4317, i16 4318, i16 4319, i16 4320, i16 4321, i16 4322, i16 4339, i16 4323, i16 4324, i16 4325, i16 4326, i16 4327, i16 4328, i16 4329, i16 4330, i16 4331, i16 4332, i16 4333, i16 4334, i16 4340, i16 4335, i16 4336, i16 4341, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 160, i16 260, i16 274, i16 290, i16 298, i16 296, i16 310, i16 167, i16 315, i16 272, i16 352, i16 358, i16 381, i16 173, i16 362, i16 330, i16 176, i16 261, i16 275, i16 291, i16 299, i16 297, i16 311, i16 183, i16 316, i16 273, i16 353, i16 359, i16 382, i16 8213, i16 363, i16 331, i16 256, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 302, i16 268, i16 201, i16 280, i16 203, i16 278, i16 205, i16 206, i16 207, i16 208, i16 325, i16 332, i16 211, i16 212, i16 213, i16 214, i16 360, i16 216, i16 370, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 257, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 303, i16 269, i16 233, i16 281, i16 235, i16 279, i16 237, i16 238, i16 239, i16 240, i16 326, i16 333, i16 243, i16 244, i16 245, i16 246, i16 361, i16 248, i16 371, i16 250, i16 251, i16 252, i16 253, i16 254, i16 312, i16 160, i16 8221, i16 162, i16 163, i16 164, i16 8222, i16 166, i16 167, i16 216, i16 169, i16 342, i16 171, i16 172, i16 173, i16 174, i16 198, i16 176, i16 177, i16 178, i16 179, i16 8220, i16 181, i16 182, i16 183, i16 248, i16 185, i16 343, i16 187, i16 188, i16 189, i16 190, i16 230, i16 260, i16 302, i16 256, i16 262, i16 196, i16 197, i16 280, i16 274, i16 268, i16 201, i16 377, i16 278, i16 290, i16 310, i16 298, i16 315, i16 352, i16 323, i16 325, i16 211, i16 332, i16 213, i16 214, i16 215, i16 370, i16 321, i16 346, i16 362, i16 220, i16 379, i16 381, i16 223, i16 261, i16 303, i16 257, i16 263, i16 228, i16 229, i16 281, i16 275, i16 269, i16 233, i16 378, i16 279, i16 291, i16 311, i16 299, i16 316, i16 353, i16 324, i16 326, i16 243, i16 333, i16 245, i16 246, i16 247, i16 371, i16 322, i16 347, i16 363, i16 252, i16 380, i16 382, i16 8217, i16 160, i16 7682, i16 7683, i16 163, i16 266, i16 267, i16 7690, i16 167, i16 7808, i16 169, i16 7810, i16 7691, i16 7922, i16 173, i16 174, i16 376, i16 7710, i16 7711, i16 288, i16 289, i16 7744, i16 7745, i16 182, i16 7766, i16 7809, i16 7767, i16 7811, i16 7776, i16 7923, i16 7812, i16 7813, i16 7777, i16 372, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 7786, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 374, i16 223, i16 373, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 7787, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 375, i16 255, i16 160, i16 161, i16 162, i16 163, i16 8364, i16 165, i16 352, i16 167, i16 353, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 381, i16 181, i16 182, i16 183, i16 382, i16 185, i16 186, i16 187, i16 338, i16 339, i16 376, i16 191, i16 160, i16 260, i16 261, i16 321, i16 8364, i16 171, i16 352, i16 167, i16 353, i16 169, i16 536, i16 8222, i16 377, i16 173, i16 378, i16 379, i16 176, i16 177, i16 268, i16 322, i16 381, i16 8221, i16 182, i16 183, i16 382, i16 269, i16 537, i16 187, i16 338, i16 339, i16 376, i16 380, i16 192, i16 193, i16 194, i16 258, i16 196, i16 262, i16 198, i16 199, i16 272, i16 323, i16 210, i16 211, i16 212, i16 336, i16 214, i16 346, i16 368, i16 217, i16 218, i16 219, i16 220, i16 280, i16 538, i16 223, i16 224, i16 225, i16 226, i16 259, i16 228, i16 263, i16 230, i16 231, i16 273, i16 324, i16 242, i16 243, i16 244, i16 337, i16 246, i16 347, i16 369, i16 249, i16 250, i16 251, i16 252, i16 281, i16 539, i16 255, i16 160, i16 260, i16 728, i16 321, i16 164, i16 317, i16 346, i16 167, i16 168, i16 352, i16 350, i16 356, i16 377, i16 173, i16 381, i16 379, i16 176, i16 261, i16 731, i16 322, i16 180, i16 318, i16 347, i16 711, i16 184, i16 353, i16 351, i16 357, i16 378, i16 733, i16 382, i16 380, i16 340, i16 193, i16 194, i16 258, i16 196, i16 313, i16 262, i16 199, i16 268, i16 201, i16 280, i16 203, i16 282, i16 205, i16 206, i16 270, i16 272, i16 323, i16 327, i16 211, i16 212, i16 336, i16 214, i16 215, i16 344, i16 366, i16 218, i16 368, i16 220, i16 221, i16 354, i16 223, i16 341, i16 225, i16 226, i16 259, i16 228, i16 314, i16 263, i16 231, i16 269, i16 233, i16 281, i16 235, i16 283, i16 237, i16 238, i16 271, i16 273, i16 324, i16 328, i16 243, i16 244, i16 337, i16 246, i16 247, i16 345, i16 367, i16 250, i16 369, i16 252, i16 253, i16 355, i16 729, i16 160, i16 294, i16 728, i16 163, i16 164, i16 0, i16 292, i16 167, i16 168, i16 304, i16 350, i16 286, i16 308, i16 173, i16 0, i16 379, i16 176, i16 295, i16 178, i16 179, i16 180, i16 181, i16 293, i16 183, i16 184, i16 305, i16 351, i16 287, i16 309, i16 189, i16 0, i16 380, i16 192, i16 193, i16 194, i16 0, i16 196, i16 266, i16 264, i16 199, i16 0, i16 209, i16 210, i16 211, i16 212, i16 288, i16 214, i16 215, i16 284, i16 217, i16 218, i16 219, i16 220, i16 364, i16 348, i16 223, i16 224, i16 225, i16 226, i16 0, i16 228, i16 267, i16 265, i16 231, i16 0, i16 241, i16 242, i16 243, i16 244, i16 289, i16 246, i16 247, i16 285, i16 249, i16 250, i16 251, i16 252, i16 365, i16 349, i16 729, i16 160, i16 260, i16 312, i16 342, i16 164, i16 296, i16 315, i16 167, i16 168, i16 352, i16 274, i16 290, i16 358, i16 173, i16 381, i16 175, i16 176, i16 261, i16 731, i16 343, i16 180, i16 297, i16 316, i16 711, i16 184, i16 353, i16 275, i16 291, i16 359, i16 330, i16 382, i16 331, i16 268, i16 201, i16 280, i16 203, i16 278, i16 205, i16 206, i16 298, i16 272, i16 325, i16 332, i16 310, i16 212, i16 213, i16 214, i16 215, i16 216, i16 370, i16 218, i16 219, i16 220, i16 360, i16 362, i16 223, i16 269, i16 233, i16 281, i16 235, i16 279, i16 237, i16 238, i16 299, i16 273, i16 326, i16 333, i16 311, i16 244, i16 245, i16 246, i16 247, i16 248, i16 371, i16 250, i16 251, i16 252, i16 361, i16 363, i16 729, i16 160, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 173, i16 1038, i16 1039, i16 8470, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 167, i16 1118, i16 1119, i16 160, i16 0, i16 0, i16 0, i16 164, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1548, i16 173, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1563, i16 0, i16 0, i16 0, i16 1567, i16 0, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1611, i16 1612, i16 1613, i16 1614, i16 1615, i16 1616, i16 1617, i16 1618, i16 0, i16 0, i16 0, i16 0, i16 0, i16 160, i16 8216, i16 8217, i16 163, i16 0, i16 0, i16 166, i16 167, i16 168, i16 169, i16 0, i16 171, i16 172, i16 173, i16 0, i16 8213, i16 176, i16 177, i16 178, i16 179, i16 900, i16 901, i16 902, i16 183, i16 904, i16 905, i16 906, i16 187, i16 908, i16 189, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 918, i16 919, i16 920, i16 921, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 929, i16 0, i16 931, i16 932, i16 933, i16 934, i16 935, i16 936, i16 937, i16 938, i16 939, i16 940, i16 941, i16 942, i16 943, i16 944, i16 945, i16 946, i16 947, i16 948, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 964, i16 965, i16 966, i16 967, i16 968, i16 969, i16 970, i16 971, i16 972, i16 973, i16 974, i16 0, i16 160, i16 0, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 184, i16 185, i16 247, i16 187, i16 188, i16 189, i16 190, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8215, i16 286, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 304, i16 350, i16 223, i16 287, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 305, i16 351, i16 255, i16 9472, i16 9474, i16 9484, i16 9488, i16 9492, i16 9496, i16 9500, i16 9508, i16 9516, i16 9524, i16 9532, i16 9600, i16 9604, i16 9608, i16 9612, i16 9616, i16 9617, i16 9618, i16 9619, i16 8992, i16 9632, i16 8729, i16 8730, i16 8776, i16 8804, i16 8805, i16 160, i16 8993, i16 176, i16 178, i16 183, i16 247, i16 9552, i16 9553, i16 9554, i16 1105, i16 9555, i16 9556, i16 9557, i16 9558, i16 9559, i16 9560, i16 9561, i16 9562, i16 9563, i16 9564, i16 9565, i16 9566, i16 9567, i16 9568, i16 9569, i16 1025, i16 9570, i16 9571, i16 9572, i16 9573, i16 9574, i16 9575, i16 9576, i16 9577, i16 9578, i16 9579, i16 9580, i16 169, i16 1102, i16 1072, i16 1073, i16 1094, i16 1076, i16 1077, i16 1092, i16 1075, i16 1093, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1103, i16 1088, i16 1089, i16 1090, i16 1091, i16 1078, i16 1074, i16 1100, i16 1099, i16 1079, i16 1096, i16 1101, i16 1097, i16 1095, i16 1098, i16 1070, i16 1040, i16 1041, i16 1062, i16 1044, i16 1045, i16 1060, i16 1043, i16 1061, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1071, i16 1056, i16 1057, i16 1058, i16 1059, i16 1046, i16 1042, i16 1068, i16 1067, i16 1047, i16 1064, i16 1069, i16 1065, i16 1063, i16 1066, i16 1179, i16 1171, i16 8218, i16 1170, i16 8222, i16 8230, i16 8224, i16 8225, i16 0, i16 8240, i16 1203, i16 8249, i16 1202, i16 1207, i16 1206, i16 0, i16 1178, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 0, i16 8482, i16 0, i16 8250, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1263, i16 1262, i16 1105, i16 164, i16 1251, i16 166, i16 167, i16 0, i16 0, i16 0, i16 171, i16 172, i16 173, i16 174, i16 0, i16 176, i16 177, i16 178, i16 1025, i16 0, i16 1250, i16 182, i16 183, i16 0, i16 8470, i16 0, i16 187, i16 0, i16 0, i16 0, i16 169, i16 9552, i16 9553, i16 9554, i16 1105, i16 1108, i16 9556, i16 1110, i16 1111, i16 9559, i16 9560, i16 9561, i16 9562, i16 9563, i16 1169, i16 9565, i16 9566, i16 9567, i16 9568, i16 9569, i16 1025, i16 1028, i16 9571, i16 1030, i16 1031, i16 9574, i16 9575, i16 9576, i16 9577, i16 9578, i16 1168, i16 9580, i16 169, i16 0, i16 3585, i16 3586, i16 3587, i16 3588, i16 3589, i16 3590, i16 3591, i16 3592, i16 3593, i16 3594, i16 3595, i16 3596, i16 3597, i16 3598, i16 3599, i16 3600, i16 3601, i16 3602, i16 3603, i16 3604, i16 3605, i16 3606, i16 3607, i16 3608, i16 3609, i16 3610, i16 3611, i16 3612, i16 3613, i16 3614, i16 3615, i16 3616, i16 3617, i16 3618, i16 3619, i16 3620, i16 3621, i16 3622, i16 3623, i16 3624, i16 3625, i16 3626, i16 3627, i16 3628, i16 3629, i16 3630, i16 3631, i16 3632, i16 3633, i16 3634, i16 3635, i16 3636, i16 3637, i16 3638, i16 3639, i16 3640, i16 3641, i16 3642, i16 0, i16 0, i16 0, i16 0, i16 3647, i16 3648, i16 3649, i16 3650, i16 3651, i16 3652, i16 3653, i16 3654, i16 3655, i16 3656, i16 3657, i16 3658, i16 3659, i16 3660, i16 3661, i16 3662, i16 3663, i16 3664, i16 3665, i16 3666, i16 3667, i16 3668, i16 3669, i16 3670, i16 3671, i16 3672, i16 3673, i16 3674, i16 3675, i16 0, i16 0, i16 0, i16 0], [4528 x i8] c"\00\00\01\00\00\00\00\00\02\03\04\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\06\07\08\09\0A\0B\00\00\00\00\00\00\00\00\0C\0D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\0F\00\00\00\00\10\11\12\13\14\15\00\00\00\16\00\00\00\00\00\00\00\17\18\19\00\00\00\00\00\00\1A\00\00\00\00\00\00\1B\1C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\1D\1E\00\1F\00 \00\00\00\00\00\00\00\00\00!\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\22#\00\00\00\00\00\00\00\00\00\00\00\00\00$%\13&'(\17\18\19\00\00\00\00\00\00)\00\00\00\00\00\00\00\1C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00*+,-\00\00.\14\00\00\00\00\00/01\00!\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00234\00\17\18\19\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03,-\11\12\13\14\00\00\00\00\00\00\00\00\02\0356789:;<=>?\00@A\00\00\00\00\00\00\00\00\00B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03CDEFGHIJKLMNOP\00\00\00\00\00\00\00\00\00Q\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03RS\11T\13UV\00W\00\00\00\00X\00\00\00\00\00\00\00\00YZ\00\00[\\]\00^\00\00\00\00\00\00_\00\00\00\00\00\00\00\00\02\03`a\11\12\13\14\00\00\00\00\00bcd\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00e\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03fghijklm\00\00nocp\00\00\00\00\00\00\00\00\00q\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00r\00\00\00\00\00\00\00\00e\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03stuvwxyz\00{|}~\7F\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\81\00\00\00\00\00\00\00\00\00\00\02\03\82\83\84\85\86\87\88\89\8A\8B\00\8C\8D\8E\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\8F\00\00\00\00\00\00\00\00\00\00\02\03\90t\91\92\93\94;\95\96\97\98\99\9A\9B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\9C\00\00\00\00\00\00\00\00\00\00\02\03\9D\00\00\00\00\00\9E-\11\12\13\9F\00\00\00\00\00\00\00\00\00\00\00\A0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03\A1\00\00\00\00\00\A2\A3\A4\A5\13\A6\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03\A7\A8\00\00\00\00\00\00\00\00\00\00\00\00\A9\11\AA\13\AB\00\00\00\00\AC\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03\AD\AE\00\1F\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\13&\00(\AF\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03,-\11\B0\13\B1\00\B2\00\B3\00\B4\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B5\B6\00\00\00\B7\B8\B9\BA\BB\BC\BD\00\00\00\00\00\00\00\00\00\00\00\BE\00\00\BF\00\C0\00\00\00\00\00\00\00\00\00\00\00\C1\00\00\00\00\00\00\00\00\00\00\00\00\00\C2\C3\C4\C5\00\C6\C7\00\C8\C9\CA\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\CB\CC\00\00\00\00\B8\B9\BA\BB\BC\BD\00\00\00\CD\00\CE\00\00\CF\00\D0\B9\BA\BB\BC\D1\00\00\00\D2\00\00\00\00\00\00\C2\C3\C4\C5\00\D3\D4\00\C8\C9\CA\00\00\00\00\00\D5-\11\D6\13\D7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A5\A4\00\00\AB\AC\A9\00\80\81\82\83\84\85\86\87\88\89\8A\8B\8C\8D\8E\8F\90\91\92\93\94\95\96\97\98\99\9A\9B\9C\9D\9E\9F\A0\00\00\00\00\00\00\00\00\00\00\A7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A6\00\00\00\00\00\B2\B4\B6\B8\BA\BC\BE\C0\C2\C4\C6\C8\CA\CC\CE\D0\D2\D4\D6\D8\DA\DC\DE\E0\E2\E4\E6\E8\EA\EC\EE\F0\F2\F4\F6\F8\FA\FC\00\00\00\FE\B0\AF\AA\B1\00\00\B3\B5\B7\B9\BB\BD\BF\C1\C3\C5\C7\C9\CB\CD\CF\D1\D3\D5\D7\D9\DB\DD\DF\E1\E3\E5\E7\E9\EB\ED\EF\F1\F3\F5\F7\F9\FB\FD\A2\00\A3\AD\00\00\00\00\00\00\00\00\00\A8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\AE\00\00\00\00\00\00\00\00\00\A0\00\00\00\A4\00\A6\A7\00\A9\00\AB\AC\AD\AE\00\B0\B1\00\00\00\B5\B6\B7\00\00\00\BB\00\00\00\00\00\A8\80\81\AA\BD\B2\AF\A3\8A\8C\8E\8D\00\A1\8F\C0\C1\C2\C3\C4\C5\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\E0\E1\E2\E3\E4\E5\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\FD\FE\FF\00\B8\90\83\BA\BE\B3\BF\BC\9A\9C\9E\9D\00\A2\9F\A5\B4\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\96\97\00\00\00\91\92\82\00\93\94\84\00\86\87\95\00\00\00\85\00\00\00\00\00\00\00\00\00\89\00\00\00\00\00\00\00\00\8B\9B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\88\00\00\00\00\00\00\00\00\00\B9\00\00\00\00\00\00\00\00\00\00\00\99\00\00\00\00\00\00\00\00\00\00\00\00\00\A0\A1\A2\A3\00\A5\A6\A7\A8\A9\00\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\00\BB\BC\BD\BE\BF\00\00\00\00\00\00\00\AA\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\BA\00\00\00\00\00\00\00\00\00\00\83\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\88\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\98\00\00\00\C0\C1\C2\C3\C4\C5\C6\C7\C8\C9\00\CB\CC\CD\CE\CF\D0\D1\D2\D3\00\00\00\00\00\00\00\00\00\00\00\00\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\00\00\00\00\00\D4\D5\D6\D7\D8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\FD\FE\00\00\00\00\00\00\00\00\00\00\A4\00\80\00\00\00\80\81\00\00\00\00\00\00\00\00\00\00\00\8D\8E\8F\90\00\00\00\00\00\00\00\00\00\00\00\00\9D\9E\00\A0\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\BF\00\00\00\00\00\00\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\00\00\8C\9C\00\00\00\00\00\00\00\00\00\00\00\00\8A\9A\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\9F\00\00\00\00\00\00\00\C0\C1\C2\C3\C4\C5\C6\C8\C9\CA\CB\CC\CD\CF\D0\D1\D2\D3\D4\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\E0\E1\E3\E4\C7\CE\D5\E2\E5\00\00\00\00\00\00\00\00\00\00\A0\00\00\00\00\00\00\A7\00\00\00\00\00\AD\00\00\B0\00\00\00\00\00\00\B7\00\00\00\00\00\00\00\00\00\C1\C2\C3\C4\C5\C6\00\00\C9\00\CB\00\CD\CE\CF\D0\00\00\D3\D4\D5\D6\00\D8\00\DA\DB\DC\DD\DE\DF\00\E1\E2\E3\E4\E5\E6\00\00\E9\00\EB\00\ED\EE\EF\F0\00\00\F3\F4\F5\F6\00\F8\00\FA\FB\FC\FD\FE\00\C0\E0\00\00\A1\B1\00\00\00\00\00\00\C8\E8\00\00\A9\B9\A2\B2\00\00\CC\EC\CA\EA\00\00\00\00\00\00\00\00\A3\B3\00\00\00\00\A5\B5\A4\B4\00\00\C7\E7\00\00\00\00\00\00\A6\B6\FF\00\00\A8\B8\00\00\00\00\00\00\00\00\D1\F1\00\00\00\AF\BF\D2\F2\00\00\AA\BA\00\00\00\00\AB\BB\D7\F7\AE\BE\00\00\00\00\00\00\D9\F9\00\00\00\00\00\00\00\00\00\AC\BC\00\00\00\00\00\00\BD\00\00\00\00\00\00\00\00\00\00\A0\00\A2\A3\A4\00\A6\A7\00\A9\00\AB\AC\AD\AE\00\B0\B1\B2\B3\00\B5\B6\B7\00\B9\00\BB\BC\BD\BE\00\00\00\00\00\C4\C5\AF\00\00\C9\00\00\00\00\00\00\00\00\00\D3\00\D5\D6\D7\A8\00\00\00\DC\00\00\DF\00\00\00\00\E4\E5\BF\00\00\E9\00\00\00\00\00\00\00\00\00\F3\00\F5\F6\F7\B8\00\00\00\FC\00\00\00\C2\E2\00\00\C0\E0\C3\E3\00\00\00\00\C8\E8\00\00\00\00\C7\E7\00\00\CB\EB\C6\E6\00\00\00\00\00\00\00\00\CC\EC\00\00\00\00\00\00\CE\EE\00\00\C1\E1\00\00\00\00\00\00\CD\ED\00\00\00\CF\EF\00\00\00\00\D9\F9\D1\F1\D2\F2\00\00\00\00\00\D4\F4\00\00\00\00\00\00\00\00\AA\BA\00\00\DA\FA\00\00\00\00\D0\F0\00\00\00\00\00\00\00\00\DB\FB\00\00\00\00\00\00\D8\F8\00\00\00\00\00\CA\EA\DD\FD\DE\FE\00\00\00\00\00\00\00\00\00\00\FF\00\00\B4\A1\A5\00\A0\00\00\A3\00\00\00\A7\00\A9\00\00\00\AD\AE\00\00\00\00\00\00\00\B6\00\00\00\00\00\00\00\00\00\00\D1\D2\D3\D4\D5\D6\00\D8\D9\DA\DB\DC\DD\00\DF\00\F1\F2\F3\F4\F5\F6\00\F8\F9\FA\FB\FC\FD\00\FF\00\00\00\00\00\00\00\00\00\00\A4\A5\00\00\00\00\B2\B3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\D0\F0\DE\FE\AF\00\00\00\00\00\00\00\00\00\A1\A2\00\00\00\00\00\00\A6\AB\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B0\B1\B4\B5\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B7\B9\00\00\00\00\00\00\00\00\BB\BF\00\00\00\00\00\00\00\00\D7\F7\00\00\00\00\A8\B8\AA\BA\BD\BE\00\00\00\00\00\00\00\00\00\00\00\00\AC\BC\00\00\00\00\00\00\00\00\00\00\00\00\A0\A1\A2\A3\00\A5\00\A7\00\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B3\00\B5\B6\B7\00\B9\BA\BB\00\00\00\BF\00\00\BC\BD\00\00\00\00\00\00\00\00\00\00\00\00\A6\A8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\BE\00\00\00\00\B4\B8\00\00\00\00\00\00\00\00\00\00\00\00\00\A4\00\00\00\A0\00\00\00\00\00\00\A7\00\A9\00\A5\00\AD\00\00\B0\B1\00\00\00\00\B6\B7\00\00\00\BB\00\00\00\00\C0\C1\C2\00\C4\00\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\00\00\D2\D3\D4\00\D6\00\00\D9\DA\DB\DC\00\00\DF\E0\E1\E2\00\E4\00\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\00\00\F2\F3\F4\00\F6\00\00\F9\FA\FB\FC\00\00\FF\00\00\C3\E3\A1\A2\C5\E5\00\00\00\00\B2\B9\00\00\D0\F0\00\00\00\00\00\00\DD\FD\00\00\00\00\00\00\00\A3\B3\D1\F1\00\00\00\00\00\00\00\00\00\00\00\D5\F5\BC\BD\00\00\00\00\00\00\D7\F7\00\00\00\00\D8\F8\00\00\00\00\00\00\BE\AC\AE\AF\BF\B4\B8\00\00\00\00\00\00\00\00\00\AA\BA\DE\FE\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B5\AB\00\A0\00\00\00\A4\00\00\A7\A8\00\00\00\00\AD\00\00\B0\00\00\00\B4\00\00\00\B8\00\00\00\00\00\00\00\00\C1\C2\00\C4\00\00\C7\00\C9\00\CB\00\CD\CE\00\00\00\00\D3\D4\00\D6\D7\00\00\DA\00\DC\DD\00\DF\00\E1\E2\00\E4\00\00\E7\00\E9\00\EB\00\ED\EE\00\00\00\00\F3\F4\00\F6\F7\00\00\FA\00\FC\FD\00\00\00\00\C3\E3\A1\B1\C6\E6\00\00\00\00\C8\E8\CF\EF\D0\F0\00\00\00\00\00\00\CA\EA\CC\EC\00\00\00\00\00\00\00\00\00\00\00\00\00\C5\E5\00\00\A5\B5\00\00\A3\B3\D1\F1\00\00\D2\F2\00\00\00\00\00\00\00\D5\F5\00\00\C0\E0\00\00\D8\F8\A6\B6\00\00\AA\BA\A9\B9\DE\FE\AB\BB\00\00\00\00\00\00\00\00\D9\F9\DB\FB\00\00\00\00\00\00\00\AC\BC\AF\BF\AE\BE\00\00\00\00\00\00\00\00\B7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A2\FF\00\B2\00\BD\00\00\A0\00\00\A3\A4\00\00\A7\A8\00\00\00\00\AD\00\00\B0\00\B2\B3\B4\B5\00\B7\B8\00\00\00\00\BD\00\00\C0\C1\C2\00\C4\00\00\C7\C8\C9\CA\CB\CC\CD\CE\CF\00\D1\D2\D3\D4\00\D6\D7\00\D9\DA\DB\DC\00\00\DF\E0\E1\E2\00\E4\00\00\E7\E8\E9\EA\EB\EC\ED\EE\EF\00\F1\F2\F3\F4\00\F6\F7\00\F9\FA\FB\FC\00\00\00\00\00\00\00\00\00\00\00\C6\E6\C5\E5\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\D8\F8\AB\BB\D5\F5\00\00\A6\B6\A1\B1\00\00\00\00\00\00\00\00\A9\B9\00\00\AC\BC\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\DE\FE\AA\BA\00\00\00\00\00\00\00\00\00\00\00\00\DD\FD\00\00\00\00\00\00\00\00\00\00\00\00\00\AF\BF\00\00\00\00\00\00\00\00\00\00\00\A2\FF\00\00\00\00\00\00\A0\00\00\00\A4\00\00\A7\A8\00\00\00\00\AD\00\AF\00\C1\C2\C3\C4\C5\C6\00\00\C9\00\CB\00\CD\CE\00\00\00\00\00\D4\D5\D6\D7\D8\00\DA\DB\DC\00\00\DF\00\E1\E2\E3\E4\E5\E6\00\00\E9\00\EB\00\ED\EE\00\00\00\00\00\F4\F5\F6\F7\F8\00\FA\FB\FC\00\00\00\D0\F0\AA\BA\00\00\CC\EC\CA\EA\00\00\00\00\00\00\00\00\AB\BB\00\00\00\00\A5\B5\CF\EF\00\00\C7\E7\00\00\00\00\00\00\D3\F3\A2\00\00\A6\B6\00\00\00\00\00\00\00\00\D1\F1\00\00\00\BD\BF\D2\F2\00\00\00\00\00\00\00\00\A3\B3\00\00\00\00\00\00\00\00\A9\B9\00\00\00\00\AC\BC\DD\FD\DE\FE\00\00\00\00\00\00\D9\F9\00\00\00\00\00\00\00\00\00\AE\BE\00\00\00\00\00\00\00\00\00\00\FF\00\B2\00\00\00\00\A0\00\00\00\00\00\00\FD\00\00\00\00\00\AD\00\00\00\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\00\AE\AF\00\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\00\FE\FF\00\00\00\00\00\00\F0\00\00\00\00\00\00\00\00\00\A0\00\00\00\A4\00\00\00\00\00\00\00\00\AD\00\00\00\00\00\00\00\00\00\00\00\00\00\00\AC\00\00\00\00\00\00\00\00\00\00\00\00\00\00\BB\00\00\00\BF\00\C1\C2\C3\C4\C5\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\00\00\00\00\00\F0\F1\F2\00\00\00\00\00\00\00\00\00\00\00\00\00\A0\00\00\A3\00\00\A6\A7\A8\A9\00\AB\AC\AD\00\00\B0\B1\B2\B3\00\00\00\B7\00\00\00\BB\00\BD\00\00\00\00\00\00\B4\B5\B6\00\B8\B9\BA\00\BC\00\BE\BF\D0\D1\00\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\FD\FE\00\00\00\00\00\00\AF\00\00\A1\A2\00\00\00\00\00\00\A0\00\A2\A3\A4\A5\A6\A7\A8\A9\00\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\00\BB\BC\BD\BE\00\00\00\00\00\00\00\00\DF\00\00\00\00\00\00\00\00\00\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\00\00\DF\00\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\00\00\FF\00\00\00\00\00\00\00\00\00\00\00\00\00\00\D0\F0\DD\FD\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\DE\FE\9A\00\00\00\00\00\00\00\00\BF\00\00\00\00\00\00\9C\00\9D\00\00\00\00\9E\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\9F\00\00\00\00\00\00\00\00\00\B3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E1\E2\F7\E7\E4\E5\F6\FA\E9\EA\EB\EC\ED\EE\EF\F0\F2\F3\F4\F5\E6\E8\E3\FE\FB\FD\FF\F9\F8\FC\E0\F1\C1\C2\D7\C7\C4\C5\D6\DA\C9\CA\CB\CC\CD\CE\CF\D0\D2\D3\D4\D5\C6\C8\C3\DE\DB\DD\DF\D9\D8\DC\C0\D1\00\A3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\95\96\00\00\00\00\00\00\00\00\00\00\00\00\00\97\00\00\00\00\00\00\00\00\00\00\00\98\99\00\00\00\00\00\00\00\00\00\00\93\9B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\00\81\00\00\00\00\00\00\00\00\00\82\00\00\00\83\00\00\00\84\00\00\00\85\00\00\00\86\00\00\00\00\00\00\00\87\00\00\00\00\00\00\00\88\00\00\00\00\00\00\00\89\00\00\00\00\00\00\00\8A\00\00\00\A0\A1\A2\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\00\00\00\8B\00\00\00\8C\00\00\00\8D\00\00\00\8E\00\00\00\8F\90\91\92\00\00\00\00\00\00\00\00\00\00\00\00\94\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A4\00\A6\A7\00\BF\00\AB\AC\AD\AE\00\B0\B1\B2\00\00\00\B6\B7\00\00\00\BB\00\00\00\00\00\00\83\81\00\00\00\00\00\00\90\80\00\00\00\00\00\00\8C\8A\00\00\8E\8D\00\00\00\00\00\00\00\00\00\00\B5\A5\00\00\00\00\00\00\00\00\00\00\A2\A1\00\B3\00\00\B4\00\B6\B7\00\00\00\00\00\00\00\00\00\A3\00\00\A4\00\A6\A7\00\00\00\00\00\00\00\00\BD\AD\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A0\A1\A2\00\A5\00\00\A8\A9\AA\AB\AC\00\AE\AF\B0\B1\B2\00\B5\00\00\B8\B9\BA\BB\BC\00\BE\00\00\00\00\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\00\00\00\00\DF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\00\00\00\00", [3604 x i8] c":!\1F2#\1E\02,\00'\04%&\05\07)\0F\12\09\0C\06\19\1A\0B+\00\00\00\00\00 \1D9*7407.$777\00\00\00\0158\03/3\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\17\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\16\19\19\19\19\13\00\00\00\00\00\00\00\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\14\00\00\00\00\00\00\00\007777777777777777777777777\19\10\08\19\1B-(\00\00\00\0E\22\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0061\00\00\11\0A\15\1C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\18\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\19\19\0D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E4\E4\E4\CD\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\D0\00\00\07\00\1A5UU>Uj\DE\00UovUUUUUUUUUUUZ\E4\DA\DEU\\\08UUUUI5UUUUUUUUUUS\E4\E4UUU\00\00\00\00\00\00\00UU\12?#UU(%;\C4-\002\03U\C7\00\B6PGUU(&=\E3\CC\1F\00 U\00\00\1DL(UU(U:\D2.\04\009U\00\00\1DUS\17UUGOS\11\D5\E4\00\00\1C\005UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU5UUUUXUAVXUk\00\00\00\00/\22\0B54\16\BC\CBJ\DEU<\00\00\00\00S\00\14\09U\BBSJDUUUUUUUUUUUUU7\00\00\00\14UUUUUSUUUUUUUS'S'UUUUS'UUUS'S'SSUUSUUTBLLUUUFJ\17(UUUUUUUUUUUUUUUUUUUUUULm\00UUn\00UUk\00UL*\00UUUUUU`\E4\E4\E4\E2\D3U7\00\00US'SUUUUSUU>\B9vp\D4\00\00\00\00UUUUUUUUUUI\00UUUR\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00UUUS\D0\00UUU>\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00UUUUG1\C5\C0UpY\C0\00\00\00\00\00\00\00\00UUUUR\00UUUUU)UUUUURUUUUUUU>\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00UUUUUUUUUULUUUUUUUUL\103UE&UUUUUUUUUUUUUUUUUU8UUUUUUUU>UUUUUUUUUU7UUUUUUUUUUUUUUUUUI\E4\E4\E4\E4\E4\E4\E0\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUH\00\00\00\00\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUHUUU\BBUUhUUUhUUUUUUUUUUUUUUUUUUUUR\00\00\00\00\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUUUR\00\00\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUUUUUUUS\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU^S\00xUUgUUUUUUUUUi\1F\00UUUUUUUY\00\00UUUUUUUU\17UUUUUU\00\00\00\00\00UNUU]UUU]UUXUUUXUUU\BBUUU\BBUUh9UUUUUU\86\AA\83\A7\86\AA\86\AA\83\A7{\96\86\AA\86\83\86\AA\86\AA\86\AA\82\AE\C9\AF}\AC\7F\AF\19\AD\92\92\00\00\00\00\97\AA\AA\AA\A86y\86\86\86\85\B4\B9\E4\CD\E4\E4\CD\D4\00UUU>g\00\92\92\92\92+\92\8F\00\00\00ezq~bUqraUURU\BDp\E4p\E4_\DF\00\00\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\91d\92\92\92\92\92\92\92\92\92\92\92\8C\92\92\92\92\92\92\92\9A\9Fs\92\92\92\92\92\A5\99\A0\A4\8E\93\9C\A1\8D[\8B\9F\9D\92\92\98\92\AA\AA\AA\AA\A7\86\86\86\86\83\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\AA\AA\AA\AA\AA\AA\86\86\86\86\86\86\92\92\92\92\94\CA\92\92\92\92\92\92\9A\9E\92\92\92\92\90\8C\B5\C1\E4\E4\E4\B9\E4\E4\E4\DC\C3\E0\B9\E4\E4\E4\E4\E4\D4\E4\E4\E4\B9\E0\00\00\E4\E4\E4\D0\E4\E4\B6K#UU($=\D1-\05\0A9U,\00\18@'0\13@T:\C5.\04\00\02U\C2\00\B6L(UU(Q:\D7.\0C\009U\00\00\1DL(UU(Q:\D7.\0C\019U\00\00\B6UUUUUU=\E4\DE\BEUoU,\00\B6K#UU(!;\D6-\04\0AlUp\C2\B9\E4Up\B1\AA\AA\B0\95\86\86\88\E1UUUUUUUUUUS\17\17\17\15\E0\E0\00\B8\BF\E4\E4\E4Up\E4\E4U5UUU>\B9\E4\E4H\E4\B9\E4\E4\E4\D7\E4\D6\00\00\00\00\00\00\CE\C8Zw\DDfcC\D9k\1B\E4\AA\AA\86\86H\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E0U7UUUUUUUUUUU\00UUUUU\BA\00\00\00\00\00\00\00\00\00\00\E4\E3\BBUUI\E4\E4\E4\C2\00\00\00\00\00\00UUUUY\E4t\00\00\00\00\00\00\00\00\00\E4\E4\00\00\D0\00\E4\E4\E5\B9\C6\E4\E0\D0LUUUUUUUUUUUUUUUUM\E4\E4\D2\B9\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\E4\C0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E4\E4\E4\D4\E4\E4\E4\E4\D0\00\B9\E4\E4\E4\E4\D1\E4\E4\E4\E4\E4\E4\E4\E4\E4\D0\E4\E4\E4\E4\E4\E0\E4\E4\E4\E4\E0\00\00\00\E4\C2\00\00\E4\E4\E4\E4\E4\E4\E4\D8UUW\AA\AA\AA\86\86\86\8A\E4\E0\E4\E4\E4\E4\E0\1E\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\00\00\00\00\E4\E4\E4\E4\E4\E4\E4\E4\DB\E4\00\00\E4\E4\0D\0F\0E\A2\9B\AA\A3\A6|\86\86\84\80\92\92\92\81\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E0\1B\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\E4\E4\E4\E0\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E0\00\00\00\00\00\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\00\00\00\E4\D0\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E6\E4\E4\E4vpw_5UUUUUUUUUS\B7vUUUUUUUUUUh\E9\E8\E4\E4\E4\EA\E4\E4\E4\E4\C4\06\D0\1Eu\E2\E4\E0\00\00\E4\E4\C0\00\00\00\E4\E4\E4\C2\00\00\EC\EB\EC\EC\E7\E4\B2\B3\B1\AA\AA\B0\95\86\86\89\EC\EC\EC\EC\E4\CF\DB\CF\AA\AA\AB\A9\86\86\87\86\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\11\00\00\00`\00\00\00f\00\00\00\90\00\00\06\00\00\00\10\11\00\00\10\16\00\00\11\10\00\00\11\11\00\00`\06\00\00f\00\00\00fd\00\01\00\06\00\01\10\01\00\06\00`\00\06\10\11\00\10\01\00\00\10\11\11\00\11\01\00\00\11\10\11\00\11\11\11\00\16\10\11\00!\01\11\00`\00`\00`ff\00f\06\00\00f\10\11\00fff\01\00\00\00\01\00\00\11\01\01\00\11\01\01\10\00\01\10\11\11\01\11\00\11\01\11\10\01\01\11\10\11\01\11\11\00\01\11\11\11\01`\00\00\01f\00\00\04$$$\06\00\00\00\06`f\00\06ff\00\10\01\01\10\10\01\01\11\10\01ff\10\11\01\01\10\11\01\11\10\11\10\10\10\11\11\11\10fff\11\00\00\00\11\00\00\10\11\00\00\11\11\00\00f\11\00\06f\11\00\11\00\11\00\16f\11\01\00\00\11\01\00\10\11\01\00\11\11\01\00`\11\01\10\11\11\06\10\11\11\10\01\11\11\10\10\11\11\10\11\01\11\10\11\11\11\11\00\00\11\11\01\00\11\11\01\01\11\11\01\10\11\11\01\11\11\11\01`\11\11\06\00\11\11\10\00\11\11\10\10\11\11\10\11\11\11\11\00\11\11\11\01\11\11\11\10\11\11\11\11\11\11\11\16\11\11\11D\11\11\11a\11\11\11f\11\11\16f\11\114B\11\11a\06\11\11a\11\11\11a\16\11\11af\11\11ff\11\12\11\11\11\12!\11\11\16\11\11\11!\00\00\11!\12\22\11D\11\16\11a\06\00\11a\11\11\11af\11\11aff\11f\00\00\11f\00\11\11f\06\00\11ff\06\11ff\11\11fff\12!\11\11\12\22\11\11\12$$$\16\00\00\00\16\00ff\16\11\11\11\16\11\11f\19\11\11\11 \22\22\22!!\11\11!!!!!\22\22\22\22\11\00\11\22\11\11!\22\11!\11\22\11!\12\22\12$\06\22!\01\11\22\22\22\00\22\22\22\02\22\22\22\12\22\22\22\22\22\22\22b\22bff\22bf\E6\22fff#4BB$\00\00\00$\11$!$\11DB$$\00\00$$$\00$$$\11$$$$$$$D$ff\06&\22\22\22@@@@@DDDA#$DA$$DABBBADDDB\11$DBB\22$BBB\02BBBBBD\12DBDBBD\04\04DD@DDDB$DDBB\22DD\22\22DDD\00DDD\04DDD$DDDDDDDdDD`fDDd\06DDdbDDdfDdffFDDDUUUUUfff`\06\00\00`f\06f`f\10\11`f\16\11`ff\00`fffa\00\00\00a\11\11\11a\11ffa\16\11\11af\06\00affff\00\00\00f\00fff\06\00\00f\06\00\06f\06\00`f\06\00ff\06fff\11\01\00f\11\11\11f!\01\11f$$$f`\16\00f`f\00f`fffaf\16faffff\00\00ff\00`ff\00fff\01\00ff\06\00ff\06\06ff\06`ff\06fff\11\11ff\16\11ff\16aff&fff``ffadfff\00fff\01fff\06fff\11fff\16fff`ffffffv\07if\16\11ifff\99\99ff\99\99\99i\CCfff\DE\CC\CC\EE\EE\EE\EE\EE", [1680 x i8] c"\04\06\07\00\00\00\00\00\00\00\00\00\00\00\00\05\01\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\00\00\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\0D\00\00\00\00\00\00QQRR\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\1B\1B\19\0F\1F\1F\1D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\03SSSUUUT\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\1B\1B\19\0F\1F\1F\1D\00\00\00\00\00\00\04\00\1B\1B\1A\1A\1F\1F\1E ((((((1\10,*(((((2\11.3%)/0$\064,-((\12((((((((((((((((((('\08(((((((((((#GIFHGIGIFH\16\17GIMNGIGIGIEJ\09OCKDL\09P((((5(&\00\00\00\07\1367\0B\0089\0C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\01:\0E\1B\18\1C\0F\1F\22!;(((<\00>>\1B\1B\1B\1B\1F\1F\1F\1F==((((#\0A((((((\10+(((('#((\00\00\00\00\14@@@?\00\15BBBA\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00WWWWVYYYYX\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\001\00\00\00\00\00\00\00Y\00\00\00\00\00\00\00^^\00\00\00\00\00\03\00\00\00\00\00\00\000\00\00\00\00\00\00\1C\1D\1E\1C\00\00\00#$\00%%\00\00\00E\00\00\00\00\00\00\00N\00\00\00\00\00\00\05\06\05\06\05\06\00\00+\00\00,\00\00\00\00/\00\00\00\00\00\00\00Z[\00\00\00\00\00\01\01\01\01\01\01\01\00\02\02\02\02\02\02\02\00\05\06\05\06\05\06\05\00\0B\05\06\05\06\0C\05\00\1C\1D\1E\05\06 !\00&\00'\00\00\00\00\00CCCCCCC\00DDDDDDD\00F\00F\00F\00F\00G\00G\00G\00G\01\01\00\01\01\01\01\01\01\01\01\00\00\00\00\00\01\01\01\01\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\015666\02\02\02\00\00\00\00\00\02\02\02\02\02\02\02\00\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\04\02\02\02\02899\00\02\027\02\02\02\02\02\05\06\00\00\00\00\00\00\05\06\00\00\05\06\00\1B\05\06\00\00\13\15\16\17\05\06\05\06\00\00\00\00\05\06\05\06\05\06\00\00\05\06\05\06\05\06\05\06\05\06\05\06\05\06\18\05\06\00\05\06\05\06\05\06\06\05\06\05\06\05\06\00\06\05\06\05\06\05\06\05\06\05\06\05\06\1F\05\06\06\0D\0D\05\06\00\0E\0F\06\18\00\00\05\06\18\05\06\19\19\05\06\05\06\1A\07\08\05\06\05\06\05\06\09\05\06\05\06\05\06\0A\10\05\06\0D\11\12\13\14\1D\1E\1C\1D\1E\05\06\05\22\00\05\06\05\06\05\06%\00\00(\00\00\00\00)*\00\00\00\00\00*-\00\00-\00\00\00\00-\00..\00\00\00\00222\003\0044:;\00\00\00<=\00>?\1F\00@A\00\00????????BBBBBBBBCCCCCCC\00CCCCCCCCDDDDDDD\00DDDDDDDDFF\00\00\00\00\00\00FF\00\00\00T\00\00FF\00N\00\00\00\00FFFFFF\00\00FFFFFFFFGGGGGG\00\00GGGGGGGGGGOOP\00Q\00GGSS\00\00\00\00GGUUV\00\00\00HHIIIIJJKKLLMM\00\00RRRRP\00\00\00WWXXP\00\00\00\\\\\\\\\\\\\\\\]]]]]]]]^^^^^^^^__\00\00\00\00\00\00________``````\00\00````````aaaaaa\00\00aaaaaaaa", [196 x i16] [i16 0, i16 0, i16 0, i16 32, i16 -32, i16 0, i16 743, i16 0, i16 121, i16 0, i16 0, i16 1, i16 -1, i16 0, i16 0, i16 -199, i16 -232, i16 0, i16 0, i16 -121, i16 -300, i16 0, i16 0, i16 210, i16 0, i16 206, i16 0, i16 205, i16 0, i16 79, i16 0, i16 202, i16 0, i16 203, i16 0, i16 207, i16 97, i16 0, i16 0, i16 211, i16 0, i16 209, i16 0, i16 213, i16 130, i16 0, i16 0, i16 214, i16 0, i16 218, i16 0, i16 217, i16 0, i16 219, i16 56, i16 0, i16 0, i16 2, i16 -1, i16 1, i16 -2, i16 0, i16 -79, i16 0, i16 0, i16 -97, i16 0, i16 -56, i16 0, i16 -130, i16 -210, i16 0, i16 -206, i16 0, i16 -205, i16 0, i16 -202, i16 0, i16 -203, i16 0, i16 -207, i16 0, i16 -209, i16 0, i16 -211, i16 0, i16 -213, i16 0, i16 -214, i16 0, i16 -218, i16 0, i16 -217, i16 0, i16 -219, i16 0, i16 84, i16 0, i16 0, i16 38, i16 0, i16 37, i16 0, i16 64, i16 0, i16 63, i16 -38, i16 0, i16 -37, i16 0, i16 -31, i16 0, i16 -64, i16 0, i16 -63, i16 0, i16 -62, i16 0, i16 -57, i16 0, i16 -47, i16 0, i16 -54, i16 0, i16 -86, i16 0, i16 -80, i16 0, i16 0, i16 -60, i16 -96, i16 0, i16 0, i16 80, i16 0, i16 48, i16 -48, i16 0, i16 -59, i16 0, i16 8, i16 0, i16 0, i16 -8, i16 74, i16 0, i16 86, i16 0, i16 100, i16 0, i16 128, i16 0, i16 112, i16 0, i16 126, i16 0, i16 9, i16 0, i16 0, i16 -74, i16 0, i16 -9, i16 -7205, i16 0, i16 0, i16 -86, i16 0, i16 -100, i16 7, i16 0, i16 0, i16 -112, i16 0, i16 -7, i16 0, i16 -128, i16 0, i16 -126, i16 0, i16 -7517, i16 0, i16 -8383, i16 0, i16 -8262, i16 0, i16 16, i16 -16, i16 0, i16 0, i16 26, i16 -26, i16 0, i16 0, i16 40, i16 -40, i16 0], [51 x i8] c"\000\001\002\003\004\005\006\007\008\009\00\DB\B0\00\DB\B1\00\DB\B2\00\DB\B3\00\DB\B4\00\DB\B5\00\DB\B6\00\DB\B7\00\DB\B8\00\DB\B9\00", [28 x i8] c"\00.\00,\00\03\00\03\02\00\A0\00\C2\A0\00 \00\D9\AB\00\D9\AC\00'\00\02\03\00", [1646 x i8] c"\00\7F\00-\00ZAR \00R\00,\00.\00\03\00\02\00\01\00-R\00ETB \00$\00-$\00AED \00\CF.\C5.\00-\CF.\C5.\00\D8\AF.\D8\A5.\00-\D8\AF.\D8\A5.\00BHD \00\CF.\C8.\00-\CF.\C8.\00\D8\AF.\D8\A8.\00-\D8\AF.\D8\A8.\00DZD \00\CF.\CC.\00-\CF.\CC.\00\D8\AF.\D8\AC.\00-\D8\AF.\D8\AC.\00EGP \00\CC.\E5.\00-\CC.\E5.\00\D8\AC.\D9\85.\00-\D8\AC.\D9\85.\00INR \00\E2\82\A8\00\03\02\00-\E2\82\A8\00IQD \00\CF.\D9.\00-\CF.\D9.\00\D8\AF.\D8\B9.\00-\D8\AF.\D8\B9.\00JOD \00\CF.\C3.\00-\CF.\C3.\00\D8\AF.\D8\A3.\00-\D8\AF.\D8\A3.\00KWD \00\CF.\E3.\00-\CF.\E3.\00\D8\AF.\D9\83.\00-\D8\AF.\D9\83.\00LBP \00\E4.\E4.\00-\E4.\E4.\00\D9\84.\D9\84.\00-\D9\84.\D9\84.\00LYD \00\CF.\E4.\00-\CF.\E4.\00\D8\AF.\D9\84.\00-\D8\AF.\D9\84.\00MAD \00\CF.\E5.\00-\CF.\E5.\00\D8\AF.\D9\85.\00-\D8\AF.\D9\85.\00OMR \00\D1.\D9.\00-\D1.\D9.\00\D8\B1.\D8\B9.\00-\D8\B1.\D8\B9.\00QAR \00\D1.\E2.\00-\D1.\E2.\00\D8\B1.\D9\82.\00-\D8\B1.\D9\82.\00SAR \00\D1\EA\C7\E4\00+\D1\EA\C7\E4\00\D8\B1\D9\8A\D8\A7\D9\84\00+\D8\B1\D9\8A\D8\A7\D9\84\00SDP \00\CC.\D3.\00-\CC.\D3.\00\D8\AC.\D8\B3.\00-\D8\AC.\D8\B3.\00SYP \00\E4.\D3.\00-\E4.\D3.\00\D9\84.\D8\B3.\00-\D9\84.\D8\B3.\00TND \00\CF.\CA.\00-\CF.\CA.\00\D8\AF.\D8\AA.\00-\D8\AF.\D8\AA.\00YER \00\D1.\EA.\00-\D1.\EA.\00\D8\B1.\D9\8A.\00-\D8\B1.\D9\8A.\00AZM \00man.\00 \00+man.\00BYR \00\F0\F3\E1\00+\F0\F3\E1\00\D1\80\D1\83\D0\B1\00+\D1\80\D1\83\D0\B1\00BGL \00\EB\E2\00\A0\00+\EB\E2\00\D0\BB\D0\B2\00\C2\A0\00+\D0\BB\D0\B2\00\E0\A7\B3\00-\E0\A7\B3\00\E0\A6\9F\E0\A6\BE\E0\A6\95\E0\A6\BE\00\02\03\00-\E0\A6\9F\E0\A6\BE\E0\A6\95\E0\A6\BE\00EUR \00EUR\00+EUR\00\E2\82\AC\00+\E2\82\AC\00BAK \00KM\00-KM\00-EUR\00-\E2\82\AC\00\A4\00-\A4\00CZK \00K\E8\00+K\E8\00K\C4\8D\00+K\C4\8D\00GBP \00\A3\00-\A3\00\C2\A3\00-\C2\A3\00DKK \00kr\00\04\00-kr\00CHF \00Fr.\00-Fr.\00+\A4\00AUD \00BWP \00Pu\00-Pu\00CAD \00\C2\A4\00-\C2\A4\00HKD \00HK$\00-HK$\00NZD \00PHP \00Php\00-Php\00SGD \00USD \00ZWD \00Z$\00-Z$\00-EUR \00ARS \00BOB \00$b\00-$b\00CLP \00COP \00CRC \00C\00-C\00DOP \00ECS \00GTQ \00Q\00-Q\00HNL \00L.\00-L.\00MXP \00NIO \00$C\00-$C\00PAB \00B/\00-B/\00PEN \00S/\00-S/\00PYG \00Gs.\00-Gs.\00SVC \00\A2\00-\A2\00\C2\A2\00-\C2\A2\00UYU \00N$\00-N$\00VEB \00Bs.\00-Bs.\00EEK \00IRR \00\D8\B1\DB\8C\D8\A7\D9\84\00\D9\AB\00\D9\AC\00+\D8\B1\DB\8C\D8\A7\D9\84\00+$\00ILS \00\F9\E7\00-\F9\E7\00\D7\A9\D7\97\00-\D7\A9\D7\97\00\E0\A4\B0\E0\A5\82\00-\E0\A4\B0\E0\A5\82\00HRK \00Kn\00-Kn\00HUF \00Ft\00+Ft\00AMD \00\B8\00-\B8\00\D4\B4\00-\D4\B4\00IDR \00Rp\00-Rp\00ISK \00+kr\00JPY \00\EF\BF\A5\00-\EF\BF\A5\00GEL \00\CB\00-\CB\00\E1\83\9A\00-\E1\83\9A\00KRW \00\EF\BF\A6\00-\EF\BF\A6\00LTL \00Lt\00+Lt\00LVL \00Ls\00-Ls\00MKD \00\D4\D5\DD\00+\D4\D5\DD\00\D0\B4\D0\B5\D0\BD\00+\D0\B4\D0\B5\D0\BD\00\E0\A4\B0\E0\A5\81\00-\E0\A4\B0\E0\A5\81\00MYR \00RM\00-RM\00MTL \00Lm\00-Lm\00NOK \00PLN \00Z\B3\00-Z\B3\00Z\C5\82\00-Z\C5\82\00BRL \00R$\00+R$\00ROL \00Lei\00-Lei\00RUR \00\D2\D5\C2\00+\D2\D5\C2\00\E0\E3\D1\00+\E0\E3\D1\00UAH \00\C7\D2\00+\C7\D2\00\D0\B3\D1\80\00+\D0\B3\D1\80\00 ru\00- ru\00SKK \00Sk\00+Sk\00SIT \00SIT\00+SIT\00ALL \00Lek\00-Lek\00YUN \00din\00-din\00\D4\D8\DD\00-\D4\D8\DD\00\D0\B4\D0\B8\D0\BD\00-\D0\B4\D0\B8\D0\BD\00SEK \00THB \00\DF\00-\DF\00\E0\B8\BF\00-\E0\B8\BF\00ERB \00PhP\00-PhP\00TRL \00TL\00+TL\00PKR \00Rs\00-Rs\00UZS \00so'm\00-so'm\00VND \00\E2\82\AB\00+\E2\82\AB\00CNY \00TWD \00NT$\00-NT$\00", [28353 x i8] c"\00Sun\00Mon\00Tue\00Wed\00Thu\00Fri\00Sat\00Sunday\00Monday\00Tuesday\00Wednesday\00Thursday\00Friday\00Saturday\00Jan\00Feb\00Mar\00Apr\00May\00Jun\00Jul\00Aug\00Sep\00Oct\00Nov\00Dec\00January\00February\00March\00April\00June\00July\00August\00September\00October\00November\00December\00AM\00PM\00%a %b %e %H:%M:%S %Y\00%m/%d/%y\00%H:%M:%S\00%I:%M:%S %p\00So\00Ma\00Di\00Wo\00Do\00Vr\00Sa\00Sondag\00Maandag\00Dinsdag\00Woensdag\00Donderdag\00Vrydag\00Saterdag\00Mei\00Okt\00Des\00Januarie\00Februarie\00Maart\00Junie\00Julie\00Augustus\00Oktober\00Desember\00VM\00NM\00%a %d %b %Y %T %Z\00%d/%m/%y\00%T\00\E1\8A\A5\E1\88\91\E1\8B\B5\00\E1\88\B0\E1\8A\9E\00\E1\88\9B\E1\8A\AD\E1\88\B0\E1\8A\9E\00\E1\88\A8\E1\89\A1\E1\8B\95\00\E1\88\90\E1\88\99\E1\88\B5\00\E1\8B\93\E1\88\AD\E1\89\A5\00\E1\89\85\E1\8B\B3\E1\88\9C\00\E1\8C\83\E1\8A\95\E1\8B\A9\00\E1\8D\8C\E1\89\A5\E1\88\A9\00\E1\88\9B\E1\88\AD\E1\89\BD\00\E1\8A\A4\E1\8D\95\E1\88\A8\00\E1\88\9C\E1\8B\AD\00\E1\8C\81\E1\8A\95\00\E1\8C\81\E1\88\8B\E1\8B\AD\00\E1\8A\A6\E1\8C\88\E1\88\B5\00\E1\88\B4\E1\8D\95\E1\89\B4\00\E1\8A\A6\E1\8A\AD\E1\89\B0\00\E1\8A\96\E1\89\AC\E1\88\9D\00\E1\8B\B2\E1\88\B4\E1\88\9D\00\E1\8C\83\E1\8A\95\E1\8B\A9\E1\8B\88\E1\88\AA\00\E1\8D\8C\E1\89\A5\E1\88\A9\E1\8B\88\E1\88\AA\00\E1\8A\A4\E1\8D\95\E1\88\A8\E1\88\8D\00\E1\8A\A6\E1\8C\88\E1\88\B5\E1\89\B5\00\E1\88\B4\E1\8D\95\E1\89\B4\E1\88\9D\E1\89\A0\E1\88\AD\00\E1\8A\A6\E1\8A\AD\E1\89\B0\E1\8B\8D\E1\89\A0\E1\88\AD\00\E1\8A\96\E1\89\AC\E1\88\9D\E1\89\A0\E1\88\AD\00\E1\8B\B2\E1\88\B4\E1\88\9D\E1\89\A0\E1\88\AD\00\E1\8C\A0\E1\8B\8B\E1\89\B5\00\E1\8A\A8\E1\88\B3\E1\8B\93\E1\89\B5\00%A\E1\8D\A3 %b %e \E1\89\80\E1\8A\95 %l:%M:%S %Z %Y\00%d/%m/%Y\00%r\00\CD\00\E6\00\CB\00\D1\00\CE\00\CC\00\D3\00\C7\E4\C3\CD\CF\00\C7\E4\C7\CB\E6\EA\E6\00\C7\E4\CB\E4\C7\CB\C7\C1\00\C7\E4\C3\D1\C8\D9\C7\C1\00\C7\E4\CE\E5\EA\D3\00\C7\E4\CC\E5\D9\C9\00\C7\E4\D3\C8\CA \00\EA\E6\C7\00\E1\C8\D1\00\E5\C7\D1\00\C3\C8\D1\00\E5\C7\EA\00\EA\E8\E6\00\EA\E8\E4\00\C3\DA\D3\00\D3\C8\CA\00\C3\E3\CA\00\E6\E8\E1\00\CF\EA\D3\00\EA\E6\C7\EA\D1\00\E1\C8\D1\C7\EA\D1\00\E5\C7\D1\D3\00\C3\C8\D1\EA\E4\00\E5\C7\EA\E8\00\EA\E8\E6\EA\E8\00\EA\E8\E4\EA\E8\00\C3\DA\D3\D7\D3\00\D3\C8\CA\E5\C8\D1\00\C3\E3\CA\E8\C8\D1\00\E6\E8\E1\E5\C8\D1\00\CF\EA\D3\E5\C8\D1\00\D5\00\E5\00%d %b, %Y %Z %I:%M:%S %p\00%d %b, %Y\00%Z %I:%M:%S \00%Z %I:%M:%S %p\00\D8\AD\00\D9\86\00\D8\AB\00\D8\B1\00\D8\AE\00\D8\AC\00\D8\B3\00\D8\A7\D9\84\D8\A3\D8\AD\D8\AF\00\D8\A7\D9\84\D8\A7\D8\AB\D9\86\D9\8A\D9\86\00\D8\A7\D9\84\D8\AB\D9\84\D8\A7\D8\AB\D8\A7\D8\A1\00\D8\A7\D9\84\D8\A3\D8\B1\D8\A8\D8\B9\D8\A7\D8\A1\00\D8\A7\D9\84\D8\AE\D9\85\D9\8A\D8\B3\00\D8\A7\D9\84\D8\AC\D9\85\D8\B9\D8\A9\00\D8\A7\D9\84\D8\B3\D8\A8\D8\AA \00\D9\8A\D9\86\D8\A7\00\D9\81\D8\A8\D8\B1\00\D9\85\D8\A7\D8\B1\00\D8\A3\D8\A8\D8\B1\00\D9\85\D8\A7\D9\8A\00\D9\8A\D9\88\D9\86\00\D9\8A\D9\88\D9\84\00\D8\A3\D8\BA\D8\B3\00\D8\B3\D8\A8\D8\AA\00\D8\A3\D9\83\D8\AA\00\D9\86\D9\88\D9\81\00\D8\AF\D9\8A\D8\B3\00\D9\8A\D9\86\D8\A7\D9\8A\D8\B1\00\D9\81\D8\A8\D8\B1\D8\A7\D9\8A\D8\B1\00\D9\85\D8\A7\D8\B1\D8\B3\00\D8\A3\D8\A8\D8\B1\D9\8A\D9\84\00\D9\85\D8\A7\D9\8A\D9\88\00\D9\8A\D9\88\D9\86\D9\8A\D9\88\00\D9\8A\D9\88\D9\84\D9\8A\D9\88\00\D8\A3\D8\BA\D8\B3\D8\B7\D8\B3\00\D8\B3\D8\A8\D8\AA\D9\85\D8\A8\D8\B1\00\D8\A3\D9\83\D8\AA\D9\88\D8\A8\D8\B1\00\D9\86\D9\88\D9\81\D9\85\D8\A8\D8\B1\00\D8\AF\D9\8A\D8\B3\D9\85\D8\A8\D8\B1\00\D8\B5\00\D9\85\00\C7\E4\D3\C8\CA\00\D8\A7\D9\84\D8\B3\D8\A8\D8\AA\00%A %d %B %Y %I:%M:%S %p %Z\00%A %d %B %Y\00%I:%M:%S %Z\00%I:%M:%S %p %Z\00\E3\C7\E6\E8\E6 \C7\E4\CB\C7\E6\EA\00\D4\C8\C7\D7\00\C2\D0\C7\D1\00\E6\EA\D3\C7\E6\00\E6\E8\C7\D1\00\CD\D2\EA\D1\C7\E6\00\CA\E5\E8\D2\00\C2\C8\00\C3\EA\E4\E8\E4\00\CA\D4\D1\EA\E6 \C7\E4\C3\E8\E4\00\CA\D4\D1\EA\E6 \C7\E4\CB\C7\E6\EA\00\E3\C7\E6\E8\E6 \C7\E4\C3\E8\E4\00\D9\83\D8\A7\D9\86\D9\88\D9\86 \D8\A7\D9\84\D8\AB\D8\A7\D9\86\D9\8A\00\D8\B4\D8\A8\D8\A7\D8\B7\00\D8\A2\D8\B0\D8\A7\D8\B1\00\D9\86\D9\8A\D8\B3\D8\A7\D9\86\00\D9\86\D9\88\D8\A7\D8\B1\00\D8\AD\D8\B2\D9\8A\D8\B1\D8\A7\D9\86\00\D8\AA\D9\85\D9\88\D8\B2\00\D8\A2\D8\A8\00\D8\A3\D9\8A\D9\84\D9\88\D9\84\00\D8\AA\D8\B4\D8\B1\D9\8A\D9\86 \D8\A7\D9\84\D8\A3\D9\88\D9\84\00\D8\AA\D8\B4\D8\B1\D9\8A\D9\86 \D8\A7\D9\84\D8\AB\D8\A7\D9\86\D9\8A\00\D9\83\D8\A7\D9\86\D9\88\D9\86 \D8\A7\D9\84\D8\A3\D9\88\D9\84\00\C7\E4\C5\CB\E6\EA\E6\00\C7\E4\CC\E5\D9\E0\C9\00\E6\EA\D3\E0\C7\E6\00\C3\EA\C7\D1\00\CA\E0\E5\E0\E8\D2\00%A %.1d %B %Y %.1H:%M:%S\00%A %.1d %B %Y\00%.1H:%M:%S\00\D8\A7\D9\84\D8\A5\D8\AB\D9\86\D9\8A\D9\86\00\D8\A7\D9\84\D8\AC\D9\85\D8\B9\D9\80\D8\A9\00\D9\86\D9\8A\D8\B3\D9\80\D8\A7\D9\86\00\D8\A3\D9\8A\D8\A7\D8\B1\00\D8\AA\D9\80\D9\85\D9\80\D9\88\D8\B2\00\E6\E8\C7\D1\C7\E6\00\CD\D2\EA\D1\00\D9\86\D9\88\D8\A7\D8\B1\D8\A7\D9\86\00\D8\AD\D8\B2\D9\8A\D8\B1\00baz\00bir\00iki\00\FC\E7\FC\00d\F6r\00be\FE\00alt\00bazar g\FCn\FC\00birinci g\FCn\00ikinci g\FCn\00\FC\E7\FCnc\FC g\FCn\00d\F6rd\FCnc\FC g\FCn\00be\FEinci g\FCn\00alt\FDnc\FD g\FCn\00Yan\00Fev\00\DDyn\00\DDyl\00Avq\00Sen\00Noy\00Dek\00yanvar\00fevral\00mart\00aprel\00may\00iyun\00iyul\00avqust\00sentyabr\00oktyabr\00noyabr\00dekabr\00%A, %d %B %Y %T\00%d.%m.%Y\00\C3\BC\C3\A7\C3\BC\00d\C3\B6r\00be\C5\9F\00bazar g\C3\BCn\C3\BC\00birinci g\C3\BCn\00ikinci g\C3\BCn\00\C3\BC\C3\A7\C3\BCnc\C3\BC g\C3\BCn\00d\C3\B6rd\C3\BCnc\C3\BC g\C3\BCn\00be\C5\9Finci g\C3\BCn\00alt\C4\B1nc\C4\B1 g\C3\BCn\00\C4\B0yn\00\C4\B0yl\00\CD\FF\E4\00\CF\E0\ED\00\C0\A2\F2\00\D1\F0\E4\00\D7\F6\E2\00\CF\FF\F2\00\D1\F3\E1\00\CD\FF\E4\E7\E5\EB\FF\00\CF\E0\ED\FF\E4\E7\E5\EB\E0\EA\00\C0\A2\F2\EE\F0\E0\EA\00\D1\E5\F0\E0\E4\E0\00\D7\E0\F6\E2\E5\F0\00\CF\FF\F2\ED\B3\F6\E0\00\D1\F3\E1\EE\F2\E0\00\D1\F2\E4\00\CB\FE\F2\00\D1\E0\EA\00\CA\F0\F1\00\D2\F0\E0\00\D7\FD\F0\00\CB\B3\EF\00\C6\ED\E2\00\C2\F0\F1\00\CA\F1\F2\00\CB\B3\F1\00\D1\ED\E6\00\D1\F2\F3\E4\E7\E5\ED\FC\00\CB\FE\F2\FB\00\D1\E0\EA\E0\E2\B3\EA\00\CA\F0\E0\F1\E0\E2\B3\EA\00\D2\F0\E0\E2\E5\ED\FC\00\D7\FD\F0\E2\E5\ED\FC\00\CB\B3\EF\E5\ED\FC\00\C6\ED\B3\E2\E5\ED\FC\00\C2\E5\F0\E0\F1\E5\ED\FC\00\CA\E0\F1\F2\F0\FB\F7\ED\B3\EA\00\CB\B3\F1\F2\E0\EF\E0\E4\00\D1\ED\E5\E6\E0\ED\FC\00%a %d %b %Y %T\00\D0\9D\D1\8F\D0\B4\00\D0\9F\D0\B0\D0\BD\00\D0\90\D1\9E\D1\82\00\D0\A1\D1\80\D0\B4\00\D0\A7\D1\86\D0\B2\00\D0\9F\D1\8F\D1\82\00\D0\A1\D1\83\D0\B1\00\D0\9D\D1\8F\D0\B4\D0\B7\D0\B5\D0\BB\D1\8F\00\D0\9F\D0\B0\D0\BD\D1\8F\D0\B4\D0\B7\D0\B5\D0\BB\D0\B0\D0\BA\00\D0\90\D1\9E\D1\82\D0\BE\D1\80\D0\B0\D0\BA\00\D0\A1\D0\B5\D1\80\D0\B0\D0\B4\D0\B0\00\D0\A7\D0\B0\D1\86\D0\B2\D0\B5\D1\80\00\D0\9F\D1\8F\D1\82\D0\BD\D1\96\D1\86\D0\B0\00\D0\A1\D1\83\D0\B1\D0\BE\D1\82\D0\B0\00\D0\A1\D1\82\D0\B4\00\D0\9B\D1\8E\D1\82\00\D0\A1\D0\B0\D0\BA\00\D0\9A\D1\80\D1\81\00\D0\A2\D1\80\D0\B0\00\D0\A7\D1\8D\D1\80\00\D0\9B\D1\96\D0\BF\00\D0\96\D0\BD\D0\B2\00\D0\92\D1\80\D1\81\00\D0\9A\D1\81\D1\82\00\D0\9B\D1\96\D1\81\00\D0\A1\D0\BD\D0\B6\00\D0\A1\D1\82\D1\83\D0\B4\D0\B7\D0\B5\D0\BD\D1\8C\00\D0\9B\D1\8E\D1\82\D1\8B\00\D0\A1\D0\B0\D0\BA\D0\B0\D0\B2\D1\96\D0\BA\00\D0\9A\D1\80\D0\B0\D1\81\D0\B0\D0\B2\D1\96\D0\BA\00\D0\A2\D1\80\D0\B0\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\A7\D1\8D\D1\80\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\9B\D1\96\D0\BF\D0\B5\D0\BD\D1\8C\00\D0\96\D0\BD\D1\96\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\92\D0\B5\D1\80\D0\B0\D1\81\D0\B5\D0\BD\D1\8C\00\D0\9A\D0\B0\D1\81\D1\82\D1\80\D1\8B\D1\87\D0\BD\D1\96\D0\BA\00\D0\9B\D1\96\D1\81\D1\82\D0\B0\D0\BF\D0\B0\D0\B4\00\D0\A1\D0\BD\D0\B5\D0\B6\D0\B0\D0\BD\D1\8C\00\ED\E4\00\EF\ED\00\E2\F2\00\F1\F0\00\F7\F2\00\EF\F2\00\F1\E1\00\ED\E5\E4\E5\EB\FF\00\EF\EE\ED\E5\E4\E5\EB\ED\E8\EA\00\E2\F2\EE\F0\ED\E8\EA\00\F1\F0\FF\E4\E0\00\F7\E5\F2\E2\FA\F0\F2\FA\EA\00\EF\E5\F2\FA\EA\00\F1\FA\E1\EE\F2\E0\00\FF\ED\F3\00\F4\E5\E2\00\EC\E0\F0\00\E0\EF\F0\00\EC\E0\E9\00\FE\ED\E8\00\FE\EB\E8\00\E0\E2\E3\00\F1\E5\EF\00\EE\EA\F2\00\ED\EE\E5\00\E4\E5\EA\00\FF\ED\F3\E0\F0\E8\00\F4\E5\E2\F0\F3\E0\F0\E8\00\EC\E0\F0\F2\00\E0\EF\F0\E8\EB\00\E0\E2\E3\F3\F1\F2\00\F1\E5\EF\F2\E5\EC\E2\F0\E8\00\EE\EA\F2\EE\EC\E2\F0\E8\00\ED\EE\E5\EC\E2\F0\E8\00\E4\E5\EA\E5\EC\E2\F0\E8\00%x (%a) %X %Z\00%e.%m.%Y\00%k,%M,%S\00%l,%M,%S\00\D0\BD\D0\B4\00\D0\BF\D0\BD\00\D0\B2\D1\82\00\D1\81\D1\80\00\D1\87\D1\82\00\D0\BF\D1\82\00\D1\81\D0\B1\00\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D1\8F\00\D0\BF\D0\BE\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D0\BD\D0\B8\D0\BA\00\D0\B2\D1\82\D0\BE\D1\80\D0\BD\D0\B8\D0\BA\00\D1\81\D1\80\D1\8F\D0\B4\D0\B0\00\D1\87\D0\B5\D1\82\D0\B2\D1\8A\D1\80\D1\82\D1\8A\D0\BA\00\D0\BF\D0\B5\D1\82\D1\8A\D0\BA\00\D1\81\D1\8A\D0\B1\D0\BE\D1\82\D0\B0\00\D1\8F\D0\BD\D1\83\00\D1\84\D0\B5\D0\B2\00\D0\BC\D0\B0\D1\80\00\D0\B0\D0\BF\D1\80\00\D0\BC\D0\B0\D0\B9\00\D1\8E\D0\BD\D0\B8\00\D1\8E\D0\BB\D0\B8\00\D0\B0\D0\B2\D0\B3\00\D1\81\D0\B5\D0\BF\00\D0\BE\D0\BA\D1\82\00\D0\BD\D0\BE\D0\B5\00\D0\B4\D0\B5\D0\BA\00\D1\8F\D0\BD\D1\83\D0\B0\D1\80\D0\B8\00\D1\84\D0\B5\D0\B2\D1\80\D1\83\D0\B0\D1\80\D0\B8\00\D0\BC\D0\B0\D1\80\D1\82\00\D0\B0\D0\BF\D1\80\D0\B8\D0\BB\00\D0\B0\D0\B2\D0\B3\D1\83\D1\81\D1\82\00\D1\81\D0\B5\D0\BF\D1\82\D0\B5\D0\BC\D0\B2\D1\80\D0\B8\00\D0\BE\D0\BA\D1\82\D0\BE\D0\BC\D0\B2\D1\80\D0\B8\00\D0\BD\D0\BE\D0\B5\D0\BC\D0\B2\D1\80\D0\B8\00\D0\B4\D0\B5\D0\BA\D0\B5\D0\BC\D0\B2\D1\80\D0\B8\00\E0\A6\B0\E0\A6\AC\E0\A6\BF\00\E0\A6\B8\E0\A7\8B\E0\A6\AE\00\E0\A6\AE\E0\A6\99\E0\A6\97\E0\A6\B2\00\E0\A6\AC\E0\A7\81\E0\A6\A7\00\E0\A6\AC\E0\A7\83\E0\A6\B9\E0\A6\B8\E0\A7\8D\E0\A6\AA\E0\A6\A4\E0\A6\BF\00\E0\A6\B6\E0\A7\81\E0\A6\95\E0\A7\8D\E0\A6\B0\00\E0\A6\B6\E0\A6\A8\E0\A6\BF\00\E0\A6\B0\E0\A6\AC\E0\A6\BF\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B8\E0\A7\8B\E0\A6\AE\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\AE\E0\A6\99\E0\A6\97\E0\A6\B2\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\AC\E0\A7\81\E0\A6\A7\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\AC\E0\A7\83\E0\A6\B9\E0\A6\B8\E0\A7\8D\E0\A6\AA\E0\A6\A4\E0\A6\BF\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B6\E0\A7\81\E0\A6\95\E0\A7\8D\E0\A6\B0\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B6\E0\A6\A8\E0\A6\BF\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\9C\E0\A6\BE\E0\A6\A8\00\E0\A6\AB\E0\A7\87\E0\A6\AC\00\E0\A6\AE\E0\A6\BE\E0\A6\B0\00\E0\A6\8F\E0\A6\AA\E0\A7\8D\E0\A6\B0\00\E0\A6\AE\E0\A7\87\00\E0\A6\9C\E0\A7\81\E0\A6\A8\00\E0\A6\9C\E0\A7\81\E0\A6\B2\00\E0\A6\86\E0\A6\97\00\E0\A6\B8\E0\A7\87\E0\A6\AA\00\E0\A6\85\E0\A6\95\E0\A7\8D\E0\A6\9F\E0\A7\8B\E0\A6\AC\E0\A6\B0\00\E0\A6\A8\E0\A6\AD\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\B0\00\E0\A6\A1\E0\A6\BF\E0\A6\B8\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\B0\00\E0\A6\9C\E0\A6\BE\E0\A6\A8\E0\A7\81\E0\A7\9F\E0\A6\BE\E0\A6\B0\E0\A7\80\00\E0\A6\AB\E0\A7\87\E0\A6\AC\E0\A7\8D\E0\A6\B0\E0\A7\81\E0\A7\9F\E0\A6\BE\E0\A6\B0\E0\A7\80\00\E0\A6\AE\E0\A6\BE\E0\A6\B0\E0\A7\8D\E0\A6\9A\00\E0\A6\8F\E0\A6\AA\E0\A7\8D\E0\A6\B0\E0\A6\BF\E0\A6\B2\00\E0\A6\9C\E0\A7\81\E0\A6\B2\E0\A6\BE\E0\A6\87\00\E0\A6\86\E0\A6\97\E0\A6\B8\E0\A7\8D\E0\A6\9F\00\E0\A6\B8\E0\A7\87\E0\A6\AA\E0\A7\8D\E0\A6\9F\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\85\E0\A6\95\E0\A7\8D\E0\A6\9F\E0\A7\8B\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\A8\E0\A6\AD\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\A1\E0\A6\BF\E0\A6\B8\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B8\E0\A6\95\E0\A6\BE\E0\A6\B2\00\E0\A6\AC\E0\A6\BF\E0\A6\95\E0\A6\BE\E0\A6\B2\00%A %d %b %Y %I:%M:%S %p %Z\00%A %d %b %Y\00\E0\A6\B8\E0\A7\87\E0\A6\AA\E0\A7\8D\E0\A6\9F\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\B0\00\E0\A6\AA\E0\A7\82\E0\A6\B0\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B9\E0\A7\8D\E0\A6\A3\00\E0\A6\85\E0\A6\AA\E0\A6\B0\E0\A6\BE\E0\A6\B9\E0\A7\8D\E0\A6\A3\00sul\00lun\00meu\00mer\00yao\00gwe\00sad\00meurzh\00merc'her\00yaou\00gwener\00sadorn\00Gen \00C'hw\00Meu \00Ebr \00Mae \00Eve \00Gou \00Eos \00Gwe \00Her \00Du \00Ker \00Genver\00C'hwevrer\00Meurzh\00Ebrel\00Mae\00Mezheven\00Gouere\00Eost\00Gwengolo\00Here\00Du\00Kerzu\00 \00D'ar %A %d a viz %B %Y\00%Ie%M:%S %p\00Ned\00Pon\00Uto\00Sri\00\C8et\00Pet\00Sub\00Nedjelja\00Ponedjeljak\00Utorak\00Srijeda\00\C8etvrtak\00Petak\00Subota\00Maj\00Januar\00Februar\00Mart\00Juni\00Juli\00Septembar\00Oktobar\00Novembar\00Decembar\00\C4\8Cet\00\C4\8Cetvrtak\00dg\00dl\00dt\00dc\00dj\00dv\00ds\00diumenge\00dilluns\00dimarts\00dimecres\00dijous\00divendres\00dissabte\00gen\00feb\00mar\00abr\00mai\00jun\00jul\00ago\00set\00oct\00nov\00des\00gener\00febrer\00mar\E7\00abril\00maig\00juny\00juliol\00agost\00setembre\00octubre\00novembre\00desembre\00mar\C3\A7\00Ne\00Po\00\DAt\00St\00\C8t\00P\E1\00Ned\ECle\00Pond\ECl\ED\00\DAter\FD\00St\F8eda\00\C8tvrtek\00P\E1tek\00Sobota\00led\00\FAno\00b\F8e\00dub\00kv\EC\00\E8en\00\E8ec\00srp\00z\E1\F8\00\F8\EDj\00lis\00pro\00leden\00\FAnor\00b\F8ezen\00duben\00kv\ECten\00\E8erven\00\E8ervenec\00srpen\00z\E1\F8\ED\00\F8\EDjen\00listopad\00prosinec\00%a\A0%e.\A0%B\A0%Y,\A0%H:%M:%S\A0%Z\00%I:%M:%S\00\C3\9At\00\C4\8Ct\00P\C3\A1\00Ned\C4\9Ble\00Pond\C4\9Bl\C3\AD\00\C3\9Ater\C3\BD\00St\C5\99eda\00\C4\8Ctvrtek\00P\C3\A1tek\00\C3\BAno\00b\C5\99e\00kv\C4\9B\00\C4\8Den\00\C4\8Dec\00z\C3\A1\C5\99\00\C5\99\C3\ADj\00\C3\BAnor\00b\C5\99ezen\00kv\C4\9Bten\00\C4\8Derven\00\C4\8Dervenec\00z\C3\A1\C5\99\C3\AD\00\C5\99\C3\ADjen\00%a\C2\A0%e.\C2\A0%B\C2\A0%Y,\C2\A0%H:%M:%S\C2\A0%Z\00Sul\00Llu\00Maw\00Mer\00Iau\00Gwe\00Sad\00Llun\00Mawrth\00Mercher\00Gwener\00Sadwrn\00Ion\00Chw\00Ebr\00Mai\00Meh\00Gor\00Aws\00Med\00Hyd\00Tach\00Rha\00Ionawr\00Chwefror\00Ebrill\00Mehefin\00Gorffennaf\00Awst\00Medi\00Hydref\00Tachwedd\00Rhagfyr\00Dydd %A %d a viz %B %Y %T %Z\00%d.%m.%y\00s\F8n\00man\00tir\00ons\00tor\00fre\00l\F8r\00s\F8ndag\00mandag\00tirsdag\00onsdag\00torsdag\00fredag\00l\F8rdag\00jan\00apr\00maj\00aug\00sep\00okt\00dec\00januar\00februar\00marts\00april\00juni\00juli\00august\00september\00oktober\00november\00december\00%d-%m-%Y\00s\C3\B8n\00l\C3\B8r\00s\C3\B8ndag\00l\C3\B8rdag\00Son\00Die\00Mit\00Don\00Fre\00Sam\00Sonntag\00Montag\00Dienstag\00Mittwoch\00Donnerstag\00Freitag\00Samstag\00J\E4n\00M\E4r\00Dez\00J\E4nner\00Feber\00M\E4rz\00Dezember\00%Y-%m-%d\00J\C3\A4n\00M\C3\A4r\00J\C3\A4nner\00M\C3\A4rz\00\CA\F5\F1\00\C4\E5\F5\00\D4\F1\E9\00\D4\E5\F4\00\D0\E5\EC\00\D0\E1\F1\00\D3\E1\E2\00\CA\F5\F1\E9\E1\EA\DE\00\C4\E5\F5\F4\DD\F1\E1\00\D4\F1\DF\F4\E7\00\D4\E5\F4\DC\F1\F4\E7\00\D0\DD\EC\F0\F4\E7\00\D0\E1\F1\E1\F3\EA\E5\F5\DE\00\D3\DC\E2\E2\E1\F4\EF\00\C9\E1\ED\00\D6\E5\E2\00\CC\DC\F1\00\C1\F0\F1\00\CC\DC\E9\00\C9\EF\FD\ED\00\C9\EF\FD\EB\00\C1\FD\E3\00\D3\E5\F0\00\CF\EA\F4\00\CD\EF\DD\00\C4\E5\EA\00\C9\E1\ED\EF\F5\DC\F1\E9\EF\F2\00\D6\E5\E2\F1\EF\F5\DC\F1\E9\EF\F2\00\CC\DC\F1\F4\E9\EF\F2\00\C1\F0\F1\DF\EB\E9\EF\F2\00\CC\DC\E9\EF\F2\00\C9\EF\FD\ED\E9\EF\F2\00\C9\EF\FD\EB\E9\EF\F2\00\C1\FD\E3\EF\F5\F3\F4\EF\F2\00\D3\E5\F0\F4\DD\EC\E2\F1\E9\EF\F2\00\CF\EA\F4\FE\E2\F1\E9\EF\F2\00\CD\EF\DD\EC\E2\F1\E9\EF\F2\00\C4\E5\EA\DD\EC\E2\F1\E9\EF\F2\00\CE\9A\CF\85\CF\81\00\CE\94\CE\B5\CF\85\00\CE\A4\CF\81\CE\B9\00\CE\A4\CE\B5\CF\84\00\CE\A0\CE\B5\CE\BC\00\CE\A0\CE\B1\CF\81\00\CE\A3\CE\B1\CE\B2\00\CE\9A\CF\85\CF\81\CE\B9\CE\B1\CE\BA\CE\AE\00\CE\94\CE\B5\CF\85\CF\84\CE\AD\CF\81\CE\B1\00\CE\A4\CF\81\CE\AF\CF\84\CE\B7\00\CE\A4\CE\B5\CF\84\CE\AC\CF\81\CF\84\CE\B7\00\CE\A0\CE\AD\CE\BC\CF\80\CF\84\CE\B7\00\CE\A0\CE\B1\CF\81\CE\B1\CF\83\CE\BA\CE\B5\CF\85\CE\AE\00\CE\A3\CE\AC\CE\B2\CE\B2\CE\B1\CF\84\CE\BF\00\CE\99\CE\B1\CE\BD\00\CE\A6\CE\B5\CE\B2\00\CE\9C\CE\AC\CF\81\00\CE\91\CF\80\CF\81\00\CE\9C\CE\AC\CE\B9\00\CE\99\CE\BF\CF\8D\CE\BD\00\CE\99\CE\BF\CF\8D\CE\BB\00\CE\91\CF\8D\CE\B3\00\CE\A3\CE\B5\CF\80\00\CE\9F\CE\BA\CF\84\00\CE\9D\CE\BF\CE\AD\00\CE\94\CE\B5\CE\BA\00\CE\99\CE\B1\CE\BD\CE\BF\CF\85\CE\AC\CF\81\CE\B9\CE\BF\CF\82\00\CE\A6\CE\B5\CE\B2\CF\81\CE\BF\CF\85\CE\AC\CF\81\CE\B9\CE\BF\CF\82\00\CE\9C\CE\AC\CF\81\CF\84\CE\B9\CE\BF\CF\82\00\CE\91\CF\80\CF\81\CE\AF\CE\BB\CE\B9\CE\BF\CF\82\00\CE\9C\CE\AC\CE\B9\CE\BF\CF\82\00\CE\99\CE\BF\CF\8D\CE\BD\CE\B9\CE\BF\CF\82\00\CE\99\CE\BF\CF\8D\CE\BB\CE\B9\CE\BF\CF\82\00\CE\91\CF\8D\CE\B3\CE\BF\CF\85\CF\83\CF\84\CE\BF\CF\82\00\CE\A3\CE\B5\CF\80\CF\84\CE\AD\CE\BC\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00\CE\9F\CE\BA\CF\84\CF\8E\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00\CE\9D\CE\BF\CE\AD\CE\BC\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00\CE\94\CE\B5\CE\BA\CE\AD\CE\BC\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00%a %d %b %Y %r %Z\00%Y-%m-%dT%T %Z\00%A, %B %d, %Y %p%I:%M:%S %Z\00%A, %B %d, %Y\00%I:%M:%S %Z\00%p%I:%M:%S %Z\00%A, %d %B, %Y %I:%M:%S %p %Z\00%A, %d %B, %Y\00%A %d,%B,%Y %I:%M:%S %p %Z\00%A %d,%B,%Y\00%m/%d/%Y\00dim\00\C4\B5a\C5\AD\00ven\00sab\00diman\C4\89o\00lundo\00mardo\00merkredo\00\C4\B5a\C5\ADdo\00vendredo\00sabato\00A\C5\ADg\00Januaro\00Februaro\00Marto\00Aprilo\00Majo\00Junio\00Julio\00A\C5\ADgusto\00Septembro\00Oktobro\00Novembro\00Decembro\00%a %d %b %Y %T %z\00dom\00mi\E9\00jue\00vie\00s\E1b\00domingo\00lunes\00martes\00mi\E9rcoles\00jueves\00viernes\00s\E1bado\00ene\00dic\00enero\00febrero\00marzo\00mayo\00junio\00julio\00agosto\00septiembre\00noviembre\00diciembre\00mi\C3\A9\00s\C3\A1b\00mi\C3\A9rcoles\00s\C3\A1bado\00P\00E\00T\00K\00N\00R\00L\00p\FChap\E4ev\00esmasp\E4ev\00teisip\E4ev\00kolmap\E4ev\00neljap\E4ev\00reede\00laup\E4ev\00jaan \00veebr\00m\E4rts\00apr \00mai \00juuni\00juuli\00aug \00sept \00okt \00nov \00dets \00jaanuar\00veebruar\00aprill\00oktoober\00detsember\00p\C3\BChap\C3\A4ev\00esmasp\C3\A4ev\00teisip\C3\A4ev\00kolmap\C3\A4ev\00neljap\C3\A4ev\00laup\C3\A4ev\00m\C3\A4rts\00ig.\00al.\00ar.\00az.\00og.\00or.\00lr.\00igandea\00astelehena\00asteartea\00asteazkena\00osteguna\00ostirala\00larunbata\00urt\00ots\00api\00eka\00uzt\00abu\00ira\00urr\00aza\00abe\00urtarrila\00otsaila\00martxoa\00apirila\00maiatza\00ekaina\00uztaila\00abuztua\00iraila\00urria\00azaroa\00abendua\00%y-%m-%d %T %Z\00%a, %Y.eko %bren %da\00\DB\8C.\00\D8\AF.\00\D8\B3.\00\DA\86.\00\D9\BE.\00\D8\AC.\00\D8\B4.\00\DB\8C\DA\A9\E2\80\8C\D8\B4\D9\86\D8\A8\D9\87\00\D8\AF\D9\88\D8\B4\D9\86\D8\A8\D9\87\00\D8\B3\D9\87\E2\80\8C\D8\B4\D9\86\D8\A8\D9\87\00\DA\86\D9\87\D8\A7\D8\B1\D8\B4\D9\86\D8\A8\D9\87\00\D9\BE\D9\86\D8\AC\E2\80\8C\D8\B4\D9\86\D8\A8\D9\87\00\D8\AC\D9\85\D8\B9\D9\87\00\D8\B4\D9\86\D8\A8\D9\87\00\DA\98\D8\A7\D9\86\00\D9\81\D9\88\D8\B1\00\D8\A2\D9\88\D8\B1\00\D9\85\D9\80\D9\87\00\DA\98\D9\88\D9\86\00\DA\98\D9\88\DB\8C\00\D8\A7\D9\88\D8\AA\00\D8\B3\D9\BE\D8\AA\00\D8\A7\D9\83\D8\AA\00\D9\86\D9\88\D8\A7\00\D8\AF\D8\B3\D8\A7\00\DA\98\D8\A7\D9\86\D9\88\DB\8C\D9\87\00\D9\81\D9\88\D8\B1\DB\8C\D9\87\00\D8\A2\D9\88\D8\B1\DB\8C\D9\84\00\D9\85\D9\87\00\DA\98\D9\88\D8\A6\D9\86\00\DA\98\D9\88\D8\A6\DB\8C\D9\87\00\D8\B3\D9\BE\D8\AA\D8\A7\D9\85\D8\A8\D8\B1\00\D8\A7\D9\83\D8\AA\D8\A8\D8\B1\00\D9\86\D9\88\D8\A7\D9\85\D8\A8\D8\B1\00\D8\AF\D8\B3\D8\A7\D9\85\D8\A8\D8\B1\00\D8\B5\D8\A8\D8\AD\00\D8\B9\D8\B5\D8\B1\00\E2\80\AB%A %e %B %Y\D8\8C %I:%M:%S %p\E2\80\AC\00%Y/%m/%d\00\E2\80\AB%I:%M:%S %p\E2\80\AC\00su\00ma\00ti\00ke\00to\00pe\00la\00sunnuntai\00maanantai\00tiistai\00keskiviikko\00torstai\00perjantai\00lauantai\00tammi\A0\00helmi\A0\00maalis\00huhti\A0\00touko\A0\00kes\E4\A0\A0\00hein\E4\A0\00elo\A0\A0\A0\00syys\A0\A0\00loka\A0\A0\00marras\00joulu\A0\00tammikuu\00helmikuu\00maaliskuu\00huhtikuu\00toukokuu\00kes\E4kuu\00hein\E4kuu\00elokuu\00syyskuu\00lokakuu\00marraskuu\00joulukuu\00%a %e %B %Y %T\00tammi\C2\A0\00helmi\C2\A0\00huhti\C2\A0\00touko\C2\A0\00kes\C3\A4\C2\A0\C2\A0\00hein\C3\A4\C2\A0\00elo\C2\A0\C2\A0\C2\A0\00syys\C2\A0\C2\A0\00loka\C2\A0\C2\A0\00joulu\C2\A0\00kes\C3\A4kuu\00hein\C3\A4kuu\00sun\00m\E1n\00t\FDs\00mik\00h\F3s\00fr\ED\00ley\00sunnudagur\00m\E1nadagur\00t\FDsdagur\00mikudagur\00h\F3sdagur\00fr\EDggjadagur\00leygardagur\00mars\00apr\EDl\00desember\00%d/%m-%Y\00m\C3\A1n\00t\C3\BDs\00h\C3\B3s\00fr\C3\AD\00m\C3\A1nadagur\00t\C3\BDsdagur\00h\C3\B3sdagur\00fr\C3\ADggjadagur\00apr\C3\ADl\00jeu\00sam\00dimanche\00lundi\00mardi\00mercredi\00jeudi\00vendredi\00samedi\00f\E9v\00avr\00jui\00ao\FB\00d\E9c\00janvier\00f\E9vrier\00avril\00juin\00juillet\00ao\FBt\00septembre\00octobre\00d\E9cembre\00f\C3\A9v\00ao\C3\BB\00d\C3\A9c\00f\C3\A9vrier\00ao\C3\BBt\00d\C3\A9cembre\00%d. %m. %y\00Domh\00Luan\00M\E1irt\00C\E9ad\00D\E9ar\00Aoine\00Sath\00D\E9 Domhnaigh\00D\E9 Luain\00D\E9 M\E1irt\00D\E9 C\E9adaoin\00D\E9ardaoin\00D\E9 hAoine\00D\E9 Sathairn\00Ean\00Feabh\00M\E1rta\00Aib\00Beal\00Meith\00I\FAil\00L\FAn\00MF\F3mh\00DF\F3mh\00Samh\00Noll\00Ean\E1ir\00Feabhra\00Aibre\E1n\00M\ED na Bealtaine\00L\FAnasa\00Me\E1n F\F3mhair\00Deireadh F\F3mhair\00M\ED na Samhna\00M\ED na Nollag\00M\C3\A1irt\00C\C3\A9ad\00D\C3\A9ar\00D\C3\A9 Domhnaigh\00D\C3\A9 Luain\00D\C3\A9 M\C3\A1irt\00D\C3\A9 C\C3\A9adaoin\00D\C3\A9ardaoin\00D\C3\A9 hAoine\00D\C3\A9 Sathairn\00M\C3\A1rta\00I\C3\BAil\00L\C3\BAn\00MF\C3\B3mh\00DF\C3\B3mh\00Ean\C3\A1ir\00Aibre\C3\A1n\00M\C3\AD na Bealtaine\00L\C3\BAnasa\00Me\C3\A1n F\C3\B3mhair\00Deireadh F\C3\B3mhair\00M\C3\AD na Samhna\00M\C3\AD na Nollag\00Dido\00Dilu\00Dim\00Dic\00Diar\00Diha\00Disa\00Did\F2mhnaich\00Diluain\00Dim\E0irt\00Diciadain\00Diardaoin\00Dihaoine\00Disathairne\00Fao\00Gea\00M\E0r\00Gib\00Mh\E0\00OgM\00luc\00L\F9n\00Dam\00D\F9b\00Am Faoilteach\00An Gearran\00Am M\E0rt\00An Giblean\00A' Mh\E0igh\00An t-Mh\ECos\00An t-luchar\00An L\F9nasdal\00An t-Sultain\00An Damhair\00An t-Samhain\00An D\F9bhlachd\00Did\C3\B2mhnaich\00Dim\C3\A0irt\00M\C3\A0r\00Mh\C3\A0\00L\C3\B9n\00D\C3\B9b\00Am M\C3\A0rt\00A' Mh\C3\A0igh\00An t-Mh\C3\ACos\00An L\C3\B9nasdal\00An D\C3\B9bhlachd\00Dom\00Lun\00M\E9r\00Xov\00Ven\00S\E1b\00Domingo\00Luns\00Martes\00M\E9rcores\00Xoves\00Venres\00S\E1bado\00Xan\00Abr\00Xu\F1\00Xul\00Ago\00Set\00Out\00Xaneiro\00Febreiro\00Marzo\00Abril\00Maio\00Xu\F1o\00Xullo\00Agosto\00Setembro\00Outubro\00M\C3\A9r\00S\C3\A1b\00M\C3\A9rcores\00S\C3\A1bado\00Xu\C3\B1\00Xu\C3\B1o\00Jed\00Jel\00Jem\00Jerc\00Jerd\00Jeh\00Jes\00Jedoonee\00Jelhein\00Jemayrt\00Jercean\00Jerdein\00Jeheiney\00Jesarn\00J-guer\00T-arree\00Mayrnt\00Avrril\00Boaldyn\00M-souree\00J-souree\00Luanistyn\00M-fouyir\00J-fouyir\00M.Houney\00M.Nollick\00Jerrey-geuree\00Toshiaght-arree\00Averil\00Mean-souree\00Jerrey-souree\00Mean-fouyir\00Jerrey-fouyir\00Mee Houney\00Mee ny Nollick\00\E0'\00\E1'\00\E2'\00\E3'\00\E4'\00\E5'\00\F9'\00\F8\E0\F9\E5\EF\00\F9\F0\E9\00\F9\EC\E9\F9\E9\00\F8\E1\E9\F2\E9\00\E7\EE\E9\F9\E9\00\F9\E9\F9\E9\00\F9\E1\FA\00\E9\F0\E5\00\F4\E1\F8\00\EE\F8\F5\00\E0\F4\F8\00\EE\E0\E9\00\E9\E5\F0\00\E9\E5\EC\00\E0\E5\E2\00\F1\F4\E8\00\E0\E5\F7\00\F0\E5\E1\00\E3\F6\EE\00\E9\F0\E5\E0\F8\00\F4\E1\F8\E5\E0\F8\00\E0\F4\F8\E9\EC\00\E9\E5\F0\E9\00\E9\E5\EC\E9\00\E0\E5\E2\E5\F1\E8\00\F1\F4\E8\EE\E1\F8\00\E0\E5\F7\E8\E5\E1\F8\00\F0\E5\E1\EE\E1\F8\00\E3\F6\EE\E1\F8\00%Z %H:%M:%S %Y %b %d %a\00%I:%M:%S %P\00\D7\90'\00\D7\91'\00\D7\92'\00\D7\93'\00\D7\94'\00\D7\95'\00\D7\A9'\00\D7\A8\D7\90\D7\A9\D7\95\D7\9F\00\D7\A9\D7\A0\D7\99\00\D7\A9\D7\9C\D7\99\D7\A9\D7\99\00\D7\A8\D7\91\D7\99\D7\A2\D7\99\00\D7\97\D7\9E\D7\99\D7\A9\D7\99\00\D7\A9\D7\99\D7\A9\D7\99\00\D7\A9\D7\91\D7\AA\00\D7\99\D7\A0\D7\95\00\D7\A4\D7\91\D7\A8\00\D7\9E\D7\A8\D7\A5\00\D7\90\D7\A4\D7\A8\00\D7\9E\D7\90\D7\99\00\D7\99\D7\95\D7\A0\00\D7\99\D7\95\D7\9C\00\D7\90\D7\95\D7\92\00\D7\A1\D7\A4\D7\98\00\D7\90\D7\95\D7\A7\00\D7\A0\D7\95\D7\91\00\D7\93\D7\A6\D7\9E\00\D7\99\D7\A0\D7\95\D7\90\D7\A8\00\D7\A4\D7\91\D7\A8\D7\95\D7\90\D7\A8\00\D7\90\D7\A4\D7\A8\D7\99\D7\9C\00\D7\99\D7\95\D7\A0\D7\99\00\D7\99\D7\95\D7\9C\D7\99\00\D7\90\D7\95\D7\92\D7\95\D7\A1\D7\98\00\D7\A1\D7\A4\D7\98\D7\9E\D7\91\D7\A8\00\D7\90\D7\95\D7\A7\D7\98\D7\95\D7\91\D7\A8\00\D7\A0\D7\95\D7\91\D7\9E\D7\91\D7\A8\00\D7\93\D7\A6\D7\9E\D7\91\D7\A8\00\E0\A4\B0\E0\A4\B5\E0\A4\BF \00\E0\A4\B8\E0\A5\8B\E0\A4\AE \00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B2 \00\E0\A4\AC\E0\A5\81\E0\A4\A7 \00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81 \00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0 \00\E0\A4\B6\E0\A4\A8\E0\A4\BF \00\E0\A4\B0\E0\A4\B5\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\B8\E0\A5\8B\E0\A4\AE\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B2\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\AC\E0\A5\81\E0\A4\A7\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\B6\E0\A4\A8\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\9C\E0\A4\A8\E0\A4\B5\E0\A4\B0\E0\A5\80\00\E0\A4\AB\E0\A4\BC\E0\A4\B0\E0\A4\B5\E0\A4\B0\E0\A5\80\00\E0\A4\AE\E0\A4\BE\E0\A4\B0\E0\A5\8D\E0\A4\9A\00\E0\A4\85\E0\A4\AA\E0\A5\8D\E0\A4\B0\E0\A5\87\E0\A4\B2\00\E0\A4\AE\E0\A4\88\00\E0\A4\9C\E0\A5\82\E0\A4\A8\00\E0\A4\9C\E0\A5\81\E0\A4\B2\E0\A4\BE\E0\A4\88\00\E0\A4\85\E0\A4\97\E0\A4\B8\E0\A5\8D\E0\A4\A4\00\E0\A4\B8\E0\A4\BF\E0\A4\A4\E0\A4\AE\E0\A5\8D\E0\A4\AC\E0\A4\B0\00\E0\A4\85\E0\A4\95\E0\A5\8D\E0\A4\9F\E0\A5\82\E0\A4\AC\E0\A4\B0\00\E0\A4\A8\E0\A4\B5\E0\A4\AE\E0\A5\8D\E0\A4\AC\E0\A4\B0\00\E0\A4\A6\E0\A4\BF\E0\A4\B8\E0\A4\AE\E0\A5\8D\E0\A4\AC\E0\A4\B0\00\E0\A4\AA\E0\A5\82\E0\A4\B0\E0\A5\8D\E0\A4\B5\E0\A4\BE\E0\A4\B9\E0\A5\8D\E0\A4\A8\00\E0\A4\85\E0\A4\AA\E0\A4\B0\E0\A4\BE\E0\A4\B9\E0\A5\8D\E0\A4\A8\00Sij\00Vel\00O\BEu\00Tra\00Svi\00Lip\00Srp\00Kol\00Ruj\00Lis\00Stu\00Pro\00Sije\E8anj\00Velja\E8a\00O\BEujak\00Travanj\00Svibanj\00Lipanj\00Srpanj\00Kolovoz\00Rujan\00Listopad\00Studeni\00Prosinac\00O\C5\BEu\00Sije\C4\8Danj\00Velja\C4\8Da\00O\C5\BEujak\00v\00h\00k\00sze\00cs\00p\00szo\00vas\E1rnap\00h\E9tf\F5\00kedd\00szerda\00cs\FCt\F6rt\F6k\00p\E9ntek\00szombat\00m\E1r\00\E1pr\00m\E1j\00j\FAn\00j\FAl\00janu\E1r\00febru\E1r\00m\E1rcius\00\E1prilis\00m\E1jus\00j\FAnius\00j\FAlius\00augusztus\00szeptember\00okt\F3ber\00%Y. %b. %e., %A, %H.%M.%S %Z\00%H.%M.%S\00vas\C3\A1rnap\00h\C3\A9tf\C5\91\00cs\C3\BCt\C3\B6rt\C3\B6k\00p\C3\A9ntek\00m\C3\A1r\00\C3\A1pr\00m\C3\A1j\00j\C3\BAn\00j\C3\BAl\00janu\C3\A1r\00febru\C3\A1r\00m\C3\A1rcius\00\C3\A1prilis\00m\C3\A1jus\00j\C3\BAnius\00j\C3\BAlius\00okt\C3\B3ber\00\CE\F1\CF\00\BA\F1\CF\00\BA\F1\F9\00\E2\F1\F9\00\D0\DD\B7\00\E0\F5\F1\00\DE\B5\C3\00\CE\C7\F1\B3\CF\C7\00\BA\F1\CF\E1\F5\DF\B3\B5\C3\C7\00\BA\F1\BB\F9\DF\B3\B5\C3\C7\00\E2\E1\F1\BB\F9\DF\B3\B5\C3\C7\00\D0\C7\DD\B7\DF\B3\B5\C3\C7\00\E0\F5\F1\B5\B3\C3\00\DE\B3\B5\B3\C3\00\D0\DD\ED\00\F6\EF\F1\00\D8\B3\F1\00\B2\E5\F1\00\D8\B3\DB\00\D0\DD\EB\00\D0\C9\EB\00\FA\B7\EB\00\EA\BB\E5\00\D0\E1\CF\00\DC\D9\B5\00\B8\BB\CF\00\D0\E1\F5\DD\ED\B3\F1\C7\00\F6\BB\EF\F1\ED\B3\F1\C7\00\D8\B3\F1\EF\C7\00\B2\E5\F1\C7\C9\C7\00\D8\B3\DB\C7\EB\C7\00\D0\E1\F5\DD\C7\EB\C7\00\D0\E1\F5\C9\C7\EB\C7\00\FA\B7\E1\EB\EF\E1\EB\C7\00\EA\BB\E5\EF\BB\D9\B5\BB\F1\C7\00\D0\E1\CF\EF\BB\D9\B5\BB\F1\C7\00\DC\E1\DB\BB\D9\B5\BB\F1\C7\00\B8\BB\CF\EF\BB\D9\B5\BB\F1\C7\00\D4\BF\D6\80\D5\AF\00\D4\B5\D6\80\D5\AF\00\D4\B5\D6\80\D6\84\00\D5\89\D6\80\D6\84\00\D5\80\D5\B6\D5\A3\00\D5\88\D6\82\D6\80\00\D5\87\D5\A2\D5\A9\00\D4\BF\D5\AB\D6\80\D5\A1\D5\AF\D5\AB\00\D4\B5\D6\80\D5\AF\D5\B8\D6\82\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D4\B5\D6\80\D5\A5\D6\84\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D5\89\D5\B8\D6\80\D5\A5\D6\84\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D5\80\D5\AB\D5\B6\D5\A3\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D5\88\D6\82\D6\80\D5\A2\D5\A1\D5\A9\00\D5\87\D5\A1\D5\A2\D5\A1\D5\A9\00\D5\80\D5\B6\D5\BE\00\D5\93\D5\BF\D6\80\00\D5\84\D5\A1\D6\80\00\D4\B1\D5\BA\D6\80\00\D5\84\D5\A1\D5\B5\00\D5\80\D5\B6\D5\BD\00\D5\80\D5\AC\D5\BD\00\D5\95\D5\A3\D5\BD\00\D5\8D\D5\A5\D5\BA\00\D5\80\D5\B8\D5\AF\00\D5\86\D5\B4\D5\A2\00\D4\B4\D5\A5\D5\AF\00\D5\80\D5\B8\D6\82\D5\B6\D5\BE\D5\A1\D6\80\D5\AB\00\D5\93\D5\A5\D5\BF\D6\80\D5\BE\D5\A1\D6\80\D5\AB\00\D5\84\D5\A1\D6\80\D5\BF\D5\AB\00\D4\B1\D5\BA\D6\80\D5\AB\D5\AC\D5\AB\00\D5\84\D5\A1\D5\B5\D5\AB\D5\BD\D5\AB\00\D5\80\D5\B8\D6\82\D5\B6\D5\AB\D5\BD\D5\AB\00\D5\80\D5\B8\D6\82\D5\AC\D5\AB\D5\BD\D5\AB\00\D5\95\D5\A3\D5\B8\D5\BD\D5\BF\D5\B8\D5\BD\D5\AB\00\D5\8D\D5\A5\D5\BA\D5\BF\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00\D5\80\D5\B8\D5\AF\D5\BF\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00\D5\86\D5\B8\D5\B5\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00\D4\B4\D5\A5\D5\AF\D5\BF\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00Min\00Sel\00Rab\00Kam\00Jum\00Sab\00Minggu\00Senin\00Selasa\00Rabu\00Kamis\00Jumat\00Sabtu\00Peb\00Agu\00Januari\00Pebruari\00Maret\00Agustus\00M\E1n\00\DEri\00Mi\F0\00Fim\00F\F6s\00Lau\00Sunnudagur\00M\E1nudagur\00\DEri\F0judagur\00Mi\F0vikudagur\00Fimmtudagur\00F\F6studagur\00Laugardagur\00Ma\ED\00J\FAn\00J\FAl\00\C1g\FA\00N\F3v\00Jan\FAar\00Febr\FAar\00Mars\00Apr\EDl\00J\FAn\ED\00J\FAl\ED\00\C1g\FAst\00Okt\F3ber\00N\F3vember\00fh\00eh\00%a %e.%b %Y, %T %Z\00%a %e.%b %Y\00M\C3\A1n\00\C3\9Eri\00Mi\C3\B0\00F\C3\B6s\00M\C3\A1nudagur\00\C3\9Eri\C3\B0judagur\00Mi\C3\B0vikudagur\00F\C3\B6studagur\00Ma\C3\AD\00J\C3\BAn\00J\C3\BAl\00\C3\81g\C3\BA\00N\C3\B3v\00Jan\C3\BAar\00Febr\C3\BAar\00Apr\C3\ADl\00J\C3\BAn\C3\AD\00J\C3\BAl\C3\AD\00\C3\81g\C3\BAst\00Okt\C3\B3ber\00N\C3\B3vember\00gio\00domenica\00luned\EC\00marted\EC\00mercoled\EC\00gioved\EC\00venerd\EC\00mag\00giu\00lug\00ott\00gennaio\00febbraio\00aprile\00maggio\00giugno\00luglio\00settembre\00ottobre\00dicembre\00luned\C3\AC\00marted\C3\AC\00mercoled\C3\AC\00gioved\C3\AC\00venerd\C3\AC\00\E6\97\A5\00\E6\9C\88\00\E7\81\AB\00\E6\B0\B4\00\E6\9C\A8\00\E9\87\91\00\E5\9C\9F\00\E6\97\A5\E6\9B\9C\E6\97\A5\00\E6\9C\88\E6\9B\9C\E6\97\A5\00\E7\81\AB\E6\9B\9C\E6\97\A5\00\E6\B0\B4\E6\9B\9C\E6\97\A5\00\E6\9C\A8\E6\9B\9C\E6\97\A5\00\E9\87\91\E6\9B\9C\E6\97\A5\00\E5\9C\9F\E6\9B\9C\E6\97\A5\00 1\E6\9C\88\00 2\E6\9C\88\00 3\E6\9C\88\00 4\E6\9C\88\00 5\E6\9C\88\00 6\E6\9C\88\00 7\E6\9C\88\00 8\E6\9C\88\00 9\E6\9C\88\0010\E6\9C\88\0011\E6\9C\88\0012\E6\9C\88\001\E6\9C\88\002\E6\9C\88\003\E6\9C\88\004\E6\9C\88\005\E6\9C\88\006\E6\9C\88\007\E6\9C\88\008\E6\9C\88\009\E6\9C\88\00\E5\8D\88\E5\89\8D\00\E5\8D\88\E5\BE\8C\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %H\E6\99\82%M\E5\88\86%S\E7\A7\92\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5\00%H\E6\99\82%M\E5\88\86%S\E7\A7\92\00%p%I\E6\99\82%M\E5\88\86%S\E7\A7\92\00+:2:1990/01/01:+*:\E5\B9\B3\E6\88\90:%EC%Ey\E5\B9\B4\00+:1:1989/01/08:1989/12/31:\E5\B9\B3\E6\88\90:%EC\E5\85\83\E5\B9\B4\00+:2:1927/01/01:1989/01/07:\E6\98\AD\E5\92\8C:%EC%Ey\E5\B9\B4\00+:1:1926/12/25:1926/12/31:\E6\98\AD\E5\92\8C:%EC\E5\85\83\E5\B9\B4\00+:2:1913/01/01:1926/12/24:\E5\A4\A7\E6\AD\A3:%EC%Ey\E5\B9\B4\00+:2:1912/07/30:1912/12/31:\E5\A4\A7\E6\AD\A3:%EC\E5\85\83\E5\B9\B4\00+:6:1873/01/01:1912/07/29:\E6\98\8E\E6\B2\BB:%EC%Ey\E5\B9\B4\00+:1:0001/01/01:1872/12/31:\E8\A5\BF\E6\9A\A6:%EC%Ey\E5\B9\B4\00+:1:-0001/12/31:-*:\E7\B4\80\E5\85\83\E5\89\8D:%EC%Ey\E5\B9\B4\00\00%EY%m\E6\9C\88%d\E6\97\A5\00\E3\80\87\00\E4\B8\80\00\E4\BA\8C\00\E4\B8\89\00\E5\9B\9B\00\E4\BA\94\00\E5\85\AD\00\E4\B8\83\00\E5\85\AB\00\E4\B9\9D\00\E5\8D\81\00\E5\8D\81\E4\B8\80\00\E5\8D\81\E4\BA\8C\00\E5\8D\81\E4\B8\89\00\E5\8D\81\E5\9B\9B\00\E5\8D\81\E4\BA\94\00\E5\8D\81\E5\85\AD\00\E5\8D\81\E4\B8\83\00\E5\8D\81\E5\85\AB\00\E5\8D\81\E4\B9\9D\00\E4\BA\8C\E5\8D\81\00\E4\BA\8C\E5\8D\81\E4\B8\80\00\E4\BA\8C\E5\8D\81\E4\BA\8C\00\E4\BA\8C\E5\8D\81\E4\B8\89\00\E4\BA\8C\E5\8D\81\E5\9B\9B\00\E4\BA\8C\E5\8D\81\E4\BA\94\00\E4\BA\8C\E5\8D\81\E5\85\AD\00\E4\BA\8C\E5\8D\81\E4\B8\83\00\E4\BA\8C\E5\8D\81\E5\85\AB\00\E4\BA\8C\E5\8D\81\E4\B9\9D\00\E4\B8\89\E5\8D\81\00\E4\B8\89\E5\8D\81\E4\B8\80\00\E4\B8\89\E5\8D\81\E4\BA\8C\00\E4\B8\89\E5\8D\81\E4\B8\89\00\E4\B8\89\E5\8D\81\E5\9B\9B\00\E4\B8\89\E5\8D\81\E4\BA\94\00\E4\B8\89\E5\8D\81\E5\85\AD\00\E4\B8\89\E5\8D\81\E4\B8\83\00\E4\B8\89\E5\8D\81\E5\85\AB\00\E4\B8\89\E5\8D\81\E4\B9\9D\00\E5\9B\9B\E5\8D\81\00\E5\9B\9B\E5\8D\81\E4\B8\80\00\E5\9B\9B\E5\8D\81\E4\BA\8C\00\E5\9B\9B\E5\8D\81\E4\B8\89\00\E5\9B\9B\E5\8D\81\E5\9B\9B\00\E5\9B\9B\E5\8D\81\E4\BA\94\00\E5\9B\9B\E5\8D\81\E5\85\AD\00\E5\9B\9B\E5\8D\81\E4\B8\83\00\E5\9B\9B\E5\8D\81\E5\85\AB\00\E5\9B\9B\E5\8D\81\E4\B9\9D\00\E4\BA\94\E5\8D\81\00\E4\BA\94\E5\8D\81\E4\B8\80\00\E4\BA\94\E5\8D\81\E4\BA\8C\00\E4\BA\94\E5\8D\81\E4\B8\89\00\E4\BA\94\E5\8D\81\E5\9B\9B\00\E4\BA\94\E5\8D\81\E4\BA\94\00\E4\BA\94\E5\8D\81\E5\85\AD\00\E4\BA\94\E5\8D\81\E4\B8\83\00\E4\BA\94\E5\8D\81\E5\85\AB\00\E4\BA\94\E5\8D\81\E4\B9\9D\00\E5\85\AD\E5\8D\81\00\E5\85\AD\E5\8D\81\E4\B8\80\00\E5\85\AD\E5\8D\81\E4\BA\8C\00\E5\85\AD\E5\8D\81\E4\B8\89\00\E5\85\AD\E5\8D\81\E5\9B\9B\00\E5\85\AD\E5\8D\81\E4\BA\94\00\E5\85\AD\E5\8D\81\E5\85\AD\00\E5\85\AD\E5\8D\81\E4\B8\83\00\E5\85\AD\E5\8D\81\E5\85\AB\00\E5\85\AD\E5\8D\81\E4\B9\9D\00\E4\B8\83\E5\8D\81\00\E4\B8\83\E5\8D\81\E4\B8\80\00\E4\B8\83\E5\8D\81\E4\BA\8C\00\E4\B8\83\E5\8D\81\E4\B8\89\00\E4\B8\83\E5\8D\81\E5\9B\9B\00\E4\B8\83\E5\8D\81\E4\BA\94\00\E4\B8\83\E5\8D\81\E5\85\AD\00\E4\B8\83\E5\8D\81\E4\B8\83\00\E4\B8\83\E5\8D\81\E5\85\AB\00\E4\B8\83\E5\8D\81\E4\B9\9D\00\E5\85\AB\E5\8D\81\00\E5\85\AB\E5\8D\81\E4\B8\80\00\E5\85\AB\E5\8D\81\E4\BA\8C\00\E5\85\AB\E5\8D\81\E4\B8\89\00\E5\85\AB\E5\8D\81\E5\9B\9B\00\E5\85\AB\E5\8D\81\E4\BA\94\00\E5\85\AB\E5\8D\81\E5\85\AD\00\E5\85\AB\E5\8D\81\E4\B8\83\00\E5\85\AB\E5\8D\81\E5\85\AB\00\E5\85\AB\E5\8D\81\E4\B9\9D\00\E4\B9\9D\E5\8D\81\00\E4\B9\9D\E5\8D\81\E4\B8\80\00\E4\B9\9D\E5\8D\81\E4\BA\8C\00\E4\B9\9D\E5\8D\81\E4\B8\89\00\E4\B9\9D\E5\8D\81\E5\9B\9B\00\E4\B9\9D\E5\8D\81\E4\BA\94\00\E4\B9\9D\E5\8D\81\E5\85\AD\00\E4\B9\9D\E5\8D\81\E4\B8\83\00\E4\B9\9D\E5\8D\81\E5\85\AB\00\E4\B9\9D\E5\8D\81\E4\B9\9D\00%EY%m\E6\9C\88%d\E6\97\A5 %H\E6\99\82%M\E5\88\86%S\E7\A7\92\00\CA\C5\C9\00\CF\D2\DB\00\D3\C0\CC\00\CF\C8\E1\00\E1\D6\C8\00\D0\C0\D2\00\DB\C0\C1\00\CA\C5\C9\D2\C0\00\CF\D2\DB\C0\C1\C0\C8\C9\00\D3\C0\CC\DB\C0\C1\C0\C8\C9\00\CF\C8\E1\DB\C0\C1\C0\C8\C9\00\E1\D6\C8\DB\C0\C1\C0\C8\C9\00\D0\C0\D2\C0\D3\CA\C4\C5\C9\00\DB\C0\C1\C0\C8\C9\00\C9\C0\CD\00\C8\C4\C1\00\CC\C0\D2\00\C0\D0\D2\00\CC\C0\C9\00\C9\C5\CD\00\C9\C5\CB\00\C0\C2\C5\00\D3\C4\D8\00\CF\D8\D4\00\CD\CF\C4\00\C3\C4\CA\00\C9\C0\CD\C5\C0\D2\C9\00\C8\C4\C1\C4\D2\C5\C0\CB\C9\00\CC\C0\D2\D4\C9\00\C0\D0\D2\C9\CB\C9\00\CC\C0\C9\D3\C9\00\C9\C5\CD\C9\D3\C9\00\C9\C5\CB\C9\D3\C9\00\C0\C2\C5\C9\D3\D4\CF\00\D3\C4\D8\D4\C4\CC\C1\C4\D2\C9\00\CF\D8\D4\CF\CC\C1\C4\D2\C9\00\CD\CF\C4\CC\C1\C4\D2\C9\00\C3\C4\CA\C4\CC\C1\C4\D2\C9\00%Y \DF\CB\C9\D3 %d %B, %T %Z\00\E1\83\99\E1\83\95\E1\83\98\00\E1\83\9D\E1\83\A0\E1\83\A8\00\E1\83\A1\E1\83\90\E1\83\9B\00\E1\83\9D\E1\83\97\E1\83\AE\00\E1\83\AE\E1\83\A3\E1\83\97\00\E1\83\9E\E1\83\90\E1\83\A0\00\E1\83\A8\E1\83\90\E1\83\91\00\E1\83\99\E1\83\95\E1\83\98\E1\83\A0\E1\83\90\00\E1\83\9D\E1\83\A0\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\A1\E1\83\90\E1\83\9B\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\9D\E1\83\97\E1\83\AE\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\AE\E1\83\A3\E1\83\97\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\9E\E1\83\90\E1\83\A0\E1\83\90\E1\83\A1\E1\83\99\E1\83\94\E1\83\95\E1\83\98\00\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\98\E1\83\90\E1\83\9C\00\E1\83\97\E1\83\94\E1\83\91\00\E1\83\9B\E1\83\90\E1\83\A0\00\E1\83\90\E1\83\9E\E1\83\A0\00\E1\83\9B\E1\83\90\E1\83\98\00\E1\83\98\E1\83\95\E1\83\9C\00\E1\83\98\E1\83\95\E1\83\9A\00\E1\83\90\E1\83\92\E1\83\95\00\E1\83\A1\E1\83\94\E1\83\A5\00\E1\83\9D\E1\83\A5\E1\83\A2\00\E1\83\9C\E1\83\9D\E1\83\94\00\E1\83\93\E1\83\94\E1\83\99\00\E1\83\98\E1\83\90\E1\83\9C\E1\83\95\E1\83\90\E1\83\A0\E1\83\98\00\E1\83\97\E1\83\94\E1\83\91\E1\83\94\E1\83\A0\E1\83\95\E1\83\90\E1\83\9A\E1\83\98\00\E1\83\9B\E1\83\90\E1\83\A0\E1\83\A2\E1\83\98\00\E1\83\90\E1\83\9E\E1\83\A0\E1\83\98\E1\83\9A\E1\83\98\00\E1\83\9B\E1\83\90\E1\83\98\E1\83\A1\E1\83\98\00\E1\83\98\E1\83\95\E1\83\9C\E1\83\98\E1\83\A1\E1\83\98\00\E1\83\98\E1\83\95\E1\83\9A\E1\83\98\E1\83\A1\E1\83\98\00\E1\83\90\E1\83\92\E1\83\95\E1\83\98\E1\83\A1\E1\83\A2\E1\83\9D\00\E1\83\A1\E1\83\94\E1\83\A5\E1\83\A2\E1\83\94\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00\E1\83\9D\E1\83\A5\E1\83\A2\E1\83\9D\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00\E1\83\9C\E1\83\9D\E1\83\94\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00\E1\83\93\E1\83\94\E1\83\99\E1\83\94\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00%Y \E1\83\AC\E1\83\9A\E1\83\98\E1\83\A1 %d %B, %T %Z\00ata\00pin\00sis\00tal\00arf\00sabaat\00ataasinngorneq\00marlunngorneq\00pingasunngorneq\00sisamanngorneq\00tallimanngorneq\00arfininngorneq\00januari\00februari\00martsi\00aprili\00maji\00augustusi\00septemberi\00oktoberi\00novemberi\00decemberi\00%d %b %Y\00\EC\9D\BC\00\EC\9B\94\00\ED\99\94\00\EC\88\98\00\EB\AA\A9\00\EA\B8\88\00\ED\86\A0\00\EC\9D\BC\EC\9A\94\EC\9D\BC\00\EC\9B\94\EC\9A\94\EC\9D\BC\00\ED\99\94\EC\9A\94\EC\9D\BC\00\EC\88\98\EC\9A\94\EC\9D\BC\00\EB\AA\A9\EC\9A\94\EC\9D\BC\00\EA\B8\88\EC\9A\94\EC\9D\BC\00\ED\86\A0\EC\9A\94\EC\9D\BC\00 1\EC\9B\94\00 2\EC\9B\94\00 3\EC\9B\94\00 4\EC\9B\94\00 5\EC\9B\94\00 6\EC\9B\94\00 7\EC\9B\94\00 8\EC\9B\94\00 9\EC\9B\94\0010\EC\9B\94\0011\EC\9B\94\0012\EC\9B\94\00\EC\9D\BC\EC\9B\94\00\EC\9D\B4\EC\9B\94\00\EC\82\BC\EC\9B\94\00\EC\82\AC\EC\9B\94\00\EC\98\A4\EC\9B\94\00\EC\9C\A0\EC\9B\94\00\EC\B9\A0\EC\9B\94\00\ED\8C\94\EC\9B\94\00\EA\B5\AC\EC\9B\94\00\EC\8B\9C\EC\9B\94\00\EC\8B\AD\EC\9D\BC\EC\9B\94\00\EC\8B\AD\EC\9D\B4\EC\9B\94\00\EC\98\A4\EC\A0\84\00\EC\98\A4\ED\9B\84\00%x (%a) %r\00%Y\EB\85\84 %m\EC\9B\94 %d\EC\9D\BC\00%H\EC\8B\9C %M\EB\B6\84 %S\EC\B4\88\00%p %I\EC\8B\9C %M\EB\B6\84 %S\EC\B4\88\00Mth\00Mhr\00Yow\00De Sul\00De Lun\00De Merth\00De Merher\00De Yow\00De Gwener\00De Sadorn\00Gen\00Whe>\00Me\00Evn\00Est\00Gwn\00Hed\00Kev\00Mys Genver\00Mys Whevrel\00Mys Merth\00Mys Ebrel\00Mys Me\00Mys Evan\00Mys Gortheren\00Mye Est\00Mys Gwyngala\00Mys Hedra\00Mys Du\00Mys Kevardhu\00Sk\00Pr\00An\00Tr\00Kt\00Pn\00\D0t\00Sekmadienis\00Pirmadienis\00Antradienis\00Tre\E8iadienis\00Ketvirtadienis\00Penktadienis\00\D0e\F0tadienis\00Sau\00Vas\00Kov\00Bal\00Geg\00Bir\00Lie\00Rgp\00Rgs\00Spa\00Lap\00Grd\00sausio\00vasario\00kovo\00baland\FEio\00gegu\FE\EBs\00bir\FEelio\00liepos\00rugpj\FB\E8io\00rugs\EBjo\00spalio\00lapkri\E8io\00gruod\FEio\00%Y m. %B %d d. %T\00%Y.%m.%d\00\C5\A0t\00Tre\C4\8Diadienis\00\C5\A0e\C5\A1tadienis\00baland\C5\BEio\00gegu\C5\BE\C4\97s\00bir\C5\BEelio\00rugpj\C5\AB\C4\8Dio\00rugs\C4\97jo\00lapkri\C4\8Dio\00gruod\C5\BEio\00Sv\00P\A0\00O\A0\00T\A0\00C\A0\00Pk\00S\A0\00sv\E7tdiena\00pirmdiena\00otrdiena\00tre\F0diena\00ceturtdiena\00piektdiena\00sestdiena\00j\FBn\00j\FBl\00janv\E2ris\00febru\E2ris\00apr\EElis\00maijs\00j\FBnijs\00j\FBlijs\00augusts\00septembris\00oktobris\00novembris\00decembris\00%A, %Y. gada %e. %B, plkst. %H un %M\00%Y.%m.%d.\00P\C2\A0\00O\C2\A0\00T\C2\A0\00C\C2\A0\00S\C2\A0\00sv\C4\93tdiena\00tre\C5\A1diena\00j\C5\ABn\00j\C5\ABl\00janv\C4\81ris\00febru\C4\81ris\00apr\C4\ABlis\00j\C5\ABnijs\00j\C5\ABlijs\00Ta\00T\FB\00We\00T\E2i\00Pa\00H\E2\00R\E2tapu\00Mane\00T\FBrei\00Wenerei\00T\E2ite\00Paraire\00H\E2tarei\00Kohi\00Hui\00Pou\00Pae\00Hara\00Pipi\00H\F4ngoi\00Mahu\00Whi-nu\00Whi-ra\00Haki\00Kohi-t\E2tea\00Hui-tanguru\00Pout\FB-te-rangi\00Paenga-wh\E2wh\E2\00Haratua\00Pipiri\00H\F4ngoingoi\00Here-turi-k\F4k\E2\00Mahuru\00Whiringa-\E2-nuku\00Whiringa-\E2-rangi\00Hakihea\00Te %A, te %d o %B, %Y %T %Z\00T\C5\AB\00T\C4\81i\00H\C4\81\00R\C4\81tapu\00T\C5\ABrei\00T\C4\81ite\00H\C4\81tarei\00H\C5\8Dngoi\00Kohi-t\C4\81tea\00Pout\C5\AB-te-rangi\00Paenga-wh\C4\81wh\C4\81\00H\C5\8Dngoingoi\00Here-turi-k\C5\8Dk\C4\81\00Whiringa-\C4\81-nuku\00Whiringa-\C4\81-rangi\00\DD\D5\D4\00\DF\DE\DD\00\D2\E2\DE\00\E1\E0\D5\00\E7\D5\E2\00\DF\D5\E2\00\E1\D0\D1\00\DD\D5\D4\D5\DB\D0\00\DF\DE\DD\D5\D4\D5\DB\DD\D8\DA\00\D2\E2\DE\E0\DD\D8\DA\00\E1\E0\D5\D4\D0\00\E7\D5\E2\D2\E0\E2\DE\DA\00\DF\D5\E2\DE\DA\00\E1\D0\D1\DE\E2\D0\00\F8\D0\DD\00\E4\D5\D2\00\DC\D0\E0\00\D0\DF\E0\00\DC\D0\F8\00\F8\E3\DD\00\F8\E3\DB\00\D0\D2\D3\00\E1\D5\DF\00\DE\DA\E2\00\DD\DE\D5\00\D4\D5\DA\00\F8\D0\DD\E3\D0\E0\D8\00\E4\D5\D2\E0\E3\D0\E0\D8\00\DC\D0\E0\E2\00\D0\DF\E0\D8\DB\00\F8\E3\DD\D8\00\F8\E3\DB\D8\00\D0\D2\D3\E3\E1\E2\00\E1\D5\DF\E2\D5\DC\D2\E0\D8\00\DE\DA\E2\DE\DC\D2\E0\D8\00\DD\DE\D5\DC\D2\E0\D8\00\D4\D5\DA\D5\DC\D2\E0\D8\00%a, %d %b %Y %T %Z\00\D0\BD\D0\B5\D0\B4\00\D0\BF\D0\BE\D0\BD\00\D0\B2\D1\82\D0\BE\00\D1\81\D1\80\D0\B5\00\D1\87\D0\B5\D1\82\00\D0\BF\D0\B5\D1\82\00\D1\81\D0\B0\D0\B1\00\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D0\B0\00\D1\81\D1\80\D0\B5\D0\B4\D0\B0\00\D1\87\D0\B5\D1\82\D0\B2\D1\80\D1\82\D0\BE\D0\BA\00\D0\BF\D0\B5\D1\82\D0\BE\D0\BA\00\D1\81\D0\B0\D0\B1\D0\BE\D1\82\D0\B0\00\D1\98\D0\B0\D0\BD\00\D0\BC\D0\B0\D1\98\00\D1\98\D1\83\D0\BD\00\D1\98\D1\83\D0\BB\00\D1\98\D0\B0\D0\BD\D1\83\D0\B0\D1\80\D0\B8\00\D1\98\D1\83\D0\BD\D0\B8\00\D1\98\D1\83\D0\BB\D0\B8\00\E0\A4\B0\E0\A4\B5\E0\A4\BF\00\E0\A4\B8\E0\A5\8B\E0\A4\AE\00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B3\00\E0\A4\AC\E0\A5\81\E0\A4\A7\00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81\00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0\00\E0\A4\B6\E0\A4\A8\E0\A4\BF\00\E0\A4\B0\E0\A4\B5\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\B8\E0\A5\8B\E0\A4\AE\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B3\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\B6\E0\A4\A8\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\9C\E0\A4\BE\E0\A4\A8\E0\A5\87\E0\A4\B5\E0\A4\BE\E0\A4\B0\E0\A5\80\00\E0\A4\AB\E0\A5\87\E0\A4\AC\E0\A5\83\E0\A4\B5\E0\A4\BE\E0\A4\B0\E0\A5\80\00\E0\A4\8F\E0\A4\AA\E0\A5\8D\E0\A4\B0\E0\A4\BF\E0\A4\B2\00\E0\A4\AE\E0\A5\87\00\E0\A4\9C\E0\A5\81\E0\A4\B2\E0\A5\88\00\E0\A4\93\E0\A4\97\E0\A4\B8\E0\A5\8D\E0\A4\9F\00\E0\A4\B8\E0\A5\87\E0\A4\AA\E0\A5\8D\E0\A4\9F\E0\A5\87\E0\A4\82\E0\A4\AC\E0\A4\B0\00\E0\A4\93\E0\A4\95\E0\A5\8D\E0\A4\9F\E0\A5\8B\E0\A4\AC\E0\A4\B0\00\E0\A4\A8\E0\A5\8B\E0\A4\B5\E0\A5\8D\E0\A4\B9\E0\A5\87\E0\A4\82\E0\A4\AC\E0\A4\B0\00\E0\A4\A1\E0\A4\BF\E0\A4\B8\E0\A5\87\E0\A4\82\E0\A4\AC\E0\A4\B0\00\E0\A4\AE.\E0\A4\AA\E0\A5\82.\00\E0\A4\AE.\E0\A4\A8\E0\A4\82.\00Ahd\00Isn\00Kha\00Ahad\00Isnin\00Khamis\00Jumaat\00Mac\00Ogos\00Dis\00Februari\00Julai\00Disember\00\A1ad\00Tne\00Tli\00Erb\00\A1am\00\D5im\00Sib\00il-\A1add\00it-Tnejn\00it-Tlieta\00l-Erbg\B1a\00il-\A1amis\00il-\D5img\B1a\00is-Sibt\00Fra\00Mej\00\D5un\00Lul\00Awi\00Ott\00Di\E5\00Jannar\00Frar\00Marzu\00Mejju\00\D5unju\00Lulju\00Awissu\00Settembru\00Ottubru\00Novembru\00Di\E5embru \00%A, %d ta %b, %Y %I:%M:%S %p %Z\00%A, %d ta %b, %Y\00\C4\A6ad\00\C4\A6am\00\C4\A0im\00il-\C4\A6add\00l-Erbg\C4\A7a\00il-\C4\A6amis\00il-\C4\A0img\C4\A7a\00\C4\A0un\00Di\C4\8B\00\C4\A0unju\00Di\C4\8Bembru \00zo\00di\00wo\00do\00vr\00za\00zondag\00maandag\00dinsdag\00woensdag\00donderdag\00vrijdag\00zaterdag\00mrt\00mei\00maart\00augustus\00%d-%m-%y\00su \00m\E5 \00ty \00on \00to \00fr \00lau \00sundag \00m\E5ndag \00tysdag \00onsdag \00torsdag \00fredag \00laurdag \00%d. %b %Y kl %H.%M %Z\00%d. %b %Y\00kl %H.%M %Z\00m\C3\A5 \00m\C3\A5ndag \00%a %d-%m-%Y %T %Z\00mec\00j\F3u\00dimenge\00diluns\00dimars\00dij\F3us\00disabte\00ag\F3\00geni\E8r\00febri\E8r\00abrial\00junh\00julhet\00ag\F3st\00decembre\00j\C3\B3u\00dij\C3\B3us\00ag\C3\B3\00geni\C3\A8r\00febri\C3\A8r\00ag\C3\B3st\00nie\00pon\00wto\00\B6ro\00czw\00pi\B1\00sob\00niedziela\00poniedzia\B3ek\00wtorek\00\B6roda\00czwartek\00pi\B1tek\00sobota\00sty\00lut\00kwi\00cze\00lip\00sie\00wrz\00pa\BC\00gru\00stycze\F1\00luty\00marzec\00kwiecie\F1\00czerwiec\00lipiec\00sierpie\F1\00wrzesie\F1\00pa\BCdziernik\00grudzie\F1\00\C5\9Bro\00pi\C4\85\00poniedzia\C5\82ek\00\C5\9Broda\00pi\C4\85tek\00pa\C5\BA\00stycze\C5\84\00kwiecie\C5\84\00sierpie\C5\84\00wrzesie\C5\84\00pa\C5\BAdziernik\00grudzie\C5\84\00Seg\00Ter\00Qua\00Qui\00Sex\00segunda\00ter\E7a\00quarta\00quinta\00sexta\00janeiro\00fevereiro\00mar\E7o\00maio\00junho\00julho\00setembro\00outubro\00novembro\00dezembro\00ter\C3\A7a\00mar\C3\A7o\00Segunda\00Ter\E7a\00Quarta\00Quinta\00Sexta\00Janeiro\00Fevereiro\00Mar\E7o\00Junho\00Julho\00Dezembro\00Ter\C3\A7a\00Mar\C3\A7o\00Lu\00Mi\00Jo\00Vi\00S\EE\00Duminic\C3\00Luni\00Mar\FEi\00Miercuri\00Joi\00Vineri\00S\EEmb\C3t\C3\00ian\00iun\00iul\00Ianuarie\00Martie\00Aprilie\00Iunie\00Iulie\00Septembrie\00Octombrie\00Noiembrie\00Decembrie\00S\C3\AE\00Duminic\C4\82\00Mar\C5\A3i\00S\C3\AEmb\C4\82t\C4\82\00\F7\D3\CB\00\F0\CE\C4\00\F7\D4\D2\00\F3\D2\C4\00\FE\D4\D7\00\F0\D4\CE\00\F3\C2\D4\00\F7\CF\D3\CB\D2\C5\D3\C5\CE\D8\C5\00\F0\CF\CE\C5\C4\C5\CC\D8\CE\C9\CB\00\F7\D4\CF\D2\CE\C9\CB\00\F3\D2\C5\C4\C1\00\FE\C5\D4\D7\C5\D2\C7\00\F0\D1\D4\CE\C9\C3\C1\00\F3\D5\C2\C2\CF\D4\C1\00\F1\CE\D7\00\E6\C5\D7\00\ED\C1\D2\00\E1\D0\D2\00\ED\C1\CA\00\E9\C0\CE\00\E9\C0\CC\00\E1\D7\C7\00\F3\C5\CE\00\EF\CB\D4\00\EE\CF\D1\00\E4\C5\CB\00\F1\CE\D7\C1\D2\D1\00\E6\C5\D7\D2\C1\CC\D1\00\ED\C1\D2\D4\C1\00\E1\D0\D2\C5\CC\D1\00\ED\C1\D1\00\E9\C0\CE\D1\00\E9\C0\CC\D1\00\E1\D7\C7\D5\D3\D4\C1\00\F3\C5\CE\D4\D1\C2\D2\D1\00\EF\CB\D4\D1\C2\D2\D1\00\EE\CF\D1\C2\D2\D1\00\E4\C5\CB\C1\C2\D2\D1\00\B2\E1\DA\00\BF\DD\D4\00\B2\E2\E0\00\C1\E0\D4\00\C7\E2\D2\00\BF\E2\DD\00\C1\D1\E2\00\B2\DE\E1\DA\E0\D5\E1\D5\DD\EC\D5\00\BF\DE\DD\D5\D4\D5\DB\EC\DD\D8\DA\00\B2\E2\DE\E0\DD\D8\DA\00\C1\E0\D5\D4\D0\00\C7\D5\E2\D2\D5\E0\D3\00\BF\EF\E2\DD\D8\E6\D0\00\C1\E3\D1\D1\DE\E2\D0\00\CF\DD\D2\00\C4\D5\D2\00\BC\D0\E0\00\B0\DF\E0\00\BC\D0\D9\00\B8\EE\DD\00\B8\EE\DB\00\B0\D2\D3\00\C1\D5\DD\00\BE\DA\E2\00\BD\DE\EF\00\B4\D5\DA\00\CF\DD\D2\D0\E0\EF\00\C4\D5\D2\E0\D0\DB\EF\00\BC\D0\E0\E2\D0\00\B0\DF\E0\D5\DB\EF\00\BC\D0\EF\00\B8\EE\DD\EF\00\B8\EE\DB\EF\00\B0\D2\D3\E3\E1\E2\D0\00\C1\D5\DD\E2\EF\D1\E0\EF\00\BE\DA\E2\EF\D1\E0\EF\00\BD\DE\EF\D1\E0\EF\00\B4\D5\DA\D0\D1\E0\EF\00\D0\92\D1\81\D0\BA\00\D0\9F\D0\BD\D0\B4\00\D0\92\D1\82\D1\80\00\D0\A7\D1\82\D0\B2\00\D0\9F\D1\82\D0\BD\00\D0\A1\D0\B1\D1\82\00\D0\92\D0\BE\D1\81\D0\BA\D1\80\D0\B5\D1\81\D0\B5\D0\BD\D1\8C\D0\B5\00\D0\9F\D0\BE\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D1\8C\D0\BD\D0\B8\D0\BA\00\D0\92\D1\82\D0\BE\D1\80\D0\BD\D0\B8\D0\BA\00\D0\A1\D1\80\D0\B5\D0\B4\D0\B0\00\D0\A7\D0\B5\D1\82\D0\B2\D0\B5\D1\80\D0\B3\00\D0\9F\D1\8F\D1\82\D0\BD\D0\B8\D1\86\D0\B0\00\D0\A1\D1\83\D0\B1\D0\B1\D0\BE\D1\82\D0\B0\00\D0\AF\D0\BD\D0\B2\00\D0\A4\D0\B5\D0\B2\00\D0\9C\D0\B0\D1\80\00\D0\90\D0\BF\D1\80\00\D0\9C\D0\B0\D0\B9\00\D0\98\D1\8E\D0\BD\00\D0\98\D1\8E\D0\BB\00\D0\90\D0\B2\D0\B3\00\D0\A1\D0\B5\D0\BD\00\D0\9E\D0\BA\D1\82\00\D0\9D\D0\BE\D1\8F\00\D0\94\D0\B5\D0\BA\00\D0\AF\D0\BD\D0\B2\D0\B0\D1\80\D1\8F\00\D0\A4\D0\B5\D0\B2\D1\80\D0\B0\D0\BB\D1\8F\00\D0\9C\D0\B0\D1\80\D1\82\D0\B0\00\D0\90\D0\BF\D1\80\D0\B5\D0\BB\D1\8F\00\D0\9C\D0\B0\D1\8F\00\D0\98\D1\8E\D0\BD\D1\8F\00\D0\98\D1\8E\D0\BB\D1\8F\00\D0\90\D0\B2\D0\B3\D1\83\D1\81\D1\82\D0\B0\00\D0\A1\D0\B5\D0\BD\D1\82\D1\8F\D0\B1\D1\80\D1\8F\00\D0\9E\D0\BA\D1\82\D1\8F\D0\B1\D1\80\D1\8F\00\D0\9D\D0\BE\D1\8F\D0\B1\D1\80\D1\8F\00\D0\94\D0\B5\D0\BA\D0\B0\D0\B1\D1\80\D1\8F\00\F7\D4\CF\00\F3\D5\C2\00\F1\CE\D7\C1\D2\D8\00\E6\C5\D7\D2\C1\CC\D8\00\ED\C1\D2\D4\00\E1\D0\D2\C5\CC\D8\00\E9\C0\CE\D8\00\E9\C0\CC\D8\00\E1\D7\C7\D5\D3\D4\00\F3\C5\CE\D4\D1\C2\D2\D8\00\EF\CB\D4\D1\C2\D2\D8\00\EE\CF\D1\C2\D2\D8\00\E4\C5\CB\C1\C2\D2\D8\00\D0\92\D1\82\D0\BE\00\D0\AF\D0\BD\D0\B2\D0\B0\D1\80\D1\8C\00\D0\A4\D0\B5\D0\B2\D1\80\D0\B0\D0\BB\D1\8C\00\D0\9C\D0\B0\D1\80\D1\82\00\D0\90\D0\BF\D1\80\D0\B5\D0\BB\D1\8C\00\D0\98\D1\8E\D0\BD\D1\8C\00\D0\98\D1\8E\D0\BB\D1\8C\00\D0\90\D0\B2\D0\B3\D1\83\D1\81\D1\82\00\D0\A1\D0\B5\D0\BD\D1\82\D1\8F\D0\B1\D1\80\D1\8C\00\D0\9E\D0\BA\D1\82\D1\8F\D0\B1\D1\80\D1\8C\00\D0\9D\D0\BE\D1\8F\D0\B1\D1\80\D1\8C\00\D0\94\D0\B5\D0\BA\D0\B0\D0\B1\D1\80\D1\8C\00sotn\00vuos\00ma\C5\8B\00gask\00duor\00bear\00l\C3\A1v\00sotnabeaivi\00vuoss\C3\A1rga\00ma\C5\8B\C5\8Bebarga\00gaskavahkku\00duorasdat\00bearjadat\00l\C3\A1vvardat\00o\C4\91\C4\91j\00guov\00njuk\00cuo\C5\8B\00mies\00geas\00suoi\00borg\00\C4\8Dak\C4\8D\00golg\00sk\C3\A1b\00juov\00o\C4\91\C4\91ajagem\C3\A1nu\00guovvam\C3\A1nu\00njuk\C4\8Dam\C3\A1nu\00cuo\C5\8Bom\C3\A1nu\00miessem\C3\A1nu\00geassem\C3\A1nu\00suoidnem\C3\A1nu\00borgem\C3\A1nu\00\C4\8Dak\C4\8Dam\C3\A1nu\00golggotm\C3\A1nu\00sk\C3\A1bmam\C3\A1nu\00juovlam\C3\A1nu\00%a, %b %e. b. %Y %T %Z\00Ut\00\A9t\00Pi\00Nede\B5a\00Pondelok\00Utorok\00Streda\00\A9tvrtok\00Piatok\00marec\00Nede\C4\BEa\00\C5\A0tvrtok\00ned\00sre\00\E8et\00pet\00nedelja\00ponedeljek\00torek\00sreda\00\E8etrtek\00petek\00avg\00junij\00julij\00avgust\00\C4\8Det\00\C4\8Detrtek\00Die \00H\EBn \00Mar \00M\EBr \00Enj \00Pre \00Sht \00e diel \00e h\EBn\EB \00e mart\EB \00e m\EBrkur\EB \00e enjte \00e premte \00e shtun\EB \00Shk\00Pri\00Qer\00Kor\00Gsh\00Sht\00Tet\00N\EBn\00Dhj\00janar\00shkurt\00prill\00qershor\00korrik\00gusht\00shtator\00tetor\00n\EBntor\00dhjetor\00PD\00MD\00%Y-%b-%d %I.%M.%S.%p %Z\00%Y-%b-%d\00%I.%M.%S. %Z\00%I.%M.%S.%p %Z\00H\C3\ABn \00M\C3\ABr \00e h\C3\ABn\C3\AB \00e mart\C3\AB \00e m\C3\ABrkur\C3\AB \00e shtun\C3\AB \00N\C3\ABn\00n\C3\ABntor\00uto\00sub\00ponedeljak\00utorak\00\E8etvrtak\00petak\00subota\00septembar\00oktobar\00novembar\00decembar\00%d-%m-%Y.\00\C4\8Detvrtak\00\E3\E2\DE\00\E1\E3\D1\00\DD\D5\D4\D5\F9a\00\DF\DE\DD\D5\D4\D5\F9\D0\DA\00\E3\E2\DE\E0\D0\DA\00\E7\D5\E2\D2\E0\E2\D0\DA\00\DF\D5\E2\D0\DA\00\E1\E3\D1\DE\E2\D0\00\E4\D5\D1\00\DD\DE\D2\00\D4\D5\E6\00\F8\D0\DD\E3\D0\E0\00\E4\D5\D1\E0\E3\D0\E0\00\E1\D5\DF\E2\D5\DC\D1\D0\E0\00\DE\DA\E2\DE\D1\D0\E0\00\DD\DE\D2\D5\DC\D1\D0\E0\00\D4\D5\E6\D5\DC\D1\D0\E0\00+%a %d %b %Y %T %Z\00\D1\83\D1\82\D0\BE\00\D1\81\D1\83\D0\B1\00\D0\BD\D0\B5\D0\B4\D0\B5\D1\99a\00\D0\BF\D0\BE\D0\BD\D0\B5\D0\B4\D0\B5\D1\99\D0\B0\D0\BA\00\D1\83\D1\82\D0\BE\D1\80\D0\B0\D0\BA\00\D1\87\D0\B5\D1\82\D0\B2\D1\80\D1\82\D0\B0\D0\BA\00\D0\BF\D0\B5\D1\82\D0\B0\D0\BA\00\D1\81\D1\83\D0\B1\D0\BE\D1\82\D0\B0\00\D1\84\D0\B5\D0\B1\00\D0\BD\D0\BE\D0\B2\00\D0\B4\D0\B5\D1\86\00\D1\98\D0\B0\D0\BD\D1\83\D0\B0\D1\80\00\D1\84\D0\B5\D0\B1\D1\80\D1\83\D0\B0\D1\80\00\D1\81\D0\B5\D0\BF\D1\82\D0\B5\D0\BC\D0\B1\D0\B0\D1\80\00\D0\BE\D0\BA\D1\82\D0\BE\D0\B1\D0\B0\D1\80\00\D0\BD\D0\BE\D0\B2\D0\B5\D0\BC\D0\B1\D0\B0\D1\80\00\D0\B4\D0\B5\D1\86\D0\B5\D0\BC\D0\B1\D0\B0\D1\80\00s\F6n\00m\E5n\00tis\00l\F6r\00s\F6ndag\00m\E5ndag\00tisdag\00l\F6rdag\00augusti\00%a %e %b %Y %H.%M.%S\00s\C3\B6n\00m\C3\A5n\00l\C3\B6r\00s\C3\B6ndag\00m\C3\A5ndag\00l\C3\B6rdag\00\E0\AE\9E\00\E0\AE\A4\00\E0\AE\9A\00\E0\AE\AA\00\E0\AE\B5\00\E0\AE\9E\E0\AE\BE\E0\AE\AF\E0\AE\BF\E0\AE\B1\E0\AF\81\00\E0\AE\A4\E0\AE\BF\E0\AE\99\E0\AF\8D\E0\AE\95\E0\AE\B3\E0\AF\8D\00\E0\AE\9A\E0\AF\86\E0\AE\B5\E0\AF\8D\E0\AE\B5\E0\AE\BE\E0\AE\AF\E0\AF\8D\00\E0\AE\AA\E0\AF\81\E0\AE\A4\E0\AE\A9\E0\AF\8D\00\E0\AE\B5\E0\AE\BF\E0\AE\AF\E0\AE\BE\E0\AE\B4\E0\AE\A9\E0\AF\8D\00\E0\AE\B5\E0\AF\86\E0\AE\B3\E0\AF\8D\E0\AE\B3\E0\AE\BF\00\E0\AE\9A\E0\AE\A9\E0\AE\BF\00\E0\AE\9C\E0\AE\A9\E0\AE\B5\E0\AE\B0\E0\AE\BF\00\E0\AE\AA\E0\AF\86\E0\AE\AA\E0\AF\8D\E0\AE\B0\E0\AE\B5\E0\AE\B0\E0\AE\BF\00\E0\AE\AE\E0\AE\BE\E0\AE\B0\E0\AF\8D\E0\AE\9A\E0\AF\8D\00\E0\AE\8F\E0\AE\AA\E0\AF\8D\E0\AE\B0\E0\AE\B2\E0\AF\8D\00\E0\AE\AE\E0\AF\87\00\E0\AE\9C\E0\AF\82\E0\AE\A9\E0\AF\8D\00\E0\AE\9C\E0\AF\82\E0\AE\B2\E0\AF\88\00\E0\AE\86\E0\AE\95\E0\AE\B8\E0\AF\8D\E0\AE\9F\E0\AF\8D\00\E0\AE\9A\E0\AF\86\E0\AE\AA\E0\AF\8D\E0\AE\9F\E0\AE\AE\E0\AF\8D\E0\AE\AA\E0\AE\B0\E0\AF\8D\00\E0\AE\85\E0\AE\95\E0\AF\8D\E0\AE\9F\E0\AF\8B\E0\AE\AA\E0\AE\B0\E0\AF\8D\00\E0\AE\A8\E0\AE\B5\E0\AE\AE\E0\AF\8D\E0\AE\AA\E0\AE\B0\E0\AF\8D\00\E0\AE\9F\E0\AE\BF\E0\AE\9A\E0\AE\AE\E0\AF\8D\E0\AE\AA\E0\AE\B0\E0\AF\8Dr\00\E0\AE\95\E0\AE\BE\E0\AE\B2\E0\AF\88\00\E0\AE\AE\E0\AE\BE\E0\AE\B2\E0\AF\88\00\E0\B0\86\E0\B0\A6\E0\B0\BF\00\E0\B0\B8\E0\B1\8B\E0\B0\AE\00\E0\B0\AE\E0\B0\82\E0\B0\97\E0\B0\B3\00\E0\B0\AC\E0\B1\81\E0\B0\A7\00\E0\B0\97\E0\B1\81\E0\B0\B0\E0\B1\81\00\E0\B0\B6\E0\B1\81\E0\B0\95\E0\B1\8D\E0\B0\B0\00\E0\B0\B6\E0\B0\A8\E0\B0\BF\00\E0\B0\86\E0\B0\A6\E0\B0\BF\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\B8\E0\B1\8B\E0\B0\AE\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\AE\E0\B0\82\E0\B0\97\E0\B0\B3\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\AC\E0\B1\81\E0\B0\A7\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\97\E0\B1\81\E0\B0\B0\E0\B1\81\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\B6\E0\B1\81\E0\B0\95\E0\B1\8D\E0\B0\B0\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\B6\E0\B0\A8\E0\B0\BF\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\9C\E0\B0\A8\E0\B0\B5\E0\B0\B0\E0\B0\BF\00\E0\B0\AB\E0\B0\BF\E0\B0\AC\E0\B1\8D\E0\B0\B0\E0\B0\B5\E0\B0\B0\E0\B0\BF\00\E0\B0\AE\E0\B0\BE\E0\B0\B0\E0\B1\8D\E0\B0\9A\E0\B0\BF\00\E0\B0\8F\E0\B0\AA\E0\B1\8D\E0\B0\B0\E0\B0\BF\E0\B0\B2\E0\B1\8D\00\E0\B0\AE\E0\B1\87\00\E0\B0\9C\E0\B1\82\E0\B0\A8\E0\B1\8D\00\E0\B0\9C\E0\B1\82\E0\B0\B2\E0\B1\88\00\E0\B0\86\E0\B0\97\E0\B0\B8\E0\B1\8D\E0\B0\9F\E0\B1\81\00\E0\B0\B8\E0\B1\86\E0\B0\AA\E0\B1\8D\E0\B0\9F\E0\B1\86\E0\B0\82\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\85\E0\B0\95\E0\B1\8D\E0\B0\9F\E0\B1\8B\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\A8\E0\B0\B5\E0\B0\82\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\A1\E0\B0\BF\E0\B0\B8\E0\B1\86\E0\B0\82\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\AA\E0\B1\82\E0\B0\B0\E0\B1\8D\E0\B0\B5\E0\B0\BE\E0\B0\B9\E0\B1\8D\E0\B0\A8\00\E0\B0\85\E0\B0\AA\E0\B0\B0\E0\B0\BE\E0\B0\B9\E0\B1\8D\E0\B0\A8\00\CD\D2.\00\A8.\00\CD.\00\BE.\00\BE\C4.\00\C8.\00\CA.\00\CD\D2\B7\D4\B5\C2\EC\00\A8\D1\B9\B7\C3\EC\00\CD\D1\A7\A4\D2\C3\00\BE\D8\B8\00\BE\C4\CB\D1\CA\BA\B4\D5\00\C8\D8\A1\C3\EC\00\E0\CA\D2\C3\EC\00\C1.\A4.\00\A1.\BE.\00\C1\D5.\A4.\00\E0\C1.\C2.\00\BE.\A4.\00\C1\D4.\C2.\00\A1.\A4.\00\CA.\A4.\00\A1.\C2.\00\B5.\A4.\00\BE.\C2.\00\B8.\A4.\00\C1\A1\C3\D2\A4\C1\00\A1\D8\C1\C0\D2\BE\D1\B9\B8\EC\00\C1\D5\B9\D2\A4\C1\00\E0\C1\C9\D2\C2\B9\00\BE\C4\C9\C0\D2\A4\C1\00\C1\D4\B6\D8\B9\D2\C2\B9\00\A1\C3\A1\AE\D2\A4\C1\00\CA\D4\A7\CB\D2\A4\C1\00\A1\D1\B9\C2\D2\C2\B9\00\B5\D8\C5\D2\A4\C1\00\BE\C4\C8\A8\D4\A1\D2\C2\B9\00\B8\D1\B9\C7\D2\A4\C1\00%a %e %b %Ey, %H:%M:%S\00%d/%m/%Ey\00+:1:-543/01/01:+*:\BE.\C8.:%EC %Ey\00\00%e %b %Ey\00\C7\D1\B9%A\B7\D5\E8 %e %B %EC %Ey, %H.%M.%S \B9.\00%H.%M.%S \B9.\00\E0\B8\AD\E0\B8\B2.\00\E0\B8\88.\00\E0\B8\AD.\00\E0\B8\9E.\00\E0\B8\9E\E0\B8\A4.\00\E0\B8\A8.\00\E0\B8\AA.\00\E0\B8\AD\E0\B8\B2\E0\B8\97\E0\B8\B4\E0\B8\95\E0\B8\A2\E0\B9\8C\00\E0\B8\88\E0\B8\B1\E0\B8\99\E0\B8\97\E0\B8\A3\E0\B9\8C\00\E0\B8\AD\E0\B8\B1\E0\B8\87\E0\B8\84\E0\B8\B2\E0\B8\A3\00\E0\B8\9E\E0\B8\B8\E0\B8\98\00\E0\B8\9E\E0\B8\A4\E0\B8\AB\E0\B8\B1\E0\B8\AA\E0\B8\9A\E0\B8\94\E0\B8\B5\00\E0\B8\A8\E0\B8\B8\E0\B8\81\E0\B8\A3\E0\B9\8C\00\E0\B9\80\E0\B8\AA\E0\B8\B2\E0\B8\A3\E0\B9\8C\00\E0\B8\A1.\E0\B8\84.\00\E0\B8\81.\E0\B8\9E.\00\E0\B8\A1\E0\B8\B5.\E0\B8\84.\00\E0\B9\80\E0\B8\A1.\E0\B8\A2.\00\E0\B8\9E.\E0\B8\84.\00\E0\B8\A1\E0\B8\B4.\E0\B8\A2.\00\E0\B8\81.\E0\B8\84.\00\E0\B8\AA.\E0\B8\84.\00\E0\B8\81.\E0\B8\A2.\00\E0\B8\95.\E0\B8\84.\00\E0\B8\9E.\E0\B8\A2.\00\E0\B8\98.\E0\B8\84.\00\E0\B8\A1\E0\B8\81\E0\B8\A3\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\81\E0\B8\B8\E0\B8\A1\E0\B8\A0\E0\B8\B2\E0\B8\9E\E0\B8\B1\E0\B8\99\E0\B8\98\E0\B9\8C\00\E0\B8\A1\E0\B8\B5\E0\B8\99\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B9\80\E0\B8\A1\E0\B8\A9\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\9E\E0\B8\A4\E0\B8\A9\E0\B8\A0\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\A1\E0\B8\B4\E0\B8\96\E0\B8\B8\E0\B8\99\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\81\E0\B8\A3\E0\B8\81\E0\B8\8E\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\AA\E0\B8\B4\E0\B8\87\E0\B8\AB\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\81\E0\B8\B1\E0\B8\99\E0\B8\A2\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\95\E0\B8\B8\E0\B8\A5\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\9E\E0\B8\A4\E0\B8\A8\E0\B8\88\E0\B8\B4\E0\B8\81\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\98\E0\B8\B1\E0\B8\99\E0\B8\A7\E0\B8\B2\E0\B8\84\E0\B8\A1\00+:1:-543/01/01:+*:\E0\B8\9E.\E0\B8\A8.:%EC %Ey\00\00\E0\B8\A7\E0\B8\B1\E0\B8\99%A\E0\B8\97\E0\B8\B5\E0\B9\88 %e %B %EC %Ey, %H.%M.%S \E0\B8\99.\00%H.%M.%S \E0\B8\99.\00\E1\88\B0\E1\8A\95\E1\89\A0\E1\89\B5\00\E1\88\B0\E1\8A\91\E1\8B\AD\00\E1\88\B0\E1\88\89\E1\88\B5\00\E1\88\93\E1\88\99\E1\88\B5\00\E1\8B\93\E1\88\AD\E1\89\A2\00\E1\89\80\E1\8B\B3\E1\88\9D\00\E1\8C\A5\E1\88\AA\00\E1\88\88\E1\8A\AB\E1\89\B2\00\E1\88\98\E1\8C\8B\E1\89\A2\00\E1\88\9A\E1\8B\AB\E1\8B\9D\00\E1\8C\8D\E1\8A\95\E1\89\A6\00\E1\88\B0\E1\8A\90\00\E1\88\93\E1\88\9D\E1\88\88\00\E1\8A\90\E1\88\93\E1\88\B0\00\E1\88\98\E1\88\B5\E1\8A\A8\00\E1\8C\A5\E1\89\85\E1\88\9D\00\E1\88\95\E1\8B\B3\E1\88\AD\00\E1\89\B3\E1\88\95\E1\88\B3\00\E1\88\88\E1\8A\AB\E1\89\B2\E1\89\B5\00\E1\88\98\E1\8C\8B\E1\89\A2\E1\89\B5\00\E1\88\9A\E1\8B\AB\E1\8B\9D\E1\8B\AB\00\E1\8C\8D\E1\8A\95\E1\89\A6\E1\89\B5\00\E1\88\98\E1\88\B5\E1\8A\A8\E1\88\A8\E1\88\9D\00\E1\8C\A5\E1\89\85\E1\88\9D\E1\89\B2\00\E1\89\B3\E1\88\95\E1\88\B3\E1\88\B5\00\E1\8A\95\E1\8C\89\E1\88\86 \E1\88\B0\E1\8B\93\E1\89\B0\00\E1\8B\B5\E1\88\95\E1\88\AD \E1\88\B0\E1\8B\93\E1\89\B5\00%A\E1\8D\A3 %b %e \E1\88\98\E1\8B\93\E1\88\8D\E1\89\B2 %l:%M:%S %Z %Y\00Lin\00Miy\00Huw\00Biy\00Linggo\00Lunes\00Miyerkoles\00Huwebes\00Biyernes\00Sabado\00Ene\00Hun\00Hul\00Nob\00Enero\00Pebrero\00Marso\00Mayo\00Hunyo\00Hulyo\00Septiyembre\00Oktubre\00Nobiyembre\00Disyembre\00Paz\00Pzt\00Sal\00\C7r\FE\00Pr\FE\00Cum\00Cts\00Pazar\00Pazartesi\00Sal\FD\00\C7ar\FEamba\00Per\FEembe\00Cuma\00Cumartesi\00Oca\00\DEub\00Nis\00Haz\00Tem\00A\F0u\00Eyl\00Eki\00Kas\00Ara\00Ocak\00\DEubat\00Nisan\00May\FDs\00Haziran\00Temmuz\00A\F0ustos\00Eyl\FCl\00Ekim\00Kas\FDm\00Aral\FDk\00\D6\D6\00\D6S\00\C3\87r\C5\9F\00Pr\C5\9F\00Sal\C4\B1\00\C3\87ar\C5\9Famba\00Per\C5\9Fembe\00\C5\9Eub\00A\C4\9Fu\00\C5\9Eubat\00May\C4\B1s\00A\C4\9Fustos\00Eyl\C3\BCl\00Kas\C4\B1m\00Aral\C4\B1k\00\C3\96\C3\96\00\C3\96S\00\D0\AF\D0\BA\D1\88\00\D0\94\D1\8B\D1\88\00\D0\A1\D0\B8\D1\88\00\D0\A7\D3\99\D1\80\D1\88\00\D0\9F\D3\99\D0\BD\D2\97\00\D2\96\D0\BE\D0\BC\00\D0\A8\D0\B8\D0\BC\00\D0\AF\D0\BA\D1\88\D3\99\D0\BC\D0\B1\D0\B5\00\D0\94\D1\8B\D1\88\D3\99\D0\BC\D0\B1\D0\B5\00\D0\A1\D0\B8\D1\88\D3\99\D0\BC\D0\B1\D0\B5\00\D0\A7\D3\99\D1\80\D1\88\D3\99\D3\99\D0\BC\D0\B1\D0\B5\00\D0\9F\D3\99\D0\BD\D2\97\D0\B5\D1\88\D0\BC\D0\B1\D0\B5\00\D2\96\D0\BE\D0\BC\D0\B3\D0\B0\00\D0\A8\D0\B8\D0\BC\D0\B1\D3\99\00\EE\C4\CC\00\EE\C5\C4\A6\CC\D1\00\F0\CF\CE\C5\C4\A6\CC\CF\CB\00\F7\A6\D7\D4\CF\D2\CF\CB\00\F3\C5\D2\C5\C4\C1\00\FE\C5\D4\D7\C5\D2\00\F0'\D1\D4\CE\C9\C3\D1\00\F3\D5\C2\CF\D4\C1\00\F3\A6\DE\00\EC\C0\D4\00\E2\C5\D2\00\EB\D7\A6\00\F4\D2\C1\00\FE\C5\D2\00\EC\C9\D0\00\F3\C5\D2\00\F7\C5\D2\00\F6\CF\D7\00\EC\C9\D3\00\E7\D2\D5\00\F3\A6\DE\C5\CE\D8\00\EC\C0\D4\C9\CA\00\E2\C5\D2\C5\DA\C5\CE\D8\00\EB\D7\A6\D4\C5\CE\D8\00\F4\D2\C1\D7\C5\CE\D8\00\FE\C5\D2\D7\C5\CE\D8\00\EC\C9\D0\C5\CE\D8\00\F3\C5\D2\D0\C5\CE\D8\00\F7\C5\D2\C5\D3\C5\CE\D8\00\F6\CF\D7\D4\C5\CE\D8\00\EC\C9\D3\D4\CF\D0\C1\C4\00\E7\D2\D5\C4\C5\CE\D8\00\D0\9D\D0\B4\D0\BB\00\D0\9D\D0\B5\D0\B4\D1\96\D0\BB\D1\8F\00\D0\9F\D0\BE\D0\BD\D0\B5\D0\B4\D1\96\D0\BB\D0\BE\D0\BA\00\D0\92\D1\96\D0\B2\D1\82\D0\BE\D1\80\D0\BE\D0\BA\00\D0\A1\D0\B5\D1\80\D0\B5\D0\B4\D0\B0\00\D0\A7\D0\B5\D1\82\D0\B2\D0\B5\D1\80\00\D0\9F'\D1\8F\D1\82\D0\BD\D0\B8\D1\86\D1\8F\00\D0\A1\D1\96\D1\87\00\D0\91\D0\B5\D1\80\00\D0\9A\D0\B2\D1\96\00\D0\A7\D0\B5\D1\80\00\D0\9B\D0\B8\D0\BF\00\D0\A1\D0\B5\D1\80\00\D0\92\D0\B5\D1\80\00\D0\96\D0\BE\D0\B2\00\D0\9B\D0\B8\D1\81\00\D0\93\D1\80\D1\83\00\D0\A1\D1\96\D1\87\D0\B5\D0\BD\D1\8C\00\D0\9B\D1\8E\D1\82\D0\B8\D0\B9\00\D0\91\D0\B5\D1\80\D0\B5\D0\B7\D0\B5\D0\BD\D1\8C\00\D0\9A\D0\B2\D1\96\D1\82\D0\B5\D0\BD\D1\8C\00\D0\A7\D0\B5\D1\80\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\9B\D0\B8\D0\BF\D0\B5\D0\BD\D1\8C\00\D0\A1\D0\B5\D1\80\D0\BF\D0\B5\D0\BD\D1\8C\00\D0\92\D0\B5\D1\80\D0\B5\D1\81\D0\B5\D0\BD\D1\8C\00\D0\96\D0\BE\D0\B2\D1\82\D0\B5\D0\BD\D1\8C\00\D0\9B\D0\B8\D1\81\D1\82\D0\BE\D0\BF\D0\B0\D0\B4\00\D0\93\D1\80\D1\83\D0\B4\D0\B5\D0\BD\D1\8C\00\D8\A7\D8\AA\D9\88\D8\A7\D8\B1\00\D9\BE\D9\8A\D8\B1\00\D9\85\D9\86\DA\AF\D9\84\00\D8\A8\D8\AF\DA\BE\00\D8\AC\D9\85\D8\B9\D8\B1\D8\A7\D8\AA\00\D9\87\D9\81\D8\AA\D9\87\00\D8\AC\D9\86\D9\88\D8\B1\D9\8A\00\D9\81\D8\B1\D9\88\D8\B1\D9\8A\00\D9\85\D8\A7\D8\B1\DA\86\00\D8\A7\D9\BE\D8\B1\D9\8A\D9\84\00\D9\85\D9\93\DB\8C\00\D8\AC\D9\88\D9\86\00\D8\AC\D9\88\D9\84\D8\A7\D9\8A\00\D8\A7\DA\AF\D8\B3\D8\AA\00\D8\B3\D8\AA\D9\85\D8\A8\D8\B1\00\D8\A7\D9\83\D8\AA\D9\88\D8\A8\D8\B1\00\D9\86\D9\88\D9\85\D8\A8\D8\B1\00\D8\AF\D8\B3\D9\85\D8\A8\D8\B1\00\D8\B4\00\D9\88 %H:%M:%S %Z \D8\AA %d %B %Y\00%P %I:%M:%S\00Yak\00Se\00Cho\00Pay\00Ju\00Sha\00yakshanba\00dushanba\00seshanba\00chorshanba\00payshanba\00juma\00shanba\00Yav\00Iyn\00Iyl\00Avg\00senyabr\00%T, %d %B, %Y yil, %A\00CN \00Th 2 \00Th 3 \00Th 4 \00Th 5 \00Th 6 \00Th 7 \00Chu\CC\89 nh\C3\A2\CC\A3t \00Th\C6\B0\CC\81 hai \00Th\C6\B0\CC\81 ba \00Th\C6\B0\CC\81 t\C6\B0 \00Th\C6\B0\CC\81 n\C4\83m \00Th\C6\B0\CC\81 s\C3\A1u \00Th\C6\B0\CC\81 ba\CC\89y \00Thg 1\00Thg 2\00Thg 3\00Thg 4\00Thg 5\00Thg 6\00Thg 7\00Thg 8\00Thg 9\00Thg 10\00Thg 11\00Thg 12\00Th\C3\A1ng m\C3\B4\CC\A3t\00Th\C3\A1ng hai\00Th\C3\A1ng ba\00Th\C3\A1ng t\C6\B0\00Th\C3\A1ng n\C4\83m\00Th\C3\A1ng s\C3\A1u\00Th\C3\A1ng ba\CC\89y\00Th\C3\A1ng t\C3\A1m\00Th\C3\A1ng ch\C3\ADn\00Th\C3\A1ng m\C6\B0\C6\A1\CC\80i\00Th\C3\A1ng m\C6\B0\C6\A1\CC\80i m\C3\B4\CC\A3t\00Th\C3\A1ng m\C6\B0\C6\A1\CC\80i hai\00%H:%M:%S %Z %A %d %b %Y\00%H:%M:%S %Z\00d\EEm\00lon\00m\E5r\00dju\00vin\00sem\00d\EEmegne\00londi\00m\E5rdi\00merkidi\00djudi\00vinrdi\00semdi\00dja\00fev\00m\E5s\00djn\00djl\00awo\00n\F4v\00djanv\EE\00fevr\EE\00m\E5ss\00avri\00djun\00djulete\00awousse\00setimbe\00oct\F4be\00n\F4vimbe\00decimbe\00Li %A %d di %B %Y %T %Z\00d\C3\AEm\00m\C3\A5r\00d\C3\AEmegne\00m\C3\A5rdi\00m\C3\A5s\00n\C3\B4v\00djanv\C3\AE\00fevr\C3\AE\00m\C3\A5ss\00oct\C3\B4be\00n\C3\B4vimbe\00\E6\E5\F0'\00\EE\E0\C8\F0'\00\E3\E9\F0'\00\EE\E9\E8'\00\E3\E0\C8\F0'\00\F4\CF\F8\D6\C7'\00\E6\E5\F0\E8\E9\F7\00\EE\E0\C8\F0\E8\E9\F7\00\E3\E9\F0\F1\E8\E9\F7\00\EE\E9\E8\D4\E0\C8\EA\00\E3\E0\C8\F0\F2\F8\F9\E8\E9\F7\00\F4\CF\F8\D6\C7\E8\E9\F7\00\E9\E0\C7\F0'\00\F4\CF\F2\E1'\00\EE\E0\C7\F8'\00\E0\C7\F4\CC\F8'\00\EE\D6\C7\00\E9\E5\F0'\00\E9\E5\EC'\00\E0\D5\E2'\00\F1\F2\F4\CC'\00\E0\C8\F7\E8'\00\F0\E0\C8\D4'\00\E3\F2\F6'\00\E9\E0\C7\F0\E5\E0\C7\F8\00\F4\CF\F2\E1\F8\E5\E0\C7\F8\00\EE\E0\C7\F8\F5\00\E0\C7\F4\CC\F8\E9\EC\00\E0\D5\E2\F1\E8\00\F1\F2\F4\CC\E8\F2\EE\E1\F2\F8\00\E0\C8\F7\E8\E0\C8\E1\F2\F8\00\F0A\C8\D4\F2\EE\E1\F2\F8\00\D7\96\D7\95\D7\A0'\00\D7\9E\D7\90\D6\B8\D7\A0'\00\D7\93\D7\99\D7\A0'\00\D7\9E\D7\99\D7\98'\00\D7\93\D7\90\D6\B8\D7\A0'\00\D7\A4\D6\BF\D7\A8\D7\B2\D6\B7'\00\D7\96\D7\95\D7\A0\D7\98\D7\99\D7\A7\00\D7\9E\D7\90\D6\B8\D7\A0\D7\98\D7\99\D7\A7\00\D7\93\D7\99\D7\A0\D7\A1\D7\98\D7\99\D7\A7\00\D7\9E\D7\99\D7\98\D7\B0\D7\90\D6\B8\D7\9A\00\D7\93\D7\90\D6\B8\D7\A0\D7\A2\D7\A8\D7\A9\D7\98\D7\99\D7\A7\00\D7\A4\D6\BF\D7\A8\D7\B2\D6\B7\D7\98\D7\99\D7\A7\00\D7\99\D7\90\D6\B7\D7\A0'\00\D7\A4\D6\BF\D7\A2\D7\91'\00\D7\9E\D7\90\D6\B7\D7\A8'\00\D7\90\D6\B7\D7\A4\D6\BC\D7\A8'\00\D7\9E\D7\B2\D6\B7\00\D7\99\D7\95\D7\A0'\00\D7\99\D7\95\D7\9C'\00\D7\90\D7\B1\D7\92'\00\D7\A1\D7\A2\D7\A4\D6\BC'\00\D7\90\D6\B8\D7\A7\D7\98'\00\D7\A0\D7\90\D6\B8\D7\B0'\00\D7\93\D7\A2\D7\A6'\00\D7\99\D7\90\D6\B7\D7\A0\D7\95\D7\90\D6\B7\D7\A8\00\D7\A4\D6\BF\D7\A2\D7\91\D7\A8\D7\95\D7\90\D6\B7\D7\A8\00\D7\9E\D7\90\D6\B7\D7\A8\D7\A5\00\D7\90\D6\B7\D7\A4\D6\BC\D7\A8\D7\99\D7\9C\00\D7\90\D7\B1\D7\92\D7\A1\D7\98\00\D7\A1\D7\A2\D7\A4\D6\BC\D7\98\D7\A2\D7\9E\D7\91\D7\A2\D7\A8\00\D7\90\D6\B8\D7\A7\D7\98\D7\90\D6\B8\D7\91\D7\A2\D7\A8\00\D7\A0A\D6\B8\D7\B0\D7\A2\D7\9E\D7\91\D7\A2\D7\A8\00\E4\B8\80\00\E4\BA\8C\00\E4\B8\89\00\E5\9B\9B\00\E4\BA\94\00\E5\85\AD\00\E6\98\9F\E6\9C\9F\E6\97\A5\00\E6\98\9F\E6\9C\9F\E4\B8\80\00\E6\98\9F\E6\9C\9F\E4\BA\8C\00\E6\98\9F\E6\9C\9F\E4\B8\89\00\E6\98\9F\E6\9C\9F\E5\9B\9B\00\E6\98\9F\E6\9C\9F\E4\BA\94\00\E6\98\9F\E6\9C\9F\E5\85\AD\00\E4\B8\80\E6\9C\88\00\E4\BA\8C\E6\9C\88\00\E4\B8\89\E6\9C\88\00\E5\9B\9B\E6\9C\88\00\E4\BA\94\E6\9C\88\00\E5\85\AD\E6\9C\88\00\E4\B8\83\E6\9C\88\00\E5\85\AB\E6\9C\88\00\E4\B9\9D\E6\9C\88\00\E5\8D\81\E6\9C\88\00\E5\8D\81\E4\B8\80\E6\9C\88\00\E5\8D\81\E4\BA\8C\E6\9C\88\00\E4\B8\8A\E5\8D\88\00\E4\B8\8B\E5\8D\88\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %A %H\E6\97\B6%M\E5\88\86%S\E7\A7\92\00%H\E6\97\B6%M\E5\88\86%S\E7\A7\92\00%p %I\E6\97\B6%M\E5\88\86%S\E7\A7\92\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %A %H:%M:%S\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %A\00%I\E6\99\82%M\E5\88\86%S\E7\A7\92 %Z\00%p %I:%M:%S\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %H\E6\97\B6%M\E5\88\86%S\E7\A7\92 %Z\00%H\E6\97\B6%M\E5\88\86%S\E7\A7\92 %Z\00\E9\80\B1\E6\97\A5\00\E9\80\B1\E4\B8\80\00\E9\80\B1\E4\BA\8C\00\E9\80\B1\E4\B8\89\00\E9\80\B1\E5\9B\9B\00\E9\80\B1\E4\BA\94\00\E9\80\B1\E5\85\AD\00\E8\A5\BF\E5\85\83%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 (%A) %H\E6\99\82%M\E5\88\86%S\E7\A7\92\00\E8\A5\BF\E5\85\83%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5\00%p %I\E6\99\82%M\E5\88\86%S\E7\A7\92\00", [1804 x i8] c"\00^[yY]\00^[nN]\00[jJ].*\00[nN].*\00^[yY].*\00^[nN].*\00^[\E6].*\00^[\E4].*\00^[\D9\86].*\00^[\D9\84].*\00^[\D9\86]\00^[\D9\84]\00\D9\86\D8\B9\D9\85\00\D9\84\D8\A7\00^(\E6|\E6\D9\E5)\00^(\E4|\E4\C7)\00\E6\D9\E5\00\E4\C7\00^(\D9\86|\D9\86\D8\B9\D9\85)\00^(\D9\84|\D9\84\D8\A7)\00^[Bb].*\00^[YyNn].*\00yox\00b\C9\99li\00^[\C4\E4Yy].*\00^[\CD\EDNn].*\00^[\D0\94\D0\B4Yy].*\00^[\D0\9D\D0\BDNn].*\00^[+1\C4\E4DdYyOo].*\00^[-0\CD\EDNnKk].*\00^[+1\D0\94\D0\B4DdYyOo].*\00^[-0\D0\9D\D0\BDNnKk].*\00[yYsS\D5\A1\D4\B1].*\00[nN\D5\B8\D5\88].*\00\D5\A1\D5\B5\D5\B8\00\D5\B8\D5\B9\00^[\E0\A6\B9\E0\A7\8D\E0\A6\AF\E0\A6\BE\E0\A6\81]\00^[\E0\A6\A8\E0\A6\BE]\00\E0\A6\B9\E0\A7\8D\E0\A6\AF\E0\A6\BE\E0\A6\81\00\E0\A6\A8\E0\A6\BE\00[oOyY].*\00^[dDyY]*.\00^[nN]*.\00[sSyY].*\00^[aAyY].*\00ano\00ne\00[iItTyY].*\00ie\00na\00^[1JjYy].*\00^[0Nn].*\00^[jJyY].*\00^[\ED\CDyY].*\00^[\EF\CFnN].*\00^[\CE\BD\CE\9DyY].*\00^[\CE\BF\CE\9FnN].*\00[yY].*\00^[yYoO].*\00^[1JjsSyYoO].*\00^[0nN].*\00Yes\00No\00^[JjYy].*\00^[sSyY].*\00^[EeNn].*\00^[bBsSyY].*\00^[eEnN].*\00[yY\D8\A8f].*\00[nN\D8\AE\D9\86o].*\00^[KkJjYy].*\00^[NnEe].*\00^[Nn].*\00^[oOjJyY1].*\00^[nN0].*\00^[oOyY].*\00^[OojJsSyY].*\00^[tTyY].*\00^[Yy\EB].*\00^[Nn\EC].*\00^[Yy\D7\9B].*\00^[Nn\D7\9C].*\00^[dDyY].*\00^[IiYy].*\00[yYsS\B3\B2].*\00[nN\E1\E0].*\00\B3\DB\E1\00\E1\E3\00[tTnN].*\00^[sSjJoOyY].*\00^([yY\EF\BD\99\EF\BC\B9]|\E3\81\AF\E3\81\84|\E3\83\8F\E3\82\A4)\00^([nN\EF\BD\8E\EF\BC\AE]|\E3\81\84\E3\81\84\E3\81\88|\E3\82\A4\E3\82\A4\E3\82\A8)\00\E3\81\AF\E3\81\84\00\E3\81\84\E3\81\84\E3\81\88\00[1yYkKxX\E1].*\00[0nNaA\C0].*\00[1yYkKxX\E1\83\AE].*\00[0nNaA\E1\83\90].*\00^[JjYyAa].*\00^[yY\EC\98\88]\00^[nN\EC\95\84\EB\8B\88\EC\98\A4]\00[eE].*\00^[TtYy].*\00^[1yY\E2\C2\E4\C4aA].*\00^[0nNkK].*\00\E2e\00k\E2ore\00^[1yY\C4\81\C4\80\C3\A4\C3\84aA].*\00\C4\81e\00k\C4\81ore\00[\B4\D4DdYy1].*\00[\BD\DDNn0].*\00\D4\D0\00\DD\D5\00[\D0\94\D0\B4DdYy1].*\00[\D0\9D\D0\BDNn0].*\00\D0\B4\D0\B0\00\D0\BD\D0\B5\00^(Yes|[yY])\00^(No|[nN])\00^[tT]\00Ya\00Tidak\00[oOsS].*\00^[SsyY].*\00^[DdYy].*\00^[\E4\C4Yy].*\00^[\EE\CENn].*\00^[\B4\D4Yy].*\00^[\BD\DDNn].*\00[\E4\C4Yy].*\00[\EE\CENn].*\00[\D0\94\D0\B4Yy].*\00[\D0\9D\D0\BDNn].*\00^[Ii].*\00[aA\E1\C1yY].*\00\E1no\00nie\00[aA\C3\A1\C3\81yY].*\00\C3\A1no\00^[YyJj].*\00[dDyY1].*\00[nN0].*\00[\B4\D4Yy].*\00[\BD\DDNn].*\00^[\E0\AE\86\E0\AE\AE\E0\AF\8D]\00^[\E0\AE\87\E0\AE\B2\E0\AF\8D\E0\AE\B2\E0\AF\88]\00\E0\AE\86\E0\AE\AE\E0\AF\8D\00\E0\AE\87\E0\AE\B2\E0\AF\8D\E0\AE\B2\E0\AF\88\00^[\E0\B0\85]\00^[\E0\B0\95]\00\E0\B0\85\E0\B0\B5\E0\B0\A8\E0\B1\81\00\E0\B0\95\E0\B0\BE\E0\B0\A6\E0\B1\81\00\C4\C1\00\CE\C5\D4\00\D0\BD\D0\B5\D1\82\00^[yY\AA]\00^[nN\C1]\00\E3\AA\E8\00\E4\C1\E8\E3\AA\E8\00^[yY\E0\B8\8A]\00^[nN\E0\B8\A1]\00\E0\B9\83\E0\B8\8A\E0\B9\88\00\E0\B9\84\E0\B8\A1\E0\B9\88\E0\B9\83\E0\B8\8A\E0\B9\88\00^[eE].*\00^[hH].*\00evet\00hay\FDr\00hay\C4\B1r\00\D3\98\D0\B9\D0\B5\00\D0\AE\D0\BA\00[\F4\D4Yy].*\00[\D0\A2\D1\82Yy].*\00[yY\D9\87\D8\A8f].*\00[nN\D9\86o].*\00\D8\A8\D9\84\D9\83\D9\84\00\D9\86\D9\87\D9\8A\DA\BA\00^[YyHh].*\00^[JjNn].*\00Ha\00Yo'q\00[oOyYaAwW].*\00Oyi\00Neni\00^[Yy\E9].*\00^[Nn\F0\F7].*\00\E9\E0\C7\00\F7\D6\EF\00^[Yy\D7\99].*\00^[Nn\D7\A0\D7\A7].*\00\D7\99\D7\90\D6\B7\00\D7\A7\D7\B2\D7\9F\00^[yY\E6\98\AF]\00^[nN\E4\B8\8D\E5\90\A6]\00", [23 x %struct.__codeset_8_bit_t.204] [%struct.__codeset_8_bit_t.204 { [16 x i8] c"\00\00\00\00\01\02\03\04\04\04\04\04\04\04\04\05", [16 x i8] c"\00\00\00\00\01\02\03\04\04\04\04\04\04\04\04\05", [16 x i8] c"\00\01\02\03\04\05\06\07\08\09\0A\0B\0C\0D\0E\0F", [38 x i8] c"\00\01\01\01\01\02\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\03\01\01\01\01\01" }, %struct.__codeset_8_bit_t.204 { [16 x i8] c"\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06", [16 x i8] zeroinitializer, [16 x i8] c"\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10", [38 x i8] c"\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.204 { [16 x i8] c"\07\08\09\0A\0B\0C\0D\0E\0F\0F\0F\0F\10\10\10\10", [16 x i8] c"\06\07\08\07\09\0A\0B\0C\0D\0D\0D\0D\0D\0D\0D\0D", [16 x i8] c"\11\12\13\14\15\16\17\18\19\1A\1B\1C\1D\1E\1F ", [38 x i8] c"\04\01\01\01\05\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\06\07\01\01\01\01" }, %struct.__codeset_8_bit_t.204 { [16 x i8] c"\11\12\13\12\02\02\14\02\02\15\16\17\18\18\18\19", [16 x i8] zeroinitializer, [16 x i8] c"!\22#$%&'()*+,-./0", [38 x i8] c"\08\09\0A\01\01\0B\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\0C\0D\01\01\01\01" }, %struct.__codeset_8_bit_t.204 { [16 x i8] c"\1A\1B\1C\1D\02\1E\14\1E\18\18\18\18\1F\10 \10", [16 x i8] c"\00\0E\00\0F\00\00\00\00\00\00\00\00\00\00\00\10", [16 x i8] c"123456'789:;<=>?", [38 x i8] c"\0E\0F\0A\01\01\01\01\01\01\01\01\01\01\01\01\01\10\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\11\0D\01\01\01\01" }, %struct.__codeset_8_bit_t.204 { [16 x i8] c"\00\00\00\00\02\1E\14\1E\0F\0F!\22\10\10 \10", [16 x i8] c"\00\00\00\00\00\00\00\00\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\0356'7@ABCD=>?", [38 x i8] c"\12\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.204 { [16 x i8] c"\00\00\00\00#$%&\0F\0F\0F\22\10\10\10'", [16 x i8] c"\00\00\00\00\12\13\12\13\0D\0D\0D\11\0D\0D\0D\11", [16 x i8] c"\00\01\02\03EFGHIJKLMNOP", [38 x i8] c"\13\14\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\15\01\01\01\01\01" }, %struct.__codeset_8_bit_t.204 { [16 x i8] c"\00\00\00\00\02\0C\14(\0F\0F!\22\10\10 ", [16 x i8] c"\00\00\00\00\00\0A\00\0A\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\03QRSTUVWXYZ[\\", [38 x i8] c"\16\17\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\18\01\01\01\01\01" }, %struct.__codeset_8_bit_t.204 { [16 x i8] c"\00\00\00\00)*+,\0F\0F\0F\22\10\10\10\10", [16 x i8] c"\00\00\00\00\14\15\16\17\0D\0D\0D\11\0D\0D\0D\18", [16 x i8] c"\00\01\02\03]^_`@AabD=cd", [38 x i8] c"\19\1A\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\1B\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.204 { [16 x i8] c"\00\00\00\00-./0\0F\0F!\22\10\10 \10", [16 x i8] c"\00\00\00\00\19\1A\1B\1C\0D\0D\11\11\0D\0D\11\1D", [16 x i8] c"\00\01\02\03efgh@ABCD=>?", [38 x i8] c"\1C\1D\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\1E\01\01\01\01\01" }, %struct.__codeset_8_bit_t.204 { [16 x i8] c"\00\00\00\001234\0F\0F\0F\22\10\10\10\10", [16 x i8] c"\00\00\00\00\1E\1F !\0D\0D\0D\11\0D\0D\0D\1D", [16 x i8] c"\00\01\02\03ijklmAnop=qr", [38 x i8] c"\1F !\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\22\01\01\01\01\01" }, %struct.__codeset_8_bit_t.204 { [16 x i8] c"\00\00\00\005678\0F\0F!\22\10\10 ", [16 x i8] c"\00\00\00\00\22#\22#\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\03stuvwxyz{|}~", [38 x i8] c"#$%\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.204 { [16 x i8] c"\00\00\00\009:;<=\0F>\22?\10@ ", [16 x i8] c"\00\00\00\00$%$&'\0D(\11'\0D(\11", [16 x i8] c"\00\01\02\03\7F\80\81\82\83A\84\85\86=\87\88", [38 x i8] c"&'(\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.204 { [16 x i8] c"\00\00\00\00AB7C\0F\0F!\22\10\10 ", [16 x i8] c"\00\00\00\00\22)\22*\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\03\89\8A\8B\8CI\8D\8E\8FM\90\91\92", [38 x i8] c")*+\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.204 { [16 x i8] c"\00\00\00\00D$\0F\0F\0F\0F\10\10\10\10E&", [16 x i8] c"\00\00\00\00+,\0D\0D\0D\0D\0D\0D\0D\0D+,", [16 x i8] c"\00\01\02\03\93\94\19\1A\1B\1C\1D\1E\1F \95\96", [38 x i8] c",\01\01\01-\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01.\01\01\01\01" }, %struct.__codeset_8_bit_t.204 { [16 x i8] c"\00\00\00\00FG\06HI\18\18J\18KL\06", [16 x i8] zeroinitializer, [16 x i8] c"\00\01\02\03\97\98\10\99\9A\9B\9C\9D\9E\9F\A0\10", [38 x i8] c"/\01\01\01\01\010\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.204 { [16 x i8] c"\00\00\00\00MN-OP\0FQRS\10\10T", [16 x i8] c"\00\00\00\00\00\00-./\0D01/\0D23", [16 x i8] c"\00\01\02\03\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC", [38 x i8] c"1\01\012\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\013\01\01\01\01\01" }, %struct.__codeset_8_bit_t.204 { [16 x i8] c"\00\00\00\00U\02\14V\06\06\06W\18\18\18\19", [16 x i8] zeroinitializer, [16 x i8] c"\00\01\02\03\AD&'\AE\10\10\10\AF-./0", [38 x i8] c"4\01\01\01\015\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\016\01\01\01\01\01" }, %struct.__codeset_8_bit_t.204 { [16 x i8] c"\00\00\00\00\02\1E\14\1E\0F\0F!\22\10\10 \10", [16 x i8] c"\00\00\00\00\00\00\00\00\0D\0D\114\0D\0D\115", [16 x i8] c"\00\01\02\0356'7@A\B0\B1D=\B2\B3", [38 x i8] c"78\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.204 { [16 x i8] c"\02\02\02\02X\02Y\02\10\10\10\10\0F\0F\0F\0F", [16 x i8] c"\00\00\00\006\006\0077777777", [16 x i8] c"\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\BF\C0\C1\C2\C3", [38 x i8] c"9\01\01\01:\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01;<\01=" }, %struct.__codeset_8_bit_t.204 { [16 x i8] c"Z[\\]^_`a\10\10\10\10\0F\0F\0F\0F", [16 x i8] c"89:\00;\00<\0077777777", [16 x i8] c"\C4\C5\C6\C7\C8\C9\CA\CB\BC\BD\BE\BF\C0\C1\C2\C3", [38 x i8] c">\01\01\01?\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\11\07\01\01\01\01" }, %struct.__codeset_8_bit_t.204 { [16 x i8] c"\02\02\02\02b\14cd\10\10\10\10\0F\0F\0F\0F", [16 x i8] c"\00\00\00\00=>=>77777777", [16 x i8] c"\B4\B5\B6\B7\CC\CD\CE\CF\BC\BD\BE\BF\C0\C1\C2\C3", [38 x i8] c"9\01\01\01@\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01;<\01A" }, %struct.__codeset_8_bit_t.204 { [16 x i8] c"\06\06\06\06I\18\18\18\18e\18fge\18h", [16 x i8] zeroinitializer, [16 x i8] c"\10\10\10\10\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB", [38 x i8] c"\01\01\01\01\01\01\01\01\01\01\01\01\01\01B\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }], [20 x i8] c"\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\01\01\01\01\01", [10 x i16] [i16 0, i16 2, i16 4, i16 6, i16 8, i16 10, i16 12, i16 14, i16 16, i16 18], [20 x i16] [i16 1, i16 21, i16 3, i16 24, i16 5, i16 27, i16 7, i16 30, i16 9, i16 33, i16 11, i16 36, i16 13, i16 39, i16 15, i16 42, i16 17, i16 45, i16 19, i16 48], [45 x i8] c"\00\00\00\01\01\01\00\02\01\00\02\02\01\00\01\01\00\00\01\03\01\01\04\01\00\05\01\01\01\00\02\06\01\01\05\00\01\07\01\01\05\01\00\02\03", [3 x i16] [i16 0, i16 3, i16 11], [15 x i16] [i16 1, i16 3, i16 17, i16 0, i16 1, i16 3, i16 10, i16 12, i16 15, i16 20, i16 23, i16 0, i16 5, i16 7, i16 25], [3894 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\03\03\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\03\03\04\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\04\04\05\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\05\04\06\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\06\05\07\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\07\05\08\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\08\06\09\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\09\06\0A\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0A\07\0B\02\02\02\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\0B\08\0C\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0C\08\0D\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0D\09\0E\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0E\09\0F\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0F\0A\10\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\10\0A\11\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\11\0B\12\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\12\0B\13\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\13\0C\14\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\14\0C\15\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\15\0D\16\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\16\0D\17\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\17\0E\18\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\18\0E\19\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\19\0F\1A\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1A\0F\1B\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1B\10\1C\02\00\00\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01\1C\10\1D\02\00\00\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01\1D\11\1E\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1E\11\1F\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1F\12 \02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02 \12!\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02!\13\22\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\22\13#\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02#\14$\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02$\14%\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02%\15&\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01&\16'\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01'\16(\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01(\17)\01\04\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01)\17*\01\05\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01*\00+\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01+\07,\02\02\03\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01,\18-\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01-\18.\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01.\19/\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01/\18-\01\01\03\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\01\03\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\011\180\01\01\03\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\012\1A1\01\04\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\013\1A2\01\05\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\014\1B3\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\015\1B4\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\016\1C5\01\01\01\00\01\01\01\01\03\01\03\02\03\01\03\01\03\02\037\18-\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\011\180\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\012\18-\01\01\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\030\18.\01\01\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\031\180\01\01\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\032\1D6\02\03\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\038\18-\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01-\18.\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01.\180\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\019\18-\01\01\01\00\01\04\04\02\01\01\01\01\01\02\01\01\01\01\01-\18.\01\01\01\00\01\04\04\02\01\01\01\01\01\02\01\01\01\01\01.\1E\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\1F7\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01: \02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\1C0\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\012\1C8\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01;!9\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04<\18-\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\010\18.\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\011\180\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\012\22\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02#:\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04=$\02\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04\02%\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\01\01\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01&;\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01>\18<\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01?'\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02(=\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01@)\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02*\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02+>\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01A,\02\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02-\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02\18-\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\011\180\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\012.?\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01B/@\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01C0\02\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\021A\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01D2B\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01E3C\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01F%\02\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\024D\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01G5E\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01H5F\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01I6G\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01J7H\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01K85\01\04\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01785\01\05\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\017\18-\01\01\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\01\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\011\180\01\01\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\0129I\03\06\01\00\01\03\03\02\02\02\02\01\01\02\02\02\02\01\01L\18-\01\01\01\00\01\01\01\02\03\02\03\01\01\02\03\02\03\01\01-\18.\01\01\01\00\01\01\01\02\03\02\03\01\01\02\03\02\03\01\01.\180\01\01\01\00\01\01\01\02\03\02\03\01\01\02\03\02\03\01\019 \02\01\03\01\00\01\01\01\02\02\02\02\01\04\02\02\02\02\01\04M\180\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\019:J\02\02\01\00\01\01\01\01\02\01\02\03\02\01\02\01\02\03\02N:K\02\02\01\00\01\01\01\01\02\01\02\03\02\01\02\01\02\03\02O\07L\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01P;M\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01QQ\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01U?5\01\01\01\00\01\03\03\02\02\02\02\01\01\02\02\02\02\01\01V@R\02\02\01\00\01\03\03\01\01\01\01\01\03\01\01\01\01\01\03WAS\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01XAT\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01YBU\02\02\01\00\01\03\03\01\01\01\01\01\03\01\01\01\01\01\03ZCV\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01[DW\01\04\01\00\01\01\01\01\02\01\02\04\05\01\02\01\02\04\05\\DW\01\05\01\00\01\01\01\01\02\01\02\04\05\01\02\01\02\04\05\\EX\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01]EY\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01^\07Z\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01_F[\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04`G\\\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04a\18-\01\03\01\00\01\01\01\01\02\01\02\01\02\01\02\01\02\01\020\18.\01\03\01\00\01\01\01\01\02\01\02\01\02\01\02\01\02\01\021\180\01\03\01\00\01\01\01\01\02\01\02\01\02\01\02\01\02\01\022H5\01\04\01\00\01\01\01\01\02\01\01\01\05\01\02\01\01\01\057H5\01\05\01\00\01\01\01\01\02\01\01\01\05\01\02\01\01\01\057H5\01\01\01\00\01\01\01\01\01\01\01\02\03\01\01\01\01\02\037I]\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01bI^\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01cJ_\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01d\18-\04\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01-\18.\04\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01.\180\04\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\019K`\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01eLa\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01fLb\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01gL(\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01(Mc\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01hMd\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01iHe\01\01\01\00\01\01\01\01\01\01\01\02\03\01\01\01\01\02\03jNf\01\04\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01kNf\01\05\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01kOg\01\03\01\00\01\01\01\02\03\02\03\03\02\02\03\02\03\03\02lPh\01\01\01\00\01\02\02\01\01\01\01\01\01\01\01\01\01\01\01mQi\01\03\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\01nQj\01\03\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\01oQk\01\03\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\01pR5\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01V\07L\02\02\03\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01PSl\02\02\01\00\01\01\01\01\03\01\03\02\03\01\03\01\03\02\03qSm\02\02\01\00\01\01\01\01\03\01\03\02\03\01\03\01\03\02\03rT\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02#n\02\02\01\00\01\01\01\01\01\01\02\01\01\01\01\01\02\01\01sUo\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01tVp\02\02\01\00\01\01\01\01\02\01\01\03\01\01\02\01\01\03\01uWq\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01vXr\01\01\01\00\01\01\01\02\01\01\01\01\01\02\01\01\01\01\01w%\02\02\02\01\00\01\01\01\01\02\01\02\03\02\01\02\01\02\03\02\02YR\02\02\01\00\01\01\01\01\01\01\01\02\03\01\01\01\01\01\01WZs\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01x", [22 x i16] [i16 0, i16 91, i16 207, i16 212, i16 219, i16 223, i16 224, i16 226, i16 231, i16 236, i16 239, i16 243, i16 246, i16 250, i16 255, i16 261, i16 264, i16 268, i16 271, i16 275, i16 280, i16 286], [407 x i16] [i16 0, i16 5, i16 25, i16 35, i16 66, i16 97, i16 128, i16 159, i16 176, i16 207, i16 238, i16 269, i16 300, i16 331, i16 362, i16 393, i16 424, i16 459, i16 490, i16 521, i16 552, i16 583, i16 601, i16 630, i16 697, i16 720, i16 747, i16 768, i16 785, i16 799, i16 816, i16 821, i16 833, i16 845, i16 859, i16 864, i16 878, i16 883, i16 888, i16 906, i16 911, i16 923, i16 928, i16 933, i16 943, i16 948, i16 953, i16 963, i16 975, i16 980, i16 992, i16 1004, i16 1016, i16 1030, i16 1047, i16 1059, i16 1073, i16 1078, i16 1111, i16 1149, i16 1161, i16 1173, i16 1190, i16 1202, i16 1211, i16 1225, i16 1244, i16 1258, i16 1270, i16 1282, i16 1326, i16 1338, i16 1350, i16 1355, i16 1376, i16 1388, i16 1402, i16 1425, i16 1457, i16 1469, i16 1483, i16 1497, i16 1535, i16 1540, i16 1559, i16 1573, i16 1585, i16 1597, i16 1613, i16 1627, i16 1632, i16 0, i16 10, i16 30, i16 40, i16 51, i16 71, i16 82, i16 102, i16 113, i16 133, i16 144, i16 164, i16 181, i16 192, i16 212, i16 223, i16 243, i16 254, i16 274, i16 285, i16 305, i16 316, i16 336, i16 347, i16 367, i16 378, i16 398, i16 409, i16 429, i16 440, i16 464, i16 475, i16 495, i16 506, i16 526, i16 537, i16 557, i16 568, i16 588, i16 606, i16 615, i16 635, i16 644, i16 658, i16 667, i16 702, i16 711, i16 725, i16 742, i16 752, i16 759, i16 773, i16 778, i16 790, i16 804, i16 826, i16 838, i16 850, i16 869, i16 893, i16 697, i16 916, i16 938, i16 958, i16 968, i16 985, i16 997, i16 1009, i16 1021, i16 1035, i16 1040, i16 1052, i16 1064, i16 1083, i16 1116, i16 1123, i16 1134, i16 1154, i16 1166, i16 1178, i16 1183, i16 1195, i16 1216, i16 1230, i16 1235, i16 1249, i16 1263, i16 1275, i16 1287, i16 1296, i16 1311, i16 1331, i16 1343, i16 1360, i16 1367, i16 1381, i16 1393, i16 1407, i16 1416, i16 1430, i16 1437, i16 1448, i16 1462, i16 1474, i16 1488, i16 1502, i16 1511, i16 1520, i16 1545, i16 1550, i16 1564, i16 1578, i16 1590, i16 1602, i16 1618, i16 1637, i16 0, i16 12, i16 14, i16 1092, i16 30, i16 0, i16 14, i16 12, i16 593, i16 638, i16 649, i16 1095, i16 0, i16 16, i16 168, i16 680, i16 0, i16 0, i16 3, i16 1, i16 18, i16 16, i16 0, i16 793, i16 1, i16 18, i16 16, i16 0, i16 793, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 793, i16 18, i16 16, i16 1, i16 20, i16 18, i16 793, i16 0, i16 16, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 793, i16 18, i16 16, i16 1, i16 20, i16 18, i16 793, i16 0, i16 16, i16 3, i16 22, i16 32, i16 45, i16 58, i16 76, i16 89, i16 107, i16 120, i16 138, i16 151, i16 171, i16 186, i16 199, i16 217, i16 230, i16 248, i16 261, i16 279, i16 292, i16 310, i16 323, i16 341, i16 354, i16 372, i16 385, i16 403, i16 416, i16 434, i16 449, i16 469, i16 482, i16 500, i16 513, i16 531, i16 544, i16 562, i16 575, i16 595, i16 610, i16 622, i16 640, i16 652, i16 662, i16 683, i16 706, i16 715, i16 728, i16 732, i16 737, i16 744, i16 755, i16 763, i16 775, i16 781, i16 795, i16 808, i16 813, i16 829, i16 841, i16 854, i16 873, i16 896, i16 900, i16 919, i16 940, i16 960, i16 971, i16 988, i16 1000, i16 1012, i16 1025, i16 1037, i16 1043, i16 1055, i16 1068, i16 1098, i16 1108, i16 1119, i16 1128, i16 1141, i16 1157, i16 1169, i16 1180, i16 1186, i16 1198, i16 1207, i16 1220, i16 1232, i16 1239, i16 1253, i16 1266, i16 1278, i16 1291, i16 1303, i16 1318, i16 1334, i16 1346, i16 1363, i16 1371, i16 1384, i16 1397, i16 1411, i16 1420, i16 1433, i16 1442, i16 1452, i16 1465, i16 1478, i16 1492, i16 1506, i16 1515, i16 1527, i16 1547, i16 1554, i16 1568, i16 1581, i16 1593, i16 1607, i16 1622, i16 1641], [8250 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\00\00\00\00\01\00\00\00\00\01\00\01\01\01\01\00\01\01\01\01\00\01\00\01\01\01\01\01\01\01\00\00\00\00\00\00\02\02\02\02\02\02\02\02\02\02\02\02\02\02\01\01\01\01\02\01\01\01\01\02\01\02\02\02\02\01\02\02\02\02\01\02\01\02\02\02\02\02\02\00\00\00\00\00\00\00\03\03\03\03\03\03\03\03\03\03\03\03\03\03\02\02\02\02\03\02\02\02\02\03\02\03\03\03\03\02\03\03\03\03\02\03\02\03\03\03\03\03\03\02\00\00\00\00\00\00\04\04\04\04\04\04\04\04\04\04\04\04\04\04\03\03\03\03\04\03\03\03\03\04\03\04\04\04\04\03\04\04\04\04\03\04\03\04\04\04\03\03\03\02\00\00\00\00\00\00\03\03\03\03\03\03\03\03\03\03\03\03\03\05\02\02\02\02\03\02\02\02\02\03\02\03\03\03\03\02\03\03\03\03\02\03\02\03\03\03\03\03\03\02\00\00\00\00\00\00\04\04\04\04\04\04\04\04\04\04\04\04\04\06\03\03\03\03\04\03\03\03\03\04\03\04\04\04\04\03\04\04\04\04\03\04\03\04\04\04\03\03\03\02\00\00\00\00\00\00\04\04\04\04\04\04\04\04\04\04\04\04\04\06\03\03\03\03\04\03\03\03\03\04\03\04\04\04\04\03\04\04\04\04\03\04\03\04\04\04\04\04\04\03\00\00\00\00\00\00\05\05\05\05\05\05\05\03\03\03\03\03\03\05\04\04\04\04\05\04\04\04\04\05\04\05\05\05\05\04\05\05\05\05\04\05\04\05\03\03\03\03\03\02\00\00\00\00\00\00\06\06\06\06\06\06\06\04\04\04\04\04\04\06\05\05\05\05\06\05\05\05\05\06\05\06\06\06\06\05\06\06\06\06\05\06\05\06\04\04\03\03\03\02\00\00\00\00\00\00\00\00\00\00\00\00\00\03\05\03\03\03\05\05\00\00\00\00\00\00\00\00\00\00\00\00\05\05\05\06\07\05\07\05\04\05\04\05\05\05\05\05\05\04\00\00\00\00\00\00\00\00\00\00\00\00\00\04\06\04\04\04\06\06\00\00\00\00\00\00\00\00\00\00\00\00\06\06\06\07\08\06\08\06\05\06\05\06\05\05\05\05\05\04\00\00\00\00\00\00\05\05\05\05\05\05\05\03\03\03\03\03\03\05\04\04\04\04\05\04\04\04\04\05\04\05\05\05\05\04\09\07\05\05\04\05\04\05\03\03\03\03\03\02\00\00\00\00\00\00\06\06\06\06\06\06\06\04\04\04\04\04\04\06\05\05\05\05\06\05\05\05\05\06\05\06\06\06\06\05\0A\08\06\06\05\06\05\06\04\04\03\03\03\02\00\00\00\00\00\00\07\07\07\07\07\07\07\05\07\05\05\05\07\07\06\06\00\00\00\06\06\06\06\01\06\07\07\07\07\08\0B\09\09\07\06\07\06\07\05\05\06\06\01\01\00\00\00\00\00\00\07\07\07\08\08\08\07\06\08\06\06\06\08\08\06\06\00\00\00\07\07\06\06\01\06\07\07\07\07\08\0B\09\09\07\06\07\06\07\05\05\06\06\01\01\00\00\00\00\00\00\08\08\08\09\09\09\08\07\09\07\07\07\09\09\07\07\06\06\07\08\08\07\07\07\07\08\08\08\08\09\0C\0A\0A\08\07\08\07\08\05\05\07\06\01\01\00\00\00\00\00\00\09\09\09\0A\0A\0A\09\08\0A\08\08\08\0A\0A\08\08\07\07\08\09\09\08\08\08\08\09\09\09\09\0A\0D\0B\0B\09\08\09\08\09\05\05\07\06\01\01\00\00\00\00\00\00\0A\0A\0A\0B\0B\0B\0A\09\0B\09\09\09\0B\0B\09\09\08\08\09\0A\0A\09\09\09\09\0A\0A\0A\0A\0B\0E\0C\0C\0A\09\0A\09\0A\05\05\08\07\06\05\00\00\00\00\00\00\0B\0B\0B\0C\0C\0C\0B\0A\0C\0A\0A\0A\0C\0C\0A\0A\09\09\0A\0B\0B\0A\0A\0A\0A\0B\0B\0B\0B\0C\0F\0D\0D\0B\0A\0B\0A\0B\05\05\08\07\06\05\00\00\00\00\00\00\0C\0C\0C\0D\0D\0D\0C\0B\0D\0B\0B\0B\0D\0D\0B\0B\0A\0A\0B\0C\0C\0B\0B\0B\0B\0C\0C\0C\0C\0D\10\0E\0E\0C\0B\0C\0B\0C\06\06\09\08\04\03\00\00\00\00\00\00\0C\0C\0C\0D\0D\0D\0C\0B\0D\0B\0B\0B\0D\0D\0C\0C\0B\0B\0B\0C\0D\0C\0C\0B\0B\0C\0C\0C\0C\0D\10\0E\0E\0C\0C\0D\0C\0D\07\07\09\08\04\03\00\00\00\00\00\00\0D\0D\0D\0E\0E\0E\0D\0C\0E\0C\0C\0C\0E\0E\0D\0D\0C\0C\0C\0D\0E\0D\0D\0C\0C\0D\0D\0D\0D\0E\11\0F\0F\0D\0D\0E\0D\0E\08\08\0A\06\01\06\00\00\00\00\00\00\0E\0E\0E\0F\0F\0F\0E\0D\0F\0D\0D\0D\0F\0F\00\00\00\00\0D\00\00\00\00\01\00\00\0E\0E\0E\00\12\10\10\00\0E\0F\0E\0F\05\05\07\06\01\01\00\00\00\00\00\00\0E\0E\0E\0F\10\0F\0E\0D\0F\0D\0D\0E\0F\0F\00\00\00\00\0D\00\00\00\00\01\00\00\0E\0E\0E\00\12\10\10\00\0E\0F\0E\0F\05\05\07\06\01\01\00\00\00\00\00\00\0F\0F\0F\10\11\10\0F\0E\10\0E\0E\0F\10\10\0E\0E\0D\0D\0E\0E\0F\0E\0E\0D\0D\0E\0F\0F\0F\0F\13\11\11\0E\0F\10\0F\10\05\05\01\01\01\01\00\00\00\00\00\00\0F\0F\0F\10\11\10\0F\0E\10\0E\0E\0F\10\10\0E\0E\0D\0D\0E\0E\0F\0E\0E\0D\0D\0E\0F\0F\10\0F\13\11\11\0E\0F\10\0F\10\05\05\01\01\01\01\00\00\00\00\00\00\10\10\10\11\12\11\10\0F\11\0F\0F\10\11\11\0F\0F\0E\0E\0F\0F\10\0F\0F\0E\0E\0F\10\10\11\10\14\12\12\0F\10\11\10\11\05\05\0B\06\00\07\00\00\00\00\00\00\10\10\11\11\13\12\10\10\12\10\10\11\12\11\0F\10\0F\0E\10\10\11\0F\10\0F\0E\0F\10\11\12\10\15\13\13\0F\11\12\10\11\05\05\0C\06\00\07\00\00\00\00\00\00\11\11\12\12\14\13\11\11\13\11\11\12\13\12\10\11\10\0F\11\11\12\10\11\10\0F\10\11\12\13\11\16\14\14\10\12\13\11\12\05\05\0D\09\01\01\00\00\00\00\00\00\12\12\13\13\15\14\12\12\14\12\12\13\14\13\11\0E\0D\10\12\0E\0F\11\12\11\0D\11\12\13\14\12\17\15\15\11\13\14\12\13\05\05\01\0A\01\01\00\00\00\00\00\00\13\12\13\13\15\14\13\13\14\12\12\13\14\14\11\0E\0D\10\12\0E\0F\11\12\11\0D\11\12\13\14\12\17\15\15\11\13\14\12\13\05\05\01\0A\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\12\00\11\00\11\00\00\00\00\01\00\12\13\14\15\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\13\00\12\00\11\00\00\00\00\01\00\12\14\14\16\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\11\00\11\00\00\00\00\01\00\12\0E\0E\15\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\12\00\11\00\00\00\00\01\00\12\0E\0E\16\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\11\00\11\00\00\00\00\01\00\12\0E\0E\15\00\16\10\10\00\00\01\00\14\05\05\01\06\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\12\00\11\00\00\00\00\01\00\12\0E\0E\16\00\16\10\10\00\00\01\00\14\05\05\01\06\01\01\00\00\00\00\00\00\15\13\15\15\17\16\15\15\16\14\14\15\16\16\14\12\13\11\13\12\13\12\13\12\10\13\15\15\17\13\18\16\16\12\14\15\13\15\05\05\01\02\01\01\00\00\00\00\00\00\16\14\16\16\18\17\16\16\17\15\15\16\17\17\15\13\14\12\14\13\14\13\14\13\11\14\16\16\18\14\19\17\17\13\15\16\14\16\05\05\01\02\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\05\01\01\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\01\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\05\0F\0B\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\10\0C\07\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\04\04\04\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\11\0D\04\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\12\0E\04\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\0F\02\00\00\00\00\00\00\00\17\0D\17\0E\19\18\17\17\18\16\16\17\18\18\00\00\00\00\0D\00\00\14\00\01\00\00\17\17\19\15\1A\18\18\14\16\17\15\17\05\05\13\0B\01\01\00\00\00\00\00\00\18\0D\17\17\1A\19\18\18\19\17\17\18\19\19\16\0E\0D\0D\15\0E\0F\0E\12\0D\0D\15\18\18\1A\0F\1B\19\19\15\17\10\16\18\05\05\01\01\01\01\00\00\00\00\00\00\18\0D\17\18\1A\19\19\18\19\17\18\18\19\1A\16\0E\0D\0D\15\0E\0F\0E\12\0D\0D\15\18\18\1A\0F\1B\19\19\15\17\10\16\18\05\05\01\01\01\01\00\00\00\00\00\00\19\15\18\19\1B\1A\1A\19\1A\18\19\19\1A\1B\17\14\15\13\16\14\15\15\15\14\12\16\19\19\1B\16\1C\1A\1A\11\13\18\12\19\05\05\01\06\01\01\00\00\00\00\00\00\19\15\18\19\1B\1A\1A\1A\1B\19\1A\1A\1A\1C\17\14\16\13\16\14\15\15\15\14\12\16\19\19\1C\16\1C\1A\1A\11\13\18\12\19\05\05\01\06\01\01\00\00\00\00\00\00\1A\16\19\1A\1C\1B\1B\1B\1C\1A\1B\1B\1B\1D\18\15\0D\14\0E\15\16\16\16\15\13\17\1A\1A\1D\17\1D\1B\1B\16\18\19\17\1A\05\05\14\10\01\01\00\00\00\00\00\00\1B\17\1A\1B\1D\1C\1C\1C\1D\1B\1C\1C\1C\1E\19\16\03\15\17\16\17\17\17\16\14\18\1B\1B\04\18\1E\1C\1C\17\19\1A\18\1B\09\09\15\11\00\09\00\00\00\00\00\00\1C\18\1B\1C\1E\1D\1D\1D\1E\1C\1D\1D\1D\1F\1A\17\17\16\18\17\18\18\18\17\15\19\1C\1C\1E\19\1F\1D\1D\18\1A\1B\19\1C\05\05\16\06\01\01\00\00\00\00\00\00\1C\18\1B\1C\1E\1D\1D\1D\1E\1C\1D\1D\1D\1F\1B\18\17\17\19\18\19\19\19\18\15\1A\1C\1C\1E\19\1F\1E\1E\18\1A\1B\19\1C\05\05\16\06\01\01\00\00\00\00\00\00\1D\19\1C\1D\1F\1E\1E\1E\1F\1D\1E\1E\1E \11\0E\0D\10\0E\0E\0F\11\12\11\0D\0E\12\13\1F\1A\1C\15\15\11\13\14\12\1D\05\05\01\12\01\01\00\00\00\00\00\00\1D\1A\1D\1D \1F\1E\1E \1E\1E\1F\1F \11\0E\0D\10\0E\0E\0F\11\12\11\0D\0E\12\13\1F\1B\1C\15\15\11\13\14\12\1D\05\05\01\12\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\01\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\01\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\0B\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\0B\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\13\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\13\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\06\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\06\01\01\00\00\00\00\00\00\1E\1B\1E\1E\22 \22 !!\22\1C\1B\18\19\1A\19\1B\1C\1A\19\16\1D\1E\1F \1D \1B\1C\1D\1A \05\05\01\09\01\01\00\00\00\00\00\00\1E\1B\1F\1F# !#!!\22\22#\1C\1B\19\19\1A\19\1C\1D\1B\1A\16\1D\1F\1F!\1E! !\1C\1D\1E\1B!\05\05\01\09\01\01\00\00\00\00\00\00\1F\1C $!!\22$\22\22##$\1D\1C\1A\1A\1B\1A\1D\1E\1C\1B\17\1E \22\1F\22!\22\1D\1E\1F\1C\22\05\05\01\01\01\01\00\00\00\00\00\00\1F\1C $!!#$#\22##$\1D\1C\1B\1A\1C\1A\1D\1F\1C\1B\17\1F #\1F#\22\22\1E\1E\1F\1C#\05\05\01\01\01\01\00\00\00\00\00\00 \1D!!%\22\22$%$#$$%\1E\00\00\1B\11\1B\1E \1D\1C\00\00!!$ $##\1F\1F \15\17\05\05\01\01\01\01\00\00\00\00\00\00 \1D!\22%\22#$%$$$$&\1E\00\00\1B\11\1C\1E \1D\1C\00\00!!$ $$#\1F\1F \15\17\05\05\01\01\01\01\00\00\00\00\00\00!\1E\22#&#$%&%%%%'\1F\1D\1C\1C\1D\1D\1F!\1E\1D\18 \22\22%!%%$ !\1D$\05\05\01\01\01\01\00\00\00\00\00\00\22\1F#$'$%&'&&&&( \1E\1D\1D\1E\1E \22\1F\1E\19!##&\22&&%!!\22\1E%\00\00\17\01\00\0A\00\00\00\00\00\00# $%(%&'('''')!\1F\1E\1E\1F\1F!# \1F\1A\22$$'#''&\22\22#\1F&\00\00\17\01\00\0A\00\00\00\00\00\00$!%&)&'()((((*\22 \1F\1F \22$! \1B#%%($(('##$ '\0A\0A\09\08\04\03\00\00\00\00\00\00\0E\0E\0E\0F\0F\0F\0E\0D\0F\0D\0D\0D\0F\0F#! !!#%\22!\1C$&&)%))($$%!(\05\05\07\06\01\01\00\00\00\00\00\00\0E\0E\0E\0F\10\0F\0E\0D\0F\0D\0D\0E\0F\0F#!! !!#%\22!\1C$''*%))($$%!(\05\05\07\06\01\01\00\00\00\00\00\00%\22&'*'()*))))+\11\0E\22!\22\22$\11#\11\0D\11((+&**)%%&\12\13\05\05\18\0B\08\0B\00\00\00\00\00\00%\22&'*'(*+))**+\11\0E#\22##%\11#\11\0D\11)),'++*%%'\12\13\05\05\18\0B\08\0B\00\00\00\00\00\00&#'(+()+,**++,$\22$#$$&&$\22\1D%**-(,,+&&(\22)\05\05\0E\00\02\01\00\00\00\00\00\00'$(),)*,-++,,-%#%$%%''%#\1E&++.)--,'')#*\05\05\0E\00\02\01\00\00\00\00\00\00(%)*-*+-.,,--.\00$\00\00\01\00\00(\00\01\00\01,,/\00\01\10\10(\00\01\00\01\05\05\0E\01\01\01\00\00\00\00\00\00\00&*+.+,./--../\00\00\00\00&&()\00\01\1F\01--0*..-)\00*$\01\0B\0B\19\14\01\01\00\00\00\00\00\00\00'+,.,,.0...//\00\00\00\00'')*\00\01 \01..0+//.*\00+%\01\0B\0B\19\14\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/1///0\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\13\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/20001\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\13\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/1///0\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\02\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/20001\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\02\01\01\00\00\00\00\00\00)(,-0--0311120&%&%))++&%!'001-110+)-&,\0C\0C\1A\15\09\0C\01\00\01\01\01\00*)-.1..1422231'&'&**,,'&\22(112.221,*.'-\05\05\1B\0F\01\01\00\00\00\00\00\00+*./2//2533342('('++--('#)223/332-+/(.\05\05\1C\0F\01\01\00\00\00\00\00\00,+\1703003644453\11\0E\0D\10\12\0E\0F\11\12\11\0D\1133404\15\15.,0)/\05\05\01\16\01\01\00\00\00\00\00\00-,/14114755564)()(,,..)($*4451543/-1*0\0D\0D\1D\17\0A\0D\00\00\00\00\00\00\11\1D025\13\115866675*)*\0F--\12/*)%+55626540.2+1\05\05\01\01\01\01\00\00\00\00\00\00.-136226977786+*+)../0+*&,66737651/3,2\05\05\1E\18\01\01\00\00\00\00\00\00.-136236978787+*+)../0+*&,6674875203-3\05\05\1E\18\01\01\00\00\00\00\00\00/.247347:89898\11\0E\0D\10\0E/0\11\12\11\0D\1177\145986314.4\05\05\1F\19\01\01\00\00\00\00\00\00//358358:8:898\11\0E\0D\10\0E01\11\12\11\0D\1188\146997314.4\05\05\1F\19\01\01\00\00\00\00\00\000\01469469;9;9:9,+,*/121,+'-9987::8425/5\05\05 \01\01\01\00\00\00\00\00\000\0156:47:;:;:::,+,*/131,+'-:998::952605\05\05 \01\01\01\00\00\00\00\00\001067;58;<;<;;;-,-+0242-,(.;::9;;:63716\05\05!\06\01\01\00\00\00\00\00\002178<69<\0C\0A=<<<.\0A\09\09135\0A\0A\0A\0A\0B<\0B\0B\0C<<;\0B\0A\0B\0A\0B\05\05!\06\01\01\00\00\00\00\00\003289=7:==<>===/-\1F,2 63.-)/=;(:=(<74827\0E\0E\09\08\04\03\00\00\00\00\00\0043)*>*+>>,,>>.\00\00.\00\01\00\004\00\01\000,<;\00\01==8\00\01\008\05\05\09\08\04\03\00\00\00\00\00\00549:?8;??=???>\00.\00\003475\1D.\001>=<\00>>>95939\05\05\22\1A\04\03\00\00\00\00\00\00649:@9;@?=@@@>\00.\00\003575\1D.\002>=<\00>?>9593:\05\05\22\1A\04\03\00\00\00\00\00\007\18:;A:AAA?\11\0E/\104\0E\0F\11\12\11\0D\1133=\12?\15\15:\13\14\12\13\05\05\01\1B\01\01\00\00\00\00\00\0085;\0F;\1C@?;\0F\1C\0F;\05\05\01\06\01\01\00\00\00\00\00\00\17\0D\17=D\18\17CC@\0ED\10A\0E\0E\0D\0D\0E\0E\0F7\0E\0D\0D\11@?\10;\1C@?<\0F\1C\0F;\05\05\01\06\01\01\00\00\00\00\00\0097<>E<>DDACECB0/\0D-\12688//\0E3A@><\17A@=6:\10<\05\05\01\0B\01\01\00\00\00\00\00\0097DEADEDB0/\0D-\12688/0\0E3B@>=\17A@>7;\10=\05\05\01\0B\01\01\00\00\00\00\00\00 8=@F>\22\18FBEFE\19\00\06\00\1B\11\00\00 \1D\1C\00\12CA?\0F@BA\158<4>\05\05\01\0A\01\01\00\00\00\00\00\00 8=@F>#\18FCEFE\1A\00\06\00\1B\11\00\00 \1D\1C\00\12CA@\0F@BA\158<4>\05\05\01\0A\01\01\00\00\00\00\00\00 8=@F>\22$GDFGF%\00\06\00\1B\11\00\00 \1D\1C\00\12DBA $CB\1F\1F \15?\05\05\01\0A\01\01\00\00\00\00\00\00 8=@F>#$GEFGF&\00\06\00\1B\11\00\00 \1D\1C\00\12DBB $CB\1F\1F \15?\05\05\01\0A\01\01\00\00\00\00\00\00:9>AG??EHFGHGC1\0E\0D\10\0E79\11\12\0D\0D\11E\01C>\16DC\009=5@\05\05\01\0B\01\01\00\00\00\00\00\00:9>AG?@FHGGHGD1\0E\0D\10\0E79\11\12\0D\0D\11E\01C>\16DC\009=5@\05\05\01\0B\01\01\00\00\00\00\00\00;:?BH@AGIHHIHE200.58:901*4FCD?AED?:>6A\05\05\07\06\01\01\00\00\00\00\00\00<;@CIABHJIIJIF311/69;:12+5GDE@BFE@;?7B\05\05\07\06\01\01\00\00\00\00\00\00=B:E\05\05\07\06\01\01\00\00\00\00\00\00>=DDKCEJLKKLKH53318;=<34-7KHIDFJID?C;F\05\05%\0B\01\01\00\00\00\00\00\00\10\10E\11LD\10KMLLML\11\11\0E\0D\10\22\22$\11\12\11\0D\11((J\1AGKJ\11\13&\12\13\05\05\0B\06\00\07\00\00\00\00\00\00\10\10E\11MD\10LMLLNL\11\11\0E\0D\10##%\11\12\11\0D\11))J\1BHLK\11\13'\12\13\05\05\0C\06\00\07\00\00\00\00\00\00?7FENE>MNMMOMB\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13J\12\17MLE\13\14\12\13\05\05\01\06\01\01\00\00\00\00\00\00?7FEOE>MNMMPMB\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13J\12\17MLE\13\14\12\13\05\05\01\06\01\01\00\00\00\00\00\00@>GFPFFNONNQNI\004\002\0D<>>45.8LI\1FE\17NMF@D>45/8LI\1FE\17NMF@D=G\0F\0F&\1D\0C\0E\00\00\00\00\00\00?7HENEGMQPMROK\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13\07\12\17\15\15EAE>H\05\05\01\1E\01\01\00\00\00\00\00\00?7HEOEGMQPMSOK\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13\07\12\17\15\15EAE>H\05\05\01\1E\01\01\00\00\00\00\00\0010I7;5HORQ@@673RONILTSKGKDN\00\00)\1F\00\00\03\00\02\00\03\02GFP\02UKPWZX\02ZVT:;87=ACC9:6?SPOJMUTLHLEO\12\12*\02\02\00\00\00\00\00\00\00GFP\02UKPWZX\02ZVT\01\01\01\01\02\01\01\01\01\02\01\02\02\02\02\01\02\02\02\02\01\02\01\02\12\12*\02\02\00\00\00\00\00\00\00H\1D!LVL+X[$T[WU;$\00\1B\00BD \00\0170TQP NVU\1FIMFP\00\00\0E\00\02\00\00\00\00\00\00\00IGQMWMQY\\YU\\XV<<\008\00CED:;8@UR\0EKOWVMJNGQ\13\13\01\0A\01\00\00\00\00\00\00\00IGQNXMQY\\ZV]XV<=\008\00CEE:;8@US\0EKPWVNKNHR\14\14\01\0A\01\00\00\00\00\00\00\00JHROYNRZ][W^YW42207:<;23,6HEFACGFA<@8C\05\05\07\06\01\01\00\00\00\00\00\00K:?BH@A[^\\X_ZX=>99>DFF;<9AVTQLQXWOLOIS\05\05\07\06\01\01\00\00\00\00\00\00L\08::\08EGG<=:BWURM\0DYXPMPJT\05\05\07\06\01\01\00\00\00\00\00\00MISPZOS]`^Za\1CY??;;?FHH=>;CXVSNRZYQNQKU\04\15+\02\00\0F\00\00\00\00\00\00NJTQ[PT^a_[b\\Z@\06\00\00\00GII\06\01\06\07\07\07\07\08\0B\09\09EO\07\06\07\05\05,\01\01\01\00\00\00\00\00\00OKUR\\QU_b`\\c][A@<<@HJJ>?\18\15IKK\0E\0D>\11[YVP\0B\\[SQTNW\00\00.\02\00\00\00\00\00\00\00\00RMXS^SWbdc^e_(CB?=AJLL?@?E\\ZWQT&%TRUO%\00\00\17\01\00\0A\00\00\00\00\00\00SNYT_TXced_f`)DC@>BKMM@A@F][XRU'&USVP&\00\00\17\01\00\0A\00\00\00\00\00\00)OZU`UYdfe`ga]&%&%))++&%!'^\\YSV]\\VTWQX\15\16/\15\0E\10\00\00\00\00\00\00)OZU`UYdfe`ga]EDA?CLNNA%!'^\\YSV]\\VTWQX\15\160 \0F\11\00\00\00\00\00\00TP[VaVZdfe`ga]FEB@DMOOBBAG^\\YSV]\\VTWQX\15\161\15\10\01\00\00\00\00\00\00)OZU`UYegfahb^&%&%))++&%!'^\\YSV]\\VTWQX\15\162!\09\12\00\00\00\00\00\00", [50 x i16] [i16 0, i16 85, i16 166, i16 258, i16 345, i16 443, i16 530, i16 621, i16 723, i16 827, i16 930, i16 1028, i16 1133, i16 1232, i16 1327, i16 1398, i16 1468, i16 1535, i16 1600, i16 1669, i16 1747, i16 1827, i16 1907, i16 1974, i16 2041, i16 2107, i16 2179, i16 2274, i16 2367, i16 2457, i16 2541, i16 2628, i16 2722, i16 2815, i16 2902, i16 2987, i16 3075, i16 3157, i16 3246, i16 3268, i16 3291, i16 3342, i16 3376, i16 3393, i16 3412, i16 3416, i16 3417, i16 3420, i16 3422, i16 3426], [3429 x i16] [i16 1, i16 273, i16 463, i16 844, i16 1101, i16 858, i16 1122, i16 1977, i16 2348, i16 2594, i16 3018, i16 3253, i16 3606, i16 4397, i16 4635, i16 4806, i16 5023, i16 5441, i16 5662, i16 5858, i16 5884, i16 6040, i16 6288, i16 6938, i16 7125, i16 7310, i16 7573, i16 7838, i16 8226, i16 8624, i16 9025, i16 9539, i16 9921, i16 10130, i16 10434, i16 10640, i16 10937, i16 11606, i16 11946, i16 12190, i16 12640, i16 13317, i16 14931, i16 15189, i16 6952, i16 16066, i16 16636, i16 17024, i16 17365, i16 17819, i16 18049, i16 18224, i16 18661, i16 18735, i16 18983, i16 19067, i16 19176, i16 19479, i16 4589, i16 20213, i16 20433, i16 20653, i16 21280, i16 21712, i16 21810, i16 22607, i16 22680, i16 22719, i16 23133, i16 23665, i16 24019, i16 24674, i16 25025, i16 25183, i16 25483, i16 25641, i16 25844, i16 26175, i16 26395, i16 26524, i16 26932, i16 27130, i16 27204, i16 27426, i16 27844, i16 5, i16 276, i16 473, i16 846, i16 1104, i16 864, i16 1133, i16 1981, i16 2352, i16 2601, i16 3021, i16 3258, i16 3616, i16 4401, i16 4639, i16 4809, i16 5026, i16 5445, i16 5666, i16 6044, i16 6295, i16 7312, i16 7577, i16 7842, i16 8229, i16 8628, i16 8755, i16 9030, i16 9544, i16 9925, i16 10134, i16 10437, i16 10644, i16 10948, i16 11608, i16 11950, i16 12197, i16 2107, i16 12746, i16 12967, i16 13321, i16 14935, i16 15199, i16 15853, i16 16070, i16 16639, i16 17027, i16 17267, i16 17823, i16 18056, i16 18234, i16 18665, i16 18739, i16 19180, i16 19307, i16 19483, i16 19792, i16 20029, i16 20217, i16 20437, i16 20660, i16 21285, i16 21815, i16 22082, i16 22611, i16 22685, i16 22723, i16 23143, i16 23669, i16 24027, i16 24687, i16 25187, i16 25490, i16 26186, i16 4589, i16 26528, i16 26936, i16 27209, i16 27434, i16 27820, i16 27854, i16 9, i16 279, i16 480, i16 848, i16 1107, i16 872, i16 1148, i16 1985, i16 2356, i16 2608, i16 3024, i16 3263, i16 3626, i16 4405, i16 4643, i16 4812, i16 5029, i16 5255, i16 5449, i16 5670, i16 5888, i16 6048, i16 6302, i16 4895, i16 7314, i16 7581, i16 7846, i16 8232, i16 8632, i16 8760, i16 9035, i16 9301, i16 9549, i16 94, i16 10138, i16 10440, i16 10648, i16 10959, i16 11610, i16 11954, i16 12204, i16 12644, i16 12750, i16 12972, i16 13325, i16 14939, i16 15209, i16 16074, i16 16408, i16 16642, i16 17030, i16 17271, i16 17368, i16 17659, i16 17827, i16 18063, i16 18244, i16 18743, i16 19070, i16 19184, i16 19487, i16 19796, i16 276, i16 20221, i16 20441, i16 20667, i16 21048, i16 21132, i16 21290, i16 21635, i16 5678, i16 21820, i16 22151, i16 22255, i16 22391, i16 22615, i16 22727, i16 23153, i16 23672, i16 24032, i16 24697, i16 25191, i16 25497, i16 26193, i16 26399, i16 26534, i16 26940, i16 27135, i16 27215, i16 27444, i16 27824, i16 27864, i16 13, i16 282, i16 493, i16 850, i16 1110, i16 881, i16 1165, i16 1989, i16 2221, i16 2360, i16 2615, i16 3027, i16 3268, i16 3639, i16 4409, i16 4647, i16 4815, i16 5032, i16 5453, i16 5674, i16 5892, i16 6052, i16 6309, i16 7129, i16 7281, i16 7316, i16 7585, i16 7850, i16 8235, i16 8636, i16 9041, i16 9308, i16 9553, i16 9929, i16 10091, i16 10142, i16 10443, i16 10652, i16 10973, i16 11612, i16 11958, i16 12211, i16 12648, i16 12754, i16 12977, i16 13329, i16 14943, i16 15219, i16 15857, i16 16078, i16 16412, i16 16645, i16 17033, i16 17275, i16 17371, i16 17831, i16 18070, i16 18257, i16 18747, i16 19073, i16 19188, i16 19339, i16 19491, i16 19686, i16 19800, i16 20032, i16 20225, i16 20445, i16 21295, i16 21716, i16 21825, i16 22088, i16 22731, i16 23166, i16 23675, i16 24037, i16 25029, i16 25195, i16 25381, i16 25504, i16 26202, i16 26402, i16 26540, i16 27220, i16 27452, i16 27828, i16 27874, i16 17, i16 285, i16 503, i16 852, i16 1113, i16 890, i16 1182, i16 1993, i16 2228, i16 2364, i16 2622, i16 3030, i16 3273, i16 3649, i16 4413, i16 4651, i16 4791, i16 4818, i16 5035, i16 5259, i16 5457, i16 5678, i16 5896, i16 6056, i16 6316, i16 6942, i16 7133, i16 7318, i16 7589, i16 7854, i16 8238, i16 8640, i16 8765, i16 8827, i16 9046, i16 9314, i16 9557, i16 9933, i16 10147, i16 10446, i16 10656, i16 10984, i16 11616, i16 11962, i16 12218, i16 12652, i16 12758, i16 13129, i16 13333, i16 14947, i16 15229, i16 15861, i16 16082, i16 16416, i16 16648, i16 17036, i16 17279, i16 17374, i16 17663, i16 17835, i16 18077, i16 18267, i16 18669, i16 18751, i16 18988, i16 19076, i16 19192, i16 19343, i16 19437, i16 19495, i16 19804, i16 20035, i16 20229, i16 20449, i16 20674, i16 21300, i16 21638, i16 16919, i16 21720, i16 21796, i16 21830, i16 22735, i16 23176, i16 23678, i16 24042, i16 24707, i16 25033, i16 25199, i16 25387, i16 25513, i16 26209, i16 26406, i16 26546, i16 26944, i16 27225, i16 27460, i16 27832, i16 27884, i16 21, i16 288, i16 513, i16 854, i16 1116, i16 897, i16 1195, i16 1997, i16 2233, i16 2368, i16 2629, i16 3033, i16 3278, i16 3674, i16 4417, i16 4655, i16 4821, i16 5038, i16 5263, i16 5461, i16 5682, i16 5900, i16 6060, i16 6323, i16 6948, i16 7137, i16 7320, i16 7593, i16 7858, i16 8241, i16 8644, i16 8770, i16 9051, i16 9562, i16 9937, i16 10152, i16 10449, i16 10660, i16 10998, i16 11619, i16 11966, i16 12225, i16 12656, i16 12762, i16 12982, i16 13337, i16 14951, i16 15239, i16 15865, i16 16086, i16 16651, i16 17039, i16 17378, i16 17839, i16 18084, i16 18280, i16 18755, i16 18993, i16 19079, i16 19196, i16 19499, i16 19691, i16 19808, i16 20038, i16 20233, i16 20453, i16 20681, i16 21305, i16 21641, i16 21724, i16 21835, i16 22735, i16 23189, i16 23682, i16 24050, i16 24717, i16 25037, i16 25203, i16 25522, i16 7946, i16 26410, i16 26552, i16 26948, i16 27231, i16 27470, i16 27836, i16 27894, i16 25, i16 291, i16 523, i16 856, i16 1119, i16 1448, i16 1454, i16 2001, i16 2372, i16 2636, i16 3036, i16 3283, i16 3690, i16 4421, i16 4659, i16 4824, i16 273, i16 5465, i16 5686, i16 5863, i16 5904, i16 6064, i16 6330, i16 6952, i16 7141, i16 7286, i16 7322, i16 7597, i16 7862, i16 8244, i16 8648, i16 8831, i16 9057, i16 9567, i16 9941, i16 10096, i16 10156, i16 10452, i16 10664, i16 11015, i16 11621, i16 11970, i16 12232, i16 12660, i16 12766, i16 13341, i16 14955, i16 15249, i16 15869, i16 16090, i16 16654, i16 16919, i16 17042, i16 17283, i16 17381, i16 17668, i16 17843, i16 18091, i16 18296, i16 18759, i16 19082, i16 19200, i16 19503, i16 20041, i16 20181, i16 20237, i16 20457, i16 20688, i16 21052, i16 21310, i16 21840, i16 22155, i16 22259, i16 22398, i16 22619, i16 22690, i16 22727, i16 23205, i16 23685, i16 24055, i16 24727, i16 25207, i16 25529, i16 26222, i16 26413, i16 26558, i16 26952, i16 10488, i16 10728, i16 27840, i16 27904, i16 29, i16 294, i16 463, i16 858, i16 1122, i16 2005, i16 2238, i16 2376, i16 2643, i16 3039, i16 3288, i16 3700, i16 4397, i16 4663, i16 4827, i16 5041, i16 5267, i16 5441, i16 5690, i16 5868, i16 5908, i16 6068, i16 6337, i16 6956, i16 7145, i16 7324, i16 7502, i16 7601, i16 7866, i16 8247, i16 8652, i16 8835, i16 9062, i16 9320, i16 9572, i16 9820, i16 9945, i16 10160, i16 10455, i16 10668, i16 11026, i16 11625, i16 11815, i16 11974, i16 12239, i16 12664, i16 12770, i16 13133, i16 13345, i16 14959, i16 15259, i16 15873, i16 16094, i16 16420, i16 16657, i16 17045, i16 17287, i16 17384, i16 17672, i16 17847, i16 18098, i16 18306, i16 18673, i16 18763, i16 18998, i16 19085, i16 19205, i16 19347, i16 19507, i16 20044, i16 20185, i16 20241, i16 20461, i16 20695, i16 21315, i16 21644, i16 21695, i16 21728, i16 21845, i16 22263, i16 22405, i16 22623, i16 22695, i16 22739, i16 23215, i16 23688, i16 24060, i16 24674, i16 25041, i16 25211, i16 25536, i16 25645, i16 25851, i16 26175, i16 26417, i16 26564, i16 26956, i16 27140, i16 27238, i16 27482, i16 27844, i16 28220, i16 36, i16 301, i16 473, i16 864, i16 1133, i16 1792, i16 1878, i16 2016, i16 2251, i16 2384, i16 2658, i16 3046, i16 3301, i16 3719, i16 4401, i16 4672, i16 4836, i16 5048, i16 5275, i16 5469, i16 5697, i16 5916, i16 6076, i16 6352, i16 6965, i16 7153, i16 7333, i16 7513, i16 7609, i16 7882, i16 8257, i16 8663, i16 8775, i16 8844, i16 9075, i16 9334, i16 9584, i16 9953, i16 10169, i16 10461, i16 10679, i16 11046, i16 11634, i16 11825, i16 11981, i16 12252, i16 12671, i16 12781, i16 12987, i16 13142, i16 13271, i16 13355, i16 14965, i16 15275, i16 15880, i16 16104, i16 16427, i16 16669, i16 17055, i16 17391, i16 17854, i16 18325, i16 18678, i16 18771, i16 19092, i16 19213, i16 19312, i16 19355, i16 19517, i16 19696, i16 19812, i16 19936, i16 20053, i16 20253, i16 20473, i16 20718, i16 21327, i16 21651, i16 21736, i16 21853, i16 22094, i16 22159, i16 22270, i16 22417, i16 22630, i16 22703, i16 22758, i16 23237, i16 23696, i16 24082, i16 24687, i16 25048, i16 25217, i16 25551, i16 25652, i16 25864, i16 26186, i16 26427, i16 26579, i16 26964, i16 27245, i16 27495, i16 27854, i16 28227, i16 43, i16 309, i16 480, i16 872, i16 1148, i16 2028, i16 2264, i16 2395, i16 2679, i16 3057, i16 3322, i16 3738, i16 4425, i16 4684, i16 4844, i16 5056, i16 5285, i16 5474, i16 5704, i16 5923, i16 6084, i16 6367, i16 6971, i16 7159, i16 7343, i16 7524, i16 7620, i16 7895, i16 8267, i16 8673, i16 8786, i16 8850, i16 9084, i16 9344, i16 9592, i16 9833, i16 9958, i16 10177, i16 10465, i16 10686, i16 11066, i16 11640, i16 11992, i16 12273, i16 12677, i16 12791, i16 12998, i16 13149, i16 13279, i16 13365, i16 14974, i16 15300, i16 15895, i16 16114, i16 16434, i16 16681, i16 17065, i16 17396, i16 17680, i16 17865, i16 18344, i16 18780, i16 19100, i16 19221, i16 19362, i16 19530, i16 19820, i16 19922, i16 19944, i16 20015, i16 20058, i16 20195, i16 20265, i16 20485, i16 20741, i16 21338, i16 21660, i16 21747, i16 21861, i16 22104, i16 22170, i16 22280, i16 22436, i16 22637, i16 22780, i16 23259, i16 23703, i16 24101, i16 24697, i16 25227, i16 25392, i16 25566, i16 25662, i16 25883, i16 26193, i16 26436, i16 26591, i16 26970, i16 27149, i16 27253, i16 27510, i16 27864, i16 28234, i16 51, i16 317, i16 493, i16 881, i16 1165, i16 2039, i16 2276, i16 2403, i16 2694, i16 3065, i16 3337, i16 3760, i16 4432, i16 4691, i16 4852, i16 5062, i16 5293, i16 5481, i16 5712, i16 5932, i16 6090, i16 6378, i16 6977, i16 7166, i16 7291, i16 7353, i16 7535, i16 7630, i16 7911, i16 8275, i16 8682, i16 8856, i16 9093, i16 9355, i16 9600, i16 9965, i16 10101, i16 10185, i16 10471, i16 10697, i16 11089, i16 11645, i16 12002, i16 12292, i16 12684, i16 12803, i16 13012, i16 13157, i16 13288, i16 13375, i16 14984, i16 15328, i16 15909, i16 16124, i16 16443, i16 16693, i16 16923, i16 17074, i16 17298, i16 17402, i16 17873, i16 18111, i16 18344, i16 18790, i16 19007, i16 19108, i16 19229, i16 19537, i16 19710, i16 19826, i16 19950, i16 20064, i16 20273, i16 20493, i16 20756, i16 21351, i16 21667, i16 21753, i16 21870, i16 22114, i16 22805, i16 23284, i16 23710, i16 24120, i16 25054, i16 25232, i16 25398, i16 25581, i16 25671, i16 25900, i16 26202, i16 26445, i16 26602, i16 26976, i16 27261, i16 27525, i16 27874, i16 28241, i16 61, i16 326, i16 503, i16 890, i16 1182, i16 2050, i16 2292, i16 2410, i16 2707, i16 3071, i16 3348, i16 3779, i16 4441, i16 4699, i16 4796, i16 4861, i16 5069, i16 5301, i16 5457, i16 5719, i16 5941, i16 6098, i16 6393, i16 6986, i16 7176, i16 7363, i16 7546, i16 7641, i16 7928, i16 8287, i16 8692, i16 8796, i16 8865, i16 9105, i16 9369, i16 9610, i16 9974, i16 10193, i16 10477, i16 10708, i16 11109, i16 11652, i16 11833, i16 12013, i16 12313, i16 12689, i16 12816, i16 13167, i16 13299, i16 13385, i16 14994, i16 15356, i16 15925, i16 16134, i16 16453, i16 16706, i16 17084, i16 17410, i16 17687, i16 17879, i16 18122, i16 18366, i16 18684, i16 18799, i16 19017, i16 19117, i16 19237, i16 19369, i16 19442, i16 19543, i16 19833, i16 19957, i16 20073, i16 20279, i16 20499, i16 20767, i16 21363, i16 21674, i16 21703, i16 21759, i16 21801, i16 21881, i16 22177, i16 22245, i16 22287, i16 22449, i16 22821, i16 23306, i16 23714, i16 24130, i16 24707, i16 25065, i16 25241, i16 25409, i16 25600, i16 25678, i16 25913, i16 26209, i16 26456, i16 26614, i16 26984, i16 27269, i16 27540, i16 27884, i16 28248, i16 70, i16 336, i16 513, i16 897, i16 1195, i16 1800, i16 1893, i16 2063, i16 2309, i16 2417, i16 2720, i16 3081, i16 3367, i16 3813, i16 4446, i16 4708, i16 4868, i16 5077, i16 5310, i16 5489, i16 5727, i16 5952, i16 6105, i16 6406, i16 6994, i16 7183, i16 7373, i16 7650, i16 7946, i16 8295, i16 8701, i16 8806, i16 8871, i16 9115, i16 9380, i16 9620, i16 9980, i16 10201, i16 10483, i16 10719, i16 11132, i16 11662, i16 11846, i16 12023, i16 12332, i16 12695, i16 12828, i16 13026, i16 13175, i16 13308, i16 13395, i16 15004, i16 15384, i16 15940, i16 16144, i16 16460, i16 16721, i16 17096, i16 17416, i16 17888, i16 18139, i16 18388, i16 18691, i16 18808, i16 19027, i16 19127, i16 19246, i16 19552, i16 19717, i16 19840, i16 19964, i16 20077, i16 20287, i16 20507, i16 20782, i16 21373, i16 21682, i16 21767, i16 21890, i16 22186, i16 22296, i16 22466, i16 22843, i16 23331, i16 23723, i16 24155, i16 24717, i16 25073, i16 25250, i16 25619, i16 25685, i16 25926, i16 26466, i16 26627, i16 26990, i16 27280, i16 27561, i16 27894, i16 28255, i16 77, i16 343, i16 523, i16 904, i16 1208, i16 1448, i16 1454, i16 2075, i16 2323, i16 2425, i16 2735, i16 3087, i16 3378, i16 3838, i16 4453, i16 4714, i16 4878, i16 5083, i16 5496, i16 5734, i16 5876, i16 5960, i16 6115, i16 6425, i16 7003, i16 7191, i16 7302, i16 7379, i16 7557, i16 7659, i16 7955, i16 8305, i16 8714, i16 8880, i16 9125, i16 9391, i16 9629, i16 9987, i16 10111, i16 10210, i16 10488, i16 10728, i16 11158, i16 11669, i16 12030, i16 12345, i16 12701, i16 12839, i16 13405, i16 15014, i16 15412, i16 15956, i16 16154, i16 16470, i16 16734, i16 16937, i16 17107, i16 17424, i16 17694, i16 17894, i16 18150, i16 18413, i16 18818, i16 19135, i16 19254, i16 19376, i16 19559, i16 20084, i16 20202, i16 20295, i16 20515, i16 20797, i16 21383, i16 21900, i16 22127, i16 22192, i16 22302, i16 22477, i16 22644, i16 22711, i16 22862, i16 23359, i16 23729, i16 24171, i16 24727, i16 25082, i16 25255, i16 25630, i16 25694, i16 26222, i16 26471, i16 26640, i16 26997, i16 27904, i16 28262, i16 86, i16 533, i16 911, i16 1220, i16 1532, i16 1624, i16 2087, i16 2432, i16 2748, i16 3094, i16 3391, i16 3857, i16 4013, i16 4460, i16 4887, i16 5090, i16 5503, i16 5741, i16 5968, i16 6016, i16 6123, i16 6440, i16 7198, i16 7387, i16 7669, i16 7964, i16 8314, i16 8518, i16 9137, i16 9641, i16 9994, i16 10217, i16 10492, i16 10735, i16 11178, i16 11432, i16 12036, i16 12356, i16 13415, i16 15021, i16 15431, i16 16164, i16 16480, i16 16746, i16 17432, i16 17901, i16 18163, i16 18432, i16 19566, i16 20092, i16 20303, i16 20523, i16 20812, i16 21394, i16 22872, i16 23381, i16 23735, i16 24187, i16 24737, i16 25089, i16 25265, i16 25701, i16 25942, i16 26231, i16 26478, i16 26654, i16 27003, i16 27289, i16 27578, i16 13487, i16 27914, i16 90, i16 543, i16 915, i16 1227, i16 1545, i16 1648, i16 2091, i16 2436, i16 2755, i16 3098, i16 3398, i16 3867, i16 4038, i16 4465, i16 4891, i16 5094, i16 5317, i16 5507, i16 6127, i16 6447, i16 7393, i16 7673, i16 7971, i16 8321, i16 8526, i16 8887, i16 8974, i16 9141, i16 9645, i16 10224, i16 10496, i16 10742, i16 11194, i16 11436, i16 12040, i16 12363, i16 12707, i16 13421, i16 15025, i16 15441, i16 16170, i16 16484, i16 16750, i16 17437, i16 17905, i16 18457, i16 18826, i16 19570, i16 20307, i16 20527, i16 20819, i16 21401, i16 21910, i16 22309, i16 22490, i16 22888, i16 23397, i16 23740, i16 24196, i16 24744, i16 25269, i16 25419, i16 25705, i16 26242, i16 26660, i16 27007, i16 27295, i16 27588, i16 13492, i16 27921, i16 94, i16 553, i16 919, i16 1234, i16 1550, i16 1657, i16 2440, i16 2762, i16 3102, i16 3405, i16 3877, i16 4069, i16 4470, i16 4895, i16 5098, i16 5322, i16 5449, i16 5972, i16 6021, i16 6131, i16 6454, i16 7399, i16 7566, i16 8328, i16 9147, i16 9404, i16 9649, i16 9842, i16 10232, i16 10500, i16 10749, i16 11213, i16 11440, i16 11574, i16 11677, i16 11854, i16 12044, i16 12370, i16 13427, i16 15029, i16 15451, i16 16176, i16 5453, i16 16754, i16 17441, i16 17909, i16 18698, i16 19144, i16 20311, i16 20531, i16 20826, i16 21406, i16 22913, i16 23422, i16 23745, i16 24205, i16 24754, i16 25709, i16 25949, i16 26253, i16 26666, i16 27011, i16 27156, i16 27301, i16 27598, i16 13497, i16 27928, i16 98, i16 563, i16 923, i16 1241, i16 1555, i16 1666, i16 2444, i16 2769, i16 3106, i16 3412, i16 3887, i16 4085, i16 4475, i16 4899, i16 5102, i16 5511, i16 5745, i16 6135, i16 6461, i16 7405, i16 7677, i16 7978, i16 8335, i16 8534, i16 8891, i16 9153, i16 9653, i16 9998, i16 10239, i16 10504, i16 10756, i16 11229, i16 11444, i16 11681, i16 11859, i16 12048, i16 12377, i16 13433, i16 15033, i16 15461, i16 16182, i16 16758, i16 17445, i16 17913, i16 18482, i16 19574, i16 20315, i16 20535, i16 20833, i16 21411, i16 21914, i16 22932, i16 23441, i16 23751, i16 24217, i16 24764, i16 25273, i16 25713, i16 25956, i16 26262, i16 26672, i16 27307, i16 27608, i16 13502, i16 27935, i16 102, i16 352, i16 573, i16 927, i16 1248, i16 1561, i16 1677, i16 2448, i16 2776, i16 3110, i16 3419, i16 3900, i16 4480, i16 4721, i16 4903, i16 5106, i16 5327, i16 5515, i16 5749, i16 6139, i16 6468, i16 2144, i16 7411, i16 7985, i16 8342, i16 8542, i16 9157, i16 9657, i16 9847, i16 10246, i16 10508, i16 10763, i16 11248, i16 11448, i16 11685, i16 11864, i16 12052, i16 12384, i16 12851, i16 13038, i16 13183, i16 13439, i16 15037, i16 15471, i16 16188, i16 16489, i16 16762, i16 17449, i16 17917, i16 18170, i16 18501, i16 18830, i16 19148, i16 20319, i16 20539, i16 20840, i16 21417, i16 22951, i16 23463, i16 23757, i16 24229, i16 24774, i16 25717, i16 26273, i16 26678, i16 27314, i16 27620, i16 13507, i16 27942, i16 106, i16 580, i16 931, i16 1255, i16 1566, i16 1686, i16 2095, i16 2338, i16 2452, i16 2783, i16 3114, i16 3426, i16 3907, i16 4485, i16 4907, i16 5110, i16 5332, i16 5519, i16 6143, i16 6475, i16 7417, i16 7681, i16 7992, i16 8349, i16 8550, i16 9162, i16 9661, i16 10002, i16 10119, i16 10254, i16 10512, i16 10770, i16 11255, i16 11452, i16 11689, i16 11869, i16 12056, i16 12391, i16 12855, i16 13043, i16 13187, i16 13445, i16 15041, i16 15481, i16 16194, i16 16492, i16 16766, i16 17117, i16 17309, i16 17454, i16 17921, i16 18177, i16 18834, i16 19039, i16 19578, i16 20096, i16 20323, i16 20543, i16 20847, i16 21422, i16 21918, i16 22958, i16 23470, i16 23762, i16 24238, i16 24784, i16 25093, i16 25277, i16 25721, i16 25963, i16 26280, i16 26482, i16 26684, i16 27015, i16 27318, i16 27627, i16 13512, i16 27949, i16 110, i16 587, i16 935, i16 1262, i16 1573, i16 1699, i16 2099, i16 2343, i16 2456, i16 2790, i16 3118, i16 3433, i16 3917, i16 4104, i16 4490, i16 4911, i16 5114, i16 5337, i16 5523, i16 6148, i16 6484, i16 7423, i16 7685, i16 7999, i16 8356, i16 8560, i16 8895, i16 9168, i16 9411, i16 9665, i16 10006, i16 10263, i16 10516, i16 10777, i16 11265, i16 11456, i16 11693, i16 11874, i16 12060, i16 12398, i16 12859, i16 13048, i16 13191, i16 13451, i16 15045, i16 15491, i16 16200, i16 16770, i16 17121, i16 17314, i16 17459, i16 17703, i16 17925, i16 18184, i16 18508, i16 18838, i16 19582, i16 20100, i16 20327, i16 20547, i16 20854, i16 21427, i16 21922, i16 22971, i16 23483, i16 23768, i16 24250, i16 24791, i16 25097, i16 25281, i16 25725, i16 25970, i16 26287, i16 26486, i16 26690, i16 27019, i16 27323, i16 27635, i16 13517, i16 27956, i16 114, i16 597, i16 939, i16 1269, i16 1578, i16 1708, i16 2103, i16 2460, i16 2797, i16 3122, i16 3440, i16 3927, i16 4120, i16 4495, i16 4915, i16 5118, i16 5527, i16 5753, i16 6153, i16 6493, i16 7010, i16 7429, i16 7689, i16 8006, i16 8363, i16 8569, i16 8899, i16 8979, i16 9173, i16 9417, i16 9669, i16 9852, i16 10010, i16 10272, i16 10520, i16 10784, i16 11281, i16 11460, i16 12064, i16 12405, i16 12711, i16 12863, i16 13053, i16 13457, i16 15049, i16 15501, i16 16206, i16 16496, i16 16774, i16 4584, i16 17929, i16 18521, i16 18702, i16 18842, i16 19384, i16 19450, i16 19586, i16 20331, i16 20551, i16 20861, i16 21432, i16 21773, i16 21926, i16 22984, i16 23496, i16 23773, i16 24259, i16 24801, i16 25285, i16 25424, i16 25729, i16 25977, i16 26298, i16 26490, i16 26696, i16 27023, i16 27328, i16 27643, i16 13522, i16 27963, i16 118, i16 607, i16 943, i16 1276, i16 1581, i16 1713, i16 2107, i16 2464, i16 2804, i16 3126, i16 3447, i16 3934, i16 4316, i16 4500, i16 4919, i16 5122, i16 5342, i16 5531, i16 5757, i16 6157, i16 6500, i16 7435, i16 7693, i16 8013, i16 8370, i16 8579, i16 9177, i16 9422, i16 5441, i16 10014, i16 10282, i16 10524, i16 10791, i16 11297, i16 11464, i16 11612, i16 12068, i16 12412, i16 13463, i16 15053, i16 15511, i16 16212, i16 16500, i16 16778, i16 17466, i16 17933, i16 18537, i16 19590, i16 20335, i16 20555, i16 20868, i16 21437, i16 21930, i16 23003, i16 23515, i16 23778, i16 24268, i16 24811, i16 25289, i16 25733, i16 25984, i16 26307, i16 26702, i16 27333, i16 27651, i16 13527, i16 27970, i16 122, i16 356, i16 617, i16 947, i16 1283, i16 1587, i16 1724, i16 2468, i16 2811, i16 3130, i16 3454, i16 3944, i16 4505, i16 4923, i16 5126, i16 5348, i16 5535, i16 5761, i16 6161, i16 6507, i16 7441, i16 7697, i16 8020, i16 8377, i16 8588, i16 9183, i16 9429, i16 9673, i16 10018, i16 10291, i16 10528, i16 10798, i16 11319, i16 11468, i16 12072, i16 12419, i16 13195, i16 13469, i16 15057, i16 15521, i16 16218, i16 16504, i16 16782, i16 17471, i16 17937, i16 18565, i16 18846, i16 19594, i16 19725, i16 20339, i16 20559, i16 20875, i16 21444, i16 21934, i16 23034, i16 23546, i16 23783, i16 24277, i16 24821, i16 25293, i16 25737, i16 25991, i16 26318, i16 26708, i16 27339, i16 27661, i16 27977, i16 126, i16 627, i16 951, i16 1290, i16 1599, i16 1746, i16 2111, i16 2472, i16 2818, i16 3134, i16 3461, i16 3966, i16 4510, i16 4927, i16 5130, i16 5539, i16 6165, i16 6514, i16 7447, i16 7701, i16 8027, i16 8384, i16 9189, i16 5904, i16 10300, i16 10532, i16 10805, i16 11341, i16 11472, i16 12076, i16 12426, i16 12867, i16 13059, i16 13475, i16 15061, i16 15531, i16 16224, i16 4589, i16 16786, i16 17478, i16 17941, i16 18587, i16 20343, i16 20563, i16 20882, i16 21449, i16 21938, i16 22138, i16 22313, i16 22497, i16 23059, i16 23571, i16 23788, i16 24286, i16 24831, i16 25101, i16 25297, i16 25741, i16 25998, i16 26331, i16 26715, i16 27027, i16 27161, i16 27345, i16 27671, i16 27984, i16 130, i16 360, i16 637, i16 955, i16 1297, i16 1612, i16 1770, i16 2115, i16 2476, i16 2825, i16 3138, i16 3468, i16 3988, i16 4515, i16 4931, i16 5134, i16 5544, i16 5765, i16 5976, i16 6169, i16 6521, i16 7202, i16 7453, i16 7705, i16 8034, i16 8391, i16 8597, i16 8903, i16 8984, i16 9194, i16 9677, i16 9857, i16 10309, i16 10536, i16 10812, i16 11360, i16 11476, i16 12080, i16 12433, i16 13481, i16 15065, i16 15541, i16 16230, i16 16508, i16 16790, i16 17485, i16 17945, i16 18615, i16 18707, i16 18850, i16 19044, i16 19598, i16 20347, i16 20567, i16 20889, i16 21455, i16 21942, i16 22317, i16 22504, i16 23081, i16 23590, i16 23793, i16 24295, i16 24841, i16 25301, i16 25745, i16 26005, i16 26342, i16 26722, i16 27351, i16 27681, i16 27994, i16 134, i16 364, i16 647, i16 959, i16 1304, i16 1532, i16 1624, i16 2119, i16 2480, i16 2832, i16 3142, i16 3475, i16 4013, i16 4520, i16 4725, i16 4935, i16 5138, i16 5548, i16 5769, i16 5980, i16 6026, i16 6173, i16 6528, i16 7015, i16 7206, i16 7459, i16 7709, i16 8041, i16 8398, i16 8907, i16 9199, i16 9436, i16 9681, i16 10022, i16 10319, i16 10540, i16 10819, i16 11178, i16 11480, i16 11579, i16 11697, i16 11879, i16 12084, i16 12440, i16 12715, i16 12871, i16 13064, i16 13199, i16 13487, i16 15069, i16 15551, i16 15971, i16 16236, i16 16512, i16 16794, i16 17125, i16 17319, i16 17490, i16 17711, i16 17949, i16 18191, i16 18432, i16 18854, i16 19388, i16 19455, i16 19602, i16 19730, i16 19846, i16 19970, i16 20104, i16 20351, i16 20571, i16 20896, i16 21056, i16 21139, i16 21460, i16 21946, i16 22321, i16 22511, i16 22872, i16 23381, i16 23798, i16 24304, i16 24737, i16 25105, i16 25305, i16 25749, i16 26012, i16 26231, i16 26729, i16 27031, i16 27166, i16 27356, i16 27689, i16 27914, i16 142, i16 373, i16 663, i16 965, i16 1315, i16 1545, i16 1648, i16 2126, i16 2489, i16 2849, i16 3149, i16 3488, i16 4038, i16 4527, i16 4732, i16 4941, i16 5144, i16 5354, i16 5555, i16 5776, i16 5987, i16 6184, i16 6549, i16 7023, i16 7212, i16 7467, i16 7719, i16 8054, i16 8407, i16 8915, i16 8989, i16 9206, i16 9695, i16 10030, i16 10333, i16 10546, i16 10830, i16 11194, i16 11489, i16 11589, i16 11704, i16 11887, i16 12093, i16 12457, i16 12723, i16 12878, i16 13072, i16 13207, i16 13492, i16 15077, i16 15573, i16 15979, i16 16243, i16 16523, i16 16801, i16 17134, i16 17329, i16 17501, i16 17957, i16 18457, i16 18711, i16 18861, i16 19395, i16 19463, i16 19610, i16 19854, i16 19978, i16 20358, i16 20578, i16 20909, i16 21063, i16 21152, i16 21476, i16 21952, i16 22328, i16 22524, i16 22888, i16 23397, i16 23805, i16 24323, i16 24851, i16 25111, i16 25310, i16 25429, i16 25756, i16 26025, i16 26242, i16 26743, i16 27038, i16 27174, i16 27365, i16 27706, i16 27921, i16 151, i16 383, i16 553, i16 972, i16 1328, i16 1550, i16 1657, i16 2133, i16 2494, i16 2858, i16 3158, i16 3505, i16 4069, i16 4537, i16 4740, i16 4948, i16 5017, i16 5149, i16 5360, i16 5474, i16 5784, i16 5993, i16 6034, i16 6196, i16 6572, i16 7032, i16 7220, i16 7399, i16 7566, i16 7727, i16 8416, i16 8726, i16 9147, i16 9404, i16 9706, i16 9862, i16 10039, i16 10232, i16 10500, i16 10749, i16 11213, i16 11497, i16 11598, i16 11712, i16 11896, i16 12102, i16 12474, i16 12732, i16 12886, i16 13497, i16 15087, i16 15601, i16 15988, i16 16250, i16 16535, i16 16809, i16 17513, i16 17723, i16 17966, i16 18698, i16 18866, i16 19152, i16 19615, i16 19864, i16 19929, i16 19988, i16 20022, i16 20113, i16 20366, i16 20586, i16 20924, i16 21071, i16 21167, i16 21488, i16 21689, i16 22913, i16 23422, i16 23816, i16 24354, i16 24864, i16 25119, i16 25762, i16 26036, i16 26253, i16 26754, i16 27044, i16 27181, i16 27375, i16 27725, i16 27928, i16 157, i16 679, i16 977, i16 1337, i16 1555, i16 1666, i16 1808, i16 1908, i16 2138, i16 2502, i16 2873, i16 3163, i16 3514, i16 4085, i16 4544, i16 4953, i16 5156, i16 5564, i16 5790, i16 6204, i16 6587, i16 7038, i16 7476, i16 7735, i16 8065, i16 8426, i16 8731, i16 8820, i16 8923, i16 9214, i16 9444, i16 9714, i16 10045, i16 10349, i16 10553, i16 10843, i16 11229, i16 11504, i16 11720, i16 11905, i16 12108, i16 12485, i16 12891, i16 13081, i16 13216, i16 13502, i16 15093, i16 15617, i16 15995, i16 16257, i16 16545, i16 16814, i16 16951, i16 17144, i16 17340, i16 17528, i16 17739, i16 17971, i16 18482, i16 19403, i16 19622, i16 19739, i16 20120, i16 20372, i16 20592, i16 20935, i16 21076, i16 21176, i16 21501, i16 21959, i16 22932, i16 23441, i16 23823, i16 24373, i16 24877, i16 25316, i16 25771, i16 26053, i16 26262, i16 26764, i16 27049, i16 27381, i16 27736, i16 27935, i16 102, i16 352, i16 573, i16 983, i16 1348, i16 1561, i16 1677, i16 1815, i16 1921, i16 1943, i16 1955, i16 2144, i16 2511, i16 2890, i16 3110, i16 3419, i16 3900, i16 4550, i16 4721, i16 4959, i16 5162, i16 5368, i16 5515, i16 5749, i16 6213, i16 6604, i16 7045, i16 7226, i16 4903, i16 7743, i16 8076, i16 8435, i16 9222, i16 9453, i16 9725, i16 9871, i16 10051, i16 10246, i16 10508, i16 10763, i16 11248, i16 11512, i16 11728, i16 11914, i16 12115, i16 12498, i16 12851, i16 13038, i16 13223, i16 13507, i16 15100, i16 15636, i16 16002, i16 16264, i16 16555, i16 16824, i16 16962, i16 17152, i16 17542, i16 17917, i16 18170, i16 18501, i16 18872, i16 19148, i16 19870, i16 20379, i16 20599, i16 20948, i16 20319, i16 20840, i16 21513, i16 11685, i16 11864, i16 22951, i16 23463, i16 23830, i16 24392, i16 24890, i16 25125, i16 25322, i16 25436, i16 25779, i16 26273, i16 26775, i16 27314, i16 27620, i16 27942, i16 163, i16 389, i16 580, i16 988, i16 1357, i16 1566, i16 1686, i16 1950, i16 1968, i16 2148, i16 2519, i16 2905, i16 3114, i16 3426, i16 3907, i16 4554, i16 4745, i16 4964, i16 5169, i16 5376, i16 5571, i16 5796, i16 6219, i16 6615, i16 7050, i16 7231, i16 7417, i16 7751, i16 8081, i16 8444, i16 8605, i16 8929, i16 9162, i16 9735, i16 9882, i16 10056, i16 10124, i16 10356, i16 10559, i16 10854, i16 11255, i16 11520, i16 11734, i16 11921, i16 12122, i16 12511, i16 12897, i16 13088, i16 13230, i16 13512, i16 15106, i16 15652, i16 16271, i16 16562, i16 16832, i16 16972, i16 17158, i16 17349, i16 17550, i16 17977, i16 18206, i16 106, i16 18878, i16 19049, i16 19410, i16 19631, i16 19875, i16 19994, i16 20128, i16 20383, i16 20603, i16 20955, i16 21083, i16 21189, i16 21525, i16 11689, i16 11869, i16 21777, i16 21965, i16 17921, i16 18177, i16 22958, i16 23470, i16 23838, i16 24414, i16 24784, i16 25130, i16 25328, i16 25787, i16 26068, i16 26280, i16 26787, i16 27054, i16 27949, i16 168, i16 395, i16 587, i16 994, i16 1368, i16 1573, i16 1699, i16 1820, i16 1930, i16 2153, i16 2527, i16 2920, i16 3118, i16 3433, i16 4104, i16 4563, i16 4750, i16 4969, i16 5176, i16 5384, i16 5579, i16 5801, i16 6227, i16 6630, i16 7056, i16 7237, i16 7423, i16 7758, i16 8090, i16 8452, i16 8614, i16 8934, i16 9168, i16 9411, i16 9746, i16 10061, i16 10368, i16 10564, i16 10863, i16 11265, i16 11527, i16 11741, i16 11929, i16 12130, i16 12526, i16 12902, i16 13095, i16 13237, i16 13517, i16 15113, i16 15671, i16 16278, i16 16571, i16 16841, i16 17165, i16 17357, i16 17557, i16 17755, i16 17982, i16 18215, i16 18508, i16 18720, i16 18884, i16 19415, i16 19640, i16 19881, i16 20000, i16 20134, i16 20388, i16 20608, i16 20964, i16 21088, i16 21198, i16 21537, i16 11693, i16 11874, i16 21783, i16 21973, i16 17925, i16 18184, i16 22971, i16 23483, i16 23847, i16 24439, i16 24791, i16 25136, i16 25336, i16 25795, i16 26083, i16 26287, i16 26799, i16 27059, i16 27956, i16 173, i16 401, i16 692, i16 1000, i16 1379, i16 1578, i16 1708, i16 2158, i16 2534, i16 2933, i16 3169, i16 3525, i16 4120, i16 4570, i16 4976, i16 5185, i16 5590, i16 5806, i16 6235, i16 6645, i16 7062, i16 7243, i16 7766, i16 8006, i16 8461, i16 8942, i16 8998, i16 9238, i16 9470, i16 9758, i16 9894, i16 10067, i16 10272, i16 10569, i16 10872, i16 11281, i16 11534, i16 11748, i16 12138, i16 12541, i16 12738, i16 12907, i16 13102, i16 13522, i16 15120, i16 15690, i16 16007, i16 16285, i16 16585, i16 16848, i16 16982, i16 17172, i16 17568, i16 17767, i16 17987, i16 18521, i16 18702, i16 18890, i16 19158, i16 19422, i16 19472, i16 19647, i16 19749, i16 20393, i16 20613, i16 20973, i16 21093, i16 21207, i16 21550, i16 21789, i16 21980, i16 22651, i16 22984, i16 23496, i16 23855, i16 24461, i16 24801, i16 25343, i16 25443, i16 25802, i16 26096, i16 26298, i16 26812, i16 27067, i16 27389, i16 27751, i16 27963, i16 180, i16 705, i16 1006, i16 1390, i16 1581, i16 1713, i16 2165, i16 2542, i16 2948, i16 3176, i16 3538, i16 4136, i16 4316, i16 4575, i16 4755, i16 4982, i16 5191, i16 5394, i16 5595, i16 5813, i16 6245, i16 6664, i16 7071, i16 7250, i16 7774, i16 8101, i16 8468, i16 8947, i16 9245, i16 9478, i16 9770, i16 10074, i16 10382, i16 10576, i16 10885, i16 11297, i16 11542, i16 11758, i16 12147, i16 12558, i16 13244, i16 13527, i16 15128, i16 15712, i16 16017, i16 16292, i16 16593, i16 16858, i16 16994, i16 17180, i16 17583, i16 17994, i16 18537, i16 18897, i16 19656, i16 19759, i16 19887, i16 20140, i16 20401, i16 20621, i16 20988, i16 21100, i16 21220, i16 21561, i16 21986, i16 22199, i16 22336, i16 22539, i16 23003, i16 23515, i16 23863, i16 24483, i16 24903, i16 25142, i16 25351, i16 25452, i16 25810, i16 26111, i16 26307, i16 26494, i16 26824, i16 27075, i16 27395, i16 27762, i16 27970, i16 190, i16 410, i16 724, i16 1013, i16 1403, i16 1587, i16 1724, i16 2174, i16 2551, i16 2965, i16 3186, i16 3557, i16 4170, i16 3944, i16 4584, i16 4765, i16 4991, i16 5196, i16 5402, i16 5600, i16 5823, i16 6257, i16 6687, i16 7081, i16 7483, i16 7781, i16 8116, i16 8476, i16 8957, i16 9258, i16 9493, i16 9783, i16 10083, i16 10394, i16 10583, i16 10898, i16 11319, i16 11548, i16 11769, i16 11937, i16 12158, i16 12579, i16 12913, i16 13110, i16 13254, i16 13469, i16 15139, i16 15743, i16 16028, i16 16299, i16 16606, i16 16866, i16 17191, i16 17590, i16 17784, i16 18004, i16 18565, i16 18907, i16 19665, i16 19769, i16 19896, i16 20151, i16 20410, i16 20630, i16 21005, i16 21109, i16 21237, i16 21574, i16 21994, i16 22209, i16 22346, i16 22558, i16 23034, i16 23546, i16 23871, i16 24505, i16 24919, i16 25154, i16 25357, i16 25819, i16 26128, i16 26318, i16 26837, i16 27083, i16 27187, i16 27406, i16 27783, i16 27977, i16 198, i16 743, i16 1020, i16 1416, i16 1599, i16 1746, i16 2182, i16 2562, i16 2986, i16 3195, i16 3574, i16 4195, i16 3966, i16 4589, i16 4773, i16 4999, i16 5202, i16 5607, i16 5831, i16 6267, i16 6706, i16 7089, i16 7261, i16 7787, i16 8127, i16 8484, i16 9275, i16 9511, i16 9794, i16 10408, i16 10591, i16 10913, i16 11341, i16 11557, i16 12169, i16 12600, i16 12921, i16 13119, i16 13475, i16 15149, i16 15771, i16 16037, i16 16306, i16 16616, i16 16873, i16 17003, i16 17200, i16 17606, i16 17801, i16 18013, i16 18587, i16 18915, i16 19904, i16 20161, i16 20418, i16 20638, i16 21020, i16 21117, i16 21252, i16 21587, i16 22000, i16 22143, i16 22217, i16 22354, i16 22573, i16 23059, i16 23571, i16 23878, i16 24524, i16 24831, i16 25162, i16 25362, i16 25459, i16 25827, i16 26143, i16 26331, i16 26853, i16 27090, i16 27195, i16 27416, i16 27802, i16 27984, i16 207, i16 418, i16 759, i16 1027, i16 1429, i16 1612, i16 1770, i16 2189, i16 2571, i16 3003, i16 3203, i16 3589, i16 4220, i16 3988, i16 4592, i16 4782, i16 5008, i16 5211, i16 5616, i16 5840, i16 5998, i16 6277, i16 6725, i16 7098, i16 7271, i16 7492, i16 7794, i16 8140, i16 8494, i16 8737, i16 8965, i16 9004, i16 9288, i16 9525, i16 9807, i16 9907, i16 10419, i16 10598, i16 10926, i16 11360, i16 11565, i16 12179, i16 12619, i16 13262, i16 13481, i16 15158, i16 15796, i16 16047, i16 16316, i16 16623, i16 16883, i16 17014, i16 17210, i16 17623, i16 18021, i16 18615, i16 18726, i16 18924, i16 19056, i16 19428, i16 19677, i16 19782, i16 19913, i16 20006, i16 20171, i16 20425, i16 20645, i16 21033, i16 21124, i16 21265, i16 21600, i16 22007, i16 22226, i16 22363, i16 22590, i16 23081, i16 23590, i16 23888, i16 24552, i16 24932, i16 25173, i16 25368, i16 25466, i16 25836, i16 26160, i16 26342, i16 26876, i16 27098, i16 27994, i16 216, i16 427, i16 775, i16 1034, i16 1442, i16 0, i16 4248, i16 4347, i16 4598, i16 8153, i16 11382, i16 12930, i16 13532, i16 16326, i16 18637, i16 22015, i16 23107, i16 23615, i16 24945, i16 25375, i16 25474, i16 28004, i16 219, i16 430, i16 785, i16 1036, i16 1445, i16 0, i16 4261, i16 4375, i16 4598, i16 8160, i16 11410, i16 12933, i16 13539, i16 16333, i16 18649, i16 22018, i16 23120, i16 23643, i16 24965, i16 25378, i16 25479, i16 26353, i16 28011, i16 222, i16 433, i16 798, i16 1038, i16 1465, i16 1827, i16 2196, i16 2579, i16 3212, i16 4277, i16 4600, i16 5220, i16 5410, i16 5624, i16 6746, i16 6764, i16 6779, i16 6847, i16 6890, i16 7107, i16 7802, i16 8167, i16 8503, i16 10604, i16 11777, i16 12936, i16 13546, i16 15168, i16 15824, i16 16340, i16 16892, i16 17220, i16 17631, i16 18030, i16 18934, i16 19263, i16 19321, i16 21612, i16 22021, i16 22372, i16 22659, i16 23896, i16 24985, i16 26356, i16 26502, i16 26896, i16 27106, i16 28018, i16 28088, i16 28166, i16 28269, i16 243, i16 451, i16 832, i16 1063, i16 1492, i16 1853, i16 2212, i16 3226, i16 4304, i16 5653, i16 5849, i16 6007, i16 6807, i16 6876, i16 6917, i16 6929, i16 7817, i16 8199, i16 8746, i16 9014, i16 12955, i16 13578, i16 16057, i16 16351, i16 16910, i16 17257, i16 18966, i16 19167, i16 19285, i16 22045, i16 22235, i16 23919, i16 28116, i16 28312, i16 252, i16 460, i16 841, i16 1073, i16 1504, i16 1867, i16 3235, i16 6821, i16 11806, i16 13594, i16 16369, i16 19295, i16 22054, i16 26920, i16 28053, i16 28135, i16 28201, i16 261, i16 0, i16 1086, i16 1517, i16 1867, i16 3244, i16 4623, i16 5246, i16 6833, i16 8208, i16 10628, i16 11806, i16 13610, i16 16387, i16 22067, i16 26383, i16 28069, i16 28154, i16 28334, i16 0, i16 13628, i16 23929, i16 24574, i16 0, i16 0, i16 14004, i16 23961, i16 0, i16 14018, i16 0, i16 14901, i16 23971, i16 24610, i16 0, i16 24007, i16 24660], [372 x i8] c"\00\00\00\00\01\01\00\00\02\02\00\00\03\03\00\00\04\04\00\00\05\05\01\01\06\06\02\02\07\07\01\01\08\08\00\00\09\09\00\00\0A\0A\00\03\0A\0A\03\03\0B\0B\00\00\0C\0C\00\00\0D\0D\00\00\0E\0E\00\00\0F\0F\04\04\10\10\05\05\11\01\00\00\12\11\00\00\13\01\00\00\14\02\06\06\15\01\07\07\16\12\00\00\17\02\00\00\18\13\00\00\19\14\00\00\1A\01\00\00\1B\02\00\00\1C\15\00\00\00\00\08\08\1D\02\00\00\1E\02\00\00\1D\16\00\00\1F\17\00\00 \18\00\00!\19\00\00\1D\1A\00\00\22\1B\00\00#\02\00\00$\02\00\00%\02\00\00&\1C\00\00'\1D\00\00(\02\00\00)\02\00\00*\1E\09\09\1A\1F\00\00+\02\00\00, \0A\0A-!\00\00.\22\00\00/\1A\00\000#\00\001\01\00\002\1A\00\003$\0B\0B4$\0C\0C5%\0D\0D6&\0E\0E7'\00\00\00(\0F\0F8\01\00\002\02\00\009\02\00\00:\02\00\00;)\00\00<*\00\00=+\00\00>,\00\00\1D-\00\00?\01\10\10@\01\11\10A\1A\00\00B.\00\00C/\00\00D0\12\11E1\13\12;)\14\13\0C\0C\0E\14F2\15\15G3\16\16H4\17\17H4\17\18\0C\0C\18\19I+\00\00J,\00\00K5\19\1AL6\1A\1BM\01\1B\1CN7\1C\1DO8\1D\1EP9\00\00", [4 x i16] [i16 0, i16 81, i16 139, i16 169], [200 x i16] [i16 1, i16 13, i16 27, i16 43, i16 57, i16 73, i16 97, i16 121, i16 114, i16 85, i16 145, i16 173, i16 193, i16 217, i16 247, i16 281, i16 317, i16 369, i16 378, i16 396, i16 405, i16 422, i16 439, i16 459, i16 469, i16 489, i16 513, i16 520, i16 530, i16 561, i16 571, i16 591, i16 613, i16 635, i16 665, i16 687, i16 697, i16 711, i16 721, i16 739, i16 759, i16 769, i16 779, i16 815, i16 829, i16 908, i16 932, i16 960, i16 972, i16 996, i16 1003, i16 1013, i16 1048, i16 1078, i16 1106, i16 1142, i16 1180, i16 1189, i16 1199, i16 1209, i16 1229, i16 1249, i16 1267, i16 1297, i16 1316, i16 1334, i16 1344, i16 1362, i16 1380, i16 1438, i16 1492, i16 1517, i16 1564, i16 1610, i16 1619, i16 1630, i16 1670, i16 1698, i16 1720, i16 1747, i16 1783, i16 7, i16 20, i16 35, i16 50, i16 65, i16 79, i16 106, i16 134, i16 118, i16 92, i16 153, i16 183, i16 205, i16 233, i16 265, i16 294, i16 336, i16 388, i16 450, i16 479, i16 501, i16 545, i16 581, i16 603, i16 623, i16 647, i16 657, i16 678, i16 730, i16 749, i16 790, i16 806, i16 857, i16 921, i16 947, i16 981, i16 1028, i16 1090, i16 1120, i16 1154, i16 1165, i16 1219, i16 1239, i16 1258, i16 1278, i16 1289, i16 1354, i16 1371, i16 1393, i16 1445, i16 1499, i16 1526, i16 1572, i16 1642, i16 1680, i16 1729, i16 1757, i16 1792, i16 0, i16 85, i16 114, i16 167, i16 305, i16 346, i16 415, i16 433, i16 554, i16 799, i16 891, i16 1039, i16 1067, i16 1100, i16 1132, i16 1171, i16 1308, i16 1329, i16 1412, i16 1452, i16 1478, i16 1506, i16 1535, i16 1580, i16 1598, i16 1652, i16 1690, i16 1711, i16 1739, i16 1769, i16 0, i16 92, i16 118, i16 163, i16 312, i16 362, i16 419, i16 436, i16 558, i16 803, i16 898, i16 1042, i16 1071, i16 1103, i16 1137, i16 1174, i16 1312, i16 1422, i16 1465, i16 1481, i16 1485, i16 1510, i16 1545, i16 1585, i16 1591, i16 1605, i16 1661, i16 1693, i16 1715, i16 1743, i16 1776], [91141 x i16] [i16 7, i16 145, i16 4, i16 5352, i16 1159, i16 2868, i16 9485, i16 12504, i16 4, i16 38, i16 5, i16 3, i16 256, i16 576, i16 22623, i16 1154, i16 1623, i16 0, i16 19968, i16 20901, i16 1708, i16 747, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4, i16 10, i16 5, i16 4, i16 128, i16 480, i16 2038, i16 1693, i16 1947, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1154, i16 1154, i16 1986, i16 2440, i16 0, i16 4, i16 2, i16 5, i16 4, i16 128, i16 480, i16 1886, i16 1885, i16 1886, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2847, i16 2847, i16 2178, i16 5976, i16 0, i16 2, i16 0, i16 5, i16 6, i16 32, i16 64, i16 213, i16 212, i16 213, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4732, i16 4732, i16 0, i16 9496, i16 0, i16 4, i16 5, i16 5, i16 5, i16 64, i16 96, i16 409, i16 408, i16 409, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4944, i16 4944, i16 2193, i16 9976, i16 0, i16 1, i16 0, i16 4, i16 5, i16 128, i16 816, i16 13169, i16 13168, i16 13169, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5352, i16 5352, i16 0, i16 10360, i16 0, i16 1, i16 0, i16 5, i16 2, i16 512, i16 6176, i16 17172, i16 5999, i16 17172, i16 0, i16 -21504, i16 11171, i16 1111, i16 3125, i16 5352, i16 5352, i16 0, i16 -32216, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 5, i16 114, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 55, i16 246, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 92, i16 0, i16 0, i16 1155, i16 274, i16 372, i16 0, i16 1155, i16 300, i16 0, i16 0, i16 1155, i16 300, i16 0, i16 0, i16 1155, i16 331, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 390, i16 0, i16 0, i16 1155, i16 448, i16 498, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 547, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 730, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 798, i16 648, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 875, i16 786, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 916, i16 0, i16 0, i16 1155, i16 1075, i16 924, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 1433, i16 1502, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 1721, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 1780, i16 1634, i16 0, i16 1155, i16 1915, i16 498, i16 0, i16 1155, i16 2012, i16 1844, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 2049, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 2235, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 300, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 1, i16 680, i16 2383, i16 1986, i16 1, i16 680, i16 2880, i16 1986, i16 1, i16 680, i16 3369, i16 1986, i16 1, i16 680, i16 3871, i16 1986, i16 1, i16 680, i16 4373, i16 2016, i16 1, i16 680, i16 4869, i16 1986, i16 1, i16 680, i16 5366, i16 1986, i16 1, i16 680, i16 5868, i16 2016, i16 1, i16 680, i16 6369, i16 1986, i16 1, i16 680, i16 6952, i16 2058, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7976, i16 1986, i16 1, i16 680, i16 5868, i16 2016, i16 1, i16 680, i16 2880, i16 1986, i16 1, i16 680, i16 8476, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 8967, i16 2124, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 8967, i16 2124, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7976, i16 1986, i16 1, i16 680, i16 5868, i16 2016, i16 1, i16 680, i16 7478, i16 1986, i16 2, i16 1338, i16 3, i16 2178, i16 2, i16 1338, i16 3, i16 2178, i16 3, i16 212, i16 3, i16 0, i16 4, i16 6, i16 3, i16 2193, i16 5, i16 13168, i16 3, i16 0, i16 6, i16 17171, i16 3, i16 0, i16 1, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 21, i16 22, i16 23, i16 24, i16 30, i16 40, i16 44, i16 45, i16 50, i16 51, i16 52, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 120, i16 125, i16 126, i16 135, i16 137, i16 144, i16 157, i16 159, i16 160, i16 162, i16 167, i16 170, i16 172, i16 175, i16 177, i16 182, i16 183, i16 186, i16 188, i16 193, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 236, i16 237, i16 240, i16 241, i16 242, i16 243, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 458, i16 459, i16 460, i16 461, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 640, i16 651, i16 652, i16 654, i16 655, i16 669, i16 683, i16 685, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 698, i16 708, i16 711, i16 719, i16 720, i16 722, i16 724, i16 725, i16 726, i16 727, i16 728, i16 731, i16 732, i16 733, i16 735, i16 742, i16 743, i16 744, i16 745, i16 746, i16 747, i16 748, i16 756, i16 757, i16 758, i16 759, i16 761, i16 764, i16 765, i16 766, i16 767, i16 768, i16 774, i16 775, i16 776, i16 779, i16 780, i16 783, i16 784, i16 785, i16 786, i16 793, i16 798, i16 805, i16 806, i16 808, i16 810, i16 811, i16 812, i16 816, i16 818, i16 819, i16 820, i16 821, i16 826, i16 827, i16 828, i16 830, i16 831, i16 832, i16 833, i16 840, i16 843, i16 844, i16 859, i16 860, i16 862, i16 863, i16 877, i16 891, i16 893, i16 895, i16 896, i16 897, i16 898, i16 899, i16 900, i16 901, i16 902, i16 903, i16 906, i16 916, i16 919, i16 927, i16 928, i16 930, i16 932, i16 933, i16 934, i16 935, i16 936, i16 939, i16 940, i16 942, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 955, i16 963, i16 964, i16 965, i16 967, i16 970, i16 971, i16 972, i16 973, i16 979, i16 980, i16 981, i16 984, i16 985, i16 988, i16 989, i16 990, i16 991, i16 998, i16 1002, i16 1009, i16 1010, i16 1012, i16 1014, i16 1015, i16 1016, i16 1020, i16 1022, i16 1023, i16 1024, i16 1025, i16 1030, i16 1031, i16 1032, i16 1034, i16 1035, i16 1036, i16 1037, i16 1044, i16 1047, i16 1108, i16 1109, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 1117, i16 1118, i16 1119, i16 1120, i16 1121, i16 1122, i16 1123, i16 1124, i16 1125, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1132, i16 1133, i16 1134, i16 1139, i16 1140, i16 1141, i16 1142, i16 1143, i16 1147, i16 1157, i16 1158, i16 1183, i16 1184, i16 1185, i16 1186, i16 1187, i16 1188, i16 1189, i16 1190, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1206, i16 1207, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1235, i16 1236, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1242, i16 1243, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 1251, i16 1252, i16 1253, i16 1254, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1263, i16 1264, i16 1265, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1318, i16 1319, i16 1348, i16 1349, i16 1350, i16 1351, i16 1356, i16 1357, i16 1358, i16 1359, i16 1368, i16 1369, i16 1371, i16 1372, i16 1373, i16 1374, i16 1377, i16 1378, i16 1379, i16 1380, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 1390, i16 1391, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1400, i16 1403, i16 1404, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1418, i16 1419, i16 1420, i16 1421, i16 1422, i16 1423, i16 1424, i16 1425, i16 1426, i16 1427, i16 1428, i16 1429, i16 1430, i16 1431, i16 1432, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1440, i16 1441, i16 1442, i16 1443, i16 1444, i16 1445, i16 1446, i16 1447, i16 1448, i16 1449, i16 1450, i16 1451, i16 1452, i16 1453, i16 1454, i16 1455, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1481, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1507, i16 1513, i16 1520, i16 1521, i16 1523, i16 1529, i16 1530, i16 1531, i16 1533, i16 1536, i16 1537, i16 1540, i16 1542, i16 1543, i16 1544, i16 1545, i16 1548, i16 1551, i16 1552, i16 1554, i16 1555, i16 1558, i16 1559, i16 1560, i16 1562, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1571, i16 1578, i16 1584, i16 1585, i16 1587, i16 1593, i16 1596, i16 1598, i16 1601, i16 1602, i16 1605, i16 1607, i16 1608, i16 1609, i16 1610, i16 1613, i16 1616, i16 1617, i16 1619, i16 1620, i16 1623, i16 1624, i16 1625, i16 1627, i16 1629, i16 1630, i16 2, i16 25, i16 26, i16 27, i16 28, i16 29, i16 41, i16 48, i16 49, i16 132, i16 141, i16 151, i16 153, i16 155, i16 169, i16 185, i16 199, i16 200, i16 235, i16 299, i16 300, i16 301, i16 302, i16 304, i16 305, i16 307, i16 308, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 317, i16 318, i16 319, i16 320, i16 321, i16 323, i16 324, i16 325, i16 326, i16 328, i16 329, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 339, i16 341, i16 342, i16 344, i16 345, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 641, i16 642, i16 643, i16 644, i16 648, i16 649, i16 650, i16 653, i16 662, i16 663, i16 664, i16 665, i16 666, i16 682, i16 684, i16 705, i16 706, i16 707, i16 714, i16 715, i16 716, i16 721, i16 723, i16 730, i16 755, i16 760, i16 771, i16 772, i16 773, i16 794, i16 795, i16 796, i16 797, i16 807, i16 814, i16 815, i16 817, i16 823, i16 841, i16 842, i16 849, i16 850, i16 851, i16 852, i16 856, i16 857, i16 858, i16 861, i16 870, i16 871, i16 872, i16 873, i16 874, i16 890, i16 892, i16 913, i16 914, i16 915, i16 922, i16 923, i16 924, i16 929, i16 931, i16 938, i16 962, i16 966, i16 976, i16 977, i16 978, i16 999, i16 1000, i16 1001, i16 1011, i16 1018, i16 1019, i16 1021, i16 1027, i16 1045, i16 1046, i16 1048, i16 1084, i16 1085, i16 1086, i16 1087, i16 1088, i16 1089, i16 1090, i16 1091, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1099, i16 1100, i16 1101, i16 1102, i16 1103, i16 1104, i16 1105, i16 1106, i16 1107, i16 1110, i16 1137, i16 1138, i16 1144, i16 1145, i16 1146, i16 1154, i16 1155, i16 1156, i16 1159, i16 1175, i16 1176, i16 1177, i16 1178, i16 1179, i16 1180, i16 1181, i16 1182, i16 1191, i16 1192, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1310, i16 1311, i16 1312, i16 1313, i16 1314, i16 1315, i16 1316, i16 1317, i16 1346, i16 1347, i16 1352, i16 1353, i16 1354, i16 1355, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 1367, i16 1511, i16 1517, i16 1518, i16 1519, i16 1522, i16 1527, i16 1528, i16 1535, i16 1539, i16 1546, i16 1547, i16 1550, i16 1557, i16 1561, i16 1563, i16 1575, i16 1577, i16 1582, i16 1583, i16 1586, i16 1591, i16 1592, i16 1595, i16 1600, i16 1604, i16 1611, i16 1612, i16 1615, i16 1622, i16 1626, i16 1628, i16 4, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 322, i16 323, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 446, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 460, i16 464, i16 468, i16 472, i16 474, i16 475, i16 477, i16 478, i16 480, i16 482, i16 483, i16 485, i16 486, i16 488, i16 489, i16 490, i16 493, i16 494, i16 496, i16 497, i16 498, i16 501, i16 502, i16 504, i16 505, i16 506, i16 508, i16 509, i16 511, i16 512, i16 513, i16 514, i16 515, i16 516, i16 517, i16 518, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 714, i16 715, i16 716, i16 717, i16 718, i16 719, i16 720, i16 721, i16 722, i16 723, i16 724, i16 725, i16 726, i16 727, i16 728, i16 729, i16 730, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 737, i16 738, i16 739, i16 740, i16 741, i16 742, i16 743, i16 744, i16 745, i16 746, i16 747, i16 748, i16 749, i16 750, i16 751, i16 752, i16 755, i16 783, i16 784, i16 785, i16 788, i16 789, i16 790, i16 791, i16 792, i16 793, i16 794, i16 795, i16 796, i16 797, i16 798, i16 799, i16 800, i16 801, i16 802, i16 803, i16 804, i16 805, i16 806, i16 807, i16 808, i16 809, i16 810, i16 811, i16 812, i16 813, i16 814, i16 815, i16 816, i16 817, i16 818, i16 819, i16 824, i16 825, i16 828, i16 829, i16 830, i16 831, i16 832, i16 833, i16 834, i16 835, i16 840, i16 841, i16 842, i16 851, i16 852, i16 853, i16 854, i16 855, i16 856, i16 857, i16 858, i16 859, i16 860, i16 861, i16 864, i16 865, i16 868, i16 869, i16 870, i16 871, i16 874, i16 875, i16 876, i16 881, i16 882, i16 883, i16 884, i16 885, i16 886, i16 887, i16 888, i16 891, i16 892, i16 893, i16 894, i16 895, i16 896, i16 897, i16 904, i16 905, i16 908, i16 909, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 918, i16 919, i16 920, i16 921, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 929, i16 930, i16 931, i16 932, i16 933, i16 934, i16 935, i16 936, i16 937, i16 938, i16 939, i16 940, i16 941, i16 942, i16 943, i16 948, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 964, i16 965, i16 966, i16 967, i16 968, i16 969, i16 970, i16 971, i16 972, i16 977, i16 978, i16 979, i16 980, i16 981, i16 982, i16 983, i16 984, i16 987, i16 988, i16 989, i16 992, i16 993, i16 994, i16 995, i16 996, i16 997, i16 998, i16 999, i16 1000, i16 1001, i16 1002, i16 1003, i16 1004, i16 1005, i16 1006, i16 1007, i16 1008, i16 1012, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1023, i16 1024, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 1039, i16 1040, i16 1041, i16 1042, i16 1045, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 1058, i16 1059, i16 1060, i16 1061, i16 1062, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1072, i16 1073, i16 1074, i16 1078, i16 1079, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1103, i16 1104, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1112, i16 1113, i16 1116, i16 1117, i16 1120, i16 1121, i16 1122, i16 1123, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1138, i16 1139, i16 1140, i16 1143, i16 1144, i16 1145, i16 1146, i16 1147, i16 1148, i16 1149, i16 1150, i16 1151, i16 1152, i16 1153, i16 1154, i16 1155, i16 1156, i16 1157, i16 1158, i16 1159, i16 1160, i16 1161, i16 1162, i16 1163, i16 1164, i16 1169, i16 1170, i16 1173, i16 1174, i16 1175, i16 1176, i16 1177, i16 1178, i16 1183, i16 1184, i16 1185, i16 1186, i16 1189, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1244, i16 1245, i16 1246, i16 1249, i16 1250, i16 1251, i16 1252, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1265, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1281, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1298, i16 1299, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1314, i16 1315, i16 1318, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1328, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 1336, i16 1337, i16 1338, i16 1339, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 1360, i16 1369, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1404, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1427, i16 1428, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1481, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 1528, i16 1529, i16 1530, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 1539, i16 1540, i16 1541, i16 1542, i16 1543, i16 1544, i16 1545, i16 1546, i16 1547, i16 1548, i16 1549, i16 1550, i16 1551, i16 1552, i16 1553, i16 1554, i16 1555, i16 1556, i16 1557, i16 1558, i16 1559, i16 1560, i16 1561, i16 1562, i16 1563, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 1595, i16 1596, i16 1597, i16 1598, i16 1599, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1611, i16 1612, i16 1613, i16 1614, i16 1615, i16 1616, i16 1617, i16 1618, i16 1619, i16 1620, i16 1621, i16 1622, i16 1623, i16 1624, i16 1625, i16 1626, i16 1627, i16 1628, i16 1629, i16 1630, i16 1631, i16 1632, i16 1633, i16 1634, i16 1635, i16 1636, i16 1637, i16 1638, i16 1639, i16 1640, i16 1641, i16 1642, i16 1643, i16 1644, i16 1645, i16 1646, i16 1647, i16 1648, i16 1649, i16 1650, i16 1651, i16 1652, i16 1653, i16 1654, i16 1655, i16 1656, i16 1657, i16 1658, i16 1659, i16 1660, i16 1661, i16 1662, i16 1663, i16 1664, i16 1665, i16 1666, i16 1667, i16 1668, i16 1669, i16 1670, i16 1671, i16 1672, i16 1673, i16 1674, i16 1675, i16 1676, i16 1677, i16 1678, i16 1679, i16 1680, i16 1681, i16 1682, i16 1683, i16 1684, i16 1685, i16 1686, i16 1687, i16 1688, i16 1689, i16 1690, i16 1691, i16 1692, i16 1693, i16 1694, i16 1695, i16 1696, i16 1697, i16 1698, i16 1699, i16 1700, i16 1701, i16 1702, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 1717, i16 1718, i16 1719, i16 1720, i16 1721, i16 1722, i16 1723, i16 1724, i16 1725, i16 1726, i16 1727, i16 1728, i16 1729, i16 1730, i16 1731, i16 1732, i16 1733, i16 1734, i16 1735, i16 1736, i16 1737, i16 1738, i16 1739, i16 1740, i16 1741, i16 1742, i16 1743, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 1749, i16 1750, i16 1751, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 1758, i16 1759, i16 1760, i16 1761, i16 1762, i16 1763, i16 1764, i16 1765, i16 1766, i16 1767, i16 1768, i16 1769, i16 1770, i16 1771, i16 1772, i16 1773, i16 1774, i16 1775, i16 1776, i16 1777, i16 1778, i16 1779, i16 1780, i16 1781, i16 1782, i16 1783, i16 1784, i16 1785, i16 1786, i16 1787, i16 1788, i16 1789, i16 1790, i16 1791, i16 1792, i16 1793, i16 1794, i16 1795, i16 1796, i16 1797, i16 1798, i16 1799, i16 1800, i16 1801, i16 1802, i16 1803, i16 1804, i16 1805, i16 1806, i16 1807, i16 1808, i16 1809, i16 1810, i16 1811, i16 1812, i16 1813, i16 1814, i16 1815, i16 1816, i16 1817, i16 1818, i16 1819, i16 1820, i16 1821, i16 1822, i16 1823, i16 1824, i16 1825, i16 1826, i16 1827, i16 1828, i16 1829, i16 1830, i16 1831, i16 1832, i16 1833, i16 1834, i16 1835, i16 1836, i16 1837, i16 1838, i16 1839, i16 1840, i16 1841, i16 1842, i16 1843, i16 1844, i16 1845, i16 1846, i16 1847, i16 1848, i16 1849, i16 1850, i16 1851, i16 1852, i16 1853, i16 1854, i16 1855, i16 1856, i16 1857, i16 1858, i16 1859, i16 1860, i16 1861, i16 1862, i16 1863, i16 1864, i16 1865, i16 1866, i16 1867, i16 1868, i16 1869, i16 1870, i16 1871, i16 1872, i16 1873, i16 1874, i16 1875, i16 1876, i16 1877, i16 1878, i16 1879, i16 1880, i16 1881, i16 1882, i16 1883, i16 1884, i16 1885, i16 1886, i16 1887, i16 1888, i16 1889, i16 1890, i16 1891, i16 1892, i16 1893, i16 1894, i16 1895, i16 1896, i16 1897, i16 1898, i16 1899, i16 1900, i16 1901, i16 1902, i16 1903, i16 1904, i16 1905, i16 1906, i16 1907, i16 1908, i16 1909, i16 1910, i16 1911, i16 1912, i16 1913, i16 1914, i16 1915, i16 1916, i16 1917, i16 1918, i16 1919, i16 1920, i16 1921, i16 1922, i16 1923, i16 1924, i16 1925, i16 1926, i16 1927, i16 1928, i16 1929, i16 1930, i16 1931, i16 1932, i16 1933, i16 1934, i16 1935, i16 1936, i16 1937, i16 1938, i16 1939, i16 1940, i16 1941, i16 1942, i16 1943, i16 1944, i16 1945, i16 1946, i16 1947, i16 1948, i16 1949, i16 1950, i16 1951, i16 1952, i16 1953, i16 1954, i16 1955, i16 1956, i16 1957, i16 1958, i16 1959, i16 1960, i16 1961, i16 1962, i16 1963, i16 1964, i16 1965, i16 1966, i16 1967, i16 1968, i16 1969, i16 1970, i16 1971, i16 1972, i16 1973, i16 1974, i16 1975, i16 1976, i16 1977, i16 1978, i16 1979, i16 1980, i16 1981, i16 1982, i16 1983, i16 1984, i16 1985, i16 1986, i16 1987, i16 1988, i16 1989, i16 1990, i16 1991, i16 1992, i16 1993, i16 1994, i16 1995, i16 1996, i16 1997, i16 1998, i16 1999, i16 2000, i16 2001, i16 2002, i16 2003, i16 2004, i16 2005, i16 2006, i16 2007, i16 2008, i16 2009, i16 2010, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 458, i16 459, i16 460, i16 461, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 482, i16 483, i16 484, i16 485, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 494, i16 495, i16 496, i16 497, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 520, i16 521, i16 522, i16 523, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 714, i16 715, i16 716, i16 717, i16 718, i16 719, i16 720, i16 721, i16 722, i16 723, i16 724, i16 725, i16 726, i16 727, i16 728, i16 729, i16 730, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 737, i16 738, i16 739, i16 740, i16 741, i16 742, i16 743, i16 744, i16 745, i16 746, i16 747, i16 748, i16 749, i16 750, i16 751, i16 752, i16 753, i16 754, i16 755, i16 756, i16 757, i16 758, i16 759, i16 760, i16 761, i16 762, i16 763, i16 764, i16 765, i16 766, i16 767, i16 768, i16 769, i16 770, i16 771, i16 772, i16 773, i16 774, i16 775, i16 776, i16 777, i16 778, i16 779, i16 780, i16 781, i16 782, i16 783, i16 784, i16 785, i16 786, i16 787, i16 788, i16 789, i16 790, i16 791, i16 792, i16 793, i16 794, i16 795, i16 796, i16 797, i16 798, i16 799, i16 800, i16 801, i16 802, i16 803, i16 804, i16 805, i16 806, i16 807, i16 808, i16 809, i16 810, i16 811, i16 812, i16 813, i16 814, i16 815, i16 816, i16 817, i16 818, i16 819, i16 820, i16 821, i16 822, i16 823, i16 824, i16 825, i16 826, i16 827, i16 828, i16 829, i16 830, i16 831, i16 832, i16 833, i16 834, i16 835, i16 836, i16 837, i16 838, i16 839, i16 840, i16 841, i16 842, i16 843, i16 844, i16 845, i16 846, i16 847, i16 848, i16 849, i16 850, i16 851, i16 852, i16 853, i16 854, i16 855, i16 856, i16 857, i16 858, i16 859, i16 860, i16 861, i16 862, i16 863, i16 864, i16 865, i16 866, i16 867, i16 868, i16 869, i16 870, i16 871, i16 872, i16 873, i16 874, i16 875, i16 876, i16 877, i16 878, i16 879, i16 880, i16 881, i16 882, i16 883, i16 884, i16 885, i16 886, i16 887, i16 888, i16 889, i16 890, i16 891, i16 892, i16 893, i16 894, i16 895, i16 896, i16 897, i16 898, i16 899, i16 900, i16 901, i16 902, i16 903, i16 904, i16 905, i16 906, i16 907, i16 908, i16 909, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 918, i16 919, i16 920, i16 921, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 929, i16 930, i16 931, i16 932, i16 933, i16 934, i16 935, i16 936, i16 937, i16 938, i16 939, i16 940, i16 941, i16 942, i16 943, i16 944, i16 945, i16 946, i16 947, i16 948, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 964, i16 965, i16 966, i16 967, i16 968, i16 969, i16 970, i16 971, i16 972, i16 973, i16 974, i16 975, i16 976, i16 977, i16 978, i16 979, i16 980, i16 981, i16 982, i16 983, i16 984, i16 985, i16 986, i16 987, i16 988, i16 989, i16 990, i16 991, i16 992, i16 993, i16 994, i16 995, i16 996, i16 997, i16 998, i16 999, i16 1000, i16 1001, i16 1002, i16 1003, i16 1004, i16 1005, i16 1006, i16 1007, i16 1008, i16 1009, i16 1010, i16 1011, i16 1012, i16 1013, i16 1014, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1023, i16 1024, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 1037, i16 1038, i16 1039, i16 1040, i16 1041, i16 1042, i16 1043, i16 1044, i16 1045, i16 1046, i16 1047, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 1058, i16 1059, i16 1060, i16 1061, i16 1062, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1070, i16 1071, i16 1072, i16 1073, i16 1074, i16 1075, i16 1076, i16 1077, i16 1078, i16 1079, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1088, i16 1089, i16 1090, i16 1091, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1099, i16 1100, i16 1101, i16 1102, i16 1103, i16 1104, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 1117, i16 1118, i16 1119, i16 1120, i16 1121, i16 1122, i16 1123, i16 1124, i16 1125, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1132, i16 1133, i16 1134, i16 1135, i16 1136, i16 1137, i16 1138, i16 1139, i16 1140, i16 1141, i16 1142, i16 1143, i16 1144, i16 1145, i16 1146, i16 1147, i16 1148, i16 1149, i16 1150, i16 1151, i16 1152, i16 1153, i16 1154, i16 1155, i16 1156, i16 1157, i16 1158, i16 1159, i16 1160, i16 1161, i16 1162, i16 1163, i16 1164, i16 1165, i16 1166, i16 1167, i16 1168, i16 1169, i16 1170, i16 1171, i16 1172, i16 1173, i16 1174, i16 1175, i16 1176, i16 1177, i16 1178, i16 1179, i16 1180, i16 1181, i16 1182, i16 1183, i16 1184, i16 1185, i16 1186, i16 1187, i16 1188, i16 1189, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1206, i16 1207, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1235, i16 1236, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1242, i16 1243, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 1251, i16 1252, i16 1253, i16 1254, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1263, i16 1264, i16 1265, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1281, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1314, i16 1315, i16 1316, i16 1317, i16 1318, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 1367, i16 1368, i16 1369, i16 1370, i16 1371, i16 1372, i16 1373, i16 1374, i16 1375, i16 1376, i16 1377, i16 1378, i16 1379, i16 1380, i16 1381, i16 1382, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 1390, i16 1391, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1400, i16 1401, i16 1402, i16 1403, i16 1404, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1418, i16 1419, i16 1420, i16 1421, i16 1422, i16 1423, i16 1424, i16 1425, i16 1426, i16 1427, i16 1428, i16 1429, i16 1430, i16 1431, i16 1432, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1440, i16 1441, i16 1442, i16 1443, i16 1444, i16 1445, i16 1446, i16 1447, i16 1448, i16 1449, i16 1450, i16 1451, i16 1452, i16 1453, i16 1454, i16 1455, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1481, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 1528, i16 1529, i16 1530, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 1539, i16 1540, i16 1541, i16 1542, i16 1543, i16 1544, i16 1545, i16 1546, i16 1547, i16 1548, i16 1549, i16 1550, i16 1551, i16 1552, i16 1553, i16 1554, i16 1555, i16 1556, i16 1557, i16 1558, i16 1559, i16 1560, i16 1561, i16 1562, i16 1563, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 1595, i16 1596, i16 1597, i16 1598, i16 1599, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1611, i16 1612, i16 1613, i16 1614, i16 1615, i16 1616, i16 1617, i16 1618, i16 1619, i16 1620, i16 1621, i16 1622, i16 1623, i16 1624, i16 1625, i16 1626, i16 1627, i16 1628, i16 1629, i16 1630, i16 1631, i16 1632, i16 1633, i16 1634, i16 1635, i16 1636, i16 1637, i16 1638, i16 1639, i16 1640, i16 1641, i16 1642, i16 1643, i16 1644, i16 1645, i16 1646, i16 1647, i16 1648, i16 1649, i16 1650, i16 1651, i16 1652, i16 1653, i16 1654, i16 1655, i16 1656, i16 1657, i16 1658, i16 1659, i16 1660, i16 1661, i16 1662, i16 1663, i16 1664, i16 1665, i16 1666, i16 1667, i16 1668, i16 1669, i16 1670, i16 1671, i16 1672, i16 1673, i16 1674, i16 1675, i16 1676, i16 1677, i16 1678, i16 1679, i16 1680, i16 1681, i16 1682, i16 1683, i16 1684, i16 1685, i16 1686, i16 1687, i16 1688, i16 1689, i16 1690, i16 1691, i16 1692, i16 1693, i16 1694, i16 1695, i16 1696, i16 1697, i16 1698, i16 1699, i16 1700, i16 1701, i16 1702, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 1717, i16 1718, i16 1719, i16 1720, i16 1721, i16 1722, i16 1723, i16 1724, i16 1725, i16 1726, i16 1727, i16 1728, i16 1729, i16 1730, i16 1731, i16 1732, i16 1733, i16 1734, i16 1735, i16 1736, i16 1737, i16 1738, i16 1739, i16 1740, i16 1741, i16 1742, i16 1743, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 1749, i16 1750, i16 1751, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 1758, i16 1759, i16 1760, i16 1761, i16 1762, i16 1763, i16 1764, i16 1765, i16 1766, i16 1767, i16 1768, i16 1769, i16 1770, i16 1771, i16 1772, i16 1773, i16 1774, i16 1775, i16 1776, i16 1777, i16 1778, i16 1779, i16 1780, i16 1781, i16 1782, i16 1783, i16 1784, i16 1785, i16 1786, i16 1787, i16 1788, i16 1789, i16 1790, i16 1791, i16 1792, i16 1793, i16 1794, i16 1795, i16 1796, i16 1797, i16 1798, i16 1799, i16 1800, i16 1801, i16 1802, i16 1803, i16 1804, i16 1805, i16 1806, i16 1807, i16 1808, i16 1809, i16 1810, i16 1811, i16 1812, i16 1813, i16 1814, i16 1815, i16 1816, i16 1817, i16 1818, i16 1819, i16 1820, i16 1821, i16 1822, i16 1823, i16 1824, i16 1825, i16 1826, i16 1827, i16 1828, i16 1829, i16 1830, i16 1831, i16 1832, i16 1833, i16 1834, i16 1835, i16 1836, i16 1837, i16 1838, i16 1839, i16 1840, i16 1841, i16 1842, i16 1843, i16 1844, i16 1845, i16 1846, i16 1847, i16 1848, i16 1849, i16 1850, i16 1851, i16 1852, i16 1853, i16 1854, i16 1855, i16 1856, i16 1857, i16 1858, i16 1859, i16 1860, i16 1861, i16 1862, i16 1863, i16 1864, i16 1865, i16 1866, i16 1867, i16 1868, i16 1869, i16 1870, i16 1871, i16 1872, i16 1873, i16 1874, i16 1875, i16 1876, i16 1877, i16 1878, i16 1879, i16 1880, i16 1881, i16 1882, i16 1883, i16 1884, i16 1885, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 2, i16 1, i16 3, i16 1, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 457, i16 458, i16 459, i16 460, i16 461, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 482, i16 483, i16 484, i16 485, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 494, i16 495, i16 496, i16 497, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 520, i16 521, i16 522, i16 523, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 714, i16 715, i16 716, i16 717, i16 718, i16 719, i16 720, i16 721, i16 722, i16 723, i16 724, i16 725, i16 726, i16 727, i16 728, i16 729, i16 730, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 737, i16 738, i16 739, i16 740, i16 741, i16 742, i16 743, i16 744, i16 745, i16 746, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1188, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1206, i16 1207, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1235, i16 1236, i16 1187, i16 1190, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1242, i16 1243, i16 1187, i16 1190, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 1251, i16 1252, i16 1187, i16 1190, i16 1253, i16 1254, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1263, i16 1264, i16 1265, i16 1187, i16 1190, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1281, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1187, i16 1190, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1187, i16 1314, i16 1315, i16 1316, i16 1317, i16 1318, i16 1190, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1329, i16 1330, i16 1331, i16 1187, i16 1190, i16 1332, i16 1333, i16 1334, i16 1335, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 1187, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 1367, i16 1368, i16 1369, i16 1370, i16 1371, i16 1372, i16 1373, i16 1187, i16 1374, i16 1375, i16 1190, i16 1376, i16 1377, i16 1378, i16 1187, i16 1190, i16 1379, i16 1380, i16 1381, i16 1382, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 1187, i16 1190, i16 1390, i16 1391, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1400, i16 1401, i16 1402, i16 1403, i16 1404, i16 1187, i16 1190, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1187, i16 1190, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1418, i16 1419, i16 1420, i16 1421, i16 1422, i16 1423, i16 1187, i16 1190, i16 1424, i16 1425, i16 1426, i16 1427, i16 1428, i16 1429, i16 1430, i16 1431, i16 1432, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1440, i16 1441, i16 1442, i16 1443, i16 1444, i16 1445, i16 1446, i16 1447, i16 1448, i16 1449, i16 1450, i16 1451, i16 1452, i16 1453, i16 1454, i16 1455, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1187, i16 1190, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1187, i16 1190, i16 1481, i16 1187, i16 1190, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1187, i16 1190, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1187, i16 1513, i16 1514, i16 1515, i16 1190, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 1528, i16 1529, i16 1530, i16 1187, i16 1190, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 1539, i16 1540, i16 1541, i16 1542, i16 1543, i16 1544, i16 1545, i16 1546, i16 1547, i16 1548, i16 1549, i16 1550, i16 1551, i16 1552, i16 1553, i16 1554, i16 1555, i16 1556, i16 1557, i16 1558, i16 1559, i16 1560, i16 1561, i16 1562, i16 1563, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1187, i16 1187, i16 1187, i16 1190, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1187, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 1595, i16 1596, i16 1597, i16 1598, i16 1599, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1187, i16 1611, i16 1612, i16 1613, i16 1614, i16 1611, i16 1615, i16 1611, i16 1616, i16 1611, i16 1617, i16 1611, i16 1618, i16 1619, i16 1620, i16 1611, i16 1621, i16 1611, i16 1622, i16 1623, i16 1624, i16 1611, i16 1625, i16 1611, i16 1626, i16 1627, i16 1628, i16 1629, i16 1630, i16 1631, i16 1611, i16 1632, i16 1611, i16 1633, i16 1611, i16 1634, i16 1611, i16 1635, i16 1611, i16 1636, i16 1611, i16 1637, i16 1638, i16 1639, i16 1611, i16 1640, i16 1611, i16 1641, i16 1611, i16 1642, i16 1643, i16 1611, i16 1644, i16 1611, i16 1645, i16 1646, i16 1647, i16 1648, i16 1649, i16 1650, i16 1611, i16 1651, i16 1611, i16 1652, i16 1611, i16 1653, i16 1611, i16 1654, i16 1655, i16 1656, i16 1657, i16 1658, i16 1657, i16 1659, i16 1657, i16 1660, i16 1657, i16 1661, i16 1657, i16 1662, i16 1657, i16 1663, i16 1657, i16 1664, i16 1657, i16 1665, i16 1657, i16 1666, i16 1657, i16 1667, i16 1657, i16 1668, i16 1657, i16 1669, i16 1657, i16 1670, i16 1657, i16 1671, i16 1657, i16 1672, i16 1657, i16 1673, i16 1657, i16 1674, i16 1657, i16 1675, i16 1657, i16 1676, i16 1657, i16 1677, i16 1657, i16 1678, i16 1657, i16 1679, i16 1657, i16 1680, i16 1657, i16 1681, i16 1657, i16 1682, i16 1657, i16 1683, i16 1657, i16 1684, i16 1657, i16 1685, i16 1657, i16 1686, i16 1657, i16 1687, i16 1657, i16 1688, i16 1657, i16 1689, i16 1657, i16 1690, i16 1657, i16 1691, i16 1657, i16 1692, i16 1657, i16 1693, i16 1657, i16 1694, i16 1657, i16 1695, i16 1657, i16 1696, i16 1657, i16 1697, i16 1657, i16 1698, i16 1699, i16 1700, i16 1657, i16 1701, i16 1699, i16 1702, i16 1657, i16 1703, i16 1657, i16 1704, i16 1657, i16 1705, i16 1657, i16 1706, i16 1657, i16 1707, i16 1657, i16 1708, i16 1657, i16 1709, i16 1657, i16 1710, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1189, i16 1189, i16 1189, i16 1189, i16 1712, i16 1712, i16 1713, i16 1714, i16 1714, i16 1714, i16 1714, i16 1714, i16 1714, i16 1712, i16 1712, i16 1715, i16 1715, i16 1715, i16 1712, i16 1716, i16 1716, i16 1716, i16 1716, i16 1712, i16 1712, i16 1712, i16 1717, i16 1717, i16 1717, i16 1717, i16 1717, i16 1717, i16 1717, i16 1712, i16 1718, i16 1718, i16 1718, i16 1718, i16 1712, i16 1719, i16 1719, i16 1719, i16 1719, i16 1712, i16 1720, i16 1720, i16 1720, i16 1720, i16 1712, i16 1721, i16 1721, i16 1721, i16 1721, i16 1712, i16 1722, i16 1722, i16 1712, i16 1723, i16 1723, i16 1712, i16 1724, i16 1724, i16 1712, i16 1725, i16 1725, i16 1712, i16 1726, i16 1726, i16 1726, i16 1726, i16 1712, i16 1727, i16 1727, i16 1727, i16 1727, i16 1712, i16 1728, i16 1728, i16 1728, i16 1728, i16 1712, i16 1729, i16 1729, i16 1729, i16 1729, i16 1712, i16 1730, i16 1730, i16 1730, i16 1730, i16 1712, i16 1731, i16 1731, i16 1731, i16 1731, i16 1712, i16 1732, i16 1732, i16 1732, i16 1732, i16 1712, i16 1733, i16 1733, i16 1733, i16 1733, i16 1712, i16 1734, i16 1734, i16 1734, i16 1734, i16 1712, i16 1735, i16 1735, i16 1735, i16 1735, i16 1712, i16 1736, i16 1736, i16 1736, i16 1736, i16 1712, i16 1737, i16 1737, i16 1737, i16 1737, i16 1712, i16 1738, i16 1738, i16 1738, i16 1738, i16 1712, i16 1739, i16 1739, i16 1739, i16 1739, i16 1712, i16 1740, i16 1740, i16 1740, i16 1740, i16 1712, i16 1741, i16 1741, i16 1712, i16 1742, i16 1742, i16 1712, i16 1743, i16 1743, i16 1743, i16 1743, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 1749, i16 1750, i16 1751, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 1758, i16 1759, i16 1760, i16 1761, i16 1762, i16 1712, i16 1763, i16 1763, i16 1763, i16 1712, i16 1764, i16 1764, i16 1764, i16 1712, i16 1765, i16 1765, i16 1765, i16 1765, i16 1712, i16 1766, i16 1766, i16 1766, i16 1712, i16 1767, i16 1767, i16 1767, i16 1712, i16 1768, i16 1768, i16 1768, i16 1768, i16 1712, i16 1769, i16 1769, i16 1769, i16 1712, i16 1770, i16 1770, i16 1770, i16 1712, i16 1771, i16 1771, i16 1771, i16 1771, i16 1712, i16 1772, i16 1772, i16 1772, i16 1712, i16 1773, i16 1773, i16 1773, i16 1712, i16 1774, i16 1774, i16 1774, i16 1712, i16 1775, i16 1775, i16 1775, i16 1712, i16 1776, i16 1776, i16 1776, i16 1712, i16 1777, i16 1777, i16 1777, i16 1712, i16 1778, i16 1778, i16 1778, i16 1712, i16 1779, i16 1779, i16 1779, i16 1712, i16 1780, i16 1780, i16 1780, i16 1780, i16 1780, i16 1712, i16 1781, i16 1781, i16 1781, i16 1712, i16 1782, i16 1782, i16 1782, i16 1712, i16 1783, i16 1712, i16 1784, i16 1712, i16 1785, i16 1712, i16 1786, i16 1712, i16 1787, i16 1712, i16 1788, i16 1788, i16 1788, i16 1788, i16 1788, i16 1712, i16 1789, i16 1789, i16 1789, i16 1789, i16 1789, i16 1712, i16 1790, i16 1790, i16 1790, i16 1790, i16 1790, i16 1712, i16 1791, i16 1791, i16 1791, i16 1791, i16 1791, i16 1712, i16 1792, i16 1792, i16 1792, i16 1792, i16 1792, i16 1712, i16 1793, i16 1712, i16 1794, i16 1712, i16 1795, i16 1712, i16 1796, i16 1712, i16 1797, i16 1712, i16 1798, i16 1798, i16 1798, i16 1712, i16 1799, i16 1799, i16 1799, i16 1712, i16 1800, i16 1800, i16 1800, i16 1712, i16 1801, i16 1712, i16 1802, i16 1712, i16 1803, i16 1712, i16 1804, i16 1712, i16 1805, i16 1712, i16 1806, i16 1806, i16 1806, i16 1712, i16 1807, i16 1712, i16 1808, i16 1712, i16 1809, i16 1712, i16 1810, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2093, i16 2094, i16 2095, i16 2096, i16 2097, i16 2098, i16 2099, i16 2100, i16 2101, i16 2102, i16 2103, i16 2104, i16 2105, i16 2106, i16 2107, i16 2108, i16 2109, i16 2110, i16 2111, i16 2112, i16 2113, i16 2114, i16 2115, i16 2116, i16 2117, i16 2118, i16 2119, i16 2120, i16 2121, i16 2122, i16 2123, i16 2124, i16 2125, i16 2126, i16 2127, i16 2128, i16 2129, i16 2130, i16 2131, i16 2132, i16 2133, i16 2134, i16 2135, i16 2136, i16 2137, i16 2138, i16 2139, i16 2140, i16 2141, i16 2142, i16 2143, i16 2144, i16 2145, i16 2146, i16 2147, i16 2148, i16 2149, i16 2150, i16 2151, i16 2091, i16 2152, i16 2153, i16 2154, i16 2155, i16 2156, i16 2157, i16 2093, i16 2158, i16 2159, i16 2160, i16 2161, i16 2162, i16 2163, i16 2164, i16 2091, i16 2093, i16 2165, i16 2166, i16 2167, i16 2168, i16 2169, i16 2170, i16 2171, i16 2172, i16 2173, i16 2174, i16 2175, i16 2176, i16 2177, i16 2178, i16 2179, i16 2091, i16 2093, i16 2180, i16 2181, i16 2182, i16 2183, i16 2184, i16 2185, i16 2186, i16 2187, i16 2188, i16 2189, i16 2190, i16 2191, i16 2192, i16 2193, i16 2194, i16 2091, i16 2093, i16 2195, i16 2196, i16 2197, i16 2198, i16 2199, i16 2200, i16 2201, i16 2202, i16 2203, i16 2204, i16 2205, i16 2206, i16 2207, i16 2208, i16 2209, i16 2210, i16 2211, i16 2212, i16 2213, i16 2214, i16 2215, i16 2216, i16 2217, i16 2218, i16 2219, i16 2220, i16 2221, i16 2222, i16 2223, i16 2224, i16 2225, i16 2226, i16 2227, i16 2228, i16 2229, i16 2230, i16 2231, i16 2232, i16 2233, i16 2234, i16 2235, i16 2236, i16 2237, i16 2238, i16 2239, i16 2240, i16 2241, i16 2242, i16 2243, i16 2091, i16 2093, i16 2244, i16 2245, i16 2246, i16 2247, i16 2248, i16 2091, i16 2249, i16 2250, i16 2251, i16 2252, i16 2253, i16 2093, i16 2254, i16 2255, i16 2256, i16 2257, i16 2258, i16 2259, i16 2260, i16 2261, i16 2262, i16 2263, i16 2264, i16 2265, i16 2266, i16 2267, i16 2268, i16 2269, i16 2270, i16 2091, i16 2093, i16 2271, i16 2272, i16 2273, i16 2274, i16 2275, i16 2276, i16 2277, i16 2278, i16 2279, i16 2280, i16 2281, i16 2282, i16 2283, i16 2284, i16 2285, i16 2091, i16 2093, i16 2286, i16 2287, i16 2093, i16 2288, i16 2289, i16 2290, i16 2291, i16 2292, i16 2293, i16 2294, i16 2295, i16 2296, i16 2297, i16 2298, i16 2299, i16 2300, i16 2301, i16 2302, i16 2303, i16 2304, i16 2305, i16 2306, i16 2307, i16 2308, i16 2309, i16 2310, i16 2311, i16 2312, i16 2313, i16 2314, i16 2315, i16 2316, i16 2317, i16 2318, i16 2319, i16 2320, i16 2091, i16 2321, i16 2322, i16 2093, i16 2323, i16 2324, i16 2325, i16 2091, i16 2093, i16 2326, i16 2327, i16 2328, i16 2329, i16 2330, i16 2331, i16 2332, i16 2333, i16 2334, i16 2335, i16 2336, i16 2337, i16 2338, i16 2091, i16 2339, i16 2093, i16 2340, i16 2341, i16 2342, i16 2343, i16 2344, i16 2345, i16 2346, i16 2347, i16 2348, i16 2349, i16 2350, i16 2351, i16 2352, i16 2353, i16 2354, i16 2355, i16 2356, i16 2357, i16 2358, i16 2091, i16 2093, i16 2359, i16 2360, i16 2361, i16 2362, i16 2363, i16 2364, i16 2365, i16 2091, i16 2093, i16 2366, i16 2367, i16 2368, i16 2369, i16 2370, i16 2371, i16 2372, i16 2373, i16 2374, i16 2375, i16 2376, i16 2377, i16 2378, i16 2379, i16 2380, i16 2381, i16 2382, i16 2383, i16 2091, i16 2384, i16 2385, i16 2093, i16 2386, i16 2387, i16 2388, i16 2389, i16 2390, i16 2391, i16 2392, i16 2393, i16 2394, i16 2395, i16 2396, i16 2397, i16 2398, i16 2399, i16 2400, i16 2401, i16 2402, i16 2403, i16 2404, i16 2405, i16 2406, i16 2407, i16 2408, i16 2409, i16 2410, i16 2411, i16 2412, i16 2413, i16 2414, i16 2415, i16 2416, i16 2417, i16 2418, i16 2419, i16 2420, i16 2421, i16 2422, i16 2423, i16 2424, i16 2425, i16 2426, i16 2427, i16 2428, i16 2429, i16 2430, i16 2431, i16 2432, i16 2433, i16 2434, i16 2435, i16 2436, i16 2437, i16 2438, i16 2439, i16 2440, i16 2441, i16 2442, i16 2443, i16 2444, i16 2445, i16 2446, i16 2447, i16 2448, i16 2449, i16 2450, i16 2451, i16 2091, i16 2452, i16 2453, i16 2093, i16 2454, i16 2455, i16 2456, i16 2457, i16 2458, i16 2091, i16 2093, i16 2459, i16 2091, i16 2093, i16 2460, i16 2461, i16 2462, i16 2463, i16 2464, i16 2465, i16 2466, i16 2467, i16 2468, i16 2469, i16 2470, i16 2471, i16 2472, i16 2473, i16 2474, i16 2475, i16 2476, i16 2178, i16 2477, i16 2091, i16 2093, i16 2478, i16 2479, i16 2480, i16 2481, i16 2482, i16 2483, i16 2484, i16 2485, i16 2486, i16 2487, i16 2488, i16 2489, i16 2490, i16 2491, i16 2492, i16 2493, i16 2178, i16 2494, i16 2495, i16 2496, i16 2091, i16 2497, i16 2498, i16 2499, i16 2093, i16 2500, i16 2501, i16 2502, i16 2503, i16 2504, i16 2505, i16 2506, i16 2507, i16 2508, i16 2509, i16 2510, i16 2511, i16 2512, i16 2513, i16 2514, i16 2091, i16 2515, i16 2516, i16 2093, i16 2517, i16 2518, i16 2519, i16 2520, i16 2521, i16 2522, i16 2523, i16 2524, i16 2525, i16 2526, i16 2527, i16 2528, i16 2529, i16 2530, i16 2531, i16 2532, i16 2533, i16 2534, i16 2535, i16 2536, i16 2537, i16 2538, i16 2539, i16 2540, i16 2541, i16 2542, i16 2543, i16 2544, i16 2545, i16 2546, i16 2547, i16 2548, i16 2549, i16 2550, i16 2551, i16 2552, i16 2553, i16 2554, i16 2555, i16 2556, i16 2557, i16 2558, i16 2559, i16 2560, i16 2561, i16 2562, i16 2563, i16 2564, i16 2565, i16 2566, i16 2567, i16 2568, i16 2569, i16 2570, i16 2571, i16 2572, i16 2573, i16 2574, i16 2575, i16 2576, i16 2577, i16 2091, i16 2093, i16 2578, i16 2579, i16 2580, i16 2581, i16 2582, i16 2091, i16 2093, i16 2583, i16 2584, i16 2585, i16 2586, i16 2587, i16 2588, i16 2589, i16 2590, i16 2591, i16 2592, i16 2593, i16 2594, i16 2595, i16 2091, i16 2093, i16 2596, i16 2597, i16 2598, i16 2599, i16 2600, i16 2091, i16 2093, i16 2601, i16 2602, i16 2603, i16 2604, i16 2605, i16 2606, i16 2607, i16 2608, i16 2609, i16 2610, i16 2611, i16 2612, i16 2613, i16 2614, i16 2615, i16 2616, i16 2617, i16 2091, i16 2093, i16 2618, i16 2619, i16 2620, i16 2621, i16 2622, i16 2623, i16 2624, i16 2625, i16 2626, i16 2627, i16 2628, i16 2629, i16 2630, i16 2091, i16 2178, i16 2631, i16 2632, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2634, i16 2635, i16 2636, i16 2637, i16 2638, i16 2639, i16 2640, i16 2641, i16 2642, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2643, i16 2092, i16 2644, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2645, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2646, i16 2647, i16 2648, i16 2649, i16 2650, i16 2647, i16 2651, i16 2647, i16 2652, i16 2647, i16 2653, i16 2647, i16 2654, i16 2655, i16 2656, i16 2647, i16 2657, i16 2647, i16 2658, i16 2659, i16 2660, i16 2647, i16 2661, i16 2647, i16 2662, i16 2663, i16 2664, i16 2665, i16 2666, i16 2667, i16 2647, i16 2668, i16 2647, i16 2669, i16 2647, i16 2670, i16 2647, i16 2671, i16 2647, i16 2672, i16 2647, i16 2673, i16 2674, i16 2675, i16 2647, i16 2676, i16 2647, i16 2677, i16 2647, i16 2678, i16 2679, i16 2647, i16 2680, i16 2647, i16 2681, i16 2682, i16 2683, i16 2684, i16 2685, i16 2686, i16 2647, i16 2687, i16 2647, i16 2688, i16 2647, i16 2689, i16 2647, i16 2690, i16 2691, i16 2692, i16 2693, i16 2694, i16 2693, i16 2695, i16 2693, i16 2696, i16 2693, i16 2697, i16 2693, i16 2698, i16 2693, i16 2699, i16 2693, i16 2700, i16 2693, i16 2701, i16 2693, i16 2702, i16 2693, i16 2703, i16 2693, i16 2704, i16 2693, i16 2705, i16 2693, i16 2706, i16 2693, i16 2707, i16 2693, i16 2708, i16 2693, i16 2709, i16 2693, i16 2710, i16 2693, i16 2711, i16 2693, i16 2712, i16 2693, i16 2713, i16 2693, i16 2714, i16 2693, i16 2715, i16 2693, i16 2716, i16 2693, i16 2717, i16 2693, i16 2718, i16 2693, i16 2719, i16 2693, i16 2720, i16 2693, i16 2721, i16 2693, i16 2722, i16 2693, i16 2723, i16 2693, i16 2724, i16 2693, i16 2725, i16 2693, i16 2726, i16 2693, i16 2727, i16 2693, i16 2728, i16 2693, i16 2729, i16 2693, i16 2730, i16 2693, i16 2731, i16 2693, i16 2732, i16 2693, i16 2733, i16 2693, i16 2734, i16 2735, i16 2736, i16 2693, i16 2737, i16 2735, i16 2738, i16 2693, i16 2739, i16 2693, i16 2740, i16 2693, i16 2741, i16 2693, i16 2742, i16 2693, i16 2743, i16 2693, i16 2744, i16 2693, i16 2745, i16 2693, i16 2746, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2092, i16 2092, i16 2092, i16 2092, i16 2632, i16 2632, i16 2748, i16 2749, i16 2749, i16 2749, i16 2749, i16 2749, i16 2749, i16 2632, i16 2632, i16 2750, i16 2750, i16 2750, i16 2632, i16 2751, i16 2751, i16 2751, i16 2751, i16 2632, i16 2632, i16 2632, i16 2752, i16 2752, i16 2752, i16 2752, i16 2752, i16 2752, i16 2752, i16 2632, i16 2753, i16 2753, i16 2753, i16 2753, i16 2632, i16 2754, i16 2754, i16 2754, i16 2754, i16 2632, i16 2755, i16 2755, i16 2755, i16 2755, i16 2632, i16 2756, i16 2756, i16 2756, i16 2756, i16 2632, i16 2757, i16 2757, i16 2632, i16 2758, i16 2758, i16 2632, i16 2759, i16 2759, i16 2632, i16 2760, i16 2760, i16 2632, i16 2761, i16 2761, i16 2761, i16 2761, i16 2632, i16 2762, i16 2762, i16 2762, i16 2762, i16 2632, i16 2763, i16 2763, i16 2763, i16 2763, i16 2632, i16 2764, i16 2764, i16 2764, i16 2764, i16 2632, i16 2765, i16 2765, i16 2765, i16 2765, i16 2632, i16 2766, i16 2766, i16 2766, i16 2766, i16 2632, i16 2767, i16 2767, i16 2767, i16 2767, i16 2632, i16 2768, i16 2768, i16 2768, i16 2768, i16 2632, i16 2769, i16 2769, i16 2769, i16 2769, i16 2632, i16 2770, i16 2770, i16 2770, i16 2770, i16 2632, i16 2771, i16 2771, i16 2771, i16 2771, i16 2632, i16 2772, i16 2772, i16 2772, i16 2772, i16 2632, i16 2773, i16 2773, i16 2773, i16 2773, i16 2632, i16 2774, i16 2774, i16 2774, i16 2774, i16 2632, i16 2775, i16 2775, i16 2775, i16 2775, i16 2632, i16 2776, i16 2776, i16 2632, i16 2777, i16 2777, i16 2632, i16 2778, i16 2778, i16 2778, i16 2778, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2633, i16 2634, i16 2635, i16 2636, i16 2637, i16 2638, i16 2639, i16 2640, i16 2641, i16 2642, i16 2780, i16 2781, i16 2782, i16 2783, i16 2784, i16 2785, i16 2786, i16 2787, i16 2632, i16 2788, i16 2788, i16 2788, i16 2632, i16 2789, i16 2789, i16 2789, i16 2632, i16 2790, i16 2790, i16 2790, i16 2790, i16 2632, i16 2791, i16 2791, i16 2791, i16 2632, i16 2792, i16 2792, i16 2792, i16 2632, i16 2793, i16 2793, i16 2793, i16 2793, i16 2632, i16 2794, i16 2794, i16 2794, i16 2632, i16 2795, i16 2795, i16 2795, i16 2632, i16 2796, i16 2796, i16 2796, i16 2796, i16 2632, i16 2797, i16 2797, i16 2797, i16 2632, i16 2798, i16 2798, i16 2798, i16 2632, i16 2799, i16 2799, i16 2799, i16 2632, i16 2800, i16 2800, i16 2800, i16 2632, i16 2801, i16 2801, i16 2801, i16 2632, i16 2802, i16 2802, i16 2802, i16 2632, i16 2803, i16 2803, i16 2803, i16 2632, i16 2804, i16 2804, i16 2804, i16 2632, i16 2805, i16 2805, i16 2805, i16 2805, i16 2805, i16 2632, i16 2806, i16 2806, i16 2806, i16 2632, i16 2807, i16 2807, i16 2807, i16 2632, i16 2808, i16 2632, i16 2809, i16 2632, i16 2810, i16 2632, i16 2811, i16 2632, i16 2812, i16 2632, i16 2813, i16 2813, i16 2813, i16 2813, i16 2813, i16 2632, i16 2814, i16 2814, i16 2814, i16 2814, i16 2814, i16 2632, i16 2815, i16 2815, i16 2815, i16 2815, i16 2815, i16 2632, i16 2816, i16 2816, i16 2816, i16 2816, i16 2816, i16 2632, i16 2817, i16 2817, i16 2817, i16 2817, i16 2817, i16 2632, i16 2818, i16 2632, i16 2819, i16 2632, i16 2820, i16 2632, i16 2821, i16 2632, i16 2822, i16 2632, i16 2823, i16 2823, i16 2823, i16 2632, i16 2824, i16 2824, i16 2824, i16 2632, i16 2825, i16 2825, i16 2825, i16 2632, i16 2826, i16 2632, i16 2827, i16 2632, i16 2828, i16 2632, i16 2829, i16 2632, i16 2830, i16 2632, i16 2831, i16 2831, i16 2831, i16 2632, i16 2832, i16 2632, i16 2833, i16 2632, i16 2834, i16 2632, i16 2835, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2837, i16 2836, i16 2838, i16 2836, i16 2839, i16 2836, i16 2840, i16 2836, i16 2841, i16 2836, i16 2842, i16 2836, i16 2843, i16 2836, i16 2844, i16 2836, i16 2845, i16 2836, i16 2846, i16 2836, i16 2847, i16 2836, i16 2848, i16 2836, i16 2849, i16 2836, i16 2850, i16 2836, i16 2851, i16 2836, i16 2852, i16 2836, i16 2853, i16 2836, i16 2854, i16 2836, i16 2855, i16 2836, i16 2856, i16 2836, i16 2857, i16 2836, i16 2858, i16 2836, i16 2859, i16 2836, i16 2860, i16 2836, i16 2861, i16 2836, i16 2862, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2836, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2646, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2866, i16 2867, i16 2866, i16 2868, i16 2866, i16 2869, i16 2866, i16 2870, i16 2866, i16 2871, i16 2866, i16 2872, i16 2866, i16 2873, i16 2866, i16 2874, i16 2866, i16 2875, i16 2866, i16 2876, i16 2877, i16 2878, i16 2877, i16 2879, i16 2877, i16 2880, i16 2877, i16 2881, i16 2877, i16 2882, i16 2877, i16 2883, i16 2877, i16 2884, i16 2877, i16 2885, i16 2877, i16 2886, i16 2877, i16 2887, i16 2877, i16 2888, i16 2877, i16 2889, i16 2877, i16 2890, i16 2877, i16 2891, i16 2877, i16 2892, i16 2877, i16 2893, i16 2877, i16 2894, i16 2877, i16 2895, i16 2877, i16 2896, i16 2877, i16 2897, i16 2877, i16 2898, i16 2877, i16 2899, i16 2877, i16 2900, i16 2877, i16 2901, i16 2877, i16 2902, i16 2877, i16 2903, i16 2866, i16 2904, i16 2905, i16 2906, i16 2907, i16 2908, i16 2866, i16 2909, i16 2910, i16 2911, i16 2912, i16 2913, i16 2866, i16 2914, i16 2915, i16 2916, i16 2917, i16 2918, i16 2866, i16 2919, i16 2920, i16 2921, i16 2922, i16 2923, i16 2866, i16 2924, i16 2925, i16 2926, i16 2927, i16 2928, i16 2866, i16 2929, i16 2930, i16 2931, i16 2932, i16 2933, i16 2866, i16 2934, i16 2935, i16 2936, i16 2937, i16 2938, i16 2866, i16 2939, i16 2940, i16 2941, i16 2942, i16 2943, i16 2866, i16 2944, i16 2945, i16 2946, i16 2947, i16 2948, i16 2866, i16 2949, i16 2950, i16 2951, i16 2952, i16 2953, i16 2866, i16 2954, i16 2955, i16 2956, i16 2957, i16 2958, i16 2866, i16 2959, i16 2960, i16 2961, i16 2962, i16 2963, i16 2866, i16 2964, i16 2965, i16 2966, i16 2967, i16 2968, i16 2866, i16 2969, i16 2970, i16 2971, i16 2972, i16 2973, i16 2866, i16 2974, i16 2975, i16 2976, i16 2977, i16 2978, i16 2866, i16 2979, i16 2980, i16 2981, i16 2982, i16 2983, i16 2866, i16 2984, i16 2985, i16 2986, i16 2987, i16 2988, i16 2866, i16 2989, i16 2990, i16 2991, i16 2992, i16 2993, i16 2866, i16 2994, i16 2995, i16 2996, i16 2997, i16 2998, i16 2866, i16 2999, i16 3000, i16 3001, i16 3002, i16 3003, i16 2866, i16 3004, i16 3005, i16 3006, i16 3007, i16 3008, i16 2866, i16 3009, i16 3010, i16 3011, i16 3012, i16 3013, i16 2866, i16 3014, i16 3015, i16 3016, i16 3017, i16 3018, i16 2866, i16 3019, i16 3020, i16 3021, i16 3022, i16 3023, i16 2866, i16 3024, i16 3025, i16 3026, i16 3027, i16 3028, i16 2866, i16 3029, i16 3030, i16 3031, i16 3032, i16 3033, i16 2866, i16 3034, i16 3035, i16 3036, i16 3037, i16 3038, i16 2866, i16 3039, i16 3040, i16 3041, i16 3042, i16 3043, i16 2866, i16 3044, i16 3045, i16 3046, i16 3047, i16 3048, i16 2866, i16 3049, i16 3050, i16 3051, i16 3052, i16 3053, i16 2866, i16 3054, i16 3055, i16 3056, i16 3057, i16 3058, i16 2866, i16 3059, i16 3060, i16 3061, i16 3062, i16 3063, i16 2866, i16 3064, i16 3065, i16 3066, i16 3067, i16 3068, i16 2866, i16 3069, i16 3070, i16 3071, i16 3072, i16 3073, i16 2866, i16 3074, i16 3075, i16 3076, i16 3077, i16 3078, i16 2866, i16 2866, i16 3079, i16 3080, i16 3081, i16 3082, i16 3083, i16 2866, i16 2866, i16 3084, i16 3085, i16 3086, i16 3087, i16 3088, i16 2866, i16 3089, i16 3090, i16 3091, i16 3092, i16 3093, i16 2866, i16 3094, i16 3095, i16 3096, i16 3097, i16 3098, i16 2866, i16 3099, i16 3100, i16 3101, i16 3102, i16 3103, i16 2866, i16 3104, i16 3105, i16 3106, i16 3107, i16 3108, i16 2866, i16 3109, i16 3110, i16 3111, i16 3112, i16 3113, i16 2866, i16 3114, i16 3115, i16 3116, i16 3117, i16 3118, i16 2866, i16 3119, i16 3120, i16 3121, i16 3122, i16 3123, i16 2866, i16 2866, i16 2866, i16 2866, i16 3124, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 99, i16 104, i16 112, i16 117, i16 122, i16 124, i16 126, i16 128, i16 130, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 1162, i16 296, i16 0, i16 704, i16 0, i16 1166, i16 293, i16 0, i16 714, i16 0, i16 1168, i16 296, i16 0, i16 1167, i16 293, i16 0, i16 723, i16 0, i16 1169, i16 299, i16 0, i16 728, i16 0, i16 1170, i16 293, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 49, i16 51, i16 53, i16 55, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 83, i16 85, i16 87, i16 89, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 1174, i16 169, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 1176, i16 169, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 1173, i16 169, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 1175, i16 169, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 1222, i16 411, i16 0, i16 1221, i16 491, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 1219, i16 411, i16 0, i16 1220, i16 491, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 48, i16 50, i16 52, i16 54, i16 62, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 94, i16 96, i16 98, i16 100, i16 108, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 138, i16 140, i16 142, i16 144, i16 146, i16 148, i16 478, i16 0, i16 1265, i16 1008, i16 0, i16 1264, i16 1047, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 1269, i16 421, i16 0, i16 1268, i16 501, i16 0, i16 504, i16 0, i16 1273, i16 421, i16 0, i16 1272, i16 501, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 1262, i16 1008, i16 0, i16 1263, i16 1047, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 1266, i16 421, i16 0, i16 1267, i16 501, i16 0, i16 425, i16 0, i16 1270, i16 421, i16 0, i16 1271, i16 501, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 52, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 92, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 1318, i16 989, i16 0, i16 1317, i16 1029, i16 0, i16 491, i16 0, i16 1322, i16 401, i16 0, i16 1321, i16 481, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 1315, i16 989, i16 0, i16 1316, i16 1029, i16 0, i16 411, i16 0, i16 1319, i16 401, i16 0, i16 1320, i16 481, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 1222, i16 411, i16 0, i16 1221, i16 491, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1328, i16 413, i16 0, i16 1327, i16 493, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 1219, i16 411, i16 0, i16 1220, i16 491, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1325, i16 413, i16 0, i16 1326, i16 493, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 62, i16 142, i16 144, i16 168, i16 170, i16 194, i16 218, i16 220, i16 222, i16 224, i16 248, i16 272, i16 274, i16 298, i16 322, i16 402, i16 404, i16 428, i16 430, i16 454, i16 478, i16 480, i16 482, i16 484, i16 508, i16 532, i16 534, i16 558, i16 560, i16 562, i16 564, i16 566, i16 568, i16 570, i16 572, i16 574, i16 576, i16 1425, i16 451, i16 0, i16 1429, i16 398, i16 451, i16 0, i16 1428, i16 398, i16 528, i16 0, i16 1424, i16 528, i16 0, i16 1427, i16 478, i16 451, i16 0, i16 1426, i16 478, i16 528, i16 0, i16 478, i16 0, i16 1451, i16 471, i16 451, i16 0, i16 1450, i16 471, i16 528, i16 0, i16 1437, i16 471, i16 0, i16 1459, i16 399, i16 471, i16 451, i16 0, i16 1458, i16 399, i16 471, i16 528, i16 0, i16 1441, i16 399, i16 471, i16 0, i16 1457, i16 399, i16 548, i16 451, i16 0, i16 1456, i16 399, i16 548, i16 528, i16 0, i16 1440, i16 399, i16 548, i16 0, i16 1449, i16 548, i16 451, i16 0, i16 1448, i16 548, i16 528, i16 0, i16 1436, i16 548, i16 0, i16 1455, i16 479, i16 471, i16 451, i16 0, i16 1454, i16 479, i16 471, i16 528, i16 0, i16 1439, i16 479, i16 471, i16 0, i16 1453, i16 479, i16 548, i16 451, i16 0, i16 1452, i16 479, i16 548, i16 528, i16 0, i16 1438, i16 479, i16 548, i16 0, i16 479, i16 0, i16 490, i16 0, i16 1473, i16 467, i16 0, i16 1477, i16 411, i16 467, i16 0, i16 1476, i16 411, i16 544, i16 0, i16 1472, i16 544, i16 0, i16 1475, i16 491, i16 467, i16 0, i16 1474, i16 491, i16 544, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 1485, i16 467, i16 0, i16 1489, i16 425, i16 467, i16 0, i16 1488, i16 425, i16 544, i16 0, i16 1484, i16 544, i16 0, i16 1487, i16 504, i16 467, i16 0, i16 1486, i16 504, i16 544, i16 0, i16 504, i16 0, i16 1497, i16 467, i16 0, i16 1501, i16 432, i16 467, i16 0, i16 1500, i16 432, i16 544, i16 0, i16 1496, i16 544, i16 0, i16 1499, i16 511, i16 467, i16 0, i16 1498, i16 511, i16 544, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 1509, i16 471, i16 0, i16 1513, i16 451, i16 471, i16 0, i16 1512, i16 451, i16 548, i16 0, i16 1508, i16 548, i16 0, i16 1511, i16 528, i16 471, i16 0, i16 1510, i16 528, i16 548, i16 0, i16 528, i16 0, i16 1521, i16 467, i16 0, i16 1525, i16 453, i16 467, i16 0, i16 1524, i16 453, i16 544, i16 0, i16 1520, i16 544, i16 0, i16 1523, i16 530, i16 467, i16 0, i16 1522, i16 530, i16 544, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 1537, i16 471, i16 451, i16 0, i16 1536, i16 471, i16 528, i16 0, i16 1533, i16 451, i16 0, i16 1535, i16 548, i16 451, i16 0, i16 1534, i16 548, i16 528, i16 0, i16 1532, i16 528, i16 0, i16 548, i16 0, i16 1431, i16 451, i16 0, i16 1435, i16 398, i16 451, i16 0, i16 1434, i16 398, i16 528, i16 0, i16 1430, i16 528, i16 0, i16 1433, i16 478, i16 451, i16 0, i16 1432, i16 478, i16 528, i16 0, i16 398, i16 0, i16 1463, i16 471, i16 451, i16 0, i16 1462, i16 471, i16 528, i16 0, i16 1443, i16 471, i16 0, i16 1471, i16 399, i16 471, i16 451, i16 0, i16 1470, i16 399, i16 471, i16 528, i16 0, i16 1447, i16 399, i16 471, i16 0, i16 1469, i16 399, i16 548, i16 451, i16 0, i16 1468, i16 399, i16 548, i16 528, i16 0, i16 1446, i16 399, i16 548, i16 0, i16 1461, i16 548, i16 451, i16 0, i16 1460, i16 548, i16 528, i16 0, i16 1442, i16 548, i16 0, i16 1467, i16 479, i16 471, i16 451, i16 0, i16 1466, i16 479, i16 471, i16 528, i16 0, i16 1445, i16 479, i16 471, i16 0, i16 1465, i16 479, i16 548, i16 451, i16 0, i16 1464, i16 479, i16 548, i16 528, i16 0, i16 1444, i16 479, i16 548, i16 0, i16 399, i16 0, i16 410, i16 0, i16 1478, i16 467, i16 0, i16 1483, i16 411, i16 467, i16 0, i16 1482, i16 411, i16 544, i16 0, i16 1479, i16 544, i16 0, i16 1481, i16 491, i16 467, i16 0, i16 1480, i16 491, i16 544, i16 0, i16 411, i16 0, i16 990, i16 0, i16 1490, i16 467, i16 0, i16 1495, i16 425, i16 467, i16 0, i16 1494, i16 425, i16 544, i16 0, i16 1491, i16 544, i16 0, i16 1493, i16 504, i16 467, i16 0, i16 1492, i16 504, i16 544, i16 0, i16 425, i16 0, i16 1502, i16 467, i16 0, i16 1507, i16 432, i16 467, i16 0, i16 1506, i16 432, i16 544, i16 0, i16 1503, i16 544, i16 0, i16 1505, i16 511, i16 467, i16 0, i16 1504, i16 511, i16 544, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 1515, i16 471, i16 0, i16 1519, i16 451, i16 471, i16 0, i16 1518, i16 451, i16 548, i16 0, i16 1514, i16 548, i16 0, i16 1517, i16 528, i16 471, i16 0, i16 1516, i16 528, i16 548, i16 0, i16 451, i16 0, i16 1527, i16 467, i16 0, i16 1531, i16 453, i16 467, i16 0, i16 1530, i16 453, i16 544, i16 0, i16 1526, i16 544, i16 0, i16 1529, i16 530, i16 467, i16 0, i16 1528, i16 530, i16 544, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 1543, i16 471, i16 451, i16 0, i16 1542, i16 471, i16 528, i16 0, i16 1539, i16 451, i16 0, i16 1541, i16 548, i16 451, i16 0, i16 1540, i16 548, i16 528, i16 0, i16 1538, i16 528, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 112, i16 117, i16 122, i16 127, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1559, i16 1554, i16 0, i16 1556, i16 1552, i16 0, i16 1073, i16 0, i16 1560, i16 1553, i16 0, i16 582, i16 0, i16 1562, i16 1553, i16 0, i16 1080, i16 0, i16 1563, i16 1553, i16 0, i16 1082, i16 0, i16 1561, i16 1553, i16 0, i16 1564, i16 0, i16 38, i16 46, i16 54, i16 62, i16 64, i16 66, i16 74, i16 82, i16 84, i16 92, i16 100, i16 102, i16 110, i16 112, i16 114, i16 122, i16 130, i16 138, i16 140, i16 142, i16 150, i16 158, i16 160, i16 168, i16 176, i16 178, i16 186, i16 188, i16 190, i16 192, i16 194, i16 196, i16 198, i16 200, i16 202, i16 204, i16 206, i16 208, i16 1591, i16 413, i16 0, i16 1590, i16 493, i16 0, i16 478, i16 0, i16 1595, i16 399, i16 0, i16 1594, i16 479, i16 0, i16 479, i16 0, i16 1599, i16 410, i16 0, i16 1598, i16 490, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 1603, i16 425, i16 0, i16 1602, i16 504, i16 0, i16 504, i16 0, i16 1222, i16 411, i16 0, i16 1221, i16 491, i16 0, i16 511, i16 0, i16 515, i16 0, i16 1607, i16 413, i16 0, i16 1606, i16 493, i16 0, i16 522, i16 0, i16 1611, i16 413, i16 0, i16 1610, i16 493, i16 0, i16 524, i16 0, i16 528, i16 0, i16 1615, i16 413, i16 0, i16 1614, i16 493, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 1588, i16 413, i16 0, i16 1589, i16 493, i16 0, i16 398, i16 0, i16 1592, i16 399, i16 0, i16 1593, i16 479, i16 0, i16 399, i16 0, i16 1596, i16 410, i16 0, i16 1597, i16 490, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 1600, i16 425, i16 0, i16 1601, i16 504, i16 0, i16 425, i16 0, i16 1219, i16 411, i16 0, i16 1220, i16 491, i16 0, i16 432, i16 0, i16 437, i16 0, i16 1604, i16 413, i16 0, i16 1605, i16 493, i16 0, i16 445, i16 0, i16 1608, i16 413, i16 0, i16 1609, i16 493, i16 0, i16 447, i16 0, i16 451, i16 0, i16 1612, i16 413, i16 0, i16 1613, i16 493, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 138, i16 140, i16 1591, i16 413, i16 0, i16 1590, i16 493, i16 0, i16 1621, i16 169, i16 413, i16 0, i16 1620, i16 169, i16 493, i16 0, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 1588, i16 413, i16 0, i16 1589, i16 493, i16 0, i16 1618, i16 169, i16 413, i16 0, i16 1619, i16 169, i16 493, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 10, i16 12, i16 14, i16 16, i16 18, i16 20, i16 22, i16 24, i16 26, i16 28, i16 681, i16 0, i16 738, i16 0, i16 749, i16 0, i16 901, i16 0, i16 927, i16 0, i16 682, i16 0, i16 739, i16 0, i16 750, i16 0, i16 902, i16 0, i16 928, i16 0, i16 10, i16 18, i16 20, i16 22, i16 24, i16 26, i16 34, i16 36, i16 38, i16 40, i16 1884, i16 682, i16 0, i16 1883, i16 681, i16 0, i16 681, i16 0, i16 738, i16 0, i16 749, i16 0, i16 901, i16 0, i16 927, i16 0, i16 1886, i16 682, i16 0, i16 1885, i16 681, i16 0, i16 682, i16 0, i16 739, i16 0, i16 750, i16 0, i16 902, i16 0, i16 928, i16 0, i16 10, i16 12, i16 14, i16 22, i16 30, i16 38, i16 40, i16 42, i16 50, i16 58, i16 681, i16 0, i16 738, i16 0, i16 1928, i16 1880, i16 0, i16 1927, i16 1879, i16 0, i16 749, i16 0, i16 1932, i16 884, i16 0, i16 1931, i16 883, i16 0, i16 901, i16 0, i16 1936, i16 884, i16 0, i16 1935, i16 883, i16 0, i16 927, i16 0, i16 682, i16 0, i16 739, i16 0, i16 1930, i16 1880, i16 0, i16 1929, i16 1879, i16 0, i16 750, i16 0, i16 1934, i16 884, i16 0, i16 1933, i16 883, i16 0, i16 902, i16 0, i16 1938, i16 884, i16 0, i16 1937, i16 883, i16 0, i16 928, i16 0, i16 10, i16 12, i16 20, i16 22, i16 30, i16 32, i16 34, i16 42, i16 44, i16 52, i16 681, i16 0, i16 1940, i16 837, i16 0, i16 1939, i16 836, i16 0, i16 738, i16 0, i16 749, i16 0, i16 1944, i16 902, i16 0, i16 1943, i16 901, i16 0, i16 901, i16 0, i16 927, i16 0, i16 682, i16 0, i16 1942, i16 837, i16 0, i16 1941, i16 836, i16 0, i16 739, i16 0, i16 750, i16 0, i16 1946, i16 902, i16 0, i16 1945, i16 901, i16 0, i16 902, i16 0, i16 928, i16 0, i16 2, i16 10, i16 295, i16 278, i16 0, i16 294, i16 277, i16 0, i16 161, i16 0, i16 296, i16 278, i16 0, i16 162, i16 0, i16 5, i16 139, i16 273, i16 407, i16 541, i16 387, i16 386, i16 0, i16 381, i16 380, i16 0, i16 375, i16 374, i16 0, i16 369, i16 368, i16 0, i16 363, i16 362, i16 0, i16 357, i16 356, i16 0, i16 351, i16 350, i16 0, i16 345, i16 344, i16 0, i16 338, i16 337, i16 0, i16 331, i16 330, i16 0, i16 325, i16 324, i16 0, i16 319, i16 318, i16 0, i16 313, i16 312, i16 0, i16 307, i16 306, i16 0, i16 301, i16 300, i16 0, i16 295, i16 294, i16 0, i16 289, i16 288, i16 0, i16 283, i16 282, i16 0, i16 277, i16 276, i16 0, i16 271, i16 270, i16 0, i16 265, i16 264, i16 0, i16 259, i16 258, i16 0, i16 253, i16 252, i16 0, i16 247, i16 246, i16 0, i16 241, i16 240, i16 0, i16 235, i16 234, i16 0, i16 229, i16 228, i16 0, i16 223, i16 222, i16 0, i16 217, i16 216, i16 0, i16 211, i16 210, i16 0, i16 205, i16 204, i16 0, i16 199, i16 198, i16 0, i16 193, i16 192, i16 0, i16 187, i16 186, i16 0, i16 181, i16 180, i16 0, i16 175, i16 174, i16 0, i16 169, i16 168, i16 0, i16 163, i16 162, i16 0, i16 157, i16 156, i16 0, i16 151, i16 150, i16 0, i16 145, i16 144, i16 0, i16 139, i16 138, i16 0, i16 133, i16 132, i16 0, i16 127, i16 126, i16 0, i16 404, i16 0, i16 388, i16 386, i16 0, i16 382, i16 380, i16 0, i16 376, i16 374, i16 0, i16 370, i16 368, i16 0, i16 364, i16 362, i16 0, i16 358, i16 356, i16 0, i16 352, i16 350, i16 0, i16 346, i16 344, i16 0, i16 339, i16 337, i16 0, i16 332, i16 330, i16 0, i16 326, i16 324, i16 0, i16 320, i16 318, i16 0, i16 314, i16 312, i16 0, i16 308, i16 306, i16 0, i16 302, i16 300, i16 0, i16 296, i16 294, i16 0, i16 290, i16 288, i16 0, i16 284, i16 282, i16 0, i16 278, i16 276, i16 0, i16 272, i16 270, i16 0, i16 266, i16 264, i16 0, i16 260, i16 258, i16 0, i16 254, i16 252, i16 0, i16 248, i16 246, i16 0, i16 242, i16 240, i16 0, i16 236, i16 234, i16 0, i16 230, i16 228, i16 0, i16 224, i16 222, i16 0, i16 218, i16 216, i16 0, i16 212, i16 210, i16 0, i16 206, i16 204, i16 0, i16 200, i16 198, i16 0, i16 194, i16 192, i16 0, i16 188, i16 186, i16 0, i16 182, i16 180, i16 0, i16 176, i16 174, i16 0, i16 170, i16 168, i16 0, i16 164, i16 162, i16 0, i16 158, i16 156, i16 0, i16 152, i16 150, i16 0, i16 146, i16 144, i16 0, i16 140, i16 138, i16 0, i16 134, i16 132, i16 0, i16 128, i16 126, i16 0, i16 405, i16 0, i16 389, i16 386, i16 0, i16 383, i16 380, i16 0, i16 377, i16 374, i16 0, i16 371, i16 368, i16 0, i16 365, i16 362, i16 0, i16 359, i16 356, i16 0, i16 353, i16 350, i16 0, i16 347, i16 344, i16 0, i16 340, i16 337, i16 0, i16 333, i16 330, i16 0, i16 327, i16 324, i16 0, i16 321, i16 318, i16 0, i16 315, i16 312, i16 0, i16 309, i16 306, i16 0, i16 303, i16 300, i16 0, i16 297, i16 294, i16 0, i16 291, i16 288, i16 0, i16 285, i16 282, i16 0, i16 279, i16 276, i16 0, i16 273, i16 270, i16 0, i16 267, i16 264, i16 0, i16 261, i16 258, i16 0, i16 255, i16 252, i16 0, i16 249, i16 246, i16 0, i16 243, i16 240, i16 0, i16 237, i16 234, i16 0, i16 231, i16 228, i16 0, i16 225, i16 222, i16 0, i16 219, i16 216, i16 0, i16 213, i16 210, i16 0, i16 207, i16 204, i16 0, i16 201, i16 198, i16 0, i16 195, i16 192, i16 0, i16 189, i16 186, i16 0, i16 183, i16 180, i16 0, i16 177, i16 174, i16 0, i16 171, i16 168, i16 0, i16 165, i16 162, i16 0, i16 159, i16 156, i16 0, i16 153, i16 150, i16 0, i16 147, i16 144, i16 0, i16 141, i16 138, i16 0, i16 135, i16 132, i16 0, i16 129, i16 126, i16 0, i16 406, i16 0, i16 390, i16 386, i16 0, i16 384, i16 380, i16 0, i16 378, i16 374, i16 0, i16 372, i16 368, i16 0, i16 366, i16 362, i16 0, i16 360, i16 356, i16 0, i16 354, i16 350, i16 0, i16 348, i16 344, i16 0, i16 341, i16 337, i16 0, i16 334, i16 330, i16 0, i16 328, i16 324, i16 0, i16 322, i16 318, i16 0, i16 316, i16 312, i16 0, i16 310, i16 306, i16 0, i16 304, i16 300, i16 0, i16 298, i16 294, i16 0, i16 292, i16 288, i16 0, i16 286, i16 282, i16 0, i16 280, i16 276, i16 0, i16 274, i16 270, i16 0, i16 268, i16 264, i16 0, i16 262, i16 258, i16 0, i16 256, i16 252, i16 0, i16 250, i16 246, i16 0, i16 244, i16 240, i16 0, i16 238, i16 234, i16 0, i16 232, i16 228, i16 0, i16 226, i16 222, i16 0, i16 220, i16 216, i16 0, i16 214, i16 210, i16 0, i16 208, i16 204, i16 0, i16 202, i16 198, i16 0, i16 196, i16 192, i16 0, i16 190, i16 186, i16 0, i16 184, i16 180, i16 0, i16 178, i16 174, i16 0, i16 172, i16 168, i16 0, i16 166, i16 162, i16 0, i16 160, i16 156, i16 0, i16 154, i16 150, i16 0, i16 148, i16 144, i16 0, i16 142, i16 138, i16 0, i16 136, i16 132, i16 0, i16 130, i16 126, i16 0, i16 407, i16 0, i16 391, i16 386, i16 0, i16 385, i16 380, i16 0, i16 379, i16 374, i16 0, i16 373, i16 368, i16 0, i16 367, i16 362, i16 0, i16 361, i16 356, i16 0, i16 355, i16 350, i16 0, i16 349, i16 344, i16 0, i16 342, i16 337, i16 0, i16 335, i16 330, i16 0, i16 329, i16 324, i16 0, i16 323, i16 318, i16 0, i16 317, i16 312, i16 0, i16 311, i16 306, i16 0, i16 305, i16 300, i16 0, i16 299, i16 294, i16 0, i16 293, i16 288, i16 0, i16 287, i16 282, i16 0, i16 281, i16 276, i16 0, i16 275, i16 270, i16 0, i16 269, i16 264, i16 0, i16 263, i16 258, i16 0, i16 257, i16 252, i16 0, i16 251, i16 246, i16 0, i16 245, i16 240, i16 0, i16 239, i16 234, i16 0, i16 233, i16 228, i16 0, i16 227, i16 222, i16 0, i16 221, i16 216, i16 0, i16 215, i16 210, i16 0, i16 209, i16 204, i16 0, i16 203, i16 198, i16 0, i16 197, i16 192, i16 0, i16 191, i16 186, i16 0, i16 185, i16 180, i16 0, i16 179, i16 174, i16 0, i16 173, i16 168, i16 0, i16 167, i16 162, i16 0, i16 161, i16 156, i16 0, i16 155, i16 150, i16 0, i16 149, i16 144, i16 0, i16 143, i16 138, i16 0, i16 137, i16 132, i16 0, i16 131, i16 126, i16 0, i16 408, i16 0, i16 1, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 263, i16 1158, i16 0, i16 1159, i16 0, i16 2, i16 272, i16 1160, i16 0, i16 1161, i16 0, i16 2, i16 1375, i16 1163, i16 748, i16 1164, i16 749, i16 2, i16 1381, i16 1165, i16 750, i16 1166, i16 751, i16 2, i16 1392, i16 1167, i16 752, i16 1168, i16 753, i16 2, i16 1401, i16 1169, i16 754, i16 1170, i16 755, i16 1, i16 1156, i16 244, i16 0, i16 1157, i16 253, i16 0, i16 1162, i16 1370, i16 756, i16 1155, i16 22611, i16 1, i16 0, i16 1, i16 1171, i16 142, i16 0, i16 1172, i16 163, i16 0, i16 1173, i16 699, i16 757, i16 1174, i16 907, i16 758, i16 1175, i16 762, i16 759, i16 1176, i16 968, i16 760, i16 1155, i16 22611, i16 1, i16 0, i16 1, i16 1177, i16 306, i16 0, i16 1178, i16 1512, i16 761, i16 1179, i16 1576, i16 762, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 145, i16 900, i16 0, i16 1183, i16 0, i16 901, i16 0, i16 902, i16 0, i16 903, i16 0, i16 2, i16 636, i16 1196, i16 763, i16 974, i16 764, i16 2, i16 845, i16 1197, i16 765, i16 1014, i16 766, i16 2, i16 712, i16 992, i16 767, i16 990, i16 768, i16 2, i16 920, i16 1030, i16 769, i16 1032, i16 770, i16 2, i16 749, i16 995, i16 771, i16 994, i16 772, i16 2, i16 956, i16 1035, i16 773, i16 1034, i16 774, i16 2, i16 762, i16 1198, i16 775, i16 996, i16 775, i16 2, i16 968, i16 1199, i16 776, i16 1036, i16 776, i16 1, i16 1180, i16 121, i16 0, i16 1181, i16 127, i16 0, i16 1182, i16 142, i16 0, i16 1184, i16 161, i16 0, i16 1185, i16 163, i16 0, i16 1186, i16 173, i16 0, i16 1187, i16 178, i16 0, i16 1188, i16 303, i16 0, i16 1189, i16 309, i16 0, i16 1190, i16 322, i16 0, i16 1191, i16 327, i16 0, i16 1192, i16 330, i16 0, i16 1193, i16 340, i16 0, i16 1194, i16 343, i16 0, i16 1195, i16 346, i16 0, i16 978, i16 656, i16 777, i16 1018, i16 864, i16 778, i16 985, i16 699, i16 779, i16 1025, i16 907, i16 780, i16 1001, i16 787, i16 781, i16 1041, i16 992, i16 782, i16 1004, i16 809, i16 783, i16 1043, i16 1013, i16 784, i16 1200, i16 1506, i16 785, i16 1201, i16 1570, i16 786, i16 1202, i16 1514, i16 787, i16 1203, i16 1579, i16 788, i16 1204, i16 1532, i16 789, i16 1205, i16 1597, i16 790, i16 1206, i16 1538, i16 791, i16 1207, i16 1603, i16 792, i16 1208, i16 1541, i16 793, i16 1209, i16 1606, i16 794, i16 1210, i16 1549, i16 795, i16 1211, i16 1614, i16 796, i16 1212, i16 1553, i16 797, i16 1213, i16 1618, i16 798, i16 1214, i16 1556, i16 799, i16 1215, i16 1621, i16 800, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 749, i16 1219, i16 801, i16 1220, i16 802, i16 2, i16 956, i16 1221, i16 803, i16 1222, i16 804, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1218, i16 161, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 12, i16 22611, i16 1223, i16 805, i16 1224, i16 805, i16 1225, i16 805, i16 1226, i16 805, i16 1227, i16 805, i16 1228, i16 805, i16 1229, i16 805, i16 1230, i16 805, i16 1231, i16 805, i16 1232, i16 805, i16 1233, i16 805, i16 1234, i16 805, i16 1, i16 1155, i16 22623, i16 1, i16 0, i16 1, i16 1188, i16 303, i16 0, i16 1235, i16 316, i16 0, i16 1236, i16 322, i16 0, i16 1237, i16 338, i16 0, i16 1238, i16 343, i16 0, i16 1239, i16 346, i16 0, i16 1200, i16 1506, i16 785, i16 1201, i16 1570, i16 786, i16 1240, i16 1524, i16 806, i16 1241, i16 1588, i16 807, i16 1242, i16 1532, i16 808, i16 1243, i16 1597, i16 809, i16 1244, i16 1549, i16 810, i16 1245, i16 1614, i16 811, i16 1246, i16 1553, i16 812, i16 1247, i16 1618, i16 813, i16 1248, i16 1556, i16 814, i16 1249, i16 1621, i16 815, i16 1155, i16 22611, i16 1, i16 0, i16 4, i16 189, i16 1250, i16 0, i16 1251, i16 0, i16 1252, i16 0, i16 1253, i16 0, i16 3, i16 645, i16 974, i16 816, i16 975, i16 817, i16 977, i16 818, i16 2, i16 769, i16 996, i16 819, i16 997, i16 820, i16 3, i16 853, i16 1014, i16 821, i16 1015, i16 822, i16 1017, i16 823, i16 2, i16 974, i16 1036, i16 824, i16 1037, i16 825, i16 1, i16 895, i16 53, i16 0, i16 1046, i16 1026, i16 826, i16 1007, i16 822, i16 827, i16 1004, i16 813, i16 828, i16 1043, i16 1017, i16 829, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 127, i16 1254, i16 0, i16 1255, i16 0, i16 898, i16 0, i16 1256, i16 0, i16 1257, i16 0, i16 2, i16 656, i16 979, i16 830, i16 981, i16 831, i16 2, i16 864, i16 1019, i16 832, i16 1021, i16 833, i16 3, i16 670, i16 1262, i16 834, i16 1263, i16 835, i16 984, i16 836, i16 3, i16 878, i16 1264, i16 837, i16 1265, i16 838, i16 1024, i16 839, i16 2, i16 736, i16 1266, i16 840, i16 1267, i16 841, i16 2, i16 943, i16 1268, i16 842, i16 1269, i16 843, i16 2, i16 749, i16 1270, i16 844, i16 1271, i16 845, i16 2, i16 956, i16 1272, i16 846, i16 1273, i16 847, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1258, i16 158, i16 0, i16 1259, i16 161, i16 0, i16 1260, i16 173, i16 0, i16 1261, i16 189, i16 0, i16 1000, i16 787, i16 848, i16 1040, i16 992, i16 849, i16 1008, i16 834, i16 850, i16 1047, i16 1038, i16 851, i16 1155, i16 22611, i16 1, i16 0, i16 4, i16 121, i16 1274, i16 0, i16 1275, i16 0, i16 1276, i16 0, i16 1277, i16 0, i16 4, i16 127, i16 1255, i16 0, i16 1278, i16 0, i16 1279, i16 0, i16 1280, i16 0, i16 2, i16 133, i16 1281, i16 0, i16 1282, i16 0, i16 2, i16 142, i16 1284, i16 0, i16 1285, i16 0, i16 2, i16 173, i16 1287, i16 0, i16 1260, i16 0, i16 5, i16 194, i16 1288, i16 0, i16 1253, i16 0, i16 1250, i16 0, i16 1289, i16 0, i16 1252, i16 0, i16 4, i16 636, i16 971, i16 852, i16 970, i16 853, i16 972, i16 854, i16 973, i16 855, i16 4, i16 845, i16 1011, i16 856, i16 1010, i16 857, i16 1012, i16 858, i16 1013, i16 859, i16 2, i16 656, i16 978, i16 860, i16 981, i16 861, i16 2, i16 864, i16 1018, i16 862, i16 1021, i16 863, i16 2, i16 667, i16 1290, i16 864, i16 1291, i16 865, i16 2, i16 875, i16 1292, i16 864, i16 1293, i16 866, i16 2, i16 670, i16 983, i16 867, i16 984, i16 868, i16 2, i16 878, i16 1023, i16 869, i16 1024, i16 870, i16 2, i16 709, i16 1295, i16 871, i16 1296, i16 872, i16 2, i16 917, i16 1297, i16 871, i16 1298, i16 872, i16 3, i16 992, i16 1002, i16 873, i16 1000, i16 874, i16 1040, i16 875, i16 3, i16 645, i16 974, i16 876, i16 975, i16 817, i16 977, i16 877, i16 2, i16 769, i16 996, i16 819, i16 997, i16 820, i16 3, i16 853, i16 1014, i16 878, i16 1015, i16 822, i16 1017, i16 879, i16 2, i16 974, i16 1036, i16 824, i16 1037, i16 825, i16 1, i16 889, i16 16, i16 0, i16 1283, i16 138, i16 0, i16 1286, i16 156, i16 0, i16 1294, i16 696, i16 880, i16 1299, i16 734, i16 881, i16 1300, i16 941, i16 882, i16 1004, i16 813, i16 828, i16 1043, i16 1017, i16 829, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 46, i16 897, i16 0, i16 896, i16 0, i16 2, i16 121, i16 1301, i16 0, i16 1302, i16 0, i16 2, i16 636, i16 972, i16 883, i16 976, i16 884, i16 2, i16 845, i16 1012, i16 885, i16 1016, i16 886, i16 2, i16 787, i16 1305, i16 781, i16 1001, i16 781, i16 2, i16 992, i16 1306, i16 781, i16 1041, i16 782, i16 2, i16 799, i16 1307, i16 887, i16 1003, i16 887, i16 2, i16 1003, i16 1308, i16 887, i16 1042, i16 888, i16 1, i16 1303, i16 152, i16 0, i16 1186, i16 173, i16 0, i16 1304, i16 176, i16 0, i16 991, i16 717, i16 889, i16 1031, i16 925, i16 890, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 699, i16 1315, i16 891, i16 1316, i16 892, i16 2, i16 907, i16 1317, i16 893, i16 1318, i16 894, i16 2, i16 717, i16 1319, i16 895, i16 1320, i16 896, i16 2, i16 925, i16 1321, i16 897, i16 1322, i16 898, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1309, i16 127, i16 0, i16 1310, i16 138, i16 0, i16 1311, i16 142, i16 0, i16 1312, i16 145, i16 0, i16 1313, i16 152, i16 0, i16 1314, i16 187, i16 0, i16 982, i16 656, i16 899, i16 1022, i16 864, i16 900, i16 987, i16 696, i16 901, i16 1027, i16 904, i16 902, i16 989, i16 712, i16 903, i16 1029, i16 920, i16 904, i16 1009, i16 829, i16 905, i16 1048, i16 1033, i16 906, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 749, i16 1219, i16 907, i16 1220, i16 908, i16 2, i16 956, i16 1221, i16 909, i16 1222, i16 910, i16 2, i16 824, i16 1325, i16 911, i16 1326, i16 912, i16 2, i16 1028, i16 1327, i16 913, i16 1328, i16 914, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1323, i16 161, i16 0, i16 1324, i16 184, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 76, i16 1632, i16 1329, i16 915, i16 1330, i16 915, i16 1331, i16 915, i16 1332, i16 915, i16 1333, i16 915, i16 1334, i16 915, i16 1335, i16 915, i16 1336, i16 915, i16 1337, i16 915, i16 1338, i16 915, i16 1339, i16 915, i16 1340, i16 915, i16 1341, i16 915, i16 1342, i16 915, i16 1343, i16 915, i16 1344, i16 915, i16 1345, i16 915, i16 1346, i16 915, i16 1347, i16 915, i16 1348, i16 915, i16 1349, i16 915, i16 1350, i16 915, i16 1351, i16 915, i16 1352, i16 915, i16 1353, i16 915, i16 1354, i16 915, i16 1355, i16 915, i16 1356, i16 915, i16 1357, i16 915, i16 1358, i16 915, i16 1359, i16 915, i16 1360, i16 915, i16 1361, i16 915, i16 1362, i16 915, i16 1363, i16 915, i16 1364, i16 915, i16 1365, i16 915, i16 1366, i16 915, i16 1367, i16 916, i16 1368, i16 916, i16 1369, i16 916, i16 1370, i16 916, i16 1371, i16 916, i16 1372, i16 916, i16 1373, i16 916, i16 1374, i16 916, i16 1375, i16 916, i16 1376, i16 916, i16 1377, i16 916, i16 1378, i16 916, i16 1379, i16 916, i16 1380, i16 916, i16 1381, i16 916, i16 1382, i16 916, i16 1383, i16 916, i16 1384, i16 916, i16 1385, i16 916, i16 1386, i16 916, i16 1387, i16 916, i16 1388, i16 916, i16 1389, i16 916, i16 1390, i16 916, i16 1391, i16 916, i16 1392, i16 916, i16 1393, i16 916, i16 1394, i16 916, i16 1395, i16 916, i16 1396, i16 916, i16 1397, i16 916, i16 1398, i16 916, i16 1399, i16 916, i16 1400, i16 916, i16 1401, i16 916, i16 1402, i16 916, i16 1403, i16 916, i16 1404, i16 916, i16 1, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 3, i16 1216, i16 0, i16 1405, i16 0, i16 1406, i16 0, i16 1407, i16 0, i16 1408, i16 0, i16 5, i16 16, i16 1217, i16 0, i16 1409, i16 0, i16 1410, i16 0, i16 1411, i16 0, i16 1412, i16 0, i16 2, i16 133, i16 1414, i16 0, i16 1415, i16 0, i16 4, i16 163, i16 996, i16 917, i16 998, i16 918, i16 1036, i16 919, i16 1038, i16 920, i16 4, i16 178, i16 1004, i16 921, i16 1006, i16 922, i16 1043, i16 923, i16 1045, i16 924, i16 6, i16 864, i16 1424, i16 925, i16 1425, i16 926, i16 1426, i16 927, i16 1427, i16 928, i16 1428, i16 929, i16 1429, i16 930, i16 6, i16 656, i16 1430, i16 931, i16 1431, i16 932, i16 1432, i16 933, i16 1433, i16 934, i16 1434, i16 935, i16 1435, i16 936, i16 6, i16 878, i16 1436, i16 937, i16 1437, i16 938, i16 1438, i16 939, i16 1439, i16 940, i16 1440, i16 941, i16 1441, i16 942, i16 6, i16 670, i16 1442, i16 943, i16 1443, i16 944, i16 1444, i16 945, i16 1445, i16 946, i16 1446, i16 947, i16 1447, i16 948, i16 12, i16 878, i16 1448, i16 949, i16 1449, i16 950, i16 1450, i16 951, i16 1451, i16 952, i16 1452, i16 953, i16 1453, i16 954, i16 1454, i16 955, i16 1455, i16 956, i16 1456, i16 953, i16 1457, i16 954, i16 1458, i16 955, i16 1459, i16 956, i16 12, i16 670, i16 1460, i16 957, i16 1461, i16 958, i16 1462, i16 959, i16 1463, i16 960, i16 1464, i16 961, i16 1465, i16 962, i16 1466, i16 963, i16 1467, i16 964, i16 1468, i16 961, i16 1469, i16 962, i16 1470, i16 963, i16 1471, i16 964, i16 6, i16 907, i16 1472, i16 965, i16 1473, i16 966, i16 1474, i16 967, i16 1475, i16 968, i16 1476, i16 969, i16 1477, i16 970, i16 6, i16 699, i16 1478, i16 971, i16 1479, i16 972, i16 1480, i16 973, i16 1481, i16 974, i16 1482, i16 975, i16 1483, i16 976, i16 6, i16 943, i16 1484, i16 977, i16 1485, i16 978, i16 1486, i16 979, i16 1487, i16 980, i16 1488, i16 981, i16 1489, i16 982, i16 6, i16 736, i16 1490, i16 983, i16 1491, i16 984, i16 1492, i16 985, i16 1493, i16 986, i16 1494, i16 987, i16 1495, i16 988, i16 6, i16 956, i16 1496, i16 989, i16 1497, i16 990, i16 1498, i16 991, i16 1499, i16 992, i16 1500, i16 993, i16 1501, i16 994, i16 6, i16 749, i16 1502, i16 995, i16 1503, i16 996, i16 1504, i16 997, i16 1505, i16 998, i16 1506, i16 999, i16 1507, i16 1000, i16 6, i16 992, i16 1508, i16 1001, i16 1509, i16 1002, i16 1510, i16 1003, i16 1511, i16 1004, i16 1512, i16 1005, i16 1513, i16 1006, i16 6, i16 787, i16 1514, i16 1007, i16 1515, i16 1008, i16 1516, i16 1009, i16 1517, i16 1010, i16 1518, i16 1011, i16 1519, i16 1012, i16 6, i16 1003, i16 1520, i16 1013, i16 1521, i16 1014, i16 1522, i16 1015, i16 1523, i16 1016, i16 1524, i16 1017, i16 1525, i16 1018, i16 6, i16 799, i16 1526, i16 1019, i16 1527, i16 1020, i16 1528, i16 1021, i16 1529, i16 1022, i16 1530, i16 1023, i16 1531, i16 1024, i16 6, i16 1038, i16 1532, i16 1025, i16 1533, i16 1026, i16 1534, i16 1027, i16 1535, i16 1028, i16 1536, i16 1029, i16 1537, i16 1030, i16 6, i16 834, i16 1538, i16 1031, i16 1539, i16 1032, i16 1540, i16 1033, i16 1541, i16 1034, i16 1542, i16 1035, i16 1543, i16 1036, i16 1, i16 1413, i16 127, i16 0, i16 1416, i16 142, i16 0, i16 1417, i16 158, i16 0, i16 1418, i16 161, i16 0, i16 1419, i16 163, i16 0, i16 1420, i16 173, i16 0, i16 1421, i16 176, i16 0, i16 1422, i16 178, i16 0, i16 1423, i16 189, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 9, i16 31, i16 890, i16 0, i16 892, i16 0, i16 1544, i16 0, i16 891, i16 0, i16 1545, i16 0, i16 1546, i16 0, i16 1547, i16 0, i16 893, i16 0, i16 894, i16 0, i16 2, i16 42, i16 1548, i16 0, i16 1549, i16 0, i16 3, i16 194, i16 1550, i16 0, i16 906, i16 0, i16 905, i16 0, i16 2, i16 238, i16 907, i16 0, i16 1551, i16 0, i16 16, i16 482, i16 961, i16 1037, i16 962, i16 1037, i16 963, i16 1037, i16 967, i16 1037, i16 968, i16 1037, i16 969, i16 1037, i16 964, i16 1037, i16 965, i16 1037, i16 966, i16 1037, i16 954, i16 1037, i16 955, i16 1037, i16 956, i16 1037, i16 959, i16 1037, i16 960, i16 1037, i16 957, i16 1037, i16 958, i16 1037, i16 4, i16 520, i16 1552, i16 1037, i16 1553, i16 1037, i16 1554, i16 1037, i16 1555, i16 1037, i16 35, i16 1049, i16 1050, i16 641, i16 1049, i16 642, i16 1052, i16 643, i16 1051, i16 644, i16 1054, i16 645, i16 1053, i16 646, i16 1056, i16 647, i16 1055, i16 648, i16 1058, i16 649, i16 1057, i16 650, i16 1060, i16 651, i16 1059, i16 652, i16 1062, i16 653, i16 1061, i16 654, i16 1064, i16 655, i16 1063, i16 656, i16 1066, i16 657, i16 1065, i16 658, i16 1068, i16 659, i16 1067, i16 660, i16 1070, i16 1038, i16 1556, i16 1038, i16 1073, i16 665, i16 1557, i16 1039, i16 1069, i16 661, i16 1071, i16 1040, i16 1558, i16 1040, i16 1072, i16 1041, i16 1559, i16 1041, i16 1079, i16 1042, i16 1560, i16 1042, i16 1081, i16 1043, i16 1561, i16 1044, i16 1562, i16 1045, i16 1563, i16 1043, i16 2, i16 1135, i16 1076, i16 667, i16 1075, i16 1046, i16 6, i16 1148, i16 1077, i16 669, i16 1074, i16 1047, i16 1078, i16 1048, i16 1564, i16 1049, i16 1080, i16 1050, i16 1082, i16 1051, i16 15, i16 1160, i16 1084, i16 1052, i16 1085, i16 1053, i16 1090, i16 1054, i16 1091, i16 1055, i16 1565, i16 1056, i16 1566, i16 1057, i16 1083, i16 1058, i16 1086, i16 1059, i16 1087, i16 1060, i16 1088, i16 1061, i16 1089, i16 1062, i16 1108, i16 1063, i16 1109, i16 1064, i16 1567, i16 1065, i16 1568, i16 1066, i16 8, i16 1276, i16 1098, i16 1067, i16 1099, i16 1068, i16 1100, i16 1069, i16 1101, i16 1070, i16 1094, i16 1071, i16 1095, i16 1072, i16 1096, i16 1073, i16 1097, i16 1074, i16 26, i16 1320, i16 1102, i16 1075, i16 1103, i16 1076, i16 1104, i16 1077, i16 1105, i16 1078, i16 1092, i16 1079, i16 1093, i16 1080, i16 1106, i16 1081, i16 1107, i16 1082, i16 1570, i16 1083, i16 1571, i16 1084, i16 1572, i16 1085, i16 1573, i16 1086, i16 1110, i16 1087, i16 1111, i16 1088, i16 1112, i16 1089, i16 1113, i16 1090, i16 1114, i16 1091, i16 1115, i16 1092, i16 1116, i16 1093, i16 1117, i16 1094, i16 1118, i16 1095, i16 1119, i16 1096, i16 1120, i16 1097, i16 1121, i16 1098, i16 1122, i16 1099, i16 1123, i16 1100, i16 1, i16 1569, i16 1229, i16 1101, i16 1155, i16 22611, i16 1, i16 0, i16 1, i16 1574, i16 127, i16 0, i16 1575, i16 142, i16 0, i16 1576, i16 145, i16 0, i16 1577, i16 154, i16 0, i16 1578, i16 173, i16 0, i16 1579, i16 178, i16 0, i16 1020, i16 864, i16 1102, i16 980, i16 656, i16 1103, i16 1026, i16 907, i16 1104, i16 986, i16 699, i16 1105, i16 1028, i16 920, i16 1106, i16 988, i16 712, i16 1107, i16 1033, i16 937, i16 1108, i16 993, i16 729, i16 1109, i16 1039, i16 992, i16 1110, i16 999, i16 787, i16 1111, i16 1044, i16 1013, i16 1112, i16 1005, i16 809, i16 1113, i16 1155, i16 22611, i16 1, i16 0, i16 3, i16 127, i16 1580, i16 0, i16 898, i16 0, i16 1581, i16 0, i16 3, i16 138, i16 1582, i16 0, i16 899, i16 0, i16 1583, i16 0, i16 2, i16 656, i16 1588, i16 1114, i16 1589, i16 1115, i16 2, i16 864, i16 1590, i16 1116, i16 1591, i16 1117, i16 2, i16 670, i16 1592, i16 1118, i16 1593, i16 1119, i16 2, i16 878, i16 1594, i16 1120, i16 1595, i16 1121, i16 2, i16 696, i16 1596, i16 1122, i16 1597, i16 1123, i16 2, i16 904, i16 1598, i16 1124, i16 1599, i16 1125, i16 2, i16 699, i16 1219, i16 1126, i16 1220, i16 1127, i16 2, i16 907, i16 1221, i16 1128, i16 1222, i16 1129, i16 2, i16 736, i16 1600, i16 1130, i16 1601, i16 1131, i16 2, i16 943, i16 1602, i16 1132, i16 1603, i16 1133, i16 2, i16 777, i16 1604, i16 1134, i16 1605, i16 1135, i16 2, i16 982, i16 1606, i16 1136, i16 1607, i16 1137, i16 2, i16 781, i16 1608, i16 1138, i16 1609, i16 1139, i16 2, i16 986, i16 1610, i16 1140, i16 1611, i16 1141, i16 2, i16 799, i16 1612, i16 1142, i16 1613, i16 1143, i16 2, i16 1003, i16 1614, i16 1144, i16 1615, i16 1145, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1584, i16 158, i16 0, i16 1585, i16 168, i16 0, i16 1586, i16 171, i16 0, i16 1587, i16 176, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 127, i16 1254, i16 0, i16 1255, i16 0, i16 898, i16 0, i16 1256, i16 0, i16 1257, i16 0, i16 2, i16 656, i16 979, i16 830, i16 981, i16 831, i16 2, i16 864, i16 1019, i16 832, i16 1021, i16 833, i16 3, i16 670, i16 1262, i16 834, i16 1263, i16 835, i16 984, i16 836, i16 5, i16 878, i16 1264, i16 837, i16 1265, i16 838, i16 1024, i16 839, i16 1266, i16 840, i16 1267, i16 841, i16 2, i16 943, i16 1268, i16 842, i16 1269, i16 843, i16 2, i16 749, i16 1270, i16 844, i16 1271, i16 845, i16 2, i16 956, i16 1272, i16 846, i16 1273, i16 847, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1258, i16 158, i16 0, i16 1259, i16 161, i16 0, i16 1260, i16 173, i16 0, i16 1261, i16 189, i16 0, i16 1000, i16 787, i16 848, i16 1040, i16 992, i16 849, i16 1008, i16 834, i16 850, i16 1047, i16 1038, i16 851, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 127, i16 1616, i16 0, i16 1617, i16 0, i16 4, i16 656, i16 1588, i16 1146, i16 1589, i16 1147, i16 1618, i16 1148, i16 1619, i16 1149, i16 4, i16 864, i16 1590, i16 1150, i16 1591, i16 1151, i16 1620, i16 1152, i16 1621, i16 1153, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 46, i16 74, i16 908, i16 0, i16 909, i16 0, i16 910, i16 0, i16 911, i16 0, i16 912, i16 0, i16 913, i16 0, i16 914, i16 0, i16 915, i16 0, i16 916, i16 0, i16 917, i16 0, i16 918, i16 0, i16 919, i16 0, i16 920, i16 0, i16 921, i16 0, i16 922, i16 0, i16 923, i16 0, i16 924, i16 0, i16 925, i16 0, i16 926, i16 0, i16 927, i16 0, i16 928, i16 0, i16 929, i16 0, i16 930, i16 0, i16 931, i16 0, i16 932, i16 0, i16 933, i16 0, i16 934, i16 0, i16 935, i16 0, i16 936, i16 0, i16 937, i16 0, i16 938, i16 0, i16 939, i16 0, i16 940, i16 0, i16 941, i16 0, i16 942, i16 0, i16 943, i16 0, i16 944, i16 0, i16 945, i16 0, i16 946, i16 0, i16 947, i16 0, i16 948, i16 0, i16 949, i16 0, i16 950, i16 0, i16 951, i16 0, i16 952, i16 0, i16 953, i16 0, i16 3, i16 1508, i16 1125, i16 1154, i16 1136, i16 1155, i16 1128, i16 1156, i16 3, i16 1514, i16 1126, i16 1157, i16 1127, i16 1158, i16 1138, i16 1159, i16 3, i16 1524, i16 1144, i16 1160, i16 1130, i16 1161, i16 1137, i16 1162, i16 3, i16 1572, i16 1140, i16 1163, i16 1152, i16 1164, i16 1143, i16 1165, i16 3, i16 1579, i16 1141, i16 1166, i16 1142, i16 1167, i16 1154, i16 1168, i16 3, i16 1588, i16 1129, i16 1169, i16 1145, i16 1170, i16 1153, i16 1171, i16 1, i16 1124, i16 1506, i16 1172, i16 1133, i16 1532, i16 1173, i16 1131, i16 1534, i16 1174, i16 1132, i16 1538, i16 1175, i16 1135, i16 1549, i16 1176, i16 1134, i16 1556, i16 1177, i16 1139, i16 1570, i16 1178, i16 1146, i16 1594, i16 1179, i16 1149, i16 1597, i16 1180, i16 1147, i16 1599, i16 1181, i16 1148, i16 1603, i16 1182, i16 1151, i16 1614, i16 1183, i16 1150, i16 1621, i16 1184, i16 1155, i16 22611, i16 1, i16 0, i16 6, i16 145, i16 904, i16 0, i16 900, i16 0, i16 1183, i16 0, i16 901, i16 0, i16 902, i16 0, i16 903, i16 0, i16 2, i16 712, i16 992, i16 767, i16 990, i16 768, i16 2, i16 920, i16 1030, i16 769, i16 1032, i16 770, i16 1, i16 1181, i16 127, i16 0, i16 1180, i16 136, i16 0, i16 1182, i16 142, i16 0, i16 1622, i16 163, i16 0, i16 1186, i16 173, i16 0, i16 1187, i16 178, i16 0, i16 1188, i16 303, i16 0, i16 1189, i16 309, i16 0, i16 1190, i16 322, i16 0, i16 1192, i16 330, i16 0, i16 1193, i16 340, i16 0, i16 1194, i16 343, i16 0, i16 1195, i16 346, i16 0, i16 978, i16 656, i16 777, i16 1018, i16 864, i16 778, i16 1196, i16 686, i16 763, i16 1197, i16 894, i16 765, i16 985, i16 699, i16 779, i16 1025, i16 907, i16 780, i16 996, i16 762, i16 1185, i16 1036, i16 968, i16 1186, i16 1001, i16 787, i16 781, i16 1041, i16 992, i16 782, i16 1004, i16 809, i16 783, i16 1043, i16 1013, i16 784, i16 1200, i16 1506, i16 785, i16 1201, i16 1570, i16 786, i16 1202, i16 1514, i16 787, i16 1203, i16 1579, i16 788, i16 1204, i16 1532, i16 789, i16 1205, i16 1597, i16 790, i16 1208, i16 1541, i16 793, i16 1209, i16 1606, i16 794, i16 1210, i16 1549, i16 795, i16 1211, i16 1614, i16 796, i16 1212, i16 1553, i16 797, i16 1213, i16 1618, i16 798, i16 1214, i16 1556, i16 799, i16 1215, i16 1621, i16 800, i16 1155, i16 22611, i16 1, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 877, i16 1780, i16 1190, i16 1781, i16 1833, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 990, i16 1792, i16 1190, i16 1793, i16 1844, i16 3, i16 1009, i16 1794, i16 1845, i16 1795, i16 1846, i16 1796, i16 1847, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 4, i16 1206, i16 1828, i16 1190, i16 1829, i16 1878, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1266, i16 1838, i16 1190, i16 1839, i16 1887, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 8, i16 1361, i16 1848, i16 1190, i16 1849, i16 1896, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1803, i16 1075, i16 1925, i16 0, i16 2, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 20, i16 1370, i16 1850, i16 1934, i16 1851, i16 1935, i16 1852, i16 1936, i16 1853, i16 1937, i16 1854, i16 1938, i16 1855, i16 1939, i16 1856, i16 1934, i16 1857, i16 1940, i16 1858, i16 1941, i16 1859, i16 1942, i16 1860, i16 1943, i16 1861, i16 1944, i16 1862, i16 1945, i16 1863, i16 1946, i16 1864, i16 1947, i16 1865, i16 1948, i16 1866, i16 1949, i16 1867, i16 1950, i16 1868, i16 1951, i16 1869, i16 1952, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 7, i16 1418, i16 1874, i16 1187, i16 1848, i16 1953, i16 1849, i16 1954, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 20, i16 1440, i16 1760, i16 1190, i16 1761, i16 1955, i16 1762, i16 1956, i16 1763, i16 1957, i16 1764, i16 1190, i16 1765, i16 1958, i16 1770, i16 1959, i16 1771, i16 1960, i16 1772, i16 1959, i16 1773, i16 1961, i16 1774, i16 1959, i16 1775, i16 1962, i16 1828, i16 1190, i16 1829, i16 1878, i16 1822, i16 1963, i16 1823, i16 1964, i16 1824, i16 1963, i16 1825, i16 1965, i16 1820, i16 1966, i16 1821, i16 1967, i16 27, i16 2011, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 1, i16 1696, i16 1, i16 1187, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 877, i16 1778, i16 1968, i16 1779, i16 1846, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1836, i16 1971, i16 1837, i16 1846, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 2, i16 1429, i16 1881, i16 1923, i16 1882, i16 1924, i16 2, i16 1440, i16 1879, i16 1974, i16 1880, i16 1846, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 2, i16 836, i16 1768, i16 1821, i16 1769, i16 1822, i16 8, i16 843, i16 1766, i16 1190, i16 1767, i16 1975, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 877, i16 1776, i16 1190, i16 1777, i16 1976, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 2, i16 944, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 955, i16 1786, i16 1190, i16 1787, i16 1977, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 2, i16 1088, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1099, i16 1804, i16 1190, i16 1805, i16 1978, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 4, i16 1132, i16 1808, i16 1190, i16 1809, i16 1979, i16 1814, i16 1864, i16 1815, i16 1865, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 4, i16 1206, i16 1816, i16 1190, i16 1817, i16 1980, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1834, i16 1190, i16 1835, i16 1981, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 3, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 2, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 4, i16 1440, i16 1877, i16 1190, i16 1878, i16 1982, i16 1881, i16 1190, i16 1882, i16 1983, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 9, i16 1418, i16 1874, i16 1187, i16 1848, i16 1984, i16 1849, i16 1985, i16 1844, i16 1984, i16 1845, i16 1986, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 24, i16 1440, i16 1770, i16 1190, i16 1771, i16 1987, i16 1772, i16 1988, i16 1773, i16 1989, i16 1774, i16 1990, i16 1775, i16 1991, i16 1764, i16 1992, i16 1765, i16 1993, i16 1822, i16 1190, i16 1823, i16 1994, i16 1824, i16 1995, i16 1825, i16 1996, i16 1828, i16 1997, i16 1829, i16 1998, i16 1818, i16 1999, i16 1819, i16 2000, i16 1760, i16 1190, i16 1761, i16 1955, i16 1883, i16 2001, i16 1884, i16 2002, i16 1885, i16 2003, i16 1886, i16 2004, i16 1762, i16 2001, i16 1763, i16 2005, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 2, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 8, i16 843, i16 1768, i16 1190, i16 1769, i16 2006, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 877, i16 1778, i16 1190, i16 1779, i16 2007, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 2, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 2, i16 955, i16 1788, i16 1190, i16 1789, i16 2008, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 990, i16 1790, i16 1190, i16 1791, i16 2009, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 7, i16 1046, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 1874, i16 1187, i16 1799, i16 1190, i16 1800, i16 2010, i16 3, i16 1075, i16 1801, i16 1190, i16 1802, i16 2011, i16 1803, i16 1925, i16 2, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 2, i16 1099, i16 1806, i16 1190, i16 1807, i16 2012, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 4, i16 1132, i16 1812, i16 1190, i16 1813, i16 2013, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 4, i16 1206, i16 1826, i16 1190, i16 1827, i16 2014, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1242, i16 1832, i16 1190, i16 1833, i16 2015, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1836, i16 1190, i16 1837, i16 2016, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 8, i16 1361, i16 1846, i16 1190, i16 1847, i16 2017, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1418, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 2, i16 1429, i16 1881, i16 1923, i16 1882, i16 1924, i16 2, i16 1440, i16 1879, i16 1190, i16 1880, i16 2018, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1046, i16 1870, i16 1190, i16 1871, i16 1915, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 2, i16 1400, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 81, i16 1697, i16 1712, i16 1698, i16 2019, i16 1699, i16 2019, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 898, i16 1887, i16 2020, i16 1888, i16 2021, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 9, i16 1418, i16 1874, i16 1187, i16 1848, i16 1984, i16 1849, i16 1985, i16 1844, i16 1984, i16 1845, i16 1986, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 24, i16 1440, i16 1770, i16 1190, i16 1771, i16 1987, i16 1772, i16 1988, i16 1773, i16 1989, i16 1774, i16 1990, i16 1775, i16 1991, i16 1764, i16 1992, i16 1765, i16 1993, i16 1822, i16 1190, i16 1823, i16 1994, i16 1824, i16 1995, i16 1825, i16 1996, i16 1828, i16 1997, i16 1829, i16 1998, i16 1818, i16 1999, i16 1819, i16 2000, i16 1760, i16 1190, i16 1761, i16 1955, i16 1883, i16 2001, i16 1884, i16 2002, i16 1885, i16 2003, i16 1886, i16 2004, i16 1762, i16 2001, i16 1763, i16 2005, i16 1, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1220, i16 2022, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1892, i16 1189, i16 1893, i16 1189, i16 1894, i16 1189, i16 3, i16 461, i16 1895, i16 1189, i16 1896, i16 1189, i16 1897, i16 1189, i16 3, i16 465, i16 1898, i16 1189, i16 1899, i16 1189, i16 1900, i16 1189, i16 3, i16 469, i16 1901, i16 1189, i16 1902, i16 1189, i16 1903, i16 1189, i16 2, i16 491, i16 1910, i16 1189, i16 1911, i16 1189, i16 2, i16 499, i16 1913, i16 1189, i16 1914, i16 1189, i16 29, i16 519, i16 1918, i16 1189, i16 1703, i16 1189, i16 1704, i16 1189, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 1717, i16 1189, i16 1718, i16 1189, i16 1719, i16 1189, i16 1720, i16 1189, i16 1721, i16 1189, i16 1722, i16 1189, i16 1723, i16 1189, i16 1724, i16 1189, i16 1725, i16 1189, i16 1726, i16 1189, i16 1727, i16 1189, i16 1728, i16 1189, i16 1729, i16 1189, i16 1730, i16 1189, i16 2, i16 753, i16 1919, i16 1189, i16 1920, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1759, i16 1846, i16 1758, i16 2023, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 898, i16 1888, i16 1846, i16 1887, i16 2024, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 955, i16 1785, i16 1846, i16 1784, i16 2025, i16 4, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 1921, i16 2026, i16 1922, i16 2027, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1046, i16 1798, i16 1846, i16 1797, i16 2028, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 2029, i16 1815, i16 2030, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 2, i16 1179, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1817, i16 1846, i16 1816, i16 2031, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 8, i16 1361, i16 1843, i16 1846, i16 1842, i16 2032, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 2, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 7, i16 1418, i16 1874, i16 1187, i16 1873, i16 1846, i16 1872, i16 2033, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 10, i16 1440, i16 1841, i16 1846, i16 1840, i16 2034, i16 1771, i16 1846, i16 1770, i16 2035, i16 1831, i16 2036, i16 1830, i16 2037, i16 1829, i16 1846, i16 1828, i16 2038, i16 1823, i16 2039, i16 1822, i16 2040, i16 4, i16 2011, i16 1923, i16 1744, i16 1924, i16 2041, i16 1925, i16 2042, i16 1926, i16 2043, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1702, i16 205, i16 1189, i16 1701, i16 221, i16 1189, i16 1700, i16 324, i16 1189, i16 1889, i16 371, i16 1189, i16 1890, i16 445, i16 1189, i16 1891, i16 447, i16 1189, i16 1904, i16 473, i16 1189, i16 1905, i16 476, i16 1189, i16 1906, i16 479, i16 1189, i16 1907, i16 481, i16 1189, i16 1908, i16 484, i16 1189, i16 1909, i16 487, i16 1189, i16 1912, i16 495, i16 1189, i16 1915, i16 503, i16 1189, i16 1916, i16 507, i16 1189, i16 1917, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 4, i16 877, i16 1778, i16 1190, i16 1779, i16 2007, i16 1776, i16 1190, i16 1777, i16 1976, i16 6, i16 898, i16 1927, i16 1190, i16 1928, i16 2044, i16 1929, i16 2045, i16 1930, i16 2046, i16 1782, i16 1190, i16 1783, i16 2047, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 4, i16 1099, i16 1931, i16 1190, i16 1932, i16 2048, i16 1933, i16 2049, i16 1934, i16 2050, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 6, i16 1132, i16 1935, i16 1190, i16 1936, i16 2051, i16 1937, i16 2052, i16 1938, i16 2053, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1836, i16 1190, i16 1837, i16 2016, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 2, i16 1429, i16 1881, i16 1923, i16 1882, i16 1924, i16 2, i16 1440, i16 1879, i16 1190, i16 1880, i16 2018, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 4, i16 1132, i16 1810, i16 1190, i16 1811, i16 2054, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 10, i16 1266, i16 1836, i16 2055, i16 1837, i16 2056, i16 1875, i16 2057, i16 1876, i16 2058, i16 1877, i16 2059, i16 1878, i16 2060, i16 1881, i16 2061, i16 1882, i16 2062, i16 1879, i16 2063, i16 1880, i16 2064, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 22, i16 1370, i16 1856, i16 2065, i16 1857, i16 2066, i16 1858, i16 2067, i16 1859, i16 2068, i16 1860, i16 2069, i16 1861, i16 2070, i16 1862, i16 2071, i16 1863, i16 2072, i16 1868, i16 2073, i16 1869, i16 2074, i16 1866, i16 2075, i16 1867, i16 2076, i16 1864, i16 2077, i16 1865, i16 2078, i16 1820, i16 2079, i16 1821, i16 2080, i16 1764, i16 2081, i16 1765, i16 2082, i16 1828, i16 2081, i16 1829, i16 2083, i16 1848, i16 2081, i16 1849, i16 2084, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 1874, i16 1418, i16 1187, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 4, i16 877, i16 1939, i16 1190, i16 1940, i16 2085, i16 1941, i16 2086, i16 1942, i16 2087, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 4, i16 1099, i16 1943, i16 1190, i16 1944, i16 2088, i16 1945, i16 2089, i16 1946, i16 2090, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 4, i16 1132, i16 1810, i16 1190, i16 1811, i16 2054, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 32766, i16 32766, i16 32766, i16 -2, i16 16384, i16 0, i16 16384, i16 -2, i16 16384, i16 0, i16 16384, i16 -16206, i16 16384, i16 0, i16 16384, i16 -16204, i16 16384, i16 0, i16 16384, i16 -16353, i16 16384, i16 0, i16 16384, i16 -16352, i16 16384, i16 0, i16 16384, i16 -16351, i16 16384, i16 0, i16 16384, i16 -16350, i16 16384, i16 0, i16 16384, i16 -16349, i16 16384, i16 0, i16 16384, i16 -16348, i16 16384, i16 0, i16 16384, i16 -16347, i16 16384, i16 0, i16 16384, i16 -16346, i16 16384, i16 0, i16 16384, i16 -16345, i16 16384, i16 0, i16 16384, i16 -16344, i16 16384, i16 0, i16 16384, i16 -16343, i16 16384, i16 0, i16 16384, i16 -16342, i16 16384, i16 0, i16 16384, i16 -16341, i16 16384, i16 0, i16 16384, i16 -15486, i16 16384, i16 0, i16 16384, i16 -16340, i16 16384, i16 0, i16 16384, i16 -16339, i16 16384, i16 0, i16 16384, i16 -15485, i16 16384, i16 0, i16 16384, i16 -16338, i16 16384, i16 0, i16 16384, i16 -15484, i16 16384, i16 0, i16 16384, i16 -15483, i16 16384, i16 0, i16 16384, i16 -15482, i16 16384, i16 0, i16 16384, i16 -16337, i16 16384, i16 0, i16 16384, i16 -16336, i16 16384, i16 0, i16 16384, i16 -16335, i16 16384, i16 0, i16 16384, i16 -16334, i16 16384, i16 0, i16 16384, i16 -16333, i16 16384, i16 0, i16 16384, i16 -15481, i16 16384, i16 0, i16 16384, i16 -16332, i16 16384, i16 0, i16 16384, i16 -16331, i16 16384, i16 0, i16 16384, i16 -16330, i16 16384, i16 0, i16 16384, i16 -16329, i16 16384, i16 0, i16 16384, i16 -16328, i16 16384, i16 0, i16 16384, i16 -16327, i16 16384, i16 0, i16 16384, i16 -15480, i16 16384, i16 0, i16 16384, i16 -16326, i16 16384, i16 0, i16 16384, i16 -16325, i16 16534, i16 14, i16 17273, i16 -16384, i16 16415, i16 14, i16 17273, i16 -16384, i16 16416, i16 14, i16 17273, i16 -16384, i16 16417, i16 14, i16 17273, i16 -16384, i16 16418, i16 14, i16 17273, i16 -16384, i16 16419, i16 14, i16 17273, i16 -16384, i16 16420, i16 14, i16 17273, i16 -16384, i16 16421, i16 14, i16 17273, i16 -16384, i16 16422, i16 14, i16 17273, i16 -16384, i16 16423, i16 14, i16 17273, i16 -16384, i16 16424, i16 14, i16 17273, i16 -16384, i16 16415, i16 17, i16 17273, i16 -16384, i16 16415, i16 896, i16 17273, i16 -16384, i16 16415, i16 897, i16 17273, i16 -16384, i16 16415, i16 19, i16 17273, i16 -16384, i16 16415, i16 21, i16 17273, i16 -16384, i16 16415, i16 18, i16 17273, i16 -16384, i16 16415, i16 20, i16 17273, i16 -16384, i16 16415, i16 14, i16 16392, i16 -16384, i16 16416, i16 14, i16 16392, i16 -16384, i16 16417, i16 14, i16 16392, i16 -16384, i16 16418, i16 14, i16 16392, i16 -16384, i16 16419, i16 14, i16 16392, i16 -16384, i16 16420, i16 14, i16 16392, i16 -16384, i16 16421, i16 14, i16 16392, i16 -16384, i16 16422, i16 14, i16 16392, i16 -16384, i16 16423, i16 14, i16 16392, i16 -16384, i16 16424, i16 14, i16 16392, i16 -16384, i16 16425, i16 14, i16 17273, i16 -16384, i16 16425, i16 15, i16 16392, i16 -16384, i16 16425, i16 26, i16 17273, i16 -16384, i16 16425, i16 27, i16 17273, i16 -16384, i16 16426, i16 14, i16 17273, i16 -16384, i16 16427, i16 14, i16 17273, i16 -16384, i16 17282, i16 14, i16 17273, i16 -16384, i16 17282, i16 18, i16 17273, i16 -16384, i16 16428, i16 14, i16 17273, i16 -16384, i16 16428, i16 16, i16 17273, i16 -16384, i16 16428, i16 17, i16 17273, i16 -16384, i16 16428, i16 897, i16 17273, i16 -16384, i16 16428, i16 20, i16 17273, i16 -16384, i16 16428, i16 18, i16 17273, i16 -16384, i16 16428, i16 23, i16 17273, i16 -16384, i16 16428, i16 26, i16 17273, i16 -16384, i16 16428, i16 27, i16 17273, i16 -16384, i16 16429, i16 14, i16 17273, i16 -16384, i16 17283, i16 14, i16 17273, i16 -16384, i16 17283, i16 25, i16 17273, i16 -16384, i16 16430, i16 14, i16 17273, i16 -16384, i16 17284, i16 16, i16 17273, i16 -16384, i16 17284, i16 17, i16 17273, i16 -16384, i16 17284, i16 20, i16 17273, i16 -16384, i16 17284, i16 22, i16 17273, i16 -16384, i16 17284, i16 26, i16 17273, i16 -16384, i16 17284, i16 27, i16 17273, i16 -16384, i16 18009, i16 1628, i16 18015, i16 -16384, i16 17285, i16 14, i16 17273, i16 -16384, i16 17286, i16 14, i16 17273, i16 -16384, i16 17286, i16 15, i16 17273, i16 -16384, i16 17286, i16 25, i16 17273, i16 -16384, i16 16431, i16 14, i16 17273, i16 -16384, i16 16431, i16 16, i16 17273, i16 -16384, i16 16431, i16 18, i16 17273, i16 -16384, i16 16431, i16 24, i16 17273, i16 -16384, i16 16431, i16 25, i16 17273, i16 -16384, i16 16431, i16 23, i16 17273, i16 -16384, i16 16432, i16 14, i16 17273, i16 -16384, i16 16433, i16 14, i16 17273, i16 -16384, i16 16433, i16 15, i16 17273, i16 -16384, i16 16433, i16 16, i16 17273, i16 -16384, i16 16433, i16 18, i16 17273, i16 -16384, i16 16433, i16 25, i16 17273, i16 -16384, i16 16434, i16 14, i16 17273, i16 -16384, i16 16434, i16 15, i16 16392, i16 -16384, i16 16434, i16 16, i16 17273, i16 -16384, i16 16434, i16 17, i16 17273, i16 -16384, i16 16434, i16 897, i16 17273, i16 -16384, i16 16434, i16 22, i16 17273, i16 -16384, i16 16434, i16 27, i16 17273, i16 -16384, i16 18018, i16 1628, i16 18015, i16 -16384, i16 16435, i16 14, i16 17273, i16 -16384, i16 17287, i16 14, i16 17273, i16 -16384, i16 16436, i16 14, i16 17273, i16 -16384, i16 16436, i16 16, i16 17273, i16 -16384, i16 16436, i16 18, i16 17273, i16 -16384, i16 16436, i16 25, i16 17273, i16 -16384, i16 16437, i16 14, i16 17273, i16 -16384, i16 16437, i16 16, i16 17273, i16 -16384, i16 16438, i16 14, i16 17273, i16 -16384, i16 16438, i16 18, i16 17273, i16 -16384, i16 16438, i16 24, i16 17273, i16 -16384, i16 16439, i16 14, i16 17273, i16 -16384, i16 16439, i16 16, i16 17273, i16 -16384, i16 16439, i16 17, i16 17273, i16 -16384, i16 16439, i16 897, i16 17273, i16 -16384, i16 16439, i16 19, i16 17273, i16 -16384, i16 16439, i16 22, i16 17273, i16 -16384, i16 16439, i16 26, i16 17273, i16 -16384, i16 16439, i16 27, i16 17273, i16 -16384, i16 16440, i16 14, i16 17273, i16 -16384, i16 16441, i16 897, i16 17273, i16 -16384, i16 17288, i16 14, i16 17273, i16 -16384, i16 16442, i16 14, i16 17273, i16 -16384, i16 16442, i16 16, i16 17273, i16 -16384, i16 16442, i16 20, i16 17273, i16 -16384, i16 16442, i16 897, i16 17273, i16 -16384, i16 16443, i16 14, i16 17273, i16 -16384, i16 16443, i16 16, i16 17273, i16 -16384, i16 16444, i16 14, i16 17273, i16 -16384, i16 16425, i16 14, i16 16393, i16 -16384, i16 16425, i16 26, i16 16393, i16 -16384, i16 16425, i16 27, i16 16393, i16 -16384, i16 16426, i16 14, i16 16393, i16 -16384, i16 16427, i16 14, i16 16393, i16 -16384, i16 17282, i16 14, i16 16393, i16 -16384, i16 17282, i16 18, i16 16393, i16 -16384, i16 16428, i16 14, i16 16393, i16 -16384, i16 16428, i16 16, i16 16393, i16 -16384, i16 16428, i16 17, i16 16393, i16 -16384, i16 16428, i16 897, i16 16393, i16 -16384, i16 16428, i16 20, i16 16393, i16 -16384, i16 16428, i16 18, i16 16393, i16 -16384, i16 16428, i16 23, i16 16393, i16 -16384, i16 16428, i16 26, i16 16393, i16 -16384, i16 16428, i16 27, i16 16393, i16 -16384, i16 16429, i16 14, i16 16393, i16 -16384, i16 17283, i16 14, i16 16393, i16 -16384, i16 17283, i16 25, i16 16393, i16 -16384, i16 16430, i16 14, i16 16393, i16 -16384, i16 17284, i16 16, i16 16393, i16 -16384, i16 17284, i16 17, i16 16393, i16 -16384, i16 17284, i16 20, i16 16393, i16 -16384, i16 17284, i16 22, i16 16393, i16 -16384, i16 17284, i16 26, i16 16393, i16 -16384, i16 17284, i16 27, i16 16393, i16 -16384, i16 18009, i16 1628, i16 18021, i16 -16384, i16 17285, i16 14, i16 16393, i16 -16384, i16 17286, i16 14, i16 16393, i16 -16384, i16 17286, i16 25, i16 16393, i16 -16384, i16 16431, i16 14, i16 16393, i16 -16384, i16 16431, i16 16, i16 16393, i16 -16384, i16 16431, i16 18, i16 16393, i16 -16384, i16 16431, i16 24, i16 16393, i16 -16384, i16 16431, i16 25, i16 16393, i16 -16384, i16 16431, i16 23, i16 16393, i16 -16384, i16 16432, i16 14, i16 16393, i16 -16384, i16 16433, i16 14, i16 16393, i16 -16384, i16 16433, i16 16, i16 16393, i16 -16384, i16 16433, i16 18, i16 16393, i16 -16384, i16 16433, i16 25, i16 16393, i16 -16384, i16 16434, i16 14, i16 16393, i16 -16384, i16 16434, i16 16, i16 16393, i16 -16384, i16 16434, i16 17, i16 16393, i16 -16384, i16 16434, i16 897, i16 16393, i16 -16384, i16 16434, i16 22, i16 16393, i16 -16384, i16 16434, i16 27, i16 16393, i16 -16384, i16 18018, i16 1628, i16 18021, i16 -16384, i16 16435, i16 14, i16 16393, i16 -16384, i16 17287, i16 14, i16 16393, i16 -16384, i16 16436, i16 14, i16 16393, i16 -16384, i16 16436, i16 16, i16 16393, i16 -16384, i16 16436, i16 18, i16 16393, i16 -16384, i16 16436, i16 25, i16 16393, i16 -16384, i16 16437, i16 14, i16 16393, i16 -16384, i16 16437, i16 16, i16 16393, i16 -16384, i16 16438, i16 14, i16 16393, i16 -16384, i16 16438, i16 18, i16 16393, i16 -16384, i16 16438, i16 24, i16 16393, i16 -16384, i16 16439, i16 14, i16 16393, i16 -16384, i16 16439, i16 16, i16 16393, i16 -16384, i16 16439, i16 17, i16 16393, i16 -16384, i16 16439, i16 897, i16 16393, i16 -16384, i16 16439, i16 19, i16 16393, i16 -16384, i16 16439, i16 22, i16 16393, i16 -16384, i16 16439, i16 26, i16 16393, i16 -16384, i16 16439, i16 27, i16 16393, i16 -16384, i16 16440, i16 14, i16 16393, i16 -16384, i16 16441, i16 897, i16 16393, i16 -16384, i16 17288, i16 14, i16 16393, i16 -16384, i16 16442, i16 14, i16 16393, i16 -16384, i16 16442, i16 16, i16 16393, i16 -16384, i16 16442, i16 897, i16 16393, i16 -16384, i16 16442, i16 20, i16 16393, i16 -16384, i16 16443, i16 14, i16 16393, i16 -16384, i16 16443, i16 16, i16 16393, i16 -16384, i16 16444, i16 14, i16 16393, i16 -16384, i16 16445, i16 16398, i16 17273, i16 -16384, i16 16446, i16 16398, i16 17273, i16 -16384, i16 16448, i16 16398, i16 17273, i16 -16384, i16 16449, i16 16398, i16 17273, i16 -16384, i16 16450, i16 16398, i16 17273, i16 -16384, i16 16451, i16 16398, i16 17273, i16 -16384, i16 16452, i16 16398, i16 17273, i16 -16384, i16 16453, i16 16398, i16 17273, i16 -16384, i16 16454, i16 16398, i16 17273, i16 -16384, i16 16455, i16 16398, i16 17273, i16 -16384, i16 16456, i16 16398, i16 17273, i16 -16384, i16 16457, i16 16398, i16 17273, i16 -16384, i16 16458, i16 16398, i16 17273, i16 -16384, i16 16459, i16 16398, i16 17273, i16 -16384, i16 16460, i16 16398, i16 17273, i16 -16384, i16 16461, i16 16398, i16 17273, i16 -16384, i16 16462, i16 16398, i16 17273, i16 -16384, i16 16463, i16 16398, i16 17273, i16 -16384, i16 16464, i16 16398, i16 17273, i16 -16384, i16 16465, i16 16398, i16 17273, i16 -16384, i16 16466, i16 16398, i16 17273, i16 -16384, i16 16467, i16 16398, i16 17273, i16 -16384, i16 16468, i16 16398, i16 17273, i16 -16384, i16 16469, i16 16398, i16 17273, i16 -16384, i16 16470, i16 16398, i16 17273, i16 -16384, i16 16471, i16 16398, i16 17273, i16 -16384, i16 16474, i16 16398, i16 17273, i16 -16384, i16 16475, i16 16398, i16 17273, i16 -16384, i16 16476, i16 16398, i16 17273, i16 -16384, i16 16477, i16 16398, i16 17273, i16 -16384, i16 16478, i16 16398, i16 17273, i16 -16384, i16 16480, i16 16398, i16 17273, i16 -16384, i16 16482, i16 17278, i16 17273, i16 -16384, i16 16482, i16 16398, i16 17273, i16 -16384, i16 61, i16 14, i16 3, i16 -16384, i16 61, i16 14, i16 4, i16 -16384, i16 61, i16 14, i16 5, i16 -16384, i16 61, i16 14, i16 6, i16 -16384, i16 62, i16 14, i16 3, i16 -16384, i16 62, i16 14, i16 4, i16 -16384, i16 62, i16 14, i16 5, i16 -16384, i16 62, i16 14, i16 6, i16 -16384, i16 64, i16 14, i16 3, i16 -16384, i16 64, i16 14, i16 4, i16 -16384, i16 64, i16 14, i16 5, i16 -16384, i16 64, i16 14, i16 6, i16 -16384, i16 65, i16 14, i16 3, i16 -16384, i16 65, i16 14, i16 4, i16 -16384, i16 65, i16 14, i16 5, i16 -16384, i16 65, i16 14, i16 6, i16 -16384, i16 66, i16 14, i16 3, i16 -16384, i16 66, i16 14, i16 4, i16 -16384, i16 66, i16 14, i16 5, i16 -16384, i16 66, i16 14, i16 6, i16 -16384, i16 67, i16 14, i16 3, i16 -16384, i16 67, i16 14, i16 4, i16 -16384, i16 67, i16 14, i16 5, i16 -16384, i16 67, i16 14, i16 6, i16 -16384, i16 68, i16 14, i16 3, i16 -16384, i16 68, i16 14, i16 4, i16 -16384, i16 68, i16 14, i16 5, i16 -16384, i16 68, i16 14, i16 6, i16 -16384, i16 69, i16 14, i16 3, i16 -16384, i16 69, i16 14, i16 4, i16 -16384, i16 69, i16 14, i16 5, i16 -16384, i16 69, i16 14, i16 6, i16 -16384, i16 70, i16 14, i16 3, i16 -16384, i16 70, i16 14, i16 4, i16 -16384, i16 70, i16 14, i16 5, i16 -16384, i16 70, i16 14, i16 6, i16 -16384, i16 71, i16 14, i16 3, i16 -16384, i16 71, i16 14, i16 4, i16 -16384, i16 72, i16 14, i16 3, i16 -16384, i16 72, i16 14, i16 4, i16 -16384, i16 73, i16 14, i16 3, i16 -16384, i16 73, i16 14, i16 4, i16 -16384, i16 74, i16 14, i16 3, i16 -16384, i16 74, i16 14, i16 4, i16 -16384, i16 75, i16 14, i16 3, i16 -16384, i16 75, i16 14, i16 4, i16 -16384, i16 76, i16 14, i16 3, i16 -16384, i16 76, i16 14, i16 4, i16 -16384, i16 77, i16 14, i16 3, i16 -16384, i16 77, i16 14, i16 4, i16 -16384, i16 78, i16 14, i16 3, i16 -16384, i16 78, i16 14, i16 4, i16 -16384, i16 78, i16 14, i16 5, i16 -16384, i16 78, i16 14, i16 6, i16 -16384, i16 79, i16 14, i16 3, i16 -16384, i16 79, i16 14, i16 4, i16 -16384, i16 79, i16 14, i16 5, i16 -16384, i16 79, i16 14, i16 6, i16 -16384, i16 80, i16 14, i16 3, i16 -16384, i16 80, i16 14, i16 4, i16 -16384, i16 80, i16 14, i16 5, i16 -16384, i16 80, i16 14, i16 6, i16 -16384, i16 81, i16 14, i16 3, i16 -16384, i16 81, i16 14, i16 4, i16 -16384, i16 81, i16 14, i16 5, i16 -16384, i16 81, i16 14, i16 6, i16 -16384, i16 82, i16 14, i16 3, i16 -16384, i16 82, i16 14, i16 4, i16 -16384, i16 82, i16 14, i16 5, i16 -16384, i16 82, i16 14, i16 6, i16 -16384, i16 83, i16 14, i16 3, i16 -16384, i16 83, i16 14, i16 4, i16 -16384, i16 83, i16 14, i16 5, i16 -16384, i16 83, i16 14, i16 6, i16 -16384, i16 84, i16 14, i16 3, i16 -16384, i16 84, i16 14, i16 4, i16 -16384, i16 84, i16 14, i16 5, i16 -16384, i16 84, i16 14, i16 6, i16 -16384, i16 85, i16 14, i16 3, i16 -16384, i16 85, i16 14, i16 4, i16 -16384, i16 85, i16 14, i16 5, i16 -16384, i16 85, i16 14, i16 6, i16 -16384, i16 86, i16 14, i16 3, i16 -16384, i16 86, i16 14, i16 4, i16 -16384, i16 86, i16 14, i16 5, i16 -16384, i16 86, i16 14, i16 6, i16 -16384, i16 87, i16 14, i16 3, i16 -16384, i16 87, i16 14, i16 4, i16 -16384, i16 87, i16 14, i16 5, i16 -16384, i16 87, i16 14, i16 6, i16 -16384, i16 90, i16 14, i16 3, i16 -16384, i16 90, i16 14, i16 4, i16 -16384, i16 90, i16 14, i16 5, i16 -16384, i16 90, i16 14, i16 6, i16 -16384, i16 91, i16 14, i16 3, i16 -16384, i16 91, i16 14, i16 4, i16 -16384, i16 91, i16 14, i16 5, i16 -16384, i16 91, i16 14, i16 6, i16 -16384, i16 92, i16 14, i16 3, i16 -16384, i16 92, i16 14, i16 4, i16 -16384, i16 92, i16 14, i16 5, i16 -16384, i16 92, i16 14, i16 6, i16 -16384, i16 93, i16 14, i16 3, i16 -16384, i16 93, i16 14, i16 4, i16 -16384, i16 93, i16 14, i16 5, i16 -16384, i16 93, i16 14, i16 6, i16 -16384, i16 94, i16 14, i16 3, i16 -16384, i16 94, i16 14, i16 4, i16 -16384, i16 96, i16 14, i16 3, i16 -16384, i16 96, i16 14, i16 4, i16 -16384, i16 1640, i16 1643, i16 1646, i16 -16384, i16 1640, i16 1643, i16 1649, i16 -16384, i16 1640, i16 1643, i16 1652, i16 -16384, i16 1640, i16 1643, i16 1655, i16 -16384, i16 98, i16 894, i16 3, i16 -16384, i16 98, i16 894, i16 4, i16 -16384, i16 98, i16 14, i16 3, i16 -16384, i16 98, i16 14, i16 4, i16 -16384, i16 16483, i16 16398, i16 16384, i16 -16384, i16 16484, i16 16398, i16 16384, i16 -16384, i16 16485, i16 16398, i16 16384, i16 -16384, i16 16486, i16 16398, i16 16384, i16 -16384, i16 16487, i16 16398, i16 16384, i16 -16384, i16 16488, i16 16398, i16 16384, i16 -16384, i16 16489, i16 16398, i16 16384, i16 -16384, i16 16490, i16 16398, i16 16384, i16 -16384, i16 16491, i16 16398, i16 16384, i16 -16384, i16 16492, i16 16398, i16 16384, i16 -16384, i16 16493, i16 16398, i16 16384, i16 -16384, i16 16494, i16 16398, i16 16384, i16 -16384, i16 16495, i16 16398, i16 16384, i16 -16384, i16 16496, i16 16398, i16 16384, i16 -16384, i16 16497, i16 16398, i16 16384, i16 -16384, i16 16498, i16 16398, i16 16384, i16 -16384, i16 16499, i16 16398, i16 16384, i16 -16384, i16 16500, i16 16398, i16 16384, i16 -16384, i16 16501, i16 16398, i16 16384, i16 -16384, i16 16502, i16 16398, i16 16384, i16 -16384, i16 16503, i16 16398, i16 16384, i16 -16384, i16 16504, i16 16398, i16 16384, i16 -16384, i16 16505, i16 16398, i16 16384, i16 -16384, i16 16506, i16 16398, i16 16384, i16 -16384, i16 16507, i16 16398, i16 16384, i16 -16384, i16 16508, i16 16398, i16 16384, i16 -16384, i16 16509, i16 16398, i16 16384, i16 -16384, i16 16510, i16 14, i16 16393, i16 -16384, i16 16510, i16 28, i16 16393, i16 -16384, i16 16511, i16 14, i16 16393, i16 -16384, i16 16512, i16 14, i16 16393, i16 -16384, i16 16512, i16 15, i16 16393, i16 -16384, i16 16513, i16 14, i16 16393, i16 -16384, i16 16513, i16 15, i16 16393, i16 -16384, i16 16514, i16 14, i16 16393, i16 -16384, i16 16514, i16 28, i16 16393, i16 -16384, i16 16515, i16 14, i16 16393, i16 -16384, i16 16515, i16 15, i16 16393, i16 -16384, i16 16516, i16 14, i16 16393, i16 -16384, i16 16516, i16 28, i16 16393, i16 -16384, i16 16517, i16 14, i16 16393, i16 -16384, i16 16518, i16 14, i16 16393, i16 -16384, i16 16518, i16 28, i16 16393, i16 -16384, i16 16518, i16 29, i16 16393, i16 -16384, i16 16519, i16 14, i16 16393, i16 -16384, i16 16519, i16 15, i16 16393, i16 -16384, i16 16519, i16 895, i16 16393, i16 -16384, i16 16520, i16 14, i16 16393, i16 -16384, i16 16521, i16 14, i16 16393, i16 -16384, i16 16522, i16 14, i16 16393, i16 -16384, i16 16523, i16 14, i16 16393, i16 -16384, i16 16524, i16 14, i16 16393, i16 -16384, i16 16524, i16 28, i16 16393, i16 -16384, i16 16525, i16 14, i16 16393, i16 -16384, i16 16526, i16 14, i16 16393, i16 -16384, i16 16527, i16 14, i16 16393, i16 -16384, i16 16527, i16 15, i16 16393, i16 -16384, i16 16527, i16 895, i16 16393, i16 -16384, i16 16528, i16 14, i16 16393, i16 -16384, i16 16528, i16 15, i16 16393, i16 -16384, i16 16529, i16 14, i16 16393, i16 -16384, i16 16529, i16 28, i16 16393, i16 -16384, i16 16529, i16 29, i16 16393, i16 -16384, i16 16529, i16 30, i16 16393, i16 -16384, i16 16529, i16 26, i16 16393, i16 -16384, i16 16529, i16 27, i16 16393, i16 -16384, i16 16530, i16 14, i16 16393, i16 -16384, i16 16530, i16 895, i16 16393, i16 -16384, i16 16531, i16 14, i16 16393, i16 -16384, i16 16531, i16 15, i16 16393, i16 -16384, i16 16532, i16 14, i16 16393, i16 -16384, i16 16532, i16 15, i16 16393, i16 -16384, i16 16533, i16 14, i16 16393, i16 -16384, i16 16533, i16 28, i16 16393, i16 -16384, i16 16510, i16 14, i16 16396, i16 -16384, i16 16510, i16 28, i16 16396, i16 -16384, i16 16511, i16 14, i16 16396, i16 -16384, i16 16511, i16 15, i16 16396, i16 -16384, i16 16512, i16 14, i16 16396, i16 -16384, i16 16513, i16 14, i16 16396, i16 -16384, i16 16514, i16 14, i16 16396, i16 -16384, i16 16514, i16 28, i16 16396, i16 -16384, i16 16515, i16 14, i16 16396, i16 -16384, i16 16515, i16 15, i16 16396, i16 -16384, i16 16516, i16 14, i16 16396, i16 -16384, i16 16516, i16 28, i16 16396, i16 -16384, i16 16517, i16 14, i16 16396, i16 -16384, i16 16517, i16 15, i16 16396, i16 -16384, i16 16518, i16 14, i16 16396, i16 -16384, i16 16518, i16 28, i16 16396, i16 -16384, i16 16518, i16 29, i16 16396, i16 -16384, i16 16518, i16 30, i16 16396, i16 -16384, i16 16518, i16 26, i16 16396, i16 -16384, i16 16519, i16 14, i16 16396, i16 -16384, i16 16519, i16 15, i16 16396, i16 -16384, i16 16519, i16 895, i16 16396, i16 -16384, i16 16520, i16 14, i16 16396, i16 -16384, i16 16521, i16 14, i16 16396, i16 -16384, i16 16522, i16 14, i16 16396, i16 -16384, i16 16523, i16 14, i16 16396, i16 -16384, i16 16524, i16 14, i16 16396, i16 -16384, i16 16524, i16 28, i16 16396, i16 -16384, i16 16525, i16 14, i16 16396, i16 -16384, i16 16525, i16 15, i16 16396, i16 -16384, i16 16526, i16 15, i16 16396, i16 -16384, i16 16527, i16 14, i16 16396, i16 -16384, i16 16527, i16 15, i16 16396, i16 -16384, i16 16527, i16 895, i16 16396, i16 -16384, i16 16527, i16 26, i16 16396, i16 -16384, i16 16528, i16 14, i16 16396, i16 -16384, i16 16528, i16 15, i16 16396, i16 -16384, i16 16529, i16 14, i16 16396, i16 -16384, i16 16529, i16 28, i16 16396, i16 -16384, i16 16529, i16 29, i16 16396, i16 -16384, i16 16529, i16 30, i16 16396, i16 -16384, i16 16530, i16 14, i16 16396, i16 -16384, i16 16530, i16 15, i16 16396, i16 -16384, i16 16530, i16 895, i16 16396, i16 -16384, i16 16531, i16 14, i16 16396, i16 -16384, i16 16532, i16 14, i16 16396, i16 -16384, i16 16532, i16 15, i16 16396, i16 -16384, i16 16533, i16 14, i16 16396, i16 -16384, i16 16533, i16 28, i16 16396, i16 -16384, i16 17292, i16 16398, i16 17273, i16 -16384, i16 17293, i16 16398, i16 17273, i16 -16384, i16 17294, i16 16398, i16 17273, i16 -16384, i16 17295, i16 16398, i16 17273, i16 -16384, i16 17296, i16 16398, i16 17273, i16 -16384, i16 17299, i16 16398, i16 17273, i16 -16384, i16 17302, i16 16398, i16 17273, i16 -16384, i16 17303, i16 16398, i16 17273, i16 -16384, i16 17305, i16 16398, i16 17273, i16 -16384, i16 17308, i16 16398, i16 17273, i16 -16384, i16 17309, i16 16398, i16 17273, i16 -16384, i16 17310, i16 16398, i16 17273, i16 -16384, i16 17311, i16 16398, i16 17273, i16 -16384, i16 17313, i16 16398, i16 17273, i16 -16384, i16 17314, i16 16398, i16 17273, i16 -16384, i16 17316, i16 16398, i16 17273, i16 -16384, i16 17317, i16 16398, i16 17273, i16 -16384, i16 17318, i16 16398, i16 17273, i16 -16384, i16 17319, i16 16398, i16 17273, i16 -16384, i16 17320, i16 16398, i16 17273, i16 -16384, i16 17323, i16 16398, i16 17273, i16 -16384, i16 17325, i16 16398, i16 17273, i16 -16384, i16 17326, i16 16398, i16 17273, i16 -16384, i16 17327, i16 16398, i16 17273, i16 -16384, i16 17328, i16 16398, i16 17273, i16 -16384, i16 17330, i16 16398, i16 17273, i16 -16384, i16 17331, i16 16398, i16 17273, i16 -16384, i16 17332, i16 16398, i16 17273, i16 -16384, i16 17334, i16 16398, i16 17273, i16 -16384, i16 17336, i16 16398, i16 17273, i16 -16384, i16 17337, i16 16398, i16 17273, i16 -16384, i16 17292, i16 16398, i16 16393, i16 -16384, i16 17293, i16 16398, i16 16393, i16 -16384, i16 17294, i16 16398, i16 16393, i16 -16384, i16 17295, i16 16398, i16 16393, i16 -16384, i16 17296, i16 16398, i16 16393, i16 -16384, i16 17299, i16 16398, i16 16393, i16 -16384, i16 17302, i16 16398, i16 16393, i16 -16384, i16 17303, i16 16398, i16 16393, i16 -16384, i16 17305, i16 16398, i16 16393, i16 -16384, i16 17308, i16 16398, i16 16393, i16 -16384, i16 17310, i16 16398, i16 16393, i16 -16384, i16 17311, i16 16398, i16 16393, i16 -16384, i16 17313, i16 16398, i16 16393, i16 -16384, i16 17314, i16 16398, i16 16393, i16 -16384, i16 17316, i16 16398, i16 16393, i16 -16384, i16 17317, i16 16398, i16 16393, i16 -16384, i16 17318, i16 16398, i16 16393, i16 -16384, i16 17319, i16 16398, i16 16393, i16 -16384, i16 17320, i16 16398, i16 16393, i16 -16384, i16 17323, i16 16398, i16 16393, i16 -16384, i16 17325, i16 16398, i16 16393, i16 -16384, i16 17326, i16 16398, i16 16393, i16 -16384, i16 17327, i16 16398, i16 16393, i16 -16384, i16 17328, i16 16398, i16 16393, i16 -16384, i16 17330, i16 16398, i16 16393, i16 -16384, i16 17331, i16 16398, i16 16393, i16 -16384, i16 17332, i16 16398, i16 16393, i16 -16384, i16 17334, i16 16398, i16 16393, i16 -16384, i16 17336, i16 16398, i16 16393, i16 -16384, i16 17337, i16 16398, i16 16393, i16 -16384, i16 16425, i16 16, i16 17273, i16 -16384, i16 16425, i16 17, i16 17273, i16 -16384, i16 16425, i16 897, i16 17273, i16 -16384, i16 16425, i16 22, i16 17273, i16 -16384, i16 16425, i16 20, i16 17273, i16 -16384, i16 16425, i16 19, i16 17273, i16 -16384, i16 16425, i16 896, i16 17273, i16 -16384, i16 18042, i16 1628, i16 18015, i16 -16384, i16 16427, i16 25, i16 17273, i16 -16384, i16 16427, i16 16, i16 17273, i16 -16384, i16 16427, i16 897, i16 17273, i16 -16384, i16 16427, i16 18, i16 17273, i16 -16384, i16 16427, i16 23, i16 17273, i16 -16384, i16 17282, i16 15, i16 17273, i16 -16384, i16 17282, i16 24, i16 17273, i16 -16384, i16 17283, i16 896, i16 17273, i16 -16384, i16 17283, i16 897, i16 17273, i16 -16384, i16 17283, i16 23, i16 17273, i16 -16384, i16 16430, i16 897, i16 17273, i16 -16384, i16 16430, i16 24, i16 17273, i16 -16384, i16 17284, i16 14, i16 17273, i16 -16384, i16 17284, i16 897, i16 17273, i16 -16384, i16 17284, i16 15, i16 17273, i16 -16384, i16 17285, i16 897, i16 17273, i16 -16384, i16 16433, i16 22, i16 17273, i16 -16384, i16 18045, i16 1628, i16 18015, i16 -16384, i16 16434, i16 20, i16 17273, i16 -16384, i16 16434, i16 24, i16 17273, i16 -16384, i16 16434, i16 21, i16 17273, i16 -16384, i16 16437, i16 897, i16 17273, i16 -16384, i16 16437, i16 18, i16 17273, i16 -16384, i16 16437, i16 25, i16 17273, i16 -16384, i16 18048, i16 1628, i16 18015, i16 -16384, i16 16438, i16 25, i16 17273, i16 -16384, i16 16439, i16 20, i16 17273, i16 -16384, i16 16439, i16 896, i16 17273, i16 -16384, i16 16439, i16 21, i16 17273, i16 -16384, i16 16441, i16 14, i16 17273, i16 -16384, i16 16443, i16 18, i16 17273, i16 -16384, i16 16443, i16 23, i16 17273, i16 -16384, i16 16425, i16 16, i16 16393, i16 -16384, i16 16425, i16 17, i16 16393, i16 -16384, i16 16425, i16 897, i16 16393, i16 -16384, i16 16425, i16 22, i16 16393, i16 -16384, i16 16425, i16 20, i16 16393, i16 -16384, i16 16425, i16 19, i16 16393, i16 -16384, i16 16425, i16 896, i16 16393, i16 -16384, i16 18042, i16 1628, i16 18021, i16 -16384, i16 16427, i16 25, i16 16393, i16 -16384, i16 16427, i16 16, i16 16393, i16 -16384, i16 16427, i16 897, i16 16393, i16 -16384, i16 16427, i16 18, i16 16393, i16 -16384, i16 16427, i16 23, i16 16393, i16 -16384, i16 17282, i16 15, i16 16393, i16 -16384, i16 17282, i16 24, i16 16393, i16 -16384, i16 17283, i16 896, i16 16393, i16 -16384, i16 17283, i16 897, i16 16393, i16 -16384, i16 17283, i16 23, i16 16393, i16 -16384, i16 16430, i16 897, i16 16393, i16 -16384, i16 16430, i16 24, i16 16393, i16 -16384, i16 17284, i16 14, i16 16393, i16 -16384, i16 17284, i16 897, i16 16393, i16 -16384, i16 17284, i16 15, i16 16393, i16 -16384, i16 17285, i16 897, i16 16393, i16 -16384, i16 16433, i16 22, i16 16393, i16 -16384, i16 18045, i16 1628, i16 18021, i16 -16384, i16 16434, i16 20, i16 16393, i16 -16384, i16 16434, i16 24, i16 16393, i16 -16384, i16 16434, i16 21, i16 16393, i16 -16384, i16 16437, i16 897, i16 16393, i16 -16384, i16 16437, i16 18, i16 16393, i16 -16384, i16 16437, i16 25, i16 16393, i16 -16384, i16 16438, i16 25, i16 16393, i16 -16384, i16 16439, i16 20, i16 16393, i16 -16384, i16 16439, i16 896, i16 16393, i16 -16384, i16 16439, i16 21, i16 16393, i16 -16384, i16 16441, i16 14, i16 16393, i16 -16384, i16 16443, i16 18, i16 16393, i16 -16384, i16 16443, i16 23, i16 16393, i16 -16384, i16 16415, i16 16398, i16 17273, i16 -16384, i16 16415, i16 16399, i16 17273, i16 -16384, i16 16416, i16 16398, i16 17273, i16 -16384, i16 16416, i16 16399, i16 17273, i16 -16384, i16 16417, i16 16398, i16 17273, i16 -16384, i16 16417, i16 16399, i16 17273, i16 -16384, i16 16418, i16 16398, i16 17273, i16 -16384, i16 16418, i16 16399, i16 17273, i16 -16384, i16 16419, i16 16398, i16 17273, i16 -16384, i16 16419, i16 16399, i16 17273, i16 -16384, i16 16420, i16 16398, i16 17273, i16 -16384, i16 16420, i16 16399, i16 17273, i16 -16384, i16 16421, i16 16398, i16 17273, i16 -16384, i16 16421, i16 16399, i16 17273, i16 -16384, i16 16422, i16 16398, i16 17273, i16 -16384, i16 16422, i16 16399, i16 17273, i16 -16384, i16 16423, i16 16398, i16 17273, i16 -16384, i16 16423, i16 16399, i16 17273, i16 -16384, i16 16424, i16 16398, i16 17273, i16 -16384, i16 16424, i16 16399, i16 17273, i16 -16384, i16 17289, i16 16398, i16 17273, i16 -16384, i16 17290, i16 16397, i16 17273, i16 -16384, i16 17290, i16 17274, i16 17273, i16 -16384, i16 17290, i16 17276, i16 17273, i16 -16384, i16 17290, i16 16398, i16 17273, i16 -16384, i16 16447, i16 16398, i16 17273, i16 -16384, i16 16472, i16 16398, i16 17273, i16 -16384, i16 16473, i16 16398, i16 17273, i16 -16384, i16 17291, i16 16398, i16 17273, i16 -16384, i16 16479, i16 16398, i16 17273, i16 -16384, i16 16480, i16 17275, i16 17273, i16 -16384, i16 16481, i16 16398, i16 17273, i16 -16384, i16 18051, i16 18054, i16 18015, i16 -16384, i16 16481, i16 17277, i16 17273, i16 -16384, i16 905, i16 14, i16 3, i16 -16384, i16 906, i16 13, i16 3, i16 -16384, i16 906, i16 13, i16 4, i16 -16384, i16 906, i16 890, i16 3, i16 -16384, i16 906, i16 890, i16 4, i16 -16384, i16 906, i16 892, i16 3, i16 -16384, i16 906, i16 892, i16 4, i16 -16384, i16 906, i16 14, i16 3, i16 -16384, i16 906, i16 14, i16 4, i16 -16384, i16 63, i16 14, i16 3, i16 -16384, i16 63, i16 14, i16 4, i16 -16384, i16 88, i16 14, i16 3, i16 -16384, i16 88, i16 14, i16 4, i16 -16384, i16 88, i16 14, i16 5, i16 -16384, i16 88, i16 14, i16 6, i16 -16384, i16 89, i16 14, i16 3, i16 -16384, i16 89, i16 14, i16 4, i16 -16384, i16 89, i16 14, i16 5, i16 -16384, i16 89, i16 14, i16 6, i16 -16384, i16 907, i16 14, i16 3, i16 -16384, i16 907, i16 14, i16 4, i16 -16384, i16 907, i16 14, i16 5, i16 -16384, i16 907, i16 14, i16 6, i16 -16384, i16 95, i16 14, i16 3, i16 -16384, i16 95, i16 14, i16 4, i16 -16384, i16 96, i16 891, i16 3, i16 -16384, i16 96, i16 891, i16 4, i16 -16384, i16 97, i16 14, i16 3, i16 -16384, i16 97, i16 14, i16 4, i16 -16384, i16 97, i16 893, i16 3, i16 -16384, i16 97, i16 893, i16 4, i16 -16384, i16 97, i16 893, i16 5, i16 -16384, i16 97, i16 893, i16 6, i16 -16384, i16 1673, i16 1676, i16 1679, i16 -16384, i16 1673, i16 1676, i16 1682, i16 -16384, i16 1673, i16 1685, i16 1679, i16 -16384, i16 1673, i16 1685, i16 1682, i16 -16384, i16 1673, i16 1688, i16 1679, i16 -16384, i16 1673, i16 1688, i16 1682, i16 -16384, i16 1673, i16 1643, i16 1679, i16 -16384, i16 1673, i16 1643, i16 1682, i16 -16384, i16 17297, i16 16398, i16 17273, i16 -16384, i16 17298, i16 16398, i16 17273, i16 -16384, i16 17300, i16 16398, i16 17273, i16 -16384, i16 17301, i16 16398, i16 17273, i16 -16384, i16 17304, i16 16398, i16 17273, i16 -16384, i16 17306, i16 16398, i16 17273, i16 -16384, i16 17307, i16 16398, i16 17273, i16 -16384, i16 17312, i16 16398, i16 17273, i16 -16384, i16 17315, i16 16398, i16 17273, i16 -16384, i16 17321, i16 16398, i16 17273, i16 -16384, i16 17322, i16 16398, i16 17273, i16 -16384, i16 17324, i16 16398, i16 17273, i16 -16384, i16 17329, i16 16398, i16 17273, i16 -16384, i16 17333, i16 16398, i16 17273, i16 -16384, i16 17335, i16 16398, i16 17273, i16 -16384, i16 17297, i16 16398, i16 16393, i16 -16384, i16 17298, i16 16398, i16 16393, i16 -16384, i16 17300, i16 16398, i16 16393, i16 -16384, i16 17301, i16 16398, i16 16393, i16 -16384, i16 17304, i16 16398, i16 16393, i16 -16384, i16 17306, i16 16398, i16 16393, i16 -16384, i16 17307, i16 16398, i16 16393, i16 -16384, i16 17309, i16 16398, i16 16393, i16 -16384, i16 17312, i16 16398, i16 16393, i16 -16384, i16 17315, i16 16398, i16 16393, i16 -16384, i16 17321, i16 16398, i16 16393, i16 -16384, i16 17322, i16 16398, i16 16393, i16 -16384, i16 17324, i16 16398, i16 16393, i16 -16384, i16 17329, i16 16398, i16 16393, i16 -16384, i16 17333, i16 16398, i16 16393, i16 -16384, i16 17335, i16 16398, i16 16393, i16 -16384, i16 32767, i16 16384, i16 16384, i16 -16384, i16 18075, i16 18078, i16 16384, i16 -16384, i16 18081, i16 18078, i16 16384, i16 -16384, i16 18084, i16 18078, i16 16384, i16 -16384, i16 17541, i16 16407, i16 17273, i16 -16384, i16 17542, i16 16407, i16 17273, i16 -16384, i16 17543, i16 16407, i16 17273, i16 -16384, i16 17544, i16 16407, i16 17273, i16 -16384, i16 17545, i16 16407, i16 17273, i16 -16384, i16 17540, i16 16407, i16 17273, i16 -16384, i16 17555, i16 16399, i16 17273, i16 -16384, i16 17555, i16 16399, i16 16393, i16 -16384, i16 17556, i16 16399, i16 17273, i16 -16384, i16 17556, i16 16399, i16 16393, i16 -16384, i16 17561, i16 16398, i16 17273, i16 -16384, i16 17561, i16 16398, i16 16393, i16 -16384, i16 17564, i16 16399, i16 17273, i16 -16384, i16 17564, i16 16404, i16 17273, i16 -16384, i16 17564, i16 16399, i16 16393, i16 -16384, i16 17564, i16 16404, i16 16393, i16 -16384, i16 17284, i16 16398, i16 17273, i16 -16384, i16 17567, i16 16407, i16 17273, i16 -16384, i16 17284, i16 16398, i16 16393, i16 -16384, i16 17567, i16 16407, i16 16393, i16 -16384, i16 17568, i16 16399, i16 17273, i16 -16384, i16 17568, i16 16406, i16 17273, i16 -16384, i16 17568, i16 16399, i16 16393, i16 -16384, i16 17568, i16 16406, i16 16393, i16 -16384, i16 17569, i16 16404, i16 17273, i16 -16384, i16 17569, i16 16404, i16 16393, i16 -16384, i16 17565, i16 16409, i16 17273, i16 -16384, i16 17565, i16 16409, i16 16393, i16 -16384, i16 17566, i16 17280, i16 17273, i16 -16384, i16 17566, i16 17280, i16 16393, i16 -16384, i16 17570, i16 16409, i16 17273, i16 -16384, i16 17570, i16 16409, i16 16393, i16 -16384, i16 17571, i16 16404, i16 17273, i16 -16384, i16 17571, i16 16404, i16 16393, i16 -16384, i16 17572, i16 16399, i16 17273, i16 -16384, i16 17572, i16 16399, i16 16393, i16 -16384, i16 17573, i16 16399, i16 17273, i16 -16384, i16 17573, i16 16399, i16 16393, i16 -16384, i16 17574, i16 16399, i16 17273, i16 -16384, i16 17574, i16 16399, i16 16393, i16 -16384, i16 17575, i16 16399, i16 17273, i16 -16384, i16 17575, i16 16399, i16 16393, i16 -16384, i16 17576, i16 16399, i16 17273, i16 -16384, i16 17576, i16 16399, i16 16393, i16 -16384, i16 17577, i16 16399, i16 17273, i16 -16384, i16 17577, i16 16399, i16 16393, i16 -16384, i16 17578, i16 16399, i16 17273, i16 -16384, i16 17578, i16 16399, i16 16393, i16 -16384, i16 17579, i16 16399, i16 17273, i16 -16384, i16 17579, i16 16399, i16 16393, i16 -16384, i16 17602, i16 16407, i16 17273, i16 -16384, i16 17602, i16 16407, i16 17600, i16 -16384, i16 17602, i16 16407, i16 16393, i16 -16384, i16 17602, i16 16407, i16 17601, i16 -16384, i16 32766, i16 16384, i16 16384, i16 16384, i16 17619, i16 16399, i16 17273, i16 -16384, i16 17619, i16 16399, i16 16393, i16 -16384, i16 17620, i16 16399, i16 17273, i16 -16384, i16 17620, i16 16399, i16 16393, i16 -16384, i16 17621, i16 16399, i16 17273, i16 -16384, i16 17621, i16 16399, i16 16393, i16 -16384, i16 17622, i16 16399, i16 17273, i16 -16384, i16 17622, i16 16399, i16 16393, i16 -16384, i16 17623, i16 16399, i16 17273, i16 -16384, i16 17623, i16 16399, i16 16393, i16 -16384, i16 17635, i16 16404, i16 17273, i16 -16384, i16 17634, i16 16403, i16 17273, i16 -16384, i16 17635, i16 17279, i16 17273, i16 -16384, i16 17636, i16 16404, i16 17273, i16 -16384, i16 17637, i16 16408, i16 17273, i16 -16384, i16 17635, i16 16404, i16 16393, i16 -16384, i16 17634, i16 16403, i16 16393, i16 -16384, i16 17635, i16 17279, i16 16393, i16 -16384, i16 17636, i16 16404, i16 16393, i16 -16384, i16 17637, i16 16408, i16 16393, i16 -16384, i16 16440, i16 16398, i16 16393, i16 -16327, i16 16440, i16 16398, i16 17273, i16 -16327, i16 16442, i16 16404, i16 17273, i16 -16384, i16 16442, i16 16404, i16 16393, i16 -16384, i16 17638, i16 16407, i16 17273, i16 -16384, i16 17639, i16 16407, i16 17273, i16 -16384, i16 17638, i16 16407, i16 16393, i16 -16384, i16 17639, i16 16407, i16 16393, i16 -16384, i16 17640, i16 16407, i16 17273, i16 -16384, i16 17640, i16 16407, i16 17600, i16 -16384, i16 17641, i16 16407, i16 17273, i16 -16384, i16 17640, i16 16407, i16 16393, i16 -16384, i16 17640, i16 16407, i16 17601, i16 -16384, i16 17641, i16 16407, i16 16393, i16 -16384, i16 17642, i16 16407, i16 17273, i16 -16384, i16 17642, i16 16407, i16 17600, i16 -16384, i16 17642, i16 16407, i16 16393, i16 -16384, i16 17642, i16 16407, i16 17601, i16 -16384, i16 17643, i16 16407, i16 17273, i16 -16384, i16 17643, i16 16407, i16 17600, i16 -16384, i16 17643, i16 16407, i16 16393, i16 -16384, i16 17643, i16 16407, i16 17601, i16 -16384, i16 17644, i16 16407, i16 17273, i16 -16384, i16 17644, i16 16407, i16 16393, i16 -16384, i16 17645, i16 16407, i16 17273, i16 -16384, i16 17645, i16 16407, i16 16393, i16 -16384, i16 17658, i16 16401, i16 17273, i16 -16384, i16 17660, i16 16400, i16 17273, i16 -16384, i16 17661, i16 17281, i16 17273, i16 -16384, i16 17659, i16 16406, i16 17273, i16 -16384, i16 17658, i16 16401, i16 16393, i16 -16384, i16 17660, i16 16400, i16 16393, i16 -16384, i16 17661, i16 17281, i16 16393, i16 -16384, i16 17659, i16 16406, i16 16393, i16 -16384, i16 17662, i16 16409, i16 17273, i16 -16384, i16 17639, i16 16402, i16 17273, i16 -16384, i16 17662, i16 16409, i16 16393, i16 -16384, i16 17639, i16 16402, i16 16393, i16 -16384, i16 17663, i16 16398, i16 17273, i16 -16384, i16 17664, i16 16402, i16 17273, i16 -16384, i16 17664, i16 16402, i16 16393, i16 -16384, i16 17666, i16 16399, i16 17273, i16 -16384, i16 17665, i16 16408, i16 17273, i16 -16384, i16 17666, i16 16399, i16 16393, i16 -16384, i16 17665, i16 16408, i16 16393, i16 -16384, i16 17668, i16 16402, i16 17273, i16 -16384, i16 17669, i16 16408, i16 17273, i16 -16384, i16 17671, i16 18078, i16 18015, i16 -16384, i16 17644, i16 16402, i16 17273, i16 -16384, i16 17644, i16 16402, i16 16393, i16 -16384, i16 17673, i16 16404, i16 17273, i16 -16384, i16 17672, i16 17279, i16 17273, i16 -16384, i16 17673, i16 16404, i16 16393, i16 -16384, i16 17672, i16 17279, i16 16393, i16 -16384, i16 17667, i16 16398, i16 17273, i16 -16384, i16 17670, i16 16402, i16 17273, i16 -16384, i16 17670, i16 16402, i16 16393, i16 -16384, i16 17685, i16 17281, i16 17273, i16 -16384, i16 17686, i16 17280, i16 17273, i16 -16384, i16 17685, i16 17281, i16 16393, i16 -16384, i16 17686, i16 17280, i16 16393, i16 -16384, i16 17688, i16 16409, i16 17273, i16 -16384, i16 17688, i16 16409, i16 16393, i16 -16384, i16 17687, i16 17281, i16 17273, i16 -16384, i16 17687, i16 17281, i16 16393, i16 -16384, i16 17695, i16 16399, i16 17273, i16 -16384, i16 17695, i16 16399, i16 17600, i16 -16384, i16 17695, i16 16399, i16 16393, i16 -16384, i16 17695, i16 16399, i16 17601, i16 -16384, i16 17697, i16 16399, i16 17273, i16 -16384, i16 17697, i16 16399, i16 17600, i16 -16384, i16 17697, i16 16399, i16 16393, i16 -16384, i16 17697, i16 16399, i16 17601, i16 -16384, i16 17693, i16 16407, i16 17273, i16 -16384, i16 17693, i16 16407, i16 16393, i16 -16384, i16 17694, i16 16407, i16 17273, i16 -16384, i16 17694, i16 16407, i16 16393, i16 -16384, i16 17696, i16 16408, i16 17273, i16 -16384, i16 17696, i16 16408, i16 16393, i16 -16384, i16 17698, i16 16407, i16 17273, i16 -16384, i16 17698, i16 16407, i16 16393, i16 -16384, i16 17707, i16 16407, i16 17273, i16 -16384, i16 17707, i16 16407, i16 17600, i16 -16384, i16 17707, i16 16407, i16 16393, i16 -16384, i16 17707, i16 16407, i16 17601, i16 -16384, i16 17708, i16 16407, i16 17273, i16 -16384, i16 17708, i16 16407, i16 17600, i16 -16384, i16 17708, i16 16407, i16 16393, i16 -16384, i16 17708, i16 16407, i16 17601, i16 -16384, i16 32766, i16 16398, i16 17273, i16 -16384, i16 32766, i16 16398, i16 16393, i16 -16384, i16 17803, i16 16404, i16 17273, i16 -16384, i16 17803, i16 16405, i16 17273, i16 -16384, i16 17803, i16 16404, i16 16393, i16 -16384, i16 17803, i16 16405, i16 16393, i16 -16384, i16 17806, i16 16404, i16 17273, i16 -16384, i16 17806, i16 16405, i16 17273, i16 -16384, i16 17806, i16 16404, i16 16393, i16 -16384, i16 17806, i16 16405, i16 16393, i16 -16384, i16 17797, i16 16398, i16 16393, i16 -16384, i16 17797, i16 16398, i16 17601, i16 -16384, i16 18087, i16 18054, i16 18021, i16 -16384, i16 18087, i16 18054, i16 18090, i16 -16384, i16 18087, i16 18054, i16 18093, i16 -16384, i16 18087, i16 18054, i16 18096, i16 -16384, i16 17797, i16 16398, i16 17600, i16 -16384, i16 17797, i16 16398, i16 17273, i16 -16384, i16 18087, i16 18054, i16 18099, i16 -16384, i16 18087, i16 18054, i16 18102, i16 -16384, i16 18087, i16 18054, i16 18105, i16 -16384, i16 18087, i16 18054, i16 18015, i16 -16384, i16 17798, i16 16398, i16 16393, i16 -16384, i16 17798, i16 16398, i16 17601, i16 -16384, i16 18108, i16 18054, i16 18021, i16 -16384, i16 18108, i16 18054, i16 18090, i16 -16384, i16 18108, i16 18054, i16 18093, i16 -16384, i16 18108, i16 18054, i16 18096, i16 -16384, i16 17798, i16 16398, i16 17600, i16 -16384, i16 17798, i16 16398, i16 17273, i16 -16384, i16 18108, i16 18054, i16 18099, i16 -16384, i16 18108, i16 18054, i16 18102, i16 -16384, i16 18108, i16 18054, i16 18105, i16 -16384, i16 18108, i16 18054, i16 18015, i16 -16384, i16 17799, i16 16398, i16 17796, i16 -16384, i16 17799, i16 16398, i16 17795, i16 -16384, i16 17799, i16 16398, i16 17794, i16 -16384, i16 17799, i16 16398, i16 17793, i16 -16384, i16 18111, i16 18054, i16 18114, i16 -16384, i16 18111, i16 18054, i16 18117, i16 -16384, i16 18111, i16 18054, i16 18120, i16 -16384, i16 18111, i16 18054, i16 18123, i16 -16384, i16 17799, i16 16398, i16 17792, i16 -16384, i16 17799, i16 16398, i16 17791, i16 -16384, i16 17799, i16 16398, i16 17790, i16 -16384, i16 17799, i16 16398, i16 17789, i16 -16384, i16 18111, i16 18054, i16 18126, i16 -16384, i16 18111, i16 18054, i16 18129, i16 -16384, i16 18111, i16 18054, i16 18132, i16 -16384, i16 18111, i16 18054, i16 18135, i16 -16384, i16 17800, i16 16398, i16 16393, i16 -16384, i16 17800, i16 16398, i16 17601, i16 -16384, i16 18138, i16 18054, i16 18021, i16 -16384, i16 18138, i16 18054, i16 18090, i16 -16384, i16 18138, i16 18054, i16 18093, i16 -16384, i16 18138, i16 18054, i16 18096, i16 -16384, i16 17800, i16 16398, i16 17273, i16 -16384, i16 17800, i16 16398, i16 17600, i16 -16384, i16 18138, i16 18054, i16 18099, i16 -16384, i16 18138, i16 18054, i16 18102, i16 -16384, i16 18138, i16 18054, i16 18105, i16 -16384, i16 18138, i16 18054, i16 18015, i16 -16384, i16 17801, i16 16398, i16 16393, i16 -16384, i16 17801, i16 16398, i16 17601, i16 -16384, i16 18141, i16 18054, i16 18021, i16 -16384, i16 18141, i16 18054, i16 18090, i16 -16384, i16 18141, i16 18054, i16 18093, i16 -16384, i16 18141, i16 18054, i16 18096, i16 -16384, i16 17801, i16 16398, i16 17273, i16 -16384, i16 17801, i16 16398, i16 17600, i16 -16384, i16 18141, i16 18054, i16 18099, i16 -16384, i16 18141, i16 18054, i16 18102, i16 -16384, i16 18141, i16 18054, i16 18105, i16 -16384, i16 18141, i16 18054, i16 18015, i16 -16384, i16 17802, i16 16398, i16 16393, i16 -16384, i16 17802, i16 16398, i16 17601, i16 -16384, i16 18144, i16 18054, i16 18021, i16 -16384, i16 18144, i16 18054, i16 18090, i16 -16384, i16 18144, i16 18054, i16 18093, i16 -16384, i16 18144, i16 18054, i16 18096, i16 -16384, i16 17802, i16 16398, i16 17273, i16 -16384, i16 17802, i16 16398, i16 17600, i16 -16384, i16 18144, i16 18054, i16 18099, i16 -16384, i16 18144, i16 18054, i16 18102, i16 -16384, i16 18144, i16 18054, i16 18105, i16 -16384, i16 18144, i16 18054, i16 18015, i16 -16384, i16 17804, i16 16398, i16 16393, i16 -16384, i16 17804, i16 16398, i16 17601, i16 -16384, i16 18147, i16 18054, i16 18021, i16 -16384, i16 18147, i16 18054, i16 18090, i16 -16384, i16 18147, i16 18054, i16 18093, i16 -16384, i16 18147, i16 18054, i16 18096, i16 -16384, i16 17804, i16 16398, i16 17600, i16 -16384, i16 17804, i16 16398, i16 17273, i16 -16384, i16 18147, i16 18054, i16 18099, i16 -16384, i16 18147, i16 18054, i16 18102, i16 -16384, i16 18147, i16 18054, i16 18105, i16 -16384, i16 18147, i16 18054, i16 18015, i16 -16384, i16 17805, i16 16398, i16 16393, i16 -16384, i16 17805, i16 16398, i16 17601, i16 -16384, i16 18150, i16 18054, i16 18021, i16 -16384, i16 18150, i16 18054, i16 18090, i16 -16384, i16 18150, i16 18054, i16 18093, i16 -16384, i16 18150, i16 18054, i16 18096, i16 -16384, i16 17805, i16 16398, i16 17600, i16 -16384, i16 17805, i16 16398, i16 17273, i16 -16384, i16 18150, i16 18054, i16 18099, i16 -16384, i16 18150, i16 18054, i16 18102, i16 -16384, i16 18150, i16 18054, i16 18105, i16 -16384, i16 18150, i16 18054, i16 18015, i16 -16384, i16 17807, i16 16398, i16 16393, i16 -16384, i16 17807, i16 16398, i16 17601, i16 -16384, i16 18153, i16 18054, i16 18021, i16 -16384, i16 18153, i16 18054, i16 18090, i16 -16384, i16 18153, i16 18054, i16 18093, i16 -16384, i16 18153, i16 18054, i16 18096, i16 -16384, i16 17807, i16 16398, i16 17600, i16 -16384, i16 17807, i16 16398, i16 17273, i16 -16384, i16 18153, i16 18054, i16 18099, i16 -16384, i16 18153, i16 18054, i16 18102, i16 -16384, i16 18153, i16 18054, i16 18105, i16 -16384, i16 18153, i16 18054, i16 18015, i16 -16384, i16 16384, i16 16384, i16 16384, i16 -2, i16 17934, i16 16398, i16 17273, i16 -16384, i16 17290, i16 17928, i16 17273, i16 -16384, i16 17289, i16 17274, i16 17273, i16 -16384, i16 17289, i16 17276, i16 17273, i16 -16384, i16 17289, i16 17275, i16 17273, i16 -16384, i16 17289, i16 17929, i16 17273, i16 -16384, i16 17289, i16 17929, i16 17932, i16 -16384, i16 17289, i16 17929, i16 17933, i16 -16384, i16 16472, i16 16399, i16 17273, i16 -16384, i16 17291, i16 17931, i16 17273, i16 -16384, i16 17291, i16 17274, i16 17273, i16 -16384, i16 17935, i16 16398, i16 17273, i16 -16384, i16 17935, i16 17930, i16 17273, i16 -16384, i16 17935, i16 17277, i16 17273, i16 -16384, i16 17934, i16 16398, i16 16387, i16 -16384, i16 17934, i16 16398, i16 16388, i16 -16384, i16 17290, i16 16398, i16 16387, i16 -16384, i16 17290, i16 16398, i16 16388, i16 -16384, i16 17290, i16 17928, i16 16387, i16 -16384, i16 17290, i16 17928, i16 16388, i16 -16384, i16 17289, i16 16398, i16 16387, i16 -16384, i16 17289, i16 17274, i16 16387, i16 -16384, i16 17289, i16 17274, i16 16388, i16 -16384, i16 17289, i16 17276, i16 16387, i16 -16384, i16 17289, i16 17276, i16 16388, i16 -16384, i16 17289, i16 17275, i16 16387, i16 -16384, i16 17289, i16 17275, i16 16388, i16 -16384, i16 17289, i16 17929, i16 16387, i16 -16384, i16 17289, i16 17929, i16 16388, i16 -16384, i16 16472, i16 16398, i16 16387, i16 -16384, i16 16472, i16 16398, i16 16388, i16 -16384, i16 16472, i16 16398, i16 16389, i16 -16384, i16 16472, i16 16398, i16 16390, i16 -16384, i16 16472, i16 16399, i16 16387, i16 -16384, i16 16472, i16 16399, i16 16388, i16 -16384, i16 16472, i16 16399, i16 16389, i16 -16384, i16 16472, i16 16399, i16 16390, i16 -16384, i16 17291, i16 16398, i16 16387, i16 -16384, i16 17291, i16 16398, i16 16388, i16 -16384, i16 17291, i16 16398, i16 16389, i16 -16384, i16 17291, i16 16398, i16 16390, i16 -16384, i16 17291, i16 17931, i16 16387, i16 -16384, i16 17291, i16 17931, i16 16388, i16 -16384, i16 17291, i16 17274, i16 16387, i16 -16384, i16 17291, i16 17274, i16 16388, i16 -16384, i16 17935, i16 16398, i16 16387, i16 -16384, i16 17935, i16 16398, i16 16388, i16 -16384, i16 17935, i16 16398, i16 16389, i16 -16384, i16 17935, i16 16398, i16 16390, i16 -16384, i16 17935, i16 17930, i16 16387, i16 -16384, i16 17935, i16 17930, i16 16388, i16 -16384, i16 17935, i16 17277, i16 16387, i16 -16384, i16 17935, i16 17277, i16 16388, i16 -16384, i16 17935, i16 17277, i16 16389, i16 -16384, i16 17935, i16 17277, i16 16390, i16 -16384, i16 18156, i16 18054, i16 18159, i16 -16384, i16 18156, i16 18054, i16 18162, i16 -16384, i16 18165, i16 18168, i16 18159, i16 -16384, i16 18165, i16 18168, i16 18162, i16 -16384, i16 18165, i16 18171, i16 18159, i16 -16384, i16 18165, i16 18171, i16 18162, i16 -16384, i16 18174, i16 18054, i16 18159, i16 -16384, i16 18174, i16 18054, i16 18162, i16 -16384, i16 18177, i16 18182, i16 18187, i16 -16384, i16 17958, i16 17281, i16 16393, i16 -16384, i16 17958, i16 17281, i16 17273, i16 -16384, i16 17959, i16 17281, i16 16393, i16 -16384, i16 17959, i16 17281, i16 17273, i16 -16384, i16 17960, i16 17281, i16 16393, i16 -16384, i16 17960, i16 17281, i16 17273, i16 -16384, i16 17961, i16 17281, i16 16393, i16 -16384, i16 17961, i16 17281, i16 17273, i16 -16384, i16 17962, i16 17281, i16 16393, i16 -16384, i16 17962, i16 17281, i16 17273, i16 -16384, i16 17963, i16 17280, i16 16393, i16 -16384, i16 17963, i16 17280, i16 17273, i16 -16384, i16 17964, i16 16407, i16 17273, i16 -16384, i16 17964, i16 16407, i16 17600, i16 -16384, i16 17964, i16 16407, i16 16393, i16 -16384, i16 17964, i16 16407, i16 17601, i16 -16384, i16 17965, i16 16407, i16 17273, i16 -16384, i16 17965, i16 16407, i16 17600, i16 -16384, i16 17965, i16 16407, i16 16393, i16 -16384, i16 17965, i16 16407, i16 17601, i16 -16384, i16 17966, i16 16407, i16 17273, i16 -16384, i16 17966, i16 16407, i16 17600, i16 -16384, i16 17966, i16 16407, i16 16393, i16 -16384, i16 17966, i16 16407, i16 17601, i16 -16384, i16 17967, i16 16407, i16 17273, i16 -16384, i16 17967, i16 16407, i16 17600, i16 -16384, i16 17967, i16 16407, i16 16393, i16 -16384, i16 17967, i16 16407, i16 17601, i16 -16384, i16 17968, i16 16407, i16 17273, i16 -16384, i16 17968, i16 16407, i16 17600, i16 -16384, i16 17968, i16 16407, i16 16393, i16 -16384, i16 17968, i16 16407, i16 17601, i16 -16384, i16 17969, i16 16407, i16 17273, i16 -16384, i16 17969, i16 16407, i16 17600, i16 -16384, i16 17969, i16 16407, i16 16393, i16 -16384, i16 17969, i16 16407, i16 17601, i16 -16384, i16 17970, i16 16407, i16 17273, i16 -16384, i16 17970, i16 16407, i16 17600, i16 -16384, i16 17970, i16 16407, i16 16393, i16 -16384, i16 17970, i16 16407, i16 17601, i16 -16384, i16 17971, i16 16407, i16 17273, i16 -16384, i16 17971, i16 16407, i16 17600, i16 -16384, i16 17971, i16 16407, i16 16393, i16 -16384, i16 17971, i16 16407, i16 17601, i16 -16384, i16 18000, i16 16407, i16 17273, i16 -16384, i16 18000, i16 16407, i16 17600, i16 -16384, i16 18001, i16 16407, i16 17273, i16 -16384, i16 18001, i16 16407, i16 17600, i16 -16384, i16 18000, i16 16407, i16 16393, i16 -16384, i16 18000, i16 16407, i16 17601, i16 -16384, i16 18001, i16 16407, i16 16393, i16 -16384, i16 18001, i16 16407, i16 17601, i16 -16384, i16 18192, i16 18078, i16 18015, i16 -16384, i16 18192, i16 18195, i16 18015, i16 -16384, i16 18198, i16 18078, i16 18015, i16 -16384, i16 17299, i16 17300, i16 17273, i16 -16384, i16 17299, i16 17301, i16 17273, i16 -16384, i16 17299, i16 17335, i16 17273, i16 -16384, i16 17305, i16 17306, i16 17273, i16 -16384, i16 17305, i16 17307, i16 17273, i16 -16384, i16 17305, i16 17333, i16 17273, i16 -16384, i16 18192, i16 18078, i16 18021, i16 -16384, i16 18192, i16 18195, i16 18021, i16 -16384, i16 18198, i16 18078, i16 18021, i16 -16384, i16 17299, i16 17300, i16 16393, i16 -16384, i16 17299, i16 17301, i16 16393, i16 -16384, i16 17299, i16 17335, i16 16393, i16 -16384, i16 17305, i16 17306, i16 16393, i16 -16384, i16 17305, i16 17307, i16 16393, i16 -16384, i16 17305, i16 17333, i16 16393, i16 -16384, i16 17295, i16 17297, i16 17273, i16 -16384, i16 17310, i16 17321, i16 17273, i16 -16384, i16 18201, i16 18078, i16 18015, i16 -16384, i16 18204, i16 18078, i16 18015, i16 -16384, i16 17323, i16 17324, i16 17273, i16 -16384, i16 17328, i16 17322, i16 17273, i16 -16384, i16 17295, i16 17297, i16 16393, i16 -16384, i16 17308, i16 17309, i16 16393, i16 -16384, i16 17310, i16 17321, i16 16393, i16 -16384, i16 18201, i16 18078, i16 18021, i16 -16384, i16 18204, i16 18078, i16 18021, i16 -16384, i16 17323, i16 17324, i16 16393, i16 -16384, i16 17328, i16 17322, i16 16393, i16 -16384, i16 18006, i16 16404, i16 17273, i16 -16384, i16 18006, i16 16404, i16 16393, i16 -16384, i16 32766, i16 16382, i16 32766, i16 -16386, i16 32766, i16 16382, i16 32766, i16 -32768, i16 16384, i16 0, i16 16384, i16 -16386, i16 32766, i16 2, i16 16385, i16 -32768, i16 17065, i16 2, i16 18080, i16 -32768, i16 17065, i16 2, i16 32766, i16 -32768, i16 17065, i16 5, i16 16385, i16 -32768, i16 17065, i16 5, i16 18080, i16 -32768, i16 17065, i16 6, i16 16385, i16 -32768, i16 17065, i16 6, i16 18080, i16 -32768, i16 17065, i16 7, i16 16385, i16 -32768, i16 17065, i16 7, i16 18080, i16 -32768, i16 17065, i16 8, i16 16385, i16 -32768, i16 17065, i16 8, i16 18080, i16 -32768, i16 17065, i16 9, i16 16385, i16 -32768, i16 17065, i16 9, i16 18080, i16 -32768, i16 17065, i16 11, i16 16385, i16 -32768, i16 17065, i16 11, i16 18080, i16 -32768, i16 17065, i16 12, i16 16385, i16 -32768, i16 17065, i16 12, i16 18080, i16 -32768, i16 17065, i16 13, i16 16385, i16 -32768, i16 17065, i16 13, i16 18080, i16 -32768, i16 17065, i16 15, i16 16385, i16 -32768, i16 17065, i16 15, i16 18080, i16 -32768, i16 17065, i16 16, i16 16385, i16 -32768, i16 17065, i16 16, i16 18080, i16 -32768, i16 17065, i16 17, i16 16385, i16 -32768, i16 17065, i16 17, i16 18080, i16 -32768, i16 17065, i16 18, i16 16385, i16 -32768, i16 17065, i16 18, i16 18080, i16 -32768, i16 17065, i16 19, i16 16385, i16 -32768, i16 17065, i16 19, i16 18080, i16 -32768, i16 17065, i16 20, i16 16385, i16 -32768, i16 17065, i16 20, i16 18080, i16 -32768, i16 17065, i16 21, i16 16385, i16 -32768, i16 17065, i16 21, i16 18080, i16 -32768, i16 17065, i16 22, i16 16385, i16 -32768, i16 17065, i16 22, i16 18080, i16 -32768, i16 17065, i16 27, i16 16385, i16 -32768, i16 17065, i16 27, i16 18080, i16 -32768, i16 17065, i16 29, i16 16385, i16 -32768, i16 17065, i16 29, i16 18080, i16 -32768, i16 17065, i16 34, i16 16385, i16 -32768, i16 17065, i16 34, i16 18080, i16 -32768, i16 17065, i16 35, i16 16385, i16 -32768, i16 17065, i16 35, i16 18080, i16 -32768, i16 17065, i16 40, i16 16385, i16 -32768, i16 17065, i16 40, i16 18080, i16 -32768, i16 17065, i16 55, i16 16385, i16 -32768, i16 17065, i16 55, i16 18080, i16 -32768, i16 17113, i16 2, i16 18080, i16 -32768, i16 17113, i16 39, i16 16385, i16 -32768, i16 17113, i16 39, i16 18080, i16 -32768, i16 17113, i16 40, i16 16385, i16 -32768, i16 17113, i16 40, i16 18080, i16 -32768, i16 17113, i16 58, i16 16385, i16 -32768, i16 17113, i16 58, i16 18080, i16 -32768, i16 17122, i16 2, i16 18080, i16 -32768, i16 17122, i16 16, i16 16385, i16 -32768, i16 17122, i16 16, i16 18080, i16 -32768, i16 17122, i16 34, i16 16385, i16 -32768, i16 17122, i16 34, i16 18080, i16 -32768, i16 17122, i16 39, i16 16385, i16 -32768, i16 17122, i16 39, i16 18080, i16 -32768, i16 17122, i16 45, i16 16385, i16 -32768, i16 17122, i16 45, i16 18080, i16 -32768, i16 17133, i16 2, i16 18080, i16 -32768, i16 17133, i16 22, i16 16385, i16 -32768, i16 17133, i16 22, i16 18080, i16 -32768, i16 17133, i16 39, i16 16385, i16 -32768, i16 17133, i16 39, i16 18080, i16 -32768, i16 17133, i16 40, i16 16385, i16 -32768, i16 17133, i16 40, i16 18080, i16 -32768, i16 17133, i16 44, i16 16385, i16 -32768, i16 17133, i16 44, i16 18080, i16 -32768, i16 17133, i16 57, i16 16385, i16 -32768, i16 17133, i16 57, i16 18080, i16 -32768, i16 17133, i16 58, i16 16385, i16 -32768, i16 17133, i16 58, i16 18080, i16 -32768, i16 17148, i16 2, i16 18080, i16 -32768, i16 17148, i16 5, i16 16385, i16 -32768, i16 17148, i16 5, i16 18080, i16 -32768, i16 17148, i16 6, i16 16385, i16 -32768, i16 17148, i16 6, i16 18080, i16 -32768, i16 17148, i16 7, i16 16385, i16 -32768, i16 17148, i16 7, i16 18080, i16 -32768, i16 17148, i16 15, i16 16385, i16 -32768, i16 17148, i16 15, i16 18080, i16 -32768, i16 17148, i16 16, i16 16385, i16 -32768, i16 17148, i16 16, i16 18080, i16 -32768, i16 17148, i16 17, i16 16385, i16 -32768, i16 17148, i16 17, i16 18080, i16 -32768, i16 17148, i16 18, i16 16385, i16 -32768, i16 17148, i16 18, i16 18080, i16 -32768, i16 17148, i16 19, i16 16385, i16 -32768, i16 17148, i16 19, i16 18080, i16 -32768, i16 17148, i16 20, i16 16385, i16 -32768, i16 17148, i16 20, i16 18080, i16 -32768, i16 17148, i16 21, i16 16385, i16 -32768, i16 17148, i16 21, i16 18080, i16 -32768, i16 17148, i16 22, i16 16385, i16 -32768, i16 17148, i16 22, i16 18080, i16 -32768, i16 17148, i16 28, i16 16385, i16 -32768, i16 17148, i16 28, i16 18080, i16 -32768, i16 17148, i16 34, i16 16385, i16 -32768, i16 17148, i16 34, i16 18080, i16 -32768, i16 17148, i16 35, i16 16385, i16 -32768, i16 17148, i16 35, i16 18080, i16 -32768, i16 17148, i16 38, i16 16385, i16 -32768, i16 17148, i16 38, i16 18080, i16 -32768, i16 17148, i16 39, i16 16385, i16 -32768, i16 17148, i16 39, i16 18080, i16 -32768, i16 17148, i16 40, i16 16385, i16 -32768, i16 17148, i16 40, i16 18080, i16 -32768, i16 17148, i16 47, i16 16385, i16 -32768, i16 17148, i16 47, i16 18080, i16 -32768, i16 17148, i16 51, i16 16385, i16 -32768, i16 17148, i16 51, i16 18080, i16 -32768, i16 17148, i16 52, i16 16385, i16 -32768, i16 17148, i16 52, i16 18080, i16 -32768, i16 17148, i16 57, i16 16385, i16 -32768, i16 17148, i16 57, i16 18080, i16 -32768, i16 17193, i16 2, i16 18080, i16 -32768, i16 17193, i16 34, i16 16385, i16 -32768, i16 17193, i16 34, i16 18080, i16 -32768, i16 17193, i16 39, i16 16385, i16 -32768, i16 17193, i16 39, i16 18080, i16 -32768, i16 18531, i16 2150, i16 18537, i16 -32768, i16 18540, i16 2150, i16 18543, i16 -32768, i16 18546, i16 2150, i16 18549, i16 -32768, i16 18552, i16 2172, i16 18560, i16 -32768, i16 18564, i16 2172, i16 18568, i16 -32768, i16 17205, i16 2, i16 18080, i16 -32768, i16 17205, i16 3, i16 16385, i16 -32768, i16 17205, i16 3, i16 18080, i16 -32768, i16 17205, i16 16, i16 16385, i16 -32768, i16 17205, i16 16, i16 18080, i16 -32768, i16 17205, i16 22, i16 16385, i16 -32768, i16 17205, i16 22, i16 18080, i16 -32768, i16 17205, i16 39, i16 16385, i16 -32768, i16 17205, i16 39, i16 18080, i16 -32768, i16 17205, i16 42, i16 16385, i16 -32768, i16 17205, i16 42, i16 18080, i16 -32768, i16 17205, i16 50, i16 16385, i16 -32768, i16 17205, i16 50, i16 18080, i16 -32768, i16 17220, i16 2, i16 18080, i16 -32768, i16 17220, i16 14, i16 16385, i16 -32768, i16 17220, i16 14, i16 18080, i16 -32768, i16 17220, i16 16, i16 16385, i16 -32768, i16 17220, i16 16, i16 18080, i16 -32768, i16 17220, i16 28, i16 16385, i16 -32768, i16 17220, i16 28, i16 18080, i16 -32768, i16 17220, i16 39, i16 16385, i16 -32768, i16 17220, i16 39, i16 18080, i16 -32768, i16 17220, i16 40, i16 16385, i16 -32768, i16 17220, i16 40, i16 18080, i16 -32768, i16 17220, i16 42, i16 16385, i16 -32768, i16 17220, i16 42, i16 18080, i16 -32768, i16 17220, i16 44, i16 16385, i16 -32768, i16 17220, i16 44, i16 18080, i16 -32768, i16 18178, i16 2, i16 18080, i16 -32768, i16 18178, i16 5, i16 16385, i16 -32768, i16 18178, i16 5, i16 18080, i16 -32768, i16 18178, i16 6, i16 16385, i16 -32768, i16 18178, i16 6, i16 18080, i16 -32768, i16 18178, i16 7, i16 16385, i16 -32768, i16 18178, i16 7, i16 18080, i16 -32768, i16 18178, i16 15, i16 16385, i16 -32768, i16 18178, i16 15, i16 18080, i16 -32768, i16 18178, i16 16, i16 16385, i16 -32768, i16 18178, i16 16, i16 18080, i16 -32768, i16 18178, i16 22, i16 16385, i16 -32768, i16 18178, i16 22, i16 18080, i16 -32768, i16 18178, i16 28, i16 16385, i16 -32768, i16 18178, i16 28, i16 18080, i16 -32768, i16 18178, i16 30, i16 16385, i16 -32768, i16 18178, i16 30, i16 18080, i16 -32768, i16 18178, i16 34, i16 16385, i16 -32768, i16 18178, i16 34, i16 18080, i16 -32768, i16 18178, i16 35, i16 16385, i16 -32768, i16 18178, i16 35, i16 18080, i16 -32768, i16 18178, i16 38, i16 16385, i16 -32768, i16 18178, i16 38, i16 18080, i16 -32768, i16 18178, i16 40, i16 16385, i16 -32768, i16 18178, i16 40, i16 18080, i16 -32768, i16 18178, i16 48, i16 16385, i16 -32768, i16 18178, i16 48, i16 18080, i16 -32768, i16 18572, i16 2191, i16 18578, i16 -32768, i16 18572, i16 2191, i16 18581, i16 -32768, i16 17267, i16 2, i16 18080, i16 -32768, i16 17267, i16 16, i16 16385, i16 -32768, i16 17267, i16 16, i16 18080, i16 -32768, i16 17272, i16 2, i16 18080, i16 -32768, i16 17272, i16 3, i16 16385, i16 -32768, i16 17272, i16 3, i16 18080, i16 -32768, i16 17272, i16 22, i16 16385, i16 -32768, i16 17272, i16 22, i16 18080, i16 -32768, i16 17272, i16 34, i16 16385, i16 -32768, i16 17272, i16 34, i16 18080, i16 -32768, i16 17272, i16 40, i16 16385, i16 -32768, i16 17272, i16 40, i16 18080, i16 -32768, i16 17272, i16 58, i16 16385, i16 -32768, i16 17272, i16 58, i16 18080, i16 -32768, i16 17285, i16 2, i16 18080, i16 -32768, i16 17285, i16 3, i16 16385, i16 -32768, i16 17285, i16 3, i16 18080, i16 -32768, i16 17285, i16 22, i16 16385, i16 -32768, i16 17285, i16 22, i16 18080, i16 -32768, i16 17285, i16 39, i16 16385, i16 -32768, i16 17285, i16 39, i16 18080, i16 -32768, i16 17285, i16 40, i16 16385, i16 -32768, i16 17285, i16 40, i16 18080, i16 -32768, i16 17285, i16 56, i16 16385, i16 -32768, i16 17285, i16 56, i16 18080, i16 -32768, i16 17285, i16 57, i16 16385, i16 -32768, i16 17285, i16 57, i16 18080, i16 -32768, i16 17285, i16 58, i16 16385, i16 -32768, i16 17285, i16 58, i16 18080, i16 -32768, i16 17302, i16 2, i16 18080, i16 -32768, i16 17302, i16 3, i16 16385, i16 -32768, i16 17302, i16 3, i16 18080, i16 -32768, i16 17302, i16 39, i16 16385, i16 -32768, i16 17302, i16 39, i16 18080, i16 -32768, i16 17302, i16 40, i16 16385, i16 -32768, i16 17302, i16 40, i16 18080, i16 -32768, i16 17311, i16 2, i16 18080, i16 -32768, i16 17311, i16 22, i16 16385, i16 -32768, i16 17311, i16 22, i16 18080, i16 -32768, i16 17311, i16 39, i16 16385, i16 -32768, i16 17311, i16 39, i16 18080, i16 -32768, i16 17311, i16 40, i16 16385, i16 -32768, i16 17311, i16 40, i16 18080, i16 -32768, i16 17311, i16 57, i16 16385, i16 -32768, i16 17311, i16 57, i16 18080, i16 -32768, i16 17311, i16 58, i16 16385, i16 -32768, i16 17311, i16 58, i16 18080, i16 -32768, i16 17311, i16 65, i16 18080, i16 -32768, i16 17325, i16 2, i16 18080, i16 -32768, i16 17325, i16 2, i16 32766, i16 -32768, i16 17325, i16 5, i16 16385, i16 -32768, i16 17325, i16 5, i16 18080, i16 -32768, i16 17325, i16 6, i16 16385, i16 -32768, i16 17325, i16 6, i16 18080, i16 -32768, i16 17325, i16 7, i16 16385, i16 -32768, i16 17325, i16 7, i16 18080, i16 -32768, i16 17325, i16 15, i16 16385, i16 -32768, i16 17325, i16 15, i16 18080, i16 -32768, i16 17325, i16 16, i16 16385, i16 -32768, i16 17325, i16 16, i16 18080, i16 -32768, i16 17325, i16 17, i16 16385, i16 -32768, i16 17325, i16 17, i16 18080, i16 -32768, i16 17325, i16 18, i16 16385, i16 -32768, i16 17325, i16 18, i16 18080, i16 -32768, i16 17325, i16 19, i16 16385, i16 -32768, i16 17325, i16 19, i16 18080, i16 -32768, i16 17325, i16 20, i16 16385, i16 -32768, i16 17325, i16 20, i16 18080, i16 -32768, i16 17325, i16 21, i16 16385, i16 -32768, i16 17325, i16 21, i16 18080, i16 -32768, i16 17325, i16 22, i16 16385, i16 -32768, i16 17325, i16 22, i16 18080, i16 -32768, i16 17325, i16 34, i16 16385, i16 -32768, i16 17325, i16 34, i16 18080, i16 -32768, i16 17325, i16 36, i16 16385, i16 -32768, i16 17325, i16 36, i16 18080, i16 -32768, i16 17325, i16 37, i16 16385, i16 -32768, i16 17325, i16 37, i16 18080, i16 -32768, i16 17325, i16 40, i16 16385, i16 -32768, i16 17325, i16 40, i16 18080, i16 -32768, i16 17325, i16 48, i16 16385, i16 -32768, i16 17325, i16 48, i16 18080, i16 -32768, i16 17325, i16 49, i16 16385, i16 -32768, i16 17325, i16 49, i16 18080, i16 -32768, i16 17325, i16 51, i16 16385, i16 -32768, i16 17325, i16 51, i16 18080, i16 -32768, i16 17325, i16 52, i16 16385, i16 -32768, i16 17325, i16 52, i16 18080, i16 -32768, i16 17325, i16 59, i16 16385, i16 -32768, i16 17325, i16 59, i16 18080, i16 -32768, i16 17325, i16 60, i16 16385, i16 -32768, i16 17325, i16 60, i16 18080, i16 -32768, i16 17325, i16 61, i16 16385, i16 -32768, i16 17325, i16 61, i16 18080, i16 -32768, i16 17325, i16 62, i16 16385, i16 -32768, i16 17325, i16 62, i16 18080, i16 -32768, i16 17325, i16 63, i16 16385, i16 -32768, i16 17325, i16 63, i16 18080, i16 -32768, i16 17325, i16 64, i16 16385, i16 -32768, i16 17325, i16 64, i16 18080, i16 -32768, i16 17379, i16 2, i16 18080, i16 -32768, i16 17379, i16 3, i16 16385, i16 -32768, i16 17379, i16 3, i16 18080, i16 -32768, i16 17379, i16 39, i16 16385, i16 -32768, i16 17379, i16 39, i16 18080, i16 -32768, i16 17386, i16 2, i16 18080, i16 -32768, i16 17389, i16 2, i16 18080, i16 -32768, i16 17389, i16 3, i16 16385, i16 -32768, i16 17389, i16 3, i16 18080, i16 -32768, i16 17389, i16 6, i16 16385, i16 -32768, i16 17389, i16 6, i16 18080, i16 -32768, i16 17389, i16 15, i16 16385, i16 -32768, i16 17389, i16 15, i16 18080, i16 -32768, i16 17389, i16 22, i16 16385, i16 -32768, i16 17389, i16 22, i16 18080, i16 -32768, i16 17389, i16 39, i16 16385, i16 -32768, i16 17389, i16 39, i16 18080, i16 -32768, i16 17389, i16 40, i16 16385, i16 -32768, i16 17389, i16 40, i16 18080, i16 -32768, i16 17389, i16 56, i16 16385, i16 -32768, i16 17389, i16 56, i16 18080, i16 -32768, i16 17389, i16 58, i16 16385, i16 -32768, i16 17389, i16 58, i16 18080, i16 -32768, i16 17408, i16 2, i16 18080, i16 -32768, i16 18584, i16 2150, i16 18587, i16 -32768, i16 17408, i16 4, i16 16385, i16 -32768, i16 17408, i16 4, i16 18080, i16 -32768, i16 17408, i16 16, i16 16385, i16 -32768, i16 17408, i16 16, i16 18080, i16 -32768, i16 17408, i16 24, i16 16385, i16 -32768, i16 17408, i16 24, i16 18080, i16 -32768, i16 17408, i16 39, i16 16385, i16 -32768, i16 17408, i16 39, i16 18080, i16 -32768, i16 17408, i16 40, i16 16385, i16 -32768, i16 17408, i16 40, i16 18080, i16 -32768, i16 17408, i16 41, i16 16385, i16 -32768, i16 17408, i16 41, i16 18080, i16 -32768, i16 17408, i16 16382, i16 18080, i16 -32768, i16 18590, i16 2150, i16 18593, i16 -32768, i16 18584, i16 2150, i16 18596, i16 -32768, i16 17427, i16 2, i16 18080, i16 -32768, i16 17427, i16 22, i16 16385, i16 -32768, i16 17427, i16 22, i16 18080, i16 -32768, i16 17427, i16 39, i16 16385, i16 -32768, i16 17427, i16 39, i16 18080, i16 -32768, i16 17427, i16 40, i16 16385, i16 -32768, i16 17427, i16 40, i16 18080, i16 -32768, i16 17427, i16 42, i16 16385, i16 -32768, i16 17427, i16 42, i16 18080, i16 -32768, i16 17427, i16 44, i16 16385, i16 -32768, i16 17427, i16 44, i16 18080, i16 -32768, i16 17427, i16 57, i16 16385, i16 -32768, i16 17427, i16 57, i16 18080, i16 -32768, i16 17427, i16 58, i16 16385, i16 -32768, i16 17427, i16 58, i16 18080, i16 -32768, i16 17444, i16 2, i16 18080, i16 -32768, i16 17444, i16 5, i16 16385, i16 -32768, i16 17444, i16 5, i16 18080, i16 -32768, i16 17444, i16 6, i16 16385, i16 -32768, i16 17444, i16 6, i16 18080, i16 -32768, i16 17444, i16 7, i16 16385, i16 -32768, i16 17444, i16 7, i16 18080, i16 -32768, i16 17444, i16 15, i16 16385, i16 -32768, i16 17444, i16 15, i16 18080, i16 -32768, i16 17444, i16 16, i16 16385, i16 -32768, i16 17444, i16 16, i16 18080, i16 -32768, i16 17444, i16 22, i16 16385, i16 -32768, i16 17444, i16 22, i16 18080, i16 -32768, i16 17444, i16 25, i16 16385, i16 -32768, i16 17444, i16 25, i16 18080, i16 -32768, i16 17444, i16 29, i16 16385, i16 -32768, i16 17444, i16 29, i16 18080, i16 -32768, i16 17444, i16 30, i16 16385, i16 -32768, i16 17444, i16 30, i16 18080, i16 -32768, i16 17444, i16 31, i16 16385, i16 -32768, i16 17444, i16 31, i16 18080, i16 -32768, i16 17444, i16 32, i16 16385, i16 -32768, i16 17444, i16 32, i16 18080, i16 -32768, i16 17444, i16 34, i16 16385, i16 -32768, i16 17444, i16 34, i16 18080, i16 -32768, i16 17444, i16 35, i16 16385, i16 -32768, i16 17444, i16 35, i16 18080, i16 -32768, i16 17444, i16 36, i16 16385, i16 -32768, i16 17444, i16 36, i16 18080, i16 -32768, i16 17444, i16 38, i16 16385, i16 -32768, i16 17444, i16 38, i16 18080, i16 -32768, i16 17444, i16 40, i16 16385, i16 -32768, i16 17444, i16 40, i16 18080, i16 -32768, i16 17444, i16 48, i16 16385, i16 -32768, i16 17444, i16 48, i16 18080, i16 -32768, i16 17444, i16 53, i16 16385, i16 -32768, i16 17444, i16 53, i16 18080, i16 -32768, i16 17444, i16 54, i16 16385, i16 -32768, i16 17444, i16 54, i16 18080, i16 -32768, i16 17444, i16 57, i16 16385, i16 -32768, i16 17444, i16 57, i16 18080, i16 -32768, i16 17444, i16 59, i16 16385, i16 -32768, i16 17444, i16 59, i16 18080, i16 -32768, i16 17444, i16 60, i16 16385, i16 -32768, i16 17444, i16 60, i16 18080, i16 -32768, i16 17444, i16 61, i16 16385, i16 -32768, i16 17444, i16 61, i16 18080, i16 -32768, i16 17444, i16 62, i16 16385, i16 -32768, i16 17444, i16 62, i16 18080, i16 -32768, i16 17444, i16 63, i16 16385, i16 -32768, i16 17444, i16 63, i16 18080, i16 -32768, i16 17444, i16 64, i16 16385, i16 -32768, i16 17444, i16 64, i16 18080, i16 -32768, i16 17501, i16 2, i16 18080, i16 -32768, i16 17501, i16 28, i16 16385, i16 -32768, i16 17501, i16 28, i16 18080, i16 -32768, i16 17501, i16 39, i16 16385, i16 -32768, i16 17501, i16 39, i16 18080, i16 -32768, i16 18254, i16 5, i16 16385, i16 -32768, i16 18254, i16 5, i16 18080, i16 -32768, i16 18254, i16 16, i16 16385, i16 -32768, i16 18254, i16 16, i16 18080, i16 -32768, i16 18254, i16 28, i16 16385, i16 -32768, i16 18254, i16 28, i16 18080, i16 -32768, i16 18254, i16 34, i16 16385, i16 -32768, i16 18254, i16 34, i16 18080, i16 -32768, i16 18254, i16 35, i16 16385, i16 -32768, i16 18254, i16 35, i16 18080, i16 -32768, i16 18254, i16 39, i16 16385, i16 -32768, i16 18254, i16 39, i16 18080, i16 -32768, i16 18254, i16 40, i16 16385, i16 -32768, i16 18254, i16 40, i16 18080, i16 -32768, i16 18259, i16 16, i16 16385, i16 -32768, i16 18259, i16 16, i16 18080, i16 -32768, i16 18259, i16 40, i16 16385, i16 -32768, i16 18259, i16 40, i16 18080, i16 -32768, i16 18259, i16 42, i16 16385, i16 -32768, i16 18259, i16 42, i16 18080, i16 -32768, i16 18259, i16 58, i16 16385, i16 -32768, i16 18259, i16 58, i16 18080, i16 -32768, i16 32766, i16 1, i16 16450, i16 -32768, i16 17531, i16 1, i16 16451, i16 -32768, i16 17531, i16 1696, i16 16450, i16 -32768, i16 17531, i16 1696, i16 16451, i16 -32768, i16 17535, i16 1696, i16 16450, i16 -32768, i16 17537, i16 1696, i16 16450, i16 -32768, i16 17539, i16 1696, i16 16450, i16 -32768, i16 17541, i16 1, i16 16451, i16 -32768, i16 17541, i16 1696, i16 16450, i16 -32768, i16 17541, i16 1696, i16 16451, i16 -32768, i16 17545, i16 1696, i16 16450, i16 -32768, i16 17547, i16 1, i16 16451, i16 -32768, i16 17547, i16 1696, i16 16450, i16 -32768, i16 17547, i16 1696, i16 16451, i16 -32768, i16 17551, i16 1696, i16 16450, i16 -32768, i16 17553, i16 1, i16 16451, i16 -32768, i16 17553, i16 1, i16 16452, i16 -32768, i16 17553, i16 1696, i16 16450, i16 -32768, i16 17553, i16 1696, i16 16451, i16 -32768, i16 17553, i16 1696, i16 16452, i16 -32768, i16 17553, i16 1696, i16 16453, i16 -32768, i16 17560, i16 1696, i16 16450, i16 -32768, i16 17562, i16 1696, i16 16450, i16 -32768, i16 17564, i16 1696, i16 16450, i16 -32768, i16 17566, i16 1696, i16 16450, i16 -32768, i16 17568, i16 1696, i16 16450, i16 -32768, i16 17570, i16 1, i16 16451, i16 -32768, i16 17570, i16 1696, i16 16450, i16 -32768, i16 17570, i16 1696, i16 16451, i16 -32768, i16 17574, i16 1696, i16 16450, i16 -32768, i16 17576, i16 1696, i16 16450, i16 -32768, i16 17578, i16 1696, i16 16450, i16 -32768, i16 17578, i16 1696, i16 32766, i16 -32768, i16 17581, i16 1696, i16 16450, i16 -32768, i16 17583, i16 1, i16 16451, i16 -32768, i16 17583, i16 1, i16 16452, i16 -32768, i16 17583, i16 1696, i16 16450, i16 -32768, i16 17583, i16 1696, i16 16451, i16 -32768, i16 17583, i16 1696, i16 16452, i16 -32768, i16 17583, i16 1696, i16 16453, i16 -32768, i16 17590, i16 1696, i16 16450, i16 -32768, i16 17592, i16 1696, i16 16450, i16 -32768, i16 17594, i16 1696, i16 16450, i16 -32768, i16 17596, i16 1, i16 16451, i16 -32768, i16 17596, i16 1696, i16 16450, i16 -32768, i16 17596, i16 1696, i16 16451, i16 -32768, i16 32766, i16 70, i16 16385, i16 -32768, i16 17600, i16 70, i16 18080, i16 -32768, i16 17602, i16 70, i16 18080, i16 -32768, i16 17604, i16 70, i16 18080, i16 -32768, i16 17606, i16 70, i16 18080, i16 -32768, i16 17608, i16 70, i16 18080, i16 -32768, i16 17610, i16 70, i16 18080, i16 -32768, i16 17612, i16 70, i16 18080, i16 -32768, i16 17614, i16 70, i16 18080, i16 -32768, i16 17616, i16 70, i16 18080, i16 -32768, i16 17618, i16 70, i16 18080, i16 -32768, i16 17620, i16 70, i16 18080, i16 -32768, i16 17622, i16 70, i16 18080, i16 -32768, i16 17624, i16 70, i16 18080, i16 -32768, i16 17626, i16 70, i16 18080, i16 -32768, i16 17628, i16 70, i16 18080, i16 -32768, i16 17630, i16 70, i16 18080, i16 -32768, i16 17632, i16 70, i16 18080, i16 -32768, i16 17634, i16 70, i16 18080, i16 -32768, i16 17636, i16 70, i16 18080, i16 -32768, i16 17638, i16 70, i16 18080, i16 -32768, i16 17640, i16 70, i16 18080, i16 -32768, i16 17642, i16 70, i16 18080, i16 -32768, i16 17644, i16 70, i16 18080, i16 -32768, i16 17646, i16 70, i16 18080, i16 -32768, i16 17648, i16 70, i16 18080, i16 -32768, i16 17650, i16 70, i16 18080, i16 -32768, i16 17652, i16 70, i16 18080, i16 -32768, i16 17654, i16 70, i16 18080, i16 -32768, i16 17656, i16 70, i16 18080, i16 -32768, i16 17658, i16 70, i16 18080, i16 -32768, i16 17660, i16 70, i16 18080, i16 -32768, i16 17662, i16 70, i16 18080, i16 -32768, i16 17664, i16 70, i16 18080, i16 -32768, i16 17666, i16 70, i16 18080, i16 -32768, i16 17668, i16 70, i16 18080, i16 -32768, i16 17670, i16 70, i16 18080, i16 -32768, i16 17672, i16 70, i16 18080, i16 -32768, i16 17674, i16 70, i16 18080, i16 -32768, i16 17676, i16 70, i16 18080, i16 -32768, i16 17678, i16 70, i16 18080, i16 -32768, i16 17680, i16 70, i16 18080, i16 -32768, i16 32766, i16 70, i16 18080, i16 -32768, i16 17682, i16 70, i16 16385, i16 -32768, i16 17684, i16 70, i16 18080, i16 -32768, i16 17686, i16 70, i16 16385, i16 -32768, i16 17688, i16 70, i16 18080, i16 -32768, i16 17690, i16 70, i16 18080, i16 -32768, i16 17692, i16 70, i16 18080, i16 -32768, i16 17694, i16 70, i16 18080, i16 -32768, i16 17696, i16 70, i16 18080, i16 -32768, i16 17698, i16 70, i16 18080, i16 -32768, i16 17700, i16 70, i16 18080, i16 -32768, i16 17702, i16 70, i16 18080, i16 -32768, i16 32766, i16 0, i16 16384, i16 -32768, i16 32766, i16 16382, i16 16384, i16 -32768, i16 17736, i16 16382, i16 16384, i16 -32768, i16 17735, i16 16382, i16 16384, i16 -32768, i16 17745, i16 16382, i16 16384, i16 -32768, i16 17749, i16 16382, i16 16384, i16 -32768, i16 17756, i16 16382, i16 16384, i16 -32768, i16 17764, i16 16382, i16 16384, i16 -32768, i16 17769, i16 16382, i16 16384, i16 -32768, i16 17774, i16 16382, i16 16384, i16 -32768, i16 17779, i16 16382, i16 16384, i16 -32768, i16 17784, i16 16382, i16 16384, i16 -32768, i16 17787, i16 16382, i16 16384, i16 -32768, i16 17790, i16 16382, i16 16384, i16 -32768, i16 17793, i16 16382, i16 16384, i16 -32768, i16 17796, i16 16382, i16 16384, i16 -32768, i16 17801, i16 16382, i16 16384, i16 -32768, i16 17806, i16 16382, i16 16384, i16 -32768, i16 17811, i16 16382, i16 16384, i16 -32768, i16 17816, i16 16382, i16 16384, i16 -32768, i16 17821, i16 16382, i16 16384, i16 -32768, i16 17826, i16 16382, i16 16384, i16 -32768, i16 17831, i16 16382, i16 16384, i16 -32768, i16 17836, i16 16382, i16 16384, i16 -32768, i16 17841, i16 16382, i16 16384, i16 -32768, i16 17846, i16 16382, i16 16384, i16 -32768, i16 17851, i16 16382, i16 16384, i16 -32768, i16 17856, i16 16382, i16 16384, i16 -32768, i16 17861, i16 16382, i16 16384, i16 -32768, i16 17866, i16 16382, i16 16384, i16 -32768, i16 17871, i16 16382, i16 16384, i16 -32768, i16 17874, i16 16382, i16 16384, i16 -32768, i16 17877, i16 16382, i16 16384, i16 -32768, i16 16384, i16 0, i16 32766, i16 -32768, i16 18115, i16 16382, i16 16384, i16 -32768, i16 18124, i16 16382, i16 16384, i16 -32768, i16 18125, i16 16382, i16 16384, i16 -32768, i16 18126, i16 16382, i16 16384, i16 -32768, i16 18127, i16 16382, i16 16384, i16 -32768, i16 18128, i16 16382, i16 16384, i16 -32768, i16 18129, i16 16382, i16 16384, i16 -32768, i16 18130, i16 16382, i16 16384, i16 -32768, i16 18131, i16 16382, i16 16384, i16 -32768, i16 18132, i16 16382, i16 16384, i16 -32768, i16 18599, i16 2218, i16 18605, i16 -32768, i16 18599, i16 2224, i16 18611, i16 -32768, i16 18614, i16 2233, i16 18620, i16 -32768, i16 18614, i16 2239, i16 18626, i16 -32768, i16 18629, i16 2248, i16 18635, i16 -32768, i16 18629, i16 2254, i16 18641, i16 -32768, i16 18644, i16 2263, i16 18650, i16 -32768, i16 18644, i16 2269, i16 18656, i16 -32768, i16 17909, i16 16382, i16 16384, i16 -32768, i16 17913, i16 16382, i16 16384, i16 -32768, i16 17917, i16 16382, i16 16384, i16 -32768, i16 17922, i16 16382, i16 16384, i16 -32768, i16 17926, i16 16382, i16 16384, i16 -32768, i16 17930, i16 16382, i16 16384, i16 -32768, i16 17935, i16 16382, i16 16384, i16 -32768, i16 17939, i16 16382, i16 16384, i16 -32768, i16 17943, i16 16382, i16 16384, i16 -32768, i16 17948, i16 16382, i16 16384, i16 -32768, i16 17952, i16 16382, i16 16384, i16 -32768, i16 17956, i16 16382, i16 16384, i16 -32768, i16 17960, i16 16382, i16 16384, i16 -32768, i16 17964, i16 16382, i16 16384, i16 -32768, i16 17968, i16 16382, i16 16384, i16 -32768, i16 17972, i16 16382, i16 16384, i16 -32768, i16 17976, i16 16382, i16 16384, i16 -32768, i16 17980, i16 16382, i16 16384, i16 -32768, i16 17986, i16 16382, i16 16384, i16 -32768, i16 17990, i16 16382, i16 16384, i16 -32768, i16 17994, i16 16382, i16 16384, i16 -32768, i16 17996, i16 16382, i16 16384, i16 -32768, i16 17998, i16 16382, i16 16384, i16 -32768, i16 18000, i16 16382, i16 16384, i16 -32768, i16 18002, i16 16382, i16 16384, i16 -32768, i16 18004, i16 16382, i16 16384, i16 -32768, i16 18010, i16 16382, i16 16384, i16 -32768, i16 18016, i16 16382, i16 16384, i16 -32768, i16 18022, i16 16382, i16 16384, i16 -32768, i16 18028, i16 16382, i16 16384, i16 -32768, i16 18034, i16 16382, i16 16384, i16 -32768, i16 18036, i16 16382, i16 16384, i16 -32768, i16 18038, i16 16382, i16 16384, i16 -32768, i16 18040, i16 16382, i16 16384, i16 -32768, i16 18042, i16 16382, i16 16384, i16 -32768, i16 18044, i16 16382, i16 16384, i16 -32768, i16 18048, i16 16382, i16 16384, i16 -32768, i16 18052, i16 16382, i16 16384, i16 -32768, i16 18056, i16 16382, i16 16384, i16 -32768, i16 18058, i16 16382, i16 16384, i16 -32768, i16 18060, i16 16382, i16 16384, i16 -32768, i16 18062, i16 16382, i16 16384, i16 -32768, i16 18064, i16 16382, i16 16384, i16 -32768, i16 18066, i16 16382, i16 16384, i16 -32768, i16 18070, i16 16382, i16 16384, i16 -32768, i16 18072, i16 16382, i16 16384, i16 -32768, i16 18074, i16 16382, i16 16384, i16 -32768, i16 18076, i16 16382, i16 16384, i16 -32768, i16 17065, i16 3, i16 16385, i16 -32768, i16 17065, i16 3, i16 18080, i16 -32768, i16 17065, i16 25, i16 16385, i16 -32768, i16 17065, i16 25, i16 18080, i16 -32768, i16 17065, i16 26, i16 16385, i16 -32768, i16 17065, i16 26, i16 18080, i16 -32768, i16 17065, i16 28, i16 16385, i16 -32768, i16 17065, i16 28, i16 18080, i16 -32768, i16 17065, i16 48, i16 16385, i16 -32768, i16 17065, i16 48, i16 18080, i16 -32768, i16 17065, i16 50, i16 16385, i16 -32768, i16 17065, i16 50, i16 18080, i16 -32768, i16 18659, i16 2278, i16 18578, i16 -32768, i16 18659, i16 2278, i16 18581, i16 -32768, i16 18659, i16 2281, i16 18578, i16 -32768, i16 18659, i16 2281, i16 18581, i16 -32768, i16 18659, i16 2284, i16 18578, i16 -32768, i16 18659, i16 2284, i16 18581, i16 -32768, i16 17122, i16 3, i16 16385, i16 -32768, i16 17122, i16 3, i16 18080, i16 -32768, i16 17122, i16 22, i16 16385, i16 -32768, i16 17122, i16 22, i16 18080, i16 -32768, i16 18164, i16 2, i16 18080, i16 -32768, i16 17133, i16 42, i16 16385, i16 -32768, i16 17133, i16 42, i16 18080, i16 -32768, i16 17148, i16 3, i16 16385, i16 -32768, i16 17148, i16 3, i16 18080, i16 -32768, i16 17148, i16 48, i16 16385, i16 -32768, i16 17148, i16 48, i16 18080, i16 -32768, i16 17148, i16 50, i16 16385, i16 -32768, i16 17148, i16 50, i16 18080, i16 -32768, i16 17205, i16 44, i16 16385, i16 -32768, i16 17205, i16 44, i16 18080, i16 -32768, i16 18176, i16 2, i16 18080, i16 -32768, i16 18179, i16 2, i16 16385, i16 -32768, i16 32766, i16 2, i16 18080, i16 -32768, i16 18178, i16 2, i16 16385, i16 -32768, i16 18178, i16 3, i16 16385, i16 -32768, i16 18178, i16 3, i16 18080, i16 -32768, i16 18178, i16 50, i16 16385, i16 -32768, i16 18178, i16 50, i16 18080, i16 -32768, i16 17272, i16 44, i16 16385, i16 -32768, i16 17272, i16 44, i16 18080, i16 -32768, i16 17285, i16 42, i16 16385, i16 -32768, i16 17285, i16 42, i16 18080, i16 -32768, i16 17285, i16 44, i16 16385, i16 -32768, i16 17285, i16 44, i16 18080, i16 -32768, i16 17311, i16 3, i16 16385, i16 -32768, i16 17311, i16 3, i16 18080, i16 -32768, i16 17311, i16 35, i16 16385, i16 -32768, i16 17311, i16 35, i16 18080, i16 -32768, i16 17311, i16 44, i16 16385, i16 -32768, i16 17311, i16 44, i16 18080, i16 -32768, i16 18671, i16 2290, i16 18578, i16 -32768, i16 18671, i16 2290, i16 18581, i16 -32768, i16 17325, i16 3, i16 16385, i16 -32768, i16 17325, i16 3, i16 18080, i16 -32768, i16 17325, i16 33, i16 16385, i16 -32768, i16 17325, i16 33, i16 18080, i16 -32768, i16 17325, i16 35, i16 16385, i16 -32768, i16 17325, i16 35, i16 18080, i16 -32768, i16 17325, i16 42, i16 16385, i16 -32768, i16 17325, i16 42, i16 18080, i16 -32768, i16 17325, i16 43, i16 16385, i16 -32768, i16 17325, i16 43, i16 18080, i16 -32768, i16 17325, i16 50, i16 16385, i16 -32768, i16 17325, i16 50, i16 18080, i16 -32768, i16 18212, i16 2, i16 18080, i16 -32768, i16 18677, i16 2296, i16 18578, i16 -32768, i16 18677, i16 2296, i16 18581, i16 -32768, i16 17389, i16 44, i16 16385, i16 -32768, i16 17389, i16 44, i16 18080, i16 -32768, i16 17408, i16 3, i16 16385, i16 -32768, i16 17408, i16 3, i16 18080, i16 -32768, i16 17408, i16 22, i16 16385, i16 -32768, i16 17408, i16 22, i16 18080, i16 -32768, i16 18222, i16 2, i16 18080, i16 -32768, i16 18683, i16 2302, i16 18578, i16 -32768, i16 18683, i16 2302, i16 18581, i16 -32768, i16 17444, i16 3, i16 16385, i16 -32768, i16 17444, i16 3, i16 18080, i16 -32768, i16 17444, i16 33, i16 16385, i16 -32768, i16 17444, i16 33, i16 18080, i16 -32768, i16 17444, i16 50, i16 16385, i16 -32768, i16 17444, i16 50, i16 18080, i16 -32768, i16 18232, i16 2, i16 18080, i16 -32768, i16 18234, i16 2, i16 18080, i16 -32768, i16 18234, i16 35, i16 16385, i16 -32768, i16 18234, i16 35, i16 18080, i16 -32768, i16 18234, i16 40, i16 16385, i16 -32768, i16 18234, i16 40, i16 18080, i16 -32768, i16 18240, i16 2, i16 18080, i16 -32768, i16 18240, i16 3, i16 16385, i16 -32768, i16 18240, i16 3, i16 18080, i16 -32768, i16 18240, i16 5, i16 16385, i16 -32768, i16 18240, i16 5, i16 18080, i16 -32768, i16 18240, i16 16, i16 16385, i16 -32768, i16 18240, i16 16, i16 18080, i16 -32768, i16 18240, i16 28, i16 16385, i16 -32768, i16 18240, i16 28, i16 18080, i16 -32768, i16 18240, i16 39, i16 16385, i16 -32768, i16 18240, i16 39, i16 18080, i16 -32768, i16 18240, i16 40, i16 16385, i16 -32768, i16 18240, i16 40, i16 18080, i16 -32768, i16 18254, i16 2, i16 18080, i16 -32768, i16 18254, i16 3, i16 16385, i16 -32768, i16 18254, i16 3, i16 18080, i16 -32768, i16 18259, i16 2, i16 18080, i16 -32768, i16 18259, i16 3, i16 16385, i16 -32768, i16 18259, i16 3, i16 18080, i16 -32768, i16 18259, i16 22, i16 16385, i16 -32768, i16 18259, i16 22, i16 18080, i16 -32768, i16 18259, i16 39, i16 16385, i16 -32768, i16 18259, i16 39, i16 18080, i16 -32768, i16 17272, i16 16382, i16 18080, i16 -32768, i16 17122, i16 44, i16 16385, i16 -32768, i16 17122, i16 44, i16 18080, i16 -32768, i16 17205, i16 7, i16 16385, i16 -32768, i16 17205, i16 7, i16 18080, i16 -32768, i16 18178, i16 39, i16 16385, i16 -32768, i16 18178, i16 39, i16 18080, i16 -32768, i16 17408, i16 44, i16 16385, i16 -32768, i16 17408, i16 44, i16 18080, i16 -32768, i16 32766, i16 16382, i16 16386, i16 -32767, i16 18234, i16 1850, i16 16386, i16 -31072, i16 18234, i16 1850, i16 16419, i16 -32767, i16 18234, i16 1850, i16 16419, i16 -31072, i16 18234, i16 1850, i16 16424, i16 -32767, i16 18234, i16 1850, i16 16424, i16 -31072, i16 18240, i16 1856, i16 16386, i16 -31072, i16 18240, i16 1856, i16 16387, i16 -32767, i16 18240, i16 1856, i16 16387, i16 -31072, i16 18240, i16 1856, i16 16389, i16 -32767, i16 18240, i16 1856, i16 16389, i16 -31072, i16 18240, i16 1856, i16 16400, i16 -32767, i16 18240, i16 1856, i16 16400, i16 -31072, i16 18240, i16 1856, i16 16412, i16 -32767, i16 18240, i16 1856, i16 16412, i16 -31072, i16 18240, i16 1856, i16 16423, i16 -32767, i16 18240, i16 1856, i16 16423, i16 -31072, i16 18240, i16 1856, i16 16424, i16 -32767, i16 18240, i16 1856, i16 16424, i16 -31072, i16 18254, i16 73, i16 16385, i16 -32768, i16 18254, i16 73, i16 18080, i16 -32768, i16 18144, i16 2, i16 18080, i16 -32768, i16 18144, i16 3, i16 16385, i16 -32768, i16 18144, i16 3, i16 18080, i16 -32768, i16 18148, i16 2, i16 18080, i16 -32768, i16 18148, i16 16382, i16 16385, i16 -32768, i16 18148, i16 1770, i16 18080, i16 -32768, i16 18148, i16 1772, i16 18080, i16 -32768, i16 18148, i16 1774, i16 18080, i16 -32768, i16 18212, i16 16382, i16 16385, i16 -32768, i16 18212, i16 1822, i16 18080, i16 -32768, i16 18212, i16 1824, i16 18080, i16 -32768, i16 18212, i16 35, i16 16385, i16 -32768, i16 18212, i16 35, i16 18080, i16 -32768, i16 18163, i16 2, i16 16385, i16 -32768, i16 17325, i16 28, i16 16385, i16 -32768, i16 17325, i16 28, i16 18080, i16 -32768, i16 18221, i16 2, i16 16385, i16 -32768, i16 17444, i16 28, i16 16385, i16 -32768, i16 17444, i16 28, i16 18080, i16 -32768, i16 18264, i16 2, i16 16385, i16 -32768, i16 18150, i16 2, i16 18080, i16 -32768, i16 18160, i16 2, i16 18080, i16 -32768, i16 18170, i16 2, i16 18080, i16 -32768, i16 18188, i16 2, i16 18080, i16 -32768, i16 18192, i16 2, i16 18080, i16 -32768, i16 18200, i16 2, i16 18080, i16 -32768, i16 18218, i16 2, i16 18080, i16 -32768, i16 18261, i16 2, i16 18080, i16 -32768, i16 18265, i16 2, i16 18080, i16 -32768, i16 18254, i16 16382, i16 16385, i16 -32768, i16 18254, i16 1848, i16 18080, i16 -32768, i16 18254, i16 1844, i16 18080, i16 -32768, i16 18154, i16 2, i16 18080, i16 -32768, i16 18154, i16 3, i16 16385, i16 -32768, i16 18154, i16 3, i16 18080, i16 -32768, i16 18154, i16 50, i16 16385, i16 -32768, i16 18154, i16 50, i16 18080, i16 -32768, i16 18154, i16 73, i16 16385, i16 -32768, i16 18154, i16 73, i16 18080, i16 -32768, i16 18206, i16 2, i16 18080, i16 -32768, i16 18206, i16 3, i16 16385, i16 -32768, i16 18206, i16 3, i16 18080, i16 -32768, i16 18206, i16 28, i16 16385, i16 -32768, i16 18206, i16 28, i16 18080, i16 -32768, i16 18206, i16 33, i16 16385, i16 -32768, i16 18206, i16 33, i16 18080, i16 -32768, i16 18144, i16 16382, i16 16385, i16 -32768, i16 18144, i16 1883, i16 18078, i16 -32768, i16 18144, i16 1883, i16 18079, i16 -32768, i16 18144, i16 1883, i16 18080, i16 -32768, i16 18144, i16 1762, i16 18080, i16 -32768, i16 18152, i16 2, i16 18080, i16 -32768, i16 18162, i16 2, i16 18080, i16 -32768, i16 18172, i16 2, i16 18080, i16 -32768, i16 18174, i16 2, i16 18080, i16 -32768, i16 18183, i16 2, i16 18080, i16 -32768, i16 18185, i16 2, i16 18080, i16 -32768, i16 18190, i16 2, i16 18080, i16 -32768, i16 18196, i16 2, i16 18080, i16 -32768, i16 18210, i16 2, i16 18080, i16 -32768, i16 18216, i16 2, i16 18080, i16 -32768, i16 18220, i16 2, i16 18080, i16 -32768, i16 18230, i16 2, i16 18080, i16 -32768, i16 18263, i16 2, i16 18080, i16 -32768, i16 18081, i16 16382, i16 16384, i16 -32768, i16 17133, i16 16382, i16 16385, i16 -32768, i16 17133, i16 1887, i16 18080, i16 -32768, i16 17386, i16 73, i16 18080, i16 -32768, i16 18143, i16 2, i16 16385, i16 -32768, i16 18272, i16 2, i16 16385, i16 -32768, i16 18169, i16 2, i16 16385, i16 -32768, i16 17205, i16 8, i16 16385, i16 -32768, i16 17205, i16 8, i16 18080, i16 -32768, i16 18182, i16 2, i16 16385, i16 -32768, i16 17311, i16 16382, i16 16385, i16 -32768, i16 17311, i16 1814, i16 18080, i16 -32768, i16 18201, i16 2, i16 16385, i16 -32768, i16 18227, i16 2, i16 16385, i16 -32768, i16 18257, i16 2, i16 16385, i16 -32768, i16 18225, i16 2, i16 16385, i16 -32768, i16 18155, i16 2, i16 16385, i16 -32768, i16 18155, i16 73, i16 18080, i16 -32768, i16 18155, i16 73, i16 16385, i16 -32768, i16 18213, i16 2, i16 16385, i16 -32768, i16 18213, i16 73, i16 18080, i16 -32768, i16 18213, i16 73, i16 16385, i16 -32768, i16 16384, i16 0, i16 16400, i16 -32768, i16 16384, i16 0, i16 16434, i16 -32768, i16 16384, i16 0, i16 16389, i16 -32768, i16 18311, i16 2, i16 18078, i16 -32768, i16 18311, i16 2, i16 18079, i16 -32768, i16 18311, i16 2, i16 18080, i16 -32768, i16 18166, i16 2, i16 18080, i16 -32768, i16 18315, i16 2, i16 18078, i16 -32768, i16 18315, i16 2, i16 18079, i16 -32768, i16 18315, i16 2, i16 18080, i16 -32768, i16 18319, i16 2, i16 18078, i16 -32768, i16 18319, i16 2, i16 18079, i16 -32768, i16 18319, i16 2, i16 18080, i16 -32768, i16 18194, i16 2, i16 18080, i16 -32768, i16 32766, i16 22, i16 16385, i16 -16386, i16 18220, i16 22, i16 18080, i16 -16386, i16 32766, i16 2, i16 16385, i16 -16386, i16 18259, i16 2, i16 18080, i16 -16386, i16 18259, i16 3, i16 16385, i16 -16386, i16 18259, i16 3, i16 18080, i16 -16386, i16 18259, i16 39, i16 16385, i16 -16386, i16 18259, i16 39, i16 18080, i16 -16386, i16 18259, i16 22, i16 16385, i16 -16386, i16 18259, i16 22, i16 18080, i16 -16386, i16 18234, i16 16382, i16 16386, i16 -32767, i16 18234, i16 1856, i16 16386, i16 -31072, i16 18234, i16 1856, i16 16387, i16 -32767, i16 18234, i16 1856, i16 16387, i16 -31072, i16 18234, i16 1856, i16 16389, i16 -32767, i16 18234, i16 1856, i16 16389, i16 -31072, i16 18234, i16 1856, i16 16400, i16 -32767, i16 18234, i16 1856, i16 16400, i16 -31072, i16 18234, i16 1856, i16 16434, i16 -32767, i16 18234, i16 1856, i16 16434, i16 -31072, i16 18234, i16 1856, i16 16423, i16 -32767, i16 18234, i16 1856, i16 16423, i16 -31072, i16 18234, i16 1856, i16 16412, i16 -32767, i16 18234, i16 1856, i16 16412, i16 -31072, i16 32766, i16 35, i16 16385, i16 -16386, i16 18204, i16 35, i16 18080, i16 -16386, i16 32766, i16 28, i16 16385, i16 -16386, i16 18148, i16 28, i16 18080, i16 -16386, i16 18212, i16 28, i16 18080, i16 -16386, i16 18232, i16 28, i16 18080, i16 -16386, i16 18323, i16 2, i16 18078, i16 -32768, i16 18323, i16 2, i16 18079, i16 -32768, i16 18323, i16 2, i16 18080, i16 -32768, i16 18327, i16 2, i16 18078, i16 -32768, i16 18327, i16 2, i16 18079, i16 -32768, i16 18327, i16 2, i16 18080, i16 -32768, i16 32766, i16 32766, i16 32766, i16 32766, i16 16384, i16 16384, i16 16384, i16 32766, i16 32766, i16 16389, i16 16385, i16 32766, i16 16470, i16 16389, i16 16388, i16 16470, i16 16470, i16 16389, i16 32766, i16 16470, i16 16470, i16 16392, i16 16385, i16 16470, i16 16470, i16 16392, i16 16388, i16 16470, i16 16470, i16 16393, i16 16385, i16 16470, i16 16470, i16 16393, i16 16388, i16 16470, i16 16470, i16 16405, i16 16385, i16 16470, i16 16470, i16 16405, i16 16388, i16 16470, i16 16470, i16 16397, i16 16385, i16 16470, i16 16470, i16 16397, i16 16388, i16 16470, i16 16470, i16 16408, i16 16385, i16 16470, i16 16470, i16 16408, i16 16388, i16 16470, i16 16470, i16 16409, i16 16385, i16 16470, i16 16470, i16 16409, i16 16388, i16 16470, i16 16470, i16 16411, i16 16385, i16 16470, i16 16470, i16 16411, i16 16388, i16 16470, i16 16470, i16 16410, i16 16385, i16 16470, i16 16470, i16 16410, i16 16388, i16 16470, i16 16470, i16 16435, i16 16385, i16 16470, i16 16470, i16 16435, i16 16388, i16 16470, i16 16470, i16 16398, i16 16385, i16 16470, i16 16470, i16 16398, i16 16388, i16 16470, i16 16470, i16 16394, i16 16385, i16 16470, i16 16470, i16 16394, i16 16388, i16 16470, i16 16470, i16 16412, i16 16385, i16 16470, i16 16470, i16 16412, i16 16388, i16 16470, i16 16470, i16 16413, i16 16385, i16 16470, i16 16470, i16 16413, i16 16388, i16 16470, i16 16470, i16 16415, i16 16385, i16 16470, i16 16470, i16 16415, i16 16388, i16 16470, i16 16470, i16 16414, i16 16385, i16 16470, i16 16470, i16 16414, i16 16388, i16 16470, i16 16470, i16 16436, i16 16385, i16 16470, i16 16470, i16 16436, i16 16388, i16 16470, i16 16470, i16 16395, i16 16385, i16 16470, i16 16470, i16 16395, i16 16388, i16 16470, i16 16470, i16 16399, i16 16385, i16 16470, i16 16470, i16 16399, i16 16388, i16 16470, i16 16470, i16 16417, i16 16385, i16 16470, i16 16470, i16 16417, i16 16388, i16 16470, i16 16470, i16 16450, i16 16385, i16 16470, i16 16470, i16 16450, i16 16388, i16 16470, i16 16470, i16 16402, i16 16385, i16 16470, i16 16470, i16 16402, i16 16388, i16 16470, i16 16470, i16 16426, i16 16385, i16 16470, i16 16470, i16 16426, i16 16388, i16 16470, i16 16470, i16 16400, i16 16385, i16 16470, i16 16470, i16 16400, i16 16388, i16 16470, i16 16470, i16 16396, i16 16385, i16 16470, i16 16470, i16 16396, i16 16388, i16 16470, i16 16470, i16 16444, i16 16385, i16 16470, i16 16470, i16 16444, i16 16388, i16 16470, i16 16470, i16 16449, i16 16385, i16 16470, i16 16470, i16 16449, i16 16388, i16 16470, i16 16470, i16 16391, i16 16385, i16 16470, i16 16470, i16 16391, i16 16388, i16 16470, i16 16470, i16 16418, i16 16385, i16 16470, i16 16470, i16 16418, i16 16388, i16 16470, i16 18628, i16 18631, i16 18517, i16 18628, i16 18628, i16 18631, i16 18425, i16 18628, i16 18628, i16 18634, i16 18517, i16 18628, i16 18628, i16 18634, i16 18425, i16 18628, i16 18628, i16 18637, i16 18517, i16 18628, i16 18628, i16 18637, i16 18425, i16 18628, i16 16536, i16 16389, i16 16388, i16 16536, i16 16536, i16 16390, i16 16385, i16 16536, i16 16536, i16 16390, i16 16388, i16 16536, i16 16536, i16 16444, i16 16385, i16 16536, i16 16536, i16 16444, i16 16388, i16 16536, i16 16536, i16 16445, i16 16385, i16 16536, i16 16536, i16 16445, i16 16388, i16 16536, i16 16545, i16 16389, i16 16388, i16 16545, i16 16545, i16 16392, i16 16385, i16 16545, i16 16545, i16 16392, i16 16388, i16 16545, i16 16545, i16 16394, i16 16385, i16 16545, i16 16545, i16 16394, i16 16388, i16 16545, i16 16545, i16 16400, i16 16385, i16 16545, i16 16545, i16 16400, i16 16388, i16 16545, i16 16545, i16 16390, i16 16385, i16 16545, i16 16545, i16 16390, i16 16388, i16 16545, i16 16545, i16 16448, i16 16385, i16 16545, i16 16545, i16 16448, i16 16388, i16 16545, i16 16545, i16 16437, i16 16385, i16 16545, i16 16545, i16 16437, i16 16388, i16 16545, i16 32766, i16 16395, i16 16385, i16 32766, i16 16559, i16 16395, i16 16388, i16 16559, i16 16562, i16 16389, i16 16388, i16 16562, i16 16562, i16 16395, i16 16385, i16 16562, i16 16562, i16 16395, i16 16388, i16 16562, i16 16562, i16 16390, i16 16385, i16 16562, i16 16562, i16 16390, i16 16388, i16 16562, i16 16562, i16 16444, i16 16385, i16 16562, i16 16562, i16 16444, i16 16388, i16 16562, i16 16562, i16 16452, i16 16385, i16 16562, i16 16562, i16 16452, i16 16388, i16 16562, i16 16562, i16 16448, i16 16385, i16 16562, i16 16562, i16 16448, i16 16388, i16 16562, i16 16562, i16 16421, i16 16385, i16 16562, i16 16562, i16 16421, i16 16388, i16 16562, i16 16562, i16 16445, i16 16385, i16 16562, i16 16562, i16 16445, i16 16388, i16 16562, i16 16579, i16 16389, i16 16388, i16 16579, i16 16579, i16 16392, i16 16385, i16 16579, i16 16579, i16 16392, i16 16388, i16 16579, i16 16579, i16 16393, i16 16385, i16 16579, i16 16579, i16 16393, i16 16388, i16 16579, i16 16579, i16 16405, i16 16385, i16 16579, i16 16579, i16 16405, i16 16388, i16 16579, i16 16579, i16 16397, i16 16385, i16 16579, i16 16579, i16 16397, i16 16388, i16 16579, i16 16579, i16 16398, i16 16385, i16 16579, i16 16579, i16 16398, i16 16388, i16 16579, i16 16579, i16 16394, i16 16385, i16 16579, i16 16579, i16 16394, i16 16388, i16 16579, i16 16579, i16 16412, i16 16385, i16 16579, i16 16579, i16 16412, i16 16388, i16 16579, i16 16579, i16 16413, i16 16385, i16 16579, i16 16579, i16 16413, i16 16388, i16 16579, i16 16579, i16 16415, i16 16385, i16 16579, i16 16579, i16 16415, i16 16388, i16 16579, i16 16579, i16 16414, i16 16385, i16 16579, i16 16579, i16 16414, i16 16388, i16 16579, i16 16579, i16 16436, i16 16385, i16 16579, i16 16579, i16 16436, i16 16388, i16 16579, i16 16579, i16 16395, i16 16385, i16 16579, i16 16579, i16 16395, i16 16388, i16 16579, i16 16579, i16 16402, i16 16385, i16 16579, i16 16579, i16 16402, i16 16388, i16 16579, i16 16579, i16 16400, i16 16385, i16 16579, i16 16579, i16 16400, i16 16388, i16 16579, i16 16579, i16 16396, i16 16385, i16 16579, i16 16579, i16 16396, i16 16388, i16 16579, i16 16579, i16 16446, i16 16385, i16 16579, i16 16579, i16 16446, i16 16388, i16 16579, i16 16579, i16 16390, i16 16385, i16 16579, i16 16579, i16 16390, i16 16388, i16 16579, i16 16579, i16 16444, i16 16385, i16 16579, i16 16579, i16 16444, i16 16388, i16 16579, i16 16579, i16 16439, i16 16385, i16 16579, i16 16579, i16 16439, i16 16388, i16 16579, i16 16579, i16 16449, i16 16385, i16 16579, i16 16579, i16 16449, i16 16388, i16 16579, i16 16579, i16 16391, i16 16385, i16 16579, i16 16579, i16 16391, i16 16388, i16 16579, i16 16579, i16 16419, i16 16385, i16 16579, i16 16579, i16 16419, i16 16388, i16 16579, i16 16579, i16 16420, i16 16385, i16 16579, i16 16579, i16 16420, i16 16388, i16 16579, i16 16579, i16 16421, i16 16385, i16 16579, i16 16579, i16 16421, i16 16388, i16 16579, i16 16630, i16 16389, i16 16388, i16 16630, i16 16630, i16 16400, i16 16385, i16 16630, i16 16630, i16 16400, i16 16388, i16 16630, i16 16630, i16 16390, i16 16385, i16 16630, i16 16630, i16 16390, i16 16388, i16 16630, i16 18640, i16 18643, i16 18646, i16 18640, i16 18649, i16 18643, i16 18652, i16 18649, i16 18655, i16 18643, i16 18658, i16 18655, i16 18661, i16 18665, i16 18669, i16 18661, i16 18673, i16 18665, i16 18677, i16 18673, i16 16642, i16 16389, i16 16388, i16 16642, i16 16642, i16 16392, i16 16385, i16 16642, i16 16642, i16 16392, i16 16388, i16 16642, i16 16642, i16 16397, i16 16385, i16 16642, i16 16642, i16 16397, i16 16388, i16 16642, i16 16642, i16 16394, i16 16385, i16 16642, i16 16642, i16 16394, i16 16388, i16 16642, i16 16642, i16 16395, i16 16385, i16 16642, i16 16642, i16 16395, i16 16388, i16 16642, i16 16642, i16 16390, i16 16385, i16 16642, i16 16642, i16 16390, i16 16388, i16 16642, i16 16642, i16 16452, i16 16385, i16 16642, i16 16642, i16 16452, i16 16388, i16 16642, i16 16642, i16 16448, i16 16385, i16 16642, i16 16642, i16 16448, i16 16388, i16 16642, i16 16642, i16 16391, i16 16385, i16 16642, i16 16642, i16 16391, i16 16388, i16 16642, i16 16661, i16 16389, i16 16388, i16 16661, i16 16661, i16 16447, i16 16385, i16 16661, i16 16661, i16 16447, i16 16388, i16 16661, i16 16661, i16 16394, i16 16385, i16 16661, i16 16661, i16 16394, i16 16388, i16 16661, i16 16661, i16 16402, i16 16385, i16 16661, i16 16661, i16 16402, i16 16388, i16 16661, i16 16661, i16 16390, i16 16385, i16 16661, i16 16661, i16 16390, i16 16388, i16 16661, i16 16661, i16 16444, i16 16385, i16 16661, i16 16661, i16 16444, i16 16388, i16 16661, i16 16661, i16 16452, i16 16385, i16 16661, i16 16661, i16 16452, i16 16388, i16 16661, i16 16661, i16 16448, i16 16385, i16 16661, i16 16661, i16 16448, i16 16388, i16 16661, i16 16678, i16 16389, i16 16386, i16 16678, i16 16678, i16 16389, i16 16388, i16 16678, i16 16681, i16 16389, i16 16388, i16 16681, i16 16681, i16 16392, i16 16385, i16 16681, i16 16681, i16 16392, i16 16388, i16 16681, i16 16681, i16 16393, i16 16385, i16 16681, i16 16681, i16 16393, i16 16388, i16 16681, i16 16681, i16 16405, i16 16385, i16 16681, i16 16681, i16 16405, i16 16388, i16 16681, i16 16681, i16 16397, i16 16385, i16 16681, i16 16681, i16 16397, i16 16388, i16 16681, i16 16681, i16 16398, i16 16385, i16 16681, i16 16681, i16 16398, i16 16388, i16 16681, i16 16681, i16 16394, i16 16385, i16 16681, i16 16681, i16 16394, i16 16388, i16 16681, i16 16681, i16 16395, i16 16385, i16 16681, i16 16681, i16 16395, i16 16388, i16 16681, i16 16681, i16 16402, i16 16385, i16 16681, i16 16681, i16 16402, i16 16388, i16 16681, i16 16681, i16 16427, i16 16385, i16 16681, i16 16681, i16 16427, i16 16388, i16 16681, i16 16681, i16 16400, i16 16385, i16 16681, i16 16681, i16 16400, i16 16388, i16 16681, i16 16681, i16 16396, i16 16385, i16 16681, i16 16681, i16 16396, i16 16388, i16 16681, i16 16681, i16 16446, i16 16385, i16 16681, i16 16681, i16 16446, i16 16388, i16 16681, i16 16681, i16 16390, i16 16385, i16 16681, i16 16681, i16 16390, i16 16388, i16 16681, i16 16681, i16 16444, i16 16385, i16 16681, i16 16681, i16 16444, i16 16388, i16 16681, i16 16681, i16 16449, i16 16385, i16 16681, i16 16681, i16 16449, i16 16388, i16 16681, i16 16681, i16 16391, i16 16385, i16 16681, i16 16681, i16 16391, i16 16388, i16 16681, i16 18681, i16 18684, i16 18517, i16 18681, i16 18681, i16 18684, i16 18425, i16 18681, i16 16718, i16 16389, i16 16388, i16 16718, i16 16718, i16 16394, i16 16385, i16 16718, i16 16718, i16 16394, i16 16388, i16 16718, i16 16723, i16 16389, i16 16388, i16 16723, i16 16723, i16 16392, i16 16385, i16 16723, i16 16723, i16 16392, i16 16388, i16 16723, i16 16723, i16 16395, i16 16385, i16 16723, i16 16723, i16 16395, i16 16388, i16 16723, i16 16723, i16 16400, i16 16385, i16 16723, i16 16723, i16 16400, i16 16388, i16 16723, i16 16723, i16 16444, i16 16385, i16 16723, i16 16723, i16 16444, i16 16388, i16 16723, i16 16723, i16 16448, i16 16385, i16 16723, i16 16723, i16 16448, i16 16388, i16 16723, i16 16723, i16 16445, i16 16385, i16 16723, i16 16723, i16 16445, i16 16388, i16 16723, i16 16723, i16 32766, i16 16388, i16 16723, i16 16739, i16 16389, i16 16388, i16 16739, i16 16739, i16 16392, i16 16385, i16 16739, i16 16739, i16 16392, i16 16388, i16 16739, i16 16739, i16 16395, i16 16385, i16 16739, i16 16739, i16 16395, i16 16388, i16 16739, i16 16739, i16 16390, i16 16385, i16 16739, i16 16739, i16 16390, i16 16388, i16 16739, i16 16739, i16 16444, i16 16385, i16 16739, i16 16739, i16 16444, i16 16388, i16 16739, i16 16739, i16 16452, i16 16385, i16 16739, i16 16739, i16 16452, i16 16388, i16 16739, i16 16739, i16 16448, i16 16385, i16 16739, i16 16739, i16 16448, i16 16388, i16 16739, i16 16739, i16 16434, i16 16385, i16 16739, i16 16739, i16 16434, i16 16388, i16 16739, i16 16739, i16 16421, i16 16385, i16 16739, i16 16739, i16 16421, i16 16388, i16 16739, i16 16739, i16 16445, i16 16385, i16 16739, i16 16739, i16 16445, i16 16388, i16 16739, i16 16760, i16 16389, i16 16388, i16 16760, i16 16760, i16 16392, i16 16385, i16 16760, i16 16760, i16 16392, i16 16388, i16 16760, i16 16760, i16 16390, i16 16385, i16 16760, i16 16760, i16 16390, i16 16388, i16 16760, i16 16760, i16 16444, i16 16385, i16 16760, i16 16760, i16 16444, i16 16388, i16 16760, i16 16769, i16 16389, i16 16388, i16 16769, i16 16769, i16 16392, i16 16385, i16 16769, i16 16769, i16 16392, i16 16388, i16 16769, i16 16769, i16 16395, i16 16385, i16 16769, i16 16769, i16 16395, i16 16388, i16 16769, i16 16769, i16 16396, i16 16385, i16 16769, i16 16769, i16 16396, i16 16388, i16 16769, i16 16769, i16 16390, i16 16385, i16 16769, i16 16769, i16 16390, i16 16388, i16 16769, i16 16769, i16 16444, i16 16385, i16 16769, i16 16769, i16 16444, i16 16388, i16 16769, i16 16769, i16 16448, i16 16385, i16 16769, i16 16769, i16 16448, i16 16388, i16 16769, i16 16769, i16 16421, i16 16385, i16 16769, i16 16769, i16 16421, i16 16388, i16 16769, i16 16769, i16 16445, i16 16385, i16 16769, i16 16769, i16 16445, i16 16388, i16 16769, i16 16769, i16 16451, i16 16388, i16 16769, i16 18687, i16 18690, i16 18517, i16 18687, i16 18687, i16 18690, i16 18425, i16 18687, i16 16791, i16 16389, i16 16388, i16 16791, i16 16791, i16 16389, i16 32766, i16 16791, i16 16791, i16 16392, i16 16385, i16 16791, i16 16791, i16 16392, i16 16388, i16 16791, i16 16791, i16 16393, i16 16385, i16 16791, i16 16791, i16 16393, i16 16388, i16 16791, i16 16791, i16 16405, i16 16385, i16 16791, i16 16791, i16 16405, i16 16388, i16 16791, i16 16791, i16 16397, i16 16385, i16 16791, i16 16791, i16 16397, i16 16388, i16 16791, i16 16791, i16 16398, i16 16385, i16 16791, i16 16791, i16 16398, i16 16388, i16 16791, i16 16791, i16 16394, i16 16385, i16 16791, i16 16791, i16 16394, i16 16388, i16 16791, i16 16791, i16 16412, i16 16385, i16 16791, i16 16791, i16 16412, i16 16388, i16 16791, i16 16791, i16 16413, i16 16385, i16 16791, i16 16791, i16 16413, i16 16388, i16 16791, i16 16791, i16 16415, i16 16385, i16 16791, i16 16791, i16 16415, i16 16388, i16 16791, i16 16791, i16 16414, i16 16385, i16 16791, i16 16791, i16 16414, i16 16388, i16 16791, i16 16791, i16 16436, i16 16385, i16 16791, i16 16791, i16 16436, i16 16388, i16 16791, i16 16791, i16 16395, i16 16385, i16 16791, i16 16791, i16 16395, i16 16388, i16 16791, i16 16791, i16 16402, i16 16385, i16 16791, i16 16791, i16 16402, i16 16388, i16 16791, i16 16791, i16 16404, i16 16385, i16 16791, i16 16791, i16 16404, i16 16388, i16 16791, i16 16791, i16 16400, i16 16385, i16 16791, i16 16791, i16 16400, i16 16388, i16 16791, i16 16791, i16 16396, i16 16385, i16 16791, i16 16791, i16 16396, i16 16388, i16 16791, i16 16791, i16 16406, i16 16385, i16 16791, i16 16791, i16 16406, i16 16388, i16 16791, i16 16791, i16 16431, i16 16385, i16 16791, i16 16791, i16 16431, i16 16388, i16 16791, i16 16791, i16 16444, i16 16385, i16 16791, i16 16791, i16 16444, i16 16388, i16 16791, i16 16791, i16 16452, i16 16385, i16 16791, i16 16791, i16 16452, i16 16388, i16 16791, i16 16791, i16 16443, i16 16385, i16 16791, i16 16791, i16 16443, i16 16388, i16 16791, i16 16791, i16 16449, i16 16385, i16 16791, i16 16791, i16 16449, i16 16388, i16 16791, i16 16791, i16 16440, i16 16385, i16 16791, i16 16791, i16 16440, i16 16388, i16 16791, i16 16791, i16 16391, i16 16385, i16 16791, i16 16791, i16 16391, i16 16388, i16 16791, i16 16791, i16 16419, i16 16385, i16 16791, i16 16791, i16 16419, i16 16388, i16 16791, i16 16791, i16 16420, i16 16385, i16 16791, i16 16791, i16 16420, i16 16388, i16 16791, i16 16791, i16 16401, i16 16385, i16 16791, i16 16791, i16 16401, i16 16388, i16 16791, i16 16791, i16 16422, i16 16385, i16 16791, i16 16791, i16 16422, i16 16388, i16 16791, i16 16791, i16 16423, i16 16385, i16 16791, i16 16791, i16 16423, i16 16388, i16 16791, i16 16791, i16 16425, i16 16385, i16 16791, i16 16791, i16 16425, i16 16388, i16 16791, i16 16791, i16 16424, i16 16385, i16 16791, i16 16791, i16 16424, i16 16388, i16 16791, i16 16791, i16 16441, i16 16385, i16 16791, i16 16791, i16 16441, i16 16388, i16 16791, i16 18693, i16 18696, i16 18517, i16 18693, i16 18693, i16 18696, i16 18425, i16 18693, i16 16861, i16 16389, i16 16388, i16 16861, i16 16861, i16 16392, i16 16385, i16 16861, i16 16861, i16 16392, i16 16388, i16 16861, i16 16861, i16 16390, i16 16385, i16 16861, i16 16861, i16 16390, i16 16388, i16 16861, i16 16868, i16 16389, i16 16388, i16 16868, i16 16871, i16 16389, i16 16388, i16 16871, i16 16871, i16 16392, i16 16385, i16 16871, i16 16871, i16 16392, i16 16388, i16 16871, i16 16871, i16 16405, i16 16385, i16 16871, i16 16871, i16 16405, i16 16388, i16 16871, i16 16871, i16 16398, i16 16385, i16 16871, i16 16871, i16 16398, i16 16388, i16 16871, i16 16871, i16 16390, i16 16385, i16 16871, i16 16871, i16 16390, i16 16388, i16 16871, i16 16871, i16 16444, i16 16385, i16 16871, i16 16871, i16 16444, i16 16388, i16 16871, i16 16871, i16 16448, i16 16385, i16 16871, i16 16871, i16 16448, i16 16388, i16 16871, i16 16871, i16 16434, i16 16385, i16 16871, i16 16871, i16 16434, i16 16388, i16 16871, i16 16871, i16 16445, i16 16385, i16 16871, i16 16871, i16 16445, i16 16388, i16 16871, i16 16889, i16 16395, i16 16388, i16 16889, i16 16892, i16 16389, i16 16388, i16 16892, i16 18699, i16 18643, i16 18702, i16 18699, i16 16892, i16 16392, i16 16385, i16 16892, i16 16892, i16 16392, i16 16388, i16 16892, i16 16892, i16 16403, i16 16385, i16 16892, i16 16892, i16 16403, i16 16388, i16 16892, i16 16892, i16 16394, i16 16385, i16 16892, i16 16892, i16 16394, i16 16388, i16 16892, i16 16892, i16 16390, i16 16385, i16 16892, i16 16892, i16 16390, i16 16388, i16 16892, i16 16892, i16 16444, i16 16385, i16 16892, i16 16892, i16 16444, i16 16388, i16 16892, i16 16892, i16 16433, i16 16385, i16 16892, i16 16892, i16 16433, i16 16388, i16 16892, i16 16892, i16 16448, i16 16385, i16 16892, i16 16892, i16 16448, i16 16388, i16 16892, i16 16909, i16 16395, i16 16388, i16 16909, i16 16909, i16 16416, i16 16385, i16 16909, i16 16909, i16 16416, i16 16388, i16 16909, i16 16892, i16 32766, i16 16388, i16 16892, i16 18705, i16 18643, i16 18708, i16 18705, i16 18699, i16 18643, i16 18711, i16 16384, i16 16917, i16 16389, i16 16388, i16 16917, i16 16917, i16 16395, i16 16385, i16 16917, i16 16917, i16 16395, i16 16388, i16 16917, i16 16917, i16 16390, i16 16385, i16 16917, i16 16917, i16 16390, i16 16388, i16 16917, i16 16917, i16 16444, i16 16385, i16 16917, i16 16917, i16 16444, i16 16388, i16 16917, i16 16917, i16 16452, i16 16385, i16 16917, i16 16917, i16 16452, i16 16388, i16 16917, i16 16917, i16 16448, i16 16385, i16 16917, i16 16917, i16 16448, i16 16388, i16 16917, i16 16917, i16 16421, i16 16385, i16 16917, i16 16917, i16 16421, i16 16388, i16 16917, i16 16917, i16 16445, i16 16385, i16 16917, i16 16917, i16 16445, i16 16388, i16 16917, i16 18714, i16 18717, i16 18517, i16 18714, i16 18714, i16 18717, i16 18425, i16 18714, i16 16936, i16 16389, i16 16388, i16 16936, i16 16936, i16 16392, i16 16385, i16 16936, i16 16936, i16 16392, i16 16388, i16 16936, i16 16936, i16 16393, i16 16385, i16 16936, i16 16936, i16 16393, i16 16388, i16 16936, i16 16936, i16 16405, i16 16385, i16 16936, i16 16936, i16 16405, i16 16388, i16 16936, i16 16936, i16 16397, i16 16385, i16 16936, i16 16936, i16 16397, i16 16388, i16 16936, i16 16936, i16 16398, i16 16385, i16 16936, i16 16936, i16 16398, i16 16388, i16 16936, i16 16936, i16 16394, i16 16385, i16 16936, i16 16936, i16 16394, i16 16388, i16 16936, i16 16936, i16 16395, i16 16385, i16 16936, i16 16936, i16 16395, i16 16388, i16 16936, i16 16936, i16 16399, i16 16385, i16 16936, i16 16936, i16 16399, i16 16388, i16 16936, i16 16936, i16 16402, i16 16385, i16 16936, i16 16936, i16 16402, i16 16388, i16 16936, i16 16936, i16 16426, i16 16385, i16 16936, i16 16936, i16 16426, i16 16388, i16 16936, i16 16936, i16 16427, i16 16385, i16 16936, i16 16936, i16 16427, i16 16388, i16 16936, i16 16936, i16 16428, i16 16385, i16 16936, i16 16936, i16 16428, i16 16388, i16 16936, i16 16936, i16 16429, i16 16385, i16 16936, i16 16936, i16 16429, i16 16388, i16 16936, i16 16936, i16 16404, i16 16385, i16 16936, i16 16936, i16 16404, i16 16388, i16 16936, i16 16936, i16 16400, i16 16385, i16 16936, i16 16936, i16 16400, i16 16388, i16 16936, i16 16936, i16 16396, i16 16385, i16 16936, i16 16936, i16 16396, i16 16388, i16 16936, i16 16936, i16 16406, i16 16385, i16 16936, i16 16936, i16 16406, i16 16388, i16 16936, i16 16936, i16 16446, i16 16385, i16 16936, i16 16936, i16 16446, i16 16388, i16 16936, i16 16936, i16 16444, i16 16385, i16 16936, i16 16936, i16 16444, i16 16388, i16 16936, i16 16936, i16 16449, i16 16385, i16 16936, i16 16936, i16 16449, i16 16388, i16 16936, i16 16936, i16 16391, i16 16385, i16 16936, i16 16936, i16 16391, i16 16388, i16 16936, i16 16936, i16 16430, i16 16385, i16 16936, i16 16936, i16 16430, i16 16388, i16 16936, i16 16936, i16 16442, i16 16385, i16 16936, i16 16936, i16 16442, i16 16388, i16 16936, i16 16936, i16 16421, i16 16385, i16 16936, i16 16936, i16 16421, i16 16388, i16 16936, i16 16936, i16 16401, i16 16385, i16 16936, i16 16936, i16 16401, i16 16388, i16 16936, i16 16936, i16 16422, i16 16385, i16 16936, i16 16936, i16 16422, i16 16388, i16 16936, i16 16936, i16 16423, i16 16385, i16 16936, i16 16936, i16 16423, i16 16388, i16 16936, i16 16936, i16 16425, i16 16385, i16 16936, i16 16936, i16 16425, i16 16388, i16 16936, i16 16936, i16 16424, i16 16385, i16 16936, i16 16936, i16 16424, i16 16388, i16 16936, i16 16936, i16 16441, i16 16385, i16 16936, i16 16936, i16 16441, i16 16388, i16 16936, i16 16999, i16 16389, i16 16388, i16 16999, i16 16999, i16 16396, i16 16385, i16 16999, i16 16999, i16 16396, i16 16388, i16 16999, i16 16999, i16 16444, i16 16385, i16 16999, i16 16999, i16 16444, i16 16388, i16 16999, i16 17006, i16 16389, i16 16388, i16 17006, i16 17006, i16 16392, i16 16385, i16 17006, i16 17006, i16 16392, i16 16388, i16 17006, i16 17006, i16 16393, i16 16385, i16 17006, i16 17006, i16 16393, i16 16388, i16 17006, i16 17006, i16 16394, i16 16385, i16 17006, i16 17006, i16 16394, i16 16388, i16 17006, i16 17006, i16 16402, i16 16385, i16 17006, i16 17006, i16 16402, i16 16388, i16 17006, i16 17006, i16 16390, i16 16385, i16 17006, i16 17006, i16 16390, i16 16388, i16 17006, i16 17006, i16 16444, i16 16385, i16 17006, i16 17006, i16 16444, i16 16388, i16 17006, i16 17021, i16 16389, i16 16388, i16 17021, i16 17021, i16 16402, i16 16385, i16 17021, i16 17021, i16 16402, i16 16388, i16 17021, i16 17021, i16 16390, i16 16385, i16 17021, i16 17021, i16 16390, i16 16388, i16 17021, i16 17028, i16 16389, i16 16388, i16 17028, i16 17028, i16 16392, i16 16385, i16 17028, i16 17028, i16 16392, i16 16388, i16 17028, i16 17028, i16 16393, i16 16385, i16 17028, i16 17028, i16 16393, i16 16388, i16 17028, i16 17028, i16 16394, i16 16385, i16 17028, i16 17028, i16 16394, i16 16388, i16 17028, i16 17028, i16 16402, i16 16385, i16 17028, i16 17028, i16 16402, i16 16388, i16 17028, i16 17028, i16 16400, i16 16385, i16 17028, i16 17028, i16 16400, i16 16388, i16 17028, i16 17028, i16 16396, i16 16385, i16 17028, i16 17028, i16 16396, i16 16388, i16 17028, i16 17028, i16 16390, i16 16385, i16 17028, i16 17028, i16 16390, i16 16388, i16 17028, i16 17028, i16 16444, i16 16385, i16 17028, i16 17028, i16 16444, i16 16388, i16 17028, i16 17047, i16 16389, i16 16388, i16 17047, i16 17047, i16 16392, i16 16385, i16 17047, i16 17047, i16 16392, i16 16388, i16 17047, i16 17047, i16 16394, i16 16385, i16 17047, i16 17047, i16 16394, i16 16388, i16 17047, i16 17047, i16 16390, i16 16385, i16 17047, i16 17047, i16 16390, i16 16388, i16 17047, i16 17047, i16 16444, i16 16385, i16 17047, i16 17047, i16 16444, i16 16388, i16 17047, i16 17047, i16 16452, i16 16385, i16 17047, i16 17047, i16 16452, i16 16388, i16 17047, i16 17047, i16 16445, i16 16385, i16 17047, i16 17047, i16 16445, i16 16388, i16 17047, i16 17062, i16 16395, i16 16388, i16 17062, i16 32766, i16 32766, i16 16384, i16 32766, i16 17064, i16 32766, i16 16384, i16 17064, i16 17073, i16 32766, i16 16384, i16 17073, i16 17074, i16 32766, i16 16384, i16 17074, i16 17075, i16 32766, i16 16384, i16 17075, i16 17076, i16 32766, i16 16384, i16 17076, i16 17077, i16 32766, i16 16384, i16 17077, i16 17078, i16 32766, i16 16384, i16 17078, i16 17079, i16 32766, i16 16384, i16 17079, i16 17080, i16 32766, i16 16384, i16 17080, i16 17081, i16 32766, i16 16384, i16 17081, i16 16384, i16 16384, i16 16384, i16 17133, i16 16384, i16 16384, i16 16384, i16 17135, i16 16384, i16 16384, i16 16384, i16 17197, i16 16384, i16 16384, i16 16384, i16 16384, i16 32766, i16 16385, i16 16453, i16 32766, i16 17723, i16 16385, i16 16454, i16 17723, i16 17723, i16 16388, i16 16453, i16 17723, i16 17723, i16 16388, i16 16454, i16 17723, i16 17727, i16 16388, i16 16453, i16 17727, i16 17729, i16 16388, i16 16453, i16 17729, i16 17731, i16 16388, i16 16453, i16 17731, i16 17733, i16 16385, i16 16454, i16 17733, i16 17733, i16 16388, i16 16453, i16 17733, i16 17733, i16 16388, i16 16454, i16 17733, i16 17737, i16 16388, i16 16453, i16 17737, i16 17739, i16 16385, i16 16454, i16 17739, i16 17739, i16 16388, i16 16453, i16 17739, i16 17739, i16 16388, i16 16454, i16 17739, i16 17743, i16 16388, i16 16453, i16 17743, i16 17745, i16 16385, i16 16454, i16 17745, i16 17745, i16 16385, i16 16455, i16 17745, i16 17745, i16 16388, i16 16453, i16 17745, i16 17745, i16 16388, i16 16454, i16 17745, i16 17745, i16 16388, i16 16455, i16 17745, i16 17745, i16 16388, i16 16456, i16 17745, i16 17752, i16 16388, i16 16453, i16 17752, i16 17754, i16 16388, i16 16453, i16 17754, i16 17756, i16 16388, i16 16453, i16 17756, i16 17758, i16 16388, i16 16453, i16 17758, i16 17760, i16 16388, i16 16453, i16 17760, i16 17762, i16 16385, i16 16454, i16 17762, i16 17762, i16 16388, i16 16453, i16 17762, i16 17762, i16 16388, i16 16454, i16 17762, i16 17766, i16 16388, i16 16453, i16 17766, i16 17768, i16 16388, i16 16453, i16 17768, i16 17770, i16 16388, i16 16453, i16 17770, i16 17770, i16 16388, i16 32766, i16 17770, i16 17773, i16 16388, i16 16453, i16 17773, i16 17775, i16 16385, i16 16454, i16 17775, i16 17775, i16 16385, i16 16455, i16 17775, i16 17775, i16 16388, i16 16453, i16 17775, i16 17775, i16 16388, i16 16454, i16 17775, i16 17775, i16 16388, i16 16455, i16 17775, i16 17775, i16 16388, i16 16456, i16 17775, i16 17782, i16 16388, i16 16453, i16 17782, i16 17784, i16 16388, i16 16453, i16 17784, i16 17786, i16 16388, i16 16453, i16 17786, i16 17788, i16 16385, i16 16454, i16 17788, i16 17788, i16 16388, i16 16453, i16 17788, i16 17788, i16 16388, i16 16454, i16 17788, i16 32766, i16 16457, i16 16385, i16 32766, i16 17792, i16 16457, i16 16388, i16 17792, i16 17794, i16 16457, i16 16388, i16 17794, i16 17796, i16 16457, i16 16388, i16 17796, i16 17798, i16 16457, i16 16388, i16 17798, i16 17800, i16 16457, i16 16388, i16 17800, i16 17802, i16 16457, i16 16388, i16 17802, i16 17804, i16 16457, i16 16388, i16 17804, i16 17806, i16 16457, i16 16388, i16 17806, i16 17808, i16 16457, i16 16388, i16 17808, i16 17810, i16 16457, i16 16388, i16 17810, i16 17812, i16 16457, i16 16388, i16 17812, i16 17814, i16 16457, i16 16388, i16 17814, i16 17816, i16 16457, i16 16388, i16 17816, i16 17818, i16 16457, i16 16388, i16 17818, i16 17820, i16 16457, i16 16388, i16 17820, i16 17822, i16 16457, i16 16388, i16 17822, i16 17824, i16 16457, i16 16388, i16 17824, i16 17826, i16 16457, i16 16388, i16 17826, i16 17828, i16 16457, i16 16388, i16 17828, i16 17830, i16 16457, i16 16388, i16 17830, i16 17832, i16 16457, i16 16388, i16 17832, i16 17834, i16 16457, i16 16388, i16 17834, i16 17836, i16 16457, i16 16388, i16 17836, i16 17838, i16 16457, i16 16388, i16 17838, i16 17840, i16 16457, i16 16388, i16 17840, i16 17842, i16 16457, i16 16388, i16 17842, i16 17844, i16 16457, i16 16388, i16 17844, i16 17846, i16 16457, i16 16388, i16 17846, i16 17848, i16 16457, i16 16388, i16 17848, i16 17850, i16 16457, i16 16388, i16 17850, i16 17852, i16 16457, i16 16388, i16 17852, i16 17854, i16 16457, i16 16388, i16 17854, i16 17856, i16 16457, i16 16388, i16 17856, i16 17858, i16 16457, i16 16388, i16 17858, i16 17860, i16 16457, i16 16388, i16 17860, i16 17862, i16 16457, i16 16388, i16 17862, i16 17864, i16 16457, i16 16388, i16 17864, i16 17866, i16 16457, i16 16388, i16 17866, i16 17868, i16 16457, i16 16388, i16 17868, i16 17870, i16 16457, i16 16388, i16 17870, i16 17872, i16 16457, i16 16388, i16 17872, i16 32766, i16 16457, i16 16388, i16 32766, i16 17874, i16 16457, i16 16385, i16 17874, i16 17876, i16 16457, i16 16388, i16 17876, i16 17878, i16 16457, i16 16385, i16 17878, i16 17880, i16 16457, i16 16388, i16 17880, i16 17882, i16 16457, i16 16388, i16 17882, i16 17884, i16 16457, i16 16388, i16 17884, i16 17886, i16 16457, i16 16388, i16 17886, i16 17888, i16 16457, i16 16388, i16 17888, i16 17890, i16 16457, i16 16388, i16 17890, i16 17892, i16 16457, i16 16388, i16 17892, i16 17894, i16 16457, i16 16388, i16 17894, i16 32766, i16 16384, i16 16384, i16 32766, i16 17928, i16 32766, i16 16384, i16 17928, i16 17927, i16 32766, i16 16384, i16 17927, i16 17937, i16 32766, i16 16384, i16 17937, i16 17941, i16 32766, i16 16384, i16 17941, i16 17948, i16 32766, i16 16384, i16 17948, i16 17956, i16 32766, i16 16384, i16 17956, i16 17961, i16 32766, i16 16384, i16 17961, i16 17966, i16 32766, i16 16384, i16 17966, i16 17971, i16 32766, i16 16384, i16 17971, i16 17976, i16 32766, i16 16384, i16 17976, i16 17979, i16 32766, i16 16384, i16 17979, i16 17982, i16 32766, i16 16384, i16 17982, i16 17985, i16 32766, i16 16384, i16 17985, i16 17988, i16 32766, i16 16384, i16 17988, i16 17993, i16 32766, i16 16384, i16 17993, i16 17998, i16 32766, i16 16384, i16 17998, i16 18003, i16 32766, i16 16384, i16 18003, i16 18008, i16 32766, i16 16384, i16 18008, i16 18013, i16 32766, i16 16384, i16 18013, i16 18018, i16 32766, i16 16384, i16 18018, i16 18023, i16 32766, i16 16384, i16 18023, i16 18028, i16 32766, i16 16384, i16 18028, i16 18033, i16 32766, i16 16384, i16 18033, i16 18038, i16 32766, i16 16384, i16 18038, i16 18043, i16 32766, i16 16384, i16 18043, i16 18048, i16 32766, i16 16384, i16 18048, i16 18053, i16 32766, i16 16384, i16 18053, i16 18058, i16 32766, i16 16384, i16 18058, i16 18063, i16 32766, i16 16384, i16 18063, i16 18066, i16 32766, i16 16384, i16 18066, i16 18069, i16 32766, i16 16384, i16 18069, i16 16384, i16 16384, i16 32766, i16 32766, i16 18720, i16 18720, i16 18723, i16 18720, i16 18720, i16 18726, i16 18729, i16 18720, i16 18732, i16 18732, i16 18735, i16 18732, i16 18732, i16 18738, i16 18741, i16 18732, i16 18744, i16 18744, i16 18747, i16 18744, i16 18744, i16 18750, i16 18753, i16 18744, i16 18756, i16 18759, i16 18762, i16 18756, i16 18756, i16 18765, i16 18768, i16 18756, i16 18101, i16 32766, i16 16384, i16 18101, i16 18105, i16 32766, i16 16384, i16 18105, i16 18109, i16 32766, i16 16384, i16 18109, i16 18114, i16 32766, i16 16384, i16 18114, i16 18118, i16 32766, i16 16384, i16 18118, i16 18122, i16 32766, i16 16384, i16 18122, i16 18127, i16 32766, i16 16384, i16 18127, i16 18131, i16 32766, i16 16384, i16 18131, i16 18135, i16 32766, i16 16384, i16 18135, i16 18140, i16 32766, i16 16384, i16 18140, i16 18144, i16 32766, i16 16384, i16 18144, i16 18148, i16 32766, i16 16384, i16 18148, i16 18152, i16 32766, i16 16384, i16 18152, i16 18156, i16 32766, i16 16384, i16 18156, i16 18160, i16 32766, i16 16384, i16 18160, i16 18164, i16 32766, i16 16384, i16 18164, i16 18168, i16 32766, i16 16384, i16 18168, i16 18172, i16 32766, i16 16384, i16 18172, i16 18178, i16 32766, i16 16384, i16 18178, i16 18182, i16 32766, i16 16384, i16 18182, i16 18186, i16 32766, i16 16384, i16 18186, i16 18188, i16 32766, i16 16384, i16 18188, i16 18190, i16 32766, i16 16384, i16 18190, i16 18192, i16 32766, i16 16384, i16 18192, i16 18194, i16 32766, i16 16384, i16 18194, i16 18196, i16 32766, i16 16384, i16 18196, i16 18202, i16 32766, i16 16384, i16 18202, i16 18208, i16 32766, i16 16384, i16 18208, i16 18214, i16 32766, i16 16384, i16 18214, i16 18220, i16 32766, i16 16384, i16 18220, i16 18226, i16 32766, i16 16384, i16 18226, i16 18228, i16 32766, i16 16384, i16 18228, i16 18230, i16 32766, i16 16384, i16 18230, i16 18232, i16 32766, i16 16384, i16 18232, i16 18234, i16 32766, i16 16384, i16 18234, i16 18236, i16 32766, i16 16384, i16 18236, i16 18240, i16 32766, i16 16384, i16 18240, i16 18244, i16 32766, i16 16384, i16 18244, i16 18248, i16 32766, i16 16384, i16 18248, i16 18250, i16 32766, i16 16384, i16 18250, i16 18252, i16 32766, i16 16384, i16 18252, i16 18254, i16 32766, i16 16384, i16 18254, i16 18256, i16 32766, i16 16384, i16 18256, i16 18258, i16 32766, i16 16384, i16 18258, i16 18262, i16 32766, i16 16384, i16 18262, i16 18264, i16 32766, i16 16384, i16 18264, i16 18266, i16 32766, i16 16384, i16 18266, i16 18268, i16 32766, i16 16384, i16 18268, i16 32766, i16 32766, i16 16384, i16 16384, i16 16396, i16 32766, i16 16384, i16 16384, i16 16398, i16 32766, i16 16384, i16 16384, i16 16400, i16 32766, i16 16384, i16 16384, i16 16402, i16 32766, i16 16384, i16 16384, i16 16404, i16 32766, i16 16384, i16 16384, i16 16406, i16 32766, i16 16384, i16 16384, i16 16408, i16 32766, i16 16384, i16 16384, i16 16410, i16 32766, i16 16384, i16 16384, i16 16412, i16 32766, i16 16384, i16 16384, i16 16414, i16 32766, i16 16384, i16 16384, i16 16416, i16 32766, i16 16384, i16 16384, i16 16418, i16 32766, i16 16384, i16 16384, i16 16420, i16 32766, i16 16384, i16 16384, i16 16422, i16 32766, i16 16384, i16 16384, i16 16424, i16 32766, i16 16384, i16 16384, i16 16426, i16 32766, i16 16384, i16 16384, i16 16428, i16 32766, i16 16384, i16 16384, i16 16430, i16 32766, i16 16384, i16 16384, i16 16432, i16 32766, i16 16384, i16 16384, i16 16434, i16 32766, i16 16384, i16 16384, i16 16436, i16 32766, i16 16384, i16 16384, i16 16438, i16 32766, i16 16384, i16 16384, i16 16440, i16 32766, i16 16384, i16 16384, i16 16442, i16 32766, i16 16384, i16 16384, i16 16444, i16 32766, i16 16384, i16 16384, i16 16446, i16 32766, i16 16384, i16 16384, i16 16384, i16 32766, i16 16384, i16 16384, i16 16384, i16 16384, i16 32766, i16 16384, i16 16384, i16 32766, i16 16385, i16 16385, i16 32766, i16 16385, i16 16385, i16 16385, i16 16438, i16 16386, i16 16385, i16 16385, i16 16440, i16 16386, i16 16385, i16 16385, i16 16442, i16 16386, i16 16385, i16 16385, i16 16444, i16 16386, i16 16385, i16 16385, i16 16446, i16 16386, i16 16385, i16 16385, i16 16448, i16 16386, i16 16385, i16 16385, i16 16450, i16 16386, i16 16385, i16 16385, i16 16452, i16 16386, i16 16385, i16 16385, i16 16454, i16 16386, i16 16385, i16 16385, i16 16456, i16 16386, i16 16385, i16 16385, i16 32766, i16 16385, i16 16385, i16 16387, i16 16458, i16 16385, i16 16385, i16 16388, i16 16460, i16 16385, i16 16385, i16 16388, i16 16462, i16 16385, i16 16385, i16 16388, i16 16464, i16 16385, i16 16385, i16 16388, i16 16466, i16 16385, i16 16385, i16 16388, i16 16468, i16 16385, i16 16385, i16 16388, i16 16470, i16 16385, i16 16385, i16 16388, i16 16472, i16 16385, i16 16385, i16 16388, i16 16474, i16 16385, i16 16385, i16 16388, i16 16476, i16 16385, i16 16385, i16 16388, i16 16478, i16 16385, i16 16385, i16 16388, i16 16480, i16 16385, i16 16385, i16 16388, i16 16482, i16 16385, i16 16385, i16 16388, i16 16484, i16 16385, i16 16385, i16 16388, i16 16486, i16 16385, i16 16385, i16 16388, i16 16488, i16 16385, i16 16385, i16 16388, i16 16490, i16 16385, i16 16385, i16 16388, i16 16492, i16 16385, i16 16385, i16 16388, i16 16494, i16 16385, i16 16385, i16 16388, i16 16496, i16 16385, i16 16385, i16 16388, i16 16498, i16 16385, i16 16385, i16 16388, i16 16500, i16 16385, i16 16385, i16 16388, i16 16502, i16 16385, i16 16385, i16 16388, i16 16504, i16 16385, i16 16385, i16 16388, i16 16506, i16 16385, i16 16385, i16 16388, i16 16508, i16 16385, i16 16385, i16 16388, i16 17294, i16 16385, i16 16385, i16 16385, i16 17297, i16 16385, i16 16385, i16 16385, i16 17300, i16 16385, i16 16385, i16 16385, i16 17303, i16 16385, i16 16385, i16 16385, i16 17306, i16 16385, i16 16385, i16 16385, i16 17309, i16 16385, i16 16385, i16 16385, i16 17312, i16 16385, i16 16385, i16 16385, i16 17315, i16 16385, i16 16385, i16 16385, i16 17318, i16 16385, i16 16385, i16 16385, i16 17321, i16 16385, i16 16385, i16 16385, i16 17324, i16 16385, i16 16385, i16 16385, i16 17327, i16 16385, i16 16385, i16 16385, i16 17330, i16 16385, i16 16385, i16 16385, i16 17333, i16 16385, i16 16385, i16 16385, i16 17336, i16 16385, i16 16385, i16 16385, i16 17339, i16 16385, i16 16385, i16 16385, i16 17342, i16 16385, i16 16385, i16 16385, i16 17345, i16 16385, i16 16385, i16 16385, i16 17348, i16 16385, i16 16385, i16 16385, i16 17351, i16 16385, i16 16385, i16 16385, i16 17354, i16 16385, i16 16385, i16 16385, i16 17357, i16 16385, i16 16385, i16 16385, i16 17360, i16 16385, i16 16385, i16 16385, i16 17363, i16 16385, i16 16385, i16 16385, i16 17366, i16 16385, i16 16385, i16 16385, i16 17369, i16 16385, i16 16385, i16 16385, i16 17372, i16 16385, i16 16385, i16 16385, i16 17375, i16 16385, i16 16385, i16 16385, i16 17378, i16 16385, i16 16385, i16 16385, i16 17381, i16 16385, i16 16385, i16 16385, i16 17384, i16 16385, i16 16385, i16 16385, i16 17387, i16 16385, i16 16385, i16 16385, i16 17390, i16 16385, i16 16385, i16 16385, i16 17393, i16 16385, i16 16385, i16 16385, i16 17396, i16 16385, i16 16385, i16 16385, i16 17399, i16 16385, i16 16385, i16 16385, i16 17402, i16 16385, i16 16385, i16 16385, i16 17405, i16 16385, i16 16385, i16 16385, i16 17408, i16 16385, i16 16385, i16 16385, i16 17411, i16 16385, i16 16385, i16 16385, i16 17414, i16 16385, i16 16385, i16 16385, i16 17417, i16 16385, i16 16385, i16 16385, i16 17420, i16 16385, i16 16385, i16 16385, i16 17423, i16 16385, i16 16385, i16 16385, i16 17426, i16 16385, i16 16385, i16 16385, i16 17429, i16 16385, i16 16385, i16 16385, i16 17432, i16 16385, i16 16385, i16 16385, i16 17435, i16 16385, i16 16385, i16 16385, i16 17438, i16 16385, i16 16385, i16 16385, i16 17441, i16 16385, i16 16385, i16 16385, i16 17444, i16 16385, i16 16385, i16 16385, i16 17447, i16 16385, i16 16385, i16 16385, i16 17450, i16 16385, i16 16385, i16 16385, i16 17453, i16 16385, i16 16385, i16 16385, i16 17456, i16 16385, i16 16385, i16 16385, i16 17459, i16 16385, i16 16385, i16 16385, i16 17462, i16 16385, i16 16385, i16 16385, i16 17465, i16 16385, i16 16385, i16 16385, i16 17468, i16 16385, i16 16385, i16 16385, i16 17471, i16 16385, i16 16385, i16 16385, i16 17474, i16 16385, i16 16385, i16 16385, i16 17477, i16 16385, i16 16385, i16 16385, i16 17480, i16 16385, i16 16385, i16 16385, i16 17483, i16 16385, i16 16385, i16 16385, i16 17486, i16 16385, i16 16385, i16 16385, i16 17489, i16 16385, i16 16385, i16 16385, i16 17492, i16 16385, i16 16385, i16 16385, i16 17495, i16 16385, i16 16385, i16 16385, i16 17498, i16 16385, i16 16385, i16 16385, i16 17501, i16 16385, i16 16385, i16 16385, i16 17504, i16 16385, i16 16385, i16 16385, i16 17507, i16 16385, i16 16385, i16 16385, i16 17510, i16 16385, i16 16385, i16 16385, i16 17513, i16 16385, i16 16385, i16 16385, i16 17516, i16 16385, i16 16385, i16 16385, i16 17519, i16 16385, i16 16385, i16 16385, i16 17522, i16 16385, i16 16385, i16 16385, i16 17525, i16 16385, i16 16385, i16 16385, i16 17528, i16 16385, i16 16385, i16 16385, i16 17531, i16 16385, i16 16385, i16 16385, i16 17534, i16 16385, i16 16385, i16 16385, i16 17537, i16 16385, i16 16385, i16 16385, i16 17540, i16 16385, i16 16385, i16 16385, i16 17543, i16 16385, i16 16385, i16 16385, i16 17546, i16 16385, i16 16385, i16 16385, i16 17549, i16 16385, i16 16385, i16 16385, i16 17552, i16 16385, i16 16385, i16 16385, i16 17555, i16 16385, i16 16385, i16 16385, i16 17558, i16 16385, i16 16385, i16 16385, i16 17561, i16 16385, i16 16385, i16 16385, i16 17564, i16 16385, i16 16385, i16 16385, i16 17567, i16 16385, i16 16385, i16 16385, i16 17570, i16 16385, i16 16385, i16 16385, i16 17573, i16 16385, i16 16385, i16 16385, i16 17576, i16 16385, i16 16385, i16 16385, i16 17579, i16 16385, i16 16385, i16 16385, i16 17582, i16 16385, i16 16385, i16 16385, i16 17585, i16 16385, i16 16385, i16 16385, i16 17588, i16 16385, i16 16385, i16 16385, i16 17591, i16 16385, i16 16385, i16 16385, i16 17594, i16 16385, i16 16385, i16 16385, i16 17597, i16 16385, i16 16385, i16 16385, i16 17600, i16 16385, i16 16385, i16 16385, i16 17603, i16 16385, i16 16385, i16 16385, i16 17606, i16 16385, i16 16385, i16 16385, i16 17609, i16 16385, i16 16385, i16 16385, i16 17612, i16 16385, i16 16385, i16 16385, i16 17615, i16 16385, i16 16385, i16 16385, i16 17618, i16 16385, i16 16385, i16 16385, i16 17621, i16 16385, i16 16385, i16 16385, i16 17624, i16 16385, i16 16385, i16 16385, i16 17627, i16 16385, i16 16385, i16 16385, i16 17630, i16 16385, i16 16385, i16 16385, i16 17633, i16 16385, i16 16385, i16 16385, i16 17636, i16 16385, i16 16385, i16 16385, i16 17639, i16 16385, i16 16385, i16 16385, i16 17642, i16 16385, i16 16385, i16 16385, i16 17645, i16 16385, i16 16385, i16 16385, i16 17648, i16 16385, i16 16385, i16 16385, i16 17651, i16 16385, i16 16385, i16 16385, i16 17654, i16 16385, i16 16385, i16 16385, i16 17657, i16 16385, i16 16385, i16 16385, i16 17660, i16 16385, i16 16385, i16 16385, i16 17663, i16 16385, i16 16385, i16 16385, i16 17666, i16 16385, i16 16385, i16 16385, i16 17669, i16 16385, i16 16385, i16 16385, i16 17672, i16 16385, i16 16385, i16 16385, i16 17675, i16 16385, i16 16385, i16 16385, i16 17678, i16 16385, i16 16385, i16 16385, i16 17681, i16 16385, i16 16385, i16 16385, i16 17684, i16 16385, i16 16385, i16 16385, i16 17687, i16 16385, i16 16385, i16 16385, i16 17690, i16 16385, i16 16385, i16 16385, i16 17693, i16 16385, i16 16385, i16 16385, i16 17696, i16 16385, i16 16385, i16 16385, i16 17699, i16 16385, i16 16385, i16 16385, i16 17702, i16 16385, i16 16385, i16 16385, i16 17705, i16 16385, i16 16385, i16 16385, i16 17708, i16 16385, i16 16385, i16 16385, i16 17711, i16 16385, i16 16385, i16 16385, i16 17714, i16 16385, i16 16385, i16 16385, i16 17717, i16 16385, i16 16385, i16 16385, i16 17720, i16 16385, i16 16385, i16 16385, i16 17723, i16 16385, i16 16385, i16 16385, i16 17726, i16 16385, i16 16385, i16 16385, i16 17729, i16 16385, i16 16385, i16 16385, i16 17732, i16 16385, i16 16385, i16 16385, i16 17735, i16 16385, i16 16385, i16 16385, i16 17738, i16 16385, i16 16385, i16 16385, i16 17741, i16 16385, i16 16385, i16 16385, i16 17744, i16 16385, i16 16385, i16 16385, i16 17747, i16 16385, i16 16385, i16 16385, i16 17750, i16 16385, i16 16385, i16 16385, i16 17753, i16 16385, i16 16385, i16 16385, i16 17756, i16 16385, i16 16385, i16 16385, i16 17759, i16 16385, i16 16385, i16 16385, i16 17762, i16 16385, i16 16385, i16 16385, i16 17765, i16 16385, i16 16385, i16 16385, i16 17768, i16 16385, i16 16385, i16 16385, i16 17771, i16 16385, i16 16385, i16 16385, i16 17774, i16 16385, i16 16385, i16 16385, i16 17777, i16 16385, i16 16385, i16 16385, i16 17780, i16 16385, i16 16385, i16 16385, i16 17783, i16 16385, i16 16385, i16 16385, i16 17786, i16 16385, i16 16385, i16 16385, i16 17789, i16 16385, i16 16385, i16 16385, i16 17792, i16 16385, i16 16385, i16 16385, i16 17795, i16 16385, i16 16385, i16 16385, i16 17798, i16 16385, i16 16385, i16 16385, i16 17801, i16 16385, i16 16385, i16 16385, i16 17804, i16 16385, i16 16385, i16 16385, i16 17807, i16 16385, i16 16385, i16 16385, i16 17810, i16 16385, i16 16385, i16 16385, i16 17813, i16 16385, i16 16385, i16 16385, i16 17816, i16 16385, i16 16385, i16 16385, i16 17819, i16 16385, i16 16385, i16 16385, i16 17822, i16 16385, i16 16385, i16 16385, i16 17825, i16 16385, i16 16385, i16 16385, i16 17828, i16 16385, i16 16385, i16 16385, i16 17831, i16 16385, i16 16385, i16 16385, i16 17834, i16 16385, i16 16385, i16 16385, i16 17837, i16 16385, i16 16385, i16 16385, i16 17840, i16 16385, i16 16385, i16 16385, i16 17843, i16 16385, i16 16385, i16 16385, i16 17846, i16 16385, i16 16385, i16 16385, i16 17849, i16 16385, i16 16385, i16 16385, i16 17852, i16 16385, i16 16385, i16 16385, i16 17855, i16 16385, i16 16385, i16 16385, i16 17858, i16 16385, i16 16385, i16 16385, i16 17861, i16 16385, i16 16385, i16 16385, i16 17864, i16 16385, i16 16385, i16 16385, i16 17867, i16 16385, i16 16385, i16 16385, i16 17870, i16 16385, i16 16385, i16 16385, i16 17873, i16 16385, i16 16385, i16 16385, i16 17876, i16 16385, i16 16385, i16 16385, i16 17879, i16 16385, i16 16385, i16 16385, i16 17882, i16 16385, i16 16385, i16 16385, i16 17885, i16 16385, i16 16385, i16 16385, i16 17888, i16 16385, i16 16385, i16 16385, i16 17891, i16 16385, i16 16385, i16 16385, i16 17894, i16 16385, i16 16385, i16 16385, i16 17897, i16 16385, i16 16385, i16 16385, i16 17900, i16 16385, i16 16385, i16 16385, i16 17903, i16 16385, i16 16385, i16 16385, i16 17906, i16 16385, i16 16385, i16 16385, i16 17909, i16 16385, i16 16385, i16 16385, i16 17912, i16 16385, i16 16385, i16 16385, i16 17915, i16 16385, i16 16385, i16 16385, i16 17918, i16 16385, i16 16385, i16 16385, i16 17921, i16 16385, i16 16385, i16 16385, i16 17924, i16 16385, i16 16385, i16 16385, i16 17927, i16 16385, i16 16385, i16 16385, i16 17930, i16 16385, i16 16385, i16 16385, i16 17933, i16 16385, i16 16385, i16 16385, i16 17936, i16 16385, i16 16385, i16 16385, i16 17939, i16 16385, i16 16385, i16 16385, i16 17942, i16 16385, i16 16385, i16 16385, i16 17945, i16 16385, i16 16385, i16 16385, i16 17948, i16 16385, i16 16385, i16 16385, i16 17951, i16 16385, i16 16385, i16 16385, i16 16779, i16 16385, i16 16385, i16 16389, i16 32767, i16 16384, i16 16384, i16 16384, i16 17284, i16 17285, i16 0, i16 895, i16 895, i16 0, i16 17273, i16 17273, i16 0, i16 16434, i16 16428, i16 0, i16 16393, i16 16393, i16 0, i16 97, i16 905, i16 0, i16 14, i16 14, i16 0, i16 3, i16 3, i16 0, i16 4, i16 3, i16 0, i16 5, i16 3, i16 0, i16 6, i16 3, i16 0, i16 16425, i16 16428, i16 0, i16 16433, i16 17283, i16 0, i16 16437, i16 16437, i16 0, i16 16481, i16 17289, i16 0, i16 16398, i16 16398, i16 0, i16 91, i16 906, i16 0, i16 14, i16 13, i16 0, i16 3, i16 4, i16 0, i16 4, i16 4, i16 0, i16 14, i16 890, i16 0, i16 14, i16 892, i16 0, i16 16488, i16 16488, i16 0, i16 17279, i16 17279, i16 0, i16 16488, i16 16492, i16 0, i16 16492, i16 16492, i16 0, i16 17797, i16 17797, i16 0, i16 16393, i16 17601, i16 0, i16 16393, i16 17600, i16 0, i16 16393, i16 17273, i16 0, i16 17273, i16 16393, i16 0, i16 17273, i16 17601, i16 0, i16 17273, i16 17600, i16 0, i16 17798, i16 17798, i16 0, i16 17799, i16 17799, i16 0, i16 16393, i16 17796, i16 0, i16 16393, i16 17795, i16 0, i16 16393, i16 17794, i16 0, i16 16393, i16 17793, i16 0, i16 17273, i16 17796, i16 0, i16 17273, i16 17795, i16 0, i16 17273, i16 17794, i16 0, i16 17273, i16 17793, i16 0, i16 17800, i16 17800, i16 0, i16 17801, i16 17801, i16 0, i16 17802, i16 17802, i16 0, i16 17804, i16 17804, i16 0, i16 17805, i16 17805, i16 0, i16 17807, i16 17807, i16 0, i16 16475, i16 17934, i16 0, i16 16387, i16 16388, i16 0, i16 16388, i16 16388, i16 0, i16 16475, i16 17289, i16 0, i16 16398, i16 17274, i16 0, i16 16398, i16 17276, i16 0, i16 16475, i16 17290, i16 0, i16 16458, i16 17935, i16 17290, i16 16475, i16 0, i16 17279, i16 17279, i16 17279, i16 17279, i16 0, i16 16389, i16 16390, i16 16388, i16 16387, i16 0, i16 17296, i16 17302, i16 0, i16 17329, i16 17279, i16 0, i16 17296, i16 17303, i16 0, i16 17311, i16 17334, i16 0, i16 17314, i16 17334, i16 0, i16 17193, i16 17193, i16 0, i16 2, i16 2, i16 0, i16 17200, i16 17200, i16 0, i16 17193, i16 18178, i16 0, i16 17201, i16 17201, i16 0, i16 17193, i16 17285, i16 0, i16 17202, i16 17202, i16 0, i16 17193, i16 17193, i16 18178, i16 0, i16 2, i16 2, i16 2, i16 0, i16 17203, i16 17203, i16 17203, i16 0, i16 17193, i16 17193, i16 17285, i16 0, i16 17204, i16 17204, i16 17204, i16 0, i16 18178, i16 17267, i16 0, i16 881, i16 881, i16 0, i16 16385, i16 16385, i16 0, i16 18080, i16 18080, i16 0, i16 17408, i16 17427, i16 0, i16 17410, i16 17410, i16 0, i16 17408, i16 17408, i16 0, i16 18080, i16 17425, i16 0, i16 17426, i16 17426, i16 0, i16 17851, i16 17736, i16 0, i16 1467, i16 1352, i16 0, i16 17901, i16 17901, i16 0, i16 1467, i16 1353, i16 0, i16 17902, i16 17902, i16 0, i16 17851, i16 17738, i16 0, i16 1467, i16 1354, i16 0, i16 17903, i16 17903, i16 0, i16 1467, i16 1355, i16 0, i16 17904, i16 17904, i16 0, i16 17851, i16 17741, i16 0, i16 1467, i16 1357, i16 0, i16 17905, i16 17905, i16 0, i16 1467, i16 1358, i16 0, i16 17906, i16 17906, i16 0, i16 17851, i16 17745, i16 0, i16 1467, i16 1362, i16 0, i16 17907, i16 17907, i16 0, i16 1467, i16 1363, i16 0, i16 17908, i16 17908, i16 0, i16 17065, i16 17148, i16 0, i16 1770, i16 1770, i16 0, i16 1772, i16 1772, i16 0, i16 1774, i16 1774, i16 0, i16 17311, i16 17205, i16 0, i16 1814, i16 1814, i16 0, i16 17325, i16 17148, i16 0, i16 1830, i16 1830, i16 0, i16 17427, i16 17220, i16 0, i16 1840, i16 1840, i16 0, i16 16470, i16 16579, i16 0, i16 16530, i16 16530, i16 0, i16 16532, i16 16532, i16 0, i16 16534, i16 16534, i16 0, i16 16630, i16 16630, i16 0, i16 16389, i16 16389, i16 0, i16 16637, i16 16637, i16 0, i16 16630, i16 16681, i16 0, i16 16638, i16 16638, i16 0, i16 16630, i16 16739, i16 0, i16 16639, i16 16639, i16 0, i16 16630, i16 16630, i16 16681, i16 0, i16 16389, i16 16389, i16 16389, i16 0, i16 16640, i16 16640, i16 16640, i16 0, i16 16630, i16 16630, i16 16739, i16 0, i16 16641, i16 16641, i16 16641, i16 0, i16 16681, i16 16718, i16 0, i16 16716, i16 16716, i16 0, i16 16769, i16 16642, i16 0, i16 16789, i16 16789, i16 0, i16 16791, i16 16579, i16 0, i16 16859, i16 16859, i16 0, i16 16892, i16 16917, i16 0, i16 16894, i16 16894, i16 0, i16 16892, i16 16892, i16 0, i16 16388, i16 16915, i16 0, i16 16916, i16 16916, i16 0, i16 16917, i16 16661, i16 0, i16 16934, i16 16934, i16 0, i16 18043, i16 17928, i16 0, i16 18093, i16 18093, i16 0, i16 18043, i16 17929, i16 0, i16 18094, i16 18094, i16 0, i16 18043, i16 17930, i16 0, i16 18095, i16 18095, i16 0, i16 18043, i16 17931, i16 0, i16 18096, i16 18096, i16 0, i16 18043, i16 17933, i16 0, i16 18097, i16 18097, i16 0, i16 18043, i16 17934, i16 0, i16 18098, i16 18098, i16 0, i16 18043, i16 17937, i16 0, i16 18043, i16 17938, i16 0, i16 18099, i16 18099, i16 0, i16 18043, i16 17939, i16 0, i16 18100, i16 18100, i16 0, i16 16510, i16 16788, i16 0, i16 16510, i16 16789, i16 0, i16 16510, i16 16790, i16 0, i16 16510, i16 16791, i16 0, i16 16510, i16 16792, i16 0, i16 16516, i16 16788, i16 0, i16 16516, i16 16789, i16 0, i16 16516, i16 16790, i16 0, i16 16516, i16 16791, i16 0, i16 16516, i16 16792, i16 0, i16 16522, i16 16788, i16 0, i16 16522, i16 16789, i16 0, i16 16522, i16 16790, i16 0, i16 16522, i16 16791, i16 0, i16 16522, i16 16792, i16 0, i16 16528, i16 16788, i16 0, i16 16528, i16 16789, i16 0, i16 16528, i16 16790, i16 0, i16 16528, i16 16791, i16 0, i16 16528, i16 16792, i16 0, i16 16534, i16 16788, i16 0, i16 16534, i16 16789, i16 0, i16 16534, i16 16790, i16 0, i16 16534, i16 16791, i16 0, i16 16534, i16 16792, i16 0, i16 16540, i16 16788, i16 0, i16 16540, i16 16789, i16 0, i16 16540, i16 16790, i16 0, i16 16540, i16 16791, i16 0, i16 16540, i16 16792, i16 0, i16 16546, i16 16788, i16 0, i16 16546, i16 16789, i16 0, i16 16546, i16 16790, i16 0, i16 16546, i16 16791, i16 0, i16 16546, i16 16792, i16 0, i16 16552, i16 16788, i16 0, i16 16552, i16 16789, i16 0, i16 16552, i16 16790, i16 0, i16 16552, i16 16791, i16 0, i16 16552, i16 16792, i16 0, i16 16558, i16 16788, i16 0, i16 16558, i16 16789, i16 0, i16 16558, i16 16790, i16 0, i16 16558, i16 16791, i16 0, i16 16558, i16 16792, i16 0, i16 16564, i16 16788, i16 0, i16 16564, i16 16789, i16 0, i16 16564, i16 16790, i16 0, i16 16564, i16 16791, i16 0, i16 16564, i16 16792, i16 0, i16 16570, i16 16788, i16 0, i16 16570, i16 16789, i16 0, i16 16570, i16 16790, i16 0, i16 16570, i16 16791, i16 0, i16 16570, i16 16792, i16 0, i16 16576, i16 16788, i16 0, i16 16576, i16 16789, i16 0, i16 16576, i16 16790, i16 0, i16 16576, i16 16791, i16 0, i16 16576, i16 16792, i16 0, i16 16582, i16 16788, i16 0, i16 16582, i16 16789, i16 0, i16 16582, i16 16790, i16 0, i16 16582, i16 16791, i16 0, i16 16582, i16 16792, i16 0, i16 16588, i16 16788, i16 0, i16 16588, i16 16789, i16 0, i16 16588, i16 16790, i16 0, i16 16588, i16 16791, i16 0, i16 16588, i16 16792, i16 0, i16 16594, i16 16788, i16 0, i16 16594, i16 16789, i16 0, i16 16594, i16 16790, i16 0, i16 16594, i16 16791, i16 0, i16 16594, i16 16792, i16 0, i16 16600, i16 16788, i16 0, i16 16600, i16 16789, i16 0, i16 16600, i16 16790, i16 0, i16 16600, i16 16791, i16 0, i16 16600, i16 16792, i16 0, i16 16606, i16 16788, i16 0, i16 16606, i16 16789, i16 0, i16 16606, i16 16790, i16 0, i16 16606, i16 16791, i16 0, i16 16606, i16 16792, i16 0, i16 16612, i16 16788, i16 0, i16 16612, i16 16789, i16 0, i16 16612, i16 16790, i16 0, i16 16612, i16 16791, i16 0, i16 16612, i16 16792, i16 0, i16 16618, i16 16788, i16 0, i16 16618, i16 16789, i16 0, i16 16618, i16 16790, i16 0, i16 16618, i16 16791, i16 0, i16 16618, i16 16792, i16 0, i16 16624, i16 16788, i16 0, i16 16624, i16 16789, i16 0, i16 16624, i16 16790, i16 0, i16 16624, i16 16791, i16 0, i16 16624, i16 16792, i16 0, i16 16630, i16 16788, i16 0, i16 16630, i16 16789, i16 0, i16 16630, i16 16790, i16 0, i16 16630, i16 16791, i16 0, i16 16630, i16 16792, i16 0, i16 16636, i16 16788, i16 0, i16 16636, i16 16789, i16 0, i16 16636, i16 16790, i16 0, i16 16636, i16 16791, i16 0, i16 16636, i16 16792, i16 0, i16 16642, i16 16788, i16 0, i16 16642, i16 16789, i16 0, i16 16642, i16 16790, i16 0, i16 16642, i16 16791, i16 0, i16 16642, i16 16792, i16 0, i16 16648, i16 16788, i16 0, i16 16648, i16 16789, i16 0, i16 16648, i16 16790, i16 0, i16 16648, i16 16791, i16 0, i16 16648, i16 16792, i16 0, i16 16654, i16 16788, i16 0, i16 16654, i16 16789, i16 0, i16 16654, i16 16790, i16 0, i16 16654, i16 16791, i16 0, i16 16654, i16 16792, i16 0, i16 16660, i16 16788, i16 0, i16 16660, i16 16789, i16 0, i16 16660, i16 16790, i16 0, i16 16660, i16 16791, i16 0, i16 16660, i16 16792, i16 0, i16 16666, i16 16788, i16 0, i16 16666, i16 16789, i16 0, i16 16666, i16 16790, i16 0, i16 16666, i16 16791, i16 0, i16 16666, i16 16792, i16 0, i16 16672, i16 16788, i16 0, i16 16672, i16 16789, i16 0, i16 16672, i16 16790, i16 0, i16 16672, i16 16791, i16 0, i16 16672, i16 16792, i16 0, i16 16678, i16 16788, i16 0, i16 16678, i16 16789, i16 0, i16 16678, i16 16790, i16 0, i16 16678, i16 16791, i16 0, i16 16678, i16 16792, i16 0, i16 16684, i16 16788, i16 0, i16 16684, i16 16789, i16 0, i16 16684, i16 16790, i16 0, i16 16684, i16 16791, i16 0, i16 16684, i16 16792, i16 0, i16 16690, i16 16788, i16 0, i16 16690, i16 16789, i16 0, i16 16690, i16 16790, i16 0, i16 16690, i16 16791, i16 0, i16 16690, i16 16792, i16 0, i16 16696, i16 16788, i16 0, i16 16696, i16 16789, i16 0, i16 16696, i16 16790, i16 0, i16 16696, i16 16791, i16 0, i16 16696, i16 16792, i16 0, i16 16702, i16 16788, i16 0, i16 16702, i16 16789, i16 0, i16 16702, i16 16790, i16 0, i16 16702, i16 16791, i16 0, i16 16702, i16 16792, i16 0, i16 16708, i16 16788, i16 0, i16 16708, i16 16789, i16 0, i16 16708, i16 16790, i16 0, i16 16708, i16 16791, i16 0, i16 16708, i16 16792, i16 0, i16 16714, i16 16788, i16 0, i16 16714, i16 16789, i16 0, i16 16714, i16 16790, i16 0, i16 16714, i16 16791, i16 0, i16 16714, i16 16792, i16 0, i16 16721, i16 16788, i16 0, i16 16721, i16 16789, i16 0, i16 16721, i16 16790, i16 0, i16 16721, i16 16791, i16 0, i16 16721, i16 16792, i16 0, i16 16728, i16 16788, i16 0, i16 16728, i16 16789, i16 0, i16 16728, i16 16790, i16 0, i16 16728, i16 16791, i16 0, i16 16728, i16 16792, i16 0, i16 16734, i16 16788, i16 0, i16 16734, i16 16789, i16 0, i16 16734, i16 16790, i16 0, i16 16734, i16 16791, i16 0, i16 16734, i16 16792, i16 0, i16 16740, i16 16788, i16 0, i16 16740, i16 16789, i16 0, i16 16740, i16 16790, i16 0, i16 16740, i16 16791, i16 0, i16 16740, i16 16792, i16 0, i16 16746, i16 16788, i16 0, i16 16746, i16 16789, i16 0, i16 16746, i16 16790, i16 0, i16 16746, i16 16791, i16 0, i16 16746, i16 16792, i16 0, i16 16752, i16 16788, i16 0, i16 16752, i16 16789, i16 0, i16 16752, i16 16790, i16 0, i16 16752, i16 16791, i16 0, i16 16752, i16 16792, i16 0, i16 16758, i16 16788, i16 0, i16 16758, i16 16789, i16 0, i16 16758, i16 16790, i16 0, i16 16758, i16 16791, i16 0, i16 16758, i16 16792, i16 0, i16 16764, i16 16788, i16 0, i16 16764, i16 16789, i16 0, i16 16764, i16 16790, i16 0, i16 16764, i16 16791, i16 0, i16 16764, i16 16792, i16 0, i16 16770, i16 16788, i16 0, i16 16770, i16 16789, i16 0, i16 16770, i16 16790, i16 0, i16 16770, i16 16791, i16 0, i16 16770, i16 16792, i16 0, i16 14, i16 17, i16 8, i16 13, i16 15, i16 6, i16 12, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5, i16 10, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9, i16 7, i16 11, i16 0, i16 0, i16 16, i16 3, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4, i16 0, i16 1, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 15, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 168, i16 173, i16 100, i16 105, i16 110, i16 116, i16 125, i16 131, i16 140, i16 144, i16 146, i16 148, i16 151, i16 154, i16 160, i16 163, i16 120, i16 124, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 26, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 82, i16 114, i16 5, i16 119, i16 0, i16 32, i16 0, i16 136, i16 111, i16 6, i16 17, i16 8, i16 167, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 16, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 36, i16 0, i16 37, i16 0, i16 0, i16 0, i16 0, i16 0, i16 38, i16 0, i16 0, i16 0, i16 0, i16 39, i16 0, i16 40, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 55, i16 123, i16 129, i16 134, i16 139, i16 0, i16 52, i16 99, i16 104, i16 109, i16 115, i16 0, i16 0, i16 0, i16 0, i16 0, i16 77, i16 85, i16 89, i16 0, i16 170, i16 174, i16 178, i16 180, i16 147, i16 0, i16 0, i16 0, i16 0, i16 0, i16 35, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 25, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 61, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 80, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 58, i16 0, i16 0, i16 12, i16 0, i16 0, i16 0, i16 28, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 159, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 143, i16 145, i16 0, i16 0, i16 0, i16 0, i16 172, i16 177, i16 0, i16 0, i16 0, i16 0, i16 47, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 41, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 191, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 13, i16 0, i16 24, i16 51, i16 87, i16 93, i16 102, i16 70, i16 142, i16 175, i16 0, i16 76, i16 90, i16 72, i16 49, i16 4, i16 92, i16 53, i16 96, i16 0, i16 54, i16 0, i16 30, i16 97, i16 18, i16 31, i16 0, i16 0, i16 0, i16 79, i16 91, i16 10, i16 45, i16 0, i16 0, i16 0, i16 158, i16 33, i16 155, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9, i16 184, i16 81, i16 189, i16 196, i16 64, i16 94, i16 75, i16 88, i16 98, i16 66, i16 46, i16 63, i16 187, i16 84, i16 0, i16 50, i16 95, i16 101, i16 106, i16 150, i16 162, i16 133, i16 138, i16 169, i16 192, i16 126, i16 83, i16 183, i16 153, i16 135, i16 179, i16 112, i16 117, i16 122, i16 128, i16 132, i16 185, i16 194, i16 156, i16 195, i16 186, i16 200, i16 67, i16 176, i16 149, i16 181, i16 188, i16 57, i16 141, i16 121, i16 127, i16 130, i16 137, i16 103, i16 107, i16 113, i16 118, i16 56, i16 108, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 152, i16 43, i16 34, i16 7, i16 44, i16 171, i16 0, i16 0, i16 0, i16 165, i16 42, i16 166, i16 0, i16 0, i16 59, i16 19, i16 197, i16 199, i16 22, i16 20, i16 23, i16 21, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 48, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 27, i16 0, i16 0, i16 0, i16 182, i16 198, i16 60, i16 190, i16 62, i16 193, i16 65, i16 157, i16 161, i16 164, i16 69, i16 68, i16 71, i16 78, i16 74, i16 86, i16 0, i16 2, i16 29, i16 3, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 14, i16 73, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1292, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1197, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1199, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 557, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 597, i16 598, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 691, i16 692, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1211, i16 1210, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 701, i16 702, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 731, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 223, i16 230, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 245, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1198, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 268, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1298, i16 1296, i16 1297, i16 1295, i16 0, i16 0, i16 0, i16 0, i16 1569, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1570, i16 1571, i16 1572, i16 1573, i16 0, i16 0, i16 0, i16 0, i16 1106, i16 1107, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1661, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 246, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 247, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 250, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 251, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 253, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 269, i16 0, i16 0, i16 0, i16 270, i16 0, i16 0, i16 0, i16 376, i16 378, i16 379, i16 380, i16 0, i16 0, i16 0, i16 263, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 266, i16 267, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1290, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 581, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 584, i16 583, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 609, i16 610, i16 611, i16 612, i16 0, i16 0, i16 0, i16 0, i16 152, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1207, i16 1206, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 189, i16 0, i16 0, i16 0, i16 244, i16 0, i16 0, i16 0, i16 1224, i16 0, i16 0, i16 1223, i16 0, i16 0, i16 0, i16 0, i16 1226, i16 0, i16 0, i16 1225, i16 0, i16 0, i16 0, i16 0, i16 1228, i16 0, i16 0, i16 1227, i16 0, i16 0, i16 0, i16 0, i16 1230, i16 0, i16 0, i16 1229, i16 0, i16 0, i16 0, i16 0, i16 1232, i16 0, i16 0, i16 1231, i16 0, i16 0, i16 0, i16 0, i16 1234, i16 0, i16 0, i16 1233, i16 0, i16 0, i16 0, i16 0, i16 1241, i16 1240, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1243, i16 1242, i16 1205, i16 1204, i16 0, i16 0, i16 0, i16 0, i16 1247, i16 1246, i16 0, i16 0, i16 1249, i16 1248, i16 0, i16 0, i16 226, i16 228, i16 225, i16 0, i16 0, i16 0, i16 0, i16 0, i16 760, i16 0, i16 734, i16 0, i16 748, i16 0, i16 0, i16 260, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 264, i16 265, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 554, i16 0, i16 0, i16 0, i16 0, i16 552, i16 0, i16 0, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 0, i16 1069, i16 1070, i16 1071, i16 1079, i16 1072, i16 1081, i16 1657, i16 0, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 0, i16 564, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1076, i16 0, i16 0, i16 0, i16 0, i16 0, i16 577, i16 0, i16 1367, i16 1368, i16 1369, i16 1370, i16 1371, i16 1372, i16 1373, i16 0, i16 1127, i16 1125, i16 1124, i16 1126, i16 1128, i16 1129, i16 1130, i16 0, i16 1142, i16 1140, i16 1139, i16 1141, i16 1143, i16 1144, i16 1145, i16 0, i16 1196, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 256, i16 257, i16 255, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1024, i16 984, i16 489, i16 409, i16 0, i16 0, i16 487, i16 407, i16 258, i16 261, i16 259, i16 262, i16 0, i16 0, i16 0, i16 0, i16 1027, i16 987, i16 492, i16 412, i16 1028, i16 988, i16 1029, i16 989, i16 773, i16 0, i16 775, i16 825, i16 771, i16 822, i16 749, i16 800, i16 774, i16 776, i16 746, i16 766, i16 779, i16 786, i16 790, i16 794, i16 1032, i16 992, i16 500, i16 420, i16 1033, i16 993, i16 503, i16 424, i16 781, i16 792, i16 768, i16 769, i16 767, i16 821, i16 808, i16 0, i16 1037, i16 535, i16 534, i16 536, i16 1043, i16 545, i16 550, i16 1002, i16 526, i16 449, i16 529, i16 452, i16 1039, i16 999, i16 1041, i16 1001, i16 1038, i16 998, i16 521, i16 444, i16 525, i16 448, i16 527, i16 450, i16 271, i16 575, i16 576, i16 1075, i16 578, i16 579, i16 580, i16 1077, i16 1040, i16 1000, i16 1042, i16 1003, i16 531, i16 454, i16 532, i16 455, i16 1555, i16 1557, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1300, i16 1299, i16 0, i16 0, i16 0, i16 0, i16 1293, i16 1291, i16 1045, i16 1006, i16 539, i16 462, i16 542, i16 465, i16 546, i16 470, i16 791, i16 793, i16 798, i16 801, i16 802, i16 803, i16 804, i16 805, i16 1049, i16 1051, i16 1053, i16 1055, i16 1057, i16 1059, i16 1061, i16 1063, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 538, i16 461, i16 540, i16 463, i16 1044, i16 1005, i16 537, i16 460, i16 1050, i16 1052, i16 1054, i16 1056, i16 1058, i16 1060, i16 1062, i16 1064, i16 1306, i16 1305, i16 1308, i16 1307, i16 0, i16 0, i16 0, i16 0, i16 796, i16 730, i16 732, i16 733, i16 735, i16 737, i16 739, i16 741, i16 1565, i16 1566, i16 0, i16 0, i16 0, i16 0, i16 589, i16 590, i16 543, i16 544, i16 1637, i16 181, i16 213, i16 182, i16 224, i16 151, i16 799, i16 809, i16 813, i16 797, i16 0, i16 0, i16 0, i16 0, i16 290, i16 291, i16 0, i16 292, i16 293, i16 294, i16 295, i16 296, i16 547, i16 549, i16 472, i16 1048, i16 1009, i16 1047, i16 1008, i16 0, i16 551, i16 1074, i16 553, i16 555, i16 556, i16 558, i16 559, i16 560, i16 807, i16 758, i16 811, i16 810, i16 814, i16 816, i16 820, i16 823, i16 297, i16 298, i16 299, i16 300, i16 0, i16 0, i16 0, i16 0, i16 1065, i16 1067, i16 272, i16 273, i16 274, i16 275, i16 0, i16 0, i16 1066, i16 1068, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 561, i16 1567, i16 1568, i16 0, i16 0, i16 0, i16 0, i16 0, i16 562, i16 563, i16 565, i16 567, i16 568, i16 569, i16 570, i16 571, i16 819, i16 778, i16 780, i16 782, i16 783, i16 785, i16 787, i16 789, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 566, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1078, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 824, i16 826, i16 795, i16 818, i16 806, i16 817, i16 827, i16 0, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1108, i16 1109, i16 1088, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 572, i16 573, i16 574, i16 0, i16 0, i16 0, i16 0, i16 0, i16 828, i16 829, i16 830, i16 831, i16 832, i16 833, i16 834, i16 835, i16 1344, i16 1345, i16 1346, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1089, i16 695, i16 696, i16 697, i16 698, i16 1090, i16 1091, i16 585, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 836, i16 837, i16 839, i16 840, i16 841, i16 842, i16 843, i16 844, i16 838, i16 1131, i16 1132, i16 1134, i16 1133, i16 0, i16 1135, i16 1136, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 586, i16 587, i16 588, i16 1092, i16 1093, i16 593, i16 594, i16 595, i16 1100, i16 1101, i16 675, i16 676, i16 677, i16 678, i16 0, i16 0, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 845, i16 846, i16 847, i16 848, i16 849, i16 850, i16 851, i16 852, i16 591, i16 592, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 0, i16 596, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 853, i16 854, i16 855, i16 1137, i16 856, i16 1138, i16 857, i16 858, i16 599, i16 600, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 1117, i16 1118, i16 859, i16 860, i16 861, i16 862, i16 863, i16 864, i16 865, i16 866, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 1374, i16 1375, i16 1376, i16 1377, i16 1378, i16 1379, i16 1380, i16 1381, i16 1119, i16 1120, i16 1121, i16 1122, i16 1123, i16 0, i16 0, i16 0, i16 608, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 1632, i16 523, i16 1633, i16 1634, i16 1635, i16 533, i16 541, i16 1636, i16 867, i16 868, i16 869, i16 870, i16 871, i16 872, i16 873, i16 874, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 1382, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 875, i16 876, i16 877, i16 878, i16 879, i16 880, i16 881, i16 882, i16 620, i16 621, i16 622, i16 625, i16 626, i16 627, i16 628, i16 631, i16 365, i16 160, i16 192, i16 194, i16 191, i16 195, i16 241, i16 185, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 1390, i16 1391, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1646, i16 446, i16 1647, i16 1648, i16 1649, i16 456, i16 464, i16 1650, i16 623, i16 624, i16 633, i16 634, i16 629, i16 630, i16 1098, i16 1099, i16 883, i16 884, i16 885, i16 1153, i16 886, i16 1154, i16 887, i16 888, i16 374, i16 375, i16 158, i16 157, i16 234, i16 236, i16 238, i16 161, i16 1398, i16 1399, i16 1400, i16 1401, i16 1402, i16 1403, i16 1404, i16 0, i16 632, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 1146, i16 1147, i16 1148, i16 1150, i16 1149, i16 0, i16 1151, i16 1152, i16 1658, i16 1659, i16 1660, i16 954, i16 957, i16 959, i16 961, i16 964, i16 383, i16 0, i16 0, i16 0, i16 387, i16 388, i16 389, i16 390, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 391, i16 392, i16 219, i16 217, i16 0, i16 178, i16 180, i16 0, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 1163, i16 1164, i16 1165, i16 0, i16 0, i16 0, i16 0, i16 0, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 403, i16 402, i16 404, i16 405, i16 415, i16 414, i16 991, i16 416, i16 150, i16 159, i16 172, i16 215, i16 193, i16 216, i16 214, i16 169, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 1179, i16 1178, i16 1201, i16 1200, i16 0, i16 0, i16 0, i16 0, i16 413, i16 1642, i16 421, i16 422, i16 1643, i16 431, i16 1644, i16 1645, i16 674, i16 1094, i16 1095, i16 1096, i16 1097, i16 679, i16 680, i16 681, i16 164, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 167, i16 384, i16 438, i16 176, i16 377, i16 381, i16 382, i16 162, i16 423, i16 505, i16 426, i16 508, i16 429, i16 506, i16 427, i16 509, i16 168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 170, i16 171, i16 0, i16 0, i16 173, i16 174, i16 0, i16 0, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 430, i16 507, i16 428, i16 512, i16 434, i16 514, i16 436, i16 513, i16 177, i16 179, i16 212, i16 218, i16 156, i16 155, i16 165, i16 163, i16 690, i16 1102, i16 1103, i16 1104, i16 1105, i16 693, i16 694, i16 1110, i16 435, i16 433, i16 1035, i16 995, i16 520, i16 443, i16 0, i16 0, i16 1203, i16 1202, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1209, i16 1208, i16 0, i16 0, i16 0, i16 0, i16 1245, i16 1244, i16 699, i16 700, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 955, i16 956, i16 958, i16 0, i16 960, i16 0, i16 962, i16 963, i16 190, i16 474, i16 477, i16 1624, i16 1625, i16 481, i16 1626, i16 1627, i16 703, i16 1652, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 1215, i16 1214, i16 1213, i16 1212, i16 0, i16 0, i16 0, i16 0, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 965, i16 966, i16 968, i16 969, i16 277, i16 278, i16 280, i16 281, i16 711, i16 712, i16 713, i16 1653, i16 715, i16 716, i16 717, i16 718, i16 967, i16 276, i16 279, i16 1552, i16 1553, i16 1554, i16 0, i16 0, i16 971, i16 970, i16 972, i16 973, i16 974, i16 975, i16 977, i16 978, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 719, i16 720, i16 721, i16 722, i16 1654, i16 724, i16 725, i16 726, i16 466, i16 467, i16 1651, i16 183, i16 240, i16 184, i16 229, i16 332, i16 727, i16 1655, i16 1656, i16 0, i16 0, i16 0, i16 0, i16 0, i16 983, i16 994, i16 440, i16 439, i16 441, i16 442, i16 996, i16 231, i16 476, i16 396, i16 1016, i16 976, i16 475, i16 395, i16 1019, i16 979, i16 222, i16 393, i16 397, i16 1638, i16 1639, i16 401, i16 1640, i16 1641, i16 738, i16 742, i16 745, i16 0, i16 755, i16 0, i16 765, i16 777, i16 227, i16 187, i16 394, i16 175, i16 239, i16 154, i16 188, i16 153, i16 483, i16 482, i16 484, i16 485, i16 495, i16 494, i16 1031, i16 496, i16 740, i16 788, i16 736, i16 784, i16 761, i16 812, i16 763, i16 815, i16 997, i16 458, i16 457, i16 459, i16 1004, i16 468, i16 473, i16 469, i16 743, i16 744, i16 747, i16 750, i16 751, i16 752, i16 753, i16 754, i16 488, i16 408, i16 486, i16 406, i16 1026, i16 986, i16 1025, i16 985, i16 233, i16 0, i16 0, i16 0, i16 235, i16 237, i16 0, i16 0, i16 493, i16 1628, i16 501, i16 502, i16 1629, i16 510, i16 1630, i16 1631, i16 497, i16 417, i16 499, i16 419, i16 0, i16 0, i16 498, i16 418, i16 242, i16 220, i16 385, i16 386, i16 221, i16 243, i16 186, i16 166, i16 1011, i16 1010, i16 1012, i16 1013, i16 1014, i16 1015, i16 1017, i16 1018, i16 756, i16 757, i16 0, i16 759, i16 762, i16 764, i16 770, i16 772, i16 248, i16 0, i16 0, i16 0, i16 252, i16 0, i16 0, i16 0, i16 1020, i16 980, i16 1022, i16 982, i16 1021, i16 981, i16 480, i16 400, i16 254, i16 0, i16 0, i16 0, i16 249, i16 0, i16 0, i16 0, i16 1023, i16 1034, i16 517, i16 516, i16 518, i16 519, i16 1036, i16 232, i16 8, i16 13, i16 9, i16 5, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 14, i16 7, i16 11, i16 3, i16 6, i16 0, i16 0, i16 0, i16 0, i16 10, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 81, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8, i16 42, i16 98, i16 109, i16 122, i16 130, i16 140, i16 151, i16 164, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 35, i16 0, i16 108, i16 0, i16 110, i16 120, i16 125, i16 133, i16 0, i16 0, i16 0, i16 0, i16 15, i16 0, i16 141, i16 148, i16 112, i16 117, i16 160, i16 139, i16 149, i16 57, i16 167, i16 170, i16 174, i16 47, i16 60, i16 61, i16 39, i16 0, i16 0, i16 11, i16 92, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 43, i16 18, i16 0, i16 0, i16 10, i16 12, i16 51, i16 119, i16 93, i16 169, i16 172, i16 96, i16 0, i16 0, i16 28, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 23, i16 9, i16 0, i16 14, i16 66, i16 0, i16 67, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 32, i16 75, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 46, i16 147, i16 152, i16 156, i16 31, i16 0, i16 0, i16 157, i16 161, i16 0, i16 36, i16 0, i16 0, i16 0, i16 0, i16 0, i16 37, i16 22, i16 176, i16 0, i16 0, i16 38, i16 181, i16 63, i16 70, i16 48, i16 17, i16 0, i16 73, i16 74, i16 0, i16 0, i16 52, i16 102, i16 135, i16 155, i16 114, i16 171, i16 101, i16 173, i16 111, i16 121, i16 94, i16 127, i16 142, i16 103, i16 143, i16 104, i16 175, i16 180, i16 89, i16 62, i16 124, i16 71, i16 80, i16 83, i16 20, i16 49, i16 166, i16 95, i16 7, i16 106, i16 165, i16 26, i16 55, i16 153, i16 179, i16 154, i16 182, i16 56, i16 40, i16 41, i16 77, i16 158, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 79, i16 86, i16 0, i16 76, i16 82, i16 88, i16 0, i16 59, i16 69, i16 85, i16 99, i16 116, i16 131, i16 58, i16 68, i16 84, i16 97, i16 115, i16 128, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 78, i16 50, i16 87, i16 27, i16 33, i16 34, i16 123, i16 0, i16 44, i16 16, i16 24, i16 0, i16 25, i16 0, i16 3, i16 0, i16 45, i16 105, i16 107, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 126, i16 54, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 144, i16 177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 13, i16 21, i16 19, i16 0, i16 0, i16 53, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 29, i16 30, i16 129, i16 137, i16 146, i16 138, i16 134, i16 0, i16 0, i16 159, i16 178, i16 90, i16 118, i16 132, i16 163, i16 64, i16 72, i16 91, i16 113, i16 162, i16 145, i16 65, i16 150, i16 168, i16 100, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 136, i16 5, i16 6, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 592, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 161, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 172, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 167, i16 168, i16 169, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 170, i16 0, i16 171, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 714, i16 715, i16 864, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1505, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 524, i16 0, i16 525, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 581, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1348, i16 0, i16 0, i16 0, i16 1349, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1923, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 526, i16 527, i16 528, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 427, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 343, i16 344, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 290, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 594, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 742, i16 743, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1924, i16 146, i16 0, i16 1925, i16 0, i16 1926, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 232, i16 233, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 234, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 520, i16 521, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 522, i16 523, i16 0, i16 0, i16 0, i16 0, i16 0, i16 345, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 823, i16 824, i16 0, i16 0, i16 0, i16 0, i16 1762, i16 1763, i16 1772, i16 1773, i16 1824, i16 1825, i16 0, i16 0, i16 0, i16 0, i16 323, i16 324, i16 325, i16 326, i16 0, i16 0, i16 0, i16 0, i16 327, i16 0, i16 328, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1371, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 153, i16 154, i16 0, i16 0, i16 0, i16 0, i16 155, i16 0, i16 0, i16 0, i16 156, i16 0, i16 0, i16 0, i16 0, i16 0, i16 157, i16 158, i16 1148, i16 159, i16 1158, i16 1164, i16 1170, i16 0, i16 1187, i16 0, i16 1200, i16 1213, i16 0, i16 0, i16 0, i16 0, i16 1701, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 546, i16 0, i16 0, i16 0, i16 547, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 329, i16 0, i16 330, i16 0, i16 0, i16 331, i16 0, i16 0, i16 0, i16 332, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 333, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 358, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 225, i16 226, i16 0, i16 0, i16 227, i16 0, i16 228, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 229, i16 0, i16 230, i16 0, i16 0, i16 0, i16 231, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 1733, i16 1735, i16 1737, i16 1739, i16 0, i16 0, i16 0, i16 517, i16 518, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 519, i16 0, i16 0, i16 1310, i16 1311, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1312, i16 1313, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1314, i16 1315, i16 1316, i16 1317, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1353, i16 0, i16 1355, i16 0, i16 0, i16 0, i16 1358, i16 0, i16 0, i16 0, i16 0, i16 1362, i16 1363, i16 1366, i16 0, i16 0, i16 593, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 339, i16 340, i16 0, i16 0, i16 341, i16 342, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 348, i16 0, i16 0, i16 0, i16 0, i16 0, i16 349, i16 350, i16 351, i16 352, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 173, i16 174, i16 175, i16 176, i16 177, i16 0, i16 0, i16 180, i16 181, i16 0, i16 0, i16 0, i16 178, i16 179, i16 0, i16 0, i16 499, i16 500, i16 0, i16 0, i16 0, i16 501, i16 0, i16 0, i16 502, i16 0, i16 503, i16 504, i16 0, i16 0, i16 0, i16 282, i16 0, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 811, i16 812, i16 0, i16 0, i16 0, i16 0, i16 0, i16 894, i16 895, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 304, i16 305, i16 306, i16 307, i16 0, i16 0, i16 308, i16 309, i16 1700, i16 310, i16 0, i16 0, i16 311, i16 312, i16 313, i16 0, i16 1351, i16 1352, i16 1354, i16 1356, i16 1357, i16 1359, i16 1361, i16 1365, i16 1372, i16 1375, i16 1380, i16 1385, i16 1390, i16 1395, i16 1400, i16 0, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 75, i16 78, i16 76, i16 79, i16 77, i16 604, i16 605, i16 0, i16 658, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 672, i16 673, i16 674, i16 675, i16 676, i16 1364, i16 677, i16 678, i16 679, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1234, i16 1230, i16 1224, i16 1236, i16 1288, i16 1244, i16 1246, i16 1248, i16 1258, i16 1264, i16 1276, i16 1254, i16 0, i16 1280, i16 1292, i16 0, i16 1235, i16 1231, i16 1225, i16 1237, i16 1289, i16 1245, i16 1247, i16 1249, i16 1259, i16 1265, i16 1277, i16 1255, i16 0, i16 1281, i16 1293, i16 0, i16 476, i16 477, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1525, i16 1527, i16 1529, i16 1531, i16 1533, i16 1535, i16 1538, i16 1540, i16 1542, i16 1544, i16 1547, i16 1549, i16 1551, i16 1553, i16 1555, i16 0, i16 1526, i16 1528, i16 1530, i16 1532, i16 1534, i16 1536, i16 1539, i16 1541, i16 1543, i16 1545, i16 1548, i16 1550, i16 1552, i16 1554, i16 1556, i16 0, i16 505, i16 0, i16 0, i16 506, i16 0, i16 507, i16 508, i16 0, i16 0, i16 509, i16 510, i16 0, i16 0, i16 511, i16 512, i16 513, i16 514, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 515, i16 516, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1796, i16 1795, i16 881, i16 882, i16 885, i16 886, i16 1801, i16 1802, i16 1803, i16 903, i16 904, i16 1806, i16 1807, i16 905, i16 906, i16 907, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 1033, i16 1034, i16 1035, i16 1036, i16 1027, i16 1028, i16 1031, i16 1032, i16 1037, i16 1038, i16 1047, i16 1048, i16 1049, i16 1050, i16 1057, i16 1058, i16 778, i16 779, i16 780, i16 781, i16 782, i16 783, i16 784, i16 785, i16 870, i16 871, i16 876, i16 877, i16 972, i16 973, i16 966, i16 967, i16 529, i16 0, i16 530, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 0, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 1557, i16 1560, i16 1562, i16 1564, i16 1566, i16 1568, i16 1570, i16 1572, i16 1574, i16 1576, i16 1578, i16 1580, i16 1582, i16 1584, i16 1586, i16 1588, i16 1558, i16 1561, i16 1563, i16 1565, i16 1567, i16 1569, i16 1571, i16 1573, i16 1575, i16 1577, i16 1579, i16 1581, i16 1583, i16 1585, i16 1587, i16 1589, i16 279, i16 280, i16 281, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1818, i16 1819, i16 1830, i16 1831, i16 1007, i16 1008, i16 1832, i16 1833, i16 1013, i16 1014, i16 1834, i16 1835, i16 1029, i16 1030, i16 1838, i16 1839, i16 1055, i16 1056, i16 1098, i16 1099, i16 1090, i16 1091, i16 1100, i16 1101, i16 1088, i16 1089, i16 1096, i16 1097, i16 1852, i16 1853, i16 1854, i16 1855, i16 291, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 292, i16 0, i16 293, i16 0, i16 294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 548, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 0, i16 0, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 1318, i16 1319, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 295, i16 0, i16 296, i16 297, i16 0, i16 298, i16 299, i16 300, i16 301, i16 0, i16 0, i16 302, i16 0, i16 0, i16 0, i16 303, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 1836, i16 1837, i16 1053, i16 1054, i16 1045, i16 1046, i16 1051, i16 1052, i16 1086, i16 1087, i16 1846, i16 1847, i16 1066, i16 1067, i16 1074, i16 1075, i16 816, i16 817, i16 818, i16 819, i16 820, i16 1042, i16 1026, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 0, i16 0, i16 0, i16 0, i16 571, i16 0, i16 0, i16 0, i16 1844, i16 1845, i16 1094, i16 1095, i16 1862, i16 1863, i16 1126, i16 1127, i16 1128, i16 1877, i16 1878, i16 1881, i16 1882, i16 1879, i16 1880, i16 1040, i16 1590, i16 1592, i16 1594, i16 1596, i16 1598, i16 1600, i16 1602, i16 1604, i16 1606, i16 1608, i16 1610, i16 1612, i16 1614, i16 1616, i16 1618, i16 1620, i16 1591, i16 1593, i16 1595, i16 1597, i16 1599, i16 1601, i16 1603, i16 1605, i16 1607, i16 1609, i16 1611, i16 1613, i16 1615, i16 1617, i16 1619, i16 1621, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 314, i16 0, i16 0, i16 0, i16 0, i16 315, i16 0, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 0, i16 322, i16 0, i16 572, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 829, i16 830, i16 1790, i16 1791, i16 840, i16 841, i16 848, i16 849, i16 872, i16 873, i16 1799, i16 1800, i16 858, i16 859, i16 878, i16 879, i16 833, i16 834, i16 844, i16 845, i16 846, i16 847, i16 842, i16 843, i16 850, i16 851, i16 838, i16 839, i16 874, i16 875, i16 868, i16 869, i16 1860, i16 1861, i16 1858, i16 1859, i16 1864, i16 1865, i16 1866, i16 1867, i16 1868, i16 1869, i16 1121, i16 1122, i16 1119, i16 1120, i16 1134, i16 1135, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1350, i16 1452, i16 1457, i16 1462, i16 1467, i16 1472, i16 1477, i16 1482, i16 1487, i16 1490, i16 1493, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 74, i16 87, i16 120, i16 122, i16 119, i16 123, i16 143, i16 114, i16 94, i16 116, i16 683, i16 104, i16 141, i16 82, i16 117, i16 81, i16 1103, i16 0, i16 0, i16 0, i16 0, i16 1142, i16 1143, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1360, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1370, i16 0, i16 1622, i16 1624, i16 1626, i16 1628, i16 1630, i16 1632, i16 1634, i16 1636, i16 1638, i16 1640, i16 1642, i16 1644, i16 1646, i16 1648, i16 1650, i16 1652, i16 1367, i16 1368, i16 1369, i16 1373, i16 1374, i16 1376, i16 1377, i16 1378, i16 1379, i16 1381, i16 1382, i16 1383, i16 1384, i16 1386, i16 1387, i16 1388, i16 1623, i16 1625, i16 1627, i16 1629, i16 1631, i16 1633, i16 1635, i16 1637, i16 1639, i16 1641, i16 1643, i16 1645, i16 1647, i16 1649, i16 1651, i16 1653, i16 1112, i16 1113, i16 1124, i16 1125, i16 1136, i16 1137, i16 1130, i16 1131, i16 1132, i16 1133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 92, i16 1953, i16 730, i16 1954, i16 1955, i16 765, i16 810, i16 822, i16 837, i16 853, i16 884, i16 889, i16 1956, i16 919, i16 1957, i16 942, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 1887, i16 1810, i16 944, i16 1816, i16 952, i16 1820, i16 1828, i16 134, i16 1822, i16 1062, i16 1842, i16 1070, i16 1848, i16 1872, i16 1840, i16 1041, i16 1888, i16 1811, i16 945, i16 1817, i16 953, i16 1821, i16 1829, i16 133, i16 1823, i16 1063, i16 1843, i16 1071, i16 1849, i16 1873, i16 1841, i16 1129, i16 353, i16 0, i16 354, i16 0, i16 0, i16 355, i16 0, i16 0, i16 1889, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 865, i16 964, i16 965, i16 1072, i16 1073, i16 1076, i16 1077, i16 1078, i16 1079, i16 1082, i16 1083, i16 1080, i16 1081, i16 0, i16 718, i16 719, i16 356, i16 357, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 359, i16 360, i16 361, i16 362, i16 0, i16 0, i16 363, i16 364, i16 365, i16 366, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1389, i16 1391, i16 1392, i16 1393, i16 1394, i16 1396, i16 1397, i16 1398, i16 1399, i16 1401, i16 1402, i16 1404, i16 1405, i16 1407, i16 1408, i16 1410, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 1905, i16 445, i16 446, i16 1906, i16 447, i16 1907, i16 448, i16 449, i16 1908, i16 450, i16 451, i16 1909, i16 452, i16 453, i16 454, i16 1910, i16 1138, i16 1139, i16 1140, i16 1141, i16 1144, i16 1145, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 118, i16 1948, i16 729, i16 1949, i16 1950, i16 764, i16 809, i16 821, i16 836, i16 1794, i16 883, i16 888, i16 1951, i16 918, i16 1952, i16 941, i16 1654, i16 1656, i16 1658, i16 1660, i16 1662, i16 1664, i16 1666, i16 1668, i16 1670, i16 1672, i16 1674, i16 1676, i16 1678, i16 1680, i16 1682, i16 1684, i16 1655, i16 1657, i16 1659, i16 1661, i16 1663, i16 1665, i16 1667, i16 1669, i16 1671, i16 1673, i16 1675, i16 1677, i16 1679, i16 1681, i16 1683, i16 1685, i16 1911, i16 455, i16 456, i16 1912, i16 457, i16 458, i16 459, i16 1913, i16 1914, i16 460, i16 461, i16 1915, i16 462, i16 463, i16 464, i16 1916, i16 890, i16 891, i16 896, i16 897, i16 898, i16 899, i16 909, i16 910, i16 911, i16 912, i16 915, i16 916, i16 913, i16 914, i16 920, i16 921, i16 1403, i16 1406, i16 1409, i16 1412, i16 1417, i16 1422, i16 1427, i16 1432, i16 1437, i16 1442, i16 1447, i16 0, i16 0, i16 0, i16 0, i16 0, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 1411, i16 1413, i16 1414, i16 1415, i16 1416, i16 1418, i16 1419, i16 1420, i16 1421, i16 1423, i16 1424, i16 1425, i16 1426, i16 1428, i16 1429, i16 1430, i16 135, i16 334, i16 0, i16 0, i16 137, i16 139, i16 0, i16 0, i16 0, i16 0, i16 335, i16 336, i16 0, i16 0, i16 337, i16 338, i16 908, i16 1804, i16 1805, i16 1808, i16 1809, i16 1812, i16 1813, i16 929, i16 930, i16 939, i16 1814, i16 1815, i16 1826, i16 1827, i16 948, i16 949, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 655, i16 656, i16 657, i16 0, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 144, i16 132, i16 1750, i16 1751, i16 91, i16 145, i16 115, i16 96, i16 97, i16 1749, i16 943, i16 105, i16 1734, i16 1736, i16 1738, i16 89, i16 1686, i16 1688, i16 1690, i16 1692, i16 1537, i16 1546, i16 1559, i16 0, i16 0, i16 0, i16 0, i16 577, i16 578, i16 579, i16 580, i16 0, i16 1175, i16 1147, i16 1151, i16 1153, i16 1155, i16 1157, i16 1161, i16 1163, i16 1167, i16 1169, i16 1176, i16 1178, i16 1180, i16 1182, i16 1184, i16 1186, i16 1431, i16 1433, i16 1434, i16 1435, i16 1436, i16 1438, i16 1439, i16 1440, i16 1441, i16 1443, i16 1444, i16 1445, i16 1446, i16 1448, i16 1449, i16 1450, i16 1687, i16 1689, i16 1691, i16 1693, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 573, i16 574, i16 575, i16 576, i16 0, i16 922, i16 923, i16 924, i16 925, i16 931, i16 932, i16 933, i16 934, i16 937, i16 938, i16 935, i16 936, i16 968, i16 969, i16 970, i16 971, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 0, i16 0, i16 0, i16 0, i16 160, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1697, i16 86, i16 101, i16 127, i16 121, i16 128, i16 126, i16 98, i16 106, i16 108, i16 124, i16 130, i16 83, i16 1698, i16 90, i16 1699, i16 162, i16 163, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 164, i16 165, i16 166, i16 1190, i16 1192, i16 0, i16 1194, i16 1197, i16 1199, i16 1206, i16 1208, i16 1210, i16 1212, i16 1171, i16 1201, i16 1150, i16 1160, i16 1166, i16 1173, i16 1191, i16 1193, i16 1196, i16 1195, i16 1198, i16 1202, i16 1207, i16 1209, i16 1211, i16 1214, i16 1174, i16 1204, i16 1189, i16 1203, i16 1215, i16 0, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 1717, i16 1718, i16 1451, i16 1453, i16 1454, i16 1455, i16 1456, i16 1458, i16 1459, i16 1460, i16 1461, i16 1463, i16 1464, i16 1465, i16 1466, i16 1468, i16 1469, i16 1470, i16 428, i16 1890, i16 429, i16 1891, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 1892, i16 1893, i16 1894, i16 684, i16 1758, i16 702, i16 722, i16 1764, i16 1760, i16 1770, i16 1780, i16 766, i16 1784, i16 774, i16 788, i16 854, i16 1797, i16 862, i16 866, i16 685, i16 1759, i16 703, i16 723, i16 1765, i16 1761, i16 1771, i16 1781, i16 767, i16 1785, i16 775, i16 789, i16 855, i16 1798, i16 863, i16 867, i16 686, i16 687, i16 700, i16 701, i16 768, i16 769, i16 772, i16 773, i16 856, i16 857, i16 860, i16 861, i16 946, i16 947, i16 950, i16 951, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 798, i16 799, i16 790, i16 791, i16 792, i16 793, i16 776, i16 777, i16 1205, i16 1149, i16 1152, i16 1154, i16 1156, i16 1159, i16 1162, i16 1165, i16 1168, i16 1172, i16 1177, i16 1179, i16 1181, i16 1183, i16 1185, i16 1188, i16 182, i16 0, i16 0, i16 183, i16 184, i16 185, i16 186, i16 187, i16 99, i16 100, i16 188, i16 189, i16 102, i16 103, i16 190, i16 191, i16 439, i16 1895, i16 1896, i16 1897, i16 440, i16 1898, i16 1899, i16 1900, i16 441, i16 1901, i16 1902, i16 1903, i16 442, i16 1904, i16 443, i16 444, i16 1719, i16 1720, i16 1721, i16 1722, i16 1723, i16 1724, i16 1725, i16 1726, i16 1727, i16 1728, i16 1729, i16 1730, i16 475, i16 0, i16 0, i16 0, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 984, i16 985, i16 986, i16 987, i16 988, i16 989, i16 1471, i16 1473, i16 1474, i16 1475, i16 1476, i16 1478, i16 1479, i16 1480, i16 1481, i16 1483, i16 1484, i16 1485, i16 1486, i16 1488, i16 1489, i16 1491, i16 192, i16 193, i16 1702, i16 0, i16 0, i16 194, i16 195, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1216, i16 1218, i16 1220, i16 1222, i16 1228, i16 1232, i16 1238, i16 1240, i16 1242, i16 1250, i16 1252, i16 1256, i16 1260, i16 1262, i16 1266, i16 1268, i16 1217, i16 1219, i16 1221, i16 1223, i16 1229, i16 1233, i16 1239, i16 1241, i16 1243, i16 1251, i16 1253, i16 1257, i16 1261, i16 1263, i16 1267, i16 1269, i16 1731, i16 1740, i16 1741, i16 1742, i16 1743, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 85, i16 84, i16 136, i16 138, i16 140, i16 88, i16 196, i16 0, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 0, i16 208, i16 0, i16 1732, i16 0, i16 0, i16 0, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 131, i16 129, i16 209, i16 107, i16 109, i16 0, i16 1226, i16 1227, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 716, i16 717, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 746, i16 747, i16 753, i16 754, i16 755, i16 756, i16 761, i16 762, i16 465, i16 466, i16 1917, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 1918, i16 0, i16 0, i16 0, i16 0, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 0, i16 724, i16 725, i16 720, i16 721, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 690, i16 691, i16 980, i16 981, i16 978, i16 979, i16 997, i16 998, i16 999, i16 1000, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1492, i16 1494, i16 1495, i16 1496, i16 1497, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 0, i16 0, i16 0, i16 726, i16 727, i16 1774, i16 1775, i16 831, i16 832, i16 827, i16 828, i16 892, i16 893, i16 974, i16 975, i16 976, i16 977, i16 0, i16 0, i16 982, i16 983, i16 1921, i16 1922, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1102, i16 478, i16 0, i16 0, i16 0, i16 479, i16 0, i16 0, i16 0, i16 480, i16 0, i16 0, i16 0, i16 481, i16 0, i16 0, i16 0, i16 990, i16 991, i16 992, i16 993, i16 1092, i16 1093, i16 1084, i16 1085, i16 1104, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1503, i16 1504, i16 1506, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 482, i16 483, i16 484, i16 485, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 995, i16 1002, i16 1005, i16 1024, i16 1043, i16 1060, i16 1850, i16 1856, i16 1117, i16 1870, i16 1875, i16 110, i16 125, i16 111, i16 93, i16 80, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 996, i16 1003, i16 1006, i16 1025, i16 1044, i16 1061, i16 1851, i16 1857, i16 1118, i16 1871, i16 1876, i16 112, i16 142, i16 113, i16 95, i16 622, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 494, i16 495, i16 496, i16 0, i16 497, i16 498, i16 0, i16 0, i16 1768, i16 1769, i16 688, i16 689, i16 1766, i16 1767, i16 1776, i16 1777, i16 740, i16 741, i16 744, i16 745, i16 1778, i16 1779, i16 751, i16 752, i16 235, i16 0, i16 236, i16 0, i16 0, i16 0, i16 237, i16 0, i16 0, i16 0, i16 0, i16 238, i16 0, i16 0, i16 0, i16 0, i16 1009, i16 1010, i16 1011, i16 1012, i16 1064, i16 1065, i16 1068, i16 1069, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 757, i16 758, i16 759, i16 760, i16 804, i16 805, i16 802, i16 803, i16 806, i16 807, i16 794, i16 795, i16 800, i16 801, i16 813, i16 814, i16 1270, i16 1272, i16 1274, i16 1278, i16 1282, i16 1284, i16 1286, i16 1290, i16 1294, i16 1296, i16 1299, i16 1300, i16 1303, i16 1304, i16 1306, i16 1308, i16 1782, i16 1783, i16 1788, i16 1789, i16 770, i16 771, i16 796, i16 797, i16 1786, i16 1787, i16 786, i16 787, i16 825, i16 826, i16 1792, i16 1793, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 1271, i16 1273, i16 1275, i16 1279, i16 1283, i16 1285, i16 1287, i16 1291, i16 1295, i16 1297, i16 1298, i16 1301, i16 1302, i16 1305, i16 1307, i16 1309, i16 9, i16 11, i16 8, i16 5, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12, i16 7, i16 13, i16 3, i16 6, i16 0, i16 0, i16 0, i16 0, i16 14, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 181, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8, i16 38, i16 76, i16 84, i16 94, i16 104, i16 117, i16 126, i16 135, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 36, i16 0, i16 170, i16 0, i16 171, i16 176, i16 66, i16 74, i16 0, i16 0, i16 0, i16 0, i16 13, i16 0, i16 81, i16 86, i16 49, i16 50, i16 112, i16 82, i16 96, i16 51, i16 118, i16 120, i16 123, i16 40, i16 54, i16 134, i16 41, i16 0, i16 0, i16 11, i16 165, i16 0, i16 0, i16 0, i16 0, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 46, i16 18, i16 0, i16 0, i16 9, i16 12, i16 47, i16 90, i16 67, i16 138, i16 141, i16 71, i16 0, i16 0, i16 26, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 22, i16 10, i16 0, i16 14, i16 142, i16 0, i16 145, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 34, i16 150, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 39, i16 169, i16 98, i16 100, i16 29, i16 0, i16 0, i16 147, i16 110, i16 0, i16 37, i16 0, i16 0, i16 0, i16 0, i16 0, i16 32, i16 21, i16 65, i16 0, i16 0, i16 33, i16 122, i16 129, i16 136, i16 57, i16 17, i16 0, i16 139, i16 140, i16 0, i16 0, i16 55, i16 127, i16 149, i16 128, i16 151, i16 56, i16 44, i16 45, i16 172, i16 131, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 173, i16 179, i16 0, i16 61, i16 175, i16 99, i16 146, i16 180, i16 167, i16 160, i16 168, i16 63, i16 73, i16 97, i16 83, i16 106, i16 52, i16 108, i16 53, i16 132, i16 154, i16 68, i16 93, i16 116, i16 148, i16 70, i16 95, i16 20, i16 62, i16 158, i16 107, i16 7, i16 89, i16 133, i16 25, i16 80, i16 85, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 109, i16 174, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 19, i16 16, i16 0, i16 0, i16 48, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 27, i16 28, i16 103, i16 114, i16 121, i16 115, i16 91, i16 0, i16 0, i16 125, i16 155, i16 72, i16 101, i16 124, i16 157, i16 64, i16 79, i16 119, i16 137, i16 130, i16 111, i16 161, i16 143, i16 163, i16 113, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 92, i16 5, i16 6, i16 3, i16 144, i16 58, i16 152, i16 30, i16 31, i16 35, i16 78, i16 0, i16 42, i16 15, i16 23, i16 0, i16 24, i16 0, i16 4, i16 0, i16 43, i16 69, i16 166, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 153, i16 156, i16 159, i16 0, i16 60, i16 164, i16 178, i16 77, i16 88, i16 105, i16 59, i16 162, i16 177, i16 75, i16 87, i16 102, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 831, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1251, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 842, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 979, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 837, i16 838, i16 839, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 840, i16 0, i16 841, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 121, i16 122, i16 311, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1697, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1539, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1183, i16 0, i16 1184, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1240, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1540, i16 0, i16 0, i16 0, i16 1541, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1058, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1185, i16 1186, i16 1187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 975, i16 976, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 816, i16 811, i16 819, i16 818, i16 800, i16 821, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 929, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1253, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 815, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 167, i16 168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 771, i16 772, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 877, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1179, i16 1180, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1181, i16 1182, i16 0, i16 0, i16 0, i16 0, i16 0, i16 977, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 978, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 260, i16 261, i16 0, i16 0, i16 0, i16 0, i16 125, i16 126, i16 148, i16 149, i16 450, i16 451, i16 0, i16 0, i16 0, i16 0, i16 1563, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 823, i16 824, i16 0, i16 0, i16 0, i16 0, i16 825, i16 0, i16 0, i16 0, i16 826, i16 0, i16 0, i16 0, i16 0, i16 0, i16 827, i16 828, i16 1340, i16 829, i16 1350, i16 1356, i16 1362, i16 0, i16 1379, i16 0, i16 1392, i16 1405, i16 0, i16 0, i16 0, i16 0, i16 946, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 961, i16 962, i16 963, i16 964, i16 0, i16 0, i16 0, i16 0, i16 803, i16 0, i16 965, i16 0, i16 0, i16 0, i16 0, i16 804, i16 0, i16 805, i16 0, i16 0, i16 806, i16 0, i16 0, i16 0, i16 802, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 808, i16 0, i16 876, i16 0, i16 0, i16 0, i16 809, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 878, i16 879, i16 880, i16 881, i16 882, i16 883, i16 884, i16 885, i16 682, i16 684, i16 686, i16 688, i16 0, i16 0, i16 0, i16 0, i16 1205, i16 0, i16 0, i16 0, i16 1206, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 966, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 989, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 767, i16 768, i16 0, i16 0, i16 769, i16 0, i16 770, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1545, i16 0, i16 1547, i16 0, i16 0, i16 0, i16 1550, i16 0, i16 0, i16 0, i16 0, i16 1554, i16 1555, i16 1558, i16 0, i16 0, i16 79, i16 80, i16 81, i16 82, i16 83, i16 0, i16 0, i16 84, i16 85, i16 0, i16 0, i16 0, i16 843, i16 844, i16 0, i16 0, i16 1158, i16 1159, i16 0, i16 0, i16 0, i16 1160, i16 0, i16 0, i16 1161, i16 0, i16 1162, i16 1163, i16 0, i16 0, i16 0, i16 0, i16 1176, i16 1177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1178, i16 0, i16 0, i16 971, i16 972, i16 0, i16 0, i16 973, i16 974, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 980, i16 0, i16 0, i16 0, i16 0, i16 0, i16 981, i16 982, i16 983, i16 984, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1502, i16 1503, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1504, i16 1505, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1506, i16 1507, i16 1508, i16 1509, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1252, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1543, i16 1544, i16 1546, i16 1548, i16 1549, i16 1551, i16 1553, i16 1557, i16 1564, i16 1567, i16 1572, i16 1577, i16 1582, i16 1587, i16 1592, i16 0, i16 1317, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1092, i16 1093, i16 0, i16 1095, i16 0, i16 1097, i16 1098, i16 0, i16 1100, i16 1101, i16 0, i16 1103, i16 1104, i16 1105, i16 0, i16 0, i16 1108, i16 1109, i16 0, i16 1111, i16 1112, i16 1113, i16 0, i16 0, i16 1116, i16 1117, i16 0, i16 1119, i16 1120, i16 1121, i16 0, i16 0, i16 1135, i16 1136, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 391, i16 412, i16 410, i16 420, i16 440, i16 434, i16 791, i16 448, i16 556, i16 554, i16 564, i16 570, i16 646, i16 550, i16 531, i16 0, i16 392, i16 413, i16 411, i16 421, i16 441, i16 435, i16 787, i16 449, i16 557, i16 555, i16 565, i16 571, i16 647, i16 551, i16 653, i16 0, i16 1164, i16 0, i16 0, i16 1165, i16 0, i16 1166, i16 1167, i16 0, i16 0, i16 1168, i16 1169, i16 0, i16 0, i16 1170, i16 1171, i16 0, i16 1426, i16 1422, i16 1416, i16 1428, i16 1480, i16 1436, i16 1438, i16 1440, i16 1450, i16 1456, i16 1468, i16 1446, i16 0, i16 1472, i16 1484, i16 0, i16 1427, i16 1423, i16 1417, i16 1429, i16 1481, i16 1437, i16 1439, i16 1441, i16 1451, i16 1457, i16 1469, i16 1447, i16 0, i16 1473, i16 1485, i16 0, i16 921, i16 0, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 943, i16 735, i16 944, i16 945, i16 0, i16 0, i16 793, i16 947, i16 847, i16 788, i16 0, i16 0, i16 949, i16 950, i16 951, i16 0, i16 1717, i16 1719, i16 1721, i16 1723, i16 1725, i16 1727, i16 1730, i16 1732, i16 1734, i16 1736, i16 1739, i16 1741, i16 1743, i16 1745, i16 1747, i16 0, i16 1718, i16 1720, i16 1722, i16 1724, i16 1726, i16 1728, i16 1731, i16 1733, i16 1735, i16 1737, i16 1740, i16 1742, i16 1744, i16 1746, i16 1748, i16 0, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 707, i16 710, i16 708, i16 711, i16 709, i16 1263, i16 1264, i16 0, i16 248, i16 249, i16 0, i16 0, i16 0, i16 0, i16 0, i16 345, i16 346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 517, i16 518, i16 519, i16 520, i16 513, i16 514, i16 527, i16 528, i16 521, i16 522, i16 537, i16 538, i16 539, i16 540, i16 547, i16 548, i16 773, i16 0, i16 774, i16 0, i16 0, i16 0, i16 775, i16 0, i16 0, i16 0, i16 0, i16 776, i16 0, i16 0, i16 0, i16 0, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 1037, i16 1038, i16 1039, i16 1040, i16 1041, i16 1042, i16 1043, i16 1044, i16 1045, i16 1542, i16 1644, i16 1649, i16 1654, i16 1659, i16 1664, i16 1669, i16 1674, i16 1679, i16 1682, i16 1685, i16 1690, i16 1691, i16 1692, i16 1693, i16 1694, i16 268, i16 269, i16 272, i16 273, i16 281, i16 282, i16 289, i16 290, i16 319, i16 320, i16 329, i16 330, i16 305, i16 306, i16 327, i16 328, i16 780, i16 0, i16 985, i16 0, i16 0, i16 986, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 525, i16 526, i16 543, i16 544, i16 535, i16 536, i16 541, i16 542, i16 584, i16 585, i16 594, i16 595, i16 560, i16 561, i16 568, i16 569, i16 1552, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1562, i16 0, i16 274, i16 275, i16 285, i16 286, i16 287, i16 288, i16 283, i16 284, i16 291, i16 292, i16 279, i16 280, i16 321, i16 322, i16 315, i16 316, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1046, i16 1047, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 0, i16 0, i16 0, i16 0, i16 1814, i16 1816, i16 1818, i16 1820, i16 1822, i16 1824, i16 1826, i16 1828, i16 1830, i16 1832, i16 1834, i16 1836, i16 1838, i16 1840, i16 1842, i16 1844, i16 1559, i16 1560, i16 1561, i16 1565, i16 1566, i16 1568, i16 1569, i16 1570, i16 1571, i16 1573, i16 1574, i16 1575, i16 1576, i16 1578, i16 1579, i16 1580, i16 1815, i16 1817, i16 1819, i16 1821, i16 1823, i16 1825, i16 1827, i16 1829, i16 1831, i16 1833, i16 1835, i16 1837, i16 1839, i16 1841, i16 1843, i16 1845, i16 795, i16 784, i16 0, i16 0, i16 796, i16 797, i16 0, i16 0, i16 0, i16 0, i16 967, i16 968, i16 0, i16 0, i16 969, i16 970, i16 545, i16 546, i16 598, i16 599, i16 588, i16 589, i16 600, i16 601, i16 586, i16 587, i16 596, i16 597, i16 617, i16 618, i16 619, i16 620, i16 1314, i16 1315, i16 1316, i16 0, i16 1318, i16 801, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1059, i16 0, i16 1061, i16 0, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1070, i16 1071, i16 0, i16 0, i16 0, i16 1060, i16 1062, i16 1072, i16 1073, i16 1074, i16 1076, i16 1077, i16 1078, i16 1080, i16 1081, i16 1082, i16 1084, i16 1085, i16 1086, i16 1088, i16 1091, i16 807, i16 794, i16 699, i16 700, i16 814, i16 766, i16 762, i16 822, i16 817, i16 698, i16 409, i16 786, i16 683, i16 685, i16 687, i16 716, i16 1581, i16 1583, i16 1584, i16 1585, i16 1586, i16 1588, i16 1589, i16 1590, i16 1591, i16 1593, i16 1594, i16 1596, i16 1597, i16 1599, i16 1600, i16 1602, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1556, i16 1335, i16 1336, i16 1337, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1075, i16 0, i16 0, i16 0, i16 1079, i16 0, i16 0, i16 0, i16 1083, i16 0, i16 0, i16 0, i16 1087, i16 0, i16 1089, i16 1090, i16 1846, i16 1848, i16 1850, i16 1852, i16 1854, i16 1856, i16 1858, i16 1860, i16 1862, i16 1864, i16 1866, i16 1868, i16 1870, i16 1872, i16 1874, i16 1876, i16 1847, i16 1849, i16 1851, i16 1853, i16 1855, i16 1857, i16 1859, i16 1861, i16 1863, i16 1865, i16 1867, i16 1869, i16 1871, i16 1873, i16 1875, i16 1877, i16 312, i16 432, i16 433, i16 566, i16 567, i16 572, i16 573, i16 574, i16 575, i16 578, i16 579, i16 576, i16 577, i16 0, i16 131, i16 132, i16 1595, i16 1598, i16 1601, i16 1604, i16 1609, i16 1614, i16 1619, i16 1624, i16 1629, i16 1634, i16 1639, i16 0, i16 0, i16 0, i16 0, i16 0, i16 830, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 832, i16 833, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 834, i16 835, i16 836, i16 323, i16 324, i16 332, i16 333, i16 336, i16 337, i16 349, i16 350, i16 354, i16 357, i16 358, i16 367, i16 368, i16 359, i16 360, i16 361, i16 1603, i16 1605, i16 1606, i16 1607, i16 1608, i16 1610, i16 1611, i16 1612, i16 1613, i16 1615, i16 1616, i16 1617, i16 1618, i16 1620, i16 1621, i16 1622, i16 580, i16 581, i16 592, i16 593, i16 628, i16 629, i16 650, i16 651, i16 652, i16 665, i16 666, i16 669, i16 670, i16 678, i16 679, i16 530, i16 1094, i16 1096, i16 1099, i16 1102, i16 1106, i16 1107, i16 1110, i16 1114, i16 1115, i16 1118, i16 1122, i16 1125, i16 1134, i16 0, i16 0, i16 0, i16 77, i16 718, i16 764, i16 756, i16 810, i16 765, i16 739, i16 757, i16 820, i16 761, i16 88, i16 785, i16 781, i16 733, i16 760, i16 812, i16 845, i16 846, i16 948, i16 0, i16 0, i16 848, i16 849, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 78, i16 717, i16 720, i16 798, i16 759, i16 758, i16 755, i16 721, i16 743, i16 745, i16 792, i16 789, i16 713, i16 731, i16 712, i16 741, i16 850, i16 0, i16 851, i16 852, i16 853, i16 854, i16 855, i16 856, i16 857, i16 750, i16 752, i16 858, i16 859, i16 0, i16 813, i16 0, i16 341, i16 342, i16 347, i16 348, i16 351, i16 352, i16 363, i16 364, i16 369, i16 370, i16 373, i16 374, i16 371, i16 372, i16 378, i16 379, i16 1878, i16 1880, i16 1882, i16 1884, i16 1729, i16 1738, i16 1751, i16 0, i16 0, i16 0, i16 0, i16 1236, i16 1237, i16 1238, i16 1239, i16 0, i16 1367, i16 1339, i16 1343, i16 1345, i16 1347, i16 1349, i16 1353, i16 1355, i16 1359, i16 1361, i16 1368, i16 1370, i16 1372, i16 1374, i16 1376, i16 1378, i16 1623, i16 1625, i16 1626, i16 1627, i16 1628, i16 1630, i16 1631, i16 1632, i16 1633, i16 1635, i16 1636, i16 1637, i16 1638, i16 1640, i16 1641, i16 1642, i16 1879, i16 1881, i16 1883, i16 1885, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1232, i16 1233, i16 1234, i16 1235, i16 0, i16 91, i16 89, i16 109, i16 135, i16 129, i16 123, i16 146, i16 171, i16 199, i16 197, i16 207, i16 221, i16 301, i16 299, i16 309, i16 313, i16 603, i16 0, i16 0, i16 0, i16 0, i16 673, i16 674, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 92, i16 90, i16 110, i16 136, i16 130, i16 124, i16 147, i16 172, i16 200, i16 198, i16 208, i16 222, i16 302, i16 300, i16 310, i16 314, i16 93, i16 94, i16 107, i16 108, i16 201, i16 202, i16 205, i16 206, i16 303, i16 304, i16 307, i16 308, i16 414, i16 415, i16 418, i16 419, i16 861, i16 862, i16 863, i16 864, i16 865, i16 866, i16 867, i16 868, i16 869, i16 870, i16 871, i16 872, i16 873, i16 874, i16 875, i16 0, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 231, i16 232, i16 223, i16 224, i16 225, i16 226, i16 209, i16 210, i16 1123, i16 1124, i16 0, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1132, i16 1133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 612, i16 613, i16 648, i16 649, i16 660, i16 661, i16 654, i16 655, i16 656, i16 657, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1382, i16 1384, i16 0, i16 1386, i16 1389, i16 1391, i16 1398, i16 1400, i16 1402, i16 1404, i16 1363, i16 1393, i16 1342, i16 1352, i16 1358, i16 1365, i16 1383, i16 1385, i16 1388, i16 1387, i16 1390, i16 1394, i16 1399, i16 1401, i16 1403, i16 1406, i16 1366, i16 1396, i16 1381, i16 1395, i16 1407, i16 0, i16 362, i16 365, i16 366, i16 387, i16 388, i16 397, i16 398, i16 389, i16 390, i16 403, i16 405, i16 406, i16 456, i16 457, i16 416, i16 417, i16 1643, i16 1645, i16 1646, i16 1647, i16 1648, i16 1650, i16 1651, i16 1652, i16 1653, i16 1655, i16 1656, i16 1657, i16 1658, i16 1660, i16 1661, i16 1662, i16 1137, i16 0, i16 0, i16 0, i16 1138, i16 0, i16 0, i16 0, i16 1139, i16 0, i16 0, i16 0, i16 1140, i16 0, i16 0, i16 0, i16 626, i16 627, i16 624, i16 625, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 641, i16 642, i16 639, i16 640, i16 658, i16 659, i16 1141, i16 1142, i16 1143, i16 1144, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1397, i16 1341, i16 1344, i16 1346, i16 1348, i16 1351, i16 1354, i16 1357, i16 1360, i16 1364, i16 1369, i16 1371, i16 1373, i16 1375, i16 1377, i16 1380, i16 886, i16 887, i16 888, i16 889, i16 890, i16 891, i16 892, i16 893, i16 894, i16 895, i16 896, i16 897, i16 898, i16 899, i16 900, i16 901, i16 1145, i16 1146, i16 1147, i16 1148, i16 1149, i16 1150, i16 1151, i16 1152, i16 1153, i16 1154, i16 1155, i16 0, i16 1156, i16 1157, i16 0, i16 0, i16 380, i16 381, i16 382, i16 383, i16 393, i16 394, i16 395, i16 396, i16 401, i16 402, i16 399, i16 400, i16 442, i16 443, i16 444, i16 445, i16 127, i16 128, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 173, i16 174, i16 182, i16 183, i16 184, i16 185, i16 192, i16 193, i16 1663, i16 1665, i16 1666, i16 1667, i16 1668, i16 1670, i16 1671, i16 1672, i16 1673, i16 1675, i16 1676, i16 1677, i16 1678, i16 1680, i16 1681, i16 1683, i16 1408, i16 1410, i16 1412, i16 1414, i16 1420, i16 1424, i16 1430, i16 1432, i16 1434, i16 1442, i16 1444, i16 1448, i16 1452, i16 1454, i16 1458, i16 1460, i16 1409, i16 1411, i16 1413, i16 1415, i16 1421, i16 1425, i16 1431, i16 1433, i16 1435, i16 1443, i16 1445, i16 1449, i16 1453, i16 1455, i16 1459, i16 1461, i16 902, i16 903, i16 904, i16 905, i16 906, i16 907, i16 908, i16 909, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 137, i16 138, i16 133, i16 134, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 97, i16 98, i16 1418, i16 1419, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 141, i16 142, i16 95, i16 96, i16 139, i16 140, i16 163, i16 164, i16 165, i16 166, i16 169, i16 170, i16 175, i16 176, i16 180, i16 181, i16 143, i16 144, i16 150, i16 151, i16 270, i16 271, i16 266, i16 267, i16 343, i16 344, i16 452, i16 453, i16 454, i16 455, i16 0, i16 0, i16 1172, i16 1173, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1174, i16 1175, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1684, i16 1686, i16 1687, i16 1688, i16 1689, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 0, i16 0, i16 0, i16 918, i16 919, i16 920, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 667, i16 668, i16 671, i16 672, i16 675, i16 676, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1695, i16 1696, i16 1698, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 930, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 931, i16 0, i16 932, i16 0, i16 933, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1699, i16 1700, i16 1701, i16 1702, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1188, i16 0, i16 1189, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 934, i16 0, i16 935, i16 936, i16 0, i16 937, i16 938, i16 939, i16 940, i16 0, i16 0, i16 941, i16 0, i16 0, i16 0, i16 942, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 0, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 680, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 719, i16 714, i16 749, i16 778, i16 751, i16 715, i16 681, i16 0, i16 0, i16 0, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 790, i16 732, i16 860, i16 744, i16 746, i16 0, i16 436, i16 437, i16 475, i16 476, i16 489, i16 490, i16 499, i16 500, i16 505, i16 506, i16 511, i16 512, i16 515, i16 516, i16 523, i16 524, i16 1462, i16 1464, i16 1466, i16 1470, i16 1474, i16 1476, i16 1478, i16 1482, i16 1486, i16 1488, i16 1491, i16 1492, i16 1495, i16 1496, i16 1498, i16 1500, i16 1207, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1463, i16 1465, i16 1467, i16 1471, i16 1475, i16 1477, i16 1479, i16 1483, i16 1487, i16 1489, i16 1490, i16 1493, i16 1494, i16 1497, i16 1499, i16 1501, i16 952, i16 0, i16 0, i16 0, i16 0, i16 953, i16 0, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 0, i16 960, i16 0, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 0, i16 0, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 186, i16 187, i16 237, i16 238, i16 203, i16 204, i16 229, i16 230, i16 235, i16 236, i16 219, i16 220, i16 264, i16 265, i16 262, i16 263, i16 188, i16 189, i16 190, i16 191, i16 241, i16 242, i16 239, i16 240, i16 243, i16 244, i16 227, i16 228, i16 233, i16 234, i16 250, i16 251, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 0, i16 0, i16 0, i16 0, i16 1230, i16 0, i16 0, i16 0, i16 460, i16 461, i16 458, i16 459, i16 479, i16 480, i16 481, i16 482, i16 495, i16 496, i16 497, i16 498, i16 501, i16 502, i16 503, i16 504, i16 462, i16 463, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 602, i16 1231, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 722, i16 87, i16 153, i16 1888, i16 179, i16 196, i16 247, i16 259, i16 278, i16 298, i16 335, i16 340, i16 356, i16 377, i16 386, i16 408, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 317, i16 318, i16 325, i16 326, i16 446, i16 447, i16 438, i16 439, i16 1749, i16 1752, i16 1754, i16 1756, i16 1758, i16 1760, i16 1762, i16 1764, i16 1766, i16 1768, i16 1770, i16 1772, i16 1774, i16 1776, i16 1778, i16 1780, i16 470, i16 471, i16 472, i16 473, i16 590, i16 591, i16 582, i16 583, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 1750, i16 1753, i16 1755, i16 1757, i16 1759, i16 1761, i16 1763, i16 1765, i16 1767, i16 1769, i16 1771, i16 1773, i16 1775, i16 1777, i16 1779, i16 1781, i16 1241, i16 1242, i16 1243, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 987, i16 988, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 477, i16 484, i16 487, i16 508, i16 533, i16 552, i16 615, i16 622, i16 637, i16 644, i16 663, i16 747, i16 742, i16 748, i16 779, i16 777, i16 478, i16 485, i16 488, i16 509, i16 534, i16 553, i16 616, i16 623, i16 638, i16 645, i16 664, i16 753, i16 740, i16 754, i16 799, i16 1281, i16 734, i16 0, i16 0, i16 736, i16 737, i16 738, i16 782, i16 783, i16 729, i16 730, i16 723, i16 728, i16 726, i16 727, i16 724, i16 725, i16 990, i16 991, i16 992, i16 993, i16 0, i16 0, i16 994, i16 995, i16 996, i16 997, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 998, i16 999, i16 1000, i16 1001, i16 1002, i16 1003, i16 1004, i16 1005, i16 1006, i16 1007, i16 1008, i16 1009, i16 1010, i16 1011, i16 1012, i16 1013, i16 1510, i16 1511, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 491, i16 492, i16 493, i16 494, i16 558, i16 559, i16 562, i16 563, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1265, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1014, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1023, i16 1024, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1782, i16 1784, i16 1786, i16 1788, i16 1790, i16 1792, i16 1794, i16 1796, i16 1798, i16 1800, i16 1802, i16 1804, i16 1806, i16 1808, i16 1810, i16 1812, i16 1783, i16 1785, i16 1787, i16 1789, i16 1791, i16 1793, i16 1795, i16 1797, i16 1799, i16 1801, i16 1803, i16 1805, i16 1807, i16 1809, i16 1811, i16 1813, i16 1528, i16 1529, i16 1530, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 0, i16 0, i16 0, i16 0, i16 0, i16 763, i16 86, i16 152, i16 1887, i16 178, i16 195, i16 246, i16 258, i16 277, i16 297, i16 334, i16 339, i16 355, i16 376, i16 385, i16 407, i16 253, i16 254, i16 255, i16 256, i16 257, i16 532, i16 510, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 3, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 5, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 134, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 136, i16 0, i16 0, i16 0, i16 137, i16 0, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 1, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 12, i16 14, i16 16, i16 18, i16 20, i16 22, i16 24, i16 26, i16 28, i16 30, i16 32, i16 34, i16 36, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 13, i16 15, i16 17, i16 19, i16 21, i16 23, i16 25, i16 27, i16 29, i16 31, i16 33, i16 35, i16 37, i16 39, i16 41, i16 43, i16 45, i16 47, i16 49, i16 51, i16 53, i16 55, i16 57, i16 59, i16 61, i16 63, i16 92, i16 93, i16 94, i16 95, i16 202, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 96, i16 0, i16 0, i16 0, i16 133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 135, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 203, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 5, i16 6, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 4, i16 3, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 126, i16 132, i16 138, i16 144, i16 150, i16 156, i16 162, i16 168, i16 174, i16 180, i16 186, i16 192, i16 198, i16 204, i16 210, i16 216, i16 222, i16 228, i16 234, i16 240, i16 246, i16 252, i16 258, i16 264, i16 270, i16 276, i16 282, i16 288, i16 294, i16 300, i16 306, i16 7, i16 13, i16 23, i16 39, i16 32, i16 40, i16 38, i16 22, i16 24, i16 29, i16 36, i16 41, i16 10, i16 9, i16 16, i16 15, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 12, i16 11, i16 42, i16 43, i16 44, i16 14, i16 19, i16 75, i16 77, i16 79, i16 81, i16 83, i16 85, i16 87, i16 89, i16 91, i16 93, i16 95, i16 97, i16 99, i16 101, i16 103, i16 105, i16 107, i16 109, i16 111, i16 113, i16 115, i16 117, i16 119, i16 121, i16 123, i16 125, i16 26, i16 45, i16 27, i16 21, i16 0, i16 30, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 25, i16 37, i16 28, i16 20, i16 8, i16 312, i16 318, i16 324, i16 330, i16 336, i16 337, i16 343, i16 344, i16 350, i16 356, i16 362, i16 368, i16 374, i16 380, i16 386, i16 17, i16 393, i16 394, i16 395, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 47, i16 0, i16 0, i16 0, i16 0, i16 31, i16 410, i16 411, i16 412, i16 413, i16 414, i16 396, i16 18, i16 49, i16 50, i16 51, i16 52, i16 53, i16 48, i16 392, i16 46, i16 33, i16 55, i16 57, i16 59, i16 61, i16 63, i16 65, i16 67, i16 69, i16 71, i16 73, i16 34, i16 35, i16 0, i16 0, i16 0, i16 0, i16 32, i16 3, i16 45, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7, i16 37, i16 2, i16 12, i16 0, i16 0, i16 0, i16 0, i16 27, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 25, i16 33, i16 28, i16 44, i16 11, i16 14, i16 29, i16 40, i16 23, i16 9, i16 20, i16 10, i16 38, i16 22, i16 42, i16 31, i16 49, i16 36, i16 43, i16 16, i16 15, i16 26, i16 21, i16 35, i16 17, i16 18, i16 13, i16 47, i16 24, i16 6, i16 34, i16 4, i16 39, i16 19, i16 8, i16 41, i16 5, i16 48, i16 50, i16 46, i16 30, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 266, i16 373, i16 661, i16 236, i16 595, i16 0, i16 0, i16 94, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 615, i16 647, i16 136, i16 0, i16 0, i16 390, i16 36, i16 15, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 31, i16 0, i16 0, i16 0, i16 0, i16 0, i16 60, i16 455, i16 499, i16 0, i16 0, i16 4, i16 259, i16 192, i16 133, i16 445, i16 669, i16 550, i16 172, i16 0, i16 0, i16 62, i16 153, i16 389, i16 409, i16 145, i16 1, i16 180, i16 570, i16 258, i16 261, i16 414, i16 610, i16 140, i16 566, i16 280, i16 150, i16 468, i16 333, i16 655, i16 176, i16 402, i16 260, i16 173, i16 607, i16 281, i16 293, i16 306, i16 319, i16 267, i16 168, i16 368, i16 382, i16 456, i16 249, i16 437, i16 500, i16 95, i16 14, i16 465, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 68, i16 129, i16 0, i16 0, i16 12, i16 0, i16 9, i16 0, i16 533, i16 84, i16 587, i16 606, i16 447, i16 652, i16 668, i16 291, i16 318, i16 459, i16 61, i16 659, i16 395, i16 195, i16 202, i16 186, i16 30, i16 590, i16 617, i16 422, i16 209, i16 535, i16 137, i16 485, i16 511, i16 222, i16 165, i16 337, i16 355, i16 371, i16 385, i16 190, i16 35, i16 627, i16 98, i16 660, i16 85, i16 278, i16 244, i16 376, i16 391, i16 101, i16 69, i16 377, i16 185, i16 401, i16 205, i16 453, i16 38, i16 24, i16 331, i16 352, i16 644, i16 649, i16 662, i16 398, i16 673, i16 454, i16 287, i16 152, i16 223, i16 307, i16 294, i16 419, i16 39, i16 0, i16 357, i16 22, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 296, i16 160, i16 363, i16 342, i16 360, i16 378, i16 42, i16 415, i16 434, i16 206, i16 431, i16 13, i16 490, i16 462, i16 521, i16 486, i16 304, i16 593, i16 525, i16 253, i16 622, i16 645, i16 234, i16 269, i16 104, i16 279, i16 63, i16 425, i16 199, i16 78, i16 174, i16 72, i16 569, i16 295, i16 620, i16 161, i16 340, i16 658, i16 273, i16 680, i16 289, i16 404, i16 361, i16 359, i16 372, i16 423, i16 73, i16 417, i16 315, i16 132, i16 356, i16 362, i16 381, i16 412, i16 26, i16 594, i16 87, i16 471, i16 497, i16 601, i16 227, i16 118, i16 542, i16 557, i16 317, i16 353, i16 265, i16 182, i16 188, i16 0, i16 0, i16 0, i16 0, i16 5, i16 74, i16 544, i16 448, i16 211, i16 475, i16 575, i16 599, i16 524, i16 545, i16 552, i16 239, i16 157, i16 66, i16 585, i16 103, i16 614, i16 48, i16 632, i16 687, i16 282, i16 308, i16 329, i16 604, i16 514, i16 183, i16 537, i16 530, i16 326, i16 177, i16 226, i16 380, i16 406, i16 76, i16 204, i16 208, i16 215, i16 584, i16 247, i16 605, i16 428, i16 679, i16 634, i16 637, i16 37, i16 138, i16 316, i16 196, i16 34, i16 230, i16 44, i16 286, i16 676, i16 312, i16 603, i16 609, i16 549, i16 513, i16 310, i16 325, i16 346, i16 77, i16 388, i16 128, i16 399, i16 411, i16 418, i16 54, i16 444, i16 299, i16 480, i16 113, i16 197, i16 602, i16 89, i16 158, i16 635, i16 59, i16 670, i16 493, i16 276, i16 105, i16 416, i16 429, i16 334, i16 159, i16 110, i16 370, i16 384, i16 684, i16 248, i16 424, i16 301, i16 156, i16 343, i16 242, i16 214, i16 504, i16 515, i16 556, i16 403, i16 81, i16 364, i16 374, i16 189, i16 413, i16 427, i16 28, i16 207, i16 473, i16 494, i16 672, i16 228, i16 540, i16 283, i16 100, i16 586, i16 323, i16 344, i16 375, i16 155, i16 630, i16 124, i16 626, i16 526, i16 613, i16 665, i16 677, i16 16, i16 305, i16 290, i16 167, i16 339, i16 383, i16 408, i16 122, i16 449, i16 80, i16 467, i16 169, i16 218, i16 200, i16 532, i16 543, i16 561, i16 508, i16 510, i16 553, i16 256, i16 582, i16 653, i16 643, i16 0, i16 241, i16 619, i16 666, i16 147, i16 348, i16 397, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 648, i16 141, i16 82, i16 292, i16 309, i16 608, i16 354, i16 410, i16 386, i16 311, i16 439, i16 321, i16 109, i16 460, i16 481, i16 498, i16 394, i16 495, i16 461, i16 112, i16 19, i16 457, i16 254, i16 489, i16 503, i16 221, i16 512, i16 86, i16 527, i16 139, i16 568, i16 580, i16 143, i16 0, i16 0, i16 7, i16 300, i16 49, i16 57, i16 528, i16 102, i16 430, i16 194, i16 564, i16 17, i16 579, i16 0, i16 0, i16 144, i16 83, i16 531, i16 324, i16 229, i16 154, i16 179, i16 387, i16 53, i16 43, i16 277, i16 201, i16 108, i16 21, i16 625, i16 483, i16 146, i16 347, i16 396, i16 446, i16 505, i16 252, i16 336, i16 477, i16 351, i16 379, i16 322, i16 436, i16 0, i16 0, i16 18, i16 8, i16 420, i16 250, i16 450, i16 472, i16 633, i16 518, i16 529, i16 119, i16 631, i16 268, i16 674, i16 142, i16 686, i16 458, i16 134, i16 328, i16 678, i16 488, i16 509, i16 491, i16 541, i16 657, i16 120, i16 563, i16 675, i16 583, i16 245, i16 91, i16 618, i16 0, i16 0, i16 0, i16 683, i16 516, i16 314, i16 681, i16 193, i16 572, i16 358, i16 443, i16 611, i16 421, i16 646, i16 262, i16 272, i16 107, i16 99, i16 538, i16 685, i16 288, i16 64, i16 70, i16 166, i16 50, i16 25, i16 52, i16 71, i16 392, i16 191, i16 426, i16 433, i16 442, i16 451, i16 441, i16 435, i16 438, i16 11, i16 338, i16 106, i16 40, i16 0, i16 0, i16 10, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 440, i16 466, i16 478, i16 501, i16 523, i16 536, i16 554, i16 522, i16 592, i16 581, i16 233, i16 555, i16 251, i16 476, i16 636, i16 264, i16 203, i16 452, i16 474, i16 365, i16 178, i16 187, i16 539, i16 126, i16 565, i16 578, i16 600, i16 220, i16 2, i16 624, i16 639, i16 654, i16 212, i16 562, i16 407, i16 616, i16 33, i16 650, i16 47, i16 332, i16 271, i16 131, i16 97, i16 298, i16 162, i16 341, i16 65, i16 367, i16 213, i16 149, i16 151, i16 302, i16 163, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3, i16 484, i16 345, i16 67, i16 591, i16 469, i16 487, i16 51, i16 171, i16 303, i16 400, i16 175, i16 58, i16 125, i16 598, i16 79, i16 628, i16 463, i16 651, i16 350, i16 274, i16 470, i16 56, i16 464, i16 520, i16 612, i16 640, i16 238, i16 507, i16 123, i16 127, i16 88, i16 623, i16 642, i16 664, i16 548, i16 547, i16 216, i16 682, i16 492, i16 116, i16 519, i16 240, i16 667, i16 588, i16 597, i16 23, i16 559, i16 641, i16 577, i16 93, i16 270, i16 96, i16 225, i16 534, i16 589, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 482, i16 184, i16 224, i16 393, i16 0, i16 0, i16 0, i16 41, i16 121, i16 75, i16 198, i16 517, i16 90, i16 263, i16 210, i16 671, i16 231, i16 496, i16 45, i16 574, i16 246, i16 235, i16 621, i16 32, i16 479, i16 237, i16 560, i16 284, i16 571, i16 327, i16 217, i16 366, i16 232, i16 432, i16 55, i16 111, i16 0, i16 27, i16 114, i16 219, i16 115, i16 573, i16 546, i16 567, i16 6, i16 46, i16 243, i16 130, i16 502, i16 320, i16 92, i16 117, i16 369, i16 551, i16 558, i16 20, i16 164, i16 576, i16 275, i16 257, i16 297, i16 656, i16 596, i16 506, i16 255, i16 629, i16 638, i16 135, i16 0, i16 29, i16 663, i16 285, i16 313, i16 349, i16 148, i16 181, i16 405, i16 330, i16 335, i16 170, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3171, i16 12478, i16 12479, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2196, i16 6503, i16 11985, i16 1886, i16 6504, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2650, i16 12441, i16 12442, i16 0, i16 0, i16 0, i16 0, i16 12443, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2542, i16 11756, i16 11757, i16 6356, i16 0, i16 0, i16 11758, i16 11759, i16 6358, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1165, i16 0, i16 5777, i16 0, i16 5778, i16 10826, i16 10825, i16 10827, i16 10828, i16 10829, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1956, i16 6848, i16 6849, i16 1656, i16 0, i16 12717, i16 0, i16 12718, i16 0, i16 12719, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7035, i16 0, i16 0, i16 1517, i16 7036, i16 13063, i16 13064, i16 13065, i16 7037, i16 0, i16 1888, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7306, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 341, i16 0, i16 342, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 351, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 326, i16 327, i16 325, i16 328, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11125, i16 0, i16 0, i16 5992, i16 0, i16 5993, i16 0, i16 990, i16 11126, i16 0, i16 0, i16 947, i16 5990, i16 11127, i16 0, i16 11128, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 251, i16 0, i16 0, i16 0, i16 0, i16 250, i16 255, i16 0, i16 259, i16 260, i16 0, i16 0, i16 261, i16 262, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 368, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7427, i16 2983, i16 3748, i16 7428, i16 0, i16 7430, i16 3029, i16 7431, i16 3631, i16 7432, i16 2168, i16 7433, i16 1818, i16 7434, i16 1866, i16 965, i16 7435, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3587, i16 0, i16 13156, i16 13157, i16 13158, i16 13159, i16 0, i16 13160, i16 7092, i16 13161, i16 13162, i16 0, i16 0, i16 0, i16 0, i16 7093, i16 5548, i16 13163, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7201, i16 7287, i16 7229, i16 7315, i16 7247, i16 7332, i16 7265, i16 7350, i16 7274, i16 7359, i16 7271, i16 7356, i16 7273, i16 7358, i16 7272, i16 7357, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8287, i16 0, i16 0, i16 0, i16 0, i16 8288, i16 0, i16 2969, i16 8289, i16 0, i16 0, i16 8290, i16 0, i16 0, i16 8291, i16 4207, i16 3113, i16 8292, i16 0, i16 8293, i16 8294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9649, i16 5112, i16 9650, i16 9651, i16 5118, i16 0, i16 0, i16 5116, i16 0, i16 2728, i16 0, i16 0, i16 5123, i16 5113, i16 9652, i16 0, i16 9653, i16 0, i16 9654, i16 5114, i16 5090, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9574, i16 0, i16 9575, i16 0, i16 0, i16 1049, i16 0, i16 0, i16 892, i16 0, i16 9576, i16 5056, i16 0, i16 9577, i16 5059, i16 9578, i16 0, i16 0, i16 3600, i16 9579, i16 0, i16 9580, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 364, i16 0, i16 0, i16 363, i16 0, i16 362, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7882, i16 7883, i16 0, i16 0, i16 4012, i16 3474, i16 0, i16 2068, i16 7884, i16 4018, i16 0, i16 7885, i16 7886, i16 0, i16 4017, i16 4008, i16 0, i16 7887, i16 7888, i16 7889, i16 2472, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 995, i16 0, i16 0, i16 7950, i16 0, i16 0, i16 4058, i16 7951, i16 2153, i16 4054, i16 7952, i16 4052, i16 7953, i16 4053, i16 7954, i16 4055, i16 7955, i16 0, i16 7956, i16 7957, i16 7958, i16 0, i16 7959, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3650, i16 0, i16 9772, i16 5182, i16 0, i16 0, i16 0, i16 847, i16 0, i16 9773, i16 0, i16 9774, i16 9775, i16 9776, i16 9777, i16 0, i16 9778, i16 5184, i16 0, i16 0, i16 9779, i16 5183, i16 0, i16 5181, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10072, i16 10073, i16 5305, i16 0, i16 10074, i16 0, i16 0, i16 5306, i16 10075, i16 0, i16 0, i16 10076, i16 5307, i16 0, i16 0, i16 0, i16 10077, i16 0, i16 10078, i16 10079, i16 866, i16 0, i16 10080, i16 10081, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3182, i16 0, i16 6816, i16 12656, i16 0, i16 12657, i16 12658, i16 6817, i16 12659, i16 6818, i16 0, i16 0, i16 12660, i16 0, i16 6819, i16 12661, i16 12662, i16 0, i16 12663, i16 12664, i16 0, i16 0, i16 0, i16 12665, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11391, i16 0, i16 1000, i16 6110, i16 6111, i16 11358, i16 0, i16 0, i16 0, i16 11359, i16 0, i16 6106, i16 0, i16 1808, i16 11360, i16 0, i16 11361, i16 0, i16 11362, i16 0, i16 11363, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1683, i16 0, i16 12778, i16 0, i16 12779, i16 6888, i16 12780, i16 12781, i16 6889, i16 0, i16 12782, i16 0, i16 12783, i16 12784, i16 12785, i16 0, i16 1055, i16 12786, i16 0, i16 12787, i16 6890, i16 0, i16 12788, i16 12789, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8637, i16 0, i16 0, i16 8638, i16 0, i16 0, i16 8639, i16 4435, i16 4441, i16 4433, i16 0, i16 2779, i16 8640, i16 8641, i16 4438, i16 3156, i16 8642, i16 8643, i16 4432, i16 8644, i16 4437, i16 3636, i16 1834, i16 0, i16 8645, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7102, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7101, i16 7104, i16 7108, i16 7107, i16 0, i16 7105, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11222, i16 0, i16 0, i16 11223, i16 0, i16 3292, i16 0, i16 3660, i16 11224, i16 11225, i16 11226, i16 11227, i16 0, i16 6049, i16 0, i16 0, i16 11228, i16 0, i16 0, i16 11230, i16 11231, i16 6056, i16 11232, i16 0, i16 6048, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8409, i16 8410, i16 0, i16 8411, i16 0, i16 4283, i16 0, i16 0, i16 8412, i16 1205, i16 4284, i16 8413, i16 0, i16 4285, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8414, i16 0, i16 8415, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4599, i16 752, i16 8844, i16 8845, i16 1720, i16 0, i16 8846, i16 0, i16 2177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8847, i16 8848, i16 0, i16 0, i16 8849, i16 2707, i16 0, i16 8850, i16 3053, i16 4605, i16 2405, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4632, i16 0, i16 0, i16 8909, i16 8910, i16 0, i16 0, i16 2464, i16 0, i16 4639, i16 8911, i16 0, i16 8912, i16 4633, i16 8913, i16 0, i16 4630, i16 4637, i16 8914, i16 0, i16 0, i16 0, i16 4607, i16 0, i16 8915, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 316, i16 315, i16 0, i16 0, i16 0, i16 312, i16 0, i16 0, i16 314, i16 313, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8817, i16 0, i16 8818, i16 0, i16 0, i16 3069, i16 4663, i16 0, i16 0, i16 0, i16 0, i16 3279, i16 0, i16 8819, i16 0, i16 2706, i16 8820, i16 8821, i16 0, i16 3368, i16 8822, i16 4583, i16 934, i16 2605, i16 8823, i16 8824, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7940, i16 2549, i16 0, i16 7941, i16 970, i16 7942, i16 0, i16 0, i16 7943, i16 7944, i16 7945, i16 7946, i16 7947, i16 7948, i16 0, i16 4042, i16 0, i16 4044, i16 2069, i16 858, i16 7949, i16 0, i16 4047, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 311, i16 310, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2652, i16 12969, i16 6980, i16 0, i16 3024, i16 0, i16 6985, i16 6981, i16 0, i16 0, i16 0, i16 6982, i16 0, i16 12970, i16 3300, i16 3413, i16 0, i16 2861, i16 12971, i16 0, i16 12972, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1124, i16 11078, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11079, i16 920, i16 5954, i16 3639, i16 2498, i16 11080, i16 0, i16 3131, i16 0, i16 5966, i16 11081, i16 988, i16 5964, i16 0, i16 5962, i16 5953, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2662, i16 9547, i16 9548, i16 9549, i16 883, i16 1622, i16 5035, i16 0, i16 0, i16 9551, i16 9552, i16 0, i16 9553, i16 1974, i16 5040, i16 0, i16 5039, i16 5034, i16 0, i16 5037, i16 9554, i16 0, i16 1099, i16 9555, i16 5036, i16 2948, i16 9556, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8864, i16 8865, i16 3280, i16 1919, i16 4620, i16 0, i16 4619, i16 8866, i16 8867, i16 2243, i16 0, i16 0, i16 8868, i16 1497, i16 0, i16 8869, i16 8870, i16 4613, i16 2086, i16 8871, i16 0, i16 2885, i16 2924, i16 8872, i16 8873, i16 0, i16 8874, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11173, i16 6028, i16 11174, i16 11175, i16 3524, i16 11176, i16 0, i16 0, i16 11177, i16 3575, i16 11178, i16 0, i16 11179, i16 11180, i16 0, i16 0, i16 0, i16 11181, i16 2619, i16 11182, i16 11183, i16 11184, i16 1102, i16 11185, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6850, i16 12720, i16 0, i16 1057, i16 0, i16 0, i16 0, i16 2954, i16 6851, i16 6852, i16 0, i16 12721, i16 12722, i16 12723, i16 2589, i16 2888, i16 12724, i16 0, i16 0, i16 0, i16 12725, i16 12726, i16 0, i16 6853, i16 12727, i16 0, i16 12728, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4292, i16 0, i16 4294, i16 0, i16 8425, i16 0, i16 8426, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8427, i16 0, i16 0, i16 0, i16 0, i16 8429, i16 0, i16 4295, i16 0, i16 0, i16 0, i16 8428, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10961, i16 5874, i16 10962, i16 0, i16 0, i16 10963, i16 5872, i16 10964, i16 0, i16 2208, i16 0, i16 3164, i16 5877, i16 10965, i16 5876, i16 1639, i16 3710, i16 0, i16 10966, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5893, i16 0, i16 0, i16 0, i16 0, i16 13078, i16 7046, i16 3001, i16 0, i16 13079, i16 7047, i16 7049, i16 0, i16 13080, i16 7050, i16 13081, i16 13082, i16 13083, i16 0, i16 0, i16 13084, i16 13085, i16 13086, i16 0, i16 0, i16 7048, i16 1668, i16 3422, i16 3350, i16 4361, i16 0, i16 4996, i16 3374, i16 0, i16 0, i16 0, i16 0, i16 9766, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9767, i16 5177, i16 2557, i16 5180, i16 5175, i16 9768, i16 9769, i16 0, i16 5179, i16 9770, i16 0, i16 0, i16 9771, i16 5178, i16 2751, i16 802, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4915, i16 9346, i16 9347, i16 4920, i16 4924, i16 9348, i16 9349, i16 1331, i16 0, i16 0, i16 9350, i16 0, i16 9351, i16 9352, i16 9353, i16 0, i16 0, i16 9354, i16 9355, i16 0, i16 1259, i16 4922, i16 0, i16 9356, i16 0, i16 0, i16 0, i16 1216, i16 0, i16 0, i16 0, i16 0, i16 9780, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5176, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3286, i16 9781, i16 0, i16 0, i16 5186, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9539, i16 0, i16 0, i16 9540, i16 0, i16 0, i16 9541, i16 3517, i16 5042, i16 0, i16 9542, i16 9543, i16 0, i16 9544, i16 5041, i16 9545, i16 0, i16 0, i16 0, i16 2335, i16 0, i16 5038, i16 9546, i16 3547, i16 0, i16 0, i16 2835, i16 5032, i16 0, i16 0, i16 0, i16 0, i16 10582, i16 0, i16 3236, i16 986, i16 0, i16 10583, i16 0, i16 5611, i16 0, i16 5608, i16 10584, i16 5613, i16 10585, i16 10586, i16 5612, i16 0, i16 2990, i16 3384, i16 10587, i16 1806, i16 5606, i16 5615, i16 5610, i16 10588, i16 5609, i16 5605, i16 10589, i16 5607, i16 0, i16 0, i16 0, i16 0, i16 12640, i16 0, i16 6807, i16 12641, i16 0, i16 0, i16 12642, i16 6809, i16 2511, i16 1086, i16 1087, i16 6808, i16 0, i16 12643, i16 12644, i16 12645, i16 1194, i16 1515, i16 12646, i16 12647, i16 1195, i16 12648, i16 12649, i16 2750, i16 0, i16 0, i16 3629, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9849, i16 0, i16 0, i16 0, i16 5220, i16 0, i16 2687, i16 9850, i16 5222, i16 5221, i16 0, i16 9851, i16 5223, i16 0, i16 5224, i16 0, i16 9852, i16 1936, i16 3162, i16 0, i16 9853, i16 9854, i16 3453, i16 5225, i16 5226, i16 2397, i16 1877, i16 5227, i16 0, i16 0, i16 0, i16 0, i16 944, i16 0, i16 13087, i16 0, i16 13088, i16 0, i16 0, i16 13089, i16 7052, i16 1263, i16 7053, i16 7054, i16 7055, i16 0, i16 1676, i16 0, i16 7056, i16 13090, i16 0, i16 0, i16 5266, i16 3436, i16 0, i16 2504, i16 7057, i16 7059, i16 7058, i16 13091, i16 0, i16 0, i16 0, i16 0, i16 9393, i16 0, i16 0, i16 9394, i16 3008, i16 0, i16 4946, i16 0, i16 9395, i16 0, i16 0, i16 0, i16 9396, i16 9397, i16 9398, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4950, i16 4947, i16 9399, i16 9400, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1215, i16 9243, i16 4856, i16 0, i16 9244, i16 3418, i16 4831, i16 1214, i16 9245, i16 4838, i16 0, i16 9246, i16 9247, i16 9248, i16 3315, i16 9249, i16 4839, i16 4841, i16 9250, i16 4845, i16 4833, i16 9251, i16 2541, i16 0, i16 9252, i16 9253, i16 0, i16 2798, i16 0, i16 0, i16 0, i16 0, i16 7110, i16 7111, i16 7122, i16 0, i16 7123, i16 7124, i16 7125, i16 0, i16 7127, i16 0, i16 7128, i16 7130, i16 7136, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 0, i16 0, i16 0, i16 0, i16 6623, i16 0, i16 0, i16 12326, i16 12327, i16 12328, i16 0, i16 2886, i16 0, i16 2772, i16 0, i16 0, i16 12329, i16 12330, i16 12331, i16 0, i16 2680, i16 12332, i16 6636, i16 12333, i16 12334, i16 0, i16 12335, i16 2566, i16 6632, i16 0, i16 12336, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2303, i16 11822, i16 1920, i16 6405, i16 0, i16 11823, i16 0, i16 1077, i16 11824, i16 6406, i16 11825, i16 0, i16 2429, i16 6407, i16 0, i16 6408, i16 3170, i16 0, i16 0, i16 1230, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11826, i16 0, i16 0, i16 0, i16 8200, i16 905, i16 0, i16 8201, i16 1202, i16 2877, i16 3273, i16 0, i16 0, i16 0, i16 0, i16 4173, i16 2396, i16 4172, i16 1435, i16 8202, i16 8203, i16 3342, i16 4171, i16 0, i16 2788, i16 4175, i16 8204, i16 4174, i16 8205, i16 0, i16 8206, i16 8207, i16 8208, i16 0, i16 0, i16 0, i16 9739, i16 9740, i16 0, i16 0, i16 0, i16 9741, i16 9742, i16 9743, i16 9744, i16 5111, i16 0, i16 9749, i16 0, i16 0, i16 5171, i16 0, i16 0, i16 9745, i16 9746, i16 0, i16 0, i16 2884, i16 0, i16 0, i16 0, i16 0, i16 9747, i16 9748, i16 0, i16 0, i16 0, i16 0, i16 8486, i16 0, i16 0, i16 0, i16 8487, i16 0, i16 4332, i16 0, i16 8488, i16 1185, i16 4333, i16 8490, i16 0, i16 8489, i16 0, i16 4335, i16 4334, i16 0, i16 0, i16 4336, i16 0, i16 8491, i16 8492, i16 0, i16 4337, i16 0, i16 2327, i16 1970, i16 0, i16 0, i16 0, i16 0, i16 808, i16 5862, i16 0, i16 2563, i16 0, i16 10928, i16 0, i16 0, i16 0, i16 2963, i16 10929, i16 2496, i16 10930, i16 0, i16 0, i16 10931, i16 0, i16 10932, i16 10933, i16 5864, i16 10934, i16 10935, i16 5860, i16 5863, i16 5858, i16 0, i16 5861, i16 3289, i16 0, i16 0, i16 0, i16 0, i16 6698, i16 0, i16 0, i16 12462, i16 784, i16 12463, i16 12464, i16 6696, i16 12465, i16 6700, i16 6699, i16 0, i16 0, i16 12466, i16 12467, i16 12468, i16 12469, i16 6702, i16 6701, i16 6703, i16 0, i16 2827, i16 12470, i16 12471, i16 0, i16 6704, i16 12472, i16 12473, i16 12474, i16 0, i16 0, i16 0, i16 299, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7121, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9006, i16 0, i16 1543, i16 0, i16 9007, i16 4685, i16 9008, i16 0, i16 0, i16 0, i16 4688, i16 0, i16 3145, i16 9009, i16 1278, i16 9010, i16 0, i16 9011, i16 4687, i16 4686, i16 2959, i16 4689, i16 1330, i16 0, i16 0, i16 0, i16 4691, i16 4690, i16 9012, i16 0, i16 0, i16 0, i16 5172, i16 9750, i16 9751, i16 0, i16 0, i16 0, i16 0, i16 0, i16 981, i16 9752, i16 0, i16 9753, i16 2803, i16 1032, i16 0, i16 0, i16 0, i16 0, i16 9754, i16 9755, i16 0, i16 1283, i16 0, i16 0, i16 0, i16 1935, i16 1735, i16 9756, i16 0, i16 0, i16 0, i16 0, i16 9782, i16 9783, i16 9784, i16 9785, i16 9786, i16 0, i16 5185, i16 0, i16 9787, i16 9788, i16 0, i16 0, i16 9789, i16 0, i16 0, i16 0, i16 0, i16 914, i16 0, i16 0, i16 0, i16 0, i16 5188, i16 3207, i16 0, i16 5187, i16 0, i16 9790, i16 0, i16 0, i16 0, i16 0, i16 8247, i16 8248, i16 863, i16 1136, i16 8249, i16 4189, i16 0, i16 3414, i16 3112, i16 0, i16 0, i16 8250, i16 8251, i16 0, i16 8252, i16 8253, i16 0, i16 8254, i16 0, i16 753, i16 8255, i16 0, i16 0, i16 0, i16 834, i16 0, i16 0, i16 0, i16 1828, i16 0, i16 0, i16 0, i16 10308, i16 0, i16 0, i16 0, i16 5464, i16 0, i16 10309, i16 0, i16 0, i16 0, i16 5465, i16 0, i16 0, i16 0, i16 10310, i16 10311, i16 0, i16 0, i16 10312, i16 0, i16 5466, i16 0, i16 10313, i16 5467, i16 3400, i16 5468, i16 0, i16 10314, i16 10315, i16 0, i16 0, i16 0, i16 10830, i16 10831, i16 5779, i16 0, i16 10832, i16 0, i16 0, i16 0, i16 0, i16 5780, i16 5781, i16 5782, i16 10833, i16 5783, i16 5784, i16 10834, i16 10835, i16 5786, i16 5785, i16 0, i16 0, i16 5787, i16 0, i16 0, i16 10836, i16 10837, i16 10838, i16 0, i16 5788, i16 0, i16 0, i16 0, i16 6991, i16 0, i16 0, i16 6989, i16 0, i16 1118, i16 0, i16 6988, i16 1891, i16 942, i16 0, i16 0, i16 12981, i16 12982, i16 0, i16 12983, i16 12984, i16 12985, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12986, i16 1658, i16 12987, i16 12989, i16 6998, i16 6997, i16 0, i16 0, i16 0, i16 12117, i16 0, i16 0, i16 0, i16 12118, i16 12119, i16 2864, i16 6566, i16 1989, i16 1937, i16 2966, i16 2612, i16 12120, i16 0, i16 0, i16 1955, i16 12121, i16 2231, i16 0, i16 6567, i16 12122, i16 6568, i16 12123, i16 12124, i16 12125, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1113, i16 5562, i16 5561, i16 10536, i16 5565, i16 5558, i16 10537, i16 5566, i16 3574, i16 10538, i16 5567, i16 10539, i16 5568, i16 0, i16 10540, i16 4170, i16 5570, i16 0, i16 5569, i16 0, i16 0, i16 0, i16 5571, i16 5572, i16 10541, i16 3586, i16 5573, i16 0, i16 6797, i16 0, i16 0, i16 0, i16 4186, i16 8227, i16 2474, i16 0, i16 8228, i16 3307, i16 0, i16 0, i16 0, i16 2761, i16 8229, i16 8230, i16 8231, i16 8232, i16 0, i16 4187, i16 8233, i16 0, i16 0, i16 0, i16 8234, i16 0, i16 3352, i16 8235, i16 1727, i16 8236, i16 0, i16 2071, i16 0, i16 0, i16 0, i16 0, i16 4961, i16 0, i16 0, i16 9421, i16 4960, i16 0, i16 4962, i16 9422, i16 0, i16 979, i16 9423, i16 2554, i16 0, i16 4963, i16 0, i16 9424, i16 1152, i16 4965, i16 0, i16 9425, i16 0, i16 9426, i16 4964, i16 0, i16 4966, i16 0, i16 9427, i16 0, i16 4967, i16 0, i16 0, i16 0, i16 10341, i16 10342, i16 5477, i16 0, i16 10343, i16 10344, i16 0, i16 0, i16 0, i16 10345, i16 0, i16 10346, i16 0, i16 0, i16 0, i16 10347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10348, i16 2104, i16 10349, i16 0, i16 0, i16 0, i16 0, i16 2175, i16 8612, i16 3107, i16 0, i16 8613, i16 8614, i16 8615, i16 0, i16 8616, i16 1208, i16 2913, i16 0, i16 0, i16 8617, i16 8618, i16 8619, i16 8620, i16 8621, i16 0, i16 4422, i16 1833, i16 3309, i16 3310, i16 0, i16 0, i16 933, i16 4427, i16 8622, i16 0, i16 0, i16 0, i16 0, i16 2695, i16 3881, i16 7678, i16 0, i16 2444, i16 0, i16 7679, i16 1764, i16 3882, i16 3883, i16 2359, i16 0, i16 3880, i16 0, i16 0, i16 0, i16 0, i16 3885, i16 7680, i16 3305, i16 7681, i16 7682, i16 0, i16 7683, i16 1659, i16 7684, i16 0, i16 3884, i16 7685, i16 0, i16 0, i16 0, i16 5002, i16 5001, i16 0, i16 9479, i16 9480, i16 9481, i16 0, i16 0, i16 0, i16 9482, i16 0, i16 9483, i16 0, i16 0, i16 0, i16 0, i16 9484, i16 2224, i16 9485, i16 9486, i16 3120, i16 881, i16 0, i16 9487, i16 9488, i16 0, i16 0, i16 3038, i16 9489, i16 0, i16 0, i16 0, i16 12200, i16 12201, i16 12202, i16 12203, i16 0, i16 12204, i16 6671, i16 0, i16 0, i16 6599, i16 0, i16 12205, i16 12206, i16 12207, i16 0, i16 0, i16 12208, i16 3640, i16 12209, i16 12210, i16 1555, i16 12211, i16 12212, i16 12213, i16 0, i16 12214, i16 0, i16 12215, i16 6609, i16 0, i16 0, i16 0, i16 1469, i16 0, i16 8946, i16 0, i16 8947, i16 4649, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8948, i16 8949, i16 8950, i16 1800, i16 4646, i16 0, i16 4645, i16 0, i16 0, i16 8951, i16 8952, i16 2925, i16 8953, i16 0, i16 8954, i16 2834, i16 8955, i16 0, i16 0, i16 0, i16 1223, i16 1538, i16 4235, i16 1083, i16 0, i16 8338, i16 4236, i16 0, i16 2462, i16 0, i16 0, i16 8339, i16 8340, i16 4237, i16 4277, i16 0, i16 4238, i16 0, i16 4239, i16 0, i16 0, i16 4240, i16 0, i16 4242, i16 0, i16 8341, i16 8342, i16 8343, i16 8344, i16 0, i16 0, i16 0, i16 5320, i16 5319, i16 5321, i16 10092, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5322, i16 5324, i16 5323, i16 0, i16 0, i16 1680, i16 10093, i16 5326, i16 0, i16 5325, i16 10094, i16 10095, i16 1158, i16 0, i16 2206, i16 0, i16 2747, i16 0, i16 5327, i16 2273, i16 0, i16 0, i16 0, i16 9928, i16 1677, i16 1845, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9929, i16 5264, i16 5265, i16 9930, i16 0, i16 9931, i16 0, i16 0, i16 0, i16 9932, i16 5267, i16 9933, i16 0, i16 0, i16 0, i16 0, i16 9934, i16 9935, i16 9936, i16 0, i16 0, i16 0, i16 4811, i16 0, i16 0, i16 0, i16 3111, i16 0, i16 0, i16 0, i16 9216, i16 0, i16 0, i16 9217, i16 9218, i16 9219, i16 9220, i16 9221, i16 0, i16 4823, i16 9222, i16 952, i16 4812, i16 0, i16 9223, i16 9224, i16 9225, i16 9226, i16 0, i16 4829, i16 4813, i16 0, i16 0, i16 0, i16 13009, i16 13010, i16 0, i16 13011, i16 7009, i16 0, i16 7008, i16 13012, i16 0, i16 0, i16 13013, i16 13014, i16 1463, i16 0, i16 0, i16 13015, i16 13016, i16 0, i16 13017, i16 13018, i16 13019, i16 13020, i16 0, i16 7013, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11738, i16 0, i16 0, i16 1460, i16 0, i16 0, i16 0, i16 0, i16 6342, i16 6344, i16 11739, i16 0, i16 6345, i16 1251, i16 5811, i16 2150, i16 0, i16 6346, i16 0, i16 11740, i16 1575, i16 11741, i16 11742, i16 0, i16 0, i16 11743, i16 6347, i16 11744, i16 0, i16 0, i16 0, i16 0, i16 5086, i16 9609, i16 9610, i16 0, i16 0, i16 9611, i16 9612, i16 3388, i16 9613, i16 0, i16 5084, i16 5088, i16 9614, i16 0, i16 9615, i16 9616, i16 9617, i16 9618, i16 0, i16 1545, i16 9619, i16 2098, i16 0, i16 0, i16 2556, i16 9620, i16 9621, i16 9622, i16 5078, i16 0, i16 0, i16 0, i16 7917, i16 7918, i16 0, i16 0, i16 1489, i16 4034, i16 4032, i16 2394, i16 1257, i16 1321, i16 7919, i16 4029, i16 0, i16 1393, i16 0, i16 7920, i16 0, i16 0, i16 0, i16 875, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7921, i16 0, i16 0, i16 0, i16 238, i16 0, i16 300, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1015, i16 0, i16 11621, i16 2163, i16 6275, i16 0, i16 11622, i16 0, i16 11623, i16 0, i16 11624, i16 0, i16 0, i16 0, i16 11625, i16 0, i16 11626, i16 6276, i16 0, i16 11627, i16 0, i16 6277, i16 11628, i16 0, i16 0, i16 0, i16 11629, i16 0, i16 11630, i16 0, i16 0, i16 7936, i16 1823, i16 4040, i16 0, i16 0, i16 0, i16 0, i16 7937, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7938, i16 4043, i16 0, i16 4048, i16 0, i16 0, i16 0, i16 4046, i16 4045, i16 7939, i16 0, i16 0, i16 8448, i16 8449, i16 0, i16 0, i16 8450, i16 0, i16 8451, i16 0, i16 8455, i16 4317, i16 4314, i16 0, i16 4316, i16 0, i16 3553, i16 8453, i16 4315, i16 0, i16 0, i16 8452, i16 0, i16 0, i16 0, i16 8454, i16 0, i16 0, i16 4305, i16 0, i16 0, i16 8456, i16 0, i16 0, i16 2310, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8927, i16 0, i16 0, i16 4643, i16 8928, i16 0, i16 8929, i16 8930, i16 8931, i16 8932, i16 0, i16 0, i16 0, i16 2725, i16 0, i16 8933, i16 8934, i16 8935, i16 8936, i16 0, i16 8937, i16 0, i16 0, i16 10759, i16 10760, i16 10761, i16 10762, i16 10763, i16 5714, i16 0, i16 0, i16 1368, i16 3077, i16 10764, i16 10765, i16 10766, i16 2420, i16 0, i16 3613, i16 2046, i16 0, i16 0, i16 5762, i16 0, i16 10767, i16 5724, i16 10768, i16 2343, i16 0, i16 5720, i16 5725, i16 5727, i16 0, i16 0, i16 0, i16 6161, i16 11432, i16 11433, i16 11434, i16 11435, i16 11436, i16 11437, i16 11438, i16 0, i16 11439, i16 11440, i16 3498, i16 0, i16 0, i16 11441, i16 0, i16 0, i16 11442, i16 0, i16 11443, i16 0, i16 11444, i16 11445, i16 11446, i16 0, i16 0, i16 0, i16 0, i16 11447, i16 6160, i16 0, i16 0, i16 8998, i16 4677, i16 4676, i16 0, i16 8999, i16 0, i16 0, i16 9000, i16 4644, i16 4678, i16 4666, i16 0, i16 9001, i16 1836, i16 0, i16 9002, i16 0, i16 0, i16 4679, i16 4680, i16 4682, i16 4681, i16 4683, i16 1027, i16 9003, i16 1613, i16 9004, i16 9005, i16 3281, i16 2264, i16 0, i16 0, i16 13103, i16 13104, i16 0, i16 0, i16 0, i16 7071, i16 7072, i16 13105, i16 0, i16 0, i16 0, i16 0, i16 2723, i16 13106, i16 13107, i16 13108, i16 13109, i16 1558, i16 13110, i16 7074, i16 13111, i16 13112, i16 0, i16 13113, i16 13114, i16 13115, i16 0, i16 0, i16 0, i16 13116, i16 0, i16 0, i16 1852, i16 10946, i16 0, i16 1337, i16 2289, i16 3697, i16 3391, i16 5865, i16 2301, i16 10947, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10948, i16 10949, i16 10950, i16 0, i16 1266, i16 5868, i16 10951, i16 0, i16 10952, i16 0, i16 0, i16 0, i16 4159, i16 0, i16 0, i16 8181, i16 8182, i16 0, i16 0, i16 3238, i16 4160, i16 8183, i16 8184, i16 0, i16 0, i16 971, i16 4161, i16 0, i16 8185, i16 8186, i16 8187, i16 3499, i16 1043, i16 0, i16 3939, i16 2007, i16 2468, i16 4162, i16 3452, i16 8189, i16 0, i16 0, i16 0, i16 0, i16 9280, i16 0, i16 0, i16 9281, i16 0, i16 0, i16 0, i16 9282, i16 3515, i16 0, i16 0, i16 0, i16 9283, i16 0, i16 0, i16 0, i16 0, i16 3181, i16 4862, i16 2479, i16 0, i16 9284, i16 0, i16 4868, i16 2374, i16 9285, i16 4859, i16 4872, i16 4871, i16 0, i16 0, i16 0, i16 334, i16 335, i16 0, i16 0, i16 332, i16 333, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5718, i16 5712, i16 0, i16 0, i16 10752, i16 10753, i16 0, i16 0, i16 10754, i16 5716, i16 1963, i16 806, i16 5711, i16 5719, i16 5723, i16 1634, i16 3431, i16 10755, i16 2679, i16 5713, i16 10756, i16 10757, i16 5721, i16 10758, i16 5710, i16 2561, i16 0, i16 5715, i16 774, i16 3419, i16 0, i16 0, i16 9566, i16 0, i16 0, i16 5052, i16 0, i16 9567, i16 2096, i16 0, i16 0, i16 0, i16 3487, i16 0, i16 5049, i16 0, i16 0, i16 9568, i16 9569, i16 5044, i16 9570, i16 5050, i16 9571, i16 9572, i16 9573, i16 3627, i16 0, i16 2802, i16 2847, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3942, i16 7777, i16 3458, i16 0, i16 0, i16 7778, i16 7779, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7780, i16 0, i16 0, i16 0, i16 0, i16 7781, i16 7782, i16 0, i16 3943, i16 0, i16 3615, i16 7783, i16 1589, i16 0, i16 0, i16 7784, i16 0, i16 1519, i16 0, i16 0, i16 9320, i16 0, i16 0, i16 9321, i16 0, i16 4903, i16 4896, i16 0, i16 0, i16 4909, i16 0, i16 4907, i16 9322, i16 9323, i16 0, i16 9324, i16 4902, i16 9325, i16 0, i16 9326, i16 0, i16 0, i16 0, i16 4901, i16 0, i16 2673, i16 0, i16 2412, i16 9327, i16 4899, i16 0, i16 0, i16 12650, i16 12651, i16 0, i16 12652, i16 12653, i16 1557, i16 0, i16 0, i16 12654, i16 6810, i16 12655, i16 0, i16 0, i16 6811, i16 6812, i16 6813, i16 0, i16 6815, i16 6814, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4205, i16 8279, i16 0, i16 8280, i16 3151, i16 8281, i16 0, i16 0, i16 4206, i16 0, i16 4201, i16 8282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8283, i16 0, i16 0, i16 8284, i16 8285, i16 0, i16 0, i16 8286, i16 3404, i16 0, i16 0, i16 2671, i16 2855, i16 880, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2331, i16 9194, i16 0, i16 2269, i16 1413, i16 0, i16 9195, i16 0, i16 0, i16 0, i16 9196, i16 4801, i16 9197, i16 0, i16 0, i16 12666, i16 6821, i16 6820, i16 12667, i16 6822, i16 0, i16 12668, i16 0, i16 0, i16 0, i16 12669, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3085, i16 5822, i16 0, i16 0, i16 2164, i16 0, i16 0, i16 12678, i16 6825, i16 0, i16 3440, i16 0, i16 12679, i16 12680, i16 6826, i16 3531, i16 0, i16 873, i16 0, i16 0, i16 0, i16 1812, i16 12681, i16 6827, i16 1011, i16 6828, i16 12682, i16 12683, i16 12684, i16 6829, i16 0, i16 12685, i16 12686, i16 12687, i16 6831, i16 6832, i16 12688, i16 0, i16 0, i16 7827, i16 0, i16 7828, i16 0, i16 7829, i16 7830, i16 1967, i16 7831, i16 1959, i16 7832, i16 0, i16 7833, i16 7834, i16 0, i16 3977, i16 3975, i16 0, i16 3380, i16 7835, i16 3972, i16 3981, i16 3976, i16 0, i16 0, i16 0, i16 3979, i16 1535, i16 3408, i16 0, i16 7836, i16 0, i16 0, i16 9623, i16 9624, i16 0, i16 0, i16 0, i16 3486, i16 9625, i16 0, i16 0, i16 5081, i16 0, i16 0, i16 5074, i16 2801, i16 0, i16 0, i16 5077, i16 9626, i16 0, i16 0, i16 5083, i16 0, i16 0, i16 0, i16 0, i16 9627, i16 0, i16 9628, i16 3708, i16 1903, i16 0, i16 0, i16 10135, i16 5355, i16 10136, i16 5354, i16 0, i16 0, i16 0, i16 0, i16 0, i16 893, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5363, i16 3073, i16 5357, i16 10137, i16 5359, i16 0, i16 0, i16 5361, i16 2185, i16 10138, i16 0, i16 5362, i16 5360, i16 1905, i16 10139, i16 0, i16 0, i16 7585, i16 3813, i16 7586, i16 3811, i16 7587, i16 2389, i16 7588, i16 7589, i16 0, i16 0, i16 0, i16 3812, i16 3814, i16 7590, i16 0, i16 7591, i16 7603, i16 0, i16 0, i16 3816, i16 7592, i16 0, i16 0, i16 3815, i16 7593, i16 3229, i16 0, i16 0, i16 7594, i16 0, i16 0, i16 0, i16 6307, i16 11695, i16 6305, i16 0, i16 11696, i16 2575, i16 11697, i16 11698, i16 11699, i16 2282, i16 1171, i16 6306, i16 0, i16 2214, i16 0, i16 11700, i16 3607, i16 11701, i16 11702, i16 11703, i16 3691, i16 11704, i16 0, i16 0, i16 6308, i16 6319, i16 2646, i16 11705, i16 6318, i16 11706, i16 0, i16 0, i16 12974, i16 6986, i16 0, i16 0, i16 6987, i16 2843, i16 6984, i16 6983, i16 0, i16 12973, i16 0, i16 0, i16 943, i16 0, i16 0, i16 12975, i16 6995, i16 0, i16 0, i16 6994, i16 0, i16 12976, i16 12977, i16 0, i16 0, i16 924, i16 12978, i16 12979, i16 12980, i16 6992, i16 0, i16 0, i16 1714, i16 0, i16 0, i16 10326, i16 10327, i16 0, i16 0, i16 10328, i16 0, i16 0, i16 5472, i16 10329, i16 10330, i16 0, i16 0, i16 10331, i16 5473, i16 0, i16 1503, i16 1738, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10332, i16 0, i16 0, i16 0, i16 0, i16 9906, i16 0, i16 9907, i16 9908, i16 0, i16 9909, i16 0, i16 0, i16 5255, i16 9910, i16 0, i16 9911, i16 0, i16 0, i16 0, i16 0, i16 9912, i16 9913, i16 0, i16 0, i16 5257, i16 5254, i16 9914, i16 9915, i16 0, i16 3429, i16 5256, i16 5258, i16 9916, i16 3601, i16 0, i16 0, i16 4280, i16 7388, i16 0, i16 0, i16 0, i16 0, i16 7389, i16 7390, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3551, i16 0, i16 2906, i16 7391, i16 7392, i16 0, i16 0, i16 0, i16 7393, i16 0, i16 0, i16 0, i16 0, i16 1126, i16 7394, i16 0, i16 0, i16 9401, i16 9402, i16 3554, i16 4948, i16 9403, i16 9404, i16 0, i16 9405, i16 4900, i16 0, i16 0, i16 0, i16 0, i16 9406, i16 9407, i16 9408, i16 4951, i16 0, i16 0, i16 0, i16 4952, i16 9409, i16 0, i16 0, i16 0, i16 9410, i16 0, i16 860, i16 9411, i16 4954, i16 0, i16 0, i16 2749, i16 6472, i16 0, i16 0, i16 0, i16 0, i16 11939, i16 0, i16 0, i16 6475, i16 0, i16 11946, i16 11940, i16 0, i16 11941, i16 11942, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11943, i16 1893, i16 11944, i16 11945, i16 6474, i16 6473, i16 1461, i16 6476, i16 0, i16 0, i16 0, i16 9917, i16 0, i16 9918, i16 5262, i16 0, i16 9919, i16 9920, i16 5261, i16 2617, i16 2920, i16 9921, i16 0, i16 1502, i16 5260, i16 0, i16 9922, i16 9923, i16 0, i16 5259, i16 9924, i16 3488, i16 3489, i16 0, i16 0, i16 9925, i16 9926, i16 0, i16 9927, i16 5263, i16 917, i16 0, i16 0, i16 5579, i16 0, i16 5592, i16 0, i16 5582, i16 10551, i16 1287, i16 0, i16 5581, i16 5594, i16 0, i16 0, i16 0, i16 5580, i16 0, i16 2109, i16 0, i16 0, i16 10552, i16 0, i16 0, i16 0, i16 5584, i16 5585, i16 0, i16 2730, i16 0, i16 0, i16 5586, i16 10553, i16 0, i16 0, i16 7119, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 360, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6868, i16 0, i16 0, i16 0, i16 0, i16 12737, i16 0, i16 0, i16 12738, i16 12739, i16 12740, i16 6859, i16 6860, i16 0, i16 12741, i16 6861, i16 6862, i16 0, i16 12742, i16 12743, i16 0, i16 0, i16 6864, i16 12744, i16 0, i16 6863, i16 0, i16 12745, i16 12746, i16 2024, i16 0, i16 0, i16 4310, i16 8439, i16 8440, i16 0, i16 8441, i16 8442, i16 0, i16 3277, i16 0, i16 8438, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8443, i16 0, i16 0, i16 8444, i16 0, i16 0, i16 0, i16 0, i16 8445, i16 0, i16 0, i16 0, i16 8446, i16 0, i16 8447, i16 0, i16 0, i16 2523, i16 0, i16 10008, i16 5286, i16 10009, i16 0, i16 10010, i16 10011, i16 10012, i16 10013, i16 10014, i16 10015, i16 10016, i16 10017, i16 10018, i16 10019, i16 5288, i16 3619, i16 1364, i16 3093, i16 2949, i16 0, i16 0, i16 10020, i16 5289, i16 0, i16 0, i16 0, i16 0, i16 5291, i16 0, i16 0, i16 6368, i16 0, i16 0, i16 6370, i16 11784, i16 11785, i16 0, i16 6369, i16 6371, i16 11786, i16 3321, i16 6372, i16 6373, i16 0, i16 11787, i16 0, i16 11788, i16 11789, i16 6374, i16 0, i16 0, i16 0, i16 6376, i16 11790, i16 0, i16 11791, i16 11792, i16 1040, i16 2696, i16 0, i16 0, i16 0, i16 7648, i16 0, i16 2257, i16 3861, i16 2025, i16 0, i16 7649, i16 3862, i16 0, i16 2623, i16 3596, i16 2783, i16 0, i16 7650, i16 0, i16 7651, i16 7652, i16 7653, i16 0, i16 7654, i16 3935, i16 0, i16 7655, i16 0, i16 0, i16 3863, i16 7099, i16 1346, i16 7656, i16 0, i16 0, i16 0, i16 6882, i16 0, i16 6884, i16 6883, i16 0, i16 0, i16 0, i16 6885, i16 6887, i16 6886, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 745, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 735, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8685, i16 0, i16 8686, i16 2141, i16 4477, i16 2868, i16 8687, i16 8688, i16 8689, i16 8690, i16 0, i16 0, i16 8691, i16 8692, i16 0, i16 3698, i16 0, i16 4473, i16 8693, i16 8694, i16 0, i16 0, i16 4479, i16 8695, i16 1682, i16 8696, i16 2292, i16 8697, i16 8698, i16 797, i16 0, i16 0, i16 4592, i16 0, i16 8825, i16 2551, i16 4586, i16 4593, i16 4588, i16 4595, i16 4591, i16 0, i16 4590, i16 2986, i16 8826, i16 4584, i16 1026, i16 4582, i16 1296, i16 2520, i16 4578, i16 8827, i16 8828, i16 4581, i16 1611, i16 2308, i16 8829, i16 2084, i16 4589, i16 2957, i16 0, i16 0, i16 0, i16 0, i16 1265, i16 2324, i16 1901, i16 3479, i16 4245, i16 0, i16 8355, i16 8356, i16 0, i16 0, i16 8357, i16 8358, i16 1275, i16 8359, i16 1728, i16 8360, i16 8361, i16 1045, i16 906, i16 2073, i16 973, i16 8362, i16 4246, i16 3509, i16 8363, i16 0, i16 8364, i16 0, i16 0, i16 2008, i16 0, i16 0, i16 3570, i16 2894, i16 0, i16 0, i16 0, i16 0, i16 850, i16 12532, i16 2316, i16 1895, i16 0, i16 0, i16 0, i16 12533, i16 3212, i16 12534, i16 871, i16 0, i16 0, i16 0, i16 3642, i16 3546, i16 0, i16 6745, i16 12535, i16 2756, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7672, i16 0, i16 3030, i16 3233, i16 0, i16 3875, i16 7673, i16 3559, i16 3876, i16 0, i16 0, i16 0, i16 3877, i16 0, i16 2813, i16 7674, i16 7675, i16 3878, i16 0, i16 7676, i16 2258, i16 1779, i16 1487, i16 3879, i16 1820, i16 1670, i16 7677, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3834, i16 0, i16 7631, i16 2907, i16 7632, i16 0, i16 2363, i16 3836, i16 3837, i16 3013, i16 1585, i16 3686, i16 3838, i16 0, i16 0, i16 1315, i16 0, i16 0, i16 0, i16 3217, i16 2459, i16 1390, i16 2740, i16 0, i16 0, i16 0, i16 1486, i16 0, i16 7633, i16 0, i16 0, i16 0, i16 13052, i16 0, i16 0, i16 0, i16 0, i16 13053, i16 0, i16 0, i16 13051, i16 0, i16 0, i16 0, i16 13054, i16 0, i16 13055, i16 13056, i16 13057, i16 0, i16 0, i16 13058, i16 13059, i16 0, i16 0, i16 13060, i16 7032, i16 7033, i16 13061, i16 13062, i16 7034, i16 0, i16 0, i16 0, i16 9469, i16 0, i16 9470, i16 9471, i16 0, i16 0, i16 4997, i16 9472, i16 0, i16 0, i16 0, i16 9473, i16 9474, i16 1844, i16 9475, i16 3394, i16 9476, i16 4998, i16 4999, i16 0, i16 0, i16 1219, i16 0, i16 9477, i16 0, i16 5000, i16 0, i16 0, i16 0, i16 9478, i16 0, i16 2304, i16 0, i16 6423, i16 11858, i16 11859, i16 0, i16 11860, i16 1554, i16 0, i16 6420, i16 6421, i16 11861, i16 0, i16 0, i16 3668, i16 11862, i16 11864, i16 11865, i16 2648, i16 11866, i16 2352, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6424, i16 11867, i16 0, i16 6427, i16 0, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 0, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 520, i16 521, i16 522, i16 523, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 0, i16 1028, i16 1703, i16 6923, i16 6922, i16 3382, i16 0, i16 0, i16 12844, i16 0, i16 0, i16 12845, i16 12846, i16 6925, i16 6926, i16 6924, i16 0, i16 6927, i16 0, i16 0, i16 3349, i16 12847, i16 12848, i16 12849, i16 6928, i16 0, i16 1306, i16 12850, i16 0, i16 0, i16 12851, i16 0, i16 0, i16 6661, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6659, i16 0, i16 0, i16 12412, i16 12413, i16 0, i16 12414, i16 12415, i16 12416, i16 12417, i16 6660, i16 6658, i16 0, i16 2525, i16 0, i16 6662, i16 12418, i16 0, i16 12420, i16 0, i16 12419, i16 0, i16 12549, i16 6764, i16 12550, i16 6761, i16 0, i16 6762, i16 0, i16 6763, i16 6765, i16 12551, i16 0, i16 0, i16 0, i16 12552, i16 12553, i16 0, i16 0, i16 2285, i16 0, i16 0, i16 12554, i16 3464, i16 12555, i16 12556, i16 2286, i16 12557, i16 12558, i16 6766, i16 0, i16 3084, i16 0, i16 0, i16 6663, i16 0, i16 12421, i16 6665, i16 12422, i16 0, i16 0, i16 12423, i16 0, i16 12424, i16 0, i16 12425, i16 0, i16 0, i16 0, i16 0, i16 1174, i16 6664, i16 3467, i16 0, i16 12426, i16 0, i16 0, i16 0, i16 12427, i16 6676, i16 6666, i16 12428, i16 0, i16 6669, i16 12429, i16 0, i16 4105, i16 8057, i16 0, i16 1690, i16 8058, i16 2550, i16 8059, i16 8060, i16 4102, i16 2683, i16 8061, i16 0, i16 8062, i16 8063, i16 8064, i16 8065, i16 8066, i16 0, i16 8067, i16 8068, i16 8069, i16 0, i16 8070, i16 0, i16 8071, i16 8072, i16 8073, i16 8074, i16 0, i16 8075, i16 4106, i16 0, i16 6409, i16 11827, i16 0, i16 11828, i16 2647, i16 0, i16 0, i16 11829, i16 0, i16 898, i16 0, i16 0, i16 11830, i16 0, i16 0, i16 11831, i16 11832, i16 0, i16 0, i16 0, i16 11833, i16 0, i16 0, i16 0, i16 6410, i16 0, i16 0, i16 0, i16 0, i16 11834, i16 11835, i16 0, i16 3338, i16 2521, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3370, i16 0, i16 0, i16 5024, i16 0, i16 9517, i16 5025, i16 9518, i16 980, i16 9519, i16 0, i16 0, i16 0, i16 3197, i16 3470, i16 5027, i16 1876, i16 2095, i16 5020, i16 5026, i16 911, i16 0, i16 3595, i16 0, i16 7373, i16 7374, i16 0, i16 3223, i16 0, i16 7375, i16 0, i16 3714, i16 7376, i16 0, i16 2601, i16 7377, i16 7378, i16 7379, i16 3715, i16 1399, i16 0, i16 0, i16 7380, i16 3716, i16 0, i16 1182, i16 2547, i16 0, i16 1944, i16 3717, i16 0, i16 0, i16 3718, i16 0, i16 4364, i16 4365, i16 2956, i16 0, i16 0, i16 8542, i16 0, i16 4366, i16 3652, i16 3672, i16 8544, i16 8543, i16 0, i16 8545, i16 4368, i16 4367, i16 8546, i16 8547, i16 1066, i16 8548, i16 8549, i16 4369, i16 0, i16 0, i16 0, i16 4372, i16 4373, i16 8550, i16 4371, i16 8551, i16 3127, i16 0, i16 1549, i16 1851, i16 0, i16 0, i16 3079, i16 10923, i16 10924, i16 0, i16 1507, i16 3318, i16 10925, i16 5857, i16 5855, i16 0, i16 1637, i16 0, i16 1638, i16 818, i16 0, i16 1757, i16 0, i16 0, i16 0, i16 10926, i16 10927, i16 2964, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3599, i16 9227, i16 4820, i16 9228, i16 2970, i16 9229, i16 0, i16 9230, i16 0, i16 0, i16 0, i16 0, i16 4828, i16 0, i16 4815, i16 0, i16 0, i16 0, i16 765, i16 4817, i16 0, i16 9231, i16 1619, i16 9232, i16 0, i16 9233, i16 4819, i16 9234, i16 4818, i16 0, i16 4814, i16 0, i16 4879, i16 0, i16 4887, i16 0, i16 9315, i16 0, i16 7096, i16 9316, i16 0, i16 4884, i16 1620, i16 2665, i16 2411, i16 4882, i16 0, i16 4877, i16 9317, i16 0, i16 4880, i16 0, i16 0, i16 9318, i16 9319, i16 3516, i16 3357, i16 0, i16 0, i16 0, i16 4885, i16 4895, i16 0, i16 0, i16 11023, i16 11024, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11025, i16 5925, i16 1641, i16 5926, i16 3045, i16 0, i16 5940, i16 0, i16 0, i16 0, i16 11026, i16 5928, i16 11027, i16 2478, i16 2992, i16 1528, i16 5927, i16 2348, i16 11028, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5395, i16 5396, i16 0, i16 10200, i16 10201, i16 0, i16 5400, i16 5397, i16 5398, i16 5399, i16 0, i16 5401, i16 10202, i16 10203, i16 10204, i16 5402, i16 10205, i16 5403, i16 0, i16 10206, i16 0, i16 5404, i16 0, i16 5405, i16 0, i16 3016, i16 2767, i16 5406, i16 2989, i16 3115, i16 0, i16 0, i16 8468, i16 4323, i16 8469, i16 4322, i16 0, i16 0, i16 4321, i16 8470, i16 0, i16 8471, i16 2791, i16 4300, i16 0, i16 0, i16 0, i16 4329, i16 0, i16 8472, i16 8473, i16 8474, i16 8475, i16 0, i16 0, i16 0, i16 8476, i16 0, i16 8477, i16 0, i16 4325, i16 0, i16 8478, i16 0, i16 6679, i16 0, i16 12440, i16 12439, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1304, i16 3121, i16 0, i16 9655, i16 0, i16 1904, i16 0, i16 9656, i16 1678, i16 9657, i16 0, i16 9658, i16 9659, i16 0, i16 3678, i16 0, i16 5110, i16 0, i16 5122, i16 912, i16 2413, i16 9660, i16 0, i16 9661, i16 0, i16 9662, i16 9663, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8729, i16 4504, i16 0, i16 4505, i16 8730, i16 8731, i16 4494, i16 1871, i16 8732, i16 4498, i16 2491, i16 1609, i16 4480, i16 2176, i16 0, i16 0, i16 0, i16 0, i16 4518, i16 0, i16 3262, i16 0, i16 0, i16 4508, i16 4509, i16 4510, i16 0, i16 0, i16 4517, i16 8733, i16 4516, i16 0, i16 9757, i16 0, i16 0, i16 0, i16 9758, i16 9759, i16 0, i16 0, i16 3666, i16 2225, i16 0, i16 0, i16 0, i16 913, i16 0, i16 0, i16 0, i16 5174, i16 0, i16 9760, i16 9761, i16 9762, i16 9763, i16 9764, i16 5173, i16 0, i16 9765, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7458, i16 7459, i16 1127, i16 7460, i16 7461, i16 3762, i16 0, i16 3754, i16 7462, i16 7463, i16 3632, i16 7464, i16 1867, i16 7465, i16 3755, i16 7466, i16 3760, i16 7467, i16 7468, i16 7469, i16 0, i16 3763, i16 7470, i16 3756, i16 7471, i16 7472, i16 1310, i16 0, i16 790, i16 7473, i16 7474, i16 0, i16 11555, i16 6226, i16 0, i16 6231, i16 0, i16 11556, i16 3192, i16 0, i16 0, i16 6233, i16 0, i16 6232, i16 11557, i16 11558, i16 11559, i16 1103, i16 0, i16 3294, i16 6234, i16 0, i16 11560, i16 11561, i16 0, i16 11562, i16 11563, i16 11564, i16 0, i16 11565, i16 6246, i16 6236, i16 0, i16 0, i16 1572, i16 0, i16 0, i16 0, i16 0, i16 5480, i16 2711, i16 0, i16 0, i16 10359, i16 0, i16 5483, i16 1050, i16 5478, i16 10360, i16 0, i16 3075, i16 0, i16 855, i16 10361, i16 1761, i16 0, i16 3709, i16 10362, i16 0, i16 5482, i16 0, i16 0, i16 10364, i16 10365, i16 10366, i16 0, i16 6950, i16 6947, i16 6946, i16 6948, i16 12905, i16 0, i16 12906, i16 1466, i16 0, i16 12907, i16 12908, i16 0, i16 0, i16 0, i16 12909, i16 6954, i16 6953, i16 6952, i16 12910, i16 0, i16 764, i16 0, i16 12911, i16 12912, i16 12913, i16 12914, i16 0, i16 0, i16 12915, i16 0, i16 12916, i16 0, i16 2856, i16 4921, i16 0, i16 9357, i16 0, i16 4923, i16 9358, i16 0, i16 0, i16 9359, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9360, i16 4917, i16 9361, i16 0, i16 0, i16 0, i16 0, i16 4919, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9362, i16 1091, i16 0, i16 11816, i16 0, i16 11817, i16 6393, i16 6394, i16 0, i16 6396, i16 2440, i16 11818, i16 6395, i16 1191, i16 0, i16 6398, i16 0, i16 6397, i16 6399, i16 0, i16 11819, i16 6401, i16 6403, i16 0, i16 6404, i16 11820, i16 0, i16 0, i16 0, i16 11821, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6188, i16 6187, i16 6118, i16 0, i16 0, i16 0, i16 6192, i16 11497, i16 0, i16 0, i16 0, i16 0, i16 11498, i16 11499, i16 0, i16 11500, i16 6189, i16 11501, i16 0, i16 0, i16 11502, i16 6190, i16 0, i16 0, i16 6191, i16 11503, i16 6193, i16 11504, i16 0, i16 0, i16 0, i16 0, i16 8237, i16 0, i16 8238, i16 8239, i16 0, i16 4188, i16 0, i16 8240, i16 1827, i16 8241, i16 1826, i16 0, i16 8242, i16 0, i16 0, i16 770, i16 1537, i16 8243, i16 2260, i16 794, i16 0, i16 0, i16 0, i16 0, i16 4192, i16 4193, i16 0, i16 4190, i16 8244, i16 8245, i16 8246, i16 0, i16 4912, i16 4937, i16 4936, i16 0, i16 0, i16 9383, i16 0, i16 9385, i16 9384, i16 0, i16 0, i16 9386, i16 0, i16 0, i16 0, i16 9387, i16 4942, i16 0, i16 3665, i16 9388, i16 9389, i16 9390, i16 0, i16 0, i16 0, i16 4945, i16 1400, i16 9391, i16 9392, i16 4941, i16 4943, i16 0, i16 12592, i16 0, i16 6789, i16 12593, i16 12594, i16 6790, i16 12595, i16 6791, i16 12596, i16 12597, i16 6792, i16 12598, i16 12599, i16 12600, i16 0, i16 12601, i16 12602, i16 0, i16 1179, i16 12603, i16 0, i16 0, i16 12604, i16 12605, i16 12606, i16 0, i16 12610, i16 6793, i16 12607, i16 12608, i16 0, i16 0, i16 819, i16 0, i16 12066, i16 12067, i16 12068, i16 0, i16 12069, i16 12070, i16 0, i16 1648, i16 0, i16 12064, i16 0, i16 3685, i16 0, i16 0, i16 0, i16 12079, i16 0, i16 0, i16 12071, i16 0, i16 12072, i16 12073, i16 12074, i16 0, i16 6560, i16 12075, i16 12076, i16 0, i16 12077, i16 0, i16 6451, i16 11911, i16 11912, i16 6454, i16 6453, i16 0, i16 6452, i16 0, i16 11913, i16 6456, i16 6455, i16 0, i16 3463, i16 0, i16 0, i16 11914, i16 6458, i16 11915, i16 6457, i16 6459, i16 11916, i16 0, i16 0, i16 0, i16 6460, i16 11917, i16 11918, i16 0, i16 11919, i16 11920, i16 0, i16 0, i16 1332, i16 9520, i16 0, i16 5017, i16 5022, i16 9521, i16 0, i16 0, i16 2333, i16 2988, i16 0, i16 3072, i16 9522, i16 0, i16 9523, i16 9524, i16 9525, i16 9526, i16 5019, i16 9527, i16 3284, i16 9528, i16 5021, i16 0, i16 5030, i16 9529, i16 5028, i16 9530, i16 5023, i16 0, i16 0, i16 0, i16 6708, i16 12480, i16 0, i16 12481, i16 12482, i16 12483, i16 0, i16 6709, i16 0, i16 1754, i16 0, i16 12484, i16 0, i16 6710, i16 6711, i16 0, i16 12485, i16 3324, i16 12486, i16 0, i16 0, i16 0, i16 12487, i16 12488, i16 12489, i16 12490, i16 2386, i16 12491, i16 12492, i16 0, i16 749, i16 0, i16 12852, i16 0, i16 12853, i16 0, i16 12854, i16 12855, i16 0, i16 12856, i16 0, i16 12857, i16 12858, i16 12859, i16 12860, i16 12861, i16 3664, i16 0, i16 0, i16 0, i16 12862, i16 6929, i16 12863, i16 0, i16 12864, i16 12865, i16 12866, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12867, i16 0, i16 10805, i16 10806, i16 0, i16 0, i16 10807, i16 5742, i16 5750, i16 0, i16 5758, i16 5757, i16 10808, i16 0, i16 3373, i16 10809, i16 10810, i16 1414, i16 0, i16 0, i16 10811, i16 0, i16 0, i16 0, i16 0, i16 10812, i16 5756, i16 0, i16 5760, i16 5759, i16 5763, i16 10813, i16 5765, i16 0, i16 2872, i16 2230, i16 12031, i16 12032, i16 2588, i16 0, i16 1397, i16 0, i16 6536, i16 3494, i16 870, i16 12033, i16 3244, i16 998, i16 6531, i16 6532, i16 6533, i16 6534, i16 2840, i16 2534, i16 812, i16 6538, i16 0, i16 6539, i16 7097, i16 0, i16 12034, i16 2466, i16 12035, i16 6540, i16 0, i16 0, i16 6969, i16 12928, i16 12929, i16 6968, i16 6967, i16 12930, i16 12931, i16 12932, i16 12933, i16 12934, i16 0, i16 0, i16 3136, i16 6965, i16 828, i16 6970, i16 12935, i16 6972, i16 0, i16 0, i16 12936, i16 12937, i16 12938, i16 0, i16 1106, i16 6951, i16 862, i16 0, i16 12939, i16 6974, i16 0, i16 0, i16 9018, i16 4694, i16 4695, i16 0, i16 9019, i16 0, i16 3213, i16 4241, i16 2287, i16 9020, i16 0, i16 3139, i16 0, i16 1741, i16 0, i16 3070, i16 3036, i16 9021, i16 0, i16 0, i16 9022, i16 0, i16 2764, i16 9023, i16 3598, i16 0, i16 4697, i16 1921, i16 9024, i16 0, i16 4698, i16 0, i16 1341, i16 12391, i16 0, i16 6651, i16 6645, i16 12392, i16 12393, i16 6644, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12395, i16 12396, i16 12394, i16 12397, i16 12398, i16 0, i16 12399, i16 0, i16 0, i16 0, i16 6462, i16 11921, i16 0, i16 0, i16 0, i16 0, i16 11922, i16 0, i16 11923, i16 6461, i16 2195, i16 6463, i16 11924, i16 11925, i16 1386, i16 6464, i16 6466, i16 0, i16 11926, i16 0, i16 11927, i16 0, i16 0, i16 0, i16 0, i16 11928, i16 11929, i16 0, i16 0, i16 6467, i16 0, i16 0, i16 10814, i16 1807, i16 5761, i16 0, i16 0, i16 10815, i16 10816, i16 5766, i16 5767, i16 10817, i16 0, i16 5768, i16 10818, i16 5774, i16 2746, i16 5770, i16 10819, i16 5769, i16 5771, i16 5772, i16 10820, i16 5773, i16 0, i16 10821, i16 0, i16 10822, i16 5775, i16 5776, i16 10823, i16 10824, i16 0, i16 0, i16 11328, i16 6096, i16 0, i16 0, i16 0, i16 0, i16 11329, i16 0, i16 11330, i16 0, i16 0, i16 0, i16 3557, i16 0, i16 5430, i16 6098, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11331, i16 0, i16 11332, i16 0, i16 11333, i16 0, i16 11334, i16 11335, i16 0, i16 6099, i16 0, i16 8772, i16 8773, i16 4542, i16 0, i16 8776, i16 4541, i16 8774, i16 0, i16 8775, i16 0, i16 0, i16 8777, i16 8778, i16 0, i16 8779, i16 0, i16 0, i16 2633, i16 0, i16 4545, i16 0, i16 4543, i16 4533, i16 1495, i16 0, i16 4544, i16 0, i16 4548, i16 4547, i16 4549, i16 4546, i16 0, i16 9798, i16 0, i16 0, i16 0, i16 9799, i16 9800, i16 9801, i16 0, i16 3656, i16 9802, i16 9803, i16 5194, i16 0, i16 2338, i16 0, i16 9804, i16 0, i16 9805, i16 0, i16 0, i16 5190, i16 5195, i16 9806, i16 0, i16 915, i16 9807, i16 0, i16 9808, i16 0, i16 9809, i16 0, i16 0, i16 2122, i16 6364, i16 11773, i16 11774, i16 0, i16 11775, i16 0, i16 11776, i16 11777, i16 1666, i16 3724, i16 6365, i16 11778, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11779, i16 0, i16 11780, i16 11781, i16 0, i16 6366, i16 3126, i16 6367, i16 11782, i16 6375, i16 0, i16 11783, i16 0, i16 0, i16 1355, i16 1412, i16 5657, i16 0, i16 0, i16 10668, i16 10669, i16 0, i16 3209, i16 0, i16 2227, i16 0, i16 3393, i16 0, i16 10670, i16 5658, i16 0, i16 3584, i16 0, i16 10671, i16 2991, i16 0, i16 2381, i16 2927, i16 0, i16 0, i16 2012, i16 0, i16 0, i16 10672, i16 777, i16 0, i16 13131, i16 0, i16 13132, i16 13133, i16 13134, i16 13135, i16 13136, i16 0, i16 0, i16 7078, i16 5519, i16 0, i16 0, i16 6400, i16 6795, i16 0, i16 0, i16 7079, i16 13137, i16 7080, i16 13138, i16 13139, i16 13140, i16 13141, i16 0, i16 13142, i16 0, i16 0, i16 13143, i16 13144, i16 7082, i16 0, i16 12365, i16 0, i16 12366, i16 12367, i16 0, i16 12368, i16 1054, i16 12369, i16 12375, i16 0, i16 12370, i16 6638, i16 6639, i16 2660, i16 0, i16 6637, i16 0, i16 0, i16 0, i16 12371, i16 12372, i16 12373, i16 0, i16 0, i16 6641, i16 12374, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1872, i16 4600, i16 8835, i16 8836, i16 0, i16 0, i16 1835, i16 4601, i16 781, i16 8837, i16 8838, i16 4596, i16 8839, i16 0, i16 0, i16 8840, i16 2634, i16 0, i16 8841, i16 0, i16 0, i16 8842, i16 0, i16 8843, i16 1298, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1329, i16 0, i16 1618, i16 1119, i16 0, i16 0, i16 0, i16 0, i16 9199, i16 9198, i16 4803, i16 1111, i16 4809, i16 9200, i16 9201, i16 0, i16 9202, i16 9203, i16 9204, i16 4806, i16 9205, i16 2332, i16 0, i16 0, i16 0, i16 1070, i16 1697, i16 0, i16 9206, i16 1069, i16 1732, i16 0, i16 9207, i16 0, i16 6996, i16 12990, i16 12991, i16 6993, i16 12988, i16 6999, i16 12992, i16 7000, i16 0, i16 12993, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7005, i16 7004, i16 0, i16 12994, i16 12995, i16 0, i16 0, i16 0, i16 0, i16 7006, i16 0, i16 0, i16 852, i16 7001, i16 7002, i16 12996, i16 0, i16 4182, i16 2908, i16 3063, i16 3426, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2912, i16 8220, i16 8221, i16 4191, i16 8222, i16 0, i16 0, i16 0, i16 8223, i16 1239, i16 0, i16 8224, i16 3508, i16 8225, i16 0, i16 3392, i16 0, i16 4286, i16 0, i16 4183, i16 0, i16 8226, i16 0, i16 1880, i16 0, i16 0, i16 0, i16 5494, i16 5489, i16 10378, i16 10379, i16 10380, i16 5495, i16 5490, i16 10381, i16 0, i16 10382, i16 0, i16 3057, i16 5488, i16 10383, i16 10384, i16 5491, i16 10385, i16 10386, i16 0, i16 0, i16 0, i16 5498, i16 10388, i16 0, i16 0, i16 0, i16 10389, i16 0, i16 9560, i16 0, i16 5043, i16 5045, i16 9561, i16 865, i16 9562, i16 0, i16 1623, i16 3677, i16 0, i16 1056, i16 0, i16 3161, i16 9563, i16 9564, i16 0, i16 0, i16 0, i16 3536, i16 0, i16 0, i16 1031, i16 2182, i16 5047, i16 0, i16 0, i16 9565, i16 0, i16 0, i16 0, i16 0, i16 12376, i16 0, i16 6647, i16 12377, i16 12378, i16 12379, i16 12380, i16 6650, i16 12381, i16 12382, i16 12383, i16 12384, i16 12385, i16 0, i16 0, i16 6649, i16 2732, i16 0, i16 12386, i16 0, i16 0, i16 6642, i16 6643, i16 6646, i16 12387, i16 0, i16 0, i16 12388, i16 6648, i16 12389, i16 12390, i16 0, i16 11868, i16 0, i16 0, i16 11869, i16 11870, i16 11871, i16 0, i16 6425, i16 6426, i16 3528, i16 11872, i16 0, i16 0, i16 0, i16 2820, i16 6430, i16 11873, i16 0, i16 0, i16 11874, i16 0, i16 11875, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6428, i16 6429, i16 6431, i16 0, i16 12126, i16 2216, i16 6569, i16 12127, i16 6570, i16 0, i16 12128, i16 0, i16 6571, i16 3550, i16 0, i16 1990, i16 12129, i16 0, i16 0, i16 0, i16 0, i16 6573, i16 6572, i16 12130, i16 1649, i16 0, i16 1674, i16 1811, i16 12131, i16 12132, i16 12133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4703, i16 9033, i16 4701, i16 4704, i16 3590, i16 4702, i16 0, i16 9034, i16 9035, i16 0, i16 2340, i16 4705, i16 0, i16 9036, i16 2455, i16 9037, i16 0, i16 4706, i16 0, i16 9038, i16 0, i16 9039, i16 1211, i16 9040, i16 4708, i16 0, i16 4707, i16 0, i16 0, i16 0, i16 9041, i16 0, i16 11104, i16 11105, i16 5986, i16 0, i16 0, i16 0, i16 0, i16 826, i16 0, i16 0, i16 5977, i16 11106, i16 11107, i16 11108, i16 5976, i16 11109, i16 5971, i16 5970, i16 11110, i16 5968, i16 5967, i16 2598, i16 11111, i16 2528, i16 5973, i16 11112, i16 0, i16 11113, i16 11114, i16 0, i16 0, i16 0, i16 11364, i16 0, i16 6107, i16 2941, i16 0, i16 11365, i16 11366, i16 11367, i16 6108, i16 6109, i16 6119, i16 0, i16 11368, i16 0, i16 6113, i16 6116, i16 11369, i16 0, i16 11370, i16 11371, i16 11372, i16 6112, i16 11373, i16 11374, i16 11375, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11376, i16 0, i16 12134, i16 6576, i16 12135, i16 0, i16 12136, i16 12137, i16 2037, i16 0, i16 6575, i16 12138, i16 6574, i16 0, i16 2510, i16 12139, i16 0, i16 1576, i16 12140, i16 2284, i16 12141, i16 12142, i16 12143, i16 0, i16 3017, i16 12144, i16 0, i16 0, i16 0, i16 1992, i16 0, i16 12145, i16 0, i16 0, i16 4458, i16 8665, i16 4461, i16 4463, i16 0, i16 8666, i16 0, i16 8667, i16 1902, i16 8668, i16 4469, i16 2705, i16 4459, i16 8669, i16 0, i16 0, i16 8670, i16 4467, i16 8671, i16 1022, i16 8672, i16 4465, i16 4466, i16 8673, i16 0, i16 4462, i16 4464, i16 0, i16 8674, i16 8675, i16 1568, i16 0, i16 7018, i16 7024, i16 13030, i16 7017, i16 0, i16 7022, i16 13031, i16 0, i16 13032, i16 13033, i16 0, i16 0, i16 0, i16 0, i16 7023, i16 0, i16 0, i16 0, i16 7026, i16 13034, i16 13035, i16 13036, i16 13037, i16 0, i16 7025, i16 13038, i16 0, i16 0, i16 0, i16 13039, i16 13040, i16 0, i16 10858, i16 10859, i16 5804, i16 1421, i16 0, i16 10860, i16 0, i16 2345, i16 1248, i16 10861, i16 0, i16 0, i16 10862, i16 5808, i16 5805, i16 0, i16 0, i16 5806, i16 0, i16 10863, i16 0, i16 5809, i16 0, i16 5810, i16 5807, i16 0, i16 0, i16 10864, i16 848, i16 0, i16 10865, i16 0, i16 3180, i16 2325, i16 0, i16 1918, i16 4261, i16 2074, i16 4262, i16 4263, i16 796, i16 2463, i16 2205, i16 8379, i16 4264, i16 2832, i16 2075, i16 0, i16 2076, i16 0, i16 4265, i16 0, i16 0, i16 2326, i16 8380, i16 0, i16 0, i16 2077, i16 0, i16 0, i16 0, i16 8381, i16 8382, i16 0, i16 12400, i16 12401, i16 6655, i16 12402, i16 0, i16 0, i16 6656, i16 12403, i16 12404, i16 0, i16 0, i16 0, i16 12405, i16 12406, i16 12407, i16 6657, i16 0, i16 0, i16 6654, i16 6653, i16 12408, i16 12409, i16 12410, i16 2127, i16 2823, i16 6652, i16 0, i16 0, i16 0, i16 0, i16 12411, i16 0, i16 8562, i16 8563, i16 8564, i16 8565, i16 3456, i16 1522, i16 1541, i16 8566, i16 4392, i16 0, i16 8567, i16 8568, i16 4393, i16 8569, i16 4399, i16 8570, i16 1942, i16 0, i16 0, i16 8571, i16 2630, i16 8572, i16 1324, i16 4394, i16 0, i16 0, i16 8573, i16 3106, i16 8574, i16 2569, i16 8575, i16 0, i16 12146, i16 6577, i16 0, i16 2124, i16 0, i16 12147, i16 0, i16 12148, i16 0, i16 6580, i16 6578, i16 12149, i16 12150, i16 12151, i16 6579, i16 12152, i16 12153, i16 12154, i16 12155, i16 6582, i16 6581, i16 12156, i16 0, i16 2151, i16 0, i16 6583, i16 12157, i16 12158, i16 12159, i16 0, i16 12160, i16 0, i16 3960, i16 7810, i16 1256, i16 1065, i16 0, i16 0, i16 0, i16 1662, i16 1255, i16 2688, i16 844, i16 2830, i16 3407, i16 1592, i16 3560, i16 2758, i16 1591, i16 0, i16 7811, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7812, i16 1418, i16 0, i16 3969, i16 0, i16 1376, i16 0, i16 3705, i16 11299, i16 0, i16 0, i16 0, i16 0, i16 11300, i16 0, i16 6080, i16 11301, i16 11302, i16 0, i16 3556, i16 11303, i16 6082, i16 6084, i16 0, i16 0, i16 0, i16 0, i16 6085, i16 0, i16 0, i16 11305, i16 0, i16 11306, i16 0, i16 6088, i16 6086, i16 0, i16 11307, i16 0, i16 10363, i16 0, i16 5484, i16 10367, i16 0, i16 0, i16 3232, i16 10368, i16 2306, i16 5486, i16 0, i16 10369, i16 10370, i16 0, i16 5487, i16 10371, i16 10372, i16 10373, i16 10374, i16 0, i16 5485, i16 0, i16 0, i16 0, i16 0, i16 1073, i16 10375, i16 5493, i16 10376, i16 5492, i16 10377, i16 0, i16 12670, i16 1233, i16 12671, i16 0, i16 12672, i16 12673, i16 12674, i16 0, i16 6823, i16 12675, i16 6824, i16 0, i16 3910, i16 4959, i16 3052, i16 0, i16 0, i16 836, i16 12676, i16 772, i16 0, i16 12677, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1863, i16 3299, i16 2155, i16 0, i16 0, i16 1408, i16 6500, i16 6501, i16 6502, i16 11984, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8328, i16 2139, i16 0, i16 0, i16 8329, i16 0, i16 0, i16 0, i16 0, i16 4225, i16 0, i16 2685, i16 8330, i16 0, i16 0, i16 876, i16 0, i16 4223, i16 0, i16 8324, i16 0, i16 4226, i16 0, i16 8331, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4227, i16 0, i16 0, i16 4489, i16 8720, i16 0, i16 0, i16 0, i16 0, i16 4497, i16 4496, i16 0, i16 8721, i16 8722, i16 4501, i16 0, i16 0, i16 0, i16 8723, i16 8724, i16 0, i16 0, i16 4502, i16 8725, i16 8726, i16 8727, i16 0, i16 8728, i16 0, i16 0, i16 4500, i16 4503, i16 4495, i16 4499, i16 0, i16 8076, i16 2221, i16 8077, i16 0, i16 0, i16 0, i16 0, i16 4104, i16 4107, i16 0, i16 1434, i16 8078, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4108, i16 8079, i16 8088, i16 0, i16 8080, i16 0, i16 8081, i16 8082, i16 0, i16 8083, i16 8084, i16 8085, i16 8086, i16 0, i16 12940, i16 0, i16 12941, i16 12942, i16 12943, i16 6973, i16 6971, i16 2544, i16 12944, i16 12945, i16 0, i16 0, i16 0, i16 12946, i16 12947, i16 12948, i16 0, i16 3363, i16 12949, i16 12950, i16 0, i16 12951, i16 3623, i16 12952, i16 0, i16 6975, i16 12953, i16 12960, i16 12954, i16 12955, i16 12956, i16 0, i16 654, i16 7143, i16 7144, i16 7145, i16 7146, i16 7147, i16 7148, i16 7149, i16 7150, i16 7151, i16 7152, i16 7153, i16 0, i16 7154, i16 7155, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 0, i16 1423, i16 6557, i16 0, i16 6558, i16 12078, i16 0, i16 0, i16 3179, i16 0, i16 0, i16 12081, i16 0, i16 1079, i16 0, i16 12082, i16 12083, i16 0, i16 0, i16 0, i16 12084, i16 3496, i16 12080, i16 1340, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2771, i16 12085, i16 12086, i16 0, i16 10127, i16 5350, i16 0, i16 0, i16 10128, i16 5345, i16 5346, i16 0, i16 5349, i16 5348, i16 3100, i16 0, i16 0, i16 2377, i16 2376, i16 10129, i16 1246, i16 10130, i16 10131, i16 5351, i16 10132, i16 0, i16 0, i16 0, i16 10133, i16 5352, i16 0, i16 10134, i16 5353, i16 0, i16 0, i16 0, i16 11407, i16 0, i16 11408, i16 0, i16 6142, i16 0, i16 0, i16 11409, i16 6143, i16 0, i16 0, i16 0, i16 0, i16 11410, i16 11411, i16 0, i16 11412, i16 11413, i16 0, i16 6138, i16 0, i16 0, i16 6140, i16 0, i16 11414, i16 11415, i16 6141, i16 11416, i16 11417, i16 11418, i16 6139, i16 0, i16 5010, i16 5007, i16 3535, i16 0, i16 9507, i16 9508, i16 9509, i16 2657, i16 9510, i16 0, i16 0, i16 2870, i16 5008, i16 0, i16 0, i16 5016, i16 0, i16 5015, i16 1406, i16 9511, i16 9512, i16 946, i16 9513, i16 9514, i16 1712, i16 5009, i16 5011, i16 9515, i16 0, i16 0, i16 9516, i16 0, i16 8851, i16 8852, i16 8853, i16 8854, i16 0, i16 8855, i16 0, i16 0, i16 2447, i16 8856, i16 8857, i16 1790, i16 4606, i16 8858, i16 4608, i16 4604, i16 0, i16 8859, i16 8860, i16 8861, i16 3254, i16 0, i16 2654, i16 8862, i16 0, i16 0, i16 8863, i16 2403, i16 0, i16 0, i16 0, i16 0, i16 11163, i16 0, i16 6002, i16 2839, i16 0, i16 11164, i16 6007, i16 0, i16 0, i16 11165, i16 6004, i16 3291, i16 6010, i16 809, i16 11166, i16 0, i16 11167, i16 0, i16 5998, i16 0, i16 11168, i16 0, i16 0, i16 0, i16 11169, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3228, i16 2651, i16 1687, i16 0, i16 1655, i16 2038, i16 12619, i16 2215, i16 0, i16 12620, i16 0, i16 6801, i16 12622, i16 12623, i16 6800, i16 3505, i16 1193, i16 3051, i16 2873, i16 12624, i16 0, i16 12625, i16 2247, i16 3611, i16 12621, i16 1462, i16 0, i16 12626, i16 0, i16 12627, i16 0, i16 0, i16 4765, i16 0, i16 0, i16 0, i16 9146, i16 4768, i16 9147, i16 9148, i16 2244, i16 0, i16 0, i16 9149, i16 0, i16 3562, i16 786, i16 1749, i16 2465, i16 0, i16 1934, i16 9150, i16 9151, i16 2144, i16 0, i16 0, i16 4771, i16 0, i16 0, i16 2765, i16 9152, i16 4769, i16 2448, i16 0, i16 3230, i16 8167, i16 0, i16 8165, i16 4143, i16 0, i16 2568, i16 8168, i16 0, i16 1018, i16 0, i16 2138, i16 8169, i16 8170, i16 0, i16 8171, i16 4145, i16 8172, i16 4144, i16 8173, i16 1663, i16 8174, i16 4146, i16 4148, i16 4147, i16 8175, i16 0, i16 4150, i16 8176, i16 4139, i16 4152, i16 0, i16 6046, i16 0, i16 0, i16 0, i16 0, i16 11204, i16 0, i16 11205, i16 11206, i16 11207, i16 0, i16 0, i16 6024, i16 0, i16 11208, i16 0, i16 11209, i16 1114, i16 0, i16 11210, i16 0, i16 0, i16 0, i16 2149, i16 6035, i16 11211, i16 6040, i16 2426, i16 11212, i16 11213, i16 6036, i16 0, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 0, i16 6047, i16 11241, i16 11242, i16 11243, i16 11244, i16 2678, i16 11245, i16 0, i16 0, i16 11246, i16 11247, i16 6052, i16 839, i16 0, i16 11248, i16 0, i16 0, i16 11229, i16 11249, i16 11250, i16 2439, i16 11251, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3224, i16 0, i16 11252, i16 0, i16 9892, i16 1333, i16 5243, i16 5245, i16 0, i16 5244, i16 9893, i16 0, i16 9894, i16 0, i16 0, i16 9895, i16 0, i16 5246, i16 0, i16 1546, i16 0, i16 5247, i16 0, i16 0, i16 9896, i16 9897, i16 1382, i16 9898, i16 2375, i16 0, i16 1684, i16 0, i16 0, i16 0, i16 9899, i16 0, i16 10918, i16 0, i16 0, i16 5849, i16 5851, i16 5850, i16 3006, i16 10919, i16 2902, i16 0, i16 3689, i16 3010, i16 0, i16 10920, i16 0, i16 0, i16 0, i16 0, i16 5853, i16 0, i16 0, i16 2112, i16 0, i16 3105, i16 0, i16 5854, i16 5852, i16 10921, i16 1167, i16 10922, i16 0, i16 0, i16 7848, i16 3986, i16 0, i16 3995, i16 3988, i16 7849, i16 7850, i16 3992, i16 7851, i16 7852, i16 3993, i16 3989, i16 7853, i16 7854, i16 4022, i16 0, i16 7855, i16 1758, i16 1044, i16 0, i16 0, i16 0, i16 7856, i16 3987, i16 7857, i16 7858, i16 7859, i16 3997, i16 831, i16 3996, i16 7860, i16 0, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 458, i16 459, i16 460, i16 461, i16 0, i16 3248, i16 8554, i16 4385, i16 3673, i16 0, i16 8555, i16 8556, i16 8557, i16 4386, i16 3221, i16 4389, i16 3711, i16 3727, i16 8558, i16 1889, i16 2898, i16 4390, i16 0, i16 1276, i16 2629, i16 835, i16 4391, i16 3195, i16 1607, i16 8559, i16 0, i16 2579, i16 8560, i16 8561, i16 0, i16 2704, i16 0, i16 3000, i16 0, i16 12729, i16 2481, i16 895, i16 1387, i16 0, i16 1388, i16 12730, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2614, i16 6858, i16 1389, i16 12731, i16 12732, i16 1012, i16 0, i16 0, i16 6857, i16 12733, i16 12734, i16 6855, i16 12735, i16 6856, i16 12736, i16 6854, i16 0, i16 3513, i16 4657, i16 0, i16 8965, i16 4653, i16 0, i16 4654, i16 0, i16 8966, i16 8967, i16 8968, i16 8969, i16 2407, i16 8970, i16 0, i16 8971, i16 8972, i16 4652, i16 0, i16 4587, i16 8973, i16 0, i16 8974, i16 4656, i16 0, i16 4651, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6334, i16 11726, i16 11727, i16 11728, i16 11729, i16 11730, i16 0, i16 11731, i16 6338, i16 0, i16 0, i16 6335, i16 11736, i16 6337, i16 6336, i16 0, i16 0, i16 11732, i16 11733, i16 11734, i16 0, i16 6339, i16 0, i16 1890, i16 11735, i16 6341, i16 6340, i16 3167, i16 0, i16 11737, i16 6343, i16 0, i16 11198, i16 6026, i16 0, i16 6021, i16 11199, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2114, i16 0, i16 0, i16 0, i16 0, i16 1982, i16 0, i16 11200, i16 11201, i16 1885, i16 11202, i16 0, i16 0, i16 0, i16 3433, i16 0, i16 0, i16 3134, i16 0, i16 11203, i16 6037, i16 0, i16 6591, i16 0, i16 2689, i16 12170, i16 12171, i16 3336, i16 1401, i16 0, i16 12172, i16 12173, i16 0, i16 12174, i16 12175, i16 12176, i16 12177, i16 12178, i16 12179, i16 0, i16 0, i16 0, i16 6594, i16 6595, i16 12180, i16 0, i16 12181, i16 0, i16 12182, i16 6593, i16 12183, i16 0, i16 6597, i16 0, i16 3009, i16 4355, i16 3219, i16 4356, i16 0, i16 0, i16 0, i16 8521, i16 0, i16 8522, i16 8523, i16 8524, i16 8525, i16 8526, i16 0, i16 8527, i16 0, i16 1140, i16 3220, i16 2922, i16 4358, i16 4359, i16 0, i16 1603, i16 1141, i16 4360, i16 1521, i16 3507, i16 3480, i16 1207, i16 4362, i16 0, i16 3526, i16 0, i16 6257, i16 0, i16 0, i16 3193, i16 2945, i16 6258, i16 11600, i16 6259, i16 1508, i16 0, i16 11601, i16 0, i16 1227, i16 11602, i16 0, i16 0, i16 6260, i16 11603, i16 11604, i16 1854, i16 2940, i16 6261, i16 0, i16 1075, i16 11605, i16 11606, i16 0, i16 0, i16 11607, i16 0, i16 3783, i16 7516, i16 3268, i16 2576, i16 3779, i16 1484, i16 7517, i16 3776, i16 3784, i16 3778, i16 3614, i16 3785, i16 3692, i16 7518, i16 0, i16 7519, i16 0, i16 7520, i16 7521, i16 0, i16 7522, i16 1379, i16 0, i16 0, i16 1483, i16 0, i16 7546, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9159, i16 0, i16 0, i16 9160, i16 4783, i16 0, i16 3091, i16 0, i16 4774, i16 0, i16 4780, i16 4779, i16 0, i16 9161, i16 9162, i16 2296, i16 9163, i16 0, i16 9164, i16 0, i16 3360, i16 9165, i16 3616, i16 9166, i16 9167, i16 3354, i16 9168, i16 977, i16 1841, i16 0, i16 0, i16 0, i16 7112, i16 302, i16 303, i16 7120, i16 0, i16 7113, i16 309, i16 236, i16 7117, i16 7116, i16 0, i16 340, i16 0, i16 7118, i16 7106, i16 296, i16 283, i16 0, i16 0, i16 234, i16 0, i16 367, i16 0, i16 7103, i16 0, i16 7115, i16 0, i16 0, i16 0, i16 0, i16 7114, i16 0, i16 8138, i16 4127, i16 0, i16 8139, i16 0, i16 0, i16 8140, i16 8141, i16 925, i16 0, i16 2741, i16 0, i16 0, i16 0, i16 0, i16 4129, i16 0, i16 4125, i16 0, i16 0, i16 2203, i16 0, i16 0, i16 8142, i16 4133, i16 0, i16 0, i16 8143, i16 0, i16 2013, i16 8144, i16 0, i16 972, i16 4211, i16 0, i16 8307, i16 0, i16 8308, i16 0, i16 8309, i16 1900, i16 0, i16 4210, i16 1492, i16 0, i16 0, i16 8310, i16 4224, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4217, i16 4214, i16 0, i16 0, i16 8311, i16 0, i16 8312, i16 0, i16 0, i16 0, i16 0, i16 6865, i16 12747, i16 12748, i16 12749, i16 6867, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12750, i16 12751, i16 0, i16 1234, i16 6866, i16 12752, i16 12753, i16 2434, i16 1516, i16 0, i16 0, i16 12754, i16 0, i16 0, i16 6869, i16 0, i16 0, i16 0, i16 0, i16 12755, i16 0, i16 0, i16 10449, i16 0, i16 0, i16 0, i16 0, i16 1305, i16 5518, i16 10450, i16 10451, i16 5520, i16 10452, i16 0, i16 0, i16 5521, i16 10453, i16 2916, i16 10454, i16 0, i16 5522, i16 10455, i16 0, i16 0, i16 0, i16 10456, i16 5523, i16 5524, i16 10457, i16 0, i16 1366, i16 984, i16 2850, i16 0, i16 9683, i16 9684, i16 0, i16 2032, i16 0, i16 5139, i16 0, i16 9685, i16 0, i16 0, i16 0, i16 9686, i16 5132, i16 2637, i16 5129, i16 2682, i16 0, i16 0, i16 0, i16 5164, i16 0, i16 0, i16 0, i16 5126, i16 0, i16 5125, i16 0, i16 5134, i16 9687, i16 9688, i16 0, i16 0, i16 12499, i16 840, i16 2211, i16 2059, i16 1178, i16 6721, i16 0, i16 0, i16 0, i16 2977, i16 0, i16 6723, i16 0, i16 12500, i16 0, i16 841, i16 0, i16 6722, i16 2661, i16 12501, i16 3610, i16 2824, i16 6716, i16 3571, i16 0, i16 1514, i16 12502, i16 12503, i16 3530, i16 12504, i16 12505, i16 0, i16 6357, i16 0, i16 0, i16 0, i16 11760, i16 2819, i16 11761, i16 6359, i16 11762, i16 3296, i16 11763, i16 6360, i16 0, i16 6361, i16 11764, i16 6362, i16 11765, i16 0, i16 11766, i16 11767, i16 6363, i16 0, i16 11768, i16 11769, i16 11772, i16 2871, i16 11770, i16 0, i16 11771, i16 0, i16 0, i16 0, i16 11480, i16 0, i16 11481, i16 0, i16 6158, i16 11482, i16 0, i16 0, i16 11483, i16 11484, i16 11485, i16 0, i16 6178, i16 6182, i16 6177, i16 11486, i16 6184, i16 11488, i16 11489, i16 11490, i16 6186, i16 6185, i16 0, i16 11491, i16 11487, i16 11492, i16 11493, i16 11494, i16 0, i16 11495, i16 11496, i16 0, i16 12506, i16 12507, i16 12508, i16 12509, i16 1398, i16 3585, i16 0, i16 1411, i16 12510, i16 2503, i16 5873, i16 0, i16 6724, i16 1039, i16 2234, i16 0, i16 12511, i16 0, i16 0, i16 1081, i16 6726, i16 12512, i16 6727, i16 6725, i16 1471, i16 12513, i16 1746, i16 2128, i16 12514, i16 0, i16 12515, i16 0, i16 3548, i16 773, i16 5703, i16 0, i16 10730, i16 1290, i16 10731, i16 5700, i16 0, i16 10732, i16 0, i16 0, i16 0, i16 5701, i16 0, i16 10733, i16 2812, i16 5699, i16 5696, i16 0, i16 1035, i16 2317, i16 0, i16 10734, i16 1505, i16 10735, i16 10736, i16 0, i16 5708, i16 0, i16 10737, i16 0, i16 13021, i16 0, i16 0, i16 7014, i16 0, i16 0, i16 0, i16 0, i16 7015, i16 13022, i16 7010, i16 13023, i16 0, i16 13024, i16 6990, i16 0, i16 13025, i16 7016, i16 0, i16 2690, i16 13026, i16 0, i16 0, i16 7020, i16 13027, i16 7021, i16 7019, i16 13028, i16 0, i16 0, i16 13029, i16 0, i16 9187, i16 4794, i16 0, i16 4791, i16 0, i16 9188, i16 4799, i16 0, i16 4789, i16 0, i16 0, i16 4787, i16 0, i16 4795, i16 4785, i16 9189, i16 2607, i16 9190, i16 3465, i16 1911, i16 1769, i16 9191, i16 9192, i16 0, i16 9176, i16 0, i16 1711, i16 0, i16 0, i16 3362, i16 1060, i16 0, i16 3044, i16 0, i16 5746, i16 10797, i16 10798, i16 5741, i16 10799, i16 0, i16 0, i16 2344, i16 1453, i16 0, i16 1978, i16 10800, i16 0, i16 10801, i16 0, i16 10802, i16 0, i16 2160, i16 2365, i16 5752, i16 0, i16 10803, i16 5754, i16 5755, i16 0, i16 0, i16 5751, i16 5753, i16 10804, i16 0, i16 231, i16 0, i16 305, i16 301, i16 304, i16 306, i16 0, i16 263, i16 264, i16 307, i16 281, i16 225, i16 0, i16 226, i16 252, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 228, i16 229, i16 288, i16 286, i16 289, i16 230, i16 0, i16 3568, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11549, i16 6229, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11550, i16 11551, i16 11552, i16 6230, i16 2117, i16 6228, i16 11553, i16 0, i16 11554, i16 3542, i16 6225, i16 0, i16 0, i16 6227, i16 2278, i16 2249, i16 0, i16 0, i16 3824, i16 0, i16 7611, i16 0, i16 0, i16 0, i16 7612, i16 7613, i16 0, i16 3476, i16 0, i16 7614, i16 7615, i16 0, i16 7616, i16 0, i16 7617, i16 3434, i16 7618, i16 7619, i16 7620, i16 0, i16 3826, i16 7621, i16 7622, i16 3825, i16 3828, i16 3827, i16 0, i16 0, i16 3829, i16 0, i16 8177, i16 8178, i16 0, i16 4151, i16 4149, i16 0, i16 0, i16 0, i16 8179, i16 0, i16 1825, i16 2204, i16 0, i16 2395, i16 4153, i16 2277, i16 822, i16 2975, i16 8180, i16 0, i16 0, i16 0, i16 2684, i16 0, i16 4155, i16 4154, i16 4156, i16 4157, i16 4158, i16 0, i16 0, i16 0, i16 7922, i16 0, i16 7923, i16 4038, i16 4036, i16 7924, i16 4093, i16 0, i16 7925, i16 0, i16 7926, i16 7927, i16 0, i16 7928, i16 0, i16 0, i16 7929, i16 7930, i16 7931, i16 4041, i16 0, i16 0, i16 7932, i16 7933, i16 0, i16 4035, i16 7934, i16 4039, i16 0, i16 7935, i16 4037, i16 0, i16 8434, i16 0, i16 0, i16 0, i16 0, i16 8435, i16 2237, i16 0, i16 0, i16 0, i16 4302, i16 0, i16 8436, i16 1759, i16 0, i16 0, i16 4308, i16 8437, i16 0, i16 4309, i16 4303, i16 1046, i16 4304, i16 4313, i16 4312, i16 4311, i16 4307, i16 0, i16 0, i16 0, i16 4306, i16 0, i16 10738, i16 10739, i16 10740, i16 0, i16 10741, i16 10742, i16 0, i16 10743, i16 5705, i16 0, i16 10744, i16 10745, i16 10746, i16 0, i16 5707, i16 0, i16 10747, i16 0, i16 5704, i16 0, i16 0, i16 10748, i16 10749, i16 0, i16 1452, i16 2456, i16 5709, i16 2421, i16 10750, i16 10751, i16 5722, i16 0, i16 10227, i16 5421, i16 2961, i16 0, i16 10228, i16 3346, i16 0, i16 885, i16 10229, i16 894, i16 10230, i16 10231, i16 5422, i16 10232, i16 0, i16 0, i16 0, i16 5424, i16 0, i16 10233, i16 0, i16 5423, i16 2799, i16 0, i16 10234, i16 0, i16 2274, i16 4957, i16 0, i16 5425, i16 3410, i16 0, i16 9460, i16 0, i16 9461, i16 0, i16 0, i16 9462, i16 9463, i16 0, i16 0, i16 0, i16 4993, i16 4992, i16 0, i16 9464, i16 4995, i16 0, i16 9465, i16 0, i16 4994, i16 0, i16 0, i16 0, i16 9466, i16 0, i16 9467, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9468, i16 0, i16 5109, i16 0, i16 0, i16 0, i16 1156, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9674, i16 0, i16 9675, i16 9676, i16 9677, i16 1476, i16 0, i16 0, i16 9678, i16 5135, i16 9679, i16 9680, i16 5130, i16 2337, i16 9681, i16 9682, i16 1094, i16 0, i16 4855, i16 4834, i16 4854, i16 0, i16 4847, i16 4835, i16 0, i16 4851, i16 0, i16 4852, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4869, i16 9275, i16 0, i16 9276, i16 2859, i16 9277, i16 4842, i16 0, i16 9278, i16 4865, i16 0, i16 9279, i16 0, i16 4867, i16 0, i16 2681, i16 0, i16 3579, i16 0, i16 0, i16 2145, i16 2334, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9557, i16 0, i16 5048, i16 5046, i16 0, i16 3140, i16 0, i16 9558, i16 9559, i16 0, i16 8956, i16 0, i16 8957, i16 2736, i16 4647, i16 8958, i16 0, i16 8959, i16 4648, i16 0, i16 3174, i16 8960, i16 2944, i16 1782, i16 0, i16 2330, i16 0, i16 3331, i16 8961, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1068, i16 0, i16 4655, i16 4650, i16 8962, i16 8963, i16 8964, i16 0, i16 8190, i16 3397, i16 8191, i16 8192, i16 4164, i16 0, i16 2508, i16 8193, i16 2742, i16 2469, i16 3150, i16 4165, i16 4166, i16 930, i16 8194, i16 8195, i16 1899, i16 4167, i16 8196, i16 0, i16 8197, i16 8198, i16 793, i16 4168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4169, i16 8199, i16 0, i16 12543, i16 12544, i16 12545, i16 6755, i16 0, i16 0, i16 3401, i16 12546, i16 0, i16 6756, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6757, i16 12547, i16 3669, i16 12548, i16 0, i16 0, i16 0, i16 0, i16 4761, i16 6758, i16 0, i16 0, i16 0, i16 6759, i16 6760, i16 0, i16 11520, i16 1644, i16 6199, i16 810, i16 11521, i16 0, i16 0, i16 0, i16 3124, i16 11522, i16 0, i16 6200, i16 0, i16 0, i16 0, i16 0, i16 2229, i16 11523, i16 6207, i16 0, i16 0, i16 6204, i16 0, i16 2610, i16 0, i16 11524, i16 0, i16 11525, i16 0, i16 6205, i16 6202, i16 1371, i16 5889, i16 0, i16 10986, i16 5892, i16 5891, i16 0, i16 0, i16 0, i16 3319, i16 5895, i16 0, i16 0, i16 0, i16 0, i16 10987, i16 0, i16 5896, i16 0, i16 10988, i16 2366, i16 10989, i16 5897, i16 0, i16 0, i16 5899, i16 0, i16 5903, i16 10990, i16 0, i16 5900, i16 5898, i16 2938, i16 6145, i16 11425, i16 0, i16 6156, i16 11426, i16 11427, i16 993, i16 0, i16 6152, i16 0, i16 6157, i16 0, i16 0, i16 0, i16 6153, i16 11428, i16 0, i16 11429, i16 11430, i16 0, i16 6150, i16 0, i16 2644, i16 0, i16 6147, i16 0, i16 0, i16 11431, i16 0, i16 0, i16 0, i16 2979, i16 11265, i16 11266, i16 11267, i16 6058, i16 11268, i16 0, i16 0, i16 0, i16 3706, i16 2815, i16 3178, i16 11269, i16 0, i16 6071, i16 0, i16 11270, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6077, i16 0, i16 11271, i16 11272, i16 11273, i16 0, i16 11274, i16 6078, i16 11275, i16 12802, i16 0, i16 6898, i16 6899, i16 12803, i16 12804, i16 6900, i16 12805, i16 0, i16 12806, i16 3018, i16 6902, i16 12807, i16 3101, i16 6903, i16 6901, i16 0, i16 6905, i16 12808, i16 12809, i16 6904, i16 12810, i16 0, i16 6906, i16 0, i16 12811, i16 12812, i16 6907, i16 0, i16 12813, i16 0, i16 12814, i16 4611, i16 0, i16 8875, i16 2404, i16 8876, i16 0, i16 0, i16 8877, i16 1961, i16 4616, i16 8878, i16 0, i16 2085, i16 0, i16 4610, i16 4615, i16 8879, i16 0, i16 2958, i16 0, i16 8880, i16 8881, i16 4609, i16 0, i16 1404, i16 8882, i16 8883, i16 1088, i16 0, i16 0, i16 8884, i16 4617, i16 4100, i16 0, i16 1753, i16 0, i16 0, i16 8052, i16 8053, i16 1358, i16 0, i16 0, i16 3306, i16 0, i16 8054, i16 8055, i16 4098, i16 4101, i16 1718, i16 1594, i16 8056, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9732, i16 0, i16 0, i16 9733, i16 0, i16 0, i16 2616, i16 2514, i16 0, i16 0, i16 0, i16 0, i16 2254, i16 0, i16 0, i16 9734, i16 5168, i16 0, i16 5170, i16 0, i16 9735, i16 0, i16 0, i16 9736, i16 0, i16 9737, i16 0, i16 0, i16 9738, i16 0, i16 5169, i16 0, i16 10244, i16 2103, i16 0, i16 0, i16 5434, i16 0, i16 10245, i16 5433, i16 5432, i16 3094, i16 10246, i16 1160, i16 1506, i16 0, i16 10247, i16 0, i16 0, i16 0, i16 10248, i16 0, i16 10249, i16 10250, i16 0, i16 10251, i16 0, i16 10252, i16 10253, i16 5440, i16 10254, i16 0, i16 5437, i16 2186, i16 7429, i16 0, i16 0, i16 7447, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3758, i16 7448, i16 0, i16 7449, i16 0, i16 7450, i16 3761, i16 3759, i16 7451, i16 0, i16 967, i16 0, i16 3216, i16 3753, i16 7452, i16 7453, i16 7454, i16 7455, i16 3757, i16 1580, i16 7456, i16 7457, i16 1819, i16 12293, i16 12294, i16 0, i16 12295, i16 2058, i16 12296, i16 0, i16 12297, i16 12298, i16 6620, i16 3252, i16 0, i16 12299, i16 891, i16 12300, i16 0, i16 12301, i16 0, i16 3133, i16 2613, i16 0, i16 0, i16 0, i16 0, i16 1303, i16 12302, i16 6622, i16 12303, i16 1652, i16 0, i16 0, i16 12304, i16 7686, i16 7687, i16 0, i16 1488, i16 1747, i16 2984, i16 7688, i16 0, i16 0, i16 3888, i16 3886, i16 0, i16 0, i16 0, i16 7689, i16 3186, i16 2135, i16 3895, i16 1095, i16 3889, i16 3887, i16 2390, i16 0, i16 7690, i16 7691, i16 7692, i16 0, i16 0, i16 0, i16 3891, i16 0, i16 3890, i16 11526, i16 6201, i16 6208, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1425, i16 0, i16 0, i16 2499, i16 0, i16 6214, i16 0, i16 0, i16 0, i16 0, i16 6210, i16 0, i16 0, i16 0, i16 2458, i16 6209, i16 11527, i16 6212, i16 11528, i16 11529, i16 11530, i16 0, i16 6203, i16 11531, i16 4103, i16 0, i16 0, i16 4114, i16 0, i16 0, i16 4115, i16 8095, i16 8096, i16 0, i16 0, i16 3351, i16 8097, i16 0, i16 2136, i16 8098, i16 0, i16 0, i16 4117, i16 4118, i16 4116, i16 8099, i16 4120, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2931, i16 8100, i16 8101, i16 817, i16 5383, i16 5384, i16 5385, i16 10177, i16 5386, i16 10178, i16 10179, i16 5382, i16 0, i16 10180, i16 0, i16 0, i16 0, i16 10181, i16 0, i16 0, i16 5388, i16 0, i16 10182, i16 10183, i16 5387, i16 10184, i16 0, i16 0, i16 10185, i16 10186, i16 10187, i16 5389, i16 10188, i16 0, i16 0, i16 0, i16 11015, i16 5917, i16 5918, i16 11016, i16 0, i16 5919, i16 0, i16 5920, i16 1338, i16 4660, i16 5921, i16 0, i16 2318, i16 5922, i16 1916, i16 11017, i16 5923, i16 0, i16 3726, i16 11018, i16 11019, i16 0, i16 5924, i16 3251, i16 1181, i16 11020, i16 11021, i16 2347, i16 2023, i16 11022, i16 3176, i16 1981, i16 5128, i16 5127, i16 5133, i16 9689, i16 2250, i16 0, i16 5124, i16 9690, i16 9691, i16 0, i16 0, i16 9692, i16 9693, i16 9694, i16 5136, i16 0, i16 9695, i16 5137, i16 9696, i16 9697, i16 9698, i16 0, i16 9699, i16 1155, i16 0, i16 0, i16 9700, i16 0, i16 0, i16 0, i16 0, i16 9701, i16 8457, i16 8458, i16 8459, i16 0, i16 8460, i16 0, i16 0, i16 0, i16 0, i16 2238, i16 8461, i16 0, i16 4318, i16 8462, i16 0, i16 1708, i16 8463, i16 0, i16 0, i16 4319, i16 0, i16 0, i16 4320, i16 0, i16 0, i16 8464, i16 8465, i16 0, i16 0, i16 0, i16 8466, i16 8467, i16 2314, i16 5617, i16 10602, i16 0, i16 3048, i16 10603, i16 5621, i16 3240, i16 10604, i16 2590, i16 10605, i16 5616, i16 5618, i16 0, i16 0, i16 5619, i16 0, i16 0, i16 0, i16 0, i16 10606, i16 0, i16 10607, i16 10608, i16 0, i16 10609, i16 10610, i16 10611, i16 0, i16 5622, i16 0, i16 0, i16 13066, i16 7038, i16 13067, i16 13068, i16 13069, i16 13070, i16 0, i16 13071, i16 7039, i16 0, i16 0, i16 7040, i16 7041, i16 0, i16 13072, i16 13073, i16 0, i16 7044, i16 7042, i16 3687, i16 0, i16 7043, i16 13074, i16 3644, i16 13075, i16 0, i16 0, i16 13076, i16 0, i16 7045, i16 13077, i16 3624, i16 4363, i16 0, i16 8531, i16 0, i16 8532, i16 8533, i16 2776, i16 1719, i16 8534, i16 0, i16 8535, i16 1540, i16 8536, i16 2702, i16 0, i16 0, i16 0, i16 8537, i16 0, i16 8538, i16 0, i16 780, i16 2045, i16 1606, i16 3510, i16 0, i16 0, i16 0, i16 0, i16 8539, i16 8540, i16 8541, i16 6667, i16 12430, i16 6668, i16 12431, i16 0, i16 0, i16 0, i16 0, i16 12432, i16 0, i16 6670, i16 12433, i16 0, i16 12434, i16 12435, i16 12436, i16 6672, i16 12437, i16 12438, i16 0, i16 0, i16 6673, i16 0, i16 6674, i16 0, i16 0, i16 0, i16 0, i16 6677, i16 6675, i16 6678, i16 6680, i16 2572, i16 9363, i16 0, i16 9364, i16 4930, i16 0, i16 9365, i16 9366, i16 0, i16 9367, i16 0, i16 9368, i16 0, i16 4928, i16 1570, i16 0, i16 4927, i16 9369, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4933, i16 0, i16 0, i16 0, i16 9370, i16 4800, i16 9371, i16 9372, i16 9373, i16 3340, i16 0, i16 2831, i16 8114, i16 8115, i16 1491, i16 2484, i16 0, i16 8116, i16 8117, i16 4119, i16 4122, i16 8119, i16 8120, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2473, i16 0, i16 0, i16 0, i16 4123, i16 0, i16 8121, i16 0, i16 4124, i16 8122, i16 8123, i16 7436, i16 0, i16 7437, i16 2674, i16 0, i16 0, i16 2533, i16 3752, i16 7438, i16 7439, i16 0, i16 7440, i16 7441, i16 789, i16 2692, i16 1994, i16 1705, i16 3475, i16 7442, i16 2483, i16 7443, i16 964, i16 7444, i16 3751, i16 7445, i16 3501, i16 3747, i16 3749, i16 1763, i16 3750, i16 4184, i16 7446, i16 11532, i16 0, i16 6213, i16 0, i16 6215, i16 0, i16 0, i16 0, i16 11533, i16 0, i16 11534, i16 3080, i16 0, i16 0, i16 6211, i16 0, i16 6216, i16 6218, i16 0, i16 0, i16 1548, i16 6206, i16 0, i16 778, i16 0, i16 0, i16 11535, i16 0, i16 0, i16 11536, i16 11537, i16 6217, i16 4109, i16 8087, i16 1595, i16 1059, i16 4111, i16 0, i16 0, i16 8089, i16 8090, i16 8091, i16 4112, i16 0, i16 8092, i16 0, i16 0, i16 0, i16 4113, i16 0, i16 0, i16 4110, i16 0, i16 0, i16 0, i16 0, i16 8093, i16 0, i16 0, i16 0, i16 0, i16 8094, i16 0, i16 0, i16 5901, i16 0, i16 5902, i16 10992, i16 0, i16 10993, i16 951, i16 0, i16 5909, i16 5904, i16 10994, i16 10991, i16 0, i16 5905, i16 10995, i16 10996, i16 0, i16 5906, i16 0, i16 2438, i16 0, i16 10997, i16 0, i16 10998, i16 5908, i16 5907, i16 5910, i16 10999, i16 0, i16 11000, i16 11001, i16 5911, i16 7693, i16 0, i16 7694, i16 1063, i16 0, i16 7695, i16 0, i16 1467, i16 3896, i16 3578, i16 7696, i16 0, i16 7697, i16 3892, i16 0, i16 0, i16 0, i16 3897, i16 3894, i16 7698, i16 3893, i16 7699, i16 7700, i16 7701, i16 7702, i16 0, i16 7703, i16 3612, i16 7704, i16 0, i16 0, i16 1586, i16 10510, i16 5545, i16 5546, i16 2148, i16 0, i16 10511, i16 0, i16 10512, i16 0, i16 5547, i16 10513, i16 1074, i16 0, i16 10514, i16 0, i16 0, i16 5549, i16 0, i16 0, i16 0, i16 1477, i16 10515, i16 1285, i16 0, i16 10516, i16 5550, i16 1394, i16 0, i16 0, i16 5551, i16 10517, i16 2341, i16 2063, i16 1318, i16 0, i16 3924, i16 0, i16 7751, i16 0, i16 7752, i16 7753, i16 7754, i16 3060, i16 7755, i16 7756, i16 7757, i16 0, i16 3925, i16 7758, i16 3926, i16 7759, i16 3927, i16 0, i16 7760, i16 0, i16 0, i16 3928, i16 3099, i16 1381, i16 814, i16 7761, i16 7762, i16 7763, i16 2844, i16 4623, i16 8891, i16 0, i16 2460, i16 4629, i16 8892, i16 4624, i16 0, i16 8893, i16 4626, i16 0, i16 0, i16 0, i16 0, i16 8894, i16 3128, i16 2708, i16 8895, i16 4627, i16 8896, i16 8897, i16 8898, i16 3483, i16 0, i16 0, i16 0, i16 3511, i16 1146, i16 8899, i16 0, i16 0, i16 0, i16 12815, i16 12816, i16 12817, i16 12818, i16 12819, i16 12820, i16 6908, i16 0, i16 12821, i16 12822, i16 0, i16 12823, i16 12824, i16 12825, i16 12826, i16 0, i16 12827, i16 0, i16 12828, i16 0, i16 0, i16 0, i16 12829, i16 0, i16 6909, i16 12830, i16 6910, i16 12831, i16 12832, i16 0, i16 0, i16 6911, i16 5648, i16 0, i16 0, i16 5645, i16 0, i16 0, i16 10645, i16 0, i16 0, i16 0, i16 10646, i16 0, i16 5644, i16 2299, i16 0, i16 5647, i16 5649, i16 10648, i16 10649, i16 10650, i16 5646, i16 10647, i16 5653, i16 0, i16 5650, i16 10651, i16 10652, i16 10653, i16 10654, i16 10655, i16 10656, i16 5651, i16 10000, i16 10001, i16 0, i16 1284, i16 10002, i16 5284, i16 3564, i16 10003, i16 0, i16 3581, i16 10004, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10005, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10006, i16 10007, i16 0, i16 0, i16 0, i16 0, i16 1297, i16 1067, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8830, i16 0, i16 1098, i16 2156, i16 4597, i16 4602, i16 0, i16 4598, i16 8831, i16 1496, i16 8832, i16 4603, i16 1781, i16 1664, i16 0, i16 0, i16 0, i16 0, i16 8833, i16 8834, i16 1973, i16 4585, i16 10769, i16 918, i16 0, i16 0, i16 2889, i16 5731, i16 0, i16 0, i16 10781, i16 5738, i16 5732, i16 5739, i16 0, i16 0, i16 0, i16 0, i16 10782, i16 10783, i16 5735, i16 0, i16 0, i16 10784, i16 0, i16 10785, i16 0, i16 0, i16 0, i16 2998, i16 10786, i16 10787, i16 1915, i16 5737, i16 12305, i16 0, i16 12306, i16 0, i16 0, i16 0, i16 1791, i16 0, i16 12307, i16 0, i16 0, i16 0, i16 0, i16 12308, i16 0, i16 6621, i16 2232, i16 12309, i16 0, i16 0, i16 12310, i16 12311, i16 0, i16 0, i16 2233, i16 6625, i16 6627, i16 0, i16 12312, i16 12313, i16 12314, i16 12315, i16 11538, i16 1744, i16 3651, i16 6219, i16 6220, i16 2428, i16 0, i16 0, i16 0, i16 0, i16 11539, i16 11540, i16 11541, i16 11542, i16 11543, i16 3567, i16 0, i16 11544, i16 11545, i16 11546, i16 6221, i16 3492, i16 0, i16 0, i16 6222, i16 6223, i16 0, i16 11547, i16 3257, i16 6224, i16 11548, i16 1717, i16 1299, i16 2766, i16 9602, i16 5080, i16 5089, i16 760, i16 857, i16 9603, i16 0, i16 958, i16 0, i16 5082, i16 2449, i16 5073, i16 5075, i16 1624, i16 0, i16 0, i16 9604, i16 0, i16 0, i16 0, i16 9605, i16 0, i16 5092, i16 9606, i16 5087, i16 9607, i16 9608, i16 0, i16 5079, i16 0, i16 2323, i16 7769, i16 0, i16 7770, i16 0, i16 7771, i16 1424, i16 0, i16 0, i16 3937, i16 0, i16 0, i16 7772, i16 7773, i16 3938, i16 851, i16 830, i16 1198, i16 7774, i16 2445, i16 1264, i16 3552, i16 0, i16 3941, i16 956, i16 7775, i16 0, i16 3940, i16 0, i16 0, i16 7776, i16 1319, i16 7188, i16 7173, i16 7187, i16 7239, i16 7324, i16 7241, i16 7326, i16 7240, i16 7325, i16 7189, i16 7175, i16 7190, i16 7249, i16 7334, i16 0, i16 0, i16 7248, i16 7333, i16 7177, i16 7192, i16 7251, i16 7336, i16 7253, i16 7338, i16 7252, i16 7337, i16 7254, i16 7339, i16 7255, i16 7340, i16 7257, i16 7342, i16 6165, i16 11458, i16 0, i16 0, i16 6169, i16 0, i16 6172, i16 6171, i16 11459, i16 11460, i16 11461, i16 6163, i16 0, i16 0, i16 11462, i16 0, i16 6166, i16 0, i16 6183, i16 0, i16 0, i16 11463, i16 11464, i16 0, i16 0, i16 11465, i16 11466, i16 0, i16 11467, i16 0, i16 0, i16 11468, i16 2582, i16 0, i16 5005, i16 0, i16 0, i16 0, i16 0, i16 9550, i16 5013, i16 0, i16 5006, i16 9499, i16 0, i16 9500, i16 0, i16 9501, i16 2470, i16 0, i16 1281, i16 5014, i16 9502, i16 0, i16 9503, i16 0, i16 9504, i16 9505, i16 1475, i16 9506, i16 0, i16 1220, i16 5012, i16 0, i16 10518, i16 2858, i16 10519, i16 2313, i16 1770, i16 10520, i16 10521, i16 0, i16 5552, i16 0, i16 10522, i16 10523, i16 0, i16 0, i16 0, i16 0, i16 10524, i16 10525, i16 2597, i16 2418, i16 10526, i16 5554, i16 5556, i16 5553, i16 5555, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10527, i16 1405, i16 12054, i16 12055, i16 12056, i16 2878, i16 0, i16 12057, i16 3297, i16 0, i16 6553, i16 0, i16 1930, i16 0, i16 0, i16 0, i16 0, i16 6554, i16 12058, i16 6555, i16 12059, i16 12060, i16 12061, i16 6556, i16 12062, i16 0, i16 2720, i16 0, i16 0, i16 0, i16 0, i16 12063, i16 12065, i16 0, i16 11287, i16 0, i16 11288, i16 0, i16 6066, i16 11289, i16 2349, i16 11290, i16 6070, i16 1786, i16 2192, i16 1419, i16 3461, i16 11304, i16 3466, i16 2049, i16 0, i16 0, i16 0, i16 0, i16 11291, i16 0, i16 11292, i16 11293, i16 11294, i16 6083, i16 6081, i16 0, i16 11295, i16 11296, i16 11297, i16 11298, i16 3864, i16 3345, i16 7657, i16 0, i16 0, i16 7658, i16 2039, i16 2529, i16 0, i16 3866, i16 2881, i16 0, i16 0, i16 3867, i16 7659, i16 0, i16 3868, i16 1041, i16 7660, i16 7661, i16 7662, i16 3869, i16 1316, i16 7663, i16 2857, i16 929, i16 2015, i16 0, i16 0, i16 3002, i16 3870, i16 0, i16 5912, i16 11002, i16 0, i16 2190, i16 11003, i16 1006, i16 0, i16 5913, i16 3620, i16 0, i16 1884, i16 11004, i16 11005, i16 1980, i16 0, i16 0, i16 11006, i16 11007, i16 11008, i16 1853, i16 2586, i16 11009, i16 11010, i16 0, i16 11011, i16 11012, i16 5914, i16 5915, i16 856, i16 11013, i16 5916, i16 11014, i16 6936, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12883, i16 12884, i16 6937, i16 12885, i16 3361, i16 1792, i16 12886, i16 1775, i16 2358, i16 0, i16 12887, i16 12888, i16 12889, i16 0, i16 6938, i16 0, i16 0, i16 12890, i16 12891, i16 6941, i16 0, i16 12892, i16 12893, i16 0, i16 12894, i16 12895, i16 7960, i16 7961, i16 868, i16 7962, i16 7963, i16 0, i16 7964, i16 0, i16 0, i16 7965, i16 0, i16 7966, i16 2368, i16 7967, i16 4049, i16 7968, i16 4050, i16 0, i16 0, i16 0, i16 7969, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1117, i16 0, i16 0, i16 7970, i16 0, i16 2842, i16 1323, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1002, i16 4296, i16 4301, i16 0, i16 0, i16 4299, i16 8430, i16 3276, i16 3275, i16 8431, i16 8432, i16 0, i16 8433, i16 0, i16 2790, i16 0, i16 0, i16 0, i16 4298, i16 2019, i16 0, i16 4297, i16 0, i16 0, i16 12570, i16 6777, i16 0, i16 0, i16 1110, i16 6775, i16 6779, i16 0, i16 0, i16 12571, i16 0, i16 6780, i16 0, i16 785, i16 0, i16 6781, i16 6782, i16 0, i16 0, i16 0, i16 0, i16 12572, i16 12573, i16 12574, i16 2129, i16 12575, i16 12576, i16 0, i16 6783, i16 0, i16 12577, i16 12578, i16 4891, i16 9304, i16 0, i16 0, i16 0, i16 9305, i16 9306, i16 4888, i16 9307, i16 0, i16 0, i16 9308, i16 0, i16 9309, i16 4876, i16 9310, i16 0, i16 4905, i16 4875, i16 0, i16 4894, i16 0, i16 0, i16 9311, i16 9312, i16 0, i16 9313, i16 4886, i16 9314, i16 0, i16 4881, i16 4878, i16 6939, i16 12896, i16 0, i16 0, i16 0, i16 0, i16 6942, i16 12897, i16 12898, i16 1578, i16 6940, i16 0, i16 0, i16 0, i16 12899, i16 6943, i16 12900, i16 6944, i16 6945, i16 0, i16 6949, i16 0, i16 1789, i16 12901, i16 12902, i16 0, i16 0, i16 2505, i16 0, i16 12903, i16 0, i16 12904, i16 7197, i16 7196, i16 7199, i16 7205, i16 7198, i16 7204, i16 7169, i16 7209, i16 7213, i16 7212, i16 7215, i16 7214, i16 7226, i16 7225, i16 7228, i16 7227, i16 0, i16 7242, i16 7244, i16 7243, i16 7246, i16 7250, i16 7245, i16 284, i16 7176, i16 7261, i16 7260, i16 7263, i16 7262, i16 7276, i16 7179, i16 7193, i16 8734, i16 0, i16 3376, i16 1144, i16 0, i16 4514, i16 0, i16 1440, i16 1047, i16 0, i16 0, i16 4511, i16 8735, i16 0, i16 3589, i16 4513, i16 799, i16 4515, i16 8736, i16 4506, i16 4512, i16 4519, i16 1439, i16 4507, i16 8737, i16 0, i16 0, i16 8738, i16 8739, i16 0, i16 3532, i16 8740, i16 287, i16 350, i16 0, i16 0, i16 0, i16 0, i16 290, i16 291, i16 0, i16 0, i16 352, i16 353, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1311, i16 966, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4185, i16 0, i16 3372, i16 3173, i16 1581, i16 0, i16 0, i16 7475, i16 0, i16 0, i16 2170, i16 3588, i16 7476, i16 0, i16 7477, i16 0, i16 7478, i16 7479, i16 7480, i16 7481, i16 3245, i16 5407, i16 10207, i16 0, i16 5408, i16 2729, i16 10208, i16 1034, i16 1627, i16 5409, i16 0, i16 0, i16 5410, i16 10209, i16 10210, i16 5411, i16 0, i16 1788, i16 0, i16 0, i16 5413, i16 0, i16 10211, i16 5412, i16 0, i16 0, i16 5414, i16 5415, i16 10212, i16 10213, i16 10214, i16 0, i16 10215, i16 8479, i16 0, i16 4324, i16 0, i16 0, i16 0, i16 0, i16 8480, i16 0, i16 0, i16 0, i16 8481, i16 4326, i16 0, i16 4327, i16 0, i16 8482, i16 0, i16 12526, i16 0, i16 8483, i16 0, i16 0, i16 4330, i16 8484, i16 8485, i16 3635, i16 0, i16 4331, i16 4328, i16 0, i16 0, i16 11039, i16 0, i16 5936, i16 11040, i16 5935, i16 0, i16 1168, i16 11041, i16 5937, i16 0, i16 5938, i16 5939, i16 0, i16 11042, i16 1702, i16 3606, i16 0, i16 5941, i16 2162, i16 0, i16 11043, i16 0, i16 919, i16 5942, i16 5943, i16 0, i16 0, i16 11044, i16 0, i16 11045, i16 5944, i16 11046, i16 2080, i16 4375, i16 4374, i16 4370, i16 0, i16 8552, i16 0, i16 0, i16 4376, i16 4377, i16 0, i16 8553, i16 4378, i16 0, i16 0, i16 0, i16 4381, i16 4379, i16 0, i16 4380, i16 4382, i16 0, i16 907, i16 2703, i16 4383, i16 0, i16 1493, i16 1019, i16 2929, i16 0, i16 4384, i16 2904, i16 6176, i16 0, i16 11469, i16 11470, i16 11471, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11472, i16 11473, i16 0, i16 11474, i16 0, i16 6174, i16 0, i16 11475, i16 6175, i16 11476, i16 0, i16 0, i16 6180, i16 6181, i16 11477, i16 1037, i16 11478, i16 1249, i16 0, i16 0, i16 6179, i16 11479, i16 6688, i16 12452, i16 1177, i16 1080, i16 1653, i16 3023, i16 12453, i16 6690, i16 6689, i16 12454, i16 0, i16 12455, i16 12456, i16 6691, i16 0, i16 0, i16 0, i16 0, i16 899, i16 0, i16 12457, i16 0, i16 12458, i16 0, i16 0, i16 6694, i16 12459, i16 6693, i16 6692, i16 12460, i16 6695, i16 12461, i16 10528, i16 0, i16 0, i16 10529, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5557, i16 1409, i16 0, i16 10530, i16 0, i16 1286, i16 3521, i16 5559, i16 0, i16 0, i16 10531, i16 0, i16 10532, i16 5560, i16 0, i16 0, i16 10533, i16 853, i16 10534, i16 10535, i16 0, i16 0, i16 5563, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 12833, i16 0, i16 6912, i16 6913, i16 0, i16 6914, i16 12834, i16 6915, i16 6916, i16 6917, i16 6918, i16 12835, i16 0, i16 12836, i16 6919, i16 6920, i16 0, i16 4953, i16 6921, i16 12837, i16 12838, i16 12839, i16 0, i16 12840, i16 0, i16 12841, i16 12842, i16 5678, i16 1235, i16 12843, i16 0, i16 0, i16 4130, i16 0, i16 0, i16 9454, i16 9455, i16 1218, i16 4988, i16 0, i16 0, i16 9456, i16 0, i16 4989, i16 9457, i16 3265, i16 3355, i16 0, i16 0, i16 0, i16 2852, i16 4990, i16 3071, i16 0, i16 9458, i16 0, i16 3092, i16 0, i16 9459, i16 3428, i16 0, i16 0, i16 0, i16 4991, i16 7202, i16 7288, i16 7200, i16 7286, i16 7203, i16 7289, i16 7206, i16 7292, i16 7207, i16 7293, i16 7210, i16 7296, i16 7208, i16 7294, i16 7211, i16 7297, i16 7170, i16 7181, i16 7218, i16 7304, i16 0, i16 0, i16 7217, i16 7303, i16 7219, i16 7305, i16 7216, i16 7302, i16 7220, i16 7307, i16 7221, i16 7308, i16 7971, i16 7972, i16 7973, i16 7974, i16 4057, i16 0, i16 7975, i16 0, i16 1200, i16 7976, i16 4060, i16 4056, i16 4059, i16 7977, i16 0, i16 7978, i16 0, i16 7979, i16 7980, i16 0, i16 3203, i16 7981, i16 0, i16 0, i16 2866, i16 0, i16 3025, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10788, i16 5734, i16 5740, i16 5733, i16 0, i16 0, i16 2003, i16 10789, i16 10790, i16 0, i16 0, i16 3288, i16 10791, i16 10792, i16 2011, i16 10793, i16 0, i16 5736, i16 5748, i16 10794, i16 0, i16 5744, i16 10795, i16 5747, i16 0, i16 5745, i16 5749, i16 5743, i16 0, i16 5717, i16 2300, i16 10796, i16 7717, i16 3904, i16 0, i16 3337, i16 7718, i16 2653, i16 7719, i16 3477, i16 7720, i16 3246, i16 0, i16 0, i16 7721, i16 3905, i16 0, i16 7722, i16 0, i16 7723, i16 6771, i16 0, i16 7724, i16 2829, i16 7725, i16 3906, i16 1131, i16 3396, i16 0, i16 7726, i16 7727, i16 2062, i16 3907, i16 3260, i16 8741, i16 8742, i16 3482, i16 8743, i16 8744, i16 0, i16 0, i16 4522, i16 0, i16 0, i16 4526, i16 8745, i16 0, i16 8746, i16 2437, i16 0, i16 3654, i16 4527, i16 8747, i16 8748, i16 4524, i16 0, i16 4521, i16 8749, i16 8750, i16 4520, i16 4525, i16 0, i16 8751, i16 8752, i16 0, i16 8753, i16 10021, i16 5294, i16 0, i16 10022, i16 10023, i16 0, i16 10024, i16 10025, i16 0, i16 0, i16 0, i16 10026, i16 0, i16 10027, i16 0, i16 0, i16 0, i16 10028, i16 10029, i16 0, i16 0, i16 5290, i16 0, i16 10030, i16 0, i16 5293, i16 1571, i16 884, i16 5295, i16 10031, i16 2235, i16 5292, i16 295, i16 0, i16 294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5671, i16 0, i16 5673, i16 0, i16 10682, i16 5672, i16 0, i16 10683, i16 10684, i16 10685, i16 1547, i16 0, i16 0, i16 10686, i16 2367, i16 10687, i16 0, i16 0, i16 5675, i16 10688, i16 10689, i16 10690, i16 2811, i16 10691, i16 5674, i16 10692, i16 10693, i16 0, i16 5676, i16 10694, i16 3210, i16 2419, i16 10279, i16 2226, i16 10280, i16 2849, i16 10281, i16 5448, i16 3334, i16 10282, i16 5445, i16 0, i16 10283, i16 5446, i16 10284, i16 0, i16 0, i16 0, i16 10285, i16 0, i16 10286, i16 10287, i16 10288, i16 0, i16 0, i16 0, i16 0, i16 5451, i16 10289, i16 0, i16 0, i16 10290, i16 5450, i16 5449, i16 11047, i16 11048, i16 0, i16 11049, i16 11050, i16 0, i16 0, i16 11051, i16 0, i16 11052, i16 11053, i16 827, i16 0, i16 5945, i16 11054, i16 0, i16 0, i16 11055, i16 5946, i16 0, i16 11056, i16 0, i16 11057, i16 0, i16 11058, i16 3166, i16 11059, i16 11060, i16 0, i16 1912, i16 0, i16 5948, i16 2600, i16 0, i16 10266, i16 0, i16 0, i16 10267, i16 10268, i16 5443, i16 0, i16 0, i16 10269, i16 0, i16 0, i16 10270, i16 10271, i16 10272, i16 0, i16 0, i16 10273, i16 0, i16 0, i16 0, i16 10274, i16 10275, i16 0, i16 0, i16 5444, i16 5447, i16 10276, i16 0, i16 10277, i16 10278, i16 3625, i16 0, i16 10032, i16 5298, i16 7098, i16 0, i16 10033, i16 10034, i16 10035, i16 5296, i16 5299, i16 10036, i16 0, i16 10037, i16 10038, i16 5285, i16 5297, i16 10039, i16 10040, i16 1713, i16 0, i16 0, i16 5300, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5301, i16 0, i16 5929, i16 0, i16 0, i16 11029, i16 11030, i16 11031, i16 11032, i16 2715, i16 0, i16 0, i16 0, i16 11033, i16 0, i16 0, i16 11034, i16 11035, i16 0, i16 11036, i16 0, i16 0, i16 0, i16 0, i16 11037, i16 0, i16 5931, i16 5930, i16 5933, i16 0, i16 11038, i16 5932, i16 0, i16 5934, i16 2604, i16 8623, i16 8624, i16 0, i16 4424, i16 0, i16 0, i16 0, i16 8625, i16 8626, i16 8627, i16 1020, i16 8628, i16 8629, i16 8630, i16 8631, i16 4475, i16 4426, i16 8632, i16 8633, i16 0, i16 2923, i16 8634, i16 0, i16 4425, i16 0, i16 8635, i16 4423, i16 8636, i16 1681, i16 0, i16 4429, i16 6444, i16 11900, i16 11901, i16 6446, i16 6443, i16 0, i16 0, i16 0, i16 0, i16 11902, i16 0, i16 0, i16 11903, i16 11904, i16 0, i16 11905, i16 11906, i16 11907, i16 6449, i16 0, i16 1986, i16 0, i16 6448, i16 0, i16 0, i16 11908, i16 11909, i16 11910, i16 6450, i16 0, i16 0, i16 0, i16 11308, i16 0, i16 0, i16 0, i16 2816, i16 6087, i16 11309, i16 0, i16 11310, i16 3046, i16 6074, i16 0, i16 0, i16 11311, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11312, i16 0, i16 0, i16 11313, i16 2050, i16 0, i16 6089, i16 6094, i16 2427, i16 11314, i16 0, i16 6093, i16 11315, i16 8493, i16 2035, i16 0, i16 2410, i16 8494, i16 1600, i16 1709, i16 1601, i16 1295, i16 8495, i16 0, i16 4338, i16 0, i16 0, i16 1710, i16 0, i16 0, i16 1539, i16 4339, i16 3383, i16 2942, i16 4340, i16 0, i16 1602, i16 8496, i16 8497, i16 0, i16 1133, i16 0, i16 2538, i16 1359, i16 0, i16 11566, i16 0, i16 0, i16 0, i16 0, i16 6237, i16 11567, i16 11568, i16 11569, i16 0, i16 6238, i16 6239, i16 0, i16 0, i16 0, i16 0, i16 11570, i16 11571, i16 11572, i16 0, i16 0, i16 11573, i16 6243, i16 0, i16 6244, i16 11574, i16 11575, i16 6242, i16 0, i16 0, i16 11576, i16 0, i16 3377, i16 0, i16 5093, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3015, i16 9629, i16 0, i16 5105, i16 1524, i16 0, i16 0, i16 9630, i16 0, i16 0, i16 2031, i16 0, i16 5095, i16 9631, i16 0, i16 0, i16 3580, i16 1625, i16 0, i16 5108, i16 8498, i16 0, i16 1831, i16 3154, i16 0, i16 0, i16 3034, i16 8499, i16 0, i16 0, i16 0, i16 4341, i16 1206, i16 8500, i16 0, i16 0, i16 0, i16 4344, i16 8501, i16 0, i16 8502, i16 8503, i16 2626, i16 0, i16 8504, i16 4343, i16 4342, i16 4345, i16 0, i16 2700, i16 0, i16 8505, i16 8754, i16 0, i16 0, i16 0, i16 3205, i16 8755, i16 0, i16 2833, i16 8756, i16 1441, i16 8757, i16 4528, i16 4523, i16 8758, i16 4529, i16 0, i16 0, i16 0, i16 1494, i16 0, i16 0, i16 0, i16 950, i16 0, i16 8759, i16 8760, i16 4537, i16 0, i16 8761, i16 0, i16 1145, i16 0, i16 10291, i16 0, i16 0, i16 0, i16 10292, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5453, i16 10293, i16 10294, i16 5452, i16 0, i16 0, i16 5454, i16 0, i16 0, i16 10295, i16 10296, i16 10297, i16 0, i16 0, i16 0, i16 10298, i16 0, i16 0, i16 0, i16 5456, i16 10299, i16 308, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 267, i16 253, i16 268, i16 237, i16 239, i16 11316, i16 0, i16 6062, i16 0, i16 11317, i16 11318, i16 6095, i16 2384, i16 0, i16 0, i16 6090, i16 6092, i16 0, i16 11319, i16 11320, i16 0, i16 11321, i16 11322, i16 11323, i16 6091, i16 0, i16 0, i16 4949, i16 4934, i16 11324, i16 11325, i16 6097, i16 11326, i16 0, i16 0, i16 11327, i16 0, i16 821, i16 2621, i16 7367, i16 1896, i16 7368, i16 7369, i16 0, i16 3375, i16 2131, i16 1795, i16 2130, i16 961, i16 7370, i16 3147, i16 3502, i16 0, i16 3712, i16 854, i16 7371, i16 0, i16 1105, i16 3713, i16 2253, i16 3932, i16 1269, i16 3215, i16 0, i16 0, i16 0, i16 0, i16 2132, i16 7372, i16 4661, i16 4662, i16 2726, i16 4664, i16 8975, i16 8976, i16 1783, i16 4659, i16 0, i16 8977, i16 8978, i16 0, i16 1243, i16 8979, i16 0, i16 4665, i16 8980, i16 4658, i16 4669, i16 0, i16 4668, i16 8981, i16 4667, i16 8982, i16 0, i16 0, i16 4670, i16 8983, i16 0, i16 4672, i16 2142, i16 8984, i16 9013, i16 0, i16 1147, i16 1801, i16 0, i16 0, i16 2869, i16 9014, i16 0, i16 0, i16 0, i16 9015, i16 1444, i16 0, i16 0, i16 0, i16 2239, i16 0, i16 4692, i16 0, i16 2265, i16 2727, i16 0, i16 3158, i16 4693, i16 0, i16 9016, i16 0, i16 0, i16 9017, i16 0, i16 0, i16 11061, i16 11062, i16 0, i16 11063, i16 11064, i16 1036, i16 763, i16 11065, i16 11066, i16 11067, i16 11068, i16 5947, i16 5950, i16 2953, i16 11069, i16 2191, i16 11070, i16 987, i16 11071, i16 3290, i16 11072, i16 0, i16 0, i16 11073, i16 1464, i16 1369, i16 11074, i16 5949, i16 11075, i16 1007, i16 11076, i16 11077, i16 7223, i16 7309, i16 7222, i16 0, i16 7224, i16 7310, i16 7171, i16 7183, i16 7233, i16 7318, i16 7231, i16 7316, i16 0, i16 0, i16 7232, i16 7317, i16 7230, i16 7184, i16 7172, i16 7185, i16 7234, i16 7319, i16 7235, i16 7320, i16 7186, i16 7236, i16 7321, i16 7238, i16 7323, i16 7237, i16 7322, i16 7174, i16 12087, i16 0, i16 6561, i16 0, i16 12088, i16 12089, i16 12090, i16 0, i16 12091, i16 0, i16 0, i16 0, i16 0, i16 12092, i16 0, i16 0, i16 12093, i16 0, i16 6562, i16 0, i16 12094, i16 0, i16 12095, i16 12096, i16 12097, i16 6563, i16 12098, i16 0, i16 12099, i16 0, i16 12100, i16 0, i16 10041, i16 10042, i16 0, i16 3565, i16 0, i16 10043, i16 10044, i16 10045, i16 0, i16 10046, i16 0, i16 5302, i16 0, i16 0, i16 0, i16 10047, i16 10048, i16 10049, i16 10050, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10051, i16 10052, i16 10053, i16 0, i16 10054, i16 0, i16 5303, i16 10055, i16 11577, i16 6240, i16 11578, i16 6235, i16 6241, i16 11579, i16 11580, i16 0, i16 0, i16 11581, i16 0, i16 0, i16 6245, i16 6741, i16 0, i16 11582, i16 0, i16 0, i16 11583, i16 0, i16 0, i16 0, i16 941, i16 11584, i16 0, i16 0, i16 11585, i16 11586, i16 11587, i16 0, i16 6248, i16 1372, i16 7482, i16 7483, i16 1427, i16 2442, i16 1001, i16 7484, i16 7485, i16 0, i16 7486, i16 7487, i16 2018, i16 7488, i16 7489, i16 7490, i16 3767, i16 7491, i16 3772, i16 3770, i16 7492, i16 0, i16 3765, i16 0, i16 0, i16 2452, i16 3768, i16 0, i16 3771, i16 3769, i16 7493, i16 3250, i16 0, i16 3766, i16 8506, i16 0, i16 0, i16 0, i16 0, i16 2222, i16 0, i16 0, i16 8508, i16 0, i16 0, i16 1832, i16 0, i16 2291, i16 8507, i16 2488, i16 1217, i16 0, i16 8509, i16 2627, i16 0, i16 8510, i16 4346, i16 4347, i16 2140, i16 0, i16 0, i16 0, i16 0, i16 3308, i16 8511, i16 0, i16 8762, i16 8763, i16 8764, i16 4535, i16 0, i16 0, i16 4536, i16 1694, i16 4534, i16 4532, i16 4531, i16 4538, i16 4530, i16 4540, i16 8765, i16 8766, i16 1024, i16 0, i16 0, i16 0, i16 0, i16 8767, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8768, i16 8769, i16 8770, i16 8771, i16 7739, i16 3449, i16 2900, i16 7740, i16 0, i16 3270, i16 3916, i16 0, i16 3917, i16 0, i16 7741, i16 7742, i16 7743, i16 3919, i16 0, i16 3921, i16 3920, i16 7744, i16 0, i16 7745, i16 0, i16 3922, i16 962, i16 3327, i16 7746, i16 1777, i16 3923, i16 7747, i16 7748, i16 2400, i16 7749, i16 7750, i16 9531, i16 3285, i16 2947, i16 1282, i16 0, i16 2724, i16 0, i16 9532, i16 2608, i16 9533, i16 5031, i16 9534, i16 9535, i16 0, i16 9536, i16 5029, i16 2494, i16 5018, i16 9537, i16 882, i16 9538, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2108, i16 5574, i16 5575, i16 2022, i16 0, i16 2837, i16 5576, i16 0, i16 10542, i16 10543, i16 2539, i16 10544, i16 10545, i16 5577, i16 0, i16 2559, i16 5578, i16 10546, i16 0, i16 0, i16 10547, i16 0, i16 1314, i16 0, i16 3835, i16 2592, i16 1892, i16 10548, i16 0, i16 10549, i16 10550, i16 1161, i16 11836, i16 0, i16 0, i16 1954, i16 0, i16 0, i16 11837, i16 0, i16 2241, i16 0, i16 0, i16 11838, i16 11839, i16 0, i16 0, i16 11840, i16 0, i16 0, i16 11841, i16 2450, i16 0, i16 11842, i16 0, i16 11843, i16 0, i16 11844, i16 6413, i16 11845, i16 11863, i16 0, i16 6412, i16 0, i16 318, i16 317, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 320, i16 319, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 322, i16 321, i16 0, i16 0, i16 4671, i16 8985, i16 0, i16 0, i16 8986, i16 4675, i16 0, i16 0, i16 8987, i16 8988, i16 8989, i16 0, i16 0, i16 0, i16 0, i16 8990, i16 0, i16 0, i16 0, i16 8991, i16 8992, i16 0, i16 8993, i16 0, i16 4673, i16 8994, i16 0, i16 8995, i16 4674, i16 4636, i16 8996, i16 8997, i16 9791, i16 3398, i16 0, i16 0, i16 0, i16 0, i16 2100, i16 0, i16 0, i16 0, i16 0, i16 9792, i16 0, i16 9793, i16 0, i16 9794, i16 9795, i16 9796, i16 0, i16 0, i16 0, i16 0, i16 2362, i16 0, i16 9797, i16 0, i16 0, i16 0, i16 2099, i16 0, i16 0, i16 0, i16 6976, i16 0, i16 0, i16 12957, i16 0, i16 0, i16 0, i16 6977, i16 12962, i16 12958, i16 12959, i16 12961, i16 0, i16 0, i16 12963, i16 0, i16 12964, i16 0, i16 12965, i16 0, i16 0, i16 12966, i16 6978, i16 12967, i16 6979, i16 0, i16 0, i16 12968, i16 0, i16 0, i16 0, i16 0, i16 8256, i16 795, i16 0, i16 748, i16 8257, i16 0, i16 0, i16 0, i16 0, i16 4198, i16 0, i16 0, i16 8258, i16 8259, i16 8260, i16 0, i16 0, i16 4196, i16 8261, i16 8262, i16 0, i16 0, i16 0, i16 0, i16 3405, i16 0, i16 4199, i16 0, i16 4197, i16 0, i16 8263, i16 4195, i16 12352, i16 12353, i16 12354, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12355, i16 0, i16 12356, i16 12357, i16 1116, i16 12358, i16 0, i16 12359, i16 0, i16 0, i16 12360, i16 0, i16 6640, i16 12361, i16 1716, i16 2432, i16 12362, i16 0, i16 2667, i16 12363, i16 0, i16 0, i16 12364, i16 0, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 0, i16 0, i16 0, i16 0, i16 227, i16 249, i16 240, i16 241, i16 0, i16 833, i16 8016, i16 0, i16 2567, i16 8017, i16 8018, i16 8019, i16 8020, i16 8021, i16 0, i16 0, i16 8023, i16 0, i16 8024, i16 4081, i16 0, i16 1689, i16 8022, i16 792, i16 2217, i16 0, i16 0, i16 8025, i16 8026, i16 0, i16 4082, i16 1536, i16 0, i16 0, i16 1672, i16 0, i16 4084, i16 1089, i16 0, i16 0, i16 10554, i16 0, i16 2213, i16 3163, i16 10555, i16 5588, i16 10556, i16 10557, i16 10558, i16 2509, i16 10559, i16 10560, i16 10561, i16 10562, i16 10563, i16 0, i16 5583, i16 10564, i16 5587, i16 5589, i16 0, i16 0, i16 1776, i16 0, i16 0, i16 0, i16 10565, i16 0, i16 10566, i16 4929, i16 0, i16 4931, i16 4932, i16 0, i16 9374, i16 0, i16 0, i16 0, i16 0, i16 4944, i16 9375, i16 4940, i16 0, i16 4821, i16 9376, i16 9377, i16 9378, i16 0, i16 4939, i16 9379, i16 0, i16 0, i16 0, i16 4938, i16 0, i16 0, i16 4935, i16 0, i16 9380, i16 9381, i16 9382, i16 9025, i16 767, i16 0, i16 9026, i16 1361, i16 2294, i16 9027, i16 3159, i16 0, i16 0, i16 0, i16 4699, i16 1813, i16 2570, i16 9028, i16 1838, i16 2178, i16 0, i16 9029, i16 9030, i16 9031, i16 0, i16 0, i16 4700, i16 0, i16 3282, i16 0, i16 0, i16 926, i16 1839, i16 0, i16 9032, i16 12609, i16 12611, i16 0, i16 0, i16 12612, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6794, i16 2910, i16 12613, i16 0, i16 12614, i16 6796, i16 960, i16 12615, i16 6799, i16 6798, i16 12616, i16 12617, i16 0, i16 12618, i16 843, i16 0, i16 0, i16 0, i16 1342, i16 4418, i16 1567, i16 8603, i16 0, i16 8606, i16 0, i16 0, i16 8604, i16 4419, i16 3187, i16 2026, i16 8605, i16 8607, i16 4420, i16 3090, i16 8608, i16 8609, i16 8610, i16 0, i16 2846, i16 2632, i16 0, i16 0, i16 0, i16 8611, i16 2735, i16 0, i16 0, i16 4421, i16 1226, i16 0, i16 0, i16 3395, i16 0, i16 10255, i16 0, i16 5436, i16 5438, i16 5439, i16 0, i16 10256, i16 5435, i16 0, i16 0, i16 0, i16 10257, i16 10258, i16 10259, i16 0, i16 0, i16 0, i16 0, i16 10260, i16 10261, i16 10262, i16 5441, i16 5442, i16 10263, i16 2640, i16 0, i16 1188, i16 10264, i16 10265, i16 0, i16 12868, i16 0, i16 0, i16 6931, i16 12869, i16 12870, i16 12871, i16 12872, i16 0, i16 12873, i16 12874, i16 12875, i16 0, i16 12876, i16 775, i16 12877, i16 12878, i16 6932, i16 3200, i16 6930, i16 12879, i16 0, i16 6933, i16 6934, i16 0, i16 0, i16 12880, i16 0, i16 0, i16 12881, i16 12882, i16 6935, i16 12101, i16 0, i16 12103, i16 12104, i16 0, i16 12102, i16 0, i16 12105, i16 0, i16 12106, i16 0, i16 0, i16 0, i16 2721, i16 12107, i16 12108, i16 6565, i16 12109, i16 6564, i16 0, i16 12110, i16 0, i16 12111, i16 12112, i16 0, i16 12113, i16 12114, i16 0, i16 12115, i16 12116, i16 0, i16 0, i16 1350, i16 4271, i16 0, i16 0, i16 0, i16 1294, i16 4272, i16 0, i16 1403, i16 0, i16 2860, i16 949, i16 0, i16 1830, i16 4273, i16 4276, i16 4275, i16 1402, i16 0, i16 4274, i16 0, i16 2743, i16 0, i16 0, i16 0, i16 8393, i16 8394, i16 0, i16 8395, i16 0, i16 2453, i16 0, i16 7494, i16 2169, i16 7495, i16 3366, i16 3773, i16 3774, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1971, i16 3787, i16 7496, i16 0, i16 7497, i16 2955, i16 0, i16 3117, i16 3782, i16 0, i16 3269, i16 0, i16 955, i16 0, i16 7498, i16 7499, i16 3786, i16 7500, i16 11846, i16 0, i16 6411, i16 0, i16 0, i16 11847, i16 11848, i16 11849, i16 11850, i16 0, i16 11851, i16 6419, i16 6417, i16 0, i16 11852, i16 6414, i16 0, i16 11853, i16 0, i16 0, i16 11854, i16 11855, i16 6416, i16 11856, i16 0, i16 11857, i16 6415, i16 6418, i16 0, i16 1302, i16 0, i16 6422, i16 3911, i16 7728, i16 2259, i16 3908, i16 1357, i16 7729, i16 3909, i16 1132, i16 7730, i16 7731, i16 7732, i16 0, i16 7733, i16 0, i16 0, i16 0, i16 7734, i16 7735, i16 1417, i16 3912, i16 7736, i16 3913, i16 7737, i16 7738, i16 3914, i16 3915, i16 1932, i16 0, i16 0, i16 0, i16 1588, i16 3439, i16 10567, i16 10568, i16 0, i16 0, i16 0, i16 5596, i16 3109, i16 10569, i16 3007, i16 2808, i16 0, i16 1367, i16 5595, i16 5593, i16 10570, i16 3022, i16 5590, i16 2593, i16 2810, i16 0, i16 2809, i16 10571, i16 1771, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5614, i16 0, i16 0, i16 10056, i16 10057, i16 5283, i16 10058, i16 0, i16 0, i16 10059, i16 5304, i16 10060, i16 10061, i16 10062, i16 10063, i16 0, i16 0, i16 10064, i16 10065, i16 1157, i16 10066, i16 10067, i16 0, i16 0, i16 10068, i16 0, i16 0, i16 0, i16 10069, i16 0, i16 10070, i16 0, i16 1878, i16 0, i16 10071, i16 11336, i16 8188, i16 11337, i16 0, i16 0, i16 0, i16 11338, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6100, i16 1552, i16 0, i16 1267, i16 0, i16 11339, i16 11340, i16 6102, i16 3865, i16 11341, i16 11342, i16 11343, i16 11344, i16 1300, i16 0, i16 3591, i16 11345, i16 1392, i16 6103, i16 842, i16 0, i16 0, i16 3622, i16 12516, i16 12517, i16 12518, i16 6729, i16 6544, i16 12519, i16 6728, i16 0, i16 0, i16 0, i16 12520, i16 12521, i16 6732, i16 6730, i16 6731, i16 12522, i16 6733, i16 0, i16 6734, i16 3641, i16 6735, i16 6736, i16 12523, i16 2290, i16 3028, i16 0, i16 0, i16 0, i16 11082, i16 5951, i16 11083, i16 5952, i16 11084, i16 1940, i16 1385, i16 2618, i16 11085, i16 0, i16 11086, i16 2862, i16 0, i16 11087, i16 0, i16 11088, i16 0, i16 888, i16 0, i16 5956, i16 5955, i16 0, i16 11089, i16 11090, i16 0, i16 5961, i16 5957, i16 5960, i16 0, i16 11091, i16 11092, i16 0, i16 2892, i16 4870, i16 2887, i16 9286, i16 9287, i16 9288, i16 9289, i16 0, i16 9290, i16 9291, i16 4874, i16 4861, i16 9292, i16 1349, i16 4864, i16 2028, i16 9293, i16 9294, i16 9295, i16 2971, i16 4866, i16 1352, i16 0, i16 4858, i16 4860, i16 4857, i16 9296, i16 9297, i16 3675, i16 1085, i16 4863, i16 9298, i16 10316, i16 0, i16 3457, i16 5469, i16 10317, i16 2577, i16 10318, i16 2981, i16 0, i16 1384, i16 10319, i16 0, i16 10320, i16 2558, i16 5470, i16 1335, i16 10321, i16 10322, i16 0, i16 2297, i16 10323, i16 0, i16 0, i16 0, i16 10324, i16 0, i16 0, i16 10325, i16 5471, i16 0, i16 0, i16 0, i16 10572, i16 0, i16 0, i16 0, i16 10573, i16 5598, i16 10574, i16 5600, i16 0, i16 10575, i16 10576, i16 0, i16 5603, i16 10577, i16 5604, i16 10578, i16 5601, i16 5602, i16 10579, i16 10580, i16 5599, i16 5597, i16 0, i16 10581, i16 0, i16 0, i16 5591, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3149, i16 8118, i16 0, i16 4121, i16 8102, i16 0, i16 8103, i16 8104, i16 0, i16 8105, i16 0, i16 0, i16 0, i16 8106, i16 0, i16 0, i16 8107, i16 0, i16 0, i16 0, i16 2154, i16 8108, i16 8109, i16 1898, i16 8110, i16 2968, i16 1201, i16 0, i16 1760, i16 8111, i16 8112, i16 8113, i16 7501, i16 7502, i16 0, i16 0, i16 7503, i16 3780, i16 3789, i16 7504, i16 0, i16 2393, i16 7505, i16 1533, i16 7506, i16 2967, i16 7507, i16 5253, i16 7508, i16 3788, i16 2780, i16 7509, i16 3777, i16 0, i16 1583, i16 7510, i16 7511, i16 1582, i16 3775, i16 7512, i16 7513, i16 7514, i16 7515, i16 1931, i16 2382, i16 3317, i16 1772, i16 10710, i16 0, i16 0, i16 10711, i16 0, i16 0, i16 0, i16 10712, i16 1850, i16 2686, i16 10713, i16 5691, i16 3628, i16 1742, i16 10714, i16 5692, i16 2189, i16 0, i16 5694, i16 0, i16 0, i16 0, i16 2111, i16 1701, i16 0, i16 10715, i16 10716, i16 10717, i16 5693, i16 4431, i16 8660, i16 1023, i16 4451, i16 4453, i16 2580, i16 0, i16 8661, i16 1693, i16 957, i16 4445, i16 4456, i16 4455, i16 1328, i16 0, i16 2446, i16 1097, i16 8662, i16 0, i16 0, i16 0, i16 1438, i16 0, i16 4446, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8663, i16 8664, i16 5455, i16 0, i16 10300, i16 0, i16 0, i16 3234, i16 0, i16 10301, i16 0, i16 0, i16 10302, i16 0, i16 2021, i16 3603, i16 10303, i16 10304, i16 5457, i16 10305, i16 0, i16 2836, i16 0, i16 10306, i16 5458, i16 0, i16 0, i16 5459, i16 0, i16 5463, i16 5461, i16 5462, i16 10307, i16 5460, i16 8528, i16 2628, i16 0, i16 1604, i16 2078, i16 0, i16 0, i16 3064, i16 0, i16 0, i16 2079, i16 8529, i16 0, i16 0, i16 8530, i16 2055, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2701, i16 3278, i16 2744, i16 0, i16 0, i16 1605, i16 0, i16 3155, i16 0, i16 0, i16 0, i16 4177, i16 8209, i16 4176, i16 8210, i16 0, i16 931, i16 0, i16 4178, i16 2070, i16 4180, i16 2536, i16 8211, i16 4179, i16 8212, i16 3208, i16 8213, i16 0, i16 0, i16 8214, i16 2054, i16 2778, i16 8215, i16 8216, i16 0, i16 4181, i16 8217, i16 0, i16 8218, i16 8219, i16 1596, i16 0, i16 0, i16 9810, i16 0, i16 5193, i16 0, i16 2972, i16 5189, i16 5192, i16 2101, i16 9811, i16 3050, i16 0, i16 0, i16 5196, i16 0, i16 1922, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9812, i16 0, i16 0, i16 0, i16 2339, i16 0, i16 0, i16 11346, i16 11347, i16 11348, i16 11349, i16 11350, i16 0, i16 0, i16 6104, i16 0, i16 11351, i16 0, i16 2609, i16 11352, i16 0, i16 0, i16 11353, i16 0, i16 6105, i16 0, i16 0, i16 0, i16 11354, i16 11355, i16 11356, i16 0, i16 2903, i16 11357, i16 771, i16 0, i16 0, i16 0, i16 0, i16 8787, i16 4558, i16 8788, i16 8789, i16 0, i16 0, i16 2328, i16 8790, i16 0, i16 8791, i16 4559, i16 8792, i16 0, i16 0, i16 4560, i16 1241, i16 4561, i16 0, i16 4562, i16 4563, i16 2492, i16 0, i16 0, i16 0, i16 1542, i16 8793, i16 0, i16 3442, i16 0, i16 8794, i16 0, i16 3311, i16 9299, i16 4873, i16 1048, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1756, i16 0, i16 0, i16 9300, i16 900, i16 0, i16 0, i16 4890, i16 9301, i16 0, i16 3676, i16 4893, i16 9302, i16 0, i16 9303, i16 0, i16 0, i16 2181, i16 4892, i16 0, i16 0, i16 0, i16 2388, i16 7075, i16 13117, i16 0, i16 0, i16 0, i16 13118, i16 0, i16 0, i16 0, i16 13119, i16 13120, i16 7076, i16 0, i16 0, i16 13121, i16 0, i16 13122, i16 13123, i16 0, i16 13124, i16 0, i16 0, i16 13125, i16 0, i16 13126, i16 13127, i16 3096, i16 13128, i16 13129, i16 7077, i16 13130, i16 5972, i16 0, i16 11115, i16 11116, i16 11117, i16 5975, i16 0, i16 11118, i16 0, i16 2423, i16 1456, i16 0, i16 0, i16 11119, i16 11120, i16 872, i16 5974, i16 11121, i16 1642, i16 11156, i16 11099, i16 11122, i16 11123, i16 11124, i16 2424, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12628, i16 6804, i16 0, i16 12629, i16 6803, i16 12638, i16 12630, i16 0, i16 0, i16 0, i16 0, i16 12631, i16 3326, i16 2825, i16 12632, i16 12633, i16 12634, i16 0, i16 12635, i16 12636, i16 887, i16 12637, i16 0, i16 6805, i16 6802, i16 0, i16 0, i16 3144, i16 3545, i16 6806, i16 12639, i16 0, i16 9813, i16 0, i16 0, i16 0, i16 5199, i16 9814, i16 0, i16 9815, i16 5191, i16 0, i16 1410, i16 0, i16 9816, i16 0, i16 0, i16 5197, i16 0, i16 0, i16 9817, i16 0, i16 3519, i16 5200, i16 0, i16 0, i16 0, i16 7100, i16 9818, i16 9819, i16 0, i16 0, i16 0, i16 2014, i16 11093, i16 11094, i16 3425, i16 5959, i16 989, i16 1120, i16 5963, i16 11095, i16 11096, i16 5965, i16 11097, i16 11098, i16 0, i16 0, i16 1455, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5969, i16 5978, i16 5979, i16 0, i16 0, i16 11100, i16 756, i16 11101, i16 11102, i16 11103, i16 343, i16 0, i16 348, i16 344, i16 0, i16 0, i16 0, i16 349, i16 330, i16 0, i16 0, i16 331, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 354, i16 0, i16 0, i16 356, i16 292, i16 0, i16 7256, i16 7341, i16 7259, i16 7344, i16 7258, i16 7343, i16 7178, i16 7194, i16 7270, i16 7355, i16 7267, i16 7352, i16 7264, i16 7349, i16 7269, i16 7354, i16 7266, i16 7351, i16 7268, i16 7353, i16 7275, i16 7360, i16 7278, i16 7363, i16 7277, i16 7279, i16 7364, i16 7281, i16 7366, i16 7280, i16 7365, i16 0, i16 11608, i16 6262, i16 0, i16 0, i16 0, i16 11609, i16 6264, i16 3558, i16 0, i16 6263, i16 2193, i16 0, i16 6265, i16 0, i16 0, i16 6266, i16 11610, i16 0, i16 6267, i16 1170, i16 11611, i16 11612, i16 11613, i16 11614, i16 0, i16 0, i16 6268, i16 0, i16 11615, i16 6269, i16 0, i16 6270, i16 345, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 338, i16 339, i16 337, i16 336, i16 358, i16 359, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 293, i16 357, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 355, i16 0, i16 0, i16 3929, i16 1996, i16 7764, i16 2322, i16 0, i16 3931, i16 3930, i16 2064, i16 1562, i16 3933, i16 3031, i16 7766, i16 7765, i16 3934, i16 0, i16 0, i16 0, i16 3061, i16 2457, i16 2515, i16 1317, i16 0, i16 0, i16 2891, i16 2548, i16 7767, i16 2985, i16 7768, i16 3329, i16 0, i16 3936, i16 0, i16 9049, i16 0, i16 1614, i16 4714, i16 9050, i16 0, i16 1696, i16 2087, i16 9051, i16 9052, i16 4713, i16 0, i16 2088, i16 9053, i16 3409, i16 1695, i16 0, i16 9054, i16 9055, i16 800, i16 2295, i16 9056, i16 9057, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4720, i16 9058, i16 9059, i16 2266, i16 5210, i16 0, i16 0, i16 0, i16 0, i16 2414, i16 1803, i16 5212, i16 0, i16 0, i16 0, i16 0, i16 5211, i16 2159, i16 3955, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5213, i16 0, i16 0, i16 9838, i16 5215, i16 0, i16 5198, i16 5214, i16 0, i16 9839, i16 5216, i16 9820, i16 0, i16 9821, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5201, i16 0, i16 0, i16 0, i16 5202, i16 0, i16 0, i16 9822, i16 9823, i16 2921, i16 9824, i16 9825, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5204, i16 9826, i16 0, i16 0, i16 0, i16 5205, i16 9827, i16 1630, i16 0, i16 5677, i16 0, i16 0, i16 0, i16 10695, i16 3605, i16 0, i16 10696, i16 0, i16 10697, i16 0, i16 0, i16 0, i16 5679, i16 0, i16 0, i16 5680, i16 0, i16 5681, i16 10698, i16 5682, i16 0, i16 1848, i16 0, i16 5683, i16 1450, i16 0, i16 0, i16 1289, i16 0, i16 10590, i16 1162, i16 0, i16 0, i16 0, i16 10591, i16 0, i16 0, i16 0, i16 0, i16 2560, i16 0, i16 10592, i16 2342, i16 0, i16 10593, i16 10594, i16 3003, i16 10595, i16 0, i16 5620, i16 10596, i16 10597, i16 0, i16 3005, i16 0, i16 10598, i16 10599, i16 10600, i16 10601, i16 0, i16 0, i16 3168, i16 1751, i16 1646, i16 0, i16 11793, i16 0, i16 0, i16 3142, i16 996, i16 3047, i16 6379, i16 1172, i16 2302, i16 6378, i16 6383, i16 2620, i16 3444, i16 0, i16 6381, i16 6382, i16 1229, i16 0, i16 6384, i16 2974, i16 2500, i16 11794, i16 11795, i16 3082, i16 2748, i16 6380, i16 0, i16 3322, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 1377, i16 0, i16 0, i16 2005, i16 0, i16 2841, i16 0, i16 0, i16 12248, i16 12249, i16 12250, i16 0, i16 0, i16 12251, i16 12252, i16 0, i16 0, i16 2356, i16 12253, i16 6614, i16 0, i16 6608, i16 6613, i16 12254, i16 3412, i16 12255, i16 2649, i16 6615, i16 6612, i16 0, i16 0, i16 12256, i16 10849, i16 0, i16 5794, i16 5796, i16 0, i16 3540, i16 5795, i16 5798, i16 5797, i16 0, i16 3522, i16 10850, i16 5799, i16 10851, i16 3095, i16 10852, i16 10853, i16 10854, i16 0, i16 0, i16 5800, i16 0, i16 10855, i16 10856, i16 0, i16 0, i16 5803, i16 0, i16 10857, i16 5802, i16 5801, i16 0, i16 5475, i16 10333, i16 10334, i16 10335, i16 0, i16 2773, i16 1739, i16 1261, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10336, i16 10337, i16 0, i16 10338, i16 0, i16 3287, i16 0, i16 2950, i16 10339, i16 0, i16 10340, i16 0, i16 0, i16 2774, i16 0, i16 0, i16 0, i16 0, i16 1651, i16 7523, i16 7524, i16 7525, i16 3790, i16 0, i16 7526, i16 7527, i16 3791, i16 3795, i16 791, i16 7528, i16 0, i16 7529, i16 0, i16 7530, i16 3237, i16 3794, i16 7531, i16 7532, i16 7533, i16 0, i16 3793, i16 3797, i16 7534, i16 0, i16 7535, i16 3796, i16 0, i16 2693, i16 0, i16 0, i16 7536, i16 9828, i16 9829, i16 0, i16 2926, i16 9830, i16 0, i16 0, i16 0, i16 2804, i16 5207, i16 0, i16 9831, i16 9832, i16 0, i16 5209, i16 0, i16 3618, i16 0, i16 5206, i16 9833, i16 5208, i16 916, i16 9834, i16 5203, i16 0, i16 9835, i16 9836, i16 0, i16 9837, i16 0, i16 0, i16 4051, i16 11876, i16 11877, i16 11878, i16 11879, i16 0, i16 0, i16 11880, i16 11881, i16 0, i16 0, i16 6445, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6434, i16 11882, i16 0, i16 11883, i16 6435, i16 6433, i16 11884, i16 11885, i16 11886, i16 11887, i16 0, i16 0, i16 0, i16 11888, i16 0, i16 0, i16 4709, i16 4710, i16 1212, i16 0, i16 0, i16 2905, i16 2553, i16 1291, i16 1840, i16 2408, i16 0, i16 0, i16 2027, i16 761, i16 0, i16 0, i16 9042, i16 4711, i16 9043, i16 0, i16 9044, i16 9045, i16 0, i16 0, i16 0, i16 9046, i16 935, i16 4715, i16 0, i16 0, i16 9047, i16 9048, i16 8037, i16 0, i16 8038, i16 8039, i16 8040, i16 8041, i16 4095, i16 766, i16 1748, i16 8042, i16 8043, i16 0, i16 8044, i16 1432, i16 8045, i16 8046, i16 2578, i16 0, i16 0, i16 8047, i16 8048, i16 0, i16 0, i16 4096, i16 4097, i16 0, i16 0, i16 4099, i16 0, i16 8049, i16 8050, i16 8051, i16 615, i16 616, i16 0, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 7126, i16 7129, i16 7131, i16 7132, i16 7133, i16 7134, i16 7141, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 6247, i16 11588, i16 11589, i16 11590, i16 6250, i16 0, i16 6249, i16 0, i16 0, i16 0, i16 6252, i16 11591, i16 0, i16 6251, i16 11592, i16 6253, i16 11593, i16 0, i16 1984, i16 11594, i16 6254, i16 11595, i16 0, i16 6255, i16 0, i16 0, i16 11596, i16 11597, i16 11598, i16 11599, i16 6256, i16 2279, i16 8295, i16 0, i16 8296, i16 0, i16 0, i16 0, i16 0, i16 8297, i16 0, i16 0, i16 0, i16 0, i16 8298, i16 0, i16 0, i16 0, i16 0, i16 8299, i16 8300, i16 8301, i16 0, i16 8302, i16 0, i16 0, i16 8303, i16 0, i16 8304, i16 8305, i16 4208, i16 4212, i16 4209, i16 8306, i16 1128, i16 7640, i16 3851, i16 7641, i16 3849, i16 3406, i16 3850, i16 0, i16 3153, i16 3852, i16 3853, i16 3854, i16 2782, i16 7642, i16 0, i16 0, i16 3858, i16 3856, i16 3857, i16 3855, i16 1752, i16 3859, i16 3451, i16 3633, i16 7643, i16 0, i16 7644, i16 0, i16 7645, i16 3860, i16 7646, i16 7647, i16 2152, i16 12316, i16 6626, i16 6628, i16 12317, i16 12318, i16 1360, i16 12319, i16 3132, i16 12320, i16 12321, i16 1939, i16 3662, i16 0, i16 6624, i16 1773, i16 0, i16 0, i16 3690, i16 12322, i16 12323, i16 6630, i16 12324, i16 12325, i16 0, i16 0, i16 6629, i16 6631, i16 0, i16 0, i16 0, i16 0, i16 3944, i16 7785, i16 0, i16 0, i16 7786, i16 3946, i16 3945, i16 0, i16 2218, i16 864, i16 7787, i16 7788, i16 0, i16 901, i16 3947, i16 7789, i16 3948, i16 0, i16 7790, i16 1520, i16 7791, i16 7792, i16 3949, i16 7793, i16 7794, i16 0, i16 7795, i16 1293, i16 0, i16 7796, i16 0, i16 0, i16 4200, i16 3671, i16 0, i16 0, i16 8271, i16 8272, i16 2951, i16 8273, i16 8274, i16 4202, i16 0, i16 0, i16 8275, i16 0, i16 0, i16 0, i16 8276, i16 0, i16 0, i16 0, i16 0, i16 8277, i16 0, i16 0, i16 0, i16 0, i16 1692, i16 0, i16 0, i16 0, i16 8278, i16 0, i16 5994, i16 0, i16 5984, i16 0, i16 0, i16 0, i16 11142, i16 11143, i16 5996, i16 11144, i16 5982, i16 2999, i16 11145, i16 11170, i16 0, i16 0, i16 0, i16 3544, i16 0, i16 0, i16 0, i16 5991, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6013, i16 11146, i16 11147, i16 4972, i16 0, i16 9436, i16 4974, i16 4973, i16 9437, i16 3339, i16 0, i16 0, i16 2029, i16 1949, i16 1815, i16 0, i16 4975, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4977, i16 2158, i16 9438, i16 4976, i16 0, i16 0, i16 9439, i16 0, i16 0, i16 4978, i16 9440, i16 5228, i16 9855, i16 9856, i16 9857, i16 0, i16 9858, i16 5229, i16 3239, i16 3040, i16 0, i16 0, i16 5230, i16 2962, i16 0, i16 9859, i16 9860, i16 9861, i16 0, i16 2638, i16 9862, i16 0, i16 9863, i16 9864, i16 0, i16 5231, i16 1004, i16 9865, i16 1292, i16 9866, i16 3415, i16 9867, i16 3399, i16 365, i16 366, i16 0, i16 0, i16 0, i16 258, i16 257, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 361, i16 0, i16 297, i16 298, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 323, i16 0, i16 0, i16 0, i16 0, i16 878, i16 9060, i16 9061, i16 9062, i16 9063, i16 2020, i16 9064, i16 3353, i16 1767, i16 9065, i16 9066, i16 9067, i16 9068, i16 2089, i16 9069, i16 2256, i16 9070, i16 9071, i16 0, i16 9072, i16 4719, i16 4717, i16 4718, i16 9074, i16 0, i16 9073, i16 0, i16 0, i16 2606, i16 0, i16 0, i16 4750, i16 10350, i16 10351, i16 0, i16 10352, i16 10353, i16 0, i16 0, i16 0, i16 10354, i16 0, i16 10355, i16 3583, i16 1628, i16 0, i16 10356, i16 1504, i16 0, i16 0, i16 3004, i16 0, i16 5479, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10357, i16 0, i16 5481, i16 0, i16 10358, i16 0, i16 6767, i16 7051, i16 3421, i16 12559, i16 6768, i16 0, i16 6769, i16 12560, i16 6770, i16 1082, i16 12561, i16 6772, i16 0, i16 2212, i16 12562, i16 0, i16 0, i16 6773, i16 0, i16 12563, i16 1407, i16 0, i16 12564, i16 12565, i16 12566, i16 6774, i16 6778, i16 12567, i16 6776, i16 12568, i16 0, i16 12569, i16 9328, i16 9329, i16 4897, i16 9330, i16 0, i16 4904, i16 0, i16 0, i16 0, i16 0, i16 4910, i16 3086, i16 4916, i16 0, i16 0, i16 9331, i16 0, i16 9332, i16 4911, i16 4914, i16 4908, i16 9333, i16 0, i16 2615, i16 0, i16 3119, i16 9334, i16 4898, i16 0, i16 9335, i16 4906, i16 2093, i16 9840, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2997, i16 9841, i16 9842, i16 9843, i16 0, i16 0, i16 0, i16 5217, i16 0, i16 0, i16 5218, i16 0, i16 0, i16 9844, i16 0, i16 0, i16 0, i16 9845, i16 0, i16 0, i16 9846, i16 5219, i16 0, i16 9847, i16 0, i16 9848, i16 10096, i16 10097, i16 0, i16 1805, i16 10098, i16 928, i16 5328, i16 10099, i16 3520, i16 10100, i16 10101, i16 3256, i16 5329, i16 0, i16 0, i16 10102, i16 2755, i16 3490, i16 1626, i16 2184, i16 0, i16 0, i16 10103, i16 2574, i16 3918, i16 10104, i16 2639, i16 1005, i16 5330, i16 10105, i16 10106, i16 10107, i16 7537, i16 0, i16 7538, i16 7539, i16 0, i16 1485, i16 7540, i16 7541, i16 0, i16 0, i16 7542, i16 0, i16 3798, i16 7543, i16 0, i16 0, i16 7544, i16 7545, i16 1910, i16 0, i16 2443, i16 2694, i16 1395, i16 0, i16 3799, i16 0, i16 0, i16 0, i16 0, i16 1237, i16 0, i16 0, i16 11377, i16 11378, i16 0, i16 11379, i16 6114, i16 11380, i16 6115, i16 1929, i16 0, i16 6117, i16 0, i16 2564, i16 0, i16 1457, i16 1061, i16 0, i16 0, i16 11381, i16 11382, i16 0, i16 6120, i16 11383, i16 0, i16 11384, i16 0, i16 1058, i16 11385, i16 6125, i16 11386, i16 0, i16 6121, i16 6124, i16 11889, i16 11890, i16 6432, i16 0, i16 2718, i16 0, i16 0, i16 6437, i16 6441, i16 6438, i16 6436, i16 11891, i16 6439, i16 11892, i16 11893, i16 11894, i16 6440, i16 0, i16 0, i16 0, i16 11895, i16 6447, i16 0, i16 0, i16 0, i16 6442, i16 0, i16 11896, i16 11897, i16 11898, i16 11899, i16 2305, i16 10866, i16 940, i16 0, i16 10867, i16 0, i16 5812, i16 5813, i16 0, i16 10868, i16 0, i16 5814, i16 0, i16 3537, i16 0, i16 10869, i16 10870, i16 0, i16 0, i16 1979, i16 0, i16 5816, i16 5815, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10871, i16 0, i16 0, i16 0, i16 10872, i16 3699, i16 4782, i16 2240, i16 0, i16 0, i16 0, i16 4781, i16 0, i16 0, i16 4776, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1544, i16 9169, i16 9170, i16 9171, i16 4788, i16 4786, i16 9172, i16 978, i16 4784, i16 4790, i16 4796, i16 0, i16 9173, i16 9174, i16 9175, i16 0, i16 0, i16 7283, i16 7282, i16 7285, i16 7291, i16 7284, i16 7290, i16 7180, i16 7295, i16 7299, i16 7298, i16 7301, i16 7300, i16 7312, i16 7311, i16 7314, i16 7313, i16 7182, i16 7327, i16 7329, i16 7328, i16 7331, i16 7335, i16 7330, i16 285, i16 7191, i16 7346, i16 7345, i16 7348, i16 7347, i16 7361, i16 7195, i16 7362, i16 9075, i16 4724, i16 1873, i16 1615, i16 4722, i16 9076, i16 9077, i16 0, i16 0, i16 4723, i16 9078, i16 2179, i16 9079, i16 0, i16 9081, i16 4721, i16 0, i16 9080, i16 1794, i16 0, i16 0, i16 0, i16 0, i16 9082, i16 9083, i16 9084, i16 0, i16 9085, i16 9086, i16 4726, i16 4725, i16 4730, i16 1908, i16 0, i16 11233, i16 11234, i16 0, i16 0, i16 6015, i16 11235, i16 0, i16 0, i16 0, i16 0, i16 11236, i16 0, i16 11237, i16 0, i16 11238, i16 3235, i16 0, i16 3379, i16 6055, i16 6054, i16 0, i16 6050, i16 6051, i16 0, i16 861, i16 0, i16 11239, i16 0, i16 11240, i16 6053, i16 1909, i16 0, i16 0, i16 0, i16 2851, i16 5627, i16 5626, i16 0, i16 10612, i16 5623, i16 10613, i16 0, i16 0, i16 3681, i16 0, i16 0, i16 0, i16 0, i16 10614, i16 5632, i16 10615, i16 10616, i16 5636, i16 5633, i16 10617, i16 10618, i16 10619, i16 0, i16 10620, i16 0, i16 10621, i16 0, i16 7797, i16 0, i16 1797, i16 3950, i16 0, i16 7798, i16 0, i16 0, i16 3367, i16 1706, i16 1273, i16 3478, i16 2391, i16 3032, i16 1966, i16 7799, i16 0, i16 0, i16 7800, i16 7801, i16 2006, i16 7802, i16 1945, i16 1958, i16 0, i16 2053, i16 7803, i16 3033, i16 0, i16 7804, i16 7805, i16 3953, i16 12917, i16 0, i16 12918, i16 0, i16 6964, i16 0, i16 6960, i16 0, i16 6961, i16 6957, i16 6963, i16 12919, i16 6959, i16 1093, i16 0, i16 12920, i16 3703, i16 12921, i16 6962, i16 6958, i16 6956, i16 6955, i16 12922, i16 0, i16 12923, i16 12924, i16 12925, i16 6966, i16 12926, i16 0, i16 12927, i16 0, i16 9590, i16 2555, i16 9591, i16 0, i16 5069, i16 9592, i16 5058, i16 0, i16 5064, i16 9593, i16 5071, i16 837, i16 5061, i16 0, i16 5072, i16 9594, i16 9595, i16 2183, i16 0, i16 2030, i16 9596, i16 3194, i16 9597, i16 1699, i16 0, i16 5053, i16 5067, i16 2745, i16 9598, i16 0, i16 0, i16 0, i16 3448, i16 0, i16 6681, i16 2357, i16 12444, i16 0, i16 0, i16 6682, i16 12445, i16 3225, i16 6683, i16 1038, i16 12446, i16 12447, i16 12448, i16 867, i16 0, i16 1176, i16 0, i16 1175, i16 6684, i16 0, i16 6685, i16 0, i16 6686, i16 6687, i16 0, i16 0, i16 0, i16 12449, i16 12450, i16 12451, i16 4472, i16 4470, i16 8699, i16 2401, i16 0, i16 8700, i16 0, i16 4460, i16 1799, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2475, i16 4491, i16 8701, i16 2402, i16 4486, i16 8702, i16 4483, i16 4484, i16 8703, i16 1943, i16 4487, i16 4490, i16 8704, i16 8705, i16 0, i16 0, i16 6008, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11157, i16 3267, i16 11158, i16 5999, i16 0, i16 0, i16 0, i16 991, i16 1551, i16 3104, i16 6009, i16 0, i16 5997, i16 0, i16 11159, i16 6006, i16 11160, i16 11161, i16 0, i16 6016, i16 11162, i16 6001, i16 0, i16 0, i16 9336, i16 3424, i16 4926, i16 4913, i16 9337, i16 0, i16 0, i16 0, i16 9338, i16 1499, i16 936, i16 1090, i16 0, i16 0, i16 4889, i16 0, i16 9339, i16 0, i16 9340, i16 0, i16 9341, i16 2094, i16 4918, i16 9342, i16 4925, i16 1962, i16 1109, i16 9343, i16 0, i16 2545, i16 9344, i16 9345, i16 11640, i16 0, i16 11641, i16 1480, i16 11642, i16 6284, i16 11643, i16 0, i16 0, i16 0, i16 3295, i16 11644, i16 11645, i16 2312, i16 0, i16 11646, i16 0, i16 1301, i16 0, i16 3462, i16 2385, i16 11647, i16 6285, i16 11648, i16 0, i16 0, i16 2194, i16 2611, i16 2119, i16 11649, i16 11650, i16 0, i16 8313, i16 2599, i16 0, i16 4213, i16 0, i16 8314, i16 4215, i16 0, i16 0, i16 4216, i16 8315, i16 0, i16 0, i16 0, i16 8316, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8317, i16 8318, i16 0, i16 0, i16 0, i16 4218, i16 4219, i16 0, i16 8319, i16 0, i16 0, i16 11129, i16 0, i16 11130, i16 0, i16 11131, i16 5980, i16 11132, i16 5988, i16 0, i16 5995, i16 5989, i16 0, i16 0, i16 11133, i16 5987, i16 0, i16 0, i16 0, i16 11134, i16 5958, i16 11135, i16 11136, i16 5985, i16 0, i16 11137, i16 11138, i16 5981, i16 11139, i16 11140, i16 11141, i16 1169, i16 5983, i16 890, i16 11664, i16 6294, i16 1459, i16 0, i16 11665, i16 1857, i16 11666, i16 0, i16 1856, i16 0, i16 3704, i16 6293, i16 6292, i16 2350, i16 0, i16 1260, i16 3694, i16 1053, i16 2121, i16 0, i16 11667, i16 11668, i16 11669, i16 0, i16 11670, i16 11671, i16 11672, i16 6291, i16 0, i16 11673, i16 11674, i16 3962, i16 0, i16 3663, i16 7821, i16 7822, i16 0, i16 3271, i16 7823, i16 2697, i16 1563, i16 1671, i16 0, i16 0, i16 7824, i16 3970, i16 7825, i16 0, i16 2874, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7826, i16 3974, i16 3707, i16 4830, i16 0, i16 0, i16 4844, i16 801, i16 9267, i16 0, i16 4832, i16 9268, i16 9269, i16 3403, i16 4837, i16 2157, i16 2664, i16 4827, i16 9270, i16 9271, i16 4843, i16 9272, i16 0, i16 0, i16 9273, i16 9274, i16 0, i16 2245, i16 4853, i16 1108, i16 1498, i16 0, i16 0, i16 0, i16 11387, i16 0, i16 0, i16 11388, i16 3027, i16 11389, i16 0, i16 11390, i16 0, i16 6122, i16 0, i16 0, i16 6123, i16 3135, i16 3059, i16 6126, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2530, i16 6136, i16 11392, i16 6132, i16 11393, i16 11394, i16 1008, i16 0, i16 2172, i16 0, i16 0, i16 8264, i16 8265, i16 4194, i16 0, i16 8266, i16 8267, i16 3247, i16 8268, i16 0, i16 0, i16 8269, i16 0, i16 1565, i16 8270, i16 0, i16 0, i16 0, i16 0, i16 4203, i16 4204, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2072, i16 0, i16 0, i16 0, i16 6012, i16 0, i16 6011, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2982, i16 6018, i16 0, i16 6029, i16 0, i16 0, i16 11171, i16 0, i16 1121, i16 0, i16 0, i16 0, i16 6032, i16 0, i16 0, i16 6014, i16 11172, i16 0, i16 0, i16 6019, i16 3549, i16 0, i16 0, i16 10108, i16 0, i16 0, i16 10109, i16 5331, i16 0, i16 5336, i16 10110, i16 10111, i16 5334, i16 5333, i16 4684, i16 1033, i16 5332, i16 10112, i16 803, i16 10113, i16 3011, i16 10114, i16 0, i16 3043, i16 0, i16 0, i16 10115, i16 0, i16 3582, i16 5337, i16 5335, i16 2591, i16 2255, i16 10116, i16 10117, i16 7806, i16 874, i16 2392, i16 1590, i16 1534, i16 1380, i16 7807, i16 7808, i16 3957, i16 2532, i16 2531, i16 1320, i16 2065, i16 3958, i16 3956, i16 969, i16 2507, i16 1897, i16 1822, i16 845, i16 0, i16 7809, i16 1107, i16 1661, i16 1821, i16 0, i16 3959, i16 0, i16 0, i16 0, i16 0, i16 0, i16 639, i16 640, i16 7138, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 7135, i16 7140, i16 7137, i16 7139, i16 7142, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6271, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1076, i16 0, i16 11616, i16 11617, i16 11618, i16 11619, i16 11620, i16 0, i16 6272, i16 0, i16 6273, i16 6274, i16 0, i16 0, i16 9087, i16 9088, i16 4731, i16 0, i16 4727, i16 0, i16 1029, i16 4728, i16 4729, i16 3054, i16 9090, i16 9091, i16 9092, i16 0, i16 3160, i16 1445, i16 4732, i16 0, i16 0, i16 9094, i16 2267, i16 9095, i16 2090, i16 9097, i16 9098, i16 9099, i16 2581, i16 9100, i16 9102, i16 0, i16 9093, i16 9096, i16 9599, i16 0, i16 0, i16 0, i16 9600, i16 2271, i16 0, i16 1100, i16 1734, i16 2097, i16 5055, i16 2001, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1447, i16 0, i16 5054, i16 0, i16 0, i16 0, i16 5076, i16 2044, i16 1523, i16 0, i16 5091, i16 9601, i16 5085, i16 8320, i16 8321, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8322, i16 1203, i16 0, i16 4221, i16 4220, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4222, i16 8323, i16 0, i16 8325, i16 0, i16 8326, i16 0, i16 8327, i16 0, i16 0, i16 8576, i16 4395, i16 0, i16 0, i16 8577, i16 8578, i16 0, i16 8579, i16 4396, i16 0, i16 1325, i16 0, i16 4397, i16 8580, i16 4398, i16 0, i16 8581, i16 4400, i16 0, i16 2805, i16 8582, i16 0, i16 4401, i16 4402, i16 8583, i16 4403, i16 0, i16 8584, i16 4388, i16 4387, i16 0, i16 0, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 0, i16 0, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 1665, i16 2915, i16 0, i16 0, i16 5051, i16 0, i16 0, i16 0, i16 9719, i16 9720, i16 0, i16 3555, i16 5149, i16 0, i16 5153, i16 2522, i16 9721, i16 5152, i16 0, i16 5131, i16 0, i16 9722, i16 6697, i16 0, i16 0, i16 9723, i16 5157, i16 0, i16 9724, i16 9725, i16 5161, i16 0, i16 5249, i16 5250, i16 5248, i16 0, i16 0, i16 9900, i16 0, i16 0, i16 0, i16 1950, i16 0, i16 0, i16 2853, i16 1334, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9901, i16 9902, i16 0, i16 0, i16 5252, i16 2543, i16 5251, i16 9903, i16 9904, i16 3680, i16 2973, i16 9905, i16 0, i16 5507, i16 1426, i16 0, i16 0, i16 10420, i16 10421, i16 10422, i16 1247, i16 1222, i16 1846, i16 10423, i16 10424, i16 0, i16 0, i16 0, i16 10425, i16 3491, i16 10426, i16 0, i16 5513, i16 10427, i16 5512, i16 2379, i16 5509, i16 10428, i16 0, i16 5511, i16 10429, i16 10430, i16 2010, i16 2187, i16 5510, i16 11651, i16 6286, i16 0, i16 11652, i16 0, i16 11653, i16 6289, i16 11654, i16 6290, i16 11655, i16 0, i16 0, i16 0, i16 11656, i16 11657, i16 0, i16 1715, i16 2471, i16 6288, i16 11658, i16 2120, i16 3125, i16 11659, i16 11660, i16 11661, i16 0, i16 0, i16 6287, i16 11662, i16 11663, i16 1855, i16 0, i16 5508, i16 0, i16 2917, i16 0, i16 0, i16 2106, i16 0, i16 10431, i16 3123, i16 10432, i16 0, i16 10433, i16 0, i16 1740, i16 0, i16 0, i16 0, i16 0, i16 10434, i16 0, i16 0, i16 0, i16 0, i16 2807, i16 0, i16 10435, i16 5514, i16 10436, i16 10437, i16 0, i16 10438, i16 5515, i16 4485, i16 1972, i16 8706, i16 4488, i16 0, i16 0, i16 4482, i16 8707, i16 3469, i16 3468, i16 8708, i16 0, i16 8709, i16 4492, i16 4493, i16 798, i16 8710, i16 8711, i16 8712, i16 8713, i16 8714, i16 4481, i16 8715, i16 8716, i16 0, i16 8717, i16 1391, i16 751, i16 8718, i16 0, i16 8719, i16 1143, i16 4230, i16 8332, i16 0, i16 4228, i16 0, i16 4229, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8333, i16 8334, i16 0, i16 0, i16 0, i16 1829, i16 4231, i16 8335, i16 0, i16 1597, i16 4232, i16 8336, i16 1869, i16 2461, i16 0, i16 4233, i16 4234, i16 1837, i16 1598, i16 8337, i16 3427, i16 1673, i16 0, i16 3259, i16 5542, i16 10499, i16 10500, i16 3335, i16 10501, i16 10502, i16 5544, i16 0, i16 0, i16 10503, i16 2298, i16 886, i16 959, i16 757, i16 0, i16 0, i16 0, i16 0, i16 10504, i16 10505, i16 5543, i16 0, i16 10506, i16 0, i16 0, i16 10507, i16 10508, i16 0, i16 10509, i16 2441, i16 6521, i16 754, i16 3661, i16 0, i16 0, i16 0, i16 6526, i16 12021, i16 12022, i16 12024, i16 0, i16 12025, i16 12026, i16 2502, i16 12023, i16 0, i16 1988, i16 2197, i16 12027, i16 12028, i16 6528, i16 6527, i16 12029, i16 824, i16 6529, i16 0, i16 0, i16 3110, i16 0, i16 6537, i16 12030, i16 8585, i16 4404, i16 1436, i16 8586, i16 8587, i16 0, i16 3102, i16 8588, i16 0, i16 1729, i16 3118, i16 2631, i16 3138, i16 4405, i16 0, i16 8589, i16 2081, i16 877, i16 8590, i16 4406, i16 8591, i16 8592, i16 0, i16 4407, i16 8593, i16 3459, i16 8594, i16 0, i16 3065, i16 8595, i16 8596, i16 4410, i16 10634, i16 1163, i16 0, i16 5637, i16 0, i16 10635, i16 10636, i16 5638, i16 10637, i16 0, i16 5639, i16 5642, i16 10638, i16 0, i16 0, i16 0, i16 0, i16 10639, i16 0, i16 10640, i16 10641, i16 0, i16 10642, i16 5641, i16 3087, i16 10643, i16 10644, i16 0, i16 0, i16 5643, i16 3657, i16 3266, i16 1675, i16 3402, i16 12998, i16 12997, i16 7003, i16 12999, i16 0, i16 0, i16 0, i16 13000, i16 13001, i16 13002, i16 3301, i16 0, i16 0, i16 7011, i16 13003, i16 0, i16 7007, i16 0, i16 0, i16 0, i16 13004, i16 13005, i16 0, i16 0, i16 7012, i16 13006, i16 13007, i16 0, i16 13008, i16 0, i16 7563, i16 7564, i16 7565, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7566, i16 0, i16 1722, i16 3506, i16 0, i16 7567, i16 7568, i16 0, i16 3804, i16 3807, i16 3803, i16 1721, i16 0, i16 2060, i16 0, i16 7569, i16 7570, i16 0, i16 0, i16 7571, i16 1428, i16 0, i16 3980, i16 7837, i16 0, i16 7838, i16 3982, i16 7839, i16 3984, i16 0, i16 7840, i16 7841, i16 0, i16 1765, i16 3693, i16 7842, i16 3973, i16 3971, i16 3983, i16 7843, i16 3978, i16 0, i16 0, i16 7844, i16 7845, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7846, i16 0, i16 0, i16 7847, i16 9868, i16 953, i16 3679, i16 9869, i16 0, i16 0, i16 0, i16 3333, i16 9870, i16 3199, i16 0, i16 9871, i16 0, i16 0, i16 9872, i16 9873, i16 0, i16 9874, i16 2272, i16 0, i16 5232, i16 0, i16 0, i16 9875, i16 9876, i16 2848, i16 0, i16 9877, i16 9878, i16 1500, i16 5233, i16 9879, i16 11148, i16 6005, i16 0, i16 0, i16 0, i16 2246, i16 0, i16 11149, i16 0, i16 11150, i16 1253, i16 0, i16 1370, i16 0, i16 6000, i16 11151, i16 11152, i16 11153, i16 0, i16 992, i16 11154, i16 0, i16 2113, i16 0, i16 6003, i16 0, i16 0, i16 0, i16 1743, i16 11155, i16 0, i16 2768, i16 4749, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4751, i16 0, i16 9131, i16 4752, i16 0, i16 9132, i16 9133, i16 0, i16 9134, i16 0, i16 4753, i16 0, i16 1351, i16 879, i16 1616, i16 4754, i16 0, i16 4755, i16 2048, i16 2409, i16 9135, i16 9089, i16 3954, i16 2373, i16 2372, i16 2493, i16 9101, i16 1348, i16 0, i16 4733, i16 4737, i16 0, i16 0, i16 976, i16 4734, i16 4736, i16 0, i16 9103, i16 9104, i16 9105, i16 4735, i16 0, i16 9106, i16 2042, i16 9107, i16 0, i16 0, i16 0, i16 2571, i16 782, i16 4738, i16 9108, i16 9109, i16 9110, i16 9111, i16 4739, i16 0, i16 9112, i16 10897, i16 5830, i16 0, i16 0, i16 10898, i16 0, i16 10899, i16 0, i16 5831, i16 0, i16 0, i16 0, i16 10900, i16 0, i16 10901, i16 0, i16 10902, i16 0, i16 0, i16 1883, i16 10903, i16 10904, i16 3454, i16 10905, i16 0, i16 10906, i16 10907, i16 5833, i16 10908, i16 2562, i16 10909, i16 5832, i16 3218, i16 3626, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8131, i16 1017, i16 4128, i16 8132, i16 8133, i16 0, i16 8134, i16 8135, i16 2369, i16 4131, i16 0, i16 2786, i16 8136, i16 0, i16 2760, i16 2787, i16 3026, i16 2670, i16 0, i16 0, i16 0, i16 1726, i16 8137, i16 3731, i16 3303, i16 3732, i16 0, i16 1579, i16 816, i16 3365, i16 0, i16 1307, i16 0, i16 0, i16 1308, i16 1309, i16 2691, i16 3593, i16 7399, i16 3733, i16 0, i16 0, i16 3734, i16 0, i16 0, i16 3735, i16 0, i16 0, i16 7400, i16 2200, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4243, i16 8345, i16 0, i16 4244, i16 8346, i16 2517, i16 8347, i16 846, i16 1946, i16 779, i16 8348, i16 2398, i16 1137, i16 1894, i16 8349, i16 1599, i16 8350, i16 8351, i16 0, i16 8352, i16 8353, i16 2789, i16 8354, i16 1968, i16 1138, i16 2603, i16 2699, i16 769, i16 1240, i16 3274, i16 0, i16 1907, i16 7060, i16 0, i16 0, i16 0, i16 13092, i16 7061, i16 0, i16 13093, i16 7062, i16 0, i16 0, i16 0, i16 13094, i16 13095, i16 13096, i16 7063, i16 13097, i16 13098, i16 13099, i16 0, i16 7064, i16 13100, i16 7065, i16 7066, i16 13101, i16 7067, i16 0, i16 7068, i16 7069, i16 7070, i16 0, i16 13102, i16 7572, i16 0, i16 3808, i16 7573, i16 7574, i16 1356, i16 0, i16 7575, i16 0, i16 3805, i16 3806, i16 0, i16 7576, i16 2828, i16 7577, i16 2435, i16 7578, i16 1312, i16 0, i16 7579, i16 7580, i16 3328, i16 3809, i16 0, i16 7581, i16 0, i16 3594, i16 0, i16 7582, i16 7583, i16 3810, i16 7584, i16 6549, i16 6548, i16 6546, i16 5564, i16 1173, i16 12043, i16 0, i16 6514, i16 12044, i16 6551, i16 6550, i16 12045, i16 12046, i16 0, i16 12047, i16 6552, i16 12048, i16 3495, i16 0, i16 0, i16 0, i16 12049, i16 0, i16 12050, i16 12051, i16 12052, i16 0, i16 12053, i16 0, i16 0, i16 0, i16 0, i16 2710, i16 2000, i16 1280, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9490, i16 9491, i16 0, i16 9492, i16 3039, i16 9493, i16 1887, i16 0, i16 9494, i16 0, i16 9495, i16 5004, i16 0, i16 1153, i16 0, i16 9496, i16 927, i16 9497, i16 9498, i16 2895, i16 5003, i16 1621, i16 10390, i16 10391, i16 0, i16 0, i16 10387, i16 0, i16 10392, i16 5497, i16 3348, i16 0, i16 10393, i16 0, i16 5496, i16 0, i16 0, i16 820, i16 0, i16 0, i16 10394, i16 10395, i16 5500, i16 0, i16 10397, i16 10398, i16 0, i16 0, i16 10399, i16 10400, i16 0, i16 5499, i16 0, i16 10401, i16 12184, i16 12185, i16 0, i16 0, i16 12186, i16 12187, i16 12188, i16 12189, i16 0, i16 12190, i16 12191, i16 0, i16 12192, i16 2876, i16 1062, i16 0, i16 12193, i16 6601, i16 12194, i16 12195, i16 6598, i16 6600, i16 12196, i16 0, i16 12197, i16 0, i16 0, i16 0, i16 12198, i16 12199, i16 6596, i16 0, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 3481, i16 0, i16 8676, i16 1142, i16 8677, i16 8678, i16 896, i16 4468, i16 8679, i16 2933, i16 758, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8680, i16 8681, i16 3066, i16 4428, i16 4474, i16 4478, i16 3446, i16 8682, i16 4471, i16 0, i16 0, i16 8683, i16 2792, i16 4476, i16 8684, i16 0, i16 9113, i16 0, i16 2635, i16 0, i16 9114, i16 0, i16 3646, i16 0, i16 0, i16 0, i16 0, i16 1814, i16 0, i16 9115, i16 3264, i16 0, i16 0, i16 9116, i16 9117, i16 0, i16 3312, i16 9118, i16 0, i16 0, i16 4746, i16 4741, i16 0, i16 9119, i16 4744, i16 0, i16 4743, i16 9120, i16 922, i16 2387, i16 12036, i16 1512, i16 0, i16 3529, i16 12037, i16 12038, i16 6541, i16 2731, i16 0, i16 0, i16 12039, i16 2431, i16 1928, i16 6542, i16 12040, i16 0, i16 6545, i16 0, i16 12041, i16 2036, i16 6543, i16 2354, i16 2353, i16 12042, i16 813, i16 0, i16 3608, i16 6547, i16 0, i16 3083, i16 2714, i16 5730, i16 10770, i16 0, i16 5726, i16 10771, i16 10772, i16 0, i16 3241, i16 1164, i16 10773, i16 10774, i16 3420, i16 10775, i16 0, i16 807, i16 0, i16 10776, i16 5729, i16 0, i16 3658, i16 10777, i16 10778, i16 0, i16 0, i16 10779, i16 10780, i16 5728, i16 0, i16 0, i16 0, i16 0, i16 11930, i16 11931, i16 0, i16 11932, i16 11933, i16 6468, i16 6465, i16 11934, i16 6469, i16 0, i16 1927, i16 6470, i16 1231, i16 1422, i16 0, i16 11935, i16 0, i16 11936, i16 1511, i16 0, i16 11937, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6471, i16 11938, i16 0, i16 0, i16 2893, i16 11419, i16 0, i16 0, i16 11420, i16 0, i16 11421, i16 0, i16 0, i16 0, i16 2319, i16 0, i16 3684, i16 6148, i16 11422, i16 6149, i16 0, i16 0, i16 0, i16 0, i16 6155, i16 0, i16 2165, i16 0, i16 6151, i16 11423, i16 6154, i16 0, i16 0, i16 0, i16 11424, i16 0, i16 6146, i16 11675, i16 0, i16 6296, i16 11676, i16 6297, i16 6295, i16 11677, i16 1553, i16 0, i16 3503, i16 0, i16 11678, i16 1858, i16 2914, i16 0, i16 11679, i16 11680, i16 6300, i16 11681, i16 2281, i16 0, i16 2565, i16 11682, i16 11683, i16 3493, i16 11684, i16 6303, i16 0, i16 0, i16 0, i16 1573, i16 11685, i16 10140, i16 10141, i16 5356, i16 5358, i16 10142, i16 3129, i16 10143, i16 2102, i16 0, i16 0, i16 5365, i16 0, i16 10144, i16 5364, i16 10145, i16 10146, i16 0, i16 0, i16 5366, i16 0, i16 1879, i16 1700, i16 0, i16 10147, i16 2806, i16 5367, i16 0, i16 2668, i16 10148, i16 0, i16 5369, i16 10149, i16 10396, i16 2105, i16 0, i16 0, i16 0, i16 0, i16 10402, i16 5501, i16 0, i16 0, i16 0, i16 0, i16 10403, i16 0, i16 2378, i16 0, i16 10404, i16 5503, i16 5502, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5504, i16 10405, i16 0, i16 10406, i16 0, i16 10407, i16 10408, i16 5789, i16 10839, i16 0, i16 10840, i16 10841, i16 10842, i16 10843, i16 5792, i16 5790, i16 5791, i16 1750, i16 1454, i16 0, i16 10844, i16 2585, i16 0, i16 3020, i16 10845, i16 2047, i16 0, i16 0, i16 2952, i16 0, i16 3078, i16 5793, i16 4539, i16 0, i16 0, i16 0, i16 10846, i16 10847, i16 10848, i16 10910, i16 0, i16 0, i16 0, i16 10911, i16 0, i16 5835, i16 0, i16 0, i16 0, i16 5834, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5836, i16 0, i16 0, i16 0, i16 2276, i16 0, i16 5837, i16 0, i16 5838, i16 0, i16 0, i16 0, i16 3214, i16 5839, i16 12702, i16 12703, i16 6839, i16 0, i16 0, i16 6841, i16 12704, i16 12705, i16 12706, i16 6840, i16 0, i16 6843, i16 6846, i16 12707, i16 12708, i16 0, i16 6842, i16 6844, i16 6845, i16 0, i16 12709, i16 6847, i16 0, i16 1343, i16 12710, i16 12711, i16 0, i16 12712, i16 12713, i16 0, i16 12714, i16 12715, i16 1951, i16 9987, i16 0, i16 9988, i16 0, i16 5280, i16 9989, i16 9990, i16 0, i16 9991, i16 1433, i16 0, i16 0, i16 3042, i16 5281, i16 0, i16 0, i16 5308, i16 0, i16 0, i16 9992, i16 9993, i16 0, i16 9994, i16 5287, i16 9995, i16 9996, i16 9997, i16 0, i16 9998, i16 1526, i16 9999, i16 5279, i16 0, i16 982, i16 0, i16 0, i16 9976, i16 9977, i16 0, i16 5275, i16 9978, i16 1804, i16 9979, i16 9980, i16 2658, i16 5277, i16 9981, i16 0, i16 0, i16 9982, i16 9983, i16 0, i16 0, i16 9984, i16 0, i16 0, i16 9985, i16 0, i16 0, i16 0, i16 9986, i16 5282, i16 0, i16 5535, i16 10488, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10489, i16 0, i16 0, i16 0, i16 10490, i16 0, i16 10491, i16 1952, i16 10492, i16 10493, i16 5538, i16 825, i16 0, i16 10494, i16 10495, i16 0, i16 5541, i16 10496, i16 10497, i16 10498, i16 5539, i16 985, i16 1449, i16 5540, i16 1629, i16 2976, i16 11805, i16 1510, i16 6388, i16 6387, i16 0, i16 3169, i16 0, i16 11806, i16 0, i16 1906, i16 0, i16 11807, i16 2769, i16 0, i16 11808, i16 11809, i16 0, i16 11810, i16 0, i16 0, i16 11811, i16 0, i16 11812, i16 11813, i16 0, i16 6391, i16 6392, i16 1647, i16 6390, i16 11814, i16 11815, i16 9632, i16 0, i16 823, i16 0, i16 0, i16 5106, i16 0, i16 9633, i16 0, i16 0, i16 5094, i16 0, i16 0, i16 9634, i16 9635, i16 5100, i16 0, i16 9636, i16 5102, i16 9637, i16 0, i16 0, i16 3518, i16 5097, i16 0, i16 0, i16 2733, i16 9638, i16 0, i16 5099, i16 0, i16 9639, i16 10912, i16 2422, i16 5840, i16 0, i16 10913, i16 0, i16 10914, i16 0, i16 5841, i16 0, i16 0, i16 0, i16 0, i16 10915, i16 0, i16 3659, i16 5844, i16 10916, i16 5843, i16 5842, i16 2641, i16 10917, i16 5845, i16 2161, i16 0, i16 5846, i16 0, i16 0, i16 0, i16 5847, i16 3683, i16 5848, i16 5537, i16 1365, i16 0, i16 0, i16 3688, i16 2364, i16 0, i16 0, i16 0, i16 0, i16 5516, i16 10439, i16 10440, i16 983, i16 2712, i16 3190, i16 0, i16 10441, i16 0, i16 10442, i16 10443, i16 10444, i16 10445, i16 0, i16 10446, i16 0, i16 0, i16 10447, i16 10448, i16 5517, i16 0, i16 0, i16 9121, i16 4740, i16 9122, i16 9123, i16 4745, i16 0, i16 0, i16 2875, i16 9124, i16 4742, i16 0, i16 0, i16 9125, i16 0, i16 9126, i16 9127, i16 0, i16 0, i16 0, i16 0, i16 9128, i16 0, i16 4747, i16 0, i16 0, i16 2043, i16 4748, i16 9129, i16 3514, i16 2995, i16 0, i16 9130, i16 4770, i16 2143, i16 3438, i16 4772, i16 4773, i16 3543, i16 9153, i16 0, i16 0, i16 0, i16 4778, i16 0, i16 9154, i16 1617, i16 9155, i16 2960, i16 4775, i16 2795, i16 4712, i16 4716, i16 9156, i16 1262, i16 9157, i16 2946, i16 0, i16 0, i16 0, i16 9158, i16 4777, i16 0, i16 2091, i16 3037, i16 932, i16 2261, i16 4409, i16 4408, i16 1437, i16 2489, i16 0, i16 4414, i16 4412, i16 8597, i16 4411, i16 3572, i16 1566, i16 8598, i16 0, i16 8599, i16 2056, i16 4413, i16 2763, i16 1997, i16 0, i16 0, i16 8600, i16 2845, i16 4417, i16 4416, i16 0, i16 0, i16 8601, i16 8602, i16 4415, i16 0, i16 10150, i16 10151, i16 3566, i16 5368, i16 10152, i16 0, i16 0, i16 10153, i16 0, i16 2416, i16 0, i16 0, i16 10154, i16 0, i16 10155, i16 10156, i16 5374, i16 10157, i16 5376, i16 5377, i16 2583, i16 0, i16 0, i16 0, i16 0, i16 10158, i16 5375, i16 0, i16 5372, i16 0, i16 5370, i16 5371, i16 9640, i16 9641, i16 5107, i16 9642, i16 5101, i16 3416, i16 0, i16 9643, i16 9644, i16 5096, i16 9645, i16 1875, i16 5120, i16 9646, i16 9647, i16 9648, i16 0, i16 1101, i16 0, i16 5098, i16 5103, i16 5104, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2513, i16 2495, i16 0, i16 4009, i16 7890, i16 0, i16 0, i16 2516, i16 4014, i16 2067, i16 7891, i16 0, i16 7892, i16 7893, i16 0, i16 4011, i16 7894, i16 0, i16 3445, i16 7895, i16 7896, i16 0, i16 1431, i16 0, i16 0, i16 4015, i16 4016, i16 7897, i16 0, i16 7898, i16 7899, i16 4013, i16 4019, i16 7900, i16 0, i16 6057, i16 6061, i16 0, i16 3058, i16 0, i16 0, i16 11253, i16 0, i16 6060, i16 2115, i16 1914, i16 6063, i16 0, i16 0, i16 1339, i16 11254, i16 11255, i16 11256, i16 11257, i16 11258, i16 0, i16 6064, i16 11259, i16 3184, i16 6059, i16 11260, i16 6020, i16 0, i16 11261, i16 11262, i16 11263, i16 11264, i16 10409, i16 0, i16 0, i16 0, i16 0, i16 10410, i16 5474, i16 10411, i16 0, i16 10412, i16 5476, i16 5506, i16 5505, i16 10413, i16 0, i16 0, i16 0, i16 10414, i16 0, i16 0, i16 10415, i16 10416, i16 0, i16 0, i16 0, i16 0, i16 1881, i16 10417, i16 3638, i16 10418, i16 1923, i16 10419, i16 4266, i16 0, i16 4267, i16 8383, i16 3441, i16 0, i16 8384, i16 0, i16 4268, i16 8385, i16 0, i16 8386, i16 8387, i16 1347, i16 8388, i16 0, i16 8389, i16 1969, i16 8390, i16 0, i16 0, i16 8391, i16 8392, i16 0, i16 4269, i16 4270, i16 1933, i16 2167, i16 2897, i16 2207, i16 3089, i16 2909, i16 6315, i16 6323, i16 6316, i16 0, i16 6312, i16 0, i16 2717, i16 6311, i16 0, i16 0, i16 0, i16 6309, i16 11707, i16 3472, i16 1859, i16 0, i16 11708, i16 6313, i16 0, i16 6310, i16 11709, i16 11710, i16 11711, i16 6317, i16 2051, i16 0, i16 1530, i16 0, i16 11712, i16 0, i16 2527, i16 11713, i16 7083, i16 7084, i16 3645, i16 7081, i16 0, i16 0, i16 7085, i16 7086, i16 13145, i16 13146, i16 7088, i16 0, i16 7087, i16 13147, i16 13148, i16 13149, i16 13150, i16 13151, i16 7090, i16 13152, i16 0, i16 13153, i16 7091, i16 7089, i16 0, i16 0, i16 13154, i16 0, i16 0, i16 13155, i16 0, i16 0, i16 11947, i16 0, i16 11948, i16 1078, i16 0, i16 6478, i16 0, i16 11949, i16 11950, i16 1745, i16 6477, i16 0, i16 6486, i16 0, i16 0, i16 11951, i16 11952, i16 0, i16 6480, i16 6482, i16 3258, i16 6479, i16 11953, i16 11954, i16 11955, i16 6481, i16 0, i16 6485, i16 6483, i16 1232, i16 11956, i16 6484, i16 1964, i16 0, i16 12536, i16 12537, i16 6746, i16 12538, i16 6747, i16 2199, i16 6748, i16 12539, i16 3643, i16 0, i16 0, i16 6743, i16 6750, i16 6752, i16 0, i16 6751, i16 0, i16 6749, i16 0, i16 0, i16 6753, i16 0, i16 0, i16 6754, i16 12540, i16 12541, i16 2433, i16 12542, i16 999, i16 0, i16 12716, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8365, i16 8366, i16 1941, i16 4247, i16 1204, i16 2863, i16 3386, i16 4248, i16 0, i16 4249, i16 0, i16 0, i16 3152, i16 8367, i16 0, i16 8368, i16 4251, i16 0, i16 1129, i16 1396, i16 4250, i16 0, i16 8369, i16 8370, i16 8371, i16 8372, i16 8373, i16 1139, i16 0, i16 2173, i16 4255, i16 1780, i16 10159, i16 5373, i16 10160, i16 10161, i16 10162, i16 0, i16 0, i16 10163, i16 10164, i16 5380, i16 10165, i16 5378, i16 10166, i16 5379, i16 0, i16 10167, i16 0, i16 0, i16 10168, i16 10169, i16 0, i16 10170, i16 10171, i16 0, i16 0, i16 10172, i16 0, i16 10173, i16 10174, i16 10175, i16 10176, i16 5381, i16 2480, i16 12493, i16 6712, i16 0, i16 3172, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6715, i16 6713, i16 1654, i16 0, i16 6714, i16 1531, i16 0, i16 12494, i16 0, i16 12495, i16 0, i16 12496, i16 12497, i16 12498, i16 0, i16 0, i16 3226, i16 6717, i16 6719, i16 6718, i16 6720, i16 6065, i16 11276, i16 0, i16 0, i16 2993, i16 11277, i16 11278, i16 6075, i16 6067, i16 11279, i16 6069, i16 11280, i16 11281, i16 0, i16 0, i16 11282, i16 6079, i16 6068, i16 0, i16 11283, i16 6072, i16 0, i16 0, i16 921, i16 11284, i16 2882, i16 0, i16 6073, i16 6076, i16 11285, i16 0, i16 11286, i16 10673, i16 5663, i16 5661, i16 0, i16 5659, i16 1122, i16 10674, i16 2110, i16 5664, i16 0, i16 0, i16 5662, i16 0, i16 5660, i16 5668, i16 0, i16 10675, i16 5667, i16 5666, i16 5665, i16 0, i16 0, i16 10676, i16 10677, i16 0, i16 5669, i16 10678, i16 10679, i16 10680, i16 5670, i16 2275, i16 10681, i16 6834, i16 6830, i16 12689, i16 0, i16 6833, i16 0, i16 12690, i16 12691, i16 1180, i16 0, i16 0, i16 12692, i16 6835, i16 0, i16 6836, i16 0, i16 0, i16 12693, i16 12694, i16 12695, i16 12696, i16 12697, i16 0, i16 0, i16 0, i16 12698, i16 12699, i16 12700, i16 12701, i16 6837, i16 6838, i16 0, i16 11186, i16 3177, i16 6034, i16 2814, i16 11187, i16 11188, i16 762, i16 11189, i16 0, i16 6027, i16 11190, i16 6023, i16 2425, i16 6017, i16 6025, i16 6030, i16 11191, i16 2919, i16 0, i16 11192, i16 11193, i16 755, i16 11194, i16 6022, i16 11195, i16 6031, i16 3183, i16 0, i16 11196, i16 11197, i16 0, i16 0, i16 2228, i16 5817, i16 0, i16 10873, i16 0, i16 10874, i16 5818, i16 0, i16 10875, i16 5819, i16 0, i16 1190, i16 10876, i16 0, i16 10877, i16 10878, i16 1166, i16 0, i16 10879, i16 5820, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5821, i16 10880, i16 3344, i16 3538, i16 10881, i16 10882, i16 10883, i16 2996, i16 0, i16 1154, i16 3655, i16 0, i16 0, i16 9664, i16 0, i16 0, i16 9665, i16 9666, i16 3378, i16 2675, i16 9673, i16 0, i16 9667, i16 9668, i16 5117, i16 5119, i16 9669, i16 0, i16 0, i16 9670, i16 0, i16 2361, i16 0, i16 0, i16 9671, i16 9672, i16 0, i16 5121, i16 5115, i16 4021, i16 7906, i16 7907, i16 4031, i16 2360, i16 0, i16 7908, i16 4033, i16 7909, i16 1593, i16 4023, i16 2624, i16 0, i16 0, i16 7910, i16 7911, i16 0, i16 7912, i16 7913, i16 7914, i16 7915, i16 0, i16 0, i16 7916, i16 4027, i16 4020, i16 1134, i16 0, i16 1199, i16 1096, i16 4028, i16 4024, i16 11957, i16 11958, i16 0, i16 11959, i16 0, i16 11960, i16 6487, i16 11961, i16 11962, i16 2965, i16 3621, i16 0, i16 11963, i16 11964, i16 11965, i16 1987, i16 0, i16 0, i16 0, i16 6488, i16 11966, i16 11967, i16 11968, i16 11969, i16 3473, i16 6490, i16 11970, i16 6489, i16 0, i16 0, i16 6493, i16 3504, i16 7094, i16 13164, i16 13165, i16 13166, i16 0, i16 13167, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8374, i16 974, i16 4254, i16 0, i16 4252, i16 4256, i16 4253, i16 2918, i16 4883, i16 2174, i16 0, i16 4257, i16 0, i16 0, i16 3597, i16 8375, i16 4258, i16 8376, i16 0, i16 4260, i16 8377, i16 2625, i16 4259, i16 0, i16 2252, i16 0, i16 1870, i16 0, i16 0, i16 8378, i16 2485, i16 1960, i16 9142, i16 0, i16 9143, i16 0, i16 0, i16 0, i16 4759, i16 4760, i16 3435, i16 0, i16 3381, i16 3369, i16 3343, i16 1784, i16 4762, i16 0, i16 0, i16 1948, i16 0, i16 9144, i16 3332, i16 0, i16 4764, i16 4767, i16 4766, i16 0, i16 1210, i16 0, i16 0, i16 1279, i16 9145, i16 4763, i16 1975, i16 1847, i16 10458, i16 0, i16 10459, i16 0, i16 0, i16 10460, i16 10461, i16 5525, i16 10462, i16 1976, i16 0, i16 0, i16 0, i16 10463, i16 0, i16 975, i16 3130, i16 0, i16 10464, i16 5526, i16 10465, i16 0, i16 3076, i16 0, i16 10466, i16 0, i16 0, i16 10467, i16 10468, i16 2380, i16 6327, i16 3527, i16 0, i16 0, i16 0, i16 0, i16 6330, i16 0, i16 6333, i16 0, i16 0, i16 6331, i16 3116, i16 11722, i16 0, i16 0, i16 11723, i16 0, i16 0, i16 6328, i16 0, i16 0, i16 0, i16 11724, i16 0, i16 1373, i16 0, i16 0, i16 11725, i16 0, i16 6332, i16 0, i16 6584, i16 6585, i16 12161, i16 12162, i16 0, i16 12163, i16 3049, i16 1736, i16 1938, i16 6586, i16 0, i16 6587, i16 3569, i16 2004, i16 3455, i16 3609, i16 6588, i16 1375, i16 0, i16 12164, i16 12165, i16 0, i16 6589, i16 12166, i16 2722, i16 12167, i16 12168, i16 6592, i16 1115, i16 2198, i16 12169, i16 6590, i16 10936, i16 1550, i16 0, i16 0, i16 838, i16 5859, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10937, i16 10938, i16 5866, i16 10939, i16 5867, i16 10940, i16 10941, i16 2838, i16 0, i16 10942, i16 0, i16 1336, i16 10943, i16 10944, i16 0, i16 5878, i16 2936, i16 10945, i16 0, i16 11448, i16 0, i16 6159, i16 11449, i16 0, i16 0, i16 0, i16 11450, i16 0, i16 0, i16 0, i16 6168, i16 11451, i16 11452, i16 11453, i16 6162, i16 0, i16 11454, i16 0, i16 6170, i16 0, i16 11455, i16 0, i16 0, i16 0, i16 0, i16 3541, i16 6173, i16 0, i16 6164, i16 11456, i16 11457, i16 12216, i16 0, i16 12217, i16 12218, i16 2739, i16 6604, i16 12219, i16 12220, i16 6607, i16 6605, i16 12221, i16 6610, i16 0, i16 12222, i16 12223, i16 12224, i16 6611, i16 12225, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6603, i16 12226, i16 12227, i16 6616, i16 923, i16 12228, i16 12229, i16 6602, i16 0, i16 7865, i16 832, i16 4007, i16 0, i16 0, i16 3999, i16 4000, i16 0, i16 2066, i16 3356, i16 7866, i16 0, i16 7867, i16 4005, i16 4004, i16 7868, i16 0, i16 0, i16 2734, i16 0, i16 0, i16 0, i16 7869, i16 0, i16 0, i16 0, i16 4006, i16 0, i16 7870, i16 4003, i16 7871, i16 7872, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 0, i16 687, i16 7156, i16 7157, i16 7158, i16 7159, i16 7160, i16 7161, i16 7162, i16 7163, i16 7164, i16 7165, i16 7166, i16 0, i16 7167, i16 7168, i16 2490, i16 4430, i16 0, i16 0, i16 8646, i16 1277, i16 4440, i16 2262, i16 908, i16 4434, i16 1021, i16 4439, i16 0, i16 8647, i16 0, i16 1326, i16 0, i16 4436, i16 0, i16 8648, i16 0, i16 8649, i16 0, i16 0, i16 0, i16 0, i16 4442, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12475, i16 6705, i16 6707, i16 0, i16 12476, i16 6706, i16 12477, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1724, i16 0, i16 0, i16 3792, i16 0, i16 9136, i16 0, i16 9137, i16 1481, i16 3484, i16 0, i16 3283, i16 0, i16 3189, i16 9138, i16 4756, i16 0, i16 0, i16 0, i16 9139, i16 1768, i16 2656, i16 4757, i16 3674, i16 0, i16 9140, i16 0, i16 3313, i16 9141, i16 2636, i16 4758, i16 1213, i16 8124, i16 4126, i16 0, i16 0, i16 2698, i16 0, i16 8125, i16 8126, i16 0, i16 0, i16 1135, i16 0, i16 0, i16 8127, i16 0, i16 7095, i16 904, i16 3272, i16 8128, i16 0, i16 2137, i16 2759, i16 0, i16 0, i16 0, i16 8129, i16 1755, i16 0, i16 0, i16 4132, i16 0, i16 8130, i16 5309, i16 0, i16 3122, i16 5310, i16 10082, i16 0, i16 1125, i16 5311, i16 10083, i16 5312, i16 10084, i16 10085, i16 0, i16 0, i16 5313, i16 10086, i16 5315, i16 5316, i16 5314, i16 0, i16 10087, i16 0, i16 3146, i16 5318, i16 5317, i16 0, i16 10088, i16 10089, i16 10090, i16 0, i16 0, i16 10091, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 1470, i16 2526, i16 5138, i16 2934, i16 0, i16 9713, i16 5145, i16 9714, i16 9715, i16 0, i16 9716, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5150, i16 5148, i16 0, i16 0, i16 5151, i16 0, i16 9717, i16 5154, i16 0, i16 0, i16 9718, i16 5147, i16 7873, i16 7874, i16 0, i16 0, i16 859, i16 7875, i16 1707, i16 2171, i16 7876, i16 7877, i16 0, i16 0, i16 7878, i16 7879, i16 7880, i16 4001, i16 2785, i16 0, i16 0, i16 0, i16 4002, i16 7881, i16 747, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1474, i16 1874, i16 0, i16 1362, i16 9412, i16 0, i16 0, i16 937, i16 9413, i16 0, i16 0, i16 9414, i16 9415, i16 0, i16 0, i16 9416, i16 0, i16 0, i16 3534, i16 0, i16 0, i16 9417, i16 9418, i16 4956, i16 4955, i16 4958, i16 1244, i16 9419, i16 0, i16 1363, i16 1151, i16 9420, i16 3523, i16 3682, i16 0, i16 1636, i16 5824, i16 1925, i16 5823, i16 10884, i16 10885, i16 0, i16 10886, i16 5825, i16 1882, i16 10887, i16 10888, i16 10889, i16 2486, i16 10890, i16 5826, i16 10891, i16 10892, i16 1635, i16 10893, i16 3432, i16 5827, i16 5828, i16 0, i16 0, i16 5829, i16 10894, i16 10895, i16 10896, i16 11971, i16 11972, i16 6492, i16 11973, i16 1104, i16 6491, i16 6496, i16 11974, i16 0, i16 6495, i16 0, i16 0, i16 6494, i16 2737, i16 6497, i16 11975, i16 0, i16 11976, i16 11977, i16 11978, i16 11979, i16 11980, i16 0, i16 6498, i16 11981, i16 0, i16 0, i16 0, i16 6499, i16 11982, i16 11983, i16 1667, i16 3012, i16 10118, i16 3108, i16 0, i16 5339, i16 3577, i16 1448, i16 5340, i16 0, i16 5338, i16 3055, i16 5341, i16 0, i16 5342, i16 0, i16 10119, i16 804, i16 10120, i16 0, i16 2147, i16 5347, i16 0, i16 5344, i16 2890, i16 5343, i16 10121, i16 10122, i16 10123, i16 10124, i16 10125, i16 10126, i16 1221, i16 4804, i16 1472, i16 1446, i16 2796, i16 9208, i16 9209, i16 4802, i16 0, i16 783, i16 0, i16 9210, i16 0, i16 9211, i16 4805, i16 4807, i16 0, i16 1354, i16 1415, i16 9193, i16 1149, i16 1258, i16 9212, i16 0, i16 9213, i16 9214, i16 4810, i16 0, i16 9215, i16 1774, i16 3364, i16 0, i16 1802, i16 8900, i16 759, i16 0, i16 4625, i16 0, i16 8901, i16 0, i16 0, i16 0, i16 4622, i16 8902, i16 0, i16 8903, i16 0, i16 1209, i16 0, i16 0, i16 0, i16 8904, i16 8905, i16 910, i16 8906, i16 4628, i16 0, i16 8907, i16 8908, i16 3512, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2501, i16 2430, i16 12015, i16 2821, i16 12016, i16 6516, i16 1268, i16 0, i16 12017, i16 0, i16 0, i16 6525, i16 12018, i16 6522, i16 6535, i16 2822, i16 2595, i16 6519, i16 0, i16 2719, i16 2770, i16 6520, i16 6524, i16 2219, i16 12019, i16 2978, i16 2669, i16 12020, i16 0, i16 2283, i16 6523, i16 2451, i16 4550, i16 8780, i16 0, i16 8781, i16 8782, i16 0, i16 0, i16 8783, i16 4551, i16 4552, i16 3263, i16 0, i16 4554, i16 4553, i16 1998, i16 0, i16 2263, i16 1003, i16 1025, i16 8784, i16 4555, i16 8785, i16 776, i16 0, i16 0, i16 0, i16 2293, i16 4556, i16 8786, i16 6377, i16 4557, i16 1468, i16 12230, i16 12231, i16 3014, i16 0, i16 6606, i16 12232, i16 2125, i16 12233, i16 12234, i16 12235, i16 0, i16 0, i16 0, i16 0, i16 12236, i16 12237, i16 12238, i16 1650, i16 0, i16 0, i16 0, i16 12239, i16 12240, i16 12241, i16 12242, i16 12243, i16 0, i16 12244, i16 12245, i16 12246, i16 3323, i16 12247, i16 1479, i16 11505, i16 6195, i16 11506, i16 6194, i16 11507, i16 1983, i16 0, i16 11508, i16 11509, i16 11510, i16 11511, i16 1643, i16 5033, i16 11512, i16 0, i16 0, i16 11513, i16 6196, i16 2016, i16 0, i16 11514, i16 11515, i16 1052, i16 11516, i16 6197, i16 11517, i16 889, i16 11518, i16 2116, i16 6198, i16 11519, i16 968, i16 0, i16 0, i16 3649, i16 7705, i16 7706, i16 7707, i16 7708, i16 0, i16 2052, i16 2775, i16 1660, i16 3900, i16 3901, i16 0, i16 7709, i16 7710, i16 3634, i16 0, i16 0, i16 3670, i16 3903, i16 7711, i16 7712, i16 7713, i16 1587, i16 7714, i16 7715, i16 3902, i16 7716, i16 1042, i16 0, i16 1224, i16 0, i16 10478, i16 10479, i16 0, i16 0, i16 0, i16 10480, i16 5531, i16 10481, i16 10482, i16 2713, i16 10483, i16 5532, i16 2288, i16 0, i16 0, i16 10484, i16 0, i16 0, i16 3390, i16 10485, i16 0, i16 3098, i16 5533, i16 5534, i16 2584, i16 10486, i16 3604, i16 0, i16 10487, i16 5536, i16 2248, i16 1192, i16 0, i16 0, i16 3497, i16 1010, i16 1991, i16 1556, i16 0, i16 6739, i16 12524, i16 6738, i16 1862, i16 6740, i16 6737, i16 0, i16 0, i16 1787, i16 12525, i16 0, i16 0, i16 6744, i16 6167, i16 0, i16 12527, i16 3952, i16 12528, i16 2242, i16 6742, i16 12529, i16 12530, i16 12531, i16 1225, i16 0, i16 5685, i16 10699, i16 3460, i16 1631, i16 5684, i16 10700, i16 10701, i16 10702, i16 5688, i16 3447, i16 0, i16 2935, i16 0, i16 10703, i16 3114, i16 10704, i16 10705, i16 10706, i16 2034, i16 5687, i16 10707, i16 1924, i16 1632, i16 1849, i16 1288, i16 3211, i16 5686, i16 10708, i16 10709, i16 0, i16 1737, i16 5235, i16 5234, i16 0, i16 9880, i16 0, i16 0, i16 5236, i16 0, i16 9881, i16 0, i16 0, i16 0, i16 9882, i16 9883, i16 0, i16 0, i16 0, i16 5237, i16 9884, i16 0, i16 0, i16 5238, i16 0, i16 0, i16 0, i16 0, i16 9885, i16 0, i16 0, i16 0, i16 0, i16 1993, i16 2201, i16 3740, i16 7401, i16 3738, i16 0, i16 3739, i16 1271, i16 0, i16 0, i16 1688, i16 1013, i16 0, i16 3737, i16 3736, i16 3198, i16 7402, i16 0, i16 0, i16 0, i16 1817, i16 1816, i16 2467, i16 3741, i16 3148, i16 2320, i16 7403, i16 7404, i16 0, i16 245, i16 3742, i16 3744, i16 10953, i16 0, i16 0, i16 5870, i16 10954, i16 0, i16 0, i16 10955, i16 0, i16 5869, i16 0, i16 0, i16 10956, i16 0, i16 0, i16 5871, i16 10957, i16 2537, i16 0, i16 2937, i16 0, i16 10958, i16 0, i16 0, i16 0, i16 2642, i16 10959, i16 0, i16 10960, i16 0, i16 5875, i16 0, i16 714, i16 725, i16 715, i16 726, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 716, i16 0, i16 0, i16 727, i16 717, i16 0, i16 0, i16 728, i16 719, i16 0, i16 0, i16 730, i16 718, i16 0, i16 0, i16 729, i16 720, i16 741, i16 0, i16 0, i16 2762, i16 1913, i16 8396, i16 8397, i16 2399, i16 3561, i16 0, i16 8398, i16 8399, i16 8400, i16 0, i16 0, i16 4278, i16 8401, i16 4279, i16 2867, i16 8402, i16 1798, i16 0, i16 0, i16 8403, i16 8404, i16 4281, i16 0, i16 0, i16 4282, i16 8405, i16 8406, i16 8407, i16 8408, i16 0, i16 0, i16 8650, i16 4444, i16 4454, i16 4452, i16 0, i16 0, i16 4449, i16 8651, i16 8652, i16 8653, i16 4448, i16 3653, i16 8654, i16 4450, i16 0, i16 0, i16 1327, i16 8655, i16 1608, i16 0, i16 8656, i16 2057, i16 8657, i16 8658, i16 0, i16 4457, i16 4443, i16 0, i16 0, i16 8659, i16 0, i16 4447, i16 6348, i16 11745, i16 0, i16 1809, i16 11746, i16 11747, i16 0, i16 0, i16 0, i16 0, i16 4696, i16 11748, i16 6349, i16 11749, i16 6350, i16 11750, i16 1985, i16 0, i16 6351, i16 6352, i16 11751, i16 11752, i16 6353, i16 0, i16 0, i16 6354, i16 6355, i16 0, i16 11753, i16 0, i16 11754, i16 11755, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 482, i16 483, i16 484, i16 485, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 10190, i16 10191, i16 3602, i16 10192, i16 10193, i16 10194, i16 5392, i16 5390, i16 5391, i16 10195, i16 10189, i16 10196, i16 1187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3471, i16 0, i16 0, i16 10197, i16 3231, i16 0, i16 5394, i16 10198, i16 0, i16 0, i16 5393, i16 0, i16 0, i16 10199, i16 11214, i16 6043, i16 11215, i16 0, i16 2594, i16 0, i16 6044, i16 11216, i16 11217, i16 3525, i16 6033, i16 1051, i16 11218, i16 6039, i16 0, i16 11219, i16 6042, i16 3389, i16 0, i16 11220, i16 0, i16 0, i16 6045, i16 0, i16 0, i16 6038, i16 6041, i16 0, i16 11221, i16 0, i16 0, i16 0, i16 8145, i16 8146, i16 0, i16 1322, i16 0, i16 4134, i16 0, i16 8147, i16 8148, i16 8149, i16 8150, i16 0, i16 8151, i16 8152, i16 0, i16 8153, i16 8154, i16 0, i16 0, i16 3261, i16 8155, i16 0, i16 8156, i16 2436, i16 0, i16 0, i16 0, i16 0, i16 2663, i16 8157, i16 0, i16 4136, i16 9937, i16 0, i16 0, i16 2002, i16 0, i16 0, i16 9938, i16 9939, i16 5269, i16 9940, i16 5268, i16 9941, i16 9942, i16 0, i16 9943, i16 9944, i16 5270, i16 9945, i16 1072, i16 0, i16 0, i16 5272, i16 0, i16 9946, i16 5271, i16 9947, i16 5274, i16 5273, i16 9948, i16 0, i16 0, i16 0, i16 11986, i16 11987, i16 0, i16 6505, i16 11988, i16 11989, i16 11990, i16 3899, i16 3898, i16 0, i16 0, i16 0, i16 0, i16 6506, i16 5764, i16 6507, i16 2535, i16 2166, i16 2939, i16 0, i16 0, i16 11991, i16 11992, i16 6508, i16 11993, i16 0, i16 3242, i16 2677, i16 1685, i16 0, i16 11994, i16 2540, i16 3539, i16 0, i16 0, i16 0, i16 9581, i16 5066, i16 5060, i16 5057, i16 9582, i16 0, i16 9583, i16 3617, i16 5063, i16 0, i16 9584, i16 9585, i16 0, i16 2009, i16 5065, i16 0, i16 0, i16 5070, i16 9586, i16 0, i16 2800, i16 5068, i16 0, i16 9587, i16 0, i16 9588, i16 5062, i16 9589, i16 1236, i16 0, i16 3722, i16 0, i16 0, i16 3723, i16 3592, i16 0, i16 3500, i16 2415, i16 3725, i16 1865, i16 2896, i16 7395, i16 3728, i16 0, i16 0, i16 869, i16 1560, i16 0, i16 1559, i16 815, i16 7396, i16 7397, i16 3702, i16 3701, i16 0, i16 1704, i16 746, i16 7398, i16 3729, i16 3730, i16 8916, i16 0, i16 8917, i16 0, i16 8918, i16 8919, i16 4634, i16 0, i16 4638, i16 8920, i16 8921, i16 0, i16 3035, i16 2794, i16 0, i16 8922, i16 8923, i16 0, i16 0, i16 0, i16 4631, i16 8924, i16 4635, i16 0, i16 0, i16 0, i16 1443, i16 0, i16 0, i16 8925, i16 1766, i16 8926, i16 9428, i16 4968, i16 1842, i16 2270, i16 1686, i16 0, i16 3175, i16 9429, i16 0, i16 3255, i16 3695, i16 9430, i16 0, i16 0, i16 9431, i16 1864, i16 9432, i16 0, i16 0, i16 1733, i16 3647, i16 9433, i16 0, i16 0, i16 4969, i16 4970, i16 0, i16 1843, i16 0, i16 9434, i16 9435, i16 4971, i16 12756, i16 0, i16 12757, i16 12758, i16 12759, i16 0, i16 0, i16 12760, i16 2482, i16 0, i16 0, i16 6870, i16 0, i16 12761, i16 12762, i16 0, i16 2826, i16 0, i16 0, i16 12763, i16 0, i16 12764, i16 12765, i16 6871, i16 12766, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6876, i16 0, i16 7381, i16 7382, i16 3719, i16 2928, i16 7383, i16 1270, i16 0, i16 7384, i16 0, i16 0, i16 0, i16 2930, i16 0, i16 2880, i16 1532, i16 3302, i16 0, i16 7385, i16 0, i16 0, i16 0, i16 6101, i16 3720, i16 2133, i16 3721, i16 954, i16 7386, i16 0, i16 7387, i16 1378, i16 1577, i16 3450, i16 1238, i16 3818, i16 3819, i16 7595, i16 948, i16 0, i16 7596, i16 7597, i16 7598, i16 3817, i16 0, i16 7599, i16 7600, i16 7601, i16 7602, i16 0, i16 7604, i16 0, i16 1957, i16 0, i16 3822, i16 3821, i16 3820, i16 7605, i16 3764, i16 7606, i16 3823, i16 7607, i16 7608, i16 7609, i16 7610, i16 2061, i16 10967, i16 10968, i16 0, i16 0, i16 0, i16 5881, i16 5882, i16 10969, i16 10970, i16 10971, i16 0, i16 1953, i16 0, i16 10972, i16 5880, i16 10973, i16 1679, i16 5879, i16 0, i16 0, i16 5883, i16 0, i16 0, i16 10974, i16 2643, i16 3191, i16 2346, i16 0, i16 0, i16 0, i16 0, i16 2497, i16 3800, i16 7547, i16 0, i16 7548, i16 7549, i16 3802, i16 7550, i16 0, i16 0, i16 0, i16 7551, i16 0, i16 0, i16 3304, i16 7552, i16 7553, i16 7554, i16 1473, i16 7555, i16 7556, i16 7557, i16 0, i16 7558, i16 0, i16 1796, i16 3088, i16 3801, i16 7559, i16 7560, i16 0, i16 7561, i16 7562, i16 4569, i16 0, i16 0, i16 4567, i16 8807, i16 0, i16 0, i16 0, i16 4570, i16 0, i16 0, i16 0, i16 0, i16 8808, i16 3206, i16 8809, i16 0, i16 768, i16 0, i16 8810, i16 0, i16 0, i16 3157, i16 0, i16 0, i16 3068, i16 8811, i16 0, i16 4571, i16 8812, i16 4574, i16 2082, i16 4825, i16 9235, i16 2092, i16 9236, i16 0, i16 9237, i16 4163, i16 1569, i16 3563, i16 9238, i16 9239, i16 0, i16 0, i16 4816, i16 9240, i16 2709, i16 1030, i16 1698, i16 9241, i16 4808, i16 0, i16 4824, i16 1092, i16 0, i16 0, i16 4822, i16 4826, i16 9242, i16 2797, i16 0, i16 0, i16 0, i16 9177, i16 2477, i16 9178, i16 9179, i16 3222, i16 9180, i16 4798, i16 0, i16 9181, i16 9182, i16 3097, i16 0, i16 0, i16 0, i16 4797, i16 2987, i16 3314, i16 1148, i16 9183, i16 2336, i16 1999, i16 0, i16 0, i16 9184, i16 2676, i16 9185, i16 3485, i16 0, i16 9186, i16 4793, i16 4792, i16 0, i16 1242, i16 0, i16 4572, i16 4579, i16 2083, i16 0, i16 0, i16 0, i16 0, i16 4573, i16 2943, i16 0, i16 0, i16 8813, i16 8814, i16 8815, i16 8816, i16 3533, i16 4575, i16 4576, i16 4580, i16 2793, i16 4577, i16 1610, i16 2311, i16 0, i16 0, i16 4594, i16 3021, i16 0, i16 2519, i16 0, i16 6874, i16 12768, i16 6873, i16 6875, i16 12769, i16 6872, i16 0, i16 12767, i16 0, i16 0, i16 12770, i16 12771, i16 12772, i16 6878, i16 12773, i16 0, i16 0, i16 12774, i16 0, i16 0, i16 12775, i16 6877, i16 12776, i16 6880, i16 0, i16 0, i16 1344, i16 6879, i16 0, i16 12777, i16 0, i16 6881, i16 11995, i16 11996, i16 849, i16 0, i16 3371, i16 2210, i16 11997, i16 0, i16 0, i16 0, i16 11998, i16 11999, i16 0, i16 12000, i16 1465, i16 0, i16 12001, i16 1374, i16 12002, i16 12003, i16 3243, i16 12004, i16 0, i16 0, i16 0, i16 0, i16 6509, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1245, i16 0, i16 5239, i16 0, i16 0, i16 0, i16 0, i16 5240, i16 9886, i16 0, i16 0, i16 0, i16 1501, i16 9887, i16 9888, i16 3041, i16 0, i16 9889, i16 5242, i16 0, i16 9890, i16 0, i16 2146, i16 0, i16 0, i16 5241, i16 0, i16 0, i16 0, i16 0, i16 9891, i16 0, i16 7901, i16 7902, i16 0, i16 4010, i16 7903, i16 0, i16 7904, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4025, i16 4030, i16 0, i16 4026, i16 7905, i16 9949, i16 9950, i16 0, i16 9951, i16 1525, i16 9952, i16 9953, i16 3573, i16 0, i16 1353, i16 0, i16 939, i16 0, i16 0, i16 9954, i16 0, i16 9955, i16 0, i16 0, i16 9956, i16 0, i16 9957, i16 1383, i16 9958, i16 9959, i16 0, i16 0, i16 0, i16 9960, i16 0, i16 9961, i16 9962, i16 222, i16 223, i16 224, i16 244, i16 0, i16 246, i16 247, i16 248, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 324, i16 329, i16 265, i16 266, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 254, i16 0, i16 0, i16 0, i16 4062, i16 0, i16 0, i16 0, i16 7982, i16 7983, i16 4061, i16 1064, i16 7984, i16 0, i16 4063, i16 7985, i16 7986, i16 0, i16 0, i16 4066, i16 0, i16 0, i16 0, i16 0, i16 4065, i16 7987, i16 0, i16 0, i16 0, i16 7988, i16 7989, i16 0, i16 0, i16 7990, i16 7991, i16 7992, i16 8158, i16 8159, i16 8160, i16 0, i16 0, i16 0, i16 8161, i16 0, i16 3330, i16 8162, i16 0, i16 4137, i16 0, i16 0, i16 4142, i16 0, i16 0, i16 8163, i16 8164, i16 3204, i16 0, i16 0, i16 0, i16 0, i16 4141, i16 4135, i16 4138, i16 4140, i16 8166, i16 0, i16 1691, i16 0, i16 10718, i16 10719, i16 1977, i16 1527, i16 2383, i16 5689, i16 5695, i16 10720, i16 10721, i16 0, i16 0, i16 5690, i16 1451, i16 10722, i16 5698, i16 5702, i16 1478, i16 10723, i16 0, i16 10724, i16 0, i16 0, i16 5697, i16 10725, i16 0, i16 10726, i16 10727, i16 5706, i16 10728, i16 10729, i16 1633, i16 0, i16 736, i16 0, i16 0, i16 731, i16 722, i16 743, i16 0, i16 0, i16 738, i16 0, i16 0, i16 733, i16 721, i16 0, i16 0, i16 737, i16 742, i16 0, i16 0, i16 732, i16 723, i16 0, i16 0, i16 739, i16 744, i16 0, i16 0, i16 734, i16 724, i16 0, i16 0, i16 740, i16 2784, i16 7664, i16 7665, i16 2202, i16 3871, i16 7666, i16 3201, i16 2307, i16 1123, i16 0, i16 1130, i16 3872, i16 0, i16 0, i16 3874, i16 0, i16 0, i16 1429, i16 7667, i16 7668, i16 3873, i16 7669, i16 7670, i16 3648, i16 7671, i16 0, i16 0, i16 0, i16 0, i16 2040, i16 0, i16 0, i16 4064, i16 0, i16 2932, i16 0, i16 0, i16 4067, i16 7993, i16 7994, i16 7995, i16 7996, i16 0, i16 7997, i16 7998, i16 7999, i16 4068, i16 0, i16 0, i16 8000, i16 0, i16 8001, i16 4070, i16 0, i16 4069, i16 8002, i16 0, i16 0, i16 0, i16 0, i16 4072, i16 0, i16 8003, i16 0, i16 8416, i16 945, i16 8417, i16 8418, i16 0, i16 0, i16 8419, i16 0, i16 2370, i16 1189, i16 8420, i16 4287, i16 3385, i16 0, i16 0, i16 0, i16 0, i16 2487, i16 8421, i16 1084, i16 8422, i16 8423, i16 4289, i16 4291, i16 1184, i16 0, i16 8424, i16 4288, i16 4290, i16 0, i16 4293, i16 0, i16 9441, i16 0, i16 9442, i16 9443, i16 4979, i16 0, i16 0, i16 0, i16 9444, i16 9445, i16 4980, i16 4981, i16 9446, i16 9447, i16 9448, i16 4982, i16 9449, i16 4984, i16 4983, i16 4985, i16 938, i16 2573, i16 0, i16 4986, i16 9450, i16 9451, i16 1785, i16 1071, i16 4987, i16 9452, i16 9453, i16 2753, i16 12257, i16 0, i16 0, i16 0, i16 12258, i16 12259, i16 0, i16 12260, i16 12261, i16 0, i16 0, i16 12262, i16 0, i16 2355, i16 0, i16 12263, i16 0, i16 0, i16 12264, i16 0, i16 0, i16 0, i16 12265, i16 6619, i16 12266, i16 6618, i16 12267, i16 12268, i16 12269, i16 12270, i16 0, i16 12271, i16 10469, i16 5529, i16 10470, i16 5530, i16 2980, i16 10471, i16 2188, i16 5527, i16 0, i16 2596, i16 10472, i16 10473, i16 5528, i16 10474, i16 0, i16 0, i16 2107, i16 10475, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10476, i16 0, i16 0, i16 805, i16 10477, i16 0, i16 0, i16 0, i16 12005, i16 0, i16 6511, i16 12006, i16 12007, i16 6510, i16 997, i16 0, i16 12008, i16 2899, i16 6512, i16 2994, i16 0, i16 2738, i16 12009, i16 6513, i16 2017, i16 12010, i16 0, i16 0, i16 6515, i16 12011, i16 12012, i16 3411, i16 6530, i16 6517, i16 6518, i16 12013, i16 0, i16 2666, i16 12014, i16 0, i16 1254, i16 0, i16 12579, i16 6786, i16 0, i16 0, i16 6785, i16 0, i16 6784, i16 0, i16 0, i16 6329, i16 12580, i16 3249, i16 12581, i16 0, i16 0, i16 12582, i16 12583, i16 6787, i16 6788, i16 12584, i16 12585, i16 0, i16 12586, i16 12587, i16 12588, i16 0, i16 12589, i16 0, i16 12590, i16 12591, i16 9702, i16 5142, i16 0, i16 5141, i16 5143, i16 9703, i16 9704, i16 9705, i16 9706, i16 0, i16 5146, i16 0, i16 0, i16 0, i16 9707, i16 9708, i16 9709, i16 2754, i16 0, i16 5140, i16 0, i16 9710, i16 9711, i16 0, i16 0, i16 5144, i16 0, i16 0, i16 9712, i16 0, i16 0, i16 0, i16 2280, i16 6299, i16 0, i16 6304, i16 1574, i16 6301, i16 6302, i16 11686, i16 6298, i16 11687, i16 0, i16 0, i16 2315, i16 2854, i16 11688, i16 11689, i16 2546, i16 0, i16 994, i16 11690, i16 0, i16 0, i16 11691, i16 11692, i16 0, i16 3081, i16 0, i16 11693, i16 1250, i16 0, i16 11694, i16 2645, i16 10216, i16 0, i16 10217, i16 10218, i16 10219, i16 10220, i16 10221, i16 10222, i16 10223, i16 0, i16 10224, i16 0, i16 0, i16 10225, i16 3074, i16 0, i16 5416, i16 0, i16 0, i16 0, i16 5417, i16 0, i16 0, i16 7073, i16 5418, i16 5419, i16 5420, i16 0, i16 0, i16 10226, i16 0, i16 1793, i16 6633, i16 0, i16 0, i16 0, i16 12337, i16 12338, i16 0, i16 12339, i16 0, i16 12340, i16 12341, i16 0, i16 1416, i16 12342, i16 6635, i16 12343, i16 12344, i16 12345, i16 0, i16 12346, i16 12347, i16 1513, i16 12348, i16 0, i16 0, i16 0, i16 12349, i16 0, i16 6634, i16 12350, i16 2126, i16 12351, i16 8938, i16 8939, i16 0, i16 8940, i16 0, i16 0, i16 0, i16 4640, i16 0, i16 3347, i16 0, i16 0, i16 0, i16 8941, i16 0, i16 4641, i16 0, i16 0, i16 0, i16 8942, i16 8943, i16 0, i16 4642, i16 0, i16 3423, i16 0, i16 2251, i16 8944, i16 0, i16 8945, i16 0, i16 0, i16 235, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 269, i16 256, i16 270, i16 7109, i16 0, i16 4075, i16 4073, i16 4071, i16 4074, i16 0, i16 8004, i16 0, i16 0, i16 4076, i16 8005, i16 8006, i16 8007, i16 8010, i16 8011, i16 4077, i16 8008, i16 8009, i16 4078, i16 0, i16 4079, i16 0, i16 0, i16 0, i16 4080, i16 3841, i16 8012, i16 1965, i16 1824, i16 8013, i16 8014, i16 1016, i16 8015, i16 6891, i16 12790, i16 0, i16 12791, i16 2236, i16 0, i16 12792, i16 0, i16 12793, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12794, i16 6892, i16 12795, i16 6893, i16 12796, i16 6894, i16 6895, i16 12797, i16 12798, i16 12799, i16 1657, i16 0, i16 0, i16 12800, i16 12801, i16 0, i16 6896, i16 6897, i16 9963, i16 0, i16 9964, i16 0, i16 0, i16 9965, i16 9966, i16 0, i16 0, i16 1186, i16 9967, i16 9968, i16 0, i16 9969, i16 0, i16 0, i16 0, i16 0, i16 3637, i16 5276, i16 0, i16 9970, i16 0, i16 9971, i16 0, i16 9972, i16 0, i16 5278, i16 9973, i16 9974, i16 0, i16 9975, i16 7405, i16 7406, i16 7407, i16 2506, i16 3630, i16 787, i16 0, i16 0, i16 7408, i16 0, i16 0, i16 0, i16 0, i16 3743, i16 963, i16 7409, i16 1345, i16 7410, i16 2602, i16 7411, i16 0, i16 7412, i16 1482, i16 3745, i16 0, i16 0, i16 0, i16 2911, i16 0, i16 7413, i16 7414, i16 7415, i16 494, i16 495, i16 496, i16 497, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 232, i16 233, i16 242, i16 243, i16 0, i16 750, i16 3137, i16 3994, i16 0, i16 3990, i16 0, i16 7861, i16 3985, i16 3991, i16 1725, i16 7862, i16 0, i16 0, i16 7863, i16 7864, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3998, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12272, i16 12273, i16 12274, i16 12275, i16 0, i16 12276, i16 12277, i16 12278, i16 12279, i16 0, i16 0, i16 12280, i16 12281, i16 12282, i16 12283, i16 6617, i16 12284, i16 0, i16 3298, i16 12285, i16 0, i16 12286, i16 0, i16 12287, i16 12288, i16 12289, i16 0, i16 0, i16 12290, i16 12291, i16 0, i16 12292, i16 1009, i16 6386, i16 3667, i16 2659, i16 3696, i16 11796, i16 11797, i16 1860, i16 6385, i16 11798, i16 2454, i16 11799, i16 0, i16 6402, i16 2351, i16 11800, i16 0, i16 2901, i16 0, i16 3143, i16 0, i16 11802, i16 11801, i16 0, i16 0, i16 11803, i16 6389, i16 1810, i16 1861, i16 11804, i16 2123, i16 0, i16 4849, i16 4836, i16 0, i16 4846, i16 0, i16 9254, i16 0, i16 4840, i16 9255, i16 0, i16 9256, i16 9257, i16 9258, i16 9259, i16 2180, i16 4850, i16 9260, i16 9261, i16 2268, i16 0, i16 0, i16 9262, i16 9263, i16 0, i16 0, i16 4848, i16 1150, i16 9264, i16 9265, i16 9266, i16 0, i16 0, i16 13041, i16 0, i16 0, i16 0, i16 0, i16 13042, i16 7028, i16 13043, i16 0, i16 13044, i16 0, i16 13045, i16 0, i16 7029, i16 13046, i16 7030, i16 13047, i16 0, i16 3700, i16 13048, i16 13049, i16 0, i16 0, i16 0, i16 7027, i16 2512, i16 1762, i16 0, i16 0, i16 7031, i16 13050, i16 0, i16 6130, i16 0, i16 3293, i16 6131, i16 11395, i16 11396, i16 6128, i16 11397, i16 6129, i16 6134, i16 6137, i16 11398, i16 0, i16 6135, i16 11399, i16 11400, i16 11401, i16 6133, i16 6127, i16 11402, i16 11403, i16 0, i16 0, i16 0, i16 2587, i16 11404, i16 6144, i16 0, i16 3387, i16 0, i16 11405, i16 11406, i16 4083, i16 8027, i16 8028, i16 3253, i16 4085, i16 0, i16 0, i16 8029, i16 4087, i16 4086, i16 8030, i16 4088, i16 8031, i16 4089, i16 0, i16 1490, i16 0, i16 8032, i16 903, i16 4090, i16 0, i16 8033, i16 4092, i16 0, i16 4091, i16 0, i16 8034, i16 8035, i16 4094, i16 8036, i16 0, i16 2777, i16 3830, i16 829, i16 7623, i16 1518, i16 1430, i16 1995, i16 2622, i16 1313, i16 2321, i16 1584, i16 7624, i16 1669, i16 3832, i16 3417, i16 2757, i16 7625, i16 1868, i16 0, i16 3831, i16 7626, i16 3833, i16 7627, i16 0, i16 7628, i16 7629, i16 0, i16 2781, i16 0, i16 1112, i16 0, i16 0, i16 7630, i16 3320, i16 897, i16 811, i16 0, i16 2818, i16 11714, i16 11715, i16 6321, i16 0, i16 0, i16 11721, i16 11716, i16 6320, i16 0, i16 2883, i16 0, i16 6325, i16 11717, i16 0, i16 0, i16 6314, i16 0, i16 6324, i16 6326, i16 0, i16 1509, i16 6322, i16 1645, i16 11718, i16 1926, i16 11719, i16 11720, i16 3576, i16 1731, i16 2552, i16 4614, i16 8885, i16 2309, i16 8886, i16 1612, i16 2223, i16 909, i16 2371, i16 4612, i16 1252, i16 8887, i16 8888, i16 8889, i16 0, i16 0, i16 1442, i16 0, i16 2672, i16 4618, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2406, i16 0, i16 8890, i16 4621, i16 0, i16 7416, i16 1196, i16 7417, i16 7418, i16 0, i16 0, i16 0, i16 0, i16 7419, i16 3746, i16 788, i16 7420, i16 7421, i16 1561, i16 1197, i16 3185, i16 3019, i16 1272, i16 7422, i16 0, i16 0, i16 7423, i16 7424, i16 7425, i16 0, i16 7426, i16 1014, i16 0, i16 3781, i16 2752, i16 0, i16 0, i16 1529, i16 0, i16 2716, i16 6278, i16 11631, i16 11632, i16 0, i16 11633, i16 1458, i16 0, i16 2209, i16 0, i16 6281, i16 0, i16 2817, i16 11634, i16 6280, i16 11635, i16 11636, i16 1420, i16 11637, i16 11638, i16 6279, i16 2524, i16 1228, i16 0, i16 0, i16 6282, i16 0, i16 6283, i16 11639, i16 2118, i16 2041, i16 4564, i16 8795, i16 8796, i16 8797, i16 0, i16 8798, i16 2329, i16 6559, i16 3067, i16 0, i16 1947, i16 8799, i16 1730, i16 4565, i16 0, i16 8800, i16 8801, i16 8802, i16 2476, i16 8803, i16 3196, i16 8804, i16 0, i16 2518, i16 0, i16 8805, i16 4568, i16 8806, i16 0, i16 4566, i16 0, i16 10235, i16 5426, i16 0, i16 1159, i16 3056, i16 5427, i16 10236, i16 5428, i16 10237, i16 0, i16 5429, i16 0, i16 10238, i16 0, i16 3437, i16 0, i16 10239, i16 10240, i16 3430, i16 0, i16 2655, i16 0, i16 10241, i16 0, i16 2417, i16 10242, i16 0, i16 5431, i16 10243, i16 0, i16 2033, i16 0, i16 5628, i16 10657, i16 0, i16 10658, i16 5652, i16 5654, i16 0, i16 10659, i16 0, i16 10660, i16 0, i16 0, i16 5655, i16 10661, i16 10662, i16 0, i16 10663, i16 0, i16 10664, i16 3227, i16 0, i16 5656, i16 0, i16 0, i16 0, i16 10665, i16 0, i16 0, i16 10666, i16 10667, i16 3443, i16 0, i16 3325, i16 7813, i16 0, i16 0, i16 0, i16 0, i16 3062, i16 7814, i16 7815, i16 3968, i16 7816, i16 1183, i16 3963, i16 3964, i16 3966, i16 7817, i16 0, i16 7818, i16 0, i16 0, i16 7819, i16 7820, i16 3967, i16 0, i16 1274, i16 2220, i16 0, i16 3202, i16 3965, i16 3961, i16 1564, i16 0, i16 5629, i16 10622, i16 10623, i16 10624, i16 10625, i16 0, i16 10626, i16 5630, i16 0, i16 10627, i16 0, i16 10628, i16 10629, i16 5635, i16 10630, i16 10631, i16 0, i16 5624, i16 3951, i16 5631, i16 5625, i16 0, i16 0, i16 5634, i16 0, i16 10632, i16 0, i16 10633, i16 0, i16 0, i16 0, i16 5640, i16 4350, i16 0, i16 0, i16 4349, i16 4348, i16 3188, i16 0, i16 4357, i16 0, i16 8514, i16 0, i16 8512, i16 3341, i16 0, i16 4351, i16 0, i16 8513, i16 8515, i16 0, i16 0, i16 4353, i16 3358, i16 8516, i16 4352, i16 8517, i16 0, i16 0, i16 8518, i16 8519, i16 0, i16 8520, i16 4354, i16 9726, i16 5159, i16 0, i16 0, i16 0, i16 9727, i16 9728, i16 9729, i16 0, i16 5155, i16 0, i16 5156, i16 0, i16 9730, i16 0, i16 5160, i16 0, i16 5158, i16 0, i16 0, i16 0, i16 3141, i16 0, i16 9731, i16 5166, i16 0, i16 5163, i16 5162, i16 0, i16 5165, i16 2865, i16 5167, i16 3839, i16 0, i16 3840, i16 7634, i16 7635, i16 2879, i16 902, i16 0, i16 0, i16 3843, i16 1778, i16 7636, i16 3842, i16 1723, i16 7637, i16 3844, i16 5856, i16 3845, i16 3316, i16 3846, i16 0, i16 3847, i16 3848, i16 2134, i16 7638, i16 1917, i16 0, i16 0, i16 0, i16 7639, i16 0, i16 0, i16 5887, i16 10975, i16 5888, i16 5884, i16 10977, i16 10978, i16 10979, i16 0, i16 5885, i16 0, i16 5886, i16 10980, i16 0, i16 0, i16 10981, i16 1640, i16 10976, i16 0, i16 0, i16 5894, i16 0, i16 5890, i16 10982, i16 0, i16 10983, i16 0, i16 3165, i16 10984, i16 3359, i16 3103, i16 10985, i16 0, i16 120, i16 12, i16 25, i16 0, i16 0, i16 5, i16 0, i16 23, i16 156, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 17, i16 157, i16 107, i16 21, i16 147, i16 174, i16 24, i16 0, i16 3, i16 173, i16 137, i16 30, i16 88, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 143, i16 145, i16 8, i16 117, i16 132, i16 0, i16 0, i16 177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 187, i16 95, i16 182, i16 161, i16 129, i16 127, i16 97, i16 135, i16 103, i16 108, i16 83, i16 86, i16 166, i16 139, i16 89, i16 172, i16 56, i16 77, i16 106, i16 162, i16 189, i16 155, i16 41, i16 141, i16 124, i16 28, i16 74, i16 68, i16 113, i16 27, i16 67, i16 85, i16 144, i16 70, i16 126, i16 96, i16 35, i16 61, i16 190, i16 123, i16 176, i16 171, i16 148, i16 183, i16 38, i16 54, i16 142, i16 186, i16 87, i16 75, i16 94, i16 76, i16 32, i16 98, i16 163, i16 20, i16 133, i16 154, i16 66, i16 138, i16 52, i16 101, i16 44, i16 63, i16 19, i16 22, i16 164, i16 191, i16 136, i16 80, i16 65, i16 91, i16 114, i16 181, i16 51, i16 79, i16 184, i16 116, i16 151, i16 92, i16 140, i16 64, i16 167, i16 50, i16 110, i16 130, i16 192, i16 152, i16 100, i16 99, i16 36, i16 93, i16 72, i16 146, i16 131, i16 33, i16 47, i16 119, i16 7, i16 73, i16 185, i16 57, i16 160, i16 150, i16 78, i16 45, i16 118, i16 49, i16 115, i16 29, i16 31, i16 69, i16 188, i16 53, i16 149, i16 121, i16 55, i16 109, i16 82, i16 153, i16 178, i16 90, i16 122, i16 104, i16 6, i16 175, i16 60, i16 59, i16 43, i16 180, i16 125, i16 16, i16 179, i16 102, i16 134, i16 62, i16 37, i16 158, i16 71, i16 40, i16 84, i16 0, i16 1, i16 159, i16 13, i16 81, i16 111, i16 46, i16 105, i16 9, i16 128, i16 18, i16 170, i16 11, i16 15, i16 39, i16 34, i16 2, i16 48, i16 10, i16 14, i16 26, i16 58, i16 42, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 169, i16 112, i16 168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 165, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 84, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1270, i16 1950, i16 0, i16 426, i16 2786, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3365, i16 3389, i16 3410, i16 1975, i16 0, i16 2471, i16 2480, i16 2502, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2924, i16 1668, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 408, i16 0, i16 0, i16 3296, i16 0, i16 3249, i16 1864, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 141, i16 0, i16 51, i16 1513, i16 1049, i16 2968, i16 2294, i16 0, i16 1390, i16 979, i16 0, i16 1886, i16 0, i16 617, i16 0, i16 0, i16 0, i16 1282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 471, i16 2852, i16 0, i16 0, i16 0, i16 0, i16 3275, i16 2769, i16 2449, i16 0, i16 0, i16 0, i16 0, i16 693, i16 657, i16 2725, i16 1421, i16 1123, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1524, i16 2708, i16 2736, i16 2762, i16 2793, i16 2808, i16 2834, i16 2854, i16 2870, i16 2890, i16 2909, i16 2932, i16 2958, i16 2983, i16 3003, i16 3025, i16 3042, i16 3062, i16 3085, i16 3108, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2374, i16 367, i16 1664, i16 0, i16 0, i16 0, i16 0, i16 2342, i16 0, i16 0, i16 0, i16 0, i16 165, i16 2704, i16 1683, i16 0, i16 0, i16 1370, i16 0, i16 2875, i16 0, i16 2939, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1678, i16 423, i16 0, i16 2585, i16 0, i16 0, i16 0, i16 2178, i16 0, i16 0, i16 0, i16 463, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 603, i16 0, i16 3282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2510, i16 0, i16 0, i16 0, i16 2978, i16 0, i16 0, i16 0, i16 0, i16 0, i16 454, i16 3047, i16 2404, i16 0, i16 0, i16 1652, i16 0, i16 628, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1882, i16 3318, i16 2723, i16 1548, i16 2895, i16 3235, i16 3268, i16 2013, i16 0, i16 899, i16 0, i16 0, i16 2999, i16 270, i16 3031, i16 926, i16 0, i16 511, i16 0, i16 0, i16 2064, i16 271, i16 2107, i16 537, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2071, i16 1576, i16 0, i16 1014, i16 610, i16 703, i16 0, i16 89, i16 277, i16 2618, i16 2078, i16 373, i16 2562, i16 2653, i16 0, i16 20, i16 2792, i16 1006, i16 1991, i16 745, i16 0, i16 2504, i16 1920, i16 3246, i16 1187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1040, i16 538, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1639, i16 1552, i16 1656, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1084, i16 0, i16 0, i16 343, i16 947, i16 0, i16 1748, i16 0, i16 0, i16 2269, i16 1677, i16 2648, i16 0, i16 455, i16 0, i16 2224, i16 572, i16 0, i16 0, i16 0, i16 0, i16 272, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 218, i16 2385, i16 42, i16 1008, i16 2883, i16 1666, i16 3317, i16 0, i16 0, i16 0, i16 845, i16 1527, i16 0, i16 966, i16 1411, i16 2278, i16 0, i16 0, i16 0, i16 529, i16 764, i16 1103, i16 2200, i16 446, i16 1517, i16 1958, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1554, i16 2767, i16 2782, i16 2040, i16 1538, i16 0, i16 0, i16 3329, i16 0, i16 320, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2561, i16 0, i16 183, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1077, i16 1744, i16 1381, i16 0, i16 1821, i16 2017, i16 2216, i16 1487, i16 2180, i16 1772, i16 0, i16 1191, i16 0, i16 0, i16 0, i16 2697, i16 1177, i16 1167, i16 1491, i16 0, i16 0, i16 0, i16 1684, i16 1161, i16 0, i16 0, i16 261, i16 0, i16 0, i16 0, i16 0, i16 0, i16 353, i16 1482, i16 385, i16 2859, i16 2317, i16 136, i16 2314, i16 598, i16 2350, i16 2114, i16 3321, i16 177, i16 3325, i16 740, i16 1376, i16 0, i16 564, i16 3237, i16 2522, i16 0, i16 220, i16 451, i16 896, i16 985, i16 0, i16 931, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1514, i16 391, i16 2423, i16 0, i16 1547, i16 0, i16 904, i16 0, i16 3173, i16 265, i16 0, i16 1255, i16 0, i16 406, i16 3030, i16 2947, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2682, i16 0, i16 0, i16 0, i16 90, i16 1190, i16 0, i16 0, i16 0, i16 0, i16 3076, i16 3092, i16 2084, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1002, i16 3212, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3169, i16 789, i16 0, i16 3187, i16 948, i16 1953, i16 530, i16 245, i16 1845, i16 769, i16 646, i16 0, i16 670, i16 2443, i16 1563, i16 2644, i16 1508, i16 2949, i16 0, i16 0, i16 0, i16 0, i16 0, i16 330, i16 0, i16 2594, i16 2182, i16 696, i16 0, i16 0, i16 0, i16 0, i16 1906, i16 3349, i16 3372, i16 3395, i16 3415, i16 1974, i16 1997, i16 0, i16 1128, i16 2030, i16 2057, i16 2085, i16 2106, i16 2126, i16 2152, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 884, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1151, i16 0, i16 0, i16 0, i16 0, i16 907, i16 0, i16 0, i16 1164, i16 0, i16 2089, i16 328, i16 2093, i16 0, i16 1196, i16 0, i16 921, i16 0, i16 0, i16 0, i16 0, i16 929, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 910, i16 152, i16 0, i16 1679, i16 0, i16 1452, i16 0, i16 0, i16 0, i16 1992, i16 65, i16 1016, i16 259, i16 0, i16 0, i16 1174, i16 1900, i16 3026, i16 3184, i16 2125, i16 0, i16 0, i16 2720, i16 0, i16 0, i16 3373, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2737, i16 0, i16 0, i16 0, i16 1427, i16 0, i16 1750, i16 2491, i16 1564, i16 1184, i16 2996, i16 889, i16 3105, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1290, i16 0, i16 3191, i16 0, i16 2844, i16 401, i16 3231, i16 3156, i16 241, i16 1896, i16 0, i16 0, i16 0, i16 0, i16 699, i16 0, i16 1035, i16 0, i16 0, i16 2360, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1115, i16 3123, i16 1925, i16 3287, i16 0, i16 0, i16 0, i16 0, i16 1450, i16 803, i16 1267, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3280, i16 2450, i16 1696, i16 3032, i16 1377, i16 0, i16 0, i16 0, i16 568, i16 0, i16 2921, i16 2479, i16 2955, i16 2063, i16 1546, i16 1367, i16 1641, i16 0, i16 1039, i16 0, i16 0, i16 0, i16 0, i16 3264, i16 0, i16 2136, i16 0, i16 3056, i16 0, i16 0, i16 0, i16 0, i16 467, i16 0, i16 0, i16 0, i16 3041, i16 1967, i16 1980, i16 0, i16 932, i16 1066, i16 0, i16 3061, i16 3344, i16 920, i16 3399, i16 915, i16 3409, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1520, i16 3160, i16 3104, i16 973, i16 1426, i16 1893, i16 0, i16 2838, i16 0, i16 0, i16 0, i16 1137, i16 1473, i16 0, i16 1810, i16 942, i16 331, i16 0, i16 1150, i16 0, i16 43, i16 0, i16 2179, i16 1614, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 508, i16 487, i16 0, i16 0, i16 1726, i16 0, i16 734, i16 308, i16 0, i16 0, i16 2990, i16 3063, i16 2991, i16 0, i16 3011, i16 1074, i16 3210, i16 3037, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1827, i16 0, i16 897, i16 0, i16 75, i16 0, i16 0, i16 0, i16 1030, i16 462, i16 0, i16 0, i16 2414, i16 2898, i16 0, i16 0, i16 3253, i16 1468, i16 2833, i16 3273, i16 1955, i16 0, i16 127, i16 913, i16 0, i16 0, i16 507, i16 2716, i16 1126, i16 3029, i16 0, i16 3382, i16 2668, i16 0, i16 2555, i16 128, i16 0, i16 0, i16 0, i16 0, i16 1127, i16 2981, i16 1437, i16 0, i16 0, i16 0, i16 1500, i16 0, i16 0, i16 480, i16 0, i16 114, i16 0, i16 0, i16 205, i16 1655, i16 0, i16 0, i16 34, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 370, i16 500, i16 528, i16 0, i16 2690, i16 2876, i16 1477, i16 3133, i16 333, i16 0, i16 0, i16 0, i16 0, i16 1793, i16 0, i16 0, i16 1529, i16 2550, i16 1096, i16 1112, i16 1588, i16 820, i16 3267, i16 2595, i16 1977, i16 3394, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 125, i16 1589, i16 0, i16 1933, i16 847, i16 2168, i16 468, i16 0, i16 3405, i16 0, i16 0, i16 1506, i16 0, i16 0, i16 683, i16 1939, i16 2846, i16 2878, i16 2642, i16 0, i16 0, i16 2377, i16 0, i16 0, i16 2596, i16 0, i16 1532, i16 0, i16 1107, i16 0, i16 0, i16 0, i16 1919, i16 3021, i16 120, i16 0, i16 644, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2732, i16 501, i16 279, i16 2509, i16 1644, i16 1863, i16 0, i16 0, i16 395, i16 246, i16 1025, i16 626, i16 3384, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1675, i16 0, i16 2734, i16 0, i16 3140, i16 990, i16 0, i16 0, i16 2169, i16 0, i16 0, i16 1027, i16 552, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2583, i16 0, i16 3286, i16 0, i16 1212, i16 316, i16 0, i16 0, i16 2830, i16 0, i16 0, i16 0, i16 0, i16 909, i16 1229, i16 0, i16 0, i16 335, i16 0, i16 0, i16 359, i16 647, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1153, i16 0, i16 0, i16 901, i16 0, i16 0, i16 0, i16 2492, i16 2027, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3219, i16 0, i16 2744, i16 476, i16 0, i16 11, i16 243, i16 0, i16 2327, i16 3098, i16 0, i16 0, i16 0, i16 97, i16 0, i16 0, i16 0, i16 1523, i16 0, i16 0, i16 783, i16 1121, i16 3144, i16 0, i16 0, i16 0, i16 496, i16 0, i16 0, i16 0, i16 0, i16 0, i16 158, i16 0, i16 2711, i16 1954, i16 3311, i16 886, i16 239, i16 1528, i16 1343, i16 1531, i16 225, i16 0, i16 1047, i16 0, i16 2311, i16 3385, i16 607, i16 2571, i16 2130, i16 848, i16 0, i16 2750, i16 440, i16 794, i16 2102, i16 460, i16 2018, i16 2208, i16 1181, i16 0, i16 0, i16 0, i16 1755, i16 2493, i16 1397, i16 0, i16 3417, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 780, i16 206, i16 2759, i16 0, i16 0, i16 834, i16 0, i16 0, i16 672, i16 0, i16 2241, i16 1359, i16 0, i16 0, i16 584, i16 1978, i16 3009, i16 0, i16 0, i16 0, i16 1160, i16 211, i16 2666, i16 0, i16 0, i16 0, i16 0, i16 2074, i16 0, i16 0, i16 0, i16 0, i16 17, i16 2606, i16 1737, i16 202, i16 1812, i16 1007, i16 0, i16 1841, i16 1345, i16 0, i16 738, i16 1162, i16 2860, i16 1943, i16 1814, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1674, i16 2556, i16 66, i16 542, i16 1205, i16 3419, i16 0, i16 2603, i16 2500, i16 425, i16 0, i16 0, i16 278, i16 1961, i16 680, i16 0, i16 1124, i16 1758, i16 0, i16 1555, i16 1446, i16 2210, i16 1405, i16 350, i16 3028, i16 2892, i16 0, i16 0, i16 0, i16 0, i16 1826, i16 2907, i16 21, i16 558, i16 1600, i16 1932, i16 0, i16 0, i16 1779, i16 0, i16 0, i16 1295, i16 0, i16 0, i16 28, i16 1725, i16 0, i16 0, i16 0, i16 0, i16 1981, i16 0, i16 2384, i16 1942, i16 0, i16 0, i16 0, i16 0, i16 0, i16 795, i16 452, i16 0, i16 208, i16 0, i16 0, i16 3044, i16 0, i16 0, i16 0, i16 0, i16 166, i16 836, i16 340, i16 337, i16 0, i16 0, i16 1875, i16 0, i16 0, i16 1159, i16 32, i16 1879, i16 1304, i16 0, i16 414, i16 515, i16 1347, i16 365, i16 0, i16 1884, i16 1521, i16 970, i16 0, i16 0, i16 858, i16 3141, i16 0, i16 717, i16 1866, i16 0, i16 1280, i16 1791, i16 2234, i16 0, i16 1414, i16 2147, i16 0, i16 0, i16 1645, i16 0, i16 0, i16 0, i16 404, i16 0, i16 0, i16 984, i16 3122, i16 0, i16 0, i16 0, i16 145, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1803, i16 0, i16 0, i16 1651, i16 2447, i16 0, i16 0, i16 2291, i16 472, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1134, i16 838, i16 0, i16 470, i16 2650, i16 606, i16 1065, i16 0, i16 1130, i16 0, i16 0, i16 0, i16 0, i16 1374, i16 1694, i16 1572, i16 1648, i16 2386, i16 200, i16 694, i16 0, i16 2530, i16 0, i16 0, i16 1752, i16 159, i16 2351, i16 3097, i16 1410, i16 1125, i16 0, i16 0, i16 412, i16 0, i16 1556, i16 0, i16 0, i16 625, i16 0, i16 1649, i16 0, i16 2100, i16 2469, i16 0, i16 273, i16 3016, i16 0, i16 0, i16 0, i16 0, i16 0, i16 399, i16 276, i16 2646, i16 671, i16 1732, i16 1888, i16 1382, i16 57, i16 0, i16 0, i16 0, i16 0, i16 0, i16 999, i16 0, i16 0, i16 681, i16 190, i16 2424, i16 0, i16 1319, i16 1454, i16 0, i16 0, i16 539, i16 0, i16 761, i16 0, i16 2021, i16 0, i16 0, i16 2189, i16 54, i16 0, i16 0, i16 0, i16 0, i16 3073, i16 0, i16 3049, i16 1501, i16 3198, i16 0, i16 0, i16 0, i16 2802, i16 255, i16 1960, i16 0, i16 0, i16 0, i16 263, i16 0, i16 0, i16 0, i16 0, i16 3168, i16 3007, i16 784, i16 3164, i16 0, i16 0, i16 788, i16 2164, i16 1711, i16 1088, i16 1328, i16 3024, i16 0, i16 2497, i16 1825, i16 2888, i16 1003, i16 986, i16 1603, i16 0, i16 0, i16 1012, i16 2473, i16 329, i16 0, i16 0, i16 0, i16 189, i16 2254, i16 1348, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 283, i16 155, i16 0, i16 0, i16 2908, i16 1209, i16 346, i16 0, i16 2765, i16 0, i16 1957, i16 0, i16 0, i16 0, i16 828, i16 0, i16 0, i16 2807, i16 0, i16 1676, i16 0, i16 1091, i16 768, i16 0, i16 2818, i16 349, i16 1789, i16 2193, i16 0, i16 164, i16 0, i16 1171, i16 2810, i16 938, i16 1163, i16 719, i16 2554, i16 2822, i16 0, i16 1575, i16 1200, i16 0, i16 2598, i16 753, i16 2532, i16 972, i16 689, i16 0, i16 1284, i16 0, i16 0, i16 0, i16 0, i16 0, i16 64, i16 800, i16 0, i16 0, i16 0, i16 1307, i16 509, i16 106, i16 0, i16 3278, i16 819, i16 0, i16 3013, i16 1015, i16 26, i16 1631, i16 1202, i16 1117, i16 0, i16 2326, i16 0, i16 3046, i16 49, i16 0, i16 736, i16 0, i16 776, i16 1109, i16 0, i16 0, i16 3182, i16 0, i16 0, i16 0, i16 0, i16 0, i16 217, i16 510, i16 2212, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 341, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2689, i16 0, i16 0, i16 2117, i16 0, i16 0, i16 0, i16 2825, i16 1273, i16 2948, i16 0, i16 977, i16 268, i16 1266, i16 1283, i16 1369, i16 1795, i16 207, i16 1685, i16 3014, i16 497, i16 0, i16 437, i16 2505, i16 0, i16 2563, i16 0, i16 0, i16 732, i16 553, i16 1247, i16 2372, i16 0, i16 0, i16 1637, i16 3251, i16 3313, i16 1308, i16 0, i16 10, i16 2912, i16 1061, i16 131, i16 0, i16 0, i16 0, i16 2111, i16 0, i16 0, i16 0, i16 0, i16 0, i16 169, i16 0, i16 0, i16 0, i16 490, i16 642, i16 677, i16 0, i16 0, i16 180, i16 1565, i16 148, i16 569, i16 2201, i16 0, i16 315, i16 0, i16 0, i16 0, i16 1818, i16 1021, i16 0, i16 0, i16 0, i16 1244, i16 0, i16 76, i16 0, i16 3406, i16 0, i16 93, i16 0, i16 513, i16 960, i16 0, i16 859, i16 96, i16 1964, i16 0, i16 0, i16 386, i16 1629, i16 1510, i16 0, i16 2656, i16 269, i16 321, i16 0, i16 0, i16 0, i16 0, i16 3106, i16 2930, i16 1402, i16 80, i16 867, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2660, i16 368, i16 0, i16 2661, i16 2045, i16 0, i16 0, i16 0, i16 1581, i16 1544, i16 3381, i16 0, i16 2853, i16 891, i16 449, i16 2010, i16 3277, i16 0, i16 0, i16 2382, i16 2172, i16 2069, i16 2897, i16 0, i16 1773, i16 0, i16 0, i16 1291, i16 0, i16 645, i16 2135, i16 2034, i16 0, i16 0, i16 0, i16 2584, i16 772, i16 1898, i16 0, i16 0, i16 48, i16 1245, i16 1113, i16 747, i16 0, i16 0, i16 1973, i16 0, i16 0, i16 209, i16 2281, i16 1289, i16 2785, i16 0, i16 0, i16 2118, i16 176, i16 1248, i16 2037, i16 2043, i16 339, i16 3293, i16 2066, i16 86, i16 248, i16 857, i16 0, i16 0, i16 1433, i16 0, i16 0, i16 0, i16 1585, i16 2756, i16 2680, i16 1650, i16 1718, i16 0, i16 0, i16 0, i16 0, i16 0, i16 394, i16 1024, i16 1537, i16 0, i16 0, i16 3170, i16 2362, i16 40, i16 53, i16 1101, i16 0, i16 2933, i16 900, i16 1447, i16 0, i16 3179, i16 833, i16 1566, i16 1494, i16 2973, i16 0, i16 0, i16 2609, i16 0, i16 927, i16 2303, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 650, i16 0, i16 0, i16 1075, i16 235, i16 823, i16 565, i16 3079, i16 0, i16 785, i16 777, i16 186, i16 2969, i16 1860, i16 2232, i16 0, i16 873, i16 741, i16 3125, i16 3257, i16 2239, i16 0, i16 3121, i16 1242, i16 2791, i16 0, i16 0, i16 1435, i16 974, i16 1780, i16 961, i16 0, i16 0, i16 2874, i16 757, i16 0, i16 0, i16 0, i16 400, i16 1432, i16 2766, i16 3039, i16 1001, i16 1507, i16 2972, i16 0, i16 2514, i16 1512, i16 2046, i16 0, i16 0, i16 0, i16 1253, i16 0, i16 2098, i16 545, i16 2165, i16 531, i16 555, i16 0, i16 0, i16 3371, i16 0, i16 0, i16 0, i16 742, i16 0, i16 807, i16 1931, i16 0, i16 1076, i16 0, i16 2026, i16 3245, i16 0, i16 0, i16 117, i16 1467, i16 2104, i16 631, i16 0, i16 754, i16 156, i16 2258, i16 307, i16 0, i16 60, i16 0, i16 1260, i16 1371, i16 3328, i16 1870, i16 0, i16 0, i16 61, i16 1241, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 424, i16 2403, i16 2148, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1231, i16 2367, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1596, i16 3096, i16 2202, i16 363, i16 1609, i16 2710, i16 2582, i16 791, i16 2705, i16 0, i16 2543, i16 2319, i16 2558, i16 2597, i16 1, i16 2495, i16 2730, i16 0, i16 3374, i16 2485, i16 2487, i16 0, i16 581, i16 1476, i16 3359, i16 2499, i16 2719, i16 0, i16 1876, i16 3240, i16 0, i16 0, i16 2110, i16 0, i16 198, i16 1488, i16 2262, i16 140, i16 0, i16 0, i16 782, i16 3157, i16 27, i16 3136, i16 0, i16 1092, i16 0, i16 1302, i16 0, i16 1912, i16 1217, i16 0, i16 1642, i16 0, i16 2457, i16 0, i16 3400, i16 1530, i16 0, i16 0, i16 167, i16 524, i16 221, i16 0, i16 2119, i16 998, i16 461, i16 0, i16 1358, i16 1037, i16 3378, i16 3206, i16 841, i16 68, i16 1762, i16 0, i16 1756, i16 2665, i16 482, i16 1004, i16 0, i16 2501, i16 0, i16 3204, i16 918, i16 724, i16 322, i16 2401, i16 0, i16 0, i16 2412, i16 306, i16 733, i16 863, i16 0, i16 0, i16 2904, i16 0, i16 0, i16 1979, i16 0, i16 1985, i16 556, i16 3312, i16 2987, i16 3045, i16 643, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3128, i16 1729, i16 0, i16 2970, i16 161, i16 0, i16 0, i16 0, i16 0, i16 602, i16 0, i16 1682, i16 0, i16 2523, i16 0, i16 92, i16 0, i16 0, i16 583, i16 0, i16 0, i16 697, i16 1263, i16 253, i16 504, i16 0, i16 0, i16 0, i16 0, i16 1636, i16 56, i16 0, i16 0, i16 2617, i16 0, i16 0, i16 0, i16 0, i16 2960, i16 2884, i16 0, i16 1999, i16 438, i16 0, i16 0, i16 0, i16 0, i16 1116, i16 2929, i16 2605, i16 0, i16 2323, i16 774, i16 1032, i16 0, i16 2015, i16 2336, i16 0, i16 520, i16 0, i16 2016, i16 1634, i16 1182, i16 1362, i16 850, i16 2906, i16 596, i16 3274, i16 0, i16 199, i16 2242, i16 0, i16 1934, i16 0, i16 2635, i16 0, i16 1746, i16 2915, i16 0, i16 1375, i16 1118, i16 3004, i16 0, i16 477, i16 0, i16 0, i16 0, i16 0, i16 715, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3185, i16 0, i16 0, i16 0, i16 3248, i16 2541, i16 2340, i16 3258, i16 24, i16 2230, i16 1654, i16 0, i16 3421, i16 1923, i16 2565, i16 2280, i16 0, i16 3167, i16 3149, i16 895, i16 3306, i16 994, i16 2009, i16 1543, i16 2273, i16 0, i16 14, i16 814, i16 540, i16 2243, i16 1384, i16 969, i16 0, i16 2914, i16 1698, i16 0, i16 0, i16 995, i16 1119, i16 2474, i16 2855, i16 498, i16 0, i16 0, i16 2312, i16 3331, i16 2002, i16 2324, i16 0, i16 111, i16 1281, i16 410, i16 2158, i16 1404, i16 708, i16 2625, i16 0, i16 0, i16 0, i16 82, i16 1965, i16 486, i16 3228, i16 661, i16 0, i16 2961, i16 0, i16 197, i16 2842, i16 2060, i16 517, i16 1518, i16 0, i16 0, i16 1853, i16 2257, i16 3392, i16 2419, i16 251, i16 975, i16 0, i16 883, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1423, i16 0, i16 2521, i16 0, i16 2305, i16 0, i16 3380, i16 0, i16 0, i16 1054, i16 1108, i16 1842, i16 0, i16 943, i16 811, i16 2963, i16 0, i16 0, i16 0, i16 2455, i16 0, i16 1511, i16 0, i16 0, i16 1907, i16 3408, i16 2431, i16 516, i16 0, i16 238, i16 2124, i16 1483, i16 0, i16 825, i16 2271, i16 0, i16 1475, i16 1297, i16 0, i16 2001, i16 1346, i16 0, i16 0, i16 0, i16 0, i16 1387, i16 0, i16 0, i16 2629, i16 0, i16 614, i16 1274, i16 839, i16 3154, i16 1005, i16 0, i16 3189, i16 1136, i16 1000, i16 0, i16 2727, i16 2848, i16 3, i16 0, i16 112, i16 1234, i16 1459, i16 770, i16 0, i16 1828, i16 0, i16 2065, i16 0, i16 1106, i16 2444, i16 0, i16 830, i16 1457, i16 1764, i16 2604, i16 3057, i16 1098, i16 1223, i16 0, i16 362, i16 1460, i16 1840, i16 0, i16 1913, i16 580, i16 829, i16 958, i16 0, i16 3337, i16 0, i16 1833, i16 2778, i16 387, i16 2865, i16 310, i16 193, i16 3403, i16 0, i16 0, i16 0, i16 2614, i16 466, i16 0, i16 0, i16 2428, i16 1646, i16 0, i16 0, i16 0, i16 0, i16 1917, i16 0, i16 1908, i16 1859, i16 0, i16 1660, i16 804, i16 1592, i16 0, i16 3094, i16 3216, i16 2295, i16 33, i16 443, i16 3358, i16 0, i16 1394, i16 250, i16 213, i16 0, i16 1971, i16 3080, i16 1354, i16 3360, i16 0, i16 1265, i16 1584, i16 2053, i16 512, i16 0, i16 2928, i16 409, i16 2225, i16 779, i16 1186, i16 0, i16 0, i16 381, i16 0, i16 0, i16 2369, i16 0, i16 3368, i16 0, i16 0, i16 1479, i16 924, i16 0, i16 0, i16 599, i16 3139, i16 0, i16 1492, i16 2101, i16 0, i16 0, i16 0, i16 0, i16 0, i16 184, i16 0, i16 2197, i16 651, i16 0, i16 601, i16 0, i16 0, i16 29, i16 0, i16 1149, i16 3302, i16 1156, i16 3111, i16 1269, i16 1298, i16 0, i16 2073, i16 0, i16 615, i16 262, i16 0, i16 0, i16 1349, i16 118, i16 3159, i16 3178, i16 3316, i16 1252, i16 1277, i16 3301, i16 493, i16 3119, i16 2977, i16 842, i16 2399, i16 318, i16 2940, i16 2123, i16 0, i16 1620, i16 0, i16 2951, i16 0, i16 0, i16 0, i16 0, i16 2453, i16 0, i16 0, i16 1323, i16 288, i16 0, i16 0, i16 1615, i16 2715, i16 0, i16 0, i16 2691, i16 0, i16 0, i16 1388, i16 0, i16 280, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1250, i16 0, i16 392, i16 275, i16 0, i16 0, i16 0, i16 0, i16 1926, i16 3008, i16 0, i16 620, i16 0, i16 0, i16 0, i16 2971, i16 3401, i16 0, i16 0, i16 0, i16 1314, i16 608, i16 944, i16 0, i16 1534, i16 1131, i16 1430, i16 2835, i16 525, i16 1559, i16 3115, i16 0, i16 1672, i16 0, i16 3232, i16 0, i16 0, i16 382, i16 0, i16 3377, i16 352, i16 2301, i16 1207, i16 0, i16 1611, i16 0, i16 0, i16 260, i16 0, i16 94, i16 0, i16 2795, i16 1197, i16 0, i16 3402, i16 45, i16 0, i16 1816, i16 2185, i16 1216, i16 2678, i16 2866, i16 0, i16 2677, i16 0, i16 0, i16 687, i16 1342, i16 2420, i16 2163, i16 2142, i16 0, i16 876, i16 2989, i16 1172, i16 3393, i16 1550, i16 2506, i16 3017, i16 879, i16 0, i16 1169, i16 2729, i16 1817, i16 323, i16 0, i16 0, i16 1562, i16 1436, i16 0, i16 3397, i16 2616, i16 922, i16 44, i16 2966, i16 3135, i16 0, i16 0, i16 1713, i16 0, i16 491, i16 0, i16 0, i16 0, i16 2024, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2943, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3364, i16 3355, i16 2004, i16 2105, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3262, i16 0, i16 1082, i16 2663, i16 0, i16 0, i16 2379, i16 0, i16 0, i16 0, i16 2, i16 1330, i16 1747, i16 0, i16 731, i16 0, i16 2639, i16 0, i16 393, i16 18, i16 722, i16 0, i16 813, i16 223, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3353, i16 0, i16 1504, i16 0, i16 3099, i16 30, i16 1574, i16 2218, i16 566, i16 2621, i16 1989, i16 2917, i16 0, i16 3305, i16 0, i16 1398, i16 2651, i16 843, i16 2159, i16 317, i16 1335, i16 640, i16 865, i16 62, i16 2937, i16 1385, i16 919, i16 1034, i16 1233, i16 1850, i16 792, i16 1972, i16 987, i16 0, i16 2529, i16 1717, i16 364, i16 1095, i16 2696, i16 1142, i16 5, i16 1029, i16 0, i16 0, i16 1962, i16 1595, i16 0, i16 1145, i16 637, i16 1662, i16 0, i16 3386, i16 925, i16 2076, i16 2672, i16 0, i16 338, i16 0, i16 1198, i16 0, i16 1846, i16 0, i16 0, i16 366, i16 2622, i16 0, i16 739, i16 869, i16 799, i16 1480, i16 0, i16 0, i16 1721, i16 0, i16 1542, i16 160, i16 0, i16 1195, i16 1891, i16 2526, i16 3236, i16 502, i16 1697, i16 0, i16 1577, i16 514, i16 2373, i16 3289, i16 0, i16 478, i16 0, i16 0, i16 0, i16 2591, i16 2383, i16 660, i16 2297, i16 0, i16 234, i16 267, i16 124, i16 0, i16 2077, i16 534, i16 1838, i16 1568, i16 0, i16 0, i16 1619, i16 1873, i16 2033, i16 2484, i16 0, i16 2964, i16 2787, i16 1147, i16 0, i16 721, i16 0, i16 0, i16 0, i16 2815, i16 3086, i16 1622, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3336, i16 0, i16 3239, i16 1796, i16 0, i16 2976, i16 139, i16 1176, i16 0, i16 888, i16 2919, i16 3196, i16 1440, i16 2044, i16 574, i16 1754, i16 0, i16 586, i16 1760, i16 1087, i16 2331, i16 544, i16 0, i16 3279, i16 0, i16 0, i16 0, i16 1602, i16 2985, i16 1366, i16 91, i16 894, i16 523, i16 911, i16 2345, i16 2669, i16 3067, i16 3292, i16 2638, i16 806, i16 1341, i16 2986, i16 3363, i16 3227, i16 0, i16 659, i16 868, i16 0, i16 2794, i16 2296, i16 713, i16 1832, i16 0, i16 3217, i16 3304, i16 1811, i16 231, i16 2657, i16 0, i16 0, i16 3127, i16 852, i16 358, i16 0, i16 2318, i16 1570, i16 817, i16 3069, i16 3420, i16 447, i16 2520, i16 638, i16 2299, i16 0, i16 2693, i16 1043, i16 0, i16 1140, i16 1591, i16 1837, i16 236, i16 1355, i16 0, i16 2763, i16 0, i16 1022, i16 2422, i16 0, i16 2138, i16 0, i16 179, i16 0, i16 0, i16 1100, i16 0, i16 1326, i16 2574, i16 2211, i16 1702, i16 0, i16 1089, i16 0, i16 0, i16 377, i16 1687, i16 0, i16 793, i16 0, i16 667, i16 126, i16 934, i16 2300, i16 2079, i16 3370, i16 2233, i16 2862, i16 810, i16 0, i16 0, i16 3263, i16 756, i16 1809, i16 2714, i16 2518, i16 1422, i16 1665, i16 2722, i16 3194, i16 1296, i16 1412, i16 0, i16 138, i16 101, i16 2353, i16 0, i16 1179, i16 1225, i16 458, i16 3413, i16 1579, i16 2090, i16 1561, i16 0, i16 0, i16 0, i16 2809, i16 1497, i16 1389, i16 1019, i16 1329, i16 2421, i16 396, i16 2695, i16 6, i16 2095, i16 950, i16 489, i16 0, i16 1661, i16 0, i16 1808, i16 2171, i16 2511, i16 0, i16 1086, i16 1219, i16 2006, i16 25, i16 0, i16 0, i16 1201, i16 522, i16 0, i16 0, i16 618, i16 0, i16 0, i16 2235, i16 880, i16 0, i16 0, i16 334, i16 1305, i16 1705, i16 2204, i16 1858, i16 1013, i16 1306, i16 0, i16 1085, i16 1533, i16 87, i16 2067, i16 1502, i16 2290, i16 1799, i16 0, i16 3146, i16 1794, i16 3346, i16 2192, i16 0, i16 0, i16 653, i16 1429, i16 887, i16 314, i16 2041, i16 2436, i16 875, i16 1331, i16 1481, i16 0, i16 403, i16 0, i16 0, i16 1910, i16 0, i16 1155, i16 0, i16 2072, i16 3266, i16 1165, i16 1857, i16 1557, i16 1801, i16 2496, i16 3131, i16 2926, i16 2643, i16 1582, i16 0, i16 0, i16 0, i16 122, i16 686, i16 168, i16 0, i16 2398, i16 2749, i16 1553, i16 2413, i16 1541, i16 2440, i16 134, i16 1578, i16 247, i16 0, i16 1193, i16 1321, i16 2575, i16 570, i16 2894, i16 0, i16 0, i16 0, i16 2581, i16 2636, i16 2270, i16 12, i16 1424, i16 1188, i16 1383, i16 0, i16 485, i16 700, i16 3254, i16 149, i16 2922, i16 1627, i16 2545, i16 0, i16 1693, i16 0, i16 953, i16 0, i16 0, i16 0, i16 0, i16 600, i16 1138, i16 0, i16 2059, i16 1525, i16 0, i16 1657, i16 0, i16 1727, i16 2841, i16 532, i16 3176, i16 993, i16 1930, i16 192, i16 0, i16 1740, i16 0, i16 3192, i16 1927, i16 802, i16 2849, i16 1064, i16 2109, i16 0, i16 324, i16 144, i16 881, i16 2133, i16 0, i16 2610, i16 171, i16 1129, i16 1378, i16 0, i16 1835, i16 435, i16 760, i16 1324, i16 0, i16 1251, i16 3100, i16 0, i16 835, i16 0, i16 3310, i16 636, i16 594, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2333, i16 1632, i16 3379, i16 3018, i16 3285, i16 388, i16 2748, i16 0, i16 0, i16 0, i16 0, i16 1905, i16 3354, i16 0, i16 2014, i16 0, i16 0, i16 763, i16 0, i16 2011, i16 0, i16 3033, i16 3223, i16 1009, i16 0, i16 1287, i16 292, i16 413, i16 0, i16 0, i16 0, i16 0, i16 31, i16 2143, i16 2128, i16 1878, i16 956, i16 822, i16 2430, i16 311, i16 0, i16 0, i16 2313, i16 1256, i16 2956, i16 0, i16 224, i16 0, i16 2965, i16 109, i16 634, i16 1431, i16 2465, i16 0, i16 0, i16 0, i16 1775, i16 2462, i16 1090, i16 778, i16 3271, i16 1819, i16 0, i16 2645, i16 291, i16 0, i16 1904, i16 0, i16 182, i16 536, i16 0, i16 0, i16 1203, i16 827, i16 294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8, i16 2005, i16 15, i16 2031, i16 3269, i16 3297, i16 3319, i16 0, i16 3213, i16 3241, i16 3259, i16 0, i16 295, i16 133, i16 2811, i16 1707, i16 1915, i16 0, i16 154, i16 174, i16 3416, i16 2448, i16 1144, i16 0, i16 0, i16 0, i16 0, i16 890, i16 1865, i16 1368, i16 1496, i16 1868, i16 1050, i16 1823, i16 2389, i16 1264, i16 752, i16 2456, i16 0, i16 0, i16 356, i16 1336, i16 2116, i16 978, i16 1831, i16 0, i16 2068, i16 1215, i16 705, i16 1044, i16 0, i16 702, i16 0, i16 0, i16 129, i16 0, i16 0, i16 2364, i16 0, i16 0, i16 1312, i16 0, i16 0, i16 16, i16 0, i16 3244, i16 1133, i16 3078, i16 1139, i16 0, i16 2478, i16 0, i16 422, i16 2573, i16 2007, i16 1097, i16 812, i16 0, i16 0, i16 0, i16 665, i16 0, i16 0, i16 0, i16 0, i16 1736, i16 0, i16 2157, i16 549, i16 3165, i16 0, i16 0, i16 0, i16 1271, i16 0, i16 219, i16 0, i16 0, i16 0, i16 1783, i16 0, i16 0, i16 397, i16 3383, i16 0, i16 0, i16 0, i16 2279, i16 3375, i16 1052, i16 0, i16 0, i16 1712, i16 546, i16 1798, i16 3309, i16 0, i16 380, i16 0, i16 0, i16 3038, i16 0, i16 1621, i16 1122, i16 711, i16 3222, i16 2742, i16 0, i16 1701, i16 1053, i16 0, i16 3327, i16 1922, i16 0, i16 1800, i16 1731, i16 0, i16 2516, i16 655, i16 0, i16 2358, i16 2393, i16 2464, i16 2494, i16 2580, i16 2679, i16 2743, i16 2788, i16 2824, i16 2858, i16 2935, i16 2982, i16 3101, i16 3153, i16 3276, i16 2438, i16 2488, i16 2757, i16 2052, i16 2144, i16 2286, i16 2337, i16 2400, i16 2452, i16 2738, i16 2779, i16 2845, i16 2887, i16 3020, i16 3134, i16 3188, i16 3102, i16 1847, i16 2733, i16 2758, i16 1560, i16 1535, i16 824, i16 1822, i16 0, i16 0, i16 2816, i16 2380, i16 0, i16 1228, i16 0, i16 2366, i16 2378, i16 1968, i16 1599, i16 2042, i16 1318, i16 1338, i16 1569, i16 300, i16 0, i16 2873, i16 2320, i16 0, i16 2893, i16 1706, i16 0, i16 1916, i16 0, i16 3129, i16 590, i16 0, i16 0, i16 2836, i16 0, i16 37, i16 0, i16 0, i16 0, i16 551, i16 3155, i16 3177, i16 1951, i16 1056, i16 1855, i16 3247, i16 562, i16 3208, i16 3294, i16 862, i16 0, i16 3055, i16 1453, i16 1626, i16 296, i16 1871, i16 0, i16 1069, i16 0, i16 1767, i16 1776, i16 58, i16 2992, i16 611, i16 2607, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1941, i16 2347, i16 1813, i16 0, i16 2203, i16 1148, i16 0, i16 0, i16 1667, i16 0, i16 0, i16 162, i16 108, i16 0, i16 1211, i16 1063, i16 83, i16 2249, i16 0, i16 1288, i16 832, i16 0, i16 826, i16 88, i16 1434, i16 0, i16 0, i16 0, i16 2087, i16 2773, i16 1852, i16 1921, i16 2220, i16 0, i16 2627, i16 1333, i16 1120, i16 1902, i16 0, i16 1079, i16 1073, i16 305, i16 0, i16 3074, i16 2755, i16 2628, i16 2244, i16 547, i16 0, i16 527, i16 0, i16 428, i16 0, i16 0, i16 3130, i16 3158, i16 3180, i16 3200, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1601, i16 2058, i16 1332, i16 0, i16 0, i16 242, i16 0, i16 0, i16 0, i16 0, i16 3335, i16 374, i16 1877, i16 2903, i16 2726, i16 0, i16 2131, i16 325, i16 1807, i16 378, i16 1606, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 429, i16 172, i16 201, i16 0, i16 585, i16 0, i16 0, i16 2913, i16 351, i16 698, i16 2264, i16 2187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1104, i16 1114, i16 2003, i16 2029, i16 2056, i16 2083, i16 2103, i16 2120, i16 2145, i16 2173, i16 2195, i16 2228, i16 2256, i16 2277, i16 2302, i16 2328, i16 2346, i16 2363, i16 2388, i16 2408, i16 2429, i16 2454, i16 2472, i16 1406, i16 2507, i16 2533, i16 2553, i16 2578, i16 2601, i16 2623, i16 2640, i16 2667, i16 597, i16 0, i16 0, i16 1363, i16 0, i16 0, i16 0, i16 244, i16 474, i16 0, i16 0, i16 0, i16 229, i16 0, i16 481, i16 0, i16 0, i16 2531, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2275, i16 0, i16 0, i16 2357, i16 548, i16 0, i16 1670, i16 701, i16 2901, i16 3404, i16 0, i16 1067, i16 2008, i16 2577, i16 1844, i16 1659, i16 2564, i16 0, i16 2905, i16 3220, i16 442, i16 0, i16 1407, i16 0, i16 1416, i16 0, i16 1663, i16 1036, i16 0, i16 0, i16 2548, i16 3088, i16 0, i16 473, i16 0, i16 2486, i16 2659, i16 3143, i16 0, i16 1861, i16 1881, i16 0, i16 629, i16 840, i16 2519, i16 3068, i16 2012, i16 0, i16 0, i16 2149, i16 1739, i16 3303, i16 949, i16 577, i16 725, i16 658, i16 146, i16 67, i16 2916, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 945, i16 0, i16 0, i16 505, i16 469, i16 3166, i16 3209, i16 1883, i16 0, i16 0, i16 0, i16 1540, i16 0, i16 3332, i16 3072, i16 2593, i16 1610, i16 1257, i16 0, i16 0, i16 578, i16 0, i16 2394, i16 1766, i16 959, i16 1218, i16 0, i16 0, i16 0, i16 632, i16 0, i16 623, i16 1068, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 348, i16 1624, i16 1315, i16 0, i16 878, i16 3095, i16 116, i16 2426, i16 0, i16 737, i16 1466, i16 13, i16 212, i16 0, i16 3315, i16 831, i16 0, i16 2670, i16 1635, i16 1612, i16 0, i16 0, i16 0, i16 1357, i16 709, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1630, i16 2934, i16 488, i16 157, i16 1327, i16 2054, i16 2407, i16 450, i16 0, i16 981, i16 1135, i16 0, i16 1918, i16 1189, i16 729, i16 2427, i16 0, i16 0, i16 2739, i16 3291, i16 0, i16 675, i16 1834, i16 0, i16 1080, i16 589, i16 1415, i16 2537, i16 2406, i16 119, i16 1393, i16 2387, i16 2910, i16 1897, i16 0, i16 1310, i16 1690, i16 0, i16 2988, i16 0, i16 0, i16 0, i16 0, i16 3322, i16 1048, i16 1399, i16 0, i16 1023, i16 0, i16 1361, i16 1617, i16 375, i16 1699, i16 1778, i16 914, i16 1033, i16 0, i16 1334, i16 0, i16 1279, i16 0, i16 0, i16 1952, i16 210, i16 354, i16 0, i16 1738, i16 2881, i16 2283, i16 0, i16 2451, i16 861, i16 3006, i16 0, i16 2800, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1313, i16 1417, i16 2287, i16 1703, i16 2137, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 866, i16 622, i16 1316, i16 1408, i16 1820, i16 898, i16 1728, i16 2600, i16 1320, i16 2332, i16 2813, i16 2630, i16 0, i16 0, i16 427, i16 0, i16 69, i16 459, i16 3043, i16 445, i16 0, i16 1640, i16 706, i16 3050, i16 0, i16 1658, i16 0, i16 0, i16 0, i16 2288, i16 3051, i16 0, i16 1638, i16 402, i16 0, i16 2886, i16 1350, i16 74, i16 0, i16 0, i16 105, i16 266, i16 1214, i16 0, i16 0, i16 0, i16 723, i16 2198, i16 1895, i16 1356, i16 893, i16 535, i16 2248, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2209, i16 3391, i16 0, i16 1254, i16 72, i16 0, i16 2918, i16 3376, i16 2631, i16 1889, i16 2329, i16 2112, i16 2967, i16 0, i16 2831, i16 0, i16 433, i16 2626, i16 2664, i16 1403, i16 1604, i16 0, i16 656, i16 2227, i16 0, i16 0, i16 3181, i16 0, i16 0, i16 933, i16 1146, i16 750, i16 2439, i16 503, i16 1715, i16 885, i16 1784, i16 432, i16 2153, i16 2176, i16 2206, i16 2237, i16 2265, i16 2284, i16 2308, i16 2121, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3054, i16 3082, i16 3103, i16 3126, i16 3151, i16 3171, i16 3193, i16 36, i16 877, i16 0, i16 758, i16 0, i16 1301, i16 147, i16 1262, i16 1072, i16 1616, i16 0, i16 0, i16 0, i16 0, i16 1774, i16 2051, i16 1567, i16 0, i16 2435, i16 2483, i16 0, i16 905, i16 0, i16 2397, i16 256, i16 1851, i16 0, i16 303, i16 0, i16 0, i16 0, i16 0, i16 0, i16 882, i16 0, i16 0, i16 0, i16 1094, i16 1733, i16 1409, i16 0, i16 0, i16 464, i16 0, i16 1880, i16 707, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1243, i16 1963, i16 767, i16 0, i16 0, i16 0, i16 992, i16 0, i16 1571, i16 3334, i16 0, i16 1719, i16 3036, i16 0, i16 2676, i16 624, i16 728, i16 1261, i16 798, i16 1493, i16 0, i16 0, i16 2702, i16 1526, i16 746, i16 3183, i16 0, i16 1046, i16 0, i16 1462, i16 0, i16 2576, i16 1293, i16 3333, i16 0, i16 0, i16 0, i16 3324, i16 1549, i16 0, i16 0, i16 0, i16 2681, i16 1041, i16 2798, i16 1516, i16 1143, i16 1949, i16 1598, i16 390, i16 1236, i16 1448, i16 2829, i16 2432, i16 298, i16 304, i16 2980, i16 336, i16 0, i16 284, i16 0, i16 533, i16 0, i16 0, i16 0, i16 2741, i16 3407, i16 0, i16 2760, i16 1224, i16 100, i16 0, i16 151, i16 0, i16 2885, i16 0, i16 3272, i16 3398, i16 2167, i16 0, i16 0, i16 2175, i16 2184, i16 2196, i16 2191, i16 2205, i16 2307, i16 2222, i16 2322, i16 2214, i16 2343, i16 2229, i16 2348, i16 2236, i16 2490, i16 2508, i16 2534, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 376, i16 3202, i16 1158, i16 0, i16 0, i16 712, i16 1994, i16 906, i16 0, i16 0, i16 0, i16 751, i16 692, i16 1372, i16 936, i16 2146, i16 1829, i16 1474, i16 357, i16 1618, i16 930, i16 2381, i16 2392, i16 0, i16 0, i16 0, i16 46, i16 3256, i16 0, i16 0, i16 0, i16 0, i16 2425, i16 519, i16 0, i16 2466, i16 3340, i16 0, i16 0, i16 0, i16 0, i16 2559, i16 3233, i16 2995, i16 281, i16 0, i16 2685, i16 1680, i16 3175, i16 2402, i16 2752, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1770, i16 1105, i16 3059, i16 1340, i16 801, i16 0, i16 521, i16 0, i16 2170, i16 0, i16 0, i16 1154, i16 0, i16 0, i16 1583, i16 22, i16 2652, i16 3211, i16 0, i16 0, i16 0, i16 0, i16 361, i16 0, i16 928, i16 0, i16 0, i16 3089, i16 557, i16 815, i16 0, i16 0, i16 1325, i16 2950, i16 1110, i16 2310, i16 2113, i16 0, i16 2115, i16 2330, i16 635, i16 2418, i16 967, i16 0, i16 230, i16 666, i16 1709, i16 0, i16 0, i16 1456, i16 2370, i16 3060, i16 0, i16 0, i16 1392, i16 851, i16 342, i16 805, i16 1854, i16 0, i16 2433, i16 3281, i16 1787, i16 2535, i16 0, i16 576, i16 2700, i16 1987, i16 0, i16 0, i16 2549, i16 407, i16 2174, i16 2957, i16 0, i16 0, i16 0, i16 0, i16 1993, i16 1413, i16 175, i16 0, i16 912, i16 2161, i16 0, i16 976, i16 2039, i16 649, i16 0, i16 1239, i16 2979, i16 1111, i16 1849, i16 1078, i16 0, i16 662, i16 668, i16 964, i16 0, i16 3314, i16 595, i16 3120, i16 3152, i16 592, i16 2687, i16 0, i16 2804, i16 2828, i16 2847, i16 2796, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1465, i16 2612, i16 2633, i16 2655, i16 2675, i16 2699, i16 2724, i16 2747, i16 2774, i16 2799, i16 2821, i16 2840, i16 2864, i16 2882, i16 2899, i16 2925, i16 641, i16 781, i16 0, i16 1996, i16 1613, i16 856, i16 1929, i16 1924, i16 0, i16 1781, i16 240, i16 1192, i16 35, i16 787, i16 3197, i16 1593, i16 3081, i16 2927, i16 0, i16 2686, i16 0, i16 1235, i16 0, i16 104, i16 1505, i16 0, i16 0, i16 0, i16 579, i16 3412, i16 2998, i16 1990, i16 2945, i16 2975, i16 2994, i16 3015, i16 3035, i16 0, i16 0, i16 0, i16 1742, i16 3070, i16 3093, i16 3116, i16 3137, i16 3162, i16 3186, i16 3203, i16 3226, i16 3250, i16 3270, i16 3298, i16 3320, i16 3345, i16 3366, i16 3390, i16 3411, i16 1976, i16 1998, i16 2025, i16 2049, i16 2075, i16 0, i16 0, i16 142, i16 0, i16 1213, i16 0, i16 560, i16 1166, i16 3001, i16 290, i16 0, i16 1536, i16 0, i16 633, i16 1309, i16 0, i16 1856, i16 1026, i16 0, i16 0, i16 591, i16 0, i16 0, i16 773, i16 0, i16 571, i16 2590, i16 110, i16 0, i16 0, i16 0, i16 0, i16 41, i16 621, i16 3218, i16 312, i16 3150, i16 431, i16 1894, i16 0, i16 963, i16 1790, i16 2952, i16 1558, i16 3199, i16 3142, i16 0, i16 2889, i16 0, i16 2761, i16 0, i16 0, i16 0, i16 0, i16 892, i16 0, i16 0, i16 0, i16 2869, i16 2877, i16 955, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1688, i16 313, i16 1710, i16 0, i16 1647, i16 0, i16 0, i16 0, i16 0, i16 0, i16 150, i16 383, i16 0, i16 0, i16 957, i16 1268, i16 0, i16 0, i16 1199, i16 3255, i16 2586, i16 1183, i16 0, i16 0, i16 0, i16 405, i16 2764, i16 818, i16 543, i16 293, i16 1017, i16 4, i16 3225, i16 0, i16 1984, i16 0, i16 0, i16 0, i16 3091, i16 2000, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 639, i16 0, i16 1428, i16 0, i16 444, i16 0, i16 718, i16 2251, i16 0, i16 0, i16 2306, i16 2181, i16 0, i16 2458, i16 0, i16 3083, i16 99, i16 0, i16 0, i16 479, i16 2260, i16 3064, i16 0, i16 3343, i16 0, i16 103, i16 1210, i16 727, i16 1469, i16 3339, i16 582, i16 0, i16 1956, i16 0, i16 0, i16 2223, i16 63, i16 203, i16 1208, i16 2141, i16 1238, i16 344, i16 2415, i16 796, i16 3323, i16 1692, i16 3117, i16 0, i16 0, i16 1653, i16 1175, i16 2446, i16 448, i16 327, i16 1928, i16 2706, i16 2713, i16 2826, i16 421, i16 2832, i16 0, i16 0, i16 113, i16 0, i16 2108, i16 1607, i16 2217, i16 1839, i16 2023, i16 679, i16 1275, i16 766, i16 252, i16 2789, i16 1391, i16 2872, i16 274, i16 1438, i16 0, i16 0, i16 1396, i16 1625, i16 0, i16 0, i16 0, i16 0, i16 561, i16 616, i16 790, i16 1691, i16 0, i16 1628, i16 1443, i16 3221, i16 0, i16 1700, i16 0, i16 1495, i16 1353, i16 2437, i16 59, i16 0, i16 2539, i16 1940, i16 0, i16 0, i16 0, i16 254, i16 0, i16 1439, i16 988, i16 369, i16 102, i16 195, i16 682, i16 0, i16 0, i16 1765, i16 0, i16 1704, i16 0, i16 704, i16 0, i16 554, i16 1222, i16 2784, i16 0, i16 0, i16 0, i16 559, i16 0, i16 0, i16 0, i16 302, i16 0, i16 0, i16 0, i16 0, i16 3284, i16 3234, i16 0, i16 2463, i16 3071, i16 1802, i16 1232, i16 0, i16 264, i16 0, i16 2868, i16 908, i16 0, i16 0, i16 0, i16 178, i16 0, i16 228, i16 0, i16 871, i16 0, i16 0, i16 0, i16 257, i16 0, i16 673, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 952, i16 416, i16 0, i16 419, i16 1936, i16 1503, i16 0, i16 319, i16 0, i16 0, i16 3342, i16 0, i16 0, i16 3174, i16 735, i16 39, i16 0, i16 1062, i16 573, i16 1594, i16 1168, i16 0, i16 962, i16 1441, i16 1173, i16 3084, i16 864, i16 0, i16 1970, i16 227, i16 3114, i16 0, i16 0, i16 1753, i16 1761, i16 1194, i16 0, i16 0, i16 0, i16 2094, i16 2122, i16 2154, i16 2177, i16 2207, i16 2238, i16 2266, i16 2285, i16 2309, i16 2335, i16 2355, i16 2376, i16 2396, i16 2417, i16 2442, i16 2468, i16 1292, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1451, i16 2589, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1401, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2475, i16 1869, i16 0, i16 0, i16 1317, i16 1059, i16 2777, i16 2728, i16 0, i16 0, i16 0, i16 0, i16 417, i16 1081, i16 1911, i16 0, i16 0, i16 0, i16 0, i16 3307, i16 1038, i16 0, i16 0, i16 0, i16 0, i16 2099, i16 575, i16 0, i16 0, i16 0, i16 2896, i16 2637, i16 3243, i16 0, i16 1141, i16 123, i16 1498, i16 1988, i16 2513, i16 0, i16 55, i16 2772, i16 2356, i16 1373, i16 1605, i16 0, i16 287, i16 3052, i16 0, i16 355, i16 765, i16 0, i16 0, i16 2781, i16 0, i16 2797, i16 1573, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 941, i16 1909, i16 2552, i16 0, i16 0, i16 0, i16 2276, i16 0, i16 38, i16 0, i16 1874, i16 50, i16 0, i16 0, i16 1380, i16 684, i16 0, i16 0, i16 411, i16 755, i16 1983, i16 2613, i16 0, i16 0, i16 0, i16 1478, i16 137, i16 0, i16 2544, i16 0, i16 2219, i16 332, i16 1455, i16 3350, i16 2325, i16 1294, i16 1946, i16 1028, i16 2062, i16 1445, i16 0, i16 0, i16 0, i16 797, i16 0, i16 1395, i16 0, i16 441, i16 499, i16 2823, i16 1890, i16 495, i16 1490, i16 3148, i16 1071, i16 1716, i16 3295, i16 0, i16 0, i16 937, i16 1797, i16 1246, i16 3205, i16 0, i16 946, i16 0, i16 2731, i16 0, i16 285, i16 0, i16 0, i16 0, i16 2459, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 384, i16 204, i16 2735, i16 716, i16 0, i16 0, i16 0, i16 153, i16 3347, i16 0, i16 0, i16 0, i16 2489, i16 2482, i16 1419, i16 2703, i16 2226, i16 1471, i16 0, i16 1418, i16 951, i16 0, i16 0, i16 0, i16 0, i16 232, i16 0, i16 0, i16 3326, i16 0, i16 0, i16 1470, i16 0, i16 0, i16 494, i16 0, i16 107, i16 2409, i16 1769, i16 1058, i16 3261, i16 0, i16 3147, i16 1285, i16 0, i16 1351, i16 3362, i16 0, i16 1204, i16 695, i16 0, i16 360, i16 1539, i16 2634, i16 0, i16 0, i16 2250, i16 0, i16 95, i16 3034, i16 1815, i16 0, i16 2993, i16 52, i16 1722, i16 0, i16 0, i16 0, i16 1276, i16 3172, i16 2199, i16 808, i16 786, i16 2361, i16 0, i16 1458, i16 2215, i16 0, i16 483, i16 3230, i16 1206, i16 2183, i16 2213, i16 2245, i16 2268, i16 2289, i16 2315, i16 2339, i16 2354, i16 2375, i16 2395, i16 2416, i16 2441, i16 2467, i16 2477, i16 2753, i16 2517, i16 2547, i16 2566, i16 2587, i16 2611, i16 2632, i16 2654, i16 2674, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 439, i16 2127, i16 2746, i16 3195, i16 2974, i16 0, i16 9, i16 1157, i16 1986, i16 1055, i16 1178, i16 0, i16 436, i16 0, i16 3388, i16 3048, i16 654, i16 0, i16 3058, i16 0, i16 1545, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2515, i16 0, i16 1221, i16 1099, i16 187, i16 2092, i16 1463, i16 2647, i16 2803, i16 0, i16 0, i16 0, i16 0, i16 1031, i16 2658, i16 0, i16 1836, i16 0, i16 0, i16 47, i16 2879, i16 3019, i16 2166, i16 0, i16 0, i16 1843, i16 0, i16 0, i16 398, i16 0, i16 1848, i16 874, i16 297, i16 0, i16 0, i16 0, i16 1686, i16 613, i16 3002, i16 2931, i16 2867, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2754, i16 2503, i16 2391, i16 3065, i16 3110, i16 3138, i16 3163, i16 3190, i16 3229, i16 3288, i16 3338, i16 3357, i16 2036, i16 2070, i16 2097, i16 2129, i16 2156, i16 2186, i16 2247, i16 2274, i16 2298, i16 2344, i16 2365, i16 2019, i16 2801, i16 2684, i16 2405, i16 3341, i16 3027, i16 3348, i16 3422, i16 2091, i16 1485, i16 0, i16 3010, i16 902, i16 0, i16 0, i16 1948, i16 0, i16 0, i16 0, i16 309, i16 0, i16 3418, i16 484, i16 0, i16 0, i16 2567, i16 1944, i16 0, i16 1724, i16 0, i16 1777, i16 492, i16 81, i16 688, i16 1714, i16 1499, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2770, i16 3075, i16 1804, i16 0, i16 1227, i16 1751, i16 2936, i16 0, i16 0, i16 0, i16 121, i16 0, i16 1180, i16 1364, i16 1322, i16 3112, i16 588, i16 347, i16 1982, i16 2162, i16 2938, i16 2304, i16 3215, i16 2528, i16 0, i16 0, i16 0, i16 2814, i16 1442, i16 71, i16 0, i16 593, i16 2775, i16 2240, i16 1741, i16 0, i16 0, i16 0, i16 2692, i16 1966, i16 0, i16 379, i16 1102, i16 3000, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1745, i16 0, i16 0, i16 0, i16 3161, i16 1057, i16 2683, i16 222, i16 2338, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1749, i16 2524, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2334, i16 2349, i16 2368, i16 2390, i16 2411, i16 2434, i16 2461, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3214, i16 3242, i16 3260, i16 3283, i16 3308, i16 3330, i16 3352, i16 0, i16 0, i16 0, i16 0, i16 0, i16 989, i16 982, i16 0, i16 0, i16 0, i16 0, i16 1938, i16 0, i16 0, i16 1681, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 991, i16 0, i16 730, i16 2911, i16 0, i16 0, i16 0, i16 1899, i16 2028, i16 185, i16 2512, i16 2569, i16 2673, i16 2267, i16 2806, i16 2941, i16 2540, i16 2923, i16 2086, i16 0, i16 1892, i16 0, i16 903, i16 2920, i16 2592, i16 2751, i16 1093, i16 1708, i16 0, i16 3005, i16 19, i16 3356, i16 2527, i16 216, i16 2619, i16 2188, i16 2557, i16 627, i16 748, i16 135, i16 1344, i16 0, i16 872, i16 1018, i16 2790, i16 2776, i16 0, i16 669, i16 2721, i16 73, i16 2139, i16 1278, i16 188, i16 0, i16 2662, i16 0, i16 0, i16 0, i16 0, i16 550, i16 1484, i16 1083, i16 1303, i16 3238, i16 2783, i16 2805, i16 2688, i16 2891, i16 2839, i16 2863, i16 2572, i16 2624, i16 2641, i16 2588, i16 2709, i16 2944, i16 2718, i16 2740, i16 2768, i16 2820, i16 2871, i16 2579, i16 2698, i16 215, i16 2959, i16 844, i16 2151, i16 2984, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2272, i16 0, i16 2155, i16 2445, i16 371, i16 1070, i16 2953, i16 1633, i16 389, i16 1272, i16 691, i16 1365, i16 1759, i16 2857, i16 1045, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2902, i16 2263, i16 170, i16 855, i16 3113, i16 685, i16 1379, i16 1226, i16 2082, i16 1311, i16 1643, i16 0, i16 3040, i16 1768, i16 1995, i16 1623, i16 2088, i16 3022, i16 1425, i16 1170, i16 2282, i16 0, i16 0, i16 923, i16 1515, i16 1300, i16 3090, i16 2476, i16 1914, i16 289, i16 587, i16 1937, i16 2546, i16 2536, i16 1449, i16 2962, i16 3207, i16 0, i16 1519, i16 1259, i16 968, i16 1590, i16 2371, i16 3066, i16 1249, i16 173, i16 759, i16 1945, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 526, i16 2096, i16 0, i16 0, i16 0, i16 0, i16 3367, i16 0, i16 541, i16 2231, i16 954, i16 0, i16 0, i16 237, i16 0, i16 0, i16 430, i16 0, i16 0, i16 0, i16 2081, i16 726, i16 2020, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 939, i16 23, i16 0, i16 3109, i16 0, i16 0, i16 0, i16 0, i16 3252, i16 2599, i16 0, i16 965, i16 2221, i16 420, i16 1386, i16 0, i16 1734, i16 0, i16 1824, i16 0, i16 0, i16 0, i16 1969, i16 2259, i16 1509, i16 0, i16 1580, i16 1887, i16 2712, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 194, i16 0, i16 2134, i16 2568, i16 2649, i16 226, i16 663, i16 2048, i16 1862, i16 2460, i16 1400, i16 1299, i16 3369, i16 0, i16 0, i16 1867, i16 465, i16 2620, i16 916, i16 771, i16 940, i16 233, i16 0, i16 3132, i16 2132, i16 720, i16 1020, i16 2050, i16 0, i16 2316, i16 1723, i16 3351, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2246, i16 2032, i16 0, i16 326, i16 3387, i16 714, i16 475, i16 0, i16 1673, i16 0, i16 0, i16 1743, i16 0, i16 3145, i16 0, i16 0, i16 1258, i16 1240, i16 1830, i16 0, i16 70, i16 0, i16 163, i16 0, i16 2817, i16 1230, i16 2481, i16 2253, i16 2880, i16 2551, i16 2701, i16 115, i16 2851, i16 2292, i16 434, i16 0, i16 0, i16 1420, i16 1152, i16 2150, i16 3201, i16 2498, i16 3224, i16 77, i16 0, i16 0, i16 0, i16 690, i16 2538, i16 1903, i16 1901, i16 2812, i16 3396, i16 1959, i16 3023, i16 0, i16 0, i16 0, i16 0, i16 1671, i16 258, i16 1060, i16 0, i16 1587, i16 191, i16 775, i16 935, i16 0, i16 0, i16 743, i16 2615, i16 1010, i16 0, i16 0, i16 0, i16 181, i16 3300, i16 372, i16 0, i16 1689, i16 749, i16 1695, i16 0, i16 2542, i16 2359, i16 418, i16 1730, i16 2771, i16 1735, i16 2470, i16 453, i16 2352, i16 2608, i16 143, i16 1337, i16 2160, i16 1339, i16 1352, i16 78, i16 3124, i16 983, i16 249, i16 0, i16 0, i16 3087, i16 1757, i16 2997, i16 2038, i16 1472, i16 2837, i16 619, i16 3414, i16 3053, i16 79, i16 2061, i16 1885, i16 1132, i16 2055, i16 3118, i16 604, i16 0, i16 0, i16 0, i16 1608, i16 744, i16 0, i16 2560, i16 0, i16 980, i16 1785, i16 301, i16 1489, i16 0, i16 853, i16 2293, i16 1792, i16 0, i16 0, i16 98, i16 1805, i16 456, i16 997, i16 0, i16 849, i16 1011, i16 821, i16 518, i16 0, i16 0, i16 605, i16 630, i16 0, i16 0, i16 0, i16 0, i16 1185, i16 0, i16 0, i16 0, i16 7, i16 0, i16 0, i16 0, i16 609, i16 2570, i16 2946, i16 345, i16 2856, i16 0, i16 415, i16 0, i16 0, i16 0, i16 0, i16 1360, i16 0, i16 2035, i16 1771, i16 2525, i16 0, i16 0, i16 0, i16 0, i16 846, i16 1720, i16 3361, i16 648, i16 132, i16 2252, i16 2080, i16 506, i16 0, i16 0, i16 0, i16 860, i16 214, i16 1522, i16 2819, i16 2671, i16 1051, i16 1551, i16 3107, i16 0, i16 0, i16 0, i16 1806, i16 1286, i16 2745, i16 1782, i16 870, i16 2022, i16 1935, i16 0, i16 1669, i16 809, i16 130, i16 0, i16 299, i16 0, i16 0, i16 2707, i16 2410, i16 0, i16 2602, i16 762, i16 3290, i16 3265, i16 2717, i16 85, i16 1597, i16 2341, i16 1763, i16 612, i16 2140, i16 2694, i16 664, i16 3299, i16 1042, i16 0, i16 1486, i16 1786, i16 2047, i16 2827, i16 1464, i16 3012, i16 2190, i16 0, i16 0, i16 196, i16 2942, i16 0, i16 837, i16 1586, i16 0, i16 1461, i16 710, i16 3077, i16 0, i16 996, i16 0, i16 0, i16 1237, i16 917, i16 457, i16 2194, i16 2954, i16 1220, i16 2780, i16 1444, i16 0, i16 0, i16 676, i16 1788, i16 0, i16 0, i16 971, i16 0, i16 652, i16 0, i16 0, i16 0, i16 0, i16 678, i16 2261, i16 0, i16 0, i16 674, i16 816, i16 2843, i16 286, i16 2900, i16 0, i16 2861, i16 563, i16 567, i16 2255, i16 2850, i16 1872, i16 2321, i16 1947, i16 0, i16 0, i16 854, i16 282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 14592, i16 0, i16 0, i16 0, i16 15360, i16 0, i16 0, i16 0, i16 13825, i16 0, i16 0, i16 0, i16 14338, i16 0, i16 0, i16 0, i16 14595, i16 0, i16 0, i16 0, i16 15620, i16 0, i16 0, i16 0, i16 13317, i16 0, i16 0, i16 0, i16 774, i16 0, i16 0, i16 0, i16 12806, i16 0, i16 0, i16 0, i16 15110, i16 0, i16 0, i16 0, i16 16903, i16 0, i16 0, i16 0, i16 13320, i16 0, i16 0, i16 0, i16 16136, i16 0, i16 0, i16 0, i16 15625, i16 0, i16 0, i16 0, i16 778, i16 0, i16 0, i16 0, i16 13578, i16 0, i16 0, i16 0, i16 14859, i16 0, i16 0, i16 0, i16 12556, i16 0, i16 0, i16 0, i16 14092, i16 0, i16 0, i16 0, i16 16652, i16 0, i16 0, i16 0, i16 12302, i16 0, i16 0, i16 0, i16 15118, i16 0, i16 0, i16 0, i16 17166, i16 0, i16 0, i16 0, i16 12559, i16 0, i16 0, i16 0, i16 12815, i16 0, i16 0, i16 0, i16 12304, i16 0, i16 0, i16 0, i16 14353, i16 0, i16 0, i16 0, i16 16913, i16 0, i16 0, i16 0, i16 14354, i16 0, i16 0, i16 0, i16 14355, i16 0, i16 0, i16 0, i16 16659, i16 0, i16 0, i16 0, i16 13844, i16 0, i16 0, i16 0, i16 13590, i16 0, i16 0, i16 0, i16 13591, i16 0, i16 0, i16 0, i16 15639, i16 0, i16 0, i16 0, i16 280, i16 0, i16 0, i16 0, i16 13336, i16 0, i16 0, i16 0, i16 14616, i16 0, i16 0, i16 0, i16 14105, i16 0, i16 0, i16 0, i16 13594, i16 0, i16 0, i16 0, i16 12571, i16 0, i16 0, i16 0, i16 13340, i16 0, i16 0, i16 0, i16 14620, i16 0, i16 0, i16 0, i16 14365, i16 0, i16 0, i16 0, i16 13854, i16 0, i16 0, i16 0, i16 16926, i16 0, i16 0, i16 0, i16 12831, i16 0, i16 0, i16 0, i16 14623, i16 0, i16 0, i16 0, i16 16415, i16 0, i16 0, i16 0, i16 16671, i16 0, i16 0, i16 0, i16 12576, i16 0, i16 0, i16 0, i16 15648, i16 0, i16 0, i16 0, i16 16928, i16 0, i16 0, i16 0, i16 12833, i16 0, i16 0, i16 0, i16 12322, i16 0, i16 0, i16 0, i16 13346, i16 0, i16 0, i16 0, i16 14370, i16 0, i16 0, i16 0, i16 16418, i16 0, i16 0, i16 0, i16 15907, i16 0, i16 0, i16 0, i16 14631, i16 0, i16 0, i16 0, i16 14632, i16 0, i16 0, i16 0, i16 15400, i16 0, i16 0, i16 0, i16 15656, i16 0, i16 0, i16 0, i16 13353, i16 0, i16 0, i16 0, i16 13609, i16 0, i16 0, i16 0, i16 15145, i16 0, i16 0, i16 0, i16 12330, i16 0, i16 0, i16 0, i16 12587, i16 0, i16 0, i16 0, i16 14891, i16 0, i16 0, i16 0, i16 15147, i16 0, i16 0, i16 0, i16 12588, i16 0, i16 0, i16 0, i16 13868, i16 0, i16 0, i16 0, i16 14381, i16 0, i16 0, i16 0, i16 15149, i16 0, i16 0, i16 0, i16 12334, i16 0, i16 0, i16 0, i16 16430, i16 0, i16 0, i16 0, i16 13359, i16 0, i16 0, i16 0, i16 14383, i16 0, i16 0, i16 0, i16 13616, i16 0, i16 0, i16 0, i16 15664, i16 0, i16 0, i16 0, i16 16432, i16 0, i16 0, i16 0, i16 12593, i16 0, i16 0, i16 0, i16 16945, i16 0, i16 0, i16 0, i16 15666, i16 0, i16 0, i16 0, i16 16690, i16 0, i16 0, i16 0, i16 15923, i16 0, i16 0, i16 0, i16 12340, i16 0, i16 0, i16 0, i16 14388, i16 0, i16 0, i16 0, i16 15924, i16 0, i16 0, i16 0, i16 12853, i16 0, i16 0, i16 0, i16 13112, i16 0, i16 0, i16 0, i16 15928, i16 0, i16 0, i16 0, i16 15929, i16 0, i16 0, i16 0, i16 16185, i16 0, i16 0, i16 0, i16 13626, i16 0, i16 0, i16 0, i16 13882, i16 0, i16 0, i16 0, i16 15930, i16 0, i16 0, i16 0, i16 12347, i16 0, i16 0, i16 0, i16 12603, i16 0, i16 0, i16 0, i16 13627, i16 0, i16 0, i16 0, i16 15675, i16 0, i16 0, i16 0, i16 12860, i16 0, i16 0, i16 0, i16 14396, i16 0, i16 0, i16 0, i16 16444, i16 0, i16 0, i16 0, i16 12351, i16 0, i16 0, i16 0, i16 13631, i16 0, i16 0, i16 0, i16 16703, i16 0, i16 0, i16 0, i16 12353, i16 0, i16 0, i16 0, i16 12865, i16 0, i16 0, i16 0, i16 13377, i16 0, i16 0, i16 0, i16 14145, i16 0, i16 0, i16 0, i16 15425, i16 0, i16 0, i16 0, i16 12866, i16 0, i16 0, i16 0, i16 13634, i16 0, i16 0, i16 0, i16 16962, i16 0, i16 0, i16 0, i16 13380, i16 0, i16 0, i16 0, i16 14916, i16 0, i16 0, i16 0, i16 13125, i16 0, i16 0, i16 0, i16 13893, i16 0, i16 0, i16 0, i16 15429, i16 0, i16 0, i16 0, i16 16709, i16 0, i16 0, i16 0, i16 13638, i16 0, i16 0, i16 0, i16 15430, i16 0, i16 0, i16 0, i16 15686, i16 0, i16 0, i16 0, i16 16966, i16 0, i16 0, i16 0, i16 13383, i16 0, i16 0, i16 0, i16 16455, i16 0, i16 0, i16 0, i16 16456, i16 0, i16 0, i16 0, i16 16712, i16 0, i16 0, i16 0, i16 12361, i16 0, i16 0, i16 0, i16 12617, i16 0, i16 0, i16 0, i16 15177, i16 0, i16 0, i16 0, i16 12874, i16 0, i16 0, i16 0, i16 16970, i16 0, i16 0, i16 0, i16 12875, i16 0, i16 0, i16 0, i16 14412, i16 0, i16 0, i16 0, i16 15948, i16 0, i16 0, i16 0, i16 12621, i16 0, i16 0, i16 0, i16 13646, i16 0, i16 0, i16 0, i16 14414, i16 0, i16 0, i16 0, i16 12623, i16 0, i16 0, i16 0, i16 14159, i16 0, i16 0, i16 0, i16 13136, i16 0, i16 0, i16 0, i16 16464, i16 0, i16 0, i16 0, i16 16976, i16 0, i16 0, i16 0, i16 12882, i16 0, i16 0, i16 0, i16 15698, i16 0, i16 0, i16 0, i16 14419, i16 0, i16 0, i16 0, i16 12373, i16 0, i16 0, i16 0, i16 15957, i16 0, i16 0, i16 0, i16 16981, i16 0, i16 0, i16 0, i16 13398, i16 0, i16 0, i16 0, i16 14934, i16 0, i16 0, i16 0, i16 13400, i16 0, i16 0, i16 0, i16 13145, i16 0, i16 0, i16 0, i16 13402, i16 0, i16 0, i16 0, i16 14682, i16 0, i16 0, i16 0, i16 16730, i16 0, i16 0, i16 0, i16 16986, i16 0, i16 0, i16 0, i16 14939, i16 0, i16 0, i16 0, i16 13148, i16 0, i16 0, i16 0, i16 15708, i16 0, i16 0, i16 0, i16 16476, i16 0, i16 0, i16 0, i16 13149, i16 0, i16 0, i16 0, i16 14173, i16 0, i16 0, i16 0, i16 15453, i16 0, i16 0, i16 0, i16 15709, i16 0, i16 0, i16 0, i16 16733, i16 0, i16 0, i16 0, i16 14174, i16 0, i16 0, i16 0, i16 15710, i16 0, i16 0, i16 0, i16 12383, i16 0, i16 0, i16 0, i16 16735, i16 0, i16 0, i16 0, i16 15712, i16 0, i16 0, i16 0, i16 12641, i16 0, i16 0, i16 0, i16 13409, i16 0, i16 0, i16 0, i16 16226, i16 0, i16 0, i16 0, i16 13923, i16 0, i16 0, i16 0, i16 14179, i16 0, i16 0, i16 0, i16 16483, i16 0, i16 0, i16 0, i16 15716, i16 0, i16 0, i16 0, i16 13414, i16 0, i16 0, i16 0, i16 615, i16 0, i16 0, i16 0, i16 871, i16 0, i16 0, i16 0, i16 12906, i16 0, i16 0, i16 0, i16 14186, i16 0, i16 0, i16 0, i16 14442, i16 0, i16 0, i16 0, i16 14698, i16 0, i16 0, i16 0, i16 16490, i16 0, i16 0, i16 0, i16 12651, i16 0, i16 0, i16 0, i16 13675, i16 0, i16 0, i16 0, i16 13164, i16 0, i16 0, i16 0, i16 13420, i16 0, i16 0, i16 0, i16 15980, i16 0, i16 0, i16 0, i16 13935, i16 0, i16 0, i16 0, i16 13680, i16 0, i16 0, i16 0, i16 16752, i16 0, i16 0, i16 0, i16 13938, i16 0, i16 0, i16 0, i16 15475, i16 0, i16 0, i16 0, i16 15731, i16 0, i16 0, i16 0, i16 12660, i16 0, i16 0, i16 0, i16 15732, i16 0, i16 0, i16 0, i16 14453, i16 0, i16 0, i16 0, i16 14709, i16 0, i16 0, i16 0, i16 15221, i16 0, i16 0, i16 0, i16 12406, i16 0, i16 0, i16 0, i16 13174, i16 0, i16 0, i16 0, i16 12919, i16 0, i16 0, i16 0, i16 16759, i16 0, i16 0, i16 0, i16 15480, i16 0, i16 0, i16 0, i16 14201, i16 0, i16 0, i16 0, i16 15737, i16 0, i16 0, i16 0, i16 15993, i16 0, i16 0, i16 0, i16 16250, i16 0, i16 0, i16 0, i16 12411, i16 0, i16 0, i16 0, i16 636, i16 0, i16 0, i16 0, i16 13180, i16 0, i16 0, i16 0, i16 14460, i16 0, i16 0, i16 0, i16 14716, i16 0, i16 0, i16 0, i16 14972, i16 0, i16 0, i16 0, i16 15228, i16 0, i16 0, i16 0, i16 12669, i16 0, i16 0, i16 0, i16 14205, i16 0, i16 0, i16 0, i16 16765, i16 0, i16 0, i16 0, i16 12926, i16 0, i16 0, i16 0, i16 15486, i16 0, i16 0, i16 0, i16 15742, i16 0, i16 0, i16 0, i16 14207, i16 0, i16 0, i16 0, i16 16767, i16 0, i16 0, i16 0, i16 13185, i16 0, i16 0, i16 0, i16 12931, i16 0, i16 0, i16 0, i16 13187, i16 0, i16 0, i16 0, i16 13699, i16 0, i16 0, i16 0, i16 14467, i16 0, i16 0, i16 0, i16 12421, i16 0, i16 0, i16 0, i16 13701, i16 0, i16 0, i16 0, i16 14725, i16 0, i16 0, i16 0, i16 14981, i16 0, i16 0, i16 0, i16 16261, i16 0, i16 0, i16 0, i16 13190, i16 0, i16 0, i16 0, i16 14214, i16 0, i16 0, i16 0, i16 16006, i16 0, i16 0, i16 0, i16 13703, i16 0, i16 0, i16 0, i16 12425, i16 0, i16 0, i16 0, i16 13705, i16 0, i16 0, i16 0, i16 14473, i16 0, i16 0, i16 0, i16 14985, i16 0, i16 0, i16 0, i16 13962, i16 0, i16 0, i16 0, i16 16266, i16 0, i16 0, i16 0, i16 12939, i16 0, i16 0, i16 0, i16 13453, i16 0, i16 0, i16 0, i16 14221, i16 0, i16 0, i16 0, i16 16013, i16 0, i16 0, i16 0, i16 17037, i16 0, i16 0, i16 0, i16 15503, i16 0, i16 0, i16 0, i16 14737, i16 0, i16 0, i16 0, i16 12946, i16 0, i16 0, i16 0, i16 13458, i16 0, i16 0, i16 0, i16 15506, i16 0, i16 0, i16 0, i16 17042, i16 0, i16 0, i16 0, i16 12435, i16 0, i16 0, i16 0, i16 16019, i16 0, i16 0, i16 0, i16 17043, i16 0, i16 0, i16 0, i16 12948, i16 0, i16 0, i16 0, i16 13972, i16 0, i16 0, i16 0, i16 16532, i16 0, i16 0, i16 0, i16 13975, i16 0, i16 0, i16 0, i16 15768, i16 0, i16 0, i16 0, i16 16793, i16 0, i16 0, i16 0, i16 13466, i16 0, i16 0, i16 0, i16 155, i16 0, i16 0, i16 0, i16 156, i16 0, i16 0, i16 0, i16 13469, i16 0, i16 0, i16 0, i16 16285, i16 0, i16 0, i16 0, i16 12958, i16 0, i16 0, i16 0, i16 13215, i16 0, i16 0, i16 0, i16 13727, i16 0, i16 0, i16 0, i16 14751, i16 0, i16 0, i16 0, i16 15263, i16 0, i16 0, i16 0, i16 15775, i16 0, i16 0, i16 0, i16 12704, i16 0, i16 0, i16 0, i16 16800, i16 0, i16 0, i16 0, i16 13473, i16 0, i16 0, i16 0, i16 14241, i16 0, i16 0, i16 0, i16 15521, i16 0, i16 0, i16 0, i16 16801, i16 0, i16 0, i16 0, i16 12962, i16 0, i16 0, i16 0, i16 15010, i16 0, i16 0, i16 0, i16 15778, i16 0, i16 0, i16 0, i16 15267, i16 0, i16 0, i16 0, i16 14500, i16 0, i16 0, i16 0, i16 165, i16 0, i16 0, i16 0, i16 15781, i16 0, i16 0, i16 0, i16 16293, i16 0, i16 0, i16 0, i16 166, i16 0, i16 0, i16 0, i16 17063, i16 0, i16 0, i16 0, i16 13736, i16 0, i16 0, i16 0, i16 16296, i16 0, i16 0, i16 0, i16 16808, i16 0, i16 0, i16 0, i16 12713, i16 0, i16 0, i16 0, i16 13993, i16 0, i16 0, i16 0, i16 16041, i16 0, i16 0, i16 0, i16 16810, i16 0, i16 0, i16 0, i16 17066, i16 0, i16 0, i16 0, i16 13483, i16 0, i16 0, i16 0, i16 13484, i16 0, i16 0, i16 0, i16 16300, i16 0, i16 0, i16 0, i16 13741, i16 0, i16 0, i16 0, i16 15277, i16 0, i16 0, i16 0, i16 12462, i16 0, i16 0, i16 0, i16 13999, i16 0, i16 0, i16 0, i16 16559, i16 0, i16 0, i16 0, i16 176, i16 0, i16 0, i16 0, i16 16048, i16 0, i16 0, i16 0, i16 13233, i16 0, i16 0, i16 0, i16 14769, i16 0, i16 0, i16 0, i16 16049, i16 0, i16 0, i16 0, i16 16305, i16 0, i16 0, i16 0, i16 13746, i16 0, i16 0, i16 0, i16 13747, i16 0, i16 0, i16 0, i16 180, i16 0, i16 0, i16 0, i16 13237, i16 0, i16 0, i16 0, i16 13749, i16 0, i16 0, i16 0, i16 14773, i16 0, i16 0, i16 0, i16 16309, i16 0, i16 0, i16 0, i16 16821, i16 0, i16 0, i16 0, i16 13750, i16 0, i16 0, i16 0, i16 14263, i16 0, i16 0, i16 0, i16 696, i16 0, i16 0, i16 0, i16 15544, i16 0, i16 0, i16 0, i16 16312, i16 0, i16 0, i16 0, i16 15290, i16 0, i16 0, i16 0, i16 16570, i16 0, i16 0, i16 0, i16 12475, i16 0, i16 0, i16 0, i16 13755, i16 0, i16 0, i16 0, i16 14779, i16 0, i16 0, i16 0, i16 15035, i16 0, i16 0, i16 0, i16 16828, i16 0, i16 0, i16 0, i16 15037, i16 0, i16 0, i16 0, i16 14526, i16 0, i16 0, i16 0, i16 15294, i16 0, i16 0, i16 0, i16 16832, i16 0, i16 0, i16 0, i16 15809, i16 0, i16 0, i16 0, i16 13506, i16 0, i16 0, i16 0, i16 16066, i16 0, i16 0, i16 0, i16 16834, i16 0, i16 0, i16 0, i16 12739, i16 0, i16 0, i16 0, i16 13763, i16 0, i16 0, i16 0, i16 12740, i16 0, i16 0, i16 0, i16 13764, i16 0, i16 0, i16 0, i16 16068, i16 0, i16 0, i16 0, i16 15045, i16 0, i16 0, i16 0, i16 15301, i16 0, i16 0, i16 0, i16 14278, i16 0, i16 0, i16 0, i16 12743, i16 0, i16 0, i16 0, i16 14791, i16 0, i16 0, i16 0, i16 17095, i16 0, i16 0, i16 0, i16 13768, i16 0, i16 0, i16 0, i16 15560, i16 0, i16 0, i16 0, i16 12745, i16 0, i16 0, i16 0, i16 13513, i16 0, i16 0, i16 0, i16 13514, i16 0, i16 0, i16 0, i16 13770, i16 0, i16 0, i16 0, i16 14027, i16 0, i16 0, i16 0, i16 17099, i16 0, i16 0, i16 0, i16 13516, i16 0, i16 0, i16 0, i16 17100, i16 0, i16 0, i16 0, i16 14285, i16 0, i16 0, i16 0, i16 16845, i16 0, i16 0, i16 0, i16 12494, i16 0, i16 0, i16 0, i16 14798, i16 0, i16 0, i16 0, i16 17102, i16 0, i16 0, i16 0, i16 16079, i16 0, i16 0, i16 0, i16 13520, i16 0, i16 0, i16 0, i16 14032, i16 0, i16 0, i16 0, i16 14288, i16 0, i16 0, i16 0, i16 14800, i16 0, i16 0, i16 0, i16 14289, i16 0, i16 0, i16 0, i16 15569, i16 0, i16 0, i16 0, i16 17105, i16 0, i16 0, i16 0, i16 13778, i16 0, i16 0, i16 0, i16 14034, i16 0, i16 0, i16 0, i16 14803, i16 0, i16 0, i16 0, i16 16083, i16 0, i16 0, i16 0, i16 14805, i16 0, i16 0, i16 0, i16 15829, i16 0, i16 0, i16 0, i16 16597, i16 0, i16 0, i16 0, i16 16853, i16 0, i16 0, i16 0, i16 16598, i16 0, i16 0, i16 0, i16 12503, i16 0, i16 0, i16 0, i16 13527, i16 0, i16 0, i16 0, i16 16088, i16 0, i16 0, i16 0, i16 12761, i16 0, i16 0, i16 0, i16 13785, i16 0, i16 0, i16 0, i16 14809, i16 0, i16 0, i16 0, i16 12508, i16 0, i16 0, i16 0, i16 13276, i16 0, i16 0, i16 0, i16 13532, i16 0, i16 0, i16 0, i16 15836, i16 0, i16 0, i16 0, i16 16348, i16 0, i16 0, i16 0, i16 17116, i16 0, i16 0, i16 0, i16 14045, i16 0, i16 0, i16 0, i16 15837, i16 0, i16 0, i16 0, i16 14558, i16 0, i16 0, i16 0, i16 15326, i16 0, i16 0, i16 0, i16 14047, i16 0, i16 0, i16 0, i16 12768, i16 0, i16 0, i16 0, i16 15584, i16 0, i16 0, i16 0, i16 225, i16 0, i16 0, i16 0, i16 13793, i16 0, i16 0, i16 0, i16 13027, i16 0, i16 0, i16 0, i16 14819, i16 0, i16 0, i16 0, i16 16099, i16 0, i16 0, i16 0, i16 16867, i16 0, i16 0, i16 0, i16 14052, i16 0, i16 0, i16 0, i16 17124, i16 0, i16 0, i16 0, i16 14821, i16 0, i16 0, i16 0, i16 15077, i16 0, i16 0, i16 0, i16 13286, i16 0, i16 0, i16 0, i16 12519, i16 0, i16 0, i16 0, i16 12775, i16 0, i16 0, i16 0, i16 13031, i16 0, i16 0, i16 0, i16 14311, i16 0, i16 0, i16 0, i16 14823, i16 0, i16 0, i16 0, i16 13800, i16 0, i16 0, i16 0, i16 16616, i16 0, i16 0, i16 0, i16 14057, i16 0, i16 0, i16 0, i16 14826, i16 0, i16 0, i16 0, i16 15594, i16 0, i16 0, i16 0, i16 13291, i16 0, i16 0, i16 0, i16 16108, i16 0, i16 0, i16 0, i16 237, i16 0, i16 0, i16 0, i16 12781, i16 0, i16 0, i16 0, i16 15597, i16 0, i16 0, i16 0, i16 15342, i16 0, i16 0, i16 0, i16 14063, i16 0, i16 0, i16 0, i16 15087, i16 0, i16 0, i16 0, i16 15344, i16 0, i16 0, i16 0, i16 13809, i16 0, i16 0, i16 0, i16 17138, i16 0, i16 0, i16 0, i16 15091, i16 0, i16 0, i16 0, i16 16627, i16 0, i16 0, i16 0, i16 12788, i16 0, i16 0, i16 0, i16 14580, i16 0, i16 0, i16 0, i16 15348, i16 0, i16 0, i16 0, i16 16628, i16 0, i16 0, i16 0, i16 13813, i16 0, i16 0, i16 0, i16 13302, i16 0, i16 0, i16 0, i16 14326, i16 0, i16 0, i16 0, i16 15094, i16 0, i16 0, i16 0, i16 15863, i16 0, i16 0, i16 0, i16 16375, i16 0, i16 0, i16 0, i16 15353, i16 0, i16 0, i16 0, i16 15609, i16 0, i16 0, i16 0, i16 14586, i16 0, i16 0, i16 0, i16 15354, i16 0, i16 0, i16 0, i16 15355, i16 0, i16 0, i16 0, i16 15867, i16 0, i16 0, i16 0, i16 15100, i16 0, i16 0, i16 0, i16 12285, i16 0, i16 0, i16 0, i16 13053, i16 0, i16 0, i16 0, i16 14333, i16 0, i16 0, i16 0, i16 12542, i16 0, i16 0, i16 0, i16 12798, i16 0, i16 0, i16 0, i16 13310, i16 0, i16 0, i16 0, i16 14846, i16 0, i16 0, i16 0, i16 15103, i16 0, i16 0, i16 256, i16 0, i16 0, i16 0, i16 14080, i16 0, i16 0, i16 0, i16 13313, i16 17049, i16 0, i16 0, i16 12546, i16 0, i16 0, i16 0, i16 14082, i16 0, i16 0, i16 0, i16 15618, i16 0, i16 0, i16 0, i16 12547, i16 0, i16 0, i16 0, i16 16899, i16 0, i16 0, i16 0, i16 14852, i16 17003, i16 0, i16 0, i16 16388, i16 0, i16 0, i16 0, i16 16644, i16 0, i16 0, i16 0, i16 13573, i16 0, i16 0, i16 0, i16 14085, i16 0, i16 0, i16 0, i16 15109, i16 0, i16 0, i16 0, i16 13318, i16 0, i16 0, i16 0, i16 15366, i16 0, i16 0, i16 0, i16 15622, i16 0, i16 0, i16 0, i16 16390, i16 14495, i16 0, i16 0, i16 16902, i16 13005, i16 0, i16 0, i16 12295, i16 12296, i16 0, i16 0, i16 14343, i16 13546, i16 0, i16 0, i16 16647, i16 0, i16 0, i16 0, i16 14344, i16 0, i16 0, i16 0, i16 15880, i16 15683, i16 0, i16 0, i16 265, i16 264, i16 0, i16 0, i16 12553, i16 14944, i16 0, i16 0, i16 13833, i16 0, i16 0, i16 0, i16 14857, i16 0, i16 0, i16 0, i16 15881, i16 0, i16 0, i16 0, i16 16137, i16 0, i16 0, i16 0, i16 16649, i16 0, i16 0, i16 0, i16 17162, i16 0, i16 0, i16 0, i16 12555, i16 16345, i16 0, i16 0, i16 13067, i16 0, i16 0, i16 0, i16 15115, i16 0, i16 0, i16 0, i16 12300, i16 0, i16 0, i16 0, i16 14348, i16 0, i16 0, i16 0, i16 15628, i16 14483, i16 0, i16 0, i16 16140, i16 0, i16 0, i16 0, i16 12557, i16 0, i16 0, i16 0, i16 14349, i16 0, i16 0, i16 0, i16 14605, i16 15757, i16 0, i16 0, i16 15629, i16 0, i16 0, i16 0, i16 15885, i16 0, i16 0, i16 0, i16 782, i16 0, i16 0, i16 0, i16 13582, i16 13021, i16 0, i16 0, i16 14094, i16 0, i16 0, i16 0, i16 14862, i16 0, i16 0, i16 0, i16 16398, i16 14978, i16 0, i16 0, i16 14352, i16 0, i16 0, i16 0, i16 15376, i16 0, i16 0, i16 0, i16 15121, i16 0, i16 0, i16 0, i16 16657, i16 0, i16 0, i16 0, i16 17169, i16 0, i16 0, i16 0, i16 16658, i16 0, i16 0, i16 0, i16 12819, i16 15198, i16 0, i16 0, i16 13331, i16 0, i16 0, i16 0, i16 13588, i16 15915, i16 0, i16 0, i16 16148, i16 0, i16 0, i16 0, i16 13589, i16 14715, i16 0, i16 0, i16 15125, i16 0, i16 0, i16 0, i16 16661, i16 0, i16 0, i16 0, i16 12310, i16 0, i16 0, i16 0, i16 12566, i16 15116, i16 0, i16 0, i16 13334, i16 0, i16 0, i16 0, i16 14102, i16 15783, i16 0, i16 0, i16 13335, i16 0, i16 0, i16 0, i16 16152, i16 0, i16 0, i16 0, i16 12569, i16 0, i16 0, i16 0, i16 282, i16 0, i16 0, i16 0, i16 794, i16 0, i16 0, i16 0, i16 13338, i16 0, i16 0, i16 0, i16 15386, i16 15387, i16 0, i16 0, i16 15643, i16 16909, i16 0, i16 0, i16 16155, i16 14782, i16 0, i16 0, i16 16667, i16 0, i16 0, i16 0, i16 12828, i16 0, i16 0, i16 0, i16 15644, i16 0, i16 0, i16 0, i16 12829, i16 0, i16 0, i16 0, i16 13597, i16 0, i16 0, i16 0, i16 15133, i16 0, i16 0, i16 0, i16 16413, i16 0, i16 0, i16 0, i16 16669, i16 0, i16 0, i16 0, i16 14110, i16 0, i16 0, i16 0, i16 15902, i16 0, i16 0, i16 0, i16 16158, i16 0, i16 0, i16 0, i16 16670, i16 0, i16 0, i16 0, i16 12320, i16 0, i16 0, i16 0, i16 13344, i16 0, i16 0, i16 0, i16 14624, i16 13170, i16 0, i16 0, i16 15392, i16 0, i16 0, i16 0, i16 16672, i16 12786, i16 0, i16 0, i16 12321, i16 0, i16 0, i16 0, i16 13601, i16 0, i16 0, i16 0, i16 14881, i16 17167, i16 0, i16 0, i16 15649, i16 16630, i16 0, i16 0, i16 15905, i16 16062, i16 0, i16 0, i16 16929, i16 0, i16 0, i16 0, i16 14114, i16 0, i16 0, i16 0, i16 14882, i16 0, i16 0, i16 0, i16 15906, i16 12444, i16 0, i16 0, i16 16674, i16 0, i16 0, i16 0, i16 16163, i16 0, i16 0, i16 0, i16 13860, i16 13824, i16 0, i16 0, i16 14116, i16 15911, i16 0, i16 0, i16 14884, i16 0, i16 0, i16 0, i16 12325, i16 0, i16 0, i16 0, i16 12837, i16 0, i16 0, i16 0, i16 16678, i16 0, i16 0, i16 0, i16 12327, i16 0, i16 0, i16 0, i16 14887, i16 0, i16 0, i16 0, i16 16423, i16 0, i16 0, i16 0, i16 12328, i16 16639, i16 0, i16 0, i16 16425, i16 0, i16 0, i16 0, i16 13610, i16 16180, i16 0, i16 0, i16 14890, i16 0, i16 0, i16 0, i16 16170, i16 0, i16 0, i16 0, i16 15403, i16 0, i16 0, i16 0, i16 16171, i16 0, i16 0, i16 0, i16 12332, i16 0, i16 0, i16 0, i16 15404, i16 15291, i16 0, i16 0, i16 14125, i16 0, i16 0, i16 0, i16 14893, i16 15274, i16 0, i16 0, i16 16685, i16 0, i16 0, i16 0, i16 16941, i16 0, i16 0, i16 0, i16 14382, i16 0, i16 0, i16 0, i16 14638, i16 12998, i16 0, i16 0, i16 16174, i16 0, i16 0, i16 0, i16 12591, i16 0, i16 0, i16 0, i16 14639, i16 0, i16 0, i16 0, i16 13360, i16 0, i16 0, i16 0, i16 14384, i16 0, i16 0, i16 0, i16 14640, i16 0, i16 0, i16 0, i16 13361, i16 0, i16 0, i16 0, i16 14641, i16 0, i16 0, i16 0, i16 15409, i16 0, i16 0, i16 0, i16 16433, i16 0, i16 0, i16 0, i16 14642, i16 0, i16 0, i16 0, i16 14898, i16 13976, i16 0, i16 0, i16 15154, i16 0, i16 0, i16 0, i16 12851, i16 15968, i16 0, i16 0, i16 13619, i16 0, i16 0, i16 0, i16 16947, i16 0, i16 0, i16 0, i16 15156, i16 0, i16 0, i16 0, i16 13365, i16 0, i16 0, i16 0, i16 13621, i16 12675, i16 0, i16 0, i16 12598, i16 15066, i16 0, i16 0, i16 12343, i16 13378, i16 0, i16 0, i16 14135, i16 0, i16 0, i16 0, i16 14391, i16 0, i16 0, i16 0, i16 16951, i16 15075, i16 0, i16 0, i16 12856, i16 0, i16 0, i16 0, i16 15160, i16 13821, i16 0, i16 0, i16 14905, i16 0, i16 0, i16 0, i16 12858, i16 0, i16 0, i16 0, i16 13370, i16 0, i16 0, i16 0, i16 14138, i16 0, i16 0, i16 0, i16 14907, i16 0, i16 0, i16 0, i16 13628, i16 0, i16 0, i16 0, i16 13884, i16 0, i16 0, i16 0, i16 16956, i16 0, i16 0, i16 0, i16 13885, i16 0, i16 0, i16 0, i16 14141, i16 0, i16 0, i16 0, i16 14398, i16 0, i16 0, i16 0, i16 15166, i16 0, i16 0, i16 0, i16 16958, i16 0, i16 0, i16 0, i16 13375, i16 0, i16 0, i16 0, i16 13889, i16 0, i16 0, i16 0, i16 14913, i16 14137, i16 0, i16 0, i16 16193, i16 0, i16 0, i16 0, i16 16449, i16 0, i16 0, i16 0, i16 15938, i16 0, i16 0, i16 0, i16 12355, i16 0, i16 0, i16 0, i16 13379, i16 0, i16 0, i16 0, i16 14660, i16 16660, i16 0, i16 0, i16 15684, i16 0, i16 0, i16 0, i16 12613, i16 16161, i16 0, i16 0, i16 12869, i16 0, i16 0, i16 0, i16 16965, i16 0, i16 0, i16 0, i16 13126, i16 0, i16 0, i16 0, i16 14406, i16 0, i16 0, i16 0, i16 12359, i16 0, i16 0, i16 0, i16 13895, i16 15817, i16 0, i16 0, i16 16711, i16 0, i16 0, i16 0, i16 13640, i16 0, i16 0, i16 0, i16 14920, i16 0, i16 0, i16 0, i16 15944, i16 0, i16 0, i16 0, i16 13385, i16 0, i16 0, i16 0, i16 13641, i16 0, i16 0, i16 0, i16 15945, i16 16859, i16 0, i16 0, i16 16457, i16 0, i16 0, i16 0, i16 12362, i16 0, i16 0, i16 0, i16 13130, i16 0, i16 0, i16 0, i16 14154, i16 0, i16 0, i16 0, i16 14666, i16 0, i16 0, i16 0, i16 16202, i16 0, i16 0, i16 0, i16 13131, i16 15689, i16 0, i16 0, i16 13387, i16 0, i16 0, i16 0, i16 14155, i16 0, i16 0, i16 0, i16 15179, i16 12896, i16 0, i16 0, i16 15691, i16 0, i16 0, i16 0, i16 12364, i16 14260, i16 0, i16 0, i16 13388, i16 13894, i16 0, i16 0, i16 13901, i16 0, i16 0, i16 0, i16 14669, i16 15472, i16 0, i16 0, i16 15949, i16 0, i16 0, i16 0, i16 13390, i16 16026, i16 0, i16 0, i16 14670, i16 0, i16 0, i16 0, i16 13135, i16 16906, i16 0, i16 0, i16 13391, i16 0, i16 0, i16 0, i16 16463, i16 0, i16 0, i16 0, i16 13392, i16 13404, i16 0, i16 0, i16 16720, i16 0, i16 0, i16 0, i16 13649, i16 0, i16 0, i16 0, i16 16209, i16 0, i16 0, i16 0, i16 14674, i16 0, i16 0, i16 0, i16 16722, i16 0, i16 0, i16 0, i16 14163, i16 0, i16 0, i16 0, i16 14675, i16 0, i16 0, i16 0, i16 15699, i16 0, i16 0, i16 0, i16 12628, i16 14648, i16 0, i16 0, i16 13396, i16 0, i16 0, i16 0, i16 15188, i16 0, i16 0, i16 0, i16 12886, i16 0, i16 0, i16 0, i16 13910, i16 0, i16 0, i16 0, i16 14422, i16 0, i16 0, i16 0, i16 15958, i16 12707, i16 0, i16 0, i16 16214, i16 0, i16 0, i16 0, i16 16470, i16 0, i16 0, i16 0, i16 12631, i16 13625, i16 0, i16 0, i16 13143, i16 0, i16 0, i16 0, i16 14423, i16 0, i16 0, i16 0, i16 13656, i16 0, i16 0, i16 0, i16 13912, i16 0, i16 0, i16 0, i16 14424, i16 0, i16 0, i16 0, i16 12633, i16 0, i16 0, i16 0, i16 13913, i16 0, i16 0, i16 0, i16 12890, i16 0, i16 0, i16 0, i16 13146, i16 0, i16 0, i16 0, i16 15962, i16 0, i16 0, i16 0, i16 13147, i16 0, i16 0, i16 0, i16 13659, i16 0, i16 0, i16 0, i16 13405, i16 0, i16 0, i16 0, i16 13150, i16 0, i16 0, i16 0, i16 13406, i16 0, i16 0, i16 0, i16 14686, i16 0, i16 0, i16 0, i16 12895, i16 12407, i16 0, i16 0, i16 15455, i16 0, i16 0, i16 0, i16 14176, i16 0, i16 0, i16 0, i16 14432, i16 0, i16 0, i16 0, i16 15200, i16 0, i16 0, i16 0, i16 16736, i16 0, i16 0, i16 0, i16 12897, i16 0, i16 0, i16 0, i16 13921, i16 0, i16 0, i16 0, i16 14689, i16 0, i16 0, i16 0, i16 13154, i16 0, i16 0, i16 0, i16 16994, i16 16995, i16 0, i16 0, i16 15971, i16 15754, i16 0, i16 0, i16 13156, i16 0, i16 0, i16 0, i16 14692, i16 0, i16 0, i16 0, i16 15460, i16 0, i16 0, i16 0, i16 16228, i16 0, i16 0, i16 0, i16 12389, i16 0, i16 0, i16 0, i16 13669, i16 0, i16 0, i16 0, i16 16486, i16 0, i16 0, i16 0, i16 13927, i16 12380, i16 0, i16 0, i16 14951, i16 15813, i16 0, i16 0, i16 15975, i16 0, i16 0, i16 0, i16 16487, i16 0, i16 0, i16 0, i16 12904, i16 12905, i16 0, i16 0, i16 13416, i16 14004, i16 0, i16 0, i16 15977, i16 0, i16 0, i16 0, i16 12394, i16 15982, i16 0, i16 0, i16 15978, i16 0, i16 0, i16 0, i16 13676, i16 0, i16 0, i16 0, i16 15212, i16 0, i16 0, i16 0, i16 14445, i16 0, i16 0, i16 0, i16 12654, i16 0, i16 0, i16 0, i16 13934, i16 0, i16 0, i16 0, i16 13679, i16 0, i16 0, i16 0, i16 14449, i16 0, i16 0, i16 0, i16 16241, i16 0, i16 0, i16 0, i16 13426, i16 16648, i16 0, i16 0, i16 12915, i16 0, i16 0, i16 0, i16 13427, i16 14180, i16 0, i16 0, i16 14451, i16 15717, i16 0, i16 0, i16 16243, i16 0, i16 0, i16 0, i16 14452, i16 0, i16 0, i16 0, i16 14708, i16 0, i16 0, i16 0, i16 12917, i16 0, i16 0, i16 0, i16 14966, i16 0, i16 0, i16 0, i16 13944, i16 0, i16 0, i16 0, i16 15992, i16 0, i16 0, i16 0, i16 16760, i16 0, i16 0, i16 0, i16 17016, i16 15317, i16 0, i16 0, i16 15225, i16 0, i16 0, i16 0, i16 12666, i16 0, i16 0, i16 0, i16 15738, i16 13848, i16 0, i16 0, i16 17018, i16 0, i16 0, i16 0, i16 13947, i16 0, i16 0, i16 0, i16 15996, i16 0, i16 0, i16 0, i16 13181, i16 0, i16 0, i16 0, i16 15229, i16 0, i16 0, i16 0, i16 13438, i16 13197, i16 0, i16 0, i16 15743, i16 0, i16 0, i16 0, i16 17023, i16 0, i16 0, i16 0, i16 13184, i16 0, i16 0, i16 0, i16 13440, i16 0, i16 0, i16 0, i16 13442, i16 0, i16 0, i16 0, i16 16515, i16 0, i16 0, i16 0, i16 12420, i16 0, i16 0, i16 0, i16 13189, i16 0, i16 0, i16 0, i16 13445, i16 13494, i16 0, i16 0, i16 15237, i16 0, i16 0, i16 0, i16 13958, i16 0, i16 0, i16 0, i16 16262, i16 0, i16 0, i16 0, i16 15239, i16 0, i16 0, i16 0, i16 13960, i16 0, i16 0, i16 0, i16 16776, i16 0, i16 0, i16 0, i16 17032, i16 0, i16 0, i16 0, i16 13193, i16 0, i16 0, i16 0, i16 13961, i16 0, i16 0, i16 0, i16 16010, i16 0, i16 0, i16 0, i16 13451, i16 0, i16 0, i16 0, i16 12428, i16 14380, i16 0, i16 0, i16 14732, i16 16704, i16 0, i16 0, i16 15244, i16 0, i16 0, i16 0, i16 16524, i16 15420, i16 0, i16 0, i16 16269, i16 0, i16 0, i16 0, i16 13198, i16 16103, i16 0, i16 0, i16 13710, i16 17081, i16 0, i16 0, i16 13711, i16 0, i16 0, i16 0, i16 14479, i16 14478, i16 0, i16 0, i16 16015, i16 13394, i16 0, i16 0, i16 16271, i16 0, i16 0, i16 0, i16 12688, i16 0, i16 0, i16 0, i16 16784, i16 0, i16 0, i16 0, i16 13201, i16 14579, i16 0, i16 0, i16 13713, i16 0, i16 0, i16 0, i16 14738, i16 0, i16 0, i16 0, i16 12947, i16 0, i16 0, i16 0, i16 13459, i16 14369, i16 0, i16 0, i16 15251, i16 14807, i16 0, i16 0, i16 14740, i16 0, i16 0, i16 0, i16 17044, i16 0, i16 0, i16 0, i16 14229, i16 0, i16 0, i16 0, i16 14741, i16 0, i16 0, i16 0, i16 13718, i16 0, i16 0, i16 0, i16 13974, i16 0, i16 0, i16 0, i16 14230, i16 0, i16 0, i16 0, i16 17046, i16 13544, i16 0, i16 0, i16 12439, i16 0, i16 0, i16 0, i16 16023, i16 0, i16 0, i16 0, i16 17047, i16 15588, i16 0, i16 0, i16 13464, i16 14488, i16 0, i16 0, i16 13209, i16 0, i16 0, i16 0, i16 15257, i16 13925, i16 0, i16 0, i16 16281, i16 0, i16 0, i16 0, i16 16794, i16 13906, i16 0, i16 0, i16 12955, i16 13571, i16 0, i16 0, i16 668, i16 0, i16 0, i16 0, i16 14748, i16 0, i16 0, i16 0, i16 15004, i16 0, i16 0, i16 0, i16 12701, i16 0, i16 0, i16 0, i16 15773, i16 14925, i16 0, i16 0, i16 16029, i16 0, i16 0, i16 0, i16 17053, i16 0, i16 0, i16 0, i16 12446, i16 0, i16 0, i16 0, i16 13982, i16 0, i16 0, i16 0, i16 14494, i16 0, i16 0, i16 0, i16 17054, i16 16165, i16 0, i16 0, i16 14239, i16 0, i16 0, i16 0, i16 15007, i16 0, i16 0, i16 0, i16 16031, i16 0, i16 0, i16 0, i16 13216, i16 15956, i16 0, i16 0, i16 12705, i16 0, i16 0, i16 0, i16 16289, i16 0, i16 0, i16 0, i16 674, i16 0, i16 0, i16 0, i16 15266, i16 0, i16 0, i16 0, i16 16290, i16 0, i16 0, i16 0, i16 16546, i16 0, i16 0, i16 0, i16 16802, i16 0, i16 0, i16 0, i16 12451, i16 0, i16 0, i16 0, i16 15523, i16 0, i16 0, i16 0, i16 16291, i16 0, i16 0, i16 0, i16 12452, i16 12408, i16 0, i16 0, i16 12708, i16 0, i16 0, i16 0, i16 12964, i16 0, i16 0, i16 0, i16 14244, i16 0, i16 0, i16 0, i16 16292, i16 0, i16 0, i16 0, i16 15269, i16 0, i16 0, i16 0, i16 16037, i16 0, i16 0, i16 0, i16 16549, i16 0, i16 0, i16 0, i16 12710, i16 15019, i16 0, i16 0, i16 15782, i16 0, i16 0, i16 0, i16 16294, i16 0, i16 0, i16 0, i16 12455, i16 17045, i16 0, i16 0, i16 12711, i16 13480, i16 0, i16 0, i16 13479, i16 0, i16 0, i16 0, i16 13991, i16 0, i16 0, i16 0, i16 14503, i16 0, i16 0, i16 0, i16 15527, i16 0, i16 0, i16 0, i16 16295, i16 16721, i16 0, i16 0, i16 12456, i16 0, i16 0, i16 0, i16 13224, i16 12838, i16 0, i16 0, i16 15784, i16 0, i16 0, i16 0, i16 13737, i16 0, i16 0, i16 0, i16 13738, i16 0, i16 0, i16 0, i16 13739, i16 0, i16 0, i16 0, i16 13995, i16 14438, i16 0, i16 0, i16 14763, i16 0, i16 0, i16 0, i16 16299, i16 13632, i16 0, i16 0, i16 13996, i16 14799, i16 0, i16 0, i16 15788, i16 13599, i16 0, i16 0, i16 14253, i16 12873, i16 0, i16 0, i16 14765, i16 0, i16 0, i16 0, i16 17069, i16 0, i16 0, i16 0, i16 174, i16 0, i16 0, i16 0, i16 15790, i16 0, i16 0, i16 0, i16 13743, i16 0, i16 0, i16 0, i16 15279, i16 16077, i16 0, i16 0, i16 13744, i16 13482, i16 0, i16 0, i16 15792, i16 0, i16 0, i16 0, i16 16816, i16 0, i16 0, i16 0, i16 14513, i16 15755, i16 0, i16 0, i16 178, i16 0, i16 0, i16 0, i16 13490, i16 16151, i16 0, i16 0, i16 14514, i16 16601, i16 0, i16 0, i16 15026, i16 0, i16 0, i16 0, i16 15538, i16 16535, i16 0, i16 0, i16 16562, i16 0, i16 0, i16 0, i16 16818, i16 0, i16 0, i16 0, i16 691, i16 0, i16 0, i16 0, i16 14515, i16 0, i16 0, i16 0, i16 16307, i16 0, i16 0, i16 0, i16 12980, i16 12981, i16 0, i16 0, i16 13492, i16 0, i16 0, i16 0, i16 15028, i16 0, i16 0, i16 0, i16 15284, i16 14607, i16 0, i16 0, i16 15285, i16 0, i16 0, i16 0, i16 694, i16 785, i16 0, i16 0, i16 12470, i16 15646, i16 0, i16 0, i16 15798, i16 0, i16 0, i16 0, i16 12983, i16 13478, i16 0, i16 0, i16 13495, i16 0, i16 0, i16 0, i16 12728, i16 16993, i16 0, i16 0, i16 12984, i16 14160, i16 0, i16 0, i16 13496, i16 0, i16 0, i16 0, i16 185, i16 184, i16 0, i16 0, i16 12985, i16 0, i16 0, i16 0, i16 15033, i16 0, i16 0, i16 0, i16 13498, i16 0, i16 0, i16 0, i16 16314, i16 16812, i16 0, i16 0, i16 187, i16 186, i16 0, i16 0, i16 699, i16 792, i16 0, i16 0, i16 14011, i16 12526, i16 0, i16 0, i16 16315, i16 0, i16 0, i16 0, i16 16571, i16 0, i16 0, i16 0, i16 13500, i16 0, i16 0, i16 0, i16 701, i16 793, i16 0, i16 0, i16 12733, i16 0, i16 0, i16 0, i16 13501, i16 0, i16 0, i16 0, i16 702, i16 795, i16 0, i16 0, i16 13246, i16 15414, i16 0, i16 0, i16 14014, i16 0, i16 0, i16 0, i16 191, i16 190, i16 0, i16 0, i16 12735, i16 0, i16 0, i16 0, i16 12991, i16 0, i16 0, i16 0, i16 13503, i16 0, i16 0, i16 0, i16 14271, i16 0, i16 0, i16 0, i16 14527, i16 14060, i16 0, i16 0, i16 12480, i16 0, i16 0, i16 0, i16 13249, i16 0, i16 0, i16 0, i16 15553, i16 14199, i16 0, i16 0, i16 16065, i16 0, i16 0, i16 0, i16 12738, i16 0, i16 0, i16 0, i16 14530, i16 14206, i16 0, i16 0, i16 14786, i16 0, i16 0, i16 0, i16 12995, i16 0, i16 0, i16 0, i16 14531, i16 0, i16 0, i16 0, i16 16579, i16 0, i16 0, i16 0, i16 15556, i16 0, i16 0, i16 0, i16 16836, i16 0, i16 0, i16 0, i16 14277, i16 0, i16 0, i16 0, i16 16325, i16 0, i16 0, i16 0, i16 16837, i16 0, i16 0, i16 0, i16 12742, i16 0, i16 0, i16 0, i16 16839, i16 0, i16 0, i16 0, i16 200, i16 201, i16 0, i16 0, i16 15304, i16 15303, i16 0, i16 0, i16 15816, i16 14955, i16 0, i16 0, i16 16328, i16 0, i16 0, i16 0, i16 16584, i16 0, i16 0, i16 0, i16 16073, i16 0, i16 0, i16 0, i16 16329, i16 0, i16 0, i16 0, i16 17097, i16 0, i16 0, i16 0, i16 202, i16 0, i16 0, i16 0, i16 13258, i16 0, i16 0, i16 0, i16 14794, i16 0, i16 0, i16 0, i16 15050, i16 0, i16 0, i16 0, i16 15562, i16 0, i16 0, i16 0, i16 16074, i16 0, i16 0, i16 0, i16 13260, i16 0, i16 0, i16 0, i16 13772, i16 15199, i16 0, i16 0, i16 16332, i16 0, i16 0, i16 0, i16 16588, i16 0, i16 0, i16 0, i16 13517, i16 0, i16 0, i16 0, i16 13262, i16 0, i16 0, i16 0, i16 15822, i16 0, i16 0, i16 0, i16 14543, i16 12589, i16 0, i16 0, i16 16335, i16 0, i16 0, i16 0, i16 12752, i16 13794, i16 0, i16 0, i16 13264, i16 0, i16 0, i16 0, i16 15057, i16 13046, i16 0, i16 0, i16 16849, i16 16921, i16 0, i16 0, i16 210, i16 211, i16 0, i16 0, i16 13522, i16 0, i16 0, i16 0, i16 14802, i16 0, i16 0, i16 0, i16 15314, i16 13029, i16 0, i16 0, i16 12499, i16 0, i16 0, i16 0, i16 13011, i16 0, i16 0, i16 0, i16 14035, i16 16620, i16 0, i16 0, i16 212, i16 213, i16 0, i16 0, i16 16084, i16 0, i16 0, i16 0, i16 16340, i16 0, i16 0, i16 0, i16 16342, i16 0, i16 0, i16 0, i16 13783, i16 0, i16 0, i16 0, i16 13016, i16 14788, i16 0, i16 0, i16 14808, i16 0, i16 0, i16 0, i16 15064, i16 0, i16 0, i16 0, i16 14041, i16 14269, i16 0, i16 0, i16 14297, i16 0, i16 0, i16 0, i16 15065, i16 0, i16 0, i16 0, i16 15833, i16 0, i16 0, i16 0, i16 13018, i16 0, i16 0, i16 0, i16 219, i16 0, i16 0, i16 0, i16 13787, i16 0, i16 0, i16 0, i16 14299, i16 0, i16 0, i16 0, i16 14811, i16 0, i16 0, i16 0, i16 15324, i16 16112, i16 0, i16 0, i16 13277, i16 0, i16 0, i16 0, i16 16605, i16 0, i16 0, i16 0, i16 13534, i16 0, i16 0, i16 0, i16 13790, i16 0, i16 0, i16 0, i16 15070, i16 0, i16 0, i16 0, i16 13791, i16 0, i16 0, i16 0, i16 14559, i16 0, i16 0, i16 0, i16 16607, i16 0, i16 0, i16 0, i16 16863, i16 14628, i16 0, i16 0, i16 17119, i16 0, i16 0, i16 0, i16 13024, i16 13060, i16 0, i16 0, i16 13536, i16 0, i16 0, i16 0, i16 14048, i16 0, i16 0, i16 0, i16 14816, i16 0, i16 0, i16 0, i16 15328, i16 0, i16 0, i16 0, i16 16352, i16 16046, i16 0, i16 0, i16 12513, i16 0, i16 0, i16 0, i16 14817, i16 0, i16 0, i16 0, i16 15329, i16 0, i16 0, i16 0, i16 15841, i16 0, i16 0, i16 0, i16 17121, i16 0, i16 0, i16 0, i16 13538, i16 0, i16 0, i16 0, i16 14050, i16 0, i16 0, i16 0, i16 15842, i16 14561, i16 0, i16 0, i16 16098, i16 0, i16 0, i16 0, i16 14564, i16 0, i16 0, i16 0, i16 15332, i16 0, i16 0, i16 0, i16 15845, i16 12345, i16 0, i16 0, i16 13798, i16 15306, i16 0, i16 0, i16 17126, i16 12973, i16 0, i16 0, i16 12520, i16 0, i16 0, i16 0, i16 14056, i16 0, i16 0, i16 0, i16 14568, i16 0, i16 0, i16 0, i16 14824, i16 0, i16 0, i16 0, i16 17129, i16 0, i16 0, i16 0, i16 12522, i16 12391, i16 0, i16 0, i16 13802, i16 0, i16 0, i16 0, i16 14570, i16 16105, i16 0, i16 0, i16 16106, i16 15989, i16 0, i16 0, i16 14827, i16 13366, i16 0, i16 0, i16 16875, i16 0, i16 0, i16 0, i16 15084, i16 15744, i16 0, i16 0, i16 13293, i16 0, i16 0, i16 0, i16 13549, i16 0, i16 0, i16 0, i16 14317, i16 0, i16 0, i16 0, i16 15853, i16 16114, i16 0, i16 0, i16 15854, i16 0, i16 0, i16 0, i16 13039, i16 0, i16 0, i16 0, i16 14064, i16 0, i16 0, i16 0, i16 14832, i16 17077, i16 0, i16 0, i16 15088, i16 0, i16 0, i16 0, i16 13553, i16 0, i16 0, i16 0, i16 14577, i16 0, i16 0, i16 0, i16 14833, i16 0, i16 0, i16 0, i16 15857, i16 0, i16 0, i16 0, i16 15090, i16 15635, i16 0, i16 0, i16 15346, i16 0, i16 0, i16 0, i16 15858, i16 14520, i16 0, i16 0, i16 16882, i16 0, i16 0, i16 0, i16 244, i16 243, i16 0, i16 0, i16 13812, i16 0, i16 0, i16 0, i16 14068, i16 0, i16 0, i16 0, i16 14325, i16 0, i16 0, i16 0, i16 17141, i16 16512, i16 0, i16 0, i16 13558, i16 0, i16 0, i16 0, i16 16374, i16 15645, i16 0, i16 0, i16 12535, i16 0, i16 0, i16 0, i16 16120, i16 0, i16 0, i16 0, i16 16376, i16 0, i16 0, i16 0, i16 17144, i16 16840, i16 0, i16 0, i16 14585, i16 0, i16 0, i16 0, i16 15097, i16 16614, i16 0, i16 0, i16 16121, i16 0, i16 0, i16 0, i16 16889, i16 0, i16 0, i16 0, i16 12794, i16 14493, i16 0, i16 0, i16 13562, i16 0, i16 0, i16 0, i16 14074, i16 0, i16 0, i16 0, i16 14587, i16 0, i16 0, i16 0, i16 12540, i16 0, i16 0, i16 0, i16 16124, i16 16211, i16 0, i16 0, i16 13565, i16 16820, i16 0, i16 0, i16 15101, i16 0, i16 0, i16 0, i16 15357, i16 0, i16 0, i16 0, i16 16638, i16 0, i16 0, i16 0, i16 13055, i16 0, i16 0, i16 0, i16 15871, i16 0, i16 0, i16 0, i16 16127, i16 0, i16 0, i16 0, i16 16383, i16 0, i16 0, i16 0, i16 16895, i16 0, i16 0, i16 14336, i16 0, i16 0, i16 0, i16 15872, i16 0, i16 0, i16 0, i16 16896, i16 12854, i16 0, i16 0, i16 12289, i16 0, i16 0, i16 0, i16 13057, i16 0, i16 0, i16 0, i16 14593, i16 0, i16 0, i16 0, i16 15361, i16 14291, i16 12990, i16 0, i16 16129, i16 0, i16 0, i16 0, i16 2, i16 3, i16 0, i16 0, i16 12290, i16 0, i16 0, i16 0, i16 13826, i16 14262, i16 0, i16 0, i16 15106, i16 0, i16 0, i16 0, i16 17154, i16 0, i16 0, i16 0, i16 12291, i16 0, i16 0, i16 0, i16 13315, i16 0, i16 0, i16 0, i16 14339, i16 12729, i16 13820, i16 0, i16 14851, i16 0, i16 0, i16 0, i16 15875, i16 0, i16 0, i16 0, i16 4, i16 5, i16 6, i16 0, i16 12292, i16 14533, i16 0, i16 0, i16 13316, i16 0, i16 0, i16 0, i16 16900, i16 12787, i16 15477, i16 0, i16 17156, i16 0, i16 14379, i16 0, i16 14341, i16 0, i16 0, i16 0, i16 14597, i16 0, i16 0, i16 0, i16 12550, i16 0, i16 0, i16 0, i16 15878, i16 0, i16 0, i16 0, i16 13575, i16 0, i16 0, i16 0, i16 14087, i16 13298, i16 0, i16 0, i16 14599, i16 0, i16 0, i16 0, i16 16135, i16 13144, i16 0, i16 0, i16 16391, i16 0, i16 0, i16 0, i16 520, i16 521, i16 522, i16 0, i16 13832, i16 0, i16 0, i16 0, i16 14088, i16 14747, i16 13614, i16 0, i16 14600, i16 14465, i16 0, i16 0, i16 16392, i16 0, i16 0, i16 0, i16 12809, i16 0, i16 0, i16 0, i16 13577, i16 15658, i16 0, i16 0, i16 13066, i16 0, i16 0, i16 0, i16 15114, i16 0, i16 15163, i16 0, i16 16650, i16 0, i16 15347, i16 0, i16 12811, i16 0, i16 0, i16 0, i16 13579, i16 0, i16 0, i16 0, i16 16139, i16 0, i16 13204, i16 0, i16 16651, i16 0, i16 12426, i16 0, i16 17163, i16 0, i16 0, i16 0, i16 14860, i16 0, i16 0, i16 0, i16 15884, i16 13063, i16 12474, i16 0, i16 17164, i16 17165, i16 0, i16 0, i16 13325, i16 16860, i16 0, i16 0, i16 16397, i16 0, i16 0, i16 0, i16 13326, i16 0, i16 0, i16 0, i16 16654, i16 0, i16 0, i16 0, i16 16910, i16 0, i16 0, i16 0, i16 783, i16 0, i16 0, i16 0, i16 13071, i16 16937, i16 15040, i16 0, i16 13583, i16 0, i16 0, i16 0, i16 14863, i16 0, i16 0, i16 0, i16 15119, i16 0, i16 16996, i16 0, i16 16655, i16 0, i16 16656, i16 0, i16 13584, i16 0, i16 15449, i16 0, i16 14608, i16 14546, i16 0, i16 0, i16 15120, i16 0, i16 0, i16 0, i16 16400, i16 0, i16 0, i16 0, i16 13329, i16 0, i16 0, i16 0, i16 14609, i16 17131, i16 0, i16 0, i16 15889, i16 12524, i16 0, i16 0, i16 786, i16 695, i16 787, i16 0, i16 12818, i16 12650, i16 0, i16 0, i16 13843, i16 0, i16 15910, i16 0, i16 14099, i16 0, i16 0, i16 0, i16 15123, i16 0, i16 13134, i16 0, i16 15891, i16 14665, i16 17026, i16 0, i16 14356, i16 13443, i16 14504, i16 0, i16 15124, i16 0, i16 0, i16 0, i16 16404, i16 0, i16 13658, i16 0, i16 16917, i16 0, i16 0, i16 0, i16 14358, i16 13399, i16 0, i16 0, i16 15126, i16 0, i16 0, i16 0, i16 15894, i16 12941, i16 12942, i16 0, i16 12311, i16 0, i16 0, i16 0, i16 14103, i16 0, i16 16763, i16 0, i16 15895, i16 0, i16 17074, i16 0, i16 16663, i16 0, i16 0, i16 0, i16 16919, i16 0, i16 0, i16 0, i16 15128, i16 0, i16 0, i16 0, i16 16664, i16 0, i16 0, i16 0, i16 16920, i16 0, i16 13816, i16 0, i16 13337, i16 0, i16 0, i16 0, i16 13849, i16 0, i16 15779, i16 0, i16 14873, i16 0, i16 0, i16 0, i16 15129, i16 0, i16 0, i16 0, i16 15641, i16 0, i16 0, i16 0, i16 15897, i16 0, i16 12885, i16 0, i16 13850, i16 0, i16 0, i16 0, i16 14362, i16 0, i16 0, i16 0, i16 16666, i16 16590, i16 15456, i16 0, i16 1051, i16 0, i16 0, i16 0, i16 16668, i16 16710, i16 12369, i16 0, i16 797, i16 703, i16 796, i16 0, i16 13853, i16 0, i16 0, i16 0, i16 15901, i16 16166, i16 14550, i16 0, i16 16157, i16 0, i16 0, i16 0, i16 13342, i16 16181, i16 12441, i16 0, i16 15134, i16 15135, i16 0, i16 0, i16 16414, i16 0, i16 0, i16 0, i16 287, i16 284, i16 0, i16 0, i16 14879, i16 16693, i16 0, i16 0, i16 16927, i16 13356, i16 0, i16 0, i16 288, i16 289, i16 290, i16 0, i16 12832, i16 16729, i16 0, i16 0, i16 15136, i16 0, i16 15657, i16 0, i16 15137, i16 0, i16 15988, i16 0, i16 16417, i16 0, i16 0, i16 0, i16 16673, i16 0, i16 13283, i16 0, i16 13602, i16 0, i16 0, i16 0, i16 14115, i16 0, i16 0, i16 0, i16 14371, i16 0, i16 0, i16 0, i16 16675, i16 0, i16 0, i16 0, i16 12580, i16 16042, i16 12849, i16 0, i16 13348, i16 14712, i16 15662, i16 0, i16 15140, i16 0, i16 0, i16 0, i16 15909, i16 0, i16 0, i16 0, i16 16933, i16 0, i16 13345, i16 0, i16 12582, i16 0, i16 13797, i16 0, i16 13350, i16 0, i16 0, i16 0, i16 13862, i16 0, i16 0, i16 0, i16 16934, i16 0, i16 0, i16 0, i16 15143, i16 16324, i16 0, i16 0, i16 12840, i16 15772, i16 0, i16 0, i16 14888, i16 14337, i16 0, i16 0, i16 16424, i16 0, i16 0, i16 0, i16 16680, i16 0, i16 0, i16 0, i16 16936, i16 12953, i16 0, i16 0, i16 14633, i16 0, i16 0, i16 0, i16 14889, i16 12899, i16 0, i16 0, i16 15401, i16 15603, i16 0, i16 0, i16 15146, i16 0, i16 0, i16 0, i16 13611, i16 0, i16 0, i16 0, i16 16684, i16 0, i16 0, i16 0, i16 14637, i16 0, i16 0, i16 0, i16 16429, i16 0, i16 0, i16 0, i16 12590, i16 0, i16 0, i16 0, i16 13358, i16 13570, i16 14553, i16 0, i16 14126, i16 0, i16 0, i16 0, i16 14894, i16 0, i16 0, i16 0, i16 15407, i16 15848, i16 16384, i16 0, i16 15919, i16 0, i16 0, i16 0, i16 16431, i16 0, i16 16343, i16 0, i16 16687, i16 0, i16 0, i16 0, i16 16943, i16 0, i16 0, i16 0, i16 15408, i16 0, i16 14373, i16 0, i16 15920, i16 0, i16 0, i16 0, i16 16176, i16 0, i16 16162, i16 0, i16 16688, i16 0, i16 16319, i16 0, i16 13617, i16 0, i16 0, i16 0, i16 14385, i16 0, i16 0, i16 0, i16 12338, i16 0, i16 0, i16 0, i16 12594, i16 0, i16 13859, i16 0, i16 12850, i16 0, i16 0, i16 0, i16 13618, i16 0, i16 0, i16 0, i16 14386, i16 0, i16 12777, i16 0, i16 15922, i16 16156, i16 13300, i16 0, i16 13363, i16 12934, i16 0, i16 0, i16 15668, i16 0, i16 0, i16 0, i16 16692, i16 0, i16 0, i16 0, i16 12341, i16 0, i16 0, i16 0, i16 14645, i16 13454, i16 13712, i16 0, i16 15925, i16 14582, i16 0, i16 0, i16 12342, i16 0, i16 0, i16 0, i16 13110, i16 0, i16 0, i16 0, i16 13622, i16 16877, i16 0, i16 0, i16 14134, i16 16977, i16 14101, i16 0, i16 15926, i16 0, i16 14100, i16 0, i16 12855, i16 0, i16 0, i16 0, i16 13111, i16 0, i16 0, i16 0, i16 15415, i16 0, i16 13550, i16 0, i16 12344, i16 14324, i16 0, i16 0, i16 13368, i16 17123, i16 0, i16 0, i16 13880, i16 0, i16 0, i16 0, i16 14136, i16 15933, i16 16499, i16 0, i16 15672, i16 0, i16 0, i16 0, i16 16184, i16 0, i16 0, i16 0, i16 14649, i16 17057, i16 12572, i16 0, i16 15161, i16 0, i16 13899, i16 0, i16 16697, i16 14679, i16 0, i16 0, i16 12602, i16 16064, i16 0, i16 0, i16 14650, i16 0, i16 0, i16 0, i16 14906, i16 15697, i16 14606, i16 0, i16 16186, i16 0, i16 0, i16 0, i16 16954, i16 0, i16 12615, i16 0, i16 12859, i16 0, i16 0, i16 0, i16 13883, i16 0, i16 0, i16 0, i16 16443, i16 0, i16 0, i16 0, i16 16955, i16 0, i16 0, i16 0, i16 1084, i16 0, i16 0, i16 0, i16 13372, i16 0, i16 15883, i16 0, i16 14652, i16 0, i16 15961, i16 0, i16 12605, i16 16723, i16 0, i16 0, i16 13373, i16 0, i16 0, i16 0, i16 14397, i16 0, i16 0, i16 0, i16 14653, i16 0, i16 0, i16 0, i16 14909, i16 15552, i16 14122, i16 0, i16 12862, i16 0, i16 0, i16 0, i16 13374, i16 0, i16 13511, i16 0, i16 12607, i16 0, i16 0, i16 0, i16 14143, i16 0, i16 0, i16 0, i16 15679, i16 0, i16 16861, i16 0, i16 16191, i16 0, i16 0, i16 0, i16 12352, i16 0, i16 13142, i16 0, i16 12608, i16 0, i16 0, i16 0, i16 13120, i16 0, i16 0, i16 0, i16 13376, i16 16172, i16 12431, i16 0, i16 13888, i16 0, i16 0, i16 0, i16 14400, i16 0, i16 0, i16 0, i16 15680, i16 13424, i16 0, i16 0, i16 13633, i16 0, i16 0, i16 0, i16 15170, i16 0, i16 0, i16 0, i16 15682, i16 0, i16 0, i16 0, i16 16194, i16 0, i16 12409, i16 0, i16 14403, i16 0, i16 15776, i16 0, i16 14659, i16 14658, i16 0, i16 0, i16 15171, i16 0, i16 0, i16 0, i16 16195, i16 0, i16 13887, i16 0, i16 13124, i16 0, i16 0, i16 0, i16 13636, i16 0, i16 0, i16 0, i16 14404, i16 0, i16 0, i16 0, i16 16196, i16 0, i16 0, i16 0, i16 16452, i16 0, i16 0, i16 0, i16 16964, i16 0, i16 14108, i16 0, i16 14661, i16 0, i16 12817, i16 0, i16 14917, i16 16969, i16 12392, i16 0, i16 15941, i16 0, i16 15896, i16 0, i16 16197, i16 0, i16 0, i16 0, i16 16454, i16 0, i16 0, i16 0, i16 13639, i16 0, i16 0, i16 0, i16 14919, i16 0, i16 0, i16 0, i16 15175, i16 0, i16 14644, i16 0, i16 15687, i16 0, i16 16380, i16 0, i16 13384, i16 0, i16 0, i16 0, i16 13896, i16 0, i16 0, i16 0, i16 14408, i16 0, i16 0, i16 0, i16 13897, i16 0, i16 0, i16 0, i16 12618, i16 17068, i16 0, i16 0, i16 13642, i16 16781, i16 0, i16 0, i16 13898, i16 16924, i16 0, i16 0, i16 15178, i16 14797, i16 0, i16 0, i16 12363, i16 0, i16 0, i16 0, i16 14411, i16 16971, i16 0, i16 0, i16 14923, i16 0, i16 15843, i16 0, i16 15947, i16 0, i16 0, i16 0, i16 16459, i16 0, i16 0, i16 0, i16 16715, i16 0, i16 0, i16 0, i16 14156, i16 0, i16 0, i16 0, i16 12877, i16 0, i16 16806, i16 0, i16 13389, i16 0, i16 0, i16 0, i16 14157, i16 0, i16 0, i16 0, i16 16461, i16 0, i16 16018, i16 0, i16 16717, i16 0, i16 0, i16 0, i16 13902, i16 0, i16 0, i16 0, i16 14926, i16 0, i16 12720, i16 0, i16 15694, i16 0, i16 15793, i16 0, i16 15950, i16 0, i16 0, i16 0, i16 16974, i16 0, i16 0, i16 0, i16 12879, i16 0, i16 0, i16 0, i16 14671, i16 0, i16 0, i16 0, i16 15439, i16 0, i16 0, i16 0, i16 15695, i16 0, i16 0, i16 0, i16 14416, i16 0, i16 0, i16 0, i16 15696, i16 0, i16 16589, i16 0, i16 14673, i16 0, i16 0, i16 0, i16 16465, i16 0, i16 15220, i16 0, i16 14162, i16 0, i16 0, i16 0, i16 16466, i16 15454, i16 13875, i16 0, i16 12627, i16 0, i16 0, i16 0, i16 13139, i16 0, i16 15444, i16 0, i16 13395, i16 0, i16 0, i16 0, i16 13651, i16 0, i16 0, i16 0, i16 16979, i16 0, i16 0, i16 0, i16 13140, i16 0, i16 0, i16 0, i16 13908, i16 0, i16 0, i16 0, i16 14420, i16 0, i16 0, i16 0, i16 14676, i16 0, i16 0, i16 0, i16 16212, i16 0, i16 0, i16 0, i16 16724, i16 0, i16 0, i16 0, i16 13141, i16 15167, i16 12734, i16 0, i16 13653, i16 0, i16 0, i16 0, i16 14421, i16 0, i16 12527, i16 0, i16 14677, i16 0, i16 0, i16 0, i16 15701, i16 0, i16 0, i16 0, i16 16213, i16 0, i16 0, i16 0, i16 12374, i16 12375, i16 0, i16 0, i16 12630, i16 0, i16 0, i16 0, i16 14678, i16 0, i16 0, i16 0, i16 16982, i16 13183, i16 0, i16 0, i16 13655, i16 0, i16 16233, i16 0, i16 14935, i16 0, i16 0, i16 0, i16 15447, i16 0, i16 0, i16 0, i16 16471, i16 13382, i16 0, i16 0, i16 16983, i16 15838, i16 14030, i16 0, i16 12376, i16 0, i16 0, i16 0, i16 14168, i16 0, i16 0, i16 0, i16 16216, i16 0, i16 14287, i16 0, i16 16728, i16 0, i16 0, i16 0, i16 89, i16 0, i16 0, i16 0, i16 14425, i16 0, i16 0, i16 0, i16 15705, i16 0, i16 0, i16 0, i16 16473, i16 0, i16 13593, i16 0, i16 16985, i16 0, i16 13907, i16 0, i16 90, i16 91, i16 92, i16 0, i16 12891, i16 0, i16 0, i16 0, i16 13915, i16 0, i16 0, i16 0, i16 14171, i16 0, i16 0, i16 0, i16 15707, i16 0, i16 0, i16 0, i16 12892, i16 0, i16 0, i16 0, i16 13660, i16 0, i16 0, i16 0, i16 14428, i16 0, i16 0, i16 0, i16 14940, i16 0, i16 0, i16 0, i16 16220, i16 16689, i16 15887, i16 0, i16 16988, i16 0, i16 0, i16 0, i16 12893, i16 0, i16 12842, i16 0, i16 14685, i16 16372, i16 0, i16 0, i16 13918, i16 12927, i16 0, i16 0, i16 16734, i16 0, i16 15318, i16 0, i16 13663, i16 0, i16 16595, i16 0, i16 12640, i16 0, i16 0, i16 0, i16 14945, i16 0, i16 0, i16 0, i16 15457, i16 0, i16 0, i16 0, i16 15713, i16 16567, i16 0, i16 0, i16 16225, i16 0, i16 15660, i16 0, i16 12386, i16 0, i16 0, i16 0, i16 14690, i16 0, i16 17039, i16 0, i16 16482, i16 0, i16 0, i16 0, i16 12643, i16 15955, i16 12727, i16 0, i16 13155, i16 12358, i16 0, i16 0, i16 13411, i16 17107, i16 0, i16 0, i16 16227, i16 0, i16 0, i16 0, i16 13412, i16 0, i16 15652, i16 0, i16 13924, i16 14113, i16 0, i16 0, i16 15972, i16 17161, i16 14439, i16 0, i16 16740, i16 0, i16 0, i16 0, i16 12901, i16 0, i16 0, i16 0, i16 15205, i16 0, i16 13167, i16 0, i16 15973, i16 0, i16 0, i16 0, i16 16741, i16 0, i16 14792, i16 0, i16 12646, i16 0, i16 12827, i16 0, i16 12902, i16 16984, i16 13252, i16 0, i16 14182, i16 0, i16 0, i16 0, i16 15462, i16 0, i16 0, i16 0, i16 12903, i16 0, i16 0, i16 0, i16 13159, i16 0, i16 0, i16 0, i16 14183, i16 0, i16 0, i16 0, i16 15207, i16 0, i16 0, i16 0, i16 15719, i16 0, i16 0, i16 0, i16 872, i16 873, i16 874, i16 0, i16 13672, i16 0, i16 0, i16 0, i16 14184, i16 0, i16 13723, i16 0, i16 14440, i16 15702, i16 13754, i16 0, i16 14696, i16 0, i16 12323, i16 0, i16 16488, i16 0, i16 0, i16 0, i16 12649, i16 0, i16 0, i16 0, i16 13161, i16 15899, i16 0, i16 0, i16 14185, i16 0, i16 0, i16 0, i16 14441, i16 0, i16 0, i16 0, i16 13162, i16 0, i16 0, i16 0, i16 13419, i16 0, i16 0, i16 0, i16 14443, i16 0, i16 0, i16 0, i16 15979, i16 16623, i16 0, i16 0, i16 876, i16 877, i16 878, i16 0, i16 13932, i16 13543, i16 0, i16 0, i16 17004, i16 16055, i16 15825, i16 0, i16 12397, i16 13647, i16 0, i16 0, i16 13165, i16 17058, i16 13093, i16 0, i16 14957, i16 0, i16 16405, i16 0, i16 15469, i16 0, i16 0, i16 0, i16 16749, i16 0, i16 0, i16 0, i16 13166, i16 0, i16 13950, i16 0, i16 15470, i16 12770, i16 0, i16 0, i16 16494, i16 13846, i16 16862, i16 0, i16 12655, i16 16472, i16 0, i16 0, i16 12911, i16 0, i16 14435, i16 0, i16 14447, i16 13098, i16 0, i16 0, i16 15215, i16 0, i16 0, i16 0, i16 15471, i16 0, i16 0, i16 0, i16 15727, i16 15044, i16 0, i16 0, i16 17007, i16 15700, i16 12367, i16 0, i16 12400, i16 0, i16 0, i16 0, i16 12912, i16 0, i16 0, i16 0, i16 14192, i16 0, i16 0, i16 0, i16 16240, i16 15211, i16 0, i16 0, i16 16496, i16 0, i16 16462, i16 0, i16 12401, i16 0, i16 0, i16 0, i16 14193, i16 16914, i16 16725, i16 0, i16 15217, i16 0, i16 12511, i16 0, i16 16497, i16 0, i16 14251, i16 0, i16 12402, i16 0, i16 0, i16 0, i16 13682, i16 0, i16 15219, i16 0, i16 14962, i16 0, i16 16960, i16 0, i16 12659, i16 16333, i16 0, i16 0, i16 13683, i16 0, i16 0, i16 0, i16 13684, i16 0, i16 12944, i16 0, i16 16756, i16 16757, i16 12346, i16 0, i16 17012, i16 13397, i16 0, i16 0, i16 17013, i16 0, i16 0, i16 0, i16 13430, i16 0, i16 0, i16 0, i16 14454, i16 0, i16 0, i16 0, i16 15222, i16 0, i16 0, i16 0, i16 15990, i16 0, i16 12661, i16 0, i16 13943, i16 13179, i16 16645, i16 0, i16 14455, i16 0, i16 0, i16 0, i16 14967, i16 0, i16 0, i16 0, i16 17015, i16 0, i16 15677, i16 0, i16 12920, i16 0, i16 0, i16 0, i16 15736, i16 0, i16 14401, i16 0, i16 13433, i16 12583, i16 0, i16 0, i16 13945, i16 0, i16 0, i16 0, i16 17017, i16 0, i16 0, i16 0, i16 15226, i16 0, i16 0, i16 0, i16 15994, i16 16110, i16 0, i16 0, i16 16762, i16 0, i16 0, i16 0, i16 15739, i16 0, i16 0, i16 0, i16 16507, i16 0, i16 0, i16 0, i16 15740, i16 0, i16 0, i16 0, i16 13693, i16 0, i16 13630, i16 0, i16 13949, i16 0, i16 14130, i16 0, i16 14461, i16 0, i16 0, i16 0, i16 15741, i16 0, i16 0, i16 0, i16 382, i16 383, i16 384, i16 0, i16 12670, i16 0, i16 0, i16 0, i16 13694, i16 0, i16 0, i16 0, i16 14718, i16 0, i16 0, i16 0, i16 16254, i16 16540, i16 14067, i16 0, i16 17022, i16 0, i16 0, i16 0, i16 13951, i16 14569, i16 0, i16 0, i16 14719, i16 0, i16 0, i16 0, i16 14975, i16 0, i16 0, i16 0, i16 15999, i16 16395, i16 0, i16 0, i16 16255, i16 15970, i16 0, i16 0, i16 14464, i16 0, i16 0, i16 0, i16 16000, i16 0, i16 15654, i16 0, i16 16768, i16 0, i16 0, i16 0, i16 129, i16 130, i16 0, i16 0, i16 12417, i16 0, i16 0, i16 0, i16 14209, i16 0, i16 0, i16 0, i16 16257, i16 13839, i16 0, i16 0, i16 12418, i16 0, i16 0, i16 0, i16 13698, i16 0, i16 0, i16 0, i16 14722, i16 0, i16 0, i16 0, i16 16514, i16 0, i16 0, i16 0, i16 15236, i16 0, i16 12423, i16 0, i16 17028, i16 0, i16 14146, i16 0, i16 133, i16 0, i16 0, i16 0, i16 13957, i16 0, i16 0, i16 0, i16 14469, i16 0, i16 14664, i16 0, i16 15749, i16 15089, i16 0, i16 0, i16 16773, i16 0, i16 0, i16 0, i16 17029, i16 16890, i16 0, i16 0, i16 134, i16 0, i16 0, i16 0, i16 12422, i16 16944, i16 0, i16 0, i16 13702, i16 0, i16 0, i16 0, i16 14726, i16 12950, i16 15112, i16 0, i16 135, i16 0, i16 216, i16 0, i16 12935, i16 15489, i16 14213, i16 0, i16 13191, i16 13212, i16 14463, i16 0, i16 13959, i16 13804, i16 0, i16 0, i16 16007, i16 0, i16 16851, i16 0, i16 17031, i16 0, i16 15590, i16 0, i16 13192, i16 0, i16 14757, i16 0, i16 13448, i16 0, i16 0, i16 0, i16 14728, i16 0, i16 14610, i16 0, i16 16008, i16 0, i16 0, i16 0, i16 12681, i16 0, i16 0, i16 0, i16 15753, i16 0, i16 0, i16 0, i16 13194, i16 0, i16 14601, i16 0, i16 13706, i16 13328, i16 0, i16 0, i16 12683, i16 0, i16 0, i16 0, i16 16267, i16 13977, i16 0, i16 0, i16 16523, i16 0, i16 0, i16 0, i16 13196, i16 16505, i16 0, i16 0, i16 16268, i16 0, i16 0, i16 0, i16 15501, i16 0, i16 0, i16 0, i16 13966, i16 0, i16 14225, i16 0, i16 14222, i16 0, i16 15866, i16 0, i16 16782, i16 15483, i16 12909, i16 0, i16 14991, i16 0, i16 0, i16 0, i16 14224, i16 16057, i16 16615, i16 0, i16 14480, i16 0, i16 0, i16 0, i16 14736, i16 0, i16 16389, i16 0, i16 14992, i16 0, i16 12530, i16 0, i16 15760, i16 0, i16 15102, i16 0, i16 16528, i16 0, i16 12544, i16 0, i16 12689, i16 0, i16 0, i16 0, i16 14481, i16 0, i16 0, i16 0, i16 16017, i16 0, i16 16265, i16 0, i16 16273, i16 0, i16 0, i16 0, i16 17041, i16 12577, i16 0, i16 0, i16 13714, i16 0, i16 17088, i16 0, i16 13970, i16 0, i16 0, i16 0, i16 14994, i16 0, i16 0, i16 0, i16 13203, i16 0, i16 15248, i16 0, i16 13715, i16 0, i16 0, i16 0, i16 14227, i16 0, i16 14729, i16 0, i16 12436, i16 12560, i16 0, i16 0, i16 15508, i16 0, i16 0, i16 0, i16 16020, i16 13774, i16 13965, i16 0, i16 16788, i16 0, i16 13922, i16 0, i16 12949, i16 14112, i16 0, i16 0, i16 14485, i16 12372, i16 0, i16 0, i16 14997, i16 0, i16 0, i16 0, i16 15509, i16 17038, i16 0, i16 0, i16 15765, i16 0, i16 13172, i16 0, i16 16021, i16 0, i16 0, i16 0, i16 16533, i16 17065, i16 15937, i16 0, i16 14742, i16 0, i16 0, i16 0, i16 14998, i16 0, i16 0, i16 0, i16 16278, i16 12741, i16 0, i16 0, i16 16534, i16 0, i16 0, i16 0, i16 14487, i16 0, i16 0, i16 0, i16 16279, i16 0, i16 0, i16 0, i16 13720, i16 0, i16 14858, i16 0, i16 16280, i16 14376, i16 0, i16 0, i16 13721, i16 0, i16 13661, i16 0, i16 15769, i16 0, i16 0, i16 0, i16 16025, i16 0, i16 12517, i16 0, i16 13978, i16 0, i16 0, i16 0, i16 14234, i16 0, i16 0, i16 0, i16 14490, i16 0, i16 16578, i16 0, i16 13467, i16 0, i16 0, i16 0, i16 15259, i16 0, i16 0, i16 0, i16 13724, i16 13489, i16 0, i16 0, i16 14492, i16 0, i16 0, i16 0, i16 15260, i16 0, i16 0, i16 0, i16 12445, i16 0, i16 0, i16 0, i16 13981, i16 0, i16 0, i16 0, i16 14749, i16 0, i16 15349, i16 0, i16 16797, i16 14625, i16 0, i16 0, i16 14750, i16 0, i16 14516, i16 0, i16 15262, i16 0, i16 0, i16 0, i16 15774, i16 0, i16 0, i16 0, i16 16286, i16 13429, i16 14081, i16 0, i16 12703, i16 0, i16 0, i16 0, i16 12959, i16 0, i16 0, i16 0, i16 13471, i16 0, i16 0, i16 0, i16 16799, i16 0, i16 0, i16 0, i16 14240, i16 0, i16 0, i16 0, i16 15264, i16 0, i16 0, i16 0, i16 16288, i16 0, i16 0, i16 0, i16 12449, i16 0, i16 0, i16 0, i16 14754, i16 0, i16 0, i16 0, i16 16034, i16 0, i16 14965, i16 0, i16 13219, i16 0, i16 0, i16 0, i16 13475, i16 12802, i16 0, i16 0, i16 13987, i16 0, i16 0, i16 0, i16 14499, i16 0, i16 14961, i16 0, i16 14755, i16 0, i16 0, i16 0, i16 15011, i16 0, i16 0, i16 0, i16 16035, i16 0, i16 0, i16 0, i16 16803, i16 0, i16 14505, i16 0, i16 13988, i16 0, i16 0, i16 0, i16 15012, i16 0, i16 13477, i16 0, i16 15268, i16 0, i16 0, i16 0, i16 12453, i16 0, i16 0, i16 0, i16 14245, i16 0, i16 0, i16 0, i16 15270, i16 13548, i16 0, i16 0, i16 13223, i16 12676, i16 0, i16 0, i16 15015, i16 0, i16 14969, i16 0, i16 16039, i16 0, i16 0, i16 0, i16 16551, i16 0, i16 0, i16 0, i16 13992, i16 12922, i16 12751, i16 0, i16 14248, i16 0, i16 13984, i16 0, i16 15016, i16 0, i16 0, i16 0, i16 169, i16 347, i16 0, i16 0, i16 14761, i16 0, i16 0, i16 0, i16 16809, i16 0, i16 15476, i16 0, i16 12970, i16 0, i16 0, i16 0, i16 14506, i16 12454, i16 0, i16 0, i16 14762, i16 0, i16 0, i16 0, i16 15786, i16 16009, i16 0, i16 0, i16 14507, i16 0, i16 13835, i16 0, i16 16555, i16 14270, i16 15187, i16 0, i16 12716, i16 16963, i16 13886, i16 0, i16 13740, i16 0, i16 0, i16 0, i16 14252, i16 0, i16 13592, i16 0, i16 15532, i16 0, i16 0, i16 0, i16 173, i16 0, i16 0, i16 0, i16 12461, i16 0, i16 0, i16 0, i16 14510, i16 12978, i16 0, i16 0, i16 16814, i16 0, i16 0, i16 0, i16 12719, i16 15416, i16 0, i16 0, i16 13231, i16 0, i16 0, i16 0, i16 13487, i16 0, i16 0, i16 0, i16 16047, i16 0, i16 0, i16 0, i16 16303, i16 13486, i16 15435, i16 0, i16 12464, i16 0, i16 0, i16 0, i16 13232, i16 0, i16 14864, i16 0, i16 14000, i16 0, i16 0, i16 0, i16 15280, i16 0, i16 0, i16 0, i16 16304, i16 0, i16 0, i16 0, i16 17072, i16 0, i16 13786, i16 0, i16 13745, i16 0, i16 0, i16 0, i16 14001, i16 0, i16 16036, i16 0, i16 17073, i16 0, i16 0, i16 0, i16 12722, i16 0, i16 0, i16 0, i16 14002, i16 13056, i16 16377, i16 0, i16 16306, i16 0, i16 0, i16 0, i16 12467, i16 0, i16 0, i16 0, i16 12979, i16 15210, i16 0, i16 0, i16 13235, i16 16467, i16 0, i16 0, i16 14003, i16 0, i16 12539, i16 0, i16 14259, i16 0, i16 0, i16 0, i16 12468, i16 0, i16 0, i16 0, i16 13236, i16 0, i16 0, i16 0, i16 13748, i16 0, i16 0, i16 0, i16 14772, i16 0, i16 0, i16 0, i16 14261, i16 0, i16 16750, i16 0, i16 15797, i16 0, i16 15079, i16 0, i16 182, i16 181, i16 0, i16 0, i16 12982, i16 0, i16 0, i16 0, i16 16566, i16 14236, i16 12396, i16 0, i16 14007, i16 0, i16 14200, i16 0, i16 15287, i16 15298, i16 0, i16 0, i16 16311, i16 0, i16 0, i16 0, i16 17079, i16 0, i16 16957, i16 0, i16 14008, i16 0, i16 0, i16 0, i16 14264, i16 0, i16 0, i16 0, i16 15032, i16 0, i16 0, i16 0, i16 15800, i16 0, i16 12647, i16 0, i16 17080, i16 0, i16 0, i16 0, i16 14777, i16 0, i16 12653, i16 0, i16 12730, i16 13939, i16 0, i16 0, i16 13242, i16 0, i16 0, i16 0, i16 17082, i16 15463, i16 0, i16 0, i16 13243, i16 0, i16 0, i16 0, i16 13499, i16 0, i16 12619, i16 0, i16 15547, i16 0, i16 0, i16 0, i16 16059, i16 0, i16 0, i16 0, i16 16827, i16 0, i16 0, i16 0, i16 12732, i16 0, i16 0, i16 0, i16 14780, i16 0, i16 0, i16 0, i16 16060, i16 16222, i16 16477, i16 0, i16 14013, i16 0, i16 0, i16 0, i16 16829, i16 14875, i16 0, i16 0, i16 12478, i16 0, i16 13819, i16 0, i16 16318, i16 0, i16 0, i16 0, i16 17086, i16 16766, i16 0, i16 0, i16 959, i16 960, i16 961, i16 0, i16 12479, i16 17114, i16 0, i16 0, i16 16831, i16 0, i16 0, i16 0, i16 17087, i16 0, i16 14320, i16 0, i16 12736, i16 0, i16 0, i16 0, i16 14784, i16 0, i16 0, i16 0, i16 15296, i16 0, i16 0, i16 0, i16 14529, i16 15967, i16 0, i16 0, i16 14785, i16 0, i16 14535, i16 0, i16 16577, i16 0, i16 16787, i16 0, i16 14018, i16 0, i16 12889, i16 0, i16 15554, i16 16918, i16 14331, i16 0, i16 17090, i16 0, i16 0, i16 0, i16 13507, i16 0, i16 0, i16 0, i16 14787, i16 14334, i16 12388, i16 0, i16 15555, i16 13137, i16 0, i16 0, i16 16067, i16 0, i16 14279, i16 0, i16 16835, i16 0, i16 0, i16 0, i16 14276, i16 0, i16 0, i16 0, i16 14532, i16 0, i16 0, i16 0, i16 15812, i16 0, i16 0, i16 0, i16 16580, i16 0, i16 16561, i16 0, i16 17092, i16 13324, i16 0, i16 0, i16 12485, i16 0, i16 0, i16 0, i16 13509, i16 0, i16 0, i16 0, i16 16581, i16 0, i16 0, i16 0, i16 17093, i16 14943, i16 0, i16 0, i16 13766, i16 16326, i16 0, i16 0, i16 15302, i16 0, i16 0, i16 0, i16 12487, i16 16568, i16 0, i16 0, i16 15559, i16 0, i16 0, i16 0, i16 15815, i16 0, i16 13257, i16 0, i16 16327, i16 0, i16 0, i16 0, i16 16583, i16 0, i16 0, i16 0, i16 12488, i16 0, i16 0, i16 0, i16 12744, i16 0, i16 16842, i16 0, i16 14024, i16 17150, i16 0, i16 0, i16 15048, i16 0, i16 0, i16 0, i16 13769, i16 0, i16 0, i16 0, i16 14537, i16 0, i16 0, i16 0, i16 14538, i16 0, i16 0, i16 0, i16 16330, i16 0, i16 0, i16 0, i16 12491, i16 0, i16 0, i16 0, i16 12747, i16 0, i16 0, i16 0, i16 14283, i16 0, i16 0, i16 0, i16 15563, i16 15180, i16 0, i16 0, i16 16331, i16 0, i16 0, i16 0, i16 16587, i16 16365, i16 0, i16 0, i16 204, i16 160, i16 0, i16 0, i16 12492, i16 0, i16 0, i16 0, i16 12748, i16 12463, i16 14825, i16 0, i16 15564, i16 14603, i16 14662, i16 0, i16 16076, i16 16453, i16 0, i16 0, i16 12493, i16 13904, i16 0, i16 0, i16 14029, i16 0, i16 0, i16 0, i16 12750, i16 0, i16 13916, i16 0, i16 15054, i16 0, i16 0, i16 0, i16 16334, i16 0, i16 0, i16 0, i16 16846, i16 0, i16 0, i16 0, i16 15312, i16 16790, i16 14958, i16 0, i16 15824, i16 0, i16 0, i16 0, i16 12497, i16 0, i16 0, i16 0, i16 12498, i16 16586, i16 0, i16 0, i16 13266, i16 0, i16 0, i16 0, i16 16082, i16 0, i16 0, i16 0, i16 16338, i16 16898, i16 0, i16 0, i16 13267, i16 0, i16 0, i16 0, i16 15571, i16 0, i16 13048, i16 0, i16 16339, i16 0, i16 0, i16 0, i16 13268, i16 0, i16 16251, i16 0, i16 14548, i16 0, i16 13322, i16 0, i16 17108, i16 0, i16 0, i16 0, i16 13525, i16 0, i16 0, i16 0, i16 14549, i16 16208, i16 0, i16 0, i16 15061, i16 16355, i16 12754, i16 0, i16 16085, i16 0, i16 16086, i16 0, i16 16341, i16 0, i16 0, i16 0, i16 12758, i16 0, i16 0, i16 0, i16 13782, i16 13206, i16 0, i16 0, i16 14038, i16 0, i16 0, i16 0, i16 14294, i16 0, i16 0, i16 0, i16 13271, i16 15273, i16 0, i16 0, i16 14551, i16 0, i16 0, i16 0, i16 15063, i16 0, i16 0, i16 0, i16 15319, i16 15008, i16 0, i16 0, i16 16087, i16 0, i16 0, i16 0, i16 16855, i16 0, i16 0, i16 0, i16 17111, i16 0, i16 0, i16 0, i16 13528, i16 0, i16 0, i16 0, i16 15320, i16 13709, i16 0, i16 0, i16 15576, i16 0, i16 0, i16 0, i16 15832, i16 0, i16 0, i16 0, i16 17112, i16 0, i16 15491, i16 0, i16 15577, i16 15748, i16 0, i16 0, i16 16857, i16 0, i16 0, i16 0, i16 17113, i16 0, i16 0, i16 0, i16 12506, i16 0, i16 0, i16 0, i16 13530, i16 0, i16 16095, i16 0, i16 15834, i16 16856, i16 0, i16 0, i16 16090, i16 0, i16 15381, i16 0, i16 16346, i16 0, i16 0, i16 0, i16 16858, i16 0, i16 0, i16 0, i16 12507, i16 15526, i16 12403, i16 0, i16 16091, i16 0, i16 0, i16 0, i16 16347, i16 14430, i16 0, i16 0, i16 14044, i16 0, i16 0, i16 0, i16 14556, i16 0, i16 13251, i16 0, i16 12765, i16 0, i16 0, i16 0, i16 17117, i16 0, i16 0, i16 0, i16 14302, i16 0, i16 0, i16 0, i16 16094, i16 0, i16 12956, i16 0, i16 12767, i16 0, i16 0, i16 0, i16 15583, i16 0, i16 14655, i16 0, i16 14304, i16 15497, i16 0, i16 0, i16 14560, i16 0, i16 0, i16 0, i16 15840, i16 0, i16 16260, i16 0, i16 13281, i16 0, i16 0, i16 0, i16 14049, i16 0, i16 0, i16 0, i16 16097, i16 0, i16 12370, i16 0, i16 15074, i16 0, i16 0, i16 0, i16 15330, i16 15690, i16 15960, i16 0, i16 16866, i16 0, i16 0, i16 0, i16 227, i16 0, i16 0, i16 0, i16 12515, i16 0, i16 13876, i16 0, i16 14563, i16 0, i16 0, i16 0, i16 16611, i16 0, i16 0, i16 0, i16 12516, i16 0, i16 0, i16 0, i16 13284, i16 0, i16 0, i16 0, i16 13540, i16 0, i16 0, i16 0, i16 13796, i16 0, i16 0, i16 0, i16 14308, i16 0, i16 0, i16 0, i16 14309, i16 0, i16 0, i16 0, i16 14565, i16 0, i16 16525, i16 0, i16 16101, i16 14818, i16 0, i16 0, i16 16357, i16 14010, i16 0, i16 0, i16 14566, i16 0, i16 0, i16 0, i16 15334, i16 0, i16 0, i16 0, i16 16102, i16 16942, i16 15214, i16 0, i16 15847, i16 0, i16 0, i16 0, i16 16359, i16 15252, i16 0, i16 0, i16 232, i16 0, i16 0, i16 0, i16 15336, i16 0, i16 15165, i16 0, i16 16361, i16 15730, i16 0, i16 0, i16 14058, i16 0, i16 0, i16 0, i16 14314, i16 0, i16 0, i16 0, i16 15082, i16 12921, i16 14023, i16 0, i16 12779, i16 0, i16 0, i16 0, i16 13035, i16 0, i16 0, i16 0, i16 15083, i16 16001, i16 0, i16 0, i16 15595, i16 0, i16 0, i16 0, i16 16107, i16 0, i16 14187, i16 0, i16 16363, i16 0, i16 0, i16 0, i16 236, i16 0, i16 0, i16 0, i16 15596, i16 0, i16 0, i16 0, i16 16876, i16 0, i16 0, i16 0, i16 14061, i16 0, i16 0, i16 0, i16 14829, i16 14436, i16 16437, i16 0, i16 16621, i16 15846, i16 0, i16 0, i16 17133, i16 0, i16 0, i16 0, i16 12782, i16 0, i16 0, i16 0, i16 14318, i16 0, i16 14389, i16 0, i16 15598, i16 12969, i16 0, i16 0, i16 239, i16 0, i16 0, i16 0, i16 13295, i16 0, i16 0, i16 0, i16 496, i16 497, i16 498, i16 0, i16 12784, i16 0, i16 14922, i16 0, i16 16624, i16 0, i16 0, i16 0, i16 16880, i16 16428, i16 16881, i16 0, i16 14322, i16 15067, i16 0, i16 0, i16 14578, i16 0, i16 0, i16 0, i16 15602, i16 0, i16 0, i16 0, i16 12531, i16 0, i16 0, i16 0, i16 13299, i16 14574, i16 0, i16 0, i16 15859, i16 12469, i16 0, i16 0, i16 17139, i16 0, i16 0, i16 0, i16 12532, i16 0, i16 0, i16 0, i16 14836, i16 0, i16 0, i16 0, i16 13301, i16 0, i16 0, i16 0, i16 13557, i16 13244, i16 16772, i16 0, i16 12534, i16 0, i16 13973, i16 0, i16 13814, i16 13690, i16 0, i16 0, i16 14070, i16 0, i16 0, i16 0, i16 15862, i16 0, i16 0, i16 0, i16 16118, i16 0, i16 0, i16 0, i16 13303, i16 0, i16 0, i16 0, i16 13559, i16 14258, i16 0, i16 0, i16 14327, i16 14477, i16 0, i16 0, i16 16119, i16 0, i16 13937, i16 0, i16 16887, i16 0, i16 0, i16 0, i16 17143, i16 12677, i16 0, i16 0, i16 14840, i16 12604, i16 15706, i16 0, i16 14329, i16 0, i16 15728, i16 0, i16 16633, i16 0, i16 15151, i16 0, i16 13818, i16 16626, i16 15466, i16 0, i16 14330, i16 0, i16 0, i16 0, i16 16634, i16 12664, i16 0, i16 0, i16 251, i16 0, i16 0, i16 0, i16 13307, i16 0, i16 12887, i16 0, i16 16123, i16 0, i16 0, i16 0, i16 16379, i16 0, i16 0, i16 0, i16 16635, i16 0, i16 0, i16 0, i16 17147, i16 16591, i16 0, i16 0, i16 12796, i16 0, i16 0, i16 0, i16 14844, i16 0, i16 0, i16 0, i16 15356, i16 0, i16 0, i16 0, i16 15868, i16 0, i16 0, i16 0, i16 16636, i16 0, i16 0, i16 0, i16 16892, i16 13247, i16 0, i16 0, i16 12797, i16 0, i16 0, i16 0, i16 15613, i16 14079, i16 0, i16 0, i16 12286, i16 0, i16 13968, i16 0, i16 14078, i16 0, i16 0, i16 0, i16 14590, i16 13127, i16 0, i16 0, i16 15614, i16 13555, i16 13688, i16 0, i16 15870, i16 0, i16 0, i16 0, i16 16126, i16 0, i16 0, i16 0, i16 16382, i16 0, i16 0, i16 0, i16 12543, i16 0, i16 13728, i16 0, i16 13823, i16 0, i16 13674, i16 0, i16 15615, i16 12820, i16 0, i16 15104, i16 0, i16 0, i16 0, i16 15616, i16 13933, i16 15995, i16 0, i16 16128, i16 0, i16 0, i16 12308, i16 16640, i16 0, i16 0, i16 16054, i16 17152, i16 12348, i16 0, i16 0, i16 257, i16 258, i16 261, i16 260, i16 12801, i16 0, i16 0, i16 0, i16 13569, i16 16879, i16 0, i16 0, i16 14849, i16 0, i16 0, i16 0, i16 15617, i16 14776, i16 0, i16 0, i16 15873, i16 0, i16 14896, i16 0, i16 16385, i16 0, i16 0, i16 0, i16 514, i16 515, i16 516, i16 517, i16 770, i16 771, i16 772, i16 0, i16 1026, i16 1027, i16 1028, i16 1029, i16 13058, i16 12645, i16 0, i16 14683, i16 15874, i16 0, i16 0, i16 12460, i16 16386, i16 0, i16 0, i16 0, i16 259, i16 262, i16 0, i16 0, i16 12803, i16 0, i16 0, i16 0, i16 13059, i16 13351, i16 0, i16 0, i16 14083, i16 14084, i16 0, i16 0, i16 15107, i16 0, i16 0, i16 0, i16 16387, i16 0, i16 15688, i16 0, i16 16643, i16 0, i16 0, i16 0, i16 17155, i16 0, i16 16783, i16 0, i16 13828, i16 0, i16 0, i16 0, i16 15108, i16 12610, i16 14517, i16 0, i16 15364, i16 15365, i16 12936, i16 0, i16 15876, i16 0, i16 0, i16 0, i16 12805, i16 13691, i16 0, i16 0, i16 14853, i16 0, i16 0, i16 0, i16 15621, i16 0, i16 0, i16 0, i16 16901, i16 0, i16 0, i16 16677, i16 17157, i16 0, i16 0, i16 0, i16 518, i16 519, i16 0, i16 0, i16 1030, i16 1031, i16 1032, i16 1033, i16 13574, i16 0, i16 0, i16 0, i16 13830, i16 0, i16 0, i16 0, i16 14086, i16 0, i16 0, i16 0, i16 14342, i16 15893, i16 15892, i16 0, i16 7, i16 8, i16 9, i16 10, i16 263, i16 277, i16 278, i16 0, i16 775, i16 0, i16 0, i16 0, i16 12807, i16 0, i16 0, i16 0, i16 13319, i16 0, i16 0, i16 0, i16 13831, i16 0, i16 0, i16 0, i16 14855, i16 0, i16 0, i16 0, i16 15367, i16 0, i16 0, i16 17002, i16 15879, i16 14820, i16 14767, i16 0, i16 17159, i16 17158, i16 16518, i16 0, i16 776, i16 773, i16 777, i16 233, i16 12552, i16 16573, i16 0, i16 14188, i16 12808, i16 0, i16 0, i16 0, i16 13576, i16 12432, i16 0, i16 0, i16 16904, i16 0, i16 0, i16 0, i16 13065, i16 0, i16 0, i16 0, i16 13321, i16 13327, i16 13330, i16 13434, i16 14345, i16 13568, i16 0, i16 0, i16 15113, i16 14228, i16 0, i16 0, i16 15369, i16 15370, i16 0, i16 0, i16 16393, i16 13771, i16 0, i16 0, i16 266, i16 0, i16 267, i16 0, i16 1034, i16 1035, i16 1036, i16 1037, i16 12298, i16 0, i16 16519, i16 0, i16 12554, i16 0, i16 0, i16 0, i16 14090, i16 15681, i16 12652, i16 0, i16 11, i16 12, i16 13, i16 14, i16 523, i16 524, i16 525, i16 526, i16 779, i16 780, i16 781, i16 0, i16 15371, i16 0, i16 12852, i16 0, i16 15627, i16 0, i16 0, i16 0, i16 16907, i16 14760, i16 0, i16 0, i16 12812, i16 0, i16 13177, i16 0, i16 13068, i16 13069, i16 13070, i16 13072, i16 13580, i16 16024, i16 14835, i16 13381, i16 14604, i16 15275, i16 0, i16 0, i16 15372, i16 12415, i16 0, i16 12648, i16 269, i16 270, i16 0, i16 0, i16 12301, i16 12570, i16 0, i16 12599, i16 12813, i16 0, i16 0, i16 15111, i16 13581, i16 12989, i16 0, i16 0, i16 13837, i16 0, i16 16492, i16 0, i16 14093, i16 0, i16 0, i16 12975, i16 14861, i16 0, i16 15592, i16 0, i16 16141, i16 0, i16 0, i16 0, i16 16653, i16 0, i16 0, i16 0, i16 1038, i16 1039, i16 1040, i16 1041, i16 12814, i16 0, i16 0, i16 12706, i16 13838, i16 14545, i16 16980, i16 0, i16 15374, i16 15377, i16 15382, i16 15384, i16 15630, i16 0, i16 0, i16 0, i16 15886, i16 15536, i16 0, i16 14123, i16 16142, i16 14132, i16 14450, i16 0, i16 15, i16 16, i16 17, i16 18, i16 527, i16 528, i16 529, i16 530, i16 12303, i16 13730, i16 0, i16 0, i16 14095, i16 0, i16 0, i16 0, i16 15375, i16 0, i16 0, i16 0, i16 15631, i16 14274, i16 14286, i16 16727, i16 16143, i16 0, i16 0, i16 12638, i16 16399, i16 0, i16 14372, i16 0, i16 784, i16 0, i16 0, i16 0, i16 13840, i16 0, i16 12299, i16 0, i16 14096, i16 16478, i16 0, i16 0, i16 17168, i16 0, i16 0, i16 0, i16 12305, i16 0, i16 0, i16 13199, i16 12561, i16 0, i16 0, i16 0, i16 13073, i16 13074, i16 13075, i16 13076, i16 14097, i16 0, i16 0, i16 0, i16 14865, i16 0, i16 0, i16 0, i16 15633, i16 12694, i16 0, i16 12377, i16 16401, i16 0, i16 12835, i16 0, i16 1042, i16 1043, i16 1044, i16 0, i16 13586, i16 0, i16 14476, i16 0, i16 13842, i16 12965, i16 0, i16 14265, i16 14098, i16 0, i16 0, i16 0, i16 15122, i16 15419, i16 0, i16 15300, i16 15634, i16 13210, i16 0, i16 0, i16 16402, i16 0, i16 0, i16 12309, i16 17170, i16 16987, i16 16811, i16 14313, i16 19, i16 20, i16 21, i16 0, i16 275, i16 273, i16 0, i16 0, i16 531, i16 532, i16 533, i16 534, i16 12307, i16 0, i16 15734, i16 0, i16 13587, i16 0, i16 0, i16 0, i16 16403, i16 12791, i16 0, i16 0, i16 788, i16 0, i16 0, i16 0, i16 12564, i16 12629, i16 0, i16 14470, i16 14868, i16 14870, i16 14874, i16 14910, i16 16916, i16 13696, i16 0, i16 0, i16 789, i16 697, i16 790, i16 0, i16 1045, i16 1046, i16 1047, i16 1048, i16 12565, i16 0, i16 0, i16 0, i16 12821, i16 0, i16 0, i16 0, i16 13077, i16 13079, i16 13080, i16 13081, i16 13333, i16 0, i16 0, i16 0, i16 14357, i16 0, i16 0, i16 0, i16 14613, i16 13502, i16 0, i16 0, i16 14869, i16 0, i16 0, i16 0, i16 15637, i16 14361, i16 14107, i16 0, i16 22, i16 0, i16 23, i16 24, i16 16150, i16 14012, i16 13767, i16 0, i16 279, i16 276, i16 0, i16 0, i16 535, i16 536, i16 0, i16 537, i16 791, i16 0, i16 0, i16 0, i16 12567, i16 0, i16 0, i16 15172, i16 12823, i16 16179, i16 15581, i16 12312, i16 13847, i16 0, i16 0, i16 13811, i16 14359, i16 0, i16 0, i16 0, i16 14615, i16 0, i16 0, i16 14235, i16 15127, i16 0, i16 15766, i16 0, i16 15383, i16 0, i16 13753, i16 0, i16 12568, i16 0, i16 0, i16 13306, i16 12824, i16 0, i16 15607, i16 12864, i16 14104, i16 0, i16 0, i16 0, i16 14872, i16 0, i16 0, i16 0, i16 15640, i16 0, i16 0, i16 14139, i16 25, i16 26, i16 27, i16 28, i16 281, i16 0, i16 0, i16 0, i16 1049, i16 1050, i16 1052, i16 1053, i16 12313, i16 13332, i16 0, i16 12825, i16 14617, i16 0, i16 13773, i16 15987, i16 16409, i16 0, i16 15799, i16 0, i16 538, i16 539, i16 540, i16 541, i16 12314, i16 0, i16 0, i16 0, i16 12826, i16 0, i16 0, i16 12800, i16 13082, i16 13083, i16 13084, i16 13085, i16 14106, i16 16843, i16 0, i16 16575, i16 14618, i16 0, i16 0, i16 0, i16 15642, i16 0, i16 0, i16 0, i16 13339, i16 15747, i16 0, i16 0, i16 13851, i16 0, i16 13432, i16 0, i16 14363, i16 0, i16 0, i16 15368, i16 14619, i16 0, i16 0, i16 0, i16 15131, i16 0, i16 0, i16 16830, i16 16411, i16 0, i16 0, i16 0, i16 16923, i16 14142, i16 0, i16 14540, i16 12316, i16 0, i16 0, i16 16908, i16 13596, i16 0, i16 15599, i16 0, i16 14364, i16 17134, i16 0, i16 0, i16 14876, i16 0, i16 0, i16 0, i16 15388, i16 15391, i16 15393, i16 15394, i16 29, i16 30, i16 31, i16 32, i16 12317, i16 0, i16 0, i16 15758, i16 12573, i16 0, i16 0, i16 0, i16 13341, i16 0, i16 0, i16 0, i16 14109, i16 0, i16 0, i16 13273, i16 15389, i16 0, i16 14346, i16 14634, i16 286, i16 0, i16 0, i16 679, i16 542, i16 543, i16 0, i16 0, i16 798, i16 799, i16 800, i16 801, i16 1054, i16 1055, i16 1056, i16 1057, i16 12574, i16 0, i16 14714, i16 0, i16 13086, i16 13087, i16 13088, i16 13089, i16 13598, i16 0, i16 0, i16 0, i16 14366, i16 0, i16 0, i16 13288, i16 14622, i16 0, i16 0, i16 13168, i16 14878, i16 14663, i16 0, i16 0, i16 13343, i16 0, i16 0, i16 16050, i16 13855, i16 13834, i16 0, i16 12997, i16 14111, i16 12898, i16 0, i16 14936, i16 14367, i16 0, i16 0, i16 0, i16 15647, i16 0, i16 0, i16 0, i16 16159, i16 0, i16 0, i16 0, i16 544, i16 555, i16 545, i16 556, i16 13600, i16 0, i16 0, i16 0, i16 13856, i16 16531, i16 0, i16 0, i16 14880, i16 0, i16 0, i16 0, i16 16160, i16 0, i16 0, i16 0, i16 16416, i16 0, i16 13817, i16 0, i16 33, i16 34, i16 35, i16 36, i16 13857, i16 0, i16 0, i16 0, i16 546, i16 583, i16 582, i16 557, i16 802, i16 803, i16 804, i16 805, i16 1058, i16 1059, i16 1060, i16 1061, i16 12578, i16 0, i16 0, i16 0, i16 12834, i16 16537, i16 13775, i16 0, i16 14626, i16 0, i16 0, i16 0, i16 15138, i16 0, i16 0, i16 0, i16 16930, i16 0, i16 0, i16 0, i16 291, i16 292, i16 293, i16 294, i16 547, i16 577, i16 576, i16 558, i16 12579, i16 12755, i16 0, i16 0, i16 13091, i16 13092, i16 13096, i16 13097, i16 13347, i16 0, i16 0, i16 0, i16 14627, i16 14539, i16 15436, i16 0, i16 15651, i16 0, i16 15105, i16 0, i16 16931, i16 0, i16 0, i16 12335, i16 548, i16 579, i16 578, i16 559, i16 15908, i16 0, i16 0, i16 0, i16 16164, i16 0, i16 13836, i16 0, i16 16932, i16 15385, i16 0, i16 0, i16 37, i16 38, i16 39, i16 40, i16 549, i16 581, i16 580, i16 560, i16 13349, i16 0, i16 0, i16 0, i16 13605, i16 0, i16 0, i16 0, i16 13861, i16 0, i16 14594, i16 15626, i16 14629, i16 0, i16 12476, i16 0, i16 14885, i16 0, i16 0, i16 0, i16 15141, i16 0, i16 0, i16 12717, i16 15397, i16 0, i16 0, i16 0, i16 15653, i16 0, i16 0, i16 16014, i16 550, i16 571, i16 584, i16 585, i16 806, i16 807, i16 808, i16 809, i16 1062, i16 1063, i16 1064, i16 1065, i16 12326, i16 0, i16 0, i16 0, i16 13606, i16 0, i16 0, i16 0, i16 14118, i16 16596, i16 15068, i16 14731, i16 14886, i16 0, i16 12514, i16 0, i16 16422, i16 0, i16 14654, i16 0, i16 295, i16 296, i16 297, i16 298, i16 551, i16 592, i16 593, i16 567, i16 12839, i16 0, i16 0, i16 0, i16 13607, i16 14883, i16 16707, i16 0, i16 13863, i16 0, i16 0, i16 0, i16 15399, i16 0, i16 0, i16 0, i16 15655, i16 14031, i16 14395, i16 0, i16 16167, i16 0, i16 15903, i16 0, i16 16935, i16 0, i16 0, i16 0, i16 552, i16 573, i16 588, i16 589, i16 13352, i16 0, i16 0, i16 0, i16 13608, i16 0, i16 0, i16 0, i16 14120, i16 0, i16 15293, i16 0, i16 15144, i16 0, i16 0, i16 0, i16 15912, i16 12541, i16 13870, i16 0, i16 41, i16 42, i16 43, i16 44, i16 553, i16 596, i16 597, i16 569, i16 12585, i16 0, i16 0, i16 0, i16 12841, i16 12810, i16 0, i16 0, i16 13865, i16 0, i16 0, i16 13462, i16 14377, i16 12693, i16 0, i16 12872, i16 15913, i16 0, i16 0, i16 0, i16 16169, i16 12857, i16 0, i16 13290, i16 554, i16 600, i16 601, i16 570, i16 810, i16 811, i16 812, i16 813, i16 1066, i16 1067, i16 1068, i16 1069, i16 13866, i16 0, i16 14612, i16 0, i16 14378, i16 0, i16 16272, i16 13312, i16 15402, i16 0, i16 0, i16 0, i16 16426, i16 14161, i16 0, i16 0, i16 16682, i16 0, i16 0, i16 0, i16 16938, i16 0, i16 16694, i16 16603, i16 299, i16 300, i16 301, i16 302, i16 12331, i16 0, i16 0, i16 0, i16 13099, i16 13100, i16 13102, i16 13103, i16 13867, i16 0, i16 0, i16 0, i16 15659, i16 0, i16 0, i16 14841, i16 13612, i16 0, i16 16751, i16 13410, i16 14636, i16 0, i16 0, i16 0, i16 14892, i16 14009, i16 0, i16 0, i16 15148, i16 0, i16 15943, i16 12679, i16 15916, i16 0, i16 0, i16 0, i16 16940, i16 16394, i16 14706, i16 0, i16 45, i16 46, i16 47, i16 48, i16 12333, i16 0, i16 0, i16 12297, i16 12845, i16 0, i16 0, i16 14223, i16 13357, i16 16618, i16 0, i16 0, i16 13613, i16 14635, i16 0, i16 0, i16 13869, i16 0, i16 0, i16 0, i16 15661, i16 0, i16 0, i16 0, i16 15917, i16 16642, i16 0, i16 0, i16 16173, i16 0, i16 0, i16 13254, i16 814, i16 815, i16 816, i16 817, i16 1070, i16 1071, i16 1072, i16 1073, i16 12846, i16 0, i16 16637, i16 13664, i16 303, i16 304, i16 305, i16 306, i16 12847, i16 0, i16 0, i16 0, i16 13615, i16 0, i16 13985, i16 0, i16 13871, i16 0, i16 0, i16 0, i16 14895, i16 0, i16 15844, i16 14089, i16 12592, i16 0, i16 16205, i16 0, i16 13104, i16 13105, i16 13106, i16 13107, i16 13872, i16 0, i16 0, i16 0, i16 15152, i16 0, i16 12319, i16 12545, i16 49, i16 50, i16 51, i16 52, i16 13873, i16 0, i16 0, i16 0, i16 14129, i16 0, i16 0, i16 0, i16 14897, i16 0, i16 0, i16 0, i16 15665, i16 0, i16 16344, i16 16912, i16 15921, i16 16016, i16 14055, i16 13417, i16 16177, i16 0, i16 0, i16 14753, i16 818, i16 819, i16 820, i16 821, i16 1074, i16 1075, i16 1076, i16 1077, i16 15410, i16 15411, i16 15413, i16 15417, i16 16178, i16 14405, i16 0, i16 0, i16 16434, i16 15807, i16 15243, i16 0, i16 307, i16 308, i16 309, i16 310, i16 12339, i16 0, i16 0, i16 15839, i16 14131, i16 0, i16 0, i16 0, i16 14387, i16 0, i16 0, i16 0, i16 14643, i16 15448, i16 0, i16 0, i16 15155, i16 0, i16 0, i16 0, i16 15667, i16 0, i16 0, i16 0, i16 16435, i16 0, i16 0, i16 12749, i16 12596, i16 0, i16 0, i16 0, i16 13108, i16 13109, i16 13114, i16 13115, i16 13364, i16 14877, i16 0, i16 0, i16 14900, i16 0, i16 0, i16 0, i16 16436, i16 0, i16 0, i16 0, i16 53, i16 54, i16 55, i16 56, i16 12597, i16 0, i16 0, i16 16939, i16 13877, i16 0, i16 16491, i16 15185, i16 14901, i16 0, i16 0, i16 0, i16 16949, i16 0, i16 15802, i16 0, i16 566, i16 586, i16 587, i16 561, i16 822, i16 823, i16 824, i16 825, i16 1078, i16 1079, i16 1080, i16 1081, i16 14390, i16 0, i16 0, i16 0, i16 14902, i16 0, i16 0, i16 12930, i16 15158, i16 0, i16 12620, i16 15062, i16 15670, i16 0, i16 0, i16 0, i16 16438, i16 15340, i16 0, i16 16791, i16 311, i16 312, i16 313, i16 314, i16 13367, i16 16221, i16 16526, i16 0, i16 13879, i16 14764, i16 15132, i16 0, i16 15159, i16 15814, i16 0, i16 0, i16 15671, i16 0, i16 0, i16 16804, i16 16439, i16 13563, i16 0, i16 0, i16 16695, i16 0, i16 0, i16 0, i16 568, i16 590, i16 591, i16 563, i16 12600, i16 0, i16 0, i16 0, i16 13624, i16 0, i16 16032, i16 16310, i16 16440, i16 0, i16 12692, i16 13449, i16 16696, i16 0, i16 0, i16 14281, i16 16952, i16 16111, i16 0, i16 0, i16 57, i16 58, i16 59, i16 60, i16 13113, i16 0, i16 0, i16 0, i16 13881, i16 13940, i16 13941, i16 0, i16 15673, i16 16353, i16 0, i16 16691, i16 16441, i16 0, i16 12822, i16 15936, i16 16953, i16 16871, i16 15856, i16 12551, i16 826, i16 827, i16 828, i16 829, i16 1082, i16 1083, i16 1085, i16 1086, i16 14394, i16 15473, i16 0, i16 0, i16 15418, i16 15422, i16 15423, i16 15428, i16 16442, i16 0, i16 0, i16 0, i16 315, i16 316, i16 317, i16 318, i16 15931, i16 0, i16 14069, i16 0, i16 16187, i16 16188, i16 0, i16 0, i16 16699, i16 0, i16 0, i16 16698, i16 572, i16 594, i16 595, i16 562, i16 13116, i16 13117, i16 13118, i16 13119, i16 14908, i16 0, i16 0, i16 14194, i16 61, i16 62, i16 63, i16 64, i16 13629, i16 0, i16 0, i16 0, i16 574, i16 598, i16 599, i16 564, i16 830, i16 831, i16 832, i16 833, i16 12350, i16 0, i16 15031, i16 0, i16 12606, i16 13556, i16 14165, i16 0, i16 16190, i16 0, i16 0, i16 14219, i16 16446, i16 0, i16 0, i16 12529, i16 319, i16 320, i16 321, i16 322, i16 1087, i16 1088, i16 1089, i16 1090, i16 12863, i16 0, i16 0, i16 0, i16 14399, i16 0, i16 0, i16 15204, i16 14911, i16 14912, i16 14914, i16 14915, i16 14144, i16 13858, i16 0, i16 0, i16 14656, i16 0, i16 0, i16 0, i16 15424, i16 0, i16 0, i16 0, i16 16448, i16 14368, i16 17076, i16 12951, i16 65, i16 66, i16 67, i16 68, i16 12609, i16 0, i16 0, i16 0, i16 13121, i16 13122, i16 13292, i16 13314, i16 14657, i16 15421, i16 16239, i16 12586, i16 15169, i16 0, i16 0, i16 16147, i16 834, i16 835, i16 836, i16 837, i16 12354, i16 0, i16 16676, i16 14020, i16 13890, i16 0, i16 0, i16 0, i16 14402, i16 0, i16 15406, i16 0, i16 15426, i16 14351, i16 0, i16 0, i16 16450, i16 17137, i16 0, i16 0, i16 16706, i16 0, i16 0, i16 0, i16 323, i16 324, i16 325, i16 326, i16 1091, i16 1092, i16 1093, i16 1094, i16 12867, i16 0, i16 0, i16 0, i16 13123, i16 0, i16 13799, i16 13101, i16 13635, i16 0, i16 0, i16 0, i16 13891, i16 0, i16 0, i16 0, i16 14147, i16 0, i16 14148, i16 14149, i16 15939, i16 0, i16 14140, i16 13205, i16 16451, i16 0, i16 0, i16 0, i16 12356, i16 0, i16 0, i16 12804, i16 12612, i16 0, i16 0, i16 0, i16 12868, i16 0, i16 0, i16 0, i16 16708, i16 0, i16 0, i16 14124, i16 69, i16 70, i16 71, i16 72, i16 12357, i16 13758, i16 0, i16 17094, i16 838, i16 839, i16 840, i16 841, i16 12870, i16 12894, i16 12907, i16 12992, i16 14150, i16 0, i16 0, i16 13722, i16 14918, i16 14921, i16 14927, i16 14929, i16 16198, i16 0, i16 0, i16 0, i16 327, i16 328, i16 329, i16 330, i16 1095, i16 1096, i16 1097, i16 1098, i16 12871, i16 13304, i16 0, i16 0, i16 14151, i16 15380, i16 0, i16 16447, i16 14407, i16 0, i16 0, i16 0, i16 15431, i16 15432, i16 15433, i16 15434, i16 16199, i16 0, i16 16646, i16 12696, i16 16967, i16 0, i16 0, i16 0, i16 12360, i16 0, i16 0, i16 0, i16 12616, i16 0, i16 0, i16 0, i16 14152, i16 14254, i16 14256, i16 14275, i16 16200, i16 15023, i16 0, i16 0, i16 16968, i16 0, i16 0, i16 15490, i16 73, i16 74, i16 75, i16 76, i16 14409, i16 16493, i16 0, i16 12457, i16 16201, i16 0, i16 0, i16 12412, i16 842, i16 843, i16 844, i16 845, i16 13386, i16 0, i16 0, i16 0, i16 14410, i16 0, i16 0, i16 0, i16 15946, i16 0, i16 0, i16 0, i16 16458, i16 0, i16 0, i16 0, i16 331, i16 332, i16 333, i16 334, i16 1099, i16 1100, i16 1101, i16 1102, i16 13643, i16 0, i16 0, i16 0, i16 14667, i16 16229, i16 14220, i16 0, i16 16203, i16 0, i16 13697, i16 16959, i16 12876, i16 0, i16 14128, i16 0, i16 13644, i16 13645, i16 0, i16 0, i16 13900, i16 0, i16 0, i16 0, i16 14668, i16 15935, i16 0, i16 0, i16 15692, i16 0, i16 0, i16 0, i16 16460, i16 17118, i16 13652, i16 16277, i16 16716, i16 0, i16 0, i16 0, i16 16972, i16 13323, i16 0, i16 0, i16 77, i16 78, i16 79, i16 80, i16 13133, i16 0, i16 0, i16 0, i16 14413, i16 14238, i16 0, i16 0, i16 15437, i16 13403, i16 15831, i16 14474, i16 15693, i16 12584, i16 0, i16 14433, i16 846, i16 847, i16 848, i16 849, i16 12366, i16 0, i16 0, i16 0, i16 12622, i16 0, i16 0, i16 0, i16 14158, i16 0, i16 0, i16 0, i16 15182, i16 15183, i16 15189, i16 15191, i16 15438, i16 0, i16 15541, i16 0, i16 16718, i16 0, i16 0, i16 0, i16 335, i16 336, i16 337, i16 338, i16 1103, i16 1104, i16 1105, i16 1106, i16 16207, i16 13692, i16 0, i16 0, i16 16719, i16 16092, i16 0, i16 12318, i16 16975, i16 0, i16 16560, i16 0, i16 12368, i16 0, i16 14730, i16 16284, i16 12624, i16 13779, i16 0, i16 0, i16 12880, i16 0, i16 0, i16 0, i16 13648, i16 16754, i16 0, i16 0, i16 14672, i16 0, i16 0, i16 0, i16 14928, i16 0, i16 0, i16 0, i16 15440, i16 15484, i16 15485, i16 15488, i16 15952, i16 0, i16 0, i16 0, i16 81, i16 82, i16 83, i16 84, i16 12625, i16 0, i16 0, i16 0, i16 12881, i16 0, i16 0, i16 0, i16 13393, i16 15069, i16 0, i16 0, i16 13905, i16 0, i16 0, i16 0, i16 15441, i16 0, i16 12759, i16 15305, i16 15953, i16 15242, i16 0, i16 0, i16 850, i16 851, i16 0, i16 0, i16 12626, i16 0, i16 16516, i16 0, i16 13138, i16 0, i16 0, i16 0, i16 14930, i16 14931, i16 14933, i16 14937, i16 15954, i16 12429, i16 0, i16 0, i16 16978, i16 0, i16 12756, i16 0, i16 339, i16 340, i16 341, i16 342, i16 1107, i16 1108, i16 1109, i16 1110, i16 12371, i16 0, i16 0, i16 13280, i16 12883, i16 16244, i16 0, i16 14076, i16 852, i16 853, i16 854, i16 855, i16 85, i16 86, i16 87, i16 88, i16 13909, i16 0, i16 0, i16 0, i16 15190, i16 16683, i16 0, i16 0, i16 15446, i16 0, i16 0, i16 16364, i16 16726, i16 0, i16 15405, i16 0, i16 343, i16 344, i16 345, i16 346, i16 14167, i16 0, i16 0, i16 0, i16 16215, i16 0, i16 0, i16 16946, i16 856, i16 857, i16 858, i16 859, i16 12632, i16 0, i16 12954, i16 14051, i16 14680, i16 0, i16 0, i16 16133, i16 15192, i16 0, i16 0, i16 12731, i16 15704, i16 0, i16 0, i16 0, i16 13657, i16 0, i16 16746, i16 15249, i16 14169, i16 0, i16 0, i16 14941, i16 14681, i16 0, i16 0, i16 13062, i16 15193, i16 15196, i16 15203, i16 15208, i16 16217, i16 0, i16 0, i16 0, i16 602, i16 603, i16 575, i16 604, i16 12378, i16 0, i16 0, i16 0, i16 12634, i16 0, i16 0, i16 0, i16 13914, i16 0, i16 0, i16 0, i16 14938, i16 14942, i16 14950, i16 14952, i16 16218, i16 0, i16 15720, i16 15308, i16 16474, i16 0, i16 0, i16 0, i16 12635, i16 0, i16 15162, i16 0, i16 15195, i16 15117, i16 0, i16 0, i16 16219, i16 14723, i16 0, i16 14210, i16 16475, i16 16878, i16 0, i16 0, i16 16731, i16 13425, i16 13354, i16 0, i16 860, i16 861, i16 862, i16 863, i16 12636, i16 12671, i16 12843, i16 12848, i16 15452, i16 0, i16 0, i16 16113, i16 15964, i16 0, i16 0, i16 0, i16 16732, i16 15276, i16 0, i16 0, i16 93, i16 94, i16 95, i16 96, i16 605, i16 606, i16 607, i16 608, i16 12381, i16 0, i16 0, i16 0, i16 12637, i16 0, i16 0, i16 0, i16 15197, i16 0, i16 0, i16 0, i16 16989, i16 16604, i16 16529, i16 12685, i16 12382, i16 0, i16 0, i16 0, i16 13662, i16 17008, i16 17091, i16 15900, i16 15966, i16 0, i16 15965, i16 0, i16 16990, i16 0, i16 0, i16 15548, i16 351, i16 352, i16 353, i16 354, i16 12639, i16 13535, i16 16905, i16 0, i16 13407, i16 14189, i16 0, i16 0, i16 13919, i16 14215, i16 0, i16 0, i16 14175, i16 0, i16 16825, i16 0, i16 14687, i16 0, i16 15830, i16 17030, i16 16479, i16 0, i16 15951, i16 0, i16 864, i16 865, i16 866, i16 0, i16 12384, i16 15412, i16 14756, i16 0, i16 13152, i16 16096, i16 0, i16 0, i16 13408, i16 0, i16 0, i16 0, i16 13920, i16 0, i16 0, i16 0, i16 14688, i16 0, i16 0, i16 0, i16 16224, i16 0, i16 0, i16 0, i16 16480, i16 0, i16 0, i16 0, i16 16992, i16 0, i16 0, i16 0, i16 97, i16 98, i16 99, i16 100, i16 609, i16 610, i16 611, i16 565, i16 12385, i16 15963, i16 0, i16 0, i16 13153, i16 15352, i16 0, i16 0, i16 14177, i16 16622, i16 0, i16 0, i16 15201, i16 13463, i16 0, i16 12601, i16 16481, i16 0, i16 16100, i16 14801, i16 16737, i16 14119, i16 13491, i16 15570, i16 12642, i16 15578, i16 0, i16 15586, i16 14178, i16 0, i16 0, i16 0, i16 14434, i16 0, i16 12816, i16 0, i16 15202, i16 12458, i16 0, i16 0, i16 15714, i16 0, i16 0, i16 0, i16 16738, i16 17040, i16 0, i16 13241, i16 355, i16 356, i16 357, i16 358, i16 14691, i16 0, i16 13169, i16 0, i16 14947, i16 0, i16 0, i16 15534, i16 12644, i16 0, i16 16786, i16 0, i16 12900, i16 14153, i16 16593, i16 0, i16 13668, i16 0, i16 16247, i16 0, i16 101, i16 102, i16 103, i16 104, i16 13157, i16 0, i16 0, i16 0, i16 13413, i16 0, i16 0, i16 0, i16 14181, i16 0, i16 0, i16 0, i16 14437, i16 14744, i16 12562, i16 0, i16 14949, i16 14462, i16 12293, i16 0, i16 16485, i16 0, i16 0, i16 0, i16 16997, i16 13129, i16 0, i16 15959, i16 870, i16 0, i16 0, i16 0, i16 13670, i16 12405, i16 0, i16 0, i16 13926, i16 0, i16 16547, i16 0, i16 15206, i16 0, i16 0, i16 0, i16 16742, i16 0, i16 15362, i16 0, i16 359, i16 360, i16 361, i16 362, i16 13671, i16 0, i16 0, i16 16700, i16 14695, i16 0, i16 14197, i16 0, i16 16231, i16 0, i16 0, i16 15711, i16 16743, i16 0, i16 0, i16 0, i16 16999, i16 12558, i16 0, i16 0, i16 616, i16 622, i16 623, i16 624, i16 13928, i16 13929, i16 0, i16 0, i16 15464, i16 16002, i16 0, i16 0, i16 15976, i16 0, i16 0, i16 16852, i16 16232, i16 0, i16 16003, i16 0, i16 16744, i16 0, i16 14502, i16 13911, i16 105, i16 106, i16 107, i16 108, i16 617, i16 675, i16 690, i16 283, i16 14953, i16 14956, i16 14964, i16 14968, i16 15209, i16 13666, i16 16813, i16 14575, i16 15465, i16 0, i16 0, i16 0, i16 15721, i16 0, i16 0, i16 0, i16 16489, i16 13095, i16 0, i16 14300, i16 16745, i16 0, i16 0, i16 0, i16 14954, i16 0, i16 0, i16 0, i16 363, i16 364, i16 365, i16 366, i16 619, i16 620, i16 621, i16 640, i16 875, i16 0, i16 0, i16 0, i16 12395, i16 0, i16 0, i16 0, i16 13163, i16 0, i16 13604, i16 0, i16 13931, i16 0, i16 16865, i16 13665, i16 14699, i16 0, i16 0, i16 0, i16 15723, i16 0, i16 0, i16 0, i16 16747, i16 15442, i16 12315, i16 0, i16 14444, i16 0, i16 14347, i16 0, i16 14700, i16 15223, i16 0, i16 0, i16 15468, i16 0, i16 0, i16 0, i16 15724, i16 0, i16 0, i16 0, i16 16236, i16 0, i16 12512, i16 16144, i16 109, i16 110, i16 111, i16 112, i16 14701, i16 0, i16 12413, i16 15310, i16 15213, i16 0, i16 0, i16 16807, i16 15981, i16 0, i16 0, i16 14611, i16 12398, i16 0, i16 13810, i16 0, i16 13422, i16 0, i16 0, i16 0, i16 13678, i16 16641, i16 15345, i16 0, i16 14702, i16 0, i16 0, i16 0, i16 15726, i16 0, i16 12419, i16 17035, i16 16238, i16 0, i16 14062, i16 0, i16 367, i16 368, i16 369, i16 370, i16 879, i16 880, i16 881, i16 882, i16 12399, i16 15153, i16 0, i16 0, i16 13423, i16 0, i16 0, i16 17122, i16 14191, i16 0, i16 16427, i16 0, i16 14703, i16 13623, i16 0, i16 16506, i16 15983, i16 15729, i16 0, i16 0, i16 16495, i16 0, i16 16714, i16 0, i16 12656, i16 0, i16 13762, i16 0, i16 13936, i16 0, i16 0, i16 12284, i16 14448, i16 12575, i16 0, i16 13776, i16 14704, i16 0, i16 13229, i16 15194, i16 113, i16 114, i16 115, i16 116, i16 625, i16 626, i16 627, i16 628, i16 12657, i16 16053, i16 0, i16 0, i16 15985, i16 0, i16 16183, i16 13515, i16 17009, i16 0, i16 14554, i16 0, i16 12658, i16 0, i16 0, i16 0, i16 15474, i16 0, i16 16770, i16 0, i16 16498, i16 15164, i16 0, i16 0, i16 17010, i16 0, i16 13788, i16 13789, i16 371, i16 372, i16 373, i16 374, i16 883, i16 884, i16 885, i16 886, i16 14963, i16 15898, i16 0, i16 0, i16 16755, i16 0, i16 0, i16 0, i16 17011, i16 0, i16 0, i16 15514, i16 12404, i16 0, i16 0, i16 0, i16 12916, i16 0, i16 0, i16 14195, i16 16500, i16 0, i16 14290, i16 0, i16 117, i16 118, i16 119, i16 120, i16 629, i16 630, i16 631, i16 618, i16 13173, i16 0, i16 16230, i16 0, i16 13685, i16 13795, i16 16412, i16 0, i16 16245, i16 0, i16 16891, i16 0, i16 16501, i16 0, i16 0, i16 0, i16 12918, i16 0, i16 0, i16 0, i16 13686, i16 0, i16 0, i16 0, i16 13942, i16 13667, i16 0, i16 0, i16 14198, i16 12283, i16 0, i16 0, i16 14710, i16 0, i16 0, i16 0, i16 15478, i16 0, i16 15445, i16 15918, i16 16246, i16 16210, i16 13864, i16 0, i16 16758, i16 0, i16 0, i16 0, i16 375, i16 376, i16 377, i16 378, i16 887, i16 888, i16 889, i16 890, i16 12663, i16 0, i16 0, i16 0, i16 13431, i16 15482, i16 0, i16 0, i16 13687, i16 0, i16 0, i16 0, i16 15479, i16 0, i16 0, i16 0, i16 15735, i16 0, i16 14247, i16 0, i16 15991, i16 0, i16 0, i16 12861, i16 16503, i16 0, i16 0, i16 0, i16 13176, i16 0, i16 0, i16 0, i16 14456, i16 0, i16 0, i16 14707, i16 15224, i16 0, i16 0, i16 0, i16 16248, i16 0, i16 0, i16 0, i16 121, i16 122, i16 123, i16 124, i16 13689, i16 0, i16 0, i16 15343, i16 15481, i16 0, i16 15241, i16 0, i16 16761, i16 15321, i16 0, i16 0, i16 13178, i16 0, i16 16356, i16 0, i16 13946, i16 14970, i16 0, i16 0, i16 14458, i16 0, i16 0, i16 15513, i16 379, i16 380, i16 224, i16 0, i16 891, i16 892, i16 893, i16 894, i16 12923, i16 0, i16 0, i16 0, i16 14203, i16 0, i16 0, i16 0, i16 14459, i16 16609, i16 0, i16 12288, i16 14971, i16 14974, i16 14977, i16 14979, i16 15227, i16 17075, i16 14960, i16 0, i16 17019, i16 12410, i16 0, i16 0, i16 12668, i16 0, i16 12416, i16 0, i16 12924, i16 0, i16 0, i16 16146, i16 13948, i16 13979, i16 14073, i16 14121, i16 16764, i16 0, i16 0, i16 0, i16 17020, i16 0, i16 0, i16 0, i16 125, i16 126, i16 127, i16 132, i16 637, i16 638, i16 671, i16 672, i16 12925, i16 0, i16 0, i16 17153, i16 13437, i16 14216, i16 0, i16 0, i16 15997, i16 0, i16 0, i16 0, i16 16253, i16 17110, i16 16998, i16 0, i16 17021, i16 14028, i16 14602, i16 0, i16 12414, i16 0, i16 0, i16 15940, i16 13182, i16 0, i16 0, i16 0, i16 15230, i16 0, i16 0, i16 0, i16 15998, i16 13078, i16 12795, i16 0, i16 639, i16 688, i16 632, i16 0, i16 895, i16 896, i16 897, i16 898, i16 15487, i16 0, i16 16117, i16 0, i16 16511, i16 0, i16 13967, i16 0, i16 12672, i16 0, i16 0, i16 0, i16 12928, i16 0, i16 0, i16 0, i16 13952, i16 0, i16 0, i16 14693, i16 14720, i16 15363, i16 17000, i16 0, i16 15232, i16 0, i16 0, i16 14017, i16 17024, i16 0, i16 0, i16 0, i16 385, i16 386, i16 387, i16 388, i16 641, i16 680, i16 681, i16 682, i16 12673, i16 15969, i16 15810, i16 15142, i16 12929, i16 14360, i16 15168, i16 0, i16 13953, i16 17120, i16 0, i16 0, i16 15233, i16 0, i16 0, i16 0, i16 15745, i16 13371, i16 15358, i16 16608, i16 16513, i16 0, i16 0, i16 0, i16 16769, i16 0, i16 14392, i16 0, i16 17025, i16 0, i16 0, i16 0, i16 642, i16 643, i16 644, i16 645, i16 12674, i16 0, i16 13497, i16 16005, i16 13186, i16 0, i16 0, i16 0, i16 14466, i16 16629, i16 0, i16 0, i16 15746, i16 0, i16 0, i16 0, i16 131, i16 0, i16 693, i16 0, i16 899, i16 900, i16 901, i16 902, i16 13955, i16 0, i16 14350, i16 0, i16 15235, i16 14924, i16 0, i16 0, i16 16259, i16 0, i16 12776, i16 15255, i16 16771, i16 0, i16 0, i16 0, i16 17027, i16 0, i16 0, i16 0, i16 12932, i16 15535, i16 13829, i16 12760, i16 13188, i16 0, i16 0, i16 16888, i16 13444, i16 0, i16 0, i16 0, i16 14212, i16 0, i16 0, i16 15638, i16 14468, i16 0, i16 15186, i16 13221, i16 16004, i16 0, i16 0, i16 13654, i16 389, i16 390, i16 391, i16 392, i16 12933, i16 15624, i16 0, i16 0, i16 15493, i16 15494, i16 15495, i16 15496, i16 16517, i16 0, i16 12390, i16 0, i16 646, i16 647, i16 648, i16 649, i16 12678, i16 0, i16 0, i16 0, i16 13446, i16 0, i16 0, i16 0, i16 14982, i16 14983, i16 14984, i16 14986, i16 15238, i16 0, i16 14524, i16 0, i16 15750, i16 0, i16 14589, i16 0, i16 16774, i16 12986, i16 15718, i16 0, i16 903, i16 904, i16 905, i16 906, i16 13447, i16 0, i16 0, i16 0, i16 14471, i16 12595, i16 16282, i16 14959, i16 15751, i16 0, i16 14208, i16 0, i16 16263, i16 0, i16 14091, i16 0, i16 16775, i16 15669, i16 0, i16 0, i16 136, i16 348, i16 349, i16 350, i16 12424, i16 12430, i16 12447, i16 12611, i16 12680, i16 0, i16 16168, i16 0, i16 14472, i16 14429, i16 0, i16 0, i16 15240, i16 15283, i16 15323, i16 15359, i16 15752, i16 15337, i16 15932, i16 14724, i16 16264, i16 0, i16 0, i16 0, i16 16520, i16 0, i16 0, i16 0, i16 137, i16 203, i16 0, i16 0, i16 393, i16 394, i16 395, i16 396, i16 12937, i16 15537, i16 0, i16 0, i16 14217, i16 0, i16 0, i16 0, i16 16777, i16 0, i16 0, i16 0, i16 17033, i16 0, i16 15761, i16 0, i16 138, i16 139, i16 0, i16 0, i16 650, i16 651, i16 657, i16 658, i16 12682, i16 0, i16 0, i16 0, i16 12938, i16 0, i16 0, i16 0, i16 14218, i16 0, i16 0, i16 16130, i16 16778, i16 13956, i16 0, i16 0, i16 17034, i16 0, i16 13841, i16 12533, i16 907, i16 908, i16 909, i16 910, i16 12427, i16 0, i16 0, i16 0, i16 13195, i16 0, i16 16922, i16 0, i16 13707, i16 0, i16 0, i16 0, i16 14475, i16 0, i16 0, i16 0, i16 15499, i16 15502, i16 15504, i16 15510, i16 16011, i16 0, i16 0, i16 16509, i16 16779, i16 12836, i16 16582, i16 0, i16 140, i16 141, i16 0, i16 0, i16 652, i16 653, i16 654, i16 655, i16 12684, i16 0, i16 0, i16 0, i16 13452, i16 12433, i16 0, i16 0, i16 13708, i16 0, i16 14987, i16 0, i16 13964, i16 0, i16 15770, i16 16631, i16 14988, i16 14989, i16 14990, i16 14993, i16 15500, i16 0, i16 0, i16 0, i16 15756, i16 17160, i16 0, i16 0, i16 16012, i16 0, i16 0, i16 0, i16 16780, i16 14427, i16 14651, i16 16249, i16 397, i16 398, i16 399, i16 400, i16 14733, i16 15528, i16 0, i16 0, i16 15245, i16 16145, i16 12910, i16 15246, i16 142, i16 143, i16 0, i16 0, i16 12686, i16 0, i16 0, i16 0, i16 16270, i16 15176, i16 16407, i16 0, i16 911, i16 912, i16 913, i16 914, i16 12687, i16 0, i16 0, i16 0, i16 13455, i16 13547, i16 13572, i16 13917, i16 15759, i16 0, i16 0, i16 0, i16 16527, i16 13808, i16 0, i16 12337, i16 144, i16 145, i16 146, i16 147, i16 656, i16 0, i16 0, i16 0, i16 13200, i16 0, i16 0, i16 14170, i16 13456, i16 0, i16 0, i16 0, i16 401, i16 402, i16 403, i16 404, i16 12945, i16 13998, i16 0, i16 0, i16 13457, i16 16256, i16 0, i16 16553, i16 13969, i16 13521, i16 0, i16 0, i16 15505, i16 0, i16 0, i16 0, i16 12434, i16 0, i16 15058, i16 13539, i16 12690, i16 14684, i16 12987, i16 16033, i16 14482, i16 0, i16 0, i16 0, i16 15250, i16 0, i16 0, i16 0, i16 15762, i16 14596, i16 16510, i16 0, i16 16274, i16 13878, i16 0, i16 0, i16 16530, i16 0, i16 0, i16 13211, i16 659, i16 660, i16 661, i16 662, i16 915, i16 916, i16 917, i16 918, i16 13971, i16 0, i16 12440, i16 0, i16 14739, i16 0, i16 0, i16 0, i16 14995, i16 14996, i16 14999, i16 15000, i16 15507, i16 14598, i16 14237, i16 15914, i16 15763, i16 15390, i16 12379, i16 14705, i16 16275, i16 0, i16 0, i16 0, i16 148, i16 149, i16 150, i16 151, i16 13460, i16 0, i16 16753, i16 15034, i16 13716, i16 13717, i16 15801, i16 0, i16 14484, i16 13903, i16 14323, i16 0, i16 15764, i16 0, i16 15835, i16 0, i16 16276, i16 16223, i16 0, i16 0, i16 405, i16 406, i16 407, i16 408, i16 12437, i16 0, i16 0, i16 13759, i16 13461, i16 0, i16 0, i16 0, i16 15253, i16 0, i16 0, i16 0, i16 14486, i16 15451, i16 0, i16 16104, i16 663, i16 664, i16 665, i16 666, i16 919, i16 920, i16 921, i16 922, i16 13207, i16 0, i16 0, i16 15529, i16 13719, i16 12365, i16 16469, i16 15002, i16 14231, i16 12961, i16 0, i16 0, i16 14743, i16 0, i16 0, i16 0, i16 15511, i16 15515, i16 15516, i16 15519, i16 15767, i16 14614, i16 0, i16 13954, i16 152, i16 153, i16 0, i16 199, i16 12952, i16 0, i16 0, i16 0, i16 13208, i16 0, i16 0, i16 0, i16 14232, i16 0, i16 0, i16 0, i16 15256, i16 13725, i16 0, i16 16406, i16 16792, i16 0, i16 12502, i16 0, i16 17048, i16 0, i16 16613, i16 0, i16 409, i16 410, i16 411, i16 412, i16 12697, i16 0, i16 0, i16 0, i16 13465, i16 0, i16 15265, i16 16948, i16 14489, i16 0, i16 12306, i16 0, i16 15001, i16 15003, i16 15009, i16 15014, i16 12442, i16 13226, i16 0, i16 14226, i16 12698, i16 15313, i16 0, i16 17014, i16 15258, i16 0, i16 0, i16 0, i16 16538, i16 13681, i16 16557, i16 0, i16 667, i16 612, i16 613, i16 614, i16 923, i16 924, i16 925, i16 926, i16 12443, i16 16521, i16 0, i16 16894, i16 16539, i16 16116, i16 14202, i16 15247, i16 16795, i16 16796, i16 16864, i16 16991, i16 17052, i16 0, i16 0, i16 0, i16 157, i16 177, i16 0, i16 0, i16 413, i16 414, i16 415, i16 416, i16 669, i16 670, i16 285, i16 687, i16 12957, i16 0, i16 12393, i16 0, i16 13213, i16 0, i16 13510, i16 0, i16 15005, i16 0, i16 0, i16 0, i16 15517, i16 0, i16 0, i16 0, i16 16541, i16 15492, i16 0, i16 0, i16 158, i16 159, i16 0, i16 0, i16 12702, i16 16396, i16 16565, i16 0, i16 13726, i16 0, i16 15904, i16 0, i16 15006, i16 0, i16 0, i16 13595, i16 15518, i16 0, i16 0, i16 0, i16 927, i16 928, i16 929, i16 930, i16 13983, i16 0, i16 0, i16 0, i16 16287, i16 0, i16 0, i16 0, i16 17055, i16 0, i16 0, i16 0, i16 13472, i16 14810, i16 14523, i16 0, i16 15520, i16 15531, i16 15539, i16 15540, i16 16544, i16 0, i16 12913, i16 0, i16 161, i16 205, i16 0, i16 0, i16 417, i16 418, i16 419, i16 420, i16 673, i16 633, i16 634, i16 635, i16 13729, i16 14746, i16 0, i16 15579, i16 14497, i16 0, i16 0, i16 13296, i16 16545, i16 0, i16 0, i16 15030, i16 162, i16 154, i16 868, i16 869, i16 12450, i16 0, i16 0, i16 0, i16 13218, i16 16234, i16 0, i16 0, i16 13474, i16 0, i16 15986, i16 0, i16 931, i16 932, i16 933, i16 934, i16 12963, i16 16061, i16 0, i16 0, i16 13731, i16 14781, i16 15351, i16 0, i16 14243, i16 0, i16 0, i16 0, i16 17059, i16 15542, i16 13128, i16 0, i16 13476, i16 0, i16 0, i16 0, i16 13732, i16 0, i16 0, i16 15733, i16 15524, i16 0, i16 13441, i16 0, i16 16548, i16 16337, i16 0, i16 13756, i16 17060, i16 0, i16 0, i16 0, i16 421, i16 422, i16 423, i16 424, i16 12709, i16 0, i16 0, i16 0, i16 13733, i16 0, i16 0, i16 0, i16 13989, i16 0, i16 0, i16 0, i16 14501, i16 0, i16 0, i16 15771, i16 15013, i16 0, i16 13401, i16 13158, i16 15525, i16 0, i16 0, i16 0, i16 16805, i16 15459, i16 15096, i16 13761, i16 17061, i16 0, i16 14417, i16 0, i16 12966, i16 0, i16 15984, i16 0, i16 13734, i16 0, i16 13803, i16 13637, i16 14246, i16 0, i16 14315, i16 0, i16 16038, i16 0, i16 0, i16 14842, i16 16550, i16 12792, i16 0, i16 0, i16 17062, i16 0, i16 0, i16 15604, i16 167, i16 168, i16 218, i16 381, i16 935, i16 936, i16 937, i16 938, i16 13735, i16 0, i16 13742, i16 13171, i16 14759, i16 16681, i16 0, i16 13892, i16 15271, i16 15272, i16 14418, i16 0, i16 12968, i16 0, i16 14867, i16 0, i16 16040, i16 0, i16 16175, i16 0, i16 16552, i16 16563, i16 16665, i16 16686, i16 425, i16 426, i16 427, i16 428, i16 13225, i16 15942, i16 13512, i16 0, i16 13481, i16 0, i16 0, i16 0, i16 15017, i16 15018, i16 15020, i16 15021, i16 15785, i16 0, i16 0, i16 16662, i16 16297, i16 0, i16 0, i16 0, i16 12714, i16 0, i16 12438, i16 16242, i16 14250, i16 16679, i16 14694, i16 0, i16 15530, i16 15333, i16 0, i16 0, i16 16298, i16 15512, i16 0, i16 13777, i16 16554, i16 0, i16 0, i16 13450, i16 171, i16 0, i16 170, i16 0, i16 683, i16 676, i16 677, i16 678, i16 939, i16 940, i16 941, i16 942, i16 12459, i16 16235, i16 0, i16 0, i16 12715, i16 0, i16 0, i16 0, i16 12971, i16 0, i16 0, i16 0, i16 13227, i16 0, i16 0, i16 0, i16 15787, i16 0, i16 0, i16 0, i16 17067, i16 0, i16 0, i16 0, i16 172, i16 0, i16 0, i16 0, i16 12972, i16 0, i16 0, i16 15139, i16 13228, i16 0, i16 0, i16 0, i16 14508, i16 0, i16 13704, i16 0, i16 16044, i16 0, i16 0, i16 0, i16 16556, i16 0, i16 0, i16 0, i16 429, i16 430, i16 431, i16 432, i16 685, i16 0, i16 0, i16 686, i16 13485, i16 0, i16 0, i16 0, i16 13997, i16 0, i16 0, i16 0, i16 14509, i16 13175, i16 16316, i16 0, i16 15533, i16 0, i16 0, i16 0, i16 15789, i16 17036, i16 0, i16 0, i16 16045, i16 0, i16 16600, i16 0, i16 16301, i16 0, i16 15820, i16 12844, i16 12718, i16 16063, i16 12914, i16 14117, i16 12974, i16 0, i16 16705, i16 0, i16 13230, i16 0, i16 15623, i16 13677, i16 14766, i16 0, i16 0, i16 0, i16 15022, i16 0, i16 13436, i16 0, i16 15278, i16 0, i16 14272, i16 0, i16 16302, i16 14904, i16 16258, i16 16283, i16 16558, i16 16824, i16 0, i16 0, i16 943, i16 944, i16 945, i16 946, i16 14255, i16 16131, i16 0, i16 13355, i16 15791, i16 0, i16 0, i16 0, i16 16815, i16 0, i16 0, i16 0, i16 17071, i16 0, i16 0, i16 0, i16 13488, i16 0, i16 0, i16 0, i16 14768, i16 0, i16 14039, i16 0, i16 15024, i16 15039, i16 15041, i16 15046, i16 433, i16 434, i16 435, i16 436, i16 689, i16 684, i16 0, i16 0, i16 12465, i16 13274, i16 0, i16 13752, i16 12721, i16 16798, i16 14932, i16 0, i16 12977, i16 0, i16 12908, i16 0, i16 14257, i16 14133, i16 0, i16 0, i16 15025, i16 0, i16 0, i16 0, i16 16817, i16 12884, i16 0, i16 0, i16 12466, i16 16789, i16 12563, i16 13222, i16 13234, i16 0, i16 0, i16 0, i16 15794, i16 0, i16 0, i16 0, i16 947, i16 948, i16 949, i16 950, i16 12723, i16 0, i16 0, i16 0, i16 14771, i16 0, i16 13435, i16 0, i16 16051, i16 15890, i16 0, i16 0, i16 16819, i16 12329, i16 0, i16 17001, i16 692, i16 0, i16 0, i16 0, i16 12724, i16 0, i16 13132, i16 0, i16 15796, i16 0, i16 0, i16 0, i16 16308, i16 16502, i16 16504, i16 16536, i16 437, i16 438, i16 439, i16 440, i16 12725, i16 0, i16 0, i16 0, i16 13493, i16 0, i16 0, i16 0, i16 14005, i16 0, i16 0, i16 0, i16 15029, i16 0, i16 0, i16 0, i16 12726, i16 0, i16 15184, i16 0, i16 13238, i16 16154, i16 16911, i16 0, i16 14006, i16 0, i16 0, i16 0, i16 14774, i16 0, i16 0, i16 0, i16 15286, i16 0, i16 0, i16 0, i16 16822, i16 14980, i16 0, i16 0, i16 17078, i16 0, i16 0, i16 0, i16 951, i16 952, i16 953, i16 954, i16 12471, i16 0, i16 0, i16 12778, i16 13751, i16 0, i16 16204, i16 0, i16 14519, i16 0, i16 0, i16 0, i16 14775, i16 0, i16 0, i16 0, i16 15543, i16 15546, i16 15549, i16 15550, i16 12472, i16 16606, i16 14284, i16 0, i16 13240, i16 12549, i16 0, i16 13294, i16 15288, i16 0, i16 0, i16 0, i16 16056, i16 0, i16 0, i16 0, i16 441, i16 442, i16 443, i16 444, i16 12473, i16 0, i16 0, i16 0, i16 14521, i16 14717, i16 14727, i16 14735, i16 15289, i16 12888, i16 0, i16 16378, i16 16313, i16 13827, i16 0, i16 14976, i16 16569, i16 16206, i16 0, i16 0, i16 698, i16 0, i16 0, i16 0, i16 14266, i16 0, i16 0, i16 0, i16 14778, i16 0, i16 0, i16 0, i16 16058, i16 0, i16 0, i16 0, i16 955, i16 956, i16 957, i16 958, i16 14267, i16 0, i16 0, i16 0, i16 12988, i16 0, i16 0, i16 0, i16 14268, i16 0, i16 13468, i16 0, i16 15036, i16 0, i16 0, i16 0, i16 16572, i16 14518, i16 12691, i16 13239, i16 189, i16 188, i16 0, i16 253, i16 445, i16 446, i16 447, i16 448, i16 12477, i16 15331, i16 0, i16 0, i16 13245, i16 0, i16 0, i16 0, i16 13757, i16 0, i16 0, i16 14374, i16 14525, i16 0, i16 13038, i16 0, i16 16317, i16 0, i16 0, i16 0, i16 17085, i16 0, i16 15086, i16 0, i16 15038, i16 0, i16 17064, i16 0, i16 15806, i16 0, i16 0, i16 0, i16 16574, i16 0, i16 0, i16 0, i16 14783, i16 0, i16 0, i16 0, i16 15551, i16 15803, i16 0, i16 16468, i16 704, i16 705, i16 706, i16 707, i16 13248, i16 14745, i16 0, i16 15254, i16 13504, i16 0, i16 0, i16 0, i16 14016, i16 15498, i16 16826, i16 0, i16 15808, i16 0, i16 12581, i16 0, i16 16320, i16 0, i16 0, i16 0, i16 16576, i16 0, i16 0, i16 0, i16 193, i16 192, i16 0, i16 0, i16 449, i16 450, i16 451, i16 452, i16 12481, i16 15674, i16 0, i16 0, i16 12737, i16 0, i16 0, i16 16125, i16 12993, i16 12996, i16 12999, i16 13000, i16 13505, i16 12448, i16 0, i16 16713, i16 15297, i16 15282, i16 16915, i16 0, i16 16321, i16 0, i16 0, i16 0, i16 17089, i16 0, i16 0, i16 0, i16 962, i16 963, i16 964, i16 965, i16 12482, i16 0, i16 0, i16 0, i16 12994, i16 0, i16 0, i16 14948, i16 13250, i16 0, i16 17056, i16 0, i16 15042, i16 0, i16 0, i16 0, i16 16322, i16 0, i16 0, i16 0, i16 195, i16 196, i16 194, i16 197, i16 12483, i16 16508, i16 13428, i16 13090, i16 14019, i16 15663, i16 0, i16 14242, i16 15043, i16 0, i16 15522, i16 0, i16 15299, i16 14752, i16 16138, i16 12614, i16 15811, i16 0, i16 0, i16 0, i16 708, i16 709, i16 710, i16 711, i16 12484, i16 0, i16 13845, i16 0, i16 13508, i16 12695, i16 0, i16 0, i16 453, i16 454, i16 455, i16 456, i16 13253, i16 0, i16 0, i16 0, i16 13765, i16 0, i16 0, i16 12940, i16 14021, i16 0, i16 0, i16 0, i16 14789, i16 0, i16 12336, i16 0, i16 15557, i16 0, i16 0, i16 0, i16 16069, i16 0, i16 14166, i16 0, i16 198, i16 271, i16 274, i16 272, i16 966, i16 967, i16 968, i16 969, i16 12486, i16 15292, i16 0, i16 0, i16 14022, i16 12548, i16 0, i16 0, i16 14534, i16 14770, i16 0, i16 14512, i16 14790, i16 0, i16 0, i16 0, i16 15558, i16 0, i16 0, i16 0, i16 16070, i16 15545, i16 0, i16 0, i16 13255, i16 0, i16 0, i16 0, i16 15047, i16 15051, i16 15053, i16 15055, i16 16071, i16 16132, i16 16153, i16 16237, i16 712, i16 713, i16 714, i16 715, i16 14280, i16 0, i16 15295, i16 0, i16 14536, i16 0, i16 0, i16 0, i16 16072, i16 16419, i16 0, i16 15427, i16 17096, i16 0, i16 0, i16 0, i16 457, i16 458, i16 459, i16 460, i16 12489, i16 0, i16 0, i16 13963, i16 13001, i16 13002, i16 13003, i16 13004, i16 14025, i16 0, i16 0, i16 0, i16 14793, i16 16370, i16 0, i16 0, i16 15049, i16 0, i16 14621, i16 15073, i16 15561, i16 0, i16 0, i16 15636, i16 16585, i16 0, i16 0, i16 16785, i16 970, i16 971, i16 972, i16 973, i16 12490, i16 0, i16 0, i16 0, i16 12746, i16 13990, i16 0, i16 0, i16 14026, i16 0, i16 13980, i16 0, i16 15818, i16 15722, i16 0, i16 14075, i16 17098, i16 0, i16 0, i16 0, i16 14795, i16 0, i16 0, i16 0, i16 15307, i16 0, i16 0, i16 0, i16 15819, i16 0, i16 0, i16 15927, i16 16075, i16 0, i16 0, i16 0, i16 716, i16 717, i16 718, i16 719, i16 14796, i16 0, i16 16022, i16 0, i16 15052, i16 0, i16 13418, i16 12665, i16 16844, i16 0, i16 0, i16 0, i16 461, i16 462, i16 463, i16 464, i16 13261, i16 0, i16 0, i16 0, i16 14541, i16 13220, i16 0, i16 0, i16 15309, i16 0, i16 12712, i16 0, i16 15565, i16 15566, i16 15568, i16 15573, i16 15821, i16 0, i16 16052, i16 0, i16 17101, i16 0, i16 0, i16 0, i16 974, i16 975, i16 976, i16 977, i16 13006, i16 13007, i16 13008, i16 13009, i16 13518, i16 0, i16 0, i16 14415, i16 14542, i16 0, i16 0, i16 0, i16 16078, i16 14393, i16 0, i16 0, i16 207, i16 0, i16 235, i16 0, i16 12495, i16 0, i16 0, i16 16950, i16 13519, i16 0, i16 0, i16 0, i16 15311, i16 0, i16 14830, i16 14282, i16 15567, i16 0, i16 0, i16 16619, i16 15823, i16 0, i16 0, i16 16027, i16 16847, i16 0, i16 0, i16 14496, i16 17103, i16 17115, i16 0, i16 0, i16 208, i16 0, i16 0, i16 209, i16 720, i16 721, i16 722, i16 723, i16 14544, i16 0, i16 0, i16 0, i16 15056, i16 15059, i16 15071, i16 15076, i16 16336, i16 0, i16 0, i16 0, i16 16592, i16 15685, i16 0, i16 0, i16 16848, i16 0, i16 13214, i16 0, i16 17104, i16 14273, i16 14711, i16 0, i16 465, i16 466, i16 467, i16 468, i16 12753, i16 14734, i16 0, i16 16252, i16 14033, i16 0, i16 0, i16 15601, i16 16081, i16 0, i16 0, i16 0, i16 978, i16 979, i16 980, i16 981, i16 13010, i16 13012, i16 13013, i16 13014, i16 15826, i16 16028, i16 12772, i16 0, i16 16594, i16 0, i16 0, i16 0, i16 16850, i16 0, i16 16189, i16 0, i16 17106, i16 0, i16 0, i16 12294, i16 14547, i16 0, i16 0, i16 14190, i16 15315, i16 0, i16 0, i16 0, i16 15827, i16 0, i16 0, i16 12830, i16 724, i16 725, i16 726, i16 727, i16 12500, i16 0, i16 0, i16 16134, i16 13524, i16 0, i16 0, i16 0, i16 13780, i16 13256, i16 0, i16 0, i16 14804, i16 16701, i16 0, i16 0, i16 15060, i16 0, i16 12324, i16 0, i16 15316, i16 0, i16 15341, i16 0, i16 15572, i16 0, i16 0, i16 14646, i16 15828, i16 0, i16 13541, i16 15450, i16 469, i16 470, i16 471, i16 472, i16 12501, i16 0, i16 0, i16 0, i16 12757, i16 0, i16 0, i16 14292, i16 13269, i16 0, i16 0, i16 0, i16 13781, i16 0, i16 0, i16 13202, i16 14293, i16 0, i16 0, i16 14850, i16 982, i16 983, i16 984, i16 985, i16 13526, i16 12773, i16 0, i16 13700, i16 15574, i16 15575, i16 15650, i16 15725, i16 16854, i16 0, i16 15593, i16 14511, i16 13015, i16 13017, i16 13019, i16 13020, i16 14295, i16 0, i16 0, i16 0, i16 16599, i16 13986, i16 0, i16 0, i16 728, i16 729, i16 730, i16 731, i16 12504, i16 0, i16 0, i16 0, i16 13272, i16 13695, i16 17084, i16 13561, i16 14040, i16 16182, i16 16408, i16 0, i16 14296, i16 0, i16 0, i16 0, i16 14552, i16 0, i16 13151, i16 16838, i16 217, i16 215, i16 214, i16 206, i16 473, i16 474, i16 475, i16 0, i16 13529, i16 0, i16 15231, i16 0, i16 16089, i16 0, i16 16543, i16 0, i16 986, i16 987, i16 988, i16 989, i16 12762, i16 0, i16 0, i16 12667, i16 14042, i16 0, i16 14899, i16 0, i16 14298, i16 0, i16 0, i16 0, i16 15322, i16 14491, i16 0, i16 12496, i16 16602, i16 0, i16 0, i16 0, i16 12763, i16 0, i16 0, i16 15467, i16 13275, i16 14301, i16 0, i16 17006, i16 13531, i16 0, i16 14555, i16 0, i16 220, i16 0, i16 0, i16 0, i16 476, i16 477, i16 478, i16 479, i16 732, i16 733, i16 734, i16 735, i16 12764, i16 15934, i16 0, i16 16323, i16 14812, i16 12878, i16 0, i16 15877, i16 15580, i16 14196, i16 16484, i16 15632, i16 221, i16 0, i16 175, i16 222, i16 12509, i16 0, i16 0, i16 0, i16 13533, i16 0, i16 0, i16 0, i16 14557, i16 14233, i16 0, i16 0, i16 14813, i16 0, i16 0, i16 0, i16 15325, i16 0, i16 15780, i16 0, i16 16093, i16 16897, i16 13603, i16 0, i16 16349, i16 0, i16 14054, i16 14713, i16 990, i16 991, i16 992, i16 993, i16 12510, i16 15805, i16 13369, i16 0, i16 12766, i16 0, i16 0, i16 0, i16 13022, i16 13026, i16 13030, i16 13032, i16 13278, i16 14015, i16 13585, i16 0, i16 14046, i16 0, i16 0, i16 0, i16 14814, i16 0, i16 0, i16 0, i16 15582, i16 0, i16 0, i16 16043, i16 16350, i16 0, i16 0, i16 0, i16 223, i16 0, i16 268, i16 128, i16 13279, i16 15703, i16 16122, i16 0, i16 14303, i16 0, i16 0, i16 13160, i16 14815, i16 0, i16 0, i16 14647, i16 15327, i16 15373, i16 0, i16 14127, i16 16351, i16 0, i16 14211, i16 0, i16 480, i16 481, i16 482, i16 483, i16 736, i16 737, i16 738, i16 739, i16 13792, i16 0, i16 0, i16 14426, i16 15072, i16 15398, i16 0, i16 0, i16 12769, i16 0, i16 0, i16 0, i16 13537, i16 0, i16 0, i16 0, i16 14305, i16 0, i16 0, i16 0, i16 15585, i16 16868, i16 0, i16 0, i16 226, i16 229, i16 228, i16 231, i16 994, i16 995, i16 996, i16 997, i16 13282, i16 0, i16 0, i16 0, i16 14306, i16 0, i16 12700, i16 0, i16 14562, i16 15395, i16 0, i16 0, i16 16354, i16 0, i16 14249, i16 0, i16 16610, i16 0, i16 0, i16 13023, i16 12771, i16 0, i16 0, i16 0, i16 14307, i16 0, i16 0, i16 0, i16 15587, i16 17070, i16 0, i16 13673, i16 484, i16 485, i16 0, i16 0, i16 740, i16 741, i16 742, i16 743, i16 13028, i16 15378, i16 15379, i16 13805, i16 16612, i16 0, i16 14204, i16 16080, i16 13285, i16 0, i16 0, i16 0, i16 14053, i16 0, i16 13415, i16 0, i16 15589, i16 0, i16 12505, i16 16542, i16 16869, i16 0, i16 12780, i16 0, i16 17125, i16 16445, i16 0, i16 0, i16 230, i16 867, i16 700, i16 0, i16 486, i16 487, i16 488, i16 489, i16 998, i16 999, i16 1000, i16 1001, i16 12518, i16 0, i16 0, i16 0, i16 12774, i16 0, i16 0, i16 0, i16 13542, i16 0, i16 12967, i16 16522, i16 14310, i16 17148, i16 0, i16 0, i16 14822, i16 0, i16 0, i16 0, i16 15078, i16 15095, i16 15173, i16 15174, i16 16358, i16 0, i16 0, i16 13564, i16 16870, i16 0, i16 0, i16 0, i16 13287, i16 0, i16 12943, i16 14498, i16 14567, i16 0, i16 0, i16 0, i16 15335, i16 0, i16 0, i16 0, i16 17127, i16 15461, i16 13470, i16 0, i16 744, i16 745, i16 746, i16 747, i16 14312, i16 0, i16 0, i16 0, i16 15080, i16 15157, i16 13874, i16 13265, i16 16360, i16 0, i16 0, i16 0, i16 16872, i16 0, i16 0, i16 0, i16 13033, i16 13034, i16 13036, i16 13037, i16 13289, i16 12536, i16 0, i16 16564, i16 13545, i16 0, i16 0, i16 15443, i16 13801, i16 0, i16 13620, i16 0, i16 15081, i16 15804, i16 0, i16 0, i16 15849, i16 0, i16 0, i16 0, i16 16617, i16 0, i16 0, i16 0, i16 16873, i16 14697, i16 0, i16 0, i16 234, i16 0, i16 0, i16 0, i16 490, i16 491, i16 492, i16 493, i16 1002, i16 1003, i16 1004, i16 1005, i16 15338, i16 0, i16 0, i16 0, i16 16362, i16 0, i16 14446, i16 15234, i16 16874, i16 0, i16 0, i16 13025, i16 17130, i16 0, i16 0, i16 0, i16 12523, i16 0, i16 13760, i16 0, i16 14059, i16 14375, i16 0, i16 0, i16 14571, i16 0, i16 12662, i16 0, i16 15339, i16 14340, i16 0, i16 0, i16 15851, i16 0, i16 0, i16 16883, i16 748, i16 749, i16 750, i16 751, i16 14316, i16 0, i16 16739, i16 0, i16 14572, i16 0, i16 16192, i16 14871, i16 14828, i16 0, i16 0, i16 0, i16 15852, i16 12976, i16 15777, i16 0, i16 17132, i16 0, i16 0, i16 0, i16 12525, i16 14854, i16 0, i16 0, i16 14573, i16 14036, i16 0, i16 14037, i16 15085, i16 17109, i16 13852, i16 0, i16 16109, i16 15216, i16 13094, i16 0, i16 238, i16 0, i16 0, i16 179, i16 494, i16 495, i16 0, i16 0, i16 1006, i16 1007, i16 1008, i16 1009, i16 13806, i16 15676, i16 16961, i16 0, i16 16366, i16 15218, i16 0, i16 0, i16 12783, i16 0, i16 15396, i16 0, i16 13551, i16 15458, i16 17151, i16 0, i16 13807, i16 0, i16 0, i16 0, i16 14831, i16 0, i16 0, i16 0, i16 15855, i16 0, i16 14172, i16 0, i16 16367, i16 0, i16 14806, i16 12387, i16 240, i16 0, i16 163, i16 164, i16 752, i16 753, i16 754, i16 755, i16 12528, i16 0, i16 0, i16 12349, i16 13040, i16 0, i16 0, i16 15092, i16 13552, i16 13270, i16 0, i16 0, i16 14576, i16 0, i16 0, i16 0, i16 15600, i16 0, i16 0, i16 13650, i16 16368, i16 0, i16 0, i16 17051, i16 17136, i16 15591, i16 12699, i16 0, i16 13041, i16 13042, i16 13043, i16 13044, i16 13297, i16 0, i16 14164, i16 0, i16 14065, i16 0, i16 0, i16 0, i16 14321, i16 14328, i16 14431, i16 14457, i16 16369, i16 0, i16 16030, i16 16833, i16 16625, i16 0, i16 0, i16 0, i16 242, i16 241, i16 0, i16 0, i16 1010, i16 1011, i16 1012, i16 1013, i16 13554, i16 0, i16 0, i16 16702, i16 14066, i16 0, i16 0, i16 0, i16 14834, i16 14837, i16 14838, i16 14845, i16 499, i16 500, i16 501, i16 502, i16 16115, i16 0, i16 13362, i16 0, i16 16371, i16 14903, i16 15888, i16 0, i16 756, i16 757, i16 0, i16 0, i16 15860, i16 0, i16 0, i16 0, i16 16884, i16 0, i16 0, i16 0, i16 245, i16 248, i16 0, i16 249, i16 12789, i16 14319, i16 0, i16 0, i16 13045, i16 13047, i16 13052, i16 13064, i16 14581, i16 0, i16 16841, i16 0, i16 15093, i16 15181, i16 14721, i16 13061, i16 15605, i16 15130, i16 15715, i16 0, i16 15861, i16 0, i16 0, i16 14946, i16 16373, i16 15027, i16 0, i16 0, i16 16885, i16 0, i16 0, i16 16823, i16 246, i16 247, i16 0, i16 250, i16 758, i16 759, i16 760, i16 761, i16 1014, i16 1015, i16 1016, i16 1017, i16 12790, i16 0, i16 0, i16 0, i16 15350, i16 13930, i16 0, i16 0, i16 15606, i16 0, i16 0, i16 0, i16 16886, i16 16410, i16 15882, i16 17128, i16 17142, i16 16149, i16 0, i16 17135, i16 503, i16 504, i16 505, i16 506, i16 13815, i16 0, i16 0, i16 0, i16 14071, i16 0, i16 0, i16 0, i16 14583, i16 0, i16 0, i16 0, i16 14839, i16 16973, i16 15261, i16 17140, i16 13560, i16 0, i16 17083, i16 0, i16 14072, i16 0, i16 0, i16 0, i16 14584, i16 0, i16 15281, i16 0, i16 15608, i16 0, i16 0, i16 0, i16 15864, i16 16748, i16 0, i16 0, i16 16632, i16 15150, i16 0, i16 0, i16 12537, i16 0, i16 0, i16 14973, i16 12793, i16 14630, i16 15850, i16 0, i16 13049, i16 14043, i16 0, i16 0, i16 13305, i16 13263, i16 0, i16 0, i16 15865, i16 0, i16 0, i16 0, i16 17145, i16 16421, i16 0, i16 13784, i16 762, i16 763, i16 764, i16 765, i16 1018, i16 1019, i16 1020, i16 1021, i16 12538, i16 0, i16 0, i16 12960, i16 13050, i16 15974, i16 0, i16 13523, i16 15610, i16 0, i16 0, i16 0, i16 17146, i16 0, i16 0, i16 0, i16 507, i16 508, i16 509, i16 510, i16 13051, i16 0, i16 0, i16 0, i16 15099, i16 17005, i16 17050, i16 16925, i16 15611, i16 15678, i16 0, i16 0, i16 252, i16 0, i16 0, i16 183, i16 13308, i16 14843, i16 0, i16 0, i16 14332, i16 14758, i16 0, i16 0, i16 14588, i16 0, i16 16420, i16 14528, i16 15612, i16 15795, i16 0, i16 0, i16 13309, i16 0, i16 0, i16 0, i16 15869, i16 13439, i16 0, i16 0, i16 16381, i16 0, i16 0, i16 0, i16 16893, i16 14522, i16 0, i16 0, i16 17149, i16 0, i16 12785, i16 0, i16 254, i16 255, i16 0, i16 0, i16 766, i16 767, i16 768, i16 769, i16 1022, i16 1023, i16 1024, i16 1025, i16 13054, i16 0, i16 0, i16 13994, i16 13566, i16 0, i16 0, i16 0, i16 13822, i16 13259, i16 0, i16 15098, i16 511, i16 512, i16 0, i16 513, i16 12287, i16 0, i16 0, i16 13421, i16 12799, i16 0, i16 0, i16 0, i16 13311, i16 0, i16 0, i16 0, i16 13567, i16 0, i16 14077, i16 0, i16 14335, i16 12521, i16 13217, i16 0, i16 14591, i16 15619, i16 0, i16 0, i16 14847, i16 14848, i16 14856, i16 14866], [6 x i8] c"\0A\03\162\00\04", [24 x i64] [i64 48508, i64 48528, i64 48548, i64 14648, i64 48588, i64 48634, i64 48640, i64 14699, i64 48670, i64 52564, i64 52608, i64 14727, i64 53422, i64 61672, i64 61772, i64 16373, i64 0, i64 0, i64 0, i64 0, i64 68630, i64 69002, i64 69010, i64 44726], [2826 x i8] c"\00\00\01\00\00\00\00\00\00\01\00\08\00\01\01\01e\01\01\02\02\00\01\01\01e\01\02\00\02\00\02\02\02d\02\03\00\12\00\02\03\03c\03\03\02\02\00\02\04\04c\04\04\00\12\00\02\05\05b\03\04\02\02\00\02\06\06b\04\05\00\12\00\02\07\05a\03\05\02\02\00\02\08\06a\04\06\00\12\00\02\09\05`\03\06\02\02\00\02\0A\06`\04\07\00\02\00\03\0B\07_\05\08\00\12\00\02\0C\05^\03\08\02\02\00\02\0D\06^\04\09\00\12\00\02\0E\08]\03\09\02\02\00\02\0F\09]\04\0A\00\12\00\02\10\05\\\03\0A\02\02\00\02\11\06\\\04\0B\00\12\00\02\12\08[\03\0B\02\02\00\02\13\09[\04\0C\00\12\00\02\14\05Z\03\0C\02\02\00\02\15\06Z\04\0D\00\12\00\02\16\05Y\03\0D\02\02\00\02\17\06Y\04\0E\00\12\00\02\18\05X\03\0E\02\02\00\02\19\06X\04\0F\00\12\00\02\1A\05W\03\0F\02\02\00\02\1B\06W\04\10\00\12\00\00\1C\0A\8E\06\10\02\02\00\00\1D\0B\8E\07\11\00\12\00\02\1E\05V\03\11\02\02\00\02\1F\06V\04\12\00\12\00\02 \0CU\03\12\02\02\00\02!\0DU\04\13\00\12\00\02\22\05T\08\13\02\02\00\02#\06T\09\14\00\12\00\02$\05S\08\14\02\02\00\02%\06S\09\15\00\15\00\01&\0ER\0A\15\02\02\00\01&\0FR\0B\16\00\05\00\01'\10Q\0C\16\02\02\00\01(\11Q\0D\17\00\05\00\04)\12P\0E\17\02\02\00\04*\13P\0F\18\00\02\00\02+\14O\10\19\00\02\00\03,\15N\11\1A\00\08\00\05-\16M\12\1A\02\02\00\05.\16M\12\1B\00\0E\00\05/\17L\13\1B\02\02\00\05/\18L\13\1C\00\08\00\050\19\8B\14\1C\02\02\00\051\1A\8B\14\1D\00\0C\00\052\19\8B\14\1D\02\02\00\051\1A\8B\14\1E\00\0E\00\063\1B\8C\15\1E\02\02\00\074\1C\8C\15\1F\00\0B\00\025\1DK\16\1F\02\02\00\026\1DK\16 \00\08\00\017\1E\8A\17 \02\02\00\017\1F\8A\17!\00\08\00\058 J\18!\02\02\00\059!J\18\22\00\0C\00\05: J\18\22\02\02\00\059!J\18#\00\08\00\01;\22I\18#\02\02\00\01<#I\18$\00\0C\00\01=\22I\18$\02\02\00\01<#I\18%\00\08\00\08>$H\18%\02\02\00\08>%H\18&\00\08\00\01?$G\18&\02\02\00\01@%G\18'\00\0C\00\01A$G\18'\02\02\00\01@%G\18(\00\08\00\01;\22F\18(\02\02\00\01<#F\18)\00\0C\00\01=\22F\18)\02\02\00\01<#F\18*\00\13\00\09B&E\19*\02\02\00\09C'E\1A+\00\08\00\02D(D\02+\02\02\00\02D(D\02,\00\08\00\02E)C\1B,\02\02\00\02E)C\1B-\00\08\00\02F*\89\1C-\02\02\00\02F*\89\1C.\00\08\00\01G+B\1D.\02\02\00\01H+B\1D/\00\08\00\025)A\02/\02\02\00\026)A\020\00\08\00\02I,@\1E0\02\02\00\02I,@\1E1\00\08\00\02J)?\021\02\02\00\02K)?\022\00\0C\00\02L)?\022\02\02\00\02K)?\023\00\02\00\03\0B->\1E4\00\08\00\02M)=\024\02\02\00\02M)=\025\00\08\00\02N.<\1E5\02\02\00\02N.<\1E6\00\08\00\02O/;\1E6\02\02\00\02O/;\1E7\00\08\00\02P0:\027\02\02\00\02P0:\028\00\08\00\02Q)9\1B8\02\02\00\02Q)9\1B9\00\08\00\02R)8\1B9\02\02\00\02R)8\1B:\02\02\00\05S17\1F;\00\08\00\01T2\88 ;\02\02\00\01T3\88 <\00\08\00\05U2\87 <\02\02\00\05U3\87 =\00\08\00\05V2\86 =\02\02\00\05V3\86 >\00\08\00\05W2\85 >\02\02\00\05W3\85 ?\00\08\00\00X2\84 ?\02\02\00\00X3\84 @\00\08\00\00Y2\83 @\02\02\00\00Y3\83 A\00\08\00\05Z2\82 A\02\02\00\05Z3\82 B\00\08\00\05[2\81 B\02\02\00\05\\3\81 C\00\0C\00\05]2\81 C\02\02\00\05\\3\81 D\00\08\00\00^2\80 D\02\02\00\00^3\80 E\00\08\00\00_2\7F E\02\02\00\00_3\7F F\00\08\00\00`2~ F\02\02\00\00`3~ G\00\08\00\00a2} G\02\02\00\00a3} H\00\08\00\00b2| H\02\02\00\00b3| I\00\08\00\00c2{ I\02\02\00\00c3{ J\00\08\00\00d2z J\02\02\00\00d3z K\00\08\00\05e2y K\02\02\00\05e3y L\00\08\00\00f2x L\02\02\00\00g3x M\00\08\00\02P2w M\02\02\00\02P3w N\00\08\00\05h2v N\02\02\00\05h3v O\00\08\00\05i2u O\02\02\00\05i3u P\00\08\00\06j4t!P\02\02\00\07k5t!Q\00\08\00\05l66\22Q\02\02\00\05m66\22R\00\0C\00\05n66\22R\02\02\00\05m66\22S\02\02\01\0Ao75#S\00\02\01\0Ao75#T\00\08\00\01p8s$T\02\02\00\01q9s$U\00\0C\00\01r8s$U\02\02\00\01q9s$V\00\08\00\017:r%V\02\02\00\017;r%W\00\08\00\09?<4&W\02\02\00\09@=4&X\00\0C\00\09A<4&X\02\02\00\09@=4&Y\00\08\00\0Bs>q'Y\02\02\00\0Bs?q'Z\00\08\00\05>@3(Z\02\02\00\05>A3([\00\08\00\05-B2'[\02\02\00\05.C2'\\\00\0C\00\05tB2'\\\02\02\00\05.C2']\00\08\00\05-B1']\02\02\00\05.C1'^\00\0C\00\05tB1'^\02\02\00\05.C1'_\00\08\00\02JD0)_\02\02\00\02KE0)`\00\0C\00\02LD0)`\02\02\00\02KE0)a\00\0C\00\025F/\1Ba\02\02\00\026G/\1Bb\00\08\00\05lHp b\02\02\00\05mIp c\00\0C\00\05nHp c\02\02\00\05mIp d\00\08\00\025J.\1Bd\02\02\00\026J.\1Be\00\14\00\02uK-*e\02\02\00\02vL-+f\02\02\00\02wM,\02f\00\02\00\02wM,\02g\00\0E\00\05xNo,g\02\02\00\05xOo,h\00\0E\00\01yP+-h\02\02\00\01yQ+-i\00\03\00\02zR*.i\02\02\00\02{S*\10j\00\08\00\01|T)/j\02\02\00\01|T)/k\00\08\00\01}Un\18k\02\02\00\01}Vn\18l\00\08\00\0C>W(0l\02\02\00\0C>X(0m\00\08\00\05lY' m\02\02\00\05mZ' n\00\0C\00\05nY' n\02\02\00\05mZ' o\00\14\00\02uK&*o\02\02\00\02vL&+p\02\02\00\02~[\901q\00\07\00\01\7F\\%2q\02\02\00\01\80]%3r\00\08\00\017^m4r\02\02\00\017^m4s\02\02\00\02\81_\915t\00\08\00\025`$6t\02\02\00\026`$6u\00\0A\00\01\82al7u\02\02\00\01\82bl7v\00\0A\00\06\83ck%v\02\02\00\07\84dk%w\00\0A\00\02Me#8w\02\02\00\02Mf#9x\00\11\00\0D\85g\22:x\02\02\00\0D\86h\22;y\02\02\00\02\87i!\82\02\02\00\05.s\1B>\83\00\0E\00\05\90ti?\83\02\02\00\05\91ui?\84\00\08\00\05\92v\1A@\84\02\02\00\05\92w\1A@\85\00\08\00\05\93x\19@\85\02\02\00\05\94y\19@\86\00\0C\00\05\95x\19@\86\02\02\00\05\94y\19@\87\00\0E\00\05\96z\18A\87\02\02\00\05\96{\18A\88\16\16\00\01\97|\17B\88\00\11\00\01\98}\17C\88\02\02\00\01\99~\17\0D\89\00\18\00\01\9A\7F\16D\89\02\02\00\01\9B\80\16E\8A\00\02\00\01\9C\81\15F\8B\00\0E\00\06\9D\82\8DG\8B\02\02\00\07\9E\83\8DH\8C\00\0E\00\0B\9F\84hI\8C\02\02\00\0B\9F\85hI\8D\00\08\00\01\A0\86\14\02\8D\02\02\00\01\A0\87\14\02\8E\00\0E\00\05\A1\88\13J\8E\02\02\00\05\A1\89\13J\8F\00\11\00\05\A2\8A\13K\8F\02\02\00\05\A3\8B\13E\90\00\08\00\01p\8Cg\18\90\02\02\00\01q\8Dg\18\91\00\0C\00\01r\8Cg\18\91\02\02\00\01q\8Dg\18\92\00\08\00\0D\A4\8C\12\18\92\02\02\00\0D\A4\8D\12\18\93\00\02\00\03\0B\8E\11L\94\00\02\00\0E\A5\8F\10M\95\00\17\00\01\97|\0FN\95\02\02\00\01\99~\0FO\96\00\19\00\02\A6\90\8FP\96\02\02\00\02\A7\91\8FQ\97\00\02\00\02\A8\92\0E\02\98\00\02\00\02\02\93\0D\02\99\00\08\00\02\A9\94\0C\02\99\02\02\00\02\A9\94\0C\02\9A\00\15\00\00\AA\95fR\9A\02\02\00\00\AA\96fS\9B\02\02\00\01\99\97\0BT\9C\00\18\00\01\9A\98\0AU\9C\02\02\00\01\9B\99\0AV\9D\00\02\00\02\AB\9A\09W\9E\00\08\00\02\AC\9B\08X\9E\02\02\00\02\AC\9B\08X\9F\02\02\00\01\AD\9C\07\02\9F\00\02\00\01\AD\9C\07\02\A0\00\08\00\09?\9D\06Y\A0\02\02\00\09@\9E\06Y\A1\00\0C\00\09A\9D\06Y\A2\00\06\00\02\AE\9F\05Z\A2\02\02\00\02\AE\A0\05[\A3\02\02\00\02\AF\A1\04\\\A4\02\02\00\02I\A2\03\\\A5\00\02\00\02O\A3\02\1E\A6\02\02\00\02\B0\A4\01\\", [835 x i8] c"af_ZAam_ETar_AEar_BHar_DZar_EGar_INar_IQar_JOar_KWar_LBar_LYar_MAar_OMar_QAar_SAar_SDar_SYar_TNar_YEaz_AZbe_BYbg_BGbn_BDbn_INbr_FRbs_BAca_EScaeEScs_CZcy_GBda_DKde_ATdeeATde_BEdeeBEde_CHde_DEdeeDEde_LUdeeLUel_GRen_AUen_BWen_CAen_DKen_GBen_HKen_IEeneIEen_INen_NZen_PHen_SGen_USen_ZAen_ZWeo_EOes_ARes_BOes_CLes_COes_CRes_DOes_ECes_ESeseESes_GTes_HNes_MXes_NIes_PAes_PEes_PRes_PYes_SVes_USes_UYes_VEet_EEeu_ESeueESfa_IRfi_FIfieFIfo_FOfr_BEfreBEfr_CAfr_CHfr_FRfreFRfr_LUfreLUga_IEgaeIEgd_GBgl_ESgleESgv_GBhe_ILhi_INhr_HRhu_HUhy_AMid_IDis_ISit_CHit_ITiteITiw_ILja_JPka_GEkl_GLko_KRkw_GBlt_LTlv_LVmi_NZmk_MKmr_INms_MYmt_MTnl_BEnleBEnl_NLnleNLnn_NOno_NOoc_FRpl_PLpt_BRpt_PTptePTro_ROru_RUru_UAse_NOsk_SKsl_SIsq_ALsr_YUsrcYUsv_FIsveFIsv_SEta_INte_INtg_TJth_THti_ERti_ETtl_PHtr_TRtt_RUuk_UAur_PKuz_UZvi_VNwa_BEwaeBEyi_USzh_CNzh_HKzh_SGzh_TW\00\00\00\00\00", [18 x i8] c"\05eeuro\00\09ccyrillic\00", [69 x i8] c"\06\0F\1A&.9LC_CTYPE\00LC_NUMERIC\00LC_MONETARY\00LC_TIME\00LC_COLLATE\00LC_MESSAGES\00", [255 x i8] c"\18\22(/6BMYeq}\89\94\9F\AA\B5\C0\CB\D6\E1\E8\EF\F6\00ARMSCII-8\00ASCII\00CP1251\00CP1255\00GEORGIAN-PS\00ISO-8859-1\00ISO-8859-10\00ISO-8859-13\00ISO-8859-14\00ISO-8859-15\00ISO-8859-16\00ISO-8859-2\00ISO-8859-3\00ISO-8859-4\00ISO-8859-5\00ISO-8859-6\00ISO-8859-7\00ISO-8859-8\00ISO-8859-9\00KOI8-R\00KOI8-T\00KOI8-U\00TIS-620\00\00" }, align 8 +@__C_ctype_b_data = constant <{ [256 x i16], [128 x i16] }> <{ [256 x i16] [i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 8195, i16 8194, i16 8194, i16 8194, i16 8194, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 24577, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -11000, i16 -11000, i16 -11000, i16 -11000, i16 -11000, i16 -11000, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -10744, i16 -10744, i16 -10744, i16 -10744, i16 -10744, i16 -10744, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 2], [128 x i16] zeroinitializer }>, align 16 +@__C_ctype_b = global i16* bitcast (i8* getelementptr (i8, i8* bitcast (<{ [256 x i16], [128 x i16] }>* @__C_ctype_b_data to i8*), i64 256) to i16*), align 8 +@__C_ctype_tolower_data = constant [384 x i16] [i16 -128, i16 -127, i16 -126, i16 -125, i16 -124, i16 -123, i16 -122, i16 -121, i16 -120, i16 -119, i16 -118, i16 -117, i16 -116, i16 -115, i16 -114, i16 -113, i16 -112, i16 -111, i16 -110, i16 -109, i16 -108, i16 -107, i16 -106, i16 -105, i16 -104, i16 -103, i16 -102, i16 -101, i16 -100, i16 -99, i16 -98, i16 -97, i16 -96, i16 -95, i16 -94, i16 -93, i16 -92, i16 -91, i16 -90, i16 -89, i16 -88, i16 -87, i16 -86, i16 -85, i16 -84, i16 -83, i16 -82, i16 -81, i16 -80, i16 -79, i16 -78, i16 -77, i16 -76, i16 -75, i16 -74, i16 -73, i16 -72, i16 -71, i16 -70, i16 -69, i16 -68, i16 -67, i16 -66, i16 -65, i16 -64, i16 -63, i16 -62, i16 -61, i16 -60, i16 -59, i16 -58, i16 -57, i16 -56, i16 -55, i16 -54, i16 -53, i16 -52, i16 -51, i16 -50, i16 -49, i16 -48, i16 -47, i16 -46, i16 -45, i16 -44, i16 -43, i16 -42, i16 -41, i16 -40, i16 -39, i16 -38, i16 -37, i16 -36, i16 -35, i16 -34, i16 -33, i16 -32, i16 -31, i16 -30, i16 -29, i16 -28, i16 -27, i16 -26, i16 -25, i16 -24, i16 -23, i16 -22, i16 -21, i16 -20, i16 -19, i16 -18, i16 -17, i16 -16, i16 -15, i16 -14, i16 -13, i16 -12, i16 -11, i16 -10, i16 -9, i16 -8, i16 -7, i16 -6, i16 -5, i16 -4, i16 -3, i16 -2, i16 -1, i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255], align 16 +@__C_ctype_tolower = global i16* bitcast (i8* getelementptr (i8, i8* bitcast ([384 x i16]* @__C_ctype_tolower_data to i8*), i64 256) to i16*), align 8 +@__C_ctype_toupper_data = constant [384 x i16] [i16 -128, i16 -127, i16 -126, i16 -125, i16 -124, i16 -123, i16 -122, i16 -121, i16 -120, i16 -119, i16 -118, i16 -117, i16 -116, i16 -115, i16 -114, i16 -113, i16 -112, i16 -111, i16 -110, i16 -109, i16 -108, i16 -107, i16 -106, i16 -105, i16 -104, i16 -103, i16 -102, i16 -101, i16 -100, i16 -99, i16 -98, i16 -97, i16 -96, i16 -95, i16 -94, i16 -93, i16 -92, i16 -91, i16 -90, i16 -89, i16 -88, i16 -87, i16 -86, i16 -85, i16 -84, i16 -83, i16 -82, i16 -81, i16 -80, i16 -79, i16 -78, i16 -77, i16 -76, i16 -75, i16 -74, i16 -73, i16 -72, i16 -71, i16 -70, i16 -69, i16 -68, i16 -67, i16 -66, i16 -65, i16 -64, i16 -63, i16 -62, i16 -61, i16 -60, i16 -59, i16 -58, i16 -57, i16 -56, i16 -55, i16 -54, i16 -53, i16 -52, i16 -51, i16 -50, i16 -49, i16 -48, i16 -47, i16 -46, i16 -45, i16 -44, i16 -43, i16 -42, i16 -41, i16 -40, i16 -39, i16 -38, i16 -37, i16 -36, i16 -35, i16 -34, i16 -33, i16 -32, i16 -31, i16 -30, i16 -29, i16 -28, i16 -27, i16 -26, i16 -25, i16 -24, i16 -23, i16 -22, i16 -21, i16 -20, i16 -19, i16 -18, i16 -17, i16 -16, i16 -15, i16 -14, i16 -13, i16 -12, i16 -11, i16 -10, i16 -9, i16 -8, i16 -7, i16 -6, i16 -5, i16 -4, i16 -3, i16 -2, i16 -1, i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255], align 16 +@__C_ctype_toupper = global i16* bitcast (i8* getelementptr (i8, i8* bitcast ([384 x i16]* @__C_ctype_toupper_data to i8*), i64 256) to i16*), align 8 +@errno = global i32 0, align 4 +@h_errno = global i32 0, align 4 +@.str.215 = private unnamed_addr constant [17 x i8] c"ignoring (EPERM)\00", align 1 +@.str.7.217 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.1.218 = private unnamed_addr constant [9 x i8] c"ignoring\00", align 1 +@.str.2.219 = private unnamed_addr constant [82 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/illegal.c\00", align 1 +@.str.3.220 = private unnamed_addr constant [20 x i8] c"longjmp unsupported\00", align 1 +@.str.4.221 = private unnamed_addr constant [8 x i8] c"xxx.err\00", align 1 +@.str.5.223 = private unnamed_addr constant [18 x i8] c"ignoring (EACCES)\00", align 1 +@.str.6.224 = private unnamed_addr constant [18 x i8] c"ignoring (ENOMEM)\00", align 1 +@error_message_count = global i32 0, align 4 +@error_one_per_line = global i32 0, align 4 +@.str.227 = private unnamed_addr constant [5 x i8] c": %s\00", align 1 +@__error_at_line.old_line_number = internal global i32 0, align 4 +@__error_at_line.old_file_name = internal global i8* null, align 8 +@.str.1.228 = private unnamed_addr constant [8 x i8] c"%s:%d: \00", align 1 +@hr_locale = internal global [448 x i8] zeroinitializer, align 16 +@utf8.235 = internal constant [6 x i8] c"UTF-8\00", align 1 +@static_fd = internal global i32 -1, align 4 +@static_ut_name = internal global i8* getelementptr inbounds ([14 x i8], [14 x i8]* @default_file_name, i32 0, i32 0), align 8 +@default_file_name = internal constant [14 x i8] c"/var/run/utmp\00", align 1 +@static_utmp = internal global %struct.utmp.325 zeroinitializer, align 8 +@mbrtowc.mbstate = internal global %struct.__mbstate_t.514 zeroinitializer, align 4 +@__dso_handle = extern_weak global i8*, align 8 +@optind = global i32 1, align 4 +@opterr = global i32 1, align 4 +@optopt = global i32 63, align 4 +@optarg = global i8* null, align 8 +@getopt_data = internal global %struct._getopt_data zeroinitializer, align 8 +@.str.298 = private unnamed_addr constant [3 x i8] c"--\00", align 1 +@.str.1.299 = private unnamed_addr constant [30 x i8] c"%s: option `%s' is ambiguous\0A\00", align 1 +@.str.2.300 = private unnamed_addr constant [45 x i8] c"%s: option `--%s' doesn't allow an argument\0A\00", align 1 +@.str.3.301 = private unnamed_addr constant [45 x i8] c"%s: option `%c%s' doesn't allow an argument\0A\00", align 1 +@.str.4.302 = private unnamed_addr constant [38 x i8] c"%s: option `%s' requires an argument\0A\00", align 1 +@.str.5.303 = private unnamed_addr constant [32 x i8] c"%s: unrecognized option `--%s'\0A\00", align 1 +@.str.6.304 = private unnamed_addr constant [32 x i8] c"%s: unrecognized option `%c%s'\0A\00", align 1 +@.str.7.305 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@.str.8.306 = private unnamed_addr constant [26 x i8] c"%s: illegal option -- %c\0A\00", align 1 +@.str.9.307 = private unnamed_addr constant [26 x i8] c"%s: invalid option -- %c\0A\00", align 1 +@.str.10.308 = private unnamed_addr constant [39 x i8] c"%s: option requires an argument -- %c\0A\00", align 1 +@.str.11.309 = private unnamed_addr constant [16 x i8] c"POSIXLY_CORRECT\00", align 1 +@.str.316 = private unnamed_addr constant [14 x i8] c"#\80\80\80\80\80\80\80\80\80\80\80\80\00", align 1 +@newlocale.envstr = internal global [4 x i8*] [i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.320, i32 0, i32 0), i8* null, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.2.321, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @posix, i32 0, i32 0)], align 16 +@.str.3.317 = private unnamed_addr constant [2 x i8] c"=\00", align 1 +@.str.4.318 = private unnamed_addr constant [2 x i8] c";\00", align 1 +@posix = internal constant [6 x i8] c"POSIX\00", align 1 +@utf8.319 = internal constant [6 x i8] c"UTF-8\00", align 1 +@.str.1.320 = private unnamed_addr constant [7 x i8] c"LC_ALL\00", align 1 +@.str.2.321 = private unnamed_addr constant [5 x i8] c"LANG\00", align 1 +@empty = internal constant [1 x i8] zeroinitializer, align 1 +@mbsnrtowcs.mbstate = internal global %struct.__mbstate_t.514 zeroinitializer, align 4 +@_do_one_spec.spec_base = internal constant [7 x i8] c"\10\10\10\08\0A\0A\0A", align 1 +@.str.336 = private unnamed_addr constant [6 x i8] c"(nil)\00", align 1 +@.str.1.337 = private unnamed_addr constant [7 x i8] c"(null)\00", align 1 +@_do_one_spec.prefix = internal constant [12 x i8] c"+\00-\00 \000x\000X\00", align 1 +@strerror.buf = internal global [50 x i8] zeroinitializer, align 16 +@desc2flag = internal constant [13 x i16] [i16 0, i16 2048, i16 4, i16 256, i16 512, i16 8, i16 128, i16 2, i16 64, i16 1024, i16 32, i16 1, i16 16], align 16 +@fmt = internal constant [20 x i8] c"inf\00INF\00nan\00NAN\00.\00,\00", align 16 +@exp10_table = internal constant [9 x double] [double 1.000000e+01, double 1.000000e+02, double 1.000000e+04, double 1.000000e+08, double 1.000000e+16, double 1.000000e+32, double 1.000000e+64, double 1.000000e+128, double 1.000000e+256], align 16 +@_ppfs_init.invalid_mbs = internal constant [33 x i8] c"Invalid multibyte format string.\00", align 16 +@_ppfs_parsespec.spec_flags = internal constant [8 x i8] c" +0-#'I\00", align 1 +@_ppfs_parsespec.qual_chars = internal constant [20 x i8] c"hlLjztqZ\00\02\04\08\04\04\04\08\04\00\01\08", align 16 +@_ppfs_parsespec.spec_chars = internal constant [21 x i8] c"npxXoudifFeEgGaACScs\00", align 16 +@_ppfs_parsespec.spec_ranges = internal constant [9 x i8] c"\00\01\07\0F\10\11\12\13\14", align 1 +@_ppfs_parsespec.spec_or_mask = internal constant [8 x i16] [i16 4096, i16 5, i16 0, i16 7, i16 2, i16 4, i16 1, i16 3], align 16 +@_ppfs_parsespec.spec_and_mask = internal constant [8 x i16] [i16 7936, i16 5, i16 3840, i16 2055, i16 2, i16 4, i16 1, i16 3], align 16 +@type_codes = internal constant [12 x i16] [i16 8, i16 5, i16 3, i16 4, i16 1, i16 512, i16 0, i16 1024, i16 2048, i16 2, i16 7, i16 2055], align 16 +@type_sizes = internal constant [12 x i8] c"\00\01\01\01\04\02\01\01\01\01\01\01", align 1 +@__exit_count = hidden global i32 0, align 4 +@__exit_function_table = hidden global %struct.exit_function* null, align 8 +@__exit_slots = hidden global i32 0, align 4 +@__xpg_strerror_r.unknown = internal constant [14 x i8] c"Unknown error ", align 1 +@mbsrtowcs.mbstate = internal global %struct.__mbstate_t.514 zeroinitializer, align 4 +@_string_syserrmsgs = hidden constant [2906 x i8] c"Success\00Operation not permitted\00No such file or directory\00No such process\00Interrupted system call\00Input/output error\00No such device or address\00Argument list too long\00Exec format error\00Bad file descriptor\00No child processes\00Resource temporarily unavailable\00Cannot allocate memory\00Permission denied\00Bad address\00Block device required\00Device or resource busy\00File exists\00Invalid cross-device link\00No such device\00Not a directory\00Is a directory\00Invalid argument\00Too many open files in system\00Too many open files\00Inappropriate ioctl for device\00Text file busy\00File too large\00No space left on device\00Illegal seek\00Read-only file system\00Too many links\00Broken pipe\00Numerical argument out of domain\00Numerical result out of range\00Resource deadlock avoided\00File name too long\00No locks available\00Function not implemented\00Directory not empty\00Too many levels of symbolic links\00\00No message of desired type\00Identifier removed\00Channel number out of range\00Level 2 not synchronized\00Level 3 halted\00Level 3 reset\00Link number out of range\00Protocol driver not attached\00No CSI structure available\00Level 2 halted\00Invalid exchange\00Invalid request descriptor\00Exchange full\00No anode\00Invalid request code\00Invalid slot\00\00Bad font file format\00Device not a stream\00No data available\00Timer expired\00Out of streams resources\00Machine is not on the network\00Package not installed\00Object is remote\00Link has been severed\00Advertise error\00Srmount error\00Communication error on send\00Protocol error\00Multihop attempted\00RFS specific error\00Bad message\00Value too large for defined data type\00Name not unique on network\00File descriptor in bad state\00Remote address changed\00Can not access a needed shared library\00Accessing a corrupted shared library\00.lib section in a.out corrupted\00Attempting to link in too many shared libraries\00Cannot exec a shared library directly\00Invalid or incomplete multibyte or wide character\00Interrupted system call should be restarted\00Streams pipe error\00Too many users\00Socket operation on non-socket\00Destination address required\00Message too long\00Protocol wrong type for socket\00Protocol not available\00Protocol not supported\00Socket type not supported\00Operation not supported\00Protocol family not supported\00Address family not supported by protocol\00Address already in use\00Cannot assign requested address\00Network is down\00Network is unreachable\00Network dropped connection on reset\00Software caused connection abort\00Connection reset by peer\00No buffer space available\00Transport endpoint is already connected\00Transport endpoint is not connected\00Cannot send after transport endpoint shutdown\00Too many references: cannot splice\00Connection timed out\00Connection refused\00Host is down\00No route to host\00Operation already in progress\00Operation now in progress\00Stale NFS file handle\00Structure needs cleaning\00Not a XENIX named type file\00No XENIX semaphores available\00Is a named type file\00Remote I/O error\00Disk quota exceeded\00No medium found\00Wrong medium type\00", align 16 + +@__progname = weak alias i8*, i8** @program_invocation_short_name +@__progname_full = weak alias i8*, i8** @program_invocation_name +@environ = weak alias i8**, i8*** @__environ +@__getdents = dso_local alias i64 (i32, %struct.dirent64*, i64), i64 (i32, %struct.dirent64*, i64)* @getdents +@getchar = alias i32 (), i32 ()* @getchar_unlocked +@raise = weak alias i32 (i32), i32 (i32)* @__raise +@fgetc_unlocked = alias i32 (%struct.__STDIO_FILE_STRUCT.570*), i32 (%struct.__STDIO_FILE_STRUCT.570*)* @__fgetc_unlocked +@getc_unlocked = alias i32 (%struct.__STDIO_FILE_STRUCT.570*), i32 (%struct.__STDIO_FILE_STRUCT.570*)* @__fgetc_unlocked +@fgetc = alias i32 (%struct.__STDIO_FILE_STRUCT.570*), i32 (%struct.__STDIO_FILE_STRUCT.570*)* @__fgetc_unlocked +@getc = alias i32 (%struct.__STDIO_FILE_STRUCT.570*), i32 (%struct.__STDIO_FILE_STRUCT.570*)* @__fgetc_unlocked +@__getdents64 = dso_local alias i64 (i32, i8*, i64), i64 (i32, i8*, i64)* @getdents64 +@error = weak alias void (i32, i32, i8*, ...), void (i32, i32, i8*, ...)* @__error +@error_at_line = weak alias void (i32, i32, i8*, i32, i8*, ...), void (i32, i32, i8*, i32, i8*, ...)* @__error_at_line +@ferror = alias i32 (%struct.__STDIO_FILE_STRUCT.594*), i32 (%struct.__STDIO_FILE_STRUCT.594*)* @ferror_unlocked +@fflush = alias i32 (%struct.__STDIO_FILE_STRUCT.570*), i32 (%struct.__STDIO_FILE_STRUCT.570*)* @fflush_unlocked +@fileno = alias i32 (%struct.__STDIO_FILE_STRUCT.610*), i32 (%struct.__STDIO_FILE_STRUCT.610*)* @fileno_unlocked +@fputc_unlocked = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.570*), i32 (i32, %struct.__STDIO_FILE_STRUCT.570*)* @__fputc_unlocked +@putc_unlocked = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.570*), i32 (i32, %struct.__STDIO_FILE_STRUCT.570*)* @__fputc_unlocked +@fputc = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.570*), i32 (i32, %struct.__STDIO_FILE_STRUCT.570*)* @__fputc_unlocked +@putc = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.570*), i32 (i32, %struct.__STDIO_FILE_STRUCT.570*)* @__fputc_unlocked +@fputs = alias i32 (i8*, %struct.__STDIO_FILE_STRUCT.623*), i32 (i8*, %struct.__STDIO_FILE_STRUCT.623*)* @fputs_unlocked +@fseeko = alias i32 (%struct.__STDIO_FILE_STRUCT.638*, i64, i32), i32 (%struct.__STDIO_FILE_STRUCT.638*, i64, i32)* @fseek +@fwrite = alias i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.623*), i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.623*)* @fwrite_unlocked +@strerror_r = weak alias i32 (i32, i8*, i64), i32 (i32, i8*, i64)* @__xpg_strerror_r + +; Function Attrs: noinline nounwind uwtable +define void @__uClibc_init() #0 { +entry: + %0 = load i32, i32* @__uClibc_init.been_there_done_that, align 4 + %tobool = icmp ne i32 %0, 0 + br i1 %tobool, label %if.end4, label %if.end + +if.end: ; preds = %entry + %1 = load i32, i32* @__uClibc_init.been_there_done_that, align 4 + %inc = add nsw i32 %1, 1 + store i32 %inc, i32* @__uClibc_init.been_there_done_that, align 4 + store i64 4096, i64* @__pagesize, align 8 + call void @_locale_init() #18 + call void @_stdio_init() #18 + br label %if.end4 + +if.end4: ; preds = %entry, %if.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define void @__uClibc_fini() #0 { +entry: + %0 = load void ()*, void ()** @__app_fini, align 8 + %cmp = icmp ne void ()* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load void ()*, void ()** @__app_fini, align 8 + call void %1() #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %2 = load void ()*, void ()** @__rtld_fini, align 8 + %cmp1 = icmp ne void ()* %2, null + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + %3 = load void ()*, void ()** @__rtld_fini, align 8 + call void %3() #18 + br label %if.end3 + +if.end3: ; preds = %if.then2, %if.end + ret void +} + +; Function Attrs: noinline noreturn nounwind uwtable +define void @__uClibc_main(i32 (i32, i8**, i8**)* %main, i32 %argc, i8** %argv, void ()* %app_init, void ()* %app_fini, void ()* %rtld_fini, i8* %stack_end) #1 { +entry: + %main.addr = alloca i32 (i32, i8**, i8**)*, align 8 + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %app_init.addr = alloca void ()*, align 8 + %app_fini.addr = alloca void ()*, align 8 + %rtld_fini.addr = alloca void ()*, align 8 + %stack_end.addr = alloca i8*, align 8 + %aux_dat = alloca i64*, align 8 + %auxvt = alloca [15 x %struct.Elf64_auxv_t], align 16 + %auxv_entry = alloca %struct.Elf64_auxv_t*, align 8 + store i32 (i32, i8**, i8**)* %main, i32 (i32, i8**, i8**)** %main.addr, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store void ()* %app_init, void ()** %app_init.addr, align 8 + store void ()* %app_fini, void ()** %app_fini.addr, align 8 + store void ()* %rtld_fini, void ()** %rtld_fini.addr, align 8 + store i8* %stack_end, i8** %stack_end.addr, align 8 + %0 = load i8*, i8** %stack_end.addr, align 8 + store i8* %0, i8** @__libc_stack_end, align 8 + %1 = load void ()*, void ()** %rtld_fini.addr, align 8 + store void ()* %1, void ()** @__rtld_fini, align 8 + %2 = load i8**, i8*** %argv.addr, align 8 + %3 = load i32, i32* %argc.addr, align 4 + %add = add nsw i32 %3, 1 + %idxprom = sext i32 %add to i64 + %arrayidx = getelementptr inbounds i8*, i8** %2, i64 %idxprom + store i8** %arrayidx, i8*** @__environ, align 8 + %4 = load i8**, i8*** @__environ, align 8 + %5 = bitcast i8** %4 to i8* + %6 = load i8**, i8*** %argv.addr, align 8 + %7 = load i8*, i8** %6, align 8 + %cmp = icmp eq i8* %5, %7 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %8 = load i8**, i8*** %argv.addr, align 8 + %9 = load i32, i32* %argc.addr, align 4 + %idxprom1 = sext i32 %9 to i64 + %arrayidx2 = getelementptr inbounds i8*, i8** %8, i64 %idxprom1 + store i8** %arrayidx2, i8*** @__environ, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %arraydecay = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 0 + %10 = bitcast %struct.Elf64_auxv_t* %arraydecay to i8* + %call = call i8* @memset(i8* %10, i32 0, i64 240) #19 + %11 = load i8**, i8*** @__environ, align 8 + %12 = bitcast i8** %11 to i64* + store i64* %12, i64** %aux_dat, align 8 + br label %while.cond + +while.cond: ; preds = %while.cond, %if.end + %13 = load i64*, i64** %aux_dat, align 8 + %14 = load i64, i64* %13, align 8 + %tobool = icmp ne i64 %14, 0 + %15 = load i64*, i64** %aux_dat, align 8 + %incdec.ptr = getelementptr inbounds i64, i64* %15, i32 1 + store i64* %incdec.ptr, i64** %aux_dat, align 8 + br i1 %tobool, label %while.cond, label %while.cond4 + +while.cond4: ; preds = %while.cond, %if.end12 + %16 = load i64*, i64** %aux_dat, align 8 + %17 = load i64, i64* %16, align 8 + %tobool5 = icmp ne i64 %17, 0 + br i1 %tobool5, label %while.body6, label %while.end13 + +while.body6: ; preds = %while.cond4 + %18 = load i64*, i64** %aux_dat, align 8 + %19 = bitcast i64* %18 to %struct.Elf64_auxv_t* + store %struct.Elf64_auxv_t* %19, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %20 = load %struct.Elf64_auxv_t*, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %a_type = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %20, i32 0, i32 0 + %21 = load i64, i64* %a_type, align 8 + %cmp7 = icmp ule i64 %21, 14 + br i1 %cmp7, label %if.then8, label %if.end12 + +if.then8: ; preds = %while.body6 + %22 = load %struct.Elf64_auxv_t*, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %a_type9 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %22, i32 0, i32 0 + %23 = load i64, i64* %a_type9, align 8 + %arrayidx10 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 %23 + %24 = bitcast %struct.Elf64_auxv_t* %arrayidx10 to i8* + %25 = load %struct.Elf64_auxv_t*, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %26 = bitcast %struct.Elf64_auxv_t* %25 to i8* + %call11 = call i8* @memcpy(i8* %24, i8* %26, i64 16) #19 + br label %if.end12 + +if.end12: ; preds = %if.then8, %while.body6 + %27 = load i64*, i64** %aux_dat, align 8 + %add.ptr = getelementptr inbounds i64, i64* %27, i64 2 + store i64* %add.ptr, i64** %aux_dat, align 8 + br label %while.cond4 + +while.end13: ; preds = %while.cond4 + call void @__uClibc_init() #18 + %arrayidx14 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 6 + %a_un = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx14, i32 0, i32 1 + %a_val = bitcast %union.anon.195* %a_un to i64* + %28 = load i64, i64* %a_val, align 8 + %tobool15 = icmp ne i64 %28, 0 + %arrayidx16 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 6 + %a_un17 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx16, i32 0, i32 1 + %a_val18 = bitcast %union.anon.195* %a_un17 to i64* + %29 = load i64, i64* %a_val18, align 8 + %cond = select i1 %tobool15, i64 %29, i64 4096 + store i64 %cond, i64* @__pagesize, align 8 + %arrayidx19 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 11 + %a_un20 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx19, i32 0, i32 1 + %a_val21 = bitcast %union.anon.195* %a_un20 to i64* + %30 = load i64, i64* %a_val21, align 8 + %cmp22 = icmp eq i64 %30, -1 + br i1 %cmp22, label %land.lhs.true, label %lor.lhs.false + +land.lhs.true: ; preds = %while.end13 + %call23 = call i32 @__check_suid() #18 + %tobool24 = icmp ne i32 %call23, 0 + br i1 %tobool24, label %if.then45, label %lor.lhs.false + +lor.lhs.false: ; preds = %land.lhs.true, %while.end13 + %arrayidx25 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 11 + %a_un26 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx25, i32 0, i32 1 + %a_val27 = bitcast %union.anon.195* %a_un26 to i64* + %31 = load i64, i64* %a_val27, align 8 + %cmp28 = icmp ne i64 %31, -1 + br i1 %cmp28, label %land.lhs.true29, label %if.end46 + +land.lhs.true29: ; preds = %lor.lhs.false + %arrayidx30 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 11 + %a_un31 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx30, i32 0, i32 1 + %a_val32 = bitcast %union.anon.195* %a_un31 to i64* + %32 = load i64, i64* %a_val32, align 8 + %arrayidx33 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 12 + %a_un34 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx33, i32 0, i32 1 + %a_val35 = bitcast %union.anon.195* %a_un34 to i64* + %33 = load i64, i64* %a_val35, align 8 + %cmp36 = icmp ne i64 %32, %33 + br i1 %cmp36, label %if.then45, label %lor.lhs.false37 + +lor.lhs.false37: ; preds = %land.lhs.true29 + %arrayidx38 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 13 + %a_un39 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx38, i32 0, i32 1 + %a_val40 = bitcast %union.anon.195* %a_un39 to i64* + %34 = load i64, i64* %a_val40, align 8 + %arrayidx41 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 14 + %a_un42 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx41, i32 0, i32 1 + %a_val43 = bitcast %union.anon.195* %a_un42 to i64* + %35 = load i64, i64* %a_val43, align 8 + %cmp44 = icmp ne i64 %34, %35 + br i1 %cmp44, label %if.then45, label %if.end46 + +if.then45: ; preds = %lor.lhs.false37, %land.lhs.true29, %land.lhs.true + call void @__check_one_fd(i32 0, i32 131072) #18 + call void @__check_one_fd(i32 1, i32 131074) #18 + call void @__check_one_fd(i32 2, i32 131074) #18 + br label %if.end46 + +if.end46: ; preds = %if.then45, %lor.lhs.false37, %lor.lhs.false + %36 = load i8**, i8*** %argv.addr, align 8 + %37 = load i8*, i8** %36, align 8 + store i8* %37, i8** @__uclibc_progname, align 8 + %38 = load i8**, i8*** %argv.addr, align 8 + %39 = load i8*, i8** %38, align 8 + store i8* %39, i8** @program_invocation_name, align 8 + %40 = load i8**, i8*** %argv.addr, align 8 + %41 = load i8*, i8** %40, align 8 + %call47 = call i8* @strrchr(i8* %41, i32 47) #20 + store i8* %call47, i8** @program_invocation_short_name, align 8 + %42 = load i8*, i8** @program_invocation_short_name, align 8 + %cmp48 = icmp ne i8* %42, null + br i1 %cmp48, label %if.then49, label %if.else + +if.then49: ; preds = %if.end46 + %43 = load i8*, i8** @program_invocation_short_name, align 8 + %incdec.ptr50 = getelementptr inbounds i8, i8* %43, i32 1 + store i8* %incdec.ptr50, i8** @program_invocation_short_name, align 8 + br label %if.end51 + +if.else: ; preds = %if.end46 + %44 = load i8*, i8** @program_invocation_name, align 8 + store i8* %44, i8** @program_invocation_short_name, align 8 + br label %if.end51 + +if.end51: ; preds = %if.else, %if.then49 + %45 = load void ()*, void ()** %app_fini.addr, align 8 + store void ()* %45, void ()** @__app_fini, align 8 + %46 = load void ()*, void ()** %app_init.addr, align 8 + %cmp52 = icmp ne void ()* %46, null + br i1 %cmp52, label %if.then53, label %if.then55 + +if.then53: ; preds = %if.end51 + %47 = load void ()*, void ()** %app_init.addr, align 8 + call void %47() #18 + br label %if.then55 + +if.then55: ; preds = %if.end51, %if.then53 + %call56 = call i32* @__errno_location() #21 + store i32 0, i32* %call56, align 4 + %call59 = call i32* @__h_errno_location() #21 + store i32 0, i32* %call59, align 4 + %48 = load i32 (i32, i8**, i8**)*, i32 (i32, i8**, i8**)** %main.addr, align 8 + %49 = load i32, i32* %argc.addr, align 4 + %50 = load i8**, i8*** %argv.addr, align 8 + %51 = load i8**, i8*** @__environ, align 8 + %call61 = call i32 %48(i32 %49, i8** %50, i8** %51) #18 + call void @exit(i32 %call61) #22 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__check_suid() #0 { +entry: + %retval = alloca i32, align 4 + %uid = alloca i32, align 4 + %euid = alloca i32, align 4 + %gid = alloca i32, align 4 + %egid = alloca i32, align 4 + %call = call i32 @getuid() #19 + store i32 %call, i32* %uid, align 4 + %call1 = call i32 @geteuid() #19 + store i32 %call1, i32* %euid, align 4 + %call2 = call i32 @getgid() #19 + store i32 %call2, i32* %gid, align 4 + %call3 = call i32 @getegid() #19 + store i32 %call3, i32* %egid, align 4 + %0 = load i32, i32* %uid, align 4 + %1 = load i32, i32* %euid, align 4 + %cmp = icmp eq i32 %0, %1 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %2 = load i32, i32* %gid, align 4 + %3 = load i32, i32* %egid, align 4 + %cmp4 = icmp eq i32 %2, %3 + br i1 %cmp4, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__check_one_fd(i32 %fd, i32 %mode) #0 { +entry: + %fd.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %st = alloca %struct.stat.194, align 8 + %nullfd = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 (i32, i32, ...) @fcntl(i32 %0, i32 1) #18 + %cmp = icmp eq i32 %call, -1 + br i1 %cmp, label %land.rhs, label %land.end + +land.rhs: ; preds = %entry + %call1 = call i32* @__errno_location() #21 + %1 = load i32, i32* %call1, align 4 + %cmp2 = icmp eq i32 %1, 9 + br label %land.end + +land.end: ; preds = %land.rhs, %entry + %2 = phi i1 [ false, %entry ], [ %cmp2, %land.rhs ] + %lnot = xor i1 %2, true + %lnot3 = xor i1 %lnot, true + %lnot.ext = zext i1 %lnot3 to i32 + %conv = sext i32 %lnot.ext to i64 + %tobool = icmp ne i64 %conv, 0 + br i1 %tobool, label %if.then, label %if.end17 + +if.then: ; preds = %land.end + %3 = load i32, i32* %mode.addr, align 4 + %call4 = call i32 (i8*, i32, ...) @open(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.1, i64 0, i64 0), i32 %3) #18 + store i32 %call4, i32* %nullfd, align 4 + %4 = load i32, i32* %nullfd, align 4 + %5 = load i32, i32* %fd.addr, align 4 + %cmp5 = icmp ne i32 %4, %5 + br i1 %cmp5, label %if.then16, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then + %6 = load i32, i32* %fd.addr, align 4 + %call7 = call i32 bitcast (i32 (i32, %struct.stat64*)* @fstat to i32 (i32, %struct.stat.194*)*)(i32 %6, %struct.stat.194* %st) #19 + %tobool8 = icmp ne i32 %call7, 0 + br i1 %tobool8, label %if.then16, label %lor.lhs.false9 + +lor.lhs.false9: ; preds = %lor.lhs.false + %st_mode = getelementptr inbounds %struct.stat.194, %struct.stat.194* %st, i32 0, i32 3 + %7 = load i32, i32* %st_mode, align 8 + %and = and i32 %7, 61440 + %cmp10 = icmp eq i32 %and, 8192 + br i1 %cmp10, label %lor.lhs.false12, label %if.then16 + +lor.lhs.false12: ; preds = %lor.lhs.false9 + %st_rdev = getelementptr inbounds %struct.stat.194, %struct.stat.194* %st, i32 0, i32 7 + %8 = load i64, i64* %st_rdev, align 8 + %call13 = call i64 @gnu_dev_makedev.173(i32 1, i32 3) #19 + %cmp14 = icmp ne i64 %8, %call13 + br i1 %cmp14, label %if.then16, label %if.end17 + +if.then16: ; preds = %lor.lhs.false12, %lor.lhs.false9, %lor.lhs.false, %if.then + call void @abort() #22 + unreachable + +if.end17: ; preds = %lor.lhs.false12, %land.end + ret void +} + +; Function Attrs: nounwind +declare i32 @getuid() #2 + +; Function Attrs: nounwind +declare i32 @geteuid() #2 + +; Function Attrs: nounwind +declare i32 @getgid() #2 + +; Function Attrs: nounwind +declare i32 @getegid() #2 + +; Function Attrs: noinline nounwind uwtable +define internal i64 @gnu_dev_makedev.173(i32 %__major, i32 %__minor) #0 { +entry: + %__major.addr = alloca i32, align 4 + %__minor.addr = alloca i32, align 4 + store i32 %__major, i32* %__major.addr, align 4 + store i32 %__minor, i32* %__minor.addr, align 4 + %0 = load i32, i32* %__minor.addr, align 4 + %and = and i32 %0, 255 + %1 = load i32, i32* %__major.addr, align 4 + %and1 = and i32 %1, 4095 + %shl = shl i32 %and1, 8 + %or = or i32 %and, %shl + %conv = zext i32 %or to i64 + %2 = load i32, i32* %__minor.addr, align 4 + %and2 = and i32 %2, -256 + %conv3 = zext i32 %and2 to i64 + %shl4 = shl i64 %conv3, 12 + %or5 = or i64 %conv, %shl4 + %3 = load i32, i32* %__major.addr, align 4 + %and6 = and i32 %3, -4096 + %conv7 = zext i32 %and6 to i64 + %shl8 = shl i64 %conv7, 32 + %or9 = or i64 %or5, %shl8 + ret i64 %or9 +} + +define i32 @main(i32 %argc, i8** %argv) { +entry: + call void @__uClibc_main(i32 (i32, i8**, i8**)* @__user_main, i32 %argc, i8** %argv, void ()* null, void ()* null, void ()* null, i8* null) + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define i32 @siggetmask() #0 { +entry: + %call = call i32 @sigblock(i32 0) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i64 @__fpending(%struct.__STDIO_FILE_STRUCT.515* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.515*, align 8 + store %struct.__STDIO_FILE_STRUCT.515* %stream, %struct.__STDIO_FILE_STRUCT.515** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.515*, %struct.__STDIO_FILE_STRUCT.515** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.515, %struct.__STDIO_FILE_STRUCT.515* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %cond.true, label %cond.end + +cond.true: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.515*, %struct.__STDIO_FILE_STRUCT.515** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.515, %struct.__STDIO_FILE_STRUCT.515* %2, i32 0, i32 5 + %3 = load i8*, i8** %__bufpos, align 8 + %4 = load %struct.__STDIO_FILE_STRUCT.515*, %struct.__STDIO_FILE_STRUCT.515** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.515, %struct.__STDIO_FILE_STRUCT.515* %4, i32 0, i32 3 + %5 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %3 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + br label %cond.end + +cond.end: ; preds = %entry, %cond.true + %cond = phi i64 [ %sub.ptr.sub, %cond.true ], [ 0, %entry ] + ret i64 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i8* @gets(i8* %s) #0 { +entry: + %s.addr = alloca i8*, align 8 + %p = alloca i8*, align 8 + %c = alloca i32, align 4 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %call = call i32 @getchar_unlocked() #18 + store i32 %call, i32* %c, align 4 + %cmp = icmp ne i32 %call, -1 + br i1 %cmp, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %1 = load i32, i32* %c, align 4 + %conv = trunc i32 %1 to i8 + %2 = load i8*, i8** %p, align 8 + store i8 %conv, i8* %2, align 1 + %conv1 = sext i8 %conv to i32 + %cmp2 = icmp ne i32 %conv1, 10 + br i1 %cmp2, label %while.body, label %while.end + +while.body: ; preds = %land.rhs + %3 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + br label %while.cond + +while.end: ; preds = %while.cond, %land.rhs + %4 = load i32, i32* %c, align 4 + %cmp4 = icmp eq i32 %4, -1 + br i1 %cmp4, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.end + %5 = load i8*, i8** %s.addr, align 8 + %6 = load i8*, i8** %p, align 8 + %cmp6 = icmp eq i8* %5, %6 + br i1 %cmp6, label %if.then, label %if.else + +if.then: ; preds = %lor.lhs.false, %while.end + store i8* null, i8** %s.addr, align 8 + br label %if.end + +if.else: ; preds = %lor.lhs.false + %7 = load i8*, i8** %p, align 8 + store i8 0, i8* %7, align 1 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %8 = load i8*, i8** %s.addr, align 8 + ret i8* %8 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @tmpnam(i8* %s) #0 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %tmpbufmem = alloca [20 x i8], align 16 + %tmpbuf = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %tobool = icmp ne i8* %0, null + %arraydecay = getelementptr inbounds [20 x i8], [20 x i8]* %tmpbufmem, i64 0, i64 0 + %cond = select i1 %tobool, i8* %0, i8* %arraydecay + store i8* %cond, i8** %tmpbuf, align 8 + %1 = load i8*, i8** %tmpbuf, align 8 + %call = call i32 @___path_search(i8* %1, i64 20, i8* null, i8* null) #18 + %conv = sext i32 %call to i64 + %tobool1 = icmp ne i64 %conv, 0 + br i1 %tobool1, label %if.then, label %if.end + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %tmpbuf, align 8 + %call2 = call i32 @__gen_tempname(i8* %2, i32 3) #18 + %conv3 = sext i32 %call2 to i64 + %tobool4 = icmp ne i64 %conv3, 0 + br i1 %tobool4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end + store i8* null, i8** %retval, align 8 + br label %return + +if.end6: ; preds = %if.end + %3 = load i8*, i8** %s.addr, align 8 + %cmp = icmp eq i8* %3, null + br i1 %cmp, label %if.then8, label %if.end10 + +if.then8: ; preds = %if.end6 + %4 = load i8*, i8** %tmpbuf, align 8 + %call9 = call i8* @memcpy(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @tmpnam_buffer, i64 0, i64 0), i8* %4, i64 20) #19 + store i8* %call9, i8** %retval, align 8 + br label %return + +if.end10: ; preds = %if.end6 + %5 = load i8*, i8** %s.addr, align 8 + store i8* %5, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end10, %if.then8, %if.then5, %if.then + %6 = load i8*, i8** %retval, align 8 + ret i8* %6 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @mktemp(i8* nonnull %template) #0 { +entry: + %template.addr = alloca i8*, align 8 + store i8* %template, i8** %template.addr, align 8 + %0 = load i8*, i8** %template.addr, align 8 + %call = call i32 @__gen_tempname(i8* %0, i32 3) #18 + %cmp = icmp slt i32 %call, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load i8*, i8** %template.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + store i8 0, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then, %entry + %2 = load i8*, i8** %template.addr, align 8 + ret i8* %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @access(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %pathname.addr, align 8 + %call1 = call i8* @__concretize_string(i8* %2) + %3 = load i32, i32* %mode.addr, align 4 + %call2 = call i64 (i64, ...) @syscall(i64 21, i8* %call1, i32 %3) #11 + %conv = trunc i64 %call2 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.exe_disk_file_t* @__get_sym_file(i8* %pathname) #3 { +entry: + %retval = alloca %struct.exe_disk_file_t*, align 8 + %pathname.addr = alloca i8*, align 8 + %cwd = alloca [1024 x i8], align 16 + %cwd_len = alloca i64, align 8 + %c = alloca i8, align 1 + %i = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + %0 = load i8*, i8** %pathname.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %pathname.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %2 to i32 + %cmp = icmp eq i32 %conv, 47 + br i1 %cmp, label %if.then2, label %if.end29 + +if.then2: ; preds = %if.end + %3 = bitcast [1024 x i8]* %cwd to i8* + %4 = call i8* @memset(i8* %3, i32 0, i64 1024) + %arraydecay = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 0 + %call = call i8* @getcwd(i8* %arraydecay, i64 1024) #11 + %tobool3 = icmp ne i8* %call, null + br i1 %tobool3, label %if.then4, label %if.end29 + +if.then4: ; preds = %if.then2 + %arraydecay5 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 0 + %call6 = call i64 @strlen(i8* %arraydecay5) #23 + store i64 %call6, i64* %cwd_len, align 8 + %5 = load i64, i64* %cwd_len, align 8 + %cmp7 = icmp ugt i64 %5, 0 + br i1 %cmp7, label %land.lhs.true, label %if.end15 + +land.lhs.true: ; preds = %if.then4 + %6 = load i64, i64* %cwd_len, align 8 + %sub = sub i64 %6, 1 + %arrayidx9 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 %sub + %7 = load i8, i8* %arrayidx9, align 1 + %conv10 = sext i8 %7 to i32 + %cmp11 = icmp eq i32 %conv10, 47 + br i1 %cmp11, label %if.then13, label %if.end15 + +if.then13: ; preds = %land.lhs.true + %8 = load i64, i64* %cwd_len, align 8 + %dec = add i64 %8, -1 + store i64 %dec, i64* %cwd_len, align 8 + %arrayidx14 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 %dec + store i8 0, i8* %arrayidx14, align 1 + br label %if.end15 + +if.end15: ; preds = %if.then13, %land.lhs.true, %if.then4 + %9 = load i8*, i8** %pathname.addr, align 8 + %arraydecay16 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 0 + %10 = load i64, i64* %cwd_len, align 8 + %call17 = call i32 @strncmp(i8* %9, i8* %arraydecay16, i64 %10) #23 + %cmp18 = icmp eq i32 %call17, 0 + br i1 %cmp18, label %if.then20, label %if.end29 + +if.then20: ; preds = %if.end15 + %11 = load i8*, i8** %pathname.addr, align 8 + %12 = load i64, i64* %cwd_len, align 8 + %arrayidx21 = getelementptr inbounds i8, i8* %11, i64 %12 + %13 = load i8, i8* %arrayidx21, align 1 + %conv22 = sext i8 %13 to i32 + %cmp23 = icmp ne i32 %conv22, 0 + br i1 %cmp23, label %if.then25, label %if.end29 + +if.then25: ; preds = %if.then20 + %14 = load i64, i64* %cwd_len, align 8 + %add = add i64 %14, 1 + %15 = load i8*, i8** %pathname.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %15, i64 %add + store i8* %add.ptr, i8** %pathname.addr, align 8 + br label %if.end29 + +if.end29: ; preds = %if.then2, %if.then20, %if.then25, %if.end15, %if.end + %16 = load i8*, i8** %pathname.addr, align 8 + %arrayidx30 = getelementptr inbounds i8, i8* %16, i64 0 + %17 = load i8, i8* %arrayidx30, align 1 + store i8 %17, i8* %c, align 1 + %18 = load i8, i8* %c, align 1 + %conv31 = sext i8 %18 to i32 + %cmp32 = icmp eq i32 %conv31, 0 + br i1 %cmp32, label %if.then38, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end29 + %19 = load i8*, i8** %pathname.addr, align 8 + %arrayidx34 = getelementptr inbounds i8, i8* %19, i64 1 + %20 = load i8, i8* %arrayidx34, align 1 + %conv35 = sext i8 %20 to i32 + %cmp36 = icmp ne i32 %conv35, 0 + br i1 %cmp36, label %if.then38, label %if.end39 + +if.then38: ; preds = %lor.lhs.false, %if.end29 + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +if.end39: ; preds = %lor.lhs.false + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end39 + %21 = load i32, i32* %i, align 4 + %22 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %cmp40 = icmp ult i32 %21, %22 + br i1 %cmp40, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %23 = load i8, i8* %c, align 1 + %conv42 = sext i8 %23 to i32 + %24 = load i32, i32* %i, align 4 + %conv43 = trunc i32 %24 to i8 + %conv44 = sext i8 %conv43 to i32 + %add45 = add nsw i32 65, %conv44 + %cmp46 = icmp eq i32 %conv42, %add45 + br i1 %cmp46, label %if.then48, label %for.inc + +if.then48: ; preds = %for.body + %25 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %26 = load i32, i32* %i, align 4 + %idxprom = zext i32 %26 to i64 + %arrayidx49 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %25, i64 %idxprom + store %struct.exe_disk_file_t* %arrayidx49, %struct.exe_disk_file_t** %df, align 8 + %27 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %27, i32 0, i32 2 + %28 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %28, i32 0, i32 1 + %29 = load i64, i64* %st_ino, align 8 + %cmp50 = icmp eq i64 %29, 0 + br i1 %cmp50, label %if.then52, label %if.end53 + +if.then52: ; preds = %if.then48 + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +if.end53: ; preds = %if.then48 + %30 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + store %struct.exe_disk_file_t* %30, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +for.inc: ; preds = %for.body + %31 = load i32, i32* %i, align 4 + %inc = add i32 %31, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +return: ; preds = %for.end, %if.end53, %if.then52, %if.then38, %if.then + %32 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %retval, align 8 + ret %struct.exe_disk_file_t* %32 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @__concretize_string(i8* %s) #3 { +entry: + %s.addr = alloca i8*, align 8 + %sc = alloca i8*, align 8 + %i = alloca i32, align 4 + %c = alloca i8, align 1 + %cc = alloca i8, align 1 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %call = call i8* @__concretize_ptr(i8* %0) + store i8* %call, i8** %sc, align 8 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load i8*, i8** %sc, align 8 + %2 = load i8, i8* %1, align 1 + store i8 %2, i8* %c, align 1 + %3 = load i8, i8* %c, align 1 + %conv = sext i8 %3 to i64 + %call1 = call i32 @gs_is_symbolic(i64 %conv) + %tobool = icmp ne i32 %call1, 0 + br i1 %tobool, label %if.end4, label %if.then + +if.then: ; preds = %for.cond + %4 = load i8, i8* %c, align 1 + %tobool2 = icmp ne i8 %4, 0 + br i1 %tobool2, label %for.inc, label %for.end + +if.end4: ; preds = %for.cond + %5 = load i32, i32* %i, align 4 + %6 = load i32, i32* %i, align 4 + %sub = sub i32 %6, 1 + %and = and i32 %5, %sub + %tobool5 = icmp ne i32 %and, 0 + %7 = load i8, i8* %c, align 1 + br i1 %tobool5, label %if.else14, label %if.then6 + +if.then6: ; preds = %if.end4 + %tobool7 = icmp ne i8 %7, 0 + br i1 %tobool7, label %if.else, label %if.then8 + +if.then8: ; preds = %if.then6 + %8 = load i8*, i8** %sc, align 8 + store i8 0, i8* %8, align 1 + br label %for.end + +if.else: ; preds = %if.then6 + %9 = load i8, i8* %c, align 1 + %conv9 = sext i8 %9 to i32 + %cmp = icmp eq i32 %conv9, 47 + br i1 %cmp, label %if.then11, label %for.inc + +if.then11: ; preds = %if.else + %10 = load i8*, i8** %sc, align 8 + store i8 47, i8* %10, align 1 + br label %for.inc + +if.else14: ; preds = %if.end4 + %conv15 = sext i8 %7 to i64 + %call16 = call i64 @gs_get_valuel(i64 %conv15) + %conv17 = trunc i64 %call16 to i8 + store i8 %conv17, i8* %cc, align 1 + %11 = load i8, i8* %cc, align 1 + %conv18 = sext i8 %11 to i32 + %12 = load i8, i8* %c, align 1 + %conv19 = sext i8 %12 to i32 + %cmp20 = icmp eq i32 %conv18, %conv19 + call void @gs_assume(i1 zeroext %cmp20) + %13 = load i8, i8* %cc, align 1 + %14 = load i8*, i8** %sc, align 8 + store i8 %13, i8* %14, align 1 + %15 = load i8, i8* %cc, align 1 + %tobool22 = icmp ne i8 %15, 0 + br i1 %tobool22, label %for.inc, label %for.end + +for.inc: ; preds = %if.else, %if.then11, %if.else14, %if.then + %16 = load i32, i32* %i, align 4 + %inc = add i32 %16, 1 + store i32 %inc, i32* %i, align 4 + %17 = load i8*, i8** %sc, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %17, i32 1 + store i8* %incdec.ptr, i8** %sc, align 8 + br label %for.cond + +for.end: ; preds = %if.else14, %if.then, %if.then8 + %18 = load i8*, i8** %s.addr, align 8 + ret i8* %18 +} + +; Function Attrs: nounwind +declare dso_local i64 @syscall(i64, ...) #4 + +; Function Attrs: noinline nounwind uwtable +define internal i8* @__concretize_ptr(i8* %p) #3 { +entry: + %p.addr = alloca i8*, align 8 + store i8* %p, i8** %p.addr, align 8 + %0 = load i8*, i8** %p.addr, align 8 + %1 = ptrtoint i8* %0 to i64 + %call = call i32 @gs_is_symbolic(i64 %1) + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @gs_report_error(i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 1386, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.27, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.28, i64 0, i64 0)) #24 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %p.addr, align 8 + ret i8* %2 +} + +declare dso_local i32 @gs_is_symbolic(i64) #5 + +declare dso_local i64 @gs_get_valuel(i64) #5 + +declare dso_local void @gs_assume(i1 zeroext) #5 + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.25, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +declare dso_local void @print_string(i8*) #5 + +declare dso_local void @sym_print(i32, ...) #5 + +; Function Attrs: noreturn +declare dso_local void @stop(i32) #7 + +; Function Attrs: argmemonly nounwind willreturn writeonly +declare void @llvm.memset.p0i8.i64(i8* nocapture writeonly, i8, i64, i1 immarg) #8 + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @getcwd(i8* %buf, i64 %size) #3 { +entry: + %retval = alloca i8*, align 8 + %buf.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %r = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + %0 = load i32, i32* @getcwd.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @getcwd.n_calls, align 4 + %1 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool = icmp ne i32 %1, 0 + br i1 %tobool, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %2 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %3 = load i32, i32* %2, align 4 + %4 = load i32, i32* @getcwd.n_calls, align 4 + %cmp = icmp eq i32 %3, %4 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %5 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %5, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call = call i32* @__errno_location() #25 + store i32 34, i32* %call, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + %6 = load i8*, i8** %buf.addr, align 8 + %tobool1 = icmp ne i8* %6, null + br i1 %tobool1, label %if.else, label %if.then2 + +if.then2: ; preds = %if.end + store i64 1024, i64* %size.addr, align 8 + %7 = load i64, i64* %size.addr, align 8 + %call3 = call noalias i8* @malloc(i64 %7) #11 + store i8* %call3, i8** %buf.addr, align 8 + %8 = load i8*, i8** %buf.addr, align 8 + %tobool4 = icmp ne i8* %8, null + br i1 %tobool4, label %if.end12, label %if.then5 + +if.then5: ; preds = %if.then2 + %call6 = call i32* @__errno_location() #25 + store i32 12, i32* %call6, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.else: ; preds = %if.end + %9 = load i64, i64* %size.addr, align 8 + %tobool8 = icmp ne i64 %9, 0 + br i1 %tobool8, label %if.end12, label %if.then9 + +if.then9: ; preds = %if.else + %call10 = call i32* @__errno_location() #25 + store i32 22, i32* %call10, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end12: ; preds = %if.else, %if.then2 + %10 = load i8*, i8** %buf.addr, align 8 + %call13 = call i8* @__concretize_ptr(i8* %10) + store i8* %call13, i8** %buf.addr, align 8 + %11 = load i64, i64* %size.addr, align 8 + %call14 = call i64 @__concretize_size(i64 %11) + store i64 %call14, i64* %size.addr, align 8 + %12 = load i8*, i8** %buf.addr, align 8 + %13 = load i64, i64* %size.addr, align 8 + %call15 = call i64 (i64, ...) @syscall(i64 79, i8* %12, i64 %13) #11 + %conv = trunc i64 %call15 to i32 + store i32 %conv, i32* %r, align 4 + %14 = load i32, i32* %r, align 4 + %cmp16 = icmp eq i32 %14, -1 + br i1 %cmp16, label %if.then18, label %if.end19 + +if.then18: ; preds = %if.end12 + store i8* null, i8** %retval, align 8 + br label %return + +if.end19: ; preds = %if.end12 + %15 = load i8*, i8** %buf.addr, align 8 + store i8* %15, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end19, %if.then18, %if.then9, %if.then5, %if.then + %16 = load i8*, i8** %retval, align 8 + ret i8* %16 +} + +; Function Attrs: nounwind +declare dso_local noalias i8* @malloc(i64) #4 + +; Function Attrs: noinline nounwind uwtable +define internal i64 @__concretize_size(i64 %s) #3 { +entry: + %s.addr = alloca i64, align 8 + %sc = alloca i64, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %call = call i64 @gs_get_valuel(i64 %0) + store i64 %call, i64* %sc, align 8 + %1 = load i64, i64* %sc, align 8 + %2 = load i64, i64* %s.addr, align 8 + %cmp = icmp eq i64 %1, %2 + call void @gs_assume(i1 zeroext %cmp) + %3 = load i64, i64* %sc, align 8 + ret i64 %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @umask(i32 %mask) #3 { +entry: + %mask.addr = alloca i32, align 4 + %r = alloca i32, align 4 + store i32 %mask, i32* %mask.addr, align 4 + %0 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 1), align 8 + store i32 %0, i32* %r, align 4 + %1 = load i32, i32* %mask.addr, align 4 + %and = and i32 %1, 511 + store i32 %and, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 1), align 8 + %2 = load i32, i32* %r, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_open(i8* %pathname, i32 %flags, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %fd = alloca i32, align 4 + %os_fd = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + store i32 0, i32* %fd, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %0, 32 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %1 = load i32, i32* %fd, align 4 + %idxprom = sext i32 %1 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + %flags1 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %arrayidx, i32 0, i32 1 + %2 = load i32, i32* %flags1, align 4 + %and = and i32 %2, 1 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %for.inc, label %for.end + +for.inc: ; preds = %for.body + %3 = load i32, i32* %fd, align 4 + %inc = add nsw i32 %3, 1 + store i32 %inc, i32* %fd, align 4 + br label %for.cond + +for.end: ; preds = %for.body, %for.cond + %4 = load i32, i32* %fd, align 4 + %cmp2 = icmp eq i32 %4, 32 + br i1 %cmp2, label %if.then3, label %if.end4 + +if.then3: ; preds = %for.end + %call = call i32* @__errno_location() #25 + store i32 24, i32* %call, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %for.end + %5 = load i32, i32* %fd, align 4 + %idxprom5 = sext i32 %5 to i64 + %arrayidx6 = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom5 + store %struct.exe_file_t* %arrayidx6, %struct.exe_file_t** %f, align 8 + %6 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %7 = bitcast %struct.exe_file_t* %6 to i8* + %8 = call i8* @memset(i8* %7, i32 0, i64 24) + %9 = load i8*, i8** %pathname.addr, align 8 + %call7 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %9) + store %struct.exe_disk_file_t* %call7, %struct.exe_disk_file_t** %df, align 8 + %10 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %tobool8 = icmp ne %struct.exe_disk_file_t* %10, null + br i1 %tobool8, label %if.then9, label %if.else45 + +if.then9: ; preds = %if.end4 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %12 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %12, i32 0, i32 3 + store %struct.exe_disk_file_t* %11, %struct.exe_disk_file_t** %dfile, align 8 + %13 = load i32, i32* %flags.addr, align 4 + %and10 = and i32 %13, 64 + %tobool11 = icmp ne i32 %and10, 0 + br i1 %tobool11, label %land.lhs.true, label %if.end16 + +land.lhs.true: ; preds = %if.then9 + %14 = load i32, i32* %flags.addr, align 4 + %and12 = and i32 %14, 128 + %tobool13 = icmp ne i32 %and12, 0 + br i1 %tobool13, label %if.then14, label %if.end16 + +if.then14: ; preds = %land.lhs.true + %call15 = call i32* @__errno_location() #25 + store i32 17, i32* %call15, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end16: ; preds = %land.lhs.true, %if.then9 + %15 = load i32, i32* %flags.addr, align 4 + %and17 = and i32 %15, 512 + %tobool18 = icmp ne i32 %and17, 0 + br i1 %tobool18, label %land.lhs.true19, label %if.end24 + +land.lhs.true19: ; preds = %if.end16 + %16 = load i32, i32* %flags.addr, align 4 + %and20 = and i32 %16, 0 + %tobool21 = icmp ne i32 %and20, 0 + br i1 %tobool21, label %if.then22, label %if.end24 + +if.then22: ; preds = %land.lhs.true19 + call void @gs_warning(i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.5, i64 0, i64 0)) + %call23 = call i32* @__errno_location() #25 + store i32 13, i32* %call23, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end24: ; preds = %land.lhs.true19, %if.end16 + %17 = load i32, i32* %flags.addr, align 4 + %and25 = and i32 %17, 128 + %tobool26 = icmp ne i32 %and25, 0 + br i1 %tobool26, label %land.lhs.true27, label %if.end32 + +land.lhs.true27: ; preds = %if.end24 + %18 = load i32, i32* %flags.addr, align 4 + %and28 = and i32 %18, 64 + %tobool29 = icmp ne i32 %and28, 0 + br i1 %tobool29, label %if.end32, label %if.then30 + +if.then30: ; preds = %land.lhs.true27 + call void @gs_warning(i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.1.6, i64 0, i64 0)) + %call31 = call i32* @__errno_location() #25 + store i32 13, i32* %call31, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end32: ; preds = %land.lhs.true27, %if.end24 + %19 = load i32, i32* %flags.addr, align 4 + %20 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %20, i32 0, i32 2 + %21 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %call33 = call i32 @has_permission(i32 %19, %struct.stat64* %21) + %tobool34 = icmp ne i32 %call33, 0 + br i1 %tobool34, label %if.else, label %if.then35 + +if.then35: ; preds = %if.end32 + %call36 = call i32* @__errno_location() #25 + store i32 13, i32* %call36, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.end32 + %22 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile37 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %22, i32 0, i32 3 + %23 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile37, align 8 + %stat38 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %23, i32 0, i32 2 + %24 = load %struct.stat64*, %struct.stat64** %stat38, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %24, i32 0, i32 3 + %25 = load i32, i32* %st_mode, align 8 + %and39 = and i32 %25, -512 + %26 = load i32, i32* %mode.addr, align 4 + %27 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 1), align 8 + %neg = xor i32 %27, -1 + %and40 = and i32 %26, %neg + %or = or i32 %and39, %and40 + %28 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile41 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %28, i32 0, i32 3 + %29 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile41, align 8 + %stat42 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %29, i32 0, i32 2 + %30 = load %struct.stat64*, %struct.stat64** %stat42, align 8 + %st_mode43 = getelementptr inbounds %struct.stat64, %struct.stat64* %30, i32 0, i32 3 + store i32 %or, i32* %st_mode43, align 8 + br label %if.end53 + +if.else45: ; preds = %if.end4 + %31 = load i8*, i8** %pathname.addr, align 8 + %call46 = call i8* @__concretize_string(i8* %31) + %32 = load i32, i32* %flags.addr, align 4 + %33 = load i32, i32* %mode.addr, align 4 + %call47 = call i64 (i64, ...) @syscall(i64 2, i8* %call46, i32 %32, i32 %33) #11 + %conv = trunc i64 %call47 to i32 + store i32 %conv, i32* %os_fd, align 4 + %34 = load i32, i32* %os_fd, align 4 + %cmp48 = icmp eq i32 %34, -1 + br i1 %cmp48, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.else45 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end51: ; preds = %if.else45 + %35 = load i32, i32* %os_fd, align 4 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd52 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 0 + store i32 %35, i32* %fd52, align 8 + br label %if.end53 + +if.end53: ; preds = %if.end51, %if.else + %37 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %37, i32 0, i32 1 + store i32 1, i32* %flags54, align 4 + %38 = load i32, i32* %flags.addr, align 4 + %and55 = and i32 %38, 3 + %cmp56 = icmp eq i32 %and55, 0 + br i1 %cmp56, label %if.then58, label %if.else61 + +if.then58: ; preds = %if.end53 + %39 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags59 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %39, i32 0, i32 1 + %40 = load i32, i32* %flags59, align 4 + %or60 = or i32 %40, 4 + store i32 %or60, i32* %flags59, align 4 + br label %if.end72 + +if.else61: ; preds = %if.end53 + %41 = load i32, i32* %flags.addr, align 4 + %and62 = and i32 %41, 3 + %cmp63 = icmp eq i32 %and62, 1 + %42 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags66 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %42, i32 0, i32 1 + %43 = load i32, i32* %flags66, align 4 + br i1 %cmp63, label %if.then65, label %if.else68 + +if.then65: ; preds = %if.else61 + %or67 = or i32 %43, 8 + store i32 %or67, i32* %flags66, align 4 + br label %if.end72 + +if.else68: ; preds = %if.else61 + %or70 = or i32 %43, 12 + store i32 %or70, i32* %flags66, align 4 + br label %if.end72 + +if.end72: ; preds = %if.then65, %if.else68, %if.then58 + %44 = load i32, i32* %fd, align 4 + store i32 %44, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end72, %if.then50, %if.then35, %if.then30, %if.then22, %if.then14, %if.then3 + %45 = load i32, i32* %retval, align 4 + ret i32 %45 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @gs_warning(i8* %message) #3 { +entry: + %message.addr = alloca i8*, align 8 + store i8* %message, i8** %message.addr, align 8 + %0 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %0) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.25, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @has_permission(i32 %flags, %struct.stat64* %s) #3 { +entry: + %retval = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %s.addr = alloca %struct.stat64*, align 8 + %write_access = alloca i32, align 4 + %read_access = alloca i32, align 4 + %mode = alloca i32, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store %struct.stat64* %s, %struct.stat64** %s.addr, align 8 + %0 = load %struct.stat64*, %struct.stat64** %s.addr, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %0, i32 0, i32 3 + %1 = load i32, i32* %st_mode, align 8 + store i32 %1, i32* %mode, align 4 + %2 = load i32, i32* %flags.addr, align 4 + %and = and i32 %2, 0 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %3 = load i32, i32* %flags.addr, align 4 + %and1 = and i32 %3, 2 + %tobool2 = icmp ne i32 %and1, 0 + br i1 %tobool2, label %if.then, label %if.else + +if.then: ; preds = %lor.lhs.false, %entry + store i32 1, i32* %read_access, align 4 + br label %if.end + +if.else: ; preds = %lor.lhs.false + store i32 0, i32* %read_access, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %4 = load i32, i32* %flags.addr, align 4 + %and3 = and i32 %4, 1 + %tobool4 = icmp ne i32 %and3, 0 + br i1 %tobool4, label %if.then8, label %lor.lhs.false5 + +lor.lhs.false5: ; preds = %if.end + %5 = load i32, i32* %flags.addr, align 4 + %and6 = and i32 %5, 2 + %tobool7 = icmp ne i32 %and6, 0 + br i1 %tobool7, label %if.then8, label %if.else9 + +if.then8: ; preds = %lor.lhs.false5, %if.end + store i32 1, i32* %write_access, align 4 + br label %if.end10 + +if.else9: ; preds = %lor.lhs.false5 + store i32 0, i32* %write_access, align 4 + br label %if.end10 + +if.end10: ; preds = %if.else9, %if.then8 + %6 = load i32, i32* %read_access, align 4 + %tobool11 = icmp ne i32 %6, 0 + br i1 %tobool11, label %land.lhs.true, label %if.end18 + +land.lhs.true: ; preds = %if.end10 + %7 = load i32, i32* %mode, align 4 + %and12 = and i32 %7, 256 + %8 = load i32, i32* %mode, align 4 + %and13 = and i32 %8, 32 + %or = or i32 %and12, %and13 + %9 = load i32, i32* %mode, align 4 + %and14 = and i32 %9, 4 + %or15 = or i32 %or, %and14 + %tobool16 = icmp ne i32 %or15, 0 + br i1 %tobool16, label %if.then17, label %if.end18 + +if.then17: ; preds = %land.lhs.true + store i32 0, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %land.lhs.true, %if.end10 + %10 = load i32, i32* %write_access, align 4 + %tobool19 = icmp ne i32 %10, 0 + br i1 %tobool19, label %land.lhs.true20, label %if.end28 + +land.lhs.true20: ; preds = %if.end18 + %11 = load i32, i32* %mode, align 4 + %and21 = and i32 %11, 128 + %12 = load i32, i32* %mode, align 4 + %and22 = and i32 %12, 16 + %or23 = or i32 %and21, %and22 + %13 = load i32, i32* %mode, align 4 + %and24 = and i32 %13, 2 + %or25 = or i32 %or23, %and24 + %tobool26 = icmp ne i32 %or25, 0 + br i1 %tobool26, label %if.end28, label %if.then27 + +if.then27: ; preds = %land.lhs.true20 + store i32 0, i32* %retval, align 4 + br label %return + +if.end28: ; preds = %land.lhs.true20, %if.end18 + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end28, %if.then27, %if.then17 + %14 = load i32, i32* %retval, align 4 + ret i32 %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_openat(i32 %basefd, i8* %pathname, i32 %flags, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %basefd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %fd = alloca i32, align 4 + %bf = alloca %struct.exe_file_t*, align 8 + %os_fd = alloca i32, align 4 + store i32 %basefd, i32* %basefd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %basefd.addr, align 4 + %cmp = icmp ne i32 %0, -100 + br i1 %cmp, label %if.then, label %if.end8 + +if.then: ; preds = %entry + %1 = load i32, i32* %basefd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %bf, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %bf, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.else, label %if.then1 + +if.then1: ; preds = %if.then + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %bf, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 3 + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool3 = icmp ne %struct.exe_disk_file_t* %4, null + br i1 %tobool3, label %if.then4, label %if.end6 + +if.then4: ; preds = %if.else + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0)) + %call5 = call i32* @__errno_location() #25 + store i32 2, i32* %call5, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.else + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %bf, align 8 + %fd7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd7, align 8 + store i32 %6, i32* %basefd.addr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end6, %entry + %7 = load i8*, i8** %pathname.addr, align 8 + %call9 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %7) + %tobool10 = icmp ne %struct.exe_disk_file_t* %call9, null + br i1 %tobool10, label %if.then11, label %if.end13 + +if.then11: ; preds = %if.end8 + %8 = load i8*, i8** %pathname.addr, align 8 + %9 = load i32, i32* %flags.addr, align 4 + %10 = load i32, i32* %mode.addr, align 4 + %call12 = call i32 @__fd_open(i8* %8, i32 %9, i32 %10) + store i32 %call12, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.end8 + store i32 0, i32* %fd, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end13 + %11 = load i32, i32* %fd, align 4 + %cmp14 = icmp slt i32 %11, 32 + br i1 %cmp14, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %12 = load i32, i32* %fd, align 4 + %idxprom = sext i32 %12 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + %flags15 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %arrayidx, i32 0, i32 1 + %13 = load i32, i32* %flags15, align 4 + %and = and i32 %13, 1 + %tobool16 = icmp ne i32 %and, 0 + br i1 %tobool16, label %for.inc, label %for.end + +for.inc: ; preds = %for.body + %14 = load i32, i32* %fd, align 4 + %inc = add nsw i32 %14, 1 + store i32 %inc, i32* %fd, align 4 + br label %for.cond + +for.end: ; preds = %for.body, %for.cond + %15 = load i32, i32* %fd, align 4 + %cmp19 = icmp eq i32 %15, 32 + br i1 %cmp19, label %if.then20, label %if.end22 + +if.then20: ; preds = %for.end + %call21 = call i32* @__errno_location() #25 + store i32 24, i32* %call21, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end22: ; preds = %for.end + %16 = load i32, i32* %fd, align 4 + %idxprom23 = sext i32 %16 to i64 + %arrayidx24 = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom23 + store %struct.exe_file_t* %arrayidx24, %struct.exe_file_t** %f, align 8 + %17 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %18 = bitcast %struct.exe_file_t* %17 to i8* + %19 = call i8* @memset(i8* %18, i32 0, i64 24) + %20 = load i32, i32* %basefd.addr, align 4 + %conv = sext i32 %20 to i64 + %21 = load i8*, i8** %pathname.addr, align 8 + %call25 = call i8* @__concretize_string(i8* %21) + %22 = load i32, i32* %flags.addr, align 4 + %conv26 = sext i32 %22 to i64 + %23 = load i32, i32* %mode.addr, align 4 + %call27 = call i64 (i64, ...) @syscall(i64 257, i64 %conv, i8* %call25, i64 %conv26, i32 %23) #11 + %conv28 = trunc i64 %call27 to i32 + store i32 %conv28, i32* %os_fd, align 4 + %24 = load i32, i32* %os_fd, align 4 + %cmp29 = icmp eq i32 %24, -1 + br i1 %cmp29, label %if.then31, label %if.end32 + +if.then31: ; preds = %if.end22 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end32: ; preds = %if.end22 + %25 = load i32, i32* %os_fd, align 4 + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd33 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 0 + store i32 %25, i32* %fd33, align 8 + %27 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags34 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %27, i32 0, i32 1 + store i32 1, i32* %flags34, align 4 + %28 = load i32, i32* %flags.addr, align 4 + %and35 = and i32 %28, 3 + %cmp36 = icmp eq i32 %and35, 0 + br i1 %cmp36, label %if.then38, label %if.else40 + +if.then38: ; preds = %if.end32 + %29 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags39 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %29, i32 0, i32 1 + %30 = load i32, i32* %flags39, align 4 + %or = or i32 %30, 4 + store i32 %or, i32* %flags39, align 4 + br label %if.end51 + +if.else40: ; preds = %if.end32 + %31 = load i32, i32* %flags.addr, align 4 + %and41 = and i32 %31, 3 + %cmp42 = icmp eq i32 %and41, 1 + %32 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags45 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %32, i32 0, i32 1 + %33 = load i32, i32* %flags45, align 4 + br i1 %cmp42, label %if.then44, label %if.else47 + +if.then44: ; preds = %if.else40 + %or46 = or i32 %33, 8 + store i32 %or46, i32* %flags45, align 4 + br label %if.end51 + +if.else47: ; preds = %if.else40 + %or49 = or i32 %33, 12 + store i32 %or49, i32* %flags45, align 4 + br label %if.end51 + +if.end51: ; preds = %if.then44, %if.else47, %if.then38 + %34 = load i32, i32* %fd, align 4 + store i32 %34, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end51, %if.then31, %if.then20, %if.then11, %if.then4, %if.then1 + %35 = load i32, i32* %retval, align 4 + ret i32 %35 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.exe_file_t* @__get_file(i32 %fd) #3 { +entry: + %retval = alloca %struct.exe_file_t*, align 8 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %cmp = icmp sge i32 %0, 0 + %1 = load i32, i32* %fd.addr, align 4 + %cmp1 = icmp slt i32 %1, 32 + %or.cond = and i1 %cmp, %cmp1 + br i1 %or.cond, label %if.then, label %if.end3 + +if.then: ; preds = %entry + %2 = load i32, i32* %fd.addr, align 4 + %idxprom = sext i32 %2 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + store %struct.exe_file_t* %arrayidx, %struct.exe_file_t** %f, align 8 + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 1 + %4 = load i32, i32* %flags, align 4 + %and = and i32 %4, 1 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.then + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + store %struct.exe_file_t* %5, %struct.exe_file_t** %retval, align 8 + br label %return + +if.end3: ; preds = %if.then, %entry + store %struct.exe_file_t* null, %struct.exe_file_t** %retval, align 8 + br label %return + +return: ; preds = %if.end3, %if.then2 + %6 = load %struct.exe_file_t*, %struct.exe_file_t** %retval, align 8 + ret %struct.exe_file_t* %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @utimes(i8* nonnull %path, %struct.timespec.0* %times) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %times.addr = alloca %struct.timespec.0*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + %newTimes = alloca [2 x %struct.timespec.0], align 16 + store i8* %path, i8** %path.addr, align 8 + store %struct.timespec.0* %times, %struct.timespec.0** %times.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end12 + +if.then: ; preds = %entry + %2 = load %struct.timespec.0*, %struct.timespec.0** %times.addr, align 8 + %tobool1 = icmp ne %struct.timespec.0* %2, null + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + %arrayidx = getelementptr inbounds [2 x %struct.timespec.0], [2 x %struct.timespec.0]* %newTimes, i64 0, i64 0 + %call3 = call i32 @gettimeofday(%struct.timespec.0* %arrayidx, i8* null) #11 + %arrayidx4 = getelementptr inbounds [2 x %struct.timespec.0], [2 x %struct.timespec.0]* %newTimes, i64 0, i64 1 + %arrayidx5 = getelementptr inbounds [2 x %struct.timespec.0], [2 x %struct.timespec.0]* %newTimes, i64 0, i64 0 + %3 = bitcast %struct.timespec.0* %arrayidx4 to i8* + %4 = bitcast %struct.timespec.0* %arrayidx5 to i8* + %5 = call i8* @memcpy(i8* %3, i8* %4, i64 16) + %arraydecay = getelementptr inbounds [2 x %struct.timespec.0], [2 x %struct.timespec.0]* %newTimes, i64 0, i64 0 + store %struct.timespec.0* %arraydecay, %struct.timespec.0** %times.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %6 = load %struct.timespec.0*, %struct.timespec.0** %times.addr, align 8 + %arrayidx6 = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %6, i64 0 + %tv_sec = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %arrayidx6, i32 0, i32 0 + %7 = load i64, i64* %tv_sec, align 8 + %8 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %8, i32 0, i32 2 + %9 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_atim = getelementptr inbounds %struct.stat64, %struct.stat64* %9, i32 0, i32 11 + %tv_sec7 = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %st_atim, i32 0, i32 0 + store i64 %7, i64* %tv_sec7, align 8 + %10 = load %struct.timespec.0*, %struct.timespec.0** %times.addr, align 8 + %arrayidx8 = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %10, i64 1 + %tv_sec9 = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %arrayidx8, i32 0, i32 0 + %11 = load i64, i64* %tv_sec9, align 8 + %12 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat10 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %12, i32 0, i32 2 + %13 = load %struct.stat64*, %struct.stat64** %stat10, align 8 + %st_mtim = getelementptr inbounds %struct.stat64, %struct.stat64* %13, i32 0, i32 12 + %tv_sec11 = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %st_mtim, i32 0, i32 0 + store i64 %11, i64* %tv_sec11, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.end12: ; preds = %entry + %14 = load i8*, i8** %path.addr, align 8 + %call13 = call i8* @__concretize_string(i8* %14) + %15 = load %struct.timespec.0*, %struct.timespec.0** %times.addr, align 8 + %call14 = call i64 (i64, ...) @syscall(i64 235, i8* %call13, %struct.timespec.0* %15) #11 + %conv = trunc i64 %call14 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end12, %if.end + %16 = load i32, i32* %retval, align 4 + ret i32 %16 +} + +; Function Attrs: nounwind +declare dso_local i32 @gettimeofday(%struct.timespec.0*, i8*) #4 + +; Function Attrs: argmemonly nounwind willreturn +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* noalias nocapture writeonly, i8* noalias nocapture readonly, i64, i1 immarg) #9 + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @futimesat(i32 %fd, i8* %path, %struct.timespec.0* %times) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %times.addr = alloca %struct.timespec.0*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.timespec.0* %times, %struct.timespec.0** %times.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %cmp = icmp ne i32 %0, -100 + br i1 %cmp, label %if.then, label %if.end8 + +if.then: ; preds = %entry + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.else, label %if.then1 + +if.then1: ; preds = %if.then + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 3 + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool3 = icmp ne %struct.exe_disk_file_t* %4, null + br i1 %tobool3, label %if.then4, label %if.end6 + +if.then4: ; preds = %if.else + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0)) + %call5 = call i32* @__errno_location() #25 + store i32 2, i32* %call5, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.else + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd7, align 8 + store i32 %6, i32* %fd.addr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end6, %entry + %7 = load i8*, i8** %path.addr, align 8 + %call9 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %7) + %tobool10 = icmp ne %struct.exe_disk_file_t* %call9, null + br i1 %tobool10, label %if.then11, label %if.end13 + +if.then11: ; preds = %if.end8 + %8 = load i8*, i8** %path.addr, align 8 + %9 = load %struct.timespec.0*, %struct.timespec.0** %times.addr, align 8 + %call12 = call i32 @utimes(i8* %8, %struct.timespec.0* %9) #11 + store i32 %call12, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.end8 + %10 = load i32, i32* %fd.addr, align 4 + %conv = sext i32 %10 to i64 + %11 = load i8*, i8** %path.addr, align 8 + %tobool14 = icmp ne i8* %11, null + br i1 %tobool14, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end13 + %12 = load i8*, i8** %path.addr, align 8 + %call15 = call i8* @__concretize_string(i8* %12) + br label %cond.end + +cond.end: ; preds = %if.end13, %cond.true + %cond = phi i8* [ %call15, %cond.true ], [ null, %if.end13 ] + %13 = load %struct.timespec.0*, %struct.timespec.0** %times.addr, align 8 + %call16 = call i64 (i64, ...) @syscall(i64 261, i64 %conv, i8* %cond, %struct.timespec.0* %13) #11 + %conv17 = trunc i64 %call16 to i32 + store i32 %conv17, i32* %retval, align 4 + br label %return + +return: ; preds = %cond.end, %if.then11, %if.then4, %if.then1 + %14 = load i32, i32* %retval, align 4 + ret i32 %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @close(i32 %fd) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %r = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 0, i32* %r, align 4 + %0 = load i32, i32* @close.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @close.n_calls, align 4 + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @close.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %9 = bitcast %struct.exe_file_t* %8 to i8* + %10 = call i8* @memset(i8* %9, i32 0, i64 24) + %11 = load i32, i32* %r, align 4 + store i32 %11, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %12 = load i32, i32* %retval, align 4 + ret i32 %12 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @read(i32 %fd, i8* %buf, i64 %count) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %r = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + %0 = load i32, i32* @read.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @read.n_calls, align 4 + %1 = load i64, i64* %count.addr, align 8 + %cmp = icmp eq i64 %1, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i64 0, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %buf.addr, align 8 + %cmp1 = icmp eq i8* %2, null + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + %call = call i32* @__errno_location() #25 + store i32 14, i32* %call, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %3 = load i32, i32* %fd.addr, align 4 + %call4 = call %struct.exe_file_t* @__get_file(i32 %3) + store %struct.exe_file_t* %call4, %struct.exe_file_t** %f, align 8 + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %4, null + br i1 %tobool, label %if.end7, label %if.then5 + +if.then5: ; preds = %if.end3 + %call6 = call i32* @__errno_location() #25 + store i32 9, i32* %call6, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end7: ; preds = %if.end3 + %5 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool8 = icmp ne i32 %5, 0 + br i1 %tobool8, label %land.lhs.true, label %if.end12 + +land.lhs.true: ; preds = %if.end7 + %6 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %7 = load i32, i32* %6, align 4 + %8 = load i32, i32* @read.n_calls, align 4 + %cmp9 = icmp eq i32 %7, %8 + br i1 %cmp9, label %if.then10, label %if.end12 + +if.then10: ; preds = %land.lhs.true + %9 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %9, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call11 = call i32* @__errno_location() #25 + store i32 5, i32* %call11, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end12: ; preds = %land.lhs.true, %if.end7 + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 3 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool13 = icmp ne %struct.exe_disk_file_t* %11, null + br i1 %tobool13, label %if.else38, label %if.then14 + +if.then14: ; preds = %if.end12 + %12 = load i8*, i8** %buf.addr, align 8 + %call15 = call i8* @__concretize_ptr(i8* %12) + store i8* %call15, i8** %buf.addr, align 8 + %13 = load i64, i64* %count.addr, align 8 + %call16 = call i64 @__concretize_size(i64 %13) + store i64 %call16, i64* %count.addr, align 8 + %14 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd17 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %14, i32 0, i32 0 + %15 = load i32, i32* %fd17, align 8 + %cmp18 = icmp eq i32 %15, 0 + %16 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd20 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %16, i32 0, i32 0 + %17 = load i32, i32* %fd20, align 8 + %18 = load i8*, i8** %buf.addr, align 8 + %19 = load i64, i64* %count.addr, align 8 + br i1 %cmp18, label %if.then19, label %if.else + +if.then19: ; preds = %if.then14 + %call21 = call i64 (i64, ...) @syscall(i64 0, i32 %17, i8* %18, i64 %19) #11 + %conv = trunc i64 %call21 to i32 + store i32 %conv, i32* %r, align 4 + br label %if.end25 + +if.else: ; preds = %if.then14 + %20 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %20, i32 0, i32 2 + %21 = load i64, i64* %off, align 8 + %call23 = call i64 (i64, ...) @syscall(i64 17, i32 %17, i8* %18, i64 %19, i64 %21) #11 + %conv24 = trunc i64 %call23 to i32 + store i32 %conv24, i32* %r, align 4 + br label %if.end25 + +if.end25: ; preds = %if.else, %if.then19 + %22 = load i32, i32* %r, align 4 + %cmp26 = icmp eq i32 %22, -1 + br i1 %cmp26, label %if.then28, label %if.end29 + +if.then28: ; preds = %if.end25 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end29: ; preds = %if.end25 + %23 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd30 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %23, i32 0, i32 0 + %24 = load i32, i32* %fd30, align 8 + %cmp31 = icmp ne i32 %24, 0 + br i1 %cmp31, label %if.then33, label %if.end36 + +if.then33: ; preds = %if.end29 + %25 = load i32, i32* %r, align 4 + %conv34 = sext i32 %25 to i64 + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off35 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 2 + %27 = load i64, i64* %off35, align 8 + %add = add nsw i64 %27, %conv34 + store i64 %add, i64* %off35, align 8 + br label %if.end36 + +if.end36: ; preds = %if.then33, %if.end29 + %28 = load i32, i32* %r, align 4 + %conv37 = sext i32 %28 to i64 + store i64 %conv37, i64* %retval, align 8 + br label %return + +if.else38: ; preds = %if.end12 + %29 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off39 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %29, i32 0, i32 2 + %30 = load i64, i64* %off39, align 8 + %cmp40 = icmp sge i64 %30, 0 + br i1 %cmp40, label %if.end44, label %if.else43 + +if.else43: ; preds = %if.else38 + call void @__assert_fail(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.3, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 393, i8* getelementptr inbounds ([34 x i8], [34 x i8]* @__PRETTY_FUNCTION__.read, i64 0, i64 0)) #26 + unreachable + +if.end44: ; preds = %if.else38 + %31 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile45 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %31, i32 0, i32 3 + %32 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile45, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %32, i32 0, i32 0 + %33 = load i32, i32* %size, align 8 + %conv46 = zext i32 %33 to i64 + %34 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off47 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %34, i32 0, i32 2 + %35 = load i64, i64* %off47, align 8 + %cmp48 = icmp slt i64 %conv46, %35 + br i1 %cmp48, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.end44 + store i64 0, i64* %retval, align 8 + br label %return + +if.end51: ; preds = %if.end44 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off52 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 2 + %37 = load i64, i64* %off52, align 8 + %38 = load i64, i64* %count.addr, align 8 + %add53 = add i64 %37, %38 + %39 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %39, i32 0, i32 3 + %40 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile54, align 8 + %size55 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %40, i32 0, i32 0 + %41 = load i32, i32* %size55, align 8 + %conv56 = zext i32 %41 to i64 + %cmp57 = icmp ugt i64 %add53, %conv56 + br i1 %cmp57, label %if.then59, label %if.end64 + +if.then59: ; preds = %if.end51 + %42 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile60 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %42, i32 0, i32 3 + %43 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile60, align 8 + %size61 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %43, i32 0, i32 0 + %44 = load i32, i32* %size61, align 8 + %conv62 = zext i32 %44 to i64 + %45 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off63 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %45, i32 0, i32 2 + %46 = load i64, i64* %off63, align 8 + %sub = sub nsw i64 %conv62, %46 + store i64 %sub, i64* %count.addr, align 8 + br label %if.end64 + +if.end64: ; preds = %if.then59, %if.end51 + %47 = load i8*, i8** %buf.addr, align 8 + %48 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile65 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %48, i32 0, i32 3 + %49 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile65, align 8 + %contents = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %49, i32 0, i32 1 + %50 = load i8*, i8** %contents, align 8 + %51 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off66 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %51, i32 0, i32 2 + %52 = load i64, i64* %off66, align 8 + %add.ptr = getelementptr inbounds i8, i8* %50, i64 %52 + %53 = load i64, i64* %count.addr, align 8 + %54 = call i8* @memcpy(i8* %47, i8* %add.ptr, i64 %53) + %55 = load i64, i64* %count.addr, align 8 + %56 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off67 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %56, i32 0, i32 2 + %57 = load i64, i64* %off67, align 8 + %add68 = add i64 %57, %55 + store i64 %add68, i64* %off67, align 8 + %58 = load i64, i64* %count.addr, align 8 + store i64 %58, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end64, %if.then50, %if.end36, %if.then28, %if.then10, %if.then5, %if.then2, %if.then + %59 = load i64, i64* %retval, align 8 + ret i64 %59 +} + +; Function Attrs: noreturn nounwind +declare dso_local void @__assert_fail(i8*, i8*, i32, i8*) #10 + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @write(i32 %fd, i8* %buf, i64 %count) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %r = alloca i32, align 4 + %actual_count = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + %0 = load i32, i32* @write.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @write.n_calls, align 4 + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @write.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + br i1 %tobool6, label %if.else42, label %if.then7 + +if.then7: ; preds = %if.end5 + %10 = load i8*, i8** %buf.addr, align 8 + %call8 = call i8* @__concretize_ptr(i8* %10) + store i8* %call8, i8** %buf.addr, align 8 + %11 = load i64, i64* %count.addr, align 8 + %call9 = call i64 @__concretize_size(i64 %11) + store i64 %call9, i64* %count.addr, align 8 + %12 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd10 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %12, i32 0, i32 0 + %13 = load i32, i32* %fd10, align 8 + %cmp11 = icmp eq i32 %13, 1 + br i1 %cmp11, label %if.then14, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then7 + %14 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd12 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %14, i32 0, i32 0 + %15 = load i32, i32* %fd12, align 8 + %cmp13 = icmp eq i32 %15, 2 + br i1 %cmp13, label %if.then14, label %if.else + +if.then14: ; preds = %lor.lhs.false, %if.then7 + %16 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd15 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %16, i32 0, i32 0 + %17 = load i32, i32* %fd15, align 8 + %18 = load i8*, i8** %buf.addr, align 8 + %19 = load i64, i64* %count.addr, align 8 + %call16 = call i64 (i64, ...) @syscall(i64 1, i32 %17, i8* %18, i64 %19) #11 + %conv = trunc i64 %call16 to i32 + store i32 %conv, i32* %r, align 4 + br label %if.end20 + +if.else: ; preds = %lor.lhs.false + %20 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd17 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %20, i32 0, i32 0 + %21 = load i32, i32* %fd17, align 8 + %22 = load i8*, i8** %buf.addr, align 8 + %23 = load i64, i64* %count.addr, align 8 + %24 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %24, i32 0, i32 2 + %25 = load i64, i64* %off, align 8 + %call18 = call i64 (i64, ...) @syscall(i64 18, i32 %21, i8* %22, i64 %23, i64 %25) #11 + %conv19 = trunc i64 %call18 to i32 + store i32 %conv19, i32* %r, align 4 + br label %if.end20 + +if.end20: ; preds = %if.else, %if.then14 + %26 = load i32, i32* %r, align 4 + %cmp21 = icmp eq i32 %26, -1 + br i1 %cmp21, label %if.then23, label %if.end24 + +if.then23: ; preds = %if.end20 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end24: ; preds = %if.end20 + %27 = load i32, i32* %r, align 4 + %cmp25 = icmp sge i32 %27, 0 + br i1 %cmp25, label %if.end29, label %if.else28 + +if.else28: ; preds = %if.end24 + call void @__assert_fail(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.5.7, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 445, i8* getelementptr inbounds ([41 x i8], [41 x i8]* @__PRETTY_FUNCTION__.write, i64 0, i64 0)) #26 + unreachable + +if.end29: ; preds = %if.end24 + %28 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd30 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %28, i32 0, i32 0 + %29 = load i32, i32* %fd30, align 8 + %cmp31 = icmp ne i32 %29, 1 + br i1 %cmp31, label %land.lhs.true33, label %if.end40 + +land.lhs.true33: ; preds = %if.end29 + %30 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd34 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %30, i32 0, i32 0 + %31 = load i32, i32* %fd34, align 8 + %cmp35 = icmp ne i32 %31, 2 + br i1 %cmp35, label %if.then37, label %if.end40 + +if.then37: ; preds = %land.lhs.true33 + %32 = load i32, i32* %r, align 4 + %conv38 = sext i32 %32 to i64 + %33 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off39 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %33, i32 0, i32 2 + %34 = load i64, i64* %off39, align 8 + %add = add nsw i64 %34, %conv38 + store i64 %add, i64* %off39, align 8 + br label %if.end40 + +if.end40: ; preds = %if.then37, %land.lhs.true33, %if.end29 + %35 = load i32, i32* %r, align 4 + %conv41 = sext i32 %35 to i64 + store i64 %conv41, i64* %retval, align 8 + br label %return + +if.else42: ; preds = %if.end5 + store i64 0, i64* %actual_count, align 8 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off43 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 2 + %37 = load i64, i64* %off43, align 8 + %38 = load i64, i64* %count.addr, align 8 + %add44 = add i64 %37, %38 + %39 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile45 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %39, i32 0, i32 3 + %40 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile45, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %40, i32 0, i32 0 + %41 = load i32, i32* %size, align 8 + %conv46 = zext i32 %41 to i64 + %cmp47 = icmp ule i64 %add44, %conv46 + br i1 %cmp47, label %if.then49, label %if.else50 + +if.then49: ; preds = %if.else42 + %42 = load i64, i64* %count.addr, align 8 + store i64 %42, i64* %actual_count, align 8 + br label %if.end67 + +if.else50: ; preds = %if.else42 + %43 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 3), align 8 + %tobool51 = icmp ne i32 %43, 0 + br i1 %tobool51, label %if.then52, label %if.else53 + +if.then52: ; preds = %if.else50 + call void @__assert_fail(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.6, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 458, i8* getelementptr inbounds ([41 x i8], [41 x i8]* @__PRETTY_FUNCTION__.write, i64 0, i64 0)) #26 + unreachable + +if.else53: ; preds = %if.else50 + %44 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %44, i32 0, i32 2 + %45 = load i64, i64* %off54, align 8 + %46 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile55 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %46, i32 0, i32 3 + %47 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile55, align 8 + %size56 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %47, i32 0, i32 0 + %48 = load i32, i32* %size56, align 8 + %conv57 = zext i32 %48 to i64 + %cmp58 = icmp slt i64 %45, %conv57 + br i1 %cmp58, label %if.then60, label %if.end67 + +if.then60: ; preds = %if.else53 + %49 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile61 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %49, i32 0, i32 3 + %50 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile61, align 8 + %size62 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %50, i32 0, i32 0 + %51 = load i32, i32* %size62, align 8 + %conv63 = zext i32 %51 to i64 + %52 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off64 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %52, i32 0, i32 2 + %53 = load i64, i64* %off64, align 8 + %sub = sub nsw i64 %conv63, %53 + store i64 %sub, i64* %actual_count, align 8 + br label %if.end67 + +if.end67: ; preds = %if.then60, %if.else53, %if.then49 + %54 = load i64, i64* %actual_count, align 8 + %tobool68 = icmp ne i64 %54, 0 + br i1 %tobool68, label %if.then69, label %if.end72 + +if.then69: ; preds = %if.end67 + %55 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile70 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %55, i32 0, i32 3 + %56 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile70, align 8 + %contents = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %56, i32 0, i32 1 + %57 = load i8*, i8** %contents, align 8 + %58 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off71 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %58, i32 0, i32 2 + %59 = load i64, i64* %off71, align 8 + %add.ptr = getelementptr inbounds i8, i8* %57, i64 %59 + %60 = load i8*, i8** %buf.addr, align 8 + %61 = load i64, i64* %actual_count, align 8 + %62 = call i8* @memcpy(i8* %add.ptr, i8* %60, i64 %61) + br label %if.end72 + +if.end72: ; preds = %if.then69, %if.end67 + %63 = load i64, i64* %count.addr, align 8 + %64 = load i64, i64* %actual_count, align 8 + %cmp73 = icmp ne i64 %63, %64 + br i1 %cmp73, label %if.then75, label %if.end76 + +if.then75: ; preds = %if.end72 + call void @gs_warning(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.7, i64 0, i64 0)) + br label %if.end76 + +if.end76: ; preds = %if.then75, %if.end72 + %65 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile77 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %65, i32 0, i32 3 + %66 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile77, align 8 + %67 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + %cmp78 = icmp eq %struct.exe_disk_file_t* %66, %67 + br i1 %cmp78, label %if.then80, label %if.end84 + +if.then80: ; preds = %if.end76 + %68 = load i64, i64* %actual_count, align 8 + %69 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 3), align 8 + %conv81 = zext i32 %69 to i64 + %add82 = add i64 %conv81, %68 + %conv83 = trunc i64 %add82 to i32 + store i32 %conv83, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 3), align 8 + br label %if.end84 + +if.end84: ; preds = %if.then80, %if.end76 + %70 = load i64, i64* %count.addr, align 8 + %71 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off85 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %71, i32 0, i32 2 + %72 = load i64, i64* %off85, align 8 + %add86 = add i64 %72, %70 + store i64 %add86, i64* %off85, align 8 + %73 = load i64, i64* %count.addr, align 8 + store i64 %73, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end84, %if.end40, %if.then23, %if.then3, %if.then + %74 = load i64, i64* %retval, align 8 + ret i64 %74 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @__fd_lseek(i32 %fd, i64 %offset, i32 %whence) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + %new_off = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + %4 = load i32, i32* %whence.addr, align 4 + br i1 %tobool2, label %if.end24, label %if.then3 + +if.then3: ; preds = %if.end + %cmp = icmp eq i32 %4, 0 + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd5 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd5, align 8 + br i1 %cmp, label %if.then4, label %if.else + +if.then4: ; preds = %if.then3 + %7 = load i64, i64* %offset.addr, align 8 + %call6 = call i64 (i64, ...) @syscall(i64 8, i32 %6, i64 %7, i32 0) #11 + store i64 %call6, i64* %new_off, align 8 + br label %if.end19 + +if.else: ; preds = %if.then3 + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 2 + %9 = load i64, i64* %off, align 8 + %call8 = call i64 (i64, ...) @syscall(i64 8, i32 %6, i64 %9, i32 0) #11 + store i64 %call8, i64* %new_off, align 8 + %10 = load i64, i64* %new_off, align 8 + %cmp9 = icmp ne i64 %10, -1 + br i1 %cmp9, label %if.then10, label %if.end19 + +if.then10: ; preds = %if.else + %11 = load i64, i64* %new_off, align 8 + %12 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off11 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %12, i32 0, i32 2 + %13 = load i64, i64* %off11, align 8 + %cmp12 = icmp eq i64 %11, %13 + br i1 %cmp12, label %if.end15, label %if.else14 + +if.else14: ; preds = %if.then10 + call void @__assert_fail(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.8, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 504, i8* getelementptr inbounds ([38 x i8], [38 x i8]* @__PRETTY_FUNCTION__.__fd_lseek, i64 0, i64 0)) #26 + unreachable + +if.end15: ; preds = %if.then10 + %14 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd16 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %14, i32 0, i32 0 + %15 = load i32, i32* %fd16, align 8 + %16 = load i64, i64* %offset.addr, align 8 + %17 = load i32, i32* %whence.addr, align 4 + %call17 = call i64 (i64, ...) @syscall(i64 8, i32 %15, i64 %16, i32 %17) #11 + store i64 %call17, i64* %new_off, align 8 + br label %if.end19 + +if.end19: ; preds = %if.else, %if.end15, %if.then4 + %18 = load i64, i64* %new_off, align 8 + %cmp20 = icmp eq i64 %18, -1 + br i1 %cmp20, label %if.then21, label %if.end22 + +if.then21: ; preds = %if.end19 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end22: ; preds = %if.end19 + %19 = load i64, i64* %new_off, align 8 + %20 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off23 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %20, i32 0, i32 2 + store i64 %19, i64* %off23, align 8 + %21 = load i64, i64* %new_off, align 8 + store i64 %21, i64* %retval, align 8 + br label %return + +if.end24: ; preds = %if.end + br label %NodeBlock3 + +NodeBlock3: ; preds = %if.end24 + %case.cmp4 = icmp eq i32 %4, 0 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %4, 1 + br i1 %case.cmp2, label %sw.bb25, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %4, 2 + br i1 %case.cmp, label %sw.bb27, label %newDefault + +sw.bb: ; preds = %NodeBlock3 + %22 = load i64, i64* %offset.addr, align 8 + store i64 %22, i64* %new_off, align 8 + br label %sw.epilog + +sw.bb25: ; preds = %NodeBlock1 + %23 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off26 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %23, i32 0, i32 2 + %24 = load i64, i64* %off26, align 8 + %25 = load i64, i64* %offset.addr, align 8 + %add = add nsw i64 %24, %25 + store i64 %add, i64* %new_off, align 8 + br label %sw.epilog + +sw.bb27: ; preds = %NodeBlock + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile28 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 3 + %27 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile28, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %27, i32 0, i32 0 + %28 = load i32, i32* %size, align 8 + %conv = zext i32 %28 to i64 + %29 = load i64, i64* %offset.addr, align 8 + %add29 = add nsw i64 %conv, %29 + store i64 %add29, i64* %new_off, align 8 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + %call30 = call i32* @__errno_location() #25 + store i32 22, i32* %call30, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +sw.epilog: ; preds = %sw.bb27, %sw.bb25, %sw.bb + %30 = load i64, i64* %new_off, align 8 + %cmp31 = icmp slt i64 %30, 0 + br i1 %cmp31, label %if.then33, label %if.end35 + +if.then33: ; preds = %sw.epilog + %call34 = call i32* @__errno_location() #25 + store i32 22, i32* %call34, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end35: ; preds = %sw.epilog + %31 = load i64, i64* %new_off, align 8 + %32 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off36 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %32, i32 0, i32 2 + store i64 %31, i64* %off36, align 8 + %33 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off37 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %33, i32 0, i32 2 + %34 = load i64, i64* %off37, align 8 + store i64 %34, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end35, %if.then33, %sw.default, %if.end22, %if.then21, %if.then + %35 = load i64, i64* %retval, align 8 + ret i64 %35 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_stat(i8* %path, %struct.stat64* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %3 = bitcast %struct.stat64* %2 to i8* + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %4, i32 0, i32 2 + %5 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %6 = bitcast %struct.stat64* %5 to i8* + %7 = call i8* @memcpy(i8* %3, i8* %6, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load i8*, i8** %path.addr, align 8 + %call1 = call i8* @__concretize_string(i8* %8) + %9 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %call2 = call i64 (i64, ...) @syscall(i64 4, i8* %call1, %struct.stat64* %9) #11 + %conv = trunc i64 %call2 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %10 = load i32, i32* %retval, align 4 + ret i32 %10 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstatat(i32 %fd, i8* nonnull %path, %struct.stat64* nonnull %buf, i32 %flags) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %flags.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %dfile9 = alloca %struct.exe_disk_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %cmp = icmp ne i32 %0, -100 + br i1 %cmp, label %if.then, label %if.end8 + +if.then: ; preds = %entry + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.else, label %if.then1 + +if.then1: ; preds = %if.then + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 3 + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool3 = icmp ne %struct.exe_disk_file_t* %4, null + br i1 %tobool3, label %if.then4, label %if.end6 + +if.then4: ; preds = %if.else + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0)) + %call5 = call i32* @__errno_location() #25 + store i32 2, i32* %call5, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.else + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd7, align 8 + store i32 %6, i32* %fd.addr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end6, %entry + %7 = load i8*, i8** %path.addr, align 8 + %call10 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %7) + store %struct.exe_disk_file_t* %call10, %struct.exe_disk_file_t** %dfile9, align 8 + %8 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile9, align 8 + %tobool11 = icmp ne %struct.exe_disk_file_t* %8, null + br i1 %tobool11, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.end8 + %9 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %10 = bitcast %struct.stat64* %9 to i8* + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile9, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %11, i32 0, i32 2 + %12 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %13 = bitcast %struct.stat64* %12 to i8* + %14 = call i8* @memcpy(i8* %10, i8* %13, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.end8 + %15 = load i32, i32* %fd.addr, align 4 + %conv = sext i32 %15 to i64 + %16 = load i8*, i8** %path.addr, align 8 + %tobool14 = icmp ne i8* %16, null + br i1 %tobool14, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end13 + %17 = load i8*, i8** %path.addr, align 8 + %call15 = call i8* @__concretize_string(i8* %17) + br label %cond.end + +cond.end: ; preds = %if.end13, %cond.true + %cond = phi i8* [ %call15, %cond.true ], [ null, %if.end13 ] + %18 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %19 = load i32, i32* %flags.addr, align 4 + %conv16 = sext i32 %19 to i64 + %call17 = call i64 (i64, ...) @syscall(i64 262, i64 %conv, i8* %cond, %struct.stat64* %18, i64 %conv16) #11 + %conv18 = trunc i64 %call17 to i32 + store i32 %conv18, i32* %retval, align 4 + br label %return + +return: ; preds = %cond.end, %if.then12, %if.then4, %if.then1 + %20 = load i32, i32* %retval, align 4 + ret i32 %20 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_lstat(i8* %path, %struct.stat64* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %3 = bitcast %struct.stat64* %2 to i8* + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %4, i32 0, i32 2 + %5 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %6 = bitcast %struct.stat64* %5 to i8* + %7 = call i8* @memcpy(i8* %3, i8* %6, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load i8*, i8** %path.addr, align 8 + %call1 = call i8* @__concretize_string(i8* %8) + %9 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %call2 = call i64 (i64, ...) @syscall(i64 6, i8* %call1, %struct.stat64* %9) #11 + %conv = trunc i64 %call2 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %10 = load i32, i32* %retval, align 4 + ret i32 %10 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chdir(i8* nonnull %path) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0)) + %call1 = call i32* @__errno_location() #25 + store i32 2, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %2) + %call3 = call i64 (i64, ...) @syscall(i64 80, i8* %call2) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %3 = load i32, i32* %retval, align 4 + ret i32 %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fchdir(i32 %fd) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %if.end + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 2, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd6, align 8 + %call7 = call i64 (i64, ...) @syscall(i64 81, i32 %5) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chmod(i8* nonnull %path, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load i32, i32* @chmod.n_calls, align 4 + %inc = add nsw i32 %1, 1 + store i32 %inc, i32* @chmod.n_calls, align 4 + %2 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool = icmp ne i32 %2, 0 + br i1 %tobool, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %3 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 11), align 8 + %4 = load i32, i32* %3, align 4 + %5 = load i32, i32* @chmod.n_calls, align 4 + %cmp = icmp eq i32 %4, %5 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %6 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %6, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call1 = call i32* @__errno_location() #25 + store i32 5, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + %7 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %7, null + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %if.end + %8 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %9 = load i32, i32* %mode.addr, align 4 + %call4 = call i32 @__df_chmod(%struct.exe_disk_file_t* %8, i32 %9) + store i32 %call4, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %if.end + %10 = load i8*, i8** %path.addr, align 8 + %call6 = call i8* @__concretize_string(i8* %10) + %11 = load i32, i32* %mode.addr, align 4 + %call7 = call i64 (i64, ...) @syscall(i64 90, i8* %call6, i32 %11) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %12 = load i32, i32* %retval, align 4 + ret i32 %12 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__df_chmod(%struct.exe_disk_file_t* %df, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %df.addr = alloca %struct.exe_disk_file_t*, align 8 + %mode.addr = alloca i32, align 4 + store %struct.exe_disk_file_t* %df, %struct.exe_disk_file_t** %df.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %call = call i32 @geteuid() #11 + %0 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %0, i32 0, i32 2 + %1 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_uid = getelementptr inbounds %struct.stat64, %struct.stat64* %1, i32 0, i32 4 + %2 = load i32, i32* %st_uid, align 4 + %cmp = icmp eq i32 %call, %2 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %call1 = call i32 @getgid() #11 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %3, i32 0, i32 2 + %4 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + %st_gid = getelementptr inbounds %struct.stat64, %struct.stat64* %4, i32 0, i32 5 + %5 = load i32, i32* %st_gid, align 8 + %cmp3 = icmp ne i32 %call1, %5 + br i1 %cmp3, label %if.then4, label %if.end + +if.then4: ; preds = %if.then + %6 = load i32, i32* %mode.addr, align 4 + %and = and i32 %6, -1025 + store i32 %and, i32* %mode.addr, align 4 + br label %if.end + +if.end: ; preds = %if.then4, %if.then + %7 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat5 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %7, i32 0, i32 2 + %8 = load %struct.stat64*, %struct.stat64** %stat5, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %8, i32 0, i32 3 + %9 = load i32, i32* %st_mode, align 8 + %and6 = and i32 %9, -4096 + %10 = load i32, i32* %mode.addr, align 4 + %and7 = and i32 %10, 4095 + %or = or i32 %and6, %and7 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat8 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %11, i32 0, i32 2 + %12 = load %struct.stat64*, %struct.stat64** %stat8, align 8 + %st_mode9 = getelementptr inbounds %struct.stat64, %struct.stat64* %12, i32 0, i32 3 + store i32 %or, i32* %st_mode9, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %call10 = call i32* @__errno_location() #25 + store i32 1, i32* %call10, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.else, %if.end + %13 = load i32, i32* %retval, align 4 + ret i32 %13 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fchmod(i32 %fd, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i32, i32* @fchmod.n_calls, align 4 + %inc = add nsw i32 %2, 1 + store i32 %inc, i32* @fchmod.n_calls, align 4 + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 12), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @fchmod.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + br i1 %tobool6, label %if.then7, label %if.end10 + +if.then7: ; preds = %if.end5 + %dfile8 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 3 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile8, align 8 + %12 = load i32, i32* %mode.addr, align 4 + %call9 = call i32 @__df_chmod(%struct.exe_disk_file_t* %11, i32 %12) + store i32 %call9, i32* %retval, align 4 + br label %return + +if.end10: ; preds = %if.end5 + %fd11 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 0 + %13 = load i32, i32* %fd11, align 8 + %14 = load i32, i32* %mode.addr, align 4 + %call12 = call i64 (i64, ...) @syscall(i64 91, i32 %13, i32 %14) #11 + %conv = trunc i64 %call12 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end10, %if.then7, %if.then3, %if.then + %15 = load i32, i32* %retval, align 4 + ret i32 %15 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chown(i8* nonnull %path, i32 %owner, i32 %group) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %df, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %3 = load i32, i32* %owner.addr, align 4 + %4 = load i32, i32* %group.addr, align 4 + %call1 = call i32 @__df_chown(%struct.exe_disk_file_t* %2, i32 %3, i32 %4) + store i32 %call1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %5 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %5) + %6 = load i32, i32* %owner.addr, align 4 + %7 = load i32, i32* %group.addr, align 4 + %call3 = call i64 (i64, ...) @syscall(i64 92, i8* %call2, i32 %6, i32 %7) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__df_chown(%struct.exe_disk_file_t* %df, i32 %owner, i32 %group) #3 { +entry: + %df.addr = alloca %struct.exe_disk_file_t*, align 8 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + store %struct.exe_disk_file_t* %df, %struct.exe_disk_file_t** %df.addr, align 8 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + call void @gs_warning(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.26, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fchown(i32 %fd, i32 %owner, i32 %group) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end6 + +if.then3: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile4 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 3 + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile4, align 8 + %6 = load i32, i32* %owner.addr, align 4 + %7 = load i32, i32* %group.addr, align 4 + %call5 = call i32 @__df_chown(%struct.exe_disk_file_t* %5, i32 %6, i32 %7) + store i32 %call5, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.end + %8 = load i32, i32* %fd.addr, align 4 + %9 = load i32, i32* %owner.addr, align 4 + %10 = load i32, i32* %group.addr, align 4 + %call7 = call i64 (i64, ...) @syscall(i64 93, i32 %8, i32 %9, i32 %10) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end6, %if.then3, %if.then + %11 = load i32, i32* %retval, align 4 + ret i32 %11 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @lchown(i8* nonnull %path, i32 %owner, i32 %group) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %df, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %3 = load i32, i32* %owner.addr, align 4 + %4 = load i32, i32* %group.addr, align 4 + %call1 = call i32 @__df_chown(%struct.exe_disk_file_t* %2, i32 %3, i32 %4) + store i32 %call1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %5 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %5) + %6 = load i32, i32* %owner.addr, align 4 + %7 = load i32, i32* %group.addr, align 4 + %call3 = call i64 (i64, ...) @syscall(i64 92, i8* %call2, i32 %6, i32 %7) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_fstat(i32 %fd, %struct.stat64* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.end6, label %if.then3 + +if.then3: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd4 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd4, align 8 + %6 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %call5 = call i64 (i64, ...) @syscall(i64 5, i32 %5, %struct.stat64* %6) #11 + %conv = trunc i64 %call5 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.end + %7 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %8 = bitcast %struct.stat64* %7 to i8* + %9 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %9, i32 0, i32 3 + %10 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile7, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %10, i32 0, i32 2 + %11 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %12 = bitcast %struct.stat64* %11 to i8* + %13 = call i8* @memcpy(i8* %8, i8* %12, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end6, %if.then3, %if.then + %14 = load i32, i32* %retval, align 4 + ret i32 %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_ftruncate(i32 %fd, i64 %length) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %length.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %length, i64* %length.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load i32, i32* @__fd_ftruncate.n_calls, align 4 + %inc = add nsw i32 %1, 1 + store i32 %inc, i32* @__fd_ftruncate.n_calls, align 4 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @__fd_ftruncate.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + br i1 %tobool6, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end5 + call void @gs_warning(i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.10, i64 0, i64 0)) + %call8 = call i32* @__errno_location() #25 + store i32 5, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end9: ; preds = %if.end5 + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd10 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 0 + %11 = load i32, i32* %fd10, align 8 + %12 = load i64, i64* %length.addr, align 8 + %call11 = call i64 (i64, ...) @syscall(i64 77, i32 %11, i64 %12) #11 + %conv = trunc i64 %call11 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end9, %if.then7, %if.then3, %if.then + %13 = load i32, i32* %retval, align 4 + ret i32 %13 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_getdents(i32 %fd, %struct.dirent64* %dirp, i32 %count) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %dirp.addr = alloca %struct.dirent64*, align 8 + %count.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %i = alloca i64, align 8 + %pad = alloca i64, align 8 + %bytes = alloca i64, align 8 + %df = alloca %struct.exe_disk_file_t*, align 8 + %os_pos = alloca i64, align 8 + %res = alloca i32, align 4 + %s = alloca i64, align 8 + %pos = alloca i32, align 4 + %dp = alloca %struct.dirent64*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.dirent64* %dirp, %struct.dirent64** %dirp.addr, align 8 + store i32 %count, i32* %count.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.else + +if.then3: ; preds = %if.end + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 22, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 2 + %5 = load i64, i64* %off, align 8 + %cmp = icmp ult i64 %5, 4096 + br i1 %cmp, label %if.then5, label %if.else43 + +if.then5: ; preds = %if.else + store i64 0, i64* %bytes, align 8 + %6 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %6, i32 0, i32 2 + %7 = load i64, i64* %off6, align 8 + %div = udiv i64 %7, 280 + store i64 %div, i64* %i, align 8 + %8 = load i64, i64* %i, align 8 + %mul = mul i64 %8, 280 + %9 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %9, i32 0, i32 2 + %10 = load i64, i64* %off7, align 8 + %cmp8 = icmp ne i64 %mul, %10 + br i1 %cmp8, label %if.then11, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then5 + %11 = load i64, i64* %i, align 8 + %12 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %conv = zext i32 %12 to i64 + %cmp9 = icmp sgt i64 %11, %conv + br i1 %cmp9, label %if.then11, label %for.cond + +if.then11: ; preds = %lor.lhs.false, %if.then5 + %call12 = call i32* @__errno_location() #25 + store i32 22, i32* %call12, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +for.cond: ; preds = %lor.lhs.false, %for.body + %13 = load i64, i64* %i, align 8 + %14 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %conv14 = zext i32 %14 to i64 + %cmp15 = icmp slt i64 %13, %conv14 + br i1 %cmp15, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %15 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %16 = load i64, i64* %i, align 8 + %arrayidx = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %15, i64 %16 + store %struct.exe_disk_file_t* %arrayidx, %struct.exe_disk_file_t** %df, align 8 + %17 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %17, i32 0, i32 2 + %18 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %18, i32 0, i32 1 + %19 = load i64, i64* %st_ino, align 8 + %20 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_ino = getelementptr inbounds %struct.dirent64, %struct.dirent64* %20, i32 0, i32 0 + store i64 %19, i64* %d_ino, align 8 + %21 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen = getelementptr inbounds %struct.dirent64, %struct.dirent64* %21, i32 0, i32 2 + store i16 280, i16* %d_reclen, align 8 + %22 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat17 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %22, i32 0, i32 2 + %23 = load %struct.stat64*, %struct.stat64** %stat17, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %23, i32 0, i32 3 + %24 = load i32, i32* %st_mode, align 8 + %and = and i32 %24, 61440 + %shr = lshr i32 %and, 12 + %conv18 = trunc i32 %shr to i8 + %25 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_type = getelementptr inbounds %struct.dirent64, %struct.dirent64* %25, i32 0, i32 3 + store i8 %conv18, i8* %d_type, align 2 + %26 = load i64, i64* %i, align 8 + %add = add nsw i64 65, %26 + %conv19 = trunc i64 %add to i8 + %27 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_name = getelementptr inbounds %struct.dirent64, %struct.dirent64* %27, i32 0, i32 4 + %arrayidx20 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name, i64 0, i64 0 + store i8 %conv19, i8* %arrayidx20, align 1 + %28 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_name21 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %28, i32 0, i32 4 + %arrayidx22 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name21, i64 0, i64 1 + store i8 0, i8* %arrayidx22, align 1 + %29 = load i64, i64* %i, align 8 + %add23 = add nsw i64 %29, 1 + %mul24 = mul i64 %add23, 280 + %30 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_off = getelementptr inbounds %struct.dirent64, %struct.dirent64* %30, i32 0, i32 1 + store i64 %mul24, i64* %d_off, align 8 + %31 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen25 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %31, i32 0, i32 2 + %32 = load i16, i16* %d_reclen25, align 8 + %conv26 = zext i16 %32 to i64 + %33 = load i64, i64* %bytes, align 8 + %add27 = add nsw i64 %33, %conv26 + store i64 %add27, i64* %bytes, align 8 + %34 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %incdec.ptr = getelementptr inbounds %struct.dirent64, %struct.dirent64* %34, i32 1 + store %struct.dirent64* %incdec.ptr, %struct.dirent64** %dirp.addr, align 8 + %35 = load i64, i64* %i, align 8 + %inc = add nsw i64 %35, 1 + store i64 %inc, i64* %i, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %36 = load i32, i32* %count.addr, align 4 + %cmp28 = icmp uge i32 %36, 4096 + %37 = load i32, i32* %count.addr, align 4 + %cond = select i1 %cmp28, i32 4096, i32 %37 + %conv30 = zext i32 %cond to i64 + store i64 %conv30, i64* %pad, align 8 + %38 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_ino31 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %38, i32 0, i32 0 + store i64 0, i64* %d_ino31, align 8 + %39 = load i64, i64* %pad, align 8 + %40 = load i64, i64* %bytes, align 8 + %sub = sub nsw i64 %39, %40 + %conv32 = trunc i64 %sub to i16 + %41 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen33 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %41, i32 0, i32 2 + store i16 %conv32, i16* %d_reclen33, align 8 + %42 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_type34 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %42, i32 0, i32 3 + store i8 0, i8* %d_type34, align 2 + %43 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_name35 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %43, i32 0, i32 4 + %arrayidx36 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name35, i64 0, i64 0 + store i8 0, i8* %arrayidx36, align 1 + %44 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_off37 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %44, i32 0, i32 1 + store i64 4096, i64* %d_off37, align 8 + %45 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen38 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %45, i32 0, i32 2 + %46 = load i16, i16* %d_reclen38, align 8 + %conv39 = zext i16 %46 to i64 + %47 = load i64, i64* %bytes, align 8 + %add40 = add nsw i64 %47, %conv39 + store i64 %add40, i64* %bytes, align 8 + %48 = load i64, i64* %pad, align 8 + %49 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off41 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %49, i32 0, i32 2 + store i64 %48, i64* %off41, align 8 + %50 = load i64, i64* %bytes, align 8 + %conv42 = trunc i64 %50 to i32 + store i32 %conv42, i32* %retval, align 4 + br label %return + +if.else43: ; preds = %if.else + %51 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off44 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %51, i32 0, i32 2 + %52 = load i64, i64* %off44, align 8 + %sub45 = sub nsw i64 %52, 4096 + store i64 %sub45, i64* %os_pos, align 8 + store i64 0, i64* %s, align 8 + %53 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %54 = bitcast %struct.dirent64* %53 to i8* + %55 = load i32, i32* %count.addr, align 4 + %conv46 = zext i32 %55 to i64 + %56 = call i8* @memset(i8* %54, i32 0, i64 %conv46) + %57 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd47 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %57, i32 0, i32 0 + %58 = load i32, i32* %fd47, align 8 + %59 = load i64, i64* %os_pos, align 8 + %call48 = call i64 (i64, ...) @syscall(i64 8, i32 %58, i64 %59, i32 0) #11 + store i64 %call48, i64* %s, align 8 + %60 = load i64, i64* %s, align 8 + %cmp49 = icmp ne i64 %60, -1 + br i1 %cmp49, label %if.end53, label %if.else52 + +if.else52: ; preds = %if.else43 + call void @__assert_fail(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.12, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 840, i8* getelementptr inbounds ([65 x i8], [65 x i8]* @__PRETTY_FUNCTION__.__fd_getdents, i64 0, i64 0)) #26 + unreachable + +if.end53: ; preds = %if.else43 + %61 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %61, i32 0, i32 0 + %62 = load i32, i32* %fd54, align 8 + %63 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %64 = load i32, i32* %count.addr, align 4 + %call55 = call i64 (i64, ...) @syscall(i64 217, i32 %62, %struct.dirent64* %63, i32 %64) #11 + %conv56 = trunc i64 %call55 to i32 + store i32 %conv56, i32* %res, align 4 + %65 = load i32, i32* %res, align 4 + %cmp57 = icmp sgt i32 %65, -1 + br i1 %cmp57, label %if.then59, label %if.end78 + +if.then59: ; preds = %if.end53 + store i32 0, i32* %pos, align 4 + %66 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd60 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %66, i32 0, i32 0 + %67 = load i32, i32* %fd60, align 8 + %call61 = call i64 (i64, ...) @syscall(i64 8, i32 %67, i32 0, i32 1) #11 + %68 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off62 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %68, i32 0, i32 2 + store i64 %call61, i64* %off62, align 8 + %69 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off63 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %69, i32 0, i32 2 + %70 = load i64, i64* %off63, align 8 + %cmp64 = icmp ne i64 %70, -1 + br i1 %cmp64, label %if.end68, label %if.else67 + +if.else67: ; preds = %if.then59 + call void @__assert_fail(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.13, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 845, i8* getelementptr inbounds ([65 x i8], [65 x i8]* @__PRETTY_FUNCTION__.__fd_getdents, i64 0, i64 0)) #26 + unreachable + +if.end68: ; preds = %if.then59 + %71 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off69 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %71, i32 0, i32 2 + %72 = load i64, i64* %off69, align 8 + %add70 = add nsw i64 %72, 4096 + store i64 %add70, i64* %off69, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end68 + %73 = load i32, i32* %pos, align 4 + %74 = load i32, i32* %res, align 4 + %cmp71 = icmp slt i32 %73, %74 + br i1 %cmp71, label %while.body, label %if.end78 + +while.body: ; preds = %while.cond + %75 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %76 = bitcast %struct.dirent64* %75 to i8* + %77 = load i32, i32* %pos, align 4 + %idx.ext = sext i32 %77 to i64 + %add.ptr = getelementptr inbounds i8, i8* %76, i64 %idx.ext + %78 = bitcast i8* %add.ptr to %struct.dirent64* + store %struct.dirent64* %78, %struct.dirent64** %dp, align 8 + %79 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_off73 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %79, i32 0, i32 1 + %80 = load i64, i64* %d_off73, align 8 + %add74 = add nsw i64 %80, 4096 + store i64 %add74, i64* %d_off73, align 8 + %81 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_reclen75 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %81, i32 0, i32 2 + %82 = load i16, i16* %d_reclen75, align 8 + %conv76 = zext i16 %82 to i32 + %83 = load i32, i32* %pos, align 4 + %add77 = add nsw i32 %83, %conv76 + store i32 %add77, i32* %pos, align 4 + br label %while.cond + +if.end78: ; preds = %while.cond, %if.end53 + %84 = load i32, i32* %res, align 4 + store i32 %84, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end78, %for.end, %if.then11, %if.then3, %if.then + %85 = load i32, i32* %retval, align 4 + ret i32 %85 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @ioctl(i32 %fd, i64 %request, ...) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %request.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %ap = alloca [1 x %struct.__va_list_tag.2], align 16 + %buf = alloca i8*, align 8 + %stat = alloca %struct.stat64*, align 8 + %ts = alloca %struct.termios*, align 8 + %ws = alloca %struct.winsize*, align 8 + %res = alloca i32*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %request, i64* %request.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %ap, i64 0, i64 0 + %arraydecay2 = bitcast %struct.__va_list_tag.2* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay2) + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay3, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.end + %2 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay3, i32 0, i32 3 + %reg_save_area = load i8*, i8** %2, align 16 + %3 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %4 = bitcast i8* %3 to i8** + %5 = add i32 %gp_offset, 8 + store i32 %5, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.end + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay3, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %6 = bitcast i8* %overflow_arg_area to i8** + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i8** [ %4, %vaarg.in_reg ], [ %6, %vaarg.in_mem ] + %7 = load i8*, i8** %vaarg.addr, align 8 + store i8* %7, i8** %buf, align 8 + %arraydecay4 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %ap, i64 0, i64 0 + %arraydecay45 = bitcast %struct.__va_list_tag.2* %arraydecay4 to i8* + call void @llvm.va_end(i8* %arraydecay45) + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + br i1 %tobool6, label %if.then7, label %if.end103 + +if.then7: ; preds = %vaarg.end + %dfile8 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 3 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile8, align 8 + %stat9 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %11, i32 0, i32 2 + %12 = load %struct.stat64*, %struct.stat64** %stat9, align 8 + %13 = bitcast %struct.stat64* %12 to %struct.stat64* + store %struct.stat64* %13, %struct.stat64** %stat, align 8 + %14 = load i64, i64* %request.addr, align 8 + br label %NodeBlock13 + +NodeBlock13: ; preds = %if.then7 + %case.cmp14 = icmp eq i64 %14, 21505 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i64 %14, 21506 + br i1 %case.cmp12, label %sw.bb48, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i64 %14, 21507 + br i1 %case.cmp10, label %sw.bb55, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i64 %14, 21508 + br i1 %case.cmp8, label %sw.bb60, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i64 %14, 21523 + br i1 %case.cmp6, label %sw.bb67, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i64 %14, 21524 + br i1 %case.cmp4, label %sw.bb74, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i64 %14, 21531 + br i1 %case.cmp2, label %sw.bb82, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i64 %14, 2150657282 + br i1 %case.cmp, label %sw.bb100, label %newDefault + +sw.bb: ; preds = %NodeBlock13 + %15 = load i8*, i8** %buf, align 8 + %16 = bitcast i8* %15 to %struct.termios* + store %struct.termios* %16, %struct.termios** %ts, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.14, i64 0, i64 0)) + %17 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %17, i32 0, i32 3 + %18 = load i32, i32* %st_mode, align 8 + %and = and i32 %18, 61440 + %cmp = icmp eq i32 %and, 8192 + br i1 %cmp, label %if.then10, label %if.else + +if.then10: ; preds = %sw.bb + %19 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_iflag = getelementptr inbounds %struct.termios, %struct.termios* %19, i32 0, i32 0 + store i32 27906, i32* %c_iflag, align 4 + %20 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_oflag = getelementptr inbounds %struct.termios, %struct.termios* %20, i32 0, i32 1 + store i32 5, i32* %c_oflag, align 4 + %21 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cflag = getelementptr inbounds %struct.termios, %struct.termios* %21, i32 0, i32 2 + store i32 1215, i32* %c_cflag, align 4 + %22 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_lflag = getelementptr inbounds %struct.termios, %struct.termios* %22, i32 0, i32 3 + store i32 35287, i32* %c_lflag, align 4 + %23 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_line = getelementptr inbounds %struct.termios, %struct.termios* %23, i32 0, i32 4 + store i8 0, i8* %c_line, align 4 + %24 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc = getelementptr inbounds %struct.termios, %struct.termios* %24, i32 0, i32 5 + %arrayidx = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc, i64 0, i64 0 + store i8 3, i8* %arrayidx, align 1 + %25 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc11 = getelementptr inbounds %struct.termios, %struct.termios* %25, i32 0, i32 5 + %arrayidx12 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc11, i64 0, i64 1 + store i8 28, i8* %arrayidx12, align 1 + %26 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc13 = getelementptr inbounds %struct.termios, %struct.termios* %26, i32 0, i32 5 + %arrayidx14 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc13, i64 0, i64 2 + store i8 127, i8* %arrayidx14, align 1 + %27 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc15 = getelementptr inbounds %struct.termios, %struct.termios* %27, i32 0, i32 5 + %arrayidx16 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc15, i64 0, i64 3 + store i8 21, i8* %arrayidx16, align 1 + %28 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc17 = getelementptr inbounds %struct.termios, %struct.termios* %28, i32 0, i32 5 + %arrayidx18 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc17, i64 0, i64 4 + store i8 4, i8* %arrayidx18, align 1 + %29 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc19 = getelementptr inbounds %struct.termios, %struct.termios* %29, i32 0, i32 5 + %arrayidx20 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc19, i64 0, i64 5 + store i8 0, i8* %arrayidx20, align 1 + %30 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc21 = getelementptr inbounds %struct.termios, %struct.termios* %30, i32 0, i32 5 + %arrayidx22 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc21, i64 0, i64 6 + store i8 1, i8* %arrayidx22, align 1 + %31 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc23 = getelementptr inbounds %struct.termios, %struct.termios* %31, i32 0, i32 5 + %arrayidx24 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc23, i64 0, i64 7 + store i8 -1, i8* %arrayidx24, align 1 + %32 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc25 = getelementptr inbounds %struct.termios, %struct.termios* %32, i32 0, i32 5 + %arrayidx26 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc25, i64 0, i64 8 + store i8 17, i8* %arrayidx26, align 1 + %33 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc27 = getelementptr inbounds %struct.termios, %struct.termios* %33, i32 0, i32 5 + %arrayidx28 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc27, i64 0, i64 9 + store i8 19, i8* %arrayidx28, align 1 + %34 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc29 = getelementptr inbounds %struct.termios, %struct.termios* %34, i32 0, i32 5 + %arrayidx30 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc29, i64 0, i64 10 + store i8 26, i8* %arrayidx30, align 1 + %35 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc31 = getelementptr inbounds %struct.termios, %struct.termios* %35, i32 0, i32 5 + %arrayidx32 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc31, i64 0, i64 11 + store i8 -1, i8* %arrayidx32, align 1 + %36 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc33 = getelementptr inbounds %struct.termios, %struct.termios* %36, i32 0, i32 5 + %arrayidx34 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc33, i64 0, i64 12 + store i8 18, i8* %arrayidx34, align 1 + %37 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc35 = getelementptr inbounds %struct.termios, %struct.termios* %37, i32 0, i32 5 + %arrayidx36 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc35, i64 0, i64 13 + store i8 15, i8* %arrayidx36, align 1 + %38 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc37 = getelementptr inbounds %struct.termios, %struct.termios* %38, i32 0, i32 5 + %arrayidx38 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc37, i64 0, i64 14 + store i8 23, i8* %arrayidx38, align 1 + %39 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc39 = getelementptr inbounds %struct.termios, %struct.termios* %39, i32 0, i32 5 + %arrayidx40 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc39, i64 0, i64 15 + store i8 22, i8* %arrayidx40, align 1 + %40 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc41 = getelementptr inbounds %struct.termios, %struct.termios* %40, i32 0, i32 5 + %arrayidx42 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc41, i64 0, i64 16 + store i8 -1, i8* %arrayidx42, align 1 + %41 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc43 = getelementptr inbounds %struct.termios, %struct.termios* %41, i32 0, i32 5 + %arrayidx44 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc43, i64 0, i64 17 + store i8 0, i8* %arrayidx44, align 1 + %42 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc45 = getelementptr inbounds %struct.termios, %struct.termios* %42, i32 0, i32 5 + %arrayidx46 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc45, i64 0, i64 18 + store i8 0, i8* %arrayidx46, align 1 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %sw.bb + %call47 = call i32* @__errno_location() #25 + store i32 25, i32* %call47, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb48: ; preds = %NodeBlock11 + call void @gs_warning_once(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.15, i64 0, i64 0)) + %43 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode49 = getelementptr inbounds %struct.stat64, %struct.stat64* %43, i32 0, i32 3 + %44 = load i32, i32* %st_mode49, align 8 + %and50 = and i32 %44, 61440 + %cmp51 = icmp eq i32 %and50, 8192 + br i1 %cmp51, label %if.then52, label %if.else53 + +if.then52: ; preds = %sw.bb48 + store i32 0, i32* %retval, align 4 + br label %return + +if.else53: ; preds = %sw.bb48 + %call54 = call i32* @__errno_location() #25 + store i32 25, i32* %call54, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb55: ; preds = %NodeBlock9 + call void @gs_warning_once(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.16, i64 0, i64 0)) + %45 = load i32, i32* %fd.addr, align 4 + %cmp56 = icmp eq i32 %45, 0 + br i1 %cmp56, label %if.then57, label %if.else58 + +if.then57: ; preds = %sw.bb55 + store i32 0, i32* %retval, align 4 + br label %return + +if.else58: ; preds = %sw.bb55 + %call59 = call i32* @__errno_location() #25 + store i32 25, i32* %call59, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb60: ; preds = %NodeBlock7 + call void @gs_warning_once(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.17, i64 0, i64 0)) + %46 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode61 = getelementptr inbounds %struct.stat64, %struct.stat64* %46, i32 0, i32 3 + %47 = load i32, i32* %st_mode61, align 8 + %and62 = and i32 %47, 61440 + %cmp63 = icmp eq i32 %and62, 8192 + br i1 %cmp63, label %if.then64, label %if.else65 + +if.then64: ; preds = %sw.bb60 + store i32 0, i32* %retval, align 4 + br label %return + +if.else65: ; preds = %sw.bb60 + %call66 = call i32* @__errno_location() #25 + store i32 25, i32* %call66, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb67: ; preds = %NodeBlock5 + %48 = load i8*, i8** %buf, align 8 + %49 = bitcast i8* %48 to %struct.winsize* + store %struct.winsize* %49, %struct.winsize** %ws, align 8 + %50 = load %struct.winsize*, %struct.winsize** %ws, align 8 + %ws_row = getelementptr inbounds %struct.winsize, %struct.winsize* %50, i32 0, i32 0 + store i16 24, i16* %ws_row, align 2 + %51 = load %struct.winsize*, %struct.winsize** %ws, align 8 + %ws_col = getelementptr inbounds %struct.winsize, %struct.winsize* %51, i32 0, i32 1 + store i16 80, i16* %ws_col, align 2 + call void @gs_warning_once(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.18, i64 0, i64 0)) + %52 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode68 = getelementptr inbounds %struct.stat64, %struct.stat64* %52, i32 0, i32 3 + %53 = load i32, i32* %st_mode68, align 8 + %and69 = and i32 %53, 61440 + %cmp70 = icmp eq i32 %and69, 8192 + br i1 %cmp70, label %if.then71, label %if.else72 + +if.then71: ; preds = %sw.bb67 + store i32 0, i32* %retval, align 4 + br label %return + +if.else72: ; preds = %sw.bb67 + %call73 = call i32* @__errno_location() #25 + store i32 25, i32* %call73, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb74: ; preds = %NodeBlock3 + call void @gs_warning_once(i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.19, i64 0, i64 0)) + %54 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode75 = getelementptr inbounds %struct.stat64, %struct.stat64* %54, i32 0, i32 3 + %55 = load i32, i32* %st_mode75, align 8 + %and76 = and i32 %55, 61440 + %cmp77 = icmp eq i32 %and76, 8192 + %call79 = call i32* @__errno_location() #25 + br i1 %cmp77, label %if.then78, label %if.else80 + +if.then78: ; preds = %sw.bb74 + store i32 22, i32* %call79, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else80: ; preds = %sw.bb74 + store i32 25, i32* %call79, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb82: ; preds = %NodeBlock1 + %56 = load i8*, i8** %buf, align 8 + %57 = bitcast i8* %56 to i32* + store i32* %57, i32** %res, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.20, i64 0, i64 0)) + %58 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode83 = getelementptr inbounds %struct.stat64, %struct.stat64* %58, i32 0, i32 3 + %59 = load i32, i32* %st_mode83, align 8 + %and84 = and i32 %59, 61440 + %cmp85 = icmp eq i32 %and84, 8192 + br i1 %cmp85, label %if.then86, label %if.else98 + +if.then86: ; preds = %sw.bb82 + %60 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %60, i32 0, i32 2 + %61 = load i64, i64* %off, align 8 + %62 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile87 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %62, i32 0, i32 3 + %63 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile87, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %63, i32 0, i32 0 + %64 = load i32, i32* %size, align 8 + %conv = zext i32 %64 to i64 + %cmp88 = icmp slt i64 %61, %conv + br i1 %cmp88, label %if.then90, label %if.else96 + +if.then90: ; preds = %if.then86 + %65 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile91 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %65, i32 0, i32 3 + %66 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile91, align 8 + %size92 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %66, i32 0, i32 0 + %67 = load i32, i32* %size92, align 8 + %conv93 = zext i32 %67 to i64 + %68 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off94 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %68, i32 0, i32 2 + %69 = load i64, i64* %off94, align 8 + %sub = sub nsw i64 %conv93, %69 + %conv95 = trunc i64 %sub to i32 + %70 = load i32*, i32** %res, align 8 + store i32 %conv95, i32* %70, align 4 + br label %if.end97 + +if.else96: ; preds = %if.then86 + %71 = load i32*, i32** %res, align 8 + store i32 0, i32* %71, align 4 + br label %if.end97 + +if.end97: ; preds = %if.else96, %if.then90 + store i32 0, i32* %retval, align 4 + br label %return + +if.else98: ; preds = %sw.bb82 + %call99 = call i32* @__errno_location() #25 + store i32 25, i32* %call99, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb100: ; preds = %NodeBlock + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.21, i64 0, i64 0)) + %call101 = call i32* @__errno_location() #25 + store i32 22, i32* %call101, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0)) + %call102 = call i32* @__errno_location() #25 + store i32 22, i32* %call102, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end103: ; preds = %vaarg.end + %fd104 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 0 + %72 = load i32, i32* %fd104, align 8 + %73 = load i64, i64* %request.addr, align 8 + %74 = load i8*, i8** %buf, align 8 + %call105 = call i64 (i64, ...) @syscall(i64 16, i32 %72, i64 %73, i8* %74) #11 + %conv106 = trunc i64 %call105 to i32 + store i32 %conv106, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end103, %sw.default, %sw.bb100, %if.else98, %if.end97, %if.else80, %if.then78, %if.else72, %if.then71, %if.else65, %if.then64, %if.else58, %if.then57, %if.else53, %if.then52, %if.else, %if.then10, %if.then + %75 = load i32, i32* %retval, align 4 + ret i32 %75 +} + +; Function Attrs: nounwind +declare void @llvm.va_start(i8*) #11 + +; Function Attrs: nounwind +declare void @llvm.va_end(i8*) #11 + +declare dso_local void @gs_warning_once(i8*) #5 + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fcntl(i32 %fd, i32 %cmd, ...) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %cmd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %ap = alloca [1 x %struct.__va_list_tag.2], align 16 + %arg = alloca i32, align 4 + %lock = alloca %struct.flock*, align 8 + %flags = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %cmd, i32* %cmd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i32, i32* %cmd.addr, align 4 + %cmp = icmp eq i32 %2, 1 + %3 = load i32, i32* %cmd.addr, align 4 + %cmp2 = icmp eq i32 %3, 3 + %or.cond = or i1 %cmp, %cmp2 + %4 = load i32, i32* %cmd.addr, align 4 + %cmp4 = icmp eq i32 %4, 9 + %or.cond1 = or i1 %or.cond, %cmp4 + %5 = load i32, i32* %cmd.addr, align 4 + %cmp6 = icmp eq i32 %5, 11 + %or.cond2 = or i1 %or.cond1, %cmp6 + %6 = load i32, i32* %cmd.addr, align 4 + %cmp8 = icmp eq i32 %6, 1025 + %or.cond3 = or i1 %or.cond2, %cmp8 + %7 = load i32, i32* %cmd.addr, align 4 + %cmp10 = icmp eq i32 %7, 1026 + %or.cond4 = or i1 %or.cond3, %cmp10 + br i1 %or.cond4, label %if.then11, label %if.else + +if.then11: ; preds = %if.end + store i32 0, i32* %arg, align 4 + br label %if.end40 + +if.else: ; preds = %if.end + %8 = load i32, i32* %cmd.addr, align 4 + %cmp12 = icmp eq i32 %8, 5 + %9 = load i32, i32* %cmd.addr, align 4 + %cmp14 = icmp eq i32 %9, 6 + %or.cond5 = or i1 %cmp12, %cmp14 + %10 = load i32, i32* %cmd.addr, align 4 + %cmp16 = icmp eq i32 %10, 7 + %or.cond6 = or i1 %or.cond5, %cmp16 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %ap, i64 0, i64 0 + %arraydecay18 = bitcast %struct.__va_list_tag.2* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay18) + %arraydecay19 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay19, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %or.cond6, label %if.then17, label %if.else22 + +if.then17: ; preds = %if.else + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then17 + %11 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay19, i32 0, i32 3 + %reg_save_area = load i8*, i8** %11, align 16 + %12 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %13 = bitcast i8* %12 to %struct.flock** + %14 = add i32 %gp_offset, 8 + store i32 %14, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then17 + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay19, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %15 = bitcast i8* %overflow_arg_area to %struct.flock** + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi %struct.flock** [ %13, %vaarg.in_reg ], [ %15, %vaarg.in_mem ] + %16 = load %struct.flock*, %struct.flock** %vaarg.addr, align 8 + store %struct.flock* %16, %struct.flock** %lock, align 8 + %arraydecay20 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %ap, i64 0, i64 0 + %arraydecay2021 = bitcast %struct.__va_list_tag.2* %arraydecay20 to i8* + call void @llvm.va_end(i8* %arraydecay2021) + br label %if.end40 + +if.else22: ; preds = %if.else + br i1 %fits_in_gp, label %vaarg.in_reg29, label %vaarg.in_mem31 + +vaarg.in_reg29: ; preds = %if.else22 + %17 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay19, i32 0, i32 3 + %reg_save_area30 = load i8*, i8** %17, align 16 + %18 = getelementptr i8, i8* %reg_save_area30, i32 %gp_offset + %19 = bitcast i8* %18 to i32* + %20 = add i32 %gp_offset, 8 + store i32 %20, i32* %gp_offset_p, align 16 + br label %vaarg.end35 + +vaarg.in_mem31: ; preds = %if.else22 + %overflow_arg_area_p32 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay19, i32 0, i32 2 + %overflow_arg_area33 = load i8*, i8** %overflow_arg_area_p32, align 8 + %21 = bitcast i8* %overflow_arg_area33 to i32* + %overflow_arg_area.next34 = getelementptr i8, i8* %overflow_arg_area33, i32 8 + store i8* %overflow_arg_area.next34, i8** %overflow_arg_area_p32, align 8 + br label %vaarg.end35 + +vaarg.end35: ; preds = %vaarg.in_mem31, %vaarg.in_reg29 + %vaarg.addr36 = phi i32* [ %19, %vaarg.in_reg29 ], [ %21, %vaarg.in_mem31 ] + %22 = load i32, i32* %vaarg.addr36, align 4 + store i32 %22, i32* %arg, align 4 + %arraydecay37 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %ap, i64 0, i64 0 + %arraydecay3738 = bitcast %struct.__va_list_tag.2* %arraydecay37 to i8* + call void @llvm.va_end(i8* %arraydecay3738) + br label %if.end40 + +if.end40: ; preds = %vaarg.end, %vaarg.end35, %if.then11 + %23 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %23, i32 0, i32 3 + %24 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool41 = icmp ne %struct.exe_disk_file_t* %24, null + br i1 %tobool41, label %if.then42, label %if.end60 + +if.then42: ; preds = %if.end40 + %25 = load i32, i32* %cmd.addr, align 4 + br label %NodeBlock13 + +NodeBlock13: ; preds = %if.then42 + %case.cmp14 = icmp eq i32 %25, 1 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %25, 2 + br i1 %case.cmp12, label %sw.bb47, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %25, 3 + br i1 %case.cmp10, label %sw.bb56, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %25, 5 + br i1 %case.cmp8, label %sw.bb57, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock7 + %case.cmp = icmp eq i32 %25, 6 + br i1 %case.cmp, label %sw.bb58, label %newDefault + +sw.bb: ; preds = %NodeBlock13 + store i32 0, i32* %flags, align 4 + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags43 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 1 + %27 = load i32, i32* %flags43, align 4 + %and = and i32 %27, 2 + %tobool44 = icmp ne i32 %and, 0 + br i1 %tobool44, label %if.then45, label %if.end46 + +if.then45: ; preds = %sw.bb + %28 = load i32, i32* %flags, align 4 + %or = or i32 %28, 1 + store i32 %or, i32* %flags, align 4 + br label %if.end46 + +if.end46: ; preds = %if.then45, %sw.bb + %29 = load i32, i32* %flags, align 4 + store i32 %29, i32* %retval, align 4 + br label %return + +sw.bb47: ; preds = %NodeBlock11 + %30 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags48 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %30, i32 0, i32 1 + %31 = load i32, i32* %flags48, align 4 + %and49 = and i32 %31, -3 + store i32 %and49, i32* %flags48, align 4 + %32 = load i32, i32* %arg, align 4 + %and50 = and i32 %32, 1 + %tobool51 = icmp ne i32 %and50, 0 + br i1 %tobool51, label %if.then52, label %if.end55 + +if.then52: ; preds = %sw.bb47 + %33 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags53 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %33, i32 0, i32 1 + %34 = load i32, i32* %flags53, align 4 + %or54 = or i32 %34, 2 + store i32 %or54, i32* %flags53, align 4 + br label %if.end55 + +if.end55: ; preds = %if.then52, %sw.bb47 + store i32 0, i32* %retval, align 4 + br label %return + +sw.bb56: ; preds = %NodeBlock9 + store i32 0, i32* %retval, align 4 + br label %return + +sw.bb57: ; preds = %NodeBlock7 + %35 = load %struct.flock*, %struct.flock** %lock, align 8 + %l_type = getelementptr inbounds %struct.flock, %struct.flock* %35, i32 0, i32 0 + store i16 2, i16* %l_type, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +sw.bb58: ; preds = %NodeBlock + store i32 0, i32* %retval, align 4 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0)) + %call59 = call i32* @__errno_location() #25 + store i32 22, i32* %call59, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end60: ; preds = %if.end40 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd61 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 0 + %37 = load i32, i32* %fd61, align 8 + %38 = load i32, i32* %cmd.addr, align 4 + %39 = load i32, i32* %arg, align 4 + %call62 = call i64 (i64, ...) @syscall(i64 72, i32 %37, i32 %38, i32 %39) #11 + %conv = trunc i64 %call62 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end60, %sw.default, %sw.bb58, %sw.bb57, %sw.bb56, %if.end55, %if.end46, %if.then + %40 = load i32, i32* %retval, align 4 + ret i32 %40 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_statfs(i8* %path, %struct.statfs* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.statfs*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.statfs* %buf, %struct.statfs** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0)) + %call1 = call i32* @__errno_location() #25 + store i32 2, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %2) + %3 = load %struct.statfs*, %struct.statfs** %buf.addr, align 8 + %call3 = call i64 (i64, ...) @syscall(i64 137, i8* %call2, %struct.statfs* %3) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstatfs(i32 %fd, %struct.statfs* nonnull %buf) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.statfs*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.statfs* %buf, %struct.statfs** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %if.end + call void @gs_warning(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.22, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 9, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd6, align 8 + %6 = load %struct.statfs*, %struct.statfs** %buf.addr, align 8 + %call7 = call i64 (i64, ...) @syscall(i64 138, i32 %5, %struct.statfs* %6) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %7 = load i32, i32* %retval, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fsync(i32 %fd) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.else + store i32 0, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %if.else + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd5 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd5, align 8 + %call6 = call i64 (i64, ...) @syscall(i64 74, i32 %5) #11 + %conv = trunc i64 %call6 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @dup2(i32 %oldfd, i32 %newfd) #3 { +entry: + %retval = alloca i32, align 4 + %oldfd.addr = alloca i32, align 4 + %newfd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %f2 = alloca %struct.exe_file_t*, align 8 + store i32 %oldfd, i32* %oldfd.addr, align 4 + store i32 %newfd, i32* %newfd.addr, align 4 + %0 = load i32, i32* %oldfd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + %2 = load i32, i32* %newfd.addr, align 4 + %cmp = icmp sge i32 %2, 0 + %or.cond = and i1 %tobool, %cmp + %3 = load i32, i32* %newfd.addr, align 4 + %cmp1 = icmp slt i32 %3, 32 + %or.cond1 = and i1 %or.cond, %cmp1 + br i1 %or.cond1, label %if.else, label %if.then + +if.then: ; preds = %entry + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %4 = load i32, i32* %newfd.addr, align 4 + %idxprom = sext i32 %4 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + store %struct.exe_file_t* %arrayidx, %struct.exe_file_t** %f2, align 8 + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f2, align 8 + %flags = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 1 + %6 = load i32, i32* %flags, align 4 + %and = and i32 %6, 1 + %tobool3 = icmp ne i32 %and, 0 + br i1 %tobool3, label %if.then4, label %if.end + +if.then4: ; preds = %if.else + %7 = load i32, i32* %newfd.addr, align 4 + %call5 = call i32 @close(i32 %7) + br label %if.end + +if.end: ; preds = %if.then4, %if.else + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f2, align 8 + %9 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %10 = bitcast %struct.exe_file_t* %8 to i8* + %11 = bitcast %struct.exe_file_t* %9 to i8* + %12 = call i8* @memcpy(i8* %10, i8* %11, i64 24) + %13 = load %struct.exe_file_t*, %struct.exe_file_t** %f2, align 8 + %flags6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %13, i32 0, i32 1 + %14 = load i32, i32* %flags6, align 4 + %and7 = and i32 %14, -3 + store i32 %and7, i32* %flags6, align 4 + %15 = load i32, i32* %newfd.addr, align 4 + store i32 %15, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %16 = load i32, i32* %retval, align 4 + ret i32 %16 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @dup(i32 %oldfd) #3 { +entry: + %retval = alloca i32, align 4 + %oldfd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %fd = alloca i32, align 4 + store i32 %oldfd, i32* %oldfd.addr, align 4 + %0 = load i32, i32* %oldfd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + store i32 0, i32* %fd, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.else + %2 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %2, 32 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %3 = load i32, i32* %fd, align 4 + %idxprom = sext i32 %3 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + %flags = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %arrayidx, i32 0, i32 1 + %4 = load i32, i32* %flags, align 4 + %and = and i32 %4, 1 + %tobool2 = icmp ne i32 %and, 0 + br i1 %tobool2, label %for.inc, label %for.end + +for.inc: ; preds = %for.body + %5 = load i32, i32* %fd, align 4 + %inc = add nsw i32 %5, 1 + store i32 %inc, i32* %fd, align 4 + br label %for.cond + +for.end: ; preds = %for.body, %for.cond + %6 = load i32, i32* %fd, align 4 + %cmp4 = icmp eq i32 %6, 32 + br i1 %cmp4, label %if.then5, label %if.else7 + +if.then5: ; preds = %for.end + %call6 = call i32* @__errno_location() #25 + store i32 24, i32* %call6, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else7: ; preds = %for.end + %7 = load i32, i32* %oldfd.addr, align 4 + %8 = load i32, i32* %fd, align 4 + %call8 = call i32 @dup2(i32 %7, i32 %8) #11 + store i32 %call8, i32* %retval, align 4 + br label %return + +return: ; preds = %if.else7, %if.then5, %if.then + %9 = load i32, i32* %retval, align 4 + ret i32 %9 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rmdir(i8* nonnull %pathname) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 16384 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %5, i32 0, i32 2 + %6 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 1 + store i64 0, i64* %st_ino, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %call3 = call i32* @__errno_location() #25 + store i32 20, i32* %call3, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 1, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.else, %if.then1 + %7 = load i32, i32* %retval, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @unlink(i8* nonnull %pathname) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 32768 + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %5, i32 0, i32 2 + %6 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 1 + store i64 0, i64* %st_ino, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %st_mode4 = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 3 + %7 = load i32, i32* %st_mode4, align 8 + %and5 = and i32 %7, 61440 + %cmp6 = icmp eq i32 %and5, 16384 + %call8 = call i32* @__errno_location() #25 + br i1 %cmp6, label %if.then7, label %if.else9 + +if.then7: ; preds = %if.else + store i32 21, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else9: ; preds = %if.else + store i32 1, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0)) + %call11 = call i32* @__errno_location() #25 + store i32 1, i32* %call11, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.else9, %if.then7, %if.then1 + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @unlinkat(i32 %dirfd, i8* nonnull %pathname, i32 %flags) #3 { +entry: + %retval = alloca i32, align 4 + %dirfd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i32 %dirfd, i32* %dirfd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 32768 + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %5, i32 0, i32 2 + %6 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 1 + store i64 0, i64* %st_ino, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %st_mode4 = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 3 + %7 = load i32, i32* %st_mode4, align 8 + %and5 = and i32 %7, 61440 + %cmp6 = icmp eq i32 %and5, 16384 + %call8 = call i32* @__errno_location() #25 + br i1 %cmp6, label %if.then7, label %if.else9 + +if.then7: ; preds = %if.else + store i32 21, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else9: ; preds = %if.else + store i32 1, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0)) + %call11 = call i32* @__errno_location() #25 + store i32 1, i32* %call11, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.else9, %if.then7, %if.then1 + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @readlink(i8* nonnull %path, i8* nonnull %buf, i64 %bufsize) #3 { +entry: + %retval = alloca i64, align 8 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end20 + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 40960 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %5 = load i8*, i8** %path.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 0 + %6 = load i8, i8* %arrayidx, align 1 + %7 = load i8*, i8** %buf.addr, align 8 + %arrayidx2 = getelementptr inbounds i8, i8* %7, i64 0 + store i8 %6, i8* %arrayidx2, align 1 + %8 = load i64, i64* %bufsize.addr, align 8 + %cmp3 = icmp ugt i64 %8, 1 + br i1 %cmp3, label %if.then4, label %if.end + +if.then4: ; preds = %if.then1 + %9 = load i8*, i8** %buf.addr, align 8 + %arrayidx5 = getelementptr inbounds i8, i8* %9, i64 1 + store i8 46, i8* %arrayidx5, align 1 + br label %if.end + +if.end: ; preds = %if.then4, %if.then1 + %10 = load i64, i64* %bufsize.addr, align 8 + %cmp6 = icmp ugt i64 %10, 2 + br i1 %cmp6, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end + %11 = load i8*, i8** %buf.addr, align 8 + %arrayidx8 = getelementptr inbounds i8, i8* %11, i64 2 + store i8 108, i8* %arrayidx8, align 1 + br label %if.end9 + +if.end9: ; preds = %if.then7, %if.end + %12 = load i64, i64* %bufsize.addr, align 8 + %cmp10 = icmp ugt i64 %12, 3 + br i1 %cmp10, label %if.then11, label %if.end13 + +if.then11: ; preds = %if.end9 + %13 = load i8*, i8** %buf.addr, align 8 + %arrayidx12 = getelementptr inbounds i8, i8* %13, i64 3 + store i8 110, i8* %arrayidx12, align 1 + br label %if.end13 + +if.end13: ; preds = %if.then11, %if.end9 + %14 = load i64, i64* %bufsize.addr, align 8 + %cmp14 = icmp ugt i64 %14, 4 + br i1 %cmp14, label %if.then15, label %if.end17 + +if.then15: ; preds = %if.end13 + %15 = load i8*, i8** %buf.addr, align 8 + %arrayidx16 = getelementptr inbounds i8, i8* %15, i64 4 + store i8 107, i8* %arrayidx16, align 1 + br label %if.end17 + +if.end17: ; preds = %if.then15, %if.end13 + %16 = load i64, i64* %bufsize.addr, align 8 + %cmp18 = icmp ugt i64 %16, 5 + %17 = load i64, i64* %bufsize.addr, align 8 + %cond = select i1 %cmp18, i64 5, i64 %17 + store i64 %cond, i64* %retval, align 8 + br label %return + +if.else: ; preds = %if.then + %call19 = call i32* @__errno_location() #25 + store i32 22, i32* %call19, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end20: ; preds = %entry + %18 = load i8*, i8** %path.addr, align 8 + %19 = load i8*, i8** %buf.addr, align 8 + %20 = load i64, i64* %bufsize.addr, align 8 + %call21 = call i64 (i64, ...) @syscall(i64 89, i8* %18, i8* %19, i64 %20) #11 + store i64 %call21, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end20, %if.else, %if.end17 + %21 = load i64, i64* %retval, align 8 + ret i64 %21 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @select(i32 %nfds, %struct.fd_set* %read, %struct.fd_set* %write, %struct.fd_set* %except, %struct.timespec.0* %timeout) #3 { +entry: + %retval = alloca i32, align 4 + %nfds.addr = alloca i32, align 4 + %read.addr = alloca %struct.fd_set*, align 8 + %write.addr = alloca %struct.fd_set*, align 8 + %except.addr = alloca %struct.fd_set*, align 8 + %timeout.addr = alloca %struct.timespec.0*, align 8 + %in_read = alloca %struct.fd_set, align 8 + %in_write = alloca %struct.fd_set, align 8 + %in_except = alloca %struct.fd_set, align 8 + %os_read = alloca %struct.fd_set, align 8 + %os_write = alloca %struct.fd_set, align 8 + %os_except = alloca %struct.fd_set, align 8 + %i = alloca i32, align 4 + %count = alloca i32, align 4 + %os_nfds = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %tv = alloca %struct.timespec.0, align 8 + %r = alloca i32, align 4 + %f182 = alloca %struct.exe_file_t*, align 8 + store i32 %nfds, i32* %nfds.addr, align 4 + store %struct.fd_set* %read, %struct.fd_set** %read.addr, align 8 + store %struct.fd_set* %write, %struct.fd_set** %write.addr, align 8 + store %struct.fd_set* %except, %struct.fd_set** %except.addr, align 8 + store %struct.timespec.0* %timeout, %struct.timespec.0** %timeout.addr, align 8 + store i32 0, i32* %count, align 4 + store i32 0, i32* %os_nfds, align 4 + %0 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %tobool = icmp ne %struct.fd_set* %0, null + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %entry + %1 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %2 = bitcast %struct.fd_set* %in_read to i8* + %3 = bitcast %struct.fd_set* %1 to i8* + %4 = call i8* @memcpy(i8* %2, i8* %3, i64 128) + %5 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %6 = bitcast %struct.fd_set* %5 to i8* + %7 = call i8* @memset(i8* %6, i32 0, i64 128) + br label %if.end + +if.else: ; preds = %entry + %8 = bitcast %struct.fd_set* %in_read to i8* + %9 = call i8* @memset(i8* %8, i32 0, i64 128) + br label %if.end + +if.end: ; preds = %if.else, %if.then + %10 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %tobool1 = icmp ne %struct.fd_set* %10, null + br i1 %tobool1, label %if.then2, label %if.else3 + +if.then2: ; preds = %if.end + %11 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %12 = bitcast %struct.fd_set* %in_write to i8* + %13 = bitcast %struct.fd_set* %11 to i8* + %14 = call i8* @memcpy(i8* %12, i8* %13, i64 128) + %15 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %16 = bitcast %struct.fd_set* %15 to i8* + %17 = call i8* @memset(i8* %16, i32 0, i64 128) + br label %if.end4 + +if.else3: ; preds = %if.end + %18 = bitcast %struct.fd_set* %in_write to i8* + %19 = call i8* @memset(i8* %18, i32 0, i64 128) + br label %if.end4 + +if.end4: ; preds = %if.else3, %if.then2 + %20 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %tobool5 = icmp ne %struct.fd_set* %20, null + br i1 %tobool5, label %if.then6, label %if.else7 + +if.then6: ; preds = %if.end4 + %21 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %22 = bitcast %struct.fd_set* %in_except to i8* + %23 = bitcast %struct.fd_set* %21 to i8* + %24 = call i8* @memcpy(i8* %22, i8* %23, i64 128) + %25 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %26 = bitcast %struct.fd_set* %25 to i8* + %27 = call i8* @memset(i8* %26, i32 0, i64 128) + br label %if.end8 + +if.else7: ; preds = %if.end4 + %28 = bitcast %struct.fd_set* %in_except to i8* + %29 = call i8* @memset(i8* %28, i32 0, i64 128) + br label %if.end8 + +if.end8: ; preds = %if.else7, %if.then6 + %30 = bitcast %struct.fd_set* %os_read to i8* + %31 = call i8* @memset(i8* %30, i32 0, i64 128) + %32 = bitcast %struct.fd_set* %os_write to i8* + %33 = call i8* @memset(i8* %32, i32 0, i64 128) + %34 = bitcast %struct.fd_set* %os_except to i8* + %35 = call i8* @memset(i8* %34, i32 0, i64 128) + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end8 + %36 = load i32, i32* %i, align 4 + %37 = load i32, i32* %nfds.addr, align 4 + %cmp = icmp slt i32 %36, %37 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %fds_bits = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_read, i32 0, i32 0 + %38 = load i32, i32* %i, align 4 + %div = sdiv i32 %38, 64 + %idxprom = sext i32 %div to i64 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits, i64 0, i64 %idxprom + %39 = load i64, i64* %arrayidx, align 8 + %40 = load i32, i32* %i, align 4 + %rem = srem i32 %40, 64 + %shl = shl i32 1, %rem + %conv = sext i32 %shl to i64 + %and = and i64 %39, %conv + %tobool9 = icmp ne i64 %and, 0 + br i1 %tobool9, label %if.then29, label %lor.lhs.false + +lor.lhs.false: ; preds = %for.body + %fds_bits10 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_write, i32 0, i32 0 + %41 = load i32, i32* %i, align 4 + %div11 = sdiv i32 %41, 64 + %idxprom12 = sext i32 %div11 to i64 + %arrayidx13 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits10, i64 0, i64 %idxprom12 + %42 = load i64, i64* %arrayidx13, align 8 + %43 = load i32, i32* %i, align 4 + %rem14 = srem i32 %43, 64 + %shl15 = shl i32 1, %rem14 + %conv16 = sext i32 %shl15 to i64 + %and17 = and i64 %42, %conv16 + %tobool18 = icmp ne i64 %and17, 0 + br i1 %tobool18, label %if.then29, label %lor.lhs.false19 + +lor.lhs.false19: ; preds = %lor.lhs.false + %fds_bits20 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_except, i32 0, i32 0 + %44 = load i32, i32* %i, align 4 + %div21 = sdiv i32 %44, 64 + %idxprom22 = sext i32 %div21 to i64 + %arrayidx23 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits20, i64 0, i64 %idxprom22 + %45 = load i64, i64* %arrayidx23, align 8 + %46 = load i32, i32* %i, align 4 + %rem24 = srem i32 %46, 64 + %shl25 = shl i32 1, %rem24 + %conv26 = sext i32 %shl25 to i64 + %and27 = and i64 %45, %conv26 + %tobool28 = icmp ne i64 %and27, 0 + br i1 %tobool28, label %if.then29, label %for.inc + +if.then29: ; preds = %lor.lhs.false19, %lor.lhs.false, %for.body + %47 = load i32, i32* %i, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %47) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %48 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool30 = icmp ne %struct.exe_file_t* %48, null + br i1 %tobool30, label %if.else33, label %if.then31 + +if.then31: ; preds = %if.then29 + %call32 = call i32* @__errno_location() #25 + store i32 9, i32* %call32, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else33: ; preds = %if.then29 + %49 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %49, i32 0, i32 3 + %50 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool34 = icmp ne %struct.exe_disk_file_t* %50, null + %fds_bits36 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_read, i32 0, i32 0 + %51 = load i32, i32* %i, align 4 + %div37 = sdiv i32 %51, 64 + %idxprom38 = sext i32 %div37 to i64 + %arrayidx39 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits36, i64 0, i64 %idxprom38 + %52 = load i64, i64* %arrayidx39, align 8 + %53 = load i32, i32* %i, align 4 + %rem40 = srem i32 %53, 64 + %shl41 = shl i32 1, %rem40 + %conv42 = sext i32 %shl41 to i64 + %and43 = and i64 %52, %conv42 + %tobool44 = icmp ne i64 %and43, 0 + br i1 %tobool34, label %if.then35, label %if.else92 + +if.then35: ; preds = %if.else33 + br i1 %tobool44, label %if.then45, label %if.end53 + +if.then45: ; preds = %if.then35 + %54 = load i32, i32* %i, align 4 + %rem46 = srem i32 %54, 64 + %shl47 = shl i32 1, %rem46 + %conv48 = sext i32 %shl47 to i64 + %55 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %fds_bits49 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %55, i32 0, i32 0 + %56 = load i32, i32* %i, align 4 + %div50 = sdiv i32 %56, 64 + %idxprom51 = sext i32 %div50 to i64 + %arrayidx52 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits49, i64 0, i64 %idxprom51 + %57 = load i64, i64* %arrayidx52, align 8 + %or = or i64 %57, %conv48 + store i64 %or, i64* %arrayidx52, align 8 + br label %if.end53 + +if.end53: ; preds = %if.then45, %if.then35 + %fds_bits54 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_write, i32 0, i32 0 + %58 = load i32, i32* %i, align 4 + %div55 = sdiv i32 %58, 64 + %idxprom56 = sext i32 %div55 to i64 + %arrayidx57 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits54, i64 0, i64 %idxprom56 + %59 = load i64, i64* %arrayidx57, align 8 + %60 = load i32, i32* %i, align 4 + %rem58 = srem i32 %60, 64 + %shl59 = shl i32 1, %rem58 + %conv60 = sext i32 %shl59 to i64 + %and61 = and i64 %59, %conv60 + %tobool62 = icmp ne i64 %and61, 0 + br i1 %tobool62, label %if.then63, label %if.end72 + +if.then63: ; preds = %if.end53 + %61 = load i32, i32* %i, align 4 + %rem64 = srem i32 %61, 64 + %shl65 = shl i32 1, %rem64 + %conv66 = sext i32 %shl65 to i64 + %62 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %fds_bits67 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %62, i32 0, i32 0 + %63 = load i32, i32* %i, align 4 + %div68 = sdiv i32 %63, 64 + %idxprom69 = sext i32 %div68 to i64 + %arrayidx70 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits67, i64 0, i64 %idxprom69 + %64 = load i64, i64* %arrayidx70, align 8 + %or71 = or i64 %64, %conv66 + store i64 %or71, i64* %arrayidx70, align 8 + br label %if.end72 + +if.end72: ; preds = %if.then63, %if.end53 + %fds_bits73 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_except, i32 0, i32 0 + %65 = load i32, i32* %i, align 4 + %div74 = sdiv i32 %65, 64 + %idxprom75 = sext i32 %div74 to i64 + %arrayidx76 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits73, i64 0, i64 %idxprom75 + %66 = load i64, i64* %arrayidx76, align 8 + %67 = load i32, i32* %i, align 4 + %rem77 = srem i32 %67, 64 + %shl78 = shl i32 1, %rem77 + %conv79 = sext i32 %shl78 to i64 + %and80 = and i64 %66, %conv79 + %tobool81 = icmp ne i64 %and80, 0 + br i1 %tobool81, label %if.then82, label %if.end91 + +if.then82: ; preds = %if.end72 + %68 = load i32, i32* %i, align 4 + %rem83 = srem i32 %68, 64 + %shl84 = shl i32 1, %rem83 + %conv85 = sext i32 %shl84 to i64 + %69 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %fds_bits86 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %69, i32 0, i32 0 + %70 = load i32, i32* %i, align 4 + %div87 = sdiv i32 %70, 64 + %idxprom88 = sext i32 %div87 to i64 + %arrayidx89 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits86, i64 0, i64 %idxprom88 + %71 = load i64, i64* %arrayidx89, align 8 + %or90 = or i64 %71, %conv85 + store i64 %or90, i64* %arrayidx89, align 8 + br label %if.end91 + +if.end91: ; preds = %if.then82, %if.end72 + %72 = load i32, i32* %count, align 4 + %inc = add nsw i32 %72, 1 + store i32 %inc, i32* %count, align 4 + br label %for.inc + +if.else92: ; preds = %if.else33 + br i1 %tobool44, label %if.then102, label %if.end112 + +if.then102: ; preds = %if.else92 + %73 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %73, i32 0, i32 0 + %74 = load i32, i32* %fd, align 8 + %rem103 = srem i32 %74, 64 + %shl104 = shl i32 1, %rem103 + %conv105 = sext i32 %shl104 to i64 + %fds_bits106 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_read, i32 0, i32 0 + %75 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd107 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %75, i32 0, i32 0 + %76 = load i32, i32* %fd107, align 8 + %div108 = sdiv i32 %76, 64 + %idxprom109 = sext i32 %div108 to i64 + %arrayidx110 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits106, i64 0, i64 %idxprom109 + %77 = load i64, i64* %arrayidx110, align 8 + %or111 = or i64 %77, %conv105 + store i64 %or111, i64* %arrayidx110, align 8 + br label %if.end112 + +if.end112: ; preds = %if.then102, %if.else92 + %fds_bits113 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_write, i32 0, i32 0 + %78 = load i32, i32* %i, align 4 + %div114 = sdiv i32 %78, 64 + %idxprom115 = sext i32 %div114 to i64 + %arrayidx116 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits113, i64 0, i64 %idxprom115 + %79 = load i64, i64* %arrayidx116, align 8 + %80 = load i32, i32* %i, align 4 + %rem117 = srem i32 %80, 64 + %shl118 = shl i32 1, %rem117 + %conv119 = sext i32 %shl118 to i64 + %and120 = and i64 %79, %conv119 + %tobool121 = icmp ne i64 %and120, 0 + br i1 %tobool121, label %if.then122, label %if.end133 + +if.then122: ; preds = %if.end112 + %81 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd123 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %81, i32 0, i32 0 + %82 = load i32, i32* %fd123, align 8 + %rem124 = srem i32 %82, 64 + %shl125 = shl i32 1, %rem124 + %conv126 = sext i32 %shl125 to i64 + %fds_bits127 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_write, i32 0, i32 0 + %83 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd128 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %83, i32 0, i32 0 + %84 = load i32, i32* %fd128, align 8 + %div129 = sdiv i32 %84, 64 + %idxprom130 = sext i32 %div129 to i64 + %arrayidx131 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits127, i64 0, i64 %idxprom130 + %85 = load i64, i64* %arrayidx131, align 8 + %or132 = or i64 %85, %conv126 + store i64 %or132, i64* %arrayidx131, align 8 + br label %if.end133 + +if.end133: ; preds = %if.then122, %if.end112 + %fds_bits134 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_except, i32 0, i32 0 + %86 = load i32, i32* %i, align 4 + %div135 = sdiv i32 %86, 64 + %idxprom136 = sext i32 %div135 to i64 + %arrayidx137 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits134, i64 0, i64 %idxprom136 + %87 = load i64, i64* %arrayidx137, align 8 + %88 = load i32, i32* %i, align 4 + %rem138 = srem i32 %88, 64 + %shl139 = shl i32 1, %rem138 + %conv140 = sext i32 %shl139 to i64 + %and141 = and i64 %87, %conv140 + %tobool142 = icmp ne i64 %and141, 0 + br i1 %tobool142, label %if.then143, label %if.end154 + +if.then143: ; preds = %if.end133 + %89 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd144 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %89, i32 0, i32 0 + %90 = load i32, i32* %fd144, align 8 + %rem145 = srem i32 %90, 64 + %shl146 = shl i32 1, %rem145 + %conv147 = sext i32 %shl146 to i64 + %fds_bits148 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_except, i32 0, i32 0 + %91 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd149 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %91, i32 0, i32 0 + %92 = load i32, i32* %fd149, align 8 + %div150 = sdiv i32 %92, 64 + %idxprom151 = sext i32 %div150 to i64 + %arrayidx152 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits148, i64 0, i64 %idxprom151 + %93 = load i64, i64* %arrayidx152, align 8 + %or153 = or i64 %93, %conv147 + store i64 %or153, i64* %arrayidx152, align 8 + br label %if.end154 + +if.end154: ; preds = %if.then143, %if.end133 + %94 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd155 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %94, i32 0, i32 0 + %95 = load i32, i32* %fd155, align 8 + %96 = load i32, i32* %os_nfds, align 4 + %cmp156 = icmp sge i32 %95, %96 + br i1 %cmp156, label %if.then158, label %for.inc + +if.then158: ; preds = %if.end154 + %97 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd159 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %97, i32 0, i32 0 + %98 = load i32, i32* %fd159, align 8 + %add = add nsw i32 %98, 1 + store i32 %add, i32* %os_nfds, align 4 + br label %for.inc + +for.inc: ; preds = %lor.lhs.false19, %if.end91, %if.then158, %if.end154 + %99 = load i32, i32* %i, align 4 + %inc164 = add nsw i32 %99, 1 + store i32 %inc164, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %100 = load i32, i32* %os_nfds, align 4 + %cmp165 = icmp sgt i32 %100, 0 + br i1 %cmp165, label %if.then167, label %if.end262 + +if.then167: ; preds = %for.end + %101 = bitcast %struct.timespec.0* %tv to i8* + %102 = call i8* @memset(i8* %101, i32 0, i64 16) + %103 = load i32, i32* %os_nfds, align 4 + %call168 = call i64 (i64, ...) @syscall(i64 23, i32 %103, %struct.fd_set* %os_read, %struct.fd_set* %os_write, %struct.fd_set* %os_except, %struct.timespec.0* %tv) #11 + %conv169 = trunc i64 %call168 to i32 + store i32 %conv169, i32* %r, align 4 + %104 = load i32, i32* %r, align 4 + %cmp170 = icmp eq i32 %104, -1 + br i1 %cmp170, label %if.then172, label %if.else176 + +if.then172: ; preds = %if.then167 + %105 = load i32, i32* %count, align 4 + %tobool173 = icmp ne i32 %105, 0 + br i1 %tobool173, label %if.end262, label %if.then174 + +if.then174: ; preds = %if.then172 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else176: ; preds = %if.then167 + %106 = load i32, i32* %r, align 4 + %107 = load i32, i32* %count, align 4 + %add177 = add nsw i32 %107, %106 + store i32 %add177, i32* %count, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond178 + +for.cond178: ; preds = %for.inc258, %if.else176 + %108 = load i32, i32* %i, align 4 + %109 = load i32, i32* %nfds.addr, align 4 + %cmp179 = icmp slt i32 %108, %109 + br i1 %cmp179, label %for.body181, label %if.end262 + +for.body181: ; preds = %for.cond178 + %110 = load i32, i32* %i, align 4 + %call183 = call %struct.exe_file_t* @__get_file(i32 %110) + store %struct.exe_file_t* %call183, %struct.exe_file_t** %f182, align 8 + %111 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %tobool184 = icmp ne %struct.exe_file_t* %111, null + br i1 %tobool184, label %land.lhs.true, label %for.inc258 + +land.lhs.true: ; preds = %for.body181 + %112 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %dfile185 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %112, i32 0, i32 3 + %113 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile185, align 8 + %tobool186 = icmp ne %struct.exe_disk_file_t* %113, null + br i1 %tobool186, label %for.inc258, label %if.then187 + +if.then187: ; preds = %land.lhs.true + %114 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %tobool188 = icmp ne %struct.fd_set* %114, null + br i1 %tobool188, label %land.lhs.true189, label %if.end210 + +land.lhs.true189: ; preds = %if.then187 + %fds_bits190 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_read, i32 0, i32 0 + %115 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd191 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %115, i32 0, i32 0 + %116 = load i32, i32* %fd191, align 8 + %div192 = sdiv i32 %116, 64 + %idxprom193 = sext i32 %div192 to i64 + %arrayidx194 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits190, i64 0, i64 %idxprom193 + %117 = load i64, i64* %arrayidx194, align 8 + %118 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd195 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %118, i32 0, i32 0 + %119 = load i32, i32* %fd195, align 8 + %rem196 = srem i32 %119, 64 + %shl197 = shl i32 1, %rem196 + %conv198 = sext i32 %shl197 to i64 + %and199 = and i64 %117, %conv198 + %tobool200 = icmp ne i64 %and199, 0 + br i1 %tobool200, label %if.then201, label %if.end210 + +if.then201: ; preds = %land.lhs.true189 + %120 = load i32, i32* %i, align 4 + %rem202 = srem i32 %120, 64 + %shl203 = shl i32 1, %rem202 + %conv204 = sext i32 %shl203 to i64 + %121 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %fds_bits205 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %121, i32 0, i32 0 + %122 = load i32, i32* %i, align 4 + %div206 = sdiv i32 %122, 64 + %idxprom207 = sext i32 %div206 to i64 + %arrayidx208 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits205, i64 0, i64 %idxprom207 + %123 = load i64, i64* %arrayidx208, align 8 + %or209 = or i64 %123, %conv204 + store i64 %or209, i64* %arrayidx208, align 8 + br label %if.end210 + +if.end210: ; preds = %if.then201, %land.lhs.true189, %if.then187 + %124 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %tobool211 = icmp ne %struct.fd_set* %124, null + br i1 %tobool211, label %land.lhs.true212, label %if.end233 + +land.lhs.true212: ; preds = %if.end210 + %fds_bits213 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_write, i32 0, i32 0 + %125 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd214 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %125, i32 0, i32 0 + %126 = load i32, i32* %fd214, align 8 + %div215 = sdiv i32 %126, 64 + %idxprom216 = sext i32 %div215 to i64 + %arrayidx217 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits213, i64 0, i64 %idxprom216 + %127 = load i64, i64* %arrayidx217, align 8 + %128 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd218 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %128, i32 0, i32 0 + %129 = load i32, i32* %fd218, align 8 + %rem219 = srem i32 %129, 64 + %shl220 = shl i32 1, %rem219 + %conv221 = sext i32 %shl220 to i64 + %and222 = and i64 %127, %conv221 + %tobool223 = icmp ne i64 %and222, 0 + br i1 %tobool223, label %if.then224, label %if.end233 + +if.then224: ; preds = %land.lhs.true212 + %130 = load i32, i32* %i, align 4 + %rem225 = srem i32 %130, 64 + %shl226 = shl i32 1, %rem225 + %conv227 = sext i32 %shl226 to i64 + %131 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %fds_bits228 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %131, i32 0, i32 0 + %132 = load i32, i32* %i, align 4 + %div229 = sdiv i32 %132, 64 + %idxprom230 = sext i32 %div229 to i64 + %arrayidx231 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits228, i64 0, i64 %idxprom230 + %133 = load i64, i64* %arrayidx231, align 8 + %or232 = or i64 %133, %conv227 + store i64 %or232, i64* %arrayidx231, align 8 + br label %if.end233 + +if.end233: ; preds = %if.then224, %land.lhs.true212, %if.end210 + %134 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %tobool234 = icmp ne %struct.fd_set* %134, null + br i1 %tobool234, label %land.lhs.true235, label %for.inc258 + +land.lhs.true235: ; preds = %if.end233 + %fds_bits236 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_except, i32 0, i32 0 + %135 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd237 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %135, i32 0, i32 0 + %136 = load i32, i32* %fd237, align 8 + %div238 = sdiv i32 %136, 64 + %idxprom239 = sext i32 %div238 to i64 + %arrayidx240 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits236, i64 0, i64 %idxprom239 + %137 = load i64, i64* %arrayidx240, align 8 + %138 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd241 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %138, i32 0, i32 0 + %139 = load i32, i32* %fd241, align 8 + %rem242 = srem i32 %139, 64 + %shl243 = shl i32 1, %rem242 + %conv244 = sext i32 %shl243 to i64 + %and245 = and i64 %137, %conv244 + %tobool246 = icmp ne i64 %and245, 0 + br i1 %tobool246, label %if.then247, label %for.inc258 + +if.then247: ; preds = %land.lhs.true235 + %140 = load i32, i32* %i, align 4 + %rem248 = srem i32 %140, 64 + %shl249 = shl i32 1, %rem248 + %conv250 = sext i32 %shl249 to i64 + %141 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %fds_bits251 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %141, i32 0, i32 0 + %142 = load i32, i32* %i, align 4 + %div252 = sdiv i32 %142, 64 + %idxprom253 = sext i32 %div252 to i64 + %arrayidx254 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits251, i64 0, i64 %idxprom253 + %143 = load i64, i64* %arrayidx254, align 8 + %or255 = or i64 %143, %conv250 + store i64 %or255, i64* %arrayidx254, align 8 + br label %for.inc258 + +for.inc258: ; preds = %for.body181, %land.lhs.true, %if.then247, %land.lhs.true235, %if.end233 + %144 = load i32, i32* %i, align 4 + %inc259 = add nsw i32 %144, 1 + store i32 %inc259, i32* %i, align 4 + br label %for.cond178 + +if.end262: ; preds = %if.then172, %for.cond178, %for.end + %145 = load i32, i32* %count, align 4 + store i32 %145, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end262, %if.then174, %if.then31 + %146 = load i32, i32* %retval, align 4 + ret i32 %146 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chroot(i8* nonnull %path) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %0, i64 0 + %1 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call = call i32* @__errno_location() #25 + store i32 2, i32* %call, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %path.addr, align 8 + %arrayidx2 = getelementptr inbounds i8, i8* %2, i64 0 + %3 = load i8, i8* %arrayidx2, align 1 + %conv3 = sext i8 %3 to i32 + %cmp4 = icmp eq i32 %conv3, 47 + br i1 %cmp4, label %land.lhs.true, label %if.end11 + +land.lhs.true: ; preds = %if.end + %4 = load i8*, i8** %path.addr, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %4, i64 1 + %5 = load i8, i8* %arrayidx6, align 1 + %conv7 = sext i8 %5 to i32 + %cmp8 = icmp eq i32 %conv7, 0 + br i1 %cmp8, label %if.then10, label %if.end11 + +if.then10: ; preds = %land.lhs.true + store i32 0, i32* %retval, align 4 + br label %return + +if.end11: ; preds = %land.lhs.true, %if.end + call void @gs_warning(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.24, i64 0, i64 0)) + %call12 = call i32* @__errno_location() #25 + store i32 2, i32* %call12, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end11, %if.then10, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @open(i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.2], align 16 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.2* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.2* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i8*, i8** %pathname.addr, align 8 + %8 = load i32, i32* %flags.addr, align 4 + %9 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_open(i8* %7, i32 %8, i32 %9) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @openat(i32 %fd, i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %fd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.2], align 16 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.2* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.2* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i32, i32* %fd.addr, align 4 + %8 = load i8*, i8** %pathname.addr, align 8 + %9 = load i32, i32* %flags.addr, align 4 + %10 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_openat(i32 %7, i8* %8, i32 %9, i32 %10) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @lseek(i32 %fd, i64 %off, i32 %whence) #3 { +entry: + %fd.addr = alloca i32, align 4 + %off.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %off, i64* %off.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %off.addr, align 8 + %2 = load i32, i32* %whence.addr, align 4 + %call = call i64 @__fd_lseek(i32 %0, i64 %1, i32 %2) + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__xstat(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__stat64_to_stat(%struct.stat64* %a, %struct.stat64* %b) #3 { +entry: + %a.addr = alloca %struct.stat64*, align 8 + %b.addr = alloca %struct.stat64*, align 8 + store %struct.stat64* %a, %struct.stat64** %a.addr, align 8 + store %struct.stat64* %b, %struct.stat64** %b.addr, align 8 + %0 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_dev = getelementptr inbounds %struct.stat64, %struct.stat64* %0, i32 0, i32 0 + %1 = load i64, i64* %st_dev, align 8 + %2 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_dev1 = getelementptr inbounds %struct.stat64, %struct.stat64* %2, i32 0, i32 0 + store i64 %1, i64* %st_dev1, align 8 + %3 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 1 + %4 = load i64, i64* %st_ino, align 8 + %5 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_ino2 = getelementptr inbounds %struct.stat64, %struct.stat64* %5, i32 0, i32 1 + store i64 %4, i64* %st_ino2, align 8 + %6 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 3 + %7 = load i32, i32* %st_mode, align 8 + %8 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_mode3 = getelementptr inbounds %struct.stat64, %struct.stat64* %8, i32 0, i32 3 + store i32 %7, i32* %st_mode3, align 8 + %9 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_nlink = getelementptr inbounds %struct.stat64, %struct.stat64* %9, i32 0, i32 2 + %10 = load i64, i64* %st_nlink, align 8 + %11 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_nlink4 = getelementptr inbounds %struct.stat64, %struct.stat64* %11, i32 0, i32 2 + store i64 %10, i64* %st_nlink4, align 8 + %12 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_uid = getelementptr inbounds %struct.stat64, %struct.stat64* %12, i32 0, i32 4 + %13 = load i32, i32* %st_uid, align 4 + %14 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_uid5 = getelementptr inbounds %struct.stat64, %struct.stat64* %14, i32 0, i32 4 + store i32 %13, i32* %st_uid5, align 4 + %15 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_gid = getelementptr inbounds %struct.stat64, %struct.stat64* %15, i32 0, i32 5 + %16 = load i32, i32* %st_gid, align 8 + %17 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_gid6 = getelementptr inbounds %struct.stat64, %struct.stat64* %17, i32 0, i32 5 + store i32 %16, i32* %st_gid6, align 8 + %18 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_rdev = getelementptr inbounds %struct.stat64, %struct.stat64* %18, i32 0, i32 7 + %19 = load i64, i64* %st_rdev, align 8 + %20 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_rdev7 = getelementptr inbounds %struct.stat64, %struct.stat64* %20, i32 0, i32 7 + store i64 %19, i64* %st_rdev7, align 8 + %21 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_size = getelementptr inbounds %struct.stat64, %struct.stat64* %21, i32 0, i32 8 + %22 = load i64, i64* %st_size, align 8 + %23 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_size8 = getelementptr inbounds %struct.stat64, %struct.stat64* %23, i32 0, i32 8 + store i64 %22, i64* %st_size8, align 8 + %24 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_atim = getelementptr inbounds %struct.stat64, %struct.stat64* %24, i32 0, i32 11 + %tv_sec = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %st_atim, i32 0, i32 0 + %25 = load i64, i64* %tv_sec, align 8 + %26 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_atim9 = getelementptr inbounds %struct.stat64, %struct.stat64* %26, i32 0, i32 11 + %tv_sec10 = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %st_atim9, i32 0, i32 0 + store i64 %25, i64* %tv_sec10, align 8 + %27 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_mtim = getelementptr inbounds %struct.stat64, %struct.stat64* %27, i32 0, i32 12 + %tv_sec11 = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %st_mtim, i32 0, i32 0 + %28 = load i64, i64* %tv_sec11, align 8 + %29 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_mtim12 = getelementptr inbounds %struct.stat64, %struct.stat64* %29, i32 0, i32 12 + %tv_sec13 = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %st_mtim12, i32 0, i32 0 + store i64 %28, i64* %tv_sec13, align 8 + %30 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_ctim = getelementptr inbounds %struct.stat64, %struct.stat64* %30, i32 0, i32 13 + %tv_sec14 = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %st_ctim, i32 0, i32 0 + %31 = load i64, i64* %tv_sec14, align 8 + %32 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_ctim15 = getelementptr inbounds %struct.stat64, %struct.stat64* %32, i32 0, i32 13 + %tv_sec16 = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %st_ctim15, i32 0, i32 0 + store i64 %31, i64* %tv_sec16, align 8 + %33 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_blksize = getelementptr inbounds %struct.stat64, %struct.stat64* %33, i32 0, i32 9 + %34 = load i64, i64* %st_blksize, align 8 + %35 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_blksize17 = getelementptr inbounds %struct.stat64, %struct.stat64* %35, i32 0, i32 9 + store i64 %34, i64* %st_blksize17, align 8 + %36 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_blocks = getelementptr inbounds %struct.stat64, %struct.stat64* %36, i32 0, i32 10 + %37 = load i64, i64* %st_blocks, align 8 + %38 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_blocks18 = getelementptr inbounds %struct.stat64, %struct.stat64* %38, i32 0, i32 10 + store i64 %37, i64* %st_blocks18, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @stat(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__lxstat(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @lstat(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fxstat(i32 %vers, i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %vers, i32* %vers.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstat(i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @ftruncate(i32 %fd, i64 %length) #3 { +entry: + %fd.addr = alloca i32, align 4 + %length.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %length, i64* %length.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %length.addr, align 8 + %call = call i32 @__fd_ftruncate(i32 %0, i64 %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @statfs(i8* nonnull %path, %struct.statfs* nonnull %buf32) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf32.addr = alloca %struct.statfs*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.statfs* %buf32, %struct.statfs** %buf32.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.statfs*, %struct.statfs** %buf32.addr, align 8 + %call = call i32 @__fd_statfs(i8* %0, %struct.statfs* %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @getdents(i32 %fd, %struct.dirent64* %dirp, i64 %nbytes) #3 { +entry: + %fd.addr = alloca i32, align 4 + %dirp.addr = alloca %struct.dirent64*, align 8 + %nbytes.addr = alloca i64, align 8 + %dp64 = alloca %struct.dirent64*, align 8 + %res = alloca i64, align 8 + %end = alloca %struct.dirent64*, align 8 + %dp = alloca %struct.dirent64*, align 8 + %name_len = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.dirent64* %dirp, %struct.dirent64** %dirp.addr, align 8 + store i64 %nbytes, i64* %nbytes.addr, align 8 + %0 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %1 = bitcast %struct.dirent64* %0 to %struct.dirent64* + store %struct.dirent64* %1, %struct.dirent64** %dp64, align 8 + %2 = load i32, i32* %fd.addr, align 4 + %3 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %4 = load i64, i64* %nbytes.addr, align 8 + %conv = trunc i64 %4 to i32 + %call = call i32 @__fd_getdents(i32 %2, %struct.dirent64* %3, i32 %conv) + %conv1 = sext i32 %call to i64 + store i64 %conv1, i64* %res, align 8 + %5 = load i64, i64* %res, align 8 + %cmp = icmp sgt i64 %5, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %6 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %7 = bitcast %struct.dirent64* %6 to i8* + %8 = load i64, i64* %res, align 8 + %add.ptr = getelementptr inbounds i8, i8* %7, i64 %8 + %9 = bitcast i8* %add.ptr to %struct.dirent64* + store %struct.dirent64* %9, %struct.dirent64** %end, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.then + %10 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %11 = load %struct.dirent64*, %struct.dirent64** %end, align 8 + %cmp3 = icmp ult %struct.dirent64* %10, %11 + br i1 %cmp3, label %while.body, label %if.end + +while.body: ; preds = %while.cond + %12 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %13 = bitcast %struct.dirent64* %12 to %struct.dirent64* + store %struct.dirent64* %13, %struct.dirent64** %dp, align 8 + %14 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_reclen = getelementptr inbounds %struct.dirent64, %struct.dirent64* %14, i32 0, i32 2 + %15 = load i16, i16* %d_reclen, align 8 + %conv5 = zext i16 %15 to i64 + %sub = sub i64 %conv5, ptrtoint ([256 x i8]* getelementptr inbounds (%struct.dirent64, %struct.dirent64* null, i32 0, i32 4) to i64) + store i64 %sub, i64* %name_len, align 8 + %16 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_ino = getelementptr inbounds %struct.dirent64, %struct.dirent64* %16, i32 0, i32 0 + %17 = load i64, i64* %d_ino, align 8 + %18 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_ino6 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %18, i32 0, i32 0 + store i64 %17, i64* %d_ino6, align 8 + %19 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_off = getelementptr inbounds %struct.dirent64, %struct.dirent64* %19, i32 0, i32 1 + %20 = load i64, i64* %d_off, align 8 + %21 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_off7 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %21, i32 0, i32 1 + store i64 %20, i64* %d_off7, align 8 + %22 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_reclen8 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %22, i32 0, i32 2 + %23 = load i16, i16* %d_reclen8, align 8 + %24 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_reclen9 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %24, i32 0, i32 2 + store i16 %23, i16* %d_reclen9, align 8 + %25 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_type = getelementptr inbounds %struct.dirent64, %struct.dirent64* %25, i32 0, i32 3 + %26 = load i8, i8* %d_type, align 2 + %27 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_type10 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %27, i32 0, i32 3 + store i8 %26, i8* %d_type10, align 2 + %28 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_name = getelementptr inbounds %struct.dirent64, %struct.dirent64* %28, i32 0, i32 4 + %arraydecay = getelementptr inbounds [256 x i8], [256 x i8]* %d_name, i64 0, i64 0 + %29 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_name11 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %29, i32 0, i32 4 + %arraydecay12 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name11, i64 0, i64 0 + %30 = load i64, i64* %name_len, align 8 + %31 = call i8* @memmove(i8* %arraydecay, i8* %arraydecay12, i64 %30) + %32 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %33 = bitcast %struct.dirent64* %32 to i8* + %34 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_reclen13 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %34, i32 0, i32 2 + %35 = load i16, i16* %d_reclen13, align 8 + %conv14 = zext i16 %35 to i32 + %idx.ext = sext i32 %conv14 to i64 + %add.ptr15 = getelementptr inbounds i8, i8* %33, i64 %idx.ext + %36 = bitcast i8* %add.ptr15 to %struct.dirent64* + store %struct.dirent64* %36, %struct.dirent64** %dp64, align 8 + br label %while.cond + +if.end: ; preds = %while.cond, %entry + %37 = load i64, i64* %res, align 8 + ret i64 %37 +} + +; Function Attrs: argmemonly nounwind willreturn +declare void @llvm.memmove.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i1 immarg) #9 + +; Function Attrs: noinline nounwind uwtable +define dso_local void @klee_init_env(i32* %argcPtr, i8*** %argvPtr) #3 { +entry: + %argcPtr.addr = alloca i32*, align 8 + %argvPtr.addr = alloca i8***, align 8 + %argc = alloca i32, align 4 + %argv = alloca i8**, align 8 + %new_argc = alloca i32, align 4 + %n_args = alloca i32, align 4 + %new_argv = alloca [1024 x i8*], align 16 + %max_len = alloca i32, align 4 + %min_argvs = alloca i32, align 4 + %max_argvs = alloca i32, align 4 + %sym_files = alloca i32, align 4 + %sym_file_len = alloca i32, align 4 + %sym_stdin_len = alloca i32, align 4 + %sym_stdout_flag = alloca i32, align 4 + %save_all_writes_flag = alloca i32, align 4 + %fd_fail = alloca i32, align 4 + %final_argv = alloca i8**, align 8 + %sym_arg_name = alloca [6 x i8], align 1 + %sym_arg_num = alloca i32, align 4 + %k = alloca i32, align 4 + %i = alloca i32, align 4 + %msg = alloca i8*, align 8 + %msg40 = alloca i8*, align 8 + %msg105 = alloca i8*, align 8 + %msg145 = alloca i8*, align 8 + %msg215 = alloca i8*, align 8 + store i32* %argcPtr, i32** %argcPtr.addr, align 8 + store i8*** %argvPtr, i8**** %argvPtr.addr, align 8 + %0 = load i32*, i32** %argcPtr.addr, align 8 + %1 = load i32, i32* %0, align 4 + store i32 %1, i32* %argc, align 4 + %2 = load i8***, i8**** %argvPtr.addr, align 8 + %3 = load i8**, i8*** %2, align 8 + store i8** %3, i8*** %argv, align 8 + store i32 0, i32* %new_argc, align 4 + store i32 0, i32* %sym_files, align 4 + store i32 0, i32* %sym_file_len, align 4 + store i32 0, i32* %sym_stdin_len, align 4 + store i32 0, i32* %sym_stdout_flag, align 4 + store i32 0, i32* %save_all_writes_flag, align 4 + store i32 0, i32* %fd_fail, align 4 + %4 = bitcast [6 x i8]* %sym_arg_name to i8* + %5 = call i8* @memcpy(i8* %4, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @__const.klee_init_env.sym_arg_name, i32 0, i32 0), i64 6) + store i32 0, i32* %sym_arg_num, align 4 + store i32 0, i32* %k, align 4 + %arrayidx = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 5 + store i8 0, i8* %arrayidx, align 1 + %6 = load i32, i32* %argc, align 4 + %cmp = icmp eq i32 %6, 2 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %7 = load i8**, i8*** %argv, align 8 + %arrayidx1 = getelementptr inbounds i8*, i8** %7, i64 1 + %8 = load i8*, i8** %arrayidx1, align 8 + %call = call i32 @__streq(i8* %8, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.29, i64 0, i64 0)) + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + call void @__emit_error(i8* getelementptr inbounds ([964 x i8], [964 x i8]* @.str.1.30, i64 0, i64 0)) + br label %if.end + +if.end: ; preds = %if.then, %land.lhs.true, %entry + br label %while.cond + +while.cond: ; preds = %if.end239, %if.end + %9 = load i32, i32* %k, align 4 + %10 = load i32, i32* %argc, align 4 + %cmp2 = icmp slt i32 %9, %10 + br i1 %cmp2, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %11 = load i8**, i8*** %argv, align 8 + %12 = load i32, i32* %k, align 4 + %idxprom = sext i32 %12 to i64 + %arrayidx3 = getelementptr inbounds i8*, i8** %11, i64 %idxprom + %13 = load i8*, i8** %arrayidx3, align 8 + %call4 = call i32 @__streq(i8* %13, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.2.31, i64 0, i64 0)) + %tobool5 = icmp ne i32 %call4, 0 + br i1 %tobool5, label %if.then10, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.body + %14 = load i8**, i8*** %argv, align 8 + %15 = load i32, i32* %k, align 4 + %idxprom6 = sext i32 %15 to i64 + %arrayidx7 = getelementptr inbounds i8*, i8** %14, i64 %idxprom6 + %16 = load i8*, i8** %arrayidx7, align 8 + %call8 = call i32 @__streq(i8* %16, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.32, i64 0, i64 0)) + %tobool9 = icmp ne i32 %call8, 0 + br i1 %tobool9, label %if.then10, label %if.else + +if.then10: ; preds = %lor.lhs.false, %while.body + store i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.4.33, i64 0, i64 0), i8** %msg, align 8 + %17 = load i32, i32* %k, align 4 + %inc = add nsw i32 %17, 1 + store i32 %inc, i32* %k, align 4 + %18 = load i32, i32* %argc, align 4 + %cmp11 = icmp eq i32 %inc, %18 + br i1 %cmp11, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.then10 + %19 = load i8*, i8** %msg, align 8 + call void @__emit_error(i8* %19) + br label %if.end13 + +if.end13: ; preds = %if.then12, %if.then10 + %20 = load i8**, i8*** %argv, align 8 + %21 = load i32, i32* %k, align 4 + %inc14 = add nsw i32 %21, 1 + store i32 %inc14, i32* %k, align 4 + %idxprom15 = sext i32 %21 to i64 + %arrayidx16 = getelementptr inbounds i8*, i8** %20, i64 %idxprom15 + %22 = load i8*, i8** %arrayidx16, align 8 + %23 = load i8*, i8** %msg, align 8 + %call17 = call i64 @__str_to_int(i8* %22, i8* %23) + %conv = trunc i64 %call17 to i32 + store i32 %conv, i32* %max_len, align 4 + %24 = load i32, i32* %sym_arg_num, align 4 + %cmp18 = icmp ugt i32 %24, 99 + br i1 %cmp18, label %if.then20, label %if.end21 + +if.then20: ; preds = %if.end13 + call void @__emit_error(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.5.34, i64 0, i64 0)) + br label %if.end21 + +if.end21: ; preds = %if.then20, %if.end13 + %25 = load i32, i32* %sym_arg_num, align 4 + %div = udiv i32 %25, 10 + %add = add i32 48, %div + %conv22 = trunc i32 %add to i8 + %arrayidx23 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 3 + store i8 %conv22, i8* %arrayidx23, align 1 + %26 = load i32, i32* %sym_arg_num, align 4 + %rem = urem i32 %26, 10 + %add24 = add i32 48, %rem + %conv25 = trunc i32 %add24 to i8 + %arrayidx26 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 4 + store i8 %conv25, i8* %arrayidx26, align 1 + %27 = load i32, i32* %sym_arg_num, align 4 + %inc27 = add i32 %27, 1 + store i32 %inc27, i32* %sym_arg_num, align 4 + %arraydecay = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %28 = load i32, i32* %max_len, align 4 + %arraydecay28 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 0 + %call29 = call i8* @__get_sym_str(i32 %28, i8* %arraydecay28) + call void @__add_arg(i32* %new_argc, i8** %arraydecay, i8* %call29, i32 1024) + br label %if.end239 + +if.else: ; preds = %lor.lhs.false + %29 = load i8**, i8*** %argv, align 8 + %30 = load i32, i32* %k, align 4 + %idxprom30 = sext i32 %30 to i64 + %arrayidx31 = getelementptr inbounds i8*, i8** %29, i64 %idxprom30 + %31 = load i8*, i8** %arrayidx31, align 8 + %call32 = call i32 @__streq(i8* %31, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.6.35, i64 0, i64 0)) + %tobool33 = icmp ne i32 %call32, 0 + br i1 %tobool33, label %if.then39, label %lor.lhs.false34 + +lor.lhs.false34: ; preds = %if.else + %32 = load i8**, i8*** %argv, align 8 + %33 = load i32, i32* %k, align 4 + %idxprom35 = sext i32 %33 to i64 + %arrayidx36 = getelementptr inbounds i8*, i8** %32, i64 %idxprom35 + %34 = load i8*, i8** %arrayidx36, align 8 + %call37 = call i32 @__streq(i8* %34, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.7.36, i64 0, i64 0)) + %tobool38 = icmp ne i32 %call37, 0 + br i1 %tobool38, label %if.then39, label %if.else94 + +if.then39: ; preds = %lor.lhs.false34, %if.else + store i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.8.37, i64 0, i64 0), i8** %msg40, align 8 + %35 = load i32, i32* %k, align 4 + %add41 = add nsw i32 %35, 3 + %36 = load i32, i32* %argc, align 4 + %cmp42 = icmp sge i32 %add41, %36 + br i1 %cmp42, label %if.then44, label %if.end45 + +if.then44: ; preds = %if.then39 + %37 = load i8*, i8** %msg40, align 8 + call void @__emit_error(i8* %37) + br label %if.end45 + +if.end45: ; preds = %if.then44, %if.then39 + %38 = load i32, i32* %k, align 4 + %inc46 = add nsw i32 %38, 1 + store i32 %inc46, i32* %k, align 4 + %39 = load i8**, i8*** %argv, align 8 + %40 = load i32, i32* %k, align 4 + %inc47 = add nsw i32 %40, 1 + store i32 %inc47, i32* %k, align 4 + %idxprom48 = sext i32 %40 to i64 + %arrayidx49 = getelementptr inbounds i8*, i8** %39, i64 %idxprom48 + %41 = load i8*, i8** %arrayidx49, align 8 + %42 = load i8*, i8** %msg40, align 8 + %call50 = call i64 @__str_to_int(i8* %41, i8* %42) + %conv51 = trunc i64 %call50 to i32 + store i32 %conv51, i32* %min_argvs, align 4 + %43 = load i8**, i8*** %argv, align 8 + %44 = load i32, i32* %k, align 4 + %inc52 = add nsw i32 %44, 1 + store i32 %inc52, i32* %k, align 4 + %idxprom53 = sext i32 %44 to i64 + %arrayidx54 = getelementptr inbounds i8*, i8** %43, i64 %idxprom53 + %45 = load i8*, i8** %arrayidx54, align 8 + %46 = load i8*, i8** %msg40, align 8 + %call55 = call i64 @__str_to_int(i8* %45, i8* %46) + %conv56 = trunc i64 %call55 to i32 + store i32 %conv56, i32* %max_argvs, align 4 + %47 = load i8**, i8*** %argv, align 8 + %48 = load i32, i32* %k, align 4 + %inc57 = add nsw i32 %48, 1 + store i32 %inc57, i32* %k, align 4 + %idxprom58 = sext i32 %48 to i64 + %arrayidx59 = getelementptr inbounds i8*, i8** %47, i64 %idxprom58 + %49 = load i8*, i8** %arrayidx59, align 8 + %50 = load i8*, i8** %msg40, align 8 + %call60 = call i64 @__str_to_int(i8* %49, i8* %50) + %conv61 = trunc i64 %call60 to i32 + store i32 %conv61, i32* %max_len, align 4 + %51 = load i32, i32* %min_argvs, align 4 + %52 = load i32, i32* %max_argvs, align 4 + %cmp62 = icmp ugt i32 %51, %52 + br i1 %cmp62, label %if.then70, label %lor.lhs.false64 + +lor.lhs.false64: ; preds = %if.end45 + %53 = load i32, i32* %min_argvs, align 4 + %cmp65 = icmp eq i32 %53, 0 + %54 = load i32, i32* %max_argvs, align 4 + %cmp68 = icmp eq i32 %54, 0 + %or.cond = and i1 %cmp65, %cmp68 + br i1 %or.cond, label %if.then70, label %if.end71 + +if.then70: ; preds = %lor.lhs.false64, %if.end45 + call void @__emit_error(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.9.38, i64 0, i64 0)) + br label %if.end71 + +if.end71: ; preds = %if.then70, %lor.lhs.false64 + %55 = load i32, i32* %min_argvs, align 4 + %56 = load i32, i32* %max_argvs, align 4 + %add72 = add i32 %56, 1 + %call73 = call i32 @gs_range(i32 %55, i32 %add72, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.10.39, i64 0, i64 0)) + store i32 %call73, i32* %n_args, align 4 + %57 = load i32, i32* %sym_arg_num, align 4 + %58 = load i32, i32* %max_argvs, align 4 + %add74 = add i32 %57, %58 + %cmp75 = icmp ugt i32 %add74, 99 + br i1 %cmp75, label %if.then77, label %if.end78 + +if.then77: ; preds = %if.end71 + call void @__emit_error(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.5.34, i64 0, i64 0)) + br label %if.end78 + +if.end78: ; preds = %if.then77, %if.end71 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end78 + %59 = load i32, i32* %i, align 4 + %60 = load i32, i32* %n_args, align 4 + %cmp79 = icmp slt i32 %59, %60 + br i1 %cmp79, label %for.body, label %if.end239 + +for.body: ; preds = %for.cond + %61 = load i32, i32* %sym_arg_num, align 4 + %div81 = udiv i32 %61, 10 + %add82 = add i32 48, %div81 + %conv83 = trunc i32 %add82 to i8 + %arrayidx84 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 3 + store i8 %conv83, i8* %arrayidx84, align 1 + %62 = load i32, i32* %sym_arg_num, align 4 + %rem85 = urem i32 %62, 10 + %add86 = add i32 48, %rem85 + %conv87 = trunc i32 %add86 to i8 + %arrayidx88 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 4 + store i8 %conv87, i8* %arrayidx88, align 1 + %63 = load i32, i32* %sym_arg_num, align 4 + %inc89 = add i32 %63, 1 + store i32 %inc89, i32* %sym_arg_num, align 4 + %arraydecay90 = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %64 = load i32, i32* %max_len, align 4 + %arraydecay91 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 0 + %call92 = call i8* @__get_sym_str(i32 %64, i8* %arraydecay91) + call void @__add_arg(i32* %new_argc, i8** %arraydecay90, i8* %call92, i32 1024) + %65 = load i32, i32* %i, align 4 + %inc93 = add nsw i32 %65, 1 + store i32 %inc93, i32* %i, align 4 + br label %for.cond + +if.else94: ; preds = %lor.lhs.false34 + %66 = load i8**, i8*** %argv, align 8 + %67 = load i32, i32* %k, align 4 + %idxprom95 = sext i32 %67 to i64 + %arrayidx96 = getelementptr inbounds i8*, i8** %66, i64 %idxprom95 + %68 = load i8*, i8** %arrayidx96, align 8 + %call97 = call i32 @__streq(i8* %68, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.11.40, i64 0, i64 0)) + %tobool98 = icmp ne i32 %call97, 0 + br i1 %tobool98, label %if.then104, label %lor.lhs.false99 + +lor.lhs.false99: ; preds = %if.else94 + %69 = load i8**, i8*** %argv, align 8 + %70 = load i32, i32* %k, align 4 + %idxprom100 = sext i32 %70 to i64 + %arrayidx101 = getelementptr inbounds i8*, i8** %69, i64 %idxprom100 + %71 = load i8*, i8** %arrayidx101, align 8 + %call102 = call i32 @__streq(i8* %71, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.12.41, i64 0, i64 0)) + %tobool103 = icmp ne i32 %call102, 0 + br i1 %tobool103, label %if.then104, label %if.else134 + +if.then104: ; preds = %lor.lhs.false99, %if.else94 + store i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.13.42, i64 0, i64 0), i8** %msg105, align 8 + %72 = load i32, i32* %k, align 4 + %add106 = add nsw i32 %72, 2 + %73 = load i32, i32* %argc, align 4 + %cmp107 = icmp sge i32 %add106, %73 + br i1 %cmp107, label %if.then109, label %if.end110 + +if.then109: ; preds = %if.then104 + %74 = load i8*, i8** %msg105, align 8 + call void @__emit_error(i8* %74) + br label %if.end110 + +if.end110: ; preds = %if.then109, %if.then104 + %75 = load i32, i32* %sym_files, align 4 + %cmp111 = icmp ne i32 %75, 0 + br i1 %cmp111, label %if.then113, label %if.end114 + +if.then113: ; preds = %if.end110 + call void @__emit_error(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.14.43, i64 0, i64 0)) + br label %if.end114 + +if.end114: ; preds = %if.then113, %if.end110 + %76 = load i32, i32* %k, align 4 + %inc115 = add nsw i32 %76, 1 + store i32 %inc115, i32* %k, align 4 + %77 = load i8**, i8*** %argv, align 8 + %78 = load i32, i32* %k, align 4 + %inc116 = add nsw i32 %78, 1 + store i32 %inc116, i32* %k, align 4 + %idxprom117 = sext i32 %78 to i64 + %arrayidx118 = getelementptr inbounds i8*, i8** %77, i64 %idxprom117 + %79 = load i8*, i8** %arrayidx118, align 8 + %80 = load i8*, i8** %msg105, align 8 + %call119 = call i64 @__str_to_int(i8* %79, i8* %80) + %conv120 = trunc i64 %call119 to i32 + store i32 %conv120, i32* %sym_files, align 4 + %81 = load i8**, i8*** %argv, align 8 + %82 = load i32, i32* %k, align 4 + %inc121 = add nsw i32 %82, 1 + store i32 %inc121, i32* %k, align 4 + %idxprom122 = sext i32 %82 to i64 + %arrayidx123 = getelementptr inbounds i8*, i8** %81, i64 %idxprom122 + %83 = load i8*, i8** %arrayidx123, align 8 + %84 = load i8*, i8** %msg105, align 8 + %call124 = call i64 @__str_to_int(i8* %83, i8* %84) + %conv125 = trunc i64 %call124 to i32 + store i32 %conv125, i32* %sym_file_len, align 4 + %85 = load i32, i32* %sym_files, align 4 + %cmp126 = icmp eq i32 %85, 0 + br i1 %cmp126, label %if.then128, label %if.end129 + +if.then128: ; preds = %if.end114 + call void @__emit_error(i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.15.44, i64 0, i64 0)) + br label %if.end129 + +if.end129: ; preds = %if.then128, %if.end114 + %86 = load i32, i32* %sym_file_len, align 4 + %cmp130 = icmp eq i32 %86, 0 + br i1 %cmp130, label %if.then132, label %if.end239 + +if.then132: ; preds = %if.end129 + call void @__emit_error(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.16.45, i64 0, i64 0)) + br label %if.end239 + +if.else134: ; preds = %lor.lhs.false99 + %87 = load i8**, i8*** %argv, align 8 + %88 = load i32, i32* %k, align 4 + %idxprom135 = sext i32 %88 to i64 + %arrayidx136 = getelementptr inbounds i8*, i8** %87, i64 %idxprom135 + %89 = load i8*, i8** %arrayidx136, align 8 + %call137 = call i32 @__streq(i8* %89, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.17.46, i64 0, i64 0)) + %tobool138 = icmp ne i32 %call137, 0 + br i1 %tobool138, label %if.then144, label %lor.lhs.false139 + +lor.lhs.false139: ; preds = %if.else134 + %90 = load i8**, i8*** %argv, align 8 + %91 = load i32, i32* %k, align 4 + %idxprom140 = sext i32 %91 to i64 + %arrayidx141 = getelementptr inbounds i8*, i8** %90, i64 %idxprom140 + %92 = load i8*, i8** %arrayidx141, align 8 + %call142 = call i32 @__streq(i8* %92, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.18.47, i64 0, i64 0)) + %tobool143 = icmp ne i32 %call142, 0 + br i1 %tobool143, label %if.then144, label %if.else156 + +if.then144: ; preds = %lor.lhs.false139, %if.else134 + store i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.19.48, i64 0, i64 0), i8** %msg145, align 8 + %93 = load i32, i32* %k, align 4 + %inc146 = add nsw i32 %93, 1 + store i32 %inc146, i32* %k, align 4 + %94 = load i32, i32* %argc, align 4 + %cmp147 = icmp eq i32 %inc146, %94 + br i1 %cmp147, label %if.then149, label %if.end150 + +if.then149: ; preds = %if.then144 + %95 = load i8*, i8** %msg145, align 8 + call void @__emit_error(i8* %95) + br label %if.end150 + +if.end150: ; preds = %if.then149, %if.then144 + %96 = load i8**, i8*** %argv, align 8 + %97 = load i32, i32* %k, align 4 + %inc151 = add nsw i32 %97, 1 + store i32 %inc151, i32* %k, align 4 + %idxprom152 = sext i32 %97 to i64 + %arrayidx153 = getelementptr inbounds i8*, i8** %96, i64 %idxprom152 + %98 = load i8*, i8** %arrayidx153, align 8 + %99 = load i8*, i8** %msg145, align 8 + %call154 = call i64 @__str_to_int(i8* %98, i8* %99) + %conv155 = trunc i64 %call154 to i32 + store i32 %conv155, i32* %sym_stdin_len, align 4 + br label %if.end239 + +if.else156: ; preds = %lor.lhs.false139 + %100 = load i8**, i8*** %argv, align 8 + %101 = load i32, i32* %k, align 4 + %idxprom157 = sext i32 %101 to i64 + %arrayidx158 = getelementptr inbounds i8*, i8** %100, i64 %idxprom157 + %102 = load i8*, i8** %arrayidx158, align 8 + %call159 = call i32 @__streq(i8* %102, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.20.49, i64 0, i64 0)) + %tobool160 = icmp ne i32 %call159, 0 + br i1 %tobool160, label %if.then166, label %lor.lhs.false161 + +lor.lhs.false161: ; preds = %if.else156 + %103 = load i8**, i8*** %argv, align 8 + %104 = load i32, i32* %k, align 4 + %idxprom162 = sext i32 %104 to i64 + %arrayidx163 = getelementptr inbounds i8*, i8** %103, i64 %idxprom162 + %105 = load i8*, i8** %arrayidx163, align 8 + %call164 = call i32 @__streq(i8* %105, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.21.50, i64 0, i64 0)) + %tobool165 = icmp ne i32 %call164, 0 + br i1 %tobool165, label %if.then166, label %if.else168 + +if.then166: ; preds = %lor.lhs.false161, %if.else156 + store i32 1, i32* %sym_stdout_flag, align 4 + %106 = load i32, i32* %k, align 4 + %inc167 = add nsw i32 %106, 1 + store i32 %inc167, i32* %k, align 4 + br label %if.end239 + +if.else168: ; preds = %lor.lhs.false161 + %107 = load i8**, i8*** %argv, align 8 + %108 = load i32, i32* %k, align 4 + %idxprom169 = sext i32 %108 to i64 + %arrayidx170 = getelementptr inbounds i8*, i8** %107, i64 %idxprom169 + %109 = load i8*, i8** %arrayidx170, align 8 + %call171 = call i32 @__streq(i8* %109, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.22.51, i64 0, i64 0)) + %tobool172 = icmp ne i32 %call171, 0 + br i1 %tobool172, label %if.then178, label %lor.lhs.false173 + +lor.lhs.false173: ; preds = %if.else168 + %110 = load i8**, i8*** %argv, align 8 + %111 = load i32, i32* %k, align 4 + %idxprom174 = sext i32 %111 to i64 + %arrayidx175 = getelementptr inbounds i8*, i8** %110, i64 %idxprom174 + %112 = load i8*, i8** %arrayidx175, align 8 + %call176 = call i32 @__streq(i8* %112, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23.52, i64 0, i64 0)) + %tobool177 = icmp ne i32 %call176, 0 + br i1 %tobool177, label %if.then178, label %if.else180 + +if.then178: ; preds = %lor.lhs.false173, %if.else168 + store i32 1, i32* %save_all_writes_flag, align 4 + %113 = load i32, i32* %k, align 4 + %inc179 = add nsw i32 %113, 1 + store i32 %inc179, i32* %k, align 4 + br label %if.end239 + +if.else180: ; preds = %lor.lhs.false173 + %114 = load i8**, i8*** %argv, align 8 + %115 = load i32, i32* %k, align 4 + %idxprom181 = sext i32 %115 to i64 + %arrayidx182 = getelementptr inbounds i8*, i8** %114, i64 %idxprom181 + %116 = load i8*, i8** %arrayidx182, align 8 + %call183 = call i32 @__streq(i8* %116, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.24.53, i64 0, i64 0)) + %tobool184 = icmp ne i32 %call183, 0 + br i1 %tobool184, label %if.then190, label %lor.lhs.false185 + +lor.lhs.false185: ; preds = %if.else180 + %117 = load i8**, i8*** %argv, align 8 + %118 = load i32, i32* %k, align 4 + %idxprom186 = sext i32 %118 to i64 + %arrayidx187 = getelementptr inbounds i8*, i8** %117, i64 %idxprom186 + %119 = load i8*, i8** %arrayidx187, align 8 + %call188 = call i32 @__streq(i8* %119, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.25.54, i64 0, i64 0)) + %tobool189 = icmp ne i32 %call188, 0 + br i1 %tobool189, label %if.then190, label %if.else192 + +if.then190: ; preds = %lor.lhs.false185, %if.else180 + store i32 1, i32* %fd_fail, align 4 + %120 = load i32, i32* %k, align 4 + %inc191 = add nsw i32 %120, 1 + store i32 %inc191, i32* %k, align 4 + br label %if.end239 + +if.else192: ; preds = %lor.lhs.false185 + %121 = load i8**, i8*** %argv, align 8 + %122 = load i32, i32* %k, align 4 + %idxprom193 = sext i32 %122 to i64 + %arrayidx194 = getelementptr inbounds i8*, i8** %121, i64 %idxprom193 + %123 = load i8*, i8** %arrayidx194, align 8 + %call195 = call i32 @__streq(i8* %123, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.26.55, i64 0, i64 0)) + %tobool196 = icmp ne i32 %call195, 0 + br i1 %tobool196, label %if.then202, label %lor.lhs.false197 + +lor.lhs.false197: ; preds = %if.else192 + %124 = load i8**, i8*** %argv, align 8 + %125 = load i32, i32* %k, align 4 + %idxprom198 = sext i32 %125 to i64 + %arrayidx199 = getelementptr inbounds i8*, i8** %124, i64 %idxprom198 + %126 = load i8*, i8** %arrayidx199, align 8 + %call200 = call i32 @__streq(i8* %126, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.27.56, i64 0, i64 0)) + %tobool201 = icmp ne i32 %call200, 0 + br i1 %tobool201, label %if.then202, label %if.else204 + +if.then202: ; preds = %lor.lhs.false197, %if.else192 + %127 = load i32, i32* %k, align 4 + %add203 = add nsw i32 %127, 2 + store i32 %add203, i32* %k, align 4 + br label %if.end239 + +if.else204: ; preds = %lor.lhs.false197 + %128 = load i8**, i8*** %argv, align 8 + %129 = load i32, i32* %k, align 4 + %idxprom205 = sext i32 %129 to i64 + %arrayidx206 = getelementptr inbounds i8*, i8** %128, i64 %idxprom205 + %130 = load i8*, i8** %arrayidx206, align 8 + %call207 = call i32 @__streq(i8* %130, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.28.57, i64 0, i64 0)) + %tobool208 = icmp ne i32 %call207, 0 + br i1 %tobool208, label %if.then214, label %lor.lhs.false209 + +lor.lhs.false209: ; preds = %if.else204 + %131 = load i8**, i8*** %argv, align 8 + %132 = load i32, i32* %k, align 4 + %idxprom210 = sext i32 %132 to i64 + %arrayidx211 = getelementptr inbounds i8*, i8** %131, i64 %idxprom210 + %133 = load i8*, i8** %arrayidx211, align 8 + %call212 = call i32 @__streq(i8* %133, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.29.58, i64 0, i64 0)) + %tobool213 = icmp ne i32 %call212, 0 + br i1 %tobool213, label %if.then214, label %if.else226 + +if.then214: ; preds = %lor.lhs.false209, %if.else204 + store i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.30, i64 0, i64 0), i8** %msg215, align 8 + %134 = load i32, i32* %k, align 4 + %inc216 = add nsw i32 %134, 1 + store i32 %inc216, i32* %k, align 4 + %135 = load i32, i32* %argc, align 4 + %cmp217 = icmp eq i32 %inc216, %135 + br i1 %cmp217, label %if.then219, label %if.end220 + +if.then219: ; preds = %if.then214 + %136 = load i8*, i8** %msg215, align 8 + call void @__emit_error(i8* %136) + br label %if.end220 + +if.end220: ; preds = %if.then219, %if.then214 + %137 = load i8**, i8*** %argv, align 8 + %138 = load i32, i32* %k, align 4 + %inc221 = add nsw i32 %138, 1 + store i32 %inc221, i32* %k, align 4 + %idxprom222 = sext i32 %138 to i64 + %arrayidx223 = getelementptr inbounds i8*, i8** %137, i64 %idxprom222 + %139 = load i8*, i8** %arrayidx223, align 8 + %140 = load i8*, i8** %msg215, align 8 + %call224 = call i64 @__str_to_int(i8* %139, i8* %140) + %conv225 = trunc i64 %call224 to i32 + store i32 %conv225, i32* %fd_fail, align 4 + br label %if.end239 + +if.else226: ; preds = %lor.lhs.false209 + %arraydecay227 = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %141 = load i8**, i8*** %argv, align 8 + %142 = load i32, i32* %k, align 4 + %inc228 = add nsw i32 %142, 1 + store i32 %inc228, i32* %k, align 4 + %idxprom229 = sext i32 %142 to i64 + %arrayidx230 = getelementptr inbounds i8*, i8** %141, i64 %idxprom229 + %143 = load i8*, i8** %arrayidx230, align 8 + call void @__add_arg(i32* %new_argc, i8** %arraydecay227, i8* %143, i32 1024) + br label %if.end239 + +if.end239: ; preds = %for.cond, %if.end150, %if.then178, %if.then202, %if.else226, %if.end220, %if.then190, %if.then166, %if.end129, %if.then132, %if.end21 + br label %while.cond + +while.end: ; preds = %while.cond + %144 = load i32, i32* %new_argc, align 4 + %add240 = add nsw i32 %144, 1 + %conv241 = sext i32 %add240 to i64 + %mul = mul i64 %conv241, 8 + %call242 = call noalias i8* @malloc(i64 %mul) #11 + %145 = bitcast i8* %call242 to i8** + store i8** %145, i8*** %final_argv, align 8 + %146 = load i8**, i8*** %final_argv, align 8 + %tobool243 = icmp ne i8** %146, null + br i1 %tobool243, label %if.end245, label %if.then244 + +if.then244: ; preds = %while.end + call void @__emit_error(i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.31, i64 0, i64 0)) + br label %if.end245 + +if.end245: ; preds = %if.then244, %while.end + %147 = load i8**, i8*** %final_argv, align 8 + %148 = bitcast i8** %147 to i8* + %arraydecay246 = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %149 = bitcast i8** %arraydecay246 to i8* + %150 = load i32, i32* %new_argc, align 4 + %conv247 = sext i32 %150 to i64 + %mul248 = mul i64 %conv247, 8 + %151 = call i8* @memcpy(i8* %148, i8* %149, i64 %mul248) + %152 = load i8**, i8*** %final_argv, align 8 + %153 = load i32, i32* %new_argc, align 4 + %idxprom249 = sext i32 %153 to i64 + %arrayidx250 = getelementptr inbounds i8*, i8** %152, i64 %idxprom249 + store i8* null, i8** %arrayidx250, align 8 + %154 = load i32, i32* %new_argc, align 4 + %155 = load i32*, i32** %argcPtr.addr, align 8 + store i32 %154, i32* %155, align 4 + %156 = load i8**, i8*** %final_argv, align 8 + %157 = load i8***, i8**** %argvPtr.addr, align 8 + store i8** %156, i8*** %157, align 8 + %158 = load i32, i32* %sym_files, align 4 + %159 = load i32, i32* %sym_file_len, align 4 + %160 = load i32, i32* %sym_stdin_len, align 4 + %161 = load i32, i32* %sym_stdout_flag, align 4 + %162 = load i32, i32* %save_all_writes_flag, align 4 + %163 = load i32, i32* %fd_fail, align 4 + call void @klee_init_fds(i32 %158, i32 %159, i32 %160, i32 %161, i32 %162, i32 %163) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__streq(i8* %a, i8* %b) #3 { +entry: + %retval = alloca i32, align 4 + %a.addr = alloca i8*, align 8 + %b.addr = alloca i8*, align 8 + store i8* %a, i8** %a.addr, align 8 + store i8* %b, i8** %b.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %0 = load i8*, i8** %a.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %2 = load i8*, i8** %b.addr, align 8 + %3 = load i8, i8* %2, align 1 + %conv1 = sext i8 %3 to i32 + %cmp = icmp eq i32 %conv, %conv1 + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i8*, i8** %a.addr, align 8 + %5 = load i8, i8* %4, align 1 + %tobool = icmp ne i8 %5, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %while.body + store i32 1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %while.body + %6 = load i8*, i8** %a.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %a.addr, align 8 + %7 = load i8*, i8** %b.addr, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %7, i32 1 + store i8* %incdec.ptr3, i8** %b.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %while.end, %if.then + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__emit_error(i8* %msg) #3 { +entry: + %msg.addr = alloca i8*, align 8 + store i8* %msg, i8** %msg.addr, align 8 + %0 = load i8*, i8** %msg.addr, align 8 + call void @gs_report_error.59(i8* getelementptr inbounds ([88 x i8], [88 x i8]* @.str.32, i64 0, i64 0), i32 21, i8* %0, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.33, i64 0, i64 0)) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @__str_to_int(i8* %s, i8* %error_msg) #3 { +entry: + %s.addr = alloca i8*, align 8 + %error_msg.addr = alloca i8*, align 8 + %res = alloca i64, align 8 + %c = alloca i8, align 1 + store i8* %s, i8** %s.addr, align 8 + store i8* %error_msg, i8** %error_msg.addr, align 8 + store i64 0, i64* %res, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i8, i8* %0, align 1 + %tobool = icmp ne i8 %1, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %2 = load i8*, i8** %error_msg.addr, align 8 + call void @__emit_error(i8* %2) + br label %if.end + +if.end: ; preds = %if.then, %entry + br label %while.cond + +while.cond: ; preds = %if.end9, %if.end + %3 = load i8*, i8** %s.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %s.addr, align 8 + %4 = load i8, i8* %3, align 1 + store i8 %4, i8* %c, align 1 + %tobool1 = icmp ne i8 %4, 0 + br i1 %tobool1, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %5 = load i8, i8* %c, align 1 + %conv = sext i8 %5 to i32 + %cmp = icmp sge i32 %conv, 48 + br i1 %cmp, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %while.body + %6 = load i8, i8* %c, align 1 + %conv3 = sext i8 %6 to i32 + %cmp4 = icmp sle i32 %conv3, 57 + br i1 %cmp4, label %if.then6, label %if.else + +if.then6: ; preds = %land.lhs.true + %7 = load i64, i64* %res, align 8 + %mul = mul nsw i64 %7, 10 + %8 = load i8, i8* %c, align 1 + %conv7 = sext i8 %8 to i32 + %sub = sub nsw i32 %conv7, 48 + %conv8 = sext i32 %sub to i64 + %add = add nsw i64 %mul, %conv8 + store i64 %add, i64* %res, align 8 + br label %if.end9 + +if.else: ; preds = %land.lhs.true, %while.body + %9 = load i8*, i8** %error_msg.addr, align 8 + call void @__emit_error(i8* %9) + br label %if.end9 + +if.end9: ; preds = %if.else, %if.then6 + br label %while.cond + +while.end: ; preds = %while.cond + %10 = load i64, i64* %res, align 8 + ret i64 %10 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @__get_sym_str(i32 %numChars, i8* %name) #3 { +entry: + %numChars.addr = alloca i32, align 4 + %name.addr = alloca i8*, align 8 + %i = alloca i32, align 4 + %s = alloca i8*, align 8 + store i32 %numChars, i32* %numChars.addr, align 4 + store i8* %name, i8** %name.addr, align 8 + %0 = load i32, i32* %numChars.addr, align 4 + %add = add nsw i32 %0, 1 + %conv = sext i32 %add to i64 + %call = call noalias i8* @malloc(i64 %conv) #11 + store i8* %call, i8** %s, align 8 + %1 = load i8*, i8** %s, align 8 + %tobool = icmp ne i8* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @__emit_error(i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.31, i64 0, i64 0)) + br label %if.end + +if.end: ; preds = %if.then, %entry + %2 = load i8*, i8** %s, align 8 + %3 = load i32, i32* %numChars.addr, align 4 + %add1 = add nsw i32 %3, 1 + %conv2 = sext i32 %add1 to i64 + %4 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %2, i64 %conv2, i8* %4) + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %5 = load i32, i32* %i, align 4 + %6 = load i32, i32* %numChars.addr, align 4 + %cmp = icmp slt i32 %5, %6 + %7 = load i8*, i8** %s, align 8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %8 = load i8*, i8** %s, align 8 + %9 = load i32, i32* %i, align 4 + %idxprom = sext i32 %9 to i64 + %arrayidx = getelementptr inbounds i8, i8* %8, i64 %idxprom + %10 = load i8, i8* %arrayidx, align 1 + %call4 = call i32 @__isprint(i8 signext %10) + %tobool5 = icmp ne i32 %call4, 0 + call void @gs_posix_prefer_cex(i8* %7, i1 zeroext %tobool5) + %11 = load i32, i32* %i, align 4 + %inc = add nsw i32 %11, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %12 = load i32, i32* %numChars.addr, align 4 + %idxprom6 = sext i32 %12 to i64 + %arrayidx7 = getelementptr inbounds i8, i8* %7, i64 %idxprom6 + store i8 0, i8* %arrayidx7, align 1 + %13 = load i8*, i8** %s, align 8 + ret i8* %13 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__add_arg(i32* %argc, i8** %argv, i8* %arg, i32 %argcMax) #3 { +entry: + %argc.addr = alloca i32*, align 8 + %argv.addr = alloca i8**, align 8 + %arg.addr = alloca i8*, align 8 + %argcMax.addr = alloca i32, align 4 + store i32* %argc, i32** %argc.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i32 %argcMax, i32* %argcMax.addr, align 4 + %0 = load i32*, i32** %argc.addr, align 8 + %1 = load i32, i32* %0, align 4 + %2 = load i32, i32* %argcMax.addr, align 4 + %cmp = icmp eq i32 %1, %2 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + call void @__emit_error(i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.35, i64 0, i64 0)) + br label %if.end + +if.else: ; preds = %entry + %3 = load i8*, i8** %arg.addr, align 8 + %4 = load i8**, i8*** %argv.addr, align 8 + %5 = load i32*, i32** %argc.addr, align 8 + %6 = load i32, i32* %5, align 4 + %idxprom = sext i32 %6 to i64 + %arrayidx = getelementptr inbounds i8*, i8** %4, i64 %idxprom + store i8* %3, i8** %arrayidx, align 8 + %7 = load i32*, i32** %argc.addr, align 8 + %8 = load i32, i32* %7, align 4 + %inc = add nsw i32 %8, 1 + store i32 %inc, i32* %7, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @gs_range(i32 %begin, i32 %end, i8* %name) #3 { +entry: + %begin.addr = alloca i32, align 4 + %end.addr = alloca i32, align 4 + %name.addr = alloca i8*, align 8 + %x = alloca i32, align 4 + store i32 %begin, i32* %begin.addr, align 4 + store i32 %end, i32* %end.addr, align 4 + store i8* %name, i8** %name.addr, align 8 + %0 = bitcast i32* %x to i8* + %1 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %0, i64 4, i8* %1) + %2 = load i32, i32* %x, align 4 + %3 = load i32, i32* %begin.addr, align 4 + %cmp = icmp sge i32 %2, %3 + call void @gs_assume(i1 zeroext %cmp) + %4 = load i32, i32* %x, align 4 + %5 = load i32, i32* %end.addr, align 4 + %cmp1 = icmp slt i32 %4, %5 + call void @gs_assume(i1 zeroext %cmp1) + %6 = load i32, i32* %x, align 4 + ret i32 %6 +} + +declare dso_local void @make_symbolic(i8*, i64, ...) #5 + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__isprint(i8 signext %c) #3 { +entry: + %c.addr = alloca i8, align 1 + store i8 %c, i8* %c.addr, align 1 + %0 = load i8, i8* %c.addr, align 1 + %conv = sext i8 %0 to i32 + %cmp = icmp sle i32 32, %conv + %conv1 = zext i1 %cmp to i32 + %1 = load i8, i8* %c.addr, align 1 + %conv2 = sext i8 %1 to i32 + %cmp3 = icmp sle i32 %conv2, 126 + %conv4 = zext i1 %cmp3 to i32 + %and = and i32 %conv1, %conv4 + ret i32 %and +} + +declare dso_local void @gs_posix_prefer_cex(i8*, i1 zeroext) #5 + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error.59(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.34, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__user_main(i32 %argcPtr, i8** %argvPtr, i8** %envp) #3 { +entry: + %argcPtr.addr = alloca i32, align 4 + %argvPtr.addr = alloca i8**, align 8 + %envp.addr = alloca i8**, align 8 + store i32 %argcPtr, i32* %argcPtr.addr, align 4 + store i8** %argvPtr, i8*** %argvPtr.addr, align 8 + store i8** %envp, i8*** %envp.addr, align 8 + call void @klee_init_env(i32* %argcPtr.addr, i8*** %argvPtr.addr) + %0 = load i32, i32* %argcPtr.addr, align 4 + %1 = load i8**, i8*** %argvPtr.addr, align 8 + %2 = load i8**, i8*** %envp.addr, align 8 + %call = call i32 bitcast (i32 (i32, i8**)* @__klee_posix_wrapped_main to i32 (i32, i8**, i8**)*)(i32 %0, i8** %1, i8** %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind readnone uwtable +declare i32* @__errno_location() #12 + +; Function Attrs: noinline nounwind readnone uwtable +define weak i32* @__h_errno_location() #12 { +entry: + ret i32* @h_errno +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @___path_search(i8* %tmpl, i64 %tmpl_len, i8* %dir, i8* %pfx) #0 { +entry: + %retval = alloca i32, align 4 + %tmpl.addr = alloca i8*, align 8 + %tmpl_len.addr = alloca i64, align 8 + %dir.addr = alloca i8*, align 8 + %pfx.addr = alloca i8*, align 8 + %dlen = alloca i64, align 8 + %plen = alloca i64, align 8 + store i8* %tmpl, i8** %tmpl.addr, align 8 + store i64 %tmpl_len, i64* %tmpl_len.addr, align 8 + store i8* %dir, i8** %dir.addr, align 8 + store i8* %pfx, i8** %pfx.addr, align 8 + %0 = load i8*, i8** %pfx.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %lor.lhs.false, label %if.then + +lor.lhs.false: ; preds = %entry + %1 = load i8*, i8** %pfx.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %tobool1 = icmp ne i8 %2, 0 + br i1 %tobool1, label %if.else, label %if.then + +if.then: ; preds = %lor.lhs.false, %entry + store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.68, i64 0, i64 0), i8** %pfx.addr, align 8 + store i64 4, i64* %plen, align 8 + br label %if.end3 + +if.else: ; preds = %lor.lhs.false + %3 = load i8*, i8** %pfx.addr, align 8 + %call = call i64 @strlen(i8* %3) #20 + store i64 %call, i64* %plen, align 8 + %4 = load i64, i64* %plen, align 8 + %cmp = icmp ugt i64 %4, 5 + %spec.store.select = select i1 %cmp, i64 5, i64 %call + store i64 %spec.store.select, i64* %plen, align 8 + br label %if.end3 + +if.end3: ; preds = %if.else, %if.then + %5 = load i8*, i8** %dir.addr, align 8 + %cmp4 = icmp eq i8* %5, null + br i1 %cmp4, label %if.then5, label %if.end18 + +if.then5: ; preds = %if.end3 + %call6 = call i32 @direxists(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0)) #18 + %tobool7 = icmp ne i32 %call6, 0 + br i1 %tobool7, label %if.then8, label %if.else9 + +if.then8: ; preds = %if.then5 + store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0), i8** %dir.addr, align 8 + br label %if.end18 + +if.else9: ; preds = %if.then5 + %call10 = call i32 @strcmp(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0)) #20 + %cmp11 = icmp ne i32 %call10, 0 + br i1 %cmp11, label %land.lhs.true, label %if.else15 + +land.lhs.true: ; preds = %if.else9 + %call12 = call i32 @direxists(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0)) #18 + %tobool13 = icmp ne i32 %call12, 0 + br i1 %tobool13, label %if.then14, label %if.else15 + +if.then14: ; preds = %land.lhs.true + store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0), i8** %dir.addr, align 8 + br label %if.end18 + +if.else15: ; preds = %land.lhs.true, %if.else9 + store i32 2, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %if.then8, %if.then14, %if.end3 + %6 = load i8*, i8** %dir.addr, align 8 + %call19 = call i64 @strlen(i8* %6) #20 + store i64 %call19, i64* %dlen, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end18 + %7 = load i64, i64* %dlen, align 8 + %cmp20 = icmp ugt i64 %7, 1 + br i1 %cmp20, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %8 = load i8*, i8** %dir.addr, align 8 + %9 = load i64, i64* %dlen, align 8 + %sub = sub i64 %9, 1 + %arrayidx21 = getelementptr inbounds i8, i8* %8, i64 %sub + %10 = load i8, i8* %arrayidx21, align 1 + %conv = sext i8 %10 to i32 + %cmp22 = icmp eq i32 %conv, 47 + br i1 %cmp22, label %while.body, label %while.end + +while.body: ; preds = %land.rhs + %11 = load i64, i64* %dlen, align 8 + %dec = add i64 %11, -1 + store i64 %dec, i64* %dlen, align 8 + br label %while.cond + +while.end: ; preds = %while.cond, %land.rhs + %12 = load i64, i64* %tmpl_len.addr, align 8 + %13 = load i64, i64* %dlen, align 8 + %add = add i64 %13, 1 + %14 = load i64, i64* %plen, align 8 + %add24 = add i64 %add, %14 + %add25 = add i64 %add24, 6 + %add26 = add i64 %add25, 1 + %cmp27 = icmp ult i64 %12, %add26 + br i1 %cmp27, label %if.then29, label %if.end30 + +if.then29: ; preds = %while.end + store i32 22, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end30: ; preds = %while.end + %15 = load i8*, i8** %tmpl.addr, align 8 + %16 = load i64, i64* %dlen, align 8 + %17 = load i8*, i8** %dir.addr, align 8 + %18 = load i64, i64* %plen, align 8 + %19 = load i8*, i8** %pfx.addr, align 8 + %call31 = call i32 (i8*, i8*, ...) @sprintf(i8* %15, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.2.70, i64 0, i64 0), i64 %16, i8* %17, i64 %18, i8* %19) #19 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end30, %if.then29, %if.else15 + %20 = load i32, i32* %retval, align 4 + ret i32 %20 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @direxists(i8* %dir) #0 { +entry: + %dir.addr = alloca i8*, align 8 + %buf = alloca %struct.stat.194, align 8 + store i8* %dir, i8** %dir.addr, align 8 + %0 = load i8*, i8** %dir.addr, align 8 + %call = call i32 bitcast (i32 (i8*, %struct.stat64*)* @stat to i32 (i8*, %struct.stat.194*)*)(i8* %0, %struct.stat.194* %buf) #19 + %cmp = icmp eq i32 %call, 0 + %st_mode = getelementptr inbounds %struct.stat.194, %struct.stat.194* %buf, i32 0, i32 3 + %1 = load i32, i32* %st_mode, align 8 + %and = and i32 %1, 61440 + %cmp1 = icmp eq i32 %and, 16384 + %2 = select i1 %cmp, i1 %cmp1, i1 false + %land.ext = zext i1 %2 to i32 + ret i32 %land.ext +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__gen_tempname(i8* %tmpl, i32 %kind) #0 { +entry: + %retval = alloca i32, align 4 + %tmpl.addr = alloca i8*, align 8 + %kind.addr = alloca i32, align 4 + %XXXXXX = alloca i8*, align 8 + %i = alloca i32, align 4 + %fd = alloca i32, align 4 + %save_errno = alloca i32, align 4 + %randomness = alloca [6 x i8], align 1 + %len = alloca i64, align 8 + %j = alloca i32, align 4 + %st = alloca %struct.stat.194, align 8 + store i8* %tmpl, i8** %tmpl.addr, align 8 + store i32 %kind, i32* %kind.addr, align 4 + %0 = load i32, i32* @errno, align 4 + store i32 %0, i32* %save_errno, align 4 + %1 = load i8*, i8** %tmpl.addr, align 8 + %call = call i64 @strlen(i8* %1) #20 + store i64 %call, i64* %len, align 8 + %2 = load i8*, i8** %tmpl.addr, align 8 + %3 = load i64, i64* %len, align 8 + %add.ptr = getelementptr inbounds i8, i8* %2, i64 %3 + %add.ptr1 = getelementptr inbounds i8, i8* %add.ptr, i64 -6 + store i8* %add.ptr1, i8** %XXXXXX, align 8 + %4 = load i64, i64* %len, align 8 + %cmp = icmp ult i64 %4, 6 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %5 = load i8*, i8** %XXXXXX, align 8 + %call2 = call i32 @strcmp(i8* %5, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.3.73, i64 0, i64 0)) #20 + %tobool = icmp ne i32 %call2, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %lor.lhs.false, %entry + store i32 22, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %lor.lhs.false + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc44, %if.end + %6 = load i32, i32* %i, align 4 + %cmp3 = icmp ult i32 %6, 238328 + br i1 %cmp3, label %for.body, label %for.end46 + +for.body: ; preds = %for.cond + %arraydecay = getelementptr inbounds [6 x i8], [6 x i8]* %randomness, i64 0, i64 0 + %call4 = call i32 @fillrand(i8* %arraydecay, i32 6) #18 + %conv = zext i32 %call4 to i64 + %cmp5 = icmp ne i64 %conv, 6 + br i1 %cmp5, label %if.then7, label %if.end9 + +if.then7: ; preds = %for.body + %arraydecay8 = getelementptr inbounds [6 x i8], [6 x i8]* %randomness, i64 0, i64 0 + call void @brain_damaged_fillrand(i8* %arraydecay8, i32 6) #18 + br label %if.end9 + +if.end9: ; preds = %if.then7, %for.body + store i32 0, i32* %j, align 4 + br label %for.cond10 + +for.cond10: ; preds = %for.body14, %if.end9 + %7 = load i32, i32* %j, align 4 + %conv11 = sext i32 %7 to i64 + %cmp12 = icmp ult i64 %conv11, 6 + br i1 %cmp12, label %for.body14, label %for.end + +for.body14: ; preds = %for.cond10 + %8 = load i32, i32* %j, align 4 + %idxprom = sext i32 %8 to i64 + %arrayidx = getelementptr inbounds [6 x i8], [6 x i8]* %randomness, i64 0, i64 %idxprom + %9 = load i8, i8* %arrayidx, align 1 + %conv15 = zext i8 %9 to i32 + %rem = srem i32 %conv15, 62 + %idxprom16 = sext i32 %rem to i64 + %arrayidx17 = getelementptr inbounds [63 x i8], [63 x i8]* @letters, i64 0, i64 %idxprom16 + %10 = load i8, i8* %arrayidx17, align 1 + %11 = load i8*, i8** %XXXXXX, align 8 + %12 = load i32, i32* %j, align 4 + %idxprom18 = sext i32 %12 to i64 + %arrayidx19 = getelementptr inbounds i8, i8* %11, i64 %idxprom18 + store i8 %10, i8* %arrayidx19, align 1 + %13 = load i32, i32* %j, align 4 + %inc = add nsw i32 %13, 1 + store i32 %inc, i32* %j, align 4 + br label %for.cond10 + +for.end: ; preds = %for.cond10 + %14 = load i32, i32* %kind.addr, align 4 + br label %NodeBlock5 + +NodeBlock5: ; preds = %for.end + %case.cmp6 = icmp eq i32 %14, 3 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %14, 0 + br i1 %case.cmp4, label %sw.bb29, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %14, 1 + br i1 %case.cmp2, label %sw.bb31, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %14, 2 + br i1 %case.cmp, label %sw.bb33, label %newDefault + +sw.bb: ; preds = %NodeBlock5 + %15 = load i8*, i8** %tmpl.addr, align 8 + %call20 = call i32 bitcast (i32 (i8*, %struct.stat64*)* @stat to i32 (i8*, %struct.stat.194*)*)(i8* %15, %struct.stat.194* %st) #19 + %cmp21 = icmp slt i32 %call20, 0 + br i1 %cmp21, label %if.then23, label %if.else27 + +if.then23: ; preds = %sw.bb + %16 = load i32, i32* @errno, align 4 + %cmp24 = icmp eq i32 %16, 2 + br i1 %cmp24, label %if.then26, label %if.else + +if.then26: ; preds = %if.then23 + store i32 0, i32* %fd, align 4 + br label %restore_and_ret + +if.else: ; preds = %if.then23 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else27: ; preds = %sw.bb + store i32 0, i32* %fd, align 4 + br label %sw.bb29 + +sw.bb29: ; preds = %NodeBlock3, %if.else27 + %17 = load i8*, i8** %tmpl.addr, align 8 + %call30 = call i32 (i8*, i32, ...) @open(i8* %17, i32 194, i32 384) #18 + store i32 %call30, i32* %fd, align 4 + br label %sw.epilog + +sw.bb31: ; preds = %NodeBlock1 + %18 = load i8*, i8** %tmpl.addr, align 8 + %call32 = call i32 (i8*, i32, ...) @open64(i8* %18, i32 194, i32 384) #18 + store i32 %call32, i32* %fd, align 4 + br label %sw.epilog + +sw.bb33: ; preds = %NodeBlock + %19 = load i8*, i8** %tmpl.addr, align 8 + %call34 = call i32 @mkdir(i8* %19, i32 448) #19 + store i32 %call34, i32* %fd, align 4 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i32 -1, i32* %fd, align 4 + br label %sw.epilog + +sw.epilog: ; preds = %sw.default, %sw.bb33, %sw.bb31, %sw.bb29 + %20 = load i32, i32* %fd, align 4 + %cmp35 = icmp sge i32 %20, 0 + br i1 %cmp35, label %restore_and_ret, label %if.else38 + +restore_and_ret: ; preds = %sw.epilog, %if.then26 + %21 = load i32, i32* %save_errno, align 4 + store i32 %21, i32* @errno, align 4 + %22 = load i32, i32* %fd, align 4 + store i32 %22, i32* %retval, align 4 + br label %return + +if.else38: ; preds = %sw.epilog + %23 = load i32, i32* @errno, align 4 + %cmp39 = icmp ne i32 %23, 17 + br i1 %cmp39, label %if.then41, label %for.inc44 + +if.then41: ; preds = %if.else38 + store i32 -1, i32* %retval, align 4 + br label %return + +for.inc44: ; preds = %if.else38 + %24 = load i32, i32* %i, align 4 + %inc45 = add i32 %24, 1 + store i32 %inc45, i32* %i, align 4 + br label %for.cond + +for.end46: ; preds = %for.cond + store i32 17, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %for.end46, %if.then41, %restore_and_ret, %if.else, %if.then + %25 = load i32, i32* %retval, align 4 + ret i32 %25 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @fillrand(i8* %buf, i32 %len) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %len.addr = alloca i32, align 4 + %fd = alloca i32, align 4 + %result = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i32 %len, i32* %len.addr, align 4 + store i32 -1, i32* %result, align 4 + %call = call i32 (i8*, i32, ...) @open(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.4.74, i64 0, i64 0), i32 0) #18 + store i32 %call, i32* %fd, align 4 + %0 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %0, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call1 = call i32 (i8*, i32, ...) @open(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.5.75, i64 0, i64 0), i32 2048) #18 + store i32 %call1, i32* %fd, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i32, i32* %fd, align 4 + %cmp2 = icmp sge i32 %1, 0 + br i1 %cmp2, label %if.then3, label %if.end7 + +if.then3: ; preds = %if.end + %2 = load i32, i32* %fd, align 4 + %3 = load i8*, i8** %buf.addr, align 8 + %4 = load i32, i32* %len.addr, align 4 + %conv = zext i32 %4 to i64 + %call4 = call i64 @read(i32 %2, i8* %3, i64 %conv) #18 + %conv5 = trunc i64 %call4 to i32 + store i32 %conv5, i32* %result, align 4 + %5 = load i32, i32* %fd, align 4 + %call6 = call i32 @close(i32 %5) #18 + br label %if.end7 + +if.end7: ; preds = %if.then3, %if.end + %6 = load i32, i32* %result, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @brain_damaged_fillrand(i8* %buf, i32 %len) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %len.addr = alloca i32, align 4 + %i = alloca i32, align 4 + %k = alloca i32, align 4 + %tv = alloca %struct.timespec.0, align 8 + %high = alloca i32, align 4 + %low = alloca i32, align 4 + %rh = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i32 %len, i32* %len.addr, align 4 + %call = call i32 bitcast (i32 (%struct.timespec.0*, i8*)* @gettimeofday to i32 (%struct.timespec.0*, %struct.__mbstate_t.514*)*)(%struct.timespec.0* %tv, %struct.__mbstate_t.514* null) #19 + %tv_usec = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %tv, i32 0, i32 1 + %0 = load i64, i64* %tv_usec, align 8 + %shl = shl i64 %0, 16 + %tv_sec = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %tv, i32 0, i32 0 + %1 = load i64, i64* %tv_sec, align 8 + %xor = xor i64 %shl, %1 + %call1 = call i32 @getpid() #19 + %conv = sext i32 %call1 to i64 + %xor2 = xor i64 %xor, %conv + %2 = load i64, i64* @brain_damaged_fillrand.value, align 8 + %add = add i64 %2, %xor2 + store i64 %add, i64* @brain_damaged_fillrand.value, align 8 + %3 = load i64, i64* @brain_damaged_fillrand.value, align 8 + %and = and i64 %3, 4294967295 + %conv3 = trunc i64 %and to i32 + store i32 %conv3, i32* %low, align 4 + %4 = load i64, i64* @brain_damaged_fillrand.value, align 8 + %shr = lshr i64 %4, 32 + %conv4 = trunc i64 %shr to i32 + store i32 %conv4, i32* %high, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %5 = load i32, i32* %i, align 4 + %6 = load i32, i32* %len.addr, align 4 + %cmp = icmp ult i32 %5, %6 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %7 = load i32, i32* %high, align 4 + %rem = urem i32 %7, 62 + store i32 %rem, i32* %rh, align 4 + %8 = load i32, i32* %high, align 4 + %div = udiv i32 %8, 62 + store i32 %div, i32* %high, align 4 + %9 = load i32, i32* %low, align 4 + %rem6 = urem i32 %9, 62 + %10 = load i32, i32* %rh, align 4 + %mul = mul i32 4, %10 + %add7 = add i32 %rem6, %mul + store i32 %add7, i32* %k, align 4 + %11 = load i32, i32* %low, align 4 + %div8 = udiv i32 %11, 62 + %12 = load i32, i32* %rh, align 4 + %mul9 = mul i32 69273666, %12 + %add10 = add i32 %div8, %mul9 + %13 = load i32, i32* %k, align 4 + %div11 = udiv i32 %13, 62 + %add12 = add i32 %add10, %div11 + store i32 %add12, i32* %low, align 4 + %14 = load i32, i32* %k, align 4 + %rem13 = urem i32 %14, 62 + store i32 %rem13, i32* %k, align 4 + %15 = load i32, i32* %k, align 4 + %idxprom = zext i32 %15 to i64 + %arrayidx = getelementptr inbounds [63 x i8], [63 x i8]* @letters, i64 0, i64 %idxprom + %16 = load i8, i8* %arrayidx, align 1 + %17 = load i8*, i8** %buf.addr, align 8 + %18 = load i32, i32* %i, align 4 + %idxprom14 = zext i32 %18 to i64 + %arrayidx15 = getelementptr inbounds i8, i8* %17, i64 %idxprom14 + store i8 %16, i8* %arrayidx15, align 1 + %19 = load i32, i32* %i, align 4 + %inc = add i32 %19, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + ret void +} + +; Function Attrs: nounwind +declare i32 @getpid() #2 + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_locale_set_l(i8* %p, %struct.__uclibc_locale_struct.203* %base) #0 { +entry: + %retval = alloca i32, align 4 + %p.addr = alloca i8*, align 8 + %base.addr = alloca %struct.__uclibc_locale_struct.203*, align 8 + %x = alloca i8**, align 8 + %s = alloca i8*, align 8 + %stp = alloca i64*, align 8 + %r = alloca i8*, align 8 + %io = alloca i16*, align 8 + %ii = alloca i16*, align 8 + %d = alloca i8*, align 8 + %row = alloca i32, align 4 + %crow = alloca i32, align 4 + %len = alloca i32, align 4 + %c = alloca i32, align 4 + %i = alloca i32, align 4 + %newcol = alloca %struct.__collate_t.202, align 8 + %c8b = alloca %struct.__codeset_8_bit_t.204*, align 8 + %u = alloca i32, align 4 + %m = alloca i16, align 2 + store i8* %p, i8** %p.addr, align 8 + store %struct.__uclibc_locale_struct.203* %base, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %0, i32 0, i32 6 + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 1 + store i8* %add.ptr, i8** %s, align 8 + store i32 0, i32* %i, align 4 + %1 = load i8*, i8** %p.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %1, i32 1 + store i8* %incdec.ptr, i8** %p.addr, align 8 + %index2weight = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %newcol, i32 0, i32 23 + store i16* null, i16** %index2weight, align 8 + %2 = load i8*, i8** %p.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %2, i64 8 + %3 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %3 to i32 + %4 = load i8*, i8** %s, align 8 + %arrayidx1 = getelementptr inbounds i8, i8* %4, i64 8 + %5 = load i8, i8* %arrayidx1, align 1 + %conv2 = zext i8 %5 to i32 + %cmp = icmp ne i32 %conv, %conv2 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %6 = load i8*, i8** %p.addr, align 8 + %arrayidx4 = getelementptr inbounds i8, i8* %6, i64 9 + %7 = load i8, i8* %arrayidx4, align 1 + %conv5 = zext i8 %7 to i32 + %8 = load i8*, i8** %s, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %8, i64 9 + %9 = load i8, i8* %arrayidx6, align 1 + %conv7 = zext i8 %9 to i32 + %cmp8 = icmp ne i32 %conv5, %conv7 + br i1 %cmp8, label %if.then, label %if.end22 + +if.then: ; preds = %lor.lhs.false, %entry + %10 = load i8*, i8** %p.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv10 = zext i8 %11 to i32 + %and = and i32 %conv10, 127 + %shl = shl i32 %and, 7 + %12 = load i8*, i8** %p.addr, align 8 + %arrayidx11 = getelementptr inbounds i8, i8* %12, i64 1 + %13 = load i8, i8* %arrayidx11, align 1 + %conv12 = zext i8 %13 to i32 + %and13 = and i32 %conv12, 127 + %add = add nsw i32 %shl, %and13 + store i32 %add, i32* %row, align 4 + %14 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %locales = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %14, i32 0, i32 31 + %15 = load i32, i32* %row, align 4 + %mul = mul nsw i32 9, %15 + %add14 = add nsw i32 %mul, 3 + %add15 = add nsw i32 %add14, 4 + %idxprom = sext i32 %add15 to i64 + %arrayidx16 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales, i64 0, i64 %idxprom + %16 = load i8, i8* %arrayidx16, align 1 + %conv17 = zext i8 %16 to i32 + %call = call i32 @init_cur_collate(i32 %conv17, %struct.__collate_t.202* %newcol) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end, label %if.then18 + +if.then18: ; preds = %if.then + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %if.then + %17 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %collate = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %17, i32 0, i32 118 + %index2weight19 = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %collate, i32 0, i32 23 + %18 = load i16*, i16** %index2weight19, align 8 + %19 = bitcast i16* %18 to i8* + call void @free(i8* %19) #19 + %20 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %collate20 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %20, i32 0, i32 118 + %21 = bitcast %struct.__collate_t.202* %collate20 to i8* + %22 = bitcast %struct.__collate_t.202* %newcol to i8* + %call21 = call i8* @memcpy(i8* %21, i8* %22, i64 112) #19 + br label %if.end22 + +if.end22: ; preds = %if.end, %lor.lhs.false + br label %do.body + +do.body: ; preds = %if.end313, %if.end22 + %23 = load i8*, i8** %p.addr, align 8 + %24 = load i8, i8* %23, align 1 + %conv23 = zext i8 %24 to i32 + %25 = load i8*, i8** %s, align 8 + %26 = load i8, i8* %25, align 1 + %conv24 = zext i8 %26 to i32 + %cmp25 = icmp ne i32 %conv23, %conv24 + br i1 %cmp25, label %if.then34, label %lor.lhs.false27 + +lor.lhs.false27: ; preds = %do.body + %27 = load i8*, i8** %p.addr, align 8 + %arrayidx28 = getelementptr inbounds i8, i8* %27, i64 1 + %28 = load i8, i8* %arrayidx28, align 1 + %conv29 = zext i8 %28 to i32 + %29 = load i8*, i8** %s, align 8 + %arrayidx30 = getelementptr inbounds i8, i8* %29, i64 1 + %30 = load i8, i8* %arrayidx30, align 1 + %conv31 = zext i8 %30 to i32 + %cmp32 = icmp ne i32 %conv29, %conv31 + br i1 %cmp32, label %if.then34, label %if.end313 + +if.then34: ; preds = %lor.lhs.false27, %do.body + %31 = load i8*, i8** %p.addr, align 8 + %32 = load i8, i8* %31, align 1 + %conv35 = zext i8 %32 to i32 + %and36 = and i32 %conv35, 127 + %shl37 = shl i32 %and36, 7 + %33 = load i8*, i8** %p.addr, align 8 + %arrayidx38 = getelementptr inbounds i8, i8* %33, i64 1 + %34 = load i8, i8* %arrayidx38, align 1 + %conv39 = zext i8 %34 to i32 + %and40 = and i32 %conv39, 127 + %add41 = add nsw i32 %shl37, %and40 + store i32 %add41, i32* %row, align 4 + %35 = load i8*, i8** %p.addr, align 8 + %36 = load i8, i8* %35, align 1 + %37 = load i8*, i8** %s, align 8 + store i8 %36, i8* %37, align 1 + %38 = load i8*, i8** %p.addr, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %38, i64 1 + %39 = load i8, i8* %arrayidx42, align 1 + %40 = load i8*, i8** %s, align 8 + %arrayidx43 = getelementptr inbounds i8, i8* %40, i64 1 + store i8 %39, i8* %arrayidx43, align 1 + %41 = load i32, i32* %i, align 4 + %cmp44 = icmp ne i32 %41, 4 + br i1 %cmp44, label %land.lhs.true, label %if.end92 + +land.lhs.true: ; preds = %if.then34 + %42 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %lc_common_item_offsets_LEN = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %42, i32 0, i32 29 + %43 = load i32, i32* %i, align 4 + %idxprom46 = sext i32 %43 to i64 + %arrayidx47 = getelementptr inbounds [6 x i8], [6 x i8]* %lc_common_item_offsets_LEN, i64 0, i64 %idxprom46 + %44 = load i8, i8* %arrayidx47, align 1 + %conv48 = zext i8 %44 to i32 + store i32 %conv48, i32* %len, align 4 + %cmp49 = icmp ne i32 %conv48, 0 + br i1 %cmp49, label %if.then51, label %if.end92 + +if.then51: ; preds = %land.lhs.true + %45 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %locales52 = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %45, i32 0, i32 31 + %46 = load i32, i32* %row, align 4 + %mul53 = mul nsw i32 9, %46 + %add54 = add nsw i32 %mul53, 3 + %47 = load i32, i32* %i, align 4 + %add55 = add nsw i32 %add54, %47 + %idxprom56 = sext i32 %add55 to i64 + %arrayidx57 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales52, i64 0, i64 %idxprom56 + %48 = load i8, i8* %arrayidx57, align 1 + %conv58 = zext i8 %48 to i32 + %49 = load i32, i32* %len, align 4 + %mul59 = mul nsw i32 %conv58, %49 + store i32 %mul59, i32* %crow, align 4 + %50 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %51 = bitcast %struct.__uclibc_locale_struct.203* %50 to i8* + %52 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %category_offsets = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %52, i32 0, i32 7 + %53 = load i32, i32* %i, align 4 + %idxprom60 = sext i32 %53 to i64 + %arrayidx61 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets, i64 0, i64 %idxprom60 + %54 = load i16, i16* %arrayidx61, align 2 + %conv62 = zext i16 %54 to i32 + %idx.ext = sext i32 %conv62 to i64 + %add.ptr63 = getelementptr inbounds i8, i8* %51, i64 %idx.ext + %55 = bitcast i8* %add.ptr63 to i8** + store i8** %55, i8*** %x, align 8 + %56 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %lc_common_tbl_offsets = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %56, i32 0, i32 30 + %arraydecay64 = getelementptr inbounds [24 x i64], [24 x i64]* %lc_common_tbl_offsets, i64 0, i64 0 + %57 = load i32, i32* %i, align 4 + %mul65 = mul nsw i32 4, %57 + %idx.ext66 = sext i32 %mul65 to i64 + %add.ptr67 = getelementptr inbounds i64, i64* %arraydecay64, i64 %idx.ext66 + store i64* %add.ptr67, i64** %stp, align 8 + %58 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %59 = bitcast %struct.__locale_mmap_t.205* %58 to i8* + %60 = load i64*, i64** %stp, align 8 + %61 = load i64, i64* %60, align 8 + %add.ptr68 = getelementptr inbounds i8, i8* %59, i64 %61 + store i8* %add.ptr68, i8** %r, align 8 + %62 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %63 = bitcast %struct.__locale_mmap_t.205* %62 to i8* + %64 = load i64*, i64** %stp, align 8 + %incdec.ptr69 = getelementptr inbounds i64, i64* %64, i32 1 + store i64* %incdec.ptr69, i64** %stp, align 8 + %65 = load i64, i64* %incdec.ptr69, align 8 + %add.ptr70 = getelementptr inbounds i8, i8* %63, i64 %65 + %66 = bitcast i8* %add.ptr70 to i16* + store i16* %66, i16** %io, align 8 + %67 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %68 = bitcast %struct.__locale_mmap_t.205* %67 to i8* + %69 = load i64*, i64** %stp, align 8 + %incdec.ptr71 = getelementptr inbounds i64, i64* %69, i32 1 + store i64* %incdec.ptr71, i64** %stp, align 8 + %70 = load i64, i64* %incdec.ptr71, align 8 + %add.ptr72 = getelementptr inbounds i8, i8* %68, i64 %70 + %71 = bitcast i8* %add.ptr72 to i16* + store i16* %71, i16** %ii, align 8 + %72 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %73 = bitcast %struct.__locale_mmap_t.205* %72 to i8* + %74 = load i64*, i64** %stp, align 8 + %incdec.ptr73 = getelementptr inbounds i64, i64* %74, i32 1 + store i64* %incdec.ptr73, i64** %stp, align 8 + %75 = load i64, i64* %incdec.ptr73, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %73, i64 %75 + store i8* %add.ptr74, i8** %d, align 8 + store i32 0, i32* %c, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.then51 + %76 = load i32, i32* %c, align 4 + %77 = load i32, i32* %len, align 4 + %cmp75 = icmp slt i32 %76, %77 + br i1 %cmp75, label %for.body, label %if.end92 + +for.body: ; preds = %for.cond + %78 = load i8*, i8** %d, align 8 + %79 = load i16*, i16** %ii, align 8 + %80 = load i8*, i8** %r, align 8 + %81 = load i32, i32* %crow, align 4 + %82 = load i32, i32* %c, align 4 + %add77 = add nsw i32 %81, %82 + %idxprom78 = sext i32 %add77 to i64 + %arrayidx79 = getelementptr inbounds i8, i8* %80, i64 %idxprom78 + %83 = load i8, i8* %arrayidx79, align 1 + %conv80 = zext i8 %83 to i32 + %84 = load i16*, i16** %io, align 8 + %85 = load i32, i32* %c, align 4 + %idxprom81 = sext i32 %85 to i64 + %arrayidx82 = getelementptr inbounds i16, i16* %84, i64 %idxprom81 + %86 = load i16, i16* %arrayidx82, align 2 + %conv83 = zext i16 %86 to i32 + %add84 = add nsw i32 %conv80, %conv83 + %idxprom85 = sext i32 %add84 to i64 + %arrayidx86 = getelementptr inbounds i16, i16* %79, i64 %idxprom85 + %87 = load i16, i16* %arrayidx86, align 2 + %conv87 = zext i16 %87 to i32 + %idx.ext88 = sext i32 %conv87 to i64 + %add.ptr89 = getelementptr inbounds i8, i8* %78, i64 %idx.ext88 + %88 = load i8**, i8*** %x, align 8 + %89 = load i32, i32* %c, align 4 + %idx.ext90 = sext i32 %89 to i64 + %add.ptr91 = getelementptr inbounds i8*, i8** %88, i64 %idx.ext90 + store i8* %add.ptr89, i8** %add.ptr91, align 8 + %90 = load i32, i32* %c, align 4 + %inc = add nsw i32 %90, 1 + store i32 %inc, i32* %c, align 4 + br label %for.cond + +if.end92: ; preds = %for.cond, %land.lhs.true, %if.then34 + %91 = load i32, i32* %i, align 4 + %cmp93 = icmp eq i32 %91, 0 + br i1 %cmp93, label %if.then95, label %if.else295 + +if.then95: ; preds = %if.end92 + %92 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %locales96 = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %92, i32 0, i32 31 + %93 = load i32, i32* %row, align 4 + %mul97 = mul nsw i32 9, %93 + %add98 = add nsw i32 %mul97, 2 + %idxprom99 = sext i32 %add98 to i64 + %arrayidx100 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales96, i64 0, i64 %idxprom99 + %94 = load i8, i8* %arrayidx100, align 1 + %conv101 = zext i8 %94 to i32 + store i32 %conv101, i32* %c, align 4 + %95 = load i32, i32* %c, align 4 + %cmp102 = icmp sle i32 %95, 2 + br i1 %cmp102, label %if.then104, label %if.else112 + +if.then104: ; preds = %if.then95 + %96 = load i32, i32* %c, align 4 + %cmp105 = icmp eq i32 %96, 2 + %97 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %codeset = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %97, i32 0, i32 38 + br i1 %cmp105, label %if.then107, label %if.else + +if.then107: ; preds = %if.then104 + store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf8, i64 0, i64 0), i8** %codeset, align 8 + %98 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %98, i32 0, i32 9 + store i8 1, i8* %encoding, align 8 + %99 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %mb_cur_max = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %99, i32 0, i32 10 + store i8 6, i8* %mb_cur_max, align 1 + br label %if.end280 + +if.else: ; preds = %if.then104 + store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @ascii, i64 0, i64 0), i8** %codeset, align 8 + %100 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %encoding109 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %100, i32 0, i32 9 + store i8 0, i8* %encoding109, align 8 + %101 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %mb_cur_max110 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %101, i32 0, i32 10 + store i8 1, i8* %mb_cur_max110, align 1 + br label %if.end280 + +if.else112: ; preds = %if.then95 + %102 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %codeset_list = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %102, i32 0, i32 35 + %arraydecay113 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list, i64 0, i64 0 + store i8* %arraydecay113, i8** %r, align 8 + %103 = load i8*, i8** %r, align 8 + %104 = load i8*, i8** %r, align 8 + %105 = load i32, i32* %c, align 4 + %sub = sub nsw i32 %105, 3 + store i32 %sub, i32* %c, align 4 + %idxprom114 = sext i32 %sub to i64 + %arrayidx115 = getelementptr inbounds i8, i8* %104, i64 %idxprom114 + %106 = load i8, i8* %arrayidx115, align 1 + %conv116 = zext i8 %106 to i32 + %idx.ext117 = sext i32 %conv116 to i64 + %add.ptr118 = getelementptr inbounds i8, i8* %103, i64 %idx.ext117 + %107 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %codeset119 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %107, i32 0, i32 38 + store i8* %add.ptr118, i8** %codeset119, align 8 + %108 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %encoding120 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %108, i32 0, i32 9 + store i8 2, i8* %encoding120, align 8 + %109 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %mb_cur_max121 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %109, i32 0, i32 10 + store i8 1, i8* %mb_cur_max121, align 1 + %110 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %codeset_8_bit = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %110, i32 0, i32 12 + %arraydecay122 = getelementptr inbounds [23 x %struct.__codeset_8_bit_t.204], [23 x %struct.__codeset_8_bit_t.204]* %codeset_8_bit, i64 0, i64 0 + %111 = load i32, i32* %c, align 4 + %idx.ext123 = sext i32 %111 to i64 + %add.ptr124 = getelementptr inbounds %struct.__codeset_8_bit_t.204, %struct.__codeset_8_bit_t.204* %arraydecay122, i64 %idx.ext123 + store %struct.__codeset_8_bit_t.204* %add.ptr124, %struct.__codeset_8_bit_t.204** %c8b, align 8 + %112 = load %struct.__codeset_8_bit_t.204*, %struct.__codeset_8_bit_t.204** %c8b, align 8 + %idx8ctype = getelementptr inbounds %struct.__codeset_8_bit_t.204, %struct.__codeset_8_bit_t.204* %112, i32 0, i32 0 + %arraydecay125 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8ctype, i64 0, i64 0 + %113 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %idx8ctype126 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %113, i32 0, i32 12 + store i8* %arraydecay125, i8** %idx8ctype126, align 8 + %114 = load %struct.__codeset_8_bit_t.204*, %struct.__codeset_8_bit_t.204** %c8b, align 8 + %idx8uplow = getelementptr inbounds %struct.__codeset_8_bit_t.204, %struct.__codeset_8_bit_t.204* %114, i32 0, i32 1 + %arraydecay127 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8uplow, i64 0, i64 0 + %115 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %idx8uplow128 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %115, i32 0, i32 14 + store i8* %arraydecay127, i8** %idx8uplow128, align 8 + %116 = load %struct.__codeset_8_bit_t.204*, %struct.__codeset_8_bit_t.204** %c8b, align 8 + %idx8c2wc = getelementptr inbounds %struct.__codeset_8_bit_t.204, %struct.__codeset_8_bit_t.204* %116, i32 0, i32 2 + %arraydecay129 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8c2wc, i64 0, i64 0 + %117 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %idx8c2wc130 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %117, i32 0, i32 16 + store i8* %arraydecay129, i8** %idx8c2wc130, align 8 + %118 = load %struct.__codeset_8_bit_t.204*, %struct.__codeset_8_bit_t.204** %c8b, align 8 + %idx8wc2c = getelementptr inbounds %struct.__codeset_8_bit_t.204, %struct.__codeset_8_bit_t.204* %118, i32 0, i32 3 + %arraydecay131 = getelementptr inbounds [38 x i8], [38 x i8]* %idx8wc2c, i64 0, i64 0 + %119 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %idx8wc2c132 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %119, i32 0, i32 18 + store i8* %arraydecay131, i8** %idx8wc2c132, align 8 + %120 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %__ctype_b_data = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %120, i32 0, i32 3 + %arraydecay133 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data, i64 0, i64 0 + %121 = bitcast i16* %arraydecay133 to i8* + %122 = load i16*, i16** @__C_ctype_b, align 8 + %add.ptr134 = getelementptr inbounds i16, i16* %122, i64 -128 + %123 = bitcast i16* %add.ptr134 to i8* + %call135 = call i8* @memcpy(i8* %121, i8* %123, i64 768) #19 + %124 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %__ctype_tolower_data = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %124, i32 0, i32 4 + %arraydecay136 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data, i64 0, i64 0 + %125 = bitcast i16* %arraydecay136 to i8* + %126 = load i16*, i16** @__C_ctype_tolower, align 8 + %add.ptr137 = getelementptr inbounds i16, i16* %126, i64 -128 + %127 = bitcast i16* %add.ptr137 to i8* + %call138 = call i8* @memcpy(i8* %125, i8* %127, i64 768) #19 + %128 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %__ctype_toupper_data = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %128, i32 0, i32 5 + %arraydecay139 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data, i64 0, i64 0 + %129 = bitcast i16* %arraydecay139 to i8* + %130 = load i16*, i16** @__C_ctype_toupper, align 8 + %add.ptr140 = getelementptr inbounds i16, i16* %130, i64 -128 + %131 = bitcast i16* %add.ptr140 to i8* + %call141 = call i8* @memcpy(i8* %129, i8* %131, i64 768) #19 + store i32 0, i32* %u, align 4 + br label %for.cond142 + +for.cond142: ; preds = %for.inc268, %if.else112 + %132 = load i32, i32* %u, align 4 + %cmp143 = icmp slt i32 %132, 128 + %133 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + br i1 %cmp143, label %for.body145, label %for.end270 + +for.body145: ; preds = %for.cond142 + %tbl8ctype = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %133, i32 0, i32 13 + %134 = load i8*, i8** %tbl8ctype, align 8 + %135 = load %struct.__codeset_8_bit_t.204*, %struct.__codeset_8_bit_t.204** %c8b, align 8 + %idx8ctype146 = getelementptr inbounds %struct.__codeset_8_bit_t.204, %struct.__codeset_8_bit_t.204* %135, i32 0, i32 0 + %136 = load i32, i32* %u, align 4 + %shr = ashr i32 %136, 3 + %idxprom147 = sext i32 %shr to i64 + %arrayidx148 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8ctype146, i64 0, i64 %idxprom147 + %137 = load i8, i8* %arrayidx148, align 1 + %conv149 = zext i8 %137 to i32 + %shl150 = shl i32 %conv149, 2 + %138 = load i32, i32* %u, align 4 + %and151 = and i32 %138, 7 + %shr152 = ashr i32 %and151, 1 + %add153 = add nsw i32 %shl150, %shr152 + %idxprom154 = sext i32 %add153 to i64 + %arrayidx155 = getelementptr inbounds i8, i8* %134, i64 %idxprom154 + %139 = load i8, i8* %arrayidx155, align 1 + %conv156 = zext i8 %139 to i32 + store i32 %conv156, i32* %c, align 4 + %140 = load i32, i32* %u, align 4 + %and157 = and i32 %140, 1 + %tobool158 = icmp ne i32 %and157, 0 + %141 = load i32, i32* %c, align 4 + %shr159 = ashr i32 %141, 4 + %and160 = and i32 %141, 15 + %cond = select i1 %tobool158, i32 %shr159, i32 %and160 + store i32 %cond, i32* %c, align 4 + %142 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %code2flag = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %142, i32 0, i32 20 + %143 = load i16*, i16** %code2flag, align 8 + %144 = load i32, i32* %c, align 4 + %idxprom161 = sext i32 %144 to i64 + %arrayidx162 = getelementptr inbounds i16, i16* %143, i64 %idxprom161 + %145 = load i16, i16* %arrayidx162, align 2 + store i16 %145, i16* %m, align 2 + %146 = load i16, i16* %m, align 2 + %147 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %__ctype_b_data163 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %147, i32 0, i32 3 + %148 = load i32, i32* %u, align 4 + %add164 = add nsw i32 256, %148 + %idxprom165 = sext i32 %add164 to i64 + %arrayidx166 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data163, i64 0, i64 %idxprom165 + store i16 %146, i16* %arrayidx166, align 2 + %149 = load i32, i32* %u, align 4 + %add167 = add nsw i32 128, %149 + %conv168 = trunc i32 %add167 to i8 + %conv169 = sext i8 %conv168 to i32 + %cmp170 = icmp ne i32 %conv169, -1 + br i1 %cmp170, label %if.then172, label %if.end180 + +if.then172: ; preds = %for.body145 + %150 = load i16, i16* %m, align 2 + %151 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %__ctype_b_data173 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %151, i32 0, i32 3 + %152 = load i32, i32* %u, align 4 + %add174 = add nsw i32 128, %152 + %conv175 = trunc i32 %add174 to i8 + %conv176 = sext i8 %conv175 to i32 + %add177 = add nsw i32 128, %conv176 + %idxprom178 = sext i32 %add177 to i64 + %arrayidx179 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data173, i64 0, i64 %idxprom178 + store i16 %150, i16* %arrayidx179, align 2 + br label %if.end180 + +if.end180: ; preds = %if.then172, %for.body145 + %153 = load i32, i32* %u, align 4 + %add181 = add nsw i32 128, %153 + %conv182 = trunc i32 %add181 to i16 + %154 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %__ctype_tolower_data183 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %154, i32 0, i32 4 + %155 = load i32, i32* %u, align 4 + %add184 = add nsw i32 256, %155 + %idxprom185 = sext i32 %add184 to i64 + %arrayidx186 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data183, i64 0, i64 %idxprom185 + store i16 %conv182, i16* %arrayidx186, align 2 + %156 = load i32, i32* %u, align 4 + %add187 = add nsw i32 128, %156 + %conv188 = trunc i32 %add187 to i16 + %157 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %__ctype_toupper_data189 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %157, i32 0, i32 5 + %158 = load i32, i32* %u, align 4 + %add190 = add nsw i32 256, %158 + %idxprom191 = sext i32 %add190 to i64 + %arrayidx192 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data189, i64 0, i64 %idxprom191 + store i16 %conv188, i16* %arrayidx192, align 2 + %159 = load i16, i16* %m, align 2 + %conv193 = zext i16 %159 to i32 + %and194 = and i32 %conv193, 768 + %tobool195 = icmp ne i32 %and194, 0 + br i1 %tobool195, label %if.then196, label %for.inc268 + +if.then196: ; preds = %if.end180 + %160 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %tbl8uplow = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %160, i32 0, i32 15 + %161 = load i8*, i8** %tbl8uplow, align 8 + %162 = load %struct.__codeset_8_bit_t.204*, %struct.__codeset_8_bit_t.204** %c8b, align 8 + %idx8uplow197 = getelementptr inbounds %struct.__codeset_8_bit_t.204, %struct.__codeset_8_bit_t.204* %162, i32 0, i32 1 + %163 = load i32, i32* %u, align 4 + %shr198 = ashr i32 %163, 3 + %idxprom199 = sext i32 %shr198 to i64 + %arrayidx200 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8uplow197, i64 0, i64 %idxprom199 + %164 = load i8, i8* %arrayidx200, align 1 + %conv201 = zext i8 %164 to i32 + %shl202 = shl i32 %conv201, 3 + %165 = load i32, i32* %u, align 4 + %add203 = add nsw i32 128, %165 + %and204 = and i32 %add203, 7 + %add205 = add nsw i32 %shl202, %and204 + %idxprom206 = sext i32 %add205 to i64 + %arrayidx207 = getelementptr inbounds i8, i8* %161, i64 %idxprom206 + %166 = load i8, i8* %arrayidx207, align 1 + %conv208 = zext i8 %166 to i32 + store i32 %conv208, i32* %c, align 4 + %167 = load i16, i16* %m, align 2 + %conv209 = zext i16 %167 to i32 + %and210 = and i32 %conv209, 512 + %tobool211 = icmp ne i32 %and210, 0 + %168 = load i32, i32* %u, align 4 + %add213 = add nsw i32 128, %168 + %169 = load i32, i32* %c, align 4 + br i1 %tobool211, label %if.then212, label %if.else239 + +if.then212: ; preds = %if.then196 + %add214 = add nsw i32 %add213, %169 + %conv215 = trunc i32 %add214 to i8 + %conv216 = zext i8 %conv215 to i16 + %170 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %__ctype_toupper_data217 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %170, i32 0, i32 5 + %171 = load i32, i32* %u, align 4 + %add218 = add nsw i32 256, %171 + %idxprom219 = sext i32 %add218 to i64 + %arrayidx220 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data217, i64 0, i64 %idxprom219 + store i16 %conv216, i16* %arrayidx220, align 2 + %172 = load i32, i32* %u, align 4 + %add221 = add nsw i32 128, %172 + %conv222 = trunc i32 %add221 to i8 + %conv223 = sext i8 %conv222 to i32 + %cmp224 = icmp ne i32 %conv223, -1 + br i1 %cmp224, label %if.then226, label %for.inc268 + +if.then226: ; preds = %if.then212 + %173 = load i32, i32* %u, align 4 + %add227 = add nsw i32 128, %173 + %174 = load i32, i32* %c, align 4 + %add228 = add nsw i32 %add227, %174 + %conv229 = trunc i32 %add228 to i8 + %conv230 = zext i8 %conv229 to i16 + %175 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %__ctype_toupper_data231 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %175, i32 0, i32 5 + %176 = load i32, i32* %u, align 4 + %add232 = add nsw i32 128, %176 + %conv233 = trunc i32 %add232 to i8 + %conv234 = sext i8 %conv233 to i32 + %add235 = add nsw i32 128, %conv234 + %idxprom236 = sext i32 %add235 to i64 + %arrayidx237 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data231, i64 0, i64 %idxprom236 + store i16 %conv230, i16* %arrayidx237, align 2 + br label %for.inc268 + +if.else239: ; preds = %if.then196 + %sub241 = sub nsw i32 %add213, %169 + %conv242 = trunc i32 %sub241 to i8 + %conv243 = zext i8 %conv242 to i16 + %177 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %__ctype_tolower_data244 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %177, i32 0, i32 4 + %178 = load i32, i32* %u, align 4 + %add245 = add nsw i32 256, %178 + %idxprom246 = sext i32 %add245 to i64 + %arrayidx247 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data244, i64 0, i64 %idxprom246 + store i16 %conv243, i16* %arrayidx247, align 2 + %179 = load i32, i32* %u, align 4 + %add248 = add nsw i32 128, %179 + %conv249 = trunc i32 %add248 to i8 + %conv250 = sext i8 %conv249 to i32 + %cmp251 = icmp ne i32 %conv250, -1 + br i1 %cmp251, label %if.then253, label %for.inc268 + +if.then253: ; preds = %if.else239 + %180 = load i32, i32* %u, align 4 + %add254 = add nsw i32 128, %180 + %181 = load i32, i32* %c, align 4 + %sub255 = sub nsw i32 %add254, %181 + %conv256 = trunc i32 %sub255 to i8 + %conv257 = zext i8 %conv256 to i16 + %182 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %__ctype_tolower_data258 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %182, i32 0, i32 4 + %183 = load i32, i32* %u, align 4 + %add259 = add nsw i32 128, %183 + %conv260 = trunc i32 %add259 to i8 + %conv261 = sext i8 %conv260 to i32 + %add262 = add nsw i32 128, %conv261 + %idxprom263 = sext i32 %add262 to i64 + %arrayidx264 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data258, i64 0, i64 %idxprom263 + store i16 %conv257, i16* %arrayidx264, align 2 + br label %for.inc268 + +for.inc268: ; preds = %if.end180, %if.else239, %if.then253, %if.then212, %if.then226 + %184 = load i32, i32* %u, align 4 + %inc269 = add nsw i32 %184, 1 + store i32 %inc269, i32* %u, align 4 + br label %for.cond142 + +for.end270: ; preds = %for.cond142 + %__ctype_b_data271 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %133, i32 0, i32 3 + %arraydecay272 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data271, i64 0, i64 0 + %add.ptr273 = getelementptr inbounds i16, i16* %arraydecay272, i64 128 + %185 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %185, i32 0, i32 0 + store i16* %add.ptr273, i16** %__ctype_b, align 8 + %186 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %__ctype_tolower_data274 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %186, i32 0, i32 4 + %arraydecay275 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data274, i64 0, i64 0 + %add.ptr276 = getelementptr inbounds i16, i16* %arraydecay275, i64 128 + %187 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %__ctype_tolower = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %187, i32 0, i32 1 + store i16* %add.ptr276, i16** %__ctype_tolower, align 8 + %188 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %__ctype_toupper_data277 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %188, i32 0, i32 5 + %arraydecay278 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data277, i64 0, i64 0 + %add.ptr279 = getelementptr inbounds i16, i16* %arraydecay278, i64 128 + %189 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %__ctype_toupper = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %189, i32 0, i32 2 + store i16* %add.ptr279, i16** %__ctype_toupper, align 8 + br label %if.end280 + +if.end280: ; preds = %if.then107, %if.else, %for.end270 + %190 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %outdigit_length = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %190, i32 0, i32 11 + %arraydecay281 = getelementptr inbounds [10 x i8], [10 x i8]* %outdigit_length, i64 0, i64 0 + store i8* %arraydecay281, i8** %d, align 8 + %191 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %outdigit0_mb = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %191, i32 0, i32 28 + store i8** %outdigit0_mb, i8*** %x, align 8 + store i32 0, i32* %c, align 4 + br label %for.cond282 + +for.cond282: ; preds = %for.body285, %if.end280 + %192 = load i32, i32* %c, align 4 + %cmp283 = icmp slt i32 %192, 10 + br i1 %cmp283, label %for.body285, label %if.end313 + +for.body285: ; preds = %for.cond282 + %193 = load i8**, i8*** %x, align 8 + %194 = load i32, i32* %c, align 4 + %idxprom286 = sext i32 %194 to i64 + %arrayidx287 = getelementptr inbounds i8*, i8** %193, i64 %idxprom286 + %195 = load i8*, i8** %arrayidx287, align 8 + %call288 = call i64 @strlen(i8* %195) #20 + %conv289 = trunc i64 %call288 to i8 + %196 = load i8*, i8** %d, align 8 + %197 = load i32, i32* %c, align 4 + %idxprom290 = sext i32 %197 to i64 + %arrayidx291 = getelementptr inbounds i8, i8* %196, i64 %idxprom290 + store i8 %conv289, i8* %arrayidx291, align 1 + %198 = load i32, i32* %c, align 4 + %inc293 = add nsw i32 %198, 1 + store i32 %inc293, i32* %c, align 4 + br label %for.cond282 + +if.else295: ; preds = %if.end92 + %199 = load i32, i32* %i, align 4 + %cmp296 = icmp eq i32 %199, 1 + br i1 %cmp296, label %if.then298, label %if.end313 + +if.then298: ; preds = %if.else295 + %200 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %decimal_point_wc = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %200, i32 0, i32 24 + %201 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %decimal_point = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %201, i32 0, i32 39 + %202 = load i8*, i8** %decimal_point, align 8 + %203 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %call299 = call i32 @__locale_mbrtowc_l(i32* %decimal_point_wc, i8* %202, %struct.__uclibc_locale_struct.203* %203) #18 + %204 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %decimal_point_len = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %204, i32 0, i32 26 + store i32 %call299, i32* %decimal_point_len, align 8 + %205 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %grouping = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %205, i32 0, i32 41 + %206 = load i8*, i8** %grouping, align 8 + %207 = load i8, i8* %206, align 1 + %tobool300 = icmp ne i8 %207, 0 + br i1 %tobool300, label %if.then301, label %if.end313 + +if.then301: ; preds = %if.then298 + %208 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %thousands_sep_wc = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %208, i32 0, i32 25 + %209 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %thousands_sep = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %209, i32 0, i32 40 + %210 = load i8*, i8** %thousands_sep, align 8 + %211 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %call302 = call i32 @__locale_mbrtowc_l(i32* %thousands_sep_wc, i8* %210, %struct.__uclibc_locale_struct.203* %211) #18 + %212 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %thousands_sep_len = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %212, i32 0, i32 27 + store i32 %call302, i32* %thousands_sep_len, align 4 + %213 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %thousands_sep_len303 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %213, i32 0, i32 27 + %214 = load i32, i32* %thousands_sep_len303, align 4 + %cmp304 = icmp eq i32 %214, 0 + br i1 %cmp304, label %if.then306, label %if.end313 + +if.then306: ; preds = %if.then301 + %215 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %thousands_sep307 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %215, i32 0, i32 40 + %216 = load i8*, i8** %thousands_sep307, align 8 + %217 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %grouping308 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %217, i32 0, i32 41 + store i8* %216, i8** %grouping308, align 8 + br label %if.end313 + +if.end313: ; preds = %for.cond282, %if.then298, %if.then306, %if.then301, %if.else295, %lor.lhs.false27 + %218 = load i32, i32* %i, align 4 + %inc314 = add nsw i32 %218, 1 + store i32 %inc314, i32* %i, align 4 + %219 = load i8*, i8** %p.addr, align 8 + %add.ptr315 = getelementptr inbounds i8, i8* %219, i64 2 + store i8* %add.ptr315, i8** %p.addr, align 8 + %220 = load i8*, i8** %s, align 8 + %add.ptr316 = getelementptr inbounds i8, i8* %220, i64 2 + store i8* %add.ptr316, i8** %s, align 8 + %221 = load i32, i32* %i, align 4 + %cmp317 = icmp slt i32 %221, 6 + br i1 %cmp317, label %do.body, label %do.end + +do.end: ; preds = %if.end313 + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end, %if.then18 + %222 = load i32, i32* %retval, align 4 + ret i32 %222 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @init_cur_collate(i32 %der_num, %struct.__collate_t.202* %cur_collate) #0 { +entry: + %retval = alloca i32, align 4 + %der_num.addr = alloca i32, align 4 + %cur_collate.addr = alloca %struct.__collate_t.202*, align 8 + %__locale_collate_tbl = alloca i16*, align 8 + %cdh = alloca %struct.coldata_header_t*, align 8 + %cdb = alloca %struct.coldata_base_t*, align 8 + %cdd = alloca %struct.winsize*, align 8 + %p = alloca i16*, align 8 + %n = alloca i64, align 8 + %i = alloca i16, align 2 + %w = alloca i16, align 2 + store i32 %der_num, i32* %der_num.addr, align 4 + store %struct.__collate_t.202* %cur_collate, %struct.__collate_t.202** %cur_collate.addr, align 8 + %0 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %collate_data = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %0, i32 0, i32 28 + %arraydecay = getelementptr inbounds [91141 x i16], [91141 x i16]* %collate_data, i64 0, i64 0 + store i16* %arraydecay, i16** %__locale_collate_tbl, align 8 + %1 = load i32, i32* %der_num.addr, align 4 + %tobool = icmp ne i32 %1, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %2 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %num_weights = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %2, i32 0, i32 0 + store i16 0, i16* %num_weights, align 8 + store i32 1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* %der_num.addr, align 4 + %dec = add nsw i32 %3, -1 + store i32 %dec, i32* %der_num.addr, align 4 + %4 = load i16*, i16** %__locale_collate_tbl, align 8 + %5 = bitcast i16* %4 to %struct.coldata_header_t* + store %struct.coldata_header_t* %5, %struct.coldata_header_t** %cdh, align 8 + %6 = load i16*, i16** %__locale_collate_tbl, align 8 + %7 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_base = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %7, i32 0, i32 0 + %8 = load i16, i16* %num_base, align 2 + %conv = zext i16 %8 to i64 + %mul = mul i64 %conv, 38 + %add = add i64 16, %mul + %9 = load i32, i32* %der_num.addr, align 4 + %conv1 = sext i32 %9 to i64 + %mul2 = mul i64 %conv1, 8 + %add3 = add i64 %add, %mul2 + %div = udiv i64 %add3, 2 + %add.ptr = getelementptr inbounds i16, i16* %6, i64 %div + %10 = bitcast i16* %add.ptr to %struct.winsize* + store %struct.winsize* %10, %struct.winsize** %cdd, align 8 + %11 = load i16*, i16** %__locale_collate_tbl, align 8 + %12 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %base_idx = getelementptr inbounds %struct.winsize, %struct.winsize* %12, i32 0, i32 0 + %13 = load i16, i16* %base_idx, align 2 + %conv4 = zext i16 %13 to i64 + %mul5 = mul i64 %conv4, 38 + %add6 = add i64 16, %mul5 + %div7 = udiv i64 %add6, 2 + %add.ptr8 = getelementptr inbounds i16, i16* %11, i64 %div7 + %14 = bitcast i16* %add.ptr8 to %struct.coldata_base_t* + store %struct.coldata_base_t* %14, %struct.coldata_base_t** %cdb, align 8 + %15 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %16 = bitcast %struct.__collate_t.202* %15 to i8* + %17 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %18 = bitcast %struct.coldata_base_t* %17 to i8* + %call = call i8* @memcpy(i8* %16, i8* %18, i64 28) #19 + %19 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %undefined_idx = getelementptr inbounds %struct.winsize, %struct.winsize* %19, i32 0, i32 1 + %20 = load i16, i16* %undefined_idx, align 2 + %21 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %undefined_idx9 = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %21, i32 0, i32 9 + store i16 %20, i16* %undefined_idx9, align 2 + %22 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %ti_shift = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %22, i32 0, i32 3 + %23 = load i16, i16* %ti_shift, align 2 + %conv10 = zext i16 %23 to i32 + %shl = shl i32 1, %conv10 + %sub = sub nsw i32 %shl, 1 + %conv11 = trunc i32 %sub to i16 + %24 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %ti_mask = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %24, i32 0, i32 15 + store i16 %conv11, i16* %ti_mask, align 2 + %25 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %ii_shift = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %25, i32 0, i32 2 + %26 = load i16, i16* %ii_shift, align 4 + %conv12 = zext i16 %26 to i32 + %shl13 = shl i32 1, %conv12 + %sub14 = sub nsw i32 %shl13, 1 + %conv15 = trunc i32 %sub14 to i16 + %27 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %ii_mask = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %27, i32 0, i32 14 + store i16 %conv15, i16* %ii_mask, align 4 + %28 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_base16 = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %28, i32 0, i32 0 + %29 = load i16, i16* %num_base16, align 2 + %conv17 = zext i16 %29 to i64 + %mul18 = mul i64 %conv17, 38 + %add19 = add i64 16, %mul18 + %30 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_der = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %30, i32 0, i32 1 + %31 = load i16, i16* %num_der, align 2 + %conv20 = zext i16 %31 to i64 + %mul21 = mul i64 %conv20, 8 + %add22 = add i64 %add19, %mul21 + %div23 = udiv i64 %add22, 2 + store i64 %div23, i64* %n, align 8 + %32 = load i16*, i16** %__locale_collate_tbl, align 8 + %33 = load i64, i64* %n, align 8 + %add.ptr24 = getelementptr inbounds i16, i16* %32, i64 %33 + %34 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %index2weight_offset = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %34, i32 0, i32 14 + %35 = load i16, i16* %index2weight_offset, align 2 + %conv25 = zext i16 %35 to i32 + %idx.ext = sext i32 %conv25 to i64 + %add.ptr26 = getelementptr inbounds i16, i16* %add.ptr24, i64 %idx.ext + %36 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %index2weight_tbl = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %36, i32 0, i32 16 + store i16* %add.ptr26, i16** %index2weight_tbl, align 8 + %37 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_index2weight = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %37, i32 0, i32 3 + %38 = load i16, i16* %num_index2weight, align 2 + %conv27 = zext i16 %38 to i64 + %39 = load i64, i64* %n, align 8 + %add28 = add i64 %39, %conv27 + store i64 %add28, i64* %n, align 8 + %40 = load i16*, i16** %__locale_collate_tbl, align 8 + %41 = load i64, i64* %n, align 8 + %add.ptr29 = getelementptr inbounds i16, i16* %40, i64 %41 + %42 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %index2ruleidx_offset = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %42, i32 0, i32 15 + %43 = load i16, i16* %index2ruleidx_offset, align 2 + %conv30 = zext i16 %43 to i32 + %idx.ext31 = sext i32 %conv30 to i64 + %add.ptr32 = getelementptr inbounds i16, i16* %add.ptr29, i64 %idx.ext31 + %44 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %index2ruleidx_tbl = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %44, i32 0, i32 17 + store i16* %add.ptr32, i16** %index2ruleidx_tbl, align 8 + %45 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_index2weight33 = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %45, i32 0, i32 3 + %46 = load i16, i16* %num_index2weight33, align 2 + %conv34 = zext i16 %46 to i64 + %47 = load i64, i64* %n, align 8 + %add35 = add i64 %47, %conv34 + store i64 %add35, i64* %n, align 8 + %48 = load i16*, i16** %__locale_collate_tbl, align 8 + %49 = load i64, i64* %n, align 8 + %add.ptr36 = getelementptr inbounds i16, i16* %48, i64 %49 + %50 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %multistart_offset = getelementptr inbounds %struct.winsize, %struct.winsize* %50, i32 0, i32 3 + %51 = load i16, i16* %multistart_offset, align 2 + %conv37 = zext i16 %51 to i32 + %idx.ext38 = sext i32 %conv37 to i64 + %add.ptr39 = getelementptr inbounds i16, i16* %add.ptr36, i64 %idx.ext38 + %52 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %multistart_tbl = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %52, i32 0, i32 18 + store i16* %add.ptr39, i16** %multistart_tbl, align 8 + %53 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_multistart = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %53, i32 0, i32 5 + %54 = load i16, i16* %num_multistart, align 2 + %conv40 = zext i16 %54 to i64 + %55 = load i64, i64* %n, align 8 + %add41 = add i64 %55, %conv40 + store i64 %add41, i64* %n, align 8 + %56 = load i16*, i16** %__locale_collate_tbl, align 8 + %57 = load i64, i64* %n, align 8 + %add.ptr42 = getelementptr inbounds i16, i16* %56, i64 %57 + %58 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %overrides_offset = getelementptr inbounds %struct.winsize, %struct.winsize* %58, i32 0, i32 2 + %59 = load i16, i16* %overrides_offset, align 2 + %conv43 = zext i16 %59 to i32 + %idx.ext44 = sext i32 %conv43 to i64 + %add.ptr45 = getelementptr inbounds i16, i16* %add.ptr42, i64 %idx.ext44 + %60 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %overrides_tbl = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %60, i32 0, i32 20 + store i16* %add.ptr45, i16** %overrides_tbl, align 8 + %61 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_override = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %61, i32 0, i32 6 + %62 = load i16, i16* %num_override, align 2 + %conv46 = zext i16 %62 to i64 + %63 = load i64, i64* %n, align 8 + %add47 = add i64 %63, %conv46 + store i64 %add47, i64* %n, align 8 + %64 = load i16*, i16** %__locale_collate_tbl, align 8 + %65 = load i64, i64* %n, align 8 + %add.ptr48 = getelementptr inbounds i16, i16* %64, i64 %65 + %66 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %ruletable = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %66, i32 0, i32 22 + store i16* %add.ptr48, i16** %ruletable, align 8 + %67 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_ruletable = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %67, i32 0, i32 7 + %68 = load i16, i16* %num_ruletable, align 2 + %conv49 = zext i16 %68 to i64 + %69 = load i64, i64* %n, align 8 + %add50 = add i64 %69, %conv49 + store i64 %add50, i64* %n, align 8 + %70 = load i16*, i16** %__locale_collate_tbl, align 8 + %71 = load i64, i64* %n, align 8 + %add.ptr51 = getelementptr inbounds i16, i16* %70, i64 %71 + %72 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %weightstr = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %72, i32 0, i32 21 + store i16* %add.ptr51, i16** %weightstr, align 8 + %73 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_weightstr = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %73, i32 0, i32 4 + %74 = load i16, i16* %num_weightstr, align 2 + %conv52 = zext i16 %74 to i64 + %75 = load i64, i64* %n, align 8 + %add53 = add i64 %75, %conv52 + store i64 %add53, i64* %n, align 8 + %76 = load i16*, i16** %__locale_collate_tbl, align 8 + %77 = load i64, i64* %n, align 8 + %add.ptr54 = getelementptr inbounds i16, i16* %76, i64 %77 + %78 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %wcs2colidt_offset_hi = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %78, i32 0, i32 18 + %79 = load i16, i16* %wcs2colidt_offset_hi, align 2 + %conv55 = zext i16 %79 to i64 + %shl56 = shl i64 %conv55, 16 + %add.ptr57 = getelementptr inbounds i16, i16* %add.ptr54, i64 %shl56 + %80 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %wcs2colidt_offset_low = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %80, i32 0, i32 17 + %81 = load i16, i16* %wcs2colidt_offset_low, align 2 + %conv58 = zext i16 %81 to i32 + %idx.ext59 = sext i32 %conv58 to i64 + %add.ptr60 = getelementptr inbounds i16, i16* %add.ptr57, i64 %idx.ext59 + %82 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %wcs2colidt_tbl = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %82, i32 0, i32 19 + store i16* %add.ptr60, i16** %wcs2colidt_tbl, align 8 + %83 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %MAX_WEIGHTS = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %83, i32 0, i32 2 + %84 = load i16, i16* %MAX_WEIGHTS, align 2 + %85 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %MAX_WEIGHTS61 = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %85, i32 0, i32 25 + store i16 %84, i16* %MAX_WEIGHTS61, align 8 + %86 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %max_col_index = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %86, i32 0, i32 8 + %87 = load i16, i16* %max_col_index, align 8 + %conv62 = zext i16 %87 to i32 + %mul63 = mul nsw i32 2, %conv62 + %add64 = add nsw i32 %mul63, 2 + %conv65 = sext i32 %add64 to i64 + %call66 = call noalias i8* @calloc(i64 %conv65, i64 2) #19 + %88 = bitcast i8* %call66 to i16* + %89 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %index2weight = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %89, i32 0, i32 23 + store i16* %88, i16** %index2weight, align 8 + %90 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %index2weight67 = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %90, i32 0, i32 23 + %91 = load i16*, i16** %index2weight67, align 8 + %tobool68 = icmp ne i16* %91, null + br i1 %tobool68, label %if.end70, label %if.then69 + +if.then69: ; preds = %if.end + store i32 0, i32* %retval, align 4 + br label %return + +if.end70: ; preds = %if.end + %92 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %index2weight71 = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %92, i32 0, i32 23 + %93 = load i16*, i16** %index2weight71, align 8 + %94 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %max_col_index72 = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %94, i32 0, i32 8 + %95 = load i16, i16* %max_col_index72, align 8 + %conv73 = zext i16 %95 to i32 + %idx.ext74 = sext i32 %conv73 to i64 + %add.ptr75 = getelementptr inbounds i16, i16* %93, i64 %idx.ext74 + %add.ptr76 = getelementptr inbounds i16, i16* %add.ptr75, i64 1 + %96 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %index2ruleidx = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %96, i32 0, i32 24 + store i16* %add.ptr76, i16** %index2ruleidx, align 8 + %97 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %index2weight77 = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %97, i32 0, i32 23 + %98 = load i16*, i16** %index2weight77, align 8 + %99 = bitcast i16* %98 to i8* + %100 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %index2weight_tbl78 = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %100, i32 0, i32 16 + %101 = load i16*, i16** %index2weight_tbl78, align 8 + %102 = bitcast i16* %101 to i8* + %103 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %num_col_base = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %103, i32 0, i32 7 + %104 = load i16, i16* %num_col_base, align 2 + %conv79 = zext i16 %104 to i64 + %mul80 = mul i64 %conv79, 2 + %call81 = call i8* @memcpy(i8* %99, i8* %102, i64 %mul80) #19 + %105 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %index2ruleidx82 = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %105, i32 0, i32 24 + %106 = load i16*, i16** %index2ruleidx82, align 8 + %107 = bitcast i16* %106 to i8* + %108 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %index2ruleidx_tbl83 = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %108, i32 0, i32 17 + %109 = load i16*, i16** %index2ruleidx_tbl83, align 8 + %110 = bitcast i16* %109 to i8* + %111 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %num_col_base84 = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %111, i32 0, i32 7 + %112 = load i16, i16* %num_col_base84, align 2 + %conv85 = zext i16 %112 to i64 + %mul86 = mul i64 %conv85, 2 + %call87 = call i8* @memcpy(i8* %107, i8* %110, i64 %mul86) #19 + %113 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %overrides_tbl88 = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %113, i32 0, i32 20 + %114 = load i16*, i16** %overrides_tbl88, align 8 + store i16* %114, i16** %p, align 8 + br label %while.cond + +while.cond: ; preds = %do.body, %if.end70 + %115 = load i16*, i16** %p, align 8 + %116 = load i16, i16* %115, align 2 + %conv89 = zext i16 %116 to i32 + %cmp = icmp sgt i32 %conv89, 1 + br i1 %cmp, label %while.body, label %while.cond105 + +while.body: ; preds = %while.cond + %117 = load i16*, i16** %p, align 8 + %incdec.ptr = getelementptr inbounds i16, i16* %117, i32 1 + store i16* %incdec.ptr, i16** %p, align 8 + %118 = load i16, i16* %117, align 2 + %conv91 = zext i16 %118 to i64 + store i64 %conv91, i64* %n, align 8 + %119 = load i16*, i16** %p, align 8 + %incdec.ptr92 = getelementptr inbounds i16, i16* %119, i32 1 + store i16* %incdec.ptr92, i16** %p, align 8 + %120 = load i16, i16* %119, align 2 + store i16 %120, i16* %w, align 2 + br label %do.body + +do.body: ; preds = %do.body, %while.body + %121 = load i16*, i16** %p, align 8 + %incdec.ptr93 = getelementptr inbounds i16, i16* %121, i32 1 + store i16* %incdec.ptr93, i16** %p, align 8 + %122 = load i16, i16* %121, align 2 + store i16 %122, i16* %i, align 2 + %123 = load i16, i16* %w, align 2 + %inc = add i16 %123, 1 + store i16 %inc, i16* %w, align 2 + %124 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %index2weight94 = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %124, i32 0, i32 23 + %125 = load i16*, i16** %index2weight94, align 8 + %126 = load i16, i16* %i, align 2 + %conv95 = zext i16 %126 to i32 + %sub96 = sub nsw i32 %conv95, 1 + %idxprom = sext i32 %sub96 to i64 + %arrayidx = getelementptr inbounds i16, i16* %125, i64 %idxprom + store i16 %123, i16* %arrayidx, align 2 + %127 = load i16*, i16** %p, align 8 + %incdec.ptr97 = getelementptr inbounds i16, i16* %127, i32 1 + store i16* %incdec.ptr97, i16** %p, align 8 + %128 = load i16, i16* %127, align 2 + %129 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %index2ruleidx98 = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %129, i32 0, i32 24 + %130 = load i16*, i16** %index2ruleidx98, align 8 + %131 = load i16, i16* %i, align 2 + %conv99 = zext i16 %131 to i32 + %sub100 = sub nsw i32 %conv99, 1 + %idxprom101 = sext i32 %sub100 to i64 + %arrayidx102 = getelementptr inbounds i16, i16* %130, i64 %idxprom101 + store i16 %128, i16* %arrayidx102, align 2 + %132 = load i64, i64* %n, align 8 + %dec103 = add i64 %132, -1 + store i64 %dec103, i64* %n, align 8 + %tobool104 = icmp ne i64 %dec103, 0 + br i1 %tobool104, label %do.body, label %while.cond + +while.cond105: ; preds = %while.cond, %while.body108 + %133 = load i16*, i16** %p, align 8 + %incdec.ptr106 = getelementptr inbounds i16, i16* %133, i32 1 + store i16* %incdec.ptr106, i16** %p, align 8 + %134 = load i16, i16* %incdec.ptr106, align 2 + %tobool107 = icmp ne i16 %134, 0 + br i1 %tobool107, label %while.body108, label %while.end121 + +while.body108: ; preds = %while.cond105 + %135 = load i16*, i16** %p, align 8 + %136 = load i16, i16* %135, align 2 + store i16 %136, i16* %i, align 2 + %137 = load i16*, i16** %p, align 8 + %incdec.ptr109 = getelementptr inbounds i16, i16* %137, i32 1 + store i16* %incdec.ptr109, i16** %p, align 8 + %138 = load i16, i16* %incdec.ptr109, align 2 + %139 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %index2weight110 = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %139, i32 0, i32 23 + %140 = load i16*, i16** %index2weight110, align 8 + %141 = load i16, i16* %i, align 2 + %conv111 = zext i16 %141 to i32 + %sub112 = sub nsw i32 %conv111, 1 + %idxprom113 = sext i32 %sub112 to i64 + %arrayidx114 = getelementptr inbounds i16, i16* %140, i64 %idxprom113 + store i16 %138, i16* %arrayidx114, align 2 + %142 = load i16*, i16** %p, align 8 + %incdec.ptr115 = getelementptr inbounds i16, i16* %142, i32 1 + store i16* %incdec.ptr115, i16** %p, align 8 + %143 = load i16, i16* %incdec.ptr115, align 2 + %144 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %index2ruleidx116 = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %144, i32 0, i32 24 + %145 = load i16*, i16** %index2ruleidx116, align 8 + %146 = load i16, i16* %i, align 2 + %conv117 = zext i16 %146 to i32 + %sub118 = sub nsw i32 %conv117, 1 + %idxprom119 = sext i32 %sub118 to i64 + %arrayidx120 = getelementptr inbounds i16, i16* %145, i64 %idxprom119 + store i16 %143, i16* %arrayidx120, align 2 + br label %while.cond105 + +while.end121: ; preds = %while.cond105 + store i16 0, i16* %i, align 2 + br label %for.cond + +for.cond: ; preds = %for.inc, %while.end121 + %147 = load i16, i16* %i, align 2 + %conv122 = zext i16 %147 to i32 + %148 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %multistart_tbl123 = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %148, i32 0, i32 18 + %149 = load i16*, i16** %multistart_tbl123, align 8 + %arrayidx124 = getelementptr inbounds i16, i16* %149, i64 0 + %150 = load i16, i16* %arrayidx124, align 2 + %conv125 = zext i16 %150 to i32 + %cmp126 = icmp slt i32 %conv122, %conv125 + br i1 %cmp126, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %151 = load %struct.__collate_t.202*, %struct.__collate_t.202** %cur_collate.addr, align 8 + %multistart_tbl128 = getelementptr inbounds %struct.__collate_t.202, %struct.__collate_t.202* %151, i32 0, i32 18 + %152 = load i16*, i16** %multistart_tbl128, align 8 + store i16* %152, i16** %p, align 8 + %153 = load i16*, i16** %p, align 8 + %154 = load i16, i16* %i, align 2 + %idxprom129 = zext i16 %154 to i64 + %arrayidx130 = getelementptr inbounds i16, i16* %153, i64 %idxprom129 + %155 = load i16, i16* %arrayidx130, align 2 + %conv131 = zext i16 %155 to i32 + %156 = load i16*, i16** %p, align 8 + %idx.ext132 = sext i32 %conv131 to i64 + %add.ptr133 = getelementptr inbounds i16, i16* %156, i64 %idx.ext132 + store i16* %add.ptr133, i16** %p, align 8 + br label %do.body134 + +do.body134: ; preds = %do.body141, %for.body + %157 = load i16*, i16** %p, align 8 + %incdec.ptr135 = getelementptr inbounds i16, i16* %157, i32 1 + store i16* %incdec.ptr135, i16** %p, align 8 + %158 = load i16, i16* %157, align 2 + %conv136 = zext i16 %158 to i64 + store i64 %conv136, i64* %n, align 8 + %159 = load i16*, i16** %p, align 8 + %160 = load i16, i16* %159, align 2 + %tobool138 = icmp ne i16 %160, 0 + br i1 %tobool138, label %do.body141, label %for.inc + +do.body141: ; preds = %do.body134, %do.body141 + %161 = load i16*, i16** %p, align 8 + %incdec.ptr143 = getelementptr inbounds i16, i16* %161, i32 1 + store i16* %incdec.ptr143, i16** %p, align 8 + %162 = load i16, i16* %161, align 2 + %tobool144 = icmp ne i16 %162, 0 + br i1 %tobool144, label %do.body141, label %do.body134 + +for.inc: ; preds = %do.body134 + %163 = load i16, i16* %i, align 2 + %inc150 = add i16 %163, 1 + store i16 %inc150, i16* %i, align 2 + br label %for.cond + +for.end: ; preds = %for.cond + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %for.end, %if.then69, %if.then + %164 = load i32, i32* %retval, align 4 + ret i32 %164 +} + +; Function Attrs: nounwind +declare void @free(i8*) #2 + +; Function Attrs: nounwind +declare noalias i8* @calloc(i64, i64) #2 + +; Function Attrs: noinline nounwind uwtable +define hidden void @_locale_init_l(%struct.__uclibc_locale_struct.203* %base) #0 { +entry: + %base.addr = alloca %struct.__uclibc_locale_struct.203*, align 8 + store %struct.__uclibc_locale_struct.203* %base, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %0, i32 0, i32 6 + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + %call = call i8* @memset(i8* %arraydecay, i32 0, i64 14) #19 + %1 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %cur_locale1 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %1, i32 0, i32 6 + %arrayidx = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale1, i64 0, i64 0 + store i8 35, i8* %arrayidx, align 8 + %2 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %category_item_count = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %2, i32 0, i32 8 + %arraydecay2 = getelementptr inbounds [6 x i8], [6 x i8]* %category_item_count, i64 0, i64 0 + %3 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %lc_common_item_offsets_LEN = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %3, i32 0, i32 29 + %arraydecay3 = getelementptr inbounds [6 x i8], [6 x i8]* %lc_common_item_offsets_LEN, i64 0, i64 0 + %call4 = call i8* @memcpy(i8* %arraydecay2, i8* %arraydecay3, i64 6) #19 + %4 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %category_item_count5 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %4, i32 0, i32 8 + %arrayidx6 = getelementptr inbounds [6 x i8], [6 x i8]* %category_item_count5, i64 0, i64 0 + %5 = load i8, i8* %arrayidx6, align 2 + %inc = add i8 %5, 1 + store i8 %inc, i8* %arrayidx6, align 2 + %6 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %category_offsets = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %6, i32 0, i32 7 + %arrayidx7 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets, i64 0, i64 0 + store i16 2488, i16* %arrayidx7, align 2 + %7 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %category_offsets8 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %7, i32 0, i32 7 + %arrayidx9 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets8, i64 0, i64 1 + store i16 2576, i16* %arrayidx9, align 2 + %8 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %category_offsets10 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %8, i32 0, i32 7 + %arrayidx11 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets10, i64 0, i64 2 + store i16 2600, i16* %arrayidx11, align 2 + %9 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %category_offsets12 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %9, i32 0, i32 7 + %arrayidx13 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets12, i64 0, i64 3 + store i16 2776, i16* %arrayidx13, align 2 + %10 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %category_offsets14 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %10, i32 0, i32 7 + %arrayidx15 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets14, i64 0, i64 5 + store i16 3176, i16* %arrayidx15, align 2 + %11 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %tbl8ctype = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %11, i32 0, i32 0 + %12 = bitcast [420 x i8]* %tbl8ctype to i8* + %13 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %tbl8ctype16 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %13, i32 0, i32 13 + store i8* %12, i8** %tbl8ctype16, align 8 + %14 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %tbl8uplow = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %14, i32 0, i32 1 + %15 = bitcast [504 x i8]* %tbl8uplow to i8* + %16 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %tbl8uplow17 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %16, i32 0, i32 15 + store i8* %15, i8** %tbl8uplow17, align 8 + %17 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %tbl8c2wc = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %17, i32 0, i32 2 + %18 = bitcast [1760 x i16]* %tbl8c2wc to i16* + %19 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %tbl8c2wc18 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %19, i32 0, i32 17 + store i16* %18, i16** %tbl8c2wc18, align 8 + %20 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %tbl8wc2c = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %20, i32 0, i32 3 + %21 = bitcast [4528 x i8]* %tbl8wc2c to i8* + %22 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %tbl8wc2c19 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %22, i32 0, i32 19 + store i8* %21, i8** %tbl8wc2c19, align 8 + %23 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %tblwctype = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %23, i32 0, i32 4 + %24 = bitcast [3604 x i8]* %tblwctype to i8* + %25 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %tblwctype20 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %25, i32 0, i32 21 + store i8* %24, i8** %tblwctype20, align 8 + %26 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %tblwuplow = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %26, i32 0, i32 5 + %27 = bitcast [1680 x i8]* %tblwuplow to i8* + %28 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %tblwuplow21 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %28, i32 0, i32 22 + store i8* %27, i8** %tblwuplow21, align 8 + %29 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %tblwuplow_diff = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %29, i32 0, i32 6 + %30 = bitcast [196 x i16]* %tblwuplow_diff to i16* + %31 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %tblwuplow_diff22 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %31, i32 0, i32 23 + store i16* %30, i16** %tblwuplow_diff22, align 8 + %32 = load i16*, i16** @__C_ctype_b, align 8 + %33 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %33, i32 0, i32 0 + store i16* %32, i16** %__ctype_b, align 8 + %34 = load i16*, i16** @__C_ctype_tolower, align 8 + %35 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %__ctype_tolower = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %35, i32 0, i32 1 + store i16* %34, i16** %__ctype_tolower, align 8 + %36 = load i16*, i16** @__C_ctype_toupper, align 8 + %37 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %__ctype_toupper = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %37, i32 0, i32 2 + store i16* %36, i16** %__ctype_toupper, align 8 + %38 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %code2flag = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %38, i32 0, i32 20 + store i16* getelementptr inbounds ([16 x i16], [16 x i16]* @__code2flag, i64 0, i64 0), i16** %code2flag, align 8 + %39 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %call23 = call i32 @_locale_set_l(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.76, i64 0, i64 0), %struct.__uclibc_locale_struct.203* %39) #18 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_locale_init() #0 { +entry: + %0 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__global_locale, align 8 + call void @_locale_init_l(%struct.__uclibc_locale_struct.203* %0) #18 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @sigblock(i32 %mask) #0 { +entry: + %retval = alloca i32, align 4 + %mask.addr = alloca i32, align 4 + %set = alloca %struct.fd_set, align 8 + %oset = alloca %struct.fd_set, align 8 + store i32 %mask, i32* %mask.addr, align 4 + %0 = load i32, i32* %mask.addr, align 4 + %call = call i32 @sigset_set_old_mask(%struct.fd_set* %set, i32 %0) #18 + %cmp = icmp slt i32 %call, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %call1 = call i32 @sigprocmask(i32 0, %struct.fd_set* %set, %struct.fd_set* %oset) #19 + %cmp2 = icmp slt i32 %call1, 0 + br i1 %cmp2, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.end + store i32 -1, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %if.end + %call5 = call i32 @sigset_get_old_mask(%struct.fd_set* %oset) #18 + store i32 %call5, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %1 = load i32, i32* %retval, align 4 + ret i32 %1 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @sigset_set_old_mask(%struct.fd_set* %set, i32 %mask) #0 { +entry: + %set.addr = alloca %struct.fd_set*, align 8 + %mask.addr = alloca i32, align 4 + %ptr = alloca i64*, align 8 + %cnt = alloca i32, align 4 + store %struct.fd_set* %set, %struct.fd_set** %set.addr, align 8 + store i32 %mask, i32* %mask.addr, align 4 + %0 = load %struct.fd_set*, %struct.fd_set** %set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %0, i32 0, i32 0 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 0 + store i64* %arrayidx, i64** %ptr, align 8 + %1 = load i32, i32* %mask.addr, align 4 + %conv = zext i32 %1 to i64 + %2 = load i64*, i64** %ptr, align 8 + %incdec.ptr = getelementptr inbounds i64, i64* %2, i32 1 + store i64* %incdec.ptr, i64** %ptr, align 8 + store i64 %conv, i64* %2, align 8 + store i32 14, i32* %cnt, align 4 + br label %do.body + +do.body: ; preds = %do.body, %entry + %3 = load i64*, i64** %ptr, align 8 + %incdec.ptr1 = getelementptr inbounds i64, i64* %3, i32 1 + store i64* %incdec.ptr1, i64** %ptr, align 8 + store i64 0, i64* %3, align 8 + %4 = load i32, i32* %cnt, align 4 + %dec = add nsw i32 %4, -1 + store i32 %dec, i32* %cnt, align 4 + %cmp = icmp sge i32 %dec, 0 + br i1 %cmp, label %do.body, label %do.end + +do.end: ; preds = %do.body + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @sigset_get_old_mask(%struct.fd_set* %set) #0 { +entry: + %set.addr = alloca %struct.fd_set*, align 8 + store %struct.fd_set* %set, %struct.fd_set** %set.addr, align 8 + %0 = load %struct.fd_set*, %struct.fd_set** %set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %0, i32 0, i32 0 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 0 + %1 = load i64, i64* %arrayidx, align 8 + %conv = trunc i64 %1 to i32 + ret i32 %conv +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_stdio_term() #0 { +entry: + %ptr = alloca %struct.__STDIO_FILE_STRUCT.570*, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.570* %0, %struct.__STDIO_FILE_STRUCT.570** %ptr, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %ptr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.570* %1, null + br i1 %tobool, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %2 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %ptr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %2, i32 0, i32 0 + %3 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %3 to i32 + %and = and i32 %conv, 64 + %tobool1 = icmp ne i32 %and, 0 + br i1 %tobool1, label %if.then, label %for.inc + +if.then: ; preds = %for.body + %4 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %ptr, align 8 + %call = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.570* %4) #18 + br label %for.inc + +for.inc: ; preds = %for.body, %if.then + %5 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %ptr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %5, i32 0, i32 9 + %6 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %__nextopen, align 8 + store %struct.__STDIO_FILE_STRUCT.570* %6, %struct.__STDIO_FILE_STRUCT.570** %ptr, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_stdio_init() #0 { +entry: + %old_errno = alloca i32, align 4 + %0 = load i32, i32* @errno, align 4 + store i32 %0, i32* %old_errno, align 4 + %call = call i32 @isatty(i32 0) #19 + %sub = sub nsw i32 1, %call + %mul = mul i32 %sub, 256 + %1 = load i16, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.570], [3 x %struct.__STDIO_FILE_STRUCT.570]* @_stdio_streams, i64 0, i64 0, i32 0), align 16 + %conv = zext i16 %1 to i32 + %xor = xor i32 %conv, %mul + %conv1 = trunc i32 %xor to i16 + store i16 %conv1, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.570], [3 x %struct.__STDIO_FILE_STRUCT.570]* @_stdio_streams, i64 0, i64 0, i32 0), align 16 + %call2 = call i32 @isatty(i32 1) #19 + %sub3 = sub nsw i32 1, %call2 + %mul4 = mul i32 %sub3, 256 + %2 = load i16, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.570], [3 x %struct.__STDIO_FILE_STRUCT.570]* @_stdio_streams, i64 0, i64 1, i32 0), align 8 + %conv5 = zext i16 %2 to i32 + %xor6 = xor i32 %conv5, %mul4 + %conv7 = trunc i32 %xor6 to i16 + store i16 %conv7, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.570], [3 x %struct.__STDIO_FILE_STRUCT.570]* @_stdio_streams, i64 0, i64 1, i32 0), align 8 + %3 = load i32, i32* %old_errno, align 4 + store i32 %3, i32* @errno, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getchar_unlocked() #0 { +entry: + %stream = alloca %struct.__STDIO_FILE_STRUCT.570*, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** @stdin, align 8 + store %struct.__STDIO_FILE_STRUCT.570* %0, %struct.__STDIO_FILE_STRUCT.570** %stream, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %1, i32 0, i32 5 + %2 = load i8*, i8** %__bufpos, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %3, i32 0, i32 7 + %4 = load i8*, i8** %__bufgetc_u, align 8 + %cmp = icmp ult i8* %2, %4 + %5 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream, align 8 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %entry + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %5, i32 0, i32 5 + %6 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + %7 = load i8, i8* %6, align 1 + %conv = zext i8 %7 to i32 + br label %cond.end + +cond.false: ; preds = %entry + %call = call i32 @__fgetc_unlocked(%struct.__STDIO_FILE_STRUCT.570* %5) #18 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ %conv, %cond.true ], [ %call, %cond.false ] + ret i32 %cond +} + +; Function Attrs: noinline noreturn nounwind uwtable +declare void @abort() #1 + +; Function Attrs: noreturn +declare void @_exit(i32) #13 + +; Function Attrs: noinline noreturn nounwind uwtable +define void @exit(i32 %rv) #1 { +entry: + %rv.addr = alloca i32, align 4 + store i32 %rv, i32* %rv.addr, align 4 + %0 = load void (i32)*, void (i32)** @__exit_cleanup, align 8 + %tobool = icmp ne void (i32)* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load void (i32)*, void (i32)** @__exit_cleanup, align 8 + %2 = load i32, i32* %rv.addr, align 4 + call void %1(i32 %2) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + call void @__uClibc_fini() #18 + call void @_stdio_term() #18 + %3 = load i32, i32* %rv.addr, align 4 + call void @_exit(i32 %3) #27 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define i8* @memcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r1 = alloca i8*, align 8 + %r2 = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %r1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %r2, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %2 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load i8*, i8** %r2, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %r2, align 8 + %4 = load i8, i8* %3, align 1 + %5 = load i8*, i8** %r1, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr1, i8** %r1, align 8 + store i8 %4, i8* %5, align 1 + %6 = load i64, i64* %n.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %7 = load i8*, i8** %s1.addr, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @memset(i8* nonnull %s, i32 %c, i64 %n) #0 { +entry: + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %n.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %1 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %2 = load i32, i32* %c.addr, align 4 + %conv = trunc i32 %2 to i8 + %3 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + store i8 %conv, i8* %3, align 1 + %4 = load i64, i64* %n.addr, align 8 + %dec = add i64 %4, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %5 = load i8*, i8** %s.addr, align 8 + ret i8* %5 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @strrchr(i8* nonnull %s, i32 %c) #14 { +entry: + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i8* null, i8** %p, align 8 + br label %do.body + +do.body: ; preds = %do.cond, %entry + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %2 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %2 to i8 + %conv2 = sext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + br i1 %cmp, label %if.then, label %do.cond + +if.then: ; preds = %do.body + %3 = load i8*, i8** %s.addr, align 8 + store i8* %3, i8** %p, align 8 + br label %do.cond + +do.cond: ; preds = %do.body, %if.then + %4 = load i8*, i8** %s.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr, i8** %s.addr, align 8 + %5 = load i8, i8* %4, align 1 + %tobool = icmp ne i8 %5, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %6 = load i8*, i8** %p, align 8 + ret i8* %6 +} + +; Function Attrs: noinline noreturn nounwind uwtable +define dso_local void @usage(i32 %status) #6 { +entry: + %status.addr = alloca i32, align 4 + store i32 %status, i32* %status.addr, align 4 + %0 = load i32, i32* %status.addr, align 4 + %cmp = icmp ne i32 %0, 0 + br i1 %cmp, label %do.body, label %if.else + +do.body: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.570** @stderr to %struct._IO_FILE**), align 8 + %2 = load i8*, i8** @program_name, align 8 + %call = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %1, i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.95, i64 0, i64 0), i8* %2) + br label %if.end + +if.else: ; preds = %entry + %3 = load i8*, i8** @program_name, align 8 + %call1 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.1.96, i64 0, i64 0), i8* %3) + %4 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.570** @stdout to %struct._IO_FILE**), align 8 + %call2 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.623*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([228 x i8], [228 x i8]* @.str.2.97, i64 0, i64 0), %struct._IO_FILE* %4) + %5 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.570** @stdout to %struct._IO_FILE**), align 8 + %call3 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.623*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.3.98, i64 0, i64 0), %struct._IO_FILE* %5) + %6 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.570** @stdout to %struct._IO_FILE**), align 8 + %call4 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.623*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.4.99, i64 0, i64 0), %struct._IO_FILE* %6) + call void @emit_ancillary_info(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.5.100, i64 0, i64 0)) + br label %if.end + +if.end: ; preds = %if.else, %do.body + %7 = load i32, i32* %status.addr, align 4 + call void @exit(i32 %7) #26 + unreachable +} + +declare dso_local i32 @printf(i8*, ...) #5 + +; Function Attrs: noinline nounwind uwtable +define internal void @emit_ancillary_info(i8* %program) #3 { +entry: + %program.addr = alloca i8*, align 8 + %infomap = alloca [7 x %struct.infomap], align 16 + %node = alloca i8*, align 8 + %map_prog = alloca %struct.infomap*, align 8 + %lc_messages = alloca i8*, align 8 + store i8* %program, i8** %program.addr, align 8 + %0 = bitcast [7 x %struct.infomap]* %infomap to i8* + %1 = call i8* @memcpy(i8* %0, i8* bitcast ([7 x %struct.infomap]* @__const.emit_ancillary_info.infomap to i8*), i64 112) + %2 = load i8*, i8** %program.addr, align 8 + store i8* %2, i8** %node, align 8 + %arraydecay = getelementptr inbounds [7 x %struct.infomap], [7 x %struct.infomap]* %infomap, i64 0, i64 0 + store %struct.infomap* %arraydecay, %struct.infomap** %map_prog, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %3 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + %program1 = getelementptr inbounds %struct.infomap, %struct.infomap* %3, i32 0, i32 0 + %4 = load i8*, i8** %program1, align 8 + %tobool = icmp ne i8* %4, null + br i1 %tobool, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %5 = load i8*, i8** %program.addr, align 8 + %6 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + %program2 = getelementptr inbounds %struct.infomap, %struct.infomap* %6, i32 0, i32 0 + %7 = load i8*, i8** %program2, align 8 + %call = call i32 @strcmp(i8* %5, i8* %7) #23 + %cmp = icmp eq i32 %call, 0 + %lnot = xor i1 %cmp, true + br label %land.end + +land.end: ; preds = %land.rhs, %while.cond + %8 = phi i1 [ false, %while.cond ], [ %lnot, %land.rhs ] + %9 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + br i1 %8, label %while.body, label %while.end + +while.body: ; preds = %land.end + %incdec.ptr = getelementptr inbounds %struct.infomap, %struct.infomap* %9, i32 1 + store %struct.infomap* %incdec.ptr, %struct.infomap** %map_prog, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %node3 = getelementptr inbounds %struct.infomap, %struct.infomap* %9, i32 0, i32 1 + %10 = load i8*, i8** %node3, align 8 + %tobool4 = icmp ne i8* %10, null + br i1 %tobool4, label %if.then, label %if.end + +if.then: ; preds = %while.end + %11 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + %node5 = getelementptr inbounds %struct.infomap, %struct.infomap* %11, i32 0, i32 1 + %12 = load i8*, i8** %node5, align 8 + store i8* %12, i8** %node, align 8 + br label %if.end + +if.end: ; preds = %if.then, %while.end + %call6 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.22.101, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.8.102, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.23.103, i64 0, i64 0)) + %call7 = call i8* @setlocale(i32 5, i8* null) #11 + store i8* %call7, i8** %lc_messages, align 8 + %13 = load i8*, i8** %lc_messages, align 8 + %tobool8 = icmp ne i8* %13, null + br i1 %tobool8, label %land.lhs.true, label %if.end13 + +land.lhs.true: ; preds = %if.end + %14 = load i8*, i8** %lc_messages, align 8 + %call9 = call i32 @strncmp(i8* %14, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.24.104, i64 0, i64 0), i64 3) #23 + %tobool10 = icmp ne i32 %call9, 0 + br i1 %tobool10, label %if.then11, label %if.end13 + +if.then11: ; preds = %land.lhs.true + %15 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.570** @stdout to %struct._IO_FILE**), align 8 + %call12 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.623*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.25.105, i64 0, i64 0), %struct._IO_FILE* %15) + br label %if.end13 + +if.end13: ; preds = %if.then11, %land.lhs.true, %if.end + %16 = load i8*, i8** %program.addr, align 8 + %call14 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.26.106, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.23.103, i64 0, i64 0), i8* %16) + %17 = load i8*, i8** %node, align 8 + %18 = load i8*, i8** %node, align 8 + %19 = load i8*, i8** %program.addr, align 8 + %cmp15 = icmp eq i8* %18, %19 + %20 = zext i1 %cmp15 to i64 + %cond = select i1 %cmp15, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.28.107, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.6.108, i64 0, i64 0) + %call16 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([51 x i8], [51 x i8]* @.str.27.109, i64 0, i64 0), i8* %17, i8* %cond) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__klee_posix_wrapped_main(i32 %argc, i8** %argv) #3 { +entry: + %retval = alloca i32, align 4 + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %ok = alloca i8, align 1 + %check_basic_portability = alloca i8, align 1 + %check_extra_portability = alloca i8, align 1 + %optc = alloca i32, align 4 + store i32 0, i32* %retval, align 4 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8 1, i8* %ok, align 1 + store i8 0, i8* %check_basic_portability, align 1 + store i8 0, i8* %check_extra_portability, align 1 + %0 = load i8**, i8*** %argv.addr, align 8 + %arrayidx = getelementptr inbounds i8*, i8** %0, i64 0 + %1 = load i8*, i8** %arrayidx, align 8 + call void @set_program_name(i8* %1) + %call = call i8* @setlocale(i32 6, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.6.108, i64 0, i64 0)) #11 + %call1 = call i32 @atexit(void ()* @close_stdout) #11 + br label %while.cond + +while.cond: ; preds = %sw.epilog, %entry + %2 = load i32, i32* %argc.addr, align 4 + %3 = load i8**, i8*** %argv.addr, align 8 + %call2 = call i32 @getopt_long(i32 %2, i8** %3, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.7.121, i64 0, i64 0), %struct.option* getelementptr inbounds ([4 x %struct.option], [4 x %struct.option]* @longopts, i64 0, i64 0), i32* null) #11 + store i32 %call2, i32* %optc, align 4 + %cmp = icmp ne i32 %call2, -1 + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i32, i32* %optc, align 4 + br label %NodeBlock7 + +NodeBlock7: ; preds = %while.body + %case.cmp8 = icmp eq i32 %4, 128 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %4, 112 + br i1 %case.cmp6, label %sw.bb3, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %4, 80 + br i1 %case.cmp4, label %sw.bb4, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %4, -130 + br i1 %case.cmp2, label %sw.bb5, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %4, -131 + br i1 %case.cmp, label %sw.bb6, label %newDefault + +sw.bb: ; preds = %NodeBlock7 + store i8 1, i8* %check_basic_portability, align 1 + store i8 1, i8* %check_extra_portability, align 1 + br label %sw.epilog + +sw.bb3: ; preds = %NodeBlock5 + store i8 1, i8* %check_basic_portability, align 1 + br label %sw.epilog + +sw.bb4: ; preds = %NodeBlock3 + store i8 1, i8* %check_extra_portability, align 1 + br label %sw.epilog + +sw.bb5: ; preds = %NodeBlock1 + call void @usage(i32 0) #24 + unreachable + +sw.bb6: ; preds = %NodeBlock + %5 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.570** @stdout to %struct._IO_FILE**), align 8 + %6 = load i8*, i8** @Version, align 8 + call void (%struct._IO_FILE*, i8*, i8*, i8*, ...) @version_etc(%struct._IO_FILE* %5, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.5.100, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.8.102, i64 0, i64 0), i8* %6, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.9.122, i64 0, i64 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.10.123, i64 0, i64 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.11.124, i64 0, i64 0), i8* null) + call void @exit(i32 0) #26 + unreachable + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @usage(i32 1) #24 + unreachable + +sw.epilog: ; preds = %sw.bb4, %sw.bb3, %sw.bb + br label %while.cond + +while.end: ; preds = %while.cond + %7 = load i32, i32* @optind, align 4 + %8 = load i32, i32* %argc.addr, align 4 + %cmp7 = icmp eq i32 %7, %8 + br i1 %cmp7, label %if.then, label %for.cond + +if.then: ; preds = %while.end + call void (i32, i32, i8*, ...) @error(i32 0, i32 0, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.12.125, i64 0, i64 0)) + call void @usage(i32 1) #24 + unreachable + +for.cond: ; preds = %while.end, %for.body + %9 = load i32, i32* @optind, align 4 + %10 = load i32, i32* %argc.addr, align 4 + %cmp8 = icmp slt i32 %9, %10 + br i1 %cmp8, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %11 = load i8**, i8*** %argv.addr, align 8 + %12 = load i32, i32* @optind, align 4 + %idxprom = sext i32 %12 to i64 + %arrayidx9 = getelementptr inbounds i8*, i8** %11, i64 %idxprom + %13 = load i8*, i8** %arrayidx9, align 8 + %14 = load i8, i8* %check_basic_portability, align 1 + %tobool = trunc i8 %14 to i1 + %15 = load i8, i8* %check_extra_portability, align 1 + %tobool10 = trunc i8 %15 to i1 + %call11 = call zeroext i1 @validate_file_name(i8* %13, i1 zeroext %tobool, i1 zeroext %tobool10) + %conv = zext i1 %call11 to i32 + %16 = load i8, i8* %ok, align 1 + %tobool12 = trunc i8 %16 to i1 + %conv13 = zext i1 %tobool12 to i32 + %and = and i32 %conv13, %conv + %tobool14 = icmp ne i32 %and, 0 + %frombool = zext i1 %tobool14 to i8 + store i8 %frombool, i8* %ok, align 1 + %17 = load i32, i32* @optind, align 4 + %inc = add nsw i32 %17, 1 + store i32 %inc, i32* @optind, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %18 = load i8, i8* %ok, align 1 + %tobool15 = trunc i8 %18 to i1 + %19 = zext i1 %tobool15 to i64 + %cond = select i1 %tobool15, i32 0, i32 1 + ret i32 %cond +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_program_name(i8* %argv0) #3 { +entry: + %argv0.addr = alloca i8*, align 8 + %slash = alloca i8*, align 8 + %base = alloca i8*, align 8 + store i8* %argv0, i8** %argv0.addr, align 8 + %0 = load i8*, i8** %argv0.addr, align 8 + %cmp = icmp eq i8* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.570** @stderr to %struct._IO_FILE**), align 8 + %call = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.623*)* @fputs to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.54, i64 0, i64 0), %struct._IO_FILE* %1) + call void @abort() #26 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %argv0.addr, align 8 + %call1 = call i8* @strrchr(i8* %2, i32 47) #23 + store i8* %call1, i8** %slash, align 8 + %3 = load i8*, i8** %slash, align 8 + %cmp2 = icmp ne i8* %3, null + %4 = load i8*, i8** %slash, align 8 + %add.ptr = getelementptr inbounds i8, i8* %4, i64 1 + %5 = load i8*, i8** %argv0.addr, align 8 + %cond = select i1 %cmp2, i8* %add.ptr, i8* %5 + store i8* %cond, i8** %base, align 8 + %6 = load i8*, i8** %base, align 8 + %7 = load i8*, i8** %argv0.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %6 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %cmp3 = icmp sge i64 %sub.ptr.sub, 7 + br i1 %cmp3, label %land.lhs.true, label %if.end13 + +land.lhs.true: ; preds = %if.end + %8 = load i8*, i8** %base, align 8 + %add.ptr4 = getelementptr inbounds i8, i8* %8, i64 -7 + %call5 = call i32 @strncmp(i8* %add.ptr4, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1.55, i64 0, i64 0), i64 7) #23 + %cmp6 = icmp eq i32 %call5, 0 + br i1 %cmp6, label %if.then7, label %if.end13 + +if.then7: ; preds = %land.lhs.true + %9 = load i8*, i8** %base, align 8 + store i8* %9, i8** %argv0.addr, align 8 + %10 = load i8*, i8** %base, align 8 + %call8 = call i32 @strncmp(i8* %10, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2.56, i64 0, i64 0), i64 3) #23 + %cmp9 = icmp eq i32 %call8, 0 + br i1 %cmp9, label %if.then10, label %if.end13 + +if.then10: ; preds = %if.then7 + %11 = load i8*, i8** %base, align 8 + %add.ptr11 = getelementptr inbounds i8, i8* %11, i64 3 + store i8* %add.ptr11, i8** %argv0.addr, align 8 + %12 = load i8*, i8** %argv0.addr, align 8 + store i8* %12, i8** @program_invocation_short_name, align 8 + br label %if.end13 + +if.end13: ; preds = %if.then7, %if.then10, %land.lhs.true, %if.end + %13 = load i8*, i8** %argv0.addr, align 8 + store i8* %13, i8** @program_name, align 8 + %14 = load i8*, i8** %argv0.addr, align 8 + store i8* %14, i8** @program_invocation_name, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @close_stdout() #3 { +entry: + %write_error = alloca i8*, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.570** @stdout to %struct._IO_FILE**), align 8 + %call = call i32 @close_stream(%struct._IO_FILE* %0) + %cmp = icmp ne i32 %call, 0 + br i1 %cmp, label %land.lhs.true, label %if.end9 + +land.lhs.true: ; preds = %entry + %1 = load i8, i8* @ignore_EPIPE, align 1 + %tobool = trunc i8 %1 to i1 + br i1 %tobool, label %land.lhs.true1, label %if.then + +land.lhs.true1: ; preds = %land.lhs.true + %call2 = call i32* @__errno_location() #25 + %2 = load i32, i32* %call2, align 4 + %cmp3 = icmp eq i32 %2, 32 + br i1 %cmp3, label %if.end9, label %if.then + +if.then: ; preds = %land.lhs.true1, %land.lhs.true + store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.45, i64 0, i64 0), i8** %write_error, align 8 + %3 = load i8*, i8** @file_name, align 8 + %tobool4 = icmp ne i8* %3, null + %call6 = call i32* @__errno_location() #25 + %4 = load i32, i32* %call6, align 4 + br i1 %tobool4, label %if.then5, label %if.else + +if.then5: ; preds = %if.then + %5 = load i8*, i8** @file_name, align 8 + %call7 = call i8* @quotearg_colon(i8* %5) + %6 = load i8*, i8** %write_error, align 8 + call void (i32, i32, i8*, ...) @error(i32 0, i32 %4, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.46, i64 0, i64 0), i8* %call7, i8* %6) + br label %if.end + +if.else: ; preds = %if.then + %7 = load i8*, i8** %write_error, align 8 + call void (i32, i32, i8*, ...) @error(i32 0, i32 %4, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2.47, i64 0, i64 0), i8* %7) + br label %if.end + +if.end: ; preds = %if.else, %if.then5 + %8 = load volatile i32, i32* @exit_failure, align 4 + call void @_exit(i32 %8) #24 + unreachable + +if.end9: ; preds = %land.lhs.true1, %entry + %9 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.570** @stderr to %struct._IO_FILE**), align 8 + %call10 = call i32 @close_stream(%struct._IO_FILE* %9) + %cmp11 = icmp ne i32 %call10, 0 + br i1 %cmp11, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.end9 + %10 = load volatile i32, i32* @exit_failure, align 4 + call void @_exit(i32 %10) #24 + unreachable + +if.end13: ; preds = %if.end9 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, ...) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors = alloca [1 x %struct.__va_list_tag.2], align 16 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %authors, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.2* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %1 = load i8*, i8** %command_name.addr, align 8 + %2 = load i8*, i8** %package.addr, align 8 + %3 = load i8*, i8** %version.addr, align 8 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %authors, i64 0, i64 0 + call void @version_etc_va(%struct._IO_FILE* %0, i8* %1, i8* %2, i8* %3, %struct.__va_list_tag.2* %arraydecay2) + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %authors, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.2* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal zeroext i1 @validate_file_name(i8* %file, i1 zeroext %check_basic_portability, i1 zeroext %check_extra_portability) #3 { +entry: + %retval = alloca i1, align 1 + %file.addr = alloca i8*, align 8 + %check_basic_portability.addr = alloca i8, align 1 + %check_extra_portability.addr = alloca i8, align 1 + %filelen = alloca i64, align 8 + %start = alloca i8*, align 8 + %check_component_lengths = alloca i8, align 1 + %file_exists = alloca i8, align 1 + %st = alloca %struct.stat64, align 8 + %maxsize = alloca i64, align 8 + %size = alloca i64, align 8 + %dir = alloca i8*, align 8 + %len = alloca i64, align 8 + %maxlen = alloca i64, align 8 + %length = alloca i64, align 8 + %name_max = alloca i64, align 8 + %known_name_max = alloca i64, align 8 + %length83 = alloca i64, align 8 + %len87 = alloca i64, align 8 + %dir88 = alloca i8*, align 8 + %c = alloca i8, align 1 + %len117 = alloca i64, align 8 + %maxlen118 = alloca i64, align 8 + %c119 = alloca i8, align 1 + store i8* %file, i8** %file.addr, align 8 + %frombool = zext i1 %check_basic_portability to i8 + store i8 %frombool, i8* %check_basic_portability.addr, align 1 + %frombool1 = zext i1 %check_extra_portability to i8 + store i8 %frombool1, i8* %check_extra_portability.addr, align 1 + %0 = load i8*, i8** %file.addr, align 8 + %call = call i64 @strlen(i8* %0) #23 + store i64 %call, i64* %filelen, align 8 + store i8 0, i8* %file_exists, align 1 + %1 = load i8, i8* %check_extra_portability.addr, align 1 + %tobool = trunc i8 %1 to i1 + br i1 %tobool, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %2 = load i8*, i8** %file.addr, align 8 + %call2 = call zeroext i1 @no_leading_hyphen(i8* %2) + br i1 %call2, label %if.end, label %if.then + +if.then: ; preds = %land.lhs.true + store i1 false, i1* %retval, align 1 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + %3 = load i8, i8* %check_basic_portability.addr, align 1 + %tobool3 = trunc i8 %3 to i1 + br i1 %tobool3, label %land.lhs.true5, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %4 = load i8, i8* %check_extra_portability.addr, align 1 + %tobool4 = trunc i8 %4 to i1 + br i1 %tobool4, label %land.lhs.true5, label %if.end7 + +land.lhs.true5: ; preds = %lor.lhs.false, %if.end + %5 = load i64, i64* %filelen, align 8 + %cmp = icmp eq i64 %5, 0 + br i1 %cmp, label %if.then6, label %if.end7 + +if.then6: ; preds = %land.lhs.true5 + call void (i32, i32, i8*, ...) @error(i32 0, i32 0, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.32.126, i64 0, i64 0)) + store i1 false, i1* %retval, align 1 + br label %return + +if.end7: ; preds = %land.lhs.true5, %lor.lhs.false + %6 = load i8, i8* %check_basic_portability.addr, align 1 + %tobool8 = trunc i8 %6 to i1 + %7 = load i8*, i8** %file.addr, align 8 + br i1 %tobool8, label %if.then9, label %if.else + +if.then9: ; preds = %if.end7 + %8 = load i64, i64* %filelen, align 8 + %call10 = call zeroext i1 @portable_chars_only(i8* %7, i64 %8) + br i1 %call10, label %if.end26, label %if.then11 + +if.then11: ; preds = %if.then9 + store i1 false, i1* %retval, align 1 + br label %return + +if.else: ; preds = %if.end7 + %call13 = call i32 @lstat(i8* %7, %struct.stat64* %st) #11 + %cmp14 = icmp eq i32 %call13, 0 + br i1 %cmp14, label %if.then15, label %if.else16 + +if.then15: ; preds = %if.else + store i8 1, i8* %file_exists, align 1 + br label %if.end26 + +if.else16: ; preds = %if.else + %call17 = call i32* @__errno_location() #25 + %9 = load i32, i32* %call17, align 4 + %cmp18 = icmp ne i32 %9, 2 + %10 = load i64, i64* %filelen, align 8 + %cmp20 = icmp eq i64 %10, 0 + %or.cond = or i1 %cmp18, %cmp20 + br i1 %or.cond, label %if.then21, label %if.end26 + +if.then21: ; preds = %if.else16 + %call22 = call i32* @__errno_location() #25 + %11 = load i32, i32* %call22, align 4 + %12 = load i8*, i8** %file.addr, align 8 + %call23 = call i8* @quotearg_n_style_colon(i32 0, i32 3, i8* %12) + call void (i32, i32, i8*, ...) @error(i32 0, i32 %11, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.33.127, i64 0, i64 0), i8* %call23) + store i1 false, i1* %retval, align 1 + br label %return + +if.end26: ; preds = %if.then15, %if.else16, %if.then9 + %13 = load i8, i8* %check_basic_portability.addr, align 1 + %tobool27 = trunc i8 %13 to i1 + br i1 %tobool27, label %if.then32, label %lor.lhs.false28 + +lor.lhs.false28: ; preds = %if.end26 + %14 = load i8, i8* %file_exists, align 1 + %tobool29 = trunc i8 %14 to i1 + %tobool29.not = xor i1 %tobool29, true + %15 = load i64, i64* %filelen, align 8 + %cmp31 = icmp ule i64 256, %15 + %or.cond1 = and i1 %tobool29.not, %cmp31 + br i1 %or.cond1, label %if.then32, label %if.end58 + +if.then32: ; preds = %lor.lhs.false28, %if.end26 + %16 = load i8, i8* %check_basic_portability.addr, align 1 + %tobool33 = trunc i8 %16 to i1 + br i1 %tobool33, label %if.then34, label %if.else35 + +if.then34: ; preds = %if.then32 + store i64 256, i64* %maxsize, align 8 + br label %if.end52 + +if.else35: ; preds = %if.then32 + %17 = load i8*, i8** %file.addr, align 8 + %18 = load i8, i8* %17, align 1 + %conv = sext i8 %18 to i32 + %cmp36 = icmp eq i32 %conv, 47 + %19 = zext i1 %cmp36 to i64 + %cond = select i1 %cmp36, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.34.128, i64 0, i64 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.35.129, i64 0, i64 0) + store i8* %cond, i8** %dir, align 8 + %call38 = call i32* @__errno_location() #25 + store i32 0, i32* %call38, align 4 + %20 = load i8*, i8** %dir, align 8 + %call39 = call i64 @pathconf(i8* %20, i32 4) #11 + store i64 %call39, i64* %size, align 8 + %21 = load i64, i64* %size, align 8 + %cmp40 = icmp slt i64 %21, 0 + br i1 %cmp40, label %land.lhs.true42, label %if.end48 + +land.lhs.true42: ; preds = %if.else35 + %call43 = call i32* @__errno_location() #25 + %22 = load i32, i32* %call43, align 4 + %cmp44 = icmp ne i32 %22, 0 + br i1 %cmp44, label %if.then46, label %if.end48 + +if.then46: ; preds = %land.lhs.true42 + %call47 = call i32* @__errno_location() #25 + %23 = load i32, i32* %call47, align 4 + %24 = load i8*, i8** %dir, align 8 + call void (i32, i32, i8*, ...) @error(i32 0, i32 %23, i8* getelementptr inbounds ([49 x i8], [49 x i8]* @.str.36, i64 0, i64 0), i8* %24) + store i1 false, i1* %retval, align 1 + br label %return + +if.end48: ; preds = %land.lhs.true42, %if.else35 + %25 = load i64, i64* %size, align 8 + %cmp49 = icmp slt i64 %25, 9223372036854775807 + %26 = load i64, i64* %size, align 8 + %cond51 = select i1 %cmp49, i64 %26, i64 9223372036854775807 + store i64 %cond51, i64* %maxsize, align 8 + br label %if.end52 + +if.end52: ; preds = %if.end48, %if.then34 + %27 = load i64, i64* %maxsize, align 8 + %28 = load i64, i64* %filelen, align 8 + %cmp53 = icmp ule i64 %27, %28 + br i1 %cmp53, label %if.then55, label %if.end58 + +if.then55: ; preds = %if.end52 + %29 = load i64, i64* %filelen, align 8 + store i64 %29, i64* %len, align 8 + %30 = load i64, i64* %maxsize, align 8 + %sub = sub i64 %30, 1 + store i64 %sub, i64* %maxlen, align 8 + %31 = load i64, i64* %maxlen, align 8 + %32 = load i64, i64* %len, align 8 + %33 = load i8*, i8** %file.addr, align 8 + %call56 = call i8* @quotearg_style(i32 4, i8* %33) + call void (i32, i32, i8*, ...) @error(i32 0, i32 0, i8* getelementptr inbounds ([49 x i8], [49 x i8]* @.str.37, i64 0, i64 0), i64 %31, i64 %32, i8* %call56) + store i1 false, i1* %retval, align 1 + br label %return + +if.end58: ; preds = %if.end52, %lor.lhs.false28 + %34 = load i8, i8* %check_basic_portability.addr, align 1 + %tobool59 = trunc i8 %34 to i1 + %frombool60 = zext i1 %tobool59 to i8 + store i8 %frombool60, i8* %check_component_lengths, align 1 + %35 = load i8, i8* %check_component_lengths, align 1 + %tobool61 = trunc i8 %35 to i1 + br i1 %tobool61, label %if.end72, label %land.lhs.true62 + +land.lhs.true62: ; preds = %if.end58 + %36 = load i8, i8* %file_exists, align 1 + %tobool63 = trunc i8 %36 to i1 + br i1 %tobool63, label %if.end72, label %if.then64 + +if.then64: ; preds = %land.lhs.true62 + %37 = load i8*, i8** %file.addr, align 8 + store i8* %37, i8** %start, align 8 + br label %for.cond + +for.cond: ; preds = %if.end71, %if.then64 + %38 = load i8*, i8** %start, align 8 + %call65 = call i8* @component_start(i8* %38) #23 + store i8* %call65, i8** %start, align 8 + %39 = load i8, i8* %call65, align 1 + %tobool66 = icmp ne i8 %39, 0 + br i1 %tobool66, label %for.body, label %if.end72 + +for.body: ; preds = %for.cond + %40 = load i8*, i8** %start, align 8 + %call67 = call i64 @component_len(i8* %40) #23 + store i64 %call67, i64* %length, align 8 + %41 = load i64, i64* %length, align 8 + %cmp68 = icmp ult i64 14, %41 + br i1 %cmp68, label %if.then70, label %if.end71 + +if.then70: ; preds = %for.body + store i8 1, i8* %check_component_lengths, align 1 + br label %if.end72 + +if.end71: ; preds = %for.body + %42 = load i64, i64* %length, align 8 + %43 = load i8*, i8** %start, align 8 + %add.ptr = getelementptr inbounds i8, i8* %43, i64 %42 + store i8* %add.ptr, i8** %start, align 8 + br label %for.cond + +if.end72: ; preds = %for.cond, %if.then70, %land.lhs.true62, %if.end58 + %44 = load i8, i8* %check_component_lengths, align 1 + %tobool73 = trunc i8 %44 to i1 + br i1 %tobool73, label %if.then74, label %if.end126 + +if.then74: ; preds = %if.end72 + store i64 14, i64* %name_max, align 8 + %45 = load i8, i8* %check_basic_portability.addr, align 1 + %tobool75 = trunc i8 %45 to i1 + %46 = zext i1 %tobool75 to i64 + %cond77 = select i1 %tobool75, i32 14, i32 0 + %conv78 = sext i32 %cond77 to i64 + store i64 %conv78, i64* %known_name_max, align 8 + %47 = load i8*, i8** %file.addr, align 8 + store i8* %47, i8** %start, align 8 + br label %for.cond79 + +for.cond79: ; preds = %if.end123, %if.then74 + %48 = load i8*, i8** %start, align 8 + %call80 = call i8* @component_start(i8* %48) #23 + store i8* %call80, i8** %start, align 8 + %49 = load i8, i8* %call80, align 1 + %tobool81 = icmp ne i8 %49, 0 + br i1 %tobool81, label %for.body82, label %if.end126 + +for.body82: ; preds = %for.cond79 + %50 = load i64, i64* %known_name_max, align 8 + %tobool84 = icmp ne i64 %50, 0 + br i1 %tobool84, label %if.then85, label %if.else86 + +if.then85: ; preds = %for.body82 + %51 = load i64, i64* %known_name_max, align 8 + store i64 %51, i64* %name_max, align 8 + br label %if.end112 + +if.else86: ; preds = %for.body82 + %52 = load i8*, i8** %start, align 8 + %53 = load i8*, i8** %file.addr, align 8 + %cmp89 = icmp eq i8* %52, %53 + %54 = load i8*, i8** %file.addr, align 8 + %cond94 = select i1 %cmp89, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.35.129, i64 0, i64 0), i8* %54 + store i8* %cond94, i8** %dir88, align 8 + %55 = load i8*, i8** %start, align 8 + %56 = load i8, i8* %55, align 1 + store i8 %56, i8* %c, align 1 + %call95 = call i32* @__errno_location() #25 + store i32 0, i32* %call95, align 4 + %57 = load i8*, i8** %start, align 8 + store i8 0, i8* %57, align 1 + %58 = load i8*, i8** %dir88, align 8 + %call96 = call i64 @pathconf(i8* %58, i32 3) #11 + store i64 %call96, i64* %len87, align 8 + %59 = load i8, i8* %c, align 1 + %60 = load i8*, i8** %start, align 8 + store i8 %59, i8* %60, align 1 + %61 = load i64, i64* %len87, align 8 + %cmp97 = icmp sle i64 0, %61 + br i1 %cmp97, label %if.then99, label %if.else106 + +if.then99: ; preds = %if.else86 + %62 = load i64, i64* %len87, align 8 + %cmp100 = icmp slt i64 %62, 9223372036854775807 + %63 = load i64, i64* %len87, align 8 + %cond105 = select i1 %cmp100, i64 %63, i64 9223372036854775807 + store i64 %cond105, i64* %name_max, align 8 + br label %if.end112 + +if.else106: ; preds = %if.else86 + %call107 = call i32* @__errno_location() #25 + %64 = load i32, i32* %call107, align 4 + br label %NodeBlock2 + +NodeBlock2: ; preds = %if.else106 + %case.cmp3 = icmp eq i32 %64, 0 + br i1 %case.cmp3, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock2 + %case.cmp = icmp eq i32 %64, 2 + br i1 %case.cmp, label %sw.bb108, label %newDefault + +sw.bb: ; preds = %NodeBlock2 + store i64 -1, i64* %name_max, align 8 + br label %if.end112 + +sw.bb108: ; preds = %NodeBlock + %65 = load i64, i64* %name_max, align 8 + store i64 %65, i64* %known_name_max, align 8 + br label %if.end112 + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + %66 = load i8*, i8** %start, align 8 + store i8 0, i8* %66, align 1 + %call109 = call i32* @__errno_location() #25 + %67 = load i32, i32* %call109, align 4 + %68 = load i8*, i8** %dir88, align 8 + %call110 = call i8* @quotearg_n_style_colon(i32 0, i32 3, i8* %68) + call void (i32, i32, i8*, ...) @error(i32 0, i32 %67, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.33.127, i64 0, i64 0), i8* %call110) + %69 = load i8, i8* %c, align 1 + %70 = load i8*, i8** %start, align 8 + store i8 %69, i8* %70, align 1 + store i1 false, i1* %retval, align 1 + br label %return + +if.end112: ; preds = %if.then99, %sw.bb108, %sw.bb, %if.then85 + %71 = load i8*, i8** %start, align 8 + %call113 = call i64 @component_len(i8* %71) #23 + store i64 %call113, i64* %length83, align 8 + %72 = load i64, i64* %name_max, align 8 + %73 = load i64, i64* %length83, align 8 + %cmp114 = icmp ult i64 %72, %73 + %74 = load i64, i64* %length83, align 8 + br i1 %cmp114, label %if.then116, label %if.end123 + +if.then116: ; preds = %if.end112 + store i64 %74, i64* %len117, align 8 + %75 = load i64, i64* %name_max, align 8 + store i64 %75, i64* %maxlen118, align 8 + %76 = load i8*, i8** %start, align 8 + %77 = load i64, i64* %len117, align 8 + %arrayidx = getelementptr inbounds i8, i8* %76, i64 %77 + %78 = load i8, i8* %arrayidx, align 1 + store i8 %78, i8* %c119, align 1 + %79 = load i8*, i8** %start, align 8 + %80 = load i64, i64* %len117, align 8 + %arrayidx120 = getelementptr inbounds i8, i8* %79, i64 %80 + store i8 0, i8* %arrayidx120, align 1 + %81 = load i64, i64* %maxlen118, align 8 + %82 = load i64, i64* %len117, align 8 + %83 = load i8*, i8** %start, align 8 + %call121 = call i8* @quote(i8* %83) + call void (i32, i32, i8*, ...) @error(i32 0, i32 0, i8* getelementptr inbounds ([59 x i8], [59 x i8]* @.str.38, i64 0, i64 0), i64 %81, i64 %82, i8* %call121) + %84 = load i8, i8* %c119, align 1 + %85 = load i8*, i8** %start, align 8 + %86 = load i64, i64* %len117, align 8 + %arrayidx122 = getelementptr inbounds i8, i8* %85, i64 %86 + store i8 %84, i8* %arrayidx122, align 1 + store i1 false, i1* %retval, align 1 + br label %return + +if.end123: ; preds = %if.end112 + %87 = load i8*, i8** %start, align 8 + %add.ptr124 = getelementptr inbounds i8, i8* %87, i64 %74 + store i8* %add.ptr124, i8** %start, align 8 + br label %for.cond79 + +if.end126: ; preds = %for.cond79, %if.end72 + store i1 true, i1* %retval, align 1 + br label %return + +return: ; preds = %if.end126, %if.then116, %sw.default, %if.then55, %if.then46, %if.then21, %if.then11, %if.then6, %if.then + %88 = load i1, i1* %retval, align 1 + ret i1 %88 +} + +; Function Attrs: noinline nounwind uwtable +define internal zeroext i1 @no_leading_hyphen(i8* %file) #3 { +entry: + %retval = alloca i1, align 1 + %file.addr = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load i8*, i8** %p, align 8 + %call = call i8* @strchr(i8* %1, i32 45) #23 + store i8* %call, i8** %p, align 8 + %tobool = icmp ne i8* %call, null + br i1 %tobool, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %2 = load i8*, i8** %p, align 8 + %3 = load i8*, i8** %file.addr, align 8 + %cmp = icmp eq i8* %2, %3 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %for.body + %4 = load i8*, i8** %p, align 8 + %arrayidx = getelementptr inbounds i8, i8* %4, i64 -1 + %5 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %5 to i32 + %cmp1 = icmp eq i32 %conv, 47 + br i1 %cmp1, label %if.then, label %for.inc + +if.then: ; preds = %lor.lhs.false, %for.body + %6 = load i8*, i8** %file.addr, align 8 + %call3 = call i8* @quotearg_style(i32 4, i8* %6) + call void (i32, i32, i8*, ...) @error(i32 0, i32 0, i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.39, i64 0, i64 0), i8* %call3) + store i1 false, i1* %retval, align 1 + br label %return + +for.inc: ; preds = %lor.lhs.false + %7 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %7, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + store i1 true, i1* %retval, align 1 + br label %return + +return: ; preds = %for.end, %if.then + %8 = load i1, i1* %retval, align 1 + ret i1 %8 +} + +; Function Attrs: noinline nounwind uwtable +define internal zeroext i1 @portable_chars_only(i8* %file, i64 %filelen) #3 { +entry: + %retval = alloca i1, align 1 + %file.addr = alloca i8*, align 8 + %filelen.addr = alloca i64, align 8 + %validlen = alloca i64, align 8 + %invalid = alloca i8*, align 8 + %mbstate = alloca %struct.__mbstate_t, align 4 + %charlen = alloca i64, align 8 + store i8* %file, i8** %file.addr, align 8 + store i64 %filelen, i64* %filelen.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + %call = call i64 @strspn(i8* %0, i8* getelementptr inbounds ([67 x i8], [67 x i8]* @.str.40, i64 0, i64 0)) #23 + store i64 %call, i64* %validlen, align 8 + %1 = load i8*, i8** %file.addr, align 8 + %2 = load i64, i64* %validlen, align 8 + %add.ptr = getelementptr inbounds i8, i8* %1, i64 %2 + store i8* %add.ptr, i8** %invalid, align 8 + %3 = load i8*, i8** %invalid, align 8 + %4 = load i8, i8* %3, align 1 + %tobool = icmp ne i8 %4, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %5 = bitcast %struct.__mbstate_t* %mbstate to i8* + %6 = call i8* @memset(i8* %5, i32 0, i64 8) + %7 = load i8*, i8** %invalid, align 8 + %8 = load i64, i64* %filelen.addr, align 8 + %9 = load i64, i64* %validlen, align 8 + %sub = sub i64 %8, %9 + %call1 = call i64 @rpl_mbrlen(i8* %7, i64 %sub, %struct.__mbstate_t* %mbstate) + store i64 %call1, i64* %charlen, align 8 + %10 = load i8*, i8** %invalid, align 8 + %11 = load i64, i64* %charlen, align 8 + %cmp = icmp ule i64 %11, 16 + %12 = load i64, i64* %charlen, align 8 + %cond = select i1 %cmp, i64 %12, i64 1 + %call2 = call i8* @quotearg_n_style_mem(i32 1, i32 8, i8* %10, i64 %cond) + %13 = load i8*, i8** %file.addr, align 8 + %call3 = call i8* @quotearg_n_style(i32 0, i32 4, i8* %13) + call void (i32, i32, i8*, ...) @error(i32 0, i32 0, i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.41, i64 0, i64 0), i8* %call2, i8* %call3) + store i1 false, i1* %retval, align 1 + br label %return + +if.end: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +return: ; preds = %if.end, %if.then + %14 = load i1, i1* %retval, align 1 + ret i1 %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_style_colon(i32 %n, i32 %s, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %options = alloca %struct.quoting_options, align 8 + %tmp = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + call void @quoting_options_from_style(%struct.quoting_options* sret align 8 %tmp, i32 %0) + %1 = bitcast %struct.quoting_options* %options to i8* + %2 = bitcast %struct.quoting_options* %tmp to i8* + %3 = call i8* @memcpy(i8* %1, i8* %2, i64 56) + %call = call i32 @set_char_quoting(%struct.quoting_options* %options, i8 signext 58, i32 1) + %4 = load i32, i32* %n.addr, align 4 + %5 = load i8*, i8** %arg.addr, align 8 + %call1 = call i8* @quotearg_n_options(i32 %4, i8* %5, i64 -1, %struct.quoting_options* %options) + ret i8* %call1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_style(i32 %s, i8* %arg) #3 { +entry: + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_style(i32 0, i32 %0, i8* %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind readonly uwtable +define internal i8* @component_start(i8* %f) #15 { +entry: + %f.addr = alloca i8*, align 8 + store i8* %f, i8** %f.addr, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %0 = load i8*, i8** %f.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 47 + %2 = load i8*, i8** %f.addr, align 8 + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %incdec.ptr = getelementptr inbounds i8, i8* %2, i32 1 + store i8* %incdec.ptr, i8** %f.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + ret i8* %2 +} + +; Function Attrs: noinline nounwind readonly uwtable +define internal i64 @component_len(i8* %f) #15 { +entry: + %f.addr = alloca i8*, align 8 + %len = alloca i64, align 8 + store i8* %f, i8** %f.addr, align 8 + store i64 1, i64* %len, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i8*, i8** %f.addr, align 8 + %1 = load i64, i64* %len, align 8 + %arrayidx = getelementptr inbounds i8, i8* %0, i64 %1 + %2 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %2 to i32 + %cmp = icmp ne i32 %conv, 47 + br i1 %cmp, label %land.rhs, label %for.end + +land.rhs: ; preds = %for.cond + %3 = load i8*, i8** %f.addr, align 8 + %4 = load i64, i64* %len, align 8 + %arrayidx2 = getelementptr inbounds i8, i8* %3, i64 %4 + %5 = load i8, i8* %arrayidx2, align 1 + %conv3 = sext i8 %5 to i32 + %tobool = icmp ne i32 %conv3, 0 + br i1 %tobool, label %for.inc, label %for.end + +for.inc: ; preds = %land.rhs + %6 = load i64, i64* %len, align 8 + %inc = add i64 %6, 1 + store i64 %inc, i64* %len, align 8 + br label %for.cond + +for.end: ; preds = %for.cond, %land.rhs + %7 = load i64, i64* %len, align 8 + ret i64 %7 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote(i8* %arg) #3 { +entry: + %arg.addr = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quote_n(i32 0, i8* %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote_n(i32 %n, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quote_n_mem(i32 %0, i8* %1, i64 -1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote_n_mem(i32 %n, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %2 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %0, i8* %1, i64 %2, %struct.quoting_options* @quote_quoting_options) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @quotearg_n_options(i32 %n, i8* %arg, i64 %argsize, %struct.quoting_options* %options) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %options.addr = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %sv = alloca %struct.slotvec*, align 8 + %preallocated = alloca i8, align 1 + %nmax = alloca i32, align 4 + %size = alloca i64, align 8 + %val = alloca i8*, align 8 + %flags = alloca i32, align 4 + %qsize = alloca i64, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store %struct.quoting_options* %options, %struct.quoting_options** %options.addr, align 8 + %call = call i32* @__errno_location() #25 + %0 = load i32, i32* %call, align 4 + store i32 %0, i32* %e, align 4 + %1 = load %struct.slotvec*, %struct.slotvec** @slotvec, align 8 + store %struct.slotvec* %1, %struct.slotvec** %sv, align 8 + %2 = load i32, i32* %n.addr, align 4 + %cmp = icmp slt i32 %2, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @abort() #26 + unreachable + +if.end: ; preds = %entry + %3 = load i32, i32* @nslots, align 4 + %4 = load i32, i32* %n.addr, align 4 + %cmp1 = icmp sle i32 %3, %4 + br i1 %cmp1, label %if.then2, label %if.end15 + +if.then2: ; preds = %if.end + %5 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %cmp3 = icmp eq %struct.slotvec* %5, @slotvec0 + %frombool = zext i1 %cmp3 to i8 + store i8 %frombool, i8* %preallocated, align 1 + store i32 2147483646, i32* %nmax, align 4 + %6 = load i32, i32* %nmax, align 4 + %7 = load i32, i32* %n.addr, align 4 + %cmp4 = icmp slt i32 %6, %7 + br i1 %cmp4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.then2 + call void @xalloc_die() #24 + unreachable + +if.end6: ; preds = %if.then2 + %8 = load i8, i8* %preallocated, align 1 + %tobool = trunc i8 %8 to i1 + %9 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %cond = select i1 %tobool, %struct.slotvec* null, %struct.slotvec* %9 + %10 = bitcast %struct.slotvec* %cond to i8* + %11 = load i32, i32* %n.addr, align 4 + %add = add nsw i32 %11, 1 + %conv = sext i32 %add to i64 + %mul = mul i64 %conv, 16 + %call7 = call i8* @xrealloc(i8* %10, i64 %mul) + %12 = bitcast i8* %call7 to %struct.slotvec* + store %struct.slotvec* %12, %struct.slotvec** %sv, align 8 + store %struct.slotvec* %12, %struct.slotvec** @slotvec, align 8 + %13 = load i8, i8* %preallocated, align 1 + %tobool8 = trunc i8 %13 to i1 + br i1 %tobool8, label %if.then9, label %if.end10 + +if.then9: ; preds = %if.end6 + %14 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %15 = bitcast %struct.slotvec* %14 to i8* + %16 = call i8* @memcpy(i8* %15, i8* bitcast (%struct.slotvec* @slotvec0 to i8*), i64 16) + br label %if.end10 + +if.end10: ; preds = %if.then9, %if.end6 + %17 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %18 = load i32, i32* @nslots, align 4 + %idx.ext = sext i32 %18 to i64 + %add.ptr = getelementptr inbounds %struct.slotvec, %struct.slotvec* %17, i64 %idx.ext + %19 = bitcast %struct.slotvec* %add.ptr to i8* + %20 = load i32, i32* %n.addr, align 4 + %add11 = add nsw i32 %20, 1 + %21 = load i32, i32* @nslots, align 4 + %sub = sub nsw i32 %add11, %21 + %conv12 = sext i32 %sub to i64 + %mul13 = mul i64 %conv12, 16 + %22 = call i8* @memset(i8* %19, i32 0, i64 %mul13) + %23 = load i32, i32* %n.addr, align 4 + %add14 = add nsw i32 %23, 1 + store i32 %add14, i32* @nslots, align 4 + br label %if.end15 + +if.end15: ; preds = %if.end10, %if.end + %24 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %25 = load i32, i32* %n.addr, align 4 + %idxprom = sext i32 %25 to i64 + %arrayidx = getelementptr inbounds %struct.slotvec, %struct.slotvec* %24, i64 %idxprom + %size16 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx, i32 0, i32 0 + %26 = load i64, i64* %size16, align 8 + store i64 %26, i64* %size, align 8 + %27 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %28 = load i32, i32* %n.addr, align 4 + %idxprom17 = sext i32 %28 to i64 + %arrayidx18 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %27, i64 %idxprom17 + %val19 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx18, i32 0, i32 1 + %29 = load i8*, i8** %val19, align 8 + store i8* %29, i8** %val, align 8 + %30 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %flags20 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %30, i32 0, i32 1 + %31 = load i32, i32* %flags20, align 4 + %or = or i32 %31, 1 + store i32 %or, i32* %flags, align 4 + %32 = load i8*, i8** %val, align 8 + %33 = load i64, i64* %size, align 8 + %34 = load i8*, i8** %arg.addr, align 8 + %35 = load i64, i64* %argsize.addr, align 8 + %36 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %36, i32 0, i32 0 + %37 = load i32, i32* %style, align 8 + %38 = load i32, i32* %flags, align 4 + %39 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %39, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %40 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %left_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %40, i32 0, i32 3 + %41 = load i8*, i8** %left_quote, align 8 + %42 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %right_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %42, i32 0, i32 4 + %43 = load i8*, i8** %right_quote, align 8 + %call21 = call i64 @quotearg_buffer_restyled(i8* %32, i64 %33, i8* %34, i64 %35, i32 %37, i32 %38, i32* %arraydecay, i8* %41, i8* %43) + store i64 %call21, i64* %qsize, align 8 + %44 = load i64, i64* %size, align 8 + %45 = load i64, i64* %qsize, align 8 + %cmp22 = icmp ule i64 %44, %45 + br i1 %cmp22, label %if.then24, label %if.end43 + +if.then24: ; preds = %if.end15 + %46 = load i64, i64* %qsize, align 8 + %add25 = add i64 %46, 1 + store i64 %add25, i64* %size, align 8 + %47 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %48 = load i32, i32* %n.addr, align 4 + %idxprom26 = sext i32 %48 to i64 + %arrayidx27 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %47, i64 %idxprom26 + %size28 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx27, i32 0, i32 0 + store i64 %add25, i64* %size28, align 8 + %49 = load i8*, i8** %val, align 8 + %cmp29 = icmp ne i8* %49, getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i64 0, i64 0) + br i1 %cmp29, label %if.then31, label %if.end32 + +if.then31: ; preds = %if.then24 + %50 = load i8*, i8** %val, align 8 + call void @free(i8* %50) #11 + br label %if.end32 + +if.end32: ; preds = %if.then31, %if.then24 + %51 = load i64, i64* %size, align 8 + %call33 = call noalias i8* @xcharalloc(i64 %51) + store i8* %call33, i8** %val, align 8 + %52 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %53 = load i32, i32* %n.addr, align 4 + %idxprom34 = sext i32 %53 to i64 + %arrayidx35 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %52, i64 %idxprom34 + %val36 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx35, i32 0, i32 1 + store i8* %call33, i8** %val36, align 8 + %54 = load i8*, i8** %val, align 8 + %55 = load i64, i64* %size, align 8 + %56 = load i8*, i8** %arg.addr, align 8 + %57 = load i64, i64* %argsize.addr, align 8 + %58 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %style37 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %58, i32 0, i32 0 + %59 = load i32, i32* %style37, align 8 + %60 = load i32, i32* %flags, align 4 + %61 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %quote_these_too38 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %61, i32 0, i32 2 + %arraydecay39 = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too38, i64 0, i64 0 + %62 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %left_quote40 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %62, i32 0, i32 3 + %63 = load i8*, i8** %left_quote40, align 8 + %64 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %right_quote41 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %64, i32 0, i32 4 + %65 = load i8*, i8** %right_quote41, align 8 + %call42 = call i64 @quotearg_buffer_restyled(i8* %54, i64 %55, i8* %56, i64 %57, i32 %59, i32 %60, i32* %arraydecay39, i8* %63, i8* %65) + br label %if.end43 + +if.end43: ; preds = %if.end32, %if.end15 + %66 = load i32, i32* %e, align 4 + %call44 = call i32* @__errno_location() #25 + store i32 %66, i32* %call44, align 4 + %67 = load i8*, i8** %val, align 8 + ret i8* %67 +} + +; Function Attrs: noinline noreturn nounwind uwtable +define dso_local void @xalloc_die() #6 { +entry: + %0 = load volatile i32, i32* @exit_failure, align 4 + call void (i32, i32, i8*, ...) @error(i32 %0, i32 0, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.123, i64 0, i64 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.1.124, i64 0, i64 0)) + call void @abort() #26 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @xrealloc(i8* %p, i64 %n) #3 { +entry: + %retval = alloca i8*, align 8 + %p.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %tobool = icmp eq i64 %0, 0 + %1 = load i8*, i8** %p.addr, align 8 + %tobool1 = icmp ne i8* %1, null + %or.cond = and i1 %tobool, %tobool1 + %2 = load i8*, i8** %p.addr, align 8 + br i1 %or.cond, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @free(i8* %2) #11 + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %3 = load i64, i64* %n.addr, align 8 + %call = call i8* @realloc(i8* %2, i64 %3) #11 + store i8* %call, i8** %p.addr, align 8 + %4 = load i8*, i8** %p.addr, align 8 + %tobool2 = icmp eq i8* %4, null + %5 = load i64, i64* %n.addr, align 8 + %tobool4 = icmp ne i64 %5, 0 + %or.cond1 = and i1 %tobool2, %tobool4 + br i1 %or.cond1, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end + call void @xalloc_die() #24 + unreachable + +if.end6: ; preds = %if.end + %6 = load i8*, i8** %p.addr, align 8 + store i8* %6, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end6, %if.then + %7 = load i8*, i8** %retval, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @quotearg_buffer_restyled(i8* %buffer, i64 %buffersize, i8* %arg, i64 %argsize, i32 %quoting_style, i32 %flags, i32* %quote_these_too, i8* %left_quote, i8* %right_quote) #3 { +entry: + %retval = alloca i64, align 8 + %buffer.addr = alloca i8*, align 8 + %buffersize.addr = alloca i64, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %quoting_style.addr = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %quote_these_too.addr = alloca i32*, align 8 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %i = alloca i64, align 8 + %len = alloca i64, align 8 + %orig_buffersize = alloca i64, align 8 + %quote_string = alloca i8*, align 8 + %quote_string_len = alloca i64, align 8 + %backslash_escapes = alloca i8, align 1 + %unibyte_locale = alloca i8, align 1 + %elide_outer_quotes = alloca i8, align 1 + %pending_shell_escape_end = alloca i8, align 1 + %encountered_single_quote = alloca i8, align 1 + %all_c_and_shell_quote_compat = alloca i8, align 1 + %c = alloca i8, align 1 + %esc = alloca i8, align 1 + %is_right_quote = alloca i8, align 1 + %escaping = alloca i8, align 1 + %c_and_shell_quote_compat = alloca i8, align 1 + %m = alloca i64, align 8 + %printable = alloca i8, align 1 + %mbstate = alloca %struct.__mbstate_t, align 4 + %w = alloca i32, align 4 + %bytes = alloca i64, align 8 + %j = alloca i64, align 8 + %ilim = alloca i64, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %buffersize, i64* %buffersize.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store i32 %quoting_style, i32* %quoting_style.addr, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store i32* %quote_these_too, i32** %quote_these_too.addr, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i64 0, i64* %len, align 8 + store i64 0, i64* %orig_buffersize, align 8 + store i8* null, i8** %quote_string, align 8 + store i64 0, i64* %quote_string_len, align 8 + store i8 0, i8* %backslash_escapes, align 1 + %call = call i64 @__ctype_get_mb_cur_max() #11 + %cmp = icmp eq i64 %call, 1 + %frombool = zext i1 %cmp to i8 + store i8 %frombool, i8* %unibyte_locale, align 1 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 2 + %cmp1 = icmp ne i32 %and, 0 + %frombool2 = zext i1 %cmp1 to i8 + store i8 %frombool2, i8* %elide_outer_quotes, align 1 + store i8 0, i8* %pending_shell_escape_end, align 1 + store i8 0, i8* %encountered_single_quote, align 1 + store i8 1, i8* %all_c_and_shell_quote_compat, align 1 + br label %process_input + +process_input: ; preds = %if.then701, %entry + %1 = load i32, i32* %quoting_style.addr, align 4 + br label %NodeBlock27 + +NodeBlock27: ; preds = %process_input + %case.cmp28 = icmp eq i32 %1, 6 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %1, 5 + br i1 %case.cmp26, label %sw.bb3, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %1, 7 + br i1 %case.cmp24, label %sw.bb7, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %1, 8 + br i1 %case.cmp22, label %sw.bb8, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %1, 9 + br i1 %case.cmp20, label %sw.bb8, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %1, 10 + br i1 %case.cmp18, label %sw.bb8, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %1, 3 + br i1 %case.cmp16, label %sw.bb26, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %1, 1 + br i1 %case.cmp14, label %sw.bb27, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %1, 4 + br i1 %case.cmp12, label %sw.bb28, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %1, 2 + br i1 %case.cmp10, label %sw.bb32, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock9 + %case.cmp = icmp eq i32 %1, 0 + br i1 %case.cmp, label %sw.bb43, label %newDefault + +sw.bb: ; preds = %NodeBlock27 + store i32 5, i32* %quoting_style.addr, align 4 + store i8 1, i8* %elide_outer_quotes, align 1 + br label %sw.bb3 + +sw.bb3: ; preds = %NodeBlock25, %sw.bb + %2 = load i8, i8* %elide_outer_quotes, align 1 + %tobool = trunc i8 %2 to i1 + br i1 %tobool, label %if.end6, label %do.body + +do.body: ; preds = %sw.bb3 + %3 = load i64, i64* %len, align 8 + %4 = load i64, i64* %buffersize.addr, align 8 + %cmp4 = icmp ult i64 %3, %4 + br i1 %cmp4, label %if.then5, label %if.end + +if.then5: ; preds = %do.body + %5 = load i8*, i8** %buffer.addr, align 8 + %6 = load i64, i64* %len, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 %6 + store i8 34, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then5, %do.body + %7 = load i64, i64* %len, align 8 + %inc = add i64 %7, 1 + store i64 %inc, i64* %len, align 8 + br label %if.end6 + +if.end6: ; preds = %if.end, %sw.bb3 + store i8 1, i8* %backslash_escapes, align 1 + store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10.67, i64 0, i64 0), i8** %quote_string, align 8 + store i64 1, i64* %quote_string_len, align 8 + br label %sw.epilog + +sw.bb7: ; preds = %NodeBlock23 + store i8 1, i8* %backslash_escapes, align 1 + store i8 0, i8* %elide_outer_quotes, align 1 + br label %sw.epilog + +sw.bb8: ; preds = %NodeBlock21, %NodeBlock19, %NodeBlock17 + %8 = load i32, i32* %quoting_style.addr, align 4 + %cmp9 = icmp ne i32 %8, 10 + br i1 %cmp9, label %if.then10, label %if.end13 + +if.then10: ; preds = %sw.bb8 + %9 = load i32, i32* %quoting_style.addr, align 4 + %call11 = call i8* @gettext_quote(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.11.68, i64 0, i64 0), i32 %9) + store i8* %call11, i8** %left_quote.addr, align 8 + %10 = load i32, i32* %quoting_style.addr, align 4 + %call12 = call i8* @gettext_quote(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.69, i64 0, i64 0), i32 %10) + store i8* %call12, i8** %right_quote.addr, align 8 + br label %if.end13 + +if.end13: ; preds = %if.then10, %sw.bb8 + %11 = load i8, i8* %elide_outer_quotes, align 1 + %tobool14 = trunc i8 %11 to i1 + br i1 %tobool14, label %if.end24, label %if.then15 + +if.then15: ; preds = %if.end13 + %12 = load i8*, i8** %left_quote.addr, align 8 + store i8* %12, i8** %quote_string, align 8 + br label %for.cond + +for.cond: ; preds = %if.end21, %if.then15 + %13 = load i8*, i8** %quote_string, align 8 + %14 = load i8, i8* %13, align 1 + %tobool16 = icmp ne i8 %14, 0 + br i1 %tobool16, label %do.body17, label %if.end24 + +do.body17: ; preds = %for.cond + %15 = load i64, i64* %len, align 8 + %16 = load i64, i64* %buffersize.addr, align 8 + %cmp18 = icmp ult i64 %15, %16 + br i1 %cmp18, label %if.then19, label %if.end21 + +if.then19: ; preds = %do.body17 + %17 = load i8*, i8** %quote_string, align 8 + %18 = load i8, i8* %17, align 1 + %19 = load i8*, i8** %buffer.addr, align 8 + %20 = load i64, i64* %len, align 8 + %arrayidx20 = getelementptr inbounds i8, i8* %19, i64 %20 + store i8 %18, i8* %arrayidx20, align 1 + br label %if.end21 + +if.end21: ; preds = %if.then19, %do.body17 + %21 = load i64, i64* %len, align 8 + %inc22 = add i64 %21, 1 + store i64 %inc22, i64* %len, align 8 + %22 = load i8*, i8** %quote_string, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %22, i32 1 + store i8* %incdec.ptr, i8** %quote_string, align 8 + br label %for.cond + +if.end24: ; preds = %for.cond, %if.end13 + store i8 1, i8* %backslash_escapes, align 1 + %23 = load i8*, i8** %right_quote.addr, align 8 + store i8* %23, i8** %quote_string, align 8 + %24 = load i8*, i8** %quote_string, align 8 + %call25 = call i64 @strlen(i8* %24) #23 + store i64 %call25, i64* %quote_string_len, align 8 + br label %sw.epilog + +sw.bb26: ; preds = %NodeBlock15 + store i8 1, i8* %backslash_escapes, align 1 + br label %sw.bb27 + +sw.bb27: ; preds = %NodeBlock13, %sw.bb26 + store i8 1, i8* %elide_outer_quotes, align 1 + br label %sw.bb28 + +sw.bb28: ; preds = %NodeBlock11, %sw.bb27 + %25 = load i8, i8* %elide_outer_quotes, align 1 + %tobool29 = trunc i8 %25 to i1 + br i1 %tobool29, label %sw.bb32, label %if.then30 + +if.then30: ; preds = %sw.bb28 + store i8 1, i8* %backslash_escapes, align 1 + br label %sw.bb32 + +sw.bb32: ; preds = %NodeBlock9, %sw.bb28, %if.then30 + store i32 2, i32* %quoting_style.addr, align 4 + %26 = load i8, i8* %elide_outer_quotes, align 1 + %tobool33 = trunc i8 %26 to i1 + br i1 %tobool33, label %if.end42, label %do.body35 + +do.body35: ; preds = %sw.bb32 + %27 = load i64, i64* %len, align 8 + %28 = load i64, i64* %buffersize.addr, align 8 + %cmp36 = icmp ult i64 %27, %28 + br i1 %cmp36, label %if.then37, label %if.end39 + +if.then37: ; preds = %do.body35 + %29 = load i8*, i8** %buffer.addr, align 8 + %30 = load i64, i64* %len, align 8 + %arrayidx38 = getelementptr inbounds i8, i8* %29, i64 %30 + store i8 39, i8* %arrayidx38, align 1 + br label %if.end39 + +if.end39: ; preds = %if.then37, %do.body35 + %31 = load i64, i64* %len, align 8 + %inc40 = add i64 %31, 1 + store i64 %inc40, i64* %len, align 8 + br label %if.end42 + +if.end42: ; preds = %if.end39, %sw.bb32 + store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.69, i64 0, i64 0), i8** %quote_string, align 8 + store i64 1, i64* %quote_string_len, align 8 + br label %sw.epilog + +sw.bb43: ; preds = %NodeBlock + store i8 0, i8* %elide_outer_quotes, align 1 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @abort() #26 + unreachable + +sw.epilog: ; preds = %sw.bb43, %if.end42, %if.end24, %sw.bb7, %if.end6 + store i64 0, i64* %i, align 8 + br label %for.cond44 + +for.cond44: ; preds = %for.inc673, %sw.epilog + %32 = load i64, i64* %argsize.addr, align 8 + %cmp45 = icmp eq i64 %32, -1 + br i1 %cmp45, label %cond.true, label %cond.false + +cond.true: ; preds = %for.cond44 + %33 = load i8*, i8** %arg.addr, align 8 + %34 = load i64, i64* %i, align 8 + %arrayidx46 = getelementptr inbounds i8, i8* %33, i64 %34 + %35 = load i8, i8* %arrayidx46, align 1 + %conv = sext i8 %35 to i32 + %cmp47 = icmp eq i32 %conv, 0 + %conv48 = zext i1 %cmp47 to i32 + br label %cond.end + +cond.false: ; preds = %for.cond44 + %36 = load i64, i64* %i, align 8 + %37 = load i64, i64* %argsize.addr, align 8 + %cmp49 = icmp eq i64 %36, %37 + %conv50 = zext i1 %cmp49 to i32 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ %conv48, %cond.true ], [ %conv50, %cond.false ] + %tobool51 = icmp ne i32 %cond, 0 + %lnot = xor i1 %tobool51, true + br i1 %lnot, label %for.body52, label %for.end675 + +for.body52: ; preds = %cond.end + store i8 0, i8* %is_right_quote, align 1 + store i8 0, i8* %escaping, align 1 + store i8 0, i8* %c_and_shell_quote_compat, align 1 + %38 = load i8, i8* %backslash_escapes, align 1 + %tobool53 = trunc i8 %38 to i1 + %39 = load i32, i32* %quoting_style.addr, align 4 + %cmp55 = icmp ne i32 %39, 2 + %or.cond = and i1 %tobool53, %cmp55 + %40 = load i64, i64* %quote_string_len, align 8 + %tobool58 = icmp ne i64 %40, 0 + %or.cond1 = and i1 %or.cond, %tobool58 + br i1 %or.cond1, label %land.lhs.true59, label %if.end80 + +land.lhs.true59: ; preds = %for.body52 + %41 = load i64, i64* %i, align 8 + %42 = load i64, i64* %quote_string_len, align 8 + %add = add i64 %41, %42 + %43 = load i64, i64* %argsize.addr, align 8 + %cmp60 = icmp eq i64 %43, -1 + %44 = load i64, i64* %quote_string_len, align 8 + %cmp63 = icmp ult i64 1, %44 + %or.cond2 = and i1 %cmp60, %cmp63 + br i1 %or.cond2, label %cond.true65, label %cond.false67 + +cond.true65: ; preds = %land.lhs.true59 + %45 = load i8*, i8** %arg.addr, align 8 + %call66 = call i64 @strlen(i8* %45) #23 + store i64 %call66, i64* %argsize.addr, align 8 + br label %cond.end68 + +cond.false67: ; preds = %land.lhs.true59 + %46 = load i64, i64* %argsize.addr, align 8 + br label %cond.end68 + +cond.end68: ; preds = %cond.false67, %cond.true65 + %cond69 = phi i64 [ %call66, %cond.true65 ], [ %46, %cond.false67 ] + %cmp70 = icmp ule i64 %add, %cond69 + br i1 %cmp70, label %land.lhs.true72, label %if.end80 + +land.lhs.true72: ; preds = %cond.end68 + %47 = load i8*, i8** %arg.addr, align 8 + %48 = load i64, i64* %i, align 8 + %add.ptr = getelementptr inbounds i8, i8* %47, i64 %48 + %49 = load i8*, i8** %quote_string, align 8 + %50 = load i64, i64* %quote_string_len, align 8 + %call73 = call i32 @memcmp(i8* %add.ptr, i8* %49, i64 %50) #23 + %cmp74 = icmp eq i32 %call73, 0 + br i1 %cmp74, label %if.then76, label %if.end80 + +if.then76: ; preds = %land.lhs.true72 + %51 = load i8, i8* %elide_outer_quotes, align 1 + %tobool77 = trunc i8 %51 to i1 + br i1 %tobool77, label %force_outer_quoting_style, label %if.end79 + +if.end79: ; preds = %if.then76 + store i8 1, i8* %is_right_quote, align 1 + br label %if.end80 + +if.end80: ; preds = %if.end79, %land.lhs.true72, %cond.end68, %for.body52 + %52 = load i8*, i8** %arg.addr, align 8 + %53 = load i64, i64* %i, align 8 + %arrayidx81 = getelementptr inbounds i8, i8* %52, i64 %53 + %54 = load i8, i8* %arrayidx81, align 1 + store i8 %54, i8* %c, align 1 + %55 = load i8, i8* %c, align 1 + %conv82 = zext i8 %55 to i32 + br label %NodeBlock232 + +NodeBlock232: ; preds = %if.end80 + %case.cmp233 = icmp eq i32 %conv82, 0 + br i1 %case.cmp233, label %sw.bb83, label %NodeBlock230 + +NodeBlock230: ; preds = %NodeBlock232 + %case.cmp231 = icmp eq i32 %conv82, 63 + br i1 %case.cmp231, label %sw.bb170, label %NodeBlock228 + +NodeBlock228: ; preds = %NodeBlock230 + %case.cmp229 = icmp eq i32 %conv82, 7 + br i1 %case.cmp229, label %sw.bb236, label %NodeBlock226 + +NodeBlock226: ; preds = %NodeBlock228 + %case.cmp227 = icmp eq i32 %conv82, 8 + br i1 %case.cmp227, label %sw.bb237, label %NodeBlock224 + +NodeBlock224: ; preds = %NodeBlock226 + %case.cmp225 = icmp eq i32 %conv82, 12 + br i1 %case.cmp225, label %sw.bb238, label %NodeBlock222 + +NodeBlock222: ; preds = %NodeBlock224 + %case.cmp223 = icmp eq i32 %conv82, 10 + br i1 %case.cmp223, label %sw.bb239, label %NodeBlock220 + +NodeBlock220: ; preds = %NodeBlock222 + %case.cmp221 = icmp eq i32 %conv82, 13 + br i1 %case.cmp221, label %sw.bb240, label %NodeBlock218 + +NodeBlock218: ; preds = %NodeBlock220 + %case.cmp219 = icmp eq i32 %conv82, 9 + br i1 %case.cmp219, label %sw.bb241, label %NodeBlock216 + +NodeBlock216: ; preds = %NodeBlock218 + %case.cmp217 = icmp eq i32 %conv82, 11 + br i1 %case.cmp217, label %sw.bb242, label %NodeBlock214 + +NodeBlock214: ; preds = %NodeBlock216 + %case.cmp215 = icmp eq i32 %conv82, 92 + br i1 %case.cmp215, label %sw.bb243, label %NodeBlock212 + +NodeBlock212: ; preds = %NodeBlock214 + %case.cmp213 = icmp eq i32 %conv82, 123 + br i1 %case.cmp213, label %sw.bb270, label %NodeBlock210 + +NodeBlock210: ; preds = %NodeBlock212 + %case.cmp211 = icmp eq i32 %conv82, 125 + br i1 %case.cmp211, label %sw.bb270, label %NodeBlock208 + +NodeBlock208: ; preds = %NodeBlock210 + %case.cmp209 = icmp eq i32 %conv82, 35 + br i1 %case.cmp209, label %sw.bb283, label %NodeBlock206 + +NodeBlock206: ; preds = %NodeBlock208 + %case.cmp207 = icmp eq i32 %conv82, 126 + br i1 %case.cmp207, label %sw.bb283, label %NodeBlock204 + +NodeBlock204: ; preds = %NodeBlock206 + %case.cmp205 = icmp eq i32 %conv82, 32 + br i1 %case.cmp205, label %sw.bb288, label %NodeBlock202 + +NodeBlock202: ; preds = %NodeBlock204 + %case.cmp203 = icmp eq i32 %conv82, 33 + br i1 %case.cmp203, label %sw.bb289, label %NodeBlock200 + +NodeBlock200: ; preds = %NodeBlock202 + %case.cmp201 = icmp eq i32 %conv82, 34 + br i1 %case.cmp201, label %sw.bb289, label %NodeBlock198 + +NodeBlock198: ; preds = %NodeBlock200 + %case.cmp199 = icmp eq i32 %conv82, 36 + br i1 %case.cmp199, label %sw.bb289, label %NodeBlock196 + +NodeBlock196: ; preds = %NodeBlock198 + %case.cmp197 = icmp eq i32 %conv82, 38 + br i1 %case.cmp197, label %sw.bb289, label %NodeBlock194 + +NodeBlock194: ; preds = %NodeBlock196 + %case.cmp195 = icmp eq i32 %conv82, 40 + br i1 %case.cmp195, label %sw.bb289, label %NodeBlock192 + +NodeBlock192: ; preds = %NodeBlock194 + %case.cmp193 = icmp eq i32 %conv82, 41 + br i1 %case.cmp193, label %sw.bb289, label %NodeBlock190 + +NodeBlock190: ; preds = %NodeBlock192 + %case.cmp191 = icmp eq i32 %conv82, 42 + br i1 %case.cmp191, label %sw.bb289, label %NodeBlock188 + +NodeBlock188: ; preds = %NodeBlock190 + %case.cmp189 = icmp eq i32 %conv82, 59 + br i1 %case.cmp189, label %sw.bb289, label %NodeBlock186 + +NodeBlock186: ; preds = %NodeBlock188 + %case.cmp187 = icmp eq i32 %conv82, 60 + br i1 %case.cmp187, label %sw.bb289, label %NodeBlock184 + +NodeBlock184: ; preds = %NodeBlock186 + %case.cmp185 = icmp eq i32 %conv82, 61 + br i1 %case.cmp185, label %sw.bb289, label %NodeBlock182 + +NodeBlock182: ; preds = %NodeBlock184 + %case.cmp183 = icmp eq i32 %conv82, 62 + br i1 %case.cmp183, label %sw.bb289, label %NodeBlock180 + +NodeBlock180: ; preds = %NodeBlock182 + %case.cmp181 = icmp eq i32 %conv82, 91 + br i1 %case.cmp181, label %sw.bb289, label %NodeBlock178 + +NodeBlock178: ; preds = %NodeBlock180 + %case.cmp179 = icmp eq i32 %conv82, 94 + br i1 %case.cmp179, label %sw.bb289, label %NodeBlock176 + +NodeBlock176: ; preds = %NodeBlock178 + %case.cmp177 = icmp eq i32 %conv82, 96 + br i1 %case.cmp177, label %sw.bb289, label %NodeBlock174 + +NodeBlock174: ; preds = %NodeBlock176 + %case.cmp175 = icmp eq i32 %conv82, 124 + br i1 %case.cmp175, label %sw.bb289, label %NodeBlock172 + +NodeBlock172: ; preds = %NodeBlock174 + %case.cmp173 = icmp eq i32 %conv82, 39 + br i1 %case.cmp173, label %sw.bb297, label %NodeBlock170 + +NodeBlock170: ; preds = %NodeBlock172 + %case.cmp171 = icmp eq i32 %conv82, 37 + br i1 %case.cmp171, label %sw.bb334, label %NodeBlock168 + +NodeBlock168: ; preds = %NodeBlock170 + %case.cmp169 = icmp eq i32 %conv82, 43 + br i1 %case.cmp169, label %sw.bb334, label %NodeBlock166 + +NodeBlock166: ; preds = %NodeBlock168 + %case.cmp167 = icmp eq i32 %conv82, 44 + br i1 %case.cmp167, label %sw.bb334, label %NodeBlock164 + +NodeBlock164: ; preds = %NodeBlock166 + %case.cmp165 = icmp eq i32 %conv82, 45 + br i1 %case.cmp165, label %sw.bb334, label %NodeBlock162 + +NodeBlock162: ; preds = %NodeBlock164 + %case.cmp163 = icmp eq i32 %conv82, 46 + br i1 %case.cmp163, label %sw.bb334, label %NodeBlock160 + +NodeBlock160: ; preds = %NodeBlock162 + %case.cmp161 = icmp eq i32 %conv82, 47 + br i1 %case.cmp161, label %sw.bb334, label %NodeBlock158 + +NodeBlock158: ; preds = %NodeBlock160 + %case.cmp159 = icmp eq i32 %conv82, 48 + br i1 %case.cmp159, label %sw.bb334, label %NodeBlock156 + +NodeBlock156: ; preds = %NodeBlock158 + %case.cmp157 = icmp eq i32 %conv82, 49 + br i1 %case.cmp157, label %sw.bb334, label %NodeBlock154 + +NodeBlock154: ; preds = %NodeBlock156 + %case.cmp155 = icmp eq i32 %conv82, 50 + br i1 %case.cmp155, label %sw.bb334, label %NodeBlock152 + +NodeBlock152: ; preds = %NodeBlock154 + %case.cmp153 = icmp eq i32 %conv82, 51 + br i1 %case.cmp153, label %sw.bb334, label %NodeBlock150 + +NodeBlock150: ; preds = %NodeBlock152 + %case.cmp151 = icmp eq i32 %conv82, 52 + br i1 %case.cmp151, label %sw.bb334, label %NodeBlock148 + +NodeBlock148: ; preds = %NodeBlock150 + %case.cmp149 = icmp eq i32 %conv82, 53 + br i1 %case.cmp149, label %sw.bb334, label %NodeBlock146 + +NodeBlock146: ; preds = %NodeBlock148 + %case.cmp147 = icmp eq i32 %conv82, 54 + br i1 %case.cmp147, label %sw.bb334, label %NodeBlock144 + +NodeBlock144: ; preds = %NodeBlock146 + %case.cmp145 = icmp eq i32 %conv82, 55 + br i1 %case.cmp145, label %sw.bb334, label %NodeBlock142 + +NodeBlock142: ; preds = %NodeBlock144 + %case.cmp143 = icmp eq i32 %conv82, 56 + br i1 %case.cmp143, label %sw.bb334, label %NodeBlock140 + +NodeBlock140: ; preds = %NodeBlock142 + %case.cmp141 = icmp eq i32 %conv82, 57 + br i1 %case.cmp141, label %sw.bb334, label %NodeBlock138 + +NodeBlock138: ; preds = %NodeBlock140 + %case.cmp139 = icmp eq i32 %conv82, 58 + br i1 %case.cmp139, label %sw.bb334, label %NodeBlock136 + +NodeBlock136: ; preds = %NodeBlock138 + %case.cmp137 = icmp eq i32 %conv82, 65 + br i1 %case.cmp137, label %sw.bb334, label %NodeBlock134 + +NodeBlock134: ; preds = %NodeBlock136 + %case.cmp135 = icmp eq i32 %conv82, 66 + br i1 %case.cmp135, label %sw.bb334, label %NodeBlock132 + +NodeBlock132: ; preds = %NodeBlock134 + %case.cmp133 = icmp eq i32 %conv82, 67 + br i1 %case.cmp133, label %sw.bb334, label %NodeBlock130 + +NodeBlock130: ; preds = %NodeBlock132 + %case.cmp131 = icmp eq i32 %conv82, 68 + br i1 %case.cmp131, label %sw.bb334, label %NodeBlock128 + +NodeBlock128: ; preds = %NodeBlock130 + %case.cmp129 = icmp eq i32 %conv82, 69 + br i1 %case.cmp129, label %sw.bb334, label %NodeBlock126 + +NodeBlock126: ; preds = %NodeBlock128 + %case.cmp127 = icmp eq i32 %conv82, 70 + br i1 %case.cmp127, label %sw.bb334, label %NodeBlock124 + +NodeBlock124: ; preds = %NodeBlock126 + %case.cmp125 = icmp eq i32 %conv82, 71 + br i1 %case.cmp125, label %sw.bb334, label %NodeBlock122 + +NodeBlock122: ; preds = %NodeBlock124 + %case.cmp123 = icmp eq i32 %conv82, 72 + br i1 %case.cmp123, label %sw.bb334, label %NodeBlock120 + +NodeBlock120: ; preds = %NodeBlock122 + %case.cmp121 = icmp eq i32 %conv82, 73 + br i1 %case.cmp121, label %sw.bb334, label %NodeBlock118 + +NodeBlock118: ; preds = %NodeBlock120 + %case.cmp119 = icmp eq i32 %conv82, 74 + br i1 %case.cmp119, label %sw.bb334, label %NodeBlock116 + +NodeBlock116: ; preds = %NodeBlock118 + %case.cmp117 = icmp eq i32 %conv82, 75 + br i1 %case.cmp117, label %sw.bb334, label %NodeBlock114 + +NodeBlock114: ; preds = %NodeBlock116 + %case.cmp115 = icmp eq i32 %conv82, 76 + br i1 %case.cmp115, label %sw.bb334, label %NodeBlock112 + +NodeBlock112: ; preds = %NodeBlock114 + %case.cmp113 = icmp eq i32 %conv82, 77 + br i1 %case.cmp113, label %sw.bb334, label %NodeBlock110 + +NodeBlock110: ; preds = %NodeBlock112 + %case.cmp111 = icmp eq i32 %conv82, 78 + br i1 %case.cmp111, label %sw.bb334, label %NodeBlock108 + +NodeBlock108: ; preds = %NodeBlock110 + %case.cmp109 = icmp eq i32 %conv82, 79 + br i1 %case.cmp109, label %sw.bb334, label %NodeBlock106 + +NodeBlock106: ; preds = %NodeBlock108 + %case.cmp107 = icmp eq i32 %conv82, 80 + br i1 %case.cmp107, label %sw.bb334, label %NodeBlock104 + +NodeBlock104: ; preds = %NodeBlock106 + %case.cmp105 = icmp eq i32 %conv82, 81 + br i1 %case.cmp105, label %sw.bb334, label %NodeBlock102 + +NodeBlock102: ; preds = %NodeBlock104 + %case.cmp103 = icmp eq i32 %conv82, 82 + br i1 %case.cmp103, label %sw.bb334, label %NodeBlock100 + +NodeBlock100: ; preds = %NodeBlock102 + %case.cmp101 = icmp eq i32 %conv82, 83 + br i1 %case.cmp101, label %sw.bb334, label %NodeBlock98 + +NodeBlock98: ; preds = %NodeBlock100 + %case.cmp99 = icmp eq i32 %conv82, 84 + br i1 %case.cmp99, label %sw.bb334, label %NodeBlock96 + +NodeBlock96: ; preds = %NodeBlock98 + %case.cmp97 = icmp eq i32 %conv82, 85 + br i1 %case.cmp97, label %sw.bb334, label %NodeBlock94 + +NodeBlock94: ; preds = %NodeBlock96 + %case.cmp95 = icmp eq i32 %conv82, 86 + br i1 %case.cmp95, label %sw.bb334, label %NodeBlock92 + +NodeBlock92: ; preds = %NodeBlock94 + %case.cmp93 = icmp eq i32 %conv82, 87 + br i1 %case.cmp93, label %sw.bb334, label %NodeBlock90 + +NodeBlock90: ; preds = %NodeBlock92 + %case.cmp91 = icmp eq i32 %conv82, 88 + br i1 %case.cmp91, label %sw.bb334, label %NodeBlock88 + +NodeBlock88: ; preds = %NodeBlock90 + %case.cmp89 = icmp eq i32 %conv82, 89 + br i1 %case.cmp89, label %sw.bb334, label %NodeBlock86 + +NodeBlock86: ; preds = %NodeBlock88 + %case.cmp87 = icmp eq i32 %conv82, 90 + br i1 %case.cmp87, label %sw.bb334, label %NodeBlock84 + +NodeBlock84: ; preds = %NodeBlock86 + %case.cmp85 = icmp eq i32 %conv82, 93 + br i1 %case.cmp85, label %sw.bb334, label %NodeBlock82 + +NodeBlock82: ; preds = %NodeBlock84 + %case.cmp83 = icmp eq i32 %conv82, 95 + br i1 %case.cmp83, label %sw.bb334, label %NodeBlock80 + +NodeBlock80: ; preds = %NodeBlock82 + %case.cmp81 = icmp eq i32 %conv82, 97 + br i1 %case.cmp81, label %sw.bb334, label %NodeBlock78 + +NodeBlock78: ; preds = %NodeBlock80 + %case.cmp79 = icmp eq i32 %conv82, 98 + br i1 %case.cmp79, label %sw.bb334, label %NodeBlock76 + +NodeBlock76: ; preds = %NodeBlock78 + %case.cmp77 = icmp eq i32 %conv82, 99 + br i1 %case.cmp77, label %sw.bb334, label %NodeBlock74 + +NodeBlock74: ; preds = %NodeBlock76 + %case.cmp75 = icmp eq i32 %conv82, 100 + br i1 %case.cmp75, label %sw.bb334, label %NodeBlock72 + +NodeBlock72: ; preds = %NodeBlock74 + %case.cmp73 = icmp eq i32 %conv82, 101 + br i1 %case.cmp73, label %sw.bb334, label %NodeBlock70 + +NodeBlock70: ; preds = %NodeBlock72 + %case.cmp71 = icmp eq i32 %conv82, 102 + br i1 %case.cmp71, label %sw.bb334, label %NodeBlock68 + +NodeBlock68: ; preds = %NodeBlock70 + %case.cmp69 = icmp eq i32 %conv82, 103 + br i1 %case.cmp69, label %sw.bb334, label %NodeBlock66 + +NodeBlock66: ; preds = %NodeBlock68 + %case.cmp67 = icmp eq i32 %conv82, 104 + br i1 %case.cmp67, label %sw.bb334, label %NodeBlock64 + +NodeBlock64: ; preds = %NodeBlock66 + %case.cmp65 = icmp eq i32 %conv82, 105 + br i1 %case.cmp65, label %sw.bb334, label %NodeBlock62 + +NodeBlock62: ; preds = %NodeBlock64 + %case.cmp63 = icmp eq i32 %conv82, 106 + br i1 %case.cmp63, label %sw.bb334, label %NodeBlock60 + +NodeBlock60: ; preds = %NodeBlock62 + %case.cmp61 = icmp eq i32 %conv82, 107 + br i1 %case.cmp61, label %sw.bb334, label %NodeBlock58 + +NodeBlock58: ; preds = %NodeBlock60 + %case.cmp59 = icmp eq i32 %conv82, 108 + br i1 %case.cmp59, label %sw.bb334, label %NodeBlock56 + +NodeBlock56: ; preds = %NodeBlock58 + %case.cmp57 = icmp eq i32 %conv82, 109 + br i1 %case.cmp57, label %sw.bb334, label %NodeBlock54 + +NodeBlock54: ; preds = %NodeBlock56 + %case.cmp55 = icmp eq i32 %conv82, 110 + br i1 %case.cmp55, label %sw.bb334, label %NodeBlock52 + +NodeBlock52: ; preds = %NodeBlock54 + %case.cmp53 = icmp eq i32 %conv82, 111 + br i1 %case.cmp53, label %sw.bb334, label %NodeBlock50 + +NodeBlock50: ; preds = %NodeBlock52 + %case.cmp51 = icmp eq i32 %conv82, 112 + br i1 %case.cmp51, label %sw.bb334, label %NodeBlock48 + +NodeBlock48: ; preds = %NodeBlock50 + %case.cmp49 = icmp eq i32 %conv82, 113 + br i1 %case.cmp49, label %sw.bb334, label %NodeBlock46 + +NodeBlock46: ; preds = %NodeBlock48 + %case.cmp47 = icmp eq i32 %conv82, 114 + br i1 %case.cmp47, label %sw.bb334, label %NodeBlock44 + +NodeBlock44: ; preds = %NodeBlock46 + %case.cmp45 = icmp eq i32 %conv82, 115 + br i1 %case.cmp45, label %sw.bb334, label %NodeBlock42 + +NodeBlock42: ; preds = %NodeBlock44 + %case.cmp43 = icmp eq i32 %conv82, 116 + br i1 %case.cmp43, label %sw.bb334, label %NodeBlock40 + +NodeBlock40: ; preds = %NodeBlock42 + %case.cmp41 = icmp eq i32 %conv82, 117 + br i1 %case.cmp41, label %sw.bb334, label %NodeBlock38 + +NodeBlock38: ; preds = %NodeBlock40 + %case.cmp39 = icmp eq i32 %conv82, 118 + br i1 %case.cmp39, label %sw.bb334, label %NodeBlock36 + +NodeBlock36: ; preds = %NodeBlock38 + %case.cmp37 = icmp eq i32 %conv82, 119 + br i1 %case.cmp37, label %sw.bb334, label %NodeBlock34 + +NodeBlock34: ; preds = %NodeBlock36 + %case.cmp35 = icmp eq i32 %conv82, 120 + br i1 %case.cmp35, label %sw.bb334, label %NodeBlock32 + +NodeBlock32: ; preds = %NodeBlock34 + %case.cmp33 = icmp eq i32 %conv82, 121 + br i1 %case.cmp33, label %sw.bb334, label %NodeBlock30 + +NodeBlock30: ; preds = %NodeBlock32 + %case.cmp31 = icmp eq i32 %conv82, 122 + br i1 %case.cmp31, label %sw.bb334, label %newDefault29 + +sw.bb83: ; preds = %NodeBlock232 + %56 = load i8, i8* %backslash_escapes, align 1 + %tobool84 = trunc i8 %56 to i1 + br i1 %tobool84, label %do.body86, label %if.else + +do.body86: ; preds = %sw.bb83 + %57 = load i8, i8* %elide_outer_quotes, align 1 + %tobool87 = trunc i8 %57 to i1 + br i1 %tobool87, label %force_outer_quoting_style, label %if.end89 + +if.end89: ; preds = %do.body86 + store i8 1, i8* %escaping, align 1 + %58 = load i32, i32* %quoting_style.addr, align 4 + %cmp90 = icmp eq i32 %58, 2 + br i1 %cmp90, label %land.lhs.true92, label %do.body120 + +land.lhs.true92: ; preds = %if.end89 + %59 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool93 = trunc i8 %59 to i1 + br i1 %tobool93, label %do.body120, label %do.body95 + +do.body95: ; preds = %land.lhs.true92 + %60 = load i64, i64* %len, align 8 + %61 = load i64, i64* %buffersize.addr, align 8 + %cmp96 = icmp ult i64 %60, %61 + br i1 %cmp96, label %if.then98, label %if.end100 + +if.then98: ; preds = %do.body95 + %62 = load i8*, i8** %buffer.addr, align 8 + %63 = load i64, i64* %len, align 8 + %arrayidx99 = getelementptr inbounds i8, i8* %62, i64 %63 + store i8 39, i8* %arrayidx99, align 1 + br label %if.end100 + +if.end100: ; preds = %if.then98, %do.body95 + %64 = load i64, i64* %len, align 8 + %inc101 = add i64 %64, 1 + store i64 %inc101, i64* %len, align 8 + %65 = load i64, i64* %len, align 8 + %66 = load i64, i64* %buffersize.addr, align 8 + %cmp104 = icmp ult i64 %65, %66 + br i1 %cmp104, label %if.then106, label %if.end108 + +if.then106: ; preds = %if.end100 + %67 = load i8*, i8** %buffer.addr, align 8 + %68 = load i64, i64* %len, align 8 + %arrayidx107 = getelementptr inbounds i8, i8* %67, i64 %68 + store i8 36, i8* %arrayidx107, align 1 + br label %if.end108 + +if.end108: ; preds = %if.then106, %if.end100 + %69 = load i64, i64* %len, align 8 + %inc109 = add i64 %69, 1 + store i64 %inc109, i64* %len, align 8 + %70 = load i64, i64* %len, align 8 + %71 = load i64, i64* %buffersize.addr, align 8 + %cmp112 = icmp ult i64 %70, %71 + br i1 %cmp112, label %if.then114, label %if.end116 + +if.then114: ; preds = %if.end108 + %72 = load i8*, i8** %buffer.addr, align 8 + %73 = load i64, i64* %len, align 8 + %arrayidx115 = getelementptr inbounds i8, i8* %72, i64 %73 + store i8 39, i8* %arrayidx115, align 1 + br label %if.end116 + +if.end116: ; preds = %if.then114, %if.end108 + %74 = load i64, i64* %len, align 8 + %inc117 = add i64 %74, 1 + store i64 %inc117, i64* %len, align 8 + store i8 1, i8* %pending_shell_escape_end, align 1 + br label %do.body120 + +do.body120: ; preds = %if.end89, %land.lhs.true92, %if.end116 + %75 = load i64, i64* %len, align 8 + %76 = load i64, i64* %buffersize.addr, align 8 + %cmp121 = icmp ult i64 %75, %76 + br i1 %cmp121, label %if.then123, label %if.end125 + +if.then123: ; preds = %do.body120 + %77 = load i8*, i8** %buffer.addr, align 8 + %78 = load i64, i64* %len, align 8 + %arrayidx124 = getelementptr inbounds i8, i8* %77, i64 %78 + store i8 92, i8* %arrayidx124, align 1 + br label %if.end125 + +if.end125: ; preds = %if.then123, %do.body120 + %79 = load i64, i64* %len, align 8 + %inc126 = add i64 %79, 1 + store i64 %inc126, i64* %len, align 8 + %80 = load i32, i32* %quoting_style.addr, align 4 + %cmp129 = icmp ne i32 %80, 2 + br i1 %cmp129, label %land.lhs.true131, label %if.end164 + +land.lhs.true131: ; preds = %if.end125 + %81 = load i64, i64* %i, align 8 + %add132 = add i64 %81, 1 + %82 = load i64, i64* %argsize.addr, align 8 + %cmp133 = icmp ult i64 %add132, %82 + br i1 %cmp133, label %land.lhs.true135, label %if.end164 + +land.lhs.true135: ; preds = %land.lhs.true131 + %83 = load i8*, i8** %arg.addr, align 8 + %84 = load i64, i64* %i, align 8 + %add136 = add i64 %84, 1 + %arrayidx137 = getelementptr inbounds i8, i8* %83, i64 %add136 + %85 = load i8, i8* %arrayidx137, align 1 + %conv138 = sext i8 %85 to i32 + %cmp139 = icmp sle i32 48, %conv138 + br i1 %cmp139, label %land.lhs.true141, label %if.end164 + +land.lhs.true141: ; preds = %land.lhs.true135 + %86 = load i8*, i8** %arg.addr, align 8 + %87 = load i64, i64* %i, align 8 + %add142 = add i64 %87, 1 + %arrayidx143 = getelementptr inbounds i8, i8* %86, i64 %add142 + %88 = load i8, i8* %arrayidx143, align 1 + %conv144 = sext i8 %88 to i32 + %cmp145 = icmp sle i32 %conv144, 57 + br i1 %cmp145, label %do.body148, label %if.end164 + +do.body148: ; preds = %land.lhs.true141 + %89 = load i64, i64* %len, align 8 + %90 = load i64, i64* %buffersize.addr, align 8 + %cmp149 = icmp ult i64 %89, %90 + br i1 %cmp149, label %if.then151, label %if.end153 + +if.then151: ; preds = %do.body148 + %91 = load i8*, i8** %buffer.addr, align 8 + %92 = load i64, i64* %len, align 8 + %arrayidx152 = getelementptr inbounds i8, i8* %91, i64 %92 + store i8 48, i8* %arrayidx152, align 1 + br label %if.end153 + +if.end153: ; preds = %if.then151, %do.body148 + %93 = load i64, i64* %len, align 8 + %inc154 = add i64 %93, 1 + store i64 %inc154, i64* %len, align 8 + %94 = load i64, i64* %len, align 8 + %95 = load i64, i64* %buffersize.addr, align 8 + %cmp157 = icmp ult i64 %94, %95 + br i1 %cmp157, label %if.then159, label %if.end161 + +if.then159: ; preds = %if.end153 + %96 = load i8*, i8** %buffer.addr, align 8 + %97 = load i64, i64* %len, align 8 + %arrayidx160 = getelementptr inbounds i8, i8* %96, i64 %97 + store i8 48, i8* %arrayidx160, align 1 + br label %if.end161 + +if.end161: ; preds = %if.then159, %if.end153 + %98 = load i64, i64* %len, align 8 + %inc162 = add i64 %98, 1 + store i64 %inc162, i64* %len, align 8 + br label %if.end164 + +if.end164: ; preds = %if.end161, %land.lhs.true141, %land.lhs.true135, %land.lhs.true131, %if.end125 + store i8 48, i8* %c, align 1 + br label %sw.epilog564 + +if.else: ; preds = %sw.bb83 + %99 = load i32, i32* %flags.addr, align 4 + %and165 = and i32 %99, 1 + %tobool166 = icmp ne i32 %and165, 0 + br i1 %tobool166, label %for.inc673, label %sw.epilog564 + +sw.bb170: ; preds = %NodeBlock230 + %100 = load i32, i32* %quoting_style.addr, align 4 + br label %NodeBlock237 + +NodeBlock237: ; preds = %sw.bb170 + %case.cmp238 = icmp eq i32 %100, 2 + br i1 %case.cmp238, label %sw.bb171, label %NodeBlock235 + +NodeBlock235: ; preds = %NodeBlock237 + %case.cmp236 = icmp eq i32 %100, 5 + br i1 %case.cmp236, label %sw.bb175, label %newDefault234 + +sw.bb171: ; preds = %NodeBlock237 + %101 = load i8, i8* %elide_outer_quotes, align 1 + %tobool172 = trunc i8 %101 to i1 + br i1 %tobool172, label %force_outer_quoting_style, label %sw.epilog564 + +sw.bb175: ; preds = %NodeBlock235 + %102 = load i32, i32* %flags.addr, align 4 + %and176 = and i32 %102, 4 + %tobool177 = icmp ne i32 %and176, 0 + br i1 %tobool177, label %land.lhs.true178, label %sw.epilog564 + +land.lhs.true178: ; preds = %sw.bb175 + %103 = load i64, i64* %i, align 8 + %add179 = add i64 %103, 2 + %104 = load i64, i64* %argsize.addr, align 8 + %cmp180 = icmp ult i64 %add179, %104 + br i1 %cmp180, label %land.lhs.true182, label %sw.epilog564 + +land.lhs.true182: ; preds = %land.lhs.true178 + %105 = load i8*, i8** %arg.addr, align 8 + %106 = load i64, i64* %i, align 8 + %add183 = add i64 %106, 1 + %arrayidx184 = getelementptr inbounds i8, i8* %105, i64 %add183 + %107 = load i8, i8* %arrayidx184, align 1 + %conv185 = sext i8 %107 to i32 + %cmp186 = icmp eq i32 %conv185, 63 + br i1 %cmp186, label %if.then188, label %sw.epilog564 + +if.then188: ; preds = %land.lhs.true182 + %108 = load i8*, i8** %arg.addr, align 8 + %109 = load i64, i64* %i, align 8 + %add189 = add i64 %109, 2 + %arrayidx190 = getelementptr inbounds i8, i8* %108, i64 %add189 + %110 = load i8, i8* %arrayidx190, align 1 + %conv191 = sext i8 %110 to i32 + br label %NodeBlock256 + +NodeBlock256: ; preds = %if.then188 + %case.cmp257 = icmp eq i32 %conv191, 33 + br i1 %case.cmp257, label %sw.bb192, label %NodeBlock254 + +NodeBlock254: ; preds = %NodeBlock256 + %case.cmp255 = icmp eq i32 %conv191, 39 + br i1 %case.cmp255, label %sw.bb192, label %NodeBlock252 + +NodeBlock252: ; preds = %NodeBlock254 + %case.cmp253 = icmp eq i32 %conv191, 40 + br i1 %case.cmp253, label %sw.bb192, label %NodeBlock250 + +NodeBlock250: ; preds = %NodeBlock252 + %case.cmp251 = icmp eq i32 %conv191, 41 + br i1 %case.cmp251, label %sw.bb192, label %NodeBlock248 + +NodeBlock248: ; preds = %NodeBlock250 + %case.cmp249 = icmp eq i32 %conv191, 45 + br i1 %case.cmp249, label %sw.bb192, label %NodeBlock246 + +NodeBlock246: ; preds = %NodeBlock248 + %case.cmp247 = icmp eq i32 %conv191, 47 + br i1 %case.cmp247, label %sw.bb192, label %NodeBlock244 + +NodeBlock244: ; preds = %NodeBlock246 + %case.cmp245 = icmp eq i32 %conv191, 60 + br i1 %case.cmp245, label %sw.bb192, label %NodeBlock242 + +NodeBlock242: ; preds = %NodeBlock244 + %case.cmp243 = icmp eq i32 %conv191, 61 + br i1 %case.cmp243, label %sw.bb192, label %NodeBlock240 + +NodeBlock240: ; preds = %NodeBlock242 + %case.cmp241 = icmp eq i32 %conv191, 62 + br i1 %case.cmp241, label %sw.bb192, label %newDefault239 + +sw.bb192: ; preds = %NodeBlock256, %NodeBlock254, %NodeBlock252, %NodeBlock250, %NodeBlock248, %NodeBlock246, %NodeBlock244, %NodeBlock242, %NodeBlock240 + %111 = load i8, i8* %elide_outer_quotes, align 1 + %tobool193 = trunc i8 %111 to i1 + br i1 %tobool193, label %force_outer_quoting_style, label %if.end195 + +if.end195: ; preds = %sw.bb192 + %112 = load i8*, i8** %arg.addr, align 8 + %113 = load i64, i64* %i, align 8 + %add196 = add i64 %113, 2 + %arrayidx197 = getelementptr inbounds i8, i8* %112, i64 %add196 + %114 = load i8, i8* %arrayidx197, align 1 + store i8 %114, i8* %c, align 1 + %115 = load i64, i64* %i, align 8 + %add198 = add i64 %115, 2 + store i64 %add198, i64* %i, align 8 + %116 = load i64, i64* %len, align 8 + %117 = load i64, i64* %buffersize.addr, align 8 + %cmp200 = icmp ult i64 %116, %117 + br i1 %cmp200, label %if.then202, label %if.end204 + +if.then202: ; preds = %if.end195 + %118 = load i8*, i8** %buffer.addr, align 8 + %119 = load i64, i64* %len, align 8 + %arrayidx203 = getelementptr inbounds i8, i8* %118, i64 %119 + store i8 63, i8* %arrayidx203, align 1 + br label %if.end204 + +if.end204: ; preds = %if.then202, %if.end195 + %120 = load i64, i64* %len, align 8 + %inc205 = add i64 %120, 1 + store i64 %inc205, i64* %len, align 8 + %121 = load i64, i64* %len, align 8 + %122 = load i64, i64* %buffersize.addr, align 8 + %cmp208 = icmp ult i64 %121, %122 + br i1 %cmp208, label %if.then210, label %if.end212 + +if.then210: ; preds = %if.end204 + %123 = load i8*, i8** %buffer.addr, align 8 + %124 = load i64, i64* %len, align 8 + %arrayidx211 = getelementptr inbounds i8, i8* %123, i64 %124 + store i8 34, i8* %arrayidx211, align 1 + br label %if.end212 + +if.end212: ; preds = %if.then210, %if.end204 + %125 = load i64, i64* %len, align 8 + %inc213 = add i64 %125, 1 + store i64 %inc213, i64* %len, align 8 + %126 = load i64, i64* %len, align 8 + %127 = load i64, i64* %buffersize.addr, align 8 + %cmp216 = icmp ult i64 %126, %127 + br i1 %cmp216, label %if.then218, label %if.end220 + +if.then218: ; preds = %if.end212 + %128 = load i8*, i8** %buffer.addr, align 8 + %129 = load i64, i64* %len, align 8 + %arrayidx219 = getelementptr inbounds i8, i8* %128, i64 %129 + store i8 34, i8* %arrayidx219, align 1 + br label %if.end220 + +if.end220: ; preds = %if.then218, %if.end212 + %130 = load i64, i64* %len, align 8 + %inc221 = add i64 %130, 1 + store i64 %inc221, i64* %len, align 8 + %131 = load i64, i64* %len, align 8 + %132 = load i64, i64* %buffersize.addr, align 8 + %cmp224 = icmp ult i64 %131, %132 + br i1 %cmp224, label %if.then226, label %if.end228 + +if.then226: ; preds = %if.end220 + %133 = load i8*, i8** %buffer.addr, align 8 + %134 = load i64, i64* %len, align 8 + %arrayidx227 = getelementptr inbounds i8, i8* %133, i64 %134 + store i8 63, i8* %arrayidx227, align 1 + br label %if.end228 + +if.end228: ; preds = %if.then226, %if.end220 + %135 = load i64, i64* %len, align 8 + %inc229 = add i64 %135, 1 + store i64 %inc229, i64* %len, align 8 + br label %sw.epilog564 + +sw.bb236: ; preds = %NodeBlock228 + store i8 97, i8* %esc, align 1 + br label %c_escape + +sw.bb237: ; preds = %NodeBlock226 + store i8 98, i8* %esc, align 1 + br label %c_escape + +sw.bb238: ; preds = %NodeBlock224 + store i8 102, i8* %esc, align 1 + br label %c_escape + +sw.bb239: ; preds = %NodeBlock222 + store i8 110, i8* %esc, align 1 + br label %c_and_shell_escape + +sw.bb240: ; preds = %NodeBlock220 + store i8 114, i8* %esc, align 1 + br label %c_and_shell_escape + +sw.bb241: ; preds = %NodeBlock218 + store i8 116, i8* %esc, align 1 + br label %c_and_shell_escape + +sw.bb242: ; preds = %NodeBlock216 + store i8 118, i8* %esc, align 1 + br label %c_escape + +sw.bb243: ; preds = %NodeBlock214 + %136 = load i8, i8* %c, align 1 + store i8 %136, i8* %esc, align 1 + %137 = load i32, i32* %quoting_style.addr, align 4 + %cmp244 = icmp eq i32 %137, 2 + br i1 %cmp244, label %if.then246, label %if.end250 + +if.then246: ; preds = %sw.bb243 + %138 = load i8, i8* %elide_outer_quotes, align 1 + %tobool247 = trunc i8 %138 to i1 + br i1 %tobool247, label %force_outer_quoting_style, label %do.body634 + +if.end250: ; preds = %sw.bb243 + %139 = load i8, i8* %backslash_escapes, align 1 + %tobool251 = trunc i8 %139 to i1 + br i1 %tobool251, label %land.lhs.true253, label %c_and_shell_escape + +land.lhs.true253: ; preds = %if.end250 + %140 = load i8, i8* %elide_outer_quotes, align 1 + %tobool254 = trunc i8 %140 to i1 + %141 = load i64, i64* %quote_string_len, align 8 + %tobool257 = icmp ne i64 %141, 0 + %or.cond3 = and i1 %tobool254, %tobool257 + br i1 %or.cond3, label %do.body634, label %c_and_shell_escape + +c_and_shell_escape: ; preds = %if.end250, %land.lhs.true253, %sw.bb241, %sw.bb240, %sw.bb239 + %142 = load i32, i32* %quoting_style.addr, align 4 + %cmp260 = icmp eq i32 %142, 2 + br i1 %cmp260, label %land.lhs.true262, label %c_escape + +land.lhs.true262: ; preds = %c_and_shell_escape + %143 = load i8, i8* %elide_outer_quotes, align 1 + %tobool263 = trunc i8 %143 to i1 + br i1 %tobool263, label %force_outer_quoting_style, label %c_escape + +c_escape: ; preds = %c_and_shell_escape, %land.lhs.true262, %sw.bb242, %sw.bb238, %sw.bb237, %sw.bb236 + %144 = load i8, i8* %backslash_escapes, align 1 + %tobool267 = trunc i8 %144 to i1 + br i1 %tobool267, label %if.then268, label %sw.epilog564 + +if.then268: ; preds = %c_escape + %145 = load i8, i8* %esc, align 1 + store i8 %145, i8* %c, align 1 + br label %do.body586 + +sw.bb270: ; preds = %NodeBlock212, %NodeBlock210 + %146 = load i64, i64* %argsize.addr, align 8 + %cmp271 = icmp eq i64 %146, -1 + br i1 %cmp271, label %cond.true273, label %cond.false278 + +cond.true273: ; preds = %sw.bb270 + %147 = load i8*, i8** %arg.addr, align 8 + %arrayidx274 = getelementptr inbounds i8, i8* %147, i64 1 + %148 = load i8, i8* %arrayidx274, align 1 + %conv275 = sext i8 %148 to i32 + %cmp276 = icmp eq i32 %conv275, 0 + br i1 %cmp276, label %sw.bb283, label %sw.epilog564 + +cond.false278: ; preds = %sw.bb270 + %149 = load i64, i64* %argsize.addr, align 8 + %cmp279 = icmp eq i64 %149, 1 + br i1 %cmp279, label %sw.bb283, label %sw.epilog564 + +sw.bb283: ; preds = %NodeBlock208, %NodeBlock206, %cond.true273, %cond.false278 + %150 = load i64, i64* %i, align 8 + %cmp284 = icmp ne i64 %150, 0 + br i1 %cmp284, label %sw.epilog564, label %sw.bb288 + +sw.bb288: ; preds = %NodeBlock204, %sw.bb283 + store i8 1, i8* %c_and_shell_quote_compat, align 1 + br label %sw.bb289 + +sw.bb289: ; preds = %NodeBlock202, %NodeBlock200, %NodeBlock198, %NodeBlock196, %NodeBlock194, %NodeBlock192, %NodeBlock190, %NodeBlock188, %NodeBlock186, %NodeBlock184, %NodeBlock182, %NodeBlock180, %NodeBlock178, %NodeBlock176, %NodeBlock174, %sw.bb288 + %151 = load i32, i32* %quoting_style.addr, align 4 + %cmp290 = icmp eq i32 %151, 2 + br i1 %cmp290, label %land.lhs.true292, label %sw.epilog564 + +land.lhs.true292: ; preds = %sw.bb289 + %152 = load i8, i8* %elide_outer_quotes, align 1 + %tobool293 = trunc i8 %152 to i1 + br i1 %tobool293, label %force_outer_quoting_style, label %sw.epilog564 + +sw.bb297: ; preds = %NodeBlock172 + store i8 1, i8* %encountered_single_quote, align 1 + store i8 1, i8* %c_and_shell_quote_compat, align 1 + %153 = load i32, i32* %quoting_style.addr, align 4 + %cmp298 = icmp eq i32 %153, 2 + br i1 %cmp298, label %if.then300, label %sw.epilog564 + +if.then300: ; preds = %sw.bb297 + %154 = load i8, i8* %elide_outer_quotes, align 1 + %tobool301 = trunc i8 %154 to i1 + br i1 %tobool301, label %force_outer_quoting_style, label %if.end303 + +if.end303: ; preds = %if.then300 + %155 = load i64, i64* %buffersize.addr, align 8 + %tobool304 = icmp eq i64 %155, 0 + %156 = load i64, i64* %orig_buffersize, align 8 + %tobool306 = icmp ne i64 %156, 0 + %or.cond4 = or i1 %tobool304, %tobool306 + br i1 %or.cond4, label %do.body309, label %if.then307 + +if.then307: ; preds = %if.end303 + %157 = load i64, i64* %buffersize.addr, align 8 + store i64 %157, i64* %orig_buffersize, align 8 + store i64 0, i64* %buffersize.addr, align 8 + br label %do.body309 + +do.body309: ; preds = %if.then307, %if.end303 + %158 = load i64, i64* %len, align 8 + %159 = load i64, i64* %buffersize.addr, align 8 + %cmp310 = icmp ult i64 %158, %159 + br i1 %cmp310, label %if.then312, label %if.end314 + +if.then312: ; preds = %do.body309 + %160 = load i8*, i8** %buffer.addr, align 8 + %161 = load i64, i64* %len, align 8 + %arrayidx313 = getelementptr inbounds i8, i8* %160, i64 %161 + store i8 39, i8* %arrayidx313, align 1 + br label %if.end314 + +if.end314: ; preds = %if.then312, %do.body309 + %162 = load i64, i64* %len, align 8 + %inc315 = add i64 %162, 1 + store i64 %inc315, i64* %len, align 8 + %163 = load i64, i64* %len, align 8 + %164 = load i64, i64* %buffersize.addr, align 8 + %cmp318 = icmp ult i64 %163, %164 + br i1 %cmp318, label %if.then320, label %if.end322 + +if.then320: ; preds = %if.end314 + %165 = load i8*, i8** %buffer.addr, align 8 + %166 = load i64, i64* %len, align 8 + %arrayidx321 = getelementptr inbounds i8, i8* %165, i64 %166 + store i8 92, i8* %arrayidx321, align 1 + br label %if.end322 + +if.end322: ; preds = %if.then320, %if.end314 + %167 = load i64, i64* %len, align 8 + %inc323 = add i64 %167, 1 + store i64 %inc323, i64* %len, align 8 + %168 = load i64, i64* %len, align 8 + %169 = load i64, i64* %buffersize.addr, align 8 + %cmp326 = icmp ult i64 %168, %169 + br i1 %cmp326, label %if.then328, label %if.end330 + +if.then328: ; preds = %if.end322 + %170 = load i8*, i8** %buffer.addr, align 8 + %171 = load i64, i64* %len, align 8 + %arrayidx329 = getelementptr inbounds i8, i8* %170, i64 %171 + store i8 39, i8* %arrayidx329, align 1 + br label %if.end330 + +if.end330: ; preds = %if.then328, %if.end322 + %172 = load i64, i64* %len, align 8 + %inc331 = add i64 %172, 1 + store i64 %inc331, i64* %len, align 8 + store i8 0, i8* %pending_shell_escape_end, align 1 + br label %sw.epilog564 + +sw.bb334: ; preds = %NodeBlock170, %NodeBlock168, %NodeBlock166, %NodeBlock164, %NodeBlock162, %NodeBlock160, %NodeBlock158, %NodeBlock156, %NodeBlock154, %NodeBlock152, %NodeBlock150, %NodeBlock148, %NodeBlock146, %NodeBlock144, %NodeBlock142, %NodeBlock140, %NodeBlock138, %NodeBlock136, %NodeBlock134, %NodeBlock132, %NodeBlock130, %NodeBlock128, %NodeBlock126, %NodeBlock124, %NodeBlock122, %NodeBlock120, %NodeBlock118, %NodeBlock116, %NodeBlock114, %NodeBlock112, %NodeBlock110, %NodeBlock108, %NodeBlock106, %NodeBlock104, %NodeBlock102, %NodeBlock100, %NodeBlock98, %NodeBlock96, %NodeBlock94, %NodeBlock92, %NodeBlock90, %NodeBlock88, %NodeBlock86, %NodeBlock84, %NodeBlock82, %NodeBlock80, %NodeBlock78, %NodeBlock76, %NodeBlock74, %NodeBlock72, %NodeBlock70, %NodeBlock68, %NodeBlock66, %NodeBlock64, %NodeBlock62, %NodeBlock60, %NodeBlock58, %NodeBlock56, %NodeBlock54, %NodeBlock52, %NodeBlock50, %NodeBlock48, %NodeBlock46, %NodeBlock44, %NodeBlock42, %NodeBlock40, %NodeBlock38, %NodeBlock36, %NodeBlock34, %NodeBlock32, %NodeBlock30 + store i8 1, i8* %c_and_shell_quote_compat, align 1 + br label %sw.epilog564 + +newDefault29: ; preds = %NodeBlock30 + br label %sw.default335 + +sw.default335: ; preds = %newDefault29 + %173 = load i8, i8* %unibyte_locale, align 1 + %tobool336 = trunc i8 %173 to i1 + br i1 %tobool336, label %if.then337, label %if.else346 + +if.then337: ; preds = %sw.default335 + store i64 1, i64* %m, align 8 + %call338 = call i16** @__ctype_b_loc() #25 + %174 = load i16*, i16** %call338, align 8 + %175 = load i8, i8* %c, align 1 + %conv339 = zext i8 %175 to i32 + %idxprom = sext i32 %conv339 to i64 + %arrayidx340 = getelementptr inbounds i16, i16* %174, i64 %idxprom + %176 = load i16, i16* %arrayidx340, align 2 + %conv341 = zext i16 %176 to i32 + %and342 = and i32 %conv341, 16384 + %cmp343 = icmp ne i32 %and342, 0 + %frombool345 = zext i1 %cmp343 to i8 + store i8 %frombool345, i8* %printable, align 1 + br label %if.end410 + +if.else346: ; preds = %sw.default335 + %177 = bitcast %struct.__mbstate_t* %mbstate to i8* + %178 = call i8* @memset(i8* %177, i32 0, i64 8) + store i64 0, i64* %m, align 8 + store i8 1, i8* %printable, align 1 + %179 = load i64, i64* %argsize.addr, align 8 + %cmp347 = icmp eq i64 %179, -1 + br i1 %cmp347, label %if.then349, label %if.end351 + +if.then349: ; preds = %if.else346 + %180 = load i8*, i8** %arg.addr, align 8 + %call350 = call i64 @strlen(i8* %180) #23 + store i64 %call350, i64* %argsize.addr, align 8 + br label %if.end351 + +if.end351: ; preds = %if.then349, %if.else346 + br label %do.body352 + +do.body352: ; preds = %if.end401, %if.end351 + %181 = load i8*, i8** %arg.addr, align 8 + %182 = load i64, i64* %i, align 8 + %183 = load i64, i64* %m, align 8 + %add353 = add i64 %182, %183 + %arrayidx354 = getelementptr inbounds i8, i8* %181, i64 %add353 + %184 = load i64, i64* %argsize.addr, align 8 + %185 = load i64, i64* %i, align 8 + %186 = load i64, i64* %m, align 8 + %add355 = add i64 %185, %186 + %sub = sub i64 %184, %add355 + %call356 = call i64 @rpl_mbrtowc(i32* %w, i8* %arrayidx354, i64 %sub, %struct.__mbstate_t* %mbstate) + store i64 %call356, i64* %bytes, align 8 + %187 = load i64, i64* %bytes, align 8 + %cmp357 = icmp eq i64 %187, 0 + br i1 %cmp357, label %if.end410, label %if.else360 + +if.else360: ; preds = %do.body352 + %188 = load i64, i64* %bytes, align 8 + %cmp361 = icmp eq i64 %188, -1 + br i1 %cmp361, label %if.then363, label %if.else364 + +if.then363: ; preds = %if.else360 + store i8 0, i8* %printable, align 1 + br label %if.end410 + +if.else364: ; preds = %if.else360 + %189 = load i64, i64* %bytes, align 8 + %cmp365 = icmp eq i64 %189, -2 + br i1 %cmp365, label %if.then367, label %if.else376 + +if.then367: ; preds = %if.else364 + store i8 0, i8* %printable, align 1 + br label %while.cond + +while.cond: ; preds = %while.body, %if.then367 + %190 = load i64, i64* %i, align 8 + %191 = load i64, i64* %m, align 8 + %add368 = add i64 %190, %191 + %192 = load i64, i64* %argsize.addr, align 8 + %cmp369 = icmp ult i64 %add368, %192 + br i1 %cmp369, label %land.rhs, label %if.end410 + +land.rhs: ; preds = %while.cond + %193 = load i8*, i8** %arg.addr, align 8 + %194 = load i64, i64* %i, align 8 + %195 = load i64, i64* %m, align 8 + %add371 = add i64 %194, %195 + %arrayidx372 = getelementptr inbounds i8, i8* %193, i64 %add371 + %196 = load i8, i8* %arrayidx372, align 1 + %conv373 = sext i8 %196 to i32 + %tobool374 = icmp ne i32 %conv373, 0 + br i1 %tobool374, label %while.body, label %if.end410 + +while.body: ; preds = %land.rhs + %197 = load i64, i64* %m, align 8 + %inc375 = add i64 %197, 1 + store i64 %inc375, i64* %m, align 8 + br label %while.cond + +if.else376: ; preds = %if.else364 + %198 = load i8, i8* %elide_outer_quotes, align 1 + %tobool377 = trunc i8 %198 to i1 + %199 = load i32, i32* %quoting_style.addr, align 4 + %cmp380 = icmp eq i32 %199, 2 + %or.cond5 = and i1 %tobool377, %cmp380 + br i1 %or.cond5, label %if.then382, label %if.end397 + +if.then382: ; preds = %if.else376 + store i64 1, i64* %j, align 8 + br label %for.cond383 + +for.cond383: ; preds = %for.inc394, %if.then382 + %200 = load i64, i64* %j, align 8 + %201 = load i64, i64* %bytes, align 8 + %cmp384 = icmp ult i64 %200, %201 + br i1 %cmp384, label %for.body386, label %if.end397 + +for.body386: ; preds = %for.cond383 + %202 = load i8*, i8** %arg.addr, align 8 + %203 = load i64, i64* %i, align 8 + %204 = load i64, i64* %m, align 8 + %add387 = add i64 %203, %204 + %205 = load i64, i64* %j, align 8 + %add388 = add i64 %add387, %205 + %arrayidx389 = getelementptr inbounds i8, i8* %202, i64 %add388 + %206 = load i8, i8* %arrayidx389, align 1 + %conv390 = sext i8 %206 to i32 + br label %NodeBlock267 + +NodeBlock267: ; preds = %for.body386 + %case.cmp268 = icmp eq i32 %conv390, 91 + br i1 %case.cmp268, label %force_outer_quoting_style, label %NodeBlock265 + +NodeBlock265: ; preds = %NodeBlock267 + %case.cmp266 = icmp eq i32 %conv390, 92 + br i1 %case.cmp266, label %force_outer_quoting_style, label %NodeBlock263 + +NodeBlock263: ; preds = %NodeBlock265 + %case.cmp264 = icmp eq i32 %conv390, 94 + br i1 %case.cmp264, label %force_outer_quoting_style, label %NodeBlock261 + +NodeBlock261: ; preds = %NodeBlock263 + %case.cmp262 = icmp eq i32 %conv390, 96 + br i1 %case.cmp262, label %force_outer_quoting_style, label %NodeBlock259 + +NodeBlock259: ; preds = %NodeBlock261 + %case.cmp260 = icmp eq i32 %conv390, 124 + br i1 %case.cmp260, label %force_outer_quoting_style, label %newDefault258 + +newDefault258: ; preds = %NodeBlock259 + br label %for.inc394 + +for.inc394: ; preds = %newDefault258 + %207 = load i64, i64* %j, align 8 + %inc395 = add i64 %207, 1 + store i64 %inc395, i64* %j, align 8 + br label %for.cond383 + +if.end397: ; preds = %for.cond383, %if.else376 + %208 = load i32, i32* %w, align 4 + %call398 = call i32 @iswprint(i32 %208) #11 + %tobool399 = icmp ne i32 %call398, 0 + br i1 %tobool399, label %if.end401, label %if.then400 + +if.then400: ; preds = %if.end397 + store i8 0, i8* %printable, align 1 + br label %if.end401 + +if.end401: ; preds = %if.then400, %if.end397 + %209 = load i64, i64* %bytes, align 8 + %210 = load i64, i64* %m, align 8 + %add402 = add i64 %210, %209 + store i64 %add402, i64* %m, align 8 + %call406 = call i32 bitcast (i32 (%struct.__mbstate_t.514*)* @mbsinit to i32 (%struct.__mbstate_t*)*)(%struct.__mbstate_t* %mbstate) #23 + %tobool407 = icmp ne i32 %call406, 0 + %lnot408 = xor i1 %tobool407, true + br i1 %lnot408, label %do.body352, label %if.end410 + +if.end410: ; preds = %if.then363, %if.end401, %do.body352, %while.cond, %land.rhs, %if.then337 + %211 = load i8, i8* %printable, align 1 + %tobool411 = trunc i8 %211 to i1 + %frombool412 = zext i1 %tobool411 to i8 + store i8 %frombool412, i8* %c_and_shell_quote_compat, align 1 + %212 = load i64, i64* %m, align 8 + %cmp413 = icmp ult i64 1, %212 + br i1 %cmp413, label %if.then419, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end410 + %213 = load i8, i8* %backslash_escapes, align 1 + %tobool415 = trunc i8 %213 to i1 + br i1 %tobool415, label %land.lhs.true417, label %sw.epilog564 + +land.lhs.true417: ; preds = %lor.lhs.false + %214 = load i8, i8* %printable, align 1 + %tobool418 = trunc i8 %214 to i1 + br i1 %tobool418, label %sw.epilog564, label %if.then419 + +if.then419: ; preds = %land.lhs.true417, %if.end410 + %215 = load i64, i64* %i, align 8 + %216 = load i64, i64* %m, align 8 + %add420 = add i64 %215, %216 + store i64 %add420, i64* %ilim, align 8 + br label %for.cond421 + +for.cond421: ; preds = %if.end556, %if.then419 + %217 = load i8, i8* %backslash_escapes, align 1 + %tobool422 = trunc i8 %217 to i1 + br i1 %tobool422, label %land.lhs.true424, label %if.else505 + +land.lhs.true424: ; preds = %for.cond421 + %218 = load i8, i8* %printable, align 1 + %tobool425 = trunc i8 %218 to i1 + br i1 %tobool425, label %if.else505, label %do.body427 + +do.body427: ; preds = %land.lhs.true424 + %219 = load i8, i8* %elide_outer_quotes, align 1 + %tobool428 = trunc i8 %219 to i1 + br i1 %tobool428, label %force_outer_quoting_style, label %if.end430 + +if.end430: ; preds = %do.body427 + store i8 1, i8* %escaping, align 1 + %220 = load i32, i32* %quoting_style.addr, align 4 + %cmp431 = icmp eq i32 %220, 2 + br i1 %cmp431, label %land.lhs.true433, label %do.body464 + +land.lhs.true433: ; preds = %if.end430 + %221 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool434 = trunc i8 %221 to i1 + br i1 %tobool434, label %do.body464, label %do.body436 + +do.body436: ; preds = %land.lhs.true433 + %222 = load i64, i64* %len, align 8 + %223 = load i64, i64* %buffersize.addr, align 8 + %cmp437 = icmp ult i64 %222, %223 + br i1 %cmp437, label %if.then439, label %if.end441 + +if.then439: ; preds = %do.body436 + %224 = load i8*, i8** %buffer.addr, align 8 + %225 = load i64, i64* %len, align 8 + %arrayidx440 = getelementptr inbounds i8, i8* %224, i64 %225 + store i8 39, i8* %arrayidx440, align 1 + br label %if.end441 + +if.end441: ; preds = %if.then439, %do.body436 + %226 = load i64, i64* %len, align 8 + %inc442 = add i64 %226, 1 + store i64 %inc442, i64* %len, align 8 + %227 = load i64, i64* %len, align 8 + %228 = load i64, i64* %buffersize.addr, align 8 + %cmp446 = icmp ult i64 %227, %228 + br i1 %cmp446, label %if.then448, label %if.end450 + +if.then448: ; preds = %if.end441 + %229 = load i8*, i8** %buffer.addr, align 8 + %230 = load i64, i64* %len, align 8 + %arrayidx449 = getelementptr inbounds i8, i8* %229, i64 %230 + store i8 36, i8* %arrayidx449, align 1 + br label %if.end450 + +if.end450: ; preds = %if.then448, %if.end441 + %231 = load i64, i64* %len, align 8 + %inc451 = add i64 %231, 1 + store i64 %inc451, i64* %len, align 8 + %232 = load i64, i64* %len, align 8 + %233 = load i64, i64* %buffersize.addr, align 8 + %cmp455 = icmp ult i64 %232, %233 + br i1 %cmp455, label %if.then457, label %if.end459 + +if.then457: ; preds = %if.end450 + %234 = load i8*, i8** %buffer.addr, align 8 + %235 = load i64, i64* %len, align 8 + %arrayidx458 = getelementptr inbounds i8, i8* %234, i64 %235 + store i8 39, i8* %arrayidx458, align 1 + br label %if.end459 + +if.end459: ; preds = %if.then457, %if.end450 + %236 = load i64, i64* %len, align 8 + %inc460 = add i64 %236, 1 + store i64 %inc460, i64* %len, align 8 + store i8 1, i8* %pending_shell_escape_end, align 1 + br label %do.body464 + +do.body464: ; preds = %if.end430, %land.lhs.true433, %if.end459 + %237 = load i64, i64* %len, align 8 + %238 = load i64, i64* %buffersize.addr, align 8 + %cmp465 = icmp ult i64 %237, %238 + br i1 %cmp465, label %if.then467, label %if.end469 + +if.then467: ; preds = %do.body464 + %239 = load i8*, i8** %buffer.addr, align 8 + %240 = load i64, i64* %len, align 8 + %arrayidx468 = getelementptr inbounds i8, i8* %239, i64 %240 + store i8 92, i8* %arrayidx468, align 1 + br label %if.end469 + +if.end469: ; preds = %if.then467, %do.body464 + %241 = load i64, i64* %len, align 8 + %inc470 = add i64 %241, 1 + store i64 %inc470, i64* %len, align 8 + %242 = load i64, i64* %len, align 8 + %243 = load i64, i64* %buffersize.addr, align 8 + %cmp476 = icmp ult i64 %242, %243 + br i1 %cmp476, label %if.then478, label %if.end483 + +if.then478: ; preds = %if.end469 + %244 = load i8, i8* %c, align 1 + %conv479 = zext i8 %244 to i32 + %shr = ashr i32 %conv479, 6 + %add480 = add nsw i32 48, %shr + %conv481 = trunc i32 %add480 to i8 + %245 = load i8*, i8** %buffer.addr, align 8 + %246 = load i64, i64* %len, align 8 + %arrayidx482 = getelementptr inbounds i8, i8* %245, i64 %246 + store i8 %conv481, i8* %arrayidx482, align 1 + br label %if.end483 + +if.end483: ; preds = %if.then478, %if.end469 + %247 = load i64, i64* %len, align 8 + %inc484 = add i64 %247, 1 + store i64 %inc484, i64* %len, align 8 + %248 = load i64, i64* %len, align 8 + %249 = load i64, i64* %buffersize.addr, align 8 + %cmp488 = icmp ult i64 %248, %249 + br i1 %cmp488, label %if.then490, label %if.end497 + +if.then490: ; preds = %if.end483 + %250 = load i8, i8* %c, align 1 + %conv491 = zext i8 %250 to i32 + %shr492 = ashr i32 %conv491, 3 + %and493 = and i32 %shr492, 7 + %add494 = add nsw i32 48, %and493 + %conv495 = trunc i32 %add494 to i8 + %251 = load i8*, i8** %buffer.addr, align 8 + %252 = load i64, i64* %len, align 8 + %arrayidx496 = getelementptr inbounds i8, i8* %251, i64 %252 + store i8 %conv495, i8* %arrayidx496, align 1 + br label %if.end497 + +if.end497: ; preds = %if.then490, %if.end483 + %253 = load i64, i64* %len, align 8 + %inc498 = add i64 %253, 1 + store i64 %inc498, i64* %len, align 8 + %254 = load i8, i8* %c, align 1 + %conv501 = zext i8 %254 to i32 + %and502 = and i32 %conv501, 7 + %add503 = add nsw i32 48, %and502 + %conv504 = trunc i32 %add503 to i8 + store i8 %conv504, i8* %c, align 1 + br label %if.end518 + +if.else505: ; preds = %land.lhs.true424, %for.cond421 + %255 = load i8, i8* %is_right_quote, align 1 + %tobool506 = trunc i8 %255 to i1 + br i1 %tobool506, label %do.body508, label %if.end518 + +do.body508: ; preds = %if.else505 + %256 = load i64, i64* %len, align 8 + %257 = load i64, i64* %buffersize.addr, align 8 + %cmp509 = icmp ult i64 %256, %257 + br i1 %cmp509, label %if.then511, label %if.end513 + +if.then511: ; preds = %do.body508 + %258 = load i8*, i8** %buffer.addr, align 8 + %259 = load i64, i64* %len, align 8 + %arrayidx512 = getelementptr inbounds i8, i8* %258, i64 %259 + store i8 92, i8* %arrayidx512, align 1 + br label %if.end513 + +if.end513: ; preds = %if.then511, %do.body508 + %260 = load i64, i64* %len, align 8 + %inc514 = add i64 %260, 1 + store i64 %inc514, i64* %len, align 8 + store i8 0, i8* %is_right_quote, align 1 + br label %if.end518 + +if.end518: ; preds = %if.else505, %if.end513, %if.end497 + %261 = load i64, i64* %ilim, align 8 + %262 = load i64, i64* %i, align 8 + %add519 = add i64 %262, 1 + %cmp520 = icmp ule i64 %261, %add519 + br i1 %cmp520, label %do.body634, label %do.body524 + +do.body524: ; preds = %if.end518 + %263 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool525 = trunc i8 %263 to i1 + br i1 %tobool525, label %land.lhs.true527, label %do.body551 + +land.lhs.true527: ; preds = %do.body524 + %264 = load i8, i8* %escaping, align 1 + %tobool528 = trunc i8 %264 to i1 + br i1 %tobool528, label %do.body551, label %do.body530 + +do.body530: ; preds = %land.lhs.true527 + %265 = load i64, i64* %len, align 8 + %266 = load i64, i64* %buffersize.addr, align 8 + %cmp531 = icmp ult i64 %265, %266 + br i1 %cmp531, label %if.then533, label %if.end535 + +if.then533: ; preds = %do.body530 + %267 = load i8*, i8** %buffer.addr, align 8 + %268 = load i64, i64* %len, align 8 + %arrayidx534 = getelementptr inbounds i8, i8* %267, i64 %268 + store i8 39, i8* %arrayidx534, align 1 + br label %if.end535 + +if.end535: ; preds = %if.then533, %do.body530 + %269 = load i64, i64* %len, align 8 + %inc536 = add i64 %269, 1 + store i64 %inc536, i64* %len, align 8 + %270 = load i64, i64* %len, align 8 + %271 = load i64, i64* %buffersize.addr, align 8 + %cmp540 = icmp ult i64 %270, %271 + br i1 %cmp540, label %if.then542, label %if.end544 + +if.then542: ; preds = %if.end535 + %272 = load i8*, i8** %buffer.addr, align 8 + %273 = load i64, i64* %len, align 8 + %arrayidx543 = getelementptr inbounds i8, i8* %272, i64 %273 + store i8 39, i8* %arrayidx543, align 1 + br label %if.end544 + +if.end544: ; preds = %if.then542, %if.end535 + %274 = load i64, i64* %len, align 8 + %inc545 = add i64 %274, 1 + store i64 %inc545, i64* %len, align 8 + store i8 0, i8* %pending_shell_escape_end, align 1 + br label %do.body551 + +do.body551: ; preds = %if.end544, %land.lhs.true527, %do.body524 + %275 = load i64, i64* %len, align 8 + %276 = load i64, i64* %buffersize.addr, align 8 + %cmp552 = icmp ult i64 %275, %276 + br i1 %cmp552, label %if.then554, label %if.end556 + +if.then554: ; preds = %do.body551 + %277 = load i8, i8* %c, align 1 + %278 = load i8*, i8** %buffer.addr, align 8 + %279 = load i64, i64* %len, align 8 + %arrayidx555 = getelementptr inbounds i8, i8* %278, i64 %279 + store i8 %277, i8* %arrayidx555, align 1 + br label %if.end556 + +if.end556: ; preds = %if.then554, %do.body551 + %280 = load i64, i64* %len, align 8 + %inc557 = add i64 %280, 1 + store i64 %inc557, i64* %len, align 8 + %281 = load i8*, i8** %arg.addr, align 8 + %282 = load i64, i64* %i, align 8 + %inc560 = add i64 %282, 1 + store i64 %inc560, i64* %i, align 8 + %arrayidx561 = getelementptr inbounds i8, i8* %281, i64 %inc560 + %283 = load i8, i8* %arrayidx561, align 1 + store i8 %283, i8* %c, align 1 + br label %for.cond421 + +newDefault234: ; preds = %NodeBlock235 + br label %sw.epilog564 + +newDefault239: ; preds = %NodeBlock240 + br label %sw.epilog564 + +sw.epilog564: ; preds = %newDefault239, %newDefault234, %lor.lhs.false, %land.lhs.true417, %sw.bb297, %if.end330, %sw.bb289, %land.lhs.true292, %sw.bb283, %cond.true273, %cond.false278, %c_escape, %sw.bb171, %if.end228, %land.lhs.true182, %land.lhs.true178, %sw.bb175, %if.end164, %if.else, %sw.bb334 + %284 = load i8, i8* %backslash_escapes, align 1 + %tobool565 = trunc i8 %284 to i1 + %285 = load i32, i32* %quoting_style.addr, align 4 + %cmp568 = icmp ne i32 %285, 2 + %or.cond6 = and i1 %tobool565, %cmp568 + br i1 %or.cond6, label %land.lhs.true573, label %lor.lhs.false570 + +lor.lhs.false570: ; preds = %sw.epilog564 + %286 = load i8, i8* %elide_outer_quotes, align 1 + %tobool571 = trunc i8 %286 to i1 + br i1 %tobool571, label %land.lhs.true573, label %land.lhs.true582 + +land.lhs.true573: ; preds = %sw.epilog564, %lor.lhs.false570 + %287 = load i32*, i32** %quote_these_too.addr, align 8 + %tobool574 = icmp ne i32* %287, null + br i1 %tobool574, label %land.lhs.true575, label %land.lhs.true582 + +land.lhs.true575: ; preds = %land.lhs.true573 + %288 = load i32*, i32** %quote_these_too.addr, align 8 + %289 = load i8, i8* %c, align 1 + %conv576 = zext i8 %289 to i64 + %div = udiv i64 %conv576, 32 + %arrayidx577 = getelementptr inbounds i32, i32* %288, i64 %div + %290 = load i32, i32* %arrayidx577, align 4 + %291 = load i8, i8* %c, align 1 + %conv578 = zext i8 %291 to i64 + %rem = urem i64 %conv578, 32 + %sh_prom = trunc i64 %rem to i32 + %shr579 = lshr i32 %290, %sh_prom + %and580 = and i32 %shr579, 1 + %tobool581 = icmp ne i32 %and580, 0 + br i1 %tobool581, label %do.body586, label %land.lhs.true582 + +land.lhs.true582: ; preds = %land.lhs.true575, %land.lhs.true573, %lor.lhs.false570 + %292 = load i8, i8* %is_right_quote, align 1 + %tobool583 = trunc i8 %292 to i1 + br i1 %tobool583, label %do.body586, label %do.body634 + +do.body586: ; preds = %if.then268, %land.lhs.true582, %land.lhs.true575 + %293 = load i8, i8* %elide_outer_quotes, align 1 + %tobool587 = trunc i8 %293 to i1 + br i1 %tobool587, label %force_outer_quoting_style, label %if.end589 + +if.end589: ; preds = %do.body586 + store i8 1, i8* %escaping, align 1 + %294 = load i32, i32* %quoting_style.addr, align 4 + %cmp590 = icmp eq i32 %294, 2 + br i1 %cmp590, label %land.lhs.true592, label %do.body623 + +land.lhs.true592: ; preds = %if.end589 + %295 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool593 = trunc i8 %295 to i1 + br i1 %tobool593, label %do.body623, label %do.body595 + +do.body595: ; preds = %land.lhs.true592 + %296 = load i64, i64* %len, align 8 + %297 = load i64, i64* %buffersize.addr, align 8 + %cmp596 = icmp ult i64 %296, %297 + br i1 %cmp596, label %if.then598, label %if.end600 + +if.then598: ; preds = %do.body595 + %298 = load i8*, i8** %buffer.addr, align 8 + %299 = load i64, i64* %len, align 8 + %arrayidx599 = getelementptr inbounds i8, i8* %298, i64 %299 + store i8 39, i8* %arrayidx599, align 1 + br label %if.end600 + +if.end600: ; preds = %if.then598, %do.body595 + %300 = load i64, i64* %len, align 8 + %inc601 = add i64 %300, 1 + store i64 %inc601, i64* %len, align 8 + %301 = load i64, i64* %len, align 8 + %302 = load i64, i64* %buffersize.addr, align 8 + %cmp605 = icmp ult i64 %301, %302 + br i1 %cmp605, label %if.then607, label %if.end609 + +if.then607: ; preds = %if.end600 + %303 = load i8*, i8** %buffer.addr, align 8 + %304 = load i64, i64* %len, align 8 + %arrayidx608 = getelementptr inbounds i8, i8* %303, i64 %304 + store i8 36, i8* %arrayidx608, align 1 + br label %if.end609 + +if.end609: ; preds = %if.then607, %if.end600 + %305 = load i64, i64* %len, align 8 + %inc610 = add i64 %305, 1 + store i64 %inc610, i64* %len, align 8 + %306 = load i64, i64* %len, align 8 + %307 = load i64, i64* %buffersize.addr, align 8 + %cmp614 = icmp ult i64 %306, %307 + br i1 %cmp614, label %if.then616, label %if.end618 + +if.then616: ; preds = %if.end609 + %308 = load i8*, i8** %buffer.addr, align 8 + %309 = load i64, i64* %len, align 8 + %arrayidx617 = getelementptr inbounds i8, i8* %308, i64 %309 + store i8 39, i8* %arrayidx617, align 1 + br label %if.end618 + +if.end618: ; preds = %if.then616, %if.end609 + %310 = load i64, i64* %len, align 8 + %inc619 = add i64 %310, 1 + store i64 %inc619, i64* %len, align 8 + store i8 1, i8* %pending_shell_escape_end, align 1 + br label %do.body623 + +do.body623: ; preds = %if.end589, %land.lhs.true592, %if.end618 + %311 = load i64, i64* %len, align 8 + %312 = load i64, i64* %buffersize.addr, align 8 + %cmp624 = icmp ult i64 %311, %312 + br i1 %cmp624, label %if.then626, label %if.end628 + +if.then626: ; preds = %do.body623 + %313 = load i8*, i8** %buffer.addr, align 8 + %314 = load i64, i64* %len, align 8 + %arrayidx627 = getelementptr inbounds i8, i8* %313, i64 %314 + store i8 92, i8* %arrayidx627, align 1 + br label %if.end628 + +if.end628: ; preds = %if.then626, %do.body623 + %315 = load i64, i64* %len, align 8 + %inc629 = add i64 %315, 1 + store i64 %inc629, i64* %len, align 8 + br label %do.body634 + +do.body634: ; preds = %if.end628, %if.then246, %land.lhs.true253, %if.end518, %land.lhs.true582 + %316 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool635 = trunc i8 %316 to i1 + br i1 %tobool635, label %land.lhs.true637, label %do.body661 + +land.lhs.true637: ; preds = %do.body634 + %317 = load i8, i8* %escaping, align 1 + %tobool638 = trunc i8 %317 to i1 + br i1 %tobool638, label %do.body661, label %do.body640 + +do.body640: ; preds = %land.lhs.true637 + %318 = load i64, i64* %len, align 8 + %319 = load i64, i64* %buffersize.addr, align 8 + %cmp641 = icmp ult i64 %318, %319 + br i1 %cmp641, label %if.then643, label %if.end645 + +if.then643: ; preds = %do.body640 + %320 = load i8*, i8** %buffer.addr, align 8 + %321 = load i64, i64* %len, align 8 + %arrayidx644 = getelementptr inbounds i8, i8* %320, i64 %321 + store i8 39, i8* %arrayidx644, align 1 + br label %if.end645 + +if.end645: ; preds = %if.then643, %do.body640 + %322 = load i64, i64* %len, align 8 + %inc646 = add i64 %322, 1 + store i64 %inc646, i64* %len, align 8 + %323 = load i64, i64* %len, align 8 + %324 = load i64, i64* %buffersize.addr, align 8 + %cmp650 = icmp ult i64 %323, %324 + br i1 %cmp650, label %if.then652, label %if.end654 + +if.then652: ; preds = %if.end645 + %325 = load i8*, i8** %buffer.addr, align 8 + %326 = load i64, i64* %len, align 8 + %arrayidx653 = getelementptr inbounds i8, i8* %325, i64 %326 + store i8 39, i8* %arrayidx653, align 1 + br label %if.end654 + +if.end654: ; preds = %if.then652, %if.end645 + %327 = load i64, i64* %len, align 8 + %inc655 = add i64 %327, 1 + store i64 %inc655, i64* %len, align 8 + store i8 0, i8* %pending_shell_escape_end, align 1 + br label %do.body661 + +do.body661: ; preds = %if.end654, %land.lhs.true637, %do.body634 + %328 = load i64, i64* %len, align 8 + %329 = load i64, i64* %buffersize.addr, align 8 + %cmp662 = icmp ult i64 %328, %329 + br i1 %cmp662, label %if.then664, label %if.end666 + +if.then664: ; preds = %do.body661 + %330 = load i8, i8* %c, align 1 + %331 = load i8*, i8** %buffer.addr, align 8 + %332 = load i64, i64* %len, align 8 + %arrayidx665 = getelementptr inbounds i8, i8* %331, i64 %332 + store i8 %330, i8* %arrayidx665, align 1 + br label %if.end666 + +if.end666: ; preds = %if.then664, %do.body661 + %333 = load i64, i64* %len, align 8 + %inc667 = add i64 %333, 1 + store i64 %inc667, i64* %len, align 8 + %334 = load i8, i8* %c_and_shell_quote_compat, align 1 + %tobool670 = trunc i8 %334 to i1 + br i1 %tobool670, label %for.inc673, label %if.then671 + +if.then671: ; preds = %if.end666 + store i8 0, i8* %all_c_and_shell_quote_compat, align 1 + br label %for.inc673 + +for.inc673: ; preds = %if.end666, %if.then671, %if.else + %335 = load i64, i64* %i, align 8 + %inc674 = add i64 %335, 1 + store i64 %inc674, i64* %i, align 8 + br label %for.cond44 + +for.end675: ; preds = %cond.end + %336 = load i64, i64* %len, align 8 + %cmp676 = icmp eq i64 %336, 0 + %337 = load i32, i32* %quoting_style.addr, align 4 + %cmp679 = icmp eq i32 %337, 2 + %or.cond7 = and i1 %cmp676, %cmp679 + br i1 %or.cond7, label %land.lhs.true681, label %if.end685 + +land.lhs.true681: ; preds = %for.end675 + %338 = load i8, i8* %elide_outer_quotes, align 1 + %tobool682 = trunc i8 %338 to i1 + br i1 %tobool682, label %force_outer_quoting_style, label %if.end685 + +if.end685: ; preds = %land.lhs.true681, %for.end675 + %339 = load i32, i32* %quoting_style.addr, align 4 + %cmp686 = icmp eq i32 %339, 2 + br i1 %cmp686, label %land.lhs.true688, label %if.end704 + +land.lhs.true688: ; preds = %if.end685 + %340 = load i8, i8* %elide_outer_quotes, align 1 + %tobool689 = trunc i8 %340 to i1 + br i1 %tobool689, label %if.end704, label %land.lhs.true690 + +land.lhs.true690: ; preds = %land.lhs.true688 + %341 = load i8, i8* %encountered_single_quote, align 1 + %tobool691 = trunc i8 %341 to i1 + br i1 %tobool691, label %if.then693, label %if.end704 + +if.then693: ; preds = %land.lhs.true690 + %342 = load i8, i8* %all_c_and_shell_quote_compat, align 1 + %tobool694 = trunc i8 %342 to i1 + br i1 %tobool694, label %if.then695, label %if.else697 + +if.then695: ; preds = %if.then693 + %343 = load i8*, i8** %buffer.addr, align 8 + %344 = load i64, i64* %orig_buffersize, align 8 + %345 = load i8*, i8** %arg.addr, align 8 + %346 = load i64, i64* %argsize.addr, align 8 + %347 = load i32, i32* %flags.addr, align 4 + %348 = load i32*, i32** %quote_these_too.addr, align 8 + %349 = load i8*, i8** %left_quote.addr, align 8 + %350 = load i8*, i8** %right_quote.addr, align 8 + %call696 = call i64 @quotearg_buffer_restyled(i8* %343, i64 %344, i8* %345, i64 %346, i32 5, i32 %347, i32* %348, i8* %349, i8* %350) + store i64 %call696, i64* %retval, align 8 + br label %return + +if.else697: ; preds = %if.then693 + %351 = load i64, i64* %buffersize.addr, align 8 + %tobool698 = icmp eq i64 %351, 0 + %352 = load i64, i64* %orig_buffersize, align 8 + %tobool700 = icmp ne i64 %352, 0 + %or.cond8 = and i1 %tobool698, %tobool700 + br i1 %or.cond8, label %if.then701, label %if.end704 + +if.then701: ; preds = %if.else697 + %353 = load i64, i64* %orig_buffersize, align 8 + store i64 %353, i64* %buffersize.addr, align 8 + store i64 0, i64* %len, align 8 + br label %process_input + +if.end704: ; preds = %if.else697, %land.lhs.true690, %land.lhs.true688, %if.end685 + %354 = load i8*, i8** %quote_string, align 8 + %tobool705 = icmp ne i8* %354, null + br i1 %tobool705, label %land.lhs.true706, label %if.end724 + +land.lhs.true706: ; preds = %if.end704 + %355 = load i8, i8* %elide_outer_quotes, align 1 + %tobool707 = trunc i8 %355 to i1 + br i1 %tobool707, label %if.end724, label %for.cond709 + +for.cond709: ; preds = %land.lhs.true706, %if.end717 + %356 = load i8*, i8** %quote_string, align 8 + %357 = load i8, i8* %356, align 1 + %tobool710 = icmp ne i8 %357, 0 + br i1 %tobool710, label %do.body712, label %if.end724 + +do.body712: ; preds = %for.cond709 + %358 = load i64, i64* %len, align 8 + %359 = load i64, i64* %buffersize.addr, align 8 + %cmp713 = icmp ult i64 %358, %359 + br i1 %cmp713, label %if.then715, label %if.end717 + +if.then715: ; preds = %do.body712 + %360 = load i8*, i8** %quote_string, align 8 + %361 = load i8, i8* %360, align 1 + %362 = load i8*, i8** %buffer.addr, align 8 + %363 = load i64, i64* %len, align 8 + %arrayidx716 = getelementptr inbounds i8, i8* %362, i64 %363 + store i8 %361, i8* %arrayidx716, align 1 + br label %if.end717 + +if.end717: ; preds = %if.then715, %do.body712 + %364 = load i64, i64* %len, align 8 + %inc718 = add i64 %364, 1 + store i64 %inc718, i64* %len, align 8 + %365 = load i8*, i8** %quote_string, align 8 + %incdec.ptr722 = getelementptr inbounds i8, i8* %365, i32 1 + store i8* %incdec.ptr722, i8** %quote_string, align 8 + br label %for.cond709 + +if.end724: ; preds = %for.cond709, %land.lhs.true706, %if.end704 + %366 = load i64, i64* %len, align 8 + %367 = load i64, i64* %buffersize.addr, align 8 + %cmp725 = icmp ult i64 %366, %367 + br i1 %cmp725, label %if.then727, label %if.end729 + +if.then727: ; preds = %if.end724 + %368 = load i8*, i8** %buffer.addr, align 8 + %369 = load i64, i64* %len, align 8 + %arrayidx728 = getelementptr inbounds i8, i8* %368, i64 %369 + store i8 0, i8* %arrayidx728, align 1 + br label %if.end729 + +if.end729: ; preds = %if.then727, %if.end724 + %370 = load i64, i64* %len, align 8 + store i64 %370, i64* %retval, align 8 + br label %return + +force_outer_quoting_style: ; preds = %NodeBlock267, %NodeBlock265, %NodeBlock263, %NodeBlock261, %NodeBlock259, %land.lhs.true681, %do.body586, %do.body427, %if.then300, %land.lhs.true292, %land.lhs.true262, %if.then246, %sw.bb192, %sw.bb171, %do.body86, %if.then76 + %371 = load i32, i32* %quoting_style.addr, align 4 + %cmp730 = icmp eq i32 %371, 2 + br i1 %cmp730, label %land.lhs.true732, label %if.end736 + +land.lhs.true732: ; preds = %force_outer_quoting_style + %372 = load i8, i8* %backslash_escapes, align 1 + %tobool733 = trunc i8 %372 to i1 + br i1 %tobool733, label %if.then735, label %if.end736 + +if.then735: ; preds = %land.lhs.true732 + store i32 4, i32* %quoting_style.addr, align 4 + br label %if.end736 + +if.end736: ; preds = %if.then735, %land.lhs.true732, %force_outer_quoting_style + %373 = load i8*, i8** %buffer.addr, align 8 + %374 = load i64, i64* %buffersize.addr, align 8 + %375 = load i8*, i8** %arg.addr, align 8 + %376 = load i64, i64* %argsize.addr, align 8 + %377 = load i32, i32* %quoting_style.addr, align 4 + %378 = load i32, i32* %flags.addr, align 4 + %and737 = and i32 %378, -3 + %379 = load i8*, i8** %left_quote.addr, align 8 + %380 = load i8*, i8** %right_quote.addr, align 8 + %call738 = call i64 @quotearg_buffer_restyled(i8* %373, i64 %374, i8* %375, i64 %376, i32 %377, i32 %and737, i32* null, i8* %379, i8* %380) + store i64 %call738, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end736, %if.end729, %if.then695 + %381 = load i64, i64* %retval, align 8 + ret i64 %381 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xcharalloc(i64 %n) #3 { +entry: + %n.addr = alloca i64, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @xmalloc(i64 %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xmalloc(i64 %n) #3 { +entry: + %n.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @malloc(i64 %0) #11 + store i8* %call, i8** %p, align 8 + %1 = load i8*, i8** %p, align 8 + %tobool = icmp eq i8* %1, null + %2 = load i64, i64* %n.addr, align 8 + %cmp = icmp ne i64 %2, 0 + %or.cond = and i1 %tobool, %cmp + br i1 %or.cond, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %entry + %3 = load i8*, i8** %p, align 8 + ret i8* %3 +} + +; Function Attrs: nounwind +declare dso_local i64 @__ctype_get_mb_cur_max() #4 + +; Function Attrs: noinline nounwind uwtable +define internal i8* @gettext_quote(i8* %msgid, i32 %s) #3 { +entry: + %retval = alloca i8*, align 8 + %msgid.addr = alloca i8*, align 8 + %s.addr = alloca i32, align 4 + %translation = alloca i8*, align 8 + %locale_code = alloca i8*, align 8 + store i8* %msgid, i8** %msgid.addr, align 8 + store i32 %s, i32* %s.addr, align 4 + %0 = load i8*, i8** %msgid.addr, align 8 + store i8* %0, i8** %translation, align 8 + %1 = load i8*, i8** %translation, align 8 + %2 = load i8*, i8** %msgid.addr, align 8 + %cmp = icmp ne i8* %1, %2 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %3 = load i8*, i8** %translation, align 8 + store i8* %3, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %call = call i8* @locale_charset() + store i8* %call, i8** %locale_code, align 8 + %4 = load i8*, i8** %locale_code, align 8 + %call1 = call i32 @c_strcasecmp(i8* %4, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.13.70, i64 0, i64 0)) #23 + %cmp2 = icmp eq i32 %call1, 0 + br i1 %cmp2, label %if.then3, label %if.end6 + +if.then3: ; preds = %if.end + %5 = load i8*, i8** %msgid.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 0 + %6 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %6 to i32 + %cmp4 = icmp eq i32 %conv, 96 + %7 = zext i1 %cmp4 to i64 + %cond = select i1 %cmp4, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.14.71, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.15.72, i64 0, i64 0) + store i8* %cond, i8** %retval, align 8 + br label %return + +if.end6: ; preds = %if.end + %8 = load i8*, i8** %locale_code, align 8 + %call7 = call i32 @c_strcasecmp(i8* %8, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.16.73, i64 0, i64 0)) #23 + %cmp8 = icmp eq i32 %call7, 0 + br i1 %cmp8, label %if.then10, label %if.end16 + +if.then10: ; preds = %if.end6 + %9 = load i8*, i8** %msgid.addr, align 8 + %arrayidx11 = getelementptr inbounds i8, i8* %9, i64 0 + %10 = load i8, i8* %arrayidx11, align 1 + %conv12 = sext i8 %10 to i32 + %cmp13 = icmp eq i32 %conv12, 96 + %11 = zext i1 %cmp13 to i64 + %cond15 = select i1 %cmp13, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.17.74, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.18.75, i64 0, i64 0) + store i8* %cond15, i8** %retval, align 8 + br label %return + +if.end16: ; preds = %if.end6 + %12 = load i32, i32* %s.addr, align 4 + %cmp17 = icmp eq i32 %12, 9 + %13 = zext i1 %cmp17 to i64 + %cond19 = select i1 %cmp17, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10.67, i64 0, i64 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.69, i64 0, i64 0) + store i8* %cond19, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end16, %if.then10, %if.then3, %if.then + %14 = load i8*, i8** %retval, align 8 + ret i8* %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @rpl_mbrtowc(i32* %pwc, i8* %s, i64 %n, %struct.__mbstate_t* %ps) #3 { +entry: + %retval = alloca i64, align 8 + %pwc.addr = alloca i32*, align 8 + %s.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t*, align 8 + %ret = alloca i64, align 8 + %wc = alloca i32, align 4 + %uc = alloca i8, align 1 + store i32* %pwc, i32** %pwc.addr, align 8 + store i8* %s, i8** %s.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__mbstate_t* %ps, %struct.__mbstate_t** %ps.addr, align 8 + %0 = load i32*, i32** %pwc.addr, align 8 + %tobool = icmp ne i32* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i32* %wc, i32** %pwc.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i32*, i32** %pwc.addr, align 8 + %2 = load i8*, i8** %s.addr, align 8 + %3 = load i64, i64* %n.addr, align 8 + %4 = load %struct.__mbstate_t*, %struct.__mbstate_t** %ps.addr, align 8 + %call = call i64 bitcast (i64 (i32*, i8*, i64, %struct.__mbstate_t.514*)* @mbrtowc to i64 (i32*, i8*, i64, %struct.__mbstate_t*)*)(i32* %1, i8* %2, i64 %3, %struct.__mbstate_t* %4) #11 + store i64 %call, i64* %ret, align 8 + %5 = load i64, i64* %ret, align 8 + %cmp = icmp ule i64 -2, %5 + %6 = load i64, i64* %n.addr, align 8 + %cmp1 = icmp ne i64 %6, 0 + %or.cond = and i1 %cmp, %cmp1 + br i1 %or.cond, label %land.lhs.true2, label %if.end5 + +land.lhs.true2: ; preds = %if.end + %call3 = call zeroext i1 @hard_locale(i32 0) + br i1 %call3, label %if.end5, label %if.then4 + +if.then4: ; preds = %land.lhs.true2 + %7 = load i8*, i8** %s.addr, align 8 + %8 = load i8, i8* %7, align 1 + store i8 %8, i8* %uc, align 1 + %9 = load i8, i8* %uc, align 1 + %conv = zext i8 %9 to i32 + %10 = load i32*, i32** %pwc.addr, align 8 + store i32 %conv, i32* %10, align 4 + store i64 1, i64* %retval, align 8 + br label %return + +if.end5: ; preds = %land.lhs.true2, %if.end + %11 = load i64, i64* %ret, align 8 + store i64 %11, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end5, %if.then4 + %12 = load i64, i64* %retval, align 8 + ret i64 %12 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @hard_locale(i32 %category) #3 { +entry: + %retval = alloca i1, align 1 + %category.addr = alloca i32, align 4 + %locale = alloca [257 x i8], align 16 + store i32 %category, i32* %category.addr, align 4 + %0 = load i32, i32* %category.addr, align 4 + %arraydecay = getelementptr inbounds [257 x i8], [257 x i8]* %locale, i64 0, i64 0 + %call = call i32 @setlocale_null_r(i32 %0, i8* %arraydecay, i64 257) + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +if.end: ; preds = %entry + %arraydecay1 = getelementptr inbounds [257 x i8], [257 x i8]* %locale, i64 0, i64 0 + %call2 = call i32 @strcmp(i8* %arraydecay1, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.135, i64 0, i64 0)) #23 + %cmp = icmp eq i32 %call2, 0 + br i1 %cmp, label %lor.end, label %lor.rhs + +lor.rhs: ; preds = %if.end + %arraydecay3 = getelementptr inbounds [257 x i8], [257 x i8]* %locale, i64 0, i64 0 + %call4 = call i32 @strcmp(i8* %arraydecay3, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1.136, i64 0, i64 0)) #23 + %cmp5 = icmp eq i32 %call4, 0 + br label %lor.end + +lor.end: ; preds = %lor.rhs, %if.end + %1 = phi i1 [ true, %if.end ], [ %cmp5, %lor.rhs ] + %lnot = xor i1 %1, true + store i1 %lnot, i1* %retval, align 1 + br label %return + +return: ; preds = %lor.end, %if.then + %2 = load i1, i1* %retval, align 1 + ret i1 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @setlocale_null_r(i32 %category, i8* nonnull %buf, i64 %bufsize) #3 { +entry: + %category.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + store i32 %category, i32* %category.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i32, i32* %category.addr, align 4 + %1 = load i8*, i8** %buf.addr, align 8 + %2 = load i64, i64* %bufsize.addr, align 8 + %call = call i32 @setlocale_null_unlocked(i32 %0, i8* %1, i64 %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @setlocale_null_unlocked(i32 %category, i8* %buf, i64 %bufsize) #3 { +entry: + %retval = alloca i32, align 4 + %category.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %result = alloca i8*, align 8 + %length = alloca i64, align 8 + store i32 %category, i32* %category.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i32, i32* %category.addr, align 4 + %call = call i8* @setlocale_null_androidfix(i32 %0) + store i8* %call, i8** %result, align 8 + %1 = load i8*, i8** %result, align 8 + %cmp = icmp eq i8* %1, null + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %2 = load i64, i64* %bufsize.addr, align 8 + %cmp1 = icmp ugt i64 %2, 0 + br i1 %cmp1, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + %3 = load i8*, i8** %buf.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %3, i64 0 + store i8 0, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + store i32 22, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %4 = load i8*, i8** %result, align 8 + %call3 = call i64 @strlen(i8* %4) #23 + store i64 %call3, i64* %length, align 8 + %5 = load i64, i64* %length, align 8 + %6 = load i64, i64* %bufsize.addr, align 8 + %cmp4 = icmp ult i64 %5, %6 + br i1 %cmp4, label %if.then5, label %if.else6 + +if.then5: ; preds = %if.else + %7 = load i8*, i8** %buf.addr, align 8 + %8 = load i8*, i8** %result, align 8 + %9 = load i64, i64* %length, align 8 + %add = add i64 %9, 1 + %10 = call i8* @memcpy(i8* %7, i8* %8, i64 %add) + store i32 0, i32* %retval, align 4 + br label %return + +if.else6: ; preds = %if.else + %11 = load i64, i64* %bufsize.addr, align 8 + %cmp7 = icmp ugt i64 %11, 0 + br i1 %cmp7, label %if.then8, label %if.end11 + +if.then8: ; preds = %if.else6 + %12 = load i8*, i8** %buf.addr, align 8 + %13 = load i8*, i8** %result, align 8 + %14 = load i64, i64* %bufsize.addr, align 8 + %sub = sub i64 %14, 1 + %15 = call i8* @memcpy(i8* %12, i8* %13, i64 %sub) + %16 = load i8*, i8** %buf.addr, align 8 + %17 = load i64, i64* %bufsize.addr, align 8 + %sub9 = sub i64 %17, 1 + %arrayidx10 = getelementptr inbounds i8, i8* %16, i64 %sub9 + store i8 0, i8* %arrayidx10, align 1 + br label %if.end11 + +if.end11: ; preds = %if.then8, %if.else6 + store i32 34, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end11, %if.then5, %if.end + %18 = load i32, i32* %retval, align 4 + ret i32 %18 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @setlocale_null_androidfix(i32 %category) #3 { +entry: + %category.addr = alloca i32, align 4 + %result = alloca i8*, align 8 + store i32 %category, i32* %category.addr, align 4 + %0 = load i32, i32* %category.addr, align 4 + %call = call i8* @setlocale(i32 %0, i8* null) #11 + store i8* %call, i8** %result, align 8 + %1 = load i8*, i8** %result, align 8 + ret i8* %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @locale_charset() #3 { +entry: + %codeset = alloca i8*, align 8 + %call = call i8* @nl_langinfo(i32 14) #11 + store i8* %call, i8** %codeset, align 8 + %0 = load i8*, i8** %codeset, align 8 + %cmp = icmp eq i8* %0, null + %spec.store.select = select i1 %cmp, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.139, i64 0, i64 0), i8* %call + store i8* %spec.store.select, i8** %codeset, align 8 + %1 = load i8*, i8** %codeset, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %2 to i32 + %cmp1 = icmp eq i32 %conv, 0 + %spec.store.select1 = select i1 %cmp1, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1.140, i64 0, i64 0), i8* %spec.store.select + store i8* %spec.store.select1, i8** %codeset, align 8 + %3 = load i8*, i8** %codeset, align 8 + ret i8* %3 +} + +; Function Attrs: noinline nounwind readonly uwtable +define dso_local i32 @c_strcasecmp(i8* %s1, i8* %s2) #15 { +entry: + %retval = alloca i32, align 4 + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %p1 = alloca i8*, align 8 + %p2 = alloca i8*, align 8 + %c1 = alloca i8, align 1 + %c2 = alloca i8, align 1 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %p1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %p2, align 8 + %2 = load i8*, i8** %p1, align 8 + %3 = load i8*, i8** %p2, align 8 + %cmp = icmp eq i8* %2, %3 + br i1 %cmp, label %if.then, label %do.body + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +do.body: ; preds = %entry, %if.end9 + %4 = load i8*, i8** %p1, align 8 + %5 = load i8, i8* %4, align 1 + %conv = zext i8 %5 to i32 + %call = call i32 @c_tolower(i32 %conv) + %conv1 = trunc i32 %call to i8 + store i8 %conv1, i8* %c1, align 1 + %6 = load i8*, i8** %p2, align 8 + %7 = load i8, i8* %6, align 1 + %conv2 = zext i8 %7 to i32 + %call3 = call i32 @c_tolower(i32 %conv2) + %conv4 = trunc i32 %call3 to i8 + store i8 %conv4, i8* %c2, align 1 + %8 = load i8, i8* %c1, align 1 + %conv5 = zext i8 %8 to i32 + %cmp6 = icmp eq i32 %conv5, 0 + br i1 %cmp6, label %do.end, label %if.end9 + +if.end9: ; preds = %do.body + %9 = load i8*, i8** %p1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %p1, align 8 + %10 = load i8*, i8** %p2, align 8 + %incdec.ptr10 = getelementptr inbounds i8, i8* %10, i32 1 + store i8* %incdec.ptr10, i8** %p2, align 8 + %11 = load i8, i8* %c1, align 1 + %conv11 = zext i8 %11 to i32 + %12 = load i8, i8* %c2, align 1 + %conv12 = zext i8 %12 to i32 + %cmp13 = icmp eq i32 %conv11, %conv12 + br i1 %cmp13, label %do.body, label %do.end + +do.end: ; preds = %do.body, %if.end9 + %13 = load i8, i8* %c1, align 1 + %conv15 = zext i8 %13 to i32 + %14 = load i8, i8* %c2, align 1 + %conv16 = zext i8 %14 to i32 + %sub = sub nsw i32 %conv15, %conv16 + store i32 %sub, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end, %if.then + %15 = load i32, i32* %retval, align 4 + ret i32 %15 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @c_tolower(i32 %c) #3 { +entry: + %retval = alloca i32, align 4 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -65 + %switch = icmp ult i32 %.off, 26 + %1 = load i32, i32* %c.addr, align 4 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + %sub = sub nsw i32 %1, 65 + %add = add nsw i32 %sub, 97 + store i32 %add, i32* %retval, align 4 + br label %return + +sw.default: ; preds = %entry + store i32 %1, i32* %retval, align 4 + br label %return + +return: ; preds = %sw.default, %sw.bb + %2 = load i32, i32* %retval, align 4 + ret i32 %2 +} + +; Function Attrs: nounwind +declare dso_local i8* @realloc(i8*, i64) #4 + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_style(i32 %n, i32 %s, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %o = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + call void @quoting_options_from_style(%struct.quoting_options* sret align 8 %o, i32 %0) + %1 = load i32, i32* %n.addr, align 4 + %2 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %1, i8* %2, i64 -1, %struct.quoting_options* %o) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define internal void @quoting_options_from_style(%struct.quoting_options* noalias sret align 8 %agg.result, i32 %style) #3 { +entry: + %style.addr = alloca i32, align 4 + store i32 %style, i32* %style.addr, align 4 + %0 = bitcast %struct.quoting_options* %agg.result to i8* + %1 = call i8* @memset(i8* %0, i32 0, i64 56) + %2 = load i32, i32* %style.addr, align 4 + %cmp = icmp eq i32 %2, 10 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @abort() #26 + unreachable + +if.end: ; preds = %entry + %3 = load i32, i32* %style.addr, align 4 + %style1 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %agg.result, i32 0, i32 0 + store i32 %3, i32* %style1, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @set_char_quoting(%struct.quoting_options* %o, i8 signext %c, i32 %i) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %c.addr = alloca i8, align 1 + %i.addr = alloca i32, align 4 + %uc = alloca i8, align 1 + %p = alloca i32*, align 8 + %shift = alloca i32, align 4 + %r = alloca i32, align 4 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i8 %c, i8* %c.addr, align 1 + store i32 %i, i32* %i.addr, align 4 + %0 = load i8, i8* %c.addr, align 1 + store i8 %0, i8* %uc, align 1 + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %1, null + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %2, %struct.quoting_options* @default_quoting_options + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %cond, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %3 = load i8, i8* %uc, align 1 + %conv = zext i8 %3 to i64 + %div = udiv i64 %conv, 32 + %add.ptr = getelementptr inbounds i32, i32* %arraydecay, i64 %div + store i32* %add.ptr, i32** %p, align 8 + %4 = load i8, i8* %uc, align 1 + %conv1 = zext i8 %4 to i64 + %rem = urem i64 %conv1, 32 + %conv2 = trunc i64 %rem to i32 + store i32 %conv2, i32* %shift, align 4 + %5 = load i32*, i32** %p, align 8 + %6 = load i32, i32* %5, align 4 + %7 = load i32, i32* %shift, align 4 + %shr = lshr i32 %6, %7 + %and = and i32 %shr, 1 + store i32 %and, i32* %r, align 4 + %8 = load i32, i32* %i.addr, align 4 + %and3 = and i32 %8, 1 + %9 = load i32, i32* %r, align 4 + %xor = xor i32 %and3, %9 + %10 = load i32, i32* %shift, align 4 + %shl = shl i32 %xor, %10 + %11 = load i32*, i32** %p, align 8 + %12 = load i32, i32* %11, align 4 + %xor4 = xor i32 %12, %shl + store i32 %xor4, i32* %11, align 4 + %13 = load i32, i32* %r, align 4 + ret i32 %13 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @rpl_mbrlen(i8* %s, i64 %n, %struct.__mbstate_t* %ps) #3 { +entry: + %s.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__mbstate_t* %ps, %struct.__mbstate_t** %ps.addr, align 8 + %0 = load %struct.__mbstate_t*, %struct.__mbstate_t** %ps.addr, align 8 + %cmp = icmp eq %struct.__mbstate_t* %0, null + %spec.store.select = select i1 %cmp, %struct.__mbstate_t* @internal_state, %struct.__mbstate_t* %ps + store %struct.__mbstate_t* %spec.store.select, %struct.__mbstate_t** %ps.addr, align 8 + %1 = load i8*, i8** %s.addr, align 8 + %2 = load i64, i64* %n.addr, align 8 + %3 = load %struct.__mbstate_t*, %struct.__mbstate_t** %ps.addr, align 8 + %call = call i64 @rpl_mbrtowc(i32* null, i8* %1, i64 %2, %struct.__mbstate_t* %3) + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_style_mem(i32 %n, i32 %s, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + call void @quoting_options_from_style(%struct.quoting_options* sret align 8 %o, i32 %0) + %1 = load i32, i32* %n.addr, align 4 + %2 = load i8*, i8** %arg.addr, align 8 + %3 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %1, i8* %2, i64 %3, %struct.quoting_options* %o) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc_va(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, %struct.__va_list_tag.2* %authors) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors.addr = alloca %struct.__va_list_tag.2*, align 8 + %n_authors = alloca i64, align 8 + %authtab = alloca [10 x i8*], align 16 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + store %struct.__va_list_tag.2* %authors, %struct.__va_list_tag.2** %authors.addr, align 8 + store i64 0, i64* %n_authors, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i64, i64* %n_authors, align 8 + %cmp = icmp ult i64 %0, 10 + br i1 %cmp, label %land.rhs, label %for.end + +land.rhs: ; preds = %for.cond + %1 = load %struct.__va_list_tag.2*, %struct.__va_list_tag.2** %authors.addr, align 8 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %1, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 8 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %land.rhs + %2 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %1, i32 0, i32 3 + %reg_save_area = load i8*, i8** %2, align 8 + %3 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %4 = bitcast i8* %3 to i8** + %5 = add i32 %gp_offset, 8 + store i32 %5, i32* %gp_offset_p, align 8 + br label %vaarg.end + +vaarg.in_mem: ; preds = %land.rhs + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %1, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %6 = bitcast i8* %overflow_arg_area to i8** + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i8** [ %4, %vaarg.in_reg ], [ %6, %vaarg.in_mem ] + %7 = load i8*, i8** %vaarg.addr, align 8 + %8 = load i64, i64* %n_authors, align 8 + %arrayidx = getelementptr inbounds [10 x i8*], [10 x i8*]* %authtab, i64 0, i64 %8 + store i8* %7, i8** %arrayidx, align 8 + %cmp1 = icmp ne i8* %7, null + br i1 %cmp1, label %for.inc, label %for.end + +for.inc: ; preds = %vaarg.end + %9 = load i64, i64* %n_authors, align 8 + %inc = add i64 %9, 1 + store i64 %inc, i64* %n_authors, align 8 + br label %for.cond + +for.end: ; preds = %for.cond, %vaarg.end + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %11 = load i8*, i8** %command_name.addr, align 8 + %12 = load i8*, i8** %package.addr, align 8 + %13 = load i8*, i8** %version.addr, align 8 + %arraydecay = getelementptr inbounds [10 x i8*], [10 x i8*]* %authtab, i64 0, i64 0 + %14 = load i64, i64* %n_authors, align 8 + call void @version_etc_arn(%struct._IO_FILE* %10, i8* %11, i8* %12, i8* %13, i8** %arraydecay, i64 %14) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc_arn(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, i8** %authors, i64 %n_authors) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors.addr = alloca i8**, align 8 + %n_authors.addr = alloca i64, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + store i8** %authors, i8*** %authors.addr, align 8 + store i64 %n_authors, i64* %n_authors.addr, align 8 + %0 = load i8*, i8** %command_name.addr, align 8 + %tobool = icmp ne i8* %0, null + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %entry + %2 = load i8*, i8** %command_name.addr, align 8 + %3 = load i8*, i8** %package.addr, align 8 + %4 = load i8*, i8** %version.addr, align 8 + %call = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %1, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.88, i64 0, i64 0), i8* %2, i8* %3, i8* %4) + br label %if.end + +if.else: ; preds = %entry + %5 = load i8*, i8** %package.addr, align 8 + %6 = load i8*, i8** %version.addr, align 8 + %call1 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %1, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.89, i64 0, i64 0), i8* %5, i8* %6) + br label %if.end + +if.end: ; preds = %if.else, %if.then + %7 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call2 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %7, i8* getelementptr inbounds ([47 x i8], [47 x i8]* @version_etc_copyright, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2.90, i64 0, i64 0), i32 2020) + %8 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call3 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.623*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.91, i64 0, i64 0), %struct._IO_FILE* %8) + %9 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call4 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %9, i8* getelementptr inbounds ([171 x i8], [171 x i8]* @.str.4.92, i64 0, i64 0), i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.5.93, i64 0, i64 0)) + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call5 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.623*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.91, i64 0, i64 0), %struct._IO_FILE* %10) + %11 = load i64, i64* %n_authors.addr, align 8 + br label %NodeBlock17 + +NodeBlock17: ; preds = %if.end + %case.cmp18 = icmp eq i64 %11, 0 + br i1 %case.cmp18, label %sw.epilog, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i64 %11, 1 + br i1 %case.cmp16, label %sw.bb6, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i64 %11, 2 + br i1 %case.cmp14, label %sw.bb8, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i64 %11, 3 + br i1 %case.cmp12, label %sw.bb12, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i64 %11, 4 + br i1 %case.cmp10, label %sw.bb17, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i64 %11, 5 + br i1 %case.cmp8, label %sw.bb23, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i64 %11, 6 + br i1 %case.cmp6, label %sw.bb30, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i64 %11, 7 + br i1 %case.cmp4, label %sw.bb38, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i64 %11, 8 + br i1 %case.cmp2, label %sw.bb47, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i64 %11, 9 + br i1 %case.cmp, label %sw.bb57, label %newDefault + +sw.bb6: ; preds = %NodeBlock15 + %12 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %13 = load i8**, i8*** %authors.addr, align 8 + %arrayidx = getelementptr inbounds i8*, i8** %13, i64 0 + %14 = load i8*, i8** %arrayidx, align 8 + %call7 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %12, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.6.94, i64 0, i64 0), i8* %14) + br label %sw.epilog + +sw.bb8: ; preds = %NodeBlock13 + %15 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %16 = load i8**, i8*** %authors.addr, align 8 + %arrayidx9 = getelementptr inbounds i8*, i8** %16, i64 0 + %17 = load i8*, i8** %arrayidx9, align 8 + %18 = load i8**, i8*** %authors.addr, align 8 + %arrayidx10 = getelementptr inbounds i8*, i8** %18, i64 1 + %19 = load i8*, i8** %arrayidx10, align 8 + %call11 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %15, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.7.95, i64 0, i64 0), i8* %17, i8* %19) + br label %sw.epilog + +sw.bb12: ; preds = %NodeBlock11 + %20 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %21 = load i8**, i8*** %authors.addr, align 8 + %arrayidx13 = getelementptr inbounds i8*, i8** %21, i64 0 + %22 = load i8*, i8** %arrayidx13, align 8 + %23 = load i8**, i8*** %authors.addr, align 8 + %arrayidx14 = getelementptr inbounds i8*, i8** %23, i64 1 + %24 = load i8*, i8** %arrayidx14, align 8 + %25 = load i8**, i8*** %authors.addr, align 8 + %arrayidx15 = getelementptr inbounds i8*, i8** %25, i64 2 + %26 = load i8*, i8** %arrayidx15, align 8 + %call16 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %20, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.8.96, i64 0, i64 0), i8* %22, i8* %24, i8* %26) + br label %sw.epilog + +sw.bb17: ; preds = %NodeBlock9 + %27 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %28 = load i8**, i8*** %authors.addr, align 8 + %arrayidx18 = getelementptr inbounds i8*, i8** %28, i64 0 + %29 = load i8*, i8** %arrayidx18, align 8 + %30 = load i8**, i8*** %authors.addr, align 8 + %arrayidx19 = getelementptr inbounds i8*, i8** %30, i64 1 + %31 = load i8*, i8** %arrayidx19, align 8 + %32 = load i8**, i8*** %authors.addr, align 8 + %arrayidx20 = getelementptr inbounds i8*, i8** %32, i64 2 + %33 = load i8*, i8** %arrayidx20, align 8 + %34 = load i8**, i8*** %authors.addr, align 8 + %arrayidx21 = getelementptr inbounds i8*, i8** %34, i64 3 + %35 = load i8*, i8** %arrayidx21, align 8 + %call22 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %27, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.9.97, i64 0, i64 0), i8* %29, i8* %31, i8* %33, i8* %35) + br label %sw.epilog + +sw.bb23: ; preds = %NodeBlock7 + %36 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %37 = load i8**, i8*** %authors.addr, align 8 + %arrayidx24 = getelementptr inbounds i8*, i8** %37, i64 0 + %38 = load i8*, i8** %arrayidx24, align 8 + %39 = load i8**, i8*** %authors.addr, align 8 + %arrayidx25 = getelementptr inbounds i8*, i8** %39, i64 1 + %40 = load i8*, i8** %arrayidx25, align 8 + %41 = load i8**, i8*** %authors.addr, align 8 + %arrayidx26 = getelementptr inbounds i8*, i8** %41, i64 2 + %42 = load i8*, i8** %arrayidx26, align 8 + %43 = load i8**, i8*** %authors.addr, align 8 + %arrayidx27 = getelementptr inbounds i8*, i8** %43, i64 3 + %44 = load i8*, i8** %arrayidx27, align 8 + %45 = load i8**, i8*** %authors.addr, align 8 + %arrayidx28 = getelementptr inbounds i8*, i8** %45, i64 4 + %46 = load i8*, i8** %arrayidx28, align 8 + %call29 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %36, i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.10.98, i64 0, i64 0), i8* %38, i8* %40, i8* %42, i8* %44, i8* %46) + br label %sw.epilog + +sw.bb30: ; preds = %NodeBlock5 + %47 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %48 = load i8**, i8*** %authors.addr, align 8 + %arrayidx31 = getelementptr inbounds i8*, i8** %48, i64 0 + %49 = load i8*, i8** %arrayidx31, align 8 + %50 = load i8**, i8*** %authors.addr, align 8 + %arrayidx32 = getelementptr inbounds i8*, i8** %50, i64 1 + %51 = load i8*, i8** %arrayidx32, align 8 + %52 = load i8**, i8*** %authors.addr, align 8 + %arrayidx33 = getelementptr inbounds i8*, i8** %52, i64 2 + %53 = load i8*, i8** %arrayidx33, align 8 + %54 = load i8**, i8*** %authors.addr, align 8 + %arrayidx34 = getelementptr inbounds i8*, i8** %54, i64 3 + %55 = load i8*, i8** %arrayidx34, align 8 + %56 = load i8**, i8*** %authors.addr, align 8 + %arrayidx35 = getelementptr inbounds i8*, i8** %56, i64 4 + %57 = load i8*, i8** %arrayidx35, align 8 + %58 = load i8**, i8*** %authors.addr, align 8 + %arrayidx36 = getelementptr inbounds i8*, i8** %58, i64 5 + %59 = load i8*, i8** %arrayidx36, align 8 + %call37 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %47, i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.11.99, i64 0, i64 0), i8* %49, i8* %51, i8* %53, i8* %55, i8* %57, i8* %59) + br label %sw.epilog + +sw.bb38: ; preds = %NodeBlock3 + %60 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %61 = load i8**, i8*** %authors.addr, align 8 + %arrayidx39 = getelementptr inbounds i8*, i8** %61, i64 0 + %62 = load i8*, i8** %arrayidx39, align 8 + %63 = load i8**, i8*** %authors.addr, align 8 + %arrayidx40 = getelementptr inbounds i8*, i8** %63, i64 1 + %64 = load i8*, i8** %arrayidx40, align 8 + %65 = load i8**, i8*** %authors.addr, align 8 + %arrayidx41 = getelementptr inbounds i8*, i8** %65, i64 2 + %66 = load i8*, i8** %arrayidx41, align 8 + %67 = load i8**, i8*** %authors.addr, align 8 + %arrayidx42 = getelementptr inbounds i8*, i8** %67, i64 3 + %68 = load i8*, i8** %arrayidx42, align 8 + %69 = load i8**, i8*** %authors.addr, align 8 + %arrayidx43 = getelementptr inbounds i8*, i8** %69, i64 4 + %70 = load i8*, i8** %arrayidx43, align 8 + %71 = load i8**, i8*** %authors.addr, align 8 + %arrayidx44 = getelementptr inbounds i8*, i8** %71, i64 5 + %72 = load i8*, i8** %arrayidx44, align 8 + %73 = load i8**, i8*** %authors.addr, align 8 + %arrayidx45 = getelementptr inbounds i8*, i8** %73, i64 6 + %74 = load i8*, i8** %arrayidx45, align 8 + %call46 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %60, i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.12.100, i64 0, i64 0), i8* %62, i8* %64, i8* %66, i8* %68, i8* %70, i8* %72, i8* %74) + br label %sw.epilog + +sw.bb47: ; preds = %NodeBlock1 + %75 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %76 = load i8**, i8*** %authors.addr, align 8 + %arrayidx48 = getelementptr inbounds i8*, i8** %76, i64 0 + %77 = load i8*, i8** %arrayidx48, align 8 + %78 = load i8**, i8*** %authors.addr, align 8 + %arrayidx49 = getelementptr inbounds i8*, i8** %78, i64 1 + %79 = load i8*, i8** %arrayidx49, align 8 + %80 = load i8**, i8*** %authors.addr, align 8 + %arrayidx50 = getelementptr inbounds i8*, i8** %80, i64 2 + %81 = load i8*, i8** %arrayidx50, align 8 + %82 = load i8**, i8*** %authors.addr, align 8 + %arrayidx51 = getelementptr inbounds i8*, i8** %82, i64 3 + %83 = load i8*, i8** %arrayidx51, align 8 + %84 = load i8**, i8*** %authors.addr, align 8 + %arrayidx52 = getelementptr inbounds i8*, i8** %84, i64 4 + %85 = load i8*, i8** %arrayidx52, align 8 + %86 = load i8**, i8*** %authors.addr, align 8 + %arrayidx53 = getelementptr inbounds i8*, i8** %86, i64 5 + %87 = load i8*, i8** %arrayidx53, align 8 + %88 = load i8**, i8*** %authors.addr, align 8 + %arrayidx54 = getelementptr inbounds i8*, i8** %88, i64 6 + %89 = load i8*, i8** %arrayidx54, align 8 + %90 = load i8**, i8*** %authors.addr, align 8 + %arrayidx55 = getelementptr inbounds i8*, i8** %90, i64 7 + %91 = load i8*, i8** %arrayidx55, align 8 + %call56 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %75, i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.13.101, i64 0, i64 0), i8* %77, i8* %79, i8* %81, i8* %83, i8* %85, i8* %87, i8* %89, i8* %91) + br label %sw.epilog + +sw.bb57: ; preds = %NodeBlock + %92 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %93 = load i8**, i8*** %authors.addr, align 8 + %arrayidx58 = getelementptr inbounds i8*, i8** %93, i64 0 + %94 = load i8*, i8** %arrayidx58, align 8 + %95 = load i8**, i8*** %authors.addr, align 8 + %arrayidx59 = getelementptr inbounds i8*, i8** %95, i64 1 + %96 = load i8*, i8** %arrayidx59, align 8 + %97 = load i8**, i8*** %authors.addr, align 8 + %arrayidx60 = getelementptr inbounds i8*, i8** %97, i64 2 + %98 = load i8*, i8** %arrayidx60, align 8 + %99 = load i8**, i8*** %authors.addr, align 8 + %arrayidx61 = getelementptr inbounds i8*, i8** %99, i64 3 + %100 = load i8*, i8** %arrayidx61, align 8 + %101 = load i8**, i8*** %authors.addr, align 8 + %arrayidx62 = getelementptr inbounds i8*, i8** %101, i64 4 + %102 = load i8*, i8** %arrayidx62, align 8 + %103 = load i8**, i8*** %authors.addr, align 8 + %arrayidx63 = getelementptr inbounds i8*, i8** %103, i64 5 + %104 = load i8*, i8** %arrayidx63, align 8 + %105 = load i8**, i8*** %authors.addr, align 8 + %arrayidx64 = getelementptr inbounds i8*, i8** %105, i64 6 + %106 = load i8*, i8** %arrayidx64, align 8 + %107 = load i8**, i8*** %authors.addr, align 8 + %arrayidx65 = getelementptr inbounds i8*, i8** %107, i64 7 + %108 = load i8*, i8** %arrayidx65, align 8 + %109 = load i8**, i8*** %authors.addr, align 8 + %arrayidx66 = getelementptr inbounds i8*, i8** %109, i64 8 + %110 = load i8*, i8** %arrayidx66, align 8 + %call67 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %92, i8* getelementptr inbounds ([52 x i8], [52 x i8]* @.str.14.102, i64 0, i64 0), i8* %94, i8* %96, i8* %98, i8* %100, i8* %102, i8* %104, i8* %106, i8* %108, i8* %110) + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + %111 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %112 = load i8**, i8*** %authors.addr, align 8 + %arrayidx68 = getelementptr inbounds i8*, i8** %112, i64 0 + %113 = load i8*, i8** %arrayidx68, align 8 + %114 = load i8**, i8*** %authors.addr, align 8 + %arrayidx69 = getelementptr inbounds i8*, i8** %114, i64 1 + %115 = load i8*, i8** %arrayidx69, align 8 + %116 = load i8**, i8*** %authors.addr, align 8 + %arrayidx70 = getelementptr inbounds i8*, i8** %116, i64 2 + %117 = load i8*, i8** %arrayidx70, align 8 + %118 = load i8**, i8*** %authors.addr, align 8 + %arrayidx71 = getelementptr inbounds i8*, i8** %118, i64 3 + %119 = load i8*, i8** %arrayidx71, align 8 + %120 = load i8**, i8*** %authors.addr, align 8 + %arrayidx72 = getelementptr inbounds i8*, i8** %120, i64 4 + %121 = load i8*, i8** %arrayidx72, align 8 + %122 = load i8**, i8*** %authors.addr, align 8 + %arrayidx73 = getelementptr inbounds i8*, i8** %122, i64 5 + %123 = load i8*, i8** %arrayidx73, align 8 + %124 = load i8**, i8*** %authors.addr, align 8 + %arrayidx74 = getelementptr inbounds i8*, i8** %124, i64 6 + %125 = load i8*, i8** %arrayidx74, align 8 + %126 = load i8**, i8*** %authors.addr, align 8 + %arrayidx75 = getelementptr inbounds i8*, i8** %126, i64 7 + %127 = load i8*, i8** %arrayidx75, align 8 + %128 = load i8**, i8*** %authors.addr, align 8 + %arrayidx76 = getelementptr inbounds i8*, i8** %128, i64 8 + %129 = load i8*, i8** %arrayidx76, align 8 + %call77 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %111, i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.15.103, i64 0, i64 0), i8* %113, i8* %115, i8* %117, i8* %119, i8* %121, i8* %123, i8* %125, i8* %127, i8* %129) + br label %sw.epilog + +sw.epilog: ; preds = %NodeBlock17, %sw.default, %sw.bb57, %sw.bb47, %sw.bb38, %sw.bb30, %sw.bb23, %sw.bb17, %sw.bb12, %sw.bb8, %sw.bb6 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @close_stream(%struct._IO_FILE* %stream) #3 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct._IO_FILE*, align 8 + %some_pending = alloca i8, align 1 + %prev_fail = alloca i8, align 1 + %fclose_fail = alloca i8, align 1 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.515*)* @__fpending to i64 (%struct._IO_FILE*)*)(%struct._IO_FILE* %0) #11 + %cmp = icmp ne i64 %call, 0 + %frombool = zext i1 %cmp to i8 + store i8 %frombool, i8* %some_pending, align 1 + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call1 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.594*)* @ferror_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %1) #11 + %cmp2 = icmp ne i32 %call1, 0 + %frombool3 = zext i1 %cmp2 to i8 + store i8 %frombool3, i8* %prev_fail, align 1 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call4 = call i32 @rpl_fclose(%struct._IO_FILE* %2) + %cmp5 = icmp ne i32 %call4, 0 + %frombool6 = zext i1 %cmp5 to i8 + store i8 %frombool6, i8* %fclose_fail, align 1 + %3 = load i8, i8* %prev_fail, align 1 + %tobool = trunc i8 %3 to i1 + br i1 %tobool, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %4 = load i8, i8* %fclose_fail, align 1 + %tobool7 = trunc i8 %4 to i1 + br i1 %tobool7, label %land.lhs.true, label %if.end15 + +land.lhs.true: ; preds = %lor.lhs.false + %5 = load i8, i8* %some_pending, align 1 + %tobool8 = trunc i8 %5 to i1 + br i1 %tobool8, label %if.then, label %lor.lhs.false9 + +lor.lhs.false9: ; preds = %land.lhs.true + %call10 = call i32* @__errno_location() #25 + %6 = load i32, i32* %call10, align 4 + %cmp11 = icmp ne i32 %6, 9 + br i1 %cmp11, label %if.then, label %if.end15 + +if.then: ; preds = %lor.lhs.false9, %land.lhs.true, %entry + %7 = load i8, i8* %fclose_fail, align 1 + %tobool12 = trunc i8 %7 to i1 + br i1 %tobool12, label %if.end, label %if.then13 + +if.then13: ; preds = %if.then + %call14 = call i32* @__errno_location() #25 + store i32 0, i32* %call14, align 4 + br label %if.end + +if.end: ; preds = %if.then13, %if.then + store i32 -1, i32* %retval, align 4 + br label %return + +if.end15: ; preds = %lor.lhs.false9, %lor.lhs.false + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end15, %if.end + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_colon(i8* %arg) #3 { +entry: + %arg.addr = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_char(i8* %0, i8 signext 58) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_char(i8* %arg, i8 signext %ch) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %ch.addr = alloca i8, align 1 + store i8* %arg, i8** %arg.addr, align 8 + store i8 %ch, i8* %ch.addr, align 1 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i8, i8* %ch.addr, align 1 + %call = call i8* @quotearg_char_mem(i8* %0, i64 -1, i8 signext %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_char_mem(i8* %arg, i64 %argsize, i8 signext %ch) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %ch.addr = alloca i8, align 1 + %options = alloca %struct.quoting_options, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store i8 %ch, i8* %ch.addr, align 1 + %0 = bitcast %struct.quoting_options* %options to i8* + %1 = call i8* @memcpy(i8* %0, i8* bitcast (%struct.quoting_options* @default_quoting_options to i8*), i64 56) + %2 = load i8, i8* %ch.addr, align 1 + %call = call i32 @set_char_quoting(%struct.quoting_options* %options, i8 signext %2, i32 1) + %3 = load i8*, i8** %arg.addr, align 8 + %4 = load i64, i64* %argsize.addr, align 8 + %call1 = call i8* @quotearg_n_options(i32 0, i8* %3, i64 %4, %struct.quoting_options* %options) + ret i8* %call1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fclose(%struct._IO_FILE* nonnull %fp) #3 { +entry: + %retval = alloca i32, align 4 + %fp.addr = alloca %struct._IO_FILE*, align 8 + %saved_errno = alloca i32, align 4 + %fd = alloca i32, align 4 + %result = alloca i32, align 4 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + store i32 0, i32* %saved_errno, align 4 + store i32 0, i32* %result, align 4 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.610*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %0) #11 + store i32 %call, i32* %fd, align 4 + %1 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %1, 0 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call1 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.570*)* @fclose to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %2) + store i32 %call1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %call2 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.521*)* @__freading to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %2) #11 + %cmp3 = icmp ne i32 %call2, 0 + br i1 %cmp3, label %lor.lhs.false, label %land.lhs.true + +lor.lhs.false: ; preds = %if.end + %3 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call4 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.610*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %3) #11 + %call5 = call i64 @lseek(i32 %call4, i64 0, i32 1) #11 + %cmp6 = icmp ne i64 %call5, -1 + br i1 %cmp6, label %land.lhs.true, label %if.end10 + +land.lhs.true: ; preds = %lor.lhs.false, %if.end + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call7 = call i32 @rpl_fflush(%struct._IO_FILE* %4) + %tobool = icmp ne i32 %call7, 0 + br i1 %tobool, label %if.then8, label %if.end10 + +if.then8: ; preds = %land.lhs.true + %call9 = call i32* @__errno_location() #25 + %5 = load i32, i32* %call9, align 4 + store i32 %5, i32* %saved_errno, align 4 + br label %if.end10 + +if.end10: ; preds = %if.then8, %land.lhs.true, %lor.lhs.false + %6 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call11 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.570*)* @fclose to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %6) + store i32 %call11, i32* %result, align 4 + %7 = load i32, i32* %saved_errno, align 4 + %cmp12 = icmp ne i32 %7, 0 + br i1 %cmp12, label %if.then13, label %if.end15 + +if.then13: ; preds = %if.end10 + %8 = load i32, i32* %saved_errno, align 4 + %call14 = call i32* @__errno_location() #25 + store i32 %8, i32* %call14, align 4 + store i32 -1, i32* %result, align 4 + br label %if.end15 + +if.end15: ; preds = %if.then13, %if.end10 + %9 = load i32, i32* %result, align 4 + store i32 %9, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end15, %if.then + %10 = load i32, i32* %retval, align 4 + ret i32 %10 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fflush(%struct._IO_FILE* %stream) #3 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %cmp = icmp eq %struct._IO_FILE* %0, null + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.521*)* @__freading to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %1) #11 + %cmp1 = icmp ne i32 %call, 0 + br i1 %cmp1, label %if.end, label %if.then + +if.then: ; preds = %lor.lhs.false, %entry + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call2 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.570*)* @fflush to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %2) + store i32 %call2, i32* %retval, align 4 + br label %return + +if.end: ; preds = %lor.lhs.false + %3 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + call void @clear_ungetc_buffer_preserving_position(%struct._IO_FILE* %3) + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call3 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.570*)* @fflush to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %4) + store i32 %call3, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %5 = load i32, i32* %retval, align 4 + ret i32 %5 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @clear_ungetc_buffer_preserving_position(%struct._IO_FILE* %fp) #3 { +entry: + %fp.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_flags = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %0, i32 0, i32 0 + %1 = load i32, i32* %_flags, align 8 + %and = and i32 %1, 256 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 @rpl_fseeko(%struct._IO_FILE* %2, i64 0, i32 1) + br label %if.end + +if.end: ; preds = %if.then, %entry + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fseeko(%struct._IO_FILE* nonnull %fp, i64 %offset, i32 %whence) #3 { +entry: + %retval = alloca i32, align 4 + %fp.addr = alloca %struct._IO_FILE*, align 8 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + %pos = alloca i64, align 8 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_read_end = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %0, i32 0, i32 2 + %1 = load i8*, i8** %_IO_read_end, align 8 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_read_ptr = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %2, i32 0, i32 1 + %3 = load i8*, i8** %_IO_read_ptr, align 8 + %cmp = icmp eq i8* %1, %3 + br i1 %cmp, label %land.lhs.true, label %if.end7 + +land.lhs.true: ; preds = %entry + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_write_ptr = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %4, i32 0, i32 5 + %5 = load i8*, i8** %_IO_write_ptr, align 8 + %6 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_write_base = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %6, i32 0, i32 4 + %7 = load i8*, i8** %_IO_write_base, align 8 + %cmp1 = icmp eq i8* %5, %7 + br i1 %cmp1, label %land.lhs.true2, label %if.end7 + +land.lhs.true2: ; preds = %land.lhs.true + %8 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_save_base = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %8, i32 0, i32 9 + %9 = load i8*, i8** %_IO_save_base, align 8 + %cmp3 = icmp eq i8* %9, null + br i1 %cmp3, label %if.then, label %if.end7 + +if.then: ; preds = %land.lhs.true2 + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.610*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %10) #11 + %11 = load i64, i64* %offset.addr, align 8 + %12 = load i32, i32* %whence.addr, align 4 + %call4 = call i64 @lseek(i32 %call, i64 %11, i32 %12) #11 + store i64 %call4, i64* %pos, align 8 + %13 = load i64, i64* %pos, align 8 + %cmp5 = icmp eq i64 %13, -1 + br i1 %cmp5, label %if.then6, label %if.end + +if.then6: ; preds = %if.then + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %if.then + %14 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_flags = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %14, i32 0, i32 0 + %15 = load i32, i32* %_flags, align 8 + %and = and i32 %15, -17 + store i32 %and, i32* %_flags, align 8 + %16 = load i64, i64* %pos, align 8 + %17 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_offset = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %17, i32 0, i32 21 + store i64 %16, i64* %_offset, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.end7: ; preds = %land.lhs.true2, %land.lhs.true, %entry + %18 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %19 = load i64, i64* %offset.addr, align 8 + %20 = load i32, i32* %whence.addr, align 4 + %call8 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.638*, i64, i32)* @fseeko to i32 (%struct._IO_FILE*, i64, i32)*)(%struct._IO_FILE* %18, i64 %19, i32 %20) + store i32 %call8, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end7, %if.end, %if.then6 + %21 = load i32, i32* %retval, align 4 + ret i32 %21 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @close_stdout_set_file_name(i8* %file) #3 { +entry: + %file.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + store i8* %0, i8** @file_name, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @close_stdout_set_ignore_EPIPE(i1 zeroext %ignore) #3 { +entry: + %ignore.addr = alloca i8, align 1 + %frombool = zext i1 %ignore to i8 + store i8 %frombool, i8* %ignore.addr, align 1 + %0 = load i8, i8* %ignore.addr, align 1 + %tobool = trunc i8 %0 to i1 + %frombool1 = zext i1 %tobool to i8 + store i8 %frombool1, i8* @ignore_EPIPE, align 1 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local %struct.quoting_options* @clone_quoting_options(%struct.quoting_options* %o) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %p = alloca %struct.quoting_options*, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %call = call i32* @__errno_location() #25 + %0 = load i32, i32* %call, align 4 + store i32 %0, i32* %e, align 4 + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %1, null + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %2, %struct.quoting_options* @default_quoting_options + %3 = bitcast %struct.quoting_options* %cond to i8* + %call1 = call i8* @xmemdup(i8* %3, i64 56) + %4 = bitcast i8* %call1 to %struct.quoting_options* + store %struct.quoting_options* %4, %struct.quoting_options** %p, align 8 + %5 = load i32, i32* %e, align 4 + %call2 = call i32* @__errno_location() #25 + store i32 %5, i32* %call2, align 4 + %6 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + ret %struct.quoting_options* %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @xmemdup(i8* %p, i64 %s) #3 { +entry: + %p.addr = alloca i8*, align 8 + %s.addr = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %call = call noalias i8* @xmalloc(i64 %0) + %1 = load i8*, i8** %p.addr, align 8 + %2 = load i64, i64* %s.addr, align 8 + %3 = call i8* @memcpy(i8* %call, i8* %1, i64 %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @get_quoting_style(%struct.quoting_options* %o) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %1, %struct.quoting_options* @default_quoting_options + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %cond, i32 0, i32 0 + %2 = load i32, i32* %style, align 8 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_quoting_style(%struct.quoting_options* %o, i32 %s) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %s.addr = alloca i32, align 4 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i32 %s, i32* %s.addr, align 4 + %0 = load i32, i32* %s.addr, align 4 + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %1, null + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %2, %struct.quoting_options* @default_quoting_options + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %cond, i32 0, i32 0 + store i32 %0, i32* %style, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @set_quoting_flags(%struct.quoting_options* %o, i32 %i) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %i.addr = alloca i32, align 4 + %r = alloca i32, align 4 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i32 %i, i32* %i.addr, align 4 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store %struct.quoting_options* @default_quoting_options, %struct.quoting_options** %o.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %flags = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %1, i32 0, i32 1 + %2 = load i32, i32* %flags, align 4 + store i32 %2, i32* %r, align 4 + %3 = load i32, i32* %i.addr, align 4 + %4 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %flags1 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %4, i32 0, i32 1 + store i32 %3, i32* %flags1, align 4 + %5 = load i32, i32* %r, align 4 + ret i32 %5 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_custom_quoting(%struct.quoting_options* %o, i8* %left_quote, i8* %right_quote) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store %struct.quoting_options* @default_quoting_options, %struct.quoting_options** %o.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %1, i32 0, i32 0 + store i32 10, i32* %style, align 8 + %2 = load i8*, i8** %left_quote.addr, align 8 + %tobool1 = icmp ne i8* %2, null + %3 = load i8*, i8** %right_quote.addr, align 8 + %tobool2 = icmp ne i8* %3, null + %or.cond = and i1 %tobool1, %tobool2 + br i1 %or.cond, label %if.end4, label %if.then3 + +if.then3: ; preds = %if.end + call void @abort() #26 + unreachable + +if.end4: ; preds = %if.end + %4 = load i8*, i8** %left_quote.addr, align 8 + %5 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %left_quote5 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %5, i32 0, i32 3 + store i8* %4, i8** %left_quote5, align 8 + %6 = load i8*, i8** %right_quote.addr, align 8 + %7 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %right_quote6 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %7, i32 0, i32 4 + store i8* %6, i8** %right_quote6, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @quotearg_buffer(i8* %buffer, i64 %buffersize, i8* %arg, i64 %argsize, %struct.quoting_options* %o) #3 { +entry: + %buffer.addr = alloca i8*, align 8 + %buffersize.addr = alloca i64, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o.addr = alloca %struct.quoting_options*, align 8 + %p = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %r = alloca i64, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %buffersize, i64* %buffersize.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %1, %struct.quoting_options* @default_quoting_options + store %struct.quoting_options* %cond, %struct.quoting_options** %p, align 8 + %call = call i32* @__errno_location() #25 + %2 = load i32, i32* %call, align 4 + store i32 %2, i32* %e, align 4 + %3 = load i8*, i8** %buffer.addr, align 8 + %4 = load i64, i64* %buffersize.addr, align 8 + %5 = load i8*, i8** %arg.addr, align 8 + %6 = load i64, i64* %argsize.addr, align 8 + %7 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %7, i32 0, i32 0 + %8 = load i32, i32* %style, align 8 + %9 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %flags = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %9, i32 0, i32 1 + %10 = load i32, i32* %flags, align 4 + %11 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %11, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %12 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %left_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %12, i32 0, i32 3 + %13 = load i8*, i8** %left_quote, align 8 + %14 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %right_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %14, i32 0, i32 4 + %15 = load i8*, i8** %right_quote, align 8 + %call1 = call i64 @quotearg_buffer_restyled(i8* %3, i64 %4, i8* %5, i64 %6, i32 %8, i32 %10, i32* %arraydecay, i8* %13, i8* %15) + store i64 %call1, i64* %r, align 8 + %16 = load i32, i32* %e, align 4 + %call2 = call i32* @__errno_location() #25 + store i32 %16, i32* %call2, align 4 + %17 = load i64, i64* %r, align 8 + ret i64 %17 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_alloc(i8* %arg, i64 %argsize, %struct.quoting_options* %o) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o.addr = alloca %struct.quoting_options*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %call = call i8* @quotearg_alloc_mem(i8* %0, i64 %1, i64* null, %struct.quoting_options* %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_alloc_mem(i8* %arg, i64 %argsize, i64* %size, %struct.quoting_options* %o) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %size.addr = alloca i64*, align 8 + %o.addr = alloca %struct.quoting_options*, align 8 + %p = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %flags = alloca i32, align 4 + %bufsize = alloca i64, align 8 + %buf = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store i64* %size, i64** %size.addr, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %1, %struct.quoting_options* @default_quoting_options + store %struct.quoting_options* %cond, %struct.quoting_options** %p, align 8 + %call = call i32* @__errno_location() #25 + %2 = load i32, i32* %call, align 4 + store i32 %2, i32* %e, align 4 + %3 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %flags1 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %3, i32 0, i32 1 + %4 = load i32, i32* %flags1, align 4 + %5 = load i64*, i64** %size.addr, align 8 + %tobool2 = icmp ne i64* %5, null + %6 = zext i1 %tobool2 to i64 + %cond3 = select i1 %tobool2, i32 0, i32 1 + %or = or i32 %4, %cond3 + store i32 %or, i32* %flags, align 4 + %7 = load i8*, i8** %arg.addr, align 8 + %8 = load i64, i64* %argsize.addr, align 8 + %9 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %9, i32 0, i32 0 + %10 = load i32, i32* %style, align 8 + %11 = load i32, i32* %flags, align 4 + %12 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %12, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %13 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %left_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %13, i32 0, i32 3 + %14 = load i8*, i8** %left_quote, align 8 + %15 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %right_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %15, i32 0, i32 4 + %16 = load i8*, i8** %right_quote, align 8 + %call4 = call i64 @quotearg_buffer_restyled(i8* null, i64 0, i8* %7, i64 %8, i32 %10, i32 %11, i32* %arraydecay, i8* %14, i8* %16) + %add = add i64 %call4, 1 + store i64 %add, i64* %bufsize, align 8 + %17 = load i64, i64* %bufsize, align 8 + %call5 = call noalias i8* @xcharalloc(i64 %17) + store i8* %call5, i8** %buf, align 8 + %18 = load i8*, i8** %buf, align 8 + %19 = load i64, i64* %bufsize, align 8 + %20 = load i8*, i8** %arg.addr, align 8 + %21 = load i64, i64* %argsize.addr, align 8 + %22 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %style6 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %22, i32 0, i32 0 + %23 = load i32, i32* %style6, align 8 + %24 = load i32, i32* %flags, align 4 + %25 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %quote_these_too7 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %25, i32 0, i32 2 + %arraydecay8 = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too7, i64 0, i64 0 + %26 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %left_quote9 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %26, i32 0, i32 3 + %27 = load i8*, i8** %left_quote9, align 8 + %28 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %right_quote10 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %28, i32 0, i32 4 + %29 = load i8*, i8** %right_quote10, align 8 + %call11 = call i64 @quotearg_buffer_restyled(i8* %18, i64 %19, i8* %20, i64 %21, i32 %23, i32 %24, i32* %arraydecay8, i8* %27, i8* %29) + %30 = load i32, i32* %e, align 4 + %call12 = call i32* @__errno_location() #25 + store i32 %30, i32* %call12, align 4 + %31 = load i64*, i64** %size.addr, align 8 + %tobool13 = icmp ne i64* %31, null + br i1 %tobool13, label %if.then, label %if.end + +if.then: ; preds = %entry + %32 = load i64, i64* %bufsize, align 8 + %sub = sub i64 %32, 1 + %33 = load i64*, i64** %size.addr, align 8 + store i64 %sub, i64* %33, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %34 = load i8*, i8** %buf, align 8 + ret i8* %34 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @quotearg_free() #3 { +entry: + %sv = alloca %struct.slotvec*, align 8 + %i = alloca i32, align 4 + %0 = load %struct.slotvec*, %struct.slotvec** @slotvec, align 8 + store %struct.slotvec* %0, %struct.slotvec** %sv, align 8 + store i32 1, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %1 = load i32, i32* %i, align 4 + %2 = load i32, i32* @nslots, align 4 + %cmp = icmp slt i32 %1, %2 + %3 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %4 = load i32, i32* %i, align 4 + %idxprom = sext i32 %4 to i64 + %arrayidx = getelementptr inbounds %struct.slotvec, %struct.slotvec* %3, i64 %idxprom + %val = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx, i32 0, i32 1 + %5 = load i8*, i8** %val, align 8 + call void @free(i8* %5) #11 + %6 = load i32, i32* %i, align 4 + %inc = add nsw i32 %6, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %arrayidx1 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %3, i64 0 + %val2 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx1, i32 0, i32 1 + %7 = load i8*, i8** %val2, align 8 + %cmp3 = icmp ne i8* %7, getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i64 0, i64 0) + br i1 %cmp3, label %if.then, label %if.end + +if.then: ; preds = %for.end + %8 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %arrayidx4 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %8, i64 0 + %val5 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx4, i32 0, i32 1 + %9 = load i8*, i8** %val5, align 8 + call void @free(i8* %9) #11 + store i64 256, i64* getelementptr inbounds (%struct.slotvec, %struct.slotvec* @slotvec0, i32 0, i32 0), align 8 + store i8* getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i64 0, i64 0), i8** getelementptr inbounds (%struct.slotvec, %struct.slotvec* @slotvec0, i32 0, i32 1), align 8 + br label %if.end + +if.end: ; preds = %if.then, %for.end + %10 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %cmp6 = icmp ne %struct.slotvec* %10, @slotvec0 + br i1 %cmp6, label %if.then7, label %if.end8 + +if.then7: ; preds = %if.end + %11 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %12 = bitcast %struct.slotvec* %11 to i8* + call void @free(i8* %12) #11 + store %struct.slotvec* @slotvec0, %struct.slotvec** @slotvec, align 8 + br label %if.end8 + +if.end8: ; preds = %if.then7, %if.end + store i32 1, i32* @nslots, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n(i32 %n, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %0, i8* %1, i64 -1, %struct.quoting_options* @default_quoting_options) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_mem(i32 %n, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %2 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %0, i8* %1, i64 %2, %struct.quoting_options* @default_quoting_options) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg(i8* %arg) #3 { +entry: + %arg.addr = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n(i32 0, i8* %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_mem(i8* %arg, i64 %argsize) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_mem(i32 0, i8* %0, i64 %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_style_mem(i32 %s, i8* %arg, i64 %argsize) #3 { +entry: + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %2 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_style_mem(i32 0, i32 %0, i8* %1, i64 %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_colon_mem(i8* %arg, i64 %argsize) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_char_mem(i8* %0, i64 %1, i8 signext 58) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_custom(i32 %n, i8* %left_quote, i8* %right_quote, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %left_quote.addr, align 8 + %2 = load i8*, i8** %right_quote.addr, align 8 + %3 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_custom_mem(i32 %0, i8* %1, i8* %2, i8* %3, i64 -1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_custom_mem(i32 %n, i8* %left_quote, i8* %right_quote, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = bitcast %struct.quoting_options* %o to i8* + %1 = call i8* @memcpy(i8* %0, i8* bitcast (%struct.quoting_options* @default_quoting_options to i8*), i64 56) + %2 = load i8*, i8** %left_quote.addr, align 8 + %3 = load i8*, i8** %right_quote.addr, align 8 + call void @set_custom_quoting(%struct.quoting_options* %o, i8* %2, i8* %3) + %4 = load i32, i32* %n.addr, align 4 + %5 = load i8*, i8** %arg.addr, align 8 + %6 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %4, i8* %5, i64 %6, %struct.quoting_options* %o) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_custom(i8* %left_quote, i8* %right_quote, i8* %arg) #3 { +entry: + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %left_quote.addr, align 8 + %1 = load i8*, i8** %right_quote.addr, align 8 + %2 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_custom(i32 0, i8* %0, i8* %1, i8* %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_custom_mem(i8* %left_quote, i8* %right_quote, i8* %arg, i64 %argsize) #3 { +entry: + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %left_quote.addr, align 8 + %1 = load i8*, i8** %right_quote.addr, align 8 + %2 = load i8*, i8** %arg.addr, align 8 + %3 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_custom_mem(i32 0, i8* %0, i8* %1, i8* %2, i64 %3) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote_mem(i8* %arg, i64 %argsize) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quote_n_mem(i32 0, i8* %0, i64 %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc_ar(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, i8** %authors) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors.addr = alloca i8**, align 8 + %n_authors = alloca i64, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + store i8** %authors, i8*** %authors.addr, align 8 + store i64 0, i64* %n_authors, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i8**, i8*** %authors.addr, align 8 + %1 = load i64, i64* %n_authors, align 8 + %arrayidx = getelementptr inbounds i8*, i8** %0, i64 %1 + %2 = load i8*, i8** %arrayidx, align 8 + %tobool = icmp ne i8* %2, null + br i1 %tobool, label %for.inc, label %for.end + +for.inc: ; preds = %for.cond + %3 = load i64, i64* %n_authors, align 8 + %inc = add i64 %3, 1 + store i64 %inc, i64* %n_authors, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %5 = load i8*, i8** %command_name.addr, align 8 + %6 = load i8*, i8** %package.addr, align 8 + %7 = load i8*, i8** %version.addr, align 8 + %8 = load i8**, i8*** %authors.addr, align 8 + %9 = load i64, i64* %n_authors, align 8 + call void @version_etc_arn(%struct._IO_FILE* %4, i8* %5, i8* %6, i8* %7, i8** %8, i64 %9) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @emit_bug_reporting_address() #3 { +entry: + %0 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.570** @stdout to %struct._IO_FILE**), align 8 + %call = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.623*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.91, i64 0, i64 0), %struct._IO_FILE* %0) + %call1 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.16.106, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.17.107, i64 0, i64 0)) + %call2 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.18.108, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.19.109, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.20.110, i64 0, i64 0)) + %call3 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.21.111, i64 0, i64 0), i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.22.112, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xnmalloc(i64 %n, i64 %s) #3 { +entry: + %n.addr = alloca i64, align 8 + %s.addr = alloca i64, align 8 + store i64 %n, i64* %n.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %div = udiv i64 9223372036854775807, %0 + %1 = load i64, i64* %n.addr, align 8 + %cmp = icmp ult i64 %div, %1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %entry + %2 = load i64, i64* %n.addr, align 8 + %3 = load i64, i64* %s.addr, align 8 + %mul = mul i64 %2, %3 + %call = call noalias i8* @xmalloc(i64 %mul) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @xnrealloc(i8* %p, i64 %n, i64 %s) #3 { +entry: + %p.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %s.addr = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %div = udiv i64 9223372036854775807, %0 + %1 = load i64, i64* %n.addr, align 8 + %cmp = icmp ult i64 %div, %1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %p.addr, align 8 + %3 = load i64, i64* %n.addr, align 8 + %4 = load i64, i64* %s.addr, align 8 + %mul = mul i64 %3, %4 + %call = call i8* @xrealloc(i8* %2, i64 %mul) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @x2nrealloc(i8* %p, i64* %pn, i64 %s) #3 { +entry: + %p.addr = alloca i8*, align 8 + %pn.addr = alloca i64*, align 8 + %s.addr = alloca i64, align 8 + %n = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64* %pn, i64** %pn.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64*, i64** %pn.addr, align 8 + %1 = load i64, i64* %0, align 8 + store i64 %1, i64* %n, align 8 + %2 = load i8*, i8** %p.addr, align 8 + %tobool = icmp ne i8* %2, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %3 = load i64, i64* %n, align 8 + %tobool1 = icmp ne i64 %3, 0 + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + %4 = load i64, i64* %s.addr, align 8 + %div = udiv i64 128, %4 + store i64 %div, i64* %n, align 8 + %5 = load i64, i64* %n, align 8 + %tobool3 = icmp ne i64 %5, 0 + %lnot = xor i1 %tobool3, true + %lnot.ext = zext i1 %lnot to i32 + %conv = sext i32 %lnot.ext to i64 + %6 = load i64, i64* %n, align 8 + %add = add i64 %6, %conv + store i64 %add, i64* %n, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %7 = load i64, i64* %s.addr, align 8 + %div4 = udiv i64 9223372036854775807, %7 + %8 = load i64, i64* %n, align 8 + %cmp = icmp ult i64 %div4, %8 + br i1 %cmp, label %if.then6, label %if.end16 + +if.then6: ; preds = %if.end + call void @xalloc_die() #24 + unreachable + +if.else: ; preds = %entry + %9 = load i64, i64* %s.addr, align 8 + %div8 = udiv i64 6148914691236517204, %9 + %10 = load i64, i64* %n, align 8 + %cmp9 = icmp ule i64 %div8, %10 + br i1 %cmp9, label %if.then11, label %if.end12 + +if.then11: ; preds = %if.else + call void @xalloc_die() #24 + unreachable + +if.end12: ; preds = %if.else + %11 = load i64, i64* %n, align 8 + %div13 = udiv i64 %11, 2 + %add14 = add i64 %div13, 1 + %12 = load i64, i64* %n, align 8 + %add15 = add i64 %12, %add14 + store i64 %add15, i64* %n, align 8 + br label %if.end16 + +if.end16: ; preds = %if.end, %if.end12 + %13 = load i64, i64* %n, align 8 + %14 = load i64*, i64** %pn.addr, align 8 + store i64 %13, i64* %14, align 8 + %15 = load i8*, i8** %p.addr, align 8 + %16 = load i64, i64* %n, align 8 + %17 = load i64, i64* %s.addr, align 8 + %mul = mul i64 %16, %17 + %call = call i8* @xrealloc(i8* %15, i64 %mul) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @x2realloc(i8* %p, i64* %pn) #3 { +entry: + %p.addr = alloca i8*, align 8 + %pn.addr = alloca i64*, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64* %pn, i64** %pn.addr, align 8 + %0 = load i8*, i8** %p.addr, align 8 + %1 = load i64*, i64** %pn.addr, align 8 + %call = call i8* @x2nrealloc(i8* %0, i64* %1, i64 1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xzalloc(i64 %n) #3 { +entry: + %n.addr = alloca i64, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @xcalloc(i64 %0, i64 1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xcalloc(i64 %n, i64 %s) #3 { +entry: + %n.addr = alloca i64, align 8 + %s.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i64 %n, i64* %n.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %div = udiv i64 9223372036854775807, %0 + %1 = load i64, i64* %n.addr, align 8 + %cmp = icmp ult i64 %div, %1 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load i64, i64* %n.addr, align 8 + %3 = load i64, i64* %s.addr, align 8 + %call = call noalias i8* @calloc(i64 %2, i64 %3) #11 + store i8* %call, i8** %p, align 8 + %tobool = icmp ne i8* %call, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %lor.lhs.false, %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %lor.lhs.false + %4 = load i8*, i8** %p, align 8 + ret i8* %4 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xstrdup(i8* %string) #3 { +entry: + %string.addr = alloca i8*, align 8 + store i8* %string, i8** %string.addr, align 8 + %0 = load i8*, i8** %string.addr, align 8 + %1 = load i8*, i8** %string.addr, align 8 + %call = call i64 @strlen(i8* %1) #23 + %add = add i64 %call, 1 + %call1 = call i8* @xmemdup(i8* %0, i64 %add) + ret i8* %call1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @setlocale_null(i32 %category) #3 { +entry: + %category.addr = alloca i32, align 4 + store i32 %category, i32* %category.addr, align 4 + %0 = load i32, i32* %category.addr, align 4 + %call = call i8* @setlocale_null_androidfix(i32 %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isalnum(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock121 + +NodeBlock121: ; preds = %entry + %case.cmp122 = icmp eq i32 %0, 48 + br i1 %case.cmp122, label %sw.bb, label %NodeBlock119 + +NodeBlock119: ; preds = %NodeBlock121 + %case.cmp120 = icmp eq i32 %0, 49 + br i1 %case.cmp120, label %sw.bb, label %NodeBlock117 + +NodeBlock117: ; preds = %NodeBlock119 + %case.cmp118 = icmp eq i32 %0, 50 + br i1 %case.cmp118, label %sw.bb, label %NodeBlock115 + +NodeBlock115: ; preds = %NodeBlock117 + %case.cmp116 = icmp eq i32 %0, 51 + br i1 %case.cmp116, label %sw.bb, label %NodeBlock113 + +NodeBlock113: ; preds = %NodeBlock115 + %case.cmp114 = icmp eq i32 %0, 52 + br i1 %case.cmp114, label %sw.bb, label %NodeBlock111 + +NodeBlock111: ; preds = %NodeBlock113 + %case.cmp112 = icmp eq i32 %0, 53 + br i1 %case.cmp112, label %sw.bb, label %NodeBlock109 + +NodeBlock109: ; preds = %NodeBlock111 + %case.cmp110 = icmp eq i32 %0, 54 + br i1 %case.cmp110, label %sw.bb, label %NodeBlock107 + +NodeBlock107: ; preds = %NodeBlock109 + %case.cmp108 = icmp eq i32 %0, 55 + br i1 %case.cmp108, label %sw.bb, label %NodeBlock105 + +NodeBlock105: ; preds = %NodeBlock107 + %case.cmp106 = icmp eq i32 %0, 56 + br i1 %case.cmp106, label %sw.bb, label %NodeBlock103 + +NodeBlock103: ; preds = %NodeBlock105 + %case.cmp104 = icmp eq i32 %0, 57 + br i1 %case.cmp104, label %sw.bb, label %NodeBlock101 + +NodeBlock101: ; preds = %NodeBlock103 + %case.cmp102 = icmp eq i32 %0, 97 + br i1 %case.cmp102, label %sw.bb, label %NodeBlock99 + +NodeBlock99: ; preds = %NodeBlock101 + %case.cmp100 = icmp eq i32 %0, 98 + br i1 %case.cmp100, label %sw.bb, label %NodeBlock97 + +NodeBlock97: ; preds = %NodeBlock99 + %case.cmp98 = icmp eq i32 %0, 99 + br i1 %case.cmp98, label %sw.bb, label %NodeBlock95 + +NodeBlock95: ; preds = %NodeBlock97 + %case.cmp96 = icmp eq i32 %0, 100 + br i1 %case.cmp96, label %sw.bb, label %NodeBlock93 + +NodeBlock93: ; preds = %NodeBlock95 + %case.cmp94 = icmp eq i32 %0, 101 + br i1 %case.cmp94, label %sw.bb, label %NodeBlock91 + +NodeBlock91: ; preds = %NodeBlock93 + %case.cmp92 = icmp eq i32 %0, 102 + br i1 %case.cmp92, label %sw.bb, label %NodeBlock89 + +NodeBlock89: ; preds = %NodeBlock91 + %case.cmp90 = icmp eq i32 %0, 103 + br i1 %case.cmp90, label %sw.bb, label %NodeBlock87 + +NodeBlock87: ; preds = %NodeBlock89 + %case.cmp88 = icmp eq i32 %0, 104 + br i1 %case.cmp88, label %sw.bb, label %NodeBlock85 + +NodeBlock85: ; preds = %NodeBlock87 + %case.cmp86 = icmp eq i32 %0, 105 + br i1 %case.cmp86, label %sw.bb, label %NodeBlock83 + +NodeBlock83: ; preds = %NodeBlock85 + %case.cmp84 = icmp eq i32 %0, 106 + br i1 %case.cmp84, label %sw.bb, label %NodeBlock81 + +NodeBlock81: ; preds = %NodeBlock83 + %case.cmp82 = icmp eq i32 %0, 107 + br i1 %case.cmp82, label %sw.bb, label %NodeBlock79 + +NodeBlock79: ; preds = %NodeBlock81 + %case.cmp80 = icmp eq i32 %0, 108 + br i1 %case.cmp80, label %sw.bb, label %NodeBlock77 + +NodeBlock77: ; preds = %NodeBlock79 + %case.cmp78 = icmp eq i32 %0, 109 + br i1 %case.cmp78, label %sw.bb, label %NodeBlock75 + +NodeBlock75: ; preds = %NodeBlock77 + %case.cmp76 = icmp eq i32 %0, 110 + br i1 %case.cmp76, label %sw.bb, label %NodeBlock73 + +NodeBlock73: ; preds = %NodeBlock75 + %case.cmp74 = icmp eq i32 %0, 111 + br i1 %case.cmp74, label %sw.bb, label %NodeBlock71 + +NodeBlock71: ; preds = %NodeBlock73 + %case.cmp72 = icmp eq i32 %0, 112 + br i1 %case.cmp72, label %sw.bb, label %NodeBlock69 + +NodeBlock69: ; preds = %NodeBlock71 + %case.cmp70 = icmp eq i32 %0, 113 + br i1 %case.cmp70, label %sw.bb, label %NodeBlock67 + +NodeBlock67: ; preds = %NodeBlock69 + %case.cmp68 = icmp eq i32 %0, 114 + br i1 %case.cmp68, label %sw.bb, label %NodeBlock65 + +NodeBlock65: ; preds = %NodeBlock67 + %case.cmp66 = icmp eq i32 %0, 115 + br i1 %case.cmp66, label %sw.bb, label %NodeBlock63 + +NodeBlock63: ; preds = %NodeBlock65 + %case.cmp64 = icmp eq i32 %0, 116 + br i1 %case.cmp64, label %sw.bb, label %NodeBlock61 + +NodeBlock61: ; preds = %NodeBlock63 + %case.cmp62 = icmp eq i32 %0, 117 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 118 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 119 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 120 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 121 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 122 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 65 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 66 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 67 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 68 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 69 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 70 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 71 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 72 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 73 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 74 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 75 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 76 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 77 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 78 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 79 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 80 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 81 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 82 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 83 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 84 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 85 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 86 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 87 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 88 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 89 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 90 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock121, %NodeBlock119, %NodeBlock117, %NodeBlock115, %NodeBlock113, %NodeBlock111, %NodeBlock109, %NodeBlock107, %NodeBlock105, %NodeBlock103, %NodeBlock101, %NodeBlock99, %NodeBlock97, %NodeBlock95, %NodeBlock93, %NodeBlock91, %NodeBlock89, %NodeBlock87, %NodeBlock85, %NodeBlock83, %NodeBlock81, %NodeBlock79, %NodeBlock77, %NodeBlock75, %NodeBlock73, %NodeBlock71, %NodeBlock69, %NodeBlock67, %NodeBlock65, %NodeBlock63, %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isalpha(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock101 + +NodeBlock101: ; preds = %entry + %case.cmp102 = icmp eq i32 %0, 97 + br i1 %case.cmp102, label %sw.bb, label %NodeBlock99 + +NodeBlock99: ; preds = %NodeBlock101 + %case.cmp100 = icmp eq i32 %0, 98 + br i1 %case.cmp100, label %sw.bb, label %NodeBlock97 + +NodeBlock97: ; preds = %NodeBlock99 + %case.cmp98 = icmp eq i32 %0, 99 + br i1 %case.cmp98, label %sw.bb, label %NodeBlock95 + +NodeBlock95: ; preds = %NodeBlock97 + %case.cmp96 = icmp eq i32 %0, 100 + br i1 %case.cmp96, label %sw.bb, label %NodeBlock93 + +NodeBlock93: ; preds = %NodeBlock95 + %case.cmp94 = icmp eq i32 %0, 101 + br i1 %case.cmp94, label %sw.bb, label %NodeBlock91 + +NodeBlock91: ; preds = %NodeBlock93 + %case.cmp92 = icmp eq i32 %0, 102 + br i1 %case.cmp92, label %sw.bb, label %NodeBlock89 + +NodeBlock89: ; preds = %NodeBlock91 + %case.cmp90 = icmp eq i32 %0, 103 + br i1 %case.cmp90, label %sw.bb, label %NodeBlock87 + +NodeBlock87: ; preds = %NodeBlock89 + %case.cmp88 = icmp eq i32 %0, 104 + br i1 %case.cmp88, label %sw.bb, label %NodeBlock85 + +NodeBlock85: ; preds = %NodeBlock87 + %case.cmp86 = icmp eq i32 %0, 105 + br i1 %case.cmp86, label %sw.bb, label %NodeBlock83 + +NodeBlock83: ; preds = %NodeBlock85 + %case.cmp84 = icmp eq i32 %0, 106 + br i1 %case.cmp84, label %sw.bb, label %NodeBlock81 + +NodeBlock81: ; preds = %NodeBlock83 + %case.cmp82 = icmp eq i32 %0, 107 + br i1 %case.cmp82, label %sw.bb, label %NodeBlock79 + +NodeBlock79: ; preds = %NodeBlock81 + %case.cmp80 = icmp eq i32 %0, 108 + br i1 %case.cmp80, label %sw.bb, label %NodeBlock77 + +NodeBlock77: ; preds = %NodeBlock79 + %case.cmp78 = icmp eq i32 %0, 109 + br i1 %case.cmp78, label %sw.bb, label %NodeBlock75 + +NodeBlock75: ; preds = %NodeBlock77 + %case.cmp76 = icmp eq i32 %0, 110 + br i1 %case.cmp76, label %sw.bb, label %NodeBlock73 + +NodeBlock73: ; preds = %NodeBlock75 + %case.cmp74 = icmp eq i32 %0, 111 + br i1 %case.cmp74, label %sw.bb, label %NodeBlock71 + +NodeBlock71: ; preds = %NodeBlock73 + %case.cmp72 = icmp eq i32 %0, 112 + br i1 %case.cmp72, label %sw.bb, label %NodeBlock69 + +NodeBlock69: ; preds = %NodeBlock71 + %case.cmp70 = icmp eq i32 %0, 113 + br i1 %case.cmp70, label %sw.bb, label %NodeBlock67 + +NodeBlock67: ; preds = %NodeBlock69 + %case.cmp68 = icmp eq i32 %0, 114 + br i1 %case.cmp68, label %sw.bb, label %NodeBlock65 + +NodeBlock65: ; preds = %NodeBlock67 + %case.cmp66 = icmp eq i32 %0, 115 + br i1 %case.cmp66, label %sw.bb, label %NodeBlock63 + +NodeBlock63: ; preds = %NodeBlock65 + %case.cmp64 = icmp eq i32 %0, 116 + br i1 %case.cmp64, label %sw.bb, label %NodeBlock61 + +NodeBlock61: ; preds = %NodeBlock63 + %case.cmp62 = icmp eq i32 %0, 117 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 118 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 119 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 120 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 121 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 122 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 65 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 66 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 67 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 68 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 69 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 70 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 71 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 72 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 73 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 74 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 75 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 76 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 77 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 78 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 79 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 80 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 81 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 82 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 83 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 84 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 85 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 86 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 87 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 88 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 89 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 90 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock101, %NodeBlock99, %NodeBlock97, %NodeBlock95, %NodeBlock93, %NodeBlock91, %NodeBlock89, %NodeBlock87, %NodeBlock85, %NodeBlock83, %NodeBlock81, %NodeBlock79, %NodeBlock77, %NodeBlock75, %NodeBlock73, %NodeBlock71, %NodeBlock69, %NodeBlock67, %NodeBlock65, %NodeBlock63, %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isascii(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %switch = icmp ult i32 %0, 128 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isblank(i32 %c) #3 { +entry: + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %cmp = icmp eq i32 %0, 32 + %1 = load i32, i32* %c.addr, align 4 + %cmp1 = icmp eq i32 %1, 9 + %2 = select i1 %cmp, i1 true, i1 %cmp1 + ret i1 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_iscntrl(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock63 + +NodeBlock63: ; preds = %entry + %case.cmp64 = icmp eq i32 %0, 7 + br i1 %case.cmp64, label %sw.bb, label %NodeBlock61 + +NodeBlock61: ; preds = %NodeBlock63 + %case.cmp62 = icmp eq i32 %0, 8 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 12 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 10 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 13 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 9 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 11 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 0 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 1 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 2 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 3 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 4 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 5 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 6 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 14 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 15 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 16 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 17 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 18 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 19 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 20 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 21 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 22 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 23 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 24 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 25 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 26 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 27 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 28 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 29 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 30 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 31 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 127 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock63, %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isdigit(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -48 + %switch = icmp ult i32 %.off, 10 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isgraph(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -33 + %switch = icmp ult i32 %.off, 94 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_islower(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -97 + %switch = icmp ult i32 %.off, 26 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isprint(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -32 + %switch = icmp ult i32 %.off, 95 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_ispunct(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock61 + +NodeBlock61: ; preds = %entry + %case.cmp62 = icmp eq i32 %0, 33 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 34 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 35 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 36 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 37 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 38 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 39 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 40 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 41 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 42 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 43 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 44 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 45 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 46 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 47 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 58 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 59 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 60 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 61 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 62 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 63 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 64 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 91 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 92 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 93 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 94 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 95 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 96 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 123 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 124 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 125 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 126 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isspace(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock9 + +NodeBlock9: ; preds = %entry + %case.cmp10 = icmp eq i32 %0, 32 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 9 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 10 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 11 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 12 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 13 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isupper(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -65 + %switch = icmp ult i32 %.off, 26 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isxdigit(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock41 + +NodeBlock41: ; preds = %entry + %case.cmp42 = icmp eq i32 %0, 48 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 49 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 50 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 51 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 52 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 53 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 54 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 55 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 56 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 57 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 97 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 98 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 99 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 100 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 101 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 102 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 65 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 66 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 67 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 68 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 69 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 70 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @c_toupper(i32 %c) #3 { +entry: + %retval = alloca i32, align 4 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -97 + %switch = icmp ult i32 %.off, 26 + %1 = load i32, i32* %c.addr, align 4 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + %sub = sub nsw i32 %1, 97 + %add = add nsw i32 %sub, 65 + store i32 %add, i32* %retval, align 4 + br label %return + +sw.default: ; preds = %entry + store i32 %1, i32* %retval, align 4 + br label %return + +return: ; preds = %sw.default, %sw.bb + %2 = load i32, i32* %retval, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @klee_init_fds(i32 %n_files, i32 %file_length, i32 %stdin_length, i32 %sym_stdout_flag, i32 %save_all_writes_flag, i32 %max_failures) #3 { +entry: + %n_files.addr = alloca i32, align 4 + %file_length.addr = alloca i32, align 4 + %stdin_length.addr = alloca i32, align 4 + %sym_stdout_flag.addr = alloca i32, align 4 + %save_all_writes_flag.addr = alloca i32, align 4 + %max_failures.addr = alloca i32, align 4 + %k = alloca i32, align 4 + %name = alloca [7 x i8], align 1 + %s = alloca %struct.stat64, align 8 + store i32 %n_files, i32* %n_files.addr, align 4 + store i32 %file_length, i32* %file_length.addr, align 4 + store i32 %stdin_length, i32* %stdin_length.addr, align 4 + store i32 %sym_stdout_flag, i32* %sym_stdout_flag.addr, align 4 + store i32 %save_all_writes_flag, i32* %save_all_writes_flag.addr, align 4 + store i32 %max_failures, i32* %max_failures.addr, align 4 + %0 = bitcast [7 x i8]* %name to i8* + %1 = call i8* @memcpy(i8* %0, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @__const.klee_init_fds.name, i32 0, i32 0), i64 7) + %call = call i32 @stat64(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.140, i64 0, i64 0), %struct.stat64* %s) #11 + %2 = load i32, i32* %n_files.addr, align 4 + store i32 %2, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %3 = load i32, i32* %n_files.addr, align 4 + %conv = zext i32 %3 to i64 + %mul = mul i64 24, %conv + %call1 = call noalias i8* @malloc(i64 %mul) #11 + %4 = bitcast i8* %call1 to %struct.exe_disk_file_t* + store %struct.exe_disk_file_t* %4, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %5 = load i32, i32* %n_files.addr, align 4 + %tobool = icmp eq i32 %5, 0 + %6 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %6, null + %or.cond = or i1 %tobool, %tobool2 + br i1 %or.cond, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @gs_report_error.144(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.141, i64 0, i64 0), i32 124, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.142, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.143, i64 0, i64 0)) #24 + unreachable + +if.end: ; preds = %entry + store i32 0, i32* %k, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %7 = load i32, i32* %k, align 4 + %8 = load i32, i32* %n_files.addr, align 4 + %cmp = icmp ult i32 %7, %8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %9 = load i32, i32* %k, align 4 + %add = add i32 65, %9 + %conv4 = trunc i32 %add to i8 + %arrayidx = getelementptr inbounds [7 x i8], [7 x i8]* %name, i64 0, i64 0 + store i8 %conv4, i8* %arrayidx, align 1 + %10 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %11 = load i32, i32* %k, align 4 + %idxprom = zext i32 %11 to i64 + %arrayidx5 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %10, i64 %idxprom + %12 = load i32, i32* %file_length.addr, align 4 + %arraydecay = getelementptr inbounds [7 x i8], [7 x i8]* %name, i64 0, i64 0 + call void @__create_new_dfile(%struct.exe_disk_file_t* %arrayidx5, i32 %12, i8* %arraydecay, %struct.stat64* %s) + %13 = load i32, i32* %k, align 4 + %inc = add i32 %13, 1 + store i32 %inc, i32* %k, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %14 = load i32, i32* %stdin_length.addr, align 4 + %tobool6 = icmp ne i32 %14, 0 + br i1 %tobool6, label %if.then7, label %if.else + +if.then7: ; preds = %for.end + %call8 = call noalias i8* @malloc(i64 24) #11 + %15 = bitcast i8* %call8 to %struct.exe_disk_file_t* + store %struct.exe_disk_file_t* %15, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + %16 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + %tobool9 = icmp ne %struct.exe_disk_file_t* %16, null + br i1 %tobool9, label %if.end11, label %if.then10 + +if.then10: ; preds = %if.then7 + call void @gs_report_error.144(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.141, i64 0, i64 0), i32 135, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.142, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.143, i64 0, i64 0)) #24 + unreachable + +if.end11: ; preds = %if.then7 + %17 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + %18 = load i32, i32* %stdin_length.addr, align 4 + call void @__create_new_dfile(%struct.exe_disk_file_t* %17, i32 %18, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.4.145, i64 0, i64 0), %struct.stat64* %s) + %19 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + store %struct.exe_disk_file_t* %19, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0, i64 0, i32 3), align 8 + br label %if.end12 + +if.else: ; preds = %for.end + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + br label %if.end12 + +if.end12: ; preds = %if.else, %if.end11 + %20 = load i32, i32* %max_failures.addr, align 4 + store i32 %20, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %21 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool13 = icmp ne i32 %21, 0 + br i1 %tobool13, label %if.then14, label %if.end31 + +if.then14: ; preds = %if.end12 + %call15 = call noalias i8* @malloc(i64 4) #11 + %22 = bitcast i8* %call15 to i32* + store i32* %22, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %call16 = call noalias i8* @malloc(i64 4) #11 + %23 = bitcast i8* %call16 to i32* + store i32* %23, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %call17 = call noalias i8* @malloc(i64 4) #11 + %24 = bitcast i8* %call17 to i32* + store i32* %24, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %call18 = call noalias i8* @malloc(i64 4) #11 + %25 = bitcast i8* %call18 to i32* + store i32* %25, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %call19 = call noalias i8* @malloc(i64 4) #11 + %26 = bitcast i8* %call19 to i32* + store i32* %26, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %27 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %tobool20 = icmp ne i32* %27, null + %28 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %tobool22 = icmp ne i32* %28, null + %or.cond1 = and i1 %tobool20, %tobool22 + %29 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %tobool24 = icmp ne i32* %29, null + %or.cond2 = and i1 %or.cond1, %tobool24 + %30 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %tobool26 = icmp ne i32* %30, null + %or.cond3 = and i1 %or.cond2, %tobool26 + %31 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %tobool28 = icmp ne i32* %31, null + %or.cond4 = and i1 %or.cond3, %tobool28 + br i1 %or.cond4, label %if.end30, label %if.then29 + +if.then29: ; preds = %if.then14 + call void @gs_report_error.144(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.141, i64 0, i64 0), i32 150, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.142, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.143, i64 0, i64 0)) #24 + unreachable + +if.end30: ; preds = %if.then14 + %32 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %33 = bitcast i32* %32 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %33, i64 4, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.5.146, i64 0, i64 0)) + %34 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %35 = bitcast i32* %34 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %35, i64 4, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.6.147, i64 0, i64 0)) + %36 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %37 = bitcast i32* %36 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %37, i64 4, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.7.148, i64 0, i64 0)) + %38 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %39 = bitcast i32* %38 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %39, i64 4, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.8.149, i64 0, i64 0)) + %40 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %41 = bitcast i32* %40 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %41, i64 4, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.9.150, i64 0, i64 0)) + br label %if.end31 + +if.end31: ; preds = %if.end30, %if.end12 + %42 = load i32, i32* %sym_stdout_flag.addr, align 4 + %tobool32 = icmp ne i32 %42, 0 + br i1 %tobool32, label %if.then33, label %if.else38 + +if.then33: ; preds = %if.end31 + %call34 = call noalias i8* @malloc(i64 24) #11 + %43 = bitcast i8* %call34 to %struct.exe_disk_file_t* + store %struct.exe_disk_file_t* %43, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + %44 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + %tobool35 = icmp ne %struct.exe_disk_file_t* %44, null + br i1 %tobool35, label %if.end37, label %if.then36 + +if.then36: ; preds = %if.then33 + call void @gs_report_error.144(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.141, i64 0, i64 0), i32 163, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.142, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.143, i64 0, i64 0)) #24 + unreachable + +if.end37: ; preds = %if.then33 + %45 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + call void @__create_new_dfile(%struct.exe_disk_file_t* %45, i32 1024, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.10.151, i64 0, i64 0), %struct.stat64* %s) + %46 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + store %struct.exe_disk_file_t* %46, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0, i64 1, i32 3), align 8 + store i32 0, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 3), align 8 + br label %if.end39 + +if.else38: ; preds = %if.end31 + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + br label %if.end39 + +if.end39: ; preds = %if.else38, %if.end37 + %47 = load i32, i32* %save_all_writes_flag.addr, align 4 + store i32 %47, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 3), align 8 + %call40 = call i32 @__sym_uint32(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.11.152, i64 0, i64 0)) + store i32 %call40, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 2), align 4 + %48 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 2), align 4 + %cmp41 = icmp eq i32 %48, 1 + call void @gs_assume(i1 zeroext %cmp41) + ret void +} + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error.144(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.155, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__create_new_dfile(%struct.exe_disk_file_t* %dfile, i32 %size, i8* %name, %struct.stat64* %defaults) #3 { +entry: + %dfile.addr = alloca %struct.exe_disk_file_t*, align 8 + %size.addr = alloca i32, align 4 + %name.addr = alloca i8*, align 8 + %defaults.addr = alloca %struct.stat64*, align 8 + %s = alloca %struct.stat64*, align 8 + %sp = alloca i8*, align 8 + %sname = alloca [64 x i8], align 16 + store %struct.exe_disk_file_t* %dfile, %struct.exe_disk_file_t** %dfile.addr, align 8 + store i32 %size, i32* %size.addr, align 4 + store i8* %name, i8** %name.addr, align 8 + store %struct.stat64* %defaults, %struct.stat64** %defaults.addr, align 8 + %call = call noalias i8* @malloc(i64 144) #11 + %0 = bitcast i8* %call to %struct.stat64* + store %struct.stat64* %0, %struct.stat64** %s, align 8 + %1 = load %struct.stat64*, %struct.stat64** %s, align 8 + %tobool = icmp ne %struct.stat64* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @gs_report_error.144(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.141, i64 0, i64 0), i32 47, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.142, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.143, i64 0, i64 0)) #24 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %name.addr, align 8 + store i8* %2, i8** %sp, align 8 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %3 = load i8*, i8** %sp, align 8 + %4 = load i8, i8* %3, align 1 + %tobool1 = icmp ne i8 %4, 0 + %5 = load i8*, i8** %sp, align 8 + br i1 %tobool1, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %6 = load i8, i8* %5, align 1 + %7 = load i8*, i8** %sp, align 8 + %8 = load i8*, i8** %name.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %8 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %arrayidx = getelementptr inbounds [64 x i8], [64 x i8]* %sname, i64 0, i64 %sub.ptr.sub + store i8 %6, i8* %arrayidx, align 1 + %9 = load i8*, i8** %sp, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %sp, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %10 = load i8*, i8** %name.addr, align 8 + %sub.ptr.lhs.cast2 = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast3 = ptrtoint i8* %10 to i64 + %sub.ptr.sub4 = sub i64 %sub.ptr.lhs.cast2, %sub.ptr.rhs.cast3 + %arrayidx5 = getelementptr inbounds [64 x i8], [64 x i8]* %sname, i64 0, i64 %sub.ptr.sub4 + %11 = call i8* @memcpy(i8* %arrayidx5, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.13.153, i64 0, i64 0), i64 6) + %12 = load i32, i32* %size.addr, align 4 + %tobool6 = icmp ne i32 %12, 0 + br i1 %tobool6, label %if.end8, label %if.else + +if.else: ; preds = %for.end + call void @__assert_fail(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.14.154, i64 0, i64 0), i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.141, i64 0, i64 0), i32 55, i8* getelementptr inbounds ([88 x i8], [88 x i8]* @__PRETTY_FUNCTION__.__create_new_dfile, i64 0, i64 0)) #26 + unreachable + +if.end8: ; preds = %for.end + %13 = load i32, i32* %size.addr, align 4 + %14 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size9 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %14, i32 0, i32 0 + store i32 %13, i32* %size9, align 8 + %15 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size10 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %15, i32 0, i32 0 + %16 = load i32, i32* %size10, align 8 + %conv = zext i32 %16 to i64 + %call11 = call noalias i8* @malloc(i64 %conv) #11 + %17 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %contents = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %17, i32 0, i32 1 + store i8* %call11, i8** %contents, align 8 + %18 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %contents12 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %18, i32 0, i32 1 + %19 = load i8*, i8** %contents12, align 8 + %tobool13 = icmp ne i8* %19, null + br i1 %tobool13, label %if.end15, label %if.then14 + +if.then14: ; preds = %if.end8 + call void @gs_report_error.144(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.141, i64 0, i64 0), i32 60, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.142, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.143, i64 0, i64 0)) #24 + unreachable + +if.end15: ; preds = %if.end8 + %20 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %contents16 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %20, i32 0, i32 1 + %21 = load i8*, i8** %contents16, align 8 + %22 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size17 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %22, i32 0, i32 0 + %23 = load i32, i32* %size17, align 8 + %conv18 = zext i32 %23 to i64 + %24 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %21, i64 %conv18, i8* %24) + %25 = load %struct.stat64*, %struct.stat64** %s, align 8 + %26 = bitcast %struct.stat64* %25 to i8* + %arraydecay = getelementptr inbounds [64 x i8], [64 x i8]* %sname, i64 0, i64 0 + call void (i8*, i64, ...) @make_symbolic(i8* %26, i64 144, i8* %arraydecay) + %27 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %27, i32 0, i32 1 + %28 = load i64, i64* %st_ino, align 8 + %call19 = call i32 @gs_is_symbolic(i64 %28) + %tobool20 = icmp ne i32 %call19, 0 + br i1 %tobool20, label %if.end26, label %land.lhs.true + +land.lhs.true: ; preds = %if.end15 + %29 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino21 = getelementptr inbounds %struct.stat64, %struct.stat64* %29, i32 0, i32 1 + %30 = load i64, i64* %st_ino21, align 8 + %and = and i64 %30, 2147483647 + %cmp = icmp eq i64 %and, 0 + br i1 %cmp, label %if.then23, label %if.end26 + +if.then23: ; preds = %land.lhs.true + %31 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_ino24 = getelementptr inbounds %struct.stat64, %struct.stat64* %31, i32 0, i32 1 + %32 = load i64, i64* %st_ino24, align 8 + %33 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino25 = getelementptr inbounds %struct.stat64, %struct.stat64* %33, i32 0, i32 1 + store i64 %32, i64* %st_ino25, align 8 + br label %if.end26 + +if.end26: ; preds = %if.then23, %land.lhs.true, %if.end15 + %34 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino27 = getelementptr inbounds %struct.stat64, %struct.stat64* %34, i32 0, i32 1 + %35 = load i64, i64* %st_ino27, align 8 + %and28 = and i64 %35, 2147483647 + %cmp29 = icmp ne i64 %and28, 0 + call void @gs_assume(i1 zeroext %cmp29) + %36 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_blksize = getelementptr inbounds %struct.stat64, %struct.stat64* %36, i32 0, i32 9 + %37 = load i64, i64* %st_blksize, align 8 + %and31 = and i64 %37, -65536 + %cmp32 = icmp eq i64 %and31, 0 + call void @gs_assume(i1 zeroext %cmp32) + %38 = load %struct.stat64*, %struct.stat64** %s, align 8 + %39 = bitcast %struct.stat64* %38 to i8* + %40 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %40, i32 0, i32 3 + %41 = load i32, i32* %st_mode, align 8 + %and34 = and i32 %41, -61952 + %tobool35 = icmp ne i32 %and34, 0 + %lnot = xor i1 %tobool35, true + call void @gs_prefer_cex(i8* %39, i1 zeroext %lnot) + %42 = load %struct.stat64*, %struct.stat64** %s, align 8 + %43 = bitcast %struct.stat64* %42 to i8* + %44 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_dev = getelementptr inbounds %struct.stat64, %struct.stat64* %44, i32 0, i32 0 + %45 = load i64, i64* %st_dev, align 8 + %46 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_dev36 = getelementptr inbounds %struct.stat64, %struct.stat64* %46, i32 0, i32 0 + %47 = load i64, i64* %st_dev36, align 8 + %cmp37 = icmp eq i64 %45, %47 + call void @gs_prefer_cex(i8* %43, i1 zeroext %cmp37) + %48 = load %struct.stat64*, %struct.stat64** %s, align 8 + %49 = bitcast %struct.stat64* %48 to i8* + %50 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_rdev = getelementptr inbounds %struct.stat64, %struct.stat64* %50, i32 0, i32 7 + %51 = load i64, i64* %st_rdev, align 8 + %52 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_rdev39 = getelementptr inbounds %struct.stat64, %struct.stat64* %52, i32 0, i32 7 + %53 = load i64, i64* %st_rdev39, align 8 + %cmp40 = icmp eq i64 %51, %53 + call void @gs_prefer_cex(i8* %49, i1 zeroext %cmp40) + %54 = load %struct.stat64*, %struct.stat64** %s, align 8 + %55 = bitcast %struct.stat64* %54 to i8* + %56 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode42 = getelementptr inbounds %struct.stat64, %struct.stat64* %56, i32 0, i32 3 + %57 = load i32, i32* %st_mode42, align 8 + %and43 = and i32 %57, 448 + %cmp44 = icmp eq i32 %and43, 384 + call void @gs_prefer_cex(i8* %55, i1 zeroext %cmp44) + %58 = load %struct.stat64*, %struct.stat64** %s, align 8 + %59 = bitcast %struct.stat64* %58 to i8* + %60 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode46 = getelementptr inbounds %struct.stat64, %struct.stat64* %60, i32 0, i32 3 + %61 = load i32, i32* %st_mode46, align 8 + %and47 = and i32 %61, 56 + %cmp48 = icmp eq i32 %and47, 32 + call void @gs_prefer_cex(i8* %59, i1 zeroext %cmp48) + %62 = load %struct.stat64*, %struct.stat64** %s, align 8 + %63 = bitcast %struct.stat64* %62 to i8* + %64 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode50 = getelementptr inbounds %struct.stat64, %struct.stat64* %64, i32 0, i32 3 + %65 = load i32, i32* %st_mode50, align 8 + %and51 = and i32 %65, 7 + %cmp52 = icmp eq i32 %and51, 4 + call void @gs_prefer_cex(i8* %63, i1 zeroext %cmp52) + %66 = load %struct.stat64*, %struct.stat64** %s, align 8 + %67 = bitcast %struct.stat64* %66 to i8* + %68 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode54 = getelementptr inbounds %struct.stat64, %struct.stat64* %68, i32 0, i32 3 + %69 = load i32, i32* %st_mode54, align 8 + %and55 = and i32 %69, 61440 + %cmp56 = icmp eq i32 %and55, 32768 + call void @gs_prefer_cex(i8* %67, i1 zeroext %cmp56) + %70 = load %struct.stat64*, %struct.stat64** %s, align 8 + %71 = bitcast %struct.stat64* %70 to i8* + %72 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_nlink = getelementptr inbounds %struct.stat64, %struct.stat64* %72, i32 0, i32 2 + %73 = load i64, i64* %st_nlink, align 8 + %cmp58 = icmp eq i64 %73, 1 + call void @gs_prefer_cex(i8* %71, i1 zeroext %cmp58) + %74 = load %struct.stat64*, %struct.stat64** %s, align 8 + %75 = bitcast %struct.stat64* %74 to i8* + %76 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_uid = getelementptr inbounds %struct.stat64, %struct.stat64* %76, i32 0, i32 4 + %77 = load i32, i32* %st_uid, align 4 + %78 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_uid60 = getelementptr inbounds %struct.stat64, %struct.stat64* %78, i32 0, i32 4 + %79 = load i32, i32* %st_uid60, align 4 + %cmp61 = icmp eq i32 %77, %79 + call void @gs_prefer_cex(i8* %75, i1 zeroext %cmp61) + %80 = load %struct.stat64*, %struct.stat64** %s, align 8 + %81 = bitcast %struct.stat64* %80 to i8* + %82 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_gid = getelementptr inbounds %struct.stat64, %struct.stat64* %82, i32 0, i32 5 + %83 = load i32, i32* %st_gid, align 8 + %84 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_gid63 = getelementptr inbounds %struct.stat64, %struct.stat64* %84, i32 0, i32 5 + %85 = load i32, i32* %st_gid63, align 8 + %cmp64 = icmp eq i32 %83, %85 + call void @gs_prefer_cex(i8* %81, i1 zeroext %cmp64) + %86 = load %struct.stat64*, %struct.stat64** %s, align 8 + %87 = bitcast %struct.stat64* %86 to i8* + %88 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_blksize66 = getelementptr inbounds %struct.stat64, %struct.stat64* %88, i32 0, i32 9 + %89 = load i64, i64* %st_blksize66, align 8 + %cmp67 = icmp eq i64 %89, 4096 + call void @gs_prefer_cex(i8* %87, i1 zeroext %cmp67) + %90 = load %struct.stat64*, %struct.stat64** %s, align 8 + %91 = bitcast %struct.stat64* %90 to i8* + %92 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_atim = getelementptr inbounds %struct.stat64, %struct.stat64* %92, i32 0, i32 11 + %tv_sec = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %st_atim, i32 0, i32 0 + %93 = load i64, i64* %tv_sec, align 8 + %94 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_atim69 = getelementptr inbounds %struct.stat64, %struct.stat64* %94, i32 0, i32 11 + %tv_sec70 = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %st_atim69, i32 0, i32 0 + %95 = load i64, i64* %tv_sec70, align 8 + %cmp71 = icmp eq i64 %93, %95 + call void @gs_prefer_cex(i8* %91, i1 zeroext %cmp71) + %96 = load %struct.stat64*, %struct.stat64** %s, align 8 + %97 = bitcast %struct.stat64* %96 to i8* + %98 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mtim = getelementptr inbounds %struct.stat64, %struct.stat64* %98, i32 0, i32 12 + %tv_sec73 = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %st_mtim, i32 0, i32 0 + %99 = load i64, i64* %tv_sec73, align 8 + %100 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_mtim74 = getelementptr inbounds %struct.stat64, %struct.stat64* %100, i32 0, i32 12 + %tv_sec75 = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %st_mtim74, i32 0, i32 0 + %101 = load i64, i64* %tv_sec75, align 8 + %cmp76 = icmp eq i64 %99, %101 + call void @gs_prefer_cex(i8* %97, i1 zeroext %cmp76) + %102 = load %struct.stat64*, %struct.stat64** %s, align 8 + %103 = bitcast %struct.stat64* %102 to i8* + %104 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ctim = getelementptr inbounds %struct.stat64, %struct.stat64* %104, i32 0, i32 13 + %tv_sec78 = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %st_ctim, i32 0, i32 0 + %105 = load i64, i64* %tv_sec78, align 8 + %106 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_ctim79 = getelementptr inbounds %struct.stat64, %struct.stat64* %106, i32 0, i32 13 + %tv_sec80 = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %st_ctim79, i32 0, i32 0 + %107 = load i64, i64* %tv_sec80, align 8 + %cmp81 = icmp eq i64 %105, %107 + call void @gs_prefer_cex(i8* %103, i1 zeroext %cmp81) + %108 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size83 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %108, i32 0, i32 0 + %109 = load i32, i32* %size83, align 8 + %conv84 = zext i32 %109 to i64 + %110 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_size = getelementptr inbounds %struct.stat64, %struct.stat64* %110, i32 0, i32 8 + store i64 %conv84, i64* %st_size, align 8 + %111 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_blocks = getelementptr inbounds %struct.stat64, %struct.stat64* %111, i32 0, i32 10 + store i64 8, i64* %st_blocks, align 8 + %112 = load %struct.stat64*, %struct.stat64** %s, align 8 + %113 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %113, i32 0, i32 2 + store %struct.stat64* %112, %struct.stat64** %stat, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__sym_uint32(i8* %name) #3 { +entry: + %name.addr = alloca i8*, align 8 + %x = alloca i32, align 4 + store i8* %name, i8** %name.addr, align 8 + %0 = bitcast i32* %x to i8* + %1 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %0, i64 4, i8* %1) + %2 = load i32, i32* %x, align 4 + ret i32 %2 +} + +declare dso_local void @gs_prefer_cex(i8*, i1 zeroext) #5 + +; Function Attrs: noinline nounwind uwtable +define weak hidden i32 @__syscall_rt_sigaction(i32 %signum, %struct.sigaction.802* %act, %struct.sigaction.802* %oldact, i64 %_something) #3 { +entry: + %signum.addr = alloca i32, align 4 + %act.addr = alloca %struct.sigaction.802*, align 8 + %oldact.addr = alloca %struct.sigaction.802*, align 8 + %_something.addr = alloca i64, align 8 + store i32 %signum, i32* %signum.addr, align 4 + store %struct.sigaction.802* %act, %struct.sigaction.802** %act.addr, align 8 + store %struct.sigaction.802* %oldact, %struct.sigaction.802** %oldact.addr, align 8 + store i64 %_something, i64* %_something.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.156, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @sigaction(i32 %signum, %struct.sigaction.802* %act, %struct.sigaction.802* %oldact) #3 { +entry: + %signum.addr = alloca i32, align 4 + %act.addr = alloca %struct.sigaction.802*, align 8 + %oldact.addr = alloca %struct.sigaction.802*, align 8 + store i32 %signum, i32* %signum.addr, align 4 + store %struct.sigaction.802* %act, %struct.sigaction.802** %act.addr, align 8 + store %struct.sigaction.802* %oldact, %struct.sigaction.802** %oldact.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.156, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @sigprocmask(i32 %how, %struct.fd_set* %set, %struct.fd_set* %oldset) #3 { +entry: + %how.addr = alloca i32, align 4 + %set.addr = alloca %struct.fd_set*, align 8 + %oldset.addr = alloca %struct.fd_set*, align 8 + store i32 %how, i32* %how.addr, align 4 + store %struct.fd_set* %set, %struct.fd_set** %set.addr, align 8 + store %struct.fd_set* %oldset, %struct.fd_set** %oldset.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.156, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @fdatasync(i32 %fd) #3 { +entry: + %fd.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local void @sync() #3 { +entry: + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @__socketcall(i32 %type, i32* %args) #3 { +entry: + %type.addr = alloca i32, align 4 + %args.addr = alloca i32*, align 8 + store i32 %type, i32* %type.addr, align 4 + store i32* %args, i32** %args.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.1.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 97, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @gs_warning.162(i8* %message) #3 { +entry: + %message.addr = alloca i8*, align 8 + store i8* %message, i8** %message.addr, align 8 + %0 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %0) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.11.163, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @_IO_getc(%struct._IO_FILE* %f) #3 { +entry: + %f.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %f, %struct._IO_FILE** %f.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %f.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.570*)* @__fgetc_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %0) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @_IO_putc(i32 %c, %struct._IO_FILE* %f) #3 { +entry: + %c.addr = alloca i32, align 4 + %f.addr = alloca %struct._IO_FILE*, align 8 + store i32 %c, i32* %c.addr, align 4 + store %struct._IO_FILE* %f, %struct._IO_FILE** %f.addr, align 8 + %0 = load i32, i32* %c.addr, align 4 + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %f.addr, align 8 + %call = call i32 bitcast (i32 (i32, %struct.__STDIO_FILE_STRUCT.570*)* @__fputc_unlocked to i32 (i32, %struct._IO_FILE*)*)(i32 %0, %struct._IO_FILE* %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mkdir(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2.166, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 5, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mkfifo(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2.166, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 5, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mknod(i8* nonnull %pathname, i32 %mode, i64 %dev) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + %dev.addr = alloca i64, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + store i64 %dev, i64* %dev.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2.166, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 5, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @pipe(i32* %filedes) #3 { +entry: + %filedes.addr = alloca i32*, align 8 + store i32* %filedes, i32** %filedes.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.3.167, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 23, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @link(i8* nonnull %oldpath, i8* nonnull %newpath) #3 { +entry: + %oldpath.addr = alloca i8*, align 8 + %newpath.addr = alloca i8*, align 8 + store i8* %oldpath, i8** %oldpath.addr, align 8 + store i8* %newpath, i8** %newpath.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @symlink(i8* nonnull %oldpath, i8* nonnull %newpath) #3 { +entry: + %oldpath.addr = alloca i8*, align 8 + %newpath.addr = alloca i8*, align 8 + store i8* %oldpath, i8** %oldpath.addr, align 8 + store i8* %newpath, i8** %newpath.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @rename(i8* %oldpath, i8* %newpath) #3 { +entry: + %oldpath.addr = alloca i8*, align 8 + %newpath.addr = alloca i8*, align 8 + store i8* %oldpath, i8** %oldpath.addr, align 8 + store i8* %newpath, i8** %newpath.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @nanosleep(%struct.timespec.0* %req, %struct.timespec.0* %rem) #3 { +entry: + %req.addr = alloca %struct.timespec.0*, align 8 + %rem.addr = alloca %struct.timespec.0*, align 8 + store %struct.timespec.0* %req, %struct.timespec.0** %req.addr, align 8 + store %struct.timespec.0* %rem, %struct.timespec.0** %rem.addr, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @clock_gettime(i32 %clk_id, %struct.timespec.0* %res) #3 { +entry: + %clk_id.addr = alloca i32, align 4 + %res.addr = alloca %struct.timespec.0*, align 8 + %tv = alloca %struct.timespec.0, align 8 + store i32 %clk_id, i32* %clk_id.addr, align 4 + store %struct.timespec.0* %res, %struct.timespec.0** %res.addr, align 8 + %call = call i32 @gettimeofday(%struct.timespec.0* %tv, i8* null) #11 + %tv_sec = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %tv, i32 0, i32 0 + %0 = load i64, i64* %tv_sec, align 8 + %1 = load %struct.timespec.0*, %struct.timespec.0** %res.addr, align 8 + %tv_sec1 = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %1, i32 0, i32 0 + store i64 %0, i64* %tv_sec1, align 8 + %tv_usec = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %tv, i32 0, i32 1 + %2 = load i64, i64* %tv_usec, align 8 + %mul = mul nsw i64 %2, 1000 + %3 = load %struct.timespec.0*, %struct.timespec.0** %res.addr, align 8 + %tv_nsec = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %3, i32 0, i32 1 + store i64 %mul, i64* %tv_nsec, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @clock_settime(i32 %clk_id, %struct.timespec.0* %res) #3 { +entry: + %clk_id.addr = alloca i32, align 4 + %res.addr = alloca %struct.timespec.0*, align 8 + store i32 %clk_id, i32* %clk_id.addr, align 4 + store %struct.timespec.0* %res, %struct.timespec.0** %res.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @time(i64* %t) #3 { +entry: + %t.addr = alloca i64*, align 8 + %tv = alloca %struct.timespec.0, align 8 + store i64* %t, i64** %t.addr, align 8 + %call = call i32 @gettimeofday(%struct.timespec.0* %tv, i8* null) #11 + %0 = load i64*, i64** %t.addr, align 8 + %tobool = icmp ne i64* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %tv_sec = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %tv, i32 0, i32 0 + %1 = load i64, i64* %tv_sec, align 8 + %2 = load i64*, i64** %t.addr, align 8 + store i64 %1, i64* %2, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %tv_sec1 = getelementptr inbounds %struct.timespec.0, %struct.timespec.0* %tv, i32 0, i32 0 + %3 = load i64, i64* %tv_sec1, align 8 + ret i64 %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @times(%struct.tms* %buf) #3 { +entry: + %buf.addr = alloca %struct.tms*, align 8 + store %struct.tms* %buf, %struct.tms** %buf.addr, align 8 + %0 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tobool = icmp ne %struct.tms* %0, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + call void @gs_warning.162(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.5.169, i64 0, i64 0)) + br label %if.end + +if.else: ; preds = %entry + call void @gs_warning.162(i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.6.170, i64 0, i64 0)) + %1 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_utime = getelementptr inbounds %struct.tms, %struct.tms* %1, i32 0, i32 0 + store i64 0, i64* %tms_utime, align 8 + %2 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_stime = getelementptr inbounds %struct.tms, %struct.tms* %2, i32 0, i32 1 + store i64 0, i64* %tms_stime, align 8 + %3 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_cutime = getelementptr inbounds %struct.tms, %struct.tms* %3, i32 0, i32 2 + store i64 0, i64* %tms_cutime, align 8 + %4 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_cstime = getelementptr inbounds %struct.tms, %struct.tms* %4, i32 0, i32 3 + store i64 0, i64* %tms_cstime, align 8 + br label %if.end + +if.end: ; preds = %if.else, %if.then + ret i64 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local %struct.utmpx* @getutxent() #3 { +entry: + %call = call %struct.utmp* bitcast (%struct.utmp.325* ()* @getutent to %struct.utmp* ()*)() #11 + %0 = bitcast %struct.utmp* %call to %struct.utmpx* + ret %struct.utmpx* %0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local void @setutxent() #3 { +entry: + call void @setutent() #11 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local void @endutxent() #3 { +entry: + call void @endutent() #11 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @utmpxname(i8* %file) #3 { +entry: + %file.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + %call = call i32 @utmpname(i8* %0) #11 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @euidaccess(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %1 = load i32, i32* %mode.addr, align 4 + %call = call i32 @access(i8* %0, i32 %1) #11 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @eaccess(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %1 = load i32, i32* %mode.addr, align 4 + %call = call i32 @euidaccess(i8* %0, i32 %1) #11 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @group_member(i32 %__gid) #3 { +entry: + %__gid.addr = alloca i32, align 4 + store i32 %__gid, i32* %__gid.addr, align 4 + %0 = load i32, i32* %__gid.addr, align 4 + %call = call i32 @getgid() #11 + %cmp = icmp eq i32 %0, %call + br i1 %cmp, label %lor.end, label %lor.rhs + +lor.rhs: ; preds = %entry + %1 = load i32, i32* %__gid.addr, align 4 + %call1 = call i32 @getegid() #11 + %cmp2 = icmp eq i32 %1, %call1 + br label %lor.end + +lor.end: ; preds = %lor.rhs, %entry + %2 = phi i1 [ true, %entry ], [ %cmp2, %lor.rhs ] + %lor.ext = zext i1 %2 to i32 + ret i32 %lor.ext +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @utime(i8* nonnull %filename, %struct.timespec.0* %buf) #3 { +entry: + %filename.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.timespec.0*, align 8 + store i8* %filename, i8** %filename.addr, align 8 + store %struct.timespec.0* %buf, %struct.timespec.0** %buf.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @futimes(i32 %fd, %struct.timespec.0* %times) #3 { +entry: + %fd.addr = alloca i32, align 4 + %times.addr = alloca %struct.timespec.0*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.timespec.0* %times, %struct.timespec.0** %times.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.7.171, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 9, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind readonly uwtable +define dso_local i32 @strverscmp(i8* nonnull %__s1, i8* nonnull %__s2) #15 { +entry: + %__s1.addr = alloca i8*, align 8 + %__s2.addr = alloca i8*, align 8 + store i8* %__s1, i8** %__s1.addr, align 8 + store i8* %__s2, i8** %__s2.addr, align 8 + %0 = load i8*, i8** %__s1.addr, align 8 + %1 = load i8*, i8** %__s2.addr, align 8 + %call = call i32 @strcmp(i8* %0, i8* %1) #23 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @gnu_dev_major(i64 %__dev) #3 { +entry: + %__dev.addr = alloca i64, align 8 + store i64 %__dev, i64* %__dev.addr, align 8 + %0 = load i64, i64* %__dev.addr, align 8 + %shr = lshr i64 %0, 8 + %and = and i64 %shr, 4095 + %1 = load i64, i64* %__dev.addr, align 8 + %shr1 = lshr i64 %1, 32 + %conv = trunc i64 %shr1 to i32 + %and2 = and i32 %conv, -4096 + %conv3 = zext i32 %and2 to i64 + %or = or i64 %and, %conv3 + %conv4 = trunc i64 %or to i32 + ret i32 %conv4 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @gnu_dev_minor(i64 %__dev) #3 { +entry: + %__dev.addr = alloca i64, align 8 + store i64 %__dev, i64* %__dev.addr, align 8 + %0 = load i64, i64* %__dev.addr, align 8 + %and = and i64 %0, 255 + %1 = load i64, i64* %__dev.addr, align 8 + %shr = lshr i64 %1, 12 + %conv = trunc i64 %shr to i32 + %and1 = and i32 %conv, -256 + %conv2 = zext i32 %and1 to i64 + %or = or i64 %and, %conv2 + %conv3 = trunc i64 %or to i32 + ret i32 %conv3 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i64 @gnu_dev_makedev(i32 %__major, i32 %__minor) #3 { +entry: + %__major.addr = alloca i32, align 4 + %__minor.addr = alloca i32, align 4 + store i32 %__major, i32* %__major.addr, align 4 + store i32 %__minor, i32* %__minor.addr, align 4 + %0 = load i32, i32* %__minor.addr, align 4 + %and = and i32 %0, 255 + %1 = load i32, i32* %__major.addr, align 4 + %and1 = and i32 %1, 4095 + %shl = shl i32 %and1, 8 + %or = or i32 %and, %shl + %conv = zext i32 %or to i64 + %2 = load i32, i32* %__minor.addr, align 4 + %and2 = and i32 %2, -256 + %conv3 = zext i32 %and2 to i64 + %shl4 = shl i64 %conv3, 12 + %or5 = or i64 %conv, %shl4 + %3 = load i32, i32* %__major.addr, align 4 + %and6 = and i32 %3, -4096 + %conv7 = zext i32 %and6 to i64 + %shl8 = shl i64 %conv7, 32 + %or9 = or i64 %or5, %shl8 + ret i64 %or9 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i8* @canonicalize_file_name(i8* nonnull %name) #3 { +entry: + %retval = alloca i8*, align 8 + %name.addr = alloca i8*, align 8 + %resolved_name = alloca i8*, align 8 + store i8* %name, i8** %name.addr, align 8 + %call = call noalias i8* @malloc(i64 4096) #11 + store i8* %call, i8** %resolved_name, align 8 + %0 = load i8*, i8** %resolved_name, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %name.addr, align 8 + %2 = load i8*, i8** %resolved_name, align 8 + %call1 = call i8* @realpath(i8* %1, i8* %2) #11 + %tobool2 = icmp ne i8* %call1, null + %3 = load i8*, i8** %resolved_name, align 8 + br i1 %tobool2, label %if.end4, label %if.then3 + +if.then3: ; preds = %if.end + call void @free(i8* %3) #11 + store i8* null, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %if.end + store i8* %3, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %4 = load i8*, i8** %retval, align 8 + ret i8* %4 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @getloadavg(double* nonnull %loadavg, i32 %nelem) #3 { +entry: + %loadavg.addr = alloca double*, align 8 + %nelem.addr = alloca i32, align 4 + store double* %loadavg, double** %loadavg.addr, align 8 + store i32 %nelem, i32* %nelem.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.8.174, i64 0, i64 0)) + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @wait(i32* %status) #3 { +entry: + %status.addr = alloca i32*, align 8 + store i32* %status, i32** %status.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.175, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @wait3(i32* %status, i32 %options, %struct.rusage* %rusage) #3 { +entry: + %status.addr = alloca i32*, align 8 + %options.addr = alloca i32, align 4 + %rusage.addr = alloca %struct.rusage*, align 8 + store i32* %status, i32** %status.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + store %struct.rusage* %rusage, %struct.rusage** %rusage.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.175, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @wait4(i32 %pid, i32* %status, i32 %options, %struct.rusage* %rusage) #3 { +entry: + %pid.addr = alloca i32, align 4 + %status.addr = alloca i32*, align 8 + %options.addr = alloca i32, align 4 + %rusage.addr = alloca %struct.rusage*, align 8 + store i32 %pid, i32* %pid.addr, align 4 + store i32* %status, i32** %status.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + store %struct.rusage* %rusage, %struct.rusage** %rusage.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.175, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @waitpid(i32 %pid, i32* %status, i32 %options) #3 { +entry: + %pid.addr = alloca i32, align 4 + %status.addr = alloca i32*, align 8 + %options.addr = alloca i32, align 4 + store i32 %pid, i32* %pid.addr, align 4 + store i32* %status, i32** %status.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.175, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @waitid(i32 %idtype, i32 %id, %struct.siginfo_t* %infop, i32 %options) #3 { +entry: + %idtype.addr = alloca i32, align 4 + %id.addr = alloca i32, align 4 + %infop.addr = alloca %struct.siginfo_t*, align 8 + %options.addr = alloca i32, align 4 + store i32 %idtype, i32* %idtype.addr, align 4 + store i32 %id, i32* %id.addr, align 4 + store %struct.siginfo_t* %infop, %struct.siginfo_t** %infop.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.175, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mount(i8* %source, i8* %target, i8* %filesystemtype, i64 %mountflags, i8* %data) #3 { +entry: + %source.addr = alloca i8*, align 8 + %target.addr = alloca i8*, align 8 + %filesystemtype.addr = alloca i8*, align 8 + %mountflags.addr = alloca i64, align 8 + %data.addr = alloca i8*, align 8 + store i8* %source, i8** %source.addr, align 8 + store i8* %target, i8** %target.addr, align 8 + store i8* %filesystemtype, i8** %filesystemtype.addr, align 8 + store i64 %mountflags, i64* %mountflags.addr, align 8 + store i8* %data, i8** %data.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @umount(i8* %target) #3 { +entry: + %target.addr = alloca i8*, align 8 + store i8* %target, i8** %target.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @umount2(i8* %target, i32 %flags) #3 { +entry: + %target.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + store i8* %target, i8** %target.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @swapon(i8* %path, i32 %swapflags) #3 { +entry: + %path.addr = alloca i8*, align 8 + %swapflags.addr = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store i32 %swapflags, i32* %swapflags.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @swapoff(i8* %path) #3 { +entry: + %path.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setgid(i32 %gid) #3 { +entry: + %gid.addr = alloca i32, align 4 + store i32 %gid, i32* %gid.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.10.176, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setgroups(i64 %size, i32* %list) #3 { +entry: + %size.addr = alloca i64, align 8 + %list.addr = alloca i32*, align 8 + store i64 %size, i64* %size.addr, align 8 + store i32* %list, i32** %list.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @sethostname(i8* nonnull %name, i64 %len) #3 { +entry: + %name.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + store i8* %name, i8** %name.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setpgid(i32 %pid, i32 %pgid) #3 { +entry: + %pid.addr = alloca i32, align 4 + %pgid.addr = alloca i32, align 4 + store i32 %pid, i32* %pid.addr, align 4 + store i32 %pgid, i32* %pgid.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setpgrp() #3 { +entry: + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setpriority(i32 %which, i32 %who, i32 %prio) #3 { +entry: + %which.addr = alloca i32, align 4 + %who.addr = alloca i32, align 4 + %prio.addr = alloca i32, align 4 + store i32 %which, i32* %which.addr, align 4 + store i32 %who, i32* %who.addr, align 4 + store i32 %prio, i32* %prio.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setresgid(i32 %rgid, i32 %egid, i32 %sgid) #3 { +entry: + %rgid.addr = alloca i32, align 4 + %egid.addr = alloca i32, align 4 + %sgid.addr = alloca i32, align 4 + store i32 %rgid, i32* %rgid.addr, align 4 + store i32 %egid, i32* %egid.addr, align 4 + store i32 %sgid, i32* %sgid.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setresuid(i32 %ruid, i32 %euid, i32 %suid) #3 { +entry: + %ruid.addr = alloca i32, align 4 + %euid.addr = alloca i32, align 4 + %suid.addr = alloca i32, align 4 + store i32 %ruid, i32* %ruid.addr, align 4 + store i32 %euid, i32* %euid.addr, align 4 + store i32 %suid, i32* %suid.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setrlimit(i32 %resource, %struct.timespec.0* %rlim) #3 { +entry: + %resource.addr = alloca i32, align 4 + %rlim.addr = alloca %struct.timespec.0*, align 8 + store i32 %resource, i32* %resource.addr, align 4 + store %struct.timespec.0* %rlim, %struct.timespec.0** %rlim.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setrlimit64(i32 %resource, %struct.timespec.0* %rlim) #3 { +entry: + %resource.addr = alloca i32, align 4 + %rlim.addr = alloca %struct.timespec.0*, align 8 + store i32 %resource, i32* %resource.addr, align 4 + store %struct.timespec.0* %rlim, %struct.timespec.0** %rlim.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setsid() #3 { +entry: + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @settimeofday(%struct.timespec.0* %tv, %struct.__mbstate_t.514* %tz) #3 { +entry: + %tv.addr = alloca %struct.timespec.0*, align 8 + %tz.addr = alloca %struct.__mbstate_t.514*, align 8 + store %struct.timespec.0* %tv, %struct.timespec.0** %tv.addr, align 8 + store %struct.__mbstate_t.514* %tz, %struct.__mbstate_t.514** %tz.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setuid(i32 %uid) #3 { +entry: + %uid.addr = alloca i32, align 4 + store i32 %uid, i32* %uid.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.10.176, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @reboot(i32 %flag) #3 { +entry: + %flag.addr = alloca i32, align 4 + store i32 %flag, i32* %flag.addr, align 4 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mlock(i8* %addr, i64 %len) #3 { +entry: + %addr.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + store i8* %addr, i8** %addr.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @munlock(i8* %addr, i64 %len) #3 { +entry: + %addr.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + store i8* %addr, i8** %addr.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @pause() #3 { +entry: + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i64 @readahead(i32 %fd, i64* %offset, i64 %count) #3 { +entry: + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64*, align 8 + %count.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64* %offset, i64** %offset.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i64 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i8* @mmap(i8* %start, i64 %length, i32 %prot, i32 %flags, i32 %fd, i64 %offset) #3 { +entry: + %start.addr = alloca i8*, align 8 + %length.addr = alloca i64, align 8 + %prot.addr = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + store i8* %start, i8** %start.addr, align 8 + store i64 %length, i64* %length.addr, align 8 + store i32 %prot, i32* %prot.addr, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i8* inttoptr (i64 -1 to i8*) +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i8* @mmap64(i8* %start, i64 %length, i32 %prot, i32 %flags, i32 %fd, i64 %offset) #3 { +entry: + %start.addr = alloca i8*, align 8 + %length.addr = alloca i64, align 8 + %prot.addr = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + store i8* %start, i8** %start.addr, align 8 + store i64 %length, i64* %length.addr, align 8 + store i32 %prot, i32* %prot.addr, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i8* inttoptr (i64 -1 to i8*) +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @munmap(i8* %start, i64 %length) #3 { +entry: + %start.addr = alloca i8*, align 8 + %length.addr = alloca i64, align 8 + store i8* %start, i8** %start.addr, align 8 + store i64 %length, i64* %length.addr, align 8 + call void @gs_warning.162(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__locale_mbrtowc_l(i32* noalias %dst, i8* noalias %src, %struct.__uclibc_locale_struct.203* %loc) #0 { +entry: + %retval = alloca i32, align 4 + %dst.addr = alloca i32*, align 8 + %src.addr = alloca i8*, align 8 + %loc.addr = alloca %struct.__uclibc_locale_struct.203*, align 8 + %ps = alloca %struct.__mbstate_t.514, align 4 + %p = alloca i8*, align 8 + %r = alloca i64, align 8 + %wc = alloca i32, align 4 + store i32* %dst, i32** %dst.addr, align 8 + store i8* %src, i8** %src.addr, align 8 + store %struct.__uclibc_locale_struct.203* %loc, %struct.__uclibc_locale_struct.203** %loc.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %loc.addr, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %0, i32 0, i32 9 + %1 = load i8, i8* %encoding, align 8 + %conv = zext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 1 + %2 = load i8*, i8** %src.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i8* %2, i8** %p, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.514, %struct.__mbstate_t.514* %ps, i32 0, i32 0 + store i32 0, i32* %__mask, align 4 + %3 = load i32*, i32** %dst.addr, align 8 + %call = call i64 @_wchar_utf8sntowcs(i32* %3, i64 1, i8** %p, i64 -1, %struct.__mbstate_t.514* %ps, i32 1) #18 + store i64 %call, i64* %r, align 8 + %4 = load i64, i64* %r, align 8 + %cmp2 = icmp eq i64 %4, 1 + %5 = load i8*, i8** %p, align 8 + %6 = load i8*, i8** %src.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %6 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %7 = load i64, i64* %r, align 8 + %cond = select i1 %cmp2, i64 %sub.ptr.sub, i64 %7 + %conv4 = trunc i64 %cond to i32 + store i32 %conv4, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load i8, i8* %2, align 1 + %conv5 = zext i8 %8 to i32 + %9 = load i32*, i32** %dst.addr, align 8 + store i32 %conv5, i32* %9, align 4 + %cmp6 = icmp slt i32 %conv5, 128 + br i1 %cmp6, label %if.then8, label %if.end12 + +if.then8: ; preds = %if.end + %10 = load i8*, i8** %src.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv9 = sext i8 %11 to i32 + %cmp10 = icmp ne i32 %conv9, 0 + %conv11 = zext i1 %cmp10 to i32 + store i32 %conv11, i32* %retval, align 4 + br label %return + +if.end12: ; preds = %if.end + %12 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %loc.addr, align 8 + %encoding13 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %12, i32 0, i32 9 + %13 = load i8, i8* %encoding13, align 8 + %conv14 = zext i8 %13 to i32 + %cmp15 = icmp eq i32 %conv14, 2 + br i1 %cmp15, label %if.then17, label %if.end24 + +if.then17: ; preds = %if.end12 + %14 = load i32*, i32** %dst.addr, align 8 + %15 = load i32, i32* %14, align 4 + %sub = sub nsw i32 %15, 128 + store i32 %sub, i32* %wc, align 4 + %16 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %loc.addr, align 8 + %tbl8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %16, i32 0, i32 17 + %17 = load i16*, i16** %tbl8c2wc, align 8 + %18 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %loc.addr, align 8 + %idx8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %18, i32 0, i32 16 + %19 = load i8*, i8** %idx8c2wc, align 8 + %20 = load i32, i32* %wc, align 4 + %shr = ashr i32 %20, 3 + %idxprom = sext i32 %shr to i64 + %arrayidx = getelementptr inbounds i8, i8* %19, i64 %idxprom + %21 = load i8, i8* %arrayidx, align 1 + %conv18 = zext i8 %21 to i32 + %shl = shl i32 %conv18, 3 + %22 = load i32, i32* %wc, align 4 + %and = and i32 %22, 7 + %add = add nsw i32 %shl, %and + %idxprom19 = sext i32 %add to i64 + %arrayidx20 = getelementptr inbounds i16, i16* %17, i64 %idxprom19 + %23 = load i16, i16* %arrayidx20, align 2 + %conv21 = zext i16 %23 to i32 + %24 = load i32*, i32** %dst.addr, align 8 + store i32 %conv21, i32* %24, align 4 + %25 = load i32*, i32** %dst.addr, align 8 + %26 = load i32, i32* %25, align 4 + %tobool = icmp ne i32 %26, 0 + br i1 %tobool, label %if.then22, label %if.end24 + +if.then22: ; preds = %if.then17 + store i32 1, i32* %retval, align 4 + br label %return + +if.end24: ; preds = %if.then17, %if.end12 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end24, %if.then22, %if.then8, %if.then + %27 = load i32, i32* %retval, align 4 + ret i32 %27 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__raise(i32 %signo) #0 { +entry: + %signo.addr = alloca i32, align 4 + store i32 %signo, i32* %signo.addr, align 4 + %call = call i32 @getpid() #19 + %0 = load i32, i32* %signo.addr, align 4 + %call1 = call i32 @kill(i32 %call, i32 %0) #19 + ret i32 %call1 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__libc_sigaction(i32 %sig, %struct.sigaction.802* %act, %struct.sigaction.802* %oact) #0 { +entry: + %sig.addr = alloca i32, align 4 + %act.addr = alloca %struct.sigaction.802*, align 8 + %oact.addr = alloca %struct.sigaction.802*, align 8 + %result = alloca i32, align 4 + %kact = alloca %struct.kernel_sigaction, align 8 + %koact = alloca %struct.kernel_sigaction, align 8 + store i32 %sig, i32* %sig.addr, align 4 + store %struct.sigaction.802* %act, %struct.sigaction.802** %act.addr, align 8 + store %struct.sigaction.802* %oact, %struct.sigaction.802** %oact.addr, align 8 + %0 = load %struct.sigaction.802*, %struct.sigaction.802** %act.addr, align 8 + %tobool = icmp ne %struct.sigaction.802* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load %struct.sigaction.802*, %struct.sigaction.802** %act.addr, align 8 + %__sigaction_handler = getelementptr inbounds %struct.sigaction.802, %struct.sigaction.802* %1, i32 0, i32 0 + %sa_handler = bitcast %union.anon.801* %__sigaction_handler to void (i32)** + %2 = load void (i32)*, void (i32)** %sa_handler, align 8 + %k_sa_handler = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 0 + store void (i32)* %2, void (i32)** %k_sa_handler, align 8 + %sa_mask = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 3 + %3 = bitcast %struct.fd_set* %sa_mask to i8* + %4 = load %struct.sigaction.802*, %struct.sigaction.802** %act.addr, align 8 + %sa_mask1 = getelementptr inbounds %struct.sigaction.802, %struct.sigaction.802* %4, i32 0, i32 1 + %5 = bitcast %struct.fd_set* %sa_mask1 to i8* + %call = call i8* @memcpy(i8* %3, i8* %5, i64 128) #19 + %6 = load %struct.sigaction.802*, %struct.sigaction.802** %act.addr, align 8 + %sa_flags = getelementptr inbounds %struct.sigaction.802, %struct.sigaction.802* %6, i32 0, i32 2 + %7 = load i32, i32* %sa_flags, align 8 + %conv = sext i32 %7 to i64 + %sa_flags2 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 1 + store i64 %conv, i64* %sa_flags2, align 8 + %8 = load %struct.sigaction.802*, %struct.sigaction.802** %act.addr, align 8 + %sa_restorer = getelementptr inbounds %struct.sigaction.802, %struct.sigaction.802* %8, i32 0, i32 3 + %9 = load void ()*, void ()** %sa_restorer, align 8 + %sa_restorer3 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 2 + store void ()* %9, void ()** %sa_restorer3, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %10 = load i32, i32* %sig.addr, align 4 + %11 = load %struct.sigaction.802*, %struct.sigaction.802** %act.addr, align 8 + %tobool4 = icmp ne %struct.sigaction.802* %11, null + %kact. = select i1 %tobool4, %struct.kernel_sigaction* %kact, %struct.kernel_sigaction* null + %12 = load %struct.sigaction.802*, %struct.sigaction.802** %oact.addr, align 8 + %tobool5 = icmp ne %struct.sigaction.802* %12, null + %cond9 = select i1 %tobool5, %struct.kernel_sigaction* %koact, %struct.kernel_sigaction* null + %call10 = call i32 bitcast (i32 (i32, %struct.sigaction.802*, %struct.sigaction.802*, i64)* @__syscall_rt_sigaction to i32 (i32, %struct.kernel_sigaction*, %struct.kernel_sigaction*, i64)*)(i32 %10, %struct.kernel_sigaction* %kact., %struct.kernel_sigaction* %cond9, i64 8) #18 + store i32 %call10, i32* %result, align 4 + %13 = load %struct.sigaction.802*, %struct.sigaction.802** %oact.addr, align 8 + %tobool11 = icmp ne %struct.sigaction.802* %13, null + %14 = load i32, i32* %result, align 4 + %cmp = icmp sge i32 %14, 0 + %or.cond = and i1 %tobool11, %cmp + br i1 %or.cond, label %if.then13, label %if.end25 + +if.then13: ; preds = %if.end + %k_sa_handler14 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 0 + %15 = load void (i32)*, void (i32)** %k_sa_handler14, align 8 + %16 = load %struct.sigaction.802*, %struct.sigaction.802** %oact.addr, align 8 + %__sigaction_handler15 = getelementptr inbounds %struct.sigaction.802, %struct.sigaction.802* %16, i32 0, i32 0 + %sa_handler16 = bitcast %union.anon.801* %__sigaction_handler15 to void (i32)** + store void (i32)* %15, void (i32)** %sa_handler16, align 8 + %17 = load %struct.sigaction.802*, %struct.sigaction.802** %oact.addr, align 8 + %sa_mask17 = getelementptr inbounds %struct.sigaction.802, %struct.sigaction.802* %17, i32 0, i32 1 + %18 = bitcast %struct.fd_set* %sa_mask17 to i8* + %sa_mask18 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 3 + %19 = bitcast %struct.fd_set* %sa_mask18 to i8* + %call19 = call i8* @memcpy(i8* %18, i8* %19, i64 128) #19 + %sa_flags20 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 1 + %20 = load i64, i64* %sa_flags20, align 8 + %conv21 = trunc i64 %20 to i32 + %21 = load %struct.sigaction.802*, %struct.sigaction.802** %oact.addr, align 8 + %sa_flags22 = getelementptr inbounds %struct.sigaction.802, %struct.sigaction.802* %21, i32 0, i32 2 + store i32 %conv21, i32* %sa_flags22, align 8 + %sa_restorer23 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 2 + %22 = load void ()*, void ()** %sa_restorer23, align 8 + %23 = load %struct.sigaction.802*, %struct.sigaction.802** %oact.addr, align 8 + %sa_restorer24 = getelementptr inbounds %struct.sigaction.802, %struct.sigaction.802* %23, i32 0, i32 3 + store void ()* %22, void ()** %sa_restorer24, align 8 + br label %if.end25 + +if.end25: ; preds = %if.then13, %if.end + %24 = load i32, i32* %result, align 4 + ret i32 %24 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__sigismember(%struct.fd_set* %__set, i32 %__sig) #0 { +entry: + %__set.addr = alloca %struct.fd_set*, align 8 + %__sig.addr = alloca i32, align 4 + %__mask = alloca i64, align 8 + %__word = alloca i64, align 8 + store %struct.fd_set* %__set, %struct.fd_set** %__set.addr, align 8 + store i32 %__sig, i32* %__sig.addr, align 4 + %0 = load i32, i32* %__sig.addr, align 4 + %sub = sub nsw i32 %0, 1 + %conv = sext i32 %sub to i64 + %rem = urem i64 %conv, 64 + %shl = shl i64 1, %rem + store i64 %shl, i64* %__mask, align 8 + %1 = load i32, i32* %__sig.addr, align 4 + %sub1 = sub nsw i32 %1, 1 + %conv2 = sext i32 %sub1 to i64 + %div = udiv i64 %conv2, 64 + store i64 %div, i64* %__word, align 8 + %2 = load %struct.fd_set*, %struct.fd_set** %__set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %2, i32 0, i32 0 + %3 = load i64, i64* %__word, align 8 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 %3 + %4 = load i64, i64* %arrayidx, align 8 + %5 = load i64, i64* %__mask, align 8 + %and = and i64 %4, %5 + %tobool = icmp ne i64 %and, 0 + %6 = zext i1 %tobool to i64 + %cond = select i1 %tobool, i32 1, i32 0 + ret i32 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__sigaddset(%struct.fd_set* %__set, i32 %__sig) #0 { +entry: + %__set.addr = alloca %struct.fd_set*, align 8 + %__sig.addr = alloca i32, align 4 + %__mask = alloca i64, align 8 + %__word = alloca i64, align 8 + store %struct.fd_set* %__set, %struct.fd_set** %__set.addr, align 8 + store i32 %__sig, i32* %__sig.addr, align 4 + %0 = load i32, i32* %__sig.addr, align 4 + %sub = sub nsw i32 %0, 1 + %conv = sext i32 %sub to i64 + %rem = urem i64 %conv, 64 + %shl = shl i64 1, %rem + store i64 %shl, i64* %__mask, align 8 + %1 = load i32, i32* %__sig.addr, align 4 + %sub1 = sub nsw i32 %1, 1 + %conv2 = sext i32 %sub1 to i64 + %div = udiv i64 %conv2, 64 + store i64 %div, i64* %__word, align 8 + %2 = load i64, i64* %__mask, align 8 + %3 = load %struct.fd_set*, %struct.fd_set** %__set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %3, i32 0, i32 0 + %4 = load i64, i64* %__word, align 8 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 %4 + %5 = load i64, i64* %arrayidx, align 8 + %or = or i64 %5, %2 + store i64 %or, i64* %arrayidx, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__sigdelset(%struct.fd_set* %__set, i32 %__sig) #0 { +entry: + %__set.addr = alloca %struct.fd_set*, align 8 + %__sig.addr = alloca i32, align 4 + %__mask = alloca i64, align 8 + %__word = alloca i64, align 8 + store %struct.fd_set* %__set, %struct.fd_set** %__set.addr, align 8 + store i32 %__sig, i32* %__sig.addr, align 4 + %0 = load i32, i32* %__sig.addr, align 4 + %sub = sub nsw i32 %0, 1 + %conv = sext i32 %sub to i64 + %rem = urem i64 %conv, 64 + %shl = shl i64 1, %rem + store i64 %shl, i64* %__mask, align 8 + %1 = load i32, i32* %__sig.addr, align 4 + %sub1 = sub nsw i32 %1, 1 + %conv2 = sext i32 %sub1 to i64 + %div = udiv i64 %conv2, 64 + store i64 %div, i64* %__word, align 8 + %2 = load i64, i64* %__mask, align 8 + %neg = xor i64 %2, -1 + %3 = load %struct.fd_set*, %struct.fd_set** %__set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %3, i32 0, i32 0 + %4 = load i64, i64* %__word, align 8 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 %4 + %5 = load i64, i64* %arrayidx, align 8 + %and = and i64 %5, %neg + store i64 %and, i64* %arrayidx, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.570* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.570*, align 8 + %bufsize = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.570* %stream, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %0, i32 0, i32 5 + %1 = load i8*, i8** %__bufpos, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %2, i32 0, i32 3 + %3 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %1 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %3 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %bufsize, align 8 + %cmp = icmp ne i64 %sub.ptr.sub, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %4 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufstart1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %4, i32 0, i32 3 + %5 = load i8*, i8** %__bufstart1, align 8 + %6 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufpos2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %6, i32 0, i32 5 + store i8* %5, i8** %__bufpos2, align 8 + %7 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %8 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufstart3 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %8, i32 0, i32 3 + %9 = load i8*, i8** %__bufstart3, align 8 + %10 = load i64, i64* %bufsize, align 8 + %call = call i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.570* %7, i8* %9, i64 %10) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %11 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufpos4 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %11, i32 0, i32 5 + %12 = load i8*, i8** %__bufpos4, align 8 + %13 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufstart5 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %13, i32 0, i32 3 + %14 = load i8*, i8** %__bufstart5, align 8 + %sub.ptr.lhs.cast6 = ptrtoint i8* %12 to i64 + %sub.ptr.rhs.cast7 = ptrtoint i8* %14 to i64 + %sub.ptr.sub8 = sub i64 %sub.ptr.lhs.cast6, %sub.ptr.rhs.cast7 + ret i64 %sub.ptr.sub8 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__fgetc_unlocked(%struct.__STDIO_FILE_STRUCT.570* %stream) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.570*, align 8 + %uc = alloca i8, align 1 + %uc56 = alloca i8, align 1 + store %struct.__STDIO_FILE_STRUCT.570* %stream, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %0, i32 0, i32 5 + %1 = load i8*, i8** %__bufpos, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %2, i32 0, i32 7 + %3 = load i8*, i8** %__bufgetc_u, align 8 + %cmp = icmp ult i8* %1, %3 + %4 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %4, i32 0, i32 5 + %5 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + %6 = load i8, i8* %5, align 1 + %conv = zext i8 %6 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %4, i32 0, i32 0 + %7 = load i16, i16* %__modeflags, align 8 + %conv2 = zext i16 %7 to i32 + %and = and i32 %conv2, 131 + %cmp3 = icmp ugt i32 %and, 128 + br i1 %cmp3, label %if.then5, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %8 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %call = call i32 @__stdio_trans2r_o(%struct.__STDIO_FILE_STRUCT.570* %8, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end63, label %if.then5 + +if.then5: ; preds = %lor.lhs.false, %if.end + %9 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %9, i32 0, i32 0 + %10 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %10 to i32 + %and8 = and i32 %conv7, 2 + %tobool9 = icmp ne i32 %and8, 0 + %11 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + br i1 %tobool9, label %if.then10, label %if.end18 + +if.then10: ; preds = %if.then5 + %__ungot = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %11, i32 0, i32 10 + %12 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags11 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags11, align 8 + %dec = add i16 %13, -1 + store i16 %dec, i16* %__modeflags11, align 8 + %conv12 = zext i16 %13 to i32 + %and13 = and i32 %conv12, 1 + %idxprom = sext i32 %and13 to i64 + %arrayidx = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot, i64 0, i64 %idxprom + %14 = load i32, i32* %arrayidx, align 4 + %conv14 = trunc i32 %14 to i8 + store i8 %conv14, i8* %uc, align 1 + %15 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__ungot15 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %15, i32 0, i32 10 + %arrayidx16 = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot15, i64 0, i64 1 + store i32 0, i32* %arrayidx16, align 4 + %16 = load i8, i8* %uc, align 1 + %conv17 = zext i8 %16 to i32 + store i32 %conv17, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %if.then5 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %11, i32 0, i32 6 + %17 = load i8*, i8** %__bufread, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufpos19 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %18, i32 0, i32 5 + %19 = load i8*, i8** %__bufpos19, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %17 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool20 = icmp ne i64 %sub.ptr.sub, 0 + %20 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + br i1 %tobool20, label %if.then21, label %if.end25 + +if.then21: ; preds = %if.end18 + %__bufpos22 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %20, i32 0, i32 5 + %21 = load i8*, i8** %__bufpos22, align 8 + %incdec.ptr23 = getelementptr inbounds i8, i8* %21, i32 1 + store i8* %incdec.ptr23, i8** %__bufpos22, align 8 + %22 = load i8, i8* %21, align 1 + %conv24 = zext i8 %22 to i32 + store i32 %conv24, i32* %retval, align 4 + br label %return + +if.end25: ; preds = %if.end18 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %20, i32 0, i32 2 + %23 = load i32, i32* %__filedes, align 4 + %cmp26 = icmp eq i32 %23, -2 + %24 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags29 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %24, i32 0, i32 0 + %25 = load i16, i16* %__modeflags29, align 8 + %conv30 = zext i16 %25 to i32 + br i1 %cmp26, label %if.then28, label %if.end32 + +if.then28: ; preds = %if.end25 + %or = or i32 %conv30, 4 + %conv31 = trunc i32 %or to i16 + store i16 %conv31, i16* %__modeflags29, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end32: ; preds = %if.end25 + %and35 = and i32 %conv30, 768 + %tobool36 = icmp ne i32 %and35, 0 + br i1 %tobool36, label %if.then37, label %if.end39 + +if.then37: ; preds = %if.end32 + %call38 = call i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.570* bitcast (%struct.__STDIO_FILE_STRUCT.570** @_stdio_openlist to %struct.__STDIO_FILE_STRUCT.570*)) #18 + br label %if.end39 + +if.end39: ; preds = %if.then37, %if.end32 + %26 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %26, i32 0, i32 4 + %27 = load i8*, i8** %__bufend, align 8 + %28 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %28, i32 0, i32 3 + %29 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast40 = ptrtoint i8* %27 to i64 + %sub.ptr.rhs.cast41 = ptrtoint i8* %29 to i64 + %sub.ptr.sub42 = sub i64 %sub.ptr.lhs.cast40, %sub.ptr.rhs.cast41 + %tobool43 = icmp ne i64 %sub.ptr.sub42, 0 + %30 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + br i1 %tobool43, label %if.then44, label %if.else + +if.then44: ; preds = %if.end39 + %__bufstart45 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %30, i32 0, i32 3 + %31 = load i8*, i8** %__bufstart45, align 8 + %32 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufgetc_u46 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %32, i32 0, i32 7 + store i8* %31, i8** %__bufgetc_u46, align 8 + %33 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %call47 = call i64 @__stdio_rfill(%struct.__STDIO_FILE_STRUCT.570* %33) #18 + %tobool48 = icmp ne i64 %call47, 0 + br i1 %tobool48, label %if.then49, label %if.end63 + +if.then49: ; preds = %if.then44 + %34 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufread50 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %34, i32 0, i32 6 + %35 = load i8*, i8** %__bufread50, align 8 + %36 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufgetc_u51 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %36, i32 0, i32 7 + store i8* %35, i8** %__bufgetc_u51, align 8 + %37 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufpos52 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %37, i32 0, i32 5 + %38 = load i8*, i8** %__bufpos52, align 8 + %incdec.ptr53 = getelementptr inbounds i8, i8* %38, i32 1 + store i8* %incdec.ptr53, i8** %__bufpos52, align 8 + %39 = load i8, i8* %38, align 1 + %conv54 = zext i8 %39 to i32 + store i32 %conv54, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.end39 + %call57 = call i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.570* %30, i8* %uc56, i64 1) #18 + %tobool58 = icmp ne i64 %call57, 0 + br i1 %tobool58, label %if.then59, label %if.end63 + +if.then59: ; preds = %if.else + %40 = load i8, i8* %uc56, align 1 + %conv60 = zext i8 %40 to i32 + store i32 %conv60, i32* %retval, align 4 + br label %return + +if.end63: ; preds = %if.then44, %if.else, %lor.lhs.false + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end63, %if.then59, %if.then49, %if.then28, %if.then21, %if.then10, %if.then + %41 = load i32, i32* %retval, align 4 + ret i32 %41 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @sprintf(i8* noalias %buf, i8* noalias %format, ...) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %format.addr = alloca i8*, align 8 + %arg = alloca [1 x %struct.__va_list_tag.2], align 16 + %rv = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %arg, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.2* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load i8*, i8** %buf.addr, align 8 + %1 = load i8*, i8** %format.addr, align 8 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %arg, i64 0, i64 0 + %call = call i32 @vsnprintf(i8* %0, i64 -1, i8* %1, %struct.__va_list_tag.2* %arraydecay2) #19 + store i32 %call, i32* %rv, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %arg, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.2* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + %2 = load i32, i32* %rv, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @strcmp(i8* nonnull %s1, i8* nonnull %s2) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %r = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + br label %while.cond + +while.cond: ; preds = %land.rhs, %entry + %0 = load i8*, i8** %s1.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = zext i8 %1 to i32 + %2 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %2, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %3 = load i8, i8* %2, align 1 + %conv1 = zext i8 %3 to i32 + %sub = sub nsw i32 %conv, %conv1 + store i32 %sub, i32* %r, align 4 + %cmp = icmp eq i32 %sub, 0 + br i1 %cmp, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %4 = load i8*, i8** %s1.addr, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr3, i8** %s1.addr, align 8 + %5 = load i8, i8* %4, align 1 + %conv4 = sext i8 %5 to i32 + %tobool = icmp ne i32 %conv4, 0 + br i1 %tobool, label %while.cond, label %while.end + +while.end: ; preds = %while.cond, %land.rhs + %6 = load i32, i32* %r, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i64 @strlen(i8* nonnull %s) #14 { +entry: + %s.addr = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load i8*, i8** %p, align 8 + %2 = load i8, i8* %1, align 1 + %tobool = icmp ne i8 %2, 0 + %3 = load i8*, i8** %p, align 8 + br i1 %tobool, label %for.inc, label %for.end + +for.inc: ; preds = %for.cond + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %4 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %3 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %4 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @strncmp(i8* nonnull %s1, i8* nonnull %s2, i64 %n) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i32 0, i32* %r, align 4 + br label %while.cond + +while.cond: ; preds = %land.rhs, %entry + %0 = load i64, i64* %n.addr, align 8 + %dec = add i64 %0, -1 + store i64 %dec, i64* %n.addr, align 8 + %tobool = icmp ne i64 %0, 0 + br i1 %tobool, label %land.lhs.true, label %while.end + +land.lhs.true: ; preds = %while.cond + %1 = load i8*, i8** %s1.addr, align 8 + %2 = load i8, i8* %1, align 1 + %conv = zext i8 %2 to i32 + %3 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %4 = load i8, i8* %3, align 1 + %conv1 = zext i8 %4 to i32 + %sub = sub nsw i32 %conv, %conv1 + store i32 %sub, i32* %r, align 4 + %cmp = icmp eq i32 %sub, 0 + br i1 %cmp, label %land.rhs, label %while.end + +land.rhs: ; preds = %land.lhs.true + %5 = load i8*, i8** %s1.addr, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr3, i8** %s1.addr, align 8 + %6 = load i8, i8* %5, align 1 + %conv4 = sext i8 %6 to i32 + %tobool5 = icmp ne i32 %conv4, 0 + br i1 %tobool5, label %while.cond, label %while.end + +while.end: ; preds = %while.cond, %land.lhs.true, %land.rhs + %7 = load i32, i32* %r, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @isatty(i32 %fd) #0 { +entry: + %fd.addr = alloca i32, align 4 + %term = alloca %struct.termios, align 4 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 @tcgetattr(i32 %0, %struct.termios* %term) #19 + %cmp = icmp eq i32 %call, 0 + %conv = zext i1 %cmp to i32 + ret i32 %conv +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @open64(i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.2], align 16 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.2* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.2* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i8*, i8** %pathname.addr, align 8 + %8 = load i32, i32* %flags.addr, align 4 + %9 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_open(i8* %7, i32 %8, i32 %9) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @openat64(i32 %fd, i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %fd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.2], align 16 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.2* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.2* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i32, i32* %fd.addr, align 4 + %8 = load i8*, i8** %pathname.addr, align 8 + %9 = load i32, i32* %flags.addr, align 4 + %10 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_openat(i32 %7, i8* %8, i32 %9, i32 %10) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @lseek64(i32 %fd, i64 %offset, i32 %whence) #3 { +entry: + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %offset.addr, align 8 + %2 = load i32, i32* %whence.addr, align 4 + %call = call i64 @__fd_lseek(i32 %0, i64 %1, i32 %2) + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__xstat64(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @stat64(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__lxstat64(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @lstat64(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fxstat64(i32 %vers, i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %vers, i32* %vers.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstat64(i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @ftruncate64(i32 %fd, i64 %length) #3 { +entry: + %fd.addr = alloca i32, align 4 + %length.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %length, i64* %length.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %length.addr, align 8 + %call = call i32 @__fd_ftruncate(i32 %0, i64 %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @statfs64(i8* nonnull %path, %struct.statfs* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.statfs*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.statfs* %buf, %struct.statfs** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.statfs*, %struct.statfs** %buf.addr, align 8 + %call = call i32 @__fd_statfs(i8* %0, %struct.statfs* %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @getdents64(i32 %fd, i8* nonnull %dirp, i64 %count) #3 { +entry: + %fd.addr = alloca i32, align 4 + %dirp.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %dirp, i8** %dirp.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i8*, i8** %dirp.addr, align 8 + %2 = bitcast i8* %1 to %struct.dirent64* + %3 = load i64, i64* %count.addr, align 8 + %conv = trunc i64 %3 to i32 + %call = call i32 @__fd_getdents(i32 %0, %struct.dirent64* %2, i32 %conv) + %conv1 = sext i32 %call to i64 + ret i64 %conv1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @kill(i32 %pid, i32 %sig) #3 { +entry: + %pid.addr = alloca i32, align 4 + %sig.addr = alloca i32, align 4 + store i32 %pid, i32* %pid.addr, align 4 + store i32 %sig, i32* %sig.addr, align 4 + call void @gs_warning.216(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.215, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @gs_warning.216(i8* %message) #3 { +entry: + %message.addr = alloca i8*, align 8 + store i8* %message, i8** %message.addr, align 8 + %0 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %0) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.7.217, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind returns_twice uwtable +define weak dso_local i32 @_setjmp(%struct.__jmp_buf_tag* %__env) #16 { +entry: + %__env.addr = alloca %struct.__jmp_buf_tag*, align 8 + store %struct.__jmp_buf_tag* %__env, %struct.__jmp_buf_tag** %__env.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1.218, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline noreturn nounwind uwtable +define dso_local void @longjmp(%struct.__jmp_buf_tag* %env, i32 %val) #6 { +entry: + %env.addr = alloca %struct.__jmp_buf_tag*, align 8 + %val.addr = alloca i32, align 4 + store %struct.__jmp_buf_tag* %env, %struct.__jmp_buf_tag** %env.addr, align 8 + store i32 %val, i32* %val.addr, align 4 + call void @gs_report_error.222(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.2.219, i64 0, i64 0), i32 37, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.3.220, i64 0, i64 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.4.221, i64 0, i64 0)) #24 + unreachable +} + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error.222(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.7.217, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execl(i8* nonnull %path, i8* nonnull %arg, ...) #3 { +entry: + %path.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + call void @gs_warning.216(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.223, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execlp(i8* nonnull %file, i8* nonnull %arg, ...) #3 { +entry: + %file.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + call void @gs_warning.216(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.223, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execle(i8* nonnull %path, i8* nonnull %arg, ...) #3 { +entry: + %path.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + call void @gs_warning.216(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.223, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execv(i8* nonnull %path, i8** nonnull %argv) #3 { +entry: + %path.addr = alloca i8*, align 8 + %argv.addr = alloca i8**, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + call void @gs_warning.216(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.223, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execvp(i8* nonnull %file, i8** nonnull %argv) #3 { +entry: + %file.addr = alloca i8*, align 8 + %argv.addr = alloca i8**, align 8 + store i8* %file, i8** %file.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + call void @gs_warning.216(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.223, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execve(i8* nonnull %file, i8** nonnull %argv, i8** %envp) #3 { +entry: + %file.addr = alloca i8*, align 8 + %argv.addr = alloca i8**, align 8 + %envp.addr = alloca i8**, align 8 + store i8* %file, i8** %file.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + store i8** %envp, i8*** %envp.addr, align 8 + call void @gs_warning.216(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.223, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fork() #3 { +entry: + call void @gs_warning.216(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.6.224, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 12, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind returns_twice uwtable +define dso_local i32 @vfork() #16 { +entry: + %call = call i32 @fork() #11 + ret i32 %call +} + +; Function Attrs: noinline nounwind readnone uwtable +define i16** @__ctype_b_loc() #12 { +entry: + %0 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__curlocale_var, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %0, i32 0, i32 0 + ret i16** %__ctype_b +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @__error(i32 %status, i32 %errnum, i8* %message, ...) #0 { +entry: + %status.addr = alloca i32, align 4 + %errnum.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %args = alloca [1 x %struct.__va_list_tag.2], align 16 + %__S = alloca %struct.__STDIO_FILE_STRUCT.570*, align 8 + %tmp = alloca i32, align 4 + store i32 %status, i32* %status.addr, align 4 + store i32 %errnum, i32* %errnum.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** @stdout, align 8 + %call = call i32 @fflush(%struct.__STDIO_FILE_STRUCT.570* %0) #18 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %args, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.2* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %1 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** @stderr, align 8 + %2 = load i8*, i8** %message.addr, align 8 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %args, i64 0, i64 0 + %call3 = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.570* %1, i8* %2, %struct.__va_list_tag.2* %arraydecay2) #18 + %arraydecay4 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %args, i64 0, i64 0 + %arraydecay45 = bitcast %struct.__va_list_tag.2* %arraydecay4 to i8* + call void @llvm.va_end(i8* %arraydecay45) + %3 = load i32, i32* @error_message_count, align 4 + %inc = add i32 %3, 1 + store i32 %inc, i32* @error_message_count, align 4 + %4 = load i32, i32* %errnum.addr, align 4 + %tobool = icmp ne i32 %4, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %5 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** @stderr, align 8 + %6 = load i32, i32* %errnum.addr, align 4 + %call6 = call i8* @strerror(i32 %6) #19 + %call7 = call i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.570* %5, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.227, i64 0, i64 0), i8* %call6) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %7 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** @stderr, align 8 + store %struct.__STDIO_FILE_STRUCT.570* %7, %struct.__STDIO_FILE_STRUCT.570** %__S, align 8 + %8 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %__S, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %8, i32 0, i32 5 + %9 = load i8*, i8** %__bufpos, align 8 + %10 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %__S, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %10, i32 0, i32 8 + %11 = load i8*, i8** %__bufputc_u, align 8 + %cmp = icmp ult i8* %9, %11 + %12 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %__S, align 8 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %if.end + %__bufpos8 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %12, i32 0, i32 5 + %13 = load i8*, i8** %__bufpos8, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %13, i32 1 + store i8* %incdec.ptr, i8** %__bufpos8, align 8 + store i8 10, i8* %13, align 1 + br label %cond.end + +cond.false: ; preds = %if.end + %call9 = call i32 @__fputc_unlocked(i32 10, %struct.__STDIO_FILE_STRUCT.570* %12) #18 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ 10, %cond.true ], [ %call9, %cond.false ] + store i32 %cond, i32* %tmp, align 4 + %14 = load i32, i32* %tmp, align 4 + %15 = load i32, i32* %status.addr, align 4 + %tobool10 = icmp ne i32 %15, 0 + br i1 %tobool10, label %if.then11, label %if.end12 + +if.then11: ; preds = %cond.end + %16 = load i32, i32* %status.addr, align 4 + call void @exit(i32 %16) #22 + unreachable + +if.end12: ; preds = %cond.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @__error_at_line(i32 %status, i32 %errnum, i8* %file_name, i32 %line_number, i8* %message, ...) #0 { +entry: + %status.addr = alloca i32, align 4 + %errnum.addr = alloca i32, align 4 + %file_name.addr = alloca i8*, align 8 + %line_number.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %args = alloca [1 x %struct.__va_list_tag.2], align 16 + %__S = alloca %struct.__STDIO_FILE_STRUCT.570*, align 8 + %tmp = alloca i32, align 4 + store i32 %status, i32* %status.addr, align 4 + store i32 %errnum, i32* %errnum.addr, align 4 + store i8* %file_name, i8** %file_name.addr, align 8 + store i32 %line_number, i32* %line_number.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + %0 = load i32, i32* @error_one_per_line, align 4 + %tobool = icmp ne i32 %0, 0 + br i1 %tobool, label %if.then, label %if.end4 + +if.then: ; preds = %entry + %1 = load i32, i32* @__error_at_line.old_line_number, align 4 + %2 = load i32, i32* %line_number.addr, align 4 + %cmp = icmp eq i32 %1, %2 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %if.then + %3 = load i8*, i8** %file_name.addr, align 8 + %4 = load i8*, i8** @__error_at_line.old_file_name, align 8 + %cmp1 = icmp eq i8* %3, %4 + br i1 %cmp1, label %if.end25, label %lor.lhs.false + +lor.lhs.false: ; preds = %land.lhs.true + %5 = load i8*, i8** @__error_at_line.old_file_name, align 8 + %6 = load i8*, i8** %file_name.addr, align 8 + %call = call i32 @strcmp(i8* %5, i8* %6) #20 + %tobool2 = icmp ne i32 %call, 0 + br i1 %tobool2, label %if.end, label %if.end25 + +if.end: ; preds = %lor.lhs.false, %if.then + %7 = load i8*, i8** %file_name.addr, align 8 + store i8* %7, i8** @__error_at_line.old_file_name, align 8 + %8 = load i32, i32* %line_number.addr, align 4 + store i32 %8, i32* @__error_at_line.old_line_number, align 4 + br label %if.end4 + +if.end4: ; preds = %if.end, %entry + %9 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** @stdout, align 8 + %call5 = call i32 @fflush(%struct.__STDIO_FILE_STRUCT.570* %9) #18 + %10 = load i8*, i8** %file_name.addr, align 8 + %cmp6 = icmp ne i8* %10, null + br i1 %cmp6, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end4 + %11 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** @stderr, align 8 + %12 = load i8*, i8** %file_name.addr, align 8 + %13 = load i32, i32* %line_number.addr, align 4 + %call8 = call i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.570* %11, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1.228, i64 0, i64 0), i8* %12, i32 %13) #18 + br label %if.end9 + +if.end9: ; preds = %if.then7, %if.end4 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %args, i64 0, i64 0 + %arraydecay10 = bitcast %struct.__va_list_tag.2* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay10) + %14 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** @stderr, align 8 + %15 = load i8*, i8** %message.addr, align 8 + %arraydecay11 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %args, i64 0, i64 0 + %call12 = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.570* %14, i8* %15, %struct.__va_list_tag.2* %arraydecay11) #18 + %arraydecay13 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %args, i64 0, i64 0 + %arraydecay1314 = bitcast %struct.__va_list_tag.2* %arraydecay13 to i8* + call void @llvm.va_end(i8* %arraydecay1314) + %16 = load i32, i32* @error_message_count, align 4 + %inc = add i32 %16, 1 + store i32 %inc, i32* @error_message_count, align 4 + %17 = load i32, i32* %errnum.addr, align 4 + %tobool15 = icmp ne i32 %17, 0 + br i1 %tobool15, label %if.then16, label %if.end19 + +if.then16: ; preds = %if.end9 + %18 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** @stderr, align 8 + %19 = load i32, i32* %errnum.addr, align 4 + %call17 = call i8* @strerror(i32 %19) #19 + %call18 = call i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.570* %18, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.227, i64 0, i64 0), i8* %call17) #18 + br label %if.end19 + +if.end19: ; preds = %if.then16, %if.end9 + %20 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** @stderr, align 8 + store %struct.__STDIO_FILE_STRUCT.570* %20, %struct.__STDIO_FILE_STRUCT.570** %__S, align 8 + %21 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %__S, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %21, i32 0, i32 5 + %22 = load i8*, i8** %__bufpos, align 8 + %23 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %__S, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %23, i32 0, i32 8 + %24 = load i8*, i8** %__bufputc_u, align 8 + %cmp20 = icmp ult i8* %22, %24 + %25 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %__S, align 8 + br i1 %cmp20, label %cond.true, label %cond.false + +cond.true: ; preds = %if.end19 + %__bufpos21 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %25, i32 0, i32 5 + %26 = load i8*, i8** %__bufpos21, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %26, i32 1 + store i8* %incdec.ptr, i8** %__bufpos21, align 8 + store i8 10, i8* %26, align 1 + br label %cond.end + +cond.false: ; preds = %if.end19 + %call22 = call i32 @__fputc_unlocked(i32 10, %struct.__STDIO_FILE_STRUCT.570* %25) #18 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ 10, %cond.true ], [ %call22, %cond.false ] + store i32 %cond, i32* %tmp, align 4 + %27 = load i32, i32* %tmp, align 4 + %28 = load i32, i32* %status.addr, align 4 + %tobool23 = icmp ne i32 %28, 0 + br i1 %tobool23, label %if.then24, label %if.end25 + +if.then24: ; preds = %cond.end + %29 = load i32, i32* %status.addr, align 4 + call void @exit(i32 %29) #22 + unreachable + +if.end25: ; preds = %land.lhs.true, %lor.lhs.false, %cond.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i8* @nl_langinfo(i32 %item) #0 { +entry: + %item.addr = alloca i32, align 4 + store i32 %item, i32* %item.addr, align 4 + %0 = load i32, i32* %item.addr, align 4 + %1 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__curlocale_var, align 8 + %call = call i8* @nl_langinfo_l(i32 %0, %struct.__uclibc_locale_struct.203* %1) #18 + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define i8* @setlocale(i32 %category, i8* %locale) #0 { +entry: + %retval = alloca i8*, align 8 + %category.addr = alloca i32, align 4 + %locale.addr = alloca i8*, align 8 + store i32 %category, i32* %category.addr, align 4 + store i8* %locale, i8** %locale.addr, align 8 + %0 = load i32, i32* %category.addr, align 4 + %cmp = icmp ugt i32 %0, 6 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %locale.addr, align 8 + %cmp1 = icmp ne i8* %1, null + br i1 %cmp1, label %if.then2, label %if.end5 + +if.then2: ; preds = %if.end + %2 = load i32, i32* %category.addr, align 4 + %shl = shl i32 1, %2 + %3 = load i8*, i8** %locale.addr, align 8 + %4 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__global_locale, align 8 + %call = call %struct.__uclibc_locale_struct.203* @newlocale(i32 %shl, i8* %3, %struct.__uclibc_locale_struct.203* %4) #19 + %tobool = icmp ne %struct.__uclibc_locale_struct.203* %call, null + br i1 %tobool, label %if.end4, label %if.then3 + +if.then3: ; preds = %if.then2 + store i8* null, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %if.then2 + %5 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__global_locale, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %5, i32 0, i32 6 + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + call void @update_hr_locale(i8* %arraydecay) #18 + br label %if.end5 + +if.end5: ; preds = %if.end4, %if.end + %6 = load i32, i32* %category.addr, align 4 + %mul = mul nsw i32 %6, 32 + %idx.ext = sext i32 %mul to i64 + %add.ptr = getelementptr inbounds i8, i8* getelementptr inbounds ([448 x i8], [448 x i8]* @hr_locale, i64 0, i64 0), i64 %idx.ext + store i8* %add.ptr, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %7 = load i8*, i8** %retval, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @update_hr_locale(i8* %spec) #0 { +entry: + %spec.addr = alloca i8*, align 8 + %loc = alloca i8*, align 8 + %s = alloca i8*, align 8 + %n = alloca i8*, align 8 + %i = alloca i32, align 4 + %category = alloca i32, align 4 + %done = alloca i32, align 4 + %at = alloca i8, align 1 + %q = alloca i8*, align 8 + store i8* %spec, i8** %spec.addr, align 8 + store i32 0, i32* %category, align 4 + store i32 0, i32* %done, align 4 + br label %do.body + +do.body: ; preds = %do.end127, %entry + %0 = load i8*, i8** %spec.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %0, i64 1 + store i8* %add.ptr, i8** %s, align 8 + %1 = load i32, i32* %category, align 4 + %mul = mul nsw i32 %1, 32 + %idx.ext = sext i32 %mul to i64 + %add.ptr1 = getelementptr inbounds i8, i8* getelementptr inbounds ([448 x i8], [448 x i8]* @hr_locale, i64 0, i64 0), i64 %idx.ext + store i8* %add.ptr1, i8** %n, align 8 + %2 = load i32, i32* %category, align 4 + %cmp = icmp eq i32 %2, 6 + br i1 %cmp, label %if.then, label %SKIP + +if.then: ; preds = %do.body + store i32 1, i32* %done, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.then + %3 = load i32, i32* %i, align 4 + %cmp2 = icmp slt i32 %3, 5 + br i1 %cmp2, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %4 = load i8*, i8** %s, align 8 + %5 = load i32, i32* %i, align 4 + %idxprom = sext i32 %5 to i64 + %arrayidx = getelementptr inbounds i8, i8* %4, i64 %idxprom + %6 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %6 to i32 + %7 = load i8*, i8** %s, align 8 + %8 = load i32, i32* %i, align 4 + %add = add nsw i32 %8, 2 + %idxprom3 = sext i32 %add to i64 + %arrayidx4 = getelementptr inbounds i8, i8* %7, i64 %idxprom3 + %9 = load i8, i8* %arrayidx4, align 1 + %conv5 = zext i8 %9 to i32 + %cmp6 = icmp ne i32 %conv, %conv5 + br i1 %cmp6, label %SKIP, label %lor.lhs.false + +lor.lhs.false: ; preds = %for.body + %10 = load i8*, i8** %s, align 8 + %11 = load i32, i32* %i, align 4 + %add8 = add nsw i32 %11, 1 + %idxprom9 = sext i32 %add8 to i64 + %arrayidx10 = getelementptr inbounds i8, i8* %10, i64 %idxprom9 + %12 = load i8, i8* %arrayidx10, align 1 + %conv11 = zext i8 %12 to i32 + %13 = load i8*, i8** %s, align 8 + %14 = load i32, i32* %i, align 4 + %add12 = add nsw i32 %14, 3 + %idxprom13 = sext i32 %add12 to i64 + %arrayidx14 = getelementptr inbounds i8, i8* %13, i64 %idxprom13 + %15 = load i8, i8* %arrayidx14, align 1 + %conv15 = zext i8 %15 to i32 + %cmp16 = icmp ne i32 %conv11, %conv15 + br i1 %cmp16, label %SKIP, label %for.inc + +for.inc: ; preds = %lor.lhs.false + %16 = load i32, i32* %i, align 4 + %add19 = add nsw i32 %16, 2 + store i32 %add19, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + store i32 0, i32* %category, align 4 + br label %SKIP + +SKIP: ; preds = %do.body, %for.end, %for.body, %lor.lhs.false + %17 = load i32, i32* %category, align 4 + %cmp21 = icmp eq i32 %17, 6 + %18 = load i32, i32* %category, align 4 + %cond = select i1 %cmp21, i32 0, i32 %18 + store i32 %cond, i32* %i, align 4 + %19 = load i32, i32* %i, align 4 + %mul23 = mul nsw i32 2, %19 + %20 = load i8*, i8** %s, align 8 + %idx.ext24 = sext i32 %mul23 to i64 + %add.ptr25 = getelementptr inbounds i8, i8* %20, i64 %idx.ext24 + store i8* %add.ptr25, i8** %s, align 8 + br label %do.body26 + +do.body26: ; preds = %if.end122, %SKIP + %21 = load i8*, i8** %s, align 8 + %22 = load i8, i8* %21, align 1 + %conv27 = zext i8 %22 to i32 + %cmp28 = icmp ne i32 %conv27, 255 + br i1 %cmp28, label %if.then35, label %lor.lhs.false30 + +lor.lhs.false30: ; preds = %do.body26 + %23 = load i8*, i8** %s, align 8 + %arrayidx31 = getelementptr inbounds i8, i8* %23, i64 1 + %24 = load i8, i8* %arrayidx31, align 1 + %conv32 = zext i8 %24 to i32 + %cmp33 = icmp ne i32 %conv32, 255 + br i1 %cmp33, label %if.then35, label %if.end122 + +if.then35: ; preds = %lor.lhs.false30, %do.body26 + %25 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %locales = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %25, i32 0, i32 31 + %arraydecay = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales, i64 0, i64 0 + %26 = load i8*, i8** %s, align 8 + %27 = load i8, i8* %26, align 1 + %conv36 = zext i8 %27 to i32 + %and = and i32 %conv36, 127 + %shl = shl i32 %and, 7 + %28 = load i8*, i8** %s, align 8 + %arrayidx37 = getelementptr inbounds i8, i8* %28, i64 1 + %29 = load i8, i8* %arrayidx37, align 1 + %conv38 = zext i8 %29 to i32 + %and39 = and i32 %conv38, 127 + %add40 = add nsw i32 %shl, %and39 + %mul41 = mul nsw i32 9, %add40 + %idx.ext42 = sext i32 %mul41 to i64 + %add.ptr43 = getelementptr inbounds i8, i8* %arraydecay, i64 %idx.ext42 + store i8* %add.ptr43, i8** %loc, align 8 + %30 = load i32, i32* %category, align 4 + %cmp44 = icmp eq i32 %30, 6 + br i1 %cmp44, label %if.then46, label %if.end54 + +if.then46: ; preds = %if.then35 + %31 = load i8*, i8** %n, align 8 + %32 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %lc_names = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %32, i32 0, i32 34 + %arraydecay47 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names, i64 0, i64 0 + %33 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %lc_names48 = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %33, i32 0, i32 34 + %34 = load i32, i32* %i, align 4 + %idxprom49 = sext i32 %34 to i64 + %arrayidx50 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names48, i64 0, i64 %idxprom49 + %35 = load i8, i8* %arrayidx50, align 1 + %conv51 = zext i8 %35 to i32 + %idx.ext52 = sext i32 %conv51 to i64 + %add.ptr53 = getelementptr inbounds i8, i8* %arraydecay47, i64 %idx.ext52 + %call = call i8* @stpcpy(i8* %31, i8* %add.ptr53) #19 + store i8* %call, i8** %n, align 8 + %36 = load i8*, i8** %n, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %36, i32 1 + store i8* %incdec.ptr, i8** %n, align 8 + store i8 61, i8* %36, align 1 + br label %if.end54 + +if.end54: ; preds = %if.then46, %if.then35 + %37 = load i8*, i8** %loc, align 8 + %38 = load i8, i8* %37, align 1 + %conv55 = zext i8 %38 to i32 + %cmp56 = icmp eq i32 %conv55, 0 + br i1 %cmp56, label %if.then58, label %if.else + +if.then58: ; preds = %if.end54 + %39 = load i8*, i8** %n, align 8 + %incdec.ptr59 = getelementptr inbounds i8, i8* %39, i32 1 + store i8* %incdec.ptr59, i8** %n, align 8 + store i8 67, i8* %39, align 1 + %40 = load i8*, i8** %n, align 8 + store i8 0, i8* %40, align 1 + br label %if.end120 + +if.else: ; preds = %if.end54 + store i8 0, i8* %at, align 1 + %41 = load i8*, i8** %n, align 8 + %42 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %locale_names5 = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %42, i32 0, i32 32 + %arraydecay60 = getelementptr inbounds [835 x i8], [835 x i8]* %locale_names5, i64 0, i64 0 + %43 = load i8*, i8** %loc, align 8 + %44 = load i8, i8* %43, align 1 + %conv61 = zext i8 %44 to i32 + %sub = sub nsw i32 %conv61, 1 + %mul62 = mul nsw i32 5, %sub + %idx.ext63 = sext i32 %mul62 to i64 + %add.ptr64 = getelementptr inbounds i8, i8* %arraydecay60, i64 %idx.ext63 + %call65 = call i8* @memcpy(i8* %41, i8* %add.ptr64, i64 5) #19 + %45 = load i8*, i8** %n, align 8 + %arrayidx66 = getelementptr inbounds i8, i8* %45, i64 2 + %46 = load i8, i8* %arrayidx66, align 1 + %conv67 = sext i8 %46 to i32 + %cmp68 = icmp ne i32 %conv67, 95 + br i1 %cmp68, label %if.then70, label %if.end73 + +if.then70: ; preds = %if.else + %47 = load i8*, i8** %n, align 8 + %arrayidx71 = getelementptr inbounds i8, i8* %47, i64 2 + %48 = load i8, i8* %arrayidx71, align 1 + store i8 %48, i8* %at, align 1 + %49 = load i8*, i8** %n, align 8 + %arrayidx72 = getelementptr inbounds i8, i8* %49, i64 2 + store i8 95, i8* %arrayidx72, align 1 + br label %if.end73 + +if.end73: ; preds = %if.then70, %if.else + %50 = load i8*, i8** %n, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %50, i64 5 + store i8* %add.ptr74, i8** %n, align 8 + %51 = load i8*, i8** %n, align 8 + %incdec.ptr75 = getelementptr inbounds i8, i8* %51, i32 1 + store i8* %incdec.ptr75, i8** %n, align 8 + store i8 46, i8* %51, align 1 + %52 = load i8*, i8** %loc, align 8 + %arrayidx76 = getelementptr inbounds i8, i8* %52, i64 2 + %53 = load i8, i8* %arrayidx76, align 1 + %conv77 = zext i8 %53 to i32 + %cmp78 = icmp eq i32 %conv77, 2 + br i1 %cmp78, label %if.then80, label %if.else82 + +if.then80: ; preds = %if.end73 + %54 = load i8*, i8** %n, align 8 + %call81 = call i8* @stpcpy(i8* %54, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf8.235, i64 0, i64 0)) #19 + store i8* %call81, i8** %n, align 8 + br label %if.end100 + +if.else82: ; preds = %if.end73 + %55 = load i8*, i8** %loc, align 8 + %arrayidx83 = getelementptr inbounds i8, i8* %55, i64 2 + %56 = load i8, i8* %arrayidx83, align 1 + %conv84 = zext i8 %56 to i32 + %cmp85 = icmp sge i32 %conv84, 3 + br i1 %cmp85, label %if.then87, label %if.end100 + +if.then87: ; preds = %if.else82 + %57 = load i8*, i8** %n, align 8 + %58 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %codeset_list = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %58, i32 0, i32 35 + %arraydecay88 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list, i64 0, i64 0 + %59 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %codeset_list89 = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %59, i32 0, i32 35 + %60 = load i8*, i8** %loc, align 8 + %arrayidx90 = getelementptr inbounds i8, i8* %60, i64 2 + %61 = load i8, i8* %arrayidx90, align 1 + %conv91 = zext i8 %61 to i32 + %sub92 = sub nsw i32 %conv91, 3 + %idxprom93 = sext i32 %sub92 to i64 + %arrayidx94 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list89, i64 0, i64 %idxprom93 + %62 = load i8, i8* %arrayidx94, align 1 + %conv95 = zext i8 %62 to i32 + %idx.ext96 = sext i32 %conv95 to i64 + %add.ptr97 = getelementptr inbounds i8, i8* %arraydecay88, i64 %idx.ext96 + %call98 = call i8* @stpcpy(i8* %57, i8* %add.ptr97) #19 + store i8* %call98, i8** %n, align 8 + br label %if.end100 + +if.end100: ; preds = %if.else82, %if.then87, %if.then80 + %63 = load i8, i8* %at, align 1 + %tobool = icmp ne i8 %63, 0 + br i1 %tobool, label %if.then101, label %if.end120 + +if.then101: ; preds = %if.end100 + %64 = load i8*, i8** %n, align 8 + %incdec.ptr102 = getelementptr inbounds i8, i8* %64, i32 1 + store i8* %incdec.ptr102, i8** %n, align 8 + store i8 64, i8* %64, align 1 + %65 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %locale_at_modifiers = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %65, i32 0, i32 33 + %arraydecay103 = getelementptr inbounds [18 x i8], [18 x i8]* %locale_at_modifiers, i64 0, i64 0 + store i8* %arraydecay103, i8** %q, align 8 + br label %do.body104 + +do.body104: ; preds = %if.end113, %if.then101 + %66 = load i8*, i8** %q, align 8 + %arrayidx105 = getelementptr inbounds i8, i8* %66, i64 1 + %67 = load i8, i8* %arrayidx105, align 1 + %conv106 = sext i8 %67 to i32 + %68 = load i8, i8* %at, align 1 + %conv107 = sext i8 %68 to i32 + %cmp108 = icmp eq i32 %conv106, %conv107 + br i1 %cmp108, label %if.then110, label %if.end113 + +if.then110: ; preds = %do.body104 + %69 = load i8*, i8** %n, align 8 + %70 = load i8*, i8** %q, align 8 + %add.ptr111 = getelementptr inbounds i8, i8* %70, i64 2 + %call112 = call i8* @stpcpy(i8* %69, i8* %add.ptr111) #19 + store i8* %call112, i8** %n, align 8 + br label %if.end120 + +if.end113: ; preds = %do.body104 + %71 = load i8*, i8** %q, align 8 + %72 = load i8, i8* %71, align 1 + %conv114 = sext i8 %72 to i32 + %add115 = add nsw i32 2, %conv114 + %73 = load i8*, i8** %q, align 8 + %idx.ext116 = sext i32 %add115 to i64 + %add.ptr117 = getelementptr inbounds i8, i8* %73, i64 %idx.ext116 + store i8* %add.ptr117, i8** %q, align 8 + %74 = load i8*, i8** %q, align 8 + %75 = load i8, i8* %74, align 1 + %tobool118 = icmp ne i8 %75, 0 + br i1 %tobool118, label %do.body104, label %if.end120 + +if.end120: ; preds = %if.end100, %if.end113, %if.then110, %if.then58 + %76 = load i8*, i8** %n, align 8 + %incdec.ptr121 = getelementptr inbounds i8, i8* %76, i32 1 + store i8* %incdec.ptr121, i8** %n, align 8 + store i8 59, i8* %76, align 1 + br label %if.end122 + +if.end122: ; preds = %if.end120, %lor.lhs.false30 + %77 = load i8*, i8** %s, align 8 + %add.ptr123 = getelementptr inbounds i8, i8* %77, i64 2 + store i8* %add.ptr123, i8** %s, align 8 + %78 = load i32, i32* %i, align 4 + %inc = add nsw i32 %78, 1 + store i32 %inc, i32* %i, align 4 + %79 = load i32, i32* %category, align 4 + %cmp125 = icmp slt i32 %inc, %79 + br i1 %cmp125, label %do.body26, label %do.end127 + +do.end127: ; preds = %if.end122 + %80 = load i8*, i8** %n, align 8 + %incdec.ptr128 = getelementptr inbounds i8, i8* %80, i32 -1 + store i8* %incdec.ptr128, i8** %n, align 8 + store i8 0, i8* %incdec.ptr128, align 1 + %81 = load i32, i32* %category, align 4 + %inc129 = add nsw i32 %81, 1 + store i32 %inc129, i32* %category, align 4 + %82 = load i32, i32* %done, align 4 + %tobool131 = icmp ne i32 %82, 0 + %lnot = xor i1 %tobool131, true + br i1 %lnot, label %do.body, label %do.end132 + +do.end132: ; preds = %do.end127 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define void @setutent() #0 { +entry: + call void @__setutent() #18 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__setutent() #0 { +entry: + %ret = alloca i32, align 4 + %0 = load i32, i32* @static_fd, align 4 + %cmp = icmp eq i32 %0, -1 + br i1 %cmp, label %if.then, label %if.end16 + +if.then: ; preds = %entry + %1 = load i8*, i8** @static_ut_name, align 8 + %call = call i32 (i8*, i32, ...) @open(i8* %1, i32 2) #18 + store i32 %call, i32* @static_fd, align 4 + %cmp1 = icmp slt i32 %call, 0 + br i1 %cmp1, label %if.then2, label %if.end6 + +if.then2: ; preds = %if.then + %2 = load i8*, i8** @static_ut_name, align 8 + %call3 = call i32 (i8*, i32, ...) @open(i8* %2, i32 0) #18 + store i32 %call3, i32* @static_fd, align 4 + %cmp4 = icmp slt i32 %call3, 0 + br i1 %cmp4, label %bummer, label %if.end6 + +if.end6: ; preds = %if.then2, %if.then + %3 = load i32, i32* @static_fd, align 4 + %call7 = call i32 (i32, i32, ...) @fcntl(i32 %3, i32 1, i32 0) #18 + store i32 %call7, i32* %ret, align 4 + %4 = load i32, i32* %ret, align 4 + %cmp8 = icmp sge i32 %4, 0 + br i1 %cmp8, label %if.then9, label %if.end11 + +if.then9: ; preds = %if.end6 + %5 = load i32, i32* @static_fd, align 4 + %6 = load i32, i32* %ret, align 4 + %or = or i32 %6, 1 + %call10 = call i32 (i32, i32, ...) @fcntl(i32 %5, i32 2, i32 %or) #18 + store i32 %call10, i32* %ret, align 4 + br label %if.end11 + +if.end11: ; preds = %if.then9, %if.end6 + %7 = load i32, i32* %ret, align 4 + %cmp12 = icmp slt i32 %7, 0 + br i1 %cmp12, label %bummer, label %if.end16 + +bummer: ; preds = %if.end11, %if.then2 + store i32 -1, i32* @static_fd, align 4 + %8 = load i32, i32* @static_fd, align 4 + %call14 = call i32 @close(i32 %8) #18 + br label %return + +if.end16: ; preds = %if.end11, %entry + %9 = load i32, i32* @static_fd, align 4 + %call17 = call i64 @lseek(i32 %9, i64 0, i32 0) #19 + br label %return + +return: ; preds = %if.end16, %bummer + ret void +} + +; Function Attrs: noinline nounwind uwtable +define void @endutent() #0 { +entry: + %0 = load i32, i32* @static_fd, align 4 + %cmp = icmp ne i32 %0, -1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load i32, i32* @static_fd, align 4 + %call = call i32 @close(i32 %1) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + store i32 -1, i32* @static_fd, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.325* @getutent() #0 { +entry: + %ret = alloca %struct.utmp.325*, align 8 + store %struct.utmp.325* null, %struct.utmp.325** %ret, align 8 + %0 = load i32, i32* @static_fd, align 4 + %call = call %struct.utmp.325* @__getutent(i32 %0) #18 + store %struct.utmp.325* %call, %struct.utmp.325** %ret, align 8 + %1 = load %struct.utmp.325*, %struct.utmp.325** %ret, align 8 + ret %struct.utmp.325* %1 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.utmp.325* @__getutent(i32 %utmp_fd) #0 { +entry: + %retval = alloca %struct.utmp.325*, align 8 + %utmp_fd.addr = alloca i32, align 4 + %ret = alloca %struct.utmp.325*, align 8 + store i32 %utmp_fd, i32* %utmp_fd.addr, align 4 + store %struct.utmp.325* null, %struct.utmp.325** %ret, align 8 + %0 = load i32, i32* %utmp_fd.addr, align 4 + %cmp = icmp eq i32 %0, -1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @__setutent() #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i32, i32* %utmp_fd.addr, align 4 + %cmp1 = icmp eq i32 %1, -1 + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + store %struct.utmp.325* null, %struct.utmp.325** %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %2 = load i32, i32* %utmp_fd.addr, align 4 + %call = call i64 @read(i32 %2, i8* bitcast (%struct.utmp.325* @static_utmp to i8*), i64 400) #18 + %cmp4 = icmp eq i64 %call, 400 + br i1 %cmp4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end3 + store %struct.utmp.325* @static_utmp, %struct.utmp.325** %ret, align 8 + br label %if.end6 + +if.end6: ; preds = %if.then5, %if.end3 + %3 = load %struct.utmp.325*, %struct.utmp.325** %ret, align 8 + store %struct.utmp.325* %3, %struct.utmp.325** %retval, align 8 + br label %return + +return: ; preds = %if.end6, %if.then2 + %4 = load %struct.utmp.325*, %struct.utmp.325** %retval, align 8 + ret %struct.utmp.325* %4 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.325* @getutid(%struct.utmp.325* %utmp_entry) #0 { +entry: + %utmp_entry.addr = alloca %struct.utmp.325*, align 8 + %ret = alloca %struct.utmp.325*, align 8 + store %struct.utmp.325* %utmp_entry, %struct.utmp.325** %utmp_entry.addr, align 8 + store %struct.utmp.325* null, %struct.utmp.325** %ret, align 8 + %0 = load %struct.utmp.325*, %struct.utmp.325** %utmp_entry.addr, align 8 + %call = call %struct.utmp.325* @__getutid(%struct.utmp.325* %0) #18 + store %struct.utmp.325* %call, %struct.utmp.325** %ret, align 8 + %1 = load %struct.utmp.325*, %struct.utmp.325** %ret, align 8 + ret %struct.utmp.325* %1 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.utmp.325* @__getutid(%struct.utmp.325* %utmp_entry) #0 { +entry: + %retval = alloca %struct.utmp.325*, align 8 + %utmp_entry.addr = alloca %struct.utmp.325*, align 8 + %lutmp = alloca %struct.utmp.325*, align 8 + store %struct.utmp.325* %utmp_entry, %struct.utmp.325** %utmp_entry.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end47, %entry + %0 = load i32, i32* @static_fd, align 4 + %call = call %struct.utmp.325* @__getutent(i32 %0) #18 + store %struct.utmp.325* %call, %struct.utmp.325** %lutmp, align 8 + %cmp = icmp ne %struct.utmp.325* %call, null + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %1 = load %struct.utmp.325*, %struct.utmp.325** %utmp_entry.addr, align 8 + %ut_type = getelementptr inbounds %struct.utmp.325, %struct.utmp.325* %1, i32 0, i32 0 + %2 = load i16, i16* %ut_type, align 8 + %conv = sext i16 %2 to i32 + %cmp1 = icmp eq i32 %conv, 1 + br i1 %cmp1, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.body + %3 = load %struct.utmp.325*, %struct.utmp.325** %utmp_entry.addr, align 8 + %ut_type3 = getelementptr inbounds %struct.utmp.325, %struct.utmp.325* %3, i32 0, i32 0 + %4 = load i16, i16* %ut_type3, align 8 + %conv4 = sext i16 %4 to i32 + %cmp5 = icmp eq i32 %conv4, 2 + br i1 %cmp5, label %land.lhs.true, label %lor.lhs.false7 + +lor.lhs.false7: ; preds = %lor.lhs.false + %5 = load %struct.utmp.325*, %struct.utmp.325** %utmp_entry.addr, align 8 + %ut_type8 = getelementptr inbounds %struct.utmp.325, %struct.utmp.325* %5, i32 0, i32 0 + %6 = load i16, i16* %ut_type8, align 8 + %conv9 = sext i16 %6 to i32 + %cmp10 = icmp eq i32 %conv9, 3 + br i1 %cmp10, label %land.lhs.true, label %lor.lhs.false12 + +lor.lhs.false12: ; preds = %lor.lhs.false7 + %7 = load %struct.utmp.325*, %struct.utmp.325** %utmp_entry.addr, align 8 + %ut_type13 = getelementptr inbounds %struct.utmp.325, %struct.utmp.325* %7, i32 0, i32 0 + %8 = load i16, i16* %ut_type13, align 8 + %conv14 = sext i16 %8 to i32 + %cmp15 = icmp eq i32 %conv14, 4 + br i1 %cmp15, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %lor.lhs.false12, %lor.lhs.false7, %lor.lhs.false, %while.body + %9 = load %struct.utmp.325*, %struct.utmp.325** %lutmp, align 8 + %ut_type17 = getelementptr inbounds %struct.utmp.325, %struct.utmp.325* %9, i32 0, i32 0 + %10 = load i16, i16* %ut_type17, align 8 + %conv18 = sext i16 %10 to i32 + %11 = load %struct.utmp.325*, %struct.utmp.325** %utmp_entry.addr, align 8 + %ut_type19 = getelementptr inbounds %struct.utmp.325, %struct.utmp.325* %11, i32 0, i32 0 + %12 = load i16, i16* %ut_type19, align 8 + %conv20 = sext i16 %12 to i32 + %cmp21 = icmp eq i32 %conv18, %conv20 + br i1 %cmp21, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %13 = load %struct.utmp.325*, %struct.utmp.325** %lutmp, align 8 + store %struct.utmp.325* %13, %struct.utmp.325** %retval, align 8 + br label %return + +if.end: ; preds = %land.lhs.true, %lor.lhs.false12 + %14 = load %struct.utmp.325*, %struct.utmp.325** %utmp_entry.addr, align 8 + %ut_type23 = getelementptr inbounds %struct.utmp.325, %struct.utmp.325* %14, i32 0, i32 0 + %15 = load i16, i16* %ut_type23, align 8 + %conv24 = sext i16 %15 to i32 + %cmp25 = icmp eq i32 %conv24, 5 + br i1 %cmp25, label %land.lhs.true42, label %lor.lhs.false27 + +lor.lhs.false27: ; preds = %if.end + %16 = load %struct.utmp.325*, %struct.utmp.325** %utmp_entry.addr, align 8 + %ut_type28 = getelementptr inbounds %struct.utmp.325, %struct.utmp.325* %16, i32 0, i32 0 + %17 = load i16, i16* %ut_type28, align 8 + %conv29 = sext i16 %17 to i32 + %cmp30 = icmp eq i32 %conv29, 8 + br i1 %cmp30, label %land.lhs.true42, label %lor.lhs.false32 + +lor.lhs.false32: ; preds = %lor.lhs.false27 + %18 = load %struct.utmp.325*, %struct.utmp.325** %utmp_entry.addr, align 8 + %ut_type33 = getelementptr inbounds %struct.utmp.325, %struct.utmp.325* %18, i32 0, i32 0 + %19 = load i16, i16* %ut_type33, align 8 + %conv34 = sext i16 %19 to i32 + %cmp35 = icmp eq i32 %conv34, 6 + br i1 %cmp35, label %land.lhs.true42, label %lor.lhs.false37 + +lor.lhs.false37: ; preds = %lor.lhs.false32 + %20 = load %struct.utmp.325*, %struct.utmp.325** %utmp_entry.addr, align 8 + %ut_type38 = getelementptr inbounds %struct.utmp.325, %struct.utmp.325* %20, i32 0, i32 0 + %21 = load i16, i16* %ut_type38, align 8 + %conv39 = sext i16 %21 to i32 + %cmp40 = icmp eq i32 %conv39, 7 + br i1 %cmp40, label %land.lhs.true42, label %if.end47 + +land.lhs.true42: ; preds = %lor.lhs.false37, %lor.lhs.false32, %lor.lhs.false27, %if.end + %22 = load %struct.utmp.325*, %struct.utmp.325** %lutmp, align 8 + %ut_id = getelementptr inbounds %struct.utmp.325, %struct.utmp.325* %22, i32 0, i32 3 + %arraydecay = getelementptr inbounds [4 x i8], [4 x i8]* %ut_id, i64 0, i64 0 + %23 = load %struct.utmp.325*, %struct.utmp.325** %utmp_entry.addr, align 8 + %ut_id43 = getelementptr inbounds %struct.utmp.325, %struct.utmp.325* %23, i32 0, i32 3 + %arraydecay44 = getelementptr inbounds [4 x i8], [4 x i8]* %ut_id43, i64 0, i64 0 + %call45 = call i32 @strncmp(i8* %arraydecay, i8* %arraydecay44, i64 4) #20 + %tobool = icmp ne i32 %call45, 0 + br i1 %tobool, label %if.end47, label %if.then46 + +if.then46: ; preds = %land.lhs.true42 + %24 = load %struct.utmp.325*, %struct.utmp.325** %lutmp, align 8 + store %struct.utmp.325* %24, %struct.utmp.325** %retval, align 8 + br label %return + +if.end47: ; preds = %land.lhs.true42, %lor.lhs.false37 + br label %while.cond + +while.end: ; preds = %while.cond + store %struct.utmp.325* null, %struct.utmp.325** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then46, %if.then + %25 = load %struct.utmp.325*, %struct.utmp.325** %retval, align 8 + ret %struct.utmp.325* %25 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.325* @getutline(%struct.utmp.325* %utmp_entry) #0 { +entry: + %utmp_entry.addr = alloca %struct.utmp.325*, align 8 + %lutmp = alloca %struct.utmp.325*, align 8 + store %struct.utmp.325* %utmp_entry, %struct.utmp.325** %utmp_entry.addr, align 8 + store %struct.utmp.325* null, %struct.utmp.325** %lutmp, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %0 = load i32, i32* @static_fd, align 4 + %call = call %struct.utmp.325* @__getutent(i32 %0) #18 + store %struct.utmp.325* %call, %struct.utmp.325** %lutmp, align 8 + %cmp = icmp ne %struct.utmp.325* %call, null + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %1 = load %struct.utmp.325*, %struct.utmp.325** %lutmp, align 8 + %ut_type = getelementptr inbounds %struct.utmp.325, %struct.utmp.325* %1, i32 0, i32 0 + %2 = load i16, i16* %ut_type, align 8 + %conv = sext i16 %2 to i32 + %cmp1 = icmp eq i32 %conv, 7 + br i1 %cmp1, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.body + %3 = load %struct.utmp.325*, %struct.utmp.325** %lutmp, align 8 + %ut_type3 = getelementptr inbounds %struct.utmp.325, %struct.utmp.325* %3, i32 0, i32 0 + %4 = load i16, i16* %ut_type3, align 8 + %conv4 = sext i16 %4 to i32 + %cmp5 = icmp eq i32 %conv4, 6 + br i1 %cmp5, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %lor.lhs.false, %while.body + %5 = load %struct.utmp.325*, %struct.utmp.325** %lutmp, align 8 + %ut_line = getelementptr inbounds %struct.utmp.325, %struct.utmp.325* %5, i32 0, i32 2 + %arraydecay = getelementptr inbounds [32 x i8], [32 x i8]* %ut_line, i64 0, i64 0 + %6 = load %struct.utmp.325*, %struct.utmp.325** %utmp_entry.addr, align 8 + %ut_line7 = getelementptr inbounds %struct.utmp.325, %struct.utmp.325* %6, i32 0, i32 2 + %arraydecay8 = getelementptr inbounds [32 x i8], [32 x i8]* %ut_line7, i64 0, i64 0 + %call9 = call i32 @strcmp(i8* %arraydecay, i8* %arraydecay8) #20 + %tobool = icmp ne i32 %call9, 0 + br i1 %tobool, label %if.end, label %while.end + +if.end: ; preds = %land.lhs.true, %lor.lhs.false + br label %while.cond + +while.end: ; preds = %land.lhs.true, %while.cond + %7 = load %struct.utmp.325*, %struct.utmp.325** %lutmp, align 8 + ret %struct.utmp.325* %7 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.325* @pututline(%struct.utmp.325* %utmp_entry) #0 { +entry: + %utmp_entry.addr = alloca %struct.utmp.325*, align 8 + store %struct.utmp.325* %utmp_entry, %struct.utmp.325** %utmp_entry.addr, align 8 + %0 = load i32, i32* @static_fd, align 4 + %call = call i64 @lseek(i32 %0, i64 -400, i32 1) #19 + %1 = load %struct.utmp.325*, %struct.utmp.325** %utmp_entry.addr, align 8 + %call1 = call %struct.utmp.325* @__getutid(%struct.utmp.325* %1) #18 + %cmp = icmp ne %struct.utmp.325* %call1, null + %2 = load i32, i32* @static_fd, align 4 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %call2 = call i64 @lseek(i32 %2, i64 -400, i32 1) #19 + br label %if.end + +if.else: ; preds = %entry + %call3 = call i64 @lseek(i32 %2, i64 0, i32 2) #19 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %3 = load i32, i32* @static_fd, align 4 + %4 = load %struct.utmp.325*, %struct.utmp.325** %utmp_entry.addr, align 8 + %5 = bitcast %struct.utmp.325* %4 to i8* + %call4 = call i64 @write(i32 %3, i8* %5, i64 400) #18 + %cmp5 = icmp ne i64 %call4, 400 + br i1 %cmp5, label %if.then6, label %if.end7 + +if.then6: ; preds = %if.end + store %struct.utmp.325* null, %struct.utmp.325** %utmp_entry.addr, align 8 + br label %if.end7 + +if.end7: ; preds = %if.then6, %if.end + %6 = load %struct.utmp.325*, %struct.utmp.325** %utmp_entry.addr, align 8 + ret %struct.utmp.325* %6 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @utmpname(i8* %new_ut_name) #0 { +entry: + %new_ut_name.addr = alloca i8*, align 8 + store i8* %new_ut_name, i8** %new_ut_name.addr, align 8 + %0 = load i8*, i8** %new_ut_name.addr, align 8 + %cmp = icmp ne i8* %0, null + br i1 %cmp, label %if.then, label %if.end6 + +if.then: ; preds = %entry + %1 = load i8*, i8** @static_ut_name, align 8 + %cmp1 = icmp ne i8* %1, getelementptr inbounds ([14 x i8], [14 x i8]* @default_file_name, i64 0, i64 0) + br i1 %cmp1, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + %2 = load i8*, i8** @static_ut_name, align 8 + call void @free(i8* %2) #19 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %3 = load i8*, i8** %new_ut_name.addr, align 8 + %call = call noalias i8* @strdup(i8* %3) #19 + store i8* %call, i8** @static_ut_name, align 8 + %4 = load i8*, i8** @static_ut_name, align 8 + %cmp3 = icmp eq i8* %4, null + %spec.store.select = select i1 %cmp3, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @default_file_name, i64 0, i64 0), i8* %call + store i8* %spec.store.select, i8** @static_ut_name, align 8 + br label %if.end6 + +if.end6: ; preds = %if.end, %entry + %5 = load i32, i32* @static_fd, align 4 + %cmp7 = icmp ne i32 %5, -1 + br i1 %cmp7, label %if.then8, label %if.end10 + +if.then8: ; preds = %if.end6 + %6 = load i32, i32* @static_fd, align 4 + %call9 = call i32 @close(i32 %6) #18 + br label %if.end10 + +if.end10: ; preds = %if.then8, %if.end6 + store i32 -1, i32* @static_fd, align 4 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_wchar_utf8sntowcs(i32* noalias %pwc, i64 %wn, i8** noalias %src, i64 %n, %struct.__mbstate_t.514* %ps, i32 %allow_continuation) #0 { +entry: + %retval = alloca i64, align 8 + %pwc.addr = alloca i32*, align 8 + %wn.addr = alloca i64, align 8 + %src.addr = alloca i8**, align 8 + %n.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.514*, align 8 + %allow_continuation.addr = alloca i32, align 4 + %s = alloca i8*, align 8 + %mask = alloca i32, align 4 + %wc = alloca i32, align 4 + %wcbuf = alloca [1 x i32], align 4 + %count = alloca i64, align 8 + %incr = alloca i32, align 4 + store i32* %pwc, i32** %pwc.addr, align 8 + store i64 %wn, i64* %wn.addr, align 8 + store i8** %src, i8*** %src.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__mbstate_t.514* %ps, %struct.__mbstate_t.514** %ps.addr, align 8 + store i32 %allow_continuation, i32* %allow_continuation.addr, align 4 + %0 = load i8**, i8*** %src.addr, align 8 + %1 = load i8*, i8** %0, align 8 + store i8* %1, i8** %s, align 8 + store i32 1, i32* %incr, align 4 + %2 = load i32*, i32** %pwc.addr, align 8 + %tobool = icmp ne i32* %2, null + br i1 %tobool, label %lor.lhs.false, label %if.then + +lor.lhs.false: ; preds = %entry + %3 = load i32*, i32** %pwc.addr, align 8 + %4 = load %struct.__mbstate_t.514*, %struct.__mbstate_t.514** %ps.addr, align 8 + %5 = bitcast %struct.__mbstate_t.514* %4 to i32* + %cmp = icmp eq i32* %3, %5 + br i1 %cmp, label %if.then, label %if.end3 + +if.then: ; preds = %lor.lhs.false, %entry + %6 = load i32*, i32** %pwc.addr, align 8 + %tobool1 = icmp ne i32* %6, null + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + store i64 -1, i64* %wn.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %arraydecay = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay, i32** %pwc.addr, align 8 + store i32 0, i32* %incr, align 4 + br label %if.end3 + +if.end3: ; preds = %if.end, %lor.lhs.false + %7 = load i64, i64* %wn.addr, align 8 + store i64 %7, i64* %count, align 8 + %tobool4 = icmp ne i64 %7, 0 + br i1 %tobool4, label %if.end6, label %if.then5 + +if.then5: ; preds = %if.end3 + store i64 0, i64* %retval, align 8 + br label %return + +if.end6: ; preds = %if.end3 + %8 = load %struct.__mbstate_t.514*, %struct.__mbstate_t.514** %ps.addr, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.514, %struct.__mbstate_t.514* %8, i32 0, i32 0 + %9 = load i32, i32* %__mask, align 4 + store i32 %9, i32* %mask, align 4 + %cmp7 = icmp ne i32 %9, 0 + br i1 %cmp7, label %if.then8, label %do.body + +if.then8: ; preds = %if.end6 + %10 = load %struct.__mbstate_t.514*, %struct.__mbstate_t.514** %ps.addr, align 8 + %__wc = getelementptr inbounds %struct.__mbstate_t.514, %struct.__mbstate_t.514* %10, i32 0, i32 1 + %11 = load i32, i32* %__wc, align 4 + store i32 %11, i32* %wc, align 4 + %cmp9 = icmp ne i32 %11, 65535 + br i1 %cmp9, label %if.then10, label %if.end14 + +if.then10: ; preds = %if.then8 + %12 = load i64, i64* %n.addr, align 8 + %tobool11 = icmp ne i64 %12, 0 + br i1 %tobool11, label %while.cond, label %DONE + +if.end14: ; preds = %if.then8 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +do.body: ; preds = %if.end6, %land.rhs + %13 = load i64, i64* %n.addr, align 8 + %tobool16 = icmp ne i64 %13, 0 + br i1 %tobool16, label %if.end18, label %DONE + +if.end18: ; preds = %do.body + %14 = load i64, i64* %n.addr, align 8 + %dec = add i64 %14, -1 + store i64 %dec, i64* %n.addr, align 8 + %15 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %15, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %16 = load i8, i8* %15, align 1 + %conv = zext i8 %16 to i32 + store i32 %conv, i32* %wc, align 4 + %cmp19 = icmp uge i32 %conv, 128 + br i1 %cmp19, label %if.then21, label %COMPLETE + +if.then21: ; preds = %if.end18 + store i32 64, i32* %mask, align 4 + %17 = load i8*, i8** %s, align 8 + %arrayidx = getelementptr inbounds i8, i8* %17, i64 -1 + %18 = load i8, i8* %arrayidx, align 1 + %conv22 = sext i8 %18 to i32 + %sub = sub nsw i32 %conv22, 192 + %conv23 = trunc i32 %sub to i8 + %conv24 = zext i8 %conv23 to i32 + %cmp25 = icmp slt i32 %conv24, 62 + br i1 %cmp25, label %START, label %BAD + +BAD: ; preds = %if.end52, %lor.lhs.false55, %lor.lhs.false59, %while.body, %if.then21 + %19 = load i32, i32* %mask, align 4 + %20 = load %struct.__mbstate_t.514*, %struct.__mbstate_t.514** %ps.addr, align 8 + %__mask29 = getelementptr inbounds %struct.__mbstate_t.514, %struct.__mbstate_t.514* %20, i32 0, i32 0 + store i32 %19, i32* %__mask29, align 4 + %21 = load %struct.__mbstate_t.514*, %struct.__mbstate_t.514** %ps.addr, align 8 + %__wc30 = getelementptr inbounds %struct.__mbstate_t.514, %struct.__mbstate_t.514* %21, i32 0, i32 1 + store i32 65535, i32* %__wc30, align 4 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +while.cond: ; preds = %START, %if.then10 + %22 = load i64, i64* %n.addr, align 8 + %tobool31 = icmp ne i64 %22, 0 + br i1 %tobool31, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %23 = load i64, i64* %n.addr, align 8 + %dec32 = add i64 %23, -1 + store i64 %dec32, i64* %n.addr, align 8 + %24 = load i8*, i8** %s, align 8 + %25 = load i8, i8* %24, align 1 + %conv33 = sext i8 %25 to i32 + %and = and i32 %conv33, 192 + %cmp34 = icmp ne i32 %and, 128 + br i1 %cmp34, label %BAD, label %if.end37 + +if.end37: ; preds = %while.body + %26 = load i32, i32* %mask, align 4 + %shl = shl i32 %26, 5 + store i32 %shl, i32* %mask, align 4 + %27 = load i32, i32* %wc, align 4 + %shl38 = shl i32 %27, 6 + store i32 %shl38, i32* %wc, align 4 + %28 = load i8*, i8** %s, align 8 + %29 = load i8, i8* %28, align 1 + %conv39 = sext i8 %29 to i32 + %and40 = and i32 %conv39, 63 + %30 = load i32, i32* %wc, align 4 + %add = add i32 %30, %and40 + store i32 %add, i32* %wc, align 4 + %31 = load i8*, i8** %s, align 8 + %incdec.ptr41 = getelementptr inbounds i8, i8* %31, i32 1 + store i8* %incdec.ptr41, i8** %s, align 8 + br label %START + +START: ; preds = %if.then21, %if.end37 + %32 = load i32, i32* %mask, align 4 + %shl42 = shl i32 %32, 1 + %neg = xor i32 %shl42, -1 + %33 = load i32, i32* %wc, align 4 + %and43 = and i32 %33, %neg + store i32 %and43, i32* %wc, align 4 + %34 = load i32, i32* %wc, align 4 + %35 = load i32, i32* %mask, align 4 + %and44 = and i32 %34, %35 + %cmp45 = icmp eq i32 %and44, 0 + br i1 %cmp45, label %if.then47, label %while.cond + +if.then47: ; preds = %START + %36 = load i32, i32* %mask, align 4 + %shr = lshr i32 %36, 5 + store i32 %shr, i32* %mask, align 4 + %cmp48 = icmp eq i32 %shr, 64 + br i1 %cmp48, label %if.then50, label %if.end52 + +if.then50: ; preds = %if.then47 + %37 = load i32, i32* %mask, align 4 + %38 = load i32, i32* %mask, align 4 + %add51 = add i32 %38, %37 + store i32 %add51, i32* %mask, align 4 + br label %if.end52 + +if.end52: ; preds = %if.then50, %if.then47 + %39 = load i32, i32* %wc, align 4 + %40 = load i32, i32* %mask, align 4 + %cmp53 = icmp ult i32 %39, %40 + br i1 %cmp53, label %BAD, label %lor.lhs.false55 + +lor.lhs.false55: ; preds = %if.end52 + %41 = load i32, i32* %wc, align 4 + %sub56 = sub i32 %41, 65534 + %cmp57 = icmp ult i32 %sub56, 2 + br i1 %cmp57, label %BAD, label %lor.lhs.false59 + +lor.lhs.false59: ; preds = %lor.lhs.false55 + %42 = load i32, i32* %wc, align 4 + %sub60 = sub i32 %42, 55296 + %cmp61 = icmp ult i32 %sub60, 2048 + br i1 %cmp61, label %BAD, label %COMPLETE + +while.end: ; preds = %while.cond + %43 = load i32, i32* %allow_continuation.addr, align 4 + %tobool66 = icmp ne i32 %43, 0 + br i1 %tobool66, label %if.end77, label %if.then67 + +if.then67: ; preds = %while.end + %44 = load i64, i64* %count, align 8 + %45 = load i64, i64* %wn.addr, align 8 + %cmp68 = icmp ne i64 %44, %45 + br i1 %cmp68, label %if.then70, label %do.body72 + +if.then70: ; preds = %if.then67 + store i64 0, i64* %retval, align 8 + br label %return + +do.body72: ; preds = %if.then67, %do.body72 + %46 = load i8*, i8** %s, align 8 + %incdec.ptr73 = getelementptr inbounds i8, i8* %46, i32 -1 + store i8* %incdec.ptr73, i8** %s, align 8 + %47 = load i32, i32* %mask, align 4 + %shr74 = lshr i32 %47, 5 + store i32 %shr74, i32* %mask, align 4 + %cmp75 = icmp uge i32 %shr74, 64 + br i1 %cmp75, label %do.body72, label %DONE + +if.end77: ; preds = %while.end + %48 = load i32, i32* %mask, align 4 + %49 = load %struct.__mbstate_t.514*, %struct.__mbstate_t.514** %ps.addr, align 8 + %__mask78 = getelementptr inbounds %struct.__mbstate_t.514, %struct.__mbstate_t.514* %49, i32 0, i32 0 + store i32 %48, i32* %__mask78, align 4 + %50 = load i32, i32* %wc, align 4 + %51 = load %struct.__mbstate_t.514*, %struct.__mbstate_t.514** %ps.addr, align 8 + %__wc79 = getelementptr inbounds %struct.__mbstate_t.514, %struct.__mbstate_t.514* %51, i32 0, i32 1 + store i32 %50, i32* %__wc79, align 4 + %52 = load i8*, i8** %s, align 8 + %53 = load i8**, i8*** %src.addr, align 8 + store i8* %52, i8** %53, align 8 + store i64 -2, i64* %retval, align 8 + br label %return + +COMPLETE: ; preds = %if.end18, %lor.lhs.false59 + %54 = load i32, i32* %wc, align 4 + %55 = load i32*, i32** %pwc.addr, align 8 + store i32 %54, i32* %55, align 4 + %56 = load i32, i32* %incr, align 4 + %57 = load i32*, i32** %pwc.addr, align 8 + %idx.ext = sext i32 %56 to i64 + %add.ptr = getelementptr inbounds i32, i32* %57, i64 %idx.ext + store i32* %add.ptr, i32** %pwc.addr, align 8 + %58 = load i32, i32* %wc, align 4 + %tobool82 = icmp ne i32 %58, 0 + br i1 %tobool82, label %land.rhs, label %do.end85 + +land.rhs: ; preds = %COMPLETE + %59 = load i64, i64* %count, align 8 + %dec83 = add i64 %59, -1 + store i64 %dec83, i64* %count, align 8 + %tobool84 = icmp ne i64 %dec83, 0 + br i1 %tobool84, label %do.body, label %do.end85 + +do.end85: ; preds = %COMPLETE, %land.rhs + %60 = load i32, i32* %wc, align 4 + %tobool86 = icmp ne i32 %60, 0 + br i1 %tobool86, label %DONE, label %if.then87 + +if.then87: ; preds = %do.end85 + store i8* null, i8** %s, align 8 + br label %DONE + +DONE: ; preds = %do.end85, %if.then87, %do.body72, %do.body, %if.then10 + %61 = load %struct.__mbstate_t.514*, %struct.__mbstate_t.514** %ps.addr, align 8 + %__mask89 = getelementptr inbounds %struct.__mbstate_t.514, %struct.__mbstate_t.514* %61, i32 0, i32 0 + store i32 0, i32* %__mask89, align 4 + %62 = load i32*, i32** %pwc.addr, align 8 + %arraydecay90 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %cmp91 = icmp ne i32* %62, %arraydecay90 + br i1 %cmp91, label %if.then93, label %if.end94 + +if.then93: ; preds = %DONE + %63 = load i8*, i8** %s, align 8 + %64 = load i8**, i8*** %src.addr, align 8 + store i8* %63, i8** %64, align 8 + br label %if.end94 + +if.end94: ; preds = %if.then93, %DONE + %65 = load i64, i64* %wn.addr, align 8 + %66 = load i64, i64* %count, align 8 + %sub95 = sub i64 %65, %66 + store i64 %sub95, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end94, %if.end77, %if.then70, %BAD, %if.end14, %if.then5 + %67 = load i64, i64* %retval, align 8 + ret i64 %67 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @mbrtowc(i32* noalias %pwc, i8* noalias %s, i64 %n, %struct.__mbstate_t.514* noalias %ps) #0 { +entry: + %retval = alloca i64, align 8 + %pwc.addr = alloca i32*, align 8 + %s.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.514*, align 8 + %wcbuf = alloca [1 x i32], align 4 + %p = alloca i8*, align 8 + %r = alloca i64, align 8 + %empty_string = alloca [1 x i8], align 1 + store i32* %pwc, i32** %pwc.addr, align 8 + store i8* %s, i8** %s.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__mbstate_t.514* %ps, %struct.__mbstate_t.514** %ps.addr, align 8 + %0 = load %struct.__mbstate_t.514*, %struct.__mbstate_t.514** %ps.addr, align 8 + %tobool = icmp ne %struct.__mbstate_t.514* %0, null + %spec.store.select = select i1 %tobool, %struct.__mbstate_t.514* %ps, %struct.__mbstate_t.514* @mbrtowc.mbstate + store %struct.__mbstate_t.514* %spec.store.select, %struct.__mbstate_t.514** %ps.addr, align 8 + %1 = load i8*, i8** %s.addr, align 8 + %tobool1 = icmp ne i8* %1, null + br i1 %tobool1, label %if.else, label %if.then2 + +if.then2: ; preds = %entry + %2 = load i8*, i8** %s.addr, align 8 + %3 = bitcast i8* %2 to i32* + store i32* %3, i32** %pwc.addr, align 8 + %arrayidx = getelementptr inbounds [1 x i8], [1 x i8]* %empty_string, i64 0, i64 0 + store i8 0, i8* %arrayidx, align 1 + %arraydecay = getelementptr inbounds [1 x i8], [1 x i8]* %empty_string, i64 0, i64 0 + store i8* %arraydecay, i8** %s.addr, align 8 + store i64 1, i64* %n.addr, align 8 + br label %if.end7 + +if.else: ; preds = %entry + %4 = load i64, i64* %n.addr, align 8 + %tobool3 = icmp ne i64 %4, 0 + br i1 %tobool3, label %if.end7, label %if.then4 + +if.then4: ; preds = %if.else + %5 = load %struct.__mbstate_t.514*, %struct.__mbstate_t.514** %ps.addr, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.514, %struct.__mbstate_t.514* %5, i32 0, i32 0 + %6 = load i32, i32* %__mask, align 4 + %tobool5 = icmp ne i32 %6, 0 + br i1 %tobool5, label %land.rhs, label %land.end + +land.rhs: ; preds = %if.then4 + %7 = load %struct.__mbstate_t.514*, %struct.__mbstate_t.514** %ps.addr, align 8 + %__wc = getelementptr inbounds %struct.__mbstate_t.514, %struct.__mbstate_t.514* %7, i32 0, i32 1 + %8 = load i32, i32* %__wc, align 4 + %cmp = icmp eq i32 %8, 65535 + br label %land.end + +land.end: ; preds = %land.rhs, %if.then4 + %9 = phi i1 [ false, %if.then4 ], [ %cmp, %land.rhs ] + %10 = zext i1 %9 to i64 + %cond = select i1 %9, i64 -1, i64 -2 + store i64 %cond, i64* %retval, align 8 + br label %return + +if.end7: ; preds = %if.else, %if.then2 + %11 = load i8*, i8** %s.addr, align 8 + store i8* %11, i8** %p, align 8 + %12 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %12, i32 0, i32 9 + %13 = load i8, i8* %encoding, align 8 + %conv = zext i8 %13 to i32 + %cmp8 = icmp eq i32 %conv, 1 + br i1 %cmp8, label %if.then10, label %if.end18 + +if.then10: ; preds = %if.end7 + %14 = load i32*, i32** %pwc.addr, align 8 + %tobool11 = icmp ne i32* %14, null + br i1 %tobool11, label %if.end14, label %if.then12 + +if.then12: ; preds = %if.then10 + %arraydecay13 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay13, i32** %pwc.addr, align 8 + br label %if.end14 + +if.end14: ; preds = %if.then12, %if.then10 + %15 = load i32*, i32** %pwc.addr, align 8 + %16 = load i64, i64* %n.addr, align 8 + %17 = load %struct.__mbstate_t.514*, %struct.__mbstate_t.514** %ps.addr, align 8 + %call = call i64 @_wchar_utf8sntowcs(i32* %15, i64 1, i8** %p, i64 %16, %struct.__mbstate_t.514* %17, i32 1) #18 + store i64 %call, i64* %r, align 8 + %18 = load i64, i64* %r, align 8 + %cmp15 = icmp eq i64 %18, 1 + %19 = load i8*, i8** %p, align 8 + %20 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %20 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %21 = load i64, i64* %r, align 8 + %cond17 = select i1 %cmp15, i64 %sub.ptr.sub, i64 %21 + store i64 %cond17, i64* %retval, align 8 + br label %return + +if.end18: ; preds = %if.end7 + %arraydecay19 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %22 = load %struct.__mbstate_t.514*, %struct.__mbstate_t.514** %ps.addr, align 8 + %call20 = call i64 @mbsnrtowcs(i32* %arraydecay19, i8** %p, i64 -1, i64 1, %struct.__mbstate_t.514* %22) #19 + store i64 %call20, i64* %r, align 8 + %23 = load i64, i64* %r, align 8 + %cmp21 = icmp sge i64 %23, 0 + %24 = load i32*, i32** %pwc.addr, align 8 + %tobool24 = icmp ne i32* %24, null + %or.cond = and i1 %cmp21, %tobool24 + br i1 %or.cond, label %if.then25, label %if.end28 + +if.then25: ; preds = %if.end18 + %arraydecay26 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %25 = load i32, i32* %arraydecay26, align 4 + %26 = load i32*, i32** %pwc.addr, align 8 + store i32 %25, i32* %26, align 4 + br label %if.end28 + +if.end28: ; preds = %if.then25, %if.end18 + %27 = load i64, i64* %r, align 8 + store i64 %27, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end28, %if.end14, %land.end + %28 = load i64, i64* %retval, align 8 + ret i64 %28 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @mbsinit(%struct.__mbstate_t.514* %ps) #14 { +entry: + %ps.addr = alloca %struct.__mbstate_t.514*, align 8 + store %struct.__mbstate_t.514* %ps, %struct.__mbstate_t.514** %ps.addr, align 8 + %0 = load %struct.__mbstate_t.514*, %struct.__mbstate_t.514** %ps.addr, align 8 + %tobool = icmp ne %struct.__mbstate_t.514* %0, null + br i1 %tobool, label %lor.rhs, label %lor.end + +lor.rhs: ; preds = %entry + %1 = load %struct.__mbstate_t.514*, %struct.__mbstate_t.514** %ps.addr, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.514, %struct.__mbstate_t.514* %1, i32 0, i32 0 + %2 = load i32, i32* %__mask, align 4 + %tobool1 = icmp ne i32 %2, 0 + %lnot = xor i1 %tobool1, true + br label %lor.end + +lor.end: ; preds = %lor.rhs, %entry + %3 = phi i1 [ true, %entry ], [ %lnot, %lor.rhs ] + %lor.ext = zext i1 %3 to i32 + ret i32 %lor.ext +} + +; Function Attrs: noinline nounwind uwtable +define i32 @iswprint(i32 %wc) #0 { +entry: + %wc.addr = alloca i32, align 4 + store i32 %wc, i32* %wc.addr, align 4 + %0 = load i32, i32* %wc.addr, align 4 + %call = call i32 @iswctype(i32 %0, i32 8) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.570* %stream, i8* %buf, i64 %bufsize) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.570*, align 8 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %rv = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.570* %stream, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + store i64 0, i64* %rv, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 4 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end18, label %if.then + +if.then: ; preds = %entry + %2 = load i64, i64* %bufsize.addr, align 8 + %cmp = icmp ugt i64 %2, 9223372036854775807 + br i1 %cmp, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + store i64 9223372036854775807, i64* %bufsize.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %3 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %3, i32 0, i32 2 + %4 = load i32, i32* %__filedes, align 4 + %5 = load i8*, i8** %buf.addr, align 8 + %6 = load i64, i64* %bufsize.addr, align 8 + %call = call i64 @read(i32 %4, i8* %5, i64 %6) #18 + store i64 %call, i64* %rv, align 8 + %cmp3 = icmp sle i64 %call, 0 + br i1 %cmp3, label %if.then5, label %if.end18 + +if.then5: ; preds = %if.end + %7 = load i64, i64* %rv, align 8 + %cmp6 = icmp eq i64 %7, 0 + %8 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags9 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags9, align 8 + %conv10 = zext i16 %9 to i32 + br i1 %cmp6, label %if.then8, label %if.else + +if.then8: ; preds = %if.then5 + %or = or i32 %conv10, 4 + %conv11 = trunc i32 %or to i16 + store i16 %conv11, i16* %__modeflags9, align 8 + br label %if.end18 + +if.else: ; preds = %if.then5 + %or14 = or i32 %conv10, 8 + %conv15 = trunc i32 %or14 to i16 + store i16 %conv15, i16* %__modeflags9, align 8 + store i64 0, i64* %rv, align 8 + br label %if.end18 + +if.end18: ; preds = %if.end, %if.else, %if.then8, %entry + %10 = load i64, i64* %rv, align 8 + ret i64 %10 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.570* %stream, i8* %buf, i64 %bufsize) #0 { +entry: + %retval = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.570*, align 8 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %todo = alloca i64, align 8 + %rv = alloca i64, align 8 + %stodo = alloca i64, align 8 + %s = alloca i8*, align 8 + store %struct.__STDIO_FILE_STRUCT.570* %stream, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i64, i64* %bufsize.addr, align 8 + store i64 %0, i64* %todo, align 8 + br label %do.body + +do.body: ; preds = %if.then3, %entry + %1 = load i64, i64* %todo, align 8 + %cmp = icmp eq i64 %1, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %do.body + %2 = load i64, i64* %bufsize.addr, align 8 + store i64 %2, i64* %retval, align 8 + br label %do.end32 + +if.end: ; preds = %do.body + %3 = load i64, i64* %todo, align 8 + %cmp1 = icmp ule i64 %3, 9223372036854775807 + %4 = load i64, i64* %todo, align 8 + %cond = select i1 %cmp1, i64 %4, i64 9223372036854775807 + store i64 %cond, i64* %stodo, align 8 + %5 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %5, i32 0, i32 2 + %6 = load i32, i32* %__filedes, align 4 + %7 = load i8*, i8** %buf.addr, align 8 + %8 = load i64, i64* %stodo, align 8 + %call = call i64 @write(i32 %6, i8* %7, i64 %8) #18 + store i64 %call, i64* %rv, align 8 + %cmp2 = icmp sge i64 %call, 0 + br i1 %cmp2, label %if.then3, label %if.else + +if.then3: ; preds = %if.end + %9 = load i64, i64* %rv, align 8 + %10 = load i64, i64* %todo, align 8 + %sub = sub i64 %10, %9 + store i64 %sub, i64* %todo, align 8 + %11 = load i64, i64* %rv, align 8 + %12 = load i8*, i8** %buf.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %12, i64 %11 + store i8* %add.ptr, i8** %buf.addr, align 8 + br label %do.body + +if.else: ; preds = %if.end + %13 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %13, i32 0, i32 0 + %14 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %14 to i32 + %or = or i32 %conv, 8 + %conv4 = trunc i32 %or to i16 + store i16 %conv4, i16* %__modeflags, align 8 + %15 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %15, i32 0, i32 4 + %16 = load i8*, i8** %__bufend, align 8 + %17 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %17, i32 0, i32 3 + %18 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %16 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %18 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %stodo, align 8 + %cmp5 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %cmp5, label %if.then7, label %if.end28 + +if.then7: ; preds = %if.else + %19 = load i64, i64* %stodo, align 8 + %20 = load i64, i64* %todo, align 8 + %cmp8 = icmp ugt i64 %19, %20 + br i1 %cmp8, label %if.then10, label %if.end11 + +if.then10: ; preds = %if.then7 + %21 = load i64, i64* %todo, align 8 + store i64 %21, i64* %stodo, align 8 + br label %if.end11 + +if.end11: ; preds = %if.then10, %if.then7 + %22 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufstart12 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %22, i32 0, i32 3 + %23 = load i8*, i8** %__bufstart12, align 8 + store i8* %23, i8** %s, align 8 + br label %do.body13 + +do.body13: ; preds = %if.end20, %if.end11 + %24 = load i8*, i8** %buf.addr, align 8 + %25 = load i8, i8* %24, align 1 + %26 = load i8*, i8** %s, align 8 + store i8 %25, i8* %26, align 1 + %conv14 = zext i8 %25 to i32 + %cmp15 = icmp eq i32 %conv14, 10 + br i1 %cmp15, label %land.lhs.true, label %if.end20 + +land.lhs.true: ; preds = %do.body13 + %27 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %27, i32 0, i32 0 + %28 = load i16, i16* %__modeflags17, align 8 + %conv18 = zext i16 %28 to i32 + %and = and i32 %conv18, 256 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %do.end, label %if.end20 + +if.end20: ; preds = %land.lhs.true, %do.body13 + %29 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %29, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %30 = load i8*, i8** %buf.addr, align 8 + %incdec.ptr21 = getelementptr inbounds i8, i8* %30, i32 1 + store i8* %incdec.ptr21, i8** %buf.addr, align 8 + %31 = load i64, i64* %stodo, align 8 + %dec = add nsw i64 %31, -1 + store i64 %dec, i64* %stodo, align 8 + %tobool22 = icmp ne i64 %dec, 0 + br i1 %tobool22, label %do.body13, label %do.end + +do.end: ; preds = %land.lhs.true, %if.end20 + %32 = load i8*, i8** %s, align 8 + %33 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %33, i32 0, i32 5 + store i8* %32, i8** %__bufpos, align 8 + %34 = load i8*, i8** %s, align 8 + %35 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufstart23 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %35, i32 0, i32 3 + %36 = load i8*, i8** %__bufstart23, align 8 + %sub.ptr.lhs.cast24 = ptrtoint i8* %34 to i64 + %sub.ptr.rhs.cast25 = ptrtoint i8* %36 to i64 + %sub.ptr.sub26 = sub i64 %sub.ptr.lhs.cast24, %sub.ptr.rhs.cast25 + %37 = load i64, i64* %todo, align 8 + %sub27 = sub i64 %37, %sub.ptr.sub26 + store i64 %sub27, i64* %todo, align 8 + br label %if.end28 + +if.end28: ; preds = %do.end, %if.else + %38 = load i64, i64* %bufsize.addr, align 8 + %39 = load i64, i64* %todo, align 8 + %sub29 = sub i64 %38, %39 + store i64 %sub29, i64* %retval, align 8 + br label %do.end32 + +do.end32: ; preds = %if.then, %if.end28 + %40 = load i64, i64* %retval, align 8 + ret i64 %40 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__freading(%struct.__STDIO_FILE_STRUCT.521* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.521*, align 8 + store %struct.__STDIO_FILE_STRUCT.521* %stream, %struct.__STDIO_FILE_STRUCT.521** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.521*, %struct.__STDIO_FILE_STRUCT.521** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.521, %struct.__STDIO_FILE_STRUCT.521* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 35 + ret i32 %and +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_rfill(%struct.__STDIO_FILE_STRUCT.570* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.570*, align 8 + %rv = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.570* %stream, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %1, i32 0, i32 3 + %2 = load i8*, i8** %__bufstart, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %3, i32 0, i32 4 + %4 = load i8*, i8** %__bufend, align 8 + %5 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufstart1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %5, i32 0, i32 3 + %6 = load i8*, i8** %__bufstart1, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %4 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %6 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %call = call i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.570* %0, i8* %2, i64 %sub.ptr.sub) #18 + store i64 %call, i64* %rv, align 8 + %7 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufstart2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %7, i32 0, i32 3 + %8 = load i8*, i8** %__bufstart2, align 8 + %9 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %9, i32 0, i32 5 + store i8* %8, i8** %__bufpos, align 8 + %10 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufstart3 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %10, i32 0, i32 3 + %11 = load i8*, i8** %__bufstart3, align 8 + %12 = load i64, i64* %rv, align 8 + %add.ptr = getelementptr inbounds i8, i8* %11, i64 %12 + %13 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %13, i32 0, i32 6 + store i8* %add.ptr, i8** %__bufread, align 8 + %14 = load i64, i64* %rv, align 8 + ret i64 %14 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_trans2r_o(%struct.__STDIO_FILE_STRUCT.570* noalias %stream, i32 %oflag) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.570*, align 8 + %oflag.addr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.570* %stream, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + store i32 %oflag, i32* %oflag.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %2 = load i32, i32* %oflag.addr, align 4 + %and = and i32 %conv, %2 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end9, label %if.then + +if.then: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %3, i32 0, i32 0 + %4 = load i16, i16* %__modeflags1, align 8 + %conv2 = zext i16 %4 to i32 + %and3 = and i32 %conv2, 2176 + %tobool4 = icmp ne i32 %and3, 0 + br i1 %tobool4, label %DO_EBADF, label %if.end + +if.end: ; preds = %if.then + %5 = load i32, i32* %oflag.addr, align 4 + %6 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %6, i32 0, i32 0 + %7 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %7 to i32 + %or = or i32 %conv7, %5 + %conv8 = trunc i32 %or to i16 + store i16 %conv8, i16* %__modeflags6, align 8 + br label %if.end9 + +if.end9: ; preds = %if.end, %entry + %8 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags10, align 8 + %conv11 = zext i16 %9 to i32 + %and12 = and i32 %conv11, 16 + %tobool13 = icmp ne i32 %and12, 0 + br i1 %tobool13, label %DO_EBADF, label %if.end19 + +DO_EBADF: ; preds = %if.end9, %if.then + store i32 9, i32* @errno, align 4 + br label %ERROR + +ERROR: ; preds = %if.then24, %DO_EBADF + %10 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags15 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %10, i32 0, i32 0 + %11 = load i16, i16* %__modeflags15, align 8 + %conv16 = zext i16 %11 to i32 + %or17 = or i32 %conv16, 8 + %conv18 = trunc i32 %or17 to i16 + store i16 %conv18, i16* %__modeflags15, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end19: ; preds = %if.end9 + %12 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags20 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags20, align 8 + %conv21 = zext i16 %13 to i32 + %and22 = and i32 %conv21, 64 + %tobool23 = icmp ne i32 %and22, 0 + br i1 %tobool23, label %if.then24, label %if.end32 + +if.then24: ; preds = %if.end19 + %14 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %call = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.570* %14) #18 + %tobool25 = icmp ne i64 %call, 0 + br i1 %tobool25, label %ERROR, label %if.end27 + +if.end27: ; preds = %if.then24 + %15 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %15, i32 0, i32 3 + %16 = load i8*, i8** %__bufstart, align 8 + %17 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %17, i32 0, i32 8 + store i8* %16, i8** %__bufputc_u, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags28 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %18, i32 0, i32 0 + %19 = load i16, i16* %__modeflags28, align 8 + %conv29 = zext i16 %19 to i32 + %and30 = and i32 %conv29, -65 + %conv31 = trunc i32 %and30 to i16 + store i16 %conv31, i16* %__modeflags28, align 8 + br label %if.end32 + +if.end32: ; preds = %if.end27, %if.end19 + %20 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags33 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %20, i32 0, i32 0 + %21 = load i16, i16* %__modeflags33, align 8 + %conv34 = zext i16 %21 to i32 + %or35 = or i32 %conv34, 1 + %conv36 = trunc i32 %or35 to i16 + store i16 %conv36, i16* %__modeflags33, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end32, %ERROR + %22 = load i32, i32* %retval, align 4 + ret i32 %22 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fclose(%struct.__STDIO_FILE_STRUCT.570* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.570*, align 8 + %rv = alloca i32, align 4 + %ptr = alloca %struct.__STDIO_FILE_STRUCT.570*, align 8 + store %struct.__STDIO_FILE_STRUCT.570* %stream, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + store i32 0, i32* %rv, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.570* %0, %struct.__STDIO_FILE_STRUCT.570** %ptr, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.570* %1, %struct.__STDIO_FILE_STRUCT.570** %ptr, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %cmp = icmp eq %struct.__STDIO_FILE_STRUCT.570* %1, %2 + br i1 %cmp, label %if.then, label %while.cond + +if.then: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %3, i32 0, i32 9 + %4 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %__nextopen, align 8 + store %struct.__STDIO_FILE_STRUCT.570* %4, %struct.__STDIO_FILE_STRUCT.570** @_stdio_openlist, align 8 + br label %if.end7 + +while.cond: ; preds = %entry, %if.end + %5 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %ptr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.570* %5, null + br i1 %tobool, label %while.body, label %if.end7 + +while.body: ; preds = %while.cond + %6 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %ptr, align 8 + %__nextopen1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %6, i32 0, i32 9 + %7 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %__nextopen1, align 8 + %8 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %cmp2 = icmp eq %struct.__STDIO_FILE_STRUCT.570* %7, %8 + br i1 %cmp2, label %if.then3, label %if.end + +if.then3: ; preds = %while.body + %9 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__nextopen4 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %9, i32 0, i32 9 + %10 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %__nextopen4, align 8 + %11 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %ptr, align 8 + %__nextopen5 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %11, i32 0, i32 9 + store %struct.__STDIO_FILE_STRUCT.570* %10, %struct.__STDIO_FILE_STRUCT.570** %__nextopen5, align 8 + br label %if.end7 + +if.end: ; preds = %while.body + %12 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %ptr, align 8 + %__nextopen6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %12, i32 0, i32 9 + %13 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %__nextopen6, align 8 + store %struct.__STDIO_FILE_STRUCT.570* %13, %struct.__STDIO_FILE_STRUCT.570** %ptr, align 8 + br label %while.cond + +if.end7: ; preds = %while.cond, %if.then3, %if.then + %14 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %14, i32 0, i32 0 + %15 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %15 to i32 + %and = and i32 %conv, 64 + %tobool8 = icmp ne i32 %and, 0 + br i1 %tobool8, label %if.then9, label %if.end10 + +if.then9: ; preds = %if.end7 + %16 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %call = call i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.570* %16) #18 + store i32 %call, i32* %rv, align 4 + br label %if.end10 + +if.end10: ; preds = %if.then9, %if.end7 + %17 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %17, i32 0, i32 2 + %18 = load i32, i32* %__filedes, align 4 + %call11 = call i32 @close(i32 %18) #18 + %cmp12 = icmp slt i32 %call11, 0 + br i1 %cmp12, label %if.then14, label %if.end15 + +if.then14: ; preds = %if.end10 + store i32 -1, i32* %rv, align 4 + br label %if.end15 + +if.end15: ; preds = %if.then14, %if.end10 + %19 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__filedes16 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %19, i32 0, i32 2 + store i32 -1, i32* %__filedes16, align 4 + %20 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %20, i32 0, i32 0 + %21 = load i16, i16* %__modeflags17, align 8 + %conv18 = zext i16 %21 to i32 + %and19 = and i32 %conv18, 24576 + %conv20 = trunc i32 %and19 to i16 + store i16 %conv20, i16* %__modeflags17, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags21 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %22, i32 0, i32 0 + %23 = load i16, i16* %__modeflags21, align 8 + %conv22 = zext i16 %23 to i32 + %or = or i32 %conv22, 48 + %conv23 = trunc i32 %or to i16 + store i16 %conv23, i16* %__modeflags21, align 8 + %24 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags24 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %24, i32 0, i32 0 + %25 = load i16, i16* %__modeflags24, align 8 + %conv25 = zext i16 %25 to i32 + %and26 = and i32 %conv25, 16384 + %tobool27 = icmp ne i32 %and26, 0 + br i1 %tobool27, label %if.then28, label %do.body30 + +if.then28: ; preds = %if.end15 + %26 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %26, i32 0, i32 3 + %27 = load i8*, i8** %__bufstart, align 8 + call void @free(i8* %27) #19 + br label %do.body30 + +do.body30: ; preds = %if.then28, %if.end15 + %28 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags31 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %28, i32 0, i32 0 + %29 = load i16, i16* %__modeflags31, align 8 + %conv32 = zext i16 %29 to i32 + %and33 = and i32 %conv32, 8192 + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %if.then35, label %do.end37 + +if.then35: ; preds = %do.body30 + %30 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %31 = bitcast %struct.__STDIO_FILE_STRUCT.570* %30 to i8* + call void @free(i8* %31) #19 + br label %do.end37 + +do.end37: ; preds = %do.body30, %if.then35 + %32 = load i32, i32* %rv, align 4 + ret i32 %32 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @ferror_unlocked(%struct.__STDIO_FILE_STRUCT.594* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.594*, align 8 + store %struct.__STDIO_FILE_STRUCT.594* %stream, %struct.__STDIO_FILE_STRUCT.594** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.594*, %struct.__STDIO_FILE_STRUCT.594** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.594, %struct.__STDIO_FILE_STRUCT.594* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 8 + ret i32 %and +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.570* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.570*, align 8 + %retval1 = alloca i32, align 4 + %bufmask = alloca i16, align 2 + store %struct.__STDIO_FILE_STRUCT.570* %stream, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + store i32 0, i32* %retval1, align 4 + store i16 256, i16* %bufmask, align 2 + %0 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %cmp = icmp eq %struct.__STDIO_FILE_STRUCT.570* %0, bitcast (%struct.__STDIO_FILE_STRUCT.570** @_stdio_openlist to %struct.__STDIO_FILE_STRUCT.570*) + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store %struct.__STDIO_FILE_STRUCT.570* null, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + store i16 0, i16* %bufmask, align 2 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.570* %1, null + br i1 %tobool, label %if.else21, label %if.then2 + +if.then2: ; preds = %if.end + %2 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.570* %2, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end20, %if.then2 + %3 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %tobool3 = icmp ne %struct.__STDIO_FILE_STRUCT.570* %3, null + br i1 %tobool3, label %while.body, label %if.end39 + +while.body: ; preds = %while.cond + %4 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %4, i32 0, i32 0 + %5 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %5 to i32 + %and = and i32 %conv, 64 + %tobool4 = icmp ne i32 %and, 0 + br i1 %tobool4, label %if.then5, label %if.end20 + +if.then5: ; preds = %while.body + %6 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %6, i32 0, i32 0 + %7 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %7 to i32 + %8 = load i16, i16* %bufmask, align 2 + %conv8 = zext i16 %8 to i32 + %or = or i32 %conv7, %conv8 + %xor = xor i32 %or, 320 + %and9 = and i32 %xor, 832 + %tobool10 = icmp ne i32 %and9, 0 + br i1 %tobool10, label %if.end20, label %if.then11 + +if.then11: ; preds = %if.then5 + %9 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %call = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.570* %9) #18 + %tobool12 = icmp ne i64 %call, 0 + br i1 %tobool12, label %if.else, label %if.then13 + +if.then13: ; preds = %if.then11 + %10 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %10, i32 0, i32 3 + %11 = load i8*, i8** %__bufstart, align 8 + %12 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %12, i32 0, i32 8 + store i8* %11, i8** %__bufputc_u, align 8 + %13 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags14 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %13, i32 0, i32 0 + %14 = load i16, i16* %__modeflags14, align 8 + %conv15 = zext i16 %14 to i32 + %and16 = and i32 %conv15, -65 + %conv17 = trunc i32 %and16 to i16 + store i16 %conv17, i16* %__modeflags14, align 8 + br label %if.end20 + +if.else: ; preds = %if.then11 + store i32 -1, i32* %retval1, align 4 + br label %if.end20 + +if.end20: ; preds = %if.then5, %if.else, %if.then13, %while.body + %15 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %15, i32 0, i32 9 + %16 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %__nextopen, align 8 + store %struct.__STDIO_FILE_STRUCT.570* %16, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + br label %while.cond + +if.else21: ; preds = %if.end + %17 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags22 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %17, i32 0, i32 0 + %18 = load i16, i16* %__modeflags22, align 8 + %conv23 = zext i16 %18 to i32 + %and24 = and i32 %conv23, 64 + %tobool25 = icmp ne i32 %and24, 0 + br i1 %tobool25, label %if.then26, label %if.end39 + +if.then26: ; preds = %if.else21 + %19 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %call27 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.570* %19) #18 + %tobool28 = icmp ne i64 %call27, 0 + br i1 %tobool28, label %if.else36, label %if.then29 + +if.then29: ; preds = %if.then26 + %20 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufstart30 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %20, i32 0, i32 3 + %21 = load i8*, i8** %__bufstart30, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufputc_u31 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %22, i32 0, i32 8 + store i8* %21, i8** %__bufputc_u31, align 8 + %23 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags32 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %23, i32 0, i32 0 + %24 = load i16, i16* %__modeflags32, align 8 + %conv33 = zext i16 %24 to i32 + %and34 = and i32 %conv33, -65 + %conv35 = trunc i32 %and34 to i16 + store i16 %conv35, i16* %__modeflags32, align 8 + br label %if.end39 + +if.else36: ; preds = %if.then26 + store i32 -1, i32* %retval1, align 4 + br label %if.end39 + +if.end39: ; preds = %if.else21, %if.else36, %if.then29, %while.cond + %25 = load i32, i32* %retval1, align 4 + ret i32 %25 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fileno_unlocked(%struct.__STDIO_FILE_STRUCT.610* %stream) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.610*, align 8 + store %struct.__STDIO_FILE_STRUCT.610* %stream, %struct.__STDIO_FILE_STRUCT.610** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.610*, %struct.__STDIO_FILE_STRUCT.610** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.610, %struct.__STDIO_FILE_STRUCT.610* %0, i32 0, i32 2 + %1 = load i32, i32* %__filedes, align 4 + %cmp = icmp sge i32 %1, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.610*, %struct.__STDIO_FILE_STRUCT.610** %stream.addr, align 8 + %__filedes1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.610, %struct.__STDIO_FILE_STRUCT.610* %2, i32 0, i32 2 + %3 = load i32, i32* %__filedes1, align 4 + store i32 %3, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + store i32 9, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fprintf(%struct.__STDIO_FILE_STRUCT.570* noalias %stream, i8* noalias %format, ...) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.570*, align 8 + %format.addr = alloca i8*, align 8 + %arg = alloca [1 x %struct.__va_list_tag.2], align 16 + %rv = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.570* %stream, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %arg, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.2* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** @stdout, align 8 + %cmp = icmp eq %struct.__STDIO_FILE_STRUCT.570* %0, %1 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** @stderr, align 8 + %cmp2 = icmp eq %struct.__STDIO_FILE_STRUCT.570* %2, %3 + br i1 %cmp2, label %if.then, label %if.else + +if.then: ; preds = %lor.lhs.false, %entry + %4 = load i8*, i8** %format.addr, align 8 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %arg, i64 0, i64 0 + %call = call i32 @vprintf(i8* %4, %struct.__va_list_tag.2* %arraydecay3) #18 + store i32 %call, i32* %rv, align 4 + br label %if.end + +if.else: ; preds = %lor.lhs.false + %5 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %6 = load i8*, i8** %format.addr, align 8 + %arraydecay4 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %arg, i64 0, i64 0 + %call5 = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.570* %5, i8* %6, %struct.__va_list_tag.2* %arraydecay4) #18 + store i32 %call5, i32* %rv, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %arraydecay6 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %arg, i64 0, i64 0 + %arraydecay67 = bitcast %struct.__va_list_tag.2* %arraydecay6 to i8* + call void @llvm.va_end(i8* %arraydecay67) + %7 = load i32, i32* %rv, align 4 + ret i32 %7 +} + +declare i32 @vprintf(i8*, %struct.__va_list_tag.2*) #17 + +; Function Attrs: noinline nounwind uwtable +define i32 @__fputc_unlocked(i32 %c, %struct.__STDIO_FILE_STRUCT.570* %stream) #0 { +entry: + %retval = alloca i32, align 4 + %c.addr = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.570*, align 8 + %uc = alloca i8, align 1 + store i32 %c, i32* %c.addr, align 4 + store %struct.__STDIO_FILE_STRUCT.570* %stream, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %0, i32 0, i32 5 + %1 = load i8*, i8** %__bufpos, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %2, i32 0, i32 8 + %3 = load i8*, i8** %__bufputc_u, align 8 + %cmp = icmp ult i8* %1, %3 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %4 = load i32, i32* %c.addr, align 4 + %conv = trunc i32 %4 to i8 + %5 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %5, i32 0, i32 5 + %6 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + store i8 %conv, i8* %6, align 1 + %7 = load i32, i32* %c.addr, align 4 + %conv2 = trunc i32 %7 to i8 + %conv3 = zext i8 %conv2 to i32 + store i32 %conv3, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags, align 8 + %conv4 = zext i16 %9 to i32 + %and = and i32 %conv4, 192 + %cmp5 = icmp eq i32 %and, 192 + br i1 %cmp5, label %if.then7, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %10 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %call = call i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.570* %10, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %BAD, label %if.then7 + +if.then7: ; preds = %lor.lhs.false, %if.end + %11 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %11, i32 0, i32 2 + %12 = load i32, i32* %__filedes, align 4 + %cmp8 = icmp eq i32 %12, -2 + br i1 %cmp8, label %if.then10, label %if.end13 + +if.then10: ; preds = %if.then7 + %13 = load i32, i32* %c.addr, align 4 + %conv11 = trunc i32 %13 to i8 + %conv12 = zext i8 %conv11 to i32 + store i32 %conv12, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.then7 + %14 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %14, i32 0, i32 4 + %15 = load i8*, i8** %__bufend, align 8 + %16 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %16, i32 0, i32 3 + %17 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %15 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %17 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool14 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %tobool14, label %if.then15, label %if.else + +if.then15: ; preds = %if.end13 + %18 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufend16 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %18, i32 0, i32 4 + %19 = load i8*, i8** %__bufend16, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufpos17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %20, i32 0, i32 5 + %21 = load i8*, i8** %__bufpos17, align 8 + %sub.ptr.lhs.cast18 = ptrtoint i8* %19 to i64 + %sub.ptr.rhs.cast19 = ptrtoint i8* %21 to i64 + %sub.ptr.sub20 = sub i64 %sub.ptr.lhs.cast18, %sub.ptr.rhs.cast19 + %tobool21 = icmp ne i64 %sub.ptr.sub20, 0 + br i1 %tobool21, label %if.end25, label %land.lhs.true + +land.lhs.true: ; preds = %if.then15 + %22 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %call22 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.570* %22) #18 + %tobool23 = icmp ne i64 %call22, 0 + br i1 %tobool23, label %BAD, label %if.end25 + +if.end25: ; preds = %land.lhs.true, %if.then15 + %23 = load i32, i32* %c.addr, align 4 + %conv26 = trunc i32 %23 to i8 + %24 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufpos27 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %24, i32 0, i32 5 + %25 = load i8*, i8** %__bufpos27, align 8 + %incdec.ptr28 = getelementptr inbounds i8, i8* %25, i32 1 + store i8* %incdec.ptr28, i8** %__bufpos27, align 8 + store i8 %conv26, i8* %25, align 1 + %26 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags29 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %26, i32 0, i32 0 + %27 = load i16, i16* %__modeflags29, align 8 + %conv30 = zext i16 %27 to i32 + %and31 = and i32 %conv30, 256 + %tobool32 = icmp ne i32 %and31, 0 + br i1 %tobool32, label %if.then33, label %if.end51 + +if.then33: ; preds = %if.end25 + %28 = load i32, i32* %c.addr, align 4 + %conv34 = trunc i32 %28 to i8 + %conv35 = zext i8 %conv34 to i32 + %cmp36 = icmp eq i32 %conv35, 10 + br i1 %cmp36, label %land.lhs.true38, label %if.end51 + +land.lhs.true38: ; preds = %if.then33 + %29 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %call39 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.570* %29) #18 + %tobool40 = icmp ne i64 %call39, 0 + br i1 %tobool40, label %if.then41, label %if.end51 + +if.then41: ; preds = %land.lhs.true38 + %30 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufpos42 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %30, i32 0, i32 5 + %31 = load i8*, i8** %__bufpos42, align 8 + %incdec.ptr43 = getelementptr inbounds i8, i8* %31, i32 -1 + store i8* %incdec.ptr43, i8** %__bufpos42, align 8 + br label %BAD + +if.else: ; preds = %if.end13 + %32 = load i32, i32* %c.addr, align 4 + %conv46 = trunc i32 %32 to i8 + store i8 %conv46, i8* %uc, align 1 + %33 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %call47 = call i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.570* %33, i8* %uc, i64 1) #18 + %tobool48 = icmp ne i64 %call47, 0 + br i1 %tobool48, label %if.end51, label %BAD + +if.end51: ; preds = %if.else, %if.end25, %land.lhs.true38, %if.then33 + %34 = load i32, i32* %c.addr, align 4 + %conv52 = trunc i32 %34 to i8 + %conv53 = zext i8 %conv52 to i32 + store i32 %conv53, i32* %retval, align 4 + br label %return + +BAD: ; preds = %lor.lhs.false, %if.else, %land.lhs.true, %if.then41 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %BAD, %if.end51, %if.then10, %if.then + %35 = load i32, i32* %retval, align 4 + ret i32 %35 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fputs_unlocked(i8* noalias %s, %struct.__STDIO_FILE_STRUCT.623* noalias %stream) #0 { +entry: + %s.addr = alloca i8*, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.623*, align 8 + %n = alloca i64, align 8 + store i8* %s, i8** %s.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.623* %stream, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %call = call i64 @strlen(i8* %0) #20 + store i64 %call, i64* %n, align 8 + %1 = load i8*, i8** %s.addr, align 8 + %2 = load i64, i64* %n, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.623*, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %call1 = call i64 @fwrite_unlocked(i8* %1, i64 1, i64 %2, %struct.__STDIO_FILE_STRUCT.623* %3) #18 + %4 = load i64, i64* %n, align 8 + %cmp = icmp eq i64 %call1, %4 + %5 = load i64, i64* %n, align 8 + %cond = select i1 %cmp, i64 %5, i64 -1 + %conv = trunc i64 %cond to i32 + ret i32 %conv +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fseek(%struct.__STDIO_FILE_STRUCT.638* %stream, i64 %offset, i32 %whence) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.638*, align 8 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.638* %stream, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %1 = load i64, i64* %offset.addr, align 8 + %2 = load i32, i32* %whence.addr, align 4 + %call = call i32 @fseeko64(%struct.__STDIO_FILE_STRUCT.638* %0, i64 %1, i32 %2) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @vsnprintf(i8* noalias %buf, i64 %size, i8* noalias %format, %struct.__va_list_tag.2* %arg) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %format.addr = alloca i8*, align 8 + %arg.addr = alloca %struct.__va_list_tag.2*, align 8 + %f = alloca %struct.__STDIO_FILE_STRUCT.570, align 8 + %rv = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + store %struct.__va_list_tag.2* %arg, %struct.__va_list_tag.2** %arg.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %f, i32 0, i32 2 + store i32 -2, i32* %__filedes, align 4 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %f, i32 0, i32 0 + store i16 208, i16* %__modeflags, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %f, i32 0, i32 1 + %arrayidx = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 0 + store i8 0, i8* %arrayidx, align 2 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %f, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.514, %struct.__mbstate_t.514* %__state, i32 0, i32 0 + store i32 0, i32* %__mask, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %f, i32 0, i32 9 + store %struct.__STDIO_FILE_STRUCT.570* null, %struct.__STDIO_FILE_STRUCT.570** %__nextopen, align 8 + %0 = load i64, i64* %size.addr, align 8 + %1 = load i8*, i8** %buf.addr, align 8 + %2 = ptrtoint i8* %1 to i64 + %sub = sub i64 -1, %2 + %cmp = icmp ugt i64 %0, %sub + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %3 = load i8*, i8** %buf.addr, align 8 + %4 = ptrtoint i8* %3 to i64 + %sub1 = sub i64 -1, %4 + store i64 %sub1, i64* %size.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %5 = load i8*, i8** %buf.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %f, i32 0, i32 3 + store i8* %5, i8** %__bufstart, align 8 + %6 = load i8*, i8** %buf.addr, align 8 + %7 = load i64, i64* %size.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %6, i64 %7 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %f, i32 0, i32 4 + store i8* %add.ptr, i8** %__bufend, align 8 + %__bufstart2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %f, i32 0, i32 3 + %8 = load i8*, i8** %__bufstart2, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %f, i32 0, i32 5 + store i8* %8, i8** %__bufpos, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %f, i32 0, i32 6 + store i8* %8, i8** %__bufread, align 8 + %__bufstart3 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %f, i32 0, i32 3 + %9 = load i8*, i8** %__bufstart3, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %f, i32 0, i32 7 + store i8* %9, i8** %__bufgetc_u, align 8 + %__bufend4 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %f, i32 0, i32 4 + %10 = load i8*, i8** %__bufend4, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %f, i32 0, i32 8 + store i8* %10, i8** %__bufputc_u, align 8 + %11 = load i8*, i8** %format.addr, align 8 + %12 = load %struct.__va_list_tag.2*, %struct.__va_list_tag.2** %arg.addr, align 8 + %call = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.570* %f, i8* %11, %struct.__va_list_tag.2* %12) #18 + store i32 %call, i32* %rv, align 4 + %13 = load i64, i64* %size.addr, align 8 + %tobool = icmp ne i64 %13, 0 + br i1 %tobool, label %if.then5, label %if.end13 + +if.then5: ; preds = %if.end + %__bufpos6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %f, i32 0, i32 5 + %14 = load i8*, i8** %__bufpos6, align 8 + %__bufend7 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %f, i32 0, i32 4 + %15 = load i8*, i8** %__bufend7, align 8 + %cmp8 = icmp eq i8* %14, %15 + br i1 %cmp8, label %if.then9, label %if.end11 + +if.then9: ; preds = %if.then5 + %__bufpos10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %f, i32 0, i32 5 + %16 = load i8*, i8** %__bufpos10, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %16, i32 -1 + store i8* %incdec.ptr, i8** %__bufpos10, align 8 + br label %if.end11 + +if.end11: ; preds = %if.then9, %if.then5 + %__bufpos12 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %f, i32 0, i32 5 + %17 = load i8*, i8** %__bufpos12, align 8 + store i8 0, i8* %17, align 1 + br label %if.end13 + +if.end13: ; preds = %if.end11, %if.end + %18 = load i32, i32* %rv, align 4 + ret i32 %18 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @atexit(void ()* nonnull %func) #0 { +entry: + %func.addr = alloca void ()*, align 8 + store void ()* %func, void ()** %func.addr, align 8 + %0 = load void ()*, void ()** %func.addr, align 8 + %1 = bitcast void ()* %0 to void (i8*)* + br i1 icmp eq (i8** @__dso_handle, i8** null), label %cond.end, label %cond.false + +cond.false: ; preds = %entry + %2 = load i8*, i8** @__dso_handle, align 8 + br label %cond.end + +cond.end: ; preds = %entry, %cond.false + %cond = phi i8* [ %2, %cond.false ], [ null, %entry ] + %call = call i32 @__cxa_atexit(void (i8*)* %1, i8* null, i8* %cond) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i8* @realpath(i8* %path, i8* nonnull %got_path) #0 { +entry: + %retval = alloca i8*, align 8 + %path.addr = alloca i8*, align 8 + %got_path.addr = alloca i8*, align 8 + %copy_path = alloca [4096 x i8], align 16 + %max_path = alloca i8*, align 8 + %new_path = alloca i8*, align 8 + %path_len = alloca i64, align 8 + %readlinks = alloca i32, align 4 + %link_len = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store i8* %got_path, i8** %got_path.addr, align 8 + store i32 0, i32* %readlinks, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %cmp = icmp eq i8* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 22, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %path.addr, align 8 + %2 = load i8, i8* %1, align 1 + %conv = sext i8 %2 to i32 + %cmp1 = icmp eq i32 %conv, 0 + br i1 %cmp1, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.end + store i32 2, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %if.end + %3 = load i8*, i8** %path.addr, align 8 + %call = call i64 @strlen(i8* %3) #20 + store i64 %call, i64* %path_len, align 8 + %4 = load i64, i64* %path_len, align 8 + %cmp5 = icmp uge i64 %4, 4094 + br i1 %cmp5, label %if.then7, label %if.end8 + +if.then7: ; preds = %if.end4 + store i32 36, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end8: ; preds = %if.end4 + %arraydecay = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 4095 + %5 = load i64, i64* %path_len, align 8 + %idx.neg = sub i64 0, %5 + %add.ptr9 = getelementptr inbounds i8, i8* %add.ptr, i64 %idx.neg + %6 = load i8*, i8** %path.addr, align 8 + %call10 = call i8* @strcpy(i8* %add.ptr9, i8* %6) #19 + %arraydecay11 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr12 = getelementptr inbounds i8, i8* %arraydecay11, i64 4095 + %7 = load i64, i64* %path_len, align 8 + %idx.neg13 = sub i64 0, %7 + %add.ptr14 = getelementptr inbounds i8, i8* %add.ptr12, i64 %idx.neg13 + store i8* %add.ptr14, i8** %path.addr, align 8 + %8 = load i8*, i8** %got_path.addr, align 8 + %add.ptr15 = getelementptr inbounds i8, i8* %8, i64 4096 + %add.ptr16 = getelementptr inbounds i8, i8* %add.ptr15, i64 -2 + store i8* %add.ptr16, i8** %max_path, align 8 + %9 = load i8*, i8** %got_path.addr, align 8 + store i8* %9, i8** %new_path, align 8 + %10 = load i8*, i8** %path.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv17 = sext i8 %11 to i32 + %cmp18 = icmp ne i32 %conv17, 47 + %12 = load i8*, i8** %new_path, align 8 + br i1 %cmp18, label %if.then20, label %if.else + +if.then20: ; preds = %if.end8 + %call21 = call i8* @getcwd(i8* %12, i64 4095) #19 + %tobool = icmp ne i8* %call21, null + br i1 %tobool, label %if.end23, label %if.then22 + +if.then22: ; preds = %if.then20 + store i8* null, i8** %retval, align 8 + br label %return + +if.end23: ; preds = %if.then20 + %13 = load i8*, i8** %new_path, align 8 + %call24 = call i64 @strlen(i8* %13) #20 + %14 = load i8*, i8** %new_path, align 8 + %add.ptr25 = getelementptr inbounds i8, i8* %14, i64 %call24 + store i8* %add.ptr25, i8** %new_path, align 8 + %15 = load i8*, i8** %new_path, align 8 + %arrayidx = getelementptr inbounds i8, i8* %15, i64 -1 + %16 = load i8, i8* %arrayidx, align 1 + %conv26 = sext i8 %16 to i32 + %cmp27 = icmp ne i32 %conv26, 47 + br i1 %cmp27, label %if.then29, label %if.end33 + +if.then29: ; preds = %if.end23 + %17 = load i8*, i8** %new_path, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %17, i32 1 + store i8* %incdec.ptr, i8** %new_path, align 8 + store i8 47, i8* %17, align 1 + br label %if.end33 + +if.else: ; preds = %if.end8 + %incdec.ptr31 = getelementptr inbounds i8, i8* %12, i32 1 + store i8* %incdec.ptr31, i8** %new_path, align 8 + store i8 47, i8* %12, align 1 + %18 = load i8*, i8** %path.addr, align 8 + %incdec.ptr32 = getelementptr inbounds i8, i8* %18, i32 1 + store i8* %incdec.ptr32, i8** %path.addr, align 8 + br label %if.end33 + +if.end33: ; preds = %if.end23, %if.then29, %if.else + br label %while.cond + +while.cond: ; preds = %while.cond79, %if.then72, %if.end155, %if.then55, %if.then40, %if.end33 + %19 = load i8*, i8** %path.addr, align 8 + %20 = load i8, i8* %19, align 1 + %conv34 = sext i8 %20 to i32 + %cmp35 = icmp ne i32 %conv34, 0 + br i1 %cmp35, label %while.body, label %while.end157 + +while.body: ; preds = %while.cond + %21 = load i8*, i8** %path.addr, align 8 + %22 = load i8, i8* %21, align 1 + %conv37 = sext i8 %22 to i32 + %cmp38 = icmp eq i32 %conv37, 47 + %23 = load i8*, i8** %path.addr, align 8 + br i1 %cmp38, label %if.then40, label %if.end42 + +if.then40: ; preds = %while.body + %incdec.ptr41 = getelementptr inbounds i8, i8* %23, i32 1 + store i8* %incdec.ptr41, i8** %path.addr, align 8 + br label %while.cond + +if.end42: ; preds = %while.body + %24 = load i8, i8* %23, align 1 + %conv43 = sext i8 %24 to i32 + %cmp44 = icmp eq i32 %conv43, 46 + br i1 %cmp44, label %if.then46, label %if.end88 + +if.then46: ; preds = %if.end42 + %25 = load i8*, i8** %path.addr, align 8 + %arrayidx47 = getelementptr inbounds i8, i8* %25, i64 1 + %26 = load i8, i8* %arrayidx47, align 1 + %conv48 = sext i8 %26 to i32 + %cmp49 = icmp eq i32 %conv48, 0 + br i1 %cmp49, label %if.then55, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then46 + %27 = load i8*, i8** %path.addr, align 8 + %arrayidx51 = getelementptr inbounds i8, i8* %27, i64 1 + %28 = load i8, i8* %arrayidx51, align 1 + %conv52 = sext i8 %28 to i32 + %cmp53 = icmp eq i32 %conv52, 47 + br i1 %cmp53, label %if.then55, label %if.end57 + +if.then55: ; preds = %lor.lhs.false, %if.then46 + %29 = load i8*, i8** %path.addr, align 8 + %incdec.ptr56 = getelementptr inbounds i8, i8* %29, i32 1 + store i8* %incdec.ptr56, i8** %path.addr, align 8 + br label %while.cond + +if.end57: ; preds = %lor.lhs.false + %30 = load i8*, i8** %path.addr, align 8 + %arrayidx58 = getelementptr inbounds i8, i8* %30, i64 1 + %31 = load i8, i8* %arrayidx58, align 1 + %conv59 = sext i8 %31 to i32 + %cmp60 = icmp eq i32 %conv59, 46 + br i1 %cmp60, label %if.then62, label %if.end88 + +if.then62: ; preds = %if.end57 + %32 = load i8*, i8** %path.addr, align 8 + %arrayidx63 = getelementptr inbounds i8, i8* %32, i64 2 + %33 = load i8, i8* %arrayidx63, align 1 + %conv64 = sext i8 %33 to i32 + %cmp65 = icmp eq i32 %conv64, 0 + br i1 %cmp65, label %if.then72, label %lor.lhs.false67 + +lor.lhs.false67: ; preds = %if.then62 + %34 = load i8*, i8** %path.addr, align 8 + %arrayidx68 = getelementptr inbounds i8, i8* %34, i64 2 + %35 = load i8, i8* %arrayidx68, align 1 + %conv69 = sext i8 %35 to i32 + %cmp70 = icmp eq i32 %conv69, 47 + br i1 %cmp70, label %if.then72, label %if.end88 + +if.then72: ; preds = %lor.lhs.false67, %if.then62 + %36 = load i8*, i8** %path.addr, align 8 + %add.ptr73 = getelementptr inbounds i8, i8* %36, i64 2 + store i8* %add.ptr73, i8** %path.addr, align 8 + %37 = load i8*, i8** %new_path, align 8 + %38 = load i8*, i8** %got_path.addr, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %38, i64 1 + %cmp75 = icmp eq i8* %37, %add.ptr74 + br i1 %cmp75, label %while.cond, label %while.cond79 + +while.cond79: ; preds = %while.cond79, %if.then72 + %39 = load i8*, i8** %new_path, align 8 + %incdec.ptr80 = getelementptr inbounds i8, i8* %39, i32 -1 + store i8* %incdec.ptr80, i8** %new_path, align 8 + %arrayidx81 = getelementptr inbounds i8, i8* %incdec.ptr80, i64 -1 + %40 = load i8, i8* %arrayidx81, align 1 + %conv82 = sext i8 %40 to i32 + %cmp83 = icmp ne i32 %conv82, 47 + br i1 %cmp83, label %while.cond79, label %while.cond + +if.end88: ; preds = %if.end57, %lor.lhs.false67, %if.end42 + br label %while.cond89 + +while.cond89: ; preds = %if.end100, %if.end88 + %41 = load i8*, i8** %path.addr, align 8 + %42 = load i8, i8* %41, align 1 + %conv90 = sext i8 %42 to i32 + %cmp91 = icmp ne i32 %conv90, 0 + br i1 %cmp91, label %land.rhs, label %while.end103 + +land.rhs: ; preds = %while.cond89 + %43 = load i8*, i8** %path.addr, align 8 + %44 = load i8, i8* %43, align 1 + %conv93 = sext i8 %44 to i32 + %cmp94 = icmp ne i32 %conv93, 47 + br i1 %cmp94, label %while.body96, label %while.end103 + +while.body96: ; preds = %land.rhs + %45 = load i8*, i8** %new_path, align 8 + %46 = load i8*, i8** %max_path, align 8 + %cmp97 = icmp ugt i8* %45, %46 + br i1 %cmp97, label %if.then99, label %if.end100 + +if.then99: ; preds = %while.body96 + store i32 36, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end100: ; preds = %while.body96 + %47 = load i8*, i8** %path.addr, align 8 + %incdec.ptr101 = getelementptr inbounds i8, i8* %47, i32 1 + store i8* %incdec.ptr101, i8** %path.addr, align 8 + %48 = load i8, i8* %47, align 1 + %49 = load i8*, i8** %new_path, align 8 + %incdec.ptr102 = getelementptr inbounds i8, i8* %49, i32 1 + store i8* %incdec.ptr102, i8** %new_path, align 8 + store i8 %48, i8* %49, align 1 + br label %while.cond89 + +while.end103: ; preds = %while.cond89, %land.rhs + %50 = load i32, i32* %readlinks, align 4 + %inc = add nsw i32 %50, 1 + store i32 %inc, i32* %readlinks, align 4 + %cmp104 = icmp sgt i32 %50, 32 + br i1 %cmp104, label %if.then106, label %if.end107 + +if.then106: ; preds = %while.end103 + store i32 40, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end107: ; preds = %while.end103 + %51 = load i8*, i8** %path.addr, align 8 + %call108 = call i64 @strlen(i8* %51) #20 + store i64 %call108, i64* %path_len, align 8 + %52 = load i8*, i8** %new_path, align 8 + store i8 0, i8* %52, align 1 + %53 = load i8*, i8** %got_path.addr, align 8 + %arraydecay109 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %call110 = call i64 @readlink(i8* %53, i8* %arraydecay109, i64 4095) #19 + %conv111 = trunc i64 %call110 to i32 + store i32 %conv111, i32* %link_len, align 4 + %54 = load i32, i32* %link_len, align 4 + %cmp112 = icmp slt i32 %54, 0 + br i1 %cmp112, label %if.then114, label %if.else119 + +if.then114: ; preds = %if.end107 + %55 = load i32, i32* @errno, align 4 + %cmp115 = icmp ne i32 %55, 22 + br i1 %cmp115, label %if.then117, label %if.end155 + +if.then117: ; preds = %if.then114 + store i8* null, i8** %retval, align 8 + br label %return + +if.else119: ; preds = %if.end107 + %56 = load i64, i64* %path_len, align 8 + %57 = load i32, i32* %link_len, align 4 + %conv120 = sext i32 %57 to i64 + %add = add i64 %56, %conv120 + %cmp121 = icmp uge i64 %add, 4094 + br i1 %cmp121, label %if.then123, label %if.end124 + +if.then123: ; preds = %if.else119 + store i32 36, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end124: ; preds = %if.else119 + %arraydecay125 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %58 = load i8, i8* %arraydecay125, align 16 + %conv126 = sext i8 %58 to i32 + %cmp127 = icmp eq i32 %conv126, 47 + br i1 %cmp127, label %if.then129, label %while.cond131 + +if.then129: ; preds = %if.end124 + %59 = load i8*, i8** %got_path.addr, align 8 + store i8* %59, i8** %new_path, align 8 + br label %if.end138 + +while.cond131: ; preds = %while.cond131, %if.end124 + %60 = load i8*, i8** %new_path, align 8 + %incdec.ptr132 = getelementptr inbounds i8, i8* %60, i32 -1 + store i8* %incdec.ptr132, i8** %new_path, align 8 + %61 = load i8, i8* %incdec.ptr132, align 1 + %conv133 = sext i8 %61 to i32 + %cmp134 = icmp ne i32 %conv133, 47 + br i1 %cmp134, label %while.cond131, label %if.end138 + +if.end138: ; preds = %while.cond131, %if.then129 + %arraydecay139 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr140 = getelementptr inbounds i8, i8* %arraydecay139, i64 4095 + %62 = load i32, i32* %link_len, align 4 + %idx.ext = sext i32 %62 to i64 + %idx.neg141 = sub i64 0, %idx.ext + %add.ptr142 = getelementptr inbounds i8, i8* %add.ptr140, i64 %idx.neg141 + %63 = load i64, i64* %path_len, align 8 + %idx.neg143 = sub i64 0, %63 + %add.ptr144 = getelementptr inbounds i8, i8* %add.ptr142, i64 %idx.neg143 + %arraydecay145 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %64 = load i32, i32* %link_len, align 4 + %conv146 = sext i32 %64 to i64 + %call147 = call i8* @memmove(i8* %add.ptr144, i8* %arraydecay145, i64 %conv146) #19 + %arraydecay148 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr149 = getelementptr inbounds i8, i8* %arraydecay148, i64 4095 + %65 = load i32, i32* %link_len, align 4 + %idx.ext150 = sext i32 %65 to i64 + %idx.neg151 = sub i64 0, %idx.ext150 + %add.ptr152 = getelementptr inbounds i8, i8* %add.ptr149, i64 %idx.neg151 + %66 = load i64, i64* %path_len, align 8 + %idx.neg153 = sub i64 0, %66 + %add.ptr154 = getelementptr inbounds i8, i8* %add.ptr152, i64 %idx.neg153 + store i8* %add.ptr154, i8** %path.addr, align 8 + br label %if.end155 + +if.end155: ; preds = %if.then114, %if.end138 + %67 = load i8*, i8** %new_path, align 8 + %incdec.ptr156 = getelementptr inbounds i8, i8* %67, i32 1 + store i8* %incdec.ptr156, i8** %new_path, align 8 + store i8 47, i8* %67, align 1 + br label %while.cond + +while.end157: ; preds = %while.cond + %68 = load i8*, i8** %new_path, align 8 + %69 = load i8*, i8** %got_path.addr, align 8 + %add.ptr158 = getelementptr inbounds i8, i8* %69, i64 1 + %cmp159 = icmp ne i8* %68, %add.ptr158 + br i1 %cmp159, label %land.lhs.true, label %if.end167 + +land.lhs.true: ; preds = %while.end157 + %70 = load i8*, i8** %new_path, align 8 + %arrayidx161 = getelementptr inbounds i8, i8* %70, i64 -1 + %71 = load i8, i8* %arrayidx161, align 1 + %conv162 = sext i8 %71 to i32 + %cmp163 = icmp eq i32 %conv162, 47 + br i1 %cmp163, label %if.then165, label %if.end167 + +if.then165: ; preds = %land.lhs.true + %72 = load i8*, i8** %new_path, align 8 + %incdec.ptr166 = getelementptr inbounds i8, i8* %72, i32 -1 + store i8* %incdec.ptr166, i8** %new_path, align 8 + br label %if.end167 + +if.end167: ; preds = %if.then165, %land.lhs.true, %while.end157 + %73 = load i8*, i8** %new_path, align 8 + store i8 0, i8* %73, align 1 + %74 = load i8*, i8** %got_path.addr, align 8 + store i8* %74, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end167, %if.then123, %if.then117, %if.then106, %if.then99, %if.then22, %if.then7, %if.then3, %if.then + %75 = load i8*, i8** %retval, align 8 + ret i8* %75 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @memcmp(i8* nonnull %s1, i8* nonnull %s2, i64 %n) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r1 = alloca i8*, align 8 + %r2 = alloca i8*, align 8 + %r = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %r1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %r2, align 8 + store i32 0, i32* %r, align 4 + br label %while.cond + +while.cond: ; preds = %land.rhs, %entry + %2 = load i64, i64* %n.addr, align 8 + %dec = add i64 %2, -1 + store i64 %dec, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %3 = load i8*, i8** %r1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %r1, align 8 + %4 = load i8, i8* %3, align 1 + %conv = zext i8 %4 to i32 + %5 = load i8*, i8** %r2, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr1, i8** %r2, align 8 + %6 = load i8, i8* %5, align 1 + %conv2 = zext i8 %6 to i32 + %sub = sub nsw i32 %conv, %conv2 + store i32 %sub, i32* %r, align 4 + %cmp = icmp eq i32 %sub, 0 + br i1 %cmp, label %while.cond, label %while.end + +while.end: ; preds = %while.cond, %land.rhs + %7 = load i32, i32* %r, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @strchr(i8* nonnull %s, i32 %c) #14 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %entry + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %2 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %2 to i8 + %conv2 = sext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + %3 = load i8*, i8** %s.addr, align 8 + br i1 %cmp, label %if.then, label %do.cond + +if.then: ; preds = %do.body + store i8* %3, i8** %retval, align 8 + br label %return + +do.cond: ; preds = %do.body + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %s.addr, align 8 + %4 = load i8, i8* %3, align 1 + %tobool = icmp ne i8 %4, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %do.end, %if.then + %5 = load i8*, i8** %retval, align 8 + ret i8* %5 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i64 @strspn(i8* nonnull %s1, i8* nonnull %s2) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %2 = load i8*, i8** %p, align 8 + %3 = load i8, i8* %2, align 1 + %tobool = icmp ne i8 %3, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %5 = load i8, i8* %4, align 1 + %conv = sext i8 %5 to i32 + %6 = load i8*, i8** %s, align 8 + %7 = load i8, i8* %6, align 1 + %conv1 = sext i8 %7 to i32 + %cmp = icmp eq i32 %conv, %conv1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + %8 = load i8*, i8** %s, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %8, i32 1 + store i8* %incdec.ptr3, i8** %s, align 8 + %9 = load i8*, i8** %s2.addr, align 8 + store i8* %9, i8** %p, align 8 + br label %if.end + +if.end: ; preds = %if.then, %while.body + br label %while.cond + +while.end: ; preds = %while.cond + %10 = load i8*, i8** %s, align 8 + %11 = load i8*, i8** %s1.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %10 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %11 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind uwtable +define i32 @tcgetattr(i32 %fd, %struct.termios* %termios_p) #0 { +entry: + %fd.addr = alloca i32, align 4 + %termios_p.addr = alloca %struct.termios*, align 8 + %k_termios = alloca %struct.__kernel_termios, align 4 + %retval1 = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.termios* %termios_p, %struct.termios** %termios_p.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 (i32, i64, ...) @ioctl(i32 %0, i64 21505, %struct.__kernel_termios* %k_termios) #19 + store i32 %call, i32* %retval1, align 4 + %c_iflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 0 + %1 = load i32, i32* %c_iflag, align 4 + %2 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_iflag2 = getelementptr inbounds %struct.termios, %struct.termios* %2, i32 0, i32 0 + store i32 %1, i32* %c_iflag2, align 4 + %c_oflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 1 + %3 = load i32, i32* %c_oflag, align 4 + %4 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_oflag3 = getelementptr inbounds %struct.termios, %struct.termios* %4, i32 0, i32 1 + store i32 %3, i32* %c_oflag3, align 4 + %c_cflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 2 + %5 = load i32, i32* %c_cflag, align 4 + %6 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_cflag4 = getelementptr inbounds %struct.termios, %struct.termios* %6, i32 0, i32 2 + store i32 %5, i32* %c_cflag4, align 4 + %c_lflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 3 + %7 = load i32, i32* %c_lflag, align 4 + %8 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_lflag5 = getelementptr inbounds %struct.termios, %struct.termios* %8, i32 0, i32 3 + store i32 %7, i32* %c_lflag5, align 4 + %c_line = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 4 + %9 = load i8, i8* %c_line, align 4 + %10 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_line6 = getelementptr inbounds %struct.termios, %struct.termios* %10, i32 0, i32 4 + store i8 %9, i8* %c_line6, align 4 + %11 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_cc = getelementptr inbounds %struct.termios, %struct.termios* %11, i32 0, i32 5 + %arrayidx = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc, i64 0, i64 0 + %c_cc7 = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 5 + %arrayidx8 = getelementptr inbounds [19 x i8], [19 x i8]* %c_cc7, i64 0, i64 0 + %call9 = call i8* @mempcpy(i8* %arrayidx, i8* %arrayidx8, i64 19) #19 + %call10 = call i8* @memset(i8* %call9, i32 0, i64 13) #19 + %12 = load i32, i32* %retval1, align 4 + ret i32 %12 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_getopt_internal(i32 %argc, i8** %argv, i8* %optstring, %struct.option* %longopts, i32* %longind, i32 %long_only) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + %longopts.addr = alloca %struct.option*, align 8 + %longind.addr = alloca i32*, align 8 + %long_only.addr = alloca i32, align 4 + %result = alloca i32, align 4 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + store %struct.option* %longopts, %struct.option** %longopts.addr, align 8 + store i32* %longind, i32** %longind.addr, align 8 + store i32 %long_only, i32* %long_only.addr, align 4 + %0 = load i32, i32* @optind, align 4 + store i32 %0, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 0), align 8 + %1 = load i32, i32* @opterr, align 4 + store i32 %1, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 1), align 4 + %2 = load i32, i32* %argc.addr, align 4 + %3 = load i8**, i8*** %argv.addr, align 8 + %4 = load i8*, i8** %optstring.addr, align 8 + %5 = load %struct.option*, %struct.option** %longopts.addr, align 8 + %6 = load i32*, i32** %longind.addr, align 8 + %7 = load i32, i32* %long_only.addr, align 4 + %call = call i32 @_getopt_internal_r(i32 %2, i8** %3, i8* %4, %struct.option* %5, i32* %6, i32 %7, %struct._getopt_data* @getopt_data) #18 + store i32 %call, i32* %result, align 4 + %8 = load i32, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 0), align 8 + store i32 %8, i32* @optind, align 4 + %9 = load i8*, i8** getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 3), align 8 + store i8* %9, i8** @optarg, align 8 + %10 = load i32, i32* getelementptr inbounds (%struct._getopt_data, %struct._getopt_data* @getopt_data, i32 0, i32 2), align 8 + store i32 %10, i32* @optopt, align 4 + %11 = load i32, i32* %result, align 4 + ret i32 %11 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_getopt_internal_r(i32 %argc, i8** %argv, i8* %optstring, %struct.option* %longopts, i32* %longind, i32 %long_only, %struct._getopt_data* %d) #0 { +entry: + %retval = alloca i32, align 4 + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + %longopts.addr = alloca %struct.option*, align 8 + %longind.addr = alloca i32*, align 8 + %long_only.addr = alloca i32, align 4 + %d.addr = alloca %struct._getopt_data*, align 8 + %print_errors = alloca i32, align 4 + %nameend = alloca i8*, align 8 + %p = alloca %struct.option*, align 8 + %pfound = alloca %struct.option*, align 8 + %exact = alloca i32, align 4 + %ambig = alloca i32, align 4 + %indfound = alloca i32, align 4 + %option_index = alloca i32, align 4 + %c = alloca i8, align 1 + %temp = alloca i8*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + store %struct.option* %longopts, %struct.option** %longopts.addr, align 8 + store i32* %longind, i32** %longind.addr, align 8 + store i32 %long_only, i32* %long_only.addr, align 4 + store %struct._getopt_data* %d, %struct._getopt_data** %d.addr, align 8 + %0 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %opterr = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %0, i32 0, i32 1 + %1 = load i32, i32* %opterr, align 4 + store i32 %1, i32* %print_errors, align 4 + %2 = load i8*, i8** %optstring.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %2, i64 0 + %3 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %3 to i32 + %cmp = icmp eq i32 %conv, 58 + %spec.store.select = select i1 %cmp, i32 0, i32 %1 + store i32 %spec.store.select, i32* %print_errors, align 4 + %4 = load i32, i32* %argc.addr, align 4 + %cmp2 = icmp slt i32 %4, 1 + br i1 %cmp2, label %if.then4, label %if.end5 + +if.then4: ; preds = %entry + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %entry + %5 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %5, i32 0, i32 3 + store i8* null, i8** %optarg, align 8 + %6 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %6, i32 0, i32 0 + %7 = load i32, i32* %optind, align 8 + %cmp6 = icmp eq i32 %7, 0 + br i1 %cmp6, label %if.then8, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end5 + %8 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__initialized = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %8, i32 0, i32 4 + %9 = load i32, i32* %__initialized, align 8 + %tobool = icmp ne i32 %9, 0 + br i1 %tobool, label %if.end16, label %if.then8 + +if.then8: ; preds = %lor.lhs.false, %if.end5 + %10 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind9 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %10, i32 0, i32 0 + %11 = load i32, i32* %optind9, align 8 + %cmp10 = icmp eq i32 %11, 0 + br i1 %cmp10, label %if.then12, label %if.end14 + +if.then12: ; preds = %if.then8 + %12 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind13 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %12, i32 0, i32 0 + store i32 1, i32* %optind13, align 8 + br label %if.end14 + +if.end14: ; preds = %if.then12, %if.then8 + %13 = load i32, i32* %argc.addr, align 4 + %14 = load i8**, i8*** %argv.addr, align 8 + %15 = load i8*, i8** %optstring.addr, align 8 + %16 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %call = call i8* @_getopt_initialize(i32 %13, i8** %14, i8* %15, %struct._getopt_data* %16) #18 + store i8* %call, i8** %optstring.addr, align 8 + %17 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__initialized15 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %17, i32 0, i32 4 + store i32 1, i32* %__initialized15, align 8 + br label %if.end16 + +if.end16: ; preds = %if.end14, %lor.lhs.false + %18 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %18, i32 0, i32 5 + %19 = load i8*, i8** %__nextchar, align 8 + %cmp17 = icmp eq i8* %19, null + br i1 %cmp17, label %if.then24, label %lor.lhs.false19 + +lor.lhs.false19: ; preds = %if.end16 + %20 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar20 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %20, i32 0, i32 5 + %21 = load i8*, i8** %__nextchar20, align 8 + %22 = load i8, i8* %21, align 1 + %conv21 = sext i8 %22 to i32 + %cmp22 = icmp eq i32 %conv21, 0 + br i1 %cmp22, label %if.then24, label %if.end171 + +if.then24: ; preds = %lor.lhs.false19, %if.end16 + %23 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %23, i32 0, i32 9 + %24 = load i32, i32* %__last_nonopt, align 4 + %25 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind25 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %25, i32 0, i32 0 + %26 = load i32, i32* %optind25, align 8 + %cmp26 = icmp sgt i32 %24, %26 + br i1 %cmp26, label %if.then28, label %if.end31 + +if.then28: ; preds = %if.then24 + %27 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind29 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %27, i32 0, i32 0 + %28 = load i32, i32* %optind29, align 8 + %29 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt30 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %29, i32 0, i32 9 + store i32 %28, i32* %__last_nonopt30, align 4 + br label %if.end31 + +if.end31: ; preds = %if.then28, %if.then24 + %30 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %30, i32 0, i32 8 + %31 = load i32, i32* %__first_nonopt, align 8 + %32 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind32 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %32, i32 0, i32 0 + %33 = load i32, i32* %optind32, align 8 + %cmp33 = icmp sgt i32 %31, %33 + br i1 %cmp33, label %if.then35, label %if.end38 + +if.then35: ; preds = %if.end31 + %34 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind36 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %34, i32 0, i32 0 + %35 = load i32, i32* %optind36, align 8 + %36 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt37 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %36, i32 0, i32 8 + store i32 %35, i32* %__first_nonopt37, align 8 + br label %if.end38 + +if.end38: ; preds = %if.then35, %if.end31 + %37 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %37, i32 0, i32 6 + %38 = load i32, i32* %__ordering, align 8 + %cmp39 = icmp eq i32 %38, 1 + br i1 %cmp39, label %if.then41, label %if.end79 + +if.then41: ; preds = %if.end38 + %39 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt42 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %39, i32 0, i32 8 + %40 = load i32, i32* %__first_nonopt42, align 8 + %41 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt43 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %41, i32 0, i32 9 + %42 = load i32, i32* %__last_nonopt43, align 4 + %cmp44 = icmp ne i32 %40, %42 + br i1 %cmp44, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %if.then41 + %43 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt46 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %43, i32 0, i32 9 + %44 = load i32, i32* %__last_nonopt46, align 4 + %45 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind47 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %45, i32 0, i32 0 + %46 = load i32, i32* %optind47, align 8 + %cmp48 = icmp ne i32 %44, %46 + br i1 %cmp48, label %if.then50, label %if.else + +if.then50: ; preds = %land.lhs.true + %47 = load i8**, i8*** %argv.addr, align 8 + %48 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + call void @exchange(i8** %47, %struct._getopt_data* %48) #18 + br label %if.end59 + +if.else: ; preds = %land.lhs.true, %if.then41 + %49 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt51 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %49, i32 0, i32 9 + %50 = load i32, i32* %__last_nonopt51, align 4 + %51 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind52 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %51, i32 0, i32 0 + %52 = load i32, i32* %optind52, align 8 + %cmp53 = icmp ne i32 %50, %52 + br i1 %cmp53, label %if.then55, label %if.end59 + +if.then55: ; preds = %if.else + %53 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind56 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %53, i32 0, i32 0 + %54 = load i32, i32* %optind56, align 8 + %55 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt57 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %55, i32 0, i32 8 + store i32 %54, i32* %__first_nonopt57, align 8 + br label %if.end59 + +if.end59: ; preds = %if.else, %if.then55, %if.then50 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end59 + %56 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind60 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %56, i32 0, i32 0 + %57 = load i32, i32* %optind60, align 8 + %58 = load i32, i32* %argc.addr, align 4 + %cmp61 = icmp slt i32 %57, %58 + br i1 %cmp61, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %59 = load i8**, i8*** %argv.addr, align 8 + %60 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind63 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %60, i32 0, i32 0 + %61 = load i32, i32* %optind63, align 8 + %idxprom = sext i32 %61 to i64 + %arrayidx64 = getelementptr inbounds i8*, i8** %59, i64 %idxprom + %62 = load i8*, i8** %arrayidx64, align 8 + %arrayidx65 = getelementptr inbounds i8, i8* %62, i64 0 + %63 = load i8, i8* %arrayidx65, align 1 + %conv66 = sext i8 %63 to i32 + %cmp67 = icmp ne i32 %conv66, 45 + br i1 %cmp67, label %land.end, label %lor.rhs + +lor.rhs: ; preds = %land.rhs + %64 = load i8**, i8*** %argv.addr, align 8 + %65 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind69 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %65, i32 0, i32 0 + %66 = load i32, i32* %optind69, align 8 + %idxprom70 = sext i32 %66 to i64 + %arrayidx71 = getelementptr inbounds i8*, i8** %64, i64 %idxprom70 + %67 = load i8*, i8** %arrayidx71, align 8 + %arrayidx72 = getelementptr inbounds i8, i8* %67, i64 1 + %68 = load i8, i8* %arrayidx72, align 1 + %conv73 = sext i8 %68 to i32 + %cmp74 = icmp eq i32 %conv73, 0 + br label %land.end + +land.end: ; preds = %land.rhs, %lor.rhs, %while.cond + %69 = phi i1 [ false, %while.cond ], [ true, %land.rhs ], [ %cmp74, %lor.rhs ] + %70 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind76 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %70, i32 0, i32 0 + %71 = load i32, i32* %optind76, align 8 + br i1 %69, label %while.body, label %while.end + +while.body: ; preds = %land.end + %inc = add nsw i32 %71, 1 + store i32 %inc, i32* %optind76, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %72 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt78 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %72, i32 0, i32 9 + store i32 %71, i32* %__last_nonopt78, align 4 + br label %if.end79 + +if.end79: ; preds = %while.end, %if.end38 + %73 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind80 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %73, i32 0, i32 0 + %74 = load i32, i32* %optind80, align 8 + %75 = load i32, i32* %argc.addr, align 4 + %cmp81 = icmp ne i32 %74, %75 + br i1 %cmp81, label %land.lhs.true83, label %if.end114 + +land.lhs.true83: ; preds = %if.end79 + %76 = load i8**, i8*** %argv.addr, align 8 + %77 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind84 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %77, i32 0, i32 0 + %78 = load i32, i32* %optind84, align 8 + %idxprom85 = sext i32 %78 to i64 + %arrayidx86 = getelementptr inbounds i8*, i8** %76, i64 %idxprom85 + %79 = load i8*, i8** %arrayidx86, align 8 + %call87 = call i32 @strcmp(i8* %79, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.298, i64 0, i64 0)) #20 + %tobool88 = icmp ne i32 %call87, 0 + br i1 %tobool88, label %if.end114, label %if.then89 + +if.then89: ; preds = %land.lhs.true83 + %80 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind90 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %80, i32 0, i32 0 + %81 = load i32, i32* %optind90, align 8 + %inc91 = add nsw i32 %81, 1 + store i32 %inc91, i32* %optind90, align 8 + %82 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt92 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %82, i32 0, i32 8 + %83 = load i32, i32* %__first_nonopt92, align 8 + %84 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt93 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %84, i32 0, i32 9 + %85 = load i32, i32* %__last_nonopt93, align 4 + %cmp94 = icmp ne i32 %83, %85 + br i1 %cmp94, label %land.lhs.true96, label %if.else102 + +land.lhs.true96: ; preds = %if.then89 + %86 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt97 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %86, i32 0, i32 9 + %87 = load i32, i32* %__last_nonopt97, align 4 + %88 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind98 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %88, i32 0, i32 0 + %89 = load i32, i32* %optind98, align 8 + %cmp99 = icmp ne i32 %87, %89 + br i1 %cmp99, label %if.then101, label %if.else102 + +if.then101: ; preds = %land.lhs.true96 + %90 = load i8**, i8*** %argv.addr, align 8 + %91 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + call void @exchange(i8** %90, %struct._getopt_data* %91) #18 + br label %if.end111 + +if.else102: ; preds = %land.lhs.true96, %if.then89 + %92 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt103 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %92, i32 0, i32 8 + %93 = load i32, i32* %__first_nonopt103, align 8 + %94 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt104 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %94, i32 0, i32 9 + %95 = load i32, i32* %__last_nonopt104, align 4 + %cmp105 = icmp eq i32 %93, %95 + br i1 %cmp105, label %if.then107, label %if.end111 + +if.then107: ; preds = %if.else102 + %96 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind108 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %96, i32 0, i32 0 + %97 = load i32, i32* %optind108, align 8 + %98 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt109 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %98, i32 0, i32 8 + store i32 %97, i32* %__first_nonopt109, align 8 + br label %if.end111 + +if.end111: ; preds = %if.else102, %if.then107, %if.then101 + %99 = load i32, i32* %argc.addr, align 4 + %100 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt112 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %100, i32 0, i32 9 + store i32 %99, i32* %__last_nonopt112, align 4 + %101 = load i32, i32* %argc.addr, align 4 + %102 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind113 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %102, i32 0, i32 0 + store i32 %101, i32* %optind113, align 8 + br label %if.end114 + +if.end114: ; preds = %if.end111, %land.lhs.true83, %if.end79 + %103 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind115 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %103, i32 0, i32 0 + %104 = load i32, i32* %optind115, align 8 + %105 = load i32, i32* %argc.addr, align 4 + %cmp116 = icmp eq i32 %104, %105 + br i1 %cmp116, label %if.then118, label %if.end127 + +if.then118: ; preds = %if.end114 + %106 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt119 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %106, i32 0, i32 8 + %107 = load i32, i32* %__first_nonopt119, align 8 + %108 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt120 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %108, i32 0, i32 9 + %109 = load i32, i32* %__last_nonopt120, align 4 + %cmp121 = icmp ne i32 %107, %109 + br i1 %cmp121, label %if.then123, label %if.end126 + +if.then123: ; preds = %if.then118 + %110 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt124 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %110, i32 0, i32 8 + %111 = load i32, i32* %__first_nonopt124, align 8 + %112 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind125 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %112, i32 0, i32 0 + store i32 %111, i32* %optind125, align 8 + br label %if.end126 + +if.end126: ; preds = %if.then123, %if.then118 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end127: ; preds = %if.end114 + %113 = load i8**, i8*** %argv.addr, align 8 + %114 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind128 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %114, i32 0, i32 0 + %115 = load i32, i32* %optind128, align 8 + %idxprom129 = sext i32 %115 to i64 + %arrayidx130 = getelementptr inbounds i8*, i8** %113, i64 %idxprom129 + %116 = load i8*, i8** %arrayidx130, align 8 + %arrayidx131 = getelementptr inbounds i8, i8* %116, i64 0 + %117 = load i8, i8* %arrayidx131, align 1 + %conv132 = sext i8 %117 to i32 + %cmp133 = icmp ne i32 %conv132, 45 + br i1 %cmp133, label %if.then143, label %lor.lhs.false135 + +lor.lhs.false135: ; preds = %if.end127 + %118 = load i8**, i8*** %argv.addr, align 8 + %119 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind136 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %119, i32 0, i32 0 + %120 = load i32, i32* %optind136, align 8 + %idxprom137 = sext i32 %120 to i64 + %arrayidx138 = getelementptr inbounds i8*, i8** %118, i64 %idxprom137 + %121 = load i8*, i8** %arrayidx138, align 8 + %arrayidx139 = getelementptr inbounds i8, i8* %121, i64 1 + %122 = load i8, i8* %arrayidx139, align 1 + %conv140 = sext i8 %122 to i32 + %cmp141 = icmp eq i32 %conv140, 0 + br i1 %cmp141, label %if.then143, label %if.end154 + +if.then143: ; preds = %lor.lhs.false135, %if.end127 + %123 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering144 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %123, i32 0, i32 6 + %124 = load i32, i32* %__ordering144, align 8 + %cmp145 = icmp eq i32 %124, 0 + br i1 %cmp145, label %if.then147, label %if.end148 + +if.then147: ; preds = %if.then143 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end148: ; preds = %if.then143 + %125 = load i8**, i8*** %argv.addr, align 8 + %126 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind149 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %126, i32 0, i32 0 + %127 = load i32, i32* %optind149, align 8 + %inc150 = add nsw i32 %127, 1 + store i32 %inc150, i32* %optind149, align 8 + %idxprom151 = sext i32 %127 to i64 + %arrayidx152 = getelementptr inbounds i8*, i8** %125, i64 %idxprom151 + %128 = load i8*, i8** %arrayidx152, align 8 + %129 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg153 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %129, i32 0, i32 3 + store i8* %128, i8** %optarg153, align 8 + store i32 1, i32* %retval, align 4 + br label %return + +if.end154: ; preds = %lor.lhs.false135 + %130 = load i8**, i8*** %argv.addr, align 8 + %131 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind155 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %131, i32 0, i32 0 + %132 = load i32, i32* %optind155, align 8 + %idxprom156 = sext i32 %132 to i64 + %arrayidx157 = getelementptr inbounds i8*, i8** %130, i64 %idxprom156 + %133 = load i8*, i8** %arrayidx157, align 8 + %add.ptr = getelementptr inbounds i8, i8* %133, i64 1 + %134 = load %struct.option*, %struct.option** %longopts.addr, align 8 + %cmp158 = icmp ne %struct.option* %134, null + br i1 %cmp158, label %land.rhs160, label %land.end168 + +land.rhs160: ; preds = %if.end154 + %135 = load i8**, i8*** %argv.addr, align 8 + %136 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind161 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %136, i32 0, i32 0 + %137 = load i32, i32* %optind161, align 8 + %idxprom162 = sext i32 %137 to i64 + %arrayidx163 = getelementptr inbounds i8*, i8** %135, i64 %idxprom162 + %138 = load i8*, i8** %arrayidx163, align 8 + %arrayidx164 = getelementptr inbounds i8, i8* %138, i64 1 + %139 = load i8, i8* %arrayidx164, align 1 + %conv165 = sext i8 %139 to i32 + %cmp166 = icmp eq i32 %conv165, 45 + br label %land.end168 + +land.end168: ; preds = %land.rhs160, %if.end154 + %140 = phi i1 [ false, %if.end154 ], [ %cmp166, %land.rhs160 ] + %land.ext = zext i1 %140 to i32 + %idx.ext = sext i32 %land.ext to i64 + %add.ptr169 = getelementptr inbounds i8, i8* %add.ptr, i64 %idx.ext + %141 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar170 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %141, i32 0, i32 5 + store i8* %add.ptr169, i8** %__nextchar170, align 8 + br label %if.end171 + +if.end171: ; preds = %land.end168, %lor.lhs.false19 + %142 = load %struct.option*, %struct.option** %longopts.addr, align 8 + %cmp172 = icmp ne %struct.option* %142, null + br i1 %cmp172, label %land.lhs.true174, label %if.end418 + +land.lhs.true174: ; preds = %if.end171 + %143 = load i8**, i8*** %argv.addr, align 8 + %144 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind175 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %144, i32 0, i32 0 + %145 = load i32, i32* %optind175, align 8 + %idxprom176 = sext i32 %145 to i64 + %arrayidx177 = getelementptr inbounds i8*, i8** %143, i64 %idxprom176 + %146 = load i8*, i8** %arrayidx177, align 8 + %arrayidx178 = getelementptr inbounds i8, i8* %146, i64 1 + %147 = load i8, i8* %arrayidx178, align 1 + %conv179 = sext i8 %147 to i32 + %cmp180 = icmp eq i32 %conv179, 45 + br i1 %cmp180, label %if.then199, label %lor.lhs.false182 + +lor.lhs.false182: ; preds = %land.lhs.true174 + %148 = load i32, i32* %long_only.addr, align 4 + %tobool183 = icmp ne i32 %148, 0 + br i1 %tobool183, label %land.lhs.true184, label %if.end418 + +land.lhs.true184: ; preds = %lor.lhs.false182 + %149 = load i8**, i8*** %argv.addr, align 8 + %150 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind185 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %150, i32 0, i32 0 + %151 = load i32, i32* %optind185, align 8 + %idxprom186 = sext i32 %151 to i64 + %arrayidx187 = getelementptr inbounds i8*, i8** %149, i64 %idxprom186 + %152 = load i8*, i8** %arrayidx187, align 8 + %arrayidx188 = getelementptr inbounds i8, i8* %152, i64 2 + %153 = load i8, i8* %arrayidx188, align 1 + %conv189 = sext i8 %153 to i32 + %tobool190 = icmp ne i32 %conv189, 0 + br i1 %tobool190, label %if.then199, label %lor.lhs.false191 + +lor.lhs.false191: ; preds = %land.lhs.true184 + %154 = load i8*, i8** %optstring.addr, align 8 + %155 = load i8**, i8*** %argv.addr, align 8 + %156 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind192 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %156, i32 0, i32 0 + %157 = load i32, i32* %optind192, align 8 + %idxprom193 = sext i32 %157 to i64 + %arrayidx194 = getelementptr inbounds i8*, i8** %155, i64 %idxprom193 + %158 = load i8*, i8** %arrayidx194, align 8 + %arrayidx195 = getelementptr inbounds i8, i8* %158, i64 1 + %159 = load i8, i8* %arrayidx195, align 1 + %conv196 = sext i8 %159 to i32 + %call197 = call i8* @strchr(i8* %154, i32 %conv196) #20 + %tobool198 = icmp ne i8* %call197, null + br i1 %tobool198, label %if.end418, label %if.then199 + +if.then199: ; preds = %lor.lhs.false191, %land.lhs.true184, %land.lhs.true174 + store %struct.option* null, %struct.option** %pfound, align 8 + store i32 0, i32* %exact, align 4 + store i32 0, i32* %ambig, align 4 + store i32 -1, i32* %indfound, align 4 + %160 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar200 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %160, i32 0, i32 5 + %161 = load i8*, i8** %__nextchar200, align 8 + store i8* %161, i8** %nameend, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.then199 + %162 = load i8*, i8** %nameend, align 8 + %163 = load i8, i8* %162, align 1 + %conv201 = sext i8 %163 to i32 + %tobool202 = icmp ne i32 %conv201, 0 + br i1 %tobool202, label %land.rhs203, label %for.end + +land.rhs203: ; preds = %for.cond + %164 = load i8*, i8** %nameend, align 8 + %165 = load i8, i8* %164, align 1 + %conv204 = sext i8 %165 to i32 + %cmp205 = icmp ne i32 %conv204, 61 + br i1 %cmp205, label %for.inc, label %for.end + +for.inc: ; preds = %land.rhs203 + %166 = load i8*, i8** %nameend, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %166, i32 1 + store i8* %incdec.ptr, i8** %nameend, align 8 + br label %for.cond + +for.end: ; preds = %for.cond, %land.rhs203 + %167 = load %struct.option*, %struct.option** %longopts.addr, align 8 + store %struct.option* %167, %struct.option** %p, align 8 + store i32 0, i32* %option_index, align 4 + br label %for.cond209 + +for.cond209: ; preds = %for.inc252, %for.end + %168 = load %struct.option*, %struct.option** %p, align 8 + %name = getelementptr inbounds %struct.option, %struct.option* %168, i32 0, i32 0 + %169 = load i8*, i8** %name, align 8 + %tobool210 = icmp ne i8* %169, null + br i1 %tobool210, label %for.body211, label %for.end255 + +for.body211: ; preds = %for.cond209 + %170 = load %struct.option*, %struct.option** %p, align 8 + %name212 = getelementptr inbounds %struct.option, %struct.option* %170, i32 0, i32 0 + %171 = load i8*, i8** %name212, align 8 + %172 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar213 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %172, i32 0, i32 5 + %173 = load i8*, i8** %__nextchar213, align 8 + %174 = load i8*, i8** %nameend, align 8 + %175 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar214 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %175, i32 0, i32 5 + %176 = load i8*, i8** %__nextchar214, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %174 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %176 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %call215 = call i32 @strncmp(i8* %171, i8* %173, i64 %sub.ptr.sub) #20 + %tobool216 = icmp ne i32 %call215, 0 + br i1 %tobool216, label %for.inc252, label %if.then217 + +if.then217: ; preds = %for.body211 + %177 = load i8*, i8** %nameend, align 8 + %178 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar218 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %178, i32 0, i32 5 + %179 = load i8*, i8** %__nextchar218, align 8 + %sub.ptr.lhs.cast219 = ptrtoint i8* %177 to i64 + %sub.ptr.rhs.cast220 = ptrtoint i8* %179 to i64 + %sub.ptr.sub221 = sub i64 %sub.ptr.lhs.cast219, %sub.ptr.rhs.cast220 + %conv222 = trunc i64 %sub.ptr.sub221 to i32 + %180 = load %struct.option*, %struct.option** %p, align 8 + %name223 = getelementptr inbounds %struct.option, %struct.option* %180, i32 0, i32 0 + %181 = load i8*, i8** %name223, align 8 + %call224 = call i64 @strlen(i8* %181) #20 + %conv225 = trunc i64 %call224 to i32 + %cmp226 = icmp eq i32 %conv222, %conv225 + br i1 %cmp226, label %if.then228, label %if.else229 + +if.then228: ; preds = %if.then217 + %182 = load %struct.option*, %struct.option** %p, align 8 + store %struct.option* %182, %struct.option** %pfound, align 8 + %183 = load i32, i32* %option_index, align 4 + store i32 %183, i32* %indfound, align 4 + store i32 1, i32* %exact, align 4 + br label %for.end255 + +if.else229: ; preds = %if.then217 + %184 = load %struct.option*, %struct.option** %pfound, align 8 + %cmp230 = icmp eq %struct.option* %184, null + br i1 %cmp230, label %if.then232, label %if.else233 + +if.then232: ; preds = %if.else229 + %185 = load %struct.option*, %struct.option** %p, align 8 + store %struct.option* %185, %struct.option** %pfound, align 8 + %186 = load i32, i32* %option_index, align 4 + store i32 %186, i32* %indfound, align 4 + br label %for.inc252 + +if.else233: ; preds = %if.else229 + %187 = load i32, i32* %long_only.addr, align 4 + %tobool234 = icmp ne i32 %187, 0 + br i1 %tobool234, label %if.then247, label %lor.lhs.false235 + +lor.lhs.false235: ; preds = %if.else233 + %188 = load %struct.option*, %struct.option** %pfound, align 8 + %has_arg = getelementptr inbounds %struct.option, %struct.option* %188, i32 0, i32 1 + %189 = load i32, i32* %has_arg, align 8 + %190 = load %struct.option*, %struct.option** %p, align 8 + %has_arg236 = getelementptr inbounds %struct.option, %struct.option* %190, i32 0, i32 1 + %191 = load i32, i32* %has_arg236, align 8 + %cmp237 = icmp ne i32 %189, %191 + br i1 %cmp237, label %if.then247, label %lor.lhs.false239 + +lor.lhs.false239: ; preds = %lor.lhs.false235 + %192 = load %struct.option*, %struct.option** %pfound, align 8 + %flag = getelementptr inbounds %struct.option, %struct.option* %192, i32 0, i32 2 + %193 = load i32*, i32** %flag, align 8 + %194 = load %struct.option*, %struct.option** %p, align 8 + %flag240 = getelementptr inbounds %struct.option, %struct.option* %194, i32 0, i32 2 + %195 = load i32*, i32** %flag240, align 8 + %cmp241 = icmp ne i32* %193, %195 + br i1 %cmp241, label %if.then247, label %lor.lhs.false243 + +lor.lhs.false243: ; preds = %lor.lhs.false239 + %196 = load %struct.option*, %struct.option** %pfound, align 8 + %val = getelementptr inbounds %struct.option, %struct.option* %196, i32 0, i32 3 + %197 = load i32, i32* %val, align 8 + %198 = load %struct.option*, %struct.option** %p, align 8 + %val244 = getelementptr inbounds %struct.option, %struct.option* %198, i32 0, i32 3 + %199 = load i32, i32* %val244, align 8 + %cmp245 = icmp ne i32 %197, %199 + br i1 %cmp245, label %if.then247, label %for.inc252 + +if.then247: ; preds = %lor.lhs.false243, %lor.lhs.false239, %lor.lhs.false235, %if.else233 + store i32 1, i32* %ambig, align 4 + br label %for.inc252 + +for.inc252: ; preds = %for.body211, %if.then232, %if.then247, %lor.lhs.false243 + %200 = load %struct.option*, %struct.option** %p, align 8 + %incdec.ptr253 = getelementptr inbounds %struct.option, %struct.option* %200, i32 1 + store %struct.option* %incdec.ptr253, %struct.option** %p, align 8 + %201 = load i32, i32* %option_index, align 4 + %inc254 = add nsw i32 %201, 1 + store i32 %inc254, i32* %option_index, align 4 + br label %for.cond209 + +for.end255: ; preds = %if.then228, %for.cond209 + %202 = load i32, i32* %ambig, align 4 + %tobool256 = icmp eq i32 %202, 0 + %203 = load i32, i32* %exact, align 4 + %tobool258 = icmp ne i32 %203, 0 + %or.cond = or i1 %tobool256, %tobool258 + br i1 %or.cond, label %if.end274, label %if.then259 + +if.then259: ; preds = %for.end255 + %204 = load i32, i32* %print_errors, align 4 + %tobool260 = icmp ne i32 %204, 0 + br i1 %tobool260, label %if.then261, label %if.end267 + +if.then261: ; preds = %if.then259 + %205 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** @stderr, align 8 + %206 = load i8**, i8*** %argv.addr, align 8 + %arrayidx262 = getelementptr inbounds i8*, i8** %206, i64 0 + %207 = load i8*, i8** %arrayidx262, align 8 + %208 = load i8**, i8*** %argv.addr, align 8 + %209 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind263 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %209, i32 0, i32 0 + %210 = load i32, i32* %optind263, align 8 + %idxprom264 = sext i32 %210 to i64 + %arrayidx265 = getelementptr inbounds i8*, i8** %208, i64 %idxprom264 + %211 = load i8*, i8** %arrayidx265, align 8 + %call266 = call i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.570* %205, i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.1.299, i64 0, i64 0), i8* %207, i8* %211) #18 + br label %if.end267 + +if.end267: ; preds = %if.then261, %if.then259 + %212 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar268 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %212, i32 0, i32 5 + %213 = load i8*, i8** %__nextchar268, align 8 + %call269 = call i64 @strlen(i8* %213) #20 + %214 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar270 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %214, i32 0, i32 5 + %215 = load i8*, i8** %__nextchar270, align 8 + %add.ptr271 = getelementptr inbounds i8, i8* %215, i64 %call269 + store i8* %add.ptr271, i8** %__nextchar270, align 8 + %216 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind272 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %216, i32 0, i32 0 + %217 = load i32, i32* %optind272, align 8 + %inc273 = add nsw i32 %217, 1 + store i32 %inc273, i32* %optind272, align 8 + %218 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %218, i32 0, i32 2 + store i32 0, i32* %optopt, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.end274: ; preds = %for.end255 + %219 = load %struct.option*, %struct.option** %pfound, align 8 + %cmp275 = icmp ne %struct.option* %219, null + br i1 %cmp275, label %if.then277, label %if.end372 + +if.then277: ; preds = %if.end274 + %220 = load i32, i32* %indfound, align 4 + store i32 %220, i32* %option_index, align 4 + %221 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind278 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %221, i32 0, i32 0 + %222 = load i32, i32* %optind278, align 8 + %inc279 = add nsw i32 %222, 1 + store i32 %inc279, i32* %optind278, align 8 + %223 = load i8*, i8** %nameend, align 8 + %224 = load i8, i8* %223, align 1 + %tobool280 = icmp ne i8 %224, 0 + %225 = load %struct.option*, %struct.option** %pfound, align 8 + %has_arg282 = getelementptr inbounds %struct.option, %struct.option* %225, i32 0, i32 1 + %226 = load i32, i32* %has_arg282, align 8 + br i1 %tobool280, label %if.then281, label %if.else320 + +if.then281: ; preds = %if.then277 + %tobool283 = icmp ne i32 %226, 0 + br i1 %tobool283, label %if.then284, label %if.else287 + +if.then284: ; preds = %if.then281 + %227 = load i8*, i8** %nameend, align 8 + %add.ptr285 = getelementptr inbounds i8, i8* %227, i64 1 + %228 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg286 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %228, i32 0, i32 3 + store i8* %add.ptr285, i8** %optarg286, align 8 + br label %if.end356 + +if.else287: ; preds = %if.then281 + %229 = load i32, i32* %print_errors, align 4 + %tobool288 = icmp ne i32 %229, 0 + br i1 %tobool288, label %if.then289, label %if.end312 + +if.then289: ; preds = %if.else287 + %230 = load i8**, i8*** %argv.addr, align 8 + %231 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind290 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %231, i32 0, i32 0 + %232 = load i32, i32* %optind290, align 8 + %sub = sub nsw i32 %232, 1 + %idxprom291 = sext i32 %sub to i64 + %arrayidx292 = getelementptr inbounds i8*, i8** %230, i64 %idxprom291 + %233 = load i8*, i8** %arrayidx292, align 8 + %arrayidx293 = getelementptr inbounds i8, i8* %233, i64 1 + %234 = load i8, i8* %arrayidx293, align 1 + %conv294 = sext i8 %234 to i32 + %cmp295 = icmp eq i32 %conv294, 45 + %235 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** @stderr, align 8 + %236 = load i8**, i8*** %argv.addr, align 8 + %arrayidx298 = getelementptr inbounds i8*, i8** %236, i64 0 + %237 = load i8*, i8** %arrayidx298, align 8 + br i1 %cmp295, label %if.then297, label %if.else301 + +if.then297: ; preds = %if.then289 + %238 = load %struct.option*, %struct.option** %pfound, align 8 + %name299 = getelementptr inbounds %struct.option, %struct.option* %238, i32 0, i32 0 + %239 = load i8*, i8** %name299, align 8 + %call300 = call i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.570* %235, i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.2.300, i64 0, i64 0), i8* %237, i8* %239) #18 + br label %if.end312 + +if.else301: ; preds = %if.then289 + %240 = load i8**, i8*** %argv.addr, align 8 + %241 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind303 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %241, i32 0, i32 0 + %242 = load i32, i32* %optind303, align 8 + %sub304 = sub nsw i32 %242, 1 + %idxprom305 = sext i32 %sub304 to i64 + %arrayidx306 = getelementptr inbounds i8*, i8** %240, i64 %idxprom305 + %243 = load i8*, i8** %arrayidx306, align 8 + %arrayidx307 = getelementptr inbounds i8, i8* %243, i64 0 + %244 = load i8, i8* %arrayidx307, align 1 + %conv308 = sext i8 %244 to i32 + %245 = load %struct.option*, %struct.option** %pfound, align 8 + %name309 = getelementptr inbounds %struct.option, %struct.option* %245, i32 0, i32 0 + %246 = load i8*, i8** %name309, align 8 + %call310 = call i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.570* %235, i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.3.301, i64 0, i64 0), i8* %237, i32 %conv308, i8* %246) #18 + br label %if.end312 + +if.end312: ; preds = %if.then297, %if.else301, %if.else287 + %247 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar313 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %247, i32 0, i32 5 + %248 = load i8*, i8** %__nextchar313, align 8 + %call314 = call i64 @strlen(i8* %248) #20 + %249 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar315 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %249, i32 0, i32 5 + %250 = load i8*, i8** %__nextchar315, align 8 + %add.ptr316 = getelementptr inbounds i8, i8* %250, i64 %call314 + store i8* %add.ptr316, i8** %__nextchar315, align 8 + %251 = load %struct.option*, %struct.option** %pfound, align 8 + %val317 = getelementptr inbounds %struct.option, %struct.option* %251, i32 0, i32 3 + %252 = load i32, i32* %val317, align 8 + %253 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt318 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %253, i32 0, i32 2 + store i32 %252, i32* %optopt318, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.else320: ; preds = %if.then277 + %cmp322 = icmp eq i32 %226, 1 + br i1 %cmp322, label %if.then324, label %if.end356 + +if.then324: ; preds = %if.else320 + %254 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind325 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %254, i32 0, i32 0 + %255 = load i32, i32* %optind325, align 8 + %256 = load i32, i32* %argc.addr, align 4 + %cmp326 = icmp slt i32 %255, %256 + br i1 %cmp326, label %if.then328, label %if.else334 + +if.then328: ; preds = %if.then324 + %257 = load i8**, i8*** %argv.addr, align 8 + %258 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind329 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %258, i32 0, i32 0 + %259 = load i32, i32* %optind329, align 8 + %inc330 = add nsw i32 %259, 1 + store i32 %inc330, i32* %optind329, align 8 + %idxprom331 = sext i32 %259 to i64 + %arrayidx332 = getelementptr inbounds i8*, i8** %257, i64 %idxprom331 + %260 = load i8*, i8** %arrayidx332, align 8 + %261 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg333 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %261, i32 0, i32 3 + store i8* %260, i8** %optarg333, align 8 + br label %if.end356 + +if.else334: ; preds = %if.then324 + %262 = load i32, i32* %print_errors, align 4 + %tobool335 = icmp ne i32 %262, 0 + br i1 %tobool335, label %if.then336, label %if.end343 + +if.then336: ; preds = %if.else334 + %263 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** @stderr, align 8 + %264 = load i8**, i8*** %argv.addr, align 8 + %arrayidx337 = getelementptr inbounds i8*, i8** %264, i64 0 + %265 = load i8*, i8** %arrayidx337, align 8 + %266 = load i8**, i8*** %argv.addr, align 8 + %267 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind338 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %267, i32 0, i32 0 + %268 = load i32, i32* %optind338, align 8 + %sub339 = sub nsw i32 %268, 1 + %idxprom340 = sext i32 %sub339 to i64 + %arrayidx341 = getelementptr inbounds i8*, i8** %266, i64 %idxprom340 + %269 = load i8*, i8** %arrayidx341, align 8 + %call342 = call i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.570* %263, i8* getelementptr inbounds ([38 x i8], [38 x i8]* @.str.4.302, i64 0, i64 0), i8* %265, i8* %269) #18 + br label %if.end343 + +if.end343: ; preds = %if.then336, %if.else334 + %270 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar344 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %270, i32 0, i32 5 + %271 = load i8*, i8** %__nextchar344, align 8 + %call345 = call i64 @strlen(i8* %271) #20 + %272 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar346 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %272, i32 0, i32 5 + %273 = load i8*, i8** %__nextchar346, align 8 + %add.ptr347 = getelementptr inbounds i8, i8* %273, i64 %call345 + store i8* %add.ptr347, i8** %__nextchar346, align 8 + %274 = load %struct.option*, %struct.option** %pfound, align 8 + %val348 = getelementptr inbounds %struct.option, %struct.option* %274, i32 0, i32 3 + %275 = load i32, i32* %val348, align 8 + %276 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt349 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %276, i32 0, i32 2 + store i32 %275, i32* %optopt349, align 8 + %277 = load i8*, i8** %optstring.addr, align 8 + %arrayidx350 = getelementptr inbounds i8, i8* %277, i64 0 + %278 = load i8, i8* %arrayidx350, align 1 + %conv351 = sext i8 %278 to i32 + %cmp352 = icmp eq i32 %conv351, 58 + %279 = zext i1 %cmp352 to i64 + %cond = select i1 %cmp352, i32 58, i32 63 + store i32 %cond, i32* %retval, align 4 + br label %return + +if.end356: ; preds = %if.else320, %if.then328, %if.then284 + %280 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar357 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %280, i32 0, i32 5 + %281 = load i8*, i8** %__nextchar357, align 8 + %call358 = call i64 @strlen(i8* %281) #20 + %282 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar359 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %282, i32 0, i32 5 + %283 = load i8*, i8** %__nextchar359, align 8 + %add.ptr360 = getelementptr inbounds i8, i8* %283, i64 %call358 + store i8* %add.ptr360, i8** %__nextchar359, align 8 + %284 = load i32*, i32** %longind.addr, align 8 + %cmp361 = icmp ne i32* %284, null + br i1 %cmp361, label %if.then363, label %if.end364 + +if.then363: ; preds = %if.end356 + %285 = load i32, i32* %option_index, align 4 + %286 = load i32*, i32** %longind.addr, align 8 + store i32 %285, i32* %286, align 4 + br label %if.end364 + +if.end364: ; preds = %if.then363, %if.end356 + %287 = load %struct.option*, %struct.option** %pfound, align 8 + %flag365 = getelementptr inbounds %struct.option, %struct.option* %287, i32 0, i32 2 + %288 = load i32*, i32** %flag365, align 8 + %tobool366 = icmp ne i32* %288, null + %289 = load %struct.option*, %struct.option** %pfound, align 8 + %val368 = getelementptr inbounds %struct.option, %struct.option* %289, i32 0, i32 3 + %290 = load i32, i32* %val368, align 8 + br i1 %tobool366, label %if.then367, label %if.end370 + +if.then367: ; preds = %if.end364 + %291 = load %struct.option*, %struct.option** %pfound, align 8 + %flag369 = getelementptr inbounds %struct.option, %struct.option* %291, i32 0, i32 2 + %292 = load i32*, i32** %flag369, align 8 + store i32 %290, i32* %292, align 4 + store i32 0, i32* %retval, align 4 + br label %return + +if.end370: ; preds = %if.end364 + store i32 %290, i32* %retval, align 4 + br label %return + +if.end372: ; preds = %if.end274 + %293 = load i32, i32* %long_only.addr, align 4 + %tobool373 = icmp ne i32 %293, 0 + br i1 %tobool373, label %lor.lhs.false374, label %if.then388 + +lor.lhs.false374: ; preds = %if.end372 + %294 = load i8**, i8*** %argv.addr, align 8 + %295 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind375 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %295, i32 0, i32 0 + %296 = load i32, i32* %optind375, align 8 + %idxprom376 = sext i32 %296 to i64 + %arrayidx377 = getelementptr inbounds i8*, i8** %294, i64 %idxprom376 + %297 = load i8*, i8** %arrayidx377, align 8 + %arrayidx378 = getelementptr inbounds i8, i8* %297, i64 1 + %298 = load i8, i8* %arrayidx378, align 1 + %conv379 = sext i8 %298 to i32 + %cmp380 = icmp eq i32 %conv379, 45 + br i1 %cmp380, label %if.then388, label %lor.lhs.false382 + +lor.lhs.false382: ; preds = %lor.lhs.false374 + %299 = load i8*, i8** %optstring.addr, align 8 + %300 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar383 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %300, i32 0, i32 5 + %301 = load i8*, i8** %__nextchar383, align 8 + %302 = load i8, i8* %301, align 1 + %conv384 = sext i8 %302 to i32 + %call385 = call i8* @strchr(i8* %299, i32 %conv384) #20 + %cmp386 = icmp eq i8* %call385, null + br i1 %cmp386, label %if.then388, label %if.end418 + +if.then388: ; preds = %lor.lhs.false382, %lor.lhs.false374, %if.end372 + %303 = load i32, i32* %print_errors, align 4 + %tobool389 = icmp ne i32 %303, 0 + br i1 %tobool389, label %if.then390, label %if.end412 + +if.then390: ; preds = %if.then388 + %304 = load i8**, i8*** %argv.addr, align 8 + %305 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind391 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %305, i32 0, i32 0 + %306 = load i32, i32* %optind391, align 8 + %idxprom392 = sext i32 %306 to i64 + %arrayidx393 = getelementptr inbounds i8*, i8** %304, i64 %idxprom392 + %307 = load i8*, i8** %arrayidx393, align 8 + %arrayidx394 = getelementptr inbounds i8, i8* %307, i64 1 + %308 = load i8, i8* %arrayidx394, align 1 + %conv395 = sext i8 %308 to i32 + %cmp396 = icmp eq i32 %conv395, 45 + %309 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** @stderr, align 8 + %310 = load i8**, i8*** %argv.addr, align 8 + %arrayidx399 = getelementptr inbounds i8*, i8** %310, i64 0 + %311 = load i8*, i8** %arrayidx399, align 8 + br i1 %cmp396, label %if.then398, label %if.else402 + +if.then398: ; preds = %if.then390 + %312 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar400 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %312, i32 0, i32 5 + %313 = load i8*, i8** %__nextchar400, align 8 + %call401 = call i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.570* %309, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.5.303, i64 0, i64 0), i8* %311, i8* %313) #18 + br label %if.end412 + +if.else402: ; preds = %if.then390 + %314 = load i8**, i8*** %argv.addr, align 8 + %315 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind404 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %315, i32 0, i32 0 + %316 = load i32, i32* %optind404, align 8 + %idxprom405 = sext i32 %316 to i64 + %arrayidx406 = getelementptr inbounds i8*, i8** %314, i64 %idxprom405 + %317 = load i8*, i8** %arrayidx406, align 8 + %arrayidx407 = getelementptr inbounds i8, i8* %317, i64 0 + %318 = load i8, i8* %arrayidx407, align 1 + %conv408 = sext i8 %318 to i32 + %319 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar409 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %319, i32 0, i32 5 + %320 = load i8*, i8** %__nextchar409, align 8 + %call410 = call i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.570* %309, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.6.304, i64 0, i64 0), i8* %311, i32 %conv408, i8* %320) #18 + br label %if.end412 + +if.end412: ; preds = %if.then398, %if.else402, %if.then388 + %321 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar413 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %321, i32 0, i32 5 + store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.7.305, i64 0, i64 0), i8** %__nextchar413, align 8 + %322 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind414 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %322, i32 0, i32 0 + %323 = load i32, i32* %optind414, align 8 + %inc415 = add nsw i32 %323, 1 + store i32 %inc415, i32* %optind414, align 8 + %324 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt416 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %324, i32 0, i32 2 + store i32 0, i32* %optopt416, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.end418: ; preds = %lor.lhs.false382, %lor.lhs.false191, %lor.lhs.false182, %if.end171 + %325 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar419 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %325, i32 0, i32 5 + %326 = load i8*, i8** %__nextchar419, align 8 + %incdec.ptr420 = getelementptr inbounds i8, i8* %326, i32 1 + store i8* %incdec.ptr420, i8** %__nextchar419, align 8 + %327 = load i8, i8* %326, align 1 + store i8 %327, i8* %c, align 1 + %328 = load i8*, i8** %optstring.addr, align 8 + %329 = load i8, i8* %c, align 1 + %conv421 = sext i8 %329 to i32 + %call422 = call i8* @strchr(i8* %328, i32 %conv421) #20 + store i8* %call422, i8** %temp, align 8 + %330 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar423 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %330, i32 0, i32 5 + %331 = load i8*, i8** %__nextchar423, align 8 + %332 = load i8, i8* %331, align 1 + %conv424 = sext i8 %332 to i32 + %cmp425 = icmp eq i32 %conv424, 0 + br i1 %cmp425, label %if.then427, label %if.end430 + +if.then427: ; preds = %if.end418 + %333 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind428 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %333, i32 0, i32 0 + %334 = load i32, i32* %optind428, align 8 + %inc429 = add nsw i32 %334, 1 + store i32 %inc429, i32* %optind428, align 8 + br label %if.end430 + +if.end430: ; preds = %if.then427, %if.end418 + %335 = load i8*, i8** %temp, align 8 + %cmp431 = icmp eq i8* %335, null + br i1 %cmp431, label %if.then437, label %lor.lhs.false433 + +lor.lhs.false433: ; preds = %if.end430 + %336 = load i8, i8* %c, align 1 + %conv434 = sext i8 %336 to i32 + %cmp435 = icmp eq i32 %conv434, 58 + br i1 %cmp435, label %if.then437, label %if.end453 + +if.then437: ; preds = %lor.lhs.false433, %if.end430 + %337 = load i32, i32* %print_errors, align 4 + %tobool438 = icmp ne i32 %337, 0 + br i1 %tobool438, label %if.then439, label %if.end450 + +if.then439: ; preds = %if.then437 + %338 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__posixly_correct = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %338, i32 0, i32 7 + %339 = load i32, i32* %__posixly_correct, align 4 + %tobool440 = icmp ne i32 %339, 0 + %340 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** @stderr, align 8 + %341 = load i8**, i8*** %argv.addr, align 8 + %arrayidx442 = getelementptr inbounds i8*, i8** %341, i64 0 + %342 = load i8*, i8** %arrayidx442, align 8 + %343 = load i8, i8* %c, align 1 + %conv443 = sext i8 %343 to i32 + br i1 %tobool440, label %if.then441, label %if.else445 + +if.then441: ; preds = %if.then439 + %call444 = call i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.570* %340, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.8.306, i64 0, i64 0), i8* %342, i32 %conv443) #18 + br label %if.end450 + +if.else445: ; preds = %if.then439 + %call448 = call i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.570* %340, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.9.307, i64 0, i64 0), i8* %342, i32 %conv443) #18 + br label %if.end450 + +if.end450: ; preds = %if.then441, %if.else445, %if.then437 + %344 = load i8, i8* %c, align 1 + %conv451 = sext i8 %344 to i32 + %345 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt452 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %345, i32 0, i32 2 + store i32 %conv451, i32* %optopt452, align 8 + store i32 63, i32* %retval, align 4 + br label %return + +if.end453: ; preds = %lor.lhs.false433 + %346 = load i8*, i8** %temp, align 8 + %arrayidx454 = getelementptr inbounds i8, i8* %346, i64 1 + %347 = load i8, i8* %arrayidx454, align 1 + %conv455 = sext i8 %347 to i32 + %cmp456 = icmp eq i32 %conv455, 58 + br i1 %cmp456, label %if.then458, label %if.end517 + +if.then458: ; preds = %if.end453 + %348 = load i8*, i8** %temp, align 8 + %arrayidx459 = getelementptr inbounds i8, i8* %348, i64 2 + %349 = load i8, i8* %arrayidx459, align 1 + %conv460 = sext i8 %349 to i32 + %cmp461 = icmp eq i32 %conv460, 58 + %350 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar464 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %350, i32 0, i32 5 + %351 = load i8*, i8** %__nextchar464, align 8 + %352 = load i8, i8* %351, align 1 + %conv465 = sext i8 %352 to i32 + %cmp466 = icmp ne i32 %conv465, 0 + %353 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + br i1 %cmp461, label %if.then463, label %if.else477 + +if.then463: ; preds = %if.then458 + br i1 %cmp466, label %if.then468, label %if.else473 + +if.then468: ; preds = %if.then463 + %__nextchar469 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 5 + %354 = load i8*, i8** %__nextchar469, align 8 + %355 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg470 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %355, i32 0, i32 3 + store i8* %354, i8** %optarg470, align 8 + %356 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind471 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %356, i32 0, i32 0 + %357 = load i32, i32* %optind471, align 8 + %inc472 = add nsw i32 %357, 1 + store i32 %inc472, i32* %optind471, align 8 + br label %if.end475 + +if.else473: ; preds = %if.then463 + %optarg474 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 3 + store i8* null, i8** %optarg474, align 8 + br label %if.end475 + +if.end475: ; preds = %if.else473, %if.then468 + %358 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar476 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %358, i32 0, i32 5 + store i8* null, i8** %__nextchar476, align 8 + br label %if.end517 + +if.else477: ; preds = %if.then458 + br i1 %cmp466, label %if.then482, label %if.else487 + +if.then482: ; preds = %if.else477 + %__nextchar483 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 5 + %359 = load i8*, i8** %__nextchar483, align 8 + %360 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg484 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %360, i32 0, i32 3 + store i8* %359, i8** %optarg484, align 8 + %361 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind485 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %361, i32 0, i32 0 + %362 = load i32, i32* %optind485, align 8 + %inc486 = add nsw i32 %362, 1 + store i32 %inc486, i32* %optind485, align 8 + br label %if.end514 + +if.else487: ; preds = %if.else477 + %optind488 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %353, i32 0, i32 0 + %363 = load i32, i32* %optind488, align 8 + %364 = load i32, i32* %argc.addr, align 4 + %cmp489 = icmp eq i32 %363, %364 + br i1 %cmp489, label %if.then491, label %if.else507 + +if.then491: ; preds = %if.else487 + %365 = load i32, i32* %print_errors, align 4 + %tobool492 = icmp ne i32 %365, 0 + br i1 %tobool492, label %if.then493, label %if.end497 + +if.then493: ; preds = %if.then491 + %366 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** @stderr, align 8 + %367 = load i8**, i8*** %argv.addr, align 8 + %arrayidx494 = getelementptr inbounds i8*, i8** %367, i64 0 + %368 = load i8*, i8** %arrayidx494, align 8 + %369 = load i8, i8* %c, align 1 + %conv495 = sext i8 %369 to i32 + %call496 = call i32 (%struct.__STDIO_FILE_STRUCT.570*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.570* %366, i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.10.308, i64 0, i64 0), i8* %368, i32 %conv495) #18 + br label %if.end497 + +if.end497: ; preds = %if.then493, %if.then491 + %370 = load i8, i8* %c, align 1 + %conv498 = sext i8 %370 to i32 + %371 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optopt499 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %371, i32 0, i32 2 + store i32 %conv498, i32* %optopt499, align 8 + %372 = load i8*, i8** %optstring.addr, align 8 + %arrayidx500 = getelementptr inbounds i8, i8* %372, i64 0 + %373 = load i8, i8* %arrayidx500, align 1 + %conv501 = sext i8 %373 to i32 + %cmp502 = icmp eq i32 %conv501, 58 + br i1 %cmp502, label %if.then504, label %if.else505 + +if.then504: ; preds = %if.end497 + store i8 58, i8* %c, align 1 + br label %if.end514 + +if.else505: ; preds = %if.end497 + store i8 63, i8* %c, align 1 + br label %if.end514 + +if.else507: ; preds = %if.else487 + %374 = load i8**, i8*** %argv.addr, align 8 + %375 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind508 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %375, i32 0, i32 0 + %376 = load i32, i32* %optind508, align 8 + %inc509 = add nsw i32 %376, 1 + store i32 %inc509, i32* %optind508, align 8 + %idxprom510 = sext i32 %376 to i64 + %arrayidx511 = getelementptr inbounds i8*, i8** %374, i64 %idxprom510 + %377 = load i8*, i8** %arrayidx511, align 8 + %378 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optarg512 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %378, i32 0, i32 3 + store i8* %377, i8** %optarg512, align 8 + br label %if.end514 + +if.end514: ; preds = %if.else507, %if.else505, %if.then504, %if.then482 + %379 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar515 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %379, i32 0, i32 5 + store i8* null, i8** %__nextchar515, align 8 + br label %if.end517 + +if.end517: ; preds = %if.end475, %if.end514, %if.end453 + %380 = load i8, i8* %c, align 1 + %conv518 = sext i8 %380 to i32 + store i32 %conv518, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end517, %if.end450, %if.end412, %if.end370, %if.then367, %if.end343, %if.end312, %if.end267, %if.end148, %if.then147, %if.end126, %if.then4 + %381 = load i32, i32* %retval, align 4 + ret i32 %381 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @_getopt_initialize(i32 %argc, i8** %argv, i8* %optstring, %struct._getopt_data* %d) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + %d.addr = alloca %struct._getopt_data*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + store %struct._getopt_data* %d, %struct._getopt_data** %d.addr, align 8 + %0 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %0, i32 0, i32 0 + %1 = load i32, i32* %optind, align 8 + %2 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %2, i32 0, i32 9 + store i32 %1, i32* %__last_nonopt, align 4 + %3 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %3, i32 0, i32 8 + store i32 %1, i32* %__first_nonopt, align 8 + %4 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__nextchar = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %4, i32 0, i32 5 + store i8* null, i8** %__nextchar, align 8 + %call = call i8* @getenv(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.11.309, i64 0, i64 0)) #19 + %tobool = icmp ne i8* %call, null + %lnot = xor i1 %tobool, true + %lnot1 = xor i1 %lnot, true + %lnot.ext = zext i1 %lnot1 to i32 + %5 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__posixly_correct = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %5, i32 0, i32 7 + store i32 %lnot.ext, i32* %__posixly_correct, align 4 + %6 = load i8*, i8** %optstring.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %6, i64 0 + %7 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %7 to i32 + %cmp = icmp eq i32 %conv, 45 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %8 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %8, i32 0, i32 6 + store i32 2, i32* %__ordering, align 8 + %9 = load i8*, i8** %optstring.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %optstring.addr, align 8 + br label %if.end18 + +if.else: ; preds = %entry + %10 = load i8*, i8** %optstring.addr, align 8 + %arrayidx3 = getelementptr inbounds i8, i8* %10, i64 0 + %11 = load i8, i8* %arrayidx3, align 1 + %conv4 = sext i8 %11 to i32 + %cmp5 = icmp eq i32 %conv4, 43 + %12 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + br i1 %cmp5, label %if.then7, label %if.else10 + +if.then7: ; preds = %if.else + %__ordering8 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %12, i32 0, i32 6 + store i32 0, i32* %__ordering8, align 8 + %13 = load i8*, i8** %optstring.addr, align 8 + %incdec.ptr9 = getelementptr inbounds i8, i8* %13, i32 1 + store i8* %incdec.ptr9, i8** %optstring.addr, align 8 + br label %if.end18 + +if.else10: ; preds = %if.else + %__posixly_correct11 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %12, i32 0, i32 7 + %14 = load i32, i32* %__posixly_correct11, align 4 + %tobool12 = icmp ne i32 %14, 0 + %15 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__ordering14 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %15, i32 0, i32 6 + br i1 %tobool12, label %if.then13, label %if.else15 + +if.then13: ; preds = %if.else10 + store i32 0, i32* %__ordering14, align 8 + br label %if.end18 + +if.else15: ; preds = %if.else10 + store i32 1, i32* %__ordering14, align 8 + br label %if.end18 + +if.end18: ; preds = %if.then7, %if.else15, %if.then13, %if.then + %16 = load i8*, i8** %optstring.addr, align 8 + ret i8* %16 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @exchange(i8** %argv, %struct._getopt_data* %d) #0 { +entry: + %argv.addr = alloca i8**, align 8 + %d.addr = alloca %struct._getopt_data*, align 8 + %bottom = alloca i32, align 4 + %middle = alloca i32, align 4 + %top = alloca i32, align 4 + %tem = alloca i8*, align 8 + %len = alloca i32, align 4 + %i = alloca i32, align 4 + %len20 = alloca i32, align 4 + %i22 = alloca i32, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store %struct._getopt_data* %d, %struct._getopt_data** %d.addr, align 8 + %0 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %0, i32 0, i32 8 + %1 = load i32, i32* %__first_nonopt, align 8 + store i32 %1, i32* %bottom, align 4 + %2 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %2, i32 0, i32 9 + %3 = load i32, i32* %__last_nonopt, align 4 + store i32 %3, i32* %middle, align 4 + %4 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %4, i32 0, i32 0 + %5 = load i32, i32* %optind, align 8 + store i32 %5, i32* %top, align 4 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %6 = load i32, i32* %top, align 4 + %7 = load i32, i32* %middle, align 4 + %cmp = icmp sgt i32 %6, %7 + %8 = load i32, i32* %middle, align 4 + %9 = load i32, i32* %bottom, align 4 + %cmp1 = icmp sgt i32 %8, %9 + %10 = select i1 %cmp, i1 %cmp1, i1 false + br i1 %10, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %11 = load i32, i32* %top, align 4 + %12 = load i32, i32* %middle, align 4 + %sub = sub nsw i32 %11, %12 + %13 = load i32, i32* %middle, align 4 + %14 = load i32, i32* %bottom, align 4 + %sub2 = sub nsw i32 %13, %14 + %cmp3 = icmp sgt i32 %sub, %sub2 + br i1 %cmp3, label %if.then, label %if.else + +if.then: ; preds = %while.body + %15 = load i32, i32* %middle, align 4 + %16 = load i32, i32* %bottom, align 4 + %sub4 = sub nsw i32 %15, %16 + store i32 %sub4, i32* %len, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.then + %17 = load i32, i32* %i, align 4 + %18 = load i32, i32* %len, align 4 + %cmp5 = icmp slt i32 %17, %18 + br i1 %cmp5, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %19 = load i8**, i8*** %argv.addr, align 8 + %20 = load i32, i32* %bottom, align 4 + %21 = load i32, i32* %i, align 4 + %add = add nsw i32 %20, %21 + %idxprom = sext i32 %add to i64 + %arrayidx = getelementptr inbounds i8*, i8** %19, i64 %idxprom + %22 = load i8*, i8** %arrayidx, align 8 + store i8* %22, i8** %tem, align 8 + %23 = load i8**, i8*** %argv.addr, align 8 + %24 = load i32, i32* %top, align 4 + %25 = load i32, i32* %middle, align 4 + %26 = load i32, i32* %bottom, align 4 + %sub6 = sub nsw i32 %25, %26 + %sub7 = sub nsw i32 %24, %sub6 + %27 = load i32, i32* %i, align 4 + %add8 = add nsw i32 %sub7, %27 + %idxprom9 = sext i32 %add8 to i64 + %arrayidx10 = getelementptr inbounds i8*, i8** %23, i64 %idxprom9 + %28 = load i8*, i8** %arrayidx10, align 8 + %29 = load i8**, i8*** %argv.addr, align 8 + %30 = load i32, i32* %bottom, align 4 + %31 = load i32, i32* %i, align 4 + %add11 = add nsw i32 %30, %31 + %idxprom12 = sext i32 %add11 to i64 + %arrayidx13 = getelementptr inbounds i8*, i8** %29, i64 %idxprom12 + store i8* %28, i8** %arrayidx13, align 8 + %32 = load i8*, i8** %tem, align 8 + %33 = load i8**, i8*** %argv.addr, align 8 + %34 = load i32, i32* %top, align 4 + %35 = load i32, i32* %middle, align 4 + %36 = load i32, i32* %bottom, align 4 + %sub14 = sub nsw i32 %35, %36 + %sub15 = sub nsw i32 %34, %sub14 + %37 = load i32, i32* %i, align 4 + %add16 = add nsw i32 %sub15, %37 + %idxprom17 = sext i32 %add16 to i64 + %arrayidx18 = getelementptr inbounds i8*, i8** %33, i64 %idxprom17 + store i8* %32, i8** %arrayidx18, align 8 + %38 = load i32, i32* %i, align 4 + %inc = add nsw i32 %38, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %39 = load i32, i32* %len, align 4 + %40 = load i32, i32* %top, align 4 + %sub19 = sub nsw i32 %40, %39 + store i32 %sub19, i32* %top, align 4 + br label %if.end + +if.else: ; preds = %while.body + %41 = load i32, i32* %top, align 4 + %42 = load i32, i32* %middle, align 4 + %sub21 = sub nsw i32 %41, %42 + store i32 %sub21, i32* %len20, align 4 + store i32 0, i32* %i22, align 4 + br label %for.cond23 + +for.cond23: ; preds = %for.body25, %if.else + %43 = load i32, i32* %i22, align 4 + %44 = load i32, i32* %len20, align 4 + %cmp24 = icmp slt i32 %43, %44 + br i1 %cmp24, label %for.body25, label %for.end40 + +for.body25: ; preds = %for.cond23 + %45 = load i8**, i8*** %argv.addr, align 8 + %46 = load i32, i32* %bottom, align 4 + %47 = load i32, i32* %i22, align 4 + %add26 = add nsw i32 %46, %47 + %idxprom27 = sext i32 %add26 to i64 + %arrayidx28 = getelementptr inbounds i8*, i8** %45, i64 %idxprom27 + %48 = load i8*, i8** %arrayidx28, align 8 + store i8* %48, i8** %tem, align 8 + %49 = load i8**, i8*** %argv.addr, align 8 + %50 = load i32, i32* %middle, align 4 + %51 = load i32, i32* %i22, align 4 + %add29 = add nsw i32 %50, %51 + %idxprom30 = sext i32 %add29 to i64 + %arrayidx31 = getelementptr inbounds i8*, i8** %49, i64 %idxprom30 + %52 = load i8*, i8** %arrayidx31, align 8 + %53 = load i8**, i8*** %argv.addr, align 8 + %54 = load i32, i32* %bottom, align 4 + %55 = load i32, i32* %i22, align 4 + %add32 = add nsw i32 %54, %55 + %idxprom33 = sext i32 %add32 to i64 + %arrayidx34 = getelementptr inbounds i8*, i8** %53, i64 %idxprom33 + store i8* %52, i8** %arrayidx34, align 8 + %56 = load i8*, i8** %tem, align 8 + %57 = load i8**, i8*** %argv.addr, align 8 + %58 = load i32, i32* %middle, align 4 + %59 = load i32, i32* %i22, align 4 + %add35 = add nsw i32 %58, %59 + %idxprom36 = sext i32 %add35 to i64 + %arrayidx37 = getelementptr inbounds i8*, i8** %57, i64 %idxprom36 + store i8* %56, i8** %arrayidx37, align 8 + %60 = load i32, i32* %i22, align 4 + %inc39 = add nsw i32 %60, 1 + store i32 %inc39, i32* %i22, align 4 + br label %for.cond23 + +for.end40: ; preds = %for.cond23 + %61 = load i32, i32* %len20, align 4 + %62 = load i32, i32* %bottom, align 4 + %add41 = add nsw i32 %62, %61 + store i32 %add41, i32* %bottom, align 4 + br label %if.end + +if.end: ; preds = %for.end40, %for.end + br label %while.cond + +while.end: ; preds = %while.cond + %63 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind42 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %63, i32 0, i32 0 + %64 = load i32, i32* %optind42, align 8 + %65 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt43 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %65, i32 0, i32 9 + %66 = load i32, i32* %__last_nonopt43, align 4 + %sub44 = sub nsw i32 %64, %66 + %67 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__first_nonopt45 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %67, i32 0, i32 8 + %68 = load i32, i32* %__first_nonopt45, align 8 + %add46 = add nsw i32 %68, %sub44 + store i32 %add46, i32* %__first_nonopt45, align 8 + %69 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %optind47 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %69, i32 0, i32 0 + %70 = load i32, i32* %optind47, align 8 + %71 = load %struct._getopt_data*, %struct._getopt_data** %d.addr, align 8 + %__last_nonopt48 = getelementptr inbounds %struct._getopt_data, %struct._getopt_data* %71, i32 0, i32 9 + store i32 %70, i32* %__last_nonopt48, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getopt(i32 %argc, i8** %argv, i8* %optstring) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %optstring.addr = alloca i8*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %optstring, i8** %optstring.addr, align 8 + %0 = load i32, i32* %argc.addr, align 4 + %1 = load i8**, i8*** %argv.addr, align 8 + %2 = load i8*, i8** %optstring.addr, align 8 + %call = call i32 @_getopt_internal(i32 %0, i8** %1, i8* %2, %struct.option* null, i32* null, i32 0) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getopt_long(i32 %argc, i8** %argv, i8* %options, %struct.option* %long_options, i32* %opt_index) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %options.addr = alloca i8*, align 8 + %long_options.addr = alloca %struct.option*, align 8 + %opt_index.addr = alloca i32*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %options, i8** %options.addr, align 8 + store %struct.option* %long_options, %struct.option** %long_options.addr, align 8 + store i32* %opt_index, i32** %opt_index.addr, align 8 + %0 = load i32, i32* %argc.addr, align 4 + %1 = load i8**, i8*** %argv.addr, align 8 + %2 = load i8*, i8** %options.addr, align 8 + %3 = load %struct.option*, %struct.option** %long_options.addr, align 8 + %4 = load i32*, i32** %opt_index.addr, align 8 + %call = call i32 @_getopt_internal(i32 %0, i8** %1, i8* %2, %struct.option* %3, i32* %4, i32 0) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getopt_long_only(i32 %argc, i8** %argv, i8* %options, %struct.option* %long_options, i32* %opt_index) #0 { +entry: + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %options.addr = alloca i8*, align 8 + %long_options.addr = alloca %struct.option*, align 8 + %opt_index.addr = alloca i32*, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %options, i8** %options.addr, align 8 + store %struct.option* %long_options, %struct.option** %long_options.addr, align 8 + store i32* %opt_index, i32** %opt_index.addr, align 8 + %0 = load i32, i32* %argc.addr, align 4 + %1 = load i8**, i8*** %argv.addr, align 8 + %2 = load i8*, i8** %options.addr, align 8 + %3 = load %struct.option*, %struct.option** %long_options.addr, align 8 + %4 = load i32*, i32** %opt_index.addr, align 8 + %call = call i32 @_getopt_internal(i32 %0, i8** %1, i8* %2, %struct.option* %3, i32* %4, i32 1) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i64 @pathconf(i8* nonnull %path, i32 %name) #0 { +entry: + %retval = alloca i64, align 8 + %path.addr = alloca i8*, align 8 + %name.addr = alloca i32, align 4 + %buf = alloca %struct.statfs.908, align 8 + %save_errno = alloca i32, align 4 + %st = alloca %struct.stat.194, align 8 + store i8* %path, i8** %path.addr, align 8 + store i32 %name, i32* %name.addr, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %0, i64 0 + %1 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 2, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %2 = load i32, i32* %name.addr, align 4 + br label %NodeBlock37 + +NodeBlock37: ; preds = %if.end + %case.cmp38 = icmp eq i32 %2, 0 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %2, 1 + br i1 %case.cmp36, label %sw.bb2, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %2, 2 + br i1 %case.cmp34, label %sw.bb3, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %2, 3 + br i1 %case.cmp32, label %sw.bb4, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %2, 4 + br i1 %case.cmp30, label %sw.bb12, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %2, 5 + br i1 %case.cmp28, label %sw.bb13, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %2, 6 + br i1 %case.cmp26, label %sw.bb14, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %2, 7 + br i1 %case.cmp24, label %sw.bb15, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %2, 8 + br i1 %case.cmp22, label %sw.bb16, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %2, 9 + br i1 %case.cmp20, label %sw.bb17, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %2, 10 + br i1 %case.cmp18, label %sw.bb18, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %2, 11 + br i1 %case.cmp16, label %sw.bb30, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %2, 12 + br i1 %case.cmp14, label %sw.bb31, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %2, 13 + br i1 %case.cmp12, label %sw.bb32, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %2, 14 + br i1 %case.cmp10, label %sw.bb33, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %2, 15 + br i1 %case.cmp8, label %sw.bb33, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %2, 16 + br i1 %case.cmp6, label %sw.bb33, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %2, 17 + br i1 %case.cmp4, label %sw.bb33, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %2, 18 + br i1 %case.cmp2, label %sw.bb33, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %2, 19 + br i1 %case.cmp, label %sw.bb33, label %newDefault + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i32 22, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +sw.bb: ; preds = %NodeBlock37 + store i64 127, i64* %retval, align 8 + br label %return + +sw.bb2: ; preds = %NodeBlock35 + store i64 255, i64* %retval, align 8 + br label %return + +sw.bb3: ; preds = %NodeBlock33 + store i64 255, i64* %retval, align 8 + br label %return + +sw.bb4: ; preds = %NodeBlock31 + %3 = load i32, i32* @errno, align 4 + store i32 %3, i32* %save_errno, align 4 + %4 = load i8*, i8** %path.addr, align 8 + %call = call i32 bitcast (i32 (i8*, %struct.statfs*)* @statfs to i32 (i8*, %struct.statfs.908*)*)(i8* %4, %struct.statfs.908* %buf) #19 + %cmp5 = icmp slt i32 %call, 0 + br i1 %cmp5, label %if.then7, label %if.else + +if.then7: ; preds = %sw.bb4 + %5 = load i32, i32* @errno, align 4 + %cmp8 = icmp eq i32 %5, 38 + br i1 %cmp8, label %if.then10, label %if.end11 + +if.then10: ; preds = %if.then7 + %6 = load i32, i32* %save_errno, align 4 + store i32 %6, i32* @errno, align 4 + store i64 255, i64* %retval, align 8 + br label %return + +if.end11: ; preds = %if.then7 + store i64 -1, i64* %retval, align 8 + br label %return + +if.else: ; preds = %sw.bb4 + %f_namelen = getelementptr inbounds %struct.statfs.908, %struct.statfs.908* %buf, i32 0, i32 8 + %7 = load i64, i64* %f_namelen, align 8 + store i64 %7, i64* %retval, align 8 + br label %return + +sw.bb12: ; preds = %NodeBlock29 + store i64 4096, i64* %retval, align 8 + br label %return + +sw.bb13: ; preds = %NodeBlock27 + store i64 4096, i64* %retval, align 8 + br label %return + +sw.bb14: ; preds = %NodeBlock25 + store i64 1, i64* %retval, align 8 + br label %return + +sw.bb15: ; preds = %NodeBlock23 + store i64 1, i64* %retval, align 8 + br label %return + +sw.bb16: ; preds = %NodeBlock21 + store i64 0, i64* %retval, align 8 + br label %return + +sw.bb17: ; preds = %NodeBlock19 + store i64 -1, i64* %retval, align 8 + br label %return + +sw.bb18: ; preds = %NodeBlock17 + %8 = load i8*, i8** %path.addr, align 8 + %call19 = call i32 bitcast (i32 (i8*, %struct.stat64*)* @stat to i32 (i8*, %struct.stat.194*)*)(i8* %8, %struct.stat.194* %st) #19 + %cmp20 = icmp slt i32 %call19, 0 + br i1 %cmp20, label %if.then28, label %lor.lhs.false + +lor.lhs.false: ; preds = %sw.bb18 + %st_mode = getelementptr inbounds %struct.stat.194, %struct.stat.194* %st, i32 0, i32 3 + %9 = load i32, i32* %st_mode, align 8 + %and = and i32 %9, 61440 + %cmp22 = icmp eq i32 %and, 32768 + br i1 %cmp22, label %if.else29, label %land.lhs.true + +land.lhs.true: ; preds = %lor.lhs.false + %st_mode24 = getelementptr inbounds %struct.stat.194, %struct.stat.194* %st, i32 0, i32 3 + %10 = load i32, i32* %st_mode24, align 8 + %and25 = and i32 %10, 61440 + %cmp26 = icmp eq i32 %and25, 24576 + br i1 %cmp26, label %if.else29, label %if.then28 + +if.then28: ; preds = %land.lhs.true, %sw.bb18 + store i64 -1, i64* %retval, align 8 + br label %return + +if.else29: ; preds = %land.lhs.true, %lor.lhs.false + store i64 1, i64* %retval, align 8 + br label %return + +sw.bb30: ; preds = %NodeBlock15 + store i64 -1, i64* %retval, align 8 + br label %return + +sw.bb31: ; preds = %NodeBlock13 + store i64 -1, i64* %retval, align 8 + br label %return + +sw.bb32: ; preds = %NodeBlock11 + store i64 32, i64* %retval, align 8 + br label %return + +sw.bb33: ; preds = %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i64 -1, i64* %retval, align 8 + br label %return + +return: ; preds = %sw.bb33, %sw.bb32, %sw.bb31, %sw.bb30, %if.else29, %if.then28, %sw.bb17, %sw.bb16, %sw.bb15, %sw.bb14, %sw.bb13, %sw.bb12, %if.else, %if.end11, %if.then10, %sw.bb3, %sw.bb2, %sw.bb, %sw.default, %if.then + %11 = load i64, i64* %retval, align 8 + ret i64 %11 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.__uclibc_locale_struct.203* @newlocale(i32 %category_mask, i8* %locale, %struct.__uclibc_locale_struct.203* %base) #0 { +entry: + %retval = alloca %struct.__uclibc_locale_struct.203*, align 8 + %category_mask.addr = alloca i32, align 4 + %locale.addr = alloca i8*, align 8 + %base.addr = alloca %struct.__uclibc_locale_struct.203*, align 8 + %p = alloca i8*, align 8 + %i = alloca i32, align 4 + %j = alloca i32, align 4 + %k = alloca i32, align 4 + %new_selector = alloca [14 x i8], align 1 + store i32 %category_mask, i32* %category_mask.addr, align 4 + store i8* %locale, i8** %locale.addr, align 8 + store %struct.__uclibc_locale_struct.203* %base, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %0 = load i32, i32* %category_mask.addr, align 4 + %cmp = icmp eq i32 %0, 64 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 8127, i32* %category_mask.addr, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i8*, i8** %locale.addr, align 8 + %tobool = icmp eq i8* %1, null + %2 = load i32, i32* %category_mask.addr, align 4 + %cmp1 = icmp ugt i32 %2, 8127 + %or.cond = or i1 %tobool, %cmp1 + br i1 %or.cond, label %INVALID, label %if.end3 + +INVALID: ; preds = %if.else, %do.end, %if.end + store i32 22, i32* @errno, align 4 + store %struct.__uclibc_locale_struct.203* null, %struct.__uclibc_locale_struct.203** %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %3 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %tobool4 = icmp ne %struct.__uclibc_locale_struct.203* %3, null + %4 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %4, i32 0, i32 6 + %arraydecay5 = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + %cond = select i1 %tobool4, i8* %arraydecay5, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.316, i64 0, i64 0) + %call = call i8* @strcpy(i8* %arraydecay, i8* %cond) #19 + %5 = load i8*, i8** %locale.addr, align 8 + %6 = load i8, i8* %5, align 1 + %tobool6 = icmp ne i8 %6, 0 + br i1 %tobool6, label %if.else, label %if.then7 + +if.then7: ; preds = %if.end3 + store i32 1, i32* %i, align 4 + store i32 0, i32* %k, align 4 + br label %do.body + +do.body: ; preds = %if.end25, %if.then7 + %7 = load i32, i32* %category_mask.addr, align 4 + %8 = load i32, i32* %i, align 4 + %and = and i32 %7, %8 + %tobool8 = icmp ne i32 %and, 0 + br i1 %tobool8, label %if.then9, label %if.end25 + +if.then9: ; preds = %do.body + %9 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %lc_names = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %9, i32 0, i32 34 + %arraydecay10 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names, i64 0, i64 0 + %10 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %lc_names11 = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %10, i32 0, i32 34 + %11 = load i32, i32* %k, align 4 + %idxprom = sext i32 %11 to i64 + %arrayidx = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names11, i64 0, i64 %idxprom + %12 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %12 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay10, i64 %idx.ext + store i8* %add.ptr, i8** getelementptr inbounds ([4 x i8*], [4 x i8*]* @newlocale.envstr, i64 0, i64 1), align 8 + store i32 0, i32* %j, align 4 + br label %do.body12 + +do.body12: ; preds = %land.rhs, %lor.rhs, %if.then9 + %13 = load i32, i32* %j, align 4 + %idxprom13 = sext i32 %13 to i64 + %arrayidx14 = getelementptr inbounds [4 x i8*], [4 x i8*]* @newlocale.envstr, i64 0, i64 %idxprom13 + %14 = load i8*, i8** %arrayidx14, align 8 + store i8* %14, i8** %p, align 8 + %15 = load i32, i32* %j, align 4 + %inc = add nsw i32 %15, 1 + store i32 %inc, i32* %j, align 4 + %cmp15 = icmp slt i32 %inc, 4 + br i1 %cmp15, label %land.rhs, label %do.end + +land.rhs: ; preds = %do.body12 + %16 = load i8*, i8** %p, align 8 + %call17 = call i8* @getenv(i8* %16) #19 + store i8* %call17, i8** %p, align 8 + %tobool18 = icmp ne i8* %call17, null + br i1 %tobool18, label %lor.rhs, label %do.body12 + +lor.rhs: ; preds = %land.rhs + %17 = load i8*, i8** %p, align 8 + %18 = load i8, i8* %17, align 1 + %tobool19 = icmp ne i8 %18, 0 + %lnot = xor i1 %tobool19, true + br i1 %lnot, label %do.body12, label %do.end + +do.end: ; preds = %do.body12, %lor.rhs + %19 = load i32, i32* %i, align 4 + %20 = load i8*, i8** %p, align 8 + %arraydecay20 = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %call21 = call i32 @find_locale(i32 %19, i8* %20, i8* %arraydecay20) #18 + %tobool22 = icmp ne i32 %call21, 0 + br i1 %tobool22, label %if.end25, label %INVALID + +if.end25: ; preds = %do.end, %do.body + %21 = load i32, i32* %i, align 4 + %22 = load i32, i32* %i, align 4 + %add = add nsw i32 %22, %21 + store i32 %add, i32* %i, align 4 + %23 = load i32, i32* %k, align 4 + %inc27 = add nsw i32 %23, 1 + store i32 %inc27, i32* %k, align 4 + %cmp28 = icmp slt i32 %inc27, 6 + br i1 %cmp28, label %do.body, label %if.end36 + +if.else: ; preds = %if.end3 + %24 = load i32, i32* %category_mask.addr, align 4 + %25 = load i8*, i8** %locale.addr, align 8 + %arraydecay31 = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %call32 = call i8* @composite_locale(i32 %24, i8* %25, i8* %arraydecay31) #18 + %tobool33 = icmp ne i8* %call32, null + br i1 %tobool33, label %if.end36, label %INVALID + +if.end36: ; preds = %if.else, %if.end25 + %26 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %tobool37 = icmp ne %struct.__uclibc_locale_struct.203* %26, null + br i1 %tobool37, label %if.end44, label %if.then38 + +if.then38: ; preds = %if.end36 + %call39 = call noalias i8* @calloc(i64 1, i64 3320) #19 + %27 = bitcast i8* %call39 to %struct.__uclibc_locale_struct.203* + store %struct.__uclibc_locale_struct.203* %27, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %cmp40 = icmp eq %struct.__uclibc_locale_struct.203* %27, null + %28 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + br i1 %cmp40, label %if.then42, label %if.end43 + +if.then42: ; preds = %if.then38 + store %struct.__uclibc_locale_struct.203* %28, %struct.__uclibc_locale_struct.203** %retval, align 8 + br label %return + +if.end43: ; preds = %if.then38 + call void @_locale_init_l(%struct.__uclibc_locale_struct.203* %28) #18 + br label %if.end44 + +if.end44: ; preds = %if.end43, %if.end36 + %arraydecay45 = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %29 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + %call46 = call i32 @_locale_set_l(i8* %arraydecay45, %struct.__uclibc_locale_struct.203* %29) #18 + %30 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %base.addr, align 8 + store %struct.__uclibc_locale_struct.203* %30, %struct.__uclibc_locale_struct.203** %retval, align 8 + br label %return + +return: ; preds = %if.end44, %if.then42, %INVALID + %31 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %retval, align 8 + ret %struct.__uclibc_locale_struct.203* %31 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @find_locale(i32 %category_mask, i8* %p, i8* %new_locale) #0 { +entry: + %retval = alloca i32, align 4 + %category_mask.addr = alloca i32, align 4 + %p.addr = alloca i8*, align 8 + %new_locale.addr = alloca i8*, align 8 + %i = alloca i32, align 4 + %s = alloca i8*, align 8 + %n = alloca i16, align 2 + %lang_cult = alloca i8, align 1 + %codeset = alloca i8, align 1 + %buf = alloca [18 x i8], align 16 + %q = alloca i8*, align 8 + store i32 %category_mask, i32* %category_mask.addr, align 4 + store i8* %p, i8** %p.addr, align 8 + store i8* %new_locale, i8** %new_locale.addr, align 8 + %0 = load i8*, i8** %p.addr, align 8 + %call = call i8* @strchr(i8* %0, i32 64) #20 + store i8* %call, i8** %q, align 8 + %cmp = icmp ne i8* %call, null + br i1 %cmp, label %if.then, label %if.end27 + +if.then: ; preds = %entry + %1 = load i8*, i8** %q, align 8 + %2 = load i8*, i8** %p.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %1 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %2 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %sub = sub nsw i64 %sub.ptr.sub, 5 + %cmp1 = icmp ugt i64 %sub, 13 + br i1 %cmp1, label %if.then4, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then + %3 = load i8*, i8** %p.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %3, i64 2 + %4 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %4 to i32 + %cmp2 = icmp ne i32 %conv, 95 + br i1 %cmp2, label %if.then4, label %if.end + +if.then4: ; preds = %lor.lhs.false, %if.then + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %lor.lhs.false + %5 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %locale_at_modifiers = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %5, i32 0, i32 33 + %arraydecay = getelementptr inbounds [18 x i8], [18 x i8]* %locale_at_modifiers, i64 0, i64 0 + store i8* %arraydecay, i8** %s, align 8 + br label %do.body + +do.body: ; preds = %if.end8, %if.end + %6 = load i8*, i8** %s, align 8 + %add.ptr = getelementptr inbounds i8, i8* %6, i64 2 + %7 = load i8*, i8** %q, align 8 + %add.ptr5 = getelementptr inbounds i8, i8* %7, i64 1 + %call6 = call i32 @strcmp(i8* %add.ptr, i8* %add.ptr5) #20 + %tobool = icmp ne i32 %call6, 0 + br i1 %tobool, label %if.end8, label %do.end + +if.end8: ; preds = %do.body + %8 = load i8*, i8** %s, align 8 + %9 = load i8, i8* %8, align 1 + %conv9 = zext i8 %9 to i32 + %add = add nsw i32 2, %conv9 + %10 = load i8*, i8** %s, align 8 + %idx.ext = sext i32 %add to i64 + %add.ptr10 = getelementptr inbounds i8, i8* %10, i64 %idx.ext + store i8* %add.ptr10, i8** %s, align 8 + %11 = load i8*, i8** %s, align 8 + %12 = load i8, i8* %11, align 1 + %tobool11 = icmp ne i8 %12, 0 + br i1 %tobool11, label %do.body, label %do.end + +do.end: ; preds = %do.body, %if.end8 + %13 = load i8*, i8** %s, align 8 + %14 = load i8, i8* %13, align 1 + %tobool12 = icmp ne i8 %14, 0 + br i1 %tobool12, label %if.end14, label %if.then13 + +if.then13: ; preds = %do.end + store i32 0, i32* %retval, align 4 + br label %return + +if.end14: ; preds = %do.end + %arraydecay15 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 0 + %15 = load i8*, i8** %p.addr, align 8 + %16 = load i8*, i8** %q, align 8 + %17 = load i8*, i8** %p.addr, align 8 + %sub.ptr.lhs.cast16 = ptrtoint i8* %16 to i64 + %sub.ptr.rhs.cast17 = ptrtoint i8* %17 to i64 + %sub.ptr.sub18 = sub i64 %sub.ptr.lhs.cast16, %sub.ptr.rhs.cast17 + %call19 = call i8* @memcpy(i8* %arraydecay15, i8* %15, i64 %sub.ptr.sub18) #19 + %18 = load i8*, i8** %q, align 8 + %19 = load i8*, i8** %p.addr, align 8 + %sub.ptr.lhs.cast20 = ptrtoint i8* %18 to i64 + %sub.ptr.rhs.cast21 = ptrtoint i8* %19 to i64 + %sub.ptr.sub22 = sub i64 %sub.ptr.lhs.cast20, %sub.ptr.rhs.cast21 + %arrayidx23 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 %sub.ptr.sub22 + store i8 0, i8* %arrayidx23, align 1 + %20 = load i8*, i8** %s, align 8 + %arrayidx24 = getelementptr inbounds i8, i8* %20, i64 1 + %21 = load i8, i8* %arrayidx24, align 1 + %arrayidx25 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 2 + store i8 %21, i8* %arrayidx25, align 2 + %arraydecay26 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay26, i8** %p.addr, align 8 + br label %if.end27 + +if.end27: ; preds = %if.end14, %entry + store i8 0, i8* %codeset, align 1 + store i8 0, i8* %lang_cult, align 1 + %22 = load i8*, i8** %p.addr, align 8 + %23 = load i8, i8* %22, align 1 + %conv28 = sext i8 %23 to i32 + %cmp29 = icmp eq i32 %conv28, 67 + br i1 %cmp29, label %land.lhs.true, label %lor.lhs.false33 + +land.lhs.true: ; preds = %if.end27 + %24 = load i8*, i8** %p.addr, align 8 + %arrayidx31 = getelementptr inbounds i8, i8* %24, i64 1 + %25 = load i8, i8* %arrayidx31, align 1 + %tobool32 = icmp ne i8 %25, 0 + br i1 %tobool32, label %lor.lhs.false33, label %FIND_LOCALE + +lor.lhs.false33: ; preds = %land.lhs.true, %if.end27 + %26 = load i8*, i8** %p.addr, align 8 + %call34 = call i32 @strcmp(i8* %26, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @posix, i64 0, i64 0)) #20 + %tobool35 = icmp ne i32 %call34, 0 + br i1 %tobool35, label %if.end37, label %FIND_LOCALE + +if.end37: ; preds = %lor.lhs.false33 + %27 = load i8*, i8** %p.addr, align 8 + %call38 = call i64 @strlen(i8* %27) #20 + %cmp39 = icmp ugt i64 %call38, 5 + br i1 %cmp39, label %land.lhs.true41, label %FIND_LANG_CULT + +land.lhs.true41: ; preds = %if.end37 + %28 = load i8*, i8** %p.addr, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %28, i64 5 + %29 = load i8, i8* %arrayidx42, align 1 + %conv43 = sext i8 %29 to i32 + %cmp44 = icmp eq i32 %conv43, 46 + br i1 %cmp44, label %if.then46, label %FIND_LANG_CULT + +if.then46: ; preds = %land.lhs.true41 + store i8 2, i8* %codeset, align 1 + %30 = load i8*, i8** %p.addr, align 8 + %add.ptr47 = getelementptr inbounds i8, i8* %30, i64 6 + %call48 = call i32 @strcmp(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf8.319, i64 0, i64 0), i8* %add.ptr47) #20 + %cmp49 = icmp ne i32 %call48, 0 + br i1 %cmp49, label %if.then51, label %FIND_LANG_CULT + +if.then51: ; preds = %if.then46 + %31 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %codeset_list = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %31, i32 0, i32 35 + %arraydecay52 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list, i64 0, i64 0 + store i8* %arraydecay52, i8** %s, align 8 + br label %do.body53 + +do.body53: ; preds = %do.cond64, %if.then51 + %32 = load i8, i8* %codeset, align 1 + %inc = add i8 %32, 1 + store i8 %inc, i8* %codeset, align 1 + %33 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %codeset_list54 = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %33, i32 0, i32 35 + %arraydecay55 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list54, i64 0, i64 0 + %34 = load i8*, i8** %s, align 8 + %35 = load i8, i8* %34, align 1 + %conv56 = zext i8 %35 to i32 + %idx.ext57 = sext i32 %conv56 to i64 + %add.ptr58 = getelementptr inbounds i8, i8* %arraydecay55, i64 %idx.ext57 + %36 = load i8*, i8** %p.addr, align 8 + %add.ptr59 = getelementptr inbounds i8, i8* %36, i64 6 + %call60 = call i32 @strcmp(i8* %add.ptr58, i8* %add.ptr59) #20 + %tobool61 = icmp ne i32 %call60, 0 + br i1 %tobool61, label %do.cond64, label %FIND_LANG_CULT + +do.cond64: ; preds = %do.body53 + %37 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %37, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %38 = load i8, i8* %incdec.ptr, align 1 + %tobool65 = icmp ne i8 %38, 0 + br i1 %tobool65, label %do.body53, label %do.end66 + +do.end66: ; preds = %do.cond64 + store i32 0, i32* %retval, align 4 + br label %return + +FIND_LANG_CULT: ; preds = %if.end37, %land.lhs.true41, %if.then46, %do.body53 + %39 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %locale_names5 = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %39, i32 0, i32 32 + %arraydecay69 = getelementptr inbounds [835 x i8], [835 x i8]* %locale_names5, i64 0, i64 0 + store i8* %arraydecay69, i8** %s, align 8 + br label %do.body70 + +do.body70: ; preds = %if.end75, %FIND_LANG_CULT + %40 = load i8, i8* %lang_cult, align 1 + %inc71 = add i8 %40, 1 + store i8 %inc71, i8* %lang_cult, align 1 + %41 = load i8*, i8** %s, align 8 + %42 = load i8*, i8** %p.addr, align 8 + %call72 = call i32 @strncmp(i8* %41, i8* %42, i64 5) #20 + %tobool73 = icmp ne i32 %call72, 0 + br i1 %tobool73, label %if.end75, label %FIND_LOCALE + +if.end75: ; preds = %do.body70 + %43 = load i8*, i8** %s, align 8 + %add.ptr76 = getelementptr inbounds i8, i8* %43, i64 5 + store i8* %add.ptr76, i8** %s, align 8 + %44 = load i8, i8* %lang_cult, align 1 + %conv78 = zext i8 %44 to i32 + %cmp79 = icmp slt i32 %conv78, 167 + br i1 %cmp79, label %do.body70, label %do.end81 + +do.end81: ; preds = %if.end75 + store i32 0, i32* %retval, align 4 + br label %return + +FIND_LOCALE: ; preds = %do.body70, %land.lhs.true, %lor.lhs.false33 + %45 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %locales = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %45, i32 0, i32 31 + %arraydecay82 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales, i64 0, i64 0 + store i8* %arraydecay82, i8** %s, align 8 + store i16 0, i16* %n, align 2 + br label %do.body83 + +do.body83: ; preds = %if.end120, %FIND_LOCALE + %46 = load i8, i8* %lang_cult, align 1 + %conv84 = zext i8 %46 to i32 + %47 = load i8*, i8** %s, align 8 + %48 = load i8, i8* %47, align 1 + %conv85 = zext i8 %48 to i32 + %cmp86 = icmp eq i32 %conv84, %conv85 + br i1 %cmp86, label %land.lhs.true88, label %if.end120 + +land.lhs.true88: ; preds = %do.body83 + %49 = load i8, i8* %codeset, align 1 + %conv89 = zext i8 %49 to i32 + %50 = load i8*, i8** %s, align 8 + %arrayidx90 = getelementptr inbounds i8, i8* %50, i64 1 + %51 = load i8, i8* %arrayidx90, align 1 + %conv91 = zext i8 %51 to i32 + %cmp92 = icmp eq i32 %conv89, %conv91 + br i1 %cmp92, label %if.then100, label %lor.lhs.false94 + +lor.lhs.false94: ; preds = %land.lhs.true88 + %52 = load i8, i8* %codeset, align 1 + %conv95 = zext i8 %52 to i32 + %53 = load i8*, i8** %s, align 8 + %arrayidx96 = getelementptr inbounds i8, i8* %53, i64 2 + %54 = load i8, i8* %arrayidx96, align 1 + %conv97 = zext i8 %54 to i32 + %cmp98 = icmp eq i32 %conv95, %conv97 + br i1 %cmp98, label %if.then100, label %if.end120 + +if.then100: ; preds = %lor.lhs.false94, %land.lhs.true88 + store i32 1, i32* %i, align 4 + %55 = load i8*, i8** %new_locale.addr, align 8 + %add.ptr101 = getelementptr inbounds i8, i8* %55, i64 1 + store i8* %add.ptr101, i8** %s, align 8 + br label %do.body102 + +do.body102: ; preds = %if.end113, %if.then100 + %56 = load i32, i32* %category_mask.addr, align 4 + %57 = load i32, i32* %i, align 4 + %and = and i32 %56, %57 + %tobool103 = icmp ne i32 %and, 0 + br i1 %tobool103, label %if.then104, label %if.end113 + +if.then104: ; preds = %do.body102 + %58 = load i16, i16* %n, align 2 + %conv105 = zext i16 %58 to i32 + %shr = ashr i32 %conv105, 7 + %or = or i32 %shr, 128 + %conv106 = trunc i32 %or to i8 + %59 = load i8*, i8** %s, align 8 + %arrayidx107 = getelementptr inbounds i8, i8* %59, i64 0 + store i8 %conv106, i8* %arrayidx107, align 1 + %60 = load i16, i16* %n, align 2 + %conv108 = zext i16 %60 to i32 + %and109 = and i32 %conv108, 127 + %or110 = or i32 %and109, 128 + %conv111 = trunc i32 %or110 to i8 + %61 = load i8*, i8** %s, align 8 + %arrayidx112 = getelementptr inbounds i8, i8* %61, i64 1 + store i8 %conv111, i8* %arrayidx112, align 1 + br label %if.end113 + +if.end113: ; preds = %if.then104, %do.body102 + %62 = load i8*, i8** %s, align 8 + %add.ptr114 = getelementptr inbounds i8, i8* %62, i64 2 + store i8* %add.ptr114, i8** %s, align 8 + %63 = load i32, i32* %i, align 4 + %64 = load i32, i32* %i, align 4 + %add115 = add nsw i32 %64, %63 + store i32 %add115, i32* %i, align 4 + %65 = load i32, i32* %i, align 4 + %cmp117 = icmp slt i32 %65, 64 + br i1 %cmp117, label %do.body102, label %do.end119 + +do.end119: ; preds = %if.end113 + %66 = load i32, i32* %i, align 4 + store i32 %66, i32* %retval, align 4 + br label %return + +if.end120: ; preds = %lor.lhs.false94, %do.body83 + %67 = load i8*, i8** %s, align 8 + %add.ptr121 = getelementptr inbounds i8, i8* %67, i64 9 + store i8* %add.ptr121, i8** %s, align 8 + %68 = load i16, i16* %n, align 2 + %inc122 = add i16 %68, 1 + store i16 %inc122, i16* %n, align 2 + %69 = load i16, i16* %n, align 2 + %conv124 = zext i16 %69 to i32 + %cmp125 = icmp sle i32 %conv124, 314 + br i1 %cmp125, label %do.body83, label %do.end127 + +do.end127: ; preds = %if.end120 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end127, %do.end119, %do.end81, %do.end66, %if.then13, %if.then4 + %70 = load i32, i32* %retval, align 4 + ret i32 %70 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @composite_locale(i32 %category_mask, i8* %locale, i8* %new_locale) #0 { +entry: + %retval = alloca i8*, align 8 + %category_mask.addr = alloca i32, align 4 + %locale.addr = alloca i8*, align 8 + %new_locale.addr = alloca i8*, align 8 + %buf = alloca [256 x i8], align 16 + %t = alloca i8*, align 8 + %e = alloca i8*, align 8 + %c = alloca i32, align 4 + %component_mask = alloca i32, align 4 + store i32 %category_mask, i32* %category_mask.addr, align 4 + store i8* %locale, i8** %locale.addr, align 8 + store i8* %new_locale, i8** %new_locale.addr, align 8 + %0 = load i8*, i8** %locale.addr, align 8 + %call = call i8* @strchr(i8* %0, i32 61) #20 + %tobool = icmp ne i8* %call, null + br i1 %tobool, label %if.end4, label %if.then + +if.then: ; preds = %entry + %1 = load i32, i32* %category_mask.addr, align 4 + %2 = load i8*, i8** %locale.addr, align 8 + %3 = load i8*, i8** %new_locale.addr, align 8 + %call1 = call i32 @find_locale(i32 %1, i8* %2, i8* %3) #18 + %tobool2 = icmp ne i32 %call1, 0 + br i1 %tobool2, label %if.end, label %if.then3 + +if.then3: ; preds = %if.then + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %if.then + %4 = load i8*, i8** %new_locale.addr, align 8 + store i8* %4, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %entry + %5 = load i8*, i8** %locale.addr, align 8 + %call5 = call i64 @strlen(i8* %5) #20 + %cmp = icmp uge i64 %call5, 256 + br i1 %cmp, label %if.then6, label %if.end7 + +if.then6: ; preds = %if.end4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end7: ; preds = %if.end4 + %arraydecay = getelementptr inbounds [256 x i8], [256 x i8]* %buf, i64 0, i64 0 + %6 = load i8*, i8** %locale.addr, align 8 + %call8 = call i8* @stpcpy(i8* %arraydecay, i8* %6) #19 + store i32 0, i32* %component_mask, align 4 + %arraydecay9 = getelementptr inbounds [256 x i8], [256 x i8]* %buf, i64 0, i64 0 + %call10 = call i8* @strtok_r(i8* %arraydecay9, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.317, i64 0, i64 0), i8** %e) #19 + store i8* %call10, i8** %t, align 8 + br label %do.body + +do.body: ; preds = %do.cond, %if.end7 + store i32 0, i32* %c, align 4 + br label %while.cond + +while.cond: ; preds = %while.body, %do.body + %7 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %lc_names = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %7, i32 0, i32 34 + %arraydecay11 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names, i64 0, i64 0 + %8 = load %struct.__locale_mmap_t.205*, %struct.__locale_mmap_t.205** @__locale_mmap, align 8 + %lc_names12 = getelementptr inbounds %struct.__locale_mmap_t.205, %struct.__locale_mmap_t.205* %8, i32 0, i32 34 + %9 = load i32, i32* %c, align 4 + %idxprom = sext i32 %9 to i64 + %arrayidx = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names12, i64 0, i64 %idxprom + %10 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %10 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay11, i64 %idx.ext + %11 = load i8*, i8** %t, align 8 + %call13 = call i32 @strcmp(i8* %add.ptr, i8* %11) #20 + %tobool14 = icmp ne i32 %call13, 0 + br i1 %tobool14, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %12 = load i32, i32* %c, align 4 + %inc = add nsw i32 %12, 1 + store i32 %inc, i32* %c, align 4 + %cmp15 = icmp eq i32 %inc, 6 + br i1 %cmp15, label %if.then17, label %while.cond + +if.then17: ; preds = %while.body + store i8* null, i8** %retval, align 8 + br label %return + +while.end: ; preds = %while.cond + %call19 = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.4.318, i64 0, i64 0), i8** %e) #19 + store i8* %call19, i8** %t, align 8 + %13 = load i32, i32* %c, align 4 + %shl = shl i32 1, %13 + store i32 %shl, i32* %c, align 4 + %14 = load i32, i32* %component_mask, align 4 + %15 = load i32, i32* %c, align 4 + %and = and i32 %14, %15 + %tobool20 = icmp ne i32 %and, 0 + br i1 %tobool20, label %if.then21, label %if.end22 + +if.then21: ; preds = %while.end + store i8* null, i8** %retval, align 8 + br label %return + +if.end22: ; preds = %while.end + %16 = load i32, i32* %c, align 4 + %17 = load i32, i32* %component_mask, align 4 + %or = or i32 %17, %16 + store i32 %or, i32* %component_mask, align 4 + %18 = load i32, i32* %category_mask.addr, align 4 + %19 = load i32, i32* %c, align 4 + %and23 = and i32 %18, %19 + %tobool24 = icmp ne i32 %and23, 0 + br i1 %tobool24, label %land.lhs.true, label %do.cond + +land.lhs.true: ; preds = %if.end22 + %20 = load i8*, i8** %t, align 8 + %tobool25 = icmp ne i8* %20, null + br i1 %tobool25, label %lor.lhs.false, label %if.then28 + +lor.lhs.false: ; preds = %land.lhs.true + %21 = load i32, i32* %c, align 4 + %22 = load i8*, i8** %t, align 8 + %23 = load i8*, i8** %new_locale.addr, align 8 + %call26 = call i32 @find_locale(i32 %21, i8* %22, i8* %23) #18 + %tobool27 = icmp ne i32 %call26, 0 + br i1 %tobool27, label %do.cond, label %if.then28 + +if.then28: ; preds = %lor.lhs.false, %land.lhs.true + store i8* null, i8** %retval, align 8 + br label %return + +do.cond: ; preds = %if.end22, %lor.lhs.false + %call30 = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.317, i64 0, i64 0), i8** %e) #19 + store i8* %call30, i8** %t, align 8 + %cmp31 = icmp ne i8* %call30, null + br i1 %cmp31, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %24 = load i32, i32* %category_mask.addr, align 4 + %25 = load i32, i32* %component_mask, align 4 + %neg = xor i32 %25, -1 + %and33 = and i32 %24, %neg + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %if.then35, label %if.end36 + +if.then35: ; preds = %do.end + store i8* null, i8** %retval, align 8 + br label %return + +if.end36: ; preds = %do.end + %26 = load i8*, i8** %new_locale.addr, align 8 + store i8* %26, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end36, %if.then35, %if.then28, %if.then21, %if.then17, %if.then6, %if.end, %if.then3 + %27 = load i8*, i8** %retval, align 8 + ret i8* %27 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @nl_langinfo_l(i32 %item, %struct.__uclibc_locale_struct.203* %locale_arg) #0 { +entry: + %retval = alloca i8*, align 8 + %item.addr = alloca i32, align 4 + %locale_arg.addr = alloca %struct.__uclibc_locale_struct.203*, align 8 + %c = alloca i32, align 4 + %i = alloca i32, align 4 + store i32 %item, i32* %item.addr, align 4 + store %struct.__uclibc_locale_struct.203* %locale_arg, %struct.__uclibc_locale_struct.203** %locale_arg.addr, align 8 + %0 = load i32, i32* %item.addr, align 4 + %shr = ashr i32 %0, 8 + store i32 %shr, i32* %c, align 4 + %1 = load i32, i32* %item.addr, align 4 + %and = and i32 %1, 255 + store i32 %and, i32* %i, align 4 + %2 = load i32, i32* %c, align 4 + %cmp = icmp ult i32 %2, 6 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %3 = load i32, i32* %i, align 4 + %4 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %locale_arg.addr, align 8 + %category_item_count = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %4, i32 0, i32 8 + %5 = load i32, i32* %c, align 4 + %idxprom = zext i32 %5 to i64 + %arrayidx = getelementptr inbounds [6 x i8], [6 x i8]* %category_item_count, i64 0, i64 %idxprom + %6 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %6 to i32 + %cmp1 = icmp ult i32 %3, %conv + br i1 %cmp1, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %7 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %locale_arg.addr, align 8 + %8 = bitcast %struct.__uclibc_locale_struct.203* %7 to i8* + %9 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %locale_arg.addr, align 8 + %category_offsets = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %9, i32 0, i32 7 + %10 = load i32, i32* %c, align 4 + %idxprom3 = zext i32 %10 to i64 + %arrayidx4 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets, i64 0, i64 %idxprom3 + %11 = load i16, i16* %arrayidx4, align 2 + %conv5 = zext i16 %11 to i32 + %idx.ext = sext i32 %conv5 to i64 + %add.ptr = getelementptr inbounds i8, i8* %8, i64 %idx.ext + %12 = bitcast i8* %add.ptr to i8** + %13 = load i32, i32* %i, align 4 + %idxprom6 = zext i32 %13 to i64 + %arrayidx7 = getelementptr inbounds i8*, i8** %12, i64 %idxprom6 + %14 = load i8*, i8** %arrayidx7, align 8 + store i8* %14, i8** %retval, align 8 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @empty, i64 0, i64 0), i8** %retval, align 8 + br label %return + +return: ; preds = %if.end, %if.then + %15 = load i8*, i8** %retval, align 8 + ret i8* %15 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @mbsnrtowcs(i32* noalias %dst, i8** noalias %src, i64 %NMC, i64 %len, %struct.__mbstate_t.514* noalias %ps) #0 { +entry: + %retval = alloca i64, align 8 + %dst.addr = alloca i32*, align 8 + %src.addr = alloca i8**, align 8 + %NMC.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.514*, align 8 + %wcbuf = alloca [1 x i32], align 4 + %s = alloca i8*, align 8 + %count = alloca i64, align 8 + %incr = alloca i32, align 4 + %r = alloca i64, align 8 + %wc = alloca i32, align 4 + store i32* %dst, i32** %dst.addr, align 8 + store i8** %src, i8*** %src.addr, align 8 + store i64 %NMC, i64* %NMC.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.514* %ps, %struct.__mbstate_t.514** %ps.addr, align 8 + %0 = load %struct.__mbstate_t.514*, %struct.__mbstate_t.514** %ps.addr, align 8 + %tobool = icmp ne %struct.__mbstate_t.514* %0, null + %spec.store.select = select i1 %tobool, %struct.__mbstate_t.514* %ps, %struct.__mbstate_t.514* @mbsnrtowcs.mbstate + store %struct.__mbstate_t.514* %spec.store.select, %struct.__mbstate_t.514** %ps.addr, align 8 + %1 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %1, i32 0, i32 9 + %2 = load i8, i8* %encoding, align 8 + %conv = zext i8 %2 to i32 + %cmp = icmp eq i32 %conv, 1 + br i1 %cmp, label %if.then2, label %if.end5 + +if.then2: ; preds = %entry + %3 = load i32*, i32** %dst.addr, align 8 + %4 = load i64, i64* %len.addr, align 8 + %5 = load i8**, i8*** %src.addr, align 8 + %6 = load i64, i64* %NMC.addr, align 8 + %7 = load %struct.__mbstate_t.514*, %struct.__mbstate_t.514** %ps.addr, align 8 + %call = call i64 @_wchar_utf8sntowcs(i32* %3, i64 %4, i8** %5, i64 %6, %struct.__mbstate_t.514* %7, i32 1) #18 + store i64 %call, i64* %r, align 8 + %cmp3 = icmp ne i64 %call, -2 + %8 = load i64, i64* %r, align 8 + %cond = select i1 %cmp3, i64 %8, i64 0 + store i64 %cond, i64* %retval, align 8 + br label %return + +if.end5: ; preds = %entry + store i32 1, i32* %incr, align 4 + %9 = load i32*, i32** %dst.addr, align 8 + %tobool6 = icmp ne i32* %9, null + br i1 %tobool6, label %lor.lhs.false, label %if.then9 + +lor.lhs.false: ; preds = %if.end5 + %10 = load i32*, i32** %dst.addr, align 8 + %11 = load %struct.__mbstate_t.514*, %struct.__mbstate_t.514** %ps.addr, align 8 + %12 = bitcast %struct.__mbstate_t.514* %11 to i32* + %cmp7 = icmp eq i32* %10, %12 + br i1 %cmp7, label %if.then9, label %if.end13 + +if.then9: ; preds = %lor.lhs.false, %if.end5 + %13 = load i32*, i32** %dst.addr, align 8 + %tobool10 = icmp ne i32* %13, null + br i1 %tobool10, label %if.end12, label %if.then11 + +if.then11: ; preds = %if.then9 + store i64 -1, i64* %len.addr, align 8 + br label %if.end12 + +if.end12: ; preds = %if.then11, %if.then9 + %arraydecay = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay, i32** %dst.addr, align 8 + store i32 0, i32* %incr, align 4 + br label %if.end13 + +if.end13: ; preds = %if.end12, %lor.lhs.false + %14 = load i64, i64* %len.addr, align 8 + %15 = load i64, i64* %NMC.addr, align 8 + %cmp14 = icmp ugt i64 %14, %15 + br i1 %cmp14, label %if.then16, label %if.end17 + +if.then16: ; preds = %if.end13 + %16 = load i64, i64* %NMC.addr, align 8 + store i64 %16, i64* %len.addr, align 8 + br label %if.end17 + +if.end17: ; preds = %if.then16, %if.end13 + %17 = load i64, i64* %len.addr, align 8 + store i64 %17, i64* %count, align 8 + %18 = load i8**, i8*** %src.addr, align 8 + %19 = load i8*, i8** %18, align 8 + store i8* %19, i8** %s, align 8 + %20 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__curlocale_var, align 8 + %encoding18 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %20, i32 0, i32 9 + %21 = load i8, i8* %encoding18, align 8 + %conv19 = zext i8 %21 to i32 + %cmp20 = icmp eq i32 %conv19, 2 + br i1 %cmp20, label %while.cond, label %while.cond46 + +while.cond: ; preds = %if.end17, %if.end38 + %22 = load i64, i64* %count, align 8 + %tobool23 = icmp ne i64 %22, 0 + br i1 %tobool23, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %23 = load i8*, i8** %s, align 8 + %24 = load i8, i8* %23, align 1 + %conv24 = zext i8 %24 to i32 + store i32 %conv24, i32* %wc, align 4 + %cmp25 = icmp sge i32 %conv24, 128 + br i1 %cmp25, label %if.then27, label %if.end35 + +if.then27: ; preds = %while.body + %25 = load i32, i32* %wc, align 4 + %sub = sub nsw i32 %25, 128 + store i32 %sub, i32* %wc, align 4 + %26 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__curlocale_var, align 8 + %tbl8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %26, i32 0, i32 17 + %27 = load i16*, i16** %tbl8c2wc, align 8 + %28 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__curlocale_var, align 8 + %idx8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %28, i32 0, i32 16 + %29 = load i8*, i8** %idx8c2wc, align 8 + %30 = load i32, i32* %wc, align 4 + %shr = ashr i32 %30, 3 + %idxprom = sext i32 %shr to i64 + %arrayidx = getelementptr inbounds i8, i8* %29, i64 %idxprom + %31 = load i8, i8* %arrayidx, align 1 + %conv28 = zext i8 %31 to i32 + %shl = shl i32 %conv28, 3 + %32 = load i32, i32* %wc, align 4 + %and = and i32 %32, 7 + %add = add nsw i32 %shl, %and + %idxprom29 = sext i32 %add to i64 + %arrayidx30 = getelementptr inbounds i16, i16* %27, i64 %idxprom29 + %33 = load i16, i16* %arrayidx30, align 2 + %conv31 = zext i16 %33 to i32 + store i32 %conv31, i32* %wc, align 4 + %34 = load i32, i32* %wc, align 4 + %tobool32 = icmp ne i32 %34, 0 + br i1 %tobool32, label %if.end35, label %BAD + +if.end35: ; preds = %if.then27, %while.body + %35 = load i32, i32* %wc, align 4 + %36 = load i32*, i32** %dst.addr, align 8 + store i32 %35, i32* %36, align 4 + %tobool36 = icmp ne i32 %35, 0 + br i1 %tobool36, label %if.end38, label %if.then37 + +if.then37: ; preds = %if.end35 + store i8* null, i8** %s, align 8 + br label %while.end + +if.end38: ; preds = %if.end35 + %37 = load i32, i32* %incr, align 4 + %38 = load i32*, i32** %dst.addr, align 8 + %idx.ext = sext i32 %37 to i64 + %add.ptr = getelementptr inbounds i32, i32* %38, i64 %idx.ext + store i32* %add.ptr, i32** %dst.addr, align 8 + %39 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %39, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %40 = load i64, i64* %count, align 8 + %dec = add i64 %40, -1 + store i64 %dec, i64* %count, align 8 + br label %while.cond + +while.end: ; preds = %if.then37, %while.cond + %41 = load i32*, i32** %dst.addr, align 8 + %arraydecay39 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %cmp40 = icmp ne i32* %41, %arraydecay39 + br i1 %cmp40, label %if.then42, label %if.end43 + +if.then42: ; preds = %while.end + %42 = load i8*, i8** %s, align 8 + %43 = load i8**, i8*** %src.addr, align 8 + store i8* %42, i8** %43, align 8 + br label %if.end43 + +if.end43: ; preds = %if.then42, %while.end + %44 = load i64, i64* %len.addr, align 8 + %45 = load i64, i64* %count, align 8 + %sub44 = sub i64 %44, %45 + store i64 %sub44, i64* %retval, align 8 + br label %return + +while.cond46: ; preds = %if.end17, %if.end57 + %46 = load i64, i64* %count, align 8 + %tobool47 = icmp ne i64 %46, 0 + br i1 %tobool47, label %while.body48, label %while.end62 + +while.body48: ; preds = %while.cond46 + %47 = load i8*, i8** %s, align 8 + %48 = load i8, i8* %47, align 1 + %conv49 = zext i8 %48 to i32 + %49 = load i32*, i32** %dst.addr, align 8 + store i32 %conv49, i32* %49, align 4 + %cmp50 = icmp eq i32 %conv49, 0 + br i1 %cmp50, label %if.then52, label %if.end53 + +if.then52: ; preds = %while.body48 + store i8* null, i8** %s, align 8 + br label %while.end62 + +if.end53: ; preds = %while.body48 + %50 = load i32*, i32** %dst.addr, align 8 + %51 = load i32, i32* %50, align 4 + %cmp54 = icmp sge i32 %51, 128 + br i1 %cmp54, label %BAD, label %if.end57 + +BAD: ; preds = %if.end53, %if.then27 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end57: ; preds = %if.end53 + %52 = load i8*, i8** %s, align 8 + %incdec.ptr58 = getelementptr inbounds i8, i8* %52, i32 1 + store i8* %incdec.ptr58, i8** %s, align 8 + %53 = load i32, i32* %incr, align 4 + %54 = load i32*, i32** %dst.addr, align 8 + %idx.ext59 = sext i32 %53 to i64 + %add.ptr60 = getelementptr inbounds i32, i32* %54, i64 %idx.ext59 + store i32* %add.ptr60, i32** %dst.addr, align 8 + %55 = load i64, i64* %count, align 8 + %dec61 = add i64 %55, -1 + store i64 %dec61, i64* %count, align 8 + br label %while.cond46 + +while.end62: ; preds = %if.then52, %while.cond46 + %56 = load i32*, i32** %dst.addr, align 8 + %arraydecay63 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %cmp64 = icmp ne i32* %56, %arraydecay63 + br i1 %cmp64, label %if.then66, label %if.end67 + +if.then66: ; preds = %while.end62 + %57 = load i8*, i8** %s, align 8 + %58 = load i8**, i8*** %src.addr, align 8 + store i8* %57, i8** %58, align 8 + br label %if.end67 + +if.end67: ; preds = %if.then66, %while.end62 + %59 = load i64, i64* %len.addr, align 8 + %60 = load i64, i64* %count, align 8 + %sub68 = sub i64 %59, %60 + store i64 %sub68, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end67, %BAD, %if.end43, %if.then2 + %61 = load i64, i64* %retval, align 8 + ret i64 %61 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @iswctype(i32 %wc, i32 %desc) #0 { +entry: + %wc.addr = alloca i32, align 4 + %desc.addr = alloca i32, align 4 + store i32 %wc, i32* %wc.addr, align 4 + store i32 %desc, i32* %desc.addr, align 4 + %0 = load i32, i32* %wc.addr, align 4 + %1 = load i32, i32* %desc.addr, align 4 + %2 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__curlocale_var, align 8 + %call = call i32 @iswctype_l(i32 %0, i32 %1, %struct.__uclibc_locale_struct.203* %2) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.570* noalias %stream, i32 %oflag) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.570*, align 8 + %oflag.addr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.570* %stream, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + store i32 %oflag, i32* %oflag.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %2 = load i32, i32* %oflag.addr, align 4 + %and = and i32 %conv, %2 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end9, label %if.then + +if.then: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %3, i32 0, i32 0 + %4 = load i16, i16* %__modeflags1, align 8 + %conv2 = zext i16 %4 to i32 + %and3 = and i32 %conv2, 2176 + %tobool4 = icmp ne i32 %and3, 0 + br i1 %tobool4, label %DO_EBADF, label %if.end + +if.end: ; preds = %if.then + %5 = load i32, i32* %oflag.addr, align 4 + %6 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %6, i32 0, i32 0 + %7 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %7 to i32 + %or = or i32 %conv7, %5 + %conv8 = trunc i32 %or to i16 + store i16 %conv8, i16* %__modeflags6, align 8 + br label %if.end9 + +if.end9: ; preds = %if.end, %entry + %8 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags10, align 8 + %conv11 = zext i16 %9 to i32 + %and12 = and i32 %conv11, 32 + %tobool13 = icmp ne i32 %and12, 0 + br i1 %tobool13, label %DO_EBADF, label %if.end19 + +DO_EBADF: ; preds = %if.end9, %if.then + store i32 9, i32* @errno, align 4 + br label %ERROR + +ERROR: ; preds = %land.lhs.true, %DO_EBADF + %10 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags15 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %10, i32 0, i32 0 + %11 = load i16, i16* %__modeflags15, align 8 + %conv16 = zext i16 %11 to i32 + %or17 = or i32 %conv16, 8 + %conv18 = trunc i32 %or17 to i16 + store i16 %conv18, i16* %__modeflags15, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end19: ; preds = %if.end9 + %12 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags20 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags20, align 8 + %conv21 = zext i16 %13 to i32 + %and22 = and i32 %conv21, 3 + %tobool23 = icmp ne i32 %and22, 0 + br i1 %tobool23, label %if.then24, label %if.end50 + +if.then24: ; preds = %if.end19 + %14 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags25 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %14, i32 0, i32 0 + %15 = load i16, i16* %__modeflags25, align 8 + %conv26 = zext i16 %15 to i32 + %and27 = and i32 %conv26, 4 + %tobool28 = icmp ne i32 %and27, 0 + br i1 %tobool28, label %if.end42, label %if.then29 + +if.then29: ; preds = %if.then24 + %16 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %16, i32 0, i32 6 + %17 = load i8*, i8** %__bufread, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %18, i32 0, i32 5 + %19 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %17 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool30 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %tobool30, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then29 + %20 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags31 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %20, i32 0, i32 0 + %21 = load i16, i16* %__modeflags31, align 8 + %conv32 = zext i16 %21 to i32 + %and33 = and i32 %conv32, 2 + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %land.lhs.true, label %if.end42 + +land.lhs.true: ; preds = %lor.lhs.false, %if.then29 + %22 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %23 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags35 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %23, i32 0, i32 0 + %24 = load i16, i16* %__modeflags35, align 8 + %conv36 = zext i16 %24 to i32 + %and37 = and i32 %conv36, 1024 + %tobool38 = icmp ne i32 %and37, 0 + %25 = zext i1 %tobool38 to i64 + %cond = select i1 %tobool38, i32 2, i32 1 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.638*, i64, i32)* @fseek to i32 (%struct.__STDIO_FILE_STRUCT.570*, i64, i32)*)(%struct.__STDIO_FILE_STRUCT.570* %22, i64 0, i32 %cond) #18 + %tobool39 = icmp ne i32 %call, 0 + br i1 %tobool39, label %ERROR, label %if.end42 + +if.end42: ; preds = %lor.lhs.false, %land.lhs.true, %if.then24 + %26 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags43 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %26, i32 0, i32 0 + %27 = load i16, i16* %__modeflags43, align 8 + %conv44 = zext i16 %27 to i32 + %and45 = and i32 %conv44, -4 + %conv46 = trunc i32 %and45 to i16 + store i16 %conv46, i16* %__modeflags43, align 8 + %28 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %28, i32 0, i32 3 + %29 = load i8*, i8** %__bufstart, align 8 + %30 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %30, i32 0, i32 7 + store i8* %29, i8** %__bufgetc_u, align 8 + %31 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufstart47 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %31, i32 0, i32 3 + %32 = load i8*, i8** %__bufstart47, align 8 + %33 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufpos48 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %33, i32 0, i32 5 + store i8* %32, i8** %__bufpos48, align 8 + %34 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufread49 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %34, i32 0, i32 6 + store i8* %32, i8** %__bufread49, align 8 + br label %if.end50 + +if.end50: ; preds = %if.end42, %if.end19 + %35 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags51 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %35, i32 0, i32 0 + %36 = load i16, i16* %__modeflags51, align 8 + %conv52 = zext i16 %36 to i32 + %or53 = or i32 %conv52, 64 + %conv54 = trunc i32 %or53 to i16 + store i16 %conv54, i16* %__modeflags51, align 8 + %37 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags55 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %37, i32 0, i32 0 + %38 = load i16, i16* %__modeflags55, align 8 + %conv56 = zext i16 %38 to i32 + %and57 = and i32 %conv56, 2816 + %tobool58 = icmp ne i32 %and57, 0 + br i1 %tobool58, label %if.end60, label %if.then59 + +if.then59: ; preds = %if.end50 + %39 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %39, i32 0, i32 4 + %40 = load i8*, i8** %__bufend, align 8 + %41 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %41, i32 0, i32 8 + store i8* %40, i8** %__bufputc_u, align 8 + br label %if.end60 + +if.end60: ; preds = %if.then59, %if.end50 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end60, %ERROR + %42 = load i32, i32* %retval, align 4 + ret i32 %42 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fseeko64(%struct.__STDIO_FILE_STRUCT.638* %stream, i64 %offset, i32 %whence) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.638*, align 8 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + %pos = alloca i64, align 8 + %retval1 = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.638* %stream, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i64, i64* %offset.addr, align 8 + store i64 %0, i64* %pos, align 8 + store i32 -1, i32* %retval1, align 4 + %1 = load i32, i32* %whence.addr, align 4 + %cmp = icmp ugt i32 %1, 2 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + store i32 22, i32* @errno, align 4 + br label %if.end20 + +if.else: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.638, %struct.__STDIO_FILE_STRUCT.638* %2, i32 0, i32 0 + %3 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %3 to i32 + %and = and i32 %conv, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %lor.lhs.false, label %land.lhs.true + +lor.lhs.false: ; preds = %if.else + %4 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %call = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.570*)* @__stdio_wcommit to i64 (%struct.__STDIO_FILE_STRUCT.638*)*)(%struct.__STDIO_FILE_STRUCT.638* %4) #18 + %tobool2 = icmp ne i64 %call, 0 + br i1 %tobool2, label %if.end20, label %land.lhs.true + +land.lhs.true: ; preds = %lor.lhs.false, %if.else + %5 = load i32, i32* %whence.addr, align 4 + %cmp3 = icmp ne i32 %5, 1 + br i1 %cmp3, label %land.lhs.true9, label %lor.lhs.false5 + +lor.lhs.false5: ; preds = %land.lhs.true + %6 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %call6 = call i32 @__stdio_adjust_position(%struct.__STDIO_FILE_STRUCT.638* %6, i64* %pos) #18 + %cmp7 = icmp sge i32 %call6, 0 + br i1 %cmp7, label %land.lhs.true9, label %if.end20 + +land.lhs.true9: ; preds = %lor.lhs.false5, %land.lhs.true + %7 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %8 = load i32, i32* %whence.addr, align 4 + %call10 = call i32 @__stdio_seek(%struct.__STDIO_FILE_STRUCT.638* %7, i64* %pos, i32 %8) #18 + %cmp11 = icmp sge i32 %call10, 0 + br i1 %cmp11, label %if.then13, label %if.end20 + +if.then13: ; preds = %land.lhs.true9 + %9 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %__modeflags14 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.638, %struct.__STDIO_FILE_STRUCT.638* %9, i32 0, i32 0 + %10 = load i16, i16* %__modeflags14, align 8 + %conv15 = zext i16 %10 to i32 + %and16 = and i32 %conv15, -72 + %conv17 = trunc i32 %and16 to i16 + store i16 %conv17, i16* %__modeflags14, align 8 + %11 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.638, %struct.__STDIO_FILE_STRUCT.638* %11, i32 0, i32 3 + %12 = load i8*, i8** %__bufstart, align 8 + %13 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.638, %struct.__STDIO_FILE_STRUCT.638* %13, i32 0, i32 5 + store i8* %12, i8** %__bufpos, align 8 + %14 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.638, %struct.__STDIO_FILE_STRUCT.638* %14, i32 0, i32 6 + store i8* %12, i8** %__bufread, align 8 + %15 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %__bufstart18 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.638, %struct.__STDIO_FILE_STRUCT.638* %15, i32 0, i32 3 + %16 = load i8*, i8** %__bufstart18, align 8 + %17 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.638, %struct.__STDIO_FILE_STRUCT.638* %17, i32 0, i32 7 + store i8* %16, i8** %__bufgetc_u, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %__bufstart19 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.638, %struct.__STDIO_FILE_STRUCT.638* %18, i32 0, i32 3 + %19 = load i8*, i8** %__bufstart19, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.638, %struct.__STDIO_FILE_STRUCT.638* %20, i32 0, i32 8 + store i8* %19, i8** %__bufputc_u, align 8 + %21 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.638, %struct.__STDIO_FILE_STRUCT.638* %21, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.514, %struct.__mbstate_t.514* %__state, i32 0, i32 0 + store i32 0, i32* %__mask, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.638, %struct.__STDIO_FILE_STRUCT.638* %22, i32 0, i32 1 + %arrayidx = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 0 + store i8 0, i8* %arrayidx, align 2 + store i32 0, i32* %retval1, align 4 + br label %if.end20 + +if.end20: ; preds = %lor.lhs.false, %lor.lhs.false5, %land.lhs.true9, %if.then13, %if.then + %23 = load i32, i32* %retval1, align 4 + ret i32 %23 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @fwrite_unlocked(i8* noalias %ptr, i64 %size, i64 %nmemb, %struct.__STDIO_FILE_STRUCT.623* noalias %stream) #0 { +entry: + %retval = alloca i64, align 8 + %ptr.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %nmemb.addr = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.623*, align 8 + store i8* %ptr, i8** %ptr.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + store i64 %nmemb, i64* %nmemb.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.623* %stream, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.623*, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.623, %struct.__STDIO_FILE_STRUCT.623* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 192 + %cmp = icmp eq i32 %and, 192 + br i1 %cmp, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.623*, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.570*, i32)* @__stdio_trans2w_o to i32 (%struct.__STDIO_FILE_STRUCT.623*, i32)*)(%struct.__STDIO_FILE_STRUCT.623* %2, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end13, label %land.lhs.true + +land.lhs.true: ; preds = %lor.lhs.false, %entry + %3 = load i64, i64* %size.addr, align 8 + %tobool2 = icmp ne i64 %3, 0 + %4 = load i64, i64* %nmemb.addr, align 8 + %tobool4 = icmp ne i64 %4, 0 + %or.cond = and i1 %tobool2, %tobool4 + br i1 %or.cond, label %if.then, label %if.end13 + +if.then: ; preds = %land.lhs.true + %5 = load i64, i64* %nmemb.addr, align 8 + %6 = load i64, i64* %size.addr, align 8 + %div = udiv i64 -1, %6 + %cmp5 = icmp ule i64 %5, %div + br i1 %cmp5, label %if.then7, label %if.end + +if.then7: ; preds = %if.then + %7 = load i8*, i8** %ptr.addr, align 8 + %8 = load i64, i64* %size.addr, align 8 + %9 = load i64, i64* %nmemb.addr, align 8 + %mul = mul i64 %8, %9 + %10 = load %struct.__STDIO_FILE_STRUCT.623*, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %call8 = call i64 @__stdio_fwrite(i8* %7, i64 %mul, %struct.__STDIO_FILE_STRUCT.623* %10) #18 + %11 = load i64, i64* %size.addr, align 8 + %div9 = udiv i64 %call8, %11 + store i64 %div9, i64* %retval, align 8 + br label %return + +if.end: ; preds = %if.then + %12 = load %struct.__STDIO_FILE_STRUCT.623*, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %__modeflags10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.623, %struct.__STDIO_FILE_STRUCT.623* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags10, align 8 + %conv11 = zext i16 %13 to i32 + %or = or i32 %conv11, 8 + %conv12 = trunc i32 %or to i16 + store i16 %conv12, i16* %__modeflags10, align 8 + store i32 22, i32* @errno, align 4 + br label %if.end13 + +if.end13: ; preds = %if.end, %land.lhs.true, %lor.lhs.false + store i64 0, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end13, %if.then7 + %14 = load i64, i64* %retval, align 8 + ret i64 %14 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.570* noalias %stream, i8* noalias %format, %struct.__va_list_tag.2* %arg) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.570*, align 8 + %format.addr = alloca i8*, align 8 + %arg.addr = alloca %struct.__va_list_tag.2*, align 8 + %ppfs = alloca %struct.ppfs_t.724, align 8 + %count = alloca i32, align 4 + %r = alloca i32, align 4 + %s = alloca i8*, align 8 + store %struct.__STDIO_FILE_STRUCT.570* %stream, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + store %struct.__va_list_tag.2* %arg, %struct.__va_list_tag.2** %arg.addr, align 8 + store i32 0, i32* %count, align 4 + %0 = load i8*, i8** %format.addr, align 8 + store i8* %0, i8** %s, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.570, %struct.__STDIO_FILE_STRUCT.570* %1, i32 0, i32 0 + %2 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %2 to i32 + %and = and i32 %conv, 192 + %cmp = icmp eq i32 %and, 192 + br i1 %cmp, label %if.else, label %land.lhs.true + +land.lhs.true: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %call = call i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.570* %3, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %land.lhs.true + store i32 -1, i32* %count, align 4 + br label %if.end65 + +if.else: ; preds = %land.lhs.true, %entry + %4 = load i8*, i8** %format.addr, align 8 + %call2 = call i32 @_ppfs_init(%struct.ppfs_t.724* %ppfs, i8* %4) #18 + %cmp3 = icmp slt i32 %call2, 0 + br i1 %cmp3, label %if.then5, label %if.else13 + +if.then5: ; preds = %if.else + %fmtpos = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %ppfs, i32 0, i32 0 + %5 = load i8*, i8** %fmtpos, align 8 + %call6 = call i64 @strlen(i8* %5) #20 + %cmp7 = icmp ugt i64 %call6, 0 + br i1 %cmp7, label %cond.true, label %cond.end + +cond.true: ; preds = %if.then5 + %fmtpos9 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %ppfs, i32 0, i32 0 + %6 = load i8*, i8** %fmtpos9, align 8 + %fmtpos10 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %ppfs, i32 0, i32 0 + %7 = load i8*, i8** %fmtpos10, align 8 + %call11 = call i64 @strlen(i8* %7) #20 + %8 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %call12 = call i64 bitcast (i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.623*)* @__stdio_fwrite to i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.570*)*)(i8* %6, i64 %call11, %struct.__STDIO_FILE_STRUCT.570* %8) #18 + br label %cond.end + +cond.end: ; preds = %if.then5, %cond.true + %cond = phi i64 [ %call12, %cond.true ], [ 0, %if.then5 ] + store i32 -1, i32* %count, align 4 + br label %if.end65 + +if.else13: ; preds = %if.else + %9 = load %struct.__va_list_tag.2*, %struct.__va_list_tag.2** %arg.addr, align 8 + call void @_ppfs_prepargs(%struct.ppfs_t.724* %ppfs, %struct.__va_list_tag.2* %9) #18 + br label %do.body + +do.body: ; preds = %do.cond, %if.else13 + br label %while.cond + +while.cond: ; preds = %while.body, %do.body + %10 = load i8*, i8** %format.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv14 = sext i8 %11 to i32 + %tobool15 = icmp ne i32 %conv14, 0 + br i1 %tobool15, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %12 = load i8*, i8** %format.addr, align 8 + %13 = load i8, i8* %12, align 1 + %conv16 = sext i8 %13 to i32 + %cmp17 = icmp ne i32 %conv16, 37 + br label %land.end + +land.end: ; preds = %land.rhs, %while.cond + %14 = phi i1 [ false, %while.cond ], [ %cmp17, %land.rhs ] + %15 = load i8*, i8** %format.addr, align 8 + br i1 %14, label %while.body, label %while.end + +while.body: ; preds = %land.end + %incdec.ptr = getelementptr inbounds i8, i8* %15, i32 1 + store i8* %incdec.ptr, i8** %format.addr, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %16 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %15 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %16 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool19 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %tobool19, label %if.then20, label %if.end42 + +if.then20: ; preds = %while.end + %17 = load i8*, i8** %format.addr, align 8 + %18 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast21 = ptrtoint i8* %17 to i64 + %sub.ptr.rhs.cast22 = ptrtoint i8* %18 to i64 + %sub.ptr.sub23 = sub i64 %sub.ptr.lhs.cast21, %sub.ptr.rhs.cast22 + %cmp24 = icmp sgt i64 %sub.ptr.sub23, 0 + br i1 %cmp24, label %cond.true26, label %cond.end32 + +cond.true26: ; preds = %if.then20 + %19 = load i8*, i8** %s, align 8 + %20 = load i8*, i8** %format.addr, align 8 + %21 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast27 = ptrtoint i8* %20 to i64 + %sub.ptr.rhs.cast28 = ptrtoint i8* %21 to i64 + %sub.ptr.sub29 = sub i64 %sub.ptr.lhs.cast27, %sub.ptr.rhs.cast28 + %22 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %call30 = call i64 bitcast (i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.623*)* @__stdio_fwrite to i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.570*)*)(i8* %19, i64 %sub.ptr.sub29, %struct.__STDIO_FILE_STRUCT.570* %22) #18 + br label %cond.end32 + +cond.end32: ; preds = %if.then20, %cond.true26 + %cond33 = phi i64 [ %call30, %cond.true26 ], [ 0, %if.then20 ] + %conv34 = trunc i64 %cond33 to i32 + store i32 %conv34, i32* %r, align 4 + %conv35 = sext i32 %conv34 to i64 + %23 = load i8*, i8** %format.addr, align 8 + %24 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast36 = ptrtoint i8* %23 to i64 + %sub.ptr.rhs.cast37 = ptrtoint i8* %24 to i64 + %sub.ptr.sub38 = sub i64 %sub.ptr.lhs.cast36, %sub.ptr.rhs.cast37 + %cmp39 = icmp ne i64 %conv35, %sub.ptr.sub38 + br i1 %cmp39, label %if.then41, label %if.end + +if.then41: ; preds = %cond.end32 + store i32 -1, i32* %count, align 4 + br label %do.end + +if.end: ; preds = %cond.end32 + %25 = load i32, i32* %r, align 4 + %26 = load i32, i32* %count, align 4 + %add = add nsw i32 %26, %25 + store i32 %add, i32* %count, align 4 + br label %if.end42 + +if.end42: ; preds = %if.end, %while.end + %27 = load i8*, i8** %format.addr, align 8 + %28 = load i8, i8* %27, align 1 + %tobool43 = icmp ne i8 %28, 0 + br i1 %tobool43, label %if.end45, label %do.end + +if.end45: ; preds = %if.end42 + %29 = load i8*, i8** %format.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %29, i64 1 + %30 = load i8, i8* %arrayidx, align 1 + %conv46 = sext i8 %30 to i32 + %cmp47 = icmp ne i32 %conv46, 37 + %31 = load i8*, i8** %format.addr, align 8 + %incdec.ptr50 = getelementptr inbounds i8, i8* %31, i32 1 + store i8* %incdec.ptr50, i8** %format.addr, align 8 + br i1 %cmp47, label %if.then49, label %if.else58 + +if.then49: ; preds = %if.end45 + %fmtpos51 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %ppfs, i32 0, i32 0 + store i8* %incdec.ptr50, i8** %fmtpos51, align 8 + %32 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %call52 = call i32 @_do_one_spec(%struct.__STDIO_FILE_STRUCT.570* %32, %struct.ppfs_t.724* %ppfs, i32* %count) #18 + store i32 %call52, i32* %r, align 4 + %cmp53 = icmp slt i32 %call52, 0 + br i1 %cmp53, label %if.then55, label %if.end56 + +if.then55: ; preds = %if.then49 + store i32 -1, i32* %count, align 4 + br label %do.end + +if.end56: ; preds = %if.then49 + %fmtpos57 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %ppfs, i32 0, i32 0 + %33 = load i8*, i8** %fmtpos57, align 8 + store i8* %33, i8** %format.addr, align 8 + store i8* %33, i8** %s, align 8 + br label %do.cond + +if.else58: ; preds = %if.end45 + store i8* %incdec.ptr50, i8** %s, align 8 + %34 = load i8*, i8** %format.addr, align 8 + %incdec.ptr60 = getelementptr inbounds i8, i8* %34, i32 1 + store i8* %incdec.ptr60, i8** %format.addr, align 8 + br label %do.cond + +do.cond: ; preds = %if.end56, %if.else58 + br label %do.body + +do.end: ; preds = %if.end42, %if.then55, %if.then41 + %arg62 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %ppfs, i32 0, i32 7 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %arg62, i64 0, i64 0 + %arraydecay63 = bitcast %struct.__va_list_tag.2* %arraydecay to i8* + call void @llvm.va_end(i8* %arraydecay63) + br label %if.end65 + +if.end65: ; preds = %cond.end, %do.end, %if.then + %35 = load i32, i32* %count, align 4 + ret i32 %35 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_do_one_spec(%struct.__STDIO_FILE_STRUCT.570* noalias %stream, %struct.ppfs_t.724* %ppfs, i32* %count) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.570*, align 8 + %ppfs.addr = alloca %struct.ppfs_t.724*, align 8 + %count.addr = alloca i32*, align 8 + %argptr = alloca [1 x i8*], align 8 + %argtype = alloca i32*, align 8 + %ws = alloca i32*, align 8 + %mbstate = alloca %struct.__mbstate_t.514, align 4 + %slen = alloca i64, align 8 + %base = alloca i32, align 4 + %numpad = alloca i32, align 4 + %alphacase = alloca i32, align 4 + %numfill = alloca i32, align 4 + %prefix_num = alloca i32, align 4 + %padchar = alloca i8, align 1 + %buf = alloca [128 x i8], align 16 + %p = alloca %union.anon.195*, align 8 + %i = alloca i32, align 4 + %s = alloca i8*, align 8 + %nf = alloca i64, align 8 + %t = alloca i64, align 8 + %t351 = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.570* %stream, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + store %struct.ppfs_t.724* %ppfs, %struct.ppfs_t.724** %ppfs.addr, align 8 + store i32* %count, i32** %count.addr, align 8 + store i32* null, i32** %ws, align 8 + store i32 0, i32* %numfill, align 4 + store i32 11, i32* %prefix_num, align 4 + store i8 32, i8* %padchar, align 1 + %0 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %call = call i32 @_ppfs_parsespec(%struct.ppfs_t.724* %0) #18 + %1 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + call void @_ppfs_setargs(%struct.ppfs_t.724* %1) #18 + %2 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %argtype1 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %2, i32 0, i32 6 + %arraydecay = getelementptr inbounds [9 x i32], [9 x i32]* %argtype1, i64 0, i64 0 + %3 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %argnumber = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %3, i32 0, i32 5 + %arrayidx = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber, i64 0, i64 2 + %4 = load i8, i8* %arrayidx, align 2 + %conv = zext i8 %4 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds i32, i32* %arraydecay, i64 %idx.ext + %add.ptr2 = getelementptr inbounds i32, i32* %add.ptr, i64 -1 + store i32* %add.ptr2, i32** %argtype, align 8 + %5 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %argvalue = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %5, i32 0, i32 8 + %arraydecay3 = getelementptr inbounds [9 x %union.anon.195], [9 x %union.anon.195]* %argvalue, i64 0, i64 0 + store %union.anon.195* %arraydecay3, %union.anon.195** %p, align 8 + %6 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %6, i32 0, i32 2 + %7 = load i32, i32* %maxposarg, align 4 + %cmp = icmp sgt i32 %7, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %8 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %argnumber5 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %8, i32 0, i32 5 + %arrayidx6 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber5, i64 0, i64 2 + %9 = load i8, i8* %arrayidx6, align 2 + %conv7 = zext i8 %9 to i32 + %sub = sub nsw i32 %conv7, 1 + %10 = load %union.anon.195*, %union.anon.195** %p, align 8 + %idx.ext8 = sext i32 %sub to i64 + %add.ptr9 = getelementptr inbounds %union.anon.195, %union.anon.195* %10, i64 %idx.ext8 + store %union.anon.195* %add.ptr9, %union.anon.195** %p, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %11 = load i32, i32* %i, align 4 + %12 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %12, i32 0, i32 3 + %13 = load i32, i32* %num_data_args, align 8 + %cmp10 = icmp slt i32 %11, %13 + br i1 %cmp10, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %14 = load %union.anon.195*, %union.anon.195** %p, align 8 + %incdec.ptr = getelementptr inbounds %union.anon.195, %union.anon.195* %14, i32 1 + store %union.anon.195* %incdec.ptr, %union.anon.195** %p, align 8 + %15 = bitcast %union.anon.195* %14 to i8* + %16 = load i32, i32* %i, align 4 + %idxprom = sext i32 %16 to i64 + %arrayidx12 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 %idxprom + store i8* %15, i8** %arrayidx12, align 8 + %17 = load i32, i32* %i, align 4 + %inc = add nsw i32 %17, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + store i8* null, i8** %s, align 8 + %18 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %conv_num = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %18, i32 0, i32 4 + %19 = load i32, i32* %conv_num, align 4 + %cmp13 = icmp eq i32 %19, 0 + br i1 %cmp13, label %if.then15, label %if.end18 + +if.then15: ; preds = %for.end + %arraydecay16 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %20 = load i8*, i8** %arraydecay16, align 8 + %21 = bitcast i8* %20 to i8** + %22 = load i8*, i8** %21, align 8 + %23 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %23, i32 0, i32 1 + %_flags = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info, i32 0, i32 3 + %24 = load i32, i32* %_flags, align 4 + %and = and i32 %24, 3840 + %25 = load i32*, i32** %count.addr, align 8 + %26 = load i32, i32* %25, align 4 + %conv17 = sext i32 %26 to i64 + call void @_store_inttype(i8* %22, i32 %and, i64 %conv17) #18 + store i32 0, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %for.end + %27 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %conv_num19 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %27, i32 0, i32 4 + %28 = load i32, i32* %conv_num19, align 4 + %cmp20 = icmp ule i32 %28, 7 + br i1 %cmp20, label %if.then22, label %if.else179 + +if.then22: ; preds = %if.end18 + store i32 87, i32* %alphacase, align 4 + %29 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %conv_num23 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %29, i32 0, i32 4 + %30 = load i32, i32* %conv_num23, align 4 + %sub24 = sub i32 %30, 1 + %idxprom25 = sext i32 %sub24 to i64 + %arrayidx26 = getelementptr inbounds [7 x i8], [7 x i8]* @_do_one_spec.spec_base, i64 0, i64 %idxprom25 + %31 = load i8, i8* %arrayidx26, align 1 + %conv27 = sext i8 %31 to i32 + store i32 %conv27, i32* %base, align 4 + %cmp28 = icmp eq i32 %conv27, 10 + br i1 %cmp28, label %if.then30, label %if.end42 + +if.then30: ; preds = %if.then22 + %32 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info31 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %32, i32 0, i32 1 + %_flags32 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info31, i32 0, i32 3 + %33 = load i32, i32* %_flags32, align 4 + %and33 = and i32 %33, 32 + %tobool = icmp ne i32 %and33, 0 + br i1 %tobool, label %if.then34, label %if.end35 + +if.then34: ; preds = %if.then30 + store i32 44, i32* %alphacase, align 4 + br label %if.end35 + +if.end35: ; preds = %if.then34, %if.then30 + %34 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info36 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %34, i32 0, i32 1 + %_flags37 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info36, i32 0, i32 3 + %35 = load i32, i32* %_flags37, align 4 + %and38 = and i32 %35, 64 + %tobool39 = icmp ne i32 %and38, 0 + br i1 %tobool39, label %if.then40, label %if.end42 + +if.then40: ; preds = %if.end35 + %36 = load i32, i32* %alphacase, align 4 + %or = or i32 %36, 128 + store i32 %or, i32* %alphacase, align 4 + br label %if.end42 + +if.end42: ; preds = %if.end35, %if.then40, %if.then22 + %37 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %conv_num43 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %37, i32 0, i32 4 + %38 = load i32, i32* %conv_num43, align 4 + %cmp44 = icmp ule i32 %38, 5 + br i1 %cmp44, label %if.then46, label %if.else57 + +if.then46: ; preds = %if.end42 + %39 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %conv_num47 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %39, i32 0, i32 4 + %40 = load i32, i32* %conv_num47, align 4 + %cmp48 = icmp eq i32 %40, 3 + br i1 %cmp48, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.then46 + store i32 55, i32* %alphacase, align 4 + br label %if.end51 + +if.end51: ; preds = %if.then50, %if.then46 + %41 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %conv_num52 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %41, i32 0, i32 4 + %42 = load i32, i32* %conv_num52, align 4 + %cmp53 = icmp eq i32 %42, 1 + br i1 %cmp53, label %if.then55, label %if.end59 + +if.then55: ; preds = %if.end51 + store i32 6, i32* %prefix_num, align 4 + br label %if.end59 + +if.else57: ; preds = %if.end42 + %43 = load i32, i32* %base, align 4 + %sub58 = sub nsw i32 0, %43 + store i32 %sub58, i32* %base, align 4 + br label %if.end59 + +if.end59: ; preds = %if.then55, %if.end51, %if.else57 + %44 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info60 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %44, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info60, i32 0, i32 0 + %45 = load i32, i32* %prec, align 8 + %cmp61 = icmp slt i32 %45, 0 + br i1 %cmp61, label %if.then63, label %if.end66 + +if.then63: ; preds = %if.end59 + %46 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info64 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %46, i32 0, i32 1 + %pad = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info64, i32 0, i32 4 + %47 = load i32, i32* %pad, align 8 + %conv65 = trunc i32 %47 to i8 + store i8 %conv65, i8* %padchar, align 1 + br label %if.end66 + +if.end66: ; preds = %if.then63, %if.end59 + %arraydecay67 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %add.ptr68 = getelementptr inbounds i8, i8* %arraydecay67, i64 128 + %add.ptr69 = getelementptr inbounds i8, i8* %add.ptr68, i64 -1 + %48 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %conv_num70 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %48, i32 0, i32 4 + %49 = load i32, i32* %conv_num70, align 4 + %cmp71 = icmp eq i32 %49, 1 + br i1 %cmp71, label %cond.end, label %cond.false + +cond.false: ; preds = %if.end66 + %50 = load i32*, i32** %argtype, align 8 + %51 = load i32, i32* %50, align 4 + %and73 = and i32 %51, 3840 + br label %cond.end + +cond.end: ; preds = %if.end66, %cond.false + %cond = phi i32 [ %and73, %cond.false ], [ 1024, %if.end66 ] + %arraydecay74 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %52 = load i8*, i8** %arraydecay74, align 8 + %53 = load i32, i32* %base, align 4 + %call75 = call i64 @_load_inttype(i32 %cond, i8* %52, i32 %53) #18 + %54 = load i32, i32* %base, align 4 + %55 = load i32, i32* %alphacase, align 4 + %call76 = call i8* @_uintmaxtostr(i8* %add.ptr69, i64 %call75, i32 %54, i32 %55) #18 + store i8* %call76, i8** %s, align 8 + %56 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %conv_num77 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %56, i32 0, i32 4 + %57 = load i32, i32* %conv_num77, align 4 + %cmp78 = icmp ugt i32 %57, 5 + br i1 %cmp78, label %if.then80, label %if.end104 + +if.then80: ; preds = %cond.end + %58 = load i8*, i8** %s, align 8 + %59 = load i8, i8* %58, align 1 + %conv81 = sext i8 %59 to i32 + %cmp82 = icmp eq i32 %conv81, 45 + %60 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info85 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %60, i32 0, i32 1 + %_flags86 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info85, i32 0, i32 3 + %61 = load i32, i32* %_flags86, align 4 + br i1 %cmp82, label %if.then84, label %if.else89 + +if.then84: ; preds = %if.then80 + %or87 = or i32 %61, 2 + store i32 %or87, i32* %_flags86, align 4 + %62 = load i8*, i8** %s, align 8 + %incdec.ptr88 = getelementptr inbounds i8, i8* %62, i32 1 + store i8* %incdec.ptr88, i8** %s, align 8 + store i32 2, i32* %prefix_num, align 4 + br label %if.end104 + +if.else89: ; preds = %if.then80 + %and92 = and i32 %61, 2 + %tobool93 = icmp ne i32 %and92, 0 + br i1 %tobool93, label %if.then94, label %if.else95 + +if.then94: ; preds = %if.else89 + store i32 0, i32* %prefix_num, align 4 + br label %if.end104 + +if.else95: ; preds = %if.else89 + %63 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info96 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %63, i32 0, i32 1 + %_flags97 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info96, i32 0, i32 3 + %64 = load i32, i32* %_flags97, align 4 + %and98 = and i32 %64, 1 + %tobool99 = icmp ne i32 %and98, 0 + br i1 %tobool99, label %if.then100, label %if.end104 + +if.then100: ; preds = %if.else95 + store i32 4, i32* %prefix_num, align 4 + br label %if.end104 + +if.end104: ; preds = %if.then84, %if.else95, %if.then100, %if.then94, %cond.end + %arraydecay105 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %add.ptr106 = getelementptr inbounds i8, i8* %arraydecay105, i64 128 + %add.ptr107 = getelementptr inbounds i8, i8* %add.ptr106, i64 -1 + %65 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %add.ptr107 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %65 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %slen, align 8 + %66 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info108 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %66, i32 0, i32 1 + %prec109 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info108, i32 0, i32 0 + %67 = load i32, i32* %prec109, align 8 + %cmp110 = icmp slt i32 %67, 0 + br i1 %cmp110, label %cond.end116, label %cond.false113 + +cond.false113: ; preds = %if.end104 + %68 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info114 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %68, i32 0, i32 1 + %prec115 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info114, i32 0, i32 0 + %69 = load i32, i32* %prec115, align 8 + br label %cond.end116 + +cond.end116: ; preds = %if.end104, %cond.false113 + %cond117 = phi i32 [ %69, %cond.false113 ], [ 1, %if.end104 ] + store i32 %cond117, i32* %numfill, align 4 + %70 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info118 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %70, i32 0, i32 1 + %_flags119 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info118, i32 0, i32 3 + %71 = load i32, i32* %_flags119, align 4 + %and120 = and i32 %71, 16 + %tobool121 = icmp ne i32 %and120, 0 + br i1 %tobool121, label %if.then122, label %if.end149 + +if.then122: ; preds = %cond.end116 + %72 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %conv_num123 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %72, i32 0, i32 4 + %73 = load i32, i32* %conv_num123, align 4 + %cmp124 = icmp ule i32 %73, 2 + br i1 %cmp124, label %if.then126, label %if.end127 + +if.then126: ; preds = %if.then122 + store i32 6, i32* %prefix_num, align 4 + br label %if.end127 + +if.end127: ; preds = %if.then126, %if.then122 + %74 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %conv_num128 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %74, i32 0, i32 4 + %75 = load i32, i32* %conv_num128, align 4 + %cmp129 = icmp eq i32 %75, 3 + br i1 %cmp129, label %if.then131, label %if.end132 + +if.then131: ; preds = %if.end127 + store i32 9, i32* %prefix_num, align 4 + br label %if.end132 + +if.end132: ; preds = %if.then131, %if.end127 + %76 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %conv_num133 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %76, i32 0, i32 4 + %77 = load i32, i32* %conv_num133, align 4 + %cmp134 = icmp eq i32 %77, 4 + br i1 %cmp134, label %land.lhs.true, label %if.end149 + +land.lhs.true: ; preds = %if.end132 + %78 = load i32, i32* %numfill, align 4 + %conv136 = sext i32 %78 to i64 + %79 = load i64, i64* %slen, align 8 + %cmp137 = icmp ule i64 %conv136, %79 + br i1 %cmp137, label %if.then139, label %if.end149 + +if.then139: ; preds = %land.lhs.true + %80 = load i8*, i8** %s, align 8 + %81 = load i8, i8* %80, align 1 + %conv140 = sext i8 %81 to i32 + %cmp141 = icmp eq i32 %conv140, 48 + %82 = load i64, i64* %slen, align 8 + %add = add i64 %82, 1 + %cond146 = select i1 %cmp141, i64 1, i64 %add + %conv147 = trunc i64 %cond146 to i32 + store i32 %conv147, i32* %numfill, align 4 + br label %if.end149 + +if.end149: ; preds = %if.end132, %land.lhs.true, %if.then139, %cond.end116 + %83 = load i8*, i8** %s, align 8 + %84 = load i8, i8* %83, align 1 + %conv150 = sext i8 %84 to i32 + %cmp151 = icmp eq i32 %conv150, 48 + br i1 %cmp151, label %if.then153, label %if.end168 + +if.then153: ; preds = %if.end149 + %85 = load i32, i32* %prefix_num, align 4 + %cmp154 = icmp sge i32 %85, 6 + br i1 %cmp154, label %if.then156, label %if.end157 + +if.then156: ; preds = %if.then153 + store i32 11, i32* %prefix_num, align 4 + br label %if.end157 + +if.end157: ; preds = %if.then156, %if.then153 + %86 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %conv_num158 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %86, i32 0, i32 4 + %87 = load i32, i32* %conv_num158, align 4 + %cmp159 = icmp eq i32 %87, 1 + br i1 %cmp159, label %if.then161, label %if.else162 + +if.then161: ; preds = %if.end157 + store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.336, i64 0, i64 0), i8** %s, align 8 + store i64 5, i64* %slen, align 8 + store i32 0, i32* %numfill, align 4 + br label %if.end168 + +if.else162: ; preds = %if.end157 + %88 = load i32, i32* %numfill, align 4 + %cmp163 = icmp eq i32 %88, 0 + br i1 %cmp163, label %if.then165, label %if.end168 + +if.then165: ; preds = %if.else162 + store i64 0, i64* %slen, align 8 + br label %if.end168 + +if.end168: ; preds = %if.then161, %if.then165, %if.else162, %if.end149 + %89 = load i32, i32* %numfill, align 4 + %conv169 = sext i32 %89 to i64 + %90 = load i64, i64* %slen, align 8 + %cmp170 = icmp ugt i64 %conv169, %90 + %91 = load i32, i32* %numfill, align 4 + %conv173 = sext i32 %91 to i64 + %92 = load i64, i64* %slen, align 8 + %sub174 = sub i64 %conv173, %92 + %cond177 = select i1 %cmp170, i64 %sub174, i64 0 + %conv178 = trunc i64 %cond177 to i32 + store i32 %conv178, i32* %numfill, align 4 + br label %if.end278 + +if.else179: ; preds = %if.end18 + %93 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %conv_num180 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %93, i32 0, i32 4 + %94 = load i32, i32* %conv_num180, align 4 + %cmp181 = icmp ule i32 %94, 15 + br i1 %cmp181, label %if.then183, label %if.else203 + +if.then183: ; preds = %if.else179 + %95 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %arraydecay189 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %96 = load i8*, i8** %arraydecay189, align 8 + %97 = bitcast i8* %96 to double* + %98 = load double, double* %97, align 8 + %99 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info194 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %99, i32 0, i32 1 + %call195 = call i64 @_fpmaxtostr(%struct.__STDIO_FILE_STRUCT.570* %95, double %98, %struct.printf_info.722* %info194, i64 (%struct.__STDIO_FILE_STRUCT.570*, i64, i64, i64)* @_fp_out_narrow) #18 + store i64 %call195, i64* %nf, align 8 + %100 = load i64, i64* %nf, align 8 + %cmp196 = icmp slt i64 %100, 0 + br i1 %cmp196, label %if.then198, label %if.end199 + +if.then198: ; preds = %if.then183 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end199: ; preds = %if.then183 + %101 = load i64, i64* %nf, align 8 + %102 = load i32*, i32** %count.addr, align 8 + %103 = load i32, i32* %102, align 4 + %conv200 = sext i32 %103 to i64 + %add201 = add nsw i64 %conv200, %101 + %conv202 = trunc i64 %add201 to i32 + store i32 %conv202, i32* %102, align 4 + store i32 0, i32* %retval, align 4 + br label %return + +if.else203: ; preds = %if.else179 + %104 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %conv_num204 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %104, i32 0, i32 4 + %105 = load i32, i32* %conv_num204, align 4 + %cmp205 = icmp ule i32 %105, 17 + br i1 %cmp205, label %if.then207, label %if.else242 + +if.then207: ; preds = %if.else203 + %__mask = getelementptr inbounds %struct.__mbstate_t.514, %struct.__mbstate_t.514* %mbstate, i32 0, i32 0 + store i32 0, i32* %__mask, align 4 + %106 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %conv_num208 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %106, i32 0, i32 4 + %107 = load i32, i32* %conv_num208, align 4 + %cmp209 = icmp eq i32 %107, 17 + br i1 %cmp209, label %if.then211, label %if.else232 + +if.then211: ; preds = %if.then207 + %arraydecay212 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %108 = load i8*, i8** %arraydecay212, align 8 + %109 = bitcast i8* %108 to i32** + %110 = load i32*, i32** %109, align 8 + store i32* %110, i32** %ws, align 8 + %tobool213 = icmp ne i32* %110, null + br i1 %tobool213, label %if.end215, label %NULL_STRING + +if.end215: ; preds = %if.then211 + %111 = bitcast i32** %ws to i8* + %112 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info216 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %112, i32 0, i32 1 + %prec217 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info216, i32 0, i32 0 + %113 = load i32, i32* %prec217, align 8 + %cmp218 = icmp sge i32 %113, 0 + br i1 %cmp218, label %cond.true220, label %cond.end225 + +cond.true220: ; preds = %if.end215 + %114 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info221 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %114, i32 0, i32 1 + %prec222 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info221, i32 0, i32 0 + %115 = load i32, i32* %prec222, align 8 + %conv223 = sext i32 %115 to i64 + br label %cond.end225 + +cond.end225: ; preds = %if.end215, %cond.true220 + %cond226 = phi i64 [ %conv223, %cond.true220 ], [ -1, %if.end215 ] + %call227 = call i64 @wcsrtombs(i8* %111, i32** %ws, i64 %cond226, %struct.__mbstate_t.514* %mbstate) #19 + store i64 %call227, i64* %slen, align 8 + %cmp228 = icmp eq i64 %call227, -1 + br i1 %cmp228, label %if.then230, label %if.end278 + +if.then230: ; preds = %cond.end225 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else232: ; preds = %if.then207 + %arraydecay233 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay233, i8** %s, align 8 + %116 = load i8*, i8** %s, align 8 + %arraydecay234 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %117 = load i8*, i8** %arraydecay234, align 8 + %118 = bitcast i8* %117 to i32* + %119 = load i32, i32* %118, align 4 + %call235 = call i64 @wcrtomb(i8* %116, i32 %119, %struct.__mbstate_t.514* %mbstate) #19 + store i64 %call235, i64* %slen, align 8 + %120 = load i64, i64* %slen, align 8 + %cmp236 = icmp eq i64 %120, -1 + br i1 %cmp236, label %if.then238, label %if.end239 + +if.then238: ; preds = %if.else232 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end239: ; preds = %if.else232 + %121 = load i8*, i8** %s, align 8 + %122 = load i64, i64* %slen, align 8 + %arrayidx240 = getelementptr inbounds i8, i8* %121, i64 %122 + store i8 0, i8* %arrayidx240, align 1 + br label %if.end278 + +if.else242: ; preds = %if.else203 + %123 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %conv_num243 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %123, i32 0, i32 4 + %124 = load i32, i32* %conv_num243, align 4 + %cmp244 = icmp ule i32 %124, 19 + br i1 %cmp244, label %if.then246, label %if.else274 + +if.then246: ; preds = %if.else242 + %125 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %conv_num247 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %125, i32 0, i32 4 + %126 = load i32, i32* %conv_num247, align 4 + %cmp248 = icmp eq i32 %126, 19 + br i1 %cmp248, label %if.then250, label %if.else268 + +if.then250: ; preds = %if.then246 + %arraydecay251 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %127 = load i8*, i8** %arraydecay251, align 8 + %128 = bitcast i8* %127 to i8** + %129 = load i8*, i8** %128, align 8 + store i8* %129, i8** %s, align 8 + %130 = load i8*, i8** %s, align 8 + %tobool252 = icmp ne i8* %130, null + br i1 %tobool252, label %if.then253, label %NULL_STRING + +if.then253: ; preds = %if.then250 + %131 = load i8*, i8** %s, align 8 + %132 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info254 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %132, i32 0, i32 1 + %prec255 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info254, i32 0, i32 0 + %133 = load i32, i32* %prec255, align 8 + %cmp256 = icmp sge i32 %133, 0 + br i1 %cmp256, label %cond.true258, label %cond.end263 + +cond.true258: ; preds = %if.then253 + %134 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info259 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %134, i32 0, i32 1 + %prec260 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info259, i32 0, i32 0 + %135 = load i32, i32* %prec260, align 8 + %conv261 = sext i32 %135 to i64 + br label %cond.end263 + +cond.end263: ; preds = %if.then253, %cond.true258 + %cond264 = phi i64 [ %conv261, %cond.true258 ], [ -1, %if.then253 ] + %call265 = call i64 @strnlen(i8* %131, i64 %cond264) #20 + store i64 %call265, i64* %slen, align 8 + br label %if.end278 + +NULL_STRING: ; preds = %if.then250, %if.then211 + store i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.337, i64 0, i64 0), i8** %s, align 8 + store i64 6, i64* %slen, align 8 + br label %if.end278 + +if.else268: ; preds = %if.then246 + %arraydecay269 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay269, i8** %s, align 8 + %arraydecay270 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %136 = load i8*, i8** %arraydecay270, align 8 + %137 = bitcast i8* %136 to i32* + %138 = load i32, i32* %137, align 4 + %conv271 = trunc i32 %138 to i8 + %139 = load i8*, i8** %s, align 8 + store i8 %conv271, i8* %139, align 1 + %140 = load i8*, i8** %s, align 8 + %arrayidx272 = getelementptr inbounds i8, i8* %140, i64 1 + store i8 0, i8* %arrayidx272, align 1 + store i64 1, i64* %slen, align 8 + br label %if.end278 + +if.else274: ; preds = %if.else242 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end278: ; preds = %cond.end263, %NULL_STRING, %if.else268, %if.end239, %cond.end225, %if.end168 + %141 = load i64, i64* %slen, align 8 + %142 = load i32, i32* %numfill, align 4 + %conv279 = sext i32 %142 to i64 + %add280 = add i64 %141, %conv279 + store i64 %add280, i64* %t, align 8 + %143 = load i32, i32* %prefix_num, align 4 + %cmp281 = icmp ne i32 %143, 11 + br i1 %cmp281, label %if.then283, label %if.end289 + +if.then283: ; preds = %if.end278 + %144 = load i32, i32* %prefix_num, align 4 + %cmp284 = icmp slt i32 %144, 6 + %145 = zext i1 %cmp284 to i64 + %cond286 = select i1 %cmp284, i32 1, i32 2 + %conv287 = sext i32 %cond286 to i64 + %146 = load i64, i64* %t, align 8 + %add288 = add i64 %146, %conv287 + store i64 %add288, i64* %t, align 8 + br label %if.end289 + +if.end289: ; preds = %if.then283, %if.end278 + %147 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info290 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %147, i32 0, i32 1 + %width = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info290, i32 0, i32 1 + %148 = load i32, i32* %width, align 4 + %conv291 = sext i32 %148 to i64 + %149 = load i64, i64* %t, align 8 + %cmp292 = icmp ugt i64 %conv291, %149 + br i1 %cmp292, label %cond.true294, label %cond.end300 + +cond.true294: ; preds = %if.end289 + %150 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info295 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %150, i32 0, i32 1 + %width296 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info295, i32 0, i32 1 + %151 = load i32, i32* %width296, align 4 + %conv297 = sext i32 %151 to i64 + %152 = load i64, i64* %t, align 8 + %sub298 = sub i64 %conv297, %152 + br label %cond.end300 + +cond.end300: ; preds = %if.end289, %cond.true294 + %cond301 = phi i64 [ %sub298, %cond.true294 ], [ 0, %if.end289 ] + %conv302 = trunc i64 %cond301 to i32 + store i32 %conv302, i32* %numpad, align 4 + %153 = load i64, i64* %t, align 8 + %154 = load i32, i32* %numpad, align 4 + %conv303 = sext i32 %154 to i64 + %add304 = add i64 %153, %conv303 + %155 = load i32*, i32** %count.addr, align 8 + %156 = load i32, i32* %155, align 4 + %conv305 = sext i32 %156 to i64 + %add306 = add i64 %conv305, %add304 + %conv307 = trunc i64 %add306 to i32 + store i32 %conv307, i32* %155, align 4 + %157 = load i8, i8* %padchar, align 1 + %conv308 = sext i8 %157 to i32 + %cmp309 = icmp eq i32 %conv308, 48 + br i1 %cmp309, label %if.then311, label %if.end313 + +if.then311: ; preds = %cond.end300 + %158 = load i32, i32* %numpad, align 4 + %159 = load i32, i32* %numfill, align 4 + %add312 = add nsw i32 %159, %158 + store i32 %add312, i32* %numfill, align 4 + store i32 0, i32* %numpad, align 4 + br label %if.end313 + +if.end313: ; preds = %if.then311, %cond.end300 + %160 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info314 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %160, i32 0, i32 1 + %_flags315 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info314, i32 0, i32 3 + %161 = load i32, i32* %_flags315, align 4 + %and316 = and i32 %161, 8 + %tobool317 = icmp ne i32 %and316, 0 + br i1 %tobool317, label %if.end326, label %if.then318 + +if.then318: ; preds = %if.end313 + %162 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %163 = load i32, i32* %numpad, align 4 + %conv319 = sext i32 %163 to i64 + %call320 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.570* %162, i32 32, i64 %conv319) #18 + %164 = load i32, i32* %numpad, align 4 + %conv321 = sext i32 %164 to i64 + %cmp322 = icmp ne i64 %call320, %conv321 + br i1 %cmp322, label %if.then324, label %if.end325 + +if.then324: ; preds = %if.then318 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end325: ; preds = %if.then318 + store i32 0, i32* %numpad, align 4 + br label %if.end326 + +if.end326: ; preds = %if.end325, %if.end313 + %165 = load i32, i32* %prefix_num, align 4 + %idx.ext327 = sext i32 %165 to i64 + %add.ptr328 = getelementptr inbounds i8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @_do_one_spec.prefix, i64 0, i64 0), i64 %idx.ext327 + %166 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %call329 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.623*)* @fputs_unlocked to i32 (i8*, %struct.__STDIO_FILE_STRUCT.570*)*)(i8* %add.ptr328, %struct.__STDIO_FILE_STRUCT.570* %166) #18 + %167 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %168 = load i32, i32* %numfill, align 4 + %conv330 = sext i32 %168 to i64 + %call331 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.570* %167, i32 48, i64 %conv330) #18 + %169 = load i32, i32* %numfill, align 4 + %conv332 = sext i32 %169 to i64 + %cmp333 = icmp ne i64 %call331, %conv332 + br i1 %cmp333, label %if.then335, label %if.end336 + +if.then335: ; preds = %if.end326 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end336: ; preds = %if.end326 + %170 = load i32*, i32** %ws, align 8 + %tobool337 = icmp ne i32* %170, null + br i1 %tobool337, label %if.else350, label %if.then338 + +if.then338: ; preds = %if.end336 + %171 = load i64, i64* %slen, align 8 + %cmp339 = icmp ugt i64 %171, 0 + br i1 %cmp339, label %cond.true341, label %cond.end344 + +cond.true341: ; preds = %if.then338 + %172 = load i8*, i8** %s, align 8 + %173 = load i64, i64* %slen, align 8 + %174 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %call342 = call i64 bitcast (i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.623*)* @__stdio_fwrite to i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.570*)*)(i8* %172, i64 %173, %struct.__STDIO_FILE_STRUCT.570* %174) #18 + br label %cond.end344 + +cond.end344: ; preds = %if.then338, %cond.true341 + %cond345 = phi i64 [ %call342, %cond.true341 ], [ 0, %if.then338 ] + %175 = load i64, i64* %slen, align 8 + %cmp346 = icmp ne i64 %cond345, %175 + br i1 %cmp346, label %if.then348, label %if.end375 + +if.then348: ; preds = %cond.end344 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else350: ; preds = %if.end336 + %__mask352 = getelementptr inbounds %struct.__mbstate_t.514, %struct.__mbstate_t.514* %mbstate, i32 0, i32 0 + store i32 0, i32* %__mask352, align 4 + br label %while.cond + +while.cond: ; preds = %if.end373, %if.else350 + %176 = load i64, i64* %slen, align 8 + %tobool353 = icmp ne i64 %176, 0 + br i1 %tobool353, label %while.body, label %if.end375 + +while.body: ; preds = %while.cond + %177 = load i64, i64* %slen, align 8 + %cmp354 = icmp ule i64 %177, 128 + %178 = load i64, i64* %slen, align 8 + %cond359 = select i1 %cmp354, i64 %178, i64 128 + store i64 %cond359, i64* %t351, align 8 + %arraydecay360 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %179 = load i64, i64* %t351, align 8 + %call361 = call i64 @wcsrtombs(i8* %arraydecay360, i32** %ws, i64 %179, %struct.__mbstate_t.514* %mbstate) #19 + store i64 %call361, i64* %t351, align 8 + %180 = load i64, i64* %t351, align 8 + %cmp362 = icmp ugt i64 %180, 0 + br i1 %cmp362, label %cond.true364, label %cond.end368 + +cond.true364: ; preds = %while.body + %arraydecay365 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %181 = load i64, i64* %t351, align 8 + %182 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %call366 = call i64 bitcast (i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.623*)* @__stdio_fwrite to i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.570*)*)(i8* %arraydecay365, i64 %181, %struct.__STDIO_FILE_STRUCT.570* %182) #18 + br label %cond.end368 + +cond.end368: ; preds = %while.body, %cond.true364 + %cond369 = phi i64 [ %call366, %cond.true364 ], [ 0, %while.body ] + %183 = load i64, i64* %t351, align 8 + %cmp370 = icmp ne i64 %cond369, %183 + br i1 %cmp370, label %if.then372, label %if.end373 + +if.then372: ; preds = %cond.end368 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end373: ; preds = %cond.end368 + %184 = load i64, i64* %t351, align 8 + %185 = load i64, i64* %slen, align 8 + %sub374 = sub i64 %185, %184 + store i64 %sub374, i64* %slen, align 8 + br label %while.cond + +if.end375: ; preds = %while.cond, %cond.end344 + %186 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %187 = load i32, i32* %numpad, align 4 + %conv376 = sext i32 %187 to i64 + %call377 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.570* %186, i32 32, i64 %conv376) #18 + %188 = load i32, i32* %numpad, align 4 + %conv378 = sext i32 %188 to i64 + %cmp379 = icmp ne i64 %call377, %conv378 + br i1 %cmp379, label %if.then381, label %if.end382 + +if.then381: ; preds = %if.end375 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end382: ; preds = %if.end375 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end382, %if.then381, %if.then372, %if.then348, %if.then335, %if.then324, %if.else274, %if.then238, %if.then230, %if.end199, %if.then198, %if.then15 + %189 = load i32, i32* %retval, align 4 + ret i32 %189 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @_fp_out_narrow(%struct.__STDIO_FILE_STRUCT.570* %fp, i64 %type, i64 %len, i64 %buf) #0 { +entry: + %retval = alloca i64, align 8 + %fp.addr = alloca %struct.__STDIO_FILE_STRUCT.570*, align 8 + %type.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %buf.addr = alloca i64, align 8 + %r = alloca i64, align 8 + %buflen = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.570* %fp, %struct.__STDIO_FILE_STRUCT.570** %fp.addr, align 8 + store i64 %type, i64* %type.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store i64 %buf, i64* %buf.addr, align 8 + store i64 0, i64* %r, align 8 + %0 = load i64, i64* %type.addr, align 8 + %and = and i64 %0, 128 + %tobool = icmp ne i64 %and, 0 + br i1 %tobool, label %if.then, label %if.end12 + +if.then: ; preds = %entry + %1 = load i64, i64* %buf.addr, align 8 + %2 = inttoptr i64 %1 to i8* + %call = call i64 @strlen(i8* %2) #20 + %conv = trunc i64 %call to i32 + store i32 %conv, i32* %buflen, align 4 + %3 = load i32, i32* %buflen, align 4 + %conv1 = sext i32 %3 to i64 + %4 = load i64, i64* %len.addr, align 8 + %sub = sub nsw i64 %4, %conv1 + store i64 %sub, i64* %len.addr, align 8 + %cmp = icmp sgt i64 %sub, 0 + br i1 %cmp, label %if.then3, label %if.end10 + +if.then3: ; preds = %if.then + %5 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %fp.addr, align 8 + %6 = load i64, i64* %type.addr, align 8 + %and4 = and i64 %6, 127 + %conv5 = trunc i64 %and4 to i32 + %7 = load i64, i64* %len.addr, align 8 + %call6 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.570* %5, i32 %conv5, i64 %7) #18 + store i64 %call6, i64* %r, align 8 + %8 = load i64, i64* %len.addr, align 8 + %cmp7 = icmp ne i64 %call6, %8 + br i1 %cmp7, label %if.then9, label %if.end10 + +if.then9: ; preds = %if.then3 + %9 = load i64, i64* %r, align 8 + store i64 %9, i64* %retval, align 8 + br label %return + +if.end10: ; preds = %if.then3, %if.then + %10 = load i32, i32* %buflen, align 4 + %conv11 = sext i32 %10 to i64 + store i64 %conv11, i64* %len.addr, align 8 + br label %if.end12 + +if.end12: ; preds = %if.end10, %entry + %11 = load i64, i64* %r, align 8 + %12 = load i64, i64* %len.addr, align 8 + %cmp13 = icmp sgt i64 %12, 0 + br i1 %cmp13, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end12 + %13 = load i64, i64* %buf.addr, align 8 + %14 = inttoptr i64 %13 to i8* + %15 = load i64, i64* %len.addr, align 8 + %16 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %fp.addr, align 8 + %call15 = call i64 bitcast (i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.623*)* @__stdio_fwrite to i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.570*)*)(i8* %14, i64 %15, %struct.__STDIO_FILE_STRUCT.570* %16) #18 + br label %cond.end + +cond.end: ; preds = %if.end12, %cond.true + %cond = phi i64 [ %call15, %cond.true ], [ 0, %if.end12 ] + %add = add i64 %11, %cond + store i64 %add, i64* %retval, align 8 + br label %return + +return: ; preds = %cond.end, %if.then9 + %17 = load i64, i64* %retval, align 8 + ret i64 %17 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @_charpad(%struct.__STDIO_FILE_STRUCT.570* noalias %stream, i32 %padchar, i64 %numpad) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.570*, align 8 + %padchar.addr = alloca i32, align 4 + %numpad.addr = alloca i64, align 8 + %todo = alloca i64, align 8 + %pad = alloca [1 x i8], align 1 + store %struct.__STDIO_FILE_STRUCT.570* %stream, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + store i32 %padchar, i32* %padchar.addr, align 4 + store i64 %numpad, i64* %numpad.addr, align 8 + %0 = load i64, i64* %numpad.addr, align 8 + store i64 %0, i64* %todo, align 8 + %1 = load i32, i32* %padchar.addr, align 4 + %conv = trunc i32 %1 to i8 + %arraydecay = getelementptr inbounds [1 x i8], [1 x i8]* %pad, i64 0, i64 0 + store i8 %conv, i8* %arraydecay, align 1 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %2 = load i64, i64* %todo, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %arraydecay1 = getelementptr inbounds [1 x i8], [1 x i8]* %pad, i64 0, i64 0 + %3 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %stream.addr, align 8 + %call = call i64 bitcast (i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.623*)* @__stdio_fwrite to i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.570*)*)(i8* %arraydecay1, i64 1, %struct.__STDIO_FILE_STRUCT.570* %3) #18 + %cmp = icmp eq i64 %call, 1 + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %land.rhs + %4 = load i64, i64* %todo, align 8 + %dec = add i64 %4, -1 + store i64 %dec, i64* %todo, align 8 + br label %while.cond + +while.end: ; preds = %while.cond, %land.rhs + %5 = load i64, i64* %numpad.addr, align 8 + %6 = load i64, i64* %todo, align 8 + %sub = sub i64 %5, %6 + ret i64 %sub +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__cxa_atexit(void (i8*)* %func, i8* %arg, i8* %dso_handle) #0 { +entry: + %retval = alloca i32, align 4 + %func.addr = alloca void (i8*)*, align 8 + %arg.addr = alloca i8*, align 8 + %dso_handle.addr = alloca i8*, align 8 + %efp = alloca %struct.exit_function*, align 8 + store void (i8*)* %func, void (i8*)** %func.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i8* %dso_handle, i8** %dso_handle.addr, align 8 + %0 = load void (i8*)*, void (i8*)** %func.addr, align 8 + %cmp = icmp eq void (i8*)* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %call = call %struct.exit_function* @__new_exitfn() #18 + store %struct.exit_function* %call, %struct.exit_function** %efp, align 8 + %1 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %cmp1 = icmp eq %struct.exit_function* %1, null + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + store i32 -1, i32* %retval, align 4 + br label %return + +if.end3: ; preds = %if.end + %2 = load void (i8*)*, void (i8*)** %func.addr, align 8 + %3 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs = getelementptr inbounds %struct.exit_function, %struct.exit_function* %3, i32 0, i32 1 + %cxa_atexit = bitcast %union.anon.774* %funcs to %struct.anon.0.773* + %func4 = getelementptr inbounds %struct.anon.0.773, %struct.anon.0.773* %cxa_atexit, i32 0, i32 0 + store void (i8*)* %2, void (i8*)** %func4, align 8 + %4 = load i8*, i8** %arg.addr, align 8 + %5 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs5 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %5, i32 0, i32 1 + %cxa_atexit6 = bitcast %union.anon.774* %funcs5 to %struct.anon.0.773* + %arg7 = getelementptr inbounds %struct.anon.0.773, %struct.anon.0.773* %cxa_atexit6, i32 0, i32 1 + store i8* %4, i8** %arg7, align 8 + %6 = load i8*, i8** %dso_handle.addr, align 8 + %7 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs8 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %7, i32 0, i32 1 + %cxa_atexit9 = bitcast %union.anon.774* %funcs8 to %struct.anon.0.773* + %dso_handle10 = getelementptr inbounds %struct.anon.0.773, %struct.anon.0.773* %cxa_atexit9, i32 0, i32 2 + store i8* %6, i8** %dso_handle10, align 8 + %8 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %type = getelementptr inbounds %struct.exit_function, %struct.exit_function* %8, i32 0, i32 0 + store i64 3, i64* %type, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end3, %if.then2, %if.then + %9 = load i32, i32* %retval, align 4 + ret i32 %9 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @getenv(i8* nonnull %var) #0 { +entry: + %retval = alloca i8*, align 8 + %var.addr = alloca i8*, align 8 + %len = alloca i32, align 4 + %ep = alloca i8**, align 8 + store i8* %var, i8** %var.addr, align 8 + %0 = load i8**, i8*** @__environ, align 8 + store i8** %0, i8*** %ep, align 8 + %tobool = icmp ne i8** %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %var.addr, align 8 + %call = call i64 @strlen(i8* %1) #20 + %conv = trunc i64 %call to i32 + store i32 %conv, i32* %len, align 4 + br label %while.cond + +while.cond: ; preds = %if.end10, %if.end + %2 = load i8**, i8*** %ep, align 8 + %3 = load i8*, i8** %2, align 8 + %tobool1 = icmp ne i8* %3, null + br i1 %tobool1, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i8*, i8** %var.addr, align 8 + %5 = load i8**, i8*** %ep, align 8 + %6 = load i8*, i8** %5, align 8 + %7 = load i32, i32* %len, align 4 + %conv2 = sext i32 %7 to i64 + %call3 = call i32 @memcmp(i8* %4, i8* %6, i64 %conv2) #20 + %cmp = icmp eq i32 %call3, 0 + br i1 %cmp, label %land.lhs.true, label %if.end10 + +land.lhs.true: ; preds = %while.body + %8 = load i8**, i8*** %ep, align 8 + %9 = load i8*, i8** %8, align 8 + %10 = load i32, i32* %len, align 4 + %idxprom = sext i32 %10 to i64 + %arrayidx = getelementptr inbounds i8, i8* %9, i64 %idxprom + %11 = load i8, i8* %arrayidx, align 1 + %conv5 = sext i8 %11 to i32 + %cmp6 = icmp eq i32 %conv5, 61 + br i1 %cmp6, label %if.then8, label %if.end10 + +if.then8: ; preds = %land.lhs.true + %12 = load i8**, i8*** %ep, align 8 + %13 = load i8*, i8** %12, align 8 + %14 = load i32, i32* %len, align 4 + %idx.ext = sext i32 %14 to i64 + %add.ptr = getelementptr inbounds i8, i8* %13, i64 %idx.ext + %add.ptr9 = getelementptr inbounds i8, i8* %add.ptr, i64 1 + store i8* %add.ptr9, i8** %retval, align 8 + br label %return + +if.end10: ; preds = %land.lhs.true, %while.body + %15 = load i8**, i8*** %ep, align 8 + %incdec.ptr = getelementptr inbounds i8*, i8** %15, i32 1 + store i8** %incdec.ptr, i8*** %ep, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then8, %if.then + %16 = load i8*, i8** %retval, align 8 + ret i8* %16 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @memmove(i8* nonnull %s1, i8* nonnull %s2, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %p, align 8 + %2 = load i8*, i8** %p, align 8 + %3 = load i8*, i8** %s, align 8 + %cmp = icmp uge i8* %2, %3 + br i1 %cmp, label %while.cond, label %while.cond2 + +while.cond: ; preds = %entry, %while.body + %4 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %4, 0 + br i1 %tobool, label %while.body, label %if.end + +while.body: ; preds = %while.cond + %5 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %6 = load i8, i8* %5, align 1 + %7 = load i8*, i8** %s, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %7, i32 1 + store i8* %incdec.ptr1, i8** %s, align 8 + store i8 %6, i8* %7, align 1 + %8 = load i64, i64* %n.addr, align 8 + %dec = add i64 %8, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.cond2: ; preds = %entry, %while.body4 + %9 = load i64, i64* %n.addr, align 8 + %tobool3 = icmp ne i64 %9, 0 + br i1 %tobool3, label %while.body4, label %if.end + +while.body4: ; preds = %while.cond2 + %10 = load i64, i64* %n.addr, align 8 + %dec5 = add i64 %10, -1 + store i64 %dec5, i64* %n.addr, align 8 + %11 = load i8*, i8** %p, align 8 + %12 = load i64, i64* %n.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %11, i64 %12 + %13 = load i8, i8* %arrayidx, align 1 + %14 = load i8*, i8** %s, align 8 + %15 = load i64, i64* %n.addr, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %14, i64 %15 + store i8 %13, i8* %arrayidx6, align 1 + br label %while.cond2 + +if.end: ; preds = %while.cond2, %while.cond + %16 = load i8*, i8** %s1.addr, align 8 + ret i8* %16 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @mempcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r1 = alloca i8*, align 8 + %r2 = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %r1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %r2, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %2 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load i8*, i8** %r2, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %r2, align 8 + %4 = load i8, i8* %3, align 1 + %5 = load i8*, i8** %r1, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr1, i8** %r1, align 8 + store i8 %4, i8* %5, align 1 + %6 = load i64, i64* %n.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %7 = load i8*, i8** %r1, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @stpcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + br label %while.cond + +while.cond: ; preds = %while.cond, %entry + %0 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %0, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %1 = load i8, i8* %0, align 1 + %2 = load i8*, i8** %s1.addr, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %2, i32 1 + store i8* %incdec.ptr1, i8** %s1.addr, align 8 + store i8 %1, i8* %2, align 1 + %conv = sext i8 %1 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %while.cond, label %while.end + +while.end: ; preds = %while.cond + %3 = load i8*, i8** %s1.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %3, i64 -1 + ret i8* %add.ptr +} + +; Function Attrs: noinline nounwind uwtable +define i8* @strcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + br label %while.cond + +while.cond: ; preds = %while.cond, %entry + %1 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %1, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %2 = load i8, i8* %1, align 1 + %3 = load i8*, i8** %s, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr1, i8** %s, align 8 + store i8 %2, i8* %3, align 1 + %conv = sext i8 %2 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %while.cond, label %while.end + +while.end: ; preds = %while.cond + %4 = load i8*, i8** %s1.addr, align 8 + ret i8* %4 +} + +; Function Attrs: noinline nounwind uwtable +define noalias i8* @strdup(i8* nonnull %s1) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + %l = alloca i64, align 8 + store i8* %s1, i8** %s1.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + %call = call i64 @strlen(i8* %0) #20 + %add = add i64 %call, 1 + %mul = mul i64 %add, 1 + store i64 %mul, i64* %l, align 8 + %1 = load i64, i64* %l, align 8 + %call1 = call noalias i8* @malloc(i64 %1) #19 + store i8* %call1, i8** %s, align 8 + %cmp = icmp ne i8* %call1, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load i8*, i8** %s, align 8 + %3 = load i8*, i8** %s1.addr, align 8 + %4 = load i64, i64* %l, align 8 + %call2 = call i8* @memcpy(i8* %2, i8* %3, i64 %4) #19 + br label %if.end + +if.end: ; preds = %if.then, %entry + %5 = load i8*, i8** %s, align 8 + ret i8* %5 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @strerror(i32 %errnum) #0 { +entry: + %errnum.addr = alloca i32, align 4 + store i32 %errnum, i32* %errnum.addr, align 4 + %0 = load i32, i32* %errnum.addr, align 4 + %call = call i32 @__xpg_strerror_r(i32 %0, i8* getelementptr inbounds ([50 x i8], [50 x i8]* @strerror.buf, i64 0, i64 0), i64 50) #18 + ret i8* getelementptr inbounds ([50 x i8], [50 x i8]* @strerror.buf, i64 0, i64 0) +} + +; Function Attrs: noinline nounwind uwtable +define i64 @wcrtomb(i8* noalias %s, i32 %wc, %struct.__mbstate_t.514* noalias %ps) #0 { +entry: + %s.addr = alloca i8*, align 8 + %wc.addr = alloca i32, align 4 + %ps.addr = alloca %struct.__mbstate_t.514*, align 8 + %wcbuf = alloca [1 x i32], align 4 + %pwc = alloca i32*, align 8 + %r = alloca i64, align 8 + %buf = alloca [16 x i8], align 16 + store i8* %s, i8** %s.addr, align 8 + store i32 %wc, i32* %wc.addr, align 4 + store %struct.__mbstate_t.514* %ps, %struct.__mbstate_t.514** %ps.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay, i8** %s.addr, align 8 + store i32 0, i32* %wc.addr, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %arraydecay1 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay1, i32** %pwc, align 8 + %1 = load i32, i32* %wc.addr, align 4 + %arrayidx = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32 %1, i32* %arrayidx, align 4 + %2 = load i8*, i8** %s.addr, align 8 + %3 = load %struct.__mbstate_t.514*, %struct.__mbstate_t.514** %ps.addr, align 8 + %call = call i64 @wcsnrtombs(i8* %2, i32** %pwc, i64 1, i64 16, %struct.__mbstate_t.514* %3) #19 + store i64 %call, i64* %r, align 8 + %4 = load i64, i64* %r, align 8 + %cmp = icmp ne i64 %4, 0 + %5 = load i64, i64* %r, align 8 + %cond = select i1 %cmp, i64 %5, i64 1 + ret i64 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i64 @wcsrtombs(i8* noalias %dst, i32** noalias %src, i64 %len, %struct.__mbstate_t.514* noalias %ps) #0 { +entry: + %dst.addr = alloca i8*, align 8 + %src.addr = alloca i32**, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.514*, align 8 + store i8* %dst, i8** %dst.addr, align 8 + store i32** %src, i32*** %src.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.514* %ps, %struct.__mbstate_t.514** %ps.addr, align 8 + %0 = load i8*, i8** %dst.addr, align 8 + %1 = load i32**, i32*** %src.addr, align 8 + %2 = load i64, i64* %len.addr, align 8 + %3 = load %struct.__mbstate_t.514*, %struct.__mbstate_t.514** %ps.addr, align 8 + %call = call i64 @wcsnrtombs(i8* %0, i32** %1, i64 -1, i64 %2, %struct.__mbstate_t.514* %3) #19 + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @iswctype_l(i32 %wc, i32 %desc, %struct.__uclibc_locale_struct.203* %locale) #0 { +entry: + %retval = alloca i32, align 4 + %wc.addr = alloca i32, align 4 + %desc.addr = alloca i32, align 4 + %locale.addr = alloca %struct.__uclibc_locale_struct.203*, align 8 + %sc = alloca i32, align 4 + %n = alloca i32, align 4 + %i0 = alloca i32, align 4 + %i1 = alloca i32, align 4 + %d = alloca i8, align 1 + store i32 %wc, i32* %wc.addr, align 4 + store i32 %desc, i32* %desc.addr, align 4 + store %struct.__uclibc_locale_struct.203* %locale, %struct.__uclibc_locale_struct.203** %locale.addr, align 8 + store i8 0, i8* %d, align 1 + %0 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %locale.addr, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %0, i32 0, i32 9 + %1 = load i8, i8* %encoding, align 8 + %conv = zext i8 %1 to i32 + %cmp = icmp ne i32 %conv, 0 + %2 = load i32, i32* %wc.addr, align 4 + %cmp2 = icmp ule i32 %2, 127 + %or.cond = or i1 %cmp, %cmp2 + br i1 %or.cond, label %if.then, label %if.end78 + +if.then: ; preds = %entry + %3 = load i32, i32* %desc.addr, align 4 + %cmp4 = icmp ult i32 %3, 12 + br i1 %cmp4, label %if.then6, label %if.end58 + +if.then6: ; preds = %if.then + %4 = load i32, i32* %wc.addr, align 4 + %cmp7 = icmp ule i32 %4, 196607 + %5 = load i32, i32* %wc.addr, align 4 + br i1 %cmp7, label %if.then9, label %if.else + +if.then9: ; preds = %if.then6 + %and = and i32 %5, 7 + store i32 %and, i32* %sc, align 4 + %6 = load i32, i32* %wc.addr, align 4 + %shr = lshr i32 %6, 3 + store i32 %shr, i32* %wc.addr, align 4 + %7 = load i32, i32* %wc.addr, align 4 + %and10 = and i32 %7, 31 + store i32 %and10, i32* %n, align 4 + %8 = load i32, i32* %wc.addr, align 4 + %shr11 = lshr i32 %8, 5 + store i32 %shr11, i32* %wc.addr, align 4 + %9 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %locale.addr, align 8 + %tblwctype = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %9, i32 0, i32 21 + %10 = load i8*, i8** %tblwctype, align 8 + %11 = load i32, i32* %wc.addr, align 4 + %idxprom = zext i32 %11 to i64 + %arrayidx = getelementptr inbounds i8, i8* %10, i64 %idxprom + %12 = load i8, i8* %arrayidx, align 1 + %conv12 = zext i8 %12 to i32 + store i32 %conv12, i32* %i0, align 4 + %13 = load i32, i32* %i0, align 4 + %shl = shl i32 %13, 5 + store i32 %shl, i32* %i0, align 4 + %14 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %locale.addr, align 8 + %tblwctype13 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %14, i32 0, i32 21 + %15 = load i8*, i8** %tblwctype13, align 8 + %16 = load i32, i32* %i0, align 4 + %add = add i32 768, %16 + %17 = load i32, i32* %n, align 4 + %add14 = add i32 %add, %17 + %idxprom15 = zext i32 %add14 to i64 + %arrayidx16 = getelementptr inbounds i8, i8* %15, i64 %idxprom15 + %18 = load i8, i8* %arrayidx16, align 1 + %conv17 = zext i8 %18 to i32 + store i32 %conv17, i32* %i1, align 4 + %19 = load i32, i32* %i1, align 4 + %shl18 = shl i32 %19, 2 + store i32 %shl18, i32* %i1, align 4 + %20 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %locale.addr, align 8 + %tblwctype19 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %20, i32 0, i32 21 + %21 = load i8*, i8** %tblwctype19, align 8 + %22 = load i32, i32* %i1, align 4 + %add20 = add i32 2656, %22 + %23 = load i32, i32* %sc, align 4 + %shr21 = lshr i32 %23, 1 + %add22 = add i32 %add20, %shr21 + %idxprom23 = zext i32 %add22 to i64 + %arrayidx24 = getelementptr inbounds i8, i8* %21, i64 %idxprom23 + %24 = load i8, i8* %arrayidx24, align 1 + store i8 %24, i8* %d, align 1 + %25 = load i32, i32* %sc, align 4 + %and25 = and i32 %25, 1 + %tobool = icmp ne i32 %and25, 0 + %26 = load i8, i8* %d, align 1 + %conv26 = zext i8 %26 to i32 + %shr27 = ashr i32 %conv26, 4 + %and29 = and i32 %conv26, 15 + %cond = select i1 %tobool, i32 %shr27, i32 %and29 + %conv30 = trunc i32 %cond to i8 + store i8 %conv30, i8* %d, align 1 + br label %if.end50 + +if.else: ; preds = %if.then6 + %conv31 = zext i32 %5 to i64 + %sub = sub i64 %conv31, 917536 + %conv32 = trunc i64 %sub to i32 + %cmp33 = icmp ule i32 %conv32, 95 + br i1 %cmp33, label %if.then49, label %lor.lhs.false35 + +lor.lhs.false35: ; preds = %if.else + %27 = load i32, i32* %wc.addr, align 4 + %conv36 = zext i32 %27 to i64 + %cmp37 = icmp eq i64 %conv36, 917505 + br i1 %cmp37, label %if.then49, label %lor.lhs.false39 + +lor.lhs.false39: ; preds = %lor.lhs.false35 + %28 = load i32, i32* %wc.addr, align 4 + %conv40 = zext i32 %28 to i64 + %sub41 = sub i64 %conv40, 983040 + %conv42 = trunc i64 %sub41 to i32 + %conv43 = zext i32 %conv42 to i64 + %cmp44 = icmp ult i64 %conv43, 131072 + br i1 %cmp44, label %land.lhs.true, label %if.end50 + +land.lhs.true: ; preds = %lor.lhs.false39 + %29 = load i32, i32* %wc.addr, align 4 + %and46 = and i32 %29, 65535 + %cmp47 = icmp ule i32 %and46, 65533 + br i1 %cmp47, label %if.then49, label %if.end50 + +if.then49: ; preds = %land.lhs.true, %lor.lhs.false35, %if.else + store i8 6, i8* %d, align 1 + br label %if.end50 + +if.end50: ; preds = %lor.lhs.false39, %land.lhs.true, %if.then49, %if.then9 + %30 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** %locale.addr, align 8 + %code2flag = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %30, i32 0, i32 20 + %31 = load i16*, i16** %code2flag, align 8 + %32 = load i8, i8* %d, align 1 + %idxprom51 = zext i8 %32 to i64 + %arrayidx52 = getelementptr inbounds i16, i16* %31, i64 %idxprom51 + %33 = load i16, i16* %arrayidx52, align 2 + %conv53 = zext i16 %33 to i32 + %34 = load i32, i32* %desc.addr, align 4 + %idxprom54 = zext i32 %34 to i64 + %arrayidx55 = getelementptr inbounds [13 x i16], [13 x i16]* @desc2flag, i64 0, i64 %idxprom54 + %35 = load i16, i16* %arrayidx55, align 2 + %conv56 = zext i16 %35 to i32 + %and57 = and i32 %conv53, %conv56 + store i32 %and57, i32* %retval, align 4 + br label %return + +if.end58: ; preds = %if.then + %36 = load i32, i32* %desc.addr, align 4 + %cmp59 = icmp eq i32 %36, 12 + br i1 %cmp59, label %cond.false68, label %cond.end76 + +cond.false68: ; preds = %if.end58 + %37 = load i32, i32* %wc.addr, align 4 + %sub69 = sub i32 %37, 48 + %cmp70 = icmp ult i32 %sub69, 10 + %38 = load i32, i32* %wc.addr, align 4 + %or = or i32 %38, 32 + %sub72 = sub i32 %or, 97 + %cmp73 = icmp ult i32 %sub72, 6 + %39 = select i1 %cmp70, i1 true, i1 %cmp73 + %lor.ext = zext i1 %39 to i32 + br label %cond.end76 + +cond.end76: ; preds = %if.end58, %cond.false68 + %cond77 = phi i32 [ %lor.ext, %cond.false68 ], [ 0, %if.end58 ] + store i32 %cond77, i32* %retval, align 4 + br label %return + +if.end78: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end78, %cond.end76, %if.end50 + %40 = load i32, i32* %retval, align 4 + ret i32 %40 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_adjust_position(%struct.__STDIO_FILE_STRUCT.638* noalias %stream, i64* %pos) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.638*, align 8 + %pos.addr = alloca i64*, align 8 + %oldpos = alloca i64, align 8 + %corr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.638* %stream, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + store i64* %pos, i64** %pos.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.638, %struct.__STDIO_FILE_STRUCT.638* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 3 + store i32 %and, i32* %corr, align 4 + %cmp = icmp ne i32 %and, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load i32, i32* %corr, align 4 + %dec = add nsw i32 %2, -1 + store i32 %dec, i32* %corr, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %3 = load i32, i32* %corr, align 4 + %tobool = icmp ne i32 %3, 0 + br i1 %tobool, label %land.lhs.true, label %if.end22 + +land.lhs.true: ; preds = %if.end + %4 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %__modeflags2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.638, %struct.__STDIO_FILE_STRUCT.638* %4, i32 0, i32 0 + %5 = load i16, i16* %__modeflags2, align 8 + %conv3 = zext i16 %5 to i32 + %and4 = and i32 %conv3, 2048 + %tobool5 = icmp ne i32 %and4, 0 + br i1 %tobool5, label %if.then6, label %if.end22 + +if.then6: ; preds = %land.lhs.true + %6 = load i32, i32* %corr, align 4 + %cmp7 = icmp sgt i32 %6, 1 + br i1 %cmp7, label %if.then10, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then6 + %7 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %__ungot = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.638, %struct.__STDIO_FILE_STRUCT.638* %7, i32 0, i32 10 + %arrayidx = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot, i64 0, i64 1 + %8 = load i32, i32* %arrayidx, align 4 + %tobool9 = icmp ne i32 %8, 0 + br i1 %tobool9, label %if.then10, label %if.end11 + +if.then10: ; preds = %lor.lhs.false, %if.then6 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end11: ; preds = %lor.lhs.false + %9 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.638, %struct.__STDIO_FILE_STRUCT.638* %9, i32 0, i32 1 + %arrayidx12 = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 1 + %10 = load i8, i8* %arrayidx12, align 1 + %conv13 = zext i8 %10 to i32 + %add = add nsw i32 1, %conv13 + %11 = load i32, i32* %corr, align 4 + %sub = sub nsw i32 %11, %add + store i32 %sub, i32* %corr, align 4 + %12 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.638, %struct.__STDIO_FILE_STRUCT.638* %12, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.514, %struct.__mbstate_t.514* %__state, i32 0, i32 0 + %13 = load i32, i32* %__mask, align 8 + %cmp14 = icmp sgt i32 %13, 0 + br i1 %cmp14, label %if.then16, label %if.end22 + +if.then16: ; preds = %if.end11 + %14 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %__ungot_width17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.638, %struct.__STDIO_FILE_STRUCT.638* %14, i32 0, i32 1 + %arrayidx18 = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width17, i64 0, i64 0 + %15 = load i8, i8* %arrayidx18, align 2 + %conv19 = zext i8 %15 to i32 + %16 = load i32, i32* %corr, align 4 + %sub20 = sub nsw i32 %16, %conv19 + store i32 %sub20, i32* %corr, align 4 + br label %if.end22 + +if.end22: ; preds = %if.end11, %if.then16, %land.lhs.true, %if.end + %17 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %__modeflags23 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.638, %struct.__STDIO_FILE_STRUCT.638* %17, i32 0, i32 0 + %18 = load i16, i16* %__modeflags23, align 8 + %conv24 = zext i16 %18 to i32 + %and25 = and i32 %conv24, 64 + %tobool26 = icmp ne i32 %and25, 0 + %19 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + br i1 %tobool26, label %cond.true, label %cond.false + +cond.true: ; preds = %if.end22 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.638, %struct.__STDIO_FILE_STRUCT.638* %19, i32 0, i32 3 + %20 = load i8*, i8** %__bufstart, align 8 + br label %cond.end + +cond.false: ; preds = %if.end22 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.638, %struct.__STDIO_FILE_STRUCT.638* %19, i32 0, i32 6 + %21 = load i8*, i8** %__bufread, align 8 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i8* [ %20, %cond.true ], [ %21, %cond.false ] + %22 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.638, %struct.__STDIO_FILE_STRUCT.638* %22, i32 0, i32 5 + %23 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %cond to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %23 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %24 = load i32, i32* %corr, align 4 + %conv27 = sext i32 %24 to i64 + %add28 = add nsw i64 %conv27, %sub.ptr.sub + %conv29 = trunc i64 %add28 to i32 + store i32 %conv29, i32* %corr, align 4 + %25 = load i64*, i64** %pos.addr, align 8 + %26 = load i64, i64* %25, align 8 + store i64 %26, i64* %oldpos, align 8 + %27 = load i32, i32* %corr, align 4 + %conv30 = sext i32 %27 to i64 + %28 = load i64*, i64** %pos.addr, align 8 + %29 = load i64, i64* %28, align 8 + %sub31 = sub nsw i64 %29, %conv30 + store i64 %sub31, i64* %28, align 8 + %30 = load i64, i64* %oldpos, align 8 + %cmp32 = icmp sgt i64 %sub31, %30 + br i1 %cmp32, label %if.then34, label %if.end36 + +if.then34: ; preds = %cond.end + %31 = load i32, i32* %corr, align 4 + %sub35 = sub nsw i32 0, %31 + store i32 %sub35, i32* %corr, align 4 + br label %if.end36 + +if.end36: ; preds = %if.then34, %cond.end + %32 = load i32, i32* %corr, align 4 + %cmp37 = icmp slt i32 %32, 0 + br i1 %cmp37, label %if.then39, label %if.end40 + +if.then39: ; preds = %if.end36 + store i32 75, i32* @errno, align 4 + br label %if.end40 + +if.end40: ; preds = %if.then39, %if.end36 + %33 = load i32, i32* %corr, align 4 + store i32 %33, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end40, %if.then10 + %34 = load i32, i32* %retval, align 4 + ret i32 %34 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_seek(%struct.__STDIO_FILE_STRUCT.638* %stream, i64* %pos, i32 %whence) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.638*, align 8 + %pos.addr = alloca i64*, align 8 + %whence.addr = alloca i32, align 4 + %res = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.638* %stream, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + store i64* %pos, i64** %pos.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.638*, %struct.__STDIO_FILE_STRUCT.638** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.638, %struct.__STDIO_FILE_STRUCT.638* %0, i32 0, i32 2 + %1 = load i32, i32* %__filedes, align 4 + %2 = load i64*, i64** %pos.addr, align 8 + %3 = load i64, i64* %2, align 8 + %4 = load i32, i32* %whence.addr, align 4 + %call = call i64 @lseek64(i32 %1, i64 %3, i32 %4) #19 + store i64 %call, i64* %res, align 8 + %5 = load i64, i64* %res, align 8 + %cmp = icmp sge i64 %5, 0 + %6 = load i64, i64* %res, align 8 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %entry + %7 = load i64*, i64** %pos.addr, align 8 + store i64 %6, i64* %7, align 8 + br label %cond.end + +cond.false: ; preds = %entry + %conv = trunc i64 %6 to i32 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ 0, %cond.true ], [ %conv, %cond.false ] + ret i32 %cond +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_fpmaxtostr(%struct.__STDIO_FILE_STRUCT.570* %fp, double %x, %struct.printf_info.722* %info, i64 (%struct.__STDIO_FILE_STRUCT.570*, i64, i64, i64)* %fp_outfunc) #0 { +entry: + %retval = alloca i64, align 8 + %fp.addr = alloca %struct.__STDIO_FILE_STRUCT.570*, align 8 + %x.addr = alloca double, align 8 + %info.addr = alloca %struct.printf_info.722*, align 8 + %fp_outfunc.addr = alloca i64 (%struct.__STDIO_FILE_STRUCT.570*, i64, i64, i64)*, align 8 + %round = alloca i32, align 4 + %o_exp = alloca i32, align 4 + %exp = alloca i32, align 4 + %width = alloca i32, align 4 + %preci = alloca i32, align 4 + %cnt = alloca i32, align 4 + %s = alloca i8*, align 8 + %e = alloca i8*, align 8 + %pc_fwi = alloca [24 x i64], align 16 + %ppc = alloca i64*, align 8 + %ppc_last = alloca i64*, align 8 + %exp_buf = alloca [16 x i8], align 16 + %buf = alloca [21 x i8], align 16 + %sign_str = alloca [6 x i8], align 1 + %o_mode = alloca i8, align 1 + %mode = alloca i8, align 1 + %i = alloca i32, align 4 + %j = alloca i32, align 4 + %exp_neg = alloca i32, align 4 + %i92 = alloca i32, align 4 + %j93 = alloca i32, align 4 + %digit_block = alloca i64, align 8 + %i151 = alloca i32, align 4 + %i218 = alloca i32, align 4 + %p = alloca i8*, align 8 + %j329 = alloca i32, align 4 + %exp_char = alloca i8, align 1 + %exp_sign = alloca i8, align 1 + %i359 = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.570* %fp, %struct.__STDIO_FILE_STRUCT.570** %fp.addr, align 8 + store double %x, double* %x.addr, align 8 + store %struct.printf_info.722* %info, %struct.printf_info.722** %info.addr, align 8 + store i64 (%struct.__STDIO_FILE_STRUCT.570*, i64, i64, i64)* %fp_outfunc, i64 (%struct.__STDIO_FILE_STRUCT.570*, i64, i64, i64)** %fp_outfunc.addr, align 8 + %0 = load %struct.printf_info.722*, %struct.printf_info.722** %info.addr, align 8 + %width1 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %0, i32 0, i32 1 + %1 = load i32, i32* %width1, align 4 + store i32 %1, i32* %width, align 4 + %2 = load %struct.printf_info.722*, %struct.printf_info.722** %info.addr, align 8 + %prec = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %2, i32 0, i32 0 + %3 = load i32, i32* %prec, align 4 + store i32 %3, i32* %preci, align 4 + %4 = load %struct.printf_info.722*, %struct.printf_info.722** %info.addr, align 8 + %spec = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %4, i32 0, i32 2 + %5 = load i32, i32* %spec, align 4 + %conv = trunc i32 %5 to i8 + store i8 %conv, i8* %mode, align 1 + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + store i8 101, i8* %arraydecay, align 16 + %6 = load i8, i8* %mode, align 1 + %conv2 = sext i8 %6 to i32 + %or = or i32 %conv2, 32 + %cmp = icmp eq i32 %or, 97 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %7 = load i8, i8* %mode, align 1 + %conv4 = sext i8 %7 to i32 + %add = add nsw i32 %conv4, 6 + %conv5 = trunc i32 %add to i8 + store i8 %conv5, i8* %mode, align 1 + br label %if.end + +if.end: ; preds = %if.then, %entry + %8 = load i32, i32* %preci, align 4 + %cmp6 = icmp slt i32 %8, 0 + br i1 %cmp6, label %if.then8, label %if.end9 + +if.then8: ; preds = %if.end + store i32 6, i32* %preci, align 4 + br label %if.end9 + +if.end9: ; preds = %if.then8, %if.end + %arraydecay10 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 0, i8* %arraydecay10, align 1 + %9 = load %struct.printf_info.722*, %struct.printf_info.722** %info.addr, align 8 + %showsign = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %9, i32 0, i32 3 + %bf.load = load i32, i32* %showsign, align 4 + %bf.lshr = lshr i32 %bf.load, 1 + %bf.clear = and i32 %bf.lshr, 1 + %tobool = icmp ne i32 %bf.clear, 0 + br i1 %tobool, label %if.then11, label %if.else + +if.then11: ; preds = %if.end9 + %arraydecay12 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 43, i8* %arraydecay12, align 1 + br label %if.end19 + +if.else: ; preds = %if.end9 + %10 = load %struct.printf_info.722*, %struct.printf_info.722** %info.addr, align 8 + %space = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %10, i32 0, i32 3 + %bf.load13 = load i32, i32* %space, align 4 + %bf.clear14 = and i32 %bf.load13, 1 + %tobool15 = icmp ne i32 %bf.clear14, 0 + br i1 %tobool15, label %if.then16, label %if.end19 + +if.then16: ; preds = %if.else + %arraydecay17 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 32, i8* %arraydecay17, align 1 + br label %if.end19 + +if.end19: ; preds = %if.else, %if.then16, %if.then11 + %arraydecay20 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay20, i64 1 + store i8 0, i8* %add.ptr, align 1 + %arrayidx = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 0, i64* %arrayidx, align 8 + %11 = load double, double* %x.addr, align 8 + %12 = load double, double* %x.addr, align 8 + %cmp21 = fcmp une double %11, %12 + br i1 %cmp21, label %if.then23, label %if.end25 + +if.then23: ; preds = %if.end19 + %arrayidx24 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 8, i64* %arrayidx24, align 8 + br label %INF_NAN + +if.end25: ; preds = %if.end19 + %13 = load double, double* %x.addr, align 8 + %cmp26 = fcmp oeq double %13, 0.000000e+00 + %14 = load double, double* %x.addr, align 8 + br i1 %cmp26, label %if.then28, label %if.end34 + +if.then28: ; preds = %if.end25 + %div = fdiv double 1.000000e+00, %14 + %cmp29 = fcmp olt double %div, 0.000000e+00 + br i1 %cmp29, label %if.then31, label %if.end33 + +if.then31: ; preds = %if.then28 + %arraydecay32 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 45, i8* %arraydecay32, align 1 + br label %if.end33 + +if.end33: ; preds = %if.then31, %if.then28 + store i32 -1, i32* %exp, align 4 + br label %GENERATE_DIGITS + +if.end34: ; preds = %if.end25 + %cmp35 = fcmp olt double %14, 0.000000e+00 + br i1 %cmp35, label %if.then37, label %if.end39 + +if.then37: ; preds = %if.end34 + %arraydecay38 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 45, i8* %arraydecay38, align 1 + %15 = load double, double* %x.addr, align 8 + %fneg = fneg double %15 + store double %fneg, double* %x.addr, align 8 + br label %if.end39 + +if.end39: ; preds = %if.then37, %if.end34 + %16 = load double, double* %x.addr, align 8 + %17 = load double, double* %x.addr, align 8 + %div40 = fdiv double %17, 4.000000e+00 + %cmp41 = fcmp oeq double %16, %div40 + br i1 %cmp41, label %INF_NAN, label %if.end58 + +INF_NAN: ; preds = %if.end39, %if.then23 + %18 = load %struct.printf_info.722*, %struct.printf_info.722** %info.addr, align 8 + %pad = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %18, i32 0, i32 4 + store i32 32, i32* %pad, align 4 + %arraydecay44 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + %add.ptr45 = getelementptr inbounds i64, i64* %arraydecay44, i64 6 + store i64* %add.ptr45, i64** %ppc, align 8 + %arrayidx46 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 3 + store i64 112, i64* %arrayidx46, align 8 + %arrayidx47 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 4 + store i64 3, i64* %arrayidx47, align 16 + %19 = load i8, i8* %mode, align 1 + %conv48 = sext i8 %19 to i32 + %cmp49 = icmp slt i32 %conv48, 97 + br i1 %cmp49, label %if.then51, label %if.end54 + +if.then51: ; preds = %INF_NAN + %arrayidx52 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + %20 = load i64, i64* %arrayidx52, align 8 + %add53 = add nsw i64 %20, 4 + store i64 %add53, i64* %arrayidx52, align 8 + br label %if.end54 + +if.end54: ; preds = %if.then51, %INF_NAN + %arrayidx55 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + %21 = load i64, i64* %arrayidx55, align 8 + %add.ptr56 = getelementptr inbounds i8, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 0), i64 %21 + %22 = ptrtoint i8* %add.ptr56 to i64 + %arrayidx57 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 %22, i64* %arrayidx57, align 8 + br label %EXIT_SPECIAL + +if.end58: ; preds = %if.end39 + store i32 8, i32* %exp, align 4 + store i32 9, i32* %i, align 4 + store i32 256, i32* %j, align 4 + store i32 0, i32* %exp_neg, align 4 + %23 = load double, double* %x.addr, align 8 + %cmp59 = fcmp olt double %23, 1.000000e+08 + br i1 %cmp59, label %if.then61, label %if.end62 + +if.then61: ; preds = %if.end58 + store i32 1, i32* %exp_neg, align 4 + br label %if.end62 + +if.end62: ; preds = %if.then61, %if.end58 + br label %do.body + +do.body: ; preds = %if.end85, %if.end62 + %24 = load i32, i32* %i, align 4 + %dec = add nsw i32 %24, -1 + store i32 %dec, i32* %i, align 4 + %25 = load i32, i32* %exp_neg, align 4 + %tobool63 = icmp ne i32 %25, 0 + %26 = load double, double* %x.addr, align 8 + %27 = load i32, i32* %i, align 4 + %idxprom = sext i32 %27 to i64 + %arrayidx65 = getelementptr inbounds [9 x double], [9 x double]* @exp10_table, i64 0, i64 %idxprom + %28 = load double, double* %arrayidx65, align 8 + br i1 %tobool63, label %if.then64, label %if.else73 + +if.then64: ; preds = %do.body + %mul = fmul double %26, %28 + %cmp66 = fcmp olt double %mul, 1.000000e+09 + br i1 %cmp66, label %if.then68, label %if.end85 + +if.then68: ; preds = %if.then64 + %29 = load i32, i32* %i, align 4 + %idxprom69 = sext i32 %29 to i64 + %arrayidx70 = getelementptr inbounds [9 x double], [9 x double]* @exp10_table, i64 0, i64 %idxprom69 + %30 = load double, double* %arrayidx70, align 8 + %31 = load double, double* %x.addr, align 8 + %mul71 = fmul double %31, %30 + store double %mul71, double* %x.addr, align 8 + %32 = load i32, i32* %j, align 4 + %33 = load i32, i32* %exp, align 4 + %sub = sub nsw i32 %33, %32 + store i32 %sub, i32* %exp, align 4 + br label %if.end85 + +if.else73: ; preds = %do.body + %div76 = fdiv double %26, %28 + %cmp77 = fcmp oge double %div76, 1.000000e+08 + br i1 %cmp77, label %if.then79, label %if.end85 + +if.then79: ; preds = %if.else73 + %34 = load i32, i32* %i, align 4 + %idxprom80 = sext i32 %34 to i64 + %arrayidx81 = getelementptr inbounds [9 x double], [9 x double]* @exp10_table, i64 0, i64 %idxprom80 + %35 = load double, double* %arrayidx81, align 8 + %36 = load double, double* %x.addr, align 8 + %div82 = fdiv double %36, %35 + store double %div82, double* %x.addr, align 8 + %37 = load i32, i32* %j, align 4 + %38 = load i32, i32* %exp, align 4 + %add83 = add nsw i32 %38, %37 + store i32 %add83, i32* %exp, align 4 + br label %if.end85 + +if.end85: ; preds = %if.else73, %if.then79, %if.then64, %if.then68 + %39 = load i32, i32* %j, align 4 + %shr = ashr i32 %39, 1 + store i32 %shr, i32* %j, align 4 + %40 = load i32, i32* %i, align 4 + %tobool86 = icmp ne i32 %40, 0 + br i1 %tobool86, label %do.body, label %do.end + +do.end: ; preds = %if.end85 + %41 = load double, double* %x.addr, align 8 + %cmp87 = fcmp oge double %41, 1.000000e+09 + br i1 %cmp87, label %if.then89, label %GENERATE_DIGITS + +if.then89: ; preds = %do.end + %42 = load double, double* getelementptr inbounds ([9 x double], [9 x double]* @exp10_table, i64 0, i64 0), align 16 + %43 = load double, double* %x.addr, align 8 + %div90 = fdiv double %43, %42 + store double %div90, double* %x.addr, align 8 + %44 = load i32, i32* %exp, align 4 + %inc = add nsw i32 %44, 1 + store i32 %inc, i32* %exp, align 4 + br label %GENERATE_DIGITS + +GENERATE_DIGITS: ; preds = %do.end, %if.then89, %if.end33 + %arraydecay94 = getelementptr inbounds [21 x i8], [21 x i8]* %buf, i64 0, i64 0 + %add.ptr95 = getelementptr inbounds i8, i8* %arraydecay94, i64 2 + store i8* %add.ptr95, i8** %s, align 8 + store i32 0, i32* %i92, align 4 + br label %do.body96 + +do.body96: ; preds = %do.cond114, %GENERATE_DIGITS + %45 = load double, double* %x.addr, align 8 + %conv97 = fptoui double %45 to i64 + store i64 %conv97, i64* %digit_block, align 8 + %46 = load double, double* %x.addr, align 8 + %47 = load i64, i64* %digit_block, align 8 + %conv98 = uitofp i64 %47 to double + %sub99 = fsub double %46, %conv98 + %mul100 = fmul double %sub99, 1.000000e+09 + store double %mul100, double* %x.addr, align 8 + %48 = load i8*, i8** %s, align 8 + %add.ptr101 = getelementptr inbounds i8, i8* %48, i64 9 + store i8* %add.ptr101, i8** %s, align 8 + store i32 0, i32* %j93, align 4 + br label %do.body102 + +do.body102: ; preds = %do.body102, %do.body96 + %49 = load i64, i64* %digit_block, align 8 + %rem = urem i64 %49, 10 + %add103 = add i64 48, %rem + %conv104 = trunc i64 %add103 to i8 + %50 = load i8*, i8** %s, align 8 + %51 = load i32, i32* %j93, align 4 + %inc105 = add nsw i32 %51, 1 + store i32 %inc105, i32* %j93, align 4 + %sub106 = sub nsw i32 0, %inc105 + %idxprom107 = sext i32 %sub106 to i64 + %arrayidx108 = getelementptr inbounds i8, i8* %50, i64 %idxprom107 + store i8 %conv104, i8* %arrayidx108, align 1 + %52 = load i64, i64* %digit_block, align 8 + %div109 = udiv i64 %52, 10 + store i64 %div109, i64* %digit_block, align 8 + %53 = load i32, i32* %j93, align 4 + %cmp111 = icmp slt i32 %53, 9 + br i1 %cmp111, label %do.body102, label %do.cond114 + +do.cond114: ; preds = %do.body102 + %54 = load i32, i32* %i92, align 4 + %inc115 = add nsw i32 %54, 1 + store i32 %inc115, i32* %i92, align 4 + %cmp116 = icmp slt i32 %inc115, 2 + br i1 %cmp116, label %do.body96, label %do.end118 + +do.end118: ; preds = %do.cond114 + %55 = load i8, i8* %mode, align 1 + %conv119 = sext i8 %55 to i32 + %cmp120 = icmp slt i32 %conv119, 97 + br i1 %cmp120, label %if.then122, label %if.end130 + +if.then122: ; preds = %do.end118 + %arraydecay123 = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + %56 = load i8, i8* %arraydecay123, align 16 + %conv124 = sext i8 %56 to i32 + %sub125 = sub nsw i32 %conv124, 32 + %conv126 = trunc i32 %sub125 to i8 + store i8 %conv126, i8* %arraydecay123, align 16 + %57 = load i8, i8* %mode, align 1 + %conv127 = sext i8 %57 to i32 + %add128 = add nsw i32 %conv127, 32 + %conv129 = trunc i32 %add128 to i8 + store i8 %conv129, i8* %mode, align 1 + br label %if.end130 + +if.end130: ; preds = %if.then122, %do.end118 + %58 = load i8, i8* %mode, align 1 + store i8 %58, i8* %o_mode, align 1 + %59 = load i8, i8* %mode, align 1 + %conv131 = sext i8 %59 to i32 + %cmp132 = icmp eq i32 %conv131, 103 + %60 = load i32, i32* %preci, align 4 + %cmp134 = icmp sgt i32 %60, 0 + %or.cond = and i1 %cmp132, %cmp134 + br i1 %or.cond, label %if.then136, label %if.end138 + +if.then136: ; preds = %if.end130 + %61 = load i32, i32* %preci, align 4 + %dec137 = add nsw i32 %61, -1 + store i32 %dec137, i32* %preci, align 4 + br label %if.end138 + +if.end138: ; preds = %if.then136, %if.end130 + %62 = load i32, i32* %preci, align 4 + store i32 %62, i32* %round, align 4 + %63 = load i8, i8* %mode, align 1 + %conv139 = sext i8 %63 to i32 + %cmp140 = icmp eq i32 %conv139, 102 + br i1 %cmp140, label %if.then142, label %if.end149 + +if.then142: ; preds = %if.end138 + %64 = load i32, i32* %exp, align 4 + %65 = load i32, i32* %round, align 4 + %add143 = add nsw i32 %65, %64 + store i32 %add143, i32* %round, align 4 + %66 = load i32, i32* %round, align 4 + %cmp144 = icmp slt i32 %66, -1 + br i1 %cmp144, label %if.then146, label %if.end149 + +if.then146: ; preds = %if.then142 + %arraydecay147 = getelementptr inbounds [21 x i8], [21 x i8]* %buf, i64 0, i64 0 + %call = call i8* @memset(i8* %arraydecay147, i32 48, i64 17) #19 + store i32 -1, i32* %exp, align 4 + store i32 -1, i32* %round, align 4 + br label %if.end149 + +if.end149: ; preds = %if.then142, %if.then146, %if.end138 + %arraydecay150 = getelementptr inbounds [21 x i8], [21 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay150, i8** %s, align 8 + %67 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %67, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + store i8 0, i8* %67, align 1 + %68 = load i8*, i8** %s, align 8 + store i8 48, i8* %68, align 1 + store i32 0, i32* %i151, align 4 + %69 = load i8*, i8** %s, align 8 + %add.ptr152 = getelementptr inbounds i8, i8* %69, i64 17 + %add.ptr153 = getelementptr inbounds i8, i8* %add.ptr152, i64 1 + store i8* %add.ptr153, i8** %e, align 8 + %70 = load i32, i32* %round, align 4 + %cmp154 = icmp slt i32 %70, 17 + br i1 %cmp154, label %if.then156, label %if.end164 + +if.then156: ; preds = %if.end149 + %71 = load i8*, i8** %s, align 8 + %72 = load i32, i32* %round, align 4 + %idx.ext = sext i32 %72 to i64 + %add.ptr157 = getelementptr inbounds i8, i8* %71, i64 %idx.ext + %add.ptr158 = getelementptr inbounds i8, i8* %add.ptr157, i64 2 + store i8* %add.ptr158, i8** %e, align 8 + %73 = load i8*, i8** %e, align 8 + %74 = load i8, i8* %73, align 1 + %conv159 = sext i8 %74 to i32 + %cmp160 = icmp sge i32 %conv159, 53 + br i1 %cmp160, label %if.then162, label %if.end164 + +if.then162: ; preds = %if.then156 + store i32 1, i32* %i151, align 4 + br label %if.end164 + +if.end164: ; preds = %if.then156, %if.then162, %if.end149 + br label %do.body165 + +do.body165: ; preds = %do.body165, %lor.rhs, %if.end164 + %75 = load i32, i32* %i151, align 4 + %76 = load i8*, i8** %e, align 8 + %incdec.ptr166 = getelementptr inbounds i8, i8* %76, i32 -1 + store i8* %incdec.ptr166, i8** %e, align 8 + %77 = load i8, i8* %incdec.ptr166, align 1 + %conv167 = sext i8 %77 to i32 + %add168 = add nsw i32 %conv167, %75 + %conv169 = trunc i32 %add168 to i8 + store i8 %conv169, i8* %incdec.ptr166, align 1 + %78 = load i8*, i8** %e, align 8 + %79 = load i8, i8* %78, align 1 + %conv171 = sext i8 %79 to i32 + %cmp172 = icmp eq i32 %conv171, 48 + br i1 %cmp172, label %do.body165, label %lor.rhs + +lor.rhs: ; preds = %do.body165 + %80 = load i8*, i8** %e, align 8 + %81 = load i8, i8* %80, align 1 + %conv174 = sext i8 %81 to i32 + %cmp175 = icmp sgt i32 %conv174, 57 + br i1 %cmp175, label %do.body165, label %do.end177 + +do.end177: ; preds = %lor.rhs + %82 = load i32, i32* %exp, align 4 + store i32 %82, i32* %o_exp, align 4 + %83 = load i8*, i8** %e, align 8 + %84 = load i8*, i8** %s, align 8 + %cmp178 = icmp ule i8* %83, %84 + br i1 %cmp178, label %if.then180, label %if.else182 + +if.then180: ; preds = %do.end177 + %85 = load i32, i32* %o_exp, align 4 + %inc181 = add nsw i32 %85, 1 + store i32 %inc181, i32* %o_exp, align 4 + %86 = load i8*, i8** %s, align 8 + store i8* %86, i8** %e, align 8 + br label %if.end184 + +if.else182: ; preds = %do.end177 + %87 = load i8*, i8** %s, align 8 + %incdec.ptr183 = getelementptr inbounds i8, i8* %87, i32 1 + store i8* %incdec.ptr183, i8** %s, align 8 + br label %if.end184 + +if.end184: ; preds = %if.else182, %if.then180 + %88 = load i8*, i8** %e, align 8 + %incdec.ptr185 = getelementptr inbounds i8, i8* %88, i32 1 + store i8* %incdec.ptr185, i8** %e, align 8 + store i8 0, i8* %incdec.ptr185, align 1 + %89 = load i8, i8* %mode, align 1 + %conv186 = sext i8 %89 to i32 + %cmp187 = icmp eq i32 %conv186, 103 + %90 = load i32, i32* %o_exp, align 4 + %cmp190 = icmp sge i32 %90, -4 + %or.cond1 = and i1 %cmp187, %cmp190 + br i1 %or.cond1, label %land.lhs.true192, label %if.end197 + +land.lhs.true192: ; preds = %if.end184 + %91 = load i32, i32* %o_exp, align 4 + %92 = load i32, i32* %round, align 4 + %cmp193 = icmp sle i32 %91, %92 + br i1 %cmp193, label %if.then195, label %if.end197 + +if.then195: ; preds = %land.lhs.true192 + store i8 102, i8* %mode, align 1 + %93 = load i32, i32* %round, align 4 + %94 = load i32, i32* %o_exp, align 4 + %sub196 = sub nsw i32 %93, %94 + store i32 %sub196, i32* %preci, align 4 + br label %if.end197 + +if.end197: ; preds = %if.then195, %land.lhs.true192, %if.end184 + %95 = load i32, i32* %o_exp, align 4 + store i32 %95, i32* %exp, align 4 + %96 = load i8, i8* %mode, align 1 + %conv198 = sext i8 %96 to i32 + %cmp199 = icmp ne i32 %conv198, 102 + br i1 %cmp199, label %if.then201, label %if.end202 + +if.then201: ; preds = %if.end197 + store i32 0, i32* %o_exp, align 4 + br label %if.end202 + +if.end202: ; preds = %if.then201, %if.end197 + %97 = load i32, i32* %o_exp, align 4 + %cmp203 = icmp slt i32 %97, 0 + br i1 %cmp203, label %if.then205, label %if.end207 + +if.then205: ; preds = %if.end202 + %98 = load i8*, i8** %s, align 8 + %incdec.ptr206 = getelementptr inbounds i8, i8* %98, i32 -1 + store i8* %incdec.ptr206, i8** %s, align 8 + store i8 48, i8* %incdec.ptr206, align 1 + br label %if.end207 + +if.end207: ; preds = %if.then205, %if.end202 + %arrayidx208 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 3 + store i64 176, i64* %arrayidx208, align 8 + %arrayidx209 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 4 + store i64 1, i64* %arrayidx209, align 16 + %arraydecay210 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %add.ptr211 = getelementptr inbounds i8, i8* %arraydecay210, i64 4 + %99 = ptrtoint i8* %add.ptr211 to i64 + %arrayidx212 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 %99, i64* %arrayidx212, align 8 + %100 = load i8*, i8** %s, align 8 + %incdec.ptr213 = getelementptr inbounds i8, i8* %100, i32 1 + store i8* %incdec.ptr213, i8** %s, align 8 + %101 = load i8, i8* %100, align 1 + %arrayidx214 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 4 + store i8 %101, i8* %arrayidx214, align 1 + %arrayidx215 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 5 + store i8 0, i8* %arrayidx215, align 1 + %arraydecay216 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + %add.ptr217 = getelementptr inbounds i64, i64* %arraydecay216, i64 6 + store i64* %add.ptr217, i64** %ppc, align 8 + %102 = load i8*, i8** %e, align 8 + %103 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %102 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %103 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %conv219 = trunc i64 %sub.ptr.sub to i32 + store i32 %conv219, i32* %i218, align 4 + %104 = load i32, i32* %o_exp, align 4 + %cmp220 = icmp sge i32 %104, 0 + br i1 %cmp220, label %if.then222, label %if.end253 + +if.then222: ; preds = %if.end207 + %105 = load i64*, i64** %ppc, align 8 + %arrayidx223 = getelementptr inbounds i64, i64* %105, i64 0 + store i64 112, i64* %arrayidx223, align 8 + %106 = load i8*, i8** %s, align 8 + %107 = ptrtoint i8* %106 to i64 + %108 = load i64*, i64** %ppc, align 8 + %arrayidx224 = getelementptr inbounds i64, i64* %108, i64 2 + store i64 %107, i64* %arrayidx224, align 8 + %109 = load i32, i32* %o_exp, align 4 + %110 = load i32, i32* %i218, align 4 + %cmp225 = icmp sge i32 %109, %110 + br i1 %cmp225, label %if.then227, label %if.else241 + +if.then227: ; preds = %if.then222 + %111 = load i32, i32* %i218, align 4 + %conv228 = sext i32 %111 to i64 + %112 = load i64*, i64** %ppc, align 8 + %arrayidx229 = getelementptr inbounds i64, i64* %112, i64 1 + store i64 %conv228, i64* %arrayidx229, align 8 + %113 = load i64*, i64** %ppc, align 8 + %add.ptr230 = getelementptr inbounds i64, i64* %113, i64 3 + store i64* %add.ptr230, i64** %ppc, align 8 + %114 = load i32, i32* %i218, align 4 + %115 = load i32, i32* %o_exp, align 4 + %sub231 = sub nsw i32 %115, %114 + store i32 %sub231, i32* %o_exp, align 4 + store i32 0, i32* %i218, align 4 + %116 = load i32, i32* %o_exp, align 4 + %cmp232 = icmp sgt i32 %116, 0 + br i1 %cmp232, label %if.then234, label %if.end252 + +if.then234: ; preds = %if.then227 + %117 = load i64*, i64** %ppc, align 8 + %arrayidx235 = getelementptr inbounds i64, i64* %117, i64 0 + store i64 176, i64* %arrayidx235, align 8 + %118 = load i32, i32* %o_exp, align 4 + %conv236 = sext i32 %118 to i64 + %119 = load i64*, i64** %ppc, align 8 + %arrayidx237 = getelementptr inbounds i64, i64* %119, i64 1 + store i64 %conv236, i64* %arrayidx237, align 8 + %120 = load i64*, i64** %ppc, align 8 + %arrayidx238 = getelementptr inbounds i64, i64* %120, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx238, align 8 + %121 = load i64*, i64** %ppc, align 8 + %add.ptr239 = getelementptr inbounds i64, i64* %121, i64 3 + store i64* %add.ptr239, i64** %ppc, align 8 + br label %if.end252 + +if.else241: ; preds = %if.then222 + %122 = load i32, i32* %o_exp, align 4 + %cmp242 = icmp sgt i32 %122, 0 + br i1 %cmp242, label %if.then244, label %if.end252 + +if.then244: ; preds = %if.else241 + %123 = load i32, i32* %o_exp, align 4 + %conv245 = sext i32 %123 to i64 + %124 = load i64*, i64** %ppc, align 8 + %arrayidx246 = getelementptr inbounds i64, i64* %124, i64 1 + store i64 %conv245, i64* %arrayidx246, align 8 + %125 = load i64*, i64** %ppc, align 8 + %add.ptr247 = getelementptr inbounds i64, i64* %125, i64 3 + store i64* %add.ptr247, i64** %ppc, align 8 + %126 = load i32, i32* %o_exp, align 4 + %127 = load i8*, i8** %s, align 8 + %idx.ext248 = sext i32 %126 to i64 + %add.ptr249 = getelementptr inbounds i8, i8* %127, i64 %idx.ext248 + store i8* %add.ptr249, i8** %s, align 8 + %128 = load i32, i32* %o_exp, align 4 + %129 = load i32, i32* %i218, align 4 + %sub250 = sub nsw i32 %129, %128 + store i32 %sub250, i32* %i218, align 4 + br label %if.end252 + +if.end252: ; preds = %if.else241, %if.then244, %if.then227, %if.then234 + store i32 -1, i32* %o_exp, align 4 + br label %if.end253 + +if.end253: ; preds = %if.end252, %if.end207 + %130 = load %struct.printf_info.722*, %struct.printf_info.722** %info.addr, align 8 + %alt = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %130, i32 0, i32 3 + %bf.load254 = load i32, i32* %alt, align 4 + %bf.lshr255 = lshr i32 %bf.load254, 4 + %bf.clear256 = and i32 %bf.lshr255, 1 + %tobool257 = icmp ne i32 %bf.clear256, 0 + %131 = load i32, i32* %i218, align 4 + %tobool258 = icmp ne i32 %131, 0 + %or.cond2 = or i1 %tobool257, %tobool258 + br i1 %or.cond2, label %if.then266, label %lor.lhs.false259 + +lor.lhs.false259: ; preds = %if.end253 + %132 = load i8, i8* %o_mode, align 1 + %conv260 = sext i8 %132 to i32 + %cmp261 = icmp ne i32 %conv260, 103 + %133 = load i32, i32* %preci, align 4 + %cmp264 = icmp sgt i32 %133, 0 + %or.cond3 = and i1 %cmp261, %cmp264 + br i1 %or.cond3, label %if.then266, label %if.end281 + +if.then266: ; preds = %lor.lhs.false259, %if.end253 + %134 = load i64*, i64** %ppc, align 8 + %arrayidx267 = getelementptr inbounds i64, i64* %134, i64 0 + store i64 112, i64* %arrayidx267, align 8 + %135 = load %struct.printf_info.722*, %struct.printf_info.722** %info.addr, align 8 + %wide = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %135, i32 0, i32 3 + %bf.load268 = load i32, i32* %wide, align 4 + %bf.lshr269 = lshr i32 %bf.load268, 7 + %bf.clear270 = and i32 %bf.lshr269, 1 + %tobool271 = icmp ne i32 %bf.clear270, 0 + br i1 %tobool271, label %if.then272, label %if.else275 + +if.then272: ; preds = %if.then266 + %136 = load i64*, i64** %ppc, align 8 + %arrayidx273 = getelementptr inbounds i64, i64* %136, i64 1 + store i64 1, i64* %arrayidx273, align 8 + %137 = load i64*, i64** %ppc, align 8 + %arrayidx274 = getelementptr inbounds i64, i64* %137, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 16) to i64), i64* %arrayidx274, align 8 + br label %if.end279 + +if.else275: ; preds = %if.then266 + %138 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__curlocale_var, align 8 + %decimal_point_len = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %138, i32 0, i32 26 + %139 = load i32, i32* %decimal_point_len, align 8 + %conv276 = sext i32 %139 to i64 + %140 = load i64*, i64** %ppc, align 8 + %arrayidx277 = getelementptr inbounds i64, i64* %140, i64 1 + store i64 %conv276, i64* %arrayidx277, align 8 + %141 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__curlocale_var, align 8 + %decimal_point = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %141, i32 0, i32 39 + %142 = load i8*, i8** %decimal_point, align 8 + %143 = ptrtoint i8* %142 to i64 + %144 = load i64*, i64** %ppc, align 8 + %arrayidx278 = getelementptr inbounds i64, i64* %144, i64 2 + store i64 %143, i64* %arrayidx278, align 8 + br label %if.end279 + +if.end279: ; preds = %if.else275, %if.then272 + %145 = load i64*, i64** %ppc, align 8 + %add.ptr280 = getelementptr inbounds i64, i64* %145, i64 3 + store i64* %add.ptr280, i64** %ppc, align 8 + br label %if.end281 + +if.end281: ; preds = %if.end279, %lor.lhs.false259 + %146 = load i32, i32* %o_exp, align 4 + %inc282 = add nsw i32 %146, 1 + store i32 %inc282, i32* %o_exp, align 4 + %cmp283 = icmp slt i32 %inc282, 0 + br i1 %cmp283, label %if.then285, label %if.end292 + +if.then285: ; preds = %if.end281 + %147 = load i64*, i64** %ppc, align 8 + %arrayidx286 = getelementptr inbounds i64, i64* %147, i64 0 + store i64 176, i64* %arrayidx286, align 8 + %148 = load i32, i32* %o_exp, align 4 + %sub287 = sub nsw i32 0, %148 + %conv288 = sext i32 %sub287 to i64 + %149 = load i64*, i64** %ppc, align 8 + %arrayidx289 = getelementptr inbounds i64, i64* %149, i64 1 + store i64 %conv288, i64* %arrayidx289, align 8 + %150 = load i64*, i64** %ppc, align 8 + %arrayidx290 = getelementptr inbounds i64, i64* %150, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx290, align 8 + %151 = load i64*, i64** %ppc, align 8 + %add.ptr291 = getelementptr inbounds i64, i64* %151, i64 3 + store i64* %add.ptr291, i64** %ppc, align 8 + br label %if.end292 + +if.end292: ; preds = %if.then285, %if.end281 + %152 = load i32, i32* %i218, align 4 + %tobool293 = icmp ne i32 %152, 0 + br i1 %tobool293, label %if.then294, label %if.end300 + +if.then294: ; preds = %if.end292 + %153 = load i64*, i64** %ppc, align 8 + %arrayidx295 = getelementptr inbounds i64, i64* %153, i64 0 + store i64 112, i64* %arrayidx295, align 8 + %154 = load i32, i32* %i218, align 4 + %conv296 = sext i32 %154 to i64 + %155 = load i64*, i64** %ppc, align 8 + %arrayidx297 = getelementptr inbounds i64, i64* %155, i64 1 + store i64 %conv296, i64* %arrayidx297, align 8 + %156 = load i8*, i8** %s, align 8 + %157 = ptrtoint i8* %156 to i64 + %158 = load i64*, i64** %ppc, align 8 + %arrayidx298 = getelementptr inbounds i64, i64* %158, i64 2 + store i64 %157, i64* %arrayidx298, align 8 + %159 = load i64*, i64** %ppc, align 8 + %add.ptr299 = getelementptr inbounds i64, i64* %159, i64 3 + store i64* %add.ptr299, i64** %ppc, align 8 + br label %if.end300 + +if.end300: ; preds = %if.then294, %if.end292 + %160 = load i8, i8* %o_mode, align 1 + %conv301 = sext i8 %160 to i32 + %cmp302 = icmp ne i32 %conv301, 103 + br i1 %cmp302, label %if.then310, label %lor.lhs.false304 + +lor.lhs.false304: ; preds = %if.end300 + %161 = load %struct.printf_info.722*, %struct.printf_info.722** %info.addr, align 8 + %alt305 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %161, i32 0, i32 3 + %bf.load306 = load i32, i32* %alt305, align 4 + %bf.lshr307 = lshr i32 %bf.load306, 4 + %bf.clear308 = and i32 %bf.lshr307, 1 + %tobool309 = icmp ne i32 %bf.clear308, 0 + br i1 %tobool309, label %if.then310, label %if.end322 + +if.then310: ; preds = %lor.lhs.false304, %if.end300 + %162 = load i32, i32* %o_exp, align 4 + %163 = load i32, i32* %i218, align 4 + %sub311 = sub nsw i32 %163, %162 + store i32 %sub311, i32* %i218, align 4 + %164 = load i32, i32* %i218, align 4 + %165 = load i32, i32* %preci, align 4 + %cmp312 = icmp slt i32 %164, %165 + br i1 %cmp312, label %if.then314, label %if.end322 + +if.then314: ; preds = %if.then310 + %166 = load i32, i32* %preci, align 4 + %167 = load i32, i32* %i218, align 4 + %sub315 = sub nsw i32 %166, %167 + store i32 %sub315, i32* %i218, align 4 + %168 = load i64*, i64** %ppc, align 8 + %arrayidx316 = getelementptr inbounds i64, i64* %168, i64 0 + store i64 176, i64* %arrayidx316, align 8 + %169 = load i32, i32* %i218, align 4 + %conv317 = sext i32 %169 to i64 + %170 = load i64*, i64** %ppc, align 8 + %arrayidx318 = getelementptr inbounds i64, i64* %170, i64 1 + store i64 %conv317, i64* %arrayidx318, align 8 + %171 = load i64*, i64** %ppc, align 8 + %arrayidx319 = getelementptr inbounds i64, i64* %171, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx319, align 8 + %172 = load i64*, i64** %ppc, align 8 + %add.ptr320 = getelementptr inbounds i64, i64* %172, i64 3 + store i64* %add.ptr320, i64** %ppc, align 8 + br label %if.end322 + +if.end322: ; preds = %if.then310, %if.then314, %lor.lhs.false304 + %173 = load i8, i8* %mode, align 1 + %conv323 = sext i8 %173 to i32 + %cmp324 = icmp ne i32 %conv323, 102 + br i1 %cmp324, label %if.then326, label %EXIT_SPECIAL + +if.then326: ; preds = %if.end322 + %arraydecay327 = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + %add.ptr328 = getelementptr inbounds i8, i8* %arraydecay327, i64 16 + store i8* %add.ptr328, i8** %p, align 8 + %arraydecay330 = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + %174 = load i8, i8* %arraydecay330, align 16 + store i8 %174, i8* %exp_char, align 1 + store i8 43, i8* %exp_sign, align 1 + %175 = load i32, i32* %exp, align 4 + %cmp331 = icmp slt i32 %175, 0 + br i1 %cmp331, label %if.then333, label %if.end335 + +if.then333: ; preds = %if.then326 + store i8 45, i8* %exp_sign, align 1 + %176 = load i32, i32* %exp, align 4 + %sub334 = sub nsw i32 0, %176 + store i32 %sub334, i32* %exp, align 4 + br label %if.end335 + +if.end335: ; preds = %if.then333, %if.then326 + %177 = load i8*, i8** %p, align 8 + %incdec.ptr336 = getelementptr inbounds i8, i8* %177, i32 -1 + store i8* %incdec.ptr336, i8** %p, align 8 + store i8 0, i8* %incdec.ptr336, align 1 + store i32 2, i32* %j329, align 4 + br label %do.body337 + +do.body337: ; preds = %do.body337, %if.end335 + %178 = load i32, i32* %exp, align 4 + %rem338 = srem i32 %178, 10 + %add339 = add nsw i32 48, %rem338 + %conv340 = trunc i32 %add339 to i8 + %179 = load i8*, i8** %p, align 8 + %incdec.ptr341 = getelementptr inbounds i8, i8* %179, i32 -1 + store i8* %incdec.ptr341, i8** %p, align 8 + store i8 %conv340, i8* %incdec.ptr341, align 1 + %180 = load i32, i32* %exp, align 4 + %div342 = sdiv i32 %180, 10 + store i32 %div342, i32* %exp, align 4 + %181 = load i32, i32* %j329, align 4 + %inc344 = add nsw i32 %181, 1 + store i32 %inc344, i32* %j329, align 4 + %cmp345 = icmp slt i32 %inc344, 4 + %182 = load i32, i32* %exp, align 4 + %tobool348 = icmp ne i32 %182, 0 + %183 = select i1 %cmp345, i1 true, i1 %tobool348 + br i1 %183, label %do.body337, label %do.end350 + +do.end350: ; preds = %do.body337 + %184 = load i8, i8* %exp_sign, align 1 + %185 = load i8*, i8** %p, align 8 + %incdec.ptr351 = getelementptr inbounds i8, i8* %185, i32 -1 + store i8* %incdec.ptr351, i8** %p, align 8 + store i8 %184, i8* %incdec.ptr351, align 1 + %186 = load i8, i8* %exp_char, align 1 + %187 = load i8*, i8** %p, align 8 + %incdec.ptr352 = getelementptr inbounds i8, i8* %187, i32 -1 + store i8* %incdec.ptr352, i8** %p, align 8 + store i8 %186, i8* %incdec.ptr352, align 1 + %188 = load i64*, i64** %ppc, align 8 + %arrayidx353 = getelementptr inbounds i64, i64* %188, i64 0 + store i64 112, i64* %arrayidx353, align 8 + %189 = load i32, i32* %j329, align 4 + %conv354 = sext i32 %189 to i64 + %190 = load i64*, i64** %ppc, align 8 + %arrayidx355 = getelementptr inbounds i64, i64* %190, i64 1 + store i64 %conv354, i64* %arrayidx355, align 8 + %191 = load i8*, i8** %p, align 8 + %192 = ptrtoint i8* %191 to i64 + %193 = load i64*, i64** %ppc, align 8 + %arrayidx356 = getelementptr inbounds i64, i64* %193, i64 2 + store i64 %192, i64* %arrayidx356, align 8 + %194 = load i64*, i64** %ppc, align 8 + %add.ptr357 = getelementptr inbounds i64, i64* %194, i64 3 + store i64* %add.ptr357, i64** %ppc, align 8 + br label %EXIT_SPECIAL + +EXIT_SPECIAL: ; preds = %if.end322, %do.end350, %if.end54 + %195 = load i64*, i64** %ppc, align 8 + store i64* %195, i64** %ppc_last, align 8 + %arraydecay360 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + %add.ptr361 = getelementptr inbounds i64, i64* %arraydecay360, i64 4 + store i64* %add.ptr361, i64** %ppc, align 8 + br label %do.body362 + +do.body362: ; preds = %do.body362, %EXIT_SPECIAL + %196 = load i64*, i64** %ppc, align 8 + %197 = load i64, i64* %196, align 8 + %198 = load i32, i32* %width, align 4 + %conv363 = sext i32 %198 to i64 + %sub364 = sub nsw i64 %conv363, %197 + %conv365 = trunc i64 %sub364 to i32 + store i32 %conv365, i32* %width, align 4 + %199 = load i64*, i64** %ppc, align 8 + %add.ptr366 = getelementptr inbounds i64, i64* %199, i64 3 + store i64* %add.ptr366, i64** %ppc, align 8 + %200 = load i64*, i64** %ppc, align 8 + %201 = load i64*, i64** %ppc_last, align 8 + %cmp368 = icmp ult i64* %200, %201 + br i1 %cmp368, label %do.body362, label %do.end370 + +do.end370: ; preds = %do.body362 + %arraydecay371 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + store i64* %arraydecay371, i64** %ppc, align 8 + %202 = load i64*, i64** %ppc, align 8 + %arrayidx372 = getelementptr inbounds i64, i64* %202, i64 0 + store i64 160, i64* %arrayidx372, align 8 + %arraydecay373 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %203 = load i8, i8* %arraydecay373, align 1 + %conv374 = sext i8 %203 to i32 + %cmp375 = icmp ne i32 %conv374, 0 + %conv376 = zext i1 %cmp375 to i32 + store i32 %conv376, i32* %i359, align 4 + %conv377 = sext i32 %conv376 to i64 + %204 = load i64*, i64** %ppc, align 8 + %arrayidx378 = getelementptr inbounds i64, i64* %204, i64 1 + store i64 %conv377, i64* %arrayidx378, align 8 + %arraydecay379 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %205 = ptrtoint i8* %arraydecay379 to i64 + %206 = load i64*, i64** %ppc, align 8 + %arrayidx380 = getelementptr inbounds i64, i64* %206, i64 2 + store i64 %205, i64* %arrayidx380, align 8 + %207 = load i32, i32* %i359, align 4 + %208 = load i32, i32* %width, align 4 + %sub381 = sub nsw i32 %208, %207 + store i32 %sub381, i32* %width, align 4 + %cmp382 = icmp sgt i32 %sub381, 0 + br i1 %cmp382, label %if.then384, label %if.end409 + +if.then384: ; preds = %do.end370 + %209 = load %struct.printf_info.722*, %struct.printf_info.722** %info.addr, align 8 + %left = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %209, i32 0, i32 3 + %bf.load385 = load i32, i32* %left, align 4 + %bf.lshr386 = lshr i32 %bf.load385, 3 + %bf.clear387 = and i32 %bf.lshr386, 1 + %tobool388 = icmp ne i32 %bf.clear387, 0 + br i1 %tobool388, label %if.then389, label %if.else395 + +if.then389: ; preds = %if.then384 + %210 = load i64*, i64** %ppc_last, align 8 + %arrayidx390 = getelementptr inbounds i64, i64* %210, i64 0 + store i64 160, i64* %arrayidx390, align 8 + %211 = load i32, i32* %width, align 4 + %conv391 = sext i32 %211 to i64 + %212 = load i64*, i64** %ppc_last, align 8 + %arrayidx392 = getelementptr inbounds i64, i64* %212, i64 1 + store i64 %conv391, i64* %arrayidx392, align 8 + %213 = load i64*, i64** %ppc_last, align 8 + %arrayidx393 = getelementptr inbounds i64, i64* %213, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx393, align 8 + %214 = load i64*, i64** %ppc_last, align 8 + %add.ptr394 = getelementptr inbounds i64, i64* %214, i64 3 + store i64* %add.ptr394, i64** %ppc_last, align 8 + br label %if.end409 + +if.else395: ; preds = %if.then384 + %215 = load %struct.printf_info.722*, %struct.printf_info.722** %info.addr, align 8 + %pad396 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %215, i32 0, i32 4 + %216 = load i32, i32* %pad396, align 4 + %cmp397 = icmp eq i32 %216, 48 + %217 = load i32, i32* %width, align 4 + %conv400 = sext i32 %217 to i64 + %218 = load i64*, i64** %ppc, align 8 + br i1 %cmp397, label %if.then399, label %if.else403 + +if.then399: ; preds = %if.else395 + %arrayidx401 = getelementptr inbounds i64, i64* %218, i64 4 + %219 = load i64, i64* %arrayidx401, align 8 + %add402 = add nsw i64 %219, %conv400 + store i64 %add402, i64* %arrayidx401, align 8 + br label %if.end409 + +if.else403: ; preds = %if.else395 + %arrayidx405 = getelementptr inbounds i64, i64* %218, i64 1 + %220 = load i64, i64* %arrayidx405, align 8 + %add406 = add nsw i64 %220, %conv400 + store i64 %add406, i64* %arrayidx405, align 8 + br label %if.end409 + +if.end409: ; preds = %if.then389, %if.else403, %if.then399, %do.end370 + store i32 0, i32* %cnt, align 4 + br label %do.body410 + +do.body410: ; preds = %if.end418, %if.end409 + %221 = load i64 (%struct.__STDIO_FILE_STRUCT.570*, i64, i64, i64)*, i64 (%struct.__STDIO_FILE_STRUCT.570*, i64, i64, i64)** %fp_outfunc.addr, align 8 + %222 = load %struct.__STDIO_FILE_STRUCT.570*, %struct.__STDIO_FILE_STRUCT.570** %fp.addr, align 8 + %223 = load i64*, i64** %ppc, align 8 + %224 = load i64, i64* %223, align 8 + %225 = load i64*, i64** %ppc, align 8 + %arrayidx411 = getelementptr inbounds i64, i64* %225, i64 1 + %226 = load i64, i64* %arrayidx411, align 8 + %227 = load i64*, i64** %ppc, align 8 + %arrayidx412 = getelementptr inbounds i64, i64* %227, i64 2 + %228 = load i64, i64* %arrayidx412, align 8 + %call413 = call i64 %221(%struct.__STDIO_FILE_STRUCT.570* %222, i64 %224, i64 %226, i64 %228) #18 + %229 = load i64*, i64** %ppc, align 8 + %arrayidx414 = getelementptr inbounds i64, i64* %229, i64 1 + %230 = load i64, i64* %arrayidx414, align 8 + %cmp415 = icmp ne i64 %call413, %230 + br i1 %cmp415, label %if.then417, label %if.end418 + +if.then417: ; preds = %do.body410 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end418: ; preds = %do.body410 + %231 = load i64*, i64** %ppc, align 8 + %arrayidx419 = getelementptr inbounds i64, i64* %231, i64 1 + %232 = load i64, i64* %arrayidx419, align 8 + %233 = load i32, i32* %cnt, align 4 + %conv420 = sext i32 %233 to i64 + %add421 = add nsw i64 %conv420, %232 + %conv422 = trunc i64 %add421 to i32 + store i32 %conv422, i32* %cnt, align 4 + %234 = load i64*, i64** %ppc, align 8 + %add.ptr423 = getelementptr inbounds i64, i64* %234, i64 3 + store i64* %add.ptr423, i64** %ppc, align 8 + %235 = load i64*, i64** %ppc, align 8 + %236 = load i64*, i64** %ppc_last, align 8 + %cmp425 = icmp ult i64* %235, %236 + br i1 %cmp425, label %do.body410, label %do.end427 + +do.end427: ; preds = %if.end418 + %237 = load i32, i32* %cnt, align 4 + %conv428 = sext i32 %237 to i64 + store i64 %conv428, i64* %retval, align 8 + br label %return + +return: ; preds = %do.end427, %if.then417 + %238 = load i64, i64* %retval, align 8 + ret i64 %238 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_fwrite(i8* noalias %buffer, i64 %bytes, %struct.__STDIO_FILE_STRUCT.623* noalias %stream) #0 { +entry: + %retval = alloca i64, align 8 + %buffer.addr = alloca i8*, align 8 + %bytes.addr = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.623*, align 8 + %pending = alloca i64, align 8 + %p = alloca i8*, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %bytes, i64* %bytes.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.623* %stream, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.623*, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.623, %struct.__STDIO_FILE_STRUCT.623* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 512 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end63, label %if.then + +if.then: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.623*, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.623, %struct.__STDIO_FILE_STRUCT.623* %2, i32 0, i32 2 + %3 = load i32, i32* %__filedes, align 4 + %cmp = icmp eq i32 %3, -2 + br i1 %cmp, label %if.then2, label %if.end8 + +if.then2: ; preds = %if.then + %4 = load %struct.__STDIO_FILE_STRUCT.623*, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.623, %struct.__STDIO_FILE_STRUCT.623* %4, i32 0, i32 4 + %5 = load i8*, i8** %__bufend, align 8 + %6 = load %struct.__STDIO_FILE_STRUCT.623*, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.623, %struct.__STDIO_FILE_STRUCT.623* %6, i32 0, i32 5 + %7 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %pending, align 8 + %8 = load i64, i64* %pending, align 8 + %9 = load i64, i64* %bytes.addr, align 8 + %cmp3 = icmp ugt i64 %8, %9 + br i1 %cmp3, label %if.then5, label %if.end + +if.then5: ; preds = %if.then2 + %10 = load i64, i64* %bytes.addr, align 8 + store i64 %10, i64* %pending, align 8 + br label %if.end + +if.end: ; preds = %if.then5, %if.then2 + %11 = load %struct.__STDIO_FILE_STRUCT.623*, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %__bufpos6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.623, %struct.__STDIO_FILE_STRUCT.623* %11, i32 0, i32 5 + %12 = load i8*, i8** %__bufpos6, align 8 + %13 = load i8*, i8** %buffer.addr, align 8 + %14 = load i64, i64* %pending, align 8 + %call = call i8* @memcpy(i8* %12, i8* %13, i64 %14) #19 + %15 = load i64, i64* %pending, align 8 + %16 = load %struct.__STDIO_FILE_STRUCT.623*, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %__bufpos7 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.623, %struct.__STDIO_FILE_STRUCT.623* %16, i32 0, i32 5 + %17 = load i8*, i8** %__bufpos7, align 8 + %add.ptr = getelementptr inbounds i8, i8* %17, i64 %15 + store i8* %add.ptr, i8** %__bufpos7, align 8 + %18 = load i64, i64* %bytes.addr, align 8 + store i64 %18, i64* %retval, align 8 + br label %return + +if.end8: ; preds = %if.then + %19 = load i64, i64* %bytes.addr, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.623*, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %__bufend9 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.623, %struct.__STDIO_FILE_STRUCT.623* %20, i32 0, i32 4 + %21 = load i8*, i8** %__bufend9, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.623*, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %__bufpos10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.623, %struct.__STDIO_FILE_STRUCT.623* %22, i32 0, i32 5 + %23 = load i8*, i8** %__bufpos10, align 8 + %sub.ptr.lhs.cast11 = ptrtoint i8* %21 to i64 + %sub.ptr.rhs.cast12 = ptrtoint i8* %23 to i64 + %sub.ptr.sub13 = sub i64 %sub.ptr.lhs.cast11, %sub.ptr.rhs.cast12 + %cmp14 = icmp ule i64 %19, %sub.ptr.sub13 + %24 = load %struct.__STDIO_FILE_STRUCT.623*, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %__bufpos17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.623, %struct.__STDIO_FILE_STRUCT.623* %24, i32 0, i32 5 + %25 = load i8*, i8** %__bufpos17, align 8 + br i1 %cmp14, label %if.then16, label %if.end51 + +if.then16: ; preds = %if.end8 + %26 = load i8*, i8** %buffer.addr, align 8 + %27 = load i64, i64* %bytes.addr, align 8 + %call18 = call i8* @memcpy(i8* %25, i8* %26, i64 %27) #19 + %28 = load i64, i64* %bytes.addr, align 8 + %29 = load %struct.__STDIO_FILE_STRUCT.623*, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %__bufpos19 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.623, %struct.__STDIO_FILE_STRUCT.623* %29, i32 0, i32 5 + %30 = load i8*, i8** %__bufpos19, align 8 + %add.ptr20 = getelementptr inbounds i8, i8* %30, i64 %28 + store i8* %add.ptr20, i8** %__bufpos19, align 8 + %31 = load %struct.__STDIO_FILE_STRUCT.623*, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %__modeflags21 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.623, %struct.__STDIO_FILE_STRUCT.623* %31, i32 0, i32 0 + %32 = load i16, i16* %__modeflags21, align 8 + %conv22 = zext i16 %32 to i32 + %and23 = and i32 %conv22, 256 + %tobool24 = icmp ne i32 %and23, 0 + br i1 %tobool24, label %land.lhs.true, label %if.end50 + +land.lhs.true: ; preds = %if.then16 + %33 = load i8*, i8** %buffer.addr, align 8 + %34 = load i64, i64* %bytes.addr, align 8 + %call25 = call i8* @memrchr(i8* %33, i32 10, i64 %34) #20 + %tobool26 = icmp ne i8* %call25, null + br i1 %tobool26, label %if.then27, label %if.end50 + +if.then27: ; preds = %land.lhs.true + %35 = load %struct.__STDIO_FILE_STRUCT.623*, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %call28 = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.570*)* @__stdio_wcommit to i64 (%struct.__STDIO_FILE_STRUCT.623*)*)(%struct.__STDIO_FILE_STRUCT.623* %35) #18 + store i64 %call28, i64* %pending, align 8 + %cmp29 = icmp ugt i64 %call28, 0 + br i1 %cmp29, label %if.then31, label %if.end50 + +if.then31: ; preds = %if.then27 + %36 = load i64, i64* %pending, align 8 + %37 = load i64, i64* %bytes.addr, align 8 + %cmp32 = icmp ugt i64 %36, %37 + br i1 %cmp32, label %if.then34, label %if.end35 + +if.then34: ; preds = %if.then31 + %38 = load i64, i64* %bytes.addr, align 8 + store i64 %38, i64* %pending, align 8 + br label %if.end35 + +if.end35: ; preds = %if.then34, %if.then31 + %39 = load i64, i64* %bytes.addr, align 8 + %40 = load i64, i64* %pending, align 8 + %sub = sub i64 %39, %40 + %41 = load i8*, i8** %buffer.addr, align 8 + %add.ptr36 = getelementptr inbounds i8, i8* %41, i64 %sub + store i8* %add.ptr36, i8** %buffer.addr, align 8 + %42 = load i8*, i8** %buffer.addr, align 8 + %43 = load i64, i64* %pending, align 8 + %call37 = call i8* @memchr(i8* %42, i32 10, i64 %43) #20 + store i8* %call37, i8** %p, align 8 + %cmp38 = icmp ne i8* %call37, null + br i1 %cmp38, label %if.then40, label %if.end50 + +if.then40: ; preds = %if.end35 + %44 = load i8*, i8** %buffer.addr, align 8 + %45 = load i64, i64* %pending, align 8 + %add.ptr41 = getelementptr inbounds i8, i8* %44, i64 %45 + %46 = load i8*, i8** %p, align 8 + %sub.ptr.lhs.cast42 = ptrtoint i8* %add.ptr41 to i64 + %sub.ptr.rhs.cast43 = ptrtoint i8* %46 to i64 + %sub.ptr.sub44 = sub i64 %sub.ptr.lhs.cast42, %sub.ptr.rhs.cast43 + store i64 %sub.ptr.sub44, i64* %pending, align 8 + %47 = load i64, i64* %pending, align 8 + %48 = load i64, i64* %bytes.addr, align 8 + %sub45 = sub i64 %48, %47 + store i64 %sub45, i64* %bytes.addr, align 8 + %49 = load i64, i64* %pending, align 8 + %50 = load %struct.__STDIO_FILE_STRUCT.623*, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %__bufpos46 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.623, %struct.__STDIO_FILE_STRUCT.623* %50, i32 0, i32 5 + %51 = load i8*, i8** %__bufpos46, align 8 + %idx.neg = sub i64 0, %49 + %add.ptr47 = getelementptr inbounds i8, i8* %51, i64 %idx.neg + store i8* %add.ptr47, i8** %__bufpos46, align 8 + br label %if.end50 + +if.end50: ; preds = %if.then27, %if.then40, %if.end35, %land.lhs.true, %if.then16 + %52 = load i64, i64* %bytes.addr, align 8 + store i64 %52, i64* %retval, align 8 + br label %return + +if.end51: ; preds = %if.end8 + %53 = load %struct.__STDIO_FILE_STRUCT.623*, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.623, %struct.__STDIO_FILE_STRUCT.623* %53, i32 0, i32 3 + %54 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast53 = ptrtoint i8* %25 to i64 + %sub.ptr.rhs.cast54 = ptrtoint i8* %54 to i64 + %sub.ptr.sub55 = sub i64 %sub.ptr.lhs.cast53, %sub.ptr.rhs.cast54 + %tobool56 = icmp ne i64 %sub.ptr.sub55, 0 + br i1 %tobool56, label %if.then57, label %if.end63 + +if.then57: ; preds = %if.end51 + %55 = load %struct.__STDIO_FILE_STRUCT.623*, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %call58 = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.570*)* @__stdio_wcommit to i64 (%struct.__STDIO_FILE_STRUCT.623*)*)(%struct.__STDIO_FILE_STRUCT.623* %55) #18 + %tobool59 = icmp ne i64 %call58, 0 + br i1 %tobool59, label %if.then60, label %if.end63 + +if.then60: ; preds = %if.then57 + store i64 0, i64* %retval, align 8 + br label %return + +if.end63: ; preds = %if.end51, %if.then57, %entry + %56 = load %struct.__STDIO_FILE_STRUCT.623*, %struct.__STDIO_FILE_STRUCT.623** %stream.addr, align 8 + %57 = load i8*, i8** %buffer.addr, align 8 + %58 = load i64, i64* %bytes.addr, align 8 + %call64 = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.570*, i8*, i64)* @__stdio_WRITE to i64 (%struct.__STDIO_FILE_STRUCT.623*, i8*, i64)*)(%struct.__STDIO_FILE_STRUCT.623* %56, i8* %57, i64 %58) #18 + store i64 %call64, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end63, %if.then60, %if.end50, %if.end + %59 = load i64, i64* %retval, align 8 + ret i64 %59 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_load_inttype(i32 %desttype, i8* %src, i32 %uflag) #0 { +entry: + %retval = alloca i64, align 8 + %desttype.addr = alloca i32, align 4 + %src.addr = alloca i8*, align 8 + %uflag.addr = alloca i32, align 4 + %x = alloca i32, align 4 + %x24 = alloca i32, align 4 + store i32 %desttype, i32* %desttype.addr, align 4 + store i8* %src, i8** %src.addr, align 8 + store i32 %uflag, i32* %uflag.addr, align 4 + %0 = load i32, i32* %uflag.addr, align 4 + %cmp = icmp sge i32 %0, 0 + %1 = load i32, i32* %desttype.addr, align 4 + %and = and i32 %1, 3072 + %tobool = icmp ne i32 %and, 0 + %2 = load i8*, i8** %src.addr, align 8 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + br i1 %tobool, label %if.then1, label %if.end4 + +if.then1: ; preds = %if.then + %3 = bitcast i8* %2 to i64* + %4 = load i64, i64* %3, align 8 + store i64 %4, i64* %retval, align 8 + br label %return + +if.end4: ; preds = %if.then + %5 = bitcast i8* %2 to i32* + %6 = load i32, i32* %5, align 4 + store i32 %6, i32* %x, align 4 + %7 = load i32, i32* %desttype.addr, align 4 + %cmp5 = icmp eq i32 %7, 256 + br i1 %cmp5, label %if.then6, label %if.end8 + +if.then6: ; preds = %if.end4 + %8 = load i32, i32* %x, align 4 + %conv = trunc i32 %8 to i8 + %conv7 = zext i8 %conv to i32 + store i32 %conv7, i32* %x, align 4 + br label %if.end8 + +if.end8: ; preds = %if.then6, %if.end4 + %9 = load i32, i32* %desttype.addr, align 4 + %cmp9 = icmp eq i32 %9, 512 + br i1 %cmp9, label %if.then11, label %if.end14 + +if.then11: ; preds = %if.end8 + %10 = load i32, i32* %x, align 4 + %conv12 = trunc i32 %10 to i16 + %conv13 = zext i16 %conv12 to i32 + store i32 %conv13, i32* %x, align 4 + br label %if.end14 + +if.end14: ; preds = %if.then11, %if.end8 + %11 = load i32, i32* %x, align 4 + %conv15 = zext i32 %11 to i64 + store i64 %conv15, i64* %retval, align 8 + br label %return + +if.else: ; preds = %entry + br i1 %tobool, label %if.then18, label %if.end23 + +if.then18: ; preds = %if.else + %12 = bitcast i8* %2 to i64* + %13 = load i64, i64* %12, align 8 + store i64 %13, i64* %retval, align 8 + br label %return + +if.end23: ; preds = %if.else + %14 = bitcast i8* %2 to i32* + %15 = load i32, i32* %14, align 4 + store i32 %15, i32* %x24, align 4 + %16 = load i32, i32* %desttype.addr, align 4 + %cmp25 = icmp eq i32 %16, 256 + br i1 %cmp25, label %if.then27, label %if.end30 + +if.then27: ; preds = %if.end23 + %17 = load i32, i32* %x24, align 4 + %conv28 = trunc i32 %17 to i8 + %conv29 = sext i8 %conv28 to i32 + store i32 %conv29, i32* %x24, align 4 + br label %if.end30 + +if.end30: ; preds = %if.then27, %if.end23 + %18 = load i32, i32* %desttype.addr, align 4 + %cmp31 = icmp eq i32 %18, 512 + br i1 %cmp31, label %if.then33, label %if.end36 + +if.then33: ; preds = %if.end30 + %19 = load i32, i32* %x24, align 4 + %conv34 = trunc i32 %19 to i16 + %conv35 = sext i16 %conv34 to i32 + store i32 %conv35, i32* %x24, align 4 + br label %if.end36 + +if.end36: ; preds = %if.then33, %if.end30 + %20 = load i32, i32* %x24, align 4 + %conv37 = sext i32 %20 to i64 + store i64 %conv37, i64* %retval, align 8 + br label %return + +return: ; preds = %if.then18, %if.then1, %if.end36, %if.end14 + %21 = load i64, i64* %retval, align 8 + ret i64 %21 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_ppfs_init(%struct.ppfs_t.724* %ppfs, i8* %fmt0) #0 { +entry: + %retval = alloca i32, align 4 + %ppfs.addr = alloca %struct.ppfs_t.724*, align 8 + %fmt0.addr = alloca i8*, align 8 + %r = alloca i32, align 4 + %mbstate = alloca %struct.__mbstate_t.514, align 4 + %p = alloca i8*, align 8 + %p8 = alloca i32*, align 8 + %fmt = alloca i8*, align 8 + store %struct.ppfs_t.724* %ppfs, %struct.ppfs_t.724** %ppfs.addr, align 8 + store i8* %fmt0, i8** %fmt0.addr, align 8 + %0 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %1 = bitcast %struct.ppfs_t.724* %0 to i8* + %call = call i8* @memset(i8* %1, i32 0, i64 176) #19 + %2 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %2, i32 0, i32 2 + %3 = load i32, i32* %maxposarg, align 4 + %dec = add nsw i32 %3, -1 + store i32 %dec, i32* %maxposarg, align 4 + %4 = load i8*, i8** %fmt0.addr, align 8 + %5 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %fmtpos = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %5, i32 0, i32 0 + store i8* %4, i8** %fmtpos, align 8 + %6 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %6, i32 0, i32 9 + %7 = load i8, i8* %encoding, align 8 + %conv = zext i8 %7 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %if.then, label %if.end7 + +if.then: ; preds = %entry + %__mask = getelementptr inbounds %struct.__mbstate_t.514, %struct.__mbstate_t.514* %mbstate, i32 0, i32 0 + store i32 0, i32* %__mask, align 4 + %8 = load i8*, i8** %fmt0.addr, align 8 + store i8* %8, i8** %p, align 8 + %call2 = call i64 @mbsrtowcs(i32* null, i8** %p, i64 -1, %struct.__mbstate_t.514* %mbstate) #19 + %cmp3 = icmp eq i64 %call2, -1 + br i1 %cmp3, label %if.then5, label %if.end7 + +if.then5: ; preds = %if.then + %9 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %fmtpos6 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %9, i32 0, i32 0 + store i8* getelementptr inbounds ([33 x i8], [33 x i8]* @_ppfs_init.invalid_mbs, i64 0, i64 0), i8** %fmtpos6, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end7: ; preds = %if.then, %entry + %10 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %argtype = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %10, i32 0, i32 6 + %arraydecay = getelementptr inbounds [9 x i32], [9 x i32]* %argtype, i64 0, i64 0 + store i32* %arraydecay, i32** %p8, align 8 + store i32 9, i32* %r, align 4 + br label %do.body + +do.body: ; preds = %do.body, %if.end7 + %11 = load i32*, i32** %p8, align 8 + %incdec.ptr = getelementptr inbounds i32, i32* %11, i32 1 + store i32* %incdec.ptr, i32** %p8, align 8 + store i32 8, i32* %11, align 4 + %12 = load i32, i32* %r, align 4 + %dec9 = add nsw i32 %12, -1 + store i32 %dec9, i32* %r, align 4 + %tobool = icmp ne i32 %dec9, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.body + %13 = load i8*, i8** %fmt0.addr, align 8 + store i8* %13, i8** %fmt, align 8 + br label %while.cond + +while.cond: ; preds = %if.end27, %do.end + %14 = load i8*, i8** %fmt, align 8 + %15 = load i8, i8* %14, align 1 + %tobool10 = icmp ne i8 %15, 0 + br i1 %tobool10, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %16 = load i8*, i8** %fmt, align 8 + %17 = load i8, i8* %16, align 1 + %conv11 = sext i8 %17 to i32 + %cmp12 = icmp eq i32 %conv11, 37 + br i1 %cmp12, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %while.body + %18 = load i8*, i8** %fmt, align 8 + %incdec.ptr14 = getelementptr inbounds i8, i8* %18, i32 1 + store i8* %incdec.ptr14, i8** %fmt, align 8 + %19 = load i8, i8* %incdec.ptr14, align 1 + %conv15 = sext i8 %19 to i32 + %cmp16 = icmp ne i32 %conv15, 37 + br i1 %cmp16, label %if.then18, label %if.else + +if.then18: ; preds = %land.lhs.true + %20 = load i8*, i8** %fmt, align 8 + %21 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %fmtpos19 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %21, i32 0, i32 0 + store i8* %20, i8** %fmtpos19, align 8 + %22 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %call20 = call i32 @_ppfs_parsespec(%struct.ppfs_t.724* %22) #18 + store i32 %call20, i32* %r, align 4 + %cmp21 = icmp slt i32 %call20, 0 + br i1 %cmp21, label %if.then23, label %if.end24 + +if.then23: ; preds = %if.then18 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end24: ; preds = %if.then18 + %23 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %fmtpos25 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %23, i32 0, i32 0 + %24 = load i8*, i8** %fmtpos25, align 8 + store i8* %24, i8** %fmt, align 8 + br label %if.end27 + +if.else: ; preds = %land.lhs.true, %while.body + %25 = load i8*, i8** %fmt, align 8 + %incdec.ptr26 = getelementptr inbounds i8, i8* %25, i32 1 + store i8* %incdec.ptr26, i8** %fmt, align 8 + br label %if.end27 + +if.end27: ; preds = %if.else, %if.end24 + br label %while.cond + +while.end: ; preds = %while.cond + %26 = load i8*, i8** %fmt0.addr, align 8 + %27 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %fmtpos28 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %27, i32 0, i32 0 + store i8* %26, i8** %fmtpos28, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %while.end, %if.then23, %if.then5 + %28 = load i32, i32* %retval, align 4 + ret i32 %28 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_ppfs_parsespec(%struct.ppfs_t.724* %ppfs) #0 { +entry: + %retval = alloca i32, align 4 + %ppfs.addr = alloca %struct.ppfs_t.724*, align 8 + %fmt = alloca i8*, align 8 + %p = alloca i8*, align 8 + %preci = alloca i32, align 4 + %width = alloca i32, align 4 + %flags = alloca i32, align 4 + %dataargtype = alloca i32, align 4 + %i = alloca i32, align 4 + %dpoint = alloca i32, align 4 + %maxposarg = alloca i32, align 4 + %p_m_spec_chars = alloca i32, align 4 + %n = alloca i32, align 4 + %argtype = alloca [3 x i32], align 4 + %argnumber = alloca [3 x i32], align 4 + %buf = alloca [32 x i8], align 16 + store %struct.ppfs_t.724* %ppfs, %struct.ppfs_t.724** %ppfs.addr, align 8 + store i32 -1, i32* %preci, align 4 + %arrayidx = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 0 + store i32 0, i32* %arrayidx, align 4 + %arrayidx1 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 1 + store i32 0, i32* %arrayidx1, align 4 + %arrayidx2 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 0 + store i32 8, i32* %arrayidx2, align 4 + %arrayidx3 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 1 + store i32 8, i32* %arrayidx3, align 4 + %0 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %maxposarg4 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %0, i32 0, i32 2 + %1 = load i32, i32* %maxposarg4, align 4 + store i32 %1, i32* %maxposarg, align 4 + store i32 0, i32* %dpoint, align 4 + store i32 0, i32* %width, align 4 + %2 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %2, i32 0, i32 1 + %_flags = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info, i32 0, i32 3 + %3 = load i32, i32* %_flags, align 4 + %and = and i32 %3, 128 + store i32 %and, i32* %flags, align 4 + %cmp = icmp eq i32 %and, 0 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %4 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %fmtpos = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %4, i32 0, i32 0 + %5 = load i8*, i8** %fmtpos, align 8 + store i8* %5, i8** %fmt, align 8 + br label %if.end20 + +if.else: ; preds = %entry + %arraydecay = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 1 + store i8* %add.ptr, i8** %fmt, align 8 + store i32 0, i32* %i, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %if.else + %6 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %fmtpos5 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %6, i32 0, i32 0 + %7 = load i8*, i8** %fmtpos5, align 8 + %8 = bitcast i8* %7 to i32* + %9 = load i32, i32* %i, align 4 + %sub = sub nsw i32 %9, 1 + %idxprom = sext i32 %sub to i64 + %arrayidx6 = getelementptr inbounds i32, i32* %8, i64 %idxprom + %10 = load i32, i32* %arrayidx6, align 4 + %conv = trunc i32 %10 to i8 + %11 = load i32, i32* %i, align 4 + %idxprom7 = sext i32 %11 to i64 + %arrayidx8 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 %idxprom7 + store i8 %conv, i8* %arrayidx8, align 1 + %conv9 = sext i8 %conv to i32 + %12 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %fmtpos10 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %12, i32 0, i32 0 + %13 = load i8*, i8** %fmtpos10, align 8 + %14 = bitcast i8* %13 to i32* + %15 = load i32, i32* %i, align 4 + %sub11 = sub nsw i32 %15, 1 + %idxprom12 = sext i32 %sub11 to i64 + %arrayidx13 = getelementptr inbounds i32, i32* %14, i64 %idxprom12 + %16 = load i32, i32* %arrayidx13, align 4 + %cmp14 = icmp ne i32 %conv9, %16 + br i1 %cmp14, label %if.then16, label %do.cond + +if.then16: ; preds = %do.body + store i32 -1, i32* %retval, align 4 + br label %return + +do.cond: ; preds = %do.body + %17 = load i32, i32* %i, align 4 + %inc = add nsw i32 %17, 1 + store i32 %inc, i32* %i, align 4 + %idxprom17 = sext i32 %17 to i64 + %arrayidx18 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 %idxprom17 + %18 = load i8, i8* %arrayidx18, align 1 + %tobool = icmp ne i8 %18, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %arrayidx19 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 31 + store i8 0, i8* %arrayidx19, align 1 + br label %if.end20 + +if.end20: ; preds = %do.end, %if.then + br label %width_precision + +width_precision: ; preds = %do.end89, %if.then129, %if.end20 + %19 = load i8*, i8** %fmt, align 8 + store i8* %19, i8** %p, align 8 + %20 = load i8*, i8** %fmt, align 8 + %21 = load i8, i8* %20, align 1 + %conv21 = sext i8 %21 to i32 + %cmp22 = icmp eq i32 %conv21, 42 + br i1 %cmp22, label %if.then24, label %if.end28 + +if.then24: ; preds = %width_precision + %22 = load i32, i32* %dpoint, align 4 + %sub25 = sub nsw i32 0, %22 + %idxprom26 = sext i32 %sub25 to i64 + %arrayidx27 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 %idxprom26 + store i32 0, i32* %arrayidx27, align 4 + %23 = load i8*, i8** %fmt, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %23, i32 1 + store i8* %incdec.ptr, i8** %fmt, align 8 + br label %if.end28 + +if.end28: ; preds = %if.then24, %width_precision + store i32 0, i32* %i, align 4 + br label %while.cond + +while.cond: ; preds = %if.end40, %if.end28 + %call = call i16** @__ctype_b_loc() #21 + %24 = load i16*, i16** %call, align 8 + %25 = load i8*, i8** %fmt, align 8 + %26 = load i8, i8* %25, align 1 + %conv29 = sext i8 %26 to i32 + %idxprom30 = sext i32 %conv29 to i64 + %arrayidx31 = getelementptr inbounds i16, i16* %24, i64 %idxprom30 + %27 = load i16, i16* %arrayidx31, align 2 + %conv32 = zext i16 %27 to i32 + %and33 = and i32 %conv32, 2048 + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %28 = load i32, i32* %i, align 4 + %cmp35 = icmp slt i32 %28, 4095 + br i1 %cmp35, label %if.then37, label %if.end40 + +if.then37: ; preds = %while.body + %29 = load i32, i32* %i, align 4 + %mul = mul nsw i32 %29, 10 + %30 = load i8*, i8** %fmt, align 8 + %31 = load i8, i8* %30, align 1 + %conv38 = sext i8 %31 to i32 + %sub39 = sub nsw i32 %conv38, 48 + %add = add nsw i32 %mul, %sub39 + store i32 %add, i32* %i, align 4 + br label %if.end40 + +if.end40: ; preds = %if.then37, %while.body + %32 = load i8*, i8** %fmt, align 8 + %incdec.ptr41 = getelementptr inbounds i8, i8* %32, i32 1 + store i8* %incdec.ptr41, i8** %fmt, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %33 = load i8*, i8** %p, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %33, i64 -1 + %34 = load i8, i8* %arrayidx42, align 1 + %conv43 = sext i8 %34 to i32 + %cmp44 = icmp eq i32 %conv43, 37 + br i1 %cmp44, label %if.then46, label %PREC_WIDTH + +if.then46: ; preds = %while.end + %35 = load i8*, i8** %fmt, align 8 + %36 = load i8, i8* %35, align 1 + %conv47 = sext i8 %36 to i32 + %cmp48 = icmp eq i32 %conv47, 36 + %37 = load i32, i32* %i, align 4 + %cmp50 = icmp sgt i32 %37, 0 + %or.cond = and i1 %cmp48, %cmp50 + br i1 %or.cond, label %if.then52, label %if.else63 + +if.then52: ; preds = %if.then46 + %38 = load i8*, i8** %fmt, align 8 + %incdec.ptr53 = getelementptr inbounds i8, i8* %38, i32 1 + store i8* %incdec.ptr53, i8** %fmt, align 8 + %39 = load i32, i32* %maxposarg, align 4 + %cmp54 = icmp eq i32 %39, 0 + br i1 %cmp54, label %if.then56, label %if.end57 + +if.then56: ; preds = %if.then52 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end57: ; preds = %if.then52 + %40 = load i32, i32* %i, align 4 + %arrayidx58 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 2 + store i32 %40, i32* %arrayidx58, align 4 + %41 = load i32, i32* %maxposarg, align 4 + %cmp59 = icmp sgt i32 %40, %41 + br i1 %cmp59, label %if.then61, label %if.end76 + +if.then61: ; preds = %if.end57 + %42 = load i32, i32* %i, align 4 + store i32 %42, i32* %maxposarg, align 4 + br label %if.end76 + +if.else63: ; preds = %if.then46 + %43 = load i32, i32* %maxposarg, align 4 + %cmp64 = icmp sgt i32 %43, 0 + br i1 %cmp64, label %if.then66, label %if.end67 + +if.then66: ; preds = %if.else63 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end67: ; preds = %if.else63 + store i32 0, i32* %maxposarg, align 4 + %44 = load i8*, i8** %fmt, align 8 + %45 = load i8*, i8** %p, align 8 + %cmp68 = icmp ugt i8* %44, %45 + br i1 %cmp68, label %land.lhs.true70, label %if.end75 + +land.lhs.true70: ; preds = %if.end67 + %46 = load i8*, i8** %p, align 8 + %47 = load i8, i8* %46, align 1 + %conv71 = sext i8 %47 to i32 + %cmp72 = icmp ne i32 %conv71, 48 + br i1 %cmp72, label %PREC_WIDTH, label %if.end75 + +if.end75: ; preds = %land.lhs.true70, %if.end67 + %48 = load i8*, i8** %p, align 8 + store i8* %48, i8** %fmt, align 8 + br label %if.end76 + +if.end76: ; preds = %if.end57, %if.then61, %if.end75 + br label %restart_flags + +restart_flags: ; preds = %if.then83, %if.end76 + store i32 1, i32* %i, align 4 + store i8* getelementptr inbounds ([8 x i8], [8 x i8]* @_ppfs_parsespec.spec_flags, i64 0, i64 0), i8** %p, align 8 + br label %do.body77 + +do.body77: ; preds = %if.end85, %restart_flags + %49 = load i8*, i8** %fmt, align 8 + %50 = load i8, i8* %49, align 1 + %conv78 = sext i8 %50 to i32 + %51 = load i8*, i8** %p, align 8 + %incdec.ptr79 = getelementptr inbounds i8, i8* %51, i32 1 + store i8* %incdec.ptr79, i8** %p, align 8 + %52 = load i8, i8* %51, align 1 + %conv80 = sext i8 %52 to i32 + %cmp81 = icmp eq i32 %conv78, %conv80 + br i1 %cmp81, label %if.then83, label %if.end85 + +if.then83: ; preds = %do.body77 + %53 = load i8*, i8** %fmt, align 8 + %incdec.ptr84 = getelementptr inbounds i8, i8* %53, i32 1 + store i8* %incdec.ptr84, i8** %fmt, align 8 + %54 = load i32, i32* %i, align 4 + %55 = load i32, i32* %flags, align 4 + %or = or i32 %55, %54 + store i32 %or, i32* %flags, align 4 + br label %restart_flags + +if.end85: ; preds = %do.body77 + %56 = load i32, i32* %i, align 4 + %57 = load i32, i32* %i, align 4 + %add86 = add nsw i32 %57, %56 + store i32 %add86, i32* %i, align 4 + %58 = load i8*, i8** %p, align 8 + %59 = load i8, i8* %58, align 1 + %tobool88 = icmp ne i8 %59, 0 + br i1 %tobool88, label %do.body77, label %do.end89 + +do.end89: ; preds = %if.end85 + store i32 0, i32* %i, align 4 + %60 = load i32, i32* %flags, align 4 + %and90 = and i32 %60, 10 + %shr = ashr i32 %and90, 1 + %neg = xor i32 %shr, -1 + %61 = load i32, i32* %flags, align 4 + %and91 = and i32 %61, %neg + store i32 %and91, i32* %flags, align 4 + %62 = load i8*, i8** %fmt, align 8 + %arrayidx92 = getelementptr inbounds i8, i8* %62, i64 -1 + %63 = load i8, i8* %arrayidx92, align 1 + %conv93 = sext i8 %63 to i32 + %cmp94 = icmp ne i32 %conv93, 37 + br i1 %cmp94, label %width_precision, label %PREC_WIDTH + +PREC_WIDTH: ; preds = %while.end, %do.end89, %land.lhs.true70 + %64 = load i8*, i8** %p, align 8 + %65 = load i8, i8* %64, align 1 + %conv99 = sext i8 %65 to i32 + %cmp100 = icmp eq i32 %conv99, 42 + br i1 %cmp100, label %if.then102, label %if.end123 + +if.then102: ; preds = %PREC_WIDTH + %66 = load i32, i32* %maxposarg, align 4 + %tobool103 = icmp ne i32 %66, 0 + br i1 %tobool103, label %if.then104, label %if.else116 + +if.then104: ; preds = %if.then102 + %67 = load i8*, i8** %fmt, align 8 + %incdec.ptr105 = getelementptr inbounds i8, i8* %67, i32 1 + store i8* %incdec.ptr105, i8** %fmt, align 8 + %68 = load i8, i8* %67, align 1 + %conv106 = sext i8 %68 to i32 + %cmp107 = icmp ne i32 %conv106, 36 + %69 = load i32, i32* %i, align 4 + %cmp109 = icmp sle i32 %69, 0 + %or.cond1 = or i1 %cmp107, %cmp109 + br i1 %or.cond1, label %if.then111, label %if.end112 + +if.then111: ; preds = %if.then104 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end112: ; preds = %if.then104 + %70 = load i32, i32* %i, align 4 + %71 = load i32, i32* %dpoint, align 4 + %sub113 = sub nsw i32 0, %71 + %idxprom114 = sext i32 %sub113 to i64 + %arrayidx115 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 %idxprom114 + store i32 %70, i32* %arrayidx115, align 4 + br label %if.end122 + +if.else116: ; preds = %if.then102 + %72 = load i8*, i8** %p, align 8 + %incdec.ptr117 = getelementptr inbounds i8, i8* %72, i32 1 + store i8* %incdec.ptr117, i8** %p, align 8 + %73 = load i8*, i8** %fmt, align 8 + %cmp118 = icmp ne i8* %incdec.ptr117, %73 + br i1 %cmp118, label %if.then120, label %if.end122 + +if.then120: ; preds = %if.else116 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end122: ; preds = %if.else116, %if.end112 + store i32 -2147483648, i32* %i, align 4 + br label %if.end123 + +if.end123: ; preds = %if.end122, %PREC_WIDTH + %74 = load i32, i32* %dpoint, align 4 + %tobool124 = icmp ne i32 %74, 0 + %75 = load i32, i32* %i, align 4 + br i1 %tobool124, label %if.else132, label %if.then125 + +if.then125: ; preds = %if.end123 + store i32 %75, i32* %width, align 4 + %76 = load i8*, i8** %fmt, align 8 + %77 = load i8, i8* %76, align 1 + %conv126 = sext i8 %77 to i32 + %cmp127 = icmp eq i32 %conv126, 46 + br i1 %cmp127, label %if.then129, label %if.end133 + +if.then129: ; preds = %if.then125 + %78 = load i8*, i8** %fmt, align 8 + %incdec.ptr130 = getelementptr inbounds i8, i8* %78, i32 1 + store i8* %incdec.ptr130, i8** %fmt, align 8 + store i32 -1, i32* %dpoint, align 4 + br label %width_precision + +if.else132: ; preds = %if.end123 + store i32 %75, i32* %preci, align 4 + br label %if.end133 + +if.end133: ; preds = %if.then125, %if.else132 + store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @_ppfs_parsespec.qual_chars, i64 0, i64 0), i8** %p, align 8 + br label %do.body134 + +do.body134: ; preds = %do.cond142, %if.end133 + %79 = load i8*, i8** %fmt, align 8 + %80 = load i8, i8* %79, align 1 + %conv135 = sext i8 %80 to i32 + %81 = load i8*, i8** %p, align 8 + %82 = load i8, i8* %81, align 1 + %conv136 = sext i8 %82 to i32 + %cmp137 = icmp eq i32 %conv135, %conv136 + br i1 %cmp137, label %if.then139, label %do.cond142 + +if.then139: ; preds = %do.body134 + %83 = load i8*, i8** %fmt, align 8 + %incdec.ptr140 = getelementptr inbounds i8, i8* %83, i32 1 + store i8* %incdec.ptr140, i8** %fmt, align 8 + br label %do.end145 + +do.cond142: ; preds = %do.body134 + %84 = load i8*, i8** %p, align 8 + %incdec.ptr143 = getelementptr inbounds i8, i8* %84, i32 1 + store i8* %incdec.ptr143, i8** %p, align 8 + %85 = load i8, i8* %incdec.ptr143, align 1 + %tobool144 = icmp ne i8 %85, 0 + br i1 %tobool144, label %do.body134, label %do.end145 + +do.end145: ; preds = %do.cond142, %if.then139 + %86 = load i8*, i8** %p, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %86 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, ptrtoint ([20 x i8]* @_ppfs_parsespec.qual_chars to i64) + %cmp146 = icmp slt i64 %sub.ptr.sub, 2 + br i1 %cmp146, label %land.lhs.true148, label %if.end156 + +land.lhs.true148: ; preds = %do.end145 + %87 = load i8*, i8** %fmt, align 8 + %88 = load i8, i8* %87, align 1 + %conv149 = sext i8 %88 to i32 + %89 = load i8*, i8** %p, align 8 + %90 = load i8, i8* %89, align 1 + %conv150 = sext i8 %90 to i32 + %cmp151 = icmp eq i32 %conv149, %conv150 + br i1 %cmp151, label %if.then153, label %if.end156 + +if.then153: ; preds = %land.lhs.true148 + %91 = load i8*, i8** %p, align 8 + %add.ptr154 = getelementptr inbounds i8, i8* %91, i64 9 + store i8* %add.ptr154, i8** %p, align 8 + %92 = load i8*, i8** %fmt, align 8 + %incdec.ptr155 = getelementptr inbounds i8, i8* %92, i32 1 + store i8* %incdec.ptr155, i8** %fmt, align 8 + br label %if.end156 + +if.end156: ; preds = %if.then153, %land.lhs.true148, %do.end145 + %93 = load i8*, i8** %p, align 8 + %arrayidx157 = getelementptr inbounds i8, i8* %93, i64 9 + %94 = load i8, i8* %arrayidx157, align 1 + %conv158 = sext i8 %94 to i32 + %shl = shl i32 %conv158, 8 + store i32 %shl, i32* %dataargtype, align 4 + %95 = load i8*, i8** %fmt, align 8 + %96 = load i8, i8* %95, align 1 + %tobool159 = icmp ne i8 %96, 0 + br i1 %tobool159, label %if.end161, label %if.then160 + +if.then160: ; preds = %if.end156 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end161: ; preds = %if.end156 + store i8* getelementptr inbounds ([21 x i8], [21 x i8]* @_ppfs_parsespec.spec_chars, i64 0, i64 0), i8** %p, align 8 + br label %do.body162 + +do.body162: ; preds = %do.cond199, %if.end161 + %97 = load i8*, i8** %fmt, align 8 + %98 = load i8, i8* %97, align 1 + %conv163 = sext i8 %98 to i32 + %99 = load i8*, i8** %p, align 8 + %100 = load i8, i8* %99, align 1 + %conv164 = sext i8 %100 to i32 + %cmp165 = icmp eq i32 %conv163, %conv164 + %101 = load i8*, i8** %p, align 8 + br i1 %cmp165, label %if.then167, label %do.cond199 + +if.then167: ; preds = %do.body162 + %sub.ptr.lhs.cast168 = ptrtoint i8* %101 to i64 + %sub.ptr.sub169 = sub i64 %sub.ptr.lhs.cast168, ptrtoint ([21 x i8]* @_ppfs_parsespec.spec_chars to i64) + %conv170 = trunc i64 %sub.ptr.sub169 to i32 + store i32 %conv170, i32* %p_m_spec_chars, align 4 + %102 = load i32, i32* %p_m_spec_chars, align 4 + %cmp171 = icmp sge i32 %102, 18 + br i1 %cmp171, label %land.lhs.true173, label %if.end178 + +land.lhs.true173: ; preds = %if.then167 + %103 = load i32, i32* %dataargtype, align 4 + %and174 = and i32 %103, 1024 + %tobool175 = icmp ne i32 %and174, 0 + br i1 %tobool175, label %if.then176, label %if.end178 + +if.then176: ; preds = %land.lhs.true173 + %104 = load i32, i32* %p_m_spec_chars, align 4 + %sub177 = sub nsw i32 %104, 2 + store i32 %sub177, i32* %p_m_spec_chars, align 4 + br label %if.end178 + +if.end178: ; preds = %if.then176, %land.lhs.true173, %if.then167 + %105 = load i32, i32* %p_m_spec_chars, align 4 + %106 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %conv_num = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %106, i32 0, i32 4 + store i32 %105, i32* %conv_num, align 4 + store i8* getelementptr inbounds (i8, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @_ppfs_parsespec.spec_ranges, i64 0, i64 0), i64 -1), i8** %p, align 8 + br label %while.cond179 + +while.cond179: ; preds = %while.cond179, %if.end178 + %107 = load i32, i32* %p_m_spec_chars, align 4 + %108 = load i8*, i8** %p, align 8 + %incdec.ptr180 = getelementptr inbounds i8, i8* %108, i32 1 + store i8* %incdec.ptr180, i8** %p, align 8 + %109 = load i8, i8* %incdec.ptr180, align 1 + %conv181 = sext i8 %109 to i32 + %cmp182 = icmp sgt i32 %107, %conv181 + br i1 %cmp182, label %while.cond179, label %while.end185 + +while.end185: ; preds = %while.cond179 + %110 = load i8*, i8** %p, align 8 + %sub.ptr.lhs.cast186 = ptrtoint i8* %110 to i64 + %sub.ptr.sub187 = sub i64 %sub.ptr.lhs.cast186, ptrtoint ([9 x i8]* @_ppfs_parsespec.spec_ranges to i64) + %conv188 = trunc i64 %sub.ptr.sub187 to i32 + store i32 %conv188, i32* %i, align 4 + %111 = load i32, i32* %dataargtype, align 4 + %112 = load i32, i32* %i, align 4 + %idxprom189 = sext i32 %112 to i64 + %arrayidx190 = getelementptr inbounds [8 x i16], [8 x i16]* @_ppfs_parsespec.spec_or_mask, i64 0, i64 %idxprom189 + %113 = load i16, i16* %arrayidx190, align 2 + %conv191 = sext i16 %113 to i32 + %or192 = or i32 %111, %conv191 + %114 = load i32, i32* %i, align 4 + %idxprom193 = sext i32 %114 to i64 + %arrayidx194 = getelementptr inbounds [8 x i16], [8 x i16]* @_ppfs_parsespec.spec_and_mask, i64 0, i64 %idxprom193 + %115 = load i16, i16* %arrayidx194, align 2 + %conv195 = sext i16 %115 to i32 + %and196 = and i32 %or192, %conv195 + %arrayidx197 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 2 + store i32 %and196, i32* %arrayidx197, align 4 + store i8* getelementptr inbounds ([21 x i8], [21 x i8]* @_ppfs_parsespec.spec_chars, i64 0, i64 0), i8** %p, align 8 + br label %do.end202 + +do.cond199: ; preds = %do.body162 + %incdec.ptr200 = getelementptr inbounds i8, i8* %101, i32 1 + store i8* %incdec.ptr200, i8** %p, align 8 + %116 = load i8, i8* %incdec.ptr200, align 1 + %tobool201 = icmp ne i8 %116, 0 + br i1 %tobool201, label %do.body162, label %do.end202 + +do.end202: ; preds = %do.cond199, %while.end185 + %117 = load i8*, i8** %fmt, align 8 + %118 = load i8, i8* %117, align 1 + %conv203 = sext i8 %118 to i32 + %119 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info204 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %119, i32 0, i32 1 + %spec = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info204, i32 0, i32 2 + store i32 %conv203, i32* %spec, align 8 + %120 = load i32, i32* %preci, align 4 + %121 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info205 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %121, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info205, i32 0, i32 0 + store i32 %120, i32* %prec, align 8 + %122 = load i32, i32* %width, align 4 + %123 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info206 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %123, i32 0, i32 1 + %width207 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info206, i32 0, i32 1 + store i32 %122, i32* %width207, align 4 + %124 = load i32, i32* %flags, align 4 + %and208 = and i32 %124, 4 + %tobool209 = icmp ne i32 %and208, 0 + %125 = zext i1 %tobool209 to i64 + %cond = select i1 %tobool209, i32 48, i32 32 + %126 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info210 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %126, i32 0, i32 1 + %pad = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info210, i32 0, i32 4 + store i32 %cond, i32* %pad, align 8 + %127 = load i32, i32* %flags, align 4 + %and211 = and i32 %127, -5 + %128 = load i32, i32* %dataargtype, align 4 + %and212 = and i32 %128, 3840 + %or213 = or i32 %and211, %and212 + %129 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info214 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %129, i32 0, i32 1 + %_flags215 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info214, i32 0, i32 3 + store i32 %or213, i32* %_flags215, align 4 + %130 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %130, i32 0, i32 3 + store i32 1, i32* %num_data_args, align 8 + %131 = load i8*, i8** %p, align 8 + %132 = load i8, i8* %131, align 1 + %tobool216 = icmp ne i8 %132, 0 + br i1 %tobool216, label %if.end218, label %if.then217 + +if.then217: ; preds = %do.end202 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end218: ; preds = %do.end202 + %133 = load i32, i32* %maxposarg, align 4 + %cmp219 = icmp sgt i32 %133, 0 + br i1 %cmp219, label %if.then221, label %if.else265 + +if.then221: ; preds = %if.end218 + store i32 0, i32* %i, align 4 + br label %do.body222 + +do.body222: ; preds = %do.cond258, %if.then221 + %134 = load i32, i32* %i, align 4 + %cmp223 = icmp sle i32 %134, 2 + br i1 %cmp223, label %cond.true, label %cond.false + +cond.true: ; preds = %do.body222 + %135 = load i32, i32* %i, align 4 + %idxprom225 = sext i32 %135 to i64 + %arrayidx226 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 %idxprom225 + %136 = load i32, i32* %arrayidx226, align 4 + %conv227 = trunc i32 %136 to i8 + %137 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %argnumber228 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %137, i32 0, i32 5 + %138 = load i32, i32* %i, align 4 + %idxprom229 = sext i32 %138 to i64 + %arrayidx230 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber228, i64 0, i64 %idxprom229 + store i8 %conv227, i8* %arrayidx230, align 1 + %conv231 = zext i8 %conv227 to i32 + br label %cond.end + +cond.false: ; preds = %do.body222 + %arrayidx232 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 2 + %139 = load i32, i32* %arrayidx232, align 4 + %140 = load i32, i32* %i, align 4 + %sub233 = sub nsw i32 %140, 2 + %add234 = add nsw i32 %139, %sub233 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond235 = phi i32 [ %conv231, %cond.true ], [ %add234, %cond.false ] + store i32 %cond235, i32* %n, align 4 + %141 = load i32, i32* %n, align 4 + %142 = load i32, i32* %maxposarg, align 4 + %cmp236 = icmp sgt i32 %141, %142 + br i1 %cmp236, label %if.then238, label %if.end243 + +if.then238: ; preds = %cond.end + %143 = load i32, i32* %n, align 4 + store i32 %143, i32* %maxposarg, align 4 + %cmp239 = icmp sgt i32 %143, 9 + br i1 %cmp239, label %if.then241, label %if.end243 + +if.then241: ; preds = %if.then238 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end243: ; preds = %if.then238, %cond.end + %144 = load i32, i32* %n, align 4 + %dec = add nsw i32 %144, -1 + store i32 %dec, i32* %n, align 4 + %145 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %argtype244 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %145, i32 0, i32 6 + %146 = load i32, i32* %n, align 4 + %idxprom245 = sext i32 %146 to i64 + %arrayidx246 = getelementptr inbounds [9 x i32], [9 x i32]* %argtype244, i64 0, i64 %idxprom245 + %147 = load i32, i32* %arrayidx246, align 4 + %148 = load i32, i32* %i, align 4 + %idxprom247 = sext i32 %148 to i64 + %arrayidx248 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 %idxprom247 + %149 = load i32, i32* %arrayidx248, align 4 + %call249 = call i32 @_is_equal_or_bigger_arg(i32 %147, i32 %149) #18 + %tobool250 = icmp ne i32 %call249, 0 + br i1 %tobool250, label %if.then251, label %do.cond258 + +if.then251: ; preds = %if.end243 + %150 = load i32, i32* %i, align 4 + %idxprom252 = sext i32 %150 to i64 + %arrayidx253 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 %idxprom252 + %151 = load i32, i32* %arrayidx253, align 4 + %152 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %argtype254 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %152, i32 0, i32 6 + %153 = load i32, i32* %n, align 4 + %idxprom255 = sext i32 %153 to i64 + %arrayidx256 = getelementptr inbounds [9 x i32], [9 x i32]* %argtype254, i64 0, i64 %idxprom255 + store i32 %151, i32* %arrayidx256, align 4 + br label %do.cond258 + +do.cond258: ; preds = %if.end243, %if.then251 + %154 = load i32, i32* %i, align 4 + %inc259 = add nsw i32 %154, 1 + store i32 %inc259, i32* %i, align 4 + %155 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %num_data_args260 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %155, i32 0, i32 3 + %156 = load i32, i32* %num_data_args260, align 8 + %add261 = add nsw i32 %156, 2 + %cmp262 = icmp slt i32 %inc259, %add261 + br i1 %cmp262, label %do.body222, label %if.end276 + +if.else265: ; preds = %if.end218 + %157 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %argnumber266 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %157, i32 0, i32 5 + %arrayidx267 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber266, i64 0, i64 2 + store i8 1, i8* %arrayidx267, align 2 + %158 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %argtype268 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %158, i32 0, i32 6 + %arraydecay269 = getelementptr inbounds [9 x i32], [9 x i32]* %argtype268, i64 0, i64 0 + %159 = bitcast i32* %arraydecay269 to i8* + %arraydecay270 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 0 + %add.ptr271 = getelementptr inbounds i32, i32* %arraydecay270, i64 2 + %160 = bitcast i32* %add.ptr271 to i8* + %161 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %num_data_args272 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %161, i32 0, i32 3 + %162 = load i32, i32* %num_data_args272, align 8 + %conv273 = sext i32 %162 to i64 + %mul274 = mul i64 %conv273, 4 + %call275 = call i8* @memcpy(i8* %159, i8* %160, i64 %mul274) #19 + br label %if.end276 + +if.end276: ; preds = %do.cond258, %if.else265 + %163 = load i32, i32* %maxposarg, align 4 + %164 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %maxposarg277 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %164, i32 0, i32 2 + store i32 %163, i32* %maxposarg277, align 4 + %165 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info278 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %165, i32 0, i32 1 + %_flags279 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info278, i32 0, i32 3 + %166 = load i32, i32* %_flags279, align 4 + %and280 = and i32 %166, 128 + store i32 %and280, i32* %flags, align 4 + %cmp281 = icmp eq i32 %and280, 0 + br i1 %cmp281, label %if.then283, label %if.else286 + +if.then283: ; preds = %if.end276 + %167 = load i8*, i8** %fmt, align 8 + %incdec.ptr284 = getelementptr inbounds i8, i8* %167, i32 1 + store i8* %incdec.ptr284, i8** %fmt, align 8 + %168 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %fmtpos285 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %168, i32 0, i32 0 + store i8* %incdec.ptr284, i8** %fmtpos285, align 8 + br label %if.end293 + +if.else286: ; preds = %if.end276 + %169 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %fmtpos287 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %169, i32 0, i32 0 + %170 = load i8*, i8** %fmtpos287, align 8 + %171 = bitcast i8* %170 to i32* + %172 = load i8*, i8** %fmt, align 8 + %arraydecay288 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 0 + %sub.ptr.lhs.cast289 = ptrtoint i8* %172 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %arraydecay288 to i64 + %sub.ptr.sub290 = sub i64 %sub.ptr.lhs.cast289, %sub.ptr.rhs.cast + %add.ptr291 = getelementptr inbounds i32, i32* %171, i64 %sub.ptr.sub290 + %173 = bitcast i32* %add.ptr291 to i8* + %174 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %fmtpos292 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %174, i32 0, i32 0 + store i8* %173, i8** %fmtpos292, align 8 + br label %if.end293 + +if.end293: ; preds = %if.else286, %if.then283 + %175 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %num_data_args294 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %175, i32 0, i32 3 + %176 = load i32, i32* %num_data_args294, align 8 + %add295 = add nsw i32 %176, 2 + store i32 %add295, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end293, %if.then241, %if.then217, %if.then160, %if.then120, %if.then111, %if.then66, %if.then56, %if.then16 + %177 = load i32, i32* %retval, align 4 + ret i32 %177 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_is_equal_or_bigger_arg(i32 %curtype, i32 %newtype) #0 { +entry: + %retval = alloca i32, align 4 + %curtype.addr = alloca i32, align 4 + %newtype.addr = alloca i32, align 4 + store i32 %curtype, i32* %curtype.addr, align 4 + store i32 %newtype, i32* %newtype.addr, align 4 + %0 = load i32, i32* %newtype.addr, align 4 + %cmp = icmp eq i32 %0, 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %1 = load i32, i32* %curtype.addr, align 4 + %cmp1 = icmp eq i32 %1, 8 + br i1 %cmp1, label %if.then3, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %2 = load i32, i32* %curtype.addr, align 4 + %3 = load i32, i32* %newtype.addr, align 4 + %cmp2 = icmp eq i32 %2, %3 + br i1 %cmp2, label %if.then3, label %if.end4 + +if.then3: ; preds = %lor.lhs.false, %if.end + store i32 1, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %lor.lhs.false + %4 = load i32, i32* %curtype.addr, align 4 + %call = call i32 @_promoted_size(i32 %4) #18 + %5 = load i32, i32* %newtype.addr, align 4 + %call5 = call i32 @_promoted_size(i32 %5) #18 + %cmp6 = icmp sle i32 %call, %call5 + %conv = zext i1 %cmp6 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_promoted_size(i32 %argtype) #0 { +entry: + %argtype.addr = alloca i32, align 4 + %p = alloca i16*, align 8 + store i32 %argtype, i32* %argtype.addr, align 4 + store i16* getelementptr inbounds (i16, i16* getelementptr inbounds ([12 x i16], [12 x i16]* @type_codes, i64 0, i64 0), i64 12), i16** %p, align 8 + br label %do.body + +do.body: ; preds = %do.body, %entry + %0 = load i16*, i16** %p, align 8 + %incdec.ptr = getelementptr inbounds i16, i16* %0, i32 -1 + store i16* %incdec.ptr, i16** %p, align 8 + %1 = load i16, i16* %incdec.ptr, align 2 + %conv = sext i16 %1 to i32 + %2 = load i32, i32* %argtype.addr, align 4 + %cmp = icmp ne i32 %conv, %2 + %3 = load i16*, i16** %p, align 8 + %cmp2 = icmp ugt i16* %3, getelementptr inbounds ([12 x i16], [12 x i16]* @type_codes, i64 0, i64 0) + %or.cond = and i1 %cmp, %cmp2 + br i1 %or.cond, label %do.body, label %do.end + +do.end: ; preds = %do.body + %4 = load i16*, i16** %p, align 8 + %sub.ptr.lhs.cast = ptrtoint i16* %4 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, ptrtoint ([12 x i16]* @type_codes to i64) + %sub.ptr.div = sdiv exact i64 %sub.ptr.sub, 2 + %conv4 = trunc i64 %sub.ptr.div to i32 + %idxprom = sext i32 %conv4 to i64 + %arrayidx = getelementptr inbounds [12 x i8], [12 x i8]* @type_sizes, i64 0, i64 %idxprom + %5 = load i8, i8* %arrayidx, align 1 + %conv5 = zext i8 %5 to i32 + ret i32 %conv5 +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_ppfs_prepargs(%struct.ppfs_t.724* %ppfs, %struct.__va_list_tag.2* %arg) #0 { +entry: + %ppfs.addr = alloca %struct.ppfs_t.724*, align 8 + %arg.addr = alloca %struct.__va_list_tag.2*, align 8 + %i = alloca i32, align 4 + store %struct.ppfs_t.724* %ppfs, %struct.ppfs_t.724** %ppfs.addr, align 8 + store %struct.__va_list_tag.2* %arg, %struct.__va_list_tag.2** %arg.addr, align 8 + %0 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %arg1 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %0, i32 0, i32 7 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %arg1, i64 0, i64 0 + %1 = load %struct.__va_list_tag.2*, %struct.__va_list_tag.2** %arg.addr, align 8 + %2 = bitcast %struct.__va_list_tag.2* %arraydecay to i8* + %3 = bitcast %struct.__va_list_tag.2* %1 to i8* + %vacopy.cast.dst = bitcast i8* %2 to i64* + %vacopy.cast.src = bitcast i8* %3 to i64* + %4 = load i64, i64* %vacopy.cast.src, align 8 + store volatile i64 %4, i64* %vacopy.cast.dst, align 8 + %5 = getelementptr i64, i64* %vacopy.cast.dst, i64 1 + %6 = getelementptr i64, i64* %vacopy.cast.src, i64 1 + %7 = load i64, i64* %6, align 8 + store i64 %7, i64* %5, align 8 + %8 = getelementptr i64, i64* %5, i64 1 + %9 = getelementptr i64, i64* %6, i64 1 + %10 = load i64, i64* %9, align 8 + store i64 %10, i64* %8, align 8 + %11 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %11, i32 0, i32 2 + %12 = load i32, i32* %maxposarg, align 4 + store i32 %12, i32* %i, align 4 + %cmp = icmp sgt i32 %12, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %13 = load i32, i32* %i, align 4 + %14 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %14, i32 0, i32 3 + store i32 %13, i32* %num_data_args, align 8 + %15 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %maxposarg2 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %15, i32 0, i32 2 + store i32 0, i32* %maxposarg2, align 4 + %16 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %16, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info, i32 0, i32 0 + store i32 0, i32* %prec, align 8 + %17 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info3 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %17, i32 0, i32 1 + %width = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info3, i32 0, i32 1 + store i32 0, i32* %width, align 4 + %18 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + call void @_ppfs_setargs(%struct.ppfs_t.724* %18) #18 + %19 = load i32, i32* %i, align 4 + %20 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %maxposarg4 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %20, i32 0, i32 2 + store i32 %19, i32* %maxposarg4, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + ret void +} + +; Function Attrs: nounwind +declare void @llvm.va_copy(i8*, i8*) #11 + +; Function Attrs: noinline nounwind uwtable +define hidden void @_ppfs_setargs(%struct.ppfs_t.724* %ppfs) #0 { +entry: + %ppfs.addr = alloca %struct.ppfs_t.724*, align 8 + %p = alloca %union.anon.195*, align 8 + %i = alloca i32, align 4 + store %struct.ppfs_t.724* %ppfs, %struct.ppfs_t.724** %ppfs.addr, align 8 + %0 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %argvalue = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %0, i32 0, i32 8 + %arraydecay = getelementptr inbounds [9 x %union.anon.195], [9 x %union.anon.195]* %argvalue, i64 0, i64 0 + store %union.anon.195* %arraydecay, %union.anon.195** %p, align 8 + %1 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %1, i32 0, i32 2 + %2 = load i32, i32* %maxposarg, align 4 + %cmp = icmp eq i32 %2, 0 + %3 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %3, i32 0, i32 1 + %width = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info, i32 0, i32 1 + %4 = load i32, i32* %width, align 4 + %cmp1 = icmp eq i32 %4, -2147483648 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + br i1 %cmp1, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + %5 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %arg = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %5, i32 0, i32 7 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %arg, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay3, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 8 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then2 + %6 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay3, i32 0, i32 3 + %reg_save_area = load i8*, i8** %6, align 8 + %7 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %8 = bitcast i8* %7 to i32* + %9 = add i32 %gp_offset, 8 + store i32 %9, i32* %gp_offset_p, align 8 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then2 + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay3, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %10 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %8, %vaarg.in_reg ], [ %10, %vaarg.in_mem ] + %11 = load i32, i32* %vaarg.addr, align 4 + %12 = load %union.anon.195*, %union.anon.195** %p, align 8 + %u = bitcast %union.anon.195* %12 to i32* + store i32 %11, i32* %u, align 8 + %13 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info4 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %13, i32 0, i32 1 + %width5 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info4, i32 0, i32 1 + store i32 %11, i32* %width5, align 4 + br label %if.end + +if.end: ; preds = %vaarg.end, %if.then + %14 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info6 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %14, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info6, i32 0, i32 0 + %15 = load i32, i32* %prec, align 8 + %cmp7 = icmp eq i32 %15, -2147483648 + br i1 %cmp7, label %if.then8, label %if.end25 + +if.then8: ; preds = %if.end + %16 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %arg9 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %16, i32 0, i32 7 + %arraydecay10 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %arg9, i64 0, i64 0 + %gp_offset_p11 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay10, i32 0, i32 0 + %gp_offset12 = load i32, i32* %gp_offset_p11, align 8 + %fits_in_gp13 = icmp ule i32 %gp_offset12, 40 + br i1 %fits_in_gp13, label %vaarg.in_reg14, label %vaarg.in_mem16 + +vaarg.in_reg14: ; preds = %if.then8 + %17 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay10, i32 0, i32 3 + %reg_save_area15 = load i8*, i8** %17, align 8 + %18 = getelementptr i8, i8* %reg_save_area15, i32 %gp_offset12 + %19 = bitcast i8* %18 to i32* + %20 = add i32 %gp_offset12, 8 + store i32 %20, i32* %gp_offset_p11, align 8 + br label %vaarg.end20 + +vaarg.in_mem16: ; preds = %if.then8 + %overflow_arg_area_p17 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay10, i32 0, i32 2 + %overflow_arg_area18 = load i8*, i8** %overflow_arg_area_p17, align 8 + %21 = bitcast i8* %overflow_arg_area18 to i32* + %overflow_arg_area.next19 = getelementptr i8, i8* %overflow_arg_area18, i32 8 + store i8* %overflow_arg_area.next19, i8** %overflow_arg_area_p17, align 8 + br label %vaarg.end20 + +vaarg.end20: ; preds = %vaarg.in_mem16, %vaarg.in_reg14 + %vaarg.addr21 = phi i32* [ %19, %vaarg.in_reg14 ], [ %21, %vaarg.in_mem16 ] + %22 = load i32, i32* %vaarg.addr21, align 4 + %23 = load %union.anon.195*, %union.anon.195** %p, align 8 + %u22 = bitcast %union.anon.195* %23 to i32* + store i32 %22, i32* %u22, align 8 + %24 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info23 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %24, i32 0, i32 1 + %prec24 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info23, i32 0, i32 0 + store i32 %22, i32* %prec24, align 8 + br label %if.end25 + +if.end25: ; preds = %vaarg.end20, %if.end + store i32 0, i32* %i, align 4 + br label %while.cond + +while.cond: ; preds = %NodeBlock, %sw.epilog, %if.end25 + %25 = load i32, i32* %i, align 4 + %26 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %26, i32 0, i32 3 + %27 = load i32, i32* %num_data_args, align 8 + %cmp26 = icmp slt i32 %25, %27 + br i1 %cmp26, label %while.body, label %if.end149 + +while.body: ; preds = %while.cond + %28 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %argtype = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %28, i32 0, i32 6 + %29 = load i32, i32* %i, align 4 + %inc = add nsw i32 %29, 1 + store i32 %inc, i32* %i, align 4 + %idxprom = sext i32 %29 to i64 + %arrayidx = getelementptr inbounds [9 x i32], [9 x i32]* %argtype, i64 0, i64 %idxprom + %30 = load i32, i32* %arrayidx, align 4 + br label %NodeBlock17 + +NodeBlock17: ; preds = %while.body + %case.cmp18 = icmp eq i32 %30, 2048 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %30, 1024 + br i1 %case.cmp16, label %sw.bb40, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %30, 1 + br i1 %case.cmp14, label %sw.bb54, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %30, 256 + br i1 %case.cmp12, label %sw.bb54, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %30, 512 + br i1 %case.cmp10, label %sw.bb54, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %30, 0 + br i1 %case.cmp8, label %sw.bb54, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %30, 2 + br i1 %case.cmp6, label %sw.bb69, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %30, 7 + br i1 %case.cmp4, label %sw.bb83, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %30, 2055 + br i1 %case.cmp2, label %sw.bb94, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %30, 8 + br i1 %case.cmp, label %while.cond, label %newDefault + +sw.bb: ; preds = %NodeBlock17 + %31 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %arg27 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %31, i32 0, i32 7 + %arraydecay28 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %arg27, i64 0, i64 0 + %gp_offset_p29 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay28, i32 0, i32 0 + %gp_offset30 = load i32, i32* %gp_offset_p29, align 8 + %fits_in_gp31 = icmp ule i32 %gp_offset30, 40 + br i1 %fits_in_gp31, label %vaarg.in_reg32, label %vaarg.in_mem34 + +vaarg.in_reg32: ; preds = %sw.bb + %32 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay28, i32 0, i32 3 + %reg_save_area33 = load i8*, i8** %32, align 8 + %33 = getelementptr i8, i8* %reg_save_area33, i32 %gp_offset30 + %34 = bitcast i8* %33 to i64* + %35 = add i32 %gp_offset30, 8 + store i32 %35, i32* %gp_offset_p29, align 8 + br label %vaarg.end38 + +vaarg.in_mem34: ; preds = %sw.bb + %overflow_arg_area_p35 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay28, i32 0, i32 2 + %overflow_arg_area36 = load i8*, i8** %overflow_arg_area_p35, align 8 + %36 = bitcast i8* %overflow_arg_area36 to i64* + %overflow_arg_area.next37 = getelementptr i8, i8* %overflow_arg_area36, i32 8 + store i8* %overflow_arg_area.next37, i8** %overflow_arg_area_p35, align 8 + br label %vaarg.end38 + +vaarg.end38: ; preds = %vaarg.in_mem34, %vaarg.in_reg32 + %vaarg.addr39 = phi i64* [ %34, %vaarg.in_reg32 ], [ %36, %vaarg.in_mem34 ] + %37 = load i64, i64* %vaarg.addr39, align 8 + %38 = load %union.anon.195*, %union.anon.195** %p, align 8 + %ull = bitcast %union.anon.195* %38 to i64* + store i64 %37, i64* %ull, align 8 + br label %sw.epilog + +sw.bb40: ; preds = %NodeBlock15 + %39 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %arg41 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %39, i32 0, i32 7 + %arraydecay42 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %arg41, i64 0, i64 0 + %gp_offset_p43 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay42, i32 0, i32 0 + %gp_offset44 = load i32, i32* %gp_offset_p43, align 8 + %fits_in_gp45 = icmp ule i32 %gp_offset44, 40 + br i1 %fits_in_gp45, label %vaarg.in_reg46, label %vaarg.in_mem48 + +vaarg.in_reg46: ; preds = %sw.bb40 + %40 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay42, i32 0, i32 3 + %reg_save_area47 = load i8*, i8** %40, align 8 + %41 = getelementptr i8, i8* %reg_save_area47, i32 %gp_offset44 + %42 = bitcast i8* %41 to i64* + %43 = add i32 %gp_offset44, 8 + store i32 %43, i32* %gp_offset_p43, align 8 + br label %vaarg.end52 + +vaarg.in_mem48: ; preds = %sw.bb40 + %overflow_arg_area_p49 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay42, i32 0, i32 2 + %overflow_arg_area50 = load i8*, i8** %overflow_arg_area_p49, align 8 + %44 = bitcast i8* %overflow_arg_area50 to i64* + %overflow_arg_area.next51 = getelementptr i8, i8* %overflow_arg_area50, i32 8 + store i8* %overflow_arg_area.next51, i8** %overflow_arg_area_p49, align 8 + br label %vaarg.end52 + +vaarg.end52: ; preds = %vaarg.in_mem48, %vaarg.in_reg46 + %vaarg.addr53 = phi i64* [ %42, %vaarg.in_reg46 ], [ %44, %vaarg.in_mem48 ] + %45 = load i64, i64* %vaarg.addr53, align 8 + %46 = load %union.anon.195*, %union.anon.195** %p, align 8 + %ul = bitcast %union.anon.195* %46 to i64* + store i64 %45, i64* %ul, align 8 + br label %sw.epilog + +sw.bb54: ; preds = %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7 + %47 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %arg55 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %47, i32 0, i32 7 + %arraydecay56 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %arg55, i64 0, i64 0 + %gp_offset_p57 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay56, i32 0, i32 0 + %gp_offset58 = load i32, i32* %gp_offset_p57, align 8 + %fits_in_gp59 = icmp ule i32 %gp_offset58, 40 + br i1 %fits_in_gp59, label %vaarg.in_reg60, label %vaarg.in_mem62 + +vaarg.in_reg60: ; preds = %sw.bb54 + %48 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay56, i32 0, i32 3 + %reg_save_area61 = load i8*, i8** %48, align 8 + %49 = getelementptr i8, i8* %reg_save_area61, i32 %gp_offset58 + %50 = bitcast i8* %49 to i32* + %51 = add i32 %gp_offset58, 8 + store i32 %51, i32* %gp_offset_p57, align 8 + br label %vaarg.end66 + +vaarg.in_mem62: ; preds = %sw.bb54 + %overflow_arg_area_p63 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay56, i32 0, i32 2 + %overflow_arg_area64 = load i8*, i8** %overflow_arg_area_p63, align 8 + %52 = bitcast i8* %overflow_arg_area64 to i32* + %overflow_arg_area.next65 = getelementptr i8, i8* %overflow_arg_area64, i32 8 + store i8* %overflow_arg_area.next65, i8** %overflow_arg_area_p63, align 8 + br label %vaarg.end66 + +vaarg.end66: ; preds = %vaarg.in_mem62, %vaarg.in_reg60 + %vaarg.addr67 = phi i32* [ %50, %vaarg.in_reg60 ], [ %52, %vaarg.in_mem62 ] + %53 = load i32, i32* %vaarg.addr67, align 4 + %54 = load %union.anon.195*, %union.anon.195** %p, align 8 + %u68 = bitcast %union.anon.195* %54 to i32* + store i32 %53, i32* %u68, align 8 + br label %sw.epilog + +sw.bb69: ; preds = %NodeBlock5 + %55 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %arg70 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %55, i32 0, i32 7 + %arraydecay71 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %arg70, i64 0, i64 0 + %gp_offset_p72 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay71, i32 0, i32 0 + %gp_offset73 = load i32, i32* %gp_offset_p72, align 8 + %fits_in_gp74 = icmp ule i32 %gp_offset73, 40 + br i1 %fits_in_gp74, label %vaarg.in_reg75, label %vaarg.in_mem77 + +vaarg.in_reg75: ; preds = %sw.bb69 + %56 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay71, i32 0, i32 3 + %reg_save_area76 = load i8*, i8** %56, align 8 + %57 = getelementptr i8, i8* %reg_save_area76, i32 %gp_offset73 + %58 = bitcast i8* %57 to i32* + %59 = add i32 %gp_offset73, 8 + store i32 %59, i32* %gp_offset_p72, align 8 + br label %vaarg.end81 + +vaarg.in_mem77: ; preds = %sw.bb69 + %overflow_arg_area_p78 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay71, i32 0, i32 2 + %overflow_arg_area79 = load i8*, i8** %overflow_arg_area_p78, align 8 + %60 = bitcast i8* %overflow_arg_area79 to i32* + %overflow_arg_area.next80 = getelementptr i8, i8* %overflow_arg_area79, i32 8 + store i8* %overflow_arg_area.next80, i8** %overflow_arg_area_p78, align 8 + br label %vaarg.end81 + +vaarg.end81: ; preds = %vaarg.in_mem77, %vaarg.in_reg75 + %vaarg.addr82 = phi i32* [ %58, %vaarg.in_reg75 ], [ %60, %vaarg.in_mem77 ] + %61 = load i32, i32* %vaarg.addr82, align 4 + %62 = load %union.anon.195*, %union.anon.195** %p, align 8 + %wc = bitcast %union.anon.195* %62 to i32* + store i32 %61, i32* %wc, align 8 + br label %sw.epilog + +sw.bb83: ; preds = %NodeBlock3 + %63 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %arg84 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %63, i32 0, i32 7 + %arraydecay85 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %arg84, i64 0, i64 0 + %fp_offset_p = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay85, i32 0, i32 1 + %fp_offset = load i32, i32* %fp_offset_p, align 4 + %fits_in_fp = icmp ule i32 %fp_offset, 160 + br i1 %fits_in_fp, label %vaarg.in_reg86, label %vaarg.in_mem88 + +vaarg.in_reg86: ; preds = %sw.bb83 + %64 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay85, i32 0, i32 3 + %reg_save_area87 = load i8*, i8** %64, align 8 + %65 = getelementptr i8, i8* %reg_save_area87, i32 %fp_offset + %66 = bitcast i8* %65 to double* + %67 = add i32 %fp_offset, 16 + store i32 %67, i32* %fp_offset_p, align 4 + br label %vaarg.end92 + +vaarg.in_mem88: ; preds = %sw.bb83 + %overflow_arg_area_p89 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay85, i32 0, i32 2 + %overflow_arg_area90 = load i8*, i8** %overflow_arg_area_p89, align 8 + %68 = bitcast i8* %overflow_arg_area90 to double* + %overflow_arg_area.next91 = getelementptr i8, i8* %overflow_arg_area90, i32 8 + store i8* %overflow_arg_area.next91, i8** %overflow_arg_area_p89, align 8 + br label %vaarg.end92 + +vaarg.end92: ; preds = %vaarg.in_mem88, %vaarg.in_reg86 + %vaarg.addr93 = phi double* [ %66, %vaarg.in_reg86 ], [ %68, %vaarg.in_mem88 ] + %69 = load double, double* %vaarg.addr93, align 8 + %70 = load %union.anon.195*, %union.anon.195** %p, align 8 + %d = bitcast %union.anon.195* %70 to double* + store double %69, double* %d, align 8 + br label %sw.epilog + +sw.bb94: ; preds = %NodeBlock1 + %71 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %arg95 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %71, i32 0, i32 7 + %arraydecay96 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %arg95, i64 0, i64 0 + %fp_offset_p97 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay96, i32 0, i32 1 + %fp_offset98 = load i32, i32* %fp_offset_p97, align 4 + %fits_in_fp99 = icmp ule i32 %fp_offset98, 160 + br i1 %fits_in_fp99, label %vaarg.in_reg100, label %vaarg.in_mem102 + +vaarg.in_reg100: ; preds = %sw.bb94 + %72 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay96, i32 0, i32 3 + %reg_save_area101 = load i8*, i8** %72, align 8 + %73 = getelementptr i8, i8* %reg_save_area101, i32 %fp_offset98 + %74 = bitcast i8* %73 to double* + %75 = add i32 %fp_offset98, 16 + store i32 %75, i32* %fp_offset_p97, align 4 + br label %vaarg.end106 + +vaarg.in_mem102: ; preds = %sw.bb94 + %overflow_arg_area_p103 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay96, i32 0, i32 2 + %overflow_arg_area104 = load i8*, i8** %overflow_arg_area_p103, align 8 + %76 = bitcast i8* %overflow_arg_area104 to double* + %overflow_arg_area.next105 = getelementptr i8, i8* %overflow_arg_area104, i32 8 + store i8* %overflow_arg_area.next105, i8** %overflow_arg_area_p103, align 8 + br label %vaarg.end106 + +vaarg.end106: ; preds = %vaarg.in_mem102, %vaarg.in_reg100 + %vaarg.addr107 = phi double* [ %74, %vaarg.in_reg100 ], [ %76, %vaarg.in_mem102 ] + %77 = load double, double* %vaarg.addr107, align 8 + %78 = load %union.anon.195*, %union.anon.195** %p, align 8 + %ld = bitcast %union.anon.195* %78 to double* + store double %77, double* %ld, align 8 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.bb108 + +sw.bb108: ; preds = %newDefault + %79 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %arg109 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %79, i32 0, i32 7 + %arraydecay110 = getelementptr inbounds [1 x %struct.__va_list_tag.2], [1 x %struct.__va_list_tag.2]* %arg109, i64 0, i64 0 + %gp_offset_p111 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay110, i32 0, i32 0 + %gp_offset112 = load i32, i32* %gp_offset_p111, align 8 + %fits_in_gp113 = icmp ule i32 %gp_offset112, 40 + br i1 %fits_in_gp113, label %vaarg.in_reg114, label %vaarg.in_mem116 + +vaarg.in_reg114: ; preds = %sw.bb108 + %80 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay110, i32 0, i32 3 + %reg_save_area115 = load i8*, i8** %80, align 8 + %81 = getelementptr i8, i8* %reg_save_area115, i32 %gp_offset112 + %82 = bitcast i8* %81 to i8** + %83 = add i32 %gp_offset112, 8 + store i32 %83, i32* %gp_offset_p111, align 8 + br label %vaarg.end120 + +vaarg.in_mem116: ; preds = %sw.bb108 + %overflow_arg_area_p117 = getelementptr inbounds %struct.__va_list_tag.2, %struct.__va_list_tag.2* %arraydecay110, i32 0, i32 2 + %overflow_arg_area118 = load i8*, i8** %overflow_arg_area_p117, align 8 + %84 = bitcast i8* %overflow_arg_area118 to i8** + %overflow_arg_area.next119 = getelementptr i8, i8* %overflow_arg_area118, i32 8 + store i8* %overflow_arg_area.next119, i8** %overflow_arg_area_p117, align 8 + br label %vaarg.end120 + +vaarg.end120: ; preds = %vaarg.in_mem116, %vaarg.in_reg114 + %vaarg.addr121 = phi i8** [ %82, %vaarg.in_reg114 ], [ %84, %vaarg.in_mem116 ] + %85 = load i8*, i8** %vaarg.addr121, align 8 + %86 = load %union.anon.195*, %union.anon.195** %p, align 8 + %p122 = bitcast %union.anon.195* %86 to i8** + store i8* %85, i8** %p122, align 8 + br label %sw.epilog + +sw.epilog: ; preds = %vaarg.end120, %vaarg.end106, %vaarg.end92, %vaarg.end81, %vaarg.end66, %vaarg.end52, %vaarg.end38 + %87 = load %union.anon.195*, %union.anon.195** %p, align 8 + %incdec.ptr = getelementptr inbounds %union.anon.195, %union.anon.195* %87, i32 1 + store %union.anon.195* %incdec.ptr, %union.anon.195** %p, align 8 + br label %while.cond + +if.else: ; preds = %entry + br i1 %cmp1, label %if.then127, label %if.end133 + +if.then127: ; preds = %if.else + %88 = load %union.anon.195*, %union.anon.195** %p, align 8 + %89 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %argnumber = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %89, i32 0, i32 5 + %arrayidx128 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber, i64 0, i64 0 + %90 = load i8, i8* %arrayidx128, align 8 + %conv = zext i8 %90 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds %union.anon.195, %union.anon.195* %88, i64 %idx.ext + %add.ptr129 = getelementptr inbounds %union.anon.195, %union.anon.195* %add.ptr, i64 -1 + %u130 = bitcast %union.anon.195* %add.ptr129 to i32* + %91 = load i32, i32* %u130, align 8 + %92 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info131 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %92, i32 0, i32 1 + %width132 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info131, i32 0, i32 1 + store i32 %91, i32* %width132, align 4 + br label %if.end133 + +if.end133: ; preds = %if.then127, %if.else + %93 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info134 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %93, i32 0, i32 1 + %prec135 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info134, i32 0, i32 0 + %94 = load i32, i32* %prec135, align 8 + %cmp136 = icmp eq i32 %94, -2147483648 + br i1 %cmp136, label %if.then138, label %if.end149 + +if.then138: ; preds = %if.end133 + %95 = load %union.anon.195*, %union.anon.195** %p, align 8 + %96 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %argnumber139 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %96, i32 0, i32 5 + %arrayidx140 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber139, i64 0, i64 1 + %97 = load i8, i8* %arrayidx140, align 1 + %conv141 = zext i8 %97 to i32 + %idx.ext142 = sext i32 %conv141 to i64 + %add.ptr143 = getelementptr inbounds %union.anon.195, %union.anon.195* %95, i64 %idx.ext142 + %add.ptr144 = getelementptr inbounds %union.anon.195, %union.anon.195* %add.ptr143, i64 -1 + %u145 = bitcast %union.anon.195* %add.ptr144 to i32* + %98 = load i32, i32* %u145, align 8 + %99 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info146 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %99, i32 0, i32 1 + %prec147 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info146, i32 0, i32 0 + store i32 %98, i32* %prec147, align 8 + br label %if.end149 + +if.end149: ; preds = %if.end133, %if.then138, %while.cond + %100 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info150 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %100, i32 0, i32 1 + %width151 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info150, i32 0, i32 1 + %101 = load i32, i32* %width151, align 4 + %cmp152 = icmp slt i32 %101, 0 + br i1 %cmp152, label %if.then154, label %if.end163 + +if.then154: ; preds = %if.end149 + %102 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info155 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %102, i32 0, i32 1 + %width156 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info155, i32 0, i32 1 + %103 = load i32, i32* %width156, align 4 + %sub = sub nsw i32 0, %103 + %104 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info157 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %104, i32 0, i32 1 + %width158 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info157, i32 0, i32 1 + store i32 %sub, i32* %width158, align 4 + %105 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info159 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %105, i32 0, i32 1 + %_flags = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info159, i32 0, i32 3 + %106 = load i32, i32* %_flags, align 4 + %or = or i32 %106, 8 + store i32 %or, i32* %_flags, align 4 + %107 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info160 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %107, i32 0, i32 1 + %_flags161 = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info160, i32 0, i32 3 + %108 = load i32, i32* %_flags161, align 4 + %and = and i32 %108, -2 + store i32 %and, i32* %_flags161, align 4 + %109 = load %struct.ppfs_t.724*, %struct.ppfs_t.724** %ppfs.addr, align 8 + %info162 = getelementptr inbounds %struct.ppfs_t.724, %struct.ppfs_t.724* %109, i32 0, i32 1 + %pad = getelementptr inbounds %struct.printf_info.722, %struct.printf_info.722* %info162, i32 0, i32 4 + store i32 32, i32* %pad, align 8 + br label %if.end163 + +if.end163: ; preds = %if.then154, %if.end149 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_store_inttype(i8* %dest, i32 %desttype, i64 %val) #0 { +entry: + %dest.addr = alloca i8*, align 8 + %desttype.addr = alloca i32, align 4 + %val.addr = alloca i64, align 8 + store i8* %dest, i8** %dest.addr, align 8 + store i32 %desttype, i32* %desttype.addr, align 4 + store i64 %val, i64* %val.addr, align 8 + %0 = load i32, i32* %desttype.addr, align 4 + %cmp = icmp eq i32 %0, 256 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load i64, i64* %val.addr, align 8 + %conv = trunc i64 %1 to i8 + %2 = load i8*, i8** %dest.addr, align 8 + store i8 %conv, i8* %2, align 1 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* %desttype.addr, align 4 + %cmp1 = icmp eq i32 %3, 2048 + br i1 %cmp1, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.end + %4 = load i64, i64* %val.addr, align 8 + %5 = load i8*, i8** %dest.addr, align 8 + %6 = bitcast i8* %5 to i64* + store i64 %4, i64* %6, align 8 + br label %return + +if.end4: ; preds = %if.end + %7 = load i32, i32* %desttype.addr, align 4 + %cmp5 = icmp eq i32 %7, 512 + br i1 %cmp5, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end4 + %8 = load i64, i64* %val.addr, align 8 + %conv8 = trunc i64 %8 to i16 + %9 = load i8*, i8** %dest.addr, align 8 + %10 = bitcast i8* %9 to i16* + store i16 %conv8, i16* %10, align 2 + br label %return + +if.end9: ; preds = %if.end4 + %11 = load i32, i32* %desttype.addr, align 4 + %cmp10 = icmp eq i32 %11, 1024 + %12 = load i64, i64* %val.addr, align 8 + br i1 %cmp10, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.end9 + %13 = load i8*, i8** %dest.addr, align 8 + %14 = bitcast i8* %13 to i64* + store i64 %12, i64* %14, align 8 + br label %return + +if.end13: ; preds = %if.end9 + %conv14 = trunc i64 %12 to i32 + %15 = load i8*, i8** %dest.addr, align 8 + %16 = bitcast i8* %15 to i32* + store i32 %conv14, i32* %16, align 4 + br label %return + +return: ; preds = %if.end13, %if.then12, %if.then7, %if.then3, %if.then + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden i8* @_uintmaxtostr(i8* noalias %bufend, i64 %uval, i32 %base, i32 %alphacase) #0 { +entry: + %bufend.addr = alloca i8*, align 8 + %uval.addr = alloca i64, align 8 + %base.addr = alloca i32, align 4 + %alphacase.addr = alloca i32, align 4 + %negative = alloca i32, align 4 + %digit = alloca i32, align 4 + %H = alloca i32, align 4 + %L = alloca i32, align 4 + %high = alloca i32, align 4 + %low = alloca i32, align 4 + %rh = alloca i32, align 4 + %grouping = alloca i32, align 4 + %outdigit = alloca i32, align 4 + %g = alloca i8*, align 8 + store i8* %bufend, i8** %bufend.addr, align 8 + store i64 %uval, i64* %uval.addr, align 8 + store i32 %base, i32* %base.addr, align 4 + store i32 %alphacase, i32* %alphacase.addr, align 4 + store i32 0, i32* %negative, align 4 + %0 = load i32, i32* %base.addr, align 4 + %cmp = icmp slt i32 %0, 0 + br i1 %cmp, label %if.then, label %if.end4 + +if.then: ; preds = %entry + %1 = load i32, i32* %base.addr, align 4 + %sub = sub nsw i32 0, %1 + store i32 %sub, i32* %base.addr, align 4 + %2 = load i64, i64* %uval.addr, align 8 + %cmp1 = icmp ugt i64 %2, 9223372036854775807 + br i1 %cmp1, label %if.then2, label %if.end4 + +if.then2: ; preds = %if.then + %3 = load i64, i64* %uval.addr, align 8 + %sub3 = sub i64 0, %3 + store i64 %sub3, i64* %uval.addr, align 8 + store i32 1, i32* %negative, align 4 + br label %if.end4 + +if.end4: ; preds = %if.then, %if.then2, %entry + store i32 -1, i32* %grouping, align 4 + %4 = load i32, i32* %alphacase.addr, align 4 + %and = and i32 128, %4 + store i32 %and, i32* %outdigit, align 4 + %5 = load i32, i32* %outdigit, align 4 + %6 = load i32, i32* %alphacase.addr, align 4 + %xor = xor i32 %6, %5 + store i32 %xor, i32* %alphacase.addr, align 4 + %7 = load i32, i32* %alphacase.addr, align 4 + %cmp5 = icmp eq i32 %7, 44 + br i1 %cmp5, label %if.then6, label %if.end10 + +if.then6: ; preds = %if.end4 + %8 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__curlocale_var, align 8 + %grouping7 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %8, i32 0, i32 41 + %9 = load i8*, i8** %grouping7, align 8 + store i8* %9, i8** %g, align 8 + %10 = load i8, i8* %9, align 1 + %tobool = icmp ne i8 %10, 0 + br i1 %tobool, label %if.then8, label %if.end10 + +if.then8: ; preds = %if.then6 + %11 = load i8*, i8** %g, align 8 + %12 = load i8, i8* %11, align 1 + %conv = sext i8 %12 to i32 + store i32 %conv, i32* %grouping, align 4 + br label %if.end10 + +if.end10: ; preds = %if.then6, %if.then8, %if.end4 + %13 = load i8*, i8** %bufend.addr, align 8 + store i8 0, i8* %13, align 1 + %14 = load i32, i32* %base.addr, align 4 + %div = udiv i32 -1, %14 + store i32 %div, i32* %H, align 4 + %15 = load i32, i32* %base.addr, align 4 + %rem = urem i32 -1, %15 + %add = add i32 %rem, 1 + store i32 %add, i32* %L, align 4 + %16 = load i32, i32* %L, align 4 + %17 = load i32, i32* %base.addr, align 4 + %cmp11 = icmp eq i32 %16, %17 + br i1 %cmp11, label %if.then13, label %if.end14 + +if.then13: ; preds = %if.end10 + %18 = load i32, i32* %H, align 4 + %inc = add i32 %18, 1 + store i32 %inc, i32* %H, align 4 + store i32 0, i32* %L, align 4 + br label %if.end14 + +if.end14: ; preds = %if.then13, %if.end10 + %19 = load i64, i64* %uval.addr, align 8 + %conv15 = trunc i64 %19 to i32 + store i32 %conv15, i32* %low, align 4 + %20 = load i64, i64* %uval.addr, align 8 + %shr = lshr i64 %20, 32 + %conv16 = trunc i64 %shr to i32 + store i32 %conv16, i32* %high, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %if.end14 + %21 = load i32, i32* %grouping, align 4 + %tobool17 = icmp ne i32 %21, 0 + br i1 %tobool17, label %if.end27, label %if.then18 + +if.then18: ; preds = %do.body + %22 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__curlocale_var, align 8 + %thousands_sep_len = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %22, i32 0, i32 27 + %23 = load i32, i32* %thousands_sep_len, align 4 + %24 = load i8*, i8** %bufend.addr, align 8 + %idx.ext = sext i32 %23 to i64 + %idx.neg = sub i64 0, %idx.ext + %add.ptr = getelementptr inbounds i8, i8* %24, i64 %idx.neg + store i8* %add.ptr, i8** %bufend.addr, align 8 + %25 = load i8*, i8** %bufend.addr, align 8 + %26 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__curlocale_var, align 8 + %thousands_sep = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %26, i32 0, i32 40 + %27 = load i8*, i8** %thousands_sep, align 8 + %28 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__curlocale_var, align 8 + %thousands_sep_len19 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %28, i32 0, i32 27 + %29 = load i32, i32* %thousands_sep_len19, align 4 + %conv20 = sext i32 %29 to i64 + %call = call i8* @memcpy(i8* %25, i8* %27, i64 %conv20) #19 + %30 = load i8*, i8** %g, align 8 + %arrayidx = getelementptr inbounds i8, i8* %30, i64 1 + %31 = load i8, i8* %arrayidx, align 1 + %conv21 = sext i8 %31 to i32 + %cmp22 = icmp ne i32 %conv21, 0 + br i1 %cmp22, label %if.then24, label %if.end25 + +if.then24: ; preds = %if.then18 + %32 = load i8*, i8** %g, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %32, i32 1 + store i8* %incdec.ptr, i8** %g, align 8 + br label %if.end25 + +if.end25: ; preds = %if.then24, %if.then18 + %33 = load i8*, i8** %g, align 8 + %34 = load i8, i8* %33, align 1 + %conv26 = sext i8 %34 to i32 + store i32 %conv26, i32* %grouping, align 4 + br label %if.end27 + +if.end27: ; preds = %if.end25, %do.body + %35 = load i32, i32* %grouping, align 4 + %dec = add nsw i32 %35, -1 + store i32 %dec, i32* %grouping, align 4 + %36 = load i32, i32* %high, align 4 + %tobool28 = icmp ne i32 %36, 0 + %lnot = xor i1 %tobool28, true + %lnot29 = xor i1 %lnot, true + %lnot.ext = zext i1 %lnot29 to i32 + %conv30 = sext i32 %lnot.ext to i64 + %tobool31 = icmp ne i64 %conv30, 0 + br i1 %tobool31, label %if.then32, label %if.else + +if.then32: ; preds = %if.end27 + %37 = load i32, i32* %high, align 4 + %38 = load i32, i32* %base.addr, align 4 + %rem33 = urem i32 %37, %38 + store i32 %rem33, i32* %rh, align 4 + %39 = load i32, i32* %base.addr, align 4 + %40 = load i32, i32* %high, align 4 + %div34 = udiv i32 %40, %39 + store i32 %div34, i32* %high, align 4 + %41 = load i32, i32* %low, align 4 + %42 = load i32, i32* %base.addr, align 4 + %rem35 = urem i32 %41, %42 + %43 = load i32, i32* %L, align 4 + %44 = load i32, i32* %rh, align 4 + %mul = mul i32 %43, %44 + %add36 = add i32 %rem35, %mul + store i32 %add36, i32* %digit, align 4 + %45 = load i32, i32* %low, align 4 + %46 = load i32, i32* %base.addr, align 4 + %div37 = udiv i32 %45, %46 + %47 = load i32, i32* %H, align 4 + %48 = load i32, i32* %rh, align 4 + %mul38 = mul i32 %47, %48 + %add39 = add i32 %div37, %mul38 + %49 = load i32, i32* %digit, align 4 + %50 = load i32, i32* %base.addr, align 4 + %div40 = udiv i32 %49, %50 + %add41 = add i32 %add39, %div40 + store i32 %add41, i32* %low, align 4 + %51 = load i32, i32* %base.addr, align 4 + %52 = load i32, i32* %digit, align 4 + %rem42 = urem i32 %52, %51 + store i32 %rem42, i32* %digit, align 4 + br label %if.end45 + +if.else: ; preds = %if.end27 + %53 = load i32, i32* %low, align 4 + %54 = load i32, i32* %base.addr, align 4 + %rem43 = urem i32 %53, %54 + store i32 %rem43, i32* %digit, align 4 + %55 = load i32, i32* %base.addr, align 4 + %56 = load i32, i32* %low, align 4 + %div44 = udiv i32 %56, %55 + store i32 %div44, i32* %low, align 4 + br label %if.end45 + +if.end45: ; preds = %if.else, %if.then32 + %57 = load i32, i32* %outdigit, align 4 + %tobool46 = icmp ne i32 %57, 0 + %lnot47 = xor i1 %tobool46, true + %lnot49 = xor i1 %lnot47, true + %lnot.ext50 = zext i1 %lnot49 to i32 + %conv51 = sext i32 %lnot.ext50 to i64 + %tobool52 = icmp ne i64 %conv51, 0 + br i1 %tobool52, label %if.then53, label %if.else66 + +if.then53: ; preds = %if.end45 + %58 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__curlocale_var, align 8 + %outdigit_length = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %58, i32 0, i32 11 + %59 = load i32, i32* %digit, align 4 + %idxprom = zext i32 %59 to i64 + %arrayidx54 = getelementptr inbounds [10 x i8], [10 x i8]* %outdigit_length, i64 0, i64 %idxprom + %60 = load i8, i8* %arrayidx54, align 1 + %conv55 = zext i8 %60 to i32 + %61 = load i8*, i8** %bufend.addr, align 8 + %idx.ext56 = sext i32 %conv55 to i64 + %idx.neg57 = sub i64 0, %idx.ext56 + %add.ptr58 = getelementptr inbounds i8, i8* %61, i64 %idx.neg57 + store i8* %add.ptr58, i8** %bufend.addr, align 8 + %62 = load i8*, i8** %bufend.addr, align 8 + %63 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__curlocale_var, align 8 + %outdigit0_mb = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %63, i32 0, i32 28 + %64 = load i32, i32* %digit, align 4 + %idxprom59 = zext i32 %64 to i64 + %arrayidx60 = getelementptr inbounds i8*, i8** %outdigit0_mb, i64 %idxprom59 + %65 = load i8*, i8** %arrayidx60, align 8 + %66 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__curlocale_var, align 8 + %outdigit_length61 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %66, i32 0, i32 11 + %67 = load i32, i32* %digit, align 4 + %idxprom62 = zext i32 %67 to i64 + %arrayidx63 = getelementptr inbounds [10 x i8], [10 x i8]* %outdigit_length61, i64 0, i64 %idxprom62 + %68 = load i8, i8* %arrayidx63, align 1 + %conv64 = zext i8 %68 to i64 + %call65 = call i8* @memcpy(i8* %62, i8* %65, i64 %conv64) #19 + br label %do.cond + +if.else66: ; preds = %if.end45 + %69 = load i32, i32* %digit, align 4 + %cmp67 = icmp ult i32 %69, 10 + %70 = load i32, i32* %digit, align 4 + %add69 = add i32 %70, 48 + %71 = load i32, i32* %alphacase.addr, align 4 + %add70 = add i32 %70, %71 + %cond = select i1 %cmp67, i32 %add69, i32 %add70 + %conv71 = trunc i32 %cond to i8 + %72 = load i8*, i8** %bufend.addr, align 8 + %incdec.ptr72 = getelementptr inbounds i8, i8* %72, i32 -1 + store i8* %incdec.ptr72, i8** %bufend.addr, align 8 + store i8 %conv71, i8* %incdec.ptr72, align 1 + br label %do.cond + +do.cond: ; preds = %if.then53, %if.else66 + %73 = load i32, i32* %low, align 4 + %74 = load i32, i32* %high, align 4 + %or = or i32 %73, %74 + %tobool74 = icmp ne i32 %or, 0 + br i1 %tobool74, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %75 = load i32, i32* %negative, align 4 + %tobool75 = icmp ne i32 %75, 0 + br i1 %tobool75, label %if.then76, label %if.end78 + +if.then76: ; preds = %do.end + %76 = load i8*, i8** %bufend.addr, align 8 + %incdec.ptr77 = getelementptr inbounds i8, i8* %76, i32 -1 + store i8* %incdec.ptr77, i8** %bufend.addr, align 8 + store i8 45, i8* %incdec.ptr77, align 1 + br label %if.end78 + +if.end78: ; preds = %if.then76, %do.end + %77 = load i8*, i8** %bufend.addr, align 8 + ret i8* %77 +} + +; Function Attrs: noinline nounwind uwtable +define hidden %struct.exit_function* @__new_exitfn() #0 { +entry: + %efp = alloca %struct.exit_function*, align 8 + %0 = load i32, i32* @__exit_slots, align 4 + %1 = load i32, i32* @__exit_count, align 4 + %add = add nsw i32 %1, 1 + %cmp = icmp slt i32 %0, %add + br i1 %cmp, label %if.then, label %if.end6 + +if.then: ; preds = %entry + %2 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + %3 = bitcast %struct.exit_function* %2 to i8* + %4 = load i32, i32* @__exit_slots, align 4 + %add1 = add nsw i32 %4, 20 + %conv = sext i32 %add1 to i64 + %mul = mul i64 %conv, 32 + %call = call noalias i8* @realloc(i8* %3, i64 %mul) #19 + %5 = bitcast i8* %call to %struct.exit_function* + store %struct.exit_function* %5, %struct.exit_function** %efp, align 8 + %6 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %cmp2 = icmp eq %struct.exit_function* %6, null + br i1 %cmp2, label %if.then4, label %if.end + +if.then4: ; preds = %if.then + store i32 12, i32* @errno, align 4 + br label %DONE + +if.end: ; preds = %if.then + %7 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + store %struct.exit_function* %7, %struct.exit_function** @__exit_function_table, align 8 + %8 = load i32, i32* @__exit_slots, align 4 + %add5 = add nsw i32 %8, 20 + store i32 %add5, i32* @__exit_slots, align 4 + br label %if.end6 + +if.end6: ; preds = %if.end, %entry + store void (i32)* @__exit_handler, void (i32)** @__exit_cleanup, align 8 + %9 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + %10 = load i32, i32* @__exit_count, align 4 + %inc = add nsw i32 %10, 1 + store i32 %inc, i32* @__exit_count, align 4 + %idxprom = sext i32 %10 to i64 + %arrayidx = getelementptr inbounds %struct.exit_function, %struct.exit_function* %9, i64 %idxprom + store %struct.exit_function* %arrayidx, %struct.exit_function** %efp, align 8 + %11 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %type = getelementptr inbounds %struct.exit_function, %struct.exit_function* %11, i32 0, i32 0 + store i64 1, i64* %type, align 8 + br label %DONE + +DONE: ; preds = %if.end6, %if.then4 + %12 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + ret %struct.exit_function* %12 +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @__exit_handler(i32 %status) #0 { +entry: + %status.addr = alloca i32, align 4 + %efp = alloca %struct.exit_function*, align 8 + store i32 %status, i32* %status.addr, align 4 + br label %while.cond + +while.cond: ; preds = %sw.epilog, %entry + %0 = load i32, i32* @__exit_count, align 4 + %tobool = icmp ne i32 %0, 0 + %1 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %2 = load i32, i32* @__exit_count, align 4 + %dec = add nsw i32 %2, -1 + store i32 %dec, i32* @__exit_count, align 4 + %idxprom = sext i32 %dec to i64 + %arrayidx = getelementptr inbounds %struct.exit_function, %struct.exit_function* %1, i64 %idxprom + store %struct.exit_function* %arrayidx, %struct.exit_function** %efp, align 8 + %3 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %type = getelementptr inbounds %struct.exit_function, %struct.exit_function* %3, i32 0, i32 0 + %4 = load i64, i64* %type, align 8 + br label %NodeBlock1 + +NodeBlock1: ; preds = %while.body + %case.cmp2 = icmp eq i64 %4, 2 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i64 %4, 3 + br i1 %case.cmp, label %sw.bb7, label %newDefault + +sw.bb: ; preds = %NodeBlock1 + %5 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs = getelementptr inbounds %struct.exit_function, %struct.exit_function* %5, i32 0, i32 1 + %on_exit = bitcast %union.anon.774* %funcs to %struct.anon.781* + %func = getelementptr inbounds %struct.anon.781, %struct.anon.781* %on_exit, i32 0, i32 0 + %6 = load void (i32, i8*)*, void (i32, i8*)** %func, align 8 + %tobool1 = icmp ne void (i32, i8*)* %6, null + br i1 %tobool1, label %if.then, label %sw.epilog + +if.then: ; preds = %sw.bb + %7 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs2 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %7, i32 0, i32 1 + %on_exit3 = bitcast %union.anon.774* %funcs2 to %struct.anon.781* + %func4 = getelementptr inbounds %struct.anon.781, %struct.anon.781* %on_exit3, i32 0, i32 0 + %8 = load void (i32, i8*)*, void (i32, i8*)** %func4, align 8 + %9 = load i32, i32* %status.addr, align 4 + %10 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs5 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %10, i32 0, i32 1 + %on_exit6 = bitcast %union.anon.774* %funcs5 to %struct.anon.781* + %arg = getelementptr inbounds %struct.anon.781, %struct.anon.781* %on_exit6, i32 0, i32 1 + %11 = load i8*, i8** %arg, align 8 + call void %8(i32 %9, i8* %11) #18 + br label %sw.epilog + +sw.bb7: ; preds = %NodeBlock + %12 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs8 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %12, i32 0, i32 1 + %cxa_atexit = bitcast %union.anon.774* %funcs8 to %struct.anon.0.773* + %func9 = getelementptr inbounds %struct.anon.0.773, %struct.anon.0.773* %cxa_atexit, i32 0, i32 0 + %13 = load void (i8*)*, void (i8*)** %func9, align 8 + %tobool10 = icmp ne void (i8*)* %13, null + br i1 %tobool10, label %if.then11, label %sw.epilog + +if.then11: ; preds = %sw.bb7 + %14 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs12 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %14, i32 0, i32 1 + %cxa_atexit13 = bitcast %union.anon.774* %funcs12 to %struct.anon.0.773* + %func14 = getelementptr inbounds %struct.anon.0.773, %struct.anon.0.773* %cxa_atexit13, i32 0, i32 0 + %15 = load void (i8*)*, void (i8*)** %func14, align 8 + %16 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs15 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %16, i32 0, i32 1 + %cxa_atexit16 = bitcast %union.anon.774* %funcs15 to %struct.anon.0.773* + %arg17 = getelementptr inbounds %struct.anon.0.773, %struct.anon.0.773* %cxa_atexit16, i32 0, i32 1 + %17 = load i8*, i8** %arg17, align 8 + call void %15(i8* %17) #18 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.epilog + +sw.epilog: ; preds = %newDefault, %sw.bb7, %if.then11, %sw.bb, %if.then + br label %while.cond + +while.end: ; preds = %while.cond + %tobool19 = icmp ne %struct.exit_function* %1, null + br i1 %tobool19, label %if.then20, label %if.end21 + +if.then20: ; preds = %while.end + %18 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + %19 = bitcast %struct.exit_function* %18 to i8* + call void @free(i8* %19) #19 + br label %if.end21 + +if.end21: ; preds = %if.then20, %while.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__xpg_strerror_r(i32 %errnum, i8* %strerrbuf, i64 %buflen) #0 { +entry: + %errnum.addr = alloca i32, align 4 + %strerrbuf.addr = alloca i8*, align 8 + %buflen.addr = alloca i64, align 8 + %s = alloca i8*, align 8 + %i = alloca i32, align 4 + %retval1 = alloca i32, align 4 + %buf = alloca [50 x i8], align 16 + store i32 %errnum, i32* %errnum.addr, align 4 + store i8* %strerrbuf, i8** %strerrbuf.addr, align 8 + store i64 %buflen, i64* %buflen.addr, align 8 + store i32 22, i32* %retval1, align 4 + %0 = load i32, i32* %errnum.addr, align 4 + store i32 %0, i32* %i, align 4 + %1 = load i32, i32* %i, align 4 + %cmp = icmp ult i32 %1, 125 + br i1 %cmp, label %if.then, label %if.end7 + +if.then: ; preds = %entry + store i8* getelementptr inbounds ([2906 x i8], [2906 x i8]* @_string_syserrmsgs, i64 0, i64 0), i8** %s, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.then + %2 = load i32, i32* %i, align 4 + %tobool = icmp ne i32 %2, 0 + %3 = load i8*, i8** %s, align 8 + %4 = load i8, i8* %3, align 1 + %tobool2 = icmp ne i8 %4, 0 + br i1 %tobool, label %for.body, label %for.end + +for.body: ; preds = %for.cond + br i1 %tobool2, label %for.inc, label %if.then3 + +if.then3: ; preds = %for.body + %5 = load i32, i32* %i, align 4 + %dec = add nsw i32 %5, -1 + store i32 %dec, i32* %i, align 4 + br label %for.inc + +for.inc: ; preds = %for.body, %if.then3 + %6 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + br i1 %tobool2, label %if.then5, label %if.end7 + +if.then5: ; preds = %for.end + store i32 0, i32* %retval1, align 4 + br label %GOT_MESG + +if.end7: ; preds = %for.end, %entry + %arraydecay = getelementptr inbounds [50 x i8], [50 x i8]* %buf, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 50 + %add.ptr8 = getelementptr inbounds i8, i8* %add.ptr, i64 -1 + %7 = load i32, i32* %errnum.addr, align 4 + %conv = sext i32 %7 to i64 + %call = call i8* @_uintmaxtostr(i8* %add.ptr8, i64 %conv, i32 -10, i32 0) #18 + %add.ptr9 = getelementptr inbounds i8, i8* %call, i64 -14 + store i8* %add.ptr9, i8** %s, align 8 + %8 = load i8*, i8** %s, align 8 + %call10 = call i8* @memcpy(i8* %8, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @__xpg_strerror_r.unknown, i64 0, i64 0), i64 14) #19 + br label %GOT_MESG + +GOT_MESG: ; preds = %if.end7, %if.then5 + %9 = load i8*, i8** %strerrbuf.addr, align 8 + %tobool11 = icmp ne i8* %9, null + br i1 %tobool11, label %if.end13, label %if.then12 + +if.then12: ; preds = %GOT_MESG + store i64 0, i64* %buflen.addr, align 8 + br label %if.end13 + +if.end13: ; preds = %if.then12, %GOT_MESG + %10 = load i8*, i8** %s, align 8 + %call14 = call i64 @strlen(i8* %10) #20 + %add = add i64 %call14, 1 + %conv15 = trunc i64 %add to i32 + store i32 %conv15, i32* %i, align 4 + %11 = load i32, i32* %i, align 4 + %conv16 = sext i32 %11 to i64 + %12 = load i64, i64* %buflen.addr, align 8 + %cmp17 = icmp ugt i64 %conv16, %12 + br i1 %cmp17, label %if.then19, label %if.end21 + +if.then19: ; preds = %if.end13 + %13 = load i64, i64* %buflen.addr, align 8 + %conv20 = trunc i64 %13 to i32 + store i32 %conv20, i32* %i, align 4 + store i32 34, i32* %retval1, align 4 + br label %if.end21 + +if.end21: ; preds = %if.then19, %if.end13 + %14 = load i32, i32* %i, align 4 + %tobool22 = icmp ne i32 %14, 0 + br i1 %tobool22, label %if.then23, label %if.end26 + +if.then23: ; preds = %if.end21 + %15 = load i8*, i8** %strerrbuf.addr, align 8 + %16 = load i8*, i8** %s, align 8 + %17 = load i32, i32* %i, align 4 + %conv24 = sext i32 %17 to i64 + %call25 = call i8* @memcpy(i8* %15, i8* %16, i64 %conv24) #19 + %18 = load i8*, i8** %strerrbuf.addr, align 8 + %19 = load i32, i32* %i, align 4 + %sub = sub nsw i32 %19, 1 + %idxprom = sext i32 %sub to i64 + %arrayidx = getelementptr inbounds i8, i8* %18, i64 %idxprom + store i8 0, i8* %arrayidx, align 1 + br label %if.end26 + +if.end26: ; preds = %if.then23, %if.end21 + %20 = load i32, i32* %retval1, align 4 + %tobool27 = icmp ne i32 %20, 0 + br i1 %tobool27, label %if.then28, label %if.end29 + +if.then28: ; preds = %if.end26 + %21 = load i32, i32* %retval1, align 4 + store i32 %21, i32* @errno, align 4 + br label %if.end29 + +if.end29: ; preds = %if.then28, %if.end26 + %22 = load i32, i32* %retval1, align 4 + ret i32 %22 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i64 @strnlen(i8* nonnull %s, i64 %max) #14 { +entry: + %s.addr = alloca i8*, align 8 + %max.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i64 %max, i64* %max.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %1 = load i64, i64* %max.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %2 = load i8*, i8** %p, align 8 + %3 = load i8, i8* %2, align 1 + %conv = sext i8 %3 to i32 + %tobool1 = icmp ne i32 %conv, 0 + br label %land.end + +land.end: ; preds = %land.rhs, %while.cond + %4 = phi i1 [ false, %while.cond ], [ %tobool1, %land.rhs ] + %5 = load i8*, i8** %p, align 8 + br i1 %4, label %while.body, label %while.end + +while.body: ; preds = %land.end + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %6 = load i64, i64* %max.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %max.addr, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %7 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind uwtable +define i8* @strtok_r(i8* noalias %s1, i8* noalias nonnull %s2, i8** noalias nonnull %next_start) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %next_start.addr = alloca i8**, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i8** %next_start, i8*** %next_start.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + %cmp = icmp ne i8* %0, null + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %1 = load i8**, i8*** %next_start.addr, align 8 + %2 = load i8*, i8** %1, align 8 + store i8* %2, i8** %s, align 8 + %cmp1 = icmp ne i8* %2, null + br i1 %cmp1, label %if.then, label %if.end7 + +if.then: ; preds = %lor.lhs.false, %entry + %3 = load i8*, i8** %s, align 8 + %4 = load i8*, i8** %s2.addr, align 8 + %call = call i64 @strspn(i8* %3, i8* %4) #20 + %5 = load i8*, i8** %s, align 8 + %add.ptr = getelementptr inbounds i8, i8* %5, i64 %call + store i8* %add.ptr, i8** %s, align 8 + %6 = load i8, i8* %add.ptr, align 1 + %tobool = icmp ne i8 %6, 0 + br i1 %tobool, label %if.then2, label %if.else + +if.then2: ; preds = %if.then + %7 = load i8*, i8** %s, align 8 + %8 = load i8*, i8** %s2.addr, align 8 + %call3 = call i8* @strpbrk(i8* %7, i8* %8) #20 + store i8* %call3, i8** %p, align 8 + %cmp4 = icmp ne i8* %call3, null + br i1 %cmp4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.then2 + %9 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + store i8 0, i8* %9, align 1 + br label %if.end6 + +if.else: ; preds = %if.then + store i8* null, i8** %s, align 8 + store i8* null, i8** %p, align 8 + br label %if.end6 + +if.end6: ; preds = %if.then2, %if.then5, %if.else + %10 = load i8*, i8** %p, align 8 + %11 = load i8**, i8*** %next_start.addr, align 8 + store i8* %10, i8** %11, align 8 + br label %if.end7 + +if.end7: ; preds = %if.end6, %lor.lhs.false + %12 = load i8*, i8** %s, align 8 + ret i8* %12 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @mbsrtowcs(i32* noalias %dst, i8** noalias %src, i64 %len, %struct.__mbstate_t.514* noalias %ps) #0 { +entry: + %dst.addr = alloca i32*, align 8 + %src.addr = alloca i8**, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.514*, align 8 + store i32* %dst, i32** %dst.addr, align 8 + store i8** %src, i8*** %src.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.514* %ps, %struct.__mbstate_t.514** %ps.addr, align 8 + %0 = load i32*, i32** %dst.addr, align 8 + %1 = load i8**, i8*** %src.addr, align 8 + %2 = load i64, i64* %len.addr, align 8 + %3 = load %struct.__mbstate_t.514*, %struct.__mbstate_t.514** %ps.addr, align 8 + %cmp = icmp ne %struct.__mbstate_t.514* %3, null + %4 = load %struct.__mbstate_t.514*, %struct.__mbstate_t.514** %ps.addr, align 8 + %cond = select i1 %cmp, %struct.__mbstate_t.514* %4, %struct.__mbstate_t.514* @mbsrtowcs.mbstate + %call = call i64 @mbsnrtowcs(i32* %0, i8** %1, i64 -1, i64 %2, %struct.__mbstate_t.514* %cond) #19 + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define i64 @wcsnrtombs(i8* noalias %dst, i32** noalias %src, i64 %NWC, i64 %len, %struct.__mbstate_t.514* noalias %ps) #0 { +entry: + %retval = alloca i64, align 8 + %dst.addr = alloca i8*, align 8 + %src.addr = alloca i32**, align 8 + %NWC.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.514*, align 8 + %s = alloca i32*, align 8 + %count = alloca i64, align 8 + %incr = alloca i32, align 4 + %buf = alloca [16 x i8], align 16 + %wc = alloca i32, align 4 + %u = alloca i32, align 4 + store i8* %dst, i8** %dst.addr, align 8 + store i32** %src, i32*** %src.addr, align 8 + store i64 %NWC, i64* %NWC.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.514* %ps, %struct.__mbstate_t.514** %ps.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %0, i32 0, i32 9 + %1 = load i8, i8* %encoding, align 8 + %conv = zext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load i8*, i8** %dst.addr, align 8 + %3 = load i64, i64* %len.addr, align 8 + %4 = load i32**, i32*** %src.addr, align 8 + %5 = load i64, i64* %NWC.addr, align 8 + %call = call i64 @_wchar_wcsntoutf8s(i8* %2, i64 %3, i32** %4, i64 %5) #18 + store i64 %call, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + store i32 1, i32* %incr, align 4 + %6 = load i8*, i8** %dst.addr, align 8 + %tobool = icmp ne i8* %6, null + br i1 %tobool, label %lor.lhs.false, label %if.then4 + +lor.lhs.false: ; preds = %if.end + %7 = load i8*, i8** %dst.addr, align 8 + %8 = load i32**, i32*** %src.addr, align 8 + %9 = bitcast i32** %8 to i8* + %cmp2 = icmp eq i8* %7, %9 + br i1 %cmp2, label %if.then4, label %if.end8 + +if.then4: ; preds = %lor.lhs.false, %if.end + %10 = load i8*, i8** %dst.addr, align 8 + %tobool5 = icmp ne i8* %10, null + br i1 %tobool5, label %if.end7, label %if.then6 + +if.then6: ; preds = %if.then4 + store i64 -1, i64* %len.addr, align 8 + br label %if.end7 + +if.end7: ; preds = %if.then6, %if.then4 + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay, i8** %dst.addr, align 8 + store i32 0, i32* %incr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end7, %lor.lhs.false + %11 = load i64, i64* %len.addr, align 8 + %12 = load i64, i64* %NWC.addr, align 8 + %cmp9 = icmp ugt i64 %11, %12 + br i1 %cmp9, label %if.then11, label %if.end12 + +if.then11: ; preds = %if.end8 + %13 = load i64, i64* %NWC.addr, align 8 + store i64 %13, i64* %len.addr, align 8 + br label %if.end12 + +if.end12: ; preds = %if.then11, %if.end8 + %14 = load i64, i64* %len.addr, align 8 + store i64 %14, i64* %count, align 8 + %15 = load i32**, i32*** %src.addr, align 8 + %16 = load i32*, i32** %15, align 8 + store i32* %16, i32** %s, align 8 + %17 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__curlocale_var, align 8 + %encoding13 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %17, i32 0, i32 9 + %18 = load i8, i8* %encoding13, align 8 + %conv14 = zext i8 %18 to i32 + %cmp15 = icmp eq i32 %conv14, 2 + br i1 %cmp15, label %while.cond, label %while.cond52 + +while.cond: ; preds = %if.end12, %if.end45 + %19 = load i64, i64* %count, align 8 + %tobool18 = icmp ne i64 %19, 0 + br i1 %tobool18, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %20 = load i32*, i32** %s, align 8 + %21 = load i32, i32* %20, align 4 + store i32 %21, i32* %wc, align 4 + %cmp19 = icmp ule i32 %21, 127 + br i1 %cmp19, label %if.then21, label %if.else + +if.then21: ; preds = %while.body + %22 = load i32, i32* %wc, align 4 + %conv22 = trunc i32 %22 to i8 + %23 = load i8*, i8** %dst.addr, align 8 + store i8 %conv22, i8* %23, align 1 + %tobool23 = icmp ne i8 %conv22, 0 + br i1 %tobool23, label %if.end45, label %if.then24 + +if.then24: ; preds = %if.then21 + store i32* null, i32** %s, align 8 + br label %while.end + +if.else: ; preds = %while.body + store i32 0, i32* %u, align 4 + %24 = load i32, i32* %wc, align 4 + %cmp26 = icmp ule i32 %24, 9727 + br i1 %cmp26, label %if.then28, label %if.end42 + +if.then28: ; preds = %if.else + %25 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__curlocale_var, align 8 + %idx8wc2c = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %25, i32 0, i32 18 + %26 = load i8*, i8** %idx8wc2c, align 8 + %27 = load i32, i32* %wc, align 4 + %shr = lshr i32 %27, 8 + %idxprom = zext i32 %shr to i64 + %arrayidx = getelementptr inbounds i8, i8* %26, i64 %idxprom + %28 = load i8, i8* %arrayidx, align 1 + %conv29 = zext i8 %28 to i32 + store i32 %conv29, i32* %u, align 4 + %29 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__curlocale_var, align 8 + %tbl8wc2c = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %29, i32 0, i32 19 + %30 = load i8*, i8** %tbl8wc2c, align 8 + %31 = load i32, i32* %u, align 4 + %shl = shl i32 %31, 4 + %32 = load i32, i32* %wc, align 4 + %shr30 = lshr i32 %32, 4 + %and = and i32 %shr30, 15 + %add = add i32 %shl, %and + %idxprom31 = zext i32 %add to i64 + %arrayidx32 = getelementptr inbounds i8, i8* %30, i64 %idxprom31 + %33 = load i8, i8* %arrayidx32, align 1 + %conv33 = zext i8 %33 to i32 + store i32 %conv33, i32* %u, align 4 + %34 = load %struct.__uclibc_locale_struct.203*, %struct.__uclibc_locale_struct.203** @__curlocale_var, align 8 + %tbl8wc2c34 = getelementptr inbounds %struct.__uclibc_locale_struct.203, %struct.__uclibc_locale_struct.203* %34, i32 0, i32 19 + %35 = load i8*, i8** %tbl8wc2c34, align 8 + %36 = load i32, i32* %u, align 4 + %shl35 = shl i32 %36, 4 + %add36 = add i32 1072, %shl35 + %37 = load i32, i32* %wc, align 4 + %and37 = and i32 %37, 15 + %add38 = add i32 %add36, %and37 + %idxprom39 = zext i32 %add38 to i64 + %arrayidx40 = getelementptr inbounds i8, i8* %35, i64 %idxprom39 + %38 = load i8, i8* %arrayidx40, align 1 + %conv41 = zext i8 %38 to i32 + store i32 %conv41, i32* %u, align 4 + br label %if.end42 + +if.end42: ; preds = %if.then28, %if.else + %39 = load i32, i32* %u, align 4 + %tobool43 = icmp ne i32 %39, 0 + %40 = load i32, i32* %u, align 4 + %cond = select i1 %tobool43, i32 %40, i32 63 + %conv44 = trunc i32 %cond to i8 + %41 = load i8*, i8** %dst.addr, align 8 + store i8 %conv44, i8* %41, align 1 + br label %if.end45 + +if.end45: ; preds = %if.then21, %if.end42 + %42 = load i32*, i32** %s, align 8 + %incdec.ptr = getelementptr inbounds i32, i32* %42, i32 1 + store i32* %incdec.ptr, i32** %s, align 8 + %43 = load i32, i32* %incr, align 4 + %44 = load i8*, i8** %dst.addr, align 8 + %idx.ext = sext i32 %43 to i64 + %add.ptr = getelementptr inbounds i8, i8* %44, i64 %idx.ext + store i8* %add.ptr, i8** %dst.addr, align 8 + %45 = load i64, i64* %count, align 8 + %dec = add i64 %45, -1 + store i64 %dec, i64* %count, align 8 + br label %while.cond + +while.end: ; preds = %if.then24, %while.cond + %46 = load i8*, i8** %dst.addr, align 8 + %arraydecay46 = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + %cmp47 = icmp ne i8* %46, %arraydecay46 + br i1 %cmp47, label %if.then49, label %if.end50 + +if.then49: ; preds = %while.end + %47 = load i32*, i32** %s, align 8 + %48 = load i32**, i32*** %src.addr, align 8 + store i32* %47, i32** %48, align 8 + br label %if.end50 + +if.end50: ; preds = %if.then49, %while.end + %49 = load i64, i64* %len.addr, align 8 + %50 = load i64, i64* %count, align 8 + %sub = sub i64 %49, %50 + store i64 %sub, i64* %retval, align 8 + br label %return + +while.cond52: ; preds = %if.end12, %if.end64 + %51 = load i64, i64* %count, align 8 + %tobool53 = icmp ne i64 %51, 0 + br i1 %tobool53, label %while.body54, label %while.end69 + +while.body54: ; preds = %while.cond52 + %52 = load i32*, i32** %s, align 8 + %53 = load i32, i32* %52, align 4 + %cmp55 = icmp uge i32 %53, 128 + br i1 %cmp55, label %if.then57, label %if.end58 + +if.then57: ; preds = %while.body54 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end58: ; preds = %while.body54 + %54 = load i32*, i32** %s, align 8 + %55 = load i32, i32* %54, align 4 + %conv59 = trunc i32 %55 to i8 + %56 = load i8*, i8** %dst.addr, align 8 + store i8 %conv59, i8* %56, align 1 + %conv60 = sext i8 %conv59 to i32 + %cmp61 = icmp eq i32 %conv60, 0 + br i1 %cmp61, label %if.then63, label %if.end64 + +if.then63: ; preds = %if.end58 + store i32* null, i32** %s, align 8 + br label %while.end69 + +if.end64: ; preds = %if.end58 + %57 = load i32*, i32** %s, align 8 + %incdec.ptr65 = getelementptr inbounds i32, i32* %57, i32 1 + store i32* %incdec.ptr65, i32** %s, align 8 + %58 = load i32, i32* %incr, align 4 + %59 = load i8*, i8** %dst.addr, align 8 + %idx.ext66 = sext i32 %58 to i64 + %add.ptr67 = getelementptr inbounds i8, i8* %59, i64 %idx.ext66 + store i8* %add.ptr67, i8** %dst.addr, align 8 + %60 = load i64, i64* %count, align 8 + %dec68 = add i64 %60, -1 + store i64 %dec68, i64* %count, align 8 + br label %while.cond52 + +while.end69: ; preds = %if.then63, %while.cond52 + %61 = load i8*, i8** %dst.addr, align 8 + %arraydecay70 = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + %cmp71 = icmp ne i8* %61, %arraydecay70 + br i1 %cmp71, label %if.then73, label %if.end74 + +if.then73: ; preds = %while.end69 + %62 = load i32*, i32** %s, align 8 + %63 = load i32**, i32*** %src.addr, align 8 + store i32* %62, i32** %63, align 8 + br label %if.end74 + +if.end74: ; preds = %if.then73, %while.end69 + %64 = load i64, i64* %len.addr, align 8 + %65 = load i64, i64* %count, align 8 + %sub75 = sub i64 %64, %65 + store i64 %sub75, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end74, %if.then57, %if.end50, %if.then + %66 = load i64, i64* %retval, align 8 + ret i64 %66 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @memchr(i8* nonnull %s, i32 %c, i64 %n) #14 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %n.addr = alloca i64, align 8 + %r = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %r, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %1 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %2 = load i8*, i8** %r, align 8 + %3 = load i8, i8* %2, align 1 + %conv = zext i8 %3 to i32 + %4 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %4 to i8 + %conv2 = zext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + %5 = load i8*, i8** %r, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + store i8* %5, i8** %retval, align 8 + br label %return + +if.end: ; preds = %while.body + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %r, align 8 + %6 = load i64, i64* %n.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then + %7 = load i8*, i8** %retval, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @memrchr(i8* nonnull %s, i32 %c, i64 %n) #14 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %n.addr = alloca i64, align 8 + %r = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i64, i64* %n.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %0, i64 %1 + store i8* %add.ptr, i8** %r, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %2 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load i8*, i8** %r, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 -1 + store i8* %incdec.ptr, i8** %r, align 8 + %4 = load i8, i8* %incdec.ptr, align 1 + %conv = zext i8 %4 to i32 + %5 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %5 to i8 + %conv2 = zext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + %6 = load i8*, i8** %r, align 8 + store i8* %6, i8** %retval, align 8 + br label %return + +if.end: ; preds = %while.body + %7 = load i64, i64* %n.addr, align 8 + %dec = add i64 %7, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then + %8 = load i8*, i8** %retval, align 8 + ret i8* %8 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @strpbrk(i8* nonnull %s1, i8* nonnull %s2) #14 { +entry: + %retval = alloca i8*, align 8 + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc6, %entry + %1 = load i8*, i8** %s, align 8 + %2 = load i8, i8* %1, align 1 + %tobool = icmp ne i8 %2, 0 + br i1 %tobool, label %for.body, label %for.end8 + +for.body: ; preds = %for.cond + %3 = load i8*, i8** %s2.addr, align 8 + store i8* %3, i8** %p, align 8 + br label %for.cond1 + +for.cond1: ; preds = %for.inc, %for.body + %4 = load i8*, i8** %p, align 8 + %5 = load i8, i8* %4, align 1 + %tobool2 = icmp ne i8 %5, 0 + br i1 %tobool2, label %for.body3, label %for.inc6 + +for.body3: ; preds = %for.cond1 + %6 = load i8*, i8** %p, align 8 + %7 = load i8, i8* %6, align 1 + %conv = sext i8 %7 to i32 + %8 = load i8*, i8** %s, align 8 + %9 = load i8, i8* %8, align 1 + %conv4 = sext i8 %9 to i32 + %cmp = icmp eq i32 %conv, %conv4 + br i1 %cmp, label %if.then, label %for.inc + +if.then: ; preds = %for.body3 + %10 = load i8*, i8** %s, align 8 + store i8* %10, i8** %retval, align 8 + br label %return + +for.inc: ; preds = %for.body3 + %11 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %11, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + br label %for.cond1 + +for.inc6: ; preds = %for.cond1 + %12 = load i8*, i8** %s, align 8 + %incdec.ptr7 = getelementptr inbounds i8, i8* %12, i32 1 + store i8* %incdec.ptr7, i8** %s, align 8 + br label %for.cond + +for.end8: ; preds = %for.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %for.end8, %if.then + %13 = load i8*, i8** %retval, align 8 + ret i8* %13 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_wchar_wcsntoutf8s(i8* noalias %s, i64 %n, i32** noalias %src, i64 %wn) #0 { +entry: + %retval = alloca i64, align 8 + %s.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %src.addr = alloca i32**, align 8 + %wn.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + %len = alloca i64, align 8 + %t = alloca i64, align 8 + %wc = alloca i32, align 4 + %swc = alloca i32*, align 8 + %store = alloca i32, align 4 + %buf = alloca [16 x i8], align 16 + %m = alloca i8, align 1 + store i8* %s, i8** %s.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i32** %src, i32*** %src.addr, align 8 + store i64 %wn, i64* %wn.addr, align 8 + store i32 1, i32* %store, align 4 + %0 = load i8*, i8** %s.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %lor.lhs.false, label %if.then + +lor.lhs.false: ; preds = %entry + %1 = load i8*, i8** %s.addr, align 8 + %2 = load i32**, i32*** %src.addr, align 8 + %3 = bitcast i32** %2 to i8* + %cmp = icmp eq i8* %1, %3 + br i1 %cmp, label %if.then, label %if.end3 + +if.then: ; preds = %lor.lhs.false, %entry + %4 = load i8*, i8** %s.addr, align 8 + %tobool1 = icmp ne i8* %4, null + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + store i64 -1, i64* %n.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay, i8** %s.addr, align 8 + store i32 0, i32* %store, align 4 + br label %if.end3 + +if.end3: ; preds = %if.end, %lor.lhs.false + %5 = load i64, i64* %n.addr, align 8 + store i64 %5, i64* %t, align 8 + %6 = load i32**, i32*** %src.addr, align 8 + %7 = load i32*, i32** %6, align 8 + store i32* %7, i32** %swc, align 8 + br label %while.cond + +while.cond: ; preds = %if.end51, %if.end3 + %8 = load i64, i64* %wn.addr, align 8 + %tobool4 = icmp ne i64 %8, 0 + %9 = load i64, i64* %t, align 8 + %tobool5 = icmp ne i64 %9, 0 + %10 = select i1 %tobool4, i1 %tobool5, i1 false + br i1 %10, label %while.body, label %while.end52 + +while.body: ; preds = %while.cond + %11 = load i32*, i32** %swc, align 8 + %12 = load i32, i32* %11, align 4 + store i32 %12, i32* %wc, align 4 + %13 = load i32, i32* %wc, align 4 + %conv = trunc i32 %13 to i8 + %14 = load i8*, i8** %s.addr, align 8 + store i8 %conv, i8* %14, align 1 + store i64 1, i64* %len, align 8 + %15 = load i32, i32* %wc, align 4 + %cmp6 = icmp uge i32 %15, 128 + %16 = load i32, i32* %wc, align 4 + br i1 %cmp6, label %if.then8, label %if.else + +if.then8: ; preds = %while.body + %conv9 = zext i32 %16 to i64 + %cmp10 = icmp ugt i64 %conv9, 2147483647 + br i1 %cmp10, label %if.then19, label %lor.lhs.false12 + +lor.lhs.false12: ; preds = %if.then8 + %17 = load i32, i32* %wc, align 4 + %sub = sub i32 %17, 65534 + %cmp13 = icmp ult i32 %sub, 2 + br i1 %cmp13, label %if.then19, label %lor.lhs.false15 + +lor.lhs.false15: ; preds = %lor.lhs.false12 + %18 = load i32, i32* %wc, align 4 + %sub16 = sub i32 %18, 55296 + %cmp17 = icmp ult i32 %sub16, 2048 + br i1 %cmp17, label %if.then19, label %if.end20 + +if.then19: ; preds = %lor.lhs.false15, %lor.lhs.false12, %if.then8 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end20: ; preds = %lor.lhs.false15 + %19 = load i32, i32* %wc, align 4 + %shr = lshr i32 %19, 1 + store i32 %shr, i32* %wc, align 4 + %20 = load i8*, i8** %s.addr, align 8 + store i8* %20, i8** %p, align 8 + br label %do.body + +do.body: ; preds = %do.body, %if.end20 + %21 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %21, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %22 = load i32, i32* %wc, align 4 + %shr21 = lshr i32 %22, 5 + store i32 %shr21, i32* %wc, align 4 + %tobool22 = icmp ne i32 %shr21, 0 + br i1 %tobool22, label %do.body, label %do.end + +do.end: ; preds = %do.body + %23 = load i32*, i32** %swc, align 8 + %24 = load i32, i32* %23, align 4 + store i32 %24, i32* %wc, align 4 + %25 = load i8*, i8** %p, align 8 + %26 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %25 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %26 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %len, align 8 + %27 = load i64, i64* %t, align 8 + %cmp23 = icmp ugt i64 %sub.ptr.sub, %27 + br i1 %cmp23, label %while.end52, label %if.end26 + +if.end26: ; preds = %do.end + store i8 -128, i8* %m, align 1 + br label %while.cond27 + +while.cond27: ; preds = %while.body30, %if.end26 + %28 = load i8*, i8** %p, align 8 + %29 = load i8*, i8** %s.addr, align 8 + %cmp28 = icmp ugt i8* %28, %29 + %30 = load i8, i8* %m, align 1 + %conv31 = sext i8 %30 to i32 + br i1 %cmp28, label %while.body30, label %while.end + +while.body30: ; preds = %while.cond27 + %shr32 = ashr i32 %conv31, 1 + %or = or i32 %shr32, 128 + %conv33 = trunc i32 %or to i8 + store i8 %conv33, i8* %m, align 1 + %31 = load i32, i32* %wc, align 4 + %and = and i32 %31, 63 + %or34 = or i32 %and, 128 + %conv35 = trunc i32 %or34 to i8 + %32 = load i8*, i8** %p, align 8 + %incdec.ptr36 = getelementptr inbounds i8, i8* %32, i32 -1 + store i8* %incdec.ptr36, i8** %p, align 8 + store i8 %conv35, i8* %incdec.ptr36, align 1 + %33 = load i32, i32* %wc, align 4 + %shr37 = lshr i32 %33, 6 + store i32 %shr37, i32* %wc, align 4 + br label %while.cond27 + +while.end: ; preds = %while.cond27 + %shl = shl i32 %conv31, 1 + %34 = load i8*, i8** %s.addr, align 8 + %35 = load i8, i8* %34, align 1 + %conv39 = sext i8 %35 to i32 + %or40 = or i32 %conv39, %shl + %conv41 = trunc i32 %or40 to i8 + store i8 %conv41, i8* %34, align 1 + br label %if.end46 + +if.else: ; preds = %while.body + %cmp42 = icmp eq i32 %16, 0 + br i1 %cmp42, label %if.then44, label %if.end46 + +if.then44: ; preds = %if.else + store i32* null, i32** %swc, align 8 + br label %while.end52 + +if.end46: ; preds = %if.else, %while.end + %36 = load i32*, i32** %swc, align 8 + %incdec.ptr47 = getelementptr inbounds i32, i32* %36, i32 1 + store i32* %incdec.ptr47, i32** %swc, align 8 + %37 = load i64, i64* %wn.addr, align 8 + %dec = add i64 %37, -1 + store i64 %dec, i64* %wn.addr, align 8 + %38 = load i64, i64* %len, align 8 + %39 = load i64, i64* %t, align 8 + %sub48 = sub i64 %39, %38 + store i64 %sub48, i64* %t, align 8 + %40 = load i32, i32* %store, align 4 + %tobool49 = icmp ne i32 %40, 0 + br i1 %tobool49, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.end46 + %41 = load i64, i64* %len, align 8 + %42 = load i8*, i8** %s.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %42, i64 %41 + store i8* %add.ptr, i8** %s.addr, align 8 + br label %if.end51 + +if.end51: ; preds = %if.then50, %if.end46 + br label %while.cond + +while.end52: ; preds = %do.end, %if.then44, %while.cond + %43 = load i32, i32* %store, align 4 + %tobool53 = icmp ne i32 %43, 0 + br i1 %tobool53, label %if.then54, label %if.end55 + +if.then54: ; preds = %while.end52 + %44 = load i32*, i32** %swc, align 8 + %45 = load i32**, i32*** %src.addr, align 8 + store i32* %44, i32** %45, align 8 + br label %if.end55 + +if.end55: ; preds = %if.then54, %while.end52 + %46 = load i64, i64* %n.addr, align 8 + %47 = load i64, i64* %t, align 8 + %sub56 = sub i64 %46, %47 + store i64 %sub56, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end55, %if.then19 + %48 = load i64, i64* %retval, align 8 + ret i64 %48 +} + +attributes #0 = { noinline nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #1 = { noinline noreturn nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #2 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #3 = { noinline nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #4 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #5 = { "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #6 = { noinline noreturn nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #7 = { noreturn "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #8 = { argmemonly nounwind willreturn writeonly } +attributes #9 = { argmemonly nounwind willreturn } +attributes #10 = { noreturn nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #11 = { nounwind } +attributes #12 = { noinline nounwind readnone uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #13 = { noreturn "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #14 = { noinline nounwind readonly uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #15 = { noinline nounwind readonly uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #16 = { noinline nounwind returns_twice uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #17 = { "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #18 = { nobuiltin "no-builtins" } +attributes #19 = { nobuiltin nounwind "no-builtins" } +attributes #20 = { nobuiltin nounwind readonly "no-builtins" } +attributes #21 = { nobuiltin nounwind readnone "no-builtins" } +attributes #22 = { nobuiltin noreturn nounwind "no-builtins" } +attributes #23 = { nounwind readonly } +attributes #24 = { noreturn } +attributes #25 = { nounwind readnone } +attributes #26 = { noreturn nounwind } +attributes #27 = { nobuiltin noreturn "no-builtins" } + +!llvm.module.flags = !{!0, !1} +!llvm.ident = !{!2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2} + +!0 = !{i32 1, !"wchar_size", i32 4} +!1 = !{i32 7, !"PIC Level", i32 2} +!2 = !{!"clang version 11.1.0 (https://github.com/llvm/llvm-project.git 1fdec59bffc11ae37eb51a1b9869f0696bfd5312)"} diff --git a/benchmarks/coreutils/gensym_posix/true.ll b/benchmarks/coreutils/gensym_posix/true.ll new file mode 100644 index 000000000..58c306b8e --- /dev/null +++ b/benchmarks/coreutils/gensym_posix/true.ll @@ -0,0 +1,28735 @@ +; ModuleID = '__uClibc_main.os' +source_filename = "libc/misc/internals/__uClibc_main.c" +target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" +target triple = "x86_64-unknown-linux-gnu" + +module asm ".section .gnu.warning.siggetmask" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.__fpending" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.gets" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.tmpnam" +module asm "\09.previous" +module asm "" +module asm ".section .gnu.warning.mktemp" +module asm "\09.previous" + +%struct.__uclibc_locale_struct.201 = type { i16*, i16*, i16*, [384 x i16], [384 x i16], [384 x i16], [14 x i8], [6 x i16], [6 x i8], i8, i8, [10 x i8], i8*, i8*, i8*, i8*, i8*, i16*, i8*, i8*, i16*, i8*, i8*, i16*, i32, i32, i32, i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__collate_t.200 } +%struct.__collate_t.200 = type { i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16*, i16*, i16*, i16*, i16*, i16*, i16*, i16*, i16*, i16 } +%struct.__STDIO_FILE_STRUCT.568 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.568*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__mbstate_t.512 = type { i32, i32 } +%struct.quoting_options = type { i32, i32, [8 x i32], i8*, i8* } +%struct.infomap = type { i8*, i8* } +%struct.slotvec = type { i64, i8* } +%struct.exe_file_t = type { i32, i32, i64, %struct.exe_disk_file_t* } +%struct.exe_disk_file_t = type { i32, i8*, %struct.stat64* } +%struct.stat64 = type { i64, i64, i64, i32, i32, i32, i32, i64, i64, i64, i64, %struct.timespec, %struct.timespec, %struct.timespec, [3 x i64] } +%struct.timespec = type { i64, i64 } +%struct.exe_file_system_t = type { i32, %struct.exe_disk_file_t*, %struct.exe_disk_file_t*, i32, %struct.exe_disk_file_t*, i32, i32*, i32*, i32*, i32*, i32*, i32*, i32* } +%struct.__locale_mmap_t.203 = type { [420 x i8], [504 x i8], [1760 x i16], [4528 x i8], [3604 x i8], [1680 x i8], [196 x i16], [51 x i8], [28 x i8], [1646 x i8], [28353 x i8], [1804 x i8], [23 x %struct.__codeset_8_bit_t.202], [20 x i8], [10 x i16], [20 x i16], [45 x i8], [3 x i16], [15 x i16], [3894 x i8], [22 x i16], [407 x i16], [8250 x i8], [50 x i16], [3429 x i16], [372 x i8], [4 x i16], [200 x i16], [91141 x i16], [6 x i8], [24 x i64], [2826 x i8], [835 x i8], [18 x i8], [69 x i8], [255 x i8] } +%struct.__codeset_8_bit_t.202 = type { [16 x i8], [16 x i8], [16 x i8], [38 x i8] } +%struct.utmp.323 = type { i16, i32, [32 x i8], [4 x i8], [32 x i8], [256 x i8], %struct.exit_status, i64, %struct.timespec, [4 x i32], [20 x i8] } +%struct.exit_status = type { i16, i16 } +%struct.exit_function = type { i64, %union.anon.772 } +%union.anon.772 = type { %struct.anon.0.771 } +%struct.anon.0.771 = type { void (i8*)*, i8*, i8* } +%struct.dirent64 = type { i64, i64, i16, i8, [256 x i8] } +%struct.__STDIO_FILE_STRUCT.592 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.592*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.608 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.608*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.621 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.621*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__STDIO_FILE_STRUCT.636 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.636*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.Elf64_auxv_t = type { i64, %union.anon.193 } +%union.anon.193 = type { i64 } +%struct.stat.192 = type { i64, i64, i64, i32, i32, i32, i32, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, [3 x i64] } +%struct.__STDIO_FILE_STRUCT.513 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.513*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.exe_sym_env_t = type { [32 x %struct.exe_file_t], i32, i32, i32 } +%struct.__va_list_tag.0 = type { i32, i32, i8*, i8* } +%struct.termios = type { i32, i32, i32, i32, i8, [32 x i8], i32, i32 } +%struct.winsize = type { i16, i16, i16, i16 } +%struct.flock = type { i16, i16, i64, i64, i32 } +%struct.statfs = type { i64, i64, i64, i64, i64, i64, i64, %struct.__fsid_t, i64, i64, i64, [4 x i64] } +%struct.__fsid_t = type { [2 x i32] } +%struct.fd_set = type { [16 x i64] } +%struct.coldata_header_t = type { i16, i16, i16, i16, i16, i16, i16, i16 } +%struct.coldata_base_t = type { i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16 } +%struct._IO_FILE = type { i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct._IO_marker*, %struct._IO_FILE*, i32, i32, i64, i16, i8, [1 x i8], i8*, i64, %struct._IO_codecvt*, %struct._IO_wide_data*, %struct._IO_FILE*, i8*, i64, i32, [20 x i8] } +%struct._IO_marker = type opaque +%struct._IO_codecvt = type opaque +%struct._IO_wide_data = type opaque +%struct.__mbstate_t = type { i32, %union.anon } +%union.anon = type { i32 } +%struct.sigaction.800 = type { %union.anon.799, %struct.fd_set, i32, void ()* } +%union.anon.799 = type { void (i32)* } +%struct.tms = type { i64, i64, i64, i64 } +%struct.utmpx = type opaque +%struct.utmp = type { i16, i32, [32 x i8], [4 x i8], [32 x i8], [256 x i8], %struct.exit_status, i32, %struct.__mbstate_t.512, [4 x i32], [20 x i8] } +%struct.rusage = type { %struct.timespec, %struct.timespec, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193, %union.anon.193 } +%struct.siginfo_t = type { i32, i32, i32, i32, %union.anon.0 } +%union.anon.0 = type { %struct.anon.3, [80 x i8] } +%struct.anon.3 = type { i32, i32, i32, i64, i64 } +%struct.kernel_sigaction = type { void (i32)*, i64, void ()*, %struct.fd_set } +%struct.__jmp_buf_tag = type { [8 x i64], i32, %struct.fd_set } +%struct.__STDIO_FILE_STRUCT.519 = type { i16, [2 x i8], i32, i8*, i8*, i8*, i8*, i8*, i8*, %struct.__STDIO_FILE_STRUCT.519*, [2 x i32], %struct.__mbstate_t.512, i8* } +%struct.__kernel_termios = type { i32, i32, i32, i32, i8, [19 x i8] } +%struct.ppfs_t.722 = type { i8*, %struct.printf_info.720, i32, i32, i32, [4 x i8], [9 x i32], [1 x %struct.__va_list_tag.0], [9 x %union.anon.193] } +%struct.printf_info.720 = type { i32, i32, i32, i32, i32 } +%struct.anon.779 = type { void (i32, i8*)*, i8* } + +@__libc_stack_end = global i8* null, align 8 +@.str = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@__uclibc_progname = hidden global i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i32 0, i32 0), align 8 +@program_invocation_short_name = global i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i32 0, i32 0), align 8 +@program_invocation_name = global i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str, i32 0, i32 0), align 8 +@__environ = global i8** null, align 8 +@__pagesize = global i64 0, align 8 +@__uClibc_init.been_there_done_that = internal global i32 0, align 4 +@__app_fini = hidden global void ()* null, align 8 +@__rtld_fini = hidden global void ()* null, align 8 +@.str.1 = private unnamed_addr constant [10 x i8] c"/dev/null\00", align 1 +@llvm.used = appending global [5 x i8*] [i8* getelementptr inbounds ([57 x i8], [57 x i8]* @__evoke_link_warning_siggetmask, i32 0, i32 0), i8* getelementptr inbounds ([167 x i8], [167 x i8]* @__evoke_link_warning___fpending, i32 0, i32 0), i8* getelementptr inbounds ([57 x i8], [57 x i8]* @__evoke_link_warning_gets, i32 0, i32 0), i8* getelementptr inbounds ([55 x i8], [55 x i8]* @__evoke_link_warning_tmpnam, i32 0, i32 0), i8* getelementptr inbounds ([55 x i8], [55 x i8]* @__evoke_link_warning_mktemp, i32 0, i32 0)], section "llvm.metadata" +@__evoke_link_warning_siggetmask = internal constant [57 x i8] c"warning: `siggetmask' is obsolete; `sigprocmask' is best\00", section ".gnu.warning.siggetmask\0A#APP\0A\09#", align 16 +@__evoke_link_warning___fpending = internal constant [167 x i8] c"This version of __fpending returns bytes remaining in buffer for both narrow and wide streams. glibc's version returns wide chars in buffer for the wide stream case.\00", section ".gnu.warning.__fpending\0A#APP\0A\09#", align 16 +@__evoke_link_warning_gets = internal constant [57 x i8] c"the 'gets' function is dangerous and should not be used.\00", section ".gnu.warning.gets\0A#APP\0A\09#", align 16 +@__evoke_link_warning_tmpnam = internal constant [55 x i8] c"the use of `tmpnam' is dangerous, better use `mkstemp'\00", section ".gnu.warning.tmpnam\0A#APP\0A\09#", align 16 +@tmpnam_buffer = internal global [20 x i8] zeroinitializer, align 16 +@__evoke_link_warning_mktemp = internal constant [55 x i8] c"the use of `mktemp' is dangerous, better use `mkstemp'\00", section ".gnu.warning.mktemp\0A#APP\0A\09#", align 16 +@.str.4 = private unnamed_addr constant [77 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/fd.c\00", align 1 +@.str.27 = private unnamed_addr constant [37 x i8] c"ERROR: concretizing symbolic pointer\00", align 1 +@.str.28 = private unnamed_addr constant [9 x i8] c"user.err\00", align 1 +@.str.25 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@getcwd.n_calls = internal global i32 0, align 4 +@.str.5 = private unnamed_addr constant [46 x i8] c"Undefined call to open(): O_TRUNC | O_RDONLY\0A\00", align 1 +@.str.1.6 = private unnamed_addr constant [47 x i8] c"Undefined call to open(): O_EXCL w/o O_RDONLY\0A\00", align 1 +@.str.2 = private unnamed_addr constant [44 x i8] c"symbolic file descriptor, ignoring (ENOENT)\00", align 1 +@close.n_calls = internal global i32 0, align 4 +@read.n_calls = internal global i32 0, align 4 +@.str.3 = private unnamed_addr constant [12 x i8] c"f->off >= 0\00", align 1 +@__PRETTY_FUNCTION__.read = private unnamed_addr constant [34 x i8] c"ssize_t read(int, void *, size_t)\00", align 1 +@write.n_calls = internal global i32 0, align 4 +@.str.5.7 = private unnamed_addr constant [7 x i8] c"r >= 0\00", align 1 +@__PRETTY_FUNCTION__.write = private unnamed_addr constant [41 x i8] c"ssize_t write(int, const void *, size_t)\00", align 1 +@.str.6 = private unnamed_addr constant [2 x i8] c"0\00", align 1 +@.str.7 = private unnamed_addr constant [24 x i8] c"write() ignores bytes.\0A\00", align 1 +@.str.8 = private unnamed_addr constant [18 x i8] c"new_off == f->off\00", align 1 +@__PRETTY_FUNCTION__.__fd_lseek = private unnamed_addr constant [38 x i8] c"off64_t __fd_lseek(int, off64_t, int)\00", align 1 +@.str.9 = private unnamed_addr constant [33 x i8] c"symbolic file, ignoring (ENOENT)\00", align 1 +@chmod.n_calls = internal global i32 0, align 4 +@fchmod.n_calls = internal global i32 0, align 4 +@.str.26 = private unnamed_addr constant [32 x i8] c"symbolic file, ignoring (EPERM)\00", align 1 +@__fd_ftruncate.n_calls = internal global i32 0, align 4 +@.str.10 = private unnamed_addr constant [30 x i8] c"symbolic file, ignoring (EIO)\00", align 1 +@.str.11 = private unnamed_addr constant [33 x i8] c"symbolic file, ignoring (EINVAL)\00", align 1 +@.str.12 = private unnamed_addr constant [18 x i8] c"s != (off64_t) -1\00", align 1 +@__PRETTY_FUNCTION__.__fd_getdents = private unnamed_addr constant [65 x i8] c"int __fd_getdents(unsigned int, struct dirent64 *, unsigned int)\00", align 1 +@.str.13 = private unnamed_addr constant [22 x i8] c"f->off != (off64_t)-1\00", align 1 +@.str.14 = private unnamed_addr constant [41 x i8] c"(TCGETS) symbolic file, incomplete model\00", align 1 +@.str.15 = private unnamed_addr constant [42 x i8] c"(TCSETS) symbolic file, silently ignoring\00", align 1 +@.str.16 = private unnamed_addr constant [43 x i8] c"(TCSETSW) symbolic file, silently ignoring\00", align 1 +@.str.17 = private unnamed_addr constant [43 x i8] c"(TCSETSF) symbolic file, silently ignoring\00", align 1 +@.str.18 = private unnamed_addr constant [45 x i8] c"(TIOCGWINSZ) symbolic file, incomplete model\00", align 1 +@.str.19 = private unnamed_addr constant [46 x i8] c"(TIOCSWINSZ) symbolic file, ignoring (EINVAL)\00", align 1 +@.str.20 = private unnamed_addr constant [43 x i8] c"(FIONREAD) symbolic file, incomplete model\00", align 1 +@.str.21 = private unnamed_addr constant [44 x i8] c"(MTIOCGET) symbolic file, ignoring (EINVAL)\00", align 1 +@.str.22 = private unnamed_addr constant [32 x i8] c"symbolic file, ignoring (EBADF)\00", align 1 +@.str.23 = private unnamed_addr constant [17 x i8] c"ignoring (EPERM)\00", align 1 +@.str.24 = private unnamed_addr constant [18 x i8] c"ignoring (ENOENT)\00", align 1 +@__const.klee_init_env.sym_arg_name = private unnamed_addr constant [6 x i8] c"arg\00\00\00", align 1 +@.str.29 = private unnamed_addr constant [7 x i8] c"--help\00", align 1 +@.str.1.30 = private unnamed_addr constant [964 x i8] c"klee_init_env\0A\0Ausage: (klee_init_env) [options] [program arguments]\0A -sym-arg - Replace by a symbolic argument with length N\0A -sym-args - Replace by at least MIN arguments and at most\0A MAX arguments, each with maximum length N\0A -sym-files - Make NUM symbolic files ('A', 'B', 'C', etc.),\0A each with size N\0A -sym-stdin - Make stdin symbolic with size N.\0A -sym-stdout - Make stdout symbolic.\0A -save-all-writes - Allow write operations to execute as expected\0A even if they exceed the file size. If set to 0, all\0A writes exceeding the initial file size are discarded.\0A Note: file offset is always incremented.\0A -max-fail - Allow up to N injected failures\0A -fd-fail - Shortcut for '-max-fail 1'\0A\0A\00", align 1 +@.str.2.31 = private unnamed_addr constant [10 x i8] c"--sym-arg\00", align 1 +@.str.3.32 = private unnamed_addr constant [9 x i8] c"-sym-arg\00", align 1 +@.str.4.33 = private unnamed_addr constant [48 x i8] c"--sym-arg expects an integer argument \00", align 1 +@.str.5.34 = private unnamed_addr constant [45 x i8] c"No more than 100 symbolic arguments allowed.\00", align 1 +@.str.6.35 = private unnamed_addr constant [11 x i8] c"--sym-args\00", align 1 +@.str.7.36 = private unnamed_addr constant [10 x i8] c"-sym-args\00", align 1 +@.str.8.37 = private unnamed_addr constant [77 x i8] c"--sym-args expects three integer arguments \00", align 1 +@.str.9.38 = private unnamed_addr constant [28 x i8] c"Invalid range to --sym-args\00", align 1 +@.str.10.39 = private unnamed_addr constant [7 x i8] c"n_args\00", align 1 +@.str.11.40 = private unnamed_addr constant [12 x i8] c"--sym-files\00", align 1 +@.str.12.41 = private unnamed_addr constant [11 x i8] c"-sym-files\00", align 1 +@.str.13.42 = private unnamed_addr constant [72 x i8] c"--sym-files expects two integer arguments \00", align 1 +@.str.14.43 = private unnamed_addr constant [39 x i8] c"Multiple --sym-files are not allowed.\0A\00", align 1 +@.str.15.44 = private unnamed_addr constant [65 x i8] c"The first argument to --sym-files (number of files) cannot be 0\0A\00", align 1 +@.str.16.45 = private unnamed_addr constant [60 x i8] c"The second argument to --sym-files (file size) cannot be 0\0A\00", align 1 +@.str.17.46 = private unnamed_addr constant [12 x i8] c"--sym-stdin\00", align 1 +@.str.18.47 = private unnamed_addr constant [11 x i8] c"-sym-stdin\00", align 1 +@.str.19.48 = private unnamed_addr constant [57 x i8] c"--sym-stdin expects one integer argument \00", align 1 +@.str.20.49 = private unnamed_addr constant [13 x i8] c"--sym-stdout\00", align 1 +@.str.21.50 = private unnamed_addr constant [12 x i8] c"-sym-stdout\00", align 1 +@.str.22.51 = private unnamed_addr constant [18 x i8] c"--save-all-writes\00", align 1 +@.str.23.52 = private unnamed_addr constant [17 x i8] c"-save-all-writes\00", align 1 +@.str.24.53 = private unnamed_addr constant [10 x i8] c"--fd-fail\00", align 1 +@.str.25.54 = private unnamed_addr constant [9 x i8] c"-fd-fail\00", align 1 +@.str.26.55 = private unnamed_addr constant [12 x i8] c"--bout-file\00", align 1 +@.str.27.56 = private unnamed_addr constant [11 x i8] c"-bout-file\00", align 1 +@.str.28.57 = private unnamed_addr constant [11 x i8] c"--max-fail\00", align 1 +@.str.29.58 = private unnamed_addr constant [10 x i8] c"-max-fail\00", align 1 +@.str.30 = private unnamed_addr constant [54 x i8] c"--max-fail expects an integer argument \00", align 1 +@.str.31 = private unnamed_addr constant [31 x i8] c"out of memory in klee_init_env\00", align 1 +@.str.35 = private unnamed_addr constant [37 x i8] c"too many arguments for klee_init_env\00", align 1 +@.str.32 = private unnamed_addr constant [88 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/klee_init_env.c\00", align 1 +@.str.33 = private unnamed_addr constant [9 x i8] c"user.err\00", align 1 +@.str.34 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.68 = private unnamed_addr constant [5 x i8] c"file\00", align 1 +@.str.1.69 = private unnamed_addr constant [5 x i8] c"/tmp\00", align 1 +@.str.2.70 = private unnamed_addr constant [16 x i8] c"%.*s/%.*sXXXXXX\00", align 1 +@.str.3.73 = private unnamed_addr constant [7 x i8] c"XXXXXX\00", align 1 +@letters = internal constant [63 x i8] c"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\00", align 16 +@brain_damaged_fillrand.value = internal global i64 0, align 8 +@.str.4.74 = private unnamed_addr constant [13 x i8] c"/dev/urandom\00", align 1 +@.str.5.75 = private unnamed_addr constant [12 x i8] c"/dev/random\00", align 1 +@__global_locale_data = global %struct.__uclibc_locale_struct.201 zeroinitializer, align 8 +@__global_locale = global %struct.__uclibc_locale_struct.201* @__global_locale_data, align 8 +@__curlocale_var = global %struct.__uclibc_locale_struct.201* @__global_locale_data, align 8 +@utf8 = internal constant [6 x i8] c"UTF-8\00", align 1 +@ascii = internal constant [6 x i8] c"ASCII\00", align 1 +@__code2flag = internal constant [16 x i16] [i16 0, i16 -15352, i16 -14840, i16 -14584, i16 -15096, i16 -14328, i16 -16380, i16 -16384, i16 24576, i16 24577, i16 8192, i16 8193, i16 8194, i16 8195, i16 2, i16 0], align 16 +@.str.76 = private unnamed_addr constant [14 x i8] c"#\80\80\80\80\80\80\80\80\80\80\80\80\00", align 1 +@stdin = global %struct.__STDIO_FILE_STRUCT.568* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i32 0, i32 0), align 8 +@_stdio_streams = internal global [3 x %struct.__STDIO_FILE_STRUCT.568] [%struct.__STDIO_FILE_STRUCT.568 { i16 544, [2 x i8] zeroinitializer, i32 0, i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 88) to %struct.__STDIO_FILE_STRUCT.568*), [2 x i32] zeroinitializer, %struct.__mbstate_t.512 zeroinitializer, i8* null }, %struct.__STDIO_FILE_STRUCT.568 { i16 528, [2 x i8] zeroinitializer, i32 1, i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 176) to %struct.__STDIO_FILE_STRUCT.568*), [2 x i32] zeroinitializer, %struct.__mbstate_t.512 zeroinitializer, i8* null }, %struct.__STDIO_FILE_STRUCT.568 { i16 528, [2 x i8] zeroinitializer, i32 2, i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, %struct.__STDIO_FILE_STRUCT.568* null, [2 x i32] zeroinitializer, %struct.__mbstate_t.512 zeroinitializer, i8* null }], align 16 +@stdout = global %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 88) to %struct.__STDIO_FILE_STRUCT.568*), align 8 +@stderr = global %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 176) to %struct.__STDIO_FILE_STRUCT.568*), align 8 +@__stdin = global %struct.__STDIO_FILE_STRUCT.568* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i32 0, i32 0), align 8 +@__stdout = global %struct.__STDIO_FILE_STRUCT.568* bitcast (i8* getelementptr (i8, i8* bitcast ([3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams to i8*), i64 88) to %struct.__STDIO_FILE_STRUCT.568*), align 8 +@_stdio_openlist = global %struct.__STDIO_FILE_STRUCT.568* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i32 0, i32 0), align 8 +@been_there_done_that = internal global i32 0, align 4 +@__exit_cleanup = hidden global void (i32)* null, align 8 +@Version = dso_local global i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.28.95, i32 0, i32 0), align 8 +@.str.28.95 = private unnamed_addr constant [5 x i8] c"8.32\00", align 1 +@exit_failure = dso_local global i32 1, align 4 +@program_name = dso_local global i8* null, align 8 +@quoting_style_args = dso_local constant [11 x i8*] [i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.43, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1.44, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.2.45, i32 0, i32 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.3.46, i32 0, i32 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.4.47, i32 0, i32 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.5.48, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.6.49, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.7.50, i32 0, i32 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.8.51, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.9.52, i32 0, i32 0), i8* null], align 16 +@.str.43 = private unnamed_addr constant [8 x i8] c"literal\00", align 1 +@.str.1.44 = private unnamed_addr constant [6 x i8] c"shell\00", align 1 +@.str.2.45 = private unnamed_addr constant [13 x i8] c"shell-always\00", align 1 +@.str.3.46 = private unnamed_addr constant [13 x i8] c"shell-escape\00", align 1 +@.str.4.47 = private unnamed_addr constant [20 x i8] c"shell-escape-always\00", align 1 +@.str.5.48 = private unnamed_addr constant [2 x i8] c"c\00", align 1 +@.str.6.49 = private unnamed_addr constant [8 x i8] c"c-maybe\00", align 1 +@.str.7.50 = private unnamed_addr constant [7 x i8] c"escape\00", align 1 +@.str.8.51 = private unnamed_addr constant [7 x i8] c"locale\00", align 1 +@.str.9.52 = private unnamed_addr constant [8 x i8] c"clocale\00", align 1 +@quoting_style_vals = dso_local constant [10 x i32] [i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9], align 16 +@quote_quoting_options = dso_local global %struct.quoting_options { i32 8, i32 0, [8 x i32] zeroinitializer, i8* null, i8* null }, align 8 +@version_etc_copyright = dso_local constant [47 x i8] c"Copyright %s %d Free Software Foundation, Inc.\00", align 16 +@.str.96 = private unnamed_addr constant [61 x i8] c"Usage: %s [ignored command line arguments]\0A or: %s OPTION\0A\00", align 1 +@.str.1.97 = private unnamed_addr constant [5 x i8] c"%s\0A\0A\00", align 1 +@.str.2.98 = private unnamed_addr constant [44 x i8] c"Exit with a status code indicating success.\00", align 1 +@.str.3.99 = private unnamed_addr constant [45 x i8] c" --help display this help and exit\0A\00", align 1 +@.str.4.100 = private unnamed_addr constant [54 x i8] c" --version output version information and exit\0A\00", align 1 +@.str.5.101 = private unnamed_addr constant [191 x i8] c"\0ANOTE: your shell may have its own version of %s, which usually supersedes\0Athe version described here. Please refer to your shell's documentation\0Afor details about the options it supports.\0A\00", align 1 +@.str.6.102 = private unnamed_addr constant [5 x i8] c"true\00", align 1 +@__const.emit_ancillary_info.infomap = private unnamed_addr constant [7 x %struct.infomap] [%struct.infomap { i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.112, i32 0, i32 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.13.113, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.14.114, i32 0, i32 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.15.115, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.16.116, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.17.117, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.18.118, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.17.117, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.19.119, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.17.117, i32 0, i32 0) }, %struct.infomap { i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.20.120, i32 0, i32 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.17.117, i32 0, i32 0) }, %struct.infomap zeroinitializer], align 16 +@.str.21.103 = private unnamed_addr constant [23 x i8] c"\0A%s online help: <%s>\0A\00", align 1 +@.str.10.104 = private unnamed_addr constant [14 x i8] c"GNU coreutils\00", align 1 +@.str.22.105 = private unnamed_addr constant [40 x i8] c"https://www.gnu.org/software/coreutils/\00", align 1 +@.str.23.106 = private unnamed_addr constant [4 x i8] c"en_\00", align 1 +@.str.24.107 = private unnamed_addr constant [71 x i8] c"Report any translation bugs to \0A\00", align 1 +@.str.25.108 = private unnamed_addr constant [27 x i8] c"Full documentation <%s%s>\0A\00", align 1 +@.str.27.109 = private unnamed_addr constant [12 x i8] c" invocation\00", align 1 +@.str.7.110 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@.str.26.111 = private unnamed_addr constant [51 x i8] c"or available locally via: info '(coreutils) %s%s'\0A\00", align 1 +@.str.12.112 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@.str.13.113 = private unnamed_addr constant [16 x i8] c"test invocation\00", align 1 +@.str.14.114 = private unnamed_addr constant [10 x i8] c"coreutils\00", align 1 +@.str.15.115 = private unnamed_addr constant [22 x i8] c"Multi-call invocation\00", align 1 +@.str.16.116 = private unnamed_addr constant [10 x i8] c"sha224sum\00", align 1 +@.str.17.117 = private unnamed_addr constant [15 x i8] c"sha2 utilities\00", align 1 +@.str.18.118 = private unnamed_addr constant [10 x i8] c"sha256sum\00", align 1 +@.str.19.119 = private unnamed_addr constant [10 x i8] c"sha384sum\00", align 1 +@.str.20.120 = private unnamed_addr constant [10 x i8] c"sha512sum\00", align 1 +@.str.8.123 = private unnamed_addr constant [7 x i8] c"--help\00", align 1 +@.str.9.124 = private unnamed_addr constant [10 x i8] c"--version\00", align 1 +@.str.11.125 = private unnamed_addr constant [13 x i8] c"Jim Meyering\00", align 1 +@.str.64 = private unnamed_addr constant [12 x i8] c"%s (%s) %s\0A\00", align 1 +@.str.1.65 = private unnamed_addr constant [7 x i8] c"%s %s\0A\00", align 1 +@.str.2.66 = private unnamed_addr constant [4 x i8] c"(C)\00", align 1 +@.str.3.67 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.4.68 = private unnamed_addr constant [171 x i8] c"License GPLv3+: GNU GPL version 3 or later <%s>.\0AThis is free software: you are free to change and redistribute it.\0AThere is NO WARRANTY, to the extent permitted by law.\0A\00", align 1 +@.str.5.69 = private unnamed_addr constant [34 x i8] c"https://gnu.org/licenses/gpl.html\00", align 1 +@.str.6.70 = private unnamed_addr constant [16 x i8] c"Written by %s.\0A\00", align 1 +@.str.7.71 = private unnamed_addr constant [23 x i8] c"Written by %s and %s.\0A\00", align 1 +@.str.8.72 = private unnamed_addr constant [28 x i8] c"Written by %s, %s, and %s.\0A\00", align 1 +@.str.9.73 = private unnamed_addr constant [32 x i8] c"Written by %s, %s, %s,\0Aand %s.\0A\00", align 1 +@.str.10.74 = private unnamed_addr constant [36 x i8] c"Written by %s, %s, %s,\0A%s, and %s.\0A\00", align 1 +@.str.11.75 = private unnamed_addr constant [40 x i8] c"Written by %s, %s, %s,\0A%s, %s, and %s.\0A\00", align 1 +@.str.12.76 = private unnamed_addr constant [44 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, and %s.\0A\00", align 1 +@.str.13.77 = private unnamed_addr constant [48 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, %s,\0Aand %s.\0A\00", align 1 +@.str.14.78 = private unnamed_addr constant [52 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, %s,\0A%s, and %s.\0A\00", align 1 +@.str.15.79 = private unnamed_addr constant [60 x i8] c"Written by %s, %s, %s,\0A%s, %s, %s, %s,\0A%s, %s, and others.\0A\00", align 1 +@ignore_EPIPE = internal global i8 0, align 1 +@.str.31.126 = private unnamed_addr constant [12 x i8] c"write error\00", align 1 +@file_name = internal global i8* null, align 8 +@.str.1.32 = private unnamed_addr constant [7 x i8] c"%s: %s\00", align 1 +@.str.2.33 = private unnamed_addr constant [3 x i8] c"%s\00", align 1 +@default_quoting_options = internal global %struct.quoting_options zeroinitializer, align 8 +@slotvec = internal global %struct.slotvec* @slotvec0, align 8 +@nslots = internal global i32 1, align 4 +@slotvec0 = internal global %struct.slotvec { i64 256, i8* getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i32 0, i32 0) }, align 8 +@slot0 = internal global [256 x i8] zeroinitializer, align 16 +@.str.10.53 = private unnamed_addr constant [2 x i8] c"\22\00", align 1 +@.str.11.54 = private unnamed_addr constant [2 x i8] c"`\00", align 1 +@.str.12.55 = private unnamed_addr constant [2 x i8] c"'\00", align 1 +@.str.109 = private unnamed_addr constant [2 x i8] c"C\00", align 1 +@.str.1.110 = private unnamed_addr constant [6 x i8] c"POSIX\00", align 1 +@.str.13.56 = private unnamed_addr constant [6 x i8] c"UTF-8\00", align 1 +@.str.14.57 = private unnamed_addr constant [4 x i8] c"\E2\80\98\00", align 1 +@.str.15.58 = private unnamed_addr constant [4 x i8] c"\E2\80\99\00", align 1 +@.str.16.59 = private unnamed_addr constant [8 x i8] c"GB18030\00", align 1 +@.str.17.60 = private unnamed_addr constant [4 x i8] c"\A1\07e\00", align 1 +@.str.18.61 = private unnamed_addr constant [3 x i8] c"\A1\AF\00", align 1 +@.str.113 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@.str.1.114 = private unnamed_addr constant [6 x i8] c"ASCII\00", align 1 +@.str.99 = private unnamed_addr constant [3 x i8] c"%s\00", align 1 +@.str.1.100 = private unnamed_addr constant [17 x i8] c"memory exhausted\00", align 1 +@.str.40 = private unnamed_addr constant [56 x i8] c"A NULL argv[0] was passed through an exec system call.\0A\00", align 1 +@.str.1.41 = private unnamed_addr constant [8 x i8] c"/.libs/\00", align 1 +@.str.2.42 = private unnamed_addr constant [4 x i8] c"lt-\00", align 1 +@.str.16.82 = private unnamed_addr constant [20 x i8] c"Report bugs to: %s\0A\00", align 1 +@.str.17.83 = private unnamed_addr constant [22 x i8] c"bug-coreutils@gnu.org\00", align 1 +@.str.18.84 = private unnamed_addr constant [20 x i8] c"%s home page: <%s>\0A\00", align 1 +@.str.19.85 = private unnamed_addr constant [14 x i8] c"GNU coreutils\00", align 1 +@.str.20.86 = private unnamed_addr constant [40 x i8] c"https://www.gnu.org/software/coreutils/\00", align 1 +@.str.21.87 = private unnamed_addr constant [39 x i8] c"General help using GNU software: <%s>\0A\00", align 1 +@.str.22.88 = private unnamed_addr constant [29 x i8] c"https://www.gnu.org/gethelp/\00", align 1 +@__exe_env = dso_local global { <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] } { <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }> <{ %struct.exe_file_t { i32 0, i32 5, i64 0, %struct.exe_disk_file_t* null }, %struct.exe_file_t { i32 1, i32 9, i64 0, %struct.exe_disk_file_t* null }, %struct.exe_file_t { i32 2, i32 9, i64 0, %struct.exe_disk_file_t* null }, [29 x %struct.exe_file_t] zeroinitializer }>, i32 18, i32 0, i32 0, [4 x i8] undef }, align 8 +@__exe_fs = dso_local global %struct.exe_file_system_t zeroinitializer, align 8 +@__const.klee_init_fds.name = private unnamed_addr constant [7 x i8] c"?-data\00", align 1 +@.str.133 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@.str.1.134 = private unnamed_addr constant [82 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/fd_init.c\00", align 1 +@.str.2.135 = private unnamed_addr constant [31 x i8] c"out of memory in klee_init_env\00", align 1 +@.str.3.136 = private unnamed_addr constant [9 x i8] c"user.err\00", align 1 +@.str.4.138 = private unnamed_addr constant [6 x i8] c"stdin\00", align 1 +@.str.5.139 = private unnamed_addr constant [10 x i8] c"read_fail\00", align 1 +@.str.6.140 = private unnamed_addr constant [11 x i8] c"write_fail\00", align 1 +@.str.7.141 = private unnamed_addr constant [11 x i8] c"close_fail\00", align 1 +@.str.8.142 = private unnamed_addr constant [15 x i8] c"ftruncate_fail\00", align 1 +@.str.9.143 = private unnamed_addr constant [12 x i8] c"getcwd_fail\00", align 1 +@.str.10.144 = private unnamed_addr constant [7 x i8] c"stdout\00", align 1 +@.str.11.145 = private unnamed_addr constant [14 x i8] c"model_version\00", align 1 +@.str.13.146 = private unnamed_addr constant [6 x i8] c"-stat\00", align 1 +@.str.14.147 = private unnamed_addr constant [5 x i8] c"size\00", align 1 +@__PRETTY_FUNCTION__.__create_new_dfile = private unnamed_addr constant [88 x i8] c"void __create_new_dfile(exe_disk_file_t *, unsigned int, const char *, struct stat64 *)\00", align 1 +@.str.12.148 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.149 = private unnamed_addr constant [18 x i8] c"silently ignoring\00", align 1 +@.str.1.154 = private unnamed_addr constant [24 x i8] c"ignoring (EAFNOSUPPORT)\00", align 1 +@.str.11.156 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.2.159 = private unnamed_addr constant [15 x i8] c"ignoring (EIO)\00", align 1 +@.str.3.160 = private unnamed_addr constant [18 x i8] c"ignoring (ENFILE)\00", align 1 +@.str.4.161 = private unnamed_addr constant [17 x i8] c"ignoring (EPERM)\00", align 1 +@.str.5.162 = private unnamed_addr constant [13 x i8] c"returning 0\0A\00", align 1 +@.str.6.163 = private unnamed_addr constant [40 x i8] c"setting all times to 0 and returning 0\0A\00", align 1 +@.str.7.164 = private unnamed_addr constant [17 x i8] c"ignoring (EBADF)\00", align 1 +@.str.8.167 = private unnamed_addr constant [21 x i8] c"ignoring (-1 result)\00", align 1 +@.str.9.168 = private unnamed_addr constant [18 x i8] c"ignoring (ECHILD)\00", align 1 +@.str.10.169 = private unnamed_addr constant [32 x i8] c"silently ignoring (returning 0)\00", align 1 +@__locale_mmap = global %struct.__locale_mmap_t.203* @locale_mmap, align 8 +@locale_mmap = internal constant %struct.__locale_mmap_t.203 { [420 x i8] c"\EE\EE\EE\EE\06afffffff$$$$$$$$$$\06\00\00\00\00D&fffdDDbfff`b\22\22FBFfddfFf$\22fbbB\22DDDD\22\22\22\22\06&fff`\00\00`fffff&ff`ffff\11a\06\00\00\00\11\11\11\11\11\01`\06\EE&fffd\E4\EEnffffb\E2Nfaff\11\11\11\22\22\22\22bDDDdDDD$FDDdDDdD&\22\22b\22\22b\22\22\22\22\12bbf&Fb$dd$dF$$$F\22BB\22fffdbaffff$fba$dFBfdbddBf$df\22b$$FFFdFDdD&&&b&\22b\22Ff\06dFDd@&f&b&\22b D\04DD@DDd\22\02\22\22 \22\22bFAFdFDdd&\22B\22FDDD&\22\22\22\06\00\06\00\00\00f\00\00`\00`\10\11\11\11\11\01\00\00\11afff\06\00\00ff\00ff`f`DddDADDDD@DDDD\22\22!\22\22\22\22\22\22\02\06ffffff\06\00\00\00`f&fffFff\22Fff`b$\04dfff``\00\00 $&f\00`f\06fF@f``\00`f&b\22fFdDffFf\11\11\11a\11\01\00`\11\11\11\16\11f\00\00", [504 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00{}\00\00\00{\00\7F\7F\00\00\00\00\00\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\00\00\F0\FE\00\FE\00\00\00\00\00\00\F0\00\F0\F0\F0\F0\F0\00\00\00\00\00\00\00\00\FF\FF\E7\00\F1\00\00\F0\00\F0\00\00\00\00\F0\00\00\FF\FF\F1\00\00\00\F0\00\F0\00\E7\FF\FF\F0\E0\E0\E0\E0\E0\E0\E0\E0\00\00\F0\00\F0\00\00\00\00\00\F0\00\F0\00\00\A0\00\00\00\00\00\00\00\A0\E0\E0\E0\E0\E0\E0\E0\00\00\F0\F0\F0\F0\F0\F0\00\F0\F0\F0\F0\F0\00\F0\F0\00\FF\FF\00\FF\FF\FB\00\F0\00\F0\FB\F0\00\00\B0\FF\FF\FF\FF\FF\FF\00\FE\F0\FE\F0\FC\F0\FF\FF\FC\E0\E0\E0\E0\E0\E0\E0\B0\00\00\00\00\00\00\FE\00\FE\00\00\00\00\00\00\00\00\00\00\00\FC\00\00\00\FC\00\00\00\FF\FF\BF\00\E0\E0\E0\E0\E0\E0\E0\BF\00\FF\FF\F0\00\00\FE\00\FE\00\F0\00\FE\00\FE\F0\00\00\F9\F0\FC\00\00\00\FC\F9\F0\00\FF\FF\BF\F0\00\F0\00\F0\00\F0\F0\00\00\F0\F0\F0\F0\00\F0\F0\00\F0\00\00\00\00\F0\00\00@\F0\F0\F0\00\00\F0\00\90\F0\F0\F0\00\00\F0\E0\E0\E0\00\E0\E0\E0\E0\00\E0\E0\E0\E0\E0\E0\00\00\F0\F0\F0\F0\00\F0\00\00\F0\F0\F0\F0\FE\F0\FE\00\B0\B0\B0\B0\B0\B0\B0\B0\B0\B0\B0\B0\00\B0\B0\00\00\00\00\00\00\DA\00\DB\DB\DB\00\C0\00\C1\C1\00\E0\E0\E0\E0\E0\E0\E0\E0\E0\00\E0\E0\E0\E0\E0\E0\E0\E0\E0\DA\DB\DB\DB\E0\E0\E1\E0\E0\E0\E0\E0\E0\E0\E0\E0\C0\C1\C1\00\E0\E0\E0\E0\E0t\E0\00\E0\E0\E0\E0\E0L\E0\00\00\00\00\10\00\00\00\00 \10\02\00\02\00\00\00\00\00\00\02\00\02\01\01\00\10\00\00\00\00\00\00\00\00\01\01\10\00\10\00\00\00\00\00\10\00\10\00\00\00\00\00\10\10\00\10\10\00\00\00\00\00\10\00\00", [1760 x i16] [i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 0, i16 1415, i16 1417, i16 41, i16 40, i16 187, i16 171, i16 8212, i16 46, i16 1373, i16 44, i16 45, i16 1418, i16 8230, i16 1372, i16 1371, i16 1374, i16 1329, i16 1377, i16 1330, i16 1378, i16 1331, i16 1379, i16 1332, i16 1380, i16 1333, i16 1381, i16 1334, i16 1382, i16 1335, i16 1383, i16 1336, i16 1384, i16 1337, i16 1385, i16 1338, i16 1386, i16 1339, i16 1387, i16 1340, i16 1388, i16 1341, i16 1389, i16 1342, i16 1390, i16 1343, i16 1391, i16 1344, i16 1392, i16 1345, i16 1393, i16 1346, i16 1394, i16 1347, i16 1395, i16 1348, i16 1396, i16 1349, i16 1397, i16 1350, i16 1398, i16 1351, i16 1399, i16 1352, i16 1400, i16 1353, i16 1401, i16 1354, i16 1402, i16 1355, i16 1403, i16 1356, i16 1404, i16 1357, i16 1405, i16 1358, i16 1406, i16 1359, i16 1407, i16 1360, i16 1408, i16 1361, i16 1409, i16 1362, i16 1410, i16 1363, i16 1411, i16 1364, i16 1412, i16 1365, i16 1413, i16 1366, i16 1414, i16 1370, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1026, i16 1027, i16 8218, i16 1107, i16 8222, i16 8230, i16 8224, i16 8225, i16 8364, i16 8240, i16 1033, i16 8249, i16 1034, i16 1036, i16 1035, i16 1039, i16 1106, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 0, i16 8482, i16 1113, i16 8250, i16 1114, i16 1116, i16 1115, i16 1119, i16 160, i16 1038, i16 1118, i16 1032, i16 164, i16 1168, i16 166, i16 167, i16 1025, i16 169, i16 1028, i16 171, i16 172, i16 173, i16 174, i16 1031, i16 176, i16 177, i16 1030, i16 1110, i16 1169, i16 181, i16 182, i16 183, i16 1105, i16 8470, i16 1108, i16 187, i16 1112, i16 1029, i16 1109, i16 1111, i16 1040, i16 1041, i16 1042, i16 1043, i16 1044, i16 1045, i16 1046, i16 1047, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 1058, i16 1059, i16 1060, i16 1061, i16 1062, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1070, i16 1071, i16 1072, i16 1073, i16 1074, i16 1075, i16 1076, i16 1077, i16 1078, i16 1079, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1088, i16 1089, i16 1090, i16 1091, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1099, i16 1100, i16 1101, i16 1102, i16 1103, i16 8364, i16 0, i16 8218, i16 402, i16 8222, i16 8230, i16 8224, i16 8225, i16 710, i16 8240, i16 0, i16 8249, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 732, i16 8482, i16 0, i16 8250, i16 0, i16 0, i16 0, i16 0, i16 160, i16 161, i16 162, i16 163, i16 8362, i16 165, i16 166, i16 167, i16 168, i16 169, i16 215, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 247, i16 187, i16 188, i16 189, i16 190, i16 191, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 0, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 0, i16 0, i16 8206, i16 8207, i16 0, i16 128, i16 129, i16 8218, i16 402, i16 8222, i16 8230, i16 8224, i16 8225, i16 710, i16 8240, i16 352, i16 8249, i16 338, i16 141, i16 142, i16 143, i16 144, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 732, i16 8482, i16 353, i16 8250, i16 339, i16 157, i16 158, i16 376, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 4304, i16 4305, i16 4306, i16 4307, i16 4308, i16 4309, i16 4310, i16 4337, i16 4311, i16 4312, i16 4313, i16 4314, i16 4315, i16 4316, i16 4338, i16 4317, i16 4318, i16 4319, i16 4320, i16 4321, i16 4322, i16 4339, i16 4323, i16 4324, i16 4325, i16 4326, i16 4327, i16 4328, i16 4329, i16 4330, i16 4331, i16 4332, i16 4333, i16 4334, i16 4340, i16 4335, i16 4336, i16 4341, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 160, i16 260, i16 274, i16 290, i16 298, i16 296, i16 310, i16 167, i16 315, i16 272, i16 352, i16 358, i16 381, i16 173, i16 362, i16 330, i16 176, i16 261, i16 275, i16 291, i16 299, i16 297, i16 311, i16 183, i16 316, i16 273, i16 353, i16 359, i16 382, i16 8213, i16 363, i16 331, i16 256, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 302, i16 268, i16 201, i16 280, i16 203, i16 278, i16 205, i16 206, i16 207, i16 208, i16 325, i16 332, i16 211, i16 212, i16 213, i16 214, i16 360, i16 216, i16 370, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 257, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 303, i16 269, i16 233, i16 281, i16 235, i16 279, i16 237, i16 238, i16 239, i16 240, i16 326, i16 333, i16 243, i16 244, i16 245, i16 246, i16 361, i16 248, i16 371, i16 250, i16 251, i16 252, i16 253, i16 254, i16 312, i16 160, i16 8221, i16 162, i16 163, i16 164, i16 8222, i16 166, i16 167, i16 216, i16 169, i16 342, i16 171, i16 172, i16 173, i16 174, i16 198, i16 176, i16 177, i16 178, i16 179, i16 8220, i16 181, i16 182, i16 183, i16 248, i16 185, i16 343, i16 187, i16 188, i16 189, i16 190, i16 230, i16 260, i16 302, i16 256, i16 262, i16 196, i16 197, i16 280, i16 274, i16 268, i16 201, i16 377, i16 278, i16 290, i16 310, i16 298, i16 315, i16 352, i16 323, i16 325, i16 211, i16 332, i16 213, i16 214, i16 215, i16 370, i16 321, i16 346, i16 362, i16 220, i16 379, i16 381, i16 223, i16 261, i16 303, i16 257, i16 263, i16 228, i16 229, i16 281, i16 275, i16 269, i16 233, i16 378, i16 279, i16 291, i16 311, i16 299, i16 316, i16 353, i16 324, i16 326, i16 243, i16 333, i16 245, i16 246, i16 247, i16 371, i16 322, i16 347, i16 363, i16 252, i16 380, i16 382, i16 8217, i16 160, i16 7682, i16 7683, i16 163, i16 266, i16 267, i16 7690, i16 167, i16 7808, i16 169, i16 7810, i16 7691, i16 7922, i16 173, i16 174, i16 376, i16 7710, i16 7711, i16 288, i16 289, i16 7744, i16 7745, i16 182, i16 7766, i16 7809, i16 7767, i16 7811, i16 7776, i16 7923, i16 7812, i16 7813, i16 7777, i16 372, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 7786, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 374, i16 223, i16 373, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 7787, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 375, i16 255, i16 160, i16 161, i16 162, i16 163, i16 8364, i16 165, i16 352, i16 167, i16 353, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 381, i16 181, i16 182, i16 183, i16 382, i16 185, i16 186, i16 187, i16 338, i16 339, i16 376, i16 191, i16 160, i16 260, i16 261, i16 321, i16 8364, i16 171, i16 352, i16 167, i16 353, i16 169, i16 536, i16 8222, i16 377, i16 173, i16 378, i16 379, i16 176, i16 177, i16 268, i16 322, i16 381, i16 8221, i16 182, i16 183, i16 382, i16 269, i16 537, i16 187, i16 338, i16 339, i16 376, i16 380, i16 192, i16 193, i16 194, i16 258, i16 196, i16 262, i16 198, i16 199, i16 272, i16 323, i16 210, i16 211, i16 212, i16 336, i16 214, i16 346, i16 368, i16 217, i16 218, i16 219, i16 220, i16 280, i16 538, i16 223, i16 224, i16 225, i16 226, i16 259, i16 228, i16 263, i16 230, i16 231, i16 273, i16 324, i16 242, i16 243, i16 244, i16 337, i16 246, i16 347, i16 369, i16 249, i16 250, i16 251, i16 252, i16 281, i16 539, i16 255, i16 160, i16 260, i16 728, i16 321, i16 164, i16 317, i16 346, i16 167, i16 168, i16 352, i16 350, i16 356, i16 377, i16 173, i16 381, i16 379, i16 176, i16 261, i16 731, i16 322, i16 180, i16 318, i16 347, i16 711, i16 184, i16 353, i16 351, i16 357, i16 378, i16 733, i16 382, i16 380, i16 340, i16 193, i16 194, i16 258, i16 196, i16 313, i16 262, i16 199, i16 268, i16 201, i16 280, i16 203, i16 282, i16 205, i16 206, i16 270, i16 272, i16 323, i16 327, i16 211, i16 212, i16 336, i16 214, i16 215, i16 344, i16 366, i16 218, i16 368, i16 220, i16 221, i16 354, i16 223, i16 341, i16 225, i16 226, i16 259, i16 228, i16 314, i16 263, i16 231, i16 269, i16 233, i16 281, i16 235, i16 283, i16 237, i16 238, i16 271, i16 273, i16 324, i16 328, i16 243, i16 244, i16 337, i16 246, i16 247, i16 345, i16 367, i16 250, i16 369, i16 252, i16 253, i16 355, i16 729, i16 160, i16 294, i16 728, i16 163, i16 164, i16 0, i16 292, i16 167, i16 168, i16 304, i16 350, i16 286, i16 308, i16 173, i16 0, i16 379, i16 176, i16 295, i16 178, i16 179, i16 180, i16 181, i16 293, i16 183, i16 184, i16 305, i16 351, i16 287, i16 309, i16 189, i16 0, i16 380, i16 192, i16 193, i16 194, i16 0, i16 196, i16 266, i16 264, i16 199, i16 0, i16 209, i16 210, i16 211, i16 212, i16 288, i16 214, i16 215, i16 284, i16 217, i16 218, i16 219, i16 220, i16 364, i16 348, i16 223, i16 224, i16 225, i16 226, i16 0, i16 228, i16 267, i16 265, i16 231, i16 0, i16 241, i16 242, i16 243, i16 244, i16 289, i16 246, i16 247, i16 285, i16 249, i16 250, i16 251, i16 252, i16 365, i16 349, i16 729, i16 160, i16 260, i16 312, i16 342, i16 164, i16 296, i16 315, i16 167, i16 168, i16 352, i16 274, i16 290, i16 358, i16 173, i16 381, i16 175, i16 176, i16 261, i16 731, i16 343, i16 180, i16 297, i16 316, i16 711, i16 184, i16 353, i16 275, i16 291, i16 359, i16 330, i16 382, i16 331, i16 268, i16 201, i16 280, i16 203, i16 278, i16 205, i16 206, i16 298, i16 272, i16 325, i16 332, i16 310, i16 212, i16 213, i16 214, i16 215, i16 216, i16 370, i16 218, i16 219, i16 220, i16 360, i16 362, i16 223, i16 269, i16 233, i16 281, i16 235, i16 279, i16 237, i16 238, i16 299, i16 273, i16 326, i16 333, i16 311, i16 244, i16 245, i16 246, i16 247, i16 248, i16 371, i16 250, i16 251, i16 252, i16 361, i16 363, i16 729, i16 160, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 173, i16 1038, i16 1039, i16 8470, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 167, i16 1118, i16 1119, i16 160, i16 0, i16 0, i16 0, i16 164, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1548, i16 173, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1563, i16 0, i16 0, i16 0, i16 1567, i16 0, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1611, i16 1612, i16 1613, i16 1614, i16 1615, i16 1616, i16 1617, i16 1618, i16 0, i16 0, i16 0, i16 0, i16 0, i16 160, i16 8216, i16 8217, i16 163, i16 0, i16 0, i16 166, i16 167, i16 168, i16 169, i16 0, i16 171, i16 172, i16 173, i16 0, i16 8213, i16 176, i16 177, i16 178, i16 179, i16 900, i16 901, i16 902, i16 183, i16 904, i16 905, i16 906, i16 187, i16 908, i16 189, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 918, i16 919, i16 920, i16 921, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 929, i16 0, i16 931, i16 932, i16 933, i16 934, i16 935, i16 936, i16 937, i16 938, i16 939, i16 940, i16 941, i16 942, i16 943, i16 944, i16 945, i16 946, i16 947, i16 948, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 964, i16 965, i16 966, i16 967, i16 968, i16 969, i16 970, i16 971, i16 972, i16 973, i16 974, i16 0, i16 160, i16 0, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 184, i16 185, i16 247, i16 187, i16 188, i16 189, i16 190, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8215, i16 286, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 304, i16 350, i16 223, i16 287, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 305, i16 351, i16 255, i16 9472, i16 9474, i16 9484, i16 9488, i16 9492, i16 9496, i16 9500, i16 9508, i16 9516, i16 9524, i16 9532, i16 9600, i16 9604, i16 9608, i16 9612, i16 9616, i16 9617, i16 9618, i16 9619, i16 8992, i16 9632, i16 8729, i16 8730, i16 8776, i16 8804, i16 8805, i16 160, i16 8993, i16 176, i16 178, i16 183, i16 247, i16 9552, i16 9553, i16 9554, i16 1105, i16 9555, i16 9556, i16 9557, i16 9558, i16 9559, i16 9560, i16 9561, i16 9562, i16 9563, i16 9564, i16 9565, i16 9566, i16 9567, i16 9568, i16 9569, i16 1025, i16 9570, i16 9571, i16 9572, i16 9573, i16 9574, i16 9575, i16 9576, i16 9577, i16 9578, i16 9579, i16 9580, i16 169, i16 1102, i16 1072, i16 1073, i16 1094, i16 1076, i16 1077, i16 1092, i16 1075, i16 1093, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1103, i16 1088, i16 1089, i16 1090, i16 1091, i16 1078, i16 1074, i16 1100, i16 1099, i16 1079, i16 1096, i16 1101, i16 1097, i16 1095, i16 1098, i16 1070, i16 1040, i16 1041, i16 1062, i16 1044, i16 1045, i16 1060, i16 1043, i16 1061, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1071, i16 1056, i16 1057, i16 1058, i16 1059, i16 1046, i16 1042, i16 1068, i16 1067, i16 1047, i16 1064, i16 1069, i16 1065, i16 1063, i16 1066, i16 1179, i16 1171, i16 8218, i16 1170, i16 8222, i16 8230, i16 8224, i16 8225, i16 0, i16 8240, i16 1203, i16 8249, i16 1202, i16 1207, i16 1206, i16 0, i16 1178, i16 8216, i16 8217, i16 8220, i16 8221, i16 8226, i16 8211, i16 8212, i16 0, i16 8482, i16 0, i16 8250, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1263, i16 1262, i16 1105, i16 164, i16 1251, i16 166, i16 167, i16 0, i16 0, i16 0, i16 171, i16 172, i16 173, i16 174, i16 0, i16 176, i16 177, i16 178, i16 1025, i16 0, i16 1250, i16 182, i16 183, i16 0, i16 8470, i16 0, i16 187, i16 0, i16 0, i16 0, i16 169, i16 9552, i16 9553, i16 9554, i16 1105, i16 1108, i16 9556, i16 1110, i16 1111, i16 9559, i16 9560, i16 9561, i16 9562, i16 9563, i16 1169, i16 9565, i16 9566, i16 9567, i16 9568, i16 9569, i16 1025, i16 1028, i16 9571, i16 1030, i16 1031, i16 9574, i16 9575, i16 9576, i16 9577, i16 9578, i16 1168, i16 9580, i16 169, i16 0, i16 3585, i16 3586, i16 3587, i16 3588, i16 3589, i16 3590, i16 3591, i16 3592, i16 3593, i16 3594, i16 3595, i16 3596, i16 3597, i16 3598, i16 3599, i16 3600, i16 3601, i16 3602, i16 3603, i16 3604, i16 3605, i16 3606, i16 3607, i16 3608, i16 3609, i16 3610, i16 3611, i16 3612, i16 3613, i16 3614, i16 3615, i16 3616, i16 3617, i16 3618, i16 3619, i16 3620, i16 3621, i16 3622, i16 3623, i16 3624, i16 3625, i16 3626, i16 3627, i16 3628, i16 3629, i16 3630, i16 3631, i16 3632, i16 3633, i16 3634, i16 3635, i16 3636, i16 3637, i16 3638, i16 3639, i16 3640, i16 3641, i16 3642, i16 0, i16 0, i16 0, i16 0, i16 3647, i16 3648, i16 3649, i16 3650, i16 3651, i16 3652, i16 3653, i16 3654, i16 3655, i16 3656, i16 3657, i16 3658, i16 3659, i16 3660, i16 3661, i16 3662, i16 3663, i16 3664, i16 3665, i16 3666, i16 3667, i16 3668, i16 3669, i16 3670, i16 3671, i16 3672, i16 3673, i16 3674, i16 3675, i16 0, i16 0, i16 0, i16 0], [4528 x i8] c"\00\00\01\00\00\00\00\00\02\03\04\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\06\07\08\09\0A\0B\00\00\00\00\00\00\00\00\0C\0D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\0F\00\00\00\00\10\11\12\13\14\15\00\00\00\16\00\00\00\00\00\00\00\17\18\19\00\00\00\00\00\00\1A\00\00\00\00\00\00\1B\1C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\1D\1E\00\1F\00 \00\00\00\00\00\00\00\00\00!\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\22#\00\00\00\00\00\00\00\00\00\00\00\00\00$%\13&'(\17\18\19\00\00\00\00\00\00)\00\00\00\00\00\00\00\1C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00*+,-\00\00.\14\00\00\00\00\00/01\00!\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00234\00\17\18\19\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03,-\11\12\13\14\00\00\00\00\00\00\00\00\02\0356789:;<=>?\00@A\00\00\00\00\00\00\00\00\00B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03CDEFGHIJKLMNOP\00\00\00\00\00\00\00\00\00Q\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03RS\11T\13UV\00W\00\00\00\00X\00\00\00\00\00\00\00\00YZ\00\00[\\]\00^\00\00\00\00\00\00_\00\00\00\00\00\00\00\00\02\03`a\11\12\13\14\00\00\00\00\00bcd\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00e\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03fghijklm\00\00nocp\00\00\00\00\00\00\00\00\00q\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00r\00\00\00\00\00\00\00\00e\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03stuvwxyz\00{|}~\7F\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\81\00\00\00\00\00\00\00\00\00\00\02\03\82\83\84\85\86\87\88\89\8A\8B\00\8C\8D\8E\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\8F\00\00\00\00\00\00\00\00\00\00\02\03\90t\91\92\93\94;\95\96\97\98\99\9A\9B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\9C\00\00\00\00\00\00\00\00\00\00\02\03\9D\00\00\00\00\00\9E-\11\12\13\9F\00\00\00\00\00\00\00\00\00\00\00\A0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03\A1\00\00\00\00\00\A2\A3\A4\A5\13\A6\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03\A7\A8\00\00\00\00\00\00\00\00\00\00\00\00\A9\11\AA\13\AB\00\00\00\00\AC\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03\AD\AE\00\1F\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\13&\00(\AF\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\03,-\11\B0\13\B1\00\B2\00\B3\00\B4\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B5\B6\00\00\00\B7\B8\B9\BA\BB\BC\BD\00\00\00\00\00\00\00\00\00\00\00\BE\00\00\BF\00\C0\00\00\00\00\00\00\00\00\00\00\00\C1\00\00\00\00\00\00\00\00\00\00\00\00\00\C2\C3\C4\C5\00\C6\C7\00\C8\C9\CA\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\CB\CC\00\00\00\00\B8\B9\BA\BB\BC\BD\00\00\00\CD\00\CE\00\00\CF\00\D0\B9\BA\BB\BC\D1\00\00\00\D2\00\00\00\00\00\00\C2\C3\C4\C5\00\D3\D4\00\C8\C9\CA\00\00\00\00\00\D5-\11\D6\13\D7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A5\A4\00\00\AB\AC\A9\00\80\81\82\83\84\85\86\87\88\89\8A\8B\8C\8D\8E\8F\90\91\92\93\94\95\96\97\98\99\9A\9B\9C\9D\9E\9F\A0\00\00\00\00\00\00\00\00\00\00\A7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A6\00\00\00\00\00\B2\B4\B6\B8\BA\BC\BE\C0\C2\C4\C6\C8\CA\CC\CE\D0\D2\D4\D6\D8\DA\DC\DE\E0\E2\E4\E6\E8\EA\EC\EE\F0\F2\F4\F6\F8\FA\FC\00\00\00\FE\B0\AF\AA\B1\00\00\B3\B5\B7\B9\BB\BD\BF\C1\C3\C5\C7\C9\CB\CD\CF\D1\D3\D5\D7\D9\DB\DD\DF\E1\E3\E5\E7\E9\EB\ED\EF\F1\F3\F5\F7\F9\FB\FD\A2\00\A3\AD\00\00\00\00\00\00\00\00\00\A8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\AE\00\00\00\00\00\00\00\00\00\A0\00\00\00\A4\00\A6\A7\00\A9\00\AB\AC\AD\AE\00\B0\B1\00\00\00\B5\B6\B7\00\00\00\BB\00\00\00\00\00\A8\80\81\AA\BD\B2\AF\A3\8A\8C\8E\8D\00\A1\8F\C0\C1\C2\C3\C4\C5\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\E0\E1\E2\E3\E4\E5\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\FD\FE\FF\00\B8\90\83\BA\BE\B3\BF\BC\9A\9C\9E\9D\00\A2\9F\A5\B4\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\96\97\00\00\00\91\92\82\00\93\94\84\00\86\87\95\00\00\00\85\00\00\00\00\00\00\00\00\00\89\00\00\00\00\00\00\00\00\8B\9B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\88\00\00\00\00\00\00\00\00\00\B9\00\00\00\00\00\00\00\00\00\00\00\99\00\00\00\00\00\00\00\00\00\00\00\00\00\A0\A1\A2\A3\00\A5\A6\A7\A8\A9\00\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\00\BB\BC\BD\BE\BF\00\00\00\00\00\00\00\AA\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\BA\00\00\00\00\00\00\00\00\00\00\83\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\88\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\98\00\00\00\C0\C1\C2\C3\C4\C5\C6\C7\C8\C9\00\CB\CC\CD\CE\CF\D0\D1\D2\D3\00\00\00\00\00\00\00\00\00\00\00\00\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\00\00\00\00\00\D4\D5\D6\D7\D8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\FD\FE\00\00\00\00\00\00\00\00\00\00\A4\00\80\00\00\00\80\81\00\00\00\00\00\00\00\00\00\00\00\8D\8E\8F\90\00\00\00\00\00\00\00\00\00\00\00\00\9D\9E\00\A0\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\BF\00\00\00\00\00\00\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\00\00\8C\9C\00\00\00\00\00\00\00\00\00\00\00\00\8A\9A\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\9F\00\00\00\00\00\00\00\C0\C1\C2\C3\C4\C5\C6\C8\C9\CA\CB\CC\CD\CF\D0\D1\D2\D3\D4\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\E0\E1\E3\E4\C7\CE\D5\E2\E5\00\00\00\00\00\00\00\00\00\00\A0\00\00\00\00\00\00\A7\00\00\00\00\00\AD\00\00\B0\00\00\00\00\00\00\B7\00\00\00\00\00\00\00\00\00\C1\C2\C3\C4\C5\C6\00\00\C9\00\CB\00\CD\CE\CF\D0\00\00\D3\D4\D5\D6\00\D8\00\DA\DB\DC\DD\DE\DF\00\E1\E2\E3\E4\E5\E6\00\00\E9\00\EB\00\ED\EE\EF\F0\00\00\F3\F4\F5\F6\00\F8\00\FA\FB\FC\FD\FE\00\C0\E0\00\00\A1\B1\00\00\00\00\00\00\C8\E8\00\00\A9\B9\A2\B2\00\00\CC\EC\CA\EA\00\00\00\00\00\00\00\00\A3\B3\00\00\00\00\A5\B5\A4\B4\00\00\C7\E7\00\00\00\00\00\00\A6\B6\FF\00\00\A8\B8\00\00\00\00\00\00\00\00\D1\F1\00\00\00\AF\BF\D2\F2\00\00\AA\BA\00\00\00\00\AB\BB\D7\F7\AE\BE\00\00\00\00\00\00\D9\F9\00\00\00\00\00\00\00\00\00\AC\BC\00\00\00\00\00\00\BD\00\00\00\00\00\00\00\00\00\00\A0\00\A2\A3\A4\00\A6\A7\00\A9\00\AB\AC\AD\AE\00\B0\B1\B2\B3\00\B5\B6\B7\00\B9\00\BB\BC\BD\BE\00\00\00\00\00\C4\C5\AF\00\00\C9\00\00\00\00\00\00\00\00\00\D3\00\D5\D6\D7\A8\00\00\00\DC\00\00\DF\00\00\00\00\E4\E5\BF\00\00\E9\00\00\00\00\00\00\00\00\00\F3\00\F5\F6\F7\B8\00\00\00\FC\00\00\00\C2\E2\00\00\C0\E0\C3\E3\00\00\00\00\C8\E8\00\00\00\00\C7\E7\00\00\CB\EB\C6\E6\00\00\00\00\00\00\00\00\CC\EC\00\00\00\00\00\00\CE\EE\00\00\C1\E1\00\00\00\00\00\00\CD\ED\00\00\00\CF\EF\00\00\00\00\D9\F9\D1\F1\D2\F2\00\00\00\00\00\D4\F4\00\00\00\00\00\00\00\00\AA\BA\00\00\DA\FA\00\00\00\00\D0\F0\00\00\00\00\00\00\00\00\DB\FB\00\00\00\00\00\00\D8\F8\00\00\00\00\00\CA\EA\DD\FD\DE\FE\00\00\00\00\00\00\00\00\00\00\FF\00\00\B4\A1\A5\00\A0\00\00\A3\00\00\00\A7\00\A9\00\00\00\AD\AE\00\00\00\00\00\00\00\B6\00\00\00\00\00\00\00\00\00\00\D1\D2\D3\D4\D5\D6\00\D8\D9\DA\DB\DC\DD\00\DF\00\F1\F2\F3\F4\F5\F6\00\F8\F9\FA\FB\FC\FD\00\FF\00\00\00\00\00\00\00\00\00\00\A4\A5\00\00\00\00\B2\B3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\D0\F0\DE\FE\AF\00\00\00\00\00\00\00\00\00\A1\A2\00\00\00\00\00\00\A6\AB\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B0\B1\B4\B5\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B7\B9\00\00\00\00\00\00\00\00\BB\BF\00\00\00\00\00\00\00\00\D7\F7\00\00\00\00\A8\B8\AA\BA\BD\BE\00\00\00\00\00\00\00\00\00\00\00\00\AC\BC\00\00\00\00\00\00\00\00\00\00\00\00\A0\A1\A2\A3\00\A5\00\A7\00\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B3\00\B5\B6\B7\00\B9\BA\BB\00\00\00\BF\00\00\BC\BD\00\00\00\00\00\00\00\00\00\00\00\00\A6\A8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\BE\00\00\00\00\B4\B8\00\00\00\00\00\00\00\00\00\00\00\00\00\A4\00\00\00\A0\00\00\00\00\00\00\A7\00\A9\00\A5\00\AD\00\00\B0\B1\00\00\00\00\B6\B7\00\00\00\BB\00\00\00\00\C0\C1\C2\00\C4\00\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\00\00\D2\D3\D4\00\D6\00\00\D9\DA\DB\DC\00\00\DF\E0\E1\E2\00\E4\00\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\00\00\F2\F3\F4\00\F6\00\00\F9\FA\FB\FC\00\00\FF\00\00\C3\E3\A1\A2\C5\E5\00\00\00\00\B2\B9\00\00\D0\F0\00\00\00\00\00\00\DD\FD\00\00\00\00\00\00\00\A3\B3\D1\F1\00\00\00\00\00\00\00\00\00\00\00\D5\F5\BC\BD\00\00\00\00\00\00\D7\F7\00\00\00\00\D8\F8\00\00\00\00\00\00\BE\AC\AE\AF\BF\B4\B8\00\00\00\00\00\00\00\00\00\AA\BA\DE\FE\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\B5\AB\00\A0\00\00\00\A4\00\00\A7\A8\00\00\00\00\AD\00\00\B0\00\00\00\B4\00\00\00\B8\00\00\00\00\00\00\00\00\C1\C2\00\C4\00\00\C7\00\C9\00\CB\00\CD\CE\00\00\00\00\D3\D4\00\D6\D7\00\00\DA\00\DC\DD\00\DF\00\E1\E2\00\E4\00\00\E7\00\E9\00\EB\00\ED\EE\00\00\00\00\F3\F4\00\F6\F7\00\00\FA\00\FC\FD\00\00\00\00\C3\E3\A1\B1\C6\E6\00\00\00\00\C8\E8\CF\EF\D0\F0\00\00\00\00\00\00\CA\EA\CC\EC\00\00\00\00\00\00\00\00\00\00\00\00\00\C5\E5\00\00\A5\B5\00\00\A3\B3\D1\F1\00\00\D2\F2\00\00\00\00\00\00\00\D5\F5\00\00\C0\E0\00\00\D8\F8\A6\B6\00\00\AA\BA\A9\B9\DE\FE\AB\BB\00\00\00\00\00\00\00\00\D9\F9\DB\FB\00\00\00\00\00\00\00\AC\BC\AF\BF\AE\BE\00\00\00\00\00\00\00\00\B7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A2\FF\00\B2\00\BD\00\00\A0\00\00\A3\A4\00\00\A7\A8\00\00\00\00\AD\00\00\B0\00\B2\B3\B4\B5\00\B7\B8\00\00\00\00\BD\00\00\C0\C1\C2\00\C4\00\00\C7\C8\C9\CA\CB\CC\CD\CE\CF\00\D1\D2\D3\D4\00\D6\D7\00\D9\DA\DB\DC\00\00\DF\E0\E1\E2\00\E4\00\00\E7\E8\E9\EA\EB\EC\ED\EE\EF\00\F1\F2\F3\F4\00\F6\F7\00\F9\FA\FB\FC\00\00\00\00\00\00\00\00\00\00\00\C6\E6\C5\E5\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\D8\F8\AB\BB\D5\F5\00\00\A6\B6\A1\B1\00\00\00\00\00\00\00\00\A9\B9\00\00\AC\BC\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\DE\FE\AA\BA\00\00\00\00\00\00\00\00\00\00\00\00\DD\FD\00\00\00\00\00\00\00\00\00\00\00\00\00\AF\BF\00\00\00\00\00\00\00\00\00\00\00\A2\FF\00\00\00\00\00\00\A0\00\00\00\A4\00\00\A7\A8\00\00\00\00\AD\00\AF\00\C1\C2\C3\C4\C5\C6\00\00\C9\00\CB\00\CD\CE\00\00\00\00\00\D4\D5\D6\D7\D8\00\DA\DB\DC\00\00\DF\00\E1\E2\E3\E4\E5\E6\00\00\E9\00\EB\00\ED\EE\00\00\00\00\00\F4\F5\F6\F7\F8\00\FA\FB\FC\00\00\00\D0\F0\AA\BA\00\00\CC\EC\CA\EA\00\00\00\00\00\00\00\00\AB\BB\00\00\00\00\A5\B5\CF\EF\00\00\C7\E7\00\00\00\00\00\00\D3\F3\A2\00\00\A6\B6\00\00\00\00\00\00\00\00\D1\F1\00\00\00\BD\BF\D2\F2\00\00\00\00\00\00\00\00\A3\B3\00\00\00\00\00\00\00\00\A9\B9\00\00\00\00\AC\BC\DD\FD\DE\FE\00\00\00\00\00\00\D9\F9\00\00\00\00\00\00\00\00\00\AE\BE\00\00\00\00\00\00\00\00\00\00\FF\00\B2\00\00\00\00\A0\00\00\00\00\00\00\FD\00\00\00\00\00\AD\00\00\00\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\00\AE\AF\00\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\00\FE\FF\00\00\00\00\00\00\F0\00\00\00\00\00\00\00\00\00\A0\00\00\00\A4\00\00\00\00\00\00\00\00\AD\00\00\00\00\00\00\00\00\00\00\00\00\00\00\AC\00\00\00\00\00\00\00\00\00\00\00\00\00\00\BB\00\00\00\BF\00\C1\C2\C3\C4\C5\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\00\00\00\00\00\F0\F1\F2\00\00\00\00\00\00\00\00\00\00\00\00\00\A0\00\00\A3\00\00\A6\A7\A8\A9\00\AB\AC\AD\00\00\B0\B1\B2\B3\00\00\00\B7\00\00\00\BB\00\BD\00\00\00\00\00\00\B4\B5\B6\00\B8\B9\BA\00\BC\00\BE\BF\D0\D1\00\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\FD\FE\00\00\00\00\00\00\AF\00\00\A1\A2\00\00\00\00\00\00\A0\00\A2\A3\A4\A5\A6\A7\A8\A9\00\AB\AC\AD\AE\AF\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\00\BB\BC\BD\BE\00\00\00\00\00\00\00\00\DF\00\00\00\00\00\00\00\00\00\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\00\00\DF\00\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\FC\00\00\FF\00\00\00\00\00\00\00\00\00\00\00\00\00\00\D0\F0\DD\FD\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\DE\FE\9A\00\00\00\00\00\00\00\00\BF\00\00\00\00\00\00\9C\00\9D\00\00\00\00\9E\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\9F\00\00\00\00\00\00\00\00\00\B3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E1\E2\F7\E7\E4\E5\F6\FA\E9\EA\EB\EC\ED\EE\EF\F0\F2\F3\F4\F5\E6\E8\E3\FE\FB\FD\FF\F9\F8\FC\E0\F1\C1\C2\D7\C7\C4\C5\D6\DA\C9\CA\CB\CC\CD\CE\CF\D0\D2\D3\D4\D5\C6\C8\C3\DE\DB\DD\DF\D9\D8\DC\C0\D1\00\A3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\95\96\00\00\00\00\00\00\00\00\00\00\00\00\00\97\00\00\00\00\00\00\00\00\00\00\00\98\99\00\00\00\00\00\00\00\00\00\00\93\9B\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\00\81\00\00\00\00\00\00\00\00\00\82\00\00\00\83\00\00\00\84\00\00\00\85\00\00\00\86\00\00\00\00\00\00\00\87\00\00\00\00\00\00\00\88\00\00\00\00\00\00\00\89\00\00\00\00\00\00\00\8A\00\00\00\A0\A1\A2\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\B0\B1\B2\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\00\00\00\8B\00\00\00\8C\00\00\00\8D\00\00\00\8E\00\00\00\8F\90\91\92\00\00\00\00\00\00\00\00\00\00\00\00\94\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A4\00\A6\A7\00\BF\00\AB\AC\AD\AE\00\B0\B1\B2\00\00\00\B6\B7\00\00\00\BB\00\00\00\00\00\00\83\81\00\00\00\00\00\00\90\80\00\00\00\00\00\00\8C\8A\00\00\8E\8D\00\00\00\00\00\00\00\00\00\00\B5\A5\00\00\00\00\00\00\00\00\00\00\A2\A1\00\B3\00\00\B4\00\B6\B7\00\00\00\00\00\00\00\00\00\A3\00\00\A4\00\A6\A7\00\00\00\00\00\00\00\00\BD\AD\00\00\00\00\00\00\00\00\00\00\00\00\00\00\A0\A1\A2\00\A5\00\00\A8\A9\AA\AB\AC\00\AE\AF\B0\B1\B2\00\B5\00\00\B8\B9\BA\BB\BC\00\BE\00\00\00\00\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\00\00\00\00\DF\F0\F1\F2\F3\F4\F5\F6\F7\F8\F9\FA\FB\00\00\00\00", [3604 x i8] c":!\1F2#\1E\02,\00'\04%&\05\07)\0F\12\09\0C\06\19\1A\0B+\00\00\00\00\00 \1D9*7407.$777\00\00\00\0158\03/3\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\17\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\16\19\19\19\19\13\00\00\00\00\00\00\00\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\14\00\00\00\00\00\00\00\007777777777777777777777777\19\10\08\19\1B-(\00\00\00\0E\22\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0061\00\00\11\0A\15\1C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\19\18\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\19\19\0D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E4\E4\E4\CD\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\D0\00\00\07\00\1A5UU>Uj\DE\00UovUUUUUUUUUUUZ\E4\DA\DEU\\\08UUUUI5UUUUUUUUUUS\E4\E4UUU\00\00\00\00\00\00\00UU\12?#UU(%;\C4-\002\03U\C7\00\B6PGUU(&=\E3\CC\1F\00 U\00\00\1DL(UU(U:\D2.\04\009U\00\00\1DUS\17UUGOS\11\D5\E4\00\00\1C\005UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU5UUUUXUAVXUk\00\00\00\00/\22\0B54\16\BC\CBJ\DEU<\00\00\00\00S\00\14\09U\BBSJDUUUUUUUUUUUUU7\00\00\00\14UUUUUSUUUUUUUS'S'UUUUS'UUUS'S'SSUUSUUTBLLUUUFJ\17(UUUUUUUUUUUUUUUUUUUUUULm\00UUn\00UUk\00UL*\00UUUUUU`\E4\E4\E4\E2\D3U7\00\00US'SUUUUSUU>\B9vp\D4\00\00\00\00UUUUUUUUUUI\00UUUR\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00UUUS\D0\00UUU>\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00UUUUG1\C5\C0UpY\C0\00\00\00\00\00\00\00\00UUUUR\00UUUUU)UUUUURUUUUUUU>\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00UUUUUUUUUULUUUUUUUUL\103UE&UUUUUUUUUUUUUUUUUU8UUUUUUUU>UUUUUUUUUU7UUUUUUUUUUUUUUUUUI\E4\E4\E4\E4\E4\E4\E0\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUH\00\00\00\00\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUHUUU\BBUUhUUUhUUUUUUUUUUUUUUUUUUUUR\00\00\00\00\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUUUR\00\00\00\00\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUUUUUUUS\00\00\00\00\00UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU^S\00xUUgUUUUUUUUUi\1F\00UUUUUUUY\00\00UUUUUUUU\17UUUUUU\00\00\00\00\00UNUU]UUU]UUXUUUXUUU\BBUUU\BBUUh9UUUUUU\86\AA\83\A7\86\AA\86\AA\83\A7{\96\86\AA\86\83\86\AA\86\AA\86\AA\82\AE\C9\AF}\AC\7F\AF\19\AD\92\92\00\00\00\00\97\AA\AA\AA\A86y\86\86\86\85\B4\B9\E4\CD\E4\E4\CD\D4\00UUU>g\00\92\92\92\92+\92\8F\00\00\00ezq~bUqraUURU\BDp\E4p\E4_\DF\00\00\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\92\91d\92\92\92\92\92\92\92\92\92\92\92\8C\92\92\92\92\92\92\92\9A\9Fs\92\92\92\92\92\A5\99\A0\A4\8E\93\9C\A1\8D[\8B\9F\9D\92\92\98\92\AA\AA\AA\AA\A7\86\86\86\86\83\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\AA\AA\AA\AA\AA\AA\86\86\86\86\86\86\92\92\92\92\94\CA\92\92\92\92\92\92\9A\9E\92\92\92\92\90\8C\B5\C1\E4\E4\E4\B9\E4\E4\E4\DC\C3\E0\B9\E4\E4\E4\E4\E4\D4\E4\E4\E4\B9\E0\00\00\E4\E4\E4\D0\E4\E4\B6K#UU($=\D1-\05\0A9U,\00\18@'0\13@T:\C5.\04\00\02U\C2\00\B6L(UU(Q:\D7.\0C\009U\00\00\1DL(UU(Q:\D7.\0C\019U\00\00\B6UUUUUU=\E4\DE\BEUoU,\00\B6K#UU(!;\D6-\04\0AlUp\C2\B9\E4Up\B1\AA\AA\B0\95\86\86\88\E1UUUUUUUUUUS\17\17\17\15\E0\E0\00\B8\BF\E4\E4\E4Up\E4\E4U5UUU>\B9\E4\E4H\E4\B9\E4\E4\E4\D7\E4\D6\00\00\00\00\00\00\CE\C8Zw\DDfcC\D9k\1B\E4\AA\AA\86\86H\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E0U7UUUUUUUUUUU\00UUUUU\BA\00\00\00\00\00\00\00\00\00\00\E4\E3\BBUUI\E4\E4\E4\C2\00\00\00\00\00\00UUUUY\E4t\00\00\00\00\00\00\00\00\00\E4\E4\00\00\D0\00\E4\E4\E5\B9\C6\E4\E0\D0LUUUUUUUUUUUUUUUUM\E4\E4\D2\B9\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\E4\C0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\E4\E4\E4\D4\E4\E4\E4\E4\D0\00\B9\E4\E4\E4\E4\D1\E4\E4\E4\E4\E4\E4\E4\E4\E4\D0\E4\E4\E4\E4\E4\E0\E4\E4\E4\E4\E0\00\00\00\E4\C2\00\00\E4\E4\E4\E4\E4\E4\E4\D8UUW\AA\AA\AA\86\86\86\8A\E4\E0\E4\E4\E4\E4\E0\1E\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\00\00\00\00\E4\E4\E4\E4\E4\E4\E4\E4\DB\E4\00\00\E4\E4\0D\0F\0E\A2\9B\AA\A3\A6|\86\86\84\80\92\92\92\81\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E0\1B\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\E4\E4\E4\E0\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E0\00\00\00\00\00\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\00\00\00\E4\D0\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\DE\00\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E4\E6\E4\E4\E4vpw_5UUUUUUUUUS\B7vUUUUUUUUUUh\E9\E8\E4\E4\E4\EA\E4\E4\E4\E4\C4\06\D0\1Eu\E2\E4\E0\00\00\E4\E4\C0\00\00\00\E4\E4\E4\C2\00\00\EC\EB\EC\EC\E7\E4\B2\B3\B1\AA\AA\B0\95\86\86\89\EC\EC\EC\EC\E4\CF\DB\CF\AA\AA\AB\A9\86\86\87\86\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\11\00\00\00`\00\00\00f\00\00\00\90\00\00\06\00\00\00\10\11\00\00\10\16\00\00\11\10\00\00\11\11\00\00`\06\00\00f\00\00\00fd\00\01\00\06\00\01\10\01\00\06\00`\00\06\10\11\00\10\01\00\00\10\11\11\00\11\01\00\00\11\10\11\00\11\11\11\00\16\10\11\00!\01\11\00`\00`\00`ff\00f\06\00\00f\10\11\00fff\01\00\00\00\01\00\00\11\01\01\00\11\01\01\10\00\01\10\11\11\01\11\00\11\01\11\10\01\01\11\10\11\01\11\11\00\01\11\11\11\01`\00\00\01f\00\00\04$$$\06\00\00\00\06`f\00\06ff\00\10\01\01\10\10\01\01\11\10\01ff\10\11\01\01\10\11\01\11\10\11\10\10\10\11\11\11\10fff\11\00\00\00\11\00\00\10\11\00\00\11\11\00\00f\11\00\06f\11\00\11\00\11\00\16f\11\01\00\00\11\01\00\10\11\01\00\11\11\01\00`\11\01\10\11\11\06\10\11\11\10\01\11\11\10\10\11\11\10\11\01\11\10\11\11\11\11\00\00\11\11\01\00\11\11\01\01\11\11\01\10\11\11\01\11\11\11\01`\11\11\06\00\11\11\10\00\11\11\10\10\11\11\10\11\11\11\11\00\11\11\11\01\11\11\11\10\11\11\11\11\11\11\11\16\11\11\11D\11\11\11a\11\11\11f\11\11\16f\11\114B\11\11a\06\11\11a\11\11\11a\16\11\11af\11\11ff\11\12\11\11\11\12!\11\11\16\11\11\11!\00\00\11!\12\22\11D\11\16\11a\06\00\11a\11\11\11af\11\11aff\11f\00\00\11f\00\11\11f\06\00\11ff\06\11ff\11\11fff\12!\11\11\12\22\11\11\12$$$\16\00\00\00\16\00ff\16\11\11\11\16\11\11f\19\11\11\11 \22\22\22!!\11\11!!!!!\22\22\22\22\11\00\11\22\11\11!\22\11!\11\22\11!\12\22\12$\06\22!\01\11\22\22\22\00\22\22\22\02\22\22\22\12\22\22\22\22\22\22\22b\22bff\22bf\E6\22fff#4BB$\00\00\00$\11$!$\11DB$$\00\00$$$\00$$$\11$$$$$$$D$ff\06&\22\22\22@@@@@DDDA#$DA$$DABBBADDDB\11$DBB\22$BBB\02BBBBBD\12DBDBBD\04\04DD@DDDB$DDBB\22DD\22\22DDD\00DDD\04DDD$DDDDDDDdDD`fDDd\06DDdbDDdfDdffFDDDUUUUUfff`\06\00\00`f\06f`f\10\11`f\16\11`ff\00`fffa\00\00\00a\11\11\11a\11ffa\16\11\11af\06\00affff\00\00\00f\00fff\06\00\00f\06\00\06f\06\00`f\06\00ff\06fff\11\01\00f\11\11\11f!\01\11f$$$f`\16\00f`f\00f`fffaf\16faffff\00\00ff\00`ff\00fff\01\00ff\06\00ff\06\06ff\06`ff\06fff\11\11ff\16\11ff\16aff&fff``ffadfff\00fff\01fff\06fff\11fff\16fff`ffffffv\07if\16\11ifff\99\99ff\99\99\99i\CCfff\DE\CC\CC\EE\EE\EE\EE\EE", [1680 x i8] c"\04\06\07\00\00\00\00\00\00\00\00\00\00\00\00\05\01\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\00\00\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\0D\00\00\00\00\00\00QQRR\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\1B\1B\19\0F\1F\1F\1D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\03SSSUUUT\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\1B\1B\19\0F\1F\1F\1D\00\00\00\00\00\00\04\00\1B\1B\1A\1A\1F\1F\1E ((((((1\10,*(((((2\11.3%)/0$\064,-((\12((((((((((((((((((('\08(((((((((((#GIFHGIGIFH\16\17GIMNGIGIGIEJ\09OCKDL\09P((((5(&\00\00\00\07\1367\0B\0089\0C\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\01:\0E\1B\18\1C\0F\1F\22!;(((<\00>>\1B\1B\1B\1B\1F\1F\1F\1F==((((#\0A((((((\10+(((('#((\00\00\00\00\14@@@?\00\15BBBA\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00WWWWVYYYYX\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\001\00\00\00\00\00\00\00Y\00\00\00\00\00\00\00^^\00\00\00\00\00\03\00\00\00\00\00\00\000\00\00\00\00\00\00\1C\1D\1E\1C\00\00\00#$\00%%\00\00\00E\00\00\00\00\00\00\00N\00\00\00\00\00\00\05\06\05\06\05\06\00\00+\00\00,\00\00\00\00/\00\00\00\00\00\00\00Z[\00\00\00\00\00\01\01\01\01\01\01\01\00\02\02\02\02\02\02\02\00\05\06\05\06\05\06\05\00\0B\05\06\05\06\0C\05\00\1C\1D\1E\05\06 !\00&\00'\00\00\00\00\00CCCCCCC\00DDDDDDD\00F\00F\00F\00F\00G\00G\00G\00G\01\01\00\01\01\01\01\01\01\01\01\00\00\00\00\00\01\01\01\01\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\015666\02\02\02\00\00\00\00\00\02\02\02\02\02\02\02\00\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\04\02\02\02\02899\00\02\027\02\02\02\02\02\05\06\00\00\00\00\00\00\05\06\00\00\05\06\00\1B\05\06\00\00\13\15\16\17\05\06\05\06\00\00\00\00\05\06\05\06\05\06\00\00\05\06\05\06\05\06\05\06\05\06\05\06\05\06\18\05\06\00\05\06\05\06\05\06\06\05\06\05\06\05\06\00\06\05\06\05\06\05\06\05\06\05\06\05\06\1F\05\06\06\0D\0D\05\06\00\0E\0F\06\18\00\00\05\06\18\05\06\19\19\05\06\05\06\1A\07\08\05\06\05\06\05\06\09\05\06\05\06\05\06\0A\10\05\06\0D\11\12\13\14\1D\1E\1C\1D\1E\05\06\05\22\00\05\06\05\06\05\06%\00\00(\00\00\00\00)*\00\00\00\00\00*-\00\00-\00\00\00\00-\00..\00\00\00\00222\003\0044:;\00\00\00<=\00>?\1F\00@A\00\00????????BBBBBBBBCCCCCCC\00CCCCCCCCDDDDDDD\00DDDDDDDDFF\00\00\00\00\00\00FF\00\00\00T\00\00FF\00N\00\00\00\00FFFFFF\00\00FFFFFFFFGGGGGG\00\00GGGGGGGGGGOOP\00Q\00GGSS\00\00\00\00GGUUV\00\00\00HHIIIIJJKKLLMM\00\00RRRRP\00\00\00WWXXP\00\00\00\\\\\\\\\\\\\\\\]]]]]]]]^^^^^^^^__\00\00\00\00\00\00________``````\00\00````````aaaaaa\00\00aaaaaaaa", [196 x i16] [i16 0, i16 0, i16 0, i16 32, i16 -32, i16 0, i16 743, i16 0, i16 121, i16 0, i16 0, i16 1, i16 -1, i16 0, i16 0, i16 -199, i16 -232, i16 0, i16 0, i16 -121, i16 -300, i16 0, i16 0, i16 210, i16 0, i16 206, i16 0, i16 205, i16 0, i16 79, i16 0, i16 202, i16 0, i16 203, i16 0, i16 207, i16 97, i16 0, i16 0, i16 211, i16 0, i16 209, i16 0, i16 213, i16 130, i16 0, i16 0, i16 214, i16 0, i16 218, i16 0, i16 217, i16 0, i16 219, i16 56, i16 0, i16 0, i16 2, i16 -1, i16 1, i16 -2, i16 0, i16 -79, i16 0, i16 0, i16 -97, i16 0, i16 -56, i16 0, i16 -130, i16 -210, i16 0, i16 -206, i16 0, i16 -205, i16 0, i16 -202, i16 0, i16 -203, i16 0, i16 -207, i16 0, i16 -209, i16 0, i16 -211, i16 0, i16 -213, i16 0, i16 -214, i16 0, i16 -218, i16 0, i16 -217, i16 0, i16 -219, i16 0, i16 84, i16 0, i16 0, i16 38, i16 0, i16 37, i16 0, i16 64, i16 0, i16 63, i16 -38, i16 0, i16 -37, i16 0, i16 -31, i16 0, i16 -64, i16 0, i16 -63, i16 0, i16 -62, i16 0, i16 -57, i16 0, i16 -47, i16 0, i16 -54, i16 0, i16 -86, i16 0, i16 -80, i16 0, i16 0, i16 -60, i16 -96, i16 0, i16 0, i16 80, i16 0, i16 48, i16 -48, i16 0, i16 -59, i16 0, i16 8, i16 0, i16 0, i16 -8, i16 74, i16 0, i16 86, i16 0, i16 100, i16 0, i16 128, i16 0, i16 112, i16 0, i16 126, i16 0, i16 9, i16 0, i16 0, i16 -74, i16 0, i16 -9, i16 -7205, i16 0, i16 0, i16 -86, i16 0, i16 -100, i16 7, i16 0, i16 0, i16 -112, i16 0, i16 -7, i16 0, i16 -128, i16 0, i16 -126, i16 0, i16 -7517, i16 0, i16 -8383, i16 0, i16 -8262, i16 0, i16 16, i16 -16, i16 0, i16 0, i16 26, i16 -26, i16 0, i16 0, i16 40, i16 -40, i16 0], [51 x i8] c"\000\001\002\003\004\005\006\007\008\009\00\DB\B0\00\DB\B1\00\DB\B2\00\DB\B3\00\DB\B4\00\DB\B5\00\DB\B6\00\DB\B7\00\DB\B8\00\DB\B9\00", [28 x i8] c"\00.\00,\00\03\00\03\02\00\A0\00\C2\A0\00 \00\D9\AB\00\D9\AC\00'\00\02\03\00", [1646 x i8] c"\00\7F\00-\00ZAR \00R\00,\00.\00\03\00\02\00\01\00-R\00ETB \00$\00-$\00AED \00\CF.\C5.\00-\CF.\C5.\00\D8\AF.\D8\A5.\00-\D8\AF.\D8\A5.\00BHD \00\CF.\C8.\00-\CF.\C8.\00\D8\AF.\D8\A8.\00-\D8\AF.\D8\A8.\00DZD \00\CF.\CC.\00-\CF.\CC.\00\D8\AF.\D8\AC.\00-\D8\AF.\D8\AC.\00EGP \00\CC.\E5.\00-\CC.\E5.\00\D8\AC.\D9\85.\00-\D8\AC.\D9\85.\00INR \00\E2\82\A8\00\03\02\00-\E2\82\A8\00IQD \00\CF.\D9.\00-\CF.\D9.\00\D8\AF.\D8\B9.\00-\D8\AF.\D8\B9.\00JOD \00\CF.\C3.\00-\CF.\C3.\00\D8\AF.\D8\A3.\00-\D8\AF.\D8\A3.\00KWD \00\CF.\E3.\00-\CF.\E3.\00\D8\AF.\D9\83.\00-\D8\AF.\D9\83.\00LBP \00\E4.\E4.\00-\E4.\E4.\00\D9\84.\D9\84.\00-\D9\84.\D9\84.\00LYD \00\CF.\E4.\00-\CF.\E4.\00\D8\AF.\D9\84.\00-\D8\AF.\D9\84.\00MAD \00\CF.\E5.\00-\CF.\E5.\00\D8\AF.\D9\85.\00-\D8\AF.\D9\85.\00OMR \00\D1.\D9.\00-\D1.\D9.\00\D8\B1.\D8\B9.\00-\D8\B1.\D8\B9.\00QAR \00\D1.\E2.\00-\D1.\E2.\00\D8\B1.\D9\82.\00-\D8\B1.\D9\82.\00SAR \00\D1\EA\C7\E4\00+\D1\EA\C7\E4\00\D8\B1\D9\8A\D8\A7\D9\84\00+\D8\B1\D9\8A\D8\A7\D9\84\00SDP \00\CC.\D3.\00-\CC.\D3.\00\D8\AC.\D8\B3.\00-\D8\AC.\D8\B3.\00SYP \00\E4.\D3.\00-\E4.\D3.\00\D9\84.\D8\B3.\00-\D9\84.\D8\B3.\00TND \00\CF.\CA.\00-\CF.\CA.\00\D8\AF.\D8\AA.\00-\D8\AF.\D8\AA.\00YER \00\D1.\EA.\00-\D1.\EA.\00\D8\B1.\D9\8A.\00-\D8\B1.\D9\8A.\00AZM \00man.\00 \00+man.\00BYR \00\F0\F3\E1\00+\F0\F3\E1\00\D1\80\D1\83\D0\B1\00+\D1\80\D1\83\D0\B1\00BGL \00\EB\E2\00\A0\00+\EB\E2\00\D0\BB\D0\B2\00\C2\A0\00+\D0\BB\D0\B2\00\E0\A7\B3\00-\E0\A7\B3\00\E0\A6\9F\E0\A6\BE\E0\A6\95\E0\A6\BE\00\02\03\00-\E0\A6\9F\E0\A6\BE\E0\A6\95\E0\A6\BE\00EUR \00EUR\00+EUR\00\E2\82\AC\00+\E2\82\AC\00BAK \00KM\00-KM\00-EUR\00-\E2\82\AC\00\A4\00-\A4\00CZK \00K\E8\00+K\E8\00K\C4\8D\00+K\C4\8D\00GBP \00\A3\00-\A3\00\C2\A3\00-\C2\A3\00DKK \00kr\00\04\00-kr\00CHF \00Fr.\00-Fr.\00+\A4\00AUD \00BWP \00Pu\00-Pu\00CAD \00\C2\A4\00-\C2\A4\00HKD \00HK$\00-HK$\00NZD \00PHP \00Php\00-Php\00SGD \00USD \00ZWD \00Z$\00-Z$\00-EUR \00ARS \00BOB \00$b\00-$b\00CLP \00COP \00CRC \00C\00-C\00DOP \00ECS \00GTQ \00Q\00-Q\00HNL \00L.\00-L.\00MXP \00NIO \00$C\00-$C\00PAB \00B/\00-B/\00PEN \00S/\00-S/\00PYG \00Gs.\00-Gs.\00SVC \00\A2\00-\A2\00\C2\A2\00-\C2\A2\00UYU \00N$\00-N$\00VEB \00Bs.\00-Bs.\00EEK \00IRR \00\D8\B1\DB\8C\D8\A7\D9\84\00\D9\AB\00\D9\AC\00+\D8\B1\DB\8C\D8\A7\D9\84\00+$\00ILS \00\F9\E7\00-\F9\E7\00\D7\A9\D7\97\00-\D7\A9\D7\97\00\E0\A4\B0\E0\A5\82\00-\E0\A4\B0\E0\A5\82\00HRK \00Kn\00-Kn\00HUF \00Ft\00+Ft\00AMD \00\B8\00-\B8\00\D4\B4\00-\D4\B4\00IDR \00Rp\00-Rp\00ISK \00+kr\00JPY \00\EF\BF\A5\00-\EF\BF\A5\00GEL \00\CB\00-\CB\00\E1\83\9A\00-\E1\83\9A\00KRW \00\EF\BF\A6\00-\EF\BF\A6\00LTL \00Lt\00+Lt\00LVL \00Ls\00-Ls\00MKD \00\D4\D5\DD\00+\D4\D5\DD\00\D0\B4\D0\B5\D0\BD\00+\D0\B4\D0\B5\D0\BD\00\E0\A4\B0\E0\A5\81\00-\E0\A4\B0\E0\A5\81\00MYR \00RM\00-RM\00MTL \00Lm\00-Lm\00NOK \00PLN \00Z\B3\00-Z\B3\00Z\C5\82\00-Z\C5\82\00BRL \00R$\00+R$\00ROL \00Lei\00-Lei\00RUR \00\D2\D5\C2\00+\D2\D5\C2\00\E0\E3\D1\00+\E0\E3\D1\00UAH \00\C7\D2\00+\C7\D2\00\D0\B3\D1\80\00+\D0\B3\D1\80\00 ru\00- ru\00SKK \00Sk\00+Sk\00SIT \00SIT\00+SIT\00ALL \00Lek\00-Lek\00YUN \00din\00-din\00\D4\D8\DD\00-\D4\D8\DD\00\D0\B4\D0\B8\D0\BD\00-\D0\B4\D0\B8\D0\BD\00SEK \00THB \00\DF\00-\DF\00\E0\B8\BF\00-\E0\B8\BF\00ERB \00PhP\00-PhP\00TRL \00TL\00+TL\00PKR \00Rs\00-Rs\00UZS \00so'm\00-so'm\00VND \00\E2\82\AB\00+\E2\82\AB\00CNY \00TWD \00NT$\00-NT$\00", [28353 x i8] c"\00Sun\00Mon\00Tue\00Wed\00Thu\00Fri\00Sat\00Sunday\00Monday\00Tuesday\00Wednesday\00Thursday\00Friday\00Saturday\00Jan\00Feb\00Mar\00Apr\00May\00Jun\00Jul\00Aug\00Sep\00Oct\00Nov\00Dec\00January\00February\00March\00April\00June\00July\00August\00September\00October\00November\00December\00AM\00PM\00%a %b %e %H:%M:%S %Y\00%m/%d/%y\00%H:%M:%S\00%I:%M:%S %p\00So\00Ma\00Di\00Wo\00Do\00Vr\00Sa\00Sondag\00Maandag\00Dinsdag\00Woensdag\00Donderdag\00Vrydag\00Saterdag\00Mei\00Okt\00Des\00Januarie\00Februarie\00Maart\00Junie\00Julie\00Augustus\00Oktober\00Desember\00VM\00NM\00%a %d %b %Y %T %Z\00%d/%m/%y\00%T\00\E1\8A\A5\E1\88\91\E1\8B\B5\00\E1\88\B0\E1\8A\9E\00\E1\88\9B\E1\8A\AD\E1\88\B0\E1\8A\9E\00\E1\88\A8\E1\89\A1\E1\8B\95\00\E1\88\90\E1\88\99\E1\88\B5\00\E1\8B\93\E1\88\AD\E1\89\A5\00\E1\89\85\E1\8B\B3\E1\88\9C\00\E1\8C\83\E1\8A\95\E1\8B\A9\00\E1\8D\8C\E1\89\A5\E1\88\A9\00\E1\88\9B\E1\88\AD\E1\89\BD\00\E1\8A\A4\E1\8D\95\E1\88\A8\00\E1\88\9C\E1\8B\AD\00\E1\8C\81\E1\8A\95\00\E1\8C\81\E1\88\8B\E1\8B\AD\00\E1\8A\A6\E1\8C\88\E1\88\B5\00\E1\88\B4\E1\8D\95\E1\89\B4\00\E1\8A\A6\E1\8A\AD\E1\89\B0\00\E1\8A\96\E1\89\AC\E1\88\9D\00\E1\8B\B2\E1\88\B4\E1\88\9D\00\E1\8C\83\E1\8A\95\E1\8B\A9\E1\8B\88\E1\88\AA\00\E1\8D\8C\E1\89\A5\E1\88\A9\E1\8B\88\E1\88\AA\00\E1\8A\A4\E1\8D\95\E1\88\A8\E1\88\8D\00\E1\8A\A6\E1\8C\88\E1\88\B5\E1\89\B5\00\E1\88\B4\E1\8D\95\E1\89\B4\E1\88\9D\E1\89\A0\E1\88\AD\00\E1\8A\A6\E1\8A\AD\E1\89\B0\E1\8B\8D\E1\89\A0\E1\88\AD\00\E1\8A\96\E1\89\AC\E1\88\9D\E1\89\A0\E1\88\AD\00\E1\8B\B2\E1\88\B4\E1\88\9D\E1\89\A0\E1\88\AD\00\E1\8C\A0\E1\8B\8B\E1\89\B5\00\E1\8A\A8\E1\88\B3\E1\8B\93\E1\89\B5\00%A\E1\8D\A3 %b %e \E1\89\80\E1\8A\95 %l:%M:%S %Z %Y\00%d/%m/%Y\00%r\00\CD\00\E6\00\CB\00\D1\00\CE\00\CC\00\D3\00\C7\E4\C3\CD\CF\00\C7\E4\C7\CB\E6\EA\E6\00\C7\E4\CB\E4\C7\CB\C7\C1\00\C7\E4\C3\D1\C8\D9\C7\C1\00\C7\E4\CE\E5\EA\D3\00\C7\E4\CC\E5\D9\C9\00\C7\E4\D3\C8\CA \00\EA\E6\C7\00\E1\C8\D1\00\E5\C7\D1\00\C3\C8\D1\00\E5\C7\EA\00\EA\E8\E6\00\EA\E8\E4\00\C3\DA\D3\00\D3\C8\CA\00\C3\E3\CA\00\E6\E8\E1\00\CF\EA\D3\00\EA\E6\C7\EA\D1\00\E1\C8\D1\C7\EA\D1\00\E5\C7\D1\D3\00\C3\C8\D1\EA\E4\00\E5\C7\EA\E8\00\EA\E8\E6\EA\E8\00\EA\E8\E4\EA\E8\00\C3\DA\D3\D7\D3\00\D3\C8\CA\E5\C8\D1\00\C3\E3\CA\E8\C8\D1\00\E6\E8\E1\E5\C8\D1\00\CF\EA\D3\E5\C8\D1\00\D5\00\E5\00%d %b, %Y %Z %I:%M:%S %p\00%d %b, %Y\00%Z %I:%M:%S \00%Z %I:%M:%S %p\00\D8\AD\00\D9\86\00\D8\AB\00\D8\B1\00\D8\AE\00\D8\AC\00\D8\B3\00\D8\A7\D9\84\D8\A3\D8\AD\D8\AF\00\D8\A7\D9\84\D8\A7\D8\AB\D9\86\D9\8A\D9\86\00\D8\A7\D9\84\D8\AB\D9\84\D8\A7\D8\AB\D8\A7\D8\A1\00\D8\A7\D9\84\D8\A3\D8\B1\D8\A8\D8\B9\D8\A7\D8\A1\00\D8\A7\D9\84\D8\AE\D9\85\D9\8A\D8\B3\00\D8\A7\D9\84\D8\AC\D9\85\D8\B9\D8\A9\00\D8\A7\D9\84\D8\B3\D8\A8\D8\AA \00\D9\8A\D9\86\D8\A7\00\D9\81\D8\A8\D8\B1\00\D9\85\D8\A7\D8\B1\00\D8\A3\D8\A8\D8\B1\00\D9\85\D8\A7\D9\8A\00\D9\8A\D9\88\D9\86\00\D9\8A\D9\88\D9\84\00\D8\A3\D8\BA\D8\B3\00\D8\B3\D8\A8\D8\AA\00\D8\A3\D9\83\D8\AA\00\D9\86\D9\88\D9\81\00\D8\AF\D9\8A\D8\B3\00\D9\8A\D9\86\D8\A7\D9\8A\D8\B1\00\D9\81\D8\A8\D8\B1\D8\A7\D9\8A\D8\B1\00\D9\85\D8\A7\D8\B1\D8\B3\00\D8\A3\D8\A8\D8\B1\D9\8A\D9\84\00\D9\85\D8\A7\D9\8A\D9\88\00\D9\8A\D9\88\D9\86\D9\8A\D9\88\00\D9\8A\D9\88\D9\84\D9\8A\D9\88\00\D8\A3\D8\BA\D8\B3\D8\B7\D8\B3\00\D8\B3\D8\A8\D8\AA\D9\85\D8\A8\D8\B1\00\D8\A3\D9\83\D8\AA\D9\88\D8\A8\D8\B1\00\D9\86\D9\88\D9\81\D9\85\D8\A8\D8\B1\00\D8\AF\D9\8A\D8\B3\D9\85\D8\A8\D8\B1\00\D8\B5\00\D9\85\00\C7\E4\D3\C8\CA\00\D8\A7\D9\84\D8\B3\D8\A8\D8\AA\00%A %d %B %Y %I:%M:%S %p %Z\00%A %d %B %Y\00%I:%M:%S %Z\00%I:%M:%S %p %Z\00\E3\C7\E6\E8\E6 \C7\E4\CB\C7\E6\EA\00\D4\C8\C7\D7\00\C2\D0\C7\D1\00\E6\EA\D3\C7\E6\00\E6\E8\C7\D1\00\CD\D2\EA\D1\C7\E6\00\CA\E5\E8\D2\00\C2\C8\00\C3\EA\E4\E8\E4\00\CA\D4\D1\EA\E6 \C7\E4\C3\E8\E4\00\CA\D4\D1\EA\E6 \C7\E4\CB\C7\E6\EA\00\E3\C7\E6\E8\E6 \C7\E4\C3\E8\E4\00\D9\83\D8\A7\D9\86\D9\88\D9\86 \D8\A7\D9\84\D8\AB\D8\A7\D9\86\D9\8A\00\D8\B4\D8\A8\D8\A7\D8\B7\00\D8\A2\D8\B0\D8\A7\D8\B1\00\D9\86\D9\8A\D8\B3\D8\A7\D9\86\00\D9\86\D9\88\D8\A7\D8\B1\00\D8\AD\D8\B2\D9\8A\D8\B1\D8\A7\D9\86\00\D8\AA\D9\85\D9\88\D8\B2\00\D8\A2\D8\A8\00\D8\A3\D9\8A\D9\84\D9\88\D9\84\00\D8\AA\D8\B4\D8\B1\D9\8A\D9\86 \D8\A7\D9\84\D8\A3\D9\88\D9\84\00\D8\AA\D8\B4\D8\B1\D9\8A\D9\86 \D8\A7\D9\84\D8\AB\D8\A7\D9\86\D9\8A\00\D9\83\D8\A7\D9\86\D9\88\D9\86 \D8\A7\D9\84\D8\A3\D9\88\D9\84\00\C7\E4\C5\CB\E6\EA\E6\00\C7\E4\CC\E5\D9\E0\C9\00\E6\EA\D3\E0\C7\E6\00\C3\EA\C7\D1\00\CA\E0\E5\E0\E8\D2\00%A %.1d %B %Y %.1H:%M:%S\00%A %.1d %B %Y\00%.1H:%M:%S\00\D8\A7\D9\84\D8\A5\D8\AB\D9\86\D9\8A\D9\86\00\D8\A7\D9\84\D8\AC\D9\85\D8\B9\D9\80\D8\A9\00\D9\86\D9\8A\D8\B3\D9\80\D8\A7\D9\86\00\D8\A3\D9\8A\D8\A7\D8\B1\00\D8\AA\D9\80\D9\85\D9\80\D9\88\D8\B2\00\E6\E8\C7\D1\C7\E6\00\CD\D2\EA\D1\00\D9\86\D9\88\D8\A7\D8\B1\D8\A7\D9\86\00\D8\AD\D8\B2\D9\8A\D8\B1\00baz\00bir\00iki\00\FC\E7\FC\00d\F6r\00be\FE\00alt\00bazar g\FCn\FC\00birinci g\FCn\00ikinci g\FCn\00\FC\E7\FCnc\FC g\FCn\00d\F6rd\FCnc\FC g\FCn\00be\FEinci g\FCn\00alt\FDnc\FD g\FCn\00Yan\00Fev\00\DDyn\00\DDyl\00Avq\00Sen\00Noy\00Dek\00yanvar\00fevral\00mart\00aprel\00may\00iyun\00iyul\00avqust\00sentyabr\00oktyabr\00noyabr\00dekabr\00%A, %d %B %Y %T\00%d.%m.%Y\00\C3\BC\C3\A7\C3\BC\00d\C3\B6r\00be\C5\9F\00bazar g\C3\BCn\C3\BC\00birinci g\C3\BCn\00ikinci g\C3\BCn\00\C3\BC\C3\A7\C3\BCnc\C3\BC g\C3\BCn\00d\C3\B6rd\C3\BCnc\C3\BC g\C3\BCn\00be\C5\9Finci g\C3\BCn\00alt\C4\B1nc\C4\B1 g\C3\BCn\00\C4\B0yn\00\C4\B0yl\00\CD\FF\E4\00\CF\E0\ED\00\C0\A2\F2\00\D1\F0\E4\00\D7\F6\E2\00\CF\FF\F2\00\D1\F3\E1\00\CD\FF\E4\E7\E5\EB\FF\00\CF\E0\ED\FF\E4\E7\E5\EB\E0\EA\00\C0\A2\F2\EE\F0\E0\EA\00\D1\E5\F0\E0\E4\E0\00\D7\E0\F6\E2\E5\F0\00\CF\FF\F2\ED\B3\F6\E0\00\D1\F3\E1\EE\F2\E0\00\D1\F2\E4\00\CB\FE\F2\00\D1\E0\EA\00\CA\F0\F1\00\D2\F0\E0\00\D7\FD\F0\00\CB\B3\EF\00\C6\ED\E2\00\C2\F0\F1\00\CA\F1\F2\00\CB\B3\F1\00\D1\ED\E6\00\D1\F2\F3\E4\E7\E5\ED\FC\00\CB\FE\F2\FB\00\D1\E0\EA\E0\E2\B3\EA\00\CA\F0\E0\F1\E0\E2\B3\EA\00\D2\F0\E0\E2\E5\ED\FC\00\D7\FD\F0\E2\E5\ED\FC\00\CB\B3\EF\E5\ED\FC\00\C6\ED\B3\E2\E5\ED\FC\00\C2\E5\F0\E0\F1\E5\ED\FC\00\CA\E0\F1\F2\F0\FB\F7\ED\B3\EA\00\CB\B3\F1\F2\E0\EF\E0\E4\00\D1\ED\E5\E6\E0\ED\FC\00%a %d %b %Y %T\00\D0\9D\D1\8F\D0\B4\00\D0\9F\D0\B0\D0\BD\00\D0\90\D1\9E\D1\82\00\D0\A1\D1\80\D0\B4\00\D0\A7\D1\86\D0\B2\00\D0\9F\D1\8F\D1\82\00\D0\A1\D1\83\D0\B1\00\D0\9D\D1\8F\D0\B4\D0\B7\D0\B5\D0\BB\D1\8F\00\D0\9F\D0\B0\D0\BD\D1\8F\D0\B4\D0\B7\D0\B5\D0\BB\D0\B0\D0\BA\00\D0\90\D1\9E\D1\82\D0\BE\D1\80\D0\B0\D0\BA\00\D0\A1\D0\B5\D1\80\D0\B0\D0\B4\D0\B0\00\D0\A7\D0\B0\D1\86\D0\B2\D0\B5\D1\80\00\D0\9F\D1\8F\D1\82\D0\BD\D1\96\D1\86\D0\B0\00\D0\A1\D1\83\D0\B1\D0\BE\D1\82\D0\B0\00\D0\A1\D1\82\D0\B4\00\D0\9B\D1\8E\D1\82\00\D0\A1\D0\B0\D0\BA\00\D0\9A\D1\80\D1\81\00\D0\A2\D1\80\D0\B0\00\D0\A7\D1\8D\D1\80\00\D0\9B\D1\96\D0\BF\00\D0\96\D0\BD\D0\B2\00\D0\92\D1\80\D1\81\00\D0\9A\D1\81\D1\82\00\D0\9B\D1\96\D1\81\00\D0\A1\D0\BD\D0\B6\00\D0\A1\D1\82\D1\83\D0\B4\D0\B7\D0\B5\D0\BD\D1\8C\00\D0\9B\D1\8E\D1\82\D1\8B\00\D0\A1\D0\B0\D0\BA\D0\B0\D0\B2\D1\96\D0\BA\00\D0\9A\D1\80\D0\B0\D1\81\D0\B0\D0\B2\D1\96\D0\BA\00\D0\A2\D1\80\D0\B0\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\A7\D1\8D\D1\80\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\9B\D1\96\D0\BF\D0\B5\D0\BD\D1\8C\00\D0\96\D0\BD\D1\96\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\92\D0\B5\D1\80\D0\B0\D1\81\D0\B5\D0\BD\D1\8C\00\D0\9A\D0\B0\D1\81\D1\82\D1\80\D1\8B\D1\87\D0\BD\D1\96\D0\BA\00\D0\9B\D1\96\D1\81\D1\82\D0\B0\D0\BF\D0\B0\D0\B4\00\D0\A1\D0\BD\D0\B5\D0\B6\D0\B0\D0\BD\D1\8C\00\ED\E4\00\EF\ED\00\E2\F2\00\F1\F0\00\F7\F2\00\EF\F2\00\F1\E1\00\ED\E5\E4\E5\EB\FF\00\EF\EE\ED\E5\E4\E5\EB\ED\E8\EA\00\E2\F2\EE\F0\ED\E8\EA\00\F1\F0\FF\E4\E0\00\F7\E5\F2\E2\FA\F0\F2\FA\EA\00\EF\E5\F2\FA\EA\00\F1\FA\E1\EE\F2\E0\00\FF\ED\F3\00\F4\E5\E2\00\EC\E0\F0\00\E0\EF\F0\00\EC\E0\E9\00\FE\ED\E8\00\FE\EB\E8\00\E0\E2\E3\00\F1\E5\EF\00\EE\EA\F2\00\ED\EE\E5\00\E4\E5\EA\00\FF\ED\F3\E0\F0\E8\00\F4\E5\E2\F0\F3\E0\F0\E8\00\EC\E0\F0\F2\00\E0\EF\F0\E8\EB\00\E0\E2\E3\F3\F1\F2\00\F1\E5\EF\F2\E5\EC\E2\F0\E8\00\EE\EA\F2\EE\EC\E2\F0\E8\00\ED\EE\E5\EC\E2\F0\E8\00\E4\E5\EA\E5\EC\E2\F0\E8\00%x (%a) %X %Z\00%e.%m.%Y\00%k,%M,%S\00%l,%M,%S\00\D0\BD\D0\B4\00\D0\BF\D0\BD\00\D0\B2\D1\82\00\D1\81\D1\80\00\D1\87\D1\82\00\D0\BF\D1\82\00\D1\81\D0\B1\00\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D1\8F\00\D0\BF\D0\BE\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D0\BD\D0\B8\D0\BA\00\D0\B2\D1\82\D0\BE\D1\80\D0\BD\D0\B8\D0\BA\00\D1\81\D1\80\D1\8F\D0\B4\D0\B0\00\D1\87\D0\B5\D1\82\D0\B2\D1\8A\D1\80\D1\82\D1\8A\D0\BA\00\D0\BF\D0\B5\D1\82\D1\8A\D0\BA\00\D1\81\D1\8A\D0\B1\D0\BE\D1\82\D0\B0\00\D1\8F\D0\BD\D1\83\00\D1\84\D0\B5\D0\B2\00\D0\BC\D0\B0\D1\80\00\D0\B0\D0\BF\D1\80\00\D0\BC\D0\B0\D0\B9\00\D1\8E\D0\BD\D0\B8\00\D1\8E\D0\BB\D0\B8\00\D0\B0\D0\B2\D0\B3\00\D1\81\D0\B5\D0\BF\00\D0\BE\D0\BA\D1\82\00\D0\BD\D0\BE\D0\B5\00\D0\B4\D0\B5\D0\BA\00\D1\8F\D0\BD\D1\83\D0\B0\D1\80\D0\B8\00\D1\84\D0\B5\D0\B2\D1\80\D1\83\D0\B0\D1\80\D0\B8\00\D0\BC\D0\B0\D1\80\D1\82\00\D0\B0\D0\BF\D1\80\D0\B8\D0\BB\00\D0\B0\D0\B2\D0\B3\D1\83\D1\81\D1\82\00\D1\81\D0\B5\D0\BF\D1\82\D0\B5\D0\BC\D0\B2\D1\80\D0\B8\00\D0\BE\D0\BA\D1\82\D0\BE\D0\BC\D0\B2\D1\80\D0\B8\00\D0\BD\D0\BE\D0\B5\D0\BC\D0\B2\D1\80\D0\B8\00\D0\B4\D0\B5\D0\BA\D0\B5\D0\BC\D0\B2\D1\80\D0\B8\00\E0\A6\B0\E0\A6\AC\E0\A6\BF\00\E0\A6\B8\E0\A7\8B\E0\A6\AE\00\E0\A6\AE\E0\A6\99\E0\A6\97\E0\A6\B2\00\E0\A6\AC\E0\A7\81\E0\A6\A7\00\E0\A6\AC\E0\A7\83\E0\A6\B9\E0\A6\B8\E0\A7\8D\E0\A6\AA\E0\A6\A4\E0\A6\BF\00\E0\A6\B6\E0\A7\81\E0\A6\95\E0\A7\8D\E0\A6\B0\00\E0\A6\B6\E0\A6\A8\E0\A6\BF\00\E0\A6\B0\E0\A6\AC\E0\A6\BF\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B8\E0\A7\8B\E0\A6\AE\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\AE\E0\A6\99\E0\A6\97\E0\A6\B2\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\AC\E0\A7\81\E0\A6\A7\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\AC\E0\A7\83\E0\A6\B9\E0\A6\B8\E0\A7\8D\E0\A6\AA\E0\A6\A4\E0\A6\BF\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B6\E0\A7\81\E0\A6\95\E0\A7\8D\E0\A6\B0\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B6\E0\A6\A8\E0\A6\BF\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\9C\E0\A6\BE\E0\A6\A8\00\E0\A6\AB\E0\A7\87\E0\A6\AC\00\E0\A6\AE\E0\A6\BE\E0\A6\B0\00\E0\A6\8F\E0\A6\AA\E0\A7\8D\E0\A6\B0\00\E0\A6\AE\E0\A7\87\00\E0\A6\9C\E0\A7\81\E0\A6\A8\00\E0\A6\9C\E0\A7\81\E0\A6\B2\00\E0\A6\86\E0\A6\97\00\E0\A6\B8\E0\A7\87\E0\A6\AA\00\E0\A6\85\E0\A6\95\E0\A7\8D\E0\A6\9F\E0\A7\8B\E0\A6\AC\E0\A6\B0\00\E0\A6\A8\E0\A6\AD\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\B0\00\E0\A6\A1\E0\A6\BF\E0\A6\B8\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\B0\00\E0\A6\9C\E0\A6\BE\E0\A6\A8\E0\A7\81\E0\A7\9F\E0\A6\BE\E0\A6\B0\E0\A7\80\00\E0\A6\AB\E0\A7\87\E0\A6\AC\E0\A7\8D\E0\A6\B0\E0\A7\81\E0\A7\9F\E0\A6\BE\E0\A6\B0\E0\A7\80\00\E0\A6\AE\E0\A6\BE\E0\A6\B0\E0\A7\8D\E0\A6\9A\00\E0\A6\8F\E0\A6\AA\E0\A7\8D\E0\A6\B0\E0\A6\BF\E0\A6\B2\00\E0\A6\9C\E0\A7\81\E0\A6\B2\E0\A6\BE\E0\A6\87\00\E0\A6\86\E0\A6\97\E0\A6\B8\E0\A7\8D\E0\A6\9F\00\E0\A6\B8\E0\A7\87\E0\A6\AA\E0\A7\8D\E0\A6\9F\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\85\E0\A6\95\E0\A7\8D\E0\A6\9F\E0\A7\8B\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\A8\E0\A6\AD\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\A1\E0\A6\BF\E0\A6\B8\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B0\00\E0\A6\B8\E0\A6\95\E0\A6\BE\E0\A6\B2\00\E0\A6\AC\E0\A6\BF\E0\A6\95\E0\A6\BE\E0\A6\B2\00%A %d %b %Y %I:%M:%S %p %Z\00%A %d %b %Y\00\E0\A6\B8\E0\A7\87\E0\A6\AA\E0\A7\8D\E0\A6\9F\E0\A7\87\E0\A6\AE\E0\A7\8D\E0\A6\AC\E0\A6\B0\00\E0\A6\AA\E0\A7\82\E0\A6\B0\E0\A7\8D\E0\A6\AC\E0\A6\BE\E0\A6\B9\E0\A7\8D\E0\A6\A3\00\E0\A6\85\E0\A6\AA\E0\A6\B0\E0\A6\BE\E0\A6\B9\E0\A7\8D\E0\A6\A3\00sul\00lun\00meu\00mer\00yao\00gwe\00sad\00meurzh\00merc'her\00yaou\00gwener\00sadorn\00Gen \00C'hw\00Meu \00Ebr \00Mae \00Eve \00Gou \00Eos \00Gwe \00Her \00Du \00Ker \00Genver\00C'hwevrer\00Meurzh\00Ebrel\00Mae\00Mezheven\00Gouere\00Eost\00Gwengolo\00Here\00Du\00Kerzu\00 \00D'ar %A %d a viz %B %Y\00%Ie%M:%S %p\00Ned\00Pon\00Uto\00Sri\00\C8et\00Pet\00Sub\00Nedjelja\00Ponedjeljak\00Utorak\00Srijeda\00\C8etvrtak\00Petak\00Subota\00Maj\00Januar\00Februar\00Mart\00Juni\00Juli\00Septembar\00Oktobar\00Novembar\00Decembar\00\C4\8Cet\00\C4\8Cetvrtak\00dg\00dl\00dt\00dc\00dj\00dv\00ds\00diumenge\00dilluns\00dimarts\00dimecres\00dijous\00divendres\00dissabte\00gen\00feb\00mar\00abr\00mai\00jun\00jul\00ago\00set\00oct\00nov\00des\00gener\00febrer\00mar\E7\00abril\00maig\00juny\00juliol\00agost\00setembre\00octubre\00novembre\00desembre\00mar\C3\A7\00Ne\00Po\00\DAt\00St\00\C8t\00P\E1\00Ned\ECle\00Pond\ECl\ED\00\DAter\FD\00St\F8eda\00\C8tvrtek\00P\E1tek\00Sobota\00led\00\FAno\00b\F8e\00dub\00kv\EC\00\E8en\00\E8ec\00srp\00z\E1\F8\00\F8\EDj\00lis\00pro\00leden\00\FAnor\00b\F8ezen\00duben\00kv\ECten\00\E8erven\00\E8ervenec\00srpen\00z\E1\F8\ED\00\F8\EDjen\00listopad\00prosinec\00%a\A0%e.\A0%B\A0%Y,\A0%H:%M:%S\A0%Z\00%I:%M:%S\00\C3\9At\00\C4\8Ct\00P\C3\A1\00Ned\C4\9Ble\00Pond\C4\9Bl\C3\AD\00\C3\9Ater\C3\BD\00St\C5\99eda\00\C4\8Ctvrtek\00P\C3\A1tek\00\C3\BAno\00b\C5\99e\00kv\C4\9B\00\C4\8Den\00\C4\8Dec\00z\C3\A1\C5\99\00\C5\99\C3\ADj\00\C3\BAnor\00b\C5\99ezen\00kv\C4\9Bten\00\C4\8Derven\00\C4\8Dervenec\00z\C3\A1\C5\99\C3\AD\00\C5\99\C3\ADjen\00%a\C2\A0%e.\C2\A0%B\C2\A0%Y,\C2\A0%H:%M:%S\C2\A0%Z\00Sul\00Llu\00Maw\00Mer\00Iau\00Gwe\00Sad\00Llun\00Mawrth\00Mercher\00Gwener\00Sadwrn\00Ion\00Chw\00Ebr\00Mai\00Meh\00Gor\00Aws\00Med\00Hyd\00Tach\00Rha\00Ionawr\00Chwefror\00Ebrill\00Mehefin\00Gorffennaf\00Awst\00Medi\00Hydref\00Tachwedd\00Rhagfyr\00Dydd %A %d a viz %B %Y %T %Z\00%d.%m.%y\00s\F8n\00man\00tir\00ons\00tor\00fre\00l\F8r\00s\F8ndag\00mandag\00tirsdag\00onsdag\00torsdag\00fredag\00l\F8rdag\00jan\00apr\00maj\00aug\00sep\00okt\00dec\00januar\00februar\00marts\00april\00juni\00juli\00august\00september\00oktober\00november\00december\00%d-%m-%Y\00s\C3\B8n\00l\C3\B8r\00s\C3\B8ndag\00l\C3\B8rdag\00Son\00Die\00Mit\00Don\00Fre\00Sam\00Sonntag\00Montag\00Dienstag\00Mittwoch\00Donnerstag\00Freitag\00Samstag\00J\E4n\00M\E4r\00Dez\00J\E4nner\00Feber\00M\E4rz\00Dezember\00%Y-%m-%d\00J\C3\A4n\00M\C3\A4r\00J\C3\A4nner\00M\C3\A4rz\00\CA\F5\F1\00\C4\E5\F5\00\D4\F1\E9\00\D4\E5\F4\00\D0\E5\EC\00\D0\E1\F1\00\D3\E1\E2\00\CA\F5\F1\E9\E1\EA\DE\00\C4\E5\F5\F4\DD\F1\E1\00\D4\F1\DF\F4\E7\00\D4\E5\F4\DC\F1\F4\E7\00\D0\DD\EC\F0\F4\E7\00\D0\E1\F1\E1\F3\EA\E5\F5\DE\00\D3\DC\E2\E2\E1\F4\EF\00\C9\E1\ED\00\D6\E5\E2\00\CC\DC\F1\00\C1\F0\F1\00\CC\DC\E9\00\C9\EF\FD\ED\00\C9\EF\FD\EB\00\C1\FD\E3\00\D3\E5\F0\00\CF\EA\F4\00\CD\EF\DD\00\C4\E5\EA\00\C9\E1\ED\EF\F5\DC\F1\E9\EF\F2\00\D6\E5\E2\F1\EF\F5\DC\F1\E9\EF\F2\00\CC\DC\F1\F4\E9\EF\F2\00\C1\F0\F1\DF\EB\E9\EF\F2\00\CC\DC\E9\EF\F2\00\C9\EF\FD\ED\E9\EF\F2\00\C9\EF\FD\EB\E9\EF\F2\00\C1\FD\E3\EF\F5\F3\F4\EF\F2\00\D3\E5\F0\F4\DD\EC\E2\F1\E9\EF\F2\00\CF\EA\F4\FE\E2\F1\E9\EF\F2\00\CD\EF\DD\EC\E2\F1\E9\EF\F2\00\C4\E5\EA\DD\EC\E2\F1\E9\EF\F2\00\CE\9A\CF\85\CF\81\00\CE\94\CE\B5\CF\85\00\CE\A4\CF\81\CE\B9\00\CE\A4\CE\B5\CF\84\00\CE\A0\CE\B5\CE\BC\00\CE\A0\CE\B1\CF\81\00\CE\A3\CE\B1\CE\B2\00\CE\9A\CF\85\CF\81\CE\B9\CE\B1\CE\BA\CE\AE\00\CE\94\CE\B5\CF\85\CF\84\CE\AD\CF\81\CE\B1\00\CE\A4\CF\81\CE\AF\CF\84\CE\B7\00\CE\A4\CE\B5\CF\84\CE\AC\CF\81\CF\84\CE\B7\00\CE\A0\CE\AD\CE\BC\CF\80\CF\84\CE\B7\00\CE\A0\CE\B1\CF\81\CE\B1\CF\83\CE\BA\CE\B5\CF\85\CE\AE\00\CE\A3\CE\AC\CE\B2\CE\B2\CE\B1\CF\84\CE\BF\00\CE\99\CE\B1\CE\BD\00\CE\A6\CE\B5\CE\B2\00\CE\9C\CE\AC\CF\81\00\CE\91\CF\80\CF\81\00\CE\9C\CE\AC\CE\B9\00\CE\99\CE\BF\CF\8D\CE\BD\00\CE\99\CE\BF\CF\8D\CE\BB\00\CE\91\CF\8D\CE\B3\00\CE\A3\CE\B5\CF\80\00\CE\9F\CE\BA\CF\84\00\CE\9D\CE\BF\CE\AD\00\CE\94\CE\B5\CE\BA\00\CE\99\CE\B1\CE\BD\CE\BF\CF\85\CE\AC\CF\81\CE\B9\CE\BF\CF\82\00\CE\A6\CE\B5\CE\B2\CF\81\CE\BF\CF\85\CE\AC\CF\81\CE\B9\CE\BF\CF\82\00\CE\9C\CE\AC\CF\81\CF\84\CE\B9\CE\BF\CF\82\00\CE\91\CF\80\CF\81\CE\AF\CE\BB\CE\B9\CE\BF\CF\82\00\CE\9C\CE\AC\CE\B9\CE\BF\CF\82\00\CE\99\CE\BF\CF\8D\CE\BD\CE\B9\CE\BF\CF\82\00\CE\99\CE\BF\CF\8D\CE\BB\CE\B9\CE\BF\CF\82\00\CE\91\CF\8D\CE\B3\CE\BF\CF\85\CF\83\CF\84\CE\BF\CF\82\00\CE\A3\CE\B5\CF\80\CF\84\CE\AD\CE\BC\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00\CE\9F\CE\BA\CF\84\CF\8E\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00\CE\9D\CE\BF\CE\AD\CE\BC\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00\CE\94\CE\B5\CE\BA\CE\AD\CE\BC\CE\B2\CF\81\CE\B9\CE\BF\CF\82\00%a %d %b %Y %r %Z\00%Y-%m-%dT%T %Z\00%A, %B %d, %Y %p%I:%M:%S %Z\00%A, %B %d, %Y\00%I:%M:%S %Z\00%p%I:%M:%S %Z\00%A, %d %B, %Y %I:%M:%S %p %Z\00%A, %d %B, %Y\00%A %d,%B,%Y %I:%M:%S %p %Z\00%A %d,%B,%Y\00%m/%d/%Y\00dim\00\C4\B5a\C5\AD\00ven\00sab\00diman\C4\89o\00lundo\00mardo\00merkredo\00\C4\B5a\C5\ADdo\00vendredo\00sabato\00A\C5\ADg\00Januaro\00Februaro\00Marto\00Aprilo\00Majo\00Junio\00Julio\00A\C5\ADgusto\00Septembro\00Oktobro\00Novembro\00Decembro\00%a %d %b %Y %T %z\00dom\00mi\E9\00jue\00vie\00s\E1b\00domingo\00lunes\00martes\00mi\E9rcoles\00jueves\00viernes\00s\E1bado\00ene\00dic\00enero\00febrero\00marzo\00mayo\00junio\00julio\00agosto\00septiembre\00noviembre\00diciembre\00mi\C3\A9\00s\C3\A1b\00mi\C3\A9rcoles\00s\C3\A1bado\00P\00E\00T\00K\00N\00R\00L\00p\FChap\E4ev\00esmasp\E4ev\00teisip\E4ev\00kolmap\E4ev\00neljap\E4ev\00reede\00laup\E4ev\00jaan \00veebr\00m\E4rts\00apr \00mai \00juuni\00juuli\00aug \00sept \00okt \00nov \00dets \00jaanuar\00veebruar\00aprill\00oktoober\00detsember\00p\C3\BChap\C3\A4ev\00esmasp\C3\A4ev\00teisip\C3\A4ev\00kolmap\C3\A4ev\00neljap\C3\A4ev\00laup\C3\A4ev\00m\C3\A4rts\00ig.\00al.\00ar.\00az.\00og.\00or.\00lr.\00igandea\00astelehena\00asteartea\00asteazkena\00osteguna\00ostirala\00larunbata\00urt\00ots\00api\00eka\00uzt\00abu\00ira\00urr\00aza\00abe\00urtarrila\00otsaila\00martxoa\00apirila\00maiatza\00ekaina\00uztaila\00abuztua\00iraila\00urria\00azaroa\00abendua\00%y-%m-%d %T %Z\00%a, %Y.eko %bren %da\00\DB\8C.\00\D8\AF.\00\D8\B3.\00\DA\86.\00\D9\BE.\00\D8\AC.\00\D8\B4.\00\DB\8C\DA\A9\E2\80\8C\D8\B4\D9\86\D8\A8\D9\87\00\D8\AF\D9\88\D8\B4\D9\86\D8\A8\D9\87\00\D8\B3\D9\87\E2\80\8C\D8\B4\D9\86\D8\A8\D9\87\00\DA\86\D9\87\D8\A7\D8\B1\D8\B4\D9\86\D8\A8\D9\87\00\D9\BE\D9\86\D8\AC\E2\80\8C\D8\B4\D9\86\D8\A8\D9\87\00\D8\AC\D9\85\D8\B9\D9\87\00\D8\B4\D9\86\D8\A8\D9\87\00\DA\98\D8\A7\D9\86\00\D9\81\D9\88\D8\B1\00\D8\A2\D9\88\D8\B1\00\D9\85\D9\80\D9\87\00\DA\98\D9\88\D9\86\00\DA\98\D9\88\DB\8C\00\D8\A7\D9\88\D8\AA\00\D8\B3\D9\BE\D8\AA\00\D8\A7\D9\83\D8\AA\00\D9\86\D9\88\D8\A7\00\D8\AF\D8\B3\D8\A7\00\DA\98\D8\A7\D9\86\D9\88\DB\8C\D9\87\00\D9\81\D9\88\D8\B1\DB\8C\D9\87\00\D8\A2\D9\88\D8\B1\DB\8C\D9\84\00\D9\85\D9\87\00\DA\98\D9\88\D8\A6\D9\86\00\DA\98\D9\88\D8\A6\DB\8C\D9\87\00\D8\B3\D9\BE\D8\AA\D8\A7\D9\85\D8\A8\D8\B1\00\D8\A7\D9\83\D8\AA\D8\A8\D8\B1\00\D9\86\D9\88\D8\A7\D9\85\D8\A8\D8\B1\00\D8\AF\D8\B3\D8\A7\D9\85\D8\A8\D8\B1\00\D8\B5\D8\A8\D8\AD\00\D8\B9\D8\B5\D8\B1\00\E2\80\AB%A %e %B %Y\D8\8C %I:%M:%S %p\E2\80\AC\00%Y/%m/%d\00\E2\80\AB%I:%M:%S %p\E2\80\AC\00su\00ma\00ti\00ke\00to\00pe\00la\00sunnuntai\00maanantai\00tiistai\00keskiviikko\00torstai\00perjantai\00lauantai\00tammi\A0\00helmi\A0\00maalis\00huhti\A0\00touko\A0\00kes\E4\A0\A0\00hein\E4\A0\00elo\A0\A0\A0\00syys\A0\A0\00loka\A0\A0\00marras\00joulu\A0\00tammikuu\00helmikuu\00maaliskuu\00huhtikuu\00toukokuu\00kes\E4kuu\00hein\E4kuu\00elokuu\00syyskuu\00lokakuu\00marraskuu\00joulukuu\00%a %e %B %Y %T\00tammi\C2\A0\00helmi\C2\A0\00huhti\C2\A0\00touko\C2\A0\00kes\C3\A4\C2\A0\C2\A0\00hein\C3\A4\C2\A0\00elo\C2\A0\C2\A0\C2\A0\00syys\C2\A0\C2\A0\00loka\C2\A0\C2\A0\00joulu\C2\A0\00kes\C3\A4kuu\00hein\C3\A4kuu\00sun\00m\E1n\00t\FDs\00mik\00h\F3s\00fr\ED\00ley\00sunnudagur\00m\E1nadagur\00t\FDsdagur\00mikudagur\00h\F3sdagur\00fr\EDggjadagur\00leygardagur\00mars\00apr\EDl\00desember\00%d/%m-%Y\00m\C3\A1n\00t\C3\BDs\00h\C3\B3s\00fr\C3\AD\00m\C3\A1nadagur\00t\C3\BDsdagur\00h\C3\B3sdagur\00fr\C3\ADggjadagur\00apr\C3\ADl\00jeu\00sam\00dimanche\00lundi\00mardi\00mercredi\00jeudi\00vendredi\00samedi\00f\E9v\00avr\00jui\00ao\FB\00d\E9c\00janvier\00f\E9vrier\00avril\00juin\00juillet\00ao\FBt\00septembre\00octobre\00d\E9cembre\00f\C3\A9v\00ao\C3\BB\00d\C3\A9c\00f\C3\A9vrier\00ao\C3\BBt\00d\C3\A9cembre\00%d. %m. %y\00Domh\00Luan\00M\E1irt\00C\E9ad\00D\E9ar\00Aoine\00Sath\00D\E9 Domhnaigh\00D\E9 Luain\00D\E9 M\E1irt\00D\E9 C\E9adaoin\00D\E9ardaoin\00D\E9 hAoine\00D\E9 Sathairn\00Ean\00Feabh\00M\E1rta\00Aib\00Beal\00Meith\00I\FAil\00L\FAn\00MF\F3mh\00DF\F3mh\00Samh\00Noll\00Ean\E1ir\00Feabhra\00Aibre\E1n\00M\ED na Bealtaine\00L\FAnasa\00Me\E1n F\F3mhair\00Deireadh F\F3mhair\00M\ED na Samhna\00M\ED na Nollag\00M\C3\A1irt\00C\C3\A9ad\00D\C3\A9ar\00D\C3\A9 Domhnaigh\00D\C3\A9 Luain\00D\C3\A9 M\C3\A1irt\00D\C3\A9 C\C3\A9adaoin\00D\C3\A9ardaoin\00D\C3\A9 hAoine\00D\C3\A9 Sathairn\00M\C3\A1rta\00I\C3\BAil\00L\C3\BAn\00MF\C3\B3mh\00DF\C3\B3mh\00Ean\C3\A1ir\00Aibre\C3\A1n\00M\C3\AD na Bealtaine\00L\C3\BAnasa\00Me\C3\A1n F\C3\B3mhair\00Deireadh F\C3\B3mhair\00M\C3\AD na Samhna\00M\C3\AD na Nollag\00Dido\00Dilu\00Dim\00Dic\00Diar\00Diha\00Disa\00Did\F2mhnaich\00Diluain\00Dim\E0irt\00Diciadain\00Diardaoin\00Dihaoine\00Disathairne\00Fao\00Gea\00M\E0r\00Gib\00Mh\E0\00OgM\00luc\00L\F9n\00Dam\00D\F9b\00Am Faoilteach\00An Gearran\00Am M\E0rt\00An Giblean\00A' Mh\E0igh\00An t-Mh\ECos\00An t-luchar\00An L\F9nasdal\00An t-Sultain\00An Damhair\00An t-Samhain\00An D\F9bhlachd\00Did\C3\B2mhnaich\00Dim\C3\A0irt\00M\C3\A0r\00Mh\C3\A0\00L\C3\B9n\00D\C3\B9b\00Am M\C3\A0rt\00A' Mh\C3\A0igh\00An t-Mh\C3\ACos\00An L\C3\B9nasdal\00An D\C3\B9bhlachd\00Dom\00Lun\00M\E9r\00Xov\00Ven\00S\E1b\00Domingo\00Luns\00Martes\00M\E9rcores\00Xoves\00Venres\00S\E1bado\00Xan\00Abr\00Xu\F1\00Xul\00Ago\00Set\00Out\00Xaneiro\00Febreiro\00Marzo\00Abril\00Maio\00Xu\F1o\00Xullo\00Agosto\00Setembro\00Outubro\00M\C3\A9r\00S\C3\A1b\00M\C3\A9rcores\00S\C3\A1bado\00Xu\C3\B1\00Xu\C3\B1o\00Jed\00Jel\00Jem\00Jerc\00Jerd\00Jeh\00Jes\00Jedoonee\00Jelhein\00Jemayrt\00Jercean\00Jerdein\00Jeheiney\00Jesarn\00J-guer\00T-arree\00Mayrnt\00Avrril\00Boaldyn\00M-souree\00J-souree\00Luanistyn\00M-fouyir\00J-fouyir\00M.Houney\00M.Nollick\00Jerrey-geuree\00Toshiaght-arree\00Averil\00Mean-souree\00Jerrey-souree\00Mean-fouyir\00Jerrey-fouyir\00Mee Houney\00Mee ny Nollick\00\E0'\00\E1'\00\E2'\00\E3'\00\E4'\00\E5'\00\F9'\00\F8\E0\F9\E5\EF\00\F9\F0\E9\00\F9\EC\E9\F9\E9\00\F8\E1\E9\F2\E9\00\E7\EE\E9\F9\E9\00\F9\E9\F9\E9\00\F9\E1\FA\00\E9\F0\E5\00\F4\E1\F8\00\EE\F8\F5\00\E0\F4\F8\00\EE\E0\E9\00\E9\E5\F0\00\E9\E5\EC\00\E0\E5\E2\00\F1\F4\E8\00\E0\E5\F7\00\F0\E5\E1\00\E3\F6\EE\00\E9\F0\E5\E0\F8\00\F4\E1\F8\E5\E0\F8\00\E0\F4\F8\E9\EC\00\E9\E5\F0\E9\00\E9\E5\EC\E9\00\E0\E5\E2\E5\F1\E8\00\F1\F4\E8\EE\E1\F8\00\E0\E5\F7\E8\E5\E1\F8\00\F0\E5\E1\EE\E1\F8\00\E3\F6\EE\E1\F8\00%Z %H:%M:%S %Y %b %d %a\00%I:%M:%S %P\00\D7\90'\00\D7\91'\00\D7\92'\00\D7\93'\00\D7\94'\00\D7\95'\00\D7\A9'\00\D7\A8\D7\90\D7\A9\D7\95\D7\9F\00\D7\A9\D7\A0\D7\99\00\D7\A9\D7\9C\D7\99\D7\A9\D7\99\00\D7\A8\D7\91\D7\99\D7\A2\D7\99\00\D7\97\D7\9E\D7\99\D7\A9\D7\99\00\D7\A9\D7\99\D7\A9\D7\99\00\D7\A9\D7\91\D7\AA\00\D7\99\D7\A0\D7\95\00\D7\A4\D7\91\D7\A8\00\D7\9E\D7\A8\D7\A5\00\D7\90\D7\A4\D7\A8\00\D7\9E\D7\90\D7\99\00\D7\99\D7\95\D7\A0\00\D7\99\D7\95\D7\9C\00\D7\90\D7\95\D7\92\00\D7\A1\D7\A4\D7\98\00\D7\90\D7\95\D7\A7\00\D7\A0\D7\95\D7\91\00\D7\93\D7\A6\D7\9E\00\D7\99\D7\A0\D7\95\D7\90\D7\A8\00\D7\A4\D7\91\D7\A8\D7\95\D7\90\D7\A8\00\D7\90\D7\A4\D7\A8\D7\99\D7\9C\00\D7\99\D7\95\D7\A0\D7\99\00\D7\99\D7\95\D7\9C\D7\99\00\D7\90\D7\95\D7\92\D7\95\D7\A1\D7\98\00\D7\A1\D7\A4\D7\98\D7\9E\D7\91\D7\A8\00\D7\90\D7\95\D7\A7\D7\98\D7\95\D7\91\D7\A8\00\D7\A0\D7\95\D7\91\D7\9E\D7\91\D7\A8\00\D7\93\D7\A6\D7\9E\D7\91\D7\A8\00\E0\A4\B0\E0\A4\B5\E0\A4\BF \00\E0\A4\B8\E0\A5\8B\E0\A4\AE \00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B2 \00\E0\A4\AC\E0\A5\81\E0\A4\A7 \00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81 \00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0 \00\E0\A4\B6\E0\A4\A8\E0\A4\BF \00\E0\A4\B0\E0\A4\B5\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\B8\E0\A5\8B\E0\A4\AE\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B2\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\AC\E0\A5\81\E0\A4\A7\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\B6\E0\A4\A8\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0 \00\E0\A4\9C\E0\A4\A8\E0\A4\B5\E0\A4\B0\E0\A5\80\00\E0\A4\AB\E0\A4\BC\E0\A4\B0\E0\A4\B5\E0\A4\B0\E0\A5\80\00\E0\A4\AE\E0\A4\BE\E0\A4\B0\E0\A5\8D\E0\A4\9A\00\E0\A4\85\E0\A4\AA\E0\A5\8D\E0\A4\B0\E0\A5\87\E0\A4\B2\00\E0\A4\AE\E0\A4\88\00\E0\A4\9C\E0\A5\82\E0\A4\A8\00\E0\A4\9C\E0\A5\81\E0\A4\B2\E0\A4\BE\E0\A4\88\00\E0\A4\85\E0\A4\97\E0\A4\B8\E0\A5\8D\E0\A4\A4\00\E0\A4\B8\E0\A4\BF\E0\A4\A4\E0\A4\AE\E0\A5\8D\E0\A4\AC\E0\A4\B0\00\E0\A4\85\E0\A4\95\E0\A5\8D\E0\A4\9F\E0\A5\82\E0\A4\AC\E0\A4\B0\00\E0\A4\A8\E0\A4\B5\E0\A4\AE\E0\A5\8D\E0\A4\AC\E0\A4\B0\00\E0\A4\A6\E0\A4\BF\E0\A4\B8\E0\A4\AE\E0\A5\8D\E0\A4\AC\E0\A4\B0\00\E0\A4\AA\E0\A5\82\E0\A4\B0\E0\A5\8D\E0\A4\B5\E0\A4\BE\E0\A4\B9\E0\A5\8D\E0\A4\A8\00\E0\A4\85\E0\A4\AA\E0\A4\B0\E0\A4\BE\E0\A4\B9\E0\A5\8D\E0\A4\A8\00Sij\00Vel\00O\BEu\00Tra\00Svi\00Lip\00Srp\00Kol\00Ruj\00Lis\00Stu\00Pro\00Sije\E8anj\00Velja\E8a\00O\BEujak\00Travanj\00Svibanj\00Lipanj\00Srpanj\00Kolovoz\00Rujan\00Listopad\00Studeni\00Prosinac\00O\C5\BEu\00Sije\C4\8Danj\00Velja\C4\8Da\00O\C5\BEujak\00v\00h\00k\00sze\00cs\00p\00szo\00vas\E1rnap\00h\E9tf\F5\00kedd\00szerda\00cs\FCt\F6rt\F6k\00p\E9ntek\00szombat\00m\E1r\00\E1pr\00m\E1j\00j\FAn\00j\FAl\00janu\E1r\00febru\E1r\00m\E1rcius\00\E1prilis\00m\E1jus\00j\FAnius\00j\FAlius\00augusztus\00szeptember\00okt\F3ber\00%Y. %b. %e., %A, %H.%M.%S %Z\00%H.%M.%S\00vas\C3\A1rnap\00h\C3\A9tf\C5\91\00cs\C3\BCt\C3\B6rt\C3\B6k\00p\C3\A9ntek\00m\C3\A1r\00\C3\A1pr\00m\C3\A1j\00j\C3\BAn\00j\C3\BAl\00janu\C3\A1r\00febru\C3\A1r\00m\C3\A1rcius\00\C3\A1prilis\00m\C3\A1jus\00j\C3\BAnius\00j\C3\BAlius\00okt\C3\B3ber\00\CE\F1\CF\00\BA\F1\CF\00\BA\F1\F9\00\E2\F1\F9\00\D0\DD\B7\00\E0\F5\F1\00\DE\B5\C3\00\CE\C7\F1\B3\CF\C7\00\BA\F1\CF\E1\F5\DF\B3\B5\C3\C7\00\BA\F1\BB\F9\DF\B3\B5\C3\C7\00\E2\E1\F1\BB\F9\DF\B3\B5\C3\C7\00\D0\C7\DD\B7\DF\B3\B5\C3\C7\00\E0\F5\F1\B5\B3\C3\00\DE\B3\B5\B3\C3\00\D0\DD\ED\00\F6\EF\F1\00\D8\B3\F1\00\B2\E5\F1\00\D8\B3\DB\00\D0\DD\EB\00\D0\C9\EB\00\FA\B7\EB\00\EA\BB\E5\00\D0\E1\CF\00\DC\D9\B5\00\B8\BB\CF\00\D0\E1\F5\DD\ED\B3\F1\C7\00\F6\BB\EF\F1\ED\B3\F1\C7\00\D8\B3\F1\EF\C7\00\B2\E5\F1\C7\C9\C7\00\D8\B3\DB\C7\EB\C7\00\D0\E1\F5\DD\C7\EB\C7\00\D0\E1\F5\C9\C7\EB\C7\00\FA\B7\E1\EB\EF\E1\EB\C7\00\EA\BB\E5\EF\BB\D9\B5\BB\F1\C7\00\D0\E1\CF\EF\BB\D9\B5\BB\F1\C7\00\DC\E1\DB\BB\D9\B5\BB\F1\C7\00\B8\BB\CF\EF\BB\D9\B5\BB\F1\C7\00\D4\BF\D6\80\D5\AF\00\D4\B5\D6\80\D5\AF\00\D4\B5\D6\80\D6\84\00\D5\89\D6\80\D6\84\00\D5\80\D5\B6\D5\A3\00\D5\88\D6\82\D6\80\00\D5\87\D5\A2\D5\A9\00\D4\BF\D5\AB\D6\80\D5\A1\D5\AF\D5\AB\00\D4\B5\D6\80\D5\AF\D5\B8\D6\82\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D4\B5\D6\80\D5\A5\D6\84\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D5\89\D5\B8\D6\80\D5\A5\D6\84\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D5\80\D5\AB\D5\B6\D5\A3\D5\B7\D5\A1\D5\A2\D5\A9\D5\AB\00\D5\88\D6\82\D6\80\D5\A2\D5\A1\D5\A9\00\D5\87\D5\A1\D5\A2\D5\A1\D5\A9\00\D5\80\D5\B6\D5\BE\00\D5\93\D5\BF\D6\80\00\D5\84\D5\A1\D6\80\00\D4\B1\D5\BA\D6\80\00\D5\84\D5\A1\D5\B5\00\D5\80\D5\B6\D5\BD\00\D5\80\D5\AC\D5\BD\00\D5\95\D5\A3\D5\BD\00\D5\8D\D5\A5\D5\BA\00\D5\80\D5\B8\D5\AF\00\D5\86\D5\B4\D5\A2\00\D4\B4\D5\A5\D5\AF\00\D5\80\D5\B8\D6\82\D5\B6\D5\BE\D5\A1\D6\80\D5\AB\00\D5\93\D5\A5\D5\BF\D6\80\D5\BE\D5\A1\D6\80\D5\AB\00\D5\84\D5\A1\D6\80\D5\BF\D5\AB\00\D4\B1\D5\BA\D6\80\D5\AB\D5\AC\D5\AB\00\D5\84\D5\A1\D5\B5\D5\AB\D5\BD\D5\AB\00\D5\80\D5\B8\D6\82\D5\B6\D5\AB\D5\BD\D5\AB\00\D5\80\D5\B8\D6\82\D5\AC\D5\AB\D5\BD\D5\AB\00\D5\95\D5\A3\D5\B8\D5\BD\D5\BF\D5\B8\D5\BD\D5\AB\00\D5\8D\D5\A5\D5\BA\D5\BF\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00\D5\80\D5\B8\D5\AF\D5\BF\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00\D5\86\D5\B8\D5\B5\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00\D4\B4\D5\A5\D5\AF\D5\BF\D5\A5\D5\B4\D5\A2\D5\A5\D6\80\D5\AB\00Min\00Sel\00Rab\00Kam\00Jum\00Sab\00Minggu\00Senin\00Selasa\00Rabu\00Kamis\00Jumat\00Sabtu\00Peb\00Agu\00Januari\00Pebruari\00Maret\00Agustus\00M\E1n\00\DEri\00Mi\F0\00Fim\00F\F6s\00Lau\00Sunnudagur\00M\E1nudagur\00\DEri\F0judagur\00Mi\F0vikudagur\00Fimmtudagur\00F\F6studagur\00Laugardagur\00Ma\ED\00J\FAn\00J\FAl\00\C1g\FA\00N\F3v\00Jan\FAar\00Febr\FAar\00Mars\00Apr\EDl\00J\FAn\ED\00J\FAl\ED\00\C1g\FAst\00Okt\F3ber\00N\F3vember\00fh\00eh\00%a %e.%b %Y, %T %Z\00%a %e.%b %Y\00M\C3\A1n\00\C3\9Eri\00Mi\C3\B0\00F\C3\B6s\00M\C3\A1nudagur\00\C3\9Eri\C3\B0judagur\00Mi\C3\B0vikudagur\00F\C3\B6studagur\00Ma\C3\AD\00J\C3\BAn\00J\C3\BAl\00\C3\81g\C3\BA\00N\C3\B3v\00Jan\C3\BAar\00Febr\C3\BAar\00Apr\C3\ADl\00J\C3\BAn\C3\AD\00J\C3\BAl\C3\AD\00\C3\81g\C3\BAst\00Okt\C3\B3ber\00N\C3\B3vember\00gio\00domenica\00luned\EC\00marted\EC\00mercoled\EC\00gioved\EC\00venerd\EC\00mag\00giu\00lug\00ott\00gennaio\00febbraio\00aprile\00maggio\00giugno\00luglio\00settembre\00ottobre\00dicembre\00luned\C3\AC\00marted\C3\AC\00mercoled\C3\AC\00gioved\C3\AC\00venerd\C3\AC\00\E6\97\A5\00\E6\9C\88\00\E7\81\AB\00\E6\B0\B4\00\E6\9C\A8\00\E9\87\91\00\E5\9C\9F\00\E6\97\A5\E6\9B\9C\E6\97\A5\00\E6\9C\88\E6\9B\9C\E6\97\A5\00\E7\81\AB\E6\9B\9C\E6\97\A5\00\E6\B0\B4\E6\9B\9C\E6\97\A5\00\E6\9C\A8\E6\9B\9C\E6\97\A5\00\E9\87\91\E6\9B\9C\E6\97\A5\00\E5\9C\9F\E6\9B\9C\E6\97\A5\00 1\E6\9C\88\00 2\E6\9C\88\00 3\E6\9C\88\00 4\E6\9C\88\00 5\E6\9C\88\00 6\E6\9C\88\00 7\E6\9C\88\00 8\E6\9C\88\00 9\E6\9C\88\0010\E6\9C\88\0011\E6\9C\88\0012\E6\9C\88\001\E6\9C\88\002\E6\9C\88\003\E6\9C\88\004\E6\9C\88\005\E6\9C\88\006\E6\9C\88\007\E6\9C\88\008\E6\9C\88\009\E6\9C\88\00\E5\8D\88\E5\89\8D\00\E5\8D\88\E5\BE\8C\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %H\E6\99\82%M\E5\88\86%S\E7\A7\92\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5\00%H\E6\99\82%M\E5\88\86%S\E7\A7\92\00%p%I\E6\99\82%M\E5\88\86%S\E7\A7\92\00+:2:1990/01/01:+*:\E5\B9\B3\E6\88\90:%EC%Ey\E5\B9\B4\00+:1:1989/01/08:1989/12/31:\E5\B9\B3\E6\88\90:%EC\E5\85\83\E5\B9\B4\00+:2:1927/01/01:1989/01/07:\E6\98\AD\E5\92\8C:%EC%Ey\E5\B9\B4\00+:1:1926/12/25:1926/12/31:\E6\98\AD\E5\92\8C:%EC\E5\85\83\E5\B9\B4\00+:2:1913/01/01:1926/12/24:\E5\A4\A7\E6\AD\A3:%EC%Ey\E5\B9\B4\00+:2:1912/07/30:1912/12/31:\E5\A4\A7\E6\AD\A3:%EC\E5\85\83\E5\B9\B4\00+:6:1873/01/01:1912/07/29:\E6\98\8E\E6\B2\BB:%EC%Ey\E5\B9\B4\00+:1:0001/01/01:1872/12/31:\E8\A5\BF\E6\9A\A6:%EC%Ey\E5\B9\B4\00+:1:-0001/12/31:-*:\E7\B4\80\E5\85\83\E5\89\8D:%EC%Ey\E5\B9\B4\00\00%EY%m\E6\9C\88%d\E6\97\A5\00\E3\80\87\00\E4\B8\80\00\E4\BA\8C\00\E4\B8\89\00\E5\9B\9B\00\E4\BA\94\00\E5\85\AD\00\E4\B8\83\00\E5\85\AB\00\E4\B9\9D\00\E5\8D\81\00\E5\8D\81\E4\B8\80\00\E5\8D\81\E4\BA\8C\00\E5\8D\81\E4\B8\89\00\E5\8D\81\E5\9B\9B\00\E5\8D\81\E4\BA\94\00\E5\8D\81\E5\85\AD\00\E5\8D\81\E4\B8\83\00\E5\8D\81\E5\85\AB\00\E5\8D\81\E4\B9\9D\00\E4\BA\8C\E5\8D\81\00\E4\BA\8C\E5\8D\81\E4\B8\80\00\E4\BA\8C\E5\8D\81\E4\BA\8C\00\E4\BA\8C\E5\8D\81\E4\B8\89\00\E4\BA\8C\E5\8D\81\E5\9B\9B\00\E4\BA\8C\E5\8D\81\E4\BA\94\00\E4\BA\8C\E5\8D\81\E5\85\AD\00\E4\BA\8C\E5\8D\81\E4\B8\83\00\E4\BA\8C\E5\8D\81\E5\85\AB\00\E4\BA\8C\E5\8D\81\E4\B9\9D\00\E4\B8\89\E5\8D\81\00\E4\B8\89\E5\8D\81\E4\B8\80\00\E4\B8\89\E5\8D\81\E4\BA\8C\00\E4\B8\89\E5\8D\81\E4\B8\89\00\E4\B8\89\E5\8D\81\E5\9B\9B\00\E4\B8\89\E5\8D\81\E4\BA\94\00\E4\B8\89\E5\8D\81\E5\85\AD\00\E4\B8\89\E5\8D\81\E4\B8\83\00\E4\B8\89\E5\8D\81\E5\85\AB\00\E4\B8\89\E5\8D\81\E4\B9\9D\00\E5\9B\9B\E5\8D\81\00\E5\9B\9B\E5\8D\81\E4\B8\80\00\E5\9B\9B\E5\8D\81\E4\BA\8C\00\E5\9B\9B\E5\8D\81\E4\B8\89\00\E5\9B\9B\E5\8D\81\E5\9B\9B\00\E5\9B\9B\E5\8D\81\E4\BA\94\00\E5\9B\9B\E5\8D\81\E5\85\AD\00\E5\9B\9B\E5\8D\81\E4\B8\83\00\E5\9B\9B\E5\8D\81\E5\85\AB\00\E5\9B\9B\E5\8D\81\E4\B9\9D\00\E4\BA\94\E5\8D\81\00\E4\BA\94\E5\8D\81\E4\B8\80\00\E4\BA\94\E5\8D\81\E4\BA\8C\00\E4\BA\94\E5\8D\81\E4\B8\89\00\E4\BA\94\E5\8D\81\E5\9B\9B\00\E4\BA\94\E5\8D\81\E4\BA\94\00\E4\BA\94\E5\8D\81\E5\85\AD\00\E4\BA\94\E5\8D\81\E4\B8\83\00\E4\BA\94\E5\8D\81\E5\85\AB\00\E4\BA\94\E5\8D\81\E4\B9\9D\00\E5\85\AD\E5\8D\81\00\E5\85\AD\E5\8D\81\E4\B8\80\00\E5\85\AD\E5\8D\81\E4\BA\8C\00\E5\85\AD\E5\8D\81\E4\B8\89\00\E5\85\AD\E5\8D\81\E5\9B\9B\00\E5\85\AD\E5\8D\81\E4\BA\94\00\E5\85\AD\E5\8D\81\E5\85\AD\00\E5\85\AD\E5\8D\81\E4\B8\83\00\E5\85\AD\E5\8D\81\E5\85\AB\00\E5\85\AD\E5\8D\81\E4\B9\9D\00\E4\B8\83\E5\8D\81\00\E4\B8\83\E5\8D\81\E4\B8\80\00\E4\B8\83\E5\8D\81\E4\BA\8C\00\E4\B8\83\E5\8D\81\E4\B8\89\00\E4\B8\83\E5\8D\81\E5\9B\9B\00\E4\B8\83\E5\8D\81\E4\BA\94\00\E4\B8\83\E5\8D\81\E5\85\AD\00\E4\B8\83\E5\8D\81\E4\B8\83\00\E4\B8\83\E5\8D\81\E5\85\AB\00\E4\B8\83\E5\8D\81\E4\B9\9D\00\E5\85\AB\E5\8D\81\00\E5\85\AB\E5\8D\81\E4\B8\80\00\E5\85\AB\E5\8D\81\E4\BA\8C\00\E5\85\AB\E5\8D\81\E4\B8\89\00\E5\85\AB\E5\8D\81\E5\9B\9B\00\E5\85\AB\E5\8D\81\E4\BA\94\00\E5\85\AB\E5\8D\81\E5\85\AD\00\E5\85\AB\E5\8D\81\E4\B8\83\00\E5\85\AB\E5\8D\81\E5\85\AB\00\E5\85\AB\E5\8D\81\E4\B9\9D\00\E4\B9\9D\E5\8D\81\00\E4\B9\9D\E5\8D\81\E4\B8\80\00\E4\B9\9D\E5\8D\81\E4\BA\8C\00\E4\B9\9D\E5\8D\81\E4\B8\89\00\E4\B9\9D\E5\8D\81\E5\9B\9B\00\E4\B9\9D\E5\8D\81\E4\BA\94\00\E4\B9\9D\E5\8D\81\E5\85\AD\00\E4\B9\9D\E5\8D\81\E4\B8\83\00\E4\B9\9D\E5\8D\81\E5\85\AB\00\E4\B9\9D\E5\8D\81\E4\B9\9D\00%EY%m\E6\9C\88%d\E6\97\A5 %H\E6\99\82%M\E5\88\86%S\E7\A7\92\00\CA\C5\C9\00\CF\D2\DB\00\D3\C0\CC\00\CF\C8\E1\00\E1\D6\C8\00\D0\C0\D2\00\DB\C0\C1\00\CA\C5\C9\D2\C0\00\CF\D2\DB\C0\C1\C0\C8\C9\00\D3\C0\CC\DB\C0\C1\C0\C8\C9\00\CF\C8\E1\DB\C0\C1\C0\C8\C9\00\E1\D6\C8\DB\C0\C1\C0\C8\C9\00\D0\C0\D2\C0\D3\CA\C4\C5\C9\00\DB\C0\C1\C0\C8\C9\00\C9\C0\CD\00\C8\C4\C1\00\CC\C0\D2\00\C0\D0\D2\00\CC\C0\C9\00\C9\C5\CD\00\C9\C5\CB\00\C0\C2\C5\00\D3\C4\D8\00\CF\D8\D4\00\CD\CF\C4\00\C3\C4\CA\00\C9\C0\CD\C5\C0\D2\C9\00\C8\C4\C1\C4\D2\C5\C0\CB\C9\00\CC\C0\D2\D4\C9\00\C0\D0\D2\C9\CB\C9\00\CC\C0\C9\D3\C9\00\C9\C5\CD\C9\D3\C9\00\C9\C5\CB\C9\D3\C9\00\C0\C2\C5\C9\D3\D4\CF\00\D3\C4\D8\D4\C4\CC\C1\C4\D2\C9\00\CF\D8\D4\CF\CC\C1\C4\D2\C9\00\CD\CF\C4\CC\C1\C4\D2\C9\00\C3\C4\CA\C4\CC\C1\C4\D2\C9\00%Y \DF\CB\C9\D3 %d %B, %T %Z\00\E1\83\99\E1\83\95\E1\83\98\00\E1\83\9D\E1\83\A0\E1\83\A8\00\E1\83\A1\E1\83\90\E1\83\9B\00\E1\83\9D\E1\83\97\E1\83\AE\00\E1\83\AE\E1\83\A3\E1\83\97\00\E1\83\9E\E1\83\90\E1\83\A0\00\E1\83\A8\E1\83\90\E1\83\91\00\E1\83\99\E1\83\95\E1\83\98\E1\83\A0\E1\83\90\00\E1\83\9D\E1\83\A0\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\A1\E1\83\90\E1\83\9B\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\9D\E1\83\97\E1\83\AE\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\AE\E1\83\A3\E1\83\97\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\9E\E1\83\90\E1\83\A0\E1\83\90\E1\83\A1\E1\83\99\E1\83\94\E1\83\95\E1\83\98\00\E1\83\A8\E1\83\90\E1\83\91\E1\83\90\E1\83\97\E1\83\98\00\E1\83\98\E1\83\90\E1\83\9C\00\E1\83\97\E1\83\94\E1\83\91\00\E1\83\9B\E1\83\90\E1\83\A0\00\E1\83\90\E1\83\9E\E1\83\A0\00\E1\83\9B\E1\83\90\E1\83\98\00\E1\83\98\E1\83\95\E1\83\9C\00\E1\83\98\E1\83\95\E1\83\9A\00\E1\83\90\E1\83\92\E1\83\95\00\E1\83\A1\E1\83\94\E1\83\A5\00\E1\83\9D\E1\83\A5\E1\83\A2\00\E1\83\9C\E1\83\9D\E1\83\94\00\E1\83\93\E1\83\94\E1\83\99\00\E1\83\98\E1\83\90\E1\83\9C\E1\83\95\E1\83\90\E1\83\A0\E1\83\98\00\E1\83\97\E1\83\94\E1\83\91\E1\83\94\E1\83\A0\E1\83\95\E1\83\90\E1\83\9A\E1\83\98\00\E1\83\9B\E1\83\90\E1\83\A0\E1\83\A2\E1\83\98\00\E1\83\90\E1\83\9E\E1\83\A0\E1\83\98\E1\83\9A\E1\83\98\00\E1\83\9B\E1\83\90\E1\83\98\E1\83\A1\E1\83\98\00\E1\83\98\E1\83\95\E1\83\9C\E1\83\98\E1\83\A1\E1\83\98\00\E1\83\98\E1\83\95\E1\83\9A\E1\83\98\E1\83\A1\E1\83\98\00\E1\83\90\E1\83\92\E1\83\95\E1\83\98\E1\83\A1\E1\83\A2\E1\83\9D\00\E1\83\A1\E1\83\94\E1\83\A5\E1\83\A2\E1\83\94\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00\E1\83\9D\E1\83\A5\E1\83\A2\E1\83\9D\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00\E1\83\9C\E1\83\9D\E1\83\94\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00\E1\83\93\E1\83\94\E1\83\99\E1\83\94\E1\83\9B\E1\83\91\E1\83\94\E1\83\A0\E1\83\98\00%Y \E1\83\AC\E1\83\9A\E1\83\98\E1\83\A1 %d %B, %T %Z\00ata\00pin\00sis\00tal\00arf\00sabaat\00ataasinngorneq\00marlunngorneq\00pingasunngorneq\00sisamanngorneq\00tallimanngorneq\00arfininngorneq\00januari\00februari\00martsi\00aprili\00maji\00augustusi\00septemberi\00oktoberi\00novemberi\00decemberi\00%d %b %Y\00\EC\9D\BC\00\EC\9B\94\00\ED\99\94\00\EC\88\98\00\EB\AA\A9\00\EA\B8\88\00\ED\86\A0\00\EC\9D\BC\EC\9A\94\EC\9D\BC\00\EC\9B\94\EC\9A\94\EC\9D\BC\00\ED\99\94\EC\9A\94\EC\9D\BC\00\EC\88\98\EC\9A\94\EC\9D\BC\00\EB\AA\A9\EC\9A\94\EC\9D\BC\00\EA\B8\88\EC\9A\94\EC\9D\BC\00\ED\86\A0\EC\9A\94\EC\9D\BC\00 1\EC\9B\94\00 2\EC\9B\94\00 3\EC\9B\94\00 4\EC\9B\94\00 5\EC\9B\94\00 6\EC\9B\94\00 7\EC\9B\94\00 8\EC\9B\94\00 9\EC\9B\94\0010\EC\9B\94\0011\EC\9B\94\0012\EC\9B\94\00\EC\9D\BC\EC\9B\94\00\EC\9D\B4\EC\9B\94\00\EC\82\BC\EC\9B\94\00\EC\82\AC\EC\9B\94\00\EC\98\A4\EC\9B\94\00\EC\9C\A0\EC\9B\94\00\EC\B9\A0\EC\9B\94\00\ED\8C\94\EC\9B\94\00\EA\B5\AC\EC\9B\94\00\EC\8B\9C\EC\9B\94\00\EC\8B\AD\EC\9D\BC\EC\9B\94\00\EC\8B\AD\EC\9D\B4\EC\9B\94\00\EC\98\A4\EC\A0\84\00\EC\98\A4\ED\9B\84\00%x (%a) %r\00%Y\EB\85\84 %m\EC\9B\94 %d\EC\9D\BC\00%H\EC\8B\9C %M\EB\B6\84 %S\EC\B4\88\00%p %I\EC\8B\9C %M\EB\B6\84 %S\EC\B4\88\00Mth\00Mhr\00Yow\00De Sul\00De Lun\00De Merth\00De Merher\00De Yow\00De Gwener\00De Sadorn\00Gen\00Whe>\00Me\00Evn\00Est\00Gwn\00Hed\00Kev\00Mys Genver\00Mys Whevrel\00Mys Merth\00Mys Ebrel\00Mys Me\00Mys Evan\00Mys Gortheren\00Mye Est\00Mys Gwyngala\00Mys Hedra\00Mys Du\00Mys Kevardhu\00Sk\00Pr\00An\00Tr\00Kt\00Pn\00\D0t\00Sekmadienis\00Pirmadienis\00Antradienis\00Tre\E8iadienis\00Ketvirtadienis\00Penktadienis\00\D0e\F0tadienis\00Sau\00Vas\00Kov\00Bal\00Geg\00Bir\00Lie\00Rgp\00Rgs\00Spa\00Lap\00Grd\00sausio\00vasario\00kovo\00baland\FEio\00gegu\FE\EBs\00bir\FEelio\00liepos\00rugpj\FB\E8io\00rugs\EBjo\00spalio\00lapkri\E8io\00gruod\FEio\00%Y m. %B %d d. %T\00%Y.%m.%d\00\C5\A0t\00Tre\C4\8Diadienis\00\C5\A0e\C5\A1tadienis\00baland\C5\BEio\00gegu\C5\BE\C4\97s\00bir\C5\BEelio\00rugpj\C5\AB\C4\8Dio\00rugs\C4\97jo\00lapkri\C4\8Dio\00gruod\C5\BEio\00Sv\00P\A0\00O\A0\00T\A0\00C\A0\00Pk\00S\A0\00sv\E7tdiena\00pirmdiena\00otrdiena\00tre\F0diena\00ceturtdiena\00piektdiena\00sestdiena\00j\FBn\00j\FBl\00janv\E2ris\00febru\E2ris\00apr\EElis\00maijs\00j\FBnijs\00j\FBlijs\00augusts\00septembris\00oktobris\00novembris\00decembris\00%A, %Y. gada %e. %B, plkst. %H un %M\00%Y.%m.%d.\00P\C2\A0\00O\C2\A0\00T\C2\A0\00C\C2\A0\00S\C2\A0\00sv\C4\93tdiena\00tre\C5\A1diena\00j\C5\ABn\00j\C5\ABl\00janv\C4\81ris\00febru\C4\81ris\00apr\C4\ABlis\00j\C5\ABnijs\00j\C5\ABlijs\00Ta\00T\FB\00We\00T\E2i\00Pa\00H\E2\00R\E2tapu\00Mane\00T\FBrei\00Wenerei\00T\E2ite\00Paraire\00H\E2tarei\00Kohi\00Hui\00Pou\00Pae\00Hara\00Pipi\00H\F4ngoi\00Mahu\00Whi-nu\00Whi-ra\00Haki\00Kohi-t\E2tea\00Hui-tanguru\00Pout\FB-te-rangi\00Paenga-wh\E2wh\E2\00Haratua\00Pipiri\00H\F4ngoingoi\00Here-turi-k\F4k\E2\00Mahuru\00Whiringa-\E2-nuku\00Whiringa-\E2-rangi\00Hakihea\00Te %A, te %d o %B, %Y %T %Z\00T\C5\AB\00T\C4\81i\00H\C4\81\00R\C4\81tapu\00T\C5\ABrei\00T\C4\81ite\00H\C4\81tarei\00H\C5\8Dngoi\00Kohi-t\C4\81tea\00Pout\C5\AB-te-rangi\00Paenga-wh\C4\81wh\C4\81\00H\C5\8Dngoingoi\00Here-turi-k\C5\8Dk\C4\81\00Whiringa-\C4\81-nuku\00Whiringa-\C4\81-rangi\00\DD\D5\D4\00\DF\DE\DD\00\D2\E2\DE\00\E1\E0\D5\00\E7\D5\E2\00\DF\D5\E2\00\E1\D0\D1\00\DD\D5\D4\D5\DB\D0\00\DF\DE\DD\D5\D4\D5\DB\DD\D8\DA\00\D2\E2\DE\E0\DD\D8\DA\00\E1\E0\D5\D4\D0\00\E7\D5\E2\D2\E0\E2\DE\DA\00\DF\D5\E2\DE\DA\00\E1\D0\D1\DE\E2\D0\00\F8\D0\DD\00\E4\D5\D2\00\DC\D0\E0\00\D0\DF\E0\00\DC\D0\F8\00\F8\E3\DD\00\F8\E3\DB\00\D0\D2\D3\00\E1\D5\DF\00\DE\DA\E2\00\DD\DE\D5\00\D4\D5\DA\00\F8\D0\DD\E3\D0\E0\D8\00\E4\D5\D2\E0\E3\D0\E0\D8\00\DC\D0\E0\E2\00\D0\DF\E0\D8\DB\00\F8\E3\DD\D8\00\F8\E3\DB\D8\00\D0\D2\D3\E3\E1\E2\00\E1\D5\DF\E2\D5\DC\D2\E0\D8\00\DE\DA\E2\DE\DC\D2\E0\D8\00\DD\DE\D5\DC\D2\E0\D8\00\D4\D5\DA\D5\DC\D2\E0\D8\00%a, %d %b %Y %T %Z\00\D0\BD\D0\B5\D0\B4\00\D0\BF\D0\BE\D0\BD\00\D0\B2\D1\82\D0\BE\00\D1\81\D1\80\D0\B5\00\D1\87\D0\B5\D1\82\00\D0\BF\D0\B5\D1\82\00\D1\81\D0\B0\D0\B1\00\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D0\B0\00\D1\81\D1\80\D0\B5\D0\B4\D0\B0\00\D1\87\D0\B5\D1\82\D0\B2\D1\80\D1\82\D0\BE\D0\BA\00\D0\BF\D0\B5\D1\82\D0\BE\D0\BA\00\D1\81\D0\B0\D0\B1\D0\BE\D1\82\D0\B0\00\D1\98\D0\B0\D0\BD\00\D0\BC\D0\B0\D1\98\00\D1\98\D1\83\D0\BD\00\D1\98\D1\83\D0\BB\00\D1\98\D0\B0\D0\BD\D1\83\D0\B0\D1\80\D0\B8\00\D1\98\D1\83\D0\BD\D0\B8\00\D1\98\D1\83\D0\BB\D0\B8\00\E0\A4\B0\E0\A4\B5\E0\A4\BF\00\E0\A4\B8\E0\A5\8B\E0\A4\AE\00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B3\00\E0\A4\AC\E0\A5\81\E0\A4\A7\00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81\00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0\00\E0\A4\B6\E0\A4\A8\E0\A4\BF\00\E0\A4\B0\E0\A4\B5\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\B8\E0\A5\8B\E0\A4\AE\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\AE\E0\A4\82\E0\A4\97\E0\A4\B3\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\97\E0\A5\81\E0\A4\B0\E0\A5\81\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\B6\E0\A5\81\E0\A4\95\E0\A5\8D\E0\A4\B0\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\B6\E0\A4\A8\E0\A4\BF\E0\A4\B5\E0\A4\BE\E0\A4\B0\00\E0\A4\9C\E0\A4\BE\E0\A4\A8\E0\A5\87\E0\A4\B5\E0\A4\BE\E0\A4\B0\E0\A5\80\00\E0\A4\AB\E0\A5\87\E0\A4\AC\E0\A5\83\E0\A4\B5\E0\A4\BE\E0\A4\B0\E0\A5\80\00\E0\A4\8F\E0\A4\AA\E0\A5\8D\E0\A4\B0\E0\A4\BF\E0\A4\B2\00\E0\A4\AE\E0\A5\87\00\E0\A4\9C\E0\A5\81\E0\A4\B2\E0\A5\88\00\E0\A4\93\E0\A4\97\E0\A4\B8\E0\A5\8D\E0\A4\9F\00\E0\A4\B8\E0\A5\87\E0\A4\AA\E0\A5\8D\E0\A4\9F\E0\A5\87\E0\A4\82\E0\A4\AC\E0\A4\B0\00\E0\A4\93\E0\A4\95\E0\A5\8D\E0\A4\9F\E0\A5\8B\E0\A4\AC\E0\A4\B0\00\E0\A4\A8\E0\A5\8B\E0\A4\B5\E0\A5\8D\E0\A4\B9\E0\A5\87\E0\A4\82\E0\A4\AC\E0\A4\B0\00\E0\A4\A1\E0\A4\BF\E0\A4\B8\E0\A5\87\E0\A4\82\E0\A4\AC\E0\A4\B0\00\E0\A4\AE.\E0\A4\AA\E0\A5\82.\00\E0\A4\AE.\E0\A4\A8\E0\A4\82.\00Ahd\00Isn\00Kha\00Ahad\00Isnin\00Khamis\00Jumaat\00Mac\00Ogos\00Dis\00Februari\00Julai\00Disember\00\A1ad\00Tne\00Tli\00Erb\00\A1am\00\D5im\00Sib\00il-\A1add\00it-Tnejn\00it-Tlieta\00l-Erbg\B1a\00il-\A1amis\00il-\D5img\B1a\00is-Sibt\00Fra\00Mej\00\D5un\00Lul\00Awi\00Ott\00Di\E5\00Jannar\00Frar\00Marzu\00Mejju\00\D5unju\00Lulju\00Awissu\00Settembru\00Ottubru\00Novembru\00Di\E5embru \00%A, %d ta %b, %Y %I:%M:%S %p %Z\00%A, %d ta %b, %Y\00\C4\A6ad\00\C4\A6am\00\C4\A0im\00il-\C4\A6add\00l-Erbg\C4\A7a\00il-\C4\A6amis\00il-\C4\A0img\C4\A7a\00\C4\A0un\00Di\C4\8B\00\C4\A0unju\00Di\C4\8Bembru \00zo\00di\00wo\00do\00vr\00za\00zondag\00maandag\00dinsdag\00woensdag\00donderdag\00vrijdag\00zaterdag\00mrt\00mei\00maart\00augustus\00%d-%m-%y\00su \00m\E5 \00ty \00on \00to \00fr \00lau \00sundag \00m\E5ndag \00tysdag \00onsdag \00torsdag \00fredag \00laurdag \00%d. %b %Y kl %H.%M %Z\00%d. %b %Y\00kl %H.%M %Z\00m\C3\A5 \00m\C3\A5ndag \00%a %d-%m-%Y %T %Z\00mec\00j\F3u\00dimenge\00diluns\00dimars\00dij\F3us\00disabte\00ag\F3\00geni\E8r\00febri\E8r\00abrial\00junh\00julhet\00ag\F3st\00decembre\00j\C3\B3u\00dij\C3\B3us\00ag\C3\B3\00geni\C3\A8r\00febri\C3\A8r\00ag\C3\B3st\00nie\00pon\00wto\00\B6ro\00czw\00pi\B1\00sob\00niedziela\00poniedzia\B3ek\00wtorek\00\B6roda\00czwartek\00pi\B1tek\00sobota\00sty\00lut\00kwi\00cze\00lip\00sie\00wrz\00pa\BC\00gru\00stycze\F1\00luty\00marzec\00kwiecie\F1\00czerwiec\00lipiec\00sierpie\F1\00wrzesie\F1\00pa\BCdziernik\00grudzie\F1\00\C5\9Bro\00pi\C4\85\00poniedzia\C5\82ek\00\C5\9Broda\00pi\C4\85tek\00pa\C5\BA\00stycze\C5\84\00kwiecie\C5\84\00sierpie\C5\84\00wrzesie\C5\84\00pa\C5\BAdziernik\00grudzie\C5\84\00Seg\00Ter\00Qua\00Qui\00Sex\00segunda\00ter\E7a\00quarta\00quinta\00sexta\00janeiro\00fevereiro\00mar\E7o\00maio\00junho\00julho\00setembro\00outubro\00novembro\00dezembro\00ter\C3\A7a\00mar\C3\A7o\00Segunda\00Ter\E7a\00Quarta\00Quinta\00Sexta\00Janeiro\00Fevereiro\00Mar\E7o\00Junho\00Julho\00Dezembro\00Ter\C3\A7a\00Mar\C3\A7o\00Lu\00Mi\00Jo\00Vi\00S\EE\00Duminic\C3\00Luni\00Mar\FEi\00Miercuri\00Joi\00Vineri\00S\EEmb\C3t\C3\00ian\00iun\00iul\00Ianuarie\00Martie\00Aprilie\00Iunie\00Iulie\00Septembrie\00Octombrie\00Noiembrie\00Decembrie\00S\C3\AE\00Duminic\C4\82\00Mar\C5\A3i\00S\C3\AEmb\C4\82t\C4\82\00\F7\D3\CB\00\F0\CE\C4\00\F7\D4\D2\00\F3\D2\C4\00\FE\D4\D7\00\F0\D4\CE\00\F3\C2\D4\00\F7\CF\D3\CB\D2\C5\D3\C5\CE\D8\C5\00\F0\CF\CE\C5\C4\C5\CC\D8\CE\C9\CB\00\F7\D4\CF\D2\CE\C9\CB\00\F3\D2\C5\C4\C1\00\FE\C5\D4\D7\C5\D2\C7\00\F0\D1\D4\CE\C9\C3\C1\00\F3\D5\C2\C2\CF\D4\C1\00\F1\CE\D7\00\E6\C5\D7\00\ED\C1\D2\00\E1\D0\D2\00\ED\C1\CA\00\E9\C0\CE\00\E9\C0\CC\00\E1\D7\C7\00\F3\C5\CE\00\EF\CB\D4\00\EE\CF\D1\00\E4\C5\CB\00\F1\CE\D7\C1\D2\D1\00\E6\C5\D7\D2\C1\CC\D1\00\ED\C1\D2\D4\C1\00\E1\D0\D2\C5\CC\D1\00\ED\C1\D1\00\E9\C0\CE\D1\00\E9\C0\CC\D1\00\E1\D7\C7\D5\D3\D4\C1\00\F3\C5\CE\D4\D1\C2\D2\D1\00\EF\CB\D4\D1\C2\D2\D1\00\EE\CF\D1\C2\D2\D1\00\E4\C5\CB\C1\C2\D2\D1\00\B2\E1\DA\00\BF\DD\D4\00\B2\E2\E0\00\C1\E0\D4\00\C7\E2\D2\00\BF\E2\DD\00\C1\D1\E2\00\B2\DE\E1\DA\E0\D5\E1\D5\DD\EC\D5\00\BF\DE\DD\D5\D4\D5\DB\EC\DD\D8\DA\00\B2\E2\DE\E0\DD\D8\DA\00\C1\E0\D5\D4\D0\00\C7\D5\E2\D2\D5\E0\D3\00\BF\EF\E2\DD\D8\E6\D0\00\C1\E3\D1\D1\DE\E2\D0\00\CF\DD\D2\00\C4\D5\D2\00\BC\D0\E0\00\B0\DF\E0\00\BC\D0\D9\00\B8\EE\DD\00\B8\EE\DB\00\B0\D2\D3\00\C1\D5\DD\00\BE\DA\E2\00\BD\DE\EF\00\B4\D5\DA\00\CF\DD\D2\D0\E0\EF\00\C4\D5\D2\E0\D0\DB\EF\00\BC\D0\E0\E2\D0\00\B0\DF\E0\D5\DB\EF\00\BC\D0\EF\00\B8\EE\DD\EF\00\B8\EE\DB\EF\00\B0\D2\D3\E3\E1\E2\D0\00\C1\D5\DD\E2\EF\D1\E0\EF\00\BE\DA\E2\EF\D1\E0\EF\00\BD\DE\EF\D1\E0\EF\00\B4\D5\DA\D0\D1\E0\EF\00\D0\92\D1\81\D0\BA\00\D0\9F\D0\BD\D0\B4\00\D0\92\D1\82\D1\80\00\D0\A7\D1\82\D0\B2\00\D0\9F\D1\82\D0\BD\00\D0\A1\D0\B1\D1\82\00\D0\92\D0\BE\D1\81\D0\BA\D1\80\D0\B5\D1\81\D0\B5\D0\BD\D1\8C\D0\B5\00\D0\9F\D0\BE\D0\BD\D0\B5\D0\B4\D0\B5\D0\BB\D1\8C\D0\BD\D0\B8\D0\BA\00\D0\92\D1\82\D0\BE\D1\80\D0\BD\D0\B8\D0\BA\00\D0\A1\D1\80\D0\B5\D0\B4\D0\B0\00\D0\A7\D0\B5\D1\82\D0\B2\D0\B5\D1\80\D0\B3\00\D0\9F\D1\8F\D1\82\D0\BD\D0\B8\D1\86\D0\B0\00\D0\A1\D1\83\D0\B1\D0\B1\D0\BE\D1\82\D0\B0\00\D0\AF\D0\BD\D0\B2\00\D0\A4\D0\B5\D0\B2\00\D0\9C\D0\B0\D1\80\00\D0\90\D0\BF\D1\80\00\D0\9C\D0\B0\D0\B9\00\D0\98\D1\8E\D0\BD\00\D0\98\D1\8E\D0\BB\00\D0\90\D0\B2\D0\B3\00\D0\A1\D0\B5\D0\BD\00\D0\9E\D0\BA\D1\82\00\D0\9D\D0\BE\D1\8F\00\D0\94\D0\B5\D0\BA\00\D0\AF\D0\BD\D0\B2\D0\B0\D1\80\D1\8F\00\D0\A4\D0\B5\D0\B2\D1\80\D0\B0\D0\BB\D1\8F\00\D0\9C\D0\B0\D1\80\D1\82\D0\B0\00\D0\90\D0\BF\D1\80\D0\B5\D0\BB\D1\8F\00\D0\9C\D0\B0\D1\8F\00\D0\98\D1\8E\D0\BD\D1\8F\00\D0\98\D1\8E\D0\BB\D1\8F\00\D0\90\D0\B2\D0\B3\D1\83\D1\81\D1\82\D0\B0\00\D0\A1\D0\B5\D0\BD\D1\82\D1\8F\D0\B1\D1\80\D1\8F\00\D0\9E\D0\BA\D1\82\D1\8F\D0\B1\D1\80\D1\8F\00\D0\9D\D0\BE\D1\8F\D0\B1\D1\80\D1\8F\00\D0\94\D0\B5\D0\BA\D0\B0\D0\B1\D1\80\D1\8F\00\F7\D4\CF\00\F3\D5\C2\00\F1\CE\D7\C1\D2\D8\00\E6\C5\D7\D2\C1\CC\D8\00\ED\C1\D2\D4\00\E1\D0\D2\C5\CC\D8\00\E9\C0\CE\D8\00\E9\C0\CC\D8\00\E1\D7\C7\D5\D3\D4\00\F3\C5\CE\D4\D1\C2\D2\D8\00\EF\CB\D4\D1\C2\D2\D8\00\EE\CF\D1\C2\D2\D8\00\E4\C5\CB\C1\C2\D2\D8\00\D0\92\D1\82\D0\BE\00\D0\AF\D0\BD\D0\B2\D0\B0\D1\80\D1\8C\00\D0\A4\D0\B5\D0\B2\D1\80\D0\B0\D0\BB\D1\8C\00\D0\9C\D0\B0\D1\80\D1\82\00\D0\90\D0\BF\D1\80\D0\B5\D0\BB\D1\8C\00\D0\98\D1\8E\D0\BD\D1\8C\00\D0\98\D1\8E\D0\BB\D1\8C\00\D0\90\D0\B2\D0\B3\D1\83\D1\81\D1\82\00\D0\A1\D0\B5\D0\BD\D1\82\D1\8F\D0\B1\D1\80\D1\8C\00\D0\9E\D0\BA\D1\82\D1\8F\D0\B1\D1\80\D1\8C\00\D0\9D\D0\BE\D1\8F\D0\B1\D1\80\D1\8C\00\D0\94\D0\B5\D0\BA\D0\B0\D0\B1\D1\80\D1\8C\00sotn\00vuos\00ma\C5\8B\00gask\00duor\00bear\00l\C3\A1v\00sotnabeaivi\00vuoss\C3\A1rga\00ma\C5\8B\C5\8Bebarga\00gaskavahkku\00duorasdat\00bearjadat\00l\C3\A1vvardat\00o\C4\91\C4\91j\00guov\00njuk\00cuo\C5\8B\00mies\00geas\00suoi\00borg\00\C4\8Dak\C4\8D\00golg\00sk\C3\A1b\00juov\00o\C4\91\C4\91ajagem\C3\A1nu\00guovvam\C3\A1nu\00njuk\C4\8Dam\C3\A1nu\00cuo\C5\8Bom\C3\A1nu\00miessem\C3\A1nu\00geassem\C3\A1nu\00suoidnem\C3\A1nu\00borgem\C3\A1nu\00\C4\8Dak\C4\8Dam\C3\A1nu\00golggotm\C3\A1nu\00sk\C3\A1bmam\C3\A1nu\00juovlam\C3\A1nu\00%a, %b %e. b. %Y %T %Z\00Ut\00\A9t\00Pi\00Nede\B5a\00Pondelok\00Utorok\00Streda\00\A9tvrtok\00Piatok\00marec\00Nede\C4\BEa\00\C5\A0tvrtok\00ned\00sre\00\E8et\00pet\00nedelja\00ponedeljek\00torek\00sreda\00\E8etrtek\00petek\00avg\00junij\00julij\00avgust\00\C4\8Det\00\C4\8Detrtek\00Die \00H\EBn \00Mar \00M\EBr \00Enj \00Pre \00Sht \00e diel \00e h\EBn\EB \00e mart\EB \00e m\EBrkur\EB \00e enjte \00e premte \00e shtun\EB \00Shk\00Pri\00Qer\00Kor\00Gsh\00Sht\00Tet\00N\EBn\00Dhj\00janar\00shkurt\00prill\00qershor\00korrik\00gusht\00shtator\00tetor\00n\EBntor\00dhjetor\00PD\00MD\00%Y-%b-%d %I.%M.%S.%p %Z\00%Y-%b-%d\00%I.%M.%S. %Z\00%I.%M.%S.%p %Z\00H\C3\ABn \00M\C3\ABr \00e h\C3\ABn\C3\AB \00e mart\C3\AB \00e m\C3\ABrkur\C3\AB \00e shtun\C3\AB \00N\C3\ABn\00n\C3\ABntor\00uto\00sub\00ponedeljak\00utorak\00\E8etvrtak\00petak\00subota\00septembar\00oktobar\00novembar\00decembar\00%d-%m-%Y.\00\C4\8Detvrtak\00\E3\E2\DE\00\E1\E3\D1\00\DD\D5\D4\D5\F9a\00\DF\DE\DD\D5\D4\D5\F9\D0\DA\00\E3\E2\DE\E0\D0\DA\00\E7\D5\E2\D2\E0\E2\D0\DA\00\DF\D5\E2\D0\DA\00\E1\E3\D1\DE\E2\D0\00\E4\D5\D1\00\DD\DE\D2\00\D4\D5\E6\00\F8\D0\DD\E3\D0\E0\00\E4\D5\D1\E0\E3\D0\E0\00\E1\D5\DF\E2\D5\DC\D1\D0\E0\00\DE\DA\E2\DE\D1\D0\E0\00\DD\DE\D2\D5\DC\D1\D0\E0\00\D4\D5\E6\D5\DC\D1\D0\E0\00+%a %d %b %Y %T %Z\00\D1\83\D1\82\D0\BE\00\D1\81\D1\83\D0\B1\00\D0\BD\D0\B5\D0\B4\D0\B5\D1\99a\00\D0\BF\D0\BE\D0\BD\D0\B5\D0\B4\D0\B5\D1\99\D0\B0\D0\BA\00\D1\83\D1\82\D0\BE\D1\80\D0\B0\D0\BA\00\D1\87\D0\B5\D1\82\D0\B2\D1\80\D1\82\D0\B0\D0\BA\00\D0\BF\D0\B5\D1\82\D0\B0\D0\BA\00\D1\81\D1\83\D0\B1\D0\BE\D1\82\D0\B0\00\D1\84\D0\B5\D0\B1\00\D0\BD\D0\BE\D0\B2\00\D0\B4\D0\B5\D1\86\00\D1\98\D0\B0\D0\BD\D1\83\D0\B0\D1\80\00\D1\84\D0\B5\D0\B1\D1\80\D1\83\D0\B0\D1\80\00\D1\81\D0\B5\D0\BF\D1\82\D0\B5\D0\BC\D0\B1\D0\B0\D1\80\00\D0\BE\D0\BA\D1\82\D0\BE\D0\B1\D0\B0\D1\80\00\D0\BD\D0\BE\D0\B2\D0\B5\D0\BC\D0\B1\D0\B0\D1\80\00\D0\B4\D0\B5\D1\86\D0\B5\D0\BC\D0\B1\D0\B0\D1\80\00s\F6n\00m\E5n\00tis\00l\F6r\00s\F6ndag\00m\E5ndag\00tisdag\00l\F6rdag\00augusti\00%a %e %b %Y %H.%M.%S\00s\C3\B6n\00m\C3\A5n\00l\C3\B6r\00s\C3\B6ndag\00m\C3\A5ndag\00l\C3\B6rdag\00\E0\AE\9E\00\E0\AE\A4\00\E0\AE\9A\00\E0\AE\AA\00\E0\AE\B5\00\E0\AE\9E\E0\AE\BE\E0\AE\AF\E0\AE\BF\E0\AE\B1\E0\AF\81\00\E0\AE\A4\E0\AE\BF\E0\AE\99\E0\AF\8D\E0\AE\95\E0\AE\B3\E0\AF\8D\00\E0\AE\9A\E0\AF\86\E0\AE\B5\E0\AF\8D\E0\AE\B5\E0\AE\BE\E0\AE\AF\E0\AF\8D\00\E0\AE\AA\E0\AF\81\E0\AE\A4\E0\AE\A9\E0\AF\8D\00\E0\AE\B5\E0\AE\BF\E0\AE\AF\E0\AE\BE\E0\AE\B4\E0\AE\A9\E0\AF\8D\00\E0\AE\B5\E0\AF\86\E0\AE\B3\E0\AF\8D\E0\AE\B3\E0\AE\BF\00\E0\AE\9A\E0\AE\A9\E0\AE\BF\00\E0\AE\9C\E0\AE\A9\E0\AE\B5\E0\AE\B0\E0\AE\BF\00\E0\AE\AA\E0\AF\86\E0\AE\AA\E0\AF\8D\E0\AE\B0\E0\AE\B5\E0\AE\B0\E0\AE\BF\00\E0\AE\AE\E0\AE\BE\E0\AE\B0\E0\AF\8D\E0\AE\9A\E0\AF\8D\00\E0\AE\8F\E0\AE\AA\E0\AF\8D\E0\AE\B0\E0\AE\B2\E0\AF\8D\00\E0\AE\AE\E0\AF\87\00\E0\AE\9C\E0\AF\82\E0\AE\A9\E0\AF\8D\00\E0\AE\9C\E0\AF\82\E0\AE\B2\E0\AF\88\00\E0\AE\86\E0\AE\95\E0\AE\B8\E0\AF\8D\E0\AE\9F\E0\AF\8D\00\E0\AE\9A\E0\AF\86\E0\AE\AA\E0\AF\8D\E0\AE\9F\E0\AE\AE\E0\AF\8D\E0\AE\AA\E0\AE\B0\E0\AF\8D\00\E0\AE\85\E0\AE\95\E0\AF\8D\E0\AE\9F\E0\AF\8B\E0\AE\AA\E0\AE\B0\E0\AF\8D\00\E0\AE\A8\E0\AE\B5\E0\AE\AE\E0\AF\8D\E0\AE\AA\E0\AE\B0\E0\AF\8D\00\E0\AE\9F\E0\AE\BF\E0\AE\9A\E0\AE\AE\E0\AF\8D\E0\AE\AA\E0\AE\B0\E0\AF\8Dr\00\E0\AE\95\E0\AE\BE\E0\AE\B2\E0\AF\88\00\E0\AE\AE\E0\AE\BE\E0\AE\B2\E0\AF\88\00\E0\B0\86\E0\B0\A6\E0\B0\BF\00\E0\B0\B8\E0\B1\8B\E0\B0\AE\00\E0\B0\AE\E0\B0\82\E0\B0\97\E0\B0\B3\00\E0\B0\AC\E0\B1\81\E0\B0\A7\00\E0\B0\97\E0\B1\81\E0\B0\B0\E0\B1\81\00\E0\B0\B6\E0\B1\81\E0\B0\95\E0\B1\8D\E0\B0\B0\00\E0\B0\B6\E0\B0\A8\E0\B0\BF\00\E0\B0\86\E0\B0\A6\E0\B0\BF\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\B8\E0\B1\8B\E0\B0\AE\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\AE\E0\B0\82\E0\B0\97\E0\B0\B3\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\AC\E0\B1\81\E0\B0\A7\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\97\E0\B1\81\E0\B0\B0\E0\B1\81\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\B6\E0\B1\81\E0\B0\95\E0\B1\8D\E0\B0\B0\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\B6\E0\B0\A8\E0\B0\BF\E0\B0\B5\E0\B0\BE\E0\B0\B0\E0\B0\82\00\E0\B0\9C\E0\B0\A8\E0\B0\B5\E0\B0\B0\E0\B0\BF\00\E0\B0\AB\E0\B0\BF\E0\B0\AC\E0\B1\8D\E0\B0\B0\E0\B0\B5\E0\B0\B0\E0\B0\BF\00\E0\B0\AE\E0\B0\BE\E0\B0\B0\E0\B1\8D\E0\B0\9A\E0\B0\BF\00\E0\B0\8F\E0\B0\AA\E0\B1\8D\E0\B0\B0\E0\B0\BF\E0\B0\B2\E0\B1\8D\00\E0\B0\AE\E0\B1\87\00\E0\B0\9C\E0\B1\82\E0\B0\A8\E0\B1\8D\00\E0\B0\9C\E0\B1\82\E0\B0\B2\E0\B1\88\00\E0\B0\86\E0\B0\97\E0\B0\B8\E0\B1\8D\E0\B0\9F\E0\B1\81\00\E0\B0\B8\E0\B1\86\E0\B0\AA\E0\B1\8D\E0\B0\9F\E0\B1\86\E0\B0\82\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\85\E0\B0\95\E0\B1\8D\E0\B0\9F\E0\B1\8B\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\A8\E0\B0\B5\E0\B0\82\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\A1\E0\B0\BF\E0\B0\B8\E0\B1\86\E0\B0\82\E0\B0\AC\E0\B0\B0\E0\B1\8D\00\E0\B0\AA\E0\B1\82\E0\B0\B0\E0\B1\8D\E0\B0\B5\E0\B0\BE\E0\B0\B9\E0\B1\8D\E0\B0\A8\00\E0\B0\85\E0\B0\AA\E0\B0\B0\E0\B0\BE\E0\B0\B9\E0\B1\8D\E0\B0\A8\00\CD\D2.\00\A8.\00\CD.\00\BE.\00\BE\C4.\00\C8.\00\CA.\00\CD\D2\B7\D4\B5\C2\EC\00\A8\D1\B9\B7\C3\EC\00\CD\D1\A7\A4\D2\C3\00\BE\D8\B8\00\BE\C4\CB\D1\CA\BA\B4\D5\00\C8\D8\A1\C3\EC\00\E0\CA\D2\C3\EC\00\C1.\A4.\00\A1.\BE.\00\C1\D5.\A4.\00\E0\C1.\C2.\00\BE.\A4.\00\C1\D4.\C2.\00\A1.\A4.\00\CA.\A4.\00\A1.\C2.\00\B5.\A4.\00\BE.\C2.\00\B8.\A4.\00\C1\A1\C3\D2\A4\C1\00\A1\D8\C1\C0\D2\BE\D1\B9\B8\EC\00\C1\D5\B9\D2\A4\C1\00\E0\C1\C9\D2\C2\B9\00\BE\C4\C9\C0\D2\A4\C1\00\C1\D4\B6\D8\B9\D2\C2\B9\00\A1\C3\A1\AE\D2\A4\C1\00\CA\D4\A7\CB\D2\A4\C1\00\A1\D1\B9\C2\D2\C2\B9\00\B5\D8\C5\D2\A4\C1\00\BE\C4\C8\A8\D4\A1\D2\C2\B9\00\B8\D1\B9\C7\D2\A4\C1\00%a %e %b %Ey, %H:%M:%S\00%d/%m/%Ey\00+:1:-543/01/01:+*:\BE.\C8.:%EC %Ey\00\00%e %b %Ey\00\C7\D1\B9%A\B7\D5\E8 %e %B %EC %Ey, %H.%M.%S \B9.\00%H.%M.%S \B9.\00\E0\B8\AD\E0\B8\B2.\00\E0\B8\88.\00\E0\B8\AD.\00\E0\B8\9E.\00\E0\B8\9E\E0\B8\A4.\00\E0\B8\A8.\00\E0\B8\AA.\00\E0\B8\AD\E0\B8\B2\E0\B8\97\E0\B8\B4\E0\B8\95\E0\B8\A2\E0\B9\8C\00\E0\B8\88\E0\B8\B1\E0\B8\99\E0\B8\97\E0\B8\A3\E0\B9\8C\00\E0\B8\AD\E0\B8\B1\E0\B8\87\E0\B8\84\E0\B8\B2\E0\B8\A3\00\E0\B8\9E\E0\B8\B8\E0\B8\98\00\E0\B8\9E\E0\B8\A4\E0\B8\AB\E0\B8\B1\E0\B8\AA\E0\B8\9A\E0\B8\94\E0\B8\B5\00\E0\B8\A8\E0\B8\B8\E0\B8\81\E0\B8\A3\E0\B9\8C\00\E0\B9\80\E0\B8\AA\E0\B8\B2\E0\B8\A3\E0\B9\8C\00\E0\B8\A1.\E0\B8\84.\00\E0\B8\81.\E0\B8\9E.\00\E0\B8\A1\E0\B8\B5.\E0\B8\84.\00\E0\B9\80\E0\B8\A1.\E0\B8\A2.\00\E0\B8\9E.\E0\B8\84.\00\E0\B8\A1\E0\B8\B4.\E0\B8\A2.\00\E0\B8\81.\E0\B8\84.\00\E0\B8\AA.\E0\B8\84.\00\E0\B8\81.\E0\B8\A2.\00\E0\B8\95.\E0\B8\84.\00\E0\B8\9E.\E0\B8\A2.\00\E0\B8\98.\E0\B8\84.\00\E0\B8\A1\E0\B8\81\E0\B8\A3\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\81\E0\B8\B8\E0\B8\A1\E0\B8\A0\E0\B8\B2\E0\B8\9E\E0\B8\B1\E0\B8\99\E0\B8\98\E0\B9\8C\00\E0\B8\A1\E0\B8\B5\E0\B8\99\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B9\80\E0\B8\A1\E0\B8\A9\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\9E\E0\B8\A4\E0\B8\A9\E0\B8\A0\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\A1\E0\B8\B4\E0\B8\96\E0\B8\B8\E0\B8\99\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\81\E0\B8\A3\E0\B8\81\E0\B8\8E\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\AA\E0\B8\B4\E0\B8\87\E0\B8\AB\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\81\E0\B8\B1\E0\B8\99\E0\B8\A2\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\95\E0\B8\B8\E0\B8\A5\E0\B8\B2\E0\B8\84\E0\B8\A1\00\E0\B8\9E\E0\B8\A4\E0\B8\A8\E0\B8\88\E0\B8\B4\E0\B8\81\E0\B8\B2\E0\B8\A2\E0\B8\99\00\E0\B8\98\E0\B8\B1\E0\B8\99\E0\B8\A7\E0\B8\B2\E0\B8\84\E0\B8\A1\00+:1:-543/01/01:+*:\E0\B8\9E.\E0\B8\A8.:%EC %Ey\00\00\E0\B8\A7\E0\B8\B1\E0\B8\99%A\E0\B8\97\E0\B8\B5\E0\B9\88 %e %B %EC %Ey, %H.%M.%S \E0\B8\99.\00%H.%M.%S \E0\B8\99.\00\E1\88\B0\E1\8A\95\E1\89\A0\E1\89\B5\00\E1\88\B0\E1\8A\91\E1\8B\AD\00\E1\88\B0\E1\88\89\E1\88\B5\00\E1\88\93\E1\88\99\E1\88\B5\00\E1\8B\93\E1\88\AD\E1\89\A2\00\E1\89\80\E1\8B\B3\E1\88\9D\00\E1\8C\A5\E1\88\AA\00\E1\88\88\E1\8A\AB\E1\89\B2\00\E1\88\98\E1\8C\8B\E1\89\A2\00\E1\88\9A\E1\8B\AB\E1\8B\9D\00\E1\8C\8D\E1\8A\95\E1\89\A6\00\E1\88\B0\E1\8A\90\00\E1\88\93\E1\88\9D\E1\88\88\00\E1\8A\90\E1\88\93\E1\88\B0\00\E1\88\98\E1\88\B5\E1\8A\A8\00\E1\8C\A5\E1\89\85\E1\88\9D\00\E1\88\95\E1\8B\B3\E1\88\AD\00\E1\89\B3\E1\88\95\E1\88\B3\00\E1\88\88\E1\8A\AB\E1\89\B2\E1\89\B5\00\E1\88\98\E1\8C\8B\E1\89\A2\E1\89\B5\00\E1\88\9A\E1\8B\AB\E1\8B\9D\E1\8B\AB\00\E1\8C\8D\E1\8A\95\E1\89\A6\E1\89\B5\00\E1\88\98\E1\88\B5\E1\8A\A8\E1\88\A8\E1\88\9D\00\E1\8C\A5\E1\89\85\E1\88\9D\E1\89\B2\00\E1\89\B3\E1\88\95\E1\88\B3\E1\88\B5\00\E1\8A\95\E1\8C\89\E1\88\86 \E1\88\B0\E1\8B\93\E1\89\B0\00\E1\8B\B5\E1\88\95\E1\88\AD \E1\88\B0\E1\8B\93\E1\89\B5\00%A\E1\8D\A3 %b %e \E1\88\98\E1\8B\93\E1\88\8D\E1\89\B2 %l:%M:%S %Z %Y\00Lin\00Miy\00Huw\00Biy\00Linggo\00Lunes\00Miyerkoles\00Huwebes\00Biyernes\00Sabado\00Ene\00Hun\00Hul\00Nob\00Enero\00Pebrero\00Marso\00Mayo\00Hunyo\00Hulyo\00Septiyembre\00Oktubre\00Nobiyembre\00Disyembre\00Paz\00Pzt\00Sal\00\C7r\FE\00Pr\FE\00Cum\00Cts\00Pazar\00Pazartesi\00Sal\FD\00\C7ar\FEamba\00Per\FEembe\00Cuma\00Cumartesi\00Oca\00\DEub\00Nis\00Haz\00Tem\00A\F0u\00Eyl\00Eki\00Kas\00Ara\00Ocak\00\DEubat\00Nisan\00May\FDs\00Haziran\00Temmuz\00A\F0ustos\00Eyl\FCl\00Ekim\00Kas\FDm\00Aral\FDk\00\D6\D6\00\D6S\00\C3\87r\C5\9F\00Pr\C5\9F\00Sal\C4\B1\00\C3\87ar\C5\9Famba\00Per\C5\9Fembe\00\C5\9Eub\00A\C4\9Fu\00\C5\9Eubat\00May\C4\B1s\00A\C4\9Fustos\00Eyl\C3\BCl\00Kas\C4\B1m\00Aral\C4\B1k\00\C3\96\C3\96\00\C3\96S\00\D0\AF\D0\BA\D1\88\00\D0\94\D1\8B\D1\88\00\D0\A1\D0\B8\D1\88\00\D0\A7\D3\99\D1\80\D1\88\00\D0\9F\D3\99\D0\BD\D2\97\00\D2\96\D0\BE\D0\BC\00\D0\A8\D0\B8\D0\BC\00\D0\AF\D0\BA\D1\88\D3\99\D0\BC\D0\B1\D0\B5\00\D0\94\D1\8B\D1\88\D3\99\D0\BC\D0\B1\D0\B5\00\D0\A1\D0\B8\D1\88\D3\99\D0\BC\D0\B1\D0\B5\00\D0\A7\D3\99\D1\80\D1\88\D3\99\D3\99\D0\BC\D0\B1\D0\B5\00\D0\9F\D3\99\D0\BD\D2\97\D0\B5\D1\88\D0\BC\D0\B1\D0\B5\00\D2\96\D0\BE\D0\BC\D0\B3\D0\B0\00\D0\A8\D0\B8\D0\BC\D0\B1\D3\99\00\EE\C4\CC\00\EE\C5\C4\A6\CC\D1\00\F0\CF\CE\C5\C4\A6\CC\CF\CB\00\F7\A6\D7\D4\CF\D2\CF\CB\00\F3\C5\D2\C5\C4\C1\00\FE\C5\D4\D7\C5\D2\00\F0'\D1\D4\CE\C9\C3\D1\00\F3\D5\C2\CF\D4\C1\00\F3\A6\DE\00\EC\C0\D4\00\E2\C5\D2\00\EB\D7\A6\00\F4\D2\C1\00\FE\C5\D2\00\EC\C9\D0\00\F3\C5\D2\00\F7\C5\D2\00\F6\CF\D7\00\EC\C9\D3\00\E7\D2\D5\00\F3\A6\DE\C5\CE\D8\00\EC\C0\D4\C9\CA\00\E2\C5\D2\C5\DA\C5\CE\D8\00\EB\D7\A6\D4\C5\CE\D8\00\F4\D2\C1\D7\C5\CE\D8\00\FE\C5\D2\D7\C5\CE\D8\00\EC\C9\D0\C5\CE\D8\00\F3\C5\D2\D0\C5\CE\D8\00\F7\C5\D2\C5\D3\C5\CE\D8\00\F6\CF\D7\D4\C5\CE\D8\00\EC\C9\D3\D4\CF\D0\C1\C4\00\E7\D2\D5\C4\C5\CE\D8\00\D0\9D\D0\B4\D0\BB\00\D0\9D\D0\B5\D0\B4\D1\96\D0\BB\D1\8F\00\D0\9F\D0\BE\D0\BD\D0\B5\D0\B4\D1\96\D0\BB\D0\BE\D0\BA\00\D0\92\D1\96\D0\B2\D1\82\D0\BE\D1\80\D0\BE\D0\BA\00\D0\A1\D0\B5\D1\80\D0\B5\D0\B4\D0\B0\00\D0\A7\D0\B5\D1\82\D0\B2\D0\B5\D1\80\00\D0\9F'\D1\8F\D1\82\D0\BD\D0\B8\D1\86\D1\8F\00\D0\A1\D1\96\D1\87\00\D0\91\D0\B5\D1\80\00\D0\9A\D0\B2\D1\96\00\D0\A7\D0\B5\D1\80\00\D0\9B\D0\B8\D0\BF\00\D0\A1\D0\B5\D1\80\00\D0\92\D0\B5\D1\80\00\D0\96\D0\BE\D0\B2\00\D0\9B\D0\B8\D1\81\00\D0\93\D1\80\D1\83\00\D0\A1\D1\96\D1\87\D0\B5\D0\BD\D1\8C\00\D0\9B\D1\8E\D1\82\D0\B8\D0\B9\00\D0\91\D0\B5\D1\80\D0\B5\D0\B7\D0\B5\D0\BD\D1\8C\00\D0\9A\D0\B2\D1\96\D1\82\D0\B5\D0\BD\D1\8C\00\D0\A7\D0\B5\D1\80\D0\B2\D0\B5\D0\BD\D1\8C\00\D0\9B\D0\B8\D0\BF\D0\B5\D0\BD\D1\8C\00\D0\A1\D0\B5\D1\80\D0\BF\D0\B5\D0\BD\D1\8C\00\D0\92\D0\B5\D1\80\D0\B5\D1\81\D0\B5\D0\BD\D1\8C\00\D0\96\D0\BE\D0\B2\D1\82\D0\B5\D0\BD\D1\8C\00\D0\9B\D0\B8\D1\81\D1\82\D0\BE\D0\BF\D0\B0\D0\B4\00\D0\93\D1\80\D1\83\D0\B4\D0\B5\D0\BD\D1\8C\00\D8\A7\D8\AA\D9\88\D8\A7\D8\B1\00\D9\BE\D9\8A\D8\B1\00\D9\85\D9\86\DA\AF\D9\84\00\D8\A8\D8\AF\DA\BE\00\D8\AC\D9\85\D8\B9\D8\B1\D8\A7\D8\AA\00\D9\87\D9\81\D8\AA\D9\87\00\D8\AC\D9\86\D9\88\D8\B1\D9\8A\00\D9\81\D8\B1\D9\88\D8\B1\D9\8A\00\D9\85\D8\A7\D8\B1\DA\86\00\D8\A7\D9\BE\D8\B1\D9\8A\D9\84\00\D9\85\D9\93\DB\8C\00\D8\AC\D9\88\D9\86\00\D8\AC\D9\88\D9\84\D8\A7\D9\8A\00\D8\A7\DA\AF\D8\B3\D8\AA\00\D8\B3\D8\AA\D9\85\D8\A8\D8\B1\00\D8\A7\D9\83\D8\AA\D9\88\D8\A8\D8\B1\00\D9\86\D9\88\D9\85\D8\A8\D8\B1\00\D8\AF\D8\B3\D9\85\D8\A8\D8\B1\00\D8\B4\00\D9\88 %H:%M:%S %Z \D8\AA %d %B %Y\00%P %I:%M:%S\00Yak\00Se\00Cho\00Pay\00Ju\00Sha\00yakshanba\00dushanba\00seshanba\00chorshanba\00payshanba\00juma\00shanba\00Yav\00Iyn\00Iyl\00Avg\00senyabr\00%T, %d %B, %Y yil, %A\00CN \00Th 2 \00Th 3 \00Th 4 \00Th 5 \00Th 6 \00Th 7 \00Chu\CC\89 nh\C3\A2\CC\A3t \00Th\C6\B0\CC\81 hai \00Th\C6\B0\CC\81 ba \00Th\C6\B0\CC\81 t\C6\B0 \00Th\C6\B0\CC\81 n\C4\83m \00Th\C6\B0\CC\81 s\C3\A1u \00Th\C6\B0\CC\81 ba\CC\89y \00Thg 1\00Thg 2\00Thg 3\00Thg 4\00Thg 5\00Thg 6\00Thg 7\00Thg 8\00Thg 9\00Thg 10\00Thg 11\00Thg 12\00Th\C3\A1ng m\C3\B4\CC\A3t\00Th\C3\A1ng hai\00Th\C3\A1ng ba\00Th\C3\A1ng t\C6\B0\00Th\C3\A1ng n\C4\83m\00Th\C3\A1ng s\C3\A1u\00Th\C3\A1ng ba\CC\89y\00Th\C3\A1ng t\C3\A1m\00Th\C3\A1ng ch\C3\ADn\00Th\C3\A1ng m\C6\B0\C6\A1\CC\80i\00Th\C3\A1ng m\C6\B0\C6\A1\CC\80i m\C3\B4\CC\A3t\00Th\C3\A1ng m\C6\B0\C6\A1\CC\80i hai\00%H:%M:%S %Z %A %d %b %Y\00%H:%M:%S %Z\00d\EEm\00lon\00m\E5r\00dju\00vin\00sem\00d\EEmegne\00londi\00m\E5rdi\00merkidi\00djudi\00vinrdi\00semdi\00dja\00fev\00m\E5s\00djn\00djl\00awo\00n\F4v\00djanv\EE\00fevr\EE\00m\E5ss\00avri\00djun\00djulete\00awousse\00setimbe\00oct\F4be\00n\F4vimbe\00decimbe\00Li %A %d di %B %Y %T %Z\00d\C3\AEm\00m\C3\A5r\00d\C3\AEmegne\00m\C3\A5rdi\00m\C3\A5s\00n\C3\B4v\00djanv\C3\AE\00fevr\C3\AE\00m\C3\A5ss\00oct\C3\B4be\00n\C3\B4vimbe\00\E6\E5\F0'\00\EE\E0\C8\F0'\00\E3\E9\F0'\00\EE\E9\E8'\00\E3\E0\C8\F0'\00\F4\CF\F8\D6\C7'\00\E6\E5\F0\E8\E9\F7\00\EE\E0\C8\F0\E8\E9\F7\00\E3\E9\F0\F1\E8\E9\F7\00\EE\E9\E8\D4\E0\C8\EA\00\E3\E0\C8\F0\F2\F8\F9\E8\E9\F7\00\F4\CF\F8\D6\C7\E8\E9\F7\00\E9\E0\C7\F0'\00\F4\CF\F2\E1'\00\EE\E0\C7\F8'\00\E0\C7\F4\CC\F8'\00\EE\D6\C7\00\E9\E5\F0'\00\E9\E5\EC'\00\E0\D5\E2'\00\F1\F2\F4\CC'\00\E0\C8\F7\E8'\00\F0\E0\C8\D4'\00\E3\F2\F6'\00\E9\E0\C7\F0\E5\E0\C7\F8\00\F4\CF\F2\E1\F8\E5\E0\C7\F8\00\EE\E0\C7\F8\F5\00\E0\C7\F4\CC\F8\E9\EC\00\E0\D5\E2\F1\E8\00\F1\F2\F4\CC\E8\F2\EE\E1\F2\F8\00\E0\C8\F7\E8\E0\C8\E1\F2\F8\00\F0A\C8\D4\F2\EE\E1\F2\F8\00\D7\96\D7\95\D7\A0'\00\D7\9E\D7\90\D6\B8\D7\A0'\00\D7\93\D7\99\D7\A0'\00\D7\9E\D7\99\D7\98'\00\D7\93\D7\90\D6\B8\D7\A0'\00\D7\A4\D6\BF\D7\A8\D7\B2\D6\B7'\00\D7\96\D7\95\D7\A0\D7\98\D7\99\D7\A7\00\D7\9E\D7\90\D6\B8\D7\A0\D7\98\D7\99\D7\A7\00\D7\93\D7\99\D7\A0\D7\A1\D7\98\D7\99\D7\A7\00\D7\9E\D7\99\D7\98\D7\B0\D7\90\D6\B8\D7\9A\00\D7\93\D7\90\D6\B8\D7\A0\D7\A2\D7\A8\D7\A9\D7\98\D7\99\D7\A7\00\D7\A4\D6\BF\D7\A8\D7\B2\D6\B7\D7\98\D7\99\D7\A7\00\D7\99\D7\90\D6\B7\D7\A0'\00\D7\A4\D6\BF\D7\A2\D7\91'\00\D7\9E\D7\90\D6\B7\D7\A8'\00\D7\90\D6\B7\D7\A4\D6\BC\D7\A8'\00\D7\9E\D7\B2\D6\B7\00\D7\99\D7\95\D7\A0'\00\D7\99\D7\95\D7\9C'\00\D7\90\D7\B1\D7\92'\00\D7\A1\D7\A2\D7\A4\D6\BC'\00\D7\90\D6\B8\D7\A7\D7\98'\00\D7\A0\D7\90\D6\B8\D7\B0'\00\D7\93\D7\A2\D7\A6'\00\D7\99\D7\90\D6\B7\D7\A0\D7\95\D7\90\D6\B7\D7\A8\00\D7\A4\D6\BF\D7\A2\D7\91\D7\A8\D7\95\D7\90\D6\B7\D7\A8\00\D7\9E\D7\90\D6\B7\D7\A8\D7\A5\00\D7\90\D6\B7\D7\A4\D6\BC\D7\A8\D7\99\D7\9C\00\D7\90\D7\B1\D7\92\D7\A1\D7\98\00\D7\A1\D7\A2\D7\A4\D6\BC\D7\98\D7\A2\D7\9E\D7\91\D7\A2\D7\A8\00\D7\90\D6\B8\D7\A7\D7\98\D7\90\D6\B8\D7\91\D7\A2\D7\A8\00\D7\A0A\D6\B8\D7\B0\D7\A2\D7\9E\D7\91\D7\A2\D7\A8\00\E4\B8\80\00\E4\BA\8C\00\E4\B8\89\00\E5\9B\9B\00\E4\BA\94\00\E5\85\AD\00\E6\98\9F\E6\9C\9F\E6\97\A5\00\E6\98\9F\E6\9C\9F\E4\B8\80\00\E6\98\9F\E6\9C\9F\E4\BA\8C\00\E6\98\9F\E6\9C\9F\E4\B8\89\00\E6\98\9F\E6\9C\9F\E5\9B\9B\00\E6\98\9F\E6\9C\9F\E4\BA\94\00\E6\98\9F\E6\9C\9F\E5\85\AD\00\E4\B8\80\E6\9C\88\00\E4\BA\8C\E6\9C\88\00\E4\B8\89\E6\9C\88\00\E5\9B\9B\E6\9C\88\00\E4\BA\94\E6\9C\88\00\E5\85\AD\E6\9C\88\00\E4\B8\83\E6\9C\88\00\E5\85\AB\E6\9C\88\00\E4\B9\9D\E6\9C\88\00\E5\8D\81\E6\9C\88\00\E5\8D\81\E4\B8\80\E6\9C\88\00\E5\8D\81\E4\BA\8C\E6\9C\88\00\E4\B8\8A\E5\8D\88\00\E4\B8\8B\E5\8D\88\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %A %H\E6\97\B6%M\E5\88\86%S\E7\A7\92\00%H\E6\97\B6%M\E5\88\86%S\E7\A7\92\00%p %I\E6\97\B6%M\E5\88\86%S\E7\A7\92\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %A %H:%M:%S\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %A\00%I\E6\99\82%M\E5\88\86%S\E7\A7\92 %Z\00%p %I:%M:%S\00%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 %H\E6\97\B6%M\E5\88\86%S\E7\A7\92 %Z\00%H\E6\97\B6%M\E5\88\86%S\E7\A7\92 %Z\00\E9\80\B1\E6\97\A5\00\E9\80\B1\E4\B8\80\00\E9\80\B1\E4\BA\8C\00\E9\80\B1\E4\B8\89\00\E9\80\B1\E5\9B\9B\00\E9\80\B1\E4\BA\94\00\E9\80\B1\E5\85\AD\00\E8\A5\BF\E5\85\83%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5 (%A) %H\E6\99\82%M\E5\88\86%S\E7\A7\92\00\E8\A5\BF\E5\85\83%Y\E5\B9\B4%m\E6\9C\88%d\E6\97\A5\00%p %I\E6\99\82%M\E5\88\86%S\E7\A7\92\00", [1804 x i8] c"\00^[yY]\00^[nN]\00[jJ].*\00[nN].*\00^[yY].*\00^[nN].*\00^[\E6].*\00^[\E4].*\00^[\D9\86].*\00^[\D9\84].*\00^[\D9\86]\00^[\D9\84]\00\D9\86\D8\B9\D9\85\00\D9\84\D8\A7\00^(\E6|\E6\D9\E5)\00^(\E4|\E4\C7)\00\E6\D9\E5\00\E4\C7\00^(\D9\86|\D9\86\D8\B9\D9\85)\00^(\D9\84|\D9\84\D8\A7)\00^[Bb].*\00^[YyNn].*\00yox\00b\C9\99li\00^[\C4\E4Yy].*\00^[\CD\EDNn].*\00^[\D0\94\D0\B4Yy].*\00^[\D0\9D\D0\BDNn].*\00^[+1\C4\E4DdYyOo].*\00^[-0\CD\EDNnKk].*\00^[+1\D0\94\D0\B4DdYyOo].*\00^[-0\D0\9D\D0\BDNnKk].*\00[yYsS\D5\A1\D4\B1].*\00[nN\D5\B8\D5\88].*\00\D5\A1\D5\B5\D5\B8\00\D5\B8\D5\B9\00^[\E0\A6\B9\E0\A7\8D\E0\A6\AF\E0\A6\BE\E0\A6\81]\00^[\E0\A6\A8\E0\A6\BE]\00\E0\A6\B9\E0\A7\8D\E0\A6\AF\E0\A6\BE\E0\A6\81\00\E0\A6\A8\E0\A6\BE\00[oOyY].*\00^[dDyY]*.\00^[nN]*.\00[sSyY].*\00^[aAyY].*\00ano\00ne\00[iItTyY].*\00ie\00na\00^[1JjYy].*\00^[0Nn].*\00^[jJyY].*\00^[\ED\CDyY].*\00^[\EF\CFnN].*\00^[\CE\BD\CE\9DyY].*\00^[\CE\BF\CE\9FnN].*\00[yY].*\00^[yYoO].*\00^[1JjsSyYoO].*\00^[0nN].*\00Yes\00No\00^[JjYy].*\00^[sSyY].*\00^[EeNn].*\00^[bBsSyY].*\00^[eEnN].*\00[yY\D8\A8f].*\00[nN\D8\AE\D9\86o].*\00^[KkJjYy].*\00^[NnEe].*\00^[Nn].*\00^[oOjJyY1].*\00^[nN0].*\00^[oOyY].*\00^[OojJsSyY].*\00^[tTyY].*\00^[Yy\EB].*\00^[Nn\EC].*\00^[Yy\D7\9B].*\00^[Nn\D7\9C].*\00^[dDyY].*\00^[IiYy].*\00[yYsS\B3\B2].*\00[nN\E1\E0].*\00\B3\DB\E1\00\E1\E3\00[tTnN].*\00^[sSjJoOyY].*\00^([yY\EF\BD\99\EF\BC\B9]|\E3\81\AF\E3\81\84|\E3\83\8F\E3\82\A4)\00^([nN\EF\BD\8E\EF\BC\AE]|\E3\81\84\E3\81\84\E3\81\88|\E3\82\A4\E3\82\A4\E3\82\A8)\00\E3\81\AF\E3\81\84\00\E3\81\84\E3\81\84\E3\81\88\00[1yYkKxX\E1].*\00[0nNaA\C0].*\00[1yYkKxX\E1\83\AE].*\00[0nNaA\E1\83\90].*\00^[JjYyAa].*\00^[yY\EC\98\88]\00^[nN\EC\95\84\EB\8B\88\EC\98\A4]\00[eE].*\00^[TtYy].*\00^[1yY\E2\C2\E4\C4aA].*\00^[0nNkK].*\00\E2e\00k\E2ore\00^[1yY\C4\81\C4\80\C3\A4\C3\84aA].*\00\C4\81e\00k\C4\81ore\00[\B4\D4DdYy1].*\00[\BD\DDNn0].*\00\D4\D0\00\DD\D5\00[\D0\94\D0\B4DdYy1].*\00[\D0\9D\D0\BDNn0].*\00\D0\B4\D0\B0\00\D0\BD\D0\B5\00^(Yes|[yY])\00^(No|[nN])\00^[tT]\00Ya\00Tidak\00[oOsS].*\00^[SsyY].*\00^[DdYy].*\00^[\E4\C4Yy].*\00^[\EE\CENn].*\00^[\B4\D4Yy].*\00^[\BD\DDNn].*\00[\E4\C4Yy].*\00[\EE\CENn].*\00[\D0\94\D0\B4Yy].*\00[\D0\9D\D0\BDNn].*\00^[Ii].*\00[aA\E1\C1yY].*\00\E1no\00nie\00[aA\C3\A1\C3\81yY].*\00\C3\A1no\00^[YyJj].*\00[dDyY1].*\00[nN0].*\00[\B4\D4Yy].*\00[\BD\DDNn].*\00^[\E0\AE\86\E0\AE\AE\E0\AF\8D]\00^[\E0\AE\87\E0\AE\B2\E0\AF\8D\E0\AE\B2\E0\AF\88]\00\E0\AE\86\E0\AE\AE\E0\AF\8D\00\E0\AE\87\E0\AE\B2\E0\AF\8D\E0\AE\B2\E0\AF\88\00^[\E0\B0\85]\00^[\E0\B0\95]\00\E0\B0\85\E0\B0\B5\E0\B0\A8\E0\B1\81\00\E0\B0\95\E0\B0\BE\E0\B0\A6\E0\B1\81\00\C4\C1\00\CE\C5\D4\00\D0\BD\D0\B5\D1\82\00^[yY\AA]\00^[nN\C1]\00\E3\AA\E8\00\E4\C1\E8\E3\AA\E8\00^[yY\E0\B8\8A]\00^[nN\E0\B8\A1]\00\E0\B9\83\E0\B8\8A\E0\B9\88\00\E0\B9\84\E0\B8\A1\E0\B9\88\E0\B9\83\E0\B8\8A\E0\B9\88\00^[eE].*\00^[hH].*\00evet\00hay\FDr\00hay\C4\B1r\00\D3\98\D0\B9\D0\B5\00\D0\AE\D0\BA\00[\F4\D4Yy].*\00[\D0\A2\D1\82Yy].*\00[yY\D9\87\D8\A8f].*\00[nN\D9\86o].*\00\D8\A8\D9\84\D9\83\D9\84\00\D9\86\D9\87\D9\8A\DA\BA\00^[YyHh].*\00^[JjNn].*\00Ha\00Yo'q\00[oOyYaAwW].*\00Oyi\00Neni\00^[Yy\E9].*\00^[Nn\F0\F7].*\00\E9\E0\C7\00\F7\D6\EF\00^[Yy\D7\99].*\00^[Nn\D7\A0\D7\A7].*\00\D7\99\D7\90\D6\B7\00\D7\A7\D7\B2\D7\9F\00^[yY\E6\98\AF]\00^[nN\E4\B8\8D\E5\90\A6]\00", [23 x %struct.__codeset_8_bit_t.202] [%struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\01\02\03\04\04\04\04\04\04\04\04\05", [16 x i8] c"\00\00\00\00\01\02\03\04\04\04\04\04\04\04\04\05", [16 x i8] c"\00\01\02\03\04\05\06\07\08\09\0A\0B\0C\0D\0E\0F", [38 x i8] c"\00\01\01\01\01\02\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\03\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06", [16 x i8] zeroinitializer, [16 x i8] c"\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10", [38 x i8] c"\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\07\08\09\0A\0B\0C\0D\0E\0F\0F\0F\0F\10\10\10\10", [16 x i8] c"\06\07\08\07\09\0A\0B\0C\0D\0D\0D\0D\0D\0D\0D\0D", [16 x i8] c"\11\12\13\14\15\16\17\18\19\1A\1B\1C\1D\1E\1F ", [38 x i8] c"\04\01\01\01\05\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\06\07\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\11\12\13\12\02\02\14\02\02\15\16\17\18\18\18\19", [16 x i8] zeroinitializer, [16 x i8] c"!\22#$%&'()*+,-./0", [38 x i8] c"\08\09\0A\01\01\0B\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\0C\0D\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\1A\1B\1C\1D\02\1E\14\1E\18\18\18\18\1F\10 \10", [16 x i8] c"\00\0E\00\0F\00\00\00\00\00\00\00\00\00\00\00\10", [16 x i8] c"123456'789:;<=>?", [38 x i8] c"\0E\0F\0A\01\01\01\01\01\01\01\01\01\01\01\01\01\10\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\11\0D\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\02\1E\14\1E\0F\0F!\22\10\10 \10", [16 x i8] c"\00\00\00\00\00\00\00\00\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\0356'7@ABCD=>?", [38 x i8] c"\12\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00#$%&\0F\0F\0F\22\10\10\10'", [16 x i8] c"\00\00\00\00\12\13\12\13\0D\0D\0D\11\0D\0D\0D\11", [16 x i8] c"\00\01\02\03EFGHIJKLMNOP", [38 x i8] c"\13\14\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\15\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\02\0C\14(\0F\0F!\22\10\10 ", [16 x i8] c"\00\00\00\00\00\0A\00\0A\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\03QRSTUVWXYZ[\\", [38 x i8] c"\16\17\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\18\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00)*+,\0F\0F\0F\22\10\10\10\10", [16 x i8] c"\00\00\00\00\14\15\16\17\0D\0D\0D\11\0D\0D\0D\18", [16 x i8] c"\00\01\02\03]^_`@AabD=cd", [38 x i8] c"\19\1A\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\1B\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00-./0\0F\0F!\22\10\10 \10", [16 x i8] c"\00\00\00\00\19\1A\1B\1C\0D\0D\11\11\0D\0D\11\1D", [16 x i8] c"\00\01\02\03efgh@ABCD=>?", [38 x i8] c"\1C\1D\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\1E\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\001234\0F\0F\0F\22\10\10\10\10", [16 x i8] c"\00\00\00\00\1E\1F !\0D\0D\0D\11\0D\0D\0D\1D", [16 x i8] c"\00\01\02\03ijklmAnop=qr", [38 x i8] c"\1F !\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\22\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\005678\0F\0F!\22\10\10 ", [16 x i8] c"\00\00\00\00\22#\22#\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\03stuvwxyz{|}~", [38 x i8] c"#$%\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\009:;<=\0F>\22?\10@ ", [16 x i8] c"\00\00\00\00$%$&'\0D(\11'\0D(\11", [16 x i8] c"\00\01\02\03\7F\80\81\82\83A\84\85\86=\87\88", [38 x i8] c"&'(\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00AB7C\0F\0F!\22\10\10 ", [16 x i8] c"\00\00\00\00\22)\22*\0D\0D\11\11\0D\0D\11\11", [16 x i8] c"\00\01\02\03\89\8A\8B\8CI\8D\8E\8FM\90\91\92", [38 x i8] c")*+\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00D$\0F\0F\0F\0F\10\10\10\10E&", [16 x i8] c"\00\00\00\00+,\0D\0D\0D\0D\0D\0D\0D\0D+,", [16 x i8] c"\00\01\02\03\93\94\19\1A\1B\1C\1D\1E\1F \95\96", [38 x i8] c",\01\01\01-\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01.\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00FG\06HI\18\18J\18KL\06", [16 x i8] zeroinitializer, [16 x i8] c"\00\01\02\03\97\98\10\99\9A\9B\9C\9D\9E\9F\A0\10", [38 x i8] c"/\01\01\01\01\010\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00MN-OP\0FQRS\10\10T", [16 x i8] c"\00\00\00\00\00\00-./\0D01/\0D23", [16 x i8] c"\00\01\02\03\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC", [38 x i8] c"1\01\012\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\013\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00U\02\14V\06\06\06W\18\18\18\19", [16 x i8] zeroinitializer, [16 x i8] c"\00\01\02\03\AD&'\AE\10\10\10\AF-./0", [38 x i8] c"4\01\01\01\015\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\016\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\00\00\00\00\02\1E\14\1E\0F\0F!\22\10\10 \10", [16 x i8] c"\00\00\00\00\00\00\00\00\0D\0D\114\0D\0D\115", [16 x i8] c"\00\01\02\0356'7@A\B0\B1D=\B2\B3", [38 x i8] c"78\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\02\02\02\02X\02Y\02\10\10\10\10\0F\0F\0F\0F", [16 x i8] c"\00\00\00\006\006\0077777777", [16 x i8] c"\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\BF\C0\C1\C2\C3", [38 x i8] c"9\01\01\01:\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01;<\01=" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"Z[\\]^_`a\10\10\10\10\0F\0F\0F\0F", [16 x i8] c"89:\00;\00<\0077777777", [16 x i8] c"\C4\C5\C6\C7\C8\C9\CA\CB\BC\BD\BE\BF\C0\C1\C2\C3", [38 x i8] c">\01\01\01?\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\11\07\01\01\01\01" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\02\02\02\02b\14cd\10\10\10\10\0F\0F\0F\0F", [16 x i8] c"\00\00\00\00=>=>77777777", [16 x i8] c"\B4\B5\B6\B7\CC\CD\CE\CF\BC\BD\BE\BF\C0\C1\C2\C3", [38 x i8] c"9\01\01\01@\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01;<\01A" }, %struct.__codeset_8_bit_t.202 { [16 x i8] c"\06\06\06\06I\18\18\18\18e\18fge\18h", [16 x i8] zeroinitializer, [16 x i8] c"\10\10\10\10\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB", [38 x i8] c"\01\01\01\01\01\01\01\01\01\01\01\01\01\01B\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01" }], [20 x i8] c"\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\01\01\01\01\01", [10 x i16] [i16 0, i16 2, i16 4, i16 6, i16 8, i16 10, i16 12, i16 14, i16 16, i16 18], [20 x i16] [i16 1, i16 21, i16 3, i16 24, i16 5, i16 27, i16 7, i16 30, i16 9, i16 33, i16 11, i16 36, i16 13, i16 39, i16 15, i16 42, i16 17, i16 45, i16 19, i16 48], [45 x i8] c"\00\00\00\01\01\01\00\02\01\00\02\02\01\00\01\01\00\00\01\03\01\01\04\01\00\05\01\01\01\00\02\06\01\01\05\00\01\07\01\01\05\01\00\02\03", [3 x i16] [i16 0, i16 3, i16 11], [15 x i16] [i16 1, i16 3, i16 17, i16 0, i16 1, i16 3, i16 10, i16 12, i16 15, i16 20, i16 23, i16 0, i16 5, i16 7, i16 25], [3894 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\03\03\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\03\03\04\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\04\04\05\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\05\04\06\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\06\05\07\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\07\05\08\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\08\06\09\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\09\06\0A\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0A\07\0B\02\02\02\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\0B\08\0C\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0C\08\0D\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0D\09\0E\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0E\09\0F\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\0F\0A\10\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\10\0A\11\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\11\0B\12\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\12\0B\13\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\13\0C\14\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\14\0C\15\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\15\0D\16\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\16\0D\17\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\17\0E\18\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\18\0E\19\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\19\0F\1A\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1A\0F\1B\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1B\10\1C\02\00\00\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01\1C\10\1D\02\00\00\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01\1D\11\1E\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1E\11\1F\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\1F\12 \02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02 \12!\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02!\13\22\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02\22\13#\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02#\14$\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02$\14%\02\02\01\00\01\02\02\01\02\01\02\01\02\01\02\01\02\01\02%\15&\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01&\16'\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01'\16(\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01(\17)\01\04\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01)\17*\01\05\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01*\00+\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01+\07,\02\02\03\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01,\18-\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01-\18.\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01.\19/\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01/\18-\01\01\03\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\01\03\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\011\180\01\01\03\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\012\1A1\01\04\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\013\1A2\01\05\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\014\1B3\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\015\1B4\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\016\1C5\01\01\01\00\01\01\01\01\03\01\03\02\03\01\03\01\03\02\037\18-\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\011\180\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\012\18-\01\01\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\030\18.\01\01\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\031\180\01\01\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\032\1D6\02\03\01\00\01\01\01\01\02\01\02\02\03\01\02\01\02\02\038\18-\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01-\18.\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01.\180\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\019\18-\01\01\01\00\01\04\04\02\01\01\01\01\01\02\01\01\01\01\01-\18.\01\01\01\00\01\04\04\02\01\01\01\01\01\02\01\01\01\01\01.\1E\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\1F7\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01: \02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\1C0\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\012\1C8\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01;!9\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04<\18-\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\010\18.\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\011\180\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\012\22\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02#:\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04=$\02\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04\02%\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\01\01\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01&;\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01>\18<\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01?'\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02(=\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01@)\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02*\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02+>\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01A,\02\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02-\02\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\02\18-\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\011\180\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\012.?\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01B/@\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01C0\02\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\021A\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01D2B\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01E3C\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01F%\02\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01\024D\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01G5E\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01H5F\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01I6G\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01J7H\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01K85\01\04\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01785\01\05\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\017\18-\01\01\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\010\18.\01\01\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\011\180\01\01\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\0129I\03\06\01\00\01\03\03\02\02\02\02\01\01\02\02\02\02\01\01L\18-\01\01\01\00\01\01\01\02\03\02\03\01\01\02\03\02\03\01\01-\18.\01\01\01\00\01\01\01\02\03\02\03\01\01\02\03\02\03\01\01.\180\01\01\01\00\01\01\01\02\03\02\03\01\01\02\03\02\03\01\019 \02\01\03\01\00\01\01\01\02\02\02\02\01\04\02\02\02\02\01\04M\180\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\019:J\02\02\01\00\01\01\01\01\02\01\02\03\02\01\02\01\02\03\02N:K\02\02\01\00\01\01\01\01\02\01\02\03\02\01\02\01\02\03\02O\07L\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01P;M\01\03\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01QQ\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01U?5\01\01\01\00\01\03\03\02\02\02\02\01\01\02\02\02\02\01\01V@R\02\02\01\00\01\03\03\01\01\01\01\01\03\01\01\01\01\01\03WAS\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01XAT\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01YBU\02\02\01\00\01\03\03\01\01\01\01\01\03\01\01\01\01\01\03ZCV\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01[DW\01\04\01\00\01\01\01\01\02\01\02\04\05\01\02\01\02\04\05\\DW\01\05\01\00\01\01\01\01\02\01\02\04\05\01\02\01\02\04\05\\EX\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01]EY\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01^\07Z\02\02\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01_F[\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04`G\\\02\02\01\00\01\01\01\01\01\01\01\01\04\01\01\01\01\01\04a\18-\01\03\01\00\01\01\01\01\02\01\02\01\02\01\02\01\02\01\020\18.\01\03\01\00\01\01\01\01\02\01\02\01\02\01\02\01\02\01\021\180\01\03\01\00\01\01\01\01\02\01\02\01\02\01\02\01\02\01\022H5\01\04\01\00\01\01\01\01\02\01\01\01\05\01\02\01\01\01\057H5\01\05\01\00\01\01\01\01\02\01\01\01\05\01\02\01\01\01\057H5\01\01\01\00\01\01\01\01\01\01\01\02\03\01\01\01\01\02\037I]\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01bI^\01\01\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01cJ_\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01d\18-\04\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01-\18.\04\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01.\180\04\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\019K`\01\01\01\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01eLa\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01fLb\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01gL(\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01(Mc\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01hMd\02\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01iHe\01\01\01\00\01\01\01\01\01\01\01\02\03\01\01\01\01\02\03jNf\01\04\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01kNf\01\05\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01kOg\01\03\01\00\01\01\01\02\03\02\03\03\02\02\03\02\03\03\02lPh\01\01\01\00\01\02\02\01\01\01\01\01\01\01\01\01\01\01\01mQi\01\03\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\01nQj\01\03\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\01oQk\01\03\01\00\01\03\03\01\02\01\02\01\01\01\02\01\02\01\01pR5\01\03\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01V\07L\02\02\03\00\01\01\01\01\02\01\02\01\01\01\02\01\02\01\01PSl\02\02\01\00\01\01\01\01\03\01\03\02\03\01\03\01\03\02\03qSm\02\02\01\00\01\01\01\01\03\01\03\02\03\01\03\01\03\02\03rT\02\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02#n\02\02\01\00\01\01\01\01\01\01\02\01\01\01\01\01\02\01\01sUo\01\01\01\00\01\01\01\02\02\02\02\01\01\02\02\02\02\01\01tVp\02\02\01\00\01\01\01\01\02\01\01\03\01\01\02\01\01\03\01uWq\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01vXr\01\01\01\00\01\01\01\02\01\01\01\01\01\02\01\01\01\01\01w%\02\02\02\01\00\01\01\01\01\02\01\02\03\02\01\02\01\02\03\02\02YR\02\02\01\00\01\01\01\01\01\01\01\02\03\01\01\01\01\01\01WZs\02\02\01\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01x", [22 x i16] [i16 0, i16 91, i16 207, i16 212, i16 219, i16 223, i16 224, i16 226, i16 231, i16 236, i16 239, i16 243, i16 246, i16 250, i16 255, i16 261, i16 264, i16 268, i16 271, i16 275, i16 280, i16 286], [407 x i16] [i16 0, i16 5, i16 25, i16 35, i16 66, i16 97, i16 128, i16 159, i16 176, i16 207, i16 238, i16 269, i16 300, i16 331, i16 362, i16 393, i16 424, i16 459, i16 490, i16 521, i16 552, i16 583, i16 601, i16 630, i16 697, i16 720, i16 747, i16 768, i16 785, i16 799, i16 816, i16 821, i16 833, i16 845, i16 859, i16 864, i16 878, i16 883, i16 888, i16 906, i16 911, i16 923, i16 928, i16 933, i16 943, i16 948, i16 953, i16 963, i16 975, i16 980, i16 992, i16 1004, i16 1016, i16 1030, i16 1047, i16 1059, i16 1073, i16 1078, i16 1111, i16 1149, i16 1161, i16 1173, i16 1190, i16 1202, i16 1211, i16 1225, i16 1244, i16 1258, i16 1270, i16 1282, i16 1326, i16 1338, i16 1350, i16 1355, i16 1376, i16 1388, i16 1402, i16 1425, i16 1457, i16 1469, i16 1483, i16 1497, i16 1535, i16 1540, i16 1559, i16 1573, i16 1585, i16 1597, i16 1613, i16 1627, i16 1632, i16 0, i16 10, i16 30, i16 40, i16 51, i16 71, i16 82, i16 102, i16 113, i16 133, i16 144, i16 164, i16 181, i16 192, i16 212, i16 223, i16 243, i16 254, i16 274, i16 285, i16 305, i16 316, i16 336, i16 347, i16 367, i16 378, i16 398, i16 409, i16 429, i16 440, i16 464, i16 475, i16 495, i16 506, i16 526, i16 537, i16 557, i16 568, i16 588, i16 606, i16 615, i16 635, i16 644, i16 658, i16 667, i16 702, i16 711, i16 725, i16 742, i16 752, i16 759, i16 773, i16 778, i16 790, i16 804, i16 826, i16 838, i16 850, i16 869, i16 893, i16 697, i16 916, i16 938, i16 958, i16 968, i16 985, i16 997, i16 1009, i16 1021, i16 1035, i16 1040, i16 1052, i16 1064, i16 1083, i16 1116, i16 1123, i16 1134, i16 1154, i16 1166, i16 1178, i16 1183, i16 1195, i16 1216, i16 1230, i16 1235, i16 1249, i16 1263, i16 1275, i16 1287, i16 1296, i16 1311, i16 1331, i16 1343, i16 1360, i16 1367, i16 1381, i16 1393, i16 1407, i16 1416, i16 1430, i16 1437, i16 1448, i16 1462, i16 1474, i16 1488, i16 1502, i16 1511, i16 1520, i16 1545, i16 1550, i16 1564, i16 1578, i16 1590, i16 1602, i16 1618, i16 1637, i16 0, i16 12, i16 14, i16 1092, i16 30, i16 0, i16 14, i16 12, i16 593, i16 638, i16 649, i16 1095, i16 0, i16 16, i16 168, i16 680, i16 0, i16 0, i16 3, i16 1, i16 18, i16 16, i16 0, i16 793, i16 1, i16 18, i16 16, i16 0, i16 793, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 793, i16 18, i16 16, i16 1, i16 20, i16 18, i16 793, i16 0, i16 16, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 0, i16 1, i16 0, i16 20, i16 18, i16 1, i16 20, i16 793, i16 18, i16 16, i16 1, i16 20, i16 18, i16 793, i16 0, i16 16, i16 3, i16 22, i16 32, i16 45, i16 58, i16 76, i16 89, i16 107, i16 120, i16 138, i16 151, i16 171, i16 186, i16 199, i16 217, i16 230, i16 248, i16 261, i16 279, i16 292, i16 310, i16 323, i16 341, i16 354, i16 372, i16 385, i16 403, i16 416, i16 434, i16 449, i16 469, i16 482, i16 500, i16 513, i16 531, i16 544, i16 562, i16 575, i16 595, i16 610, i16 622, i16 640, i16 652, i16 662, i16 683, i16 706, i16 715, i16 728, i16 732, i16 737, i16 744, i16 755, i16 763, i16 775, i16 781, i16 795, i16 808, i16 813, i16 829, i16 841, i16 854, i16 873, i16 896, i16 900, i16 919, i16 940, i16 960, i16 971, i16 988, i16 1000, i16 1012, i16 1025, i16 1037, i16 1043, i16 1055, i16 1068, i16 1098, i16 1108, i16 1119, i16 1128, i16 1141, i16 1157, i16 1169, i16 1180, i16 1186, i16 1198, i16 1207, i16 1220, i16 1232, i16 1239, i16 1253, i16 1266, i16 1278, i16 1291, i16 1303, i16 1318, i16 1334, i16 1346, i16 1363, i16 1371, i16 1384, i16 1397, i16 1411, i16 1420, i16 1433, i16 1442, i16 1452, i16 1465, i16 1478, i16 1492, i16 1506, i16 1515, i16 1527, i16 1547, i16 1554, i16 1568, i16 1581, i16 1593, i16 1607, i16 1622, i16 1641], [8250 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\01\01\01\01\01\01\01\01\01\00\00\00\00\01\00\00\00\00\01\00\01\01\01\01\00\01\01\01\01\00\01\00\01\01\01\01\01\01\01\00\00\00\00\00\00\02\02\02\02\02\02\02\02\02\02\02\02\02\02\01\01\01\01\02\01\01\01\01\02\01\02\02\02\02\01\02\02\02\02\01\02\01\02\02\02\02\02\02\00\00\00\00\00\00\00\03\03\03\03\03\03\03\03\03\03\03\03\03\03\02\02\02\02\03\02\02\02\02\03\02\03\03\03\03\02\03\03\03\03\02\03\02\03\03\03\03\03\03\02\00\00\00\00\00\00\04\04\04\04\04\04\04\04\04\04\04\04\04\04\03\03\03\03\04\03\03\03\03\04\03\04\04\04\04\03\04\04\04\04\03\04\03\04\04\04\03\03\03\02\00\00\00\00\00\00\03\03\03\03\03\03\03\03\03\03\03\03\03\05\02\02\02\02\03\02\02\02\02\03\02\03\03\03\03\02\03\03\03\03\02\03\02\03\03\03\03\03\03\02\00\00\00\00\00\00\04\04\04\04\04\04\04\04\04\04\04\04\04\06\03\03\03\03\04\03\03\03\03\04\03\04\04\04\04\03\04\04\04\04\03\04\03\04\04\04\03\03\03\02\00\00\00\00\00\00\04\04\04\04\04\04\04\04\04\04\04\04\04\06\03\03\03\03\04\03\03\03\03\04\03\04\04\04\04\03\04\04\04\04\03\04\03\04\04\04\04\04\04\03\00\00\00\00\00\00\05\05\05\05\05\05\05\03\03\03\03\03\03\05\04\04\04\04\05\04\04\04\04\05\04\05\05\05\05\04\05\05\05\05\04\05\04\05\03\03\03\03\03\02\00\00\00\00\00\00\06\06\06\06\06\06\06\04\04\04\04\04\04\06\05\05\05\05\06\05\05\05\05\06\05\06\06\06\06\05\06\06\06\06\05\06\05\06\04\04\03\03\03\02\00\00\00\00\00\00\00\00\00\00\00\00\00\03\05\03\03\03\05\05\00\00\00\00\00\00\00\00\00\00\00\00\05\05\05\06\07\05\07\05\04\05\04\05\05\05\05\05\05\04\00\00\00\00\00\00\00\00\00\00\00\00\00\04\06\04\04\04\06\06\00\00\00\00\00\00\00\00\00\00\00\00\06\06\06\07\08\06\08\06\05\06\05\06\05\05\05\05\05\04\00\00\00\00\00\00\05\05\05\05\05\05\05\03\03\03\03\03\03\05\04\04\04\04\05\04\04\04\04\05\04\05\05\05\05\04\09\07\05\05\04\05\04\05\03\03\03\03\03\02\00\00\00\00\00\00\06\06\06\06\06\06\06\04\04\04\04\04\04\06\05\05\05\05\06\05\05\05\05\06\05\06\06\06\06\05\0A\08\06\06\05\06\05\06\04\04\03\03\03\02\00\00\00\00\00\00\07\07\07\07\07\07\07\05\07\05\05\05\07\07\06\06\00\00\00\06\06\06\06\01\06\07\07\07\07\08\0B\09\09\07\06\07\06\07\05\05\06\06\01\01\00\00\00\00\00\00\07\07\07\08\08\08\07\06\08\06\06\06\08\08\06\06\00\00\00\07\07\06\06\01\06\07\07\07\07\08\0B\09\09\07\06\07\06\07\05\05\06\06\01\01\00\00\00\00\00\00\08\08\08\09\09\09\08\07\09\07\07\07\09\09\07\07\06\06\07\08\08\07\07\07\07\08\08\08\08\09\0C\0A\0A\08\07\08\07\08\05\05\07\06\01\01\00\00\00\00\00\00\09\09\09\0A\0A\0A\09\08\0A\08\08\08\0A\0A\08\08\07\07\08\09\09\08\08\08\08\09\09\09\09\0A\0D\0B\0B\09\08\09\08\09\05\05\07\06\01\01\00\00\00\00\00\00\0A\0A\0A\0B\0B\0B\0A\09\0B\09\09\09\0B\0B\09\09\08\08\09\0A\0A\09\09\09\09\0A\0A\0A\0A\0B\0E\0C\0C\0A\09\0A\09\0A\05\05\08\07\06\05\00\00\00\00\00\00\0B\0B\0B\0C\0C\0C\0B\0A\0C\0A\0A\0A\0C\0C\0A\0A\09\09\0A\0B\0B\0A\0A\0A\0A\0B\0B\0B\0B\0C\0F\0D\0D\0B\0A\0B\0A\0B\05\05\08\07\06\05\00\00\00\00\00\00\0C\0C\0C\0D\0D\0D\0C\0B\0D\0B\0B\0B\0D\0D\0B\0B\0A\0A\0B\0C\0C\0B\0B\0B\0B\0C\0C\0C\0C\0D\10\0E\0E\0C\0B\0C\0B\0C\06\06\09\08\04\03\00\00\00\00\00\00\0C\0C\0C\0D\0D\0D\0C\0B\0D\0B\0B\0B\0D\0D\0C\0C\0B\0B\0B\0C\0D\0C\0C\0B\0B\0C\0C\0C\0C\0D\10\0E\0E\0C\0C\0D\0C\0D\07\07\09\08\04\03\00\00\00\00\00\00\0D\0D\0D\0E\0E\0E\0D\0C\0E\0C\0C\0C\0E\0E\0D\0D\0C\0C\0C\0D\0E\0D\0D\0C\0C\0D\0D\0D\0D\0E\11\0F\0F\0D\0D\0E\0D\0E\08\08\0A\06\01\06\00\00\00\00\00\00\0E\0E\0E\0F\0F\0F\0E\0D\0F\0D\0D\0D\0F\0F\00\00\00\00\0D\00\00\00\00\01\00\00\0E\0E\0E\00\12\10\10\00\0E\0F\0E\0F\05\05\07\06\01\01\00\00\00\00\00\00\0E\0E\0E\0F\10\0F\0E\0D\0F\0D\0D\0E\0F\0F\00\00\00\00\0D\00\00\00\00\01\00\00\0E\0E\0E\00\12\10\10\00\0E\0F\0E\0F\05\05\07\06\01\01\00\00\00\00\00\00\0F\0F\0F\10\11\10\0F\0E\10\0E\0E\0F\10\10\0E\0E\0D\0D\0E\0E\0F\0E\0E\0D\0D\0E\0F\0F\0F\0F\13\11\11\0E\0F\10\0F\10\05\05\01\01\01\01\00\00\00\00\00\00\0F\0F\0F\10\11\10\0F\0E\10\0E\0E\0F\10\10\0E\0E\0D\0D\0E\0E\0F\0E\0E\0D\0D\0E\0F\0F\10\0F\13\11\11\0E\0F\10\0F\10\05\05\01\01\01\01\00\00\00\00\00\00\10\10\10\11\12\11\10\0F\11\0F\0F\10\11\11\0F\0F\0E\0E\0F\0F\10\0F\0F\0E\0E\0F\10\10\11\10\14\12\12\0F\10\11\10\11\05\05\0B\06\00\07\00\00\00\00\00\00\10\10\11\11\13\12\10\10\12\10\10\11\12\11\0F\10\0F\0E\10\10\11\0F\10\0F\0E\0F\10\11\12\10\15\13\13\0F\11\12\10\11\05\05\0C\06\00\07\00\00\00\00\00\00\11\11\12\12\14\13\11\11\13\11\11\12\13\12\10\11\10\0F\11\11\12\10\11\10\0F\10\11\12\13\11\16\14\14\10\12\13\11\12\05\05\0D\09\01\01\00\00\00\00\00\00\12\12\13\13\15\14\12\12\14\12\12\13\14\13\11\0E\0D\10\12\0E\0F\11\12\11\0D\11\12\13\14\12\17\15\15\11\13\14\12\13\05\05\01\0A\01\01\00\00\00\00\00\00\13\12\13\13\15\14\13\13\14\12\12\13\14\14\11\0E\0D\10\12\0E\0F\11\12\11\0D\11\12\13\14\12\17\15\15\11\13\14\12\13\05\05\01\0A\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\12\00\11\00\11\00\00\00\00\01\00\12\13\14\15\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\13\00\12\00\11\00\00\00\00\01\00\12\14\14\16\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\11\00\11\00\00\00\00\01\00\12\0E\0E\15\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\12\00\11\00\00\00\00\01\00\12\0E\0E\16\00\16\10\10\00\00\01\00\14\05\05\01\0B\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\11\00\11\00\00\00\00\01\00\12\0E\0E\15\00\16\10\10\00\00\01\00\14\05\05\01\06\01\01\00\00\00\00\00\00\14\00\14\14\16\15\14\14\15\13\13\14\15\15\00\00\12\00\11\00\00\00\00\01\00\12\0E\0E\16\00\16\10\10\00\00\01\00\14\05\05\01\06\01\01\00\00\00\00\00\00\15\13\15\15\17\16\15\15\16\14\14\15\16\16\14\12\13\11\13\12\13\12\13\12\10\13\15\15\17\13\18\16\16\12\14\15\13\15\05\05\01\02\01\01\00\00\00\00\00\00\16\14\16\16\18\17\16\16\17\15\15\16\17\17\15\13\14\12\14\13\14\13\14\13\11\14\16\16\18\14\19\17\17\13\15\16\14\16\05\05\01\02\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\05\01\01\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\01\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\05\05\0F\0B\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\10\0C\07\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\04\04\04\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\11\0D\04\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\12\0E\04\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0E\0F\02\00\00\00\00\00\00\00\17\0D\17\0E\19\18\17\17\18\16\16\17\18\18\00\00\00\00\0D\00\00\14\00\01\00\00\17\17\19\15\1A\18\18\14\16\17\15\17\05\05\13\0B\01\01\00\00\00\00\00\00\18\0D\17\17\1A\19\18\18\19\17\17\18\19\19\16\0E\0D\0D\15\0E\0F\0E\12\0D\0D\15\18\18\1A\0F\1B\19\19\15\17\10\16\18\05\05\01\01\01\01\00\00\00\00\00\00\18\0D\17\18\1A\19\19\18\19\17\18\18\19\1A\16\0E\0D\0D\15\0E\0F\0E\12\0D\0D\15\18\18\1A\0F\1B\19\19\15\17\10\16\18\05\05\01\01\01\01\00\00\00\00\00\00\19\15\18\19\1B\1A\1A\19\1A\18\19\19\1A\1B\17\14\15\13\16\14\15\15\15\14\12\16\19\19\1B\16\1C\1A\1A\11\13\18\12\19\05\05\01\06\01\01\00\00\00\00\00\00\19\15\18\19\1B\1A\1A\1A\1B\19\1A\1A\1A\1C\17\14\16\13\16\14\15\15\15\14\12\16\19\19\1C\16\1C\1A\1A\11\13\18\12\19\05\05\01\06\01\01\00\00\00\00\00\00\1A\16\19\1A\1C\1B\1B\1B\1C\1A\1B\1B\1B\1D\18\15\0D\14\0E\15\16\16\16\15\13\17\1A\1A\1D\17\1D\1B\1B\16\18\19\17\1A\05\05\14\10\01\01\00\00\00\00\00\00\1B\17\1A\1B\1D\1C\1C\1C\1D\1B\1C\1C\1C\1E\19\16\03\15\17\16\17\17\17\16\14\18\1B\1B\04\18\1E\1C\1C\17\19\1A\18\1B\09\09\15\11\00\09\00\00\00\00\00\00\1C\18\1B\1C\1E\1D\1D\1D\1E\1C\1D\1D\1D\1F\1A\17\17\16\18\17\18\18\18\17\15\19\1C\1C\1E\19\1F\1D\1D\18\1A\1B\19\1C\05\05\16\06\01\01\00\00\00\00\00\00\1C\18\1B\1C\1E\1D\1D\1D\1E\1C\1D\1D\1D\1F\1B\18\17\17\19\18\19\19\19\18\15\1A\1C\1C\1E\19\1F\1E\1E\18\1A\1B\19\1C\05\05\16\06\01\01\00\00\00\00\00\00\1D\19\1C\1D\1F\1E\1E\1E\1F\1D\1E\1E\1E \11\0E\0D\10\0E\0E\0F\11\12\11\0D\0E\12\13\1F\1A\1C\15\15\11\13\14\12\1D\05\05\01\12\01\01\00\00\00\00\00\00\1D\1A\1D\1D \1F\1E\1E \1E\1E\1F\1F \11\0E\0D\10\0E\0E\0F\11\12\11\0D\0E\12\13\1F\1B\1C\15\15\11\13\14\12\1D\05\05\01\12\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\01\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\01\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\0B\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\0B\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\13\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\13\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\19\0D\18\0E\0E\1A\1A\12\0D\0D\1B\1D\1D\1F\1C\1C\1F\1F\19\1B\1C\0F\1E\05\05\01\06\01\01\00\00\00\00\00\00\17\0D\17\0E!\18\1F\1F!\1F\1F !\11\1A\0D\18\0E\0E\1A\1B\12\0D\0D\1C\1D\1E\1F\1C\1C\1F\1F\1A\1B\1C\0F\1F\05\05\01\06\01\01\00\00\00\00\00\00\1E\1B\1E\1E\22 \22 !!\22\1C\1B\18\19\1A\19\1B\1C\1A\19\16\1D\1E\1F \1D \1B\1C\1D\1A \05\05\01\09\01\01\00\00\00\00\00\00\1E\1B\1F\1F# !#!!\22\22#\1C\1B\19\19\1A\19\1C\1D\1B\1A\16\1D\1F\1F!\1E! !\1C\1D\1E\1B!\05\05\01\09\01\01\00\00\00\00\00\00\1F\1C $!!\22$\22\22##$\1D\1C\1A\1A\1B\1A\1D\1E\1C\1B\17\1E \22\1F\22!\22\1D\1E\1F\1C\22\05\05\01\01\01\01\00\00\00\00\00\00\1F\1C $!!#$#\22##$\1D\1C\1B\1A\1C\1A\1D\1F\1C\1B\17\1F #\1F#\22\22\1E\1E\1F\1C#\05\05\01\01\01\01\00\00\00\00\00\00 \1D!!%\22\22$%$#$$%\1E\00\00\1B\11\1B\1E \1D\1C\00\00!!$ $##\1F\1F \15\17\05\05\01\01\01\01\00\00\00\00\00\00 \1D!\22%\22#$%$$$$&\1E\00\00\1B\11\1C\1E \1D\1C\00\00!!$ $$#\1F\1F \15\17\05\05\01\01\01\01\00\00\00\00\00\00!\1E\22#&#$%&%%%%'\1F\1D\1C\1C\1D\1D\1F!\1E\1D\18 \22\22%!%%$ !\1D$\05\05\01\01\01\01\00\00\00\00\00\00\22\1F#$'$%&'&&&&( \1E\1D\1D\1E\1E \22\1F\1E\19!##&\22&&%!!\22\1E%\00\00\17\01\00\0A\00\00\00\00\00\00# $%(%&'('''')!\1F\1E\1E\1F\1F!# \1F\1A\22$$'#''&\22\22#\1F&\00\00\17\01\00\0A\00\00\00\00\00\00$!%&)&'()((((*\22 \1F\1F \22$! \1B#%%($(('##$ '\0A\0A\09\08\04\03\00\00\00\00\00\00\0E\0E\0E\0F\0F\0F\0E\0D\0F\0D\0D\0D\0F\0F#! !!#%\22!\1C$&&)%))($$%!(\05\05\07\06\01\01\00\00\00\00\00\00\0E\0E\0E\0F\10\0F\0E\0D\0F\0D\0D\0E\0F\0F#!! !!#%\22!\1C$''*%))($$%!(\05\05\07\06\01\01\00\00\00\00\00\00%\22&'*'()*))))+\11\0E\22!\22\22$\11#\11\0D\11((+&**)%%&\12\13\05\05\18\0B\08\0B\00\00\00\00\00\00%\22&'*'(*+))**+\11\0E#\22##%\11#\11\0D\11)),'++*%%'\12\13\05\05\18\0B\08\0B\00\00\00\00\00\00&#'(+()+,**++,$\22$#$$&&$\22\1D%**-(,,+&&(\22)\05\05\0E\00\02\01\00\00\00\00\00\00'$(),)*,-++,,-%#%$%%''%#\1E&++.)--,'')#*\05\05\0E\00\02\01\00\00\00\00\00\00(%)*-*+-.,,--.\00$\00\00\01\00\00(\00\01\00\01,,/\00\01\10\10(\00\01\00\01\05\05\0E\01\01\01\00\00\00\00\00\00\00&*+.+,./--../\00\00\00\00&&()\00\01\1F\01--0*..-)\00*$\01\0B\0B\19\14\01\01\00\00\00\00\00\00\00'+,.,,.0...//\00\00\00\00'')*\00\01 \01..0+//.*\00+%\01\0B\0B\19\14\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/1///0\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\13\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/20001\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\13\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/1///0\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\02\01\01\00\00\00\00\00\00\18\0D\17\0E/\18\17/20001\18\0E\0E\0D\10((*\0E\0E$\0D\15//\1A,00/\15(,\0F+\05\05\01\02\01\01\00\00\00\00\00\00)(,-0--0311120&%&%))++&%!'001-110+)-&,\0C\0C\1A\15\09\0C\01\00\01\01\01\00*)-.1..1422231'&'&**,,'&\22(112.221,*.'-\05\05\1B\0F\01\01\00\00\00\00\00\00+*./2//2533342('('++--('#)223/332-+/(.\05\05\1C\0F\01\01\00\00\00\00\00\00,+\1703003644453\11\0E\0D\10\12\0E\0F\11\12\11\0D\1133404\15\15.,0)/\05\05\01\16\01\01\00\00\00\00\00\00-,/14114755564)()(,,..)($*4451543/-1*0\0D\0D\1D\17\0A\0D\00\00\00\00\00\00\11\1D025\13\115866675*)*\0F--\12/*)%+55626540.2+1\05\05\01\01\01\01\00\00\00\00\00\00.-136226977786+*+)../0+*&,66737651/3,2\05\05\1E\18\01\01\00\00\00\00\00\00.-136236978787+*+)../0+*&,6674875203-3\05\05\1E\18\01\01\00\00\00\00\00\00/.247347:89898\11\0E\0D\10\0E/0\11\12\11\0D\1177\145986314.4\05\05\1F\19\01\01\00\00\00\00\00\00//358358:8:898\11\0E\0D\10\0E01\11\12\11\0D\1188\146997314.4\05\05\1F\19\01\01\00\00\00\00\00\000\01469469;9;9:9,+,*/121,+'-9987::8425/5\05\05 \01\01\01\00\00\00\00\00\000\0156:47:;:;:::,+,*/131,+'-:998::952605\05\05 \01\01\01\00\00\00\00\00\001067;58;<;<;;;-,-+0242-,(.;::9;;:63716\05\05!\06\01\01\00\00\00\00\00\002178<69<\0C\0A=<<<.\0A\09\09135\0A\0A\0A\0A\0B<\0B\0B\0C<<;\0B\0A\0B\0A\0B\05\05!\06\01\01\00\00\00\00\00\003289=7:==<>===/-\1F,2 63.-)/=;(:=(<74827\0E\0E\09\08\04\03\00\00\00\00\00\0043)*>*+>>,,>>.\00\00.\00\01\00\004\00\01\000,<;\00\01==8\00\01\008\05\05\09\08\04\03\00\00\00\00\00\00549:?8;??=???>\00.\00\003475\1D.\001>=<\00>>>95939\05\05\22\1A\04\03\00\00\00\00\00\00649:@9;@?=@@@>\00.\00\003575\1D.\002>=<\00>?>9593:\05\05\22\1A\04\03\00\00\00\00\00\007\18:;A:AAA?\11\0E/\104\0E\0F\11\12\11\0D\1133=\12?\15\15:\13\14\12\13\05\05\01\1B\01\01\00\00\00\00\00\0085;\0F;\1C@?;\0F\1C\0F;\05\05\01\06\01\01\00\00\00\00\00\00\17\0D\17=D\18\17CC@\0ED\10A\0E\0E\0D\0D\0E\0E\0F7\0E\0D\0D\11@?\10;\1C@?<\0F\1C\0F;\05\05\01\06\01\01\00\00\00\00\00\0097<>E<>DDACECB0/\0D-\12688//\0E3A@><\17A@=6:\10<\05\05\01\0B\01\01\00\00\00\00\00\0097DEADEDB0/\0D-\12688/0\0E3B@>=\17A@>7;\10=\05\05\01\0B\01\01\00\00\00\00\00\00 8=@F>\22\18FBEFE\19\00\06\00\1B\11\00\00 \1D\1C\00\12CA?\0F@BA\158<4>\05\05\01\0A\01\01\00\00\00\00\00\00 8=@F>#\18FCEFE\1A\00\06\00\1B\11\00\00 \1D\1C\00\12CA@\0F@BA\158<4>\05\05\01\0A\01\01\00\00\00\00\00\00 8=@F>\22$GDFGF%\00\06\00\1B\11\00\00 \1D\1C\00\12DBA $CB\1F\1F \15?\05\05\01\0A\01\01\00\00\00\00\00\00 8=@F>#$GEFGF&\00\06\00\1B\11\00\00 \1D\1C\00\12DBB $CB\1F\1F \15?\05\05\01\0A\01\01\00\00\00\00\00\00:9>AG??EHFGHGC1\0E\0D\10\0E79\11\12\0D\0D\11E\01C>\16DC\009=5@\05\05\01\0B\01\01\00\00\00\00\00\00:9>AG?@FHGGHGD1\0E\0D\10\0E79\11\12\0D\0D\11E\01C>\16DC\009=5@\05\05\01\0B\01\01\00\00\00\00\00\00;:?BH@AGIHHIHE200.58:901*4FCD?AED?:>6A\05\05\07\06\01\01\00\00\00\00\00\00<;@CIABHJIIJIF311/69;:12+5GDE@BFE@;?7B\05\05\07\06\01\01\00\00\00\00\00\00=B:E\05\05\07\06\01\01\00\00\00\00\00\00>=DDKCEJLKKLKH53318;=<34-7KHIDFJID?C;F\05\05%\0B\01\01\00\00\00\00\00\00\10\10E\11LD\10KMLLML\11\11\0E\0D\10\22\22$\11\12\11\0D\11((J\1AGKJ\11\13&\12\13\05\05\0B\06\00\07\00\00\00\00\00\00\10\10E\11MD\10LMLLNL\11\11\0E\0D\10##%\11\12\11\0D\11))J\1BHLK\11\13'\12\13\05\05\0C\06\00\07\00\00\00\00\00\00?7FENE>MNMMOMB\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13J\12\17MLE\13\14\12\13\05\05\01\06\01\01\00\00\00\00\00\00?7FEOE>MNMMPMB\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13J\12\17MLE\13\14\12\13\05\05\01\06\01\01\00\00\00\00\00\00@>GFPFFNONNQNI\004\002\0D<>>45.8LI\1FE\17NMF@D>45/8LI\1FE\17NMF@D=G\0F\0F&\1D\0C\0E\00\00\00\00\00\00?7HENEGMQPMROK\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13\07\12\17\15\15EAE>H\05\05\01\1E\01\01\00\00\00\00\00\00?7HEOEGMQPMSOK\11\0E\0D\10\12\0E\0F=\12\11\0D\11\12\13\07\12\17\15\15EAE>H\05\05\01\1E\01\01\00\00\00\00\00\0010I7;5HORQ@@673RONILTSKGKDN\00\00)\1F\00\00\03\00\02\00\03\02GFP\02UKPWZX\02ZVT:;87=ACC9:6?SPOJMUTLHLEO\12\12*\02\02\00\00\00\00\00\00\00GFP\02UKPWZX\02ZVT\01\01\01\01\02\01\01\01\01\02\01\02\02\02\02\01\02\02\02\02\01\02\01\02\12\12*\02\02\00\00\00\00\00\00\00H\1D!LVL+X[$T[WU;$\00\1B\00BD \00\0170TQP NVU\1FIMFP\00\00\0E\00\02\00\00\00\00\00\00\00IGQMWMQY\\YU\\XV<<\008\00CED:;8@UR\0EKOWVMJNGQ\13\13\01\0A\01\00\00\00\00\00\00\00IGQNXMQY\\ZV]XV<=\008\00CEE:;8@US\0EKPWVNKNHR\14\14\01\0A\01\00\00\00\00\00\00\00JHROYNRZ][W^YW42207:<;23,6HEFACGFA<@8C\05\05\07\06\01\01\00\00\00\00\00\00K:?BH@A[^\\X_ZX=>99>DFF;<9AVTQLQXWOLOIS\05\05\07\06\01\01\00\00\00\00\00\00L\08::\08EGG<=:BWURM\0DYXPMPJT\05\05\07\06\01\01\00\00\00\00\00\00MISPZOS]`^Za\1CY??;;?FHH=>;CXVSNRZYQNQKU\04\15+\02\00\0F\00\00\00\00\00\00NJTQ[PT^a_[b\\Z@\06\00\00\00GII\06\01\06\07\07\07\07\08\0B\09\09EO\07\06\07\05\05,\01\01\01\00\00\00\00\00\00OKUR\\QU_b`\\c][A@<<@HJJ>?\18\15IKK\0E\0D>\11[YVP\0B\\[SQTNW\00\00.\02\00\00\00\00\00\00\00\00RMXS^SWbdc^e_(CB?=AJLL?@?E\\ZWQT&%TRUO%\00\00\17\01\00\0A\00\00\00\00\00\00SNYT_TXced_f`)DC@>BKMM@A@F][XRU'&USVP&\00\00\17\01\00\0A\00\00\00\00\00\00)OZU`UYdfe`ga]&%&%))++&%!'^\\YSV]\\VTWQX\15\16/\15\0E\10\00\00\00\00\00\00)OZU`UYdfe`ga]EDA?CLNNA%!'^\\YSV]\\VTWQX\15\160 \0F\11\00\00\00\00\00\00TP[VaVZdfe`ga]FEB@DMOOBBAG^\\YSV]\\VTWQX\15\161\15\10\01\00\00\00\00\00\00)OZU`UYegfahb^&%&%))++&%!'^\\YSV]\\VTWQX\15\162!\09\12\00\00\00\00\00\00", [50 x i16] [i16 0, i16 85, i16 166, i16 258, i16 345, i16 443, i16 530, i16 621, i16 723, i16 827, i16 930, i16 1028, i16 1133, i16 1232, i16 1327, i16 1398, i16 1468, i16 1535, i16 1600, i16 1669, i16 1747, i16 1827, i16 1907, i16 1974, i16 2041, i16 2107, i16 2179, i16 2274, i16 2367, i16 2457, i16 2541, i16 2628, i16 2722, i16 2815, i16 2902, i16 2987, i16 3075, i16 3157, i16 3246, i16 3268, i16 3291, i16 3342, i16 3376, i16 3393, i16 3412, i16 3416, i16 3417, i16 3420, i16 3422, i16 3426], [3429 x i16] [i16 1, i16 273, i16 463, i16 844, i16 1101, i16 858, i16 1122, i16 1977, i16 2348, i16 2594, i16 3018, i16 3253, i16 3606, i16 4397, i16 4635, i16 4806, i16 5023, i16 5441, i16 5662, i16 5858, i16 5884, i16 6040, i16 6288, i16 6938, i16 7125, i16 7310, i16 7573, i16 7838, i16 8226, i16 8624, i16 9025, i16 9539, i16 9921, i16 10130, i16 10434, i16 10640, i16 10937, i16 11606, i16 11946, i16 12190, i16 12640, i16 13317, i16 14931, i16 15189, i16 6952, i16 16066, i16 16636, i16 17024, i16 17365, i16 17819, i16 18049, i16 18224, i16 18661, i16 18735, i16 18983, i16 19067, i16 19176, i16 19479, i16 4589, i16 20213, i16 20433, i16 20653, i16 21280, i16 21712, i16 21810, i16 22607, i16 22680, i16 22719, i16 23133, i16 23665, i16 24019, i16 24674, i16 25025, i16 25183, i16 25483, i16 25641, i16 25844, i16 26175, i16 26395, i16 26524, i16 26932, i16 27130, i16 27204, i16 27426, i16 27844, i16 5, i16 276, i16 473, i16 846, i16 1104, i16 864, i16 1133, i16 1981, i16 2352, i16 2601, i16 3021, i16 3258, i16 3616, i16 4401, i16 4639, i16 4809, i16 5026, i16 5445, i16 5666, i16 6044, i16 6295, i16 7312, i16 7577, i16 7842, i16 8229, i16 8628, i16 8755, i16 9030, i16 9544, i16 9925, i16 10134, i16 10437, i16 10644, i16 10948, i16 11608, i16 11950, i16 12197, i16 2107, i16 12746, i16 12967, i16 13321, i16 14935, i16 15199, i16 15853, i16 16070, i16 16639, i16 17027, i16 17267, i16 17823, i16 18056, i16 18234, i16 18665, i16 18739, i16 19180, i16 19307, i16 19483, i16 19792, i16 20029, i16 20217, i16 20437, i16 20660, i16 21285, i16 21815, i16 22082, i16 22611, i16 22685, i16 22723, i16 23143, i16 23669, i16 24027, i16 24687, i16 25187, i16 25490, i16 26186, i16 4589, i16 26528, i16 26936, i16 27209, i16 27434, i16 27820, i16 27854, i16 9, i16 279, i16 480, i16 848, i16 1107, i16 872, i16 1148, i16 1985, i16 2356, i16 2608, i16 3024, i16 3263, i16 3626, i16 4405, i16 4643, i16 4812, i16 5029, i16 5255, i16 5449, i16 5670, i16 5888, i16 6048, i16 6302, i16 4895, i16 7314, i16 7581, i16 7846, i16 8232, i16 8632, i16 8760, i16 9035, i16 9301, i16 9549, i16 94, i16 10138, i16 10440, i16 10648, i16 10959, i16 11610, i16 11954, i16 12204, i16 12644, i16 12750, i16 12972, i16 13325, i16 14939, i16 15209, i16 16074, i16 16408, i16 16642, i16 17030, i16 17271, i16 17368, i16 17659, i16 17827, i16 18063, i16 18244, i16 18743, i16 19070, i16 19184, i16 19487, i16 19796, i16 276, i16 20221, i16 20441, i16 20667, i16 21048, i16 21132, i16 21290, i16 21635, i16 5678, i16 21820, i16 22151, i16 22255, i16 22391, i16 22615, i16 22727, i16 23153, i16 23672, i16 24032, i16 24697, i16 25191, i16 25497, i16 26193, i16 26399, i16 26534, i16 26940, i16 27135, i16 27215, i16 27444, i16 27824, i16 27864, i16 13, i16 282, i16 493, i16 850, i16 1110, i16 881, i16 1165, i16 1989, i16 2221, i16 2360, i16 2615, i16 3027, i16 3268, i16 3639, i16 4409, i16 4647, i16 4815, i16 5032, i16 5453, i16 5674, i16 5892, i16 6052, i16 6309, i16 7129, i16 7281, i16 7316, i16 7585, i16 7850, i16 8235, i16 8636, i16 9041, i16 9308, i16 9553, i16 9929, i16 10091, i16 10142, i16 10443, i16 10652, i16 10973, i16 11612, i16 11958, i16 12211, i16 12648, i16 12754, i16 12977, i16 13329, i16 14943, i16 15219, i16 15857, i16 16078, i16 16412, i16 16645, i16 17033, i16 17275, i16 17371, i16 17831, i16 18070, i16 18257, i16 18747, i16 19073, i16 19188, i16 19339, i16 19491, i16 19686, i16 19800, i16 20032, i16 20225, i16 20445, i16 21295, i16 21716, i16 21825, i16 22088, i16 22731, i16 23166, i16 23675, i16 24037, i16 25029, i16 25195, i16 25381, i16 25504, i16 26202, i16 26402, i16 26540, i16 27220, i16 27452, i16 27828, i16 27874, i16 17, i16 285, i16 503, i16 852, i16 1113, i16 890, i16 1182, i16 1993, i16 2228, i16 2364, i16 2622, i16 3030, i16 3273, i16 3649, i16 4413, i16 4651, i16 4791, i16 4818, i16 5035, i16 5259, i16 5457, i16 5678, i16 5896, i16 6056, i16 6316, i16 6942, i16 7133, i16 7318, i16 7589, i16 7854, i16 8238, i16 8640, i16 8765, i16 8827, i16 9046, i16 9314, i16 9557, i16 9933, i16 10147, i16 10446, i16 10656, i16 10984, i16 11616, i16 11962, i16 12218, i16 12652, i16 12758, i16 13129, i16 13333, i16 14947, i16 15229, i16 15861, i16 16082, i16 16416, i16 16648, i16 17036, i16 17279, i16 17374, i16 17663, i16 17835, i16 18077, i16 18267, i16 18669, i16 18751, i16 18988, i16 19076, i16 19192, i16 19343, i16 19437, i16 19495, i16 19804, i16 20035, i16 20229, i16 20449, i16 20674, i16 21300, i16 21638, i16 16919, i16 21720, i16 21796, i16 21830, i16 22735, i16 23176, i16 23678, i16 24042, i16 24707, i16 25033, i16 25199, i16 25387, i16 25513, i16 26209, i16 26406, i16 26546, i16 26944, i16 27225, i16 27460, i16 27832, i16 27884, i16 21, i16 288, i16 513, i16 854, i16 1116, i16 897, i16 1195, i16 1997, i16 2233, i16 2368, i16 2629, i16 3033, i16 3278, i16 3674, i16 4417, i16 4655, i16 4821, i16 5038, i16 5263, i16 5461, i16 5682, i16 5900, i16 6060, i16 6323, i16 6948, i16 7137, i16 7320, i16 7593, i16 7858, i16 8241, i16 8644, i16 8770, i16 9051, i16 9562, i16 9937, i16 10152, i16 10449, i16 10660, i16 10998, i16 11619, i16 11966, i16 12225, i16 12656, i16 12762, i16 12982, i16 13337, i16 14951, i16 15239, i16 15865, i16 16086, i16 16651, i16 17039, i16 17378, i16 17839, i16 18084, i16 18280, i16 18755, i16 18993, i16 19079, i16 19196, i16 19499, i16 19691, i16 19808, i16 20038, i16 20233, i16 20453, i16 20681, i16 21305, i16 21641, i16 21724, i16 21835, i16 22735, i16 23189, i16 23682, i16 24050, i16 24717, i16 25037, i16 25203, i16 25522, i16 7946, i16 26410, i16 26552, i16 26948, i16 27231, i16 27470, i16 27836, i16 27894, i16 25, i16 291, i16 523, i16 856, i16 1119, i16 1448, i16 1454, i16 2001, i16 2372, i16 2636, i16 3036, i16 3283, i16 3690, i16 4421, i16 4659, i16 4824, i16 273, i16 5465, i16 5686, i16 5863, i16 5904, i16 6064, i16 6330, i16 6952, i16 7141, i16 7286, i16 7322, i16 7597, i16 7862, i16 8244, i16 8648, i16 8831, i16 9057, i16 9567, i16 9941, i16 10096, i16 10156, i16 10452, i16 10664, i16 11015, i16 11621, i16 11970, i16 12232, i16 12660, i16 12766, i16 13341, i16 14955, i16 15249, i16 15869, i16 16090, i16 16654, i16 16919, i16 17042, i16 17283, i16 17381, i16 17668, i16 17843, i16 18091, i16 18296, i16 18759, i16 19082, i16 19200, i16 19503, i16 20041, i16 20181, i16 20237, i16 20457, i16 20688, i16 21052, i16 21310, i16 21840, i16 22155, i16 22259, i16 22398, i16 22619, i16 22690, i16 22727, i16 23205, i16 23685, i16 24055, i16 24727, i16 25207, i16 25529, i16 26222, i16 26413, i16 26558, i16 26952, i16 10488, i16 10728, i16 27840, i16 27904, i16 29, i16 294, i16 463, i16 858, i16 1122, i16 2005, i16 2238, i16 2376, i16 2643, i16 3039, i16 3288, i16 3700, i16 4397, i16 4663, i16 4827, i16 5041, i16 5267, i16 5441, i16 5690, i16 5868, i16 5908, i16 6068, i16 6337, i16 6956, i16 7145, i16 7324, i16 7502, i16 7601, i16 7866, i16 8247, i16 8652, i16 8835, i16 9062, i16 9320, i16 9572, i16 9820, i16 9945, i16 10160, i16 10455, i16 10668, i16 11026, i16 11625, i16 11815, i16 11974, i16 12239, i16 12664, i16 12770, i16 13133, i16 13345, i16 14959, i16 15259, i16 15873, i16 16094, i16 16420, i16 16657, i16 17045, i16 17287, i16 17384, i16 17672, i16 17847, i16 18098, i16 18306, i16 18673, i16 18763, i16 18998, i16 19085, i16 19205, i16 19347, i16 19507, i16 20044, i16 20185, i16 20241, i16 20461, i16 20695, i16 21315, i16 21644, i16 21695, i16 21728, i16 21845, i16 22263, i16 22405, i16 22623, i16 22695, i16 22739, i16 23215, i16 23688, i16 24060, i16 24674, i16 25041, i16 25211, i16 25536, i16 25645, i16 25851, i16 26175, i16 26417, i16 26564, i16 26956, i16 27140, i16 27238, i16 27482, i16 27844, i16 28220, i16 36, i16 301, i16 473, i16 864, i16 1133, i16 1792, i16 1878, i16 2016, i16 2251, i16 2384, i16 2658, i16 3046, i16 3301, i16 3719, i16 4401, i16 4672, i16 4836, i16 5048, i16 5275, i16 5469, i16 5697, i16 5916, i16 6076, i16 6352, i16 6965, i16 7153, i16 7333, i16 7513, i16 7609, i16 7882, i16 8257, i16 8663, i16 8775, i16 8844, i16 9075, i16 9334, i16 9584, i16 9953, i16 10169, i16 10461, i16 10679, i16 11046, i16 11634, i16 11825, i16 11981, i16 12252, i16 12671, i16 12781, i16 12987, i16 13142, i16 13271, i16 13355, i16 14965, i16 15275, i16 15880, i16 16104, i16 16427, i16 16669, i16 17055, i16 17391, i16 17854, i16 18325, i16 18678, i16 18771, i16 19092, i16 19213, i16 19312, i16 19355, i16 19517, i16 19696, i16 19812, i16 19936, i16 20053, i16 20253, i16 20473, i16 20718, i16 21327, i16 21651, i16 21736, i16 21853, i16 22094, i16 22159, i16 22270, i16 22417, i16 22630, i16 22703, i16 22758, i16 23237, i16 23696, i16 24082, i16 24687, i16 25048, i16 25217, i16 25551, i16 25652, i16 25864, i16 26186, i16 26427, i16 26579, i16 26964, i16 27245, i16 27495, i16 27854, i16 28227, i16 43, i16 309, i16 480, i16 872, i16 1148, i16 2028, i16 2264, i16 2395, i16 2679, i16 3057, i16 3322, i16 3738, i16 4425, i16 4684, i16 4844, i16 5056, i16 5285, i16 5474, i16 5704, i16 5923, i16 6084, i16 6367, i16 6971, i16 7159, i16 7343, i16 7524, i16 7620, i16 7895, i16 8267, i16 8673, i16 8786, i16 8850, i16 9084, i16 9344, i16 9592, i16 9833, i16 9958, i16 10177, i16 10465, i16 10686, i16 11066, i16 11640, i16 11992, i16 12273, i16 12677, i16 12791, i16 12998, i16 13149, i16 13279, i16 13365, i16 14974, i16 15300, i16 15895, i16 16114, i16 16434, i16 16681, i16 17065, i16 17396, i16 17680, i16 17865, i16 18344, i16 18780, i16 19100, i16 19221, i16 19362, i16 19530, i16 19820, i16 19922, i16 19944, i16 20015, i16 20058, i16 20195, i16 20265, i16 20485, i16 20741, i16 21338, i16 21660, i16 21747, i16 21861, i16 22104, i16 22170, i16 22280, i16 22436, i16 22637, i16 22780, i16 23259, i16 23703, i16 24101, i16 24697, i16 25227, i16 25392, i16 25566, i16 25662, i16 25883, i16 26193, i16 26436, i16 26591, i16 26970, i16 27149, i16 27253, i16 27510, i16 27864, i16 28234, i16 51, i16 317, i16 493, i16 881, i16 1165, i16 2039, i16 2276, i16 2403, i16 2694, i16 3065, i16 3337, i16 3760, i16 4432, i16 4691, i16 4852, i16 5062, i16 5293, i16 5481, i16 5712, i16 5932, i16 6090, i16 6378, i16 6977, i16 7166, i16 7291, i16 7353, i16 7535, i16 7630, i16 7911, i16 8275, i16 8682, i16 8856, i16 9093, i16 9355, i16 9600, i16 9965, i16 10101, i16 10185, i16 10471, i16 10697, i16 11089, i16 11645, i16 12002, i16 12292, i16 12684, i16 12803, i16 13012, i16 13157, i16 13288, i16 13375, i16 14984, i16 15328, i16 15909, i16 16124, i16 16443, i16 16693, i16 16923, i16 17074, i16 17298, i16 17402, i16 17873, i16 18111, i16 18344, i16 18790, i16 19007, i16 19108, i16 19229, i16 19537, i16 19710, i16 19826, i16 19950, i16 20064, i16 20273, i16 20493, i16 20756, i16 21351, i16 21667, i16 21753, i16 21870, i16 22114, i16 22805, i16 23284, i16 23710, i16 24120, i16 25054, i16 25232, i16 25398, i16 25581, i16 25671, i16 25900, i16 26202, i16 26445, i16 26602, i16 26976, i16 27261, i16 27525, i16 27874, i16 28241, i16 61, i16 326, i16 503, i16 890, i16 1182, i16 2050, i16 2292, i16 2410, i16 2707, i16 3071, i16 3348, i16 3779, i16 4441, i16 4699, i16 4796, i16 4861, i16 5069, i16 5301, i16 5457, i16 5719, i16 5941, i16 6098, i16 6393, i16 6986, i16 7176, i16 7363, i16 7546, i16 7641, i16 7928, i16 8287, i16 8692, i16 8796, i16 8865, i16 9105, i16 9369, i16 9610, i16 9974, i16 10193, i16 10477, i16 10708, i16 11109, i16 11652, i16 11833, i16 12013, i16 12313, i16 12689, i16 12816, i16 13167, i16 13299, i16 13385, i16 14994, i16 15356, i16 15925, i16 16134, i16 16453, i16 16706, i16 17084, i16 17410, i16 17687, i16 17879, i16 18122, i16 18366, i16 18684, i16 18799, i16 19017, i16 19117, i16 19237, i16 19369, i16 19442, i16 19543, i16 19833, i16 19957, i16 20073, i16 20279, i16 20499, i16 20767, i16 21363, i16 21674, i16 21703, i16 21759, i16 21801, i16 21881, i16 22177, i16 22245, i16 22287, i16 22449, i16 22821, i16 23306, i16 23714, i16 24130, i16 24707, i16 25065, i16 25241, i16 25409, i16 25600, i16 25678, i16 25913, i16 26209, i16 26456, i16 26614, i16 26984, i16 27269, i16 27540, i16 27884, i16 28248, i16 70, i16 336, i16 513, i16 897, i16 1195, i16 1800, i16 1893, i16 2063, i16 2309, i16 2417, i16 2720, i16 3081, i16 3367, i16 3813, i16 4446, i16 4708, i16 4868, i16 5077, i16 5310, i16 5489, i16 5727, i16 5952, i16 6105, i16 6406, i16 6994, i16 7183, i16 7373, i16 7650, i16 7946, i16 8295, i16 8701, i16 8806, i16 8871, i16 9115, i16 9380, i16 9620, i16 9980, i16 10201, i16 10483, i16 10719, i16 11132, i16 11662, i16 11846, i16 12023, i16 12332, i16 12695, i16 12828, i16 13026, i16 13175, i16 13308, i16 13395, i16 15004, i16 15384, i16 15940, i16 16144, i16 16460, i16 16721, i16 17096, i16 17416, i16 17888, i16 18139, i16 18388, i16 18691, i16 18808, i16 19027, i16 19127, i16 19246, i16 19552, i16 19717, i16 19840, i16 19964, i16 20077, i16 20287, i16 20507, i16 20782, i16 21373, i16 21682, i16 21767, i16 21890, i16 22186, i16 22296, i16 22466, i16 22843, i16 23331, i16 23723, i16 24155, i16 24717, i16 25073, i16 25250, i16 25619, i16 25685, i16 25926, i16 26466, i16 26627, i16 26990, i16 27280, i16 27561, i16 27894, i16 28255, i16 77, i16 343, i16 523, i16 904, i16 1208, i16 1448, i16 1454, i16 2075, i16 2323, i16 2425, i16 2735, i16 3087, i16 3378, i16 3838, i16 4453, i16 4714, i16 4878, i16 5083, i16 5496, i16 5734, i16 5876, i16 5960, i16 6115, i16 6425, i16 7003, i16 7191, i16 7302, i16 7379, i16 7557, i16 7659, i16 7955, i16 8305, i16 8714, i16 8880, i16 9125, i16 9391, i16 9629, i16 9987, i16 10111, i16 10210, i16 10488, i16 10728, i16 11158, i16 11669, i16 12030, i16 12345, i16 12701, i16 12839, i16 13405, i16 15014, i16 15412, i16 15956, i16 16154, i16 16470, i16 16734, i16 16937, i16 17107, i16 17424, i16 17694, i16 17894, i16 18150, i16 18413, i16 18818, i16 19135, i16 19254, i16 19376, i16 19559, i16 20084, i16 20202, i16 20295, i16 20515, i16 20797, i16 21383, i16 21900, i16 22127, i16 22192, i16 22302, i16 22477, i16 22644, i16 22711, i16 22862, i16 23359, i16 23729, i16 24171, i16 24727, i16 25082, i16 25255, i16 25630, i16 25694, i16 26222, i16 26471, i16 26640, i16 26997, i16 27904, i16 28262, i16 86, i16 533, i16 911, i16 1220, i16 1532, i16 1624, i16 2087, i16 2432, i16 2748, i16 3094, i16 3391, i16 3857, i16 4013, i16 4460, i16 4887, i16 5090, i16 5503, i16 5741, i16 5968, i16 6016, i16 6123, i16 6440, i16 7198, i16 7387, i16 7669, i16 7964, i16 8314, i16 8518, i16 9137, i16 9641, i16 9994, i16 10217, i16 10492, i16 10735, i16 11178, i16 11432, i16 12036, i16 12356, i16 13415, i16 15021, i16 15431, i16 16164, i16 16480, i16 16746, i16 17432, i16 17901, i16 18163, i16 18432, i16 19566, i16 20092, i16 20303, i16 20523, i16 20812, i16 21394, i16 22872, i16 23381, i16 23735, i16 24187, i16 24737, i16 25089, i16 25265, i16 25701, i16 25942, i16 26231, i16 26478, i16 26654, i16 27003, i16 27289, i16 27578, i16 13487, i16 27914, i16 90, i16 543, i16 915, i16 1227, i16 1545, i16 1648, i16 2091, i16 2436, i16 2755, i16 3098, i16 3398, i16 3867, i16 4038, i16 4465, i16 4891, i16 5094, i16 5317, i16 5507, i16 6127, i16 6447, i16 7393, i16 7673, i16 7971, i16 8321, i16 8526, i16 8887, i16 8974, i16 9141, i16 9645, i16 10224, i16 10496, i16 10742, i16 11194, i16 11436, i16 12040, i16 12363, i16 12707, i16 13421, i16 15025, i16 15441, i16 16170, i16 16484, i16 16750, i16 17437, i16 17905, i16 18457, i16 18826, i16 19570, i16 20307, i16 20527, i16 20819, i16 21401, i16 21910, i16 22309, i16 22490, i16 22888, i16 23397, i16 23740, i16 24196, i16 24744, i16 25269, i16 25419, i16 25705, i16 26242, i16 26660, i16 27007, i16 27295, i16 27588, i16 13492, i16 27921, i16 94, i16 553, i16 919, i16 1234, i16 1550, i16 1657, i16 2440, i16 2762, i16 3102, i16 3405, i16 3877, i16 4069, i16 4470, i16 4895, i16 5098, i16 5322, i16 5449, i16 5972, i16 6021, i16 6131, i16 6454, i16 7399, i16 7566, i16 8328, i16 9147, i16 9404, i16 9649, i16 9842, i16 10232, i16 10500, i16 10749, i16 11213, i16 11440, i16 11574, i16 11677, i16 11854, i16 12044, i16 12370, i16 13427, i16 15029, i16 15451, i16 16176, i16 5453, i16 16754, i16 17441, i16 17909, i16 18698, i16 19144, i16 20311, i16 20531, i16 20826, i16 21406, i16 22913, i16 23422, i16 23745, i16 24205, i16 24754, i16 25709, i16 25949, i16 26253, i16 26666, i16 27011, i16 27156, i16 27301, i16 27598, i16 13497, i16 27928, i16 98, i16 563, i16 923, i16 1241, i16 1555, i16 1666, i16 2444, i16 2769, i16 3106, i16 3412, i16 3887, i16 4085, i16 4475, i16 4899, i16 5102, i16 5511, i16 5745, i16 6135, i16 6461, i16 7405, i16 7677, i16 7978, i16 8335, i16 8534, i16 8891, i16 9153, i16 9653, i16 9998, i16 10239, i16 10504, i16 10756, i16 11229, i16 11444, i16 11681, i16 11859, i16 12048, i16 12377, i16 13433, i16 15033, i16 15461, i16 16182, i16 16758, i16 17445, i16 17913, i16 18482, i16 19574, i16 20315, i16 20535, i16 20833, i16 21411, i16 21914, i16 22932, i16 23441, i16 23751, i16 24217, i16 24764, i16 25273, i16 25713, i16 25956, i16 26262, i16 26672, i16 27307, i16 27608, i16 13502, i16 27935, i16 102, i16 352, i16 573, i16 927, i16 1248, i16 1561, i16 1677, i16 2448, i16 2776, i16 3110, i16 3419, i16 3900, i16 4480, i16 4721, i16 4903, i16 5106, i16 5327, i16 5515, i16 5749, i16 6139, i16 6468, i16 2144, i16 7411, i16 7985, i16 8342, i16 8542, i16 9157, i16 9657, i16 9847, i16 10246, i16 10508, i16 10763, i16 11248, i16 11448, i16 11685, i16 11864, i16 12052, i16 12384, i16 12851, i16 13038, i16 13183, i16 13439, i16 15037, i16 15471, i16 16188, i16 16489, i16 16762, i16 17449, i16 17917, i16 18170, i16 18501, i16 18830, i16 19148, i16 20319, i16 20539, i16 20840, i16 21417, i16 22951, i16 23463, i16 23757, i16 24229, i16 24774, i16 25717, i16 26273, i16 26678, i16 27314, i16 27620, i16 13507, i16 27942, i16 106, i16 580, i16 931, i16 1255, i16 1566, i16 1686, i16 2095, i16 2338, i16 2452, i16 2783, i16 3114, i16 3426, i16 3907, i16 4485, i16 4907, i16 5110, i16 5332, i16 5519, i16 6143, i16 6475, i16 7417, i16 7681, i16 7992, i16 8349, i16 8550, i16 9162, i16 9661, i16 10002, i16 10119, i16 10254, i16 10512, i16 10770, i16 11255, i16 11452, i16 11689, i16 11869, i16 12056, i16 12391, i16 12855, i16 13043, i16 13187, i16 13445, i16 15041, i16 15481, i16 16194, i16 16492, i16 16766, i16 17117, i16 17309, i16 17454, i16 17921, i16 18177, i16 18834, i16 19039, i16 19578, i16 20096, i16 20323, i16 20543, i16 20847, i16 21422, i16 21918, i16 22958, i16 23470, i16 23762, i16 24238, i16 24784, i16 25093, i16 25277, i16 25721, i16 25963, i16 26280, i16 26482, i16 26684, i16 27015, i16 27318, i16 27627, i16 13512, i16 27949, i16 110, i16 587, i16 935, i16 1262, i16 1573, i16 1699, i16 2099, i16 2343, i16 2456, i16 2790, i16 3118, i16 3433, i16 3917, i16 4104, i16 4490, i16 4911, i16 5114, i16 5337, i16 5523, i16 6148, i16 6484, i16 7423, i16 7685, i16 7999, i16 8356, i16 8560, i16 8895, i16 9168, i16 9411, i16 9665, i16 10006, i16 10263, i16 10516, i16 10777, i16 11265, i16 11456, i16 11693, i16 11874, i16 12060, i16 12398, i16 12859, i16 13048, i16 13191, i16 13451, i16 15045, i16 15491, i16 16200, i16 16770, i16 17121, i16 17314, i16 17459, i16 17703, i16 17925, i16 18184, i16 18508, i16 18838, i16 19582, i16 20100, i16 20327, i16 20547, i16 20854, i16 21427, i16 21922, i16 22971, i16 23483, i16 23768, i16 24250, i16 24791, i16 25097, i16 25281, i16 25725, i16 25970, i16 26287, i16 26486, i16 26690, i16 27019, i16 27323, i16 27635, i16 13517, i16 27956, i16 114, i16 597, i16 939, i16 1269, i16 1578, i16 1708, i16 2103, i16 2460, i16 2797, i16 3122, i16 3440, i16 3927, i16 4120, i16 4495, i16 4915, i16 5118, i16 5527, i16 5753, i16 6153, i16 6493, i16 7010, i16 7429, i16 7689, i16 8006, i16 8363, i16 8569, i16 8899, i16 8979, i16 9173, i16 9417, i16 9669, i16 9852, i16 10010, i16 10272, i16 10520, i16 10784, i16 11281, i16 11460, i16 12064, i16 12405, i16 12711, i16 12863, i16 13053, i16 13457, i16 15049, i16 15501, i16 16206, i16 16496, i16 16774, i16 4584, i16 17929, i16 18521, i16 18702, i16 18842, i16 19384, i16 19450, i16 19586, i16 20331, i16 20551, i16 20861, i16 21432, i16 21773, i16 21926, i16 22984, i16 23496, i16 23773, i16 24259, i16 24801, i16 25285, i16 25424, i16 25729, i16 25977, i16 26298, i16 26490, i16 26696, i16 27023, i16 27328, i16 27643, i16 13522, i16 27963, i16 118, i16 607, i16 943, i16 1276, i16 1581, i16 1713, i16 2107, i16 2464, i16 2804, i16 3126, i16 3447, i16 3934, i16 4316, i16 4500, i16 4919, i16 5122, i16 5342, i16 5531, i16 5757, i16 6157, i16 6500, i16 7435, i16 7693, i16 8013, i16 8370, i16 8579, i16 9177, i16 9422, i16 5441, i16 10014, i16 10282, i16 10524, i16 10791, i16 11297, i16 11464, i16 11612, i16 12068, i16 12412, i16 13463, i16 15053, i16 15511, i16 16212, i16 16500, i16 16778, i16 17466, i16 17933, i16 18537, i16 19590, i16 20335, i16 20555, i16 20868, i16 21437, i16 21930, i16 23003, i16 23515, i16 23778, i16 24268, i16 24811, i16 25289, i16 25733, i16 25984, i16 26307, i16 26702, i16 27333, i16 27651, i16 13527, i16 27970, i16 122, i16 356, i16 617, i16 947, i16 1283, i16 1587, i16 1724, i16 2468, i16 2811, i16 3130, i16 3454, i16 3944, i16 4505, i16 4923, i16 5126, i16 5348, i16 5535, i16 5761, i16 6161, i16 6507, i16 7441, i16 7697, i16 8020, i16 8377, i16 8588, i16 9183, i16 9429, i16 9673, i16 10018, i16 10291, i16 10528, i16 10798, i16 11319, i16 11468, i16 12072, i16 12419, i16 13195, i16 13469, i16 15057, i16 15521, i16 16218, i16 16504, i16 16782, i16 17471, i16 17937, i16 18565, i16 18846, i16 19594, i16 19725, i16 20339, i16 20559, i16 20875, i16 21444, i16 21934, i16 23034, i16 23546, i16 23783, i16 24277, i16 24821, i16 25293, i16 25737, i16 25991, i16 26318, i16 26708, i16 27339, i16 27661, i16 27977, i16 126, i16 627, i16 951, i16 1290, i16 1599, i16 1746, i16 2111, i16 2472, i16 2818, i16 3134, i16 3461, i16 3966, i16 4510, i16 4927, i16 5130, i16 5539, i16 6165, i16 6514, i16 7447, i16 7701, i16 8027, i16 8384, i16 9189, i16 5904, i16 10300, i16 10532, i16 10805, i16 11341, i16 11472, i16 12076, i16 12426, i16 12867, i16 13059, i16 13475, i16 15061, i16 15531, i16 16224, i16 4589, i16 16786, i16 17478, i16 17941, i16 18587, i16 20343, i16 20563, i16 20882, i16 21449, i16 21938, i16 22138, i16 22313, i16 22497, i16 23059, i16 23571, i16 23788, i16 24286, i16 24831, i16 25101, i16 25297, i16 25741, i16 25998, i16 26331, i16 26715, i16 27027, i16 27161, i16 27345, i16 27671, i16 27984, i16 130, i16 360, i16 637, i16 955, i16 1297, i16 1612, i16 1770, i16 2115, i16 2476, i16 2825, i16 3138, i16 3468, i16 3988, i16 4515, i16 4931, i16 5134, i16 5544, i16 5765, i16 5976, i16 6169, i16 6521, i16 7202, i16 7453, i16 7705, i16 8034, i16 8391, i16 8597, i16 8903, i16 8984, i16 9194, i16 9677, i16 9857, i16 10309, i16 10536, i16 10812, i16 11360, i16 11476, i16 12080, i16 12433, i16 13481, i16 15065, i16 15541, i16 16230, i16 16508, i16 16790, i16 17485, i16 17945, i16 18615, i16 18707, i16 18850, i16 19044, i16 19598, i16 20347, i16 20567, i16 20889, i16 21455, i16 21942, i16 22317, i16 22504, i16 23081, i16 23590, i16 23793, i16 24295, i16 24841, i16 25301, i16 25745, i16 26005, i16 26342, i16 26722, i16 27351, i16 27681, i16 27994, i16 134, i16 364, i16 647, i16 959, i16 1304, i16 1532, i16 1624, i16 2119, i16 2480, i16 2832, i16 3142, i16 3475, i16 4013, i16 4520, i16 4725, i16 4935, i16 5138, i16 5548, i16 5769, i16 5980, i16 6026, i16 6173, i16 6528, i16 7015, i16 7206, i16 7459, i16 7709, i16 8041, i16 8398, i16 8907, i16 9199, i16 9436, i16 9681, i16 10022, i16 10319, i16 10540, i16 10819, i16 11178, i16 11480, i16 11579, i16 11697, i16 11879, i16 12084, i16 12440, i16 12715, i16 12871, i16 13064, i16 13199, i16 13487, i16 15069, i16 15551, i16 15971, i16 16236, i16 16512, i16 16794, i16 17125, i16 17319, i16 17490, i16 17711, i16 17949, i16 18191, i16 18432, i16 18854, i16 19388, i16 19455, i16 19602, i16 19730, i16 19846, i16 19970, i16 20104, i16 20351, i16 20571, i16 20896, i16 21056, i16 21139, i16 21460, i16 21946, i16 22321, i16 22511, i16 22872, i16 23381, i16 23798, i16 24304, i16 24737, i16 25105, i16 25305, i16 25749, i16 26012, i16 26231, i16 26729, i16 27031, i16 27166, i16 27356, i16 27689, i16 27914, i16 142, i16 373, i16 663, i16 965, i16 1315, i16 1545, i16 1648, i16 2126, i16 2489, i16 2849, i16 3149, i16 3488, i16 4038, i16 4527, i16 4732, i16 4941, i16 5144, i16 5354, i16 5555, i16 5776, i16 5987, i16 6184, i16 6549, i16 7023, i16 7212, i16 7467, i16 7719, i16 8054, i16 8407, i16 8915, i16 8989, i16 9206, i16 9695, i16 10030, i16 10333, i16 10546, i16 10830, i16 11194, i16 11489, i16 11589, i16 11704, i16 11887, i16 12093, i16 12457, i16 12723, i16 12878, i16 13072, i16 13207, i16 13492, i16 15077, i16 15573, i16 15979, i16 16243, i16 16523, i16 16801, i16 17134, i16 17329, i16 17501, i16 17957, i16 18457, i16 18711, i16 18861, i16 19395, i16 19463, i16 19610, i16 19854, i16 19978, i16 20358, i16 20578, i16 20909, i16 21063, i16 21152, i16 21476, i16 21952, i16 22328, i16 22524, i16 22888, i16 23397, i16 23805, i16 24323, i16 24851, i16 25111, i16 25310, i16 25429, i16 25756, i16 26025, i16 26242, i16 26743, i16 27038, i16 27174, i16 27365, i16 27706, i16 27921, i16 151, i16 383, i16 553, i16 972, i16 1328, i16 1550, i16 1657, i16 2133, i16 2494, i16 2858, i16 3158, i16 3505, i16 4069, i16 4537, i16 4740, i16 4948, i16 5017, i16 5149, i16 5360, i16 5474, i16 5784, i16 5993, i16 6034, i16 6196, i16 6572, i16 7032, i16 7220, i16 7399, i16 7566, i16 7727, i16 8416, i16 8726, i16 9147, i16 9404, i16 9706, i16 9862, i16 10039, i16 10232, i16 10500, i16 10749, i16 11213, i16 11497, i16 11598, i16 11712, i16 11896, i16 12102, i16 12474, i16 12732, i16 12886, i16 13497, i16 15087, i16 15601, i16 15988, i16 16250, i16 16535, i16 16809, i16 17513, i16 17723, i16 17966, i16 18698, i16 18866, i16 19152, i16 19615, i16 19864, i16 19929, i16 19988, i16 20022, i16 20113, i16 20366, i16 20586, i16 20924, i16 21071, i16 21167, i16 21488, i16 21689, i16 22913, i16 23422, i16 23816, i16 24354, i16 24864, i16 25119, i16 25762, i16 26036, i16 26253, i16 26754, i16 27044, i16 27181, i16 27375, i16 27725, i16 27928, i16 157, i16 679, i16 977, i16 1337, i16 1555, i16 1666, i16 1808, i16 1908, i16 2138, i16 2502, i16 2873, i16 3163, i16 3514, i16 4085, i16 4544, i16 4953, i16 5156, i16 5564, i16 5790, i16 6204, i16 6587, i16 7038, i16 7476, i16 7735, i16 8065, i16 8426, i16 8731, i16 8820, i16 8923, i16 9214, i16 9444, i16 9714, i16 10045, i16 10349, i16 10553, i16 10843, i16 11229, i16 11504, i16 11720, i16 11905, i16 12108, i16 12485, i16 12891, i16 13081, i16 13216, i16 13502, i16 15093, i16 15617, i16 15995, i16 16257, i16 16545, i16 16814, i16 16951, i16 17144, i16 17340, i16 17528, i16 17739, i16 17971, i16 18482, i16 19403, i16 19622, i16 19739, i16 20120, i16 20372, i16 20592, i16 20935, i16 21076, i16 21176, i16 21501, i16 21959, i16 22932, i16 23441, i16 23823, i16 24373, i16 24877, i16 25316, i16 25771, i16 26053, i16 26262, i16 26764, i16 27049, i16 27381, i16 27736, i16 27935, i16 102, i16 352, i16 573, i16 983, i16 1348, i16 1561, i16 1677, i16 1815, i16 1921, i16 1943, i16 1955, i16 2144, i16 2511, i16 2890, i16 3110, i16 3419, i16 3900, i16 4550, i16 4721, i16 4959, i16 5162, i16 5368, i16 5515, i16 5749, i16 6213, i16 6604, i16 7045, i16 7226, i16 4903, i16 7743, i16 8076, i16 8435, i16 9222, i16 9453, i16 9725, i16 9871, i16 10051, i16 10246, i16 10508, i16 10763, i16 11248, i16 11512, i16 11728, i16 11914, i16 12115, i16 12498, i16 12851, i16 13038, i16 13223, i16 13507, i16 15100, i16 15636, i16 16002, i16 16264, i16 16555, i16 16824, i16 16962, i16 17152, i16 17542, i16 17917, i16 18170, i16 18501, i16 18872, i16 19148, i16 19870, i16 20379, i16 20599, i16 20948, i16 20319, i16 20840, i16 21513, i16 11685, i16 11864, i16 22951, i16 23463, i16 23830, i16 24392, i16 24890, i16 25125, i16 25322, i16 25436, i16 25779, i16 26273, i16 26775, i16 27314, i16 27620, i16 27942, i16 163, i16 389, i16 580, i16 988, i16 1357, i16 1566, i16 1686, i16 1950, i16 1968, i16 2148, i16 2519, i16 2905, i16 3114, i16 3426, i16 3907, i16 4554, i16 4745, i16 4964, i16 5169, i16 5376, i16 5571, i16 5796, i16 6219, i16 6615, i16 7050, i16 7231, i16 7417, i16 7751, i16 8081, i16 8444, i16 8605, i16 8929, i16 9162, i16 9735, i16 9882, i16 10056, i16 10124, i16 10356, i16 10559, i16 10854, i16 11255, i16 11520, i16 11734, i16 11921, i16 12122, i16 12511, i16 12897, i16 13088, i16 13230, i16 13512, i16 15106, i16 15652, i16 16271, i16 16562, i16 16832, i16 16972, i16 17158, i16 17349, i16 17550, i16 17977, i16 18206, i16 106, i16 18878, i16 19049, i16 19410, i16 19631, i16 19875, i16 19994, i16 20128, i16 20383, i16 20603, i16 20955, i16 21083, i16 21189, i16 21525, i16 11689, i16 11869, i16 21777, i16 21965, i16 17921, i16 18177, i16 22958, i16 23470, i16 23838, i16 24414, i16 24784, i16 25130, i16 25328, i16 25787, i16 26068, i16 26280, i16 26787, i16 27054, i16 27949, i16 168, i16 395, i16 587, i16 994, i16 1368, i16 1573, i16 1699, i16 1820, i16 1930, i16 2153, i16 2527, i16 2920, i16 3118, i16 3433, i16 4104, i16 4563, i16 4750, i16 4969, i16 5176, i16 5384, i16 5579, i16 5801, i16 6227, i16 6630, i16 7056, i16 7237, i16 7423, i16 7758, i16 8090, i16 8452, i16 8614, i16 8934, i16 9168, i16 9411, i16 9746, i16 10061, i16 10368, i16 10564, i16 10863, i16 11265, i16 11527, i16 11741, i16 11929, i16 12130, i16 12526, i16 12902, i16 13095, i16 13237, i16 13517, i16 15113, i16 15671, i16 16278, i16 16571, i16 16841, i16 17165, i16 17357, i16 17557, i16 17755, i16 17982, i16 18215, i16 18508, i16 18720, i16 18884, i16 19415, i16 19640, i16 19881, i16 20000, i16 20134, i16 20388, i16 20608, i16 20964, i16 21088, i16 21198, i16 21537, i16 11693, i16 11874, i16 21783, i16 21973, i16 17925, i16 18184, i16 22971, i16 23483, i16 23847, i16 24439, i16 24791, i16 25136, i16 25336, i16 25795, i16 26083, i16 26287, i16 26799, i16 27059, i16 27956, i16 173, i16 401, i16 692, i16 1000, i16 1379, i16 1578, i16 1708, i16 2158, i16 2534, i16 2933, i16 3169, i16 3525, i16 4120, i16 4570, i16 4976, i16 5185, i16 5590, i16 5806, i16 6235, i16 6645, i16 7062, i16 7243, i16 7766, i16 8006, i16 8461, i16 8942, i16 8998, i16 9238, i16 9470, i16 9758, i16 9894, i16 10067, i16 10272, i16 10569, i16 10872, i16 11281, i16 11534, i16 11748, i16 12138, i16 12541, i16 12738, i16 12907, i16 13102, i16 13522, i16 15120, i16 15690, i16 16007, i16 16285, i16 16585, i16 16848, i16 16982, i16 17172, i16 17568, i16 17767, i16 17987, i16 18521, i16 18702, i16 18890, i16 19158, i16 19422, i16 19472, i16 19647, i16 19749, i16 20393, i16 20613, i16 20973, i16 21093, i16 21207, i16 21550, i16 21789, i16 21980, i16 22651, i16 22984, i16 23496, i16 23855, i16 24461, i16 24801, i16 25343, i16 25443, i16 25802, i16 26096, i16 26298, i16 26812, i16 27067, i16 27389, i16 27751, i16 27963, i16 180, i16 705, i16 1006, i16 1390, i16 1581, i16 1713, i16 2165, i16 2542, i16 2948, i16 3176, i16 3538, i16 4136, i16 4316, i16 4575, i16 4755, i16 4982, i16 5191, i16 5394, i16 5595, i16 5813, i16 6245, i16 6664, i16 7071, i16 7250, i16 7774, i16 8101, i16 8468, i16 8947, i16 9245, i16 9478, i16 9770, i16 10074, i16 10382, i16 10576, i16 10885, i16 11297, i16 11542, i16 11758, i16 12147, i16 12558, i16 13244, i16 13527, i16 15128, i16 15712, i16 16017, i16 16292, i16 16593, i16 16858, i16 16994, i16 17180, i16 17583, i16 17994, i16 18537, i16 18897, i16 19656, i16 19759, i16 19887, i16 20140, i16 20401, i16 20621, i16 20988, i16 21100, i16 21220, i16 21561, i16 21986, i16 22199, i16 22336, i16 22539, i16 23003, i16 23515, i16 23863, i16 24483, i16 24903, i16 25142, i16 25351, i16 25452, i16 25810, i16 26111, i16 26307, i16 26494, i16 26824, i16 27075, i16 27395, i16 27762, i16 27970, i16 190, i16 410, i16 724, i16 1013, i16 1403, i16 1587, i16 1724, i16 2174, i16 2551, i16 2965, i16 3186, i16 3557, i16 4170, i16 3944, i16 4584, i16 4765, i16 4991, i16 5196, i16 5402, i16 5600, i16 5823, i16 6257, i16 6687, i16 7081, i16 7483, i16 7781, i16 8116, i16 8476, i16 8957, i16 9258, i16 9493, i16 9783, i16 10083, i16 10394, i16 10583, i16 10898, i16 11319, i16 11548, i16 11769, i16 11937, i16 12158, i16 12579, i16 12913, i16 13110, i16 13254, i16 13469, i16 15139, i16 15743, i16 16028, i16 16299, i16 16606, i16 16866, i16 17191, i16 17590, i16 17784, i16 18004, i16 18565, i16 18907, i16 19665, i16 19769, i16 19896, i16 20151, i16 20410, i16 20630, i16 21005, i16 21109, i16 21237, i16 21574, i16 21994, i16 22209, i16 22346, i16 22558, i16 23034, i16 23546, i16 23871, i16 24505, i16 24919, i16 25154, i16 25357, i16 25819, i16 26128, i16 26318, i16 26837, i16 27083, i16 27187, i16 27406, i16 27783, i16 27977, i16 198, i16 743, i16 1020, i16 1416, i16 1599, i16 1746, i16 2182, i16 2562, i16 2986, i16 3195, i16 3574, i16 4195, i16 3966, i16 4589, i16 4773, i16 4999, i16 5202, i16 5607, i16 5831, i16 6267, i16 6706, i16 7089, i16 7261, i16 7787, i16 8127, i16 8484, i16 9275, i16 9511, i16 9794, i16 10408, i16 10591, i16 10913, i16 11341, i16 11557, i16 12169, i16 12600, i16 12921, i16 13119, i16 13475, i16 15149, i16 15771, i16 16037, i16 16306, i16 16616, i16 16873, i16 17003, i16 17200, i16 17606, i16 17801, i16 18013, i16 18587, i16 18915, i16 19904, i16 20161, i16 20418, i16 20638, i16 21020, i16 21117, i16 21252, i16 21587, i16 22000, i16 22143, i16 22217, i16 22354, i16 22573, i16 23059, i16 23571, i16 23878, i16 24524, i16 24831, i16 25162, i16 25362, i16 25459, i16 25827, i16 26143, i16 26331, i16 26853, i16 27090, i16 27195, i16 27416, i16 27802, i16 27984, i16 207, i16 418, i16 759, i16 1027, i16 1429, i16 1612, i16 1770, i16 2189, i16 2571, i16 3003, i16 3203, i16 3589, i16 4220, i16 3988, i16 4592, i16 4782, i16 5008, i16 5211, i16 5616, i16 5840, i16 5998, i16 6277, i16 6725, i16 7098, i16 7271, i16 7492, i16 7794, i16 8140, i16 8494, i16 8737, i16 8965, i16 9004, i16 9288, i16 9525, i16 9807, i16 9907, i16 10419, i16 10598, i16 10926, i16 11360, i16 11565, i16 12179, i16 12619, i16 13262, i16 13481, i16 15158, i16 15796, i16 16047, i16 16316, i16 16623, i16 16883, i16 17014, i16 17210, i16 17623, i16 18021, i16 18615, i16 18726, i16 18924, i16 19056, i16 19428, i16 19677, i16 19782, i16 19913, i16 20006, i16 20171, i16 20425, i16 20645, i16 21033, i16 21124, i16 21265, i16 21600, i16 22007, i16 22226, i16 22363, i16 22590, i16 23081, i16 23590, i16 23888, i16 24552, i16 24932, i16 25173, i16 25368, i16 25466, i16 25836, i16 26160, i16 26342, i16 26876, i16 27098, i16 27994, i16 216, i16 427, i16 775, i16 1034, i16 1442, i16 0, i16 4248, i16 4347, i16 4598, i16 8153, i16 11382, i16 12930, i16 13532, i16 16326, i16 18637, i16 22015, i16 23107, i16 23615, i16 24945, i16 25375, i16 25474, i16 28004, i16 219, i16 430, i16 785, i16 1036, i16 1445, i16 0, i16 4261, i16 4375, i16 4598, i16 8160, i16 11410, i16 12933, i16 13539, i16 16333, i16 18649, i16 22018, i16 23120, i16 23643, i16 24965, i16 25378, i16 25479, i16 26353, i16 28011, i16 222, i16 433, i16 798, i16 1038, i16 1465, i16 1827, i16 2196, i16 2579, i16 3212, i16 4277, i16 4600, i16 5220, i16 5410, i16 5624, i16 6746, i16 6764, i16 6779, i16 6847, i16 6890, i16 7107, i16 7802, i16 8167, i16 8503, i16 10604, i16 11777, i16 12936, i16 13546, i16 15168, i16 15824, i16 16340, i16 16892, i16 17220, i16 17631, i16 18030, i16 18934, i16 19263, i16 19321, i16 21612, i16 22021, i16 22372, i16 22659, i16 23896, i16 24985, i16 26356, i16 26502, i16 26896, i16 27106, i16 28018, i16 28088, i16 28166, i16 28269, i16 243, i16 451, i16 832, i16 1063, i16 1492, i16 1853, i16 2212, i16 3226, i16 4304, i16 5653, i16 5849, i16 6007, i16 6807, i16 6876, i16 6917, i16 6929, i16 7817, i16 8199, i16 8746, i16 9014, i16 12955, i16 13578, i16 16057, i16 16351, i16 16910, i16 17257, i16 18966, i16 19167, i16 19285, i16 22045, i16 22235, i16 23919, i16 28116, i16 28312, i16 252, i16 460, i16 841, i16 1073, i16 1504, i16 1867, i16 3235, i16 6821, i16 11806, i16 13594, i16 16369, i16 19295, i16 22054, i16 26920, i16 28053, i16 28135, i16 28201, i16 261, i16 0, i16 1086, i16 1517, i16 1867, i16 3244, i16 4623, i16 5246, i16 6833, i16 8208, i16 10628, i16 11806, i16 13610, i16 16387, i16 22067, i16 26383, i16 28069, i16 28154, i16 28334, i16 0, i16 13628, i16 23929, i16 24574, i16 0, i16 0, i16 14004, i16 23961, i16 0, i16 14018, i16 0, i16 14901, i16 23971, i16 24610, i16 0, i16 24007, i16 24660], [372 x i8] c"\00\00\00\00\01\01\00\00\02\02\00\00\03\03\00\00\04\04\00\00\05\05\01\01\06\06\02\02\07\07\01\01\08\08\00\00\09\09\00\00\0A\0A\00\03\0A\0A\03\03\0B\0B\00\00\0C\0C\00\00\0D\0D\00\00\0E\0E\00\00\0F\0F\04\04\10\10\05\05\11\01\00\00\12\11\00\00\13\01\00\00\14\02\06\06\15\01\07\07\16\12\00\00\17\02\00\00\18\13\00\00\19\14\00\00\1A\01\00\00\1B\02\00\00\1C\15\00\00\00\00\08\08\1D\02\00\00\1E\02\00\00\1D\16\00\00\1F\17\00\00 \18\00\00!\19\00\00\1D\1A\00\00\22\1B\00\00#\02\00\00$\02\00\00%\02\00\00&\1C\00\00'\1D\00\00(\02\00\00)\02\00\00*\1E\09\09\1A\1F\00\00+\02\00\00, \0A\0A-!\00\00.\22\00\00/\1A\00\000#\00\001\01\00\002\1A\00\003$\0B\0B4$\0C\0C5%\0D\0D6&\0E\0E7'\00\00\00(\0F\0F8\01\00\002\02\00\009\02\00\00:\02\00\00;)\00\00<*\00\00=+\00\00>,\00\00\1D-\00\00?\01\10\10@\01\11\10A\1A\00\00B.\00\00C/\00\00D0\12\11E1\13\12;)\14\13\0C\0C\0E\14F2\15\15G3\16\16H4\17\17H4\17\18\0C\0C\18\19I+\00\00J,\00\00K5\19\1AL6\1A\1BM\01\1B\1CN7\1C\1DO8\1D\1EP9\00\00", [4 x i16] [i16 0, i16 81, i16 139, i16 169], [200 x i16] [i16 1, i16 13, i16 27, i16 43, i16 57, i16 73, i16 97, i16 121, i16 114, i16 85, i16 145, i16 173, i16 193, i16 217, i16 247, i16 281, i16 317, i16 369, i16 378, i16 396, i16 405, i16 422, i16 439, i16 459, i16 469, i16 489, i16 513, i16 520, i16 530, i16 561, i16 571, i16 591, i16 613, i16 635, i16 665, i16 687, i16 697, i16 711, i16 721, i16 739, i16 759, i16 769, i16 779, i16 815, i16 829, i16 908, i16 932, i16 960, i16 972, i16 996, i16 1003, i16 1013, i16 1048, i16 1078, i16 1106, i16 1142, i16 1180, i16 1189, i16 1199, i16 1209, i16 1229, i16 1249, i16 1267, i16 1297, i16 1316, i16 1334, i16 1344, i16 1362, i16 1380, i16 1438, i16 1492, i16 1517, i16 1564, i16 1610, i16 1619, i16 1630, i16 1670, i16 1698, i16 1720, i16 1747, i16 1783, i16 7, i16 20, i16 35, i16 50, i16 65, i16 79, i16 106, i16 134, i16 118, i16 92, i16 153, i16 183, i16 205, i16 233, i16 265, i16 294, i16 336, i16 388, i16 450, i16 479, i16 501, i16 545, i16 581, i16 603, i16 623, i16 647, i16 657, i16 678, i16 730, i16 749, i16 790, i16 806, i16 857, i16 921, i16 947, i16 981, i16 1028, i16 1090, i16 1120, i16 1154, i16 1165, i16 1219, i16 1239, i16 1258, i16 1278, i16 1289, i16 1354, i16 1371, i16 1393, i16 1445, i16 1499, i16 1526, i16 1572, i16 1642, i16 1680, i16 1729, i16 1757, i16 1792, i16 0, i16 85, i16 114, i16 167, i16 305, i16 346, i16 415, i16 433, i16 554, i16 799, i16 891, i16 1039, i16 1067, i16 1100, i16 1132, i16 1171, i16 1308, i16 1329, i16 1412, i16 1452, i16 1478, i16 1506, i16 1535, i16 1580, i16 1598, i16 1652, i16 1690, i16 1711, i16 1739, i16 1769, i16 0, i16 92, i16 118, i16 163, i16 312, i16 362, i16 419, i16 436, i16 558, i16 803, i16 898, i16 1042, i16 1071, i16 1103, i16 1137, i16 1174, i16 1312, i16 1422, i16 1465, i16 1481, i16 1485, i16 1510, i16 1545, i16 1585, i16 1591, i16 1605, i16 1661, i16 1693, i16 1715, i16 1743, i16 1776], [91141 x i16] [i16 7, i16 145, i16 4, i16 5352, i16 1159, i16 2868, i16 9485, i16 12504, i16 4, i16 38, i16 5, i16 3, i16 256, i16 576, i16 22623, i16 1154, i16 1623, i16 0, i16 19968, i16 20901, i16 1708, i16 747, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4, i16 10, i16 5, i16 4, i16 128, i16 480, i16 2038, i16 1693, i16 1947, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1154, i16 1154, i16 1986, i16 2440, i16 0, i16 4, i16 2, i16 5, i16 4, i16 128, i16 480, i16 1886, i16 1885, i16 1886, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2847, i16 2847, i16 2178, i16 5976, i16 0, i16 2, i16 0, i16 5, i16 6, i16 32, i16 64, i16 213, i16 212, i16 213, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4732, i16 4732, i16 0, i16 9496, i16 0, i16 4, i16 5, i16 5, i16 5, i16 64, i16 96, i16 409, i16 408, i16 409, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4944, i16 4944, i16 2193, i16 9976, i16 0, i16 1, i16 0, i16 4, i16 5, i16 128, i16 816, i16 13169, i16 13168, i16 13169, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5352, i16 5352, i16 0, i16 10360, i16 0, i16 1, i16 0, i16 5, i16 2, i16 512, i16 6176, i16 17172, i16 5999, i16 17172, i16 0, i16 -21504, i16 11171, i16 1111, i16 3125, i16 5352, i16 5352, i16 0, i16 -32216, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 5, i16 114, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 55, i16 246, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 92, i16 0, i16 0, i16 1155, i16 274, i16 372, i16 0, i16 1155, i16 300, i16 0, i16 0, i16 1155, i16 300, i16 0, i16 0, i16 1155, i16 331, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 390, i16 0, i16 0, i16 1155, i16 448, i16 498, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 547, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 730, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 798, i16 648, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 875, i16 786, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 916, i16 0, i16 0, i16 1155, i16 1075, i16 924, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 1433, i16 1502, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 1721, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 1780, i16 1634, i16 0, i16 1155, i16 1915, i16 498, i16 0, i16 1155, i16 2012, i16 1844, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 2049, i16 0, i16 0, i16 1155, i16 78, i16 0, i16 0, i16 1155, i16 2235, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 0, i16 1155, i16 300, i16 0, i16 0, i16 1155, i16 0, i16 0, i16 1, i16 680, i16 2383, i16 1986, i16 1, i16 680, i16 2880, i16 1986, i16 1, i16 680, i16 3369, i16 1986, i16 1, i16 680, i16 3871, i16 1986, i16 1, i16 680, i16 4373, i16 2016, i16 1, i16 680, i16 4869, i16 1986, i16 1, i16 680, i16 5366, i16 1986, i16 1, i16 680, i16 5868, i16 2016, i16 1, i16 680, i16 6369, i16 1986, i16 1, i16 680, i16 6952, i16 2058, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7976, i16 1986, i16 1, i16 680, i16 5868, i16 2016, i16 1, i16 680, i16 2880, i16 1986, i16 1, i16 680, i16 8476, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 8967, i16 2124, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 8967, i16 2124, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7478, i16 1986, i16 1, i16 680, i16 7976, i16 1986, i16 1, i16 680, i16 5868, i16 2016, i16 1, i16 680, i16 7478, i16 1986, i16 2, i16 1338, i16 3, i16 2178, i16 2, i16 1338, i16 3, i16 2178, i16 3, i16 212, i16 3, i16 0, i16 4, i16 6, i16 3, i16 2193, i16 5, i16 13168, i16 3, i16 0, i16 6, i16 17171, i16 3, i16 0, i16 1, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 21, i16 22, i16 23, i16 24, i16 30, i16 40, i16 44, i16 45, i16 50, i16 51, i16 52, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 120, i16 125, i16 126, i16 135, i16 137, i16 144, i16 157, i16 159, i16 160, i16 162, i16 167, i16 170, i16 172, i16 175, i16 177, i16 182, i16 183, i16 186, i16 188, i16 193, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 236, i16 237, i16 240, i16 241, i16 242, i16 243, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 458, i16 459, i16 460, i16 461, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 640, i16 651, i16 652, i16 654, i16 655, i16 669, i16 683, i16 685, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 698, i16 708, i16 711, i16 719, i16 720, i16 722, i16 724, i16 725, i16 726, i16 727, i16 728, i16 731, i16 732, i16 733, i16 735, i16 742, i16 743, i16 744, i16 745, i16 746, i16 747, i16 748, i16 756, i16 757, i16 758, i16 759, i16 761, i16 764, i16 765, i16 766, i16 767, i16 768, i16 774, i16 775, i16 776, i16 779, i16 780, i16 783, i16 784, i16 785, i16 786, i16 793, i16 798, i16 805, i16 806, i16 808, i16 810, i16 811, i16 812, i16 816, i16 818, i16 819, i16 820, i16 821, i16 826, i16 827, i16 828, i16 830, i16 831, i16 832, i16 833, i16 840, i16 843, i16 844, i16 859, i16 860, i16 862, i16 863, i16 877, i16 891, i16 893, i16 895, i16 896, i16 897, i16 898, i16 899, i16 900, i16 901, i16 902, i16 903, i16 906, i16 916, i16 919, i16 927, i16 928, i16 930, i16 932, i16 933, i16 934, i16 935, i16 936, i16 939, i16 940, i16 942, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 955, i16 963, i16 964, i16 965, i16 967, i16 970, i16 971, i16 972, i16 973, i16 979, i16 980, i16 981, i16 984, i16 985, i16 988, i16 989, i16 990, i16 991, i16 998, i16 1002, i16 1009, i16 1010, i16 1012, i16 1014, i16 1015, i16 1016, i16 1020, i16 1022, i16 1023, i16 1024, i16 1025, i16 1030, i16 1031, i16 1032, i16 1034, i16 1035, i16 1036, i16 1037, i16 1044, i16 1047, i16 1108, i16 1109, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 1117, i16 1118, i16 1119, i16 1120, i16 1121, i16 1122, i16 1123, i16 1124, i16 1125, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1132, i16 1133, i16 1134, i16 1139, i16 1140, i16 1141, i16 1142, i16 1143, i16 1147, i16 1157, i16 1158, i16 1183, i16 1184, i16 1185, i16 1186, i16 1187, i16 1188, i16 1189, i16 1190, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1206, i16 1207, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1235, i16 1236, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1242, i16 1243, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 1251, i16 1252, i16 1253, i16 1254, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1263, i16 1264, i16 1265, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1318, i16 1319, i16 1348, i16 1349, i16 1350, i16 1351, i16 1356, i16 1357, i16 1358, i16 1359, i16 1368, i16 1369, i16 1371, i16 1372, i16 1373, i16 1374, i16 1377, i16 1378, i16 1379, i16 1380, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 1390, i16 1391, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1400, i16 1403, i16 1404, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1418, i16 1419, i16 1420, i16 1421, i16 1422, i16 1423, i16 1424, i16 1425, i16 1426, i16 1427, i16 1428, i16 1429, i16 1430, i16 1431, i16 1432, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1440, i16 1441, i16 1442, i16 1443, i16 1444, i16 1445, i16 1446, i16 1447, i16 1448, i16 1449, i16 1450, i16 1451, i16 1452, i16 1453, i16 1454, i16 1455, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1481, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1507, i16 1513, i16 1520, i16 1521, i16 1523, i16 1529, i16 1530, i16 1531, i16 1533, i16 1536, i16 1537, i16 1540, i16 1542, i16 1543, i16 1544, i16 1545, i16 1548, i16 1551, i16 1552, i16 1554, i16 1555, i16 1558, i16 1559, i16 1560, i16 1562, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1571, i16 1578, i16 1584, i16 1585, i16 1587, i16 1593, i16 1596, i16 1598, i16 1601, i16 1602, i16 1605, i16 1607, i16 1608, i16 1609, i16 1610, i16 1613, i16 1616, i16 1617, i16 1619, i16 1620, i16 1623, i16 1624, i16 1625, i16 1627, i16 1629, i16 1630, i16 2, i16 25, i16 26, i16 27, i16 28, i16 29, i16 41, i16 48, i16 49, i16 132, i16 141, i16 151, i16 153, i16 155, i16 169, i16 185, i16 199, i16 200, i16 235, i16 299, i16 300, i16 301, i16 302, i16 304, i16 305, i16 307, i16 308, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 317, i16 318, i16 319, i16 320, i16 321, i16 323, i16 324, i16 325, i16 326, i16 328, i16 329, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 339, i16 341, i16 342, i16 344, i16 345, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 641, i16 642, i16 643, i16 644, i16 648, i16 649, i16 650, i16 653, i16 662, i16 663, i16 664, i16 665, i16 666, i16 682, i16 684, i16 705, i16 706, i16 707, i16 714, i16 715, i16 716, i16 721, i16 723, i16 730, i16 755, i16 760, i16 771, i16 772, i16 773, i16 794, i16 795, i16 796, i16 797, i16 807, i16 814, i16 815, i16 817, i16 823, i16 841, i16 842, i16 849, i16 850, i16 851, i16 852, i16 856, i16 857, i16 858, i16 861, i16 870, i16 871, i16 872, i16 873, i16 874, i16 890, i16 892, i16 913, i16 914, i16 915, i16 922, i16 923, i16 924, i16 929, i16 931, i16 938, i16 962, i16 966, i16 976, i16 977, i16 978, i16 999, i16 1000, i16 1001, i16 1011, i16 1018, i16 1019, i16 1021, i16 1027, i16 1045, i16 1046, i16 1048, i16 1084, i16 1085, i16 1086, i16 1087, i16 1088, i16 1089, i16 1090, i16 1091, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1099, i16 1100, i16 1101, i16 1102, i16 1103, i16 1104, i16 1105, i16 1106, i16 1107, i16 1110, i16 1137, i16 1138, i16 1144, i16 1145, i16 1146, i16 1154, i16 1155, i16 1156, i16 1159, i16 1175, i16 1176, i16 1177, i16 1178, i16 1179, i16 1180, i16 1181, i16 1182, i16 1191, i16 1192, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1310, i16 1311, i16 1312, i16 1313, i16 1314, i16 1315, i16 1316, i16 1317, i16 1346, i16 1347, i16 1352, i16 1353, i16 1354, i16 1355, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 1367, i16 1511, i16 1517, i16 1518, i16 1519, i16 1522, i16 1527, i16 1528, i16 1535, i16 1539, i16 1546, i16 1547, i16 1550, i16 1557, i16 1561, i16 1563, i16 1575, i16 1577, i16 1582, i16 1583, i16 1586, i16 1591, i16 1592, i16 1595, i16 1600, i16 1604, i16 1611, i16 1612, i16 1615, i16 1622, i16 1626, i16 1628, i16 4, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 322, i16 323, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 446, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 460, i16 464, i16 468, i16 472, i16 474, i16 475, i16 477, i16 478, i16 480, i16 482, i16 483, i16 485, i16 486, i16 488, i16 489, i16 490, i16 493, i16 494, i16 496, i16 497, i16 498, i16 501, i16 502, i16 504, i16 505, i16 506, i16 508, i16 509, i16 511, i16 512, i16 513, i16 514, i16 515, i16 516, i16 517, i16 518, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 714, i16 715, i16 716, i16 717, i16 718, i16 719, i16 720, i16 721, i16 722, i16 723, i16 724, i16 725, i16 726, i16 727, i16 728, i16 729, i16 730, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 737, i16 738, i16 739, i16 740, i16 741, i16 742, i16 743, i16 744, i16 745, i16 746, i16 747, i16 748, i16 749, i16 750, i16 751, i16 752, i16 755, i16 783, i16 784, i16 785, i16 788, i16 789, i16 790, i16 791, i16 792, i16 793, i16 794, i16 795, i16 796, i16 797, i16 798, i16 799, i16 800, i16 801, i16 802, i16 803, i16 804, i16 805, i16 806, i16 807, i16 808, i16 809, i16 810, i16 811, i16 812, i16 813, i16 814, i16 815, i16 816, i16 817, i16 818, i16 819, i16 824, i16 825, i16 828, i16 829, i16 830, i16 831, i16 832, i16 833, i16 834, i16 835, i16 840, i16 841, i16 842, i16 851, i16 852, i16 853, i16 854, i16 855, i16 856, i16 857, i16 858, i16 859, i16 860, i16 861, i16 864, i16 865, i16 868, i16 869, i16 870, i16 871, i16 874, i16 875, i16 876, i16 881, i16 882, i16 883, i16 884, i16 885, i16 886, i16 887, i16 888, i16 891, i16 892, i16 893, i16 894, i16 895, i16 896, i16 897, i16 904, i16 905, i16 908, i16 909, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 918, i16 919, i16 920, i16 921, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 929, i16 930, i16 931, i16 932, i16 933, i16 934, i16 935, i16 936, i16 937, i16 938, i16 939, i16 940, i16 941, i16 942, i16 943, i16 948, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 964, i16 965, i16 966, i16 967, i16 968, i16 969, i16 970, i16 971, i16 972, i16 977, i16 978, i16 979, i16 980, i16 981, i16 982, i16 983, i16 984, i16 987, i16 988, i16 989, i16 992, i16 993, i16 994, i16 995, i16 996, i16 997, i16 998, i16 999, i16 1000, i16 1001, i16 1002, i16 1003, i16 1004, i16 1005, i16 1006, i16 1007, i16 1008, i16 1012, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1023, i16 1024, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 1039, i16 1040, i16 1041, i16 1042, i16 1045, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 1058, i16 1059, i16 1060, i16 1061, i16 1062, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1072, i16 1073, i16 1074, i16 1078, i16 1079, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1103, i16 1104, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1112, i16 1113, i16 1116, i16 1117, i16 1120, i16 1121, i16 1122, i16 1123, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1138, i16 1139, i16 1140, i16 1143, i16 1144, i16 1145, i16 1146, i16 1147, i16 1148, i16 1149, i16 1150, i16 1151, i16 1152, i16 1153, i16 1154, i16 1155, i16 1156, i16 1157, i16 1158, i16 1159, i16 1160, i16 1161, i16 1162, i16 1163, i16 1164, i16 1169, i16 1170, i16 1173, i16 1174, i16 1175, i16 1176, i16 1177, i16 1178, i16 1183, i16 1184, i16 1185, i16 1186, i16 1189, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1244, i16 1245, i16 1246, i16 1249, i16 1250, i16 1251, i16 1252, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1265, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1281, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1298, i16 1299, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1314, i16 1315, i16 1318, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1328, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 1336, i16 1337, i16 1338, i16 1339, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 1360, i16 1369, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1404, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1427, i16 1428, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1481, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 1528, i16 1529, i16 1530, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 1539, i16 1540, i16 1541, i16 1542, i16 1543, i16 1544, i16 1545, i16 1546, i16 1547, i16 1548, i16 1549, i16 1550, i16 1551, i16 1552, i16 1553, i16 1554, i16 1555, i16 1556, i16 1557, i16 1558, i16 1559, i16 1560, i16 1561, i16 1562, i16 1563, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 1595, i16 1596, i16 1597, i16 1598, i16 1599, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1611, i16 1612, i16 1613, i16 1614, i16 1615, i16 1616, i16 1617, i16 1618, i16 1619, i16 1620, i16 1621, i16 1622, i16 1623, i16 1624, i16 1625, i16 1626, i16 1627, i16 1628, i16 1629, i16 1630, i16 1631, i16 1632, i16 1633, i16 1634, i16 1635, i16 1636, i16 1637, i16 1638, i16 1639, i16 1640, i16 1641, i16 1642, i16 1643, i16 1644, i16 1645, i16 1646, i16 1647, i16 1648, i16 1649, i16 1650, i16 1651, i16 1652, i16 1653, i16 1654, i16 1655, i16 1656, i16 1657, i16 1658, i16 1659, i16 1660, i16 1661, i16 1662, i16 1663, i16 1664, i16 1665, i16 1666, i16 1667, i16 1668, i16 1669, i16 1670, i16 1671, i16 1672, i16 1673, i16 1674, i16 1675, i16 1676, i16 1677, i16 1678, i16 1679, i16 1680, i16 1681, i16 1682, i16 1683, i16 1684, i16 1685, i16 1686, i16 1687, i16 1688, i16 1689, i16 1690, i16 1691, i16 1692, i16 1693, i16 1694, i16 1695, i16 1696, i16 1697, i16 1698, i16 1699, i16 1700, i16 1701, i16 1702, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 1717, i16 1718, i16 1719, i16 1720, i16 1721, i16 1722, i16 1723, i16 1724, i16 1725, i16 1726, i16 1727, i16 1728, i16 1729, i16 1730, i16 1731, i16 1732, i16 1733, i16 1734, i16 1735, i16 1736, i16 1737, i16 1738, i16 1739, i16 1740, i16 1741, i16 1742, i16 1743, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 1749, i16 1750, i16 1751, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 1758, i16 1759, i16 1760, i16 1761, i16 1762, i16 1763, i16 1764, i16 1765, i16 1766, i16 1767, i16 1768, i16 1769, i16 1770, i16 1771, i16 1772, i16 1773, i16 1774, i16 1775, i16 1776, i16 1777, i16 1778, i16 1779, i16 1780, i16 1781, i16 1782, i16 1783, i16 1784, i16 1785, i16 1786, i16 1787, i16 1788, i16 1789, i16 1790, i16 1791, i16 1792, i16 1793, i16 1794, i16 1795, i16 1796, i16 1797, i16 1798, i16 1799, i16 1800, i16 1801, i16 1802, i16 1803, i16 1804, i16 1805, i16 1806, i16 1807, i16 1808, i16 1809, i16 1810, i16 1811, i16 1812, i16 1813, i16 1814, i16 1815, i16 1816, i16 1817, i16 1818, i16 1819, i16 1820, i16 1821, i16 1822, i16 1823, i16 1824, i16 1825, i16 1826, i16 1827, i16 1828, i16 1829, i16 1830, i16 1831, i16 1832, i16 1833, i16 1834, i16 1835, i16 1836, i16 1837, i16 1838, i16 1839, i16 1840, i16 1841, i16 1842, i16 1843, i16 1844, i16 1845, i16 1846, i16 1847, i16 1848, i16 1849, i16 1850, i16 1851, i16 1852, i16 1853, i16 1854, i16 1855, i16 1856, i16 1857, i16 1858, i16 1859, i16 1860, i16 1861, i16 1862, i16 1863, i16 1864, i16 1865, i16 1866, i16 1867, i16 1868, i16 1869, i16 1870, i16 1871, i16 1872, i16 1873, i16 1874, i16 1875, i16 1876, i16 1877, i16 1878, i16 1879, i16 1880, i16 1881, i16 1882, i16 1883, i16 1884, i16 1885, i16 1886, i16 1887, i16 1888, i16 1889, i16 1890, i16 1891, i16 1892, i16 1893, i16 1894, i16 1895, i16 1896, i16 1897, i16 1898, i16 1899, i16 1900, i16 1901, i16 1902, i16 1903, i16 1904, i16 1905, i16 1906, i16 1907, i16 1908, i16 1909, i16 1910, i16 1911, i16 1912, i16 1913, i16 1914, i16 1915, i16 1916, i16 1917, i16 1918, i16 1919, i16 1920, i16 1921, i16 1922, i16 1923, i16 1924, i16 1925, i16 1926, i16 1927, i16 1928, i16 1929, i16 1930, i16 1931, i16 1932, i16 1933, i16 1934, i16 1935, i16 1936, i16 1937, i16 1938, i16 1939, i16 1940, i16 1941, i16 1942, i16 1943, i16 1944, i16 1945, i16 1946, i16 1947, i16 1948, i16 1949, i16 1950, i16 1951, i16 1952, i16 1953, i16 1954, i16 1955, i16 1956, i16 1957, i16 1958, i16 1959, i16 1960, i16 1961, i16 1962, i16 1963, i16 1964, i16 1965, i16 1966, i16 1967, i16 1968, i16 1969, i16 1970, i16 1971, i16 1972, i16 1973, i16 1974, i16 1975, i16 1976, i16 1977, i16 1978, i16 1979, i16 1980, i16 1981, i16 1982, i16 1983, i16 1984, i16 1985, i16 1986, i16 1987, i16 1988, i16 1989, i16 1990, i16 1991, i16 1992, i16 1993, i16 1994, i16 1995, i16 1996, i16 1997, i16 1998, i16 1999, i16 2000, i16 2001, i16 2002, i16 2003, i16 2004, i16 2005, i16 2006, i16 2007, i16 2008, i16 2009, i16 2010, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 458, i16 459, i16 460, i16 461, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 482, i16 483, i16 484, i16 485, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 494, i16 495, i16 496, i16 497, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 520, i16 521, i16 522, i16 523, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 714, i16 715, i16 716, i16 717, i16 718, i16 719, i16 720, i16 721, i16 722, i16 723, i16 724, i16 725, i16 726, i16 727, i16 728, i16 729, i16 730, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 737, i16 738, i16 739, i16 740, i16 741, i16 742, i16 743, i16 744, i16 745, i16 746, i16 747, i16 748, i16 749, i16 750, i16 751, i16 752, i16 753, i16 754, i16 755, i16 756, i16 757, i16 758, i16 759, i16 760, i16 761, i16 762, i16 763, i16 764, i16 765, i16 766, i16 767, i16 768, i16 769, i16 770, i16 771, i16 772, i16 773, i16 774, i16 775, i16 776, i16 777, i16 778, i16 779, i16 780, i16 781, i16 782, i16 783, i16 784, i16 785, i16 786, i16 787, i16 788, i16 789, i16 790, i16 791, i16 792, i16 793, i16 794, i16 795, i16 796, i16 797, i16 798, i16 799, i16 800, i16 801, i16 802, i16 803, i16 804, i16 805, i16 806, i16 807, i16 808, i16 809, i16 810, i16 811, i16 812, i16 813, i16 814, i16 815, i16 816, i16 817, i16 818, i16 819, i16 820, i16 821, i16 822, i16 823, i16 824, i16 825, i16 826, i16 827, i16 828, i16 829, i16 830, i16 831, i16 832, i16 833, i16 834, i16 835, i16 836, i16 837, i16 838, i16 839, i16 840, i16 841, i16 842, i16 843, i16 844, i16 845, i16 846, i16 847, i16 848, i16 849, i16 850, i16 851, i16 852, i16 853, i16 854, i16 855, i16 856, i16 857, i16 858, i16 859, i16 860, i16 861, i16 862, i16 863, i16 864, i16 865, i16 866, i16 867, i16 868, i16 869, i16 870, i16 871, i16 872, i16 873, i16 874, i16 875, i16 876, i16 877, i16 878, i16 879, i16 880, i16 881, i16 882, i16 883, i16 884, i16 885, i16 886, i16 887, i16 888, i16 889, i16 890, i16 891, i16 892, i16 893, i16 894, i16 895, i16 896, i16 897, i16 898, i16 899, i16 900, i16 901, i16 902, i16 903, i16 904, i16 905, i16 906, i16 907, i16 908, i16 909, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 918, i16 919, i16 920, i16 921, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 929, i16 930, i16 931, i16 932, i16 933, i16 934, i16 935, i16 936, i16 937, i16 938, i16 939, i16 940, i16 941, i16 942, i16 943, i16 944, i16 945, i16 946, i16 947, i16 948, i16 949, i16 950, i16 951, i16 952, i16 953, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 964, i16 965, i16 966, i16 967, i16 968, i16 969, i16 970, i16 971, i16 972, i16 973, i16 974, i16 975, i16 976, i16 977, i16 978, i16 979, i16 980, i16 981, i16 982, i16 983, i16 984, i16 985, i16 986, i16 987, i16 988, i16 989, i16 990, i16 991, i16 992, i16 993, i16 994, i16 995, i16 996, i16 997, i16 998, i16 999, i16 1000, i16 1001, i16 1002, i16 1003, i16 1004, i16 1005, i16 1006, i16 1007, i16 1008, i16 1009, i16 1010, i16 1011, i16 1012, i16 1013, i16 1014, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1023, i16 1024, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 1037, i16 1038, i16 1039, i16 1040, i16 1041, i16 1042, i16 1043, i16 1044, i16 1045, i16 1046, i16 1047, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 1058, i16 1059, i16 1060, i16 1061, i16 1062, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1070, i16 1071, i16 1072, i16 1073, i16 1074, i16 1075, i16 1076, i16 1077, i16 1078, i16 1079, i16 1080, i16 1081, i16 1082, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1088, i16 1089, i16 1090, i16 1091, i16 1092, i16 1093, i16 1094, i16 1095, i16 1096, i16 1097, i16 1098, i16 1099, i16 1100, i16 1101, i16 1102, i16 1103, i16 1104, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 1117, i16 1118, i16 1119, i16 1120, i16 1121, i16 1122, i16 1123, i16 1124, i16 1125, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1132, i16 1133, i16 1134, i16 1135, i16 1136, i16 1137, i16 1138, i16 1139, i16 1140, i16 1141, i16 1142, i16 1143, i16 1144, i16 1145, i16 1146, i16 1147, i16 1148, i16 1149, i16 1150, i16 1151, i16 1152, i16 1153, i16 1154, i16 1155, i16 1156, i16 1157, i16 1158, i16 1159, i16 1160, i16 1161, i16 1162, i16 1163, i16 1164, i16 1165, i16 1166, i16 1167, i16 1168, i16 1169, i16 1170, i16 1171, i16 1172, i16 1173, i16 1174, i16 1175, i16 1176, i16 1177, i16 1178, i16 1179, i16 1180, i16 1181, i16 1182, i16 1183, i16 1184, i16 1185, i16 1186, i16 1187, i16 1188, i16 1189, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1206, i16 1207, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1235, i16 1236, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1242, i16 1243, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 1251, i16 1252, i16 1253, i16 1254, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1263, i16 1264, i16 1265, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1281, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1314, i16 1315, i16 1316, i16 1317, i16 1318, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 1367, i16 1368, i16 1369, i16 1370, i16 1371, i16 1372, i16 1373, i16 1374, i16 1375, i16 1376, i16 1377, i16 1378, i16 1379, i16 1380, i16 1381, i16 1382, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 1390, i16 1391, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1400, i16 1401, i16 1402, i16 1403, i16 1404, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1418, i16 1419, i16 1420, i16 1421, i16 1422, i16 1423, i16 1424, i16 1425, i16 1426, i16 1427, i16 1428, i16 1429, i16 1430, i16 1431, i16 1432, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1440, i16 1441, i16 1442, i16 1443, i16 1444, i16 1445, i16 1446, i16 1447, i16 1448, i16 1449, i16 1450, i16 1451, i16 1452, i16 1453, i16 1454, i16 1455, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1481, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 1528, i16 1529, i16 1530, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 1539, i16 1540, i16 1541, i16 1542, i16 1543, i16 1544, i16 1545, i16 1546, i16 1547, i16 1548, i16 1549, i16 1550, i16 1551, i16 1552, i16 1553, i16 1554, i16 1555, i16 1556, i16 1557, i16 1558, i16 1559, i16 1560, i16 1561, i16 1562, i16 1563, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 1595, i16 1596, i16 1597, i16 1598, i16 1599, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1611, i16 1612, i16 1613, i16 1614, i16 1615, i16 1616, i16 1617, i16 1618, i16 1619, i16 1620, i16 1621, i16 1622, i16 1623, i16 1624, i16 1625, i16 1626, i16 1627, i16 1628, i16 1629, i16 1630, i16 1631, i16 1632, i16 1633, i16 1634, i16 1635, i16 1636, i16 1637, i16 1638, i16 1639, i16 1640, i16 1641, i16 1642, i16 1643, i16 1644, i16 1645, i16 1646, i16 1647, i16 1648, i16 1649, i16 1650, i16 1651, i16 1652, i16 1653, i16 1654, i16 1655, i16 1656, i16 1657, i16 1658, i16 1659, i16 1660, i16 1661, i16 1662, i16 1663, i16 1664, i16 1665, i16 1666, i16 1667, i16 1668, i16 1669, i16 1670, i16 1671, i16 1672, i16 1673, i16 1674, i16 1675, i16 1676, i16 1677, i16 1678, i16 1679, i16 1680, i16 1681, i16 1682, i16 1683, i16 1684, i16 1685, i16 1686, i16 1687, i16 1688, i16 1689, i16 1690, i16 1691, i16 1692, i16 1693, i16 1694, i16 1695, i16 1696, i16 1697, i16 1698, i16 1699, i16 1700, i16 1701, i16 1702, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 1717, i16 1718, i16 1719, i16 1720, i16 1721, i16 1722, i16 1723, i16 1724, i16 1725, i16 1726, i16 1727, i16 1728, i16 1729, i16 1730, i16 1731, i16 1732, i16 1733, i16 1734, i16 1735, i16 1736, i16 1737, i16 1738, i16 1739, i16 1740, i16 1741, i16 1742, i16 1743, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 1749, i16 1750, i16 1751, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 1758, i16 1759, i16 1760, i16 1761, i16 1762, i16 1763, i16 1764, i16 1765, i16 1766, i16 1767, i16 1768, i16 1769, i16 1770, i16 1771, i16 1772, i16 1773, i16 1774, i16 1775, i16 1776, i16 1777, i16 1778, i16 1779, i16 1780, i16 1781, i16 1782, i16 1783, i16 1784, i16 1785, i16 1786, i16 1787, i16 1788, i16 1789, i16 1790, i16 1791, i16 1792, i16 1793, i16 1794, i16 1795, i16 1796, i16 1797, i16 1798, i16 1799, i16 1800, i16 1801, i16 1802, i16 1803, i16 1804, i16 1805, i16 1806, i16 1807, i16 1808, i16 1809, i16 1810, i16 1811, i16 1812, i16 1813, i16 1814, i16 1815, i16 1816, i16 1817, i16 1818, i16 1819, i16 1820, i16 1821, i16 1822, i16 1823, i16 1824, i16 1825, i16 1826, i16 1827, i16 1828, i16 1829, i16 1830, i16 1831, i16 1832, i16 1833, i16 1834, i16 1835, i16 1836, i16 1837, i16 1838, i16 1839, i16 1840, i16 1841, i16 1842, i16 1843, i16 1844, i16 1845, i16 1846, i16 1847, i16 1848, i16 1849, i16 1850, i16 1851, i16 1852, i16 1853, i16 1854, i16 1855, i16 1856, i16 1857, i16 1858, i16 1859, i16 1860, i16 1861, i16 1862, i16 1863, i16 1864, i16 1865, i16 1866, i16 1867, i16 1868, i16 1869, i16 1870, i16 1871, i16 1872, i16 1873, i16 1874, i16 1875, i16 1876, i16 1877, i16 1878, i16 1879, i16 1880, i16 1881, i16 1882, i16 1883, i16 1884, i16 1885, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 2, i16 1, i16 3, i16 1, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 281, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 290, i16 291, i16 292, i16 293, i16 294, i16 295, i16 296, i16 297, i16 298, i16 299, i16 300, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 332, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 365, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 432, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 457, i16 458, i16 459, i16 460, i16 461, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 482, i16 483, i16 484, i16 485, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 494, i16 495, i16 496, i16 497, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 520, i16 521, i16 522, i16 523, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 714, i16 715, i16 716, i16 717, i16 718, i16 719, i16 720, i16 721, i16 722, i16 723, i16 724, i16 725, i16 726, i16 727, i16 728, i16 729, i16 730, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 737, i16 738, i16 739, i16 740, i16 741, i16 742, i16 743, i16 744, i16 745, i16 746, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1187, i16 1188, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1189, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 1205, i16 1206, i16 1207, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 1230, i16 1231, i16 1232, i16 1233, i16 1234, i16 1235, i16 1236, i16 1187, i16 1190, i16 1237, i16 1238, i16 1239, i16 1240, i16 1241, i16 1242, i16 1243, i16 1187, i16 1190, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 1251, i16 1252, i16 1187, i16 1190, i16 1253, i16 1254, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 1263, i16 1264, i16 1265, i16 1187, i16 1190, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1281, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1187, i16 1190, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1187, i16 1314, i16 1315, i16 1316, i16 1317, i16 1318, i16 1190, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1329, i16 1330, i16 1331, i16 1187, i16 1190, i16 1332, i16 1333, i16 1334, i16 1335, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 1187, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 1367, i16 1368, i16 1369, i16 1370, i16 1371, i16 1372, i16 1373, i16 1187, i16 1374, i16 1375, i16 1190, i16 1376, i16 1377, i16 1378, i16 1187, i16 1190, i16 1379, i16 1380, i16 1381, i16 1382, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 1187, i16 1190, i16 1390, i16 1391, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1398, i16 1399, i16 1400, i16 1401, i16 1402, i16 1403, i16 1404, i16 1187, i16 1190, i16 1405, i16 1406, i16 1407, i16 1408, i16 1409, i16 1410, i16 1411, i16 1187, i16 1190, i16 1412, i16 1413, i16 1414, i16 1415, i16 1416, i16 1417, i16 1418, i16 1419, i16 1420, i16 1421, i16 1422, i16 1423, i16 1187, i16 1190, i16 1424, i16 1425, i16 1426, i16 1427, i16 1428, i16 1429, i16 1430, i16 1431, i16 1432, i16 1433, i16 1434, i16 1435, i16 1436, i16 1437, i16 1438, i16 1439, i16 1440, i16 1441, i16 1442, i16 1443, i16 1444, i16 1445, i16 1446, i16 1447, i16 1448, i16 1449, i16 1450, i16 1451, i16 1452, i16 1453, i16 1454, i16 1455, i16 1456, i16 1457, i16 1458, i16 1459, i16 1460, i16 1461, i16 1462, i16 1463, i16 1464, i16 1465, i16 1466, i16 1467, i16 1468, i16 1469, i16 1470, i16 1471, i16 1472, i16 1473, i16 1474, i16 1475, i16 1187, i16 1190, i16 1476, i16 1477, i16 1478, i16 1479, i16 1480, i16 1187, i16 1190, i16 1481, i16 1187, i16 1190, i16 1482, i16 1483, i16 1484, i16 1485, i16 1486, i16 1487, i16 1488, i16 1489, i16 1490, i16 1491, i16 1492, i16 1493, i16 1494, i16 1495, i16 1496, i16 1497, i16 1498, i16 1187, i16 1190, i16 1499, i16 1500, i16 1501, i16 1502, i16 1503, i16 1504, i16 1505, i16 1506, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1187, i16 1513, i16 1514, i16 1515, i16 1190, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 1528, i16 1529, i16 1530, i16 1187, i16 1190, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 1539, i16 1540, i16 1541, i16 1542, i16 1543, i16 1544, i16 1545, i16 1546, i16 1547, i16 1548, i16 1549, i16 1550, i16 1551, i16 1552, i16 1553, i16 1554, i16 1555, i16 1556, i16 1557, i16 1558, i16 1559, i16 1560, i16 1561, i16 1562, i16 1563, i16 1564, i16 1565, i16 1566, i16 1567, i16 1568, i16 1569, i16 1570, i16 1571, i16 1572, i16 1573, i16 1574, i16 1575, i16 1576, i16 1577, i16 1578, i16 1579, i16 1580, i16 1581, i16 1582, i16 1583, i16 1187, i16 1187, i16 1187, i16 1190, i16 1584, i16 1585, i16 1586, i16 1587, i16 1588, i16 1187, i16 1589, i16 1590, i16 1591, i16 1592, i16 1593, i16 1594, i16 1595, i16 1596, i16 1597, i16 1598, i16 1599, i16 1600, i16 1601, i16 1602, i16 1603, i16 1604, i16 1605, i16 1606, i16 1607, i16 1608, i16 1609, i16 1610, i16 1187, i16 1611, i16 1612, i16 1613, i16 1614, i16 1611, i16 1615, i16 1611, i16 1616, i16 1611, i16 1617, i16 1611, i16 1618, i16 1619, i16 1620, i16 1611, i16 1621, i16 1611, i16 1622, i16 1623, i16 1624, i16 1611, i16 1625, i16 1611, i16 1626, i16 1627, i16 1628, i16 1629, i16 1630, i16 1631, i16 1611, i16 1632, i16 1611, i16 1633, i16 1611, i16 1634, i16 1611, i16 1635, i16 1611, i16 1636, i16 1611, i16 1637, i16 1638, i16 1639, i16 1611, i16 1640, i16 1611, i16 1641, i16 1611, i16 1642, i16 1643, i16 1611, i16 1644, i16 1611, i16 1645, i16 1646, i16 1647, i16 1648, i16 1649, i16 1650, i16 1611, i16 1651, i16 1611, i16 1652, i16 1611, i16 1653, i16 1611, i16 1654, i16 1655, i16 1656, i16 1657, i16 1658, i16 1657, i16 1659, i16 1657, i16 1660, i16 1657, i16 1661, i16 1657, i16 1662, i16 1657, i16 1663, i16 1657, i16 1664, i16 1657, i16 1665, i16 1657, i16 1666, i16 1657, i16 1667, i16 1657, i16 1668, i16 1657, i16 1669, i16 1657, i16 1670, i16 1657, i16 1671, i16 1657, i16 1672, i16 1657, i16 1673, i16 1657, i16 1674, i16 1657, i16 1675, i16 1657, i16 1676, i16 1657, i16 1677, i16 1657, i16 1678, i16 1657, i16 1679, i16 1657, i16 1680, i16 1657, i16 1681, i16 1657, i16 1682, i16 1657, i16 1683, i16 1657, i16 1684, i16 1657, i16 1685, i16 1657, i16 1686, i16 1657, i16 1687, i16 1657, i16 1688, i16 1657, i16 1689, i16 1657, i16 1690, i16 1657, i16 1691, i16 1657, i16 1692, i16 1657, i16 1693, i16 1657, i16 1694, i16 1657, i16 1695, i16 1657, i16 1696, i16 1657, i16 1697, i16 1657, i16 1698, i16 1699, i16 1700, i16 1657, i16 1701, i16 1699, i16 1702, i16 1657, i16 1703, i16 1657, i16 1704, i16 1657, i16 1705, i16 1657, i16 1706, i16 1657, i16 1707, i16 1657, i16 1708, i16 1657, i16 1709, i16 1657, i16 1710, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1711, i16 1189, i16 1189, i16 1189, i16 1189, i16 1712, i16 1712, i16 1713, i16 1714, i16 1714, i16 1714, i16 1714, i16 1714, i16 1714, i16 1712, i16 1712, i16 1715, i16 1715, i16 1715, i16 1712, i16 1716, i16 1716, i16 1716, i16 1716, i16 1712, i16 1712, i16 1712, i16 1717, i16 1717, i16 1717, i16 1717, i16 1717, i16 1717, i16 1717, i16 1712, i16 1718, i16 1718, i16 1718, i16 1718, i16 1712, i16 1719, i16 1719, i16 1719, i16 1719, i16 1712, i16 1720, i16 1720, i16 1720, i16 1720, i16 1712, i16 1721, i16 1721, i16 1721, i16 1721, i16 1712, i16 1722, i16 1722, i16 1712, i16 1723, i16 1723, i16 1712, i16 1724, i16 1724, i16 1712, i16 1725, i16 1725, i16 1712, i16 1726, i16 1726, i16 1726, i16 1726, i16 1712, i16 1727, i16 1727, i16 1727, i16 1727, i16 1712, i16 1728, i16 1728, i16 1728, i16 1728, i16 1712, i16 1729, i16 1729, i16 1729, i16 1729, i16 1712, i16 1730, i16 1730, i16 1730, i16 1730, i16 1712, i16 1731, i16 1731, i16 1731, i16 1731, i16 1712, i16 1732, i16 1732, i16 1732, i16 1732, i16 1712, i16 1733, i16 1733, i16 1733, i16 1733, i16 1712, i16 1734, i16 1734, i16 1734, i16 1734, i16 1712, i16 1735, i16 1735, i16 1735, i16 1735, i16 1712, i16 1736, i16 1736, i16 1736, i16 1736, i16 1712, i16 1737, i16 1737, i16 1737, i16 1737, i16 1712, i16 1738, i16 1738, i16 1738, i16 1738, i16 1712, i16 1739, i16 1739, i16 1739, i16 1739, i16 1712, i16 1740, i16 1740, i16 1740, i16 1740, i16 1712, i16 1741, i16 1741, i16 1712, i16 1742, i16 1742, i16 1712, i16 1743, i16 1743, i16 1743, i16 1743, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 1749, i16 1750, i16 1751, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 1758, i16 1759, i16 1760, i16 1761, i16 1762, i16 1712, i16 1763, i16 1763, i16 1763, i16 1712, i16 1764, i16 1764, i16 1764, i16 1712, i16 1765, i16 1765, i16 1765, i16 1765, i16 1712, i16 1766, i16 1766, i16 1766, i16 1712, i16 1767, i16 1767, i16 1767, i16 1712, i16 1768, i16 1768, i16 1768, i16 1768, i16 1712, i16 1769, i16 1769, i16 1769, i16 1712, i16 1770, i16 1770, i16 1770, i16 1712, i16 1771, i16 1771, i16 1771, i16 1771, i16 1712, i16 1772, i16 1772, i16 1772, i16 1712, i16 1773, i16 1773, i16 1773, i16 1712, i16 1774, i16 1774, i16 1774, i16 1712, i16 1775, i16 1775, i16 1775, i16 1712, i16 1776, i16 1776, i16 1776, i16 1712, i16 1777, i16 1777, i16 1777, i16 1712, i16 1778, i16 1778, i16 1778, i16 1712, i16 1779, i16 1779, i16 1779, i16 1712, i16 1780, i16 1780, i16 1780, i16 1780, i16 1780, i16 1712, i16 1781, i16 1781, i16 1781, i16 1712, i16 1782, i16 1782, i16 1782, i16 1712, i16 1783, i16 1712, i16 1784, i16 1712, i16 1785, i16 1712, i16 1786, i16 1712, i16 1787, i16 1712, i16 1788, i16 1788, i16 1788, i16 1788, i16 1788, i16 1712, i16 1789, i16 1789, i16 1789, i16 1789, i16 1789, i16 1712, i16 1790, i16 1790, i16 1790, i16 1790, i16 1790, i16 1712, i16 1791, i16 1791, i16 1791, i16 1791, i16 1791, i16 1712, i16 1792, i16 1792, i16 1792, i16 1792, i16 1792, i16 1712, i16 1793, i16 1712, i16 1794, i16 1712, i16 1795, i16 1712, i16 1796, i16 1712, i16 1797, i16 1712, i16 1798, i16 1798, i16 1798, i16 1712, i16 1799, i16 1799, i16 1799, i16 1712, i16 1800, i16 1800, i16 1800, i16 1712, i16 1801, i16 1712, i16 1802, i16 1712, i16 1803, i16 1712, i16 1804, i16 1712, i16 1805, i16 1712, i16 1806, i16 1806, i16 1806, i16 1712, i16 1807, i16 1712, i16 1808, i16 1712, i16 1809, i16 1712, i16 1810, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2093, i16 2094, i16 2095, i16 2096, i16 2097, i16 2098, i16 2099, i16 2100, i16 2101, i16 2102, i16 2103, i16 2104, i16 2105, i16 2106, i16 2107, i16 2108, i16 2109, i16 2110, i16 2111, i16 2112, i16 2113, i16 2114, i16 2115, i16 2116, i16 2117, i16 2118, i16 2119, i16 2120, i16 2121, i16 2122, i16 2123, i16 2124, i16 2125, i16 2126, i16 2127, i16 2128, i16 2129, i16 2130, i16 2131, i16 2132, i16 2133, i16 2134, i16 2135, i16 2136, i16 2137, i16 2138, i16 2139, i16 2140, i16 2141, i16 2142, i16 2143, i16 2144, i16 2145, i16 2146, i16 2147, i16 2148, i16 2149, i16 2150, i16 2151, i16 2091, i16 2152, i16 2153, i16 2154, i16 2155, i16 2156, i16 2157, i16 2093, i16 2158, i16 2159, i16 2160, i16 2161, i16 2162, i16 2163, i16 2164, i16 2091, i16 2093, i16 2165, i16 2166, i16 2167, i16 2168, i16 2169, i16 2170, i16 2171, i16 2172, i16 2173, i16 2174, i16 2175, i16 2176, i16 2177, i16 2178, i16 2179, i16 2091, i16 2093, i16 2180, i16 2181, i16 2182, i16 2183, i16 2184, i16 2185, i16 2186, i16 2187, i16 2188, i16 2189, i16 2190, i16 2191, i16 2192, i16 2193, i16 2194, i16 2091, i16 2093, i16 2195, i16 2196, i16 2197, i16 2198, i16 2199, i16 2200, i16 2201, i16 2202, i16 2203, i16 2204, i16 2205, i16 2206, i16 2207, i16 2208, i16 2209, i16 2210, i16 2211, i16 2212, i16 2213, i16 2214, i16 2215, i16 2216, i16 2217, i16 2218, i16 2219, i16 2220, i16 2221, i16 2222, i16 2223, i16 2224, i16 2225, i16 2226, i16 2227, i16 2228, i16 2229, i16 2230, i16 2231, i16 2232, i16 2233, i16 2234, i16 2235, i16 2236, i16 2237, i16 2238, i16 2239, i16 2240, i16 2241, i16 2242, i16 2243, i16 2091, i16 2093, i16 2244, i16 2245, i16 2246, i16 2247, i16 2248, i16 2091, i16 2249, i16 2250, i16 2251, i16 2252, i16 2253, i16 2093, i16 2254, i16 2255, i16 2256, i16 2257, i16 2258, i16 2259, i16 2260, i16 2261, i16 2262, i16 2263, i16 2264, i16 2265, i16 2266, i16 2267, i16 2268, i16 2269, i16 2270, i16 2091, i16 2093, i16 2271, i16 2272, i16 2273, i16 2274, i16 2275, i16 2276, i16 2277, i16 2278, i16 2279, i16 2280, i16 2281, i16 2282, i16 2283, i16 2284, i16 2285, i16 2091, i16 2093, i16 2286, i16 2287, i16 2093, i16 2288, i16 2289, i16 2290, i16 2291, i16 2292, i16 2293, i16 2294, i16 2295, i16 2296, i16 2297, i16 2298, i16 2299, i16 2300, i16 2301, i16 2302, i16 2303, i16 2304, i16 2305, i16 2306, i16 2307, i16 2308, i16 2309, i16 2310, i16 2311, i16 2312, i16 2313, i16 2314, i16 2315, i16 2316, i16 2317, i16 2318, i16 2319, i16 2320, i16 2091, i16 2321, i16 2322, i16 2093, i16 2323, i16 2324, i16 2325, i16 2091, i16 2093, i16 2326, i16 2327, i16 2328, i16 2329, i16 2330, i16 2331, i16 2332, i16 2333, i16 2334, i16 2335, i16 2336, i16 2337, i16 2338, i16 2091, i16 2339, i16 2093, i16 2340, i16 2341, i16 2342, i16 2343, i16 2344, i16 2345, i16 2346, i16 2347, i16 2348, i16 2349, i16 2350, i16 2351, i16 2352, i16 2353, i16 2354, i16 2355, i16 2356, i16 2357, i16 2358, i16 2091, i16 2093, i16 2359, i16 2360, i16 2361, i16 2362, i16 2363, i16 2364, i16 2365, i16 2091, i16 2093, i16 2366, i16 2367, i16 2368, i16 2369, i16 2370, i16 2371, i16 2372, i16 2373, i16 2374, i16 2375, i16 2376, i16 2377, i16 2378, i16 2379, i16 2380, i16 2381, i16 2382, i16 2383, i16 2091, i16 2384, i16 2385, i16 2093, i16 2386, i16 2387, i16 2388, i16 2389, i16 2390, i16 2391, i16 2392, i16 2393, i16 2394, i16 2395, i16 2396, i16 2397, i16 2398, i16 2399, i16 2400, i16 2401, i16 2402, i16 2403, i16 2404, i16 2405, i16 2406, i16 2407, i16 2408, i16 2409, i16 2410, i16 2411, i16 2412, i16 2413, i16 2414, i16 2415, i16 2416, i16 2417, i16 2418, i16 2419, i16 2420, i16 2421, i16 2422, i16 2423, i16 2424, i16 2425, i16 2426, i16 2427, i16 2428, i16 2429, i16 2430, i16 2431, i16 2432, i16 2433, i16 2434, i16 2435, i16 2436, i16 2437, i16 2438, i16 2439, i16 2440, i16 2441, i16 2442, i16 2443, i16 2444, i16 2445, i16 2446, i16 2447, i16 2448, i16 2449, i16 2450, i16 2451, i16 2091, i16 2452, i16 2453, i16 2093, i16 2454, i16 2455, i16 2456, i16 2457, i16 2458, i16 2091, i16 2093, i16 2459, i16 2091, i16 2093, i16 2460, i16 2461, i16 2462, i16 2463, i16 2464, i16 2465, i16 2466, i16 2467, i16 2468, i16 2469, i16 2470, i16 2471, i16 2472, i16 2473, i16 2474, i16 2475, i16 2476, i16 2178, i16 2477, i16 2091, i16 2093, i16 2478, i16 2479, i16 2480, i16 2481, i16 2482, i16 2483, i16 2484, i16 2485, i16 2486, i16 2487, i16 2488, i16 2489, i16 2490, i16 2491, i16 2492, i16 2493, i16 2178, i16 2494, i16 2495, i16 2496, i16 2091, i16 2497, i16 2498, i16 2499, i16 2093, i16 2500, i16 2501, i16 2502, i16 2503, i16 2504, i16 2505, i16 2506, i16 2507, i16 2508, i16 2509, i16 2510, i16 2511, i16 2512, i16 2513, i16 2514, i16 2091, i16 2515, i16 2516, i16 2093, i16 2517, i16 2518, i16 2519, i16 2520, i16 2521, i16 2522, i16 2523, i16 2524, i16 2525, i16 2526, i16 2527, i16 2528, i16 2529, i16 2530, i16 2531, i16 2532, i16 2533, i16 2534, i16 2535, i16 2536, i16 2537, i16 2538, i16 2539, i16 2540, i16 2541, i16 2542, i16 2543, i16 2544, i16 2545, i16 2546, i16 2547, i16 2548, i16 2549, i16 2550, i16 2551, i16 2552, i16 2553, i16 2554, i16 2555, i16 2556, i16 2557, i16 2558, i16 2559, i16 2560, i16 2561, i16 2562, i16 2563, i16 2564, i16 2565, i16 2566, i16 2567, i16 2568, i16 2569, i16 2570, i16 2571, i16 2572, i16 2573, i16 2574, i16 2575, i16 2576, i16 2577, i16 2091, i16 2093, i16 2578, i16 2579, i16 2580, i16 2581, i16 2582, i16 2091, i16 2093, i16 2583, i16 2584, i16 2585, i16 2586, i16 2587, i16 2588, i16 2589, i16 2590, i16 2591, i16 2592, i16 2593, i16 2594, i16 2595, i16 2091, i16 2093, i16 2596, i16 2597, i16 2598, i16 2599, i16 2600, i16 2091, i16 2093, i16 2601, i16 2602, i16 2603, i16 2604, i16 2605, i16 2606, i16 2607, i16 2608, i16 2609, i16 2610, i16 2611, i16 2612, i16 2613, i16 2614, i16 2615, i16 2616, i16 2617, i16 2091, i16 2093, i16 2618, i16 2619, i16 2620, i16 2621, i16 2622, i16 2623, i16 2624, i16 2625, i16 2626, i16 2627, i16 2628, i16 2629, i16 2630, i16 2091, i16 2178, i16 2631, i16 2632, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2633, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2632, i16 2634, i16 2635, i16 2636, i16 2637, i16 2638, i16 2639, i16 2640, i16 2641, i16 2642, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2643, i16 2092, i16 2644, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2645, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2092, i16 2646, i16 2647, i16 2648, i16 2649, i16 2650, i16 2647, i16 2651, i16 2647, i16 2652, i16 2647, i16 2653, i16 2647, i16 2654, i16 2655, i16 2656, i16 2647, i16 2657, i16 2647, i16 2658, i16 2659, i16 2660, i16 2647, i16 2661, i16 2647, i16 2662, i16 2663, i16 2664, i16 2665, i16 2666, i16 2667, i16 2647, i16 2668, i16 2647, i16 2669, i16 2647, i16 2670, i16 2647, i16 2671, i16 2647, i16 2672, i16 2647, i16 2673, i16 2674, i16 2675, i16 2647, i16 2676, i16 2647, i16 2677, i16 2647, i16 2678, i16 2679, i16 2647, i16 2680, i16 2647, i16 2681, i16 2682, i16 2683, i16 2684, i16 2685, i16 2686, i16 2647, i16 2687, i16 2647, i16 2688, i16 2647, i16 2689, i16 2647, i16 2690, i16 2691, i16 2692, i16 2693, i16 2694, i16 2693, i16 2695, i16 2693, i16 2696, i16 2693, i16 2697, i16 2693, i16 2698, i16 2693, i16 2699, i16 2693, i16 2700, i16 2693, i16 2701, i16 2693, i16 2702, i16 2693, i16 2703, i16 2693, i16 2704, i16 2693, i16 2705, i16 2693, i16 2706, i16 2693, i16 2707, i16 2693, i16 2708, i16 2693, i16 2709, i16 2693, i16 2710, i16 2693, i16 2711, i16 2693, i16 2712, i16 2693, i16 2713, i16 2693, i16 2714, i16 2693, i16 2715, i16 2693, i16 2716, i16 2693, i16 2717, i16 2693, i16 2718, i16 2693, i16 2719, i16 2693, i16 2720, i16 2693, i16 2721, i16 2693, i16 2722, i16 2693, i16 2723, i16 2693, i16 2724, i16 2693, i16 2725, i16 2693, i16 2726, i16 2693, i16 2727, i16 2693, i16 2728, i16 2693, i16 2729, i16 2693, i16 2730, i16 2693, i16 2731, i16 2693, i16 2732, i16 2693, i16 2733, i16 2693, i16 2734, i16 2735, i16 2736, i16 2693, i16 2737, i16 2735, i16 2738, i16 2693, i16 2739, i16 2693, i16 2740, i16 2693, i16 2741, i16 2693, i16 2742, i16 2693, i16 2743, i16 2693, i16 2744, i16 2693, i16 2745, i16 2693, i16 2746, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2747, i16 2092, i16 2092, i16 2092, i16 2092, i16 2632, i16 2632, i16 2748, i16 2749, i16 2749, i16 2749, i16 2749, i16 2749, i16 2749, i16 2632, i16 2632, i16 2750, i16 2750, i16 2750, i16 2632, i16 2751, i16 2751, i16 2751, i16 2751, i16 2632, i16 2632, i16 2632, i16 2752, i16 2752, i16 2752, i16 2752, i16 2752, i16 2752, i16 2752, i16 2632, i16 2753, i16 2753, i16 2753, i16 2753, i16 2632, i16 2754, i16 2754, i16 2754, i16 2754, i16 2632, i16 2755, i16 2755, i16 2755, i16 2755, i16 2632, i16 2756, i16 2756, i16 2756, i16 2756, i16 2632, i16 2757, i16 2757, i16 2632, i16 2758, i16 2758, i16 2632, i16 2759, i16 2759, i16 2632, i16 2760, i16 2760, i16 2632, i16 2761, i16 2761, i16 2761, i16 2761, i16 2632, i16 2762, i16 2762, i16 2762, i16 2762, i16 2632, i16 2763, i16 2763, i16 2763, i16 2763, i16 2632, i16 2764, i16 2764, i16 2764, i16 2764, i16 2632, i16 2765, i16 2765, i16 2765, i16 2765, i16 2632, i16 2766, i16 2766, i16 2766, i16 2766, i16 2632, i16 2767, i16 2767, i16 2767, i16 2767, i16 2632, i16 2768, i16 2768, i16 2768, i16 2768, i16 2632, i16 2769, i16 2769, i16 2769, i16 2769, i16 2632, i16 2770, i16 2770, i16 2770, i16 2770, i16 2632, i16 2771, i16 2771, i16 2771, i16 2771, i16 2632, i16 2772, i16 2772, i16 2772, i16 2772, i16 2632, i16 2773, i16 2773, i16 2773, i16 2773, i16 2632, i16 2774, i16 2774, i16 2774, i16 2774, i16 2632, i16 2775, i16 2775, i16 2775, i16 2775, i16 2632, i16 2776, i16 2776, i16 2632, i16 2777, i16 2777, i16 2632, i16 2778, i16 2778, i16 2778, i16 2778, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2779, i16 2633, i16 2634, i16 2635, i16 2636, i16 2637, i16 2638, i16 2639, i16 2640, i16 2641, i16 2642, i16 2780, i16 2781, i16 2782, i16 2783, i16 2784, i16 2785, i16 2786, i16 2787, i16 2632, i16 2788, i16 2788, i16 2788, i16 2632, i16 2789, i16 2789, i16 2789, i16 2632, i16 2790, i16 2790, i16 2790, i16 2790, i16 2632, i16 2791, i16 2791, i16 2791, i16 2632, i16 2792, i16 2792, i16 2792, i16 2632, i16 2793, i16 2793, i16 2793, i16 2793, i16 2632, i16 2794, i16 2794, i16 2794, i16 2632, i16 2795, i16 2795, i16 2795, i16 2632, i16 2796, i16 2796, i16 2796, i16 2796, i16 2632, i16 2797, i16 2797, i16 2797, i16 2632, i16 2798, i16 2798, i16 2798, i16 2632, i16 2799, i16 2799, i16 2799, i16 2632, i16 2800, i16 2800, i16 2800, i16 2632, i16 2801, i16 2801, i16 2801, i16 2632, i16 2802, i16 2802, i16 2802, i16 2632, i16 2803, i16 2803, i16 2803, i16 2632, i16 2804, i16 2804, i16 2804, i16 2632, i16 2805, i16 2805, i16 2805, i16 2805, i16 2805, i16 2632, i16 2806, i16 2806, i16 2806, i16 2632, i16 2807, i16 2807, i16 2807, i16 2632, i16 2808, i16 2632, i16 2809, i16 2632, i16 2810, i16 2632, i16 2811, i16 2632, i16 2812, i16 2632, i16 2813, i16 2813, i16 2813, i16 2813, i16 2813, i16 2632, i16 2814, i16 2814, i16 2814, i16 2814, i16 2814, i16 2632, i16 2815, i16 2815, i16 2815, i16 2815, i16 2815, i16 2632, i16 2816, i16 2816, i16 2816, i16 2816, i16 2816, i16 2632, i16 2817, i16 2817, i16 2817, i16 2817, i16 2817, i16 2632, i16 2818, i16 2632, i16 2819, i16 2632, i16 2820, i16 2632, i16 2821, i16 2632, i16 2822, i16 2632, i16 2823, i16 2823, i16 2823, i16 2632, i16 2824, i16 2824, i16 2824, i16 2632, i16 2825, i16 2825, i16 2825, i16 2632, i16 2826, i16 2632, i16 2827, i16 2632, i16 2828, i16 2632, i16 2829, i16 2632, i16 2830, i16 2632, i16 2831, i16 2831, i16 2831, i16 2632, i16 2832, i16 2632, i16 2833, i16 2632, i16 2834, i16 2632, i16 2835, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2837, i16 2836, i16 2838, i16 2836, i16 2839, i16 2836, i16 2840, i16 2836, i16 2841, i16 2836, i16 2842, i16 2836, i16 2843, i16 2836, i16 2844, i16 2836, i16 2845, i16 2836, i16 2846, i16 2836, i16 2847, i16 2836, i16 2848, i16 2836, i16 2849, i16 2836, i16 2850, i16 2836, i16 2851, i16 2836, i16 2852, i16 2836, i16 2853, i16 2836, i16 2854, i16 2836, i16 2855, i16 2836, i16 2856, i16 2836, i16 2857, i16 2836, i16 2858, i16 2836, i16 2859, i16 2836, i16 2860, i16 2836, i16 2861, i16 2836, i16 2862, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2836, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2863, i16 2836, i16 2091, i16 2091, i16 2091, i16 2091, i16 2091, i16 2646, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2864, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2865, i16 2866, i16 2867, i16 2866, i16 2868, i16 2866, i16 2869, i16 2866, i16 2870, i16 2866, i16 2871, i16 2866, i16 2872, i16 2866, i16 2873, i16 2866, i16 2874, i16 2866, i16 2875, i16 2866, i16 2876, i16 2877, i16 2878, i16 2877, i16 2879, i16 2877, i16 2880, i16 2877, i16 2881, i16 2877, i16 2882, i16 2877, i16 2883, i16 2877, i16 2884, i16 2877, i16 2885, i16 2877, i16 2886, i16 2877, i16 2887, i16 2877, i16 2888, i16 2877, i16 2889, i16 2877, i16 2890, i16 2877, i16 2891, i16 2877, i16 2892, i16 2877, i16 2893, i16 2877, i16 2894, i16 2877, i16 2895, i16 2877, i16 2896, i16 2877, i16 2897, i16 2877, i16 2898, i16 2877, i16 2899, i16 2877, i16 2900, i16 2877, i16 2901, i16 2877, i16 2902, i16 2877, i16 2903, i16 2866, i16 2904, i16 2905, i16 2906, i16 2907, i16 2908, i16 2866, i16 2909, i16 2910, i16 2911, i16 2912, i16 2913, i16 2866, i16 2914, i16 2915, i16 2916, i16 2917, i16 2918, i16 2866, i16 2919, i16 2920, i16 2921, i16 2922, i16 2923, i16 2866, i16 2924, i16 2925, i16 2926, i16 2927, i16 2928, i16 2866, i16 2929, i16 2930, i16 2931, i16 2932, i16 2933, i16 2866, i16 2934, i16 2935, i16 2936, i16 2937, i16 2938, i16 2866, i16 2939, i16 2940, i16 2941, i16 2942, i16 2943, i16 2866, i16 2944, i16 2945, i16 2946, i16 2947, i16 2948, i16 2866, i16 2949, i16 2950, i16 2951, i16 2952, i16 2953, i16 2866, i16 2954, i16 2955, i16 2956, i16 2957, i16 2958, i16 2866, i16 2959, i16 2960, i16 2961, i16 2962, i16 2963, i16 2866, i16 2964, i16 2965, i16 2966, i16 2967, i16 2968, i16 2866, i16 2969, i16 2970, i16 2971, i16 2972, i16 2973, i16 2866, i16 2974, i16 2975, i16 2976, i16 2977, i16 2978, i16 2866, i16 2979, i16 2980, i16 2981, i16 2982, i16 2983, i16 2866, i16 2984, i16 2985, i16 2986, i16 2987, i16 2988, i16 2866, i16 2989, i16 2990, i16 2991, i16 2992, i16 2993, i16 2866, i16 2994, i16 2995, i16 2996, i16 2997, i16 2998, i16 2866, i16 2999, i16 3000, i16 3001, i16 3002, i16 3003, i16 2866, i16 3004, i16 3005, i16 3006, i16 3007, i16 3008, i16 2866, i16 3009, i16 3010, i16 3011, i16 3012, i16 3013, i16 2866, i16 3014, i16 3015, i16 3016, i16 3017, i16 3018, i16 2866, i16 3019, i16 3020, i16 3021, i16 3022, i16 3023, i16 2866, i16 3024, i16 3025, i16 3026, i16 3027, i16 3028, i16 2866, i16 3029, i16 3030, i16 3031, i16 3032, i16 3033, i16 2866, i16 3034, i16 3035, i16 3036, i16 3037, i16 3038, i16 2866, i16 3039, i16 3040, i16 3041, i16 3042, i16 3043, i16 2866, i16 3044, i16 3045, i16 3046, i16 3047, i16 3048, i16 2866, i16 3049, i16 3050, i16 3051, i16 3052, i16 3053, i16 2866, i16 3054, i16 3055, i16 3056, i16 3057, i16 3058, i16 2866, i16 3059, i16 3060, i16 3061, i16 3062, i16 3063, i16 2866, i16 3064, i16 3065, i16 3066, i16 3067, i16 3068, i16 2866, i16 3069, i16 3070, i16 3071, i16 3072, i16 3073, i16 2866, i16 3074, i16 3075, i16 3076, i16 3077, i16 3078, i16 2866, i16 2866, i16 3079, i16 3080, i16 3081, i16 3082, i16 3083, i16 2866, i16 2866, i16 3084, i16 3085, i16 3086, i16 3087, i16 3088, i16 2866, i16 3089, i16 3090, i16 3091, i16 3092, i16 3093, i16 2866, i16 3094, i16 3095, i16 3096, i16 3097, i16 3098, i16 2866, i16 3099, i16 3100, i16 3101, i16 3102, i16 3103, i16 2866, i16 3104, i16 3105, i16 3106, i16 3107, i16 3108, i16 2866, i16 3109, i16 3110, i16 3111, i16 3112, i16 3113, i16 2866, i16 3114, i16 3115, i16 3116, i16 3117, i16 3118, i16 2866, i16 3119, i16 3120, i16 3121, i16 3122, i16 3123, i16 2866, i16 2866, i16 2866, i16 2866, i16 3124, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 2866, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 99, i16 104, i16 112, i16 117, i16 122, i16 124, i16 126, i16 128, i16 130, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 1162, i16 296, i16 0, i16 704, i16 0, i16 1166, i16 293, i16 0, i16 714, i16 0, i16 1168, i16 296, i16 0, i16 1167, i16 293, i16 0, i16 723, i16 0, i16 1169, i16 299, i16 0, i16 728, i16 0, i16 1170, i16 293, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 49, i16 51, i16 53, i16 55, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 83, i16 85, i16 87, i16 89, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 1174, i16 169, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 1176, i16 169, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 1173, i16 169, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 1175, i16 169, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 1222, i16 411, i16 0, i16 1221, i16 491, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 1219, i16 411, i16 0, i16 1220, i16 491, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 48, i16 50, i16 52, i16 54, i16 62, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 94, i16 96, i16 98, i16 100, i16 108, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 138, i16 140, i16 142, i16 144, i16 146, i16 148, i16 478, i16 0, i16 1265, i16 1008, i16 0, i16 1264, i16 1047, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 1269, i16 421, i16 0, i16 1268, i16 501, i16 0, i16 504, i16 0, i16 1273, i16 421, i16 0, i16 1272, i16 501, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 1262, i16 1008, i16 0, i16 1263, i16 1047, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 1266, i16 421, i16 0, i16 1267, i16 501, i16 0, i16 425, i16 0, i16 1270, i16 421, i16 0, i16 1271, i16 501, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 52, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 92, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 1318, i16 989, i16 0, i16 1317, i16 1029, i16 0, i16 491, i16 0, i16 1322, i16 401, i16 0, i16 1321, i16 481, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 1315, i16 989, i16 0, i16 1316, i16 1029, i16 0, i16 411, i16 0, i16 1319, i16 401, i16 0, i16 1320, i16 481, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 1222, i16 411, i16 0, i16 1221, i16 491, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1328, i16 413, i16 0, i16 1327, i16 493, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 1219, i16 411, i16 0, i16 1220, i16 491, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1325, i16 413, i16 0, i16 1326, i16 493, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 62, i16 142, i16 144, i16 168, i16 170, i16 194, i16 218, i16 220, i16 222, i16 224, i16 248, i16 272, i16 274, i16 298, i16 322, i16 402, i16 404, i16 428, i16 430, i16 454, i16 478, i16 480, i16 482, i16 484, i16 508, i16 532, i16 534, i16 558, i16 560, i16 562, i16 564, i16 566, i16 568, i16 570, i16 572, i16 574, i16 576, i16 1425, i16 451, i16 0, i16 1429, i16 398, i16 451, i16 0, i16 1428, i16 398, i16 528, i16 0, i16 1424, i16 528, i16 0, i16 1427, i16 478, i16 451, i16 0, i16 1426, i16 478, i16 528, i16 0, i16 478, i16 0, i16 1451, i16 471, i16 451, i16 0, i16 1450, i16 471, i16 528, i16 0, i16 1437, i16 471, i16 0, i16 1459, i16 399, i16 471, i16 451, i16 0, i16 1458, i16 399, i16 471, i16 528, i16 0, i16 1441, i16 399, i16 471, i16 0, i16 1457, i16 399, i16 548, i16 451, i16 0, i16 1456, i16 399, i16 548, i16 528, i16 0, i16 1440, i16 399, i16 548, i16 0, i16 1449, i16 548, i16 451, i16 0, i16 1448, i16 548, i16 528, i16 0, i16 1436, i16 548, i16 0, i16 1455, i16 479, i16 471, i16 451, i16 0, i16 1454, i16 479, i16 471, i16 528, i16 0, i16 1439, i16 479, i16 471, i16 0, i16 1453, i16 479, i16 548, i16 451, i16 0, i16 1452, i16 479, i16 548, i16 528, i16 0, i16 1438, i16 479, i16 548, i16 0, i16 479, i16 0, i16 490, i16 0, i16 1473, i16 467, i16 0, i16 1477, i16 411, i16 467, i16 0, i16 1476, i16 411, i16 544, i16 0, i16 1472, i16 544, i16 0, i16 1475, i16 491, i16 467, i16 0, i16 1474, i16 491, i16 544, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 1485, i16 467, i16 0, i16 1489, i16 425, i16 467, i16 0, i16 1488, i16 425, i16 544, i16 0, i16 1484, i16 544, i16 0, i16 1487, i16 504, i16 467, i16 0, i16 1486, i16 504, i16 544, i16 0, i16 504, i16 0, i16 1497, i16 467, i16 0, i16 1501, i16 432, i16 467, i16 0, i16 1500, i16 432, i16 544, i16 0, i16 1496, i16 544, i16 0, i16 1499, i16 511, i16 467, i16 0, i16 1498, i16 511, i16 544, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 1509, i16 471, i16 0, i16 1513, i16 451, i16 471, i16 0, i16 1512, i16 451, i16 548, i16 0, i16 1508, i16 548, i16 0, i16 1511, i16 528, i16 471, i16 0, i16 1510, i16 528, i16 548, i16 0, i16 528, i16 0, i16 1521, i16 467, i16 0, i16 1525, i16 453, i16 467, i16 0, i16 1524, i16 453, i16 544, i16 0, i16 1520, i16 544, i16 0, i16 1523, i16 530, i16 467, i16 0, i16 1522, i16 530, i16 544, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 1537, i16 471, i16 451, i16 0, i16 1536, i16 471, i16 528, i16 0, i16 1533, i16 451, i16 0, i16 1535, i16 548, i16 451, i16 0, i16 1534, i16 548, i16 528, i16 0, i16 1532, i16 528, i16 0, i16 548, i16 0, i16 1431, i16 451, i16 0, i16 1435, i16 398, i16 451, i16 0, i16 1434, i16 398, i16 528, i16 0, i16 1430, i16 528, i16 0, i16 1433, i16 478, i16 451, i16 0, i16 1432, i16 478, i16 528, i16 0, i16 398, i16 0, i16 1463, i16 471, i16 451, i16 0, i16 1462, i16 471, i16 528, i16 0, i16 1443, i16 471, i16 0, i16 1471, i16 399, i16 471, i16 451, i16 0, i16 1470, i16 399, i16 471, i16 528, i16 0, i16 1447, i16 399, i16 471, i16 0, i16 1469, i16 399, i16 548, i16 451, i16 0, i16 1468, i16 399, i16 548, i16 528, i16 0, i16 1446, i16 399, i16 548, i16 0, i16 1461, i16 548, i16 451, i16 0, i16 1460, i16 548, i16 528, i16 0, i16 1442, i16 548, i16 0, i16 1467, i16 479, i16 471, i16 451, i16 0, i16 1466, i16 479, i16 471, i16 528, i16 0, i16 1445, i16 479, i16 471, i16 0, i16 1465, i16 479, i16 548, i16 451, i16 0, i16 1464, i16 479, i16 548, i16 528, i16 0, i16 1444, i16 479, i16 548, i16 0, i16 399, i16 0, i16 410, i16 0, i16 1478, i16 467, i16 0, i16 1483, i16 411, i16 467, i16 0, i16 1482, i16 411, i16 544, i16 0, i16 1479, i16 544, i16 0, i16 1481, i16 491, i16 467, i16 0, i16 1480, i16 491, i16 544, i16 0, i16 411, i16 0, i16 990, i16 0, i16 1490, i16 467, i16 0, i16 1495, i16 425, i16 467, i16 0, i16 1494, i16 425, i16 544, i16 0, i16 1491, i16 544, i16 0, i16 1493, i16 504, i16 467, i16 0, i16 1492, i16 504, i16 544, i16 0, i16 425, i16 0, i16 1502, i16 467, i16 0, i16 1507, i16 432, i16 467, i16 0, i16 1506, i16 432, i16 544, i16 0, i16 1503, i16 544, i16 0, i16 1505, i16 511, i16 467, i16 0, i16 1504, i16 511, i16 544, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 1515, i16 471, i16 0, i16 1519, i16 451, i16 471, i16 0, i16 1518, i16 451, i16 548, i16 0, i16 1514, i16 548, i16 0, i16 1517, i16 528, i16 471, i16 0, i16 1516, i16 528, i16 548, i16 0, i16 451, i16 0, i16 1527, i16 467, i16 0, i16 1531, i16 453, i16 467, i16 0, i16 1530, i16 453, i16 544, i16 0, i16 1526, i16 544, i16 0, i16 1529, i16 530, i16 467, i16 0, i16 1528, i16 530, i16 544, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 1543, i16 471, i16 451, i16 0, i16 1542, i16 471, i16 528, i16 0, i16 1539, i16 451, i16 0, i16 1541, i16 548, i16 451, i16 0, i16 1540, i16 548, i16 528, i16 0, i16 1538, i16 528, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 112, i16 117, i16 122, i16 127, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1559, i16 1554, i16 0, i16 1556, i16 1552, i16 0, i16 1073, i16 0, i16 1560, i16 1553, i16 0, i16 582, i16 0, i16 1562, i16 1553, i16 0, i16 1080, i16 0, i16 1563, i16 1553, i16 0, i16 1082, i16 0, i16 1561, i16 1553, i16 0, i16 1564, i16 0, i16 38, i16 46, i16 54, i16 62, i16 64, i16 66, i16 74, i16 82, i16 84, i16 92, i16 100, i16 102, i16 110, i16 112, i16 114, i16 122, i16 130, i16 138, i16 140, i16 142, i16 150, i16 158, i16 160, i16 168, i16 176, i16 178, i16 186, i16 188, i16 190, i16 192, i16 194, i16 196, i16 198, i16 200, i16 202, i16 204, i16 206, i16 208, i16 1591, i16 413, i16 0, i16 1590, i16 493, i16 0, i16 478, i16 0, i16 1595, i16 399, i16 0, i16 1594, i16 479, i16 0, i16 479, i16 0, i16 1599, i16 410, i16 0, i16 1598, i16 490, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 1603, i16 425, i16 0, i16 1602, i16 504, i16 0, i16 504, i16 0, i16 1222, i16 411, i16 0, i16 1221, i16 491, i16 0, i16 511, i16 0, i16 515, i16 0, i16 1607, i16 413, i16 0, i16 1606, i16 493, i16 0, i16 522, i16 0, i16 1611, i16 413, i16 0, i16 1610, i16 493, i16 0, i16 524, i16 0, i16 528, i16 0, i16 1615, i16 413, i16 0, i16 1614, i16 493, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 1588, i16 413, i16 0, i16 1589, i16 493, i16 0, i16 398, i16 0, i16 1592, i16 399, i16 0, i16 1593, i16 479, i16 0, i16 399, i16 0, i16 1596, i16 410, i16 0, i16 1597, i16 490, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 1600, i16 425, i16 0, i16 1601, i16 504, i16 0, i16 425, i16 0, i16 1219, i16 411, i16 0, i16 1220, i16 491, i16 0, i16 432, i16 0, i16 437, i16 0, i16 1604, i16 413, i16 0, i16 1605, i16 493, i16 0, i16 445, i16 0, i16 1608, i16 413, i16 0, i16 1609, i16 493, i16 0, i16 447, i16 0, i16 451, i16 0, i16 1612, i16 413, i16 0, i16 1613, i16 493, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 38, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 74, i16 76, i16 78, i16 80, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 126, i16 128, i16 130, i16 132, i16 134, i16 136, i16 138, i16 140, i16 1591, i16 413, i16 0, i16 1590, i16 493, i16 0, i16 1621, i16 169, i16 413, i16 0, i16 1620, i16 169, i16 493, i16 0, i16 478, i16 0, i16 479, i16 0, i16 490, i16 0, i16 491, i16 0, i16 1030, i16 0, i16 504, i16 0, i16 511, i16 0, i16 515, i16 0, i16 522, i16 0, i16 524, i16 0, i16 528, i16 0, i16 530, i16 0, i16 1046, i16 0, i16 548, i16 0, i16 1588, i16 413, i16 0, i16 1589, i16 493, i16 0, i16 1618, i16 169, i16 413, i16 0, i16 1619, i16 169, i16 493, i16 0, i16 398, i16 0, i16 399, i16 0, i16 410, i16 0, i16 411, i16 0, i16 990, i16 0, i16 425, i16 0, i16 432, i16 0, i16 437, i16 0, i16 445, i16 0, i16 447, i16 0, i16 451, i16 0, i16 453, i16 0, i16 1007, i16 0, i16 471, i16 0, i16 704, i16 0, i16 714, i16 0, i16 723, i16 0, i16 728, i16 0, i16 729, i16 0, i16 1073, i16 0, i16 582, i16 0, i16 1080, i16 0, i16 1082, i16 0, i16 1564, i16 0, i16 10, i16 12, i16 14, i16 16, i16 18, i16 20, i16 22, i16 24, i16 26, i16 28, i16 681, i16 0, i16 738, i16 0, i16 749, i16 0, i16 901, i16 0, i16 927, i16 0, i16 682, i16 0, i16 739, i16 0, i16 750, i16 0, i16 902, i16 0, i16 928, i16 0, i16 10, i16 18, i16 20, i16 22, i16 24, i16 26, i16 34, i16 36, i16 38, i16 40, i16 1884, i16 682, i16 0, i16 1883, i16 681, i16 0, i16 681, i16 0, i16 738, i16 0, i16 749, i16 0, i16 901, i16 0, i16 927, i16 0, i16 1886, i16 682, i16 0, i16 1885, i16 681, i16 0, i16 682, i16 0, i16 739, i16 0, i16 750, i16 0, i16 902, i16 0, i16 928, i16 0, i16 10, i16 12, i16 14, i16 22, i16 30, i16 38, i16 40, i16 42, i16 50, i16 58, i16 681, i16 0, i16 738, i16 0, i16 1928, i16 1880, i16 0, i16 1927, i16 1879, i16 0, i16 749, i16 0, i16 1932, i16 884, i16 0, i16 1931, i16 883, i16 0, i16 901, i16 0, i16 1936, i16 884, i16 0, i16 1935, i16 883, i16 0, i16 927, i16 0, i16 682, i16 0, i16 739, i16 0, i16 1930, i16 1880, i16 0, i16 1929, i16 1879, i16 0, i16 750, i16 0, i16 1934, i16 884, i16 0, i16 1933, i16 883, i16 0, i16 902, i16 0, i16 1938, i16 884, i16 0, i16 1937, i16 883, i16 0, i16 928, i16 0, i16 10, i16 12, i16 20, i16 22, i16 30, i16 32, i16 34, i16 42, i16 44, i16 52, i16 681, i16 0, i16 1940, i16 837, i16 0, i16 1939, i16 836, i16 0, i16 738, i16 0, i16 749, i16 0, i16 1944, i16 902, i16 0, i16 1943, i16 901, i16 0, i16 901, i16 0, i16 927, i16 0, i16 682, i16 0, i16 1942, i16 837, i16 0, i16 1941, i16 836, i16 0, i16 739, i16 0, i16 750, i16 0, i16 1946, i16 902, i16 0, i16 1945, i16 901, i16 0, i16 902, i16 0, i16 928, i16 0, i16 2, i16 10, i16 295, i16 278, i16 0, i16 294, i16 277, i16 0, i16 161, i16 0, i16 296, i16 278, i16 0, i16 162, i16 0, i16 5, i16 139, i16 273, i16 407, i16 541, i16 387, i16 386, i16 0, i16 381, i16 380, i16 0, i16 375, i16 374, i16 0, i16 369, i16 368, i16 0, i16 363, i16 362, i16 0, i16 357, i16 356, i16 0, i16 351, i16 350, i16 0, i16 345, i16 344, i16 0, i16 338, i16 337, i16 0, i16 331, i16 330, i16 0, i16 325, i16 324, i16 0, i16 319, i16 318, i16 0, i16 313, i16 312, i16 0, i16 307, i16 306, i16 0, i16 301, i16 300, i16 0, i16 295, i16 294, i16 0, i16 289, i16 288, i16 0, i16 283, i16 282, i16 0, i16 277, i16 276, i16 0, i16 271, i16 270, i16 0, i16 265, i16 264, i16 0, i16 259, i16 258, i16 0, i16 253, i16 252, i16 0, i16 247, i16 246, i16 0, i16 241, i16 240, i16 0, i16 235, i16 234, i16 0, i16 229, i16 228, i16 0, i16 223, i16 222, i16 0, i16 217, i16 216, i16 0, i16 211, i16 210, i16 0, i16 205, i16 204, i16 0, i16 199, i16 198, i16 0, i16 193, i16 192, i16 0, i16 187, i16 186, i16 0, i16 181, i16 180, i16 0, i16 175, i16 174, i16 0, i16 169, i16 168, i16 0, i16 163, i16 162, i16 0, i16 157, i16 156, i16 0, i16 151, i16 150, i16 0, i16 145, i16 144, i16 0, i16 139, i16 138, i16 0, i16 133, i16 132, i16 0, i16 127, i16 126, i16 0, i16 404, i16 0, i16 388, i16 386, i16 0, i16 382, i16 380, i16 0, i16 376, i16 374, i16 0, i16 370, i16 368, i16 0, i16 364, i16 362, i16 0, i16 358, i16 356, i16 0, i16 352, i16 350, i16 0, i16 346, i16 344, i16 0, i16 339, i16 337, i16 0, i16 332, i16 330, i16 0, i16 326, i16 324, i16 0, i16 320, i16 318, i16 0, i16 314, i16 312, i16 0, i16 308, i16 306, i16 0, i16 302, i16 300, i16 0, i16 296, i16 294, i16 0, i16 290, i16 288, i16 0, i16 284, i16 282, i16 0, i16 278, i16 276, i16 0, i16 272, i16 270, i16 0, i16 266, i16 264, i16 0, i16 260, i16 258, i16 0, i16 254, i16 252, i16 0, i16 248, i16 246, i16 0, i16 242, i16 240, i16 0, i16 236, i16 234, i16 0, i16 230, i16 228, i16 0, i16 224, i16 222, i16 0, i16 218, i16 216, i16 0, i16 212, i16 210, i16 0, i16 206, i16 204, i16 0, i16 200, i16 198, i16 0, i16 194, i16 192, i16 0, i16 188, i16 186, i16 0, i16 182, i16 180, i16 0, i16 176, i16 174, i16 0, i16 170, i16 168, i16 0, i16 164, i16 162, i16 0, i16 158, i16 156, i16 0, i16 152, i16 150, i16 0, i16 146, i16 144, i16 0, i16 140, i16 138, i16 0, i16 134, i16 132, i16 0, i16 128, i16 126, i16 0, i16 405, i16 0, i16 389, i16 386, i16 0, i16 383, i16 380, i16 0, i16 377, i16 374, i16 0, i16 371, i16 368, i16 0, i16 365, i16 362, i16 0, i16 359, i16 356, i16 0, i16 353, i16 350, i16 0, i16 347, i16 344, i16 0, i16 340, i16 337, i16 0, i16 333, i16 330, i16 0, i16 327, i16 324, i16 0, i16 321, i16 318, i16 0, i16 315, i16 312, i16 0, i16 309, i16 306, i16 0, i16 303, i16 300, i16 0, i16 297, i16 294, i16 0, i16 291, i16 288, i16 0, i16 285, i16 282, i16 0, i16 279, i16 276, i16 0, i16 273, i16 270, i16 0, i16 267, i16 264, i16 0, i16 261, i16 258, i16 0, i16 255, i16 252, i16 0, i16 249, i16 246, i16 0, i16 243, i16 240, i16 0, i16 237, i16 234, i16 0, i16 231, i16 228, i16 0, i16 225, i16 222, i16 0, i16 219, i16 216, i16 0, i16 213, i16 210, i16 0, i16 207, i16 204, i16 0, i16 201, i16 198, i16 0, i16 195, i16 192, i16 0, i16 189, i16 186, i16 0, i16 183, i16 180, i16 0, i16 177, i16 174, i16 0, i16 171, i16 168, i16 0, i16 165, i16 162, i16 0, i16 159, i16 156, i16 0, i16 153, i16 150, i16 0, i16 147, i16 144, i16 0, i16 141, i16 138, i16 0, i16 135, i16 132, i16 0, i16 129, i16 126, i16 0, i16 406, i16 0, i16 390, i16 386, i16 0, i16 384, i16 380, i16 0, i16 378, i16 374, i16 0, i16 372, i16 368, i16 0, i16 366, i16 362, i16 0, i16 360, i16 356, i16 0, i16 354, i16 350, i16 0, i16 348, i16 344, i16 0, i16 341, i16 337, i16 0, i16 334, i16 330, i16 0, i16 328, i16 324, i16 0, i16 322, i16 318, i16 0, i16 316, i16 312, i16 0, i16 310, i16 306, i16 0, i16 304, i16 300, i16 0, i16 298, i16 294, i16 0, i16 292, i16 288, i16 0, i16 286, i16 282, i16 0, i16 280, i16 276, i16 0, i16 274, i16 270, i16 0, i16 268, i16 264, i16 0, i16 262, i16 258, i16 0, i16 256, i16 252, i16 0, i16 250, i16 246, i16 0, i16 244, i16 240, i16 0, i16 238, i16 234, i16 0, i16 232, i16 228, i16 0, i16 226, i16 222, i16 0, i16 220, i16 216, i16 0, i16 214, i16 210, i16 0, i16 208, i16 204, i16 0, i16 202, i16 198, i16 0, i16 196, i16 192, i16 0, i16 190, i16 186, i16 0, i16 184, i16 180, i16 0, i16 178, i16 174, i16 0, i16 172, i16 168, i16 0, i16 166, i16 162, i16 0, i16 160, i16 156, i16 0, i16 154, i16 150, i16 0, i16 148, i16 144, i16 0, i16 142, i16 138, i16 0, i16 136, i16 132, i16 0, i16 130, i16 126, i16 0, i16 407, i16 0, i16 391, i16 386, i16 0, i16 385, i16 380, i16 0, i16 379, i16 374, i16 0, i16 373, i16 368, i16 0, i16 367, i16 362, i16 0, i16 361, i16 356, i16 0, i16 355, i16 350, i16 0, i16 349, i16 344, i16 0, i16 342, i16 337, i16 0, i16 335, i16 330, i16 0, i16 329, i16 324, i16 0, i16 323, i16 318, i16 0, i16 317, i16 312, i16 0, i16 311, i16 306, i16 0, i16 305, i16 300, i16 0, i16 299, i16 294, i16 0, i16 293, i16 288, i16 0, i16 287, i16 282, i16 0, i16 281, i16 276, i16 0, i16 275, i16 270, i16 0, i16 269, i16 264, i16 0, i16 263, i16 258, i16 0, i16 257, i16 252, i16 0, i16 251, i16 246, i16 0, i16 245, i16 240, i16 0, i16 239, i16 234, i16 0, i16 233, i16 228, i16 0, i16 227, i16 222, i16 0, i16 221, i16 216, i16 0, i16 215, i16 210, i16 0, i16 209, i16 204, i16 0, i16 203, i16 198, i16 0, i16 197, i16 192, i16 0, i16 191, i16 186, i16 0, i16 185, i16 180, i16 0, i16 179, i16 174, i16 0, i16 173, i16 168, i16 0, i16 167, i16 162, i16 0, i16 161, i16 156, i16 0, i16 155, i16 150, i16 0, i16 149, i16 144, i16 0, i16 143, i16 138, i16 0, i16 137, i16 132, i16 0, i16 131, i16 126, i16 0, i16 408, i16 0, i16 1, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 263, i16 1158, i16 0, i16 1159, i16 0, i16 2, i16 272, i16 1160, i16 0, i16 1161, i16 0, i16 2, i16 1375, i16 1163, i16 748, i16 1164, i16 749, i16 2, i16 1381, i16 1165, i16 750, i16 1166, i16 751, i16 2, i16 1392, i16 1167, i16 752, i16 1168, i16 753, i16 2, i16 1401, i16 1169, i16 754, i16 1170, i16 755, i16 1, i16 1156, i16 244, i16 0, i16 1157, i16 253, i16 0, i16 1162, i16 1370, i16 756, i16 1155, i16 22611, i16 1, i16 0, i16 1, i16 1171, i16 142, i16 0, i16 1172, i16 163, i16 0, i16 1173, i16 699, i16 757, i16 1174, i16 907, i16 758, i16 1175, i16 762, i16 759, i16 1176, i16 968, i16 760, i16 1155, i16 22611, i16 1, i16 0, i16 1, i16 1177, i16 306, i16 0, i16 1178, i16 1512, i16 761, i16 1179, i16 1576, i16 762, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 145, i16 900, i16 0, i16 1183, i16 0, i16 901, i16 0, i16 902, i16 0, i16 903, i16 0, i16 2, i16 636, i16 1196, i16 763, i16 974, i16 764, i16 2, i16 845, i16 1197, i16 765, i16 1014, i16 766, i16 2, i16 712, i16 992, i16 767, i16 990, i16 768, i16 2, i16 920, i16 1030, i16 769, i16 1032, i16 770, i16 2, i16 749, i16 995, i16 771, i16 994, i16 772, i16 2, i16 956, i16 1035, i16 773, i16 1034, i16 774, i16 2, i16 762, i16 1198, i16 775, i16 996, i16 775, i16 2, i16 968, i16 1199, i16 776, i16 1036, i16 776, i16 1, i16 1180, i16 121, i16 0, i16 1181, i16 127, i16 0, i16 1182, i16 142, i16 0, i16 1184, i16 161, i16 0, i16 1185, i16 163, i16 0, i16 1186, i16 173, i16 0, i16 1187, i16 178, i16 0, i16 1188, i16 303, i16 0, i16 1189, i16 309, i16 0, i16 1190, i16 322, i16 0, i16 1191, i16 327, i16 0, i16 1192, i16 330, i16 0, i16 1193, i16 340, i16 0, i16 1194, i16 343, i16 0, i16 1195, i16 346, i16 0, i16 978, i16 656, i16 777, i16 1018, i16 864, i16 778, i16 985, i16 699, i16 779, i16 1025, i16 907, i16 780, i16 1001, i16 787, i16 781, i16 1041, i16 992, i16 782, i16 1004, i16 809, i16 783, i16 1043, i16 1013, i16 784, i16 1200, i16 1506, i16 785, i16 1201, i16 1570, i16 786, i16 1202, i16 1514, i16 787, i16 1203, i16 1579, i16 788, i16 1204, i16 1532, i16 789, i16 1205, i16 1597, i16 790, i16 1206, i16 1538, i16 791, i16 1207, i16 1603, i16 792, i16 1208, i16 1541, i16 793, i16 1209, i16 1606, i16 794, i16 1210, i16 1549, i16 795, i16 1211, i16 1614, i16 796, i16 1212, i16 1553, i16 797, i16 1213, i16 1618, i16 798, i16 1214, i16 1556, i16 799, i16 1215, i16 1621, i16 800, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 749, i16 1219, i16 801, i16 1220, i16 802, i16 2, i16 956, i16 1221, i16 803, i16 1222, i16 804, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1218, i16 161, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 12, i16 22611, i16 1223, i16 805, i16 1224, i16 805, i16 1225, i16 805, i16 1226, i16 805, i16 1227, i16 805, i16 1228, i16 805, i16 1229, i16 805, i16 1230, i16 805, i16 1231, i16 805, i16 1232, i16 805, i16 1233, i16 805, i16 1234, i16 805, i16 1, i16 1155, i16 22623, i16 1, i16 0, i16 1, i16 1188, i16 303, i16 0, i16 1235, i16 316, i16 0, i16 1236, i16 322, i16 0, i16 1237, i16 338, i16 0, i16 1238, i16 343, i16 0, i16 1239, i16 346, i16 0, i16 1200, i16 1506, i16 785, i16 1201, i16 1570, i16 786, i16 1240, i16 1524, i16 806, i16 1241, i16 1588, i16 807, i16 1242, i16 1532, i16 808, i16 1243, i16 1597, i16 809, i16 1244, i16 1549, i16 810, i16 1245, i16 1614, i16 811, i16 1246, i16 1553, i16 812, i16 1247, i16 1618, i16 813, i16 1248, i16 1556, i16 814, i16 1249, i16 1621, i16 815, i16 1155, i16 22611, i16 1, i16 0, i16 4, i16 189, i16 1250, i16 0, i16 1251, i16 0, i16 1252, i16 0, i16 1253, i16 0, i16 3, i16 645, i16 974, i16 816, i16 975, i16 817, i16 977, i16 818, i16 2, i16 769, i16 996, i16 819, i16 997, i16 820, i16 3, i16 853, i16 1014, i16 821, i16 1015, i16 822, i16 1017, i16 823, i16 2, i16 974, i16 1036, i16 824, i16 1037, i16 825, i16 1, i16 895, i16 53, i16 0, i16 1046, i16 1026, i16 826, i16 1007, i16 822, i16 827, i16 1004, i16 813, i16 828, i16 1043, i16 1017, i16 829, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 127, i16 1254, i16 0, i16 1255, i16 0, i16 898, i16 0, i16 1256, i16 0, i16 1257, i16 0, i16 2, i16 656, i16 979, i16 830, i16 981, i16 831, i16 2, i16 864, i16 1019, i16 832, i16 1021, i16 833, i16 3, i16 670, i16 1262, i16 834, i16 1263, i16 835, i16 984, i16 836, i16 3, i16 878, i16 1264, i16 837, i16 1265, i16 838, i16 1024, i16 839, i16 2, i16 736, i16 1266, i16 840, i16 1267, i16 841, i16 2, i16 943, i16 1268, i16 842, i16 1269, i16 843, i16 2, i16 749, i16 1270, i16 844, i16 1271, i16 845, i16 2, i16 956, i16 1272, i16 846, i16 1273, i16 847, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1258, i16 158, i16 0, i16 1259, i16 161, i16 0, i16 1260, i16 173, i16 0, i16 1261, i16 189, i16 0, i16 1000, i16 787, i16 848, i16 1040, i16 992, i16 849, i16 1008, i16 834, i16 850, i16 1047, i16 1038, i16 851, i16 1155, i16 22611, i16 1, i16 0, i16 4, i16 121, i16 1274, i16 0, i16 1275, i16 0, i16 1276, i16 0, i16 1277, i16 0, i16 4, i16 127, i16 1255, i16 0, i16 1278, i16 0, i16 1279, i16 0, i16 1280, i16 0, i16 2, i16 133, i16 1281, i16 0, i16 1282, i16 0, i16 2, i16 142, i16 1284, i16 0, i16 1285, i16 0, i16 2, i16 173, i16 1287, i16 0, i16 1260, i16 0, i16 5, i16 194, i16 1288, i16 0, i16 1253, i16 0, i16 1250, i16 0, i16 1289, i16 0, i16 1252, i16 0, i16 4, i16 636, i16 971, i16 852, i16 970, i16 853, i16 972, i16 854, i16 973, i16 855, i16 4, i16 845, i16 1011, i16 856, i16 1010, i16 857, i16 1012, i16 858, i16 1013, i16 859, i16 2, i16 656, i16 978, i16 860, i16 981, i16 861, i16 2, i16 864, i16 1018, i16 862, i16 1021, i16 863, i16 2, i16 667, i16 1290, i16 864, i16 1291, i16 865, i16 2, i16 875, i16 1292, i16 864, i16 1293, i16 866, i16 2, i16 670, i16 983, i16 867, i16 984, i16 868, i16 2, i16 878, i16 1023, i16 869, i16 1024, i16 870, i16 2, i16 709, i16 1295, i16 871, i16 1296, i16 872, i16 2, i16 917, i16 1297, i16 871, i16 1298, i16 872, i16 3, i16 992, i16 1002, i16 873, i16 1000, i16 874, i16 1040, i16 875, i16 3, i16 645, i16 974, i16 876, i16 975, i16 817, i16 977, i16 877, i16 2, i16 769, i16 996, i16 819, i16 997, i16 820, i16 3, i16 853, i16 1014, i16 878, i16 1015, i16 822, i16 1017, i16 879, i16 2, i16 974, i16 1036, i16 824, i16 1037, i16 825, i16 1, i16 889, i16 16, i16 0, i16 1283, i16 138, i16 0, i16 1286, i16 156, i16 0, i16 1294, i16 696, i16 880, i16 1299, i16 734, i16 881, i16 1300, i16 941, i16 882, i16 1004, i16 813, i16 828, i16 1043, i16 1017, i16 829, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 46, i16 897, i16 0, i16 896, i16 0, i16 2, i16 121, i16 1301, i16 0, i16 1302, i16 0, i16 2, i16 636, i16 972, i16 883, i16 976, i16 884, i16 2, i16 845, i16 1012, i16 885, i16 1016, i16 886, i16 2, i16 787, i16 1305, i16 781, i16 1001, i16 781, i16 2, i16 992, i16 1306, i16 781, i16 1041, i16 782, i16 2, i16 799, i16 1307, i16 887, i16 1003, i16 887, i16 2, i16 1003, i16 1308, i16 887, i16 1042, i16 888, i16 1, i16 1303, i16 152, i16 0, i16 1186, i16 173, i16 0, i16 1304, i16 176, i16 0, i16 991, i16 717, i16 889, i16 1031, i16 925, i16 890, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 699, i16 1315, i16 891, i16 1316, i16 892, i16 2, i16 907, i16 1317, i16 893, i16 1318, i16 894, i16 2, i16 717, i16 1319, i16 895, i16 1320, i16 896, i16 2, i16 925, i16 1321, i16 897, i16 1322, i16 898, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1309, i16 127, i16 0, i16 1310, i16 138, i16 0, i16 1311, i16 142, i16 0, i16 1312, i16 145, i16 0, i16 1313, i16 152, i16 0, i16 1314, i16 187, i16 0, i16 982, i16 656, i16 899, i16 1022, i16 864, i16 900, i16 987, i16 696, i16 901, i16 1027, i16 904, i16 902, i16 989, i16 712, i16 903, i16 1029, i16 920, i16 904, i16 1009, i16 829, i16 905, i16 1048, i16 1033, i16 906, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 749, i16 1219, i16 907, i16 1220, i16 908, i16 2, i16 956, i16 1221, i16 909, i16 1222, i16 910, i16 2, i16 824, i16 1325, i16 911, i16 1326, i16 912, i16 2, i16 1028, i16 1327, i16 913, i16 1328, i16 914, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1323, i16 161, i16 0, i16 1324, i16 184, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 76, i16 1632, i16 1329, i16 915, i16 1330, i16 915, i16 1331, i16 915, i16 1332, i16 915, i16 1333, i16 915, i16 1334, i16 915, i16 1335, i16 915, i16 1336, i16 915, i16 1337, i16 915, i16 1338, i16 915, i16 1339, i16 915, i16 1340, i16 915, i16 1341, i16 915, i16 1342, i16 915, i16 1343, i16 915, i16 1344, i16 915, i16 1345, i16 915, i16 1346, i16 915, i16 1347, i16 915, i16 1348, i16 915, i16 1349, i16 915, i16 1350, i16 915, i16 1351, i16 915, i16 1352, i16 915, i16 1353, i16 915, i16 1354, i16 915, i16 1355, i16 915, i16 1356, i16 915, i16 1357, i16 915, i16 1358, i16 915, i16 1359, i16 915, i16 1360, i16 915, i16 1361, i16 915, i16 1362, i16 915, i16 1363, i16 915, i16 1364, i16 915, i16 1365, i16 915, i16 1366, i16 915, i16 1367, i16 916, i16 1368, i16 916, i16 1369, i16 916, i16 1370, i16 916, i16 1371, i16 916, i16 1372, i16 916, i16 1373, i16 916, i16 1374, i16 916, i16 1375, i16 916, i16 1376, i16 916, i16 1377, i16 916, i16 1378, i16 916, i16 1379, i16 916, i16 1380, i16 916, i16 1381, i16 916, i16 1382, i16 916, i16 1383, i16 916, i16 1384, i16 916, i16 1385, i16 916, i16 1386, i16 916, i16 1387, i16 916, i16 1388, i16 916, i16 1389, i16 916, i16 1390, i16 916, i16 1391, i16 916, i16 1392, i16 916, i16 1393, i16 916, i16 1394, i16 916, i16 1395, i16 916, i16 1396, i16 916, i16 1397, i16 916, i16 1398, i16 916, i16 1399, i16 916, i16 1400, i16 916, i16 1401, i16 916, i16 1402, i16 916, i16 1403, i16 916, i16 1404, i16 916, i16 1, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 3, i16 1216, i16 0, i16 1405, i16 0, i16 1406, i16 0, i16 1407, i16 0, i16 1408, i16 0, i16 5, i16 16, i16 1217, i16 0, i16 1409, i16 0, i16 1410, i16 0, i16 1411, i16 0, i16 1412, i16 0, i16 2, i16 133, i16 1414, i16 0, i16 1415, i16 0, i16 4, i16 163, i16 996, i16 917, i16 998, i16 918, i16 1036, i16 919, i16 1038, i16 920, i16 4, i16 178, i16 1004, i16 921, i16 1006, i16 922, i16 1043, i16 923, i16 1045, i16 924, i16 6, i16 864, i16 1424, i16 925, i16 1425, i16 926, i16 1426, i16 927, i16 1427, i16 928, i16 1428, i16 929, i16 1429, i16 930, i16 6, i16 656, i16 1430, i16 931, i16 1431, i16 932, i16 1432, i16 933, i16 1433, i16 934, i16 1434, i16 935, i16 1435, i16 936, i16 6, i16 878, i16 1436, i16 937, i16 1437, i16 938, i16 1438, i16 939, i16 1439, i16 940, i16 1440, i16 941, i16 1441, i16 942, i16 6, i16 670, i16 1442, i16 943, i16 1443, i16 944, i16 1444, i16 945, i16 1445, i16 946, i16 1446, i16 947, i16 1447, i16 948, i16 12, i16 878, i16 1448, i16 949, i16 1449, i16 950, i16 1450, i16 951, i16 1451, i16 952, i16 1452, i16 953, i16 1453, i16 954, i16 1454, i16 955, i16 1455, i16 956, i16 1456, i16 953, i16 1457, i16 954, i16 1458, i16 955, i16 1459, i16 956, i16 12, i16 670, i16 1460, i16 957, i16 1461, i16 958, i16 1462, i16 959, i16 1463, i16 960, i16 1464, i16 961, i16 1465, i16 962, i16 1466, i16 963, i16 1467, i16 964, i16 1468, i16 961, i16 1469, i16 962, i16 1470, i16 963, i16 1471, i16 964, i16 6, i16 907, i16 1472, i16 965, i16 1473, i16 966, i16 1474, i16 967, i16 1475, i16 968, i16 1476, i16 969, i16 1477, i16 970, i16 6, i16 699, i16 1478, i16 971, i16 1479, i16 972, i16 1480, i16 973, i16 1481, i16 974, i16 1482, i16 975, i16 1483, i16 976, i16 6, i16 943, i16 1484, i16 977, i16 1485, i16 978, i16 1486, i16 979, i16 1487, i16 980, i16 1488, i16 981, i16 1489, i16 982, i16 6, i16 736, i16 1490, i16 983, i16 1491, i16 984, i16 1492, i16 985, i16 1493, i16 986, i16 1494, i16 987, i16 1495, i16 988, i16 6, i16 956, i16 1496, i16 989, i16 1497, i16 990, i16 1498, i16 991, i16 1499, i16 992, i16 1500, i16 993, i16 1501, i16 994, i16 6, i16 749, i16 1502, i16 995, i16 1503, i16 996, i16 1504, i16 997, i16 1505, i16 998, i16 1506, i16 999, i16 1507, i16 1000, i16 6, i16 992, i16 1508, i16 1001, i16 1509, i16 1002, i16 1510, i16 1003, i16 1511, i16 1004, i16 1512, i16 1005, i16 1513, i16 1006, i16 6, i16 787, i16 1514, i16 1007, i16 1515, i16 1008, i16 1516, i16 1009, i16 1517, i16 1010, i16 1518, i16 1011, i16 1519, i16 1012, i16 6, i16 1003, i16 1520, i16 1013, i16 1521, i16 1014, i16 1522, i16 1015, i16 1523, i16 1016, i16 1524, i16 1017, i16 1525, i16 1018, i16 6, i16 799, i16 1526, i16 1019, i16 1527, i16 1020, i16 1528, i16 1021, i16 1529, i16 1022, i16 1530, i16 1023, i16 1531, i16 1024, i16 6, i16 1038, i16 1532, i16 1025, i16 1533, i16 1026, i16 1534, i16 1027, i16 1535, i16 1028, i16 1536, i16 1029, i16 1537, i16 1030, i16 6, i16 834, i16 1538, i16 1031, i16 1539, i16 1032, i16 1540, i16 1033, i16 1541, i16 1034, i16 1542, i16 1035, i16 1543, i16 1036, i16 1, i16 1413, i16 127, i16 0, i16 1416, i16 142, i16 0, i16 1417, i16 158, i16 0, i16 1418, i16 161, i16 0, i16 1419, i16 163, i16 0, i16 1420, i16 173, i16 0, i16 1421, i16 176, i16 0, i16 1422, i16 178, i16 0, i16 1423, i16 189, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 9, i16 31, i16 890, i16 0, i16 892, i16 0, i16 1544, i16 0, i16 891, i16 0, i16 1545, i16 0, i16 1546, i16 0, i16 1547, i16 0, i16 893, i16 0, i16 894, i16 0, i16 2, i16 42, i16 1548, i16 0, i16 1549, i16 0, i16 3, i16 194, i16 1550, i16 0, i16 906, i16 0, i16 905, i16 0, i16 2, i16 238, i16 907, i16 0, i16 1551, i16 0, i16 16, i16 482, i16 961, i16 1037, i16 962, i16 1037, i16 963, i16 1037, i16 967, i16 1037, i16 968, i16 1037, i16 969, i16 1037, i16 964, i16 1037, i16 965, i16 1037, i16 966, i16 1037, i16 954, i16 1037, i16 955, i16 1037, i16 956, i16 1037, i16 959, i16 1037, i16 960, i16 1037, i16 957, i16 1037, i16 958, i16 1037, i16 4, i16 520, i16 1552, i16 1037, i16 1553, i16 1037, i16 1554, i16 1037, i16 1555, i16 1037, i16 35, i16 1049, i16 1050, i16 641, i16 1049, i16 642, i16 1052, i16 643, i16 1051, i16 644, i16 1054, i16 645, i16 1053, i16 646, i16 1056, i16 647, i16 1055, i16 648, i16 1058, i16 649, i16 1057, i16 650, i16 1060, i16 651, i16 1059, i16 652, i16 1062, i16 653, i16 1061, i16 654, i16 1064, i16 655, i16 1063, i16 656, i16 1066, i16 657, i16 1065, i16 658, i16 1068, i16 659, i16 1067, i16 660, i16 1070, i16 1038, i16 1556, i16 1038, i16 1073, i16 665, i16 1557, i16 1039, i16 1069, i16 661, i16 1071, i16 1040, i16 1558, i16 1040, i16 1072, i16 1041, i16 1559, i16 1041, i16 1079, i16 1042, i16 1560, i16 1042, i16 1081, i16 1043, i16 1561, i16 1044, i16 1562, i16 1045, i16 1563, i16 1043, i16 2, i16 1135, i16 1076, i16 667, i16 1075, i16 1046, i16 6, i16 1148, i16 1077, i16 669, i16 1074, i16 1047, i16 1078, i16 1048, i16 1564, i16 1049, i16 1080, i16 1050, i16 1082, i16 1051, i16 15, i16 1160, i16 1084, i16 1052, i16 1085, i16 1053, i16 1090, i16 1054, i16 1091, i16 1055, i16 1565, i16 1056, i16 1566, i16 1057, i16 1083, i16 1058, i16 1086, i16 1059, i16 1087, i16 1060, i16 1088, i16 1061, i16 1089, i16 1062, i16 1108, i16 1063, i16 1109, i16 1064, i16 1567, i16 1065, i16 1568, i16 1066, i16 8, i16 1276, i16 1098, i16 1067, i16 1099, i16 1068, i16 1100, i16 1069, i16 1101, i16 1070, i16 1094, i16 1071, i16 1095, i16 1072, i16 1096, i16 1073, i16 1097, i16 1074, i16 26, i16 1320, i16 1102, i16 1075, i16 1103, i16 1076, i16 1104, i16 1077, i16 1105, i16 1078, i16 1092, i16 1079, i16 1093, i16 1080, i16 1106, i16 1081, i16 1107, i16 1082, i16 1570, i16 1083, i16 1571, i16 1084, i16 1572, i16 1085, i16 1573, i16 1086, i16 1110, i16 1087, i16 1111, i16 1088, i16 1112, i16 1089, i16 1113, i16 1090, i16 1114, i16 1091, i16 1115, i16 1092, i16 1116, i16 1093, i16 1117, i16 1094, i16 1118, i16 1095, i16 1119, i16 1096, i16 1120, i16 1097, i16 1121, i16 1098, i16 1122, i16 1099, i16 1123, i16 1100, i16 1, i16 1569, i16 1229, i16 1101, i16 1155, i16 22611, i16 1, i16 0, i16 1, i16 1574, i16 127, i16 0, i16 1575, i16 142, i16 0, i16 1576, i16 145, i16 0, i16 1577, i16 154, i16 0, i16 1578, i16 173, i16 0, i16 1579, i16 178, i16 0, i16 1020, i16 864, i16 1102, i16 980, i16 656, i16 1103, i16 1026, i16 907, i16 1104, i16 986, i16 699, i16 1105, i16 1028, i16 920, i16 1106, i16 988, i16 712, i16 1107, i16 1033, i16 937, i16 1108, i16 993, i16 729, i16 1109, i16 1039, i16 992, i16 1110, i16 999, i16 787, i16 1111, i16 1044, i16 1013, i16 1112, i16 1005, i16 809, i16 1113, i16 1155, i16 22611, i16 1, i16 0, i16 3, i16 127, i16 1580, i16 0, i16 898, i16 0, i16 1581, i16 0, i16 3, i16 138, i16 1582, i16 0, i16 899, i16 0, i16 1583, i16 0, i16 2, i16 656, i16 1588, i16 1114, i16 1589, i16 1115, i16 2, i16 864, i16 1590, i16 1116, i16 1591, i16 1117, i16 2, i16 670, i16 1592, i16 1118, i16 1593, i16 1119, i16 2, i16 878, i16 1594, i16 1120, i16 1595, i16 1121, i16 2, i16 696, i16 1596, i16 1122, i16 1597, i16 1123, i16 2, i16 904, i16 1598, i16 1124, i16 1599, i16 1125, i16 2, i16 699, i16 1219, i16 1126, i16 1220, i16 1127, i16 2, i16 907, i16 1221, i16 1128, i16 1222, i16 1129, i16 2, i16 736, i16 1600, i16 1130, i16 1601, i16 1131, i16 2, i16 943, i16 1602, i16 1132, i16 1603, i16 1133, i16 2, i16 777, i16 1604, i16 1134, i16 1605, i16 1135, i16 2, i16 982, i16 1606, i16 1136, i16 1607, i16 1137, i16 2, i16 781, i16 1608, i16 1138, i16 1609, i16 1139, i16 2, i16 986, i16 1610, i16 1140, i16 1611, i16 1141, i16 2, i16 799, i16 1612, i16 1142, i16 1613, i16 1143, i16 2, i16 1003, i16 1614, i16 1144, i16 1615, i16 1145, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1584, i16 158, i16 0, i16 1585, i16 168, i16 0, i16 1586, i16 171, i16 0, i16 1587, i16 176, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 5, i16 127, i16 1254, i16 0, i16 1255, i16 0, i16 898, i16 0, i16 1256, i16 0, i16 1257, i16 0, i16 2, i16 656, i16 979, i16 830, i16 981, i16 831, i16 2, i16 864, i16 1019, i16 832, i16 1021, i16 833, i16 3, i16 670, i16 1262, i16 834, i16 1263, i16 835, i16 984, i16 836, i16 5, i16 878, i16 1264, i16 837, i16 1265, i16 838, i16 1024, i16 839, i16 1266, i16 840, i16 1267, i16 841, i16 2, i16 943, i16 1268, i16 842, i16 1269, i16 843, i16 2, i16 749, i16 1270, i16 844, i16 1271, i16 845, i16 2, i16 956, i16 1272, i16 846, i16 1273, i16 847, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1258, i16 158, i16 0, i16 1259, i16 161, i16 0, i16 1260, i16 173, i16 0, i16 1261, i16 189, i16 0, i16 1000, i16 787, i16 848, i16 1040, i16 992, i16 849, i16 1008, i16 834, i16 850, i16 1047, i16 1038, i16 851, i16 1155, i16 22611, i16 1, i16 0, i16 2, i16 127, i16 1616, i16 0, i16 1617, i16 0, i16 4, i16 656, i16 1588, i16 1146, i16 1589, i16 1147, i16 1618, i16 1148, i16 1619, i16 1149, i16 4, i16 864, i16 1590, i16 1150, i16 1591, i16 1151, i16 1620, i16 1152, i16 1621, i16 1153, i16 1, i16 1216, i16 3, i16 0, i16 1217, i16 16, i16 0, i16 1155, i16 22611, i16 1, i16 0, i16 46, i16 74, i16 908, i16 0, i16 909, i16 0, i16 910, i16 0, i16 911, i16 0, i16 912, i16 0, i16 913, i16 0, i16 914, i16 0, i16 915, i16 0, i16 916, i16 0, i16 917, i16 0, i16 918, i16 0, i16 919, i16 0, i16 920, i16 0, i16 921, i16 0, i16 922, i16 0, i16 923, i16 0, i16 924, i16 0, i16 925, i16 0, i16 926, i16 0, i16 927, i16 0, i16 928, i16 0, i16 929, i16 0, i16 930, i16 0, i16 931, i16 0, i16 932, i16 0, i16 933, i16 0, i16 934, i16 0, i16 935, i16 0, i16 936, i16 0, i16 937, i16 0, i16 938, i16 0, i16 939, i16 0, i16 940, i16 0, i16 941, i16 0, i16 942, i16 0, i16 943, i16 0, i16 944, i16 0, i16 945, i16 0, i16 946, i16 0, i16 947, i16 0, i16 948, i16 0, i16 949, i16 0, i16 950, i16 0, i16 951, i16 0, i16 952, i16 0, i16 953, i16 0, i16 3, i16 1508, i16 1125, i16 1154, i16 1136, i16 1155, i16 1128, i16 1156, i16 3, i16 1514, i16 1126, i16 1157, i16 1127, i16 1158, i16 1138, i16 1159, i16 3, i16 1524, i16 1144, i16 1160, i16 1130, i16 1161, i16 1137, i16 1162, i16 3, i16 1572, i16 1140, i16 1163, i16 1152, i16 1164, i16 1143, i16 1165, i16 3, i16 1579, i16 1141, i16 1166, i16 1142, i16 1167, i16 1154, i16 1168, i16 3, i16 1588, i16 1129, i16 1169, i16 1145, i16 1170, i16 1153, i16 1171, i16 1, i16 1124, i16 1506, i16 1172, i16 1133, i16 1532, i16 1173, i16 1131, i16 1534, i16 1174, i16 1132, i16 1538, i16 1175, i16 1135, i16 1549, i16 1176, i16 1134, i16 1556, i16 1177, i16 1139, i16 1570, i16 1178, i16 1146, i16 1594, i16 1179, i16 1149, i16 1597, i16 1180, i16 1147, i16 1599, i16 1181, i16 1148, i16 1603, i16 1182, i16 1151, i16 1614, i16 1183, i16 1150, i16 1621, i16 1184, i16 1155, i16 22611, i16 1, i16 0, i16 6, i16 145, i16 904, i16 0, i16 900, i16 0, i16 1183, i16 0, i16 901, i16 0, i16 902, i16 0, i16 903, i16 0, i16 2, i16 712, i16 992, i16 767, i16 990, i16 768, i16 2, i16 920, i16 1030, i16 769, i16 1032, i16 770, i16 1, i16 1181, i16 127, i16 0, i16 1180, i16 136, i16 0, i16 1182, i16 142, i16 0, i16 1622, i16 163, i16 0, i16 1186, i16 173, i16 0, i16 1187, i16 178, i16 0, i16 1188, i16 303, i16 0, i16 1189, i16 309, i16 0, i16 1190, i16 322, i16 0, i16 1192, i16 330, i16 0, i16 1193, i16 340, i16 0, i16 1194, i16 343, i16 0, i16 1195, i16 346, i16 0, i16 978, i16 656, i16 777, i16 1018, i16 864, i16 778, i16 1196, i16 686, i16 763, i16 1197, i16 894, i16 765, i16 985, i16 699, i16 779, i16 1025, i16 907, i16 780, i16 996, i16 762, i16 1185, i16 1036, i16 968, i16 1186, i16 1001, i16 787, i16 781, i16 1041, i16 992, i16 782, i16 1004, i16 809, i16 783, i16 1043, i16 1013, i16 784, i16 1200, i16 1506, i16 785, i16 1201, i16 1570, i16 786, i16 1202, i16 1514, i16 787, i16 1203, i16 1579, i16 788, i16 1204, i16 1532, i16 789, i16 1205, i16 1597, i16 790, i16 1208, i16 1541, i16 793, i16 1209, i16 1606, i16 794, i16 1210, i16 1549, i16 795, i16 1211, i16 1614, i16 796, i16 1212, i16 1553, i16 797, i16 1213, i16 1618, i16 798, i16 1214, i16 1556, i16 799, i16 1215, i16 1621, i16 800, i16 1155, i16 22611, i16 1, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 877, i16 1780, i16 1190, i16 1781, i16 1833, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 990, i16 1792, i16 1190, i16 1793, i16 1844, i16 3, i16 1009, i16 1794, i16 1845, i16 1795, i16 1846, i16 1796, i16 1847, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 4, i16 1206, i16 1828, i16 1190, i16 1829, i16 1878, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1266, i16 1838, i16 1190, i16 1839, i16 1887, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 8, i16 1361, i16 1848, i16 1190, i16 1849, i16 1896, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1803, i16 1075, i16 1925, i16 0, i16 2, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 20, i16 1370, i16 1850, i16 1934, i16 1851, i16 1935, i16 1852, i16 1936, i16 1853, i16 1937, i16 1854, i16 1938, i16 1855, i16 1939, i16 1856, i16 1934, i16 1857, i16 1940, i16 1858, i16 1941, i16 1859, i16 1942, i16 1860, i16 1943, i16 1861, i16 1944, i16 1862, i16 1945, i16 1863, i16 1946, i16 1864, i16 1947, i16 1865, i16 1948, i16 1866, i16 1949, i16 1867, i16 1950, i16 1868, i16 1951, i16 1869, i16 1952, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 7, i16 1418, i16 1874, i16 1187, i16 1848, i16 1953, i16 1849, i16 1954, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 20, i16 1440, i16 1760, i16 1190, i16 1761, i16 1955, i16 1762, i16 1956, i16 1763, i16 1957, i16 1764, i16 1190, i16 1765, i16 1958, i16 1770, i16 1959, i16 1771, i16 1960, i16 1772, i16 1959, i16 1773, i16 1961, i16 1774, i16 1959, i16 1775, i16 1962, i16 1828, i16 1190, i16 1829, i16 1878, i16 1822, i16 1963, i16 1823, i16 1964, i16 1824, i16 1963, i16 1825, i16 1965, i16 1820, i16 1966, i16 1821, i16 1967, i16 27, i16 2011, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 1, i16 1696, i16 1, i16 1187, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 877, i16 1778, i16 1968, i16 1779, i16 1846, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1836, i16 1971, i16 1837, i16 1846, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 2, i16 1429, i16 1881, i16 1923, i16 1882, i16 1924, i16 2, i16 1440, i16 1879, i16 1974, i16 1880, i16 1846, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 2, i16 836, i16 1768, i16 1821, i16 1769, i16 1822, i16 8, i16 843, i16 1766, i16 1190, i16 1767, i16 1975, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 877, i16 1776, i16 1190, i16 1777, i16 1976, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 2, i16 944, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 955, i16 1786, i16 1190, i16 1787, i16 1977, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 2, i16 1088, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1099, i16 1804, i16 1190, i16 1805, i16 1978, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 4, i16 1132, i16 1808, i16 1190, i16 1809, i16 1979, i16 1814, i16 1864, i16 1815, i16 1865, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 4, i16 1206, i16 1816, i16 1190, i16 1817, i16 1980, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1834, i16 1190, i16 1835, i16 1981, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 3, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 2, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 4, i16 1440, i16 1877, i16 1190, i16 1878, i16 1982, i16 1881, i16 1190, i16 1882, i16 1983, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 9, i16 1418, i16 1874, i16 1187, i16 1848, i16 1984, i16 1849, i16 1985, i16 1844, i16 1984, i16 1845, i16 1986, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 24, i16 1440, i16 1770, i16 1190, i16 1771, i16 1987, i16 1772, i16 1988, i16 1773, i16 1989, i16 1774, i16 1990, i16 1775, i16 1991, i16 1764, i16 1992, i16 1765, i16 1993, i16 1822, i16 1190, i16 1823, i16 1994, i16 1824, i16 1995, i16 1825, i16 1996, i16 1828, i16 1997, i16 1829, i16 1998, i16 1818, i16 1999, i16 1819, i16 2000, i16 1760, i16 1190, i16 1761, i16 1955, i16 1883, i16 2001, i16 1884, i16 2002, i16 1885, i16 2003, i16 1886, i16 2004, i16 1762, i16 2001, i16 1763, i16 2005, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 2, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 8, i16 843, i16 1768, i16 1190, i16 1769, i16 2006, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 877, i16 1778, i16 1190, i16 1779, i16 2007, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 2, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 2, i16 955, i16 1788, i16 1190, i16 1789, i16 2008, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 990, i16 1790, i16 1190, i16 1791, i16 2009, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 7, i16 1046, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 1874, i16 1187, i16 1799, i16 1190, i16 1800, i16 2010, i16 3, i16 1075, i16 1801, i16 1190, i16 1802, i16 2011, i16 1803, i16 1925, i16 2, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 2, i16 1099, i16 1806, i16 1190, i16 1807, i16 2012, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 4, i16 1132, i16 1812, i16 1190, i16 1813, i16 2013, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 4, i16 1206, i16 1826, i16 1190, i16 1827, i16 2014, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1242, i16 1832, i16 1190, i16 1833, i16 2015, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1836, i16 1190, i16 1837, i16 2016, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 8, i16 1361, i16 1846, i16 1190, i16 1847, i16 2017, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1418, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 2, i16 1429, i16 1881, i16 1923, i16 1882, i16 1924, i16 2, i16 1440, i16 1879, i16 1190, i16 1880, i16 2018, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1046, i16 1870, i16 1190, i16 1871, i16 1915, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 2, i16 1400, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 81, i16 1697, i16 1712, i16 1698, i16 2019, i16 1699, i16 2019, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 898, i16 1887, i16 2020, i16 1888, i16 2021, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 9, i16 1418, i16 1874, i16 1187, i16 1848, i16 1984, i16 1849, i16 1985, i16 1844, i16 1984, i16 1845, i16 1986, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 24, i16 1440, i16 1770, i16 1190, i16 1771, i16 1987, i16 1772, i16 1988, i16 1773, i16 1989, i16 1774, i16 1990, i16 1775, i16 1991, i16 1764, i16 1992, i16 1765, i16 1993, i16 1822, i16 1190, i16 1823, i16 1994, i16 1824, i16 1995, i16 1825, i16 1996, i16 1828, i16 1997, i16 1829, i16 1998, i16 1818, i16 1999, i16 1819, i16 2000, i16 1760, i16 1190, i16 1761, i16 1955, i16 1883, i16 2001, i16 1884, i16 2002, i16 1885, i16 2003, i16 1886, i16 2004, i16 1762, i16 2001, i16 1763, i16 2005, i16 1, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1220, i16 2022, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1892, i16 1189, i16 1893, i16 1189, i16 1894, i16 1189, i16 3, i16 461, i16 1895, i16 1189, i16 1896, i16 1189, i16 1897, i16 1189, i16 3, i16 465, i16 1898, i16 1189, i16 1899, i16 1189, i16 1900, i16 1189, i16 3, i16 469, i16 1901, i16 1189, i16 1902, i16 1189, i16 1903, i16 1189, i16 2, i16 491, i16 1910, i16 1189, i16 1911, i16 1189, i16 2, i16 499, i16 1913, i16 1189, i16 1914, i16 1189, i16 29, i16 519, i16 1918, i16 1189, i16 1703, i16 1189, i16 1704, i16 1189, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 1717, i16 1189, i16 1718, i16 1189, i16 1719, i16 1189, i16 1720, i16 1189, i16 1721, i16 1189, i16 1722, i16 1189, i16 1723, i16 1189, i16 1724, i16 1189, i16 1725, i16 1189, i16 1726, i16 1189, i16 1727, i16 1189, i16 1728, i16 1189, i16 1729, i16 1189, i16 1730, i16 1189, i16 2, i16 753, i16 1919, i16 1189, i16 1920, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1759, i16 1846, i16 1758, i16 2023, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 898, i16 1888, i16 1846, i16 1887, i16 2024, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 955, i16 1785, i16 1846, i16 1784, i16 2025, i16 4, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 1921, i16 2026, i16 1922, i16 2027, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1046, i16 1798, i16 1846, i16 1797, i16 2028, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 2029, i16 1815, i16 2030, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 2, i16 1179, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1817, i16 1846, i16 1816, i16 2031, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 8, i16 1361, i16 1843, i16 1846, i16 1842, i16 2032, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 2, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 7, i16 1418, i16 1874, i16 1187, i16 1873, i16 1846, i16 1872, i16 2033, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 10, i16 1440, i16 1841, i16 1846, i16 1840, i16 2034, i16 1771, i16 1846, i16 1770, i16 2035, i16 1831, i16 2036, i16 1830, i16 2037, i16 1829, i16 1846, i16 1828, i16 2038, i16 1823, i16 2039, i16 1822, i16 2040, i16 4, i16 2011, i16 1923, i16 1744, i16 1924, i16 2041, i16 1925, i16 2042, i16 1926, i16 2043, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1702, i16 205, i16 1189, i16 1701, i16 221, i16 1189, i16 1700, i16 324, i16 1189, i16 1889, i16 371, i16 1189, i16 1890, i16 445, i16 1189, i16 1891, i16 447, i16 1189, i16 1904, i16 473, i16 1189, i16 1905, i16 476, i16 1189, i16 1906, i16 479, i16 1189, i16 1907, i16 481, i16 1189, i16 1908, i16 484, i16 1189, i16 1909, i16 487, i16 1189, i16 1912, i16 495, i16 1189, i16 1915, i16 503, i16 1189, i16 1916, i16 507, i16 1189, i16 1917, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 4, i16 877, i16 1778, i16 1190, i16 1779, i16 2007, i16 1776, i16 1190, i16 1777, i16 1976, i16 6, i16 898, i16 1927, i16 1190, i16 1928, i16 2044, i16 1929, i16 2045, i16 1930, i16 2046, i16 1782, i16 1190, i16 1783, i16 2047, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 4, i16 1099, i16 1931, i16 1190, i16 1932, i16 2048, i16 1933, i16 2049, i16 1934, i16 2050, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 6, i16 1132, i16 1935, i16 1190, i16 1936, i16 2051, i16 1937, i16 2052, i16 1938, i16 2053, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1266, i16 1836, i16 1190, i16 1837, i16 2016, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 2, i16 1429, i16 1881, i16 1923, i16 1882, i16 1924, i16 2, i16 1440, i16 1879, i16 1190, i16 1880, i16 2018, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 4, i16 1132, i16 1810, i16 1190, i16 1811, i16 2054, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 3, i16 5, i16 1694, i16 1187, i16 1695, i16 1187, i16 1696, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1118, i16 1810, i16 1860, i16 1811, i16 1861, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 2, i16 1132, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 2, i16 1165, i16 1818, i16 1868, i16 1819, i16 1869, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 10, i16 1266, i16 1836, i16 2055, i16 1837, i16 2056, i16 1875, i16 2057, i16 1876, i16 2058, i16 1877, i16 2059, i16 1878, i16 2060, i16 1881, i16 2061, i16 1882, i16 2062, i16 1879, i16 2063, i16 1880, i16 2064, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 22, i16 1370, i16 1856, i16 2065, i16 1857, i16 2066, i16 1858, i16 2067, i16 1859, i16 2068, i16 1860, i16 2069, i16 1861, i16 2070, i16 1862, i16 2071, i16 1863, i16 2072, i16 1868, i16 2073, i16 1869, i16 2074, i16 1866, i16 2075, i16 1867, i16 2076, i16 1864, i16 2077, i16 1865, i16 2078, i16 1820, i16 2079, i16 1821, i16 2080, i16 1764, i16 2081, i16 1765, i16 2082, i16 1828, i16 2081, i16 1829, i16 2083, i16 1848, i16 2081, i16 1849, i16 2084, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 1874, i16 1418, i16 1187, i16 0, i16 3, i16 1, i16 1696, i16 1187, i16 1695, i16 1187, i16 1694, i16 1187, i16 3, i16 457, i16 1705, i16 1189, i16 1706, i16 1189, i16 1707, i16 1189, i16 3, i16 461, i16 1708, i16 1189, i16 1709, i16 1189, i16 1710, i16 1189, i16 3, i16 465, i16 1711, i16 1189, i16 1712, i16 1189, i16 1713, i16 1189, i16 3, i16 469, i16 1714, i16 1189, i16 1715, i16 1189, i16 1716, i16 1189, i16 2, i16 491, i16 1723, i16 1189, i16 1724, i16 1189, i16 2, i16 499, i16 1726, i16 1189, i16 1727, i16 1189, i16 27, i16 756, i16 1731, i16 1712, i16 1732, i16 1745, i16 1733, i16 1745, i16 1734, i16 1745, i16 1735, i16 1745, i16 1736, i16 1745, i16 1737, i16 1745, i16 1738, i16 1745, i16 1739, i16 1745, i16 1740, i16 1712, i16 1741, i16 1712, i16 1742, i16 1712, i16 1743, i16 1712, i16 1744, i16 1712, i16 1745, i16 1712, i16 1746, i16 1712, i16 1747, i16 1712, i16 1748, i16 1712, i16 1749, i16 1746, i16 1750, i16 1747, i16 1751, i16 1748, i16 1752, i16 1749, i16 1753, i16 1750, i16 1754, i16 1751, i16 1755, i16 1752, i16 1756, i16 1753, i16 1757, i16 1754, i16 2, i16 786, i16 1758, i16 1811, i16 1759, i16 1812, i16 4, i16 820, i16 1760, i16 1813, i16 1761, i16 1814, i16 1762, i16 1815, i16 1763, i16 1816, i16 2, i16 826, i16 1764, i16 1817, i16 1765, i16 1818, i16 4, i16 836, i16 1766, i16 1819, i16 1767, i16 1820, i16 1768, i16 1821, i16 1769, i16 1822, i16 6, i16 843, i16 1770, i16 1823, i16 1771, i16 1824, i16 1772, i16 1825, i16 1773, i16 1826, i16 1774, i16 1827, i16 1775, i16 1828, i16 2, i16 862, i16 1776, i16 1829, i16 1777, i16 1830, i16 2, i16 866, i16 1778, i16 1831, i16 1779, i16 1832, i16 2, i16 872, i16 1780, i16 1926, i16 1781, i16 1927, i16 4, i16 877, i16 1939, i16 1190, i16 1940, i16 2085, i16 1941, i16 2086, i16 1942, i16 2087, i16 2, i16 889, i16 1782, i16 1834, i16 1783, i16 1835, i16 2, i16 906, i16 1784, i16 1836, i16 1785, i16 1837, i16 4, i16 944, i16 1786, i16 1838, i16 1787, i16 1839, i16 1788, i16 1840, i16 1789, i16 1841, i16 2, i16 973, i16 1792, i16 1928, i16 1793, i16 1929, i16 2, i16 985, i16 1790, i16 1842, i16 1791, i16 1843, i16 2, i16 1013, i16 1797, i16 1848, i16 1798, i16 1849, i16 2, i16 1037, i16 1796, i16 1930, i16 1795, i16 1931, i16 2, i16 1043, i16 1799, i16 1850, i16 1800, i16 1851, i16 2, i16 1070, i16 1801, i16 1852, i16 1802, i16 1853, i16 4, i16 1088, i16 1804, i16 1854, i16 1805, i16 1855, i16 1806, i16 1856, i16 1807, i16 1857, i16 4, i16 1099, i16 1943, i16 1190, i16 1944, i16 2088, i16 1945, i16 2089, i16 1946, i16 2090, i16 2, i16 1114, i16 1808, i16 1858, i16 1809, i16 1859, i16 2, i16 1124, i16 1812, i16 1862, i16 1813, i16 1863, i16 4, i16 1132, i16 1810, i16 1190, i16 1811, i16 2054, i16 1814, i16 1864, i16 1815, i16 1865, i16 2, i16 1141, i16 1816, i16 1866, i16 1817, i16 1867, i16 4, i16 1165, i16 1828, i16 1969, i16 1829, i16 1970, i16 1818, i16 1868, i16 1819, i16 1869, i16 2, i16 1171, i16 1820, i16 1870, i16 1821, i16 1871, i16 4, i16 1179, i16 1822, i16 1872, i16 1823, i16 1873, i16 1824, i16 1874, i16 1825, i16 1875, i16 2, i16 1187, i16 1826, i16 1876, i16 1827, i16 1877, i16 2, i16 1206, i16 1830, i16 1879, i16 1831, i16 1880, i16 2, i16 1235, i16 1832, i16 1881, i16 1833, i16 1882, i16 2, i16 1247, i16 1834, i16 1883, i16 1835, i16 1884, i16 2, i16 1253, i16 1836, i16 1885, i16 1837, i16 1886, i16 2, i16 1263, i16 1838, i16 1932, i16 1839, i16 1933, i16 2, i16 1296, i16 1840, i16 1888, i16 1841, i16 1889, i16 2, i16 1300, i16 1842, i16 1890, i16 1843, i16 1891, i16 2, i16 1316, i16 1848, i16 1972, i16 1849, i16 1973, i16 2, i16 1326, i16 1844, i16 1892, i16 1845, i16 1893, i16 2, i16 1340, i16 1846, i16 1894, i16 1847, i16 1895, i16 6, i16 1361, i16 1850, i16 1190, i16 1851, i16 1897, i16 1852, i16 1898, i16 1853, i16 1899, i16 1854, i16 1900, i16 1855, i16 1901, i16 14, i16 1370, i16 1856, i16 1190, i16 1857, i16 1902, i16 1858, i16 1903, i16 1859, i16 1904, i16 1860, i16 1905, i16 1861, i16 1906, i16 1862, i16 1907, i16 1863, i16 1908, i16 1864, i16 1909, i16 1865, i16 1910, i16 1866, i16 1911, i16 1867, i16 1912, i16 1868, i16 1913, i16 1869, i16 1914, i16 4, i16 1400, i16 1870, i16 1190, i16 1871, i16 1915, i16 1872, i16 1916, i16 1873, i16 1917, i16 5, i16 1418, i16 1874, i16 1187, i16 1875, i16 1190, i16 1876, i16 1918, i16 1877, i16 1919, i16 1878, i16 1920, i16 4, i16 1429, i16 1879, i16 1921, i16 1880, i16 1922, i16 1881, i16 1923, i16 1882, i16 1924, i16 1, i16 1697, i16 81, i16 1189, i16 1698, i16 92, i16 1189, i16 1699, i16 100, i16 1189, i16 1700, i16 205, i16 1189, i16 1701, i16 321, i16 1189, i16 1702, i16 324, i16 1189, i16 1703, i16 445, i16 1189, i16 1704, i16 447, i16 1189, i16 1717, i16 473, i16 1189, i16 1718, i16 476, i16 1189, i16 1719, i16 479, i16 1189, i16 1720, i16 481, i16 1189, i16 1721, i16 484, i16 1189, i16 1722, i16 487, i16 1189, i16 1725, i16 495, i16 1189, i16 1728, i16 503, i16 1189, i16 1729, i16 507, i16 1189, i16 1730, i16 510, i16 1189, i16 1794, i16 1009, i16 1190, i16 1803, i16 1075, i16 1925, i16 0, i16 32766, i16 32766, i16 32766, i16 -2, i16 16384, i16 0, i16 16384, i16 -2, i16 16384, i16 0, i16 16384, i16 -16206, i16 16384, i16 0, i16 16384, i16 -16204, i16 16384, i16 0, i16 16384, i16 -16353, i16 16384, i16 0, i16 16384, i16 -16352, i16 16384, i16 0, i16 16384, i16 -16351, i16 16384, i16 0, i16 16384, i16 -16350, i16 16384, i16 0, i16 16384, i16 -16349, i16 16384, i16 0, i16 16384, i16 -16348, i16 16384, i16 0, i16 16384, i16 -16347, i16 16384, i16 0, i16 16384, i16 -16346, i16 16384, i16 0, i16 16384, i16 -16345, i16 16384, i16 0, i16 16384, i16 -16344, i16 16384, i16 0, i16 16384, i16 -16343, i16 16384, i16 0, i16 16384, i16 -16342, i16 16384, i16 0, i16 16384, i16 -16341, i16 16384, i16 0, i16 16384, i16 -15486, i16 16384, i16 0, i16 16384, i16 -16340, i16 16384, i16 0, i16 16384, i16 -16339, i16 16384, i16 0, i16 16384, i16 -15485, i16 16384, i16 0, i16 16384, i16 -16338, i16 16384, i16 0, i16 16384, i16 -15484, i16 16384, i16 0, i16 16384, i16 -15483, i16 16384, i16 0, i16 16384, i16 -15482, i16 16384, i16 0, i16 16384, i16 -16337, i16 16384, i16 0, i16 16384, i16 -16336, i16 16384, i16 0, i16 16384, i16 -16335, i16 16384, i16 0, i16 16384, i16 -16334, i16 16384, i16 0, i16 16384, i16 -16333, i16 16384, i16 0, i16 16384, i16 -15481, i16 16384, i16 0, i16 16384, i16 -16332, i16 16384, i16 0, i16 16384, i16 -16331, i16 16384, i16 0, i16 16384, i16 -16330, i16 16384, i16 0, i16 16384, i16 -16329, i16 16384, i16 0, i16 16384, i16 -16328, i16 16384, i16 0, i16 16384, i16 -16327, i16 16384, i16 0, i16 16384, i16 -15480, i16 16384, i16 0, i16 16384, i16 -16326, i16 16384, i16 0, i16 16384, i16 -16325, i16 16534, i16 14, i16 17273, i16 -16384, i16 16415, i16 14, i16 17273, i16 -16384, i16 16416, i16 14, i16 17273, i16 -16384, i16 16417, i16 14, i16 17273, i16 -16384, i16 16418, i16 14, i16 17273, i16 -16384, i16 16419, i16 14, i16 17273, i16 -16384, i16 16420, i16 14, i16 17273, i16 -16384, i16 16421, i16 14, i16 17273, i16 -16384, i16 16422, i16 14, i16 17273, i16 -16384, i16 16423, i16 14, i16 17273, i16 -16384, i16 16424, i16 14, i16 17273, i16 -16384, i16 16415, i16 17, i16 17273, i16 -16384, i16 16415, i16 896, i16 17273, i16 -16384, i16 16415, i16 897, i16 17273, i16 -16384, i16 16415, i16 19, i16 17273, i16 -16384, i16 16415, i16 21, i16 17273, i16 -16384, i16 16415, i16 18, i16 17273, i16 -16384, i16 16415, i16 20, i16 17273, i16 -16384, i16 16415, i16 14, i16 16392, i16 -16384, i16 16416, i16 14, i16 16392, i16 -16384, i16 16417, i16 14, i16 16392, i16 -16384, i16 16418, i16 14, i16 16392, i16 -16384, i16 16419, i16 14, i16 16392, i16 -16384, i16 16420, i16 14, i16 16392, i16 -16384, i16 16421, i16 14, i16 16392, i16 -16384, i16 16422, i16 14, i16 16392, i16 -16384, i16 16423, i16 14, i16 16392, i16 -16384, i16 16424, i16 14, i16 16392, i16 -16384, i16 16425, i16 14, i16 17273, i16 -16384, i16 16425, i16 15, i16 16392, i16 -16384, i16 16425, i16 26, i16 17273, i16 -16384, i16 16425, i16 27, i16 17273, i16 -16384, i16 16426, i16 14, i16 17273, i16 -16384, i16 16427, i16 14, i16 17273, i16 -16384, i16 17282, i16 14, i16 17273, i16 -16384, i16 17282, i16 18, i16 17273, i16 -16384, i16 16428, i16 14, i16 17273, i16 -16384, i16 16428, i16 16, i16 17273, i16 -16384, i16 16428, i16 17, i16 17273, i16 -16384, i16 16428, i16 897, i16 17273, i16 -16384, i16 16428, i16 20, i16 17273, i16 -16384, i16 16428, i16 18, i16 17273, i16 -16384, i16 16428, i16 23, i16 17273, i16 -16384, i16 16428, i16 26, i16 17273, i16 -16384, i16 16428, i16 27, i16 17273, i16 -16384, i16 16429, i16 14, i16 17273, i16 -16384, i16 17283, i16 14, i16 17273, i16 -16384, i16 17283, i16 25, i16 17273, i16 -16384, i16 16430, i16 14, i16 17273, i16 -16384, i16 17284, i16 16, i16 17273, i16 -16384, i16 17284, i16 17, i16 17273, i16 -16384, i16 17284, i16 20, i16 17273, i16 -16384, i16 17284, i16 22, i16 17273, i16 -16384, i16 17284, i16 26, i16 17273, i16 -16384, i16 17284, i16 27, i16 17273, i16 -16384, i16 18009, i16 1628, i16 18015, i16 -16384, i16 17285, i16 14, i16 17273, i16 -16384, i16 17286, i16 14, i16 17273, i16 -16384, i16 17286, i16 15, i16 17273, i16 -16384, i16 17286, i16 25, i16 17273, i16 -16384, i16 16431, i16 14, i16 17273, i16 -16384, i16 16431, i16 16, i16 17273, i16 -16384, i16 16431, i16 18, i16 17273, i16 -16384, i16 16431, i16 24, i16 17273, i16 -16384, i16 16431, i16 25, i16 17273, i16 -16384, i16 16431, i16 23, i16 17273, i16 -16384, i16 16432, i16 14, i16 17273, i16 -16384, i16 16433, i16 14, i16 17273, i16 -16384, i16 16433, i16 15, i16 17273, i16 -16384, i16 16433, i16 16, i16 17273, i16 -16384, i16 16433, i16 18, i16 17273, i16 -16384, i16 16433, i16 25, i16 17273, i16 -16384, i16 16434, i16 14, i16 17273, i16 -16384, i16 16434, i16 15, i16 16392, i16 -16384, i16 16434, i16 16, i16 17273, i16 -16384, i16 16434, i16 17, i16 17273, i16 -16384, i16 16434, i16 897, i16 17273, i16 -16384, i16 16434, i16 22, i16 17273, i16 -16384, i16 16434, i16 27, i16 17273, i16 -16384, i16 18018, i16 1628, i16 18015, i16 -16384, i16 16435, i16 14, i16 17273, i16 -16384, i16 17287, i16 14, i16 17273, i16 -16384, i16 16436, i16 14, i16 17273, i16 -16384, i16 16436, i16 16, i16 17273, i16 -16384, i16 16436, i16 18, i16 17273, i16 -16384, i16 16436, i16 25, i16 17273, i16 -16384, i16 16437, i16 14, i16 17273, i16 -16384, i16 16437, i16 16, i16 17273, i16 -16384, i16 16438, i16 14, i16 17273, i16 -16384, i16 16438, i16 18, i16 17273, i16 -16384, i16 16438, i16 24, i16 17273, i16 -16384, i16 16439, i16 14, i16 17273, i16 -16384, i16 16439, i16 16, i16 17273, i16 -16384, i16 16439, i16 17, i16 17273, i16 -16384, i16 16439, i16 897, i16 17273, i16 -16384, i16 16439, i16 19, i16 17273, i16 -16384, i16 16439, i16 22, i16 17273, i16 -16384, i16 16439, i16 26, i16 17273, i16 -16384, i16 16439, i16 27, i16 17273, i16 -16384, i16 16440, i16 14, i16 17273, i16 -16384, i16 16441, i16 897, i16 17273, i16 -16384, i16 17288, i16 14, i16 17273, i16 -16384, i16 16442, i16 14, i16 17273, i16 -16384, i16 16442, i16 16, i16 17273, i16 -16384, i16 16442, i16 20, i16 17273, i16 -16384, i16 16442, i16 897, i16 17273, i16 -16384, i16 16443, i16 14, i16 17273, i16 -16384, i16 16443, i16 16, i16 17273, i16 -16384, i16 16444, i16 14, i16 17273, i16 -16384, i16 16425, i16 14, i16 16393, i16 -16384, i16 16425, i16 26, i16 16393, i16 -16384, i16 16425, i16 27, i16 16393, i16 -16384, i16 16426, i16 14, i16 16393, i16 -16384, i16 16427, i16 14, i16 16393, i16 -16384, i16 17282, i16 14, i16 16393, i16 -16384, i16 17282, i16 18, i16 16393, i16 -16384, i16 16428, i16 14, i16 16393, i16 -16384, i16 16428, i16 16, i16 16393, i16 -16384, i16 16428, i16 17, i16 16393, i16 -16384, i16 16428, i16 897, i16 16393, i16 -16384, i16 16428, i16 20, i16 16393, i16 -16384, i16 16428, i16 18, i16 16393, i16 -16384, i16 16428, i16 23, i16 16393, i16 -16384, i16 16428, i16 26, i16 16393, i16 -16384, i16 16428, i16 27, i16 16393, i16 -16384, i16 16429, i16 14, i16 16393, i16 -16384, i16 17283, i16 14, i16 16393, i16 -16384, i16 17283, i16 25, i16 16393, i16 -16384, i16 16430, i16 14, i16 16393, i16 -16384, i16 17284, i16 16, i16 16393, i16 -16384, i16 17284, i16 17, i16 16393, i16 -16384, i16 17284, i16 20, i16 16393, i16 -16384, i16 17284, i16 22, i16 16393, i16 -16384, i16 17284, i16 26, i16 16393, i16 -16384, i16 17284, i16 27, i16 16393, i16 -16384, i16 18009, i16 1628, i16 18021, i16 -16384, i16 17285, i16 14, i16 16393, i16 -16384, i16 17286, i16 14, i16 16393, i16 -16384, i16 17286, i16 25, i16 16393, i16 -16384, i16 16431, i16 14, i16 16393, i16 -16384, i16 16431, i16 16, i16 16393, i16 -16384, i16 16431, i16 18, i16 16393, i16 -16384, i16 16431, i16 24, i16 16393, i16 -16384, i16 16431, i16 25, i16 16393, i16 -16384, i16 16431, i16 23, i16 16393, i16 -16384, i16 16432, i16 14, i16 16393, i16 -16384, i16 16433, i16 14, i16 16393, i16 -16384, i16 16433, i16 16, i16 16393, i16 -16384, i16 16433, i16 18, i16 16393, i16 -16384, i16 16433, i16 25, i16 16393, i16 -16384, i16 16434, i16 14, i16 16393, i16 -16384, i16 16434, i16 16, i16 16393, i16 -16384, i16 16434, i16 17, i16 16393, i16 -16384, i16 16434, i16 897, i16 16393, i16 -16384, i16 16434, i16 22, i16 16393, i16 -16384, i16 16434, i16 27, i16 16393, i16 -16384, i16 18018, i16 1628, i16 18021, i16 -16384, i16 16435, i16 14, i16 16393, i16 -16384, i16 17287, i16 14, i16 16393, i16 -16384, i16 16436, i16 14, i16 16393, i16 -16384, i16 16436, i16 16, i16 16393, i16 -16384, i16 16436, i16 18, i16 16393, i16 -16384, i16 16436, i16 25, i16 16393, i16 -16384, i16 16437, i16 14, i16 16393, i16 -16384, i16 16437, i16 16, i16 16393, i16 -16384, i16 16438, i16 14, i16 16393, i16 -16384, i16 16438, i16 18, i16 16393, i16 -16384, i16 16438, i16 24, i16 16393, i16 -16384, i16 16439, i16 14, i16 16393, i16 -16384, i16 16439, i16 16, i16 16393, i16 -16384, i16 16439, i16 17, i16 16393, i16 -16384, i16 16439, i16 897, i16 16393, i16 -16384, i16 16439, i16 19, i16 16393, i16 -16384, i16 16439, i16 22, i16 16393, i16 -16384, i16 16439, i16 26, i16 16393, i16 -16384, i16 16439, i16 27, i16 16393, i16 -16384, i16 16440, i16 14, i16 16393, i16 -16384, i16 16441, i16 897, i16 16393, i16 -16384, i16 17288, i16 14, i16 16393, i16 -16384, i16 16442, i16 14, i16 16393, i16 -16384, i16 16442, i16 16, i16 16393, i16 -16384, i16 16442, i16 897, i16 16393, i16 -16384, i16 16442, i16 20, i16 16393, i16 -16384, i16 16443, i16 14, i16 16393, i16 -16384, i16 16443, i16 16, i16 16393, i16 -16384, i16 16444, i16 14, i16 16393, i16 -16384, i16 16445, i16 16398, i16 17273, i16 -16384, i16 16446, i16 16398, i16 17273, i16 -16384, i16 16448, i16 16398, i16 17273, i16 -16384, i16 16449, i16 16398, i16 17273, i16 -16384, i16 16450, i16 16398, i16 17273, i16 -16384, i16 16451, i16 16398, i16 17273, i16 -16384, i16 16452, i16 16398, i16 17273, i16 -16384, i16 16453, i16 16398, i16 17273, i16 -16384, i16 16454, i16 16398, i16 17273, i16 -16384, i16 16455, i16 16398, i16 17273, i16 -16384, i16 16456, i16 16398, i16 17273, i16 -16384, i16 16457, i16 16398, i16 17273, i16 -16384, i16 16458, i16 16398, i16 17273, i16 -16384, i16 16459, i16 16398, i16 17273, i16 -16384, i16 16460, i16 16398, i16 17273, i16 -16384, i16 16461, i16 16398, i16 17273, i16 -16384, i16 16462, i16 16398, i16 17273, i16 -16384, i16 16463, i16 16398, i16 17273, i16 -16384, i16 16464, i16 16398, i16 17273, i16 -16384, i16 16465, i16 16398, i16 17273, i16 -16384, i16 16466, i16 16398, i16 17273, i16 -16384, i16 16467, i16 16398, i16 17273, i16 -16384, i16 16468, i16 16398, i16 17273, i16 -16384, i16 16469, i16 16398, i16 17273, i16 -16384, i16 16470, i16 16398, i16 17273, i16 -16384, i16 16471, i16 16398, i16 17273, i16 -16384, i16 16474, i16 16398, i16 17273, i16 -16384, i16 16475, i16 16398, i16 17273, i16 -16384, i16 16476, i16 16398, i16 17273, i16 -16384, i16 16477, i16 16398, i16 17273, i16 -16384, i16 16478, i16 16398, i16 17273, i16 -16384, i16 16480, i16 16398, i16 17273, i16 -16384, i16 16482, i16 17278, i16 17273, i16 -16384, i16 16482, i16 16398, i16 17273, i16 -16384, i16 61, i16 14, i16 3, i16 -16384, i16 61, i16 14, i16 4, i16 -16384, i16 61, i16 14, i16 5, i16 -16384, i16 61, i16 14, i16 6, i16 -16384, i16 62, i16 14, i16 3, i16 -16384, i16 62, i16 14, i16 4, i16 -16384, i16 62, i16 14, i16 5, i16 -16384, i16 62, i16 14, i16 6, i16 -16384, i16 64, i16 14, i16 3, i16 -16384, i16 64, i16 14, i16 4, i16 -16384, i16 64, i16 14, i16 5, i16 -16384, i16 64, i16 14, i16 6, i16 -16384, i16 65, i16 14, i16 3, i16 -16384, i16 65, i16 14, i16 4, i16 -16384, i16 65, i16 14, i16 5, i16 -16384, i16 65, i16 14, i16 6, i16 -16384, i16 66, i16 14, i16 3, i16 -16384, i16 66, i16 14, i16 4, i16 -16384, i16 66, i16 14, i16 5, i16 -16384, i16 66, i16 14, i16 6, i16 -16384, i16 67, i16 14, i16 3, i16 -16384, i16 67, i16 14, i16 4, i16 -16384, i16 67, i16 14, i16 5, i16 -16384, i16 67, i16 14, i16 6, i16 -16384, i16 68, i16 14, i16 3, i16 -16384, i16 68, i16 14, i16 4, i16 -16384, i16 68, i16 14, i16 5, i16 -16384, i16 68, i16 14, i16 6, i16 -16384, i16 69, i16 14, i16 3, i16 -16384, i16 69, i16 14, i16 4, i16 -16384, i16 69, i16 14, i16 5, i16 -16384, i16 69, i16 14, i16 6, i16 -16384, i16 70, i16 14, i16 3, i16 -16384, i16 70, i16 14, i16 4, i16 -16384, i16 70, i16 14, i16 5, i16 -16384, i16 70, i16 14, i16 6, i16 -16384, i16 71, i16 14, i16 3, i16 -16384, i16 71, i16 14, i16 4, i16 -16384, i16 72, i16 14, i16 3, i16 -16384, i16 72, i16 14, i16 4, i16 -16384, i16 73, i16 14, i16 3, i16 -16384, i16 73, i16 14, i16 4, i16 -16384, i16 74, i16 14, i16 3, i16 -16384, i16 74, i16 14, i16 4, i16 -16384, i16 75, i16 14, i16 3, i16 -16384, i16 75, i16 14, i16 4, i16 -16384, i16 76, i16 14, i16 3, i16 -16384, i16 76, i16 14, i16 4, i16 -16384, i16 77, i16 14, i16 3, i16 -16384, i16 77, i16 14, i16 4, i16 -16384, i16 78, i16 14, i16 3, i16 -16384, i16 78, i16 14, i16 4, i16 -16384, i16 78, i16 14, i16 5, i16 -16384, i16 78, i16 14, i16 6, i16 -16384, i16 79, i16 14, i16 3, i16 -16384, i16 79, i16 14, i16 4, i16 -16384, i16 79, i16 14, i16 5, i16 -16384, i16 79, i16 14, i16 6, i16 -16384, i16 80, i16 14, i16 3, i16 -16384, i16 80, i16 14, i16 4, i16 -16384, i16 80, i16 14, i16 5, i16 -16384, i16 80, i16 14, i16 6, i16 -16384, i16 81, i16 14, i16 3, i16 -16384, i16 81, i16 14, i16 4, i16 -16384, i16 81, i16 14, i16 5, i16 -16384, i16 81, i16 14, i16 6, i16 -16384, i16 82, i16 14, i16 3, i16 -16384, i16 82, i16 14, i16 4, i16 -16384, i16 82, i16 14, i16 5, i16 -16384, i16 82, i16 14, i16 6, i16 -16384, i16 83, i16 14, i16 3, i16 -16384, i16 83, i16 14, i16 4, i16 -16384, i16 83, i16 14, i16 5, i16 -16384, i16 83, i16 14, i16 6, i16 -16384, i16 84, i16 14, i16 3, i16 -16384, i16 84, i16 14, i16 4, i16 -16384, i16 84, i16 14, i16 5, i16 -16384, i16 84, i16 14, i16 6, i16 -16384, i16 85, i16 14, i16 3, i16 -16384, i16 85, i16 14, i16 4, i16 -16384, i16 85, i16 14, i16 5, i16 -16384, i16 85, i16 14, i16 6, i16 -16384, i16 86, i16 14, i16 3, i16 -16384, i16 86, i16 14, i16 4, i16 -16384, i16 86, i16 14, i16 5, i16 -16384, i16 86, i16 14, i16 6, i16 -16384, i16 87, i16 14, i16 3, i16 -16384, i16 87, i16 14, i16 4, i16 -16384, i16 87, i16 14, i16 5, i16 -16384, i16 87, i16 14, i16 6, i16 -16384, i16 90, i16 14, i16 3, i16 -16384, i16 90, i16 14, i16 4, i16 -16384, i16 90, i16 14, i16 5, i16 -16384, i16 90, i16 14, i16 6, i16 -16384, i16 91, i16 14, i16 3, i16 -16384, i16 91, i16 14, i16 4, i16 -16384, i16 91, i16 14, i16 5, i16 -16384, i16 91, i16 14, i16 6, i16 -16384, i16 92, i16 14, i16 3, i16 -16384, i16 92, i16 14, i16 4, i16 -16384, i16 92, i16 14, i16 5, i16 -16384, i16 92, i16 14, i16 6, i16 -16384, i16 93, i16 14, i16 3, i16 -16384, i16 93, i16 14, i16 4, i16 -16384, i16 93, i16 14, i16 5, i16 -16384, i16 93, i16 14, i16 6, i16 -16384, i16 94, i16 14, i16 3, i16 -16384, i16 94, i16 14, i16 4, i16 -16384, i16 96, i16 14, i16 3, i16 -16384, i16 96, i16 14, i16 4, i16 -16384, i16 1640, i16 1643, i16 1646, i16 -16384, i16 1640, i16 1643, i16 1649, i16 -16384, i16 1640, i16 1643, i16 1652, i16 -16384, i16 1640, i16 1643, i16 1655, i16 -16384, i16 98, i16 894, i16 3, i16 -16384, i16 98, i16 894, i16 4, i16 -16384, i16 98, i16 14, i16 3, i16 -16384, i16 98, i16 14, i16 4, i16 -16384, i16 16483, i16 16398, i16 16384, i16 -16384, i16 16484, i16 16398, i16 16384, i16 -16384, i16 16485, i16 16398, i16 16384, i16 -16384, i16 16486, i16 16398, i16 16384, i16 -16384, i16 16487, i16 16398, i16 16384, i16 -16384, i16 16488, i16 16398, i16 16384, i16 -16384, i16 16489, i16 16398, i16 16384, i16 -16384, i16 16490, i16 16398, i16 16384, i16 -16384, i16 16491, i16 16398, i16 16384, i16 -16384, i16 16492, i16 16398, i16 16384, i16 -16384, i16 16493, i16 16398, i16 16384, i16 -16384, i16 16494, i16 16398, i16 16384, i16 -16384, i16 16495, i16 16398, i16 16384, i16 -16384, i16 16496, i16 16398, i16 16384, i16 -16384, i16 16497, i16 16398, i16 16384, i16 -16384, i16 16498, i16 16398, i16 16384, i16 -16384, i16 16499, i16 16398, i16 16384, i16 -16384, i16 16500, i16 16398, i16 16384, i16 -16384, i16 16501, i16 16398, i16 16384, i16 -16384, i16 16502, i16 16398, i16 16384, i16 -16384, i16 16503, i16 16398, i16 16384, i16 -16384, i16 16504, i16 16398, i16 16384, i16 -16384, i16 16505, i16 16398, i16 16384, i16 -16384, i16 16506, i16 16398, i16 16384, i16 -16384, i16 16507, i16 16398, i16 16384, i16 -16384, i16 16508, i16 16398, i16 16384, i16 -16384, i16 16509, i16 16398, i16 16384, i16 -16384, i16 16510, i16 14, i16 16393, i16 -16384, i16 16510, i16 28, i16 16393, i16 -16384, i16 16511, i16 14, i16 16393, i16 -16384, i16 16512, i16 14, i16 16393, i16 -16384, i16 16512, i16 15, i16 16393, i16 -16384, i16 16513, i16 14, i16 16393, i16 -16384, i16 16513, i16 15, i16 16393, i16 -16384, i16 16514, i16 14, i16 16393, i16 -16384, i16 16514, i16 28, i16 16393, i16 -16384, i16 16515, i16 14, i16 16393, i16 -16384, i16 16515, i16 15, i16 16393, i16 -16384, i16 16516, i16 14, i16 16393, i16 -16384, i16 16516, i16 28, i16 16393, i16 -16384, i16 16517, i16 14, i16 16393, i16 -16384, i16 16518, i16 14, i16 16393, i16 -16384, i16 16518, i16 28, i16 16393, i16 -16384, i16 16518, i16 29, i16 16393, i16 -16384, i16 16519, i16 14, i16 16393, i16 -16384, i16 16519, i16 15, i16 16393, i16 -16384, i16 16519, i16 895, i16 16393, i16 -16384, i16 16520, i16 14, i16 16393, i16 -16384, i16 16521, i16 14, i16 16393, i16 -16384, i16 16522, i16 14, i16 16393, i16 -16384, i16 16523, i16 14, i16 16393, i16 -16384, i16 16524, i16 14, i16 16393, i16 -16384, i16 16524, i16 28, i16 16393, i16 -16384, i16 16525, i16 14, i16 16393, i16 -16384, i16 16526, i16 14, i16 16393, i16 -16384, i16 16527, i16 14, i16 16393, i16 -16384, i16 16527, i16 15, i16 16393, i16 -16384, i16 16527, i16 895, i16 16393, i16 -16384, i16 16528, i16 14, i16 16393, i16 -16384, i16 16528, i16 15, i16 16393, i16 -16384, i16 16529, i16 14, i16 16393, i16 -16384, i16 16529, i16 28, i16 16393, i16 -16384, i16 16529, i16 29, i16 16393, i16 -16384, i16 16529, i16 30, i16 16393, i16 -16384, i16 16529, i16 26, i16 16393, i16 -16384, i16 16529, i16 27, i16 16393, i16 -16384, i16 16530, i16 14, i16 16393, i16 -16384, i16 16530, i16 895, i16 16393, i16 -16384, i16 16531, i16 14, i16 16393, i16 -16384, i16 16531, i16 15, i16 16393, i16 -16384, i16 16532, i16 14, i16 16393, i16 -16384, i16 16532, i16 15, i16 16393, i16 -16384, i16 16533, i16 14, i16 16393, i16 -16384, i16 16533, i16 28, i16 16393, i16 -16384, i16 16510, i16 14, i16 16396, i16 -16384, i16 16510, i16 28, i16 16396, i16 -16384, i16 16511, i16 14, i16 16396, i16 -16384, i16 16511, i16 15, i16 16396, i16 -16384, i16 16512, i16 14, i16 16396, i16 -16384, i16 16513, i16 14, i16 16396, i16 -16384, i16 16514, i16 14, i16 16396, i16 -16384, i16 16514, i16 28, i16 16396, i16 -16384, i16 16515, i16 14, i16 16396, i16 -16384, i16 16515, i16 15, i16 16396, i16 -16384, i16 16516, i16 14, i16 16396, i16 -16384, i16 16516, i16 28, i16 16396, i16 -16384, i16 16517, i16 14, i16 16396, i16 -16384, i16 16517, i16 15, i16 16396, i16 -16384, i16 16518, i16 14, i16 16396, i16 -16384, i16 16518, i16 28, i16 16396, i16 -16384, i16 16518, i16 29, i16 16396, i16 -16384, i16 16518, i16 30, i16 16396, i16 -16384, i16 16518, i16 26, i16 16396, i16 -16384, i16 16519, i16 14, i16 16396, i16 -16384, i16 16519, i16 15, i16 16396, i16 -16384, i16 16519, i16 895, i16 16396, i16 -16384, i16 16520, i16 14, i16 16396, i16 -16384, i16 16521, i16 14, i16 16396, i16 -16384, i16 16522, i16 14, i16 16396, i16 -16384, i16 16523, i16 14, i16 16396, i16 -16384, i16 16524, i16 14, i16 16396, i16 -16384, i16 16524, i16 28, i16 16396, i16 -16384, i16 16525, i16 14, i16 16396, i16 -16384, i16 16525, i16 15, i16 16396, i16 -16384, i16 16526, i16 15, i16 16396, i16 -16384, i16 16527, i16 14, i16 16396, i16 -16384, i16 16527, i16 15, i16 16396, i16 -16384, i16 16527, i16 895, i16 16396, i16 -16384, i16 16527, i16 26, i16 16396, i16 -16384, i16 16528, i16 14, i16 16396, i16 -16384, i16 16528, i16 15, i16 16396, i16 -16384, i16 16529, i16 14, i16 16396, i16 -16384, i16 16529, i16 28, i16 16396, i16 -16384, i16 16529, i16 29, i16 16396, i16 -16384, i16 16529, i16 30, i16 16396, i16 -16384, i16 16530, i16 14, i16 16396, i16 -16384, i16 16530, i16 15, i16 16396, i16 -16384, i16 16530, i16 895, i16 16396, i16 -16384, i16 16531, i16 14, i16 16396, i16 -16384, i16 16532, i16 14, i16 16396, i16 -16384, i16 16532, i16 15, i16 16396, i16 -16384, i16 16533, i16 14, i16 16396, i16 -16384, i16 16533, i16 28, i16 16396, i16 -16384, i16 17292, i16 16398, i16 17273, i16 -16384, i16 17293, i16 16398, i16 17273, i16 -16384, i16 17294, i16 16398, i16 17273, i16 -16384, i16 17295, i16 16398, i16 17273, i16 -16384, i16 17296, i16 16398, i16 17273, i16 -16384, i16 17299, i16 16398, i16 17273, i16 -16384, i16 17302, i16 16398, i16 17273, i16 -16384, i16 17303, i16 16398, i16 17273, i16 -16384, i16 17305, i16 16398, i16 17273, i16 -16384, i16 17308, i16 16398, i16 17273, i16 -16384, i16 17309, i16 16398, i16 17273, i16 -16384, i16 17310, i16 16398, i16 17273, i16 -16384, i16 17311, i16 16398, i16 17273, i16 -16384, i16 17313, i16 16398, i16 17273, i16 -16384, i16 17314, i16 16398, i16 17273, i16 -16384, i16 17316, i16 16398, i16 17273, i16 -16384, i16 17317, i16 16398, i16 17273, i16 -16384, i16 17318, i16 16398, i16 17273, i16 -16384, i16 17319, i16 16398, i16 17273, i16 -16384, i16 17320, i16 16398, i16 17273, i16 -16384, i16 17323, i16 16398, i16 17273, i16 -16384, i16 17325, i16 16398, i16 17273, i16 -16384, i16 17326, i16 16398, i16 17273, i16 -16384, i16 17327, i16 16398, i16 17273, i16 -16384, i16 17328, i16 16398, i16 17273, i16 -16384, i16 17330, i16 16398, i16 17273, i16 -16384, i16 17331, i16 16398, i16 17273, i16 -16384, i16 17332, i16 16398, i16 17273, i16 -16384, i16 17334, i16 16398, i16 17273, i16 -16384, i16 17336, i16 16398, i16 17273, i16 -16384, i16 17337, i16 16398, i16 17273, i16 -16384, i16 17292, i16 16398, i16 16393, i16 -16384, i16 17293, i16 16398, i16 16393, i16 -16384, i16 17294, i16 16398, i16 16393, i16 -16384, i16 17295, i16 16398, i16 16393, i16 -16384, i16 17296, i16 16398, i16 16393, i16 -16384, i16 17299, i16 16398, i16 16393, i16 -16384, i16 17302, i16 16398, i16 16393, i16 -16384, i16 17303, i16 16398, i16 16393, i16 -16384, i16 17305, i16 16398, i16 16393, i16 -16384, i16 17308, i16 16398, i16 16393, i16 -16384, i16 17310, i16 16398, i16 16393, i16 -16384, i16 17311, i16 16398, i16 16393, i16 -16384, i16 17313, i16 16398, i16 16393, i16 -16384, i16 17314, i16 16398, i16 16393, i16 -16384, i16 17316, i16 16398, i16 16393, i16 -16384, i16 17317, i16 16398, i16 16393, i16 -16384, i16 17318, i16 16398, i16 16393, i16 -16384, i16 17319, i16 16398, i16 16393, i16 -16384, i16 17320, i16 16398, i16 16393, i16 -16384, i16 17323, i16 16398, i16 16393, i16 -16384, i16 17325, i16 16398, i16 16393, i16 -16384, i16 17326, i16 16398, i16 16393, i16 -16384, i16 17327, i16 16398, i16 16393, i16 -16384, i16 17328, i16 16398, i16 16393, i16 -16384, i16 17330, i16 16398, i16 16393, i16 -16384, i16 17331, i16 16398, i16 16393, i16 -16384, i16 17332, i16 16398, i16 16393, i16 -16384, i16 17334, i16 16398, i16 16393, i16 -16384, i16 17336, i16 16398, i16 16393, i16 -16384, i16 17337, i16 16398, i16 16393, i16 -16384, i16 16425, i16 16, i16 17273, i16 -16384, i16 16425, i16 17, i16 17273, i16 -16384, i16 16425, i16 897, i16 17273, i16 -16384, i16 16425, i16 22, i16 17273, i16 -16384, i16 16425, i16 20, i16 17273, i16 -16384, i16 16425, i16 19, i16 17273, i16 -16384, i16 16425, i16 896, i16 17273, i16 -16384, i16 18042, i16 1628, i16 18015, i16 -16384, i16 16427, i16 25, i16 17273, i16 -16384, i16 16427, i16 16, i16 17273, i16 -16384, i16 16427, i16 897, i16 17273, i16 -16384, i16 16427, i16 18, i16 17273, i16 -16384, i16 16427, i16 23, i16 17273, i16 -16384, i16 17282, i16 15, i16 17273, i16 -16384, i16 17282, i16 24, i16 17273, i16 -16384, i16 17283, i16 896, i16 17273, i16 -16384, i16 17283, i16 897, i16 17273, i16 -16384, i16 17283, i16 23, i16 17273, i16 -16384, i16 16430, i16 897, i16 17273, i16 -16384, i16 16430, i16 24, i16 17273, i16 -16384, i16 17284, i16 14, i16 17273, i16 -16384, i16 17284, i16 897, i16 17273, i16 -16384, i16 17284, i16 15, i16 17273, i16 -16384, i16 17285, i16 897, i16 17273, i16 -16384, i16 16433, i16 22, i16 17273, i16 -16384, i16 18045, i16 1628, i16 18015, i16 -16384, i16 16434, i16 20, i16 17273, i16 -16384, i16 16434, i16 24, i16 17273, i16 -16384, i16 16434, i16 21, i16 17273, i16 -16384, i16 16437, i16 897, i16 17273, i16 -16384, i16 16437, i16 18, i16 17273, i16 -16384, i16 16437, i16 25, i16 17273, i16 -16384, i16 18048, i16 1628, i16 18015, i16 -16384, i16 16438, i16 25, i16 17273, i16 -16384, i16 16439, i16 20, i16 17273, i16 -16384, i16 16439, i16 896, i16 17273, i16 -16384, i16 16439, i16 21, i16 17273, i16 -16384, i16 16441, i16 14, i16 17273, i16 -16384, i16 16443, i16 18, i16 17273, i16 -16384, i16 16443, i16 23, i16 17273, i16 -16384, i16 16425, i16 16, i16 16393, i16 -16384, i16 16425, i16 17, i16 16393, i16 -16384, i16 16425, i16 897, i16 16393, i16 -16384, i16 16425, i16 22, i16 16393, i16 -16384, i16 16425, i16 20, i16 16393, i16 -16384, i16 16425, i16 19, i16 16393, i16 -16384, i16 16425, i16 896, i16 16393, i16 -16384, i16 18042, i16 1628, i16 18021, i16 -16384, i16 16427, i16 25, i16 16393, i16 -16384, i16 16427, i16 16, i16 16393, i16 -16384, i16 16427, i16 897, i16 16393, i16 -16384, i16 16427, i16 18, i16 16393, i16 -16384, i16 16427, i16 23, i16 16393, i16 -16384, i16 17282, i16 15, i16 16393, i16 -16384, i16 17282, i16 24, i16 16393, i16 -16384, i16 17283, i16 896, i16 16393, i16 -16384, i16 17283, i16 897, i16 16393, i16 -16384, i16 17283, i16 23, i16 16393, i16 -16384, i16 16430, i16 897, i16 16393, i16 -16384, i16 16430, i16 24, i16 16393, i16 -16384, i16 17284, i16 14, i16 16393, i16 -16384, i16 17284, i16 897, i16 16393, i16 -16384, i16 17284, i16 15, i16 16393, i16 -16384, i16 17285, i16 897, i16 16393, i16 -16384, i16 16433, i16 22, i16 16393, i16 -16384, i16 18045, i16 1628, i16 18021, i16 -16384, i16 16434, i16 20, i16 16393, i16 -16384, i16 16434, i16 24, i16 16393, i16 -16384, i16 16434, i16 21, i16 16393, i16 -16384, i16 16437, i16 897, i16 16393, i16 -16384, i16 16437, i16 18, i16 16393, i16 -16384, i16 16437, i16 25, i16 16393, i16 -16384, i16 16438, i16 25, i16 16393, i16 -16384, i16 16439, i16 20, i16 16393, i16 -16384, i16 16439, i16 896, i16 16393, i16 -16384, i16 16439, i16 21, i16 16393, i16 -16384, i16 16441, i16 14, i16 16393, i16 -16384, i16 16443, i16 18, i16 16393, i16 -16384, i16 16443, i16 23, i16 16393, i16 -16384, i16 16415, i16 16398, i16 17273, i16 -16384, i16 16415, i16 16399, i16 17273, i16 -16384, i16 16416, i16 16398, i16 17273, i16 -16384, i16 16416, i16 16399, i16 17273, i16 -16384, i16 16417, i16 16398, i16 17273, i16 -16384, i16 16417, i16 16399, i16 17273, i16 -16384, i16 16418, i16 16398, i16 17273, i16 -16384, i16 16418, i16 16399, i16 17273, i16 -16384, i16 16419, i16 16398, i16 17273, i16 -16384, i16 16419, i16 16399, i16 17273, i16 -16384, i16 16420, i16 16398, i16 17273, i16 -16384, i16 16420, i16 16399, i16 17273, i16 -16384, i16 16421, i16 16398, i16 17273, i16 -16384, i16 16421, i16 16399, i16 17273, i16 -16384, i16 16422, i16 16398, i16 17273, i16 -16384, i16 16422, i16 16399, i16 17273, i16 -16384, i16 16423, i16 16398, i16 17273, i16 -16384, i16 16423, i16 16399, i16 17273, i16 -16384, i16 16424, i16 16398, i16 17273, i16 -16384, i16 16424, i16 16399, i16 17273, i16 -16384, i16 17289, i16 16398, i16 17273, i16 -16384, i16 17290, i16 16397, i16 17273, i16 -16384, i16 17290, i16 17274, i16 17273, i16 -16384, i16 17290, i16 17276, i16 17273, i16 -16384, i16 17290, i16 16398, i16 17273, i16 -16384, i16 16447, i16 16398, i16 17273, i16 -16384, i16 16472, i16 16398, i16 17273, i16 -16384, i16 16473, i16 16398, i16 17273, i16 -16384, i16 17291, i16 16398, i16 17273, i16 -16384, i16 16479, i16 16398, i16 17273, i16 -16384, i16 16480, i16 17275, i16 17273, i16 -16384, i16 16481, i16 16398, i16 17273, i16 -16384, i16 18051, i16 18054, i16 18015, i16 -16384, i16 16481, i16 17277, i16 17273, i16 -16384, i16 905, i16 14, i16 3, i16 -16384, i16 906, i16 13, i16 3, i16 -16384, i16 906, i16 13, i16 4, i16 -16384, i16 906, i16 890, i16 3, i16 -16384, i16 906, i16 890, i16 4, i16 -16384, i16 906, i16 892, i16 3, i16 -16384, i16 906, i16 892, i16 4, i16 -16384, i16 906, i16 14, i16 3, i16 -16384, i16 906, i16 14, i16 4, i16 -16384, i16 63, i16 14, i16 3, i16 -16384, i16 63, i16 14, i16 4, i16 -16384, i16 88, i16 14, i16 3, i16 -16384, i16 88, i16 14, i16 4, i16 -16384, i16 88, i16 14, i16 5, i16 -16384, i16 88, i16 14, i16 6, i16 -16384, i16 89, i16 14, i16 3, i16 -16384, i16 89, i16 14, i16 4, i16 -16384, i16 89, i16 14, i16 5, i16 -16384, i16 89, i16 14, i16 6, i16 -16384, i16 907, i16 14, i16 3, i16 -16384, i16 907, i16 14, i16 4, i16 -16384, i16 907, i16 14, i16 5, i16 -16384, i16 907, i16 14, i16 6, i16 -16384, i16 95, i16 14, i16 3, i16 -16384, i16 95, i16 14, i16 4, i16 -16384, i16 96, i16 891, i16 3, i16 -16384, i16 96, i16 891, i16 4, i16 -16384, i16 97, i16 14, i16 3, i16 -16384, i16 97, i16 14, i16 4, i16 -16384, i16 97, i16 893, i16 3, i16 -16384, i16 97, i16 893, i16 4, i16 -16384, i16 97, i16 893, i16 5, i16 -16384, i16 97, i16 893, i16 6, i16 -16384, i16 1673, i16 1676, i16 1679, i16 -16384, i16 1673, i16 1676, i16 1682, i16 -16384, i16 1673, i16 1685, i16 1679, i16 -16384, i16 1673, i16 1685, i16 1682, i16 -16384, i16 1673, i16 1688, i16 1679, i16 -16384, i16 1673, i16 1688, i16 1682, i16 -16384, i16 1673, i16 1643, i16 1679, i16 -16384, i16 1673, i16 1643, i16 1682, i16 -16384, i16 17297, i16 16398, i16 17273, i16 -16384, i16 17298, i16 16398, i16 17273, i16 -16384, i16 17300, i16 16398, i16 17273, i16 -16384, i16 17301, i16 16398, i16 17273, i16 -16384, i16 17304, i16 16398, i16 17273, i16 -16384, i16 17306, i16 16398, i16 17273, i16 -16384, i16 17307, i16 16398, i16 17273, i16 -16384, i16 17312, i16 16398, i16 17273, i16 -16384, i16 17315, i16 16398, i16 17273, i16 -16384, i16 17321, i16 16398, i16 17273, i16 -16384, i16 17322, i16 16398, i16 17273, i16 -16384, i16 17324, i16 16398, i16 17273, i16 -16384, i16 17329, i16 16398, i16 17273, i16 -16384, i16 17333, i16 16398, i16 17273, i16 -16384, i16 17335, i16 16398, i16 17273, i16 -16384, i16 17297, i16 16398, i16 16393, i16 -16384, i16 17298, i16 16398, i16 16393, i16 -16384, i16 17300, i16 16398, i16 16393, i16 -16384, i16 17301, i16 16398, i16 16393, i16 -16384, i16 17304, i16 16398, i16 16393, i16 -16384, i16 17306, i16 16398, i16 16393, i16 -16384, i16 17307, i16 16398, i16 16393, i16 -16384, i16 17309, i16 16398, i16 16393, i16 -16384, i16 17312, i16 16398, i16 16393, i16 -16384, i16 17315, i16 16398, i16 16393, i16 -16384, i16 17321, i16 16398, i16 16393, i16 -16384, i16 17322, i16 16398, i16 16393, i16 -16384, i16 17324, i16 16398, i16 16393, i16 -16384, i16 17329, i16 16398, i16 16393, i16 -16384, i16 17333, i16 16398, i16 16393, i16 -16384, i16 17335, i16 16398, i16 16393, i16 -16384, i16 32767, i16 16384, i16 16384, i16 -16384, i16 18075, i16 18078, i16 16384, i16 -16384, i16 18081, i16 18078, i16 16384, i16 -16384, i16 18084, i16 18078, i16 16384, i16 -16384, i16 17541, i16 16407, i16 17273, i16 -16384, i16 17542, i16 16407, i16 17273, i16 -16384, i16 17543, i16 16407, i16 17273, i16 -16384, i16 17544, i16 16407, i16 17273, i16 -16384, i16 17545, i16 16407, i16 17273, i16 -16384, i16 17540, i16 16407, i16 17273, i16 -16384, i16 17555, i16 16399, i16 17273, i16 -16384, i16 17555, i16 16399, i16 16393, i16 -16384, i16 17556, i16 16399, i16 17273, i16 -16384, i16 17556, i16 16399, i16 16393, i16 -16384, i16 17561, i16 16398, i16 17273, i16 -16384, i16 17561, i16 16398, i16 16393, i16 -16384, i16 17564, i16 16399, i16 17273, i16 -16384, i16 17564, i16 16404, i16 17273, i16 -16384, i16 17564, i16 16399, i16 16393, i16 -16384, i16 17564, i16 16404, i16 16393, i16 -16384, i16 17284, i16 16398, i16 17273, i16 -16384, i16 17567, i16 16407, i16 17273, i16 -16384, i16 17284, i16 16398, i16 16393, i16 -16384, i16 17567, i16 16407, i16 16393, i16 -16384, i16 17568, i16 16399, i16 17273, i16 -16384, i16 17568, i16 16406, i16 17273, i16 -16384, i16 17568, i16 16399, i16 16393, i16 -16384, i16 17568, i16 16406, i16 16393, i16 -16384, i16 17569, i16 16404, i16 17273, i16 -16384, i16 17569, i16 16404, i16 16393, i16 -16384, i16 17565, i16 16409, i16 17273, i16 -16384, i16 17565, i16 16409, i16 16393, i16 -16384, i16 17566, i16 17280, i16 17273, i16 -16384, i16 17566, i16 17280, i16 16393, i16 -16384, i16 17570, i16 16409, i16 17273, i16 -16384, i16 17570, i16 16409, i16 16393, i16 -16384, i16 17571, i16 16404, i16 17273, i16 -16384, i16 17571, i16 16404, i16 16393, i16 -16384, i16 17572, i16 16399, i16 17273, i16 -16384, i16 17572, i16 16399, i16 16393, i16 -16384, i16 17573, i16 16399, i16 17273, i16 -16384, i16 17573, i16 16399, i16 16393, i16 -16384, i16 17574, i16 16399, i16 17273, i16 -16384, i16 17574, i16 16399, i16 16393, i16 -16384, i16 17575, i16 16399, i16 17273, i16 -16384, i16 17575, i16 16399, i16 16393, i16 -16384, i16 17576, i16 16399, i16 17273, i16 -16384, i16 17576, i16 16399, i16 16393, i16 -16384, i16 17577, i16 16399, i16 17273, i16 -16384, i16 17577, i16 16399, i16 16393, i16 -16384, i16 17578, i16 16399, i16 17273, i16 -16384, i16 17578, i16 16399, i16 16393, i16 -16384, i16 17579, i16 16399, i16 17273, i16 -16384, i16 17579, i16 16399, i16 16393, i16 -16384, i16 17602, i16 16407, i16 17273, i16 -16384, i16 17602, i16 16407, i16 17600, i16 -16384, i16 17602, i16 16407, i16 16393, i16 -16384, i16 17602, i16 16407, i16 17601, i16 -16384, i16 32766, i16 16384, i16 16384, i16 16384, i16 17619, i16 16399, i16 17273, i16 -16384, i16 17619, i16 16399, i16 16393, i16 -16384, i16 17620, i16 16399, i16 17273, i16 -16384, i16 17620, i16 16399, i16 16393, i16 -16384, i16 17621, i16 16399, i16 17273, i16 -16384, i16 17621, i16 16399, i16 16393, i16 -16384, i16 17622, i16 16399, i16 17273, i16 -16384, i16 17622, i16 16399, i16 16393, i16 -16384, i16 17623, i16 16399, i16 17273, i16 -16384, i16 17623, i16 16399, i16 16393, i16 -16384, i16 17635, i16 16404, i16 17273, i16 -16384, i16 17634, i16 16403, i16 17273, i16 -16384, i16 17635, i16 17279, i16 17273, i16 -16384, i16 17636, i16 16404, i16 17273, i16 -16384, i16 17637, i16 16408, i16 17273, i16 -16384, i16 17635, i16 16404, i16 16393, i16 -16384, i16 17634, i16 16403, i16 16393, i16 -16384, i16 17635, i16 17279, i16 16393, i16 -16384, i16 17636, i16 16404, i16 16393, i16 -16384, i16 17637, i16 16408, i16 16393, i16 -16384, i16 16440, i16 16398, i16 16393, i16 -16327, i16 16440, i16 16398, i16 17273, i16 -16327, i16 16442, i16 16404, i16 17273, i16 -16384, i16 16442, i16 16404, i16 16393, i16 -16384, i16 17638, i16 16407, i16 17273, i16 -16384, i16 17639, i16 16407, i16 17273, i16 -16384, i16 17638, i16 16407, i16 16393, i16 -16384, i16 17639, i16 16407, i16 16393, i16 -16384, i16 17640, i16 16407, i16 17273, i16 -16384, i16 17640, i16 16407, i16 17600, i16 -16384, i16 17641, i16 16407, i16 17273, i16 -16384, i16 17640, i16 16407, i16 16393, i16 -16384, i16 17640, i16 16407, i16 17601, i16 -16384, i16 17641, i16 16407, i16 16393, i16 -16384, i16 17642, i16 16407, i16 17273, i16 -16384, i16 17642, i16 16407, i16 17600, i16 -16384, i16 17642, i16 16407, i16 16393, i16 -16384, i16 17642, i16 16407, i16 17601, i16 -16384, i16 17643, i16 16407, i16 17273, i16 -16384, i16 17643, i16 16407, i16 17600, i16 -16384, i16 17643, i16 16407, i16 16393, i16 -16384, i16 17643, i16 16407, i16 17601, i16 -16384, i16 17644, i16 16407, i16 17273, i16 -16384, i16 17644, i16 16407, i16 16393, i16 -16384, i16 17645, i16 16407, i16 17273, i16 -16384, i16 17645, i16 16407, i16 16393, i16 -16384, i16 17658, i16 16401, i16 17273, i16 -16384, i16 17660, i16 16400, i16 17273, i16 -16384, i16 17661, i16 17281, i16 17273, i16 -16384, i16 17659, i16 16406, i16 17273, i16 -16384, i16 17658, i16 16401, i16 16393, i16 -16384, i16 17660, i16 16400, i16 16393, i16 -16384, i16 17661, i16 17281, i16 16393, i16 -16384, i16 17659, i16 16406, i16 16393, i16 -16384, i16 17662, i16 16409, i16 17273, i16 -16384, i16 17639, i16 16402, i16 17273, i16 -16384, i16 17662, i16 16409, i16 16393, i16 -16384, i16 17639, i16 16402, i16 16393, i16 -16384, i16 17663, i16 16398, i16 17273, i16 -16384, i16 17664, i16 16402, i16 17273, i16 -16384, i16 17664, i16 16402, i16 16393, i16 -16384, i16 17666, i16 16399, i16 17273, i16 -16384, i16 17665, i16 16408, i16 17273, i16 -16384, i16 17666, i16 16399, i16 16393, i16 -16384, i16 17665, i16 16408, i16 16393, i16 -16384, i16 17668, i16 16402, i16 17273, i16 -16384, i16 17669, i16 16408, i16 17273, i16 -16384, i16 17671, i16 18078, i16 18015, i16 -16384, i16 17644, i16 16402, i16 17273, i16 -16384, i16 17644, i16 16402, i16 16393, i16 -16384, i16 17673, i16 16404, i16 17273, i16 -16384, i16 17672, i16 17279, i16 17273, i16 -16384, i16 17673, i16 16404, i16 16393, i16 -16384, i16 17672, i16 17279, i16 16393, i16 -16384, i16 17667, i16 16398, i16 17273, i16 -16384, i16 17670, i16 16402, i16 17273, i16 -16384, i16 17670, i16 16402, i16 16393, i16 -16384, i16 17685, i16 17281, i16 17273, i16 -16384, i16 17686, i16 17280, i16 17273, i16 -16384, i16 17685, i16 17281, i16 16393, i16 -16384, i16 17686, i16 17280, i16 16393, i16 -16384, i16 17688, i16 16409, i16 17273, i16 -16384, i16 17688, i16 16409, i16 16393, i16 -16384, i16 17687, i16 17281, i16 17273, i16 -16384, i16 17687, i16 17281, i16 16393, i16 -16384, i16 17695, i16 16399, i16 17273, i16 -16384, i16 17695, i16 16399, i16 17600, i16 -16384, i16 17695, i16 16399, i16 16393, i16 -16384, i16 17695, i16 16399, i16 17601, i16 -16384, i16 17697, i16 16399, i16 17273, i16 -16384, i16 17697, i16 16399, i16 17600, i16 -16384, i16 17697, i16 16399, i16 16393, i16 -16384, i16 17697, i16 16399, i16 17601, i16 -16384, i16 17693, i16 16407, i16 17273, i16 -16384, i16 17693, i16 16407, i16 16393, i16 -16384, i16 17694, i16 16407, i16 17273, i16 -16384, i16 17694, i16 16407, i16 16393, i16 -16384, i16 17696, i16 16408, i16 17273, i16 -16384, i16 17696, i16 16408, i16 16393, i16 -16384, i16 17698, i16 16407, i16 17273, i16 -16384, i16 17698, i16 16407, i16 16393, i16 -16384, i16 17707, i16 16407, i16 17273, i16 -16384, i16 17707, i16 16407, i16 17600, i16 -16384, i16 17707, i16 16407, i16 16393, i16 -16384, i16 17707, i16 16407, i16 17601, i16 -16384, i16 17708, i16 16407, i16 17273, i16 -16384, i16 17708, i16 16407, i16 17600, i16 -16384, i16 17708, i16 16407, i16 16393, i16 -16384, i16 17708, i16 16407, i16 17601, i16 -16384, i16 32766, i16 16398, i16 17273, i16 -16384, i16 32766, i16 16398, i16 16393, i16 -16384, i16 17803, i16 16404, i16 17273, i16 -16384, i16 17803, i16 16405, i16 17273, i16 -16384, i16 17803, i16 16404, i16 16393, i16 -16384, i16 17803, i16 16405, i16 16393, i16 -16384, i16 17806, i16 16404, i16 17273, i16 -16384, i16 17806, i16 16405, i16 17273, i16 -16384, i16 17806, i16 16404, i16 16393, i16 -16384, i16 17806, i16 16405, i16 16393, i16 -16384, i16 17797, i16 16398, i16 16393, i16 -16384, i16 17797, i16 16398, i16 17601, i16 -16384, i16 18087, i16 18054, i16 18021, i16 -16384, i16 18087, i16 18054, i16 18090, i16 -16384, i16 18087, i16 18054, i16 18093, i16 -16384, i16 18087, i16 18054, i16 18096, i16 -16384, i16 17797, i16 16398, i16 17600, i16 -16384, i16 17797, i16 16398, i16 17273, i16 -16384, i16 18087, i16 18054, i16 18099, i16 -16384, i16 18087, i16 18054, i16 18102, i16 -16384, i16 18087, i16 18054, i16 18105, i16 -16384, i16 18087, i16 18054, i16 18015, i16 -16384, i16 17798, i16 16398, i16 16393, i16 -16384, i16 17798, i16 16398, i16 17601, i16 -16384, i16 18108, i16 18054, i16 18021, i16 -16384, i16 18108, i16 18054, i16 18090, i16 -16384, i16 18108, i16 18054, i16 18093, i16 -16384, i16 18108, i16 18054, i16 18096, i16 -16384, i16 17798, i16 16398, i16 17600, i16 -16384, i16 17798, i16 16398, i16 17273, i16 -16384, i16 18108, i16 18054, i16 18099, i16 -16384, i16 18108, i16 18054, i16 18102, i16 -16384, i16 18108, i16 18054, i16 18105, i16 -16384, i16 18108, i16 18054, i16 18015, i16 -16384, i16 17799, i16 16398, i16 17796, i16 -16384, i16 17799, i16 16398, i16 17795, i16 -16384, i16 17799, i16 16398, i16 17794, i16 -16384, i16 17799, i16 16398, i16 17793, i16 -16384, i16 18111, i16 18054, i16 18114, i16 -16384, i16 18111, i16 18054, i16 18117, i16 -16384, i16 18111, i16 18054, i16 18120, i16 -16384, i16 18111, i16 18054, i16 18123, i16 -16384, i16 17799, i16 16398, i16 17792, i16 -16384, i16 17799, i16 16398, i16 17791, i16 -16384, i16 17799, i16 16398, i16 17790, i16 -16384, i16 17799, i16 16398, i16 17789, i16 -16384, i16 18111, i16 18054, i16 18126, i16 -16384, i16 18111, i16 18054, i16 18129, i16 -16384, i16 18111, i16 18054, i16 18132, i16 -16384, i16 18111, i16 18054, i16 18135, i16 -16384, i16 17800, i16 16398, i16 16393, i16 -16384, i16 17800, i16 16398, i16 17601, i16 -16384, i16 18138, i16 18054, i16 18021, i16 -16384, i16 18138, i16 18054, i16 18090, i16 -16384, i16 18138, i16 18054, i16 18093, i16 -16384, i16 18138, i16 18054, i16 18096, i16 -16384, i16 17800, i16 16398, i16 17273, i16 -16384, i16 17800, i16 16398, i16 17600, i16 -16384, i16 18138, i16 18054, i16 18099, i16 -16384, i16 18138, i16 18054, i16 18102, i16 -16384, i16 18138, i16 18054, i16 18105, i16 -16384, i16 18138, i16 18054, i16 18015, i16 -16384, i16 17801, i16 16398, i16 16393, i16 -16384, i16 17801, i16 16398, i16 17601, i16 -16384, i16 18141, i16 18054, i16 18021, i16 -16384, i16 18141, i16 18054, i16 18090, i16 -16384, i16 18141, i16 18054, i16 18093, i16 -16384, i16 18141, i16 18054, i16 18096, i16 -16384, i16 17801, i16 16398, i16 17273, i16 -16384, i16 17801, i16 16398, i16 17600, i16 -16384, i16 18141, i16 18054, i16 18099, i16 -16384, i16 18141, i16 18054, i16 18102, i16 -16384, i16 18141, i16 18054, i16 18105, i16 -16384, i16 18141, i16 18054, i16 18015, i16 -16384, i16 17802, i16 16398, i16 16393, i16 -16384, i16 17802, i16 16398, i16 17601, i16 -16384, i16 18144, i16 18054, i16 18021, i16 -16384, i16 18144, i16 18054, i16 18090, i16 -16384, i16 18144, i16 18054, i16 18093, i16 -16384, i16 18144, i16 18054, i16 18096, i16 -16384, i16 17802, i16 16398, i16 17273, i16 -16384, i16 17802, i16 16398, i16 17600, i16 -16384, i16 18144, i16 18054, i16 18099, i16 -16384, i16 18144, i16 18054, i16 18102, i16 -16384, i16 18144, i16 18054, i16 18105, i16 -16384, i16 18144, i16 18054, i16 18015, i16 -16384, i16 17804, i16 16398, i16 16393, i16 -16384, i16 17804, i16 16398, i16 17601, i16 -16384, i16 18147, i16 18054, i16 18021, i16 -16384, i16 18147, i16 18054, i16 18090, i16 -16384, i16 18147, i16 18054, i16 18093, i16 -16384, i16 18147, i16 18054, i16 18096, i16 -16384, i16 17804, i16 16398, i16 17600, i16 -16384, i16 17804, i16 16398, i16 17273, i16 -16384, i16 18147, i16 18054, i16 18099, i16 -16384, i16 18147, i16 18054, i16 18102, i16 -16384, i16 18147, i16 18054, i16 18105, i16 -16384, i16 18147, i16 18054, i16 18015, i16 -16384, i16 17805, i16 16398, i16 16393, i16 -16384, i16 17805, i16 16398, i16 17601, i16 -16384, i16 18150, i16 18054, i16 18021, i16 -16384, i16 18150, i16 18054, i16 18090, i16 -16384, i16 18150, i16 18054, i16 18093, i16 -16384, i16 18150, i16 18054, i16 18096, i16 -16384, i16 17805, i16 16398, i16 17600, i16 -16384, i16 17805, i16 16398, i16 17273, i16 -16384, i16 18150, i16 18054, i16 18099, i16 -16384, i16 18150, i16 18054, i16 18102, i16 -16384, i16 18150, i16 18054, i16 18105, i16 -16384, i16 18150, i16 18054, i16 18015, i16 -16384, i16 17807, i16 16398, i16 16393, i16 -16384, i16 17807, i16 16398, i16 17601, i16 -16384, i16 18153, i16 18054, i16 18021, i16 -16384, i16 18153, i16 18054, i16 18090, i16 -16384, i16 18153, i16 18054, i16 18093, i16 -16384, i16 18153, i16 18054, i16 18096, i16 -16384, i16 17807, i16 16398, i16 17600, i16 -16384, i16 17807, i16 16398, i16 17273, i16 -16384, i16 18153, i16 18054, i16 18099, i16 -16384, i16 18153, i16 18054, i16 18102, i16 -16384, i16 18153, i16 18054, i16 18105, i16 -16384, i16 18153, i16 18054, i16 18015, i16 -16384, i16 16384, i16 16384, i16 16384, i16 -2, i16 17934, i16 16398, i16 17273, i16 -16384, i16 17290, i16 17928, i16 17273, i16 -16384, i16 17289, i16 17274, i16 17273, i16 -16384, i16 17289, i16 17276, i16 17273, i16 -16384, i16 17289, i16 17275, i16 17273, i16 -16384, i16 17289, i16 17929, i16 17273, i16 -16384, i16 17289, i16 17929, i16 17932, i16 -16384, i16 17289, i16 17929, i16 17933, i16 -16384, i16 16472, i16 16399, i16 17273, i16 -16384, i16 17291, i16 17931, i16 17273, i16 -16384, i16 17291, i16 17274, i16 17273, i16 -16384, i16 17935, i16 16398, i16 17273, i16 -16384, i16 17935, i16 17930, i16 17273, i16 -16384, i16 17935, i16 17277, i16 17273, i16 -16384, i16 17934, i16 16398, i16 16387, i16 -16384, i16 17934, i16 16398, i16 16388, i16 -16384, i16 17290, i16 16398, i16 16387, i16 -16384, i16 17290, i16 16398, i16 16388, i16 -16384, i16 17290, i16 17928, i16 16387, i16 -16384, i16 17290, i16 17928, i16 16388, i16 -16384, i16 17289, i16 16398, i16 16387, i16 -16384, i16 17289, i16 17274, i16 16387, i16 -16384, i16 17289, i16 17274, i16 16388, i16 -16384, i16 17289, i16 17276, i16 16387, i16 -16384, i16 17289, i16 17276, i16 16388, i16 -16384, i16 17289, i16 17275, i16 16387, i16 -16384, i16 17289, i16 17275, i16 16388, i16 -16384, i16 17289, i16 17929, i16 16387, i16 -16384, i16 17289, i16 17929, i16 16388, i16 -16384, i16 16472, i16 16398, i16 16387, i16 -16384, i16 16472, i16 16398, i16 16388, i16 -16384, i16 16472, i16 16398, i16 16389, i16 -16384, i16 16472, i16 16398, i16 16390, i16 -16384, i16 16472, i16 16399, i16 16387, i16 -16384, i16 16472, i16 16399, i16 16388, i16 -16384, i16 16472, i16 16399, i16 16389, i16 -16384, i16 16472, i16 16399, i16 16390, i16 -16384, i16 17291, i16 16398, i16 16387, i16 -16384, i16 17291, i16 16398, i16 16388, i16 -16384, i16 17291, i16 16398, i16 16389, i16 -16384, i16 17291, i16 16398, i16 16390, i16 -16384, i16 17291, i16 17931, i16 16387, i16 -16384, i16 17291, i16 17931, i16 16388, i16 -16384, i16 17291, i16 17274, i16 16387, i16 -16384, i16 17291, i16 17274, i16 16388, i16 -16384, i16 17935, i16 16398, i16 16387, i16 -16384, i16 17935, i16 16398, i16 16388, i16 -16384, i16 17935, i16 16398, i16 16389, i16 -16384, i16 17935, i16 16398, i16 16390, i16 -16384, i16 17935, i16 17930, i16 16387, i16 -16384, i16 17935, i16 17930, i16 16388, i16 -16384, i16 17935, i16 17277, i16 16387, i16 -16384, i16 17935, i16 17277, i16 16388, i16 -16384, i16 17935, i16 17277, i16 16389, i16 -16384, i16 17935, i16 17277, i16 16390, i16 -16384, i16 18156, i16 18054, i16 18159, i16 -16384, i16 18156, i16 18054, i16 18162, i16 -16384, i16 18165, i16 18168, i16 18159, i16 -16384, i16 18165, i16 18168, i16 18162, i16 -16384, i16 18165, i16 18171, i16 18159, i16 -16384, i16 18165, i16 18171, i16 18162, i16 -16384, i16 18174, i16 18054, i16 18159, i16 -16384, i16 18174, i16 18054, i16 18162, i16 -16384, i16 18177, i16 18182, i16 18187, i16 -16384, i16 17958, i16 17281, i16 16393, i16 -16384, i16 17958, i16 17281, i16 17273, i16 -16384, i16 17959, i16 17281, i16 16393, i16 -16384, i16 17959, i16 17281, i16 17273, i16 -16384, i16 17960, i16 17281, i16 16393, i16 -16384, i16 17960, i16 17281, i16 17273, i16 -16384, i16 17961, i16 17281, i16 16393, i16 -16384, i16 17961, i16 17281, i16 17273, i16 -16384, i16 17962, i16 17281, i16 16393, i16 -16384, i16 17962, i16 17281, i16 17273, i16 -16384, i16 17963, i16 17280, i16 16393, i16 -16384, i16 17963, i16 17280, i16 17273, i16 -16384, i16 17964, i16 16407, i16 17273, i16 -16384, i16 17964, i16 16407, i16 17600, i16 -16384, i16 17964, i16 16407, i16 16393, i16 -16384, i16 17964, i16 16407, i16 17601, i16 -16384, i16 17965, i16 16407, i16 17273, i16 -16384, i16 17965, i16 16407, i16 17600, i16 -16384, i16 17965, i16 16407, i16 16393, i16 -16384, i16 17965, i16 16407, i16 17601, i16 -16384, i16 17966, i16 16407, i16 17273, i16 -16384, i16 17966, i16 16407, i16 17600, i16 -16384, i16 17966, i16 16407, i16 16393, i16 -16384, i16 17966, i16 16407, i16 17601, i16 -16384, i16 17967, i16 16407, i16 17273, i16 -16384, i16 17967, i16 16407, i16 17600, i16 -16384, i16 17967, i16 16407, i16 16393, i16 -16384, i16 17967, i16 16407, i16 17601, i16 -16384, i16 17968, i16 16407, i16 17273, i16 -16384, i16 17968, i16 16407, i16 17600, i16 -16384, i16 17968, i16 16407, i16 16393, i16 -16384, i16 17968, i16 16407, i16 17601, i16 -16384, i16 17969, i16 16407, i16 17273, i16 -16384, i16 17969, i16 16407, i16 17600, i16 -16384, i16 17969, i16 16407, i16 16393, i16 -16384, i16 17969, i16 16407, i16 17601, i16 -16384, i16 17970, i16 16407, i16 17273, i16 -16384, i16 17970, i16 16407, i16 17600, i16 -16384, i16 17970, i16 16407, i16 16393, i16 -16384, i16 17970, i16 16407, i16 17601, i16 -16384, i16 17971, i16 16407, i16 17273, i16 -16384, i16 17971, i16 16407, i16 17600, i16 -16384, i16 17971, i16 16407, i16 16393, i16 -16384, i16 17971, i16 16407, i16 17601, i16 -16384, i16 18000, i16 16407, i16 17273, i16 -16384, i16 18000, i16 16407, i16 17600, i16 -16384, i16 18001, i16 16407, i16 17273, i16 -16384, i16 18001, i16 16407, i16 17600, i16 -16384, i16 18000, i16 16407, i16 16393, i16 -16384, i16 18000, i16 16407, i16 17601, i16 -16384, i16 18001, i16 16407, i16 16393, i16 -16384, i16 18001, i16 16407, i16 17601, i16 -16384, i16 18192, i16 18078, i16 18015, i16 -16384, i16 18192, i16 18195, i16 18015, i16 -16384, i16 18198, i16 18078, i16 18015, i16 -16384, i16 17299, i16 17300, i16 17273, i16 -16384, i16 17299, i16 17301, i16 17273, i16 -16384, i16 17299, i16 17335, i16 17273, i16 -16384, i16 17305, i16 17306, i16 17273, i16 -16384, i16 17305, i16 17307, i16 17273, i16 -16384, i16 17305, i16 17333, i16 17273, i16 -16384, i16 18192, i16 18078, i16 18021, i16 -16384, i16 18192, i16 18195, i16 18021, i16 -16384, i16 18198, i16 18078, i16 18021, i16 -16384, i16 17299, i16 17300, i16 16393, i16 -16384, i16 17299, i16 17301, i16 16393, i16 -16384, i16 17299, i16 17335, i16 16393, i16 -16384, i16 17305, i16 17306, i16 16393, i16 -16384, i16 17305, i16 17307, i16 16393, i16 -16384, i16 17305, i16 17333, i16 16393, i16 -16384, i16 17295, i16 17297, i16 17273, i16 -16384, i16 17310, i16 17321, i16 17273, i16 -16384, i16 18201, i16 18078, i16 18015, i16 -16384, i16 18204, i16 18078, i16 18015, i16 -16384, i16 17323, i16 17324, i16 17273, i16 -16384, i16 17328, i16 17322, i16 17273, i16 -16384, i16 17295, i16 17297, i16 16393, i16 -16384, i16 17308, i16 17309, i16 16393, i16 -16384, i16 17310, i16 17321, i16 16393, i16 -16384, i16 18201, i16 18078, i16 18021, i16 -16384, i16 18204, i16 18078, i16 18021, i16 -16384, i16 17323, i16 17324, i16 16393, i16 -16384, i16 17328, i16 17322, i16 16393, i16 -16384, i16 18006, i16 16404, i16 17273, i16 -16384, i16 18006, i16 16404, i16 16393, i16 -16384, i16 32766, i16 16382, i16 32766, i16 -16386, i16 32766, i16 16382, i16 32766, i16 -32768, i16 16384, i16 0, i16 16384, i16 -16386, i16 32766, i16 2, i16 16385, i16 -32768, i16 17065, i16 2, i16 18080, i16 -32768, i16 17065, i16 2, i16 32766, i16 -32768, i16 17065, i16 5, i16 16385, i16 -32768, i16 17065, i16 5, i16 18080, i16 -32768, i16 17065, i16 6, i16 16385, i16 -32768, i16 17065, i16 6, i16 18080, i16 -32768, i16 17065, i16 7, i16 16385, i16 -32768, i16 17065, i16 7, i16 18080, i16 -32768, i16 17065, i16 8, i16 16385, i16 -32768, i16 17065, i16 8, i16 18080, i16 -32768, i16 17065, i16 9, i16 16385, i16 -32768, i16 17065, i16 9, i16 18080, i16 -32768, i16 17065, i16 11, i16 16385, i16 -32768, i16 17065, i16 11, i16 18080, i16 -32768, i16 17065, i16 12, i16 16385, i16 -32768, i16 17065, i16 12, i16 18080, i16 -32768, i16 17065, i16 13, i16 16385, i16 -32768, i16 17065, i16 13, i16 18080, i16 -32768, i16 17065, i16 15, i16 16385, i16 -32768, i16 17065, i16 15, i16 18080, i16 -32768, i16 17065, i16 16, i16 16385, i16 -32768, i16 17065, i16 16, i16 18080, i16 -32768, i16 17065, i16 17, i16 16385, i16 -32768, i16 17065, i16 17, i16 18080, i16 -32768, i16 17065, i16 18, i16 16385, i16 -32768, i16 17065, i16 18, i16 18080, i16 -32768, i16 17065, i16 19, i16 16385, i16 -32768, i16 17065, i16 19, i16 18080, i16 -32768, i16 17065, i16 20, i16 16385, i16 -32768, i16 17065, i16 20, i16 18080, i16 -32768, i16 17065, i16 21, i16 16385, i16 -32768, i16 17065, i16 21, i16 18080, i16 -32768, i16 17065, i16 22, i16 16385, i16 -32768, i16 17065, i16 22, i16 18080, i16 -32768, i16 17065, i16 27, i16 16385, i16 -32768, i16 17065, i16 27, i16 18080, i16 -32768, i16 17065, i16 29, i16 16385, i16 -32768, i16 17065, i16 29, i16 18080, i16 -32768, i16 17065, i16 34, i16 16385, i16 -32768, i16 17065, i16 34, i16 18080, i16 -32768, i16 17065, i16 35, i16 16385, i16 -32768, i16 17065, i16 35, i16 18080, i16 -32768, i16 17065, i16 40, i16 16385, i16 -32768, i16 17065, i16 40, i16 18080, i16 -32768, i16 17065, i16 55, i16 16385, i16 -32768, i16 17065, i16 55, i16 18080, i16 -32768, i16 17113, i16 2, i16 18080, i16 -32768, i16 17113, i16 39, i16 16385, i16 -32768, i16 17113, i16 39, i16 18080, i16 -32768, i16 17113, i16 40, i16 16385, i16 -32768, i16 17113, i16 40, i16 18080, i16 -32768, i16 17113, i16 58, i16 16385, i16 -32768, i16 17113, i16 58, i16 18080, i16 -32768, i16 17122, i16 2, i16 18080, i16 -32768, i16 17122, i16 16, i16 16385, i16 -32768, i16 17122, i16 16, i16 18080, i16 -32768, i16 17122, i16 34, i16 16385, i16 -32768, i16 17122, i16 34, i16 18080, i16 -32768, i16 17122, i16 39, i16 16385, i16 -32768, i16 17122, i16 39, i16 18080, i16 -32768, i16 17122, i16 45, i16 16385, i16 -32768, i16 17122, i16 45, i16 18080, i16 -32768, i16 17133, i16 2, i16 18080, i16 -32768, i16 17133, i16 22, i16 16385, i16 -32768, i16 17133, i16 22, i16 18080, i16 -32768, i16 17133, i16 39, i16 16385, i16 -32768, i16 17133, i16 39, i16 18080, i16 -32768, i16 17133, i16 40, i16 16385, i16 -32768, i16 17133, i16 40, i16 18080, i16 -32768, i16 17133, i16 44, i16 16385, i16 -32768, i16 17133, i16 44, i16 18080, i16 -32768, i16 17133, i16 57, i16 16385, i16 -32768, i16 17133, i16 57, i16 18080, i16 -32768, i16 17133, i16 58, i16 16385, i16 -32768, i16 17133, i16 58, i16 18080, i16 -32768, i16 17148, i16 2, i16 18080, i16 -32768, i16 17148, i16 5, i16 16385, i16 -32768, i16 17148, i16 5, i16 18080, i16 -32768, i16 17148, i16 6, i16 16385, i16 -32768, i16 17148, i16 6, i16 18080, i16 -32768, i16 17148, i16 7, i16 16385, i16 -32768, i16 17148, i16 7, i16 18080, i16 -32768, i16 17148, i16 15, i16 16385, i16 -32768, i16 17148, i16 15, i16 18080, i16 -32768, i16 17148, i16 16, i16 16385, i16 -32768, i16 17148, i16 16, i16 18080, i16 -32768, i16 17148, i16 17, i16 16385, i16 -32768, i16 17148, i16 17, i16 18080, i16 -32768, i16 17148, i16 18, i16 16385, i16 -32768, i16 17148, i16 18, i16 18080, i16 -32768, i16 17148, i16 19, i16 16385, i16 -32768, i16 17148, i16 19, i16 18080, i16 -32768, i16 17148, i16 20, i16 16385, i16 -32768, i16 17148, i16 20, i16 18080, i16 -32768, i16 17148, i16 21, i16 16385, i16 -32768, i16 17148, i16 21, i16 18080, i16 -32768, i16 17148, i16 22, i16 16385, i16 -32768, i16 17148, i16 22, i16 18080, i16 -32768, i16 17148, i16 28, i16 16385, i16 -32768, i16 17148, i16 28, i16 18080, i16 -32768, i16 17148, i16 34, i16 16385, i16 -32768, i16 17148, i16 34, i16 18080, i16 -32768, i16 17148, i16 35, i16 16385, i16 -32768, i16 17148, i16 35, i16 18080, i16 -32768, i16 17148, i16 38, i16 16385, i16 -32768, i16 17148, i16 38, i16 18080, i16 -32768, i16 17148, i16 39, i16 16385, i16 -32768, i16 17148, i16 39, i16 18080, i16 -32768, i16 17148, i16 40, i16 16385, i16 -32768, i16 17148, i16 40, i16 18080, i16 -32768, i16 17148, i16 47, i16 16385, i16 -32768, i16 17148, i16 47, i16 18080, i16 -32768, i16 17148, i16 51, i16 16385, i16 -32768, i16 17148, i16 51, i16 18080, i16 -32768, i16 17148, i16 52, i16 16385, i16 -32768, i16 17148, i16 52, i16 18080, i16 -32768, i16 17148, i16 57, i16 16385, i16 -32768, i16 17148, i16 57, i16 18080, i16 -32768, i16 17193, i16 2, i16 18080, i16 -32768, i16 17193, i16 34, i16 16385, i16 -32768, i16 17193, i16 34, i16 18080, i16 -32768, i16 17193, i16 39, i16 16385, i16 -32768, i16 17193, i16 39, i16 18080, i16 -32768, i16 18531, i16 2150, i16 18537, i16 -32768, i16 18540, i16 2150, i16 18543, i16 -32768, i16 18546, i16 2150, i16 18549, i16 -32768, i16 18552, i16 2172, i16 18560, i16 -32768, i16 18564, i16 2172, i16 18568, i16 -32768, i16 17205, i16 2, i16 18080, i16 -32768, i16 17205, i16 3, i16 16385, i16 -32768, i16 17205, i16 3, i16 18080, i16 -32768, i16 17205, i16 16, i16 16385, i16 -32768, i16 17205, i16 16, i16 18080, i16 -32768, i16 17205, i16 22, i16 16385, i16 -32768, i16 17205, i16 22, i16 18080, i16 -32768, i16 17205, i16 39, i16 16385, i16 -32768, i16 17205, i16 39, i16 18080, i16 -32768, i16 17205, i16 42, i16 16385, i16 -32768, i16 17205, i16 42, i16 18080, i16 -32768, i16 17205, i16 50, i16 16385, i16 -32768, i16 17205, i16 50, i16 18080, i16 -32768, i16 17220, i16 2, i16 18080, i16 -32768, i16 17220, i16 14, i16 16385, i16 -32768, i16 17220, i16 14, i16 18080, i16 -32768, i16 17220, i16 16, i16 16385, i16 -32768, i16 17220, i16 16, i16 18080, i16 -32768, i16 17220, i16 28, i16 16385, i16 -32768, i16 17220, i16 28, i16 18080, i16 -32768, i16 17220, i16 39, i16 16385, i16 -32768, i16 17220, i16 39, i16 18080, i16 -32768, i16 17220, i16 40, i16 16385, i16 -32768, i16 17220, i16 40, i16 18080, i16 -32768, i16 17220, i16 42, i16 16385, i16 -32768, i16 17220, i16 42, i16 18080, i16 -32768, i16 17220, i16 44, i16 16385, i16 -32768, i16 17220, i16 44, i16 18080, i16 -32768, i16 18178, i16 2, i16 18080, i16 -32768, i16 18178, i16 5, i16 16385, i16 -32768, i16 18178, i16 5, i16 18080, i16 -32768, i16 18178, i16 6, i16 16385, i16 -32768, i16 18178, i16 6, i16 18080, i16 -32768, i16 18178, i16 7, i16 16385, i16 -32768, i16 18178, i16 7, i16 18080, i16 -32768, i16 18178, i16 15, i16 16385, i16 -32768, i16 18178, i16 15, i16 18080, i16 -32768, i16 18178, i16 16, i16 16385, i16 -32768, i16 18178, i16 16, i16 18080, i16 -32768, i16 18178, i16 22, i16 16385, i16 -32768, i16 18178, i16 22, i16 18080, i16 -32768, i16 18178, i16 28, i16 16385, i16 -32768, i16 18178, i16 28, i16 18080, i16 -32768, i16 18178, i16 30, i16 16385, i16 -32768, i16 18178, i16 30, i16 18080, i16 -32768, i16 18178, i16 34, i16 16385, i16 -32768, i16 18178, i16 34, i16 18080, i16 -32768, i16 18178, i16 35, i16 16385, i16 -32768, i16 18178, i16 35, i16 18080, i16 -32768, i16 18178, i16 38, i16 16385, i16 -32768, i16 18178, i16 38, i16 18080, i16 -32768, i16 18178, i16 40, i16 16385, i16 -32768, i16 18178, i16 40, i16 18080, i16 -32768, i16 18178, i16 48, i16 16385, i16 -32768, i16 18178, i16 48, i16 18080, i16 -32768, i16 18572, i16 2191, i16 18578, i16 -32768, i16 18572, i16 2191, i16 18581, i16 -32768, i16 17267, i16 2, i16 18080, i16 -32768, i16 17267, i16 16, i16 16385, i16 -32768, i16 17267, i16 16, i16 18080, i16 -32768, i16 17272, i16 2, i16 18080, i16 -32768, i16 17272, i16 3, i16 16385, i16 -32768, i16 17272, i16 3, i16 18080, i16 -32768, i16 17272, i16 22, i16 16385, i16 -32768, i16 17272, i16 22, i16 18080, i16 -32768, i16 17272, i16 34, i16 16385, i16 -32768, i16 17272, i16 34, i16 18080, i16 -32768, i16 17272, i16 40, i16 16385, i16 -32768, i16 17272, i16 40, i16 18080, i16 -32768, i16 17272, i16 58, i16 16385, i16 -32768, i16 17272, i16 58, i16 18080, i16 -32768, i16 17285, i16 2, i16 18080, i16 -32768, i16 17285, i16 3, i16 16385, i16 -32768, i16 17285, i16 3, i16 18080, i16 -32768, i16 17285, i16 22, i16 16385, i16 -32768, i16 17285, i16 22, i16 18080, i16 -32768, i16 17285, i16 39, i16 16385, i16 -32768, i16 17285, i16 39, i16 18080, i16 -32768, i16 17285, i16 40, i16 16385, i16 -32768, i16 17285, i16 40, i16 18080, i16 -32768, i16 17285, i16 56, i16 16385, i16 -32768, i16 17285, i16 56, i16 18080, i16 -32768, i16 17285, i16 57, i16 16385, i16 -32768, i16 17285, i16 57, i16 18080, i16 -32768, i16 17285, i16 58, i16 16385, i16 -32768, i16 17285, i16 58, i16 18080, i16 -32768, i16 17302, i16 2, i16 18080, i16 -32768, i16 17302, i16 3, i16 16385, i16 -32768, i16 17302, i16 3, i16 18080, i16 -32768, i16 17302, i16 39, i16 16385, i16 -32768, i16 17302, i16 39, i16 18080, i16 -32768, i16 17302, i16 40, i16 16385, i16 -32768, i16 17302, i16 40, i16 18080, i16 -32768, i16 17311, i16 2, i16 18080, i16 -32768, i16 17311, i16 22, i16 16385, i16 -32768, i16 17311, i16 22, i16 18080, i16 -32768, i16 17311, i16 39, i16 16385, i16 -32768, i16 17311, i16 39, i16 18080, i16 -32768, i16 17311, i16 40, i16 16385, i16 -32768, i16 17311, i16 40, i16 18080, i16 -32768, i16 17311, i16 57, i16 16385, i16 -32768, i16 17311, i16 57, i16 18080, i16 -32768, i16 17311, i16 58, i16 16385, i16 -32768, i16 17311, i16 58, i16 18080, i16 -32768, i16 17311, i16 65, i16 18080, i16 -32768, i16 17325, i16 2, i16 18080, i16 -32768, i16 17325, i16 2, i16 32766, i16 -32768, i16 17325, i16 5, i16 16385, i16 -32768, i16 17325, i16 5, i16 18080, i16 -32768, i16 17325, i16 6, i16 16385, i16 -32768, i16 17325, i16 6, i16 18080, i16 -32768, i16 17325, i16 7, i16 16385, i16 -32768, i16 17325, i16 7, i16 18080, i16 -32768, i16 17325, i16 15, i16 16385, i16 -32768, i16 17325, i16 15, i16 18080, i16 -32768, i16 17325, i16 16, i16 16385, i16 -32768, i16 17325, i16 16, i16 18080, i16 -32768, i16 17325, i16 17, i16 16385, i16 -32768, i16 17325, i16 17, i16 18080, i16 -32768, i16 17325, i16 18, i16 16385, i16 -32768, i16 17325, i16 18, i16 18080, i16 -32768, i16 17325, i16 19, i16 16385, i16 -32768, i16 17325, i16 19, i16 18080, i16 -32768, i16 17325, i16 20, i16 16385, i16 -32768, i16 17325, i16 20, i16 18080, i16 -32768, i16 17325, i16 21, i16 16385, i16 -32768, i16 17325, i16 21, i16 18080, i16 -32768, i16 17325, i16 22, i16 16385, i16 -32768, i16 17325, i16 22, i16 18080, i16 -32768, i16 17325, i16 34, i16 16385, i16 -32768, i16 17325, i16 34, i16 18080, i16 -32768, i16 17325, i16 36, i16 16385, i16 -32768, i16 17325, i16 36, i16 18080, i16 -32768, i16 17325, i16 37, i16 16385, i16 -32768, i16 17325, i16 37, i16 18080, i16 -32768, i16 17325, i16 40, i16 16385, i16 -32768, i16 17325, i16 40, i16 18080, i16 -32768, i16 17325, i16 48, i16 16385, i16 -32768, i16 17325, i16 48, i16 18080, i16 -32768, i16 17325, i16 49, i16 16385, i16 -32768, i16 17325, i16 49, i16 18080, i16 -32768, i16 17325, i16 51, i16 16385, i16 -32768, i16 17325, i16 51, i16 18080, i16 -32768, i16 17325, i16 52, i16 16385, i16 -32768, i16 17325, i16 52, i16 18080, i16 -32768, i16 17325, i16 59, i16 16385, i16 -32768, i16 17325, i16 59, i16 18080, i16 -32768, i16 17325, i16 60, i16 16385, i16 -32768, i16 17325, i16 60, i16 18080, i16 -32768, i16 17325, i16 61, i16 16385, i16 -32768, i16 17325, i16 61, i16 18080, i16 -32768, i16 17325, i16 62, i16 16385, i16 -32768, i16 17325, i16 62, i16 18080, i16 -32768, i16 17325, i16 63, i16 16385, i16 -32768, i16 17325, i16 63, i16 18080, i16 -32768, i16 17325, i16 64, i16 16385, i16 -32768, i16 17325, i16 64, i16 18080, i16 -32768, i16 17379, i16 2, i16 18080, i16 -32768, i16 17379, i16 3, i16 16385, i16 -32768, i16 17379, i16 3, i16 18080, i16 -32768, i16 17379, i16 39, i16 16385, i16 -32768, i16 17379, i16 39, i16 18080, i16 -32768, i16 17386, i16 2, i16 18080, i16 -32768, i16 17389, i16 2, i16 18080, i16 -32768, i16 17389, i16 3, i16 16385, i16 -32768, i16 17389, i16 3, i16 18080, i16 -32768, i16 17389, i16 6, i16 16385, i16 -32768, i16 17389, i16 6, i16 18080, i16 -32768, i16 17389, i16 15, i16 16385, i16 -32768, i16 17389, i16 15, i16 18080, i16 -32768, i16 17389, i16 22, i16 16385, i16 -32768, i16 17389, i16 22, i16 18080, i16 -32768, i16 17389, i16 39, i16 16385, i16 -32768, i16 17389, i16 39, i16 18080, i16 -32768, i16 17389, i16 40, i16 16385, i16 -32768, i16 17389, i16 40, i16 18080, i16 -32768, i16 17389, i16 56, i16 16385, i16 -32768, i16 17389, i16 56, i16 18080, i16 -32768, i16 17389, i16 58, i16 16385, i16 -32768, i16 17389, i16 58, i16 18080, i16 -32768, i16 17408, i16 2, i16 18080, i16 -32768, i16 18584, i16 2150, i16 18587, i16 -32768, i16 17408, i16 4, i16 16385, i16 -32768, i16 17408, i16 4, i16 18080, i16 -32768, i16 17408, i16 16, i16 16385, i16 -32768, i16 17408, i16 16, i16 18080, i16 -32768, i16 17408, i16 24, i16 16385, i16 -32768, i16 17408, i16 24, i16 18080, i16 -32768, i16 17408, i16 39, i16 16385, i16 -32768, i16 17408, i16 39, i16 18080, i16 -32768, i16 17408, i16 40, i16 16385, i16 -32768, i16 17408, i16 40, i16 18080, i16 -32768, i16 17408, i16 41, i16 16385, i16 -32768, i16 17408, i16 41, i16 18080, i16 -32768, i16 17408, i16 16382, i16 18080, i16 -32768, i16 18590, i16 2150, i16 18593, i16 -32768, i16 18584, i16 2150, i16 18596, i16 -32768, i16 17427, i16 2, i16 18080, i16 -32768, i16 17427, i16 22, i16 16385, i16 -32768, i16 17427, i16 22, i16 18080, i16 -32768, i16 17427, i16 39, i16 16385, i16 -32768, i16 17427, i16 39, i16 18080, i16 -32768, i16 17427, i16 40, i16 16385, i16 -32768, i16 17427, i16 40, i16 18080, i16 -32768, i16 17427, i16 42, i16 16385, i16 -32768, i16 17427, i16 42, i16 18080, i16 -32768, i16 17427, i16 44, i16 16385, i16 -32768, i16 17427, i16 44, i16 18080, i16 -32768, i16 17427, i16 57, i16 16385, i16 -32768, i16 17427, i16 57, i16 18080, i16 -32768, i16 17427, i16 58, i16 16385, i16 -32768, i16 17427, i16 58, i16 18080, i16 -32768, i16 17444, i16 2, i16 18080, i16 -32768, i16 17444, i16 5, i16 16385, i16 -32768, i16 17444, i16 5, i16 18080, i16 -32768, i16 17444, i16 6, i16 16385, i16 -32768, i16 17444, i16 6, i16 18080, i16 -32768, i16 17444, i16 7, i16 16385, i16 -32768, i16 17444, i16 7, i16 18080, i16 -32768, i16 17444, i16 15, i16 16385, i16 -32768, i16 17444, i16 15, i16 18080, i16 -32768, i16 17444, i16 16, i16 16385, i16 -32768, i16 17444, i16 16, i16 18080, i16 -32768, i16 17444, i16 22, i16 16385, i16 -32768, i16 17444, i16 22, i16 18080, i16 -32768, i16 17444, i16 25, i16 16385, i16 -32768, i16 17444, i16 25, i16 18080, i16 -32768, i16 17444, i16 29, i16 16385, i16 -32768, i16 17444, i16 29, i16 18080, i16 -32768, i16 17444, i16 30, i16 16385, i16 -32768, i16 17444, i16 30, i16 18080, i16 -32768, i16 17444, i16 31, i16 16385, i16 -32768, i16 17444, i16 31, i16 18080, i16 -32768, i16 17444, i16 32, i16 16385, i16 -32768, i16 17444, i16 32, i16 18080, i16 -32768, i16 17444, i16 34, i16 16385, i16 -32768, i16 17444, i16 34, i16 18080, i16 -32768, i16 17444, i16 35, i16 16385, i16 -32768, i16 17444, i16 35, i16 18080, i16 -32768, i16 17444, i16 36, i16 16385, i16 -32768, i16 17444, i16 36, i16 18080, i16 -32768, i16 17444, i16 38, i16 16385, i16 -32768, i16 17444, i16 38, i16 18080, i16 -32768, i16 17444, i16 40, i16 16385, i16 -32768, i16 17444, i16 40, i16 18080, i16 -32768, i16 17444, i16 48, i16 16385, i16 -32768, i16 17444, i16 48, i16 18080, i16 -32768, i16 17444, i16 53, i16 16385, i16 -32768, i16 17444, i16 53, i16 18080, i16 -32768, i16 17444, i16 54, i16 16385, i16 -32768, i16 17444, i16 54, i16 18080, i16 -32768, i16 17444, i16 57, i16 16385, i16 -32768, i16 17444, i16 57, i16 18080, i16 -32768, i16 17444, i16 59, i16 16385, i16 -32768, i16 17444, i16 59, i16 18080, i16 -32768, i16 17444, i16 60, i16 16385, i16 -32768, i16 17444, i16 60, i16 18080, i16 -32768, i16 17444, i16 61, i16 16385, i16 -32768, i16 17444, i16 61, i16 18080, i16 -32768, i16 17444, i16 62, i16 16385, i16 -32768, i16 17444, i16 62, i16 18080, i16 -32768, i16 17444, i16 63, i16 16385, i16 -32768, i16 17444, i16 63, i16 18080, i16 -32768, i16 17444, i16 64, i16 16385, i16 -32768, i16 17444, i16 64, i16 18080, i16 -32768, i16 17501, i16 2, i16 18080, i16 -32768, i16 17501, i16 28, i16 16385, i16 -32768, i16 17501, i16 28, i16 18080, i16 -32768, i16 17501, i16 39, i16 16385, i16 -32768, i16 17501, i16 39, i16 18080, i16 -32768, i16 18254, i16 5, i16 16385, i16 -32768, i16 18254, i16 5, i16 18080, i16 -32768, i16 18254, i16 16, i16 16385, i16 -32768, i16 18254, i16 16, i16 18080, i16 -32768, i16 18254, i16 28, i16 16385, i16 -32768, i16 18254, i16 28, i16 18080, i16 -32768, i16 18254, i16 34, i16 16385, i16 -32768, i16 18254, i16 34, i16 18080, i16 -32768, i16 18254, i16 35, i16 16385, i16 -32768, i16 18254, i16 35, i16 18080, i16 -32768, i16 18254, i16 39, i16 16385, i16 -32768, i16 18254, i16 39, i16 18080, i16 -32768, i16 18254, i16 40, i16 16385, i16 -32768, i16 18254, i16 40, i16 18080, i16 -32768, i16 18259, i16 16, i16 16385, i16 -32768, i16 18259, i16 16, i16 18080, i16 -32768, i16 18259, i16 40, i16 16385, i16 -32768, i16 18259, i16 40, i16 18080, i16 -32768, i16 18259, i16 42, i16 16385, i16 -32768, i16 18259, i16 42, i16 18080, i16 -32768, i16 18259, i16 58, i16 16385, i16 -32768, i16 18259, i16 58, i16 18080, i16 -32768, i16 32766, i16 1, i16 16450, i16 -32768, i16 17531, i16 1, i16 16451, i16 -32768, i16 17531, i16 1696, i16 16450, i16 -32768, i16 17531, i16 1696, i16 16451, i16 -32768, i16 17535, i16 1696, i16 16450, i16 -32768, i16 17537, i16 1696, i16 16450, i16 -32768, i16 17539, i16 1696, i16 16450, i16 -32768, i16 17541, i16 1, i16 16451, i16 -32768, i16 17541, i16 1696, i16 16450, i16 -32768, i16 17541, i16 1696, i16 16451, i16 -32768, i16 17545, i16 1696, i16 16450, i16 -32768, i16 17547, i16 1, i16 16451, i16 -32768, i16 17547, i16 1696, i16 16450, i16 -32768, i16 17547, i16 1696, i16 16451, i16 -32768, i16 17551, i16 1696, i16 16450, i16 -32768, i16 17553, i16 1, i16 16451, i16 -32768, i16 17553, i16 1, i16 16452, i16 -32768, i16 17553, i16 1696, i16 16450, i16 -32768, i16 17553, i16 1696, i16 16451, i16 -32768, i16 17553, i16 1696, i16 16452, i16 -32768, i16 17553, i16 1696, i16 16453, i16 -32768, i16 17560, i16 1696, i16 16450, i16 -32768, i16 17562, i16 1696, i16 16450, i16 -32768, i16 17564, i16 1696, i16 16450, i16 -32768, i16 17566, i16 1696, i16 16450, i16 -32768, i16 17568, i16 1696, i16 16450, i16 -32768, i16 17570, i16 1, i16 16451, i16 -32768, i16 17570, i16 1696, i16 16450, i16 -32768, i16 17570, i16 1696, i16 16451, i16 -32768, i16 17574, i16 1696, i16 16450, i16 -32768, i16 17576, i16 1696, i16 16450, i16 -32768, i16 17578, i16 1696, i16 16450, i16 -32768, i16 17578, i16 1696, i16 32766, i16 -32768, i16 17581, i16 1696, i16 16450, i16 -32768, i16 17583, i16 1, i16 16451, i16 -32768, i16 17583, i16 1, i16 16452, i16 -32768, i16 17583, i16 1696, i16 16450, i16 -32768, i16 17583, i16 1696, i16 16451, i16 -32768, i16 17583, i16 1696, i16 16452, i16 -32768, i16 17583, i16 1696, i16 16453, i16 -32768, i16 17590, i16 1696, i16 16450, i16 -32768, i16 17592, i16 1696, i16 16450, i16 -32768, i16 17594, i16 1696, i16 16450, i16 -32768, i16 17596, i16 1, i16 16451, i16 -32768, i16 17596, i16 1696, i16 16450, i16 -32768, i16 17596, i16 1696, i16 16451, i16 -32768, i16 32766, i16 70, i16 16385, i16 -32768, i16 17600, i16 70, i16 18080, i16 -32768, i16 17602, i16 70, i16 18080, i16 -32768, i16 17604, i16 70, i16 18080, i16 -32768, i16 17606, i16 70, i16 18080, i16 -32768, i16 17608, i16 70, i16 18080, i16 -32768, i16 17610, i16 70, i16 18080, i16 -32768, i16 17612, i16 70, i16 18080, i16 -32768, i16 17614, i16 70, i16 18080, i16 -32768, i16 17616, i16 70, i16 18080, i16 -32768, i16 17618, i16 70, i16 18080, i16 -32768, i16 17620, i16 70, i16 18080, i16 -32768, i16 17622, i16 70, i16 18080, i16 -32768, i16 17624, i16 70, i16 18080, i16 -32768, i16 17626, i16 70, i16 18080, i16 -32768, i16 17628, i16 70, i16 18080, i16 -32768, i16 17630, i16 70, i16 18080, i16 -32768, i16 17632, i16 70, i16 18080, i16 -32768, i16 17634, i16 70, i16 18080, i16 -32768, i16 17636, i16 70, i16 18080, i16 -32768, i16 17638, i16 70, i16 18080, i16 -32768, i16 17640, i16 70, i16 18080, i16 -32768, i16 17642, i16 70, i16 18080, i16 -32768, i16 17644, i16 70, i16 18080, i16 -32768, i16 17646, i16 70, i16 18080, i16 -32768, i16 17648, i16 70, i16 18080, i16 -32768, i16 17650, i16 70, i16 18080, i16 -32768, i16 17652, i16 70, i16 18080, i16 -32768, i16 17654, i16 70, i16 18080, i16 -32768, i16 17656, i16 70, i16 18080, i16 -32768, i16 17658, i16 70, i16 18080, i16 -32768, i16 17660, i16 70, i16 18080, i16 -32768, i16 17662, i16 70, i16 18080, i16 -32768, i16 17664, i16 70, i16 18080, i16 -32768, i16 17666, i16 70, i16 18080, i16 -32768, i16 17668, i16 70, i16 18080, i16 -32768, i16 17670, i16 70, i16 18080, i16 -32768, i16 17672, i16 70, i16 18080, i16 -32768, i16 17674, i16 70, i16 18080, i16 -32768, i16 17676, i16 70, i16 18080, i16 -32768, i16 17678, i16 70, i16 18080, i16 -32768, i16 17680, i16 70, i16 18080, i16 -32768, i16 32766, i16 70, i16 18080, i16 -32768, i16 17682, i16 70, i16 16385, i16 -32768, i16 17684, i16 70, i16 18080, i16 -32768, i16 17686, i16 70, i16 16385, i16 -32768, i16 17688, i16 70, i16 18080, i16 -32768, i16 17690, i16 70, i16 18080, i16 -32768, i16 17692, i16 70, i16 18080, i16 -32768, i16 17694, i16 70, i16 18080, i16 -32768, i16 17696, i16 70, i16 18080, i16 -32768, i16 17698, i16 70, i16 18080, i16 -32768, i16 17700, i16 70, i16 18080, i16 -32768, i16 17702, i16 70, i16 18080, i16 -32768, i16 32766, i16 0, i16 16384, i16 -32768, i16 32766, i16 16382, i16 16384, i16 -32768, i16 17736, i16 16382, i16 16384, i16 -32768, i16 17735, i16 16382, i16 16384, i16 -32768, i16 17745, i16 16382, i16 16384, i16 -32768, i16 17749, i16 16382, i16 16384, i16 -32768, i16 17756, i16 16382, i16 16384, i16 -32768, i16 17764, i16 16382, i16 16384, i16 -32768, i16 17769, i16 16382, i16 16384, i16 -32768, i16 17774, i16 16382, i16 16384, i16 -32768, i16 17779, i16 16382, i16 16384, i16 -32768, i16 17784, i16 16382, i16 16384, i16 -32768, i16 17787, i16 16382, i16 16384, i16 -32768, i16 17790, i16 16382, i16 16384, i16 -32768, i16 17793, i16 16382, i16 16384, i16 -32768, i16 17796, i16 16382, i16 16384, i16 -32768, i16 17801, i16 16382, i16 16384, i16 -32768, i16 17806, i16 16382, i16 16384, i16 -32768, i16 17811, i16 16382, i16 16384, i16 -32768, i16 17816, i16 16382, i16 16384, i16 -32768, i16 17821, i16 16382, i16 16384, i16 -32768, i16 17826, i16 16382, i16 16384, i16 -32768, i16 17831, i16 16382, i16 16384, i16 -32768, i16 17836, i16 16382, i16 16384, i16 -32768, i16 17841, i16 16382, i16 16384, i16 -32768, i16 17846, i16 16382, i16 16384, i16 -32768, i16 17851, i16 16382, i16 16384, i16 -32768, i16 17856, i16 16382, i16 16384, i16 -32768, i16 17861, i16 16382, i16 16384, i16 -32768, i16 17866, i16 16382, i16 16384, i16 -32768, i16 17871, i16 16382, i16 16384, i16 -32768, i16 17874, i16 16382, i16 16384, i16 -32768, i16 17877, i16 16382, i16 16384, i16 -32768, i16 16384, i16 0, i16 32766, i16 -32768, i16 18115, i16 16382, i16 16384, i16 -32768, i16 18124, i16 16382, i16 16384, i16 -32768, i16 18125, i16 16382, i16 16384, i16 -32768, i16 18126, i16 16382, i16 16384, i16 -32768, i16 18127, i16 16382, i16 16384, i16 -32768, i16 18128, i16 16382, i16 16384, i16 -32768, i16 18129, i16 16382, i16 16384, i16 -32768, i16 18130, i16 16382, i16 16384, i16 -32768, i16 18131, i16 16382, i16 16384, i16 -32768, i16 18132, i16 16382, i16 16384, i16 -32768, i16 18599, i16 2218, i16 18605, i16 -32768, i16 18599, i16 2224, i16 18611, i16 -32768, i16 18614, i16 2233, i16 18620, i16 -32768, i16 18614, i16 2239, i16 18626, i16 -32768, i16 18629, i16 2248, i16 18635, i16 -32768, i16 18629, i16 2254, i16 18641, i16 -32768, i16 18644, i16 2263, i16 18650, i16 -32768, i16 18644, i16 2269, i16 18656, i16 -32768, i16 17909, i16 16382, i16 16384, i16 -32768, i16 17913, i16 16382, i16 16384, i16 -32768, i16 17917, i16 16382, i16 16384, i16 -32768, i16 17922, i16 16382, i16 16384, i16 -32768, i16 17926, i16 16382, i16 16384, i16 -32768, i16 17930, i16 16382, i16 16384, i16 -32768, i16 17935, i16 16382, i16 16384, i16 -32768, i16 17939, i16 16382, i16 16384, i16 -32768, i16 17943, i16 16382, i16 16384, i16 -32768, i16 17948, i16 16382, i16 16384, i16 -32768, i16 17952, i16 16382, i16 16384, i16 -32768, i16 17956, i16 16382, i16 16384, i16 -32768, i16 17960, i16 16382, i16 16384, i16 -32768, i16 17964, i16 16382, i16 16384, i16 -32768, i16 17968, i16 16382, i16 16384, i16 -32768, i16 17972, i16 16382, i16 16384, i16 -32768, i16 17976, i16 16382, i16 16384, i16 -32768, i16 17980, i16 16382, i16 16384, i16 -32768, i16 17986, i16 16382, i16 16384, i16 -32768, i16 17990, i16 16382, i16 16384, i16 -32768, i16 17994, i16 16382, i16 16384, i16 -32768, i16 17996, i16 16382, i16 16384, i16 -32768, i16 17998, i16 16382, i16 16384, i16 -32768, i16 18000, i16 16382, i16 16384, i16 -32768, i16 18002, i16 16382, i16 16384, i16 -32768, i16 18004, i16 16382, i16 16384, i16 -32768, i16 18010, i16 16382, i16 16384, i16 -32768, i16 18016, i16 16382, i16 16384, i16 -32768, i16 18022, i16 16382, i16 16384, i16 -32768, i16 18028, i16 16382, i16 16384, i16 -32768, i16 18034, i16 16382, i16 16384, i16 -32768, i16 18036, i16 16382, i16 16384, i16 -32768, i16 18038, i16 16382, i16 16384, i16 -32768, i16 18040, i16 16382, i16 16384, i16 -32768, i16 18042, i16 16382, i16 16384, i16 -32768, i16 18044, i16 16382, i16 16384, i16 -32768, i16 18048, i16 16382, i16 16384, i16 -32768, i16 18052, i16 16382, i16 16384, i16 -32768, i16 18056, i16 16382, i16 16384, i16 -32768, i16 18058, i16 16382, i16 16384, i16 -32768, i16 18060, i16 16382, i16 16384, i16 -32768, i16 18062, i16 16382, i16 16384, i16 -32768, i16 18064, i16 16382, i16 16384, i16 -32768, i16 18066, i16 16382, i16 16384, i16 -32768, i16 18070, i16 16382, i16 16384, i16 -32768, i16 18072, i16 16382, i16 16384, i16 -32768, i16 18074, i16 16382, i16 16384, i16 -32768, i16 18076, i16 16382, i16 16384, i16 -32768, i16 17065, i16 3, i16 16385, i16 -32768, i16 17065, i16 3, i16 18080, i16 -32768, i16 17065, i16 25, i16 16385, i16 -32768, i16 17065, i16 25, i16 18080, i16 -32768, i16 17065, i16 26, i16 16385, i16 -32768, i16 17065, i16 26, i16 18080, i16 -32768, i16 17065, i16 28, i16 16385, i16 -32768, i16 17065, i16 28, i16 18080, i16 -32768, i16 17065, i16 48, i16 16385, i16 -32768, i16 17065, i16 48, i16 18080, i16 -32768, i16 17065, i16 50, i16 16385, i16 -32768, i16 17065, i16 50, i16 18080, i16 -32768, i16 18659, i16 2278, i16 18578, i16 -32768, i16 18659, i16 2278, i16 18581, i16 -32768, i16 18659, i16 2281, i16 18578, i16 -32768, i16 18659, i16 2281, i16 18581, i16 -32768, i16 18659, i16 2284, i16 18578, i16 -32768, i16 18659, i16 2284, i16 18581, i16 -32768, i16 17122, i16 3, i16 16385, i16 -32768, i16 17122, i16 3, i16 18080, i16 -32768, i16 17122, i16 22, i16 16385, i16 -32768, i16 17122, i16 22, i16 18080, i16 -32768, i16 18164, i16 2, i16 18080, i16 -32768, i16 17133, i16 42, i16 16385, i16 -32768, i16 17133, i16 42, i16 18080, i16 -32768, i16 17148, i16 3, i16 16385, i16 -32768, i16 17148, i16 3, i16 18080, i16 -32768, i16 17148, i16 48, i16 16385, i16 -32768, i16 17148, i16 48, i16 18080, i16 -32768, i16 17148, i16 50, i16 16385, i16 -32768, i16 17148, i16 50, i16 18080, i16 -32768, i16 17205, i16 44, i16 16385, i16 -32768, i16 17205, i16 44, i16 18080, i16 -32768, i16 18176, i16 2, i16 18080, i16 -32768, i16 18179, i16 2, i16 16385, i16 -32768, i16 32766, i16 2, i16 18080, i16 -32768, i16 18178, i16 2, i16 16385, i16 -32768, i16 18178, i16 3, i16 16385, i16 -32768, i16 18178, i16 3, i16 18080, i16 -32768, i16 18178, i16 50, i16 16385, i16 -32768, i16 18178, i16 50, i16 18080, i16 -32768, i16 17272, i16 44, i16 16385, i16 -32768, i16 17272, i16 44, i16 18080, i16 -32768, i16 17285, i16 42, i16 16385, i16 -32768, i16 17285, i16 42, i16 18080, i16 -32768, i16 17285, i16 44, i16 16385, i16 -32768, i16 17285, i16 44, i16 18080, i16 -32768, i16 17311, i16 3, i16 16385, i16 -32768, i16 17311, i16 3, i16 18080, i16 -32768, i16 17311, i16 35, i16 16385, i16 -32768, i16 17311, i16 35, i16 18080, i16 -32768, i16 17311, i16 44, i16 16385, i16 -32768, i16 17311, i16 44, i16 18080, i16 -32768, i16 18671, i16 2290, i16 18578, i16 -32768, i16 18671, i16 2290, i16 18581, i16 -32768, i16 17325, i16 3, i16 16385, i16 -32768, i16 17325, i16 3, i16 18080, i16 -32768, i16 17325, i16 33, i16 16385, i16 -32768, i16 17325, i16 33, i16 18080, i16 -32768, i16 17325, i16 35, i16 16385, i16 -32768, i16 17325, i16 35, i16 18080, i16 -32768, i16 17325, i16 42, i16 16385, i16 -32768, i16 17325, i16 42, i16 18080, i16 -32768, i16 17325, i16 43, i16 16385, i16 -32768, i16 17325, i16 43, i16 18080, i16 -32768, i16 17325, i16 50, i16 16385, i16 -32768, i16 17325, i16 50, i16 18080, i16 -32768, i16 18212, i16 2, i16 18080, i16 -32768, i16 18677, i16 2296, i16 18578, i16 -32768, i16 18677, i16 2296, i16 18581, i16 -32768, i16 17389, i16 44, i16 16385, i16 -32768, i16 17389, i16 44, i16 18080, i16 -32768, i16 17408, i16 3, i16 16385, i16 -32768, i16 17408, i16 3, i16 18080, i16 -32768, i16 17408, i16 22, i16 16385, i16 -32768, i16 17408, i16 22, i16 18080, i16 -32768, i16 18222, i16 2, i16 18080, i16 -32768, i16 18683, i16 2302, i16 18578, i16 -32768, i16 18683, i16 2302, i16 18581, i16 -32768, i16 17444, i16 3, i16 16385, i16 -32768, i16 17444, i16 3, i16 18080, i16 -32768, i16 17444, i16 33, i16 16385, i16 -32768, i16 17444, i16 33, i16 18080, i16 -32768, i16 17444, i16 50, i16 16385, i16 -32768, i16 17444, i16 50, i16 18080, i16 -32768, i16 18232, i16 2, i16 18080, i16 -32768, i16 18234, i16 2, i16 18080, i16 -32768, i16 18234, i16 35, i16 16385, i16 -32768, i16 18234, i16 35, i16 18080, i16 -32768, i16 18234, i16 40, i16 16385, i16 -32768, i16 18234, i16 40, i16 18080, i16 -32768, i16 18240, i16 2, i16 18080, i16 -32768, i16 18240, i16 3, i16 16385, i16 -32768, i16 18240, i16 3, i16 18080, i16 -32768, i16 18240, i16 5, i16 16385, i16 -32768, i16 18240, i16 5, i16 18080, i16 -32768, i16 18240, i16 16, i16 16385, i16 -32768, i16 18240, i16 16, i16 18080, i16 -32768, i16 18240, i16 28, i16 16385, i16 -32768, i16 18240, i16 28, i16 18080, i16 -32768, i16 18240, i16 39, i16 16385, i16 -32768, i16 18240, i16 39, i16 18080, i16 -32768, i16 18240, i16 40, i16 16385, i16 -32768, i16 18240, i16 40, i16 18080, i16 -32768, i16 18254, i16 2, i16 18080, i16 -32768, i16 18254, i16 3, i16 16385, i16 -32768, i16 18254, i16 3, i16 18080, i16 -32768, i16 18259, i16 2, i16 18080, i16 -32768, i16 18259, i16 3, i16 16385, i16 -32768, i16 18259, i16 3, i16 18080, i16 -32768, i16 18259, i16 22, i16 16385, i16 -32768, i16 18259, i16 22, i16 18080, i16 -32768, i16 18259, i16 39, i16 16385, i16 -32768, i16 18259, i16 39, i16 18080, i16 -32768, i16 17272, i16 16382, i16 18080, i16 -32768, i16 17122, i16 44, i16 16385, i16 -32768, i16 17122, i16 44, i16 18080, i16 -32768, i16 17205, i16 7, i16 16385, i16 -32768, i16 17205, i16 7, i16 18080, i16 -32768, i16 18178, i16 39, i16 16385, i16 -32768, i16 18178, i16 39, i16 18080, i16 -32768, i16 17408, i16 44, i16 16385, i16 -32768, i16 17408, i16 44, i16 18080, i16 -32768, i16 32766, i16 16382, i16 16386, i16 -32767, i16 18234, i16 1850, i16 16386, i16 -31072, i16 18234, i16 1850, i16 16419, i16 -32767, i16 18234, i16 1850, i16 16419, i16 -31072, i16 18234, i16 1850, i16 16424, i16 -32767, i16 18234, i16 1850, i16 16424, i16 -31072, i16 18240, i16 1856, i16 16386, i16 -31072, i16 18240, i16 1856, i16 16387, i16 -32767, i16 18240, i16 1856, i16 16387, i16 -31072, i16 18240, i16 1856, i16 16389, i16 -32767, i16 18240, i16 1856, i16 16389, i16 -31072, i16 18240, i16 1856, i16 16400, i16 -32767, i16 18240, i16 1856, i16 16400, i16 -31072, i16 18240, i16 1856, i16 16412, i16 -32767, i16 18240, i16 1856, i16 16412, i16 -31072, i16 18240, i16 1856, i16 16423, i16 -32767, i16 18240, i16 1856, i16 16423, i16 -31072, i16 18240, i16 1856, i16 16424, i16 -32767, i16 18240, i16 1856, i16 16424, i16 -31072, i16 18254, i16 73, i16 16385, i16 -32768, i16 18254, i16 73, i16 18080, i16 -32768, i16 18144, i16 2, i16 18080, i16 -32768, i16 18144, i16 3, i16 16385, i16 -32768, i16 18144, i16 3, i16 18080, i16 -32768, i16 18148, i16 2, i16 18080, i16 -32768, i16 18148, i16 16382, i16 16385, i16 -32768, i16 18148, i16 1770, i16 18080, i16 -32768, i16 18148, i16 1772, i16 18080, i16 -32768, i16 18148, i16 1774, i16 18080, i16 -32768, i16 18212, i16 16382, i16 16385, i16 -32768, i16 18212, i16 1822, i16 18080, i16 -32768, i16 18212, i16 1824, i16 18080, i16 -32768, i16 18212, i16 35, i16 16385, i16 -32768, i16 18212, i16 35, i16 18080, i16 -32768, i16 18163, i16 2, i16 16385, i16 -32768, i16 17325, i16 28, i16 16385, i16 -32768, i16 17325, i16 28, i16 18080, i16 -32768, i16 18221, i16 2, i16 16385, i16 -32768, i16 17444, i16 28, i16 16385, i16 -32768, i16 17444, i16 28, i16 18080, i16 -32768, i16 18264, i16 2, i16 16385, i16 -32768, i16 18150, i16 2, i16 18080, i16 -32768, i16 18160, i16 2, i16 18080, i16 -32768, i16 18170, i16 2, i16 18080, i16 -32768, i16 18188, i16 2, i16 18080, i16 -32768, i16 18192, i16 2, i16 18080, i16 -32768, i16 18200, i16 2, i16 18080, i16 -32768, i16 18218, i16 2, i16 18080, i16 -32768, i16 18261, i16 2, i16 18080, i16 -32768, i16 18265, i16 2, i16 18080, i16 -32768, i16 18254, i16 16382, i16 16385, i16 -32768, i16 18254, i16 1848, i16 18080, i16 -32768, i16 18254, i16 1844, i16 18080, i16 -32768, i16 18154, i16 2, i16 18080, i16 -32768, i16 18154, i16 3, i16 16385, i16 -32768, i16 18154, i16 3, i16 18080, i16 -32768, i16 18154, i16 50, i16 16385, i16 -32768, i16 18154, i16 50, i16 18080, i16 -32768, i16 18154, i16 73, i16 16385, i16 -32768, i16 18154, i16 73, i16 18080, i16 -32768, i16 18206, i16 2, i16 18080, i16 -32768, i16 18206, i16 3, i16 16385, i16 -32768, i16 18206, i16 3, i16 18080, i16 -32768, i16 18206, i16 28, i16 16385, i16 -32768, i16 18206, i16 28, i16 18080, i16 -32768, i16 18206, i16 33, i16 16385, i16 -32768, i16 18206, i16 33, i16 18080, i16 -32768, i16 18144, i16 16382, i16 16385, i16 -32768, i16 18144, i16 1883, i16 18078, i16 -32768, i16 18144, i16 1883, i16 18079, i16 -32768, i16 18144, i16 1883, i16 18080, i16 -32768, i16 18144, i16 1762, i16 18080, i16 -32768, i16 18152, i16 2, i16 18080, i16 -32768, i16 18162, i16 2, i16 18080, i16 -32768, i16 18172, i16 2, i16 18080, i16 -32768, i16 18174, i16 2, i16 18080, i16 -32768, i16 18183, i16 2, i16 18080, i16 -32768, i16 18185, i16 2, i16 18080, i16 -32768, i16 18190, i16 2, i16 18080, i16 -32768, i16 18196, i16 2, i16 18080, i16 -32768, i16 18210, i16 2, i16 18080, i16 -32768, i16 18216, i16 2, i16 18080, i16 -32768, i16 18220, i16 2, i16 18080, i16 -32768, i16 18230, i16 2, i16 18080, i16 -32768, i16 18263, i16 2, i16 18080, i16 -32768, i16 18081, i16 16382, i16 16384, i16 -32768, i16 17133, i16 16382, i16 16385, i16 -32768, i16 17133, i16 1887, i16 18080, i16 -32768, i16 17386, i16 73, i16 18080, i16 -32768, i16 18143, i16 2, i16 16385, i16 -32768, i16 18272, i16 2, i16 16385, i16 -32768, i16 18169, i16 2, i16 16385, i16 -32768, i16 17205, i16 8, i16 16385, i16 -32768, i16 17205, i16 8, i16 18080, i16 -32768, i16 18182, i16 2, i16 16385, i16 -32768, i16 17311, i16 16382, i16 16385, i16 -32768, i16 17311, i16 1814, i16 18080, i16 -32768, i16 18201, i16 2, i16 16385, i16 -32768, i16 18227, i16 2, i16 16385, i16 -32768, i16 18257, i16 2, i16 16385, i16 -32768, i16 18225, i16 2, i16 16385, i16 -32768, i16 18155, i16 2, i16 16385, i16 -32768, i16 18155, i16 73, i16 18080, i16 -32768, i16 18155, i16 73, i16 16385, i16 -32768, i16 18213, i16 2, i16 16385, i16 -32768, i16 18213, i16 73, i16 18080, i16 -32768, i16 18213, i16 73, i16 16385, i16 -32768, i16 16384, i16 0, i16 16400, i16 -32768, i16 16384, i16 0, i16 16434, i16 -32768, i16 16384, i16 0, i16 16389, i16 -32768, i16 18311, i16 2, i16 18078, i16 -32768, i16 18311, i16 2, i16 18079, i16 -32768, i16 18311, i16 2, i16 18080, i16 -32768, i16 18166, i16 2, i16 18080, i16 -32768, i16 18315, i16 2, i16 18078, i16 -32768, i16 18315, i16 2, i16 18079, i16 -32768, i16 18315, i16 2, i16 18080, i16 -32768, i16 18319, i16 2, i16 18078, i16 -32768, i16 18319, i16 2, i16 18079, i16 -32768, i16 18319, i16 2, i16 18080, i16 -32768, i16 18194, i16 2, i16 18080, i16 -32768, i16 32766, i16 22, i16 16385, i16 -16386, i16 18220, i16 22, i16 18080, i16 -16386, i16 32766, i16 2, i16 16385, i16 -16386, i16 18259, i16 2, i16 18080, i16 -16386, i16 18259, i16 3, i16 16385, i16 -16386, i16 18259, i16 3, i16 18080, i16 -16386, i16 18259, i16 39, i16 16385, i16 -16386, i16 18259, i16 39, i16 18080, i16 -16386, i16 18259, i16 22, i16 16385, i16 -16386, i16 18259, i16 22, i16 18080, i16 -16386, i16 18234, i16 16382, i16 16386, i16 -32767, i16 18234, i16 1856, i16 16386, i16 -31072, i16 18234, i16 1856, i16 16387, i16 -32767, i16 18234, i16 1856, i16 16387, i16 -31072, i16 18234, i16 1856, i16 16389, i16 -32767, i16 18234, i16 1856, i16 16389, i16 -31072, i16 18234, i16 1856, i16 16400, i16 -32767, i16 18234, i16 1856, i16 16400, i16 -31072, i16 18234, i16 1856, i16 16434, i16 -32767, i16 18234, i16 1856, i16 16434, i16 -31072, i16 18234, i16 1856, i16 16423, i16 -32767, i16 18234, i16 1856, i16 16423, i16 -31072, i16 18234, i16 1856, i16 16412, i16 -32767, i16 18234, i16 1856, i16 16412, i16 -31072, i16 32766, i16 35, i16 16385, i16 -16386, i16 18204, i16 35, i16 18080, i16 -16386, i16 32766, i16 28, i16 16385, i16 -16386, i16 18148, i16 28, i16 18080, i16 -16386, i16 18212, i16 28, i16 18080, i16 -16386, i16 18232, i16 28, i16 18080, i16 -16386, i16 18323, i16 2, i16 18078, i16 -32768, i16 18323, i16 2, i16 18079, i16 -32768, i16 18323, i16 2, i16 18080, i16 -32768, i16 18327, i16 2, i16 18078, i16 -32768, i16 18327, i16 2, i16 18079, i16 -32768, i16 18327, i16 2, i16 18080, i16 -32768, i16 32766, i16 32766, i16 32766, i16 32766, i16 16384, i16 16384, i16 16384, i16 32766, i16 32766, i16 16389, i16 16385, i16 32766, i16 16470, i16 16389, i16 16388, i16 16470, i16 16470, i16 16389, i16 32766, i16 16470, i16 16470, i16 16392, i16 16385, i16 16470, i16 16470, i16 16392, i16 16388, i16 16470, i16 16470, i16 16393, i16 16385, i16 16470, i16 16470, i16 16393, i16 16388, i16 16470, i16 16470, i16 16405, i16 16385, i16 16470, i16 16470, i16 16405, i16 16388, i16 16470, i16 16470, i16 16397, i16 16385, i16 16470, i16 16470, i16 16397, i16 16388, i16 16470, i16 16470, i16 16408, i16 16385, i16 16470, i16 16470, i16 16408, i16 16388, i16 16470, i16 16470, i16 16409, i16 16385, i16 16470, i16 16470, i16 16409, i16 16388, i16 16470, i16 16470, i16 16411, i16 16385, i16 16470, i16 16470, i16 16411, i16 16388, i16 16470, i16 16470, i16 16410, i16 16385, i16 16470, i16 16470, i16 16410, i16 16388, i16 16470, i16 16470, i16 16435, i16 16385, i16 16470, i16 16470, i16 16435, i16 16388, i16 16470, i16 16470, i16 16398, i16 16385, i16 16470, i16 16470, i16 16398, i16 16388, i16 16470, i16 16470, i16 16394, i16 16385, i16 16470, i16 16470, i16 16394, i16 16388, i16 16470, i16 16470, i16 16412, i16 16385, i16 16470, i16 16470, i16 16412, i16 16388, i16 16470, i16 16470, i16 16413, i16 16385, i16 16470, i16 16470, i16 16413, i16 16388, i16 16470, i16 16470, i16 16415, i16 16385, i16 16470, i16 16470, i16 16415, i16 16388, i16 16470, i16 16470, i16 16414, i16 16385, i16 16470, i16 16470, i16 16414, i16 16388, i16 16470, i16 16470, i16 16436, i16 16385, i16 16470, i16 16470, i16 16436, i16 16388, i16 16470, i16 16470, i16 16395, i16 16385, i16 16470, i16 16470, i16 16395, i16 16388, i16 16470, i16 16470, i16 16399, i16 16385, i16 16470, i16 16470, i16 16399, i16 16388, i16 16470, i16 16470, i16 16417, i16 16385, i16 16470, i16 16470, i16 16417, i16 16388, i16 16470, i16 16470, i16 16450, i16 16385, i16 16470, i16 16470, i16 16450, i16 16388, i16 16470, i16 16470, i16 16402, i16 16385, i16 16470, i16 16470, i16 16402, i16 16388, i16 16470, i16 16470, i16 16426, i16 16385, i16 16470, i16 16470, i16 16426, i16 16388, i16 16470, i16 16470, i16 16400, i16 16385, i16 16470, i16 16470, i16 16400, i16 16388, i16 16470, i16 16470, i16 16396, i16 16385, i16 16470, i16 16470, i16 16396, i16 16388, i16 16470, i16 16470, i16 16444, i16 16385, i16 16470, i16 16470, i16 16444, i16 16388, i16 16470, i16 16470, i16 16449, i16 16385, i16 16470, i16 16470, i16 16449, i16 16388, i16 16470, i16 16470, i16 16391, i16 16385, i16 16470, i16 16470, i16 16391, i16 16388, i16 16470, i16 16470, i16 16418, i16 16385, i16 16470, i16 16470, i16 16418, i16 16388, i16 16470, i16 18628, i16 18631, i16 18517, i16 18628, i16 18628, i16 18631, i16 18425, i16 18628, i16 18628, i16 18634, i16 18517, i16 18628, i16 18628, i16 18634, i16 18425, i16 18628, i16 18628, i16 18637, i16 18517, i16 18628, i16 18628, i16 18637, i16 18425, i16 18628, i16 16536, i16 16389, i16 16388, i16 16536, i16 16536, i16 16390, i16 16385, i16 16536, i16 16536, i16 16390, i16 16388, i16 16536, i16 16536, i16 16444, i16 16385, i16 16536, i16 16536, i16 16444, i16 16388, i16 16536, i16 16536, i16 16445, i16 16385, i16 16536, i16 16536, i16 16445, i16 16388, i16 16536, i16 16545, i16 16389, i16 16388, i16 16545, i16 16545, i16 16392, i16 16385, i16 16545, i16 16545, i16 16392, i16 16388, i16 16545, i16 16545, i16 16394, i16 16385, i16 16545, i16 16545, i16 16394, i16 16388, i16 16545, i16 16545, i16 16400, i16 16385, i16 16545, i16 16545, i16 16400, i16 16388, i16 16545, i16 16545, i16 16390, i16 16385, i16 16545, i16 16545, i16 16390, i16 16388, i16 16545, i16 16545, i16 16448, i16 16385, i16 16545, i16 16545, i16 16448, i16 16388, i16 16545, i16 16545, i16 16437, i16 16385, i16 16545, i16 16545, i16 16437, i16 16388, i16 16545, i16 32766, i16 16395, i16 16385, i16 32766, i16 16559, i16 16395, i16 16388, i16 16559, i16 16562, i16 16389, i16 16388, i16 16562, i16 16562, i16 16395, i16 16385, i16 16562, i16 16562, i16 16395, i16 16388, i16 16562, i16 16562, i16 16390, i16 16385, i16 16562, i16 16562, i16 16390, i16 16388, i16 16562, i16 16562, i16 16444, i16 16385, i16 16562, i16 16562, i16 16444, i16 16388, i16 16562, i16 16562, i16 16452, i16 16385, i16 16562, i16 16562, i16 16452, i16 16388, i16 16562, i16 16562, i16 16448, i16 16385, i16 16562, i16 16562, i16 16448, i16 16388, i16 16562, i16 16562, i16 16421, i16 16385, i16 16562, i16 16562, i16 16421, i16 16388, i16 16562, i16 16562, i16 16445, i16 16385, i16 16562, i16 16562, i16 16445, i16 16388, i16 16562, i16 16579, i16 16389, i16 16388, i16 16579, i16 16579, i16 16392, i16 16385, i16 16579, i16 16579, i16 16392, i16 16388, i16 16579, i16 16579, i16 16393, i16 16385, i16 16579, i16 16579, i16 16393, i16 16388, i16 16579, i16 16579, i16 16405, i16 16385, i16 16579, i16 16579, i16 16405, i16 16388, i16 16579, i16 16579, i16 16397, i16 16385, i16 16579, i16 16579, i16 16397, i16 16388, i16 16579, i16 16579, i16 16398, i16 16385, i16 16579, i16 16579, i16 16398, i16 16388, i16 16579, i16 16579, i16 16394, i16 16385, i16 16579, i16 16579, i16 16394, i16 16388, i16 16579, i16 16579, i16 16412, i16 16385, i16 16579, i16 16579, i16 16412, i16 16388, i16 16579, i16 16579, i16 16413, i16 16385, i16 16579, i16 16579, i16 16413, i16 16388, i16 16579, i16 16579, i16 16415, i16 16385, i16 16579, i16 16579, i16 16415, i16 16388, i16 16579, i16 16579, i16 16414, i16 16385, i16 16579, i16 16579, i16 16414, i16 16388, i16 16579, i16 16579, i16 16436, i16 16385, i16 16579, i16 16579, i16 16436, i16 16388, i16 16579, i16 16579, i16 16395, i16 16385, i16 16579, i16 16579, i16 16395, i16 16388, i16 16579, i16 16579, i16 16402, i16 16385, i16 16579, i16 16579, i16 16402, i16 16388, i16 16579, i16 16579, i16 16400, i16 16385, i16 16579, i16 16579, i16 16400, i16 16388, i16 16579, i16 16579, i16 16396, i16 16385, i16 16579, i16 16579, i16 16396, i16 16388, i16 16579, i16 16579, i16 16446, i16 16385, i16 16579, i16 16579, i16 16446, i16 16388, i16 16579, i16 16579, i16 16390, i16 16385, i16 16579, i16 16579, i16 16390, i16 16388, i16 16579, i16 16579, i16 16444, i16 16385, i16 16579, i16 16579, i16 16444, i16 16388, i16 16579, i16 16579, i16 16439, i16 16385, i16 16579, i16 16579, i16 16439, i16 16388, i16 16579, i16 16579, i16 16449, i16 16385, i16 16579, i16 16579, i16 16449, i16 16388, i16 16579, i16 16579, i16 16391, i16 16385, i16 16579, i16 16579, i16 16391, i16 16388, i16 16579, i16 16579, i16 16419, i16 16385, i16 16579, i16 16579, i16 16419, i16 16388, i16 16579, i16 16579, i16 16420, i16 16385, i16 16579, i16 16579, i16 16420, i16 16388, i16 16579, i16 16579, i16 16421, i16 16385, i16 16579, i16 16579, i16 16421, i16 16388, i16 16579, i16 16630, i16 16389, i16 16388, i16 16630, i16 16630, i16 16400, i16 16385, i16 16630, i16 16630, i16 16400, i16 16388, i16 16630, i16 16630, i16 16390, i16 16385, i16 16630, i16 16630, i16 16390, i16 16388, i16 16630, i16 18640, i16 18643, i16 18646, i16 18640, i16 18649, i16 18643, i16 18652, i16 18649, i16 18655, i16 18643, i16 18658, i16 18655, i16 18661, i16 18665, i16 18669, i16 18661, i16 18673, i16 18665, i16 18677, i16 18673, i16 16642, i16 16389, i16 16388, i16 16642, i16 16642, i16 16392, i16 16385, i16 16642, i16 16642, i16 16392, i16 16388, i16 16642, i16 16642, i16 16397, i16 16385, i16 16642, i16 16642, i16 16397, i16 16388, i16 16642, i16 16642, i16 16394, i16 16385, i16 16642, i16 16642, i16 16394, i16 16388, i16 16642, i16 16642, i16 16395, i16 16385, i16 16642, i16 16642, i16 16395, i16 16388, i16 16642, i16 16642, i16 16390, i16 16385, i16 16642, i16 16642, i16 16390, i16 16388, i16 16642, i16 16642, i16 16452, i16 16385, i16 16642, i16 16642, i16 16452, i16 16388, i16 16642, i16 16642, i16 16448, i16 16385, i16 16642, i16 16642, i16 16448, i16 16388, i16 16642, i16 16642, i16 16391, i16 16385, i16 16642, i16 16642, i16 16391, i16 16388, i16 16642, i16 16661, i16 16389, i16 16388, i16 16661, i16 16661, i16 16447, i16 16385, i16 16661, i16 16661, i16 16447, i16 16388, i16 16661, i16 16661, i16 16394, i16 16385, i16 16661, i16 16661, i16 16394, i16 16388, i16 16661, i16 16661, i16 16402, i16 16385, i16 16661, i16 16661, i16 16402, i16 16388, i16 16661, i16 16661, i16 16390, i16 16385, i16 16661, i16 16661, i16 16390, i16 16388, i16 16661, i16 16661, i16 16444, i16 16385, i16 16661, i16 16661, i16 16444, i16 16388, i16 16661, i16 16661, i16 16452, i16 16385, i16 16661, i16 16661, i16 16452, i16 16388, i16 16661, i16 16661, i16 16448, i16 16385, i16 16661, i16 16661, i16 16448, i16 16388, i16 16661, i16 16678, i16 16389, i16 16386, i16 16678, i16 16678, i16 16389, i16 16388, i16 16678, i16 16681, i16 16389, i16 16388, i16 16681, i16 16681, i16 16392, i16 16385, i16 16681, i16 16681, i16 16392, i16 16388, i16 16681, i16 16681, i16 16393, i16 16385, i16 16681, i16 16681, i16 16393, i16 16388, i16 16681, i16 16681, i16 16405, i16 16385, i16 16681, i16 16681, i16 16405, i16 16388, i16 16681, i16 16681, i16 16397, i16 16385, i16 16681, i16 16681, i16 16397, i16 16388, i16 16681, i16 16681, i16 16398, i16 16385, i16 16681, i16 16681, i16 16398, i16 16388, i16 16681, i16 16681, i16 16394, i16 16385, i16 16681, i16 16681, i16 16394, i16 16388, i16 16681, i16 16681, i16 16395, i16 16385, i16 16681, i16 16681, i16 16395, i16 16388, i16 16681, i16 16681, i16 16402, i16 16385, i16 16681, i16 16681, i16 16402, i16 16388, i16 16681, i16 16681, i16 16427, i16 16385, i16 16681, i16 16681, i16 16427, i16 16388, i16 16681, i16 16681, i16 16400, i16 16385, i16 16681, i16 16681, i16 16400, i16 16388, i16 16681, i16 16681, i16 16396, i16 16385, i16 16681, i16 16681, i16 16396, i16 16388, i16 16681, i16 16681, i16 16446, i16 16385, i16 16681, i16 16681, i16 16446, i16 16388, i16 16681, i16 16681, i16 16390, i16 16385, i16 16681, i16 16681, i16 16390, i16 16388, i16 16681, i16 16681, i16 16444, i16 16385, i16 16681, i16 16681, i16 16444, i16 16388, i16 16681, i16 16681, i16 16449, i16 16385, i16 16681, i16 16681, i16 16449, i16 16388, i16 16681, i16 16681, i16 16391, i16 16385, i16 16681, i16 16681, i16 16391, i16 16388, i16 16681, i16 18681, i16 18684, i16 18517, i16 18681, i16 18681, i16 18684, i16 18425, i16 18681, i16 16718, i16 16389, i16 16388, i16 16718, i16 16718, i16 16394, i16 16385, i16 16718, i16 16718, i16 16394, i16 16388, i16 16718, i16 16723, i16 16389, i16 16388, i16 16723, i16 16723, i16 16392, i16 16385, i16 16723, i16 16723, i16 16392, i16 16388, i16 16723, i16 16723, i16 16395, i16 16385, i16 16723, i16 16723, i16 16395, i16 16388, i16 16723, i16 16723, i16 16400, i16 16385, i16 16723, i16 16723, i16 16400, i16 16388, i16 16723, i16 16723, i16 16444, i16 16385, i16 16723, i16 16723, i16 16444, i16 16388, i16 16723, i16 16723, i16 16448, i16 16385, i16 16723, i16 16723, i16 16448, i16 16388, i16 16723, i16 16723, i16 16445, i16 16385, i16 16723, i16 16723, i16 16445, i16 16388, i16 16723, i16 16723, i16 32766, i16 16388, i16 16723, i16 16739, i16 16389, i16 16388, i16 16739, i16 16739, i16 16392, i16 16385, i16 16739, i16 16739, i16 16392, i16 16388, i16 16739, i16 16739, i16 16395, i16 16385, i16 16739, i16 16739, i16 16395, i16 16388, i16 16739, i16 16739, i16 16390, i16 16385, i16 16739, i16 16739, i16 16390, i16 16388, i16 16739, i16 16739, i16 16444, i16 16385, i16 16739, i16 16739, i16 16444, i16 16388, i16 16739, i16 16739, i16 16452, i16 16385, i16 16739, i16 16739, i16 16452, i16 16388, i16 16739, i16 16739, i16 16448, i16 16385, i16 16739, i16 16739, i16 16448, i16 16388, i16 16739, i16 16739, i16 16434, i16 16385, i16 16739, i16 16739, i16 16434, i16 16388, i16 16739, i16 16739, i16 16421, i16 16385, i16 16739, i16 16739, i16 16421, i16 16388, i16 16739, i16 16739, i16 16445, i16 16385, i16 16739, i16 16739, i16 16445, i16 16388, i16 16739, i16 16760, i16 16389, i16 16388, i16 16760, i16 16760, i16 16392, i16 16385, i16 16760, i16 16760, i16 16392, i16 16388, i16 16760, i16 16760, i16 16390, i16 16385, i16 16760, i16 16760, i16 16390, i16 16388, i16 16760, i16 16760, i16 16444, i16 16385, i16 16760, i16 16760, i16 16444, i16 16388, i16 16760, i16 16769, i16 16389, i16 16388, i16 16769, i16 16769, i16 16392, i16 16385, i16 16769, i16 16769, i16 16392, i16 16388, i16 16769, i16 16769, i16 16395, i16 16385, i16 16769, i16 16769, i16 16395, i16 16388, i16 16769, i16 16769, i16 16396, i16 16385, i16 16769, i16 16769, i16 16396, i16 16388, i16 16769, i16 16769, i16 16390, i16 16385, i16 16769, i16 16769, i16 16390, i16 16388, i16 16769, i16 16769, i16 16444, i16 16385, i16 16769, i16 16769, i16 16444, i16 16388, i16 16769, i16 16769, i16 16448, i16 16385, i16 16769, i16 16769, i16 16448, i16 16388, i16 16769, i16 16769, i16 16421, i16 16385, i16 16769, i16 16769, i16 16421, i16 16388, i16 16769, i16 16769, i16 16445, i16 16385, i16 16769, i16 16769, i16 16445, i16 16388, i16 16769, i16 16769, i16 16451, i16 16388, i16 16769, i16 18687, i16 18690, i16 18517, i16 18687, i16 18687, i16 18690, i16 18425, i16 18687, i16 16791, i16 16389, i16 16388, i16 16791, i16 16791, i16 16389, i16 32766, i16 16791, i16 16791, i16 16392, i16 16385, i16 16791, i16 16791, i16 16392, i16 16388, i16 16791, i16 16791, i16 16393, i16 16385, i16 16791, i16 16791, i16 16393, i16 16388, i16 16791, i16 16791, i16 16405, i16 16385, i16 16791, i16 16791, i16 16405, i16 16388, i16 16791, i16 16791, i16 16397, i16 16385, i16 16791, i16 16791, i16 16397, i16 16388, i16 16791, i16 16791, i16 16398, i16 16385, i16 16791, i16 16791, i16 16398, i16 16388, i16 16791, i16 16791, i16 16394, i16 16385, i16 16791, i16 16791, i16 16394, i16 16388, i16 16791, i16 16791, i16 16412, i16 16385, i16 16791, i16 16791, i16 16412, i16 16388, i16 16791, i16 16791, i16 16413, i16 16385, i16 16791, i16 16791, i16 16413, i16 16388, i16 16791, i16 16791, i16 16415, i16 16385, i16 16791, i16 16791, i16 16415, i16 16388, i16 16791, i16 16791, i16 16414, i16 16385, i16 16791, i16 16791, i16 16414, i16 16388, i16 16791, i16 16791, i16 16436, i16 16385, i16 16791, i16 16791, i16 16436, i16 16388, i16 16791, i16 16791, i16 16395, i16 16385, i16 16791, i16 16791, i16 16395, i16 16388, i16 16791, i16 16791, i16 16402, i16 16385, i16 16791, i16 16791, i16 16402, i16 16388, i16 16791, i16 16791, i16 16404, i16 16385, i16 16791, i16 16791, i16 16404, i16 16388, i16 16791, i16 16791, i16 16400, i16 16385, i16 16791, i16 16791, i16 16400, i16 16388, i16 16791, i16 16791, i16 16396, i16 16385, i16 16791, i16 16791, i16 16396, i16 16388, i16 16791, i16 16791, i16 16406, i16 16385, i16 16791, i16 16791, i16 16406, i16 16388, i16 16791, i16 16791, i16 16431, i16 16385, i16 16791, i16 16791, i16 16431, i16 16388, i16 16791, i16 16791, i16 16444, i16 16385, i16 16791, i16 16791, i16 16444, i16 16388, i16 16791, i16 16791, i16 16452, i16 16385, i16 16791, i16 16791, i16 16452, i16 16388, i16 16791, i16 16791, i16 16443, i16 16385, i16 16791, i16 16791, i16 16443, i16 16388, i16 16791, i16 16791, i16 16449, i16 16385, i16 16791, i16 16791, i16 16449, i16 16388, i16 16791, i16 16791, i16 16440, i16 16385, i16 16791, i16 16791, i16 16440, i16 16388, i16 16791, i16 16791, i16 16391, i16 16385, i16 16791, i16 16791, i16 16391, i16 16388, i16 16791, i16 16791, i16 16419, i16 16385, i16 16791, i16 16791, i16 16419, i16 16388, i16 16791, i16 16791, i16 16420, i16 16385, i16 16791, i16 16791, i16 16420, i16 16388, i16 16791, i16 16791, i16 16401, i16 16385, i16 16791, i16 16791, i16 16401, i16 16388, i16 16791, i16 16791, i16 16422, i16 16385, i16 16791, i16 16791, i16 16422, i16 16388, i16 16791, i16 16791, i16 16423, i16 16385, i16 16791, i16 16791, i16 16423, i16 16388, i16 16791, i16 16791, i16 16425, i16 16385, i16 16791, i16 16791, i16 16425, i16 16388, i16 16791, i16 16791, i16 16424, i16 16385, i16 16791, i16 16791, i16 16424, i16 16388, i16 16791, i16 16791, i16 16441, i16 16385, i16 16791, i16 16791, i16 16441, i16 16388, i16 16791, i16 18693, i16 18696, i16 18517, i16 18693, i16 18693, i16 18696, i16 18425, i16 18693, i16 16861, i16 16389, i16 16388, i16 16861, i16 16861, i16 16392, i16 16385, i16 16861, i16 16861, i16 16392, i16 16388, i16 16861, i16 16861, i16 16390, i16 16385, i16 16861, i16 16861, i16 16390, i16 16388, i16 16861, i16 16868, i16 16389, i16 16388, i16 16868, i16 16871, i16 16389, i16 16388, i16 16871, i16 16871, i16 16392, i16 16385, i16 16871, i16 16871, i16 16392, i16 16388, i16 16871, i16 16871, i16 16405, i16 16385, i16 16871, i16 16871, i16 16405, i16 16388, i16 16871, i16 16871, i16 16398, i16 16385, i16 16871, i16 16871, i16 16398, i16 16388, i16 16871, i16 16871, i16 16390, i16 16385, i16 16871, i16 16871, i16 16390, i16 16388, i16 16871, i16 16871, i16 16444, i16 16385, i16 16871, i16 16871, i16 16444, i16 16388, i16 16871, i16 16871, i16 16448, i16 16385, i16 16871, i16 16871, i16 16448, i16 16388, i16 16871, i16 16871, i16 16434, i16 16385, i16 16871, i16 16871, i16 16434, i16 16388, i16 16871, i16 16871, i16 16445, i16 16385, i16 16871, i16 16871, i16 16445, i16 16388, i16 16871, i16 16889, i16 16395, i16 16388, i16 16889, i16 16892, i16 16389, i16 16388, i16 16892, i16 18699, i16 18643, i16 18702, i16 18699, i16 16892, i16 16392, i16 16385, i16 16892, i16 16892, i16 16392, i16 16388, i16 16892, i16 16892, i16 16403, i16 16385, i16 16892, i16 16892, i16 16403, i16 16388, i16 16892, i16 16892, i16 16394, i16 16385, i16 16892, i16 16892, i16 16394, i16 16388, i16 16892, i16 16892, i16 16390, i16 16385, i16 16892, i16 16892, i16 16390, i16 16388, i16 16892, i16 16892, i16 16444, i16 16385, i16 16892, i16 16892, i16 16444, i16 16388, i16 16892, i16 16892, i16 16433, i16 16385, i16 16892, i16 16892, i16 16433, i16 16388, i16 16892, i16 16892, i16 16448, i16 16385, i16 16892, i16 16892, i16 16448, i16 16388, i16 16892, i16 16909, i16 16395, i16 16388, i16 16909, i16 16909, i16 16416, i16 16385, i16 16909, i16 16909, i16 16416, i16 16388, i16 16909, i16 16892, i16 32766, i16 16388, i16 16892, i16 18705, i16 18643, i16 18708, i16 18705, i16 18699, i16 18643, i16 18711, i16 16384, i16 16917, i16 16389, i16 16388, i16 16917, i16 16917, i16 16395, i16 16385, i16 16917, i16 16917, i16 16395, i16 16388, i16 16917, i16 16917, i16 16390, i16 16385, i16 16917, i16 16917, i16 16390, i16 16388, i16 16917, i16 16917, i16 16444, i16 16385, i16 16917, i16 16917, i16 16444, i16 16388, i16 16917, i16 16917, i16 16452, i16 16385, i16 16917, i16 16917, i16 16452, i16 16388, i16 16917, i16 16917, i16 16448, i16 16385, i16 16917, i16 16917, i16 16448, i16 16388, i16 16917, i16 16917, i16 16421, i16 16385, i16 16917, i16 16917, i16 16421, i16 16388, i16 16917, i16 16917, i16 16445, i16 16385, i16 16917, i16 16917, i16 16445, i16 16388, i16 16917, i16 18714, i16 18717, i16 18517, i16 18714, i16 18714, i16 18717, i16 18425, i16 18714, i16 16936, i16 16389, i16 16388, i16 16936, i16 16936, i16 16392, i16 16385, i16 16936, i16 16936, i16 16392, i16 16388, i16 16936, i16 16936, i16 16393, i16 16385, i16 16936, i16 16936, i16 16393, i16 16388, i16 16936, i16 16936, i16 16405, i16 16385, i16 16936, i16 16936, i16 16405, i16 16388, i16 16936, i16 16936, i16 16397, i16 16385, i16 16936, i16 16936, i16 16397, i16 16388, i16 16936, i16 16936, i16 16398, i16 16385, i16 16936, i16 16936, i16 16398, i16 16388, i16 16936, i16 16936, i16 16394, i16 16385, i16 16936, i16 16936, i16 16394, i16 16388, i16 16936, i16 16936, i16 16395, i16 16385, i16 16936, i16 16936, i16 16395, i16 16388, i16 16936, i16 16936, i16 16399, i16 16385, i16 16936, i16 16936, i16 16399, i16 16388, i16 16936, i16 16936, i16 16402, i16 16385, i16 16936, i16 16936, i16 16402, i16 16388, i16 16936, i16 16936, i16 16426, i16 16385, i16 16936, i16 16936, i16 16426, i16 16388, i16 16936, i16 16936, i16 16427, i16 16385, i16 16936, i16 16936, i16 16427, i16 16388, i16 16936, i16 16936, i16 16428, i16 16385, i16 16936, i16 16936, i16 16428, i16 16388, i16 16936, i16 16936, i16 16429, i16 16385, i16 16936, i16 16936, i16 16429, i16 16388, i16 16936, i16 16936, i16 16404, i16 16385, i16 16936, i16 16936, i16 16404, i16 16388, i16 16936, i16 16936, i16 16400, i16 16385, i16 16936, i16 16936, i16 16400, i16 16388, i16 16936, i16 16936, i16 16396, i16 16385, i16 16936, i16 16936, i16 16396, i16 16388, i16 16936, i16 16936, i16 16406, i16 16385, i16 16936, i16 16936, i16 16406, i16 16388, i16 16936, i16 16936, i16 16446, i16 16385, i16 16936, i16 16936, i16 16446, i16 16388, i16 16936, i16 16936, i16 16444, i16 16385, i16 16936, i16 16936, i16 16444, i16 16388, i16 16936, i16 16936, i16 16449, i16 16385, i16 16936, i16 16936, i16 16449, i16 16388, i16 16936, i16 16936, i16 16391, i16 16385, i16 16936, i16 16936, i16 16391, i16 16388, i16 16936, i16 16936, i16 16430, i16 16385, i16 16936, i16 16936, i16 16430, i16 16388, i16 16936, i16 16936, i16 16442, i16 16385, i16 16936, i16 16936, i16 16442, i16 16388, i16 16936, i16 16936, i16 16421, i16 16385, i16 16936, i16 16936, i16 16421, i16 16388, i16 16936, i16 16936, i16 16401, i16 16385, i16 16936, i16 16936, i16 16401, i16 16388, i16 16936, i16 16936, i16 16422, i16 16385, i16 16936, i16 16936, i16 16422, i16 16388, i16 16936, i16 16936, i16 16423, i16 16385, i16 16936, i16 16936, i16 16423, i16 16388, i16 16936, i16 16936, i16 16425, i16 16385, i16 16936, i16 16936, i16 16425, i16 16388, i16 16936, i16 16936, i16 16424, i16 16385, i16 16936, i16 16936, i16 16424, i16 16388, i16 16936, i16 16936, i16 16441, i16 16385, i16 16936, i16 16936, i16 16441, i16 16388, i16 16936, i16 16999, i16 16389, i16 16388, i16 16999, i16 16999, i16 16396, i16 16385, i16 16999, i16 16999, i16 16396, i16 16388, i16 16999, i16 16999, i16 16444, i16 16385, i16 16999, i16 16999, i16 16444, i16 16388, i16 16999, i16 17006, i16 16389, i16 16388, i16 17006, i16 17006, i16 16392, i16 16385, i16 17006, i16 17006, i16 16392, i16 16388, i16 17006, i16 17006, i16 16393, i16 16385, i16 17006, i16 17006, i16 16393, i16 16388, i16 17006, i16 17006, i16 16394, i16 16385, i16 17006, i16 17006, i16 16394, i16 16388, i16 17006, i16 17006, i16 16402, i16 16385, i16 17006, i16 17006, i16 16402, i16 16388, i16 17006, i16 17006, i16 16390, i16 16385, i16 17006, i16 17006, i16 16390, i16 16388, i16 17006, i16 17006, i16 16444, i16 16385, i16 17006, i16 17006, i16 16444, i16 16388, i16 17006, i16 17021, i16 16389, i16 16388, i16 17021, i16 17021, i16 16402, i16 16385, i16 17021, i16 17021, i16 16402, i16 16388, i16 17021, i16 17021, i16 16390, i16 16385, i16 17021, i16 17021, i16 16390, i16 16388, i16 17021, i16 17028, i16 16389, i16 16388, i16 17028, i16 17028, i16 16392, i16 16385, i16 17028, i16 17028, i16 16392, i16 16388, i16 17028, i16 17028, i16 16393, i16 16385, i16 17028, i16 17028, i16 16393, i16 16388, i16 17028, i16 17028, i16 16394, i16 16385, i16 17028, i16 17028, i16 16394, i16 16388, i16 17028, i16 17028, i16 16402, i16 16385, i16 17028, i16 17028, i16 16402, i16 16388, i16 17028, i16 17028, i16 16400, i16 16385, i16 17028, i16 17028, i16 16400, i16 16388, i16 17028, i16 17028, i16 16396, i16 16385, i16 17028, i16 17028, i16 16396, i16 16388, i16 17028, i16 17028, i16 16390, i16 16385, i16 17028, i16 17028, i16 16390, i16 16388, i16 17028, i16 17028, i16 16444, i16 16385, i16 17028, i16 17028, i16 16444, i16 16388, i16 17028, i16 17047, i16 16389, i16 16388, i16 17047, i16 17047, i16 16392, i16 16385, i16 17047, i16 17047, i16 16392, i16 16388, i16 17047, i16 17047, i16 16394, i16 16385, i16 17047, i16 17047, i16 16394, i16 16388, i16 17047, i16 17047, i16 16390, i16 16385, i16 17047, i16 17047, i16 16390, i16 16388, i16 17047, i16 17047, i16 16444, i16 16385, i16 17047, i16 17047, i16 16444, i16 16388, i16 17047, i16 17047, i16 16452, i16 16385, i16 17047, i16 17047, i16 16452, i16 16388, i16 17047, i16 17047, i16 16445, i16 16385, i16 17047, i16 17047, i16 16445, i16 16388, i16 17047, i16 17062, i16 16395, i16 16388, i16 17062, i16 32766, i16 32766, i16 16384, i16 32766, i16 17064, i16 32766, i16 16384, i16 17064, i16 17073, i16 32766, i16 16384, i16 17073, i16 17074, i16 32766, i16 16384, i16 17074, i16 17075, i16 32766, i16 16384, i16 17075, i16 17076, i16 32766, i16 16384, i16 17076, i16 17077, i16 32766, i16 16384, i16 17077, i16 17078, i16 32766, i16 16384, i16 17078, i16 17079, i16 32766, i16 16384, i16 17079, i16 17080, i16 32766, i16 16384, i16 17080, i16 17081, i16 32766, i16 16384, i16 17081, i16 16384, i16 16384, i16 16384, i16 17133, i16 16384, i16 16384, i16 16384, i16 17135, i16 16384, i16 16384, i16 16384, i16 17197, i16 16384, i16 16384, i16 16384, i16 16384, i16 32766, i16 16385, i16 16453, i16 32766, i16 17723, i16 16385, i16 16454, i16 17723, i16 17723, i16 16388, i16 16453, i16 17723, i16 17723, i16 16388, i16 16454, i16 17723, i16 17727, i16 16388, i16 16453, i16 17727, i16 17729, i16 16388, i16 16453, i16 17729, i16 17731, i16 16388, i16 16453, i16 17731, i16 17733, i16 16385, i16 16454, i16 17733, i16 17733, i16 16388, i16 16453, i16 17733, i16 17733, i16 16388, i16 16454, i16 17733, i16 17737, i16 16388, i16 16453, i16 17737, i16 17739, i16 16385, i16 16454, i16 17739, i16 17739, i16 16388, i16 16453, i16 17739, i16 17739, i16 16388, i16 16454, i16 17739, i16 17743, i16 16388, i16 16453, i16 17743, i16 17745, i16 16385, i16 16454, i16 17745, i16 17745, i16 16385, i16 16455, i16 17745, i16 17745, i16 16388, i16 16453, i16 17745, i16 17745, i16 16388, i16 16454, i16 17745, i16 17745, i16 16388, i16 16455, i16 17745, i16 17745, i16 16388, i16 16456, i16 17745, i16 17752, i16 16388, i16 16453, i16 17752, i16 17754, i16 16388, i16 16453, i16 17754, i16 17756, i16 16388, i16 16453, i16 17756, i16 17758, i16 16388, i16 16453, i16 17758, i16 17760, i16 16388, i16 16453, i16 17760, i16 17762, i16 16385, i16 16454, i16 17762, i16 17762, i16 16388, i16 16453, i16 17762, i16 17762, i16 16388, i16 16454, i16 17762, i16 17766, i16 16388, i16 16453, i16 17766, i16 17768, i16 16388, i16 16453, i16 17768, i16 17770, i16 16388, i16 16453, i16 17770, i16 17770, i16 16388, i16 32766, i16 17770, i16 17773, i16 16388, i16 16453, i16 17773, i16 17775, i16 16385, i16 16454, i16 17775, i16 17775, i16 16385, i16 16455, i16 17775, i16 17775, i16 16388, i16 16453, i16 17775, i16 17775, i16 16388, i16 16454, i16 17775, i16 17775, i16 16388, i16 16455, i16 17775, i16 17775, i16 16388, i16 16456, i16 17775, i16 17782, i16 16388, i16 16453, i16 17782, i16 17784, i16 16388, i16 16453, i16 17784, i16 17786, i16 16388, i16 16453, i16 17786, i16 17788, i16 16385, i16 16454, i16 17788, i16 17788, i16 16388, i16 16453, i16 17788, i16 17788, i16 16388, i16 16454, i16 17788, i16 32766, i16 16457, i16 16385, i16 32766, i16 17792, i16 16457, i16 16388, i16 17792, i16 17794, i16 16457, i16 16388, i16 17794, i16 17796, i16 16457, i16 16388, i16 17796, i16 17798, i16 16457, i16 16388, i16 17798, i16 17800, i16 16457, i16 16388, i16 17800, i16 17802, i16 16457, i16 16388, i16 17802, i16 17804, i16 16457, i16 16388, i16 17804, i16 17806, i16 16457, i16 16388, i16 17806, i16 17808, i16 16457, i16 16388, i16 17808, i16 17810, i16 16457, i16 16388, i16 17810, i16 17812, i16 16457, i16 16388, i16 17812, i16 17814, i16 16457, i16 16388, i16 17814, i16 17816, i16 16457, i16 16388, i16 17816, i16 17818, i16 16457, i16 16388, i16 17818, i16 17820, i16 16457, i16 16388, i16 17820, i16 17822, i16 16457, i16 16388, i16 17822, i16 17824, i16 16457, i16 16388, i16 17824, i16 17826, i16 16457, i16 16388, i16 17826, i16 17828, i16 16457, i16 16388, i16 17828, i16 17830, i16 16457, i16 16388, i16 17830, i16 17832, i16 16457, i16 16388, i16 17832, i16 17834, i16 16457, i16 16388, i16 17834, i16 17836, i16 16457, i16 16388, i16 17836, i16 17838, i16 16457, i16 16388, i16 17838, i16 17840, i16 16457, i16 16388, i16 17840, i16 17842, i16 16457, i16 16388, i16 17842, i16 17844, i16 16457, i16 16388, i16 17844, i16 17846, i16 16457, i16 16388, i16 17846, i16 17848, i16 16457, i16 16388, i16 17848, i16 17850, i16 16457, i16 16388, i16 17850, i16 17852, i16 16457, i16 16388, i16 17852, i16 17854, i16 16457, i16 16388, i16 17854, i16 17856, i16 16457, i16 16388, i16 17856, i16 17858, i16 16457, i16 16388, i16 17858, i16 17860, i16 16457, i16 16388, i16 17860, i16 17862, i16 16457, i16 16388, i16 17862, i16 17864, i16 16457, i16 16388, i16 17864, i16 17866, i16 16457, i16 16388, i16 17866, i16 17868, i16 16457, i16 16388, i16 17868, i16 17870, i16 16457, i16 16388, i16 17870, i16 17872, i16 16457, i16 16388, i16 17872, i16 32766, i16 16457, i16 16388, i16 32766, i16 17874, i16 16457, i16 16385, i16 17874, i16 17876, i16 16457, i16 16388, i16 17876, i16 17878, i16 16457, i16 16385, i16 17878, i16 17880, i16 16457, i16 16388, i16 17880, i16 17882, i16 16457, i16 16388, i16 17882, i16 17884, i16 16457, i16 16388, i16 17884, i16 17886, i16 16457, i16 16388, i16 17886, i16 17888, i16 16457, i16 16388, i16 17888, i16 17890, i16 16457, i16 16388, i16 17890, i16 17892, i16 16457, i16 16388, i16 17892, i16 17894, i16 16457, i16 16388, i16 17894, i16 32766, i16 16384, i16 16384, i16 32766, i16 17928, i16 32766, i16 16384, i16 17928, i16 17927, i16 32766, i16 16384, i16 17927, i16 17937, i16 32766, i16 16384, i16 17937, i16 17941, i16 32766, i16 16384, i16 17941, i16 17948, i16 32766, i16 16384, i16 17948, i16 17956, i16 32766, i16 16384, i16 17956, i16 17961, i16 32766, i16 16384, i16 17961, i16 17966, i16 32766, i16 16384, i16 17966, i16 17971, i16 32766, i16 16384, i16 17971, i16 17976, i16 32766, i16 16384, i16 17976, i16 17979, i16 32766, i16 16384, i16 17979, i16 17982, i16 32766, i16 16384, i16 17982, i16 17985, i16 32766, i16 16384, i16 17985, i16 17988, i16 32766, i16 16384, i16 17988, i16 17993, i16 32766, i16 16384, i16 17993, i16 17998, i16 32766, i16 16384, i16 17998, i16 18003, i16 32766, i16 16384, i16 18003, i16 18008, i16 32766, i16 16384, i16 18008, i16 18013, i16 32766, i16 16384, i16 18013, i16 18018, i16 32766, i16 16384, i16 18018, i16 18023, i16 32766, i16 16384, i16 18023, i16 18028, i16 32766, i16 16384, i16 18028, i16 18033, i16 32766, i16 16384, i16 18033, i16 18038, i16 32766, i16 16384, i16 18038, i16 18043, i16 32766, i16 16384, i16 18043, i16 18048, i16 32766, i16 16384, i16 18048, i16 18053, i16 32766, i16 16384, i16 18053, i16 18058, i16 32766, i16 16384, i16 18058, i16 18063, i16 32766, i16 16384, i16 18063, i16 18066, i16 32766, i16 16384, i16 18066, i16 18069, i16 32766, i16 16384, i16 18069, i16 16384, i16 16384, i16 32766, i16 32766, i16 18720, i16 18720, i16 18723, i16 18720, i16 18720, i16 18726, i16 18729, i16 18720, i16 18732, i16 18732, i16 18735, i16 18732, i16 18732, i16 18738, i16 18741, i16 18732, i16 18744, i16 18744, i16 18747, i16 18744, i16 18744, i16 18750, i16 18753, i16 18744, i16 18756, i16 18759, i16 18762, i16 18756, i16 18756, i16 18765, i16 18768, i16 18756, i16 18101, i16 32766, i16 16384, i16 18101, i16 18105, i16 32766, i16 16384, i16 18105, i16 18109, i16 32766, i16 16384, i16 18109, i16 18114, i16 32766, i16 16384, i16 18114, i16 18118, i16 32766, i16 16384, i16 18118, i16 18122, i16 32766, i16 16384, i16 18122, i16 18127, i16 32766, i16 16384, i16 18127, i16 18131, i16 32766, i16 16384, i16 18131, i16 18135, i16 32766, i16 16384, i16 18135, i16 18140, i16 32766, i16 16384, i16 18140, i16 18144, i16 32766, i16 16384, i16 18144, i16 18148, i16 32766, i16 16384, i16 18148, i16 18152, i16 32766, i16 16384, i16 18152, i16 18156, i16 32766, i16 16384, i16 18156, i16 18160, i16 32766, i16 16384, i16 18160, i16 18164, i16 32766, i16 16384, i16 18164, i16 18168, i16 32766, i16 16384, i16 18168, i16 18172, i16 32766, i16 16384, i16 18172, i16 18178, i16 32766, i16 16384, i16 18178, i16 18182, i16 32766, i16 16384, i16 18182, i16 18186, i16 32766, i16 16384, i16 18186, i16 18188, i16 32766, i16 16384, i16 18188, i16 18190, i16 32766, i16 16384, i16 18190, i16 18192, i16 32766, i16 16384, i16 18192, i16 18194, i16 32766, i16 16384, i16 18194, i16 18196, i16 32766, i16 16384, i16 18196, i16 18202, i16 32766, i16 16384, i16 18202, i16 18208, i16 32766, i16 16384, i16 18208, i16 18214, i16 32766, i16 16384, i16 18214, i16 18220, i16 32766, i16 16384, i16 18220, i16 18226, i16 32766, i16 16384, i16 18226, i16 18228, i16 32766, i16 16384, i16 18228, i16 18230, i16 32766, i16 16384, i16 18230, i16 18232, i16 32766, i16 16384, i16 18232, i16 18234, i16 32766, i16 16384, i16 18234, i16 18236, i16 32766, i16 16384, i16 18236, i16 18240, i16 32766, i16 16384, i16 18240, i16 18244, i16 32766, i16 16384, i16 18244, i16 18248, i16 32766, i16 16384, i16 18248, i16 18250, i16 32766, i16 16384, i16 18250, i16 18252, i16 32766, i16 16384, i16 18252, i16 18254, i16 32766, i16 16384, i16 18254, i16 18256, i16 32766, i16 16384, i16 18256, i16 18258, i16 32766, i16 16384, i16 18258, i16 18262, i16 32766, i16 16384, i16 18262, i16 18264, i16 32766, i16 16384, i16 18264, i16 18266, i16 32766, i16 16384, i16 18266, i16 18268, i16 32766, i16 16384, i16 18268, i16 32766, i16 32766, i16 16384, i16 16384, i16 16396, i16 32766, i16 16384, i16 16384, i16 16398, i16 32766, i16 16384, i16 16384, i16 16400, i16 32766, i16 16384, i16 16384, i16 16402, i16 32766, i16 16384, i16 16384, i16 16404, i16 32766, i16 16384, i16 16384, i16 16406, i16 32766, i16 16384, i16 16384, i16 16408, i16 32766, i16 16384, i16 16384, i16 16410, i16 32766, i16 16384, i16 16384, i16 16412, i16 32766, i16 16384, i16 16384, i16 16414, i16 32766, i16 16384, i16 16384, i16 16416, i16 32766, i16 16384, i16 16384, i16 16418, i16 32766, i16 16384, i16 16384, i16 16420, i16 32766, i16 16384, i16 16384, i16 16422, i16 32766, i16 16384, i16 16384, i16 16424, i16 32766, i16 16384, i16 16384, i16 16426, i16 32766, i16 16384, i16 16384, i16 16428, i16 32766, i16 16384, i16 16384, i16 16430, i16 32766, i16 16384, i16 16384, i16 16432, i16 32766, i16 16384, i16 16384, i16 16434, i16 32766, i16 16384, i16 16384, i16 16436, i16 32766, i16 16384, i16 16384, i16 16438, i16 32766, i16 16384, i16 16384, i16 16440, i16 32766, i16 16384, i16 16384, i16 16442, i16 32766, i16 16384, i16 16384, i16 16444, i16 32766, i16 16384, i16 16384, i16 16446, i16 32766, i16 16384, i16 16384, i16 16384, i16 32766, i16 16384, i16 16384, i16 16384, i16 16384, i16 32766, i16 16384, i16 16384, i16 32766, i16 16385, i16 16385, i16 32766, i16 16385, i16 16385, i16 16385, i16 16438, i16 16386, i16 16385, i16 16385, i16 16440, i16 16386, i16 16385, i16 16385, i16 16442, i16 16386, i16 16385, i16 16385, i16 16444, i16 16386, i16 16385, i16 16385, i16 16446, i16 16386, i16 16385, i16 16385, i16 16448, i16 16386, i16 16385, i16 16385, i16 16450, i16 16386, i16 16385, i16 16385, i16 16452, i16 16386, i16 16385, i16 16385, i16 16454, i16 16386, i16 16385, i16 16385, i16 16456, i16 16386, i16 16385, i16 16385, i16 32766, i16 16385, i16 16385, i16 16387, i16 16458, i16 16385, i16 16385, i16 16388, i16 16460, i16 16385, i16 16385, i16 16388, i16 16462, i16 16385, i16 16385, i16 16388, i16 16464, i16 16385, i16 16385, i16 16388, i16 16466, i16 16385, i16 16385, i16 16388, i16 16468, i16 16385, i16 16385, i16 16388, i16 16470, i16 16385, i16 16385, i16 16388, i16 16472, i16 16385, i16 16385, i16 16388, i16 16474, i16 16385, i16 16385, i16 16388, i16 16476, i16 16385, i16 16385, i16 16388, i16 16478, i16 16385, i16 16385, i16 16388, i16 16480, i16 16385, i16 16385, i16 16388, i16 16482, i16 16385, i16 16385, i16 16388, i16 16484, i16 16385, i16 16385, i16 16388, i16 16486, i16 16385, i16 16385, i16 16388, i16 16488, i16 16385, i16 16385, i16 16388, i16 16490, i16 16385, i16 16385, i16 16388, i16 16492, i16 16385, i16 16385, i16 16388, i16 16494, i16 16385, i16 16385, i16 16388, i16 16496, i16 16385, i16 16385, i16 16388, i16 16498, i16 16385, i16 16385, i16 16388, i16 16500, i16 16385, i16 16385, i16 16388, i16 16502, i16 16385, i16 16385, i16 16388, i16 16504, i16 16385, i16 16385, i16 16388, i16 16506, i16 16385, i16 16385, i16 16388, i16 16508, i16 16385, i16 16385, i16 16388, i16 17294, i16 16385, i16 16385, i16 16385, i16 17297, i16 16385, i16 16385, i16 16385, i16 17300, i16 16385, i16 16385, i16 16385, i16 17303, i16 16385, i16 16385, i16 16385, i16 17306, i16 16385, i16 16385, i16 16385, i16 17309, i16 16385, i16 16385, i16 16385, i16 17312, i16 16385, i16 16385, i16 16385, i16 17315, i16 16385, i16 16385, i16 16385, i16 17318, i16 16385, i16 16385, i16 16385, i16 17321, i16 16385, i16 16385, i16 16385, i16 17324, i16 16385, i16 16385, i16 16385, i16 17327, i16 16385, i16 16385, i16 16385, i16 17330, i16 16385, i16 16385, i16 16385, i16 17333, i16 16385, i16 16385, i16 16385, i16 17336, i16 16385, i16 16385, i16 16385, i16 17339, i16 16385, i16 16385, i16 16385, i16 17342, i16 16385, i16 16385, i16 16385, i16 17345, i16 16385, i16 16385, i16 16385, i16 17348, i16 16385, i16 16385, i16 16385, i16 17351, i16 16385, i16 16385, i16 16385, i16 17354, i16 16385, i16 16385, i16 16385, i16 17357, i16 16385, i16 16385, i16 16385, i16 17360, i16 16385, i16 16385, i16 16385, i16 17363, i16 16385, i16 16385, i16 16385, i16 17366, i16 16385, i16 16385, i16 16385, i16 17369, i16 16385, i16 16385, i16 16385, i16 17372, i16 16385, i16 16385, i16 16385, i16 17375, i16 16385, i16 16385, i16 16385, i16 17378, i16 16385, i16 16385, i16 16385, i16 17381, i16 16385, i16 16385, i16 16385, i16 17384, i16 16385, i16 16385, i16 16385, i16 17387, i16 16385, i16 16385, i16 16385, i16 17390, i16 16385, i16 16385, i16 16385, i16 17393, i16 16385, i16 16385, i16 16385, i16 17396, i16 16385, i16 16385, i16 16385, i16 17399, i16 16385, i16 16385, i16 16385, i16 17402, i16 16385, i16 16385, i16 16385, i16 17405, i16 16385, i16 16385, i16 16385, i16 17408, i16 16385, i16 16385, i16 16385, i16 17411, i16 16385, i16 16385, i16 16385, i16 17414, i16 16385, i16 16385, i16 16385, i16 17417, i16 16385, i16 16385, i16 16385, i16 17420, i16 16385, i16 16385, i16 16385, i16 17423, i16 16385, i16 16385, i16 16385, i16 17426, i16 16385, i16 16385, i16 16385, i16 17429, i16 16385, i16 16385, i16 16385, i16 17432, i16 16385, i16 16385, i16 16385, i16 17435, i16 16385, i16 16385, i16 16385, i16 17438, i16 16385, i16 16385, i16 16385, i16 17441, i16 16385, i16 16385, i16 16385, i16 17444, i16 16385, i16 16385, i16 16385, i16 17447, i16 16385, i16 16385, i16 16385, i16 17450, i16 16385, i16 16385, i16 16385, i16 17453, i16 16385, i16 16385, i16 16385, i16 17456, i16 16385, i16 16385, i16 16385, i16 17459, i16 16385, i16 16385, i16 16385, i16 17462, i16 16385, i16 16385, i16 16385, i16 17465, i16 16385, i16 16385, i16 16385, i16 17468, i16 16385, i16 16385, i16 16385, i16 17471, i16 16385, i16 16385, i16 16385, i16 17474, i16 16385, i16 16385, i16 16385, i16 17477, i16 16385, i16 16385, i16 16385, i16 17480, i16 16385, i16 16385, i16 16385, i16 17483, i16 16385, i16 16385, i16 16385, i16 17486, i16 16385, i16 16385, i16 16385, i16 17489, i16 16385, i16 16385, i16 16385, i16 17492, i16 16385, i16 16385, i16 16385, i16 17495, i16 16385, i16 16385, i16 16385, i16 17498, i16 16385, i16 16385, i16 16385, i16 17501, i16 16385, i16 16385, i16 16385, i16 17504, i16 16385, i16 16385, i16 16385, i16 17507, i16 16385, i16 16385, i16 16385, i16 17510, i16 16385, i16 16385, i16 16385, i16 17513, i16 16385, i16 16385, i16 16385, i16 17516, i16 16385, i16 16385, i16 16385, i16 17519, i16 16385, i16 16385, i16 16385, i16 17522, i16 16385, i16 16385, i16 16385, i16 17525, i16 16385, i16 16385, i16 16385, i16 17528, i16 16385, i16 16385, i16 16385, i16 17531, i16 16385, i16 16385, i16 16385, i16 17534, i16 16385, i16 16385, i16 16385, i16 17537, i16 16385, i16 16385, i16 16385, i16 17540, i16 16385, i16 16385, i16 16385, i16 17543, i16 16385, i16 16385, i16 16385, i16 17546, i16 16385, i16 16385, i16 16385, i16 17549, i16 16385, i16 16385, i16 16385, i16 17552, i16 16385, i16 16385, i16 16385, i16 17555, i16 16385, i16 16385, i16 16385, i16 17558, i16 16385, i16 16385, i16 16385, i16 17561, i16 16385, i16 16385, i16 16385, i16 17564, i16 16385, i16 16385, i16 16385, i16 17567, i16 16385, i16 16385, i16 16385, i16 17570, i16 16385, i16 16385, i16 16385, i16 17573, i16 16385, i16 16385, i16 16385, i16 17576, i16 16385, i16 16385, i16 16385, i16 17579, i16 16385, i16 16385, i16 16385, i16 17582, i16 16385, i16 16385, i16 16385, i16 17585, i16 16385, i16 16385, i16 16385, i16 17588, i16 16385, i16 16385, i16 16385, i16 17591, i16 16385, i16 16385, i16 16385, i16 17594, i16 16385, i16 16385, i16 16385, i16 17597, i16 16385, i16 16385, i16 16385, i16 17600, i16 16385, i16 16385, i16 16385, i16 17603, i16 16385, i16 16385, i16 16385, i16 17606, i16 16385, i16 16385, i16 16385, i16 17609, i16 16385, i16 16385, i16 16385, i16 17612, i16 16385, i16 16385, i16 16385, i16 17615, i16 16385, i16 16385, i16 16385, i16 17618, i16 16385, i16 16385, i16 16385, i16 17621, i16 16385, i16 16385, i16 16385, i16 17624, i16 16385, i16 16385, i16 16385, i16 17627, i16 16385, i16 16385, i16 16385, i16 17630, i16 16385, i16 16385, i16 16385, i16 17633, i16 16385, i16 16385, i16 16385, i16 17636, i16 16385, i16 16385, i16 16385, i16 17639, i16 16385, i16 16385, i16 16385, i16 17642, i16 16385, i16 16385, i16 16385, i16 17645, i16 16385, i16 16385, i16 16385, i16 17648, i16 16385, i16 16385, i16 16385, i16 17651, i16 16385, i16 16385, i16 16385, i16 17654, i16 16385, i16 16385, i16 16385, i16 17657, i16 16385, i16 16385, i16 16385, i16 17660, i16 16385, i16 16385, i16 16385, i16 17663, i16 16385, i16 16385, i16 16385, i16 17666, i16 16385, i16 16385, i16 16385, i16 17669, i16 16385, i16 16385, i16 16385, i16 17672, i16 16385, i16 16385, i16 16385, i16 17675, i16 16385, i16 16385, i16 16385, i16 17678, i16 16385, i16 16385, i16 16385, i16 17681, i16 16385, i16 16385, i16 16385, i16 17684, i16 16385, i16 16385, i16 16385, i16 17687, i16 16385, i16 16385, i16 16385, i16 17690, i16 16385, i16 16385, i16 16385, i16 17693, i16 16385, i16 16385, i16 16385, i16 17696, i16 16385, i16 16385, i16 16385, i16 17699, i16 16385, i16 16385, i16 16385, i16 17702, i16 16385, i16 16385, i16 16385, i16 17705, i16 16385, i16 16385, i16 16385, i16 17708, i16 16385, i16 16385, i16 16385, i16 17711, i16 16385, i16 16385, i16 16385, i16 17714, i16 16385, i16 16385, i16 16385, i16 17717, i16 16385, i16 16385, i16 16385, i16 17720, i16 16385, i16 16385, i16 16385, i16 17723, i16 16385, i16 16385, i16 16385, i16 17726, i16 16385, i16 16385, i16 16385, i16 17729, i16 16385, i16 16385, i16 16385, i16 17732, i16 16385, i16 16385, i16 16385, i16 17735, i16 16385, i16 16385, i16 16385, i16 17738, i16 16385, i16 16385, i16 16385, i16 17741, i16 16385, i16 16385, i16 16385, i16 17744, i16 16385, i16 16385, i16 16385, i16 17747, i16 16385, i16 16385, i16 16385, i16 17750, i16 16385, i16 16385, i16 16385, i16 17753, i16 16385, i16 16385, i16 16385, i16 17756, i16 16385, i16 16385, i16 16385, i16 17759, i16 16385, i16 16385, i16 16385, i16 17762, i16 16385, i16 16385, i16 16385, i16 17765, i16 16385, i16 16385, i16 16385, i16 17768, i16 16385, i16 16385, i16 16385, i16 17771, i16 16385, i16 16385, i16 16385, i16 17774, i16 16385, i16 16385, i16 16385, i16 17777, i16 16385, i16 16385, i16 16385, i16 17780, i16 16385, i16 16385, i16 16385, i16 17783, i16 16385, i16 16385, i16 16385, i16 17786, i16 16385, i16 16385, i16 16385, i16 17789, i16 16385, i16 16385, i16 16385, i16 17792, i16 16385, i16 16385, i16 16385, i16 17795, i16 16385, i16 16385, i16 16385, i16 17798, i16 16385, i16 16385, i16 16385, i16 17801, i16 16385, i16 16385, i16 16385, i16 17804, i16 16385, i16 16385, i16 16385, i16 17807, i16 16385, i16 16385, i16 16385, i16 17810, i16 16385, i16 16385, i16 16385, i16 17813, i16 16385, i16 16385, i16 16385, i16 17816, i16 16385, i16 16385, i16 16385, i16 17819, i16 16385, i16 16385, i16 16385, i16 17822, i16 16385, i16 16385, i16 16385, i16 17825, i16 16385, i16 16385, i16 16385, i16 17828, i16 16385, i16 16385, i16 16385, i16 17831, i16 16385, i16 16385, i16 16385, i16 17834, i16 16385, i16 16385, i16 16385, i16 17837, i16 16385, i16 16385, i16 16385, i16 17840, i16 16385, i16 16385, i16 16385, i16 17843, i16 16385, i16 16385, i16 16385, i16 17846, i16 16385, i16 16385, i16 16385, i16 17849, i16 16385, i16 16385, i16 16385, i16 17852, i16 16385, i16 16385, i16 16385, i16 17855, i16 16385, i16 16385, i16 16385, i16 17858, i16 16385, i16 16385, i16 16385, i16 17861, i16 16385, i16 16385, i16 16385, i16 17864, i16 16385, i16 16385, i16 16385, i16 17867, i16 16385, i16 16385, i16 16385, i16 17870, i16 16385, i16 16385, i16 16385, i16 17873, i16 16385, i16 16385, i16 16385, i16 17876, i16 16385, i16 16385, i16 16385, i16 17879, i16 16385, i16 16385, i16 16385, i16 17882, i16 16385, i16 16385, i16 16385, i16 17885, i16 16385, i16 16385, i16 16385, i16 17888, i16 16385, i16 16385, i16 16385, i16 17891, i16 16385, i16 16385, i16 16385, i16 17894, i16 16385, i16 16385, i16 16385, i16 17897, i16 16385, i16 16385, i16 16385, i16 17900, i16 16385, i16 16385, i16 16385, i16 17903, i16 16385, i16 16385, i16 16385, i16 17906, i16 16385, i16 16385, i16 16385, i16 17909, i16 16385, i16 16385, i16 16385, i16 17912, i16 16385, i16 16385, i16 16385, i16 17915, i16 16385, i16 16385, i16 16385, i16 17918, i16 16385, i16 16385, i16 16385, i16 17921, i16 16385, i16 16385, i16 16385, i16 17924, i16 16385, i16 16385, i16 16385, i16 17927, i16 16385, i16 16385, i16 16385, i16 17930, i16 16385, i16 16385, i16 16385, i16 17933, i16 16385, i16 16385, i16 16385, i16 17936, i16 16385, i16 16385, i16 16385, i16 17939, i16 16385, i16 16385, i16 16385, i16 17942, i16 16385, i16 16385, i16 16385, i16 17945, i16 16385, i16 16385, i16 16385, i16 17948, i16 16385, i16 16385, i16 16385, i16 17951, i16 16385, i16 16385, i16 16385, i16 16779, i16 16385, i16 16385, i16 16389, i16 32767, i16 16384, i16 16384, i16 16384, i16 17284, i16 17285, i16 0, i16 895, i16 895, i16 0, i16 17273, i16 17273, i16 0, i16 16434, i16 16428, i16 0, i16 16393, i16 16393, i16 0, i16 97, i16 905, i16 0, i16 14, i16 14, i16 0, i16 3, i16 3, i16 0, i16 4, i16 3, i16 0, i16 5, i16 3, i16 0, i16 6, i16 3, i16 0, i16 16425, i16 16428, i16 0, i16 16433, i16 17283, i16 0, i16 16437, i16 16437, i16 0, i16 16481, i16 17289, i16 0, i16 16398, i16 16398, i16 0, i16 91, i16 906, i16 0, i16 14, i16 13, i16 0, i16 3, i16 4, i16 0, i16 4, i16 4, i16 0, i16 14, i16 890, i16 0, i16 14, i16 892, i16 0, i16 16488, i16 16488, i16 0, i16 17279, i16 17279, i16 0, i16 16488, i16 16492, i16 0, i16 16492, i16 16492, i16 0, i16 17797, i16 17797, i16 0, i16 16393, i16 17601, i16 0, i16 16393, i16 17600, i16 0, i16 16393, i16 17273, i16 0, i16 17273, i16 16393, i16 0, i16 17273, i16 17601, i16 0, i16 17273, i16 17600, i16 0, i16 17798, i16 17798, i16 0, i16 17799, i16 17799, i16 0, i16 16393, i16 17796, i16 0, i16 16393, i16 17795, i16 0, i16 16393, i16 17794, i16 0, i16 16393, i16 17793, i16 0, i16 17273, i16 17796, i16 0, i16 17273, i16 17795, i16 0, i16 17273, i16 17794, i16 0, i16 17273, i16 17793, i16 0, i16 17800, i16 17800, i16 0, i16 17801, i16 17801, i16 0, i16 17802, i16 17802, i16 0, i16 17804, i16 17804, i16 0, i16 17805, i16 17805, i16 0, i16 17807, i16 17807, i16 0, i16 16475, i16 17934, i16 0, i16 16387, i16 16388, i16 0, i16 16388, i16 16388, i16 0, i16 16475, i16 17289, i16 0, i16 16398, i16 17274, i16 0, i16 16398, i16 17276, i16 0, i16 16475, i16 17290, i16 0, i16 16458, i16 17935, i16 17290, i16 16475, i16 0, i16 17279, i16 17279, i16 17279, i16 17279, i16 0, i16 16389, i16 16390, i16 16388, i16 16387, i16 0, i16 17296, i16 17302, i16 0, i16 17329, i16 17279, i16 0, i16 17296, i16 17303, i16 0, i16 17311, i16 17334, i16 0, i16 17314, i16 17334, i16 0, i16 17193, i16 17193, i16 0, i16 2, i16 2, i16 0, i16 17200, i16 17200, i16 0, i16 17193, i16 18178, i16 0, i16 17201, i16 17201, i16 0, i16 17193, i16 17285, i16 0, i16 17202, i16 17202, i16 0, i16 17193, i16 17193, i16 18178, i16 0, i16 2, i16 2, i16 2, i16 0, i16 17203, i16 17203, i16 17203, i16 0, i16 17193, i16 17193, i16 17285, i16 0, i16 17204, i16 17204, i16 17204, i16 0, i16 18178, i16 17267, i16 0, i16 881, i16 881, i16 0, i16 16385, i16 16385, i16 0, i16 18080, i16 18080, i16 0, i16 17408, i16 17427, i16 0, i16 17410, i16 17410, i16 0, i16 17408, i16 17408, i16 0, i16 18080, i16 17425, i16 0, i16 17426, i16 17426, i16 0, i16 17851, i16 17736, i16 0, i16 1467, i16 1352, i16 0, i16 17901, i16 17901, i16 0, i16 1467, i16 1353, i16 0, i16 17902, i16 17902, i16 0, i16 17851, i16 17738, i16 0, i16 1467, i16 1354, i16 0, i16 17903, i16 17903, i16 0, i16 1467, i16 1355, i16 0, i16 17904, i16 17904, i16 0, i16 17851, i16 17741, i16 0, i16 1467, i16 1357, i16 0, i16 17905, i16 17905, i16 0, i16 1467, i16 1358, i16 0, i16 17906, i16 17906, i16 0, i16 17851, i16 17745, i16 0, i16 1467, i16 1362, i16 0, i16 17907, i16 17907, i16 0, i16 1467, i16 1363, i16 0, i16 17908, i16 17908, i16 0, i16 17065, i16 17148, i16 0, i16 1770, i16 1770, i16 0, i16 1772, i16 1772, i16 0, i16 1774, i16 1774, i16 0, i16 17311, i16 17205, i16 0, i16 1814, i16 1814, i16 0, i16 17325, i16 17148, i16 0, i16 1830, i16 1830, i16 0, i16 17427, i16 17220, i16 0, i16 1840, i16 1840, i16 0, i16 16470, i16 16579, i16 0, i16 16530, i16 16530, i16 0, i16 16532, i16 16532, i16 0, i16 16534, i16 16534, i16 0, i16 16630, i16 16630, i16 0, i16 16389, i16 16389, i16 0, i16 16637, i16 16637, i16 0, i16 16630, i16 16681, i16 0, i16 16638, i16 16638, i16 0, i16 16630, i16 16739, i16 0, i16 16639, i16 16639, i16 0, i16 16630, i16 16630, i16 16681, i16 0, i16 16389, i16 16389, i16 16389, i16 0, i16 16640, i16 16640, i16 16640, i16 0, i16 16630, i16 16630, i16 16739, i16 0, i16 16641, i16 16641, i16 16641, i16 0, i16 16681, i16 16718, i16 0, i16 16716, i16 16716, i16 0, i16 16769, i16 16642, i16 0, i16 16789, i16 16789, i16 0, i16 16791, i16 16579, i16 0, i16 16859, i16 16859, i16 0, i16 16892, i16 16917, i16 0, i16 16894, i16 16894, i16 0, i16 16892, i16 16892, i16 0, i16 16388, i16 16915, i16 0, i16 16916, i16 16916, i16 0, i16 16917, i16 16661, i16 0, i16 16934, i16 16934, i16 0, i16 18043, i16 17928, i16 0, i16 18093, i16 18093, i16 0, i16 18043, i16 17929, i16 0, i16 18094, i16 18094, i16 0, i16 18043, i16 17930, i16 0, i16 18095, i16 18095, i16 0, i16 18043, i16 17931, i16 0, i16 18096, i16 18096, i16 0, i16 18043, i16 17933, i16 0, i16 18097, i16 18097, i16 0, i16 18043, i16 17934, i16 0, i16 18098, i16 18098, i16 0, i16 18043, i16 17937, i16 0, i16 18043, i16 17938, i16 0, i16 18099, i16 18099, i16 0, i16 18043, i16 17939, i16 0, i16 18100, i16 18100, i16 0, i16 16510, i16 16788, i16 0, i16 16510, i16 16789, i16 0, i16 16510, i16 16790, i16 0, i16 16510, i16 16791, i16 0, i16 16510, i16 16792, i16 0, i16 16516, i16 16788, i16 0, i16 16516, i16 16789, i16 0, i16 16516, i16 16790, i16 0, i16 16516, i16 16791, i16 0, i16 16516, i16 16792, i16 0, i16 16522, i16 16788, i16 0, i16 16522, i16 16789, i16 0, i16 16522, i16 16790, i16 0, i16 16522, i16 16791, i16 0, i16 16522, i16 16792, i16 0, i16 16528, i16 16788, i16 0, i16 16528, i16 16789, i16 0, i16 16528, i16 16790, i16 0, i16 16528, i16 16791, i16 0, i16 16528, i16 16792, i16 0, i16 16534, i16 16788, i16 0, i16 16534, i16 16789, i16 0, i16 16534, i16 16790, i16 0, i16 16534, i16 16791, i16 0, i16 16534, i16 16792, i16 0, i16 16540, i16 16788, i16 0, i16 16540, i16 16789, i16 0, i16 16540, i16 16790, i16 0, i16 16540, i16 16791, i16 0, i16 16540, i16 16792, i16 0, i16 16546, i16 16788, i16 0, i16 16546, i16 16789, i16 0, i16 16546, i16 16790, i16 0, i16 16546, i16 16791, i16 0, i16 16546, i16 16792, i16 0, i16 16552, i16 16788, i16 0, i16 16552, i16 16789, i16 0, i16 16552, i16 16790, i16 0, i16 16552, i16 16791, i16 0, i16 16552, i16 16792, i16 0, i16 16558, i16 16788, i16 0, i16 16558, i16 16789, i16 0, i16 16558, i16 16790, i16 0, i16 16558, i16 16791, i16 0, i16 16558, i16 16792, i16 0, i16 16564, i16 16788, i16 0, i16 16564, i16 16789, i16 0, i16 16564, i16 16790, i16 0, i16 16564, i16 16791, i16 0, i16 16564, i16 16792, i16 0, i16 16570, i16 16788, i16 0, i16 16570, i16 16789, i16 0, i16 16570, i16 16790, i16 0, i16 16570, i16 16791, i16 0, i16 16570, i16 16792, i16 0, i16 16576, i16 16788, i16 0, i16 16576, i16 16789, i16 0, i16 16576, i16 16790, i16 0, i16 16576, i16 16791, i16 0, i16 16576, i16 16792, i16 0, i16 16582, i16 16788, i16 0, i16 16582, i16 16789, i16 0, i16 16582, i16 16790, i16 0, i16 16582, i16 16791, i16 0, i16 16582, i16 16792, i16 0, i16 16588, i16 16788, i16 0, i16 16588, i16 16789, i16 0, i16 16588, i16 16790, i16 0, i16 16588, i16 16791, i16 0, i16 16588, i16 16792, i16 0, i16 16594, i16 16788, i16 0, i16 16594, i16 16789, i16 0, i16 16594, i16 16790, i16 0, i16 16594, i16 16791, i16 0, i16 16594, i16 16792, i16 0, i16 16600, i16 16788, i16 0, i16 16600, i16 16789, i16 0, i16 16600, i16 16790, i16 0, i16 16600, i16 16791, i16 0, i16 16600, i16 16792, i16 0, i16 16606, i16 16788, i16 0, i16 16606, i16 16789, i16 0, i16 16606, i16 16790, i16 0, i16 16606, i16 16791, i16 0, i16 16606, i16 16792, i16 0, i16 16612, i16 16788, i16 0, i16 16612, i16 16789, i16 0, i16 16612, i16 16790, i16 0, i16 16612, i16 16791, i16 0, i16 16612, i16 16792, i16 0, i16 16618, i16 16788, i16 0, i16 16618, i16 16789, i16 0, i16 16618, i16 16790, i16 0, i16 16618, i16 16791, i16 0, i16 16618, i16 16792, i16 0, i16 16624, i16 16788, i16 0, i16 16624, i16 16789, i16 0, i16 16624, i16 16790, i16 0, i16 16624, i16 16791, i16 0, i16 16624, i16 16792, i16 0, i16 16630, i16 16788, i16 0, i16 16630, i16 16789, i16 0, i16 16630, i16 16790, i16 0, i16 16630, i16 16791, i16 0, i16 16630, i16 16792, i16 0, i16 16636, i16 16788, i16 0, i16 16636, i16 16789, i16 0, i16 16636, i16 16790, i16 0, i16 16636, i16 16791, i16 0, i16 16636, i16 16792, i16 0, i16 16642, i16 16788, i16 0, i16 16642, i16 16789, i16 0, i16 16642, i16 16790, i16 0, i16 16642, i16 16791, i16 0, i16 16642, i16 16792, i16 0, i16 16648, i16 16788, i16 0, i16 16648, i16 16789, i16 0, i16 16648, i16 16790, i16 0, i16 16648, i16 16791, i16 0, i16 16648, i16 16792, i16 0, i16 16654, i16 16788, i16 0, i16 16654, i16 16789, i16 0, i16 16654, i16 16790, i16 0, i16 16654, i16 16791, i16 0, i16 16654, i16 16792, i16 0, i16 16660, i16 16788, i16 0, i16 16660, i16 16789, i16 0, i16 16660, i16 16790, i16 0, i16 16660, i16 16791, i16 0, i16 16660, i16 16792, i16 0, i16 16666, i16 16788, i16 0, i16 16666, i16 16789, i16 0, i16 16666, i16 16790, i16 0, i16 16666, i16 16791, i16 0, i16 16666, i16 16792, i16 0, i16 16672, i16 16788, i16 0, i16 16672, i16 16789, i16 0, i16 16672, i16 16790, i16 0, i16 16672, i16 16791, i16 0, i16 16672, i16 16792, i16 0, i16 16678, i16 16788, i16 0, i16 16678, i16 16789, i16 0, i16 16678, i16 16790, i16 0, i16 16678, i16 16791, i16 0, i16 16678, i16 16792, i16 0, i16 16684, i16 16788, i16 0, i16 16684, i16 16789, i16 0, i16 16684, i16 16790, i16 0, i16 16684, i16 16791, i16 0, i16 16684, i16 16792, i16 0, i16 16690, i16 16788, i16 0, i16 16690, i16 16789, i16 0, i16 16690, i16 16790, i16 0, i16 16690, i16 16791, i16 0, i16 16690, i16 16792, i16 0, i16 16696, i16 16788, i16 0, i16 16696, i16 16789, i16 0, i16 16696, i16 16790, i16 0, i16 16696, i16 16791, i16 0, i16 16696, i16 16792, i16 0, i16 16702, i16 16788, i16 0, i16 16702, i16 16789, i16 0, i16 16702, i16 16790, i16 0, i16 16702, i16 16791, i16 0, i16 16702, i16 16792, i16 0, i16 16708, i16 16788, i16 0, i16 16708, i16 16789, i16 0, i16 16708, i16 16790, i16 0, i16 16708, i16 16791, i16 0, i16 16708, i16 16792, i16 0, i16 16714, i16 16788, i16 0, i16 16714, i16 16789, i16 0, i16 16714, i16 16790, i16 0, i16 16714, i16 16791, i16 0, i16 16714, i16 16792, i16 0, i16 16721, i16 16788, i16 0, i16 16721, i16 16789, i16 0, i16 16721, i16 16790, i16 0, i16 16721, i16 16791, i16 0, i16 16721, i16 16792, i16 0, i16 16728, i16 16788, i16 0, i16 16728, i16 16789, i16 0, i16 16728, i16 16790, i16 0, i16 16728, i16 16791, i16 0, i16 16728, i16 16792, i16 0, i16 16734, i16 16788, i16 0, i16 16734, i16 16789, i16 0, i16 16734, i16 16790, i16 0, i16 16734, i16 16791, i16 0, i16 16734, i16 16792, i16 0, i16 16740, i16 16788, i16 0, i16 16740, i16 16789, i16 0, i16 16740, i16 16790, i16 0, i16 16740, i16 16791, i16 0, i16 16740, i16 16792, i16 0, i16 16746, i16 16788, i16 0, i16 16746, i16 16789, i16 0, i16 16746, i16 16790, i16 0, i16 16746, i16 16791, i16 0, i16 16746, i16 16792, i16 0, i16 16752, i16 16788, i16 0, i16 16752, i16 16789, i16 0, i16 16752, i16 16790, i16 0, i16 16752, i16 16791, i16 0, i16 16752, i16 16792, i16 0, i16 16758, i16 16788, i16 0, i16 16758, i16 16789, i16 0, i16 16758, i16 16790, i16 0, i16 16758, i16 16791, i16 0, i16 16758, i16 16792, i16 0, i16 16764, i16 16788, i16 0, i16 16764, i16 16789, i16 0, i16 16764, i16 16790, i16 0, i16 16764, i16 16791, i16 0, i16 16764, i16 16792, i16 0, i16 16770, i16 16788, i16 0, i16 16770, i16 16789, i16 0, i16 16770, i16 16790, i16 0, i16 16770, i16 16791, i16 0, i16 16770, i16 16792, i16 0, i16 14, i16 17, i16 8, i16 13, i16 15, i16 6, i16 12, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5, i16 10, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9, i16 7, i16 11, i16 0, i16 0, i16 16, i16 3, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4, i16 0, i16 1, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 15, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 168, i16 173, i16 100, i16 105, i16 110, i16 116, i16 125, i16 131, i16 140, i16 144, i16 146, i16 148, i16 151, i16 154, i16 160, i16 163, i16 120, i16 124, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 26, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 82, i16 114, i16 5, i16 119, i16 0, i16 32, i16 0, i16 136, i16 111, i16 6, i16 17, i16 8, i16 167, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 16, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 36, i16 0, i16 37, i16 0, i16 0, i16 0, i16 0, i16 0, i16 38, i16 0, i16 0, i16 0, i16 0, i16 39, i16 0, i16 40, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 55, i16 123, i16 129, i16 134, i16 139, i16 0, i16 52, i16 99, i16 104, i16 109, i16 115, i16 0, i16 0, i16 0, i16 0, i16 0, i16 77, i16 85, i16 89, i16 0, i16 170, i16 174, i16 178, i16 180, i16 147, i16 0, i16 0, i16 0, i16 0, i16 0, i16 35, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 25, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 61, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 80, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 58, i16 0, i16 0, i16 12, i16 0, i16 0, i16 0, i16 28, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 159, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 143, i16 145, i16 0, i16 0, i16 0, i16 0, i16 172, i16 177, i16 0, i16 0, i16 0, i16 0, i16 47, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 41, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 191, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 13, i16 0, i16 24, i16 51, i16 87, i16 93, i16 102, i16 70, i16 142, i16 175, i16 0, i16 76, i16 90, i16 72, i16 49, i16 4, i16 92, i16 53, i16 96, i16 0, i16 54, i16 0, i16 30, i16 97, i16 18, i16 31, i16 0, i16 0, i16 0, i16 79, i16 91, i16 10, i16 45, i16 0, i16 0, i16 0, i16 158, i16 33, i16 155, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9, i16 184, i16 81, i16 189, i16 196, i16 64, i16 94, i16 75, i16 88, i16 98, i16 66, i16 46, i16 63, i16 187, i16 84, i16 0, i16 50, i16 95, i16 101, i16 106, i16 150, i16 162, i16 133, i16 138, i16 169, i16 192, i16 126, i16 83, i16 183, i16 153, i16 135, i16 179, i16 112, i16 117, i16 122, i16 128, i16 132, i16 185, i16 194, i16 156, i16 195, i16 186, i16 200, i16 67, i16 176, i16 149, i16 181, i16 188, i16 57, i16 141, i16 121, i16 127, i16 130, i16 137, i16 103, i16 107, i16 113, i16 118, i16 56, i16 108, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 152, i16 43, i16 34, i16 7, i16 44, i16 171, i16 0, i16 0, i16 0, i16 165, i16 42, i16 166, i16 0, i16 0, i16 59, i16 19, i16 197, i16 199, i16 22, i16 20, i16 23, i16 21, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 48, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 27, i16 0, i16 0, i16 0, i16 182, i16 198, i16 60, i16 190, i16 62, i16 193, i16 65, i16 157, i16 161, i16 164, i16 69, i16 68, i16 71, i16 78, i16 74, i16 86, i16 0, i16 2, i16 29, i16 3, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 14, i16 73, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1292, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1197, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1199, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 557, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 597, i16 598, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 691, i16 692, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1211, i16 1210, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 701, i16 702, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 731, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 223, i16 230, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 245, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1198, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 268, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1298, i16 1296, i16 1297, i16 1295, i16 0, i16 0, i16 0, i16 0, i16 1569, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1570, i16 1571, i16 1572, i16 1573, i16 0, i16 0, i16 0, i16 0, i16 1106, i16 1107, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1661, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 246, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 247, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 250, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 251, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 253, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 269, i16 0, i16 0, i16 0, i16 270, i16 0, i16 0, i16 0, i16 376, i16 378, i16 379, i16 380, i16 0, i16 0, i16 0, i16 263, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 266, i16 267, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1290, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 581, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 584, i16 583, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 609, i16 610, i16 611, i16 612, i16 0, i16 0, i16 0, i16 0, i16 152, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1207, i16 1206, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 189, i16 0, i16 0, i16 0, i16 244, i16 0, i16 0, i16 0, i16 1224, i16 0, i16 0, i16 1223, i16 0, i16 0, i16 0, i16 0, i16 1226, i16 0, i16 0, i16 1225, i16 0, i16 0, i16 0, i16 0, i16 1228, i16 0, i16 0, i16 1227, i16 0, i16 0, i16 0, i16 0, i16 1230, i16 0, i16 0, i16 1229, i16 0, i16 0, i16 0, i16 0, i16 1232, i16 0, i16 0, i16 1231, i16 0, i16 0, i16 0, i16 0, i16 1234, i16 0, i16 0, i16 1233, i16 0, i16 0, i16 0, i16 0, i16 1241, i16 1240, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1243, i16 1242, i16 1205, i16 1204, i16 0, i16 0, i16 0, i16 0, i16 1247, i16 1246, i16 0, i16 0, i16 1249, i16 1248, i16 0, i16 0, i16 226, i16 228, i16 225, i16 0, i16 0, i16 0, i16 0, i16 0, i16 760, i16 0, i16 734, i16 0, i16 748, i16 0, i16 0, i16 260, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 264, i16 265, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 554, i16 0, i16 0, i16 0, i16 0, i16 552, i16 0, i16 0, i16 301, i16 302, i16 303, i16 304, i16 305, i16 306, i16 307, i16 0, i16 1069, i16 1070, i16 1071, i16 1079, i16 1072, i16 1081, i16 1657, i16 0, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 0, i16 564, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1076, i16 0, i16 0, i16 0, i16 0, i16 0, i16 577, i16 0, i16 1367, i16 1368, i16 1369, i16 1370, i16 1371, i16 1372, i16 1373, i16 0, i16 1127, i16 1125, i16 1124, i16 1126, i16 1128, i16 1129, i16 1130, i16 0, i16 1142, i16 1140, i16 1139, i16 1141, i16 1143, i16 1144, i16 1145, i16 0, i16 1196, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 256, i16 257, i16 255, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1024, i16 984, i16 489, i16 409, i16 0, i16 0, i16 487, i16 407, i16 258, i16 261, i16 259, i16 262, i16 0, i16 0, i16 0, i16 0, i16 1027, i16 987, i16 492, i16 412, i16 1028, i16 988, i16 1029, i16 989, i16 773, i16 0, i16 775, i16 825, i16 771, i16 822, i16 749, i16 800, i16 774, i16 776, i16 746, i16 766, i16 779, i16 786, i16 790, i16 794, i16 1032, i16 992, i16 500, i16 420, i16 1033, i16 993, i16 503, i16 424, i16 781, i16 792, i16 768, i16 769, i16 767, i16 821, i16 808, i16 0, i16 1037, i16 535, i16 534, i16 536, i16 1043, i16 545, i16 550, i16 1002, i16 526, i16 449, i16 529, i16 452, i16 1039, i16 999, i16 1041, i16 1001, i16 1038, i16 998, i16 521, i16 444, i16 525, i16 448, i16 527, i16 450, i16 271, i16 575, i16 576, i16 1075, i16 578, i16 579, i16 580, i16 1077, i16 1040, i16 1000, i16 1042, i16 1003, i16 531, i16 454, i16 532, i16 455, i16 1555, i16 1557, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1300, i16 1299, i16 0, i16 0, i16 0, i16 0, i16 1293, i16 1291, i16 1045, i16 1006, i16 539, i16 462, i16 542, i16 465, i16 546, i16 470, i16 791, i16 793, i16 798, i16 801, i16 802, i16 803, i16 804, i16 805, i16 1049, i16 1051, i16 1053, i16 1055, i16 1057, i16 1059, i16 1061, i16 1063, i16 282, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 538, i16 461, i16 540, i16 463, i16 1044, i16 1005, i16 537, i16 460, i16 1050, i16 1052, i16 1054, i16 1056, i16 1058, i16 1060, i16 1062, i16 1064, i16 1306, i16 1305, i16 1308, i16 1307, i16 0, i16 0, i16 0, i16 0, i16 796, i16 730, i16 732, i16 733, i16 735, i16 737, i16 739, i16 741, i16 1565, i16 1566, i16 0, i16 0, i16 0, i16 0, i16 589, i16 590, i16 543, i16 544, i16 1637, i16 181, i16 213, i16 182, i16 224, i16 151, i16 799, i16 809, i16 813, i16 797, i16 0, i16 0, i16 0, i16 0, i16 290, i16 291, i16 0, i16 292, i16 293, i16 294, i16 295, i16 296, i16 547, i16 549, i16 472, i16 1048, i16 1009, i16 1047, i16 1008, i16 0, i16 551, i16 1074, i16 553, i16 555, i16 556, i16 558, i16 559, i16 560, i16 807, i16 758, i16 811, i16 810, i16 814, i16 816, i16 820, i16 823, i16 297, i16 298, i16 299, i16 300, i16 0, i16 0, i16 0, i16 0, i16 1065, i16 1067, i16 272, i16 273, i16 274, i16 275, i16 0, i16 0, i16 1066, i16 1068, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 561, i16 1567, i16 1568, i16 0, i16 0, i16 0, i16 0, i16 0, i16 562, i16 563, i16 565, i16 567, i16 568, i16 569, i16 570, i16 571, i16 819, i16 778, i16 780, i16 782, i16 783, i16 785, i16 787, i16 789, i16 308, i16 309, i16 310, i16 311, i16 312, i16 313, i16 314, i16 315, i16 566, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1078, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 824, i16 826, i16 795, i16 818, i16 806, i16 817, i16 827, i16 0, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1083, i16 1084, i16 1085, i16 1086, i16 1087, i16 1108, i16 1109, i16 1088, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 322, i16 323, i16 572, i16 573, i16 574, i16 0, i16 0, i16 0, i16 0, i16 0, i16 828, i16 829, i16 830, i16 831, i16 832, i16 833, i16 834, i16 835, i16 1344, i16 1345, i16 1346, i16 1347, i16 1348, i16 1349, i16 1350, i16 1351, i16 1089, i16 695, i16 696, i16 697, i16 698, i16 1090, i16 1091, i16 585, i16 324, i16 325, i16 326, i16 327, i16 328, i16 329, i16 330, i16 331, i16 836, i16 837, i16 839, i16 840, i16 841, i16 842, i16 843, i16 844, i16 838, i16 1131, i16 1132, i16 1134, i16 1133, i16 0, i16 1135, i16 1136, i16 1352, i16 1353, i16 1354, i16 1355, i16 1356, i16 1357, i16 1358, i16 1359, i16 586, i16 587, i16 588, i16 1092, i16 1093, i16 593, i16 594, i16 595, i16 1100, i16 1101, i16 675, i16 676, i16 677, i16 678, i16 0, i16 0, i16 333, i16 334, i16 335, i16 336, i16 337, i16 338, i16 339, i16 340, i16 845, i16 846, i16 847, i16 848, i16 849, i16 850, i16 851, i16 852, i16 591, i16 592, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1360, i16 1361, i16 1362, i16 1363, i16 1364, i16 1365, i16 1366, i16 0, i16 596, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 341, i16 342, i16 343, i16 344, i16 345, i16 346, i16 347, i16 348, i16 853, i16 854, i16 855, i16 1137, i16 856, i16 1138, i16 857, i16 858, i16 599, i16 600, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1111, i16 1112, i16 1113, i16 1114, i16 1115, i16 1116, i16 1117, i16 1118, i16 859, i16 860, i16 861, i16 862, i16 863, i16 864, i16 865, i16 866, i16 349, i16 350, i16 351, i16 352, i16 353, i16 354, i16 355, i16 356, i16 1374, i16 1375, i16 1376, i16 1377, i16 1378, i16 1379, i16 1380, i16 1381, i16 1119, i16 1120, i16 1121, i16 1122, i16 1123, i16 0, i16 0, i16 0, i16 608, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 1632, i16 523, i16 1633, i16 1634, i16 1635, i16 533, i16 541, i16 1636, i16 867, i16 868, i16 869, i16 870, i16 871, i16 872, i16 873, i16 874, i16 357, i16 358, i16 359, i16 360, i16 361, i16 362, i16 363, i16 364, i16 1382, i16 1383, i16 1384, i16 1385, i16 1386, i16 1387, i16 1388, i16 1389, i16 875, i16 876, i16 877, i16 878, i16 879, i16 880, i16 881, i16 882, i16 620, i16 621, i16 622, i16 625, i16 626, i16 627, i16 628, i16 631, i16 365, i16 160, i16 192, i16 194, i16 191, i16 195, i16 241, i16 185, i16 366, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 1390, i16 1391, i16 1392, i16 1393, i16 1394, i16 1395, i16 1396, i16 1397, i16 1646, i16 446, i16 1647, i16 1648, i16 1649, i16 456, i16 464, i16 1650, i16 623, i16 624, i16 633, i16 634, i16 629, i16 630, i16 1098, i16 1099, i16 883, i16 884, i16 885, i16 1153, i16 886, i16 1154, i16 887, i16 888, i16 374, i16 375, i16 158, i16 157, i16 234, i16 236, i16 238, i16 161, i16 1398, i16 1399, i16 1400, i16 1401, i16 1402, i16 1403, i16 1404, i16 0, i16 632, i16 635, i16 636, i16 637, i16 638, i16 639, i16 640, i16 641, i16 1146, i16 1147, i16 1148, i16 1150, i16 1149, i16 0, i16 1151, i16 1152, i16 1658, i16 1659, i16 1660, i16 954, i16 957, i16 959, i16 961, i16 964, i16 383, i16 0, i16 0, i16 0, i16 387, i16 388, i16 389, i16 390, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 391, i16 392, i16 219, i16 217, i16 0, i16 178, i16 180, i16 0, i16 650, i16 651, i16 652, i16 653, i16 654, i16 655, i16 656, i16 657, i16 1163, i16 1164, i16 1165, i16 0, i16 0, i16 0, i16 0, i16 0, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 403, i16 402, i16 404, i16 405, i16 415, i16 414, i16 991, i16 416, i16 150, i16 159, i16 172, i16 215, i16 193, i16 216, i16 214, i16 169, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 1179, i16 1178, i16 1201, i16 1200, i16 0, i16 0, i16 0, i16 0, i16 413, i16 1642, i16 421, i16 422, i16 1643, i16 431, i16 1644, i16 1645, i16 674, i16 1094, i16 1095, i16 1096, i16 1097, i16 679, i16 680, i16 681, i16 164, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 167, i16 384, i16 438, i16 176, i16 377, i16 381, i16 382, i16 162, i16 423, i16 505, i16 426, i16 508, i16 429, i16 506, i16 427, i16 509, i16 168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 170, i16 171, i16 0, i16 0, i16 173, i16 174, i16 0, i16 0, i16 682, i16 683, i16 684, i16 685, i16 686, i16 687, i16 688, i16 689, i16 430, i16 507, i16 428, i16 512, i16 434, i16 514, i16 436, i16 513, i16 177, i16 179, i16 212, i16 218, i16 156, i16 155, i16 165, i16 163, i16 690, i16 1102, i16 1103, i16 1104, i16 1105, i16 693, i16 694, i16 1110, i16 435, i16 433, i16 1035, i16 995, i16 520, i16 443, i16 0, i16 0, i16 1203, i16 1202, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1209, i16 1208, i16 0, i16 0, i16 0, i16 0, i16 1245, i16 1244, i16 699, i16 700, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 955, i16 956, i16 958, i16 0, i16 960, i16 0, i16 962, i16 963, i16 190, i16 474, i16 477, i16 1624, i16 1625, i16 481, i16 1626, i16 1627, i16 703, i16 1652, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 1215, i16 1214, i16 1213, i16 1212, i16 0, i16 0, i16 0, i16 0, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 965, i16 966, i16 968, i16 969, i16 277, i16 278, i16 280, i16 281, i16 711, i16 712, i16 713, i16 1653, i16 715, i16 716, i16 717, i16 718, i16 967, i16 276, i16 279, i16 1552, i16 1553, i16 1554, i16 0, i16 0, i16 971, i16 970, i16 972, i16 973, i16 974, i16 975, i16 977, i16 978, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 719, i16 720, i16 721, i16 722, i16 1654, i16 724, i16 725, i16 726, i16 466, i16 467, i16 1651, i16 183, i16 240, i16 184, i16 229, i16 332, i16 727, i16 1655, i16 1656, i16 0, i16 0, i16 0, i16 0, i16 0, i16 983, i16 994, i16 440, i16 439, i16 441, i16 442, i16 996, i16 231, i16 476, i16 396, i16 1016, i16 976, i16 475, i16 395, i16 1019, i16 979, i16 222, i16 393, i16 397, i16 1638, i16 1639, i16 401, i16 1640, i16 1641, i16 738, i16 742, i16 745, i16 0, i16 755, i16 0, i16 765, i16 777, i16 227, i16 187, i16 394, i16 175, i16 239, i16 154, i16 188, i16 153, i16 483, i16 482, i16 484, i16 485, i16 495, i16 494, i16 1031, i16 496, i16 740, i16 788, i16 736, i16 784, i16 761, i16 812, i16 763, i16 815, i16 997, i16 458, i16 457, i16 459, i16 1004, i16 468, i16 473, i16 469, i16 743, i16 744, i16 747, i16 750, i16 751, i16 752, i16 753, i16 754, i16 488, i16 408, i16 486, i16 406, i16 1026, i16 986, i16 1025, i16 985, i16 233, i16 0, i16 0, i16 0, i16 235, i16 237, i16 0, i16 0, i16 493, i16 1628, i16 501, i16 502, i16 1629, i16 510, i16 1630, i16 1631, i16 497, i16 417, i16 499, i16 419, i16 0, i16 0, i16 498, i16 418, i16 242, i16 220, i16 385, i16 386, i16 221, i16 243, i16 186, i16 166, i16 1011, i16 1010, i16 1012, i16 1013, i16 1014, i16 1015, i16 1017, i16 1018, i16 756, i16 757, i16 0, i16 759, i16 762, i16 764, i16 770, i16 772, i16 248, i16 0, i16 0, i16 0, i16 252, i16 0, i16 0, i16 0, i16 1020, i16 980, i16 1022, i16 982, i16 1021, i16 981, i16 480, i16 400, i16 254, i16 0, i16 0, i16 0, i16 249, i16 0, i16 0, i16 0, i16 1023, i16 1034, i16 517, i16 516, i16 518, i16 519, i16 1036, i16 232, i16 8, i16 13, i16 9, i16 5, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 14, i16 7, i16 11, i16 3, i16 6, i16 0, i16 0, i16 0, i16 0, i16 10, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 81, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8, i16 42, i16 98, i16 109, i16 122, i16 130, i16 140, i16 151, i16 164, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 35, i16 0, i16 108, i16 0, i16 110, i16 120, i16 125, i16 133, i16 0, i16 0, i16 0, i16 0, i16 15, i16 0, i16 141, i16 148, i16 112, i16 117, i16 160, i16 139, i16 149, i16 57, i16 167, i16 170, i16 174, i16 47, i16 60, i16 61, i16 39, i16 0, i16 0, i16 11, i16 92, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 43, i16 18, i16 0, i16 0, i16 10, i16 12, i16 51, i16 119, i16 93, i16 169, i16 172, i16 96, i16 0, i16 0, i16 28, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 23, i16 9, i16 0, i16 14, i16 66, i16 0, i16 67, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 32, i16 75, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 46, i16 147, i16 152, i16 156, i16 31, i16 0, i16 0, i16 157, i16 161, i16 0, i16 36, i16 0, i16 0, i16 0, i16 0, i16 0, i16 37, i16 22, i16 176, i16 0, i16 0, i16 38, i16 181, i16 63, i16 70, i16 48, i16 17, i16 0, i16 73, i16 74, i16 0, i16 0, i16 52, i16 102, i16 135, i16 155, i16 114, i16 171, i16 101, i16 173, i16 111, i16 121, i16 94, i16 127, i16 142, i16 103, i16 143, i16 104, i16 175, i16 180, i16 89, i16 62, i16 124, i16 71, i16 80, i16 83, i16 20, i16 49, i16 166, i16 95, i16 7, i16 106, i16 165, i16 26, i16 55, i16 153, i16 179, i16 154, i16 182, i16 56, i16 40, i16 41, i16 77, i16 158, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 79, i16 86, i16 0, i16 76, i16 82, i16 88, i16 0, i16 59, i16 69, i16 85, i16 99, i16 116, i16 131, i16 58, i16 68, i16 84, i16 97, i16 115, i16 128, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 78, i16 50, i16 87, i16 27, i16 33, i16 34, i16 123, i16 0, i16 44, i16 16, i16 24, i16 0, i16 25, i16 0, i16 3, i16 0, i16 45, i16 105, i16 107, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 126, i16 54, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 144, i16 177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 13, i16 21, i16 19, i16 0, i16 0, i16 53, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 29, i16 30, i16 129, i16 137, i16 146, i16 138, i16 134, i16 0, i16 0, i16 159, i16 178, i16 90, i16 118, i16 132, i16 163, i16 64, i16 72, i16 91, i16 113, i16 162, i16 145, i16 65, i16 150, i16 168, i16 100, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 136, i16 5, i16 6, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 592, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 161, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 172, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 167, i16 168, i16 169, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 170, i16 0, i16 171, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 714, i16 715, i16 864, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1505, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 524, i16 0, i16 525, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 581, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1348, i16 0, i16 0, i16 0, i16 1349, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1923, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 526, i16 527, i16 528, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 427, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 343, i16 344, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 290, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 594, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 742, i16 743, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1924, i16 146, i16 0, i16 1925, i16 0, i16 1926, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 232, i16 233, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 234, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 520, i16 521, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 522, i16 523, i16 0, i16 0, i16 0, i16 0, i16 0, i16 345, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 823, i16 824, i16 0, i16 0, i16 0, i16 0, i16 1762, i16 1763, i16 1772, i16 1773, i16 1824, i16 1825, i16 0, i16 0, i16 0, i16 0, i16 323, i16 324, i16 325, i16 326, i16 0, i16 0, i16 0, i16 0, i16 327, i16 0, i16 328, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1371, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 153, i16 154, i16 0, i16 0, i16 0, i16 0, i16 155, i16 0, i16 0, i16 0, i16 156, i16 0, i16 0, i16 0, i16 0, i16 0, i16 157, i16 158, i16 1148, i16 159, i16 1158, i16 1164, i16 1170, i16 0, i16 1187, i16 0, i16 1200, i16 1213, i16 0, i16 0, i16 0, i16 0, i16 1701, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 546, i16 0, i16 0, i16 0, i16 547, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 329, i16 0, i16 330, i16 0, i16 0, i16 331, i16 0, i16 0, i16 0, i16 332, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 333, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 358, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 225, i16 226, i16 0, i16 0, i16 227, i16 0, i16 228, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 229, i16 0, i16 230, i16 0, i16 0, i16 0, i16 231, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 1733, i16 1735, i16 1737, i16 1739, i16 0, i16 0, i16 0, i16 517, i16 518, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 519, i16 0, i16 0, i16 1310, i16 1311, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1312, i16 1313, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1314, i16 1315, i16 1316, i16 1317, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1353, i16 0, i16 1355, i16 0, i16 0, i16 0, i16 1358, i16 0, i16 0, i16 0, i16 0, i16 1362, i16 1363, i16 1366, i16 0, i16 0, i16 593, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 339, i16 340, i16 0, i16 0, i16 341, i16 342, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 348, i16 0, i16 0, i16 0, i16 0, i16 0, i16 349, i16 350, i16 351, i16 352, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 173, i16 174, i16 175, i16 176, i16 177, i16 0, i16 0, i16 180, i16 181, i16 0, i16 0, i16 0, i16 178, i16 179, i16 0, i16 0, i16 499, i16 500, i16 0, i16 0, i16 0, i16 501, i16 0, i16 0, i16 502, i16 0, i16 503, i16 504, i16 0, i16 0, i16 0, i16 282, i16 0, i16 283, i16 284, i16 285, i16 286, i16 287, i16 288, i16 289, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 811, i16 812, i16 0, i16 0, i16 0, i16 0, i16 0, i16 894, i16 895, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 304, i16 305, i16 306, i16 307, i16 0, i16 0, i16 308, i16 309, i16 1700, i16 310, i16 0, i16 0, i16 311, i16 312, i16 313, i16 0, i16 1351, i16 1352, i16 1354, i16 1356, i16 1357, i16 1359, i16 1361, i16 1365, i16 1372, i16 1375, i16 1380, i16 1385, i16 1390, i16 1395, i16 1400, i16 0, i16 596, i16 597, i16 598, i16 599, i16 600, i16 601, i16 602, i16 603, i16 75, i16 78, i16 76, i16 79, i16 77, i16 604, i16 605, i16 0, i16 658, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 672, i16 673, i16 674, i16 675, i16 676, i16 1364, i16 677, i16 678, i16 679, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1234, i16 1230, i16 1224, i16 1236, i16 1288, i16 1244, i16 1246, i16 1248, i16 1258, i16 1264, i16 1276, i16 1254, i16 0, i16 1280, i16 1292, i16 0, i16 1235, i16 1231, i16 1225, i16 1237, i16 1289, i16 1245, i16 1247, i16 1249, i16 1259, i16 1265, i16 1277, i16 1255, i16 0, i16 1281, i16 1293, i16 0, i16 476, i16 477, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1525, i16 1527, i16 1529, i16 1531, i16 1533, i16 1535, i16 1538, i16 1540, i16 1542, i16 1544, i16 1547, i16 1549, i16 1551, i16 1553, i16 1555, i16 0, i16 1526, i16 1528, i16 1530, i16 1532, i16 1534, i16 1536, i16 1539, i16 1541, i16 1543, i16 1545, i16 1548, i16 1550, i16 1552, i16 1554, i16 1556, i16 0, i16 505, i16 0, i16 0, i16 506, i16 0, i16 507, i16 508, i16 0, i16 0, i16 509, i16 510, i16 0, i16 0, i16 511, i16 512, i16 513, i16 514, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 515, i16 516, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1796, i16 1795, i16 881, i16 882, i16 885, i16 886, i16 1801, i16 1802, i16 1803, i16 903, i16 904, i16 1806, i16 1807, i16 905, i16 906, i16 907, i16 263, i16 264, i16 265, i16 266, i16 267, i16 268, i16 269, i16 270, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 1033, i16 1034, i16 1035, i16 1036, i16 1027, i16 1028, i16 1031, i16 1032, i16 1037, i16 1038, i16 1047, i16 1048, i16 1049, i16 1050, i16 1057, i16 1058, i16 778, i16 779, i16 780, i16 781, i16 782, i16 783, i16 784, i16 785, i16 870, i16 871, i16 876, i16 877, i16 972, i16 973, i16 966, i16 967, i16 529, i16 0, i16 530, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 0, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 545, i16 1557, i16 1560, i16 1562, i16 1564, i16 1566, i16 1568, i16 1570, i16 1572, i16 1574, i16 1576, i16 1578, i16 1580, i16 1582, i16 1584, i16 1586, i16 1588, i16 1558, i16 1561, i16 1563, i16 1565, i16 1567, i16 1569, i16 1571, i16 1573, i16 1575, i16 1577, i16 1579, i16 1581, i16 1583, i16 1585, i16 1587, i16 1589, i16 279, i16 280, i16 281, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1818, i16 1819, i16 1830, i16 1831, i16 1007, i16 1008, i16 1832, i16 1833, i16 1013, i16 1014, i16 1834, i16 1835, i16 1029, i16 1030, i16 1838, i16 1839, i16 1055, i16 1056, i16 1098, i16 1099, i16 1090, i16 1091, i16 1100, i16 1101, i16 1088, i16 1089, i16 1096, i16 1097, i16 1852, i16 1853, i16 1854, i16 1855, i16 291, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 292, i16 0, i16 293, i16 0, i16 294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 548, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 0, i16 0, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 1318, i16 1319, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 295, i16 0, i16 296, i16 297, i16 0, i16 298, i16 299, i16 300, i16 301, i16 0, i16 0, i16 302, i16 0, i16 0, i16 0, i16 303, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1335, i16 1836, i16 1837, i16 1053, i16 1054, i16 1045, i16 1046, i16 1051, i16 1052, i16 1086, i16 1087, i16 1846, i16 1847, i16 1066, i16 1067, i16 1074, i16 1075, i16 816, i16 817, i16 818, i16 819, i16 820, i16 1042, i16 1026, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 0, i16 0, i16 0, i16 0, i16 571, i16 0, i16 0, i16 0, i16 1844, i16 1845, i16 1094, i16 1095, i16 1862, i16 1863, i16 1126, i16 1127, i16 1128, i16 1877, i16 1878, i16 1881, i16 1882, i16 1879, i16 1880, i16 1040, i16 1590, i16 1592, i16 1594, i16 1596, i16 1598, i16 1600, i16 1602, i16 1604, i16 1606, i16 1608, i16 1610, i16 1612, i16 1614, i16 1616, i16 1618, i16 1620, i16 1591, i16 1593, i16 1595, i16 1597, i16 1599, i16 1601, i16 1603, i16 1605, i16 1607, i16 1609, i16 1611, i16 1613, i16 1615, i16 1617, i16 1619, i16 1621, i16 1336, i16 1337, i16 1338, i16 1339, i16 1340, i16 1341, i16 1342, i16 1343, i16 1344, i16 1345, i16 1346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 314, i16 0, i16 0, i16 0, i16 0, i16 315, i16 0, i16 316, i16 317, i16 318, i16 319, i16 320, i16 321, i16 0, i16 322, i16 0, i16 572, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 829, i16 830, i16 1790, i16 1791, i16 840, i16 841, i16 848, i16 849, i16 872, i16 873, i16 1799, i16 1800, i16 858, i16 859, i16 878, i16 879, i16 833, i16 834, i16 844, i16 845, i16 846, i16 847, i16 842, i16 843, i16 850, i16 851, i16 838, i16 839, i16 874, i16 875, i16 868, i16 869, i16 1860, i16 1861, i16 1858, i16 1859, i16 1864, i16 1865, i16 1866, i16 1867, i16 1868, i16 1869, i16 1121, i16 1122, i16 1119, i16 1120, i16 1134, i16 1135, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1350, i16 1452, i16 1457, i16 1462, i16 1467, i16 1472, i16 1477, i16 1482, i16 1487, i16 1490, i16 1493, i16 1498, i16 1499, i16 1500, i16 1501, i16 1502, i16 74, i16 87, i16 120, i16 122, i16 119, i16 123, i16 143, i16 114, i16 94, i16 116, i16 683, i16 104, i16 141, i16 82, i16 117, i16 81, i16 1103, i16 0, i16 0, i16 0, i16 0, i16 1142, i16 1143, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1360, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1370, i16 0, i16 1622, i16 1624, i16 1626, i16 1628, i16 1630, i16 1632, i16 1634, i16 1636, i16 1638, i16 1640, i16 1642, i16 1644, i16 1646, i16 1648, i16 1650, i16 1652, i16 1367, i16 1368, i16 1369, i16 1373, i16 1374, i16 1376, i16 1377, i16 1378, i16 1379, i16 1381, i16 1382, i16 1383, i16 1384, i16 1386, i16 1387, i16 1388, i16 1623, i16 1625, i16 1627, i16 1629, i16 1631, i16 1633, i16 1635, i16 1637, i16 1639, i16 1641, i16 1643, i16 1645, i16 1647, i16 1649, i16 1651, i16 1653, i16 1112, i16 1113, i16 1124, i16 1125, i16 1136, i16 1137, i16 1130, i16 1131, i16 1132, i16 1133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 92, i16 1953, i16 730, i16 1954, i16 1955, i16 765, i16 810, i16 822, i16 837, i16 853, i16 884, i16 889, i16 1956, i16 919, i16 1957, i16 942, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 615, i16 616, i16 617, i16 618, i16 619, i16 620, i16 621, i16 1887, i16 1810, i16 944, i16 1816, i16 952, i16 1820, i16 1828, i16 134, i16 1822, i16 1062, i16 1842, i16 1070, i16 1848, i16 1872, i16 1840, i16 1041, i16 1888, i16 1811, i16 945, i16 1817, i16 953, i16 1821, i16 1829, i16 133, i16 1823, i16 1063, i16 1843, i16 1071, i16 1849, i16 1873, i16 1841, i16 1129, i16 353, i16 0, i16 354, i16 0, i16 0, i16 355, i16 0, i16 0, i16 1889, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 865, i16 964, i16 965, i16 1072, i16 1073, i16 1076, i16 1077, i16 1078, i16 1079, i16 1082, i16 1083, i16 1080, i16 1081, i16 0, i16 718, i16 719, i16 356, i16 357, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 359, i16 360, i16 361, i16 362, i16 0, i16 0, i16 363, i16 364, i16 365, i16 366, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1389, i16 1391, i16 1392, i16 1393, i16 1394, i16 1396, i16 1397, i16 1398, i16 1399, i16 1401, i16 1402, i16 1404, i16 1405, i16 1407, i16 1408, i16 1410, i16 367, i16 368, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 379, i16 380, i16 381, i16 382, i16 623, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 1905, i16 445, i16 446, i16 1906, i16 447, i16 1907, i16 448, i16 449, i16 1908, i16 450, i16 451, i16 1909, i16 452, i16 453, i16 454, i16 1910, i16 1138, i16 1139, i16 1140, i16 1141, i16 1144, i16 1145, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 118, i16 1948, i16 729, i16 1949, i16 1950, i16 764, i16 809, i16 821, i16 836, i16 1794, i16 883, i16 888, i16 1951, i16 918, i16 1952, i16 941, i16 1654, i16 1656, i16 1658, i16 1660, i16 1662, i16 1664, i16 1666, i16 1668, i16 1670, i16 1672, i16 1674, i16 1676, i16 1678, i16 1680, i16 1682, i16 1684, i16 1655, i16 1657, i16 1659, i16 1661, i16 1663, i16 1665, i16 1667, i16 1669, i16 1671, i16 1673, i16 1675, i16 1677, i16 1679, i16 1681, i16 1683, i16 1685, i16 1911, i16 455, i16 456, i16 1912, i16 457, i16 458, i16 459, i16 1913, i16 1914, i16 460, i16 461, i16 1915, i16 462, i16 463, i16 464, i16 1916, i16 890, i16 891, i16 896, i16 897, i16 898, i16 899, i16 909, i16 910, i16 911, i16 912, i16 915, i16 916, i16 913, i16 914, i16 920, i16 921, i16 1403, i16 1406, i16 1409, i16 1412, i16 1417, i16 1422, i16 1427, i16 1432, i16 1437, i16 1442, i16 1447, i16 0, i16 0, i16 0, i16 0, i16 0, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 639, i16 640, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 654, i16 1411, i16 1413, i16 1414, i16 1415, i16 1416, i16 1418, i16 1419, i16 1420, i16 1421, i16 1423, i16 1424, i16 1425, i16 1426, i16 1428, i16 1429, i16 1430, i16 135, i16 334, i16 0, i16 0, i16 137, i16 139, i16 0, i16 0, i16 0, i16 0, i16 335, i16 336, i16 0, i16 0, i16 337, i16 338, i16 908, i16 1804, i16 1805, i16 1808, i16 1809, i16 1812, i16 1813, i16 929, i16 930, i16 939, i16 1814, i16 1815, i16 1826, i16 1827, i16 948, i16 949, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 655, i16 656, i16 657, i16 0, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 144, i16 132, i16 1750, i16 1751, i16 91, i16 145, i16 115, i16 96, i16 97, i16 1749, i16 943, i16 105, i16 1734, i16 1736, i16 1738, i16 89, i16 1686, i16 1688, i16 1690, i16 1692, i16 1537, i16 1546, i16 1559, i16 0, i16 0, i16 0, i16 0, i16 577, i16 578, i16 579, i16 580, i16 0, i16 1175, i16 1147, i16 1151, i16 1153, i16 1155, i16 1157, i16 1161, i16 1163, i16 1167, i16 1169, i16 1176, i16 1178, i16 1180, i16 1182, i16 1184, i16 1186, i16 1431, i16 1433, i16 1434, i16 1435, i16 1436, i16 1438, i16 1439, i16 1440, i16 1441, i16 1443, i16 1444, i16 1445, i16 1446, i16 1448, i16 1449, i16 1450, i16 1687, i16 1689, i16 1691, i16 1693, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 573, i16 574, i16 575, i16 576, i16 0, i16 922, i16 923, i16 924, i16 925, i16 931, i16 932, i16 933, i16 934, i16 937, i16 938, i16 935, i16 936, i16 968, i16 969, i16 970, i16 971, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 0, i16 0, i16 0, i16 0, i16 160, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1697, i16 86, i16 101, i16 127, i16 121, i16 128, i16 126, i16 98, i16 106, i16 108, i16 124, i16 130, i16 83, i16 1698, i16 90, i16 1699, i16 162, i16 163, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 164, i16 165, i16 166, i16 1190, i16 1192, i16 0, i16 1194, i16 1197, i16 1199, i16 1206, i16 1208, i16 1210, i16 1212, i16 1171, i16 1201, i16 1150, i16 1160, i16 1166, i16 1173, i16 1191, i16 1193, i16 1196, i16 1195, i16 1198, i16 1202, i16 1207, i16 1209, i16 1211, i16 1214, i16 1174, i16 1204, i16 1189, i16 1203, i16 1215, i16 0, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 1717, i16 1718, i16 1451, i16 1453, i16 1454, i16 1455, i16 1456, i16 1458, i16 1459, i16 1460, i16 1461, i16 1463, i16 1464, i16 1465, i16 1466, i16 1468, i16 1469, i16 1470, i16 428, i16 1890, i16 429, i16 1891, i16 430, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 1892, i16 1893, i16 1894, i16 684, i16 1758, i16 702, i16 722, i16 1764, i16 1760, i16 1770, i16 1780, i16 766, i16 1784, i16 774, i16 788, i16 854, i16 1797, i16 862, i16 866, i16 685, i16 1759, i16 703, i16 723, i16 1765, i16 1761, i16 1771, i16 1781, i16 767, i16 1785, i16 775, i16 789, i16 855, i16 1798, i16 863, i16 867, i16 686, i16 687, i16 700, i16 701, i16 768, i16 769, i16 772, i16 773, i16 856, i16 857, i16 860, i16 861, i16 946, i16 947, i16 950, i16 951, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 698, i16 699, i16 798, i16 799, i16 790, i16 791, i16 792, i16 793, i16 776, i16 777, i16 1205, i16 1149, i16 1152, i16 1154, i16 1156, i16 1159, i16 1162, i16 1165, i16 1168, i16 1172, i16 1177, i16 1179, i16 1181, i16 1183, i16 1185, i16 1188, i16 182, i16 0, i16 0, i16 183, i16 184, i16 185, i16 186, i16 187, i16 99, i16 100, i16 188, i16 189, i16 102, i16 103, i16 190, i16 191, i16 439, i16 1895, i16 1896, i16 1897, i16 440, i16 1898, i16 1899, i16 1900, i16 441, i16 1901, i16 1902, i16 1903, i16 442, i16 1904, i16 443, i16 444, i16 1719, i16 1720, i16 1721, i16 1722, i16 1723, i16 1724, i16 1725, i16 1726, i16 1727, i16 1728, i16 1729, i16 1730, i16 475, i16 0, i16 0, i16 0, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 960, i16 961, i16 962, i16 963, i16 984, i16 985, i16 986, i16 987, i16 988, i16 989, i16 1471, i16 1473, i16 1474, i16 1475, i16 1476, i16 1478, i16 1479, i16 1480, i16 1481, i16 1483, i16 1484, i16 1485, i16 1486, i16 1488, i16 1489, i16 1491, i16 192, i16 193, i16 1702, i16 0, i16 0, i16 194, i16 195, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1216, i16 1218, i16 1220, i16 1222, i16 1228, i16 1232, i16 1238, i16 1240, i16 1242, i16 1250, i16 1252, i16 1256, i16 1260, i16 1262, i16 1266, i16 1268, i16 1217, i16 1219, i16 1221, i16 1223, i16 1229, i16 1233, i16 1239, i16 1241, i16 1243, i16 1251, i16 1253, i16 1257, i16 1261, i16 1263, i16 1267, i16 1269, i16 1731, i16 1740, i16 1741, i16 1742, i16 1743, i16 1744, i16 1745, i16 1746, i16 1747, i16 1748, i16 85, i16 84, i16 136, i16 138, i16 140, i16 88, i16 196, i16 0, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 0, i16 208, i16 0, i16 1732, i16 0, i16 0, i16 0, i16 1752, i16 1753, i16 1754, i16 1755, i16 1756, i16 1757, i16 131, i16 129, i16 209, i16 107, i16 109, i16 0, i16 1226, i16 1227, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 716, i16 717, i16 731, i16 732, i16 733, i16 734, i16 735, i16 736, i16 746, i16 747, i16 753, i16 754, i16 755, i16 756, i16 761, i16 762, i16 465, i16 466, i16 1917, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 1918, i16 0, i16 0, i16 0, i16 0, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 0, i16 724, i16 725, i16 720, i16 721, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 690, i16 691, i16 980, i16 981, i16 978, i16 979, i16 997, i16 998, i16 999, i16 1000, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1492, i16 1494, i16 1495, i16 1496, i16 1497, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 0, i16 0, i16 0, i16 726, i16 727, i16 1774, i16 1775, i16 831, i16 832, i16 827, i16 828, i16 892, i16 893, i16 974, i16 975, i16 976, i16 977, i16 0, i16 0, i16 982, i16 983, i16 1921, i16 1922, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1102, i16 478, i16 0, i16 0, i16 0, i16 479, i16 0, i16 0, i16 0, i16 480, i16 0, i16 0, i16 0, i16 481, i16 0, i16 0, i16 0, i16 990, i16 991, i16 992, i16 993, i16 1092, i16 1093, i16 1084, i16 1085, i16 1104, i16 1105, i16 1106, i16 1107, i16 1108, i16 1109, i16 1110, i16 1111, i16 1503, i16 1504, i16 1506, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 482, i16 483, i16 484, i16 485, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 995, i16 1002, i16 1005, i16 1024, i16 1043, i16 1060, i16 1850, i16 1856, i16 1117, i16 1870, i16 1875, i16 110, i16 125, i16 111, i16 93, i16 80, i16 1507, i16 1508, i16 1509, i16 1510, i16 1511, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 996, i16 1003, i16 1006, i16 1025, i16 1044, i16 1061, i16 1851, i16 1857, i16 1118, i16 1871, i16 1876, i16 112, i16 142, i16 113, i16 95, i16 622, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 494, i16 495, i16 496, i16 0, i16 497, i16 498, i16 0, i16 0, i16 1768, i16 1769, i16 688, i16 689, i16 1766, i16 1767, i16 1776, i16 1777, i16 740, i16 741, i16 744, i16 745, i16 1778, i16 1779, i16 751, i16 752, i16 235, i16 0, i16 236, i16 0, i16 0, i16 0, i16 237, i16 0, i16 0, i16 0, i16 0, i16 238, i16 0, i16 0, i16 0, i16 0, i16 1009, i16 1010, i16 1011, i16 1012, i16 1064, i16 1065, i16 1068, i16 1069, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 757, i16 758, i16 759, i16 760, i16 804, i16 805, i16 802, i16 803, i16 806, i16 807, i16 794, i16 795, i16 800, i16 801, i16 813, i16 814, i16 1270, i16 1272, i16 1274, i16 1278, i16 1282, i16 1284, i16 1286, i16 1290, i16 1294, i16 1296, i16 1299, i16 1300, i16 1303, i16 1304, i16 1306, i16 1308, i16 1782, i16 1783, i16 1788, i16 1789, i16 770, i16 771, i16 796, i16 797, i16 1786, i16 1787, i16 786, i16 787, i16 825, i16 826, i16 1792, i16 1793, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255, i16 256, i16 257, i16 258, i16 259, i16 260, i16 261, i16 262, i16 1271, i16 1273, i16 1275, i16 1279, i16 1283, i16 1285, i16 1287, i16 1291, i16 1295, i16 1297, i16 1298, i16 1301, i16 1302, i16 1305, i16 1307, i16 1309, i16 9, i16 11, i16 8, i16 5, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12, i16 7, i16 13, i16 3, i16 6, i16 0, i16 0, i16 0, i16 0, i16 14, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 181, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8, i16 38, i16 76, i16 84, i16 94, i16 104, i16 117, i16 126, i16 135, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 36, i16 0, i16 170, i16 0, i16 171, i16 176, i16 66, i16 74, i16 0, i16 0, i16 0, i16 0, i16 13, i16 0, i16 81, i16 86, i16 49, i16 50, i16 112, i16 82, i16 96, i16 51, i16 118, i16 120, i16 123, i16 40, i16 54, i16 134, i16 41, i16 0, i16 0, i16 11, i16 165, i16 0, i16 0, i16 0, i16 0, i16 2, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 46, i16 18, i16 0, i16 0, i16 9, i16 12, i16 47, i16 90, i16 67, i16 138, i16 141, i16 71, i16 0, i16 0, i16 26, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 22, i16 10, i16 0, i16 14, i16 142, i16 0, i16 145, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 34, i16 150, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 39, i16 169, i16 98, i16 100, i16 29, i16 0, i16 0, i16 147, i16 110, i16 0, i16 37, i16 0, i16 0, i16 0, i16 0, i16 0, i16 32, i16 21, i16 65, i16 0, i16 0, i16 33, i16 122, i16 129, i16 136, i16 57, i16 17, i16 0, i16 139, i16 140, i16 0, i16 0, i16 55, i16 127, i16 149, i16 128, i16 151, i16 56, i16 44, i16 45, i16 172, i16 131, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 173, i16 179, i16 0, i16 61, i16 175, i16 99, i16 146, i16 180, i16 167, i16 160, i16 168, i16 63, i16 73, i16 97, i16 83, i16 106, i16 52, i16 108, i16 53, i16 132, i16 154, i16 68, i16 93, i16 116, i16 148, i16 70, i16 95, i16 20, i16 62, i16 158, i16 107, i16 7, i16 89, i16 133, i16 25, i16 80, i16 85, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 109, i16 174, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 19, i16 16, i16 0, i16 0, i16 48, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 27, i16 28, i16 103, i16 114, i16 121, i16 115, i16 91, i16 0, i16 0, i16 125, i16 155, i16 72, i16 101, i16 124, i16 157, i16 64, i16 79, i16 119, i16 137, i16 130, i16 111, i16 161, i16 143, i16 163, i16 113, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 92, i16 5, i16 6, i16 3, i16 144, i16 58, i16 152, i16 30, i16 31, i16 35, i16 78, i16 0, i16 42, i16 15, i16 23, i16 0, i16 24, i16 0, i16 4, i16 0, i16 43, i16 69, i16 166, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 153, i16 156, i16 159, i16 0, i16 60, i16 164, i16 178, i16 77, i16 88, i16 105, i16 59, i16 162, i16 177, i16 75, i16 87, i16 102, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 831, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1251, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 842, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 979, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 837, i16 838, i16 839, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 840, i16 0, i16 841, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 121, i16 122, i16 311, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1697, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1539, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1183, i16 0, i16 1184, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1240, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1540, i16 0, i16 0, i16 0, i16 1541, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1058, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1185, i16 1186, i16 1187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 975, i16 976, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 816, i16 811, i16 819, i16 818, i16 800, i16 821, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 929, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1253, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 815, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 167, i16 168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 771, i16 772, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 877, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1179, i16 1180, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1181, i16 1182, i16 0, i16 0, i16 0, i16 0, i16 0, i16 977, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 978, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 260, i16 261, i16 0, i16 0, i16 0, i16 0, i16 125, i16 126, i16 148, i16 149, i16 450, i16 451, i16 0, i16 0, i16 0, i16 0, i16 1563, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 823, i16 824, i16 0, i16 0, i16 0, i16 0, i16 825, i16 0, i16 0, i16 0, i16 826, i16 0, i16 0, i16 0, i16 0, i16 0, i16 827, i16 828, i16 1340, i16 829, i16 1350, i16 1356, i16 1362, i16 0, i16 1379, i16 0, i16 1392, i16 1405, i16 0, i16 0, i16 0, i16 0, i16 946, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 961, i16 962, i16 963, i16 964, i16 0, i16 0, i16 0, i16 0, i16 803, i16 0, i16 965, i16 0, i16 0, i16 0, i16 0, i16 804, i16 0, i16 805, i16 0, i16 0, i16 806, i16 0, i16 0, i16 0, i16 802, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 808, i16 0, i16 876, i16 0, i16 0, i16 0, i16 809, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 878, i16 879, i16 880, i16 881, i16 882, i16 883, i16 884, i16 885, i16 682, i16 684, i16 686, i16 688, i16 0, i16 0, i16 0, i16 0, i16 1205, i16 0, i16 0, i16 0, i16 1206, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 966, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 989, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 767, i16 768, i16 0, i16 0, i16 769, i16 0, i16 770, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1545, i16 0, i16 1547, i16 0, i16 0, i16 0, i16 1550, i16 0, i16 0, i16 0, i16 0, i16 1554, i16 1555, i16 1558, i16 0, i16 0, i16 79, i16 80, i16 81, i16 82, i16 83, i16 0, i16 0, i16 84, i16 85, i16 0, i16 0, i16 0, i16 843, i16 844, i16 0, i16 0, i16 1158, i16 1159, i16 0, i16 0, i16 0, i16 1160, i16 0, i16 0, i16 1161, i16 0, i16 1162, i16 1163, i16 0, i16 0, i16 0, i16 0, i16 1176, i16 1177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1178, i16 0, i16 0, i16 971, i16 972, i16 0, i16 0, i16 973, i16 974, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 980, i16 0, i16 0, i16 0, i16 0, i16 0, i16 981, i16 982, i16 983, i16 984, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1502, i16 1503, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1504, i16 1505, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1506, i16 1507, i16 1508, i16 1509, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1252, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1543, i16 1544, i16 1546, i16 1548, i16 1549, i16 1551, i16 1553, i16 1557, i16 1564, i16 1567, i16 1572, i16 1577, i16 1582, i16 1587, i16 1592, i16 0, i16 1317, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1092, i16 1093, i16 0, i16 1095, i16 0, i16 1097, i16 1098, i16 0, i16 1100, i16 1101, i16 0, i16 1103, i16 1104, i16 1105, i16 0, i16 0, i16 1108, i16 1109, i16 0, i16 1111, i16 1112, i16 1113, i16 0, i16 0, i16 1116, i16 1117, i16 0, i16 1119, i16 1120, i16 1121, i16 0, i16 0, i16 1135, i16 1136, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 391, i16 412, i16 410, i16 420, i16 440, i16 434, i16 791, i16 448, i16 556, i16 554, i16 564, i16 570, i16 646, i16 550, i16 531, i16 0, i16 392, i16 413, i16 411, i16 421, i16 441, i16 435, i16 787, i16 449, i16 557, i16 555, i16 565, i16 571, i16 647, i16 551, i16 653, i16 0, i16 1164, i16 0, i16 0, i16 1165, i16 0, i16 1166, i16 1167, i16 0, i16 0, i16 1168, i16 1169, i16 0, i16 0, i16 1170, i16 1171, i16 0, i16 1426, i16 1422, i16 1416, i16 1428, i16 1480, i16 1436, i16 1438, i16 1440, i16 1450, i16 1456, i16 1468, i16 1446, i16 0, i16 1472, i16 1484, i16 0, i16 1427, i16 1423, i16 1417, i16 1429, i16 1481, i16 1437, i16 1439, i16 1441, i16 1451, i16 1457, i16 1469, i16 1447, i16 0, i16 1473, i16 1485, i16 0, i16 921, i16 0, i16 922, i16 923, i16 924, i16 925, i16 926, i16 927, i16 928, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 943, i16 735, i16 944, i16 945, i16 0, i16 0, i16 793, i16 947, i16 847, i16 788, i16 0, i16 0, i16 949, i16 950, i16 951, i16 0, i16 1717, i16 1719, i16 1721, i16 1723, i16 1725, i16 1727, i16 1730, i16 1732, i16 1734, i16 1736, i16 1739, i16 1741, i16 1743, i16 1745, i16 1747, i16 0, i16 1718, i16 1720, i16 1722, i16 1724, i16 1726, i16 1728, i16 1731, i16 1733, i16 1735, i16 1737, i16 1740, i16 1742, i16 1744, i16 1746, i16 1748, i16 0, i16 1255, i16 1256, i16 1257, i16 1258, i16 1259, i16 1260, i16 1261, i16 1262, i16 707, i16 710, i16 708, i16 711, i16 709, i16 1263, i16 1264, i16 0, i16 248, i16 249, i16 0, i16 0, i16 0, i16 0, i16 0, i16 345, i16 346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1282, i16 1283, i16 1284, i16 1285, i16 1286, i16 1287, i16 1288, i16 1289, i16 1290, i16 1291, i16 1292, i16 1293, i16 1294, i16 1295, i16 1296, i16 1297, i16 517, i16 518, i16 519, i16 520, i16 513, i16 514, i16 527, i16 528, i16 521, i16 522, i16 537, i16 538, i16 539, i16 540, i16 547, i16 548, i16 773, i16 0, i16 774, i16 0, i16 0, i16 0, i16 775, i16 0, i16 0, i16 0, i16 0, i16 776, i16 0, i16 0, i16 0, i16 0, i16 1030, i16 1031, i16 1032, i16 1033, i16 1034, i16 1035, i16 1036, i16 1037, i16 1038, i16 1039, i16 1040, i16 1041, i16 1042, i16 1043, i16 1044, i16 1045, i16 1542, i16 1644, i16 1649, i16 1654, i16 1659, i16 1664, i16 1669, i16 1674, i16 1679, i16 1682, i16 1685, i16 1690, i16 1691, i16 1692, i16 1693, i16 1694, i16 268, i16 269, i16 272, i16 273, i16 281, i16 282, i16 289, i16 290, i16 319, i16 320, i16 329, i16 330, i16 305, i16 306, i16 327, i16 328, i16 780, i16 0, i16 985, i16 0, i16 0, i16 986, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 525, i16 526, i16 543, i16 544, i16 535, i16 536, i16 541, i16 542, i16 584, i16 585, i16 594, i16 595, i16 560, i16 561, i16 568, i16 569, i16 1552, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1562, i16 0, i16 274, i16 275, i16 285, i16 286, i16 287, i16 288, i16 283, i16 284, i16 291, i16 292, i16 279, i16 280, i16 321, i16 322, i16 315, i16 316, i16 1298, i16 1299, i16 1300, i16 1301, i16 1302, i16 1303, i16 1304, i16 1305, i16 1306, i16 1307, i16 1308, i16 1309, i16 1310, i16 1311, i16 1312, i16 1313, i16 1046, i16 1047, i16 1048, i16 1049, i16 1050, i16 1051, i16 1052, i16 1053, i16 1054, i16 1055, i16 1056, i16 1057, i16 0, i16 0, i16 0, i16 0, i16 1814, i16 1816, i16 1818, i16 1820, i16 1822, i16 1824, i16 1826, i16 1828, i16 1830, i16 1832, i16 1834, i16 1836, i16 1838, i16 1840, i16 1842, i16 1844, i16 1559, i16 1560, i16 1561, i16 1565, i16 1566, i16 1568, i16 1569, i16 1570, i16 1571, i16 1573, i16 1574, i16 1575, i16 1576, i16 1578, i16 1579, i16 1580, i16 1815, i16 1817, i16 1819, i16 1821, i16 1823, i16 1825, i16 1827, i16 1829, i16 1831, i16 1833, i16 1835, i16 1837, i16 1839, i16 1841, i16 1843, i16 1845, i16 795, i16 784, i16 0, i16 0, i16 796, i16 797, i16 0, i16 0, i16 0, i16 0, i16 967, i16 968, i16 0, i16 0, i16 969, i16 970, i16 545, i16 546, i16 598, i16 599, i16 588, i16 589, i16 600, i16 601, i16 586, i16 587, i16 596, i16 597, i16 617, i16 618, i16 619, i16 620, i16 1314, i16 1315, i16 1316, i16 0, i16 1318, i16 801, i16 1319, i16 1320, i16 1321, i16 1322, i16 1323, i16 1324, i16 1325, i16 1326, i16 1327, i16 1328, i16 1059, i16 0, i16 1061, i16 0, i16 1063, i16 1064, i16 1065, i16 1066, i16 1067, i16 1068, i16 1069, i16 1070, i16 1071, i16 0, i16 0, i16 0, i16 1060, i16 1062, i16 1072, i16 1073, i16 1074, i16 1076, i16 1077, i16 1078, i16 1080, i16 1081, i16 1082, i16 1084, i16 1085, i16 1086, i16 1088, i16 1091, i16 807, i16 794, i16 699, i16 700, i16 814, i16 766, i16 762, i16 822, i16 817, i16 698, i16 409, i16 786, i16 683, i16 685, i16 687, i16 716, i16 1581, i16 1583, i16 1584, i16 1585, i16 1586, i16 1588, i16 1589, i16 1590, i16 1591, i16 1593, i16 1594, i16 1596, i16 1597, i16 1599, i16 1600, i16 1602, i16 1329, i16 1330, i16 1331, i16 1332, i16 1333, i16 1334, i16 1556, i16 1335, i16 1336, i16 1337, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1075, i16 0, i16 0, i16 0, i16 1079, i16 0, i16 0, i16 0, i16 1083, i16 0, i16 0, i16 0, i16 1087, i16 0, i16 1089, i16 1090, i16 1846, i16 1848, i16 1850, i16 1852, i16 1854, i16 1856, i16 1858, i16 1860, i16 1862, i16 1864, i16 1866, i16 1868, i16 1870, i16 1872, i16 1874, i16 1876, i16 1847, i16 1849, i16 1851, i16 1853, i16 1855, i16 1857, i16 1859, i16 1861, i16 1863, i16 1865, i16 1867, i16 1869, i16 1871, i16 1873, i16 1875, i16 1877, i16 312, i16 432, i16 433, i16 566, i16 567, i16 572, i16 573, i16 574, i16 575, i16 578, i16 579, i16 576, i16 577, i16 0, i16 131, i16 132, i16 1595, i16 1598, i16 1601, i16 1604, i16 1609, i16 1614, i16 1619, i16 1624, i16 1629, i16 1634, i16 1639, i16 0, i16 0, i16 0, i16 0, i16 0, i16 830, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 832, i16 833, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 834, i16 835, i16 836, i16 323, i16 324, i16 332, i16 333, i16 336, i16 337, i16 349, i16 350, i16 354, i16 357, i16 358, i16 367, i16 368, i16 359, i16 360, i16 361, i16 1603, i16 1605, i16 1606, i16 1607, i16 1608, i16 1610, i16 1611, i16 1612, i16 1613, i16 1615, i16 1616, i16 1617, i16 1618, i16 1620, i16 1621, i16 1622, i16 580, i16 581, i16 592, i16 593, i16 628, i16 629, i16 650, i16 651, i16 652, i16 665, i16 666, i16 669, i16 670, i16 678, i16 679, i16 530, i16 1094, i16 1096, i16 1099, i16 1102, i16 1106, i16 1107, i16 1110, i16 1114, i16 1115, i16 1118, i16 1122, i16 1125, i16 1134, i16 0, i16 0, i16 0, i16 77, i16 718, i16 764, i16 756, i16 810, i16 765, i16 739, i16 757, i16 820, i16 761, i16 88, i16 785, i16 781, i16 733, i16 760, i16 812, i16 845, i16 846, i16 948, i16 0, i16 0, i16 848, i16 849, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 78, i16 717, i16 720, i16 798, i16 759, i16 758, i16 755, i16 721, i16 743, i16 745, i16 792, i16 789, i16 713, i16 731, i16 712, i16 741, i16 850, i16 0, i16 851, i16 852, i16 853, i16 854, i16 855, i16 856, i16 857, i16 750, i16 752, i16 858, i16 859, i16 0, i16 813, i16 0, i16 341, i16 342, i16 347, i16 348, i16 351, i16 352, i16 363, i16 364, i16 369, i16 370, i16 373, i16 374, i16 371, i16 372, i16 378, i16 379, i16 1878, i16 1880, i16 1882, i16 1884, i16 1729, i16 1738, i16 1751, i16 0, i16 0, i16 0, i16 0, i16 1236, i16 1237, i16 1238, i16 1239, i16 0, i16 1367, i16 1339, i16 1343, i16 1345, i16 1347, i16 1349, i16 1353, i16 1355, i16 1359, i16 1361, i16 1368, i16 1370, i16 1372, i16 1374, i16 1376, i16 1378, i16 1623, i16 1625, i16 1626, i16 1627, i16 1628, i16 1630, i16 1631, i16 1632, i16 1633, i16 1635, i16 1636, i16 1637, i16 1638, i16 1640, i16 1641, i16 1642, i16 1879, i16 1881, i16 1883, i16 1885, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1232, i16 1233, i16 1234, i16 1235, i16 0, i16 91, i16 89, i16 109, i16 135, i16 129, i16 123, i16 146, i16 171, i16 199, i16 197, i16 207, i16 221, i16 301, i16 299, i16 309, i16 313, i16 603, i16 0, i16 0, i16 0, i16 0, i16 673, i16 674, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 92, i16 90, i16 110, i16 136, i16 130, i16 124, i16 147, i16 172, i16 200, i16 198, i16 208, i16 222, i16 302, i16 300, i16 310, i16 314, i16 93, i16 94, i16 107, i16 108, i16 201, i16 202, i16 205, i16 206, i16 303, i16 304, i16 307, i16 308, i16 414, i16 415, i16 418, i16 419, i16 861, i16 862, i16 863, i16 864, i16 865, i16 866, i16 867, i16 868, i16 869, i16 870, i16 871, i16 872, i16 873, i16 874, i16 875, i16 0, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 231, i16 232, i16 223, i16 224, i16 225, i16 226, i16 209, i16 210, i16 1123, i16 1124, i16 0, i16 1126, i16 1127, i16 1128, i16 1129, i16 1130, i16 1131, i16 1132, i16 1133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 612, i16 613, i16 648, i16 649, i16 660, i16 661, i16 654, i16 655, i16 656, i16 657, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1382, i16 1384, i16 0, i16 1386, i16 1389, i16 1391, i16 1398, i16 1400, i16 1402, i16 1404, i16 1363, i16 1393, i16 1342, i16 1352, i16 1358, i16 1365, i16 1383, i16 1385, i16 1388, i16 1387, i16 1390, i16 1394, i16 1399, i16 1401, i16 1403, i16 1406, i16 1366, i16 1396, i16 1381, i16 1395, i16 1407, i16 0, i16 362, i16 365, i16 366, i16 387, i16 388, i16 397, i16 398, i16 389, i16 390, i16 403, i16 405, i16 406, i16 456, i16 457, i16 416, i16 417, i16 1643, i16 1645, i16 1646, i16 1647, i16 1648, i16 1650, i16 1651, i16 1652, i16 1653, i16 1655, i16 1656, i16 1657, i16 1658, i16 1660, i16 1661, i16 1662, i16 1137, i16 0, i16 0, i16 0, i16 1138, i16 0, i16 0, i16 0, i16 1139, i16 0, i16 0, i16 0, i16 1140, i16 0, i16 0, i16 0, i16 626, i16 627, i16 624, i16 625, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 641, i16 642, i16 639, i16 640, i16 658, i16 659, i16 1141, i16 1142, i16 1143, i16 1144, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1397, i16 1341, i16 1344, i16 1346, i16 1348, i16 1351, i16 1354, i16 1357, i16 1360, i16 1364, i16 1369, i16 1371, i16 1373, i16 1375, i16 1377, i16 1380, i16 886, i16 887, i16 888, i16 889, i16 890, i16 891, i16 892, i16 893, i16 894, i16 895, i16 896, i16 897, i16 898, i16 899, i16 900, i16 901, i16 1145, i16 1146, i16 1147, i16 1148, i16 1149, i16 1150, i16 1151, i16 1152, i16 1153, i16 1154, i16 1155, i16 0, i16 1156, i16 1157, i16 0, i16 0, i16 380, i16 381, i16 382, i16 383, i16 393, i16 394, i16 395, i16 396, i16 401, i16 402, i16 399, i16 400, i16 442, i16 443, i16 444, i16 445, i16 127, i16 128, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 173, i16 174, i16 182, i16 183, i16 184, i16 185, i16 192, i16 193, i16 1663, i16 1665, i16 1666, i16 1667, i16 1668, i16 1670, i16 1671, i16 1672, i16 1673, i16 1675, i16 1676, i16 1677, i16 1678, i16 1680, i16 1681, i16 1683, i16 1408, i16 1410, i16 1412, i16 1414, i16 1420, i16 1424, i16 1430, i16 1432, i16 1434, i16 1442, i16 1444, i16 1448, i16 1452, i16 1454, i16 1458, i16 1460, i16 1409, i16 1411, i16 1413, i16 1415, i16 1421, i16 1425, i16 1431, i16 1433, i16 1435, i16 1443, i16 1445, i16 1449, i16 1453, i16 1455, i16 1459, i16 1461, i16 902, i16 903, i16 904, i16 905, i16 906, i16 907, i16 908, i16 909, i16 910, i16 911, i16 912, i16 913, i16 914, i16 915, i16 916, i16 917, i16 137, i16 138, i16 133, i16 134, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 97, i16 98, i16 1418, i16 1419, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 141, i16 142, i16 95, i16 96, i16 139, i16 140, i16 163, i16 164, i16 165, i16 166, i16 169, i16 170, i16 175, i16 176, i16 180, i16 181, i16 143, i16 144, i16 150, i16 151, i16 270, i16 271, i16 266, i16 267, i16 343, i16 344, i16 452, i16 453, i16 454, i16 455, i16 0, i16 0, i16 1172, i16 1173, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1174, i16 1175, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1684, i16 1686, i16 1687, i16 1688, i16 1689, i16 1709, i16 1710, i16 1711, i16 1712, i16 1713, i16 1714, i16 1715, i16 1716, i16 0, i16 0, i16 0, i16 918, i16 919, i16 920, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 667, i16 668, i16 671, i16 672, i16 675, i16 676, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1695, i16 1696, i16 1698, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 930, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 931, i16 0, i16 932, i16 0, i16 933, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1699, i16 1700, i16 1701, i16 1702, i16 1703, i16 1704, i16 1705, i16 1706, i16 1707, i16 1708, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1188, i16 0, i16 1189, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 431, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 934, i16 0, i16 935, i16 936, i16 0, i16 937, i16 938, i16 939, i16 940, i16 0, i16 0, i16 941, i16 0, i16 0, i16 0, i16 942, i16 1190, i16 1191, i16 1192, i16 1193, i16 1194, i16 1195, i16 1196, i16 1197, i16 0, i16 1198, i16 1199, i16 1200, i16 1201, i16 1202, i16 1203, i16 1204, i16 680, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 719, i16 714, i16 749, i16 778, i16 751, i16 715, i16 681, i16 0, i16 0, i16 0, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 790, i16 732, i16 860, i16 744, i16 746, i16 0, i16 436, i16 437, i16 475, i16 476, i16 489, i16 490, i16 499, i16 500, i16 505, i16 506, i16 511, i16 512, i16 515, i16 516, i16 523, i16 524, i16 1462, i16 1464, i16 1466, i16 1470, i16 1474, i16 1476, i16 1478, i16 1482, i16 1486, i16 1488, i16 1491, i16 1492, i16 1495, i16 1496, i16 1498, i16 1500, i16 1207, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1463, i16 1465, i16 1467, i16 1471, i16 1475, i16 1477, i16 1479, i16 1483, i16 1487, i16 1489, i16 1490, i16 1493, i16 1494, i16 1497, i16 1499, i16 1501, i16 952, i16 0, i16 0, i16 0, i16 0, i16 953, i16 0, i16 954, i16 955, i16 956, i16 957, i16 958, i16 959, i16 0, i16 960, i16 0, i16 1208, i16 1209, i16 1210, i16 1211, i16 1212, i16 1213, i16 1214, i16 1215, i16 0, i16 0, i16 1216, i16 1217, i16 1218, i16 1219, i16 1220, i16 1221, i16 186, i16 187, i16 237, i16 238, i16 203, i16 204, i16 229, i16 230, i16 235, i16 236, i16 219, i16 220, i16 264, i16 265, i16 262, i16 263, i16 188, i16 189, i16 190, i16 191, i16 241, i16 242, i16 239, i16 240, i16 243, i16 244, i16 227, i16 228, i16 233, i16 234, i16 250, i16 251, i16 1222, i16 1223, i16 1224, i16 1225, i16 1226, i16 1227, i16 1228, i16 1229, i16 0, i16 0, i16 0, i16 0, i16 1230, i16 0, i16 0, i16 0, i16 460, i16 461, i16 458, i16 459, i16 479, i16 480, i16 481, i16 482, i16 495, i16 496, i16 497, i16 498, i16 501, i16 502, i16 503, i16 504, i16 462, i16 463, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 602, i16 1231, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 722, i16 87, i16 153, i16 1888, i16 179, i16 196, i16 247, i16 259, i16 278, i16 298, i16 335, i16 340, i16 356, i16 377, i16 386, i16 408, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 317, i16 318, i16 325, i16 326, i16 446, i16 447, i16 438, i16 439, i16 1749, i16 1752, i16 1754, i16 1756, i16 1758, i16 1760, i16 1762, i16 1764, i16 1766, i16 1768, i16 1770, i16 1772, i16 1774, i16 1776, i16 1778, i16 1780, i16 470, i16 471, i16 472, i16 473, i16 590, i16 591, i16 582, i16 583, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 1750, i16 1753, i16 1755, i16 1757, i16 1759, i16 1761, i16 1763, i16 1765, i16 1767, i16 1769, i16 1771, i16 1773, i16 1775, i16 1777, i16 1779, i16 1781, i16 1241, i16 1242, i16 1243, i16 1244, i16 1245, i16 1246, i16 1247, i16 1248, i16 1249, i16 1250, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 987, i16 988, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 477, i16 484, i16 487, i16 508, i16 533, i16 552, i16 615, i16 622, i16 637, i16 644, i16 663, i16 747, i16 742, i16 748, i16 779, i16 777, i16 478, i16 485, i16 488, i16 509, i16 534, i16 553, i16 616, i16 623, i16 638, i16 645, i16 664, i16 753, i16 740, i16 754, i16 799, i16 1281, i16 734, i16 0, i16 0, i16 736, i16 737, i16 738, i16 782, i16 783, i16 729, i16 730, i16 723, i16 728, i16 726, i16 727, i16 724, i16 725, i16 990, i16 991, i16 992, i16 993, i16 0, i16 0, i16 994, i16 995, i16 996, i16 997, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 998, i16 999, i16 1000, i16 1001, i16 1002, i16 1003, i16 1004, i16 1005, i16 1006, i16 1007, i16 1008, i16 1009, i16 1010, i16 1011, i16 1012, i16 1013, i16 1510, i16 1511, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1512, i16 1513, i16 1514, i16 1515, i16 1516, i16 1517, i16 1518, i16 1519, i16 1520, i16 1521, i16 1522, i16 1523, i16 1524, i16 1525, i16 1526, i16 1527, i16 491, i16 492, i16 493, i16 494, i16 558, i16 559, i16 562, i16 563, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1265, i16 1266, i16 1267, i16 1268, i16 1269, i16 1270, i16 1271, i16 1272, i16 1273, i16 1274, i16 1275, i16 1276, i16 1277, i16 1278, i16 1279, i16 1280, i16 1014, i16 1015, i16 1016, i16 1017, i16 1018, i16 1019, i16 1020, i16 1021, i16 1022, i16 1023, i16 1024, i16 1025, i16 1026, i16 1027, i16 1028, i16 1029, i16 1782, i16 1784, i16 1786, i16 1788, i16 1790, i16 1792, i16 1794, i16 1796, i16 1798, i16 1800, i16 1802, i16 1804, i16 1806, i16 1808, i16 1810, i16 1812, i16 1783, i16 1785, i16 1787, i16 1789, i16 1791, i16 1793, i16 1795, i16 1797, i16 1799, i16 1801, i16 1803, i16 1805, i16 1807, i16 1809, i16 1811, i16 1813, i16 1528, i16 1529, i16 1530, i16 1531, i16 1532, i16 1533, i16 1534, i16 1535, i16 1536, i16 1537, i16 1538, i16 0, i16 0, i16 0, i16 0, i16 0, i16 763, i16 86, i16 152, i16 1887, i16 178, i16 195, i16 246, i16 258, i16 277, i16 297, i16 334, i16 339, i16 355, i16 376, i16 385, i16 407, i16 253, i16 254, i16 255, i16 256, i16 257, i16 532, i16 510, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 3, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 5, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 134, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 136, i16 0, i16 0, i16 0, i16 137, i16 0, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 1, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 12, i16 14, i16 16, i16 18, i16 20, i16 22, i16 24, i16 26, i16 28, i16 30, i16 32, i16 34, i16 36, i16 38, i16 40, i16 42, i16 44, i16 46, i16 48, i16 50, i16 52, i16 54, i16 56, i16 58, i16 60, i16 62, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 13, i16 15, i16 17, i16 19, i16 21, i16 23, i16 25, i16 27, i16 29, i16 31, i16 33, i16 35, i16 37, i16 39, i16 41, i16 43, i16 45, i16 47, i16 49, i16 51, i16 53, i16 55, i16 57, i16 59, i16 61, i16 63, i16 92, i16 93, i16 94, i16 95, i16 202, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 96, i16 0, i16 0, i16 0, i16 133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 135, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 203, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 5, i16 6, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 4, i16 3, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 126, i16 132, i16 138, i16 144, i16 150, i16 156, i16 162, i16 168, i16 174, i16 180, i16 186, i16 192, i16 198, i16 204, i16 210, i16 216, i16 222, i16 228, i16 234, i16 240, i16 246, i16 252, i16 258, i16 264, i16 270, i16 276, i16 282, i16 288, i16 294, i16 300, i16 306, i16 7, i16 13, i16 23, i16 39, i16 32, i16 40, i16 38, i16 22, i16 24, i16 29, i16 36, i16 41, i16 10, i16 9, i16 16, i16 15, i16 54, i16 56, i16 58, i16 60, i16 62, i16 64, i16 66, i16 68, i16 70, i16 72, i16 12, i16 11, i16 42, i16 43, i16 44, i16 14, i16 19, i16 75, i16 77, i16 79, i16 81, i16 83, i16 85, i16 87, i16 89, i16 91, i16 93, i16 95, i16 97, i16 99, i16 101, i16 103, i16 105, i16 107, i16 109, i16 111, i16 113, i16 115, i16 117, i16 119, i16 121, i16 123, i16 125, i16 26, i16 45, i16 27, i16 21, i16 0, i16 30, i16 74, i16 76, i16 78, i16 80, i16 82, i16 84, i16 86, i16 88, i16 90, i16 92, i16 94, i16 96, i16 98, i16 100, i16 102, i16 104, i16 106, i16 108, i16 110, i16 112, i16 114, i16 116, i16 118, i16 120, i16 122, i16 124, i16 25, i16 37, i16 28, i16 20, i16 8, i16 312, i16 318, i16 324, i16 330, i16 336, i16 337, i16 343, i16 344, i16 350, i16 356, i16 362, i16 368, i16 374, i16 380, i16 386, i16 17, i16 393, i16 394, i16 395, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 47, i16 0, i16 0, i16 0, i16 0, i16 31, i16 410, i16 411, i16 412, i16 413, i16 414, i16 396, i16 18, i16 49, i16 50, i16 51, i16 52, i16 53, i16 48, i16 392, i16 46, i16 33, i16 55, i16 57, i16 59, i16 61, i16 63, i16 65, i16 67, i16 69, i16 71, i16 73, i16 34, i16 35, i16 0, i16 0, i16 0, i16 0, i16 32, i16 3, i16 45, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7, i16 37, i16 2, i16 12, i16 0, i16 0, i16 0, i16 0, i16 27, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 25, i16 33, i16 28, i16 44, i16 11, i16 14, i16 29, i16 40, i16 23, i16 9, i16 20, i16 10, i16 38, i16 22, i16 42, i16 31, i16 49, i16 36, i16 43, i16 16, i16 15, i16 26, i16 21, i16 35, i16 17, i16 18, i16 13, i16 47, i16 24, i16 6, i16 34, i16 4, i16 39, i16 19, i16 8, i16 41, i16 5, i16 48, i16 50, i16 46, i16 30, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 266, i16 373, i16 661, i16 236, i16 595, i16 0, i16 0, i16 94, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 615, i16 647, i16 136, i16 0, i16 0, i16 390, i16 36, i16 15, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 31, i16 0, i16 0, i16 0, i16 0, i16 0, i16 60, i16 455, i16 499, i16 0, i16 0, i16 4, i16 259, i16 192, i16 133, i16 445, i16 669, i16 550, i16 172, i16 0, i16 0, i16 62, i16 153, i16 389, i16 409, i16 145, i16 1, i16 180, i16 570, i16 258, i16 261, i16 414, i16 610, i16 140, i16 566, i16 280, i16 150, i16 468, i16 333, i16 655, i16 176, i16 402, i16 260, i16 173, i16 607, i16 281, i16 293, i16 306, i16 319, i16 267, i16 168, i16 368, i16 382, i16 456, i16 249, i16 437, i16 500, i16 95, i16 14, i16 465, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 68, i16 129, i16 0, i16 0, i16 12, i16 0, i16 9, i16 0, i16 533, i16 84, i16 587, i16 606, i16 447, i16 652, i16 668, i16 291, i16 318, i16 459, i16 61, i16 659, i16 395, i16 195, i16 202, i16 186, i16 30, i16 590, i16 617, i16 422, i16 209, i16 535, i16 137, i16 485, i16 511, i16 222, i16 165, i16 337, i16 355, i16 371, i16 385, i16 190, i16 35, i16 627, i16 98, i16 660, i16 85, i16 278, i16 244, i16 376, i16 391, i16 101, i16 69, i16 377, i16 185, i16 401, i16 205, i16 453, i16 38, i16 24, i16 331, i16 352, i16 644, i16 649, i16 662, i16 398, i16 673, i16 454, i16 287, i16 152, i16 223, i16 307, i16 294, i16 419, i16 39, i16 0, i16 357, i16 22, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 296, i16 160, i16 363, i16 342, i16 360, i16 378, i16 42, i16 415, i16 434, i16 206, i16 431, i16 13, i16 490, i16 462, i16 521, i16 486, i16 304, i16 593, i16 525, i16 253, i16 622, i16 645, i16 234, i16 269, i16 104, i16 279, i16 63, i16 425, i16 199, i16 78, i16 174, i16 72, i16 569, i16 295, i16 620, i16 161, i16 340, i16 658, i16 273, i16 680, i16 289, i16 404, i16 361, i16 359, i16 372, i16 423, i16 73, i16 417, i16 315, i16 132, i16 356, i16 362, i16 381, i16 412, i16 26, i16 594, i16 87, i16 471, i16 497, i16 601, i16 227, i16 118, i16 542, i16 557, i16 317, i16 353, i16 265, i16 182, i16 188, i16 0, i16 0, i16 0, i16 0, i16 5, i16 74, i16 544, i16 448, i16 211, i16 475, i16 575, i16 599, i16 524, i16 545, i16 552, i16 239, i16 157, i16 66, i16 585, i16 103, i16 614, i16 48, i16 632, i16 687, i16 282, i16 308, i16 329, i16 604, i16 514, i16 183, i16 537, i16 530, i16 326, i16 177, i16 226, i16 380, i16 406, i16 76, i16 204, i16 208, i16 215, i16 584, i16 247, i16 605, i16 428, i16 679, i16 634, i16 637, i16 37, i16 138, i16 316, i16 196, i16 34, i16 230, i16 44, i16 286, i16 676, i16 312, i16 603, i16 609, i16 549, i16 513, i16 310, i16 325, i16 346, i16 77, i16 388, i16 128, i16 399, i16 411, i16 418, i16 54, i16 444, i16 299, i16 480, i16 113, i16 197, i16 602, i16 89, i16 158, i16 635, i16 59, i16 670, i16 493, i16 276, i16 105, i16 416, i16 429, i16 334, i16 159, i16 110, i16 370, i16 384, i16 684, i16 248, i16 424, i16 301, i16 156, i16 343, i16 242, i16 214, i16 504, i16 515, i16 556, i16 403, i16 81, i16 364, i16 374, i16 189, i16 413, i16 427, i16 28, i16 207, i16 473, i16 494, i16 672, i16 228, i16 540, i16 283, i16 100, i16 586, i16 323, i16 344, i16 375, i16 155, i16 630, i16 124, i16 626, i16 526, i16 613, i16 665, i16 677, i16 16, i16 305, i16 290, i16 167, i16 339, i16 383, i16 408, i16 122, i16 449, i16 80, i16 467, i16 169, i16 218, i16 200, i16 532, i16 543, i16 561, i16 508, i16 510, i16 553, i16 256, i16 582, i16 653, i16 643, i16 0, i16 241, i16 619, i16 666, i16 147, i16 348, i16 397, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 648, i16 141, i16 82, i16 292, i16 309, i16 608, i16 354, i16 410, i16 386, i16 311, i16 439, i16 321, i16 109, i16 460, i16 481, i16 498, i16 394, i16 495, i16 461, i16 112, i16 19, i16 457, i16 254, i16 489, i16 503, i16 221, i16 512, i16 86, i16 527, i16 139, i16 568, i16 580, i16 143, i16 0, i16 0, i16 7, i16 300, i16 49, i16 57, i16 528, i16 102, i16 430, i16 194, i16 564, i16 17, i16 579, i16 0, i16 0, i16 144, i16 83, i16 531, i16 324, i16 229, i16 154, i16 179, i16 387, i16 53, i16 43, i16 277, i16 201, i16 108, i16 21, i16 625, i16 483, i16 146, i16 347, i16 396, i16 446, i16 505, i16 252, i16 336, i16 477, i16 351, i16 379, i16 322, i16 436, i16 0, i16 0, i16 18, i16 8, i16 420, i16 250, i16 450, i16 472, i16 633, i16 518, i16 529, i16 119, i16 631, i16 268, i16 674, i16 142, i16 686, i16 458, i16 134, i16 328, i16 678, i16 488, i16 509, i16 491, i16 541, i16 657, i16 120, i16 563, i16 675, i16 583, i16 245, i16 91, i16 618, i16 0, i16 0, i16 0, i16 683, i16 516, i16 314, i16 681, i16 193, i16 572, i16 358, i16 443, i16 611, i16 421, i16 646, i16 262, i16 272, i16 107, i16 99, i16 538, i16 685, i16 288, i16 64, i16 70, i16 166, i16 50, i16 25, i16 52, i16 71, i16 392, i16 191, i16 426, i16 433, i16 442, i16 451, i16 441, i16 435, i16 438, i16 11, i16 338, i16 106, i16 40, i16 0, i16 0, i16 10, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 440, i16 466, i16 478, i16 501, i16 523, i16 536, i16 554, i16 522, i16 592, i16 581, i16 233, i16 555, i16 251, i16 476, i16 636, i16 264, i16 203, i16 452, i16 474, i16 365, i16 178, i16 187, i16 539, i16 126, i16 565, i16 578, i16 600, i16 220, i16 2, i16 624, i16 639, i16 654, i16 212, i16 562, i16 407, i16 616, i16 33, i16 650, i16 47, i16 332, i16 271, i16 131, i16 97, i16 298, i16 162, i16 341, i16 65, i16 367, i16 213, i16 149, i16 151, i16 302, i16 163, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3, i16 484, i16 345, i16 67, i16 591, i16 469, i16 487, i16 51, i16 171, i16 303, i16 400, i16 175, i16 58, i16 125, i16 598, i16 79, i16 628, i16 463, i16 651, i16 350, i16 274, i16 470, i16 56, i16 464, i16 520, i16 612, i16 640, i16 238, i16 507, i16 123, i16 127, i16 88, i16 623, i16 642, i16 664, i16 548, i16 547, i16 216, i16 682, i16 492, i16 116, i16 519, i16 240, i16 667, i16 588, i16 597, i16 23, i16 559, i16 641, i16 577, i16 93, i16 270, i16 96, i16 225, i16 534, i16 589, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 482, i16 184, i16 224, i16 393, i16 0, i16 0, i16 0, i16 41, i16 121, i16 75, i16 198, i16 517, i16 90, i16 263, i16 210, i16 671, i16 231, i16 496, i16 45, i16 574, i16 246, i16 235, i16 621, i16 32, i16 479, i16 237, i16 560, i16 284, i16 571, i16 327, i16 217, i16 366, i16 232, i16 432, i16 55, i16 111, i16 0, i16 27, i16 114, i16 219, i16 115, i16 573, i16 546, i16 567, i16 6, i16 46, i16 243, i16 130, i16 502, i16 320, i16 92, i16 117, i16 369, i16 551, i16 558, i16 20, i16 164, i16 576, i16 275, i16 257, i16 297, i16 656, i16 596, i16 506, i16 255, i16 629, i16 638, i16 135, i16 0, i16 29, i16 663, i16 285, i16 313, i16 349, i16 148, i16 181, i16 405, i16 330, i16 335, i16 170, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3171, i16 12478, i16 12479, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2196, i16 6503, i16 11985, i16 1886, i16 6504, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2650, i16 12441, i16 12442, i16 0, i16 0, i16 0, i16 0, i16 12443, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2542, i16 11756, i16 11757, i16 6356, i16 0, i16 0, i16 11758, i16 11759, i16 6358, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1165, i16 0, i16 5777, i16 0, i16 5778, i16 10826, i16 10825, i16 10827, i16 10828, i16 10829, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1956, i16 6848, i16 6849, i16 1656, i16 0, i16 12717, i16 0, i16 12718, i16 0, i16 12719, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7035, i16 0, i16 0, i16 1517, i16 7036, i16 13063, i16 13064, i16 13065, i16 7037, i16 0, i16 1888, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7306, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 341, i16 0, i16 342, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 351, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 326, i16 327, i16 325, i16 328, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11125, i16 0, i16 0, i16 5992, i16 0, i16 5993, i16 0, i16 990, i16 11126, i16 0, i16 0, i16 947, i16 5990, i16 11127, i16 0, i16 11128, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 251, i16 0, i16 0, i16 0, i16 0, i16 250, i16 255, i16 0, i16 259, i16 260, i16 0, i16 0, i16 261, i16 262, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 368, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7427, i16 2983, i16 3748, i16 7428, i16 0, i16 7430, i16 3029, i16 7431, i16 3631, i16 7432, i16 2168, i16 7433, i16 1818, i16 7434, i16 1866, i16 965, i16 7435, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3587, i16 0, i16 13156, i16 13157, i16 13158, i16 13159, i16 0, i16 13160, i16 7092, i16 13161, i16 13162, i16 0, i16 0, i16 0, i16 0, i16 7093, i16 5548, i16 13163, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7201, i16 7287, i16 7229, i16 7315, i16 7247, i16 7332, i16 7265, i16 7350, i16 7274, i16 7359, i16 7271, i16 7356, i16 7273, i16 7358, i16 7272, i16 7357, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8287, i16 0, i16 0, i16 0, i16 0, i16 8288, i16 0, i16 2969, i16 8289, i16 0, i16 0, i16 8290, i16 0, i16 0, i16 8291, i16 4207, i16 3113, i16 8292, i16 0, i16 8293, i16 8294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9649, i16 5112, i16 9650, i16 9651, i16 5118, i16 0, i16 0, i16 5116, i16 0, i16 2728, i16 0, i16 0, i16 5123, i16 5113, i16 9652, i16 0, i16 9653, i16 0, i16 9654, i16 5114, i16 5090, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9574, i16 0, i16 9575, i16 0, i16 0, i16 1049, i16 0, i16 0, i16 892, i16 0, i16 9576, i16 5056, i16 0, i16 9577, i16 5059, i16 9578, i16 0, i16 0, i16 3600, i16 9579, i16 0, i16 9580, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 364, i16 0, i16 0, i16 363, i16 0, i16 362, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7882, i16 7883, i16 0, i16 0, i16 4012, i16 3474, i16 0, i16 2068, i16 7884, i16 4018, i16 0, i16 7885, i16 7886, i16 0, i16 4017, i16 4008, i16 0, i16 7887, i16 7888, i16 7889, i16 2472, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 995, i16 0, i16 0, i16 7950, i16 0, i16 0, i16 4058, i16 7951, i16 2153, i16 4054, i16 7952, i16 4052, i16 7953, i16 4053, i16 7954, i16 4055, i16 7955, i16 0, i16 7956, i16 7957, i16 7958, i16 0, i16 7959, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3650, i16 0, i16 9772, i16 5182, i16 0, i16 0, i16 0, i16 847, i16 0, i16 9773, i16 0, i16 9774, i16 9775, i16 9776, i16 9777, i16 0, i16 9778, i16 5184, i16 0, i16 0, i16 9779, i16 5183, i16 0, i16 5181, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10072, i16 10073, i16 5305, i16 0, i16 10074, i16 0, i16 0, i16 5306, i16 10075, i16 0, i16 0, i16 10076, i16 5307, i16 0, i16 0, i16 0, i16 10077, i16 0, i16 10078, i16 10079, i16 866, i16 0, i16 10080, i16 10081, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3182, i16 0, i16 6816, i16 12656, i16 0, i16 12657, i16 12658, i16 6817, i16 12659, i16 6818, i16 0, i16 0, i16 12660, i16 0, i16 6819, i16 12661, i16 12662, i16 0, i16 12663, i16 12664, i16 0, i16 0, i16 0, i16 12665, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11391, i16 0, i16 1000, i16 6110, i16 6111, i16 11358, i16 0, i16 0, i16 0, i16 11359, i16 0, i16 6106, i16 0, i16 1808, i16 11360, i16 0, i16 11361, i16 0, i16 11362, i16 0, i16 11363, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1683, i16 0, i16 12778, i16 0, i16 12779, i16 6888, i16 12780, i16 12781, i16 6889, i16 0, i16 12782, i16 0, i16 12783, i16 12784, i16 12785, i16 0, i16 1055, i16 12786, i16 0, i16 12787, i16 6890, i16 0, i16 12788, i16 12789, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8637, i16 0, i16 0, i16 8638, i16 0, i16 0, i16 8639, i16 4435, i16 4441, i16 4433, i16 0, i16 2779, i16 8640, i16 8641, i16 4438, i16 3156, i16 8642, i16 8643, i16 4432, i16 8644, i16 4437, i16 3636, i16 1834, i16 0, i16 8645, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7102, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7101, i16 7104, i16 7108, i16 7107, i16 0, i16 7105, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11222, i16 0, i16 0, i16 11223, i16 0, i16 3292, i16 0, i16 3660, i16 11224, i16 11225, i16 11226, i16 11227, i16 0, i16 6049, i16 0, i16 0, i16 11228, i16 0, i16 0, i16 11230, i16 11231, i16 6056, i16 11232, i16 0, i16 6048, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8409, i16 8410, i16 0, i16 8411, i16 0, i16 4283, i16 0, i16 0, i16 8412, i16 1205, i16 4284, i16 8413, i16 0, i16 4285, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8414, i16 0, i16 8415, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4599, i16 752, i16 8844, i16 8845, i16 1720, i16 0, i16 8846, i16 0, i16 2177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8847, i16 8848, i16 0, i16 0, i16 8849, i16 2707, i16 0, i16 8850, i16 3053, i16 4605, i16 2405, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4632, i16 0, i16 0, i16 8909, i16 8910, i16 0, i16 0, i16 2464, i16 0, i16 4639, i16 8911, i16 0, i16 8912, i16 4633, i16 8913, i16 0, i16 4630, i16 4637, i16 8914, i16 0, i16 0, i16 0, i16 4607, i16 0, i16 8915, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 316, i16 315, i16 0, i16 0, i16 0, i16 312, i16 0, i16 0, i16 314, i16 313, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8817, i16 0, i16 8818, i16 0, i16 0, i16 3069, i16 4663, i16 0, i16 0, i16 0, i16 0, i16 3279, i16 0, i16 8819, i16 0, i16 2706, i16 8820, i16 8821, i16 0, i16 3368, i16 8822, i16 4583, i16 934, i16 2605, i16 8823, i16 8824, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7940, i16 2549, i16 0, i16 7941, i16 970, i16 7942, i16 0, i16 0, i16 7943, i16 7944, i16 7945, i16 7946, i16 7947, i16 7948, i16 0, i16 4042, i16 0, i16 4044, i16 2069, i16 858, i16 7949, i16 0, i16 4047, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 311, i16 310, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 346, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2652, i16 12969, i16 6980, i16 0, i16 3024, i16 0, i16 6985, i16 6981, i16 0, i16 0, i16 0, i16 6982, i16 0, i16 12970, i16 3300, i16 3413, i16 0, i16 2861, i16 12971, i16 0, i16 12972, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1124, i16 11078, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11079, i16 920, i16 5954, i16 3639, i16 2498, i16 11080, i16 0, i16 3131, i16 0, i16 5966, i16 11081, i16 988, i16 5964, i16 0, i16 5962, i16 5953, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2662, i16 9547, i16 9548, i16 9549, i16 883, i16 1622, i16 5035, i16 0, i16 0, i16 9551, i16 9552, i16 0, i16 9553, i16 1974, i16 5040, i16 0, i16 5039, i16 5034, i16 0, i16 5037, i16 9554, i16 0, i16 1099, i16 9555, i16 5036, i16 2948, i16 9556, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8864, i16 8865, i16 3280, i16 1919, i16 4620, i16 0, i16 4619, i16 8866, i16 8867, i16 2243, i16 0, i16 0, i16 8868, i16 1497, i16 0, i16 8869, i16 8870, i16 4613, i16 2086, i16 8871, i16 0, i16 2885, i16 2924, i16 8872, i16 8873, i16 0, i16 8874, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11173, i16 6028, i16 11174, i16 11175, i16 3524, i16 11176, i16 0, i16 0, i16 11177, i16 3575, i16 11178, i16 0, i16 11179, i16 11180, i16 0, i16 0, i16 0, i16 11181, i16 2619, i16 11182, i16 11183, i16 11184, i16 1102, i16 11185, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6850, i16 12720, i16 0, i16 1057, i16 0, i16 0, i16 0, i16 2954, i16 6851, i16 6852, i16 0, i16 12721, i16 12722, i16 12723, i16 2589, i16 2888, i16 12724, i16 0, i16 0, i16 0, i16 12725, i16 12726, i16 0, i16 6853, i16 12727, i16 0, i16 12728, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4292, i16 0, i16 4294, i16 0, i16 8425, i16 0, i16 8426, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8427, i16 0, i16 0, i16 0, i16 0, i16 8429, i16 0, i16 4295, i16 0, i16 0, i16 0, i16 8428, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10961, i16 5874, i16 10962, i16 0, i16 0, i16 10963, i16 5872, i16 10964, i16 0, i16 2208, i16 0, i16 3164, i16 5877, i16 10965, i16 5876, i16 1639, i16 3710, i16 0, i16 10966, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5893, i16 0, i16 0, i16 0, i16 0, i16 13078, i16 7046, i16 3001, i16 0, i16 13079, i16 7047, i16 7049, i16 0, i16 13080, i16 7050, i16 13081, i16 13082, i16 13083, i16 0, i16 0, i16 13084, i16 13085, i16 13086, i16 0, i16 0, i16 7048, i16 1668, i16 3422, i16 3350, i16 4361, i16 0, i16 4996, i16 3374, i16 0, i16 0, i16 0, i16 0, i16 9766, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9767, i16 5177, i16 2557, i16 5180, i16 5175, i16 9768, i16 9769, i16 0, i16 5179, i16 9770, i16 0, i16 0, i16 9771, i16 5178, i16 2751, i16 802, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4915, i16 9346, i16 9347, i16 4920, i16 4924, i16 9348, i16 9349, i16 1331, i16 0, i16 0, i16 9350, i16 0, i16 9351, i16 9352, i16 9353, i16 0, i16 0, i16 9354, i16 9355, i16 0, i16 1259, i16 4922, i16 0, i16 9356, i16 0, i16 0, i16 0, i16 1216, i16 0, i16 0, i16 0, i16 0, i16 9780, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5176, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3286, i16 9781, i16 0, i16 0, i16 5186, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9539, i16 0, i16 0, i16 9540, i16 0, i16 0, i16 9541, i16 3517, i16 5042, i16 0, i16 9542, i16 9543, i16 0, i16 9544, i16 5041, i16 9545, i16 0, i16 0, i16 0, i16 2335, i16 0, i16 5038, i16 9546, i16 3547, i16 0, i16 0, i16 2835, i16 5032, i16 0, i16 0, i16 0, i16 0, i16 10582, i16 0, i16 3236, i16 986, i16 0, i16 10583, i16 0, i16 5611, i16 0, i16 5608, i16 10584, i16 5613, i16 10585, i16 10586, i16 5612, i16 0, i16 2990, i16 3384, i16 10587, i16 1806, i16 5606, i16 5615, i16 5610, i16 10588, i16 5609, i16 5605, i16 10589, i16 5607, i16 0, i16 0, i16 0, i16 0, i16 12640, i16 0, i16 6807, i16 12641, i16 0, i16 0, i16 12642, i16 6809, i16 2511, i16 1086, i16 1087, i16 6808, i16 0, i16 12643, i16 12644, i16 12645, i16 1194, i16 1515, i16 12646, i16 12647, i16 1195, i16 12648, i16 12649, i16 2750, i16 0, i16 0, i16 3629, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9849, i16 0, i16 0, i16 0, i16 5220, i16 0, i16 2687, i16 9850, i16 5222, i16 5221, i16 0, i16 9851, i16 5223, i16 0, i16 5224, i16 0, i16 9852, i16 1936, i16 3162, i16 0, i16 9853, i16 9854, i16 3453, i16 5225, i16 5226, i16 2397, i16 1877, i16 5227, i16 0, i16 0, i16 0, i16 0, i16 944, i16 0, i16 13087, i16 0, i16 13088, i16 0, i16 0, i16 13089, i16 7052, i16 1263, i16 7053, i16 7054, i16 7055, i16 0, i16 1676, i16 0, i16 7056, i16 13090, i16 0, i16 0, i16 5266, i16 3436, i16 0, i16 2504, i16 7057, i16 7059, i16 7058, i16 13091, i16 0, i16 0, i16 0, i16 0, i16 9393, i16 0, i16 0, i16 9394, i16 3008, i16 0, i16 4946, i16 0, i16 9395, i16 0, i16 0, i16 0, i16 9396, i16 9397, i16 9398, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4950, i16 4947, i16 9399, i16 9400, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1215, i16 9243, i16 4856, i16 0, i16 9244, i16 3418, i16 4831, i16 1214, i16 9245, i16 4838, i16 0, i16 9246, i16 9247, i16 9248, i16 3315, i16 9249, i16 4839, i16 4841, i16 9250, i16 4845, i16 4833, i16 9251, i16 2541, i16 0, i16 9252, i16 9253, i16 0, i16 2798, i16 0, i16 0, i16 0, i16 0, i16 7110, i16 7111, i16 7122, i16 0, i16 7123, i16 7124, i16 7125, i16 0, i16 7127, i16 0, i16 7128, i16 7130, i16 7136, i16 600, i16 601, i16 602, i16 603, i16 604, i16 605, i16 606, i16 607, i16 608, i16 609, i16 610, i16 611, i16 612, i16 613, i16 614, i16 0, i16 0, i16 0, i16 0, i16 6623, i16 0, i16 0, i16 12326, i16 12327, i16 12328, i16 0, i16 2886, i16 0, i16 2772, i16 0, i16 0, i16 12329, i16 12330, i16 12331, i16 0, i16 2680, i16 12332, i16 6636, i16 12333, i16 12334, i16 0, i16 12335, i16 2566, i16 6632, i16 0, i16 12336, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2303, i16 11822, i16 1920, i16 6405, i16 0, i16 11823, i16 0, i16 1077, i16 11824, i16 6406, i16 11825, i16 0, i16 2429, i16 6407, i16 0, i16 6408, i16 3170, i16 0, i16 0, i16 1230, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11826, i16 0, i16 0, i16 0, i16 8200, i16 905, i16 0, i16 8201, i16 1202, i16 2877, i16 3273, i16 0, i16 0, i16 0, i16 0, i16 4173, i16 2396, i16 4172, i16 1435, i16 8202, i16 8203, i16 3342, i16 4171, i16 0, i16 2788, i16 4175, i16 8204, i16 4174, i16 8205, i16 0, i16 8206, i16 8207, i16 8208, i16 0, i16 0, i16 0, i16 9739, i16 9740, i16 0, i16 0, i16 0, i16 9741, i16 9742, i16 9743, i16 9744, i16 5111, i16 0, i16 9749, i16 0, i16 0, i16 5171, i16 0, i16 0, i16 9745, i16 9746, i16 0, i16 0, i16 2884, i16 0, i16 0, i16 0, i16 0, i16 9747, i16 9748, i16 0, i16 0, i16 0, i16 0, i16 8486, i16 0, i16 0, i16 0, i16 8487, i16 0, i16 4332, i16 0, i16 8488, i16 1185, i16 4333, i16 8490, i16 0, i16 8489, i16 0, i16 4335, i16 4334, i16 0, i16 0, i16 4336, i16 0, i16 8491, i16 8492, i16 0, i16 4337, i16 0, i16 2327, i16 1970, i16 0, i16 0, i16 0, i16 0, i16 808, i16 5862, i16 0, i16 2563, i16 0, i16 10928, i16 0, i16 0, i16 0, i16 2963, i16 10929, i16 2496, i16 10930, i16 0, i16 0, i16 10931, i16 0, i16 10932, i16 10933, i16 5864, i16 10934, i16 10935, i16 5860, i16 5863, i16 5858, i16 0, i16 5861, i16 3289, i16 0, i16 0, i16 0, i16 0, i16 6698, i16 0, i16 0, i16 12462, i16 784, i16 12463, i16 12464, i16 6696, i16 12465, i16 6700, i16 6699, i16 0, i16 0, i16 12466, i16 12467, i16 12468, i16 12469, i16 6702, i16 6701, i16 6703, i16 0, i16 2827, i16 12470, i16 12471, i16 0, i16 6704, i16 12472, i16 12473, i16 12474, i16 0, i16 0, i16 0, i16 299, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7121, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9006, i16 0, i16 1543, i16 0, i16 9007, i16 4685, i16 9008, i16 0, i16 0, i16 0, i16 4688, i16 0, i16 3145, i16 9009, i16 1278, i16 9010, i16 0, i16 9011, i16 4687, i16 4686, i16 2959, i16 4689, i16 1330, i16 0, i16 0, i16 0, i16 4691, i16 4690, i16 9012, i16 0, i16 0, i16 0, i16 5172, i16 9750, i16 9751, i16 0, i16 0, i16 0, i16 0, i16 0, i16 981, i16 9752, i16 0, i16 9753, i16 2803, i16 1032, i16 0, i16 0, i16 0, i16 0, i16 9754, i16 9755, i16 0, i16 1283, i16 0, i16 0, i16 0, i16 1935, i16 1735, i16 9756, i16 0, i16 0, i16 0, i16 0, i16 9782, i16 9783, i16 9784, i16 9785, i16 9786, i16 0, i16 5185, i16 0, i16 9787, i16 9788, i16 0, i16 0, i16 9789, i16 0, i16 0, i16 0, i16 0, i16 914, i16 0, i16 0, i16 0, i16 0, i16 5188, i16 3207, i16 0, i16 5187, i16 0, i16 9790, i16 0, i16 0, i16 0, i16 0, i16 8247, i16 8248, i16 863, i16 1136, i16 8249, i16 4189, i16 0, i16 3414, i16 3112, i16 0, i16 0, i16 8250, i16 8251, i16 0, i16 8252, i16 8253, i16 0, i16 8254, i16 0, i16 753, i16 8255, i16 0, i16 0, i16 0, i16 834, i16 0, i16 0, i16 0, i16 1828, i16 0, i16 0, i16 0, i16 10308, i16 0, i16 0, i16 0, i16 5464, i16 0, i16 10309, i16 0, i16 0, i16 0, i16 5465, i16 0, i16 0, i16 0, i16 10310, i16 10311, i16 0, i16 0, i16 10312, i16 0, i16 5466, i16 0, i16 10313, i16 5467, i16 3400, i16 5468, i16 0, i16 10314, i16 10315, i16 0, i16 0, i16 0, i16 10830, i16 10831, i16 5779, i16 0, i16 10832, i16 0, i16 0, i16 0, i16 0, i16 5780, i16 5781, i16 5782, i16 10833, i16 5783, i16 5784, i16 10834, i16 10835, i16 5786, i16 5785, i16 0, i16 0, i16 5787, i16 0, i16 0, i16 10836, i16 10837, i16 10838, i16 0, i16 5788, i16 0, i16 0, i16 0, i16 6991, i16 0, i16 0, i16 6989, i16 0, i16 1118, i16 0, i16 6988, i16 1891, i16 942, i16 0, i16 0, i16 12981, i16 12982, i16 0, i16 12983, i16 12984, i16 12985, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12986, i16 1658, i16 12987, i16 12989, i16 6998, i16 6997, i16 0, i16 0, i16 0, i16 12117, i16 0, i16 0, i16 0, i16 12118, i16 12119, i16 2864, i16 6566, i16 1989, i16 1937, i16 2966, i16 2612, i16 12120, i16 0, i16 0, i16 1955, i16 12121, i16 2231, i16 0, i16 6567, i16 12122, i16 6568, i16 12123, i16 12124, i16 12125, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1113, i16 5562, i16 5561, i16 10536, i16 5565, i16 5558, i16 10537, i16 5566, i16 3574, i16 10538, i16 5567, i16 10539, i16 5568, i16 0, i16 10540, i16 4170, i16 5570, i16 0, i16 5569, i16 0, i16 0, i16 0, i16 5571, i16 5572, i16 10541, i16 3586, i16 5573, i16 0, i16 6797, i16 0, i16 0, i16 0, i16 4186, i16 8227, i16 2474, i16 0, i16 8228, i16 3307, i16 0, i16 0, i16 0, i16 2761, i16 8229, i16 8230, i16 8231, i16 8232, i16 0, i16 4187, i16 8233, i16 0, i16 0, i16 0, i16 8234, i16 0, i16 3352, i16 8235, i16 1727, i16 8236, i16 0, i16 2071, i16 0, i16 0, i16 0, i16 0, i16 4961, i16 0, i16 0, i16 9421, i16 4960, i16 0, i16 4962, i16 9422, i16 0, i16 979, i16 9423, i16 2554, i16 0, i16 4963, i16 0, i16 9424, i16 1152, i16 4965, i16 0, i16 9425, i16 0, i16 9426, i16 4964, i16 0, i16 4966, i16 0, i16 9427, i16 0, i16 4967, i16 0, i16 0, i16 0, i16 10341, i16 10342, i16 5477, i16 0, i16 10343, i16 10344, i16 0, i16 0, i16 0, i16 10345, i16 0, i16 10346, i16 0, i16 0, i16 0, i16 10347, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10348, i16 2104, i16 10349, i16 0, i16 0, i16 0, i16 0, i16 2175, i16 8612, i16 3107, i16 0, i16 8613, i16 8614, i16 8615, i16 0, i16 8616, i16 1208, i16 2913, i16 0, i16 0, i16 8617, i16 8618, i16 8619, i16 8620, i16 8621, i16 0, i16 4422, i16 1833, i16 3309, i16 3310, i16 0, i16 0, i16 933, i16 4427, i16 8622, i16 0, i16 0, i16 0, i16 0, i16 2695, i16 3881, i16 7678, i16 0, i16 2444, i16 0, i16 7679, i16 1764, i16 3882, i16 3883, i16 2359, i16 0, i16 3880, i16 0, i16 0, i16 0, i16 0, i16 3885, i16 7680, i16 3305, i16 7681, i16 7682, i16 0, i16 7683, i16 1659, i16 7684, i16 0, i16 3884, i16 7685, i16 0, i16 0, i16 0, i16 5002, i16 5001, i16 0, i16 9479, i16 9480, i16 9481, i16 0, i16 0, i16 0, i16 9482, i16 0, i16 9483, i16 0, i16 0, i16 0, i16 0, i16 9484, i16 2224, i16 9485, i16 9486, i16 3120, i16 881, i16 0, i16 9487, i16 9488, i16 0, i16 0, i16 3038, i16 9489, i16 0, i16 0, i16 0, i16 12200, i16 12201, i16 12202, i16 12203, i16 0, i16 12204, i16 6671, i16 0, i16 0, i16 6599, i16 0, i16 12205, i16 12206, i16 12207, i16 0, i16 0, i16 12208, i16 3640, i16 12209, i16 12210, i16 1555, i16 12211, i16 12212, i16 12213, i16 0, i16 12214, i16 0, i16 12215, i16 6609, i16 0, i16 0, i16 0, i16 1469, i16 0, i16 8946, i16 0, i16 8947, i16 4649, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8948, i16 8949, i16 8950, i16 1800, i16 4646, i16 0, i16 4645, i16 0, i16 0, i16 8951, i16 8952, i16 2925, i16 8953, i16 0, i16 8954, i16 2834, i16 8955, i16 0, i16 0, i16 0, i16 1223, i16 1538, i16 4235, i16 1083, i16 0, i16 8338, i16 4236, i16 0, i16 2462, i16 0, i16 0, i16 8339, i16 8340, i16 4237, i16 4277, i16 0, i16 4238, i16 0, i16 4239, i16 0, i16 0, i16 4240, i16 0, i16 4242, i16 0, i16 8341, i16 8342, i16 8343, i16 8344, i16 0, i16 0, i16 0, i16 5320, i16 5319, i16 5321, i16 10092, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5322, i16 5324, i16 5323, i16 0, i16 0, i16 1680, i16 10093, i16 5326, i16 0, i16 5325, i16 10094, i16 10095, i16 1158, i16 0, i16 2206, i16 0, i16 2747, i16 0, i16 5327, i16 2273, i16 0, i16 0, i16 0, i16 9928, i16 1677, i16 1845, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9929, i16 5264, i16 5265, i16 9930, i16 0, i16 9931, i16 0, i16 0, i16 0, i16 9932, i16 5267, i16 9933, i16 0, i16 0, i16 0, i16 0, i16 9934, i16 9935, i16 9936, i16 0, i16 0, i16 0, i16 4811, i16 0, i16 0, i16 0, i16 3111, i16 0, i16 0, i16 0, i16 9216, i16 0, i16 0, i16 9217, i16 9218, i16 9219, i16 9220, i16 9221, i16 0, i16 4823, i16 9222, i16 952, i16 4812, i16 0, i16 9223, i16 9224, i16 9225, i16 9226, i16 0, i16 4829, i16 4813, i16 0, i16 0, i16 0, i16 13009, i16 13010, i16 0, i16 13011, i16 7009, i16 0, i16 7008, i16 13012, i16 0, i16 0, i16 13013, i16 13014, i16 1463, i16 0, i16 0, i16 13015, i16 13016, i16 0, i16 13017, i16 13018, i16 13019, i16 13020, i16 0, i16 7013, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11738, i16 0, i16 0, i16 1460, i16 0, i16 0, i16 0, i16 0, i16 6342, i16 6344, i16 11739, i16 0, i16 6345, i16 1251, i16 5811, i16 2150, i16 0, i16 6346, i16 0, i16 11740, i16 1575, i16 11741, i16 11742, i16 0, i16 0, i16 11743, i16 6347, i16 11744, i16 0, i16 0, i16 0, i16 0, i16 5086, i16 9609, i16 9610, i16 0, i16 0, i16 9611, i16 9612, i16 3388, i16 9613, i16 0, i16 5084, i16 5088, i16 9614, i16 0, i16 9615, i16 9616, i16 9617, i16 9618, i16 0, i16 1545, i16 9619, i16 2098, i16 0, i16 0, i16 2556, i16 9620, i16 9621, i16 9622, i16 5078, i16 0, i16 0, i16 0, i16 7917, i16 7918, i16 0, i16 0, i16 1489, i16 4034, i16 4032, i16 2394, i16 1257, i16 1321, i16 7919, i16 4029, i16 0, i16 1393, i16 0, i16 7920, i16 0, i16 0, i16 0, i16 875, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7921, i16 0, i16 0, i16 0, i16 238, i16 0, i16 300, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1015, i16 0, i16 11621, i16 2163, i16 6275, i16 0, i16 11622, i16 0, i16 11623, i16 0, i16 11624, i16 0, i16 0, i16 0, i16 11625, i16 0, i16 11626, i16 6276, i16 0, i16 11627, i16 0, i16 6277, i16 11628, i16 0, i16 0, i16 0, i16 11629, i16 0, i16 11630, i16 0, i16 0, i16 7936, i16 1823, i16 4040, i16 0, i16 0, i16 0, i16 0, i16 7937, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7938, i16 4043, i16 0, i16 4048, i16 0, i16 0, i16 0, i16 4046, i16 4045, i16 7939, i16 0, i16 0, i16 8448, i16 8449, i16 0, i16 0, i16 8450, i16 0, i16 8451, i16 0, i16 8455, i16 4317, i16 4314, i16 0, i16 4316, i16 0, i16 3553, i16 8453, i16 4315, i16 0, i16 0, i16 8452, i16 0, i16 0, i16 0, i16 8454, i16 0, i16 0, i16 4305, i16 0, i16 0, i16 8456, i16 0, i16 0, i16 2310, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8927, i16 0, i16 0, i16 4643, i16 8928, i16 0, i16 8929, i16 8930, i16 8931, i16 8932, i16 0, i16 0, i16 0, i16 2725, i16 0, i16 8933, i16 8934, i16 8935, i16 8936, i16 0, i16 8937, i16 0, i16 0, i16 10759, i16 10760, i16 10761, i16 10762, i16 10763, i16 5714, i16 0, i16 0, i16 1368, i16 3077, i16 10764, i16 10765, i16 10766, i16 2420, i16 0, i16 3613, i16 2046, i16 0, i16 0, i16 5762, i16 0, i16 10767, i16 5724, i16 10768, i16 2343, i16 0, i16 5720, i16 5725, i16 5727, i16 0, i16 0, i16 0, i16 6161, i16 11432, i16 11433, i16 11434, i16 11435, i16 11436, i16 11437, i16 11438, i16 0, i16 11439, i16 11440, i16 3498, i16 0, i16 0, i16 11441, i16 0, i16 0, i16 11442, i16 0, i16 11443, i16 0, i16 11444, i16 11445, i16 11446, i16 0, i16 0, i16 0, i16 0, i16 11447, i16 6160, i16 0, i16 0, i16 8998, i16 4677, i16 4676, i16 0, i16 8999, i16 0, i16 0, i16 9000, i16 4644, i16 4678, i16 4666, i16 0, i16 9001, i16 1836, i16 0, i16 9002, i16 0, i16 0, i16 4679, i16 4680, i16 4682, i16 4681, i16 4683, i16 1027, i16 9003, i16 1613, i16 9004, i16 9005, i16 3281, i16 2264, i16 0, i16 0, i16 13103, i16 13104, i16 0, i16 0, i16 0, i16 7071, i16 7072, i16 13105, i16 0, i16 0, i16 0, i16 0, i16 2723, i16 13106, i16 13107, i16 13108, i16 13109, i16 1558, i16 13110, i16 7074, i16 13111, i16 13112, i16 0, i16 13113, i16 13114, i16 13115, i16 0, i16 0, i16 0, i16 13116, i16 0, i16 0, i16 1852, i16 10946, i16 0, i16 1337, i16 2289, i16 3697, i16 3391, i16 5865, i16 2301, i16 10947, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10948, i16 10949, i16 10950, i16 0, i16 1266, i16 5868, i16 10951, i16 0, i16 10952, i16 0, i16 0, i16 0, i16 4159, i16 0, i16 0, i16 8181, i16 8182, i16 0, i16 0, i16 3238, i16 4160, i16 8183, i16 8184, i16 0, i16 0, i16 971, i16 4161, i16 0, i16 8185, i16 8186, i16 8187, i16 3499, i16 1043, i16 0, i16 3939, i16 2007, i16 2468, i16 4162, i16 3452, i16 8189, i16 0, i16 0, i16 0, i16 0, i16 9280, i16 0, i16 0, i16 9281, i16 0, i16 0, i16 0, i16 9282, i16 3515, i16 0, i16 0, i16 0, i16 9283, i16 0, i16 0, i16 0, i16 0, i16 3181, i16 4862, i16 2479, i16 0, i16 9284, i16 0, i16 4868, i16 2374, i16 9285, i16 4859, i16 4872, i16 4871, i16 0, i16 0, i16 0, i16 334, i16 335, i16 0, i16 0, i16 332, i16 333, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5718, i16 5712, i16 0, i16 0, i16 10752, i16 10753, i16 0, i16 0, i16 10754, i16 5716, i16 1963, i16 806, i16 5711, i16 5719, i16 5723, i16 1634, i16 3431, i16 10755, i16 2679, i16 5713, i16 10756, i16 10757, i16 5721, i16 10758, i16 5710, i16 2561, i16 0, i16 5715, i16 774, i16 3419, i16 0, i16 0, i16 9566, i16 0, i16 0, i16 5052, i16 0, i16 9567, i16 2096, i16 0, i16 0, i16 0, i16 3487, i16 0, i16 5049, i16 0, i16 0, i16 9568, i16 9569, i16 5044, i16 9570, i16 5050, i16 9571, i16 9572, i16 9573, i16 3627, i16 0, i16 2802, i16 2847, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3942, i16 7777, i16 3458, i16 0, i16 0, i16 7778, i16 7779, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7780, i16 0, i16 0, i16 0, i16 0, i16 7781, i16 7782, i16 0, i16 3943, i16 0, i16 3615, i16 7783, i16 1589, i16 0, i16 0, i16 7784, i16 0, i16 1519, i16 0, i16 0, i16 9320, i16 0, i16 0, i16 9321, i16 0, i16 4903, i16 4896, i16 0, i16 0, i16 4909, i16 0, i16 4907, i16 9322, i16 9323, i16 0, i16 9324, i16 4902, i16 9325, i16 0, i16 9326, i16 0, i16 0, i16 0, i16 4901, i16 0, i16 2673, i16 0, i16 2412, i16 9327, i16 4899, i16 0, i16 0, i16 12650, i16 12651, i16 0, i16 12652, i16 12653, i16 1557, i16 0, i16 0, i16 12654, i16 6810, i16 12655, i16 0, i16 0, i16 6811, i16 6812, i16 6813, i16 0, i16 6815, i16 6814, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4205, i16 8279, i16 0, i16 8280, i16 3151, i16 8281, i16 0, i16 0, i16 4206, i16 0, i16 4201, i16 8282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8283, i16 0, i16 0, i16 8284, i16 8285, i16 0, i16 0, i16 8286, i16 3404, i16 0, i16 0, i16 2671, i16 2855, i16 880, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2331, i16 9194, i16 0, i16 2269, i16 1413, i16 0, i16 9195, i16 0, i16 0, i16 0, i16 9196, i16 4801, i16 9197, i16 0, i16 0, i16 12666, i16 6821, i16 6820, i16 12667, i16 6822, i16 0, i16 12668, i16 0, i16 0, i16 0, i16 12669, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3085, i16 5822, i16 0, i16 0, i16 2164, i16 0, i16 0, i16 12678, i16 6825, i16 0, i16 3440, i16 0, i16 12679, i16 12680, i16 6826, i16 3531, i16 0, i16 873, i16 0, i16 0, i16 0, i16 1812, i16 12681, i16 6827, i16 1011, i16 6828, i16 12682, i16 12683, i16 12684, i16 6829, i16 0, i16 12685, i16 12686, i16 12687, i16 6831, i16 6832, i16 12688, i16 0, i16 0, i16 7827, i16 0, i16 7828, i16 0, i16 7829, i16 7830, i16 1967, i16 7831, i16 1959, i16 7832, i16 0, i16 7833, i16 7834, i16 0, i16 3977, i16 3975, i16 0, i16 3380, i16 7835, i16 3972, i16 3981, i16 3976, i16 0, i16 0, i16 0, i16 3979, i16 1535, i16 3408, i16 0, i16 7836, i16 0, i16 0, i16 9623, i16 9624, i16 0, i16 0, i16 0, i16 3486, i16 9625, i16 0, i16 0, i16 5081, i16 0, i16 0, i16 5074, i16 2801, i16 0, i16 0, i16 5077, i16 9626, i16 0, i16 0, i16 5083, i16 0, i16 0, i16 0, i16 0, i16 9627, i16 0, i16 9628, i16 3708, i16 1903, i16 0, i16 0, i16 10135, i16 5355, i16 10136, i16 5354, i16 0, i16 0, i16 0, i16 0, i16 0, i16 893, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5363, i16 3073, i16 5357, i16 10137, i16 5359, i16 0, i16 0, i16 5361, i16 2185, i16 10138, i16 0, i16 5362, i16 5360, i16 1905, i16 10139, i16 0, i16 0, i16 7585, i16 3813, i16 7586, i16 3811, i16 7587, i16 2389, i16 7588, i16 7589, i16 0, i16 0, i16 0, i16 3812, i16 3814, i16 7590, i16 0, i16 7591, i16 7603, i16 0, i16 0, i16 3816, i16 7592, i16 0, i16 0, i16 3815, i16 7593, i16 3229, i16 0, i16 0, i16 7594, i16 0, i16 0, i16 0, i16 6307, i16 11695, i16 6305, i16 0, i16 11696, i16 2575, i16 11697, i16 11698, i16 11699, i16 2282, i16 1171, i16 6306, i16 0, i16 2214, i16 0, i16 11700, i16 3607, i16 11701, i16 11702, i16 11703, i16 3691, i16 11704, i16 0, i16 0, i16 6308, i16 6319, i16 2646, i16 11705, i16 6318, i16 11706, i16 0, i16 0, i16 12974, i16 6986, i16 0, i16 0, i16 6987, i16 2843, i16 6984, i16 6983, i16 0, i16 12973, i16 0, i16 0, i16 943, i16 0, i16 0, i16 12975, i16 6995, i16 0, i16 0, i16 6994, i16 0, i16 12976, i16 12977, i16 0, i16 0, i16 924, i16 12978, i16 12979, i16 12980, i16 6992, i16 0, i16 0, i16 1714, i16 0, i16 0, i16 10326, i16 10327, i16 0, i16 0, i16 10328, i16 0, i16 0, i16 5472, i16 10329, i16 10330, i16 0, i16 0, i16 10331, i16 5473, i16 0, i16 1503, i16 1738, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10332, i16 0, i16 0, i16 0, i16 0, i16 9906, i16 0, i16 9907, i16 9908, i16 0, i16 9909, i16 0, i16 0, i16 5255, i16 9910, i16 0, i16 9911, i16 0, i16 0, i16 0, i16 0, i16 9912, i16 9913, i16 0, i16 0, i16 5257, i16 5254, i16 9914, i16 9915, i16 0, i16 3429, i16 5256, i16 5258, i16 9916, i16 3601, i16 0, i16 0, i16 4280, i16 7388, i16 0, i16 0, i16 0, i16 0, i16 7389, i16 7390, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3551, i16 0, i16 2906, i16 7391, i16 7392, i16 0, i16 0, i16 0, i16 7393, i16 0, i16 0, i16 0, i16 0, i16 1126, i16 7394, i16 0, i16 0, i16 9401, i16 9402, i16 3554, i16 4948, i16 9403, i16 9404, i16 0, i16 9405, i16 4900, i16 0, i16 0, i16 0, i16 0, i16 9406, i16 9407, i16 9408, i16 4951, i16 0, i16 0, i16 0, i16 4952, i16 9409, i16 0, i16 0, i16 0, i16 9410, i16 0, i16 860, i16 9411, i16 4954, i16 0, i16 0, i16 2749, i16 6472, i16 0, i16 0, i16 0, i16 0, i16 11939, i16 0, i16 0, i16 6475, i16 0, i16 11946, i16 11940, i16 0, i16 11941, i16 11942, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11943, i16 1893, i16 11944, i16 11945, i16 6474, i16 6473, i16 1461, i16 6476, i16 0, i16 0, i16 0, i16 9917, i16 0, i16 9918, i16 5262, i16 0, i16 9919, i16 9920, i16 5261, i16 2617, i16 2920, i16 9921, i16 0, i16 1502, i16 5260, i16 0, i16 9922, i16 9923, i16 0, i16 5259, i16 9924, i16 3488, i16 3489, i16 0, i16 0, i16 9925, i16 9926, i16 0, i16 9927, i16 5263, i16 917, i16 0, i16 0, i16 5579, i16 0, i16 5592, i16 0, i16 5582, i16 10551, i16 1287, i16 0, i16 5581, i16 5594, i16 0, i16 0, i16 0, i16 5580, i16 0, i16 2109, i16 0, i16 0, i16 10552, i16 0, i16 0, i16 0, i16 5584, i16 5585, i16 0, i16 2730, i16 0, i16 0, i16 5586, i16 10553, i16 0, i16 0, i16 7119, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 360, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6868, i16 0, i16 0, i16 0, i16 0, i16 12737, i16 0, i16 0, i16 12738, i16 12739, i16 12740, i16 6859, i16 6860, i16 0, i16 12741, i16 6861, i16 6862, i16 0, i16 12742, i16 12743, i16 0, i16 0, i16 6864, i16 12744, i16 0, i16 6863, i16 0, i16 12745, i16 12746, i16 2024, i16 0, i16 0, i16 4310, i16 8439, i16 8440, i16 0, i16 8441, i16 8442, i16 0, i16 3277, i16 0, i16 8438, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8443, i16 0, i16 0, i16 8444, i16 0, i16 0, i16 0, i16 0, i16 8445, i16 0, i16 0, i16 0, i16 8446, i16 0, i16 8447, i16 0, i16 0, i16 2523, i16 0, i16 10008, i16 5286, i16 10009, i16 0, i16 10010, i16 10011, i16 10012, i16 10013, i16 10014, i16 10015, i16 10016, i16 10017, i16 10018, i16 10019, i16 5288, i16 3619, i16 1364, i16 3093, i16 2949, i16 0, i16 0, i16 10020, i16 5289, i16 0, i16 0, i16 0, i16 0, i16 5291, i16 0, i16 0, i16 6368, i16 0, i16 0, i16 6370, i16 11784, i16 11785, i16 0, i16 6369, i16 6371, i16 11786, i16 3321, i16 6372, i16 6373, i16 0, i16 11787, i16 0, i16 11788, i16 11789, i16 6374, i16 0, i16 0, i16 0, i16 6376, i16 11790, i16 0, i16 11791, i16 11792, i16 1040, i16 2696, i16 0, i16 0, i16 0, i16 7648, i16 0, i16 2257, i16 3861, i16 2025, i16 0, i16 7649, i16 3862, i16 0, i16 2623, i16 3596, i16 2783, i16 0, i16 7650, i16 0, i16 7651, i16 7652, i16 7653, i16 0, i16 7654, i16 3935, i16 0, i16 7655, i16 0, i16 0, i16 3863, i16 7099, i16 1346, i16 7656, i16 0, i16 0, i16 0, i16 6882, i16 0, i16 6884, i16 6883, i16 0, i16 0, i16 0, i16 6885, i16 6887, i16 6886, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 745, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 735, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8685, i16 0, i16 8686, i16 2141, i16 4477, i16 2868, i16 8687, i16 8688, i16 8689, i16 8690, i16 0, i16 0, i16 8691, i16 8692, i16 0, i16 3698, i16 0, i16 4473, i16 8693, i16 8694, i16 0, i16 0, i16 4479, i16 8695, i16 1682, i16 8696, i16 2292, i16 8697, i16 8698, i16 797, i16 0, i16 0, i16 4592, i16 0, i16 8825, i16 2551, i16 4586, i16 4593, i16 4588, i16 4595, i16 4591, i16 0, i16 4590, i16 2986, i16 8826, i16 4584, i16 1026, i16 4582, i16 1296, i16 2520, i16 4578, i16 8827, i16 8828, i16 4581, i16 1611, i16 2308, i16 8829, i16 2084, i16 4589, i16 2957, i16 0, i16 0, i16 0, i16 0, i16 1265, i16 2324, i16 1901, i16 3479, i16 4245, i16 0, i16 8355, i16 8356, i16 0, i16 0, i16 8357, i16 8358, i16 1275, i16 8359, i16 1728, i16 8360, i16 8361, i16 1045, i16 906, i16 2073, i16 973, i16 8362, i16 4246, i16 3509, i16 8363, i16 0, i16 8364, i16 0, i16 0, i16 2008, i16 0, i16 0, i16 3570, i16 2894, i16 0, i16 0, i16 0, i16 0, i16 850, i16 12532, i16 2316, i16 1895, i16 0, i16 0, i16 0, i16 12533, i16 3212, i16 12534, i16 871, i16 0, i16 0, i16 0, i16 3642, i16 3546, i16 0, i16 6745, i16 12535, i16 2756, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7672, i16 0, i16 3030, i16 3233, i16 0, i16 3875, i16 7673, i16 3559, i16 3876, i16 0, i16 0, i16 0, i16 3877, i16 0, i16 2813, i16 7674, i16 7675, i16 3878, i16 0, i16 7676, i16 2258, i16 1779, i16 1487, i16 3879, i16 1820, i16 1670, i16 7677, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3834, i16 0, i16 7631, i16 2907, i16 7632, i16 0, i16 2363, i16 3836, i16 3837, i16 3013, i16 1585, i16 3686, i16 3838, i16 0, i16 0, i16 1315, i16 0, i16 0, i16 0, i16 3217, i16 2459, i16 1390, i16 2740, i16 0, i16 0, i16 0, i16 1486, i16 0, i16 7633, i16 0, i16 0, i16 0, i16 13052, i16 0, i16 0, i16 0, i16 0, i16 13053, i16 0, i16 0, i16 13051, i16 0, i16 0, i16 0, i16 13054, i16 0, i16 13055, i16 13056, i16 13057, i16 0, i16 0, i16 13058, i16 13059, i16 0, i16 0, i16 13060, i16 7032, i16 7033, i16 13061, i16 13062, i16 7034, i16 0, i16 0, i16 0, i16 9469, i16 0, i16 9470, i16 9471, i16 0, i16 0, i16 4997, i16 9472, i16 0, i16 0, i16 0, i16 9473, i16 9474, i16 1844, i16 9475, i16 3394, i16 9476, i16 4998, i16 4999, i16 0, i16 0, i16 1219, i16 0, i16 9477, i16 0, i16 5000, i16 0, i16 0, i16 0, i16 9478, i16 0, i16 2304, i16 0, i16 6423, i16 11858, i16 11859, i16 0, i16 11860, i16 1554, i16 0, i16 6420, i16 6421, i16 11861, i16 0, i16 0, i16 3668, i16 11862, i16 11864, i16 11865, i16 2648, i16 11866, i16 2352, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6424, i16 11867, i16 0, i16 6427, i16 0, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 0, i16 514, i16 515, i16 516, i16 517, i16 518, i16 519, i16 520, i16 521, i16 522, i16 523, i16 524, i16 525, i16 526, i16 527, i16 528, i16 529, i16 530, i16 531, i16 532, i16 533, i16 534, i16 535, i16 536, i16 537, i16 538, i16 539, i16 540, i16 541, i16 542, i16 543, i16 544, i16 0, i16 1028, i16 1703, i16 6923, i16 6922, i16 3382, i16 0, i16 0, i16 12844, i16 0, i16 0, i16 12845, i16 12846, i16 6925, i16 6926, i16 6924, i16 0, i16 6927, i16 0, i16 0, i16 3349, i16 12847, i16 12848, i16 12849, i16 6928, i16 0, i16 1306, i16 12850, i16 0, i16 0, i16 12851, i16 0, i16 0, i16 6661, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6659, i16 0, i16 0, i16 12412, i16 12413, i16 0, i16 12414, i16 12415, i16 12416, i16 12417, i16 6660, i16 6658, i16 0, i16 2525, i16 0, i16 6662, i16 12418, i16 0, i16 12420, i16 0, i16 12419, i16 0, i16 12549, i16 6764, i16 12550, i16 6761, i16 0, i16 6762, i16 0, i16 6763, i16 6765, i16 12551, i16 0, i16 0, i16 0, i16 12552, i16 12553, i16 0, i16 0, i16 2285, i16 0, i16 0, i16 12554, i16 3464, i16 12555, i16 12556, i16 2286, i16 12557, i16 12558, i16 6766, i16 0, i16 3084, i16 0, i16 0, i16 6663, i16 0, i16 12421, i16 6665, i16 12422, i16 0, i16 0, i16 12423, i16 0, i16 12424, i16 0, i16 12425, i16 0, i16 0, i16 0, i16 0, i16 1174, i16 6664, i16 3467, i16 0, i16 12426, i16 0, i16 0, i16 0, i16 12427, i16 6676, i16 6666, i16 12428, i16 0, i16 6669, i16 12429, i16 0, i16 4105, i16 8057, i16 0, i16 1690, i16 8058, i16 2550, i16 8059, i16 8060, i16 4102, i16 2683, i16 8061, i16 0, i16 8062, i16 8063, i16 8064, i16 8065, i16 8066, i16 0, i16 8067, i16 8068, i16 8069, i16 0, i16 8070, i16 0, i16 8071, i16 8072, i16 8073, i16 8074, i16 0, i16 8075, i16 4106, i16 0, i16 6409, i16 11827, i16 0, i16 11828, i16 2647, i16 0, i16 0, i16 11829, i16 0, i16 898, i16 0, i16 0, i16 11830, i16 0, i16 0, i16 11831, i16 11832, i16 0, i16 0, i16 0, i16 11833, i16 0, i16 0, i16 0, i16 6410, i16 0, i16 0, i16 0, i16 0, i16 11834, i16 11835, i16 0, i16 3338, i16 2521, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3370, i16 0, i16 0, i16 5024, i16 0, i16 9517, i16 5025, i16 9518, i16 980, i16 9519, i16 0, i16 0, i16 0, i16 3197, i16 3470, i16 5027, i16 1876, i16 2095, i16 5020, i16 5026, i16 911, i16 0, i16 3595, i16 0, i16 7373, i16 7374, i16 0, i16 3223, i16 0, i16 7375, i16 0, i16 3714, i16 7376, i16 0, i16 2601, i16 7377, i16 7378, i16 7379, i16 3715, i16 1399, i16 0, i16 0, i16 7380, i16 3716, i16 0, i16 1182, i16 2547, i16 0, i16 1944, i16 3717, i16 0, i16 0, i16 3718, i16 0, i16 4364, i16 4365, i16 2956, i16 0, i16 0, i16 8542, i16 0, i16 4366, i16 3652, i16 3672, i16 8544, i16 8543, i16 0, i16 8545, i16 4368, i16 4367, i16 8546, i16 8547, i16 1066, i16 8548, i16 8549, i16 4369, i16 0, i16 0, i16 0, i16 4372, i16 4373, i16 8550, i16 4371, i16 8551, i16 3127, i16 0, i16 1549, i16 1851, i16 0, i16 0, i16 3079, i16 10923, i16 10924, i16 0, i16 1507, i16 3318, i16 10925, i16 5857, i16 5855, i16 0, i16 1637, i16 0, i16 1638, i16 818, i16 0, i16 1757, i16 0, i16 0, i16 0, i16 10926, i16 10927, i16 2964, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3599, i16 9227, i16 4820, i16 9228, i16 2970, i16 9229, i16 0, i16 9230, i16 0, i16 0, i16 0, i16 0, i16 4828, i16 0, i16 4815, i16 0, i16 0, i16 0, i16 765, i16 4817, i16 0, i16 9231, i16 1619, i16 9232, i16 0, i16 9233, i16 4819, i16 9234, i16 4818, i16 0, i16 4814, i16 0, i16 4879, i16 0, i16 4887, i16 0, i16 9315, i16 0, i16 7096, i16 9316, i16 0, i16 4884, i16 1620, i16 2665, i16 2411, i16 4882, i16 0, i16 4877, i16 9317, i16 0, i16 4880, i16 0, i16 0, i16 9318, i16 9319, i16 3516, i16 3357, i16 0, i16 0, i16 0, i16 4885, i16 4895, i16 0, i16 0, i16 11023, i16 11024, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11025, i16 5925, i16 1641, i16 5926, i16 3045, i16 0, i16 5940, i16 0, i16 0, i16 0, i16 11026, i16 5928, i16 11027, i16 2478, i16 2992, i16 1528, i16 5927, i16 2348, i16 11028, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5395, i16 5396, i16 0, i16 10200, i16 10201, i16 0, i16 5400, i16 5397, i16 5398, i16 5399, i16 0, i16 5401, i16 10202, i16 10203, i16 10204, i16 5402, i16 10205, i16 5403, i16 0, i16 10206, i16 0, i16 5404, i16 0, i16 5405, i16 0, i16 3016, i16 2767, i16 5406, i16 2989, i16 3115, i16 0, i16 0, i16 8468, i16 4323, i16 8469, i16 4322, i16 0, i16 0, i16 4321, i16 8470, i16 0, i16 8471, i16 2791, i16 4300, i16 0, i16 0, i16 0, i16 4329, i16 0, i16 8472, i16 8473, i16 8474, i16 8475, i16 0, i16 0, i16 0, i16 8476, i16 0, i16 8477, i16 0, i16 4325, i16 0, i16 8478, i16 0, i16 6679, i16 0, i16 12440, i16 12439, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1304, i16 3121, i16 0, i16 9655, i16 0, i16 1904, i16 0, i16 9656, i16 1678, i16 9657, i16 0, i16 9658, i16 9659, i16 0, i16 3678, i16 0, i16 5110, i16 0, i16 5122, i16 912, i16 2413, i16 9660, i16 0, i16 9661, i16 0, i16 9662, i16 9663, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8729, i16 4504, i16 0, i16 4505, i16 8730, i16 8731, i16 4494, i16 1871, i16 8732, i16 4498, i16 2491, i16 1609, i16 4480, i16 2176, i16 0, i16 0, i16 0, i16 0, i16 4518, i16 0, i16 3262, i16 0, i16 0, i16 4508, i16 4509, i16 4510, i16 0, i16 0, i16 4517, i16 8733, i16 4516, i16 0, i16 9757, i16 0, i16 0, i16 0, i16 9758, i16 9759, i16 0, i16 0, i16 3666, i16 2225, i16 0, i16 0, i16 0, i16 913, i16 0, i16 0, i16 0, i16 5174, i16 0, i16 9760, i16 9761, i16 9762, i16 9763, i16 9764, i16 5173, i16 0, i16 9765, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7458, i16 7459, i16 1127, i16 7460, i16 7461, i16 3762, i16 0, i16 3754, i16 7462, i16 7463, i16 3632, i16 7464, i16 1867, i16 7465, i16 3755, i16 7466, i16 3760, i16 7467, i16 7468, i16 7469, i16 0, i16 3763, i16 7470, i16 3756, i16 7471, i16 7472, i16 1310, i16 0, i16 790, i16 7473, i16 7474, i16 0, i16 11555, i16 6226, i16 0, i16 6231, i16 0, i16 11556, i16 3192, i16 0, i16 0, i16 6233, i16 0, i16 6232, i16 11557, i16 11558, i16 11559, i16 1103, i16 0, i16 3294, i16 6234, i16 0, i16 11560, i16 11561, i16 0, i16 11562, i16 11563, i16 11564, i16 0, i16 11565, i16 6246, i16 6236, i16 0, i16 0, i16 1572, i16 0, i16 0, i16 0, i16 0, i16 5480, i16 2711, i16 0, i16 0, i16 10359, i16 0, i16 5483, i16 1050, i16 5478, i16 10360, i16 0, i16 3075, i16 0, i16 855, i16 10361, i16 1761, i16 0, i16 3709, i16 10362, i16 0, i16 5482, i16 0, i16 0, i16 10364, i16 10365, i16 10366, i16 0, i16 6950, i16 6947, i16 6946, i16 6948, i16 12905, i16 0, i16 12906, i16 1466, i16 0, i16 12907, i16 12908, i16 0, i16 0, i16 0, i16 12909, i16 6954, i16 6953, i16 6952, i16 12910, i16 0, i16 764, i16 0, i16 12911, i16 12912, i16 12913, i16 12914, i16 0, i16 0, i16 12915, i16 0, i16 12916, i16 0, i16 2856, i16 4921, i16 0, i16 9357, i16 0, i16 4923, i16 9358, i16 0, i16 0, i16 9359, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9360, i16 4917, i16 9361, i16 0, i16 0, i16 0, i16 0, i16 4919, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9362, i16 1091, i16 0, i16 11816, i16 0, i16 11817, i16 6393, i16 6394, i16 0, i16 6396, i16 2440, i16 11818, i16 6395, i16 1191, i16 0, i16 6398, i16 0, i16 6397, i16 6399, i16 0, i16 11819, i16 6401, i16 6403, i16 0, i16 6404, i16 11820, i16 0, i16 0, i16 0, i16 11821, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6188, i16 6187, i16 6118, i16 0, i16 0, i16 0, i16 6192, i16 11497, i16 0, i16 0, i16 0, i16 0, i16 11498, i16 11499, i16 0, i16 11500, i16 6189, i16 11501, i16 0, i16 0, i16 11502, i16 6190, i16 0, i16 0, i16 6191, i16 11503, i16 6193, i16 11504, i16 0, i16 0, i16 0, i16 0, i16 8237, i16 0, i16 8238, i16 8239, i16 0, i16 4188, i16 0, i16 8240, i16 1827, i16 8241, i16 1826, i16 0, i16 8242, i16 0, i16 0, i16 770, i16 1537, i16 8243, i16 2260, i16 794, i16 0, i16 0, i16 0, i16 0, i16 4192, i16 4193, i16 0, i16 4190, i16 8244, i16 8245, i16 8246, i16 0, i16 4912, i16 4937, i16 4936, i16 0, i16 0, i16 9383, i16 0, i16 9385, i16 9384, i16 0, i16 0, i16 9386, i16 0, i16 0, i16 0, i16 9387, i16 4942, i16 0, i16 3665, i16 9388, i16 9389, i16 9390, i16 0, i16 0, i16 0, i16 4945, i16 1400, i16 9391, i16 9392, i16 4941, i16 4943, i16 0, i16 12592, i16 0, i16 6789, i16 12593, i16 12594, i16 6790, i16 12595, i16 6791, i16 12596, i16 12597, i16 6792, i16 12598, i16 12599, i16 12600, i16 0, i16 12601, i16 12602, i16 0, i16 1179, i16 12603, i16 0, i16 0, i16 12604, i16 12605, i16 12606, i16 0, i16 12610, i16 6793, i16 12607, i16 12608, i16 0, i16 0, i16 819, i16 0, i16 12066, i16 12067, i16 12068, i16 0, i16 12069, i16 12070, i16 0, i16 1648, i16 0, i16 12064, i16 0, i16 3685, i16 0, i16 0, i16 0, i16 12079, i16 0, i16 0, i16 12071, i16 0, i16 12072, i16 12073, i16 12074, i16 0, i16 6560, i16 12075, i16 12076, i16 0, i16 12077, i16 0, i16 6451, i16 11911, i16 11912, i16 6454, i16 6453, i16 0, i16 6452, i16 0, i16 11913, i16 6456, i16 6455, i16 0, i16 3463, i16 0, i16 0, i16 11914, i16 6458, i16 11915, i16 6457, i16 6459, i16 11916, i16 0, i16 0, i16 0, i16 6460, i16 11917, i16 11918, i16 0, i16 11919, i16 11920, i16 0, i16 0, i16 1332, i16 9520, i16 0, i16 5017, i16 5022, i16 9521, i16 0, i16 0, i16 2333, i16 2988, i16 0, i16 3072, i16 9522, i16 0, i16 9523, i16 9524, i16 9525, i16 9526, i16 5019, i16 9527, i16 3284, i16 9528, i16 5021, i16 0, i16 5030, i16 9529, i16 5028, i16 9530, i16 5023, i16 0, i16 0, i16 0, i16 6708, i16 12480, i16 0, i16 12481, i16 12482, i16 12483, i16 0, i16 6709, i16 0, i16 1754, i16 0, i16 12484, i16 0, i16 6710, i16 6711, i16 0, i16 12485, i16 3324, i16 12486, i16 0, i16 0, i16 0, i16 12487, i16 12488, i16 12489, i16 12490, i16 2386, i16 12491, i16 12492, i16 0, i16 749, i16 0, i16 12852, i16 0, i16 12853, i16 0, i16 12854, i16 12855, i16 0, i16 12856, i16 0, i16 12857, i16 12858, i16 12859, i16 12860, i16 12861, i16 3664, i16 0, i16 0, i16 0, i16 12862, i16 6929, i16 12863, i16 0, i16 12864, i16 12865, i16 12866, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12867, i16 0, i16 10805, i16 10806, i16 0, i16 0, i16 10807, i16 5742, i16 5750, i16 0, i16 5758, i16 5757, i16 10808, i16 0, i16 3373, i16 10809, i16 10810, i16 1414, i16 0, i16 0, i16 10811, i16 0, i16 0, i16 0, i16 0, i16 10812, i16 5756, i16 0, i16 5760, i16 5759, i16 5763, i16 10813, i16 5765, i16 0, i16 2872, i16 2230, i16 12031, i16 12032, i16 2588, i16 0, i16 1397, i16 0, i16 6536, i16 3494, i16 870, i16 12033, i16 3244, i16 998, i16 6531, i16 6532, i16 6533, i16 6534, i16 2840, i16 2534, i16 812, i16 6538, i16 0, i16 6539, i16 7097, i16 0, i16 12034, i16 2466, i16 12035, i16 6540, i16 0, i16 0, i16 6969, i16 12928, i16 12929, i16 6968, i16 6967, i16 12930, i16 12931, i16 12932, i16 12933, i16 12934, i16 0, i16 0, i16 3136, i16 6965, i16 828, i16 6970, i16 12935, i16 6972, i16 0, i16 0, i16 12936, i16 12937, i16 12938, i16 0, i16 1106, i16 6951, i16 862, i16 0, i16 12939, i16 6974, i16 0, i16 0, i16 9018, i16 4694, i16 4695, i16 0, i16 9019, i16 0, i16 3213, i16 4241, i16 2287, i16 9020, i16 0, i16 3139, i16 0, i16 1741, i16 0, i16 3070, i16 3036, i16 9021, i16 0, i16 0, i16 9022, i16 0, i16 2764, i16 9023, i16 3598, i16 0, i16 4697, i16 1921, i16 9024, i16 0, i16 4698, i16 0, i16 1341, i16 12391, i16 0, i16 6651, i16 6645, i16 12392, i16 12393, i16 6644, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12395, i16 12396, i16 12394, i16 12397, i16 12398, i16 0, i16 12399, i16 0, i16 0, i16 0, i16 6462, i16 11921, i16 0, i16 0, i16 0, i16 0, i16 11922, i16 0, i16 11923, i16 6461, i16 2195, i16 6463, i16 11924, i16 11925, i16 1386, i16 6464, i16 6466, i16 0, i16 11926, i16 0, i16 11927, i16 0, i16 0, i16 0, i16 0, i16 11928, i16 11929, i16 0, i16 0, i16 6467, i16 0, i16 0, i16 10814, i16 1807, i16 5761, i16 0, i16 0, i16 10815, i16 10816, i16 5766, i16 5767, i16 10817, i16 0, i16 5768, i16 10818, i16 5774, i16 2746, i16 5770, i16 10819, i16 5769, i16 5771, i16 5772, i16 10820, i16 5773, i16 0, i16 10821, i16 0, i16 10822, i16 5775, i16 5776, i16 10823, i16 10824, i16 0, i16 0, i16 11328, i16 6096, i16 0, i16 0, i16 0, i16 0, i16 11329, i16 0, i16 11330, i16 0, i16 0, i16 0, i16 3557, i16 0, i16 5430, i16 6098, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11331, i16 0, i16 11332, i16 0, i16 11333, i16 0, i16 11334, i16 11335, i16 0, i16 6099, i16 0, i16 8772, i16 8773, i16 4542, i16 0, i16 8776, i16 4541, i16 8774, i16 0, i16 8775, i16 0, i16 0, i16 8777, i16 8778, i16 0, i16 8779, i16 0, i16 0, i16 2633, i16 0, i16 4545, i16 0, i16 4543, i16 4533, i16 1495, i16 0, i16 4544, i16 0, i16 4548, i16 4547, i16 4549, i16 4546, i16 0, i16 9798, i16 0, i16 0, i16 0, i16 9799, i16 9800, i16 9801, i16 0, i16 3656, i16 9802, i16 9803, i16 5194, i16 0, i16 2338, i16 0, i16 9804, i16 0, i16 9805, i16 0, i16 0, i16 5190, i16 5195, i16 9806, i16 0, i16 915, i16 9807, i16 0, i16 9808, i16 0, i16 9809, i16 0, i16 0, i16 2122, i16 6364, i16 11773, i16 11774, i16 0, i16 11775, i16 0, i16 11776, i16 11777, i16 1666, i16 3724, i16 6365, i16 11778, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11779, i16 0, i16 11780, i16 11781, i16 0, i16 6366, i16 3126, i16 6367, i16 11782, i16 6375, i16 0, i16 11783, i16 0, i16 0, i16 1355, i16 1412, i16 5657, i16 0, i16 0, i16 10668, i16 10669, i16 0, i16 3209, i16 0, i16 2227, i16 0, i16 3393, i16 0, i16 10670, i16 5658, i16 0, i16 3584, i16 0, i16 10671, i16 2991, i16 0, i16 2381, i16 2927, i16 0, i16 0, i16 2012, i16 0, i16 0, i16 10672, i16 777, i16 0, i16 13131, i16 0, i16 13132, i16 13133, i16 13134, i16 13135, i16 13136, i16 0, i16 0, i16 7078, i16 5519, i16 0, i16 0, i16 6400, i16 6795, i16 0, i16 0, i16 7079, i16 13137, i16 7080, i16 13138, i16 13139, i16 13140, i16 13141, i16 0, i16 13142, i16 0, i16 0, i16 13143, i16 13144, i16 7082, i16 0, i16 12365, i16 0, i16 12366, i16 12367, i16 0, i16 12368, i16 1054, i16 12369, i16 12375, i16 0, i16 12370, i16 6638, i16 6639, i16 2660, i16 0, i16 6637, i16 0, i16 0, i16 0, i16 12371, i16 12372, i16 12373, i16 0, i16 0, i16 6641, i16 12374, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1872, i16 4600, i16 8835, i16 8836, i16 0, i16 0, i16 1835, i16 4601, i16 781, i16 8837, i16 8838, i16 4596, i16 8839, i16 0, i16 0, i16 8840, i16 2634, i16 0, i16 8841, i16 0, i16 0, i16 8842, i16 0, i16 8843, i16 1298, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1329, i16 0, i16 1618, i16 1119, i16 0, i16 0, i16 0, i16 0, i16 9199, i16 9198, i16 4803, i16 1111, i16 4809, i16 9200, i16 9201, i16 0, i16 9202, i16 9203, i16 9204, i16 4806, i16 9205, i16 2332, i16 0, i16 0, i16 0, i16 1070, i16 1697, i16 0, i16 9206, i16 1069, i16 1732, i16 0, i16 9207, i16 0, i16 6996, i16 12990, i16 12991, i16 6993, i16 12988, i16 6999, i16 12992, i16 7000, i16 0, i16 12993, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7005, i16 7004, i16 0, i16 12994, i16 12995, i16 0, i16 0, i16 0, i16 0, i16 7006, i16 0, i16 0, i16 852, i16 7001, i16 7002, i16 12996, i16 0, i16 4182, i16 2908, i16 3063, i16 3426, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2912, i16 8220, i16 8221, i16 4191, i16 8222, i16 0, i16 0, i16 0, i16 8223, i16 1239, i16 0, i16 8224, i16 3508, i16 8225, i16 0, i16 3392, i16 0, i16 4286, i16 0, i16 4183, i16 0, i16 8226, i16 0, i16 1880, i16 0, i16 0, i16 0, i16 5494, i16 5489, i16 10378, i16 10379, i16 10380, i16 5495, i16 5490, i16 10381, i16 0, i16 10382, i16 0, i16 3057, i16 5488, i16 10383, i16 10384, i16 5491, i16 10385, i16 10386, i16 0, i16 0, i16 0, i16 5498, i16 10388, i16 0, i16 0, i16 0, i16 10389, i16 0, i16 9560, i16 0, i16 5043, i16 5045, i16 9561, i16 865, i16 9562, i16 0, i16 1623, i16 3677, i16 0, i16 1056, i16 0, i16 3161, i16 9563, i16 9564, i16 0, i16 0, i16 0, i16 3536, i16 0, i16 0, i16 1031, i16 2182, i16 5047, i16 0, i16 0, i16 9565, i16 0, i16 0, i16 0, i16 0, i16 12376, i16 0, i16 6647, i16 12377, i16 12378, i16 12379, i16 12380, i16 6650, i16 12381, i16 12382, i16 12383, i16 12384, i16 12385, i16 0, i16 0, i16 6649, i16 2732, i16 0, i16 12386, i16 0, i16 0, i16 6642, i16 6643, i16 6646, i16 12387, i16 0, i16 0, i16 12388, i16 6648, i16 12389, i16 12390, i16 0, i16 11868, i16 0, i16 0, i16 11869, i16 11870, i16 11871, i16 0, i16 6425, i16 6426, i16 3528, i16 11872, i16 0, i16 0, i16 0, i16 2820, i16 6430, i16 11873, i16 0, i16 0, i16 11874, i16 0, i16 11875, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6428, i16 6429, i16 6431, i16 0, i16 12126, i16 2216, i16 6569, i16 12127, i16 6570, i16 0, i16 12128, i16 0, i16 6571, i16 3550, i16 0, i16 1990, i16 12129, i16 0, i16 0, i16 0, i16 0, i16 6573, i16 6572, i16 12130, i16 1649, i16 0, i16 1674, i16 1811, i16 12131, i16 12132, i16 12133, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4703, i16 9033, i16 4701, i16 4704, i16 3590, i16 4702, i16 0, i16 9034, i16 9035, i16 0, i16 2340, i16 4705, i16 0, i16 9036, i16 2455, i16 9037, i16 0, i16 4706, i16 0, i16 9038, i16 0, i16 9039, i16 1211, i16 9040, i16 4708, i16 0, i16 4707, i16 0, i16 0, i16 0, i16 9041, i16 0, i16 11104, i16 11105, i16 5986, i16 0, i16 0, i16 0, i16 0, i16 826, i16 0, i16 0, i16 5977, i16 11106, i16 11107, i16 11108, i16 5976, i16 11109, i16 5971, i16 5970, i16 11110, i16 5968, i16 5967, i16 2598, i16 11111, i16 2528, i16 5973, i16 11112, i16 0, i16 11113, i16 11114, i16 0, i16 0, i16 0, i16 11364, i16 0, i16 6107, i16 2941, i16 0, i16 11365, i16 11366, i16 11367, i16 6108, i16 6109, i16 6119, i16 0, i16 11368, i16 0, i16 6113, i16 6116, i16 11369, i16 0, i16 11370, i16 11371, i16 11372, i16 6112, i16 11373, i16 11374, i16 11375, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11376, i16 0, i16 12134, i16 6576, i16 12135, i16 0, i16 12136, i16 12137, i16 2037, i16 0, i16 6575, i16 12138, i16 6574, i16 0, i16 2510, i16 12139, i16 0, i16 1576, i16 12140, i16 2284, i16 12141, i16 12142, i16 12143, i16 0, i16 3017, i16 12144, i16 0, i16 0, i16 0, i16 1992, i16 0, i16 12145, i16 0, i16 0, i16 4458, i16 8665, i16 4461, i16 4463, i16 0, i16 8666, i16 0, i16 8667, i16 1902, i16 8668, i16 4469, i16 2705, i16 4459, i16 8669, i16 0, i16 0, i16 8670, i16 4467, i16 8671, i16 1022, i16 8672, i16 4465, i16 4466, i16 8673, i16 0, i16 4462, i16 4464, i16 0, i16 8674, i16 8675, i16 1568, i16 0, i16 7018, i16 7024, i16 13030, i16 7017, i16 0, i16 7022, i16 13031, i16 0, i16 13032, i16 13033, i16 0, i16 0, i16 0, i16 0, i16 7023, i16 0, i16 0, i16 0, i16 7026, i16 13034, i16 13035, i16 13036, i16 13037, i16 0, i16 7025, i16 13038, i16 0, i16 0, i16 0, i16 13039, i16 13040, i16 0, i16 10858, i16 10859, i16 5804, i16 1421, i16 0, i16 10860, i16 0, i16 2345, i16 1248, i16 10861, i16 0, i16 0, i16 10862, i16 5808, i16 5805, i16 0, i16 0, i16 5806, i16 0, i16 10863, i16 0, i16 5809, i16 0, i16 5810, i16 5807, i16 0, i16 0, i16 10864, i16 848, i16 0, i16 10865, i16 0, i16 3180, i16 2325, i16 0, i16 1918, i16 4261, i16 2074, i16 4262, i16 4263, i16 796, i16 2463, i16 2205, i16 8379, i16 4264, i16 2832, i16 2075, i16 0, i16 2076, i16 0, i16 4265, i16 0, i16 0, i16 2326, i16 8380, i16 0, i16 0, i16 2077, i16 0, i16 0, i16 0, i16 8381, i16 8382, i16 0, i16 12400, i16 12401, i16 6655, i16 12402, i16 0, i16 0, i16 6656, i16 12403, i16 12404, i16 0, i16 0, i16 0, i16 12405, i16 12406, i16 12407, i16 6657, i16 0, i16 0, i16 6654, i16 6653, i16 12408, i16 12409, i16 12410, i16 2127, i16 2823, i16 6652, i16 0, i16 0, i16 0, i16 0, i16 12411, i16 0, i16 8562, i16 8563, i16 8564, i16 8565, i16 3456, i16 1522, i16 1541, i16 8566, i16 4392, i16 0, i16 8567, i16 8568, i16 4393, i16 8569, i16 4399, i16 8570, i16 1942, i16 0, i16 0, i16 8571, i16 2630, i16 8572, i16 1324, i16 4394, i16 0, i16 0, i16 8573, i16 3106, i16 8574, i16 2569, i16 8575, i16 0, i16 12146, i16 6577, i16 0, i16 2124, i16 0, i16 12147, i16 0, i16 12148, i16 0, i16 6580, i16 6578, i16 12149, i16 12150, i16 12151, i16 6579, i16 12152, i16 12153, i16 12154, i16 12155, i16 6582, i16 6581, i16 12156, i16 0, i16 2151, i16 0, i16 6583, i16 12157, i16 12158, i16 12159, i16 0, i16 12160, i16 0, i16 3960, i16 7810, i16 1256, i16 1065, i16 0, i16 0, i16 0, i16 1662, i16 1255, i16 2688, i16 844, i16 2830, i16 3407, i16 1592, i16 3560, i16 2758, i16 1591, i16 0, i16 7811, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7812, i16 1418, i16 0, i16 3969, i16 0, i16 1376, i16 0, i16 3705, i16 11299, i16 0, i16 0, i16 0, i16 0, i16 11300, i16 0, i16 6080, i16 11301, i16 11302, i16 0, i16 3556, i16 11303, i16 6082, i16 6084, i16 0, i16 0, i16 0, i16 0, i16 6085, i16 0, i16 0, i16 11305, i16 0, i16 11306, i16 0, i16 6088, i16 6086, i16 0, i16 11307, i16 0, i16 10363, i16 0, i16 5484, i16 10367, i16 0, i16 0, i16 3232, i16 10368, i16 2306, i16 5486, i16 0, i16 10369, i16 10370, i16 0, i16 5487, i16 10371, i16 10372, i16 10373, i16 10374, i16 0, i16 5485, i16 0, i16 0, i16 0, i16 0, i16 1073, i16 10375, i16 5493, i16 10376, i16 5492, i16 10377, i16 0, i16 12670, i16 1233, i16 12671, i16 0, i16 12672, i16 12673, i16 12674, i16 0, i16 6823, i16 12675, i16 6824, i16 0, i16 3910, i16 4959, i16 3052, i16 0, i16 0, i16 836, i16 12676, i16 772, i16 0, i16 12677, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1863, i16 3299, i16 2155, i16 0, i16 0, i16 1408, i16 6500, i16 6501, i16 6502, i16 11984, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8328, i16 2139, i16 0, i16 0, i16 8329, i16 0, i16 0, i16 0, i16 0, i16 4225, i16 0, i16 2685, i16 8330, i16 0, i16 0, i16 876, i16 0, i16 4223, i16 0, i16 8324, i16 0, i16 4226, i16 0, i16 8331, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4227, i16 0, i16 0, i16 4489, i16 8720, i16 0, i16 0, i16 0, i16 0, i16 4497, i16 4496, i16 0, i16 8721, i16 8722, i16 4501, i16 0, i16 0, i16 0, i16 8723, i16 8724, i16 0, i16 0, i16 4502, i16 8725, i16 8726, i16 8727, i16 0, i16 8728, i16 0, i16 0, i16 4500, i16 4503, i16 4495, i16 4499, i16 0, i16 8076, i16 2221, i16 8077, i16 0, i16 0, i16 0, i16 0, i16 4104, i16 4107, i16 0, i16 1434, i16 8078, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4108, i16 8079, i16 8088, i16 0, i16 8080, i16 0, i16 8081, i16 8082, i16 0, i16 8083, i16 8084, i16 8085, i16 8086, i16 0, i16 12940, i16 0, i16 12941, i16 12942, i16 12943, i16 6973, i16 6971, i16 2544, i16 12944, i16 12945, i16 0, i16 0, i16 0, i16 12946, i16 12947, i16 12948, i16 0, i16 3363, i16 12949, i16 12950, i16 0, i16 12951, i16 3623, i16 12952, i16 0, i16 6975, i16 12953, i16 12960, i16 12954, i16 12955, i16 12956, i16 0, i16 654, i16 7143, i16 7144, i16 7145, i16 7146, i16 7147, i16 7148, i16 7149, i16 7150, i16 7151, i16 7152, i16 7153, i16 0, i16 7154, i16 7155, i16 648, i16 649, i16 650, i16 651, i16 652, i16 653, i16 655, i16 656, i16 657, i16 658, i16 659, i16 660, i16 661, i16 662, i16 663, i16 664, i16 0, i16 1423, i16 6557, i16 0, i16 6558, i16 12078, i16 0, i16 0, i16 3179, i16 0, i16 0, i16 12081, i16 0, i16 1079, i16 0, i16 12082, i16 12083, i16 0, i16 0, i16 0, i16 12084, i16 3496, i16 12080, i16 1340, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2771, i16 12085, i16 12086, i16 0, i16 10127, i16 5350, i16 0, i16 0, i16 10128, i16 5345, i16 5346, i16 0, i16 5349, i16 5348, i16 3100, i16 0, i16 0, i16 2377, i16 2376, i16 10129, i16 1246, i16 10130, i16 10131, i16 5351, i16 10132, i16 0, i16 0, i16 0, i16 10133, i16 5352, i16 0, i16 10134, i16 5353, i16 0, i16 0, i16 0, i16 11407, i16 0, i16 11408, i16 0, i16 6142, i16 0, i16 0, i16 11409, i16 6143, i16 0, i16 0, i16 0, i16 0, i16 11410, i16 11411, i16 0, i16 11412, i16 11413, i16 0, i16 6138, i16 0, i16 0, i16 6140, i16 0, i16 11414, i16 11415, i16 6141, i16 11416, i16 11417, i16 11418, i16 6139, i16 0, i16 5010, i16 5007, i16 3535, i16 0, i16 9507, i16 9508, i16 9509, i16 2657, i16 9510, i16 0, i16 0, i16 2870, i16 5008, i16 0, i16 0, i16 5016, i16 0, i16 5015, i16 1406, i16 9511, i16 9512, i16 946, i16 9513, i16 9514, i16 1712, i16 5009, i16 5011, i16 9515, i16 0, i16 0, i16 9516, i16 0, i16 8851, i16 8852, i16 8853, i16 8854, i16 0, i16 8855, i16 0, i16 0, i16 2447, i16 8856, i16 8857, i16 1790, i16 4606, i16 8858, i16 4608, i16 4604, i16 0, i16 8859, i16 8860, i16 8861, i16 3254, i16 0, i16 2654, i16 8862, i16 0, i16 0, i16 8863, i16 2403, i16 0, i16 0, i16 0, i16 0, i16 11163, i16 0, i16 6002, i16 2839, i16 0, i16 11164, i16 6007, i16 0, i16 0, i16 11165, i16 6004, i16 3291, i16 6010, i16 809, i16 11166, i16 0, i16 11167, i16 0, i16 5998, i16 0, i16 11168, i16 0, i16 0, i16 0, i16 11169, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3228, i16 2651, i16 1687, i16 0, i16 1655, i16 2038, i16 12619, i16 2215, i16 0, i16 12620, i16 0, i16 6801, i16 12622, i16 12623, i16 6800, i16 3505, i16 1193, i16 3051, i16 2873, i16 12624, i16 0, i16 12625, i16 2247, i16 3611, i16 12621, i16 1462, i16 0, i16 12626, i16 0, i16 12627, i16 0, i16 0, i16 4765, i16 0, i16 0, i16 0, i16 9146, i16 4768, i16 9147, i16 9148, i16 2244, i16 0, i16 0, i16 9149, i16 0, i16 3562, i16 786, i16 1749, i16 2465, i16 0, i16 1934, i16 9150, i16 9151, i16 2144, i16 0, i16 0, i16 4771, i16 0, i16 0, i16 2765, i16 9152, i16 4769, i16 2448, i16 0, i16 3230, i16 8167, i16 0, i16 8165, i16 4143, i16 0, i16 2568, i16 8168, i16 0, i16 1018, i16 0, i16 2138, i16 8169, i16 8170, i16 0, i16 8171, i16 4145, i16 8172, i16 4144, i16 8173, i16 1663, i16 8174, i16 4146, i16 4148, i16 4147, i16 8175, i16 0, i16 4150, i16 8176, i16 4139, i16 4152, i16 0, i16 6046, i16 0, i16 0, i16 0, i16 0, i16 11204, i16 0, i16 11205, i16 11206, i16 11207, i16 0, i16 0, i16 6024, i16 0, i16 11208, i16 0, i16 11209, i16 1114, i16 0, i16 11210, i16 0, i16 0, i16 0, i16 2149, i16 6035, i16 11211, i16 6040, i16 2426, i16 11212, i16 11213, i16 6036, i16 0, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 0, i16 6047, i16 11241, i16 11242, i16 11243, i16 11244, i16 2678, i16 11245, i16 0, i16 0, i16 11246, i16 11247, i16 6052, i16 839, i16 0, i16 11248, i16 0, i16 0, i16 11229, i16 11249, i16 11250, i16 2439, i16 11251, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3224, i16 0, i16 11252, i16 0, i16 9892, i16 1333, i16 5243, i16 5245, i16 0, i16 5244, i16 9893, i16 0, i16 9894, i16 0, i16 0, i16 9895, i16 0, i16 5246, i16 0, i16 1546, i16 0, i16 5247, i16 0, i16 0, i16 9896, i16 9897, i16 1382, i16 9898, i16 2375, i16 0, i16 1684, i16 0, i16 0, i16 0, i16 9899, i16 0, i16 10918, i16 0, i16 0, i16 5849, i16 5851, i16 5850, i16 3006, i16 10919, i16 2902, i16 0, i16 3689, i16 3010, i16 0, i16 10920, i16 0, i16 0, i16 0, i16 0, i16 5853, i16 0, i16 0, i16 2112, i16 0, i16 3105, i16 0, i16 5854, i16 5852, i16 10921, i16 1167, i16 10922, i16 0, i16 0, i16 7848, i16 3986, i16 0, i16 3995, i16 3988, i16 7849, i16 7850, i16 3992, i16 7851, i16 7852, i16 3993, i16 3989, i16 7853, i16 7854, i16 4022, i16 0, i16 7855, i16 1758, i16 1044, i16 0, i16 0, i16 0, i16 7856, i16 3987, i16 7857, i16 7858, i16 7859, i16 3997, i16 831, i16 3996, i16 7860, i16 0, i16 431, i16 432, i16 433, i16 434, i16 435, i16 436, i16 437, i16 438, i16 439, i16 440, i16 441, i16 442, i16 443, i16 444, i16 445, i16 446, i16 447, i16 448, i16 449, i16 450, i16 451, i16 452, i16 453, i16 454, i16 455, i16 456, i16 457, i16 458, i16 459, i16 460, i16 461, i16 0, i16 3248, i16 8554, i16 4385, i16 3673, i16 0, i16 8555, i16 8556, i16 8557, i16 4386, i16 3221, i16 4389, i16 3711, i16 3727, i16 8558, i16 1889, i16 2898, i16 4390, i16 0, i16 1276, i16 2629, i16 835, i16 4391, i16 3195, i16 1607, i16 8559, i16 0, i16 2579, i16 8560, i16 8561, i16 0, i16 2704, i16 0, i16 3000, i16 0, i16 12729, i16 2481, i16 895, i16 1387, i16 0, i16 1388, i16 12730, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2614, i16 6858, i16 1389, i16 12731, i16 12732, i16 1012, i16 0, i16 0, i16 6857, i16 12733, i16 12734, i16 6855, i16 12735, i16 6856, i16 12736, i16 6854, i16 0, i16 3513, i16 4657, i16 0, i16 8965, i16 4653, i16 0, i16 4654, i16 0, i16 8966, i16 8967, i16 8968, i16 8969, i16 2407, i16 8970, i16 0, i16 8971, i16 8972, i16 4652, i16 0, i16 4587, i16 8973, i16 0, i16 8974, i16 4656, i16 0, i16 4651, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6334, i16 11726, i16 11727, i16 11728, i16 11729, i16 11730, i16 0, i16 11731, i16 6338, i16 0, i16 0, i16 6335, i16 11736, i16 6337, i16 6336, i16 0, i16 0, i16 11732, i16 11733, i16 11734, i16 0, i16 6339, i16 0, i16 1890, i16 11735, i16 6341, i16 6340, i16 3167, i16 0, i16 11737, i16 6343, i16 0, i16 11198, i16 6026, i16 0, i16 6021, i16 11199, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2114, i16 0, i16 0, i16 0, i16 0, i16 1982, i16 0, i16 11200, i16 11201, i16 1885, i16 11202, i16 0, i16 0, i16 0, i16 3433, i16 0, i16 0, i16 3134, i16 0, i16 11203, i16 6037, i16 0, i16 6591, i16 0, i16 2689, i16 12170, i16 12171, i16 3336, i16 1401, i16 0, i16 12172, i16 12173, i16 0, i16 12174, i16 12175, i16 12176, i16 12177, i16 12178, i16 12179, i16 0, i16 0, i16 0, i16 6594, i16 6595, i16 12180, i16 0, i16 12181, i16 0, i16 12182, i16 6593, i16 12183, i16 0, i16 6597, i16 0, i16 3009, i16 4355, i16 3219, i16 4356, i16 0, i16 0, i16 0, i16 8521, i16 0, i16 8522, i16 8523, i16 8524, i16 8525, i16 8526, i16 0, i16 8527, i16 0, i16 1140, i16 3220, i16 2922, i16 4358, i16 4359, i16 0, i16 1603, i16 1141, i16 4360, i16 1521, i16 3507, i16 3480, i16 1207, i16 4362, i16 0, i16 3526, i16 0, i16 6257, i16 0, i16 0, i16 3193, i16 2945, i16 6258, i16 11600, i16 6259, i16 1508, i16 0, i16 11601, i16 0, i16 1227, i16 11602, i16 0, i16 0, i16 6260, i16 11603, i16 11604, i16 1854, i16 2940, i16 6261, i16 0, i16 1075, i16 11605, i16 11606, i16 0, i16 0, i16 11607, i16 0, i16 3783, i16 7516, i16 3268, i16 2576, i16 3779, i16 1484, i16 7517, i16 3776, i16 3784, i16 3778, i16 3614, i16 3785, i16 3692, i16 7518, i16 0, i16 7519, i16 0, i16 7520, i16 7521, i16 0, i16 7522, i16 1379, i16 0, i16 0, i16 1483, i16 0, i16 7546, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9159, i16 0, i16 0, i16 9160, i16 4783, i16 0, i16 3091, i16 0, i16 4774, i16 0, i16 4780, i16 4779, i16 0, i16 9161, i16 9162, i16 2296, i16 9163, i16 0, i16 9164, i16 0, i16 3360, i16 9165, i16 3616, i16 9166, i16 9167, i16 3354, i16 9168, i16 977, i16 1841, i16 0, i16 0, i16 0, i16 7112, i16 302, i16 303, i16 7120, i16 0, i16 7113, i16 309, i16 236, i16 7117, i16 7116, i16 0, i16 340, i16 0, i16 7118, i16 7106, i16 296, i16 283, i16 0, i16 0, i16 234, i16 0, i16 367, i16 0, i16 7103, i16 0, i16 7115, i16 0, i16 0, i16 0, i16 0, i16 7114, i16 0, i16 8138, i16 4127, i16 0, i16 8139, i16 0, i16 0, i16 8140, i16 8141, i16 925, i16 0, i16 2741, i16 0, i16 0, i16 0, i16 0, i16 4129, i16 0, i16 4125, i16 0, i16 0, i16 2203, i16 0, i16 0, i16 8142, i16 4133, i16 0, i16 0, i16 8143, i16 0, i16 2013, i16 8144, i16 0, i16 972, i16 4211, i16 0, i16 8307, i16 0, i16 8308, i16 0, i16 8309, i16 1900, i16 0, i16 4210, i16 1492, i16 0, i16 0, i16 8310, i16 4224, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4217, i16 4214, i16 0, i16 0, i16 8311, i16 0, i16 8312, i16 0, i16 0, i16 0, i16 0, i16 6865, i16 12747, i16 12748, i16 12749, i16 6867, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12750, i16 12751, i16 0, i16 1234, i16 6866, i16 12752, i16 12753, i16 2434, i16 1516, i16 0, i16 0, i16 12754, i16 0, i16 0, i16 6869, i16 0, i16 0, i16 0, i16 0, i16 12755, i16 0, i16 0, i16 10449, i16 0, i16 0, i16 0, i16 0, i16 1305, i16 5518, i16 10450, i16 10451, i16 5520, i16 10452, i16 0, i16 0, i16 5521, i16 10453, i16 2916, i16 10454, i16 0, i16 5522, i16 10455, i16 0, i16 0, i16 0, i16 10456, i16 5523, i16 5524, i16 10457, i16 0, i16 1366, i16 984, i16 2850, i16 0, i16 9683, i16 9684, i16 0, i16 2032, i16 0, i16 5139, i16 0, i16 9685, i16 0, i16 0, i16 0, i16 9686, i16 5132, i16 2637, i16 5129, i16 2682, i16 0, i16 0, i16 0, i16 5164, i16 0, i16 0, i16 0, i16 5126, i16 0, i16 5125, i16 0, i16 5134, i16 9687, i16 9688, i16 0, i16 0, i16 12499, i16 840, i16 2211, i16 2059, i16 1178, i16 6721, i16 0, i16 0, i16 0, i16 2977, i16 0, i16 6723, i16 0, i16 12500, i16 0, i16 841, i16 0, i16 6722, i16 2661, i16 12501, i16 3610, i16 2824, i16 6716, i16 3571, i16 0, i16 1514, i16 12502, i16 12503, i16 3530, i16 12504, i16 12505, i16 0, i16 6357, i16 0, i16 0, i16 0, i16 11760, i16 2819, i16 11761, i16 6359, i16 11762, i16 3296, i16 11763, i16 6360, i16 0, i16 6361, i16 11764, i16 6362, i16 11765, i16 0, i16 11766, i16 11767, i16 6363, i16 0, i16 11768, i16 11769, i16 11772, i16 2871, i16 11770, i16 0, i16 11771, i16 0, i16 0, i16 0, i16 11480, i16 0, i16 11481, i16 0, i16 6158, i16 11482, i16 0, i16 0, i16 11483, i16 11484, i16 11485, i16 0, i16 6178, i16 6182, i16 6177, i16 11486, i16 6184, i16 11488, i16 11489, i16 11490, i16 6186, i16 6185, i16 0, i16 11491, i16 11487, i16 11492, i16 11493, i16 11494, i16 0, i16 11495, i16 11496, i16 0, i16 12506, i16 12507, i16 12508, i16 12509, i16 1398, i16 3585, i16 0, i16 1411, i16 12510, i16 2503, i16 5873, i16 0, i16 6724, i16 1039, i16 2234, i16 0, i16 12511, i16 0, i16 0, i16 1081, i16 6726, i16 12512, i16 6727, i16 6725, i16 1471, i16 12513, i16 1746, i16 2128, i16 12514, i16 0, i16 12515, i16 0, i16 3548, i16 773, i16 5703, i16 0, i16 10730, i16 1290, i16 10731, i16 5700, i16 0, i16 10732, i16 0, i16 0, i16 0, i16 5701, i16 0, i16 10733, i16 2812, i16 5699, i16 5696, i16 0, i16 1035, i16 2317, i16 0, i16 10734, i16 1505, i16 10735, i16 10736, i16 0, i16 5708, i16 0, i16 10737, i16 0, i16 13021, i16 0, i16 0, i16 7014, i16 0, i16 0, i16 0, i16 0, i16 7015, i16 13022, i16 7010, i16 13023, i16 0, i16 13024, i16 6990, i16 0, i16 13025, i16 7016, i16 0, i16 2690, i16 13026, i16 0, i16 0, i16 7020, i16 13027, i16 7021, i16 7019, i16 13028, i16 0, i16 0, i16 13029, i16 0, i16 9187, i16 4794, i16 0, i16 4791, i16 0, i16 9188, i16 4799, i16 0, i16 4789, i16 0, i16 0, i16 4787, i16 0, i16 4795, i16 4785, i16 9189, i16 2607, i16 9190, i16 3465, i16 1911, i16 1769, i16 9191, i16 9192, i16 0, i16 9176, i16 0, i16 1711, i16 0, i16 0, i16 3362, i16 1060, i16 0, i16 3044, i16 0, i16 5746, i16 10797, i16 10798, i16 5741, i16 10799, i16 0, i16 0, i16 2344, i16 1453, i16 0, i16 1978, i16 10800, i16 0, i16 10801, i16 0, i16 10802, i16 0, i16 2160, i16 2365, i16 5752, i16 0, i16 10803, i16 5754, i16 5755, i16 0, i16 0, i16 5751, i16 5753, i16 10804, i16 0, i16 231, i16 0, i16 305, i16 301, i16 304, i16 306, i16 0, i16 263, i16 264, i16 307, i16 281, i16 225, i16 0, i16 226, i16 252, i16 369, i16 370, i16 371, i16 372, i16 373, i16 374, i16 375, i16 376, i16 377, i16 378, i16 228, i16 229, i16 288, i16 286, i16 289, i16 230, i16 0, i16 3568, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11549, i16 6229, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11550, i16 11551, i16 11552, i16 6230, i16 2117, i16 6228, i16 11553, i16 0, i16 11554, i16 3542, i16 6225, i16 0, i16 0, i16 6227, i16 2278, i16 2249, i16 0, i16 0, i16 3824, i16 0, i16 7611, i16 0, i16 0, i16 0, i16 7612, i16 7613, i16 0, i16 3476, i16 0, i16 7614, i16 7615, i16 0, i16 7616, i16 0, i16 7617, i16 3434, i16 7618, i16 7619, i16 7620, i16 0, i16 3826, i16 7621, i16 7622, i16 3825, i16 3828, i16 3827, i16 0, i16 0, i16 3829, i16 0, i16 8177, i16 8178, i16 0, i16 4151, i16 4149, i16 0, i16 0, i16 0, i16 8179, i16 0, i16 1825, i16 2204, i16 0, i16 2395, i16 4153, i16 2277, i16 822, i16 2975, i16 8180, i16 0, i16 0, i16 0, i16 2684, i16 0, i16 4155, i16 4154, i16 4156, i16 4157, i16 4158, i16 0, i16 0, i16 0, i16 7922, i16 0, i16 7923, i16 4038, i16 4036, i16 7924, i16 4093, i16 0, i16 7925, i16 0, i16 7926, i16 7927, i16 0, i16 7928, i16 0, i16 0, i16 7929, i16 7930, i16 7931, i16 4041, i16 0, i16 0, i16 7932, i16 7933, i16 0, i16 4035, i16 7934, i16 4039, i16 0, i16 7935, i16 4037, i16 0, i16 8434, i16 0, i16 0, i16 0, i16 0, i16 8435, i16 2237, i16 0, i16 0, i16 0, i16 4302, i16 0, i16 8436, i16 1759, i16 0, i16 0, i16 4308, i16 8437, i16 0, i16 4309, i16 4303, i16 1046, i16 4304, i16 4313, i16 4312, i16 4311, i16 4307, i16 0, i16 0, i16 0, i16 4306, i16 0, i16 10738, i16 10739, i16 10740, i16 0, i16 10741, i16 10742, i16 0, i16 10743, i16 5705, i16 0, i16 10744, i16 10745, i16 10746, i16 0, i16 5707, i16 0, i16 10747, i16 0, i16 5704, i16 0, i16 0, i16 10748, i16 10749, i16 0, i16 1452, i16 2456, i16 5709, i16 2421, i16 10750, i16 10751, i16 5722, i16 0, i16 10227, i16 5421, i16 2961, i16 0, i16 10228, i16 3346, i16 0, i16 885, i16 10229, i16 894, i16 10230, i16 10231, i16 5422, i16 10232, i16 0, i16 0, i16 0, i16 5424, i16 0, i16 10233, i16 0, i16 5423, i16 2799, i16 0, i16 10234, i16 0, i16 2274, i16 4957, i16 0, i16 5425, i16 3410, i16 0, i16 9460, i16 0, i16 9461, i16 0, i16 0, i16 9462, i16 9463, i16 0, i16 0, i16 0, i16 4993, i16 4992, i16 0, i16 9464, i16 4995, i16 0, i16 9465, i16 0, i16 4994, i16 0, i16 0, i16 0, i16 9466, i16 0, i16 9467, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9468, i16 0, i16 5109, i16 0, i16 0, i16 0, i16 1156, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9674, i16 0, i16 9675, i16 9676, i16 9677, i16 1476, i16 0, i16 0, i16 9678, i16 5135, i16 9679, i16 9680, i16 5130, i16 2337, i16 9681, i16 9682, i16 1094, i16 0, i16 4855, i16 4834, i16 4854, i16 0, i16 4847, i16 4835, i16 0, i16 4851, i16 0, i16 4852, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4869, i16 9275, i16 0, i16 9276, i16 2859, i16 9277, i16 4842, i16 0, i16 9278, i16 4865, i16 0, i16 9279, i16 0, i16 4867, i16 0, i16 2681, i16 0, i16 3579, i16 0, i16 0, i16 2145, i16 2334, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9557, i16 0, i16 5048, i16 5046, i16 0, i16 3140, i16 0, i16 9558, i16 9559, i16 0, i16 8956, i16 0, i16 8957, i16 2736, i16 4647, i16 8958, i16 0, i16 8959, i16 4648, i16 0, i16 3174, i16 8960, i16 2944, i16 1782, i16 0, i16 2330, i16 0, i16 3331, i16 8961, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1068, i16 0, i16 4655, i16 4650, i16 8962, i16 8963, i16 8964, i16 0, i16 8190, i16 3397, i16 8191, i16 8192, i16 4164, i16 0, i16 2508, i16 8193, i16 2742, i16 2469, i16 3150, i16 4165, i16 4166, i16 930, i16 8194, i16 8195, i16 1899, i16 4167, i16 8196, i16 0, i16 8197, i16 8198, i16 793, i16 4168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4169, i16 8199, i16 0, i16 12543, i16 12544, i16 12545, i16 6755, i16 0, i16 0, i16 3401, i16 12546, i16 0, i16 6756, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6757, i16 12547, i16 3669, i16 12548, i16 0, i16 0, i16 0, i16 0, i16 4761, i16 6758, i16 0, i16 0, i16 0, i16 6759, i16 6760, i16 0, i16 11520, i16 1644, i16 6199, i16 810, i16 11521, i16 0, i16 0, i16 0, i16 3124, i16 11522, i16 0, i16 6200, i16 0, i16 0, i16 0, i16 0, i16 2229, i16 11523, i16 6207, i16 0, i16 0, i16 6204, i16 0, i16 2610, i16 0, i16 11524, i16 0, i16 11525, i16 0, i16 6205, i16 6202, i16 1371, i16 5889, i16 0, i16 10986, i16 5892, i16 5891, i16 0, i16 0, i16 0, i16 3319, i16 5895, i16 0, i16 0, i16 0, i16 0, i16 10987, i16 0, i16 5896, i16 0, i16 10988, i16 2366, i16 10989, i16 5897, i16 0, i16 0, i16 5899, i16 0, i16 5903, i16 10990, i16 0, i16 5900, i16 5898, i16 2938, i16 6145, i16 11425, i16 0, i16 6156, i16 11426, i16 11427, i16 993, i16 0, i16 6152, i16 0, i16 6157, i16 0, i16 0, i16 0, i16 6153, i16 11428, i16 0, i16 11429, i16 11430, i16 0, i16 6150, i16 0, i16 2644, i16 0, i16 6147, i16 0, i16 0, i16 11431, i16 0, i16 0, i16 0, i16 2979, i16 11265, i16 11266, i16 11267, i16 6058, i16 11268, i16 0, i16 0, i16 0, i16 3706, i16 2815, i16 3178, i16 11269, i16 0, i16 6071, i16 0, i16 11270, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6077, i16 0, i16 11271, i16 11272, i16 11273, i16 0, i16 11274, i16 6078, i16 11275, i16 12802, i16 0, i16 6898, i16 6899, i16 12803, i16 12804, i16 6900, i16 12805, i16 0, i16 12806, i16 3018, i16 6902, i16 12807, i16 3101, i16 6903, i16 6901, i16 0, i16 6905, i16 12808, i16 12809, i16 6904, i16 12810, i16 0, i16 6906, i16 0, i16 12811, i16 12812, i16 6907, i16 0, i16 12813, i16 0, i16 12814, i16 4611, i16 0, i16 8875, i16 2404, i16 8876, i16 0, i16 0, i16 8877, i16 1961, i16 4616, i16 8878, i16 0, i16 2085, i16 0, i16 4610, i16 4615, i16 8879, i16 0, i16 2958, i16 0, i16 8880, i16 8881, i16 4609, i16 0, i16 1404, i16 8882, i16 8883, i16 1088, i16 0, i16 0, i16 8884, i16 4617, i16 4100, i16 0, i16 1753, i16 0, i16 0, i16 8052, i16 8053, i16 1358, i16 0, i16 0, i16 3306, i16 0, i16 8054, i16 8055, i16 4098, i16 4101, i16 1718, i16 1594, i16 8056, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9732, i16 0, i16 0, i16 9733, i16 0, i16 0, i16 2616, i16 2514, i16 0, i16 0, i16 0, i16 0, i16 2254, i16 0, i16 0, i16 9734, i16 5168, i16 0, i16 5170, i16 0, i16 9735, i16 0, i16 0, i16 9736, i16 0, i16 9737, i16 0, i16 0, i16 9738, i16 0, i16 5169, i16 0, i16 10244, i16 2103, i16 0, i16 0, i16 5434, i16 0, i16 10245, i16 5433, i16 5432, i16 3094, i16 10246, i16 1160, i16 1506, i16 0, i16 10247, i16 0, i16 0, i16 0, i16 10248, i16 0, i16 10249, i16 10250, i16 0, i16 10251, i16 0, i16 10252, i16 10253, i16 5440, i16 10254, i16 0, i16 5437, i16 2186, i16 7429, i16 0, i16 0, i16 7447, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3758, i16 7448, i16 0, i16 7449, i16 0, i16 7450, i16 3761, i16 3759, i16 7451, i16 0, i16 967, i16 0, i16 3216, i16 3753, i16 7452, i16 7453, i16 7454, i16 7455, i16 3757, i16 1580, i16 7456, i16 7457, i16 1819, i16 12293, i16 12294, i16 0, i16 12295, i16 2058, i16 12296, i16 0, i16 12297, i16 12298, i16 6620, i16 3252, i16 0, i16 12299, i16 891, i16 12300, i16 0, i16 12301, i16 0, i16 3133, i16 2613, i16 0, i16 0, i16 0, i16 0, i16 1303, i16 12302, i16 6622, i16 12303, i16 1652, i16 0, i16 0, i16 12304, i16 7686, i16 7687, i16 0, i16 1488, i16 1747, i16 2984, i16 7688, i16 0, i16 0, i16 3888, i16 3886, i16 0, i16 0, i16 0, i16 7689, i16 3186, i16 2135, i16 3895, i16 1095, i16 3889, i16 3887, i16 2390, i16 0, i16 7690, i16 7691, i16 7692, i16 0, i16 0, i16 0, i16 3891, i16 0, i16 3890, i16 11526, i16 6201, i16 6208, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1425, i16 0, i16 0, i16 2499, i16 0, i16 6214, i16 0, i16 0, i16 0, i16 0, i16 6210, i16 0, i16 0, i16 0, i16 2458, i16 6209, i16 11527, i16 6212, i16 11528, i16 11529, i16 11530, i16 0, i16 6203, i16 11531, i16 4103, i16 0, i16 0, i16 4114, i16 0, i16 0, i16 4115, i16 8095, i16 8096, i16 0, i16 0, i16 3351, i16 8097, i16 0, i16 2136, i16 8098, i16 0, i16 0, i16 4117, i16 4118, i16 4116, i16 8099, i16 4120, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2931, i16 8100, i16 8101, i16 817, i16 5383, i16 5384, i16 5385, i16 10177, i16 5386, i16 10178, i16 10179, i16 5382, i16 0, i16 10180, i16 0, i16 0, i16 0, i16 10181, i16 0, i16 0, i16 5388, i16 0, i16 10182, i16 10183, i16 5387, i16 10184, i16 0, i16 0, i16 10185, i16 10186, i16 10187, i16 5389, i16 10188, i16 0, i16 0, i16 0, i16 11015, i16 5917, i16 5918, i16 11016, i16 0, i16 5919, i16 0, i16 5920, i16 1338, i16 4660, i16 5921, i16 0, i16 2318, i16 5922, i16 1916, i16 11017, i16 5923, i16 0, i16 3726, i16 11018, i16 11019, i16 0, i16 5924, i16 3251, i16 1181, i16 11020, i16 11021, i16 2347, i16 2023, i16 11022, i16 3176, i16 1981, i16 5128, i16 5127, i16 5133, i16 9689, i16 2250, i16 0, i16 5124, i16 9690, i16 9691, i16 0, i16 0, i16 9692, i16 9693, i16 9694, i16 5136, i16 0, i16 9695, i16 5137, i16 9696, i16 9697, i16 9698, i16 0, i16 9699, i16 1155, i16 0, i16 0, i16 9700, i16 0, i16 0, i16 0, i16 0, i16 9701, i16 8457, i16 8458, i16 8459, i16 0, i16 8460, i16 0, i16 0, i16 0, i16 0, i16 2238, i16 8461, i16 0, i16 4318, i16 8462, i16 0, i16 1708, i16 8463, i16 0, i16 0, i16 4319, i16 0, i16 0, i16 4320, i16 0, i16 0, i16 8464, i16 8465, i16 0, i16 0, i16 0, i16 8466, i16 8467, i16 2314, i16 5617, i16 10602, i16 0, i16 3048, i16 10603, i16 5621, i16 3240, i16 10604, i16 2590, i16 10605, i16 5616, i16 5618, i16 0, i16 0, i16 5619, i16 0, i16 0, i16 0, i16 0, i16 10606, i16 0, i16 10607, i16 10608, i16 0, i16 10609, i16 10610, i16 10611, i16 0, i16 5622, i16 0, i16 0, i16 13066, i16 7038, i16 13067, i16 13068, i16 13069, i16 13070, i16 0, i16 13071, i16 7039, i16 0, i16 0, i16 7040, i16 7041, i16 0, i16 13072, i16 13073, i16 0, i16 7044, i16 7042, i16 3687, i16 0, i16 7043, i16 13074, i16 3644, i16 13075, i16 0, i16 0, i16 13076, i16 0, i16 7045, i16 13077, i16 3624, i16 4363, i16 0, i16 8531, i16 0, i16 8532, i16 8533, i16 2776, i16 1719, i16 8534, i16 0, i16 8535, i16 1540, i16 8536, i16 2702, i16 0, i16 0, i16 0, i16 8537, i16 0, i16 8538, i16 0, i16 780, i16 2045, i16 1606, i16 3510, i16 0, i16 0, i16 0, i16 0, i16 8539, i16 8540, i16 8541, i16 6667, i16 12430, i16 6668, i16 12431, i16 0, i16 0, i16 0, i16 0, i16 12432, i16 0, i16 6670, i16 12433, i16 0, i16 12434, i16 12435, i16 12436, i16 6672, i16 12437, i16 12438, i16 0, i16 0, i16 6673, i16 0, i16 6674, i16 0, i16 0, i16 0, i16 0, i16 6677, i16 6675, i16 6678, i16 6680, i16 2572, i16 9363, i16 0, i16 9364, i16 4930, i16 0, i16 9365, i16 9366, i16 0, i16 9367, i16 0, i16 9368, i16 0, i16 4928, i16 1570, i16 0, i16 4927, i16 9369, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4933, i16 0, i16 0, i16 0, i16 9370, i16 4800, i16 9371, i16 9372, i16 9373, i16 3340, i16 0, i16 2831, i16 8114, i16 8115, i16 1491, i16 2484, i16 0, i16 8116, i16 8117, i16 4119, i16 4122, i16 8119, i16 8120, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2473, i16 0, i16 0, i16 0, i16 4123, i16 0, i16 8121, i16 0, i16 4124, i16 8122, i16 8123, i16 7436, i16 0, i16 7437, i16 2674, i16 0, i16 0, i16 2533, i16 3752, i16 7438, i16 7439, i16 0, i16 7440, i16 7441, i16 789, i16 2692, i16 1994, i16 1705, i16 3475, i16 7442, i16 2483, i16 7443, i16 964, i16 7444, i16 3751, i16 7445, i16 3501, i16 3747, i16 3749, i16 1763, i16 3750, i16 4184, i16 7446, i16 11532, i16 0, i16 6213, i16 0, i16 6215, i16 0, i16 0, i16 0, i16 11533, i16 0, i16 11534, i16 3080, i16 0, i16 0, i16 6211, i16 0, i16 6216, i16 6218, i16 0, i16 0, i16 1548, i16 6206, i16 0, i16 778, i16 0, i16 0, i16 11535, i16 0, i16 0, i16 11536, i16 11537, i16 6217, i16 4109, i16 8087, i16 1595, i16 1059, i16 4111, i16 0, i16 0, i16 8089, i16 8090, i16 8091, i16 4112, i16 0, i16 8092, i16 0, i16 0, i16 0, i16 4113, i16 0, i16 0, i16 4110, i16 0, i16 0, i16 0, i16 0, i16 8093, i16 0, i16 0, i16 0, i16 0, i16 8094, i16 0, i16 0, i16 5901, i16 0, i16 5902, i16 10992, i16 0, i16 10993, i16 951, i16 0, i16 5909, i16 5904, i16 10994, i16 10991, i16 0, i16 5905, i16 10995, i16 10996, i16 0, i16 5906, i16 0, i16 2438, i16 0, i16 10997, i16 0, i16 10998, i16 5908, i16 5907, i16 5910, i16 10999, i16 0, i16 11000, i16 11001, i16 5911, i16 7693, i16 0, i16 7694, i16 1063, i16 0, i16 7695, i16 0, i16 1467, i16 3896, i16 3578, i16 7696, i16 0, i16 7697, i16 3892, i16 0, i16 0, i16 0, i16 3897, i16 3894, i16 7698, i16 3893, i16 7699, i16 7700, i16 7701, i16 7702, i16 0, i16 7703, i16 3612, i16 7704, i16 0, i16 0, i16 1586, i16 10510, i16 5545, i16 5546, i16 2148, i16 0, i16 10511, i16 0, i16 10512, i16 0, i16 5547, i16 10513, i16 1074, i16 0, i16 10514, i16 0, i16 0, i16 5549, i16 0, i16 0, i16 0, i16 1477, i16 10515, i16 1285, i16 0, i16 10516, i16 5550, i16 1394, i16 0, i16 0, i16 5551, i16 10517, i16 2341, i16 2063, i16 1318, i16 0, i16 3924, i16 0, i16 7751, i16 0, i16 7752, i16 7753, i16 7754, i16 3060, i16 7755, i16 7756, i16 7757, i16 0, i16 3925, i16 7758, i16 3926, i16 7759, i16 3927, i16 0, i16 7760, i16 0, i16 0, i16 3928, i16 3099, i16 1381, i16 814, i16 7761, i16 7762, i16 7763, i16 2844, i16 4623, i16 8891, i16 0, i16 2460, i16 4629, i16 8892, i16 4624, i16 0, i16 8893, i16 4626, i16 0, i16 0, i16 0, i16 0, i16 8894, i16 3128, i16 2708, i16 8895, i16 4627, i16 8896, i16 8897, i16 8898, i16 3483, i16 0, i16 0, i16 0, i16 3511, i16 1146, i16 8899, i16 0, i16 0, i16 0, i16 12815, i16 12816, i16 12817, i16 12818, i16 12819, i16 12820, i16 6908, i16 0, i16 12821, i16 12822, i16 0, i16 12823, i16 12824, i16 12825, i16 12826, i16 0, i16 12827, i16 0, i16 12828, i16 0, i16 0, i16 0, i16 12829, i16 0, i16 6909, i16 12830, i16 6910, i16 12831, i16 12832, i16 0, i16 0, i16 6911, i16 5648, i16 0, i16 0, i16 5645, i16 0, i16 0, i16 10645, i16 0, i16 0, i16 0, i16 10646, i16 0, i16 5644, i16 2299, i16 0, i16 5647, i16 5649, i16 10648, i16 10649, i16 10650, i16 5646, i16 10647, i16 5653, i16 0, i16 5650, i16 10651, i16 10652, i16 10653, i16 10654, i16 10655, i16 10656, i16 5651, i16 10000, i16 10001, i16 0, i16 1284, i16 10002, i16 5284, i16 3564, i16 10003, i16 0, i16 3581, i16 10004, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10005, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10006, i16 10007, i16 0, i16 0, i16 0, i16 0, i16 1297, i16 1067, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8830, i16 0, i16 1098, i16 2156, i16 4597, i16 4602, i16 0, i16 4598, i16 8831, i16 1496, i16 8832, i16 4603, i16 1781, i16 1664, i16 0, i16 0, i16 0, i16 0, i16 8833, i16 8834, i16 1973, i16 4585, i16 10769, i16 918, i16 0, i16 0, i16 2889, i16 5731, i16 0, i16 0, i16 10781, i16 5738, i16 5732, i16 5739, i16 0, i16 0, i16 0, i16 0, i16 10782, i16 10783, i16 5735, i16 0, i16 0, i16 10784, i16 0, i16 10785, i16 0, i16 0, i16 0, i16 2998, i16 10786, i16 10787, i16 1915, i16 5737, i16 12305, i16 0, i16 12306, i16 0, i16 0, i16 0, i16 1791, i16 0, i16 12307, i16 0, i16 0, i16 0, i16 0, i16 12308, i16 0, i16 6621, i16 2232, i16 12309, i16 0, i16 0, i16 12310, i16 12311, i16 0, i16 0, i16 2233, i16 6625, i16 6627, i16 0, i16 12312, i16 12313, i16 12314, i16 12315, i16 11538, i16 1744, i16 3651, i16 6219, i16 6220, i16 2428, i16 0, i16 0, i16 0, i16 0, i16 11539, i16 11540, i16 11541, i16 11542, i16 11543, i16 3567, i16 0, i16 11544, i16 11545, i16 11546, i16 6221, i16 3492, i16 0, i16 0, i16 6222, i16 6223, i16 0, i16 11547, i16 3257, i16 6224, i16 11548, i16 1717, i16 1299, i16 2766, i16 9602, i16 5080, i16 5089, i16 760, i16 857, i16 9603, i16 0, i16 958, i16 0, i16 5082, i16 2449, i16 5073, i16 5075, i16 1624, i16 0, i16 0, i16 9604, i16 0, i16 0, i16 0, i16 9605, i16 0, i16 5092, i16 9606, i16 5087, i16 9607, i16 9608, i16 0, i16 5079, i16 0, i16 2323, i16 7769, i16 0, i16 7770, i16 0, i16 7771, i16 1424, i16 0, i16 0, i16 3937, i16 0, i16 0, i16 7772, i16 7773, i16 3938, i16 851, i16 830, i16 1198, i16 7774, i16 2445, i16 1264, i16 3552, i16 0, i16 3941, i16 956, i16 7775, i16 0, i16 3940, i16 0, i16 0, i16 7776, i16 1319, i16 7188, i16 7173, i16 7187, i16 7239, i16 7324, i16 7241, i16 7326, i16 7240, i16 7325, i16 7189, i16 7175, i16 7190, i16 7249, i16 7334, i16 0, i16 0, i16 7248, i16 7333, i16 7177, i16 7192, i16 7251, i16 7336, i16 7253, i16 7338, i16 7252, i16 7337, i16 7254, i16 7339, i16 7255, i16 7340, i16 7257, i16 7342, i16 6165, i16 11458, i16 0, i16 0, i16 6169, i16 0, i16 6172, i16 6171, i16 11459, i16 11460, i16 11461, i16 6163, i16 0, i16 0, i16 11462, i16 0, i16 6166, i16 0, i16 6183, i16 0, i16 0, i16 11463, i16 11464, i16 0, i16 0, i16 11465, i16 11466, i16 0, i16 11467, i16 0, i16 0, i16 11468, i16 2582, i16 0, i16 5005, i16 0, i16 0, i16 0, i16 0, i16 9550, i16 5013, i16 0, i16 5006, i16 9499, i16 0, i16 9500, i16 0, i16 9501, i16 2470, i16 0, i16 1281, i16 5014, i16 9502, i16 0, i16 9503, i16 0, i16 9504, i16 9505, i16 1475, i16 9506, i16 0, i16 1220, i16 5012, i16 0, i16 10518, i16 2858, i16 10519, i16 2313, i16 1770, i16 10520, i16 10521, i16 0, i16 5552, i16 0, i16 10522, i16 10523, i16 0, i16 0, i16 0, i16 0, i16 10524, i16 10525, i16 2597, i16 2418, i16 10526, i16 5554, i16 5556, i16 5553, i16 5555, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10527, i16 1405, i16 12054, i16 12055, i16 12056, i16 2878, i16 0, i16 12057, i16 3297, i16 0, i16 6553, i16 0, i16 1930, i16 0, i16 0, i16 0, i16 0, i16 6554, i16 12058, i16 6555, i16 12059, i16 12060, i16 12061, i16 6556, i16 12062, i16 0, i16 2720, i16 0, i16 0, i16 0, i16 0, i16 12063, i16 12065, i16 0, i16 11287, i16 0, i16 11288, i16 0, i16 6066, i16 11289, i16 2349, i16 11290, i16 6070, i16 1786, i16 2192, i16 1419, i16 3461, i16 11304, i16 3466, i16 2049, i16 0, i16 0, i16 0, i16 0, i16 11291, i16 0, i16 11292, i16 11293, i16 11294, i16 6083, i16 6081, i16 0, i16 11295, i16 11296, i16 11297, i16 11298, i16 3864, i16 3345, i16 7657, i16 0, i16 0, i16 7658, i16 2039, i16 2529, i16 0, i16 3866, i16 2881, i16 0, i16 0, i16 3867, i16 7659, i16 0, i16 3868, i16 1041, i16 7660, i16 7661, i16 7662, i16 3869, i16 1316, i16 7663, i16 2857, i16 929, i16 2015, i16 0, i16 0, i16 3002, i16 3870, i16 0, i16 5912, i16 11002, i16 0, i16 2190, i16 11003, i16 1006, i16 0, i16 5913, i16 3620, i16 0, i16 1884, i16 11004, i16 11005, i16 1980, i16 0, i16 0, i16 11006, i16 11007, i16 11008, i16 1853, i16 2586, i16 11009, i16 11010, i16 0, i16 11011, i16 11012, i16 5914, i16 5915, i16 856, i16 11013, i16 5916, i16 11014, i16 6936, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12883, i16 12884, i16 6937, i16 12885, i16 3361, i16 1792, i16 12886, i16 1775, i16 2358, i16 0, i16 12887, i16 12888, i16 12889, i16 0, i16 6938, i16 0, i16 0, i16 12890, i16 12891, i16 6941, i16 0, i16 12892, i16 12893, i16 0, i16 12894, i16 12895, i16 7960, i16 7961, i16 868, i16 7962, i16 7963, i16 0, i16 7964, i16 0, i16 0, i16 7965, i16 0, i16 7966, i16 2368, i16 7967, i16 4049, i16 7968, i16 4050, i16 0, i16 0, i16 0, i16 7969, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1117, i16 0, i16 0, i16 7970, i16 0, i16 2842, i16 1323, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1002, i16 4296, i16 4301, i16 0, i16 0, i16 4299, i16 8430, i16 3276, i16 3275, i16 8431, i16 8432, i16 0, i16 8433, i16 0, i16 2790, i16 0, i16 0, i16 0, i16 4298, i16 2019, i16 0, i16 4297, i16 0, i16 0, i16 12570, i16 6777, i16 0, i16 0, i16 1110, i16 6775, i16 6779, i16 0, i16 0, i16 12571, i16 0, i16 6780, i16 0, i16 785, i16 0, i16 6781, i16 6782, i16 0, i16 0, i16 0, i16 0, i16 12572, i16 12573, i16 12574, i16 2129, i16 12575, i16 12576, i16 0, i16 6783, i16 0, i16 12577, i16 12578, i16 4891, i16 9304, i16 0, i16 0, i16 0, i16 9305, i16 9306, i16 4888, i16 9307, i16 0, i16 0, i16 9308, i16 0, i16 9309, i16 4876, i16 9310, i16 0, i16 4905, i16 4875, i16 0, i16 4894, i16 0, i16 0, i16 9311, i16 9312, i16 0, i16 9313, i16 4886, i16 9314, i16 0, i16 4881, i16 4878, i16 6939, i16 12896, i16 0, i16 0, i16 0, i16 0, i16 6942, i16 12897, i16 12898, i16 1578, i16 6940, i16 0, i16 0, i16 0, i16 12899, i16 6943, i16 12900, i16 6944, i16 6945, i16 0, i16 6949, i16 0, i16 1789, i16 12901, i16 12902, i16 0, i16 0, i16 2505, i16 0, i16 12903, i16 0, i16 12904, i16 7197, i16 7196, i16 7199, i16 7205, i16 7198, i16 7204, i16 7169, i16 7209, i16 7213, i16 7212, i16 7215, i16 7214, i16 7226, i16 7225, i16 7228, i16 7227, i16 0, i16 7242, i16 7244, i16 7243, i16 7246, i16 7250, i16 7245, i16 284, i16 7176, i16 7261, i16 7260, i16 7263, i16 7262, i16 7276, i16 7179, i16 7193, i16 8734, i16 0, i16 3376, i16 1144, i16 0, i16 4514, i16 0, i16 1440, i16 1047, i16 0, i16 0, i16 4511, i16 8735, i16 0, i16 3589, i16 4513, i16 799, i16 4515, i16 8736, i16 4506, i16 4512, i16 4519, i16 1439, i16 4507, i16 8737, i16 0, i16 0, i16 8738, i16 8739, i16 0, i16 3532, i16 8740, i16 287, i16 350, i16 0, i16 0, i16 0, i16 0, i16 290, i16 291, i16 0, i16 0, i16 352, i16 353, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1311, i16 966, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4185, i16 0, i16 3372, i16 3173, i16 1581, i16 0, i16 0, i16 7475, i16 0, i16 0, i16 2170, i16 3588, i16 7476, i16 0, i16 7477, i16 0, i16 7478, i16 7479, i16 7480, i16 7481, i16 3245, i16 5407, i16 10207, i16 0, i16 5408, i16 2729, i16 10208, i16 1034, i16 1627, i16 5409, i16 0, i16 0, i16 5410, i16 10209, i16 10210, i16 5411, i16 0, i16 1788, i16 0, i16 0, i16 5413, i16 0, i16 10211, i16 5412, i16 0, i16 0, i16 5414, i16 5415, i16 10212, i16 10213, i16 10214, i16 0, i16 10215, i16 8479, i16 0, i16 4324, i16 0, i16 0, i16 0, i16 0, i16 8480, i16 0, i16 0, i16 0, i16 8481, i16 4326, i16 0, i16 4327, i16 0, i16 8482, i16 0, i16 12526, i16 0, i16 8483, i16 0, i16 0, i16 4330, i16 8484, i16 8485, i16 3635, i16 0, i16 4331, i16 4328, i16 0, i16 0, i16 11039, i16 0, i16 5936, i16 11040, i16 5935, i16 0, i16 1168, i16 11041, i16 5937, i16 0, i16 5938, i16 5939, i16 0, i16 11042, i16 1702, i16 3606, i16 0, i16 5941, i16 2162, i16 0, i16 11043, i16 0, i16 919, i16 5942, i16 5943, i16 0, i16 0, i16 11044, i16 0, i16 11045, i16 5944, i16 11046, i16 2080, i16 4375, i16 4374, i16 4370, i16 0, i16 8552, i16 0, i16 0, i16 4376, i16 4377, i16 0, i16 8553, i16 4378, i16 0, i16 0, i16 0, i16 4381, i16 4379, i16 0, i16 4380, i16 4382, i16 0, i16 907, i16 2703, i16 4383, i16 0, i16 1493, i16 1019, i16 2929, i16 0, i16 4384, i16 2904, i16 6176, i16 0, i16 11469, i16 11470, i16 11471, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11472, i16 11473, i16 0, i16 11474, i16 0, i16 6174, i16 0, i16 11475, i16 6175, i16 11476, i16 0, i16 0, i16 6180, i16 6181, i16 11477, i16 1037, i16 11478, i16 1249, i16 0, i16 0, i16 6179, i16 11479, i16 6688, i16 12452, i16 1177, i16 1080, i16 1653, i16 3023, i16 12453, i16 6690, i16 6689, i16 12454, i16 0, i16 12455, i16 12456, i16 6691, i16 0, i16 0, i16 0, i16 0, i16 899, i16 0, i16 12457, i16 0, i16 12458, i16 0, i16 0, i16 6694, i16 12459, i16 6693, i16 6692, i16 12460, i16 6695, i16 12461, i16 10528, i16 0, i16 0, i16 10529, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5557, i16 1409, i16 0, i16 10530, i16 0, i16 1286, i16 3521, i16 5559, i16 0, i16 0, i16 10531, i16 0, i16 10532, i16 5560, i16 0, i16 0, i16 10533, i16 853, i16 10534, i16 10535, i16 0, i16 0, i16 5563, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 545, i16 546, i16 547, i16 548, i16 549, i16 550, i16 551, i16 552, i16 553, i16 554, i16 555, i16 556, i16 557, i16 558, i16 559, i16 560, i16 561, i16 562, i16 563, i16 564, i16 565, i16 566, i16 567, i16 568, i16 569, i16 570, i16 571, i16 572, i16 573, i16 574, i16 575, i16 576, i16 12833, i16 0, i16 6912, i16 6913, i16 0, i16 6914, i16 12834, i16 6915, i16 6916, i16 6917, i16 6918, i16 12835, i16 0, i16 12836, i16 6919, i16 6920, i16 0, i16 4953, i16 6921, i16 12837, i16 12838, i16 12839, i16 0, i16 12840, i16 0, i16 12841, i16 12842, i16 5678, i16 1235, i16 12843, i16 0, i16 0, i16 4130, i16 0, i16 0, i16 9454, i16 9455, i16 1218, i16 4988, i16 0, i16 0, i16 9456, i16 0, i16 4989, i16 9457, i16 3265, i16 3355, i16 0, i16 0, i16 0, i16 2852, i16 4990, i16 3071, i16 0, i16 9458, i16 0, i16 3092, i16 0, i16 9459, i16 3428, i16 0, i16 0, i16 0, i16 4991, i16 7202, i16 7288, i16 7200, i16 7286, i16 7203, i16 7289, i16 7206, i16 7292, i16 7207, i16 7293, i16 7210, i16 7296, i16 7208, i16 7294, i16 7211, i16 7297, i16 7170, i16 7181, i16 7218, i16 7304, i16 0, i16 0, i16 7217, i16 7303, i16 7219, i16 7305, i16 7216, i16 7302, i16 7220, i16 7307, i16 7221, i16 7308, i16 7971, i16 7972, i16 7973, i16 7974, i16 4057, i16 0, i16 7975, i16 0, i16 1200, i16 7976, i16 4060, i16 4056, i16 4059, i16 7977, i16 0, i16 7978, i16 0, i16 7979, i16 7980, i16 0, i16 3203, i16 7981, i16 0, i16 0, i16 2866, i16 0, i16 3025, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10788, i16 5734, i16 5740, i16 5733, i16 0, i16 0, i16 2003, i16 10789, i16 10790, i16 0, i16 0, i16 3288, i16 10791, i16 10792, i16 2011, i16 10793, i16 0, i16 5736, i16 5748, i16 10794, i16 0, i16 5744, i16 10795, i16 5747, i16 0, i16 5745, i16 5749, i16 5743, i16 0, i16 5717, i16 2300, i16 10796, i16 7717, i16 3904, i16 0, i16 3337, i16 7718, i16 2653, i16 7719, i16 3477, i16 7720, i16 3246, i16 0, i16 0, i16 7721, i16 3905, i16 0, i16 7722, i16 0, i16 7723, i16 6771, i16 0, i16 7724, i16 2829, i16 7725, i16 3906, i16 1131, i16 3396, i16 0, i16 7726, i16 7727, i16 2062, i16 3907, i16 3260, i16 8741, i16 8742, i16 3482, i16 8743, i16 8744, i16 0, i16 0, i16 4522, i16 0, i16 0, i16 4526, i16 8745, i16 0, i16 8746, i16 2437, i16 0, i16 3654, i16 4527, i16 8747, i16 8748, i16 4524, i16 0, i16 4521, i16 8749, i16 8750, i16 4520, i16 4525, i16 0, i16 8751, i16 8752, i16 0, i16 8753, i16 10021, i16 5294, i16 0, i16 10022, i16 10023, i16 0, i16 10024, i16 10025, i16 0, i16 0, i16 0, i16 10026, i16 0, i16 10027, i16 0, i16 0, i16 0, i16 10028, i16 10029, i16 0, i16 0, i16 5290, i16 0, i16 10030, i16 0, i16 5293, i16 1571, i16 884, i16 5295, i16 10031, i16 2235, i16 5292, i16 295, i16 0, i16 294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5671, i16 0, i16 5673, i16 0, i16 10682, i16 5672, i16 0, i16 10683, i16 10684, i16 10685, i16 1547, i16 0, i16 0, i16 10686, i16 2367, i16 10687, i16 0, i16 0, i16 5675, i16 10688, i16 10689, i16 10690, i16 2811, i16 10691, i16 5674, i16 10692, i16 10693, i16 0, i16 5676, i16 10694, i16 3210, i16 2419, i16 10279, i16 2226, i16 10280, i16 2849, i16 10281, i16 5448, i16 3334, i16 10282, i16 5445, i16 0, i16 10283, i16 5446, i16 10284, i16 0, i16 0, i16 0, i16 10285, i16 0, i16 10286, i16 10287, i16 10288, i16 0, i16 0, i16 0, i16 0, i16 5451, i16 10289, i16 0, i16 0, i16 10290, i16 5450, i16 5449, i16 11047, i16 11048, i16 0, i16 11049, i16 11050, i16 0, i16 0, i16 11051, i16 0, i16 11052, i16 11053, i16 827, i16 0, i16 5945, i16 11054, i16 0, i16 0, i16 11055, i16 5946, i16 0, i16 11056, i16 0, i16 11057, i16 0, i16 11058, i16 3166, i16 11059, i16 11060, i16 0, i16 1912, i16 0, i16 5948, i16 2600, i16 0, i16 10266, i16 0, i16 0, i16 10267, i16 10268, i16 5443, i16 0, i16 0, i16 10269, i16 0, i16 0, i16 10270, i16 10271, i16 10272, i16 0, i16 0, i16 10273, i16 0, i16 0, i16 0, i16 10274, i16 10275, i16 0, i16 0, i16 5444, i16 5447, i16 10276, i16 0, i16 10277, i16 10278, i16 3625, i16 0, i16 10032, i16 5298, i16 7098, i16 0, i16 10033, i16 10034, i16 10035, i16 5296, i16 5299, i16 10036, i16 0, i16 10037, i16 10038, i16 5285, i16 5297, i16 10039, i16 10040, i16 1713, i16 0, i16 0, i16 5300, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5301, i16 0, i16 5929, i16 0, i16 0, i16 11029, i16 11030, i16 11031, i16 11032, i16 2715, i16 0, i16 0, i16 0, i16 11033, i16 0, i16 0, i16 11034, i16 11035, i16 0, i16 11036, i16 0, i16 0, i16 0, i16 0, i16 11037, i16 0, i16 5931, i16 5930, i16 5933, i16 0, i16 11038, i16 5932, i16 0, i16 5934, i16 2604, i16 8623, i16 8624, i16 0, i16 4424, i16 0, i16 0, i16 0, i16 8625, i16 8626, i16 8627, i16 1020, i16 8628, i16 8629, i16 8630, i16 8631, i16 4475, i16 4426, i16 8632, i16 8633, i16 0, i16 2923, i16 8634, i16 0, i16 4425, i16 0, i16 8635, i16 4423, i16 8636, i16 1681, i16 0, i16 4429, i16 6444, i16 11900, i16 11901, i16 6446, i16 6443, i16 0, i16 0, i16 0, i16 0, i16 11902, i16 0, i16 0, i16 11903, i16 11904, i16 0, i16 11905, i16 11906, i16 11907, i16 6449, i16 0, i16 1986, i16 0, i16 6448, i16 0, i16 0, i16 11908, i16 11909, i16 11910, i16 6450, i16 0, i16 0, i16 0, i16 11308, i16 0, i16 0, i16 0, i16 2816, i16 6087, i16 11309, i16 0, i16 11310, i16 3046, i16 6074, i16 0, i16 0, i16 11311, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11312, i16 0, i16 0, i16 11313, i16 2050, i16 0, i16 6089, i16 6094, i16 2427, i16 11314, i16 0, i16 6093, i16 11315, i16 8493, i16 2035, i16 0, i16 2410, i16 8494, i16 1600, i16 1709, i16 1601, i16 1295, i16 8495, i16 0, i16 4338, i16 0, i16 0, i16 1710, i16 0, i16 0, i16 1539, i16 4339, i16 3383, i16 2942, i16 4340, i16 0, i16 1602, i16 8496, i16 8497, i16 0, i16 1133, i16 0, i16 2538, i16 1359, i16 0, i16 11566, i16 0, i16 0, i16 0, i16 0, i16 6237, i16 11567, i16 11568, i16 11569, i16 0, i16 6238, i16 6239, i16 0, i16 0, i16 0, i16 0, i16 11570, i16 11571, i16 11572, i16 0, i16 0, i16 11573, i16 6243, i16 0, i16 6244, i16 11574, i16 11575, i16 6242, i16 0, i16 0, i16 11576, i16 0, i16 3377, i16 0, i16 5093, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3015, i16 9629, i16 0, i16 5105, i16 1524, i16 0, i16 0, i16 9630, i16 0, i16 0, i16 2031, i16 0, i16 5095, i16 9631, i16 0, i16 0, i16 3580, i16 1625, i16 0, i16 5108, i16 8498, i16 0, i16 1831, i16 3154, i16 0, i16 0, i16 3034, i16 8499, i16 0, i16 0, i16 0, i16 4341, i16 1206, i16 8500, i16 0, i16 0, i16 0, i16 4344, i16 8501, i16 0, i16 8502, i16 8503, i16 2626, i16 0, i16 8504, i16 4343, i16 4342, i16 4345, i16 0, i16 2700, i16 0, i16 8505, i16 8754, i16 0, i16 0, i16 0, i16 3205, i16 8755, i16 0, i16 2833, i16 8756, i16 1441, i16 8757, i16 4528, i16 4523, i16 8758, i16 4529, i16 0, i16 0, i16 0, i16 1494, i16 0, i16 0, i16 0, i16 950, i16 0, i16 8759, i16 8760, i16 4537, i16 0, i16 8761, i16 0, i16 1145, i16 0, i16 10291, i16 0, i16 0, i16 0, i16 10292, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5453, i16 10293, i16 10294, i16 5452, i16 0, i16 0, i16 5454, i16 0, i16 0, i16 10295, i16 10296, i16 10297, i16 0, i16 0, i16 0, i16 10298, i16 0, i16 0, i16 0, i16 5456, i16 10299, i16 308, i16 379, i16 380, i16 381, i16 382, i16 383, i16 384, i16 385, i16 386, i16 387, i16 388, i16 389, i16 390, i16 391, i16 392, i16 393, i16 394, i16 395, i16 396, i16 397, i16 398, i16 399, i16 400, i16 401, i16 402, i16 403, i16 404, i16 267, i16 253, i16 268, i16 237, i16 239, i16 11316, i16 0, i16 6062, i16 0, i16 11317, i16 11318, i16 6095, i16 2384, i16 0, i16 0, i16 6090, i16 6092, i16 0, i16 11319, i16 11320, i16 0, i16 11321, i16 11322, i16 11323, i16 6091, i16 0, i16 0, i16 4949, i16 4934, i16 11324, i16 11325, i16 6097, i16 11326, i16 0, i16 0, i16 11327, i16 0, i16 821, i16 2621, i16 7367, i16 1896, i16 7368, i16 7369, i16 0, i16 3375, i16 2131, i16 1795, i16 2130, i16 961, i16 7370, i16 3147, i16 3502, i16 0, i16 3712, i16 854, i16 7371, i16 0, i16 1105, i16 3713, i16 2253, i16 3932, i16 1269, i16 3215, i16 0, i16 0, i16 0, i16 0, i16 2132, i16 7372, i16 4661, i16 4662, i16 2726, i16 4664, i16 8975, i16 8976, i16 1783, i16 4659, i16 0, i16 8977, i16 8978, i16 0, i16 1243, i16 8979, i16 0, i16 4665, i16 8980, i16 4658, i16 4669, i16 0, i16 4668, i16 8981, i16 4667, i16 8982, i16 0, i16 0, i16 4670, i16 8983, i16 0, i16 4672, i16 2142, i16 8984, i16 9013, i16 0, i16 1147, i16 1801, i16 0, i16 0, i16 2869, i16 9014, i16 0, i16 0, i16 0, i16 9015, i16 1444, i16 0, i16 0, i16 0, i16 2239, i16 0, i16 4692, i16 0, i16 2265, i16 2727, i16 0, i16 3158, i16 4693, i16 0, i16 9016, i16 0, i16 0, i16 9017, i16 0, i16 0, i16 11061, i16 11062, i16 0, i16 11063, i16 11064, i16 1036, i16 763, i16 11065, i16 11066, i16 11067, i16 11068, i16 5947, i16 5950, i16 2953, i16 11069, i16 2191, i16 11070, i16 987, i16 11071, i16 3290, i16 11072, i16 0, i16 0, i16 11073, i16 1464, i16 1369, i16 11074, i16 5949, i16 11075, i16 1007, i16 11076, i16 11077, i16 7223, i16 7309, i16 7222, i16 0, i16 7224, i16 7310, i16 7171, i16 7183, i16 7233, i16 7318, i16 7231, i16 7316, i16 0, i16 0, i16 7232, i16 7317, i16 7230, i16 7184, i16 7172, i16 7185, i16 7234, i16 7319, i16 7235, i16 7320, i16 7186, i16 7236, i16 7321, i16 7238, i16 7323, i16 7237, i16 7322, i16 7174, i16 12087, i16 0, i16 6561, i16 0, i16 12088, i16 12089, i16 12090, i16 0, i16 12091, i16 0, i16 0, i16 0, i16 0, i16 12092, i16 0, i16 0, i16 12093, i16 0, i16 6562, i16 0, i16 12094, i16 0, i16 12095, i16 12096, i16 12097, i16 6563, i16 12098, i16 0, i16 12099, i16 0, i16 12100, i16 0, i16 10041, i16 10042, i16 0, i16 3565, i16 0, i16 10043, i16 10044, i16 10045, i16 0, i16 10046, i16 0, i16 5302, i16 0, i16 0, i16 0, i16 10047, i16 10048, i16 10049, i16 10050, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10051, i16 10052, i16 10053, i16 0, i16 10054, i16 0, i16 5303, i16 10055, i16 11577, i16 6240, i16 11578, i16 6235, i16 6241, i16 11579, i16 11580, i16 0, i16 0, i16 11581, i16 0, i16 0, i16 6245, i16 6741, i16 0, i16 11582, i16 0, i16 0, i16 11583, i16 0, i16 0, i16 0, i16 941, i16 11584, i16 0, i16 0, i16 11585, i16 11586, i16 11587, i16 0, i16 6248, i16 1372, i16 7482, i16 7483, i16 1427, i16 2442, i16 1001, i16 7484, i16 7485, i16 0, i16 7486, i16 7487, i16 2018, i16 7488, i16 7489, i16 7490, i16 3767, i16 7491, i16 3772, i16 3770, i16 7492, i16 0, i16 3765, i16 0, i16 0, i16 2452, i16 3768, i16 0, i16 3771, i16 3769, i16 7493, i16 3250, i16 0, i16 3766, i16 8506, i16 0, i16 0, i16 0, i16 0, i16 2222, i16 0, i16 0, i16 8508, i16 0, i16 0, i16 1832, i16 0, i16 2291, i16 8507, i16 2488, i16 1217, i16 0, i16 8509, i16 2627, i16 0, i16 8510, i16 4346, i16 4347, i16 2140, i16 0, i16 0, i16 0, i16 0, i16 3308, i16 8511, i16 0, i16 8762, i16 8763, i16 8764, i16 4535, i16 0, i16 0, i16 4536, i16 1694, i16 4534, i16 4532, i16 4531, i16 4538, i16 4530, i16 4540, i16 8765, i16 8766, i16 1024, i16 0, i16 0, i16 0, i16 0, i16 8767, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8768, i16 8769, i16 8770, i16 8771, i16 7739, i16 3449, i16 2900, i16 7740, i16 0, i16 3270, i16 3916, i16 0, i16 3917, i16 0, i16 7741, i16 7742, i16 7743, i16 3919, i16 0, i16 3921, i16 3920, i16 7744, i16 0, i16 7745, i16 0, i16 3922, i16 962, i16 3327, i16 7746, i16 1777, i16 3923, i16 7747, i16 7748, i16 2400, i16 7749, i16 7750, i16 9531, i16 3285, i16 2947, i16 1282, i16 0, i16 2724, i16 0, i16 9532, i16 2608, i16 9533, i16 5031, i16 9534, i16 9535, i16 0, i16 9536, i16 5029, i16 2494, i16 5018, i16 9537, i16 882, i16 9538, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2108, i16 5574, i16 5575, i16 2022, i16 0, i16 2837, i16 5576, i16 0, i16 10542, i16 10543, i16 2539, i16 10544, i16 10545, i16 5577, i16 0, i16 2559, i16 5578, i16 10546, i16 0, i16 0, i16 10547, i16 0, i16 1314, i16 0, i16 3835, i16 2592, i16 1892, i16 10548, i16 0, i16 10549, i16 10550, i16 1161, i16 11836, i16 0, i16 0, i16 1954, i16 0, i16 0, i16 11837, i16 0, i16 2241, i16 0, i16 0, i16 11838, i16 11839, i16 0, i16 0, i16 11840, i16 0, i16 0, i16 11841, i16 2450, i16 0, i16 11842, i16 0, i16 11843, i16 0, i16 11844, i16 6413, i16 11845, i16 11863, i16 0, i16 6412, i16 0, i16 318, i16 317, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 320, i16 319, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 322, i16 321, i16 0, i16 0, i16 4671, i16 8985, i16 0, i16 0, i16 8986, i16 4675, i16 0, i16 0, i16 8987, i16 8988, i16 8989, i16 0, i16 0, i16 0, i16 0, i16 8990, i16 0, i16 0, i16 0, i16 8991, i16 8992, i16 0, i16 8993, i16 0, i16 4673, i16 8994, i16 0, i16 8995, i16 4674, i16 4636, i16 8996, i16 8997, i16 9791, i16 3398, i16 0, i16 0, i16 0, i16 0, i16 2100, i16 0, i16 0, i16 0, i16 0, i16 9792, i16 0, i16 9793, i16 0, i16 9794, i16 9795, i16 9796, i16 0, i16 0, i16 0, i16 0, i16 2362, i16 0, i16 9797, i16 0, i16 0, i16 0, i16 2099, i16 0, i16 0, i16 0, i16 6976, i16 0, i16 0, i16 12957, i16 0, i16 0, i16 0, i16 6977, i16 12962, i16 12958, i16 12959, i16 12961, i16 0, i16 0, i16 12963, i16 0, i16 12964, i16 0, i16 12965, i16 0, i16 0, i16 12966, i16 6978, i16 12967, i16 6979, i16 0, i16 0, i16 12968, i16 0, i16 0, i16 0, i16 0, i16 8256, i16 795, i16 0, i16 748, i16 8257, i16 0, i16 0, i16 0, i16 0, i16 4198, i16 0, i16 0, i16 8258, i16 8259, i16 8260, i16 0, i16 0, i16 4196, i16 8261, i16 8262, i16 0, i16 0, i16 0, i16 0, i16 3405, i16 0, i16 4199, i16 0, i16 4197, i16 0, i16 8263, i16 4195, i16 12352, i16 12353, i16 12354, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12355, i16 0, i16 12356, i16 12357, i16 1116, i16 12358, i16 0, i16 12359, i16 0, i16 0, i16 12360, i16 0, i16 6640, i16 12361, i16 1716, i16 2432, i16 12362, i16 0, i16 2667, i16 12363, i16 0, i16 0, i16 12364, i16 0, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 577, i16 578, i16 579, i16 580, i16 581, i16 582, i16 583, i16 584, i16 585, i16 586, i16 587, i16 588, i16 589, i16 590, i16 591, i16 592, i16 593, i16 594, i16 595, i16 596, i16 597, i16 598, i16 599, i16 0, i16 0, i16 0, i16 0, i16 227, i16 249, i16 240, i16 241, i16 0, i16 833, i16 8016, i16 0, i16 2567, i16 8017, i16 8018, i16 8019, i16 8020, i16 8021, i16 0, i16 0, i16 8023, i16 0, i16 8024, i16 4081, i16 0, i16 1689, i16 8022, i16 792, i16 2217, i16 0, i16 0, i16 8025, i16 8026, i16 0, i16 4082, i16 1536, i16 0, i16 0, i16 1672, i16 0, i16 4084, i16 1089, i16 0, i16 0, i16 10554, i16 0, i16 2213, i16 3163, i16 10555, i16 5588, i16 10556, i16 10557, i16 10558, i16 2509, i16 10559, i16 10560, i16 10561, i16 10562, i16 10563, i16 0, i16 5583, i16 10564, i16 5587, i16 5589, i16 0, i16 0, i16 1776, i16 0, i16 0, i16 0, i16 10565, i16 0, i16 10566, i16 4929, i16 0, i16 4931, i16 4932, i16 0, i16 9374, i16 0, i16 0, i16 0, i16 0, i16 4944, i16 9375, i16 4940, i16 0, i16 4821, i16 9376, i16 9377, i16 9378, i16 0, i16 4939, i16 9379, i16 0, i16 0, i16 0, i16 4938, i16 0, i16 0, i16 4935, i16 0, i16 9380, i16 9381, i16 9382, i16 9025, i16 767, i16 0, i16 9026, i16 1361, i16 2294, i16 9027, i16 3159, i16 0, i16 0, i16 0, i16 4699, i16 1813, i16 2570, i16 9028, i16 1838, i16 2178, i16 0, i16 9029, i16 9030, i16 9031, i16 0, i16 0, i16 4700, i16 0, i16 3282, i16 0, i16 0, i16 926, i16 1839, i16 0, i16 9032, i16 12609, i16 12611, i16 0, i16 0, i16 12612, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6794, i16 2910, i16 12613, i16 0, i16 12614, i16 6796, i16 960, i16 12615, i16 6799, i16 6798, i16 12616, i16 12617, i16 0, i16 12618, i16 843, i16 0, i16 0, i16 0, i16 1342, i16 4418, i16 1567, i16 8603, i16 0, i16 8606, i16 0, i16 0, i16 8604, i16 4419, i16 3187, i16 2026, i16 8605, i16 8607, i16 4420, i16 3090, i16 8608, i16 8609, i16 8610, i16 0, i16 2846, i16 2632, i16 0, i16 0, i16 0, i16 8611, i16 2735, i16 0, i16 0, i16 4421, i16 1226, i16 0, i16 0, i16 3395, i16 0, i16 10255, i16 0, i16 5436, i16 5438, i16 5439, i16 0, i16 10256, i16 5435, i16 0, i16 0, i16 0, i16 10257, i16 10258, i16 10259, i16 0, i16 0, i16 0, i16 0, i16 10260, i16 10261, i16 10262, i16 5441, i16 5442, i16 10263, i16 2640, i16 0, i16 1188, i16 10264, i16 10265, i16 0, i16 12868, i16 0, i16 0, i16 6931, i16 12869, i16 12870, i16 12871, i16 12872, i16 0, i16 12873, i16 12874, i16 12875, i16 0, i16 12876, i16 775, i16 12877, i16 12878, i16 6932, i16 3200, i16 6930, i16 12879, i16 0, i16 6933, i16 6934, i16 0, i16 0, i16 12880, i16 0, i16 0, i16 12881, i16 12882, i16 6935, i16 12101, i16 0, i16 12103, i16 12104, i16 0, i16 12102, i16 0, i16 12105, i16 0, i16 12106, i16 0, i16 0, i16 0, i16 2721, i16 12107, i16 12108, i16 6565, i16 12109, i16 6564, i16 0, i16 12110, i16 0, i16 12111, i16 12112, i16 0, i16 12113, i16 12114, i16 0, i16 12115, i16 12116, i16 0, i16 0, i16 1350, i16 4271, i16 0, i16 0, i16 0, i16 1294, i16 4272, i16 0, i16 1403, i16 0, i16 2860, i16 949, i16 0, i16 1830, i16 4273, i16 4276, i16 4275, i16 1402, i16 0, i16 4274, i16 0, i16 2743, i16 0, i16 0, i16 0, i16 8393, i16 8394, i16 0, i16 8395, i16 0, i16 2453, i16 0, i16 7494, i16 2169, i16 7495, i16 3366, i16 3773, i16 3774, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1971, i16 3787, i16 7496, i16 0, i16 7497, i16 2955, i16 0, i16 3117, i16 3782, i16 0, i16 3269, i16 0, i16 955, i16 0, i16 7498, i16 7499, i16 3786, i16 7500, i16 11846, i16 0, i16 6411, i16 0, i16 0, i16 11847, i16 11848, i16 11849, i16 11850, i16 0, i16 11851, i16 6419, i16 6417, i16 0, i16 11852, i16 6414, i16 0, i16 11853, i16 0, i16 0, i16 11854, i16 11855, i16 6416, i16 11856, i16 0, i16 11857, i16 6415, i16 6418, i16 0, i16 1302, i16 0, i16 6422, i16 3911, i16 7728, i16 2259, i16 3908, i16 1357, i16 7729, i16 3909, i16 1132, i16 7730, i16 7731, i16 7732, i16 0, i16 7733, i16 0, i16 0, i16 0, i16 7734, i16 7735, i16 1417, i16 3912, i16 7736, i16 3913, i16 7737, i16 7738, i16 3914, i16 3915, i16 1932, i16 0, i16 0, i16 0, i16 1588, i16 3439, i16 10567, i16 10568, i16 0, i16 0, i16 0, i16 5596, i16 3109, i16 10569, i16 3007, i16 2808, i16 0, i16 1367, i16 5595, i16 5593, i16 10570, i16 3022, i16 5590, i16 2593, i16 2810, i16 0, i16 2809, i16 10571, i16 1771, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5614, i16 0, i16 0, i16 10056, i16 10057, i16 5283, i16 10058, i16 0, i16 0, i16 10059, i16 5304, i16 10060, i16 10061, i16 10062, i16 10063, i16 0, i16 0, i16 10064, i16 10065, i16 1157, i16 10066, i16 10067, i16 0, i16 0, i16 10068, i16 0, i16 0, i16 0, i16 10069, i16 0, i16 10070, i16 0, i16 1878, i16 0, i16 10071, i16 11336, i16 8188, i16 11337, i16 0, i16 0, i16 0, i16 11338, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6100, i16 1552, i16 0, i16 1267, i16 0, i16 11339, i16 11340, i16 6102, i16 3865, i16 11341, i16 11342, i16 11343, i16 11344, i16 1300, i16 0, i16 3591, i16 11345, i16 1392, i16 6103, i16 842, i16 0, i16 0, i16 3622, i16 12516, i16 12517, i16 12518, i16 6729, i16 6544, i16 12519, i16 6728, i16 0, i16 0, i16 0, i16 12520, i16 12521, i16 6732, i16 6730, i16 6731, i16 12522, i16 6733, i16 0, i16 6734, i16 3641, i16 6735, i16 6736, i16 12523, i16 2290, i16 3028, i16 0, i16 0, i16 0, i16 11082, i16 5951, i16 11083, i16 5952, i16 11084, i16 1940, i16 1385, i16 2618, i16 11085, i16 0, i16 11086, i16 2862, i16 0, i16 11087, i16 0, i16 11088, i16 0, i16 888, i16 0, i16 5956, i16 5955, i16 0, i16 11089, i16 11090, i16 0, i16 5961, i16 5957, i16 5960, i16 0, i16 11091, i16 11092, i16 0, i16 2892, i16 4870, i16 2887, i16 9286, i16 9287, i16 9288, i16 9289, i16 0, i16 9290, i16 9291, i16 4874, i16 4861, i16 9292, i16 1349, i16 4864, i16 2028, i16 9293, i16 9294, i16 9295, i16 2971, i16 4866, i16 1352, i16 0, i16 4858, i16 4860, i16 4857, i16 9296, i16 9297, i16 3675, i16 1085, i16 4863, i16 9298, i16 10316, i16 0, i16 3457, i16 5469, i16 10317, i16 2577, i16 10318, i16 2981, i16 0, i16 1384, i16 10319, i16 0, i16 10320, i16 2558, i16 5470, i16 1335, i16 10321, i16 10322, i16 0, i16 2297, i16 10323, i16 0, i16 0, i16 0, i16 10324, i16 0, i16 0, i16 10325, i16 5471, i16 0, i16 0, i16 0, i16 10572, i16 0, i16 0, i16 0, i16 10573, i16 5598, i16 10574, i16 5600, i16 0, i16 10575, i16 10576, i16 0, i16 5603, i16 10577, i16 5604, i16 10578, i16 5601, i16 5602, i16 10579, i16 10580, i16 5599, i16 5597, i16 0, i16 10581, i16 0, i16 0, i16 5591, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3149, i16 8118, i16 0, i16 4121, i16 8102, i16 0, i16 8103, i16 8104, i16 0, i16 8105, i16 0, i16 0, i16 0, i16 8106, i16 0, i16 0, i16 8107, i16 0, i16 0, i16 0, i16 2154, i16 8108, i16 8109, i16 1898, i16 8110, i16 2968, i16 1201, i16 0, i16 1760, i16 8111, i16 8112, i16 8113, i16 7501, i16 7502, i16 0, i16 0, i16 7503, i16 3780, i16 3789, i16 7504, i16 0, i16 2393, i16 7505, i16 1533, i16 7506, i16 2967, i16 7507, i16 5253, i16 7508, i16 3788, i16 2780, i16 7509, i16 3777, i16 0, i16 1583, i16 7510, i16 7511, i16 1582, i16 3775, i16 7512, i16 7513, i16 7514, i16 7515, i16 1931, i16 2382, i16 3317, i16 1772, i16 10710, i16 0, i16 0, i16 10711, i16 0, i16 0, i16 0, i16 10712, i16 1850, i16 2686, i16 10713, i16 5691, i16 3628, i16 1742, i16 10714, i16 5692, i16 2189, i16 0, i16 5694, i16 0, i16 0, i16 0, i16 2111, i16 1701, i16 0, i16 10715, i16 10716, i16 10717, i16 5693, i16 4431, i16 8660, i16 1023, i16 4451, i16 4453, i16 2580, i16 0, i16 8661, i16 1693, i16 957, i16 4445, i16 4456, i16 4455, i16 1328, i16 0, i16 2446, i16 1097, i16 8662, i16 0, i16 0, i16 0, i16 1438, i16 0, i16 4446, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8663, i16 8664, i16 5455, i16 0, i16 10300, i16 0, i16 0, i16 3234, i16 0, i16 10301, i16 0, i16 0, i16 10302, i16 0, i16 2021, i16 3603, i16 10303, i16 10304, i16 5457, i16 10305, i16 0, i16 2836, i16 0, i16 10306, i16 5458, i16 0, i16 0, i16 5459, i16 0, i16 5463, i16 5461, i16 5462, i16 10307, i16 5460, i16 8528, i16 2628, i16 0, i16 1604, i16 2078, i16 0, i16 0, i16 3064, i16 0, i16 0, i16 2079, i16 8529, i16 0, i16 0, i16 8530, i16 2055, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2701, i16 3278, i16 2744, i16 0, i16 0, i16 1605, i16 0, i16 3155, i16 0, i16 0, i16 0, i16 4177, i16 8209, i16 4176, i16 8210, i16 0, i16 931, i16 0, i16 4178, i16 2070, i16 4180, i16 2536, i16 8211, i16 4179, i16 8212, i16 3208, i16 8213, i16 0, i16 0, i16 8214, i16 2054, i16 2778, i16 8215, i16 8216, i16 0, i16 4181, i16 8217, i16 0, i16 8218, i16 8219, i16 1596, i16 0, i16 0, i16 9810, i16 0, i16 5193, i16 0, i16 2972, i16 5189, i16 5192, i16 2101, i16 9811, i16 3050, i16 0, i16 0, i16 5196, i16 0, i16 1922, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9812, i16 0, i16 0, i16 0, i16 2339, i16 0, i16 0, i16 11346, i16 11347, i16 11348, i16 11349, i16 11350, i16 0, i16 0, i16 6104, i16 0, i16 11351, i16 0, i16 2609, i16 11352, i16 0, i16 0, i16 11353, i16 0, i16 6105, i16 0, i16 0, i16 0, i16 11354, i16 11355, i16 11356, i16 0, i16 2903, i16 11357, i16 771, i16 0, i16 0, i16 0, i16 0, i16 8787, i16 4558, i16 8788, i16 8789, i16 0, i16 0, i16 2328, i16 8790, i16 0, i16 8791, i16 4559, i16 8792, i16 0, i16 0, i16 4560, i16 1241, i16 4561, i16 0, i16 4562, i16 4563, i16 2492, i16 0, i16 0, i16 0, i16 1542, i16 8793, i16 0, i16 3442, i16 0, i16 8794, i16 0, i16 3311, i16 9299, i16 4873, i16 1048, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1756, i16 0, i16 0, i16 9300, i16 900, i16 0, i16 0, i16 4890, i16 9301, i16 0, i16 3676, i16 4893, i16 9302, i16 0, i16 9303, i16 0, i16 0, i16 2181, i16 4892, i16 0, i16 0, i16 0, i16 2388, i16 7075, i16 13117, i16 0, i16 0, i16 0, i16 13118, i16 0, i16 0, i16 0, i16 13119, i16 13120, i16 7076, i16 0, i16 0, i16 13121, i16 0, i16 13122, i16 13123, i16 0, i16 13124, i16 0, i16 0, i16 13125, i16 0, i16 13126, i16 13127, i16 3096, i16 13128, i16 13129, i16 7077, i16 13130, i16 5972, i16 0, i16 11115, i16 11116, i16 11117, i16 5975, i16 0, i16 11118, i16 0, i16 2423, i16 1456, i16 0, i16 0, i16 11119, i16 11120, i16 872, i16 5974, i16 11121, i16 1642, i16 11156, i16 11099, i16 11122, i16 11123, i16 11124, i16 2424, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12628, i16 6804, i16 0, i16 12629, i16 6803, i16 12638, i16 12630, i16 0, i16 0, i16 0, i16 0, i16 12631, i16 3326, i16 2825, i16 12632, i16 12633, i16 12634, i16 0, i16 12635, i16 12636, i16 887, i16 12637, i16 0, i16 6805, i16 6802, i16 0, i16 0, i16 3144, i16 3545, i16 6806, i16 12639, i16 0, i16 9813, i16 0, i16 0, i16 0, i16 5199, i16 9814, i16 0, i16 9815, i16 5191, i16 0, i16 1410, i16 0, i16 9816, i16 0, i16 0, i16 5197, i16 0, i16 0, i16 9817, i16 0, i16 3519, i16 5200, i16 0, i16 0, i16 0, i16 7100, i16 9818, i16 9819, i16 0, i16 0, i16 0, i16 2014, i16 11093, i16 11094, i16 3425, i16 5959, i16 989, i16 1120, i16 5963, i16 11095, i16 11096, i16 5965, i16 11097, i16 11098, i16 0, i16 0, i16 1455, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5969, i16 5978, i16 5979, i16 0, i16 0, i16 11100, i16 756, i16 11101, i16 11102, i16 11103, i16 343, i16 0, i16 348, i16 344, i16 0, i16 0, i16 0, i16 349, i16 330, i16 0, i16 0, i16 331, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 354, i16 0, i16 0, i16 356, i16 292, i16 0, i16 7256, i16 7341, i16 7259, i16 7344, i16 7258, i16 7343, i16 7178, i16 7194, i16 7270, i16 7355, i16 7267, i16 7352, i16 7264, i16 7349, i16 7269, i16 7354, i16 7266, i16 7351, i16 7268, i16 7353, i16 7275, i16 7360, i16 7278, i16 7363, i16 7277, i16 7279, i16 7364, i16 7281, i16 7366, i16 7280, i16 7365, i16 0, i16 11608, i16 6262, i16 0, i16 0, i16 0, i16 11609, i16 6264, i16 3558, i16 0, i16 6263, i16 2193, i16 0, i16 6265, i16 0, i16 0, i16 6266, i16 11610, i16 0, i16 6267, i16 1170, i16 11611, i16 11612, i16 11613, i16 11614, i16 0, i16 0, i16 6268, i16 0, i16 11615, i16 6269, i16 0, i16 6270, i16 345, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 338, i16 339, i16 337, i16 336, i16 358, i16 359, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 293, i16 357, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 355, i16 0, i16 0, i16 3929, i16 1996, i16 7764, i16 2322, i16 0, i16 3931, i16 3930, i16 2064, i16 1562, i16 3933, i16 3031, i16 7766, i16 7765, i16 3934, i16 0, i16 0, i16 0, i16 3061, i16 2457, i16 2515, i16 1317, i16 0, i16 0, i16 2891, i16 2548, i16 7767, i16 2985, i16 7768, i16 3329, i16 0, i16 3936, i16 0, i16 9049, i16 0, i16 1614, i16 4714, i16 9050, i16 0, i16 1696, i16 2087, i16 9051, i16 9052, i16 4713, i16 0, i16 2088, i16 9053, i16 3409, i16 1695, i16 0, i16 9054, i16 9055, i16 800, i16 2295, i16 9056, i16 9057, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4720, i16 9058, i16 9059, i16 2266, i16 5210, i16 0, i16 0, i16 0, i16 0, i16 2414, i16 1803, i16 5212, i16 0, i16 0, i16 0, i16 0, i16 5211, i16 2159, i16 3955, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5213, i16 0, i16 0, i16 9838, i16 5215, i16 0, i16 5198, i16 5214, i16 0, i16 9839, i16 5216, i16 9820, i16 0, i16 9821, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5201, i16 0, i16 0, i16 0, i16 5202, i16 0, i16 0, i16 9822, i16 9823, i16 2921, i16 9824, i16 9825, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5204, i16 9826, i16 0, i16 0, i16 0, i16 5205, i16 9827, i16 1630, i16 0, i16 5677, i16 0, i16 0, i16 0, i16 10695, i16 3605, i16 0, i16 10696, i16 0, i16 10697, i16 0, i16 0, i16 0, i16 5679, i16 0, i16 0, i16 5680, i16 0, i16 5681, i16 10698, i16 5682, i16 0, i16 1848, i16 0, i16 5683, i16 1450, i16 0, i16 0, i16 1289, i16 0, i16 10590, i16 1162, i16 0, i16 0, i16 0, i16 10591, i16 0, i16 0, i16 0, i16 0, i16 2560, i16 0, i16 10592, i16 2342, i16 0, i16 10593, i16 10594, i16 3003, i16 10595, i16 0, i16 5620, i16 10596, i16 10597, i16 0, i16 3005, i16 0, i16 10598, i16 10599, i16 10600, i16 10601, i16 0, i16 0, i16 3168, i16 1751, i16 1646, i16 0, i16 11793, i16 0, i16 0, i16 3142, i16 996, i16 3047, i16 6379, i16 1172, i16 2302, i16 6378, i16 6383, i16 2620, i16 3444, i16 0, i16 6381, i16 6382, i16 1229, i16 0, i16 6384, i16 2974, i16 2500, i16 11794, i16 11795, i16 3082, i16 2748, i16 6380, i16 0, i16 3322, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 1377, i16 0, i16 0, i16 2005, i16 0, i16 2841, i16 0, i16 0, i16 12248, i16 12249, i16 12250, i16 0, i16 0, i16 12251, i16 12252, i16 0, i16 0, i16 2356, i16 12253, i16 6614, i16 0, i16 6608, i16 6613, i16 12254, i16 3412, i16 12255, i16 2649, i16 6615, i16 6612, i16 0, i16 0, i16 12256, i16 10849, i16 0, i16 5794, i16 5796, i16 0, i16 3540, i16 5795, i16 5798, i16 5797, i16 0, i16 3522, i16 10850, i16 5799, i16 10851, i16 3095, i16 10852, i16 10853, i16 10854, i16 0, i16 0, i16 5800, i16 0, i16 10855, i16 10856, i16 0, i16 0, i16 5803, i16 0, i16 10857, i16 5802, i16 5801, i16 0, i16 5475, i16 10333, i16 10334, i16 10335, i16 0, i16 2773, i16 1739, i16 1261, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10336, i16 10337, i16 0, i16 10338, i16 0, i16 3287, i16 0, i16 2950, i16 10339, i16 0, i16 10340, i16 0, i16 0, i16 2774, i16 0, i16 0, i16 0, i16 0, i16 1651, i16 7523, i16 7524, i16 7525, i16 3790, i16 0, i16 7526, i16 7527, i16 3791, i16 3795, i16 791, i16 7528, i16 0, i16 7529, i16 0, i16 7530, i16 3237, i16 3794, i16 7531, i16 7532, i16 7533, i16 0, i16 3793, i16 3797, i16 7534, i16 0, i16 7535, i16 3796, i16 0, i16 2693, i16 0, i16 0, i16 7536, i16 9828, i16 9829, i16 0, i16 2926, i16 9830, i16 0, i16 0, i16 0, i16 2804, i16 5207, i16 0, i16 9831, i16 9832, i16 0, i16 5209, i16 0, i16 3618, i16 0, i16 5206, i16 9833, i16 5208, i16 916, i16 9834, i16 5203, i16 0, i16 9835, i16 9836, i16 0, i16 9837, i16 0, i16 0, i16 4051, i16 11876, i16 11877, i16 11878, i16 11879, i16 0, i16 0, i16 11880, i16 11881, i16 0, i16 0, i16 6445, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6434, i16 11882, i16 0, i16 11883, i16 6435, i16 6433, i16 11884, i16 11885, i16 11886, i16 11887, i16 0, i16 0, i16 0, i16 11888, i16 0, i16 0, i16 4709, i16 4710, i16 1212, i16 0, i16 0, i16 2905, i16 2553, i16 1291, i16 1840, i16 2408, i16 0, i16 0, i16 2027, i16 761, i16 0, i16 0, i16 9042, i16 4711, i16 9043, i16 0, i16 9044, i16 9045, i16 0, i16 0, i16 0, i16 9046, i16 935, i16 4715, i16 0, i16 0, i16 9047, i16 9048, i16 8037, i16 0, i16 8038, i16 8039, i16 8040, i16 8041, i16 4095, i16 766, i16 1748, i16 8042, i16 8043, i16 0, i16 8044, i16 1432, i16 8045, i16 8046, i16 2578, i16 0, i16 0, i16 8047, i16 8048, i16 0, i16 0, i16 4096, i16 4097, i16 0, i16 0, i16 4099, i16 0, i16 8049, i16 8050, i16 8051, i16 615, i16 616, i16 0, i16 617, i16 618, i16 619, i16 620, i16 621, i16 622, i16 623, i16 7126, i16 7129, i16 7131, i16 7132, i16 7133, i16 7134, i16 7141, i16 624, i16 625, i16 626, i16 627, i16 628, i16 629, i16 630, i16 631, i16 632, i16 633, i16 634, i16 635, i16 636, i16 637, i16 638, i16 6247, i16 11588, i16 11589, i16 11590, i16 6250, i16 0, i16 6249, i16 0, i16 0, i16 0, i16 6252, i16 11591, i16 0, i16 6251, i16 11592, i16 6253, i16 11593, i16 0, i16 1984, i16 11594, i16 6254, i16 11595, i16 0, i16 6255, i16 0, i16 0, i16 11596, i16 11597, i16 11598, i16 11599, i16 6256, i16 2279, i16 8295, i16 0, i16 8296, i16 0, i16 0, i16 0, i16 0, i16 8297, i16 0, i16 0, i16 0, i16 0, i16 8298, i16 0, i16 0, i16 0, i16 0, i16 8299, i16 8300, i16 8301, i16 0, i16 8302, i16 0, i16 0, i16 8303, i16 0, i16 8304, i16 8305, i16 4208, i16 4212, i16 4209, i16 8306, i16 1128, i16 7640, i16 3851, i16 7641, i16 3849, i16 3406, i16 3850, i16 0, i16 3153, i16 3852, i16 3853, i16 3854, i16 2782, i16 7642, i16 0, i16 0, i16 3858, i16 3856, i16 3857, i16 3855, i16 1752, i16 3859, i16 3451, i16 3633, i16 7643, i16 0, i16 7644, i16 0, i16 7645, i16 3860, i16 7646, i16 7647, i16 2152, i16 12316, i16 6626, i16 6628, i16 12317, i16 12318, i16 1360, i16 12319, i16 3132, i16 12320, i16 12321, i16 1939, i16 3662, i16 0, i16 6624, i16 1773, i16 0, i16 0, i16 3690, i16 12322, i16 12323, i16 6630, i16 12324, i16 12325, i16 0, i16 0, i16 6629, i16 6631, i16 0, i16 0, i16 0, i16 0, i16 3944, i16 7785, i16 0, i16 0, i16 7786, i16 3946, i16 3945, i16 0, i16 2218, i16 864, i16 7787, i16 7788, i16 0, i16 901, i16 3947, i16 7789, i16 3948, i16 0, i16 7790, i16 1520, i16 7791, i16 7792, i16 3949, i16 7793, i16 7794, i16 0, i16 7795, i16 1293, i16 0, i16 7796, i16 0, i16 0, i16 4200, i16 3671, i16 0, i16 0, i16 8271, i16 8272, i16 2951, i16 8273, i16 8274, i16 4202, i16 0, i16 0, i16 8275, i16 0, i16 0, i16 0, i16 8276, i16 0, i16 0, i16 0, i16 0, i16 8277, i16 0, i16 0, i16 0, i16 0, i16 1692, i16 0, i16 0, i16 0, i16 8278, i16 0, i16 5994, i16 0, i16 5984, i16 0, i16 0, i16 0, i16 11142, i16 11143, i16 5996, i16 11144, i16 5982, i16 2999, i16 11145, i16 11170, i16 0, i16 0, i16 0, i16 3544, i16 0, i16 0, i16 0, i16 5991, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6013, i16 11146, i16 11147, i16 4972, i16 0, i16 9436, i16 4974, i16 4973, i16 9437, i16 3339, i16 0, i16 0, i16 2029, i16 1949, i16 1815, i16 0, i16 4975, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4977, i16 2158, i16 9438, i16 4976, i16 0, i16 0, i16 9439, i16 0, i16 0, i16 4978, i16 9440, i16 5228, i16 9855, i16 9856, i16 9857, i16 0, i16 9858, i16 5229, i16 3239, i16 3040, i16 0, i16 0, i16 5230, i16 2962, i16 0, i16 9859, i16 9860, i16 9861, i16 0, i16 2638, i16 9862, i16 0, i16 9863, i16 9864, i16 0, i16 5231, i16 1004, i16 9865, i16 1292, i16 9866, i16 3415, i16 9867, i16 3399, i16 365, i16 366, i16 0, i16 0, i16 0, i16 258, i16 257, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 361, i16 0, i16 297, i16 298, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 323, i16 0, i16 0, i16 0, i16 0, i16 878, i16 9060, i16 9061, i16 9062, i16 9063, i16 2020, i16 9064, i16 3353, i16 1767, i16 9065, i16 9066, i16 9067, i16 9068, i16 2089, i16 9069, i16 2256, i16 9070, i16 9071, i16 0, i16 9072, i16 4719, i16 4717, i16 4718, i16 9074, i16 0, i16 9073, i16 0, i16 0, i16 2606, i16 0, i16 0, i16 4750, i16 10350, i16 10351, i16 0, i16 10352, i16 10353, i16 0, i16 0, i16 0, i16 10354, i16 0, i16 10355, i16 3583, i16 1628, i16 0, i16 10356, i16 1504, i16 0, i16 0, i16 3004, i16 0, i16 5479, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10357, i16 0, i16 5481, i16 0, i16 10358, i16 0, i16 6767, i16 7051, i16 3421, i16 12559, i16 6768, i16 0, i16 6769, i16 12560, i16 6770, i16 1082, i16 12561, i16 6772, i16 0, i16 2212, i16 12562, i16 0, i16 0, i16 6773, i16 0, i16 12563, i16 1407, i16 0, i16 12564, i16 12565, i16 12566, i16 6774, i16 6778, i16 12567, i16 6776, i16 12568, i16 0, i16 12569, i16 9328, i16 9329, i16 4897, i16 9330, i16 0, i16 4904, i16 0, i16 0, i16 0, i16 0, i16 4910, i16 3086, i16 4916, i16 0, i16 0, i16 9331, i16 0, i16 9332, i16 4911, i16 4914, i16 4908, i16 9333, i16 0, i16 2615, i16 0, i16 3119, i16 9334, i16 4898, i16 0, i16 9335, i16 4906, i16 2093, i16 9840, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2997, i16 9841, i16 9842, i16 9843, i16 0, i16 0, i16 0, i16 5217, i16 0, i16 0, i16 5218, i16 0, i16 0, i16 9844, i16 0, i16 0, i16 0, i16 9845, i16 0, i16 0, i16 9846, i16 5219, i16 0, i16 9847, i16 0, i16 9848, i16 10096, i16 10097, i16 0, i16 1805, i16 10098, i16 928, i16 5328, i16 10099, i16 3520, i16 10100, i16 10101, i16 3256, i16 5329, i16 0, i16 0, i16 10102, i16 2755, i16 3490, i16 1626, i16 2184, i16 0, i16 0, i16 10103, i16 2574, i16 3918, i16 10104, i16 2639, i16 1005, i16 5330, i16 10105, i16 10106, i16 10107, i16 7537, i16 0, i16 7538, i16 7539, i16 0, i16 1485, i16 7540, i16 7541, i16 0, i16 0, i16 7542, i16 0, i16 3798, i16 7543, i16 0, i16 0, i16 7544, i16 7545, i16 1910, i16 0, i16 2443, i16 2694, i16 1395, i16 0, i16 3799, i16 0, i16 0, i16 0, i16 0, i16 1237, i16 0, i16 0, i16 11377, i16 11378, i16 0, i16 11379, i16 6114, i16 11380, i16 6115, i16 1929, i16 0, i16 6117, i16 0, i16 2564, i16 0, i16 1457, i16 1061, i16 0, i16 0, i16 11381, i16 11382, i16 0, i16 6120, i16 11383, i16 0, i16 11384, i16 0, i16 1058, i16 11385, i16 6125, i16 11386, i16 0, i16 6121, i16 6124, i16 11889, i16 11890, i16 6432, i16 0, i16 2718, i16 0, i16 0, i16 6437, i16 6441, i16 6438, i16 6436, i16 11891, i16 6439, i16 11892, i16 11893, i16 11894, i16 6440, i16 0, i16 0, i16 0, i16 11895, i16 6447, i16 0, i16 0, i16 0, i16 6442, i16 0, i16 11896, i16 11897, i16 11898, i16 11899, i16 2305, i16 10866, i16 940, i16 0, i16 10867, i16 0, i16 5812, i16 5813, i16 0, i16 10868, i16 0, i16 5814, i16 0, i16 3537, i16 0, i16 10869, i16 10870, i16 0, i16 0, i16 1979, i16 0, i16 5816, i16 5815, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10871, i16 0, i16 0, i16 0, i16 10872, i16 3699, i16 4782, i16 2240, i16 0, i16 0, i16 0, i16 4781, i16 0, i16 0, i16 4776, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1544, i16 9169, i16 9170, i16 9171, i16 4788, i16 4786, i16 9172, i16 978, i16 4784, i16 4790, i16 4796, i16 0, i16 9173, i16 9174, i16 9175, i16 0, i16 0, i16 7283, i16 7282, i16 7285, i16 7291, i16 7284, i16 7290, i16 7180, i16 7295, i16 7299, i16 7298, i16 7301, i16 7300, i16 7312, i16 7311, i16 7314, i16 7313, i16 7182, i16 7327, i16 7329, i16 7328, i16 7331, i16 7335, i16 7330, i16 285, i16 7191, i16 7346, i16 7345, i16 7348, i16 7347, i16 7361, i16 7195, i16 7362, i16 9075, i16 4724, i16 1873, i16 1615, i16 4722, i16 9076, i16 9077, i16 0, i16 0, i16 4723, i16 9078, i16 2179, i16 9079, i16 0, i16 9081, i16 4721, i16 0, i16 9080, i16 1794, i16 0, i16 0, i16 0, i16 0, i16 9082, i16 9083, i16 9084, i16 0, i16 9085, i16 9086, i16 4726, i16 4725, i16 4730, i16 1908, i16 0, i16 11233, i16 11234, i16 0, i16 0, i16 6015, i16 11235, i16 0, i16 0, i16 0, i16 0, i16 11236, i16 0, i16 11237, i16 0, i16 11238, i16 3235, i16 0, i16 3379, i16 6055, i16 6054, i16 0, i16 6050, i16 6051, i16 0, i16 861, i16 0, i16 11239, i16 0, i16 11240, i16 6053, i16 1909, i16 0, i16 0, i16 0, i16 2851, i16 5627, i16 5626, i16 0, i16 10612, i16 5623, i16 10613, i16 0, i16 0, i16 3681, i16 0, i16 0, i16 0, i16 0, i16 10614, i16 5632, i16 10615, i16 10616, i16 5636, i16 5633, i16 10617, i16 10618, i16 10619, i16 0, i16 10620, i16 0, i16 10621, i16 0, i16 7797, i16 0, i16 1797, i16 3950, i16 0, i16 7798, i16 0, i16 0, i16 3367, i16 1706, i16 1273, i16 3478, i16 2391, i16 3032, i16 1966, i16 7799, i16 0, i16 0, i16 7800, i16 7801, i16 2006, i16 7802, i16 1945, i16 1958, i16 0, i16 2053, i16 7803, i16 3033, i16 0, i16 7804, i16 7805, i16 3953, i16 12917, i16 0, i16 12918, i16 0, i16 6964, i16 0, i16 6960, i16 0, i16 6961, i16 6957, i16 6963, i16 12919, i16 6959, i16 1093, i16 0, i16 12920, i16 3703, i16 12921, i16 6962, i16 6958, i16 6956, i16 6955, i16 12922, i16 0, i16 12923, i16 12924, i16 12925, i16 6966, i16 12926, i16 0, i16 12927, i16 0, i16 9590, i16 2555, i16 9591, i16 0, i16 5069, i16 9592, i16 5058, i16 0, i16 5064, i16 9593, i16 5071, i16 837, i16 5061, i16 0, i16 5072, i16 9594, i16 9595, i16 2183, i16 0, i16 2030, i16 9596, i16 3194, i16 9597, i16 1699, i16 0, i16 5053, i16 5067, i16 2745, i16 9598, i16 0, i16 0, i16 0, i16 3448, i16 0, i16 6681, i16 2357, i16 12444, i16 0, i16 0, i16 6682, i16 12445, i16 3225, i16 6683, i16 1038, i16 12446, i16 12447, i16 12448, i16 867, i16 0, i16 1176, i16 0, i16 1175, i16 6684, i16 0, i16 6685, i16 0, i16 6686, i16 6687, i16 0, i16 0, i16 0, i16 12449, i16 12450, i16 12451, i16 4472, i16 4470, i16 8699, i16 2401, i16 0, i16 8700, i16 0, i16 4460, i16 1799, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2475, i16 4491, i16 8701, i16 2402, i16 4486, i16 8702, i16 4483, i16 4484, i16 8703, i16 1943, i16 4487, i16 4490, i16 8704, i16 8705, i16 0, i16 0, i16 6008, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 11157, i16 3267, i16 11158, i16 5999, i16 0, i16 0, i16 0, i16 991, i16 1551, i16 3104, i16 6009, i16 0, i16 5997, i16 0, i16 11159, i16 6006, i16 11160, i16 11161, i16 0, i16 6016, i16 11162, i16 6001, i16 0, i16 0, i16 9336, i16 3424, i16 4926, i16 4913, i16 9337, i16 0, i16 0, i16 0, i16 9338, i16 1499, i16 936, i16 1090, i16 0, i16 0, i16 4889, i16 0, i16 9339, i16 0, i16 9340, i16 0, i16 9341, i16 2094, i16 4918, i16 9342, i16 4925, i16 1962, i16 1109, i16 9343, i16 0, i16 2545, i16 9344, i16 9345, i16 11640, i16 0, i16 11641, i16 1480, i16 11642, i16 6284, i16 11643, i16 0, i16 0, i16 0, i16 3295, i16 11644, i16 11645, i16 2312, i16 0, i16 11646, i16 0, i16 1301, i16 0, i16 3462, i16 2385, i16 11647, i16 6285, i16 11648, i16 0, i16 0, i16 2194, i16 2611, i16 2119, i16 11649, i16 11650, i16 0, i16 8313, i16 2599, i16 0, i16 4213, i16 0, i16 8314, i16 4215, i16 0, i16 0, i16 4216, i16 8315, i16 0, i16 0, i16 0, i16 8316, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8317, i16 8318, i16 0, i16 0, i16 0, i16 4218, i16 4219, i16 0, i16 8319, i16 0, i16 0, i16 11129, i16 0, i16 11130, i16 0, i16 11131, i16 5980, i16 11132, i16 5988, i16 0, i16 5995, i16 5989, i16 0, i16 0, i16 11133, i16 5987, i16 0, i16 0, i16 0, i16 11134, i16 5958, i16 11135, i16 11136, i16 5985, i16 0, i16 11137, i16 11138, i16 5981, i16 11139, i16 11140, i16 11141, i16 1169, i16 5983, i16 890, i16 11664, i16 6294, i16 1459, i16 0, i16 11665, i16 1857, i16 11666, i16 0, i16 1856, i16 0, i16 3704, i16 6293, i16 6292, i16 2350, i16 0, i16 1260, i16 3694, i16 1053, i16 2121, i16 0, i16 11667, i16 11668, i16 11669, i16 0, i16 11670, i16 11671, i16 11672, i16 6291, i16 0, i16 11673, i16 11674, i16 3962, i16 0, i16 3663, i16 7821, i16 7822, i16 0, i16 3271, i16 7823, i16 2697, i16 1563, i16 1671, i16 0, i16 0, i16 7824, i16 3970, i16 7825, i16 0, i16 2874, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7826, i16 3974, i16 3707, i16 4830, i16 0, i16 0, i16 4844, i16 801, i16 9267, i16 0, i16 4832, i16 9268, i16 9269, i16 3403, i16 4837, i16 2157, i16 2664, i16 4827, i16 9270, i16 9271, i16 4843, i16 9272, i16 0, i16 0, i16 9273, i16 9274, i16 0, i16 2245, i16 4853, i16 1108, i16 1498, i16 0, i16 0, i16 0, i16 11387, i16 0, i16 0, i16 11388, i16 3027, i16 11389, i16 0, i16 11390, i16 0, i16 6122, i16 0, i16 0, i16 6123, i16 3135, i16 3059, i16 6126, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2530, i16 6136, i16 11392, i16 6132, i16 11393, i16 11394, i16 1008, i16 0, i16 2172, i16 0, i16 0, i16 8264, i16 8265, i16 4194, i16 0, i16 8266, i16 8267, i16 3247, i16 8268, i16 0, i16 0, i16 8269, i16 0, i16 1565, i16 8270, i16 0, i16 0, i16 0, i16 0, i16 4203, i16 4204, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2072, i16 0, i16 0, i16 0, i16 6012, i16 0, i16 6011, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2982, i16 6018, i16 0, i16 6029, i16 0, i16 0, i16 11171, i16 0, i16 1121, i16 0, i16 0, i16 0, i16 6032, i16 0, i16 0, i16 6014, i16 11172, i16 0, i16 0, i16 6019, i16 3549, i16 0, i16 0, i16 10108, i16 0, i16 0, i16 10109, i16 5331, i16 0, i16 5336, i16 10110, i16 10111, i16 5334, i16 5333, i16 4684, i16 1033, i16 5332, i16 10112, i16 803, i16 10113, i16 3011, i16 10114, i16 0, i16 3043, i16 0, i16 0, i16 10115, i16 0, i16 3582, i16 5337, i16 5335, i16 2591, i16 2255, i16 10116, i16 10117, i16 7806, i16 874, i16 2392, i16 1590, i16 1534, i16 1380, i16 7807, i16 7808, i16 3957, i16 2532, i16 2531, i16 1320, i16 2065, i16 3958, i16 3956, i16 969, i16 2507, i16 1897, i16 1822, i16 845, i16 0, i16 7809, i16 1107, i16 1661, i16 1821, i16 0, i16 3959, i16 0, i16 0, i16 0, i16 0, i16 0, i16 639, i16 640, i16 7138, i16 641, i16 642, i16 643, i16 644, i16 645, i16 646, i16 647, i16 7135, i16 7140, i16 7137, i16 7139, i16 7142, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6271, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1076, i16 0, i16 11616, i16 11617, i16 11618, i16 11619, i16 11620, i16 0, i16 6272, i16 0, i16 6273, i16 6274, i16 0, i16 0, i16 9087, i16 9088, i16 4731, i16 0, i16 4727, i16 0, i16 1029, i16 4728, i16 4729, i16 3054, i16 9090, i16 9091, i16 9092, i16 0, i16 3160, i16 1445, i16 4732, i16 0, i16 0, i16 9094, i16 2267, i16 9095, i16 2090, i16 9097, i16 9098, i16 9099, i16 2581, i16 9100, i16 9102, i16 0, i16 9093, i16 9096, i16 9599, i16 0, i16 0, i16 0, i16 9600, i16 2271, i16 0, i16 1100, i16 1734, i16 2097, i16 5055, i16 2001, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1447, i16 0, i16 5054, i16 0, i16 0, i16 0, i16 5076, i16 2044, i16 1523, i16 0, i16 5091, i16 9601, i16 5085, i16 8320, i16 8321, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8322, i16 1203, i16 0, i16 4221, i16 4220, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4222, i16 8323, i16 0, i16 8325, i16 0, i16 8326, i16 0, i16 8327, i16 0, i16 0, i16 8576, i16 4395, i16 0, i16 0, i16 8577, i16 8578, i16 0, i16 8579, i16 4396, i16 0, i16 1325, i16 0, i16 4397, i16 8580, i16 4398, i16 0, i16 8581, i16 4400, i16 0, i16 2805, i16 8582, i16 0, i16 4401, i16 4402, i16 8583, i16 4403, i16 0, i16 8584, i16 4388, i16 4387, i16 0, i16 0, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 0, i16 0, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 1665, i16 2915, i16 0, i16 0, i16 5051, i16 0, i16 0, i16 0, i16 9719, i16 9720, i16 0, i16 3555, i16 5149, i16 0, i16 5153, i16 2522, i16 9721, i16 5152, i16 0, i16 5131, i16 0, i16 9722, i16 6697, i16 0, i16 0, i16 9723, i16 5157, i16 0, i16 9724, i16 9725, i16 5161, i16 0, i16 5249, i16 5250, i16 5248, i16 0, i16 0, i16 9900, i16 0, i16 0, i16 0, i16 1950, i16 0, i16 0, i16 2853, i16 1334, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9901, i16 9902, i16 0, i16 0, i16 5252, i16 2543, i16 5251, i16 9903, i16 9904, i16 3680, i16 2973, i16 9905, i16 0, i16 5507, i16 1426, i16 0, i16 0, i16 10420, i16 10421, i16 10422, i16 1247, i16 1222, i16 1846, i16 10423, i16 10424, i16 0, i16 0, i16 0, i16 10425, i16 3491, i16 10426, i16 0, i16 5513, i16 10427, i16 5512, i16 2379, i16 5509, i16 10428, i16 0, i16 5511, i16 10429, i16 10430, i16 2010, i16 2187, i16 5510, i16 11651, i16 6286, i16 0, i16 11652, i16 0, i16 11653, i16 6289, i16 11654, i16 6290, i16 11655, i16 0, i16 0, i16 0, i16 11656, i16 11657, i16 0, i16 1715, i16 2471, i16 6288, i16 11658, i16 2120, i16 3125, i16 11659, i16 11660, i16 11661, i16 0, i16 0, i16 6287, i16 11662, i16 11663, i16 1855, i16 0, i16 5508, i16 0, i16 2917, i16 0, i16 0, i16 2106, i16 0, i16 10431, i16 3123, i16 10432, i16 0, i16 10433, i16 0, i16 1740, i16 0, i16 0, i16 0, i16 0, i16 10434, i16 0, i16 0, i16 0, i16 0, i16 2807, i16 0, i16 10435, i16 5514, i16 10436, i16 10437, i16 0, i16 10438, i16 5515, i16 4485, i16 1972, i16 8706, i16 4488, i16 0, i16 0, i16 4482, i16 8707, i16 3469, i16 3468, i16 8708, i16 0, i16 8709, i16 4492, i16 4493, i16 798, i16 8710, i16 8711, i16 8712, i16 8713, i16 8714, i16 4481, i16 8715, i16 8716, i16 0, i16 8717, i16 1391, i16 751, i16 8718, i16 0, i16 8719, i16 1143, i16 4230, i16 8332, i16 0, i16 4228, i16 0, i16 4229, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8333, i16 8334, i16 0, i16 0, i16 0, i16 1829, i16 4231, i16 8335, i16 0, i16 1597, i16 4232, i16 8336, i16 1869, i16 2461, i16 0, i16 4233, i16 4234, i16 1837, i16 1598, i16 8337, i16 3427, i16 1673, i16 0, i16 3259, i16 5542, i16 10499, i16 10500, i16 3335, i16 10501, i16 10502, i16 5544, i16 0, i16 0, i16 10503, i16 2298, i16 886, i16 959, i16 757, i16 0, i16 0, i16 0, i16 0, i16 10504, i16 10505, i16 5543, i16 0, i16 10506, i16 0, i16 0, i16 10507, i16 10508, i16 0, i16 10509, i16 2441, i16 6521, i16 754, i16 3661, i16 0, i16 0, i16 0, i16 6526, i16 12021, i16 12022, i16 12024, i16 0, i16 12025, i16 12026, i16 2502, i16 12023, i16 0, i16 1988, i16 2197, i16 12027, i16 12028, i16 6528, i16 6527, i16 12029, i16 824, i16 6529, i16 0, i16 0, i16 3110, i16 0, i16 6537, i16 12030, i16 8585, i16 4404, i16 1436, i16 8586, i16 8587, i16 0, i16 3102, i16 8588, i16 0, i16 1729, i16 3118, i16 2631, i16 3138, i16 4405, i16 0, i16 8589, i16 2081, i16 877, i16 8590, i16 4406, i16 8591, i16 8592, i16 0, i16 4407, i16 8593, i16 3459, i16 8594, i16 0, i16 3065, i16 8595, i16 8596, i16 4410, i16 10634, i16 1163, i16 0, i16 5637, i16 0, i16 10635, i16 10636, i16 5638, i16 10637, i16 0, i16 5639, i16 5642, i16 10638, i16 0, i16 0, i16 0, i16 0, i16 10639, i16 0, i16 10640, i16 10641, i16 0, i16 10642, i16 5641, i16 3087, i16 10643, i16 10644, i16 0, i16 0, i16 5643, i16 3657, i16 3266, i16 1675, i16 3402, i16 12998, i16 12997, i16 7003, i16 12999, i16 0, i16 0, i16 0, i16 13000, i16 13001, i16 13002, i16 3301, i16 0, i16 0, i16 7011, i16 13003, i16 0, i16 7007, i16 0, i16 0, i16 0, i16 13004, i16 13005, i16 0, i16 0, i16 7012, i16 13006, i16 13007, i16 0, i16 13008, i16 0, i16 7563, i16 7564, i16 7565, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7566, i16 0, i16 1722, i16 3506, i16 0, i16 7567, i16 7568, i16 0, i16 3804, i16 3807, i16 3803, i16 1721, i16 0, i16 2060, i16 0, i16 7569, i16 7570, i16 0, i16 0, i16 7571, i16 1428, i16 0, i16 3980, i16 7837, i16 0, i16 7838, i16 3982, i16 7839, i16 3984, i16 0, i16 7840, i16 7841, i16 0, i16 1765, i16 3693, i16 7842, i16 3973, i16 3971, i16 3983, i16 7843, i16 3978, i16 0, i16 0, i16 7844, i16 7845, i16 0, i16 0, i16 0, i16 0, i16 0, i16 7846, i16 0, i16 0, i16 7847, i16 9868, i16 953, i16 3679, i16 9869, i16 0, i16 0, i16 0, i16 3333, i16 9870, i16 3199, i16 0, i16 9871, i16 0, i16 0, i16 9872, i16 9873, i16 0, i16 9874, i16 2272, i16 0, i16 5232, i16 0, i16 0, i16 9875, i16 9876, i16 2848, i16 0, i16 9877, i16 9878, i16 1500, i16 5233, i16 9879, i16 11148, i16 6005, i16 0, i16 0, i16 0, i16 2246, i16 0, i16 11149, i16 0, i16 11150, i16 1253, i16 0, i16 1370, i16 0, i16 6000, i16 11151, i16 11152, i16 11153, i16 0, i16 992, i16 11154, i16 0, i16 2113, i16 0, i16 6003, i16 0, i16 0, i16 0, i16 1743, i16 11155, i16 0, i16 2768, i16 4749, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4751, i16 0, i16 9131, i16 4752, i16 0, i16 9132, i16 9133, i16 0, i16 9134, i16 0, i16 4753, i16 0, i16 1351, i16 879, i16 1616, i16 4754, i16 0, i16 4755, i16 2048, i16 2409, i16 9135, i16 9089, i16 3954, i16 2373, i16 2372, i16 2493, i16 9101, i16 1348, i16 0, i16 4733, i16 4737, i16 0, i16 0, i16 976, i16 4734, i16 4736, i16 0, i16 9103, i16 9104, i16 9105, i16 4735, i16 0, i16 9106, i16 2042, i16 9107, i16 0, i16 0, i16 0, i16 2571, i16 782, i16 4738, i16 9108, i16 9109, i16 9110, i16 9111, i16 4739, i16 0, i16 9112, i16 10897, i16 5830, i16 0, i16 0, i16 10898, i16 0, i16 10899, i16 0, i16 5831, i16 0, i16 0, i16 0, i16 10900, i16 0, i16 10901, i16 0, i16 10902, i16 0, i16 0, i16 1883, i16 10903, i16 10904, i16 3454, i16 10905, i16 0, i16 10906, i16 10907, i16 5833, i16 10908, i16 2562, i16 10909, i16 5832, i16 3218, i16 3626, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8131, i16 1017, i16 4128, i16 8132, i16 8133, i16 0, i16 8134, i16 8135, i16 2369, i16 4131, i16 0, i16 2786, i16 8136, i16 0, i16 2760, i16 2787, i16 3026, i16 2670, i16 0, i16 0, i16 0, i16 1726, i16 8137, i16 3731, i16 3303, i16 3732, i16 0, i16 1579, i16 816, i16 3365, i16 0, i16 1307, i16 0, i16 0, i16 1308, i16 1309, i16 2691, i16 3593, i16 7399, i16 3733, i16 0, i16 0, i16 3734, i16 0, i16 0, i16 3735, i16 0, i16 0, i16 7400, i16 2200, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4243, i16 8345, i16 0, i16 4244, i16 8346, i16 2517, i16 8347, i16 846, i16 1946, i16 779, i16 8348, i16 2398, i16 1137, i16 1894, i16 8349, i16 1599, i16 8350, i16 8351, i16 0, i16 8352, i16 8353, i16 2789, i16 8354, i16 1968, i16 1138, i16 2603, i16 2699, i16 769, i16 1240, i16 3274, i16 0, i16 1907, i16 7060, i16 0, i16 0, i16 0, i16 13092, i16 7061, i16 0, i16 13093, i16 7062, i16 0, i16 0, i16 0, i16 13094, i16 13095, i16 13096, i16 7063, i16 13097, i16 13098, i16 13099, i16 0, i16 7064, i16 13100, i16 7065, i16 7066, i16 13101, i16 7067, i16 0, i16 7068, i16 7069, i16 7070, i16 0, i16 13102, i16 7572, i16 0, i16 3808, i16 7573, i16 7574, i16 1356, i16 0, i16 7575, i16 0, i16 3805, i16 3806, i16 0, i16 7576, i16 2828, i16 7577, i16 2435, i16 7578, i16 1312, i16 0, i16 7579, i16 7580, i16 3328, i16 3809, i16 0, i16 7581, i16 0, i16 3594, i16 0, i16 7582, i16 7583, i16 3810, i16 7584, i16 6549, i16 6548, i16 6546, i16 5564, i16 1173, i16 12043, i16 0, i16 6514, i16 12044, i16 6551, i16 6550, i16 12045, i16 12046, i16 0, i16 12047, i16 6552, i16 12048, i16 3495, i16 0, i16 0, i16 0, i16 12049, i16 0, i16 12050, i16 12051, i16 12052, i16 0, i16 12053, i16 0, i16 0, i16 0, i16 0, i16 2710, i16 2000, i16 1280, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 9490, i16 9491, i16 0, i16 9492, i16 3039, i16 9493, i16 1887, i16 0, i16 9494, i16 0, i16 9495, i16 5004, i16 0, i16 1153, i16 0, i16 9496, i16 927, i16 9497, i16 9498, i16 2895, i16 5003, i16 1621, i16 10390, i16 10391, i16 0, i16 0, i16 10387, i16 0, i16 10392, i16 5497, i16 3348, i16 0, i16 10393, i16 0, i16 5496, i16 0, i16 0, i16 820, i16 0, i16 0, i16 10394, i16 10395, i16 5500, i16 0, i16 10397, i16 10398, i16 0, i16 0, i16 10399, i16 10400, i16 0, i16 5499, i16 0, i16 10401, i16 12184, i16 12185, i16 0, i16 0, i16 12186, i16 12187, i16 12188, i16 12189, i16 0, i16 12190, i16 12191, i16 0, i16 12192, i16 2876, i16 1062, i16 0, i16 12193, i16 6601, i16 12194, i16 12195, i16 6598, i16 6600, i16 12196, i16 0, i16 12197, i16 0, i16 0, i16 0, i16 12198, i16 12199, i16 6596, i16 0, i16 665, i16 666, i16 667, i16 668, i16 669, i16 670, i16 671, i16 672, i16 673, i16 674, i16 675, i16 676, i16 677, i16 678, i16 679, i16 680, i16 681, i16 682, i16 683, i16 684, i16 685, i16 686, i16 688, i16 689, i16 690, i16 691, i16 692, i16 693, i16 694, i16 695, i16 696, i16 697, i16 3481, i16 0, i16 8676, i16 1142, i16 8677, i16 8678, i16 896, i16 4468, i16 8679, i16 2933, i16 758, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8680, i16 8681, i16 3066, i16 4428, i16 4474, i16 4478, i16 3446, i16 8682, i16 4471, i16 0, i16 0, i16 8683, i16 2792, i16 4476, i16 8684, i16 0, i16 9113, i16 0, i16 2635, i16 0, i16 9114, i16 0, i16 3646, i16 0, i16 0, i16 0, i16 0, i16 1814, i16 0, i16 9115, i16 3264, i16 0, i16 0, i16 9116, i16 9117, i16 0, i16 3312, i16 9118, i16 0, i16 0, i16 4746, i16 4741, i16 0, i16 9119, i16 4744, i16 0, i16 4743, i16 9120, i16 922, i16 2387, i16 12036, i16 1512, i16 0, i16 3529, i16 12037, i16 12038, i16 6541, i16 2731, i16 0, i16 0, i16 12039, i16 2431, i16 1928, i16 6542, i16 12040, i16 0, i16 6545, i16 0, i16 12041, i16 2036, i16 6543, i16 2354, i16 2353, i16 12042, i16 813, i16 0, i16 3608, i16 6547, i16 0, i16 3083, i16 2714, i16 5730, i16 10770, i16 0, i16 5726, i16 10771, i16 10772, i16 0, i16 3241, i16 1164, i16 10773, i16 10774, i16 3420, i16 10775, i16 0, i16 807, i16 0, i16 10776, i16 5729, i16 0, i16 3658, i16 10777, i16 10778, i16 0, i16 0, i16 10779, i16 10780, i16 5728, i16 0, i16 0, i16 0, i16 0, i16 11930, i16 11931, i16 0, i16 11932, i16 11933, i16 6468, i16 6465, i16 11934, i16 6469, i16 0, i16 1927, i16 6470, i16 1231, i16 1422, i16 0, i16 11935, i16 0, i16 11936, i16 1511, i16 0, i16 11937, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6471, i16 11938, i16 0, i16 0, i16 2893, i16 11419, i16 0, i16 0, i16 11420, i16 0, i16 11421, i16 0, i16 0, i16 0, i16 2319, i16 0, i16 3684, i16 6148, i16 11422, i16 6149, i16 0, i16 0, i16 0, i16 0, i16 6155, i16 0, i16 2165, i16 0, i16 6151, i16 11423, i16 6154, i16 0, i16 0, i16 0, i16 11424, i16 0, i16 6146, i16 11675, i16 0, i16 6296, i16 11676, i16 6297, i16 6295, i16 11677, i16 1553, i16 0, i16 3503, i16 0, i16 11678, i16 1858, i16 2914, i16 0, i16 11679, i16 11680, i16 6300, i16 11681, i16 2281, i16 0, i16 2565, i16 11682, i16 11683, i16 3493, i16 11684, i16 6303, i16 0, i16 0, i16 0, i16 1573, i16 11685, i16 10140, i16 10141, i16 5356, i16 5358, i16 10142, i16 3129, i16 10143, i16 2102, i16 0, i16 0, i16 5365, i16 0, i16 10144, i16 5364, i16 10145, i16 10146, i16 0, i16 0, i16 5366, i16 0, i16 1879, i16 1700, i16 0, i16 10147, i16 2806, i16 5367, i16 0, i16 2668, i16 10148, i16 0, i16 5369, i16 10149, i16 10396, i16 2105, i16 0, i16 0, i16 0, i16 0, i16 10402, i16 5501, i16 0, i16 0, i16 0, i16 0, i16 10403, i16 0, i16 2378, i16 0, i16 10404, i16 5503, i16 5502, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5504, i16 10405, i16 0, i16 10406, i16 0, i16 10407, i16 10408, i16 5789, i16 10839, i16 0, i16 10840, i16 10841, i16 10842, i16 10843, i16 5792, i16 5790, i16 5791, i16 1750, i16 1454, i16 0, i16 10844, i16 2585, i16 0, i16 3020, i16 10845, i16 2047, i16 0, i16 0, i16 2952, i16 0, i16 3078, i16 5793, i16 4539, i16 0, i16 0, i16 0, i16 10846, i16 10847, i16 10848, i16 10910, i16 0, i16 0, i16 0, i16 10911, i16 0, i16 5835, i16 0, i16 0, i16 0, i16 5834, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5836, i16 0, i16 0, i16 0, i16 2276, i16 0, i16 5837, i16 0, i16 5838, i16 0, i16 0, i16 0, i16 3214, i16 5839, i16 12702, i16 12703, i16 6839, i16 0, i16 0, i16 6841, i16 12704, i16 12705, i16 12706, i16 6840, i16 0, i16 6843, i16 6846, i16 12707, i16 12708, i16 0, i16 6842, i16 6844, i16 6845, i16 0, i16 12709, i16 6847, i16 0, i16 1343, i16 12710, i16 12711, i16 0, i16 12712, i16 12713, i16 0, i16 12714, i16 12715, i16 1951, i16 9987, i16 0, i16 9988, i16 0, i16 5280, i16 9989, i16 9990, i16 0, i16 9991, i16 1433, i16 0, i16 0, i16 3042, i16 5281, i16 0, i16 0, i16 5308, i16 0, i16 0, i16 9992, i16 9993, i16 0, i16 9994, i16 5287, i16 9995, i16 9996, i16 9997, i16 0, i16 9998, i16 1526, i16 9999, i16 5279, i16 0, i16 982, i16 0, i16 0, i16 9976, i16 9977, i16 0, i16 5275, i16 9978, i16 1804, i16 9979, i16 9980, i16 2658, i16 5277, i16 9981, i16 0, i16 0, i16 9982, i16 9983, i16 0, i16 0, i16 9984, i16 0, i16 0, i16 9985, i16 0, i16 0, i16 0, i16 9986, i16 5282, i16 0, i16 5535, i16 10488, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10489, i16 0, i16 0, i16 0, i16 10490, i16 0, i16 10491, i16 1952, i16 10492, i16 10493, i16 5538, i16 825, i16 0, i16 10494, i16 10495, i16 0, i16 5541, i16 10496, i16 10497, i16 10498, i16 5539, i16 985, i16 1449, i16 5540, i16 1629, i16 2976, i16 11805, i16 1510, i16 6388, i16 6387, i16 0, i16 3169, i16 0, i16 11806, i16 0, i16 1906, i16 0, i16 11807, i16 2769, i16 0, i16 11808, i16 11809, i16 0, i16 11810, i16 0, i16 0, i16 11811, i16 0, i16 11812, i16 11813, i16 0, i16 6391, i16 6392, i16 1647, i16 6390, i16 11814, i16 11815, i16 9632, i16 0, i16 823, i16 0, i16 0, i16 5106, i16 0, i16 9633, i16 0, i16 0, i16 5094, i16 0, i16 0, i16 9634, i16 9635, i16 5100, i16 0, i16 9636, i16 5102, i16 9637, i16 0, i16 0, i16 3518, i16 5097, i16 0, i16 0, i16 2733, i16 9638, i16 0, i16 5099, i16 0, i16 9639, i16 10912, i16 2422, i16 5840, i16 0, i16 10913, i16 0, i16 10914, i16 0, i16 5841, i16 0, i16 0, i16 0, i16 0, i16 10915, i16 0, i16 3659, i16 5844, i16 10916, i16 5843, i16 5842, i16 2641, i16 10917, i16 5845, i16 2161, i16 0, i16 5846, i16 0, i16 0, i16 0, i16 5847, i16 3683, i16 5848, i16 5537, i16 1365, i16 0, i16 0, i16 3688, i16 2364, i16 0, i16 0, i16 0, i16 0, i16 5516, i16 10439, i16 10440, i16 983, i16 2712, i16 3190, i16 0, i16 10441, i16 0, i16 10442, i16 10443, i16 10444, i16 10445, i16 0, i16 10446, i16 0, i16 0, i16 10447, i16 10448, i16 5517, i16 0, i16 0, i16 9121, i16 4740, i16 9122, i16 9123, i16 4745, i16 0, i16 0, i16 2875, i16 9124, i16 4742, i16 0, i16 0, i16 9125, i16 0, i16 9126, i16 9127, i16 0, i16 0, i16 0, i16 0, i16 9128, i16 0, i16 4747, i16 0, i16 0, i16 2043, i16 4748, i16 9129, i16 3514, i16 2995, i16 0, i16 9130, i16 4770, i16 2143, i16 3438, i16 4772, i16 4773, i16 3543, i16 9153, i16 0, i16 0, i16 0, i16 4778, i16 0, i16 9154, i16 1617, i16 9155, i16 2960, i16 4775, i16 2795, i16 4712, i16 4716, i16 9156, i16 1262, i16 9157, i16 2946, i16 0, i16 0, i16 0, i16 9158, i16 4777, i16 0, i16 2091, i16 3037, i16 932, i16 2261, i16 4409, i16 4408, i16 1437, i16 2489, i16 0, i16 4414, i16 4412, i16 8597, i16 4411, i16 3572, i16 1566, i16 8598, i16 0, i16 8599, i16 2056, i16 4413, i16 2763, i16 1997, i16 0, i16 0, i16 8600, i16 2845, i16 4417, i16 4416, i16 0, i16 0, i16 8601, i16 8602, i16 4415, i16 0, i16 10150, i16 10151, i16 3566, i16 5368, i16 10152, i16 0, i16 0, i16 10153, i16 0, i16 2416, i16 0, i16 0, i16 10154, i16 0, i16 10155, i16 10156, i16 5374, i16 10157, i16 5376, i16 5377, i16 2583, i16 0, i16 0, i16 0, i16 0, i16 10158, i16 5375, i16 0, i16 5372, i16 0, i16 5370, i16 5371, i16 9640, i16 9641, i16 5107, i16 9642, i16 5101, i16 3416, i16 0, i16 9643, i16 9644, i16 5096, i16 9645, i16 1875, i16 5120, i16 9646, i16 9647, i16 9648, i16 0, i16 1101, i16 0, i16 5098, i16 5103, i16 5104, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2513, i16 2495, i16 0, i16 4009, i16 7890, i16 0, i16 0, i16 2516, i16 4014, i16 2067, i16 7891, i16 0, i16 7892, i16 7893, i16 0, i16 4011, i16 7894, i16 0, i16 3445, i16 7895, i16 7896, i16 0, i16 1431, i16 0, i16 0, i16 4015, i16 4016, i16 7897, i16 0, i16 7898, i16 7899, i16 4013, i16 4019, i16 7900, i16 0, i16 6057, i16 6061, i16 0, i16 3058, i16 0, i16 0, i16 11253, i16 0, i16 6060, i16 2115, i16 1914, i16 6063, i16 0, i16 0, i16 1339, i16 11254, i16 11255, i16 11256, i16 11257, i16 11258, i16 0, i16 6064, i16 11259, i16 3184, i16 6059, i16 11260, i16 6020, i16 0, i16 11261, i16 11262, i16 11263, i16 11264, i16 10409, i16 0, i16 0, i16 0, i16 0, i16 10410, i16 5474, i16 10411, i16 0, i16 10412, i16 5476, i16 5506, i16 5505, i16 10413, i16 0, i16 0, i16 0, i16 10414, i16 0, i16 0, i16 10415, i16 10416, i16 0, i16 0, i16 0, i16 0, i16 1881, i16 10417, i16 3638, i16 10418, i16 1923, i16 10419, i16 4266, i16 0, i16 4267, i16 8383, i16 3441, i16 0, i16 8384, i16 0, i16 4268, i16 8385, i16 0, i16 8386, i16 8387, i16 1347, i16 8388, i16 0, i16 8389, i16 1969, i16 8390, i16 0, i16 0, i16 8391, i16 8392, i16 0, i16 4269, i16 4270, i16 1933, i16 2167, i16 2897, i16 2207, i16 3089, i16 2909, i16 6315, i16 6323, i16 6316, i16 0, i16 6312, i16 0, i16 2717, i16 6311, i16 0, i16 0, i16 0, i16 6309, i16 11707, i16 3472, i16 1859, i16 0, i16 11708, i16 6313, i16 0, i16 6310, i16 11709, i16 11710, i16 11711, i16 6317, i16 2051, i16 0, i16 1530, i16 0, i16 11712, i16 0, i16 2527, i16 11713, i16 7083, i16 7084, i16 3645, i16 7081, i16 0, i16 0, i16 7085, i16 7086, i16 13145, i16 13146, i16 7088, i16 0, i16 7087, i16 13147, i16 13148, i16 13149, i16 13150, i16 13151, i16 7090, i16 13152, i16 0, i16 13153, i16 7091, i16 7089, i16 0, i16 0, i16 13154, i16 0, i16 0, i16 13155, i16 0, i16 0, i16 11947, i16 0, i16 11948, i16 1078, i16 0, i16 6478, i16 0, i16 11949, i16 11950, i16 1745, i16 6477, i16 0, i16 6486, i16 0, i16 0, i16 11951, i16 11952, i16 0, i16 6480, i16 6482, i16 3258, i16 6479, i16 11953, i16 11954, i16 11955, i16 6481, i16 0, i16 6485, i16 6483, i16 1232, i16 11956, i16 6484, i16 1964, i16 0, i16 12536, i16 12537, i16 6746, i16 12538, i16 6747, i16 2199, i16 6748, i16 12539, i16 3643, i16 0, i16 0, i16 6743, i16 6750, i16 6752, i16 0, i16 6751, i16 0, i16 6749, i16 0, i16 0, i16 6753, i16 0, i16 0, i16 6754, i16 12540, i16 12541, i16 2433, i16 12542, i16 999, i16 0, i16 12716, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8365, i16 8366, i16 1941, i16 4247, i16 1204, i16 2863, i16 3386, i16 4248, i16 0, i16 4249, i16 0, i16 0, i16 3152, i16 8367, i16 0, i16 8368, i16 4251, i16 0, i16 1129, i16 1396, i16 4250, i16 0, i16 8369, i16 8370, i16 8371, i16 8372, i16 8373, i16 1139, i16 0, i16 2173, i16 4255, i16 1780, i16 10159, i16 5373, i16 10160, i16 10161, i16 10162, i16 0, i16 0, i16 10163, i16 10164, i16 5380, i16 10165, i16 5378, i16 10166, i16 5379, i16 0, i16 10167, i16 0, i16 0, i16 10168, i16 10169, i16 0, i16 10170, i16 10171, i16 0, i16 0, i16 10172, i16 0, i16 10173, i16 10174, i16 10175, i16 10176, i16 5381, i16 2480, i16 12493, i16 6712, i16 0, i16 3172, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6715, i16 6713, i16 1654, i16 0, i16 6714, i16 1531, i16 0, i16 12494, i16 0, i16 12495, i16 0, i16 12496, i16 12497, i16 12498, i16 0, i16 0, i16 3226, i16 6717, i16 6719, i16 6718, i16 6720, i16 6065, i16 11276, i16 0, i16 0, i16 2993, i16 11277, i16 11278, i16 6075, i16 6067, i16 11279, i16 6069, i16 11280, i16 11281, i16 0, i16 0, i16 11282, i16 6079, i16 6068, i16 0, i16 11283, i16 6072, i16 0, i16 0, i16 921, i16 11284, i16 2882, i16 0, i16 6073, i16 6076, i16 11285, i16 0, i16 11286, i16 10673, i16 5663, i16 5661, i16 0, i16 5659, i16 1122, i16 10674, i16 2110, i16 5664, i16 0, i16 0, i16 5662, i16 0, i16 5660, i16 5668, i16 0, i16 10675, i16 5667, i16 5666, i16 5665, i16 0, i16 0, i16 10676, i16 10677, i16 0, i16 5669, i16 10678, i16 10679, i16 10680, i16 5670, i16 2275, i16 10681, i16 6834, i16 6830, i16 12689, i16 0, i16 6833, i16 0, i16 12690, i16 12691, i16 1180, i16 0, i16 0, i16 12692, i16 6835, i16 0, i16 6836, i16 0, i16 0, i16 12693, i16 12694, i16 12695, i16 12696, i16 12697, i16 0, i16 0, i16 0, i16 12698, i16 12699, i16 12700, i16 12701, i16 6837, i16 6838, i16 0, i16 11186, i16 3177, i16 6034, i16 2814, i16 11187, i16 11188, i16 762, i16 11189, i16 0, i16 6027, i16 11190, i16 6023, i16 2425, i16 6017, i16 6025, i16 6030, i16 11191, i16 2919, i16 0, i16 11192, i16 11193, i16 755, i16 11194, i16 6022, i16 11195, i16 6031, i16 3183, i16 0, i16 11196, i16 11197, i16 0, i16 0, i16 2228, i16 5817, i16 0, i16 10873, i16 0, i16 10874, i16 5818, i16 0, i16 10875, i16 5819, i16 0, i16 1190, i16 10876, i16 0, i16 10877, i16 10878, i16 1166, i16 0, i16 10879, i16 5820, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5821, i16 10880, i16 3344, i16 3538, i16 10881, i16 10882, i16 10883, i16 2996, i16 0, i16 1154, i16 3655, i16 0, i16 0, i16 9664, i16 0, i16 0, i16 9665, i16 9666, i16 3378, i16 2675, i16 9673, i16 0, i16 9667, i16 9668, i16 5117, i16 5119, i16 9669, i16 0, i16 0, i16 9670, i16 0, i16 2361, i16 0, i16 0, i16 9671, i16 9672, i16 0, i16 5121, i16 5115, i16 4021, i16 7906, i16 7907, i16 4031, i16 2360, i16 0, i16 7908, i16 4033, i16 7909, i16 1593, i16 4023, i16 2624, i16 0, i16 0, i16 7910, i16 7911, i16 0, i16 7912, i16 7913, i16 7914, i16 7915, i16 0, i16 0, i16 7916, i16 4027, i16 4020, i16 1134, i16 0, i16 1199, i16 1096, i16 4028, i16 4024, i16 11957, i16 11958, i16 0, i16 11959, i16 0, i16 11960, i16 6487, i16 11961, i16 11962, i16 2965, i16 3621, i16 0, i16 11963, i16 11964, i16 11965, i16 1987, i16 0, i16 0, i16 0, i16 6488, i16 11966, i16 11967, i16 11968, i16 11969, i16 3473, i16 6490, i16 11970, i16 6489, i16 0, i16 0, i16 6493, i16 3504, i16 7094, i16 13164, i16 13165, i16 13166, i16 0, i16 13167, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8374, i16 974, i16 4254, i16 0, i16 4252, i16 4256, i16 4253, i16 2918, i16 4883, i16 2174, i16 0, i16 4257, i16 0, i16 0, i16 3597, i16 8375, i16 4258, i16 8376, i16 0, i16 4260, i16 8377, i16 2625, i16 4259, i16 0, i16 2252, i16 0, i16 1870, i16 0, i16 0, i16 8378, i16 2485, i16 1960, i16 9142, i16 0, i16 9143, i16 0, i16 0, i16 0, i16 4759, i16 4760, i16 3435, i16 0, i16 3381, i16 3369, i16 3343, i16 1784, i16 4762, i16 0, i16 0, i16 1948, i16 0, i16 9144, i16 3332, i16 0, i16 4764, i16 4767, i16 4766, i16 0, i16 1210, i16 0, i16 0, i16 1279, i16 9145, i16 4763, i16 1975, i16 1847, i16 10458, i16 0, i16 10459, i16 0, i16 0, i16 10460, i16 10461, i16 5525, i16 10462, i16 1976, i16 0, i16 0, i16 0, i16 10463, i16 0, i16 975, i16 3130, i16 0, i16 10464, i16 5526, i16 10465, i16 0, i16 3076, i16 0, i16 10466, i16 0, i16 0, i16 10467, i16 10468, i16 2380, i16 6327, i16 3527, i16 0, i16 0, i16 0, i16 0, i16 6330, i16 0, i16 6333, i16 0, i16 0, i16 6331, i16 3116, i16 11722, i16 0, i16 0, i16 11723, i16 0, i16 0, i16 6328, i16 0, i16 0, i16 0, i16 11724, i16 0, i16 1373, i16 0, i16 0, i16 11725, i16 0, i16 6332, i16 0, i16 6584, i16 6585, i16 12161, i16 12162, i16 0, i16 12163, i16 3049, i16 1736, i16 1938, i16 6586, i16 0, i16 6587, i16 3569, i16 2004, i16 3455, i16 3609, i16 6588, i16 1375, i16 0, i16 12164, i16 12165, i16 0, i16 6589, i16 12166, i16 2722, i16 12167, i16 12168, i16 6592, i16 1115, i16 2198, i16 12169, i16 6590, i16 10936, i16 1550, i16 0, i16 0, i16 838, i16 5859, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10937, i16 10938, i16 5866, i16 10939, i16 5867, i16 10940, i16 10941, i16 2838, i16 0, i16 10942, i16 0, i16 1336, i16 10943, i16 10944, i16 0, i16 5878, i16 2936, i16 10945, i16 0, i16 11448, i16 0, i16 6159, i16 11449, i16 0, i16 0, i16 0, i16 11450, i16 0, i16 0, i16 0, i16 6168, i16 11451, i16 11452, i16 11453, i16 6162, i16 0, i16 11454, i16 0, i16 6170, i16 0, i16 11455, i16 0, i16 0, i16 0, i16 0, i16 3541, i16 6173, i16 0, i16 6164, i16 11456, i16 11457, i16 12216, i16 0, i16 12217, i16 12218, i16 2739, i16 6604, i16 12219, i16 12220, i16 6607, i16 6605, i16 12221, i16 6610, i16 0, i16 12222, i16 12223, i16 12224, i16 6611, i16 12225, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6603, i16 12226, i16 12227, i16 6616, i16 923, i16 12228, i16 12229, i16 6602, i16 0, i16 7865, i16 832, i16 4007, i16 0, i16 0, i16 3999, i16 4000, i16 0, i16 2066, i16 3356, i16 7866, i16 0, i16 7867, i16 4005, i16 4004, i16 7868, i16 0, i16 0, i16 2734, i16 0, i16 0, i16 0, i16 7869, i16 0, i16 0, i16 0, i16 4006, i16 0, i16 7870, i16 4003, i16 7871, i16 7872, i16 698, i16 699, i16 700, i16 701, i16 702, i16 703, i16 704, i16 705, i16 706, i16 707, i16 708, i16 709, i16 710, i16 711, i16 712, i16 713, i16 0, i16 687, i16 7156, i16 7157, i16 7158, i16 7159, i16 7160, i16 7161, i16 7162, i16 7163, i16 7164, i16 7165, i16 7166, i16 0, i16 7167, i16 7168, i16 2490, i16 4430, i16 0, i16 0, i16 8646, i16 1277, i16 4440, i16 2262, i16 908, i16 4434, i16 1021, i16 4439, i16 0, i16 8647, i16 0, i16 1326, i16 0, i16 4436, i16 0, i16 8648, i16 0, i16 8649, i16 0, i16 0, i16 0, i16 0, i16 4442, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12475, i16 6705, i16 6707, i16 0, i16 12476, i16 6706, i16 12477, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1724, i16 0, i16 0, i16 3792, i16 0, i16 9136, i16 0, i16 9137, i16 1481, i16 3484, i16 0, i16 3283, i16 0, i16 3189, i16 9138, i16 4756, i16 0, i16 0, i16 0, i16 9139, i16 1768, i16 2656, i16 4757, i16 3674, i16 0, i16 9140, i16 0, i16 3313, i16 9141, i16 2636, i16 4758, i16 1213, i16 8124, i16 4126, i16 0, i16 0, i16 2698, i16 0, i16 8125, i16 8126, i16 0, i16 0, i16 1135, i16 0, i16 0, i16 8127, i16 0, i16 7095, i16 904, i16 3272, i16 8128, i16 0, i16 2137, i16 2759, i16 0, i16 0, i16 0, i16 8129, i16 1755, i16 0, i16 0, i16 4132, i16 0, i16 8130, i16 5309, i16 0, i16 3122, i16 5310, i16 10082, i16 0, i16 1125, i16 5311, i16 10083, i16 5312, i16 10084, i16 10085, i16 0, i16 0, i16 5313, i16 10086, i16 5315, i16 5316, i16 5314, i16 0, i16 10087, i16 0, i16 3146, i16 5318, i16 5317, i16 0, i16 10088, i16 10089, i16 10090, i16 0, i16 0, i16 10091, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 1470, i16 2526, i16 5138, i16 2934, i16 0, i16 9713, i16 5145, i16 9714, i16 9715, i16 0, i16 9716, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 5150, i16 5148, i16 0, i16 0, i16 5151, i16 0, i16 9717, i16 5154, i16 0, i16 0, i16 9718, i16 5147, i16 7873, i16 7874, i16 0, i16 0, i16 859, i16 7875, i16 1707, i16 2171, i16 7876, i16 7877, i16 0, i16 0, i16 7878, i16 7879, i16 7880, i16 4001, i16 2785, i16 0, i16 0, i16 0, i16 4002, i16 7881, i16 747, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1474, i16 1874, i16 0, i16 1362, i16 9412, i16 0, i16 0, i16 937, i16 9413, i16 0, i16 0, i16 9414, i16 9415, i16 0, i16 0, i16 9416, i16 0, i16 0, i16 3534, i16 0, i16 0, i16 9417, i16 9418, i16 4956, i16 4955, i16 4958, i16 1244, i16 9419, i16 0, i16 1363, i16 1151, i16 9420, i16 3523, i16 3682, i16 0, i16 1636, i16 5824, i16 1925, i16 5823, i16 10884, i16 10885, i16 0, i16 10886, i16 5825, i16 1882, i16 10887, i16 10888, i16 10889, i16 2486, i16 10890, i16 5826, i16 10891, i16 10892, i16 1635, i16 10893, i16 3432, i16 5827, i16 5828, i16 0, i16 0, i16 5829, i16 10894, i16 10895, i16 10896, i16 11971, i16 11972, i16 6492, i16 11973, i16 1104, i16 6491, i16 6496, i16 11974, i16 0, i16 6495, i16 0, i16 0, i16 6494, i16 2737, i16 6497, i16 11975, i16 0, i16 11976, i16 11977, i16 11978, i16 11979, i16 11980, i16 0, i16 6498, i16 11981, i16 0, i16 0, i16 0, i16 6499, i16 11982, i16 11983, i16 1667, i16 3012, i16 10118, i16 3108, i16 0, i16 5339, i16 3577, i16 1448, i16 5340, i16 0, i16 5338, i16 3055, i16 5341, i16 0, i16 5342, i16 0, i16 10119, i16 804, i16 10120, i16 0, i16 2147, i16 5347, i16 0, i16 5344, i16 2890, i16 5343, i16 10121, i16 10122, i16 10123, i16 10124, i16 10125, i16 10126, i16 1221, i16 4804, i16 1472, i16 1446, i16 2796, i16 9208, i16 9209, i16 4802, i16 0, i16 783, i16 0, i16 9210, i16 0, i16 9211, i16 4805, i16 4807, i16 0, i16 1354, i16 1415, i16 9193, i16 1149, i16 1258, i16 9212, i16 0, i16 9213, i16 9214, i16 4810, i16 0, i16 9215, i16 1774, i16 3364, i16 0, i16 1802, i16 8900, i16 759, i16 0, i16 4625, i16 0, i16 8901, i16 0, i16 0, i16 0, i16 4622, i16 8902, i16 0, i16 8903, i16 0, i16 1209, i16 0, i16 0, i16 0, i16 8904, i16 8905, i16 910, i16 8906, i16 4628, i16 0, i16 8907, i16 8908, i16 3512, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2501, i16 2430, i16 12015, i16 2821, i16 12016, i16 6516, i16 1268, i16 0, i16 12017, i16 0, i16 0, i16 6525, i16 12018, i16 6522, i16 6535, i16 2822, i16 2595, i16 6519, i16 0, i16 2719, i16 2770, i16 6520, i16 6524, i16 2219, i16 12019, i16 2978, i16 2669, i16 12020, i16 0, i16 2283, i16 6523, i16 2451, i16 4550, i16 8780, i16 0, i16 8781, i16 8782, i16 0, i16 0, i16 8783, i16 4551, i16 4552, i16 3263, i16 0, i16 4554, i16 4553, i16 1998, i16 0, i16 2263, i16 1003, i16 1025, i16 8784, i16 4555, i16 8785, i16 776, i16 0, i16 0, i16 0, i16 2293, i16 4556, i16 8786, i16 6377, i16 4557, i16 1468, i16 12230, i16 12231, i16 3014, i16 0, i16 6606, i16 12232, i16 2125, i16 12233, i16 12234, i16 12235, i16 0, i16 0, i16 0, i16 0, i16 12236, i16 12237, i16 12238, i16 1650, i16 0, i16 0, i16 0, i16 12239, i16 12240, i16 12241, i16 12242, i16 12243, i16 0, i16 12244, i16 12245, i16 12246, i16 3323, i16 12247, i16 1479, i16 11505, i16 6195, i16 11506, i16 6194, i16 11507, i16 1983, i16 0, i16 11508, i16 11509, i16 11510, i16 11511, i16 1643, i16 5033, i16 11512, i16 0, i16 0, i16 11513, i16 6196, i16 2016, i16 0, i16 11514, i16 11515, i16 1052, i16 11516, i16 6197, i16 11517, i16 889, i16 11518, i16 2116, i16 6198, i16 11519, i16 968, i16 0, i16 0, i16 3649, i16 7705, i16 7706, i16 7707, i16 7708, i16 0, i16 2052, i16 2775, i16 1660, i16 3900, i16 3901, i16 0, i16 7709, i16 7710, i16 3634, i16 0, i16 0, i16 3670, i16 3903, i16 7711, i16 7712, i16 7713, i16 1587, i16 7714, i16 7715, i16 3902, i16 7716, i16 1042, i16 0, i16 1224, i16 0, i16 10478, i16 10479, i16 0, i16 0, i16 0, i16 10480, i16 5531, i16 10481, i16 10482, i16 2713, i16 10483, i16 5532, i16 2288, i16 0, i16 0, i16 10484, i16 0, i16 0, i16 3390, i16 10485, i16 0, i16 3098, i16 5533, i16 5534, i16 2584, i16 10486, i16 3604, i16 0, i16 10487, i16 5536, i16 2248, i16 1192, i16 0, i16 0, i16 3497, i16 1010, i16 1991, i16 1556, i16 0, i16 6739, i16 12524, i16 6738, i16 1862, i16 6740, i16 6737, i16 0, i16 0, i16 1787, i16 12525, i16 0, i16 0, i16 6744, i16 6167, i16 0, i16 12527, i16 3952, i16 12528, i16 2242, i16 6742, i16 12529, i16 12530, i16 12531, i16 1225, i16 0, i16 5685, i16 10699, i16 3460, i16 1631, i16 5684, i16 10700, i16 10701, i16 10702, i16 5688, i16 3447, i16 0, i16 2935, i16 0, i16 10703, i16 3114, i16 10704, i16 10705, i16 10706, i16 2034, i16 5687, i16 10707, i16 1924, i16 1632, i16 1849, i16 1288, i16 3211, i16 5686, i16 10708, i16 10709, i16 0, i16 1737, i16 5235, i16 5234, i16 0, i16 9880, i16 0, i16 0, i16 5236, i16 0, i16 9881, i16 0, i16 0, i16 0, i16 9882, i16 9883, i16 0, i16 0, i16 0, i16 5237, i16 9884, i16 0, i16 0, i16 5238, i16 0, i16 0, i16 0, i16 0, i16 9885, i16 0, i16 0, i16 0, i16 0, i16 1993, i16 2201, i16 3740, i16 7401, i16 3738, i16 0, i16 3739, i16 1271, i16 0, i16 0, i16 1688, i16 1013, i16 0, i16 3737, i16 3736, i16 3198, i16 7402, i16 0, i16 0, i16 0, i16 1817, i16 1816, i16 2467, i16 3741, i16 3148, i16 2320, i16 7403, i16 7404, i16 0, i16 245, i16 3742, i16 3744, i16 10953, i16 0, i16 0, i16 5870, i16 10954, i16 0, i16 0, i16 10955, i16 0, i16 5869, i16 0, i16 0, i16 10956, i16 0, i16 0, i16 5871, i16 10957, i16 2537, i16 0, i16 2937, i16 0, i16 10958, i16 0, i16 0, i16 0, i16 2642, i16 10959, i16 0, i16 10960, i16 0, i16 5875, i16 0, i16 714, i16 725, i16 715, i16 726, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 716, i16 0, i16 0, i16 727, i16 717, i16 0, i16 0, i16 728, i16 719, i16 0, i16 0, i16 730, i16 718, i16 0, i16 0, i16 729, i16 720, i16 741, i16 0, i16 0, i16 2762, i16 1913, i16 8396, i16 8397, i16 2399, i16 3561, i16 0, i16 8398, i16 8399, i16 8400, i16 0, i16 0, i16 4278, i16 8401, i16 4279, i16 2867, i16 8402, i16 1798, i16 0, i16 0, i16 8403, i16 8404, i16 4281, i16 0, i16 0, i16 4282, i16 8405, i16 8406, i16 8407, i16 8408, i16 0, i16 0, i16 8650, i16 4444, i16 4454, i16 4452, i16 0, i16 0, i16 4449, i16 8651, i16 8652, i16 8653, i16 4448, i16 3653, i16 8654, i16 4450, i16 0, i16 0, i16 1327, i16 8655, i16 1608, i16 0, i16 8656, i16 2057, i16 8657, i16 8658, i16 0, i16 4457, i16 4443, i16 0, i16 0, i16 8659, i16 0, i16 4447, i16 6348, i16 11745, i16 0, i16 1809, i16 11746, i16 11747, i16 0, i16 0, i16 0, i16 0, i16 4696, i16 11748, i16 6349, i16 11749, i16 6350, i16 11750, i16 1985, i16 0, i16 6351, i16 6352, i16 11751, i16 11752, i16 6353, i16 0, i16 0, i16 6354, i16 6355, i16 0, i16 11753, i16 0, i16 11754, i16 11755, i16 462, i16 463, i16 464, i16 465, i16 466, i16 467, i16 468, i16 469, i16 470, i16 471, i16 472, i16 473, i16 474, i16 475, i16 476, i16 477, i16 478, i16 479, i16 480, i16 481, i16 482, i16 483, i16 484, i16 485, i16 486, i16 487, i16 488, i16 489, i16 490, i16 491, i16 492, i16 493, i16 10190, i16 10191, i16 3602, i16 10192, i16 10193, i16 10194, i16 5392, i16 5390, i16 5391, i16 10195, i16 10189, i16 10196, i16 1187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3471, i16 0, i16 0, i16 10197, i16 3231, i16 0, i16 5394, i16 10198, i16 0, i16 0, i16 5393, i16 0, i16 0, i16 10199, i16 11214, i16 6043, i16 11215, i16 0, i16 2594, i16 0, i16 6044, i16 11216, i16 11217, i16 3525, i16 6033, i16 1051, i16 11218, i16 6039, i16 0, i16 11219, i16 6042, i16 3389, i16 0, i16 11220, i16 0, i16 0, i16 6045, i16 0, i16 0, i16 6038, i16 6041, i16 0, i16 11221, i16 0, i16 0, i16 0, i16 8145, i16 8146, i16 0, i16 1322, i16 0, i16 4134, i16 0, i16 8147, i16 8148, i16 8149, i16 8150, i16 0, i16 8151, i16 8152, i16 0, i16 8153, i16 8154, i16 0, i16 0, i16 3261, i16 8155, i16 0, i16 8156, i16 2436, i16 0, i16 0, i16 0, i16 0, i16 2663, i16 8157, i16 0, i16 4136, i16 9937, i16 0, i16 0, i16 2002, i16 0, i16 0, i16 9938, i16 9939, i16 5269, i16 9940, i16 5268, i16 9941, i16 9942, i16 0, i16 9943, i16 9944, i16 5270, i16 9945, i16 1072, i16 0, i16 0, i16 5272, i16 0, i16 9946, i16 5271, i16 9947, i16 5274, i16 5273, i16 9948, i16 0, i16 0, i16 0, i16 11986, i16 11987, i16 0, i16 6505, i16 11988, i16 11989, i16 11990, i16 3899, i16 3898, i16 0, i16 0, i16 0, i16 0, i16 6506, i16 5764, i16 6507, i16 2535, i16 2166, i16 2939, i16 0, i16 0, i16 11991, i16 11992, i16 6508, i16 11993, i16 0, i16 3242, i16 2677, i16 1685, i16 0, i16 11994, i16 2540, i16 3539, i16 0, i16 0, i16 0, i16 9581, i16 5066, i16 5060, i16 5057, i16 9582, i16 0, i16 9583, i16 3617, i16 5063, i16 0, i16 9584, i16 9585, i16 0, i16 2009, i16 5065, i16 0, i16 0, i16 5070, i16 9586, i16 0, i16 2800, i16 5068, i16 0, i16 9587, i16 0, i16 9588, i16 5062, i16 9589, i16 1236, i16 0, i16 3722, i16 0, i16 0, i16 3723, i16 3592, i16 0, i16 3500, i16 2415, i16 3725, i16 1865, i16 2896, i16 7395, i16 3728, i16 0, i16 0, i16 869, i16 1560, i16 0, i16 1559, i16 815, i16 7396, i16 7397, i16 3702, i16 3701, i16 0, i16 1704, i16 746, i16 7398, i16 3729, i16 3730, i16 8916, i16 0, i16 8917, i16 0, i16 8918, i16 8919, i16 4634, i16 0, i16 4638, i16 8920, i16 8921, i16 0, i16 3035, i16 2794, i16 0, i16 8922, i16 8923, i16 0, i16 0, i16 0, i16 4631, i16 8924, i16 4635, i16 0, i16 0, i16 0, i16 1443, i16 0, i16 0, i16 8925, i16 1766, i16 8926, i16 9428, i16 4968, i16 1842, i16 2270, i16 1686, i16 0, i16 3175, i16 9429, i16 0, i16 3255, i16 3695, i16 9430, i16 0, i16 0, i16 9431, i16 1864, i16 9432, i16 0, i16 0, i16 1733, i16 3647, i16 9433, i16 0, i16 0, i16 4969, i16 4970, i16 0, i16 1843, i16 0, i16 9434, i16 9435, i16 4971, i16 12756, i16 0, i16 12757, i16 12758, i16 12759, i16 0, i16 0, i16 12760, i16 2482, i16 0, i16 0, i16 6870, i16 0, i16 12761, i16 12762, i16 0, i16 2826, i16 0, i16 0, i16 12763, i16 0, i16 12764, i16 12765, i16 6871, i16 12766, i16 0, i16 0, i16 0, i16 0, i16 0, i16 6876, i16 0, i16 7381, i16 7382, i16 3719, i16 2928, i16 7383, i16 1270, i16 0, i16 7384, i16 0, i16 0, i16 0, i16 2930, i16 0, i16 2880, i16 1532, i16 3302, i16 0, i16 7385, i16 0, i16 0, i16 0, i16 6101, i16 3720, i16 2133, i16 3721, i16 954, i16 7386, i16 0, i16 7387, i16 1378, i16 1577, i16 3450, i16 1238, i16 3818, i16 3819, i16 7595, i16 948, i16 0, i16 7596, i16 7597, i16 7598, i16 3817, i16 0, i16 7599, i16 7600, i16 7601, i16 7602, i16 0, i16 7604, i16 0, i16 1957, i16 0, i16 3822, i16 3821, i16 3820, i16 7605, i16 3764, i16 7606, i16 3823, i16 7607, i16 7608, i16 7609, i16 7610, i16 2061, i16 10967, i16 10968, i16 0, i16 0, i16 0, i16 5881, i16 5882, i16 10969, i16 10970, i16 10971, i16 0, i16 1953, i16 0, i16 10972, i16 5880, i16 10973, i16 1679, i16 5879, i16 0, i16 0, i16 5883, i16 0, i16 0, i16 10974, i16 2643, i16 3191, i16 2346, i16 0, i16 0, i16 0, i16 0, i16 2497, i16 3800, i16 7547, i16 0, i16 7548, i16 7549, i16 3802, i16 7550, i16 0, i16 0, i16 0, i16 7551, i16 0, i16 0, i16 3304, i16 7552, i16 7553, i16 7554, i16 1473, i16 7555, i16 7556, i16 7557, i16 0, i16 7558, i16 0, i16 1796, i16 3088, i16 3801, i16 7559, i16 7560, i16 0, i16 7561, i16 7562, i16 4569, i16 0, i16 0, i16 4567, i16 8807, i16 0, i16 0, i16 0, i16 4570, i16 0, i16 0, i16 0, i16 0, i16 8808, i16 3206, i16 8809, i16 0, i16 768, i16 0, i16 8810, i16 0, i16 0, i16 3157, i16 0, i16 0, i16 3068, i16 8811, i16 0, i16 4571, i16 8812, i16 4574, i16 2082, i16 4825, i16 9235, i16 2092, i16 9236, i16 0, i16 9237, i16 4163, i16 1569, i16 3563, i16 9238, i16 9239, i16 0, i16 0, i16 4816, i16 9240, i16 2709, i16 1030, i16 1698, i16 9241, i16 4808, i16 0, i16 4824, i16 1092, i16 0, i16 0, i16 4822, i16 4826, i16 9242, i16 2797, i16 0, i16 0, i16 0, i16 9177, i16 2477, i16 9178, i16 9179, i16 3222, i16 9180, i16 4798, i16 0, i16 9181, i16 9182, i16 3097, i16 0, i16 0, i16 0, i16 4797, i16 2987, i16 3314, i16 1148, i16 9183, i16 2336, i16 1999, i16 0, i16 0, i16 9184, i16 2676, i16 9185, i16 3485, i16 0, i16 9186, i16 4793, i16 4792, i16 0, i16 1242, i16 0, i16 4572, i16 4579, i16 2083, i16 0, i16 0, i16 0, i16 0, i16 4573, i16 2943, i16 0, i16 0, i16 8813, i16 8814, i16 8815, i16 8816, i16 3533, i16 4575, i16 4576, i16 4580, i16 2793, i16 4577, i16 1610, i16 2311, i16 0, i16 0, i16 4594, i16 3021, i16 0, i16 2519, i16 0, i16 6874, i16 12768, i16 6873, i16 6875, i16 12769, i16 6872, i16 0, i16 12767, i16 0, i16 0, i16 12770, i16 12771, i16 12772, i16 6878, i16 12773, i16 0, i16 0, i16 12774, i16 0, i16 0, i16 12775, i16 6877, i16 12776, i16 6880, i16 0, i16 0, i16 1344, i16 6879, i16 0, i16 12777, i16 0, i16 6881, i16 11995, i16 11996, i16 849, i16 0, i16 3371, i16 2210, i16 11997, i16 0, i16 0, i16 0, i16 11998, i16 11999, i16 0, i16 12000, i16 1465, i16 0, i16 12001, i16 1374, i16 12002, i16 12003, i16 3243, i16 12004, i16 0, i16 0, i16 0, i16 0, i16 6509, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1245, i16 0, i16 5239, i16 0, i16 0, i16 0, i16 0, i16 5240, i16 9886, i16 0, i16 0, i16 0, i16 1501, i16 9887, i16 9888, i16 3041, i16 0, i16 9889, i16 5242, i16 0, i16 9890, i16 0, i16 2146, i16 0, i16 0, i16 5241, i16 0, i16 0, i16 0, i16 0, i16 9891, i16 0, i16 7901, i16 7902, i16 0, i16 4010, i16 7903, i16 0, i16 7904, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 4025, i16 4030, i16 0, i16 4026, i16 7905, i16 9949, i16 9950, i16 0, i16 9951, i16 1525, i16 9952, i16 9953, i16 3573, i16 0, i16 1353, i16 0, i16 939, i16 0, i16 0, i16 9954, i16 0, i16 9955, i16 0, i16 0, i16 9956, i16 0, i16 9957, i16 1383, i16 9958, i16 9959, i16 0, i16 0, i16 0, i16 9960, i16 0, i16 9961, i16 9962, i16 222, i16 223, i16 224, i16 244, i16 0, i16 246, i16 247, i16 248, i16 271, i16 272, i16 273, i16 274, i16 275, i16 276, i16 277, i16 278, i16 279, i16 280, i16 324, i16 329, i16 265, i16 266, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 254, i16 0, i16 0, i16 0, i16 4062, i16 0, i16 0, i16 0, i16 7982, i16 7983, i16 4061, i16 1064, i16 7984, i16 0, i16 4063, i16 7985, i16 7986, i16 0, i16 0, i16 4066, i16 0, i16 0, i16 0, i16 0, i16 4065, i16 7987, i16 0, i16 0, i16 0, i16 7988, i16 7989, i16 0, i16 0, i16 7990, i16 7991, i16 7992, i16 8158, i16 8159, i16 8160, i16 0, i16 0, i16 0, i16 8161, i16 0, i16 3330, i16 8162, i16 0, i16 4137, i16 0, i16 0, i16 4142, i16 0, i16 0, i16 8163, i16 8164, i16 3204, i16 0, i16 0, i16 0, i16 0, i16 4141, i16 4135, i16 4138, i16 4140, i16 8166, i16 0, i16 1691, i16 0, i16 10718, i16 10719, i16 1977, i16 1527, i16 2383, i16 5689, i16 5695, i16 10720, i16 10721, i16 0, i16 0, i16 5690, i16 1451, i16 10722, i16 5698, i16 5702, i16 1478, i16 10723, i16 0, i16 10724, i16 0, i16 0, i16 5697, i16 10725, i16 0, i16 10726, i16 10727, i16 5706, i16 10728, i16 10729, i16 1633, i16 0, i16 736, i16 0, i16 0, i16 731, i16 722, i16 743, i16 0, i16 0, i16 738, i16 0, i16 0, i16 733, i16 721, i16 0, i16 0, i16 737, i16 742, i16 0, i16 0, i16 732, i16 723, i16 0, i16 0, i16 739, i16 744, i16 0, i16 0, i16 734, i16 724, i16 0, i16 0, i16 740, i16 2784, i16 7664, i16 7665, i16 2202, i16 3871, i16 7666, i16 3201, i16 2307, i16 1123, i16 0, i16 1130, i16 3872, i16 0, i16 0, i16 3874, i16 0, i16 0, i16 1429, i16 7667, i16 7668, i16 3873, i16 7669, i16 7670, i16 3648, i16 7671, i16 0, i16 0, i16 0, i16 0, i16 2040, i16 0, i16 0, i16 4064, i16 0, i16 2932, i16 0, i16 0, i16 4067, i16 7993, i16 7994, i16 7995, i16 7996, i16 0, i16 7997, i16 7998, i16 7999, i16 4068, i16 0, i16 0, i16 8000, i16 0, i16 8001, i16 4070, i16 0, i16 4069, i16 8002, i16 0, i16 0, i16 0, i16 0, i16 4072, i16 0, i16 8003, i16 0, i16 8416, i16 945, i16 8417, i16 8418, i16 0, i16 0, i16 8419, i16 0, i16 2370, i16 1189, i16 8420, i16 4287, i16 3385, i16 0, i16 0, i16 0, i16 0, i16 2487, i16 8421, i16 1084, i16 8422, i16 8423, i16 4289, i16 4291, i16 1184, i16 0, i16 8424, i16 4288, i16 4290, i16 0, i16 4293, i16 0, i16 9441, i16 0, i16 9442, i16 9443, i16 4979, i16 0, i16 0, i16 0, i16 9444, i16 9445, i16 4980, i16 4981, i16 9446, i16 9447, i16 9448, i16 4982, i16 9449, i16 4984, i16 4983, i16 4985, i16 938, i16 2573, i16 0, i16 4986, i16 9450, i16 9451, i16 1785, i16 1071, i16 4987, i16 9452, i16 9453, i16 2753, i16 12257, i16 0, i16 0, i16 0, i16 12258, i16 12259, i16 0, i16 12260, i16 12261, i16 0, i16 0, i16 12262, i16 0, i16 2355, i16 0, i16 12263, i16 0, i16 0, i16 12264, i16 0, i16 0, i16 0, i16 12265, i16 6619, i16 12266, i16 6618, i16 12267, i16 12268, i16 12269, i16 12270, i16 0, i16 12271, i16 10469, i16 5529, i16 10470, i16 5530, i16 2980, i16 10471, i16 2188, i16 5527, i16 0, i16 2596, i16 10472, i16 10473, i16 5528, i16 10474, i16 0, i16 0, i16 2107, i16 10475, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 10476, i16 0, i16 0, i16 805, i16 10477, i16 0, i16 0, i16 0, i16 12005, i16 0, i16 6511, i16 12006, i16 12007, i16 6510, i16 997, i16 0, i16 12008, i16 2899, i16 6512, i16 2994, i16 0, i16 2738, i16 12009, i16 6513, i16 2017, i16 12010, i16 0, i16 0, i16 6515, i16 12011, i16 12012, i16 3411, i16 6530, i16 6517, i16 6518, i16 12013, i16 0, i16 2666, i16 12014, i16 0, i16 1254, i16 0, i16 12579, i16 6786, i16 0, i16 0, i16 6785, i16 0, i16 6784, i16 0, i16 0, i16 6329, i16 12580, i16 3249, i16 12581, i16 0, i16 0, i16 12582, i16 12583, i16 6787, i16 6788, i16 12584, i16 12585, i16 0, i16 12586, i16 12587, i16 12588, i16 0, i16 12589, i16 0, i16 12590, i16 12591, i16 9702, i16 5142, i16 0, i16 5141, i16 5143, i16 9703, i16 9704, i16 9705, i16 9706, i16 0, i16 5146, i16 0, i16 0, i16 0, i16 9707, i16 9708, i16 9709, i16 2754, i16 0, i16 5140, i16 0, i16 9710, i16 9711, i16 0, i16 0, i16 5144, i16 0, i16 0, i16 9712, i16 0, i16 0, i16 0, i16 2280, i16 6299, i16 0, i16 6304, i16 1574, i16 6301, i16 6302, i16 11686, i16 6298, i16 11687, i16 0, i16 0, i16 2315, i16 2854, i16 11688, i16 11689, i16 2546, i16 0, i16 994, i16 11690, i16 0, i16 0, i16 11691, i16 11692, i16 0, i16 3081, i16 0, i16 11693, i16 1250, i16 0, i16 11694, i16 2645, i16 10216, i16 0, i16 10217, i16 10218, i16 10219, i16 10220, i16 10221, i16 10222, i16 10223, i16 0, i16 10224, i16 0, i16 0, i16 10225, i16 3074, i16 0, i16 5416, i16 0, i16 0, i16 0, i16 5417, i16 0, i16 0, i16 7073, i16 5418, i16 5419, i16 5420, i16 0, i16 0, i16 10226, i16 0, i16 1793, i16 6633, i16 0, i16 0, i16 0, i16 12337, i16 12338, i16 0, i16 12339, i16 0, i16 12340, i16 12341, i16 0, i16 1416, i16 12342, i16 6635, i16 12343, i16 12344, i16 12345, i16 0, i16 12346, i16 12347, i16 1513, i16 12348, i16 0, i16 0, i16 0, i16 12349, i16 0, i16 6634, i16 12350, i16 2126, i16 12351, i16 8938, i16 8939, i16 0, i16 8940, i16 0, i16 0, i16 0, i16 4640, i16 0, i16 3347, i16 0, i16 0, i16 0, i16 8941, i16 0, i16 4641, i16 0, i16 0, i16 0, i16 8942, i16 8943, i16 0, i16 4642, i16 0, i16 3423, i16 0, i16 2251, i16 8944, i16 0, i16 8945, i16 0, i16 0, i16 235, i16 405, i16 406, i16 407, i16 408, i16 409, i16 410, i16 411, i16 412, i16 413, i16 414, i16 415, i16 416, i16 417, i16 418, i16 419, i16 420, i16 421, i16 422, i16 423, i16 424, i16 425, i16 426, i16 427, i16 428, i16 429, i16 430, i16 269, i16 256, i16 270, i16 7109, i16 0, i16 4075, i16 4073, i16 4071, i16 4074, i16 0, i16 8004, i16 0, i16 0, i16 4076, i16 8005, i16 8006, i16 8007, i16 8010, i16 8011, i16 4077, i16 8008, i16 8009, i16 4078, i16 0, i16 4079, i16 0, i16 0, i16 0, i16 4080, i16 3841, i16 8012, i16 1965, i16 1824, i16 8013, i16 8014, i16 1016, i16 8015, i16 6891, i16 12790, i16 0, i16 12791, i16 2236, i16 0, i16 12792, i16 0, i16 12793, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12794, i16 6892, i16 12795, i16 6893, i16 12796, i16 6894, i16 6895, i16 12797, i16 12798, i16 12799, i16 1657, i16 0, i16 0, i16 12800, i16 12801, i16 0, i16 6896, i16 6897, i16 9963, i16 0, i16 9964, i16 0, i16 0, i16 9965, i16 9966, i16 0, i16 0, i16 1186, i16 9967, i16 9968, i16 0, i16 9969, i16 0, i16 0, i16 0, i16 0, i16 3637, i16 5276, i16 0, i16 9970, i16 0, i16 9971, i16 0, i16 9972, i16 0, i16 5278, i16 9973, i16 9974, i16 0, i16 9975, i16 7405, i16 7406, i16 7407, i16 2506, i16 3630, i16 787, i16 0, i16 0, i16 7408, i16 0, i16 0, i16 0, i16 0, i16 3743, i16 963, i16 7409, i16 1345, i16 7410, i16 2602, i16 7411, i16 0, i16 7412, i16 1482, i16 3745, i16 0, i16 0, i16 0, i16 2911, i16 0, i16 7413, i16 7414, i16 7415, i16 494, i16 495, i16 496, i16 497, i16 498, i16 499, i16 500, i16 501, i16 502, i16 503, i16 504, i16 505, i16 506, i16 507, i16 508, i16 509, i16 510, i16 511, i16 512, i16 513, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 232, i16 233, i16 242, i16 243, i16 0, i16 750, i16 3137, i16 3994, i16 0, i16 3990, i16 0, i16 7861, i16 3985, i16 3991, i16 1725, i16 7862, i16 0, i16 0, i16 7863, i16 7864, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3998, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 12272, i16 12273, i16 12274, i16 12275, i16 0, i16 12276, i16 12277, i16 12278, i16 12279, i16 0, i16 0, i16 12280, i16 12281, i16 12282, i16 12283, i16 6617, i16 12284, i16 0, i16 3298, i16 12285, i16 0, i16 12286, i16 0, i16 12287, i16 12288, i16 12289, i16 0, i16 0, i16 12290, i16 12291, i16 0, i16 12292, i16 1009, i16 6386, i16 3667, i16 2659, i16 3696, i16 11796, i16 11797, i16 1860, i16 6385, i16 11798, i16 2454, i16 11799, i16 0, i16 6402, i16 2351, i16 11800, i16 0, i16 2901, i16 0, i16 3143, i16 0, i16 11802, i16 11801, i16 0, i16 0, i16 11803, i16 6389, i16 1810, i16 1861, i16 11804, i16 2123, i16 0, i16 4849, i16 4836, i16 0, i16 4846, i16 0, i16 9254, i16 0, i16 4840, i16 9255, i16 0, i16 9256, i16 9257, i16 9258, i16 9259, i16 2180, i16 4850, i16 9260, i16 9261, i16 2268, i16 0, i16 0, i16 9262, i16 9263, i16 0, i16 0, i16 4848, i16 1150, i16 9264, i16 9265, i16 9266, i16 0, i16 0, i16 13041, i16 0, i16 0, i16 0, i16 0, i16 13042, i16 7028, i16 13043, i16 0, i16 13044, i16 0, i16 13045, i16 0, i16 7029, i16 13046, i16 7030, i16 13047, i16 0, i16 3700, i16 13048, i16 13049, i16 0, i16 0, i16 0, i16 7027, i16 2512, i16 1762, i16 0, i16 0, i16 7031, i16 13050, i16 0, i16 6130, i16 0, i16 3293, i16 6131, i16 11395, i16 11396, i16 6128, i16 11397, i16 6129, i16 6134, i16 6137, i16 11398, i16 0, i16 6135, i16 11399, i16 11400, i16 11401, i16 6133, i16 6127, i16 11402, i16 11403, i16 0, i16 0, i16 0, i16 2587, i16 11404, i16 6144, i16 0, i16 3387, i16 0, i16 11405, i16 11406, i16 4083, i16 8027, i16 8028, i16 3253, i16 4085, i16 0, i16 0, i16 8029, i16 4087, i16 4086, i16 8030, i16 4088, i16 8031, i16 4089, i16 0, i16 1490, i16 0, i16 8032, i16 903, i16 4090, i16 0, i16 8033, i16 4092, i16 0, i16 4091, i16 0, i16 8034, i16 8035, i16 4094, i16 8036, i16 0, i16 2777, i16 3830, i16 829, i16 7623, i16 1518, i16 1430, i16 1995, i16 2622, i16 1313, i16 2321, i16 1584, i16 7624, i16 1669, i16 3832, i16 3417, i16 2757, i16 7625, i16 1868, i16 0, i16 3831, i16 7626, i16 3833, i16 7627, i16 0, i16 7628, i16 7629, i16 0, i16 2781, i16 0, i16 1112, i16 0, i16 0, i16 7630, i16 3320, i16 897, i16 811, i16 0, i16 2818, i16 11714, i16 11715, i16 6321, i16 0, i16 0, i16 11721, i16 11716, i16 6320, i16 0, i16 2883, i16 0, i16 6325, i16 11717, i16 0, i16 0, i16 6314, i16 0, i16 6324, i16 6326, i16 0, i16 1509, i16 6322, i16 1645, i16 11718, i16 1926, i16 11719, i16 11720, i16 3576, i16 1731, i16 2552, i16 4614, i16 8885, i16 2309, i16 8886, i16 1612, i16 2223, i16 909, i16 2371, i16 4612, i16 1252, i16 8887, i16 8888, i16 8889, i16 0, i16 0, i16 1442, i16 0, i16 2672, i16 4618, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2406, i16 0, i16 8890, i16 4621, i16 0, i16 7416, i16 1196, i16 7417, i16 7418, i16 0, i16 0, i16 0, i16 0, i16 7419, i16 3746, i16 788, i16 7420, i16 7421, i16 1561, i16 1197, i16 3185, i16 3019, i16 1272, i16 7422, i16 0, i16 0, i16 7423, i16 7424, i16 7425, i16 0, i16 7426, i16 1014, i16 0, i16 3781, i16 2752, i16 0, i16 0, i16 1529, i16 0, i16 2716, i16 6278, i16 11631, i16 11632, i16 0, i16 11633, i16 1458, i16 0, i16 2209, i16 0, i16 6281, i16 0, i16 2817, i16 11634, i16 6280, i16 11635, i16 11636, i16 1420, i16 11637, i16 11638, i16 6279, i16 2524, i16 1228, i16 0, i16 0, i16 6282, i16 0, i16 6283, i16 11639, i16 2118, i16 2041, i16 4564, i16 8795, i16 8796, i16 8797, i16 0, i16 8798, i16 2329, i16 6559, i16 3067, i16 0, i16 1947, i16 8799, i16 1730, i16 4565, i16 0, i16 8800, i16 8801, i16 8802, i16 2476, i16 8803, i16 3196, i16 8804, i16 0, i16 2518, i16 0, i16 8805, i16 4568, i16 8806, i16 0, i16 4566, i16 0, i16 10235, i16 5426, i16 0, i16 1159, i16 3056, i16 5427, i16 10236, i16 5428, i16 10237, i16 0, i16 5429, i16 0, i16 10238, i16 0, i16 3437, i16 0, i16 10239, i16 10240, i16 3430, i16 0, i16 2655, i16 0, i16 10241, i16 0, i16 2417, i16 10242, i16 0, i16 5431, i16 10243, i16 0, i16 2033, i16 0, i16 5628, i16 10657, i16 0, i16 10658, i16 5652, i16 5654, i16 0, i16 10659, i16 0, i16 10660, i16 0, i16 0, i16 5655, i16 10661, i16 10662, i16 0, i16 10663, i16 0, i16 10664, i16 3227, i16 0, i16 5656, i16 0, i16 0, i16 0, i16 10665, i16 0, i16 0, i16 10666, i16 10667, i16 3443, i16 0, i16 3325, i16 7813, i16 0, i16 0, i16 0, i16 0, i16 3062, i16 7814, i16 7815, i16 3968, i16 7816, i16 1183, i16 3963, i16 3964, i16 3966, i16 7817, i16 0, i16 7818, i16 0, i16 0, i16 7819, i16 7820, i16 3967, i16 0, i16 1274, i16 2220, i16 0, i16 3202, i16 3965, i16 3961, i16 1564, i16 0, i16 5629, i16 10622, i16 10623, i16 10624, i16 10625, i16 0, i16 10626, i16 5630, i16 0, i16 10627, i16 0, i16 10628, i16 10629, i16 5635, i16 10630, i16 10631, i16 0, i16 5624, i16 3951, i16 5631, i16 5625, i16 0, i16 0, i16 5634, i16 0, i16 10632, i16 0, i16 10633, i16 0, i16 0, i16 0, i16 5640, i16 4350, i16 0, i16 0, i16 4349, i16 4348, i16 3188, i16 0, i16 4357, i16 0, i16 8514, i16 0, i16 8512, i16 3341, i16 0, i16 4351, i16 0, i16 8513, i16 8515, i16 0, i16 0, i16 4353, i16 3358, i16 8516, i16 4352, i16 8517, i16 0, i16 0, i16 8518, i16 8519, i16 0, i16 8520, i16 4354, i16 9726, i16 5159, i16 0, i16 0, i16 0, i16 9727, i16 9728, i16 9729, i16 0, i16 5155, i16 0, i16 5156, i16 0, i16 9730, i16 0, i16 5160, i16 0, i16 5158, i16 0, i16 0, i16 0, i16 3141, i16 0, i16 9731, i16 5166, i16 0, i16 5163, i16 5162, i16 0, i16 5165, i16 2865, i16 5167, i16 3839, i16 0, i16 3840, i16 7634, i16 7635, i16 2879, i16 902, i16 0, i16 0, i16 3843, i16 1778, i16 7636, i16 3842, i16 1723, i16 7637, i16 3844, i16 5856, i16 3845, i16 3316, i16 3846, i16 0, i16 3847, i16 3848, i16 2134, i16 7638, i16 1917, i16 0, i16 0, i16 0, i16 7639, i16 0, i16 0, i16 5887, i16 10975, i16 5888, i16 5884, i16 10977, i16 10978, i16 10979, i16 0, i16 5885, i16 0, i16 5886, i16 10980, i16 0, i16 0, i16 10981, i16 1640, i16 10976, i16 0, i16 0, i16 5894, i16 0, i16 5890, i16 10982, i16 0, i16 10983, i16 0, i16 3165, i16 10984, i16 3359, i16 3103, i16 10985, i16 0, i16 120, i16 12, i16 25, i16 0, i16 0, i16 5, i16 0, i16 23, i16 156, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 17, i16 157, i16 107, i16 21, i16 147, i16 174, i16 24, i16 0, i16 3, i16 173, i16 137, i16 30, i16 88, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 143, i16 145, i16 8, i16 117, i16 132, i16 0, i16 0, i16 177, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 187, i16 95, i16 182, i16 161, i16 129, i16 127, i16 97, i16 135, i16 103, i16 108, i16 83, i16 86, i16 166, i16 139, i16 89, i16 172, i16 56, i16 77, i16 106, i16 162, i16 189, i16 155, i16 41, i16 141, i16 124, i16 28, i16 74, i16 68, i16 113, i16 27, i16 67, i16 85, i16 144, i16 70, i16 126, i16 96, i16 35, i16 61, i16 190, i16 123, i16 176, i16 171, i16 148, i16 183, i16 38, i16 54, i16 142, i16 186, i16 87, i16 75, i16 94, i16 76, i16 32, i16 98, i16 163, i16 20, i16 133, i16 154, i16 66, i16 138, i16 52, i16 101, i16 44, i16 63, i16 19, i16 22, i16 164, i16 191, i16 136, i16 80, i16 65, i16 91, i16 114, i16 181, i16 51, i16 79, i16 184, i16 116, i16 151, i16 92, i16 140, i16 64, i16 167, i16 50, i16 110, i16 130, i16 192, i16 152, i16 100, i16 99, i16 36, i16 93, i16 72, i16 146, i16 131, i16 33, i16 47, i16 119, i16 7, i16 73, i16 185, i16 57, i16 160, i16 150, i16 78, i16 45, i16 118, i16 49, i16 115, i16 29, i16 31, i16 69, i16 188, i16 53, i16 149, i16 121, i16 55, i16 109, i16 82, i16 153, i16 178, i16 90, i16 122, i16 104, i16 6, i16 175, i16 60, i16 59, i16 43, i16 180, i16 125, i16 16, i16 179, i16 102, i16 134, i16 62, i16 37, i16 158, i16 71, i16 40, i16 84, i16 0, i16 1, i16 159, i16 13, i16 81, i16 111, i16 46, i16 105, i16 9, i16 128, i16 18, i16 170, i16 11, i16 15, i16 39, i16 34, i16 2, i16 48, i16 10, i16 14, i16 26, i16 58, i16 42, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 169, i16 112, i16 168, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 165, i16 4, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 84, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1270, i16 1950, i16 0, i16 426, i16 2786, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3365, i16 3389, i16 3410, i16 1975, i16 0, i16 2471, i16 2480, i16 2502, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2924, i16 1668, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 408, i16 0, i16 0, i16 3296, i16 0, i16 3249, i16 1864, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 141, i16 0, i16 51, i16 1513, i16 1049, i16 2968, i16 2294, i16 0, i16 1390, i16 979, i16 0, i16 1886, i16 0, i16 617, i16 0, i16 0, i16 0, i16 1282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 471, i16 2852, i16 0, i16 0, i16 0, i16 0, i16 3275, i16 2769, i16 2449, i16 0, i16 0, i16 0, i16 0, i16 693, i16 657, i16 2725, i16 1421, i16 1123, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1524, i16 2708, i16 2736, i16 2762, i16 2793, i16 2808, i16 2834, i16 2854, i16 2870, i16 2890, i16 2909, i16 2932, i16 2958, i16 2983, i16 3003, i16 3025, i16 3042, i16 3062, i16 3085, i16 3108, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2374, i16 367, i16 1664, i16 0, i16 0, i16 0, i16 0, i16 2342, i16 0, i16 0, i16 0, i16 0, i16 165, i16 2704, i16 1683, i16 0, i16 0, i16 1370, i16 0, i16 2875, i16 0, i16 2939, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1678, i16 423, i16 0, i16 2585, i16 0, i16 0, i16 0, i16 2178, i16 0, i16 0, i16 0, i16 463, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 603, i16 0, i16 3282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2510, i16 0, i16 0, i16 0, i16 2978, i16 0, i16 0, i16 0, i16 0, i16 0, i16 454, i16 3047, i16 2404, i16 0, i16 0, i16 1652, i16 0, i16 628, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1882, i16 3318, i16 2723, i16 1548, i16 2895, i16 3235, i16 3268, i16 2013, i16 0, i16 899, i16 0, i16 0, i16 2999, i16 270, i16 3031, i16 926, i16 0, i16 511, i16 0, i16 0, i16 2064, i16 271, i16 2107, i16 537, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2071, i16 1576, i16 0, i16 1014, i16 610, i16 703, i16 0, i16 89, i16 277, i16 2618, i16 2078, i16 373, i16 2562, i16 2653, i16 0, i16 20, i16 2792, i16 1006, i16 1991, i16 745, i16 0, i16 2504, i16 1920, i16 3246, i16 1187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1040, i16 538, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1639, i16 1552, i16 1656, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1084, i16 0, i16 0, i16 343, i16 947, i16 0, i16 1748, i16 0, i16 0, i16 2269, i16 1677, i16 2648, i16 0, i16 455, i16 0, i16 2224, i16 572, i16 0, i16 0, i16 0, i16 0, i16 272, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 218, i16 2385, i16 42, i16 1008, i16 2883, i16 1666, i16 3317, i16 0, i16 0, i16 0, i16 845, i16 1527, i16 0, i16 966, i16 1411, i16 2278, i16 0, i16 0, i16 0, i16 529, i16 764, i16 1103, i16 2200, i16 446, i16 1517, i16 1958, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1554, i16 2767, i16 2782, i16 2040, i16 1538, i16 0, i16 0, i16 3329, i16 0, i16 320, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2561, i16 0, i16 183, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1077, i16 1744, i16 1381, i16 0, i16 1821, i16 2017, i16 2216, i16 1487, i16 2180, i16 1772, i16 0, i16 1191, i16 0, i16 0, i16 0, i16 2697, i16 1177, i16 1167, i16 1491, i16 0, i16 0, i16 0, i16 1684, i16 1161, i16 0, i16 0, i16 261, i16 0, i16 0, i16 0, i16 0, i16 0, i16 353, i16 1482, i16 385, i16 2859, i16 2317, i16 136, i16 2314, i16 598, i16 2350, i16 2114, i16 3321, i16 177, i16 3325, i16 740, i16 1376, i16 0, i16 564, i16 3237, i16 2522, i16 0, i16 220, i16 451, i16 896, i16 985, i16 0, i16 931, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1514, i16 391, i16 2423, i16 0, i16 1547, i16 0, i16 904, i16 0, i16 3173, i16 265, i16 0, i16 1255, i16 0, i16 406, i16 3030, i16 2947, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2682, i16 0, i16 0, i16 0, i16 90, i16 1190, i16 0, i16 0, i16 0, i16 0, i16 3076, i16 3092, i16 2084, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1002, i16 3212, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3169, i16 789, i16 0, i16 3187, i16 948, i16 1953, i16 530, i16 245, i16 1845, i16 769, i16 646, i16 0, i16 670, i16 2443, i16 1563, i16 2644, i16 1508, i16 2949, i16 0, i16 0, i16 0, i16 0, i16 0, i16 330, i16 0, i16 2594, i16 2182, i16 696, i16 0, i16 0, i16 0, i16 0, i16 1906, i16 3349, i16 3372, i16 3395, i16 3415, i16 1974, i16 1997, i16 0, i16 1128, i16 2030, i16 2057, i16 2085, i16 2106, i16 2126, i16 2152, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 884, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1151, i16 0, i16 0, i16 0, i16 0, i16 907, i16 0, i16 0, i16 1164, i16 0, i16 2089, i16 328, i16 2093, i16 0, i16 1196, i16 0, i16 921, i16 0, i16 0, i16 0, i16 0, i16 929, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 910, i16 152, i16 0, i16 1679, i16 0, i16 1452, i16 0, i16 0, i16 0, i16 1992, i16 65, i16 1016, i16 259, i16 0, i16 0, i16 1174, i16 1900, i16 3026, i16 3184, i16 2125, i16 0, i16 0, i16 2720, i16 0, i16 0, i16 3373, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2737, i16 0, i16 0, i16 0, i16 1427, i16 0, i16 1750, i16 2491, i16 1564, i16 1184, i16 2996, i16 889, i16 3105, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1290, i16 0, i16 3191, i16 0, i16 2844, i16 401, i16 3231, i16 3156, i16 241, i16 1896, i16 0, i16 0, i16 0, i16 0, i16 699, i16 0, i16 1035, i16 0, i16 0, i16 2360, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1115, i16 3123, i16 1925, i16 3287, i16 0, i16 0, i16 0, i16 0, i16 1450, i16 803, i16 1267, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3280, i16 2450, i16 1696, i16 3032, i16 1377, i16 0, i16 0, i16 0, i16 568, i16 0, i16 2921, i16 2479, i16 2955, i16 2063, i16 1546, i16 1367, i16 1641, i16 0, i16 1039, i16 0, i16 0, i16 0, i16 0, i16 3264, i16 0, i16 2136, i16 0, i16 3056, i16 0, i16 0, i16 0, i16 0, i16 467, i16 0, i16 0, i16 0, i16 3041, i16 1967, i16 1980, i16 0, i16 932, i16 1066, i16 0, i16 3061, i16 3344, i16 920, i16 3399, i16 915, i16 3409, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1520, i16 3160, i16 3104, i16 973, i16 1426, i16 1893, i16 0, i16 2838, i16 0, i16 0, i16 0, i16 1137, i16 1473, i16 0, i16 1810, i16 942, i16 331, i16 0, i16 1150, i16 0, i16 43, i16 0, i16 2179, i16 1614, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 508, i16 487, i16 0, i16 0, i16 1726, i16 0, i16 734, i16 308, i16 0, i16 0, i16 2990, i16 3063, i16 2991, i16 0, i16 3011, i16 1074, i16 3210, i16 3037, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1827, i16 0, i16 897, i16 0, i16 75, i16 0, i16 0, i16 0, i16 1030, i16 462, i16 0, i16 0, i16 2414, i16 2898, i16 0, i16 0, i16 3253, i16 1468, i16 2833, i16 3273, i16 1955, i16 0, i16 127, i16 913, i16 0, i16 0, i16 507, i16 2716, i16 1126, i16 3029, i16 0, i16 3382, i16 2668, i16 0, i16 2555, i16 128, i16 0, i16 0, i16 0, i16 0, i16 1127, i16 2981, i16 1437, i16 0, i16 0, i16 0, i16 1500, i16 0, i16 0, i16 480, i16 0, i16 114, i16 0, i16 0, i16 205, i16 1655, i16 0, i16 0, i16 34, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 370, i16 500, i16 528, i16 0, i16 2690, i16 2876, i16 1477, i16 3133, i16 333, i16 0, i16 0, i16 0, i16 0, i16 1793, i16 0, i16 0, i16 1529, i16 2550, i16 1096, i16 1112, i16 1588, i16 820, i16 3267, i16 2595, i16 1977, i16 3394, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 125, i16 1589, i16 0, i16 1933, i16 847, i16 2168, i16 468, i16 0, i16 3405, i16 0, i16 0, i16 1506, i16 0, i16 0, i16 683, i16 1939, i16 2846, i16 2878, i16 2642, i16 0, i16 0, i16 2377, i16 0, i16 0, i16 2596, i16 0, i16 1532, i16 0, i16 1107, i16 0, i16 0, i16 0, i16 1919, i16 3021, i16 120, i16 0, i16 644, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2732, i16 501, i16 279, i16 2509, i16 1644, i16 1863, i16 0, i16 0, i16 395, i16 246, i16 1025, i16 626, i16 3384, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1675, i16 0, i16 2734, i16 0, i16 3140, i16 990, i16 0, i16 0, i16 2169, i16 0, i16 0, i16 1027, i16 552, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2583, i16 0, i16 3286, i16 0, i16 1212, i16 316, i16 0, i16 0, i16 2830, i16 0, i16 0, i16 0, i16 0, i16 909, i16 1229, i16 0, i16 0, i16 335, i16 0, i16 0, i16 359, i16 647, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1153, i16 0, i16 0, i16 901, i16 0, i16 0, i16 0, i16 2492, i16 2027, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3219, i16 0, i16 2744, i16 476, i16 0, i16 11, i16 243, i16 0, i16 2327, i16 3098, i16 0, i16 0, i16 0, i16 97, i16 0, i16 0, i16 0, i16 1523, i16 0, i16 0, i16 783, i16 1121, i16 3144, i16 0, i16 0, i16 0, i16 496, i16 0, i16 0, i16 0, i16 0, i16 0, i16 158, i16 0, i16 2711, i16 1954, i16 3311, i16 886, i16 239, i16 1528, i16 1343, i16 1531, i16 225, i16 0, i16 1047, i16 0, i16 2311, i16 3385, i16 607, i16 2571, i16 2130, i16 848, i16 0, i16 2750, i16 440, i16 794, i16 2102, i16 460, i16 2018, i16 2208, i16 1181, i16 0, i16 0, i16 0, i16 1755, i16 2493, i16 1397, i16 0, i16 3417, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 780, i16 206, i16 2759, i16 0, i16 0, i16 834, i16 0, i16 0, i16 672, i16 0, i16 2241, i16 1359, i16 0, i16 0, i16 584, i16 1978, i16 3009, i16 0, i16 0, i16 0, i16 1160, i16 211, i16 2666, i16 0, i16 0, i16 0, i16 0, i16 2074, i16 0, i16 0, i16 0, i16 0, i16 17, i16 2606, i16 1737, i16 202, i16 1812, i16 1007, i16 0, i16 1841, i16 1345, i16 0, i16 738, i16 1162, i16 2860, i16 1943, i16 1814, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1674, i16 2556, i16 66, i16 542, i16 1205, i16 3419, i16 0, i16 2603, i16 2500, i16 425, i16 0, i16 0, i16 278, i16 1961, i16 680, i16 0, i16 1124, i16 1758, i16 0, i16 1555, i16 1446, i16 2210, i16 1405, i16 350, i16 3028, i16 2892, i16 0, i16 0, i16 0, i16 0, i16 1826, i16 2907, i16 21, i16 558, i16 1600, i16 1932, i16 0, i16 0, i16 1779, i16 0, i16 0, i16 1295, i16 0, i16 0, i16 28, i16 1725, i16 0, i16 0, i16 0, i16 0, i16 1981, i16 0, i16 2384, i16 1942, i16 0, i16 0, i16 0, i16 0, i16 0, i16 795, i16 452, i16 0, i16 208, i16 0, i16 0, i16 3044, i16 0, i16 0, i16 0, i16 0, i16 166, i16 836, i16 340, i16 337, i16 0, i16 0, i16 1875, i16 0, i16 0, i16 1159, i16 32, i16 1879, i16 1304, i16 0, i16 414, i16 515, i16 1347, i16 365, i16 0, i16 1884, i16 1521, i16 970, i16 0, i16 0, i16 858, i16 3141, i16 0, i16 717, i16 1866, i16 0, i16 1280, i16 1791, i16 2234, i16 0, i16 1414, i16 2147, i16 0, i16 0, i16 1645, i16 0, i16 0, i16 0, i16 404, i16 0, i16 0, i16 984, i16 3122, i16 0, i16 0, i16 0, i16 145, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1803, i16 0, i16 0, i16 1651, i16 2447, i16 0, i16 0, i16 2291, i16 472, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1134, i16 838, i16 0, i16 470, i16 2650, i16 606, i16 1065, i16 0, i16 1130, i16 0, i16 0, i16 0, i16 0, i16 1374, i16 1694, i16 1572, i16 1648, i16 2386, i16 200, i16 694, i16 0, i16 2530, i16 0, i16 0, i16 1752, i16 159, i16 2351, i16 3097, i16 1410, i16 1125, i16 0, i16 0, i16 412, i16 0, i16 1556, i16 0, i16 0, i16 625, i16 0, i16 1649, i16 0, i16 2100, i16 2469, i16 0, i16 273, i16 3016, i16 0, i16 0, i16 0, i16 0, i16 0, i16 399, i16 276, i16 2646, i16 671, i16 1732, i16 1888, i16 1382, i16 57, i16 0, i16 0, i16 0, i16 0, i16 0, i16 999, i16 0, i16 0, i16 681, i16 190, i16 2424, i16 0, i16 1319, i16 1454, i16 0, i16 0, i16 539, i16 0, i16 761, i16 0, i16 2021, i16 0, i16 0, i16 2189, i16 54, i16 0, i16 0, i16 0, i16 0, i16 3073, i16 0, i16 3049, i16 1501, i16 3198, i16 0, i16 0, i16 0, i16 2802, i16 255, i16 1960, i16 0, i16 0, i16 0, i16 263, i16 0, i16 0, i16 0, i16 0, i16 3168, i16 3007, i16 784, i16 3164, i16 0, i16 0, i16 788, i16 2164, i16 1711, i16 1088, i16 1328, i16 3024, i16 0, i16 2497, i16 1825, i16 2888, i16 1003, i16 986, i16 1603, i16 0, i16 0, i16 1012, i16 2473, i16 329, i16 0, i16 0, i16 0, i16 189, i16 2254, i16 1348, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 283, i16 155, i16 0, i16 0, i16 2908, i16 1209, i16 346, i16 0, i16 2765, i16 0, i16 1957, i16 0, i16 0, i16 0, i16 828, i16 0, i16 0, i16 2807, i16 0, i16 1676, i16 0, i16 1091, i16 768, i16 0, i16 2818, i16 349, i16 1789, i16 2193, i16 0, i16 164, i16 0, i16 1171, i16 2810, i16 938, i16 1163, i16 719, i16 2554, i16 2822, i16 0, i16 1575, i16 1200, i16 0, i16 2598, i16 753, i16 2532, i16 972, i16 689, i16 0, i16 1284, i16 0, i16 0, i16 0, i16 0, i16 0, i16 64, i16 800, i16 0, i16 0, i16 0, i16 1307, i16 509, i16 106, i16 0, i16 3278, i16 819, i16 0, i16 3013, i16 1015, i16 26, i16 1631, i16 1202, i16 1117, i16 0, i16 2326, i16 0, i16 3046, i16 49, i16 0, i16 736, i16 0, i16 776, i16 1109, i16 0, i16 0, i16 3182, i16 0, i16 0, i16 0, i16 0, i16 0, i16 217, i16 510, i16 2212, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 341, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2689, i16 0, i16 0, i16 2117, i16 0, i16 0, i16 0, i16 2825, i16 1273, i16 2948, i16 0, i16 977, i16 268, i16 1266, i16 1283, i16 1369, i16 1795, i16 207, i16 1685, i16 3014, i16 497, i16 0, i16 437, i16 2505, i16 0, i16 2563, i16 0, i16 0, i16 732, i16 553, i16 1247, i16 2372, i16 0, i16 0, i16 1637, i16 3251, i16 3313, i16 1308, i16 0, i16 10, i16 2912, i16 1061, i16 131, i16 0, i16 0, i16 0, i16 2111, i16 0, i16 0, i16 0, i16 0, i16 0, i16 169, i16 0, i16 0, i16 0, i16 490, i16 642, i16 677, i16 0, i16 0, i16 180, i16 1565, i16 148, i16 569, i16 2201, i16 0, i16 315, i16 0, i16 0, i16 0, i16 1818, i16 1021, i16 0, i16 0, i16 0, i16 1244, i16 0, i16 76, i16 0, i16 3406, i16 0, i16 93, i16 0, i16 513, i16 960, i16 0, i16 859, i16 96, i16 1964, i16 0, i16 0, i16 386, i16 1629, i16 1510, i16 0, i16 2656, i16 269, i16 321, i16 0, i16 0, i16 0, i16 0, i16 3106, i16 2930, i16 1402, i16 80, i16 867, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2660, i16 368, i16 0, i16 2661, i16 2045, i16 0, i16 0, i16 0, i16 1581, i16 1544, i16 3381, i16 0, i16 2853, i16 891, i16 449, i16 2010, i16 3277, i16 0, i16 0, i16 2382, i16 2172, i16 2069, i16 2897, i16 0, i16 1773, i16 0, i16 0, i16 1291, i16 0, i16 645, i16 2135, i16 2034, i16 0, i16 0, i16 0, i16 2584, i16 772, i16 1898, i16 0, i16 0, i16 48, i16 1245, i16 1113, i16 747, i16 0, i16 0, i16 1973, i16 0, i16 0, i16 209, i16 2281, i16 1289, i16 2785, i16 0, i16 0, i16 2118, i16 176, i16 1248, i16 2037, i16 2043, i16 339, i16 3293, i16 2066, i16 86, i16 248, i16 857, i16 0, i16 0, i16 1433, i16 0, i16 0, i16 0, i16 1585, i16 2756, i16 2680, i16 1650, i16 1718, i16 0, i16 0, i16 0, i16 0, i16 0, i16 394, i16 1024, i16 1537, i16 0, i16 0, i16 3170, i16 2362, i16 40, i16 53, i16 1101, i16 0, i16 2933, i16 900, i16 1447, i16 0, i16 3179, i16 833, i16 1566, i16 1494, i16 2973, i16 0, i16 0, i16 2609, i16 0, i16 927, i16 2303, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 650, i16 0, i16 0, i16 1075, i16 235, i16 823, i16 565, i16 3079, i16 0, i16 785, i16 777, i16 186, i16 2969, i16 1860, i16 2232, i16 0, i16 873, i16 741, i16 3125, i16 3257, i16 2239, i16 0, i16 3121, i16 1242, i16 2791, i16 0, i16 0, i16 1435, i16 974, i16 1780, i16 961, i16 0, i16 0, i16 2874, i16 757, i16 0, i16 0, i16 0, i16 400, i16 1432, i16 2766, i16 3039, i16 1001, i16 1507, i16 2972, i16 0, i16 2514, i16 1512, i16 2046, i16 0, i16 0, i16 0, i16 1253, i16 0, i16 2098, i16 545, i16 2165, i16 531, i16 555, i16 0, i16 0, i16 3371, i16 0, i16 0, i16 0, i16 742, i16 0, i16 807, i16 1931, i16 0, i16 1076, i16 0, i16 2026, i16 3245, i16 0, i16 0, i16 117, i16 1467, i16 2104, i16 631, i16 0, i16 754, i16 156, i16 2258, i16 307, i16 0, i16 60, i16 0, i16 1260, i16 1371, i16 3328, i16 1870, i16 0, i16 0, i16 61, i16 1241, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 424, i16 2403, i16 2148, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1231, i16 2367, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1596, i16 3096, i16 2202, i16 363, i16 1609, i16 2710, i16 2582, i16 791, i16 2705, i16 0, i16 2543, i16 2319, i16 2558, i16 2597, i16 1, i16 2495, i16 2730, i16 0, i16 3374, i16 2485, i16 2487, i16 0, i16 581, i16 1476, i16 3359, i16 2499, i16 2719, i16 0, i16 1876, i16 3240, i16 0, i16 0, i16 2110, i16 0, i16 198, i16 1488, i16 2262, i16 140, i16 0, i16 0, i16 782, i16 3157, i16 27, i16 3136, i16 0, i16 1092, i16 0, i16 1302, i16 0, i16 1912, i16 1217, i16 0, i16 1642, i16 0, i16 2457, i16 0, i16 3400, i16 1530, i16 0, i16 0, i16 167, i16 524, i16 221, i16 0, i16 2119, i16 998, i16 461, i16 0, i16 1358, i16 1037, i16 3378, i16 3206, i16 841, i16 68, i16 1762, i16 0, i16 1756, i16 2665, i16 482, i16 1004, i16 0, i16 2501, i16 0, i16 3204, i16 918, i16 724, i16 322, i16 2401, i16 0, i16 0, i16 2412, i16 306, i16 733, i16 863, i16 0, i16 0, i16 2904, i16 0, i16 0, i16 1979, i16 0, i16 1985, i16 556, i16 3312, i16 2987, i16 3045, i16 643, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3128, i16 1729, i16 0, i16 2970, i16 161, i16 0, i16 0, i16 0, i16 0, i16 602, i16 0, i16 1682, i16 0, i16 2523, i16 0, i16 92, i16 0, i16 0, i16 583, i16 0, i16 0, i16 697, i16 1263, i16 253, i16 504, i16 0, i16 0, i16 0, i16 0, i16 1636, i16 56, i16 0, i16 0, i16 2617, i16 0, i16 0, i16 0, i16 0, i16 2960, i16 2884, i16 0, i16 1999, i16 438, i16 0, i16 0, i16 0, i16 0, i16 1116, i16 2929, i16 2605, i16 0, i16 2323, i16 774, i16 1032, i16 0, i16 2015, i16 2336, i16 0, i16 520, i16 0, i16 2016, i16 1634, i16 1182, i16 1362, i16 850, i16 2906, i16 596, i16 3274, i16 0, i16 199, i16 2242, i16 0, i16 1934, i16 0, i16 2635, i16 0, i16 1746, i16 2915, i16 0, i16 1375, i16 1118, i16 3004, i16 0, i16 477, i16 0, i16 0, i16 0, i16 0, i16 715, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3185, i16 0, i16 0, i16 0, i16 3248, i16 2541, i16 2340, i16 3258, i16 24, i16 2230, i16 1654, i16 0, i16 3421, i16 1923, i16 2565, i16 2280, i16 0, i16 3167, i16 3149, i16 895, i16 3306, i16 994, i16 2009, i16 1543, i16 2273, i16 0, i16 14, i16 814, i16 540, i16 2243, i16 1384, i16 969, i16 0, i16 2914, i16 1698, i16 0, i16 0, i16 995, i16 1119, i16 2474, i16 2855, i16 498, i16 0, i16 0, i16 2312, i16 3331, i16 2002, i16 2324, i16 0, i16 111, i16 1281, i16 410, i16 2158, i16 1404, i16 708, i16 2625, i16 0, i16 0, i16 0, i16 82, i16 1965, i16 486, i16 3228, i16 661, i16 0, i16 2961, i16 0, i16 197, i16 2842, i16 2060, i16 517, i16 1518, i16 0, i16 0, i16 1853, i16 2257, i16 3392, i16 2419, i16 251, i16 975, i16 0, i16 883, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1423, i16 0, i16 2521, i16 0, i16 2305, i16 0, i16 3380, i16 0, i16 0, i16 1054, i16 1108, i16 1842, i16 0, i16 943, i16 811, i16 2963, i16 0, i16 0, i16 0, i16 2455, i16 0, i16 1511, i16 0, i16 0, i16 1907, i16 3408, i16 2431, i16 516, i16 0, i16 238, i16 2124, i16 1483, i16 0, i16 825, i16 2271, i16 0, i16 1475, i16 1297, i16 0, i16 2001, i16 1346, i16 0, i16 0, i16 0, i16 0, i16 1387, i16 0, i16 0, i16 2629, i16 0, i16 614, i16 1274, i16 839, i16 3154, i16 1005, i16 0, i16 3189, i16 1136, i16 1000, i16 0, i16 2727, i16 2848, i16 3, i16 0, i16 112, i16 1234, i16 1459, i16 770, i16 0, i16 1828, i16 0, i16 2065, i16 0, i16 1106, i16 2444, i16 0, i16 830, i16 1457, i16 1764, i16 2604, i16 3057, i16 1098, i16 1223, i16 0, i16 362, i16 1460, i16 1840, i16 0, i16 1913, i16 580, i16 829, i16 958, i16 0, i16 3337, i16 0, i16 1833, i16 2778, i16 387, i16 2865, i16 310, i16 193, i16 3403, i16 0, i16 0, i16 0, i16 2614, i16 466, i16 0, i16 0, i16 2428, i16 1646, i16 0, i16 0, i16 0, i16 0, i16 1917, i16 0, i16 1908, i16 1859, i16 0, i16 1660, i16 804, i16 1592, i16 0, i16 3094, i16 3216, i16 2295, i16 33, i16 443, i16 3358, i16 0, i16 1394, i16 250, i16 213, i16 0, i16 1971, i16 3080, i16 1354, i16 3360, i16 0, i16 1265, i16 1584, i16 2053, i16 512, i16 0, i16 2928, i16 409, i16 2225, i16 779, i16 1186, i16 0, i16 0, i16 381, i16 0, i16 0, i16 2369, i16 0, i16 3368, i16 0, i16 0, i16 1479, i16 924, i16 0, i16 0, i16 599, i16 3139, i16 0, i16 1492, i16 2101, i16 0, i16 0, i16 0, i16 0, i16 0, i16 184, i16 0, i16 2197, i16 651, i16 0, i16 601, i16 0, i16 0, i16 29, i16 0, i16 1149, i16 3302, i16 1156, i16 3111, i16 1269, i16 1298, i16 0, i16 2073, i16 0, i16 615, i16 262, i16 0, i16 0, i16 1349, i16 118, i16 3159, i16 3178, i16 3316, i16 1252, i16 1277, i16 3301, i16 493, i16 3119, i16 2977, i16 842, i16 2399, i16 318, i16 2940, i16 2123, i16 0, i16 1620, i16 0, i16 2951, i16 0, i16 0, i16 0, i16 0, i16 2453, i16 0, i16 0, i16 1323, i16 288, i16 0, i16 0, i16 1615, i16 2715, i16 0, i16 0, i16 2691, i16 0, i16 0, i16 1388, i16 0, i16 280, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1250, i16 0, i16 392, i16 275, i16 0, i16 0, i16 0, i16 0, i16 1926, i16 3008, i16 0, i16 620, i16 0, i16 0, i16 0, i16 2971, i16 3401, i16 0, i16 0, i16 0, i16 1314, i16 608, i16 944, i16 0, i16 1534, i16 1131, i16 1430, i16 2835, i16 525, i16 1559, i16 3115, i16 0, i16 1672, i16 0, i16 3232, i16 0, i16 0, i16 382, i16 0, i16 3377, i16 352, i16 2301, i16 1207, i16 0, i16 1611, i16 0, i16 0, i16 260, i16 0, i16 94, i16 0, i16 2795, i16 1197, i16 0, i16 3402, i16 45, i16 0, i16 1816, i16 2185, i16 1216, i16 2678, i16 2866, i16 0, i16 2677, i16 0, i16 0, i16 687, i16 1342, i16 2420, i16 2163, i16 2142, i16 0, i16 876, i16 2989, i16 1172, i16 3393, i16 1550, i16 2506, i16 3017, i16 879, i16 0, i16 1169, i16 2729, i16 1817, i16 323, i16 0, i16 0, i16 1562, i16 1436, i16 0, i16 3397, i16 2616, i16 922, i16 44, i16 2966, i16 3135, i16 0, i16 0, i16 1713, i16 0, i16 491, i16 0, i16 0, i16 0, i16 2024, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2943, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3364, i16 3355, i16 2004, i16 2105, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3262, i16 0, i16 1082, i16 2663, i16 0, i16 0, i16 2379, i16 0, i16 0, i16 0, i16 2, i16 1330, i16 1747, i16 0, i16 731, i16 0, i16 2639, i16 0, i16 393, i16 18, i16 722, i16 0, i16 813, i16 223, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3353, i16 0, i16 1504, i16 0, i16 3099, i16 30, i16 1574, i16 2218, i16 566, i16 2621, i16 1989, i16 2917, i16 0, i16 3305, i16 0, i16 1398, i16 2651, i16 843, i16 2159, i16 317, i16 1335, i16 640, i16 865, i16 62, i16 2937, i16 1385, i16 919, i16 1034, i16 1233, i16 1850, i16 792, i16 1972, i16 987, i16 0, i16 2529, i16 1717, i16 364, i16 1095, i16 2696, i16 1142, i16 5, i16 1029, i16 0, i16 0, i16 1962, i16 1595, i16 0, i16 1145, i16 637, i16 1662, i16 0, i16 3386, i16 925, i16 2076, i16 2672, i16 0, i16 338, i16 0, i16 1198, i16 0, i16 1846, i16 0, i16 0, i16 366, i16 2622, i16 0, i16 739, i16 869, i16 799, i16 1480, i16 0, i16 0, i16 1721, i16 0, i16 1542, i16 160, i16 0, i16 1195, i16 1891, i16 2526, i16 3236, i16 502, i16 1697, i16 0, i16 1577, i16 514, i16 2373, i16 3289, i16 0, i16 478, i16 0, i16 0, i16 0, i16 2591, i16 2383, i16 660, i16 2297, i16 0, i16 234, i16 267, i16 124, i16 0, i16 2077, i16 534, i16 1838, i16 1568, i16 0, i16 0, i16 1619, i16 1873, i16 2033, i16 2484, i16 0, i16 2964, i16 2787, i16 1147, i16 0, i16 721, i16 0, i16 0, i16 0, i16 2815, i16 3086, i16 1622, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3336, i16 0, i16 3239, i16 1796, i16 0, i16 2976, i16 139, i16 1176, i16 0, i16 888, i16 2919, i16 3196, i16 1440, i16 2044, i16 574, i16 1754, i16 0, i16 586, i16 1760, i16 1087, i16 2331, i16 544, i16 0, i16 3279, i16 0, i16 0, i16 0, i16 1602, i16 2985, i16 1366, i16 91, i16 894, i16 523, i16 911, i16 2345, i16 2669, i16 3067, i16 3292, i16 2638, i16 806, i16 1341, i16 2986, i16 3363, i16 3227, i16 0, i16 659, i16 868, i16 0, i16 2794, i16 2296, i16 713, i16 1832, i16 0, i16 3217, i16 3304, i16 1811, i16 231, i16 2657, i16 0, i16 0, i16 3127, i16 852, i16 358, i16 0, i16 2318, i16 1570, i16 817, i16 3069, i16 3420, i16 447, i16 2520, i16 638, i16 2299, i16 0, i16 2693, i16 1043, i16 0, i16 1140, i16 1591, i16 1837, i16 236, i16 1355, i16 0, i16 2763, i16 0, i16 1022, i16 2422, i16 0, i16 2138, i16 0, i16 179, i16 0, i16 0, i16 1100, i16 0, i16 1326, i16 2574, i16 2211, i16 1702, i16 0, i16 1089, i16 0, i16 0, i16 377, i16 1687, i16 0, i16 793, i16 0, i16 667, i16 126, i16 934, i16 2300, i16 2079, i16 3370, i16 2233, i16 2862, i16 810, i16 0, i16 0, i16 3263, i16 756, i16 1809, i16 2714, i16 2518, i16 1422, i16 1665, i16 2722, i16 3194, i16 1296, i16 1412, i16 0, i16 138, i16 101, i16 2353, i16 0, i16 1179, i16 1225, i16 458, i16 3413, i16 1579, i16 2090, i16 1561, i16 0, i16 0, i16 0, i16 2809, i16 1497, i16 1389, i16 1019, i16 1329, i16 2421, i16 396, i16 2695, i16 6, i16 2095, i16 950, i16 489, i16 0, i16 1661, i16 0, i16 1808, i16 2171, i16 2511, i16 0, i16 1086, i16 1219, i16 2006, i16 25, i16 0, i16 0, i16 1201, i16 522, i16 0, i16 0, i16 618, i16 0, i16 0, i16 2235, i16 880, i16 0, i16 0, i16 334, i16 1305, i16 1705, i16 2204, i16 1858, i16 1013, i16 1306, i16 0, i16 1085, i16 1533, i16 87, i16 2067, i16 1502, i16 2290, i16 1799, i16 0, i16 3146, i16 1794, i16 3346, i16 2192, i16 0, i16 0, i16 653, i16 1429, i16 887, i16 314, i16 2041, i16 2436, i16 875, i16 1331, i16 1481, i16 0, i16 403, i16 0, i16 0, i16 1910, i16 0, i16 1155, i16 0, i16 2072, i16 3266, i16 1165, i16 1857, i16 1557, i16 1801, i16 2496, i16 3131, i16 2926, i16 2643, i16 1582, i16 0, i16 0, i16 0, i16 122, i16 686, i16 168, i16 0, i16 2398, i16 2749, i16 1553, i16 2413, i16 1541, i16 2440, i16 134, i16 1578, i16 247, i16 0, i16 1193, i16 1321, i16 2575, i16 570, i16 2894, i16 0, i16 0, i16 0, i16 2581, i16 2636, i16 2270, i16 12, i16 1424, i16 1188, i16 1383, i16 0, i16 485, i16 700, i16 3254, i16 149, i16 2922, i16 1627, i16 2545, i16 0, i16 1693, i16 0, i16 953, i16 0, i16 0, i16 0, i16 0, i16 600, i16 1138, i16 0, i16 2059, i16 1525, i16 0, i16 1657, i16 0, i16 1727, i16 2841, i16 532, i16 3176, i16 993, i16 1930, i16 192, i16 0, i16 1740, i16 0, i16 3192, i16 1927, i16 802, i16 2849, i16 1064, i16 2109, i16 0, i16 324, i16 144, i16 881, i16 2133, i16 0, i16 2610, i16 171, i16 1129, i16 1378, i16 0, i16 1835, i16 435, i16 760, i16 1324, i16 0, i16 1251, i16 3100, i16 0, i16 835, i16 0, i16 3310, i16 636, i16 594, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2333, i16 1632, i16 3379, i16 3018, i16 3285, i16 388, i16 2748, i16 0, i16 0, i16 0, i16 0, i16 1905, i16 3354, i16 0, i16 2014, i16 0, i16 0, i16 763, i16 0, i16 2011, i16 0, i16 3033, i16 3223, i16 1009, i16 0, i16 1287, i16 292, i16 413, i16 0, i16 0, i16 0, i16 0, i16 31, i16 2143, i16 2128, i16 1878, i16 956, i16 822, i16 2430, i16 311, i16 0, i16 0, i16 2313, i16 1256, i16 2956, i16 0, i16 224, i16 0, i16 2965, i16 109, i16 634, i16 1431, i16 2465, i16 0, i16 0, i16 0, i16 1775, i16 2462, i16 1090, i16 778, i16 3271, i16 1819, i16 0, i16 2645, i16 291, i16 0, i16 1904, i16 0, i16 182, i16 536, i16 0, i16 0, i16 1203, i16 827, i16 294, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 8, i16 2005, i16 15, i16 2031, i16 3269, i16 3297, i16 3319, i16 0, i16 3213, i16 3241, i16 3259, i16 0, i16 295, i16 133, i16 2811, i16 1707, i16 1915, i16 0, i16 154, i16 174, i16 3416, i16 2448, i16 1144, i16 0, i16 0, i16 0, i16 0, i16 890, i16 1865, i16 1368, i16 1496, i16 1868, i16 1050, i16 1823, i16 2389, i16 1264, i16 752, i16 2456, i16 0, i16 0, i16 356, i16 1336, i16 2116, i16 978, i16 1831, i16 0, i16 2068, i16 1215, i16 705, i16 1044, i16 0, i16 702, i16 0, i16 0, i16 129, i16 0, i16 0, i16 2364, i16 0, i16 0, i16 1312, i16 0, i16 0, i16 16, i16 0, i16 3244, i16 1133, i16 3078, i16 1139, i16 0, i16 2478, i16 0, i16 422, i16 2573, i16 2007, i16 1097, i16 812, i16 0, i16 0, i16 0, i16 665, i16 0, i16 0, i16 0, i16 0, i16 1736, i16 0, i16 2157, i16 549, i16 3165, i16 0, i16 0, i16 0, i16 1271, i16 0, i16 219, i16 0, i16 0, i16 0, i16 1783, i16 0, i16 0, i16 397, i16 3383, i16 0, i16 0, i16 0, i16 2279, i16 3375, i16 1052, i16 0, i16 0, i16 1712, i16 546, i16 1798, i16 3309, i16 0, i16 380, i16 0, i16 0, i16 3038, i16 0, i16 1621, i16 1122, i16 711, i16 3222, i16 2742, i16 0, i16 1701, i16 1053, i16 0, i16 3327, i16 1922, i16 0, i16 1800, i16 1731, i16 0, i16 2516, i16 655, i16 0, i16 2358, i16 2393, i16 2464, i16 2494, i16 2580, i16 2679, i16 2743, i16 2788, i16 2824, i16 2858, i16 2935, i16 2982, i16 3101, i16 3153, i16 3276, i16 2438, i16 2488, i16 2757, i16 2052, i16 2144, i16 2286, i16 2337, i16 2400, i16 2452, i16 2738, i16 2779, i16 2845, i16 2887, i16 3020, i16 3134, i16 3188, i16 3102, i16 1847, i16 2733, i16 2758, i16 1560, i16 1535, i16 824, i16 1822, i16 0, i16 0, i16 2816, i16 2380, i16 0, i16 1228, i16 0, i16 2366, i16 2378, i16 1968, i16 1599, i16 2042, i16 1318, i16 1338, i16 1569, i16 300, i16 0, i16 2873, i16 2320, i16 0, i16 2893, i16 1706, i16 0, i16 1916, i16 0, i16 3129, i16 590, i16 0, i16 0, i16 2836, i16 0, i16 37, i16 0, i16 0, i16 0, i16 551, i16 3155, i16 3177, i16 1951, i16 1056, i16 1855, i16 3247, i16 562, i16 3208, i16 3294, i16 862, i16 0, i16 3055, i16 1453, i16 1626, i16 296, i16 1871, i16 0, i16 1069, i16 0, i16 1767, i16 1776, i16 58, i16 2992, i16 611, i16 2607, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1941, i16 2347, i16 1813, i16 0, i16 2203, i16 1148, i16 0, i16 0, i16 1667, i16 0, i16 0, i16 162, i16 108, i16 0, i16 1211, i16 1063, i16 83, i16 2249, i16 0, i16 1288, i16 832, i16 0, i16 826, i16 88, i16 1434, i16 0, i16 0, i16 0, i16 2087, i16 2773, i16 1852, i16 1921, i16 2220, i16 0, i16 2627, i16 1333, i16 1120, i16 1902, i16 0, i16 1079, i16 1073, i16 305, i16 0, i16 3074, i16 2755, i16 2628, i16 2244, i16 547, i16 0, i16 527, i16 0, i16 428, i16 0, i16 0, i16 3130, i16 3158, i16 3180, i16 3200, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1601, i16 2058, i16 1332, i16 0, i16 0, i16 242, i16 0, i16 0, i16 0, i16 0, i16 3335, i16 374, i16 1877, i16 2903, i16 2726, i16 0, i16 2131, i16 325, i16 1807, i16 378, i16 1606, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 429, i16 172, i16 201, i16 0, i16 585, i16 0, i16 0, i16 2913, i16 351, i16 698, i16 2264, i16 2187, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1104, i16 1114, i16 2003, i16 2029, i16 2056, i16 2083, i16 2103, i16 2120, i16 2145, i16 2173, i16 2195, i16 2228, i16 2256, i16 2277, i16 2302, i16 2328, i16 2346, i16 2363, i16 2388, i16 2408, i16 2429, i16 2454, i16 2472, i16 1406, i16 2507, i16 2533, i16 2553, i16 2578, i16 2601, i16 2623, i16 2640, i16 2667, i16 597, i16 0, i16 0, i16 1363, i16 0, i16 0, i16 0, i16 244, i16 474, i16 0, i16 0, i16 0, i16 229, i16 0, i16 481, i16 0, i16 0, i16 2531, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2275, i16 0, i16 0, i16 2357, i16 548, i16 0, i16 1670, i16 701, i16 2901, i16 3404, i16 0, i16 1067, i16 2008, i16 2577, i16 1844, i16 1659, i16 2564, i16 0, i16 2905, i16 3220, i16 442, i16 0, i16 1407, i16 0, i16 1416, i16 0, i16 1663, i16 1036, i16 0, i16 0, i16 2548, i16 3088, i16 0, i16 473, i16 0, i16 2486, i16 2659, i16 3143, i16 0, i16 1861, i16 1881, i16 0, i16 629, i16 840, i16 2519, i16 3068, i16 2012, i16 0, i16 0, i16 2149, i16 1739, i16 3303, i16 949, i16 577, i16 725, i16 658, i16 146, i16 67, i16 2916, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 945, i16 0, i16 0, i16 505, i16 469, i16 3166, i16 3209, i16 1883, i16 0, i16 0, i16 0, i16 1540, i16 0, i16 3332, i16 3072, i16 2593, i16 1610, i16 1257, i16 0, i16 0, i16 578, i16 0, i16 2394, i16 1766, i16 959, i16 1218, i16 0, i16 0, i16 0, i16 632, i16 0, i16 623, i16 1068, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 348, i16 1624, i16 1315, i16 0, i16 878, i16 3095, i16 116, i16 2426, i16 0, i16 737, i16 1466, i16 13, i16 212, i16 0, i16 3315, i16 831, i16 0, i16 2670, i16 1635, i16 1612, i16 0, i16 0, i16 0, i16 1357, i16 709, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1630, i16 2934, i16 488, i16 157, i16 1327, i16 2054, i16 2407, i16 450, i16 0, i16 981, i16 1135, i16 0, i16 1918, i16 1189, i16 729, i16 2427, i16 0, i16 0, i16 2739, i16 3291, i16 0, i16 675, i16 1834, i16 0, i16 1080, i16 589, i16 1415, i16 2537, i16 2406, i16 119, i16 1393, i16 2387, i16 2910, i16 1897, i16 0, i16 1310, i16 1690, i16 0, i16 2988, i16 0, i16 0, i16 0, i16 0, i16 3322, i16 1048, i16 1399, i16 0, i16 1023, i16 0, i16 1361, i16 1617, i16 375, i16 1699, i16 1778, i16 914, i16 1033, i16 0, i16 1334, i16 0, i16 1279, i16 0, i16 0, i16 1952, i16 210, i16 354, i16 0, i16 1738, i16 2881, i16 2283, i16 0, i16 2451, i16 861, i16 3006, i16 0, i16 2800, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1313, i16 1417, i16 2287, i16 1703, i16 2137, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 866, i16 622, i16 1316, i16 1408, i16 1820, i16 898, i16 1728, i16 2600, i16 1320, i16 2332, i16 2813, i16 2630, i16 0, i16 0, i16 427, i16 0, i16 69, i16 459, i16 3043, i16 445, i16 0, i16 1640, i16 706, i16 3050, i16 0, i16 1658, i16 0, i16 0, i16 0, i16 2288, i16 3051, i16 0, i16 1638, i16 402, i16 0, i16 2886, i16 1350, i16 74, i16 0, i16 0, i16 105, i16 266, i16 1214, i16 0, i16 0, i16 0, i16 723, i16 2198, i16 1895, i16 1356, i16 893, i16 535, i16 2248, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2209, i16 3391, i16 0, i16 1254, i16 72, i16 0, i16 2918, i16 3376, i16 2631, i16 1889, i16 2329, i16 2112, i16 2967, i16 0, i16 2831, i16 0, i16 433, i16 2626, i16 2664, i16 1403, i16 1604, i16 0, i16 656, i16 2227, i16 0, i16 0, i16 3181, i16 0, i16 0, i16 933, i16 1146, i16 750, i16 2439, i16 503, i16 1715, i16 885, i16 1784, i16 432, i16 2153, i16 2176, i16 2206, i16 2237, i16 2265, i16 2284, i16 2308, i16 2121, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3054, i16 3082, i16 3103, i16 3126, i16 3151, i16 3171, i16 3193, i16 36, i16 877, i16 0, i16 758, i16 0, i16 1301, i16 147, i16 1262, i16 1072, i16 1616, i16 0, i16 0, i16 0, i16 0, i16 1774, i16 2051, i16 1567, i16 0, i16 2435, i16 2483, i16 0, i16 905, i16 0, i16 2397, i16 256, i16 1851, i16 0, i16 303, i16 0, i16 0, i16 0, i16 0, i16 0, i16 882, i16 0, i16 0, i16 0, i16 1094, i16 1733, i16 1409, i16 0, i16 0, i16 464, i16 0, i16 1880, i16 707, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1243, i16 1963, i16 767, i16 0, i16 0, i16 0, i16 992, i16 0, i16 1571, i16 3334, i16 0, i16 1719, i16 3036, i16 0, i16 2676, i16 624, i16 728, i16 1261, i16 798, i16 1493, i16 0, i16 0, i16 2702, i16 1526, i16 746, i16 3183, i16 0, i16 1046, i16 0, i16 1462, i16 0, i16 2576, i16 1293, i16 3333, i16 0, i16 0, i16 0, i16 3324, i16 1549, i16 0, i16 0, i16 0, i16 2681, i16 1041, i16 2798, i16 1516, i16 1143, i16 1949, i16 1598, i16 390, i16 1236, i16 1448, i16 2829, i16 2432, i16 298, i16 304, i16 2980, i16 336, i16 0, i16 284, i16 0, i16 533, i16 0, i16 0, i16 0, i16 2741, i16 3407, i16 0, i16 2760, i16 1224, i16 100, i16 0, i16 151, i16 0, i16 2885, i16 0, i16 3272, i16 3398, i16 2167, i16 0, i16 0, i16 2175, i16 2184, i16 2196, i16 2191, i16 2205, i16 2307, i16 2222, i16 2322, i16 2214, i16 2343, i16 2229, i16 2348, i16 2236, i16 2490, i16 2508, i16 2534, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 376, i16 3202, i16 1158, i16 0, i16 0, i16 712, i16 1994, i16 906, i16 0, i16 0, i16 0, i16 751, i16 692, i16 1372, i16 936, i16 2146, i16 1829, i16 1474, i16 357, i16 1618, i16 930, i16 2381, i16 2392, i16 0, i16 0, i16 0, i16 46, i16 3256, i16 0, i16 0, i16 0, i16 0, i16 2425, i16 519, i16 0, i16 2466, i16 3340, i16 0, i16 0, i16 0, i16 0, i16 2559, i16 3233, i16 2995, i16 281, i16 0, i16 2685, i16 1680, i16 3175, i16 2402, i16 2752, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1770, i16 1105, i16 3059, i16 1340, i16 801, i16 0, i16 521, i16 0, i16 2170, i16 0, i16 0, i16 1154, i16 0, i16 0, i16 1583, i16 22, i16 2652, i16 3211, i16 0, i16 0, i16 0, i16 0, i16 361, i16 0, i16 928, i16 0, i16 0, i16 3089, i16 557, i16 815, i16 0, i16 0, i16 1325, i16 2950, i16 1110, i16 2310, i16 2113, i16 0, i16 2115, i16 2330, i16 635, i16 2418, i16 967, i16 0, i16 230, i16 666, i16 1709, i16 0, i16 0, i16 1456, i16 2370, i16 3060, i16 0, i16 0, i16 1392, i16 851, i16 342, i16 805, i16 1854, i16 0, i16 2433, i16 3281, i16 1787, i16 2535, i16 0, i16 576, i16 2700, i16 1987, i16 0, i16 0, i16 2549, i16 407, i16 2174, i16 2957, i16 0, i16 0, i16 0, i16 0, i16 1993, i16 1413, i16 175, i16 0, i16 912, i16 2161, i16 0, i16 976, i16 2039, i16 649, i16 0, i16 1239, i16 2979, i16 1111, i16 1849, i16 1078, i16 0, i16 662, i16 668, i16 964, i16 0, i16 3314, i16 595, i16 3120, i16 3152, i16 592, i16 2687, i16 0, i16 2804, i16 2828, i16 2847, i16 2796, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1465, i16 2612, i16 2633, i16 2655, i16 2675, i16 2699, i16 2724, i16 2747, i16 2774, i16 2799, i16 2821, i16 2840, i16 2864, i16 2882, i16 2899, i16 2925, i16 641, i16 781, i16 0, i16 1996, i16 1613, i16 856, i16 1929, i16 1924, i16 0, i16 1781, i16 240, i16 1192, i16 35, i16 787, i16 3197, i16 1593, i16 3081, i16 2927, i16 0, i16 2686, i16 0, i16 1235, i16 0, i16 104, i16 1505, i16 0, i16 0, i16 0, i16 579, i16 3412, i16 2998, i16 1990, i16 2945, i16 2975, i16 2994, i16 3015, i16 3035, i16 0, i16 0, i16 0, i16 1742, i16 3070, i16 3093, i16 3116, i16 3137, i16 3162, i16 3186, i16 3203, i16 3226, i16 3250, i16 3270, i16 3298, i16 3320, i16 3345, i16 3366, i16 3390, i16 3411, i16 1976, i16 1998, i16 2025, i16 2049, i16 2075, i16 0, i16 0, i16 142, i16 0, i16 1213, i16 0, i16 560, i16 1166, i16 3001, i16 290, i16 0, i16 1536, i16 0, i16 633, i16 1309, i16 0, i16 1856, i16 1026, i16 0, i16 0, i16 591, i16 0, i16 0, i16 773, i16 0, i16 571, i16 2590, i16 110, i16 0, i16 0, i16 0, i16 0, i16 41, i16 621, i16 3218, i16 312, i16 3150, i16 431, i16 1894, i16 0, i16 963, i16 1790, i16 2952, i16 1558, i16 3199, i16 3142, i16 0, i16 2889, i16 0, i16 2761, i16 0, i16 0, i16 0, i16 0, i16 892, i16 0, i16 0, i16 0, i16 2869, i16 2877, i16 955, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1688, i16 313, i16 1710, i16 0, i16 1647, i16 0, i16 0, i16 0, i16 0, i16 0, i16 150, i16 383, i16 0, i16 0, i16 957, i16 1268, i16 0, i16 0, i16 1199, i16 3255, i16 2586, i16 1183, i16 0, i16 0, i16 0, i16 405, i16 2764, i16 818, i16 543, i16 293, i16 1017, i16 4, i16 3225, i16 0, i16 1984, i16 0, i16 0, i16 0, i16 3091, i16 2000, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 639, i16 0, i16 1428, i16 0, i16 444, i16 0, i16 718, i16 2251, i16 0, i16 0, i16 2306, i16 2181, i16 0, i16 2458, i16 0, i16 3083, i16 99, i16 0, i16 0, i16 479, i16 2260, i16 3064, i16 0, i16 3343, i16 0, i16 103, i16 1210, i16 727, i16 1469, i16 3339, i16 582, i16 0, i16 1956, i16 0, i16 0, i16 2223, i16 63, i16 203, i16 1208, i16 2141, i16 1238, i16 344, i16 2415, i16 796, i16 3323, i16 1692, i16 3117, i16 0, i16 0, i16 1653, i16 1175, i16 2446, i16 448, i16 327, i16 1928, i16 2706, i16 2713, i16 2826, i16 421, i16 2832, i16 0, i16 0, i16 113, i16 0, i16 2108, i16 1607, i16 2217, i16 1839, i16 2023, i16 679, i16 1275, i16 766, i16 252, i16 2789, i16 1391, i16 2872, i16 274, i16 1438, i16 0, i16 0, i16 1396, i16 1625, i16 0, i16 0, i16 0, i16 0, i16 561, i16 616, i16 790, i16 1691, i16 0, i16 1628, i16 1443, i16 3221, i16 0, i16 1700, i16 0, i16 1495, i16 1353, i16 2437, i16 59, i16 0, i16 2539, i16 1940, i16 0, i16 0, i16 0, i16 254, i16 0, i16 1439, i16 988, i16 369, i16 102, i16 195, i16 682, i16 0, i16 0, i16 1765, i16 0, i16 1704, i16 0, i16 704, i16 0, i16 554, i16 1222, i16 2784, i16 0, i16 0, i16 0, i16 559, i16 0, i16 0, i16 0, i16 302, i16 0, i16 0, i16 0, i16 0, i16 3284, i16 3234, i16 0, i16 2463, i16 3071, i16 1802, i16 1232, i16 0, i16 264, i16 0, i16 2868, i16 908, i16 0, i16 0, i16 0, i16 178, i16 0, i16 228, i16 0, i16 871, i16 0, i16 0, i16 0, i16 257, i16 0, i16 673, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 952, i16 416, i16 0, i16 419, i16 1936, i16 1503, i16 0, i16 319, i16 0, i16 0, i16 3342, i16 0, i16 0, i16 3174, i16 735, i16 39, i16 0, i16 1062, i16 573, i16 1594, i16 1168, i16 0, i16 962, i16 1441, i16 1173, i16 3084, i16 864, i16 0, i16 1970, i16 227, i16 3114, i16 0, i16 0, i16 1753, i16 1761, i16 1194, i16 0, i16 0, i16 0, i16 2094, i16 2122, i16 2154, i16 2177, i16 2207, i16 2238, i16 2266, i16 2285, i16 2309, i16 2335, i16 2355, i16 2376, i16 2396, i16 2417, i16 2442, i16 2468, i16 1292, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1451, i16 2589, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1401, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2475, i16 1869, i16 0, i16 0, i16 1317, i16 1059, i16 2777, i16 2728, i16 0, i16 0, i16 0, i16 0, i16 417, i16 1081, i16 1911, i16 0, i16 0, i16 0, i16 0, i16 3307, i16 1038, i16 0, i16 0, i16 0, i16 0, i16 2099, i16 575, i16 0, i16 0, i16 0, i16 2896, i16 2637, i16 3243, i16 0, i16 1141, i16 123, i16 1498, i16 1988, i16 2513, i16 0, i16 55, i16 2772, i16 2356, i16 1373, i16 1605, i16 0, i16 287, i16 3052, i16 0, i16 355, i16 765, i16 0, i16 0, i16 2781, i16 0, i16 2797, i16 1573, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 941, i16 1909, i16 2552, i16 0, i16 0, i16 0, i16 2276, i16 0, i16 38, i16 0, i16 1874, i16 50, i16 0, i16 0, i16 1380, i16 684, i16 0, i16 0, i16 411, i16 755, i16 1983, i16 2613, i16 0, i16 0, i16 0, i16 1478, i16 137, i16 0, i16 2544, i16 0, i16 2219, i16 332, i16 1455, i16 3350, i16 2325, i16 1294, i16 1946, i16 1028, i16 2062, i16 1445, i16 0, i16 0, i16 0, i16 797, i16 0, i16 1395, i16 0, i16 441, i16 499, i16 2823, i16 1890, i16 495, i16 1490, i16 3148, i16 1071, i16 1716, i16 3295, i16 0, i16 0, i16 937, i16 1797, i16 1246, i16 3205, i16 0, i16 946, i16 0, i16 2731, i16 0, i16 285, i16 0, i16 0, i16 0, i16 2459, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 384, i16 204, i16 2735, i16 716, i16 0, i16 0, i16 0, i16 153, i16 3347, i16 0, i16 0, i16 0, i16 2489, i16 2482, i16 1419, i16 2703, i16 2226, i16 1471, i16 0, i16 1418, i16 951, i16 0, i16 0, i16 0, i16 0, i16 232, i16 0, i16 0, i16 3326, i16 0, i16 0, i16 1470, i16 0, i16 0, i16 494, i16 0, i16 107, i16 2409, i16 1769, i16 1058, i16 3261, i16 0, i16 3147, i16 1285, i16 0, i16 1351, i16 3362, i16 0, i16 1204, i16 695, i16 0, i16 360, i16 1539, i16 2634, i16 0, i16 0, i16 2250, i16 0, i16 95, i16 3034, i16 1815, i16 0, i16 2993, i16 52, i16 1722, i16 0, i16 0, i16 0, i16 1276, i16 3172, i16 2199, i16 808, i16 786, i16 2361, i16 0, i16 1458, i16 2215, i16 0, i16 483, i16 3230, i16 1206, i16 2183, i16 2213, i16 2245, i16 2268, i16 2289, i16 2315, i16 2339, i16 2354, i16 2375, i16 2395, i16 2416, i16 2441, i16 2467, i16 2477, i16 2753, i16 2517, i16 2547, i16 2566, i16 2587, i16 2611, i16 2632, i16 2654, i16 2674, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 439, i16 2127, i16 2746, i16 3195, i16 2974, i16 0, i16 9, i16 1157, i16 1986, i16 1055, i16 1178, i16 0, i16 436, i16 0, i16 3388, i16 3048, i16 654, i16 0, i16 3058, i16 0, i16 1545, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2515, i16 0, i16 1221, i16 1099, i16 187, i16 2092, i16 1463, i16 2647, i16 2803, i16 0, i16 0, i16 0, i16 0, i16 1031, i16 2658, i16 0, i16 1836, i16 0, i16 0, i16 47, i16 2879, i16 3019, i16 2166, i16 0, i16 0, i16 1843, i16 0, i16 0, i16 398, i16 0, i16 1848, i16 874, i16 297, i16 0, i16 0, i16 0, i16 1686, i16 613, i16 3002, i16 2931, i16 2867, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2754, i16 2503, i16 2391, i16 3065, i16 3110, i16 3138, i16 3163, i16 3190, i16 3229, i16 3288, i16 3338, i16 3357, i16 2036, i16 2070, i16 2097, i16 2129, i16 2156, i16 2186, i16 2247, i16 2274, i16 2298, i16 2344, i16 2365, i16 2019, i16 2801, i16 2684, i16 2405, i16 3341, i16 3027, i16 3348, i16 3422, i16 2091, i16 1485, i16 0, i16 3010, i16 902, i16 0, i16 0, i16 1948, i16 0, i16 0, i16 0, i16 309, i16 0, i16 3418, i16 484, i16 0, i16 0, i16 2567, i16 1944, i16 0, i16 1724, i16 0, i16 1777, i16 492, i16 81, i16 688, i16 1714, i16 1499, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2770, i16 3075, i16 1804, i16 0, i16 1227, i16 1751, i16 2936, i16 0, i16 0, i16 0, i16 121, i16 0, i16 1180, i16 1364, i16 1322, i16 3112, i16 588, i16 347, i16 1982, i16 2162, i16 2938, i16 2304, i16 3215, i16 2528, i16 0, i16 0, i16 0, i16 2814, i16 1442, i16 71, i16 0, i16 593, i16 2775, i16 2240, i16 1741, i16 0, i16 0, i16 0, i16 2692, i16 1966, i16 0, i16 379, i16 1102, i16 3000, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1745, i16 0, i16 0, i16 0, i16 3161, i16 1057, i16 2683, i16 222, i16 2338, i16 0, i16 0, i16 0, i16 0, i16 0, i16 1749, i16 2524, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2334, i16 2349, i16 2368, i16 2390, i16 2411, i16 2434, i16 2461, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 3214, i16 3242, i16 3260, i16 3283, i16 3308, i16 3330, i16 3352, i16 0, i16 0, i16 0, i16 0, i16 0, i16 989, i16 982, i16 0, i16 0, i16 0, i16 0, i16 1938, i16 0, i16 0, i16 1681, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 991, i16 0, i16 730, i16 2911, i16 0, i16 0, i16 0, i16 1899, i16 2028, i16 185, i16 2512, i16 2569, i16 2673, i16 2267, i16 2806, i16 2941, i16 2540, i16 2923, i16 2086, i16 0, i16 1892, i16 0, i16 903, i16 2920, i16 2592, i16 2751, i16 1093, i16 1708, i16 0, i16 3005, i16 19, i16 3356, i16 2527, i16 216, i16 2619, i16 2188, i16 2557, i16 627, i16 748, i16 135, i16 1344, i16 0, i16 872, i16 1018, i16 2790, i16 2776, i16 0, i16 669, i16 2721, i16 73, i16 2139, i16 1278, i16 188, i16 0, i16 2662, i16 0, i16 0, i16 0, i16 0, i16 550, i16 1484, i16 1083, i16 1303, i16 3238, i16 2783, i16 2805, i16 2688, i16 2891, i16 2839, i16 2863, i16 2572, i16 2624, i16 2641, i16 2588, i16 2709, i16 2944, i16 2718, i16 2740, i16 2768, i16 2820, i16 2871, i16 2579, i16 2698, i16 215, i16 2959, i16 844, i16 2151, i16 2984, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2272, i16 0, i16 2155, i16 2445, i16 371, i16 1070, i16 2953, i16 1633, i16 389, i16 1272, i16 691, i16 1365, i16 1759, i16 2857, i16 1045, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2902, i16 2263, i16 170, i16 855, i16 3113, i16 685, i16 1379, i16 1226, i16 2082, i16 1311, i16 1643, i16 0, i16 3040, i16 1768, i16 1995, i16 1623, i16 2088, i16 3022, i16 1425, i16 1170, i16 2282, i16 0, i16 0, i16 923, i16 1515, i16 1300, i16 3090, i16 2476, i16 1914, i16 289, i16 587, i16 1937, i16 2546, i16 2536, i16 1449, i16 2962, i16 3207, i16 0, i16 1519, i16 1259, i16 968, i16 1590, i16 2371, i16 3066, i16 1249, i16 173, i16 759, i16 1945, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 526, i16 2096, i16 0, i16 0, i16 0, i16 0, i16 3367, i16 0, i16 541, i16 2231, i16 954, i16 0, i16 0, i16 237, i16 0, i16 0, i16 430, i16 0, i16 0, i16 0, i16 2081, i16 726, i16 2020, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 939, i16 23, i16 0, i16 3109, i16 0, i16 0, i16 0, i16 0, i16 3252, i16 2599, i16 0, i16 965, i16 2221, i16 420, i16 1386, i16 0, i16 1734, i16 0, i16 1824, i16 0, i16 0, i16 0, i16 1969, i16 2259, i16 1509, i16 0, i16 1580, i16 1887, i16 2712, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 194, i16 0, i16 2134, i16 2568, i16 2649, i16 226, i16 663, i16 2048, i16 1862, i16 2460, i16 1400, i16 1299, i16 3369, i16 0, i16 0, i16 1867, i16 465, i16 2620, i16 916, i16 771, i16 940, i16 233, i16 0, i16 3132, i16 2132, i16 720, i16 1020, i16 2050, i16 0, i16 2316, i16 1723, i16 3351, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2246, i16 2032, i16 0, i16 326, i16 3387, i16 714, i16 475, i16 0, i16 1673, i16 0, i16 0, i16 1743, i16 0, i16 3145, i16 0, i16 0, i16 1258, i16 1240, i16 1830, i16 0, i16 70, i16 0, i16 163, i16 0, i16 2817, i16 1230, i16 2481, i16 2253, i16 2880, i16 2551, i16 2701, i16 115, i16 2851, i16 2292, i16 434, i16 0, i16 0, i16 1420, i16 1152, i16 2150, i16 3201, i16 2498, i16 3224, i16 77, i16 0, i16 0, i16 0, i16 690, i16 2538, i16 1903, i16 1901, i16 2812, i16 3396, i16 1959, i16 3023, i16 0, i16 0, i16 0, i16 0, i16 1671, i16 258, i16 1060, i16 0, i16 1587, i16 191, i16 775, i16 935, i16 0, i16 0, i16 743, i16 2615, i16 1010, i16 0, i16 0, i16 0, i16 181, i16 3300, i16 372, i16 0, i16 1689, i16 749, i16 1695, i16 0, i16 2542, i16 2359, i16 418, i16 1730, i16 2771, i16 1735, i16 2470, i16 453, i16 2352, i16 2608, i16 143, i16 1337, i16 2160, i16 1339, i16 1352, i16 78, i16 3124, i16 983, i16 249, i16 0, i16 0, i16 3087, i16 1757, i16 2997, i16 2038, i16 1472, i16 2837, i16 619, i16 3414, i16 3053, i16 79, i16 2061, i16 1885, i16 1132, i16 2055, i16 3118, i16 604, i16 0, i16 0, i16 0, i16 1608, i16 744, i16 0, i16 2560, i16 0, i16 980, i16 1785, i16 301, i16 1489, i16 0, i16 853, i16 2293, i16 1792, i16 0, i16 0, i16 98, i16 1805, i16 456, i16 997, i16 0, i16 849, i16 1011, i16 821, i16 518, i16 0, i16 0, i16 605, i16 630, i16 0, i16 0, i16 0, i16 0, i16 1185, i16 0, i16 0, i16 0, i16 7, i16 0, i16 0, i16 0, i16 609, i16 2570, i16 2946, i16 345, i16 2856, i16 0, i16 415, i16 0, i16 0, i16 0, i16 0, i16 1360, i16 0, i16 2035, i16 1771, i16 2525, i16 0, i16 0, i16 0, i16 0, i16 846, i16 1720, i16 3361, i16 648, i16 132, i16 2252, i16 2080, i16 506, i16 0, i16 0, i16 0, i16 860, i16 214, i16 1522, i16 2819, i16 2671, i16 1051, i16 1551, i16 3107, i16 0, i16 0, i16 0, i16 1806, i16 1286, i16 2745, i16 1782, i16 870, i16 2022, i16 1935, i16 0, i16 1669, i16 809, i16 130, i16 0, i16 299, i16 0, i16 0, i16 2707, i16 2410, i16 0, i16 2602, i16 762, i16 3290, i16 3265, i16 2717, i16 85, i16 1597, i16 2341, i16 1763, i16 612, i16 2140, i16 2694, i16 664, i16 3299, i16 1042, i16 0, i16 1486, i16 1786, i16 2047, i16 2827, i16 1464, i16 3012, i16 2190, i16 0, i16 0, i16 196, i16 2942, i16 0, i16 837, i16 1586, i16 0, i16 1461, i16 710, i16 3077, i16 0, i16 996, i16 0, i16 0, i16 1237, i16 917, i16 457, i16 2194, i16 2954, i16 1220, i16 2780, i16 1444, i16 0, i16 0, i16 676, i16 1788, i16 0, i16 0, i16 971, i16 0, i16 652, i16 0, i16 0, i16 0, i16 0, i16 678, i16 2261, i16 0, i16 0, i16 674, i16 816, i16 2843, i16 286, i16 2900, i16 0, i16 2861, i16 563, i16 567, i16 2255, i16 2850, i16 1872, i16 2321, i16 1947, i16 0, i16 0, i16 854, i16 282, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 14592, i16 0, i16 0, i16 0, i16 15360, i16 0, i16 0, i16 0, i16 13825, i16 0, i16 0, i16 0, i16 14338, i16 0, i16 0, i16 0, i16 14595, i16 0, i16 0, i16 0, i16 15620, i16 0, i16 0, i16 0, i16 13317, i16 0, i16 0, i16 0, i16 774, i16 0, i16 0, i16 0, i16 12806, i16 0, i16 0, i16 0, i16 15110, i16 0, i16 0, i16 0, i16 16903, i16 0, i16 0, i16 0, i16 13320, i16 0, i16 0, i16 0, i16 16136, i16 0, i16 0, i16 0, i16 15625, i16 0, i16 0, i16 0, i16 778, i16 0, i16 0, i16 0, i16 13578, i16 0, i16 0, i16 0, i16 14859, i16 0, i16 0, i16 0, i16 12556, i16 0, i16 0, i16 0, i16 14092, i16 0, i16 0, i16 0, i16 16652, i16 0, i16 0, i16 0, i16 12302, i16 0, i16 0, i16 0, i16 15118, i16 0, i16 0, i16 0, i16 17166, i16 0, i16 0, i16 0, i16 12559, i16 0, i16 0, i16 0, i16 12815, i16 0, i16 0, i16 0, i16 12304, i16 0, i16 0, i16 0, i16 14353, i16 0, i16 0, i16 0, i16 16913, i16 0, i16 0, i16 0, i16 14354, i16 0, i16 0, i16 0, i16 14355, i16 0, i16 0, i16 0, i16 16659, i16 0, i16 0, i16 0, i16 13844, i16 0, i16 0, i16 0, i16 13590, i16 0, i16 0, i16 0, i16 13591, i16 0, i16 0, i16 0, i16 15639, i16 0, i16 0, i16 0, i16 280, i16 0, i16 0, i16 0, i16 13336, i16 0, i16 0, i16 0, i16 14616, i16 0, i16 0, i16 0, i16 14105, i16 0, i16 0, i16 0, i16 13594, i16 0, i16 0, i16 0, i16 12571, i16 0, i16 0, i16 0, i16 13340, i16 0, i16 0, i16 0, i16 14620, i16 0, i16 0, i16 0, i16 14365, i16 0, i16 0, i16 0, i16 13854, i16 0, i16 0, i16 0, i16 16926, i16 0, i16 0, i16 0, i16 12831, i16 0, i16 0, i16 0, i16 14623, i16 0, i16 0, i16 0, i16 16415, i16 0, i16 0, i16 0, i16 16671, i16 0, i16 0, i16 0, i16 12576, i16 0, i16 0, i16 0, i16 15648, i16 0, i16 0, i16 0, i16 16928, i16 0, i16 0, i16 0, i16 12833, i16 0, i16 0, i16 0, i16 12322, i16 0, i16 0, i16 0, i16 13346, i16 0, i16 0, i16 0, i16 14370, i16 0, i16 0, i16 0, i16 16418, i16 0, i16 0, i16 0, i16 15907, i16 0, i16 0, i16 0, i16 14631, i16 0, i16 0, i16 0, i16 14632, i16 0, i16 0, i16 0, i16 15400, i16 0, i16 0, i16 0, i16 15656, i16 0, i16 0, i16 0, i16 13353, i16 0, i16 0, i16 0, i16 13609, i16 0, i16 0, i16 0, i16 15145, i16 0, i16 0, i16 0, i16 12330, i16 0, i16 0, i16 0, i16 12587, i16 0, i16 0, i16 0, i16 14891, i16 0, i16 0, i16 0, i16 15147, i16 0, i16 0, i16 0, i16 12588, i16 0, i16 0, i16 0, i16 13868, i16 0, i16 0, i16 0, i16 14381, i16 0, i16 0, i16 0, i16 15149, i16 0, i16 0, i16 0, i16 12334, i16 0, i16 0, i16 0, i16 16430, i16 0, i16 0, i16 0, i16 13359, i16 0, i16 0, i16 0, i16 14383, i16 0, i16 0, i16 0, i16 13616, i16 0, i16 0, i16 0, i16 15664, i16 0, i16 0, i16 0, i16 16432, i16 0, i16 0, i16 0, i16 12593, i16 0, i16 0, i16 0, i16 16945, i16 0, i16 0, i16 0, i16 15666, i16 0, i16 0, i16 0, i16 16690, i16 0, i16 0, i16 0, i16 15923, i16 0, i16 0, i16 0, i16 12340, i16 0, i16 0, i16 0, i16 14388, i16 0, i16 0, i16 0, i16 15924, i16 0, i16 0, i16 0, i16 12853, i16 0, i16 0, i16 0, i16 13112, i16 0, i16 0, i16 0, i16 15928, i16 0, i16 0, i16 0, i16 15929, i16 0, i16 0, i16 0, i16 16185, i16 0, i16 0, i16 0, i16 13626, i16 0, i16 0, i16 0, i16 13882, i16 0, i16 0, i16 0, i16 15930, i16 0, i16 0, i16 0, i16 12347, i16 0, i16 0, i16 0, i16 12603, i16 0, i16 0, i16 0, i16 13627, i16 0, i16 0, i16 0, i16 15675, i16 0, i16 0, i16 0, i16 12860, i16 0, i16 0, i16 0, i16 14396, i16 0, i16 0, i16 0, i16 16444, i16 0, i16 0, i16 0, i16 12351, i16 0, i16 0, i16 0, i16 13631, i16 0, i16 0, i16 0, i16 16703, i16 0, i16 0, i16 0, i16 12353, i16 0, i16 0, i16 0, i16 12865, i16 0, i16 0, i16 0, i16 13377, i16 0, i16 0, i16 0, i16 14145, i16 0, i16 0, i16 0, i16 15425, i16 0, i16 0, i16 0, i16 12866, i16 0, i16 0, i16 0, i16 13634, i16 0, i16 0, i16 0, i16 16962, i16 0, i16 0, i16 0, i16 13380, i16 0, i16 0, i16 0, i16 14916, i16 0, i16 0, i16 0, i16 13125, i16 0, i16 0, i16 0, i16 13893, i16 0, i16 0, i16 0, i16 15429, i16 0, i16 0, i16 0, i16 16709, i16 0, i16 0, i16 0, i16 13638, i16 0, i16 0, i16 0, i16 15430, i16 0, i16 0, i16 0, i16 15686, i16 0, i16 0, i16 0, i16 16966, i16 0, i16 0, i16 0, i16 13383, i16 0, i16 0, i16 0, i16 16455, i16 0, i16 0, i16 0, i16 16456, i16 0, i16 0, i16 0, i16 16712, i16 0, i16 0, i16 0, i16 12361, i16 0, i16 0, i16 0, i16 12617, i16 0, i16 0, i16 0, i16 15177, i16 0, i16 0, i16 0, i16 12874, i16 0, i16 0, i16 0, i16 16970, i16 0, i16 0, i16 0, i16 12875, i16 0, i16 0, i16 0, i16 14412, i16 0, i16 0, i16 0, i16 15948, i16 0, i16 0, i16 0, i16 12621, i16 0, i16 0, i16 0, i16 13646, i16 0, i16 0, i16 0, i16 14414, i16 0, i16 0, i16 0, i16 12623, i16 0, i16 0, i16 0, i16 14159, i16 0, i16 0, i16 0, i16 13136, i16 0, i16 0, i16 0, i16 16464, i16 0, i16 0, i16 0, i16 16976, i16 0, i16 0, i16 0, i16 12882, i16 0, i16 0, i16 0, i16 15698, i16 0, i16 0, i16 0, i16 14419, i16 0, i16 0, i16 0, i16 12373, i16 0, i16 0, i16 0, i16 15957, i16 0, i16 0, i16 0, i16 16981, i16 0, i16 0, i16 0, i16 13398, i16 0, i16 0, i16 0, i16 14934, i16 0, i16 0, i16 0, i16 13400, i16 0, i16 0, i16 0, i16 13145, i16 0, i16 0, i16 0, i16 13402, i16 0, i16 0, i16 0, i16 14682, i16 0, i16 0, i16 0, i16 16730, i16 0, i16 0, i16 0, i16 16986, i16 0, i16 0, i16 0, i16 14939, i16 0, i16 0, i16 0, i16 13148, i16 0, i16 0, i16 0, i16 15708, i16 0, i16 0, i16 0, i16 16476, i16 0, i16 0, i16 0, i16 13149, i16 0, i16 0, i16 0, i16 14173, i16 0, i16 0, i16 0, i16 15453, i16 0, i16 0, i16 0, i16 15709, i16 0, i16 0, i16 0, i16 16733, i16 0, i16 0, i16 0, i16 14174, i16 0, i16 0, i16 0, i16 15710, i16 0, i16 0, i16 0, i16 12383, i16 0, i16 0, i16 0, i16 16735, i16 0, i16 0, i16 0, i16 15712, i16 0, i16 0, i16 0, i16 12641, i16 0, i16 0, i16 0, i16 13409, i16 0, i16 0, i16 0, i16 16226, i16 0, i16 0, i16 0, i16 13923, i16 0, i16 0, i16 0, i16 14179, i16 0, i16 0, i16 0, i16 16483, i16 0, i16 0, i16 0, i16 15716, i16 0, i16 0, i16 0, i16 13414, i16 0, i16 0, i16 0, i16 615, i16 0, i16 0, i16 0, i16 871, i16 0, i16 0, i16 0, i16 12906, i16 0, i16 0, i16 0, i16 14186, i16 0, i16 0, i16 0, i16 14442, i16 0, i16 0, i16 0, i16 14698, i16 0, i16 0, i16 0, i16 16490, i16 0, i16 0, i16 0, i16 12651, i16 0, i16 0, i16 0, i16 13675, i16 0, i16 0, i16 0, i16 13164, i16 0, i16 0, i16 0, i16 13420, i16 0, i16 0, i16 0, i16 15980, i16 0, i16 0, i16 0, i16 13935, i16 0, i16 0, i16 0, i16 13680, i16 0, i16 0, i16 0, i16 16752, i16 0, i16 0, i16 0, i16 13938, i16 0, i16 0, i16 0, i16 15475, i16 0, i16 0, i16 0, i16 15731, i16 0, i16 0, i16 0, i16 12660, i16 0, i16 0, i16 0, i16 15732, i16 0, i16 0, i16 0, i16 14453, i16 0, i16 0, i16 0, i16 14709, i16 0, i16 0, i16 0, i16 15221, i16 0, i16 0, i16 0, i16 12406, i16 0, i16 0, i16 0, i16 13174, i16 0, i16 0, i16 0, i16 12919, i16 0, i16 0, i16 0, i16 16759, i16 0, i16 0, i16 0, i16 15480, i16 0, i16 0, i16 0, i16 14201, i16 0, i16 0, i16 0, i16 15737, i16 0, i16 0, i16 0, i16 15993, i16 0, i16 0, i16 0, i16 16250, i16 0, i16 0, i16 0, i16 12411, i16 0, i16 0, i16 0, i16 636, i16 0, i16 0, i16 0, i16 13180, i16 0, i16 0, i16 0, i16 14460, i16 0, i16 0, i16 0, i16 14716, i16 0, i16 0, i16 0, i16 14972, i16 0, i16 0, i16 0, i16 15228, i16 0, i16 0, i16 0, i16 12669, i16 0, i16 0, i16 0, i16 14205, i16 0, i16 0, i16 0, i16 16765, i16 0, i16 0, i16 0, i16 12926, i16 0, i16 0, i16 0, i16 15486, i16 0, i16 0, i16 0, i16 15742, i16 0, i16 0, i16 0, i16 14207, i16 0, i16 0, i16 0, i16 16767, i16 0, i16 0, i16 0, i16 13185, i16 0, i16 0, i16 0, i16 12931, i16 0, i16 0, i16 0, i16 13187, i16 0, i16 0, i16 0, i16 13699, i16 0, i16 0, i16 0, i16 14467, i16 0, i16 0, i16 0, i16 12421, i16 0, i16 0, i16 0, i16 13701, i16 0, i16 0, i16 0, i16 14725, i16 0, i16 0, i16 0, i16 14981, i16 0, i16 0, i16 0, i16 16261, i16 0, i16 0, i16 0, i16 13190, i16 0, i16 0, i16 0, i16 14214, i16 0, i16 0, i16 0, i16 16006, i16 0, i16 0, i16 0, i16 13703, i16 0, i16 0, i16 0, i16 12425, i16 0, i16 0, i16 0, i16 13705, i16 0, i16 0, i16 0, i16 14473, i16 0, i16 0, i16 0, i16 14985, i16 0, i16 0, i16 0, i16 13962, i16 0, i16 0, i16 0, i16 16266, i16 0, i16 0, i16 0, i16 12939, i16 0, i16 0, i16 0, i16 13453, i16 0, i16 0, i16 0, i16 14221, i16 0, i16 0, i16 0, i16 16013, i16 0, i16 0, i16 0, i16 17037, i16 0, i16 0, i16 0, i16 15503, i16 0, i16 0, i16 0, i16 14737, i16 0, i16 0, i16 0, i16 12946, i16 0, i16 0, i16 0, i16 13458, i16 0, i16 0, i16 0, i16 15506, i16 0, i16 0, i16 0, i16 17042, i16 0, i16 0, i16 0, i16 12435, i16 0, i16 0, i16 0, i16 16019, i16 0, i16 0, i16 0, i16 17043, i16 0, i16 0, i16 0, i16 12948, i16 0, i16 0, i16 0, i16 13972, i16 0, i16 0, i16 0, i16 16532, i16 0, i16 0, i16 0, i16 13975, i16 0, i16 0, i16 0, i16 15768, i16 0, i16 0, i16 0, i16 16793, i16 0, i16 0, i16 0, i16 13466, i16 0, i16 0, i16 0, i16 155, i16 0, i16 0, i16 0, i16 156, i16 0, i16 0, i16 0, i16 13469, i16 0, i16 0, i16 0, i16 16285, i16 0, i16 0, i16 0, i16 12958, i16 0, i16 0, i16 0, i16 13215, i16 0, i16 0, i16 0, i16 13727, i16 0, i16 0, i16 0, i16 14751, i16 0, i16 0, i16 0, i16 15263, i16 0, i16 0, i16 0, i16 15775, i16 0, i16 0, i16 0, i16 12704, i16 0, i16 0, i16 0, i16 16800, i16 0, i16 0, i16 0, i16 13473, i16 0, i16 0, i16 0, i16 14241, i16 0, i16 0, i16 0, i16 15521, i16 0, i16 0, i16 0, i16 16801, i16 0, i16 0, i16 0, i16 12962, i16 0, i16 0, i16 0, i16 15010, i16 0, i16 0, i16 0, i16 15778, i16 0, i16 0, i16 0, i16 15267, i16 0, i16 0, i16 0, i16 14500, i16 0, i16 0, i16 0, i16 165, i16 0, i16 0, i16 0, i16 15781, i16 0, i16 0, i16 0, i16 16293, i16 0, i16 0, i16 0, i16 166, i16 0, i16 0, i16 0, i16 17063, i16 0, i16 0, i16 0, i16 13736, i16 0, i16 0, i16 0, i16 16296, i16 0, i16 0, i16 0, i16 16808, i16 0, i16 0, i16 0, i16 12713, i16 0, i16 0, i16 0, i16 13993, i16 0, i16 0, i16 0, i16 16041, i16 0, i16 0, i16 0, i16 16810, i16 0, i16 0, i16 0, i16 17066, i16 0, i16 0, i16 0, i16 13483, i16 0, i16 0, i16 0, i16 13484, i16 0, i16 0, i16 0, i16 16300, i16 0, i16 0, i16 0, i16 13741, i16 0, i16 0, i16 0, i16 15277, i16 0, i16 0, i16 0, i16 12462, i16 0, i16 0, i16 0, i16 13999, i16 0, i16 0, i16 0, i16 16559, i16 0, i16 0, i16 0, i16 176, i16 0, i16 0, i16 0, i16 16048, i16 0, i16 0, i16 0, i16 13233, i16 0, i16 0, i16 0, i16 14769, i16 0, i16 0, i16 0, i16 16049, i16 0, i16 0, i16 0, i16 16305, i16 0, i16 0, i16 0, i16 13746, i16 0, i16 0, i16 0, i16 13747, i16 0, i16 0, i16 0, i16 180, i16 0, i16 0, i16 0, i16 13237, i16 0, i16 0, i16 0, i16 13749, i16 0, i16 0, i16 0, i16 14773, i16 0, i16 0, i16 0, i16 16309, i16 0, i16 0, i16 0, i16 16821, i16 0, i16 0, i16 0, i16 13750, i16 0, i16 0, i16 0, i16 14263, i16 0, i16 0, i16 0, i16 696, i16 0, i16 0, i16 0, i16 15544, i16 0, i16 0, i16 0, i16 16312, i16 0, i16 0, i16 0, i16 15290, i16 0, i16 0, i16 0, i16 16570, i16 0, i16 0, i16 0, i16 12475, i16 0, i16 0, i16 0, i16 13755, i16 0, i16 0, i16 0, i16 14779, i16 0, i16 0, i16 0, i16 15035, i16 0, i16 0, i16 0, i16 16828, i16 0, i16 0, i16 0, i16 15037, i16 0, i16 0, i16 0, i16 14526, i16 0, i16 0, i16 0, i16 15294, i16 0, i16 0, i16 0, i16 16832, i16 0, i16 0, i16 0, i16 15809, i16 0, i16 0, i16 0, i16 13506, i16 0, i16 0, i16 0, i16 16066, i16 0, i16 0, i16 0, i16 16834, i16 0, i16 0, i16 0, i16 12739, i16 0, i16 0, i16 0, i16 13763, i16 0, i16 0, i16 0, i16 12740, i16 0, i16 0, i16 0, i16 13764, i16 0, i16 0, i16 0, i16 16068, i16 0, i16 0, i16 0, i16 15045, i16 0, i16 0, i16 0, i16 15301, i16 0, i16 0, i16 0, i16 14278, i16 0, i16 0, i16 0, i16 12743, i16 0, i16 0, i16 0, i16 14791, i16 0, i16 0, i16 0, i16 17095, i16 0, i16 0, i16 0, i16 13768, i16 0, i16 0, i16 0, i16 15560, i16 0, i16 0, i16 0, i16 12745, i16 0, i16 0, i16 0, i16 13513, i16 0, i16 0, i16 0, i16 13514, i16 0, i16 0, i16 0, i16 13770, i16 0, i16 0, i16 0, i16 14027, i16 0, i16 0, i16 0, i16 17099, i16 0, i16 0, i16 0, i16 13516, i16 0, i16 0, i16 0, i16 17100, i16 0, i16 0, i16 0, i16 14285, i16 0, i16 0, i16 0, i16 16845, i16 0, i16 0, i16 0, i16 12494, i16 0, i16 0, i16 0, i16 14798, i16 0, i16 0, i16 0, i16 17102, i16 0, i16 0, i16 0, i16 16079, i16 0, i16 0, i16 0, i16 13520, i16 0, i16 0, i16 0, i16 14032, i16 0, i16 0, i16 0, i16 14288, i16 0, i16 0, i16 0, i16 14800, i16 0, i16 0, i16 0, i16 14289, i16 0, i16 0, i16 0, i16 15569, i16 0, i16 0, i16 0, i16 17105, i16 0, i16 0, i16 0, i16 13778, i16 0, i16 0, i16 0, i16 14034, i16 0, i16 0, i16 0, i16 14803, i16 0, i16 0, i16 0, i16 16083, i16 0, i16 0, i16 0, i16 14805, i16 0, i16 0, i16 0, i16 15829, i16 0, i16 0, i16 0, i16 16597, i16 0, i16 0, i16 0, i16 16853, i16 0, i16 0, i16 0, i16 16598, i16 0, i16 0, i16 0, i16 12503, i16 0, i16 0, i16 0, i16 13527, i16 0, i16 0, i16 0, i16 16088, i16 0, i16 0, i16 0, i16 12761, i16 0, i16 0, i16 0, i16 13785, i16 0, i16 0, i16 0, i16 14809, i16 0, i16 0, i16 0, i16 12508, i16 0, i16 0, i16 0, i16 13276, i16 0, i16 0, i16 0, i16 13532, i16 0, i16 0, i16 0, i16 15836, i16 0, i16 0, i16 0, i16 16348, i16 0, i16 0, i16 0, i16 17116, i16 0, i16 0, i16 0, i16 14045, i16 0, i16 0, i16 0, i16 15837, i16 0, i16 0, i16 0, i16 14558, i16 0, i16 0, i16 0, i16 15326, i16 0, i16 0, i16 0, i16 14047, i16 0, i16 0, i16 0, i16 12768, i16 0, i16 0, i16 0, i16 15584, i16 0, i16 0, i16 0, i16 225, i16 0, i16 0, i16 0, i16 13793, i16 0, i16 0, i16 0, i16 13027, i16 0, i16 0, i16 0, i16 14819, i16 0, i16 0, i16 0, i16 16099, i16 0, i16 0, i16 0, i16 16867, i16 0, i16 0, i16 0, i16 14052, i16 0, i16 0, i16 0, i16 17124, i16 0, i16 0, i16 0, i16 14821, i16 0, i16 0, i16 0, i16 15077, i16 0, i16 0, i16 0, i16 13286, i16 0, i16 0, i16 0, i16 12519, i16 0, i16 0, i16 0, i16 12775, i16 0, i16 0, i16 0, i16 13031, i16 0, i16 0, i16 0, i16 14311, i16 0, i16 0, i16 0, i16 14823, i16 0, i16 0, i16 0, i16 13800, i16 0, i16 0, i16 0, i16 16616, i16 0, i16 0, i16 0, i16 14057, i16 0, i16 0, i16 0, i16 14826, i16 0, i16 0, i16 0, i16 15594, i16 0, i16 0, i16 0, i16 13291, i16 0, i16 0, i16 0, i16 16108, i16 0, i16 0, i16 0, i16 237, i16 0, i16 0, i16 0, i16 12781, i16 0, i16 0, i16 0, i16 15597, i16 0, i16 0, i16 0, i16 15342, i16 0, i16 0, i16 0, i16 14063, i16 0, i16 0, i16 0, i16 15087, i16 0, i16 0, i16 0, i16 15344, i16 0, i16 0, i16 0, i16 13809, i16 0, i16 0, i16 0, i16 17138, i16 0, i16 0, i16 0, i16 15091, i16 0, i16 0, i16 0, i16 16627, i16 0, i16 0, i16 0, i16 12788, i16 0, i16 0, i16 0, i16 14580, i16 0, i16 0, i16 0, i16 15348, i16 0, i16 0, i16 0, i16 16628, i16 0, i16 0, i16 0, i16 13813, i16 0, i16 0, i16 0, i16 13302, i16 0, i16 0, i16 0, i16 14326, i16 0, i16 0, i16 0, i16 15094, i16 0, i16 0, i16 0, i16 15863, i16 0, i16 0, i16 0, i16 16375, i16 0, i16 0, i16 0, i16 15353, i16 0, i16 0, i16 0, i16 15609, i16 0, i16 0, i16 0, i16 14586, i16 0, i16 0, i16 0, i16 15354, i16 0, i16 0, i16 0, i16 15355, i16 0, i16 0, i16 0, i16 15867, i16 0, i16 0, i16 0, i16 15100, i16 0, i16 0, i16 0, i16 12285, i16 0, i16 0, i16 0, i16 13053, i16 0, i16 0, i16 0, i16 14333, i16 0, i16 0, i16 0, i16 12542, i16 0, i16 0, i16 0, i16 12798, i16 0, i16 0, i16 0, i16 13310, i16 0, i16 0, i16 0, i16 14846, i16 0, i16 0, i16 0, i16 15103, i16 0, i16 0, i16 256, i16 0, i16 0, i16 0, i16 14080, i16 0, i16 0, i16 0, i16 13313, i16 17049, i16 0, i16 0, i16 12546, i16 0, i16 0, i16 0, i16 14082, i16 0, i16 0, i16 0, i16 15618, i16 0, i16 0, i16 0, i16 12547, i16 0, i16 0, i16 0, i16 16899, i16 0, i16 0, i16 0, i16 14852, i16 17003, i16 0, i16 0, i16 16388, i16 0, i16 0, i16 0, i16 16644, i16 0, i16 0, i16 0, i16 13573, i16 0, i16 0, i16 0, i16 14085, i16 0, i16 0, i16 0, i16 15109, i16 0, i16 0, i16 0, i16 13318, i16 0, i16 0, i16 0, i16 15366, i16 0, i16 0, i16 0, i16 15622, i16 0, i16 0, i16 0, i16 16390, i16 14495, i16 0, i16 0, i16 16902, i16 13005, i16 0, i16 0, i16 12295, i16 12296, i16 0, i16 0, i16 14343, i16 13546, i16 0, i16 0, i16 16647, i16 0, i16 0, i16 0, i16 14344, i16 0, i16 0, i16 0, i16 15880, i16 15683, i16 0, i16 0, i16 265, i16 264, i16 0, i16 0, i16 12553, i16 14944, i16 0, i16 0, i16 13833, i16 0, i16 0, i16 0, i16 14857, i16 0, i16 0, i16 0, i16 15881, i16 0, i16 0, i16 0, i16 16137, i16 0, i16 0, i16 0, i16 16649, i16 0, i16 0, i16 0, i16 17162, i16 0, i16 0, i16 0, i16 12555, i16 16345, i16 0, i16 0, i16 13067, i16 0, i16 0, i16 0, i16 15115, i16 0, i16 0, i16 0, i16 12300, i16 0, i16 0, i16 0, i16 14348, i16 0, i16 0, i16 0, i16 15628, i16 14483, i16 0, i16 0, i16 16140, i16 0, i16 0, i16 0, i16 12557, i16 0, i16 0, i16 0, i16 14349, i16 0, i16 0, i16 0, i16 14605, i16 15757, i16 0, i16 0, i16 15629, i16 0, i16 0, i16 0, i16 15885, i16 0, i16 0, i16 0, i16 782, i16 0, i16 0, i16 0, i16 13582, i16 13021, i16 0, i16 0, i16 14094, i16 0, i16 0, i16 0, i16 14862, i16 0, i16 0, i16 0, i16 16398, i16 14978, i16 0, i16 0, i16 14352, i16 0, i16 0, i16 0, i16 15376, i16 0, i16 0, i16 0, i16 15121, i16 0, i16 0, i16 0, i16 16657, i16 0, i16 0, i16 0, i16 17169, i16 0, i16 0, i16 0, i16 16658, i16 0, i16 0, i16 0, i16 12819, i16 15198, i16 0, i16 0, i16 13331, i16 0, i16 0, i16 0, i16 13588, i16 15915, i16 0, i16 0, i16 16148, i16 0, i16 0, i16 0, i16 13589, i16 14715, i16 0, i16 0, i16 15125, i16 0, i16 0, i16 0, i16 16661, i16 0, i16 0, i16 0, i16 12310, i16 0, i16 0, i16 0, i16 12566, i16 15116, i16 0, i16 0, i16 13334, i16 0, i16 0, i16 0, i16 14102, i16 15783, i16 0, i16 0, i16 13335, i16 0, i16 0, i16 0, i16 16152, i16 0, i16 0, i16 0, i16 12569, i16 0, i16 0, i16 0, i16 282, i16 0, i16 0, i16 0, i16 794, i16 0, i16 0, i16 0, i16 13338, i16 0, i16 0, i16 0, i16 15386, i16 15387, i16 0, i16 0, i16 15643, i16 16909, i16 0, i16 0, i16 16155, i16 14782, i16 0, i16 0, i16 16667, i16 0, i16 0, i16 0, i16 12828, i16 0, i16 0, i16 0, i16 15644, i16 0, i16 0, i16 0, i16 12829, i16 0, i16 0, i16 0, i16 13597, i16 0, i16 0, i16 0, i16 15133, i16 0, i16 0, i16 0, i16 16413, i16 0, i16 0, i16 0, i16 16669, i16 0, i16 0, i16 0, i16 14110, i16 0, i16 0, i16 0, i16 15902, i16 0, i16 0, i16 0, i16 16158, i16 0, i16 0, i16 0, i16 16670, i16 0, i16 0, i16 0, i16 12320, i16 0, i16 0, i16 0, i16 13344, i16 0, i16 0, i16 0, i16 14624, i16 13170, i16 0, i16 0, i16 15392, i16 0, i16 0, i16 0, i16 16672, i16 12786, i16 0, i16 0, i16 12321, i16 0, i16 0, i16 0, i16 13601, i16 0, i16 0, i16 0, i16 14881, i16 17167, i16 0, i16 0, i16 15649, i16 16630, i16 0, i16 0, i16 15905, i16 16062, i16 0, i16 0, i16 16929, i16 0, i16 0, i16 0, i16 14114, i16 0, i16 0, i16 0, i16 14882, i16 0, i16 0, i16 0, i16 15906, i16 12444, i16 0, i16 0, i16 16674, i16 0, i16 0, i16 0, i16 16163, i16 0, i16 0, i16 0, i16 13860, i16 13824, i16 0, i16 0, i16 14116, i16 15911, i16 0, i16 0, i16 14884, i16 0, i16 0, i16 0, i16 12325, i16 0, i16 0, i16 0, i16 12837, i16 0, i16 0, i16 0, i16 16678, i16 0, i16 0, i16 0, i16 12327, i16 0, i16 0, i16 0, i16 14887, i16 0, i16 0, i16 0, i16 16423, i16 0, i16 0, i16 0, i16 12328, i16 16639, i16 0, i16 0, i16 16425, i16 0, i16 0, i16 0, i16 13610, i16 16180, i16 0, i16 0, i16 14890, i16 0, i16 0, i16 0, i16 16170, i16 0, i16 0, i16 0, i16 15403, i16 0, i16 0, i16 0, i16 16171, i16 0, i16 0, i16 0, i16 12332, i16 0, i16 0, i16 0, i16 15404, i16 15291, i16 0, i16 0, i16 14125, i16 0, i16 0, i16 0, i16 14893, i16 15274, i16 0, i16 0, i16 16685, i16 0, i16 0, i16 0, i16 16941, i16 0, i16 0, i16 0, i16 14382, i16 0, i16 0, i16 0, i16 14638, i16 12998, i16 0, i16 0, i16 16174, i16 0, i16 0, i16 0, i16 12591, i16 0, i16 0, i16 0, i16 14639, i16 0, i16 0, i16 0, i16 13360, i16 0, i16 0, i16 0, i16 14384, i16 0, i16 0, i16 0, i16 14640, i16 0, i16 0, i16 0, i16 13361, i16 0, i16 0, i16 0, i16 14641, i16 0, i16 0, i16 0, i16 15409, i16 0, i16 0, i16 0, i16 16433, i16 0, i16 0, i16 0, i16 14642, i16 0, i16 0, i16 0, i16 14898, i16 13976, i16 0, i16 0, i16 15154, i16 0, i16 0, i16 0, i16 12851, i16 15968, i16 0, i16 0, i16 13619, i16 0, i16 0, i16 0, i16 16947, i16 0, i16 0, i16 0, i16 15156, i16 0, i16 0, i16 0, i16 13365, i16 0, i16 0, i16 0, i16 13621, i16 12675, i16 0, i16 0, i16 12598, i16 15066, i16 0, i16 0, i16 12343, i16 13378, i16 0, i16 0, i16 14135, i16 0, i16 0, i16 0, i16 14391, i16 0, i16 0, i16 0, i16 16951, i16 15075, i16 0, i16 0, i16 12856, i16 0, i16 0, i16 0, i16 15160, i16 13821, i16 0, i16 0, i16 14905, i16 0, i16 0, i16 0, i16 12858, i16 0, i16 0, i16 0, i16 13370, i16 0, i16 0, i16 0, i16 14138, i16 0, i16 0, i16 0, i16 14907, i16 0, i16 0, i16 0, i16 13628, i16 0, i16 0, i16 0, i16 13884, i16 0, i16 0, i16 0, i16 16956, i16 0, i16 0, i16 0, i16 13885, i16 0, i16 0, i16 0, i16 14141, i16 0, i16 0, i16 0, i16 14398, i16 0, i16 0, i16 0, i16 15166, i16 0, i16 0, i16 0, i16 16958, i16 0, i16 0, i16 0, i16 13375, i16 0, i16 0, i16 0, i16 13889, i16 0, i16 0, i16 0, i16 14913, i16 14137, i16 0, i16 0, i16 16193, i16 0, i16 0, i16 0, i16 16449, i16 0, i16 0, i16 0, i16 15938, i16 0, i16 0, i16 0, i16 12355, i16 0, i16 0, i16 0, i16 13379, i16 0, i16 0, i16 0, i16 14660, i16 16660, i16 0, i16 0, i16 15684, i16 0, i16 0, i16 0, i16 12613, i16 16161, i16 0, i16 0, i16 12869, i16 0, i16 0, i16 0, i16 16965, i16 0, i16 0, i16 0, i16 13126, i16 0, i16 0, i16 0, i16 14406, i16 0, i16 0, i16 0, i16 12359, i16 0, i16 0, i16 0, i16 13895, i16 15817, i16 0, i16 0, i16 16711, i16 0, i16 0, i16 0, i16 13640, i16 0, i16 0, i16 0, i16 14920, i16 0, i16 0, i16 0, i16 15944, i16 0, i16 0, i16 0, i16 13385, i16 0, i16 0, i16 0, i16 13641, i16 0, i16 0, i16 0, i16 15945, i16 16859, i16 0, i16 0, i16 16457, i16 0, i16 0, i16 0, i16 12362, i16 0, i16 0, i16 0, i16 13130, i16 0, i16 0, i16 0, i16 14154, i16 0, i16 0, i16 0, i16 14666, i16 0, i16 0, i16 0, i16 16202, i16 0, i16 0, i16 0, i16 13131, i16 15689, i16 0, i16 0, i16 13387, i16 0, i16 0, i16 0, i16 14155, i16 0, i16 0, i16 0, i16 15179, i16 12896, i16 0, i16 0, i16 15691, i16 0, i16 0, i16 0, i16 12364, i16 14260, i16 0, i16 0, i16 13388, i16 13894, i16 0, i16 0, i16 13901, i16 0, i16 0, i16 0, i16 14669, i16 15472, i16 0, i16 0, i16 15949, i16 0, i16 0, i16 0, i16 13390, i16 16026, i16 0, i16 0, i16 14670, i16 0, i16 0, i16 0, i16 13135, i16 16906, i16 0, i16 0, i16 13391, i16 0, i16 0, i16 0, i16 16463, i16 0, i16 0, i16 0, i16 13392, i16 13404, i16 0, i16 0, i16 16720, i16 0, i16 0, i16 0, i16 13649, i16 0, i16 0, i16 0, i16 16209, i16 0, i16 0, i16 0, i16 14674, i16 0, i16 0, i16 0, i16 16722, i16 0, i16 0, i16 0, i16 14163, i16 0, i16 0, i16 0, i16 14675, i16 0, i16 0, i16 0, i16 15699, i16 0, i16 0, i16 0, i16 12628, i16 14648, i16 0, i16 0, i16 13396, i16 0, i16 0, i16 0, i16 15188, i16 0, i16 0, i16 0, i16 12886, i16 0, i16 0, i16 0, i16 13910, i16 0, i16 0, i16 0, i16 14422, i16 0, i16 0, i16 0, i16 15958, i16 12707, i16 0, i16 0, i16 16214, i16 0, i16 0, i16 0, i16 16470, i16 0, i16 0, i16 0, i16 12631, i16 13625, i16 0, i16 0, i16 13143, i16 0, i16 0, i16 0, i16 14423, i16 0, i16 0, i16 0, i16 13656, i16 0, i16 0, i16 0, i16 13912, i16 0, i16 0, i16 0, i16 14424, i16 0, i16 0, i16 0, i16 12633, i16 0, i16 0, i16 0, i16 13913, i16 0, i16 0, i16 0, i16 12890, i16 0, i16 0, i16 0, i16 13146, i16 0, i16 0, i16 0, i16 15962, i16 0, i16 0, i16 0, i16 13147, i16 0, i16 0, i16 0, i16 13659, i16 0, i16 0, i16 0, i16 13405, i16 0, i16 0, i16 0, i16 13150, i16 0, i16 0, i16 0, i16 13406, i16 0, i16 0, i16 0, i16 14686, i16 0, i16 0, i16 0, i16 12895, i16 12407, i16 0, i16 0, i16 15455, i16 0, i16 0, i16 0, i16 14176, i16 0, i16 0, i16 0, i16 14432, i16 0, i16 0, i16 0, i16 15200, i16 0, i16 0, i16 0, i16 16736, i16 0, i16 0, i16 0, i16 12897, i16 0, i16 0, i16 0, i16 13921, i16 0, i16 0, i16 0, i16 14689, i16 0, i16 0, i16 0, i16 13154, i16 0, i16 0, i16 0, i16 16994, i16 16995, i16 0, i16 0, i16 15971, i16 15754, i16 0, i16 0, i16 13156, i16 0, i16 0, i16 0, i16 14692, i16 0, i16 0, i16 0, i16 15460, i16 0, i16 0, i16 0, i16 16228, i16 0, i16 0, i16 0, i16 12389, i16 0, i16 0, i16 0, i16 13669, i16 0, i16 0, i16 0, i16 16486, i16 0, i16 0, i16 0, i16 13927, i16 12380, i16 0, i16 0, i16 14951, i16 15813, i16 0, i16 0, i16 15975, i16 0, i16 0, i16 0, i16 16487, i16 0, i16 0, i16 0, i16 12904, i16 12905, i16 0, i16 0, i16 13416, i16 14004, i16 0, i16 0, i16 15977, i16 0, i16 0, i16 0, i16 12394, i16 15982, i16 0, i16 0, i16 15978, i16 0, i16 0, i16 0, i16 13676, i16 0, i16 0, i16 0, i16 15212, i16 0, i16 0, i16 0, i16 14445, i16 0, i16 0, i16 0, i16 12654, i16 0, i16 0, i16 0, i16 13934, i16 0, i16 0, i16 0, i16 13679, i16 0, i16 0, i16 0, i16 14449, i16 0, i16 0, i16 0, i16 16241, i16 0, i16 0, i16 0, i16 13426, i16 16648, i16 0, i16 0, i16 12915, i16 0, i16 0, i16 0, i16 13427, i16 14180, i16 0, i16 0, i16 14451, i16 15717, i16 0, i16 0, i16 16243, i16 0, i16 0, i16 0, i16 14452, i16 0, i16 0, i16 0, i16 14708, i16 0, i16 0, i16 0, i16 12917, i16 0, i16 0, i16 0, i16 14966, i16 0, i16 0, i16 0, i16 13944, i16 0, i16 0, i16 0, i16 15992, i16 0, i16 0, i16 0, i16 16760, i16 0, i16 0, i16 0, i16 17016, i16 15317, i16 0, i16 0, i16 15225, i16 0, i16 0, i16 0, i16 12666, i16 0, i16 0, i16 0, i16 15738, i16 13848, i16 0, i16 0, i16 17018, i16 0, i16 0, i16 0, i16 13947, i16 0, i16 0, i16 0, i16 15996, i16 0, i16 0, i16 0, i16 13181, i16 0, i16 0, i16 0, i16 15229, i16 0, i16 0, i16 0, i16 13438, i16 13197, i16 0, i16 0, i16 15743, i16 0, i16 0, i16 0, i16 17023, i16 0, i16 0, i16 0, i16 13184, i16 0, i16 0, i16 0, i16 13440, i16 0, i16 0, i16 0, i16 13442, i16 0, i16 0, i16 0, i16 16515, i16 0, i16 0, i16 0, i16 12420, i16 0, i16 0, i16 0, i16 13189, i16 0, i16 0, i16 0, i16 13445, i16 13494, i16 0, i16 0, i16 15237, i16 0, i16 0, i16 0, i16 13958, i16 0, i16 0, i16 0, i16 16262, i16 0, i16 0, i16 0, i16 15239, i16 0, i16 0, i16 0, i16 13960, i16 0, i16 0, i16 0, i16 16776, i16 0, i16 0, i16 0, i16 17032, i16 0, i16 0, i16 0, i16 13193, i16 0, i16 0, i16 0, i16 13961, i16 0, i16 0, i16 0, i16 16010, i16 0, i16 0, i16 0, i16 13451, i16 0, i16 0, i16 0, i16 12428, i16 14380, i16 0, i16 0, i16 14732, i16 16704, i16 0, i16 0, i16 15244, i16 0, i16 0, i16 0, i16 16524, i16 15420, i16 0, i16 0, i16 16269, i16 0, i16 0, i16 0, i16 13198, i16 16103, i16 0, i16 0, i16 13710, i16 17081, i16 0, i16 0, i16 13711, i16 0, i16 0, i16 0, i16 14479, i16 14478, i16 0, i16 0, i16 16015, i16 13394, i16 0, i16 0, i16 16271, i16 0, i16 0, i16 0, i16 12688, i16 0, i16 0, i16 0, i16 16784, i16 0, i16 0, i16 0, i16 13201, i16 14579, i16 0, i16 0, i16 13713, i16 0, i16 0, i16 0, i16 14738, i16 0, i16 0, i16 0, i16 12947, i16 0, i16 0, i16 0, i16 13459, i16 14369, i16 0, i16 0, i16 15251, i16 14807, i16 0, i16 0, i16 14740, i16 0, i16 0, i16 0, i16 17044, i16 0, i16 0, i16 0, i16 14229, i16 0, i16 0, i16 0, i16 14741, i16 0, i16 0, i16 0, i16 13718, i16 0, i16 0, i16 0, i16 13974, i16 0, i16 0, i16 0, i16 14230, i16 0, i16 0, i16 0, i16 17046, i16 13544, i16 0, i16 0, i16 12439, i16 0, i16 0, i16 0, i16 16023, i16 0, i16 0, i16 0, i16 17047, i16 15588, i16 0, i16 0, i16 13464, i16 14488, i16 0, i16 0, i16 13209, i16 0, i16 0, i16 0, i16 15257, i16 13925, i16 0, i16 0, i16 16281, i16 0, i16 0, i16 0, i16 16794, i16 13906, i16 0, i16 0, i16 12955, i16 13571, i16 0, i16 0, i16 668, i16 0, i16 0, i16 0, i16 14748, i16 0, i16 0, i16 0, i16 15004, i16 0, i16 0, i16 0, i16 12701, i16 0, i16 0, i16 0, i16 15773, i16 14925, i16 0, i16 0, i16 16029, i16 0, i16 0, i16 0, i16 17053, i16 0, i16 0, i16 0, i16 12446, i16 0, i16 0, i16 0, i16 13982, i16 0, i16 0, i16 0, i16 14494, i16 0, i16 0, i16 0, i16 17054, i16 16165, i16 0, i16 0, i16 14239, i16 0, i16 0, i16 0, i16 15007, i16 0, i16 0, i16 0, i16 16031, i16 0, i16 0, i16 0, i16 13216, i16 15956, i16 0, i16 0, i16 12705, i16 0, i16 0, i16 0, i16 16289, i16 0, i16 0, i16 0, i16 674, i16 0, i16 0, i16 0, i16 15266, i16 0, i16 0, i16 0, i16 16290, i16 0, i16 0, i16 0, i16 16546, i16 0, i16 0, i16 0, i16 16802, i16 0, i16 0, i16 0, i16 12451, i16 0, i16 0, i16 0, i16 15523, i16 0, i16 0, i16 0, i16 16291, i16 0, i16 0, i16 0, i16 12452, i16 12408, i16 0, i16 0, i16 12708, i16 0, i16 0, i16 0, i16 12964, i16 0, i16 0, i16 0, i16 14244, i16 0, i16 0, i16 0, i16 16292, i16 0, i16 0, i16 0, i16 15269, i16 0, i16 0, i16 0, i16 16037, i16 0, i16 0, i16 0, i16 16549, i16 0, i16 0, i16 0, i16 12710, i16 15019, i16 0, i16 0, i16 15782, i16 0, i16 0, i16 0, i16 16294, i16 0, i16 0, i16 0, i16 12455, i16 17045, i16 0, i16 0, i16 12711, i16 13480, i16 0, i16 0, i16 13479, i16 0, i16 0, i16 0, i16 13991, i16 0, i16 0, i16 0, i16 14503, i16 0, i16 0, i16 0, i16 15527, i16 0, i16 0, i16 0, i16 16295, i16 16721, i16 0, i16 0, i16 12456, i16 0, i16 0, i16 0, i16 13224, i16 12838, i16 0, i16 0, i16 15784, i16 0, i16 0, i16 0, i16 13737, i16 0, i16 0, i16 0, i16 13738, i16 0, i16 0, i16 0, i16 13739, i16 0, i16 0, i16 0, i16 13995, i16 14438, i16 0, i16 0, i16 14763, i16 0, i16 0, i16 0, i16 16299, i16 13632, i16 0, i16 0, i16 13996, i16 14799, i16 0, i16 0, i16 15788, i16 13599, i16 0, i16 0, i16 14253, i16 12873, i16 0, i16 0, i16 14765, i16 0, i16 0, i16 0, i16 17069, i16 0, i16 0, i16 0, i16 174, i16 0, i16 0, i16 0, i16 15790, i16 0, i16 0, i16 0, i16 13743, i16 0, i16 0, i16 0, i16 15279, i16 16077, i16 0, i16 0, i16 13744, i16 13482, i16 0, i16 0, i16 15792, i16 0, i16 0, i16 0, i16 16816, i16 0, i16 0, i16 0, i16 14513, i16 15755, i16 0, i16 0, i16 178, i16 0, i16 0, i16 0, i16 13490, i16 16151, i16 0, i16 0, i16 14514, i16 16601, i16 0, i16 0, i16 15026, i16 0, i16 0, i16 0, i16 15538, i16 16535, i16 0, i16 0, i16 16562, i16 0, i16 0, i16 0, i16 16818, i16 0, i16 0, i16 0, i16 691, i16 0, i16 0, i16 0, i16 14515, i16 0, i16 0, i16 0, i16 16307, i16 0, i16 0, i16 0, i16 12980, i16 12981, i16 0, i16 0, i16 13492, i16 0, i16 0, i16 0, i16 15028, i16 0, i16 0, i16 0, i16 15284, i16 14607, i16 0, i16 0, i16 15285, i16 0, i16 0, i16 0, i16 694, i16 785, i16 0, i16 0, i16 12470, i16 15646, i16 0, i16 0, i16 15798, i16 0, i16 0, i16 0, i16 12983, i16 13478, i16 0, i16 0, i16 13495, i16 0, i16 0, i16 0, i16 12728, i16 16993, i16 0, i16 0, i16 12984, i16 14160, i16 0, i16 0, i16 13496, i16 0, i16 0, i16 0, i16 185, i16 184, i16 0, i16 0, i16 12985, i16 0, i16 0, i16 0, i16 15033, i16 0, i16 0, i16 0, i16 13498, i16 0, i16 0, i16 0, i16 16314, i16 16812, i16 0, i16 0, i16 187, i16 186, i16 0, i16 0, i16 699, i16 792, i16 0, i16 0, i16 14011, i16 12526, i16 0, i16 0, i16 16315, i16 0, i16 0, i16 0, i16 16571, i16 0, i16 0, i16 0, i16 13500, i16 0, i16 0, i16 0, i16 701, i16 793, i16 0, i16 0, i16 12733, i16 0, i16 0, i16 0, i16 13501, i16 0, i16 0, i16 0, i16 702, i16 795, i16 0, i16 0, i16 13246, i16 15414, i16 0, i16 0, i16 14014, i16 0, i16 0, i16 0, i16 191, i16 190, i16 0, i16 0, i16 12735, i16 0, i16 0, i16 0, i16 12991, i16 0, i16 0, i16 0, i16 13503, i16 0, i16 0, i16 0, i16 14271, i16 0, i16 0, i16 0, i16 14527, i16 14060, i16 0, i16 0, i16 12480, i16 0, i16 0, i16 0, i16 13249, i16 0, i16 0, i16 0, i16 15553, i16 14199, i16 0, i16 0, i16 16065, i16 0, i16 0, i16 0, i16 12738, i16 0, i16 0, i16 0, i16 14530, i16 14206, i16 0, i16 0, i16 14786, i16 0, i16 0, i16 0, i16 12995, i16 0, i16 0, i16 0, i16 14531, i16 0, i16 0, i16 0, i16 16579, i16 0, i16 0, i16 0, i16 15556, i16 0, i16 0, i16 0, i16 16836, i16 0, i16 0, i16 0, i16 14277, i16 0, i16 0, i16 0, i16 16325, i16 0, i16 0, i16 0, i16 16837, i16 0, i16 0, i16 0, i16 12742, i16 0, i16 0, i16 0, i16 16839, i16 0, i16 0, i16 0, i16 200, i16 201, i16 0, i16 0, i16 15304, i16 15303, i16 0, i16 0, i16 15816, i16 14955, i16 0, i16 0, i16 16328, i16 0, i16 0, i16 0, i16 16584, i16 0, i16 0, i16 0, i16 16073, i16 0, i16 0, i16 0, i16 16329, i16 0, i16 0, i16 0, i16 17097, i16 0, i16 0, i16 0, i16 202, i16 0, i16 0, i16 0, i16 13258, i16 0, i16 0, i16 0, i16 14794, i16 0, i16 0, i16 0, i16 15050, i16 0, i16 0, i16 0, i16 15562, i16 0, i16 0, i16 0, i16 16074, i16 0, i16 0, i16 0, i16 13260, i16 0, i16 0, i16 0, i16 13772, i16 15199, i16 0, i16 0, i16 16332, i16 0, i16 0, i16 0, i16 16588, i16 0, i16 0, i16 0, i16 13517, i16 0, i16 0, i16 0, i16 13262, i16 0, i16 0, i16 0, i16 15822, i16 0, i16 0, i16 0, i16 14543, i16 12589, i16 0, i16 0, i16 16335, i16 0, i16 0, i16 0, i16 12752, i16 13794, i16 0, i16 0, i16 13264, i16 0, i16 0, i16 0, i16 15057, i16 13046, i16 0, i16 0, i16 16849, i16 16921, i16 0, i16 0, i16 210, i16 211, i16 0, i16 0, i16 13522, i16 0, i16 0, i16 0, i16 14802, i16 0, i16 0, i16 0, i16 15314, i16 13029, i16 0, i16 0, i16 12499, i16 0, i16 0, i16 0, i16 13011, i16 0, i16 0, i16 0, i16 14035, i16 16620, i16 0, i16 0, i16 212, i16 213, i16 0, i16 0, i16 16084, i16 0, i16 0, i16 0, i16 16340, i16 0, i16 0, i16 0, i16 16342, i16 0, i16 0, i16 0, i16 13783, i16 0, i16 0, i16 0, i16 13016, i16 14788, i16 0, i16 0, i16 14808, i16 0, i16 0, i16 0, i16 15064, i16 0, i16 0, i16 0, i16 14041, i16 14269, i16 0, i16 0, i16 14297, i16 0, i16 0, i16 0, i16 15065, i16 0, i16 0, i16 0, i16 15833, i16 0, i16 0, i16 0, i16 13018, i16 0, i16 0, i16 0, i16 219, i16 0, i16 0, i16 0, i16 13787, i16 0, i16 0, i16 0, i16 14299, i16 0, i16 0, i16 0, i16 14811, i16 0, i16 0, i16 0, i16 15324, i16 16112, i16 0, i16 0, i16 13277, i16 0, i16 0, i16 0, i16 16605, i16 0, i16 0, i16 0, i16 13534, i16 0, i16 0, i16 0, i16 13790, i16 0, i16 0, i16 0, i16 15070, i16 0, i16 0, i16 0, i16 13791, i16 0, i16 0, i16 0, i16 14559, i16 0, i16 0, i16 0, i16 16607, i16 0, i16 0, i16 0, i16 16863, i16 14628, i16 0, i16 0, i16 17119, i16 0, i16 0, i16 0, i16 13024, i16 13060, i16 0, i16 0, i16 13536, i16 0, i16 0, i16 0, i16 14048, i16 0, i16 0, i16 0, i16 14816, i16 0, i16 0, i16 0, i16 15328, i16 0, i16 0, i16 0, i16 16352, i16 16046, i16 0, i16 0, i16 12513, i16 0, i16 0, i16 0, i16 14817, i16 0, i16 0, i16 0, i16 15329, i16 0, i16 0, i16 0, i16 15841, i16 0, i16 0, i16 0, i16 17121, i16 0, i16 0, i16 0, i16 13538, i16 0, i16 0, i16 0, i16 14050, i16 0, i16 0, i16 0, i16 15842, i16 14561, i16 0, i16 0, i16 16098, i16 0, i16 0, i16 0, i16 14564, i16 0, i16 0, i16 0, i16 15332, i16 0, i16 0, i16 0, i16 15845, i16 12345, i16 0, i16 0, i16 13798, i16 15306, i16 0, i16 0, i16 17126, i16 12973, i16 0, i16 0, i16 12520, i16 0, i16 0, i16 0, i16 14056, i16 0, i16 0, i16 0, i16 14568, i16 0, i16 0, i16 0, i16 14824, i16 0, i16 0, i16 0, i16 17129, i16 0, i16 0, i16 0, i16 12522, i16 12391, i16 0, i16 0, i16 13802, i16 0, i16 0, i16 0, i16 14570, i16 16105, i16 0, i16 0, i16 16106, i16 15989, i16 0, i16 0, i16 14827, i16 13366, i16 0, i16 0, i16 16875, i16 0, i16 0, i16 0, i16 15084, i16 15744, i16 0, i16 0, i16 13293, i16 0, i16 0, i16 0, i16 13549, i16 0, i16 0, i16 0, i16 14317, i16 0, i16 0, i16 0, i16 15853, i16 16114, i16 0, i16 0, i16 15854, i16 0, i16 0, i16 0, i16 13039, i16 0, i16 0, i16 0, i16 14064, i16 0, i16 0, i16 0, i16 14832, i16 17077, i16 0, i16 0, i16 15088, i16 0, i16 0, i16 0, i16 13553, i16 0, i16 0, i16 0, i16 14577, i16 0, i16 0, i16 0, i16 14833, i16 0, i16 0, i16 0, i16 15857, i16 0, i16 0, i16 0, i16 15090, i16 15635, i16 0, i16 0, i16 15346, i16 0, i16 0, i16 0, i16 15858, i16 14520, i16 0, i16 0, i16 16882, i16 0, i16 0, i16 0, i16 244, i16 243, i16 0, i16 0, i16 13812, i16 0, i16 0, i16 0, i16 14068, i16 0, i16 0, i16 0, i16 14325, i16 0, i16 0, i16 0, i16 17141, i16 16512, i16 0, i16 0, i16 13558, i16 0, i16 0, i16 0, i16 16374, i16 15645, i16 0, i16 0, i16 12535, i16 0, i16 0, i16 0, i16 16120, i16 0, i16 0, i16 0, i16 16376, i16 0, i16 0, i16 0, i16 17144, i16 16840, i16 0, i16 0, i16 14585, i16 0, i16 0, i16 0, i16 15097, i16 16614, i16 0, i16 0, i16 16121, i16 0, i16 0, i16 0, i16 16889, i16 0, i16 0, i16 0, i16 12794, i16 14493, i16 0, i16 0, i16 13562, i16 0, i16 0, i16 0, i16 14074, i16 0, i16 0, i16 0, i16 14587, i16 0, i16 0, i16 0, i16 12540, i16 0, i16 0, i16 0, i16 16124, i16 16211, i16 0, i16 0, i16 13565, i16 16820, i16 0, i16 0, i16 15101, i16 0, i16 0, i16 0, i16 15357, i16 0, i16 0, i16 0, i16 16638, i16 0, i16 0, i16 0, i16 13055, i16 0, i16 0, i16 0, i16 15871, i16 0, i16 0, i16 0, i16 16127, i16 0, i16 0, i16 0, i16 16383, i16 0, i16 0, i16 0, i16 16895, i16 0, i16 0, i16 14336, i16 0, i16 0, i16 0, i16 15872, i16 0, i16 0, i16 0, i16 16896, i16 12854, i16 0, i16 0, i16 12289, i16 0, i16 0, i16 0, i16 13057, i16 0, i16 0, i16 0, i16 14593, i16 0, i16 0, i16 0, i16 15361, i16 14291, i16 12990, i16 0, i16 16129, i16 0, i16 0, i16 0, i16 2, i16 3, i16 0, i16 0, i16 12290, i16 0, i16 0, i16 0, i16 13826, i16 14262, i16 0, i16 0, i16 15106, i16 0, i16 0, i16 0, i16 17154, i16 0, i16 0, i16 0, i16 12291, i16 0, i16 0, i16 0, i16 13315, i16 0, i16 0, i16 0, i16 14339, i16 12729, i16 13820, i16 0, i16 14851, i16 0, i16 0, i16 0, i16 15875, i16 0, i16 0, i16 0, i16 4, i16 5, i16 6, i16 0, i16 12292, i16 14533, i16 0, i16 0, i16 13316, i16 0, i16 0, i16 0, i16 16900, i16 12787, i16 15477, i16 0, i16 17156, i16 0, i16 14379, i16 0, i16 14341, i16 0, i16 0, i16 0, i16 14597, i16 0, i16 0, i16 0, i16 12550, i16 0, i16 0, i16 0, i16 15878, i16 0, i16 0, i16 0, i16 13575, i16 0, i16 0, i16 0, i16 14087, i16 13298, i16 0, i16 0, i16 14599, i16 0, i16 0, i16 0, i16 16135, i16 13144, i16 0, i16 0, i16 16391, i16 0, i16 0, i16 0, i16 520, i16 521, i16 522, i16 0, i16 13832, i16 0, i16 0, i16 0, i16 14088, i16 14747, i16 13614, i16 0, i16 14600, i16 14465, i16 0, i16 0, i16 16392, i16 0, i16 0, i16 0, i16 12809, i16 0, i16 0, i16 0, i16 13577, i16 15658, i16 0, i16 0, i16 13066, i16 0, i16 0, i16 0, i16 15114, i16 0, i16 15163, i16 0, i16 16650, i16 0, i16 15347, i16 0, i16 12811, i16 0, i16 0, i16 0, i16 13579, i16 0, i16 0, i16 0, i16 16139, i16 0, i16 13204, i16 0, i16 16651, i16 0, i16 12426, i16 0, i16 17163, i16 0, i16 0, i16 0, i16 14860, i16 0, i16 0, i16 0, i16 15884, i16 13063, i16 12474, i16 0, i16 17164, i16 17165, i16 0, i16 0, i16 13325, i16 16860, i16 0, i16 0, i16 16397, i16 0, i16 0, i16 0, i16 13326, i16 0, i16 0, i16 0, i16 16654, i16 0, i16 0, i16 0, i16 16910, i16 0, i16 0, i16 0, i16 783, i16 0, i16 0, i16 0, i16 13071, i16 16937, i16 15040, i16 0, i16 13583, i16 0, i16 0, i16 0, i16 14863, i16 0, i16 0, i16 0, i16 15119, i16 0, i16 16996, i16 0, i16 16655, i16 0, i16 16656, i16 0, i16 13584, i16 0, i16 15449, i16 0, i16 14608, i16 14546, i16 0, i16 0, i16 15120, i16 0, i16 0, i16 0, i16 16400, i16 0, i16 0, i16 0, i16 13329, i16 0, i16 0, i16 0, i16 14609, i16 17131, i16 0, i16 0, i16 15889, i16 12524, i16 0, i16 0, i16 786, i16 695, i16 787, i16 0, i16 12818, i16 12650, i16 0, i16 0, i16 13843, i16 0, i16 15910, i16 0, i16 14099, i16 0, i16 0, i16 0, i16 15123, i16 0, i16 13134, i16 0, i16 15891, i16 14665, i16 17026, i16 0, i16 14356, i16 13443, i16 14504, i16 0, i16 15124, i16 0, i16 0, i16 0, i16 16404, i16 0, i16 13658, i16 0, i16 16917, i16 0, i16 0, i16 0, i16 14358, i16 13399, i16 0, i16 0, i16 15126, i16 0, i16 0, i16 0, i16 15894, i16 12941, i16 12942, i16 0, i16 12311, i16 0, i16 0, i16 0, i16 14103, i16 0, i16 16763, i16 0, i16 15895, i16 0, i16 17074, i16 0, i16 16663, i16 0, i16 0, i16 0, i16 16919, i16 0, i16 0, i16 0, i16 15128, i16 0, i16 0, i16 0, i16 16664, i16 0, i16 0, i16 0, i16 16920, i16 0, i16 13816, i16 0, i16 13337, i16 0, i16 0, i16 0, i16 13849, i16 0, i16 15779, i16 0, i16 14873, i16 0, i16 0, i16 0, i16 15129, i16 0, i16 0, i16 0, i16 15641, i16 0, i16 0, i16 0, i16 15897, i16 0, i16 12885, i16 0, i16 13850, i16 0, i16 0, i16 0, i16 14362, i16 0, i16 0, i16 0, i16 16666, i16 16590, i16 15456, i16 0, i16 1051, i16 0, i16 0, i16 0, i16 16668, i16 16710, i16 12369, i16 0, i16 797, i16 703, i16 796, i16 0, i16 13853, i16 0, i16 0, i16 0, i16 15901, i16 16166, i16 14550, i16 0, i16 16157, i16 0, i16 0, i16 0, i16 13342, i16 16181, i16 12441, i16 0, i16 15134, i16 15135, i16 0, i16 0, i16 16414, i16 0, i16 0, i16 0, i16 287, i16 284, i16 0, i16 0, i16 14879, i16 16693, i16 0, i16 0, i16 16927, i16 13356, i16 0, i16 0, i16 288, i16 289, i16 290, i16 0, i16 12832, i16 16729, i16 0, i16 0, i16 15136, i16 0, i16 15657, i16 0, i16 15137, i16 0, i16 15988, i16 0, i16 16417, i16 0, i16 0, i16 0, i16 16673, i16 0, i16 13283, i16 0, i16 13602, i16 0, i16 0, i16 0, i16 14115, i16 0, i16 0, i16 0, i16 14371, i16 0, i16 0, i16 0, i16 16675, i16 0, i16 0, i16 0, i16 12580, i16 16042, i16 12849, i16 0, i16 13348, i16 14712, i16 15662, i16 0, i16 15140, i16 0, i16 0, i16 0, i16 15909, i16 0, i16 0, i16 0, i16 16933, i16 0, i16 13345, i16 0, i16 12582, i16 0, i16 13797, i16 0, i16 13350, i16 0, i16 0, i16 0, i16 13862, i16 0, i16 0, i16 0, i16 16934, i16 0, i16 0, i16 0, i16 15143, i16 16324, i16 0, i16 0, i16 12840, i16 15772, i16 0, i16 0, i16 14888, i16 14337, i16 0, i16 0, i16 16424, i16 0, i16 0, i16 0, i16 16680, i16 0, i16 0, i16 0, i16 16936, i16 12953, i16 0, i16 0, i16 14633, i16 0, i16 0, i16 0, i16 14889, i16 12899, i16 0, i16 0, i16 15401, i16 15603, i16 0, i16 0, i16 15146, i16 0, i16 0, i16 0, i16 13611, i16 0, i16 0, i16 0, i16 16684, i16 0, i16 0, i16 0, i16 14637, i16 0, i16 0, i16 0, i16 16429, i16 0, i16 0, i16 0, i16 12590, i16 0, i16 0, i16 0, i16 13358, i16 13570, i16 14553, i16 0, i16 14126, i16 0, i16 0, i16 0, i16 14894, i16 0, i16 0, i16 0, i16 15407, i16 15848, i16 16384, i16 0, i16 15919, i16 0, i16 0, i16 0, i16 16431, i16 0, i16 16343, i16 0, i16 16687, i16 0, i16 0, i16 0, i16 16943, i16 0, i16 0, i16 0, i16 15408, i16 0, i16 14373, i16 0, i16 15920, i16 0, i16 0, i16 0, i16 16176, i16 0, i16 16162, i16 0, i16 16688, i16 0, i16 16319, i16 0, i16 13617, i16 0, i16 0, i16 0, i16 14385, i16 0, i16 0, i16 0, i16 12338, i16 0, i16 0, i16 0, i16 12594, i16 0, i16 13859, i16 0, i16 12850, i16 0, i16 0, i16 0, i16 13618, i16 0, i16 0, i16 0, i16 14386, i16 0, i16 12777, i16 0, i16 15922, i16 16156, i16 13300, i16 0, i16 13363, i16 12934, i16 0, i16 0, i16 15668, i16 0, i16 0, i16 0, i16 16692, i16 0, i16 0, i16 0, i16 12341, i16 0, i16 0, i16 0, i16 14645, i16 13454, i16 13712, i16 0, i16 15925, i16 14582, i16 0, i16 0, i16 12342, i16 0, i16 0, i16 0, i16 13110, i16 0, i16 0, i16 0, i16 13622, i16 16877, i16 0, i16 0, i16 14134, i16 16977, i16 14101, i16 0, i16 15926, i16 0, i16 14100, i16 0, i16 12855, i16 0, i16 0, i16 0, i16 13111, i16 0, i16 0, i16 0, i16 15415, i16 0, i16 13550, i16 0, i16 12344, i16 14324, i16 0, i16 0, i16 13368, i16 17123, i16 0, i16 0, i16 13880, i16 0, i16 0, i16 0, i16 14136, i16 15933, i16 16499, i16 0, i16 15672, i16 0, i16 0, i16 0, i16 16184, i16 0, i16 0, i16 0, i16 14649, i16 17057, i16 12572, i16 0, i16 15161, i16 0, i16 13899, i16 0, i16 16697, i16 14679, i16 0, i16 0, i16 12602, i16 16064, i16 0, i16 0, i16 14650, i16 0, i16 0, i16 0, i16 14906, i16 15697, i16 14606, i16 0, i16 16186, i16 0, i16 0, i16 0, i16 16954, i16 0, i16 12615, i16 0, i16 12859, i16 0, i16 0, i16 0, i16 13883, i16 0, i16 0, i16 0, i16 16443, i16 0, i16 0, i16 0, i16 16955, i16 0, i16 0, i16 0, i16 1084, i16 0, i16 0, i16 0, i16 13372, i16 0, i16 15883, i16 0, i16 14652, i16 0, i16 15961, i16 0, i16 12605, i16 16723, i16 0, i16 0, i16 13373, i16 0, i16 0, i16 0, i16 14397, i16 0, i16 0, i16 0, i16 14653, i16 0, i16 0, i16 0, i16 14909, i16 15552, i16 14122, i16 0, i16 12862, i16 0, i16 0, i16 0, i16 13374, i16 0, i16 13511, i16 0, i16 12607, i16 0, i16 0, i16 0, i16 14143, i16 0, i16 0, i16 0, i16 15679, i16 0, i16 16861, i16 0, i16 16191, i16 0, i16 0, i16 0, i16 12352, i16 0, i16 13142, i16 0, i16 12608, i16 0, i16 0, i16 0, i16 13120, i16 0, i16 0, i16 0, i16 13376, i16 16172, i16 12431, i16 0, i16 13888, i16 0, i16 0, i16 0, i16 14400, i16 0, i16 0, i16 0, i16 15680, i16 13424, i16 0, i16 0, i16 13633, i16 0, i16 0, i16 0, i16 15170, i16 0, i16 0, i16 0, i16 15682, i16 0, i16 0, i16 0, i16 16194, i16 0, i16 12409, i16 0, i16 14403, i16 0, i16 15776, i16 0, i16 14659, i16 14658, i16 0, i16 0, i16 15171, i16 0, i16 0, i16 0, i16 16195, i16 0, i16 13887, i16 0, i16 13124, i16 0, i16 0, i16 0, i16 13636, i16 0, i16 0, i16 0, i16 14404, i16 0, i16 0, i16 0, i16 16196, i16 0, i16 0, i16 0, i16 16452, i16 0, i16 0, i16 0, i16 16964, i16 0, i16 14108, i16 0, i16 14661, i16 0, i16 12817, i16 0, i16 14917, i16 16969, i16 12392, i16 0, i16 15941, i16 0, i16 15896, i16 0, i16 16197, i16 0, i16 0, i16 0, i16 16454, i16 0, i16 0, i16 0, i16 13639, i16 0, i16 0, i16 0, i16 14919, i16 0, i16 0, i16 0, i16 15175, i16 0, i16 14644, i16 0, i16 15687, i16 0, i16 16380, i16 0, i16 13384, i16 0, i16 0, i16 0, i16 13896, i16 0, i16 0, i16 0, i16 14408, i16 0, i16 0, i16 0, i16 13897, i16 0, i16 0, i16 0, i16 12618, i16 17068, i16 0, i16 0, i16 13642, i16 16781, i16 0, i16 0, i16 13898, i16 16924, i16 0, i16 0, i16 15178, i16 14797, i16 0, i16 0, i16 12363, i16 0, i16 0, i16 0, i16 14411, i16 16971, i16 0, i16 0, i16 14923, i16 0, i16 15843, i16 0, i16 15947, i16 0, i16 0, i16 0, i16 16459, i16 0, i16 0, i16 0, i16 16715, i16 0, i16 0, i16 0, i16 14156, i16 0, i16 0, i16 0, i16 12877, i16 0, i16 16806, i16 0, i16 13389, i16 0, i16 0, i16 0, i16 14157, i16 0, i16 0, i16 0, i16 16461, i16 0, i16 16018, i16 0, i16 16717, i16 0, i16 0, i16 0, i16 13902, i16 0, i16 0, i16 0, i16 14926, i16 0, i16 12720, i16 0, i16 15694, i16 0, i16 15793, i16 0, i16 15950, i16 0, i16 0, i16 0, i16 16974, i16 0, i16 0, i16 0, i16 12879, i16 0, i16 0, i16 0, i16 14671, i16 0, i16 0, i16 0, i16 15439, i16 0, i16 0, i16 0, i16 15695, i16 0, i16 0, i16 0, i16 14416, i16 0, i16 0, i16 0, i16 15696, i16 0, i16 16589, i16 0, i16 14673, i16 0, i16 0, i16 0, i16 16465, i16 0, i16 15220, i16 0, i16 14162, i16 0, i16 0, i16 0, i16 16466, i16 15454, i16 13875, i16 0, i16 12627, i16 0, i16 0, i16 0, i16 13139, i16 0, i16 15444, i16 0, i16 13395, i16 0, i16 0, i16 0, i16 13651, i16 0, i16 0, i16 0, i16 16979, i16 0, i16 0, i16 0, i16 13140, i16 0, i16 0, i16 0, i16 13908, i16 0, i16 0, i16 0, i16 14420, i16 0, i16 0, i16 0, i16 14676, i16 0, i16 0, i16 0, i16 16212, i16 0, i16 0, i16 0, i16 16724, i16 0, i16 0, i16 0, i16 13141, i16 15167, i16 12734, i16 0, i16 13653, i16 0, i16 0, i16 0, i16 14421, i16 0, i16 12527, i16 0, i16 14677, i16 0, i16 0, i16 0, i16 15701, i16 0, i16 0, i16 0, i16 16213, i16 0, i16 0, i16 0, i16 12374, i16 12375, i16 0, i16 0, i16 12630, i16 0, i16 0, i16 0, i16 14678, i16 0, i16 0, i16 0, i16 16982, i16 13183, i16 0, i16 0, i16 13655, i16 0, i16 16233, i16 0, i16 14935, i16 0, i16 0, i16 0, i16 15447, i16 0, i16 0, i16 0, i16 16471, i16 13382, i16 0, i16 0, i16 16983, i16 15838, i16 14030, i16 0, i16 12376, i16 0, i16 0, i16 0, i16 14168, i16 0, i16 0, i16 0, i16 16216, i16 0, i16 14287, i16 0, i16 16728, i16 0, i16 0, i16 0, i16 89, i16 0, i16 0, i16 0, i16 14425, i16 0, i16 0, i16 0, i16 15705, i16 0, i16 0, i16 0, i16 16473, i16 0, i16 13593, i16 0, i16 16985, i16 0, i16 13907, i16 0, i16 90, i16 91, i16 92, i16 0, i16 12891, i16 0, i16 0, i16 0, i16 13915, i16 0, i16 0, i16 0, i16 14171, i16 0, i16 0, i16 0, i16 15707, i16 0, i16 0, i16 0, i16 12892, i16 0, i16 0, i16 0, i16 13660, i16 0, i16 0, i16 0, i16 14428, i16 0, i16 0, i16 0, i16 14940, i16 0, i16 0, i16 0, i16 16220, i16 16689, i16 15887, i16 0, i16 16988, i16 0, i16 0, i16 0, i16 12893, i16 0, i16 12842, i16 0, i16 14685, i16 16372, i16 0, i16 0, i16 13918, i16 12927, i16 0, i16 0, i16 16734, i16 0, i16 15318, i16 0, i16 13663, i16 0, i16 16595, i16 0, i16 12640, i16 0, i16 0, i16 0, i16 14945, i16 0, i16 0, i16 0, i16 15457, i16 0, i16 0, i16 0, i16 15713, i16 16567, i16 0, i16 0, i16 16225, i16 0, i16 15660, i16 0, i16 12386, i16 0, i16 0, i16 0, i16 14690, i16 0, i16 17039, i16 0, i16 16482, i16 0, i16 0, i16 0, i16 12643, i16 15955, i16 12727, i16 0, i16 13155, i16 12358, i16 0, i16 0, i16 13411, i16 17107, i16 0, i16 0, i16 16227, i16 0, i16 0, i16 0, i16 13412, i16 0, i16 15652, i16 0, i16 13924, i16 14113, i16 0, i16 0, i16 15972, i16 17161, i16 14439, i16 0, i16 16740, i16 0, i16 0, i16 0, i16 12901, i16 0, i16 0, i16 0, i16 15205, i16 0, i16 13167, i16 0, i16 15973, i16 0, i16 0, i16 0, i16 16741, i16 0, i16 14792, i16 0, i16 12646, i16 0, i16 12827, i16 0, i16 12902, i16 16984, i16 13252, i16 0, i16 14182, i16 0, i16 0, i16 0, i16 15462, i16 0, i16 0, i16 0, i16 12903, i16 0, i16 0, i16 0, i16 13159, i16 0, i16 0, i16 0, i16 14183, i16 0, i16 0, i16 0, i16 15207, i16 0, i16 0, i16 0, i16 15719, i16 0, i16 0, i16 0, i16 872, i16 873, i16 874, i16 0, i16 13672, i16 0, i16 0, i16 0, i16 14184, i16 0, i16 13723, i16 0, i16 14440, i16 15702, i16 13754, i16 0, i16 14696, i16 0, i16 12323, i16 0, i16 16488, i16 0, i16 0, i16 0, i16 12649, i16 0, i16 0, i16 0, i16 13161, i16 15899, i16 0, i16 0, i16 14185, i16 0, i16 0, i16 0, i16 14441, i16 0, i16 0, i16 0, i16 13162, i16 0, i16 0, i16 0, i16 13419, i16 0, i16 0, i16 0, i16 14443, i16 0, i16 0, i16 0, i16 15979, i16 16623, i16 0, i16 0, i16 876, i16 877, i16 878, i16 0, i16 13932, i16 13543, i16 0, i16 0, i16 17004, i16 16055, i16 15825, i16 0, i16 12397, i16 13647, i16 0, i16 0, i16 13165, i16 17058, i16 13093, i16 0, i16 14957, i16 0, i16 16405, i16 0, i16 15469, i16 0, i16 0, i16 0, i16 16749, i16 0, i16 0, i16 0, i16 13166, i16 0, i16 13950, i16 0, i16 15470, i16 12770, i16 0, i16 0, i16 16494, i16 13846, i16 16862, i16 0, i16 12655, i16 16472, i16 0, i16 0, i16 12911, i16 0, i16 14435, i16 0, i16 14447, i16 13098, i16 0, i16 0, i16 15215, i16 0, i16 0, i16 0, i16 15471, i16 0, i16 0, i16 0, i16 15727, i16 15044, i16 0, i16 0, i16 17007, i16 15700, i16 12367, i16 0, i16 12400, i16 0, i16 0, i16 0, i16 12912, i16 0, i16 0, i16 0, i16 14192, i16 0, i16 0, i16 0, i16 16240, i16 15211, i16 0, i16 0, i16 16496, i16 0, i16 16462, i16 0, i16 12401, i16 0, i16 0, i16 0, i16 14193, i16 16914, i16 16725, i16 0, i16 15217, i16 0, i16 12511, i16 0, i16 16497, i16 0, i16 14251, i16 0, i16 12402, i16 0, i16 0, i16 0, i16 13682, i16 0, i16 15219, i16 0, i16 14962, i16 0, i16 16960, i16 0, i16 12659, i16 16333, i16 0, i16 0, i16 13683, i16 0, i16 0, i16 0, i16 13684, i16 0, i16 12944, i16 0, i16 16756, i16 16757, i16 12346, i16 0, i16 17012, i16 13397, i16 0, i16 0, i16 17013, i16 0, i16 0, i16 0, i16 13430, i16 0, i16 0, i16 0, i16 14454, i16 0, i16 0, i16 0, i16 15222, i16 0, i16 0, i16 0, i16 15990, i16 0, i16 12661, i16 0, i16 13943, i16 13179, i16 16645, i16 0, i16 14455, i16 0, i16 0, i16 0, i16 14967, i16 0, i16 0, i16 0, i16 17015, i16 0, i16 15677, i16 0, i16 12920, i16 0, i16 0, i16 0, i16 15736, i16 0, i16 14401, i16 0, i16 13433, i16 12583, i16 0, i16 0, i16 13945, i16 0, i16 0, i16 0, i16 17017, i16 0, i16 0, i16 0, i16 15226, i16 0, i16 0, i16 0, i16 15994, i16 16110, i16 0, i16 0, i16 16762, i16 0, i16 0, i16 0, i16 15739, i16 0, i16 0, i16 0, i16 16507, i16 0, i16 0, i16 0, i16 15740, i16 0, i16 0, i16 0, i16 13693, i16 0, i16 13630, i16 0, i16 13949, i16 0, i16 14130, i16 0, i16 14461, i16 0, i16 0, i16 0, i16 15741, i16 0, i16 0, i16 0, i16 382, i16 383, i16 384, i16 0, i16 12670, i16 0, i16 0, i16 0, i16 13694, i16 0, i16 0, i16 0, i16 14718, i16 0, i16 0, i16 0, i16 16254, i16 16540, i16 14067, i16 0, i16 17022, i16 0, i16 0, i16 0, i16 13951, i16 14569, i16 0, i16 0, i16 14719, i16 0, i16 0, i16 0, i16 14975, i16 0, i16 0, i16 0, i16 15999, i16 16395, i16 0, i16 0, i16 16255, i16 15970, i16 0, i16 0, i16 14464, i16 0, i16 0, i16 0, i16 16000, i16 0, i16 15654, i16 0, i16 16768, i16 0, i16 0, i16 0, i16 129, i16 130, i16 0, i16 0, i16 12417, i16 0, i16 0, i16 0, i16 14209, i16 0, i16 0, i16 0, i16 16257, i16 13839, i16 0, i16 0, i16 12418, i16 0, i16 0, i16 0, i16 13698, i16 0, i16 0, i16 0, i16 14722, i16 0, i16 0, i16 0, i16 16514, i16 0, i16 0, i16 0, i16 15236, i16 0, i16 12423, i16 0, i16 17028, i16 0, i16 14146, i16 0, i16 133, i16 0, i16 0, i16 0, i16 13957, i16 0, i16 0, i16 0, i16 14469, i16 0, i16 14664, i16 0, i16 15749, i16 15089, i16 0, i16 0, i16 16773, i16 0, i16 0, i16 0, i16 17029, i16 16890, i16 0, i16 0, i16 134, i16 0, i16 0, i16 0, i16 12422, i16 16944, i16 0, i16 0, i16 13702, i16 0, i16 0, i16 0, i16 14726, i16 12950, i16 15112, i16 0, i16 135, i16 0, i16 216, i16 0, i16 12935, i16 15489, i16 14213, i16 0, i16 13191, i16 13212, i16 14463, i16 0, i16 13959, i16 13804, i16 0, i16 0, i16 16007, i16 0, i16 16851, i16 0, i16 17031, i16 0, i16 15590, i16 0, i16 13192, i16 0, i16 14757, i16 0, i16 13448, i16 0, i16 0, i16 0, i16 14728, i16 0, i16 14610, i16 0, i16 16008, i16 0, i16 0, i16 0, i16 12681, i16 0, i16 0, i16 0, i16 15753, i16 0, i16 0, i16 0, i16 13194, i16 0, i16 14601, i16 0, i16 13706, i16 13328, i16 0, i16 0, i16 12683, i16 0, i16 0, i16 0, i16 16267, i16 13977, i16 0, i16 0, i16 16523, i16 0, i16 0, i16 0, i16 13196, i16 16505, i16 0, i16 0, i16 16268, i16 0, i16 0, i16 0, i16 15501, i16 0, i16 0, i16 0, i16 13966, i16 0, i16 14225, i16 0, i16 14222, i16 0, i16 15866, i16 0, i16 16782, i16 15483, i16 12909, i16 0, i16 14991, i16 0, i16 0, i16 0, i16 14224, i16 16057, i16 16615, i16 0, i16 14480, i16 0, i16 0, i16 0, i16 14736, i16 0, i16 16389, i16 0, i16 14992, i16 0, i16 12530, i16 0, i16 15760, i16 0, i16 15102, i16 0, i16 16528, i16 0, i16 12544, i16 0, i16 12689, i16 0, i16 0, i16 0, i16 14481, i16 0, i16 0, i16 0, i16 16017, i16 0, i16 16265, i16 0, i16 16273, i16 0, i16 0, i16 0, i16 17041, i16 12577, i16 0, i16 0, i16 13714, i16 0, i16 17088, i16 0, i16 13970, i16 0, i16 0, i16 0, i16 14994, i16 0, i16 0, i16 0, i16 13203, i16 0, i16 15248, i16 0, i16 13715, i16 0, i16 0, i16 0, i16 14227, i16 0, i16 14729, i16 0, i16 12436, i16 12560, i16 0, i16 0, i16 15508, i16 0, i16 0, i16 0, i16 16020, i16 13774, i16 13965, i16 0, i16 16788, i16 0, i16 13922, i16 0, i16 12949, i16 14112, i16 0, i16 0, i16 14485, i16 12372, i16 0, i16 0, i16 14997, i16 0, i16 0, i16 0, i16 15509, i16 17038, i16 0, i16 0, i16 15765, i16 0, i16 13172, i16 0, i16 16021, i16 0, i16 0, i16 0, i16 16533, i16 17065, i16 15937, i16 0, i16 14742, i16 0, i16 0, i16 0, i16 14998, i16 0, i16 0, i16 0, i16 16278, i16 12741, i16 0, i16 0, i16 16534, i16 0, i16 0, i16 0, i16 14487, i16 0, i16 0, i16 0, i16 16279, i16 0, i16 0, i16 0, i16 13720, i16 0, i16 14858, i16 0, i16 16280, i16 14376, i16 0, i16 0, i16 13721, i16 0, i16 13661, i16 0, i16 15769, i16 0, i16 0, i16 0, i16 16025, i16 0, i16 12517, i16 0, i16 13978, i16 0, i16 0, i16 0, i16 14234, i16 0, i16 0, i16 0, i16 14490, i16 0, i16 16578, i16 0, i16 13467, i16 0, i16 0, i16 0, i16 15259, i16 0, i16 0, i16 0, i16 13724, i16 13489, i16 0, i16 0, i16 14492, i16 0, i16 0, i16 0, i16 15260, i16 0, i16 0, i16 0, i16 12445, i16 0, i16 0, i16 0, i16 13981, i16 0, i16 0, i16 0, i16 14749, i16 0, i16 15349, i16 0, i16 16797, i16 14625, i16 0, i16 0, i16 14750, i16 0, i16 14516, i16 0, i16 15262, i16 0, i16 0, i16 0, i16 15774, i16 0, i16 0, i16 0, i16 16286, i16 13429, i16 14081, i16 0, i16 12703, i16 0, i16 0, i16 0, i16 12959, i16 0, i16 0, i16 0, i16 13471, i16 0, i16 0, i16 0, i16 16799, i16 0, i16 0, i16 0, i16 14240, i16 0, i16 0, i16 0, i16 15264, i16 0, i16 0, i16 0, i16 16288, i16 0, i16 0, i16 0, i16 12449, i16 0, i16 0, i16 0, i16 14754, i16 0, i16 0, i16 0, i16 16034, i16 0, i16 14965, i16 0, i16 13219, i16 0, i16 0, i16 0, i16 13475, i16 12802, i16 0, i16 0, i16 13987, i16 0, i16 0, i16 0, i16 14499, i16 0, i16 14961, i16 0, i16 14755, i16 0, i16 0, i16 0, i16 15011, i16 0, i16 0, i16 0, i16 16035, i16 0, i16 0, i16 0, i16 16803, i16 0, i16 14505, i16 0, i16 13988, i16 0, i16 0, i16 0, i16 15012, i16 0, i16 13477, i16 0, i16 15268, i16 0, i16 0, i16 0, i16 12453, i16 0, i16 0, i16 0, i16 14245, i16 0, i16 0, i16 0, i16 15270, i16 13548, i16 0, i16 0, i16 13223, i16 12676, i16 0, i16 0, i16 15015, i16 0, i16 14969, i16 0, i16 16039, i16 0, i16 0, i16 0, i16 16551, i16 0, i16 0, i16 0, i16 13992, i16 12922, i16 12751, i16 0, i16 14248, i16 0, i16 13984, i16 0, i16 15016, i16 0, i16 0, i16 0, i16 169, i16 347, i16 0, i16 0, i16 14761, i16 0, i16 0, i16 0, i16 16809, i16 0, i16 15476, i16 0, i16 12970, i16 0, i16 0, i16 0, i16 14506, i16 12454, i16 0, i16 0, i16 14762, i16 0, i16 0, i16 0, i16 15786, i16 16009, i16 0, i16 0, i16 14507, i16 0, i16 13835, i16 0, i16 16555, i16 14270, i16 15187, i16 0, i16 12716, i16 16963, i16 13886, i16 0, i16 13740, i16 0, i16 0, i16 0, i16 14252, i16 0, i16 13592, i16 0, i16 15532, i16 0, i16 0, i16 0, i16 173, i16 0, i16 0, i16 0, i16 12461, i16 0, i16 0, i16 0, i16 14510, i16 12978, i16 0, i16 0, i16 16814, i16 0, i16 0, i16 0, i16 12719, i16 15416, i16 0, i16 0, i16 13231, i16 0, i16 0, i16 0, i16 13487, i16 0, i16 0, i16 0, i16 16047, i16 0, i16 0, i16 0, i16 16303, i16 13486, i16 15435, i16 0, i16 12464, i16 0, i16 0, i16 0, i16 13232, i16 0, i16 14864, i16 0, i16 14000, i16 0, i16 0, i16 0, i16 15280, i16 0, i16 0, i16 0, i16 16304, i16 0, i16 0, i16 0, i16 17072, i16 0, i16 13786, i16 0, i16 13745, i16 0, i16 0, i16 0, i16 14001, i16 0, i16 16036, i16 0, i16 17073, i16 0, i16 0, i16 0, i16 12722, i16 0, i16 0, i16 0, i16 14002, i16 13056, i16 16377, i16 0, i16 16306, i16 0, i16 0, i16 0, i16 12467, i16 0, i16 0, i16 0, i16 12979, i16 15210, i16 0, i16 0, i16 13235, i16 16467, i16 0, i16 0, i16 14003, i16 0, i16 12539, i16 0, i16 14259, i16 0, i16 0, i16 0, i16 12468, i16 0, i16 0, i16 0, i16 13236, i16 0, i16 0, i16 0, i16 13748, i16 0, i16 0, i16 0, i16 14772, i16 0, i16 0, i16 0, i16 14261, i16 0, i16 16750, i16 0, i16 15797, i16 0, i16 15079, i16 0, i16 182, i16 181, i16 0, i16 0, i16 12982, i16 0, i16 0, i16 0, i16 16566, i16 14236, i16 12396, i16 0, i16 14007, i16 0, i16 14200, i16 0, i16 15287, i16 15298, i16 0, i16 0, i16 16311, i16 0, i16 0, i16 0, i16 17079, i16 0, i16 16957, i16 0, i16 14008, i16 0, i16 0, i16 0, i16 14264, i16 0, i16 0, i16 0, i16 15032, i16 0, i16 0, i16 0, i16 15800, i16 0, i16 12647, i16 0, i16 17080, i16 0, i16 0, i16 0, i16 14777, i16 0, i16 12653, i16 0, i16 12730, i16 13939, i16 0, i16 0, i16 13242, i16 0, i16 0, i16 0, i16 17082, i16 15463, i16 0, i16 0, i16 13243, i16 0, i16 0, i16 0, i16 13499, i16 0, i16 12619, i16 0, i16 15547, i16 0, i16 0, i16 0, i16 16059, i16 0, i16 0, i16 0, i16 16827, i16 0, i16 0, i16 0, i16 12732, i16 0, i16 0, i16 0, i16 14780, i16 0, i16 0, i16 0, i16 16060, i16 16222, i16 16477, i16 0, i16 14013, i16 0, i16 0, i16 0, i16 16829, i16 14875, i16 0, i16 0, i16 12478, i16 0, i16 13819, i16 0, i16 16318, i16 0, i16 0, i16 0, i16 17086, i16 16766, i16 0, i16 0, i16 959, i16 960, i16 961, i16 0, i16 12479, i16 17114, i16 0, i16 0, i16 16831, i16 0, i16 0, i16 0, i16 17087, i16 0, i16 14320, i16 0, i16 12736, i16 0, i16 0, i16 0, i16 14784, i16 0, i16 0, i16 0, i16 15296, i16 0, i16 0, i16 0, i16 14529, i16 15967, i16 0, i16 0, i16 14785, i16 0, i16 14535, i16 0, i16 16577, i16 0, i16 16787, i16 0, i16 14018, i16 0, i16 12889, i16 0, i16 15554, i16 16918, i16 14331, i16 0, i16 17090, i16 0, i16 0, i16 0, i16 13507, i16 0, i16 0, i16 0, i16 14787, i16 14334, i16 12388, i16 0, i16 15555, i16 13137, i16 0, i16 0, i16 16067, i16 0, i16 14279, i16 0, i16 16835, i16 0, i16 0, i16 0, i16 14276, i16 0, i16 0, i16 0, i16 14532, i16 0, i16 0, i16 0, i16 15812, i16 0, i16 0, i16 0, i16 16580, i16 0, i16 16561, i16 0, i16 17092, i16 13324, i16 0, i16 0, i16 12485, i16 0, i16 0, i16 0, i16 13509, i16 0, i16 0, i16 0, i16 16581, i16 0, i16 0, i16 0, i16 17093, i16 14943, i16 0, i16 0, i16 13766, i16 16326, i16 0, i16 0, i16 15302, i16 0, i16 0, i16 0, i16 12487, i16 16568, i16 0, i16 0, i16 15559, i16 0, i16 0, i16 0, i16 15815, i16 0, i16 13257, i16 0, i16 16327, i16 0, i16 0, i16 0, i16 16583, i16 0, i16 0, i16 0, i16 12488, i16 0, i16 0, i16 0, i16 12744, i16 0, i16 16842, i16 0, i16 14024, i16 17150, i16 0, i16 0, i16 15048, i16 0, i16 0, i16 0, i16 13769, i16 0, i16 0, i16 0, i16 14537, i16 0, i16 0, i16 0, i16 14538, i16 0, i16 0, i16 0, i16 16330, i16 0, i16 0, i16 0, i16 12491, i16 0, i16 0, i16 0, i16 12747, i16 0, i16 0, i16 0, i16 14283, i16 0, i16 0, i16 0, i16 15563, i16 15180, i16 0, i16 0, i16 16331, i16 0, i16 0, i16 0, i16 16587, i16 16365, i16 0, i16 0, i16 204, i16 160, i16 0, i16 0, i16 12492, i16 0, i16 0, i16 0, i16 12748, i16 12463, i16 14825, i16 0, i16 15564, i16 14603, i16 14662, i16 0, i16 16076, i16 16453, i16 0, i16 0, i16 12493, i16 13904, i16 0, i16 0, i16 14029, i16 0, i16 0, i16 0, i16 12750, i16 0, i16 13916, i16 0, i16 15054, i16 0, i16 0, i16 0, i16 16334, i16 0, i16 0, i16 0, i16 16846, i16 0, i16 0, i16 0, i16 15312, i16 16790, i16 14958, i16 0, i16 15824, i16 0, i16 0, i16 0, i16 12497, i16 0, i16 0, i16 0, i16 12498, i16 16586, i16 0, i16 0, i16 13266, i16 0, i16 0, i16 0, i16 16082, i16 0, i16 0, i16 0, i16 16338, i16 16898, i16 0, i16 0, i16 13267, i16 0, i16 0, i16 0, i16 15571, i16 0, i16 13048, i16 0, i16 16339, i16 0, i16 0, i16 0, i16 13268, i16 0, i16 16251, i16 0, i16 14548, i16 0, i16 13322, i16 0, i16 17108, i16 0, i16 0, i16 0, i16 13525, i16 0, i16 0, i16 0, i16 14549, i16 16208, i16 0, i16 0, i16 15061, i16 16355, i16 12754, i16 0, i16 16085, i16 0, i16 16086, i16 0, i16 16341, i16 0, i16 0, i16 0, i16 12758, i16 0, i16 0, i16 0, i16 13782, i16 13206, i16 0, i16 0, i16 14038, i16 0, i16 0, i16 0, i16 14294, i16 0, i16 0, i16 0, i16 13271, i16 15273, i16 0, i16 0, i16 14551, i16 0, i16 0, i16 0, i16 15063, i16 0, i16 0, i16 0, i16 15319, i16 15008, i16 0, i16 0, i16 16087, i16 0, i16 0, i16 0, i16 16855, i16 0, i16 0, i16 0, i16 17111, i16 0, i16 0, i16 0, i16 13528, i16 0, i16 0, i16 0, i16 15320, i16 13709, i16 0, i16 0, i16 15576, i16 0, i16 0, i16 0, i16 15832, i16 0, i16 0, i16 0, i16 17112, i16 0, i16 15491, i16 0, i16 15577, i16 15748, i16 0, i16 0, i16 16857, i16 0, i16 0, i16 0, i16 17113, i16 0, i16 0, i16 0, i16 12506, i16 0, i16 0, i16 0, i16 13530, i16 0, i16 16095, i16 0, i16 15834, i16 16856, i16 0, i16 0, i16 16090, i16 0, i16 15381, i16 0, i16 16346, i16 0, i16 0, i16 0, i16 16858, i16 0, i16 0, i16 0, i16 12507, i16 15526, i16 12403, i16 0, i16 16091, i16 0, i16 0, i16 0, i16 16347, i16 14430, i16 0, i16 0, i16 14044, i16 0, i16 0, i16 0, i16 14556, i16 0, i16 13251, i16 0, i16 12765, i16 0, i16 0, i16 0, i16 17117, i16 0, i16 0, i16 0, i16 14302, i16 0, i16 0, i16 0, i16 16094, i16 0, i16 12956, i16 0, i16 12767, i16 0, i16 0, i16 0, i16 15583, i16 0, i16 14655, i16 0, i16 14304, i16 15497, i16 0, i16 0, i16 14560, i16 0, i16 0, i16 0, i16 15840, i16 0, i16 16260, i16 0, i16 13281, i16 0, i16 0, i16 0, i16 14049, i16 0, i16 0, i16 0, i16 16097, i16 0, i16 12370, i16 0, i16 15074, i16 0, i16 0, i16 0, i16 15330, i16 15690, i16 15960, i16 0, i16 16866, i16 0, i16 0, i16 0, i16 227, i16 0, i16 0, i16 0, i16 12515, i16 0, i16 13876, i16 0, i16 14563, i16 0, i16 0, i16 0, i16 16611, i16 0, i16 0, i16 0, i16 12516, i16 0, i16 0, i16 0, i16 13284, i16 0, i16 0, i16 0, i16 13540, i16 0, i16 0, i16 0, i16 13796, i16 0, i16 0, i16 0, i16 14308, i16 0, i16 0, i16 0, i16 14309, i16 0, i16 0, i16 0, i16 14565, i16 0, i16 16525, i16 0, i16 16101, i16 14818, i16 0, i16 0, i16 16357, i16 14010, i16 0, i16 0, i16 14566, i16 0, i16 0, i16 0, i16 15334, i16 0, i16 0, i16 0, i16 16102, i16 16942, i16 15214, i16 0, i16 15847, i16 0, i16 0, i16 0, i16 16359, i16 15252, i16 0, i16 0, i16 232, i16 0, i16 0, i16 0, i16 15336, i16 0, i16 15165, i16 0, i16 16361, i16 15730, i16 0, i16 0, i16 14058, i16 0, i16 0, i16 0, i16 14314, i16 0, i16 0, i16 0, i16 15082, i16 12921, i16 14023, i16 0, i16 12779, i16 0, i16 0, i16 0, i16 13035, i16 0, i16 0, i16 0, i16 15083, i16 16001, i16 0, i16 0, i16 15595, i16 0, i16 0, i16 0, i16 16107, i16 0, i16 14187, i16 0, i16 16363, i16 0, i16 0, i16 0, i16 236, i16 0, i16 0, i16 0, i16 15596, i16 0, i16 0, i16 0, i16 16876, i16 0, i16 0, i16 0, i16 14061, i16 0, i16 0, i16 0, i16 14829, i16 14436, i16 16437, i16 0, i16 16621, i16 15846, i16 0, i16 0, i16 17133, i16 0, i16 0, i16 0, i16 12782, i16 0, i16 0, i16 0, i16 14318, i16 0, i16 14389, i16 0, i16 15598, i16 12969, i16 0, i16 0, i16 239, i16 0, i16 0, i16 0, i16 13295, i16 0, i16 0, i16 0, i16 496, i16 497, i16 498, i16 0, i16 12784, i16 0, i16 14922, i16 0, i16 16624, i16 0, i16 0, i16 0, i16 16880, i16 16428, i16 16881, i16 0, i16 14322, i16 15067, i16 0, i16 0, i16 14578, i16 0, i16 0, i16 0, i16 15602, i16 0, i16 0, i16 0, i16 12531, i16 0, i16 0, i16 0, i16 13299, i16 14574, i16 0, i16 0, i16 15859, i16 12469, i16 0, i16 0, i16 17139, i16 0, i16 0, i16 0, i16 12532, i16 0, i16 0, i16 0, i16 14836, i16 0, i16 0, i16 0, i16 13301, i16 0, i16 0, i16 0, i16 13557, i16 13244, i16 16772, i16 0, i16 12534, i16 0, i16 13973, i16 0, i16 13814, i16 13690, i16 0, i16 0, i16 14070, i16 0, i16 0, i16 0, i16 15862, i16 0, i16 0, i16 0, i16 16118, i16 0, i16 0, i16 0, i16 13303, i16 0, i16 0, i16 0, i16 13559, i16 14258, i16 0, i16 0, i16 14327, i16 14477, i16 0, i16 0, i16 16119, i16 0, i16 13937, i16 0, i16 16887, i16 0, i16 0, i16 0, i16 17143, i16 12677, i16 0, i16 0, i16 14840, i16 12604, i16 15706, i16 0, i16 14329, i16 0, i16 15728, i16 0, i16 16633, i16 0, i16 15151, i16 0, i16 13818, i16 16626, i16 15466, i16 0, i16 14330, i16 0, i16 0, i16 0, i16 16634, i16 12664, i16 0, i16 0, i16 251, i16 0, i16 0, i16 0, i16 13307, i16 0, i16 12887, i16 0, i16 16123, i16 0, i16 0, i16 0, i16 16379, i16 0, i16 0, i16 0, i16 16635, i16 0, i16 0, i16 0, i16 17147, i16 16591, i16 0, i16 0, i16 12796, i16 0, i16 0, i16 0, i16 14844, i16 0, i16 0, i16 0, i16 15356, i16 0, i16 0, i16 0, i16 15868, i16 0, i16 0, i16 0, i16 16636, i16 0, i16 0, i16 0, i16 16892, i16 13247, i16 0, i16 0, i16 12797, i16 0, i16 0, i16 0, i16 15613, i16 14079, i16 0, i16 0, i16 12286, i16 0, i16 13968, i16 0, i16 14078, i16 0, i16 0, i16 0, i16 14590, i16 13127, i16 0, i16 0, i16 15614, i16 13555, i16 13688, i16 0, i16 15870, i16 0, i16 0, i16 0, i16 16126, i16 0, i16 0, i16 0, i16 16382, i16 0, i16 0, i16 0, i16 12543, i16 0, i16 13728, i16 0, i16 13823, i16 0, i16 13674, i16 0, i16 15615, i16 12820, i16 0, i16 15104, i16 0, i16 0, i16 0, i16 15616, i16 13933, i16 15995, i16 0, i16 16128, i16 0, i16 0, i16 12308, i16 16640, i16 0, i16 0, i16 16054, i16 17152, i16 12348, i16 0, i16 0, i16 257, i16 258, i16 261, i16 260, i16 12801, i16 0, i16 0, i16 0, i16 13569, i16 16879, i16 0, i16 0, i16 14849, i16 0, i16 0, i16 0, i16 15617, i16 14776, i16 0, i16 0, i16 15873, i16 0, i16 14896, i16 0, i16 16385, i16 0, i16 0, i16 0, i16 514, i16 515, i16 516, i16 517, i16 770, i16 771, i16 772, i16 0, i16 1026, i16 1027, i16 1028, i16 1029, i16 13058, i16 12645, i16 0, i16 14683, i16 15874, i16 0, i16 0, i16 12460, i16 16386, i16 0, i16 0, i16 0, i16 259, i16 262, i16 0, i16 0, i16 12803, i16 0, i16 0, i16 0, i16 13059, i16 13351, i16 0, i16 0, i16 14083, i16 14084, i16 0, i16 0, i16 15107, i16 0, i16 0, i16 0, i16 16387, i16 0, i16 15688, i16 0, i16 16643, i16 0, i16 0, i16 0, i16 17155, i16 0, i16 16783, i16 0, i16 13828, i16 0, i16 0, i16 0, i16 15108, i16 12610, i16 14517, i16 0, i16 15364, i16 15365, i16 12936, i16 0, i16 15876, i16 0, i16 0, i16 0, i16 12805, i16 13691, i16 0, i16 0, i16 14853, i16 0, i16 0, i16 0, i16 15621, i16 0, i16 0, i16 0, i16 16901, i16 0, i16 0, i16 16677, i16 17157, i16 0, i16 0, i16 0, i16 518, i16 519, i16 0, i16 0, i16 1030, i16 1031, i16 1032, i16 1033, i16 13574, i16 0, i16 0, i16 0, i16 13830, i16 0, i16 0, i16 0, i16 14086, i16 0, i16 0, i16 0, i16 14342, i16 15893, i16 15892, i16 0, i16 7, i16 8, i16 9, i16 10, i16 263, i16 277, i16 278, i16 0, i16 775, i16 0, i16 0, i16 0, i16 12807, i16 0, i16 0, i16 0, i16 13319, i16 0, i16 0, i16 0, i16 13831, i16 0, i16 0, i16 0, i16 14855, i16 0, i16 0, i16 0, i16 15367, i16 0, i16 0, i16 17002, i16 15879, i16 14820, i16 14767, i16 0, i16 17159, i16 17158, i16 16518, i16 0, i16 776, i16 773, i16 777, i16 233, i16 12552, i16 16573, i16 0, i16 14188, i16 12808, i16 0, i16 0, i16 0, i16 13576, i16 12432, i16 0, i16 0, i16 16904, i16 0, i16 0, i16 0, i16 13065, i16 0, i16 0, i16 0, i16 13321, i16 13327, i16 13330, i16 13434, i16 14345, i16 13568, i16 0, i16 0, i16 15113, i16 14228, i16 0, i16 0, i16 15369, i16 15370, i16 0, i16 0, i16 16393, i16 13771, i16 0, i16 0, i16 266, i16 0, i16 267, i16 0, i16 1034, i16 1035, i16 1036, i16 1037, i16 12298, i16 0, i16 16519, i16 0, i16 12554, i16 0, i16 0, i16 0, i16 14090, i16 15681, i16 12652, i16 0, i16 11, i16 12, i16 13, i16 14, i16 523, i16 524, i16 525, i16 526, i16 779, i16 780, i16 781, i16 0, i16 15371, i16 0, i16 12852, i16 0, i16 15627, i16 0, i16 0, i16 0, i16 16907, i16 14760, i16 0, i16 0, i16 12812, i16 0, i16 13177, i16 0, i16 13068, i16 13069, i16 13070, i16 13072, i16 13580, i16 16024, i16 14835, i16 13381, i16 14604, i16 15275, i16 0, i16 0, i16 15372, i16 12415, i16 0, i16 12648, i16 269, i16 270, i16 0, i16 0, i16 12301, i16 12570, i16 0, i16 12599, i16 12813, i16 0, i16 0, i16 15111, i16 13581, i16 12989, i16 0, i16 0, i16 13837, i16 0, i16 16492, i16 0, i16 14093, i16 0, i16 0, i16 12975, i16 14861, i16 0, i16 15592, i16 0, i16 16141, i16 0, i16 0, i16 0, i16 16653, i16 0, i16 0, i16 0, i16 1038, i16 1039, i16 1040, i16 1041, i16 12814, i16 0, i16 0, i16 12706, i16 13838, i16 14545, i16 16980, i16 0, i16 15374, i16 15377, i16 15382, i16 15384, i16 15630, i16 0, i16 0, i16 0, i16 15886, i16 15536, i16 0, i16 14123, i16 16142, i16 14132, i16 14450, i16 0, i16 15, i16 16, i16 17, i16 18, i16 527, i16 528, i16 529, i16 530, i16 12303, i16 13730, i16 0, i16 0, i16 14095, i16 0, i16 0, i16 0, i16 15375, i16 0, i16 0, i16 0, i16 15631, i16 14274, i16 14286, i16 16727, i16 16143, i16 0, i16 0, i16 12638, i16 16399, i16 0, i16 14372, i16 0, i16 784, i16 0, i16 0, i16 0, i16 13840, i16 0, i16 12299, i16 0, i16 14096, i16 16478, i16 0, i16 0, i16 17168, i16 0, i16 0, i16 0, i16 12305, i16 0, i16 0, i16 13199, i16 12561, i16 0, i16 0, i16 0, i16 13073, i16 13074, i16 13075, i16 13076, i16 14097, i16 0, i16 0, i16 0, i16 14865, i16 0, i16 0, i16 0, i16 15633, i16 12694, i16 0, i16 12377, i16 16401, i16 0, i16 12835, i16 0, i16 1042, i16 1043, i16 1044, i16 0, i16 13586, i16 0, i16 14476, i16 0, i16 13842, i16 12965, i16 0, i16 14265, i16 14098, i16 0, i16 0, i16 0, i16 15122, i16 15419, i16 0, i16 15300, i16 15634, i16 13210, i16 0, i16 0, i16 16402, i16 0, i16 0, i16 12309, i16 17170, i16 16987, i16 16811, i16 14313, i16 19, i16 20, i16 21, i16 0, i16 275, i16 273, i16 0, i16 0, i16 531, i16 532, i16 533, i16 534, i16 12307, i16 0, i16 15734, i16 0, i16 13587, i16 0, i16 0, i16 0, i16 16403, i16 12791, i16 0, i16 0, i16 788, i16 0, i16 0, i16 0, i16 12564, i16 12629, i16 0, i16 14470, i16 14868, i16 14870, i16 14874, i16 14910, i16 16916, i16 13696, i16 0, i16 0, i16 789, i16 697, i16 790, i16 0, i16 1045, i16 1046, i16 1047, i16 1048, i16 12565, i16 0, i16 0, i16 0, i16 12821, i16 0, i16 0, i16 0, i16 13077, i16 13079, i16 13080, i16 13081, i16 13333, i16 0, i16 0, i16 0, i16 14357, i16 0, i16 0, i16 0, i16 14613, i16 13502, i16 0, i16 0, i16 14869, i16 0, i16 0, i16 0, i16 15637, i16 14361, i16 14107, i16 0, i16 22, i16 0, i16 23, i16 24, i16 16150, i16 14012, i16 13767, i16 0, i16 279, i16 276, i16 0, i16 0, i16 535, i16 536, i16 0, i16 537, i16 791, i16 0, i16 0, i16 0, i16 12567, i16 0, i16 0, i16 15172, i16 12823, i16 16179, i16 15581, i16 12312, i16 13847, i16 0, i16 0, i16 13811, i16 14359, i16 0, i16 0, i16 0, i16 14615, i16 0, i16 0, i16 14235, i16 15127, i16 0, i16 15766, i16 0, i16 15383, i16 0, i16 13753, i16 0, i16 12568, i16 0, i16 0, i16 13306, i16 12824, i16 0, i16 15607, i16 12864, i16 14104, i16 0, i16 0, i16 0, i16 14872, i16 0, i16 0, i16 0, i16 15640, i16 0, i16 0, i16 14139, i16 25, i16 26, i16 27, i16 28, i16 281, i16 0, i16 0, i16 0, i16 1049, i16 1050, i16 1052, i16 1053, i16 12313, i16 13332, i16 0, i16 12825, i16 14617, i16 0, i16 13773, i16 15987, i16 16409, i16 0, i16 15799, i16 0, i16 538, i16 539, i16 540, i16 541, i16 12314, i16 0, i16 0, i16 0, i16 12826, i16 0, i16 0, i16 12800, i16 13082, i16 13083, i16 13084, i16 13085, i16 14106, i16 16843, i16 0, i16 16575, i16 14618, i16 0, i16 0, i16 0, i16 15642, i16 0, i16 0, i16 0, i16 13339, i16 15747, i16 0, i16 0, i16 13851, i16 0, i16 13432, i16 0, i16 14363, i16 0, i16 0, i16 15368, i16 14619, i16 0, i16 0, i16 0, i16 15131, i16 0, i16 0, i16 16830, i16 16411, i16 0, i16 0, i16 0, i16 16923, i16 14142, i16 0, i16 14540, i16 12316, i16 0, i16 0, i16 16908, i16 13596, i16 0, i16 15599, i16 0, i16 14364, i16 17134, i16 0, i16 0, i16 14876, i16 0, i16 0, i16 0, i16 15388, i16 15391, i16 15393, i16 15394, i16 29, i16 30, i16 31, i16 32, i16 12317, i16 0, i16 0, i16 15758, i16 12573, i16 0, i16 0, i16 0, i16 13341, i16 0, i16 0, i16 0, i16 14109, i16 0, i16 0, i16 13273, i16 15389, i16 0, i16 14346, i16 14634, i16 286, i16 0, i16 0, i16 679, i16 542, i16 543, i16 0, i16 0, i16 798, i16 799, i16 800, i16 801, i16 1054, i16 1055, i16 1056, i16 1057, i16 12574, i16 0, i16 14714, i16 0, i16 13086, i16 13087, i16 13088, i16 13089, i16 13598, i16 0, i16 0, i16 0, i16 14366, i16 0, i16 0, i16 13288, i16 14622, i16 0, i16 0, i16 13168, i16 14878, i16 14663, i16 0, i16 0, i16 13343, i16 0, i16 0, i16 16050, i16 13855, i16 13834, i16 0, i16 12997, i16 14111, i16 12898, i16 0, i16 14936, i16 14367, i16 0, i16 0, i16 0, i16 15647, i16 0, i16 0, i16 0, i16 16159, i16 0, i16 0, i16 0, i16 544, i16 555, i16 545, i16 556, i16 13600, i16 0, i16 0, i16 0, i16 13856, i16 16531, i16 0, i16 0, i16 14880, i16 0, i16 0, i16 0, i16 16160, i16 0, i16 0, i16 0, i16 16416, i16 0, i16 13817, i16 0, i16 33, i16 34, i16 35, i16 36, i16 13857, i16 0, i16 0, i16 0, i16 546, i16 583, i16 582, i16 557, i16 802, i16 803, i16 804, i16 805, i16 1058, i16 1059, i16 1060, i16 1061, i16 12578, i16 0, i16 0, i16 0, i16 12834, i16 16537, i16 13775, i16 0, i16 14626, i16 0, i16 0, i16 0, i16 15138, i16 0, i16 0, i16 0, i16 16930, i16 0, i16 0, i16 0, i16 291, i16 292, i16 293, i16 294, i16 547, i16 577, i16 576, i16 558, i16 12579, i16 12755, i16 0, i16 0, i16 13091, i16 13092, i16 13096, i16 13097, i16 13347, i16 0, i16 0, i16 0, i16 14627, i16 14539, i16 15436, i16 0, i16 15651, i16 0, i16 15105, i16 0, i16 16931, i16 0, i16 0, i16 12335, i16 548, i16 579, i16 578, i16 559, i16 15908, i16 0, i16 0, i16 0, i16 16164, i16 0, i16 13836, i16 0, i16 16932, i16 15385, i16 0, i16 0, i16 37, i16 38, i16 39, i16 40, i16 549, i16 581, i16 580, i16 560, i16 13349, i16 0, i16 0, i16 0, i16 13605, i16 0, i16 0, i16 0, i16 13861, i16 0, i16 14594, i16 15626, i16 14629, i16 0, i16 12476, i16 0, i16 14885, i16 0, i16 0, i16 0, i16 15141, i16 0, i16 0, i16 12717, i16 15397, i16 0, i16 0, i16 0, i16 15653, i16 0, i16 0, i16 16014, i16 550, i16 571, i16 584, i16 585, i16 806, i16 807, i16 808, i16 809, i16 1062, i16 1063, i16 1064, i16 1065, i16 12326, i16 0, i16 0, i16 0, i16 13606, i16 0, i16 0, i16 0, i16 14118, i16 16596, i16 15068, i16 14731, i16 14886, i16 0, i16 12514, i16 0, i16 16422, i16 0, i16 14654, i16 0, i16 295, i16 296, i16 297, i16 298, i16 551, i16 592, i16 593, i16 567, i16 12839, i16 0, i16 0, i16 0, i16 13607, i16 14883, i16 16707, i16 0, i16 13863, i16 0, i16 0, i16 0, i16 15399, i16 0, i16 0, i16 0, i16 15655, i16 14031, i16 14395, i16 0, i16 16167, i16 0, i16 15903, i16 0, i16 16935, i16 0, i16 0, i16 0, i16 552, i16 573, i16 588, i16 589, i16 13352, i16 0, i16 0, i16 0, i16 13608, i16 0, i16 0, i16 0, i16 14120, i16 0, i16 15293, i16 0, i16 15144, i16 0, i16 0, i16 0, i16 15912, i16 12541, i16 13870, i16 0, i16 41, i16 42, i16 43, i16 44, i16 553, i16 596, i16 597, i16 569, i16 12585, i16 0, i16 0, i16 0, i16 12841, i16 12810, i16 0, i16 0, i16 13865, i16 0, i16 0, i16 13462, i16 14377, i16 12693, i16 0, i16 12872, i16 15913, i16 0, i16 0, i16 0, i16 16169, i16 12857, i16 0, i16 13290, i16 554, i16 600, i16 601, i16 570, i16 810, i16 811, i16 812, i16 813, i16 1066, i16 1067, i16 1068, i16 1069, i16 13866, i16 0, i16 14612, i16 0, i16 14378, i16 0, i16 16272, i16 13312, i16 15402, i16 0, i16 0, i16 0, i16 16426, i16 14161, i16 0, i16 0, i16 16682, i16 0, i16 0, i16 0, i16 16938, i16 0, i16 16694, i16 16603, i16 299, i16 300, i16 301, i16 302, i16 12331, i16 0, i16 0, i16 0, i16 13099, i16 13100, i16 13102, i16 13103, i16 13867, i16 0, i16 0, i16 0, i16 15659, i16 0, i16 0, i16 14841, i16 13612, i16 0, i16 16751, i16 13410, i16 14636, i16 0, i16 0, i16 0, i16 14892, i16 14009, i16 0, i16 0, i16 15148, i16 0, i16 15943, i16 12679, i16 15916, i16 0, i16 0, i16 0, i16 16940, i16 16394, i16 14706, i16 0, i16 45, i16 46, i16 47, i16 48, i16 12333, i16 0, i16 0, i16 12297, i16 12845, i16 0, i16 0, i16 14223, i16 13357, i16 16618, i16 0, i16 0, i16 13613, i16 14635, i16 0, i16 0, i16 13869, i16 0, i16 0, i16 0, i16 15661, i16 0, i16 0, i16 0, i16 15917, i16 16642, i16 0, i16 0, i16 16173, i16 0, i16 0, i16 13254, i16 814, i16 815, i16 816, i16 817, i16 1070, i16 1071, i16 1072, i16 1073, i16 12846, i16 0, i16 16637, i16 13664, i16 303, i16 304, i16 305, i16 306, i16 12847, i16 0, i16 0, i16 0, i16 13615, i16 0, i16 13985, i16 0, i16 13871, i16 0, i16 0, i16 0, i16 14895, i16 0, i16 15844, i16 14089, i16 12592, i16 0, i16 16205, i16 0, i16 13104, i16 13105, i16 13106, i16 13107, i16 13872, i16 0, i16 0, i16 0, i16 15152, i16 0, i16 12319, i16 12545, i16 49, i16 50, i16 51, i16 52, i16 13873, i16 0, i16 0, i16 0, i16 14129, i16 0, i16 0, i16 0, i16 14897, i16 0, i16 0, i16 0, i16 15665, i16 0, i16 16344, i16 16912, i16 15921, i16 16016, i16 14055, i16 13417, i16 16177, i16 0, i16 0, i16 14753, i16 818, i16 819, i16 820, i16 821, i16 1074, i16 1075, i16 1076, i16 1077, i16 15410, i16 15411, i16 15413, i16 15417, i16 16178, i16 14405, i16 0, i16 0, i16 16434, i16 15807, i16 15243, i16 0, i16 307, i16 308, i16 309, i16 310, i16 12339, i16 0, i16 0, i16 15839, i16 14131, i16 0, i16 0, i16 0, i16 14387, i16 0, i16 0, i16 0, i16 14643, i16 15448, i16 0, i16 0, i16 15155, i16 0, i16 0, i16 0, i16 15667, i16 0, i16 0, i16 0, i16 16435, i16 0, i16 0, i16 12749, i16 12596, i16 0, i16 0, i16 0, i16 13108, i16 13109, i16 13114, i16 13115, i16 13364, i16 14877, i16 0, i16 0, i16 14900, i16 0, i16 0, i16 0, i16 16436, i16 0, i16 0, i16 0, i16 53, i16 54, i16 55, i16 56, i16 12597, i16 0, i16 0, i16 16939, i16 13877, i16 0, i16 16491, i16 15185, i16 14901, i16 0, i16 0, i16 0, i16 16949, i16 0, i16 15802, i16 0, i16 566, i16 586, i16 587, i16 561, i16 822, i16 823, i16 824, i16 825, i16 1078, i16 1079, i16 1080, i16 1081, i16 14390, i16 0, i16 0, i16 0, i16 14902, i16 0, i16 0, i16 12930, i16 15158, i16 0, i16 12620, i16 15062, i16 15670, i16 0, i16 0, i16 0, i16 16438, i16 15340, i16 0, i16 16791, i16 311, i16 312, i16 313, i16 314, i16 13367, i16 16221, i16 16526, i16 0, i16 13879, i16 14764, i16 15132, i16 0, i16 15159, i16 15814, i16 0, i16 0, i16 15671, i16 0, i16 0, i16 16804, i16 16439, i16 13563, i16 0, i16 0, i16 16695, i16 0, i16 0, i16 0, i16 568, i16 590, i16 591, i16 563, i16 12600, i16 0, i16 0, i16 0, i16 13624, i16 0, i16 16032, i16 16310, i16 16440, i16 0, i16 12692, i16 13449, i16 16696, i16 0, i16 0, i16 14281, i16 16952, i16 16111, i16 0, i16 0, i16 57, i16 58, i16 59, i16 60, i16 13113, i16 0, i16 0, i16 0, i16 13881, i16 13940, i16 13941, i16 0, i16 15673, i16 16353, i16 0, i16 16691, i16 16441, i16 0, i16 12822, i16 15936, i16 16953, i16 16871, i16 15856, i16 12551, i16 826, i16 827, i16 828, i16 829, i16 1082, i16 1083, i16 1085, i16 1086, i16 14394, i16 15473, i16 0, i16 0, i16 15418, i16 15422, i16 15423, i16 15428, i16 16442, i16 0, i16 0, i16 0, i16 315, i16 316, i16 317, i16 318, i16 15931, i16 0, i16 14069, i16 0, i16 16187, i16 16188, i16 0, i16 0, i16 16699, i16 0, i16 0, i16 16698, i16 572, i16 594, i16 595, i16 562, i16 13116, i16 13117, i16 13118, i16 13119, i16 14908, i16 0, i16 0, i16 14194, i16 61, i16 62, i16 63, i16 64, i16 13629, i16 0, i16 0, i16 0, i16 574, i16 598, i16 599, i16 564, i16 830, i16 831, i16 832, i16 833, i16 12350, i16 0, i16 15031, i16 0, i16 12606, i16 13556, i16 14165, i16 0, i16 16190, i16 0, i16 0, i16 14219, i16 16446, i16 0, i16 0, i16 12529, i16 319, i16 320, i16 321, i16 322, i16 1087, i16 1088, i16 1089, i16 1090, i16 12863, i16 0, i16 0, i16 0, i16 14399, i16 0, i16 0, i16 15204, i16 14911, i16 14912, i16 14914, i16 14915, i16 14144, i16 13858, i16 0, i16 0, i16 14656, i16 0, i16 0, i16 0, i16 15424, i16 0, i16 0, i16 0, i16 16448, i16 14368, i16 17076, i16 12951, i16 65, i16 66, i16 67, i16 68, i16 12609, i16 0, i16 0, i16 0, i16 13121, i16 13122, i16 13292, i16 13314, i16 14657, i16 15421, i16 16239, i16 12586, i16 15169, i16 0, i16 0, i16 16147, i16 834, i16 835, i16 836, i16 837, i16 12354, i16 0, i16 16676, i16 14020, i16 13890, i16 0, i16 0, i16 0, i16 14402, i16 0, i16 15406, i16 0, i16 15426, i16 14351, i16 0, i16 0, i16 16450, i16 17137, i16 0, i16 0, i16 16706, i16 0, i16 0, i16 0, i16 323, i16 324, i16 325, i16 326, i16 1091, i16 1092, i16 1093, i16 1094, i16 12867, i16 0, i16 0, i16 0, i16 13123, i16 0, i16 13799, i16 13101, i16 13635, i16 0, i16 0, i16 0, i16 13891, i16 0, i16 0, i16 0, i16 14147, i16 0, i16 14148, i16 14149, i16 15939, i16 0, i16 14140, i16 13205, i16 16451, i16 0, i16 0, i16 0, i16 12356, i16 0, i16 0, i16 12804, i16 12612, i16 0, i16 0, i16 0, i16 12868, i16 0, i16 0, i16 0, i16 16708, i16 0, i16 0, i16 14124, i16 69, i16 70, i16 71, i16 72, i16 12357, i16 13758, i16 0, i16 17094, i16 838, i16 839, i16 840, i16 841, i16 12870, i16 12894, i16 12907, i16 12992, i16 14150, i16 0, i16 0, i16 13722, i16 14918, i16 14921, i16 14927, i16 14929, i16 16198, i16 0, i16 0, i16 0, i16 327, i16 328, i16 329, i16 330, i16 1095, i16 1096, i16 1097, i16 1098, i16 12871, i16 13304, i16 0, i16 0, i16 14151, i16 15380, i16 0, i16 16447, i16 14407, i16 0, i16 0, i16 0, i16 15431, i16 15432, i16 15433, i16 15434, i16 16199, i16 0, i16 16646, i16 12696, i16 16967, i16 0, i16 0, i16 0, i16 12360, i16 0, i16 0, i16 0, i16 12616, i16 0, i16 0, i16 0, i16 14152, i16 14254, i16 14256, i16 14275, i16 16200, i16 15023, i16 0, i16 0, i16 16968, i16 0, i16 0, i16 15490, i16 73, i16 74, i16 75, i16 76, i16 14409, i16 16493, i16 0, i16 12457, i16 16201, i16 0, i16 0, i16 12412, i16 842, i16 843, i16 844, i16 845, i16 13386, i16 0, i16 0, i16 0, i16 14410, i16 0, i16 0, i16 0, i16 15946, i16 0, i16 0, i16 0, i16 16458, i16 0, i16 0, i16 0, i16 331, i16 332, i16 333, i16 334, i16 1099, i16 1100, i16 1101, i16 1102, i16 13643, i16 0, i16 0, i16 0, i16 14667, i16 16229, i16 14220, i16 0, i16 16203, i16 0, i16 13697, i16 16959, i16 12876, i16 0, i16 14128, i16 0, i16 13644, i16 13645, i16 0, i16 0, i16 13900, i16 0, i16 0, i16 0, i16 14668, i16 15935, i16 0, i16 0, i16 15692, i16 0, i16 0, i16 0, i16 16460, i16 17118, i16 13652, i16 16277, i16 16716, i16 0, i16 0, i16 0, i16 16972, i16 13323, i16 0, i16 0, i16 77, i16 78, i16 79, i16 80, i16 13133, i16 0, i16 0, i16 0, i16 14413, i16 14238, i16 0, i16 0, i16 15437, i16 13403, i16 15831, i16 14474, i16 15693, i16 12584, i16 0, i16 14433, i16 846, i16 847, i16 848, i16 849, i16 12366, i16 0, i16 0, i16 0, i16 12622, i16 0, i16 0, i16 0, i16 14158, i16 0, i16 0, i16 0, i16 15182, i16 15183, i16 15189, i16 15191, i16 15438, i16 0, i16 15541, i16 0, i16 16718, i16 0, i16 0, i16 0, i16 335, i16 336, i16 337, i16 338, i16 1103, i16 1104, i16 1105, i16 1106, i16 16207, i16 13692, i16 0, i16 0, i16 16719, i16 16092, i16 0, i16 12318, i16 16975, i16 0, i16 16560, i16 0, i16 12368, i16 0, i16 14730, i16 16284, i16 12624, i16 13779, i16 0, i16 0, i16 12880, i16 0, i16 0, i16 0, i16 13648, i16 16754, i16 0, i16 0, i16 14672, i16 0, i16 0, i16 0, i16 14928, i16 0, i16 0, i16 0, i16 15440, i16 15484, i16 15485, i16 15488, i16 15952, i16 0, i16 0, i16 0, i16 81, i16 82, i16 83, i16 84, i16 12625, i16 0, i16 0, i16 0, i16 12881, i16 0, i16 0, i16 0, i16 13393, i16 15069, i16 0, i16 0, i16 13905, i16 0, i16 0, i16 0, i16 15441, i16 0, i16 12759, i16 15305, i16 15953, i16 15242, i16 0, i16 0, i16 850, i16 851, i16 0, i16 0, i16 12626, i16 0, i16 16516, i16 0, i16 13138, i16 0, i16 0, i16 0, i16 14930, i16 14931, i16 14933, i16 14937, i16 15954, i16 12429, i16 0, i16 0, i16 16978, i16 0, i16 12756, i16 0, i16 339, i16 340, i16 341, i16 342, i16 1107, i16 1108, i16 1109, i16 1110, i16 12371, i16 0, i16 0, i16 13280, i16 12883, i16 16244, i16 0, i16 14076, i16 852, i16 853, i16 854, i16 855, i16 85, i16 86, i16 87, i16 88, i16 13909, i16 0, i16 0, i16 0, i16 15190, i16 16683, i16 0, i16 0, i16 15446, i16 0, i16 0, i16 16364, i16 16726, i16 0, i16 15405, i16 0, i16 343, i16 344, i16 345, i16 346, i16 14167, i16 0, i16 0, i16 0, i16 16215, i16 0, i16 0, i16 16946, i16 856, i16 857, i16 858, i16 859, i16 12632, i16 0, i16 12954, i16 14051, i16 14680, i16 0, i16 0, i16 16133, i16 15192, i16 0, i16 0, i16 12731, i16 15704, i16 0, i16 0, i16 0, i16 13657, i16 0, i16 16746, i16 15249, i16 14169, i16 0, i16 0, i16 14941, i16 14681, i16 0, i16 0, i16 13062, i16 15193, i16 15196, i16 15203, i16 15208, i16 16217, i16 0, i16 0, i16 0, i16 602, i16 603, i16 575, i16 604, i16 12378, i16 0, i16 0, i16 0, i16 12634, i16 0, i16 0, i16 0, i16 13914, i16 0, i16 0, i16 0, i16 14938, i16 14942, i16 14950, i16 14952, i16 16218, i16 0, i16 15720, i16 15308, i16 16474, i16 0, i16 0, i16 0, i16 12635, i16 0, i16 15162, i16 0, i16 15195, i16 15117, i16 0, i16 0, i16 16219, i16 14723, i16 0, i16 14210, i16 16475, i16 16878, i16 0, i16 0, i16 16731, i16 13425, i16 13354, i16 0, i16 860, i16 861, i16 862, i16 863, i16 12636, i16 12671, i16 12843, i16 12848, i16 15452, i16 0, i16 0, i16 16113, i16 15964, i16 0, i16 0, i16 0, i16 16732, i16 15276, i16 0, i16 0, i16 93, i16 94, i16 95, i16 96, i16 605, i16 606, i16 607, i16 608, i16 12381, i16 0, i16 0, i16 0, i16 12637, i16 0, i16 0, i16 0, i16 15197, i16 0, i16 0, i16 0, i16 16989, i16 16604, i16 16529, i16 12685, i16 12382, i16 0, i16 0, i16 0, i16 13662, i16 17008, i16 17091, i16 15900, i16 15966, i16 0, i16 15965, i16 0, i16 16990, i16 0, i16 0, i16 15548, i16 351, i16 352, i16 353, i16 354, i16 12639, i16 13535, i16 16905, i16 0, i16 13407, i16 14189, i16 0, i16 0, i16 13919, i16 14215, i16 0, i16 0, i16 14175, i16 0, i16 16825, i16 0, i16 14687, i16 0, i16 15830, i16 17030, i16 16479, i16 0, i16 15951, i16 0, i16 864, i16 865, i16 866, i16 0, i16 12384, i16 15412, i16 14756, i16 0, i16 13152, i16 16096, i16 0, i16 0, i16 13408, i16 0, i16 0, i16 0, i16 13920, i16 0, i16 0, i16 0, i16 14688, i16 0, i16 0, i16 0, i16 16224, i16 0, i16 0, i16 0, i16 16480, i16 0, i16 0, i16 0, i16 16992, i16 0, i16 0, i16 0, i16 97, i16 98, i16 99, i16 100, i16 609, i16 610, i16 611, i16 565, i16 12385, i16 15963, i16 0, i16 0, i16 13153, i16 15352, i16 0, i16 0, i16 14177, i16 16622, i16 0, i16 0, i16 15201, i16 13463, i16 0, i16 12601, i16 16481, i16 0, i16 16100, i16 14801, i16 16737, i16 14119, i16 13491, i16 15570, i16 12642, i16 15578, i16 0, i16 15586, i16 14178, i16 0, i16 0, i16 0, i16 14434, i16 0, i16 12816, i16 0, i16 15202, i16 12458, i16 0, i16 0, i16 15714, i16 0, i16 0, i16 0, i16 16738, i16 17040, i16 0, i16 13241, i16 355, i16 356, i16 357, i16 358, i16 14691, i16 0, i16 13169, i16 0, i16 14947, i16 0, i16 0, i16 15534, i16 12644, i16 0, i16 16786, i16 0, i16 12900, i16 14153, i16 16593, i16 0, i16 13668, i16 0, i16 16247, i16 0, i16 101, i16 102, i16 103, i16 104, i16 13157, i16 0, i16 0, i16 0, i16 13413, i16 0, i16 0, i16 0, i16 14181, i16 0, i16 0, i16 0, i16 14437, i16 14744, i16 12562, i16 0, i16 14949, i16 14462, i16 12293, i16 0, i16 16485, i16 0, i16 0, i16 0, i16 16997, i16 13129, i16 0, i16 15959, i16 870, i16 0, i16 0, i16 0, i16 13670, i16 12405, i16 0, i16 0, i16 13926, i16 0, i16 16547, i16 0, i16 15206, i16 0, i16 0, i16 0, i16 16742, i16 0, i16 15362, i16 0, i16 359, i16 360, i16 361, i16 362, i16 13671, i16 0, i16 0, i16 16700, i16 14695, i16 0, i16 14197, i16 0, i16 16231, i16 0, i16 0, i16 15711, i16 16743, i16 0, i16 0, i16 0, i16 16999, i16 12558, i16 0, i16 0, i16 616, i16 622, i16 623, i16 624, i16 13928, i16 13929, i16 0, i16 0, i16 15464, i16 16002, i16 0, i16 0, i16 15976, i16 0, i16 0, i16 16852, i16 16232, i16 0, i16 16003, i16 0, i16 16744, i16 0, i16 14502, i16 13911, i16 105, i16 106, i16 107, i16 108, i16 617, i16 675, i16 690, i16 283, i16 14953, i16 14956, i16 14964, i16 14968, i16 15209, i16 13666, i16 16813, i16 14575, i16 15465, i16 0, i16 0, i16 0, i16 15721, i16 0, i16 0, i16 0, i16 16489, i16 13095, i16 0, i16 14300, i16 16745, i16 0, i16 0, i16 0, i16 14954, i16 0, i16 0, i16 0, i16 363, i16 364, i16 365, i16 366, i16 619, i16 620, i16 621, i16 640, i16 875, i16 0, i16 0, i16 0, i16 12395, i16 0, i16 0, i16 0, i16 13163, i16 0, i16 13604, i16 0, i16 13931, i16 0, i16 16865, i16 13665, i16 14699, i16 0, i16 0, i16 0, i16 15723, i16 0, i16 0, i16 0, i16 16747, i16 15442, i16 12315, i16 0, i16 14444, i16 0, i16 14347, i16 0, i16 14700, i16 15223, i16 0, i16 0, i16 15468, i16 0, i16 0, i16 0, i16 15724, i16 0, i16 0, i16 0, i16 16236, i16 0, i16 12512, i16 16144, i16 109, i16 110, i16 111, i16 112, i16 14701, i16 0, i16 12413, i16 15310, i16 15213, i16 0, i16 0, i16 16807, i16 15981, i16 0, i16 0, i16 14611, i16 12398, i16 0, i16 13810, i16 0, i16 13422, i16 0, i16 0, i16 0, i16 13678, i16 16641, i16 15345, i16 0, i16 14702, i16 0, i16 0, i16 0, i16 15726, i16 0, i16 12419, i16 17035, i16 16238, i16 0, i16 14062, i16 0, i16 367, i16 368, i16 369, i16 370, i16 879, i16 880, i16 881, i16 882, i16 12399, i16 15153, i16 0, i16 0, i16 13423, i16 0, i16 0, i16 17122, i16 14191, i16 0, i16 16427, i16 0, i16 14703, i16 13623, i16 0, i16 16506, i16 15983, i16 15729, i16 0, i16 0, i16 16495, i16 0, i16 16714, i16 0, i16 12656, i16 0, i16 13762, i16 0, i16 13936, i16 0, i16 0, i16 12284, i16 14448, i16 12575, i16 0, i16 13776, i16 14704, i16 0, i16 13229, i16 15194, i16 113, i16 114, i16 115, i16 116, i16 625, i16 626, i16 627, i16 628, i16 12657, i16 16053, i16 0, i16 0, i16 15985, i16 0, i16 16183, i16 13515, i16 17009, i16 0, i16 14554, i16 0, i16 12658, i16 0, i16 0, i16 0, i16 15474, i16 0, i16 16770, i16 0, i16 16498, i16 15164, i16 0, i16 0, i16 17010, i16 0, i16 13788, i16 13789, i16 371, i16 372, i16 373, i16 374, i16 883, i16 884, i16 885, i16 886, i16 14963, i16 15898, i16 0, i16 0, i16 16755, i16 0, i16 0, i16 0, i16 17011, i16 0, i16 0, i16 15514, i16 12404, i16 0, i16 0, i16 0, i16 12916, i16 0, i16 0, i16 14195, i16 16500, i16 0, i16 14290, i16 0, i16 117, i16 118, i16 119, i16 120, i16 629, i16 630, i16 631, i16 618, i16 13173, i16 0, i16 16230, i16 0, i16 13685, i16 13795, i16 16412, i16 0, i16 16245, i16 0, i16 16891, i16 0, i16 16501, i16 0, i16 0, i16 0, i16 12918, i16 0, i16 0, i16 0, i16 13686, i16 0, i16 0, i16 0, i16 13942, i16 13667, i16 0, i16 0, i16 14198, i16 12283, i16 0, i16 0, i16 14710, i16 0, i16 0, i16 0, i16 15478, i16 0, i16 15445, i16 15918, i16 16246, i16 16210, i16 13864, i16 0, i16 16758, i16 0, i16 0, i16 0, i16 375, i16 376, i16 377, i16 378, i16 887, i16 888, i16 889, i16 890, i16 12663, i16 0, i16 0, i16 0, i16 13431, i16 15482, i16 0, i16 0, i16 13687, i16 0, i16 0, i16 0, i16 15479, i16 0, i16 0, i16 0, i16 15735, i16 0, i16 14247, i16 0, i16 15991, i16 0, i16 0, i16 12861, i16 16503, i16 0, i16 0, i16 0, i16 13176, i16 0, i16 0, i16 0, i16 14456, i16 0, i16 0, i16 14707, i16 15224, i16 0, i16 0, i16 0, i16 16248, i16 0, i16 0, i16 0, i16 121, i16 122, i16 123, i16 124, i16 13689, i16 0, i16 0, i16 15343, i16 15481, i16 0, i16 15241, i16 0, i16 16761, i16 15321, i16 0, i16 0, i16 13178, i16 0, i16 16356, i16 0, i16 13946, i16 14970, i16 0, i16 0, i16 14458, i16 0, i16 0, i16 15513, i16 379, i16 380, i16 224, i16 0, i16 891, i16 892, i16 893, i16 894, i16 12923, i16 0, i16 0, i16 0, i16 14203, i16 0, i16 0, i16 0, i16 14459, i16 16609, i16 0, i16 12288, i16 14971, i16 14974, i16 14977, i16 14979, i16 15227, i16 17075, i16 14960, i16 0, i16 17019, i16 12410, i16 0, i16 0, i16 12668, i16 0, i16 12416, i16 0, i16 12924, i16 0, i16 0, i16 16146, i16 13948, i16 13979, i16 14073, i16 14121, i16 16764, i16 0, i16 0, i16 0, i16 17020, i16 0, i16 0, i16 0, i16 125, i16 126, i16 127, i16 132, i16 637, i16 638, i16 671, i16 672, i16 12925, i16 0, i16 0, i16 17153, i16 13437, i16 14216, i16 0, i16 0, i16 15997, i16 0, i16 0, i16 0, i16 16253, i16 17110, i16 16998, i16 0, i16 17021, i16 14028, i16 14602, i16 0, i16 12414, i16 0, i16 0, i16 15940, i16 13182, i16 0, i16 0, i16 0, i16 15230, i16 0, i16 0, i16 0, i16 15998, i16 13078, i16 12795, i16 0, i16 639, i16 688, i16 632, i16 0, i16 895, i16 896, i16 897, i16 898, i16 15487, i16 0, i16 16117, i16 0, i16 16511, i16 0, i16 13967, i16 0, i16 12672, i16 0, i16 0, i16 0, i16 12928, i16 0, i16 0, i16 0, i16 13952, i16 0, i16 0, i16 14693, i16 14720, i16 15363, i16 17000, i16 0, i16 15232, i16 0, i16 0, i16 14017, i16 17024, i16 0, i16 0, i16 0, i16 385, i16 386, i16 387, i16 388, i16 641, i16 680, i16 681, i16 682, i16 12673, i16 15969, i16 15810, i16 15142, i16 12929, i16 14360, i16 15168, i16 0, i16 13953, i16 17120, i16 0, i16 0, i16 15233, i16 0, i16 0, i16 0, i16 15745, i16 13371, i16 15358, i16 16608, i16 16513, i16 0, i16 0, i16 0, i16 16769, i16 0, i16 14392, i16 0, i16 17025, i16 0, i16 0, i16 0, i16 642, i16 643, i16 644, i16 645, i16 12674, i16 0, i16 13497, i16 16005, i16 13186, i16 0, i16 0, i16 0, i16 14466, i16 16629, i16 0, i16 0, i16 15746, i16 0, i16 0, i16 0, i16 131, i16 0, i16 693, i16 0, i16 899, i16 900, i16 901, i16 902, i16 13955, i16 0, i16 14350, i16 0, i16 15235, i16 14924, i16 0, i16 0, i16 16259, i16 0, i16 12776, i16 15255, i16 16771, i16 0, i16 0, i16 0, i16 17027, i16 0, i16 0, i16 0, i16 12932, i16 15535, i16 13829, i16 12760, i16 13188, i16 0, i16 0, i16 16888, i16 13444, i16 0, i16 0, i16 0, i16 14212, i16 0, i16 0, i16 15638, i16 14468, i16 0, i16 15186, i16 13221, i16 16004, i16 0, i16 0, i16 13654, i16 389, i16 390, i16 391, i16 392, i16 12933, i16 15624, i16 0, i16 0, i16 15493, i16 15494, i16 15495, i16 15496, i16 16517, i16 0, i16 12390, i16 0, i16 646, i16 647, i16 648, i16 649, i16 12678, i16 0, i16 0, i16 0, i16 13446, i16 0, i16 0, i16 0, i16 14982, i16 14983, i16 14984, i16 14986, i16 15238, i16 0, i16 14524, i16 0, i16 15750, i16 0, i16 14589, i16 0, i16 16774, i16 12986, i16 15718, i16 0, i16 903, i16 904, i16 905, i16 906, i16 13447, i16 0, i16 0, i16 0, i16 14471, i16 12595, i16 16282, i16 14959, i16 15751, i16 0, i16 14208, i16 0, i16 16263, i16 0, i16 14091, i16 0, i16 16775, i16 15669, i16 0, i16 0, i16 136, i16 348, i16 349, i16 350, i16 12424, i16 12430, i16 12447, i16 12611, i16 12680, i16 0, i16 16168, i16 0, i16 14472, i16 14429, i16 0, i16 0, i16 15240, i16 15283, i16 15323, i16 15359, i16 15752, i16 15337, i16 15932, i16 14724, i16 16264, i16 0, i16 0, i16 0, i16 16520, i16 0, i16 0, i16 0, i16 137, i16 203, i16 0, i16 0, i16 393, i16 394, i16 395, i16 396, i16 12937, i16 15537, i16 0, i16 0, i16 14217, i16 0, i16 0, i16 0, i16 16777, i16 0, i16 0, i16 0, i16 17033, i16 0, i16 15761, i16 0, i16 138, i16 139, i16 0, i16 0, i16 650, i16 651, i16 657, i16 658, i16 12682, i16 0, i16 0, i16 0, i16 12938, i16 0, i16 0, i16 0, i16 14218, i16 0, i16 0, i16 16130, i16 16778, i16 13956, i16 0, i16 0, i16 17034, i16 0, i16 13841, i16 12533, i16 907, i16 908, i16 909, i16 910, i16 12427, i16 0, i16 0, i16 0, i16 13195, i16 0, i16 16922, i16 0, i16 13707, i16 0, i16 0, i16 0, i16 14475, i16 0, i16 0, i16 0, i16 15499, i16 15502, i16 15504, i16 15510, i16 16011, i16 0, i16 0, i16 16509, i16 16779, i16 12836, i16 16582, i16 0, i16 140, i16 141, i16 0, i16 0, i16 652, i16 653, i16 654, i16 655, i16 12684, i16 0, i16 0, i16 0, i16 13452, i16 12433, i16 0, i16 0, i16 13708, i16 0, i16 14987, i16 0, i16 13964, i16 0, i16 15770, i16 16631, i16 14988, i16 14989, i16 14990, i16 14993, i16 15500, i16 0, i16 0, i16 0, i16 15756, i16 17160, i16 0, i16 0, i16 16012, i16 0, i16 0, i16 0, i16 16780, i16 14427, i16 14651, i16 16249, i16 397, i16 398, i16 399, i16 400, i16 14733, i16 15528, i16 0, i16 0, i16 15245, i16 16145, i16 12910, i16 15246, i16 142, i16 143, i16 0, i16 0, i16 12686, i16 0, i16 0, i16 0, i16 16270, i16 15176, i16 16407, i16 0, i16 911, i16 912, i16 913, i16 914, i16 12687, i16 0, i16 0, i16 0, i16 13455, i16 13547, i16 13572, i16 13917, i16 15759, i16 0, i16 0, i16 0, i16 16527, i16 13808, i16 0, i16 12337, i16 144, i16 145, i16 146, i16 147, i16 656, i16 0, i16 0, i16 0, i16 13200, i16 0, i16 0, i16 14170, i16 13456, i16 0, i16 0, i16 0, i16 401, i16 402, i16 403, i16 404, i16 12945, i16 13998, i16 0, i16 0, i16 13457, i16 16256, i16 0, i16 16553, i16 13969, i16 13521, i16 0, i16 0, i16 15505, i16 0, i16 0, i16 0, i16 12434, i16 0, i16 15058, i16 13539, i16 12690, i16 14684, i16 12987, i16 16033, i16 14482, i16 0, i16 0, i16 0, i16 15250, i16 0, i16 0, i16 0, i16 15762, i16 14596, i16 16510, i16 0, i16 16274, i16 13878, i16 0, i16 0, i16 16530, i16 0, i16 0, i16 13211, i16 659, i16 660, i16 661, i16 662, i16 915, i16 916, i16 917, i16 918, i16 13971, i16 0, i16 12440, i16 0, i16 14739, i16 0, i16 0, i16 0, i16 14995, i16 14996, i16 14999, i16 15000, i16 15507, i16 14598, i16 14237, i16 15914, i16 15763, i16 15390, i16 12379, i16 14705, i16 16275, i16 0, i16 0, i16 0, i16 148, i16 149, i16 150, i16 151, i16 13460, i16 0, i16 16753, i16 15034, i16 13716, i16 13717, i16 15801, i16 0, i16 14484, i16 13903, i16 14323, i16 0, i16 15764, i16 0, i16 15835, i16 0, i16 16276, i16 16223, i16 0, i16 0, i16 405, i16 406, i16 407, i16 408, i16 12437, i16 0, i16 0, i16 13759, i16 13461, i16 0, i16 0, i16 0, i16 15253, i16 0, i16 0, i16 0, i16 14486, i16 15451, i16 0, i16 16104, i16 663, i16 664, i16 665, i16 666, i16 919, i16 920, i16 921, i16 922, i16 13207, i16 0, i16 0, i16 15529, i16 13719, i16 12365, i16 16469, i16 15002, i16 14231, i16 12961, i16 0, i16 0, i16 14743, i16 0, i16 0, i16 0, i16 15511, i16 15515, i16 15516, i16 15519, i16 15767, i16 14614, i16 0, i16 13954, i16 152, i16 153, i16 0, i16 199, i16 12952, i16 0, i16 0, i16 0, i16 13208, i16 0, i16 0, i16 0, i16 14232, i16 0, i16 0, i16 0, i16 15256, i16 13725, i16 0, i16 16406, i16 16792, i16 0, i16 12502, i16 0, i16 17048, i16 0, i16 16613, i16 0, i16 409, i16 410, i16 411, i16 412, i16 12697, i16 0, i16 0, i16 0, i16 13465, i16 0, i16 15265, i16 16948, i16 14489, i16 0, i16 12306, i16 0, i16 15001, i16 15003, i16 15009, i16 15014, i16 12442, i16 13226, i16 0, i16 14226, i16 12698, i16 15313, i16 0, i16 17014, i16 15258, i16 0, i16 0, i16 0, i16 16538, i16 13681, i16 16557, i16 0, i16 667, i16 612, i16 613, i16 614, i16 923, i16 924, i16 925, i16 926, i16 12443, i16 16521, i16 0, i16 16894, i16 16539, i16 16116, i16 14202, i16 15247, i16 16795, i16 16796, i16 16864, i16 16991, i16 17052, i16 0, i16 0, i16 0, i16 157, i16 177, i16 0, i16 0, i16 413, i16 414, i16 415, i16 416, i16 669, i16 670, i16 285, i16 687, i16 12957, i16 0, i16 12393, i16 0, i16 13213, i16 0, i16 13510, i16 0, i16 15005, i16 0, i16 0, i16 0, i16 15517, i16 0, i16 0, i16 0, i16 16541, i16 15492, i16 0, i16 0, i16 158, i16 159, i16 0, i16 0, i16 12702, i16 16396, i16 16565, i16 0, i16 13726, i16 0, i16 15904, i16 0, i16 15006, i16 0, i16 0, i16 13595, i16 15518, i16 0, i16 0, i16 0, i16 927, i16 928, i16 929, i16 930, i16 13983, i16 0, i16 0, i16 0, i16 16287, i16 0, i16 0, i16 0, i16 17055, i16 0, i16 0, i16 0, i16 13472, i16 14810, i16 14523, i16 0, i16 15520, i16 15531, i16 15539, i16 15540, i16 16544, i16 0, i16 12913, i16 0, i16 161, i16 205, i16 0, i16 0, i16 417, i16 418, i16 419, i16 420, i16 673, i16 633, i16 634, i16 635, i16 13729, i16 14746, i16 0, i16 15579, i16 14497, i16 0, i16 0, i16 13296, i16 16545, i16 0, i16 0, i16 15030, i16 162, i16 154, i16 868, i16 869, i16 12450, i16 0, i16 0, i16 0, i16 13218, i16 16234, i16 0, i16 0, i16 13474, i16 0, i16 15986, i16 0, i16 931, i16 932, i16 933, i16 934, i16 12963, i16 16061, i16 0, i16 0, i16 13731, i16 14781, i16 15351, i16 0, i16 14243, i16 0, i16 0, i16 0, i16 17059, i16 15542, i16 13128, i16 0, i16 13476, i16 0, i16 0, i16 0, i16 13732, i16 0, i16 0, i16 15733, i16 15524, i16 0, i16 13441, i16 0, i16 16548, i16 16337, i16 0, i16 13756, i16 17060, i16 0, i16 0, i16 0, i16 421, i16 422, i16 423, i16 424, i16 12709, i16 0, i16 0, i16 0, i16 13733, i16 0, i16 0, i16 0, i16 13989, i16 0, i16 0, i16 0, i16 14501, i16 0, i16 0, i16 15771, i16 15013, i16 0, i16 13401, i16 13158, i16 15525, i16 0, i16 0, i16 0, i16 16805, i16 15459, i16 15096, i16 13761, i16 17061, i16 0, i16 14417, i16 0, i16 12966, i16 0, i16 15984, i16 0, i16 13734, i16 0, i16 13803, i16 13637, i16 14246, i16 0, i16 14315, i16 0, i16 16038, i16 0, i16 0, i16 14842, i16 16550, i16 12792, i16 0, i16 0, i16 17062, i16 0, i16 0, i16 15604, i16 167, i16 168, i16 218, i16 381, i16 935, i16 936, i16 937, i16 938, i16 13735, i16 0, i16 13742, i16 13171, i16 14759, i16 16681, i16 0, i16 13892, i16 15271, i16 15272, i16 14418, i16 0, i16 12968, i16 0, i16 14867, i16 0, i16 16040, i16 0, i16 16175, i16 0, i16 16552, i16 16563, i16 16665, i16 16686, i16 425, i16 426, i16 427, i16 428, i16 13225, i16 15942, i16 13512, i16 0, i16 13481, i16 0, i16 0, i16 0, i16 15017, i16 15018, i16 15020, i16 15021, i16 15785, i16 0, i16 0, i16 16662, i16 16297, i16 0, i16 0, i16 0, i16 12714, i16 0, i16 12438, i16 16242, i16 14250, i16 16679, i16 14694, i16 0, i16 15530, i16 15333, i16 0, i16 0, i16 16298, i16 15512, i16 0, i16 13777, i16 16554, i16 0, i16 0, i16 13450, i16 171, i16 0, i16 170, i16 0, i16 683, i16 676, i16 677, i16 678, i16 939, i16 940, i16 941, i16 942, i16 12459, i16 16235, i16 0, i16 0, i16 12715, i16 0, i16 0, i16 0, i16 12971, i16 0, i16 0, i16 0, i16 13227, i16 0, i16 0, i16 0, i16 15787, i16 0, i16 0, i16 0, i16 17067, i16 0, i16 0, i16 0, i16 172, i16 0, i16 0, i16 0, i16 12972, i16 0, i16 0, i16 15139, i16 13228, i16 0, i16 0, i16 0, i16 14508, i16 0, i16 13704, i16 0, i16 16044, i16 0, i16 0, i16 0, i16 16556, i16 0, i16 0, i16 0, i16 429, i16 430, i16 431, i16 432, i16 685, i16 0, i16 0, i16 686, i16 13485, i16 0, i16 0, i16 0, i16 13997, i16 0, i16 0, i16 0, i16 14509, i16 13175, i16 16316, i16 0, i16 15533, i16 0, i16 0, i16 0, i16 15789, i16 17036, i16 0, i16 0, i16 16045, i16 0, i16 16600, i16 0, i16 16301, i16 0, i16 15820, i16 12844, i16 12718, i16 16063, i16 12914, i16 14117, i16 12974, i16 0, i16 16705, i16 0, i16 13230, i16 0, i16 15623, i16 13677, i16 14766, i16 0, i16 0, i16 0, i16 15022, i16 0, i16 13436, i16 0, i16 15278, i16 0, i16 14272, i16 0, i16 16302, i16 14904, i16 16258, i16 16283, i16 16558, i16 16824, i16 0, i16 0, i16 943, i16 944, i16 945, i16 946, i16 14255, i16 16131, i16 0, i16 13355, i16 15791, i16 0, i16 0, i16 0, i16 16815, i16 0, i16 0, i16 0, i16 17071, i16 0, i16 0, i16 0, i16 13488, i16 0, i16 0, i16 0, i16 14768, i16 0, i16 14039, i16 0, i16 15024, i16 15039, i16 15041, i16 15046, i16 433, i16 434, i16 435, i16 436, i16 689, i16 684, i16 0, i16 0, i16 12465, i16 13274, i16 0, i16 13752, i16 12721, i16 16798, i16 14932, i16 0, i16 12977, i16 0, i16 12908, i16 0, i16 14257, i16 14133, i16 0, i16 0, i16 15025, i16 0, i16 0, i16 0, i16 16817, i16 12884, i16 0, i16 0, i16 12466, i16 16789, i16 12563, i16 13222, i16 13234, i16 0, i16 0, i16 0, i16 15794, i16 0, i16 0, i16 0, i16 947, i16 948, i16 949, i16 950, i16 12723, i16 0, i16 0, i16 0, i16 14771, i16 0, i16 13435, i16 0, i16 16051, i16 15890, i16 0, i16 0, i16 16819, i16 12329, i16 0, i16 17001, i16 692, i16 0, i16 0, i16 0, i16 12724, i16 0, i16 13132, i16 0, i16 15796, i16 0, i16 0, i16 0, i16 16308, i16 16502, i16 16504, i16 16536, i16 437, i16 438, i16 439, i16 440, i16 12725, i16 0, i16 0, i16 0, i16 13493, i16 0, i16 0, i16 0, i16 14005, i16 0, i16 0, i16 0, i16 15029, i16 0, i16 0, i16 0, i16 12726, i16 0, i16 15184, i16 0, i16 13238, i16 16154, i16 16911, i16 0, i16 14006, i16 0, i16 0, i16 0, i16 14774, i16 0, i16 0, i16 0, i16 15286, i16 0, i16 0, i16 0, i16 16822, i16 14980, i16 0, i16 0, i16 17078, i16 0, i16 0, i16 0, i16 951, i16 952, i16 953, i16 954, i16 12471, i16 0, i16 0, i16 12778, i16 13751, i16 0, i16 16204, i16 0, i16 14519, i16 0, i16 0, i16 0, i16 14775, i16 0, i16 0, i16 0, i16 15543, i16 15546, i16 15549, i16 15550, i16 12472, i16 16606, i16 14284, i16 0, i16 13240, i16 12549, i16 0, i16 13294, i16 15288, i16 0, i16 0, i16 0, i16 16056, i16 0, i16 0, i16 0, i16 441, i16 442, i16 443, i16 444, i16 12473, i16 0, i16 0, i16 0, i16 14521, i16 14717, i16 14727, i16 14735, i16 15289, i16 12888, i16 0, i16 16378, i16 16313, i16 13827, i16 0, i16 14976, i16 16569, i16 16206, i16 0, i16 0, i16 698, i16 0, i16 0, i16 0, i16 14266, i16 0, i16 0, i16 0, i16 14778, i16 0, i16 0, i16 0, i16 16058, i16 0, i16 0, i16 0, i16 955, i16 956, i16 957, i16 958, i16 14267, i16 0, i16 0, i16 0, i16 12988, i16 0, i16 0, i16 0, i16 14268, i16 0, i16 13468, i16 0, i16 15036, i16 0, i16 0, i16 0, i16 16572, i16 14518, i16 12691, i16 13239, i16 189, i16 188, i16 0, i16 253, i16 445, i16 446, i16 447, i16 448, i16 12477, i16 15331, i16 0, i16 0, i16 13245, i16 0, i16 0, i16 0, i16 13757, i16 0, i16 0, i16 14374, i16 14525, i16 0, i16 13038, i16 0, i16 16317, i16 0, i16 0, i16 0, i16 17085, i16 0, i16 15086, i16 0, i16 15038, i16 0, i16 17064, i16 0, i16 15806, i16 0, i16 0, i16 0, i16 16574, i16 0, i16 0, i16 0, i16 14783, i16 0, i16 0, i16 0, i16 15551, i16 15803, i16 0, i16 16468, i16 704, i16 705, i16 706, i16 707, i16 13248, i16 14745, i16 0, i16 15254, i16 13504, i16 0, i16 0, i16 0, i16 14016, i16 15498, i16 16826, i16 0, i16 15808, i16 0, i16 12581, i16 0, i16 16320, i16 0, i16 0, i16 0, i16 16576, i16 0, i16 0, i16 0, i16 193, i16 192, i16 0, i16 0, i16 449, i16 450, i16 451, i16 452, i16 12481, i16 15674, i16 0, i16 0, i16 12737, i16 0, i16 0, i16 16125, i16 12993, i16 12996, i16 12999, i16 13000, i16 13505, i16 12448, i16 0, i16 16713, i16 15297, i16 15282, i16 16915, i16 0, i16 16321, i16 0, i16 0, i16 0, i16 17089, i16 0, i16 0, i16 0, i16 962, i16 963, i16 964, i16 965, i16 12482, i16 0, i16 0, i16 0, i16 12994, i16 0, i16 0, i16 14948, i16 13250, i16 0, i16 17056, i16 0, i16 15042, i16 0, i16 0, i16 0, i16 16322, i16 0, i16 0, i16 0, i16 195, i16 196, i16 194, i16 197, i16 12483, i16 16508, i16 13428, i16 13090, i16 14019, i16 15663, i16 0, i16 14242, i16 15043, i16 0, i16 15522, i16 0, i16 15299, i16 14752, i16 16138, i16 12614, i16 15811, i16 0, i16 0, i16 0, i16 708, i16 709, i16 710, i16 711, i16 12484, i16 0, i16 13845, i16 0, i16 13508, i16 12695, i16 0, i16 0, i16 453, i16 454, i16 455, i16 456, i16 13253, i16 0, i16 0, i16 0, i16 13765, i16 0, i16 0, i16 12940, i16 14021, i16 0, i16 0, i16 0, i16 14789, i16 0, i16 12336, i16 0, i16 15557, i16 0, i16 0, i16 0, i16 16069, i16 0, i16 14166, i16 0, i16 198, i16 271, i16 274, i16 272, i16 966, i16 967, i16 968, i16 969, i16 12486, i16 15292, i16 0, i16 0, i16 14022, i16 12548, i16 0, i16 0, i16 14534, i16 14770, i16 0, i16 14512, i16 14790, i16 0, i16 0, i16 0, i16 15558, i16 0, i16 0, i16 0, i16 16070, i16 15545, i16 0, i16 0, i16 13255, i16 0, i16 0, i16 0, i16 15047, i16 15051, i16 15053, i16 15055, i16 16071, i16 16132, i16 16153, i16 16237, i16 712, i16 713, i16 714, i16 715, i16 14280, i16 0, i16 15295, i16 0, i16 14536, i16 0, i16 0, i16 0, i16 16072, i16 16419, i16 0, i16 15427, i16 17096, i16 0, i16 0, i16 0, i16 457, i16 458, i16 459, i16 460, i16 12489, i16 0, i16 0, i16 13963, i16 13001, i16 13002, i16 13003, i16 13004, i16 14025, i16 0, i16 0, i16 0, i16 14793, i16 16370, i16 0, i16 0, i16 15049, i16 0, i16 14621, i16 15073, i16 15561, i16 0, i16 0, i16 15636, i16 16585, i16 0, i16 0, i16 16785, i16 970, i16 971, i16 972, i16 973, i16 12490, i16 0, i16 0, i16 0, i16 12746, i16 13990, i16 0, i16 0, i16 14026, i16 0, i16 13980, i16 0, i16 15818, i16 15722, i16 0, i16 14075, i16 17098, i16 0, i16 0, i16 0, i16 14795, i16 0, i16 0, i16 0, i16 15307, i16 0, i16 0, i16 0, i16 15819, i16 0, i16 0, i16 15927, i16 16075, i16 0, i16 0, i16 0, i16 716, i16 717, i16 718, i16 719, i16 14796, i16 0, i16 16022, i16 0, i16 15052, i16 0, i16 13418, i16 12665, i16 16844, i16 0, i16 0, i16 0, i16 461, i16 462, i16 463, i16 464, i16 13261, i16 0, i16 0, i16 0, i16 14541, i16 13220, i16 0, i16 0, i16 15309, i16 0, i16 12712, i16 0, i16 15565, i16 15566, i16 15568, i16 15573, i16 15821, i16 0, i16 16052, i16 0, i16 17101, i16 0, i16 0, i16 0, i16 974, i16 975, i16 976, i16 977, i16 13006, i16 13007, i16 13008, i16 13009, i16 13518, i16 0, i16 0, i16 14415, i16 14542, i16 0, i16 0, i16 0, i16 16078, i16 14393, i16 0, i16 0, i16 207, i16 0, i16 235, i16 0, i16 12495, i16 0, i16 0, i16 16950, i16 13519, i16 0, i16 0, i16 0, i16 15311, i16 0, i16 14830, i16 14282, i16 15567, i16 0, i16 0, i16 16619, i16 15823, i16 0, i16 0, i16 16027, i16 16847, i16 0, i16 0, i16 14496, i16 17103, i16 17115, i16 0, i16 0, i16 208, i16 0, i16 0, i16 209, i16 720, i16 721, i16 722, i16 723, i16 14544, i16 0, i16 0, i16 0, i16 15056, i16 15059, i16 15071, i16 15076, i16 16336, i16 0, i16 0, i16 0, i16 16592, i16 15685, i16 0, i16 0, i16 16848, i16 0, i16 13214, i16 0, i16 17104, i16 14273, i16 14711, i16 0, i16 465, i16 466, i16 467, i16 468, i16 12753, i16 14734, i16 0, i16 16252, i16 14033, i16 0, i16 0, i16 15601, i16 16081, i16 0, i16 0, i16 0, i16 978, i16 979, i16 980, i16 981, i16 13010, i16 13012, i16 13013, i16 13014, i16 15826, i16 16028, i16 12772, i16 0, i16 16594, i16 0, i16 0, i16 0, i16 16850, i16 0, i16 16189, i16 0, i16 17106, i16 0, i16 0, i16 12294, i16 14547, i16 0, i16 0, i16 14190, i16 15315, i16 0, i16 0, i16 0, i16 15827, i16 0, i16 0, i16 12830, i16 724, i16 725, i16 726, i16 727, i16 12500, i16 0, i16 0, i16 16134, i16 13524, i16 0, i16 0, i16 0, i16 13780, i16 13256, i16 0, i16 0, i16 14804, i16 16701, i16 0, i16 0, i16 15060, i16 0, i16 12324, i16 0, i16 15316, i16 0, i16 15341, i16 0, i16 15572, i16 0, i16 0, i16 14646, i16 15828, i16 0, i16 13541, i16 15450, i16 469, i16 470, i16 471, i16 472, i16 12501, i16 0, i16 0, i16 0, i16 12757, i16 0, i16 0, i16 14292, i16 13269, i16 0, i16 0, i16 0, i16 13781, i16 0, i16 0, i16 13202, i16 14293, i16 0, i16 0, i16 14850, i16 982, i16 983, i16 984, i16 985, i16 13526, i16 12773, i16 0, i16 13700, i16 15574, i16 15575, i16 15650, i16 15725, i16 16854, i16 0, i16 15593, i16 14511, i16 13015, i16 13017, i16 13019, i16 13020, i16 14295, i16 0, i16 0, i16 0, i16 16599, i16 13986, i16 0, i16 0, i16 728, i16 729, i16 730, i16 731, i16 12504, i16 0, i16 0, i16 0, i16 13272, i16 13695, i16 17084, i16 13561, i16 14040, i16 16182, i16 16408, i16 0, i16 14296, i16 0, i16 0, i16 0, i16 14552, i16 0, i16 13151, i16 16838, i16 217, i16 215, i16 214, i16 206, i16 473, i16 474, i16 475, i16 0, i16 13529, i16 0, i16 15231, i16 0, i16 16089, i16 0, i16 16543, i16 0, i16 986, i16 987, i16 988, i16 989, i16 12762, i16 0, i16 0, i16 12667, i16 14042, i16 0, i16 14899, i16 0, i16 14298, i16 0, i16 0, i16 0, i16 15322, i16 14491, i16 0, i16 12496, i16 16602, i16 0, i16 0, i16 0, i16 12763, i16 0, i16 0, i16 15467, i16 13275, i16 14301, i16 0, i16 17006, i16 13531, i16 0, i16 14555, i16 0, i16 220, i16 0, i16 0, i16 0, i16 476, i16 477, i16 478, i16 479, i16 732, i16 733, i16 734, i16 735, i16 12764, i16 15934, i16 0, i16 16323, i16 14812, i16 12878, i16 0, i16 15877, i16 15580, i16 14196, i16 16484, i16 15632, i16 221, i16 0, i16 175, i16 222, i16 12509, i16 0, i16 0, i16 0, i16 13533, i16 0, i16 0, i16 0, i16 14557, i16 14233, i16 0, i16 0, i16 14813, i16 0, i16 0, i16 0, i16 15325, i16 0, i16 15780, i16 0, i16 16093, i16 16897, i16 13603, i16 0, i16 16349, i16 0, i16 14054, i16 14713, i16 990, i16 991, i16 992, i16 993, i16 12510, i16 15805, i16 13369, i16 0, i16 12766, i16 0, i16 0, i16 0, i16 13022, i16 13026, i16 13030, i16 13032, i16 13278, i16 14015, i16 13585, i16 0, i16 14046, i16 0, i16 0, i16 0, i16 14814, i16 0, i16 0, i16 0, i16 15582, i16 0, i16 0, i16 16043, i16 16350, i16 0, i16 0, i16 0, i16 223, i16 0, i16 268, i16 128, i16 13279, i16 15703, i16 16122, i16 0, i16 14303, i16 0, i16 0, i16 13160, i16 14815, i16 0, i16 0, i16 14647, i16 15327, i16 15373, i16 0, i16 14127, i16 16351, i16 0, i16 14211, i16 0, i16 480, i16 481, i16 482, i16 483, i16 736, i16 737, i16 738, i16 739, i16 13792, i16 0, i16 0, i16 14426, i16 15072, i16 15398, i16 0, i16 0, i16 12769, i16 0, i16 0, i16 0, i16 13537, i16 0, i16 0, i16 0, i16 14305, i16 0, i16 0, i16 0, i16 15585, i16 16868, i16 0, i16 0, i16 226, i16 229, i16 228, i16 231, i16 994, i16 995, i16 996, i16 997, i16 13282, i16 0, i16 0, i16 0, i16 14306, i16 0, i16 12700, i16 0, i16 14562, i16 15395, i16 0, i16 0, i16 16354, i16 0, i16 14249, i16 0, i16 16610, i16 0, i16 0, i16 13023, i16 12771, i16 0, i16 0, i16 0, i16 14307, i16 0, i16 0, i16 0, i16 15587, i16 17070, i16 0, i16 13673, i16 484, i16 485, i16 0, i16 0, i16 740, i16 741, i16 742, i16 743, i16 13028, i16 15378, i16 15379, i16 13805, i16 16612, i16 0, i16 14204, i16 16080, i16 13285, i16 0, i16 0, i16 0, i16 14053, i16 0, i16 13415, i16 0, i16 15589, i16 0, i16 12505, i16 16542, i16 16869, i16 0, i16 12780, i16 0, i16 17125, i16 16445, i16 0, i16 0, i16 230, i16 867, i16 700, i16 0, i16 486, i16 487, i16 488, i16 489, i16 998, i16 999, i16 1000, i16 1001, i16 12518, i16 0, i16 0, i16 0, i16 12774, i16 0, i16 0, i16 0, i16 13542, i16 0, i16 12967, i16 16522, i16 14310, i16 17148, i16 0, i16 0, i16 14822, i16 0, i16 0, i16 0, i16 15078, i16 15095, i16 15173, i16 15174, i16 16358, i16 0, i16 0, i16 13564, i16 16870, i16 0, i16 0, i16 0, i16 13287, i16 0, i16 12943, i16 14498, i16 14567, i16 0, i16 0, i16 0, i16 15335, i16 0, i16 0, i16 0, i16 17127, i16 15461, i16 13470, i16 0, i16 744, i16 745, i16 746, i16 747, i16 14312, i16 0, i16 0, i16 0, i16 15080, i16 15157, i16 13874, i16 13265, i16 16360, i16 0, i16 0, i16 0, i16 16872, i16 0, i16 0, i16 0, i16 13033, i16 13034, i16 13036, i16 13037, i16 13289, i16 12536, i16 0, i16 16564, i16 13545, i16 0, i16 0, i16 15443, i16 13801, i16 0, i16 13620, i16 0, i16 15081, i16 15804, i16 0, i16 0, i16 15849, i16 0, i16 0, i16 0, i16 16617, i16 0, i16 0, i16 0, i16 16873, i16 14697, i16 0, i16 0, i16 234, i16 0, i16 0, i16 0, i16 490, i16 491, i16 492, i16 493, i16 1002, i16 1003, i16 1004, i16 1005, i16 15338, i16 0, i16 0, i16 0, i16 16362, i16 0, i16 14446, i16 15234, i16 16874, i16 0, i16 0, i16 13025, i16 17130, i16 0, i16 0, i16 0, i16 12523, i16 0, i16 13760, i16 0, i16 14059, i16 14375, i16 0, i16 0, i16 14571, i16 0, i16 12662, i16 0, i16 15339, i16 14340, i16 0, i16 0, i16 15851, i16 0, i16 0, i16 16883, i16 748, i16 749, i16 750, i16 751, i16 14316, i16 0, i16 16739, i16 0, i16 14572, i16 0, i16 16192, i16 14871, i16 14828, i16 0, i16 0, i16 0, i16 15852, i16 12976, i16 15777, i16 0, i16 17132, i16 0, i16 0, i16 0, i16 12525, i16 14854, i16 0, i16 0, i16 14573, i16 14036, i16 0, i16 14037, i16 15085, i16 17109, i16 13852, i16 0, i16 16109, i16 15216, i16 13094, i16 0, i16 238, i16 0, i16 0, i16 179, i16 494, i16 495, i16 0, i16 0, i16 1006, i16 1007, i16 1008, i16 1009, i16 13806, i16 15676, i16 16961, i16 0, i16 16366, i16 15218, i16 0, i16 0, i16 12783, i16 0, i16 15396, i16 0, i16 13551, i16 15458, i16 17151, i16 0, i16 13807, i16 0, i16 0, i16 0, i16 14831, i16 0, i16 0, i16 0, i16 15855, i16 0, i16 14172, i16 0, i16 16367, i16 0, i16 14806, i16 12387, i16 240, i16 0, i16 163, i16 164, i16 752, i16 753, i16 754, i16 755, i16 12528, i16 0, i16 0, i16 12349, i16 13040, i16 0, i16 0, i16 15092, i16 13552, i16 13270, i16 0, i16 0, i16 14576, i16 0, i16 0, i16 0, i16 15600, i16 0, i16 0, i16 13650, i16 16368, i16 0, i16 0, i16 17051, i16 17136, i16 15591, i16 12699, i16 0, i16 13041, i16 13042, i16 13043, i16 13044, i16 13297, i16 0, i16 14164, i16 0, i16 14065, i16 0, i16 0, i16 0, i16 14321, i16 14328, i16 14431, i16 14457, i16 16369, i16 0, i16 16030, i16 16833, i16 16625, i16 0, i16 0, i16 0, i16 242, i16 241, i16 0, i16 0, i16 1010, i16 1011, i16 1012, i16 1013, i16 13554, i16 0, i16 0, i16 16702, i16 14066, i16 0, i16 0, i16 0, i16 14834, i16 14837, i16 14838, i16 14845, i16 499, i16 500, i16 501, i16 502, i16 16115, i16 0, i16 13362, i16 0, i16 16371, i16 14903, i16 15888, i16 0, i16 756, i16 757, i16 0, i16 0, i16 15860, i16 0, i16 0, i16 0, i16 16884, i16 0, i16 0, i16 0, i16 245, i16 248, i16 0, i16 249, i16 12789, i16 14319, i16 0, i16 0, i16 13045, i16 13047, i16 13052, i16 13064, i16 14581, i16 0, i16 16841, i16 0, i16 15093, i16 15181, i16 14721, i16 13061, i16 15605, i16 15130, i16 15715, i16 0, i16 15861, i16 0, i16 0, i16 14946, i16 16373, i16 15027, i16 0, i16 0, i16 16885, i16 0, i16 0, i16 16823, i16 246, i16 247, i16 0, i16 250, i16 758, i16 759, i16 760, i16 761, i16 1014, i16 1015, i16 1016, i16 1017, i16 12790, i16 0, i16 0, i16 0, i16 15350, i16 13930, i16 0, i16 0, i16 15606, i16 0, i16 0, i16 0, i16 16886, i16 16410, i16 15882, i16 17128, i16 17142, i16 16149, i16 0, i16 17135, i16 503, i16 504, i16 505, i16 506, i16 13815, i16 0, i16 0, i16 0, i16 14071, i16 0, i16 0, i16 0, i16 14583, i16 0, i16 0, i16 0, i16 14839, i16 16973, i16 15261, i16 17140, i16 13560, i16 0, i16 17083, i16 0, i16 14072, i16 0, i16 0, i16 0, i16 14584, i16 0, i16 15281, i16 0, i16 15608, i16 0, i16 0, i16 0, i16 15864, i16 16748, i16 0, i16 0, i16 16632, i16 15150, i16 0, i16 0, i16 12537, i16 0, i16 0, i16 14973, i16 12793, i16 14630, i16 15850, i16 0, i16 13049, i16 14043, i16 0, i16 0, i16 13305, i16 13263, i16 0, i16 0, i16 15865, i16 0, i16 0, i16 0, i16 17145, i16 16421, i16 0, i16 13784, i16 762, i16 763, i16 764, i16 765, i16 1018, i16 1019, i16 1020, i16 1021, i16 12538, i16 0, i16 0, i16 12960, i16 13050, i16 15974, i16 0, i16 13523, i16 15610, i16 0, i16 0, i16 0, i16 17146, i16 0, i16 0, i16 0, i16 507, i16 508, i16 509, i16 510, i16 13051, i16 0, i16 0, i16 0, i16 15099, i16 17005, i16 17050, i16 16925, i16 15611, i16 15678, i16 0, i16 0, i16 252, i16 0, i16 0, i16 183, i16 13308, i16 14843, i16 0, i16 0, i16 14332, i16 14758, i16 0, i16 0, i16 14588, i16 0, i16 16420, i16 14528, i16 15612, i16 15795, i16 0, i16 0, i16 13309, i16 0, i16 0, i16 0, i16 15869, i16 13439, i16 0, i16 0, i16 16381, i16 0, i16 0, i16 0, i16 16893, i16 14522, i16 0, i16 0, i16 17149, i16 0, i16 12785, i16 0, i16 254, i16 255, i16 0, i16 0, i16 766, i16 767, i16 768, i16 769, i16 1022, i16 1023, i16 1024, i16 1025, i16 13054, i16 0, i16 0, i16 13994, i16 13566, i16 0, i16 0, i16 0, i16 13822, i16 13259, i16 0, i16 15098, i16 511, i16 512, i16 0, i16 513, i16 12287, i16 0, i16 0, i16 13421, i16 12799, i16 0, i16 0, i16 0, i16 13311, i16 0, i16 0, i16 0, i16 13567, i16 0, i16 14077, i16 0, i16 14335, i16 12521, i16 13217, i16 0, i16 14591, i16 15619, i16 0, i16 0, i16 14847, i16 14848, i16 14856, i16 14866], [6 x i8] c"\0A\03\162\00\04", [24 x i64] [i64 48508, i64 48528, i64 48548, i64 14648, i64 48588, i64 48634, i64 48640, i64 14699, i64 48670, i64 52564, i64 52608, i64 14727, i64 53422, i64 61672, i64 61772, i64 16373, i64 0, i64 0, i64 0, i64 0, i64 68630, i64 69002, i64 69010, i64 44726], [2826 x i8] c"\00\00\01\00\00\00\00\00\00\01\00\08\00\01\01\01e\01\01\02\02\00\01\01\01e\01\02\00\02\00\02\02\02d\02\03\00\12\00\02\03\03c\03\03\02\02\00\02\04\04c\04\04\00\12\00\02\05\05b\03\04\02\02\00\02\06\06b\04\05\00\12\00\02\07\05a\03\05\02\02\00\02\08\06a\04\06\00\12\00\02\09\05`\03\06\02\02\00\02\0A\06`\04\07\00\02\00\03\0B\07_\05\08\00\12\00\02\0C\05^\03\08\02\02\00\02\0D\06^\04\09\00\12\00\02\0E\08]\03\09\02\02\00\02\0F\09]\04\0A\00\12\00\02\10\05\\\03\0A\02\02\00\02\11\06\\\04\0B\00\12\00\02\12\08[\03\0B\02\02\00\02\13\09[\04\0C\00\12\00\02\14\05Z\03\0C\02\02\00\02\15\06Z\04\0D\00\12\00\02\16\05Y\03\0D\02\02\00\02\17\06Y\04\0E\00\12\00\02\18\05X\03\0E\02\02\00\02\19\06X\04\0F\00\12\00\02\1A\05W\03\0F\02\02\00\02\1B\06W\04\10\00\12\00\00\1C\0A\8E\06\10\02\02\00\00\1D\0B\8E\07\11\00\12\00\02\1E\05V\03\11\02\02\00\02\1F\06V\04\12\00\12\00\02 \0CU\03\12\02\02\00\02!\0DU\04\13\00\12\00\02\22\05T\08\13\02\02\00\02#\06T\09\14\00\12\00\02$\05S\08\14\02\02\00\02%\06S\09\15\00\15\00\01&\0ER\0A\15\02\02\00\01&\0FR\0B\16\00\05\00\01'\10Q\0C\16\02\02\00\01(\11Q\0D\17\00\05\00\04)\12P\0E\17\02\02\00\04*\13P\0F\18\00\02\00\02+\14O\10\19\00\02\00\03,\15N\11\1A\00\08\00\05-\16M\12\1A\02\02\00\05.\16M\12\1B\00\0E\00\05/\17L\13\1B\02\02\00\05/\18L\13\1C\00\08\00\050\19\8B\14\1C\02\02\00\051\1A\8B\14\1D\00\0C\00\052\19\8B\14\1D\02\02\00\051\1A\8B\14\1E\00\0E\00\063\1B\8C\15\1E\02\02\00\074\1C\8C\15\1F\00\0B\00\025\1DK\16\1F\02\02\00\026\1DK\16 \00\08\00\017\1E\8A\17 \02\02\00\017\1F\8A\17!\00\08\00\058 J\18!\02\02\00\059!J\18\22\00\0C\00\05: J\18\22\02\02\00\059!J\18#\00\08\00\01;\22I\18#\02\02\00\01<#I\18$\00\0C\00\01=\22I\18$\02\02\00\01<#I\18%\00\08\00\08>$H\18%\02\02\00\08>%H\18&\00\08\00\01?$G\18&\02\02\00\01@%G\18'\00\0C\00\01A$G\18'\02\02\00\01@%G\18(\00\08\00\01;\22F\18(\02\02\00\01<#F\18)\00\0C\00\01=\22F\18)\02\02\00\01<#F\18*\00\13\00\09B&E\19*\02\02\00\09C'E\1A+\00\08\00\02D(D\02+\02\02\00\02D(D\02,\00\08\00\02E)C\1B,\02\02\00\02E)C\1B-\00\08\00\02F*\89\1C-\02\02\00\02F*\89\1C.\00\08\00\01G+B\1D.\02\02\00\01H+B\1D/\00\08\00\025)A\02/\02\02\00\026)A\020\00\08\00\02I,@\1E0\02\02\00\02I,@\1E1\00\08\00\02J)?\021\02\02\00\02K)?\022\00\0C\00\02L)?\022\02\02\00\02K)?\023\00\02\00\03\0B->\1E4\00\08\00\02M)=\024\02\02\00\02M)=\025\00\08\00\02N.<\1E5\02\02\00\02N.<\1E6\00\08\00\02O/;\1E6\02\02\00\02O/;\1E7\00\08\00\02P0:\027\02\02\00\02P0:\028\00\08\00\02Q)9\1B8\02\02\00\02Q)9\1B9\00\08\00\02R)8\1B9\02\02\00\02R)8\1B:\02\02\00\05S17\1F;\00\08\00\01T2\88 ;\02\02\00\01T3\88 <\00\08\00\05U2\87 <\02\02\00\05U3\87 =\00\08\00\05V2\86 =\02\02\00\05V3\86 >\00\08\00\05W2\85 >\02\02\00\05W3\85 ?\00\08\00\00X2\84 ?\02\02\00\00X3\84 @\00\08\00\00Y2\83 @\02\02\00\00Y3\83 A\00\08\00\05Z2\82 A\02\02\00\05Z3\82 B\00\08\00\05[2\81 B\02\02\00\05\\3\81 C\00\0C\00\05]2\81 C\02\02\00\05\\3\81 D\00\08\00\00^2\80 D\02\02\00\00^3\80 E\00\08\00\00_2\7F E\02\02\00\00_3\7F F\00\08\00\00`2~ F\02\02\00\00`3~ G\00\08\00\00a2} G\02\02\00\00a3} H\00\08\00\00b2| H\02\02\00\00b3| I\00\08\00\00c2{ I\02\02\00\00c3{ J\00\08\00\00d2z J\02\02\00\00d3z K\00\08\00\05e2y K\02\02\00\05e3y L\00\08\00\00f2x L\02\02\00\00g3x M\00\08\00\02P2w M\02\02\00\02P3w N\00\08\00\05h2v N\02\02\00\05h3v O\00\08\00\05i2u O\02\02\00\05i3u P\00\08\00\06j4t!P\02\02\00\07k5t!Q\00\08\00\05l66\22Q\02\02\00\05m66\22R\00\0C\00\05n66\22R\02\02\00\05m66\22S\02\02\01\0Ao75#S\00\02\01\0Ao75#T\00\08\00\01p8s$T\02\02\00\01q9s$U\00\0C\00\01r8s$U\02\02\00\01q9s$V\00\08\00\017:r%V\02\02\00\017;r%W\00\08\00\09?<4&W\02\02\00\09@=4&X\00\0C\00\09A<4&X\02\02\00\09@=4&Y\00\08\00\0Bs>q'Y\02\02\00\0Bs?q'Z\00\08\00\05>@3(Z\02\02\00\05>A3([\00\08\00\05-B2'[\02\02\00\05.C2'\\\00\0C\00\05tB2'\\\02\02\00\05.C2']\00\08\00\05-B1']\02\02\00\05.C1'^\00\0C\00\05tB1'^\02\02\00\05.C1'_\00\08\00\02JD0)_\02\02\00\02KE0)`\00\0C\00\02LD0)`\02\02\00\02KE0)a\00\0C\00\025F/\1Ba\02\02\00\026G/\1Bb\00\08\00\05lHp b\02\02\00\05mIp c\00\0C\00\05nHp c\02\02\00\05mIp d\00\08\00\025J.\1Bd\02\02\00\026J.\1Be\00\14\00\02uK-*e\02\02\00\02vL-+f\02\02\00\02wM,\02f\00\02\00\02wM,\02g\00\0E\00\05xNo,g\02\02\00\05xOo,h\00\0E\00\01yP+-h\02\02\00\01yQ+-i\00\03\00\02zR*.i\02\02\00\02{S*\10j\00\08\00\01|T)/j\02\02\00\01|T)/k\00\08\00\01}Un\18k\02\02\00\01}Vn\18l\00\08\00\0C>W(0l\02\02\00\0C>X(0m\00\08\00\05lY' m\02\02\00\05mZ' n\00\0C\00\05nY' n\02\02\00\05mZ' o\00\14\00\02uK&*o\02\02\00\02vL&+p\02\02\00\02~[\901q\00\07\00\01\7F\\%2q\02\02\00\01\80]%3r\00\08\00\017^m4r\02\02\00\017^m4s\02\02\00\02\81_\915t\00\08\00\025`$6t\02\02\00\026`$6u\00\0A\00\01\82al7u\02\02\00\01\82bl7v\00\0A\00\06\83ck%v\02\02\00\07\84dk%w\00\0A\00\02Me#8w\02\02\00\02Mf#9x\00\11\00\0D\85g\22:x\02\02\00\0D\86h\22;y\02\02\00\02\87i!\82\02\02\00\05.s\1B>\83\00\0E\00\05\90ti?\83\02\02\00\05\91ui?\84\00\08\00\05\92v\1A@\84\02\02\00\05\92w\1A@\85\00\08\00\05\93x\19@\85\02\02\00\05\94y\19@\86\00\0C\00\05\95x\19@\86\02\02\00\05\94y\19@\87\00\0E\00\05\96z\18A\87\02\02\00\05\96{\18A\88\16\16\00\01\97|\17B\88\00\11\00\01\98}\17C\88\02\02\00\01\99~\17\0D\89\00\18\00\01\9A\7F\16D\89\02\02\00\01\9B\80\16E\8A\00\02\00\01\9C\81\15F\8B\00\0E\00\06\9D\82\8DG\8B\02\02\00\07\9E\83\8DH\8C\00\0E\00\0B\9F\84hI\8C\02\02\00\0B\9F\85hI\8D\00\08\00\01\A0\86\14\02\8D\02\02\00\01\A0\87\14\02\8E\00\0E\00\05\A1\88\13J\8E\02\02\00\05\A1\89\13J\8F\00\11\00\05\A2\8A\13K\8F\02\02\00\05\A3\8B\13E\90\00\08\00\01p\8Cg\18\90\02\02\00\01q\8Dg\18\91\00\0C\00\01r\8Cg\18\91\02\02\00\01q\8Dg\18\92\00\08\00\0D\A4\8C\12\18\92\02\02\00\0D\A4\8D\12\18\93\00\02\00\03\0B\8E\11L\94\00\02\00\0E\A5\8F\10M\95\00\17\00\01\97|\0FN\95\02\02\00\01\99~\0FO\96\00\19\00\02\A6\90\8FP\96\02\02\00\02\A7\91\8FQ\97\00\02\00\02\A8\92\0E\02\98\00\02\00\02\02\93\0D\02\99\00\08\00\02\A9\94\0C\02\99\02\02\00\02\A9\94\0C\02\9A\00\15\00\00\AA\95fR\9A\02\02\00\00\AA\96fS\9B\02\02\00\01\99\97\0BT\9C\00\18\00\01\9A\98\0AU\9C\02\02\00\01\9B\99\0AV\9D\00\02\00\02\AB\9A\09W\9E\00\08\00\02\AC\9B\08X\9E\02\02\00\02\AC\9B\08X\9F\02\02\00\01\AD\9C\07\02\9F\00\02\00\01\AD\9C\07\02\A0\00\08\00\09?\9D\06Y\A0\02\02\00\09@\9E\06Y\A1\00\0C\00\09A\9D\06Y\A2\00\06\00\02\AE\9F\05Z\A2\02\02\00\02\AE\A0\05[\A3\02\02\00\02\AF\A1\04\\\A4\02\02\00\02I\A2\03\\\A5\00\02\00\02O\A3\02\1E\A6\02\02\00\02\B0\A4\01\\", [835 x i8] c"af_ZAam_ETar_AEar_BHar_DZar_EGar_INar_IQar_JOar_KWar_LBar_LYar_MAar_OMar_QAar_SAar_SDar_SYar_TNar_YEaz_AZbe_BYbg_BGbn_BDbn_INbr_FRbs_BAca_EScaeEScs_CZcy_GBda_DKde_ATdeeATde_BEdeeBEde_CHde_DEdeeDEde_LUdeeLUel_GRen_AUen_BWen_CAen_DKen_GBen_HKen_IEeneIEen_INen_NZen_PHen_SGen_USen_ZAen_ZWeo_EOes_ARes_BOes_CLes_COes_CRes_DOes_ECes_ESeseESes_GTes_HNes_MXes_NIes_PAes_PEes_PRes_PYes_SVes_USes_UYes_VEet_EEeu_ESeueESfa_IRfi_FIfieFIfo_FOfr_BEfreBEfr_CAfr_CHfr_FRfreFRfr_LUfreLUga_IEgaeIEgd_GBgl_ESgleESgv_GBhe_ILhi_INhr_HRhu_HUhy_AMid_IDis_ISit_CHit_ITiteITiw_ILja_JPka_GEkl_GLko_KRkw_GBlt_LTlv_LVmi_NZmk_MKmr_INms_MYmt_MTnl_BEnleBEnl_NLnleNLnn_NOno_NOoc_FRpl_PLpt_BRpt_PTptePTro_ROru_RUru_UAse_NOsk_SKsl_SIsq_ALsr_YUsrcYUsv_FIsveFIsv_SEta_INte_INtg_TJth_THti_ERti_ETtl_PHtr_TRtt_RUuk_UAur_PKuz_UZvi_VNwa_BEwaeBEyi_USzh_CNzh_HKzh_SGzh_TW\00\00\00\00\00", [18 x i8] c"\05eeuro\00\09ccyrillic\00", [69 x i8] c"\06\0F\1A&.9LC_CTYPE\00LC_NUMERIC\00LC_MONETARY\00LC_TIME\00LC_COLLATE\00LC_MESSAGES\00", [255 x i8] c"\18\22(/6BMYeq}\89\94\9F\AA\B5\C0\CB\D6\E1\E8\EF\F6\00ARMSCII-8\00ASCII\00CP1251\00CP1255\00GEORGIAN-PS\00ISO-8859-1\00ISO-8859-10\00ISO-8859-13\00ISO-8859-14\00ISO-8859-15\00ISO-8859-16\00ISO-8859-2\00ISO-8859-3\00ISO-8859-4\00ISO-8859-5\00ISO-8859-6\00ISO-8859-7\00ISO-8859-8\00ISO-8859-9\00KOI8-R\00KOI8-T\00KOI8-U\00TIS-620\00\00" }, align 8 +@__C_ctype_b_data = constant <{ [256 x i16], [128 x i16] }> <{ [256 x i16] [i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 8195, i16 8194, i16 8194, i16 8194, i16 8194, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 2, i16 24577, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -10232, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -11000, i16 -11000, i16 -11000, i16 -11000, i16 -11000, i16 -11000, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -15096, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 -10744, i16 -10744, i16 -10744, i16 -10744, i16 -10744, i16 -10744, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -14840, i16 -16380, i16 -16380, i16 -16380, i16 -16380, i16 2], [128 x i16] zeroinitializer }>, align 16 +@__C_ctype_b = global i16* bitcast (i8* getelementptr (i8, i8* bitcast (<{ [256 x i16], [128 x i16] }>* @__C_ctype_b_data to i8*), i64 256) to i16*), align 8 +@__C_ctype_tolower_data = constant [384 x i16] [i16 -128, i16 -127, i16 -126, i16 -125, i16 -124, i16 -123, i16 -122, i16 -121, i16 -120, i16 -119, i16 -118, i16 -117, i16 -116, i16 -115, i16 -114, i16 -113, i16 -112, i16 -111, i16 -110, i16 -109, i16 -108, i16 -107, i16 -106, i16 -105, i16 -104, i16 -103, i16 -102, i16 -101, i16 -100, i16 -99, i16 -98, i16 -97, i16 -96, i16 -95, i16 -94, i16 -93, i16 -92, i16 -91, i16 -90, i16 -89, i16 -88, i16 -87, i16 -86, i16 -85, i16 -84, i16 -83, i16 -82, i16 -81, i16 -80, i16 -79, i16 -78, i16 -77, i16 -76, i16 -75, i16 -74, i16 -73, i16 -72, i16 -71, i16 -70, i16 -69, i16 -68, i16 -67, i16 -66, i16 -65, i16 -64, i16 -63, i16 -62, i16 -61, i16 -60, i16 -59, i16 -58, i16 -57, i16 -56, i16 -55, i16 -54, i16 -53, i16 -52, i16 -51, i16 -50, i16 -49, i16 -48, i16 -47, i16 -46, i16 -45, i16 -44, i16 -43, i16 -42, i16 -41, i16 -40, i16 -39, i16 -38, i16 -37, i16 -36, i16 -35, i16 -34, i16 -33, i16 -32, i16 -31, i16 -30, i16 -29, i16 -28, i16 -27, i16 -26, i16 -25, i16 -24, i16 -23, i16 -22, i16 -21, i16 -20, i16 -19, i16 -18, i16 -17, i16 -16, i16 -15, i16 -14, i16 -13, i16 -12, i16 -11, i16 -10, i16 -9, i16 -8, i16 -7, i16 -6, i16 -5, i16 -4, i16 -3, i16 -2, i16 -1, i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 97, i16 98, i16 99, i16 100, i16 101, i16 102, i16 103, i16 104, i16 105, i16 106, i16 107, i16 108, i16 109, i16 110, i16 111, i16 112, i16 113, i16 114, i16 115, i16 116, i16 117, i16 118, i16 119, i16 120, i16 121, i16 122, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255], align 16 +@__C_ctype_tolower = global i16* bitcast (i8* getelementptr (i8, i8* bitcast ([384 x i16]* @__C_ctype_tolower_data to i8*), i64 256) to i16*), align 8 +@__C_ctype_toupper_data = constant [384 x i16] [i16 -128, i16 -127, i16 -126, i16 -125, i16 -124, i16 -123, i16 -122, i16 -121, i16 -120, i16 -119, i16 -118, i16 -117, i16 -116, i16 -115, i16 -114, i16 -113, i16 -112, i16 -111, i16 -110, i16 -109, i16 -108, i16 -107, i16 -106, i16 -105, i16 -104, i16 -103, i16 -102, i16 -101, i16 -100, i16 -99, i16 -98, i16 -97, i16 -96, i16 -95, i16 -94, i16 -93, i16 -92, i16 -91, i16 -90, i16 -89, i16 -88, i16 -87, i16 -86, i16 -85, i16 -84, i16 -83, i16 -82, i16 -81, i16 -80, i16 -79, i16 -78, i16 -77, i16 -76, i16 -75, i16 -74, i16 -73, i16 -72, i16 -71, i16 -70, i16 -69, i16 -68, i16 -67, i16 -66, i16 -65, i16 -64, i16 -63, i16 -62, i16 -61, i16 -60, i16 -59, i16 -58, i16 -57, i16 -56, i16 -55, i16 -54, i16 -53, i16 -52, i16 -51, i16 -50, i16 -49, i16 -48, i16 -47, i16 -46, i16 -45, i16 -44, i16 -43, i16 -42, i16 -41, i16 -40, i16 -39, i16 -38, i16 -37, i16 -36, i16 -35, i16 -34, i16 -33, i16 -32, i16 -31, i16 -30, i16 -29, i16 -28, i16 -27, i16 -26, i16 -25, i16 -24, i16 -23, i16 -22, i16 -21, i16 -20, i16 -19, i16 -18, i16 -17, i16 -16, i16 -15, i16 -14, i16 -13, i16 -12, i16 -11, i16 -10, i16 -9, i16 -8, i16 -7, i16 -6, i16 -5, i16 -4, i16 -3, i16 -2, i16 -1, i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15, i16 16, i16 17, i16 18, i16 19, i16 20, i16 21, i16 22, i16 23, i16 24, i16 25, i16 26, i16 27, i16 28, i16 29, i16 30, i16 31, i16 32, i16 33, i16 34, i16 35, i16 36, i16 37, i16 38, i16 39, i16 40, i16 41, i16 42, i16 43, i16 44, i16 45, i16 46, i16 47, i16 48, i16 49, i16 50, i16 51, i16 52, i16 53, i16 54, i16 55, i16 56, i16 57, i16 58, i16 59, i16 60, i16 61, i16 62, i16 63, i16 64, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 91, i16 92, i16 93, i16 94, i16 95, i16 96, i16 65, i16 66, i16 67, i16 68, i16 69, i16 70, i16 71, i16 72, i16 73, i16 74, i16 75, i16 76, i16 77, i16 78, i16 79, i16 80, i16 81, i16 82, i16 83, i16 84, i16 85, i16 86, i16 87, i16 88, i16 89, i16 90, i16 123, i16 124, i16 125, i16 126, i16 127, i16 128, i16 129, i16 130, i16 131, i16 132, i16 133, i16 134, i16 135, i16 136, i16 137, i16 138, i16 139, i16 140, i16 141, i16 142, i16 143, i16 144, i16 145, i16 146, i16 147, i16 148, i16 149, i16 150, i16 151, i16 152, i16 153, i16 154, i16 155, i16 156, i16 157, i16 158, i16 159, i16 160, i16 161, i16 162, i16 163, i16 164, i16 165, i16 166, i16 167, i16 168, i16 169, i16 170, i16 171, i16 172, i16 173, i16 174, i16 175, i16 176, i16 177, i16 178, i16 179, i16 180, i16 181, i16 182, i16 183, i16 184, i16 185, i16 186, i16 187, i16 188, i16 189, i16 190, i16 191, i16 192, i16 193, i16 194, i16 195, i16 196, i16 197, i16 198, i16 199, i16 200, i16 201, i16 202, i16 203, i16 204, i16 205, i16 206, i16 207, i16 208, i16 209, i16 210, i16 211, i16 212, i16 213, i16 214, i16 215, i16 216, i16 217, i16 218, i16 219, i16 220, i16 221, i16 222, i16 223, i16 224, i16 225, i16 226, i16 227, i16 228, i16 229, i16 230, i16 231, i16 232, i16 233, i16 234, i16 235, i16 236, i16 237, i16 238, i16 239, i16 240, i16 241, i16 242, i16 243, i16 244, i16 245, i16 246, i16 247, i16 248, i16 249, i16 250, i16 251, i16 252, i16 253, i16 254, i16 255], align 16 +@__C_ctype_toupper = global i16* bitcast (i8* getelementptr (i8, i8* bitcast ([384 x i16]* @__C_ctype_toupper_data to i8*), i64 256) to i16*), align 8 +@errno = global i32 0, align 4 +@h_errno = global i32 0, align 4 +@.str.208 = private unnamed_addr constant [17 x i8] c"ignoring (EPERM)\00", align 1 +@.str.7.210 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1 +@.str.1.211 = private unnamed_addr constant [9 x i8] c"ignoring\00", align 1 +@.str.2.212 = private unnamed_addr constant [82 x i8] c"/scratch1/gao606/coreutils-testing-pipeline/posix-runtime/runtime/POSIX/illegal.c\00", align 1 +@.str.3.213 = private unnamed_addr constant [20 x i8] c"longjmp unsupported\00", align 1 +@.str.4.214 = private unnamed_addr constant [8 x i8] c"xxx.err\00", align 1 +@.str.5.216 = private unnamed_addr constant [18 x i8] c"ignoring (EACCES)\00", align 1 +@.str.6.217 = private unnamed_addr constant [18 x i8] c"ignoring (ENOMEM)\00", align 1 +@error_message_count = global i32 0, align 4 +@error_one_per_line = global i32 0, align 4 +@.str.220 = private unnamed_addr constant [5 x i8] c": %s\00", align 1 +@__error_at_line.old_line_number = internal global i32 0, align 4 +@__error_at_line.old_file_name = internal global i8* null, align 8 +@.str.1.221 = private unnamed_addr constant [8 x i8] c"%s:%d: \00", align 1 +@hr_locale = internal global [448 x i8] zeroinitializer, align 16 +@utf8.228 = internal constant [6 x i8] c"UTF-8\00", align 1 +@static_fd = internal global i32 -1, align 4 +@static_ut_name = internal global i8* getelementptr inbounds ([14 x i8], [14 x i8]* @default_file_name, i32 0, i32 0), align 8 +@default_file_name = internal constant [14 x i8] c"/var/run/utmp\00", align 1 +@static_utmp = internal global %struct.utmp.323 zeroinitializer, align 8 +@mbrtowc.mbstate = internal global %struct.__mbstate_t.512 zeroinitializer, align 4 +@__dso_handle = extern_weak global i8*, align 8 +@.str.287 = private unnamed_addr constant [14 x i8] c"#\80\80\80\80\80\80\80\80\80\80\80\80\00", align 1 +@newlocale.envstr = internal global [4 x i8*] [i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.291, i32 0, i32 0), i8* null, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.2.292, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @posix, i32 0, i32 0)], align 16 +@.str.3.288 = private unnamed_addr constant [2 x i8] c"=\00", align 1 +@.str.4.289 = private unnamed_addr constant [2 x i8] c";\00", align 1 +@posix = internal constant [6 x i8] c"POSIX\00", align 1 +@utf8.290 = internal constant [6 x i8] c"UTF-8\00", align 1 +@.str.1.291 = private unnamed_addr constant [7 x i8] c"LC_ALL\00", align 1 +@.str.2.292 = private unnamed_addr constant [5 x i8] c"LANG\00", align 1 +@empty = internal constant [1 x i8] zeroinitializer, align 1 +@mbsnrtowcs.mbstate = internal global %struct.__mbstate_t.512 zeroinitializer, align 4 +@_do_one_spec.spec_base = internal constant [7 x i8] c"\10\10\10\08\0A\0A\0A", align 1 +@.str.307 = private unnamed_addr constant [6 x i8] c"(nil)\00", align 1 +@.str.1.308 = private unnamed_addr constant [7 x i8] c"(null)\00", align 1 +@_do_one_spec.prefix = internal constant [12 x i8] c"+\00-\00 \000x\000X\00", align 1 +@strerror.buf = internal global [50 x i8] zeroinitializer, align 16 +@desc2flag = internal constant [13 x i16] [i16 0, i16 2048, i16 4, i16 256, i16 512, i16 8, i16 128, i16 2, i16 64, i16 1024, i16 32, i16 1, i16 16], align 16 +@fmt = internal constant [20 x i8] c"inf\00INF\00nan\00NAN\00.\00,\00", align 16 +@exp10_table = internal constant [9 x double] [double 1.000000e+01, double 1.000000e+02, double 1.000000e+04, double 1.000000e+08, double 1.000000e+16, double 1.000000e+32, double 1.000000e+64, double 1.000000e+128, double 1.000000e+256], align 16 +@_ppfs_init.invalid_mbs = internal constant [33 x i8] c"Invalid multibyte format string.\00", align 16 +@_ppfs_parsespec.spec_flags = internal constant [8 x i8] c" +0-#'I\00", align 1 +@_ppfs_parsespec.qual_chars = internal constant [20 x i8] c"hlLjztqZ\00\02\04\08\04\04\04\08\04\00\01\08", align 16 +@_ppfs_parsespec.spec_chars = internal constant [21 x i8] c"npxXoudifFeEgGaACScs\00", align 16 +@_ppfs_parsespec.spec_ranges = internal constant [9 x i8] c"\00\01\07\0F\10\11\12\13\14", align 1 +@_ppfs_parsespec.spec_or_mask = internal constant [8 x i16] [i16 4096, i16 5, i16 0, i16 7, i16 2, i16 4, i16 1, i16 3], align 16 +@_ppfs_parsespec.spec_and_mask = internal constant [8 x i16] [i16 7936, i16 5, i16 3840, i16 2055, i16 2, i16 4, i16 1, i16 3], align 16 +@type_codes = internal constant [12 x i16] [i16 8, i16 5, i16 3, i16 4, i16 1, i16 512, i16 0, i16 1024, i16 2048, i16 2, i16 7, i16 2055], align 16 +@type_sizes = internal constant [12 x i8] c"\00\01\01\01\04\02\01\01\01\01\01\01", align 1 +@__exit_count = hidden global i32 0, align 4 +@__exit_function_table = hidden global %struct.exit_function* null, align 8 +@__exit_slots = hidden global i32 0, align 4 +@__xpg_strerror_r.unknown = internal constant [14 x i8] c"Unknown error ", align 1 +@mbsrtowcs.mbstate = internal global %struct.__mbstate_t.512 zeroinitializer, align 4 +@_string_syserrmsgs = hidden constant [2906 x i8] c"Success\00Operation not permitted\00No such file or directory\00No such process\00Interrupted system call\00Input/output error\00No such device or address\00Argument list too long\00Exec format error\00Bad file descriptor\00No child processes\00Resource temporarily unavailable\00Cannot allocate memory\00Permission denied\00Bad address\00Block device required\00Device or resource busy\00File exists\00Invalid cross-device link\00No such device\00Not a directory\00Is a directory\00Invalid argument\00Too many open files in system\00Too many open files\00Inappropriate ioctl for device\00Text file busy\00File too large\00No space left on device\00Illegal seek\00Read-only file system\00Too many links\00Broken pipe\00Numerical argument out of domain\00Numerical result out of range\00Resource deadlock avoided\00File name too long\00No locks available\00Function not implemented\00Directory not empty\00Too many levels of symbolic links\00\00No message of desired type\00Identifier removed\00Channel number out of range\00Level 2 not synchronized\00Level 3 halted\00Level 3 reset\00Link number out of range\00Protocol driver not attached\00No CSI structure available\00Level 2 halted\00Invalid exchange\00Invalid request descriptor\00Exchange full\00No anode\00Invalid request code\00Invalid slot\00\00Bad font file format\00Device not a stream\00No data available\00Timer expired\00Out of streams resources\00Machine is not on the network\00Package not installed\00Object is remote\00Link has been severed\00Advertise error\00Srmount error\00Communication error on send\00Protocol error\00Multihop attempted\00RFS specific error\00Bad message\00Value too large for defined data type\00Name not unique on network\00File descriptor in bad state\00Remote address changed\00Can not access a needed shared library\00Accessing a corrupted shared library\00.lib section in a.out corrupted\00Attempting to link in too many shared libraries\00Cannot exec a shared library directly\00Invalid or incomplete multibyte or wide character\00Interrupted system call should be restarted\00Streams pipe error\00Too many users\00Socket operation on non-socket\00Destination address required\00Message too long\00Protocol wrong type for socket\00Protocol not available\00Protocol not supported\00Socket type not supported\00Operation not supported\00Protocol family not supported\00Address family not supported by protocol\00Address already in use\00Cannot assign requested address\00Network is down\00Network is unreachable\00Network dropped connection on reset\00Software caused connection abort\00Connection reset by peer\00No buffer space available\00Transport endpoint is already connected\00Transport endpoint is not connected\00Cannot send after transport endpoint shutdown\00Too many references: cannot splice\00Connection timed out\00Connection refused\00Host is down\00No route to host\00Operation already in progress\00Operation now in progress\00Stale NFS file handle\00Structure needs cleaning\00Not a XENIX named type file\00No XENIX semaphores available\00Is a named type file\00Remote I/O error\00Disk quota exceeded\00No medium found\00Wrong medium type\00", align 16 + +@__progname = weak alias i8*, i8** @program_invocation_short_name +@__progname_full = weak alias i8*, i8** @program_invocation_name +@environ = weak alias i8**, i8*** @__environ +@__getdents = dso_local alias i64 (i32, %struct.dirent64*, i64), i64 (i32, %struct.dirent64*, i64)* @getdents +@getchar = alias i32 (), i32 ()* @getchar_unlocked +@raise = weak alias i32 (i32), i32 (i32)* @__raise +@fgetc_unlocked = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@getc_unlocked = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@fgetc = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@getc = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked +@__getdents64 = dso_local alias i64 (i32, i8*, i64), i64 (i32, i8*, i64)* @getdents64 +@error = weak alias void (i32, i32, i8*, ...), void (i32, i32, i8*, ...)* @__error +@error_at_line = weak alias void (i32, i32, i8*, i32, i8*, ...), void (i32, i32, i8*, i32, i8*, ...)* @__error_at_line +@ferror = alias i32 (%struct.__STDIO_FILE_STRUCT.592*), i32 (%struct.__STDIO_FILE_STRUCT.592*)* @ferror_unlocked +@fflush = alias i32 (%struct.__STDIO_FILE_STRUCT.568*), i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fflush_unlocked +@fileno = alias i32 (%struct.__STDIO_FILE_STRUCT.608*), i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno_unlocked +@fputc_unlocked = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@putc_unlocked = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@fputc = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@putc = alias i32 (i32, %struct.__STDIO_FILE_STRUCT.568*), i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked +@fputs = alias i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*), i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked +@fseeko = alias i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32), i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32)* @fseek +@fwrite = alias i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.621*), i64 (i8*, i64, i64, %struct.__STDIO_FILE_STRUCT.621*)* @fwrite_unlocked +@strerror_r = weak alias i32 (i32, i8*, i64), i32 (i32, i8*, i64)* @__xpg_strerror_r + +; Function Attrs: noinline nounwind uwtable +define void @__uClibc_init() #0 { +entry: + %0 = load i32, i32* @__uClibc_init.been_there_done_that, align 4 + %tobool = icmp ne i32 %0, 0 + br i1 %tobool, label %if.end4, label %if.end + +if.end: ; preds = %entry + %1 = load i32, i32* @__uClibc_init.been_there_done_that, align 4 + %inc = add nsw i32 %1, 1 + store i32 %inc, i32* @__uClibc_init.been_there_done_that, align 4 + store i64 4096, i64* @__pagesize, align 8 + call void @_locale_init() #18 + call void @_stdio_init() #18 + br label %if.end4 + +if.end4: ; preds = %entry, %if.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define void @__uClibc_fini() #0 { +entry: + %0 = load void ()*, void ()** @__app_fini, align 8 + %cmp = icmp ne void ()* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load void ()*, void ()** @__app_fini, align 8 + call void %1() #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %2 = load void ()*, void ()** @__rtld_fini, align 8 + %cmp1 = icmp ne void ()* %2, null + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + %3 = load void ()*, void ()** @__rtld_fini, align 8 + call void %3() #18 + br label %if.end3 + +if.end3: ; preds = %if.then2, %if.end + ret void +} + +; Function Attrs: noinline noreturn nounwind uwtable +define void @__uClibc_main(i32 (i32, i8**, i8**)* %main, i32 %argc, i8** %argv, void ()* %app_init, void ()* %app_fini, void ()* %rtld_fini, i8* %stack_end) #1 { +entry: + %main.addr = alloca i32 (i32, i8**, i8**)*, align 8 + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + %app_init.addr = alloca void ()*, align 8 + %app_fini.addr = alloca void ()*, align 8 + %rtld_fini.addr = alloca void ()*, align 8 + %stack_end.addr = alloca i8*, align 8 + %aux_dat = alloca i64*, align 8 + %auxvt = alloca [15 x %struct.Elf64_auxv_t], align 16 + %auxv_entry = alloca %struct.Elf64_auxv_t*, align 8 + store i32 (i32, i8**, i8**)* %main, i32 (i32, i8**, i8**)** %main.addr, align 8 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + store void ()* %app_init, void ()** %app_init.addr, align 8 + store void ()* %app_fini, void ()** %app_fini.addr, align 8 + store void ()* %rtld_fini, void ()** %rtld_fini.addr, align 8 + store i8* %stack_end, i8** %stack_end.addr, align 8 + %0 = load i8*, i8** %stack_end.addr, align 8 + store i8* %0, i8** @__libc_stack_end, align 8 + %1 = load void ()*, void ()** %rtld_fini.addr, align 8 + store void ()* %1, void ()** @__rtld_fini, align 8 + %2 = load i8**, i8*** %argv.addr, align 8 + %3 = load i32, i32* %argc.addr, align 4 + %add = add nsw i32 %3, 1 + %idxprom = sext i32 %add to i64 + %arrayidx = getelementptr inbounds i8*, i8** %2, i64 %idxprom + store i8** %arrayidx, i8*** @__environ, align 8 + %4 = load i8**, i8*** @__environ, align 8 + %5 = bitcast i8** %4 to i8* + %6 = load i8**, i8*** %argv.addr, align 8 + %7 = load i8*, i8** %6, align 8 + %cmp = icmp eq i8* %5, %7 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %8 = load i8**, i8*** %argv.addr, align 8 + %9 = load i32, i32* %argc.addr, align 4 + %idxprom1 = sext i32 %9 to i64 + %arrayidx2 = getelementptr inbounds i8*, i8** %8, i64 %idxprom1 + store i8** %arrayidx2, i8*** @__environ, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %arraydecay = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 0 + %10 = bitcast %struct.Elf64_auxv_t* %arraydecay to i8* + %call = call i8* @memset(i8* %10, i32 0, i64 240) #19 + %11 = load i8**, i8*** @__environ, align 8 + %12 = bitcast i8** %11 to i64* + store i64* %12, i64** %aux_dat, align 8 + br label %while.cond + +while.cond: ; preds = %while.cond, %if.end + %13 = load i64*, i64** %aux_dat, align 8 + %14 = load i64, i64* %13, align 8 + %tobool = icmp ne i64 %14, 0 + %15 = load i64*, i64** %aux_dat, align 8 + %incdec.ptr = getelementptr inbounds i64, i64* %15, i32 1 + store i64* %incdec.ptr, i64** %aux_dat, align 8 + br i1 %tobool, label %while.cond, label %while.cond4 + +while.cond4: ; preds = %while.cond, %if.end12 + %16 = load i64*, i64** %aux_dat, align 8 + %17 = load i64, i64* %16, align 8 + %tobool5 = icmp ne i64 %17, 0 + br i1 %tobool5, label %while.body6, label %while.end13 + +while.body6: ; preds = %while.cond4 + %18 = load i64*, i64** %aux_dat, align 8 + %19 = bitcast i64* %18 to %struct.Elf64_auxv_t* + store %struct.Elf64_auxv_t* %19, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %20 = load %struct.Elf64_auxv_t*, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %a_type = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %20, i32 0, i32 0 + %21 = load i64, i64* %a_type, align 8 + %cmp7 = icmp ule i64 %21, 14 + br i1 %cmp7, label %if.then8, label %if.end12 + +if.then8: ; preds = %while.body6 + %22 = load %struct.Elf64_auxv_t*, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %a_type9 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %22, i32 0, i32 0 + %23 = load i64, i64* %a_type9, align 8 + %arrayidx10 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 %23 + %24 = bitcast %struct.Elf64_auxv_t* %arrayidx10 to i8* + %25 = load %struct.Elf64_auxv_t*, %struct.Elf64_auxv_t** %auxv_entry, align 8 + %26 = bitcast %struct.Elf64_auxv_t* %25 to i8* + %call11 = call i8* @memcpy(i8* %24, i8* %26, i64 16) #19 + br label %if.end12 + +if.end12: ; preds = %if.then8, %while.body6 + %27 = load i64*, i64** %aux_dat, align 8 + %add.ptr = getelementptr inbounds i64, i64* %27, i64 2 + store i64* %add.ptr, i64** %aux_dat, align 8 + br label %while.cond4 + +while.end13: ; preds = %while.cond4 + call void @__uClibc_init() #18 + %arrayidx14 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 6 + %a_un = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx14, i32 0, i32 1 + %a_val = bitcast %union.anon.193* %a_un to i64* + %28 = load i64, i64* %a_val, align 8 + %tobool15 = icmp ne i64 %28, 0 + %arrayidx16 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 6 + %a_un17 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx16, i32 0, i32 1 + %a_val18 = bitcast %union.anon.193* %a_un17 to i64* + %29 = load i64, i64* %a_val18, align 8 + %cond = select i1 %tobool15, i64 %29, i64 4096 + store i64 %cond, i64* @__pagesize, align 8 + %arrayidx19 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 11 + %a_un20 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx19, i32 0, i32 1 + %a_val21 = bitcast %union.anon.193* %a_un20 to i64* + %30 = load i64, i64* %a_val21, align 8 + %cmp22 = icmp eq i64 %30, -1 + br i1 %cmp22, label %land.lhs.true, label %lor.lhs.false + +land.lhs.true: ; preds = %while.end13 + %call23 = call i32 @__check_suid() #18 + %tobool24 = icmp ne i32 %call23, 0 + br i1 %tobool24, label %if.then45, label %lor.lhs.false + +lor.lhs.false: ; preds = %land.lhs.true, %while.end13 + %arrayidx25 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 11 + %a_un26 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx25, i32 0, i32 1 + %a_val27 = bitcast %union.anon.193* %a_un26 to i64* + %31 = load i64, i64* %a_val27, align 8 + %cmp28 = icmp ne i64 %31, -1 + br i1 %cmp28, label %land.lhs.true29, label %if.end46 + +land.lhs.true29: ; preds = %lor.lhs.false + %arrayidx30 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 11 + %a_un31 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx30, i32 0, i32 1 + %a_val32 = bitcast %union.anon.193* %a_un31 to i64* + %32 = load i64, i64* %a_val32, align 8 + %arrayidx33 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 12 + %a_un34 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx33, i32 0, i32 1 + %a_val35 = bitcast %union.anon.193* %a_un34 to i64* + %33 = load i64, i64* %a_val35, align 8 + %cmp36 = icmp ne i64 %32, %33 + br i1 %cmp36, label %if.then45, label %lor.lhs.false37 + +lor.lhs.false37: ; preds = %land.lhs.true29 + %arrayidx38 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 13 + %a_un39 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx38, i32 0, i32 1 + %a_val40 = bitcast %union.anon.193* %a_un39 to i64* + %34 = load i64, i64* %a_val40, align 8 + %arrayidx41 = getelementptr inbounds [15 x %struct.Elf64_auxv_t], [15 x %struct.Elf64_auxv_t]* %auxvt, i64 0, i64 14 + %a_un42 = getelementptr inbounds %struct.Elf64_auxv_t, %struct.Elf64_auxv_t* %arrayidx41, i32 0, i32 1 + %a_val43 = bitcast %union.anon.193* %a_un42 to i64* + %35 = load i64, i64* %a_val43, align 8 + %cmp44 = icmp ne i64 %34, %35 + br i1 %cmp44, label %if.then45, label %if.end46 + +if.then45: ; preds = %lor.lhs.false37, %land.lhs.true29, %land.lhs.true + call void @__check_one_fd(i32 0, i32 131072) #18 + call void @__check_one_fd(i32 1, i32 131074) #18 + call void @__check_one_fd(i32 2, i32 131074) #18 + br label %if.end46 + +if.end46: ; preds = %if.then45, %lor.lhs.false37, %lor.lhs.false + %36 = load i8**, i8*** %argv.addr, align 8 + %37 = load i8*, i8** %36, align 8 + store i8* %37, i8** @__uclibc_progname, align 8 + %38 = load i8**, i8*** %argv.addr, align 8 + %39 = load i8*, i8** %38, align 8 + store i8* %39, i8** @program_invocation_name, align 8 + %40 = load i8**, i8*** %argv.addr, align 8 + %41 = load i8*, i8** %40, align 8 + %call47 = call i8* @strrchr(i8* %41, i32 47) #20 + store i8* %call47, i8** @program_invocation_short_name, align 8 + %42 = load i8*, i8** @program_invocation_short_name, align 8 + %cmp48 = icmp ne i8* %42, null + br i1 %cmp48, label %if.then49, label %if.else + +if.then49: ; preds = %if.end46 + %43 = load i8*, i8** @program_invocation_short_name, align 8 + %incdec.ptr50 = getelementptr inbounds i8, i8* %43, i32 1 + store i8* %incdec.ptr50, i8** @program_invocation_short_name, align 8 + br label %if.end51 + +if.else: ; preds = %if.end46 + %44 = load i8*, i8** @program_invocation_name, align 8 + store i8* %44, i8** @program_invocation_short_name, align 8 + br label %if.end51 + +if.end51: ; preds = %if.else, %if.then49 + %45 = load void ()*, void ()** %app_fini.addr, align 8 + store void ()* %45, void ()** @__app_fini, align 8 + %46 = load void ()*, void ()** %app_init.addr, align 8 + %cmp52 = icmp ne void ()* %46, null + br i1 %cmp52, label %if.then53, label %if.then55 + +if.then53: ; preds = %if.end51 + %47 = load void ()*, void ()** %app_init.addr, align 8 + call void %47() #18 + br label %if.then55 + +if.then55: ; preds = %if.end51, %if.then53 + %call56 = call i32* @__errno_location() #21 + store i32 0, i32* %call56, align 4 + %call59 = call i32* @__h_errno_location() #21 + store i32 0, i32* %call59, align 4 + %48 = load i32 (i32, i8**, i8**)*, i32 (i32, i8**, i8**)** %main.addr, align 8 + %49 = load i32, i32* %argc.addr, align 4 + %50 = load i8**, i8*** %argv.addr, align 8 + %51 = load i8**, i8*** @__environ, align 8 + %call61 = call i32 %48(i32 %49, i8** %50, i8** %51) #18 + call void @exit(i32 %call61) #22 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__check_suid() #0 { +entry: + %retval = alloca i32, align 4 + %uid = alloca i32, align 4 + %euid = alloca i32, align 4 + %gid = alloca i32, align 4 + %egid = alloca i32, align 4 + %call = call i32 @getuid() #19 + store i32 %call, i32* %uid, align 4 + %call1 = call i32 @geteuid() #19 + store i32 %call1, i32* %euid, align 4 + %call2 = call i32 @getgid() #19 + store i32 %call2, i32* %gid, align 4 + %call3 = call i32 @getegid() #19 + store i32 %call3, i32* %egid, align 4 + %0 = load i32, i32* %uid, align 4 + %1 = load i32, i32* %euid, align 4 + %cmp = icmp eq i32 %0, %1 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %2 = load i32, i32* %gid, align 4 + %3 = load i32, i32* %egid, align 4 + %cmp4 = icmp eq i32 %2, %3 + br i1 %cmp4, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__check_one_fd(i32 %fd, i32 %mode) #0 { +entry: + %fd.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %st = alloca %struct.stat.192, align 8 + %nullfd = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 (i32, i32, ...) @fcntl(i32 %0, i32 1) #18 + %cmp = icmp eq i32 %call, -1 + br i1 %cmp, label %land.rhs, label %land.end + +land.rhs: ; preds = %entry + %call1 = call i32* @__errno_location() #21 + %1 = load i32, i32* %call1, align 4 + %cmp2 = icmp eq i32 %1, 9 + br label %land.end + +land.end: ; preds = %land.rhs, %entry + %2 = phi i1 [ false, %entry ], [ %cmp2, %land.rhs ] + %lnot = xor i1 %2, true + %lnot3 = xor i1 %lnot, true + %lnot.ext = zext i1 %lnot3 to i32 + %conv = sext i32 %lnot.ext to i64 + %tobool = icmp ne i64 %conv, 0 + br i1 %tobool, label %if.then, label %if.end17 + +if.then: ; preds = %land.end + %3 = load i32, i32* %mode.addr, align 4 + %call4 = call i32 (i8*, i32, ...) @open(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.1, i64 0, i64 0), i32 %3) #18 + store i32 %call4, i32* %nullfd, align 4 + %4 = load i32, i32* %nullfd, align 4 + %5 = load i32, i32* %fd.addr, align 4 + %cmp5 = icmp ne i32 %4, %5 + br i1 %cmp5, label %if.then16, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then + %6 = load i32, i32* %fd.addr, align 4 + %call7 = call i32 bitcast (i32 (i32, %struct.stat64*)* @fstat to i32 (i32, %struct.stat.192*)*)(i32 %6, %struct.stat.192* %st) #19 + %tobool8 = icmp ne i32 %call7, 0 + br i1 %tobool8, label %if.then16, label %lor.lhs.false9 + +lor.lhs.false9: ; preds = %lor.lhs.false + %st_mode = getelementptr inbounds %struct.stat.192, %struct.stat.192* %st, i32 0, i32 3 + %7 = load i32, i32* %st_mode, align 8 + %and = and i32 %7, 61440 + %cmp10 = icmp eq i32 %and, 8192 + br i1 %cmp10, label %lor.lhs.false12, label %if.then16 + +lor.lhs.false12: ; preds = %lor.lhs.false9 + %st_rdev = getelementptr inbounds %struct.stat.192, %struct.stat.192* %st, i32 0, i32 7 + %8 = load i64, i64* %st_rdev, align 8 + %call13 = call i64 @gnu_dev_makedev.166(i32 1, i32 3) #19 + %cmp14 = icmp ne i64 %8, %call13 + br i1 %cmp14, label %if.then16, label %if.end17 + +if.then16: ; preds = %lor.lhs.false12, %lor.lhs.false9, %lor.lhs.false, %if.then + call void @abort() #22 + unreachable + +if.end17: ; preds = %lor.lhs.false12, %land.end + ret void +} + +; Function Attrs: nounwind +declare i32 @getuid() #2 + +; Function Attrs: nounwind +declare i32 @geteuid() #2 + +; Function Attrs: nounwind +declare i32 @getgid() #2 + +; Function Attrs: nounwind +declare i32 @getegid() #2 + +; Function Attrs: noinline nounwind uwtable +define internal i64 @gnu_dev_makedev.166(i32 %__major, i32 %__minor) #0 { +entry: + %__major.addr = alloca i32, align 4 + %__minor.addr = alloca i32, align 4 + store i32 %__major, i32* %__major.addr, align 4 + store i32 %__minor, i32* %__minor.addr, align 4 + %0 = load i32, i32* %__minor.addr, align 4 + %and = and i32 %0, 255 + %1 = load i32, i32* %__major.addr, align 4 + %and1 = and i32 %1, 4095 + %shl = shl i32 %and1, 8 + %or = or i32 %and, %shl + %conv = zext i32 %or to i64 + %2 = load i32, i32* %__minor.addr, align 4 + %and2 = and i32 %2, -256 + %conv3 = zext i32 %and2 to i64 + %shl4 = shl i64 %conv3, 12 + %or5 = or i64 %conv, %shl4 + %3 = load i32, i32* %__major.addr, align 4 + %and6 = and i32 %3, -4096 + %conv7 = zext i32 %and6 to i64 + %shl8 = shl i64 %conv7, 32 + %or9 = or i64 %or5, %shl8 + ret i64 %or9 +} + +define i32 @main(i32 %argc, i8** %argv) { +entry: + call void @__uClibc_main(i32 (i32, i8**, i8**)* @__user_main, i32 %argc, i8** %argv, void ()* null, void ()* null, void ()* null, i8* null) + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define i32 @siggetmask() #0 { +entry: + %call = call i32 @sigblock(i32 0) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i64 @__fpending(%struct.__STDIO_FILE_STRUCT.513* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.513*, align 8 + store %struct.__STDIO_FILE_STRUCT.513* %stream, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.513*, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.513, %struct.__STDIO_FILE_STRUCT.513* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %cond.true, label %cond.end + +cond.true: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.513*, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.513, %struct.__STDIO_FILE_STRUCT.513* %2, i32 0, i32 5 + %3 = load i8*, i8** %__bufpos, align 8 + %4 = load %struct.__STDIO_FILE_STRUCT.513*, %struct.__STDIO_FILE_STRUCT.513** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.513, %struct.__STDIO_FILE_STRUCT.513* %4, i32 0, i32 3 + %5 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %3 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + br label %cond.end + +cond.end: ; preds = %entry, %cond.true + %cond = phi i64 [ %sub.ptr.sub, %cond.true ], [ 0, %entry ] + ret i64 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i8* @gets(i8* %s) #0 { +entry: + %s.addr = alloca i8*, align 8 + %p = alloca i8*, align 8 + %c = alloca i32, align 4 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %call = call i32 @getchar_unlocked() #18 + store i32 %call, i32* %c, align 4 + %cmp = icmp ne i32 %call, -1 + br i1 %cmp, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %1 = load i32, i32* %c, align 4 + %conv = trunc i32 %1 to i8 + %2 = load i8*, i8** %p, align 8 + store i8 %conv, i8* %2, align 1 + %conv1 = sext i8 %conv to i32 + %cmp2 = icmp ne i32 %conv1, 10 + br i1 %cmp2, label %while.body, label %while.end + +while.body: ; preds = %land.rhs + %3 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + br label %while.cond + +while.end: ; preds = %while.cond, %land.rhs + %4 = load i32, i32* %c, align 4 + %cmp4 = icmp eq i32 %4, -1 + br i1 %cmp4, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.end + %5 = load i8*, i8** %s.addr, align 8 + %6 = load i8*, i8** %p, align 8 + %cmp6 = icmp eq i8* %5, %6 + br i1 %cmp6, label %if.then, label %if.else + +if.then: ; preds = %lor.lhs.false, %while.end + store i8* null, i8** %s.addr, align 8 + br label %if.end + +if.else: ; preds = %lor.lhs.false + %7 = load i8*, i8** %p, align 8 + store i8 0, i8* %7, align 1 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %8 = load i8*, i8** %s.addr, align 8 + ret i8* %8 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @tmpnam(i8* %s) #0 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %tmpbufmem = alloca [20 x i8], align 16 + %tmpbuf = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %tobool = icmp ne i8* %0, null + %arraydecay = getelementptr inbounds [20 x i8], [20 x i8]* %tmpbufmem, i64 0, i64 0 + %cond = select i1 %tobool, i8* %0, i8* %arraydecay + store i8* %cond, i8** %tmpbuf, align 8 + %1 = load i8*, i8** %tmpbuf, align 8 + %call = call i32 @___path_search(i8* %1, i64 20, i8* null, i8* null) #18 + %conv = sext i32 %call to i64 + %tobool1 = icmp ne i64 %conv, 0 + br i1 %tobool1, label %if.then, label %if.end + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %tmpbuf, align 8 + %call2 = call i32 @__gen_tempname(i8* %2, i32 3) #18 + %conv3 = sext i32 %call2 to i64 + %tobool4 = icmp ne i64 %conv3, 0 + br i1 %tobool4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end + store i8* null, i8** %retval, align 8 + br label %return + +if.end6: ; preds = %if.end + %3 = load i8*, i8** %s.addr, align 8 + %cmp = icmp eq i8* %3, null + br i1 %cmp, label %if.then8, label %if.end10 + +if.then8: ; preds = %if.end6 + %4 = load i8*, i8** %tmpbuf, align 8 + %call9 = call i8* @memcpy(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @tmpnam_buffer, i64 0, i64 0), i8* %4, i64 20) #19 + store i8* %call9, i8** %retval, align 8 + br label %return + +if.end10: ; preds = %if.end6 + %5 = load i8*, i8** %s.addr, align 8 + store i8* %5, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end10, %if.then8, %if.then5, %if.then + %6 = load i8*, i8** %retval, align 8 + ret i8* %6 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @mktemp(i8* nonnull %template) #0 { +entry: + %template.addr = alloca i8*, align 8 + store i8* %template, i8** %template.addr, align 8 + %0 = load i8*, i8** %template.addr, align 8 + %call = call i32 @__gen_tempname(i8* %0, i32 3) #18 + %cmp = icmp slt i32 %call, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load i8*, i8** %template.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + store i8 0, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then, %entry + %2 = load i8*, i8** %template.addr, align 8 + ret i8* %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @access(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %pathname.addr, align 8 + %call1 = call i8* @__concretize_string(i8* %2) + %3 = load i32, i32* %mode.addr, align 4 + %call2 = call i64 (i64, ...) @syscall(i64 21, i8* %call1, i32 %3) #11 + %conv = trunc i64 %call2 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.exe_disk_file_t* @__get_sym_file(i8* %pathname) #3 { +entry: + %retval = alloca %struct.exe_disk_file_t*, align 8 + %pathname.addr = alloca i8*, align 8 + %cwd = alloca [1024 x i8], align 16 + %cwd_len = alloca i64, align 8 + %c = alloca i8, align 1 + %i = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + %0 = load i8*, i8** %pathname.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %pathname.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %2 to i32 + %cmp = icmp eq i32 %conv, 47 + br i1 %cmp, label %if.then2, label %if.end29 + +if.then2: ; preds = %if.end + %3 = bitcast [1024 x i8]* %cwd to i8* + %4 = call i8* @memset(i8* %3, i32 0, i64 1024) + %arraydecay = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 0 + %call = call i8* @getcwd(i8* %arraydecay, i64 1024) #11 + %tobool3 = icmp ne i8* %call, null + br i1 %tobool3, label %if.then4, label %if.end29 + +if.then4: ; preds = %if.then2 + %arraydecay5 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 0 + %call6 = call i64 @strlen(i8* %arraydecay5) #23 + store i64 %call6, i64* %cwd_len, align 8 + %5 = load i64, i64* %cwd_len, align 8 + %cmp7 = icmp ugt i64 %5, 0 + br i1 %cmp7, label %land.lhs.true, label %if.end15 + +land.lhs.true: ; preds = %if.then4 + %6 = load i64, i64* %cwd_len, align 8 + %sub = sub i64 %6, 1 + %arrayidx9 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 %sub + %7 = load i8, i8* %arrayidx9, align 1 + %conv10 = sext i8 %7 to i32 + %cmp11 = icmp eq i32 %conv10, 47 + br i1 %cmp11, label %if.then13, label %if.end15 + +if.then13: ; preds = %land.lhs.true + %8 = load i64, i64* %cwd_len, align 8 + %dec = add i64 %8, -1 + store i64 %dec, i64* %cwd_len, align 8 + %arrayidx14 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 %dec + store i8 0, i8* %arrayidx14, align 1 + br label %if.end15 + +if.end15: ; preds = %if.then13, %land.lhs.true, %if.then4 + %9 = load i8*, i8** %pathname.addr, align 8 + %arraydecay16 = getelementptr inbounds [1024 x i8], [1024 x i8]* %cwd, i64 0, i64 0 + %10 = load i64, i64* %cwd_len, align 8 + %call17 = call i32 @strncmp(i8* %9, i8* %arraydecay16, i64 %10) #23 + %cmp18 = icmp eq i32 %call17, 0 + br i1 %cmp18, label %if.then20, label %if.end29 + +if.then20: ; preds = %if.end15 + %11 = load i8*, i8** %pathname.addr, align 8 + %12 = load i64, i64* %cwd_len, align 8 + %arrayidx21 = getelementptr inbounds i8, i8* %11, i64 %12 + %13 = load i8, i8* %arrayidx21, align 1 + %conv22 = sext i8 %13 to i32 + %cmp23 = icmp ne i32 %conv22, 0 + br i1 %cmp23, label %if.then25, label %if.end29 + +if.then25: ; preds = %if.then20 + %14 = load i64, i64* %cwd_len, align 8 + %add = add i64 %14, 1 + %15 = load i8*, i8** %pathname.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %15, i64 %add + store i8* %add.ptr, i8** %pathname.addr, align 8 + br label %if.end29 + +if.end29: ; preds = %if.then2, %if.then20, %if.then25, %if.end15, %if.end + %16 = load i8*, i8** %pathname.addr, align 8 + %arrayidx30 = getelementptr inbounds i8, i8* %16, i64 0 + %17 = load i8, i8* %arrayidx30, align 1 + store i8 %17, i8* %c, align 1 + %18 = load i8, i8* %c, align 1 + %conv31 = sext i8 %18 to i32 + %cmp32 = icmp eq i32 %conv31, 0 + br i1 %cmp32, label %if.then38, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end29 + %19 = load i8*, i8** %pathname.addr, align 8 + %arrayidx34 = getelementptr inbounds i8, i8* %19, i64 1 + %20 = load i8, i8* %arrayidx34, align 1 + %conv35 = sext i8 %20 to i32 + %cmp36 = icmp ne i32 %conv35, 0 + br i1 %cmp36, label %if.then38, label %if.end39 + +if.then38: ; preds = %lor.lhs.false, %if.end29 + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +if.end39: ; preds = %lor.lhs.false + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end39 + %21 = load i32, i32* %i, align 4 + %22 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %cmp40 = icmp ult i32 %21, %22 + br i1 %cmp40, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %23 = load i8, i8* %c, align 1 + %conv42 = sext i8 %23 to i32 + %24 = load i32, i32* %i, align 4 + %conv43 = trunc i32 %24 to i8 + %conv44 = sext i8 %conv43 to i32 + %add45 = add nsw i32 65, %conv44 + %cmp46 = icmp eq i32 %conv42, %add45 + br i1 %cmp46, label %if.then48, label %for.inc + +if.then48: ; preds = %for.body + %25 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %26 = load i32, i32* %i, align 4 + %idxprom = zext i32 %26 to i64 + %arrayidx49 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %25, i64 %idxprom + store %struct.exe_disk_file_t* %arrayidx49, %struct.exe_disk_file_t** %df, align 8 + %27 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %27, i32 0, i32 2 + %28 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %28, i32 0, i32 1 + %29 = load i64, i64* %st_ino, align 8 + %cmp50 = icmp eq i64 %29, 0 + br i1 %cmp50, label %if.then52, label %if.end53 + +if.then52: ; preds = %if.then48 + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +if.end53: ; preds = %if.then48 + %30 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + store %struct.exe_disk_file_t* %30, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +for.inc: ; preds = %for.body + %31 = load i32, i32* %i, align 4 + %inc = add i32 %31, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** %retval, align 8 + br label %return + +return: ; preds = %for.end, %if.end53, %if.then52, %if.then38, %if.then + %32 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %retval, align 8 + ret %struct.exe_disk_file_t* %32 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @__concretize_string(i8* %s) #3 { +entry: + %s.addr = alloca i8*, align 8 + %sc = alloca i8*, align 8 + %i = alloca i32, align 4 + %c = alloca i8, align 1 + %cc = alloca i8, align 1 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %call = call i8* @__concretize_ptr(i8* %0) + store i8* %call, i8** %sc, align 8 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load i8*, i8** %sc, align 8 + %2 = load i8, i8* %1, align 1 + store i8 %2, i8* %c, align 1 + %3 = load i8, i8* %c, align 1 + %conv = sext i8 %3 to i64 + %call1 = call i32 @gs_is_symbolic(i64 %conv) + %tobool = icmp ne i32 %call1, 0 + br i1 %tobool, label %if.end4, label %if.then + +if.then: ; preds = %for.cond + %4 = load i8, i8* %c, align 1 + %tobool2 = icmp ne i8 %4, 0 + br i1 %tobool2, label %for.inc, label %for.end + +if.end4: ; preds = %for.cond + %5 = load i32, i32* %i, align 4 + %6 = load i32, i32* %i, align 4 + %sub = sub i32 %6, 1 + %and = and i32 %5, %sub + %tobool5 = icmp ne i32 %and, 0 + %7 = load i8, i8* %c, align 1 + br i1 %tobool5, label %if.else14, label %if.then6 + +if.then6: ; preds = %if.end4 + %tobool7 = icmp ne i8 %7, 0 + br i1 %tobool7, label %if.else, label %if.then8 + +if.then8: ; preds = %if.then6 + %8 = load i8*, i8** %sc, align 8 + store i8 0, i8* %8, align 1 + br label %for.end + +if.else: ; preds = %if.then6 + %9 = load i8, i8* %c, align 1 + %conv9 = sext i8 %9 to i32 + %cmp = icmp eq i32 %conv9, 47 + br i1 %cmp, label %if.then11, label %for.inc + +if.then11: ; preds = %if.else + %10 = load i8*, i8** %sc, align 8 + store i8 47, i8* %10, align 1 + br label %for.inc + +if.else14: ; preds = %if.end4 + %conv15 = sext i8 %7 to i64 + %call16 = call i64 @gs_get_valuel(i64 %conv15) + %conv17 = trunc i64 %call16 to i8 + store i8 %conv17, i8* %cc, align 1 + %11 = load i8, i8* %cc, align 1 + %conv18 = sext i8 %11 to i32 + %12 = load i8, i8* %c, align 1 + %conv19 = sext i8 %12 to i32 + %cmp20 = icmp eq i32 %conv18, %conv19 + call void @gs_assume(i1 zeroext %cmp20) + %13 = load i8, i8* %cc, align 1 + %14 = load i8*, i8** %sc, align 8 + store i8 %13, i8* %14, align 1 + %15 = load i8, i8* %cc, align 1 + %tobool22 = icmp ne i8 %15, 0 + br i1 %tobool22, label %for.inc, label %for.end + +for.inc: ; preds = %if.else, %if.then11, %if.else14, %if.then + %16 = load i32, i32* %i, align 4 + %inc = add i32 %16, 1 + store i32 %inc, i32* %i, align 4 + %17 = load i8*, i8** %sc, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %17, i32 1 + store i8* %incdec.ptr, i8** %sc, align 8 + br label %for.cond + +for.end: ; preds = %if.else14, %if.then, %if.then8 + %18 = load i8*, i8** %s.addr, align 8 + ret i8* %18 +} + +; Function Attrs: nounwind +declare dso_local i64 @syscall(i64, ...) #4 + +; Function Attrs: noinline nounwind uwtable +define internal i8* @__concretize_ptr(i8* %p) #3 { +entry: + %p.addr = alloca i8*, align 8 + store i8* %p, i8** %p.addr, align 8 + %0 = load i8*, i8** %p.addr, align 8 + %1 = ptrtoint i8* %0 to i64 + %call = call i32 @gs_is_symbolic(i64 %1) + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @gs_report_error(i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 1386, i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.27, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.28, i64 0, i64 0)) #24 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %p.addr, align 8 + ret i8* %2 +} + +declare dso_local i32 @gs_is_symbolic(i64) #5 + +declare dso_local i64 @gs_get_valuel(i64) #5 + +declare dso_local void @gs_assume(i1 zeroext) #5 + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.25, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +declare dso_local void @print_string(i8*) #5 + +declare dso_local void @sym_print(i32, ...) #5 + +; Function Attrs: noreturn +declare dso_local void @stop(i32) #7 + +; Function Attrs: argmemonly nounwind willreturn writeonly +declare void @llvm.memset.p0i8.i64(i8* nocapture writeonly, i8, i64, i1 immarg) #8 + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @getcwd(i8* %buf, i64 %size) #3 { +entry: + %retval = alloca i8*, align 8 + %buf.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %r = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + %0 = load i32, i32* @getcwd.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @getcwd.n_calls, align 4 + %1 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool = icmp ne i32 %1, 0 + br i1 %tobool, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %2 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %3 = load i32, i32* %2, align 4 + %4 = load i32, i32* @getcwd.n_calls, align 4 + %cmp = icmp eq i32 %3, %4 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %5 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %5, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call = call i32* @__errno_location() #25 + store i32 34, i32* %call, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + %6 = load i8*, i8** %buf.addr, align 8 + %tobool1 = icmp ne i8* %6, null + br i1 %tobool1, label %if.else, label %if.then2 + +if.then2: ; preds = %if.end + store i64 1024, i64* %size.addr, align 8 + %7 = load i64, i64* %size.addr, align 8 + %call3 = call noalias i8* @malloc(i64 %7) #11 + store i8* %call3, i8** %buf.addr, align 8 + %8 = load i8*, i8** %buf.addr, align 8 + %tobool4 = icmp ne i8* %8, null + br i1 %tobool4, label %if.end12, label %if.then5 + +if.then5: ; preds = %if.then2 + %call6 = call i32* @__errno_location() #25 + store i32 12, i32* %call6, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.else: ; preds = %if.end + %9 = load i64, i64* %size.addr, align 8 + %tobool8 = icmp ne i64 %9, 0 + br i1 %tobool8, label %if.end12, label %if.then9 + +if.then9: ; preds = %if.else + %call10 = call i32* @__errno_location() #25 + store i32 22, i32* %call10, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end12: ; preds = %if.else, %if.then2 + %10 = load i8*, i8** %buf.addr, align 8 + %call13 = call i8* @__concretize_ptr(i8* %10) + store i8* %call13, i8** %buf.addr, align 8 + %11 = load i64, i64* %size.addr, align 8 + %call14 = call i64 @__concretize_size(i64 %11) + store i64 %call14, i64* %size.addr, align 8 + %12 = load i8*, i8** %buf.addr, align 8 + %13 = load i64, i64* %size.addr, align 8 + %call15 = call i64 (i64, ...) @syscall(i64 79, i8* %12, i64 %13) #11 + %conv = trunc i64 %call15 to i32 + store i32 %conv, i32* %r, align 4 + %14 = load i32, i32* %r, align 4 + %cmp16 = icmp eq i32 %14, -1 + br i1 %cmp16, label %if.then18, label %if.end19 + +if.then18: ; preds = %if.end12 + store i8* null, i8** %retval, align 8 + br label %return + +if.end19: ; preds = %if.end12 + %15 = load i8*, i8** %buf.addr, align 8 + store i8* %15, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end19, %if.then18, %if.then9, %if.then5, %if.then + %16 = load i8*, i8** %retval, align 8 + ret i8* %16 +} + +; Function Attrs: nounwind +declare dso_local noalias i8* @malloc(i64) #4 + +; Function Attrs: noinline nounwind uwtable +define internal i64 @__concretize_size(i64 %s) #3 { +entry: + %s.addr = alloca i64, align 8 + %sc = alloca i64, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %call = call i64 @gs_get_valuel(i64 %0) + store i64 %call, i64* %sc, align 8 + %1 = load i64, i64* %sc, align 8 + %2 = load i64, i64* %s.addr, align 8 + %cmp = icmp eq i64 %1, %2 + call void @gs_assume(i1 zeroext %cmp) + %3 = load i64, i64* %sc, align 8 + ret i64 %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @umask(i32 %mask) #3 { +entry: + %mask.addr = alloca i32, align 4 + %r = alloca i32, align 4 + store i32 %mask, i32* %mask.addr, align 4 + %0 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 1), align 8 + store i32 %0, i32* %r, align 4 + %1 = load i32, i32* %mask.addr, align 4 + %and = and i32 %1, 511 + store i32 %and, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 1), align 8 + %2 = load i32, i32* %r, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_open(i8* %pathname, i32 %flags, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %fd = alloca i32, align 4 + %os_fd = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + store i32 0, i32* %fd, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %0, 32 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %1 = load i32, i32* %fd, align 4 + %idxprom = sext i32 %1 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + %flags1 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %arrayidx, i32 0, i32 1 + %2 = load i32, i32* %flags1, align 4 + %and = and i32 %2, 1 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %for.inc, label %for.end + +for.inc: ; preds = %for.body + %3 = load i32, i32* %fd, align 4 + %inc = add nsw i32 %3, 1 + store i32 %inc, i32* %fd, align 4 + br label %for.cond + +for.end: ; preds = %for.body, %for.cond + %4 = load i32, i32* %fd, align 4 + %cmp2 = icmp eq i32 %4, 32 + br i1 %cmp2, label %if.then3, label %if.end4 + +if.then3: ; preds = %for.end + %call = call i32* @__errno_location() #25 + store i32 24, i32* %call, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %for.end + %5 = load i32, i32* %fd, align 4 + %idxprom5 = sext i32 %5 to i64 + %arrayidx6 = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom5 + store %struct.exe_file_t* %arrayidx6, %struct.exe_file_t** %f, align 8 + %6 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %7 = bitcast %struct.exe_file_t* %6 to i8* + %8 = call i8* @memset(i8* %7, i32 0, i64 24) + %9 = load i8*, i8** %pathname.addr, align 8 + %call7 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %9) + store %struct.exe_disk_file_t* %call7, %struct.exe_disk_file_t** %df, align 8 + %10 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %tobool8 = icmp ne %struct.exe_disk_file_t* %10, null + br i1 %tobool8, label %if.then9, label %if.else45 + +if.then9: ; preds = %if.end4 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %12 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %12, i32 0, i32 3 + store %struct.exe_disk_file_t* %11, %struct.exe_disk_file_t** %dfile, align 8 + %13 = load i32, i32* %flags.addr, align 4 + %and10 = and i32 %13, 64 + %tobool11 = icmp ne i32 %and10, 0 + br i1 %tobool11, label %land.lhs.true, label %if.end16 + +land.lhs.true: ; preds = %if.then9 + %14 = load i32, i32* %flags.addr, align 4 + %and12 = and i32 %14, 128 + %tobool13 = icmp ne i32 %and12, 0 + br i1 %tobool13, label %if.then14, label %if.end16 + +if.then14: ; preds = %land.lhs.true + %call15 = call i32* @__errno_location() #25 + store i32 17, i32* %call15, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end16: ; preds = %land.lhs.true, %if.then9 + %15 = load i32, i32* %flags.addr, align 4 + %and17 = and i32 %15, 512 + %tobool18 = icmp ne i32 %and17, 0 + br i1 %tobool18, label %land.lhs.true19, label %if.end24 + +land.lhs.true19: ; preds = %if.end16 + %16 = load i32, i32* %flags.addr, align 4 + %and20 = and i32 %16, 0 + %tobool21 = icmp ne i32 %and20, 0 + br i1 %tobool21, label %if.then22, label %if.end24 + +if.then22: ; preds = %land.lhs.true19 + call void @gs_warning(i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.5, i64 0, i64 0)) + %call23 = call i32* @__errno_location() #25 + store i32 13, i32* %call23, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end24: ; preds = %land.lhs.true19, %if.end16 + %17 = load i32, i32* %flags.addr, align 4 + %and25 = and i32 %17, 128 + %tobool26 = icmp ne i32 %and25, 0 + br i1 %tobool26, label %land.lhs.true27, label %if.end32 + +land.lhs.true27: ; preds = %if.end24 + %18 = load i32, i32* %flags.addr, align 4 + %and28 = and i32 %18, 64 + %tobool29 = icmp ne i32 %and28, 0 + br i1 %tobool29, label %if.end32, label %if.then30 + +if.then30: ; preds = %land.lhs.true27 + call void @gs_warning(i8* getelementptr inbounds ([47 x i8], [47 x i8]* @.str.1.6, i64 0, i64 0)) + %call31 = call i32* @__errno_location() #25 + store i32 13, i32* %call31, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end32: ; preds = %land.lhs.true27, %if.end24 + %19 = load i32, i32* %flags.addr, align 4 + %20 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %20, i32 0, i32 2 + %21 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %call33 = call i32 @has_permission(i32 %19, %struct.stat64* %21) + %tobool34 = icmp ne i32 %call33, 0 + br i1 %tobool34, label %if.else, label %if.then35 + +if.then35: ; preds = %if.end32 + %call36 = call i32* @__errno_location() #25 + store i32 13, i32* %call36, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.end32 + %22 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile37 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %22, i32 0, i32 3 + %23 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile37, align 8 + %stat38 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %23, i32 0, i32 2 + %24 = load %struct.stat64*, %struct.stat64** %stat38, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %24, i32 0, i32 3 + %25 = load i32, i32* %st_mode, align 8 + %and39 = and i32 %25, -512 + %26 = load i32, i32* %mode.addr, align 4 + %27 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 1), align 8 + %neg = xor i32 %27, -1 + %and40 = and i32 %26, %neg + %or = or i32 %and39, %and40 + %28 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile41 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %28, i32 0, i32 3 + %29 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile41, align 8 + %stat42 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %29, i32 0, i32 2 + %30 = load %struct.stat64*, %struct.stat64** %stat42, align 8 + %st_mode43 = getelementptr inbounds %struct.stat64, %struct.stat64* %30, i32 0, i32 3 + store i32 %or, i32* %st_mode43, align 8 + br label %if.end53 + +if.else45: ; preds = %if.end4 + %31 = load i8*, i8** %pathname.addr, align 8 + %call46 = call i8* @__concretize_string(i8* %31) + %32 = load i32, i32* %flags.addr, align 4 + %33 = load i32, i32* %mode.addr, align 4 + %call47 = call i64 (i64, ...) @syscall(i64 2, i8* %call46, i32 %32, i32 %33) #11 + %conv = trunc i64 %call47 to i32 + store i32 %conv, i32* %os_fd, align 4 + %34 = load i32, i32* %os_fd, align 4 + %cmp48 = icmp eq i32 %34, -1 + br i1 %cmp48, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.else45 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end51: ; preds = %if.else45 + %35 = load i32, i32* %os_fd, align 4 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd52 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 0 + store i32 %35, i32* %fd52, align 8 + br label %if.end53 + +if.end53: ; preds = %if.end51, %if.else + %37 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %37, i32 0, i32 1 + store i32 1, i32* %flags54, align 4 + %38 = load i32, i32* %flags.addr, align 4 + %and55 = and i32 %38, 3 + %cmp56 = icmp eq i32 %and55, 0 + br i1 %cmp56, label %if.then58, label %if.else61 + +if.then58: ; preds = %if.end53 + %39 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags59 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %39, i32 0, i32 1 + %40 = load i32, i32* %flags59, align 4 + %or60 = or i32 %40, 4 + store i32 %or60, i32* %flags59, align 4 + br label %if.end72 + +if.else61: ; preds = %if.end53 + %41 = load i32, i32* %flags.addr, align 4 + %and62 = and i32 %41, 3 + %cmp63 = icmp eq i32 %and62, 1 + %42 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags66 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %42, i32 0, i32 1 + %43 = load i32, i32* %flags66, align 4 + br i1 %cmp63, label %if.then65, label %if.else68 + +if.then65: ; preds = %if.else61 + %or67 = or i32 %43, 8 + store i32 %or67, i32* %flags66, align 4 + br label %if.end72 + +if.else68: ; preds = %if.else61 + %or70 = or i32 %43, 12 + store i32 %or70, i32* %flags66, align 4 + br label %if.end72 + +if.end72: ; preds = %if.then65, %if.else68, %if.then58 + %44 = load i32, i32* %fd, align 4 + store i32 %44, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end72, %if.then50, %if.then35, %if.then30, %if.then22, %if.then14, %if.then3 + %45 = load i32, i32* %retval, align 4 + ret i32 %45 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @gs_warning(i8* %message) #3 { +entry: + %message.addr = alloca i8*, align 8 + store i8* %message, i8** %message.addr, align 8 + %0 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %0) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.25, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @has_permission(i32 %flags, %struct.stat64* %s) #3 { +entry: + %retval = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %s.addr = alloca %struct.stat64*, align 8 + %write_access = alloca i32, align 4 + %read_access = alloca i32, align 4 + %mode = alloca i32, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store %struct.stat64* %s, %struct.stat64** %s.addr, align 8 + %0 = load %struct.stat64*, %struct.stat64** %s.addr, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %0, i32 0, i32 3 + %1 = load i32, i32* %st_mode, align 8 + store i32 %1, i32* %mode, align 4 + %2 = load i32, i32* %flags.addr, align 4 + %and = and i32 %2, 0 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %3 = load i32, i32* %flags.addr, align 4 + %and1 = and i32 %3, 2 + %tobool2 = icmp ne i32 %and1, 0 + br i1 %tobool2, label %if.then, label %if.else + +if.then: ; preds = %lor.lhs.false, %entry + store i32 1, i32* %read_access, align 4 + br label %if.end + +if.else: ; preds = %lor.lhs.false + store i32 0, i32* %read_access, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %4 = load i32, i32* %flags.addr, align 4 + %and3 = and i32 %4, 1 + %tobool4 = icmp ne i32 %and3, 0 + br i1 %tobool4, label %if.then8, label %lor.lhs.false5 + +lor.lhs.false5: ; preds = %if.end + %5 = load i32, i32* %flags.addr, align 4 + %and6 = and i32 %5, 2 + %tobool7 = icmp ne i32 %and6, 0 + br i1 %tobool7, label %if.then8, label %if.else9 + +if.then8: ; preds = %lor.lhs.false5, %if.end + store i32 1, i32* %write_access, align 4 + br label %if.end10 + +if.else9: ; preds = %lor.lhs.false5 + store i32 0, i32* %write_access, align 4 + br label %if.end10 + +if.end10: ; preds = %if.else9, %if.then8 + %6 = load i32, i32* %read_access, align 4 + %tobool11 = icmp ne i32 %6, 0 + br i1 %tobool11, label %land.lhs.true, label %if.end18 + +land.lhs.true: ; preds = %if.end10 + %7 = load i32, i32* %mode, align 4 + %and12 = and i32 %7, 256 + %8 = load i32, i32* %mode, align 4 + %and13 = and i32 %8, 32 + %or = or i32 %and12, %and13 + %9 = load i32, i32* %mode, align 4 + %and14 = and i32 %9, 4 + %or15 = or i32 %or, %and14 + %tobool16 = icmp ne i32 %or15, 0 + br i1 %tobool16, label %if.then17, label %if.end18 + +if.then17: ; preds = %land.lhs.true + store i32 0, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %land.lhs.true, %if.end10 + %10 = load i32, i32* %write_access, align 4 + %tobool19 = icmp ne i32 %10, 0 + br i1 %tobool19, label %land.lhs.true20, label %if.end28 + +land.lhs.true20: ; preds = %if.end18 + %11 = load i32, i32* %mode, align 4 + %and21 = and i32 %11, 128 + %12 = load i32, i32* %mode, align 4 + %and22 = and i32 %12, 16 + %or23 = or i32 %and21, %and22 + %13 = load i32, i32* %mode, align 4 + %and24 = and i32 %13, 2 + %or25 = or i32 %or23, %and24 + %tobool26 = icmp ne i32 %or25, 0 + br i1 %tobool26, label %if.end28, label %if.then27 + +if.then27: ; preds = %land.lhs.true20 + store i32 0, i32* %retval, align 4 + br label %return + +if.end28: ; preds = %land.lhs.true20, %if.end18 + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end28, %if.then27, %if.then17 + %14 = load i32, i32* %retval, align 4 + ret i32 %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_openat(i32 %basefd, i8* %pathname, i32 %flags, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %basefd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %fd = alloca i32, align 4 + %bf = alloca %struct.exe_file_t*, align 8 + %os_fd = alloca i32, align 4 + store i32 %basefd, i32* %basefd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %basefd.addr, align 4 + %cmp = icmp ne i32 %0, -100 + br i1 %cmp, label %if.then, label %if.end8 + +if.then: ; preds = %entry + %1 = load i32, i32* %basefd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %bf, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %bf, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.else, label %if.then1 + +if.then1: ; preds = %if.then + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %bf, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 3 + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool3 = icmp ne %struct.exe_disk_file_t* %4, null + br i1 %tobool3, label %if.then4, label %if.end6 + +if.then4: ; preds = %if.else + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0)) + %call5 = call i32* @__errno_location() #25 + store i32 2, i32* %call5, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.else + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %bf, align 8 + %fd7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd7, align 8 + store i32 %6, i32* %basefd.addr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end6, %entry + %7 = load i8*, i8** %pathname.addr, align 8 + %call9 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %7) + %tobool10 = icmp ne %struct.exe_disk_file_t* %call9, null + br i1 %tobool10, label %if.then11, label %if.end13 + +if.then11: ; preds = %if.end8 + %8 = load i8*, i8** %pathname.addr, align 8 + %9 = load i32, i32* %flags.addr, align 4 + %10 = load i32, i32* %mode.addr, align 4 + %call12 = call i32 @__fd_open(i8* %8, i32 %9, i32 %10) + store i32 %call12, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.end8 + store i32 0, i32* %fd, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end13 + %11 = load i32, i32* %fd, align 4 + %cmp14 = icmp slt i32 %11, 32 + br i1 %cmp14, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %12 = load i32, i32* %fd, align 4 + %idxprom = sext i32 %12 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + %flags15 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %arrayidx, i32 0, i32 1 + %13 = load i32, i32* %flags15, align 4 + %and = and i32 %13, 1 + %tobool16 = icmp ne i32 %and, 0 + br i1 %tobool16, label %for.inc, label %for.end + +for.inc: ; preds = %for.body + %14 = load i32, i32* %fd, align 4 + %inc = add nsw i32 %14, 1 + store i32 %inc, i32* %fd, align 4 + br label %for.cond + +for.end: ; preds = %for.body, %for.cond + %15 = load i32, i32* %fd, align 4 + %cmp19 = icmp eq i32 %15, 32 + br i1 %cmp19, label %if.then20, label %if.end22 + +if.then20: ; preds = %for.end + %call21 = call i32* @__errno_location() #25 + store i32 24, i32* %call21, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end22: ; preds = %for.end + %16 = load i32, i32* %fd, align 4 + %idxprom23 = sext i32 %16 to i64 + %arrayidx24 = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom23 + store %struct.exe_file_t* %arrayidx24, %struct.exe_file_t** %f, align 8 + %17 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %18 = bitcast %struct.exe_file_t* %17 to i8* + %19 = call i8* @memset(i8* %18, i32 0, i64 24) + %20 = load i32, i32* %basefd.addr, align 4 + %conv = sext i32 %20 to i64 + %21 = load i8*, i8** %pathname.addr, align 8 + %call25 = call i8* @__concretize_string(i8* %21) + %22 = load i32, i32* %flags.addr, align 4 + %conv26 = sext i32 %22 to i64 + %23 = load i32, i32* %mode.addr, align 4 + %call27 = call i64 (i64, ...) @syscall(i64 257, i64 %conv, i8* %call25, i64 %conv26, i32 %23) #11 + %conv28 = trunc i64 %call27 to i32 + store i32 %conv28, i32* %os_fd, align 4 + %24 = load i32, i32* %os_fd, align 4 + %cmp29 = icmp eq i32 %24, -1 + br i1 %cmp29, label %if.then31, label %if.end32 + +if.then31: ; preds = %if.end22 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end32: ; preds = %if.end22 + %25 = load i32, i32* %os_fd, align 4 + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd33 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 0 + store i32 %25, i32* %fd33, align 8 + %27 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags34 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %27, i32 0, i32 1 + store i32 1, i32* %flags34, align 4 + %28 = load i32, i32* %flags.addr, align 4 + %and35 = and i32 %28, 3 + %cmp36 = icmp eq i32 %and35, 0 + br i1 %cmp36, label %if.then38, label %if.else40 + +if.then38: ; preds = %if.end32 + %29 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags39 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %29, i32 0, i32 1 + %30 = load i32, i32* %flags39, align 4 + %or = or i32 %30, 4 + store i32 %or, i32* %flags39, align 4 + br label %if.end51 + +if.else40: ; preds = %if.end32 + %31 = load i32, i32* %flags.addr, align 4 + %and41 = and i32 %31, 3 + %cmp42 = icmp eq i32 %and41, 1 + %32 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags45 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %32, i32 0, i32 1 + %33 = load i32, i32* %flags45, align 4 + br i1 %cmp42, label %if.then44, label %if.else47 + +if.then44: ; preds = %if.else40 + %or46 = or i32 %33, 8 + store i32 %or46, i32* %flags45, align 4 + br label %if.end51 + +if.else47: ; preds = %if.else40 + %or49 = or i32 %33, 12 + store i32 %or49, i32* %flags45, align 4 + br label %if.end51 + +if.end51: ; preds = %if.then44, %if.else47, %if.then38 + %34 = load i32, i32* %fd, align 4 + store i32 %34, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end51, %if.then31, %if.then20, %if.then11, %if.then4, %if.then1 + %35 = load i32, i32* %retval, align 4 + ret i32 %35 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.exe_file_t* @__get_file(i32 %fd) #3 { +entry: + %retval = alloca %struct.exe_file_t*, align 8 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %cmp = icmp sge i32 %0, 0 + %1 = load i32, i32* %fd.addr, align 4 + %cmp1 = icmp slt i32 %1, 32 + %or.cond = and i1 %cmp, %cmp1 + br i1 %or.cond, label %if.then, label %if.end3 + +if.then: ; preds = %entry + %2 = load i32, i32* %fd.addr, align 4 + %idxprom = sext i32 %2 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + store %struct.exe_file_t* %arrayidx, %struct.exe_file_t** %f, align 8 + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 1 + %4 = load i32, i32* %flags, align 4 + %and = and i32 %4, 1 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.then + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + store %struct.exe_file_t* %5, %struct.exe_file_t** %retval, align 8 + br label %return + +if.end3: ; preds = %if.then, %entry + store %struct.exe_file_t* null, %struct.exe_file_t** %retval, align 8 + br label %return + +return: ; preds = %if.end3, %if.then2 + %6 = load %struct.exe_file_t*, %struct.exe_file_t** %retval, align 8 + ret %struct.exe_file_t* %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @utimes(i8* nonnull %path, %struct.timespec* %times) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %times.addr = alloca %struct.timespec*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + %newTimes = alloca [2 x %struct.timespec], align 16 + store i8* %path, i8** %path.addr, align 8 + store %struct.timespec* %times, %struct.timespec** %times.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end12 + +if.then: ; preds = %entry + %2 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %tobool1 = icmp ne %struct.timespec* %2, null + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + %arrayidx = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 0 + %call3 = call i32 @gettimeofday(%struct.timespec* %arrayidx, i8* null) #11 + %arrayidx4 = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 1 + %arrayidx5 = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 0 + %3 = bitcast %struct.timespec* %arrayidx4 to i8* + %4 = bitcast %struct.timespec* %arrayidx5 to i8* + %5 = call i8* @memcpy(i8* %3, i8* %4, i64 16) + %arraydecay = getelementptr inbounds [2 x %struct.timespec], [2 x %struct.timespec]* %newTimes, i64 0, i64 0 + store %struct.timespec* %arraydecay, %struct.timespec** %times.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %6 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %arrayidx6 = getelementptr inbounds %struct.timespec, %struct.timespec* %6, i64 0 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %arrayidx6, i32 0, i32 0 + %7 = load i64, i64* %tv_sec, align 8 + %8 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %8, i32 0, i32 2 + %9 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_atim = getelementptr inbounds %struct.stat64, %struct.stat64* %9, i32 0, i32 11 + %tv_sec7 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim, i32 0, i32 0 + store i64 %7, i64* %tv_sec7, align 8 + %10 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %arrayidx8 = getelementptr inbounds %struct.timespec, %struct.timespec* %10, i64 1 + %tv_sec9 = getelementptr inbounds %struct.timespec, %struct.timespec* %arrayidx8, i32 0, i32 0 + %11 = load i64, i64* %tv_sec9, align 8 + %12 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat10 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %12, i32 0, i32 2 + %13 = load %struct.stat64*, %struct.stat64** %stat10, align 8 + %st_mtim = getelementptr inbounds %struct.stat64, %struct.stat64* %13, i32 0, i32 12 + %tv_sec11 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim, i32 0, i32 0 + store i64 %11, i64* %tv_sec11, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.end12: ; preds = %entry + %14 = load i8*, i8** %path.addr, align 8 + %call13 = call i8* @__concretize_string(i8* %14) + %15 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %call14 = call i64 (i64, ...) @syscall(i64 235, i8* %call13, %struct.timespec* %15) #11 + %conv = trunc i64 %call14 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end12, %if.end + %16 = load i32, i32* %retval, align 4 + ret i32 %16 +} + +; Function Attrs: nounwind +declare dso_local i32 @gettimeofday(%struct.timespec*, i8*) #4 + +; Function Attrs: argmemonly nounwind willreturn +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* noalias nocapture writeonly, i8* noalias nocapture readonly, i64, i1 immarg) #9 + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @futimesat(i32 %fd, i8* %path, %struct.timespec* %times) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %times.addr = alloca %struct.timespec*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.timespec* %times, %struct.timespec** %times.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %cmp = icmp ne i32 %0, -100 + br i1 %cmp, label %if.then, label %if.end8 + +if.then: ; preds = %entry + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.else, label %if.then1 + +if.then1: ; preds = %if.then + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 3 + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool3 = icmp ne %struct.exe_disk_file_t* %4, null + br i1 %tobool3, label %if.then4, label %if.end6 + +if.then4: ; preds = %if.else + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0)) + %call5 = call i32* @__errno_location() #25 + store i32 2, i32* %call5, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.else + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd7, align 8 + store i32 %6, i32* %fd.addr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end6, %entry + %7 = load i8*, i8** %path.addr, align 8 + %call9 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %7) + %tobool10 = icmp ne %struct.exe_disk_file_t* %call9, null + br i1 %tobool10, label %if.then11, label %if.end13 + +if.then11: ; preds = %if.end8 + %8 = load i8*, i8** %path.addr, align 8 + %9 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %call12 = call i32 @utimes(i8* %8, %struct.timespec* %9) #11 + store i32 %call12, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.end8 + %10 = load i32, i32* %fd.addr, align 4 + %conv = sext i32 %10 to i64 + %11 = load i8*, i8** %path.addr, align 8 + %tobool14 = icmp ne i8* %11, null + br i1 %tobool14, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end13 + %12 = load i8*, i8** %path.addr, align 8 + %call15 = call i8* @__concretize_string(i8* %12) + br label %cond.end + +cond.end: ; preds = %if.end13, %cond.true + %cond = phi i8* [ %call15, %cond.true ], [ null, %if.end13 ] + %13 = load %struct.timespec*, %struct.timespec** %times.addr, align 8 + %call16 = call i64 (i64, ...) @syscall(i64 261, i64 %conv, i8* %cond, %struct.timespec* %13) #11 + %conv17 = trunc i64 %call16 to i32 + store i32 %conv17, i32* %retval, align 4 + br label %return + +return: ; preds = %cond.end, %if.then11, %if.then4, %if.then1 + %14 = load i32, i32* %retval, align 4 + ret i32 %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @close(i32 %fd) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %r = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 0, i32* %r, align 4 + %0 = load i32, i32* @close.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @close.n_calls, align 4 + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @close.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %9 = bitcast %struct.exe_file_t* %8 to i8* + %10 = call i8* @memset(i8* %9, i32 0, i64 24) + %11 = load i32, i32* %r, align 4 + store i32 %11, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %12 = load i32, i32* %retval, align 4 + ret i32 %12 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @read(i32 %fd, i8* %buf, i64 %count) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %r = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + %0 = load i32, i32* @read.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @read.n_calls, align 4 + %1 = load i64, i64* %count.addr, align 8 + %cmp = icmp eq i64 %1, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i64 0, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %buf.addr, align 8 + %cmp1 = icmp eq i8* %2, null + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + %call = call i32* @__errno_location() #25 + store i32 14, i32* %call, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %3 = load i32, i32* %fd.addr, align 4 + %call4 = call %struct.exe_file_t* @__get_file(i32 %3) + store %struct.exe_file_t* %call4, %struct.exe_file_t** %f, align 8 + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %4, null + br i1 %tobool, label %if.end7, label %if.then5 + +if.then5: ; preds = %if.end3 + %call6 = call i32* @__errno_location() #25 + store i32 9, i32* %call6, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end7: ; preds = %if.end3 + %5 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool8 = icmp ne i32 %5, 0 + br i1 %tobool8, label %land.lhs.true, label %if.end12 + +land.lhs.true: ; preds = %if.end7 + %6 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %7 = load i32, i32* %6, align 4 + %8 = load i32, i32* @read.n_calls, align 4 + %cmp9 = icmp eq i32 %7, %8 + br i1 %cmp9, label %if.then10, label %if.end12 + +if.then10: ; preds = %land.lhs.true + %9 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %9, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call11 = call i32* @__errno_location() #25 + store i32 5, i32* %call11, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end12: ; preds = %land.lhs.true, %if.end7 + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 3 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool13 = icmp ne %struct.exe_disk_file_t* %11, null + br i1 %tobool13, label %if.else38, label %if.then14 + +if.then14: ; preds = %if.end12 + %12 = load i8*, i8** %buf.addr, align 8 + %call15 = call i8* @__concretize_ptr(i8* %12) + store i8* %call15, i8** %buf.addr, align 8 + %13 = load i64, i64* %count.addr, align 8 + %call16 = call i64 @__concretize_size(i64 %13) + store i64 %call16, i64* %count.addr, align 8 + %14 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd17 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %14, i32 0, i32 0 + %15 = load i32, i32* %fd17, align 8 + %cmp18 = icmp eq i32 %15, 0 + %16 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd20 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %16, i32 0, i32 0 + %17 = load i32, i32* %fd20, align 8 + %18 = load i8*, i8** %buf.addr, align 8 + %19 = load i64, i64* %count.addr, align 8 + br i1 %cmp18, label %if.then19, label %if.else + +if.then19: ; preds = %if.then14 + %call21 = call i64 (i64, ...) @syscall(i64 0, i32 %17, i8* %18, i64 %19) #11 + %conv = trunc i64 %call21 to i32 + store i32 %conv, i32* %r, align 4 + br label %if.end25 + +if.else: ; preds = %if.then14 + %20 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %20, i32 0, i32 2 + %21 = load i64, i64* %off, align 8 + %call23 = call i64 (i64, ...) @syscall(i64 17, i32 %17, i8* %18, i64 %19, i64 %21) #11 + %conv24 = trunc i64 %call23 to i32 + store i32 %conv24, i32* %r, align 4 + br label %if.end25 + +if.end25: ; preds = %if.else, %if.then19 + %22 = load i32, i32* %r, align 4 + %cmp26 = icmp eq i32 %22, -1 + br i1 %cmp26, label %if.then28, label %if.end29 + +if.then28: ; preds = %if.end25 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end29: ; preds = %if.end25 + %23 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd30 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %23, i32 0, i32 0 + %24 = load i32, i32* %fd30, align 8 + %cmp31 = icmp ne i32 %24, 0 + br i1 %cmp31, label %if.then33, label %if.end36 + +if.then33: ; preds = %if.end29 + %25 = load i32, i32* %r, align 4 + %conv34 = sext i32 %25 to i64 + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off35 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 2 + %27 = load i64, i64* %off35, align 8 + %add = add nsw i64 %27, %conv34 + store i64 %add, i64* %off35, align 8 + br label %if.end36 + +if.end36: ; preds = %if.then33, %if.end29 + %28 = load i32, i32* %r, align 4 + %conv37 = sext i32 %28 to i64 + store i64 %conv37, i64* %retval, align 8 + br label %return + +if.else38: ; preds = %if.end12 + %29 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off39 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %29, i32 0, i32 2 + %30 = load i64, i64* %off39, align 8 + %cmp40 = icmp sge i64 %30, 0 + br i1 %cmp40, label %if.end44, label %if.else43 + +if.else43: ; preds = %if.else38 + call void @__assert_fail(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.3, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 393, i8* getelementptr inbounds ([34 x i8], [34 x i8]* @__PRETTY_FUNCTION__.read, i64 0, i64 0)) #26 + unreachable + +if.end44: ; preds = %if.else38 + %31 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile45 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %31, i32 0, i32 3 + %32 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile45, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %32, i32 0, i32 0 + %33 = load i32, i32* %size, align 8 + %conv46 = zext i32 %33 to i64 + %34 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off47 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %34, i32 0, i32 2 + %35 = load i64, i64* %off47, align 8 + %cmp48 = icmp slt i64 %conv46, %35 + br i1 %cmp48, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.end44 + store i64 0, i64* %retval, align 8 + br label %return + +if.end51: ; preds = %if.end44 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off52 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 2 + %37 = load i64, i64* %off52, align 8 + %38 = load i64, i64* %count.addr, align 8 + %add53 = add i64 %37, %38 + %39 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %39, i32 0, i32 3 + %40 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile54, align 8 + %size55 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %40, i32 0, i32 0 + %41 = load i32, i32* %size55, align 8 + %conv56 = zext i32 %41 to i64 + %cmp57 = icmp ugt i64 %add53, %conv56 + br i1 %cmp57, label %if.then59, label %if.end64 + +if.then59: ; preds = %if.end51 + %42 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile60 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %42, i32 0, i32 3 + %43 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile60, align 8 + %size61 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %43, i32 0, i32 0 + %44 = load i32, i32* %size61, align 8 + %conv62 = zext i32 %44 to i64 + %45 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off63 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %45, i32 0, i32 2 + %46 = load i64, i64* %off63, align 8 + %sub = sub nsw i64 %conv62, %46 + store i64 %sub, i64* %count.addr, align 8 + br label %if.end64 + +if.end64: ; preds = %if.then59, %if.end51 + %47 = load i8*, i8** %buf.addr, align 8 + %48 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile65 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %48, i32 0, i32 3 + %49 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile65, align 8 + %contents = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %49, i32 0, i32 1 + %50 = load i8*, i8** %contents, align 8 + %51 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off66 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %51, i32 0, i32 2 + %52 = load i64, i64* %off66, align 8 + %add.ptr = getelementptr inbounds i8, i8* %50, i64 %52 + %53 = load i64, i64* %count.addr, align 8 + %54 = call i8* @memcpy(i8* %47, i8* %add.ptr, i64 %53) + %55 = load i64, i64* %count.addr, align 8 + %56 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off67 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %56, i32 0, i32 2 + %57 = load i64, i64* %off67, align 8 + %add68 = add i64 %57, %55 + store i64 %add68, i64* %off67, align 8 + %58 = load i64, i64* %count.addr, align 8 + store i64 %58, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end64, %if.then50, %if.end36, %if.then28, %if.then10, %if.then5, %if.then2, %if.then + %59 = load i64, i64* %retval, align 8 + ret i64 %59 +} + +; Function Attrs: noreturn nounwind +declare dso_local void @__assert_fail(i8*, i8*, i32, i8*) #10 + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @write(i32 %fd, i8* %buf, i64 %count) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %r = alloca i32, align 4 + %actual_count = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + %0 = load i32, i32* @write.n_calls, align 4 + %inc = add nsw i32 %0, 1 + store i32 %inc, i32* @write.n_calls, align 4 + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @write.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + br i1 %tobool6, label %if.else42, label %if.then7 + +if.then7: ; preds = %if.end5 + %10 = load i8*, i8** %buf.addr, align 8 + %call8 = call i8* @__concretize_ptr(i8* %10) + store i8* %call8, i8** %buf.addr, align 8 + %11 = load i64, i64* %count.addr, align 8 + %call9 = call i64 @__concretize_size(i64 %11) + store i64 %call9, i64* %count.addr, align 8 + %12 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd10 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %12, i32 0, i32 0 + %13 = load i32, i32* %fd10, align 8 + %cmp11 = icmp eq i32 %13, 1 + br i1 %cmp11, label %if.then14, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then7 + %14 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd12 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %14, i32 0, i32 0 + %15 = load i32, i32* %fd12, align 8 + %cmp13 = icmp eq i32 %15, 2 + br i1 %cmp13, label %if.then14, label %if.else + +if.then14: ; preds = %lor.lhs.false, %if.then7 + %16 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd15 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %16, i32 0, i32 0 + %17 = load i32, i32* %fd15, align 8 + %18 = load i8*, i8** %buf.addr, align 8 + %19 = load i64, i64* %count.addr, align 8 + %call16 = call i64 (i64, ...) @syscall(i64 1, i32 %17, i8* %18, i64 %19) #11 + %conv = trunc i64 %call16 to i32 + store i32 %conv, i32* %r, align 4 + br label %if.end20 + +if.else: ; preds = %lor.lhs.false + %20 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd17 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %20, i32 0, i32 0 + %21 = load i32, i32* %fd17, align 8 + %22 = load i8*, i8** %buf.addr, align 8 + %23 = load i64, i64* %count.addr, align 8 + %24 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %24, i32 0, i32 2 + %25 = load i64, i64* %off, align 8 + %call18 = call i64 (i64, ...) @syscall(i64 18, i32 %21, i8* %22, i64 %23, i64 %25) #11 + %conv19 = trunc i64 %call18 to i32 + store i32 %conv19, i32* %r, align 4 + br label %if.end20 + +if.end20: ; preds = %if.else, %if.then14 + %26 = load i32, i32* %r, align 4 + %cmp21 = icmp eq i32 %26, -1 + br i1 %cmp21, label %if.then23, label %if.end24 + +if.then23: ; preds = %if.end20 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end24: ; preds = %if.end20 + %27 = load i32, i32* %r, align 4 + %cmp25 = icmp sge i32 %27, 0 + br i1 %cmp25, label %if.end29, label %if.else28 + +if.else28: ; preds = %if.end24 + call void @__assert_fail(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.5.7, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 445, i8* getelementptr inbounds ([41 x i8], [41 x i8]* @__PRETTY_FUNCTION__.write, i64 0, i64 0)) #26 + unreachable + +if.end29: ; preds = %if.end24 + %28 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd30 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %28, i32 0, i32 0 + %29 = load i32, i32* %fd30, align 8 + %cmp31 = icmp ne i32 %29, 1 + br i1 %cmp31, label %land.lhs.true33, label %if.end40 + +land.lhs.true33: ; preds = %if.end29 + %30 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd34 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %30, i32 0, i32 0 + %31 = load i32, i32* %fd34, align 8 + %cmp35 = icmp ne i32 %31, 2 + br i1 %cmp35, label %if.then37, label %if.end40 + +if.then37: ; preds = %land.lhs.true33 + %32 = load i32, i32* %r, align 4 + %conv38 = sext i32 %32 to i64 + %33 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off39 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %33, i32 0, i32 2 + %34 = load i64, i64* %off39, align 8 + %add = add nsw i64 %34, %conv38 + store i64 %add, i64* %off39, align 8 + br label %if.end40 + +if.end40: ; preds = %if.then37, %land.lhs.true33, %if.end29 + %35 = load i32, i32* %r, align 4 + %conv41 = sext i32 %35 to i64 + store i64 %conv41, i64* %retval, align 8 + br label %return + +if.else42: ; preds = %if.end5 + store i64 0, i64* %actual_count, align 8 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off43 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 2 + %37 = load i64, i64* %off43, align 8 + %38 = load i64, i64* %count.addr, align 8 + %add44 = add i64 %37, %38 + %39 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile45 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %39, i32 0, i32 3 + %40 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile45, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %40, i32 0, i32 0 + %41 = load i32, i32* %size, align 8 + %conv46 = zext i32 %41 to i64 + %cmp47 = icmp ule i64 %add44, %conv46 + br i1 %cmp47, label %if.then49, label %if.else50 + +if.then49: ; preds = %if.else42 + %42 = load i64, i64* %count.addr, align 8 + store i64 %42, i64* %actual_count, align 8 + br label %if.end67 + +if.else50: ; preds = %if.else42 + %43 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 3), align 8 + %tobool51 = icmp ne i32 %43, 0 + br i1 %tobool51, label %if.then52, label %if.else53 + +if.then52: ; preds = %if.else50 + call void @__assert_fail(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.6, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 458, i8* getelementptr inbounds ([41 x i8], [41 x i8]* @__PRETTY_FUNCTION__.write, i64 0, i64 0)) #26 + unreachable + +if.else53: ; preds = %if.else50 + %44 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %44, i32 0, i32 2 + %45 = load i64, i64* %off54, align 8 + %46 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile55 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %46, i32 0, i32 3 + %47 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile55, align 8 + %size56 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %47, i32 0, i32 0 + %48 = load i32, i32* %size56, align 8 + %conv57 = zext i32 %48 to i64 + %cmp58 = icmp slt i64 %45, %conv57 + br i1 %cmp58, label %if.then60, label %if.end67 + +if.then60: ; preds = %if.else53 + %49 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile61 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %49, i32 0, i32 3 + %50 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile61, align 8 + %size62 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %50, i32 0, i32 0 + %51 = load i32, i32* %size62, align 8 + %conv63 = zext i32 %51 to i64 + %52 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off64 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %52, i32 0, i32 2 + %53 = load i64, i64* %off64, align 8 + %sub = sub nsw i64 %conv63, %53 + store i64 %sub, i64* %actual_count, align 8 + br label %if.end67 + +if.end67: ; preds = %if.then60, %if.else53, %if.then49 + %54 = load i64, i64* %actual_count, align 8 + %tobool68 = icmp ne i64 %54, 0 + br i1 %tobool68, label %if.then69, label %if.end72 + +if.then69: ; preds = %if.end67 + %55 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile70 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %55, i32 0, i32 3 + %56 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile70, align 8 + %contents = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %56, i32 0, i32 1 + %57 = load i8*, i8** %contents, align 8 + %58 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off71 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %58, i32 0, i32 2 + %59 = load i64, i64* %off71, align 8 + %add.ptr = getelementptr inbounds i8, i8* %57, i64 %59 + %60 = load i8*, i8** %buf.addr, align 8 + %61 = load i64, i64* %actual_count, align 8 + %62 = call i8* @memcpy(i8* %add.ptr, i8* %60, i64 %61) + br label %if.end72 + +if.end72: ; preds = %if.then69, %if.end67 + %63 = load i64, i64* %count.addr, align 8 + %64 = load i64, i64* %actual_count, align 8 + %cmp73 = icmp ne i64 %63, %64 + br i1 %cmp73, label %if.then75, label %if.end76 + +if.then75: ; preds = %if.end72 + call void @gs_warning(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.7, i64 0, i64 0)) + br label %if.end76 + +if.end76: ; preds = %if.then75, %if.end72 + %65 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile77 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %65, i32 0, i32 3 + %66 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile77, align 8 + %67 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + %cmp78 = icmp eq %struct.exe_disk_file_t* %66, %67 + br i1 %cmp78, label %if.then80, label %if.end84 + +if.then80: ; preds = %if.end76 + %68 = load i64, i64* %actual_count, align 8 + %69 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 3), align 8 + %conv81 = zext i32 %69 to i64 + %add82 = add i64 %conv81, %68 + %conv83 = trunc i64 %add82 to i32 + store i32 %conv83, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 3), align 8 + br label %if.end84 + +if.end84: ; preds = %if.then80, %if.end76 + %70 = load i64, i64* %count.addr, align 8 + %71 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off85 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %71, i32 0, i32 2 + %72 = load i64, i64* %off85, align 8 + %add86 = add i64 %72, %70 + store i64 %add86, i64* %off85, align 8 + %73 = load i64, i64* %count.addr, align 8 + store i64 %73, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end84, %if.end40, %if.then23, %if.then3, %if.then + %74 = load i64, i64* %retval, align 8 + ret i64 %74 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @__fd_lseek(i32 %fd, i64 %offset, i32 %whence) #3 { +entry: + %retval = alloca i64, align 8 + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + %new_off = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + %4 = load i32, i32* %whence.addr, align 4 + br i1 %tobool2, label %if.end24, label %if.then3 + +if.then3: ; preds = %if.end + %cmp = icmp eq i32 %4, 0 + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd5 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd5, align 8 + br i1 %cmp, label %if.then4, label %if.else + +if.then4: ; preds = %if.then3 + %7 = load i64, i64* %offset.addr, align 8 + %call6 = call i64 (i64, ...) @syscall(i64 8, i32 %6, i64 %7, i32 0) #11 + store i64 %call6, i64* %new_off, align 8 + br label %if.end19 + +if.else: ; preds = %if.then3 + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 2 + %9 = load i64, i64* %off, align 8 + %call8 = call i64 (i64, ...) @syscall(i64 8, i32 %6, i64 %9, i32 0) #11 + store i64 %call8, i64* %new_off, align 8 + %10 = load i64, i64* %new_off, align 8 + %cmp9 = icmp ne i64 %10, -1 + br i1 %cmp9, label %if.then10, label %if.end19 + +if.then10: ; preds = %if.else + %11 = load i64, i64* %new_off, align 8 + %12 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off11 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %12, i32 0, i32 2 + %13 = load i64, i64* %off11, align 8 + %cmp12 = icmp eq i64 %11, %13 + br i1 %cmp12, label %if.end15, label %if.else14 + +if.else14: ; preds = %if.then10 + call void @__assert_fail(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.8, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 504, i8* getelementptr inbounds ([38 x i8], [38 x i8]* @__PRETTY_FUNCTION__.__fd_lseek, i64 0, i64 0)) #26 + unreachable + +if.end15: ; preds = %if.then10 + %14 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd16 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %14, i32 0, i32 0 + %15 = load i32, i32* %fd16, align 8 + %16 = load i64, i64* %offset.addr, align 8 + %17 = load i32, i32* %whence.addr, align 4 + %call17 = call i64 (i64, ...) @syscall(i64 8, i32 %15, i64 %16, i32 %17) #11 + store i64 %call17, i64* %new_off, align 8 + br label %if.end19 + +if.end19: ; preds = %if.else, %if.end15, %if.then4 + %18 = load i64, i64* %new_off, align 8 + %cmp20 = icmp eq i64 %18, -1 + br i1 %cmp20, label %if.then21, label %if.end22 + +if.then21: ; preds = %if.end19 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end22: ; preds = %if.end19 + %19 = load i64, i64* %new_off, align 8 + %20 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off23 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %20, i32 0, i32 2 + store i64 %19, i64* %off23, align 8 + %21 = load i64, i64* %new_off, align 8 + store i64 %21, i64* %retval, align 8 + br label %return + +if.end24: ; preds = %if.end + br label %NodeBlock3 + +NodeBlock3: ; preds = %if.end24 + %case.cmp4 = icmp eq i32 %4, 0 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %4, 1 + br i1 %case.cmp2, label %sw.bb25, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %4, 2 + br i1 %case.cmp, label %sw.bb27, label %newDefault + +sw.bb: ; preds = %NodeBlock3 + %22 = load i64, i64* %offset.addr, align 8 + store i64 %22, i64* %new_off, align 8 + br label %sw.epilog + +sw.bb25: ; preds = %NodeBlock1 + %23 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off26 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %23, i32 0, i32 2 + %24 = load i64, i64* %off26, align 8 + %25 = load i64, i64* %offset.addr, align 8 + %add = add nsw i64 %24, %25 + store i64 %add, i64* %new_off, align 8 + br label %sw.epilog + +sw.bb27: ; preds = %NodeBlock + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile28 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 3 + %27 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile28, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %27, i32 0, i32 0 + %28 = load i32, i32* %size, align 8 + %conv = zext i32 %28 to i64 + %29 = load i64, i64* %offset.addr, align 8 + %add29 = add nsw i64 %conv, %29 + store i64 %add29, i64* %new_off, align 8 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + %call30 = call i32* @__errno_location() #25 + store i32 22, i32* %call30, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +sw.epilog: ; preds = %sw.bb27, %sw.bb25, %sw.bb + %30 = load i64, i64* %new_off, align 8 + %cmp31 = icmp slt i64 %30, 0 + br i1 %cmp31, label %if.then33, label %if.end35 + +if.then33: ; preds = %sw.epilog + %call34 = call i32* @__errno_location() #25 + store i32 22, i32* %call34, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end35: ; preds = %sw.epilog + %31 = load i64, i64* %new_off, align 8 + %32 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off36 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %32, i32 0, i32 2 + store i64 %31, i64* %off36, align 8 + %33 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off37 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %33, i32 0, i32 2 + %34 = load i64, i64* %off37, align 8 + store i64 %34, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end35, %if.then33, %sw.default, %if.end22, %if.then21, %if.then + %35 = load i64, i64* %retval, align 8 + ret i64 %35 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_stat(i8* %path, %struct.stat64* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %3 = bitcast %struct.stat64* %2 to i8* + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %4, i32 0, i32 2 + %5 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %6 = bitcast %struct.stat64* %5 to i8* + %7 = call i8* @memcpy(i8* %3, i8* %6, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load i8*, i8** %path.addr, align 8 + %call1 = call i8* @__concretize_string(i8* %8) + %9 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %call2 = call i64 (i64, ...) @syscall(i64 4, i8* %call1, %struct.stat64* %9) #11 + %conv = trunc i64 %call2 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %10 = load i32, i32* %retval, align 4 + ret i32 %10 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstatat(i32 %fd, i8* nonnull %path, %struct.stat64* nonnull %buf, i32 %flags) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %flags.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %dfile9 = alloca %struct.exe_disk_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %cmp = icmp ne i32 %0, -100 + br i1 %cmp, label %if.then, label %if.end8 + +if.then: ; preds = %entry + %1 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %1) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.else, label %if.then1 + +if.then1: ; preds = %if.then + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %3 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %3, i32 0, i32 3 + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool3 = icmp ne %struct.exe_disk_file_t* %4, null + br i1 %tobool3, label %if.then4, label %if.end6 + +if.then4: ; preds = %if.else + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2, i64 0, i64 0)) + %call5 = call i32* @__errno_location() #25 + store i32 2, i32* %call5, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.else + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 0 + %6 = load i32, i32* %fd7, align 8 + store i32 %6, i32* %fd.addr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end6, %entry + %7 = load i8*, i8** %path.addr, align 8 + %call10 = call %struct.exe_disk_file_t* @__get_sym_file(i8* %7) + store %struct.exe_disk_file_t* %call10, %struct.exe_disk_file_t** %dfile9, align 8 + %8 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile9, align 8 + %tobool11 = icmp ne %struct.exe_disk_file_t* %8, null + br i1 %tobool11, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.end8 + %9 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %10 = bitcast %struct.stat64* %9 to i8* + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile9, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %11, i32 0, i32 2 + %12 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %13 = bitcast %struct.stat64* %12 to i8* + %14 = call i8* @memcpy(i8* %10, i8* %13, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.end8 + %15 = load i32, i32* %fd.addr, align 4 + %conv = sext i32 %15 to i64 + %16 = load i8*, i8** %path.addr, align 8 + %tobool14 = icmp ne i8* %16, null + br i1 %tobool14, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end13 + %17 = load i8*, i8** %path.addr, align 8 + %call15 = call i8* @__concretize_string(i8* %17) + br label %cond.end + +cond.end: ; preds = %if.end13, %cond.true + %cond = phi i8* [ %call15, %cond.true ], [ null, %if.end13 ] + %18 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %19 = load i32, i32* %flags.addr, align 4 + %conv16 = sext i32 %19 to i64 + %call17 = call i64 (i64, ...) @syscall(i64 262, i64 %conv, i8* %cond, %struct.stat64* %18, i64 %conv16) #11 + %conv18 = trunc i64 %call17 to i32 + store i32 %conv18, i32* %retval, align 4 + br label %return + +return: ; preds = %cond.end, %if.then12, %if.then4, %if.then1 + %20 = load i32, i32* %retval, align 4 + ret i32 %20 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_lstat(i8* %path, %struct.stat64* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %3 = bitcast %struct.stat64* %2 to i8* + %4 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %4, i32 0, i32 2 + %5 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %6 = bitcast %struct.stat64* %5 to i8* + %7 = call i8* @memcpy(i8* %3, i8* %6, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load i8*, i8** %path.addr, align 8 + %call1 = call i8* @__concretize_string(i8* %8) + %9 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %call2 = call i64 (i64, ...) @syscall(i64 6, i8* %call1, %struct.stat64* %9) #11 + %conv = trunc i64 %call2 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %10 = load i32, i32* %retval, align 4 + ret i32 %10 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chdir(i8* nonnull %path) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0)) + %call1 = call i32* @__errno_location() #25 + store i32 2, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %2) + %call3 = call i64 (i64, ...) @syscall(i64 80, i8* %call2) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %3 = load i32, i32* %retval, align 4 + ret i32 %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fchdir(i32 %fd) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %if.end + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 2, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd6, align 8 + %call7 = call i64 (i64, ...) @syscall(i64 81, i32 %5) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chmod(i8* nonnull %path, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load i32, i32* @chmod.n_calls, align 4 + %inc = add nsw i32 %1, 1 + store i32 %inc, i32* @chmod.n_calls, align 4 + %2 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool = icmp ne i32 %2, 0 + br i1 %tobool, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %3 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 11), align 8 + %4 = load i32, i32* %3, align 4 + %5 = load i32, i32* @chmod.n_calls, align 4 + %cmp = icmp eq i32 %4, %5 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %6 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %6, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call1 = call i32* @__errno_location() #25 + store i32 5, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + %7 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %7, null + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %if.end + %8 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %9 = load i32, i32* %mode.addr, align 4 + %call4 = call i32 @__df_chmod(%struct.exe_disk_file_t* %8, i32 %9) + store i32 %call4, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %if.end + %10 = load i8*, i8** %path.addr, align 8 + %call6 = call i8* @__concretize_string(i8* %10) + %11 = load i32, i32* %mode.addr, align 4 + %call7 = call i64 (i64, ...) @syscall(i64 90, i8* %call6, i32 %11) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %12 = load i32, i32* %retval, align 4 + ret i32 %12 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__df_chmod(%struct.exe_disk_file_t* %df, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %df.addr = alloca %struct.exe_disk_file_t*, align 8 + %mode.addr = alloca i32, align 4 + store %struct.exe_disk_file_t* %df, %struct.exe_disk_file_t** %df.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %call = call i32 @geteuid() #11 + %0 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %0, i32 0, i32 2 + %1 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_uid = getelementptr inbounds %struct.stat64, %struct.stat64* %1, i32 0, i32 4 + %2 = load i32, i32* %st_uid, align 4 + %cmp = icmp eq i32 %call, %2 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %call1 = call i32 @getgid() #11 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %3, i32 0, i32 2 + %4 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + %st_gid = getelementptr inbounds %struct.stat64, %struct.stat64* %4, i32 0, i32 5 + %5 = load i32, i32* %st_gid, align 8 + %cmp3 = icmp ne i32 %call1, %5 + br i1 %cmp3, label %if.then4, label %if.end + +if.then4: ; preds = %if.then + %6 = load i32, i32* %mode.addr, align 4 + %and = and i32 %6, -1025 + store i32 %and, i32* %mode.addr, align 4 + br label %if.end + +if.end: ; preds = %if.then4, %if.then + %7 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat5 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %7, i32 0, i32 2 + %8 = load %struct.stat64*, %struct.stat64** %stat5, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %8, i32 0, i32 3 + %9 = load i32, i32* %st_mode, align 8 + %and6 = and i32 %9, -4096 + %10 = load i32, i32* %mode.addr, align 4 + %and7 = and i32 %10, 4095 + %or = or i32 %and6, %and7 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df.addr, align 8 + %stat8 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %11, i32 0, i32 2 + %12 = load %struct.stat64*, %struct.stat64** %stat8, align 8 + %st_mode9 = getelementptr inbounds %struct.stat64, %struct.stat64* %12, i32 0, i32 3 + store i32 %or, i32* %st_mode9, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %call10 = call i32* @__errno_location() #25 + store i32 1, i32* %call10, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.else, %if.end + %13 = load i32, i32* %retval, align 4 + ret i32 %13 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fchmod(i32 %fd, i32 %mode) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %mode.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i32, i32* @fchmod.n_calls, align 4 + %inc = add nsw i32 %2, 1 + store i32 %inc, i32* @fchmod.n_calls, align 4 + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 12), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @fchmod.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + br i1 %tobool6, label %if.then7, label %if.end10 + +if.then7: ; preds = %if.end5 + %dfile8 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 3 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile8, align 8 + %12 = load i32, i32* %mode.addr, align 4 + %call9 = call i32 @__df_chmod(%struct.exe_disk_file_t* %11, i32 %12) + store i32 %call9, i32* %retval, align 4 + br label %return + +if.end10: ; preds = %if.end5 + %fd11 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 0 + %13 = load i32, i32* %fd11, align 8 + %14 = load i32, i32* %mode.addr, align 4 + %call12 = call i64 (i64, ...) @syscall(i64 91, i32 %13, i32 %14) #11 + %conv = trunc i64 %call12 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end10, %if.then7, %if.then3, %if.then + %15 = load i32, i32* %retval, align 4 + ret i32 %15 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chown(i8* nonnull %path, i32 %owner, i32 %group) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %df, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %3 = load i32, i32* %owner.addr, align 4 + %4 = load i32, i32* %group.addr, align 4 + %call1 = call i32 @__df_chown(%struct.exe_disk_file_t* %2, i32 %3, i32 %4) + store i32 %call1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %5 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %5) + %6 = load i32, i32* %owner.addr, align 4 + %7 = load i32, i32* %group.addr, align 4 + %call3 = call i64 (i64, ...) @syscall(i64 92, i8* %call2, i32 %6, i32 %7) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__df_chown(%struct.exe_disk_file_t* %df, i32 %owner, i32 %group) #3 { +entry: + %df.addr = alloca %struct.exe_disk_file_t*, align 8 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + store %struct.exe_disk_file_t* %df, %struct.exe_disk_file_t** %df.addr, align 8 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + call void @gs_warning(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.26, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fchown(i32 %fd, i32 %owner, i32 %group) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end6 + +if.then3: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile4 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 3 + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile4, align 8 + %6 = load i32, i32* %owner.addr, align 4 + %7 = load i32, i32* %group.addr, align 4 + %call5 = call i32 @__df_chown(%struct.exe_disk_file_t* %5, i32 %6, i32 %7) + store i32 %call5, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.end + %8 = load i32, i32* %fd.addr, align 4 + %9 = load i32, i32* %owner.addr, align 4 + %10 = load i32, i32* %group.addr, align 4 + %call7 = call i64 (i64, ...) @syscall(i64 93, i32 %8, i32 %9, i32 %10) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end6, %if.then3, %if.then + %11 = load i32, i32* %retval, align 4 + ret i32 %11 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @lchown(i8* nonnull %path, i32 %owner, i32 %group) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %owner.addr = alloca i32, align 4 + %group.addr = alloca i32, align 4 + %df = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i32 %owner, i32* %owner.addr, align 4 + store i32 %group, i32* %group.addr, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %df, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %3 = load i32, i32* %owner.addr, align 4 + %4 = load i32, i32* %group.addr, align 4 + %call1 = call i32 @__df_chown(%struct.exe_disk_file_t* %2, i32 %3, i32 %4) + store i32 %call1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %5 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %5) + %6 = load i32, i32* %owner.addr, align 4 + %7 = load i32, i32* %group.addr, align 4 + %call3 = call i64 (i64, ...) @syscall(i64 92, i8* %call2, i32 %6, i32 %7) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_fstat(i32 %fd, %struct.stat64* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.end6, label %if.then3 + +if.then3: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd4 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd4, align 8 + %6 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %call5 = call i64 (i64, ...) @syscall(i64 5, i32 %5, %struct.stat64* %6) #11 + %conv = trunc i64 %call5 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +if.end6: ; preds = %if.end + %7 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %8 = bitcast %struct.stat64* %7 to i8* + %9 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %9, i32 0, i32 3 + %10 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile7, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %10, i32 0, i32 2 + %11 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %12 = bitcast %struct.stat64* %11 to i8* + %13 = call i8* @memcpy(i8* %8, i8* %12, i64 144) + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end6, %if.then3, %if.then + %14 = load i32, i32* %retval, align 4 + ret i32 %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_ftruncate(i32 %fd, i64 %length) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %length.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %length, i64* %length.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load i32, i32* @__fd_ftruncate.n_calls, align 4 + %inc = add nsw i32 %1, 1 + store i32 %inc, i32* @__fd_ftruncate.n_calls, align 4 + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %2, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool2 = icmp ne i32 %3, 0 + br i1 %tobool2, label %land.lhs.true, label %if.end5 + +land.lhs.true: ; preds = %if.end + %4 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %5 = load i32, i32* %4, align 4 + %6 = load i32, i32* @__fd_ftruncate.n_calls, align 4 + %cmp = icmp eq i32 %5, %6 + br i1 %cmp, label %if.then3, label %if.end5 + +if.then3: ; preds = %land.lhs.true + %7 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %dec = add i32 %7, -1 + store i32 %dec, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %call4 = call i32* @__errno_location() #25 + store i32 5, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %land.lhs.true, %if.end + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + br i1 %tobool6, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end5 + call void @gs_warning(i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str.10, i64 0, i64 0)) + %call8 = call i32* @__errno_location() #25 + store i32 5, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end9: ; preds = %if.end5 + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd10 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 0 + %11 = load i32, i32* %fd10, align 8 + %12 = load i64, i64* %length.addr, align 8 + %call11 = call i64 (i64, ...) @syscall(i64 77, i32 %11, i64 %12) #11 + %conv = trunc i64 %call11 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end9, %if.then7, %if.then3, %if.then + %13 = load i32, i32* %retval, align 4 + ret i32 %13 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_getdents(i32 %fd, %struct.dirent64* %dirp, i32 %count) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %dirp.addr = alloca %struct.dirent64*, align 8 + %count.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %i = alloca i64, align 8 + %pad = alloca i64, align 8 + %bytes = alloca i64, align 8 + %df = alloca %struct.exe_disk_file_t*, align 8 + %os_pos = alloca i64, align 8 + %res = alloca i32, align 4 + %s = alloca i64, align 8 + %pos = alloca i32, align 4 + %dp = alloca %struct.dirent64*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.dirent64* %dirp, %struct.dirent64** %dirp.addr, align 8 + store i32 %count, i32* %count.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.else + +if.then3: ; preds = %if.end + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 22, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 2 + %5 = load i64, i64* %off, align 8 + %cmp = icmp ult i64 %5, 4096 + br i1 %cmp, label %if.then5, label %if.else43 + +if.then5: ; preds = %if.else + store i64 0, i64* %bytes, align 8 + %6 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %6, i32 0, i32 2 + %7 = load i64, i64* %off6, align 8 + %div = udiv i64 %7, 280 + store i64 %div, i64* %i, align 8 + %8 = load i64, i64* %i, align 8 + %mul = mul i64 %8, 280 + %9 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off7 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %9, i32 0, i32 2 + %10 = load i64, i64* %off7, align 8 + %cmp8 = icmp ne i64 %mul, %10 + br i1 %cmp8, label %if.then11, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then5 + %11 = load i64, i64* %i, align 8 + %12 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %conv = zext i32 %12 to i64 + %cmp9 = icmp sgt i64 %11, %conv + br i1 %cmp9, label %if.then11, label %for.cond + +if.then11: ; preds = %lor.lhs.false, %if.then5 + %call12 = call i32* @__errno_location() #25 + store i32 22, i32* %call12, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +for.cond: ; preds = %lor.lhs.false, %for.body + %13 = load i64, i64* %i, align 8 + %14 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %conv14 = zext i32 %14 to i64 + %cmp15 = icmp slt i64 %13, %conv14 + br i1 %cmp15, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %15 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %16 = load i64, i64* %i, align 8 + %arrayidx = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %15, i64 %16 + store %struct.exe_disk_file_t* %arrayidx, %struct.exe_disk_file_t** %df, align 8 + %17 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %17, i32 0, i32 2 + %18 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %18, i32 0, i32 1 + %19 = load i64, i64* %st_ino, align 8 + %20 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_ino = getelementptr inbounds %struct.dirent64, %struct.dirent64* %20, i32 0, i32 0 + store i64 %19, i64* %d_ino, align 8 + %21 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen = getelementptr inbounds %struct.dirent64, %struct.dirent64* %21, i32 0, i32 2 + store i16 280, i16* %d_reclen, align 8 + %22 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %df, align 8 + %stat17 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %22, i32 0, i32 2 + %23 = load %struct.stat64*, %struct.stat64** %stat17, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %23, i32 0, i32 3 + %24 = load i32, i32* %st_mode, align 8 + %and = and i32 %24, 61440 + %shr = lshr i32 %and, 12 + %conv18 = trunc i32 %shr to i8 + %25 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_type = getelementptr inbounds %struct.dirent64, %struct.dirent64* %25, i32 0, i32 3 + store i8 %conv18, i8* %d_type, align 2 + %26 = load i64, i64* %i, align 8 + %add = add nsw i64 65, %26 + %conv19 = trunc i64 %add to i8 + %27 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_name = getelementptr inbounds %struct.dirent64, %struct.dirent64* %27, i32 0, i32 4 + %arrayidx20 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name, i64 0, i64 0 + store i8 %conv19, i8* %arrayidx20, align 1 + %28 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_name21 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %28, i32 0, i32 4 + %arrayidx22 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name21, i64 0, i64 1 + store i8 0, i8* %arrayidx22, align 1 + %29 = load i64, i64* %i, align 8 + %add23 = add nsw i64 %29, 1 + %mul24 = mul i64 %add23, 280 + %30 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_off = getelementptr inbounds %struct.dirent64, %struct.dirent64* %30, i32 0, i32 1 + store i64 %mul24, i64* %d_off, align 8 + %31 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen25 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %31, i32 0, i32 2 + %32 = load i16, i16* %d_reclen25, align 8 + %conv26 = zext i16 %32 to i64 + %33 = load i64, i64* %bytes, align 8 + %add27 = add nsw i64 %33, %conv26 + store i64 %add27, i64* %bytes, align 8 + %34 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %incdec.ptr = getelementptr inbounds %struct.dirent64, %struct.dirent64* %34, i32 1 + store %struct.dirent64* %incdec.ptr, %struct.dirent64** %dirp.addr, align 8 + %35 = load i64, i64* %i, align 8 + %inc = add nsw i64 %35, 1 + store i64 %inc, i64* %i, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %36 = load i32, i32* %count.addr, align 4 + %cmp28 = icmp uge i32 %36, 4096 + %37 = load i32, i32* %count.addr, align 4 + %cond = select i1 %cmp28, i32 4096, i32 %37 + %conv30 = zext i32 %cond to i64 + store i64 %conv30, i64* %pad, align 8 + %38 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_ino31 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %38, i32 0, i32 0 + store i64 0, i64* %d_ino31, align 8 + %39 = load i64, i64* %pad, align 8 + %40 = load i64, i64* %bytes, align 8 + %sub = sub nsw i64 %39, %40 + %conv32 = trunc i64 %sub to i16 + %41 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen33 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %41, i32 0, i32 2 + store i16 %conv32, i16* %d_reclen33, align 8 + %42 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_type34 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %42, i32 0, i32 3 + store i8 0, i8* %d_type34, align 2 + %43 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_name35 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %43, i32 0, i32 4 + %arrayidx36 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name35, i64 0, i64 0 + store i8 0, i8* %arrayidx36, align 1 + %44 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_off37 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %44, i32 0, i32 1 + store i64 4096, i64* %d_off37, align 8 + %45 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %d_reclen38 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %45, i32 0, i32 2 + %46 = load i16, i16* %d_reclen38, align 8 + %conv39 = zext i16 %46 to i64 + %47 = load i64, i64* %bytes, align 8 + %add40 = add nsw i64 %47, %conv39 + store i64 %add40, i64* %bytes, align 8 + %48 = load i64, i64* %pad, align 8 + %49 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off41 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %49, i32 0, i32 2 + store i64 %48, i64* %off41, align 8 + %50 = load i64, i64* %bytes, align 8 + %conv42 = trunc i64 %50 to i32 + store i32 %conv42, i32* %retval, align 4 + br label %return + +if.else43: ; preds = %if.else + %51 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off44 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %51, i32 0, i32 2 + %52 = load i64, i64* %off44, align 8 + %sub45 = sub nsw i64 %52, 4096 + store i64 %sub45, i64* %os_pos, align 8 + store i64 0, i64* %s, align 8 + %53 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %54 = bitcast %struct.dirent64* %53 to i8* + %55 = load i32, i32* %count.addr, align 4 + %conv46 = zext i32 %55 to i64 + %56 = call i8* @memset(i8* %54, i32 0, i64 %conv46) + %57 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd47 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %57, i32 0, i32 0 + %58 = load i32, i32* %fd47, align 8 + %59 = load i64, i64* %os_pos, align 8 + %call48 = call i64 (i64, ...) @syscall(i64 8, i32 %58, i64 %59, i32 0) #11 + store i64 %call48, i64* %s, align 8 + %60 = load i64, i64* %s, align 8 + %cmp49 = icmp ne i64 %60, -1 + br i1 %cmp49, label %if.end53, label %if.else52 + +if.else52: ; preds = %if.else43 + call void @__assert_fail(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.12, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 840, i8* getelementptr inbounds ([65 x i8], [65 x i8]* @__PRETTY_FUNCTION__.__fd_getdents, i64 0, i64 0)) #26 + unreachable + +if.end53: ; preds = %if.else43 + %61 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd54 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %61, i32 0, i32 0 + %62 = load i32, i32* %fd54, align 8 + %63 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %64 = load i32, i32* %count.addr, align 4 + %call55 = call i64 (i64, ...) @syscall(i64 217, i32 %62, %struct.dirent64* %63, i32 %64) #11 + %conv56 = trunc i64 %call55 to i32 + store i32 %conv56, i32* %res, align 4 + %65 = load i32, i32* %res, align 4 + %cmp57 = icmp sgt i32 %65, -1 + br i1 %cmp57, label %if.then59, label %if.end78 + +if.then59: ; preds = %if.end53 + store i32 0, i32* %pos, align 4 + %66 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd60 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %66, i32 0, i32 0 + %67 = load i32, i32* %fd60, align 8 + %call61 = call i64 (i64, ...) @syscall(i64 8, i32 %67, i32 0, i32 1) #11 + %68 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off62 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %68, i32 0, i32 2 + store i64 %call61, i64* %off62, align 8 + %69 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off63 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %69, i32 0, i32 2 + %70 = load i64, i64* %off63, align 8 + %cmp64 = icmp ne i64 %70, -1 + br i1 %cmp64, label %if.end68, label %if.else67 + +if.else67: ; preds = %if.then59 + call void @__assert_fail(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.13, i64 0, i64 0), i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.4, i64 0, i64 0), i32 845, i8* getelementptr inbounds ([65 x i8], [65 x i8]* @__PRETTY_FUNCTION__.__fd_getdents, i64 0, i64 0)) #26 + unreachable + +if.end68: ; preds = %if.then59 + %71 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off69 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %71, i32 0, i32 2 + %72 = load i64, i64* %off69, align 8 + %add70 = add nsw i64 %72, 4096 + store i64 %add70, i64* %off69, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end68 + %73 = load i32, i32* %pos, align 4 + %74 = load i32, i32* %res, align 4 + %cmp71 = icmp slt i32 %73, %74 + br i1 %cmp71, label %while.body, label %if.end78 + +while.body: ; preds = %while.cond + %75 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %76 = bitcast %struct.dirent64* %75 to i8* + %77 = load i32, i32* %pos, align 4 + %idx.ext = sext i32 %77 to i64 + %add.ptr = getelementptr inbounds i8, i8* %76, i64 %idx.ext + %78 = bitcast i8* %add.ptr to %struct.dirent64* + store %struct.dirent64* %78, %struct.dirent64** %dp, align 8 + %79 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_off73 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %79, i32 0, i32 1 + %80 = load i64, i64* %d_off73, align 8 + %add74 = add nsw i64 %80, 4096 + store i64 %add74, i64* %d_off73, align 8 + %81 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_reclen75 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %81, i32 0, i32 2 + %82 = load i16, i16* %d_reclen75, align 8 + %conv76 = zext i16 %82 to i32 + %83 = load i32, i32* %pos, align 4 + %add77 = add nsw i32 %83, %conv76 + store i32 %add77, i32* %pos, align 4 + br label %while.cond + +if.end78: ; preds = %while.cond, %if.end53 + %84 = load i32, i32* %res, align 4 + store i32 %84, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end78, %for.end, %if.then11, %if.then3, %if.then + %85 = load i32, i32* %retval, align 4 + ret i32 %85 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @ioctl(i32 %fd, i64 %request, ...) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %request.addr = alloca i64, align 8 + %f = alloca %struct.exe_file_t*, align 8 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + %buf = alloca i8*, align 8 + %stat = alloca %struct.stat64*, align 8 + %ts = alloca %struct.termios*, align 8 + %ws = alloca %struct.winsize*, align 8 + %res = alloca i32*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %request, i64* %request.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay2 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay2) + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.end + %2 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 3 + %reg_save_area = load i8*, i8** %2, align 16 + %3 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %4 = bitcast i8* %3 to i8** + %5 = add i32 %gp_offset, 8 + store i32 %5, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.end + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %6 = bitcast i8* %overflow_arg_area to i8** + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i8** [ %4, %vaarg.in_reg ], [ %6, %vaarg.in_mem ] + %7 = load i8*, i8** %vaarg.addr, align 8 + store i8* %7, i8** %buf, align 8 + %arraydecay4 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay45 = bitcast %struct.__va_list_tag.0* %arraydecay4 to i8* + call void @llvm.va_end(i8* %arraydecay45) + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %8, i32 0, i32 3 + %9 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool6 = icmp ne %struct.exe_disk_file_t* %9, null + %10 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + br i1 %tobool6, label %if.then7, label %if.end103 + +if.then7: ; preds = %vaarg.end + %dfile8 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 3 + %11 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile8, align 8 + %stat9 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %11, i32 0, i32 2 + %12 = load %struct.stat64*, %struct.stat64** %stat9, align 8 + %13 = bitcast %struct.stat64* %12 to %struct.stat64* + store %struct.stat64* %13, %struct.stat64** %stat, align 8 + %14 = load i64, i64* %request.addr, align 8 + br label %NodeBlock13 + +NodeBlock13: ; preds = %if.then7 + %case.cmp14 = icmp eq i64 %14, 21505 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i64 %14, 21506 + br i1 %case.cmp12, label %sw.bb48, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i64 %14, 21507 + br i1 %case.cmp10, label %sw.bb55, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i64 %14, 21508 + br i1 %case.cmp8, label %sw.bb60, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i64 %14, 21523 + br i1 %case.cmp6, label %sw.bb67, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i64 %14, 21524 + br i1 %case.cmp4, label %sw.bb74, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i64 %14, 21531 + br i1 %case.cmp2, label %sw.bb82, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i64 %14, 2150657282 + br i1 %case.cmp, label %sw.bb100, label %newDefault + +sw.bb: ; preds = %NodeBlock13 + %15 = load i8*, i8** %buf, align 8 + %16 = bitcast i8* %15 to %struct.termios* + store %struct.termios* %16, %struct.termios** %ts, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.14, i64 0, i64 0)) + %17 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %17, i32 0, i32 3 + %18 = load i32, i32* %st_mode, align 8 + %and = and i32 %18, 61440 + %cmp = icmp eq i32 %and, 8192 + br i1 %cmp, label %if.then10, label %if.else + +if.then10: ; preds = %sw.bb + %19 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_iflag = getelementptr inbounds %struct.termios, %struct.termios* %19, i32 0, i32 0 + store i32 27906, i32* %c_iflag, align 4 + %20 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_oflag = getelementptr inbounds %struct.termios, %struct.termios* %20, i32 0, i32 1 + store i32 5, i32* %c_oflag, align 4 + %21 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cflag = getelementptr inbounds %struct.termios, %struct.termios* %21, i32 0, i32 2 + store i32 1215, i32* %c_cflag, align 4 + %22 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_lflag = getelementptr inbounds %struct.termios, %struct.termios* %22, i32 0, i32 3 + store i32 35287, i32* %c_lflag, align 4 + %23 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_line = getelementptr inbounds %struct.termios, %struct.termios* %23, i32 0, i32 4 + store i8 0, i8* %c_line, align 4 + %24 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc = getelementptr inbounds %struct.termios, %struct.termios* %24, i32 0, i32 5 + %arrayidx = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc, i64 0, i64 0 + store i8 3, i8* %arrayidx, align 1 + %25 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc11 = getelementptr inbounds %struct.termios, %struct.termios* %25, i32 0, i32 5 + %arrayidx12 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc11, i64 0, i64 1 + store i8 28, i8* %arrayidx12, align 1 + %26 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc13 = getelementptr inbounds %struct.termios, %struct.termios* %26, i32 0, i32 5 + %arrayidx14 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc13, i64 0, i64 2 + store i8 127, i8* %arrayidx14, align 1 + %27 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc15 = getelementptr inbounds %struct.termios, %struct.termios* %27, i32 0, i32 5 + %arrayidx16 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc15, i64 0, i64 3 + store i8 21, i8* %arrayidx16, align 1 + %28 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc17 = getelementptr inbounds %struct.termios, %struct.termios* %28, i32 0, i32 5 + %arrayidx18 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc17, i64 0, i64 4 + store i8 4, i8* %arrayidx18, align 1 + %29 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc19 = getelementptr inbounds %struct.termios, %struct.termios* %29, i32 0, i32 5 + %arrayidx20 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc19, i64 0, i64 5 + store i8 0, i8* %arrayidx20, align 1 + %30 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc21 = getelementptr inbounds %struct.termios, %struct.termios* %30, i32 0, i32 5 + %arrayidx22 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc21, i64 0, i64 6 + store i8 1, i8* %arrayidx22, align 1 + %31 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc23 = getelementptr inbounds %struct.termios, %struct.termios* %31, i32 0, i32 5 + %arrayidx24 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc23, i64 0, i64 7 + store i8 -1, i8* %arrayidx24, align 1 + %32 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc25 = getelementptr inbounds %struct.termios, %struct.termios* %32, i32 0, i32 5 + %arrayidx26 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc25, i64 0, i64 8 + store i8 17, i8* %arrayidx26, align 1 + %33 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc27 = getelementptr inbounds %struct.termios, %struct.termios* %33, i32 0, i32 5 + %arrayidx28 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc27, i64 0, i64 9 + store i8 19, i8* %arrayidx28, align 1 + %34 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc29 = getelementptr inbounds %struct.termios, %struct.termios* %34, i32 0, i32 5 + %arrayidx30 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc29, i64 0, i64 10 + store i8 26, i8* %arrayidx30, align 1 + %35 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc31 = getelementptr inbounds %struct.termios, %struct.termios* %35, i32 0, i32 5 + %arrayidx32 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc31, i64 0, i64 11 + store i8 -1, i8* %arrayidx32, align 1 + %36 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc33 = getelementptr inbounds %struct.termios, %struct.termios* %36, i32 0, i32 5 + %arrayidx34 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc33, i64 0, i64 12 + store i8 18, i8* %arrayidx34, align 1 + %37 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc35 = getelementptr inbounds %struct.termios, %struct.termios* %37, i32 0, i32 5 + %arrayidx36 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc35, i64 0, i64 13 + store i8 15, i8* %arrayidx36, align 1 + %38 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc37 = getelementptr inbounds %struct.termios, %struct.termios* %38, i32 0, i32 5 + %arrayidx38 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc37, i64 0, i64 14 + store i8 23, i8* %arrayidx38, align 1 + %39 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc39 = getelementptr inbounds %struct.termios, %struct.termios* %39, i32 0, i32 5 + %arrayidx40 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc39, i64 0, i64 15 + store i8 22, i8* %arrayidx40, align 1 + %40 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc41 = getelementptr inbounds %struct.termios, %struct.termios* %40, i32 0, i32 5 + %arrayidx42 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc41, i64 0, i64 16 + store i8 -1, i8* %arrayidx42, align 1 + %41 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc43 = getelementptr inbounds %struct.termios, %struct.termios* %41, i32 0, i32 5 + %arrayidx44 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc43, i64 0, i64 17 + store i8 0, i8* %arrayidx44, align 1 + %42 = load %struct.termios*, %struct.termios** %ts, align 8 + %c_cc45 = getelementptr inbounds %struct.termios, %struct.termios* %42, i32 0, i32 5 + %arrayidx46 = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc45, i64 0, i64 18 + store i8 0, i8* %arrayidx46, align 1 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %sw.bb + %call47 = call i32* @__errno_location() #25 + store i32 25, i32* %call47, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb48: ; preds = %NodeBlock11 + call void @gs_warning_once(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.15, i64 0, i64 0)) + %43 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode49 = getelementptr inbounds %struct.stat64, %struct.stat64* %43, i32 0, i32 3 + %44 = load i32, i32* %st_mode49, align 8 + %and50 = and i32 %44, 61440 + %cmp51 = icmp eq i32 %and50, 8192 + br i1 %cmp51, label %if.then52, label %if.else53 + +if.then52: ; preds = %sw.bb48 + store i32 0, i32* %retval, align 4 + br label %return + +if.else53: ; preds = %sw.bb48 + %call54 = call i32* @__errno_location() #25 + store i32 25, i32* %call54, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb55: ; preds = %NodeBlock9 + call void @gs_warning_once(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.16, i64 0, i64 0)) + %45 = load i32, i32* %fd.addr, align 4 + %cmp56 = icmp eq i32 %45, 0 + br i1 %cmp56, label %if.then57, label %if.else58 + +if.then57: ; preds = %sw.bb55 + store i32 0, i32* %retval, align 4 + br label %return + +if.else58: ; preds = %sw.bb55 + %call59 = call i32* @__errno_location() #25 + store i32 25, i32* %call59, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb60: ; preds = %NodeBlock7 + call void @gs_warning_once(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.17, i64 0, i64 0)) + %46 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode61 = getelementptr inbounds %struct.stat64, %struct.stat64* %46, i32 0, i32 3 + %47 = load i32, i32* %st_mode61, align 8 + %and62 = and i32 %47, 61440 + %cmp63 = icmp eq i32 %and62, 8192 + br i1 %cmp63, label %if.then64, label %if.else65 + +if.then64: ; preds = %sw.bb60 + store i32 0, i32* %retval, align 4 + br label %return + +if.else65: ; preds = %sw.bb60 + %call66 = call i32* @__errno_location() #25 + store i32 25, i32* %call66, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb67: ; preds = %NodeBlock5 + %48 = load i8*, i8** %buf, align 8 + %49 = bitcast i8* %48 to %struct.winsize* + store %struct.winsize* %49, %struct.winsize** %ws, align 8 + %50 = load %struct.winsize*, %struct.winsize** %ws, align 8 + %ws_row = getelementptr inbounds %struct.winsize, %struct.winsize* %50, i32 0, i32 0 + store i16 24, i16* %ws_row, align 2 + %51 = load %struct.winsize*, %struct.winsize** %ws, align 8 + %ws_col = getelementptr inbounds %struct.winsize, %struct.winsize* %51, i32 0, i32 1 + store i16 80, i16* %ws_col, align 2 + call void @gs_warning_once(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.18, i64 0, i64 0)) + %52 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode68 = getelementptr inbounds %struct.stat64, %struct.stat64* %52, i32 0, i32 3 + %53 = load i32, i32* %st_mode68, align 8 + %and69 = and i32 %53, 61440 + %cmp70 = icmp eq i32 %and69, 8192 + br i1 %cmp70, label %if.then71, label %if.else72 + +if.then71: ; preds = %sw.bb67 + store i32 0, i32* %retval, align 4 + br label %return + +if.else72: ; preds = %sw.bb67 + %call73 = call i32* @__errno_location() #25 + store i32 25, i32* %call73, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb74: ; preds = %NodeBlock3 + call void @gs_warning_once(i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.19, i64 0, i64 0)) + %54 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode75 = getelementptr inbounds %struct.stat64, %struct.stat64* %54, i32 0, i32 3 + %55 = load i32, i32* %st_mode75, align 8 + %and76 = and i32 %55, 61440 + %cmp77 = icmp eq i32 %and76, 8192 + %call79 = call i32* @__errno_location() #25 + br i1 %cmp77, label %if.then78, label %if.else80 + +if.then78: ; preds = %sw.bb74 + store i32 22, i32* %call79, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else80: ; preds = %sw.bb74 + store i32 25, i32* %call79, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb82: ; preds = %NodeBlock1 + %56 = load i8*, i8** %buf, align 8 + %57 = bitcast i8* %56 to i32* + store i32* %57, i32** %res, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.20, i64 0, i64 0)) + %58 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode83 = getelementptr inbounds %struct.stat64, %struct.stat64* %58, i32 0, i32 3 + %59 = load i32, i32* %st_mode83, align 8 + %and84 = and i32 %59, 61440 + %cmp85 = icmp eq i32 %and84, 8192 + br i1 %cmp85, label %if.then86, label %if.else98 + +if.then86: ; preds = %sw.bb82 + %60 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %60, i32 0, i32 2 + %61 = load i64, i64* %off, align 8 + %62 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile87 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %62, i32 0, i32 3 + %63 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile87, align 8 + %size = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %63, i32 0, i32 0 + %64 = load i32, i32* %size, align 8 + %conv = zext i32 %64 to i64 + %cmp88 = icmp slt i64 %61, %conv + br i1 %cmp88, label %if.then90, label %if.else96 + +if.then90: ; preds = %if.then86 + %65 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile91 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %65, i32 0, i32 3 + %66 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile91, align 8 + %size92 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %66, i32 0, i32 0 + %67 = load i32, i32* %size92, align 8 + %conv93 = zext i32 %67 to i64 + %68 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %off94 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %68, i32 0, i32 2 + %69 = load i64, i64* %off94, align 8 + %sub = sub nsw i64 %conv93, %69 + %conv95 = trunc i64 %sub to i32 + %70 = load i32*, i32** %res, align 8 + store i32 %conv95, i32* %70, align 4 + br label %if.end97 + +if.else96: ; preds = %if.then86 + %71 = load i32*, i32** %res, align 8 + store i32 0, i32* %71, align 4 + br label %if.end97 + +if.end97: ; preds = %if.else96, %if.then90 + store i32 0, i32* %retval, align 4 + br label %return + +if.else98: ; preds = %sw.bb82 + %call99 = call i32* @__errno_location() #25 + store i32 25, i32* %call99, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +sw.bb100: ; preds = %NodeBlock + call void @gs_warning(i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.21, i64 0, i64 0)) + %call101 = call i32* @__errno_location() #25 + store i32 22, i32* %call101, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0)) + %call102 = call i32* @__errno_location() #25 + store i32 22, i32* %call102, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end103: ; preds = %vaarg.end + %fd104 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %10, i32 0, i32 0 + %72 = load i32, i32* %fd104, align 8 + %73 = load i64, i64* %request.addr, align 8 + %74 = load i8*, i8** %buf, align 8 + %call105 = call i64 (i64, ...) @syscall(i64 16, i32 %72, i64 %73, i8* %74) #11 + %conv106 = trunc i64 %call105 to i32 + store i32 %conv106, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end103, %sw.default, %sw.bb100, %if.else98, %if.end97, %if.else80, %if.then78, %if.else72, %if.then71, %if.else65, %if.then64, %if.else58, %if.then57, %if.else53, %if.then52, %if.else, %if.then10, %if.then + %75 = load i32, i32* %retval, align 4 + ret i32 %75 +} + +; Function Attrs: nounwind +declare void @llvm.va_start(i8*) #11 + +; Function Attrs: nounwind +declare void @llvm.va_end(i8*) #11 + +declare dso_local void @gs_warning_once(i8*) #5 + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fcntl(i32 %fd, i32 %cmd, ...) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %cmd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + %arg = alloca i32, align 4 + %lock = alloca %struct.flock*, align 8 + %flags = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i32 %cmd, i32* %cmd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i32, i32* %cmd.addr, align 4 + %cmp = icmp eq i32 %2, 1 + %3 = load i32, i32* %cmd.addr, align 4 + %cmp2 = icmp eq i32 %3, 3 + %or.cond = or i1 %cmp, %cmp2 + %4 = load i32, i32* %cmd.addr, align 4 + %cmp4 = icmp eq i32 %4, 9 + %or.cond1 = or i1 %or.cond, %cmp4 + %5 = load i32, i32* %cmd.addr, align 4 + %cmp6 = icmp eq i32 %5, 11 + %or.cond2 = or i1 %or.cond1, %cmp6 + %6 = load i32, i32* %cmd.addr, align 4 + %cmp8 = icmp eq i32 %6, 1025 + %or.cond3 = or i1 %or.cond2, %cmp8 + %7 = load i32, i32* %cmd.addr, align 4 + %cmp10 = icmp eq i32 %7, 1026 + %or.cond4 = or i1 %or.cond3, %cmp10 + br i1 %or.cond4, label %if.then11, label %if.else + +if.then11: ; preds = %if.end + store i32 0, i32* %arg, align 4 + br label %if.end40 + +if.else: ; preds = %if.end + %8 = load i32, i32* %cmd.addr, align 4 + %cmp12 = icmp eq i32 %8, 5 + %9 = load i32, i32* %cmd.addr, align 4 + %cmp14 = icmp eq i32 %9, 6 + %or.cond5 = or i1 %cmp12, %cmp14 + %10 = load i32, i32* %cmd.addr, align 4 + %cmp16 = icmp eq i32 %10, 7 + %or.cond6 = or i1 %or.cond5, %cmp16 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay18 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay18) + %arraydecay19 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %or.cond6, label %if.then17, label %if.else22 + +if.then17: ; preds = %if.else + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then17 + %11 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 3 + %reg_save_area = load i8*, i8** %11, align 16 + %12 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %13 = bitcast i8* %12 to %struct.flock** + %14 = add i32 %gp_offset, 8 + store i32 %14, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then17 + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %15 = bitcast i8* %overflow_arg_area to %struct.flock** + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi %struct.flock** [ %13, %vaarg.in_reg ], [ %15, %vaarg.in_mem ] + %16 = load %struct.flock*, %struct.flock** %vaarg.addr, align 8 + store %struct.flock* %16, %struct.flock** %lock, align 8 + %arraydecay20 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay2021 = bitcast %struct.__va_list_tag.0* %arraydecay20 to i8* + call void @llvm.va_end(i8* %arraydecay2021) + br label %if.end40 + +if.else22: ; preds = %if.else + br i1 %fits_in_gp, label %vaarg.in_reg29, label %vaarg.in_mem31 + +vaarg.in_reg29: ; preds = %if.else22 + %17 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 3 + %reg_save_area30 = load i8*, i8** %17, align 16 + %18 = getelementptr i8, i8* %reg_save_area30, i32 %gp_offset + %19 = bitcast i8* %18 to i32* + %20 = add i32 %gp_offset, 8 + store i32 %20, i32* %gp_offset_p, align 16 + br label %vaarg.end35 + +vaarg.in_mem31: ; preds = %if.else22 + %overflow_arg_area_p32 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay19, i32 0, i32 2 + %overflow_arg_area33 = load i8*, i8** %overflow_arg_area_p32, align 8 + %21 = bitcast i8* %overflow_arg_area33 to i32* + %overflow_arg_area.next34 = getelementptr i8, i8* %overflow_arg_area33, i32 8 + store i8* %overflow_arg_area.next34, i8** %overflow_arg_area_p32, align 8 + br label %vaarg.end35 + +vaarg.end35: ; preds = %vaarg.in_mem31, %vaarg.in_reg29 + %vaarg.addr36 = phi i32* [ %19, %vaarg.in_reg29 ], [ %21, %vaarg.in_mem31 ] + %22 = load i32, i32* %vaarg.addr36, align 4 + store i32 %22, i32* %arg, align 4 + %arraydecay37 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay3738 = bitcast %struct.__va_list_tag.0* %arraydecay37 to i8* + call void @llvm.va_end(i8* %arraydecay3738) + br label %if.end40 + +if.end40: ; preds = %vaarg.end, %vaarg.end35, %if.then11 + %23 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %23, i32 0, i32 3 + %24 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool41 = icmp ne %struct.exe_disk_file_t* %24, null + br i1 %tobool41, label %if.then42, label %if.end60 + +if.then42: ; preds = %if.end40 + %25 = load i32, i32* %cmd.addr, align 4 + br label %NodeBlock13 + +NodeBlock13: ; preds = %if.then42 + %case.cmp14 = icmp eq i32 %25, 1 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %25, 2 + br i1 %case.cmp12, label %sw.bb47, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %25, 3 + br i1 %case.cmp10, label %sw.bb56, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %25, 5 + br i1 %case.cmp8, label %sw.bb57, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock7 + %case.cmp = icmp eq i32 %25, 6 + br i1 %case.cmp, label %sw.bb58, label %newDefault + +sw.bb: ; preds = %NodeBlock13 + store i32 0, i32* %flags, align 4 + %26 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags43 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %26, i32 0, i32 1 + %27 = load i32, i32* %flags43, align 4 + %and = and i32 %27, 2 + %tobool44 = icmp ne i32 %and, 0 + br i1 %tobool44, label %if.then45, label %if.end46 + +if.then45: ; preds = %sw.bb + %28 = load i32, i32* %flags, align 4 + %or = or i32 %28, 1 + store i32 %or, i32* %flags, align 4 + br label %if.end46 + +if.end46: ; preds = %if.then45, %sw.bb + %29 = load i32, i32* %flags, align 4 + store i32 %29, i32* %retval, align 4 + br label %return + +sw.bb47: ; preds = %NodeBlock11 + %30 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags48 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %30, i32 0, i32 1 + %31 = load i32, i32* %flags48, align 4 + %and49 = and i32 %31, -3 + store i32 %and49, i32* %flags48, align 4 + %32 = load i32, i32* %arg, align 4 + %and50 = and i32 %32, 1 + %tobool51 = icmp ne i32 %and50, 0 + br i1 %tobool51, label %if.then52, label %if.end55 + +if.then52: ; preds = %sw.bb47 + %33 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %flags53 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %33, i32 0, i32 1 + %34 = load i32, i32* %flags53, align 4 + %or54 = or i32 %34, 2 + store i32 %or54, i32* %flags53, align 4 + br label %if.end55 + +if.end55: ; preds = %if.then52, %sw.bb47 + store i32 0, i32* %retval, align 4 + br label %return + +sw.bb56: ; preds = %NodeBlock9 + store i32 0, i32* %retval, align 4 + br label %return + +sw.bb57: ; preds = %NodeBlock7 + %35 = load %struct.flock*, %struct.flock** %lock, align 8 + %l_type = getelementptr inbounds %struct.flock, %struct.flock* %35, i32 0, i32 0 + store i16 2, i16* %l_type, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +sw.bb58: ; preds = %NodeBlock + store i32 0, i32* %retval, align 4 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.11, i64 0, i64 0)) + %call59 = call i32* @__errno_location() #25 + store i32 22, i32* %call59, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end60: ; preds = %if.end40 + %36 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd61 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %36, i32 0, i32 0 + %37 = load i32, i32* %fd61, align 8 + %38 = load i32, i32* %cmd.addr, align 4 + %39 = load i32, i32* %arg, align 4 + %call62 = call i64 (i64, ...) @syscall(i64 72, i32 %37, i32 %38, i32 %39) #11 + %conv = trunc i64 %call62 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end60, %sw.default, %sw.bb58, %sw.bb57, %sw.bb56, %if.end55, %if.end46, %if.then + %40 = load i32, i32* %retval, align 4 + ret i32 %40 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fd_statfs(i8* %path, %struct.statfs* %buf) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.statfs*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.statfs* %buf, %struct.statfs** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([33 x i8], [33 x i8]* @.str.9, i64 0, i64 0)) + %call1 = call i32* @__errno_location() #25 + store i32 2, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %path.addr, align 8 + %call2 = call i8* @__concretize_string(i8* %2) + %3 = load %struct.statfs*, %struct.statfs** %buf.addr, align 8 + %call3 = call i64 (i64, ...) @syscall(i64 137, i8* %call2, %struct.statfs* %3) #11 + %conv = trunc i64 %call3 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstatfs(i32 %fd, %struct.statfs* nonnull %buf) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.statfs*, align 8 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.statfs* %buf, %struct.statfs** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end5 + +if.then3: ; preds = %if.end + call void @gs_warning(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.22, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 9, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end5: ; preds = %if.end + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd6, align 8 + %6 = load %struct.statfs*, %struct.statfs** %buf.addr, align 8 + %call7 = call i64 (i64, ...) @syscall(i64 138, i32 %5, %struct.statfs* %6) #11 + %conv = trunc i64 %call7 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %7 = load i32, i32* %retval, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fsync(i32 %fd) #3 { +entry: + %retval = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %2 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %2, i32 0, i32 3 + %3 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %3, null + br i1 %tobool2, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.else + store i32 0, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %if.else + %4 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd5 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %4, i32 0, i32 0 + %5 = load i32, i32* %fd5, align 8 + %call6 = call i64 (i64, ...) @syscall(i64 74, i32 %5) #11 + %conv = trunc i64 %call6 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @dup2(i32 %oldfd, i32 %newfd) #3 { +entry: + %retval = alloca i32, align 4 + %oldfd.addr = alloca i32, align 4 + %newfd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %f2 = alloca %struct.exe_file_t*, align 8 + store i32 %oldfd, i32* %oldfd.addr, align 4 + store i32 %newfd, i32* %newfd.addr, align 4 + %0 = load i32, i32* %oldfd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + %2 = load i32, i32* %newfd.addr, align 4 + %cmp = icmp sge i32 %2, 0 + %or.cond = and i1 %tobool, %cmp + %3 = load i32, i32* %newfd.addr, align 4 + %cmp1 = icmp slt i32 %3, 32 + %or.cond1 = and i1 %or.cond, %cmp1 + br i1 %or.cond1, label %if.else, label %if.then + +if.then: ; preds = %entry + %call2 = call i32* @__errno_location() #25 + store i32 9, i32* %call2, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %4 = load i32, i32* %newfd.addr, align 4 + %idxprom = sext i32 %4 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + store %struct.exe_file_t* %arrayidx, %struct.exe_file_t** %f2, align 8 + %5 = load %struct.exe_file_t*, %struct.exe_file_t** %f2, align 8 + %flags = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %5, i32 0, i32 1 + %6 = load i32, i32* %flags, align 4 + %and = and i32 %6, 1 + %tobool3 = icmp ne i32 %and, 0 + br i1 %tobool3, label %if.then4, label %if.end + +if.then4: ; preds = %if.else + %7 = load i32, i32* %newfd.addr, align 4 + %call5 = call i32 @close(i32 %7) + br label %if.end + +if.end: ; preds = %if.then4, %if.else + %8 = load %struct.exe_file_t*, %struct.exe_file_t** %f2, align 8 + %9 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %10 = bitcast %struct.exe_file_t* %8 to i8* + %11 = bitcast %struct.exe_file_t* %9 to i8* + %12 = call i8* @memcpy(i8* %10, i8* %11, i64 24) + %13 = load %struct.exe_file_t*, %struct.exe_file_t** %f2, align 8 + %flags6 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %13, i32 0, i32 1 + %14 = load i32, i32* %flags6, align 4 + %and7 = and i32 %14, -3 + store i32 %and7, i32* %flags6, align 4 + %15 = load i32, i32* %newfd.addr, align 4 + store i32 %15, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %16 = load i32, i32* %retval, align 4 + ret i32 %16 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @dup(i32 %oldfd) #3 { +entry: + %retval = alloca i32, align 4 + %oldfd.addr = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %fd = alloca i32, align 4 + store i32 %oldfd, i32* %oldfd.addr, align 4 + %0 = load i32, i32* %oldfd.addr, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %0) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %1 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool = icmp ne %struct.exe_file_t* %1, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %call1 = call i32* @__errno_location() #25 + store i32 9, i32* %call1, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + store i32 0, i32* %fd, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.else + %2 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %2, 32 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %3 = load i32, i32* %fd, align 4 + %idxprom = sext i32 %3 to i64 + %arrayidx = getelementptr inbounds [32 x %struct.exe_file_t], [32 x %struct.exe_file_t]* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0), i64 0, i64 %idxprom + %flags = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %arrayidx, i32 0, i32 1 + %4 = load i32, i32* %flags, align 4 + %and = and i32 %4, 1 + %tobool2 = icmp ne i32 %and, 0 + br i1 %tobool2, label %for.inc, label %for.end + +for.inc: ; preds = %for.body + %5 = load i32, i32* %fd, align 4 + %inc = add nsw i32 %5, 1 + store i32 %inc, i32* %fd, align 4 + br label %for.cond + +for.end: ; preds = %for.body, %for.cond + %6 = load i32, i32* %fd, align 4 + %cmp4 = icmp eq i32 %6, 32 + br i1 %cmp4, label %if.then5, label %if.else7 + +if.then5: ; preds = %for.end + %call6 = call i32* @__errno_location() #25 + store i32 24, i32* %call6, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else7: ; preds = %for.end + %7 = load i32, i32* %oldfd.addr, align 4 + %8 = load i32, i32* %fd, align 4 + %call8 = call i32 @dup2(i32 %7, i32 %8) #11 + store i32 %call8, i32* %retval, align 4 + br label %return + +return: ; preds = %if.else7, %if.then5, %if.then + %9 = load i32, i32* %retval, align 4 + ret i32 %9 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rmdir(i8* nonnull %pathname) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 16384 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %5, i32 0, i32 2 + %6 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 1 + store i64 0, i64* %st_ino, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %call3 = call i32* @__errno_location() #25 + store i32 20, i32* %call3, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0)) + %call4 = call i32* @__errno_location() #25 + store i32 1, i32* %call4, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.else, %if.then1 + %7 = load i32, i32* %retval, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @unlink(i8* nonnull %pathname) #3 { +entry: + %retval = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 32768 + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %5, i32 0, i32 2 + %6 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 1 + store i64 0, i64* %st_ino, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %st_mode4 = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 3 + %7 = load i32, i32* %st_mode4, align 8 + %and5 = and i32 %7, 61440 + %cmp6 = icmp eq i32 %and5, 16384 + %call8 = call i32* @__errno_location() #25 + br i1 %cmp6, label %if.then7, label %if.else9 + +if.then7: ; preds = %if.else + store i32 21, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else9: ; preds = %if.else + store i32 1, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0)) + %call11 = call i32* @__errno_location() #25 + store i32 1, i32* %call11, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.else9, %if.then7, %if.then1 + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @unlinkat(i32 %dirfd, i8* nonnull %pathname, i32 %flags) #3 { +entry: + %retval = alloca i32, align 4 + %dirfd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i32 %dirfd, i32* %dirfd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 32768 + %5 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat2 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %5, i32 0, i32 2 + %6 = load %struct.stat64*, %struct.stat64** %stat2, align 8 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 1 + store i64 0, i64* %st_ino, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.then + %st_mode4 = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 3 + %7 = load i32, i32* %st_mode4, align 8 + %and5 = and i32 %7, 61440 + %cmp6 = icmp eq i32 %and5, 16384 + %call8 = call i32* @__errno_location() #25 + br i1 %cmp6, label %if.then7, label %if.else9 + +if.then7: ; preds = %if.else + store i32 21, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else9: ; preds = %if.else + store i32 1, i32* %call8, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + call void @gs_warning(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0)) + %call11 = call i32* @__errno_location() #25 + store i32 1, i32* %call11, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.else9, %if.then7, %if.then1 + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @readlink(i8* nonnull %path, i8* nonnull %buf, i64 %bufsize) #3 { +entry: + %retval = alloca i64, align 8 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %dfile = alloca %struct.exe_disk_file_t*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call %struct.exe_disk_file_t* @__get_sym_file(i8* %0) + store %struct.exe_disk_file_t* %call, %struct.exe_disk_file_t** %dfile, align 8 + %1 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool = icmp ne %struct.exe_disk_file_t* %1, null + br i1 %tobool, label %if.then, label %if.end20 + +if.then: ; preds = %entry + %2 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %2, i32 0, i32 2 + %3 = load %struct.stat64*, %struct.stat64** %stat, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 3 + %4 = load i32, i32* %st_mode, align 8 + %and = and i32 %4, 61440 + %cmp = icmp eq i32 %and, 40960 + br i1 %cmp, label %if.then1, label %if.else + +if.then1: ; preds = %if.then + %5 = load i8*, i8** %path.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 0 + %6 = load i8, i8* %arrayidx, align 1 + %7 = load i8*, i8** %buf.addr, align 8 + %arrayidx2 = getelementptr inbounds i8, i8* %7, i64 0 + store i8 %6, i8* %arrayidx2, align 1 + %8 = load i64, i64* %bufsize.addr, align 8 + %cmp3 = icmp ugt i64 %8, 1 + br i1 %cmp3, label %if.then4, label %if.end + +if.then4: ; preds = %if.then1 + %9 = load i8*, i8** %buf.addr, align 8 + %arrayidx5 = getelementptr inbounds i8, i8* %9, i64 1 + store i8 46, i8* %arrayidx5, align 1 + br label %if.end + +if.end: ; preds = %if.then4, %if.then1 + %10 = load i64, i64* %bufsize.addr, align 8 + %cmp6 = icmp ugt i64 %10, 2 + br i1 %cmp6, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end + %11 = load i8*, i8** %buf.addr, align 8 + %arrayidx8 = getelementptr inbounds i8, i8* %11, i64 2 + store i8 108, i8* %arrayidx8, align 1 + br label %if.end9 + +if.end9: ; preds = %if.then7, %if.end + %12 = load i64, i64* %bufsize.addr, align 8 + %cmp10 = icmp ugt i64 %12, 3 + br i1 %cmp10, label %if.then11, label %if.end13 + +if.then11: ; preds = %if.end9 + %13 = load i8*, i8** %buf.addr, align 8 + %arrayidx12 = getelementptr inbounds i8, i8* %13, i64 3 + store i8 110, i8* %arrayidx12, align 1 + br label %if.end13 + +if.end13: ; preds = %if.then11, %if.end9 + %14 = load i64, i64* %bufsize.addr, align 8 + %cmp14 = icmp ugt i64 %14, 4 + br i1 %cmp14, label %if.then15, label %if.end17 + +if.then15: ; preds = %if.end13 + %15 = load i8*, i8** %buf.addr, align 8 + %arrayidx16 = getelementptr inbounds i8, i8* %15, i64 4 + store i8 107, i8* %arrayidx16, align 1 + br label %if.end17 + +if.end17: ; preds = %if.then15, %if.end13 + %16 = load i64, i64* %bufsize.addr, align 8 + %cmp18 = icmp ugt i64 %16, 5 + %17 = load i64, i64* %bufsize.addr, align 8 + %cond = select i1 %cmp18, i64 5, i64 %17 + store i64 %cond, i64* %retval, align 8 + br label %return + +if.else: ; preds = %if.then + %call19 = call i32* @__errno_location() #25 + store i32 22, i32* %call19, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end20: ; preds = %entry + %18 = load i8*, i8** %path.addr, align 8 + %19 = load i8*, i8** %buf.addr, align 8 + %20 = load i64, i64* %bufsize.addr, align 8 + %call21 = call i64 (i64, ...) @syscall(i64 89, i8* %18, i8* %19, i64 %20) #11 + store i64 %call21, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end20, %if.else, %if.end17 + %21 = load i64, i64* %retval, align 8 + ret i64 %21 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @select(i32 %nfds, %struct.fd_set* %read, %struct.fd_set* %write, %struct.fd_set* %except, %struct.timespec* %timeout) #3 { +entry: + %retval = alloca i32, align 4 + %nfds.addr = alloca i32, align 4 + %read.addr = alloca %struct.fd_set*, align 8 + %write.addr = alloca %struct.fd_set*, align 8 + %except.addr = alloca %struct.fd_set*, align 8 + %timeout.addr = alloca %struct.timespec*, align 8 + %in_read = alloca %struct.fd_set, align 8 + %in_write = alloca %struct.fd_set, align 8 + %in_except = alloca %struct.fd_set, align 8 + %os_read = alloca %struct.fd_set, align 8 + %os_write = alloca %struct.fd_set, align 8 + %os_except = alloca %struct.fd_set, align 8 + %i = alloca i32, align 4 + %count = alloca i32, align 4 + %os_nfds = alloca i32, align 4 + %f = alloca %struct.exe_file_t*, align 8 + %tv = alloca %struct.timespec, align 8 + %r = alloca i32, align 4 + %f182 = alloca %struct.exe_file_t*, align 8 + store i32 %nfds, i32* %nfds.addr, align 4 + store %struct.fd_set* %read, %struct.fd_set** %read.addr, align 8 + store %struct.fd_set* %write, %struct.fd_set** %write.addr, align 8 + store %struct.fd_set* %except, %struct.fd_set** %except.addr, align 8 + store %struct.timespec* %timeout, %struct.timespec** %timeout.addr, align 8 + store i32 0, i32* %count, align 4 + store i32 0, i32* %os_nfds, align 4 + %0 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %tobool = icmp ne %struct.fd_set* %0, null + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %entry + %1 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %2 = bitcast %struct.fd_set* %in_read to i8* + %3 = bitcast %struct.fd_set* %1 to i8* + %4 = call i8* @memcpy(i8* %2, i8* %3, i64 128) + %5 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %6 = bitcast %struct.fd_set* %5 to i8* + %7 = call i8* @memset(i8* %6, i32 0, i64 128) + br label %if.end + +if.else: ; preds = %entry + %8 = bitcast %struct.fd_set* %in_read to i8* + %9 = call i8* @memset(i8* %8, i32 0, i64 128) + br label %if.end + +if.end: ; preds = %if.else, %if.then + %10 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %tobool1 = icmp ne %struct.fd_set* %10, null + br i1 %tobool1, label %if.then2, label %if.else3 + +if.then2: ; preds = %if.end + %11 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %12 = bitcast %struct.fd_set* %in_write to i8* + %13 = bitcast %struct.fd_set* %11 to i8* + %14 = call i8* @memcpy(i8* %12, i8* %13, i64 128) + %15 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %16 = bitcast %struct.fd_set* %15 to i8* + %17 = call i8* @memset(i8* %16, i32 0, i64 128) + br label %if.end4 + +if.else3: ; preds = %if.end + %18 = bitcast %struct.fd_set* %in_write to i8* + %19 = call i8* @memset(i8* %18, i32 0, i64 128) + br label %if.end4 + +if.end4: ; preds = %if.else3, %if.then2 + %20 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %tobool5 = icmp ne %struct.fd_set* %20, null + br i1 %tobool5, label %if.then6, label %if.else7 + +if.then6: ; preds = %if.end4 + %21 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %22 = bitcast %struct.fd_set* %in_except to i8* + %23 = bitcast %struct.fd_set* %21 to i8* + %24 = call i8* @memcpy(i8* %22, i8* %23, i64 128) + %25 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %26 = bitcast %struct.fd_set* %25 to i8* + %27 = call i8* @memset(i8* %26, i32 0, i64 128) + br label %if.end8 + +if.else7: ; preds = %if.end4 + %28 = bitcast %struct.fd_set* %in_except to i8* + %29 = call i8* @memset(i8* %28, i32 0, i64 128) + br label %if.end8 + +if.end8: ; preds = %if.else7, %if.then6 + %30 = bitcast %struct.fd_set* %os_read to i8* + %31 = call i8* @memset(i8* %30, i32 0, i64 128) + %32 = bitcast %struct.fd_set* %os_write to i8* + %33 = call i8* @memset(i8* %32, i32 0, i64 128) + %34 = bitcast %struct.fd_set* %os_except to i8* + %35 = call i8* @memset(i8* %34, i32 0, i64 128) + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.end8 + %36 = load i32, i32* %i, align 4 + %37 = load i32, i32* %nfds.addr, align 4 + %cmp = icmp slt i32 %36, %37 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %fds_bits = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_read, i32 0, i32 0 + %38 = load i32, i32* %i, align 4 + %div = sdiv i32 %38, 64 + %idxprom = sext i32 %div to i64 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits, i64 0, i64 %idxprom + %39 = load i64, i64* %arrayidx, align 8 + %40 = load i32, i32* %i, align 4 + %rem = srem i32 %40, 64 + %shl = shl i32 1, %rem + %conv = sext i32 %shl to i64 + %and = and i64 %39, %conv + %tobool9 = icmp ne i64 %and, 0 + br i1 %tobool9, label %if.then29, label %lor.lhs.false + +lor.lhs.false: ; preds = %for.body + %fds_bits10 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_write, i32 0, i32 0 + %41 = load i32, i32* %i, align 4 + %div11 = sdiv i32 %41, 64 + %idxprom12 = sext i32 %div11 to i64 + %arrayidx13 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits10, i64 0, i64 %idxprom12 + %42 = load i64, i64* %arrayidx13, align 8 + %43 = load i32, i32* %i, align 4 + %rem14 = srem i32 %43, 64 + %shl15 = shl i32 1, %rem14 + %conv16 = sext i32 %shl15 to i64 + %and17 = and i64 %42, %conv16 + %tobool18 = icmp ne i64 %and17, 0 + br i1 %tobool18, label %if.then29, label %lor.lhs.false19 + +lor.lhs.false19: ; preds = %lor.lhs.false + %fds_bits20 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_except, i32 0, i32 0 + %44 = load i32, i32* %i, align 4 + %div21 = sdiv i32 %44, 64 + %idxprom22 = sext i32 %div21 to i64 + %arrayidx23 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits20, i64 0, i64 %idxprom22 + %45 = load i64, i64* %arrayidx23, align 8 + %46 = load i32, i32* %i, align 4 + %rem24 = srem i32 %46, 64 + %shl25 = shl i32 1, %rem24 + %conv26 = sext i32 %shl25 to i64 + %and27 = and i64 %45, %conv26 + %tobool28 = icmp ne i64 %and27, 0 + br i1 %tobool28, label %if.then29, label %for.inc + +if.then29: ; preds = %lor.lhs.false19, %lor.lhs.false, %for.body + %47 = load i32, i32* %i, align 4 + %call = call %struct.exe_file_t* @__get_file(i32 %47) + store %struct.exe_file_t* %call, %struct.exe_file_t** %f, align 8 + %48 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %tobool30 = icmp ne %struct.exe_file_t* %48, null + br i1 %tobool30, label %if.else33, label %if.then31 + +if.then31: ; preds = %if.then29 + %call32 = call i32* @__errno_location() #25 + store i32 9, i32* %call32, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else33: ; preds = %if.then29 + %49 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %dfile = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %49, i32 0, i32 3 + %50 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile, align 8 + %tobool34 = icmp ne %struct.exe_disk_file_t* %50, null + %fds_bits36 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_read, i32 0, i32 0 + %51 = load i32, i32* %i, align 4 + %div37 = sdiv i32 %51, 64 + %idxprom38 = sext i32 %div37 to i64 + %arrayidx39 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits36, i64 0, i64 %idxprom38 + %52 = load i64, i64* %arrayidx39, align 8 + %53 = load i32, i32* %i, align 4 + %rem40 = srem i32 %53, 64 + %shl41 = shl i32 1, %rem40 + %conv42 = sext i32 %shl41 to i64 + %and43 = and i64 %52, %conv42 + %tobool44 = icmp ne i64 %and43, 0 + br i1 %tobool34, label %if.then35, label %if.else92 + +if.then35: ; preds = %if.else33 + br i1 %tobool44, label %if.then45, label %if.end53 + +if.then45: ; preds = %if.then35 + %54 = load i32, i32* %i, align 4 + %rem46 = srem i32 %54, 64 + %shl47 = shl i32 1, %rem46 + %conv48 = sext i32 %shl47 to i64 + %55 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %fds_bits49 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %55, i32 0, i32 0 + %56 = load i32, i32* %i, align 4 + %div50 = sdiv i32 %56, 64 + %idxprom51 = sext i32 %div50 to i64 + %arrayidx52 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits49, i64 0, i64 %idxprom51 + %57 = load i64, i64* %arrayidx52, align 8 + %or = or i64 %57, %conv48 + store i64 %or, i64* %arrayidx52, align 8 + br label %if.end53 + +if.end53: ; preds = %if.then45, %if.then35 + %fds_bits54 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_write, i32 0, i32 0 + %58 = load i32, i32* %i, align 4 + %div55 = sdiv i32 %58, 64 + %idxprom56 = sext i32 %div55 to i64 + %arrayidx57 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits54, i64 0, i64 %idxprom56 + %59 = load i64, i64* %arrayidx57, align 8 + %60 = load i32, i32* %i, align 4 + %rem58 = srem i32 %60, 64 + %shl59 = shl i32 1, %rem58 + %conv60 = sext i32 %shl59 to i64 + %and61 = and i64 %59, %conv60 + %tobool62 = icmp ne i64 %and61, 0 + br i1 %tobool62, label %if.then63, label %if.end72 + +if.then63: ; preds = %if.end53 + %61 = load i32, i32* %i, align 4 + %rem64 = srem i32 %61, 64 + %shl65 = shl i32 1, %rem64 + %conv66 = sext i32 %shl65 to i64 + %62 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %fds_bits67 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %62, i32 0, i32 0 + %63 = load i32, i32* %i, align 4 + %div68 = sdiv i32 %63, 64 + %idxprom69 = sext i32 %div68 to i64 + %arrayidx70 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits67, i64 0, i64 %idxprom69 + %64 = load i64, i64* %arrayidx70, align 8 + %or71 = or i64 %64, %conv66 + store i64 %or71, i64* %arrayidx70, align 8 + br label %if.end72 + +if.end72: ; preds = %if.then63, %if.end53 + %fds_bits73 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_except, i32 0, i32 0 + %65 = load i32, i32* %i, align 4 + %div74 = sdiv i32 %65, 64 + %idxprom75 = sext i32 %div74 to i64 + %arrayidx76 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits73, i64 0, i64 %idxprom75 + %66 = load i64, i64* %arrayidx76, align 8 + %67 = load i32, i32* %i, align 4 + %rem77 = srem i32 %67, 64 + %shl78 = shl i32 1, %rem77 + %conv79 = sext i32 %shl78 to i64 + %and80 = and i64 %66, %conv79 + %tobool81 = icmp ne i64 %and80, 0 + br i1 %tobool81, label %if.then82, label %if.end91 + +if.then82: ; preds = %if.end72 + %68 = load i32, i32* %i, align 4 + %rem83 = srem i32 %68, 64 + %shl84 = shl i32 1, %rem83 + %conv85 = sext i32 %shl84 to i64 + %69 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %fds_bits86 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %69, i32 0, i32 0 + %70 = load i32, i32* %i, align 4 + %div87 = sdiv i32 %70, 64 + %idxprom88 = sext i32 %div87 to i64 + %arrayidx89 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits86, i64 0, i64 %idxprom88 + %71 = load i64, i64* %arrayidx89, align 8 + %or90 = or i64 %71, %conv85 + store i64 %or90, i64* %arrayidx89, align 8 + br label %if.end91 + +if.end91: ; preds = %if.then82, %if.end72 + %72 = load i32, i32* %count, align 4 + %inc = add nsw i32 %72, 1 + store i32 %inc, i32* %count, align 4 + br label %for.inc + +if.else92: ; preds = %if.else33 + br i1 %tobool44, label %if.then102, label %if.end112 + +if.then102: ; preds = %if.else92 + %73 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %73, i32 0, i32 0 + %74 = load i32, i32* %fd, align 8 + %rem103 = srem i32 %74, 64 + %shl104 = shl i32 1, %rem103 + %conv105 = sext i32 %shl104 to i64 + %fds_bits106 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_read, i32 0, i32 0 + %75 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd107 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %75, i32 0, i32 0 + %76 = load i32, i32* %fd107, align 8 + %div108 = sdiv i32 %76, 64 + %idxprom109 = sext i32 %div108 to i64 + %arrayidx110 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits106, i64 0, i64 %idxprom109 + %77 = load i64, i64* %arrayidx110, align 8 + %or111 = or i64 %77, %conv105 + store i64 %or111, i64* %arrayidx110, align 8 + br label %if.end112 + +if.end112: ; preds = %if.then102, %if.else92 + %fds_bits113 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_write, i32 0, i32 0 + %78 = load i32, i32* %i, align 4 + %div114 = sdiv i32 %78, 64 + %idxprom115 = sext i32 %div114 to i64 + %arrayidx116 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits113, i64 0, i64 %idxprom115 + %79 = load i64, i64* %arrayidx116, align 8 + %80 = load i32, i32* %i, align 4 + %rem117 = srem i32 %80, 64 + %shl118 = shl i32 1, %rem117 + %conv119 = sext i32 %shl118 to i64 + %and120 = and i64 %79, %conv119 + %tobool121 = icmp ne i64 %and120, 0 + br i1 %tobool121, label %if.then122, label %if.end133 + +if.then122: ; preds = %if.end112 + %81 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd123 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %81, i32 0, i32 0 + %82 = load i32, i32* %fd123, align 8 + %rem124 = srem i32 %82, 64 + %shl125 = shl i32 1, %rem124 + %conv126 = sext i32 %shl125 to i64 + %fds_bits127 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_write, i32 0, i32 0 + %83 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd128 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %83, i32 0, i32 0 + %84 = load i32, i32* %fd128, align 8 + %div129 = sdiv i32 %84, 64 + %idxprom130 = sext i32 %div129 to i64 + %arrayidx131 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits127, i64 0, i64 %idxprom130 + %85 = load i64, i64* %arrayidx131, align 8 + %or132 = or i64 %85, %conv126 + store i64 %or132, i64* %arrayidx131, align 8 + br label %if.end133 + +if.end133: ; preds = %if.then122, %if.end112 + %fds_bits134 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %in_except, i32 0, i32 0 + %86 = load i32, i32* %i, align 4 + %div135 = sdiv i32 %86, 64 + %idxprom136 = sext i32 %div135 to i64 + %arrayidx137 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits134, i64 0, i64 %idxprom136 + %87 = load i64, i64* %arrayidx137, align 8 + %88 = load i32, i32* %i, align 4 + %rem138 = srem i32 %88, 64 + %shl139 = shl i32 1, %rem138 + %conv140 = sext i32 %shl139 to i64 + %and141 = and i64 %87, %conv140 + %tobool142 = icmp ne i64 %and141, 0 + br i1 %tobool142, label %if.then143, label %if.end154 + +if.then143: ; preds = %if.end133 + %89 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd144 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %89, i32 0, i32 0 + %90 = load i32, i32* %fd144, align 8 + %rem145 = srem i32 %90, 64 + %shl146 = shl i32 1, %rem145 + %conv147 = sext i32 %shl146 to i64 + %fds_bits148 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_except, i32 0, i32 0 + %91 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd149 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %91, i32 0, i32 0 + %92 = load i32, i32* %fd149, align 8 + %div150 = sdiv i32 %92, 64 + %idxprom151 = sext i32 %div150 to i64 + %arrayidx152 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits148, i64 0, i64 %idxprom151 + %93 = load i64, i64* %arrayidx152, align 8 + %or153 = or i64 %93, %conv147 + store i64 %or153, i64* %arrayidx152, align 8 + br label %if.end154 + +if.end154: ; preds = %if.then143, %if.end133 + %94 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd155 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %94, i32 0, i32 0 + %95 = load i32, i32* %fd155, align 8 + %96 = load i32, i32* %os_nfds, align 4 + %cmp156 = icmp sge i32 %95, %96 + br i1 %cmp156, label %if.then158, label %for.inc + +if.then158: ; preds = %if.end154 + %97 = load %struct.exe_file_t*, %struct.exe_file_t** %f, align 8 + %fd159 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %97, i32 0, i32 0 + %98 = load i32, i32* %fd159, align 8 + %add = add nsw i32 %98, 1 + store i32 %add, i32* %os_nfds, align 4 + br label %for.inc + +for.inc: ; preds = %lor.lhs.false19, %if.end91, %if.then158, %if.end154 + %99 = load i32, i32* %i, align 4 + %inc164 = add nsw i32 %99, 1 + store i32 %inc164, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %100 = load i32, i32* %os_nfds, align 4 + %cmp165 = icmp sgt i32 %100, 0 + br i1 %cmp165, label %if.then167, label %if.end262 + +if.then167: ; preds = %for.end + %101 = bitcast %struct.timespec* %tv to i8* + %102 = call i8* @memset(i8* %101, i32 0, i64 16) + %103 = load i32, i32* %os_nfds, align 4 + %call168 = call i64 (i64, ...) @syscall(i64 23, i32 %103, %struct.fd_set* %os_read, %struct.fd_set* %os_write, %struct.fd_set* %os_except, %struct.timespec* %tv) #11 + %conv169 = trunc i64 %call168 to i32 + store i32 %conv169, i32* %r, align 4 + %104 = load i32, i32* %r, align 4 + %cmp170 = icmp eq i32 %104, -1 + br i1 %cmp170, label %if.then172, label %if.else176 + +if.then172: ; preds = %if.then167 + %105 = load i32, i32* %count, align 4 + %tobool173 = icmp ne i32 %105, 0 + br i1 %tobool173, label %if.end262, label %if.then174 + +if.then174: ; preds = %if.then172 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else176: ; preds = %if.then167 + %106 = load i32, i32* %r, align 4 + %107 = load i32, i32* %count, align 4 + %add177 = add nsw i32 %107, %106 + store i32 %add177, i32* %count, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond178 + +for.cond178: ; preds = %for.inc258, %if.else176 + %108 = load i32, i32* %i, align 4 + %109 = load i32, i32* %nfds.addr, align 4 + %cmp179 = icmp slt i32 %108, %109 + br i1 %cmp179, label %for.body181, label %if.end262 + +for.body181: ; preds = %for.cond178 + %110 = load i32, i32* %i, align 4 + %call183 = call %struct.exe_file_t* @__get_file(i32 %110) + store %struct.exe_file_t* %call183, %struct.exe_file_t** %f182, align 8 + %111 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %tobool184 = icmp ne %struct.exe_file_t* %111, null + br i1 %tobool184, label %land.lhs.true, label %for.inc258 + +land.lhs.true: ; preds = %for.body181 + %112 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %dfile185 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %112, i32 0, i32 3 + %113 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile185, align 8 + %tobool186 = icmp ne %struct.exe_disk_file_t* %113, null + br i1 %tobool186, label %for.inc258, label %if.then187 + +if.then187: ; preds = %land.lhs.true + %114 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %tobool188 = icmp ne %struct.fd_set* %114, null + br i1 %tobool188, label %land.lhs.true189, label %if.end210 + +land.lhs.true189: ; preds = %if.then187 + %fds_bits190 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_read, i32 0, i32 0 + %115 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd191 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %115, i32 0, i32 0 + %116 = load i32, i32* %fd191, align 8 + %div192 = sdiv i32 %116, 64 + %idxprom193 = sext i32 %div192 to i64 + %arrayidx194 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits190, i64 0, i64 %idxprom193 + %117 = load i64, i64* %arrayidx194, align 8 + %118 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd195 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %118, i32 0, i32 0 + %119 = load i32, i32* %fd195, align 8 + %rem196 = srem i32 %119, 64 + %shl197 = shl i32 1, %rem196 + %conv198 = sext i32 %shl197 to i64 + %and199 = and i64 %117, %conv198 + %tobool200 = icmp ne i64 %and199, 0 + br i1 %tobool200, label %if.then201, label %if.end210 + +if.then201: ; preds = %land.lhs.true189 + %120 = load i32, i32* %i, align 4 + %rem202 = srem i32 %120, 64 + %shl203 = shl i32 1, %rem202 + %conv204 = sext i32 %shl203 to i64 + %121 = load %struct.fd_set*, %struct.fd_set** %read.addr, align 8 + %fds_bits205 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %121, i32 0, i32 0 + %122 = load i32, i32* %i, align 4 + %div206 = sdiv i32 %122, 64 + %idxprom207 = sext i32 %div206 to i64 + %arrayidx208 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits205, i64 0, i64 %idxprom207 + %123 = load i64, i64* %arrayidx208, align 8 + %or209 = or i64 %123, %conv204 + store i64 %or209, i64* %arrayidx208, align 8 + br label %if.end210 + +if.end210: ; preds = %if.then201, %land.lhs.true189, %if.then187 + %124 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %tobool211 = icmp ne %struct.fd_set* %124, null + br i1 %tobool211, label %land.lhs.true212, label %if.end233 + +land.lhs.true212: ; preds = %if.end210 + %fds_bits213 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_write, i32 0, i32 0 + %125 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd214 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %125, i32 0, i32 0 + %126 = load i32, i32* %fd214, align 8 + %div215 = sdiv i32 %126, 64 + %idxprom216 = sext i32 %div215 to i64 + %arrayidx217 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits213, i64 0, i64 %idxprom216 + %127 = load i64, i64* %arrayidx217, align 8 + %128 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd218 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %128, i32 0, i32 0 + %129 = load i32, i32* %fd218, align 8 + %rem219 = srem i32 %129, 64 + %shl220 = shl i32 1, %rem219 + %conv221 = sext i32 %shl220 to i64 + %and222 = and i64 %127, %conv221 + %tobool223 = icmp ne i64 %and222, 0 + br i1 %tobool223, label %if.then224, label %if.end233 + +if.then224: ; preds = %land.lhs.true212 + %130 = load i32, i32* %i, align 4 + %rem225 = srem i32 %130, 64 + %shl226 = shl i32 1, %rem225 + %conv227 = sext i32 %shl226 to i64 + %131 = load %struct.fd_set*, %struct.fd_set** %write.addr, align 8 + %fds_bits228 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %131, i32 0, i32 0 + %132 = load i32, i32* %i, align 4 + %div229 = sdiv i32 %132, 64 + %idxprom230 = sext i32 %div229 to i64 + %arrayidx231 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits228, i64 0, i64 %idxprom230 + %133 = load i64, i64* %arrayidx231, align 8 + %or232 = or i64 %133, %conv227 + store i64 %or232, i64* %arrayidx231, align 8 + br label %if.end233 + +if.end233: ; preds = %if.then224, %land.lhs.true212, %if.end210 + %134 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %tobool234 = icmp ne %struct.fd_set* %134, null + br i1 %tobool234, label %land.lhs.true235, label %for.inc258 + +land.lhs.true235: ; preds = %if.end233 + %fds_bits236 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %os_except, i32 0, i32 0 + %135 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd237 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %135, i32 0, i32 0 + %136 = load i32, i32* %fd237, align 8 + %div238 = sdiv i32 %136, 64 + %idxprom239 = sext i32 %div238 to i64 + %arrayidx240 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits236, i64 0, i64 %idxprom239 + %137 = load i64, i64* %arrayidx240, align 8 + %138 = load %struct.exe_file_t*, %struct.exe_file_t** %f182, align 8 + %fd241 = getelementptr inbounds %struct.exe_file_t, %struct.exe_file_t* %138, i32 0, i32 0 + %139 = load i32, i32* %fd241, align 8 + %rem242 = srem i32 %139, 64 + %shl243 = shl i32 1, %rem242 + %conv244 = sext i32 %shl243 to i64 + %and245 = and i64 %137, %conv244 + %tobool246 = icmp ne i64 %and245, 0 + br i1 %tobool246, label %if.then247, label %for.inc258 + +if.then247: ; preds = %land.lhs.true235 + %140 = load i32, i32* %i, align 4 + %rem248 = srem i32 %140, 64 + %shl249 = shl i32 1, %rem248 + %conv250 = sext i32 %shl249 to i64 + %141 = load %struct.fd_set*, %struct.fd_set** %except.addr, align 8 + %fds_bits251 = getelementptr inbounds %struct.fd_set, %struct.fd_set* %141, i32 0, i32 0 + %142 = load i32, i32* %i, align 4 + %div252 = sdiv i32 %142, 64 + %idxprom253 = sext i32 %div252 to i64 + %arrayidx254 = getelementptr inbounds [16 x i64], [16 x i64]* %fds_bits251, i64 0, i64 %idxprom253 + %143 = load i64, i64* %arrayidx254, align 8 + %or255 = or i64 %143, %conv250 + store i64 %or255, i64* %arrayidx254, align 8 + br label %for.inc258 + +for.inc258: ; preds = %for.body181, %land.lhs.true, %if.then247, %land.lhs.true235, %if.end233 + %144 = load i32, i32* %i, align 4 + %inc259 = add nsw i32 %144, 1 + store i32 %inc259, i32* %i, align 4 + br label %for.cond178 + +if.end262: ; preds = %if.then172, %for.cond178, %for.end + %145 = load i32, i32* %count, align 4 + store i32 %145, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end262, %if.then174, %if.then31 + %146 = load i32, i32* %retval, align 4 + ret i32 %146 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @chroot(i8* nonnull %path) #3 { +entry: + %retval = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %0, i64 0 + %1 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call = call i32* @__errno_location() #25 + store i32 2, i32* %call, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %2 = load i8*, i8** %path.addr, align 8 + %arrayidx2 = getelementptr inbounds i8, i8* %2, i64 0 + %3 = load i8, i8* %arrayidx2, align 1 + %conv3 = sext i8 %3 to i32 + %cmp4 = icmp eq i32 %conv3, 47 + br i1 %cmp4, label %land.lhs.true, label %if.end11 + +land.lhs.true: ; preds = %if.end + %4 = load i8*, i8** %path.addr, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %4, i64 1 + %5 = load i8, i8* %arrayidx6, align 1 + %conv7 = sext i8 %5 to i32 + %cmp8 = icmp eq i32 %conv7, 0 + br i1 %cmp8, label %if.then10, label %if.end11 + +if.then10: ; preds = %land.lhs.true + store i32 0, i32* %retval, align 4 + br label %return + +if.end11: ; preds = %land.lhs.true, %if.end + call void @gs_warning(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.24, i64 0, i64 0)) + %call12 = call i32* @__errno_location() #25 + store i32 2, i32* %call12, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end11, %if.then10, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @open(i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i8*, i8** %pathname.addr, align 8 + %8 = load i32, i32* %flags.addr, align 4 + %9 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_open(i8* %7, i32 %8, i32 %9) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @openat(i32 %fd, i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %fd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i32, i32* %fd.addr, align 4 + %8 = load i8*, i8** %pathname.addr, align 8 + %9 = load i32, i32* %flags.addr, align 4 + %10 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_openat(i32 %7, i8* %8, i32 %9, i32 %10) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @lseek(i32 %fd, i64 %off, i32 %whence) #3 { +entry: + %fd.addr = alloca i32, align 4 + %off.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %off, i64* %off.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %off.addr, align 8 + %2 = load i32, i32* %whence.addr, align 4 + %call = call i64 @__fd_lseek(i32 %0, i64 %1, i32 %2) + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__xstat(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__stat64_to_stat(%struct.stat64* %a, %struct.stat64* %b) #3 { +entry: + %a.addr = alloca %struct.stat64*, align 8 + %b.addr = alloca %struct.stat64*, align 8 + store %struct.stat64* %a, %struct.stat64** %a.addr, align 8 + store %struct.stat64* %b, %struct.stat64** %b.addr, align 8 + %0 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_dev = getelementptr inbounds %struct.stat64, %struct.stat64* %0, i32 0, i32 0 + %1 = load i64, i64* %st_dev, align 8 + %2 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_dev1 = getelementptr inbounds %struct.stat64, %struct.stat64* %2, i32 0, i32 0 + store i64 %1, i64* %st_dev1, align 8 + %3 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %3, i32 0, i32 1 + %4 = load i64, i64* %st_ino, align 8 + %5 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_ino2 = getelementptr inbounds %struct.stat64, %struct.stat64* %5, i32 0, i32 1 + store i64 %4, i64* %st_ino2, align 8 + %6 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %6, i32 0, i32 3 + %7 = load i32, i32* %st_mode, align 8 + %8 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_mode3 = getelementptr inbounds %struct.stat64, %struct.stat64* %8, i32 0, i32 3 + store i32 %7, i32* %st_mode3, align 8 + %9 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_nlink = getelementptr inbounds %struct.stat64, %struct.stat64* %9, i32 0, i32 2 + %10 = load i64, i64* %st_nlink, align 8 + %11 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_nlink4 = getelementptr inbounds %struct.stat64, %struct.stat64* %11, i32 0, i32 2 + store i64 %10, i64* %st_nlink4, align 8 + %12 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_uid = getelementptr inbounds %struct.stat64, %struct.stat64* %12, i32 0, i32 4 + %13 = load i32, i32* %st_uid, align 4 + %14 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_uid5 = getelementptr inbounds %struct.stat64, %struct.stat64* %14, i32 0, i32 4 + store i32 %13, i32* %st_uid5, align 4 + %15 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_gid = getelementptr inbounds %struct.stat64, %struct.stat64* %15, i32 0, i32 5 + %16 = load i32, i32* %st_gid, align 8 + %17 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_gid6 = getelementptr inbounds %struct.stat64, %struct.stat64* %17, i32 0, i32 5 + store i32 %16, i32* %st_gid6, align 8 + %18 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_rdev = getelementptr inbounds %struct.stat64, %struct.stat64* %18, i32 0, i32 7 + %19 = load i64, i64* %st_rdev, align 8 + %20 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_rdev7 = getelementptr inbounds %struct.stat64, %struct.stat64* %20, i32 0, i32 7 + store i64 %19, i64* %st_rdev7, align 8 + %21 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_size = getelementptr inbounds %struct.stat64, %struct.stat64* %21, i32 0, i32 8 + %22 = load i64, i64* %st_size, align 8 + %23 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_size8 = getelementptr inbounds %struct.stat64, %struct.stat64* %23, i32 0, i32 8 + store i64 %22, i64* %st_size8, align 8 + %24 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_atim = getelementptr inbounds %struct.stat64, %struct.stat64* %24, i32 0, i32 11 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim, i32 0, i32 0 + %25 = load i64, i64* %tv_sec, align 8 + %26 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_atim9 = getelementptr inbounds %struct.stat64, %struct.stat64* %26, i32 0, i32 11 + %tv_sec10 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim9, i32 0, i32 0 + store i64 %25, i64* %tv_sec10, align 8 + %27 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_mtim = getelementptr inbounds %struct.stat64, %struct.stat64* %27, i32 0, i32 12 + %tv_sec11 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim, i32 0, i32 0 + %28 = load i64, i64* %tv_sec11, align 8 + %29 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_mtim12 = getelementptr inbounds %struct.stat64, %struct.stat64* %29, i32 0, i32 12 + %tv_sec13 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim12, i32 0, i32 0 + store i64 %28, i64* %tv_sec13, align 8 + %30 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_ctim = getelementptr inbounds %struct.stat64, %struct.stat64* %30, i32 0, i32 13 + %tv_sec14 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim, i32 0, i32 0 + %31 = load i64, i64* %tv_sec14, align 8 + %32 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_ctim15 = getelementptr inbounds %struct.stat64, %struct.stat64* %32, i32 0, i32 13 + %tv_sec16 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim15, i32 0, i32 0 + store i64 %31, i64* %tv_sec16, align 8 + %33 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_blksize = getelementptr inbounds %struct.stat64, %struct.stat64* %33, i32 0, i32 9 + %34 = load i64, i64* %st_blksize, align 8 + %35 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_blksize17 = getelementptr inbounds %struct.stat64, %struct.stat64* %35, i32 0, i32 9 + store i64 %34, i64* %st_blksize17, align 8 + %36 = load %struct.stat64*, %struct.stat64** %a.addr, align 8 + %st_blocks = getelementptr inbounds %struct.stat64, %struct.stat64* %36, i32 0, i32 10 + %37 = load i64, i64* %st_blocks, align 8 + %38 = load %struct.stat64*, %struct.stat64** %b.addr, align 8 + %st_blocks18 = getelementptr inbounds %struct.stat64, %struct.stat64* %38, i32 0, i32 10 + store i64 %37, i64* %st_blocks18, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @stat(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__lxstat(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @lstat(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fxstat(i32 %vers, i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %vers, i32* %vers.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstat(i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + %tmp = alloca %struct.stat64, align 8 + %res = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %tmp) + store i32 %call, i32* %res, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + call void @__stat64_to_stat(%struct.stat64* %tmp, %struct.stat64* %1) + %2 = load i32, i32* %res, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @ftruncate(i32 %fd, i64 %length) #3 { +entry: + %fd.addr = alloca i32, align 4 + %length.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %length, i64* %length.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %length.addr, align 8 + %call = call i32 @__fd_ftruncate(i32 %0, i64 %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @statfs(i8* nonnull %path, %struct.statfs* nonnull %buf32) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf32.addr = alloca %struct.statfs*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.statfs* %buf32, %struct.statfs** %buf32.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.statfs*, %struct.statfs** %buf32.addr, align 8 + %call = call i32 @__fd_statfs(i8* %0, %struct.statfs* %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @getdents(i32 %fd, %struct.dirent64* %dirp, i64 %nbytes) #3 { +entry: + %fd.addr = alloca i32, align 4 + %dirp.addr = alloca %struct.dirent64*, align 8 + %nbytes.addr = alloca i64, align 8 + %dp64 = alloca %struct.dirent64*, align 8 + %res = alloca i64, align 8 + %end = alloca %struct.dirent64*, align 8 + %dp = alloca %struct.dirent64*, align 8 + %name_len = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.dirent64* %dirp, %struct.dirent64** %dirp.addr, align 8 + store i64 %nbytes, i64* %nbytes.addr, align 8 + %0 = load %struct.dirent64*, %struct.dirent64** %dirp.addr, align 8 + %1 = bitcast %struct.dirent64* %0 to %struct.dirent64* + store %struct.dirent64* %1, %struct.dirent64** %dp64, align 8 + %2 = load i32, i32* %fd.addr, align 4 + %3 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %4 = load i64, i64* %nbytes.addr, align 8 + %conv = trunc i64 %4 to i32 + %call = call i32 @__fd_getdents(i32 %2, %struct.dirent64* %3, i32 %conv) + %conv1 = sext i32 %call to i64 + store i64 %conv1, i64* %res, align 8 + %5 = load i64, i64* %res, align 8 + %cmp = icmp sgt i64 %5, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %6 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %7 = bitcast %struct.dirent64* %6 to i8* + %8 = load i64, i64* %res, align 8 + %add.ptr = getelementptr inbounds i8, i8* %7, i64 %8 + %9 = bitcast i8* %add.ptr to %struct.dirent64* + store %struct.dirent64* %9, %struct.dirent64** %end, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.then + %10 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %11 = load %struct.dirent64*, %struct.dirent64** %end, align 8 + %cmp3 = icmp ult %struct.dirent64* %10, %11 + br i1 %cmp3, label %while.body, label %if.end + +while.body: ; preds = %while.cond + %12 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %13 = bitcast %struct.dirent64* %12 to %struct.dirent64* + store %struct.dirent64* %13, %struct.dirent64** %dp, align 8 + %14 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_reclen = getelementptr inbounds %struct.dirent64, %struct.dirent64* %14, i32 0, i32 2 + %15 = load i16, i16* %d_reclen, align 8 + %conv5 = zext i16 %15 to i64 + %sub = sub i64 %conv5, ptrtoint ([256 x i8]* getelementptr inbounds (%struct.dirent64, %struct.dirent64* null, i32 0, i32 4) to i64) + store i64 %sub, i64* %name_len, align 8 + %16 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_ino = getelementptr inbounds %struct.dirent64, %struct.dirent64* %16, i32 0, i32 0 + %17 = load i64, i64* %d_ino, align 8 + %18 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_ino6 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %18, i32 0, i32 0 + store i64 %17, i64* %d_ino6, align 8 + %19 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_off = getelementptr inbounds %struct.dirent64, %struct.dirent64* %19, i32 0, i32 1 + %20 = load i64, i64* %d_off, align 8 + %21 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_off7 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %21, i32 0, i32 1 + store i64 %20, i64* %d_off7, align 8 + %22 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_reclen8 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %22, i32 0, i32 2 + %23 = load i16, i16* %d_reclen8, align 8 + %24 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_reclen9 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %24, i32 0, i32 2 + store i16 %23, i16* %d_reclen9, align 8 + %25 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_type = getelementptr inbounds %struct.dirent64, %struct.dirent64* %25, i32 0, i32 3 + %26 = load i8, i8* %d_type, align 2 + %27 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_type10 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %27, i32 0, i32 3 + store i8 %26, i8* %d_type10, align 2 + %28 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_name = getelementptr inbounds %struct.dirent64, %struct.dirent64* %28, i32 0, i32 4 + %arraydecay = getelementptr inbounds [256 x i8], [256 x i8]* %d_name, i64 0, i64 0 + %29 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %d_name11 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %29, i32 0, i32 4 + %arraydecay12 = getelementptr inbounds [256 x i8], [256 x i8]* %d_name11, i64 0, i64 0 + %30 = load i64, i64* %name_len, align 8 + %31 = call i8* @memmove(i8* %arraydecay, i8* %arraydecay12, i64 %30) + %32 = load %struct.dirent64*, %struct.dirent64** %dp64, align 8 + %33 = bitcast %struct.dirent64* %32 to i8* + %34 = load %struct.dirent64*, %struct.dirent64** %dp, align 8 + %d_reclen13 = getelementptr inbounds %struct.dirent64, %struct.dirent64* %34, i32 0, i32 2 + %35 = load i16, i16* %d_reclen13, align 8 + %conv14 = zext i16 %35 to i32 + %idx.ext = sext i32 %conv14 to i64 + %add.ptr15 = getelementptr inbounds i8, i8* %33, i64 %idx.ext + %36 = bitcast i8* %add.ptr15 to %struct.dirent64* + store %struct.dirent64* %36, %struct.dirent64** %dp64, align 8 + br label %while.cond + +if.end: ; preds = %while.cond, %entry + %37 = load i64, i64* %res, align 8 + ret i64 %37 +} + +; Function Attrs: argmemonly nounwind willreturn +declare void @llvm.memmove.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i1 immarg) #9 + +; Function Attrs: noinline nounwind uwtable +define dso_local void @klee_init_env(i32* %argcPtr, i8*** %argvPtr) #3 { +entry: + %argcPtr.addr = alloca i32*, align 8 + %argvPtr.addr = alloca i8***, align 8 + %argc = alloca i32, align 4 + %argv = alloca i8**, align 8 + %new_argc = alloca i32, align 4 + %n_args = alloca i32, align 4 + %new_argv = alloca [1024 x i8*], align 16 + %max_len = alloca i32, align 4 + %min_argvs = alloca i32, align 4 + %max_argvs = alloca i32, align 4 + %sym_files = alloca i32, align 4 + %sym_file_len = alloca i32, align 4 + %sym_stdin_len = alloca i32, align 4 + %sym_stdout_flag = alloca i32, align 4 + %save_all_writes_flag = alloca i32, align 4 + %fd_fail = alloca i32, align 4 + %final_argv = alloca i8**, align 8 + %sym_arg_name = alloca [6 x i8], align 1 + %sym_arg_num = alloca i32, align 4 + %k = alloca i32, align 4 + %i = alloca i32, align 4 + %msg = alloca i8*, align 8 + %msg40 = alloca i8*, align 8 + %msg105 = alloca i8*, align 8 + %msg145 = alloca i8*, align 8 + %msg215 = alloca i8*, align 8 + store i32* %argcPtr, i32** %argcPtr.addr, align 8 + store i8*** %argvPtr, i8**** %argvPtr.addr, align 8 + %0 = load i32*, i32** %argcPtr.addr, align 8 + %1 = load i32, i32* %0, align 4 + store i32 %1, i32* %argc, align 4 + %2 = load i8***, i8**** %argvPtr.addr, align 8 + %3 = load i8**, i8*** %2, align 8 + store i8** %3, i8*** %argv, align 8 + store i32 0, i32* %new_argc, align 4 + store i32 0, i32* %sym_files, align 4 + store i32 0, i32* %sym_file_len, align 4 + store i32 0, i32* %sym_stdin_len, align 4 + store i32 0, i32* %sym_stdout_flag, align 4 + store i32 0, i32* %save_all_writes_flag, align 4 + store i32 0, i32* %fd_fail, align 4 + %4 = bitcast [6 x i8]* %sym_arg_name to i8* + %5 = call i8* @memcpy(i8* %4, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @__const.klee_init_env.sym_arg_name, i32 0, i32 0), i64 6) + store i32 0, i32* %sym_arg_num, align 4 + store i32 0, i32* %k, align 4 + %arrayidx = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 5 + store i8 0, i8* %arrayidx, align 1 + %6 = load i32, i32* %argc, align 4 + %cmp = icmp eq i32 %6, 2 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %7 = load i8**, i8*** %argv, align 8 + %arrayidx1 = getelementptr inbounds i8*, i8** %7, i64 1 + %8 = load i8*, i8** %arrayidx1, align 8 + %call = call i32 @__streq(i8* %8, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.29, i64 0, i64 0)) + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + call void @__emit_error(i8* getelementptr inbounds ([964 x i8], [964 x i8]* @.str.1.30, i64 0, i64 0)) + br label %if.end + +if.end: ; preds = %if.then, %land.lhs.true, %entry + br label %while.cond + +while.cond: ; preds = %if.end239, %if.end + %9 = load i32, i32* %k, align 4 + %10 = load i32, i32* %argc, align 4 + %cmp2 = icmp slt i32 %9, %10 + br i1 %cmp2, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %11 = load i8**, i8*** %argv, align 8 + %12 = load i32, i32* %k, align 4 + %idxprom = sext i32 %12 to i64 + %arrayidx3 = getelementptr inbounds i8*, i8** %11, i64 %idxprom + %13 = load i8*, i8** %arrayidx3, align 8 + %call4 = call i32 @__streq(i8* %13, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.2.31, i64 0, i64 0)) + %tobool5 = icmp ne i32 %call4, 0 + br i1 %tobool5, label %if.then10, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.body + %14 = load i8**, i8*** %argv, align 8 + %15 = load i32, i32* %k, align 4 + %idxprom6 = sext i32 %15 to i64 + %arrayidx7 = getelementptr inbounds i8*, i8** %14, i64 %idxprom6 + %16 = load i8*, i8** %arrayidx7, align 8 + %call8 = call i32 @__streq(i8* %16, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.32, i64 0, i64 0)) + %tobool9 = icmp ne i32 %call8, 0 + br i1 %tobool9, label %if.then10, label %if.else + +if.then10: ; preds = %lor.lhs.false, %while.body + store i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.4.33, i64 0, i64 0), i8** %msg, align 8 + %17 = load i32, i32* %k, align 4 + %inc = add nsw i32 %17, 1 + store i32 %inc, i32* %k, align 4 + %18 = load i32, i32* %argc, align 4 + %cmp11 = icmp eq i32 %inc, %18 + br i1 %cmp11, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.then10 + %19 = load i8*, i8** %msg, align 8 + call void @__emit_error(i8* %19) + br label %if.end13 + +if.end13: ; preds = %if.then12, %if.then10 + %20 = load i8**, i8*** %argv, align 8 + %21 = load i32, i32* %k, align 4 + %inc14 = add nsw i32 %21, 1 + store i32 %inc14, i32* %k, align 4 + %idxprom15 = sext i32 %21 to i64 + %arrayidx16 = getelementptr inbounds i8*, i8** %20, i64 %idxprom15 + %22 = load i8*, i8** %arrayidx16, align 8 + %23 = load i8*, i8** %msg, align 8 + %call17 = call i64 @__str_to_int(i8* %22, i8* %23) + %conv = trunc i64 %call17 to i32 + store i32 %conv, i32* %max_len, align 4 + %24 = load i32, i32* %sym_arg_num, align 4 + %cmp18 = icmp ugt i32 %24, 99 + br i1 %cmp18, label %if.then20, label %if.end21 + +if.then20: ; preds = %if.end13 + call void @__emit_error(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.5.34, i64 0, i64 0)) + br label %if.end21 + +if.end21: ; preds = %if.then20, %if.end13 + %25 = load i32, i32* %sym_arg_num, align 4 + %div = udiv i32 %25, 10 + %add = add i32 48, %div + %conv22 = trunc i32 %add to i8 + %arrayidx23 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 3 + store i8 %conv22, i8* %arrayidx23, align 1 + %26 = load i32, i32* %sym_arg_num, align 4 + %rem = urem i32 %26, 10 + %add24 = add i32 48, %rem + %conv25 = trunc i32 %add24 to i8 + %arrayidx26 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 4 + store i8 %conv25, i8* %arrayidx26, align 1 + %27 = load i32, i32* %sym_arg_num, align 4 + %inc27 = add i32 %27, 1 + store i32 %inc27, i32* %sym_arg_num, align 4 + %arraydecay = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %28 = load i32, i32* %max_len, align 4 + %arraydecay28 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 0 + %call29 = call i8* @__get_sym_str(i32 %28, i8* %arraydecay28) + call void @__add_arg(i32* %new_argc, i8** %arraydecay, i8* %call29, i32 1024) + br label %if.end239 + +if.else: ; preds = %lor.lhs.false + %29 = load i8**, i8*** %argv, align 8 + %30 = load i32, i32* %k, align 4 + %idxprom30 = sext i32 %30 to i64 + %arrayidx31 = getelementptr inbounds i8*, i8** %29, i64 %idxprom30 + %31 = load i8*, i8** %arrayidx31, align 8 + %call32 = call i32 @__streq(i8* %31, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.6.35, i64 0, i64 0)) + %tobool33 = icmp ne i32 %call32, 0 + br i1 %tobool33, label %if.then39, label %lor.lhs.false34 + +lor.lhs.false34: ; preds = %if.else + %32 = load i8**, i8*** %argv, align 8 + %33 = load i32, i32* %k, align 4 + %idxprom35 = sext i32 %33 to i64 + %arrayidx36 = getelementptr inbounds i8*, i8** %32, i64 %idxprom35 + %34 = load i8*, i8** %arrayidx36, align 8 + %call37 = call i32 @__streq(i8* %34, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.7.36, i64 0, i64 0)) + %tobool38 = icmp ne i32 %call37, 0 + br i1 %tobool38, label %if.then39, label %if.else94 + +if.then39: ; preds = %lor.lhs.false34, %if.else + store i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.8.37, i64 0, i64 0), i8** %msg40, align 8 + %35 = load i32, i32* %k, align 4 + %add41 = add nsw i32 %35, 3 + %36 = load i32, i32* %argc, align 4 + %cmp42 = icmp sge i32 %add41, %36 + br i1 %cmp42, label %if.then44, label %if.end45 + +if.then44: ; preds = %if.then39 + %37 = load i8*, i8** %msg40, align 8 + call void @__emit_error(i8* %37) + br label %if.end45 + +if.end45: ; preds = %if.then44, %if.then39 + %38 = load i32, i32* %k, align 4 + %inc46 = add nsw i32 %38, 1 + store i32 %inc46, i32* %k, align 4 + %39 = load i8**, i8*** %argv, align 8 + %40 = load i32, i32* %k, align 4 + %inc47 = add nsw i32 %40, 1 + store i32 %inc47, i32* %k, align 4 + %idxprom48 = sext i32 %40 to i64 + %arrayidx49 = getelementptr inbounds i8*, i8** %39, i64 %idxprom48 + %41 = load i8*, i8** %arrayidx49, align 8 + %42 = load i8*, i8** %msg40, align 8 + %call50 = call i64 @__str_to_int(i8* %41, i8* %42) + %conv51 = trunc i64 %call50 to i32 + store i32 %conv51, i32* %min_argvs, align 4 + %43 = load i8**, i8*** %argv, align 8 + %44 = load i32, i32* %k, align 4 + %inc52 = add nsw i32 %44, 1 + store i32 %inc52, i32* %k, align 4 + %idxprom53 = sext i32 %44 to i64 + %arrayidx54 = getelementptr inbounds i8*, i8** %43, i64 %idxprom53 + %45 = load i8*, i8** %arrayidx54, align 8 + %46 = load i8*, i8** %msg40, align 8 + %call55 = call i64 @__str_to_int(i8* %45, i8* %46) + %conv56 = trunc i64 %call55 to i32 + store i32 %conv56, i32* %max_argvs, align 4 + %47 = load i8**, i8*** %argv, align 8 + %48 = load i32, i32* %k, align 4 + %inc57 = add nsw i32 %48, 1 + store i32 %inc57, i32* %k, align 4 + %idxprom58 = sext i32 %48 to i64 + %arrayidx59 = getelementptr inbounds i8*, i8** %47, i64 %idxprom58 + %49 = load i8*, i8** %arrayidx59, align 8 + %50 = load i8*, i8** %msg40, align 8 + %call60 = call i64 @__str_to_int(i8* %49, i8* %50) + %conv61 = trunc i64 %call60 to i32 + store i32 %conv61, i32* %max_len, align 4 + %51 = load i32, i32* %min_argvs, align 4 + %52 = load i32, i32* %max_argvs, align 4 + %cmp62 = icmp ugt i32 %51, %52 + br i1 %cmp62, label %if.then70, label %lor.lhs.false64 + +lor.lhs.false64: ; preds = %if.end45 + %53 = load i32, i32* %min_argvs, align 4 + %cmp65 = icmp eq i32 %53, 0 + %54 = load i32, i32* %max_argvs, align 4 + %cmp68 = icmp eq i32 %54, 0 + %or.cond = and i1 %cmp65, %cmp68 + br i1 %or.cond, label %if.then70, label %if.end71 + +if.then70: ; preds = %lor.lhs.false64, %if.end45 + call void @__emit_error(i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.9.38, i64 0, i64 0)) + br label %if.end71 + +if.end71: ; preds = %if.then70, %lor.lhs.false64 + %55 = load i32, i32* %min_argvs, align 4 + %56 = load i32, i32* %max_argvs, align 4 + %add72 = add i32 %56, 1 + %call73 = call i32 @gs_range(i32 %55, i32 %add72, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.10.39, i64 0, i64 0)) + store i32 %call73, i32* %n_args, align 4 + %57 = load i32, i32* %sym_arg_num, align 4 + %58 = load i32, i32* %max_argvs, align 4 + %add74 = add i32 %57, %58 + %cmp75 = icmp ugt i32 %add74, 99 + br i1 %cmp75, label %if.then77, label %if.end78 + +if.then77: ; preds = %if.end71 + call void @__emit_error(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.5.34, i64 0, i64 0)) + br label %if.end78 + +if.end78: ; preds = %if.then77, %if.end71 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end78 + %59 = load i32, i32* %i, align 4 + %60 = load i32, i32* %n_args, align 4 + %cmp79 = icmp slt i32 %59, %60 + br i1 %cmp79, label %for.body, label %if.end239 + +for.body: ; preds = %for.cond + %61 = load i32, i32* %sym_arg_num, align 4 + %div81 = udiv i32 %61, 10 + %add82 = add i32 48, %div81 + %conv83 = trunc i32 %add82 to i8 + %arrayidx84 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 3 + store i8 %conv83, i8* %arrayidx84, align 1 + %62 = load i32, i32* %sym_arg_num, align 4 + %rem85 = urem i32 %62, 10 + %add86 = add i32 48, %rem85 + %conv87 = trunc i32 %add86 to i8 + %arrayidx88 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 4 + store i8 %conv87, i8* %arrayidx88, align 1 + %63 = load i32, i32* %sym_arg_num, align 4 + %inc89 = add i32 %63, 1 + store i32 %inc89, i32* %sym_arg_num, align 4 + %arraydecay90 = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %64 = load i32, i32* %max_len, align 4 + %arraydecay91 = getelementptr inbounds [6 x i8], [6 x i8]* %sym_arg_name, i64 0, i64 0 + %call92 = call i8* @__get_sym_str(i32 %64, i8* %arraydecay91) + call void @__add_arg(i32* %new_argc, i8** %arraydecay90, i8* %call92, i32 1024) + %65 = load i32, i32* %i, align 4 + %inc93 = add nsw i32 %65, 1 + store i32 %inc93, i32* %i, align 4 + br label %for.cond + +if.else94: ; preds = %lor.lhs.false34 + %66 = load i8**, i8*** %argv, align 8 + %67 = load i32, i32* %k, align 4 + %idxprom95 = sext i32 %67 to i64 + %arrayidx96 = getelementptr inbounds i8*, i8** %66, i64 %idxprom95 + %68 = load i8*, i8** %arrayidx96, align 8 + %call97 = call i32 @__streq(i8* %68, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.11.40, i64 0, i64 0)) + %tobool98 = icmp ne i32 %call97, 0 + br i1 %tobool98, label %if.then104, label %lor.lhs.false99 + +lor.lhs.false99: ; preds = %if.else94 + %69 = load i8**, i8*** %argv, align 8 + %70 = load i32, i32* %k, align 4 + %idxprom100 = sext i32 %70 to i64 + %arrayidx101 = getelementptr inbounds i8*, i8** %69, i64 %idxprom100 + %71 = load i8*, i8** %arrayidx101, align 8 + %call102 = call i32 @__streq(i8* %71, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.12.41, i64 0, i64 0)) + %tobool103 = icmp ne i32 %call102, 0 + br i1 %tobool103, label %if.then104, label %if.else134 + +if.then104: ; preds = %lor.lhs.false99, %if.else94 + store i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.13.42, i64 0, i64 0), i8** %msg105, align 8 + %72 = load i32, i32* %k, align 4 + %add106 = add nsw i32 %72, 2 + %73 = load i32, i32* %argc, align 4 + %cmp107 = icmp sge i32 %add106, %73 + br i1 %cmp107, label %if.then109, label %if.end110 + +if.then109: ; preds = %if.then104 + %74 = load i8*, i8** %msg105, align 8 + call void @__emit_error(i8* %74) + br label %if.end110 + +if.end110: ; preds = %if.then109, %if.then104 + %75 = load i32, i32* %sym_files, align 4 + %cmp111 = icmp ne i32 %75, 0 + br i1 %cmp111, label %if.then113, label %if.end114 + +if.then113: ; preds = %if.end110 + call void @__emit_error(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.14.43, i64 0, i64 0)) + br label %if.end114 + +if.end114: ; preds = %if.then113, %if.end110 + %76 = load i32, i32* %k, align 4 + %inc115 = add nsw i32 %76, 1 + store i32 %inc115, i32* %k, align 4 + %77 = load i8**, i8*** %argv, align 8 + %78 = load i32, i32* %k, align 4 + %inc116 = add nsw i32 %78, 1 + store i32 %inc116, i32* %k, align 4 + %idxprom117 = sext i32 %78 to i64 + %arrayidx118 = getelementptr inbounds i8*, i8** %77, i64 %idxprom117 + %79 = load i8*, i8** %arrayidx118, align 8 + %80 = load i8*, i8** %msg105, align 8 + %call119 = call i64 @__str_to_int(i8* %79, i8* %80) + %conv120 = trunc i64 %call119 to i32 + store i32 %conv120, i32* %sym_files, align 4 + %81 = load i8**, i8*** %argv, align 8 + %82 = load i32, i32* %k, align 4 + %inc121 = add nsw i32 %82, 1 + store i32 %inc121, i32* %k, align 4 + %idxprom122 = sext i32 %82 to i64 + %arrayidx123 = getelementptr inbounds i8*, i8** %81, i64 %idxprom122 + %83 = load i8*, i8** %arrayidx123, align 8 + %84 = load i8*, i8** %msg105, align 8 + %call124 = call i64 @__str_to_int(i8* %83, i8* %84) + %conv125 = trunc i64 %call124 to i32 + store i32 %conv125, i32* %sym_file_len, align 4 + %85 = load i32, i32* %sym_files, align 4 + %cmp126 = icmp eq i32 %85, 0 + br i1 %cmp126, label %if.then128, label %if.end129 + +if.then128: ; preds = %if.end114 + call void @__emit_error(i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.15.44, i64 0, i64 0)) + br label %if.end129 + +if.end129: ; preds = %if.then128, %if.end114 + %86 = load i32, i32* %sym_file_len, align 4 + %cmp130 = icmp eq i32 %86, 0 + br i1 %cmp130, label %if.then132, label %if.end239 + +if.then132: ; preds = %if.end129 + call void @__emit_error(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.16.45, i64 0, i64 0)) + br label %if.end239 + +if.else134: ; preds = %lor.lhs.false99 + %87 = load i8**, i8*** %argv, align 8 + %88 = load i32, i32* %k, align 4 + %idxprom135 = sext i32 %88 to i64 + %arrayidx136 = getelementptr inbounds i8*, i8** %87, i64 %idxprom135 + %89 = load i8*, i8** %arrayidx136, align 8 + %call137 = call i32 @__streq(i8* %89, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.17.46, i64 0, i64 0)) + %tobool138 = icmp ne i32 %call137, 0 + br i1 %tobool138, label %if.then144, label %lor.lhs.false139 + +lor.lhs.false139: ; preds = %if.else134 + %90 = load i8**, i8*** %argv, align 8 + %91 = load i32, i32* %k, align 4 + %idxprom140 = sext i32 %91 to i64 + %arrayidx141 = getelementptr inbounds i8*, i8** %90, i64 %idxprom140 + %92 = load i8*, i8** %arrayidx141, align 8 + %call142 = call i32 @__streq(i8* %92, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.18.47, i64 0, i64 0)) + %tobool143 = icmp ne i32 %call142, 0 + br i1 %tobool143, label %if.then144, label %if.else156 + +if.then144: ; preds = %lor.lhs.false139, %if.else134 + store i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.19.48, i64 0, i64 0), i8** %msg145, align 8 + %93 = load i32, i32* %k, align 4 + %inc146 = add nsw i32 %93, 1 + store i32 %inc146, i32* %k, align 4 + %94 = load i32, i32* %argc, align 4 + %cmp147 = icmp eq i32 %inc146, %94 + br i1 %cmp147, label %if.then149, label %if.end150 + +if.then149: ; preds = %if.then144 + %95 = load i8*, i8** %msg145, align 8 + call void @__emit_error(i8* %95) + br label %if.end150 + +if.end150: ; preds = %if.then149, %if.then144 + %96 = load i8**, i8*** %argv, align 8 + %97 = load i32, i32* %k, align 4 + %inc151 = add nsw i32 %97, 1 + store i32 %inc151, i32* %k, align 4 + %idxprom152 = sext i32 %97 to i64 + %arrayidx153 = getelementptr inbounds i8*, i8** %96, i64 %idxprom152 + %98 = load i8*, i8** %arrayidx153, align 8 + %99 = load i8*, i8** %msg145, align 8 + %call154 = call i64 @__str_to_int(i8* %98, i8* %99) + %conv155 = trunc i64 %call154 to i32 + store i32 %conv155, i32* %sym_stdin_len, align 4 + br label %if.end239 + +if.else156: ; preds = %lor.lhs.false139 + %100 = load i8**, i8*** %argv, align 8 + %101 = load i32, i32* %k, align 4 + %idxprom157 = sext i32 %101 to i64 + %arrayidx158 = getelementptr inbounds i8*, i8** %100, i64 %idxprom157 + %102 = load i8*, i8** %arrayidx158, align 8 + %call159 = call i32 @__streq(i8* %102, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.20.49, i64 0, i64 0)) + %tobool160 = icmp ne i32 %call159, 0 + br i1 %tobool160, label %if.then166, label %lor.lhs.false161 + +lor.lhs.false161: ; preds = %if.else156 + %103 = load i8**, i8*** %argv, align 8 + %104 = load i32, i32* %k, align 4 + %idxprom162 = sext i32 %104 to i64 + %arrayidx163 = getelementptr inbounds i8*, i8** %103, i64 %idxprom162 + %105 = load i8*, i8** %arrayidx163, align 8 + %call164 = call i32 @__streq(i8* %105, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.21.50, i64 0, i64 0)) + %tobool165 = icmp ne i32 %call164, 0 + br i1 %tobool165, label %if.then166, label %if.else168 + +if.then166: ; preds = %lor.lhs.false161, %if.else156 + store i32 1, i32* %sym_stdout_flag, align 4 + %106 = load i32, i32* %k, align 4 + %inc167 = add nsw i32 %106, 1 + store i32 %inc167, i32* %k, align 4 + br label %if.end239 + +if.else168: ; preds = %lor.lhs.false161 + %107 = load i8**, i8*** %argv, align 8 + %108 = load i32, i32* %k, align 4 + %idxprom169 = sext i32 %108 to i64 + %arrayidx170 = getelementptr inbounds i8*, i8** %107, i64 %idxprom169 + %109 = load i8*, i8** %arrayidx170, align 8 + %call171 = call i32 @__streq(i8* %109, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.22.51, i64 0, i64 0)) + %tobool172 = icmp ne i32 %call171, 0 + br i1 %tobool172, label %if.then178, label %lor.lhs.false173 + +lor.lhs.false173: ; preds = %if.else168 + %110 = load i8**, i8*** %argv, align 8 + %111 = load i32, i32* %k, align 4 + %idxprom174 = sext i32 %111 to i64 + %arrayidx175 = getelementptr inbounds i8*, i8** %110, i64 %idxprom174 + %112 = load i8*, i8** %arrayidx175, align 8 + %call176 = call i32 @__streq(i8* %112, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23.52, i64 0, i64 0)) + %tobool177 = icmp ne i32 %call176, 0 + br i1 %tobool177, label %if.then178, label %if.else180 + +if.then178: ; preds = %lor.lhs.false173, %if.else168 + store i32 1, i32* %save_all_writes_flag, align 4 + %113 = load i32, i32* %k, align 4 + %inc179 = add nsw i32 %113, 1 + store i32 %inc179, i32* %k, align 4 + br label %if.end239 + +if.else180: ; preds = %lor.lhs.false173 + %114 = load i8**, i8*** %argv, align 8 + %115 = load i32, i32* %k, align 4 + %idxprom181 = sext i32 %115 to i64 + %arrayidx182 = getelementptr inbounds i8*, i8** %114, i64 %idxprom181 + %116 = load i8*, i8** %arrayidx182, align 8 + %call183 = call i32 @__streq(i8* %116, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.24.53, i64 0, i64 0)) + %tobool184 = icmp ne i32 %call183, 0 + br i1 %tobool184, label %if.then190, label %lor.lhs.false185 + +lor.lhs.false185: ; preds = %if.else180 + %117 = load i8**, i8*** %argv, align 8 + %118 = load i32, i32* %k, align 4 + %idxprom186 = sext i32 %118 to i64 + %arrayidx187 = getelementptr inbounds i8*, i8** %117, i64 %idxprom186 + %119 = load i8*, i8** %arrayidx187, align 8 + %call188 = call i32 @__streq(i8* %119, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.25.54, i64 0, i64 0)) + %tobool189 = icmp ne i32 %call188, 0 + br i1 %tobool189, label %if.then190, label %if.else192 + +if.then190: ; preds = %lor.lhs.false185, %if.else180 + store i32 1, i32* %fd_fail, align 4 + %120 = load i32, i32* %k, align 4 + %inc191 = add nsw i32 %120, 1 + store i32 %inc191, i32* %k, align 4 + br label %if.end239 + +if.else192: ; preds = %lor.lhs.false185 + %121 = load i8**, i8*** %argv, align 8 + %122 = load i32, i32* %k, align 4 + %idxprom193 = sext i32 %122 to i64 + %arrayidx194 = getelementptr inbounds i8*, i8** %121, i64 %idxprom193 + %123 = load i8*, i8** %arrayidx194, align 8 + %call195 = call i32 @__streq(i8* %123, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.26.55, i64 0, i64 0)) + %tobool196 = icmp ne i32 %call195, 0 + br i1 %tobool196, label %if.then202, label %lor.lhs.false197 + +lor.lhs.false197: ; preds = %if.else192 + %124 = load i8**, i8*** %argv, align 8 + %125 = load i32, i32* %k, align 4 + %idxprom198 = sext i32 %125 to i64 + %arrayidx199 = getelementptr inbounds i8*, i8** %124, i64 %idxprom198 + %126 = load i8*, i8** %arrayidx199, align 8 + %call200 = call i32 @__streq(i8* %126, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.27.56, i64 0, i64 0)) + %tobool201 = icmp ne i32 %call200, 0 + br i1 %tobool201, label %if.then202, label %if.else204 + +if.then202: ; preds = %lor.lhs.false197, %if.else192 + %127 = load i32, i32* %k, align 4 + %add203 = add nsw i32 %127, 2 + store i32 %add203, i32* %k, align 4 + br label %if.end239 + +if.else204: ; preds = %lor.lhs.false197 + %128 = load i8**, i8*** %argv, align 8 + %129 = load i32, i32* %k, align 4 + %idxprom205 = sext i32 %129 to i64 + %arrayidx206 = getelementptr inbounds i8*, i8** %128, i64 %idxprom205 + %130 = load i8*, i8** %arrayidx206, align 8 + %call207 = call i32 @__streq(i8* %130, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.28.57, i64 0, i64 0)) + %tobool208 = icmp ne i32 %call207, 0 + br i1 %tobool208, label %if.then214, label %lor.lhs.false209 + +lor.lhs.false209: ; preds = %if.else204 + %131 = load i8**, i8*** %argv, align 8 + %132 = load i32, i32* %k, align 4 + %idxprom210 = sext i32 %132 to i64 + %arrayidx211 = getelementptr inbounds i8*, i8** %131, i64 %idxprom210 + %133 = load i8*, i8** %arrayidx211, align 8 + %call212 = call i32 @__streq(i8* %133, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.29.58, i64 0, i64 0)) + %tobool213 = icmp ne i32 %call212, 0 + br i1 %tobool213, label %if.then214, label %if.else226 + +if.then214: ; preds = %lor.lhs.false209, %if.else204 + store i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.30, i64 0, i64 0), i8** %msg215, align 8 + %134 = load i32, i32* %k, align 4 + %inc216 = add nsw i32 %134, 1 + store i32 %inc216, i32* %k, align 4 + %135 = load i32, i32* %argc, align 4 + %cmp217 = icmp eq i32 %inc216, %135 + br i1 %cmp217, label %if.then219, label %if.end220 + +if.then219: ; preds = %if.then214 + %136 = load i8*, i8** %msg215, align 8 + call void @__emit_error(i8* %136) + br label %if.end220 + +if.end220: ; preds = %if.then219, %if.then214 + %137 = load i8**, i8*** %argv, align 8 + %138 = load i32, i32* %k, align 4 + %inc221 = add nsw i32 %138, 1 + store i32 %inc221, i32* %k, align 4 + %idxprom222 = sext i32 %138 to i64 + %arrayidx223 = getelementptr inbounds i8*, i8** %137, i64 %idxprom222 + %139 = load i8*, i8** %arrayidx223, align 8 + %140 = load i8*, i8** %msg215, align 8 + %call224 = call i64 @__str_to_int(i8* %139, i8* %140) + %conv225 = trunc i64 %call224 to i32 + store i32 %conv225, i32* %fd_fail, align 4 + br label %if.end239 + +if.else226: ; preds = %lor.lhs.false209 + %arraydecay227 = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %141 = load i8**, i8*** %argv, align 8 + %142 = load i32, i32* %k, align 4 + %inc228 = add nsw i32 %142, 1 + store i32 %inc228, i32* %k, align 4 + %idxprom229 = sext i32 %142 to i64 + %arrayidx230 = getelementptr inbounds i8*, i8** %141, i64 %idxprom229 + %143 = load i8*, i8** %arrayidx230, align 8 + call void @__add_arg(i32* %new_argc, i8** %arraydecay227, i8* %143, i32 1024) + br label %if.end239 + +if.end239: ; preds = %for.cond, %if.end150, %if.then178, %if.then202, %if.else226, %if.end220, %if.then190, %if.then166, %if.end129, %if.then132, %if.end21 + br label %while.cond + +while.end: ; preds = %while.cond + %144 = load i32, i32* %new_argc, align 4 + %add240 = add nsw i32 %144, 1 + %conv241 = sext i32 %add240 to i64 + %mul = mul i64 %conv241, 8 + %call242 = call noalias i8* @malloc(i64 %mul) #11 + %145 = bitcast i8* %call242 to i8** + store i8** %145, i8*** %final_argv, align 8 + %146 = load i8**, i8*** %final_argv, align 8 + %tobool243 = icmp ne i8** %146, null + br i1 %tobool243, label %if.end245, label %if.then244 + +if.then244: ; preds = %while.end + call void @__emit_error(i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.31, i64 0, i64 0)) + br label %if.end245 + +if.end245: ; preds = %if.then244, %while.end + %147 = load i8**, i8*** %final_argv, align 8 + %148 = bitcast i8** %147 to i8* + %arraydecay246 = getelementptr inbounds [1024 x i8*], [1024 x i8*]* %new_argv, i64 0, i64 0 + %149 = bitcast i8** %arraydecay246 to i8* + %150 = load i32, i32* %new_argc, align 4 + %conv247 = sext i32 %150 to i64 + %mul248 = mul i64 %conv247, 8 + %151 = call i8* @memcpy(i8* %148, i8* %149, i64 %mul248) + %152 = load i8**, i8*** %final_argv, align 8 + %153 = load i32, i32* %new_argc, align 4 + %idxprom249 = sext i32 %153 to i64 + %arrayidx250 = getelementptr inbounds i8*, i8** %152, i64 %idxprom249 + store i8* null, i8** %arrayidx250, align 8 + %154 = load i32, i32* %new_argc, align 4 + %155 = load i32*, i32** %argcPtr.addr, align 8 + store i32 %154, i32* %155, align 4 + %156 = load i8**, i8*** %final_argv, align 8 + %157 = load i8***, i8**** %argvPtr.addr, align 8 + store i8** %156, i8*** %157, align 8 + %158 = load i32, i32* %sym_files, align 4 + %159 = load i32, i32* %sym_file_len, align 4 + %160 = load i32, i32* %sym_stdin_len, align 4 + %161 = load i32, i32* %sym_stdout_flag, align 4 + %162 = load i32, i32* %save_all_writes_flag, align 4 + %163 = load i32, i32* %fd_fail, align 4 + call void @klee_init_fds(i32 %158, i32 %159, i32 %160, i32 %161, i32 %162, i32 %163) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__streq(i8* %a, i8* %b) #3 { +entry: + %retval = alloca i32, align 4 + %a.addr = alloca i8*, align 8 + %b.addr = alloca i8*, align 8 + store i8* %a, i8** %a.addr, align 8 + store i8* %b, i8** %b.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %0 = load i8*, i8** %a.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %2 = load i8*, i8** %b.addr, align 8 + %3 = load i8, i8* %2, align 1 + %conv1 = sext i8 %3 to i32 + %cmp = icmp eq i32 %conv, %conv1 + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i8*, i8** %a.addr, align 8 + %5 = load i8, i8* %4, align 1 + %tobool = icmp ne i8 %5, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %while.body + store i32 1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %while.body + %6 = load i8*, i8** %a.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %a.addr, align 8 + %7 = load i8*, i8** %b.addr, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %7, i32 1 + store i8* %incdec.ptr3, i8** %b.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %while.end, %if.then + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__emit_error(i8* %msg) #3 { +entry: + %msg.addr = alloca i8*, align 8 + store i8* %msg, i8** %msg.addr, align 8 + %0 = load i8*, i8** %msg.addr, align 8 + call void @gs_report_error.59(i8* getelementptr inbounds ([88 x i8], [88 x i8]* @.str.32, i64 0, i64 0), i32 21, i8* %0, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.33, i64 0, i64 0)) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @__str_to_int(i8* %s, i8* %error_msg) #3 { +entry: + %s.addr = alloca i8*, align 8 + %error_msg.addr = alloca i8*, align 8 + %res = alloca i64, align 8 + %c = alloca i8, align 1 + store i8* %s, i8** %s.addr, align 8 + store i8* %error_msg, i8** %error_msg.addr, align 8 + store i64 0, i64* %res, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i8, i8* %0, align 1 + %tobool = icmp ne i8 %1, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %2 = load i8*, i8** %error_msg.addr, align 8 + call void @__emit_error(i8* %2) + br label %if.end + +if.end: ; preds = %if.then, %entry + br label %while.cond + +while.cond: ; preds = %if.end9, %if.end + %3 = load i8*, i8** %s.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %s.addr, align 8 + %4 = load i8, i8* %3, align 1 + store i8 %4, i8* %c, align 1 + %tobool1 = icmp ne i8 %4, 0 + br i1 %tobool1, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %5 = load i8, i8* %c, align 1 + %conv = sext i8 %5 to i32 + %cmp = icmp sge i32 %conv, 48 + br i1 %cmp, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %while.body + %6 = load i8, i8* %c, align 1 + %conv3 = sext i8 %6 to i32 + %cmp4 = icmp sle i32 %conv3, 57 + br i1 %cmp4, label %if.then6, label %if.else + +if.then6: ; preds = %land.lhs.true + %7 = load i64, i64* %res, align 8 + %mul = mul nsw i64 %7, 10 + %8 = load i8, i8* %c, align 1 + %conv7 = sext i8 %8 to i32 + %sub = sub nsw i32 %conv7, 48 + %conv8 = sext i32 %sub to i64 + %add = add nsw i64 %mul, %conv8 + store i64 %add, i64* %res, align 8 + br label %if.end9 + +if.else: ; preds = %land.lhs.true, %while.body + %9 = load i8*, i8** %error_msg.addr, align 8 + call void @__emit_error(i8* %9) + br label %if.end9 + +if.end9: ; preds = %if.else, %if.then6 + br label %while.cond + +while.end: ; preds = %while.cond + %10 = load i64, i64* %res, align 8 + ret i64 %10 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @__get_sym_str(i32 %numChars, i8* %name) #3 { +entry: + %numChars.addr = alloca i32, align 4 + %name.addr = alloca i8*, align 8 + %i = alloca i32, align 4 + %s = alloca i8*, align 8 + store i32 %numChars, i32* %numChars.addr, align 4 + store i8* %name, i8** %name.addr, align 8 + %0 = load i32, i32* %numChars.addr, align 4 + %add = add nsw i32 %0, 1 + %conv = sext i32 %add to i64 + %call = call noalias i8* @malloc(i64 %conv) #11 + store i8* %call, i8** %s, align 8 + %1 = load i8*, i8** %s, align 8 + %tobool = icmp ne i8* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @__emit_error(i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.31, i64 0, i64 0)) + br label %if.end + +if.end: ; preds = %if.then, %entry + %2 = load i8*, i8** %s, align 8 + %3 = load i32, i32* %numChars.addr, align 4 + %add1 = add nsw i32 %3, 1 + %conv2 = sext i32 %add1 to i64 + %4 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %2, i64 %conv2, i8* %4) + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %5 = load i32, i32* %i, align 4 + %6 = load i32, i32* %numChars.addr, align 4 + %cmp = icmp slt i32 %5, %6 + %7 = load i8*, i8** %s, align 8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %8 = load i8*, i8** %s, align 8 + %9 = load i32, i32* %i, align 4 + %idxprom = sext i32 %9 to i64 + %arrayidx = getelementptr inbounds i8, i8* %8, i64 %idxprom + %10 = load i8, i8* %arrayidx, align 1 + %call4 = call i32 @__isprint(i8 signext %10) + %tobool5 = icmp ne i32 %call4, 0 + call void @gs_posix_prefer_cex(i8* %7, i1 zeroext %tobool5) + %11 = load i32, i32* %i, align 4 + %inc = add nsw i32 %11, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %12 = load i32, i32* %numChars.addr, align 4 + %idxprom6 = sext i32 %12 to i64 + %arrayidx7 = getelementptr inbounds i8, i8* %7, i64 %idxprom6 + store i8 0, i8* %arrayidx7, align 1 + %13 = load i8*, i8** %s, align 8 + ret i8* %13 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__add_arg(i32* %argc, i8** %argv, i8* %arg, i32 %argcMax) #3 { +entry: + %argc.addr = alloca i32*, align 8 + %argv.addr = alloca i8**, align 8 + %arg.addr = alloca i8*, align 8 + %argcMax.addr = alloca i32, align 4 + store i32* %argc, i32** %argc.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i32 %argcMax, i32* %argcMax.addr, align 4 + %0 = load i32*, i32** %argc.addr, align 8 + %1 = load i32, i32* %0, align 4 + %2 = load i32, i32* %argcMax.addr, align 4 + %cmp = icmp eq i32 %1, %2 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + call void @__emit_error(i8* getelementptr inbounds ([37 x i8], [37 x i8]* @.str.35, i64 0, i64 0)) + br label %if.end + +if.else: ; preds = %entry + %3 = load i8*, i8** %arg.addr, align 8 + %4 = load i8**, i8*** %argv.addr, align 8 + %5 = load i32*, i32** %argc.addr, align 8 + %6 = load i32, i32* %5, align 4 + %idxprom = sext i32 %6 to i64 + %arrayidx = getelementptr inbounds i8*, i8** %4, i64 %idxprom + store i8* %3, i8** %arrayidx, align 8 + %7 = load i32*, i32** %argc.addr, align 8 + %8 = load i32, i32* %7, align 4 + %inc = add nsw i32 %8, 1 + store i32 %inc, i32* %7, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @gs_range(i32 %begin, i32 %end, i8* %name) #3 { +entry: + %begin.addr = alloca i32, align 4 + %end.addr = alloca i32, align 4 + %name.addr = alloca i8*, align 8 + %x = alloca i32, align 4 + store i32 %begin, i32* %begin.addr, align 4 + store i32 %end, i32* %end.addr, align 4 + store i8* %name, i8** %name.addr, align 8 + %0 = bitcast i32* %x to i8* + %1 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %0, i64 4, i8* %1) + %2 = load i32, i32* %x, align 4 + %3 = load i32, i32* %begin.addr, align 4 + %cmp = icmp sge i32 %2, %3 + call void @gs_assume(i1 zeroext %cmp) + %4 = load i32, i32* %x, align 4 + %5 = load i32, i32* %end.addr, align 4 + %cmp1 = icmp slt i32 %4, %5 + call void @gs_assume(i1 zeroext %cmp1) + %6 = load i32, i32* %x, align 4 + ret i32 %6 +} + +declare dso_local void @make_symbolic(i8*, i64, ...) #5 + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__isprint(i8 signext %c) #3 { +entry: + %c.addr = alloca i8, align 1 + store i8 %c, i8* %c.addr, align 1 + %0 = load i8, i8* %c.addr, align 1 + %conv = sext i8 %0 to i32 + %cmp = icmp sle i32 32, %conv + %conv1 = zext i1 %cmp to i32 + %1 = load i8, i8* %c.addr, align 1 + %conv2 = sext i8 %1 to i32 + %cmp3 = icmp sle i32 %conv2, 126 + %conv4 = zext i1 %cmp3 to i32 + %and = and i32 %conv1, %conv4 + ret i32 %and +} + +declare dso_local void @gs_posix_prefer_cex(i8*, i1 zeroext) #5 + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error.59(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.34, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__user_main(i32 %argcPtr, i8** %argvPtr, i8** %envp) #3 { +entry: + %argcPtr.addr = alloca i32, align 4 + %argvPtr.addr = alloca i8**, align 8 + %envp.addr = alloca i8**, align 8 + store i32 %argcPtr, i32* %argcPtr.addr, align 4 + store i8** %argvPtr, i8*** %argvPtr.addr, align 8 + store i8** %envp, i8*** %envp.addr, align 8 + call void @klee_init_env(i32* %argcPtr.addr, i8*** %argvPtr.addr) + %0 = load i32, i32* %argcPtr.addr, align 4 + %1 = load i8**, i8*** %argvPtr.addr, align 8 + %2 = load i8**, i8*** %envp.addr, align 8 + %call = call i32 bitcast (i32 (i32, i8**)* @__klee_posix_wrapped_main to i32 (i32, i8**, i8**)*)(i32 %0, i8** %1, i8** %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind readnone uwtable +declare i32* @__errno_location() #12 + +; Function Attrs: noinline nounwind readnone uwtable +define weak i32* @__h_errno_location() #12 { +entry: + ret i32* @h_errno +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @___path_search(i8* %tmpl, i64 %tmpl_len, i8* %dir, i8* %pfx) #0 { +entry: + %retval = alloca i32, align 4 + %tmpl.addr = alloca i8*, align 8 + %tmpl_len.addr = alloca i64, align 8 + %dir.addr = alloca i8*, align 8 + %pfx.addr = alloca i8*, align 8 + %dlen = alloca i64, align 8 + %plen = alloca i64, align 8 + store i8* %tmpl, i8** %tmpl.addr, align 8 + store i64 %tmpl_len, i64* %tmpl_len.addr, align 8 + store i8* %dir, i8** %dir.addr, align 8 + store i8* %pfx, i8** %pfx.addr, align 8 + %0 = load i8*, i8** %pfx.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %lor.lhs.false, label %if.then + +lor.lhs.false: ; preds = %entry + %1 = load i8*, i8** %pfx.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %tobool1 = icmp ne i8 %2, 0 + br i1 %tobool1, label %if.else, label %if.then + +if.then: ; preds = %lor.lhs.false, %entry + store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.68, i64 0, i64 0), i8** %pfx.addr, align 8 + store i64 4, i64* %plen, align 8 + br label %if.end3 + +if.else: ; preds = %lor.lhs.false + %3 = load i8*, i8** %pfx.addr, align 8 + %call = call i64 @strlen(i8* %3) #20 + store i64 %call, i64* %plen, align 8 + %4 = load i64, i64* %plen, align 8 + %cmp = icmp ugt i64 %4, 5 + %spec.store.select = select i1 %cmp, i64 5, i64 %call + store i64 %spec.store.select, i64* %plen, align 8 + br label %if.end3 + +if.end3: ; preds = %if.else, %if.then + %5 = load i8*, i8** %dir.addr, align 8 + %cmp4 = icmp eq i8* %5, null + br i1 %cmp4, label %if.then5, label %if.end18 + +if.then5: ; preds = %if.end3 + %call6 = call i32 @direxists(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0)) #18 + %tobool7 = icmp ne i32 %call6, 0 + br i1 %tobool7, label %if.then8, label %if.else9 + +if.then8: ; preds = %if.then5 + store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0), i8** %dir.addr, align 8 + br label %if.end18 + +if.else9: ; preds = %if.then5 + %call10 = call i32 @strcmp(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0)) #20 + %cmp11 = icmp ne i32 %call10, 0 + br i1 %cmp11, label %land.lhs.true, label %if.else15 + +land.lhs.true: ; preds = %if.else9 + %call12 = call i32 @direxists(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0)) #18 + %tobool13 = icmp ne i32 %call12, 0 + br i1 %tobool13, label %if.then14, label %if.else15 + +if.then14: ; preds = %land.lhs.true + store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.69, i64 0, i64 0), i8** %dir.addr, align 8 + br label %if.end18 + +if.else15: ; preds = %land.lhs.true, %if.else9 + store i32 2, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %if.then8, %if.then14, %if.end3 + %6 = load i8*, i8** %dir.addr, align 8 + %call19 = call i64 @strlen(i8* %6) #20 + store i64 %call19, i64* %dlen, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %if.end18 + %7 = load i64, i64* %dlen, align 8 + %cmp20 = icmp ugt i64 %7, 1 + br i1 %cmp20, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %8 = load i8*, i8** %dir.addr, align 8 + %9 = load i64, i64* %dlen, align 8 + %sub = sub i64 %9, 1 + %arrayidx21 = getelementptr inbounds i8, i8* %8, i64 %sub + %10 = load i8, i8* %arrayidx21, align 1 + %conv = sext i8 %10 to i32 + %cmp22 = icmp eq i32 %conv, 47 + br i1 %cmp22, label %while.body, label %while.end + +while.body: ; preds = %land.rhs + %11 = load i64, i64* %dlen, align 8 + %dec = add i64 %11, -1 + store i64 %dec, i64* %dlen, align 8 + br label %while.cond + +while.end: ; preds = %while.cond, %land.rhs + %12 = load i64, i64* %tmpl_len.addr, align 8 + %13 = load i64, i64* %dlen, align 8 + %add = add i64 %13, 1 + %14 = load i64, i64* %plen, align 8 + %add24 = add i64 %add, %14 + %add25 = add i64 %add24, 6 + %add26 = add i64 %add25, 1 + %cmp27 = icmp ult i64 %12, %add26 + br i1 %cmp27, label %if.then29, label %if.end30 + +if.then29: ; preds = %while.end + store i32 22, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end30: ; preds = %while.end + %15 = load i8*, i8** %tmpl.addr, align 8 + %16 = load i64, i64* %dlen, align 8 + %17 = load i8*, i8** %dir.addr, align 8 + %18 = load i64, i64* %plen, align 8 + %19 = load i8*, i8** %pfx.addr, align 8 + %call31 = call i32 (i8*, i8*, ...) @sprintf(i8* %15, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.2.70, i64 0, i64 0), i64 %16, i8* %17, i64 %18, i8* %19) #19 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end30, %if.then29, %if.else15 + %20 = load i32, i32* %retval, align 4 + ret i32 %20 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @direxists(i8* %dir) #0 { +entry: + %dir.addr = alloca i8*, align 8 + %buf = alloca %struct.stat.192, align 8 + store i8* %dir, i8** %dir.addr, align 8 + %0 = load i8*, i8** %dir.addr, align 8 + %call = call i32 bitcast (i32 (i8*, %struct.stat64*)* @stat to i32 (i8*, %struct.stat.192*)*)(i8* %0, %struct.stat.192* %buf) #19 + %cmp = icmp eq i32 %call, 0 + %st_mode = getelementptr inbounds %struct.stat.192, %struct.stat.192* %buf, i32 0, i32 3 + %1 = load i32, i32* %st_mode, align 8 + %and = and i32 %1, 61440 + %cmp1 = icmp eq i32 %and, 16384 + %2 = select i1 %cmp, i1 %cmp1, i1 false + %land.ext = zext i1 %2 to i32 + ret i32 %land.ext +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__gen_tempname(i8* %tmpl, i32 %kind) #0 { +entry: + %retval = alloca i32, align 4 + %tmpl.addr = alloca i8*, align 8 + %kind.addr = alloca i32, align 4 + %XXXXXX = alloca i8*, align 8 + %i = alloca i32, align 4 + %fd = alloca i32, align 4 + %save_errno = alloca i32, align 4 + %randomness = alloca [6 x i8], align 1 + %len = alloca i64, align 8 + %j = alloca i32, align 4 + %st = alloca %struct.stat.192, align 8 + store i8* %tmpl, i8** %tmpl.addr, align 8 + store i32 %kind, i32* %kind.addr, align 4 + %0 = load i32, i32* @errno, align 4 + store i32 %0, i32* %save_errno, align 4 + %1 = load i8*, i8** %tmpl.addr, align 8 + %call = call i64 @strlen(i8* %1) #20 + store i64 %call, i64* %len, align 8 + %2 = load i8*, i8** %tmpl.addr, align 8 + %3 = load i64, i64* %len, align 8 + %add.ptr = getelementptr inbounds i8, i8* %2, i64 %3 + %add.ptr1 = getelementptr inbounds i8, i8* %add.ptr, i64 -6 + store i8* %add.ptr1, i8** %XXXXXX, align 8 + %4 = load i64, i64* %len, align 8 + %cmp = icmp ult i64 %4, 6 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %5 = load i8*, i8** %XXXXXX, align 8 + %call2 = call i32 @strcmp(i8* %5, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.3.73, i64 0, i64 0)) #20 + %tobool = icmp ne i32 %call2, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %lor.lhs.false, %entry + store i32 22, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %lor.lhs.false + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc44, %if.end + %6 = load i32, i32* %i, align 4 + %cmp3 = icmp ult i32 %6, 238328 + br i1 %cmp3, label %for.body, label %for.end46 + +for.body: ; preds = %for.cond + %arraydecay = getelementptr inbounds [6 x i8], [6 x i8]* %randomness, i64 0, i64 0 + %call4 = call i32 @fillrand(i8* %arraydecay, i32 6) #18 + %conv = zext i32 %call4 to i64 + %cmp5 = icmp ne i64 %conv, 6 + br i1 %cmp5, label %if.then7, label %if.end9 + +if.then7: ; preds = %for.body + %arraydecay8 = getelementptr inbounds [6 x i8], [6 x i8]* %randomness, i64 0, i64 0 + call void @brain_damaged_fillrand(i8* %arraydecay8, i32 6) #18 + br label %if.end9 + +if.end9: ; preds = %if.then7, %for.body + store i32 0, i32* %j, align 4 + br label %for.cond10 + +for.cond10: ; preds = %for.body14, %if.end9 + %7 = load i32, i32* %j, align 4 + %conv11 = sext i32 %7 to i64 + %cmp12 = icmp ult i64 %conv11, 6 + br i1 %cmp12, label %for.body14, label %for.end + +for.body14: ; preds = %for.cond10 + %8 = load i32, i32* %j, align 4 + %idxprom = sext i32 %8 to i64 + %arrayidx = getelementptr inbounds [6 x i8], [6 x i8]* %randomness, i64 0, i64 %idxprom + %9 = load i8, i8* %arrayidx, align 1 + %conv15 = zext i8 %9 to i32 + %rem = srem i32 %conv15, 62 + %idxprom16 = sext i32 %rem to i64 + %arrayidx17 = getelementptr inbounds [63 x i8], [63 x i8]* @letters, i64 0, i64 %idxprom16 + %10 = load i8, i8* %arrayidx17, align 1 + %11 = load i8*, i8** %XXXXXX, align 8 + %12 = load i32, i32* %j, align 4 + %idxprom18 = sext i32 %12 to i64 + %arrayidx19 = getelementptr inbounds i8, i8* %11, i64 %idxprom18 + store i8 %10, i8* %arrayidx19, align 1 + %13 = load i32, i32* %j, align 4 + %inc = add nsw i32 %13, 1 + store i32 %inc, i32* %j, align 4 + br label %for.cond10 + +for.end: ; preds = %for.cond10 + %14 = load i32, i32* %kind.addr, align 4 + br label %NodeBlock5 + +NodeBlock5: ; preds = %for.end + %case.cmp6 = icmp eq i32 %14, 3 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %14, 0 + br i1 %case.cmp4, label %sw.bb29, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %14, 1 + br i1 %case.cmp2, label %sw.bb31, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %14, 2 + br i1 %case.cmp, label %sw.bb33, label %newDefault + +sw.bb: ; preds = %NodeBlock5 + %15 = load i8*, i8** %tmpl.addr, align 8 + %call20 = call i32 bitcast (i32 (i8*, %struct.stat64*)* @stat to i32 (i8*, %struct.stat.192*)*)(i8* %15, %struct.stat.192* %st) #19 + %cmp21 = icmp slt i32 %call20, 0 + br i1 %cmp21, label %if.then23, label %if.else27 + +if.then23: ; preds = %sw.bb + %16 = load i32, i32* @errno, align 4 + %cmp24 = icmp eq i32 %16, 2 + br i1 %cmp24, label %if.then26, label %if.else + +if.then26: ; preds = %if.then23 + store i32 0, i32* %fd, align 4 + br label %restore_and_ret + +if.else: ; preds = %if.then23 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else27: ; preds = %sw.bb + store i32 0, i32* %fd, align 4 + br label %sw.bb29 + +sw.bb29: ; preds = %NodeBlock3, %if.else27 + %17 = load i8*, i8** %tmpl.addr, align 8 + %call30 = call i32 (i8*, i32, ...) @open(i8* %17, i32 194, i32 384) #18 + store i32 %call30, i32* %fd, align 4 + br label %sw.epilog + +sw.bb31: ; preds = %NodeBlock1 + %18 = load i8*, i8** %tmpl.addr, align 8 + %call32 = call i32 (i8*, i32, ...) @open64(i8* %18, i32 194, i32 384) #18 + store i32 %call32, i32* %fd, align 4 + br label %sw.epilog + +sw.bb33: ; preds = %NodeBlock + %19 = load i8*, i8** %tmpl.addr, align 8 + %call34 = call i32 @mkdir(i8* %19, i32 448) #19 + store i32 %call34, i32* %fd, align 4 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i32 -1, i32* %fd, align 4 + br label %sw.epilog + +sw.epilog: ; preds = %sw.default, %sw.bb33, %sw.bb31, %sw.bb29 + %20 = load i32, i32* %fd, align 4 + %cmp35 = icmp sge i32 %20, 0 + br i1 %cmp35, label %restore_and_ret, label %if.else38 + +restore_and_ret: ; preds = %sw.epilog, %if.then26 + %21 = load i32, i32* %save_errno, align 4 + store i32 %21, i32* @errno, align 4 + %22 = load i32, i32* %fd, align 4 + store i32 %22, i32* %retval, align 4 + br label %return + +if.else38: ; preds = %sw.epilog + %23 = load i32, i32* @errno, align 4 + %cmp39 = icmp ne i32 %23, 17 + br i1 %cmp39, label %if.then41, label %for.inc44 + +if.then41: ; preds = %if.else38 + store i32 -1, i32* %retval, align 4 + br label %return + +for.inc44: ; preds = %if.else38 + %24 = load i32, i32* %i, align 4 + %inc45 = add i32 %24, 1 + store i32 %inc45, i32* %i, align 4 + br label %for.cond + +for.end46: ; preds = %for.cond + store i32 17, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %for.end46, %if.then41, %restore_and_ret, %if.else, %if.then + %25 = load i32, i32* %retval, align 4 + ret i32 %25 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @fillrand(i8* %buf, i32 %len) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %len.addr = alloca i32, align 4 + %fd = alloca i32, align 4 + %result = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i32 %len, i32* %len.addr, align 4 + store i32 -1, i32* %result, align 4 + %call = call i32 (i8*, i32, ...) @open(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.4.74, i64 0, i64 0), i32 0) #18 + store i32 %call, i32* %fd, align 4 + %0 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %0, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call1 = call i32 (i8*, i32, ...) @open(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.5.75, i64 0, i64 0), i32 2048) #18 + store i32 %call1, i32* %fd, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i32, i32* %fd, align 4 + %cmp2 = icmp sge i32 %1, 0 + br i1 %cmp2, label %if.then3, label %if.end7 + +if.then3: ; preds = %if.end + %2 = load i32, i32* %fd, align 4 + %3 = load i8*, i8** %buf.addr, align 8 + %4 = load i32, i32* %len.addr, align 4 + %conv = zext i32 %4 to i64 + %call4 = call i64 @read(i32 %2, i8* %3, i64 %conv) #18 + %conv5 = trunc i64 %call4 to i32 + store i32 %conv5, i32* %result, align 4 + %5 = load i32, i32* %fd, align 4 + %call6 = call i32 @close(i32 %5) #18 + br label %if.end7 + +if.end7: ; preds = %if.then3, %if.end + %6 = load i32, i32* %result, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @brain_damaged_fillrand(i8* %buf, i32 %len) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %len.addr = alloca i32, align 4 + %i = alloca i32, align 4 + %k = alloca i32, align 4 + %tv = alloca %struct.timespec, align 8 + %high = alloca i32, align 4 + %low = alloca i32, align 4 + %rh = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i32 %len, i32* %len.addr, align 4 + %call = call i32 bitcast (i32 (%struct.timespec*, i8*)* @gettimeofday to i32 (%struct.timespec*, %struct.__mbstate_t.512*)*)(%struct.timespec* %tv, %struct.__mbstate_t.512* null) #19 + %tv_usec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 1 + %0 = load i64, i64* %tv_usec, align 8 + %shl = shl i64 %0, 16 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %1 = load i64, i64* %tv_sec, align 8 + %xor = xor i64 %shl, %1 + %call1 = call i32 @getpid() #19 + %conv = sext i32 %call1 to i64 + %xor2 = xor i64 %xor, %conv + %2 = load i64, i64* @brain_damaged_fillrand.value, align 8 + %add = add i64 %2, %xor2 + store i64 %add, i64* @brain_damaged_fillrand.value, align 8 + %3 = load i64, i64* @brain_damaged_fillrand.value, align 8 + %and = and i64 %3, 4294967295 + %conv3 = trunc i64 %and to i32 + store i32 %conv3, i32* %low, align 4 + %4 = load i64, i64* @brain_damaged_fillrand.value, align 8 + %shr = lshr i64 %4, 32 + %conv4 = trunc i64 %shr to i32 + store i32 %conv4, i32* %high, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %5 = load i32, i32* %i, align 4 + %6 = load i32, i32* %len.addr, align 4 + %cmp = icmp ult i32 %5, %6 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %7 = load i32, i32* %high, align 4 + %rem = urem i32 %7, 62 + store i32 %rem, i32* %rh, align 4 + %8 = load i32, i32* %high, align 4 + %div = udiv i32 %8, 62 + store i32 %div, i32* %high, align 4 + %9 = load i32, i32* %low, align 4 + %rem6 = urem i32 %9, 62 + %10 = load i32, i32* %rh, align 4 + %mul = mul i32 4, %10 + %add7 = add i32 %rem6, %mul + store i32 %add7, i32* %k, align 4 + %11 = load i32, i32* %low, align 4 + %div8 = udiv i32 %11, 62 + %12 = load i32, i32* %rh, align 4 + %mul9 = mul i32 69273666, %12 + %add10 = add i32 %div8, %mul9 + %13 = load i32, i32* %k, align 4 + %div11 = udiv i32 %13, 62 + %add12 = add i32 %add10, %div11 + store i32 %add12, i32* %low, align 4 + %14 = load i32, i32* %k, align 4 + %rem13 = urem i32 %14, 62 + store i32 %rem13, i32* %k, align 4 + %15 = load i32, i32* %k, align 4 + %idxprom = zext i32 %15 to i64 + %arrayidx = getelementptr inbounds [63 x i8], [63 x i8]* @letters, i64 0, i64 %idxprom + %16 = load i8, i8* %arrayidx, align 1 + %17 = load i8*, i8** %buf.addr, align 8 + %18 = load i32, i32* %i, align 4 + %idxprom14 = zext i32 %18 to i64 + %arrayidx15 = getelementptr inbounds i8, i8* %17, i64 %idxprom14 + store i8 %16, i8* %arrayidx15, align 1 + %19 = load i32, i32* %i, align 4 + %inc = add i32 %19, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + ret void +} + +; Function Attrs: nounwind +declare i32 @getpid() #2 + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_locale_set_l(i8* %p, %struct.__uclibc_locale_struct.201* %base) #0 { +entry: + %retval = alloca i32, align 4 + %p.addr = alloca i8*, align 8 + %base.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %x = alloca i8**, align 8 + %s = alloca i8*, align 8 + %stp = alloca i64*, align 8 + %r = alloca i8*, align 8 + %io = alloca i16*, align 8 + %ii = alloca i16*, align 8 + %d = alloca i8*, align 8 + %row = alloca i32, align 4 + %crow = alloca i32, align 4 + %len = alloca i32, align 4 + %c = alloca i32, align 4 + %i = alloca i32, align 4 + %newcol = alloca %struct.__collate_t.200, align 8 + %c8b = alloca %struct.__codeset_8_bit_t.202*, align 8 + %u = alloca i32, align 4 + %m = alloca i16, align 2 + store i8* %p, i8** %p.addr, align 8 + store %struct.__uclibc_locale_struct.201* %base, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 6 + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 1 + store i8* %add.ptr, i8** %s, align 8 + store i32 0, i32* %i, align 4 + %1 = load i8*, i8** %p.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %1, i32 1 + store i8* %incdec.ptr, i8** %p.addr, align 8 + %index2weight = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %newcol, i32 0, i32 23 + store i16* null, i16** %index2weight, align 8 + %2 = load i8*, i8** %p.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %2, i64 8 + %3 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %3 to i32 + %4 = load i8*, i8** %s, align 8 + %arrayidx1 = getelementptr inbounds i8, i8* %4, i64 8 + %5 = load i8, i8* %arrayidx1, align 1 + %conv2 = zext i8 %5 to i32 + %cmp = icmp ne i32 %conv, %conv2 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %6 = load i8*, i8** %p.addr, align 8 + %arrayidx4 = getelementptr inbounds i8, i8* %6, i64 9 + %7 = load i8, i8* %arrayidx4, align 1 + %conv5 = zext i8 %7 to i32 + %8 = load i8*, i8** %s, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %8, i64 9 + %9 = load i8, i8* %arrayidx6, align 1 + %conv7 = zext i8 %9 to i32 + %cmp8 = icmp ne i32 %conv5, %conv7 + br i1 %cmp8, label %if.then, label %if.end22 + +if.then: ; preds = %lor.lhs.false, %entry + %10 = load i8*, i8** %p.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv10 = zext i8 %11 to i32 + %and = and i32 %conv10, 127 + %shl = shl i32 %and, 7 + %12 = load i8*, i8** %p.addr, align 8 + %arrayidx11 = getelementptr inbounds i8, i8* %12, i64 1 + %13 = load i8, i8* %arrayidx11, align 1 + %conv12 = zext i8 %13 to i32 + %and13 = and i32 %conv12, 127 + %add = add nsw i32 %shl, %and13 + store i32 %add, i32* %row, align 4 + %14 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %14, i32 0, i32 31 + %15 = load i32, i32* %row, align 4 + %mul = mul nsw i32 9, %15 + %add14 = add nsw i32 %mul, 3 + %add15 = add nsw i32 %add14, 4 + %idxprom = sext i32 %add15 to i64 + %arrayidx16 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales, i64 0, i64 %idxprom + %16 = load i8, i8* %arrayidx16, align 1 + %conv17 = zext i8 %16 to i32 + %call = call i32 @init_cur_collate(i32 %conv17, %struct.__collate_t.200* %newcol) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end, label %if.then18 + +if.then18: ; preds = %if.then + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %if.then + %17 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %collate = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %17, i32 0, i32 118 + %index2weight19 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %collate, i32 0, i32 23 + %18 = load i16*, i16** %index2weight19, align 8 + %19 = bitcast i16* %18 to i8* + call void @free(i8* %19) #19 + %20 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %collate20 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %20, i32 0, i32 118 + %21 = bitcast %struct.__collate_t.200* %collate20 to i8* + %22 = bitcast %struct.__collate_t.200* %newcol to i8* + %call21 = call i8* @memcpy(i8* %21, i8* %22, i64 112) #19 + br label %if.end22 + +if.end22: ; preds = %if.end, %lor.lhs.false + br label %do.body + +do.body: ; preds = %if.end313, %if.end22 + %23 = load i8*, i8** %p.addr, align 8 + %24 = load i8, i8* %23, align 1 + %conv23 = zext i8 %24 to i32 + %25 = load i8*, i8** %s, align 8 + %26 = load i8, i8* %25, align 1 + %conv24 = zext i8 %26 to i32 + %cmp25 = icmp ne i32 %conv23, %conv24 + br i1 %cmp25, label %if.then34, label %lor.lhs.false27 + +lor.lhs.false27: ; preds = %do.body + %27 = load i8*, i8** %p.addr, align 8 + %arrayidx28 = getelementptr inbounds i8, i8* %27, i64 1 + %28 = load i8, i8* %arrayidx28, align 1 + %conv29 = zext i8 %28 to i32 + %29 = load i8*, i8** %s, align 8 + %arrayidx30 = getelementptr inbounds i8, i8* %29, i64 1 + %30 = load i8, i8* %arrayidx30, align 1 + %conv31 = zext i8 %30 to i32 + %cmp32 = icmp ne i32 %conv29, %conv31 + br i1 %cmp32, label %if.then34, label %if.end313 + +if.then34: ; preds = %lor.lhs.false27, %do.body + %31 = load i8*, i8** %p.addr, align 8 + %32 = load i8, i8* %31, align 1 + %conv35 = zext i8 %32 to i32 + %and36 = and i32 %conv35, 127 + %shl37 = shl i32 %and36, 7 + %33 = load i8*, i8** %p.addr, align 8 + %arrayidx38 = getelementptr inbounds i8, i8* %33, i64 1 + %34 = load i8, i8* %arrayidx38, align 1 + %conv39 = zext i8 %34 to i32 + %and40 = and i32 %conv39, 127 + %add41 = add nsw i32 %shl37, %and40 + store i32 %add41, i32* %row, align 4 + %35 = load i8*, i8** %p.addr, align 8 + %36 = load i8, i8* %35, align 1 + %37 = load i8*, i8** %s, align 8 + store i8 %36, i8* %37, align 1 + %38 = load i8*, i8** %p.addr, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %38, i64 1 + %39 = load i8, i8* %arrayidx42, align 1 + %40 = load i8*, i8** %s, align 8 + %arrayidx43 = getelementptr inbounds i8, i8* %40, i64 1 + store i8 %39, i8* %arrayidx43, align 1 + %41 = load i32, i32* %i, align 4 + %cmp44 = icmp ne i32 %41, 4 + br i1 %cmp44, label %land.lhs.true, label %if.end92 + +land.lhs.true: ; preds = %if.then34 + %42 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_common_item_offsets_LEN = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %42, i32 0, i32 29 + %43 = load i32, i32* %i, align 4 + %idxprom46 = sext i32 %43 to i64 + %arrayidx47 = getelementptr inbounds [6 x i8], [6 x i8]* %lc_common_item_offsets_LEN, i64 0, i64 %idxprom46 + %44 = load i8, i8* %arrayidx47, align 1 + %conv48 = zext i8 %44 to i32 + store i32 %conv48, i32* %len, align 4 + %cmp49 = icmp ne i32 %conv48, 0 + br i1 %cmp49, label %if.then51, label %if.end92 + +if.then51: ; preds = %land.lhs.true + %45 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales52 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %45, i32 0, i32 31 + %46 = load i32, i32* %row, align 4 + %mul53 = mul nsw i32 9, %46 + %add54 = add nsw i32 %mul53, 3 + %47 = load i32, i32* %i, align 4 + %add55 = add nsw i32 %add54, %47 + %idxprom56 = sext i32 %add55 to i64 + %arrayidx57 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales52, i64 0, i64 %idxprom56 + %48 = load i8, i8* %arrayidx57, align 1 + %conv58 = zext i8 %48 to i32 + %49 = load i32, i32* %len, align 4 + %mul59 = mul nsw i32 %conv58, %49 + store i32 %mul59, i32* %crow, align 4 + %50 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %51 = bitcast %struct.__uclibc_locale_struct.201* %50 to i8* + %52 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %52, i32 0, i32 7 + %53 = load i32, i32* %i, align 4 + %idxprom60 = sext i32 %53 to i64 + %arrayidx61 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets, i64 0, i64 %idxprom60 + %54 = load i16, i16* %arrayidx61, align 2 + %conv62 = zext i16 %54 to i32 + %idx.ext = sext i32 %conv62 to i64 + %add.ptr63 = getelementptr inbounds i8, i8* %51, i64 %idx.ext + %55 = bitcast i8* %add.ptr63 to i8** + store i8** %55, i8*** %x, align 8 + %56 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_common_tbl_offsets = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %56, i32 0, i32 30 + %arraydecay64 = getelementptr inbounds [24 x i64], [24 x i64]* %lc_common_tbl_offsets, i64 0, i64 0 + %57 = load i32, i32* %i, align 4 + %mul65 = mul nsw i32 4, %57 + %idx.ext66 = sext i32 %mul65 to i64 + %add.ptr67 = getelementptr inbounds i64, i64* %arraydecay64, i64 %idx.ext66 + store i64* %add.ptr67, i64** %stp, align 8 + %58 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %59 = bitcast %struct.__locale_mmap_t.203* %58 to i8* + %60 = load i64*, i64** %stp, align 8 + %61 = load i64, i64* %60, align 8 + %add.ptr68 = getelementptr inbounds i8, i8* %59, i64 %61 + store i8* %add.ptr68, i8** %r, align 8 + %62 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %63 = bitcast %struct.__locale_mmap_t.203* %62 to i8* + %64 = load i64*, i64** %stp, align 8 + %incdec.ptr69 = getelementptr inbounds i64, i64* %64, i32 1 + store i64* %incdec.ptr69, i64** %stp, align 8 + %65 = load i64, i64* %incdec.ptr69, align 8 + %add.ptr70 = getelementptr inbounds i8, i8* %63, i64 %65 + %66 = bitcast i8* %add.ptr70 to i16* + store i16* %66, i16** %io, align 8 + %67 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %68 = bitcast %struct.__locale_mmap_t.203* %67 to i8* + %69 = load i64*, i64** %stp, align 8 + %incdec.ptr71 = getelementptr inbounds i64, i64* %69, i32 1 + store i64* %incdec.ptr71, i64** %stp, align 8 + %70 = load i64, i64* %incdec.ptr71, align 8 + %add.ptr72 = getelementptr inbounds i8, i8* %68, i64 %70 + %71 = bitcast i8* %add.ptr72 to i16* + store i16* %71, i16** %ii, align 8 + %72 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %73 = bitcast %struct.__locale_mmap_t.203* %72 to i8* + %74 = load i64*, i64** %stp, align 8 + %incdec.ptr73 = getelementptr inbounds i64, i64* %74, i32 1 + store i64* %incdec.ptr73, i64** %stp, align 8 + %75 = load i64, i64* %incdec.ptr73, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %73, i64 %75 + store i8* %add.ptr74, i8** %d, align 8 + store i32 0, i32* %c, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.then51 + %76 = load i32, i32* %c, align 4 + %77 = load i32, i32* %len, align 4 + %cmp75 = icmp slt i32 %76, %77 + br i1 %cmp75, label %for.body, label %if.end92 + +for.body: ; preds = %for.cond + %78 = load i8*, i8** %d, align 8 + %79 = load i16*, i16** %ii, align 8 + %80 = load i8*, i8** %r, align 8 + %81 = load i32, i32* %crow, align 4 + %82 = load i32, i32* %c, align 4 + %add77 = add nsw i32 %81, %82 + %idxprom78 = sext i32 %add77 to i64 + %arrayidx79 = getelementptr inbounds i8, i8* %80, i64 %idxprom78 + %83 = load i8, i8* %arrayidx79, align 1 + %conv80 = zext i8 %83 to i32 + %84 = load i16*, i16** %io, align 8 + %85 = load i32, i32* %c, align 4 + %idxprom81 = sext i32 %85 to i64 + %arrayidx82 = getelementptr inbounds i16, i16* %84, i64 %idxprom81 + %86 = load i16, i16* %arrayidx82, align 2 + %conv83 = zext i16 %86 to i32 + %add84 = add nsw i32 %conv80, %conv83 + %idxprom85 = sext i32 %add84 to i64 + %arrayidx86 = getelementptr inbounds i16, i16* %79, i64 %idxprom85 + %87 = load i16, i16* %arrayidx86, align 2 + %conv87 = zext i16 %87 to i32 + %idx.ext88 = sext i32 %conv87 to i64 + %add.ptr89 = getelementptr inbounds i8, i8* %78, i64 %idx.ext88 + %88 = load i8**, i8*** %x, align 8 + %89 = load i32, i32* %c, align 4 + %idx.ext90 = sext i32 %89 to i64 + %add.ptr91 = getelementptr inbounds i8*, i8** %88, i64 %idx.ext90 + store i8* %add.ptr89, i8** %add.ptr91, align 8 + %90 = load i32, i32* %c, align 4 + %inc = add nsw i32 %90, 1 + store i32 %inc, i32* %c, align 4 + br label %for.cond + +if.end92: ; preds = %for.cond, %land.lhs.true, %if.then34 + %91 = load i32, i32* %i, align 4 + %cmp93 = icmp eq i32 %91, 0 + br i1 %cmp93, label %if.then95, label %if.else295 + +if.then95: ; preds = %if.end92 + %92 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales96 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %92, i32 0, i32 31 + %93 = load i32, i32* %row, align 4 + %mul97 = mul nsw i32 9, %93 + %add98 = add nsw i32 %mul97, 2 + %idxprom99 = sext i32 %add98 to i64 + %arrayidx100 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales96, i64 0, i64 %idxprom99 + %94 = load i8, i8* %arrayidx100, align 1 + %conv101 = zext i8 %94 to i32 + store i32 %conv101, i32* %c, align 4 + %95 = load i32, i32* %c, align 4 + %cmp102 = icmp sle i32 %95, 2 + br i1 %cmp102, label %if.then104, label %if.else112 + +if.then104: ; preds = %if.then95 + %96 = load i32, i32* %c, align 4 + %cmp105 = icmp eq i32 %96, 2 + %97 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %codeset = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %97, i32 0, i32 38 + br i1 %cmp105, label %if.then107, label %if.else + +if.then107: ; preds = %if.then104 + store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf8, i64 0, i64 0), i8** %codeset, align 8 + %98 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %98, i32 0, i32 9 + store i8 1, i8* %encoding, align 8 + %99 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %mb_cur_max = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %99, i32 0, i32 10 + store i8 6, i8* %mb_cur_max, align 1 + br label %if.end280 + +if.else: ; preds = %if.then104 + store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @ascii, i64 0, i64 0), i8** %codeset, align 8 + %100 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %encoding109 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %100, i32 0, i32 9 + store i8 0, i8* %encoding109, align 8 + %101 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %mb_cur_max110 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %101, i32 0, i32 10 + store i8 1, i8* %mb_cur_max110, align 1 + br label %if.end280 + +if.else112: ; preds = %if.then95 + %102 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %102, i32 0, i32 35 + %arraydecay113 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list, i64 0, i64 0 + store i8* %arraydecay113, i8** %r, align 8 + %103 = load i8*, i8** %r, align 8 + %104 = load i8*, i8** %r, align 8 + %105 = load i32, i32* %c, align 4 + %sub = sub nsw i32 %105, 3 + store i32 %sub, i32* %c, align 4 + %idxprom114 = sext i32 %sub to i64 + %arrayidx115 = getelementptr inbounds i8, i8* %104, i64 %idxprom114 + %106 = load i8, i8* %arrayidx115, align 1 + %conv116 = zext i8 %106 to i32 + %idx.ext117 = sext i32 %conv116 to i64 + %add.ptr118 = getelementptr inbounds i8, i8* %103, i64 %idx.ext117 + %107 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %codeset119 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %107, i32 0, i32 38 + store i8* %add.ptr118, i8** %codeset119, align 8 + %108 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %encoding120 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %108, i32 0, i32 9 + store i8 2, i8* %encoding120, align 8 + %109 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %mb_cur_max121 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %109, i32 0, i32 10 + store i8 1, i8* %mb_cur_max121, align 1 + %110 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_8_bit = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %110, i32 0, i32 12 + %arraydecay122 = getelementptr inbounds [23 x %struct.__codeset_8_bit_t.202], [23 x %struct.__codeset_8_bit_t.202]* %codeset_8_bit, i64 0, i64 0 + %111 = load i32, i32* %c, align 4 + %idx.ext123 = sext i32 %111 to i64 + %add.ptr124 = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %arraydecay122, i64 %idx.ext123 + store %struct.__codeset_8_bit_t.202* %add.ptr124, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %112 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8ctype = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %112, i32 0, i32 0 + %arraydecay125 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8ctype, i64 0, i64 0 + %113 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8ctype126 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %113, i32 0, i32 12 + store i8* %arraydecay125, i8** %idx8ctype126, align 8 + %114 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8uplow = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %114, i32 0, i32 1 + %arraydecay127 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8uplow, i64 0, i64 0 + %115 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8uplow128 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %115, i32 0, i32 14 + store i8* %arraydecay127, i8** %idx8uplow128, align 8 + %116 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8c2wc = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %116, i32 0, i32 2 + %arraydecay129 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8c2wc, i64 0, i64 0 + %117 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8c2wc130 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %117, i32 0, i32 16 + store i8* %arraydecay129, i8** %idx8c2wc130, align 8 + %118 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8wc2c = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %118, i32 0, i32 3 + %arraydecay131 = getelementptr inbounds [38 x i8], [38 x i8]* %idx8wc2c, i64 0, i64 0 + %119 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %idx8wc2c132 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %119, i32 0, i32 18 + store i8* %arraydecay131, i8** %idx8wc2c132, align 8 + %120 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b_data = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %120, i32 0, i32 3 + %arraydecay133 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data, i64 0, i64 0 + %121 = bitcast i16* %arraydecay133 to i8* + %122 = load i16*, i16** @__C_ctype_b, align 8 + %add.ptr134 = getelementptr inbounds i16, i16* %122, i64 -128 + %123 = bitcast i16* %add.ptr134 to i8* + %call135 = call i8* @memcpy(i8* %121, i8* %123, i64 768) #19 + %124 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %124, i32 0, i32 4 + %arraydecay136 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data, i64 0, i64 0 + %125 = bitcast i16* %arraydecay136 to i8* + %126 = load i16*, i16** @__C_ctype_tolower, align 8 + %add.ptr137 = getelementptr inbounds i16, i16* %126, i64 -128 + %127 = bitcast i16* %add.ptr137 to i8* + %call138 = call i8* @memcpy(i8* %125, i8* %127, i64 768) #19 + %128 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %128, i32 0, i32 5 + %arraydecay139 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data, i64 0, i64 0 + %129 = bitcast i16* %arraydecay139 to i8* + %130 = load i16*, i16** @__C_ctype_toupper, align 8 + %add.ptr140 = getelementptr inbounds i16, i16* %130, i64 -128 + %131 = bitcast i16* %add.ptr140 to i8* + %call141 = call i8* @memcpy(i8* %129, i8* %131, i64 768) #19 + store i32 0, i32* %u, align 4 + br label %for.cond142 + +for.cond142: ; preds = %for.inc268, %if.else112 + %132 = load i32, i32* %u, align 4 + %cmp143 = icmp slt i32 %132, 128 + %133 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + br i1 %cmp143, label %for.body145, label %for.end270 + +for.body145: ; preds = %for.cond142 + %tbl8ctype = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %133, i32 0, i32 13 + %134 = load i8*, i8** %tbl8ctype, align 8 + %135 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8ctype146 = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %135, i32 0, i32 0 + %136 = load i32, i32* %u, align 4 + %shr = ashr i32 %136, 3 + %idxprom147 = sext i32 %shr to i64 + %arrayidx148 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8ctype146, i64 0, i64 %idxprom147 + %137 = load i8, i8* %arrayidx148, align 1 + %conv149 = zext i8 %137 to i32 + %shl150 = shl i32 %conv149, 2 + %138 = load i32, i32* %u, align 4 + %and151 = and i32 %138, 7 + %shr152 = ashr i32 %and151, 1 + %add153 = add nsw i32 %shl150, %shr152 + %idxprom154 = sext i32 %add153 to i64 + %arrayidx155 = getelementptr inbounds i8, i8* %134, i64 %idxprom154 + %139 = load i8, i8* %arrayidx155, align 1 + %conv156 = zext i8 %139 to i32 + store i32 %conv156, i32* %c, align 4 + %140 = load i32, i32* %u, align 4 + %and157 = and i32 %140, 1 + %tobool158 = icmp ne i32 %and157, 0 + %141 = load i32, i32* %c, align 4 + %shr159 = ashr i32 %141, 4 + %and160 = and i32 %141, 15 + %cond = select i1 %tobool158, i32 %shr159, i32 %and160 + store i32 %cond, i32* %c, align 4 + %142 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %code2flag = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %142, i32 0, i32 20 + %143 = load i16*, i16** %code2flag, align 8 + %144 = load i32, i32* %c, align 4 + %idxprom161 = sext i32 %144 to i64 + %arrayidx162 = getelementptr inbounds i16, i16* %143, i64 %idxprom161 + %145 = load i16, i16* %arrayidx162, align 2 + store i16 %145, i16* %m, align 2 + %146 = load i16, i16* %m, align 2 + %147 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b_data163 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %147, i32 0, i32 3 + %148 = load i32, i32* %u, align 4 + %add164 = add nsw i32 256, %148 + %idxprom165 = sext i32 %add164 to i64 + %arrayidx166 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data163, i64 0, i64 %idxprom165 + store i16 %146, i16* %arrayidx166, align 2 + %149 = load i32, i32* %u, align 4 + %add167 = add nsw i32 128, %149 + %conv168 = trunc i32 %add167 to i8 + %conv169 = sext i8 %conv168 to i32 + %cmp170 = icmp ne i32 %conv169, -1 + br i1 %cmp170, label %if.then172, label %if.end180 + +if.then172: ; preds = %for.body145 + %150 = load i16, i16* %m, align 2 + %151 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b_data173 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %151, i32 0, i32 3 + %152 = load i32, i32* %u, align 4 + %add174 = add nsw i32 128, %152 + %conv175 = trunc i32 %add174 to i8 + %conv176 = sext i8 %conv175 to i32 + %add177 = add nsw i32 128, %conv176 + %idxprom178 = sext i32 %add177 to i64 + %arrayidx179 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data173, i64 0, i64 %idxprom178 + store i16 %150, i16* %arrayidx179, align 2 + br label %if.end180 + +if.end180: ; preds = %if.then172, %for.body145 + %153 = load i32, i32* %u, align 4 + %add181 = add nsw i32 128, %153 + %conv182 = trunc i32 %add181 to i16 + %154 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data183 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %154, i32 0, i32 4 + %155 = load i32, i32* %u, align 4 + %add184 = add nsw i32 256, %155 + %idxprom185 = sext i32 %add184 to i64 + %arrayidx186 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data183, i64 0, i64 %idxprom185 + store i16 %conv182, i16* %arrayidx186, align 2 + %156 = load i32, i32* %u, align 4 + %add187 = add nsw i32 128, %156 + %conv188 = trunc i32 %add187 to i16 + %157 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data189 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %157, i32 0, i32 5 + %158 = load i32, i32* %u, align 4 + %add190 = add nsw i32 256, %158 + %idxprom191 = sext i32 %add190 to i64 + %arrayidx192 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data189, i64 0, i64 %idxprom191 + store i16 %conv188, i16* %arrayidx192, align 2 + %159 = load i16, i16* %m, align 2 + %conv193 = zext i16 %159 to i32 + %and194 = and i32 %conv193, 768 + %tobool195 = icmp ne i32 %and194, 0 + br i1 %tobool195, label %if.then196, label %for.inc268 + +if.then196: ; preds = %if.end180 + %160 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8uplow = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %160, i32 0, i32 15 + %161 = load i8*, i8** %tbl8uplow, align 8 + %162 = load %struct.__codeset_8_bit_t.202*, %struct.__codeset_8_bit_t.202** %c8b, align 8 + %idx8uplow197 = getelementptr inbounds %struct.__codeset_8_bit_t.202, %struct.__codeset_8_bit_t.202* %162, i32 0, i32 1 + %163 = load i32, i32* %u, align 4 + %shr198 = ashr i32 %163, 3 + %idxprom199 = sext i32 %shr198 to i64 + %arrayidx200 = getelementptr inbounds [16 x i8], [16 x i8]* %idx8uplow197, i64 0, i64 %idxprom199 + %164 = load i8, i8* %arrayidx200, align 1 + %conv201 = zext i8 %164 to i32 + %shl202 = shl i32 %conv201, 3 + %165 = load i32, i32* %u, align 4 + %add203 = add nsw i32 128, %165 + %and204 = and i32 %add203, 7 + %add205 = add nsw i32 %shl202, %and204 + %idxprom206 = sext i32 %add205 to i64 + %arrayidx207 = getelementptr inbounds i8, i8* %161, i64 %idxprom206 + %166 = load i8, i8* %arrayidx207, align 1 + %conv208 = zext i8 %166 to i32 + store i32 %conv208, i32* %c, align 4 + %167 = load i16, i16* %m, align 2 + %conv209 = zext i16 %167 to i32 + %and210 = and i32 %conv209, 512 + %tobool211 = icmp ne i32 %and210, 0 + %168 = load i32, i32* %u, align 4 + %add213 = add nsw i32 128, %168 + %169 = load i32, i32* %c, align 4 + br i1 %tobool211, label %if.then212, label %if.else239 + +if.then212: ; preds = %if.then196 + %add214 = add nsw i32 %add213, %169 + %conv215 = trunc i32 %add214 to i8 + %conv216 = zext i8 %conv215 to i16 + %170 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data217 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %170, i32 0, i32 5 + %171 = load i32, i32* %u, align 4 + %add218 = add nsw i32 256, %171 + %idxprom219 = sext i32 %add218 to i64 + %arrayidx220 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data217, i64 0, i64 %idxprom219 + store i16 %conv216, i16* %arrayidx220, align 2 + %172 = load i32, i32* %u, align 4 + %add221 = add nsw i32 128, %172 + %conv222 = trunc i32 %add221 to i8 + %conv223 = sext i8 %conv222 to i32 + %cmp224 = icmp ne i32 %conv223, -1 + br i1 %cmp224, label %if.then226, label %for.inc268 + +if.then226: ; preds = %if.then212 + %173 = load i32, i32* %u, align 4 + %add227 = add nsw i32 128, %173 + %174 = load i32, i32* %c, align 4 + %add228 = add nsw i32 %add227, %174 + %conv229 = trunc i32 %add228 to i8 + %conv230 = zext i8 %conv229 to i16 + %175 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data231 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %175, i32 0, i32 5 + %176 = load i32, i32* %u, align 4 + %add232 = add nsw i32 128, %176 + %conv233 = trunc i32 %add232 to i8 + %conv234 = sext i8 %conv233 to i32 + %add235 = add nsw i32 128, %conv234 + %idxprom236 = sext i32 %add235 to i64 + %arrayidx237 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data231, i64 0, i64 %idxprom236 + store i16 %conv230, i16* %arrayidx237, align 2 + br label %for.inc268 + +if.else239: ; preds = %if.then196 + %sub241 = sub nsw i32 %add213, %169 + %conv242 = trunc i32 %sub241 to i8 + %conv243 = zext i8 %conv242 to i16 + %177 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data244 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %177, i32 0, i32 4 + %178 = load i32, i32* %u, align 4 + %add245 = add nsw i32 256, %178 + %idxprom246 = sext i32 %add245 to i64 + %arrayidx247 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data244, i64 0, i64 %idxprom246 + store i16 %conv243, i16* %arrayidx247, align 2 + %179 = load i32, i32* %u, align 4 + %add248 = add nsw i32 128, %179 + %conv249 = trunc i32 %add248 to i8 + %conv250 = sext i8 %conv249 to i32 + %cmp251 = icmp ne i32 %conv250, -1 + br i1 %cmp251, label %if.then253, label %for.inc268 + +if.then253: ; preds = %if.else239 + %180 = load i32, i32* %u, align 4 + %add254 = add nsw i32 128, %180 + %181 = load i32, i32* %c, align 4 + %sub255 = sub nsw i32 %add254, %181 + %conv256 = trunc i32 %sub255 to i8 + %conv257 = zext i8 %conv256 to i16 + %182 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data258 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %182, i32 0, i32 4 + %183 = load i32, i32* %u, align 4 + %add259 = add nsw i32 128, %183 + %conv260 = trunc i32 %add259 to i8 + %conv261 = sext i8 %conv260 to i32 + %add262 = add nsw i32 128, %conv261 + %idxprom263 = sext i32 %add262 to i64 + %arrayidx264 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data258, i64 0, i64 %idxprom263 + store i16 %conv257, i16* %arrayidx264, align 2 + br label %for.inc268 + +for.inc268: ; preds = %if.end180, %if.else239, %if.then253, %if.then212, %if.then226 + %184 = load i32, i32* %u, align 4 + %inc269 = add nsw i32 %184, 1 + store i32 %inc269, i32* %u, align 4 + br label %for.cond142 + +for.end270: ; preds = %for.cond142 + %__ctype_b_data271 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %133, i32 0, i32 3 + %arraydecay272 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_b_data271, i64 0, i64 0 + %add.ptr273 = getelementptr inbounds i16, i16* %arraydecay272, i64 128 + %185 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %185, i32 0, i32 0 + store i16* %add.ptr273, i16** %__ctype_b, align 8 + %186 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower_data274 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %186, i32 0, i32 4 + %arraydecay275 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_tolower_data274, i64 0, i64 0 + %add.ptr276 = getelementptr inbounds i16, i16* %arraydecay275, i64 128 + %187 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %187, i32 0, i32 1 + store i16* %add.ptr276, i16** %__ctype_tolower, align 8 + %188 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper_data277 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %188, i32 0, i32 5 + %arraydecay278 = getelementptr inbounds [384 x i16], [384 x i16]* %__ctype_toupper_data277, i64 0, i64 0 + %add.ptr279 = getelementptr inbounds i16, i16* %arraydecay278, i64 128 + %189 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %189, i32 0, i32 2 + store i16* %add.ptr279, i16** %__ctype_toupper, align 8 + br label %if.end280 + +if.end280: ; preds = %if.then107, %if.else, %for.end270 + %190 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %outdigit_length = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %190, i32 0, i32 11 + %arraydecay281 = getelementptr inbounds [10 x i8], [10 x i8]* %outdigit_length, i64 0, i64 0 + store i8* %arraydecay281, i8** %d, align 8 + %191 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %outdigit0_mb = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %191, i32 0, i32 28 + store i8** %outdigit0_mb, i8*** %x, align 8 + store i32 0, i32* %c, align 4 + br label %for.cond282 + +for.cond282: ; preds = %for.body285, %if.end280 + %192 = load i32, i32* %c, align 4 + %cmp283 = icmp slt i32 %192, 10 + br i1 %cmp283, label %for.body285, label %if.end313 + +for.body285: ; preds = %for.cond282 + %193 = load i8**, i8*** %x, align 8 + %194 = load i32, i32* %c, align 4 + %idxprom286 = sext i32 %194 to i64 + %arrayidx287 = getelementptr inbounds i8*, i8** %193, i64 %idxprom286 + %195 = load i8*, i8** %arrayidx287, align 8 + %call288 = call i64 @strlen(i8* %195) #20 + %conv289 = trunc i64 %call288 to i8 + %196 = load i8*, i8** %d, align 8 + %197 = load i32, i32* %c, align 4 + %idxprom290 = sext i32 %197 to i64 + %arrayidx291 = getelementptr inbounds i8, i8* %196, i64 %idxprom290 + store i8 %conv289, i8* %arrayidx291, align 1 + %198 = load i32, i32* %c, align 4 + %inc293 = add nsw i32 %198, 1 + store i32 %inc293, i32* %c, align 4 + br label %for.cond282 + +if.else295: ; preds = %if.end92 + %199 = load i32, i32* %i, align 4 + %cmp296 = icmp eq i32 %199, 1 + br i1 %cmp296, label %if.then298, label %if.end313 + +if.then298: ; preds = %if.else295 + %200 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %decimal_point_wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %200, i32 0, i32 24 + %201 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %decimal_point = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %201, i32 0, i32 39 + %202 = load i8*, i8** %decimal_point, align 8 + %203 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call299 = call i32 @__locale_mbrtowc_l(i32* %decimal_point_wc, i8* %202, %struct.__uclibc_locale_struct.201* %203) #18 + %204 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %decimal_point_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %204, i32 0, i32 26 + store i32 %call299, i32* %decimal_point_len, align 8 + %205 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %grouping = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %205, i32 0, i32 41 + %206 = load i8*, i8** %grouping, align 8 + %207 = load i8, i8* %206, align 1 + %tobool300 = icmp ne i8 %207, 0 + br i1 %tobool300, label %if.then301, label %if.end313 + +if.then301: ; preds = %if.then298 + %208 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep_wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %208, i32 0, i32 25 + %209 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %209, i32 0, i32 40 + %210 = load i8*, i8** %thousands_sep, align 8 + %211 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call302 = call i32 @__locale_mbrtowc_l(i32* %thousands_sep_wc, i8* %210, %struct.__uclibc_locale_struct.201* %211) #18 + %212 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %212, i32 0, i32 27 + store i32 %call302, i32* %thousands_sep_len, align 4 + %213 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep_len303 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %213, i32 0, i32 27 + %214 = load i32, i32* %thousands_sep_len303, align 4 + %cmp304 = icmp eq i32 %214, 0 + br i1 %cmp304, label %if.then306, label %if.end313 + +if.then306: ; preds = %if.then301 + %215 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %thousands_sep307 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %215, i32 0, i32 40 + %216 = load i8*, i8** %thousands_sep307, align 8 + %217 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %grouping308 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %217, i32 0, i32 41 + store i8* %216, i8** %grouping308, align 8 + br label %if.end313 + +if.end313: ; preds = %for.cond282, %if.then298, %if.then306, %if.then301, %if.else295, %lor.lhs.false27 + %218 = load i32, i32* %i, align 4 + %inc314 = add nsw i32 %218, 1 + store i32 %inc314, i32* %i, align 4 + %219 = load i8*, i8** %p.addr, align 8 + %add.ptr315 = getelementptr inbounds i8, i8* %219, i64 2 + store i8* %add.ptr315, i8** %p.addr, align 8 + %220 = load i8*, i8** %s, align 8 + %add.ptr316 = getelementptr inbounds i8, i8* %220, i64 2 + store i8* %add.ptr316, i8** %s, align 8 + %221 = load i32, i32* %i, align 4 + %cmp317 = icmp slt i32 %221, 6 + br i1 %cmp317, label %do.body, label %do.end + +do.end: ; preds = %if.end313 + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end, %if.then18 + %222 = load i32, i32* %retval, align 4 + ret i32 %222 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @init_cur_collate(i32 %der_num, %struct.__collate_t.200* %cur_collate) #0 { +entry: + %retval = alloca i32, align 4 + %der_num.addr = alloca i32, align 4 + %cur_collate.addr = alloca %struct.__collate_t.200*, align 8 + %__locale_collate_tbl = alloca i16*, align 8 + %cdh = alloca %struct.coldata_header_t*, align 8 + %cdb = alloca %struct.coldata_base_t*, align 8 + %cdd = alloca %struct.winsize*, align 8 + %p = alloca i16*, align 8 + %n = alloca i64, align 8 + %i = alloca i16, align 2 + %w = alloca i16, align 2 + store i32 %der_num, i32* %der_num.addr, align 4 + store %struct.__collate_t.200* %cur_collate, %struct.__collate_t.200** %cur_collate.addr, align 8 + %0 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %collate_data = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %0, i32 0, i32 28 + %arraydecay = getelementptr inbounds [91141 x i16], [91141 x i16]* %collate_data, i64 0, i64 0 + store i16* %arraydecay, i16** %__locale_collate_tbl, align 8 + %1 = load i32, i32* %der_num.addr, align 4 + %tobool = icmp ne i32 %1, 0 + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %2 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %num_weights = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %2, i32 0, i32 0 + store i16 0, i16* %num_weights, align 8 + store i32 1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* %der_num.addr, align 4 + %dec = add nsw i32 %3, -1 + store i32 %dec, i32* %der_num.addr, align 4 + %4 = load i16*, i16** %__locale_collate_tbl, align 8 + %5 = bitcast i16* %4 to %struct.coldata_header_t* + store %struct.coldata_header_t* %5, %struct.coldata_header_t** %cdh, align 8 + %6 = load i16*, i16** %__locale_collate_tbl, align 8 + %7 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_base = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %7, i32 0, i32 0 + %8 = load i16, i16* %num_base, align 2 + %conv = zext i16 %8 to i64 + %mul = mul i64 %conv, 38 + %add = add i64 16, %mul + %9 = load i32, i32* %der_num.addr, align 4 + %conv1 = sext i32 %9 to i64 + %mul2 = mul i64 %conv1, 8 + %add3 = add i64 %add, %mul2 + %div = udiv i64 %add3, 2 + %add.ptr = getelementptr inbounds i16, i16* %6, i64 %div + %10 = bitcast i16* %add.ptr to %struct.winsize* + store %struct.winsize* %10, %struct.winsize** %cdd, align 8 + %11 = load i16*, i16** %__locale_collate_tbl, align 8 + %12 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %base_idx = getelementptr inbounds %struct.winsize, %struct.winsize* %12, i32 0, i32 0 + %13 = load i16, i16* %base_idx, align 2 + %conv4 = zext i16 %13 to i64 + %mul5 = mul i64 %conv4, 38 + %add6 = add i64 16, %mul5 + %div7 = udiv i64 %add6, 2 + %add.ptr8 = getelementptr inbounds i16, i16* %11, i64 %div7 + %14 = bitcast i16* %add.ptr8 to %struct.coldata_base_t* + store %struct.coldata_base_t* %14, %struct.coldata_base_t** %cdb, align 8 + %15 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %16 = bitcast %struct.__collate_t.200* %15 to i8* + %17 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %18 = bitcast %struct.coldata_base_t* %17 to i8* + %call = call i8* @memcpy(i8* %16, i8* %18, i64 28) #19 + %19 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %undefined_idx = getelementptr inbounds %struct.winsize, %struct.winsize* %19, i32 0, i32 1 + %20 = load i16, i16* %undefined_idx, align 2 + %21 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %undefined_idx9 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %21, i32 0, i32 9 + store i16 %20, i16* %undefined_idx9, align 2 + %22 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ti_shift = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %22, i32 0, i32 3 + %23 = load i16, i16* %ti_shift, align 2 + %conv10 = zext i16 %23 to i32 + %shl = shl i32 1, %conv10 + %sub = sub nsw i32 %shl, 1 + %conv11 = trunc i32 %sub to i16 + %24 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ti_mask = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %24, i32 0, i32 15 + store i16 %conv11, i16* %ti_mask, align 2 + %25 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ii_shift = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %25, i32 0, i32 2 + %26 = load i16, i16* %ii_shift, align 4 + %conv12 = zext i16 %26 to i32 + %shl13 = shl i32 1, %conv12 + %sub14 = sub nsw i32 %shl13, 1 + %conv15 = trunc i32 %sub14 to i16 + %27 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ii_mask = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %27, i32 0, i32 14 + store i16 %conv15, i16* %ii_mask, align 4 + %28 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_base16 = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %28, i32 0, i32 0 + %29 = load i16, i16* %num_base16, align 2 + %conv17 = zext i16 %29 to i64 + %mul18 = mul i64 %conv17, 38 + %add19 = add i64 16, %mul18 + %30 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_der = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %30, i32 0, i32 1 + %31 = load i16, i16* %num_der, align 2 + %conv20 = zext i16 %31 to i64 + %mul21 = mul i64 %conv20, 8 + %add22 = add i64 %add19, %mul21 + %div23 = udiv i64 %add22, 2 + store i64 %div23, i64* %n, align 8 + %32 = load i16*, i16** %__locale_collate_tbl, align 8 + %33 = load i64, i64* %n, align 8 + %add.ptr24 = getelementptr inbounds i16, i16* %32, i64 %33 + %34 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %index2weight_offset = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %34, i32 0, i32 14 + %35 = load i16, i16* %index2weight_offset, align 2 + %conv25 = zext i16 %35 to i32 + %idx.ext = sext i32 %conv25 to i64 + %add.ptr26 = getelementptr inbounds i16, i16* %add.ptr24, i64 %idx.ext + %36 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %36, i32 0, i32 16 + store i16* %add.ptr26, i16** %index2weight_tbl, align 8 + %37 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_index2weight = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %37, i32 0, i32 3 + %38 = load i16, i16* %num_index2weight, align 2 + %conv27 = zext i16 %38 to i64 + %39 = load i64, i64* %n, align 8 + %add28 = add i64 %39, %conv27 + store i64 %add28, i64* %n, align 8 + %40 = load i16*, i16** %__locale_collate_tbl, align 8 + %41 = load i64, i64* %n, align 8 + %add.ptr29 = getelementptr inbounds i16, i16* %40, i64 %41 + %42 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %index2ruleidx_offset = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %42, i32 0, i32 15 + %43 = load i16, i16* %index2ruleidx_offset, align 2 + %conv30 = zext i16 %43 to i32 + %idx.ext31 = sext i32 %conv30 to i64 + %add.ptr32 = getelementptr inbounds i16, i16* %add.ptr29, i64 %idx.ext31 + %44 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %44, i32 0, i32 17 + store i16* %add.ptr32, i16** %index2ruleidx_tbl, align 8 + %45 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_index2weight33 = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %45, i32 0, i32 3 + %46 = load i16, i16* %num_index2weight33, align 2 + %conv34 = zext i16 %46 to i64 + %47 = load i64, i64* %n, align 8 + %add35 = add i64 %47, %conv34 + store i64 %add35, i64* %n, align 8 + %48 = load i16*, i16** %__locale_collate_tbl, align 8 + %49 = load i64, i64* %n, align 8 + %add.ptr36 = getelementptr inbounds i16, i16* %48, i64 %49 + %50 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %multistart_offset = getelementptr inbounds %struct.winsize, %struct.winsize* %50, i32 0, i32 3 + %51 = load i16, i16* %multistart_offset, align 2 + %conv37 = zext i16 %51 to i32 + %idx.ext38 = sext i32 %conv37 to i64 + %add.ptr39 = getelementptr inbounds i16, i16* %add.ptr36, i64 %idx.ext38 + %52 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %multistart_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %52, i32 0, i32 18 + store i16* %add.ptr39, i16** %multistart_tbl, align 8 + %53 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_multistart = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %53, i32 0, i32 5 + %54 = load i16, i16* %num_multistart, align 2 + %conv40 = zext i16 %54 to i64 + %55 = load i64, i64* %n, align 8 + %add41 = add i64 %55, %conv40 + store i64 %add41, i64* %n, align 8 + %56 = load i16*, i16** %__locale_collate_tbl, align 8 + %57 = load i64, i64* %n, align 8 + %add.ptr42 = getelementptr inbounds i16, i16* %56, i64 %57 + %58 = load %struct.winsize*, %struct.winsize** %cdd, align 8 + %overrides_offset = getelementptr inbounds %struct.winsize, %struct.winsize* %58, i32 0, i32 2 + %59 = load i16, i16* %overrides_offset, align 2 + %conv43 = zext i16 %59 to i32 + %idx.ext44 = sext i32 %conv43 to i64 + %add.ptr45 = getelementptr inbounds i16, i16* %add.ptr42, i64 %idx.ext44 + %60 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %overrides_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %60, i32 0, i32 20 + store i16* %add.ptr45, i16** %overrides_tbl, align 8 + %61 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_override = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %61, i32 0, i32 6 + %62 = load i16, i16* %num_override, align 2 + %conv46 = zext i16 %62 to i64 + %63 = load i64, i64* %n, align 8 + %add47 = add i64 %63, %conv46 + store i64 %add47, i64* %n, align 8 + %64 = load i16*, i16** %__locale_collate_tbl, align 8 + %65 = load i64, i64* %n, align 8 + %add.ptr48 = getelementptr inbounds i16, i16* %64, i64 %65 + %66 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %ruletable = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %66, i32 0, i32 22 + store i16* %add.ptr48, i16** %ruletable, align 8 + %67 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_ruletable = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %67, i32 0, i32 7 + %68 = load i16, i16* %num_ruletable, align 2 + %conv49 = zext i16 %68 to i64 + %69 = load i64, i64* %n, align 8 + %add50 = add i64 %69, %conv49 + store i64 %add50, i64* %n, align 8 + %70 = load i16*, i16** %__locale_collate_tbl, align 8 + %71 = load i64, i64* %n, align 8 + %add.ptr51 = getelementptr inbounds i16, i16* %70, i64 %71 + %72 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %weightstr = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %72, i32 0, i32 21 + store i16* %add.ptr51, i16** %weightstr, align 8 + %73 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %num_weightstr = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %73, i32 0, i32 4 + %74 = load i16, i16* %num_weightstr, align 2 + %conv52 = zext i16 %74 to i64 + %75 = load i64, i64* %n, align 8 + %add53 = add i64 %75, %conv52 + store i64 %add53, i64* %n, align 8 + %76 = load i16*, i16** %__locale_collate_tbl, align 8 + %77 = load i64, i64* %n, align 8 + %add.ptr54 = getelementptr inbounds i16, i16* %76, i64 %77 + %78 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %wcs2colidt_offset_hi = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %78, i32 0, i32 18 + %79 = load i16, i16* %wcs2colidt_offset_hi, align 2 + %conv55 = zext i16 %79 to i64 + %shl56 = shl i64 %conv55, 16 + %add.ptr57 = getelementptr inbounds i16, i16* %add.ptr54, i64 %shl56 + %80 = load %struct.coldata_base_t*, %struct.coldata_base_t** %cdb, align 8 + %wcs2colidt_offset_low = getelementptr inbounds %struct.coldata_base_t, %struct.coldata_base_t* %80, i32 0, i32 17 + %81 = load i16, i16* %wcs2colidt_offset_low, align 2 + %conv58 = zext i16 %81 to i32 + %idx.ext59 = sext i32 %conv58 to i64 + %add.ptr60 = getelementptr inbounds i16, i16* %add.ptr57, i64 %idx.ext59 + %82 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %wcs2colidt_tbl = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %82, i32 0, i32 19 + store i16* %add.ptr60, i16** %wcs2colidt_tbl, align 8 + %83 = load %struct.coldata_header_t*, %struct.coldata_header_t** %cdh, align 8 + %MAX_WEIGHTS = getelementptr inbounds %struct.coldata_header_t, %struct.coldata_header_t* %83, i32 0, i32 2 + %84 = load i16, i16* %MAX_WEIGHTS, align 2 + %85 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %MAX_WEIGHTS61 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %85, i32 0, i32 25 + store i16 %84, i16* %MAX_WEIGHTS61, align 8 + %86 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %max_col_index = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %86, i32 0, i32 8 + %87 = load i16, i16* %max_col_index, align 8 + %conv62 = zext i16 %87 to i32 + %mul63 = mul nsw i32 2, %conv62 + %add64 = add nsw i32 %mul63, 2 + %conv65 = sext i32 %add64 to i64 + %call66 = call noalias i8* @calloc(i64 %conv65, i64 2) #19 + %88 = bitcast i8* %call66 to i16* + %89 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %89, i32 0, i32 23 + store i16* %88, i16** %index2weight, align 8 + %90 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight67 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %90, i32 0, i32 23 + %91 = load i16*, i16** %index2weight67, align 8 + %tobool68 = icmp ne i16* %91, null + br i1 %tobool68, label %if.end70, label %if.then69 + +if.then69: ; preds = %if.end + store i32 0, i32* %retval, align 4 + br label %return + +if.end70: ; preds = %if.end + %92 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight71 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %92, i32 0, i32 23 + %93 = load i16*, i16** %index2weight71, align 8 + %94 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %max_col_index72 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %94, i32 0, i32 8 + %95 = load i16, i16* %max_col_index72, align 8 + %conv73 = zext i16 %95 to i32 + %idx.ext74 = sext i32 %conv73 to i64 + %add.ptr75 = getelementptr inbounds i16, i16* %93, i64 %idx.ext74 + %add.ptr76 = getelementptr inbounds i16, i16* %add.ptr75, i64 1 + %96 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %96, i32 0, i32 24 + store i16* %add.ptr76, i16** %index2ruleidx, align 8 + %97 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight77 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %97, i32 0, i32 23 + %98 = load i16*, i16** %index2weight77, align 8 + %99 = bitcast i16* %98 to i8* + %100 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight_tbl78 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %100, i32 0, i32 16 + %101 = load i16*, i16** %index2weight_tbl78, align 8 + %102 = bitcast i16* %101 to i8* + %103 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %num_col_base = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %103, i32 0, i32 7 + %104 = load i16, i16* %num_col_base, align 2 + %conv79 = zext i16 %104 to i64 + %mul80 = mul i64 %conv79, 2 + %call81 = call i8* @memcpy(i8* %99, i8* %102, i64 %mul80) #19 + %105 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx82 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %105, i32 0, i32 24 + %106 = load i16*, i16** %index2ruleidx82, align 8 + %107 = bitcast i16* %106 to i8* + %108 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx_tbl83 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %108, i32 0, i32 17 + %109 = load i16*, i16** %index2ruleidx_tbl83, align 8 + %110 = bitcast i16* %109 to i8* + %111 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %num_col_base84 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %111, i32 0, i32 7 + %112 = load i16, i16* %num_col_base84, align 2 + %conv85 = zext i16 %112 to i64 + %mul86 = mul i64 %conv85, 2 + %call87 = call i8* @memcpy(i8* %107, i8* %110, i64 %mul86) #19 + %113 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %overrides_tbl88 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %113, i32 0, i32 20 + %114 = load i16*, i16** %overrides_tbl88, align 8 + store i16* %114, i16** %p, align 8 + br label %while.cond + +while.cond: ; preds = %do.body, %if.end70 + %115 = load i16*, i16** %p, align 8 + %116 = load i16, i16* %115, align 2 + %conv89 = zext i16 %116 to i32 + %cmp = icmp sgt i32 %conv89, 1 + br i1 %cmp, label %while.body, label %while.cond105 + +while.body: ; preds = %while.cond + %117 = load i16*, i16** %p, align 8 + %incdec.ptr = getelementptr inbounds i16, i16* %117, i32 1 + store i16* %incdec.ptr, i16** %p, align 8 + %118 = load i16, i16* %117, align 2 + %conv91 = zext i16 %118 to i64 + store i64 %conv91, i64* %n, align 8 + %119 = load i16*, i16** %p, align 8 + %incdec.ptr92 = getelementptr inbounds i16, i16* %119, i32 1 + store i16* %incdec.ptr92, i16** %p, align 8 + %120 = load i16, i16* %119, align 2 + store i16 %120, i16* %w, align 2 + br label %do.body + +do.body: ; preds = %do.body, %while.body + %121 = load i16*, i16** %p, align 8 + %incdec.ptr93 = getelementptr inbounds i16, i16* %121, i32 1 + store i16* %incdec.ptr93, i16** %p, align 8 + %122 = load i16, i16* %121, align 2 + store i16 %122, i16* %i, align 2 + %123 = load i16, i16* %w, align 2 + %inc = add i16 %123, 1 + store i16 %inc, i16* %w, align 2 + %124 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight94 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %124, i32 0, i32 23 + %125 = load i16*, i16** %index2weight94, align 8 + %126 = load i16, i16* %i, align 2 + %conv95 = zext i16 %126 to i32 + %sub96 = sub nsw i32 %conv95, 1 + %idxprom = sext i32 %sub96 to i64 + %arrayidx = getelementptr inbounds i16, i16* %125, i64 %idxprom + store i16 %123, i16* %arrayidx, align 2 + %127 = load i16*, i16** %p, align 8 + %incdec.ptr97 = getelementptr inbounds i16, i16* %127, i32 1 + store i16* %incdec.ptr97, i16** %p, align 8 + %128 = load i16, i16* %127, align 2 + %129 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx98 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %129, i32 0, i32 24 + %130 = load i16*, i16** %index2ruleidx98, align 8 + %131 = load i16, i16* %i, align 2 + %conv99 = zext i16 %131 to i32 + %sub100 = sub nsw i32 %conv99, 1 + %idxprom101 = sext i32 %sub100 to i64 + %arrayidx102 = getelementptr inbounds i16, i16* %130, i64 %idxprom101 + store i16 %128, i16* %arrayidx102, align 2 + %132 = load i64, i64* %n, align 8 + %dec103 = add i64 %132, -1 + store i64 %dec103, i64* %n, align 8 + %tobool104 = icmp ne i64 %dec103, 0 + br i1 %tobool104, label %do.body, label %while.cond + +while.cond105: ; preds = %while.cond, %while.body108 + %133 = load i16*, i16** %p, align 8 + %incdec.ptr106 = getelementptr inbounds i16, i16* %133, i32 1 + store i16* %incdec.ptr106, i16** %p, align 8 + %134 = load i16, i16* %incdec.ptr106, align 2 + %tobool107 = icmp ne i16 %134, 0 + br i1 %tobool107, label %while.body108, label %while.end121 + +while.body108: ; preds = %while.cond105 + %135 = load i16*, i16** %p, align 8 + %136 = load i16, i16* %135, align 2 + store i16 %136, i16* %i, align 2 + %137 = load i16*, i16** %p, align 8 + %incdec.ptr109 = getelementptr inbounds i16, i16* %137, i32 1 + store i16* %incdec.ptr109, i16** %p, align 8 + %138 = load i16, i16* %incdec.ptr109, align 2 + %139 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2weight110 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %139, i32 0, i32 23 + %140 = load i16*, i16** %index2weight110, align 8 + %141 = load i16, i16* %i, align 2 + %conv111 = zext i16 %141 to i32 + %sub112 = sub nsw i32 %conv111, 1 + %idxprom113 = sext i32 %sub112 to i64 + %arrayidx114 = getelementptr inbounds i16, i16* %140, i64 %idxprom113 + store i16 %138, i16* %arrayidx114, align 2 + %142 = load i16*, i16** %p, align 8 + %incdec.ptr115 = getelementptr inbounds i16, i16* %142, i32 1 + store i16* %incdec.ptr115, i16** %p, align 8 + %143 = load i16, i16* %incdec.ptr115, align 2 + %144 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %index2ruleidx116 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %144, i32 0, i32 24 + %145 = load i16*, i16** %index2ruleidx116, align 8 + %146 = load i16, i16* %i, align 2 + %conv117 = zext i16 %146 to i32 + %sub118 = sub nsw i32 %conv117, 1 + %idxprom119 = sext i32 %sub118 to i64 + %arrayidx120 = getelementptr inbounds i16, i16* %145, i64 %idxprom119 + store i16 %143, i16* %arrayidx120, align 2 + br label %while.cond105 + +while.end121: ; preds = %while.cond105 + store i16 0, i16* %i, align 2 + br label %for.cond + +for.cond: ; preds = %for.inc, %while.end121 + %147 = load i16, i16* %i, align 2 + %conv122 = zext i16 %147 to i32 + %148 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %multistart_tbl123 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %148, i32 0, i32 18 + %149 = load i16*, i16** %multistart_tbl123, align 8 + %arrayidx124 = getelementptr inbounds i16, i16* %149, i64 0 + %150 = load i16, i16* %arrayidx124, align 2 + %conv125 = zext i16 %150 to i32 + %cmp126 = icmp slt i32 %conv122, %conv125 + br i1 %cmp126, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %151 = load %struct.__collate_t.200*, %struct.__collate_t.200** %cur_collate.addr, align 8 + %multistart_tbl128 = getelementptr inbounds %struct.__collate_t.200, %struct.__collate_t.200* %151, i32 0, i32 18 + %152 = load i16*, i16** %multistart_tbl128, align 8 + store i16* %152, i16** %p, align 8 + %153 = load i16*, i16** %p, align 8 + %154 = load i16, i16* %i, align 2 + %idxprom129 = zext i16 %154 to i64 + %arrayidx130 = getelementptr inbounds i16, i16* %153, i64 %idxprom129 + %155 = load i16, i16* %arrayidx130, align 2 + %conv131 = zext i16 %155 to i32 + %156 = load i16*, i16** %p, align 8 + %idx.ext132 = sext i32 %conv131 to i64 + %add.ptr133 = getelementptr inbounds i16, i16* %156, i64 %idx.ext132 + store i16* %add.ptr133, i16** %p, align 8 + br label %do.body134 + +do.body134: ; preds = %do.body141, %for.body + %157 = load i16*, i16** %p, align 8 + %incdec.ptr135 = getelementptr inbounds i16, i16* %157, i32 1 + store i16* %incdec.ptr135, i16** %p, align 8 + %158 = load i16, i16* %157, align 2 + %conv136 = zext i16 %158 to i64 + store i64 %conv136, i64* %n, align 8 + %159 = load i16*, i16** %p, align 8 + %160 = load i16, i16* %159, align 2 + %tobool138 = icmp ne i16 %160, 0 + br i1 %tobool138, label %do.body141, label %for.inc + +do.body141: ; preds = %do.body134, %do.body141 + %161 = load i16*, i16** %p, align 8 + %incdec.ptr143 = getelementptr inbounds i16, i16* %161, i32 1 + store i16* %incdec.ptr143, i16** %p, align 8 + %162 = load i16, i16* %161, align 2 + %tobool144 = icmp ne i16 %162, 0 + br i1 %tobool144, label %do.body141, label %do.body134 + +for.inc: ; preds = %do.body134 + %163 = load i16, i16* %i, align 2 + %inc150 = add i16 %163, 1 + store i16 %inc150, i16* %i, align 2 + br label %for.cond + +for.end: ; preds = %for.cond + store i32 1, i32* %retval, align 4 + br label %return + +return: ; preds = %for.end, %if.then69, %if.then + %164 = load i32, i32* %retval, align 4 + ret i32 %164 +} + +; Function Attrs: nounwind +declare void @free(i8*) #2 + +; Function Attrs: nounwind +declare noalias i8* @calloc(i64, i64) #2 + +; Function Attrs: noinline nounwind uwtable +define hidden void @_locale_init_l(%struct.__uclibc_locale_struct.201* %base) #0 { +entry: + %base.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + store %struct.__uclibc_locale_struct.201* %base, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 6 + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + %call = call i8* @memset(i8* %arraydecay, i32 0, i64 14) #19 + %1 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale1 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %1, i32 0, i32 6 + %arrayidx = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale1, i64 0, i64 0 + store i8 35, i8* %arrayidx, align 8 + %2 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_item_count = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %2, i32 0, i32 8 + %arraydecay2 = getelementptr inbounds [6 x i8], [6 x i8]* %category_item_count, i64 0, i64 0 + %3 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_common_item_offsets_LEN = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %3, i32 0, i32 29 + %arraydecay3 = getelementptr inbounds [6 x i8], [6 x i8]* %lc_common_item_offsets_LEN, i64 0, i64 0 + %call4 = call i8* @memcpy(i8* %arraydecay2, i8* %arraydecay3, i64 6) #19 + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_item_count5 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %4, i32 0, i32 8 + %arrayidx6 = getelementptr inbounds [6 x i8], [6 x i8]* %category_item_count5, i64 0, i64 0 + %5 = load i8, i8* %arrayidx6, align 2 + %inc = add i8 %5, 1 + store i8 %inc, i8* %arrayidx6, align 2 + %6 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %6, i32 0, i32 7 + %arrayidx7 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets, i64 0, i64 0 + store i16 2488, i16* %arrayidx7, align 2 + %7 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets8 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %7, i32 0, i32 7 + %arrayidx9 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets8, i64 0, i64 1 + store i16 2576, i16* %arrayidx9, align 2 + %8 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets10 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %8, i32 0, i32 7 + %arrayidx11 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets10, i64 0, i64 2 + store i16 2600, i16* %arrayidx11, align 2 + %9 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets12 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %9, i32 0, i32 7 + %arrayidx13 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets12, i64 0, i64 3 + store i16 2776, i16* %arrayidx13, align 2 + %10 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %category_offsets14 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %10, i32 0, i32 7 + %arrayidx15 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets14, i64 0, i64 5 + store i16 3176, i16* %arrayidx15, align 2 + %11 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8ctype = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %11, i32 0, i32 0 + %12 = bitcast [420 x i8]* %tbl8ctype to i8* + %13 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8ctype16 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %13, i32 0, i32 13 + store i8* %12, i8** %tbl8ctype16, align 8 + %14 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8uplow = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %14, i32 0, i32 1 + %15 = bitcast [504 x i8]* %tbl8uplow to i8* + %16 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8uplow17 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %16, i32 0, i32 15 + store i8* %15, i8** %tbl8uplow17, align 8 + %17 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8c2wc = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %17, i32 0, i32 2 + %18 = bitcast [1760 x i16]* %tbl8c2wc to i16* + %19 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8c2wc18 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %19, i32 0, i32 17 + store i16* %18, i16** %tbl8c2wc18, align 8 + %20 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tbl8wc2c = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %20, i32 0, i32 3 + %21 = bitcast [4528 x i8]* %tbl8wc2c to i8* + %22 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tbl8wc2c19 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %22, i32 0, i32 19 + store i8* %21, i8** %tbl8wc2c19, align 8 + %23 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tblwctype = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %23, i32 0, i32 4 + %24 = bitcast [3604 x i8]* %tblwctype to i8* + %25 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tblwctype20 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %25, i32 0, i32 21 + store i8* %24, i8** %tblwctype20, align 8 + %26 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tblwuplow = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %26, i32 0, i32 5 + %27 = bitcast [1680 x i8]* %tblwuplow to i8* + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tblwuplow21 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %28, i32 0, i32 22 + store i8* %27, i8** %tblwuplow21, align 8 + %29 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %tblwuplow_diff = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %29, i32 0, i32 6 + %30 = bitcast [196 x i16]* %tblwuplow_diff to i16* + %31 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tblwuplow_diff22 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %31, i32 0, i32 23 + store i16* %30, i16** %tblwuplow_diff22, align 8 + %32 = load i16*, i16** @__C_ctype_b, align 8 + %33 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %33, i32 0, i32 0 + store i16* %32, i16** %__ctype_b, align 8 + %34 = load i16*, i16** @__C_ctype_tolower, align 8 + %35 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_tolower = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %35, i32 0, i32 1 + store i16* %34, i16** %__ctype_tolower, align 8 + %36 = load i16*, i16** @__C_ctype_toupper, align 8 + %37 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %__ctype_toupper = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %37, i32 0, i32 2 + store i16* %36, i16** %__ctype_toupper, align 8 + %38 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %code2flag = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %38, i32 0, i32 20 + store i16* getelementptr inbounds ([16 x i16], [16 x i16]* @__code2flag, i64 0, i64 0), i16** %code2flag, align 8 + %39 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call23 = call i32 @_locale_set_l(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.76, i64 0, i64 0), %struct.__uclibc_locale_struct.201* %39) #18 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_locale_init() #0 { +entry: + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__global_locale, align 8 + call void @_locale_init_l(%struct.__uclibc_locale_struct.201* %0) #18 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @sigblock(i32 %mask) #0 { +entry: + %retval = alloca i32, align 4 + %mask.addr = alloca i32, align 4 + %set = alloca %struct.fd_set, align 8 + %oset = alloca %struct.fd_set, align 8 + store i32 %mask, i32* %mask.addr, align 4 + %0 = load i32, i32* %mask.addr, align 4 + %call = call i32 @sigset_set_old_mask(%struct.fd_set* %set, i32 %0) #18 + %cmp = icmp slt i32 %call, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %call1 = call i32 @sigprocmask(i32 0, %struct.fd_set* %set, %struct.fd_set* %oset) #19 + %cmp2 = icmp slt i32 %call1, 0 + br i1 %cmp2, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.end + store i32 -1, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %if.end + %call5 = call i32 @sigset_get_old_mask(%struct.fd_set* %oset) #18 + store i32 %call5, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %1 = load i32, i32* %retval, align 4 + ret i32 %1 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @sigset_set_old_mask(%struct.fd_set* %set, i32 %mask) #0 { +entry: + %set.addr = alloca %struct.fd_set*, align 8 + %mask.addr = alloca i32, align 4 + %ptr = alloca i64*, align 8 + %cnt = alloca i32, align 4 + store %struct.fd_set* %set, %struct.fd_set** %set.addr, align 8 + store i32 %mask, i32* %mask.addr, align 4 + %0 = load %struct.fd_set*, %struct.fd_set** %set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %0, i32 0, i32 0 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 0 + store i64* %arrayidx, i64** %ptr, align 8 + %1 = load i32, i32* %mask.addr, align 4 + %conv = zext i32 %1 to i64 + %2 = load i64*, i64** %ptr, align 8 + %incdec.ptr = getelementptr inbounds i64, i64* %2, i32 1 + store i64* %incdec.ptr, i64** %ptr, align 8 + store i64 %conv, i64* %2, align 8 + store i32 14, i32* %cnt, align 4 + br label %do.body + +do.body: ; preds = %do.body, %entry + %3 = load i64*, i64** %ptr, align 8 + %incdec.ptr1 = getelementptr inbounds i64, i64* %3, i32 1 + store i64* %incdec.ptr1, i64** %ptr, align 8 + store i64 0, i64* %3, align 8 + %4 = load i32, i32* %cnt, align 4 + %dec = add nsw i32 %4, -1 + store i32 %dec, i32* %cnt, align 4 + %cmp = icmp sge i32 %dec, 0 + br i1 %cmp, label %do.body, label %do.end + +do.end: ; preds = %do.body + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @sigset_get_old_mask(%struct.fd_set* %set) #0 { +entry: + %set.addr = alloca %struct.fd_set*, align 8 + store %struct.fd_set* %set, %struct.fd_set** %set.addr, align 8 + %0 = load %struct.fd_set*, %struct.fd_set** %set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %0, i32 0, i32 0 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 0 + %1 = load i64, i64* %arrayidx, align 8 + %conv = trunc i64 %1 to i32 + ret i32 %conv +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_stdio_term() #0 { +entry: + %ptr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %0, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %1, null + br i1 %tobool, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 0 + %3 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %3 to i32 + %and = and i32 %conv, 64 + %tobool1 = icmp ne i32 %and, 0 + br i1 %tobool1, label %if.then, label %for.inc + +if.then: ; preds = %for.body + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %call = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %4) #18 + br label %for.inc + +for.inc: ; preds = %for.body, %if.then + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 9 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %6, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_stdio_init() #0 { +entry: + %old_errno = alloca i32, align 4 + %0 = load i32, i32* @errno, align 4 + store i32 %0, i32* %old_errno, align 4 + %call = call i32 @isatty(i32 0) #19 + %sub = sub nsw i32 1, %call + %mul = mul i32 %sub, 256 + %1 = load i16, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 0, i32 0), align 16 + %conv = zext i16 %1 to i32 + %xor = xor i32 %conv, %mul + %conv1 = trunc i32 %xor to i16 + store i16 %conv1, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 0, i32 0), align 16 + %call2 = call i32 @isatty(i32 1) #19 + %sub3 = sub nsw i32 1, %call2 + %mul4 = mul i32 %sub3, 256 + %2 = load i16, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 1, i32 0), align 8 + %conv5 = zext i16 %2 to i32 + %xor6 = xor i32 %conv5, %mul4 + %conv7 = trunc i32 %xor6 to i16 + store i16 %conv7, i16* getelementptr inbounds ([3 x %struct.__STDIO_FILE_STRUCT.568], [3 x %struct.__STDIO_FILE_STRUCT.568]* @_stdio_streams, i64 0, i64 1, i32 0), align 8 + %3 = load i32, i32* %old_errno, align 4 + store i32 %3, i32* @errno, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i32 @getchar_unlocked() #0 { +entry: + %stream = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdin, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %0, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %1, i32 0, i32 5 + %2 = load i8*, i8** %__bufpos, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 7 + %4 = load i8*, i8** %__bufgetc_u, align 8 + %cmp = icmp ult i8* %2, %4 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream, align 8 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %entry + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 5 + %6 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + %7 = load i8, i8* %6, align 1 + %conv = zext i8 %7 to i32 + br label %cond.end + +cond.false: ; preds = %entry + %call = call i32 @__fgetc_unlocked(%struct.__STDIO_FILE_STRUCT.568* %5) #18 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ %conv, %cond.true ], [ %call, %cond.false ] + ret i32 %cond +} + +; Function Attrs: noinline noreturn nounwind uwtable +declare void @abort() #1 + +; Function Attrs: noreturn +declare void @_exit(i32) #13 + +; Function Attrs: noinline noreturn nounwind uwtable +define void @exit(i32 %rv) #1 { +entry: + %rv.addr = alloca i32, align 4 + store i32 %rv, i32* %rv.addr, align 4 + %0 = load void (i32)*, void (i32)** @__exit_cleanup, align 8 + %tobool = icmp ne void (i32)* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load void (i32)*, void (i32)** @__exit_cleanup, align 8 + %2 = load i32, i32* %rv.addr, align 4 + call void %1(i32 %2) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + call void @__uClibc_fini() #18 + call void @_stdio_term() #18 + %3 = load i32, i32* %rv.addr, align 4 + call void @_exit(i32 %3) #27 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define i8* @memcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r1 = alloca i8*, align 8 + %r2 = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %r1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %r2, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %2 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load i8*, i8** %r2, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %r2, align 8 + %4 = load i8, i8* %3, align 1 + %5 = load i8*, i8** %r1, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr1, i8** %r1, align 8 + store i8 %4, i8* %5, align 1 + %6 = load i64, i64* %n.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %7 = load i8*, i8** %s1.addr, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @memset(i8* nonnull %s, i32 %c, i64 %n) #0 { +entry: + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %n.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %1 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %2 = load i32, i32* %c.addr, align 4 + %conv = trunc i32 %2 to i8 + %3 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + store i8 %conv, i8* %3, align 1 + %4 = load i64, i64* %n.addr, align 8 + %dec = add i64 %4, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %5 = load i8*, i8** %s.addr, align 8 + ret i8* %5 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @strrchr(i8* nonnull %s, i32 %c) #14 { +entry: + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i8* null, i8** %p, align 8 + br label %do.body + +do.body: ; preds = %do.cond, %entry + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %2 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %2 to i8 + %conv2 = sext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + br i1 %cmp, label %if.then, label %do.cond + +if.then: ; preds = %do.body + %3 = load i8*, i8** %s.addr, align 8 + store i8* %3, i8** %p, align 8 + br label %do.cond + +do.cond: ; preds = %do.body, %if.then + %4 = load i8*, i8** %s.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr, i8** %s.addr, align 8 + %5 = load i8, i8* %4, align 1 + %tobool = icmp ne i8 %5, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %6 = load i8*, i8** %p, align 8 + ret i8* %6 +} + +; Function Attrs: noinline noreturn nounwind uwtable +define dso_local void @usage(i32 %status) #6 { +entry: + %status.addr = alloca i32, align 4 + store i32 %status, i32* %status.addr, align 4 + %0 = load i8*, i8** @program_name, align 8 + %1 = load i8*, i8** @program_name, align 8 + %call = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([61 x i8], [61 x i8]* @.str.96, i64 0, i64 0), i8* %0, i8* %1) + %call1 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.1.97, i64 0, i64 0), i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.2.98, i64 0, i64 0)) + %2 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call2 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([45 x i8], [45 x i8]* @.str.3.99, i64 0, i64 0), %struct._IO_FILE* %2) + %3 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call3 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([54 x i8], [54 x i8]* @.str.4.100, i64 0, i64 0), %struct._IO_FILE* %3) + %call4 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([191 x i8], [191 x i8]* @.str.5.101, i64 0, i64 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.6.102, i64 0, i64 0)) + call void @emit_ancillary_info(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.6.102, i64 0, i64 0)) + %4 = load i32, i32* %status.addr, align 4 + call void @exit(i32 %4) #26 + unreachable +} + +declare dso_local i32 @printf(i8*, ...) #5 + +; Function Attrs: noinline nounwind uwtable +define internal void @emit_ancillary_info(i8* %program) #3 { +entry: + %program.addr = alloca i8*, align 8 + %infomap = alloca [7 x %struct.infomap], align 16 + %node = alloca i8*, align 8 + %map_prog = alloca %struct.infomap*, align 8 + %lc_messages = alloca i8*, align 8 + store i8* %program, i8** %program.addr, align 8 + %0 = bitcast [7 x %struct.infomap]* %infomap to i8* + %1 = call i8* @memcpy(i8* %0, i8* bitcast ([7 x %struct.infomap]* @__const.emit_ancillary_info.infomap to i8*), i64 112) + %2 = load i8*, i8** %program.addr, align 8 + store i8* %2, i8** %node, align 8 + %arraydecay = getelementptr inbounds [7 x %struct.infomap], [7 x %struct.infomap]* %infomap, i64 0, i64 0 + store %struct.infomap* %arraydecay, %struct.infomap** %map_prog, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %3 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + %program1 = getelementptr inbounds %struct.infomap, %struct.infomap* %3, i32 0, i32 0 + %4 = load i8*, i8** %program1, align 8 + %tobool = icmp ne i8* %4, null + br i1 %tobool, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %5 = load i8*, i8** %program.addr, align 8 + %6 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + %program2 = getelementptr inbounds %struct.infomap, %struct.infomap* %6, i32 0, i32 0 + %7 = load i8*, i8** %program2, align 8 + %call = call i32 @strcmp(i8* %5, i8* %7) #23 + %cmp = icmp eq i32 %call, 0 + %lnot = xor i1 %cmp, true + br label %land.end + +land.end: ; preds = %land.rhs, %while.cond + %8 = phi i1 [ false, %while.cond ], [ %lnot, %land.rhs ] + %9 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + br i1 %8, label %while.body, label %while.end + +while.body: ; preds = %land.end + %incdec.ptr = getelementptr inbounds %struct.infomap, %struct.infomap* %9, i32 1 + store %struct.infomap* %incdec.ptr, %struct.infomap** %map_prog, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %node3 = getelementptr inbounds %struct.infomap, %struct.infomap* %9, i32 0, i32 1 + %10 = load i8*, i8** %node3, align 8 + %tobool4 = icmp ne i8* %10, null + br i1 %tobool4, label %if.then, label %if.end + +if.then: ; preds = %while.end + %11 = load %struct.infomap*, %struct.infomap** %map_prog, align 8 + %node5 = getelementptr inbounds %struct.infomap, %struct.infomap* %11, i32 0, i32 1 + %12 = load i8*, i8** %node5, align 8 + store i8* %12, i8** %node, align 8 + br label %if.end + +if.end: ; preds = %if.then, %while.end + %call6 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.21.103, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.10.104, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.22.105, i64 0, i64 0)) + %call7 = call i8* @setlocale(i32 5, i8* null) #11 + store i8* %call7, i8** %lc_messages, align 8 + %13 = load i8*, i8** %lc_messages, align 8 + %tobool8 = icmp ne i8* %13, null + br i1 %tobool8, label %land.lhs.true, label %if.end13 + +land.lhs.true: ; preds = %if.end + %14 = load i8*, i8** %lc_messages, align 8 + %call9 = call i32 @strncmp(i8* %14, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.23.106, i64 0, i64 0), i64 3) #23 + %tobool10 = icmp ne i32 %call9, 0 + br i1 %tobool10, label %if.then11, label %if.end13 + +if.then11: ; preds = %land.lhs.true + %15 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call12 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.24.107, i64 0, i64 0), %struct._IO_FILE* %15) + br label %if.end13 + +if.end13: ; preds = %if.then11, %land.lhs.true, %if.end + %16 = load i8*, i8** %program.addr, align 8 + %call14 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.25.108, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.22.105, i64 0, i64 0), i8* %16) + %17 = load i8*, i8** %node, align 8 + %18 = load i8*, i8** %node, align 8 + %19 = load i8*, i8** %program.addr, align 8 + %cmp15 = icmp eq i8* %18, %19 + %20 = zext i1 %cmp15 to i64 + %cond = select i1 %cmp15, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.27.109, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.7.110, i64 0, i64 0) + %call16 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([51 x i8], [51 x i8]* @.str.26.111, i64 0, i64 0), i8* %17, i8* %cond) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__klee_posix_wrapped_main(i32 %argc, i8** %argv) #3 { +entry: + %retval = alloca i32, align 4 + %argc.addr = alloca i32, align 4 + %argv.addr = alloca i8**, align 8 + store i32 0, i32* %retval, align 4 + store i32 %argc, i32* %argc.addr, align 4 + store i8** %argv, i8*** %argv.addr, align 8 + %0 = load i32, i32* %argc.addr, align 4 + %cmp = icmp eq i32 %0, 2 + br i1 %cmp, label %if.then, label %if.end11 + +if.then: ; preds = %entry + %1 = load i8**, i8*** %argv.addr, align 8 + %arrayidx = getelementptr inbounds i8*, i8** %1, i64 0 + %2 = load i8*, i8** %arrayidx, align 8 + call void @set_program_name(i8* %2) + %call = call i8* @setlocale(i32 6, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.7.110, i64 0, i64 0)) #11 + %call1 = call i32 @atexit(void ()* @close_stdout) #11 + %3 = load i8**, i8*** %argv.addr, align 8 + %arrayidx2 = getelementptr inbounds i8*, i8** %3, i64 1 + %4 = load i8*, i8** %arrayidx2, align 8 + %call3 = call i32 @strcmp(i8* %4, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.8.123, i64 0, i64 0)) #23 + %cmp4 = icmp eq i32 %call3, 0 + br i1 %cmp4, label %if.then5, label %if.end + +if.then5: ; preds = %if.then + call void @usage(i32 0) #24 + unreachable + +if.end: ; preds = %if.then + %5 = load i8**, i8*** %argv.addr, align 8 + %arrayidx6 = getelementptr inbounds i8*, i8** %5, i64 1 + %6 = load i8*, i8** %arrayidx6, align 8 + %call7 = call i32 @strcmp(i8* %6, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.9.124, i64 0, i64 0)) #23 + %cmp8 = icmp eq i32 %call7, 0 + br i1 %cmp8, label %if.then9, label %if.end11 + +if.then9: ; preds = %if.end + %7 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %8 = load i8*, i8** @Version, align 8 + call void (%struct._IO_FILE*, i8*, i8*, i8*, ...) @version_etc(%struct._IO_FILE* %7, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.6.102, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.10.104, i64 0, i64 0), i8* %8, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.11.125, i64 0, i64 0), i8* null) + br label %if.end11 + +if.end11: ; preds = %if.end, %if.then9, %entry + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_program_name(i8* %argv0) #3 { +entry: + %argv0.addr = alloca i8*, align 8 + %slash = alloca i8*, align 8 + %base = alloca i8*, align 8 + store i8* %argv0, i8** %argv0.addr, align 8 + %0 = load i8*, i8** %argv0.addr, align 8 + %cmp = icmp eq i8* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stderr to %struct._IO_FILE**), align 8 + %call = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.40, i64 0, i64 0), %struct._IO_FILE* %1) + call void @abort() #26 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %argv0.addr, align 8 + %call1 = call i8* @strrchr(i8* %2, i32 47) #23 + store i8* %call1, i8** %slash, align 8 + %3 = load i8*, i8** %slash, align 8 + %cmp2 = icmp ne i8* %3, null + %4 = load i8*, i8** %slash, align 8 + %add.ptr = getelementptr inbounds i8, i8* %4, i64 1 + %5 = load i8*, i8** %argv0.addr, align 8 + %cond = select i1 %cmp2, i8* %add.ptr, i8* %5 + store i8* %cond, i8** %base, align 8 + %6 = load i8*, i8** %base, align 8 + %7 = load i8*, i8** %argv0.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %6 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %cmp3 = icmp sge i64 %sub.ptr.sub, 7 + br i1 %cmp3, label %land.lhs.true, label %if.end13 + +land.lhs.true: ; preds = %if.end + %8 = load i8*, i8** %base, align 8 + %add.ptr4 = getelementptr inbounds i8, i8* %8, i64 -7 + %call5 = call i32 @strncmp(i8* %add.ptr4, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1.41, i64 0, i64 0), i64 7) #23 + %cmp6 = icmp eq i32 %call5, 0 + br i1 %cmp6, label %if.then7, label %if.end13 + +if.then7: ; preds = %land.lhs.true + %9 = load i8*, i8** %base, align 8 + store i8* %9, i8** %argv0.addr, align 8 + %10 = load i8*, i8** %base, align 8 + %call8 = call i32 @strncmp(i8* %10, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2.42, i64 0, i64 0), i64 3) #23 + %cmp9 = icmp eq i32 %call8, 0 + br i1 %cmp9, label %if.then10, label %if.end13 + +if.then10: ; preds = %if.then7 + %11 = load i8*, i8** %base, align 8 + %add.ptr11 = getelementptr inbounds i8, i8* %11, i64 3 + store i8* %add.ptr11, i8** %argv0.addr, align 8 + %12 = load i8*, i8** %argv0.addr, align 8 + store i8* %12, i8** @program_invocation_short_name, align 8 + br label %if.end13 + +if.end13: ; preds = %if.then7, %if.then10, %land.lhs.true, %if.end + %13 = load i8*, i8** %argv0.addr, align 8 + store i8* %13, i8** @program_name, align 8 + %14 = load i8*, i8** %argv0.addr, align 8 + store i8* %14, i8** @program_invocation_name, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @close_stdout() #3 { +entry: + %write_error = alloca i8*, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call = call i32 @close_stream(%struct._IO_FILE* %0) + %cmp = icmp ne i32 %call, 0 + br i1 %cmp, label %land.lhs.true, label %if.end9 + +land.lhs.true: ; preds = %entry + %1 = load i8, i8* @ignore_EPIPE, align 1 + %tobool = trunc i8 %1 to i1 + br i1 %tobool, label %land.lhs.true1, label %if.then + +land.lhs.true1: ; preds = %land.lhs.true + %call2 = call i32* @__errno_location() #25 + %2 = load i32, i32* %call2, align 4 + %cmp3 = icmp eq i32 %2, 32 + br i1 %cmp3, label %if.end9, label %if.then + +if.then: ; preds = %land.lhs.true1, %land.lhs.true + store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.31.126, i64 0, i64 0), i8** %write_error, align 8 + %3 = load i8*, i8** @file_name, align 8 + %tobool4 = icmp ne i8* %3, null + %call6 = call i32* @__errno_location() #25 + %4 = load i32, i32* %call6, align 4 + br i1 %tobool4, label %if.then5, label %if.else + +if.then5: ; preds = %if.then + %5 = load i8*, i8** @file_name, align 8 + %call7 = call i8* @quotearg_colon(i8* %5) + %6 = load i8*, i8** %write_error, align 8 + call void (i32, i32, i8*, ...) @error(i32 0, i32 %4, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.32, i64 0, i64 0), i8* %call7, i8* %6) + br label %if.end + +if.else: ; preds = %if.then + %7 = load i8*, i8** %write_error, align 8 + call void (i32, i32, i8*, ...) @error(i32 0, i32 %4, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.2.33, i64 0, i64 0), i8* %7) + br label %if.end + +if.end: ; preds = %if.else, %if.then5 + %8 = load volatile i32, i32* @exit_failure, align 4 + call void @_exit(i32 %8) #24 + unreachable + +if.end9: ; preds = %land.lhs.true1, %entry + %9 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stderr to %struct._IO_FILE**), align 8 + %call10 = call i32 @close_stream(%struct._IO_FILE* %9) + %cmp11 = icmp ne i32 %call10, 0 + br i1 %cmp11, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.end9 + %10 = load volatile i32, i32* @exit_failure, align 4 + call void @_exit(i32 %10) #24 + unreachable + +if.end13: ; preds = %if.end9 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, ...) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors = alloca [1 x %struct.__va_list_tag.0], align 16 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %authors, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %1 = load i8*, i8** %command_name.addr, align 8 + %2 = load i8*, i8** %package.addr, align 8 + %3 = load i8*, i8** %version.addr, align 8 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %authors, i64 0, i64 0 + call void @version_etc_va(%struct._IO_FILE* %0, i8* %1, i8* %2, i8* %3, %struct.__va_list_tag.0* %arraydecay2) + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %authors, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc_va(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, %struct.__va_list_tag.0* %authors) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors.addr = alloca %struct.__va_list_tag.0*, align 8 + %n_authors = alloca i64, align 8 + %authtab = alloca [10 x i8*], align 16 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + store %struct.__va_list_tag.0* %authors, %struct.__va_list_tag.0** %authors.addr, align 8 + store i64 0, i64* %n_authors, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i64, i64* %n_authors, align 8 + %cmp = icmp ult i64 %0, 10 + br i1 %cmp, label %land.rhs, label %for.end + +land.rhs: ; preds = %for.cond + %1 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %authors.addr, align 8 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %1, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 8 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %land.rhs + %2 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %1, i32 0, i32 3 + %reg_save_area = load i8*, i8** %2, align 8 + %3 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %4 = bitcast i8* %3 to i8** + %5 = add i32 %gp_offset, 8 + store i32 %5, i32* %gp_offset_p, align 8 + br label %vaarg.end + +vaarg.in_mem: ; preds = %land.rhs + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %1, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %6 = bitcast i8* %overflow_arg_area to i8** + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i8** [ %4, %vaarg.in_reg ], [ %6, %vaarg.in_mem ] + %7 = load i8*, i8** %vaarg.addr, align 8 + %8 = load i64, i64* %n_authors, align 8 + %arrayidx = getelementptr inbounds [10 x i8*], [10 x i8*]* %authtab, i64 0, i64 %8 + store i8* %7, i8** %arrayidx, align 8 + %cmp1 = icmp ne i8* %7, null + br i1 %cmp1, label %for.inc, label %for.end + +for.inc: ; preds = %vaarg.end + %9 = load i64, i64* %n_authors, align 8 + %inc = add i64 %9, 1 + store i64 %inc, i64* %n_authors, align 8 + br label %for.cond + +for.end: ; preds = %for.cond, %vaarg.end + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %11 = load i8*, i8** %command_name.addr, align 8 + %12 = load i8*, i8** %package.addr, align 8 + %13 = load i8*, i8** %version.addr, align 8 + %arraydecay = getelementptr inbounds [10 x i8*], [10 x i8*]* %authtab, i64 0, i64 0 + %14 = load i64, i64* %n_authors, align 8 + call void @version_etc_arn(%struct._IO_FILE* %10, i8* %11, i8* %12, i8* %13, i8** %arraydecay, i64 %14) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc_arn(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, i8** %authors, i64 %n_authors) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors.addr = alloca i8**, align 8 + %n_authors.addr = alloca i64, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + store i8** %authors, i8*** %authors.addr, align 8 + store i64 %n_authors, i64* %n_authors.addr, align 8 + %0 = load i8*, i8** %command_name.addr, align 8 + %tobool = icmp ne i8* %0, null + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %entry + %2 = load i8*, i8** %command_name.addr, align 8 + %3 = load i8*, i8** %package.addr, align 8 + %4 = load i8*, i8** %version.addr, align 8 + %call = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %1, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.64, i64 0, i64 0), i8* %2, i8* %3, i8* %4) + br label %if.end + +if.else: ; preds = %entry + %5 = load i8*, i8** %package.addr, align 8 + %6 = load i8*, i8** %version.addr, align 8 + %call1 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %1, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.65, i64 0, i64 0), i8* %5, i8* %6) + br label %if.end + +if.end: ; preds = %if.else, %if.then + %7 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call2 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %7, i8* getelementptr inbounds ([47 x i8], [47 x i8]* @version_etc_copyright, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2.66, i64 0, i64 0), i32 2020) + %8 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call3 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.67, i64 0, i64 0), %struct._IO_FILE* %8) + %9 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call4 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %9, i8* getelementptr inbounds ([171 x i8], [171 x i8]* @.str.4.68, i64 0, i64 0), i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.5.69, i64 0, i64 0)) + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call5 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.67, i64 0, i64 0), %struct._IO_FILE* %10) + %11 = load i64, i64* %n_authors.addr, align 8 + br label %NodeBlock17 + +NodeBlock17: ; preds = %if.end + %case.cmp18 = icmp eq i64 %11, 0 + br i1 %case.cmp18, label %sw.epilog, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i64 %11, 1 + br i1 %case.cmp16, label %sw.bb6, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i64 %11, 2 + br i1 %case.cmp14, label %sw.bb8, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i64 %11, 3 + br i1 %case.cmp12, label %sw.bb12, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i64 %11, 4 + br i1 %case.cmp10, label %sw.bb17, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i64 %11, 5 + br i1 %case.cmp8, label %sw.bb23, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i64 %11, 6 + br i1 %case.cmp6, label %sw.bb30, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i64 %11, 7 + br i1 %case.cmp4, label %sw.bb38, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i64 %11, 8 + br i1 %case.cmp2, label %sw.bb47, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i64 %11, 9 + br i1 %case.cmp, label %sw.bb57, label %newDefault + +sw.bb6: ; preds = %NodeBlock15 + %12 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %13 = load i8**, i8*** %authors.addr, align 8 + %arrayidx = getelementptr inbounds i8*, i8** %13, i64 0 + %14 = load i8*, i8** %arrayidx, align 8 + %call7 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %12, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.6.70, i64 0, i64 0), i8* %14) + br label %sw.epilog + +sw.bb8: ; preds = %NodeBlock13 + %15 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %16 = load i8**, i8*** %authors.addr, align 8 + %arrayidx9 = getelementptr inbounds i8*, i8** %16, i64 0 + %17 = load i8*, i8** %arrayidx9, align 8 + %18 = load i8**, i8*** %authors.addr, align 8 + %arrayidx10 = getelementptr inbounds i8*, i8** %18, i64 1 + %19 = load i8*, i8** %arrayidx10, align 8 + %call11 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %15, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.7.71, i64 0, i64 0), i8* %17, i8* %19) + br label %sw.epilog + +sw.bb12: ; preds = %NodeBlock11 + %20 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %21 = load i8**, i8*** %authors.addr, align 8 + %arrayidx13 = getelementptr inbounds i8*, i8** %21, i64 0 + %22 = load i8*, i8** %arrayidx13, align 8 + %23 = load i8**, i8*** %authors.addr, align 8 + %arrayidx14 = getelementptr inbounds i8*, i8** %23, i64 1 + %24 = load i8*, i8** %arrayidx14, align 8 + %25 = load i8**, i8*** %authors.addr, align 8 + %arrayidx15 = getelementptr inbounds i8*, i8** %25, i64 2 + %26 = load i8*, i8** %arrayidx15, align 8 + %call16 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %20, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.8.72, i64 0, i64 0), i8* %22, i8* %24, i8* %26) + br label %sw.epilog + +sw.bb17: ; preds = %NodeBlock9 + %27 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %28 = load i8**, i8*** %authors.addr, align 8 + %arrayidx18 = getelementptr inbounds i8*, i8** %28, i64 0 + %29 = load i8*, i8** %arrayidx18, align 8 + %30 = load i8**, i8*** %authors.addr, align 8 + %arrayidx19 = getelementptr inbounds i8*, i8** %30, i64 1 + %31 = load i8*, i8** %arrayidx19, align 8 + %32 = load i8**, i8*** %authors.addr, align 8 + %arrayidx20 = getelementptr inbounds i8*, i8** %32, i64 2 + %33 = load i8*, i8** %arrayidx20, align 8 + %34 = load i8**, i8*** %authors.addr, align 8 + %arrayidx21 = getelementptr inbounds i8*, i8** %34, i64 3 + %35 = load i8*, i8** %arrayidx21, align 8 + %call22 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %27, i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.9.73, i64 0, i64 0), i8* %29, i8* %31, i8* %33, i8* %35) + br label %sw.epilog + +sw.bb23: ; preds = %NodeBlock7 + %36 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %37 = load i8**, i8*** %authors.addr, align 8 + %arrayidx24 = getelementptr inbounds i8*, i8** %37, i64 0 + %38 = load i8*, i8** %arrayidx24, align 8 + %39 = load i8**, i8*** %authors.addr, align 8 + %arrayidx25 = getelementptr inbounds i8*, i8** %39, i64 1 + %40 = load i8*, i8** %arrayidx25, align 8 + %41 = load i8**, i8*** %authors.addr, align 8 + %arrayidx26 = getelementptr inbounds i8*, i8** %41, i64 2 + %42 = load i8*, i8** %arrayidx26, align 8 + %43 = load i8**, i8*** %authors.addr, align 8 + %arrayidx27 = getelementptr inbounds i8*, i8** %43, i64 3 + %44 = load i8*, i8** %arrayidx27, align 8 + %45 = load i8**, i8*** %authors.addr, align 8 + %arrayidx28 = getelementptr inbounds i8*, i8** %45, i64 4 + %46 = load i8*, i8** %arrayidx28, align 8 + %call29 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %36, i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.10.74, i64 0, i64 0), i8* %38, i8* %40, i8* %42, i8* %44, i8* %46) + br label %sw.epilog + +sw.bb30: ; preds = %NodeBlock5 + %47 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %48 = load i8**, i8*** %authors.addr, align 8 + %arrayidx31 = getelementptr inbounds i8*, i8** %48, i64 0 + %49 = load i8*, i8** %arrayidx31, align 8 + %50 = load i8**, i8*** %authors.addr, align 8 + %arrayidx32 = getelementptr inbounds i8*, i8** %50, i64 1 + %51 = load i8*, i8** %arrayidx32, align 8 + %52 = load i8**, i8*** %authors.addr, align 8 + %arrayidx33 = getelementptr inbounds i8*, i8** %52, i64 2 + %53 = load i8*, i8** %arrayidx33, align 8 + %54 = load i8**, i8*** %authors.addr, align 8 + %arrayidx34 = getelementptr inbounds i8*, i8** %54, i64 3 + %55 = load i8*, i8** %arrayidx34, align 8 + %56 = load i8**, i8*** %authors.addr, align 8 + %arrayidx35 = getelementptr inbounds i8*, i8** %56, i64 4 + %57 = load i8*, i8** %arrayidx35, align 8 + %58 = load i8**, i8*** %authors.addr, align 8 + %arrayidx36 = getelementptr inbounds i8*, i8** %58, i64 5 + %59 = load i8*, i8** %arrayidx36, align 8 + %call37 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %47, i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.11.75, i64 0, i64 0), i8* %49, i8* %51, i8* %53, i8* %55, i8* %57, i8* %59) + br label %sw.epilog + +sw.bb38: ; preds = %NodeBlock3 + %60 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %61 = load i8**, i8*** %authors.addr, align 8 + %arrayidx39 = getelementptr inbounds i8*, i8** %61, i64 0 + %62 = load i8*, i8** %arrayidx39, align 8 + %63 = load i8**, i8*** %authors.addr, align 8 + %arrayidx40 = getelementptr inbounds i8*, i8** %63, i64 1 + %64 = load i8*, i8** %arrayidx40, align 8 + %65 = load i8**, i8*** %authors.addr, align 8 + %arrayidx41 = getelementptr inbounds i8*, i8** %65, i64 2 + %66 = load i8*, i8** %arrayidx41, align 8 + %67 = load i8**, i8*** %authors.addr, align 8 + %arrayidx42 = getelementptr inbounds i8*, i8** %67, i64 3 + %68 = load i8*, i8** %arrayidx42, align 8 + %69 = load i8**, i8*** %authors.addr, align 8 + %arrayidx43 = getelementptr inbounds i8*, i8** %69, i64 4 + %70 = load i8*, i8** %arrayidx43, align 8 + %71 = load i8**, i8*** %authors.addr, align 8 + %arrayidx44 = getelementptr inbounds i8*, i8** %71, i64 5 + %72 = load i8*, i8** %arrayidx44, align 8 + %73 = load i8**, i8*** %authors.addr, align 8 + %arrayidx45 = getelementptr inbounds i8*, i8** %73, i64 6 + %74 = load i8*, i8** %arrayidx45, align 8 + %call46 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %60, i8* getelementptr inbounds ([44 x i8], [44 x i8]* @.str.12.76, i64 0, i64 0), i8* %62, i8* %64, i8* %66, i8* %68, i8* %70, i8* %72, i8* %74) + br label %sw.epilog + +sw.bb47: ; preds = %NodeBlock1 + %75 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %76 = load i8**, i8*** %authors.addr, align 8 + %arrayidx48 = getelementptr inbounds i8*, i8** %76, i64 0 + %77 = load i8*, i8** %arrayidx48, align 8 + %78 = load i8**, i8*** %authors.addr, align 8 + %arrayidx49 = getelementptr inbounds i8*, i8** %78, i64 1 + %79 = load i8*, i8** %arrayidx49, align 8 + %80 = load i8**, i8*** %authors.addr, align 8 + %arrayidx50 = getelementptr inbounds i8*, i8** %80, i64 2 + %81 = load i8*, i8** %arrayidx50, align 8 + %82 = load i8**, i8*** %authors.addr, align 8 + %arrayidx51 = getelementptr inbounds i8*, i8** %82, i64 3 + %83 = load i8*, i8** %arrayidx51, align 8 + %84 = load i8**, i8*** %authors.addr, align 8 + %arrayidx52 = getelementptr inbounds i8*, i8** %84, i64 4 + %85 = load i8*, i8** %arrayidx52, align 8 + %86 = load i8**, i8*** %authors.addr, align 8 + %arrayidx53 = getelementptr inbounds i8*, i8** %86, i64 5 + %87 = load i8*, i8** %arrayidx53, align 8 + %88 = load i8**, i8*** %authors.addr, align 8 + %arrayidx54 = getelementptr inbounds i8*, i8** %88, i64 6 + %89 = load i8*, i8** %arrayidx54, align 8 + %90 = load i8**, i8*** %authors.addr, align 8 + %arrayidx55 = getelementptr inbounds i8*, i8** %90, i64 7 + %91 = load i8*, i8** %arrayidx55, align 8 + %call56 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %75, i8* getelementptr inbounds ([48 x i8], [48 x i8]* @.str.13.77, i64 0, i64 0), i8* %77, i8* %79, i8* %81, i8* %83, i8* %85, i8* %87, i8* %89, i8* %91) + br label %sw.epilog + +sw.bb57: ; preds = %NodeBlock + %92 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %93 = load i8**, i8*** %authors.addr, align 8 + %arrayidx58 = getelementptr inbounds i8*, i8** %93, i64 0 + %94 = load i8*, i8** %arrayidx58, align 8 + %95 = load i8**, i8*** %authors.addr, align 8 + %arrayidx59 = getelementptr inbounds i8*, i8** %95, i64 1 + %96 = load i8*, i8** %arrayidx59, align 8 + %97 = load i8**, i8*** %authors.addr, align 8 + %arrayidx60 = getelementptr inbounds i8*, i8** %97, i64 2 + %98 = load i8*, i8** %arrayidx60, align 8 + %99 = load i8**, i8*** %authors.addr, align 8 + %arrayidx61 = getelementptr inbounds i8*, i8** %99, i64 3 + %100 = load i8*, i8** %arrayidx61, align 8 + %101 = load i8**, i8*** %authors.addr, align 8 + %arrayidx62 = getelementptr inbounds i8*, i8** %101, i64 4 + %102 = load i8*, i8** %arrayidx62, align 8 + %103 = load i8**, i8*** %authors.addr, align 8 + %arrayidx63 = getelementptr inbounds i8*, i8** %103, i64 5 + %104 = load i8*, i8** %arrayidx63, align 8 + %105 = load i8**, i8*** %authors.addr, align 8 + %arrayidx64 = getelementptr inbounds i8*, i8** %105, i64 6 + %106 = load i8*, i8** %arrayidx64, align 8 + %107 = load i8**, i8*** %authors.addr, align 8 + %arrayidx65 = getelementptr inbounds i8*, i8** %107, i64 7 + %108 = load i8*, i8** %arrayidx65, align 8 + %109 = load i8**, i8*** %authors.addr, align 8 + %arrayidx66 = getelementptr inbounds i8*, i8** %109, i64 8 + %110 = load i8*, i8** %arrayidx66, align 8 + %call67 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %92, i8* getelementptr inbounds ([52 x i8], [52 x i8]* @.str.14.78, i64 0, i64 0), i8* %94, i8* %96, i8* %98, i8* %100, i8* %102, i8* %104, i8* %106, i8* %108, i8* %110) + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + %111 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %112 = load i8**, i8*** %authors.addr, align 8 + %arrayidx68 = getelementptr inbounds i8*, i8** %112, i64 0 + %113 = load i8*, i8** %arrayidx68, align 8 + %114 = load i8**, i8*** %authors.addr, align 8 + %arrayidx69 = getelementptr inbounds i8*, i8** %114, i64 1 + %115 = load i8*, i8** %arrayidx69, align 8 + %116 = load i8**, i8*** %authors.addr, align 8 + %arrayidx70 = getelementptr inbounds i8*, i8** %116, i64 2 + %117 = load i8*, i8** %arrayidx70, align 8 + %118 = load i8**, i8*** %authors.addr, align 8 + %arrayidx71 = getelementptr inbounds i8*, i8** %118, i64 3 + %119 = load i8*, i8** %arrayidx71, align 8 + %120 = load i8**, i8*** %authors.addr, align 8 + %arrayidx72 = getelementptr inbounds i8*, i8** %120, i64 4 + %121 = load i8*, i8** %arrayidx72, align 8 + %122 = load i8**, i8*** %authors.addr, align 8 + %arrayidx73 = getelementptr inbounds i8*, i8** %122, i64 5 + %123 = load i8*, i8** %arrayidx73, align 8 + %124 = load i8**, i8*** %authors.addr, align 8 + %arrayidx74 = getelementptr inbounds i8*, i8** %124, i64 6 + %125 = load i8*, i8** %arrayidx74, align 8 + %126 = load i8**, i8*** %authors.addr, align 8 + %arrayidx75 = getelementptr inbounds i8*, i8** %126, i64 7 + %127 = load i8*, i8** %arrayidx75, align 8 + %128 = load i8**, i8*** %authors.addr, align 8 + %arrayidx76 = getelementptr inbounds i8*, i8** %128, i64 8 + %129 = load i8*, i8** %arrayidx76, align 8 + %call77 = call i32 (%struct._IO_FILE*, i8*, ...) bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...)* @fprintf to i32 (%struct._IO_FILE*, i8*, ...)*)(%struct._IO_FILE* %111, i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.15.79, i64 0, i64 0), i8* %113, i8* %115, i8* %117, i8* %119, i8* %121, i8* %123, i8* %125, i8* %127, i8* %129) + br label %sw.epilog + +sw.epilog: ; preds = %NodeBlock17, %sw.default, %sw.bb57, %sw.bb47, %sw.bb38, %sw.bb30, %sw.bb23, %sw.bb17, %sw.bb12, %sw.bb8, %sw.bb6 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @close_stream(%struct._IO_FILE* %stream) #3 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct._IO_FILE*, align 8 + %some_pending = alloca i8, align 1 + %prev_fail = alloca i8, align 1 + %fclose_fail = alloca i8, align 1 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.513*)* @__fpending to i64 (%struct._IO_FILE*)*)(%struct._IO_FILE* %0) #11 + %cmp = icmp ne i64 %call, 0 + %frombool = zext i1 %cmp to i8 + store i8 %frombool, i8* %some_pending, align 1 + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call1 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.592*)* @ferror_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %1) #11 + %cmp2 = icmp ne i32 %call1, 0 + %frombool3 = zext i1 %cmp2 to i8 + store i8 %frombool3, i8* %prev_fail, align 1 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call4 = call i32 @rpl_fclose(%struct._IO_FILE* %2) + %cmp5 = icmp ne i32 %call4, 0 + %frombool6 = zext i1 %cmp5 to i8 + store i8 %frombool6, i8* %fclose_fail, align 1 + %3 = load i8, i8* %prev_fail, align 1 + %tobool = trunc i8 %3 to i1 + br i1 %tobool, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %4 = load i8, i8* %fclose_fail, align 1 + %tobool7 = trunc i8 %4 to i1 + br i1 %tobool7, label %land.lhs.true, label %if.end15 + +land.lhs.true: ; preds = %lor.lhs.false + %5 = load i8, i8* %some_pending, align 1 + %tobool8 = trunc i8 %5 to i1 + br i1 %tobool8, label %if.then, label %lor.lhs.false9 + +lor.lhs.false9: ; preds = %land.lhs.true + %call10 = call i32* @__errno_location() #25 + %6 = load i32, i32* %call10, align 4 + %cmp11 = icmp ne i32 %6, 9 + br i1 %cmp11, label %if.then, label %if.end15 + +if.then: ; preds = %lor.lhs.false9, %land.lhs.true, %entry + %7 = load i8, i8* %fclose_fail, align 1 + %tobool12 = trunc i8 %7 to i1 + br i1 %tobool12, label %if.end, label %if.then13 + +if.then13: ; preds = %if.then + %call14 = call i32* @__errno_location() #25 + store i32 0, i32* %call14, align 4 + br label %if.end + +if.end: ; preds = %if.then13, %if.then + store i32 -1, i32* %retval, align 4 + br label %return + +if.end15: ; preds = %lor.lhs.false9, %lor.lhs.false + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end15, %if.end + %8 = load i32, i32* %retval, align 4 + ret i32 %8 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_colon(i8* %arg) #3 { +entry: + %arg.addr = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_char(i8* %0, i8 signext 58) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_char(i8* %arg, i8 signext %ch) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %ch.addr = alloca i8, align 1 + store i8* %arg, i8** %arg.addr, align 8 + store i8 %ch, i8* %ch.addr, align 1 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i8, i8* %ch.addr, align 1 + %call = call i8* @quotearg_char_mem(i8* %0, i64 -1, i8 signext %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_char_mem(i8* %arg, i64 %argsize, i8 signext %ch) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %ch.addr = alloca i8, align 1 + %options = alloca %struct.quoting_options, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store i8 %ch, i8* %ch.addr, align 1 + %0 = bitcast %struct.quoting_options* %options to i8* + %1 = call i8* @memcpy(i8* %0, i8* bitcast (%struct.quoting_options* @default_quoting_options to i8*), i64 56) + %2 = load i8, i8* %ch.addr, align 1 + %call = call i32 @set_char_quoting(%struct.quoting_options* %options, i8 signext %2, i32 1) + %3 = load i8*, i8** %arg.addr, align 8 + %4 = load i64, i64* %argsize.addr, align 8 + %call1 = call i8* @quotearg_n_options(i32 0, i8* %3, i64 %4, %struct.quoting_options* %options) + ret i8* %call1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @set_char_quoting(%struct.quoting_options* %o, i8 signext %c, i32 %i) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %c.addr = alloca i8, align 1 + %i.addr = alloca i32, align 4 + %uc = alloca i8, align 1 + %p = alloca i32*, align 8 + %shift = alloca i32, align 4 + %r = alloca i32, align 4 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i8 %c, i8* %c.addr, align 1 + store i32 %i, i32* %i.addr, align 4 + %0 = load i8, i8* %c.addr, align 1 + store i8 %0, i8* %uc, align 1 + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %1, null + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %2, %struct.quoting_options* @default_quoting_options + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %cond, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %3 = load i8, i8* %uc, align 1 + %conv = zext i8 %3 to i64 + %div = udiv i64 %conv, 32 + %add.ptr = getelementptr inbounds i32, i32* %arraydecay, i64 %div + store i32* %add.ptr, i32** %p, align 8 + %4 = load i8, i8* %uc, align 1 + %conv1 = zext i8 %4 to i64 + %rem = urem i64 %conv1, 32 + %conv2 = trunc i64 %rem to i32 + store i32 %conv2, i32* %shift, align 4 + %5 = load i32*, i32** %p, align 8 + %6 = load i32, i32* %5, align 4 + %7 = load i32, i32* %shift, align 4 + %shr = lshr i32 %6, %7 + %and = and i32 %shr, 1 + store i32 %and, i32* %r, align 4 + %8 = load i32, i32* %i.addr, align 4 + %and3 = and i32 %8, 1 + %9 = load i32, i32* %r, align 4 + %xor = xor i32 %and3, %9 + %10 = load i32, i32* %shift, align 4 + %shl = shl i32 %xor, %10 + %11 = load i32*, i32** %p, align 8 + %12 = load i32, i32* %11, align 4 + %xor4 = xor i32 %12, %shl + store i32 %xor4, i32* %11, align 4 + %13 = load i32, i32* %r, align 4 + ret i32 %13 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @quotearg_n_options(i32 %n, i8* %arg, i64 %argsize, %struct.quoting_options* %options) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %options.addr = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %sv = alloca %struct.slotvec*, align 8 + %preallocated = alloca i8, align 1 + %nmax = alloca i32, align 4 + %size = alloca i64, align 8 + %val = alloca i8*, align 8 + %flags = alloca i32, align 4 + %qsize = alloca i64, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store %struct.quoting_options* %options, %struct.quoting_options** %options.addr, align 8 + %call = call i32* @__errno_location() #25 + %0 = load i32, i32* %call, align 4 + store i32 %0, i32* %e, align 4 + %1 = load %struct.slotvec*, %struct.slotvec** @slotvec, align 8 + store %struct.slotvec* %1, %struct.slotvec** %sv, align 8 + %2 = load i32, i32* %n.addr, align 4 + %cmp = icmp slt i32 %2, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @abort() #26 + unreachable + +if.end: ; preds = %entry + %3 = load i32, i32* @nslots, align 4 + %4 = load i32, i32* %n.addr, align 4 + %cmp1 = icmp sle i32 %3, %4 + br i1 %cmp1, label %if.then2, label %if.end15 + +if.then2: ; preds = %if.end + %5 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %cmp3 = icmp eq %struct.slotvec* %5, @slotvec0 + %frombool = zext i1 %cmp3 to i8 + store i8 %frombool, i8* %preallocated, align 1 + store i32 2147483646, i32* %nmax, align 4 + %6 = load i32, i32* %nmax, align 4 + %7 = load i32, i32* %n.addr, align 4 + %cmp4 = icmp slt i32 %6, %7 + br i1 %cmp4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.then2 + call void @xalloc_die() #24 + unreachable + +if.end6: ; preds = %if.then2 + %8 = load i8, i8* %preallocated, align 1 + %tobool = trunc i8 %8 to i1 + %9 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %cond = select i1 %tobool, %struct.slotvec* null, %struct.slotvec* %9 + %10 = bitcast %struct.slotvec* %cond to i8* + %11 = load i32, i32* %n.addr, align 4 + %add = add nsw i32 %11, 1 + %conv = sext i32 %add to i64 + %mul = mul i64 %conv, 16 + %call7 = call i8* @xrealloc(i8* %10, i64 %mul) + %12 = bitcast i8* %call7 to %struct.slotvec* + store %struct.slotvec* %12, %struct.slotvec** %sv, align 8 + store %struct.slotvec* %12, %struct.slotvec** @slotvec, align 8 + %13 = load i8, i8* %preallocated, align 1 + %tobool8 = trunc i8 %13 to i1 + br i1 %tobool8, label %if.then9, label %if.end10 + +if.then9: ; preds = %if.end6 + %14 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %15 = bitcast %struct.slotvec* %14 to i8* + %16 = call i8* @memcpy(i8* %15, i8* bitcast (%struct.slotvec* @slotvec0 to i8*), i64 16) + br label %if.end10 + +if.end10: ; preds = %if.then9, %if.end6 + %17 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %18 = load i32, i32* @nslots, align 4 + %idx.ext = sext i32 %18 to i64 + %add.ptr = getelementptr inbounds %struct.slotvec, %struct.slotvec* %17, i64 %idx.ext + %19 = bitcast %struct.slotvec* %add.ptr to i8* + %20 = load i32, i32* %n.addr, align 4 + %add11 = add nsw i32 %20, 1 + %21 = load i32, i32* @nslots, align 4 + %sub = sub nsw i32 %add11, %21 + %conv12 = sext i32 %sub to i64 + %mul13 = mul i64 %conv12, 16 + %22 = call i8* @memset(i8* %19, i32 0, i64 %mul13) + %23 = load i32, i32* %n.addr, align 4 + %add14 = add nsw i32 %23, 1 + store i32 %add14, i32* @nslots, align 4 + br label %if.end15 + +if.end15: ; preds = %if.end10, %if.end + %24 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %25 = load i32, i32* %n.addr, align 4 + %idxprom = sext i32 %25 to i64 + %arrayidx = getelementptr inbounds %struct.slotvec, %struct.slotvec* %24, i64 %idxprom + %size16 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx, i32 0, i32 0 + %26 = load i64, i64* %size16, align 8 + store i64 %26, i64* %size, align 8 + %27 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %28 = load i32, i32* %n.addr, align 4 + %idxprom17 = sext i32 %28 to i64 + %arrayidx18 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %27, i64 %idxprom17 + %val19 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx18, i32 0, i32 1 + %29 = load i8*, i8** %val19, align 8 + store i8* %29, i8** %val, align 8 + %30 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %flags20 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %30, i32 0, i32 1 + %31 = load i32, i32* %flags20, align 4 + %or = or i32 %31, 1 + store i32 %or, i32* %flags, align 4 + %32 = load i8*, i8** %val, align 8 + %33 = load i64, i64* %size, align 8 + %34 = load i8*, i8** %arg.addr, align 8 + %35 = load i64, i64* %argsize.addr, align 8 + %36 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %36, i32 0, i32 0 + %37 = load i32, i32* %style, align 8 + %38 = load i32, i32* %flags, align 4 + %39 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %39, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %40 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %left_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %40, i32 0, i32 3 + %41 = load i8*, i8** %left_quote, align 8 + %42 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %right_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %42, i32 0, i32 4 + %43 = load i8*, i8** %right_quote, align 8 + %call21 = call i64 @quotearg_buffer_restyled(i8* %32, i64 %33, i8* %34, i64 %35, i32 %37, i32 %38, i32* %arraydecay, i8* %41, i8* %43) + store i64 %call21, i64* %qsize, align 8 + %44 = load i64, i64* %size, align 8 + %45 = load i64, i64* %qsize, align 8 + %cmp22 = icmp ule i64 %44, %45 + br i1 %cmp22, label %if.then24, label %if.end43 + +if.then24: ; preds = %if.end15 + %46 = load i64, i64* %qsize, align 8 + %add25 = add i64 %46, 1 + store i64 %add25, i64* %size, align 8 + %47 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %48 = load i32, i32* %n.addr, align 4 + %idxprom26 = sext i32 %48 to i64 + %arrayidx27 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %47, i64 %idxprom26 + %size28 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx27, i32 0, i32 0 + store i64 %add25, i64* %size28, align 8 + %49 = load i8*, i8** %val, align 8 + %cmp29 = icmp ne i8* %49, getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i64 0, i64 0) + br i1 %cmp29, label %if.then31, label %if.end32 + +if.then31: ; preds = %if.then24 + %50 = load i8*, i8** %val, align 8 + call void @free(i8* %50) #11 + br label %if.end32 + +if.end32: ; preds = %if.then31, %if.then24 + %51 = load i64, i64* %size, align 8 + %call33 = call noalias i8* @xcharalloc(i64 %51) + store i8* %call33, i8** %val, align 8 + %52 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %53 = load i32, i32* %n.addr, align 4 + %idxprom34 = sext i32 %53 to i64 + %arrayidx35 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %52, i64 %idxprom34 + %val36 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx35, i32 0, i32 1 + store i8* %call33, i8** %val36, align 8 + %54 = load i8*, i8** %val, align 8 + %55 = load i64, i64* %size, align 8 + %56 = load i8*, i8** %arg.addr, align 8 + %57 = load i64, i64* %argsize.addr, align 8 + %58 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %style37 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %58, i32 0, i32 0 + %59 = load i32, i32* %style37, align 8 + %60 = load i32, i32* %flags, align 4 + %61 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %quote_these_too38 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %61, i32 0, i32 2 + %arraydecay39 = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too38, i64 0, i64 0 + %62 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %left_quote40 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %62, i32 0, i32 3 + %63 = load i8*, i8** %left_quote40, align 8 + %64 = load %struct.quoting_options*, %struct.quoting_options** %options.addr, align 8 + %right_quote41 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %64, i32 0, i32 4 + %65 = load i8*, i8** %right_quote41, align 8 + %call42 = call i64 @quotearg_buffer_restyled(i8* %54, i64 %55, i8* %56, i64 %57, i32 %59, i32 %60, i32* %arraydecay39, i8* %63, i8* %65) + br label %if.end43 + +if.end43: ; preds = %if.end32, %if.end15 + %66 = load i32, i32* %e, align 4 + %call44 = call i32* @__errno_location() #25 + store i32 %66, i32* %call44, align 4 + %67 = load i8*, i8** %val, align 8 + ret i8* %67 +} + +; Function Attrs: noinline noreturn nounwind uwtable +define dso_local void @xalloc_die() #6 { +entry: + %0 = load volatile i32, i32* @exit_failure, align 4 + call void (i32, i32, i8*, ...) @error(i32 %0, i32 0, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.99, i64 0, i64 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.1.100, i64 0, i64 0)) + call void @abort() #26 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @xrealloc(i8* %p, i64 %n) #3 { +entry: + %retval = alloca i8*, align 8 + %p.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %tobool = icmp eq i64 %0, 0 + %1 = load i8*, i8** %p.addr, align 8 + %tobool1 = icmp ne i8* %1, null + %or.cond = and i1 %tobool, %tobool1 + %2 = load i8*, i8** %p.addr, align 8 + br i1 %or.cond, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @free(i8* %2) #11 + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %3 = load i64, i64* %n.addr, align 8 + %call = call i8* @realloc(i8* %2, i64 %3) #11 + store i8* %call, i8** %p.addr, align 8 + %4 = load i8*, i8** %p.addr, align 8 + %tobool2 = icmp eq i8* %4, null + %5 = load i64, i64* %n.addr, align 8 + %tobool4 = icmp ne i64 %5, 0 + %or.cond1 = and i1 %tobool2, %tobool4 + br i1 %or.cond1, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end + call void @xalloc_die() #24 + unreachable + +if.end6: ; preds = %if.end + %6 = load i8*, i8** %p.addr, align 8 + store i8* %6, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end6, %if.then + %7 = load i8*, i8** %retval, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @quotearg_buffer_restyled(i8* %buffer, i64 %buffersize, i8* %arg, i64 %argsize, i32 %quoting_style, i32 %flags, i32* %quote_these_too, i8* %left_quote, i8* %right_quote) #3 { +entry: + %retval = alloca i64, align 8 + %buffer.addr = alloca i8*, align 8 + %buffersize.addr = alloca i64, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %quoting_style.addr = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %quote_these_too.addr = alloca i32*, align 8 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %i = alloca i64, align 8 + %len = alloca i64, align 8 + %orig_buffersize = alloca i64, align 8 + %quote_string = alloca i8*, align 8 + %quote_string_len = alloca i64, align 8 + %backslash_escapes = alloca i8, align 1 + %unibyte_locale = alloca i8, align 1 + %elide_outer_quotes = alloca i8, align 1 + %pending_shell_escape_end = alloca i8, align 1 + %encountered_single_quote = alloca i8, align 1 + %all_c_and_shell_quote_compat = alloca i8, align 1 + %c = alloca i8, align 1 + %esc = alloca i8, align 1 + %is_right_quote = alloca i8, align 1 + %escaping = alloca i8, align 1 + %c_and_shell_quote_compat = alloca i8, align 1 + %m = alloca i64, align 8 + %printable = alloca i8, align 1 + %mbstate = alloca %struct.__mbstate_t, align 4 + %w = alloca i32, align 4 + %bytes = alloca i64, align 8 + %j = alloca i64, align 8 + %ilim = alloca i64, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %buffersize, i64* %buffersize.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store i32 %quoting_style, i32* %quoting_style.addr, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store i32* %quote_these_too, i32** %quote_these_too.addr, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i64 0, i64* %len, align 8 + store i64 0, i64* %orig_buffersize, align 8 + store i8* null, i8** %quote_string, align 8 + store i64 0, i64* %quote_string_len, align 8 + store i8 0, i8* %backslash_escapes, align 1 + %call = call i64 @__ctype_get_mb_cur_max() #11 + %cmp = icmp eq i64 %call, 1 + %frombool = zext i1 %cmp to i8 + store i8 %frombool, i8* %unibyte_locale, align 1 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 2 + %cmp1 = icmp ne i32 %and, 0 + %frombool2 = zext i1 %cmp1 to i8 + store i8 %frombool2, i8* %elide_outer_quotes, align 1 + store i8 0, i8* %pending_shell_escape_end, align 1 + store i8 0, i8* %encountered_single_quote, align 1 + store i8 1, i8* %all_c_and_shell_quote_compat, align 1 + br label %process_input + +process_input: ; preds = %if.then701, %entry + %1 = load i32, i32* %quoting_style.addr, align 4 + br label %NodeBlock27 + +NodeBlock27: ; preds = %process_input + %case.cmp28 = icmp eq i32 %1, 6 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %1, 5 + br i1 %case.cmp26, label %sw.bb3, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %1, 7 + br i1 %case.cmp24, label %sw.bb7, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %1, 8 + br i1 %case.cmp22, label %sw.bb8, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %1, 9 + br i1 %case.cmp20, label %sw.bb8, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %1, 10 + br i1 %case.cmp18, label %sw.bb8, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %1, 3 + br i1 %case.cmp16, label %sw.bb26, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %1, 1 + br i1 %case.cmp14, label %sw.bb27, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %1, 4 + br i1 %case.cmp12, label %sw.bb28, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %1, 2 + br i1 %case.cmp10, label %sw.bb32, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock9 + %case.cmp = icmp eq i32 %1, 0 + br i1 %case.cmp, label %sw.bb43, label %newDefault + +sw.bb: ; preds = %NodeBlock27 + store i32 5, i32* %quoting_style.addr, align 4 + store i8 1, i8* %elide_outer_quotes, align 1 + br label %sw.bb3 + +sw.bb3: ; preds = %NodeBlock25, %sw.bb + %2 = load i8, i8* %elide_outer_quotes, align 1 + %tobool = trunc i8 %2 to i1 + br i1 %tobool, label %if.end6, label %do.body + +do.body: ; preds = %sw.bb3 + %3 = load i64, i64* %len, align 8 + %4 = load i64, i64* %buffersize.addr, align 8 + %cmp4 = icmp ult i64 %3, %4 + br i1 %cmp4, label %if.then5, label %if.end + +if.then5: ; preds = %do.body + %5 = load i8*, i8** %buffer.addr, align 8 + %6 = load i64, i64* %len, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 %6 + store i8 34, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then5, %do.body + %7 = load i64, i64* %len, align 8 + %inc = add i64 %7, 1 + store i64 %inc, i64* %len, align 8 + br label %if.end6 + +if.end6: ; preds = %if.end, %sw.bb3 + store i8 1, i8* %backslash_escapes, align 1 + store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10.53, i64 0, i64 0), i8** %quote_string, align 8 + store i64 1, i64* %quote_string_len, align 8 + br label %sw.epilog + +sw.bb7: ; preds = %NodeBlock23 + store i8 1, i8* %backslash_escapes, align 1 + store i8 0, i8* %elide_outer_quotes, align 1 + br label %sw.epilog + +sw.bb8: ; preds = %NodeBlock21, %NodeBlock19, %NodeBlock17 + %8 = load i32, i32* %quoting_style.addr, align 4 + %cmp9 = icmp ne i32 %8, 10 + br i1 %cmp9, label %if.then10, label %if.end13 + +if.then10: ; preds = %sw.bb8 + %9 = load i32, i32* %quoting_style.addr, align 4 + %call11 = call i8* @gettext_quote(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.11.54, i64 0, i64 0), i32 %9) + store i8* %call11, i8** %left_quote.addr, align 8 + %10 = load i32, i32* %quoting_style.addr, align 4 + %call12 = call i8* @gettext_quote(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.55, i64 0, i64 0), i32 %10) + store i8* %call12, i8** %right_quote.addr, align 8 + br label %if.end13 + +if.end13: ; preds = %if.then10, %sw.bb8 + %11 = load i8, i8* %elide_outer_quotes, align 1 + %tobool14 = trunc i8 %11 to i1 + br i1 %tobool14, label %if.end24, label %if.then15 + +if.then15: ; preds = %if.end13 + %12 = load i8*, i8** %left_quote.addr, align 8 + store i8* %12, i8** %quote_string, align 8 + br label %for.cond + +for.cond: ; preds = %if.end21, %if.then15 + %13 = load i8*, i8** %quote_string, align 8 + %14 = load i8, i8* %13, align 1 + %tobool16 = icmp ne i8 %14, 0 + br i1 %tobool16, label %do.body17, label %if.end24 + +do.body17: ; preds = %for.cond + %15 = load i64, i64* %len, align 8 + %16 = load i64, i64* %buffersize.addr, align 8 + %cmp18 = icmp ult i64 %15, %16 + br i1 %cmp18, label %if.then19, label %if.end21 + +if.then19: ; preds = %do.body17 + %17 = load i8*, i8** %quote_string, align 8 + %18 = load i8, i8* %17, align 1 + %19 = load i8*, i8** %buffer.addr, align 8 + %20 = load i64, i64* %len, align 8 + %arrayidx20 = getelementptr inbounds i8, i8* %19, i64 %20 + store i8 %18, i8* %arrayidx20, align 1 + br label %if.end21 + +if.end21: ; preds = %if.then19, %do.body17 + %21 = load i64, i64* %len, align 8 + %inc22 = add i64 %21, 1 + store i64 %inc22, i64* %len, align 8 + %22 = load i8*, i8** %quote_string, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %22, i32 1 + store i8* %incdec.ptr, i8** %quote_string, align 8 + br label %for.cond + +if.end24: ; preds = %for.cond, %if.end13 + store i8 1, i8* %backslash_escapes, align 1 + %23 = load i8*, i8** %right_quote.addr, align 8 + store i8* %23, i8** %quote_string, align 8 + %24 = load i8*, i8** %quote_string, align 8 + %call25 = call i64 @strlen(i8* %24) #23 + store i64 %call25, i64* %quote_string_len, align 8 + br label %sw.epilog + +sw.bb26: ; preds = %NodeBlock15 + store i8 1, i8* %backslash_escapes, align 1 + br label %sw.bb27 + +sw.bb27: ; preds = %NodeBlock13, %sw.bb26 + store i8 1, i8* %elide_outer_quotes, align 1 + br label %sw.bb28 + +sw.bb28: ; preds = %NodeBlock11, %sw.bb27 + %25 = load i8, i8* %elide_outer_quotes, align 1 + %tobool29 = trunc i8 %25 to i1 + br i1 %tobool29, label %sw.bb32, label %if.then30 + +if.then30: ; preds = %sw.bb28 + store i8 1, i8* %backslash_escapes, align 1 + br label %sw.bb32 + +sw.bb32: ; preds = %NodeBlock9, %sw.bb28, %if.then30 + store i32 2, i32* %quoting_style.addr, align 4 + %26 = load i8, i8* %elide_outer_quotes, align 1 + %tobool33 = trunc i8 %26 to i1 + br i1 %tobool33, label %if.end42, label %do.body35 + +do.body35: ; preds = %sw.bb32 + %27 = load i64, i64* %len, align 8 + %28 = load i64, i64* %buffersize.addr, align 8 + %cmp36 = icmp ult i64 %27, %28 + br i1 %cmp36, label %if.then37, label %if.end39 + +if.then37: ; preds = %do.body35 + %29 = load i8*, i8** %buffer.addr, align 8 + %30 = load i64, i64* %len, align 8 + %arrayidx38 = getelementptr inbounds i8, i8* %29, i64 %30 + store i8 39, i8* %arrayidx38, align 1 + br label %if.end39 + +if.end39: ; preds = %if.then37, %do.body35 + %31 = load i64, i64* %len, align 8 + %inc40 = add i64 %31, 1 + store i64 %inc40, i64* %len, align 8 + br label %if.end42 + +if.end42: ; preds = %if.end39, %sw.bb32 + store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.55, i64 0, i64 0), i8** %quote_string, align 8 + store i64 1, i64* %quote_string_len, align 8 + br label %sw.epilog + +sw.bb43: ; preds = %NodeBlock + store i8 0, i8* %elide_outer_quotes, align 1 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + call void @abort() #26 + unreachable + +sw.epilog: ; preds = %sw.bb43, %if.end42, %if.end24, %sw.bb7, %if.end6 + store i64 0, i64* %i, align 8 + br label %for.cond44 + +for.cond44: ; preds = %for.inc673, %sw.epilog + %32 = load i64, i64* %argsize.addr, align 8 + %cmp45 = icmp eq i64 %32, -1 + br i1 %cmp45, label %cond.true, label %cond.false + +cond.true: ; preds = %for.cond44 + %33 = load i8*, i8** %arg.addr, align 8 + %34 = load i64, i64* %i, align 8 + %arrayidx46 = getelementptr inbounds i8, i8* %33, i64 %34 + %35 = load i8, i8* %arrayidx46, align 1 + %conv = sext i8 %35 to i32 + %cmp47 = icmp eq i32 %conv, 0 + %conv48 = zext i1 %cmp47 to i32 + br label %cond.end + +cond.false: ; preds = %for.cond44 + %36 = load i64, i64* %i, align 8 + %37 = load i64, i64* %argsize.addr, align 8 + %cmp49 = icmp eq i64 %36, %37 + %conv50 = zext i1 %cmp49 to i32 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ %conv48, %cond.true ], [ %conv50, %cond.false ] + %tobool51 = icmp ne i32 %cond, 0 + %lnot = xor i1 %tobool51, true + br i1 %lnot, label %for.body52, label %for.end675 + +for.body52: ; preds = %cond.end + store i8 0, i8* %is_right_quote, align 1 + store i8 0, i8* %escaping, align 1 + store i8 0, i8* %c_and_shell_quote_compat, align 1 + %38 = load i8, i8* %backslash_escapes, align 1 + %tobool53 = trunc i8 %38 to i1 + %39 = load i32, i32* %quoting_style.addr, align 4 + %cmp55 = icmp ne i32 %39, 2 + %or.cond = and i1 %tobool53, %cmp55 + %40 = load i64, i64* %quote_string_len, align 8 + %tobool58 = icmp ne i64 %40, 0 + %or.cond1 = and i1 %or.cond, %tobool58 + br i1 %or.cond1, label %land.lhs.true59, label %if.end80 + +land.lhs.true59: ; preds = %for.body52 + %41 = load i64, i64* %i, align 8 + %42 = load i64, i64* %quote_string_len, align 8 + %add = add i64 %41, %42 + %43 = load i64, i64* %argsize.addr, align 8 + %cmp60 = icmp eq i64 %43, -1 + %44 = load i64, i64* %quote_string_len, align 8 + %cmp63 = icmp ult i64 1, %44 + %or.cond2 = and i1 %cmp60, %cmp63 + br i1 %or.cond2, label %cond.true65, label %cond.false67 + +cond.true65: ; preds = %land.lhs.true59 + %45 = load i8*, i8** %arg.addr, align 8 + %call66 = call i64 @strlen(i8* %45) #23 + store i64 %call66, i64* %argsize.addr, align 8 + br label %cond.end68 + +cond.false67: ; preds = %land.lhs.true59 + %46 = load i64, i64* %argsize.addr, align 8 + br label %cond.end68 + +cond.end68: ; preds = %cond.false67, %cond.true65 + %cond69 = phi i64 [ %call66, %cond.true65 ], [ %46, %cond.false67 ] + %cmp70 = icmp ule i64 %add, %cond69 + br i1 %cmp70, label %land.lhs.true72, label %if.end80 + +land.lhs.true72: ; preds = %cond.end68 + %47 = load i8*, i8** %arg.addr, align 8 + %48 = load i64, i64* %i, align 8 + %add.ptr = getelementptr inbounds i8, i8* %47, i64 %48 + %49 = load i8*, i8** %quote_string, align 8 + %50 = load i64, i64* %quote_string_len, align 8 + %call73 = call i32 @memcmp(i8* %add.ptr, i8* %49, i64 %50) #23 + %cmp74 = icmp eq i32 %call73, 0 + br i1 %cmp74, label %if.then76, label %if.end80 + +if.then76: ; preds = %land.lhs.true72 + %51 = load i8, i8* %elide_outer_quotes, align 1 + %tobool77 = trunc i8 %51 to i1 + br i1 %tobool77, label %force_outer_quoting_style, label %if.end79 + +if.end79: ; preds = %if.then76 + store i8 1, i8* %is_right_quote, align 1 + br label %if.end80 + +if.end80: ; preds = %if.end79, %land.lhs.true72, %cond.end68, %for.body52 + %52 = load i8*, i8** %arg.addr, align 8 + %53 = load i64, i64* %i, align 8 + %arrayidx81 = getelementptr inbounds i8, i8* %52, i64 %53 + %54 = load i8, i8* %arrayidx81, align 1 + store i8 %54, i8* %c, align 1 + %55 = load i8, i8* %c, align 1 + %conv82 = zext i8 %55 to i32 + br label %NodeBlock232 + +NodeBlock232: ; preds = %if.end80 + %case.cmp233 = icmp eq i32 %conv82, 0 + br i1 %case.cmp233, label %sw.bb83, label %NodeBlock230 + +NodeBlock230: ; preds = %NodeBlock232 + %case.cmp231 = icmp eq i32 %conv82, 63 + br i1 %case.cmp231, label %sw.bb170, label %NodeBlock228 + +NodeBlock228: ; preds = %NodeBlock230 + %case.cmp229 = icmp eq i32 %conv82, 7 + br i1 %case.cmp229, label %sw.bb236, label %NodeBlock226 + +NodeBlock226: ; preds = %NodeBlock228 + %case.cmp227 = icmp eq i32 %conv82, 8 + br i1 %case.cmp227, label %sw.bb237, label %NodeBlock224 + +NodeBlock224: ; preds = %NodeBlock226 + %case.cmp225 = icmp eq i32 %conv82, 12 + br i1 %case.cmp225, label %sw.bb238, label %NodeBlock222 + +NodeBlock222: ; preds = %NodeBlock224 + %case.cmp223 = icmp eq i32 %conv82, 10 + br i1 %case.cmp223, label %sw.bb239, label %NodeBlock220 + +NodeBlock220: ; preds = %NodeBlock222 + %case.cmp221 = icmp eq i32 %conv82, 13 + br i1 %case.cmp221, label %sw.bb240, label %NodeBlock218 + +NodeBlock218: ; preds = %NodeBlock220 + %case.cmp219 = icmp eq i32 %conv82, 9 + br i1 %case.cmp219, label %sw.bb241, label %NodeBlock216 + +NodeBlock216: ; preds = %NodeBlock218 + %case.cmp217 = icmp eq i32 %conv82, 11 + br i1 %case.cmp217, label %sw.bb242, label %NodeBlock214 + +NodeBlock214: ; preds = %NodeBlock216 + %case.cmp215 = icmp eq i32 %conv82, 92 + br i1 %case.cmp215, label %sw.bb243, label %NodeBlock212 + +NodeBlock212: ; preds = %NodeBlock214 + %case.cmp213 = icmp eq i32 %conv82, 123 + br i1 %case.cmp213, label %sw.bb270, label %NodeBlock210 + +NodeBlock210: ; preds = %NodeBlock212 + %case.cmp211 = icmp eq i32 %conv82, 125 + br i1 %case.cmp211, label %sw.bb270, label %NodeBlock208 + +NodeBlock208: ; preds = %NodeBlock210 + %case.cmp209 = icmp eq i32 %conv82, 35 + br i1 %case.cmp209, label %sw.bb283, label %NodeBlock206 + +NodeBlock206: ; preds = %NodeBlock208 + %case.cmp207 = icmp eq i32 %conv82, 126 + br i1 %case.cmp207, label %sw.bb283, label %NodeBlock204 + +NodeBlock204: ; preds = %NodeBlock206 + %case.cmp205 = icmp eq i32 %conv82, 32 + br i1 %case.cmp205, label %sw.bb288, label %NodeBlock202 + +NodeBlock202: ; preds = %NodeBlock204 + %case.cmp203 = icmp eq i32 %conv82, 33 + br i1 %case.cmp203, label %sw.bb289, label %NodeBlock200 + +NodeBlock200: ; preds = %NodeBlock202 + %case.cmp201 = icmp eq i32 %conv82, 34 + br i1 %case.cmp201, label %sw.bb289, label %NodeBlock198 + +NodeBlock198: ; preds = %NodeBlock200 + %case.cmp199 = icmp eq i32 %conv82, 36 + br i1 %case.cmp199, label %sw.bb289, label %NodeBlock196 + +NodeBlock196: ; preds = %NodeBlock198 + %case.cmp197 = icmp eq i32 %conv82, 38 + br i1 %case.cmp197, label %sw.bb289, label %NodeBlock194 + +NodeBlock194: ; preds = %NodeBlock196 + %case.cmp195 = icmp eq i32 %conv82, 40 + br i1 %case.cmp195, label %sw.bb289, label %NodeBlock192 + +NodeBlock192: ; preds = %NodeBlock194 + %case.cmp193 = icmp eq i32 %conv82, 41 + br i1 %case.cmp193, label %sw.bb289, label %NodeBlock190 + +NodeBlock190: ; preds = %NodeBlock192 + %case.cmp191 = icmp eq i32 %conv82, 42 + br i1 %case.cmp191, label %sw.bb289, label %NodeBlock188 + +NodeBlock188: ; preds = %NodeBlock190 + %case.cmp189 = icmp eq i32 %conv82, 59 + br i1 %case.cmp189, label %sw.bb289, label %NodeBlock186 + +NodeBlock186: ; preds = %NodeBlock188 + %case.cmp187 = icmp eq i32 %conv82, 60 + br i1 %case.cmp187, label %sw.bb289, label %NodeBlock184 + +NodeBlock184: ; preds = %NodeBlock186 + %case.cmp185 = icmp eq i32 %conv82, 61 + br i1 %case.cmp185, label %sw.bb289, label %NodeBlock182 + +NodeBlock182: ; preds = %NodeBlock184 + %case.cmp183 = icmp eq i32 %conv82, 62 + br i1 %case.cmp183, label %sw.bb289, label %NodeBlock180 + +NodeBlock180: ; preds = %NodeBlock182 + %case.cmp181 = icmp eq i32 %conv82, 91 + br i1 %case.cmp181, label %sw.bb289, label %NodeBlock178 + +NodeBlock178: ; preds = %NodeBlock180 + %case.cmp179 = icmp eq i32 %conv82, 94 + br i1 %case.cmp179, label %sw.bb289, label %NodeBlock176 + +NodeBlock176: ; preds = %NodeBlock178 + %case.cmp177 = icmp eq i32 %conv82, 96 + br i1 %case.cmp177, label %sw.bb289, label %NodeBlock174 + +NodeBlock174: ; preds = %NodeBlock176 + %case.cmp175 = icmp eq i32 %conv82, 124 + br i1 %case.cmp175, label %sw.bb289, label %NodeBlock172 + +NodeBlock172: ; preds = %NodeBlock174 + %case.cmp173 = icmp eq i32 %conv82, 39 + br i1 %case.cmp173, label %sw.bb297, label %NodeBlock170 + +NodeBlock170: ; preds = %NodeBlock172 + %case.cmp171 = icmp eq i32 %conv82, 37 + br i1 %case.cmp171, label %sw.bb334, label %NodeBlock168 + +NodeBlock168: ; preds = %NodeBlock170 + %case.cmp169 = icmp eq i32 %conv82, 43 + br i1 %case.cmp169, label %sw.bb334, label %NodeBlock166 + +NodeBlock166: ; preds = %NodeBlock168 + %case.cmp167 = icmp eq i32 %conv82, 44 + br i1 %case.cmp167, label %sw.bb334, label %NodeBlock164 + +NodeBlock164: ; preds = %NodeBlock166 + %case.cmp165 = icmp eq i32 %conv82, 45 + br i1 %case.cmp165, label %sw.bb334, label %NodeBlock162 + +NodeBlock162: ; preds = %NodeBlock164 + %case.cmp163 = icmp eq i32 %conv82, 46 + br i1 %case.cmp163, label %sw.bb334, label %NodeBlock160 + +NodeBlock160: ; preds = %NodeBlock162 + %case.cmp161 = icmp eq i32 %conv82, 47 + br i1 %case.cmp161, label %sw.bb334, label %NodeBlock158 + +NodeBlock158: ; preds = %NodeBlock160 + %case.cmp159 = icmp eq i32 %conv82, 48 + br i1 %case.cmp159, label %sw.bb334, label %NodeBlock156 + +NodeBlock156: ; preds = %NodeBlock158 + %case.cmp157 = icmp eq i32 %conv82, 49 + br i1 %case.cmp157, label %sw.bb334, label %NodeBlock154 + +NodeBlock154: ; preds = %NodeBlock156 + %case.cmp155 = icmp eq i32 %conv82, 50 + br i1 %case.cmp155, label %sw.bb334, label %NodeBlock152 + +NodeBlock152: ; preds = %NodeBlock154 + %case.cmp153 = icmp eq i32 %conv82, 51 + br i1 %case.cmp153, label %sw.bb334, label %NodeBlock150 + +NodeBlock150: ; preds = %NodeBlock152 + %case.cmp151 = icmp eq i32 %conv82, 52 + br i1 %case.cmp151, label %sw.bb334, label %NodeBlock148 + +NodeBlock148: ; preds = %NodeBlock150 + %case.cmp149 = icmp eq i32 %conv82, 53 + br i1 %case.cmp149, label %sw.bb334, label %NodeBlock146 + +NodeBlock146: ; preds = %NodeBlock148 + %case.cmp147 = icmp eq i32 %conv82, 54 + br i1 %case.cmp147, label %sw.bb334, label %NodeBlock144 + +NodeBlock144: ; preds = %NodeBlock146 + %case.cmp145 = icmp eq i32 %conv82, 55 + br i1 %case.cmp145, label %sw.bb334, label %NodeBlock142 + +NodeBlock142: ; preds = %NodeBlock144 + %case.cmp143 = icmp eq i32 %conv82, 56 + br i1 %case.cmp143, label %sw.bb334, label %NodeBlock140 + +NodeBlock140: ; preds = %NodeBlock142 + %case.cmp141 = icmp eq i32 %conv82, 57 + br i1 %case.cmp141, label %sw.bb334, label %NodeBlock138 + +NodeBlock138: ; preds = %NodeBlock140 + %case.cmp139 = icmp eq i32 %conv82, 58 + br i1 %case.cmp139, label %sw.bb334, label %NodeBlock136 + +NodeBlock136: ; preds = %NodeBlock138 + %case.cmp137 = icmp eq i32 %conv82, 65 + br i1 %case.cmp137, label %sw.bb334, label %NodeBlock134 + +NodeBlock134: ; preds = %NodeBlock136 + %case.cmp135 = icmp eq i32 %conv82, 66 + br i1 %case.cmp135, label %sw.bb334, label %NodeBlock132 + +NodeBlock132: ; preds = %NodeBlock134 + %case.cmp133 = icmp eq i32 %conv82, 67 + br i1 %case.cmp133, label %sw.bb334, label %NodeBlock130 + +NodeBlock130: ; preds = %NodeBlock132 + %case.cmp131 = icmp eq i32 %conv82, 68 + br i1 %case.cmp131, label %sw.bb334, label %NodeBlock128 + +NodeBlock128: ; preds = %NodeBlock130 + %case.cmp129 = icmp eq i32 %conv82, 69 + br i1 %case.cmp129, label %sw.bb334, label %NodeBlock126 + +NodeBlock126: ; preds = %NodeBlock128 + %case.cmp127 = icmp eq i32 %conv82, 70 + br i1 %case.cmp127, label %sw.bb334, label %NodeBlock124 + +NodeBlock124: ; preds = %NodeBlock126 + %case.cmp125 = icmp eq i32 %conv82, 71 + br i1 %case.cmp125, label %sw.bb334, label %NodeBlock122 + +NodeBlock122: ; preds = %NodeBlock124 + %case.cmp123 = icmp eq i32 %conv82, 72 + br i1 %case.cmp123, label %sw.bb334, label %NodeBlock120 + +NodeBlock120: ; preds = %NodeBlock122 + %case.cmp121 = icmp eq i32 %conv82, 73 + br i1 %case.cmp121, label %sw.bb334, label %NodeBlock118 + +NodeBlock118: ; preds = %NodeBlock120 + %case.cmp119 = icmp eq i32 %conv82, 74 + br i1 %case.cmp119, label %sw.bb334, label %NodeBlock116 + +NodeBlock116: ; preds = %NodeBlock118 + %case.cmp117 = icmp eq i32 %conv82, 75 + br i1 %case.cmp117, label %sw.bb334, label %NodeBlock114 + +NodeBlock114: ; preds = %NodeBlock116 + %case.cmp115 = icmp eq i32 %conv82, 76 + br i1 %case.cmp115, label %sw.bb334, label %NodeBlock112 + +NodeBlock112: ; preds = %NodeBlock114 + %case.cmp113 = icmp eq i32 %conv82, 77 + br i1 %case.cmp113, label %sw.bb334, label %NodeBlock110 + +NodeBlock110: ; preds = %NodeBlock112 + %case.cmp111 = icmp eq i32 %conv82, 78 + br i1 %case.cmp111, label %sw.bb334, label %NodeBlock108 + +NodeBlock108: ; preds = %NodeBlock110 + %case.cmp109 = icmp eq i32 %conv82, 79 + br i1 %case.cmp109, label %sw.bb334, label %NodeBlock106 + +NodeBlock106: ; preds = %NodeBlock108 + %case.cmp107 = icmp eq i32 %conv82, 80 + br i1 %case.cmp107, label %sw.bb334, label %NodeBlock104 + +NodeBlock104: ; preds = %NodeBlock106 + %case.cmp105 = icmp eq i32 %conv82, 81 + br i1 %case.cmp105, label %sw.bb334, label %NodeBlock102 + +NodeBlock102: ; preds = %NodeBlock104 + %case.cmp103 = icmp eq i32 %conv82, 82 + br i1 %case.cmp103, label %sw.bb334, label %NodeBlock100 + +NodeBlock100: ; preds = %NodeBlock102 + %case.cmp101 = icmp eq i32 %conv82, 83 + br i1 %case.cmp101, label %sw.bb334, label %NodeBlock98 + +NodeBlock98: ; preds = %NodeBlock100 + %case.cmp99 = icmp eq i32 %conv82, 84 + br i1 %case.cmp99, label %sw.bb334, label %NodeBlock96 + +NodeBlock96: ; preds = %NodeBlock98 + %case.cmp97 = icmp eq i32 %conv82, 85 + br i1 %case.cmp97, label %sw.bb334, label %NodeBlock94 + +NodeBlock94: ; preds = %NodeBlock96 + %case.cmp95 = icmp eq i32 %conv82, 86 + br i1 %case.cmp95, label %sw.bb334, label %NodeBlock92 + +NodeBlock92: ; preds = %NodeBlock94 + %case.cmp93 = icmp eq i32 %conv82, 87 + br i1 %case.cmp93, label %sw.bb334, label %NodeBlock90 + +NodeBlock90: ; preds = %NodeBlock92 + %case.cmp91 = icmp eq i32 %conv82, 88 + br i1 %case.cmp91, label %sw.bb334, label %NodeBlock88 + +NodeBlock88: ; preds = %NodeBlock90 + %case.cmp89 = icmp eq i32 %conv82, 89 + br i1 %case.cmp89, label %sw.bb334, label %NodeBlock86 + +NodeBlock86: ; preds = %NodeBlock88 + %case.cmp87 = icmp eq i32 %conv82, 90 + br i1 %case.cmp87, label %sw.bb334, label %NodeBlock84 + +NodeBlock84: ; preds = %NodeBlock86 + %case.cmp85 = icmp eq i32 %conv82, 93 + br i1 %case.cmp85, label %sw.bb334, label %NodeBlock82 + +NodeBlock82: ; preds = %NodeBlock84 + %case.cmp83 = icmp eq i32 %conv82, 95 + br i1 %case.cmp83, label %sw.bb334, label %NodeBlock80 + +NodeBlock80: ; preds = %NodeBlock82 + %case.cmp81 = icmp eq i32 %conv82, 97 + br i1 %case.cmp81, label %sw.bb334, label %NodeBlock78 + +NodeBlock78: ; preds = %NodeBlock80 + %case.cmp79 = icmp eq i32 %conv82, 98 + br i1 %case.cmp79, label %sw.bb334, label %NodeBlock76 + +NodeBlock76: ; preds = %NodeBlock78 + %case.cmp77 = icmp eq i32 %conv82, 99 + br i1 %case.cmp77, label %sw.bb334, label %NodeBlock74 + +NodeBlock74: ; preds = %NodeBlock76 + %case.cmp75 = icmp eq i32 %conv82, 100 + br i1 %case.cmp75, label %sw.bb334, label %NodeBlock72 + +NodeBlock72: ; preds = %NodeBlock74 + %case.cmp73 = icmp eq i32 %conv82, 101 + br i1 %case.cmp73, label %sw.bb334, label %NodeBlock70 + +NodeBlock70: ; preds = %NodeBlock72 + %case.cmp71 = icmp eq i32 %conv82, 102 + br i1 %case.cmp71, label %sw.bb334, label %NodeBlock68 + +NodeBlock68: ; preds = %NodeBlock70 + %case.cmp69 = icmp eq i32 %conv82, 103 + br i1 %case.cmp69, label %sw.bb334, label %NodeBlock66 + +NodeBlock66: ; preds = %NodeBlock68 + %case.cmp67 = icmp eq i32 %conv82, 104 + br i1 %case.cmp67, label %sw.bb334, label %NodeBlock64 + +NodeBlock64: ; preds = %NodeBlock66 + %case.cmp65 = icmp eq i32 %conv82, 105 + br i1 %case.cmp65, label %sw.bb334, label %NodeBlock62 + +NodeBlock62: ; preds = %NodeBlock64 + %case.cmp63 = icmp eq i32 %conv82, 106 + br i1 %case.cmp63, label %sw.bb334, label %NodeBlock60 + +NodeBlock60: ; preds = %NodeBlock62 + %case.cmp61 = icmp eq i32 %conv82, 107 + br i1 %case.cmp61, label %sw.bb334, label %NodeBlock58 + +NodeBlock58: ; preds = %NodeBlock60 + %case.cmp59 = icmp eq i32 %conv82, 108 + br i1 %case.cmp59, label %sw.bb334, label %NodeBlock56 + +NodeBlock56: ; preds = %NodeBlock58 + %case.cmp57 = icmp eq i32 %conv82, 109 + br i1 %case.cmp57, label %sw.bb334, label %NodeBlock54 + +NodeBlock54: ; preds = %NodeBlock56 + %case.cmp55 = icmp eq i32 %conv82, 110 + br i1 %case.cmp55, label %sw.bb334, label %NodeBlock52 + +NodeBlock52: ; preds = %NodeBlock54 + %case.cmp53 = icmp eq i32 %conv82, 111 + br i1 %case.cmp53, label %sw.bb334, label %NodeBlock50 + +NodeBlock50: ; preds = %NodeBlock52 + %case.cmp51 = icmp eq i32 %conv82, 112 + br i1 %case.cmp51, label %sw.bb334, label %NodeBlock48 + +NodeBlock48: ; preds = %NodeBlock50 + %case.cmp49 = icmp eq i32 %conv82, 113 + br i1 %case.cmp49, label %sw.bb334, label %NodeBlock46 + +NodeBlock46: ; preds = %NodeBlock48 + %case.cmp47 = icmp eq i32 %conv82, 114 + br i1 %case.cmp47, label %sw.bb334, label %NodeBlock44 + +NodeBlock44: ; preds = %NodeBlock46 + %case.cmp45 = icmp eq i32 %conv82, 115 + br i1 %case.cmp45, label %sw.bb334, label %NodeBlock42 + +NodeBlock42: ; preds = %NodeBlock44 + %case.cmp43 = icmp eq i32 %conv82, 116 + br i1 %case.cmp43, label %sw.bb334, label %NodeBlock40 + +NodeBlock40: ; preds = %NodeBlock42 + %case.cmp41 = icmp eq i32 %conv82, 117 + br i1 %case.cmp41, label %sw.bb334, label %NodeBlock38 + +NodeBlock38: ; preds = %NodeBlock40 + %case.cmp39 = icmp eq i32 %conv82, 118 + br i1 %case.cmp39, label %sw.bb334, label %NodeBlock36 + +NodeBlock36: ; preds = %NodeBlock38 + %case.cmp37 = icmp eq i32 %conv82, 119 + br i1 %case.cmp37, label %sw.bb334, label %NodeBlock34 + +NodeBlock34: ; preds = %NodeBlock36 + %case.cmp35 = icmp eq i32 %conv82, 120 + br i1 %case.cmp35, label %sw.bb334, label %NodeBlock32 + +NodeBlock32: ; preds = %NodeBlock34 + %case.cmp33 = icmp eq i32 %conv82, 121 + br i1 %case.cmp33, label %sw.bb334, label %NodeBlock30 + +NodeBlock30: ; preds = %NodeBlock32 + %case.cmp31 = icmp eq i32 %conv82, 122 + br i1 %case.cmp31, label %sw.bb334, label %newDefault29 + +sw.bb83: ; preds = %NodeBlock232 + %56 = load i8, i8* %backslash_escapes, align 1 + %tobool84 = trunc i8 %56 to i1 + br i1 %tobool84, label %do.body86, label %if.else + +do.body86: ; preds = %sw.bb83 + %57 = load i8, i8* %elide_outer_quotes, align 1 + %tobool87 = trunc i8 %57 to i1 + br i1 %tobool87, label %force_outer_quoting_style, label %if.end89 + +if.end89: ; preds = %do.body86 + store i8 1, i8* %escaping, align 1 + %58 = load i32, i32* %quoting_style.addr, align 4 + %cmp90 = icmp eq i32 %58, 2 + br i1 %cmp90, label %land.lhs.true92, label %do.body120 + +land.lhs.true92: ; preds = %if.end89 + %59 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool93 = trunc i8 %59 to i1 + br i1 %tobool93, label %do.body120, label %do.body95 + +do.body95: ; preds = %land.lhs.true92 + %60 = load i64, i64* %len, align 8 + %61 = load i64, i64* %buffersize.addr, align 8 + %cmp96 = icmp ult i64 %60, %61 + br i1 %cmp96, label %if.then98, label %if.end100 + +if.then98: ; preds = %do.body95 + %62 = load i8*, i8** %buffer.addr, align 8 + %63 = load i64, i64* %len, align 8 + %arrayidx99 = getelementptr inbounds i8, i8* %62, i64 %63 + store i8 39, i8* %arrayidx99, align 1 + br label %if.end100 + +if.end100: ; preds = %if.then98, %do.body95 + %64 = load i64, i64* %len, align 8 + %inc101 = add i64 %64, 1 + store i64 %inc101, i64* %len, align 8 + %65 = load i64, i64* %len, align 8 + %66 = load i64, i64* %buffersize.addr, align 8 + %cmp104 = icmp ult i64 %65, %66 + br i1 %cmp104, label %if.then106, label %if.end108 + +if.then106: ; preds = %if.end100 + %67 = load i8*, i8** %buffer.addr, align 8 + %68 = load i64, i64* %len, align 8 + %arrayidx107 = getelementptr inbounds i8, i8* %67, i64 %68 + store i8 36, i8* %arrayidx107, align 1 + br label %if.end108 + +if.end108: ; preds = %if.then106, %if.end100 + %69 = load i64, i64* %len, align 8 + %inc109 = add i64 %69, 1 + store i64 %inc109, i64* %len, align 8 + %70 = load i64, i64* %len, align 8 + %71 = load i64, i64* %buffersize.addr, align 8 + %cmp112 = icmp ult i64 %70, %71 + br i1 %cmp112, label %if.then114, label %if.end116 + +if.then114: ; preds = %if.end108 + %72 = load i8*, i8** %buffer.addr, align 8 + %73 = load i64, i64* %len, align 8 + %arrayidx115 = getelementptr inbounds i8, i8* %72, i64 %73 + store i8 39, i8* %arrayidx115, align 1 + br label %if.end116 + +if.end116: ; preds = %if.then114, %if.end108 + %74 = load i64, i64* %len, align 8 + %inc117 = add i64 %74, 1 + store i64 %inc117, i64* %len, align 8 + store i8 1, i8* %pending_shell_escape_end, align 1 + br label %do.body120 + +do.body120: ; preds = %if.end89, %land.lhs.true92, %if.end116 + %75 = load i64, i64* %len, align 8 + %76 = load i64, i64* %buffersize.addr, align 8 + %cmp121 = icmp ult i64 %75, %76 + br i1 %cmp121, label %if.then123, label %if.end125 + +if.then123: ; preds = %do.body120 + %77 = load i8*, i8** %buffer.addr, align 8 + %78 = load i64, i64* %len, align 8 + %arrayidx124 = getelementptr inbounds i8, i8* %77, i64 %78 + store i8 92, i8* %arrayidx124, align 1 + br label %if.end125 + +if.end125: ; preds = %if.then123, %do.body120 + %79 = load i64, i64* %len, align 8 + %inc126 = add i64 %79, 1 + store i64 %inc126, i64* %len, align 8 + %80 = load i32, i32* %quoting_style.addr, align 4 + %cmp129 = icmp ne i32 %80, 2 + br i1 %cmp129, label %land.lhs.true131, label %if.end164 + +land.lhs.true131: ; preds = %if.end125 + %81 = load i64, i64* %i, align 8 + %add132 = add i64 %81, 1 + %82 = load i64, i64* %argsize.addr, align 8 + %cmp133 = icmp ult i64 %add132, %82 + br i1 %cmp133, label %land.lhs.true135, label %if.end164 + +land.lhs.true135: ; preds = %land.lhs.true131 + %83 = load i8*, i8** %arg.addr, align 8 + %84 = load i64, i64* %i, align 8 + %add136 = add i64 %84, 1 + %arrayidx137 = getelementptr inbounds i8, i8* %83, i64 %add136 + %85 = load i8, i8* %arrayidx137, align 1 + %conv138 = sext i8 %85 to i32 + %cmp139 = icmp sle i32 48, %conv138 + br i1 %cmp139, label %land.lhs.true141, label %if.end164 + +land.lhs.true141: ; preds = %land.lhs.true135 + %86 = load i8*, i8** %arg.addr, align 8 + %87 = load i64, i64* %i, align 8 + %add142 = add i64 %87, 1 + %arrayidx143 = getelementptr inbounds i8, i8* %86, i64 %add142 + %88 = load i8, i8* %arrayidx143, align 1 + %conv144 = sext i8 %88 to i32 + %cmp145 = icmp sle i32 %conv144, 57 + br i1 %cmp145, label %do.body148, label %if.end164 + +do.body148: ; preds = %land.lhs.true141 + %89 = load i64, i64* %len, align 8 + %90 = load i64, i64* %buffersize.addr, align 8 + %cmp149 = icmp ult i64 %89, %90 + br i1 %cmp149, label %if.then151, label %if.end153 + +if.then151: ; preds = %do.body148 + %91 = load i8*, i8** %buffer.addr, align 8 + %92 = load i64, i64* %len, align 8 + %arrayidx152 = getelementptr inbounds i8, i8* %91, i64 %92 + store i8 48, i8* %arrayidx152, align 1 + br label %if.end153 + +if.end153: ; preds = %if.then151, %do.body148 + %93 = load i64, i64* %len, align 8 + %inc154 = add i64 %93, 1 + store i64 %inc154, i64* %len, align 8 + %94 = load i64, i64* %len, align 8 + %95 = load i64, i64* %buffersize.addr, align 8 + %cmp157 = icmp ult i64 %94, %95 + br i1 %cmp157, label %if.then159, label %if.end161 + +if.then159: ; preds = %if.end153 + %96 = load i8*, i8** %buffer.addr, align 8 + %97 = load i64, i64* %len, align 8 + %arrayidx160 = getelementptr inbounds i8, i8* %96, i64 %97 + store i8 48, i8* %arrayidx160, align 1 + br label %if.end161 + +if.end161: ; preds = %if.then159, %if.end153 + %98 = load i64, i64* %len, align 8 + %inc162 = add i64 %98, 1 + store i64 %inc162, i64* %len, align 8 + br label %if.end164 + +if.end164: ; preds = %if.end161, %land.lhs.true141, %land.lhs.true135, %land.lhs.true131, %if.end125 + store i8 48, i8* %c, align 1 + br label %sw.epilog564 + +if.else: ; preds = %sw.bb83 + %99 = load i32, i32* %flags.addr, align 4 + %and165 = and i32 %99, 1 + %tobool166 = icmp ne i32 %and165, 0 + br i1 %tobool166, label %for.inc673, label %sw.epilog564 + +sw.bb170: ; preds = %NodeBlock230 + %100 = load i32, i32* %quoting_style.addr, align 4 + br label %NodeBlock237 + +NodeBlock237: ; preds = %sw.bb170 + %case.cmp238 = icmp eq i32 %100, 2 + br i1 %case.cmp238, label %sw.bb171, label %NodeBlock235 + +NodeBlock235: ; preds = %NodeBlock237 + %case.cmp236 = icmp eq i32 %100, 5 + br i1 %case.cmp236, label %sw.bb175, label %newDefault234 + +sw.bb171: ; preds = %NodeBlock237 + %101 = load i8, i8* %elide_outer_quotes, align 1 + %tobool172 = trunc i8 %101 to i1 + br i1 %tobool172, label %force_outer_quoting_style, label %sw.epilog564 + +sw.bb175: ; preds = %NodeBlock235 + %102 = load i32, i32* %flags.addr, align 4 + %and176 = and i32 %102, 4 + %tobool177 = icmp ne i32 %and176, 0 + br i1 %tobool177, label %land.lhs.true178, label %sw.epilog564 + +land.lhs.true178: ; preds = %sw.bb175 + %103 = load i64, i64* %i, align 8 + %add179 = add i64 %103, 2 + %104 = load i64, i64* %argsize.addr, align 8 + %cmp180 = icmp ult i64 %add179, %104 + br i1 %cmp180, label %land.lhs.true182, label %sw.epilog564 + +land.lhs.true182: ; preds = %land.lhs.true178 + %105 = load i8*, i8** %arg.addr, align 8 + %106 = load i64, i64* %i, align 8 + %add183 = add i64 %106, 1 + %arrayidx184 = getelementptr inbounds i8, i8* %105, i64 %add183 + %107 = load i8, i8* %arrayidx184, align 1 + %conv185 = sext i8 %107 to i32 + %cmp186 = icmp eq i32 %conv185, 63 + br i1 %cmp186, label %if.then188, label %sw.epilog564 + +if.then188: ; preds = %land.lhs.true182 + %108 = load i8*, i8** %arg.addr, align 8 + %109 = load i64, i64* %i, align 8 + %add189 = add i64 %109, 2 + %arrayidx190 = getelementptr inbounds i8, i8* %108, i64 %add189 + %110 = load i8, i8* %arrayidx190, align 1 + %conv191 = sext i8 %110 to i32 + br label %NodeBlock256 + +NodeBlock256: ; preds = %if.then188 + %case.cmp257 = icmp eq i32 %conv191, 33 + br i1 %case.cmp257, label %sw.bb192, label %NodeBlock254 + +NodeBlock254: ; preds = %NodeBlock256 + %case.cmp255 = icmp eq i32 %conv191, 39 + br i1 %case.cmp255, label %sw.bb192, label %NodeBlock252 + +NodeBlock252: ; preds = %NodeBlock254 + %case.cmp253 = icmp eq i32 %conv191, 40 + br i1 %case.cmp253, label %sw.bb192, label %NodeBlock250 + +NodeBlock250: ; preds = %NodeBlock252 + %case.cmp251 = icmp eq i32 %conv191, 41 + br i1 %case.cmp251, label %sw.bb192, label %NodeBlock248 + +NodeBlock248: ; preds = %NodeBlock250 + %case.cmp249 = icmp eq i32 %conv191, 45 + br i1 %case.cmp249, label %sw.bb192, label %NodeBlock246 + +NodeBlock246: ; preds = %NodeBlock248 + %case.cmp247 = icmp eq i32 %conv191, 47 + br i1 %case.cmp247, label %sw.bb192, label %NodeBlock244 + +NodeBlock244: ; preds = %NodeBlock246 + %case.cmp245 = icmp eq i32 %conv191, 60 + br i1 %case.cmp245, label %sw.bb192, label %NodeBlock242 + +NodeBlock242: ; preds = %NodeBlock244 + %case.cmp243 = icmp eq i32 %conv191, 61 + br i1 %case.cmp243, label %sw.bb192, label %NodeBlock240 + +NodeBlock240: ; preds = %NodeBlock242 + %case.cmp241 = icmp eq i32 %conv191, 62 + br i1 %case.cmp241, label %sw.bb192, label %newDefault239 + +sw.bb192: ; preds = %NodeBlock256, %NodeBlock254, %NodeBlock252, %NodeBlock250, %NodeBlock248, %NodeBlock246, %NodeBlock244, %NodeBlock242, %NodeBlock240 + %111 = load i8, i8* %elide_outer_quotes, align 1 + %tobool193 = trunc i8 %111 to i1 + br i1 %tobool193, label %force_outer_quoting_style, label %if.end195 + +if.end195: ; preds = %sw.bb192 + %112 = load i8*, i8** %arg.addr, align 8 + %113 = load i64, i64* %i, align 8 + %add196 = add i64 %113, 2 + %arrayidx197 = getelementptr inbounds i8, i8* %112, i64 %add196 + %114 = load i8, i8* %arrayidx197, align 1 + store i8 %114, i8* %c, align 1 + %115 = load i64, i64* %i, align 8 + %add198 = add i64 %115, 2 + store i64 %add198, i64* %i, align 8 + %116 = load i64, i64* %len, align 8 + %117 = load i64, i64* %buffersize.addr, align 8 + %cmp200 = icmp ult i64 %116, %117 + br i1 %cmp200, label %if.then202, label %if.end204 + +if.then202: ; preds = %if.end195 + %118 = load i8*, i8** %buffer.addr, align 8 + %119 = load i64, i64* %len, align 8 + %arrayidx203 = getelementptr inbounds i8, i8* %118, i64 %119 + store i8 63, i8* %arrayidx203, align 1 + br label %if.end204 + +if.end204: ; preds = %if.then202, %if.end195 + %120 = load i64, i64* %len, align 8 + %inc205 = add i64 %120, 1 + store i64 %inc205, i64* %len, align 8 + %121 = load i64, i64* %len, align 8 + %122 = load i64, i64* %buffersize.addr, align 8 + %cmp208 = icmp ult i64 %121, %122 + br i1 %cmp208, label %if.then210, label %if.end212 + +if.then210: ; preds = %if.end204 + %123 = load i8*, i8** %buffer.addr, align 8 + %124 = load i64, i64* %len, align 8 + %arrayidx211 = getelementptr inbounds i8, i8* %123, i64 %124 + store i8 34, i8* %arrayidx211, align 1 + br label %if.end212 + +if.end212: ; preds = %if.then210, %if.end204 + %125 = load i64, i64* %len, align 8 + %inc213 = add i64 %125, 1 + store i64 %inc213, i64* %len, align 8 + %126 = load i64, i64* %len, align 8 + %127 = load i64, i64* %buffersize.addr, align 8 + %cmp216 = icmp ult i64 %126, %127 + br i1 %cmp216, label %if.then218, label %if.end220 + +if.then218: ; preds = %if.end212 + %128 = load i8*, i8** %buffer.addr, align 8 + %129 = load i64, i64* %len, align 8 + %arrayidx219 = getelementptr inbounds i8, i8* %128, i64 %129 + store i8 34, i8* %arrayidx219, align 1 + br label %if.end220 + +if.end220: ; preds = %if.then218, %if.end212 + %130 = load i64, i64* %len, align 8 + %inc221 = add i64 %130, 1 + store i64 %inc221, i64* %len, align 8 + %131 = load i64, i64* %len, align 8 + %132 = load i64, i64* %buffersize.addr, align 8 + %cmp224 = icmp ult i64 %131, %132 + br i1 %cmp224, label %if.then226, label %if.end228 + +if.then226: ; preds = %if.end220 + %133 = load i8*, i8** %buffer.addr, align 8 + %134 = load i64, i64* %len, align 8 + %arrayidx227 = getelementptr inbounds i8, i8* %133, i64 %134 + store i8 63, i8* %arrayidx227, align 1 + br label %if.end228 + +if.end228: ; preds = %if.then226, %if.end220 + %135 = load i64, i64* %len, align 8 + %inc229 = add i64 %135, 1 + store i64 %inc229, i64* %len, align 8 + br label %sw.epilog564 + +sw.bb236: ; preds = %NodeBlock228 + store i8 97, i8* %esc, align 1 + br label %c_escape + +sw.bb237: ; preds = %NodeBlock226 + store i8 98, i8* %esc, align 1 + br label %c_escape + +sw.bb238: ; preds = %NodeBlock224 + store i8 102, i8* %esc, align 1 + br label %c_escape + +sw.bb239: ; preds = %NodeBlock222 + store i8 110, i8* %esc, align 1 + br label %c_and_shell_escape + +sw.bb240: ; preds = %NodeBlock220 + store i8 114, i8* %esc, align 1 + br label %c_and_shell_escape + +sw.bb241: ; preds = %NodeBlock218 + store i8 116, i8* %esc, align 1 + br label %c_and_shell_escape + +sw.bb242: ; preds = %NodeBlock216 + store i8 118, i8* %esc, align 1 + br label %c_escape + +sw.bb243: ; preds = %NodeBlock214 + %136 = load i8, i8* %c, align 1 + store i8 %136, i8* %esc, align 1 + %137 = load i32, i32* %quoting_style.addr, align 4 + %cmp244 = icmp eq i32 %137, 2 + br i1 %cmp244, label %if.then246, label %if.end250 + +if.then246: ; preds = %sw.bb243 + %138 = load i8, i8* %elide_outer_quotes, align 1 + %tobool247 = trunc i8 %138 to i1 + br i1 %tobool247, label %force_outer_quoting_style, label %do.body634 + +if.end250: ; preds = %sw.bb243 + %139 = load i8, i8* %backslash_escapes, align 1 + %tobool251 = trunc i8 %139 to i1 + br i1 %tobool251, label %land.lhs.true253, label %c_and_shell_escape + +land.lhs.true253: ; preds = %if.end250 + %140 = load i8, i8* %elide_outer_quotes, align 1 + %tobool254 = trunc i8 %140 to i1 + %141 = load i64, i64* %quote_string_len, align 8 + %tobool257 = icmp ne i64 %141, 0 + %or.cond3 = and i1 %tobool254, %tobool257 + br i1 %or.cond3, label %do.body634, label %c_and_shell_escape + +c_and_shell_escape: ; preds = %if.end250, %land.lhs.true253, %sw.bb241, %sw.bb240, %sw.bb239 + %142 = load i32, i32* %quoting_style.addr, align 4 + %cmp260 = icmp eq i32 %142, 2 + br i1 %cmp260, label %land.lhs.true262, label %c_escape + +land.lhs.true262: ; preds = %c_and_shell_escape + %143 = load i8, i8* %elide_outer_quotes, align 1 + %tobool263 = trunc i8 %143 to i1 + br i1 %tobool263, label %force_outer_quoting_style, label %c_escape + +c_escape: ; preds = %c_and_shell_escape, %land.lhs.true262, %sw.bb242, %sw.bb238, %sw.bb237, %sw.bb236 + %144 = load i8, i8* %backslash_escapes, align 1 + %tobool267 = trunc i8 %144 to i1 + br i1 %tobool267, label %if.then268, label %sw.epilog564 + +if.then268: ; preds = %c_escape + %145 = load i8, i8* %esc, align 1 + store i8 %145, i8* %c, align 1 + br label %do.body586 + +sw.bb270: ; preds = %NodeBlock212, %NodeBlock210 + %146 = load i64, i64* %argsize.addr, align 8 + %cmp271 = icmp eq i64 %146, -1 + br i1 %cmp271, label %cond.true273, label %cond.false278 + +cond.true273: ; preds = %sw.bb270 + %147 = load i8*, i8** %arg.addr, align 8 + %arrayidx274 = getelementptr inbounds i8, i8* %147, i64 1 + %148 = load i8, i8* %arrayidx274, align 1 + %conv275 = sext i8 %148 to i32 + %cmp276 = icmp eq i32 %conv275, 0 + br i1 %cmp276, label %sw.bb283, label %sw.epilog564 + +cond.false278: ; preds = %sw.bb270 + %149 = load i64, i64* %argsize.addr, align 8 + %cmp279 = icmp eq i64 %149, 1 + br i1 %cmp279, label %sw.bb283, label %sw.epilog564 + +sw.bb283: ; preds = %NodeBlock208, %NodeBlock206, %cond.true273, %cond.false278 + %150 = load i64, i64* %i, align 8 + %cmp284 = icmp ne i64 %150, 0 + br i1 %cmp284, label %sw.epilog564, label %sw.bb288 + +sw.bb288: ; preds = %NodeBlock204, %sw.bb283 + store i8 1, i8* %c_and_shell_quote_compat, align 1 + br label %sw.bb289 + +sw.bb289: ; preds = %NodeBlock202, %NodeBlock200, %NodeBlock198, %NodeBlock196, %NodeBlock194, %NodeBlock192, %NodeBlock190, %NodeBlock188, %NodeBlock186, %NodeBlock184, %NodeBlock182, %NodeBlock180, %NodeBlock178, %NodeBlock176, %NodeBlock174, %sw.bb288 + %151 = load i32, i32* %quoting_style.addr, align 4 + %cmp290 = icmp eq i32 %151, 2 + br i1 %cmp290, label %land.lhs.true292, label %sw.epilog564 + +land.lhs.true292: ; preds = %sw.bb289 + %152 = load i8, i8* %elide_outer_quotes, align 1 + %tobool293 = trunc i8 %152 to i1 + br i1 %tobool293, label %force_outer_quoting_style, label %sw.epilog564 + +sw.bb297: ; preds = %NodeBlock172 + store i8 1, i8* %encountered_single_quote, align 1 + store i8 1, i8* %c_and_shell_quote_compat, align 1 + %153 = load i32, i32* %quoting_style.addr, align 4 + %cmp298 = icmp eq i32 %153, 2 + br i1 %cmp298, label %if.then300, label %sw.epilog564 + +if.then300: ; preds = %sw.bb297 + %154 = load i8, i8* %elide_outer_quotes, align 1 + %tobool301 = trunc i8 %154 to i1 + br i1 %tobool301, label %force_outer_quoting_style, label %if.end303 + +if.end303: ; preds = %if.then300 + %155 = load i64, i64* %buffersize.addr, align 8 + %tobool304 = icmp eq i64 %155, 0 + %156 = load i64, i64* %orig_buffersize, align 8 + %tobool306 = icmp ne i64 %156, 0 + %or.cond4 = or i1 %tobool304, %tobool306 + br i1 %or.cond4, label %do.body309, label %if.then307 + +if.then307: ; preds = %if.end303 + %157 = load i64, i64* %buffersize.addr, align 8 + store i64 %157, i64* %orig_buffersize, align 8 + store i64 0, i64* %buffersize.addr, align 8 + br label %do.body309 + +do.body309: ; preds = %if.then307, %if.end303 + %158 = load i64, i64* %len, align 8 + %159 = load i64, i64* %buffersize.addr, align 8 + %cmp310 = icmp ult i64 %158, %159 + br i1 %cmp310, label %if.then312, label %if.end314 + +if.then312: ; preds = %do.body309 + %160 = load i8*, i8** %buffer.addr, align 8 + %161 = load i64, i64* %len, align 8 + %arrayidx313 = getelementptr inbounds i8, i8* %160, i64 %161 + store i8 39, i8* %arrayidx313, align 1 + br label %if.end314 + +if.end314: ; preds = %if.then312, %do.body309 + %162 = load i64, i64* %len, align 8 + %inc315 = add i64 %162, 1 + store i64 %inc315, i64* %len, align 8 + %163 = load i64, i64* %len, align 8 + %164 = load i64, i64* %buffersize.addr, align 8 + %cmp318 = icmp ult i64 %163, %164 + br i1 %cmp318, label %if.then320, label %if.end322 + +if.then320: ; preds = %if.end314 + %165 = load i8*, i8** %buffer.addr, align 8 + %166 = load i64, i64* %len, align 8 + %arrayidx321 = getelementptr inbounds i8, i8* %165, i64 %166 + store i8 92, i8* %arrayidx321, align 1 + br label %if.end322 + +if.end322: ; preds = %if.then320, %if.end314 + %167 = load i64, i64* %len, align 8 + %inc323 = add i64 %167, 1 + store i64 %inc323, i64* %len, align 8 + %168 = load i64, i64* %len, align 8 + %169 = load i64, i64* %buffersize.addr, align 8 + %cmp326 = icmp ult i64 %168, %169 + br i1 %cmp326, label %if.then328, label %if.end330 + +if.then328: ; preds = %if.end322 + %170 = load i8*, i8** %buffer.addr, align 8 + %171 = load i64, i64* %len, align 8 + %arrayidx329 = getelementptr inbounds i8, i8* %170, i64 %171 + store i8 39, i8* %arrayidx329, align 1 + br label %if.end330 + +if.end330: ; preds = %if.then328, %if.end322 + %172 = load i64, i64* %len, align 8 + %inc331 = add i64 %172, 1 + store i64 %inc331, i64* %len, align 8 + store i8 0, i8* %pending_shell_escape_end, align 1 + br label %sw.epilog564 + +sw.bb334: ; preds = %NodeBlock170, %NodeBlock168, %NodeBlock166, %NodeBlock164, %NodeBlock162, %NodeBlock160, %NodeBlock158, %NodeBlock156, %NodeBlock154, %NodeBlock152, %NodeBlock150, %NodeBlock148, %NodeBlock146, %NodeBlock144, %NodeBlock142, %NodeBlock140, %NodeBlock138, %NodeBlock136, %NodeBlock134, %NodeBlock132, %NodeBlock130, %NodeBlock128, %NodeBlock126, %NodeBlock124, %NodeBlock122, %NodeBlock120, %NodeBlock118, %NodeBlock116, %NodeBlock114, %NodeBlock112, %NodeBlock110, %NodeBlock108, %NodeBlock106, %NodeBlock104, %NodeBlock102, %NodeBlock100, %NodeBlock98, %NodeBlock96, %NodeBlock94, %NodeBlock92, %NodeBlock90, %NodeBlock88, %NodeBlock86, %NodeBlock84, %NodeBlock82, %NodeBlock80, %NodeBlock78, %NodeBlock76, %NodeBlock74, %NodeBlock72, %NodeBlock70, %NodeBlock68, %NodeBlock66, %NodeBlock64, %NodeBlock62, %NodeBlock60, %NodeBlock58, %NodeBlock56, %NodeBlock54, %NodeBlock52, %NodeBlock50, %NodeBlock48, %NodeBlock46, %NodeBlock44, %NodeBlock42, %NodeBlock40, %NodeBlock38, %NodeBlock36, %NodeBlock34, %NodeBlock32, %NodeBlock30 + store i8 1, i8* %c_and_shell_quote_compat, align 1 + br label %sw.epilog564 + +newDefault29: ; preds = %NodeBlock30 + br label %sw.default335 + +sw.default335: ; preds = %newDefault29 + %173 = load i8, i8* %unibyte_locale, align 1 + %tobool336 = trunc i8 %173 to i1 + br i1 %tobool336, label %if.then337, label %if.else346 + +if.then337: ; preds = %sw.default335 + store i64 1, i64* %m, align 8 + %call338 = call i16** @__ctype_b_loc() #25 + %174 = load i16*, i16** %call338, align 8 + %175 = load i8, i8* %c, align 1 + %conv339 = zext i8 %175 to i32 + %idxprom = sext i32 %conv339 to i64 + %arrayidx340 = getelementptr inbounds i16, i16* %174, i64 %idxprom + %176 = load i16, i16* %arrayidx340, align 2 + %conv341 = zext i16 %176 to i32 + %and342 = and i32 %conv341, 16384 + %cmp343 = icmp ne i32 %and342, 0 + %frombool345 = zext i1 %cmp343 to i8 + store i8 %frombool345, i8* %printable, align 1 + br label %if.end410 + +if.else346: ; preds = %sw.default335 + %177 = bitcast %struct.__mbstate_t* %mbstate to i8* + %178 = call i8* @memset(i8* %177, i32 0, i64 8) + store i64 0, i64* %m, align 8 + store i8 1, i8* %printable, align 1 + %179 = load i64, i64* %argsize.addr, align 8 + %cmp347 = icmp eq i64 %179, -1 + br i1 %cmp347, label %if.then349, label %if.end351 + +if.then349: ; preds = %if.else346 + %180 = load i8*, i8** %arg.addr, align 8 + %call350 = call i64 @strlen(i8* %180) #23 + store i64 %call350, i64* %argsize.addr, align 8 + br label %if.end351 + +if.end351: ; preds = %if.then349, %if.else346 + br label %do.body352 + +do.body352: ; preds = %if.end401, %if.end351 + %181 = load i8*, i8** %arg.addr, align 8 + %182 = load i64, i64* %i, align 8 + %183 = load i64, i64* %m, align 8 + %add353 = add i64 %182, %183 + %arrayidx354 = getelementptr inbounds i8, i8* %181, i64 %add353 + %184 = load i64, i64* %argsize.addr, align 8 + %185 = load i64, i64* %i, align 8 + %186 = load i64, i64* %m, align 8 + %add355 = add i64 %185, %186 + %sub = sub i64 %184, %add355 + %call356 = call i64 @rpl_mbrtowc(i32* %w, i8* %arrayidx354, i64 %sub, %struct.__mbstate_t* %mbstate) + store i64 %call356, i64* %bytes, align 8 + %187 = load i64, i64* %bytes, align 8 + %cmp357 = icmp eq i64 %187, 0 + br i1 %cmp357, label %if.end410, label %if.else360 + +if.else360: ; preds = %do.body352 + %188 = load i64, i64* %bytes, align 8 + %cmp361 = icmp eq i64 %188, -1 + br i1 %cmp361, label %if.then363, label %if.else364 + +if.then363: ; preds = %if.else360 + store i8 0, i8* %printable, align 1 + br label %if.end410 + +if.else364: ; preds = %if.else360 + %189 = load i64, i64* %bytes, align 8 + %cmp365 = icmp eq i64 %189, -2 + br i1 %cmp365, label %if.then367, label %if.else376 + +if.then367: ; preds = %if.else364 + store i8 0, i8* %printable, align 1 + br label %while.cond + +while.cond: ; preds = %while.body, %if.then367 + %190 = load i64, i64* %i, align 8 + %191 = load i64, i64* %m, align 8 + %add368 = add i64 %190, %191 + %192 = load i64, i64* %argsize.addr, align 8 + %cmp369 = icmp ult i64 %add368, %192 + br i1 %cmp369, label %land.rhs, label %if.end410 + +land.rhs: ; preds = %while.cond + %193 = load i8*, i8** %arg.addr, align 8 + %194 = load i64, i64* %i, align 8 + %195 = load i64, i64* %m, align 8 + %add371 = add i64 %194, %195 + %arrayidx372 = getelementptr inbounds i8, i8* %193, i64 %add371 + %196 = load i8, i8* %arrayidx372, align 1 + %conv373 = sext i8 %196 to i32 + %tobool374 = icmp ne i32 %conv373, 0 + br i1 %tobool374, label %while.body, label %if.end410 + +while.body: ; preds = %land.rhs + %197 = load i64, i64* %m, align 8 + %inc375 = add i64 %197, 1 + store i64 %inc375, i64* %m, align 8 + br label %while.cond + +if.else376: ; preds = %if.else364 + %198 = load i8, i8* %elide_outer_quotes, align 1 + %tobool377 = trunc i8 %198 to i1 + %199 = load i32, i32* %quoting_style.addr, align 4 + %cmp380 = icmp eq i32 %199, 2 + %or.cond5 = and i1 %tobool377, %cmp380 + br i1 %or.cond5, label %if.then382, label %if.end397 + +if.then382: ; preds = %if.else376 + store i64 1, i64* %j, align 8 + br label %for.cond383 + +for.cond383: ; preds = %for.inc394, %if.then382 + %200 = load i64, i64* %j, align 8 + %201 = load i64, i64* %bytes, align 8 + %cmp384 = icmp ult i64 %200, %201 + br i1 %cmp384, label %for.body386, label %if.end397 + +for.body386: ; preds = %for.cond383 + %202 = load i8*, i8** %arg.addr, align 8 + %203 = load i64, i64* %i, align 8 + %204 = load i64, i64* %m, align 8 + %add387 = add i64 %203, %204 + %205 = load i64, i64* %j, align 8 + %add388 = add i64 %add387, %205 + %arrayidx389 = getelementptr inbounds i8, i8* %202, i64 %add388 + %206 = load i8, i8* %arrayidx389, align 1 + %conv390 = sext i8 %206 to i32 + br label %NodeBlock267 + +NodeBlock267: ; preds = %for.body386 + %case.cmp268 = icmp eq i32 %conv390, 91 + br i1 %case.cmp268, label %force_outer_quoting_style, label %NodeBlock265 + +NodeBlock265: ; preds = %NodeBlock267 + %case.cmp266 = icmp eq i32 %conv390, 92 + br i1 %case.cmp266, label %force_outer_quoting_style, label %NodeBlock263 + +NodeBlock263: ; preds = %NodeBlock265 + %case.cmp264 = icmp eq i32 %conv390, 94 + br i1 %case.cmp264, label %force_outer_quoting_style, label %NodeBlock261 + +NodeBlock261: ; preds = %NodeBlock263 + %case.cmp262 = icmp eq i32 %conv390, 96 + br i1 %case.cmp262, label %force_outer_quoting_style, label %NodeBlock259 + +NodeBlock259: ; preds = %NodeBlock261 + %case.cmp260 = icmp eq i32 %conv390, 124 + br i1 %case.cmp260, label %force_outer_quoting_style, label %newDefault258 + +newDefault258: ; preds = %NodeBlock259 + br label %for.inc394 + +for.inc394: ; preds = %newDefault258 + %207 = load i64, i64* %j, align 8 + %inc395 = add i64 %207, 1 + store i64 %inc395, i64* %j, align 8 + br label %for.cond383 + +if.end397: ; preds = %for.cond383, %if.else376 + %208 = load i32, i32* %w, align 4 + %call398 = call i32 @iswprint(i32 %208) #11 + %tobool399 = icmp ne i32 %call398, 0 + br i1 %tobool399, label %if.end401, label %if.then400 + +if.then400: ; preds = %if.end397 + store i8 0, i8* %printable, align 1 + br label %if.end401 + +if.end401: ; preds = %if.then400, %if.end397 + %209 = load i64, i64* %bytes, align 8 + %210 = load i64, i64* %m, align 8 + %add402 = add i64 %210, %209 + store i64 %add402, i64* %m, align 8 + %call406 = call i32 bitcast (i32 (%struct.__mbstate_t.512*)* @mbsinit to i32 (%struct.__mbstate_t*)*)(%struct.__mbstate_t* %mbstate) #23 + %tobool407 = icmp ne i32 %call406, 0 + %lnot408 = xor i1 %tobool407, true + br i1 %lnot408, label %do.body352, label %if.end410 + +if.end410: ; preds = %if.then363, %if.end401, %do.body352, %while.cond, %land.rhs, %if.then337 + %211 = load i8, i8* %printable, align 1 + %tobool411 = trunc i8 %211 to i1 + %frombool412 = zext i1 %tobool411 to i8 + store i8 %frombool412, i8* %c_and_shell_quote_compat, align 1 + %212 = load i64, i64* %m, align 8 + %cmp413 = icmp ult i64 1, %212 + br i1 %cmp413, label %if.then419, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end410 + %213 = load i8, i8* %backslash_escapes, align 1 + %tobool415 = trunc i8 %213 to i1 + br i1 %tobool415, label %land.lhs.true417, label %sw.epilog564 + +land.lhs.true417: ; preds = %lor.lhs.false + %214 = load i8, i8* %printable, align 1 + %tobool418 = trunc i8 %214 to i1 + br i1 %tobool418, label %sw.epilog564, label %if.then419 + +if.then419: ; preds = %land.lhs.true417, %if.end410 + %215 = load i64, i64* %i, align 8 + %216 = load i64, i64* %m, align 8 + %add420 = add i64 %215, %216 + store i64 %add420, i64* %ilim, align 8 + br label %for.cond421 + +for.cond421: ; preds = %if.end556, %if.then419 + %217 = load i8, i8* %backslash_escapes, align 1 + %tobool422 = trunc i8 %217 to i1 + br i1 %tobool422, label %land.lhs.true424, label %if.else505 + +land.lhs.true424: ; preds = %for.cond421 + %218 = load i8, i8* %printable, align 1 + %tobool425 = trunc i8 %218 to i1 + br i1 %tobool425, label %if.else505, label %do.body427 + +do.body427: ; preds = %land.lhs.true424 + %219 = load i8, i8* %elide_outer_quotes, align 1 + %tobool428 = trunc i8 %219 to i1 + br i1 %tobool428, label %force_outer_quoting_style, label %if.end430 + +if.end430: ; preds = %do.body427 + store i8 1, i8* %escaping, align 1 + %220 = load i32, i32* %quoting_style.addr, align 4 + %cmp431 = icmp eq i32 %220, 2 + br i1 %cmp431, label %land.lhs.true433, label %do.body464 + +land.lhs.true433: ; preds = %if.end430 + %221 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool434 = trunc i8 %221 to i1 + br i1 %tobool434, label %do.body464, label %do.body436 + +do.body436: ; preds = %land.lhs.true433 + %222 = load i64, i64* %len, align 8 + %223 = load i64, i64* %buffersize.addr, align 8 + %cmp437 = icmp ult i64 %222, %223 + br i1 %cmp437, label %if.then439, label %if.end441 + +if.then439: ; preds = %do.body436 + %224 = load i8*, i8** %buffer.addr, align 8 + %225 = load i64, i64* %len, align 8 + %arrayidx440 = getelementptr inbounds i8, i8* %224, i64 %225 + store i8 39, i8* %arrayidx440, align 1 + br label %if.end441 + +if.end441: ; preds = %if.then439, %do.body436 + %226 = load i64, i64* %len, align 8 + %inc442 = add i64 %226, 1 + store i64 %inc442, i64* %len, align 8 + %227 = load i64, i64* %len, align 8 + %228 = load i64, i64* %buffersize.addr, align 8 + %cmp446 = icmp ult i64 %227, %228 + br i1 %cmp446, label %if.then448, label %if.end450 + +if.then448: ; preds = %if.end441 + %229 = load i8*, i8** %buffer.addr, align 8 + %230 = load i64, i64* %len, align 8 + %arrayidx449 = getelementptr inbounds i8, i8* %229, i64 %230 + store i8 36, i8* %arrayidx449, align 1 + br label %if.end450 + +if.end450: ; preds = %if.then448, %if.end441 + %231 = load i64, i64* %len, align 8 + %inc451 = add i64 %231, 1 + store i64 %inc451, i64* %len, align 8 + %232 = load i64, i64* %len, align 8 + %233 = load i64, i64* %buffersize.addr, align 8 + %cmp455 = icmp ult i64 %232, %233 + br i1 %cmp455, label %if.then457, label %if.end459 + +if.then457: ; preds = %if.end450 + %234 = load i8*, i8** %buffer.addr, align 8 + %235 = load i64, i64* %len, align 8 + %arrayidx458 = getelementptr inbounds i8, i8* %234, i64 %235 + store i8 39, i8* %arrayidx458, align 1 + br label %if.end459 + +if.end459: ; preds = %if.then457, %if.end450 + %236 = load i64, i64* %len, align 8 + %inc460 = add i64 %236, 1 + store i64 %inc460, i64* %len, align 8 + store i8 1, i8* %pending_shell_escape_end, align 1 + br label %do.body464 + +do.body464: ; preds = %if.end430, %land.lhs.true433, %if.end459 + %237 = load i64, i64* %len, align 8 + %238 = load i64, i64* %buffersize.addr, align 8 + %cmp465 = icmp ult i64 %237, %238 + br i1 %cmp465, label %if.then467, label %if.end469 + +if.then467: ; preds = %do.body464 + %239 = load i8*, i8** %buffer.addr, align 8 + %240 = load i64, i64* %len, align 8 + %arrayidx468 = getelementptr inbounds i8, i8* %239, i64 %240 + store i8 92, i8* %arrayidx468, align 1 + br label %if.end469 + +if.end469: ; preds = %if.then467, %do.body464 + %241 = load i64, i64* %len, align 8 + %inc470 = add i64 %241, 1 + store i64 %inc470, i64* %len, align 8 + %242 = load i64, i64* %len, align 8 + %243 = load i64, i64* %buffersize.addr, align 8 + %cmp476 = icmp ult i64 %242, %243 + br i1 %cmp476, label %if.then478, label %if.end483 + +if.then478: ; preds = %if.end469 + %244 = load i8, i8* %c, align 1 + %conv479 = zext i8 %244 to i32 + %shr = ashr i32 %conv479, 6 + %add480 = add nsw i32 48, %shr + %conv481 = trunc i32 %add480 to i8 + %245 = load i8*, i8** %buffer.addr, align 8 + %246 = load i64, i64* %len, align 8 + %arrayidx482 = getelementptr inbounds i8, i8* %245, i64 %246 + store i8 %conv481, i8* %arrayidx482, align 1 + br label %if.end483 + +if.end483: ; preds = %if.then478, %if.end469 + %247 = load i64, i64* %len, align 8 + %inc484 = add i64 %247, 1 + store i64 %inc484, i64* %len, align 8 + %248 = load i64, i64* %len, align 8 + %249 = load i64, i64* %buffersize.addr, align 8 + %cmp488 = icmp ult i64 %248, %249 + br i1 %cmp488, label %if.then490, label %if.end497 + +if.then490: ; preds = %if.end483 + %250 = load i8, i8* %c, align 1 + %conv491 = zext i8 %250 to i32 + %shr492 = ashr i32 %conv491, 3 + %and493 = and i32 %shr492, 7 + %add494 = add nsw i32 48, %and493 + %conv495 = trunc i32 %add494 to i8 + %251 = load i8*, i8** %buffer.addr, align 8 + %252 = load i64, i64* %len, align 8 + %arrayidx496 = getelementptr inbounds i8, i8* %251, i64 %252 + store i8 %conv495, i8* %arrayidx496, align 1 + br label %if.end497 + +if.end497: ; preds = %if.then490, %if.end483 + %253 = load i64, i64* %len, align 8 + %inc498 = add i64 %253, 1 + store i64 %inc498, i64* %len, align 8 + %254 = load i8, i8* %c, align 1 + %conv501 = zext i8 %254 to i32 + %and502 = and i32 %conv501, 7 + %add503 = add nsw i32 48, %and502 + %conv504 = trunc i32 %add503 to i8 + store i8 %conv504, i8* %c, align 1 + br label %if.end518 + +if.else505: ; preds = %land.lhs.true424, %for.cond421 + %255 = load i8, i8* %is_right_quote, align 1 + %tobool506 = trunc i8 %255 to i1 + br i1 %tobool506, label %do.body508, label %if.end518 + +do.body508: ; preds = %if.else505 + %256 = load i64, i64* %len, align 8 + %257 = load i64, i64* %buffersize.addr, align 8 + %cmp509 = icmp ult i64 %256, %257 + br i1 %cmp509, label %if.then511, label %if.end513 + +if.then511: ; preds = %do.body508 + %258 = load i8*, i8** %buffer.addr, align 8 + %259 = load i64, i64* %len, align 8 + %arrayidx512 = getelementptr inbounds i8, i8* %258, i64 %259 + store i8 92, i8* %arrayidx512, align 1 + br label %if.end513 + +if.end513: ; preds = %if.then511, %do.body508 + %260 = load i64, i64* %len, align 8 + %inc514 = add i64 %260, 1 + store i64 %inc514, i64* %len, align 8 + store i8 0, i8* %is_right_quote, align 1 + br label %if.end518 + +if.end518: ; preds = %if.else505, %if.end513, %if.end497 + %261 = load i64, i64* %ilim, align 8 + %262 = load i64, i64* %i, align 8 + %add519 = add i64 %262, 1 + %cmp520 = icmp ule i64 %261, %add519 + br i1 %cmp520, label %do.body634, label %do.body524 + +do.body524: ; preds = %if.end518 + %263 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool525 = trunc i8 %263 to i1 + br i1 %tobool525, label %land.lhs.true527, label %do.body551 + +land.lhs.true527: ; preds = %do.body524 + %264 = load i8, i8* %escaping, align 1 + %tobool528 = trunc i8 %264 to i1 + br i1 %tobool528, label %do.body551, label %do.body530 + +do.body530: ; preds = %land.lhs.true527 + %265 = load i64, i64* %len, align 8 + %266 = load i64, i64* %buffersize.addr, align 8 + %cmp531 = icmp ult i64 %265, %266 + br i1 %cmp531, label %if.then533, label %if.end535 + +if.then533: ; preds = %do.body530 + %267 = load i8*, i8** %buffer.addr, align 8 + %268 = load i64, i64* %len, align 8 + %arrayidx534 = getelementptr inbounds i8, i8* %267, i64 %268 + store i8 39, i8* %arrayidx534, align 1 + br label %if.end535 + +if.end535: ; preds = %if.then533, %do.body530 + %269 = load i64, i64* %len, align 8 + %inc536 = add i64 %269, 1 + store i64 %inc536, i64* %len, align 8 + %270 = load i64, i64* %len, align 8 + %271 = load i64, i64* %buffersize.addr, align 8 + %cmp540 = icmp ult i64 %270, %271 + br i1 %cmp540, label %if.then542, label %if.end544 + +if.then542: ; preds = %if.end535 + %272 = load i8*, i8** %buffer.addr, align 8 + %273 = load i64, i64* %len, align 8 + %arrayidx543 = getelementptr inbounds i8, i8* %272, i64 %273 + store i8 39, i8* %arrayidx543, align 1 + br label %if.end544 + +if.end544: ; preds = %if.then542, %if.end535 + %274 = load i64, i64* %len, align 8 + %inc545 = add i64 %274, 1 + store i64 %inc545, i64* %len, align 8 + store i8 0, i8* %pending_shell_escape_end, align 1 + br label %do.body551 + +do.body551: ; preds = %if.end544, %land.lhs.true527, %do.body524 + %275 = load i64, i64* %len, align 8 + %276 = load i64, i64* %buffersize.addr, align 8 + %cmp552 = icmp ult i64 %275, %276 + br i1 %cmp552, label %if.then554, label %if.end556 + +if.then554: ; preds = %do.body551 + %277 = load i8, i8* %c, align 1 + %278 = load i8*, i8** %buffer.addr, align 8 + %279 = load i64, i64* %len, align 8 + %arrayidx555 = getelementptr inbounds i8, i8* %278, i64 %279 + store i8 %277, i8* %arrayidx555, align 1 + br label %if.end556 + +if.end556: ; preds = %if.then554, %do.body551 + %280 = load i64, i64* %len, align 8 + %inc557 = add i64 %280, 1 + store i64 %inc557, i64* %len, align 8 + %281 = load i8*, i8** %arg.addr, align 8 + %282 = load i64, i64* %i, align 8 + %inc560 = add i64 %282, 1 + store i64 %inc560, i64* %i, align 8 + %arrayidx561 = getelementptr inbounds i8, i8* %281, i64 %inc560 + %283 = load i8, i8* %arrayidx561, align 1 + store i8 %283, i8* %c, align 1 + br label %for.cond421 + +newDefault234: ; preds = %NodeBlock235 + br label %sw.epilog564 + +newDefault239: ; preds = %NodeBlock240 + br label %sw.epilog564 + +sw.epilog564: ; preds = %newDefault239, %newDefault234, %lor.lhs.false, %land.lhs.true417, %sw.bb297, %if.end330, %sw.bb289, %land.lhs.true292, %sw.bb283, %cond.true273, %cond.false278, %c_escape, %sw.bb171, %if.end228, %land.lhs.true182, %land.lhs.true178, %sw.bb175, %if.end164, %if.else, %sw.bb334 + %284 = load i8, i8* %backslash_escapes, align 1 + %tobool565 = trunc i8 %284 to i1 + %285 = load i32, i32* %quoting_style.addr, align 4 + %cmp568 = icmp ne i32 %285, 2 + %or.cond6 = and i1 %tobool565, %cmp568 + br i1 %or.cond6, label %land.lhs.true573, label %lor.lhs.false570 + +lor.lhs.false570: ; preds = %sw.epilog564 + %286 = load i8, i8* %elide_outer_quotes, align 1 + %tobool571 = trunc i8 %286 to i1 + br i1 %tobool571, label %land.lhs.true573, label %land.lhs.true582 + +land.lhs.true573: ; preds = %sw.epilog564, %lor.lhs.false570 + %287 = load i32*, i32** %quote_these_too.addr, align 8 + %tobool574 = icmp ne i32* %287, null + br i1 %tobool574, label %land.lhs.true575, label %land.lhs.true582 + +land.lhs.true575: ; preds = %land.lhs.true573 + %288 = load i32*, i32** %quote_these_too.addr, align 8 + %289 = load i8, i8* %c, align 1 + %conv576 = zext i8 %289 to i64 + %div = udiv i64 %conv576, 32 + %arrayidx577 = getelementptr inbounds i32, i32* %288, i64 %div + %290 = load i32, i32* %arrayidx577, align 4 + %291 = load i8, i8* %c, align 1 + %conv578 = zext i8 %291 to i64 + %rem = urem i64 %conv578, 32 + %sh_prom = trunc i64 %rem to i32 + %shr579 = lshr i32 %290, %sh_prom + %and580 = and i32 %shr579, 1 + %tobool581 = icmp ne i32 %and580, 0 + br i1 %tobool581, label %do.body586, label %land.lhs.true582 + +land.lhs.true582: ; preds = %land.lhs.true575, %land.lhs.true573, %lor.lhs.false570 + %292 = load i8, i8* %is_right_quote, align 1 + %tobool583 = trunc i8 %292 to i1 + br i1 %tobool583, label %do.body586, label %do.body634 + +do.body586: ; preds = %if.then268, %land.lhs.true582, %land.lhs.true575 + %293 = load i8, i8* %elide_outer_quotes, align 1 + %tobool587 = trunc i8 %293 to i1 + br i1 %tobool587, label %force_outer_quoting_style, label %if.end589 + +if.end589: ; preds = %do.body586 + store i8 1, i8* %escaping, align 1 + %294 = load i32, i32* %quoting_style.addr, align 4 + %cmp590 = icmp eq i32 %294, 2 + br i1 %cmp590, label %land.lhs.true592, label %do.body623 + +land.lhs.true592: ; preds = %if.end589 + %295 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool593 = trunc i8 %295 to i1 + br i1 %tobool593, label %do.body623, label %do.body595 + +do.body595: ; preds = %land.lhs.true592 + %296 = load i64, i64* %len, align 8 + %297 = load i64, i64* %buffersize.addr, align 8 + %cmp596 = icmp ult i64 %296, %297 + br i1 %cmp596, label %if.then598, label %if.end600 + +if.then598: ; preds = %do.body595 + %298 = load i8*, i8** %buffer.addr, align 8 + %299 = load i64, i64* %len, align 8 + %arrayidx599 = getelementptr inbounds i8, i8* %298, i64 %299 + store i8 39, i8* %arrayidx599, align 1 + br label %if.end600 + +if.end600: ; preds = %if.then598, %do.body595 + %300 = load i64, i64* %len, align 8 + %inc601 = add i64 %300, 1 + store i64 %inc601, i64* %len, align 8 + %301 = load i64, i64* %len, align 8 + %302 = load i64, i64* %buffersize.addr, align 8 + %cmp605 = icmp ult i64 %301, %302 + br i1 %cmp605, label %if.then607, label %if.end609 + +if.then607: ; preds = %if.end600 + %303 = load i8*, i8** %buffer.addr, align 8 + %304 = load i64, i64* %len, align 8 + %arrayidx608 = getelementptr inbounds i8, i8* %303, i64 %304 + store i8 36, i8* %arrayidx608, align 1 + br label %if.end609 + +if.end609: ; preds = %if.then607, %if.end600 + %305 = load i64, i64* %len, align 8 + %inc610 = add i64 %305, 1 + store i64 %inc610, i64* %len, align 8 + %306 = load i64, i64* %len, align 8 + %307 = load i64, i64* %buffersize.addr, align 8 + %cmp614 = icmp ult i64 %306, %307 + br i1 %cmp614, label %if.then616, label %if.end618 + +if.then616: ; preds = %if.end609 + %308 = load i8*, i8** %buffer.addr, align 8 + %309 = load i64, i64* %len, align 8 + %arrayidx617 = getelementptr inbounds i8, i8* %308, i64 %309 + store i8 39, i8* %arrayidx617, align 1 + br label %if.end618 + +if.end618: ; preds = %if.then616, %if.end609 + %310 = load i64, i64* %len, align 8 + %inc619 = add i64 %310, 1 + store i64 %inc619, i64* %len, align 8 + store i8 1, i8* %pending_shell_escape_end, align 1 + br label %do.body623 + +do.body623: ; preds = %if.end589, %land.lhs.true592, %if.end618 + %311 = load i64, i64* %len, align 8 + %312 = load i64, i64* %buffersize.addr, align 8 + %cmp624 = icmp ult i64 %311, %312 + br i1 %cmp624, label %if.then626, label %if.end628 + +if.then626: ; preds = %do.body623 + %313 = load i8*, i8** %buffer.addr, align 8 + %314 = load i64, i64* %len, align 8 + %arrayidx627 = getelementptr inbounds i8, i8* %313, i64 %314 + store i8 92, i8* %arrayidx627, align 1 + br label %if.end628 + +if.end628: ; preds = %if.then626, %do.body623 + %315 = load i64, i64* %len, align 8 + %inc629 = add i64 %315, 1 + store i64 %inc629, i64* %len, align 8 + br label %do.body634 + +do.body634: ; preds = %if.end628, %if.then246, %land.lhs.true253, %if.end518, %land.lhs.true582 + %316 = load i8, i8* %pending_shell_escape_end, align 1 + %tobool635 = trunc i8 %316 to i1 + br i1 %tobool635, label %land.lhs.true637, label %do.body661 + +land.lhs.true637: ; preds = %do.body634 + %317 = load i8, i8* %escaping, align 1 + %tobool638 = trunc i8 %317 to i1 + br i1 %tobool638, label %do.body661, label %do.body640 + +do.body640: ; preds = %land.lhs.true637 + %318 = load i64, i64* %len, align 8 + %319 = load i64, i64* %buffersize.addr, align 8 + %cmp641 = icmp ult i64 %318, %319 + br i1 %cmp641, label %if.then643, label %if.end645 + +if.then643: ; preds = %do.body640 + %320 = load i8*, i8** %buffer.addr, align 8 + %321 = load i64, i64* %len, align 8 + %arrayidx644 = getelementptr inbounds i8, i8* %320, i64 %321 + store i8 39, i8* %arrayidx644, align 1 + br label %if.end645 + +if.end645: ; preds = %if.then643, %do.body640 + %322 = load i64, i64* %len, align 8 + %inc646 = add i64 %322, 1 + store i64 %inc646, i64* %len, align 8 + %323 = load i64, i64* %len, align 8 + %324 = load i64, i64* %buffersize.addr, align 8 + %cmp650 = icmp ult i64 %323, %324 + br i1 %cmp650, label %if.then652, label %if.end654 + +if.then652: ; preds = %if.end645 + %325 = load i8*, i8** %buffer.addr, align 8 + %326 = load i64, i64* %len, align 8 + %arrayidx653 = getelementptr inbounds i8, i8* %325, i64 %326 + store i8 39, i8* %arrayidx653, align 1 + br label %if.end654 + +if.end654: ; preds = %if.then652, %if.end645 + %327 = load i64, i64* %len, align 8 + %inc655 = add i64 %327, 1 + store i64 %inc655, i64* %len, align 8 + store i8 0, i8* %pending_shell_escape_end, align 1 + br label %do.body661 + +do.body661: ; preds = %if.end654, %land.lhs.true637, %do.body634 + %328 = load i64, i64* %len, align 8 + %329 = load i64, i64* %buffersize.addr, align 8 + %cmp662 = icmp ult i64 %328, %329 + br i1 %cmp662, label %if.then664, label %if.end666 + +if.then664: ; preds = %do.body661 + %330 = load i8, i8* %c, align 1 + %331 = load i8*, i8** %buffer.addr, align 8 + %332 = load i64, i64* %len, align 8 + %arrayidx665 = getelementptr inbounds i8, i8* %331, i64 %332 + store i8 %330, i8* %arrayidx665, align 1 + br label %if.end666 + +if.end666: ; preds = %if.then664, %do.body661 + %333 = load i64, i64* %len, align 8 + %inc667 = add i64 %333, 1 + store i64 %inc667, i64* %len, align 8 + %334 = load i8, i8* %c_and_shell_quote_compat, align 1 + %tobool670 = trunc i8 %334 to i1 + br i1 %tobool670, label %for.inc673, label %if.then671 + +if.then671: ; preds = %if.end666 + store i8 0, i8* %all_c_and_shell_quote_compat, align 1 + br label %for.inc673 + +for.inc673: ; preds = %if.end666, %if.then671, %if.else + %335 = load i64, i64* %i, align 8 + %inc674 = add i64 %335, 1 + store i64 %inc674, i64* %i, align 8 + br label %for.cond44 + +for.end675: ; preds = %cond.end + %336 = load i64, i64* %len, align 8 + %cmp676 = icmp eq i64 %336, 0 + %337 = load i32, i32* %quoting_style.addr, align 4 + %cmp679 = icmp eq i32 %337, 2 + %or.cond7 = and i1 %cmp676, %cmp679 + br i1 %or.cond7, label %land.lhs.true681, label %if.end685 + +land.lhs.true681: ; preds = %for.end675 + %338 = load i8, i8* %elide_outer_quotes, align 1 + %tobool682 = trunc i8 %338 to i1 + br i1 %tobool682, label %force_outer_quoting_style, label %if.end685 + +if.end685: ; preds = %land.lhs.true681, %for.end675 + %339 = load i32, i32* %quoting_style.addr, align 4 + %cmp686 = icmp eq i32 %339, 2 + br i1 %cmp686, label %land.lhs.true688, label %if.end704 + +land.lhs.true688: ; preds = %if.end685 + %340 = load i8, i8* %elide_outer_quotes, align 1 + %tobool689 = trunc i8 %340 to i1 + br i1 %tobool689, label %if.end704, label %land.lhs.true690 + +land.lhs.true690: ; preds = %land.lhs.true688 + %341 = load i8, i8* %encountered_single_quote, align 1 + %tobool691 = trunc i8 %341 to i1 + br i1 %tobool691, label %if.then693, label %if.end704 + +if.then693: ; preds = %land.lhs.true690 + %342 = load i8, i8* %all_c_and_shell_quote_compat, align 1 + %tobool694 = trunc i8 %342 to i1 + br i1 %tobool694, label %if.then695, label %if.else697 + +if.then695: ; preds = %if.then693 + %343 = load i8*, i8** %buffer.addr, align 8 + %344 = load i64, i64* %orig_buffersize, align 8 + %345 = load i8*, i8** %arg.addr, align 8 + %346 = load i64, i64* %argsize.addr, align 8 + %347 = load i32, i32* %flags.addr, align 4 + %348 = load i32*, i32** %quote_these_too.addr, align 8 + %349 = load i8*, i8** %left_quote.addr, align 8 + %350 = load i8*, i8** %right_quote.addr, align 8 + %call696 = call i64 @quotearg_buffer_restyled(i8* %343, i64 %344, i8* %345, i64 %346, i32 5, i32 %347, i32* %348, i8* %349, i8* %350) + store i64 %call696, i64* %retval, align 8 + br label %return + +if.else697: ; preds = %if.then693 + %351 = load i64, i64* %buffersize.addr, align 8 + %tobool698 = icmp eq i64 %351, 0 + %352 = load i64, i64* %orig_buffersize, align 8 + %tobool700 = icmp ne i64 %352, 0 + %or.cond8 = and i1 %tobool698, %tobool700 + br i1 %or.cond8, label %if.then701, label %if.end704 + +if.then701: ; preds = %if.else697 + %353 = load i64, i64* %orig_buffersize, align 8 + store i64 %353, i64* %buffersize.addr, align 8 + store i64 0, i64* %len, align 8 + br label %process_input + +if.end704: ; preds = %if.else697, %land.lhs.true690, %land.lhs.true688, %if.end685 + %354 = load i8*, i8** %quote_string, align 8 + %tobool705 = icmp ne i8* %354, null + br i1 %tobool705, label %land.lhs.true706, label %if.end724 + +land.lhs.true706: ; preds = %if.end704 + %355 = load i8, i8* %elide_outer_quotes, align 1 + %tobool707 = trunc i8 %355 to i1 + br i1 %tobool707, label %if.end724, label %for.cond709 + +for.cond709: ; preds = %land.lhs.true706, %if.end717 + %356 = load i8*, i8** %quote_string, align 8 + %357 = load i8, i8* %356, align 1 + %tobool710 = icmp ne i8 %357, 0 + br i1 %tobool710, label %do.body712, label %if.end724 + +do.body712: ; preds = %for.cond709 + %358 = load i64, i64* %len, align 8 + %359 = load i64, i64* %buffersize.addr, align 8 + %cmp713 = icmp ult i64 %358, %359 + br i1 %cmp713, label %if.then715, label %if.end717 + +if.then715: ; preds = %do.body712 + %360 = load i8*, i8** %quote_string, align 8 + %361 = load i8, i8* %360, align 1 + %362 = load i8*, i8** %buffer.addr, align 8 + %363 = load i64, i64* %len, align 8 + %arrayidx716 = getelementptr inbounds i8, i8* %362, i64 %363 + store i8 %361, i8* %arrayidx716, align 1 + br label %if.end717 + +if.end717: ; preds = %if.then715, %do.body712 + %364 = load i64, i64* %len, align 8 + %inc718 = add i64 %364, 1 + store i64 %inc718, i64* %len, align 8 + %365 = load i8*, i8** %quote_string, align 8 + %incdec.ptr722 = getelementptr inbounds i8, i8* %365, i32 1 + store i8* %incdec.ptr722, i8** %quote_string, align 8 + br label %for.cond709 + +if.end724: ; preds = %for.cond709, %land.lhs.true706, %if.end704 + %366 = load i64, i64* %len, align 8 + %367 = load i64, i64* %buffersize.addr, align 8 + %cmp725 = icmp ult i64 %366, %367 + br i1 %cmp725, label %if.then727, label %if.end729 + +if.then727: ; preds = %if.end724 + %368 = load i8*, i8** %buffer.addr, align 8 + %369 = load i64, i64* %len, align 8 + %arrayidx728 = getelementptr inbounds i8, i8* %368, i64 %369 + store i8 0, i8* %arrayidx728, align 1 + br label %if.end729 + +if.end729: ; preds = %if.then727, %if.end724 + %370 = load i64, i64* %len, align 8 + store i64 %370, i64* %retval, align 8 + br label %return + +force_outer_quoting_style: ; preds = %NodeBlock267, %NodeBlock265, %NodeBlock263, %NodeBlock261, %NodeBlock259, %land.lhs.true681, %do.body586, %do.body427, %if.then300, %land.lhs.true292, %land.lhs.true262, %if.then246, %sw.bb192, %sw.bb171, %do.body86, %if.then76 + %371 = load i32, i32* %quoting_style.addr, align 4 + %cmp730 = icmp eq i32 %371, 2 + br i1 %cmp730, label %land.lhs.true732, label %if.end736 + +land.lhs.true732: ; preds = %force_outer_quoting_style + %372 = load i8, i8* %backslash_escapes, align 1 + %tobool733 = trunc i8 %372 to i1 + br i1 %tobool733, label %if.then735, label %if.end736 + +if.then735: ; preds = %land.lhs.true732 + store i32 4, i32* %quoting_style.addr, align 4 + br label %if.end736 + +if.end736: ; preds = %if.then735, %land.lhs.true732, %force_outer_quoting_style + %373 = load i8*, i8** %buffer.addr, align 8 + %374 = load i64, i64* %buffersize.addr, align 8 + %375 = load i8*, i8** %arg.addr, align 8 + %376 = load i64, i64* %argsize.addr, align 8 + %377 = load i32, i32* %quoting_style.addr, align 4 + %378 = load i32, i32* %flags.addr, align 4 + %and737 = and i32 %378, -3 + %379 = load i8*, i8** %left_quote.addr, align 8 + %380 = load i8*, i8** %right_quote.addr, align 8 + %call738 = call i64 @quotearg_buffer_restyled(i8* %373, i64 %374, i8* %375, i64 %376, i32 %377, i32 %and737, i32* null, i8* %379, i8* %380) + store i64 %call738, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end736, %if.end729, %if.then695 + %381 = load i64, i64* %retval, align 8 + ret i64 %381 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xcharalloc(i64 %n) #3 { +entry: + %n.addr = alloca i64, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @xmalloc(i64 %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xmalloc(i64 %n) #3 { +entry: + %n.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @malloc(i64 %0) #11 + store i8* %call, i8** %p, align 8 + %1 = load i8*, i8** %p, align 8 + %tobool = icmp eq i8* %1, null + %2 = load i64, i64* %n.addr, align 8 + %cmp = icmp ne i64 %2, 0 + %or.cond = and i1 %tobool, %cmp + br i1 %or.cond, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %entry + %3 = load i8*, i8** %p, align 8 + ret i8* %3 +} + +; Function Attrs: nounwind +declare dso_local i64 @__ctype_get_mb_cur_max() #4 + +; Function Attrs: noinline nounwind uwtable +define internal i8* @gettext_quote(i8* %msgid, i32 %s) #3 { +entry: + %retval = alloca i8*, align 8 + %msgid.addr = alloca i8*, align 8 + %s.addr = alloca i32, align 4 + %translation = alloca i8*, align 8 + %locale_code = alloca i8*, align 8 + store i8* %msgid, i8** %msgid.addr, align 8 + store i32 %s, i32* %s.addr, align 4 + %0 = load i8*, i8** %msgid.addr, align 8 + store i8* %0, i8** %translation, align 8 + %1 = load i8*, i8** %translation, align 8 + %2 = load i8*, i8** %msgid.addr, align 8 + %cmp = icmp ne i8* %1, %2 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %3 = load i8*, i8** %translation, align 8 + store i8* %3, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %call = call i8* @locale_charset() + store i8* %call, i8** %locale_code, align 8 + %4 = load i8*, i8** %locale_code, align 8 + %call1 = call i32 @c_strcasecmp(i8* %4, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.13.56, i64 0, i64 0)) #23 + %cmp2 = icmp eq i32 %call1, 0 + br i1 %cmp2, label %if.then3, label %if.end6 + +if.then3: ; preds = %if.end + %5 = load i8*, i8** %msgid.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %5, i64 0 + %6 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %6 to i32 + %cmp4 = icmp eq i32 %conv, 96 + %7 = zext i1 %cmp4 to i64 + %cond = select i1 %cmp4, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.14.57, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.15.58, i64 0, i64 0) + store i8* %cond, i8** %retval, align 8 + br label %return + +if.end6: ; preds = %if.end + %8 = load i8*, i8** %locale_code, align 8 + %call7 = call i32 @c_strcasecmp(i8* %8, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.16.59, i64 0, i64 0)) #23 + %cmp8 = icmp eq i32 %call7, 0 + br i1 %cmp8, label %if.then10, label %if.end16 + +if.then10: ; preds = %if.end6 + %9 = load i8*, i8** %msgid.addr, align 8 + %arrayidx11 = getelementptr inbounds i8, i8* %9, i64 0 + %10 = load i8, i8* %arrayidx11, align 1 + %conv12 = sext i8 %10 to i32 + %cmp13 = icmp eq i32 %conv12, 96 + %11 = zext i1 %cmp13 to i64 + %cond15 = select i1 %cmp13, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.17.60, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.18.61, i64 0, i64 0) + store i8* %cond15, i8** %retval, align 8 + br label %return + +if.end16: ; preds = %if.end6 + %12 = load i32, i32* %s.addr, align 4 + %cmp17 = icmp eq i32 %12, 9 + %13 = zext i1 %cmp17 to i64 + %cond19 = select i1 %cmp17, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.10.53, i64 0, i64 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.55, i64 0, i64 0) + store i8* %cond19, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end16, %if.then10, %if.then3, %if.then + %14 = load i8*, i8** %retval, align 8 + ret i8* %14 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @rpl_mbrtowc(i32* %pwc, i8* %s, i64 %n, %struct.__mbstate_t* %ps) #3 { +entry: + %retval = alloca i64, align 8 + %pwc.addr = alloca i32*, align 8 + %s.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t*, align 8 + %ret = alloca i64, align 8 + %wc = alloca i32, align 4 + %uc = alloca i8, align 1 + store i32* %pwc, i32** %pwc.addr, align 8 + store i8* %s, i8** %s.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__mbstate_t* %ps, %struct.__mbstate_t** %ps.addr, align 8 + %0 = load i32*, i32** %pwc.addr, align 8 + %tobool = icmp ne i32* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i32* %wc, i32** %pwc.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i32*, i32** %pwc.addr, align 8 + %2 = load i8*, i8** %s.addr, align 8 + %3 = load i64, i64* %n.addr, align 8 + %4 = load %struct.__mbstate_t*, %struct.__mbstate_t** %ps.addr, align 8 + %call = call i64 bitcast (i64 (i32*, i8*, i64, %struct.__mbstate_t.512*)* @mbrtowc to i64 (i32*, i8*, i64, %struct.__mbstate_t*)*)(i32* %1, i8* %2, i64 %3, %struct.__mbstate_t* %4) #11 + store i64 %call, i64* %ret, align 8 + %5 = load i64, i64* %ret, align 8 + %cmp = icmp ule i64 -2, %5 + %6 = load i64, i64* %n.addr, align 8 + %cmp1 = icmp ne i64 %6, 0 + %or.cond = and i1 %cmp, %cmp1 + br i1 %or.cond, label %land.lhs.true2, label %if.end5 + +land.lhs.true2: ; preds = %if.end + %call3 = call zeroext i1 @hard_locale(i32 0) + br i1 %call3, label %if.end5, label %if.then4 + +if.then4: ; preds = %land.lhs.true2 + %7 = load i8*, i8** %s.addr, align 8 + %8 = load i8, i8* %7, align 1 + store i8 %8, i8* %uc, align 1 + %9 = load i8, i8* %uc, align 1 + %conv = zext i8 %9 to i32 + %10 = load i32*, i32** %pwc.addr, align 8 + store i32 %conv, i32* %10, align 4 + store i64 1, i64* %retval, align 8 + br label %return + +if.end5: ; preds = %land.lhs.true2, %if.end + %11 = load i64, i64* %ret, align 8 + store i64 %11, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end5, %if.then4 + %12 = load i64, i64* %retval, align 8 + ret i64 %12 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @hard_locale(i32 %category) #3 { +entry: + %retval = alloca i1, align 1 + %category.addr = alloca i32, align 4 + %locale = alloca [257 x i8], align 16 + store i32 %category, i32* %category.addr, align 4 + %0 = load i32, i32* %category.addr, align 4 + %arraydecay = getelementptr inbounds [257 x i8], [257 x i8]* %locale, i64 0, i64 0 + %call = call i32 @setlocale_null_r(i32 %0, i8* %arraydecay, i64 257) + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +if.end: ; preds = %entry + %arraydecay1 = getelementptr inbounds [257 x i8], [257 x i8]* %locale, i64 0, i64 0 + %call2 = call i32 @strcmp(i8* %arraydecay1, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.109, i64 0, i64 0)) #23 + %cmp = icmp eq i32 %call2, 0 + br i1 %cmp, label %lor.end, label %lor.rhs + +lor.rhs: ; preds = %if.end + %arraydecay3 = getelementptr inbounds [257 x i8], [257 x i8]* %locale, i64 0, i64 0 + %call4 = call i32 @strcmp(i8* %arraydecay3, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1.110, i64 0, i64 0)) #23 + %cmp5 = icmp eq i32 %call4, 0 + br label %lor.end + +lor.end: ; preds = %lor.rhs, %if.end + %1 = phi i1 [ true, %if.end ], [ %cmp5, %lor.rhs ] + %lnot = xor i1 %1, true + store i1 %lnot, i1* %retval, align 1 + br label %return + +return: ; preds = %lor.end, %if.then + %2 = load i1, i1* %retval, align 1 + ret i1 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @setlocale_null_r(i32 %category, i8* nonnull %buf, i64 %bufsize) #3 { +entry: + %category.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + store i32 %category, i32* %category.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i32, i32* %category.addr, align 4 + %1 = load i8*, i8** %buf.addr, align 8 + %2 = load i64, i64* %bufsize.addr, align 8 + %call = call i32 @setlocale_null_unlocked(i32 %0, i8* %1, i64 %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @setlocale_null_unlocked(i32 %category, i8* %buf, i64 %bufsize) #3 { +entry: + %retval = alloca i32, align 4 + %category.addr = alloca i32, align 4 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %result = alloca i8*, align 8 + %length = alloca i64, align 8 + store i32 %category, i32* %category.addr, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i32, i32* %category.addr, align 4 + %call = call i8* @setlocale_null_androidfix(i32 %0) + store i8* %call, i8** %result, align 8 + %1 = load i8*, i8** %result, align 8 + %cmp = icmp eq i8* %1, null + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %2 = load i64, i64* %bufsize.addr, align 8 + %cmp1 = icmp ugt i64 %2, 0 + br i1 %cmp1, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + %3 = load i8*, i8** %buf.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %3, i64 0 + store i8 0, i8* %arrayidx, align 1 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + store i32 22, i32* %retval, align 4 + br label %return + +if.else: ; preds = %entry + %4 = load i8*, i8** %result, align 8 + %call3 = call i64 @strlen(i8* %4) #23 + store i64 %call3, i64* %length, align 8 + %5 = load i64, i64* %length, align 8 + %6 = load i64, i64* %bufsize.addr, align 8 + %cmp4 = icmp ult i64 %5, %6 + br i1 %cmp4, label %if.then5, label %if.else6 + +if.then5: ; preds = %if.else + %7 = load i8*, i8** %buf.addr, align 8 + %8 = load i8*, i8** %result, align 8 + %9 = load i64, i64* %length, align 8 + %add = add i64 %9, 1 + %10 = call i8* @memcpy(i8* %7, i8* %8, i64 %add) + store i32 0, i32* %retval, align 4 + br label %return + +if.else6: ; preds = %if.else + %11 = load i64, i64* %bufsize.addr, align 8 + %cmp7 = icmp ugt i64 %11, 0 + br i1 %cmp7, label %if.then8, label %if.end11 + +if.then8: ; preds = %if.else6 + %12 = load i8*, i8** %buf.addr, align 8 + %13 = load i8*, i8** %result, align 8 + %14 = load i64, i64* %bufsize.addr, align 8 + %sub = sub i64 %14, 1 + %15 = call i8* @memcpy(i8* %12, i8* %13, i64 %sub) + %16 = load i8*, i8** %buf.addr, align 8 + %17 = load i64, i64* %bufsize.addr, align 8 + %sub9 = sub i64 %17, 1 + %arrayidx10 = getelementptr inbounds i8, i8* %16, i64 %sub9 + store i8 0, i8* %arrayidx10, align 1 + br label %if.end11 + +if.end11: ; preds = %if.then8, %if.else6 + store i32 34, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end11, %if.then5, %if.end + %18 = load i32, i32* %retval, align 4 + ret i32 %18 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @setlocale_null_androidfix(i32 %category) #3 { +entry: + %category.addr = alloca i32, align 4 + %result = alloca i8*, align 8 + store i32 %category, i32* %category.addr, align 4 + %0 = load i32, i32* %category.addr, align 4 + %call = call i8* @setlocale(i32 %0, i8* null) #11 + store i8* %call, i8** %result, align 8 + %1 = load i8*, i8** %result, align 8 + ret i8* %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @locale_charset() #3 { +entry: + %codeset = alloca i8*, align 8 + %call = call i8* @nl_langinfo(i32 14) #11 + store i8* %call, i8** %codeset, align 8 + %0 = load i8*, i8** %codeset, align 8 + %cmp = icmp eq i8* %0, null + %spec.store.select = select i1 %cmp, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.113, i64 0, i64 0), i8* %call + store i8* %spec.store.select, i8** %codeset, align 8 + %1 = load i8*, i8** %codeset, align 8 + %arrayidx = getelementptr inbounds i8, i8* %1, i64 0 + %2 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %2 to i32 + %cmp1 = icmp eq i32 %conv, 0 + %spec.store.select1 = select i1 %cmp1, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1.114, i64 0, i64 0), i8* %spec.store.select + store i8* %spec.store.select1, i8** %codeset, align 8 + %3 = load i8*, i8** %codeset, align 8 + ret i8* %3 +} + +; Function Attrs: noinline nounwind readonly uwtable +define dso_local i32 @c_strcasecmp(i8* %s1, i8* %s2) #15 { +entry: + %retval = alloca i32, align 4 + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %p1 = alloca i8*, align 8 + %p2 = alloca i8*, align 8 + %c1 = alloca i8, align 1 + %c2 = alloca i8, align 1 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %p1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %p2, align 8 + %2 = load i8*, i8** %p1, align 8 + %3 = load i8*, i8** %p2, align 8 + %cmp = icmp eq i8* %2, %3 + br i1 %cmp, label %if.then, label %do.body + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +do.body: ; preds = %entry, %if.end9 + %4 = load i8*, i8** %p1, align 8 + %5 = load i8, i8* %4, align 1 + %conv = zext i8 %5 to i32 + %call = call i32 @c_tolower(i32 %conv) + %conv1 = trunc i32 %call to i8 + store i8 %conv1, i8* %c1, align 1 + %6 = load i8*, i8** %p2, align 8 + %7 = load i8, i8* %6, align 1 + %conv2 = zext i8 %7 to i32 + %call3 = call i32 @c_tolower(i32 %conv2) + %conv4 = trunc i32 %call3 to i8 + store i8 %conv4, i8* %c2, align 1 + %8 = load i8, i8* %c1, align 1 + %conv5 = zext i8 %8 to i32 + %cmp6 = icmp eq i32 %conv5, 0 + br i1 %cmp6, label %do.end, label %if.end9 + +if.end9: ; preds = %do.body + %9 = load i8*, i8** %p1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %p1, align 8 + %10 = load i8*, i8** %p2, align 8 + %incdec.ptr10 = getelementptr inbounds i8, i8* %10, i32 1 + store i8* %incdec.ptr10, i8** %p2, align 8 + %11 = load i8, i8* %c1, align 1 + %conv11 = zext i8 %11 to i32 + %12 = load i8, i8* %c2, align 1 + %conv12 = zext i8 %12 to i32 + %cmp13 = icmp eq i32 %conv11, %conv12 + br i1 %cmp13, label %do.body, label %do.end + +do.end: ; preds = %do.body, %if.end9 + %13 = load i8, i8* %c1, align 1 + %conv15 = zext i8 %13 to i32 + %14 = load i8, i8* %c2, align 1 + %conv16 = zext i8 %14 to i32 + %sub = sub nsw i32 %conv15, %conv16 + store i32 %sub, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end, %if.then + %15 = load i32, i32* %retval, align 4 + ret i32 %15 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @c_tolower(i32 %c) #3 { +entry: + %retval = alloca i32, align 4 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -65 + %switch = icmp ult i32 %.off, 26 + %1 = load i32, i32* %c.addr, align 4 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + %sub = sub nsw i32 %1, 65 + %add = add nsw i32 %sub, 97 + store i32 %add, i32* %retval, align 4 + br label %return + +sw.default: ; preds = %entry + store i32 %1, i32* %retval, align 4 + br label %return + +return: ; preds = %sw.default, %sw.bb + %2 = load i32, i32* %retval, align 4 + ret i32 %2 +} + +; Function Attrs: nounwind +declare dso_local i8* @realloc(i8*, i64) #4 + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fclose(%struct._IO_FILE* nonnull %fp) #3 { +entry: + %retval = alloca i32, align 4 + %fp.addr = alloca %struct._IO_FILE*, align 8 + %saved_errno = alloca i32, align 4 + %fd = alloca i32, align 4 + %result = alloca i32, align 4 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + store i32 0, i32* %saved_errno, align 4 + store i32 0, i32* %result, align 4 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %0) #11 + store i32 %call, i32* %fd, align 4 + %1 = load i32, i32* %fd, align 4 + %cmp = icmp slt i32 %1, 0 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %call1 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fclose to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %2) + store i32 %call1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %call2 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.519*)* @__freading to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %2) #11 + %cmp3 = icmp ne i32 %call2, 0 + br i1 %cmp3, label %lor.lhs.false, label %land.lhs.true + +lor.lhs.false: ; preds = %if.end + %3 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call4 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %3) #11 + %call5 = call i64 @lseek(i32 %call4, i64 0, i32 1) #11 + %cmp6 = icmp ne i64 %call5, -1 + br i1 %cmp6, label %land.lhs.true, label %if.end10 + +land.lhs.true: ; preds = %lor.lhs.false, %if.end + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call7 = call i32 @rpl_fflush(%struct._IO_FILE* %4) + %tobool = icmp ne i32 %call7, 0 + br i1 %tobool, label %if.then8, label %if.end10 + +if.then8: ; preds = %land.lhs.true + %call9 = call i32* @__errno_location() #25 + %5 = load i32, i32* %call9, align 4 + store i32 %5, i32* %saved_errno, align 4 + br label %if.end10 + +if.end10: ; preds = %if.then8, %land.lhs.true, %lor.lhs.false + %6 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call11 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fclose to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %6) + store i32 %call11, i32* %result, align 4 + %7 = load i32, i32* %saved_errno, align 4 + %cmp12 = icmp ne i32 %7, 0 + br i1 %cmp12, label %if.then13, label %if.end15 + +if.then13: ; preds = %if.end10 + %8 = load i32, i32* %saved_errno, align 4 + %call14 = call i32* @__errno_location() #25 + store i32 %8, i32* %call14, align 4 + store i32 -1, i32* %result, align 4 + br label %if.end15 + +if.end15: ; preds = %if.then13, %if.end10 + %9 = load i32, i32* %result, align 4 + store i32 %9, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end15, %if.then + %10 = load i32, i32* %retval, align 4 + ret i32 %10 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fflush(%struct._IO_FILE* %stream) #3 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %cmp = icmp eq %struct._IO_FILE* %0, null + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.519*)* @__freading to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %1) #11 + %cmp1 = icmp ne i32 %call, 0 + br i1 %cmp1, label %if.end, label %if.then + +if.then: ; preds = %lor.lhs.false, %entry + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call2 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fflush to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %2) + store i32 %call2, i32* %retval, align 4 + br label %return + +if.end: ; preds = %lor.lhs.false + %3 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + call void @clear_ungetc_buffer_preserving_position(%struct._IO_FILE* %3) + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %call3 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @fflush to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %4) + store i32 %call3, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %5 = load i32, i32* %retval, align 4 + ret i32 %5 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @clear_ungetc_buffer_preserving_position(%struct._IO_FILE* %fp) #3 { +entry: + %fp.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_flags = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %0, i32 0, i32 0 + %1 = load i32, i32* %_flags, align 8 + %and = and i32 %1, 256 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 @rpl_fseeko(%struct._IO_FILE* %2, i64 0, i32 1) + br label %if.end + +if.end: ; preds = %if.then, %entry + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @rpl_fseeko(%struct._IO_FILE* nonnull %fp, i64 %offset, i32 %whence) #3 { +entry: + %retval = alloca i32, align 4 + %fp.addr = alloca %struct._IO_FILE*, align 8 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + %pos = alloca i64, align 8 + store %struct._IO_FILE* %fp, %struct._IO_FILE** %fp.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_read_end = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %0, i32 0, i32 2 + %1 = load i8*, i8** %_IO_read_end, align 8 + %2 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_read_ptr = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %2, i32 0, i32 1 + %3 = load i8*, i8** %_IO_read_ptr, align 8 + %cmp = icmp eq i8* %1, %3 + br i1 %cmp, label %land.lhs.true, label %if.end7 + +land.lhs.true: ; preds = %entry + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_write_ptr = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %4, i32 0, i32 5 + %5 = load i8*, i8** %_IO_write_ptr, align 8 + %6 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_write_base = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %6, i32 0, i32 4 + %7 = load i8*, i8** %_IO_write_base, align 8 + %cmp1 = icmp eq i8* %5, %7 + br i1 %cmp1, label %land.lhs.true2, label %if.end7 + +land.lhs.true2: ; preds = %land.lhs.true + %8 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_IO_save_base = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %8, i32 0, i32 9 + %9 = load i8*, i8** %_IO_save_base, align 8 + %cmp3 = icmp eq i8* %9, null + br i1 %cmp3, label %if.then, label %if.end7 + +if.then: ; preds = %land.lhs.true2 + %10 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.608*)* @fileno to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %10) #11 + %11 = load i64, i64* %offset.addr, align 8 + %12 = load i32, i32* %whence.addr, align 4 + %call4 = call i64 @lseek(i32 %call, i64 %11, i32 %12) #11 + store i64 %call4, i64* %pos, align 8 + %13 = load i64, i64* %pos, align 8 + %cmp5 = icmp eq i64 %13, -1 + br i1 %cmp5, label %if.then6, label %if.end + +if.then6: ; preds = %if.then + store i32 -1, i32* %retval, align 4 + br label %return + +if.end: ; preds = %if.then + %14 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_flags = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %14, i32 0, i32 0 + %15 = load i32, i32* %_flags, align 8 + %and = and i32 %15, -17 + store i32 %and, i32* %_flags, align 8 + %16 = load i64, i64* %pos, align 8 + %17 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %_offset = getelementptr inbounds %struct._IO_FILE, %struct._IO_FILE* %17, i32 0, i32 21 + store i64 %16, i64* %_offset, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +if.end7: ; preds = %land.lhs.true2, %land.lhs.true, %entry + %18 = load %struct._IO_FILE*, %struct._IO_FILE** %fp.addr, align 8 + %19 = load i64, i64* %offset.addr, align 8 + %20 = load i32, i32* %whence.addr, align 4 + %call8 = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32)* @fseeko to i32 (%struct._IO_FILE*, i64, i32)*)(%struct._IO_FILE* %18, i64 %19, i32 %20) + store i32 %call8, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end7, %if.end, %if.then6 + %21 = load i32, i32* %retval, align 4 + ret i32 %21 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @close_stdout_set_file_name(i8* %file) #3 { +entry: + %file.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + store i8* %0, i8** @file_name, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @close_stdout_set_ignore_EPIPE(i1 zeroext %ignore) #3 { +entry: + %ignore.addr = alloca i8, align 1 + %frombool = zext i1 %ignore to i8 + store i8 %frombool, i8* %ignore.addr, align 1 + %0 = load i8, i8* %ignore.addr, align 1 + %tobool = trunc i8 %0 to i1 + %frombool1 = zext i1 %tobool to i8 + store i8 %frombool1, i8* @ignore_EPIPE, align 1 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local %struct.quoting_options* @clone_quoting_options(%struct.quoting_options* %o) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %p = alloca %struct.quoting_options*, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %call = call i32* @__errno_location() #25 + %0 = load i32, i32* %call, align 4 + store i32 %0, i32* %e, align 4 + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %1, null + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %2, %struct.quoting_options* @default_quoting_options + %3 = bitcast %struct.quoting_options* %cond to i8* + %call1 = call i8* @xmemdup(i8* %3, i64 56) + %4 = bitcast i8* %call1 to %struct.quoting_options* + store %struct.quoting_options* %4, %struct.quoting_options** %p, align 8 + %5 = load i32, i32* %e, align 4 + %call2 = call i32* @__errno_location() #25 + store i32 %5, i32* %call2, align 4 + %6 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + ret %struct.quoting_options* %6 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @xmemdup(i8* %p, i64 %s) #3 { +entry: + %p.addr = alloca i8*, align 8 + %s.addr = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %call = call noalias i8* @xmalloc(i64 %0) + %1 = load i8*, i8** %p.addr, align 8 + %2 = load i64, i64* %s.addr, align 8 + %3 = call i8* @memcpy(i8* %call, i8* %1, i64 %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @get_quoting_style(%struct.quoting_options* %o) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %1, %struct.quoting_options* @default_quoting_options + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %cond, i32 0, i32 0 + %2 = load i32, i32* %style, align 8 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_quoting_style(%struct.quoting_options* %o, i32 %s) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %s.addr = alloca i32, align 4 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i32 %s, i32* %s.addr, align 4 + %0 = load i32, i32* %s.addr, align 4 + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %1, null + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %2, %struct.quoting_options* @default_quoting_options + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %cond, i32 0, i32 0 + store i32 %0, i32* %style, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @set_quoting_flags(%struct.quoting_options* %o, i32 %i) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %i.addr = alloca i32, align 4 + %r = alloca i32, align 4 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i32 %i, i32* %i.addr, align 4 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store %struct.quoting_options* @default_quoting_options, %struct.quoting_options** %o.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %flags = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %1, i32 0, i32 1 + %2 = load i32, i32* %flags, align 4 + store i32 %2, i32* %r, align 4 + %3 = load i32, i32* %i.addr, align 4 + %4 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %flags1 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %4, i32 0, i32 1 + store i32 %3, i32* %flags1, align 4 + %5 = load i32, i32* %r, align 4 + ret i32 %5 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @set_custom_quoting(%struct.quoting_options* %o, i8* %left_quote, i8* %right_quote) #3 { +entry: + %o.addr = alloca %struct.quoting_options*, align 8 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store %struct.quoting_options* @default_quoting_options, %struct.quoting_options** %o.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %1, i32 0, i32 0 + store i32 10, i32* %style, align 8 + %2 = load i8*, i8** %left_quote.addr, align 8 + %tobool1 = icmp ne i8* %2, null + %3 = load i8*, i8** %right_quote.addr, align 8 + %tobool2 = icmp ne i8* %3, null + %or.cond = and i1 %tobool1, %tobool2 + br i1 %or.cond, label %if.end4, label %if.then3 + +if.then3: ; preds = %if.end + call void @abort() #26 + unreachable + +if.end4: ; preds = %if.end + %4 = load i8*, i8** %left_quote.addr, align 8 + %5 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %left_quote5 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %5, i32 0, i32 3 + store i8* %4, i8** %left_quote5, align 8 + %6 = load i8*, i8** %right_quote.addr, align 8 + %7 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %right_quote6 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %7, i32 0, i32 4 + store i8* %6, i8** %right_quote6, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @quotearg_buffer(i8* %buffer, i64 %buffersize, i8* %arg, i64 %argsize, %struct.quoting_options* %o) #3 { +entry: + %buffer.addr = alloca i8*, align 8 + %buffersize.addr = alloca i64, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o.addr = alloca %struct.quoting_options*, align 8 + %p = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %r = alloca i64, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %buffersize, i64* %buffersize.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %1, %struct.quoting_options* @default_quoting_options + store %struct.quoting_options* %cond, %struct.quoting_options** %p, align 8 + %call = call i32* @__errno_location() #25 + %2 = load i32, i32* %call, align 4 + store i32 %2, i32* %e, align 4 + %3 = load i8*, i8** %buffer.addr, align 8 + %4 = load i64, i64* %buffersize.addr, align 8 + %5 = load i8*, i8** %arg.addr, align 8 + %6 = load i64, i64* %argsize.addr, align 8 + %7 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %7, i32 0, i32 0 + %8 = load i32, i32* %style, align 8 + %9 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %flags = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %9, i32 0, i32 1 + %10 = load i32, i32* %flags, align 4 + %11 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %11, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %12 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %left_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %12, i32 0, i32 3 + %13 = load i8*, i8** %left_quote, align 8 + %14 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %right_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %14, i32 0, i32 4 + %15 = load i8*, i8** %right_quote, align 8 + %call1 = call i64 @quotearg_buffer_restyled(i8* %3, i64 %4, i8* %5, i64 %6, i32 %8, i32 %10, i32* %arraydecay, i8* %13, i8* %15) + store i64 %call1, i64* %r, align 8 + %16 = load i32, i32* %e, align 4 + %call2 = call i32* @__errno_location() #25 + store i32 %16, i32* %call2, align 4 + %17 = load i64, i64* %r, align 8 + ret i64 %17 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_alloc(i8* %arg, i64 %argsize, %struct.quoting_options* %o) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o.addr = alloca %struct.quoting_options*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %2 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %call = call i8* @quotearg_alloc_mem(i8* %0, i64 %1, i64* null, %struct.quoting_options* %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_alloc_mem(i8* %arg, i64 %argsize, i64* %size, %struct.quoting_options* %o) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %size.addr = alloca i64*, align 8 + %o.addr = alloca %struct.quoting_options*, align 8 + %p = alloca %struct.quoting_options*, align 8 + %e = alloca i32, align 4 + %flags = alloca i32, align 4 + %bufsize = alloca i64, align 8 + %buf = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + store i64* %size, i64** %size.addr, align 8 + store %struct.quoting_options* %o, %struct.quoting_options** %o.addr, align 8 + %0 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %tobool = icmp ne %struct.quoting_options* %0, null + %1 = load %struct.quoting_options*, %struct.quoting_options** %o.addr, align 8 + %cond = select i1 %tobool, %struct.quoting_options* %1, %struct.quoting_options* @default_quoting_options + store %struct.quoting_options* %cond, %struct.quoting_options** %p, align 8 + %call = call i32* @__errno_location() #25 + %2 = load i32, i32* %call, align 4 + store i32 %2, i32* %e, align 4 + %3 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %flags1 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %3, i32 0, i32 1 + %4 = load i32, i32* %flags1, align 4 + %5 = load i64*, i64** %size.addr, align 8 + %tobool2 = icmp ne i64* %5, null + %6 = zext i1 %tobool2 to i64 + %cond3 = select i1 %tobool2, i32 0, i32 1 + %or = or i32 %4, %cond3 + store i32 %or, i32* %flags, align 4 + %7 = load i8*, i8** %arg.addr, align 8 + %8 = load i64, i64* %argsize.addr, align 8 + %9 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %style = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %9, i32 0, i32 0 + %10 = load i32, i32* %style, align 8 + %11 = load i32, i32* %flags, align 4 + %12 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %quote_these_too = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %12, i32 0, i32 2 + %arraydecay = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too, i64 0, i64 0 + %13 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %left_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %13, i32 0, i32 3 + %14 = load i8*, i8** %left_quote, align 8 + %15 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %right_quote = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %15, i32 0, i32 4 + %16 = load i8*, i8** %right_quote, align 8 + %call4 = call i64 @quotearg_buffer_restyled(i8* null, i64 0, i8* %7, i64 %8, i32 %10, i32 %11, i32* %arraydecay, i8* %14, i8* %16) + %add = add i64 %call4, 1 + store i64 %add, i64* %bufsize, align 8 + %17 = load i64, i64* %bufsize, align 8 + %call5 = call noalias i8* @xcharalloc(i64 %17) + store i8* %call5, i8** %buf, align 8 + %18 = load i8*, i8** %buf, align 8 + %19 = load i64, i64* %bufsize, align 8 + %20 = load i8*, i8** %arg.addr, align 8 + %21 = load i64, i64* %argsize.addr, align 8 + %22 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %style6 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %22, i32 0, i32 0 + %23 = load i32, i32* %style6, align 8 + %24 = load i32, i32* %flags, align 4 + %25 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %quote_these_too7 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %25, i32 0, i32 2 + %arraydecay8 = getelementptr inbounds [8 x i32], [8 x i32]* %quote_these_too7, i64 0, i64 0 + %26 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %left_quote9 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %26, i32 0, i32 3 + %27 = load i8*, i8** %left_quote9, align 8 + %28 = load %struct.quoting_options*, %struct.quoting_options** %p, align 8 + %right_quote10 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %28, i32 0, i32 4 + %29 = load i8*, i8** %right_quote10, align 8 + %call11 = call i64 @quotearg_buffer_restyled(i8* %18, i64 %19, i8* %20, i64 %21, i32 %23, i32 %24, i32* %arraydecay8, i8* %27, i8* %29) + %30 = load i32, i32* %e, align 4 + %call12 = call i32* @__errno_location() #25 + store i32 %30, i32* %call12, align 4 + %31 = load i64*, i64** %size.addr, align 8 + %tobool13 = icmp ne i64* %31, null + br i1 %tobool13, label %if.then, label %if.end + +if.then: ; preds = %entry + %32 = load i64, i64* %bufsize, align 8 + %sub = sub i64 %32, 1 + %33 = load i64*, i64** %size.addr, align 8 + store i64 %sub, i64* %33, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %34 = load i8*, i8** %buf, align 8 + ret i8* %34 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @quotearg_free() #3 { +entry: + %sv = alloca %struct.slotvec*, align 8 + %i = alloca i32, align 4 + %0 = load %struct.slotvec*, %struct.slotvec** @slotvec, align 8 + store %struct.slotvec* %0, %struct.slotvec** %sv, align 8 + store i32 1, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %entry + %1 = load i32, i32* %i, align 4 + %2 = load i32, i32* @nslots, align 4 + %cmp = icmp slt i32 %1, %2 + %3 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %4 = load i32, i32* %i, align 4 + %idxprom = sext i32 %4 to i64 + %arrayidx = getelementptr inbounds %struct.slotvec, %struct.slotvec* %3, i64 %idxprom + %val = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx, i32 0, i32 1 + %5 = load i8*, i8** %val, align 8 + call void @free(i8* %5) #11 + %6 = load i32, i32* %i, align 4 + %inc = add nsw i32 %6, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %arrayidx1 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %3, i64 0 + %val2 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx1, i32 0, i32 1 + %7 = load i8*, i8** %val2, align 8 + %cmp3 = icmp ne i8* %7, getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i64 0, i64 0) + br i1 %cmp3, label %if.then, label %if.end + +if.then: ; preds = %for.end + %8 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %arrayidx4 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %8, i64 0 + %val5 = getelementptr inbounds %struct.slotvec, %struct.slotvec* %arrayidx4, i32 0, i32 1 + %9 = load i8*, i8** %val5, align 8 + call void @free(i8* %9) #11 + store i64 256, i64* getelementptr inbounds (%struct.slotvec, %struct.slotvec* @slotvec0, i32 0, i32 0), align 8 + store i8* getelementptr inbounds ([256 x i8], [256 x i8]* @slot0, i64 0, i64 0), i8** getelementptr inbounds (%struct.slotvec, %struct.slotvec* @slotvec0, i32 0, i32 1), align 8 + br label %if.end + +if.end: ; preds = %if.then, %for.end + %10 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %cmp6 = icmp ne %struct.slotvec* %10, @slotvec0 + br i1 %cmp6, label %if.then7, label %if.end8 + +if.then7: ; preds = %if.end + %11 = load %struct.slotvec*, %struct.slotvec** %sv, align 8 + %12 = bitcast %struct.slotvec* %11 to i8* + call void @free(i8* %12) #11 + store %struct.slotvec* @slotvec0, %struct.slotvec** @slotvec, align 8 + br label %if.end8 + +if.end8: ; preds = %if.then7, %if.end + store i32 1, i32* @nslots, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n(i32 %n, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %0, i8* %1, i64 -1, %struct.quoting_options* @default_quoting_options) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_mem(i32 %n, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %2 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %0, i8* %1, i64 %2, %struct.quoting_options* @default_quoting_options) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg(i8* %arg) #3 { +entry: + %arg.addr = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n(i32 0, i8* %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_mem(i8* %arg, i64 %argsize) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_mem(i32 0, i8* %0, i64 %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_style(i32 %n, i32 %s, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %o = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + call void @quoting_options_from_style(%struct.quoting_options* sret align 8 %o, i32 %0) + %1 = load i32, i32* %n.addr, align 4 + %2 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %1, i8* %2, i64 -1, %struct.quoting_options* %o) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define internal void @quoting_options_from_style(%struct.quoting_options* noalias sret align 8 %agg.result, i32 %style) #3 { +entry: + %style.addr = alloca i32, align 4 + store i32 %style, i32* %style.addr, align 4 + %0 = bitcast %struct.quoting_options* %agg.result to i8* + %1 = call i8* @memset(i8* %0, i32 0, i64 56) + %2 = load i32, i32* %style.addr, align 4 + %cmp = icmp eq i32 %2, 10 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @abort() #26 + unreachable + +if.end: ; preds = %entry + %3 = load i32, i32* %style.addr, align 4 + %style1 = getelementptr inbounds %struct.quoting_options, %struct.quoting_options* %agg.result, i32 0, i32 0 + store i32 %3, i32* %style1, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_style_mem(i32 %n, i32 %s, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + call void @quoting_options_from_style(%struct.quoting_options* sret align 8 %o, i32 %0) + %1 = load i32, i32* %n.addr, align 4 + %2 = load i8*, i8** %arg.addr, align 8 + %3 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %1, i8* %2, i64 %3, %struct.quoting_options* %o) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_style(i32 %s, i8* %arg) #3 { +entry: + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_style(i32 0, i32 %0, i8* %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_style_mem(i32 %s, i8* %arg, i64 %argsize) #3 { +entry: + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %2 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_style_mem(i32 0, i32 %0, i8* %1, i64 %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_colon_mem(i8* %arg, i64 %argsize) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_char_mem(i8* %0, i64 %1, i8 signext 58) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_style_colon(i32 %n, i32 %s, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %s.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %options = alloca %struct.quoting_options, align 8 + %tmp = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i32 %s, i32* %s.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %s.addr, align 4 + call void @quoting_options_from_style(%struct.quoting_options* sret align 8 %tmp, i32 %0) + %1 = bitcast %struct.quoting_options* %options to i8* + %2 = bitcast %struct.quoting_options* %tmp to i8* + %3 = call i8* @memcpy(i8* %1, i8* %2, i64 56) + %call = call i32 @set_char_quoting(%struct.quoting_options* %options, i8 signext 58, i32 1) + %4 = load i32, i32* %n.addr, align 4 + %5 = load i8*, i8** %arg.addr, align 8 + %call1 = call i8* @quotearg_n_options(i32 %4, i8* %5, i64 -1, %struct.quoting_options* %options) + ret i8* %call1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_custom(i32 %n, i8* %left_quote, i8* %right_quote, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %left_quote.addr, align 8 + %2 = load i8*, i8** %right_quote.addr, align 8 + %3 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_custom_mem(i32 %0, i8* %1, i8* %2, i8* %3, i64 -1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_n_custom_mem(i32 %n, i8* %left_quote, i8* %right_quote, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + %o = alloca %struct.quoting_options, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = bitcast %struct.quoting_options* %o to i8* + %1 = call i8* @memcpy(i8* %0, i8* bitcast (%struct.quoting_options* @default_quoting_options to i8*), i64 56) + %2 = load i8*, i8** %left_quote.addr, align 8 + %3 = load i8*, i8** %right_quote.addr, align 8 + call void @set_custom_quoting(%struct.quoting_options* %o, i8* %2, i8* %3) + %4 = load i32, i32* %n.addr, align 4 + %5 = load i8*, i8** %arg.addr, align 8 + %6 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %4, i8* %5, i64 %6, %struct.quoting_options* %o) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_custom(i8* %left_quote, i8* %right_quote, i8* %arg) #3 { +entry: + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %left_quote.addr, align 8 + %1 = load i8*, i8** %right_quote.addr, align 8 + %2 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quotearg_n_custom(i32 0, i8* %0, i8* %1, i8* %2) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quotearg_custom_mem(i8* %left_quote, i8* %right_quote, i8* %arg, i64 %argsize) #3 { +entry: + %left_quote.addr = alloca i8*, align 8 + %right_quote.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %left_quote, i8** %left_quote.addr, align 8 + store i8* %right_quote, i8** %right_quote.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %left_quote.addr, align 8 + %1 = load i8*, i8** %right_quote.addr, align 8 + %2 = load i8*, i8** %arg.addr, align 8 + %3 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_custom_mem(i32 0, i8* %0, i8* %1, i8* %2, i64 %3) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote_n_mem(i32 %n, i8* %arg, i64 %argsize) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %2 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quotearg_n_options(i32 %0, i8* %1, i64 %2, %struct.quoting_options* @quote_quoting_options) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote_mem(i8* %arg, i64 %argsize) #3 { +entry: + %arg.addr = alloca i8*, align 8 + %argsize.addr = alloca i64, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i64 %argsize, i64* %argsize.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %1 = load i64, i64* %argsize.addr, align 8 + %call = call i8* @quote_n_mem(i32 0, i8* %0, i64 %1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote_n(i32 %n, i8* %arg) #3 { +entry: + %n.addr = alloca i32, align 4 + %arg.addr = alloca i8*, align 8 + store i32 %n, i32* %n.addr, align 4 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i32, i32* %n.addr, align 4 + %1 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quote_n_mem(i32 %0, i8* %1, i64 -1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @quote(i8* %arg) #3 { +entry: + %arg.addr = alloca i8*, align 8 + store i8* %arg, i8** %arg.addr, align 8 + %0 = load i8*, i8** %arg.addr, align 8 + %call = call i8* @quote_n(i32 0, i8* %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @version_etc_ar(%struct._IO_FILE* %stream, i8* %command_name, i8* %package, i8* %version, i8** %authors) #3 { +entry: + %stream.addr = alloca %struct._IO_FILE*, align 8 + %command_name.addr = alloca i8*, align 8 + %package.addr = alloca i8*, align 8 + %version.addr = alloca i8*, align 8 + %authors.addr = alloca i8**, align 8 + %n_authors = alloca i64, align 8 + store %struct._IO_FILE* %stream, %struct._IO_FILE** %stream.addr, align 8 + store i8* %command_name, i8** %command_name.addr, align 8 + store i8* %package, i8** %package.addr, align 8 + store i8* %version, i8** %version.addr, align 8 + store i8** %authors, i8*** %authors.addr, align 8 + store i64 0, i64* %n_authors, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %0 = load i8**, i8*** %authors.addr, align 8 + %1 = load i64, i64* %n_authors, align 8 + %arrayidx = getelementptr inbounds i8*, i8** %0, i64 %1 + %2 = load i8*, i8** %arrayidx, align 8 + %tobool = icmp ne i8* %2, null + br i1 %tobool, label %for.inc, label %for.end + +for.inc: ; preds = %for.cond + %3 = load i64, i64* %n_authors, align 8 + %inc = add i64 %3, 1 + store i64 %inc, i64* %n_authors, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %4 = load %struct._IO_FILE*, %struct._IO_FILE** %stream.addr, align 8 + %5 = load i8*, i8** %command_name.addr, align 8 + %6 = load i8*, i8** %package.addr, align 8 + %7 = load i8*, i8** %version.addr, align 8 + %8 = load i8**, i8*** %authors.addr, align 8 + %9 = load i64, i64* %n_authors, align 8 + call void @version_etc_arn(%struct._IO_FILE* %4, i8* %5, i8* %6, i8* %7, i8** %8, i64 %9) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @emit_bug_reporting_address() #3 { +entry: + %0 = load %struct._IO_FILE*, %struct._IO_FILE** bitcast (%struct.__STDIO_FILE_STRUCT.568** @stdout to %struct._IO_FILE**), align 8 + %call = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct._IO_FILE*)*)(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.67, i64 0, i64 0), %struct._IO_FILE* %0) + %call1 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.16.82, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.17.83, i64 0, i64 0)) + %call2 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.18.84, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.19.85, i64 0, i64 0), i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.20.86, i64 0, i64 0)) + %call3 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.21.87, i64 0, i64 0), i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.22.88, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xnmalloc(i64 %n, i64 %s) #3 { +entry: + %n.addr = alloca i64, align 8 + %s.addr = alloca i64, align 8 + store i64 %n, i64* %n.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %div = udiv i64 9223372036854775807, %0 + %1 = load i64, i64* %n.addr, align 8 + %cmp = icmp ult i64 %div, %1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %entry + %2 = load i64, i64* %n.addr, align 8 + %3 = load i64, i64* %s.addr, align 8 + %mul = mul i64 %2, %3 + %call = call noalias i8* @xmalloc(i64 %mul) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @xnrealloc(i8* %p, i64 %n, i64 %s) #3 { +entry: + %p.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %s.addr = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %div = udiv i64 9223372036854775807, %0 + %1 = load i64, i64* %n.addr, align 8 + %cmp = icmp ult i64 %div, %1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %p.addr, align 8 + %3 = load i64, i64* %n.addr, align 8 + %4 = load i64, i64* %s.addr, align 8 + %mul = mul i64 %3, %4 + %call = call i8* @xrealloc(i8* %2, i64 %mul) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @x2nrealloc(i8* %p, i64* %pn, i64 %s) #3 { +entry: + %p.addr = alloca i8*, align 8 + %pn.addr = alloca i64*, align 8 + %s.addr = alloca i64, align 8 + %n = alloca i64, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64* %pn, i64** %pn.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64*, i64** %pn.addr, align 8 + %1 = load i64, i64* %0, align 8 + store i64 %1, i64* %n, align 8 + %2 = load i8*, i8** %p.addr, align 8 + %tobool = icmp ne i8* %2, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + %3 = load i64, i64* %n, align 8 + %tobool1 = icmp ne i64 %3, 0 + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + %4 = load i64, i64* %s.addr, align 8 + %div = udiv i64 128, %4 + store i64 %div, i64* %n, align 8 + %5 = load i64, i64* %n, align 8 + %tobool3 = icmp ne i64 %5, 0 + %lnot = xor i1 %tobool3, true + %lnot.ext = zext i1 %lnot to i32 + %conv = sext i32 %lnot.ext to i64 + %6 = load i64, i64* %n, align 8 + %add = add i64 %6, %conv + store i64 %add, i64* %n, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %7 = load i64, i64* %s.addr, align 8 + %div4 = udiv i64 9223372036854775807, %7 + %8 = load i64, i64* %n, align 8 + %cmp = icmp ult i64 %div4, %8 + br i1 %cmp, label %if.then6, label %if.end16 + +if.then6: ; preds = %if.end + call void @xalloc_die() #24 + unreachable + +if.else: ; preds = %entry + %9 = load i64, i64* %s.addr, align 8 + %div8 = udiv i64 6148914691236517204, %9 + %10 = load i64, i64* %n, align 8 + %cmp9 = icmp ule i64 %div8, %10 + br i1 %cmp9, label %if.then11, label %if.end12 + +if.then11: ; preds = %if.else + call void @xalloc_die() #24 + unreachable + +if.end12: ; preds = %if.else + %11 = load i64, i64* %n, align 8 + %div13 = udiv i64 %11, 2 + %add14 = add i64 %div13, 1 + %12 = load i64, i64* %n, align 8 + %add15 = add i64 %12, %add14 + store i64 %add15, i64* %n, align 8 + br label %if.end16 + +if.end16: ; preds = %if.end, %if.end12 + %13 = load i64, i64* %n, align 8 + %14 = load i64*, i64** %pn.addr, align 8 + store i64 %13, i64* %14, align 8 + %15 = load i8*, i8** %p.addr, align 8 + %16 = load i64, i64* %n, align 8 + %17 = load i64, i64* %s.addr, align 8 + %mul = mul i64 %16, %17 + %call = call i8* @xrealloc(i8* %15, i64 %mul) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @x2realloc(i8* %p, i64* %pn) #3 { +entry: + %p.addr = alloca i8*, align 8 + %pn.addr = alloca i64*, align 8 + store i8* %p, i8** %p.addr, align 8 + store i64* %pn, i64** %pn.addr, align 8 + %0 = load i8*, i8** %p.addr, align 8 + %1 = load i64*, i64** %pn.addr, align 8 + %call = call i8* @x2nrealloc(i8* %0, i64* %1, i64 1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xzalloc(i64 %n) #3 { +entry: + %n.addr = alloca i64, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i64, i64* %n.addr, align 8 + %call = call noalias i8* @xcalloc(i64 %0, i64 1) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xcalloc(i64 %n, i64 %s) #3 { +entry: + %n.addr = alloca i64, align 8 + %s.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i64 %n, i64* %n.addr, align 8 + store i64 %s, i64* %s.addr, align 8 + %0 = load i64, i64* %s.addr, align 8 + %div = udiv i64 9223372036854775807, %0 + %1 = load i64, i64* %n.addr, align 8 + %cmp = icmp ult i64 %div, %1 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load i64, i64* %n.addr, align 8 + %3 = load i64, i64* %s.addr, align 8 + %call = call noalias i8* @calloc(i64 %2, i64 %3) #11 + store i8* %call, i8** %p, align 8 + %tobool = icmp ne i8* %call, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %lor.lhs.false, %entry + call void @xalloc_die() #24 + unreachable + +if.end: ; preds = %lor.lhs.false + %4 = load i8*, i8** %p, align 8 + ret i8* %4 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local noalias i8* @xstrdup(i8* %string) #3 { +entry: + %string.addr = alloca i8*, align 8 + store i8* %string, i8** %string.addr, align 8 + %0 = load i8*, i8** %string.addr, align 8 + %1 = load i8*, i8** %string.addr, align 8 + %call = call i64 @strlen(i8* %1) #23 + %add = add i64 %call, 1 + %call1 = call i8* @xmemdup(i8* %0, i64 %add) + ret i8* %call1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i8* @setlocale_null(i32 %category) #3 { +entry: + %category.addr = alloca i32, align 4 + store i32 %category, i32* %category.addr, align 4 + %0 = load i32, i32* %category.addr, align 4 + %call = call i8* @setlocale_null_androidfix(i32 %0) + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isalnum(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock121 + +NodeBlock121: ; preds = %entry + %case.cmp122 = icmp eq i32 %0, 48 + br i1 %case.cmp122, label %sw.bb, label %NodeBlock119 + +NodeBlock119: ; preds = %NodeBlock121 + %case.cmp120 = icmp eq i32 %0, 49 + br i1 %case.cmp120, label %sw.bb, label %NodeBlock117 + +NodeBlock117: ; preds = %NodeBlock119 + %case.cmp118 = icmp eq i32 %0, 50 + br i1 %case.cmp118, label %sw.bb, label %NodeBlock115 + +NodeBlock115: ; preds = %NodeBlock117 + %case.cmp116 = icmp eq i32 %0, 51 + br i1 %case.cmp116, label %sw.bb, label %NodeBlock113 + +NodeBlock113: ; preds = %NodeBlock115 + %case.cmp114 = icmp eq i32 %0, 52 + br i1 %case.cmp114, label %sw.bb, label %NodeBlock111 + +NodeBlock111: ; preds = %NodeBlock113 + %case.cmp112 = icmp eq i32 %0, 53 + br i1 %case.cmp112, label %sw.bb, label %NodeBlock109 + +NodeBlock109: ; preds = %NodeBlock111 + %case.cmp110 = icmp eq i32 %0, 54 + br i1 %case.cmp110, label %sw.bb, label %NodeBlock107 + +NodeBlock107: ; preds = %NodeBlock109 + %case.cmp108 = icmp eq i32 %0, 55 + br i1 %case.cmp108, label %sw.bb, label %NodeBlock105 + +NodeBlock105: ; preds = %NodeBlock107 + %case.cmp106 = icmp eq i32 %0, 56 + br i1 %case.cmp106, label %sw.bb, label %NodeBlock103 + +NodeBlock103: ; preds = %NodeBlock105 + %case.cmp104 = icmp eq i32 %0, 57 + br i1 %case.cmp104, label %sw.bb, label %NodeBlock101 + +NodeBlock101: ; preds = %NodeBlock103 + %case.cmp102 = icmp eq i32 %0, 97 + br i1 %case.cmp102, label %sw.bb, label %NodeBlock99 + +NodeBlock99: ; preds = %NodeBlock101 + %case.cmp100 = icmp eq i32 %0, 98 + br i1 %case.cmp100, label %sw.bb, label %NodeBlock97 + +NodeBlock97: ; preds = %NodeBlock99 + %case.cmp98 = icmp eq i32 %0, 99 + br i1 %case.cmp98, label %sw.bb, label %NodeBlock95 + +NodeBlock95: ; preds = %NodeBlock97 + %case.cmp96 = icmp eq i32 %0, 100 + br i1 %case.cmp96, label %sw.bb, label %NodeBlock93 + +NodeBlock93: ; preds = %NodeBlock95 + %case.cmp94 = icmp eq i32 %0, 101 + br i1 %case.cmp94, label %sw.bb, label %NodeBlock91 + +NodeBlock91: ; preds = %NodeBlock93 + %case.cmp92 = icmp eq i32 %0, 102 + br i1 %case.cmp92, label %sw.bb, label %NodeBlock89 + +NodeBlock89: ; preds = %NodeBlock91 + %case.cmp90 = icmp eq i32 %0, 103 + br i1 %case.cmp90, label %sw.bb, label %NodeBlock87 + +NodeBlock87: ; preds = %NodeBlock89 + %case.cmp88 = icmp eq i32 %0, 104 + br i1 %case.cmp88, label %sw.bb, label %NodeBlock85 + +NodeBlock85: ; preds = %NodeBlock87 + %case.cmp86 = icmp eq i32 %0, 105 + br i1 %case.cmp86, label %sw.bb, label %NodeBlock83 + +NodeBlock83: ; preds = %NodeBlock85 + %case.cmp84 = icmp eq i32 %0, 106 + br i1 %case.cmp84, label %sw.bb, label %NodeBlock81 + +NodeBlock81: ; preds = %NodeBlock83 + %case.cmp82 = icmp eq i32 %0, 107 + br i1 %case.cmp82, label %sw.bb, label %NodeBlock79 + +NodeBlock79: ; preds = %NodeBlock81 + %case.cmp80 = icmp eq i32 %0, 108 + br i1 %case.cmp80, label %sw.bb, label %NodeBlock77 + +NodeBlock77: ; preds = %NodeBlock79 + %case.cmp78 = icmp eq i32 %0, 109 + br i1 %case.cmp78, label %sw.bb, label %NodeBlock75 + +NodeBlock75: ; preds = %NodeBlock77 + %case.cmp76 = icmp eq i32 %0, 110 + br i1 %case.cmp76, label %sw.bb, label %NodeBlock73 + +NodeBlock73: ; preds = %NodeBlock75 + %case.cmp74 = icmp eq i32 %0, 111 + br i1 %case.cmp74, label %sw.bb, label %NodeBlock71 + +NodeBlock71: ; preds = %NodeBlock73 + %case.cmp72 = icmp eq i32 %0, 112 + br i1 %case.cmp72, label %sw.bb, label %NodeBlock69 + +NodeBlock69: ; preds = %NodeBlock71 + %case.cmp70 = icmp eq i32 %0, 113 + br i1 %case.cmp70, label %sw.bb, label %NodeBlock67 + +NodeBlock67: ; preds = %NodeBlock69 + %case.cmp68 = icmp eq i32 %0, 114 + br i1 %case.cmp68, label %sw.bb, label %NodeBlock65 + +NodeBlock65: ; preds = %NodeBlock67 + %case.cmp66 = icmp eq i32 %0, 115 + br i1 %case.cmp66, label %sw.bb, label %NodeBlock63 + +NodeBlock63: ; preds = %NodeBlock65 + %case.cmp64 = icmp eq i32 %0, 116 + br i1 %case.cmp64, label %sw.bb, label %NodeBlock61 + +NodeBlock61: ; preds = %NodeBlock63 + %case.cmp62 = icmp eq i32 %0, 117 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 118 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 119 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 120 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 121 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 122 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 65 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 66 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 67 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 68 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 69 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 70 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 71 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 72 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 73 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 74 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 75 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 76 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 77 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 78 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 79 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 80 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 81 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 82 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 83 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 84 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 85 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 86 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 87 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 88 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 89 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 90 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock121, %NodeBlock119, %NodeBlock117, %NodeBlock115, %NodeBlock113, %NodeBlock111, %NodeBlock109, %NodeBlock107, %NodeBlock105, %NodeBlock103, %NodeBlock101, %NodeBlock99, %NodeBlock97, %NodeBlock95, %NodeBlock93, %NodeBlock91, %NodeBlock89, %NodeBlock87, %NodeBlock85, %NodeBlock83, %NodeBlock81, %NodeBlock79, %NodeBlock77, %NodeBlock75, %NodeBlock73, %NodeBlock71, %NodeBlock69, %NodeBlock67, %NodeBlock65, %NodeBlock63, %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isalpha(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock101 + +NodeBlock101: ; preds = %entry + %case.cmp102 = icmp eq i32 %0, 97 + br i1 %case.cmp102, label %sw.bb, label %NodeBlock99 + +NodeBlock99: ; preds = %NodeBlock101 + %case.cmp100 = icmp eq i32 %0, 98 + br i1 %case.cmp100, label %sw.bb, label %NodeBlock97 + +NodeBlock97: ; preds = %NodeBlock99 + %case.cmp98 = icmp eq i32 %0, 99 + br i1 %case.cmp98, label %sw.bb, label %NodeBlock95 + +NodeBlock95: ; preds = %NodeBlock97 + %case.cmp96 = icmp eq i32 %0, 100 + br i1 %case.cmp96, label %sw.bb, label %NodeBlock93 + +NodeBlock93: ; preds = %NodeBlock95 + %case.cmp94 = icmp eq i32 %0, 101 + br i1 %case.cmp94, label %sw.bb, label %NodeBlock91 + +NodeBlock91: ; preds = %NodeBlock93 + %case.cmp92 = icmp eq i32 %0, 102 + br i1 %case.cmp92, label %sw.bb, label %NodeBlock89 + +NodeBlock89: ; preds = %NodeBlock91 + %case.cmp90 = icmp eq i32 %0, 103 + br i1 %case.cmp90, label %sw.bb, label %NodeBlock87 + +NodeBlock87: ; preds = %NodeBlock89 + %case.cmp88 = icmp eq i32 %0, 104 + br i1 %case.cmp88, label %sw.bb, label %NodeBlock85 + +NodeBlock85: ; preds = %NodeBlock87 + %case.cmp86 = icmp eq i32 %0, 105 + br i1 %case.cmp86, label %sw.bb, label %NodeBlock83 + +NodeBlock83: ; preds = %NodeBlock85 + %case.cmp84 = icmp eq i32 %0, 106 + br i1 %case.cmp84, label %sw.bb, label %NodeBlock81 + +NodeBlock81: ; preds = %NodeBlock83 + %case.cmp82 = icmp eq i32 %0, 107 + br i1 %case.cmp82, label %sw.bb, label %NodeBlock79 + +NodeBlock79: ; preds = %NodeBlock81 + %case.cmp80 = icmp eq i32 %0, 108 + br i1 %case.cmp80, label %sw.bb, label %NodeBlock77 + +NodeBlock77: ; preds = %NodeBlock79 + %case.cmp78 = icmp eq i32 %0, 109 + br i1 %case.cmp78, label %sw.bb, label %NodeBlock75 + +NodeBlock75: ; preds = %NodeBlock77 + %case.cmp76 = icmp eq i32 %0, 110 + br i1 %case.cmp76, label %sw.bb, label %NodeBlock73 + +NodeBlock73: ; preds = %NodeBlock75 + %case.cmp74 = icmp eq i32 %0, 111 + br i1 %case.cmp74, label %sw.bb, label %NodeBlock71 + +NodeBlock71: ; preds = %NodeBlock73 + %case.cmp72 = icmp eq i32 %0, 112 + br i1 %case.cmp72, label %sw.bb, label %NodeBlock69 + +NodeBlock69: ; preds = %NodeBlock71 + %case.cmp70 = icmp eq i32 %0, 113 + br i1 %case.cmp70, label %sw.bb, label %NodeBlock67 + +NodeBlock67: ; preds = %NodeBlock69 + %case.cmp68 = icmp eq i32 %0, 114 + br i1 %case.cmp68, label %sw.bb, label %NodeBlock65 + +NodeBlock65: ; preds = %NodeBlock67 + %case.cmp66 = icmp eq i32 %0, 115 + br i1 %case.cmp66, label %sw.bb, label %NodeBlock63 + +NodeBlock63: ; preds = %NodeBlock65 + %case.cmp64 = icmp eq i32 %0, 116 + br i1 %case.cmp64, label %sw.bb, label %NodeBlock61 + +NodeBlock61: ; preds = %NodeBlock63 + %case.cmp62 = icmp eq i32 %0, 117 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 118 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 119 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 120 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 121 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 122 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 65 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 66 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 67 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 68 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 69 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 70 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 71 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 72 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 73 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 74 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 75 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 76 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 77 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 78 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 79 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 80 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 81 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 82 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 83 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 84 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 85 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 86 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 87 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 88 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 89 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 90 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock101, %NodeBlock99, %NodeBlock97, %NodeBlock95, %NodeBlock93, %NodeBlock91, %NodeBlock89, %NodeBlock87, %NodeBlock85, %NodeBlock83, %NodeBlock81, %NodeBlock79, %NodeBlock77, %NodeBlock75, %NodeBlock73, %NodeBlock71, %NodeBlock69, %NodeBlock67, %NodeBlock65, %NodeBlock63, %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isascii(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %switch = icmp ult i32 %0, 128 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isblank(i32 %c) #3 { +entry: + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %cmp = icmp eq i32 %0, 32 + %1 = load i32, i32* %c.addr, align 4 + %cmp1 = icmp eq i32 %1, 9 + %2 = select i1 %cmp, i1 true, i1 %cmp1 + ret i1 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_iscntrl(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock63 + +NodeBlock63: ; preds = %entry + %case.cmp64 = icmp eq i32 %0, 7 + br i1 %case.cmp64, label %sw.bb, label %NodeBlock61 + +NodeBlock61: ; preds = %NodeBlock63 + %case.cmp62 = icmp eq i32 %0, 8 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 12 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 10 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 13 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 9 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 11 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 0 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 1 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 2 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 3 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 4 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 5 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 6 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 14 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 15 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 16 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 17 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 18 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 19 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 20 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 21 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 22 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 23 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 24 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 25 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 26 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 27 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 28 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 29 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 30 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 31 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 127 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock63, %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isdigit(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -48 + %switch = icmp ult i32 %.off, 10 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isgraph(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -33 + %switch = icmp ult i32 %.off, 94 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_islower(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -97 + %switch = icmp ult i32 %.off, 26 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isprint(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -32 + %switch = icmp ult i32 %.off, 95 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_ispunct(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock61 + +NodeBlock61: ; preds = %entry + %case.cmp62 = icmp eq i32 %0, 33 + br i1 %case.cmp62, label %sw.bb, label %NodeBlock59 + +NodeBlock59: ; preds = %NodeBlock61 + %case.cmp60 = icmp eq i32 %0, 34 + br i1 %case.cmp60, label %sw.bb, label %NodeBlock57 + +NodeBlock57: ; preds = %NodeBlock59 + %case.cmp58 = icmp eq i32 %0, 35 + br i1 %case.cmp58, label %sw.bb, label %NodeBlock55 + +NodeBlock55: ; preds = %NodeBlock57 + %case.cmp56 = icmp eq i32 %0, 36 + br i1 %case.cmp56, label %sw.bb, label %NodeBlock53 + +NodeBlock53: ; preds = %NodeBlock55 + %case.cmp54 = icmp eq i32 %0, 37 + br i1 %case.cmp54, label %sw.bb, label %NodeBlock51 + +NodeBlock51: ; preds = %NodeBlock53 + %case.cmp52 = icmp eq i32 %0, 38 + br i1 %case.cmp52, label %sw.bb, label %NodeBlock49 + +NodeBlock49: ; preds = %NodeBlock51 + %case.cmp50 = icmp eq i32 %0, 39 + br i1 %case.cmp50, label %sw.bb, label %NodeBlock47 + +NodeBlock47: ; preds = %NodeBlock49 + %case.cmp48 = icmp eq i32 %0, 40 + br i1 %case.cmp48, label %sw.bb, label %NodeBlock45 + +NodeBlock45: ; preds = %NodeBlock47 + %case.cmp46 = icmp eq i32 %0, 41 + br i1 %case.cmp46, label %sw.bb, label %NodeBlock43 + +NodeBlock43: ; preds = %NodeBlock45 + %case.cmp44 = icmp eq i32 %0, 42 + br i1 %case.cmp44, label %sw.bb, label %NodeBlock41 + +NodeBlock41: ; preds = %NodeBlock43 + %case.cmp42 = icmp eq i32 %0, 43 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 44 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 45 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 46 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 47 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 58 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 59 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 60 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 61 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 62 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 63 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 64 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 91 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 92 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 93 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 94 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 95 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 96 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 123 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 124 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 125 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 126 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock61, %NodeBlock59, %NodeBlock57, %NodeBlock55, %NodeBlock53, %NodeBlock51, %NodeBlock49, %NodeBlock47, %NodeBlock45, %NodeBlock43, %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isspace(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock9 + +NodeBlock9: ; preds = %entry + %case.cmp10 = icmp eq i32 %0, 32 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 9 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 10 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 11 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 12 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 13 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isupper(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -65 + %switch = icmp ult i32 %.off, 26 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + store i1 true, i1* %retval, align 1 + br label %return + +sw.default: ; preds = %entry + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local zeroext i1 @c_isxdigit(i32 %c) #3 { +entry: + %retval = alloca i1, align 1 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + br label %NodeBlock41 + +NodeBlock41: ; preds = %entry + %case.cmp42 = icmp eq i32 %0, 48 + br i1 %case.cmp42, label %sw.bb, label %NodeBlock39 + +NodeBlock39: ; preds = %NodeBlock41 + %case.cmp40 = icmp eq i32 %0, 49 + br i1 %case.cmp40, label %sw.bb, label %NodeBlock37 + +NodeBlock37: ; preds = %NodeBlock39 + %case.cmp38 = icmp eq i32 %0, 50 + br i1 %case.cmp38, label %sw.bb, label %NodeBlock35 + +NodeBlock35: ; preds = %NodeBlock37 + %case.cmp36 = icmp eq i32 %0, 51 + br i1 %case.cmp36, label %sw.bb, label %NodeBlock33 + +NodeBlock33: ; preds = %NodeBlock35 + %case.cmp34 = icmp eq i32 %0, 52 + br i1 %case.cmp34, label %sw.bb, label %NodeBlock31 + +NodeBlock31: ; preds = %NodeBlock33 + %case.cmp32 = icmp eq i32 %0, 53 + br i1 %case.cmp32, label %sw.bb, label %NodeBlock29 + +NodeBlock29: ; preds = %NodeBlock31 + %case.cmp30 = icmp eq i32 %0, 54 + br i1 %case.cmp30, label %sw.bb, label %NodeBlock27 + +NodeBlock27: ; preds = %NodeBlock29 + %case.cmp28 = icmp eq i32 %0, 55 + br i1 %case.cmp28, label %sw.bb, label %NodeBlock25 + +NodeBlock25: ; preds = %NodeBlock27 + %case.cmp26 = icmp eq i32 %0, 56 + br i1 %case.cmp26, label %sw.bb, label %NodeBlock23 + +NodeBlock23: ; preds = %NodeBlock25 + %case.cmp24 = icmp eq i32 %0, 57 + br i1 %case.cmp24, label %sw.bb, label %NodeBlock21 + +NodeBlock21: ; preds = %NodeBlock23 + %case.cmp22 = icmp eq i32 %0, 97 + br i1 %case.cmp22, label %sw.bb, label %NodeBlock19 + +NodeBlock19: ; preds = %NodeBlock21 + %case.cmp20 = icmp eq i32 %0, 98 + br i1 %case.cmp20, label %sw.bb, label %NodeBlock17 + +NodeBlock17: ; preds = %NodeBlock19 + %case.cmp18 = icmp eq i32 %0, 99 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %0, 100 + br i1 %case.cmp16, label %sw.bb, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %0, 101 + br i1 %case.cmp14, label %sw.bb, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %0, 102 + br i1 %case.cmp12, label %sw.bb, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %0, 65 + br i1 %case.cmp10, label %sw.bb, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %0, 66 + br i1 %case.cmp8, label %sw.bb, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %0, 67 + br i1 %case.cmp6, label %sw.bb, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %0, 68 + br i1 %case.cmp4, label %sw.bb, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %0, 69 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %0, 70 + br i1 %case.cmp, label %sw.bb, label %newDefault + +sw.bb: ; preds = %NodeBlock41, %NodeBlock39, %NodeBlock37, %NodeBlock35, %NodeBlock33, %NodeBlock31, %NodeBlock29, %NodeBlock27, %NodeBlock25, %NodeBlock23, %NodeBlock21, %NodeBlock19, %NodeBlock17, %NodeBlock15, %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7, %NodeBlock5, %NodeBlock3, %NodeBlock1, %NodeBlock + store i1 true, i1* %retval, align 1 + br label %return + +newDefault: ; preds = %NodeBlock + br label %sw.default + +sw.default: ; preds = %newDefault + store i1 false, i1* %retval, align 1 + br label %return + +return: ; preds = %sw.default, %sw.bb + %1 = load i1, i1* %retval, align 1 + ret i1 %1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @c_toupper(i32 %c) #3 { +entry: + %retval = alloca i32, align 4 + %c.addr = alloca i32, align 4 + store i32 %c, i32* %c.addr, align 4 + %0 = load i32, i32* %c.addr, align 4 + %.off = add i32 %0, -97 + %switch = icmp ult i32 %.off, 26 + %1 = load i32, i32* %c.addr, align 4 + br i1 %switch, label %sw.bb, label %sw.default + +sw.bb: ; preds = %entry + %sub = sub nsw i32 %1, 97 + %add = add nsw i32 %sub, 65 + store i32 %add, i32* %retval, align 4 + br label %return + +sw.default: ; preds = %entry + store i32 %1, i32* %retval, align 4 + br label %return + +return: ; preds = %sw.default, %sw.bb + %2 = load i32, i32* %retval, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local void @klee_init_fds(i32 %n_files, i32 %file_length, i32 %stdin_length, i32 %sym_stdout_flag, i32 %save_all_writes_flag, i32 %max_failures) #3 { +entry: + %n_files.addr = alloca i32, align 4 + %file_length.addr = alloca i32, align 4 + %stdin_length.addr = alloca i32, align 4 + %sym_stdout_flag.addr = alloca i32, align 4 + %save_all_writes_flag.addr = alloca i32, align 4 + %max_failures.addr = alloca i32, align 4 + %k = alloca i32, align 4 + %name = alloca [7 x i8], align 1 + %s = alloca %struct.stat64, align 8 + store i32 %n_files, i32* %n_files.addr, align 4 + store i32 %file_length, i32* %file_length.addr, align 4 + store i32 %stdin_length, i32* %stdin_length.addr, align 4 + store i32 %sym_stdout_flag, i32* %sym_stdout_flag.addr, align 4 + store i32 %save_all_writes_flag, i32* %save_all_writes_flag.addr, align 4 + store i32 %max_failures, i32* %max_failures.addr, align 4 + %0 = bitcast [7 x i8]* %name to i8* + %1 = call i8* @memcpy(i8* %0, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @__const.klee_init_fds.name, i32 0, i32 0), i64 7) + %call = call i32 @stat64(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.133, i64 0, i64 0), %struct.stat64* %s) #11 + %2 = load i32, i32* %n_files.addr, align 4 + store i32 %2, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 0), align 8 + %3 = load i32, i32* %n_files.addr, align 4 + %conv = zext i32 %3 to i64 + %mul = mul i64 24, %conv + %call1 = call noalias i8* @malloc(i64 %mul) #11 + %4 = bitcast i8* %call1 to %struct.exe_disk_file_t* + store %struct.exe_disk_file_t* %4, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %5 = load i32, i32* %n_files.addr, align 4 + %tobool = icmp eq i32 %5, 0 + %6 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %tobool2 = icmp ne %struct.exe_disk_file_t* %6, null + %or.cond = or i1 %tobool, %tobool2 + br i1 %or.cond, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @gs_report_error.137(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.134, i64 0, i64 0), i32 124, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.135, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.136, i64 0, i64 0)) #24 + unreachable + +if.end: ; preds = %entry + store i32 0, i32* %k, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %7 = load i32, i32* %k, align 4 + %8 = load i32, i32* %n_files.addr, align 4 + %cmp = icmp ult i32 %7, %8 + br i1 %cmp, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %9 = load i32, i32* %k, align 4 + %add = add i32 65, %9 + %conv4 = trunc i32 %add to i8 + %arrayidx = getelementptr inbounds [7 x i8], [7 x i8]* %name, i64 0, i64 0 + store i8 %conv4, i8* %arrayidx, align 1 + %10 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 4), align 8 + %11 = load i32, i32* %k, align 4 + %idxprom = zext i32 %11 to i64 + %arrayidx5 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %10, i64 %idxprom + %12 = load i32, i32* %file_length.addr, align 4 + %arraydecay = getelementptr inbounds [7 x i8], [7 x i8]* %name, i64 0, i64 0 + call void @__create_new_dfile(%struct.exe_disk_file_t* %arrayidx5, i32 %12, i8* %arraydecay, %struct.stat64* %s) + %13 = load i32, i32* %k, align 4 + %inc = add i32 %13, 1 + store i32 %inc, i32* %k, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + %14 = load i32, i32* %stdin_length.addr, align 4 + %tobool6 = icmp ne i32 %14, 0 + br i1 %tobool6, label %if.then7, label %if.else + +if.then7: ; preds = %for.end + %call8 = call noalias i8* @malloc(i64 24) #11 + %15 = bitcast i8* %call8 to %struct.exe_disk_file_t* + store %struct.exe_disk_file_t* %15, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + %16 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + %tobool9 = icmp ne %struct.exe_disk_file_t* %16, null + br i1 %tobool9, label %if.end11, label %if.then10 + +if.then10: ; preds = %if.then7 + call void @gs_report_error.137(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.134, i64 0, i64 0), i32 135, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.135, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.136, i64 0, i64 0)) #24 + unreachable + +if.end11: ; preds = %if.then7 + %17 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + %18 = load i32, i32* %stdin_length.addr, align 4 + call void @__create_new_dfile(%struct.exe_disk_file_t* %17, i32 %18, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.4.138, i64 0, i64 0), %struct.stat64* %s) + %19 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + store %struct.exe_disk_file_t* %19, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0, i64 0, i32 3), align 8 + br label %if.end12 + +if.else: ; preds = %for.end + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 1), align 8 + br label %if.end12 + +if.end12: ; preds = %if.else, %if.end11 + %20 = load i32, i32* %max_failures.addr, align 4 + store i32 %20, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %21 = load i32, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 5), align 8 + %tobool13 = icmp ne i32 %21, 0 + br i1 %tobool13, label %if.then14, label %if.end31 + +if.then14: ; preds = %if.end12 + %call15 = call noalias i8* @malloc(i64 4) #11 + %22 = bitcast i8* %call15 to i32* + store i32* %22, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %call16 = call noalias i8* @malloc(i64 4) #11 + %23 = bitcast i8* %call16 to i32* + store i32* %23, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %call17 = call noalias i8* @malloc(i64 4) #11 + %24 = bitcast i8* %call17 to i32* + store i32* %24, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %call18 = call noalias i8* @malloc(i64 4) #11 + %25 = bitcast i8* %call18 to i32* + store i32* %25, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %call19 = call noalias i8* @malloc(i64 4) #11 + %26 = bitcast i8* %call19 to i32* + store i32* %26, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %27 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %tobool20 = icmp ne i32* %27, null + %28 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %tobool22 = icmp ne i32* %28, null + %or.cond1 = and i1 %tobool20, %tobool22 + %29 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %tobool24 = icmp ne i32* %29, null + %or.cond2 = and i1 %or.cond1, %tobool24 + %30 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %tobool26 = icmp ne i32* %30, null + %or.cond3 = and i1 %or.cond2, %tobool26 + %31 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %tobool28 = icmp ne i32* %31, null + %or.cond4 = and i1 %or.cond3, %tobool28 + br i1 %or.cond4, label %if.end30, label %if.then29 + +if.then29: ; preds = %if.then14 + call void @gs_report_error.137(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.134, i64 0, i64 0), i32 150, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.135, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.136, i64 0, i64 0)) #24 + unreachable + +if.end30: ; preds = %if.then14 + %32 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 6), align 8 + %33 = bitcast i32* %32 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %33, i64 4, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.5.139, i64 0, i64 0)) + %34 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 7), align 8 + %35 = bitcast i32* %34 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %35, i64 4, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.6.140, i64 0, i64 0)) + %36 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 8), align 8 + %37 = bitcast i32* %36 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %37, i64 4, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.7.141, i64 0, i64 0)) + %38 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 9), align 8 + %39 = bitcast i32* %38 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %39, i64 4, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.8.142, i64 0, i64 0)) + %40 = load i32*, i32** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 10), align 8 + %41 = bitcast i32* %40 to i8* + call void (i8*, i64, ...) @make_symbolic(i8* %41, i64 4, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.9.143, i64 0, i64 0)) + br label %if.end31 + +if.end31: ; preds = %if.end30, %if.end12 + %42 = load i32, i32* %sym_stdout_flag.addr, align 4 + %tobool32 = icmp ne i32 %42, 0 + br i1 %tobool32, label %if.then33, label %if.else38 + +if.then33: ; preds = %if.end31 + %call34 = call noalias i8* @malloc(i64 24) #11 + %43 = bitcast i8* %call34 to %struct.exe_disk_file_t* + store %struct.exe_disk_file_t* %43, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + %44 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + %tobool35 = icmp ne %struct.exe_disk_file_t* %44, null + br i1 %tobool35, label %if.end37, label %if.then36 + +if.then36: ; preds = %if.then33 + call void @gs_report_error.137(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.134, i64 0, i64 0), i32 163, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.135, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.136, i64 0, i64 0)) #24 + unreachable + +if.end37: ; preds = %if.then33 + %45 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + call void @__create_new_dfile(%struct.exe_disk_file_t* %45, i32 1024, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.10.144, i64 0, i64 0), %struct.stat64* %s) + %46 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + store %struct.exe_disk_file_t* %46, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 0, i64 1, i32 3), align 8 + store i32 0, i32* getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 3), align 8 + br label %if.end39 + +if.else38: ; preds = %if.end31 + store %struct.exe_disk_file_t* null, %struct.exe_disk_file_t** getelementptr inbounds (%struct.exe_file_system_t, %struct.exe_file_system_t* @__exe_fs, i32 0, i32 2), align 8 + br label %if.end39 + +if.end39: ; preds = %if.else38, %if.end37 + %47 = load i32, i32* %save_all_writes_flag.addr, align 4 + store i32 %47, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 3), align 8 + %call40 = call i32 @__sym_uint32(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.11.145, i64 0, i64 0)) + store i32 %call40, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 2), align 4 + %48 = load i32, i32* getelementptr inbounds (%struct.exe_sym_env_t, %struct.exe_sym_env_t* bitcast ({ <{ %struct.exe_file_t, %struct.exe_file_t, %struct.exe_file_t, [29 x %struct.exe_file_t] }>, i32, i32, i32, [4 x i8] }* @__exe_env to %struct.exe_sym_env_t*), i32 0, i32 2), align 4 + %cmp41 = icmp eq i32 %48, 1 + call void @gs_assume(i1 zeroext %cmp41) + ret void +} + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error.137(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.12.148, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__create_new_dfile(%struct.exe_disk_file_t* %dfile, i32 %size, i8* %name, %struct.stat64* %defaults) #3 { +entry: + %dfile.addr = alloca %struct.exe_disk_file_t*, align 8 + %size.addr = alloca i32, align 4 + %name.addr = alloca i8*, align 8 + %defaults.addr = alloca %struct.stat64*, align 8 + %s = alloca %struct.stat64*, align 8 + %sp = alloca i8*, align 8 + %sname = alloca [64 x i8], align 16 + store %struct.exe_disk_file_t* %dfile, %struct.exe_disk_file_t** %dfile.addr, align 8 + store i32 %size, i32* %size.addr, align 4 + store i8* %name, i8** %name.addr, align 8 + store %struct.stat64* %defaults, %struct.stat64** %defaults.addr, align 8 + %call = call noalias i8* @malloc(i64 144) #11 + %0 = bitcast i8* %call to %struct.stat64* + store %struct.stat64* %0, %struct.stat64** %s, align 8 + %1 = load %struct.stat64*, %struct.stat64** %s, align 8 + %tobool = icmp ne %struct.stat64* %1, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + call void @gs_report_error.137(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.134, i64 0, i64 0), i32 47, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.135, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.136, i64 0, i64 0)) #24 + unreachable + +if.end: ; preds = %entry + %2 = load i8*, i8** %name.addr, align 8 + store i8* %2, i8** %sp, align 8 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %3 = load i8*, i8** %sp, align 8 + %4 = load i8, i8* %3, align 1 + %tobool1 = icmp ne i8 %4, 0 + %5 = load i8*, i8** %sp, align 8 + br i1 %tobool1, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %6 = load i8, i8* %5, align 1 + %7 = load i8*, i8** %sp, align 8 + %8 = load i8*, i8** %name.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %8 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %arrayidx = getelementptr inbounds [64 x i8], [64 x i8]* %sname, i64 0, i64 %sub.ptr.sub + store i8 %6, i8* %arrayidx, align 1 + %9 = load i8*, i8** %sp, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %sp, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %10 = load i8*, i8** %name.addr, align 8 + %sub.ptr.lhs.cast2 = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast3 = ptrtoint i8* %10 to i64 + %sub.ptr.sub4 = sub i64 %sub.ptr.lhs.cast2, %sub.ptr.rhs.cast3 + %arrayidx5 = getelementptr inbounds [64 x i8], [64 x i8]* %sname, i64 0, i64 %sub.ptr.sub4 + %11 = call i8* @memcpy(i8* %arrayidx5, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.13.146, i64 0, i64 0), i64 6) + %12 = load i32, i32* %size.addr, align 4 + %tobool6 = icmp ne i32 %12, 0 + br i1 %tobool6, label %if.end8, label %if.else + +if.else: ; preds = %for.end + call void @__assert_fail(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.14.147, i64 0, i64 0), i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.134, i64 0, i64 0), i32 55, i8* getelementptr inbounds ([88 x i8], [88 x i8]* @__PRETTY_FUNCTION__.__create_new_dfile, i64 0, i64 0)) #26 + unreachable + +if.end8: ; preds = %for.end + %13 = load i32, i32* %size.addr, align 4 + %14 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size9 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %14, i32 0, i32 0 + store i32 %13, i32* %size9, align 8 + %15 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size10 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %15, i32 0, i32 0 + %16 = load i32, i32* %size10, align 8 + %conv = zext i32 %16 to i64 + %call11 = call noalias i8* @malloc(i64 %conv) #11 + %17 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %contents = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %17, i32 0, i32 1 + store i8* %call11, i8** %contents, align 8 + %18 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %contents12 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %18, i32 0, i32 1 + %19 = load i8*, i8** %contents12, align 8 + %tobool13 = icmp ne i8* %19, null + br i1 %tobool13, label %if.end15, label %if.then14 + +if.then14: ; preds = %if.end8 + call void @gs_report_error.137(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.1.134, i64 0, i64 0), i32 60, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.2.135, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3.136, i64 0, i64 0)) #24 + unreachable + +if.end15: ; preds = %if.end8 + %20 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %contents16 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %20, i32 0, i32 1 + %21 = load i8*, i8** %contents16, align 8 + %22 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size17 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %22, i32 0, i32 0 + %23 = load i32, i32* %size17, align 8 + %conv18 = zext i32 %23 to i64 + %24 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %21, i64 %conv18, i8* %24) + %25 = load %struct.stat64*, %struct.stat64** %s, align 8 + %26 = bitcast %struct.stat64* %25 to i8* + %arraydecay = getelementptr inbounds [64 x i8], [64 x i8]* %sname, i64 0, i64 0 + call void (i8*, i64, ...) @make_symbolic(i8* %26, i64 144, i8* %arraydecay) + %27 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino = getelementptr inbounds %struct.stat64, %struct.stat64* %27, i32 0, i32 1 + %28 = load i64, i64* %st_ino, align 8 + %call19 = call i32 @gs_is_symbolic(i64 %28) + %tobool20 = icmp ne i32 %call19, 0 + br i1 %tobool20, label %if.end26, label %land.lhs.true + +land.lhs.true: ; preds = %if.end15 + %29 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino21 = getelementptr inbounds %struct.stat64, %struct.stat64* %29, i32 0, i32 1 + %30 = load i64, i64* %st_ino21, align 8 + %and = and i64 %30, 2147483647 + %cmp = icmp eq i64 %and, 0 + br i1 %cmp, label %if.then23, label %if.end26 + +if.then23: ; preds = %land.lhs.true + %31 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_ino24 = getelementptr inbounds %struct.stat64, %struct.stat64* %31, i32 0, i32 1 + %32 = load i64, i64* %st_ino24, align 8 + %33 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino25 = getelementptr inbounds %struct.stat64, %struct.stat64* %33, i32 0, i32 1 + store i64 %32, i64* %st_ino25, align 8 + br label %if.end26 + +if.end26: ; preds = %if.then23, %land.lhs.true, %if.end15 + %34 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ino27 = getelementptr inbounds %struct.stat64, %struct.stat64* %34, i32 0, i32 1 + %35 = load i64, i64* %st_ino27, align 8 + %and28 = and i64 %35, 2147483647 + %cmp29 = icmp ne i64 %and28, 0 + call void @gs_assume(i1 zeroext %cmp29) + %36 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_blksize = getelementptr inbounds %struct.stat64, %struct.stat64* %36, i32 0, i32 9 + %37 = load i64, i64* %st_blksize, align 8 + %and31 = and i64 %37, -65536 + %cmp32 = icmp eq i64 %and31, 0 + call void @gs_assume(i1 zeroext %cmp32) + %38 = load %struct.stat64*, %struct.stat64** %s, align 8 + %39 = bitcast %struct.stat64* %38 to i8* + %40 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode = getelementptr inbounds %struct.stat64, %struct.stat64* %40, i32 0, i32 3 + %41 = load i32, i32* %st_mode, align 8 + %and34 = and i32 %41, -61952 + %tobool35 = icmp ne i32 %and34, 0 + %lnot = xor i1 %tobool35, true + call void @gs_prefer_cex(i8* %39, i1 zeroext %lnot) + %42 = load %struct.stat64*, %struct.stat64** %s, align 8 + %43 = bitcast %struct.stat64* %42 to i8* + %44 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_dev = getelementptr inbounds %struct.stat64, %struct.stat64* %44, i32 0, i32 0 + %45 = load i64, i64* %st_dev, align 8 + %46 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_dev36 = getelementptr inbounds %struct.stat64, %struct.stat64* %46, i32 0, i32 0 + %47 = load i64, i64* %st_dev36, align 8 + %cmp37 = icmp eq i64 %45, %47 + call void @gs_prefer_cex(i8* %43, i1 zeroext %cmp37) + %48 = load %struct.stat64*, %struct.stat64** %s, align 8 + %49 = bitcast %struct.stat64* %48 to i8* + %50 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_rdev = getelementptr inbounds %struct.stat64, %struct.stat64* %50, i32 0, i32 7 + %51 = load i64, i64* %st_rdev, align 8 + %52 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_rdev39 = getelementptr inbounds %struct.stat64, %struct.stat64* %52, i32 0, i32 7 + %53 = load i64, i64* %st_rdev39, align 8 + %cmp40 = icmp eq i64 %51, %53 + call void @gs_prefer_cex(i8* %49, i1 zeroext %cmp40) + %54 = load %struct.stat64*, %struct.stat64** %s, align 8 + %55 = bitcast %struct.stat64* %54 to i8* + %56 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode42 = getelementptr inbounds %struct.stat64, %struct.stat64* %56, i32 0, i32 3 + %57 = load i32, i32* %st_mode42, align 8 + %and43 = and i32 %57, 448 + %cmp44 = icmp eq i32 %and43, 384 + call void @gs_prefer_cex(i8* %55, i1 zeroext %cmp44) + %58 = load %struct.stat64*, %struct.stat64** %s, align 8 + %59 = bitcast %struct.stat64* %58 to i8* + %60 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode46 = getelementptr inbounds %struct.stat64, %struct.stat64* %60, i32 0, i32 3 + %61 = load i32, i32* %st_mode46, align 8 + %and47 = and i32 %61, 56 + %cmp48 = icmp eq i32 %and47, 32 + call void @gs_prefer_cex(i8* %59, i1 zeroext %cmp48) + %62 = load %struct.stat64*, %struct.stat64** %s, align 8 + %63 = bitcast %struct.stat64* %62 to i8* + %64 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode50 = getelementptr inbounds %struct.stat64, %struct.stat64* %64, i32 0, i32 3 + %65 = load i32, i32* %st_mode50, align 8 + %and51 = and i32 %65, 7 + %cmp52 = icmp eq i32 %and51, 4 + call void @gs_prefer_cex(i8* %63, i1 zeroext %cmp52) + %66 = load %struct.stat64*, %struct.stat64** %s, align 8 + %67 = bitcast %struct.stat64* %66 to i8* + %68 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mode54 = getelementptr inbounds %struct.stat64, %struct.stat64* %68, i32 0, i32 3 + %69 = load i32, i32* %st_mode54, align 8 + %and55 = and i32 %69, 61440 + %cmp56 = icmp eq i32 %and55, 32768 + call void @gs_prefer_cex(i8* %67, i1 zeroext %cmp56) + %70 = load %struct.stat64*, %struct.stat64** %s, align 8 + %71 = bitcast %struct.stat64* %70 to i8* + %72 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_nlink = getelementptr inbounds %struct.stat64, %struct.stat64* %72, i32 0, i32 2 + %73 = load i64, i64* %st_nlink, align 8 + %cmp58 = icmp eq i64 %73, 1 + call void @gs_prefer_cex(i8* %71, i1 zeroext %cmp58) + %74 = load %struct.stat64*, %struct.stat64** %s, align 8 + %75 = bitcast %struct.stat64* %74 to i8* + %76 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_uid = getelementptr inbounds %struct.stat64, %struct.stat64* %76, i32 0, i32 4 + %77 = load i32, i32* %st_uid, align 4 + %78 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_uid60 = getelementptr inbounds %struct.stat64, %struct.stat64* %78, i32 0, i32 4 + %79 = load i32, i32* %st_uid60, align 4 + %cmp61 = icmp eq i32 %77, %79 + call void @gs_prefer_cex(i8* %75, i1 zeroext %cmp61) + %80 = load %struct.stat64*, %struct.stat64** %s, align 8 + %81 = bitcast %struct.stat64* %80 to i8* + %82 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_gid = getelementptr inbounds %struct.stat64, %struct.stat64* %82, i32 0, i32 5 + %83 = load i32, i32* %st_gid, align 8 + %84 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_gid63 = getelementptr inbounds %struct.stat64, %struct.stat64* %84, i32 0, i32 5 + %85 = load i32, i32* %st_gid63, align 8 + %cmp64 = icmp eq i32 %83, %85 + call void @gs_prefer_cex(i8* %81, i1 zeroext %cmp64) + %86 = load %struct.stat64*, %struct.stat64** %s, align 8 + %87 = bitcast %struct.stat64* %86 to i8* + %88 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_blksize66 = getelementptr inbounds %struct.stat64, %struct.stat64* %88, i32 0, i32 9 + %89 = load i64, i64* %st_blksize66, align 8 + %cmp67 = icmp eq i64 %89, 4096 + call void @gs_prefer_cex(i8* %87, i1 zeroext %cmp67) + %90 = load %struct.stat64*, %struct.stat64** %s, align 8 + %91 = bitcast %struct.stat64* %90 to i8* + %92 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_atim = getelementptr inbounds %struct.stat64, %struct.stat64* %92, i32 0, i32 11 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim, i32 0, i32 0 + %93 = load i64, i64* %tv_sec, align 8 + %94 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_atim69 = getelementptr inbounds %struct.stat64, %struct.stat64* %94, i32 0, i32 11 + %tv_sec70 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_atim69, i32 0, i32 0 + %95 = load i64, i64* %tv_sec70, align 8 + %cmp71 = icmp eq i64 %93, %95 + call void @gs_prefer_cex(i8* %91, i1 zeroext %cmp71) + %96 = load %struct.stat64*, %struct.stat64** %s, align 8 + %97 = bitcast %struct.stat64* %96 to i8* + %98 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_mtim = getelementptr inbounds %struct.stat64, %struct.stat64* %98, i32 0, i32 12 + %tv_sec73 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim, i32 0, i32 0 + %99 = load i64, i64* %tv_sec73, align 8 + %100 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_mtim74 = getelementptr inbounds %struct.stat64, %struct.stat64* %100, i32 0, i32 12 + %tv_sec75 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_mtim74, i32 0, i32 0 + %101 = load i64, i64* %tv_sec75, align 8 + %cmp76 = icmp eq i64 %99, %101 + call void @gs_prefer_cex(i8* %97, i1 zeroext %cmp76) + %102 = load %struct.stat64*, %struct.stat64** %s, align 8 + %103 = bitcast %struct.stat64* %102 to i8* + %104 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_ctim = getelementptr inbounds %struct.stat64, %struct.stat64* %104, i32 0, i32 13 + %tv_sec78 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim, i32 0, i32 0 + %105 = load i64, i64* %tv_sec78, align 8 + %106 = load %struct.stat64*, %struct.stat64** %defaults.addr, align 8 + %st_ctim79 = getelementptr inbounds %struct.stat64, %struct.stat64* %106, i32 0, i32 13 + %tv_sec80 = getelementptr inbounds %struct.timespec, %struct.timespec* %st_ctim79, i32 0, i32 0 + %107 = load i64, i64* %tv_sec80, align 8 + %cmp81 = icmp eq i64 %105, %107 + call void @gs_prefer_cex(i8* %103, i1 zeroext %cmp81) + %108 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %size83 = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %108, i32 0, i32 0 + %109 = load i32, i32* %size83, align 8 + %conv84 = zext i32 %109 to i64 + %110 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_size = getelementptr inbounds %struct.stat64, %struct.stat64* %110, i32 0, i32 8 + store i64 %conv84, i64* %st_size, align 8 + %111 = load %struct.stat64*, %struct.stat64** %s, align 8 + %st_blocks = getelementptr inbounds %struct.stat64, %struct.stat64* %111, i32 0, i32 10 + store i64 8, i64* %st_blocks, align 8 + %112 = load %struct.stat64*, %struct.stat64** %s, align 8 + %113 = load %struct.exe_disk_file_t*, %struct.exe_disk_file_t** %dfile.addr, align 8 + %stat = getelementptr inbounds %struct.exe_disk_file_t, %struct.exe_disk_file_t* %113, i32 0, i32 2 + store %struct.stat64* %112, %struct.stat64** %stat, align 8 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @__sym_uint32(i8* %name) #3 { +entry: + %name.addr = alloca i8*, align 8 + %x = alloca i32, align 4 + store i8* %name, i8** %name.addr, align 8 + %0 = bitcast i32* %x to i8* + %1 = load i8*, i8** %name.addr, align 8 + call void (i8*, i64, ...) @make_symbolic(i8* %0, i64 4, i8* %1) + %2 = load i32, i32* %x, align 4 + ret i32 %2 +} + +declare dso_local void @gs_prefer_cex(i8*, i1 zeroext) #5 + +; Function Attrs: noinline nounwind uwtable +define weak hidden i32 @__syscall_rt_sigaction(i32 %signum, %struct.sigaction.800* %act, %struct.sigaction.800* %oldact, i64 %_something) #3 { +entry: + %signum.addr = alloca i32, align 4 + %act.addr = alloca %struct.sigaction.800*, align 8 + %oldact.addr = alloca %struct.sigaction.800*, align 8 + %_something.addr = alloca i64, align 8 + store i32 %signum, i32* %signum.addr, align 4 + store %struct.sigaction.800* %act, %struct.sigaction.800** %act.addr, align 8 + store %struct.sigaction.800* %oldact, %struct.sigaction.800** %oldact.addr, align 8 + store i64 %_something, i64* %_something.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.149, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @sigaction(i32 %signum, %struct.sigaction.800* %act, %struct.sigaction.800* %oldact) #3 { +entry: + %signum.addr = alloca i32, align 4 + %act.addr = alloca %struct.sigaction.800*, align 8 + %oldact.addr = alloca %struct.sigaction.800*, align 8 + store i32 %signum, i32* %signum.addr, align 4 + store %struct.sigaction.800* %act, %struct.sigaction.800** %act.addr, align 8 + store %struct.sigaction.800* %oldact, %struct.sigaction.800** %oldact.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.149, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @sigprocmask(i32 %how, %struct.fd_set* %set, %struct.fd_set* %oldset) #3 { +entry: + %how.addr = alloca i32, align 4 + %set.addr = alloca %struct.fd_set*, align 8 + %oldset.addr = alloca %struct.fd_set*, align 8 + store i32 %how, i32* %how.addr, align 4 + store %struct.fd_set* %set, %struct.fd_set** %set.addr, align 8 + store %struct.fd_set* %oldset, %struct.fd_set** %oldset.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.149, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @fdatasync(i32 %fd) #3 { +entry: + %fd.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local void @sync() #3 { +entry: + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @__socketcall(i32 %type, i32* %args) #3 { +entry: + %type.addr = alloca i32, align 4 + %args.addr = alloca i32*, align 8 + store i32 %type, i32* %type.addr, align 4 + store i32* %args, i32** %args.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.1.154, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 97, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @gs_warning.155(i8* %message) #3 { +entry: + %message.addr = alloca i8*, align 8 + store i8* %message, i8** %message.addr, align 8 + %0 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %0) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.11.156, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @_IO_getc(%struct._IO_FILE* %f) #3 { +entry: + %f.addr = alloca %struct._IO_FILE*, align 8 + store %struct._IO_FILE* %f, %struct._IO_FILE** %f.addr, align 8 + %0 = load %struct._IO_FILE*, %struct._IO_FILE** %f.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*)* @__fgetc_unlocked to i32 (%struct._IO_FILE*)*)(%struct._IO_FILE* %0) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @_IO_putc(i32 %c, %struct._IO_FILE* %f) #3 { +entry: + %c.addr = alloca i32, align 4 + %f.addr = alloca %struct._IO_FILE*, align 8 + store i32 %c, i32* %c.addr, align 4 + store %struct._IO_FILE* %f, %struct._IO_FILE** %f.addr, align 8 + %0 = load i32, i32* %c.addr, align 4 + %1 = load %struct._IO_FILE*, %struct._IO_FILE** %f.addr, align 8 + %call = call i32 bitcast (i32 (i32, %struct.__STDIO_FILE_STRUCT.568*)* @__fputc_unlocked to i32 (i32, %struct._IO_FILE*)*)(i32 %0, %struct._IO_FILE* %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mkdir(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + call void @gs_warning.155(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2.159, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 5, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mkfifo(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + call void @gs_warning.155(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2.159, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 5, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mknod(i8* nonnull %pathname, i32 %mode, i64 %dev) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + %dev.addr = alloca i64, align 8 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + store i64 %dev, i64* %dev.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.2.159, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 5, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @pipe(i32* %filedes) #3 { +entry: + %filedes.addr = alloca i32*, align 8 + store i32* %filedes, i32** %filedes.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.3.160, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 23, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @link(i8* nonnull %oldpath, i8* nonnull %newpath) #3 { +entry: + %oldpath.addr = alloca i8*, align 8 + %newpath.addr = alloca i8*, align 8 + store i8* %oldpath, i8** %oldpath.addr, align 8 + store i8* %newpath, i8** %newpath.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @symlink(i8* nonnull %oldpath, i8* nonnull %newpath) #3 { +entry: + %oldpath.addr = alloca i8*, align 8 + %newpath.addr = alloca i8*, align 8 + store i8* %oldpath, i8** %oldpath.addr, align 8 + store i8* %newpath, i8** %newpath.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @rename(i8* %oldpath, i8* %newpath) #3 { +entry: + %oldpath.addr = alloca i8*, align 8 + %newpath.addr = alloca i8*, align 8 + store i8* %oldpath, i8** %oldpath.addr, align 8 + store i8* %newpath, i8** %newpath.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @nanosleep(%struct.timespec* %req, %struct.timespec* %rem) #3 { +entry: + %req.addr = alloca %struct.timespec*, align 8 + %rem.addr = alloca %struct.timespec*, align 8 + store %struct.timespec* %req, %struct.timespec** %req.addr, align 8 + store %struct.timespec* %rem, %struct.timespec** %rem.addr, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @clock_gettime(i32 %clk_id, %struct.timespec* %res) #3 { +entry: + %clk_id.addr = alloca i32, align 4 + %res.addr = alloca %struct.timespec*, align 8 + %tv = alloca %struct.timespec, align 8 + store i32 %clk_id, i32* %clk_id.addr, align 4 + store %struct.timespec* %res, %struct.timespec** %res.addr, align 8 + %call = call i32 @gettimeofday(%struct.timespec* %tv, i8* null) #11 + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %0 = load i64, i64* %tv_sec, align 8 + %1 = load %struct.timespec*, %struct.timespec** %res.addr, align 8 + %tv_sec1 = getelementptr inbounds %struct.timespec, %struct.timespec* %1, i32 0, i32 0 + store i64 %0, i64* %tv_sec1, align 8 + %tv_usec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 1 + %2 = load i64, i64* %tv_usec, align 8 + %mul = mul nsw i64 %2, 1000 + %3 = load %struct.timespec*, %struct.timespec** %res.addr, align 8 + %tv_nsec = getelementptr inbounds %struct.timespec, %struct.timespec* %3, i32 0, i32 1 + store i64 %mul, i64* %tv_nsec, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @clock_settime(i32 %clk_id, %struct.timespec* %res) #3 { +entry: + %clk_id.addr = alloca i32, align 4 + %res.addr = alloca %struct.timespec*, align 8 + store i32 %clk_id, i32* %clk_id.addr, align 4 + store %struct.timespec* %res, %struct.timespec** %res.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @time(i64* %t) #3 { +entry: + %t.addr = alloca i64*, align 8 + %tv = alloca %struct.timespec, align 8 + store i64* %t, i64** %t.addr, align 8 + %call = call i32 @gettimeofday(%struct.timespec* %tv, i8* null) #11 + %0 = load i64*, i64** %t.addr, align 8 + %tobool = icmp ne i64* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %tv_sec = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %1 = load i64, i64* %tv_sec, align 8 + %2 = load i64*, i64** %t.addr, align 8 + store i64 %1, i64* %2, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %tv_sec1 = getelementptr inbounds %struct.timespec, %struct.timespec* %tv, i32 0, i32 0 + %3 = load i64, i64* %tv_sec1, align 8 + ret i64 %3 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @times(%struct.tms* %buf) #3 { +entry: + %buf.addr = alloca %struct.tms*, align 8 + store %struct.tms* %buf, %struct.tms** %buf.addr, align 8 + %0 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tobool = icmp ne %struct.tms* %0, null + br i1 %tobool, label %if.else, label %if.then + +if.then: ; preds = %entry + call void @gs_warning.155(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.5.162, i64 0, i64 0)) + br label %if.end + +if.else: ; preds = %entry + call void @gs_warning.155(i8* getelementptr inbounds ([40 x i8], [40 x i8]* @.str.6.163, i64 0, i64 0)) + %1 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_utime = getelementptr inbounds %struct.tms, %struct.tms* %1, i32 0, i32 0 + store i64 0, i64* %tms_utime, align 8 + %2 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_stime = getelementptr inbounds %struct.tms, %struct.tms* %2, i32 0, i32 1 + store i64 0, i64* %tms_stime, align 8 + %3 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_cutime = getelementptr inbounds %struct.tms, %struct.tms* %3, i32 0, i32 2 + store i64 0, i64* %tms_cutime, align 8 + %4 = load %struct.tms*, %struct.tms** %buf.addr, align 8 + %tms_cstime = getelementptr inbounds %struct.tms, %struct.tms* %4, i32 0, i32 3 + store i64 0, i64* %tms_cstime, align 8 + br label %if.end + +if.end: ; preds = %if.else, %if.then + ret i64 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local %struct.utmpx* @getutxent() #3 { +entry: + %call = call %struct.utmp* bitcast (%struct.utmp.323* ()* @getutent to %struct.utmp* ()*)() #11 + %0 = bitcast %struct.utmp* %call to %struct.utmpx* + ret %struct.utmpx* %0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local void @setutxent() #3 { +entry: + call void @setutent() #11 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local void @endutxent() #3 { +entry: + call void @endutent() #11 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @utmpxname(i8* %file) #3 { +entry: + %file.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + %call = call i32 @utmpname(i8* %0) #11 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @euidaccess(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %1 = load i32, i32* %mode.addr, align 4 + %call = call i32 @access(i8* %0, i32 %1) #11 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @eaccess(i8* nonnull %pathname, i32 %mode) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %mode.addr = alloca i32, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %mode, i32* %mode.addr, align 4 + %0 = load i8*, i8** %pathname.addr, align 8 + %1 = load i32, i32* %mode.addr, align 4 + %call = call i32 @euidaccess(i8* %0, i32 %1) #11 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @group_member(i32 %__gid) #3 { +entry: + %__gid.addr = alloca i32, align 4 + store i32 %__gid, i32* %__gid.addr, align 4 + %0 = load i32, i32* %__gid.addr, align 4 + %call = call i32 @getgid() #11 + %cmp = icmp eq i32 %0, %call + br i1 %cmp, label %lor.end, label %lor.rhs + +lor.rhs: ; preds = %entry + %1 = load i32, i32* %__gid.addr, align 4 + %call1 = call i32 @getegid() #11 + %cmp2 = icmp eq i32 %1, %call1 + br label %lor.end + +lor.end: ; preds = %lor.rhs, %entry + %2 = phi i1 [ true, %entry ], [ %cmp2, %lor.rhs ] + %lor.ext = zext i1 %2 to i32 + ret i32 %lor.ext +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @utime(i8* nonnull %filename, %struct.timespec* %buf) #3 { +entry: + %filename.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.timespec*, align 8 + store i8* %filename, i8** %filename.addr, align 8 + store %struct.timespec* %buf, %struct.timespec** %buf.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @futimes(i32 %fd, %struct.timespec* %times) #3 { +entry: + %fd.addr = alloca i32, align 4 + %times.addr = alloca %struct.timespec*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.timespec* %times, %struct.timespec** %times.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.7.164, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 9, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind readonly uwtable +define dso_local i32 @strverscmp(i8* nonnull %__s1, i8* nonnull %__s2) #15 { +entry: + %__s1.addr = alloca i8*, align 8 + %__s2.addr = alloca i8*, align 8 + store i8* %__s1, i8** %__s1.addr, align 8 + store i8* %__s2, i8** %__s2.addr, align 8 + %0 = load i8*, i8** %__s1.addr, align 8 + %1 = load i8*, i8** %__s2.addr, align 8 + %call = call i32 @strcmp(i8* %0, i8* %1) #23 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @gnu_dev_major(i64 %__dev) #3 { +entry: + %__dev.addr = alloca i64, align 8 + store i64 %__dev, i64* %__dev.addr, align 8 + %0 = load i64, i64* %__dev.addr, align 8 + %shr = lshr i64 %0, 8 + %and = and i64 %shr, 4095 + %1 = load i64, i64* %__dev.addr, align 8 + %shr1 = lshr i64 %1, 32 + %conv = trunc i64 %shr1 to i32 + %and2 = and i32 %conv, -4096 + %conv3 = zext i32 %and2 to i64 + %or = or i64 %and, %conv3 + %conv4 = trunc i64 %or to i32 + ret i32 %conv4 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @gnu_dev_minor(i64 %__dev) #3 { +entry: + %__dev.addr = alloca i64, align 8 + store i64 %__dev, i64* %__dev.addr, align 8 + %0 = load i64, i64* %__dev.addr, align 8 + %and = and i64 %0, 255 + %1 = load i64, i64* %__dev.addr, align 8 + %shr = lshr i64 %1, 12 + %conv = trunc i64 %shr to i32 + %and1 = and i32 %conv, -256 + %conv2 = zext i32 %and1 to i64 + %or = or i64 %and, %conv2 + %conv3 = trunc i64 %or to i32 + ret i32 %conv3 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i64 @gnu_dev_makedev(i32 %__major, i32 %__minor) #3 { +entry: + %__major.addr = alloca i32, align 4 + %__minor.addr = alloca i32, align 4 + store i32 %__major, i32* %__major.addr, align 4 + store i32 %__minor, i32* %__minor.addr, align 4 + %0 = load i32, i32* %__minor.addr, align 4 + %and = and i32 %0, 255 + %1 = load i32, i32* %__major.addr, align 4 + %and1 = and i32 %1, 4095 + %shl = shl i32 %and1, 8 + %or = or i32 %and, %shl + %conv = zext i32 %or to i64 + %2 = load i32, i32* %__minor.addr, align 4 + %and2 = and i32 %2, -256 + %conv3 = zext i32 %and2 to i64 + %shl4 = shl i64 %conv3, 12 + %or5 = or i64 %conv, %shl4 + %3 = load i32, i32* %__major.addr, align 4 + %and6 = and i32 %3, -4096 + %conv7 = zext i32 %and6 to i64 + %shl8 = shl i64 %conv7, 32 + %or9 = or i64 %or5, %shl8 + ret i64 %or9 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i8* @canonicalize_file_name(i8* nonnull %name) #3 { +entry: + %retval = alloca i8*, align 8 + %name.addr = alloca i8*, align 8 + %resolved_name = alloca i8*, align 8 + store i8* %name, i8** %name.addr, align 8 + %call = call noalias i8* @malloc(i64 4096) #11 + store i8* %call, i8** %resolved_name, align 8 + %0 = load i8*, i8** %resolved_name, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %name.addr, align 8 + %2 = load i8*, i8** %resolved_name, align 8 + %call1 = call i8* @realpath(i8* %1, i8* %2) #11 + %tobool2 = icmp ne i8* %call1, null + %3 = load i8*, i8** %resolved_name, align 8 + br i1 %tobool2, label %if.end4, label %if.then3 + +if.then3: ; preds = %if.end + call void @free(i8* %3) #11 + store i8* null, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %if.end + store i8* %3, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %4 = load i8*, i8** %retval, align 8 + ret i8* %4 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @getloadavg(double* nonnull %loadavg, i32 %nelem) #3 { +entry: + %loadavg.addr = alloca double*, align 8 + %nelem.addr = alloca i32, align 4 + store double* %loadavg, double** %loadavg.addr, align 8 + store i32 %nelem, i32* %nelem.addr, align 4 + call void @gs_warning.155(i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.8.167, i64 0, i64 0)) + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @wait(i32* %status) #3 { +entry: + %status.addr = alloca i32*, align 8 + store i32* %status, i32** %status.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @wait3(i32* %status, i32 %options, %struct.rusage* %rusage) #3 { +entry: + %status.addr = alloca i32*, align 8 + %options.addr = alloca i32, align 4 + %rusage.addr = alloca %struct.rusage*, align 8 + store i32* %status, i32** %status.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + store %struct.rusage* %rusage, %struct.rusage** %rusage.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @wait4(i32 %pid, i32* %status, i32 %options, %struct.rusage* %rusage) #3 { +entry: + %pid.addr = alloca i32, align 4 + %status.addr = alloca i32*, align 8 + %options.addr = alloca i32, align 4 + %rusage.addr = alloca %struct.rusage*, align 8 + store i32 %pid, i32* %pid.addr, align 4 + store i32* %status, i32** %status.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + store %struct.rusage* %rusage, %struct.rusage** %rusage.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @waitpid(i32 %pid, i32* %status, i32 %options) #3 { +entry: + %pid.addr = alloca i32, align 4 + %status.addr = alloca i32*, align 8 + %options.addr = alloca i32, align 4 + store i32 %pid, i32* %pid.addr, align 4 + store i32* %status, i32** %status.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + call void @gs_warning.155(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @waitid(i32 %idtype, i32 %id, %struct.siginfo_t* %infop, i32 %options) #3 { +entry: + %idtype.addr = alloca i32, align 4 + %id.addr = alloca i32, align 4 + %infop.addr = alloca %struct.siginfo_t*, align 8 + %options.addr = alloca i32, align 4 + store i32 %idtype, i32* %idtype.addr, align 4 + store i32 %id, i32* %id.addr, align 4 + store %struct.siginfo_t* %infop, %struct.siginfo_t** %infop.addr, align 8 + store i32 %options, i32* %options.addr, align 4 + call void @gs_warning.155(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.9.168, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 10, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mount(i8* %source, i8* %target, i8* %filesystemtype, i64 %mountflags, i8* %data) #3 { +entry: + %source.addr = alloca i8*, align 8 + %target.addr = alloca i8*, align 8 + %filesystemtype.addr = alloca i8*, align 8 + %mountflags.addr = alloca i64, align 8 + %data.addr = alloca i8*, align 8 + store i8* %source, i8** %source.addr, align 8 + store i8* %target, i8** %target.addr, align 8 + store i8* %filesystemtype, i8** %filesystemtype.addr, align 8 + store i64 %mountflags, i64* %mountflags.addr, align 8 + store i8* %data, i8** %data.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @umount(i8* %target) #3 { +entry: + %target.addr = alloca i8*, align 8 + store i8* %target, i8** %target.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @umount2(i8* %target, i32 %flags) #3 { +entry: + %target.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + store i8* %target, i8** %target.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @swapon(i8* %path, i32 %swapflags) #3 { +entry: + %path.addr = alloca i8*, align 8 + %swapflags.addr = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store i32 %swapflags, i32* %swapflags.addr, align 4 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @swapoff(i8* %path) #3 { +entry: + %path.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setgid(i32 %gid) #3 { +entry: + %gid.addr = alloca i32, align 4 + store i32 %gid, i32* %gid.addr, align 4 + call void @gs_warning.155(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.10.169, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setgroups(i64 %size, i32* %list) #3 { +entry: + %size.addr = alloca i64, align 8 + %list.addr = alloca i32*, align 8 + store i64 %size, i64* %size.addr, align 8 + store i32* %list, i32** %list.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @sethostname(i8* nonnull %name, i64 %len) #3 { +entry: + %name.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + store i8* %name, i8** %name.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setpgid(i32 %pid, i32 %pgid) #3 { +entry: + %pid.addr = alloca i32, align 4 + %pgid.addr = alloca i32, align 4 + store i32 %pid, i32* %pid.addr, align 4 + store i32 %pgid, i32* %pgid.addr, align 4 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setpgrp() #3 { +entry: + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setpriority(i32 %which, i32 %who, i32 %prio) #3 { +entry: + %which.addr = alloca i32, align 4 + %who.addr = alloca i32, align 4 + %prio.addr = alloca i32, align 4 + store i32 %which, i32* %which.addr, align 4 + store i32 %who, i32* %who.addr, align 4 + store i32 %prio, i32* %prio.addr, align 4 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setresgid(i32 %rgid, i32 %egid, i32 %sgid) #3 { +entry: + %rgid.addr = alloca i32, align 4 + %egid.addr = alloca i32, align 4 + %sgid.addr = alloca i32, align 4 + store i32 %rgid, i32* %rgid.addr, align 4 + store i32 %egid, i32* %egid.addr, align 4 + store i32 %sgid, i32* %sgid.addr, align 4 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setresuid(i32 %ruid, i32 %euid, i32 %suid) #3 { +entry: + %ruid.addr = alloca i32, align 4 + %euid.addr = alloca i32, align 4 + %suid.addr = alloca i32, align 4 + store i32 %ruid, i32* %ruid.addr, align 4 + store i32 %euid, i32* %euid.addr, align 4 + store i32 %suid, i32* %suid.addr, align 4 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setrlimit(i32 %resource, %struct.timespec* %rlim) #3 { +entry: + %resource.addr = alloca i32, align 4 + %rlim.addr = alloca %struct.timespec*, align 8 + store i32 %resource, i32* %resource.addr, align 4 + store %struct.timespec* %rlim, %struct.timespec** %rlim.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setrlimit64(i32 %resource, %struct.timespec* %rlim) #3 { +entry: + %resource.addr = alloca i32, align 4 + %rlim.addr = alloca %struct.timespec*, align 8 + store i32 %resource, i32* %resource.addr, align 4 + store %struct.timespec* %rlim, %struct.timespec** %rlim.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setsid() #3 { +entry: + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @settimeofday(%struct.timespec* %tv, %struct.__mbstate_t.512* %tz) #3 { +entry: + %tv.addr = alloca %struct.timespec*, align 8 + %tz.addr = alloca %struct.__mbstate_t.512*, align 8 + store %struct.timespec* %tv, %struct.timespec** %tv.addr, align 8 + store %struct.__mbstate_t.512* %tz, %struct.__mbstate_t.512** %tz.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @setuid(i32 %uid) #3 { +entry: + %uid.addr = alloca i32, align 4 + store i32 %uid, i32* %uid.addr, align 4 + call void @gs_warning.155(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.10.169, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @reboot(i32 %flag) #3 { +entry: + %flag.addr = alloca i32, align 4 + store i32 %flag, i32* %flag.addr, align 4 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @mlock(i8* %addr, i64 %len) #3 { +entry: + %addr.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + store i8* %addr, i8** %addr.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @munlock(i8* %addr, i64 %len) #3 { +entry: + %addr.addr = alloca i8*, align 8 + %len.addr = alloca i64, align 8 + store i8* %addr, i8** %addr.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @pause() #3 { +entry: + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i64 @readahead(i32 %fd, i64* %offset, i64 %count) #3 { +entry: + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64*, align 8 + %count.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64* %offset, i64** %offset.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i64 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i8* @mmap(i8* %start, i64 %length, i32 %prot, i32 %flags, i32 %fd, i64 %offset) #3 { +entry: + %start.addr = alloca i8*, align 8 + %length.addr = alloca i64, align 8 + %prot.addr = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + store i8* %start, i8** %start.addr, align 8 + store i64 %length, i64* %length.addr, align 8 + store i32 %prot, i32* %prot.addr, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i8* inttoptr (i64 -1 to i8*) +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i8* @mmap64(i8* %start, i64 %length, i32 %prot, i32 %flags, i32 %fd, i64 %offset) #3 { +entry: + %start.addr = alloca i8*, align 8 + %length.addr = alloca i64, align 8 + %prot.addr = alloca i32, align 4 + %flags.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + store i8* %start, i8** %start.addr, align 8 + store i64 %length, i64* %length.addr, align 8 + store i32 %prot, i32* %prot.addr, align 4 + store i32 %flags, i32* %flags.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i8* inttoptr (i64 -1 to i8*) +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @munmap(i8* %start, i64 %length) #3 { +entry: + %start.addr = alloca i8*, align 8 + %length.addr = alloca i64, align 8 + store i8* %start, i8** %start.addr, align 8 + store i64 %length, i64* %length.addr, align 8 + call void @gs_warning.155(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.4.161, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__locale_mbrtowc_l(i32* noalias %dst, i8* noalias %src, %struct.__uclibc_locale_struct.201* %loc) #0 { +entry: + %retval = alloca i32, align 4 + %dst.addr = alloca i32*, align 8 + %src.addr = alloca i8*, align 8 + %loc.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %ps = alloca %struct.__mbstate_t.512, align 4 + %p = alloca i8*, align 8 + %r = alloca i64, align 8 + %wc = alloca i32, align 4 + store i32* %dst, i32** %dst.addr, align 8 + store i8* %src, i8** %src.addr, align 8 + store %struct.__uclibc_locale_struct.201* %loc, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 9 + %1 = load i8, i8* %encoding, align 8 + %conv = zext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 1 + %2 = load i8*, i8** %src.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i8* %2, i8** %p, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %ps, i32 0, i32 0 + store i32 0, i32* %__mask, align 4 + %3 = load i32*, i32** %dst.addr, align 8 + %call = call i64 @_wchar_utf8sntowcs(i32* %3, i64 1, i8** %p, i64 -1, %struct.__mbstate_t.512* %ps, i32 1) #18 + store i64 %call, i64* %r, align 8 + %4 = load i64, i64* %r, align 8 + %cmp2 = icmp eq i64 %4, 1 + %5 = load i8*, i8** %p, align 8 + %6 = load i8*, i8** %src.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %6 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %7 = load i64, i64* %r, align 8 + %cond = select i1 %cmp2, i64 %sub.ptr.sub, i64 %7 + %conv4 = trunc i64 %cond to i32 + store i32 %conv4, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load i8, i8* %2, align 1 + %conv5 = zext i8 %8 to i32 + %9 = load i32*, i32** %dst.addr, align 8 + store i32 %conv5, i32* %9, align 4 + %cmp6 = icmp slt i32 %conv5, 128 + br i1 %cmp6, label %if.then8, label %if.end12 + +if.then8: ; preds = %if.end + %10 = load i8*, i8** %src.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv9 = sext i8 %11 to i32 + %cmp10 = icmp ne i32 %conv9, 0 + %conv11 = zext i1 %cmp10 to i32 + store i32 %conv11, i32* %retval, align 4 + br label %return + +if.end12: ; preds = %if.end + %12 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %encoding13 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %12, i32 0, i32 9 + %13 = load i8, i8* %encoding13, align 8 + %conv14 = zext i8 %13 to i32 + %cmp15 = icmp eq i32 %conv14, 2 + br i1 %cmp15, label %if.then17, label %if.end24 + +if.then17: ; preds = %if.end12 + %14 = load i32*, i32** %dst.addr, align 8 + %15 = load i32, i32* %14, align 4 + %sub = sub nsw i32 %15, 128 + store i32 %sub, i32* %wc, align 4 + %16 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %tbl8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %16, i32 0, i32 17 + %17 = load i16*, i16** %tbl8c2wc, align 8 + %18 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %loc.addr, align 8 + %idx8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %18, i32 0, i32 16 + %19 = load i8*, i8** %idx8c2wc, align 8 + %20 = load i32, i32* %wc, align 4 + %shr = ashr i32 %20, 3 + %idxprom = sext i32 %shr to i64 + %arrayidx = getelementptr inbounds i8, i8* %19, i64 %idxprom + %21 = load i8, i8* %arrayidx, align 1 + %conv18 = zext i8 %21 to i32 + %shl = shl i32 %conv18, 3 + %22 = load i32, i32* %wc, align 4 + %and = and i32 %22, 7 + %add = add nsw i32 %shl, %and + %idxprom19 = sext i32 %add to i64 + %arrayidx20 = getelementptr inbounds i16, i16* %17, i64 %idxprom19 + %23 = load i16, i16* %arrayidx20, align 2 + %conv21 = zext i16 %23 to i32 + %24 = load i32*, i32** %dst.addr, align 8 + store i32 %conv21, i32* %24, align 4 + %25 = load i32*, i32** %dst.addr, align 8 + %26 = load i32, i32* %25, align 4 + %tobool = icmp ne i32 %26, 0 + br i1 %tobool, label %if.then22, label %if.end24 + +if.then22: ; preds = %if.then17 + store i32 1, i32* %retval, align 4 + br label %return + +if.end24: ; preds = %if.then17, %if.end12 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end24, %if.then22, %if.then8, %if.then + %27 = load i32, i32* %retval, align 4 + ret i32 %27 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__raise(i32 %signo) #0 { +entry: + %signo.addr = alloca i32, align 4 + store i32 %signo, i32* %signo.addr, align 4 + %call = call i32 @getpid() #19 + %0 = load i32, i32* %signo.addr, align 4 + %call1 = call i32 @kill(i32 %call, i32 %0) #19 + ret i32 %call1 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__libc_sigaction(i32 %sig, %struct.sigaction.800* %act, %struct.sigaction.800* %oact) #0 { +entry: + %sig.addr = alloca i32, align 4 + %act.addr = alloca %struct.sigaction.800*, align 8 + %oact.addr = alloca %struct.sigaction.800*, align 8 + %result = alloca i32, align 4 + %kact = alloca %struct.kernel_sigaction, align 8 + %koact = alloca %struct.kernel_sigaction, align 8 + store i32 %sig, i32* %sig.addr, align 4 + store %struct.sigaction.800* %act, %struct.sigaction.800** %act.addr, align 8 + store %struct.sigaction.800* %oact, %struct.sigaction.800** %oact.addr, align 8 + %0 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %tobool = icmp ne %struct.sigaction.800* %0, null + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %__sigaction_handler = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %1, i32 0, i32 0 + %sa_handler = bitcast %union.anon.799* %__sigaction_handler to void (i32)** + %2 = load void (i32)*, void (i32)** %sa_handler, align 8 + %k_sa_handler = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 0 + store void (i32)* %2, void (i32)** %k_sa_handler, align 8 + %sa_mask = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 3 + %3 = bitcast %struct.fd_set* %sa_mask to i8* + %4 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %sa_mask1 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %4, i32 0, i32 1 + %5 = bitcast %struct.fd_set* %sa_mask1 to i8* + %call = call i8* @memcpy(i8* %3, i8* %5, i64 128) #19 + %6 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %sa_flags = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %6, i32 0, i32 2 + %7 = load i32, i32* %sa_flags, align 8 + %conv = sext i32 %7 to i64 + %sa_flags2 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 1 + store i64 %conv, i64* %sa_flags2, align 8 + %8 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %sa_restorer = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %8, i32 0, i32 3 + %9 = load void ()*, void ()** %sa_restorer, align 8 + %sa_restorer3 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %kact, i32 0, i32 2 + store void ()* %9, void ()** %sa_restorer3, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %10 = load i32, i32* %sig.addr, align 4 + %11 = load %struct.sigaction.800*, %struct.sigaction.800** %act.addr, align 8 + %tobool4 = icmp ne %struct.sigaction.800* %11, null + %kact. = select i1 %tobool4, %struct.kernel_sigaction* %kact, %struct.kernel_sigaction* null + %12 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %tobool5 = icmp ne %struct.sigaction.800* %12, null + %cond9 = select i1 %tobool5, %struct.kernel_sigaction* %koact, %struct.kernel_sigaction* null + %call10 = call i32 bitcast (i32 (i32, %struct.sigaction.800*, %struct.sigaction.800*, i64)* @__syscall_rt_sigaction to i32 (i32, %struct.kernel_sigaction*, %struct.kernel_sigaction*, i64)*)(i32 %10, %struct.kernel_sigaction* %kact., %struct.kernel_sigaction* %cond9, i64 8) #18 + store i32 %call10, i32* %result, align 4 + %13 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %tobool11 = icmp ne %struct.sigaction.800* %13, null + %14 = load i32, i32* %result, align 4 + %cmp = icmp sge i32 %14, 0 + %or.cond = and i1 %tobool11, %cmp + br i1 %or.cond, label %if.then13, label %if.end25 + +if.then13: ; preds = %if.end + %k_sa_handler14 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 0 + %15 = load void (i32)*, void (i32)** %k_sa_handler14, align 8 + %16 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %__sigaction_handler15 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %16, i32 0, i32 0 + %sa_handler16 = bitcast %union.anon.799* %__sigaction_handler15 to void (i32)** + store void (i32)* %15, void (i32)** %sa_handler16, align 8 + %17 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %sa_mask17 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %17, i32 0, i32 1 + %18 = bitcast %struct.fd_set* %sa_mask17 to i8* + %sa_mask18 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 3 + %19 = bitcast %struct.fd_set* %sa_mask18 to i8* + %call19 = call i8* @memcpy(i8* %18, i8* %19, i64 128) #19 + %sa_flags20 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 1 + %20 = load i64, i64* %sa_flags20, align 8 + %conv21 = trunc i64 %20 to i32 + %21 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %sa_flags22 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %21, i32 0, i32 2 + store i32 %conv21, i32* %sa_flags22, align 8 + %sa_restorer23 = getelementptr inbounds %struct.kernel_sigaction, %struct.kernel_sigaction* %koact, i32 0, i32 2 + %22 = load void ()*, void ()** %sa_restorer23, align 8 + %23 = load %struct.sigaction.800*, %struct.sigaction.800** %oact.addr, align 8 + %sa_restorer24 = getelementptr inbounds %struct.sigaction.800, %struct.sigaction.800* %23, i32 0, i32 3 + store void ()* %22, void ()** %sa_restorer24, align 8 + br label %if.end25 + +if.end25: ; preds = %if.then13, %if.end + %24 = load i32, i32* %result, align 4 + ret i32 %24 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__sigismember(%struct.fd_set* %__set, i32 %__sig) #0 { +entry: + %__set.addr = alloca %struct.fd_set*, align 8 + %__sig.addr = alloca i32, align 4 + %__mask = alloca i64, align 8 + %__word = alloca i64, align 8 + store %struct.fd_set* %__set, %struct.fd_set** %__set.addr, align 8 + store i32 %__sig, i32* %__sig.addr, align 4 + %0 = load i32, i32* %__sig.addr, align 4 + %sub = sub nsw i32 %0, 1 + %conv = sext i32 %sub to i64 + %rem = urem i64 %conv, 64 + %shl = shl i64 1, %rem + store i64 %shl, i64* %__mask, align 8 + %1 = load i32, i32* %__sig.addr, align 4 + %sub1 = sub nsw i32 %1, 1 + %conv2 = sext i32 %sub1 to i64 + %div = udiv i64 %conv2, 64 + store i64 %div, i64* %__word, align 8 + %2 = load %struct.fd_set*, %struct.fd_set** %__set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %2, i32 0, i32 0 + %3 = load i64, i64* %__word, align 8 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 %3 + %4 = load i64, i64* %arrayidx, align 8 + %5 = load i64, i64* %__mask, align 8 + %and = and i64 %4, %5 + %tobool = icmp ne i64 %and, 0 + %6 = zext i1 %tobool to i64 + %cond = select i1 %tobool, i32 1, i32 0 + ret i32 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__sigaddset(%struct.fd_set* %__set, i32 %__sig) #0 { +entry: + %__set.addr = alloca %struct.fd_set*, align 8 + %__sig.addr = alloca i32, align 4 + %__mask = alloca i64, align 8 + %__word = alloca i64, align 8 + store %struct.fd_set* %__set, %struct.fd_set** %__set.addr, align 8 + store i32 %__sig, i32* %__sig.addr, align 4 + %0 = load i32, i32* %__sig.addr, align 4 + %sub = sub nsw i32 %0, 1 + %conv = sext i32 %sub to i64 + %rem = urem i64 %conv, 64 + %shl = shl i64 1, %rem + store i64 %shl, i64* %__mask, align 8 + %1 = load i32, i32* %__sig.addr, align 4 + %sub1 = sub nsw i32 %1, 1 + %conv2 = sext i32 %sub1 to i64 + %div = udiv i64 %conv2, 64 + store i64 %div, i64* %__word, align 8 + %2 = load i64, i64* %__mask, align 8 + %3 = load %struct.fd_set*, %struct.fd_set** %__set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %3, i32 0, i32 0 + %4 = load i64, i64* %__word, align 8 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 %4 + %5 = load i64, i64* %arrayidx, align 8 + %or = or i64 %5, %2 + store i64 %or, i64* %arrayidx, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__sigdelset(%struct.fd_set* %__set, i32 %__sig) #0 { +entry: + %__set.addr = alloca %struct.fd_set*, align 8 + %__sig.addr = alloca i32, align 4 + %__mask = alloca i64, align 8 + %__word = alloca i64, align 8 + store %struct.fd_set* %__set, %struct.fd_set** %__set.addr, align 8 + store i32 %__sig, i32* %__sig.addr, align 4 + %0 = load i32, i32* %__sig.addr, align 4 + %sub = sub nsw i32 %0, 1 + %conv = sext i32 %sub to i64 + %rem = urem i64 %conv, 64 + %shl = shl i64 1, %rem + store i64 %shl, i64* %__mask, align 8 + %1 = load i32, i32* %__sig.addr, align 4 + %sub1 = sub nsw i32 %1, 1 + %conv2 = sext i32 %sub1 to i64 + %div = udiv i64 %conv2, 64 + store i64 %div, i64* %__word, align 8 + %2 = load i64, i64* %__mask, align 8 + %neg = xor i64 %2, -1 + %3 = load %struct.fd_set*, %struct.fd_set** %__set.addr, align 8 + %__val = getelementptr inbounds %struct.fd_set, %struct.fd_set* %3, i32 0, i32 0 + %4 = load i64, i64* %__word, align 8 + %arrayidx = getelementptr inbounds [16 x i64], [16 x i64]* %__val, i64 0, i64 %4 + %5 = load i64, i64* %arrayidx, align 8 + %and = and i64 %5, %neg + store i64 %and, i64* %arrayidx, align 8 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %bufsize = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 5 + %1 = load i8*, i8** %__bufpos, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 3 + %3 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %1 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %3 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %bufsize, align 8 + %cmp = icmp ne i64 %sub.ptr.sub, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 3 + %5 = load i8*, i8** %__bufstart1, align 8 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 5 + store i8* %5, i8** %__bufpos2, align 8 + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart3 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 3 + %9 = load i8*, i8** %__bufstart3, align 8 + %10 = load i64, i64* %bufsize, align 8 + %call = call i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %7, i8* %9, i64 %10) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos4 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 5 + %12 = load i8*, i8** %__bufpos4, align 8 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart5 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 3 + %14 = load i8*, i8** %__bufstart5, align 8 + %sub.ptr.lhs.cast6 = ptrtoint i8* %12 to i64 + %sub.ptr.rhs.cast7 = ptrtoint i8* %14 to i64 + %sub.ptr.sub8 = sub i64 %sub.ptr.lhs.cast6, %sub.ptr.rhs.cast7 + ret i64 %sub.ptr.sub8 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__fgetc_unlocked(%struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %uc = alloca i8, align 1 + %uc56 = alloca i8, align 1 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 5 + %1 = load i8*, i8** %__bufpos, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 7 + %3 = load i8*, i8** %__bufgetc_u, align 8 + %cmp = icmp ult i8* %1, %3 + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 5 + %5 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + %6 = load i8, i8* %5, align 1 + %conv = zext i8 %6 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 0 + %7 = load i16, i16* %__modeflags, align 8 + %conv2 = zext i16 %7 to i32 + %and = and i32 %conv2, 131 + %cmp3 = icmp ugt i32 %and, 128 + br i1 %cmp3, label %if.then5, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2r_o(%struct.__STDIO_FILE_STRUCT.568* %8, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end63, label %if.then5 + +if.then5: ; preds = %lor.lhs.false, %if.end + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %9, i32 0, i32 0 + %10 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %10 to i32 + %and8 = and i32 %conv7, 2 + %tobool9 = icmp ne i32 %and8, 0 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %tobool9, label %if.then10, label %if.end18 + +if.then10: ; preds = %if.then5 + %__ungot = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 10 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags11 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags11, align 8 + %dec = add i16 %13, -1 + store i16 %dec, i16* %__modeflags11, align 8 + %conv12 = zext i16 %13 to i32 + %and13 = and i32 %conv12, 1 + %idxprom = sext i32 %and13 to i64 + %arrayidx = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot, i64 0, i64 %idxprom + %14 = load i32, i32* %arrayidx, align 4 + %conv14 = trunc i32 %14 to i8 + store i8 %conv14, i8* %uc, align 1 + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__ungot15 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 10 + %arrayidx16 = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot15, i64 0, i64 1 + store i32 0, i32* %arrayidx16, align 4 + %16 = load i8, i8* %uc, align 1 + %conv17 = zext i8 %16 to i32 + store i32 %conv17, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %if.then5 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 6 + %17 = load i8*, i8** %__bufread, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos19 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 5 + %19 = load i8*, i8** %__bufpos19, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %17 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool20 = icmp ne i64 %sub.ptr.sub, 0 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %tobool20, label %if.then21, label %if.end25 + +if.then21: ; preds = %if.end18 + %__bufpos22 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 5 + %21 = load i8*, i8** %__bufpos22, align 8 + %incdec.ptr23 = getelementptr inbounds i8, i8* %21, i32 1 + store i8* %incdec.ptr23, i8** %__bufpos22, align 8 + %22 = load i8, i8* %21, align 1 + %conv24 = zext i8 %22 to i32 + store i32 %conv24, i32* %retval, align 4 + br label %return + +if.end25: ; preds = %if.end18 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 2 + %23 = load i32, i32* %__filedes, align 4 + %cmp26 = icmp eq i32 %23, -2 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags29 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 0 + %25 = load i16, i16* %__modeflags29, align 8 + %conv30 = zext i16 %25 to i32 + br i1 %cmp26, label %if.then28, label %if.end32 + +if.then28: ; preds = %if.end25 + %or = or i32 %conv30, 4 + %conv31 = trunc i32 %or to i16 + store i16 %conv31, i16* %__modeflags29, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end32: ; preds = %if.end25 + %and35 = and i32 %conv30, 768 + %tobool36 = icmp ne i32 %and35, 0 + br i1 %tobool36, label %if.then37, label %if.end39 + +if.then37: ; preds = %if.end32 + %call38 = call i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.568* bitcast (%struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist to %struct.__STDIO_FILE_STRUCT.568*)) #18 + br label %if.end39 + +if.end39: ; preds = %if.then37, %if.end32 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 4 + %27 = load i8*, i8** %__bufend, align 8 + %28 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %28, i32 0, i32 3 + %29 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast40 = ptrtoint i8* %27 to i64 + %sub.ptr.rhs.cast41 = ptrtoint i8* %29 to i64 + %sub.ptr.sub42 = sub i64 %sub.ptr.lhs.cast40, %sub.ptr.rhs.cast41 + %tobool43 = icmp ne i64 %sub.ptr.sub42, 0 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br i1 %tobool43, label %if.then44, label %if.else + +if.then44: ; preds = %if.end39 + %__bufstart45 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %30, i32 0, i32 3 + %31 = load i8*, i8** %__bufstart45, align 8 + %32 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u46 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %32, i32 0, i32 7 + store i8* %31, i8** %__bufgetc_u46, align 8 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call47 = call i64 @__stdio_rfill(%struct.__STDIO_FILE_STRUCT.568* %33) #18 + %tobool48 = icmp ne i64 %call47, 0 + br i1 %tobool48, label %if.then49, label %if.end63 + +if.then49: ; preds = %if.then44 + %34 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread50 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %34, i32 0, i32 6 + %35 = load i8*, i8** %__bufread50, align 8 + %36 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u51 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %36, i32 0, i32 7 + store i8* %35, i8** %__bufgetc_u51, align 8 + %37 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos52 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %37, i32 0, i32 5 + %38 = load i8*, i8** %__bufpos52, align 8 + %incdec.ptr53 = getelementptr inbounds i8, i8* %38, i32 1 + store i8* %incdec.ptr53, i8** %__bufpos52, align 8 + %39 = load i8, i8* %38, align 1 + %conv54 = zext i8 %39 to i32 + store i32 %conv54, i32* %retval, align 4 + br label %return + +if.else: ; preds = %if.end39 + %call57 = call i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.568* %30, i8* %uc56, i64 1) #18 + %tobool58 = icmp ne i64 %call57, 0 + br i1 %tobool58, label %if.then59, label %if.end63 + +if.then59: ; preds = %if.else + %40 = load i8, i8* %uc56, align 1 + %conv60 = zext i8 %40 to i32 + store i32 %conv60, i32* %retval, align 4 + br label %return + +if.end63: ; preds = %if.then44, %if.else, %lor.lhs.false + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end63, %if.then59, %if.then49, %if.then28, %if.then21, %if.then10, %if.then + %41 = load i32, i32* %retval, align 4 + ret i32 %41 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @sprintf(i8* noalias %buf, i8* noalias %format, ...) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %format.addr = alloca i8*, align 8 + %arg = alloca [1 x %struct.__va_list_tag.0], align 16 + %rv = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load i8*, i8** %buf.addr, align 8 + %1 = load i8*, i8** %format.addr, align 8 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %call = call i32 @vsnprintf(i8* %0, i64 -1, i8* %1, %struct.__va_list_tag.0* %arraydecay2) #19 + store i32 %call, i32* %rv, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + %2 = load i32, i32* %rv, align 4 + ret i32 %2 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @strcmp(i8* nonnull %s1, i8* nonnull %s2) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %r = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + br label %while.cond + +while.cond: ; preds = %land.rhs, %entry + %0 = load i8*, i8** %s1.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = zext i8 %1 to i32 + %2 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %2, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %3 = load i8, i8* %2, align 1 + %conv1 = zext i8 %3 to i32 + %sub = sub nsw i32 %conv, %conv1 + store i32 %sub, i32* %r, align 4 + %cmp = icmp eq i32 %sub, 0 + br i1 %cmp, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %4 = load i8*, i8** %s1.addr, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr3, i8** %s1.addr, align 8 + %5 = load i8, i8* %4, align 1 + %conv4 = sext i8 %5 to i32 + %tobool = icmp ne i32 %conv4, 0 + br i1 %tobool, label %while.cond, label %while.end + +while.end: ; preds = %while.cond, %land.rhs + %6 = load i32, i32* %r, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i64 @strlen(i8* nonnull %s) #14 { +entry: + %s.addr = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %entry + %1 = load i8*, i8** %p, align 8 + %2 = load i8, i8* %1, align 1 + %tobool = icmp ne i8 %2, 0 + %3 = load i8*, i8** %p, align 8 + br i1 %tobool, label %for.inc, label %for.end + +for.inc: ; preds = %for.cond + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + %4 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %3 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %4 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @strncmp(i8* nonnull %s1, i8* nonnull %s2, i64 %n) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i32 0, i32* %r, align 4 + br label %while.cond + +while.cond: ; preds = %land.rhs, %entry + %0 = load i64, i64* %n.addr, align 8 + %dec = add i64 %0, -1 + store i64 %dec, i64* %n.addr, align 8 + %tobool = icmp ne i64 %0, 0 + br i1 %tobool, label %land.lhs.true, label %while.end + +land.lhs.true: ; preds = %while.cond + %1 = load i8*, i8** %s1.addr, align 8 + %2 = load i8, i8* %1, align 1 + %conv = zext i8 %2 to i32 + %3 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %4 = load i8, i8* %3, align 1 + %conv1 = zext i8 %4 to i32 + %sub = sub nsw i32 %conv, %conv1 + store i32 %sub, i32* %r, align 4 + %cmp = icmp eq i32 %sub, 0 + br i1 %cmp, label %land.rhs, label %while.end + +land.rhs: ; preds = %land.lhs.true + %5 = load i8*, i8** %s1.addr, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr3, i8** %s1.addr, align 8 + %6 = load i8, i8* %5, align 1 + %conv4 = sext i8 %6 to i32 + %tobool5 = icmp ne i32 %conv4, 0 + br i1 %tobool5, label %while.cond, label %while.end + +while.end: ; preds = %while.cond, %land.lhs.true, %land.rhs + %7 = load i32, i32* %r, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @isatty(i32 %fd) #0 { +entry: + %fd.addr = alloca i32, align 4 + %term = alloca %struct.termios, align 4 + store i32 %fd, i32* %fd.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 @tcgetattr(i32 %0, %struct.termios* %term) #19 + %cmp = icmp eq i32 %call, 0 + %conv = zext i1 %cmp to i32 + ret i32 %conv +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @open64(i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i8*, i8** %pathname.addr, align 8 + %8 = load i32, i32* %flags.addr, align 4 + %9 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_open(i8* %7, i32 %8, i32 %9) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @openat64(i32 %fd, i8* nonnull %pathname, i32 %flags, ...) #3 { +entry: + %fd.addr = alloca i32, align 4 + %pathname.addr = alloca i8*, align 8 + %flags.addr = alloca i32, align 4 + %mode = alloca i32, align 4 + %ap = alloca [1 x %struct.__va_list_tag.0], align 16 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %pathname, i8** %pathname.addr, align 8 + store i32 %flags, i32* %flags.addr, align 4 + store i32 0, i32* %mode, align 4 + %0 = load i32, i32* %flags.addr, align 4 + %and = and i32 %0, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 16 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then + %1 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 3 + %reg_save_area = load i8*, i8** %1, align 16 + %2 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %3 = bitcast i8* %2 to i32* + %4 = add i32 %gp_offset, 8 + store i32 %4, i32* %gp_offset_p, align 16 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay2, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %5 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %3, %vaarg.in_reg ], [ %5, %vaarg.in_mem ] + %6 = load i32, i32* %vaarg.addr, align 4 + store i32 %6, i32* %mode, align 4 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %ap, i64 0, i64 0 + %arraydecay34 = bitcast %struct.__va_list_tag.0* %arraydecay3 to i8* + call void @llvm.va_end(i8* %arraydecay34) + br label %if.end + +if.end: ; preds = %vaarg.end, %entry + %7 = load i32, i32* %fd.addr, align 4 + %8 = load i8*, i8** %pathname.addr, align 8 + %9 = load i32, i32* %flags.addr, align 4 + %10 = load i32, i32* %mode, align 4 + %call = call i32 @__fd_openat(i32 %7, i8* %8, i32 %9, i32 %10) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @lseek64(i32 %fd, i64 %offset, i32 %whence) #3 { +entry: + %fd.addr = alloca i32, align 4 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %offset.addr, align 8 + %2 = load i32, i32* %whence.addr, align 4 + %call = call i64 @__fd_lseek(i32 %0, i64 %1, i32 %2) + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__xstat64(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @stat64(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_stat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__lxstat64(i32 %vers, i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %vers, i32* %vers.addr, align 4 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @lstat64(i8* nonnull %path, %struct.stat64* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.stat64*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_lstat(i8* %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @__fxstat64(i32 %vers, i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %vers.addr = alloca i32, align 4 + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %vers, i32* %vers.addr, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fstat64(i32 %fd, %struct.stat64* nonnull %buf) #3 { +entry: + %fd.addr = alloca i32, align 4 + %buf.addr = alloca %struct.stat64*, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.stat64* %buf, %struct.stat64** %buf.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load %struct.stat64*, %struct.stat64** %buf.addr, align 8 + %2 = bitcast %struct.stat64* %1 to %struct.stat64* + %call = call i32 @__fd_fstat(i32 %0, %struct.stat64* %2) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @ftruncate64(i32 %fd, i64 %length) #3 { +entry: + %fd.addr = alloca i32, align 4 + %length.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i64 %length, i64* %length.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i64, i64* %length.addr, align 8 + %call = call i32 @__fd_ftruncate(i32 %0, i64 %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @statfs64(i8* nonnull %path, %struct.statfs* nonnull %buf) #3 { +entry: + %path.addr = alloca i8*, align 8 + %buf.addr = alloca %struct.statfs*, align 8 + store i8* %path, i8** %path.addr, align 8 + store %struct.statfs* %buf, %struct.statfs** %buf.addr, align 8 + %0 = load i8*, i8** %path.addr, align 8 + %1 = load %struct.statfs*, %struct.statfs** %buf.addr, align 8 + %call = call i32 @__fd_statfs(i8* %0, %struct.statfs* %1) + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i64 @getdents64(i32 %fd, i8* nonnull %dirp, i64 %count) #3 { +entry: + %fd.addr = alloca i32, align 4 + %dirp.addr = alloca i8*, align 8 + %count.addr = alloca i64, align 8 + store i32 %fd, i32* %fd.addr, align 4 + store i8* %dirp, i8** %dirp.addr, align 8 + store i64 %count, i64* %count.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %1 = load i8*, i8** %dirp.addr, align 8 + %2 = bitcast i8* %1 to %struct.dirent64* + %3 = load i64, i64* %count.addr, align 8 + %conv = trunc i64 %3 to i32 + %call = call i32 @__fd_getdents(i32 %0, %struct.dirent64* %2, i32 %conv) + %conv1 = sext i32 %call to i64 + ret i64 %conv1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @kill(i32 %pid, i32 %sig) #3 { +entry: + %pid.addr = alloca i32, align 4 + %sig.addr = alloca i32, align 4 + store i32 %pid, i32* %pid.addr, align 4 + store i32 %sig, i32* %sig.addr, align 4 + call void @gs_warning.209(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.208, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 1, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @gs_warning.209(i8* %message) #3 { +entry: + %message.addr = alloca i8*, align 8 + store i8* %message, i8** %message.addr, align 8 + %0 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %0) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.7.210, i64 0, i64 0)) + ret void +} + +; Function Attrs: noinline nounwind returns_twice uwtable +define weak dso_local i32 @_setjmp(%struct.__jmp_buf_tag* %__env) #16 { +entry: + %__env.addr = alloca %struct.__jmp_buf_tag*, align 8 + store %struct.__jmp_buf_tag* %__env, %struct.__jmp_buf_tag** %__env.addr, align 8 + call void @gs_warning_once(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.1.211, i64 0, i64 0)) + ret i32 0 +} + +; Function Attrs: noinline noreturn nounwind uwtable +define dso_local void @longjmp(%struct.__jmp_buf_tag* %env, i32 %val) #6 { +entry: + %env.addr = alloca %struct.__jmp_buf_tag*, align 8 + %val.addr = alloca i32, align 4 + store %struct.__jmp_buf_tag* %env, %struct.__jmp_buf_tag** %env.addr, align 8 + store i32 %val, i32* %val.addr, align 4 + call void @gs_report_error.215(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.2.212, i64 0, i64 0), i32 37, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.3.213, i64 0, i64 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.4.214, i64 0, i64 0)) #24 + unreachable +} + +; Function Attrs: noinline noreturn nounwind uwtable +define internal void @gs_report_error.215(i8* %file, i32 %line, i8* %message, i8* %suffix) #6 { +entry: + %file.addr = alloca i8*, align 8 + %line.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %suffix.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i32 %line, i32* %line.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + store i8* %suffix, i8** %suffix.addr, align 8 + %0 = load i8*, i8** %file.addr, align 8 + call void @print_string(i8* %0) + %1 = load i32, i32* %line.addr, align 4 + call void (i32, ...) @sym_print(i32 %1) + %2 = load i8*, i8** %message.addr, align 8 + call void @print_string(i8* %2) + %3 = load i8*, i8** %suffix.addr, align 8 + call void @print_string(i8* %3) + call void @print_string(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.7.210, i64 0, i64 0)) + call void @stop(i32 -1) #24 + unreachable +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execl(i8* nonnull %path, i8* nonnull %arg, ...) #3 { +entry: + %path.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + call void @gs_warning.209(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.216, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execlp(i8* nonnull %file, i8* nonnull %arg, ...) #3 { +entry: + %file.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %file, i8** %file.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + call void @gs_warning.209(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.216, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execle(i8* nonnull %path, i8* nonnull %arg, ...) #3 { +entry: + %path.addr = alloca i8*, align 8 + %arg.addr = alloca i8*, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + call void @gs_warning.209(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.216, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execv(i8* nonnull %path, i8** nonnull %argv) #3 { +entry: + %path.addr = alloca i8*, align 8 + %argv.addr = alloca i8**, align 8 + store i8* %path, i8** %path.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + call void @gs_warning.209(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.216, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execvp(i8* nonnull %file, i8** nonnull %argv) #3 { +entry: + %file.addr = alloca i8*, align 8 + %argv.addr = alloca i8**, align 8 + store i8* %file, i8** %file.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + call void @gs_warning.209(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.216, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define weak dso_local i32 @execve(i8* nonnull %file, i8** nonnull %argv, i8** %envp) #3 { +entry: + %file.addr = alloca i8*, align 8 + %argv.addr = alloca i8**, align 8 + %envp.addr = alloca i8**, align 8 + store i8* %file, i8** %file.addr, align 8 + store i8** %argv, i8*** %argv.addr, align 8 + store i8** %envp, i8*** %envp.addr, align 8 + call void @gs_warning.209(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5.216, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 13, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind uwtable +define dso_local i32 @fork() #3 { +entry: + call void @gs_warning.209(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.6.217, i64 0, i64 0)) + %call = call i32* @__errno_location() #25 + store i32 12, i32* %call, align 4 + ret i32 -1 +} + +; Function Attrs: noinline nounwind returns_twice uwtable +define dso_local i32 @vfork() #16 { +entry: + %call = call i32 @fork() #11 + ret i32 %call +} + +; Function Attrs: noinline nounwind readnone uwtable +define i16** @__ctype_b_loc() #12 { +entry: + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %__ctype_b = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 0 + ret i16** %__ctype_b +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @__error(i32 %status, i32 %errnum, i8* %message, ...) #0 { +entry: + %status.addr = alloca i32, align 4 + %errnum.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %args = alloca [1 x %struct.__va_list_tag.0], align 16 + %__S = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %tmp = alloca i32, align 4 + store i32 %status, i32* %status.addr, align 4 + store i32 %errnum, i32* %errnum.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdout, align 8 + %call = call i32 @fflush(%struct.__STDIO_FILE_STRUCT.568* %0) #18 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %2 = load i8*, i8** %message.addr, align 8 + %arraydecay2 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %call3 = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %1, i8* %2, %struct.__va_list_tag.0* %arraydecay2) #18 + %arraydecay4 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay45 = bitcast %struct.__va_list_tag.0* %arraydecay4 to i8* + call void @llvm.va_end(i8* %arraydecay45) + %3 = load i32, i32* @error_message_count, align 4 + %inc = add i32 %3, 1 + store i32 %inc, i32* @error_message_count, align 4 + %4 = load i32, i32* %errnum.addr, align 4 + %tobool = icmp ne i32 %4, 0 + br i1 %tobool, label %if.then, label %if.end + +if.then: ; preds = %entry + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %6 = load i32, i32* %errnum.addr, align 4 + %call6 = call i8* @strerror(i32 %6) #19 + %call7 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %5, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.220, i64 0, i64 0), i8* %call6) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %7, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 5 + %9 = load i8*, i8** %__bufpos, align 8 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 8 + %11 = load i8*, i8** %__bufputc_u, align 8 + %cmp = icmp ult i8* %9, %11 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %if.end + %__bufpos8 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 5 + %13 = load i8*, i8** %__bufpos8, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %13, i32 1 + store i8* %incdec.ptr, i8** %__bufpos8, align 8 + store i8 10, i8* %13, align 1 + br label %cond.end + +cond.false: ; preds = %if.end + %call9 = call i32 @__fputc_unlocked(i32 10, %struct.__STDIO_FILE_STRUCT.568* %12) #18 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ 10, %cond.true ], [ %call9, %cond.false ] + store i32 %cond, i32* %tmp, align 4 + %14 = load i32, i32* %tmp, align 4 + %15 = load i32, i32* %status.addr, align 4 + %tobool10 = icmp ne i32 %15, 0 + br i1 %tobool10, label %if.then11, label %if.end12 + +if.then11: ; preds = %cond.end + %16 = load i32, i32* %status.addr, align 4 + call void @exit(i32 %16) #22 + unreachable + +if.end12: ; preds = %cond.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @__error_at_line(i32 %status, i32 %errnum, i8* %file_name, i32 %line_number, i8* %message, ...) #0 { +entry: + %status.addr = alloca i32, align 4 + %errnum.addr = alloca i32, align 4 + %file_name.addr = alloca i8*, align 8 + %line_number.addr = alloca i32, align 4 + %message.addr = alloca i8*, align 8 + %args = alloca [1 x %struct.__va_list_tag.0], align 16 + %__S = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %tmp = alloca i32, align 4 + store i32 %status, i32* %status.addr, align 4 + store i32 %errnum, i32* %errnum.addr, align 4 + store i8* %file_name, i8** %file_name.addr, align 8 + store i32 %line_number, i32* %line_number.addr, align 4 + store i8* %message, i8** %message.addr, align 8 + %0 = load i32, i32* @error_one_per_line, align 4 + %tobool = icmp ne i32 %0, 0 + br i1 %tobool, label %if.then, label %if.end4 + +if.then: ; preds = %entry + %1 = load i32, i32* @__error_at_line.old_line_number, align 4 + %2 = load i32, i32* %line_number.addr, align 4 + %cmp = icmp eq i32 %1, %2 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %if.then + %3 = load i8*, i8** %file_name.addr, align 8 + %4 = load i8*, i8** @__error_at_line.old_file_name, align 8 + %cmp1 = icmp eq i8* %3, %4 + br i1 %cmp1, label %if.end25, label %lor.lhs.false + +lor.lhs.false: ; preds = %land.lhs.true + %5 = load i8*, i8** @__error_at_line.old_file_name, align 8 + %6 = load i8*, i8** %file_name.addr, align 8 + %call = call i32 @strcmp(i8* %5, i8* %6) #20 + %tobool2 = icmp ne i32 %call, 0 + br i1 %tobool2, label %if.end, label %if.end25 + +if.end: ; preds = %lor.lhs.false, %if.then + %7 = load i8*, i8** %file_name.addr, align 8 + store i8* %7, i8** @__error_at_line.old_file_name, align 8 + %8 = load i32, i32* %line_number.addr, align 4 + store i32 %8, i32* @__error_at_line.old_line_number, align 4 + br label %if.end4 + +if.end4: ; preds = %if.end, %entry + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdout, align 8 + %call5 = call i32 @fflush(%struct.__STDIO_FILE_STRUCT.568* %9) #18 + %10 = load i8*, i8** %file_name.addr, align 8 + %cmp6 = icmp ne i8* %10, null + br i1 %cmp6, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end4 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %12 = load i8*, i8** %file_name.addr, align 8 + %13 = load i32, i32* %line_number.addr, align 4 + %call8 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %11, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.1.221, i64 0, i64 0), i8* %12, i32 %13) #18 + br label %if.end9 + +if.end9: ; preds = %if.then7, %if.end4 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay10 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay10) + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %15 = load i8*, i8** %message.addr, align 8 + %arraydecay11 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %call12 = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %14, i8* %15, %struct.__va_list_tag.0* %arraydecay11) #18 + %arraydecay13 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %args, i64 0, i64 0 + %arraydecay1314 = bitcast %struct.__va_list_tag.0* %arraydecay13 to i8* + call void @llvm.va_end(i8* %arraydecay1314) + %16 = load i32, i32* @error_message_count, align 4 + %inc = add i32 %16, 1 + store i32 %inc, i32* @error_message_count, align 4 + %17 = load i32, i32* %errnum.addr, align 4 + %tobool15 = icmp ne i32 %17, 0 + br i1 %tobool15, label %if.then16, label %if.end19 + +if.then16: ; preds = %if.end9 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %19 = load i32, i32* %errnum.addr, align 4 + %call17 = call i8* @strerror(i32 %19) #19 + %call18 = call i32 (%struct.__STDIO_FILE_STRUCT.568*, i8*, ...) @fprintf(%struct.__STDIO_FILE_STRUCT.568* %18, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.220, i64 0, i64 0), i8* %call17) #18 + br label %if.end19 + +if.end19: ; preds = %if.then16, %if.end9 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %20, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %21 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %21, i32 0, i32 5 + %22 = load i8*, i8** %__bufpos, align 8 + %23 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %23, i32 0, i32 8 + %24 = load i8*, i8** %__bufputc_u, align 8 + %cmp20 = icmp ult i8* %22, %24 + %25 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__S, align 8 + br i1 %cmp20, label %cond.true, label %cond.false + +cond.true: ; preds = %if.end19 + %__bufpos21 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %25, i32 0, i32 5 + %26 = load i8*, i8** %__bufpos21, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %26, i32 1 + store i8* %incdec.ptr, i8** %__bufpos21, align 8 + store i8 10, i8* %26, align 1 + br label %cond.end + +cond.false: ; preds = %if.end19 + %call22 = call i32 @__fputc_unlocked(i32 10, %struct.__STDIO_FILE_STRUCT.568* %25) #18 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ 10, %cond.true ], [ %call22, %cond.false ] + store i32 %cond, i32* %tmp, align 4 + %27 = load i32, i32* %tmp, align 4 + %28 = load i32, i32* %status.addr, align 4 + %tobool23 = icmp ne i32 %28, 0 + br i1 %tobool23, label %if.then24, label %if.end25 + +if.then24: ; preds = %cond.end + %29 = load i32, i32* %status.addr, align 4 + call void @exit(i32 %29) #22 + unreachable + +if.end25: ; preds = %land.lhs.true, %lor.lhs.false, %cond.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i8* @nl_langinfo(i32 %item) #0 { +entry: + %item.addr = alloca i32, align 4 + store i32 %item, i32* %item.addr, align 4 + %0 = load i32, i32* %item.addr, align 4 + %1 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %call = call i8* @nl_langinfo_l(i32 %0, %struct.__uclibc_locale_struct.201* %1) #18 + ret i8* %call +} + +; Function Attrs: noinline nounwind uwtable +define i8* @setlocale(i32 %category, i8* %locale) #0 { +entry: + %retval = alloca i8*, align 8 + %category.addr = alloca i32, align 4 + %locale.addr = alloca i8*, align 8 + store i32 %category, i32* %category.addr, align 4 + store i8* %locale, i8** %locale.addr, align 8 + %0 = load i32, i32* %category.addr, align 4 + %cmp = icmp ugt i32 %0, 6 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %locale.addr, align 8 + %cmp1 = icmp ne i8* %1, null + br i1 %cmp1, label %if.then2, label %if.end5 + +if.then2: ; preds = %if.end + %2 = load i32, i32* %category.addr, align 4 + %shl = shl i32 1, %2 + %3 = load i8*, i8** %locale.addr, align 8 + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__global_locale, align 8 + %call = call %struct.__uclibc_locale_struct.201* @newlocale(i32 %shl, i8* %3, %struct.__uclibc_locale_struct.201* %4) #19 + %tobool = icmp ne %struct.__uclibc_locale_struct.201* %call, null + br i1 %tobool, label %if.end4, label %if.then3 + +if.then3: ; preds = %if.then2 + store i8* null, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %if.then2 + %5 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__global_locale, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %5, i32 0, i32 6 + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + call void @update_hr_locale(i8* %arraydecay) #18 + br label %if.end5 + +if.end5: ; preds = %if.end4, %if.end + %6 = load i32, i32* %category.addr, align 4 + %mul = mul nsw i32 %6, 32 + %idx.ext = sext i32 %mul to i64 + %add.ptr = getelementptr inbounds i8, i8* getelementptr inbounds ([448 x i8], [448 x i8]* @hr_locale, i64 0, i64 0), i64 %idx.ext + store i8* %add.ptr, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end5, %if.then3, %if.then + %7 = load i8*, i8** %retval, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define internal void @update_hr_locale(i8* %spec) #0 { +entry: + %spec.addr = alloca i8*, align 8 + %loc = alloca i8*, align 8 + %s = alloca i8*, align 8 + %n = alloca i8*, align 8 + %i = alloca i32, align 4 + %category = alloca i32, align 4 + %done = alloca i32, align 4 + %at = alloca i8, align 1 + %q = alloca i8*, align 8 + store i8* %spec, i8** %spec.addr, align 8 + store i32 0, i32* %category, align 4 + store i32 0, i32* %done, align 4 + br label %do.body + +do.body: ; preds = %do.end127, %entry + %0 = load i8*, i8** %spec.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %0, i64 1 + store i8* %add.ptr, i8** %s, align 8 + %1 = load i32, i32* %category, align 4 + %mul = mul nsw i32 %1, 32 + %idx.ext = sext i32 %mul to i64 + %add.ptr1 = getelementptr inbounds i8, i8* getelementptr inbounds ([448 x i8], [448 x i8]* @hr_locale, i64 0, i64 0), i64 %idx.ext + store i8* %add.ptr1, i8** %n, align 8 + %2 = load i32, i32* %category, align 4 + %cmp = icmp eq i32 %2, 6 + br i1 %cmp, label %if.then, label %SKIP + +if.then: ; preds = %do.body + store i32 1, i32* %done, align 4 + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.then + %3 = load i32, i32* %i, align 4 + %cmp2 = icmp slt i32 %3, 5 + br i1 %cmp2, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %4 = load i8*, i8** %s, align 8 + %5 = load i32, i32* %i, align 4 + %idxprom = sext i32 %5 to i64 + %arrayidx = getelementptr inbounds i8, i8* %4, i64 %idxprom + %6 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %6 to i32 + %7 = load i8*, i8** %s, align 8 + %8 = load i32, i32* %i, align 4 + %add = add nsw i32 %8, 2 + %idxprom3 = sext i32 %add to i64 + %arrayidx4 = getelementptr inbounds i8, i8* %7, i64 %idxprom3 + %9 = load i8, i8* %arrayidx4, align 1 + %conv5 = zext i8 %9 to i32 + %cmp6 = icmp ne i32 %conv, %conv5 + br i1 %cmp6, label %SKIP, label %lor.lhs.false + +lor.lhs.false: ; preds = %for.body + %10 = load i8*, i8** %s, align 8 + %11 = load i32, i32* %i, align 4 + %add8 = add nsw i32 %11, 1 + %idxprom9 = sext i32 %add8 to i64 + %arrayidx10 = getelementptr inbounds i8, i8* %10, i64 %idxprom9 + %12 = load i8, i8* %arrayidx10, align 1 + %conv11 = zext i8 %12 to i32 + %13 = load i8*, i8** %s, align 8 + %14 = load i32, i32* %i, align 4 + %add12 = add nsw i32 %14, 3 + %idxprom13 = sext i32 %add12 to i64 + %arrayidx14 = getelementptr inbounds i8, i8* %13, i64 %idxprom13 + %15 = load i8, i8* %arrayidx14, align 1 + %conv15 = zext i8 %15 to i32 + %cmp16 = icmp ne i32 %conv11, %conv15 + br i1 %cmp16, label %SKIP, label %for.inc + +for.inc: ; preds = %lor.lhs.false + %16 = load i32, i32* %i, align 4 + %add19 = add nsw i32 %16, 2 + store i32 %add19, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + store i32 0, i32* %category, align 4 + br label %SKIP + +SKIP: ; preds = %do.body, %for.end, %for.body, %lor.lhs.false + %17 = load i32, i32* %category, align 4 + %cmp21 = icmp eq i32 %17, 6 + %18 = load i32, i32* %category, align 4 + %cond = select i1 %cmp21, i32 0, i32 %18 + store i32 %cond, i32* %i, align 4 + %19 = load i32, i32* %i, align 4 + %mul23 = mul nsw i32 2, %19 + %20 = load i8*, i8** %s, align 8 + %idx.ext24 = sext i32 %mul23 to i64 + %add.ptr25 = getelementptr inbounds i8, i8* %20, i64 %idx.ext24 + store i8* %add.ptr25, i8** %s, align 8 + br label %do.body26 + +do.body26: ; preds = %if.end122, %SKIP + %21 = load i8*, i8** %s, align 8 + %22 = load i8, i8* %21, align 1 + %conv27 = zext i8 %22 to i32 + %cmp28 = icmp ne i32 %conv27, 255 + br i1 %cmp28, label %if.then35, label %lor.lhs.false30 + +lor.lhs.false30: ; preds = %do.body26 + %23 = load i8*, i8** %s, align 8 + %arrayidx31 = getelementptr inbounds i8, i8* %23, i64 1 + %24 = load i8, i8* %arrayidx31, align 1 + %conv32 = zext i8 %24 to i32 + %cmp33 = icmp ne i32 %conv32, 255 + br i1 %cmp33, label %if.then35, label %if.end122 + +if.then35: ; preds = %lor.lhs.false30, %do.body26 + %25 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %25, i32 0, i32 31 + %arraydecay = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales, i64 0, i64 0 + %26 = load i8*, i8** %s, align 8 + %27 = load i8, i8* %26, align 1 + %conv36 = zext i8 %27 to i32 + %and = and i32 %conv36, 127 + %shl = shl i32 %and, 7 + %28 = load i8*, i8** %s, align 8 + %arrayidx37 = getelementptr inbounds i8, i8* %28, i64 1 + %29 = load i8, i8* %arrayidx37, align 1 + %conv38 = zext i8 %29 to i32 + %and39 = and i32 %conv38, 127 + %add40 = add nsw i32 %shl, %and39 + %mul41 = mul nsw i32 9, %add40 + %idx.ext42 = sext i32 %mul41 to i64 + %add.ptr43 = getelementptr inbounds i8, i8* %arraydecay, i64 %idx.ext42 + store i8* %add.ptr43, i8** %loc, align 8 + %30 = load i32, i32* %category, align 4 + %cmp44 = icmp eq i32 %30, 6 + br i1 %cmp44, label %if.then46, label %if.end54 + +if.then46: ; preds = %if.then35 + %31 = load i8*, i8** %n, align 8 + %32 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %32, i32 0, i32 34 + %arraydecay47 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names, i64 0, i64 0 + %33 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names48 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %33, i32 0, i32 34 + %34 = load i32, i32* %i, align 4 + %idxprom49 = sext i32 %34 to i64 + %arrayidx50 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names48, i64 0, i64 %idxprom49 + %35 = load i8, i8* %arrayidx50, align 1 + %conv51 = zext i8 %35 to i32 + %idx.ext52 = sext i32 %conv51 to i64 + %add.ptr53 = getelementptr inbounds i8, i8* %arraydecay47, i64 %idx.ext52 + %call = call i8* @stpcpy(i8* %31, i8* %add.ptr53) #19 + store i8* %call, i8** %n, align 8 + %36 = load i8*, i8** %n, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %36, i32 1 + store i8* %incdec.ptr, i8** %n, align 8 + store i8 61, i8* %36, align 1 + br label %if.end54 + +if.end54: ; preds = %if.then46, %if.then35 + %37 = load i8*, i8** %loc, align 8 + %38 = load i8, i8* %37, align 1 + %conv55 = zext i8 %38 to i32 + %cmp56 = icmp eq i32 %conv55, 0 + br i1 %cmp56, label %if.then58, label %if.else + +if.then58: ; preds = %if.end54 + %39 = load i8*, i8** %n, align 8 + %incdec.ptr59 = getelementptr inbounds i8, i8* %39, i32 1 + store i8* %incdec.ptr59, i8** %n, align 8 + store i8 67, i8* %39, align 1 + %40 = load i8*, i8** %n, align 8 + store i8 0, i8* %40, align 1 + br label %if.end120 + +if.else: ; preds = %if.end54 + store i8 0, i8* %at, align 1 + %41 = load i8*, i8** %n, align 8 + %42 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_names5 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %42, i32 0, i32 32 + %arraydecay60 = getelementptr inbounds [835 x i8], [835 x i8]* %locale_names5, i64 0, i64 0 + %43 = load i8*, i8** %loc, align 8 + %44 = load i8, i8* %43, align 1 + %conv61 = zext i8 %44 to i32 + %sub = sub nsw i32 %conv61, 1 + %mul62 = mul nsw i32 5, %sub + %idx.ext63 = sext i32 %mul62 to i64 + %add.ptr64 = getelementptr inbounds i8, i8* %arraydecay60, i64 %idx.ext63 + %call65 = call i8* @memcpy(i8* %41, i8* %add.ptr64, i64 5) #19 + %45 = load i8*, i8** %n, align 8 + %arrayidx66 = getelementptr inbounds i8, i8* %45, i64 2 + %46 = load i8, i8* %arrayidx66, align 1 + %conv67 = sext i8 %46 to i32 + %cmp68 = icmp ne i32 %conv67, 95 + br i1 %cmp68, label %if.then70, label %if.end73 + +if.then70: ; preds = %if.else + %47 = load i8*, i8** %n, align 8 + %arrayidx71 = getelementptr inbounds i8, i8* %47, i64 2 + %48 = load i8, i8* %arrayidx71, align 1 + store i8 %48, i8* %at, align 1 + %49 = load i8*, i8** %n, align 8 + %arrayidx72 = getelementptr inbounds i8, i8* %49, i64 2 + store i8 95, i8* %arrayidx72, align 1 + br label %if.end73 + +if.end73: ; preds = %if.then70, %if.else + %50 = load i8*, i8** %n, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %50, i64 5 + store i8* %add.ptr74, i8** %n, align 8 + %51 = load i8*, i8** %n, align 8 + %incdec.ptr75 = getelementptr inbounds i8, i8* %51, i32 1 + store i8* %incdec.ptr75, i8** %n, align 8 + store i8 46, i8* %51, align 1 + %52 = load i8*, i8** %loc, align 8 + %arrayidx76 = getelementptr inbounds i8, i8* %52, i64 2 + %53 = load i8, i8* %arrayidx76, align 1 + %conv77 = zext i8 %53 to i32 + %cmp78 = icmp eq i32 %conv77, 2 + br i1 %cmp78, label %if.then80, label %if.else82 + +if.then80: ; preds = %if.end73 + %54 = load i8*, i8** %n, align 8 + %call81 = call i8* @stpcpy(i8* %54, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf8.228, i64 0, i64 0)) #19 + store i8* %call81, i8** %n, align 8 + br label %if.end100 + +if.else82: ; preds = %if.end73 + %55 = load i8*, i8** %loc, align 8 + %arrayidx83 = getelementptr inbounds i8, i8* %55, i64 2 + %56 = load i8, i8* %arrayidx83, align 1 + %conv84 = zext i8 %56 to i32 + %cmp85 = icmp sge i32 %conv84, 3 + br i1 %cmp85, label %if.then87, label %if.end100 + +if.then87: ; preds = %if.else82 + %57 = load i8*, i8** %n, align 8 + %58 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %58, i32 0, i32 35 + %arraydecay88 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list, i64 0, i64 0 + %59 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list89 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %59, i32 0, i32 35 + %60 = load i8*, i8** %loc, align 8 + %arrayidx90 = getelementptr inbounds i8, i8* %60, i64 2 + %61 = load i8, i8* %arrayidx90, align 1 + %conv91 = zext i8 %61 to i32 + %sub92 = sub nsw i32 %conv91, 3 + %idxprom93 = sext i32 %sub92 to i64 + %arrayidx94 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list89, i64 0, i64 %idxprom93 + %62 = load i8, i8* %arrayidx94, align 1 + %conv95 = zext i8 %62 to i32 + %idx.ext96 = sext i32 %conv95 to i64 + %add.ptr97 = getelementptr inbounds i8, i8* %arraydecay88, i64 %idx.ext96 + %call98 = call i8* @stpcpy(i8* %57, i8* %add.ptr97) #19 + store i8* %call98, i8** %n, align 8 + br label %if.end100 + +if.end100: ; preds = %if.else82, %if.then87, %if.then80 + %63 = load i8, i8* %at, align 1 + %tobool = icmp ne i8 %63, 0 + br i1 %tobool, label %if.then101, label %if.end120 + +if.then101: ; preds = %if.end100 + %64 = load i8*, i8** %n, align 8 + %incdec.ptr102 = getelementptr inbounds i8, i8* %64, i32 1 + store i8* %incdec.ptr102, i8** %n, align 8 + store i8 64, i8* %64, align 1 + %65 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_at_modifiers = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %65, i32 0, i32 33 + %arraydecay103 = getelementptr inbounds [18 x i8], [18 x i8]* %locale_at_modifiers, i64 0, i64 0 + store i8* %arraydecay103, i8** %q, align 8 + br label %do.body104 + +do.body104: ; preds = %if.end113, %if.then101 + %66 = load i8*, i8** %q, align 8 + %arrayidx105 = getelementptr inbounds i8, i8* %66, i64 1 + %67 = load i8, i8* %arrayidx105, align 1 + %conv106 = sext i8 %67 to i32 + %68 = load i8, i8* %at, align 1 + %conv107 = sext i8 %68 to i32 + %cmp108 = icmp eq i32 %conv106, %conv107 + br i1 %cmp108, label %if.then110, label %if.end113 + +if.then110: ; preds = %do.body104 + %69 = load i8*, i8** %n, align 8 + %70 = load i8*, i8** %q, align 8 + %add.ptr111 = getelementptr inbounds i8, i8* %70, i64 2 + %call112 = call i8* @stpcpy(i8* %69, i8* %add.ptr111) #19 + store i8* %call112, i8** %n, align 8 + br label %if.end120 + +if.end113: ; preds = %do.body104 + %71 = load i8*, i8** %q, align 8 + %72 = load i8, i8* %71, align 1 + %conv114 = sext i8 %72 to i32 + %add115 = add nsw i32 2, %conv114 + %73 = load i8*, i8** %q, align 8 + %idx.ext116 = sext i32 %add115 to i64 + %add.ptr117 = getelementptr inbounds i8, i8* %73, i64 %idx.ext116 + store i8* %add.ptr117, i8** %q, align 8 + %74 = load i8*, i8** %q, align 8 + %75 = load i8, i8* %74, align 1 + %tobool118 = icmp ne i8 %75, 0 + br i1 %tobool118, label %do.body104, label %if.end120 + +if.end120: ; preds = %if.end100, %if.end113, %if.then110, %if.then58 + %76 = load i8*, i8** %n, align 8 + %incdec.ptr121 = getelementptr inbounds i8, i8* %76, i32 1 + store i8* %incdec.ptr121, i8** %n, align 8 + store i8 59, i8* %76, align 1 + br label %if.end122 + +if.end122: ; preds = %if.end120, %lor.lhs.false30 + %77 = load i8*, i8** %s, align 8 + %add.ptr123 = getelementptr inbounds i8, i8* %77, i64 2 + store i8* %add.ptr123, i8** %s, align 8 + %78 = load i32, i32* %i, align 4 + %inc = add nsw i32 %78, 1 + store i32 %inc, i32* %i, align 4 + %79 = load i32, i32* %category, align 4 + %cmp125 = icmp slt i32 %inc, %79 + br i1 %cmp125, label %do.body26, label %do.end127 + +do.end127: ; preds = %if.end122 + %80 = load i8*, i8** %n, align 8 + %incdec.ptr128 = getelementptr inbounds i8, i8* %80, i32 -1 + store i8* %incdec.ptr128, i8** %n, align 8 + store i8 0, i8* %incdec.ptr128, align 1 + %81 = load i32, i32* %category, align 4 + %inc129 = add nsw i32 %81, 1 + store i32 %inc129, i32* %category, align 4 + %82 = load i32, i32* %done, align 4 + %tobool131 = icmp ne i32 %82, 0 + %lnot = xor i1 %tobool131, true + br i1 %lnot, label %do.body, label %do.end132 + +do.end132: ; preds = %do.end127 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define void @setutent() #0 { +entry: + call void @__setutent() #18 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define internal void @__setutent() #0 { +entry: + %ret = alloca i32, align 4 + %0 = load i32, i32* @static_fd, align 4 + %cmp = icmp eq i32 %0, -1 + br i1 %cmp, label %if.then, label %if.end16 + +if.then: ; preds = %entry + %1 = load i8*, i8** @static_ut_name, align 8 + %call = call i32 (i8*, i32, ...) @open(i8* %1, i32 2) #18 + store i32 %call, i32* @static_fd, align 4 + %cmp1 = icmp slt i32 %call, 0 + br i1 %cmp1, label %if.then2, label %if.end6 + +if.then2: ; preds = %if.then + %2 = load i8*, i8** @static_ut_name, align 8 + %call3 = call i32 (i8*, i32, ...) @open(i8* %2, i32 0) #18 + store i32 %call3, i32* @static_fd, align 4 + %cmp4 = icmp slt i32 %call3, 0 + br i1 %cmp4, label %bummer, label %if.end6 + +if.end6: ; preds = %if.then2, %if.then + %3 = load i32, i32* @static_fd, align 4 + %call7 = call i32 (i32, i32, ...) @fcntl(i32 %3, i32 1, i32 0) #18 + store i32 %call7, i32* %ret, align 4 + %4 = load i32, i32* %ret, align 4 + %cmp8 = icmp sge i32 %4, 0 + br i1 %cmp8, label %if.then9, label %if.end11 + +if.then9: ; preds = %if.end6 + %5 = load i32, i32* @static_fd, align 4 + %6 = load i32, i32* %ret, align 4 + %or = or i32 %6, 1 + %call10 = call i32 (i32, i32, ...) @fcntl(i32 %5, i32 2, i32 %or) #18 + store i32 %call10, i32* %ret, align 4 + br label %if.end11 + +if.end11: ; preds = %if.then9, %if.end6 + %7 = load i32, i32* %ret, align 4 + %cmp12 = icmp slt i32 %7, 0 + br i1 %cmp12, label %bummer, label %if.end16 + +bummer: ; preds = %if.end11, %if.then2 + store i32 -1, i32* @static_fd, align 4 + %8 = load i32, i32* @static_fd, align 4 + %call14 = call i32 @close(i32 %8) #18 + br label %return + +if.end16: ; preds = %if.end11, %entry + %9 = load i32, i32* @static_fd, align 4 + %call17 = call i64 @lseek(i32 %9, i64 0, i32 0) #19 + br label %return + +return: ; preds = %if.end16, %bummer + ret void +} + +; Function Attrs: noinline nounwind uwtable +define void @endutent() #0 { +entry: + %0 = load i32, i32* @static_fd, align 4 + %cmp = icmp ne i32 %0, -1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load i32, i32* @static_fd, align 4 + %call = call i32 @close(i32 %1) #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + store i32 -1, i32* @static_fd, align 4 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @getutent() #0 { +entry: + %ret = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* null, %struct.utmp.323** %ret, align 8 + %0 = load i32, i32* @static_fd, align 4 + %call = call %struct.utmp.323* @__getutent(i32 %0) #18 + store %struct.utmp.323* %call, %struct.utmp.323** %ret, align 8 + %1 = load %struct.utmp.323*, %struct.utmp.323** %ret, align 8 + ret %struct.utmp.323* %1 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.utmp.323* @__getutent(i32 %utmp_fd) #0 { +entry: + %retval = alloca %struct.utmp.323*, align 8 + %utmp_fd.addr = alloca i32, align 4 + %ret = alloca %struct.utmp.323*, align 8 + store i32 %utmp_fd, i32* %utmp_fd.addr, align 4 + store %struct.utmp.323* null, %struct.utmp.323** %ret, align 8 + %0 = load i32, i32* %utmp_fd.addr, align 4 + %cmp = icmp eq i32 %0, -1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + call void @__setutent() #18 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i32, i32* %utmp_fd.addr, align 4 + %cmp1 = icmp eq i32 %1, -1 + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + store %struct.utmp.323* null, %struct.utmp.323** %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %2 = load i32, i32* %utmp_fd.addr, align 4 + %call = call i64 @read(i32 %2, i8* bitcast (%struct.utmp.323* @static_utmp to i8*), i64 400) #18 + %cmp4 = icmp eq i64 %call, 400 + br i1 %cmp4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.end3 + store %struct.utmp.323* @static_utmp, %struct.utmp.323** %ret, align 8 + br label %if.end6 + +if.end6: ; preds = %if.then5, %if.end3 + %3 = load %struct.utmp.323*, %struct.utmp.323** %ret, align 8 + store %struct.utmp.323* %3, %struct.utmp.323** %retval, align 8 + br label %return + +return: ; preds = %if.end6, %if.then2 + %4 = load %struct.utmp.323*, %struct.utmp.323** %retval, align 8 + ret %struct.utmp.323* %4 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @getutid(%struct.utmp.323* %utmp_entry) #0 { +entry: + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + %ret = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + store %struct.utmp.323* null, %struct.utmp.323** %ret, align 8 + %0 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %call = call %struct.utmp.323* @__getutid(%struct.utmp.323* %0) #18 + store %struct.utmp.323* %call, %struct.utmp.323** %ret, align 8 + %1 = load %struct.utmp.323*, %struct.utmp.323** %ret, align 8 + ret %struct.utmp.323* %1 +} + +; Function Attrs: noinline nounwind uwtable +define internal %struct.utmp.323* @__getutid(%struct.utmp.323* %utmp_entry) #0 { +entry: + %retval = alloca %struct.utmp.323*, align 8 + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + %lutmp = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end47, %entry + %0 = load i32, i32* @static_fd, align 4 + %call = call %struct.utmp.323* @__getutent(i32 %0) #18 + store %struct.utmp.323* %call, %struct.utmp.323** %lutmp, align 8 + %cmp = icmp ne %struct.utmp.323* %call, null + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %1 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %1, i32 0, i32 0 + %2 = load i16, i16* %ut_type, align 8 + %conv = sext i16 %2 to i32 + %cmp1 = icmp eq i32 %conv, 1 + br i1 %cmp1, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.body + %3 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type3 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %3, i32 0, i32 0 + %4 = load i16, i16* %ut_type3, align 8 + %conv4 = sext i16 %4 to i32 + %cmp5 = icmp eq i32 %conv4, 2 + br i1 %cmp5, label %land.lhs.true, label %lor.lhs.false7 + +lor.lhs.false7: ; preds = %lor.lhs.false + %5 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type8 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %5, i32 0, i32 0 + %6 = load i16, i16* %ut_type8, align 8 + %conv9 = sext i16 %6 to i32 + %cmp10 = icmp eq i32 %conv9, 3 + br i1 %cmp10, label %land.lhs.true, label %lor.lhs.false12 + +lor.lhs.false12: ; preds = %lor.lhs.false7 + %7 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type13 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %7, i32 0, i32 0 + %8 = load i16, i16* %ut_type13, align 8 + %conv14 = sext i16 %8 to i32 + %cmp15 = icmp eq i32 %conv14, 4 + br i1 %cmp15, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %lor.lhs.false12, %lor.lhs.false7, %lor.lhs.false, %while.body + %9 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_type17 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %9, i32 0, i32 0 + %10 = load i16, i16* %ut_type17, align 8 + %conv18 = sext i16 %10 to i32 + %11 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type19 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %11, i32 0, i32 0 + %12 = load i16, i16* %ut_type19, align 8 + %conv20 = sext i16 %12 to i32 + %cmp21 = icmp eq i32 %conv18, %conv20 + br i1 %cmp21, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %13 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + store %struct.utmp.323* %13, %struct.utmp.323** %retval, align 8 + br label %return + +if.end: ; preds = %land.lhs.true, %lor.lhs.false12 + %14 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type23 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %14, i32 0, i32 0 + %15 = load i16, i16* %ut_type23, align 8 + %conv24 = sext i16 %15 to i32 + %cmp25 = icmp eq i32 %conv24, 5 + br i1 %cmp25, label %land.lhs.true42, label %lor.lhs.false27 + +lor.lhs.false27: ; preds = %if.end + %16 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type28 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %16, i32 0, i32 0 + %17 = load i16, i16* %ut_type28, align 8 + %conv29 = sext i16 %17 to i32 + %cmp30 = icmp eq i32 %conv29, 8 + br i1 %cmp30, label %land.lhs.true42, label %lor.lhs.false32 + +lor.lhs.false32: ; preds = %lor.lhs.false27 + %18 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type33 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %18, i32 0, i32 0 + %19 = load i16, i16* %ut_type33, align 8 + %conv34 = sext i16 %19 to i32 + %cmp35 = icmp eq i32 %conv34, 6 + br i1 %cmp35, label %land.lhs.true42, label %lor.lhs.false37 + +lor.lhs.false37: ; preds = %lor.lhs.false32 + %20 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_type38 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %20, i32 0, i32 0 + %21 = load i16, i16* %ut_type38, align 8 + %conv39 = sext i16 %21 to i32 + %cmp40 = icmp eq i32 %conv39, 7 + br i1 %cmp40, label %land.lhs.true42, label %if.end47 + +land.lhs.true42: ; preds = %lor.lhs.false37, %lor.lhs.false32, %lor.lhs.false27, %if.end + %22 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_id = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %22, i32 0, i32 3 + %arraydecay = getelementptr inbounds [4 x i8], [4 x i8]* %ut_id, i64 0, i64 0 + %23 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_id43 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %23, i32 0, i32 3 + %arraydecay44 = getelementptr inbounds [4 x i8], [4 x i8]* %ut_id43, i64 0, i64 0 + %call45 = call i32 @strncmp(i8* %arraydecay, i8* %arraydecay44, i64 4) #20 + %tobool = icmp ne i32 %call45, 0 + br i1 %tobool, label %if.end47, label %if.then46 + +if.then46: ; preds = %land.lhs.true42 + %24 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + store %struct.utmp.323* %24, %struct.utmp.323** %retval, align 8 + br label %return + +if.end47: ; preds = %land.lhs.true42, %lor.lhs.false37 + br label %while.cond + +while.end: ; preds = %while.cond + store %struct.utmp.323* null, %struct.utmp.323** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then46, %if.then + %25 = load %struct.utmp.323*, %struct.utmp.323** %retval, align 8 + ret %struct.utmp.323* %25 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @getutline(%struct.utmp.323* %utmp_entry) #0 { +entry: + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + %lutmp = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + store %struct.utmp.323* null, %struct.utmp.323** %lutmp, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %0 = load i32, i32* @static_fd, align 4 + %call = call %struct.utmp.323* @__getutent(i32 %0) #18 + store %struct.utmp.323* %call, %struct.utmp.323** %lutmp, align 8 + %cmp = icmp ne %struct.utmp.323* %call, null + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %1 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_type = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %1, i32 0, i32 0 + %2 = load i16, i16* %ut_type, align 8 + %conv = sext i16 %2 to i32 + %cmp1 = icmp eq i32 %conv, 7 + br i1 %cmp1, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %while.body + %3 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_type3 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %3, i32 0, i32 0 + %4 = load i16, i16* %ut_type3, align 8 + %conv4 = sext i16 %4 to i32 + %cmp5 = icmp eq i32 %conv4, 6 + br i1 %cmp5, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %lor.lhs.false, %while.body + %5 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + %ut_line = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %5, i32 0, i32 2 + %arraydecay = getelementptr inbounds [32 x i8], [32 x i8]* %ut_line, i64 0, i64 0 + %6 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %ut_line7 = getelementptr inbounds %struct.utmp.323, %struct.utmp.323* %6, i32 0, i32 2 + %arraydecay8 = getelementptr inbounds [32 x i8], [32 x i8]* %ut_line7, i64 0, i64 0 + %call9 = call i32 @strcmp(i8* %arraydecay, i8* %arraydecay8) #20 + %tobool = icmp ne i32 %call9, 0 + br i1 %tobool, label %if.end, label %while.end + +if.end: ; preds = %land.lhs.true, %lor.lhs.false + br label %while.cond + +while.end: ; preds = %land.lhs.true, %while.cond + %7 = load %struct.utmp.323*, %struct.utmp.323** %lutmp, align 8 + ret %struct.utmp.323* %7 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.utmp.323* @pututline(%struct.utmp.323* %utmp_entry) #0 { +entry: + %utmp_entry.addr = alloca %struct.utmp.323*, align 8 + store %struct.utmp.323* %utmp_entry, %struct.utmp.323** %utmp_entry.addr, align 8 + %0 = load i32, i32* @static_fd, align 4 + %call = call i64 @lseek(i32 %0, i64 -400, i32 1) #19 + %1 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %call1 = call %struct.utmp.323* @__getutid(%struct.utmp.323* %1) #18 + %cmp = icmp ne %struct.utmp.323* %call1, null + %2 = load i32, i32* @static_fd, align 4 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %call2 = call i64 @lseek(i32 %2, i64 -400, i32 1) #19 + br label %if.end + +if.else: ; preds = %entry + %call3 = call i64 @lseek(i32 %2, i64 0, i32 2) #19 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %3 = load i32, i32* @static_fd, align 4 + %4 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + %5 = bitcast %struct.utmp.323* %4 to i8* + %call4 = call i64 @write(i32 %3, i8* %5, i64 400) #18 + %cmp5 = icmp ne i64 %call4, 400 + br i1 %cmp5, label %if.then6, label %if.end7 + +if.then6: ; preds = %if.end + store %struct.utmp.323* null, %struct.utmp.323** %utmp_entry.addr, align 8 + br label %if.end7 + +if.end7: ; preds = %if.then6, %if.end + %6 = load %struct.utmp.323*, %struct.utmp.323** %utmp_entry.addr, align 8 + ret %struct.utmp.323* %6 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @utmpname(i8* %new_ut_name) #0 { +entry: + %new_ut_name.addr = alloca i8*, align 8 + store i8* %new_ut_name, i8** %new_ut_name.addr, align 8 + %0 = load i8*, i8** %new_ut_name.addr, align 8 + %cmp = icmp ne i8* %0, null + br i1 %cmp, label %if.then, label %if.end6 + +if.then: ; preds = %entry + %1 = load i8*, i8** @static_ut_name, align 8 + %cmp1 = icmp ne i8* %1, getelementptr inbounds ([14 x i8], [14 x i8]* @default_file_name, i64 0, i64 0) + br i1 %cmp1, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + %2 = load i8*, i8** @static_ut_name, align 8 + call void @free(i8* %2) #19 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %3 = load i8*, i8** %new_ut_name.addr, align 8 + %call = call noalias i8* @strdup(i8* %3) #19 + store i8* %call, i8** @static_ut_name, align 8 + %4 = load i8*, i8** @static_ut_name, align 8 + %cmp3 = icmp eq i8* %4, null + %spec.store.select = select i1 %cmp3, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @default_file_name, i64 0, i64 0), i8* %call + store i8* %spec.store.select, i8** @static_ut_name, align 8 + br label %if.end6 + +if.end6: ; preds = %if.end, %entry + %5 = load i32, i32* @static_fd, align 4 + %cmp7 = icmp ne i32 %5, -1 + br i1 %cmp7, label %if.then8, label %if.end10 + +if.then8: ; preds = %if.end6 + %6 = load i32, i32* @static_fd, align 4 + %call9 = call i32 @close(i32 %6) #18 + br label %if.end10 + +if.end10: ; preds = %if.then8, %if.end6 + store i32 -1, i32* @static_fd, align 4 + ret i32 0 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_wchar_utf8sntowcs(i32* noalias %pwc, i64 %wn, i8** noalias %src, i64 %n, %struct.__mbstate_t.512* %ps, i32 %allow_continuation) #0 { +entry: + %retval = alloca i64, align 8 + %pwc.addr = alloca i32*, align 8 + %wn.addr = alloca i64, align 8 + %src.addr = alloca i8**, align 8 + %n.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %allow_continuation.addr = alloca i32, align 4 + %s = alloca i8*, align 8 + %mask = alloca i32, align 4 + %wc = alloca i32, align 4 + %wcbuf = alloca [1 x i32], align 4 + %count = alloca i64, align 8 + %incr = alloca i32, align 4 + store i32* %pwc, i32** %pwc.addr, align 8 + store i64 %wn, i64* %wn.addr, align 8 + store i8** %src, i8*** %src.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + store i32 %allow_continuation, i32* %allow_continuation.addr, align 4 + %0 = load i8**, i8*** %src.addr, align 8 + %1 = load i8*, i8** %0, align 8 + store i8* %1, i8** %s, align 8 + store i32 1, i32* %incr, align 4 + %2 = load i32*, i32** %pwc.addr, align 8 + %tobool = icmp ne i32* %2, null + br i1 %tobool, label %lor.lhs.false, label %if.then + +lor.lhs.false: ; preds = %entry + %3 = load i32*, i32** %pwc.addr, align 8 + %4 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %5 = bitcast %struct.__mbstate_t.512* %4 to i32* + %cmp = icmp eq i32* %3, %5 + br i1 %cmp, label %if.then, label %if.end3 + +if.then: ; preds = %lor.lhs.false, %entry + %6 = load i32*, i32** %pwc.addr, align 8 + %tobool1 = icmp ne i32* %6, null + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + store i64 -1, i64* %wn.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %arraydecay = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay, i32** %pwc.addr, align 8 + store i32 0, i32* %incr, align 4 + br label %if.end3 + +if.end3: ; preds = %if.end, %lor.lhs.false + %7 = load i64, i64* %wn.addr, align 8 + store i64 %7, i64* %count, align 8 + %tobool4 = icmp ne i64 %7, 0 + br i1 %tobool4, label %if.end6, label %if.then5 + +if.then5: ; preds = %if.end3 + store i64 0, i64* %retval, align 8 + br label %return + +if.end6: ; preds = %if.end3 + %8 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %8, i32 0, i32 0 + %9 = load i32, i32* %__mask, align 4 + store i32 %9, i32* %mask, align 4 + %cmp7 = icmp ne i32 %9, 0 + br i1 %cmp7, label %if.then8, label %do.body + +if.then8: ; preds = %if.end6 + %10 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %10, i32 0, i32 1 + %11 = load i32, i32* %__wc, align 4 + store i32 %11, i32* %wc, align 4 + %cmp9 = icmp ne i32 %11, 65535 + br i1 %cmp9, label %if.then10, label %if.end14 + +if.then10: ; preds = %if.then8 + %12 = load i64, i64* %n.addr, align 8 + %tobool11 = icmp ne i64 %12, 0 + br i1 %tobool11, label %while.cond, label %DONE + +if.end14: ; preds = %if.then8 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +do.body: ; preds = %if.end6, %land.rhs + %13 = load i64, i64* %n.addr, align 8 + %tobool16 = icmp ne i64 %13, 0 + br i1 %tobool16, label %if.end18, label %DONE + +if.end18: ; preds = %do.body + %14 = load i64, i64* %n.addr, align 8 + %dec = add i64 %14, -1 + store i64 %dec, i64* %n.addr, align 8 + %15 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %15, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %16 = load i8, i8* %15, align 1 + %conv = zext i8 %16 to i32 + store i32 %conv, i32* %wc, align 4 + %cmp19 = icmp uge i32 %conv, 128 + br i1 %cmp19, label %if.then21, label %COMPLETE + +if.then21: ; preds = %if.end18 + store i32 64, i32* %mask, align 4 + %17 = load i8*, i8** %s, align 8 + %arrayidx = getelementptr inbounds i8, i8* %17, i64 -1 + %18 = load i8, i8* %arrayidx, align 1 + %conv22 = sext i8 %18 to i32 + %sub = sub nsw i32 %conv22, 192 + %conv23 = trunc i32 %sub to i8 + %conv24 = zext i8 %conv23 to i32 + %cmp25 = icmp slt i32 %conv24, 62 + br i1 %cmp25, label %START, label %BAD + +BAD: ; preds = %if.end52, %lor.lhs.false55, %lor.lhs.false59, %while.body, %if.then21 + %19 = load i32, i32* %mask, align 4 + %20 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask29 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %20, i32 0, i32 0 + store i32 %19, i32* %__mask29, align 4 + %21 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc30 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %21, i32 0, i32 1 + store i32 65535, i32* %__wc30, align 4 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +while.cond: ; preds = %START, %if.then10 + %22 = load i64, i64* %n.addr, align 8 + %tobool31 = icmp ne i64 %22, 0 + br i1 %tobool31, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %23 = load i64, i64* %n.addr, align 8 + %dec32 = add i64 %23, -1 + store i64 %dec32, i64* %n.addr, align 8 + %24 = load i8*, i8** %s, align 8 + %25 = load i8, i8* %24, align 1 + %conv33 = sext i8 %25 to i32 + %and = and i32 %conv33, 192 + %cmp34 = icmp ne i32 %and, 128 + br i1 %cmp34, label %BAD, label %if.end37 + +if.end37: ; preds = %while.body + %26 = load i32, i32* %mask, align 4 + %shl = shl i32 %26, 5 + store i32 %shl, i32* %mask, align 4 + %27 = load i32, i32* %wc, align 4 + %shl38 = shl i32 %27, 6 + store i32 %shl38, i32* %wc, align 4 + %28 = load i8*, i8** %s, align 8 + %29 = load i8, i8* %28, align 1 + %conv39 = sext i8 %29 to i32 + %and40 = and i32 %conv39, 63 + %30 = load i32, i32* %wc, align 4 + %add = add i32 %30, %and40 + store i32 %add, i32* %wc, align 4 + %31 = load i8*, i8** %s, align 8 + %incdec.ptr41 = getelementptr inbounds i8, i8* %31, i32 1 + store i8* %incdec.ptr41, i8** %s, align 8 + br label %START + +START: ; preds = %if.then21, %if.end37 + %32 = load i32, i32* %mask, align 4 + %shl42 = shl i32 %32, 1 + %neg = xor i32 %shl42, -1 + %33 = load i32, i32* %wc, align 4 + %and43 = and i32 %33, %neg + store i32 %and43, i32* %wc, align 4 + %34 = load i32, i32* %wc, align 4 + %35 = load i32, i32* %mask, align 4 + %and44 = and i32 %34, %35 + %cmp45 = icmp eq i32 %and44, 0 + br i1 %cmp45, label %if.then47, label %while.cond + +if.then47: ; preds = %START + %36 = load i32, i32* %mask, align 4 + %shr = lshr i32 %36, 5 + store i32 %shr, i32* %mask, align 4 + %cmp48 = icmp eq i32 %shr, 64 + br i1 %cmp48, label %if.then50, label %if.end52 + +if.then50: ; preds = %if.then47 + %37 = load i32, i32* %mask, align 4 + %38 = load i32, i32* %mask, align 4 + %add51 = add i32 %38, %37 + store i32 %add51, i32* %mask, align 4 + br label %if.end52 + +if.end52: ; preds = %if.then50, %if.then47 + %39 = load i32, i32* %wc, align 4 + %40 = load i32, i32* %mask, align 4 + %cmp53 = icmp ult i32 %39, %40 + br i1 %cmp53, label %BAD, label %lor.lhs.false55 + +lor.lhs.false55: ; preds = %if.end52 + %41 = load i32, i32* %wc, align 4 + %sub56 = sub i32 %41, 65534 + %cmp57 = icmp ult i32 %sub56, 2 + br i1 %cmp57, label %BAD, label %lor.lhs.false59 + +lor.lhs.false59: ; preds = %lor.lhs.false55 + %42 = load i32, i32* %wc, align 4 + %sub60 = sub i32 %42, 55296 + %cmp61 = icmp ult i32 %sub60, 2048 + br i1 %cmp61, label %BAD, label %COMPLETE + +while.end: ; preds = %while.cond + %43 = load i32, i32* %allow_continuation.addr, align 4 + %tobool66 = icmp ne i32 %43, 0 + br i1 %tobool66, label %if.end77, label %if.then67 + +if.then67: ; preds = %while.end + %44 = load i64, i64* %count, align 8 + %45 = load i64, i64* %wn.addr, align 8 + %cmp68 = icmp ne i64 %44, %45 + br i1 %cmp68, label %if.then70, label %do.body72 + +if.then70: ; preds = %if.then67 + store i64 0, i64* %retval, align 8 + br label %return + +do.body72: ; preds = %if.then67, %do.body72 + %46 = load i8*, i8** %s, align 8 + %incdec.ptr73 = getelementptr inbounds i8, i8* %46, i32 -1 + store i8* %incdec.ptr73, i8** %s, align 8 + %47 = load i32, i32* %mask, align 4 + %shr74 = lshr i32 %47, 5 + store i32 %shr74, i32* %mask, align 4 + %cmp75 = icmp uge i32 %shr74, 64 + br i1 %cmp75, label %do.body72, label %DONE + +if.end77: ; preds = %while.end + %48 = load i32, i32* %mask, align 4 + %49 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask78 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %49, i32 0, i32 0 + store i32 %48, i32* %__mask78, align 4 + %50 = load i32, i32* %wc, align 4 + %51 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc79 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %51, i32 0, i32 1 + store i32 %50, i32* %__wc79, align 4 + %52 = load i8*, i8** %s, align 8 + %53 = load i8**, i8*** %src.addr, align 8 + store i8* %52, i8** %53, align 8 + store i64 -2, i64* %retval, align 8 + br label %return + +COMPLETE: ; preds = %if.end18, %lor.lhs.false59 + %54 = load i32, i32* %wc, align 4 + %55 = load i32*, i32** %pwc.addr, align 8 + store i32 %54, i32* %55, align 4 + %56 = load i32, i32* %incr, align 4 + %57 = load i32*, i32** %pwc.addr, align 8 + %idx.ext = sext i32 %56 to i64 + %add.ptr = getelementptr inbounds i32, i32* %57, i64 %idx.ext + store i32* %add.ptr, i32** %pwc.addr, align 8 + %58 = load i32, i32* %wc, align 4 + %tobool82 = icmp ne i32 %58, 0 + br i1 %tobool82, label %land.rhs, label %do.end85 + +land.rhs: ; preds = %COMPLETE + %59 = load i64, i64* %count, align 8 + %dec83 = add i64 %59, -1 + store i64 %dec83, i64* %count, align 8 + %tobool84 = icmp ne i64 %dec83, 0 + br i1 %tobool84, label %do.body, label %do.end85 + +do.end85: ; preds = %COMPLETE, %land.rhs + %60 = load i32, i32* %wc, align 4 + %tobool86 = icmp ne i32 %60, 0 + br i1 %tobool86, label %DONE, label %if.then87 + +if.then87: ; preds = %do.end85 + store i8* null, i8** %s, align 8 + br label %DONE + +DONE: ; preds = %do.end85, %if.then87, %do.body72, %do.body, %if.then10 + %61 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask89 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %61, i32 0, i32 0 + store i32 0, i32* %__mask89, align 4 + %62 = load i32*, i32** %pwc.addr, align 8 + %arraydecay90 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %cmp91 = icmp ne i32* %62, %arraydecay90 + br i1 %cmp91, label %if.then93, label %if.end94 + +if.then93: ; preds = %DONE + %63 = load i8*, i8** %s, align 8 + %64 = load i8**, i8*** %src.addr, align 8 + store i8* %63, i8** %64, align 8 + br label %if.end94 + +if.end94: ; preds = %if.then93, %DONE + %65 = load i64, i64* %wn.addr, align 8 + %66 = load i64, i64* %count, align 8 + %sub95 = sub i64 %65, %66 + store i64 %sub95, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end94, %if.end77, %if.then70, %BAD, %if.end14, %if.then5 + %67 = load i64, i64* %retval, align 8 + ret i64 %67 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @mbrtowc(i32* noalias %pwc, i8* noalias %s, i64 %n, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %retval = alloca i64, align 8 + %pwc.addr = alloca i32*, align 8 + %s.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %wcbuf = alloca [1 x i32], align 4 + %p = alloca i8*, align 8 + %r = alloca i64, align 8 + %empty_string = alloca [1 x i8], align 1 + store i32* %pwc, i32** %pwc.addr, align 8 + store i8* %s, i8** %s.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %tobool = icmp ne %struct.__mbstate_t.512* %0, null + %spec.store.select = select i1 %tobool, %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512* @mbrtowc.mbstate + store %struct.__mbstate_t.512* %spec.store.select, %struct.__mbstate_t.512** %ps.addr, align 8 + %1 = load i8*, i8** %s.addr, align 8 + %tobool1 = icmp ne i8* %1, null + br i1 %tobool1, label %if.else, label %if.then2 + +if.then2: ; preds = %entry + %2 = load i8*, i8** %s.addr, align 8 + %3 = bitcast i8* %2 to i32* + store i32* %3, i32** %pwc.addr, align 8 + %arrayidx = getelementptr inbounds [1 x i8], [1 x i8]* %empty_string, i64 0, i64 0 + store i8 0, i8* %arrayidx, align 1 + %arraydecay = getelementptr inbounds [1 x i8], [1 x i8]* %empty_string, i64 0, i64 0 + store i8* %arraydecay, i8** %s.addr, align 8 + store i64 1, i64* %n.addr, align 8 + br label %if.end7 + +if.else: ; preds = %entry + %4 = load i64, i64* %n.addr, align 8 + %tobool3 = icmp ne i64 %4, 0 + br i1 %tobool3, label %if.end7, label %if.then4 + +if.then4: ; preds = %if.else + %5 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %5, i32 0, i32 0 + %6 = load i32, i32* %__mask, align 4 + %tobool5 = icmp ne i32 %6, 0 + br i1 %tobool5, label %land.rhs, label %land.end + +land.rhs: ; preds = %if.then4 + %7 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__wc = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %7, i32 0, i32 1 + %8 = load i32, i32* %__wc, align 4 + %cmp = icmp eq i32 %8, 65535 + br label %land.end + +land.end: ; preds = %land.rhs, %if.then4 + %9 = phi i1 [ false, %if.then4 ], [ %cmp, %land.rhs ] + %10 = zext i1 %9 to i64 + %cond = select i1 %9, i64 -1, i64 -2 + store i64 %cond, i64* %retval, align 8 + br label %return + +if.end7: ; preds = %if.else, %if.then2 + %11 = load i8*, i8** %s.addr, align 8 + store i8* %11, i8** %p, align 8 + %12 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %12, i32 0, i32 9 + %13 = load i8, i8* %encoding, align 8 + %conv = zext i8 %13 to i32 + %cmp8 = icmp eq i32 %conv, 1 + br i1 %cmp8, label %if.then10, label %if.end18 + +if.then10: ; preds = %if.end7 + %14 = load i32*, i32** %pwc.addr, align 8 + %tobool11 = icmp ne i32* %14, null + br i1 %tobool11, label %if.end14, label %if.then12 + +if.then12: ; preds = %if.then10 + %arraydecay13 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay13, i32** %pwc.addr, align 8 + br label %if.end14 + +if.end14: ; preds = %if.then12, %if.then10 + %15 = load i32*, i32** %pwc.addr, align 8 + %16 = load i64, i64* %n.addr, align 8 + %17 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @_wchar_utf8sntowcs(i32* %15, i64 1, i8** %p, i64 %16, %struct.__mbstate_t.512* %17, i32 1) #18 + store i64 %call, i64* %r, align 8 + %18 = load i64, i64* %r, align 8 + %cmp15 = icmp eq i64 %18, 1 + %19 = load i8*, i8** %p, align 8 + %20 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %20 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %21 = load i64, i64* %r, align 8 + %cond17 = select i1 %cmp15, i64 %sub.ptr.sub, i64 %21 + store i64 %cond17, i64* %retval, align 8 + br label %return + +if.end18: ; preds = %if.end7 + %arraydecay19 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %22 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call20 = call i64 @mbsnrtowcs(i32* %arraydecay19, i8** %p, i64 -1, i64 1, %struct.__mbstate_t.512* %22) #19 + store i64 %call20, i64* %r, align 8 + %23 = load i64, i64* %r, align 8 + %cmp21 = icmp sge i64 %23, 0 + %24 = load i32*, i32** %pwc.addr, align 8 + %tobool24 = icmp ne i32* %24, null + %or.cond = and i1 %cmp21, %tobool24 + br i1 %or.cond, label %if.then25, label %if.end28 + +if.then25: ; preds = %if.end18 + %arraydecay26 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %25 = load i32, i32* %arraydecay26, align 4 + %26 = load i32*, i32** %pwc.addr, align 8 + store i32 %25, i32* %26, align 4 + br label %if.end28 + +if.end28: ; preds = %if.then25, %if.end18 + %27 = load i64, i64* %r, align 8 + store i64 %27, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end28, %if.end14, %land.end + %28 = load i64, i64* %retval, align 8 + ret i64 %28 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @mbsinit(%struct.__mbstate_t.512* %ps) #14 { +entry: + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %tobool = icmp ne %struct.__mbstate_t.512* %0, null + br i1 %tobool, label %lor.rhs, label %lor.end + +lor.rhs: ; preds = %entry + %1 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %1, i32 0, i32 0 + %2 = load i32, i32* %__mask, align 4 + %tobool1 = icmp ne i32 %2, 0 + %lnot = xor i1 %tobool1, true + br label %lor.end + +lor.end: ; preds = %lor.rhs, %entry + %3 = phi i1 [ true, %entry ], [ %lnot, %lor.rhs ] + %lor.ext = zext i1 %3 to i32 + ret i32 %lor.ext +} + +; Function Attrs: noinline nounwind uwtable +define i32 @iswprint(i32 %wc) #0 { +entry: + %wc.addr = alloca i32, align 4 + store i32 %wc, i32* %wc.addr, align 4 + %0 = load i32, i32* %wc.addr, align 4 + %call = call i32 @iswctype(i32 %0, i32 8) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.568* %stream, i8* %buf, i64 %bufsize) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %rv = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + store i64 0, i64* %rv, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 4 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end18, label %if.then + +if.then: ; preds = %entry + %2 = load i64, i64* %bufsize.addr, align 8 + %cmp = icmp ugt i64 %2, 9223372036854775807 + br i1 %cmp, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + store i64 9223372036854775807, i64* %bufsize.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 2 + %4 = load i32, i32* %__filedes, align 4 + %5 = load i8*, i8** %buf.addr, align 8 + %6 = load i64, i64* %bufsize.addr, align 8 + %call = call i64 @read(i32 %4, i8* %5, i64 %6) #18 + store i64 %call, i64* %rv, align 8 + %cmp3 = icmp sle i64 %call, 0 + br i1 %cmp3, label %if.then5, label %if.end18 + +if.then5: ; preds = %if.end + %7 = load i64, i64* %rv, align 8 + %cmp6 = icmp eq i64 %7, 0 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags9 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags9, align 8 + %conv10 = zext i16 %9 to i32 + br i1 %cmp6, label %if.then8, label %if.else + +if.then8: ; preds = %if.then5 + %or = or i32 %conv10, 4 + %conv11 = trunc i32 %or to i16 + store i16 %conv11, i16* %__modeflags9, align 8 + br label %if.end18 + +if.else: ; preds = %if.then5 + %or14 = or i32 %conv10, 8 + %conv15 = trunc i32 %or14 to i16 + store i16 %conv15, i16* %__modeflags9, align 8 + store i64 0, i64* %rv, align 8 + br label %if.end18 + +if.end18: ; preds = %if.end, %if.else, %if.then8, %entry + %10 = load i64, i64* %rv, align 8 + ret i64 %10 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %stream, i8* %buf, i64 %bufsize) #0 { +entry: + %retval = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %buf.addr = alloca i8*, align 8 + %bufsize.addr = alloca i64, align 8 + %todo = alloca i64, align 8 + %rv = alloca i64, align 8 + %stodo = alloca i64, align 8 + %s = alloca i8*, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %bufsize, i64* %bufsize.addr, align 8 + %0 = load i64, i64* %bufsize.addr, align 8 + store i64 %0, i64* %todo, align 8 + br label %do.body + +do.body: ; preds = %if.then3, %entry + %1 = load i64, i64* %todo, align 8 + %cmp = icmp eq i64 %1, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %do.body + %2 = load i64, i64* %bufsize.addr, align 8 + store i64 %2, i64* %retval, align 8 + br label %do.end32 + +if.end: ; preds = %do.body + %3 = load i64, i64* %todo, align 8 + %cmp1 = icmp ule i64 %3, 9223372036854775807 + %4 = load i64, i64* %todo, align 8 + %cond = select i1 %cmp1, i64 %4, i64 9223372036854775807 + store i64 %cond, i64* %stodo, align 8 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 2 + %6 = load i32, i32* %__filedes, align 4 + %7 = load i8*, i8** %buf.addr, align 8 + %8 = load i64, i64* %stodo, align 8 + %call = call i64 @write(i32 %6, i8* %7, i64 %8) #18 + store i64 %call, i64* %rv, align 8 + %cmp2 = icmp sge i64 %call, 0 + br i1 %cmp2, label %if.then3, label %if.else + +if.then3: ; preds = %if.end + %9 = load i64, i64* %rv, align 8 + %10 = load i64, i64* %todo, align 8 + %sub = sub i64 %10, %9 + store i64 %sub, i64* %todo, align 8 + %11 = load i64, i64* %rv, align 8 + %12 = load i8*, i8** %buf.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %12, i64 %11 + store i8* %add.ptr, i8** %buf.addr, align 8 + br label %do.body + +if.else: ; preds = %if.end + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 0 + %14 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %14 to i32 + %or = or i32 %conv, 8 + %conv4 = trunc i32 %or to i16 + store i16 %conv4, i16* %__modeflags, align 8 + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 4 + %16 = load i8*, i8** %__bufend, align 8 + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 3 + %18 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %16 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %18 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %stodo, align 8 + %cmp5 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %cmp5, label %if.then7, label %if.end28 + +if.then7: ; preds = %if.else + %19 = load i64, i64* %stodo, align 8 + %20 = load i64, i64* %todo, align 8 + %cmp8 = icmp ugt i64 %19, %20 + br i1 %cmp8, label %if.then10, label %if.end11 + +if.then10: ; preds = %if.then7 + %21 = load i64, i64* %todo, align 8 + store i64 %21, i64* %stodo, align 8 + br label %if.end11 + +if.end11: ; preds = %if.then10, %if.then7 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart12 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 3 + %23 = load i8*, i8** %__bufstart12, align 8 + store i8* %23, i8** %s, align 8 + br label %do.body13 + +do.body13: ; preds = %if.end20, %if.end11 + %24 = load i8*, i8** %buf.addr, align 8 + %25 = load i8, i8* %24, align 1 + %26 = load i8*, i8** %s, align 8 + store i8 %25, i8* %26, align 1 + %conv14 = zext i8 %25 to i32 + %cmp15 = icmp eq i32 %conv14, 10 + br i1 %cmp15, label %land.lhs.true, label %if.end20 + +land.lhs.true: ; preds = %do.body13 + %27 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %27, i32 0, i32 0 + %28 = load i16, i16* %__modeflags17, align 8 + %conv18 = zext i16 %28 to i32 + %and = and i32 %conv18, 256 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %do.end, label %if.end20 + +if.end20: ; preds = %land.lhs.true, %do.body13 + %29 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %29, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %30 = load i8*, i8** %buf.addr, align 8 + %incdec.ptr21 = getelementptr inbounds i8, i8* %30, i32 1 + store i8* %incdec.ptr21, i8** %buf.addr, align 8 + %31 = load i64, i64* %stodo, align 8 + %dec = add nsw i64 %31, -1 + store i64 %dec, i64* %stodo, align 8 + %tobool22 = icmp ne i64 %dec, 0 + br i1 %tobool22, label %do.body13, label %do.end + +do.end: ; preds = %land.lhs.true, %if.end20 + %32 = load i8*, i8** %s, align 8 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %33, i32 0, i32 5 + store i8* %32, i8** %__bufpos, align 8 + %34 = load i8*, i8** %s, align 8 + %35 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart23 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %35, i32 0, i32 3 + %36 = load i8*, i8** %__bufstart23, align 8 + %sub.ptr.lhs.cast24 = ptrtoint i8* %34 to i64 + %sub.ptr.rhs.cast25 = ptrtoint i8* %36 to i64 + %sub.ptr.sub26 = sub i64 %sub.ptr.lhs.cast24, %sub.ptr.rhs.cast25 + %37 = load i64, i64* %todo, align 8 + %sub27 = sub i64 %37, %sub.ptr.sub26 + store i64 %sub27, i64* %todo, align 8 + br label %if.end28 + +if.end28: ; preds = %do.end, %if.else + %38 = load i64, i64* %bufsize.addr, align 8 + %39 = load i64, i64* %todo, align 8 + %sub29 = sub i64 %38, %39 + store i64 %sub29, i64* %retval, align 8 + br label %do.end32 + +do.end32: ; preds = %if.then, %if.end28 + %40 = load i64, i64* %retval, align 8 + ret i64 %40 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__freading(%struct.__STDIO_FILE_STRUCT.519* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.519*, align 8 + store %struct.__STDIO_FILE_STRUCT.519* %stream, %struct.__STDIO_FILE_STRUCT.519** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.519*, %struct.__STDIO_FILE_STRUCT.519** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.519, %struct.__STDIO_FILE_STRUCT.519* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 35 + ret i32 %and +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_rfill(%struct.__STDIO_FILE_STRUCT.568* noalias %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %rv = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %1, i32 0, i32 3 + %2 = load i8*, i8** %__bufstart, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 4 + %4 = load i8*, i8** %__bufend, align 8 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 3 + %6 = load i8*, i8** %__bufstart1, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %4 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %6 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %call = call i64 @__stdio_READ(%struct.__STDIO_FILE_STRUCT.568* %0, i8* %2, i64 %sub.ptr.sub) #18 + store i64 %call, i64* %rv, align 8 + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %7, i32 0, i32 3 + %8 = load i8*, i8** %__bufstart2, align 8 + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %9, i32 0, i32 5 + store i8* %8, i8** %__bufpos, align 8 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart3 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 3 + %11 = load i8*, i8** %__bufstart3, align 8 + %12 = load i64, i64* %rv, align 8 + %add.ptr = getelementptr inbounds i8, i8* %11, i64 %12 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 6 + store i8* %add.ptr, i8** %__bufread, align 8 + %14 = load i64, i64* %rv, align 8 + ret i64 %14 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_trans2r_o(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %oflag) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %oflag.addr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %oflag, i32* %oflag.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %2 = load i32, i32* %oflag.addr, align 4 + %and = and i32 %conv, %2 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end9, label %if.then + +if.then: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 0 + %4 = load i16, i16* %__modeflags1, align 8 + %conv2 = zext i16 %4 to i32 + %and3 = and i32 %conv2, 2176 + %tobool4 = icmp ne i32 %and3, 0 + br i1 %tobool4, label %DO_EBADF, label %if.end + +if.end: ; preds = %if.then + %5 = load i32, i32* %oflag.addr, align 4 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 0 + %7 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %7 to i32 + %or = or i32 %conv7, %5 + %conv8 = trunc i32 %or to i16 + store i16 %conv8, i16* %__modeflags6, align 8 + br label %if.end9 + +if.end9: ; preds = %if.end, %entry + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags10, align 8 + %conv11 = zext i16 %9 to i32 + %and12 = and i32 %conv11, 16 + %tobool13 = icmp ne i32 %and12, 0 + br i1 %tobool13, label %DO_EBADF, label %if.end19 + +DO_EBADF: ; preds = %if.end9, %if.then + store i32 9, i32* @errno, align 4 + br label %ERROR + +ERROR: ; preds = %if.then24, %DO_EBADF + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags15 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 0 + %11 = load i16, i16* %__modeflags15, align 8 + %conv16 = zext i16 %11 to i32 + %or17 = or i32 %conv16, 8 + %conv18 = trunc i32 %or17 to i16 + store i16 %conv18, i16* %__modeflags15, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end19: ; preds = %if.end9 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags20 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags20, align 8 + %conv21 = zext i16 %13 to i32 + %and22 = and i32 %conv21, 64 + %tobool23 = icmp ne i32 %and22, 0 + br i1 %tobool23, label %if.then24, label %if.end32 + +if.then24: ; preds = %if.end19 + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %14) #18 + %tobool25 = icmp ne i64 %call, 0 + br i1 %tobool25, label %ERROR, label %if.end27 + +if.end27: ; preds = %if.then24 + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 3 + %16 = load i8*, i8** %__bufstart, align 8 + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 8 + store i8* %16, i8** %__bufputc_u, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags28 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 0 + %19 = load i16, i16* %__modeflags28, align 8 + %conv29 = zext i16 %19 to i32 + %and30 = and i32 %conv29, -65 + %conv31 = trunc i32 %and30 to i16 + store i16 %conv31, i16* %__modeflags28, align 8 + br label %if.end32 + +if.end32: ; preds = %if.end27, %if.end19 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags33 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 0 + %21 = load i16, i16* %__modeflags33, align 8 + %conv34 = zext i16 %21 to i32 + %or35 = or i32 %conv34, 1 + %conv36 = trunc i32 %or35 to i16 + store i16 %conv36, i16* %__modeflags33, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end32, %ERROR + %22 = load i32, i32* %retval, align 4 + ret i32 %22 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fclose(%struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %rv = alloca i32, align 4 + %ptr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 0, i32* %rv, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %0, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %1, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp = icmp eq %struct.__STDIO_FILE_STRUCT.568* %1, %2 + br i1 %cmp, label %if.then, label %while.cond + +if.then: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 9 + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %4, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + br label %if.end7 + +while.cond: ; preds = %entry, %if.end + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %5, null + br i1 %tobool, label %while.body, label %if.end7 + +while.body: ; preds = %while.cond + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 9 + %7 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen1, align 8 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp2 = icmp eq %struct.__STDIO_FILE_STRUCT.568* %7, %8 + br i1 %cmp2, label %if.then3, label %if.end + +if.then3: ; preds = %while.body + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen4 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %9, i32 0, i32 9 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen4, align 8 + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen5 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 9 + store %struct.__STDIO_FILE_STRUCT.568* %10, %struct.__STDIO_FILE_STRUCT.568** %__nextopen5, align 8 + br label %if.end7 + +if.end: ; preds = %while.body + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + %__nextopen6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 9 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen6, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %13, %struct.__STDIO_FILE_STRUCT.568** %ptr, align 8 + br label %while.cond + +if.end7: ; preds = %while.cond, %if.then3, %if.then + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %14, i32 0, i32 0 + %15 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %15 to i32 + %and = and i32 %conv, 64 + %tobool8 = icmp ne i32 %and, 0 + br i1 %tobool8, label %if.then9, label %if.end10 + +if.then9: ; preds = %if.end7 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.568* %16) #18 + store i32 %call, i32* %rv, align 4 + br label %if.end10 + +if.end10: ; preds = %if.then9, %if.end7 + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 2 + %18 = load i32, i32* %__filedes, align 4 + %call11 = call i32 @close(i32 %18) #18 + %cmp12 = icmp slt i32 %call11, 0 + br i1 %cmp12, label %if.then14, label %if.end15 + +if.then14: ; preds = %if.end10 + store i32 -1, i32* %rv, align 4 + br label %if.end15 + +if.end15: ; preds = %if.then14, %if.end10 + %19 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes16 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %19, i32 0, i32 2 + store i32 -1, i32* %__filedes16, align 4 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 0 + %21 = load i16, i16* %__modeflags17, align 8 + %conv18 = zext i16 %21 to i32 + %and19 = and i32 %conv18, 24576 + %conv20 = trunc i32 %and19 to i16 + store i16 %conv20, i16* %__modeflags17, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags21 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 0 + %23 = load i16, i16* %__modeflags21, align 8 + %conv22 = zext i16 %23 to i32 + %or = or i32 %conv22, 48 + %conv23 = trunc i32 %or to i16 + store i16 %conv23, i16* %__modeflags21, align 8 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags24 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 0 + %25 = load i16, i16* %__modeflags24, align 8 + %conv25 = zext i16 %25 to i32 + %and26 = and i32 %conv25, 16384 + %tobool27 = icmp ne i32 %and26, 0 + br i1 %tobool27, label %if.then28, label %do.body30 + +if.then28: ; preds = %if.end15 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 3 + %27 = load i8*, i8** %__bufstart, align 8 + call void @free(i8* %27) #19 + br label %do.body30 + +do.body30: ; preds = %if.then28, %if.end15 + %28 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags31 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %28, i32 0, i32 0 + %29 = load i16, i16* %__modeflags31, align 8 + %conv32 = zext i16 %29 to i32 + %and33 = and i32 %conv32, 8192 + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %if.then35, label %do.end37 + +if.then35: ; preds = %do.body30 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %31 = bitcast %struct.__STDIO_FILE_STRUCT.568* %30 to i8* + call void @free(i8* %31) #19 + br label %do.end37 + +do.end37: ; preds = %do.body30, %if.then35 + %32 = load i32, i32* %rv, align 4 + ret i32 %32 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @ferror_unlocked(%struct.__STDIO_FILE_STRUCT.592* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.592*, align 8 + store %struct.__STDIO_FILE_STRUCT.592* %stream, %struct.__STDIO_FILE_STRUCT.592** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.592*, %struct.__STDIO_FILE_STRUCT.592** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.592, %struct.__STDIO_FILE_STRUCT.592* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 8 + ret i32 %and +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fflush_unlocked(%struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %retval1 = alloca i32, align 4 + %bufmask = alloca i16, align 2 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 0, i32* %retval1, align 4 + store i16 256, i16* %bufmask, align 2 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %cmp = icmp eq %struct.__STDIO_FILE_STRUCT.568* %0, bitcast (%struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist to %struct.__STDIO_FILE_STRUCT.568*) + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store %struct.__STDIO_FILE_STRUCT.568* null, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i16 0, i16* %bufmask, align 2 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %tobool = icmp ne %struct.__STDIO_FILE_STRUCT.568* %1, null + br i1 %tobool, label %if.else21, label %if.then2 + +if.then2: ; preds = %if.end + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @_stdio_openlist, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %2, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br label %while.cond + +while.cond: ; preds = %if.end20, %if.then2 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %tobool3 = icmp ne %struct.__STDIO_FILE_STRUCT.568* %3, null + br i1 %tobool3, label %while.body, label %if.end39 + +while.body: ; preds = %while.cond + %4 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %4, i32 0, i32 0 + %5 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %5 to i32 + %and = and i32 %conv, 64 + %tobool4 = icmp ne i32 %and, 0 + br i1 %tobool4, label %if.then5, label %if.end20 + +if.then5: ; preds = %while.body + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 0 + %7 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %7 to i32 + %8 = load i16, i16* %bufmask, align 2 + %conv8 = zext i16 %8 to i32 + %or = or i32 %conv7, %conv8 + %xor = xor i32 %or, 320 + %and9 = and i32 %xor, 832 + %tobool10 = icmp ne i32 %and9, 0 + br i1 %tobool10, label %if.end20, label %if.then11 + +if.then11: ; preds = %if.then5 + %9 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %9) #18 + %tobool12 = icmp ne i64 %call, 0 + br i1 %tobool12, label %if.else, label %if.then13 + +if.then13: ; preds = %if.then11 + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 3 + %11 = load i8*, i8** %__bufstart, align 8 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 8 + store i8* %11, i8** %__bufputc_u, align 8 + %13 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags14 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %13, i32 0, i32 0 + %14 = load i16, i16* %__modeflags14, align 8 + %conv15 = zext i16 %14 to i32 + %and16 = and i32 %conv15, -65 + %conv17 = trunc i32 %and16 to i16 + store i16 %conv17, i16* %__modeflags14, align 8 + br label %if.end20 + +if.else: ; preds = %if.then11 + store i32 -1, i32* %retval1, align 4 + br label %if.end20 + +if.end20: ; preds = %if.then5, %if.else, %if.then13, %while.body + %15 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %15, i32 0, i32 9 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %16, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + br label %while.cond + +if.else21: ; preds = %if.end + %17 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags22 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %17, i32 0, i32 0 + %18 = load i16, i16* %__modeflags22, align 8 + %conv23 = zext i16 %18 to i32 + %and24 = and i32 %conv23, 64 + %tobool25 = icmp ne i32 %and24, 0 + br i1 %tobool25, label %if.then26, label %if.end39 + +if.then26: ; preds = %if.else21 + %19 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call27 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %19) #18 + %tobool28 = icmp ne i64 %call27, 0 + br i1 %tobool28, label %if.else36, label %if.then29 + +if.then29: ; preds = %if.then26 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart30 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 3 + %21 = load i8*, i8** %__bufstart30, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u31 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %22, i32 0, i32 8 + store i8* %21, i8** %__bufputc_u31, align 8 + %23 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags32 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %23, i32 0, i32 0 + %24 = load i16, i16* %__modeflags32, align 8 + %conv33 = zext i16 %24 to i32 + %and34 = and i32 %conv33, -65 + %conv35 = trunc i32 %and34 to i16 + store i16 %conv35, i16* %__modeflags32, align 8 + br label %if.end39 + +if.else36: ; preds = %if.then26 + store i32 -1, i32* %retval1, align 4 + br label %if.end39 + +if.end39: ; preds = %if.else21, %if.else36, %if.then29, %while.cond + %25 = load i32, i32* %retval1, align 4 + ret i32 %25 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fileno_unlocked(%struct.__STDIO_FILE_STRUCT.608* %stream) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.608*, align 8 + store %struct.__STDIO_FILE_STRUCT.608* %stream, %struct.__STDIO_FILE_STRUCT.608** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.608*, %struct.__STDIO_FILE_STRUCT.608** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.608, %struct.__STDIO_FILE_STRUCT.608* %0, i32 0, i32 2 + %1 = load i32, i32* %__filedes, align 4 + %cmp = icmp sge i32 %1, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.608*, %struct.__STDIO_FILE_STRUCT.608** %stream.addr, align 8 + %__filedes1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.608, %struct.__STDIO_FILE_STRUCT.608* %2, i32 0, i32 2 + %3 = load i32, i32* %__filedes1, align 4 + store i32 %3, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + store i32 9, i32* @errno, align 4 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end, %if.then + %4 = load i32, i32* %retval, align 4 + ret i32 %4 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fprintf(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i8* noalias %format, ...) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %format.addr = alloca i8*, align 8 + %arg = alloca [1 x %struct.__va_list_tag.0], align 16 + %rv = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay1 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_start(i8* %arraydecay1) + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stdout, align 8 + %cmp = icmp eq %struct.__STDIO_FILE_STRUCT.568* %0, %1 + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** @stderr, align 8 + %cmp2 = icmp eq %struct.__STDIO_FILE_STRUCT.568* %2, %3 + br i1 %cmp2, label %if.then, label %if.else + +if.then: ; preds = %lor.lhs.false, %entry + %4 = load i8*, i8** %format.addr, align 8 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %call = call i32 @vprintf(i8* %4, %struct.__va_list_tag.0* %arraydecay3) #18 + store i32 %call, i32* %rv, align 4 + br label %if.end + +if.else: ; preds = %lor.lhs.false + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %6 = load i8*, i8** %format.addr, align 8 + %arraydecay4 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %call5 = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %5, i8* %6, %struct.__va_list_tag.0* %arraydecay4) #18 + store i32 %call5, i32* %rv, align 4 + br label %if.end + +if.end: ; preds = %if.else, %if.then + %arraydecay6 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %arraydecay67 = bitcast %struct.__va_list_tag.0* %arraydecay6 to i8* + call void @llvm.va_end(i8* %arraydecay67) + %7 = load i32, i32* %rv, align 4 + ret i32 %7 +} + +declare i32 @vprintf(i8*, %struct.__va_list_tag.0*) #17 + +; Function Attrs: noinline nounwind uwtable +define i32 @__fputc_unlocked(i32 %c, %struct.__STDIO_FILE_STRUCT.568* %stream) #0 { +entry: + %retval = alloca i32, align 4 + %c.addr = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %uc = alloca i8, align 1 + store i32 %c, i32* %c.addr, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 5 + %1 = load i8*, i8** %__bufpos, align 8 + %2 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %2, i32 0, i32 8 + %3 = load i8*, i8** %__bufputc_u, align 8 + %cmp = icmp ult i8* %1, %3 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %4 = load i32, i32* %c.addr, align 4 + %conv = trunc i32 %4 to i8 + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %5, i32 0, i32 5 + %6 = load i8*, i8** %__bufpos1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %__bufpos1, align 8 + store i8 %conv, i8* %6, align 1 + %7 = load i32, i32* %c.addr, align 4 + %conv2 = trunc i32 %7 to i8 + %conv3 = zext i8 %conv2 to i32 + store i32 %conv3, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags, align 8 + %conv4 = zext i16 %9 to i32 + %and = and i32 %conv4, 192 + %cmp5 = icmp eq i32 %and, 192 + br i1 %cmp5, label %if.then7, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* %10, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %BAD, label %if.then7 + +if.then7: ; preds = %lor.lhs.false, %if.end + %11 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %11, i32 0, i32 2 + %12 = load i32, i32* %__filedes, align 4 + %cmp8 = icmp eq i32 %12, -2 + br i1 %cmp8, label %if.then10, label %if.end13 + +if.then10: ; preds = %if.then7 + %13 = load i32, i32* %c.addr, align 4 + %conv11 = trunc i32 %13 to i8 + %conv12 = zext i8 %conv11 to i32 + store i32 %conv12, i32* %retval, align 4 + br label %return + +if.end13: ; preds = %if.then7 + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %14, i32 0, i32 4 + %15 = load i8*, i8** %__bufend, align 8 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %16, i32 0, i32 3 + %17 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %15 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %17 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool14 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %tobool14, label %if.then15, label %if.else + +if.then15: ; preds = %if.end13 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend16 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 4 + %19 = load i8*, i8** %__bufend16, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 5 + %21 = load i8*, i8** %__bufpos17, align 8 + %sub.ptr.lhs.cast18 = ptrtoint i8* %19 to i64 + %sub.ptr.rhs.cast19 = ptrtoint i8* %21 to i64 + %sub.ptr.sub20 = sub i64 %sub.ptr.lhs.cast18, %sub.ptr.rhs.cast19 + %tobool21 = icmp ne i64 %sub.ptr.sub20, 0 + br i1 %tobool21, label %if.end25, label %land.lhs.true + +land.lhs.true: ; preds = %if.then15 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call22 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %22) #18 + %tobool23 = icmp ne i64 %call22, 0 + br i1 %tobool23, label %BAD, label %if.end25 + +if.end25: ; preds = %land.lhs.true, %if.then15 + %23 = load i32, i32* %c.addr, align 4 + %conv26 = trunc i32 %23 to i8 + %24 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos27 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %24, i32 0, i32 5 + %25 = load i8*, i8** %__bufpos27, align 8 + %incdec.ptr28 = getelementptr inbounds i8, i8* %25, i32 1 + store i8* %incdec.ptr28, i8** %__bufpos27, align 8 + store i8 %conv26, i8* %25, align 1 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags29 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 0 + %27 = load i16, i16* %__modeflags29, align 8 + %conv30 = zext i16 %27 to i32 + %and31 = and i32 %conv30, 256 + %tobool32 = icmp ne i32 %and31, 0 + br i1 %tobool32, label %if.then33, label %if.end51 + +if.then33: ; preds = %if.end25 + %28 = load i32, i32* %c.addr, align 4 + %conv34 = trunc i32 %28 to i8 + %conv35 = zext i8 %conv34 to i32 + %cmp36 = icmp eq i32 %conv35, 10 + br i1 %cmp36, label %land.lhs.true38, label %if.end51 + +land.lhs.true38: ; preds = %if.then33 + %29 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call39 = call i64 @__stdio_wcommit(%struct.__STDIO_FILE_STRUCT.568* %29) #18 + %tobool40 = icmp ne i64 %call39, 0 + br i1 %tobool40, label %if.then41, label %if.end51 + +if.then41: ; preds = %land.lhs.true38 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos42 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %30, i32 0, i32 5 + %31 = load i8*, i8** %__bufpos42, align 8 + %incdec.ptr43 = getelementptr inbounds i8, i8* %31, i32 -1 + store i8* %incdec.ptr43, i8** %__bufpos42, align 8 + br label %BAD + +if.else: ; preds = %if.end13 + %32 = load i32, i32* %c.addr, align 4 + %conv46 = trunc i32 %32 to i8 + store i8 %conv46, i8* %uc, align 1 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call47 = call i64 @__stdio_WRITE(%struct.__STDIO_FILE_STRUCT.568* %33, i8* %uc, i64 1) #18 + %tobool48 = icmp ne i64 %call47, 0 + br i1 %tobool48, label %if.end51, label %BAD + +if.end51: ; preds = %if.else, %if.end25, %land.lhs.true38, %if.then33 + %34 = load i32, i32* %c.addr, align 4 + %conv52 = trunc i32 %34 to i8 + %conv53 = zext i8 %conv52 to i32 + store i32 %conv53, i32* %retval, align 4 + br label %return + +BAD: ; preds = %lor.lhs.false, %if.else, %land.lhs.true, %if.then41 + store i32 -1, i32* %retval, align 4 + br label %return + +return: ; preds = %BAD, %if.end51, %if.then10, %if.then + %35 = load i32, i32* %retval, align 4 + ret i32 %35 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fputs_unlocked(i8* noalias %s, %struct.__STDIO_FILE_STRUCT.621* noalias %stream) #0 { +entry: + %s.addr = alloca i8*, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.621*, align 8 + %n = alloca i64, align 8 + store i8* %s, i8** %s.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.621* %stream, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %call = call i64 @strlen(i8* %0) #20 + store i64 %call, i64* %n, align 8 + %1 = load i8*, i8** %s.addr, align 8 + %2 = load i64, i64* %n, align 8 + %3 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %call1 = call i64 @fwrite_unlocked(i8* %1, i64 1, i64 %2, %struct.__STDIO_FILE_STRUCT.621* %3) #18 + %4 = load i64, i64* %n, align 8 + %cmp = icmp eq i64 %call1, %4 + %5 = load i64, i64* %n, align 8 + %cond = select i1 %cmp, i64 %5, i64 -1 + %conv = trunc i64 %cond to i32 + ret i32 %conv +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fseek(%struct.__STDIO_FILE_STRUCT.636* %stream, i64 %offset, i32 %whence) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %1 = load i64, i64* %offset.addr, align 8 + %2 = load i32, i32* %whence.addr, align 4 + %call = call i32 @fseeko64(%struct.__STDIO_FILE_STRUCT.636* %0, i64 %1, i32 %2) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @vsnprintf(i8* noalias %buf, i64 %size, i8* noalias %format, %struct.__va_list_tag.0* %arg) #0 { +entry: + %buf.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %format.addr = alloca i8*, align 8 + %arg.addr = alloca %struct.__va_list_tag.0*, align 8 + %f = alloca %struct.__STDIO_FILE_STRUCT.568, align 8 + %rv = alloca i32, align 4 + store i8* %buf, i8** %buf.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + store %struct.__va_list_tag.0* %arg, %struct.__va_list_tag.0** %arg.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 2 + store i32 -2, i32* %__filedes, align 4 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 0 + store i16 208, i16* %__modeflags, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 1 + %arrayidx = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 0 + store i8 0, i8* %arrayidx, align 2 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + store i32 0, i32* %__mask, align 8 + %__nextopen = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 9 + store %struct.__STDIO_FILE_STRUCT.568* null, %struct.__STDIO_FILE_STRUCT.568** %__nextopen, align 8 + %0 = load i64, i64* %size.addr, align 8 + %1 = load i8*, i8** %buf.addr, align 8 + %2 = ptrtoint i8* %1 to i64 + %sub = sub i64 -1, %2 + %cmp = icmp ugt i64 %0, %sub + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %3 = load i8*, i8** %buf.addr, align 8 + %4 = ptrtoint i8* %3 to i64 + %sub1 = sub i64 -1, %4 + store i64 %sub1, i64* %size.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + %5 = load i8*, i8** %buf.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 3 + store i8* %5, i8** %__bufstart, align 8 + %6 = load i8*, i8** %buf.addr, align 8 + %7 = load i64, i64* %size.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %6, i64 %7 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 4 + store i8* %add.ptr, i8** %__bufend, align 8 + %__bufstart2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 3 + %8 = load i8*, i8** %__bufstart2, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + store i8* %8, i8** %__bufpos, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 6 + store i8* %8, i8** %__bufread, align 8 + %__bufstart3 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 3 + %9 = load i8*, i8** %__bufstart3, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 7 + store i8* %9, i8** %__bufgetc_u, align 8 + %__bufend4 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 4 + %10 = load i8*, i8** %__bufend4, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 8 + store i8* %10, i8** %__bufputc_u, align 8 + %11 = load i8*, i8** %format.addr, align 8 + %12 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %arg.addr, align 8 + %call = call i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* %f, i8* %11, %struct.__va_list_tag.0* %12) #18 + store i32 %call, i32* %rv, align 4 + %13 = load i64, i64* %size.addr, align 8 + %tobool = icmp ne i64 %13, 0 + br i1 %tobool, label %if.then5, label %if.end13 + +if.then5: ; preds = %if.end + %__bufpos6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + %14 = load i8*, i8** %__bufpos6, align 8 + %__bufend7 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 4 + %15 = load i8*, i8** %__bufend7, align 8 + %cmp8 = icmp eq i8* %14, %15 + br i1 %cmp8, label %if.then9, label %if.end11 + +if.then9: ; preds = %if.then5 + %__bufpos10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + %16 = load i8*, i8** %__bufpos10, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %16, i32 -1 + store i8* %incdec.ptr, i8** %__bufpos10, align 8 + br label %if.end11 + +if.end11: ; preds = %if.then9, %if.then5 + %__bufpos12 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %f, i32 0, i32 5 + %17 = load i8*, i8** %__bufpos12, align 8 + store i8 0, i8* %17, align 1 + br label %if.end13 + +if.end13: ; preds = %if.end11, %if.end + %18 = load i32, i32* %rv, align 4 + ret i32 %18 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @atexit(void ()* nonnull %func) #0 { +entry: + %func.addr = alloca void ()*, align 8 + store void ()* %func, void ()** %func.addr, align 8 + %0 = load void ()*, void ()** %func.addr, align 8 + %1 = bitcast void ()* %0 to void (i8*)* + br i1 icmp eq (i8** @__dso_handle, i8** null), label %cond.end, label %cond.false + +cond.false: ; preds = %entry + %2 = load i8*, i8** @__dso_handle, align 8 + br label %cond.end + +cond.end: ; preds = %entry, %cond.false + %cond = phi i8* [ %2, %cond.false ], [ null, %entry ] + %call = call i32 @__cxa_atexit(void (i8*)* %1, i8* null, i8* %cond) #18 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define i8* @realpath(i8* %path, i8* nonnull %got_path) #0 { +entry: + %retval = alloca i8*, align 8 + %path.addr = alloca i8*, align 8 + %got_path.addr = alloca i8*, align 8 + %copy_path = alloca [4096 x i8], align 16 + %max_path = alloca i8*, align 8 + %new_path = alloca i8*, align 8 + %path_len = alloca i64, align 8 + %readlinks = alloca i32, align 4 + %link_len = alloca i32, align 4 + store i8* %path, i8** %path.addr, align 8 + store i8* %got_path, i8** %got_path.addr, align 8 + store i32 0, i32* %readlinks, align 4 + %0 = load i8*, i8** %path.addr, align 8 + %cmp = icmp eq i8* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 22, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %path.addr, align 8 + %2 = load i8, i8* %1, align 1 + %conv = sext i8 %2 to i32 + %cmp1 = icmp eq i32 %conv, 0 + br i1 %cmp1, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.end + store i32 2, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %if.end + %3 = load i8*, i8** %path.addr, align 8 + %call = call i64 @strlen(i8* %3) #20 + store i64 %call, i64* %path_len, align 8 + %4 = load i64, i64* %path_len, align 8 + %cmp5 = icmp uge i64 %4, 4094 + br i1 %cmp5, label %if.then7, label %if.end8 + +if.then7: ; preds = %if.end4 + store i32 36, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end8: ; preds = %if.end4 + %arraydecay = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 4095 + %5 = load i64, i64* %path_len, align 8 + %idx.neg = sub i64 0, %5 + %add.ptr9 = getelementptr inbounds i8, i8* %add.ptr, i64 %idx.neg + %6 = load i8*, i8** %path.addr, align 8 + %call10 = call i8* @strcpy(i8* %add.ptr9, i8* %6) #19 + %arraydecay11 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr12 = getelementptr inbounds i8, i8* %arraydecay11, i64 4095 + %7 = load i64, i64* %path_len, align 8 + %idx.neg13 = sub i64 0, %7 + %add.ptr14 = getelementptr inbounds i8, i8* %add.ptr12, i64 %idx.neg13 + store i8* %add.ptr14, i8** %path.addr, align 8 + %8 = load i8*, i8** %got_path.addr, align 8 + %add.ptr15 = getelementptr inbounds i8, i8* %8, i64 4096 + %add.ptr16 = getelementptr inbounds i8, i8* %add.ptr15, i64 -2 + store i8* %add.ptr16, i8** %max_path, align 8 + %9 = load i8*, i8** %got_path.addr, align 8 + store i8* %9, i8** %new_path, align 8 + %10 = load i8*, i8** %path.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv17 = sext i8 %11 to i32 + %cmp18 = icmp ne i32 %conv17, 47 + %12 = load i8*, i8** %new_path, align 8 + br i1 %cmp18, label %if.then20, label %if.else + +if.then20: ; preds = %if.end8 + %call21 = call i8* @getcwd(i8* %12, i64 4095) #19 + %tobool = icmp ne i8* %call21, null + br i1 %tobool, label %if.end23, label %if.then22 + +if.then22: ; preds = %if.then20 + store i8* null, i8** %retval, align 8 + br label %return + +if.end23: ; preds = %if.then20 + %13 = load i8*, i8** %new_path, align 8 + %call24 = call i64 @strlen(i8* %13) #20 + %14 = load i8*, i8** %new_path, align 8 + %add.ptr25 = getelementptr inbounds i8, i8* %14, i64 %call24 + store i8* %add.ptr25, i8** %new_path, align 8 + %15 = load i8*, i8** %new_path, align 8 + %arrayidx = getelementptr inbounds i8, i8* %15, i64 -1 + %16 = load i8, i8* %arrayidx, align 1 + %conv26 = sext i8 %16 to i32 + %cmp27 = icmp ne i32 %conv26, 47 + br i1 %cmp27, label %if.then29, label %if.end33 + +if.then29: ; preds = %if.end23 + %17 = load i8*, i8** %new_path, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %17, i32 1 + store i8* %incdec.ptr, i8** %new_path, align 8 + store i8 47, i8* %17, align 1 + br label %if.end33 + +if.else: ; preds = %if.end8 + %incdec.ptr31 = getelementptr inbounds i8, i8* %12, i32 1 + store i8* %incdec.ptr31, i8** %new_path, align 8 + store i8 47, i8* %12, align 1 + %18 = load i8*, i8** %path.addr, align 8 + %incdec.ptr32 = getelementptr inbounds i8, i8* %18, i32 1 + store i8* %incdec.ptr32, i8** %path.addr, align 8 + br label %if.end33 + +if.end33: ; preds = %if.end23, %if.then29, %if.else + br label %while.cond + +while.cond: ; preds = %while.cond79, %if.then72, %if.end155, %if.then55, %if.then40, %if.end33 + %19 = load i8*, i8** %path.addr, align 8 + %20 = load i8, i8* %19, align 1 + %conv34 = sext i8 %20 to i32 + %cmp35 = icmp ne i32 %conv34, 0 + br i1 %cmp35, label %while.body, label %while.end157 + +while.body: ; preds = %while.cond + %21 = load i8*, i8** %path.addr, align 8 + %22 = load i8, i8* %21, align 1 + %conv37 = sext i8 %22 to i32 + %cmp38 = icmp eq i32 %conv37, 47 + %23 = load i8*, i8** %path.addr, align 8 + br i1 %cmp38, label %if.then40, label %if.end42 + +if.then40: ; preds = %while.body + %incdec.ptr41 = getelementptr inbounds i8, i8* %23, i32 1 + store i8* %incdec.ptr41, i8** %path.addr, align 8 + br label %while.cond + +if.end42: ; preds = %while.body + %24 = load i8, i8* %23, align 1 + %conv43 = sext i8 %24 to i32 + %cmp44 = icmp eq i32 %conv43, 46 + br i1 %cmp44, label %if.then46, label %if.end88 + +if.then46: ; preds = %if.end42 + %25 = load i8*, i8** %path.addr, align 8 + %arrayidx47 = getelementptr inbounds i8, i8* %25, i64 1 + %26 = load i8, i8* %arrayidx47, align 1 + %conv48 = sext i8 %26 to i32 + %cmp49 = icmp eq i32 %conv48, 0 + br i1 %cmp49, label %if.then55, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then46 + %27 = load i8*, i8** %path.addr, align 8 + %arrayidx51 = getelementptr inbounds i8, i8* %27, i64 1 + %28 = load i8, i8* %arrayidx51, align 1 + %conv52 = sext i8 %28 to i32 + %cmp53 = icmp eq i32 %conv52, 47 + br i1 %cmp53, label %if.then55, label %if.end57 + +if.then55: ; preds = %lor.lhs.false, %if.then46 + %29 = load i8*, i8** %path.addr, align 8 + %incdec.ptr56 = getelementptr inbounds i8, i8* %29, i32 1 + store i8* %incdec.ptr56, i8** %path.addr, align 8 + br label %while.cond + +if.end57: ; preds = %lor.lhs.false + %30 = load i8*, i8** %path.addr, align 8 + %arrayidx58 = getelementptr inbounds i8, i8* %30, i64 1 + %31 = load i8, i8* %arrayidx58, align 1 + %conv59 = sext i8 %31 to i32 + %cmp60 = icmp eq i32 %conv59, 46 + br i1 %cmp60, label %if.then62, label %if.end88 + +if.then62: ; preds = %if.end57 + %32 = load i8*, i8** %path.addr, align 8 + %arrayidx63 = getelementptr inbounds i8, i8* %32, i64 2 + %33 = load i8, i8* %arrayidx63, align 1 + %conv64 = sext i8 %33 to i32 + %cmp65 = icmp eq i32 %conv64, 0 + br i1 %cmp65, label %if.then72, label %lor.lhs.false67 + +lor.lhs.false67: ; preds = %if.then62 + %34 = load i8*, i8** %path.addr, align 8 + %arrayidx68 = getelementptr inbounds i8, i8* %34, i64 2 + %35 = load i8, i8* %arrayidx68, align 1 + %conv69 = sext i8 %35 to i32 + %cmp70 = icmp eq i32 %conv69, 47 + br i1 %cmp70, label %if.then72, label %if.end88 + +if.then72: ; preds = %lor.lhs.false67, %if.then62 + %36 = load i8*, i8** %path.addr, align 8 + %add.ptr73 = getelementptr inbounds i8, i8* %36, i64 2 + store i8* %add.ptr73, i8** %path.addr, align 8 + %37 = load i8*, i8** %new_path, align 8 + %38 = load i8*, i8** %got_path.addr, align 8 + %add.ptr74 = getelementptr inbounds i8, i8* %38, i64 1 + %cmp75 = icmp eq i8* %37, %add.ptr74 + br i1 %cmp75, label %while.cond, label %while.cond79 + +while.cond79: ; preds = %while.cond79, %if.then72 + %39 = load i8*, i8** %new_path, align 8 + %incdec.ptr80 = getelementptr inbounds i8, i8* %39, i32 -1 + store i8* %incdec.ptr80, i8** %new_path, align 8 + %arrayidx81 = getelementptr inbounds i8, i8* %incdec.ptr80, i64 -1 + %40 = load i8, i8* %arrayidx81, align 1 + %conv82 = sext i8 %40 to i32 + %cmp83 = icmp ne i32 %conv82, 47 + br i1 %cmp83, label %while.cond79, label %while.cond + +if.end88: ; preds = %if.end57, %lor.lhs.false67, %if.end42 + br label %while.cond89 + +while.cond89: ; preds = %if.end100, %if.end88 + %41 = load i8*, i8** %path.addr, align 8 + %42 = load i8, i8* %41, align 1 + %conv90 = sext i8 %42 to i32 + %cmp91 = icmp ne i32 %conv90, 0 + br i1 %cmp91, label %land.rhs, label %while.end103 + +land.rhs: ; preds = %while.cond89 + %43 = load i8*, i8** %path.addr, align 8 + %44 = load i8, i8* %43, align 1 + %conv93 = sext i8 %44 to i32 + %cmp94 = icmp ne i32 %conv93, 47 + br i1 %cmp94, label %while.body96, label %while.end103 + +while.body96: ; preds = %land.rhs + %45 = load i8*, i8** %new_path, align 8 + %46 = load i8*, i8** %max_path, align 8 + %cmp97 = icmp ugt i8* %45, %46 + br i1 %cmp97, label %if.then99, label %if.end100 + +if.then99: ; preds = %while.body96 + store i32 36, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end100: ; preds = %while.body96 + %47 = load i8*, i8** %path.addr, align 8 + %incdec.ptr101 = getelementptr inbounds i8, i8* %47, i32 1 + store i8* %incdec.ptr101, i8** %path.addr, align 8 + %48 = load i8, i8* %47, align 1 + %49 = load i8*, i8** %new_path, align 8 + %incdec.ptr102 = getelementptr inbounds i8, i8* %49, i32 1 + store i8* %incdec.ptr102, i8** %new_path, align 8 + store i8 %48, i8* %49, align 1 + br label %while.cond89 + +while.end103: ; preds = %while.cond89, %land.rhs + %50 = load i32, i32* %readlinks, align 4 + %inc = add nsw i32 %50, 1 + store i32 %inc, i32* %readlinks, align 4 + %cmp104 = icmp sgt i32 %50, 32 + br i1 %cmp104, label %if.then106, label %if.end107 + +if.then106: ; preds = %while.end103 + store i32 40, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end107: ; preds = %while.end103 + %51 = load i8*, i8** %path.addr, align 8 + %call108 = call i64 @strlen(i8* %51) #20 + store i64 %call108, i64* %path_len, align 8 + %52 = load i8*, i8** %new_path, align 8 + store i8 0, i8* %52, align 1 + %53 = load i8*, i8** %got_path.addr, align 8 + %arraydecay109 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %call110 = call i64 @readlink(i8* %53, i8* %arraydecay109, i64 4095) #19 + %conv111 = trunc i64 %call110 to i32 + store i32 %conv111, i32* %link_len, align 4 + %54 = load i32, i32* %link_len, align 4 + %cmp112 = icmp slt i32 %54, 0 + br i1 %cmp112, label %if.then114, label %if.else119 + +if.then114: ; preds = %if.end107 + %55 = load i32, i32* @errno, align 4 + %cmp115 = icmp ne i32 %55, 22 + br i1 %cmp115, label %if.then117, label %if.end155 + +if.then117: ; preds = %if.then114 + store i8* null, i8** %retval, align 8 + br label %return + +if.else119: ; preds = %if.end107 + %56 = load i64, i64* %path_len, align 8 + %57 = load i32, i32* %link_len, align 4 + %conv120 = sext i32 %57 to i64 + %add = add i64 %56, %conv120 + %cmp121 = icmp uge i64 %add, 4094 + br i1 %cmp121, label %if.then123, label %if.end124 + +if.then123: ; preds = %if.else119 + store i32 36, i32* @errno, align 4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end124: ; preds = %if.else119 + %arraydecay125 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %58 = load i8, i8* %arraydecay125, align 16 + %conv126 = sext i8 %58 to i32 + %cmp127 = icmp eq i32 %conv126, 47 + br i1 %cmp127, label %if.then129, label %while.cond131 + +if.then129: ; preds = %if.end124 + %59 = load i8*, i8** %got_path.addr, align 8 + store i8* %59, i8** %new_path, align 8 + br label %if.end138 + +while.cond131: ; preds = %while.cond131, %if.end124 + %60 = load i8*, i8** %new_path, align 8 + %incdec.ptr132 = getelementptr inbounds i8, i8* %60, i32 -1 + store i8* %incdec.ptr132, i8** %new_path, align 8 + %61 = load i8, i8* %incdec.ptr132, align 1 + %conv133 = sext i8 %61 to i32 + %cmp134 = icmp ne i32 %conv133, 47 + br i1 %cmp134, label %while.cond131, label %if.end138 + +if.end138: ; preds = %while.cond131, %if.then129 + %arraydecay139 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr140 = getelementptr inbounds i8, i8* %arraydecay139, i64 4095 + %62 = load i32, i32* %link_len, align 4 + %idx.ext = sext i32 %62 to i64 + %idx.neg141 = sub i64 0, %idx.ext + %add.ptr142 = getelementptr inbounds i8, i8* %add.ptr140, i64 %idx.neg141 + %63 = load i64, i64* %path_len, align 8 + %idx.neg143 = sub i64 0, %63 + %add.ptr144 = getelementptr inbounds i8, i8* %add.ptr142, i64 %idx.neg143 + %arraydecay145 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %64 = load i32, i32* %link_len, align 4 + %conv146 = sext i32 %64 to i64 + %call147 = call i8* @memmove(i8* %add.ptr144, i8* %arraydecay145, i64 %conv146) #19 + %arraydecay148 = getelementptr inbounds [4096 x i8], [4096 x i8]* %copy_path, i64 0, i64 0 + %add.ptr149 = getelementptr inbounds i8, i8* %arraydecay148, i64 4095 + %65 = load i32, i32* %link_len, align 4 + %idx.ext150 = sext i32 %65 to i64 + %idx.neg151 = sub i64 0, %idx.ext150 + %add.ptr152 = getelementptr inbounds i8, i8* %add.ptr149, i64 %idx.neg151 + %66 = load i64, i64* %path_len, align 8 + %idx.neg153 = sub i64 0, %66 + %add.ptr154 = getelementptr inbounds i8, i8* %add.ptr152, i64 %idx.neg153 + store i8* %add.ptr154, i8** %path.addr, align 8 + br label %if.end155 + +if.end155: ; preds = %if.then114, %if.end138 + %67 = load i8*, i8** %new_path, align 8 + %incdec.ptr156 = getelementptr inbounds i8, i8* %67, i32 1 + store i8* %incdec.ptr156, i8** %new_path, align 8 + store i8 47, i8* %67, align 1 + br label %while.cond + +while.end157: ; preds = %while.cond + %68 = load i8*, i8** %new_path, align 8 + %69 = load i8*, i8** %got_path.addr, align 8 + %add.ptr158 = getelementptr inbounds i8, i8* %69, i64 1 + %cmp159 = icmp ne i8* %68, %add.ptr158 + br i1 %cmp159, label %land.lhs.true, label %if.end167 + +land.lhs.true: ; preds = %while.end157 + %70 = load i8*, i8** %new_path, align 8 + %arrayidx161 = getelementptr inbounds i8, i8* %70, i64 -1 + %71 = load i8, i8* %arrayidx161, align 1 + %conv162 = sext i8 %71 to i32 + %cmp163 = icmp eq i32 %conv162, 47 + br i1 %cmp163, label %if.then165, label %if.end167 + +if.then165: ; preds = %land.lhs.true + %72 = load i8*, i8** %new_path, align 8 + %incdec.ptr166 = getelementptr inbounds i8, i8* %72, i32 -1 + store i8* %incdec.ptr166, i8** %new_path, align 8 + br label %if.end167 + +if.end167: ; preds = %if.then165, %land.lhs.true, %while.end157 + %73 = load i8*, i8** %new_path, align 8 + store i8 0, i8* %73, align 1 + %74 = load i8*, i8** %got_path.addr, align 8 + store i8* %74, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end167, %if.then123, %if.then117, %if.then106, %if.then99, %if.then22, %if.then7, %if.then3, %if.then + %75 = load i8*, i8** %retval, align 8 + ret i8* %75 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i32 @memcmp(i8* nonnull %s1, i8* nonnull %s2, i64 %n) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r1 = alloca i8*, align 8 + %r2 = alloca i8*, align 8 + %r = alloca i32, align 4 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %r1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %r2, align 8 + store i32 0, i32* %r, align 4 + br label %while.cond + +while.cond: ; preds = %land.rhs, %entry + %2 = load i64, i64* %n.addr, align 8 + %dec = add i64 %2, -1 + store i64 %dec, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %3 = load i8*, i8** %r1, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %r1, align 8 + %4 = load i8, i8* %3, align 1 + %conv = zext i8 %4 to i32 + %5 = load i8*, i8** %r2, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr1, i8** %r2, align 8 + %6 = load i8, i8* %5, align 1 + %conv2 = zext i8 %6 to i32 + %sub = sub nsw i32 %conv, %conv2 + store i32 %sub, i32* %r, align 4 + %cmp = icmp eq i32 %sub, 0 + br i1 %cmp, label %while.cond, label %while.end + +while.end: ; preds = %while.cond, %land.rhs + %7 = load i32, i32* %r, align 4 + ret i32 %7 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @tcgetattr(i32 %fd, %struct.termios* %termios_p) #0 { +entry: + %fd.addr = alloca i32, align 4 + %termios_p.addr = alloca %struct.termios*, align 8 + %k_termios = alloca %struct.__kernel_termios, align 4 + %retval1 = alloca i32, align 4 + store i32 %fd, i32* %fd.addr, align 4 + store %struct.termios* %termios_p, %struct.termios** %termios_p.addr, align 8 + %0 = load i32, i32* %fd.addr, align 4 + %call = call i32 (i32, i64, ...) @ioctl(i32 %0, i64 21505, %struct.__kernel_termios* %k_termios) #19 + store i32 %call, i32* %retval1, align 4 + %c_iflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 0 + %1 = load i32, i32* %c_iflag, align 4 + %2 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_iflag2 = getelementptr inbounds %struct.termios, %struct.termios* %2, i32 0, i32 0 + store i32 %1, i32* %c_iflag2, align 4 + %c_oflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 1 + %3 = load i32, i32* %c_oflag, align 4 + %4 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_oflag3 = getelementptr inbounds %struct.termios, %struct.termios* %4, i32 0, i32 1 + store i32 %3, i32* %c_oflag3, align 4 + %c_cflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 2 + %5 = load i32, i32* %c_cflag, align 4 + %6 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_cflag4 = getelementptr inbounds %struct.termios, %struct.termios* %6, i32 0, i32 2 + store i32 %5, i32* %c_cflag4, align 4 + %c_lflag = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 3 + %7 = load i32, i32* %c_lflag, align 4 + %8 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_lflag5 = getelementptr inbounds %struct.termios, %struct.termios* %8, i32 0, i32 3 + store i32 %7, i32* %c_lflag5, align 4 + %c_line = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 4 + %9 = load i8, i8* %c_line, align 4 + %10 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_line6 = getelementptr inbounds %struct.termios, %struct.termios* %10, i32 0, i32 4 + store i8 %9, i8* %c_line6, align 4 + %11 = load %struct.termios*, %struct.termios** %termios_p.addr, align 8 + %c_cc = getelementptr inbounds %struct.termios, %struct.termios* %11, i32 0, i32 5 + %arrayidx = getelementptr inbounds [32 x i8], [32 x i8]* %c_cc, i64 0, i64 0 + %c_cc7 = getelementptr inbounds %struct.__kernel_termios, %struct.__kernel_termios* %k_termios, i32 0, i32 5 + %arrayidx8 = getelementptr inbounds [19 x i8], [19 x i8]* %c_cc7, i64 0, i64 0 + %call9 = call i8* @mempcpy(i8* %arrayidx, i8* %arrayidx8, i64 19) #19 + %call10 = call i8* @memset(i8* %call9, i32 0, i64 13) #19 + %12 = load i32, i32* %retval1, align 4 + ret i32 %12 +} + +; Function Attrs: noinline nounwind uwtable +define %struct.__uclibc_locale_struct.201* @newlocale(i32 %category_mask, i8* %locale, %struct.__uclibc_locale_struct.201* %base) #0 { +entry: + %retval = alloca %struct.__uclibc_locale_struct.201*, align 8 + %category_mask.addr = alloca i32, align 4 + %locale.addr = alloca i8*, align 8 + %base.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %p = alloca i8*, align 8 + %i = alloca i32, align 4 + %j = alloca i32, align 4 + %k = alloca i32, align 4 + %new_selector = alloca [14 x i8], align 1 + store i32 %category_mask, i32* %category_mask.addr, align 4 + store i8* %locale, i8** %locale.addr, align 8 + store %struct.__uclibc_locale_struct.201* %base, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %0 = load i32, i32* %category_mask.addr, align 4 + %cmp = icmp eq i32 %0, 64 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 8127, i32* %category_mask.addr, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %1 = load i8*, i8** %locale.addr, align 8 + %tobool = icmp eq i8* %1, null + %2 = load i32, i32* %category_mask.addr, align 4 + %cmp1 = icmp ugt i32 %2, 8127 + %or.cond = or i1 %tobool, %cmp1 + br i1 %or.cond, label %INVALID, label %if.end3 + +INVALID: ; preds = %if.else, %do.end, %if.end + store i32 22, i32* @errno, align 4 + store %struct.__uclibc_locale_struct.201* null, %struct.__uclibc_locale_struct.201** %retval, align 8 + br label %return + +if.end3: ; preds = %if.end + %arraydecay = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %3 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tobool4 = icmp ne %struct.__uclibc_locale_struct.201* %3, null + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cur_locale = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %4, i32 0, i32 6 + %arraydecay5 = getelementptr inbounds [14 x i8], [14 x i8]* %cur_locale, i64 0, i64 0 + %cond = select i1 %tobool4, i8* %arraydecay5, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.287, i64 0, i64 0) + %call = call i8* @strcpy(i8* %arraydecay, i8* %cond) #19 + %5 = load i8*, i8** %locale.addr, align 8 + %6 = load i8, i8* %5, align 1 + %tobool6 = icmp ne i8 %6, 0 + br i1 %tobool6, label %if.else, label %if.then7 + +if.then7: ; preds = %if.end3 + store i32 1, i32* %i, align 4 + store i32 0, i32* %k, align 4 + br label %do.body + +do.body: ; preds = %if.end25, %if.then7 + %7 = load i32, i32* %category_mask.addr, align 4 + %8 = load i32, i32* %i, align 4 + %and = and i32 %7, %8 + %tobool8 = icmp ne i32 %and, 0 + br i1 %tobool8, label %if.then9, label %if.end25 + +if.then9: ; preds = %do.body + %9 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %9, i32 0, i32 34 + %arraydecay10 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names, i64 0, i64 0 + %10 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names11 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %10, i32 0, i32 34 + %11 = load i32, i32* %k, align 4 + %idxprom = sext i32 %11 to i64 + %arrayidx = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names11, i64 0, i64 %idxprom + %12 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %12 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay10, i64 %idx.ext + store i8* %add.ptr, i8** getelementptr inbounds ([4 x i8*], [4 x i8*]* @newlocale.envstr, i64 0, i64 1), align 8 + store i32 0, i32* %j, align 4 + br label %do.body12 + +do.body12: ; preds = %land.rhs, %lor.rhs, %if.then9 + %13 = load i32, i32* %j, align 4 + %idxprom13 = sext i32 %13 to i64 + %arrayidx14 = getelementptr inbounds [4 x i8*], [4 x i8*]* @newlocale.envstr, i64 0, i64 %idxprom13 + %14 = load i8*, i8** %arrayidx14, align 8 + store i8* %14, i8** %p, align 8 + %15 = load i32, i32* %j, align 4 + %inc = add nsw i32 %15, 1 + store i32 %inc, i32* %j, align 4 + %cmp15 = icmp slt i32 %inc, 4 + br i1 %cmp15, label %land.rhs, label %do.end + +land.rhs: ; preds = %do.body12 + %16 = load i8*, i8** %p, align 8 + %call17 = call i8* @getenv(i8* %16) #19 + store i8* %call17, i8** %p, align 8 + %tobool18 = icmp ne i8* %call17, null + br i1 %tobool18, label %lor.rhs, label %do.body12 + +lor.rhs: ; preds = %land.rhs + %17 = load i8*, i8** %p, align 8 + %18 = load i8, i8* %17, align 1 + %tobool19 = icmp ne i8 %18, 0 + %lnot = xor i1 %tobool19, true + br i1 %lnot, label %do.body12, label %do.end + +do.end: ; preds = %do.body12, %lor.rhs + %19 = load i32, i32* %i, align 4 + %20 = load i8*, i8** %p, align 8 + %arraydecay20 = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %call21 = call i32 @find_locale(i32 %19, i8* %20, i8* %arraydecay20) #18 + %tobool22 = icmp ne i32 %call21, 0 + br i1 %tobool22, label %if.end25, label %INVALID + +if.end25: ; preds = %do.end, %do.body + %21 = load i32, i32* %i, align 4 + %22 = load i32, i32* %i, align 4 + %add = add nsw i32 %22, %21 + store i32 %add, i32* %i, align 4 + %23 = load i32, i32* %k, align 4 + %inc27 = add nsw i32 %23, 1 + store i32 %inc27, i32* %k, align 4 + %cmp28 = icmp slt i32 %inc27, 6 + br i1 %cmp28, label %do.body, label %if.end36 + +if.else: ; preds = %if.end3 + %24 = load i32, i32* %category_mask.addr, align 4 + %25 = load i8*, i8** %locale.addr, align 8 + %arraydecay31 = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %call32 = call i8* @composite_locale(i32 %24, i8* %25, i8* %arraydecay31) #18 + %tobool33 = icmp ne i8* %call32, null + br i1 %tobool33, label %if.end36, label %INVALID + +if.end36: ; preds = %if.else, %if.end25 + %26 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %tobool37 = icmp ne %struct.__uclibc_locale_struct.201* %26, null + br i1 %tobool37, label %if.end44, label %if.then38 + +if.then38: ; preds = %if.end36 + %call39 = call noalias i8* @calloc(i64 1, i64 3320) #19 + %27 = bitcast i8* %call39 to %struct.__uclibc_locale_struct.201* + store %struct.__uclibc_locale_struct.201* %27, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %cmp40 = icmp eq %struct.__uclibc_locale_struct.201* %27, null + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + br i1 %cmp40, label %if.then42, label %if.end43 + +if.then42: ; preds = %if.then38 + store %struct.__uclibc_locale_struct.201* %28, %struct.__uclibc_locale_struct.201** %retval, align 8 + br label %return + +if.end43: ; preds = %if.then38 + call void @_locale_init_l(%struct.__uclibc_locale_struct.201* %28) #18 + br label %if.end44 + +if.end44: ; preds = %if.end43, %if.end36 + %arraydecay45 = getelementptr inbounds [14 x i8], [14 x i8]* %new_selector, i64 0, i64 0 + %29 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + %call46 = call i32 @_locale_set_l(i8* %arraydecay45, %struct.__uclibc_locale_struct.201* %29) #18 + %30 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %base.addr, align 8 + store %struct.__uclibc_locale_struct.201* %30, %struct.__uclibc_locale_struct.201** %retval, align 8 + br label %return + +return: ; preds = %if.end44, %if.then42, %INVALID + %31 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %retval, align 8 + ret %struct.__uclibc_locale_struct.201* %31 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @find_locale(i32 %category_mask, i8* %p, i8* %new_locale) #0 { +entry: + %retval = alloca i32, align 4 + %category_mask.addr = alloca i32, align 4 + %p.addr = alloca i8*, align 8 + %new_locale.addr = alloca i8*, align 8 + %i = alloca i32, align 4 + %s = alloca i8*, align 8 + %n = alloca i16, align 2 + %lang_cult = alloca i8, align 1 + %codeset = alloca i8, align 1 + %buf = alloca [18 x i8], align 16 + %q = alloca i8*, align 8 + store i32 %category_mask, i32* %category_mask.addr, align 4 + store i8* %p, i8** %p.addr, align 8 + store i8* %new_locale, i8** %new_locale.addr, align 8 + %0 = load i8*, i8** %p.addr, align 8 + %call = call i8* @strchr(i8* %0, i32 64) #20 + store i8* %call, i8** %q, align 8 + %cmp = icmp ne i8* %call, null + br i1 %cmp, label %if.then, label %if.end27 + +if.then: ; preds = %entry + %1 = load i8*, i8** %q, align 8 + %2 = load i8*, i8** %p.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %1 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %2 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %sub = sub nsw i64 %sub.ptr.sub, 5 + %cmp1 = icmp ugt i64 %sub, 13 + br i1 %cmp1, label %if.then4, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then + %3 = load i8*, i8** %p.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %3, i64 2 + %4 = load i8, i8* %arrayidx, align 1 + %conv = sext i8 %4 to i32 + %cmp2 = icmp ne i32 %conv, 95 + br i1 %cmp2, label %if.then4, label %if.end + +if.then4: ; preds = %lor.lhs.false, %if.then + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %lor.lhs.false + %5 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_at_modifiers = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %5, i32 0, i32 33 + %arraydecay = getelementptr inbounds [18 x i8], [18 x i8]* %locale_at_modifiers, i64 0, i64 0 + store i8* %arraydecay, i8** %s, align 8 + br label %do.body + +do.body: ; preds = %if.end8, %if.end + %6 = load i8*, i8** %s, align 8 + %add.ptr = getelementptr inbounds i8, i8* %6, i64 2 + %7 = load i8*, i8** %q, align 8 + %add.ptr5 = getelementptr inbounds i8, i8* %7, i64 1 + %call6 = call i32 @strcmp(i8* %add.ptr, i8* %add.ptr5) #20 + %tobool = icmp ne i32 %call6, 0 + br i1 %tobool, label %if.end8, label %do.end + +if.end8: ; preds = %do.body + %8 = load i8*, i8** %s, align 8 + %9 = load i8, i8* %8, align 1 + %conv9 = zext i8 %9 to i32 + %add = add nsw i32 2, %conv9 + %10 = load i8*, i8** %s, align 8 + %idx.ext = sext i32 %add to i64 + %add.ptr10 = getelementptr inbounds i8, i8* %10, i64 %idx.ext + store i8* %add.ptr10, i8** %s, align 8 + %11 = load i8*, i8** %s, align 8 + %12 = load i8, i8* %11, align 1 + %tobool11 = icmp ne i8 %12, 0 + br i1 %tobool11, label %do.body, label %do.end + +do.end: ; preds = %do.body, %if.end8 + %13 = load i8*, i8** %s, align 8 + %14 = load i8, i8* %13, align 1 + %tobool12 = icmp ne i8 %14, 0 + br i1 %tobool12, label %if.end14, label %if.then13 + +if.then13: ; preds = %do.end + store i32 0, i32* %retval, align 4 + br label %return + +if.end14: ; preds = %do.end + %arraydecay15 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 0 + %15 = load i8*, i8** %p.addr, align 8 + %16 = load i8*, i8** %q, align 8 + %17 = load i8*, i8** %p.addr, align 8 + %sub.ptr.lhs.cast16 = ptrtoint i8* %16 to i64 + %sub.ptr.rhs.cast17 = ptrtoint i8* %17 to i64 + %sub.ptr.sub18 = sub i64 %sub.ptr.lhs.cast16, %sub.ptr.rhs.cast17 + %call19 = call i8* @memcpy(i8* %arraydecay15, i8* %15, i64 %sub.ptr.sub18) #19 + %18 = load i8*, i8** %q, align 8 + %19 = load i8*, i8** %p.addr, align 8 + %sub.ptr.lhs.cast20 = ptrtoint i8* %18 to i64 + %sub.ptr.rhs.cast21 = ptrtoint i8* %19 to i64 + %sub.ptr.sub22 = sub i64 %sub.ptr.lhs.cast20, %sub.ptr.rhs.cast21 + %arrayidx23 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 %sub.ptr.sub22 + store i8 0, i8* %arrayidx23, align 1 + %20 = load i8*, i8** %s, align 8 + %arrayidx24 = getelementptr inbounds i8, i8* %20, i64 1 + %21 = load i8, i8* %arrayidx24, align 1 + %arrayidx25 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 2 + store i8 %21, i8* %arrayidx25, align 2 + %arraydecay26 = getelementptr inbounds [18 x i8], [18 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay26, i8** %p.addr, align 8 + br label %if.end27 + +if.end27: ; preds = %if.end14, %entry + store i8 0, i8* %codeset, align 1 + store i8 0, i8* %lang_cult, align 1 + %22 = load i8*, i8** %p.addr, align 8 + %23 = load i8, i8* %22, align 1 + %conv28 = sext i8 %23 to i32 + %cmp29 = icmp eq i32 %conv28, 67 + br i1 %cmp29, label %land.lhs.true, label %lor.lhs.false33 + +land.lhs.true: ; preds = %if.end27 + %24 = load i8*, i8** %p.addr, align 8 + %arrayidx31 = getelementptr inbounds i8, i8* %24, i64 1 + %25 = load i8, i8* %arrayidx31, align 1 + %tobool32 = icmp ne i8 %25, 0 + br i1 %tobool32, label %lor.lhs.false33, label %FIND_LOCALE + +lor.lhs.false33: ; preds = %land.lhs.true, %if.end27 + %26 = load i8*, i8** %p.addr, align 8 + %call34 = call i32 @strcmp(i8* %26, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @posix, i64 0, i64 0)) #20 + %tobool35 = icmp ne i32 %call34, 0 + br i1 %tobool35, label %if.end37, label %FIND_LOCALE + +if.end37: ; preds = %lor.lhs.false33 + %27 = load i8*, i8** %p.addr, align 8 + %call38 = call i64 @strlen(i8* %27) #20 + %cmp39 = icmp ugt i64 %call38, 5 + br i1 %cmp39, label %land.lhs.true41, label %FIND_LANG_CULT + +land.lhs.true41: ; preds = %if.end37 + %28 = load i8*, i8** %p.addr, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %28, i64 5 + %29 = load i8, i8* %arrayidx42, align 1 + %conv43 = sext i8 %29 to i32 + %cmp44 = icmp eq i32 %conv43, 46 + br i1 %cmp44, label %if.then46, label %FIND_LANG_CULT + +if.then46: ; preds = %land.lhs.true41 + store i8 2, i8* %codeset, align 1 + %30 = load i8*, i8** %p.addr, align 8 + %add.ptr47 = getelementptr inbounds i8, i8* %30, i64 6 + %call48 = call i32 @strcmp(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @utf8.290, i64 0, i64 0), i8* %add.ptr47) #20 + %cmp49 = icmp ne i32 %call48, 0 + br i1 %cmp49, label %if.then51, label %FIND_LANG_CULT + +if.then51: ; preds = %if.then46 + %31 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %31, i32 0, i32 35 + %arraydecay52 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list, i64 0, i64 0 + store i8* %arraydecay52, i8** %s, align 8 + br label %do.body53 + +do.body53: ; preds = %do.cond64, %if.then51 + %32 = load i8, i8* %codeset, align 1 + %inc = add i8 %32, 1 + store i8 %inc, i8* %codeset, align 1 + %33 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %codeset_list54 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %33, i32 0, i32 35 + %arraydecay55 = getelementptr inbounds [255 x i8], [255 x i8]* %codeset_list54, i64 0, i64 0 + %34 = load i8*, i8** %s, align 8 + %35 = load i8, i8* %34, align 1 + %conv56 = zext i8 %35 to i32 + %idx.ext57 = sext i32 %conv56 to i64 + %add.ptr58 = getelementptr inbounds i8, i8* %arraydecay55, i64 %idx.ext57 + %36 = load i8*, i8** %p.addr, align 8 + %add.ptr59 = getelementptr inbounds i8, i8* %36, i64 6 + %call60 = call i32 @strcmp(i8* %add.ptr58, i8* %add.ptr59) #20 + %tobool61 = icmp ne i32 %call60, 0 + br i1 %tobool61, label %do.cond64, label %FIND_LANG_CULT + +do.cond64: ; preds = %do.body53 + %37 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %37, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %38 = load i8, i8* %incdec.ptr, align 1 + %tobool65 = icmp ne i8 %38, 0 + br i1 %tobool65, label %do.body53, label %do.end66 + +do.end66: ; preds = %do.cond64 + store i32 0, i32* %retval, align 4 + br label %return + +FIND_LANG_CULT: ; preds = %if.end37, %land.lhs.true41, %if.then46, %do.body53 + %39 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locale_names5 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %39, i32 0, i32 32 + %arraydecay69 = getelementptr inbounds [835 x i8], [835 x i8]* %locale_names5, i64 0, i64 0 + store i8* %arraydecay69, i8** %s, align 8 + br label %do.body70 + +do.body70: ; preds = %if.end75, %FIND_LANG_CULT + %40 = load i8, i8* %lang_cult, align 1 + %inc71 = add i8 %40, 1 + store i8 %inc71, i8* %lang_cult, align 1 + %41 = load i8*, i8** %s, align 8 + %42 = load i8*, i8** %p.addr, align 8 + %call72 = call i32 @strncmp(i8* %41, i8* %42, i64 5) #20 + %tobool73 = icmp ne i32 %call72, 0 + br i1 %tobool73, label %if.end75, label %FIND_LOCALE + +if.end75: ; preds = %do.body70 + %43 = load i8*, i8** %s, align 8 + %add.ptr76 = getelementptr inbounds i8, i8* %43, i64 5 + store i8* %add.ptr76, i8** %s, align 8 + %44 = load i8, i8* %lang_cult, align 1 + %conv78 = zext i8 %44 to i32 + %cmp79 = icmp slt i32 %conv78, 167 + br i1 %cmp79, label %do.body70, label %do.end81 + +do.end81: ; preds = %if.end75 + store i32 0, i32* %retval, align 4 + br label %return + +FIND_LOCALE: ; preds = %do.body70, %land.lhs.true, %lor.lhs.false33 + %45 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %locales = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %45, i32 0, i32 31 + %arraydecay82 = getelementptr inbounds [2826 x i8], [2826 x i8]* %locales, i64 0, i64 0 + store i8* %arraydecay82, i8** %s, align 8 + store i16 0, i16* %n, align 2 + br label %do.body83 + +do.body83: ; preds = %if.end120, %FIND_LOCALE + %46 = load i8, i8* %lang_cult, align 1 + %conv84 = zext i8 %46 to i32 + %47 = load i8*, i8** %s, align 8 + %48 = load i8, i8* %47, align 1 + %conv85 = zext i8 %48 to i32 + %cmp86 = icmp eq i32 %conv84, %conv85 + br i1 %cmp86, label %land.lhs.true88, label %if.end120 + +land.lhs.true88: ; preds = %do.body83 + %49 = load i8, i8* %codeset, align 1 + %conv89 = zext i8 %49 to i32 + %50 = load i8*, i8** %s, align 8 + %arrayidx90 = getelementptr inbounds i8, i8* %50, i64 1 + %51 = load i8, i8* %arrayidx90, align 1 + %conv91 = zext i8 %51 to i32 + %cmp92 = icmp eq i32 %conv89, %conv91 + br i1 %cmp92, label %if.then100, label %lor.lhs.false94 + +lor.lhs.false94: ; preds = %land.lhs.true88 + %52 = load i8, i8* %codeset, align 1 + %conv95 = zext i8 %52 to i32 + %53 = load i8*, i8** %s, align 8 + %arrayidx96 = getelementptr inbounds i8, i8* %53, i64 2 + %54 = load i8, i8* %arrayidx96, align 1 + %conv97 = zext i8 %54 to i32 + %cmp98 = icmp eq i32 %conv95, %conv97 + br i1 %cmp98, label %if.then100, label %if.end120 + +if.then100: ; preds = %lor.lhs.false94, %land.lhs.true88 + store i32 1, i32* %i, align 4 + %55 = load i8*, i8** %new_locale.addr, align 8 + %add.ptr101 = getelementptr inbounds i8, i8* %55, i64 1 + store i8* %add.ptr101, i8** %s, align 8 + br label %do.body102 + +do.body102: ; preds = %if.end113, %if.then100 + %56 = load i32, i32* %category_mask.addr, align 4 + %57 = load i32, i32* %i, align 4 + %and = and i32 %56, %57 + %tobool103 = icmp ne i32 %and, 0 + br i1 %tobool103, label %if.then104, label %if.end113 + +if.then104: ; preds = %do.body102 + %58 = load i16, i16* %n, align 2 + %conv105 = zext i16 %58 to i32 + %shr = ashr i32 %conv105, 7 + %or = or i32 %shr, 128 + %conv106 = trunc i32 %or to i8 + %59 = load i8*, i8** %s, align 8 + %arrayidx107 = getelementptr inbounds i8, i8* %59, i64 0 + store i8 %conv106, i8* %arrayidx107, align 1 + %60 = load i16, i16* %n, align 2 + %conv108 = zext i16 %60 to i32 + %and109 = and i32 %conv108, 127 + %or110 = or i32 %and109, 128 + %conv111 = trunc i32 %or110 to i8 + %61 = load i8*, i8** %s, align 8 + %arrayidx112 = getelementptr inbounds i8, i8* %61, i64 1 + store i8 %conv111, i8* %arrayidx112, align 1 + br label %if.end113 + +if.end113: ; preds = %if.then104, %do.body102 + %62 = load i8*, i8** %s, align 8 + %add.ptr114 = getelementptr inbounds i8, i8* %62, i64 2 + store i8* %add.ptr114, i8** %s, align 8 + %63 = load i32, i32* %i, align 4 + %64 = load i32, i32* %i, align 4 + %add115 = add nsw i32 %64, %63 + store i32 %add115, i32* %i, align 4 + %65 = load i32, i32* %i, align 4 + %cmp117 = icmp slt i32 %65, 64 + br i1 %cmp117, label %do.body102, label %do.end119 + +do.end119: ; preds = %if.end113 + %66 = load i32, i32* %i, align 4 + store i32 %66, i32* %retval, align 4 + br label %return + +if.end120: ; preds = %lor.lhs.false94, %do.body83 + %67 = load i8*, i8** %s, align 8 + %add.ptr121 = getelementptr inbounds i8, i8* %67, i64 9 + store i8* %add.ptr121, i8** %s, align 8 + %68 = load i16, i16* %n, align 2 + %inc122 = add i16 %68, 1 + store i16 %inc122, i16* %n, align 2 + %69 = load i16, i16* %n, align 2 + %conv124 = zext i16 %69 to i32 + %cmp125 = icmp sle i32 %conv124, 314 + br i1 %cmp125, label %do.body83, label %do.end127 + +do.end127: ; preds = %if.end120 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %do.end127, %do.end119, %do.end81, %do.end66, %if.then13, %if.then4 + %70 = load i32, i32* %retval, align 4 + ret i32 %70 +} + +; Function Attrs: noinline nounwind uwtable +define internal i8* @composite_locale(i32 %category_mask, i8* %locale, i8* %new_locale) #0 { +entry: + %retval = alloca i8*, align 8 + %category_mask.addr = alloca i32, align 4 + %locale.addr = alloca i8*, align 8 + %new_locale.addr = alloca i8*, align 8 + %buf = alloca [256 x i8], align 16 + %t = alloca i8*, align 8 + %e = alloca i8*, align 8 + %c = alloca i32, align 4 + %component_mask = alloca i32, align 4 + store i32 %category_mask, i32* %category_mask.addr, align 4 + store i8* %locale, i8** %locale.addr, align 8 + store i8* %new_locale, i8** %new_locale.addr, align 8 + %0 = load i8*, i8** %locale.addr, align 8 + %call = call i8* @strchr(i8* %0, i32 61) #20 + %tobool = icmp ne i8* %call, null + br i1 %tobool, label %if.end4, label %if.then + +if.then: ; preds = %entry + %1 = load i32, i32* %category_mask.addr, align 4 + %2 = load i8*, i8** %locale.addr, align 8 + %3 = load i8*, i8** %new_locale.addr, align 8 + %call1 = call i32 @find_locale(i32 %1, i8* %2, i8* %3) #18 + %tobool2 = icmp ne i32 %call1, 0 + br i1 %tobool2, label %if.end, label %if.then3 + +if.then3: ; preds = %if.then + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %if.then + %4 = load i8*, i8** %new_locale.addr, align 8 + store i8* %4, i8** %retval, align 8 + br label %return + +if.end4: ; preds = %entry + %5 = load i8*, i8** %locale.addr, align 8 + %call5 = call i64 @strlen(i8* %5) #20 + %cmp = icmp uge i64 %call5, 256 + br i1 %cmp, label %if.then6, label %if.end7 + +if.then6: ; preds = %if.end4 + store i8* null, i8** %retval, align 8 + br label %return + +if.end7: ; preds = %if.end4 + %arraydecay = getelementptr inbounds [256 x i8], [256 x i8]* %buf, i64 0, i64 0 + %6 = load i8*, i8** %locale.addr, align 8 + %call8 = call i8* @stpcpy(i8* %arraydecay, i8* %6) #19 + store i32 0, i32* %component_mask, align 4 + %arraydecay9 = getelementptr inbounds [256 x i8], [256 x i8]* %buf, i64 0, i64 0 + %call10 = call i8* @strtok_r(i8* %arraydecay9, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.288, i64 0, i64 0), i8** %e) #19 + store i8* %call10, i8** %t, align 8 + br label %do.body + +do.body: ; preds = %do.cond, %if.end7 + store i32 0, i32* %c, align 4 + br label %while.cond + +while.cond: ; preds = %while.body, %do.body + %7 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %7, i32 0, i32 34 + %arraydecay11 = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names, i64 0, i64 0 + %8 = load %struct.__locale_mmap_t.203*, %struct.__locale_mmap_t.203** @__locale_mmap, align 8 + %lc_names12 = getelementptr inbounds %struct.__locale_mmap_t.203, %struct.__locale_mmap_t.203* %8, i32 0, i32 34 + %9 = load i32, i32* %c, align 4 + %idxprom = sext i32 %9 to i64 + %arrayidx = getelementptr inbounds [69 x i8], [69 x i8]* %lc_names12, i64 0, i64 %idxprom + %10 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %10 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay11, i64 %idx.ext + %11 = load i8*, i8** %t, align 8 + %call13 = call i32 @strcmp(i8* %add.ptr, i8* %11) #20 + %tobool14 = icmp ne i32 %call13, 0 + br i1 %tobool14, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %12 = load i32, i32* %c, align 4 + %inc = add nsw i32 %12, 1 + store i32 %inc, i32* %c, align 4 + %cmp15 = icmp eq i32 %inc, 6 + br i1 %cmp15, label %if.then17, label %while.cond + +if.then17: ; preds = %while.body + store i8* null, i8** %retval, align 8 + br label %return + +while.end: ; preds = %while.cond + %call19 = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.4.289, i64 0, i64 0), i8** %e) #19 + store i8* %call19, i8** %t, align 8 + %13 = load i32, i32* %c, align 4 + %shl = shl i32 1, %13 + store i32 %shl, i32* %c, align 4 + %14 = load i32, i32* %component_mask, align 4 + %15 = load i32, i32* %c, align 4 + %and = and i32 %14, %15 + %tobool20 = icmp ne i32 %and, 0 + br i1 %tobool20, label %if.then21, label %if.end22 + +if.then21: ; preds = %while.end + store i8* null, i8** %retval, align 8 + br label %return + +if.end22: ; preds = %while.end + %16 = load i32, i32* %c, align 4 + %17 = load i32, i32* %component_mask, align 4 + %or = or i32 %17, %16 + store i32 %or, i32* %component_mask, align 4 + %18 = load i32, i32* %category_mask.addr, align 4 + %19 = load i32, i32* %c, align 4 + %and23 = and i32 %18, %19 + %tobool24 = icmp ne i32 %and23, 0 + br i1 %tobool24, label %land.lhs.true, label %do.cond + +land.lhs.true: ; preds = %if.end22 + %20 = load i8*, i8** %t, align 8 + %tobool25 = icmp ne i8* %20, null + br i1 %tobool25, label %lor.lhs.false, label %if.then28 + +lor.lhs.false: ; preds = %land.lhs.true + %21 = load i32, i32* %c, align 4 + %22 = load i8*, i8** %t, align 8 + %23 = load i8*, i8** %new_locale.addr, align 8 + %call26 = call i32 @find_locale(i32 %21, i8* %22, i8* %23) #18 + %tobool27 = icmp ne i32 %call26, 0 + br i1 %tobool27, label %do.cond, label %if.then28 + +if.then28: ; preds = %lor.lhs.false, %land.lhs.true + store i8* null, i8** %retval, align 8 + br label %return + +do.cond: ; preds = %if.end22, %lor.lhs.false + %call30 = call i8* @strtok_r(i8* null, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3.288, i64 0, i64 0), i8** %e) #19 + store i8* %call30, i8** %t, align 8 + %cmp31 = icmp ne i8* %call30, null + br i1 %cmp31, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %24 = load i32, i32* %category_mask.addr, align 4 + %25 = load i32, i32* %component_mask, align 4 + %neg = xor i32 %25, -1 + %and33 = and i32 %24, %neg + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %if.then35, label %if.end36 + +if.then35: ; preds = %do.end + store i8* null, i8** %retval, align 8 + br label %return + +if.end36: ; preds = %do.end + %26 = load i8*, i8** %new_locale.addr, align 8 + store i8* %26, i8** %retval, align 8 + br label %return + +return: ; preds = %if.end36, %if.then35, %if.then28, %if.then21, %if.then17, %if.then6, %if.end, %if.then3 + %27 = load i8*, i8** %retval, align 8 + ret i8* %27 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @nl_langinfo_l(i32 %item, %struct.__uclibc_locale_struct.201* %locale_arg) #0 { +entry: + %retval = alloca i8*, align 8 + %item.addr = alloca i32, align 4 + %locale_arg.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %c = alloca i32, align 4 + %i = alloca i32, align 4 + store i32 %item, i32* %item.addr, align 4 + store %struct.__uclibc_locale_struct.201* %locale_arg, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %0 = load i32, i32* %item.addr, align 4 + %shr = ashr i32 %0, 8 + store i32 %shr, i32* %c, align 4 + %1 = load i32, i32* %item.addr, align 4 + %and = and i32 %1, 255 + store i32 %and, i32* %i, align 4 + %2 = load i32, i32* %c, align 4 + %cmp = icmp ult i32 %2, 6 + br i1 %cmp, label %land.lhs.true, label %if.end + +land.lhs.true: ; preds = %entry + %3 = load i32, i32* %i, align 4 + %4 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %category_item_count = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %4, i32 0, i32 8 + %5 = load i32, i32* %c, align 4 + %idxprom = zext i32 %5 to i64 + %arrayidx = getelementptr inbounds [6 x i8], [6 x i8]* %category_item_count, i64 0, i64 %idxprom + %6 = load i8, i8* %arrayidx, align 1 + %conv = zext i8 %6 to i32 + %cmp1 = icmp ult i32 %3, %conv + br i1 %cmp1, label %if.then, label %if.end + +if.then: ; preds = %land.lhs.true + %7 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %8 = bitcast %struct.__uclibc_locale_struct.201* %7 to i8* + %9 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale_arg.addr, align 8 + %category_offsets = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %9, i32 0, i32 7 + %10 = load i32, i32* %c, align 4 + %idxprom3 = zext i32 %10 to i64 + %arrayidx4 = getelementptr inbounds [6 x i16], [6 x i16]* %category_offsets, i64 0, i64 %idxprom3 + %11 = load i16, i16* %arrayidx4, align 2 + %conv5 = zext i16 %11 to i32 + %idx.ext = sext i32 %conv5 to i64 + %add.ptr = getelementptr inbounds i8, i8* %8, i64 %idx.ext + %12 = bitcast i8* %add.ptr to i8** + %13 = load i32, i32* %i, align 4 + %idxprom6 = zext i32 %13 to i64 + %arrayidx7 = getelementptr inbounds i8*, i8** %12, i64 %idxprom6 + %14 = load i8*, i8** %arrayidx7, align 8 + store i8* %14, i8** %retval, align 8 + br label %return + +if.end: ; preds = %land.lhs.true, %entry + store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @empty, i64 0, i64 0), i8** %retval, align 8 + br label %return + +return: ; preds = %if.end, %if.then + %15 = load i8*, i8** %retval, align 8 + ret i8* %15 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @mbsnrtowcs(i32* noalias %dst, i8** noalias %src, i64 %NMC, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %retval = alloca i64, align 8 + %dst.addr = alloca i32*, align 8 + %src.addr = alloca i8**, align 8 + %NMC.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %wcbuf = alloca [1 x i32], align 4 + %s = alloca i8*, align 8 + %count = alloca i64, align 8 + %incr = alloca i32, align 4 + %r = alloca i64, align 8 + %wc = alloca i32, align 4 + store i32* %dst, i32** %dst.addr, align 8 + store i8** %src, i8*** %src.addr, align 8 + store i64 %NMC, i64* %NMC.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %tobool = icmp ne %struct.__mbstate_t.512* %0, null + %spec.store.select = select i1 %tobool, %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512* @mbsnrtowcs.mbstate + store %struct.__mbstate_t.512* %spec.store.select, %struct.__mbstate_t.512** %ps.addr, align 8 + %1 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %1, i32 0, i32 9 + %2 = load i8, i8* %encoding, align 8 + %conv = zext i8 %2 to i32 + %cmp = icmp eq i32 %conv, 1 + br i1 %cmp, label %if.then2, label %if.end5 + +if.then2: ; preds = %entry + %3 = load i32*, i32** %dst.addr, align 8 + %4 = load i64, i64* %len.addr, align 8 + %5 = load i8**, i8*** %src.addr, align 8 + %6 = load i64, i64* %NMC.addr, align 8 + %7 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @_wchar_utf8sntowcs(i32* %3, i64 %4, i8** %5, i64 %6, %struct.__mbstate_t.512* %7, i32 1) #18 + store i64 %call, i64* %r, align 8 + %cmp3 = icmp ne i64 %call, -2 + %8 = load i64, i64* %r, align 8 + %cond = select i1 %cmp3, i64 %8, i64 0 + store i64 %cond, i64* %retval, align 8 + br label %return + +if.end5: ; preds = %entry + store i32 1, i32* %incr, align 4 + %9 = load i32*, i32** %dst.addr, align 8 + %tobool6 = icmp ne i32* %9, null + br i1 %tobool6, label %lor.lhs.false, label %if.then9 + +lor.lhs.false: ; preds = %if.end5 + %10 = load i32*, i32** %dst.addr, align 8 + %11 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %12 = bitcast %struct.__mbstate_t.512* %11 to i32* + %cmp7 = icmp eq i32* %10, %12 + br i1 %cmp7, label %if.then9, label %if.end13 + +if.then9: ; preds = %lor.lhs.false, %if.end5 + %13 = load i32*, i32** %dst.addr, align 8 + %tobool10 = icmp ne i32* %13, null + br i1 %tobool10, label %if.end12, label %if.then11 + +if.then11: ; preds = %if.then9 + store i64 -1, i64* %len.addr, align 8 + br label %if.end12 + +if.end12: ; preds = %if.then11, %if.then9 + %arraydecay = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay, i32** %dst.addr, align 8 + store i32 0, i32* %incr, align 4 + br label %if.end13 + +if.end13: ; preds = %if.end12, %lor.lhs.false + %14 = load i64, i64* %len.addr, align 8 + %15 = load i64, i64* %NMC.addr, align 8 + %cmp14 = icmp ugt i64 %14, %15 + br i1 %cmp14, label %if.then16, label %if.end17 + +if.then16: ; preds = %if.end13 + %16 = load i64, i64* %NMC.addr, align 8 + store i64 %16, i64* %len.addr, align 8 + br label %if.end17 + +if.end17: ; preds = %if.then16, %if.end13 + %17 = load i64, i64* %len.addr, align 8 + store i64 %17, i64* %count, align 8 + %18 = load i8**, i8*** %src.addr, align 8 + %19 = load i8*, i8** %18, align 8 + store i8* %19, i8** %s, align 8 + %20 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding18 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %20, i32 0, i32 9 + %21 = load i8, i8* %encoding18, align 8 + %conv19 = zext i8 %21 to i32 + %cmp20 = icmp eq i32 %conv19, 2 + br i1 %cmp20, label %while.cond, label %while.cond46 + +while.cond: ; preds = %if.end17, %if.end38 + %22 = load i64, i64* %count, align 8 + %tobool23 = icmp ne i64 %22, 0 + br i1 %tobool23, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %23 = load i8*, i8** %s, align 8 + %24 = load i8, i8* %23, align 1 + %conv24 = zext i8 %24 to i32 + store i32 %conv24, i32* %wc, align 4 + %cmp25 = icmp sge i32 %conv24, 128 + br i1 %cmp25, label %if.then27, label %if.end35 + +if.then27: ; preds = %while.body + %25 = load i32, i32* %wc, align 4 + %sub = sub nsw i32 %25, 128 + store i32 %sub, i32* %wc, align 4 + %26 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %tbl8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %26, i32 0, i32 17 + %27 = load i16*, i16** %tbl8c2wc, align 8 + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %idx8c2wc = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %28, i32 0, i32 16 + %29 = load i8*, i8** %idx8c2wc, align 8 + %30 = load i32, i32* %wc, align 4 + %shr = ashr i32 %30, 3 + %idxprom = sext i32 %shr to i64 + %arrayidx = getelementptr inbounds i8, i8* %29, i64 %idxprom + %31 = load i8, i8* %arrayidx, align 1 + %conv28 = zext i8 %31 to i32 + %shl = shl i32 %conv28, 3 + %32 = load i32, i32* %wc, align 4 + %and = and i32 %32, 7 + %add = add nsw i32 %shl, %and + %idxprom29 = sext i32 %add to i64 + %arrayidx30 = getelementptr inbounds i16, i16* %27, i64 %idxprom29 + %33 = load i16, i16* %arrayidx30, align 2 + %conv31 = zext i16 %33 to i32 + store i32 %conv31, i32* %wc, align 4 + %34 = load i32, i32* %wc, align 4 + %tobool32 = icmp ne i32 %34, 0 + br i1 %tobool32, label %if.end35, label %BAD + +if.end35: ; preds = %if.then27, %while.body + %35 = load i32, i32* %wc, align 4 + %36 = load i32*, i32** %dst.addr, align 8 + store i32 %35, i32* %36, align 4 + %tobool36 = icmp ne i32 %35, 0 + br i1 %tobool36, label %if.end38, label %if.then37 + +if.then37: ; preds = %if.end35 + store i8* null, i8** %s, align 8 + br label %while.end + +if.end38: ; preds = %if.end35 + %37 = load i32, i32* %incr, align 4 + %38 = load i32*, i32** %dst.addr, align 8 + %idx.ext = sext i32 %37 to i64 + %add.ptr = getelementptr inbounds i32, i32* %38, i64 %idx.ext + store i32* %add.ptr, i32** %dst.addr, align 8 + %39 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %39, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + %40 = load i64, i64* %count, align 8 + %dec = add i64 %40, -1 + store i64 %dec, i64* %count, align 8 + br label %while.cond + +while.end: ; preds = %if.then37, %while.cond + %41 = load i32*, i32** %dst.addr, align 8 + %arraydecay39 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %cmp40 = icmp ne i32* %41, %arraydecay39 + br i1 %cmp40, label %if.then42, label %if.end43 + +if.then42: ; preds = %while.end + %42 = load i8*, i8** %s, align 8 + %43 = load i8**, i8*** %src.addr, align 8 + store i8* %42, i8** %43, align 8 + br label %if.end43 + +if.end43: ; preds = %if.then42, %while.end + %44 = load i64, i64* %len.addr, align 8 + %45 = load i64, i64* %count, align 8 + %sub44 = sub i64 %44, %45 + store i64 %sub44, i64* %retval, align 8 + br label %return + +while.cond46: ; preds = %if.end17, %if.end57 + %46 = load i64, i64* %count, align 8 + %tobool47 = icmp ne i64 %46, 0 + br i1 %tobool47, label %while.body48, label %while.end62 + +while.body48: ; preds = %while.cond46 + %47 = load i8*, i8** %s, align 8 + %48 = load i8, i8* %47, align 1 + %conv49 = zext i8 %48 to i32 + %49 = load i32*, i32** %dst.addr, align 8 + store i32 %conv49, i32* %49, align 4 + %cmp50 = icmp eq i32 %conv49, 0 + br i1 %cmp50, label %if.then52, label %if.end53 + +if.then52: ; preds = %while.body48 + store i8* null, i8** %s, align 8 + br label %while.end62 + +if.end53: ; preds = %while.body48 + %50 = load i32*, i32** %dst.addr, align 8 + %51 = load i32, i32* %50, align 4 + %cmp54 = icmp sge i32 %51, 128 + br i1 %cmp54, label %BAD, label %if.end57 + +BAD: ; preds = %if.end53, %if.then27 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end57: ; preds = %if.end53 + %52 = load i8*, i8** %s, align 8 + %incdec.ptr58 = getelementptr inbounds i8, i8* %52, i32 1 + store i8* %incdec.ptr58, i8** %s, align 8 + %53 = load i32, i32* %incr, align 4 + %54 = load i32*, i32** %dst.addr, align 8 + %idx.ext59 = sext i32 %53 to i64 + %add.ptr60 = getelementptr inbounds i32, i32* %54, i64 %idx.ext59 + store i32* %add.ptr60, i32** %dst.addr, align 8 + %55 = load i64, i64* %count, align 8 + %dec61 = add i64 %55, -1 + store i64 %dec61, i64* %count, align 8 + br label %while.cond46 + +while.end62: ; preds = %if.then52, %while.cond46 + %56 = load i32*, i32** %dst.addr, align 8 + %arraydecay63 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + %cmp64 = icmp ne i32* %56, %arraydecay63 + br i1 %cmp64, label %if.then66, label %if.end67 + +if.then66: ; preds = %while.end62 + %57 = load i8*, i8** %s, align 8 + %58 = load i8**, i8*** %src.addr, align 8 + store i8* %57, i8** %58, align 8 + br label %if.end67 + +if.end67: ; preds = %if.then66, %while.end62 + %59 = load i64, i64* %len.addr, align 8 + %60 = load i64, i64* %count, align 8 + %sub68 = sub i64 %59, %60 + store i64 %sub68, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end67, %BAD, %if.end43, %if.then2 + %61 = load i64, i64* %retval, align 8 + ret i64 %61 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @iswctype(i32 %wc, i32 %desc) #0 { +entry: + %wc.addr = alloca i32, align 4 + %desc.addr = alloca i32, align 4 + store i32 %wc, i32* %wc.addr, align 4 + store i32 %desc, i32* %desc.addr, align 4 + %0 = load i32, i32* %wc.addr, align 4 + %1 = load i32, i32* %desc.addr, align 4 + %2 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %call = call i32 @iswctype_l(i32 %0, i32 %1, %struct.__uclibc_locale_struct.201* %2) #19 + ret i32 %call +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %oflag) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %oflag.addr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %oflag, i32* %oflag.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %2 = load i32, i32* %oflag.addr, align 4 + %and = and i32 %conv, %2 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end9, label %if.then + +if.then: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags1 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %3, i32 0, i32 0 + %4 = load i16, i16* %__modeflags1, align 8 + %conv2 = zext i16 %4 to i32 + %and3 = and i32 %conv2, 2176 + %tobool4 = icmp ne i32 %and3, 0 + br i1 %tobool4, label %DO_EBADF, label %if.end + +if.end: ; preds = %if.then + %5 = load i32, i32* %oflag.addr, align 4 + %6 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %6, i32 0, i32 0 + %7 = load i16, i16* %__modeflags6, align 8 + %conv7 = zext i16 %7 to i32 + %or = or i32 %conv7, %5 + %conv8 = trunc i32 %or to i16 + store i16 %conv8, i16* %__modeflags6, align 8 + br label %if.end9 + +if.end9: ; preds = %if.end, %entry + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %8, i32 0, i32 0 + %9 = load i16, i16* %__modeflags10, align 8 + %conv11 = zext i16 %9 to i32 + %and12 = and i32 %conv11, 32 + %tobool13 = icmp ne i32 %and12, 0 + br i1 %tobool13, label %DO_EBADF, label %if.end19 + +DO_EBADF: ; preds = %if.end9, %if.then + store i32 9, i32* @errno, align 4 + br label %ERROR + +ERROR: ; preds = %land.lhs.true, %DO_EBADF + %10 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags15 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %10, i32 0, i32 0 + %11 = load i16, i16* %__modeflags15, align 8 + %conv16 = zext i16 %11 to i32 + %or17 = or i32 %conv16, 8 + %conv18 = trunc i32 %or17 to i16 + store i16 %conv18, i16* %__modeflags15, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end19: ; preds = %if.end9 + %12 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags20 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags20, align 8 + %conv21 = zext i16 %13 to i32 + %and22 = and i32 %conv21, 3 + %tobool23 = icmp ne i32 %and22, 0 + br i1 %tobool23, label %if.then24, label %if.end50 + +if.then24: ; preds = %if.end19 + %14 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags25 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %14, i32 0, i32 0 + %15 = load i16, i16* %__modeflags25, align 8 + %conv26 = zext i16 %15 to i32 + %and27 = and i32 %conv26, 4 + %tobool28 = icmp ne i32 %and27, 0 + br i1 %tobool28, label %if.end42, label %if.then29 + +if.then29: ; preds = %if.then24 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %16, i32 0, i32 6 + %17 = load i8*, i8** %__bufread, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %18, i32 0, i32 5 + %19 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %17 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %19 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool30 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %tobool30, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then29 + %20 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags31 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %20, i32 0, i32 0 + %21 = load i16, i16* %__modeflags31, align 8 + %conv32 = zext i16 %21 to i32 + %and33 = and i32 %conv32, 2 + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %land.lhs.true, label %if.end42 + +land.lhs.true: ; preds = %lor.lhs.false, %if.then29 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %23 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags35 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %23, i32 0, i32 0 + %24 = load i16, i16* %__modeflags35, align 8 + %conv36 = zext i16 %24 to i32 + %and37 = and i32 %conv36, 1024 + %tobool38 = icmp ne i32 %and37, 0 + %25 = zext i1 %tobool38 to i64 + %cond = select i1 %tobool38, i32 2, i32 1 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.636*, i64, i32)* @fseek to i32 (%struct.__STDIO_FILE_STRUCT.568*, i64, i32)*)(%struct.__STDIO_FILE_STRUCT.568* %22, i64 0, i32 %cond) #18 + %tobool39 = icmp ne i32 %call, 0 + br i1 %tobool39, label %ERROR, label %if.end42 + +if.end42: ; preds = %lor.lhs.false, %land.lhs.true, %if.then24 + %26 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags43 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %26, i32 0, i32 0 + %27 = load i16, i16* %__modeflags43, align 8 + %conv44 = zext i16 %27 to i32 + %and45 = and i32 %conv44, -4 + %conv46 = trunc i32 %and45 to i16 + store i16 %conv46, i16* %__modeflags43, align 8 + %28 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %28, i32 0, i32 3 + %29 = load i8*, i8** %__bufstart, align 8 + %30 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %30, i32 0, i32 7 + store i8* %29, i8** %__bufgetc_u, align 8 + %31 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufstart47 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %31, i32 0, i32 3 + %32 = load i8*, i8** %__bufstart47, align 8 + %33 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufpos48 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %33, i32 0, i32 5 + store i8* %32, i8** %__bufpos48, align 8 + %34 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufread49 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %34, i32 0, i32 6 + store i8* %32, i8** %__bufread49, align 8 + br label %if.end50 + +if.end50: ; preds = %if.end42, %if.end19 + %35 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags51 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %35, i32 0, i32 0 + %36 = load i16, i16* %__modeflags51, align 8 + %conv52 = zext i16 %36 to i32 + %or53 = or i32 %conv52, 64 + %conv54 = trunc i32 %or53 to i16 + store i16 %conv54, i16* %__modeflags51, align 8 + %37 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags55 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %37, i32 0, i32 0 + %38 = load i16, i16* %__modeflags55, align 8 + %conv56 = zext i16 %38 to i32 + %and57 = and i32 %conv56, 2816 + %tobool58 = icmp ne i32 %and57, 0 + br i1 %tobool58, label %if.end60, label %if.then59 + +if.then59: ; preds = %if.end50 + %39 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %39, i32 0, i32 4 + %40 = load i8*, i8** %__bufend, align 8 + %41 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %41, i32 0, i32 8 + store i8* %40, i8** %__bufputc_u, align 8 + br label %if.end60 + +if.end60: ; preds = %if.then59, %if.end50 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end60, %ERROR + %42 = load i32, i32* %retval, align 4 + ret i32 %42 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @fseeko64(%struct.__STDIO_FILE_STRUCT.636* %stream, i64 %offset, i32 %whence) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %offset.addr = alloca i64, align 8 + %whence.addr = alloca i32, align 4 + %pos = alloca i64, align 8 + %retval1 = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64 %offset, i64* %offset.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load i64, i64* %offset.addr, align 8 + store i64 %0, i64* %pos, align 8 + store i32 -1, i32* %retval1, align 4 + %1 = load i32, i32* %whence.addr, align 4 + %cmp = icmp ugt i32 %1, 2 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + store i32 22, i32* @errno, align 4 + br label %if.end20 + +if.else: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %2, i32 0, i32 0 + %3 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %3 to i32 + %and = and i32 %conv, 64 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %lor.lhs.false, label %land.lhs.true + +lor.lhs.false: ; preds = %if.else + %4 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %call = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.568*)* @__stdio_wcommit to i64 (%struct.__STDIO_FILE_STRUCT.636*)*)(%struct.__STDIO_FILE_STRUCT.636* %4) #18 + %tobool2 = icmp ne i64 %call, 0 + br i1 %tobool2, label %if.end20, label %land.lhs.true + +land.lhs.true: ; preds = %lor.lhs.false, %if.else + %5 = load i32, i32* %whence.addr, align 4 + %cmp3 = icmp ne i32 %5, 1 + br i1 %cmp3, label %land.lhs.true9, label %lor.lhs.false5 + +lor.lhs.false5: ; preds = %land.lhs.true + %6 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %call6 = call i32 @__stdio_adjust_position(%struct.__STDIO_FILE_STRUCT.636* %6, i64* %pos) #18 + %cmp7 = icmp sge i32 %call6, 0 + br i1 %cmp7, label %land.lhs.true9, label %if.end20 + +land.lhs.true9: ; preds = %lor.lhs.false5, %land.lhs.true + %7 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %8 = load i32, i32* %whence.addr, align 4 + %call10 = call i32 @__stdio_seek(%struct.__STDIO_FILE_STRUCT.636* %7, i64* %pos, i32 %8) #18 + %cmp11 = icmp sge i32 %call10, 0 + br i1 %cmp11, label %if.then13, label %if.end20 + +if.then13: ; preds = %land.lhs.true9 + %9 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags14 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %9, i32 0, i32 0 + %10 = load i16, i16* %__modeflags14, align 8 + %conv15 = zext i16 %10 to i32 + %and16 = and i32 %conv15, -72 + %conv17 = trunc i32 %and16 to i16 + store i16 %conv17, i16* %__modeflags14, align 8 + %11 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %11, i32 0, i32 3 + %12 = load i8*, i8** %__bufstart, align 8 + %13 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %13, i32 0, i32 5 + store i8* %12, i8** %__bufpos, align 8 + %14 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %14, i32 0, i32 6 + store i8* %12, i8** %__bufread, align 8 + %15 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufstart18 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %15, i32 0, i32 3 + %16 = load i8*, i8** %__bufstart18, align 8 + %17 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufgetc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %17, i32 0, i32 7 + store i8* %16, i8** %__bufgetc_u, align 8 + %18 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufstart19 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %18, i32 0, i32 3 + %19 = load i8*, i8** %__bufstart19, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufputc_u = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %20, i32 0, i32 8 + store i8* %19, i8** %__bufputc_u, align 8 + %21 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %21, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + store i32 0, i32* %__mask, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %22, i32 0, i32 1 + %arrayidx = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 0 + store i8 0, i8* %arrayidx, align 2 + store i32 0, i32* %retval1, align 4 + br label %if.end20 + +if.end20: ; preds = %lor.lhs.false, %lor.lhs.false5, %land.lhs.true9, %if.then13, %if.then + %23 = load i32, i32* %retval1, align 4 + ret i32 %23 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @fwrite_unlocked(i8* noalias %ptr, i64 %size, i64 %nmemb, %struct.__STDIO_FILE_STRUCT.621* noalias %stream) #0 { +entry: + %retval = alloca i64, align 8 + %ptr.addr = alloca i8*, align 8 + %size.addr = alloca i64, align 8 + %nmemb.addr = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.621*, align 8 + store i8* %ptr, i8** %ptr.addr, align 8 + store i64 %size, i64* %size.addr, align 8 + store i64 %nmemb, i64* %nmemb.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.621* %stream, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 192 + %cmp = icmp eq i32 %and, 192 + br i1 %cmp, label %land.lhs.true, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %call = call i32 bitcast (i32 (%struct.__STDIO_FILE_STRUCT.568*, i32)* @__stdio_trans2w_o to i32 (%struct.__STDIO_FILE_STRUCT.621*, i32)*)(%struct.__STDIO_FILE_STRUCT.621* %2, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.end13, label %land.lhs.true + +land.lhs.true: ; preds = %lor.lhs.false, %entry + %3 = load i64, i64* %size.addr, align 8 + %tobool2 = icmp ne i64 %3, 0 + %4 = load i64, i64* %nmemb.addr, align 8 + %tobool4 = icmp ne i64 %4, 0 + %or.cond = and i1 %tobool2, %tobool4 + br i1 %or.cond, label %if.then, label %if.end13 + +if.then: ; preds = %land.lhs.true + %5 = load i64, i64* %nmemb.addr, align 8 + %6 = load i64, i64* %size.addr, align 8 + %div = udiv i64 -1, %6 + %cmp5 = icmp ule i64 %5, %div + br i1 %cmp5, label %if.then7, label %if.end + +if.then7: ; preds = %if.then + %7 = load i8*, i8** %ptr.addr, align 8 + %8 = load i64, i64* %size.addr, align 8 + %9 = load i64, i64* %nmemb.addr, align 8 + %mul = mul i64 %8, %9 + %10 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %call8 = call i64 @__stdio_fwrite(i8* %7, i64 %mul, %struct.__STDIO_FILE_STRUCT.621* %10) #18 + %11 = load i64, i64* %size.addr, align 8 + %div9 = udiv i64 %call8, %11 + store i64 %div9, i64* %retval, align 8 + br label %return + +if.end: ; preds = %if.then + %12 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__modeflags10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %12, i32 0, i32 0 + %13 = load i16, i16* %__modeflags10, align 8 + %conv11 = zext i16 %13 to i32 + %or = or i32 %conv11, 8 + %conv12 = trunc i32 %or to i16 + store i16 %conv12, i16* %__modeflags10, align 8 + store i32 22, i32* @errno, align 4 + br label %if.end13 + +if.end13: ; preds = %if.end, %land.lhs.true, %lor.lhs.false + store i64 0, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end13, %if.then7 + %14 = load i64, i64* %retval, align 8 + ret i64 %14 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @vfprintf(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i8* noalias %format, %struct.__va_list_tag.0* %arg) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %format.addr = alloca i8*, align 8 + %arg.addr = alloca %struct.__va_list_tag.0*, align 8 + %ppfs = alloca %struct.ppfs_t.722, align 8 + %count = alloca i32, align 4 + %r = alloca i32, align 4 + %s = alloca i8*, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i8* %format, i8** %format.addr, align 8 + store %struct.__va_list_tag.0* %arg, %struct.__va_list_tag.0** %arg.addr, align 8 + store i32 0, i32* %count, align 4 + %0 = load i8*, i8** %format.addr, align 8 + store i8* %0, i8** %s, align 8 + %1 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.568, %struct.__STDIO_FILE_STRUCT.568* %1, i32 0, i32 0 + %2 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %2 to i32 + %and = and i32 %conv, 192 + %cmp = icmp eq i32 %and, 192 + br i1 %cmp, label %if.else, label %land.lhs.true + +land.lhs.true: ; preds = %entry + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i32 @__stdio_trans2w_o(%struct.__STDIO_FILE_STRUCT.568* %3, i32 128) #18 + %tobool = icmp ne i32 %call, 0 + br i1 %tobool, label %if.then, label %if.else + +if.then: ; preds = %land.lhs.true + store i32 -1, i32* %count, align 4 + br label %if.end65 + +if.else: ; preds = %land.lhs.true, %entry + %4 = load i8*, i8** %format.addr, align 8 + %call2 = call i32 @_ppfs_init(%struct.ppfs_t.722* %ppfs, i8* %4) #18 + %cmp3 = icmp slt i32 %call2, 0 + br i1 %cmp3, label %if.then5, label %if.else13 + +if.then5: ; preds = %if.else + %fmtpos = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %5 = load i8*, i8** %fmtpos, align 8 + %call6 = call i64 @strlen(i8* %5) #20 + %cmp7 = icmp ugt i64 %call6, 0 + br i1 %cmp7, label %cond.true, label %cond.end + +cond.true: ; preds = %if.then5 + %fmtpos9 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %6 = load i8*, i8** %fmtpos9, align 8 + %fmtpos10 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %7 = load i8*, i8** %fmtpos10, align 8 + %call11 = call i64 @strlen(i8* %7) #20 + %8 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call12 = call i64 bitcast (i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.621*)* @__stdio_fwrite to i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.568*)*)(i8* %6, i64 %call11, %struct.__STDIO_FILE_STRUCT.568* %8) #18 + br label %cond.end + +cond.end: ; preds = %if.then5, %cond.true + %cond = phi i64 [ %call12, %cond.true ], [ 0, %if.then5 ] + store i32 -1, i32* %count, align 4 + br label %if.end65 + +if.else13: ; preds = %if.else + %9 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %arg.addr, align 8 + call void @_ppfs_prepargs(%struct.ppfs_t.722* %ppfs, %struct.__va_list_tag.0* %9) #18 + br label %do.body + +do.body: ; preds = %do.cond, %if.else13 + br label %while.cond + +while.cond: ; preds = %while.body, %do.body + %10 = load i8*, i8** %format.addr, align 8 + %11 = load i8, i8* %10, align 1 + %conv14 = sext i8 %11 to i32 + %tobool15 = icmp ne i32 %conv14, 0 + br i1 %tobool15, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %12 = load i8*, i8** %format.addr, align 8 + %13 = load i8, i8* %12, align 1 + %conv16 = sext i8 %13 to i32 + %cmp17 = icmp ne i32 %conv16, 37 + br label %land.end + +land.end: ; preds = %land.rhs, %while.cond + %14 = phi i1 [ false, %while.cond ], [ %cmp17, %land.rhs ] + %15 = load i8*, i8** %format.addr, align 8 + br i1 %14, label %while.body, label %while.end + +while.body: ; preds = %land.end + %incdec.ptr = getelementptr inbounds i8, i8* %15, i32 1 + store i8* %incdec.ptr, i8** %format.addr, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %16 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %15 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %16 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %tobool19 = icmp ne i64 %sub.ptr.sub, 0 + br i1 %tobool19, label %if.then20, label %if.end42 + +if.then20: ; preds = %while.end + %17 = load i8*, i8** %format.addr, align 8 + %18 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast21 = ptrtoint i8* %17 to i64 + %sub.ptr.rhs.cast22 = ptrtoint i8* %18 to i64 + %sub.ptr.sub23 = sub i64 %sub.ptr.lhs.cast21, %sub.ptr.rhs.cast22 + %cmp24 = icmp sgt i64 %sub.ptr.sub23, 0 + br i1 %cmp24, label %cond.true26, label %cond.end32 + +cond.true26: ; preds = %if.then20 + %19 = load i8*, i8** %s, align 8 + %20 = load i8*, i8** %format.addr, align 8 + %21 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast27 = ptrtoint i8* %20 to i64 + %sub.ptr.rhs.cast28 = ptrtoint i8* %21 to i64 + %sub.ptr.sub29 = sub i64 %sub.ptr.lhs.cast27, %sub.ptr.rhs.cast28 + %22 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call30 = call i64 bitcast (i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.621*)* @__stdio_fwrite to i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.568*)*)(i8* %19, i64 %sub.ptr.sub29, %struct.__STDIO_FILE_STRUCT.568* %22) #18 + br label %cond.end32 + +cond.end32: ; preds = %if.then20, %cond.true26 + %cond33 = phi i64 [ %call30, %cond.true26 ], [ 0, %if.then20 ] + %conv34 = trunc i64 %cond33 to i32 + store i32 %conv34, i32* %r, align 4 + %conv35 = sext i32 %conv34 to i64 + %23 = load i8*, i8** %format.addr, align 8 + %24 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast36 = ptrtoint i8* %23 to i64 + %sub.ptr.rhs.cast37 = ptrtoint i8* %24 to i64 + %sub.ptr.sub38 = sub i64 %sub.ptr.lhs.cast36, %sub.ptr.rhs.cast37 + %cmp39 = icmp ne i64 %conv35, %sub.ptr.sub38 + br i1 %cmp39, label %if.then41, label %if.end + +if.then41: ; preds = %cond.end32 + store i32 -1, i32* %count, align 4 + br label %do.end + +if.end: ; preds = %cond.end32 + %25 = load i32, i32* %r, align 4 + %26 = load i32, i32* %count, align 4 + %add = add nsw i32 %26, %25 + store i32 %add, i32* %count, align 4 + br label %if.end42 + +if.end42: ; preds = %if.end, %while.end + %27 = load i8*, i8** %format.addr, align 8 + %28 = load i8, i8* %27, align 1 + %tobool43 = icmp ne i8 %28, 0 + br i1 %tobool43, label %if.end45, label %do.end + +if.end45: ; preds = %if.end42 + %29 = load i8*, i8** %format.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %29, i64 1 + %30 = load i8, i8* %arrayidx, align 1 + %conv46 = sext i8 %30 to i32 + %cmp47 = icmp ne i32 %conv46, 37 + %31 = load i8*, i8** %format.addr, align 8 + %incdec.ptr50 = getelementptr inbounds i8, i8* %31, i32 1 + store i8* %incdec.ptr50, i8** %format.addr, align 8 + br i1 %cmp47, label %if.then49, label %if.else58 + +if.then49: ; preds = %if.end45 + %fmtpos51 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + store i8* %incdec.ptr50, i8** %fmtpos51, align 8 + %32 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call52 = call i32 @_do_one_spec(%struct.__STDIO_FILE_STRUCT.568* %32, %struct.ppfs_t.722* %ppfs, i32* %count) #18 + store i32 %call52, i32* %r, align 4 + %cmp53 = icmp slt i32 %call52, 0 + br i1 %cmp53, label %if.then55, label %if.end56 + +if.then55: ; preds = %if.then49 + store i32 -1, i32* %count, align 4 + br label %do.end + +if.end56: ; preds = %if.then49 + %fmtpos57 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 0 + %33 = load i8*, i8** %fmtpos57, align 8 + store i8* %33, i8** %format.addr, align 8 + store i8* %33, i8** %s, align 8 + br label %do.cond + +if.else58: ; preds = %if.end45 + store i8* %incdec.ptr50, i8** %s, align 8 + %34 = load i8*, i8** %format.addr, align 8 + %incdec.ptr60 = getelementptr inbounds i8, i8* %34, i32 1 + store i8* %incdec.ptr60, i8** %format.addr, align 8 + br label %do.cond + +do.cond: ; preds = %if.end56, %if.else58 + br label %do.body + +do.end: ; preds = %if.end42, %if.then55, %if.then41 + %arg62 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %ppfs, i32 0, i32 7 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg62, i64 0, i64 0 + %arraydecay63 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + call void @llvm.va_end(i8* %arraydecay63) + br label %if.end65 + +if.end65: ; preds = %cond.end, %do.end, %if.then + %35 = load i32, i32* %count, align 4 + ret i32 %35 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_do_one_spec(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, %struct.ppfs_t.722* %ppfs, i32* %count) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %count.addr = alloca i32*, align 8 + %argptr = alloca [1 x i8*], align 8 + %argtype = alloca i32*, align 8 + %ws = alloca i32*, align 8 + %mbstate = alloca %struct.__mbstate_t.512, align 4 + %slen = alloca i64, align 8 + %base = alloca i32, align 4 + %numpad = alloca i32, align 4 + %alphacase = alloca i32, align 4 + %numfill = alloca i32, align 4 + %prefix_num = alloca i32, align 4 + %padchar = alloca i8, align 1 + %buf = alloca [128 x i8], align 16 + %p = alloca %union.anon.193*, align 8 + %i = alloca i32, align 4 + %s = alloca i8*, align 8 + %nf = alloca i64, align 8 + %t = alloca i64, align 8 + %t351 = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store i32* %count, i32** %count.addr, align 8 + store i32* null, i32** %ws, align 8 + store i32 0, i32* %numfill, align 4 + store i32 11, i32* %prefix_num, align 4 + store i8 32, i8* %padchar, align 1 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %call = call i32 @_ppfs_parsespec(%struct.ppfs_t.722* %0) #18 + %1 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + call void @_ppfs_setargs(%struct.ppfs_t.722* %1) #18 + %2 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype1 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %2, i32 0, i32 6 + %arraydecay = getelementptr inbounds [9 x i32], [9 x i32]* %argtype1, i64 0, i64 0 + %3 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %3, i32 0, i32 5 + %arrayidx = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber, i64 0, i64 2 + %4 = load i8, i8* %arrayidx, align 2 + %conv = zext i8 %4 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds i32, i32* %arraydecay, i64 %idx.ext + %add.ptr2 = getelementptr inbounds i32, i32* %add.ptr, i64 -1 + store i32* %add.ptr2, i32** %argtype, align 8 + %5 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argvalue = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %5, i32 0, i32 8 + %arraydecay3 = getelementptr inbounds [9 x %union.anon.193], [9 x %union.anon.193]* %argvalue, i64 0, i64 0 + store %union.anon.193* %arraydecay3, %union.anon.193** %p, align 8 + %6 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %6, i32 0, i32 2 + %7 = load i32, i32* %maxposarg, align 4 + %cmp = icmp sgt i32 %7, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %8 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber5 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %8, i32 0, i32 5 + %arrayidx6 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber5, i64 0, i64 2 + %9 = load i8, i8* %arrayidx6, align 2 + %conv7 = zext i8 %9 to i32 + %sub = sub nsw i32 %conv7, 1 + %10 = load %union.anon.193*, %union.anon.193** %p, align 8 + %idx.ext8 = sext i32 %sub to i64 + %add.ptr9 = getelementptr inbounds %union.anon.193, %union.anon.193* %10, i64 %idx.ext8 + store %union.anon.193* %add.ptr9, %union.anon.193** %p, align 8 + br label %if.end + +if.end: ; preds = %if.then, %entry + store i32 0, i32* %i, align 4 + br label %for.cond + +for.cond: ; preds = %for.body, %if.end + %11 = load i32, i32* %i, align 4 + %12 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %12, i32 0, i32 3 + %13 = load i32, i32* %num_data_args, align 8 + %cmp10 = icmp slt i32 %11, %13 + br i1 %cmp10, label %for.body, label %for.end + +for.body: ; preds = %for.cond + %14 = load %union.anon.193*, %union.anon.193** %p, align 8 + %incdec.ptr = getelementptr inbounds %union.anon.193, %union.anon.193* %14, i32 1 + store %union.anon.193* %incdec.ptr, %union.anon.193** %p, align 8 + %15 = bitcast %union.anon.193* %14 to i8* + %16 = load i32, i32* %i, align 4 + %idxprom = sext i32 %16 to i64 + %arrayidx12 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 %idxprom + store i8* %15, i8** %arrayidx12, align 8 + %17 = load i32, i32* %i, align 4 + %inc = add nsw i32 %17, 1 + store i32 %inc, i32* %i, align 4 + br label %for.cond + +for.end: ; preds = %for.cond + store i8* null, i8** %s, align 8 + %18 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %18, i32 0, i32 4 + %19 = load i32, i32* %conv_num, align 4 + %cmp13 = icmp eq i32 %19, 0 + br i1 %cmp13, label %if.then15, label %if.end18 + +if.then15: ; preds = %for.end + %arraydecay16 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %20 = load i8*, i8** %arraydecay16, align 8 + %21 = bitcast i8* %20 to i8** + %22 = load i8*, i8** %21, align 8 + %23 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %23, i32 0, i32 1 + %_flags = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 3 + %24 = load i32, i32* %_flags, align 4 + %and = and i32 %24, 3840 + %25 = load i32*, i32** %count.addr, align 8 + %26 = load i32, i32* %25, align 4 + %conv17 = sext i32 %26 to i64 + call void @_store_inttype(i8* %22, i32 %and, i64 %conv17) #18 + store i32 0, i32* %retval, align 4 + br label %return + +if.end18: ; preds = %for.end + %27 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num19 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %27, i32 0, i32 4 + %28 = load i32, i32* %conv_num19, align 4 + %cmp20 = icmp ule i32 %28, 7 + br i1 %cmp20, label %if.then22, label %if.else179 + +if.then22: ; preds = %if.end18 + store i32 87, i32* %alphacase, align 4 + %29 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num23 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %29, i32 0, i32 4 + %30 = load i32, i32* %conv_num23, align 4 + %sub24 = sub i32 %30, 1 + %idxprom25 = sext i32 %sub24 to i64 + %arrayidx26 = getelementptr inbounds [7 x i8], [7 x i8]* @_do_one_spec.spec_base, i64 0, i64 %idxprom25 + %31 = load i8, i8* %arrayidx26, align 1 + %conv27 = sext i8 %31 to i32 + store i32 %conv27, i32* %base, align 4 + %cmp28 = icmp eq i32 %conv27, 10 + br i1 %cmp28, label %if.then30, label %if.end42 + +if.then30: ; preds = %if.then22 + %32 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info31 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %32, i32 0, i32 1 + %_flags32 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info31, i32 0, i32 3 + %33 = load i32, i32* %_flags32, align 4 + %and33 = and i32 %33, 32 + %tobool = icmp ne i32 %and33, 0 + br i1 %tobool, label %if.then34, label %if.end35 + +if.then34: ; preds = %if.then30 + store i32 44, i32* %alphacase, align 4 + br label %if.end35 + +if.end35: ; preds = %if.then34, %if.then30 + %34 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info36 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %34, i32 0, i32 1 + %_flags37 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info36, i32 0, i32 3 + %35 = load i32, i32* %_flags37, align 4 + %and38 = and i32 %35, 64 + %tobool39 = icmp ne i32 %and38, 0 + br i1 %tobool39, label %if.then40, label %if.end42 + +if.then40: ; preds = %if.end35 + %36 = load i32, i32* %alphacase, align 4 + %or = or i32 %36, 128 + store i32 %or, i32* %alphacase, align 4 + br label %if.end42 + +if.end42: ; preds = %if.end35, %if.then40, %if.then22 + %37 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num43 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %37, i32 0, i32 4 + %38 = load i32, i32* %conv_num43, align 4 + %cmp44 = icmp ule i32 %38, 5 + br i1 %cmp44, label %if.then46, label %if.else57 + +if.then46: ; preds = %if.end42 + %39 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num47 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %39, i32 0, i32 4 + %40 = load i32, i32* %conv_num47, align 4 + %cmp48 = icmp eq i32 %40, 3 + br i1 %cmp48, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.then46 + store i32 55, i32* %alphacase, align 4 + br label %if.end51 + +if.end51: ; preds = %if.then50, %if.then46 + %41 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num52 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %41, i32 0, i32 4 + %42 = load i32, i32* %conv_num52, align 4 + %cmp53 = icmp eq i32 %42, 1 + br i1 %cmp53, label %if.then55, label %if.end59 + +if.then55: ; preds = %if.end51 + store i32 6, i32* %prefix_num, align 4 + br label %if.end59 + +if.else57: ; preds = %if.end42 + %43 = load i32, i32* %base, align 4 + %sub58 = sub nsw i32 0, %43 + store i32 %sub58, i32* %base, align 4 + br label %if.end59 + +if.end59: ; preds = %if.then55, %if.end51, %if.else57 + %44 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info60 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %44, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info60, i32 0, i32 0 + %45 = load i32, i32* %prec, align 8 + %cmp61 = icmp slt i32 %45, 0 + br i1 %cmp61, label %if.then63, label %if.end66 + +if.then63: ; preds = %if.end59 + %46 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info64 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %46, i32 0, i32 1 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info64, i32 0, i32 4 + %47 = load i32, i32* %pad, align 8 + %conv65 = trunc i32 %47 to i8 + store i8 %conv65, i8* %padchar, align 1 + br label %if.end66 + +if.end66: ; preds = %if.then63, %if.end59 + %arraydecay67 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %add.ptr68 = getelementptr inbounds i8, i8* %arraydecay67, i64 128 + %add.ptr69 = getelementptr inbounds i8, i8* %add.ptr68, i64 -1 + %48 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num70 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %48, i32 0, i32 4 + %49 = load i32, i32* %conv_num70, align 4 + %cmp71 = icmp eq i32 %49, 1 + br i1 %cmp71, label %cond.end, label %cond.false + +cond.false: ; preds = %if.end66 + %50 = load i32*, i32** %argtype, align 8 + %51 = load i32, i32* %50, align 4 + %and73 = and i32 %51, 3840 + br label %cond.end + +cond.end: ; preds = %if.end66, %cond.false + %cond = phi i32 [ %and73, %cond.false ], [ 1024, %if.end66 ] + %arraydecay74 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %52 = load i8*, i8** %arraydecay74, align 8 + %53 = load i32, i32* %base, align 4 + %call75 = call i64 @_load_inttype(i32 %cond, i8* %52, i32 %53) #18 + %54 = load i32, i32* %base, align 4 + %55 = load i32, i32* %alphacase, align 4 + %call76 = call i8* @_uintmaxtostr(i8* %add.ptr69, i64 %call75, i32 %54, i32 %55) #18 + store i8* %call76, i8** %s, align 8 + %56 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num77 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %56, i32 0, i32 4 + %57 = load i32, i32* %conv_num77, align 4 + %cmp78 = icmp ugt i32 %57, 5 + br i1 %cmp78, label %if.then80, label %if.end104 + +if.then80: ; preds = %cond.end + %58 = load i8*, i8** %s, align 8 + %59 = load i8, i8* %58, align 1 + %conv81 = sext i8 %59 to i32 + %cmp82 = icmp eq i32 %conv81, 45 + %60 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info85 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %60, i32 0, i32 1 + %_flags86 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info85, i32 0, i32 3 + %61 = load i32, i32* %_flags86, align 4 + br i1 %cmp82, label %if.then84, label %if.else89 + +if.then84: ; preds = %if.then80 + %or87 = or i32 %61, 2 + store i32 %or87, i32* %_flags86, align 4 + %62 = load i8*, i8** %s, align 8 + %incdec.ptr88 = getelementptr inbounds i8, i8* %62, i32 1 + store i8* %incdec.ptr88, i8** %s, align 8 + store i32 2, i32* %prefix_num, align 4 + br label %if.end104 + +if.else89: ; preds = %if.then80 + %and92 = and i32 %61, 2 + %tobool93 = icmp ne i32 %and92, 0 + br i1 %tobool93, label %if.then94, label %if.else95 + +if.then94: ; preds = %if.else89 + store i32 0, i32* %prefix_num, align 4 + br label %if.end104 + +if.else95: ; preds = %if.else89 + %63 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info96 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %63, i32 0, i32 1 + %_flags97 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info96, i32 0, i32 3 + %64 = load i32, i32* %_flags97, align 4 + %and98 = and i32 %64, 1 + %tobool99 = icmp ne i32 %and98, 0 + br i1 %tobool99, label %if.then100, label %if.end104 + +if.then100: ; preds = %if.else95 + store i32 4, i32* %prefix_num, align 4 + br label %if.end104 + +if.end104: ; preds = %if.then84, %if.else95, %if.then100, %if.then94, %cond.end + %arraydecay105 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %add.ptr106 = getelementptr inbounds i8, i8* %arraydecay105, i64 128 + %add.ptr107 = getelementptr inbounds i8, i8* %add.ptr106, i64 -1 + %65 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %add.ptr107 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %65 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %slen, align 8 + %66 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info108 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %66, i32 0, i32 1 + %prec109 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info108, i32 0, i32 0 + %67 = load i32, i32* %prec109, align 8 + %cmp110 = icmp slt i32 %67, 0 + br i1 %cmp110, label %cond.end116, label %cond.false113 + +cond.false113: ; preds = %if.end104 + %68 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info114 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %68, i32 0, i32 1 + %prec115 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info114, i32 0, i32 0 + %69 = load i32, i32* %prec115, align 8 + br label %cond.end116 + +cond.end116: ; preds = %if.end104, %cond.false113 + %cond117 = phi i32 [ %69, %cond.false113 ], [ 1, %if.end104 ] + store i32 %cond117, i32* %numfill, align 4 + %70 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info118 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %70, i32 0, i32 1 + %_flags119 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info118, i32 0, i32 3 + %71 = load i32, i32* %_flags119, align 4 + %and120 = and i32 %71, 16 + %tobool121 = icmp ne i32 %and120, 0 + br i1 %tobool121, label %if.then122, label %if.end149 + +if.then122: ; preds = %cond.end116 + %72 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num123 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %72, i32 0, i32 4 + %73 = load i32, i32* %conv_num123, align 4 + %cmp124 = icmp ule i32 %73, 2 + br i1 %cmp124, label %if.then126, label %if.end127 + +if.then126: ; preds = %if.then122 + store i32 6, i32* %prefix_num, align 4 + br label %if.end127 + +if.end127: ; preds = %if.then126, %if.then122 + %74 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num128 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %74, i32 0, i32 4 + %75 = load i32, i32* %conv_num128, align 4 + %cmp129 = icmp eq i32 %75, 3 + br i1 %cmp129, label %if.then131, label %if.end132 + +if.then131: ; preds = %if.end127 + store i32 9, i32* %prefix_num, align 4 + br label %if.end132 + +if.end132: ; preds = %if.then131, %if.end127 + %76 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num133 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %76, i32 0, i32 4 + %77 = load i32, i32* %conv_num133, align 4 + %cmp134 = icmp eq i32 %77, 4 + br i1 %cmp134, label %land.lhs.true, label %if.end149 + +land.lhs.true: ; preds = %if.end132 + %78 = load i32, i32* %numfill, align 4 + %conv136 = sext i32 %78 to i64 + %79 = load i64, i64* %slen, align 8 + %cmp137 = icmp ule i64 %conv136, %79 + br i1 %cmp137, label %if.then139, label %if.end149 + +if.then139: ; preds = %land.lhs.true + %80 = load i8*, i8** %s, align 8 + %81 = load i8, i8* %80, align 1 + %conv140 = sext i8 %81 to i32 + %cmp141 = icmp eq i32 %conv140, 48 + %82 = load i64, i64* %slen, align 8 + %add = add i64 %82, 1 + %cond146 = select i1 %cmp141, i64 1, i64 %add + %conv147 = trunc i64 %cond146 to i32 + store i32 %conv147, i32* %numfill, align 4 + br label %if.end149 + +if.end149: ; preds = %if.end132, %land.lhs.true, %if.then139, %cond.end116 + %83 = load i8*, i8** %s, align 8 + %84 = load i8, i8* %83, align 1 + %conv150 = sext i8 %84 to i32 + %cmp151 = icmp eq i32 %conv150, 48 + br i1 %cmp151, label %if.then153, label %if.end168 + +if.then153: ; preds = %if.end149 + %85 = load i32, i32* %prefix_num, align 4 + %cmp154 = icmp sge i32 %85, 6 + br i1 %cmp154, label %if.then156, label %if.end157 + +if.then156: ; preds = %if.then153 + store i32 11, i32* %prefix_num, align 4 + br label %if.end157 + +if.end157: ; preds = %if.then156, %if.then153 + %86 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num158 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %86, i32 0, i32 4 + %87 = load i32, i32* %conv_num158, align 4 + %cmp159 = icmp eq i32 %87, 1 + br i1 %cmp159, label %if.then161, label %if.else162 + +if.then161: ; preds = %if.end157 + store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.307, i64 0, i64 0), i8** %s, align 8 + store i64 5, i64* %slen, align 8 + store i32 0, i32* %numfill, align 4 + br label %if.end168 + +if.else162: ; preds = %if.end157 + %88 = load i32, i32* %numfill, align 4 + %cmp163 = icmp eq i32 %88, 0 + br i1 %cmp163, label %if.then165, label %if.end168 + +if.then165: ; preds = %if.else162 + store i64 0, i64* %slen, align 8 + br label %if.end168 + +if.end168: ; preds = %if.then161, %if.then165, %if.else162, %if.end149 + %89 = load i32, i32* %numfill, align 4 + %conv169 = sext i32 %89 to i64 + %90 = load i64, i64* %slen, align 8 + %cmp170 = icmp ugt i64 %conv169, %90 + %91 = load i32, i32* %numfill, align 4 + %conv173 = sext i32 %91 to i64 + %92 = load i64, i64* %slen, align 8 + %sub174 = sub i64 %conv173, %92 + %cond177 = select i1 %cmp170, i64 %sub174, i64 0 + %conv178 = trunc i64 %cond177 to i32 + store i32 %conv178, i32* %numfill, align 4 + br label %if.end278 + +if.else179: ; preds = %if.end18 + %93 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num180 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %93, i32 0, i32 4 + %94 = load i32, i32* %conv_num180, align 4 + %cmp181 = icmp ule i32 %94, 15 + br i1 %cmp181, label %if.then183, label %if.else203 + +if.then183: ; preds = %if.else179 + %95 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %arraydecay189 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %96 = load i8*, i8** %arraydecay189, align 8 + %97 = bitcast i8* %96 to double* + %98 = load double, double* %97, align 8 + %99 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info194 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %99, i32 0, i32 1 + %call195 = call i64 @_fpmaxtostr(%struct.__STDIO_FILE_STRUCT.568* %95, double %98, %struct.printf_info.720* %info194, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)* @_fp_out_narrow) #18 + store i64 %call195, i64* %nf, align 8 + %100 = load i64, i64* %nf, align 8 + %cmp196 = icmp slt i64 %100, 0 + br i1 %cmp196, label %if.then198, label %if.end199 + +if.then198: ; preds = %if.then183 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end199: ; preds = %if.then183 + %101 = load i64, i64* %nf, align 8 + %102 = load i32*, i32** %count.addr, align 8 + %103 = load i32, i32* %102, align 4 + %conv200 = sext i32 %103 to i64 + %add201 = add nsw i64 %conv200, %101 + %conv202 = trunc i64 %add201 to i32 + store i32 %conv202, i32* %102, align 4 + store i32 0, i32* %retval, align 4 + br label %return + +if.else203: ; preds = %if.else179 + %104 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num204 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %104, i32 0, i32 4 + %105 = load i32, i32* %conv_num204, align 4 + %cmp205 = icmp ule i32 %105, 17 + br i1 %cmp205, label %if.then207, label %if.else242 + +if.then207: ; preds = %if.else203 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %mbstate, i32 0, i32 0 + store i32 0, i32* %__mask, align 4 + %106 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num208 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %106, i32 0, i32 4 + %107 = load i32, i32* %conv_num208, align 4 + %cmp209 = icmp eq i32 %107, 17 + br i1 %cmp209, label %if.then211, label %if.else232 + +if.then211: ; preds = %if.then207 + %arraydecay212 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %108 = load i8*, i8** %arraydecay212, align 8 + %109 = bitcast i8* %108 to i32** + %110 = load i32*, i32** %109, align 8 + store i32* %110, i32** %ws, align 8 + %tobool213 = icmp ne i32* %110, null + br i1 %tobool213, label %if.end215, label %NULL_STRING + +if.end215: ; preds = %if.then211 + %111 = bitcast i32** %ws to i8* + %112 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info216 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %112, i32 0, i32 1 + %prec217 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info216, i32 0, i32 0 + %113 = load i32, i32* %prec217, align 8 + %cmp218 = icmp sge i32 %113, 0 + br i1 %cmp218, label %cond.true220, label %cond.end225 + +cond.true220: ; preds = %if.end215 + %114 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info221 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %114, i32 0, i32 1 + %prec222 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info221, i32 0, i32 0 + %115 = load i32, i32* %prec222, align 8 + %conv223 = sext i32 %115 to i64 + br label %cond.end225 + +cond.end225: ; preds = %if.end215, %cond.true220 + %cond226 = phi i64 [ %conv223, %cond.true220 ], [ -1, %if.end215 ] + %call227 = call i64 @wcsrtombs(i8* %111, i32** %ws, i64 %cond226, %struct.__mbstate_t.512* %mbstate) #19 + store i64 %call227, i64* %slen, align 8 + %cmp228 = icmp eq i64 %call227, -1 + br i1 %cmp228, label %if.then230, label %if.end278 + +if.then230: ; preds = %cond.end225 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else232: ; preds = %if.then207 + %arraydecay233 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay233, i8** %s, align 8 + %116 = load i8*, i8** %s, align 8 + %arraydecay234 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %117 = load i8*, i8** %arraydecay234, align 8 + %118 = bitcast i8* %117 to i32* + %119 = load i32, i32* %118, align 4 + %call235 = call i64 @wcrtomb(i8* %116, i32 %119, %struct.__mbstate_t.512* %mbstate) #19 + store i64 %call235, i64* %slen, align 8 + %120 = load i64, i64* %slen, align 8 + %cmp236 = icmp eq i64 %120, -1 + br i1 %cmp236, label %if.then238, label %if.end239 + +if.then238: ; preds = %if.else232 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end239: ; preds = %if.else232 + %121 = load i8*, i8** %s, align 8 + %122 = load i64, i64* %slen, align 8 + %arrayidx240 = getelementptr inbounds i8, i8* %121, i64 %122 + store i8 0, i8* %arrayidx240, align 1 + br label %if.end278 + +if.else242: ; preds = %if.else203 + %123 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num243 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %123, i32 0, i32 4 + %124 = load i32, i32* %conv_num243, align 4 + %cmp244 = icmp ule i32 %124, 19 + br i1 %cmp244, label %if.then246, label %if.else274 + +if.then246: ; preds = %if.else242 + %125 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num247 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %125, i32 0, i32 4 + %126 = load i32, i32* %conv_num247, align 4 + %cmp248 = icmp eq i32 %126, 19 + br i1 %cmp248, label %if.then250, label %if.else268 + +if.then250: ; preds = %if.then246 + %arraydecay251 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %127 = load i8*, i8** %arraydecay251, align 8 + %128 = bitcast i8* %127 to i8** + %129 = load i8*, i8** %128, align 8 + store i8* %129, i8** %s, align 8 + %130 = load i8*, i8** %s, align 8 + %tobool252 = icmp ne i8* %130, null + br i1 %tobool252, label %if.then253, label %NULL_STRING + +if.then253: ; preds = %if.then250 + %131 = load i8*, i8** %s, align 8 + %132 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info254 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %132, i32 0, i32 1 + %prec255 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info254, i32 0, i32 0 + %133 = load i32, i32* %prec255, align 8 + %cmp256 = icmp sge i32 %133, 0 + br i1 %cmp256, label %cond.true258, label %cond.end263 + +cond.true258: ; preds = %if.then253 + %134 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info259 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %134, i32 0, i32 1 + %prec260 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info259, i32 0, i32 0 + %135 = load i32, i32* %prec260, align 8 + %conv261 = sext i32 %135 to i64 + br label %cond.end263 + +cond.end263: ; preds = %if.then253, %cond.true258 + %cond264 = phi i64 [ %conv261, %cond.true258 ], [ -1, %if.then253 ] + %call265 = call i64 @strnlen(i8* %131, i64 %cond264) #20 + store i64 %call265, i64* %slen, align 8 + br label %if.end278 + +NULL_STRING: ; preds = %if.then250, %if.then211 + store i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1.308, i64 0, i64 0), i8** %s, align 8 + store i64 6, i64* %slen, align 8 + br label %if.end278 + +if.else268: ; preds = %if.then246 + %arraydecay269 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay269, i8** %s, align 8 + %arraydecay270 = getelementptr inbounds [1 x i8*], [1 x i8*]* %argptr, i64 0, i64 0 + %136 = load i8*, i8** %arraydecay270, align 8 + %137 = bitcast i8* %136 to i32* + %138 = load i32, i32* %137, align 4 + %conv271 = trunc i32 %138 to i8 + %139 = load i8*, i8** %s, align 8 + store i8 %conv271, i8* %139, align 1 + %140 = load i8*, i8** %s, align 8 + %arrayidx272 = getelementptr inbounds i8, i8* %140, i64 1 + store i8 0, i8* %arrayidx272, align 1 + store i64 1, i64* %slen, align 8 + br label %if.end278 + +if.else274: ; preds = %if.else242 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end278: ; preds = %cond.end263, %NULL_STRING, %if.else268, %if.end239, %cond.end225, %if.end168 + %141 = load i64, i64* %slen, align 8 + %142 = load i32, i32* %numfill, align 4 + %conv279 = sext i32 %142 to i64 + %add280 = add i64 %141, %conv279 + store i64 %add280, i64* %t, align 8 + %143 = load i32, i32* %prefix_num, align 4 + %cmp281 = icmp ne i32 %143, 11 + br i1 %cmp281, label %if.then283, label %if.end289 + +if.then283: ; preds = %if.end278 + %144 = load i32, i32* %prefix_num, align 4 + %cmp284 = icmp slt i32 %144, 6 + %145 = zext i1 %cmp284 to i64 + %cond286 = select i1 %cmp284, i32 1, i32 2 + %conv287 = sext i32 %cond286 to i64 + %146 = load i64, i64* %t, align 8 + %add288 = add i64 %146, %conv287 + store i64 %add288, i64* %t, align 8 + br label %if.end289 + +if.end289: ; preds = %if.then283, %if.end278 + %147 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info290 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %147, i32 0, i32 1 + %width = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info290, i32 0, i32 1 + %148 = load i32, i32* %width, align 4 + %conv291 = sext i32 %148 to i64 + %149 = load i64, i64* %t, align 8 + %cmp292 = icmp ugt i64 %conv291, %149 + br i1 %cmp292, label %cond.true294, label %cond.end300 + +cond.true294: ; preds = %if.end289 + %150 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info295 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %150, i32 0, i32 1 + %width296 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info295, i32 0, i32 1 + %151 = load i32, i32* %width296, align 4 + %conv297 = sext i32 %151 to i64 + %152 = load i64, i64* %t, align 8 + %sub298 = sub i64 %conv297, %152 + br label %cond.end300 + +cond.end300: ; preds = %if.end289, %cond.true294 + %cond301 = phi i64 [ %sub298, %cond.true294 ], [ 0, %if.end289 ] + %conv302 = trunc i64 %cond301 to i32 + store i32 %conv302, i32* %numpad, align 4 + %153 = load i64, i64* %t, align 8 + %154 = load i32, i32* %numpad, align 4 + %conv303 = sext i32 %154 to i64 + %add304 = add i64 %153, %conv303 + %155 = load i32*, i32** %count.addr, align 8 + %156 = load i32, i32* %155, align 4 + %conv305 = sext i32 %156 to i64 + %add306 = add i64 %conv305, %add304 + %conv307 = trunc i64 %add306 to i32 + store i32 %conv307, i32* %155, align 4 + %157 = load i8, i8* %padchar, align 1 + %conv308 = sext i8 %157 to i32 + %cmp309 = icmp eq i32 %conv308, 48 + br i1 %cmp309, label %if.then311, label %if.end313 + +if.then311: ; preds = %cond.end300 + %158 = load i32, i32* %numpad, align 4 + %159 = load i32, i32* %numfill, align 4 + %add312 = add nsw i32 %159, %158 + store i32 %add312, i32* %numfill, align 4 + store i32 0, i32* %numpad, align 4 + br label %if.end313 + +if.end313: ; preds = %if.then311, %cond.end300 + %160 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info314 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %160, i32 0, i32 1 + %_flags315 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info314, i32 0, i32 3 + %161 = load i32, i32* %_flags315, align 4 + %and316 = and i32 %161, 8 + %tobool317 = icmp ne i32 %and316, 0 + br i1 %tobool317, label %if.end326, label %if.then318 + +if.then318: ; preds = %if.end313 + %162 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %163 = load i32, i32* %numpad, align 4 + %conv319 = sext i32 %163 to i64 + %call320 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %162, i32 32, i64 %conv319) #18 + %164 = load i32, i32* %numpad, align 4 + %conv321 = sext i32 %164 to i64 + %cmp322 = icmp ne i64 %call320, %conv321 + br i1 %cmp322, label %if.then324, label %if.end325 + +if.then324: ; preds = %if.then318 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end325: ; preds = %if.then318 + store i32 0, i32* %numpad, align 4 + br label %if.end326 + +if.end326: ; preds = %if.end325, %if.end313 + %165 = load i32, i32* %prefix_num, align 4 + %idx.ext327 = sext i32 %165 to i64 + %add.ptr328 = getelementptr inbounds i8, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @_do_one_spec.prefix, i64 0, i64 0), i64 %idx.ext327 + %166 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call329 = call i32 bitcast (i32 (i8*, %struct.__STDIO_FILE_STRUCT.621*)* @fputs_unlocked to i32 (i8*, %struct.__STDIO_FILE_STRUCT.568*)*)(i8* %add.ptr328, %struct.__STDIO_FILE_STRUCT.568* %166) #18 + %167 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %168 = load i32, i32* %numfill, align 4 + %conv330 = sext i32 %168 to i64 + %call331 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %167, i32 48, i64 %conv330) #18 + %169 = load i32, i32* %numfill, align 4 + %conv332 = sext i32 %169 to i64 + %cmp333 = icmp ne i64 %call331, %conv332 + br i1 %cmp333, label %if.then335, label %if.end336 + +if.then335: ; preds = %if.end326 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end336: ; preds = %if.end326 + %170 = load i32*, i32** %ws, align 8 + %tobool337 = icmp ne i32* %170, null + br i1 %tobool337, label %if.else350, label %if.then338 + +if.then338: ; preds = %if.end336 + %171 = load i64, i64* %slen, align 8 + %cmp339 = icmp ugt i64 %171, 0 + br i1 %cmp339, label %cond.true341, label %cond.end344 + +cond.true341: ; preds = %if.then338 + %172 = load i8*, i8** %s, align 8 + %173 = load i64, i64* %slen, align 8 + %174 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call342 = call i64 bitcast (i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.621*)* @__stdio_fwrite to i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.568*)*)(i8* %172, i64 %173, %struct.__STDIO_FILE_STRUCT.568* %174) #18 + br label %cond.end344 + +cond.end344: ; preds = %if.then338, %cond.true341 + %cond345 = phi i64 [ %call342, %cond.true341 ], [ 0, %if.then338 ] + %175 = load i64, i64* %slen, align 8 + %cmp346 = icmp ne i64 %cond345, %175 + br i1 %cmp346, label %if.then348, label %if.end375 + +if.then348: ; preds = %cond.end344 + store i32 -1, i32* %retval, align 4 + br label %return + +if.else350: ; preds = %if.end336 + %__mask352 = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %mbstate, i32 0, i32 0 + store i32 0, i32* %__mask352, align 4 + br label %while.cond + +while.cond: ; preds = %if.end373, %if.else350 + %176 = load i64, i64* %slen, align 8 + %tobool353 = icmp ne i64 %176, 0 + br i1 %tobool353, label %while.body, label %if.end375 + +while.body: ; preds = %while.cond + %177 = load i64, i64* %slen, align 8 + %cmp354 = icmp ule i64 %177, 128 + %178 = load i64, i64* %slen, align 8 + %cond359 = select i1 %cmp354, i64 %178, i64 128 + store i64 %cond359, i64* %t351, align 8 + %arraydecay360 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %179 = load i64, i64* %t351, align 8 + %call361 = call i64 @wcsrtombs(i8* %arraydecay360, i32** %ws, i64 %179, %struct.__mbstate_t.512* %mbstate) #19 + store i64 %call361, i64* %t351, align 8 + %180 = load i64, i64* %t351, align 8 + %cmp362 = icmp ugt i64 %180, 0 + br i1 %cmp362, label %cond.true364, label %cond.end368 + +cond.true364: ; preds = %while.body + %arraydecay365 = getelementptr inbounds [128 x i8], [128 x i8]* %buf, i64 0, i64 0 + %181 = load i64, i64* %t351, align 8 + %182 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call366 = call i64 bitcast (i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.621*)* @__stdio_fwrite to i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.568*)*)(i8* %arraydecay365, i64 %181, %struct.__STDIO_FILE_STRUCT.568* %182) #18 + br label %cond.end368 + +cond.end368: ; preds = %while.body, %cond.true364 + %cond369 = phi i64 [ %call366, %cond.true364 ], [ 0, %while.body ] + %183 = load i64, i64* %t351, align 8 + %cmp370 = icmp ne i64 %cond369, %183 + br i1 %cmp370, label %if.then372, label %if.end373 + +if.then372: ; preds = %cond.end368 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end373: ; preds = %cond.end368 + %184 = load i64, i64* %t351, align 8 + %185 = load i64, i64* %slen, align 8 + %sub374 = sub i64 %185, %184 + store i64 %sub374, i64* %slen, align 8 + br label %while.cond + +if.end375: ; preds = %while.cond, %cond.end344 + %186 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %187 = load i32, i32* %numpad, align 4 + %conv376 = sext i32 %187 to i64 + %call377 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %186, i32 32, i64 %conv376) #18 + %188 = load i32, i32* %numpad, align 4 + %conv378 = sext i32 %188 to i64 + %cmp379 = icmp ne i64 %call377, %conv378 + br i1 %cmp379, label %if.then381, label %if.end382 + +if.then381: ; preds = %if.end375 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end382: ; preds = %if.end375 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end382, %if.then381, %if.then372, %if.then348, %if.then335, %if.then324, %if.else274, %if.then238, %if.then230, %if.end199, %if.then198, %if.then15 + %189 = load i32, i32* %retval, align 4 + ret i32 %189 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @_fp_out_narrow(%struct.__STDIO_FILE_STRUCT.568* %fp, i64 %type, i64 %len, i64 %buf) #0 { +entry: + %retval = alloca i64, align 8 + %fp.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %type.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %buf.addr = alloca i64, align 8 + %r = alloca i64, align 8 + %buflen = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %fp, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + store i64 %type, i64* %type.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store i64 %buf, i64* %buf.addr, align 8 + store i64 0, i64* %r, align 8 + %0 = load i64, i64* %type.addr, align 8 + %and = and i64 %0, 128 + %tobool = icmp ne i64 %and, 0 + br i1 %tobool, label %if.then, label %if.end12 + +if.then: ; preds = %entry + %1 = load i64, i64* %buf.addr, align 8 + %2 = inttoptr i64 %1 to i8* + %call = call i64 @strlen(i8* %2) #20 + %conv = trunc i64 %call to i32 + store i32 %conv, i32* %buflen, align 4 + %3 = load i32, i32* %buflen, align 4 + %conv1 = sext i32 %3 to i64 + %4 = load i64, i64* %len.addr, align 8 + %sub = sub nsw i64 %4, %conv1 + store i64 %sub, i64* %len.addr, align 8 + %cmp = icmp sgt i64 %sub, 0 + br i1 %cmp, label %if.then3, label %if.end10 + +if.then3: ; preds = %if.then + %5 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + %6 = load i64, i64* %type.addr, align 8 + %and4 = and i64 %6, 127 + %conv5 = trunc i64 %and4 to i32 + %7 = load i64, i64* %len.addr, align 8 + %call6 = call i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* %5, i32 %conv5, i64 %7) #18 + store i64 %call6, i64* %r, align 8 + %8 = load i64, i64* %len.addr, align 8 + %cmp7 = icmp ne i64 %call6, %8 + br i1 %cmp7, label %if.then9, label %if.end10 + +if.then9: ; preds = %if.then3 + %9 = load i64, i64* %r, align 8 + store i64 %9, i64* %retval, align 8 + br label %return + +if.end10: ; preds = %if.then3, %if.then + %10 = load i32, i32* %buflen, align 4 + %conv11 = sext i32 %10 to i64 + store i64 %conv11, i64* %len.addr, align 8 + br label %if.end12 + +if.end12: ; preds = %if.end10, %entry + %11 = load i64, i64* %r, align 8 + %12 = load i64, i64* %len.addr, align 8 + %cmp13 = icmp sgt i64 %12, 0 + br i1 %cmp13, label %cond.true, label %cond.end + +cond.true: ; preds = %if.end12 + %13 = load i64, i64* %buf.addr, align 8 + %14 = inttoptr i64 %13 to i8* + %15 = load i64, i64* %len.addr, align 8 + %16 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + %call15 = call i64 bitcast (i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.621*)* @__stdio_fwrite to i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.568*)*)(i8* %14, i64 %15, %struct.__STDIO_FILE_STRUCT.568* %16) #18 + br label %cond.end + +cond.end: ; preds = %if.end12, %cond.true + %cond = phi i64 [ %call15, %cond.true ], [ 0, %if.end12 ] + %add = add i64 %11, %cond + store i64 %add, i64* %retval, align 8 + br label %return + +return: ; preds = %cond.end, %if.then9 + %17 = load i64, i64* %retval, align 8 + ret i64 %17 +} + +; Function Attrs: noinline nounwind uwtable +define internal i64 @_charpad(%struct.__STDIO_FILE_STRUCT.568* noalias %stream, i32 %padchar, i64 %numpad) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %padchar.addr = alloca i32, align 4 + %numpad.addr = alloca i64, align 8 + %todo = alloca i64, align 8 + %pad = alloca [1 x i8], align 1 + store %struct.__STDIO_FILE_STRUCT.568* %stream, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + store i32 %padchar, i32* %padchar.addr, align 4 + store i64 %numpad, i64* %numpad.addr, align 8 + %0 = load i64, i64* %numpad.addr, align 8 + store i64 %0, i64* %todo, align 8 + %1 = load i32, i32* %padchar.addr, align 4 + %conv = trunc i32 %1 to i8 + %arraydecay = getelementptr inbounds [1 x i8], [1 x i8]* %pad, i64 0, i64 0 + store i8 %conv, i8* %arraydecay, align 1 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %2 = load i64, i64* %todo, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %land.rhs, label %while.end + +land.rhs: ; preds = %while.cond + %arraydecay1 = getelementptr inbounds [1 x i8], [1 x i8]* %pad, i64 0, i64 0 + %3 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %stream.addr, align 8 + %call = call i64 bitcast (i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.621*)* @__stdio_fwrite to i64 (i8*, i64, %struct.__STDIO_FILE_STRUCT.568*)*)(i8* %arraydecay1, i64 1, %struct.__STDIO_FILE_STRUCT.568* %3) #18 + %cmp = icmp eq i64 %call, 1 + br i1 %cmp, label %while.body, label %while.end + +while.body: ; preds = %land.rhs + %4 = load i64, i64* %todo, align 8 + %dec = add i64 %4, -1 + store i64 %dec, i64* %todo, align 8 + br label %while.cond + +while.end: ; preds = %while.cond, %land.rhs + %5 = load i64, i64* %numpad.addr, align 8 + %6 = load i64, i64* %todo, align 8 + %sub = sub i64 %5, %6 + ret i64 %sub +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__cxa_atexit(void (i8*)* %func, i8* %arg, i8* %dso_handle) #0 { +entry: + %retval = alloca i32, align 4 + %func.addr = alloca void (i8*)*, align 8 + %arg.addr = alloca i8*, align 8 + %dso_handle.addr = alloca i8*, align 8 + %efp = alloca %struct.exit_function*, align 8 + store void (i8*)* %func, void (i8*)** %func.addr, align 8 + store i8* %arg, i8** %arg.addr, align 8 + store i8* %dso_handle, i8** %dso_handle.addr, align 8 + %0 = load void (i8*)*, void (i8*)** %func.addr, align 8 + %cmp = icmp eq void (i8*)* %0, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %call = call %struct.exit_function* @__new_exitfn() #18 + store %struct.exit_function* %call, %struct.exit_function** %efp, align 8 + %1 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %cmp1 = icmp eq %struct.exit_function* %1, null + br i1 %cmp1, label %if.then2, label %if.end3 + +if.then2: ; preds = %if.end + store i32 -1, i32* %retval, align 4 + br label %return + +if.end3: ; preds = %if.end + %2 = load void (i8*)*, void (i8*)** %func.addr, align 8 + %3 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs = getelementptr inbounds %struct.exit_function, %struct.exit_function* %3, i32 0, i32 1 + %cxa_atexit = bitcast %union.anon.772* %funcs to %struct.anon.0.771* + %func4 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit, i32 0, i32 0 + store void (i8*)* %2, void (i8*)** %func4, align 8 + %4 = load i8*, i8** %arg.addr, align 8 + %5 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs5 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %5, i32 0, i32 1 + %cxa_atexit6 = bitcast %union.anon.772* %funcs5 to %struct.anon.0.771* + %arg7 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit6, i32 0, i32 1 + store i8* %4, i8** %arg7, align 8 + %6 = load i8*, i8** %dso_handle.addr, align 8 + %7 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs8 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %7, i32 0, i32 1 + %cxa_atexit9 = bitcast %union.anon.772* %funcs8 to %struct.anon.0.771* + %dso_handle10 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit9, i32 0, i32 2 + store i8* %6, i8** %dso_handle10, align 8 + %8 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %type = getelementptr inbounds %struct.exit_function, %struct.exit_function* %8, i32 0, i32 0 + store i64 3, i64* %type, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end3, %if.then2, %if.then + %9 = load i32, i32* %retval, align 4 + ret i32 %9 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @memmove(i8* nonnull %s1, i8* nonnull %s2, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %p, align 8 + %2 = load i8*, i8** %p, align 8 + %3 = load i8*, i8** %s, align 8 + %cmp = icmp uge i8* %2, %3 + br i1 %cmp, label %while.cond, label %while.cond2 + +while.cond: ; preds = %entry, %while.body + %4 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %4, 0 + br i1 %tobool, label %while.body, label %if.end + +while.body: ; preds = %while.cond + %5 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %6 = load i8, i8* %5, align 1 + %7 = load i8*, i8** %s, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %7, i32 1 + store i8* %incdec.ptr1, i8** %s, align 8 + store i8 %6, i8* %7, align 1 + %8 = load i64, i64* %n.addr, align 8 + %dec = add i64 %8, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.cond2: ; preds = %entry, %while.body4 + %9 = load i64, i64* %n.addr, align 8 + %tobool3 = icmp ne i64 %9, 0 + br i1 %tobool3, label %while.body4, label %if.end + +while.body4: ; preds = %while.cond2 + %10 = load i64, i64* %n.addr, align 8 + %dec5 = add i64 %10, -1 + store i64 %dec5, i64* %n.addr, align 8 + %11 = load i8*, i8** %p, align 8 + %12 = load i64, i64* %n.addr, align 8 + %arrayidx = getelementptr inbounds i8, i8* %11, i64 %12 + %13 = load i8, i8* %arrayidx, align 1 + %14 = load i8*, i8** %s, align 8 + %15 = load i64, i64* %n.addr, align 8 + %arrayidx6 = getelementptr inbounds i8, i8* %14, i64 %15 + store i8 %13, i8* %arrayidx6, align 1 + br label %while.cond2 + +if.end: ; preds = %while.cond2, %while.cond + %16 = load i8*, i8** %s1.addr, align 8 + ret i8* %16 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @mempcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2, i64 %n) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %r1 = alloca i8*, align 8 + %r2 = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %r1, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %r2, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %2 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load i8*, i8** %r2, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %r2, align 8 + %4 = load i8, i8* %3, align 1 + %5 = load i8*, i8** %r1, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr1, i8** %r1, align 8 + store i8 %4, i8* %5, align 1 + %6 = load i64, i64* %n.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %7 = load i8*, i8** %r1, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @stpcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + br label %while.cond + +while.cond: ; preds = %while.cond, %entry + %0 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %0, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %1 = load i8, i8* %0, align 1 + %2 = load i8*, i8** %s1.addr, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %2, i32 1 + store i8* %incdec.ptr1, i8** %s1.addr, align 8 + store i8 %1, i8* %2, align 1 + %conv = sext i8 %1 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %while.cond, label %while.end + +while.end: ; preds = %while.cond + %3 = load i8*, i8** %s1.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %3, i64 -1 + ret i8* %add.ptr +} + +; Function Attrs: noinline nounwind uwtable +define i8* @strcpy(i8* noalias nonnull %s1, i8* noalias nonnull %s2) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + br label %while.cond + +while.cond: ; preds = %while.cond, %entry + %1 = load i8*, i8** %s2.addr, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %1, i32 1 + store i8* %incdec.ptr, i8** %s2.addr, align 8 + %2 = load i8, i8* %1, align 1 + %3 = load i8*, i8** %s, align 8 + %incdec.ptr1 = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr1, i8** %s, align 8 + store i8 %2, i8* %3, align 1 + %conv = sext i8 %2 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %while.cond, label %while.end + +while.end: ; preds = %while.cond + %4 = load i8*, i8** %s1.addr, align 8 + ret i8* %4 +} + +; Function Attrs: noinline nounwind uwtable +define noalias i8* @strdup(i8* nonnull %s1) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + %l = alloca i64, align 8 + store i8* %s1, i8** %s1.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + %call = call i64 @strlen(i8* %0) #20 + %add = add i64 %call, 1 + %mul = mul i64 %add, 1 + store i64 %mul, i64* %l, align 8 + %1 = load i64, i64* %l, align 8 + %call1 = call noalias i8* @malloc(i64 %1) #19 + store i8* %call1, i8** %s, align 8 + %cmp = icmp ne i8* %call1, null + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load i8*, i8** %s, align 8 + %3 = load i8*, i8** %s1.addr, align 8 + %4 = load i64, i64* %l, align 8 + %call2 = call i8* @memcpy(i8* %2, i8* %3, i64 %4) #19 + br label %if.end + +if.end: ; preds = %if.then, %entry + %5 = load i8*, i8** %s, align 8 + ret i8* %5 +} + +; Function Attrs: noinline nounwind uwtable +define i8* @strerror(i32 %errnum) #0 { +entry: + %errnum.addr = alloca i32, align 4 + store i32 %errnum, i32* %errnum.addr, align 4 + %0 = load i32, i32* %errnum.addr, align 4 + %call = call i32 @__xpg_strerror_r(i32 %0, i8* getelementptr inbounds ([50 x i8], [50 x i8]* @strerror.buf, i64 0, i64 0), i64 50) #18 + ret i8* getelementptr inbounds ([50 x i8], [50 x i8]* @strerror.buf, i64 0, i64 0) +} + +; Function Attrs: noinline nounwind uwtable +define i64 @wcrtomb(i8* noalias %s, i32 %wc, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %s.addr = alloca i8*, align 8 + %wc.addr = alloca i32, align 4 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %wcbuf = alloca [1 x i32], align 4 + %pwc = alloca i32*, align 8 + %r = alloca i64, align 8 + %buf = alloca [16 x i8], align 16 + store i8* %s, i8** %s.addr, align 8 + store i32 %wc, i32* %wc.addr, align 4 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay, i8** %s.addr, align 8 + store i32 0, i32* %wc.addr, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %arraydecay1 = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32* %arraydecay1, i32** %pwc, align 8 + %1 = load i32, i32* %wc.addr, align 4 + %arrayidx = getelementptr inbounds [1 x i32], [1 x i32]* %wcbuf, i64 0, i64 0 + store i32 %1, i32* %arrayidx, align 4 + %2 = load i8*, i8** %s.addr, align 8 + %3 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @wcsnrtombs(i8* %2, i32** %pwc, i64 1, i64 16, %struct.__mbstate_t.512* %3) #19 + store i64 %call, i64* %r, align 8 + %4 = load i64, i64* %r, align 8 + %cmp = icmp ne i64 %4, 0 + %5 = load i64, i64* %r, align 8 + %cond = select i1 %cmp, i64 %5, i64 1 + ret i64 %cond +} + +; Function Attrs: noinline nounwind uwtable +define i64 @wcsrtombs(i8* noalias %dst, i32** noalias %src, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %dst.addr = alloca i8*, align 8 + %src.addr = alloca i32**, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + store i8* %dst, i8** %dst.addr, align 8 + store i32** %src, i32*** %src.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load i8*, i8** %dst.addr, align 8 + %1 = load i32**, i32*** %src.addr, align 8 + %2 = load i64, i64* %len.addr, align 8 + %3 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %call = call i64 @wcsnrtombs(i8* %0, i32** %1, i64 -1, i64 %2, %struct.__mbstate_t.512* %3) #19 + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define i32 @iswctype_l(i32 %wc, i32 %desc, %struct.__uclibc_locale_struct.201* %locale) #0 { +entry: + %retval = alloca i32, align 4 + %wc.addr = alloca i32, align 4 + %desc.addr = alloca i32, align 4 + %locale.addr = alloca %struct.__uclibc_locale_struct.201*, align 8 + %sc = alloca i32, align 4 + %n = alloca i32, align 4 + %i0 = alloca i32, align 4 + %i1 = alloca i32, align 4 + %d = alloca i8, align 1 + store i32 %wc, i32* %wc.addr, align 4 + store i32 %desc, i32* %desc.addr, align 4 + store %struct.__uclibc_locale_struct.201* %locale, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + store i8 0, i8* %d, align 1 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 9 + %1 = load i8, i8* %encoding, align 8 + %conv = zext i8 %1 to i32 + %cmp = icmp ne i32 %conv, 0 + %2 = load i32, i32* %wc.addr, align 4 + %cmp2 = icmp ule i32 %2, 127 + %or.cond = or i1 %cmp, %cmp2 + br i1 %or.cond, label %if.then, label %if.end78 + +if.then: ; preds = %entry + %3 = load i32, i32* %desc.addr, align 4 + %cmp4 = icmp ult i32 %3, 12 + br i1 %cmp4, label %if.then6, label %if.end58 + +if.then6: ; preds = %if.then + %4 = load i32, i32* %wc.addr, align 4 + %cmp7 = icmp ule i32 %4, 196607 + %5 = load i32, i32* %wc.addr, align 4 + br i1 %cmp7, label %if.then9, label %if.else + +if.then9: ; preds = %if.then6 + %and = and i32 %5, 7 + store i32 %and, i32* %sc, align 4 + %6 = load i32, i32* %wc.addr, align 4 + %shr = lshr i32 %6, 3 + store i32 %shr, i32* %wc.addr, align 4 + %7 = load i32, i32* %wc.addr, align 4 + %and10 = and i32 %7, 31 + store i32 %and10, i32* %n, align 4 + %8 = load i32, i32* %wc.addr, align 4 + %shr11 = lshr i32 %8, 5 + store i32 %shr11, i32* %wc.addr, align 4 + %9 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %tblwctype = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %9, i32 0, i32 21 + %10 = load i8*, i8** %tblwctype, align 8 + %11 = load i32, i32* %wc.addr, align 4 + %idxprom = zext i32 %11 to i64 + %arrayidx = getelementptr inbounds i8, i8* %10, i64 %idxprom + %12 = load i8, i8* %arrayidx, align 1 + %conv12 = zext i8 %12 to i32 + store i32 %conv12, i32* %i0, align 4 + %13 = load i32, i32* %i0, align 4 + %shl = shl i32 %13, 5 + store i32 %shl, i32* %i0, align 4 + %14 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %tblwctype13 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %14, i32 0, i32 21 + %15 = load i8*, i8** %tblwctype13, align 8 + %16 = load i32, i32* %i0, align 4 + %add = add i32 768, %16 + %17 = load i32, i32* %n, align 4 + %add14 = add i32 %add, %17 + %idxprom15 = zext i32 %add14 to i64 + %arrayidx16 = getelementptr inbounds i8, i8* %15, i64 %idxprom15 + %18 = load i8, i8* %arrayidx16, align 1 + %conv17 = zext i8 %18 to i32 + store i32 %conv17, i32* %i1, align 4 + %19 = load i32, i32* %i1, align 4 + %shl18 = shl i32 %19, 2 + store i32 %shl18, i32* %i1, align 4 + %20 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %tblwctype19 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %20, i32 0, i32 21 + %21 = load i8*, i8** %tblwctype19, align 8 + %22 = load i32, i32* %i1, align 4 + %add20 = add i32 2656, %22 + %23 = load i32, i32* %sc, align 4 + %shr21 = lshr i32 %23, 1 + %add22 = add i32 %add20, %shr21 + %idxprom23 = zext i32 %add22 to i64 + %arrayidx24 = getelementptr inbounds i8, i8* %21, i64 %idxprom23 + %24 = load i8, i8* %arrayidx24, align 1 + store i8 %24, i8* %d, align 1 + %25 = load i32, i32* %sc, align 4 + %and25 = and i32 %25, 1 + %tobool = icmp ne i32 %and25, 0 + %26 = load i8, i8* %d, align 1 + %conv26 = zext i8 %26 to i32 + %shr27 = ashr i32 %conv26, 4 + %and29 = and i32 %conv26, 15 + %cond = select i1 %tobool, i32 %shr27, i32 %and29 + %conv30 = trunc i32 %cond to i8 + store i8 %conv30, i8* %d, align 1 + br label %if.end50 + +if.else: ; preds = %if.then6 + %conv31 = zext i32 %5 to i64 + %sub = sub i64 %conv31, 917536 + %conv32 = trunc i64 %sub to i32 + %cmp33 = icmp ule i32 %conv32, 95 + br i1 %cmp33, label %if.then49, label %lor.lhs.false35 + +lor.lhs.false35: ; preds = %if.else + %27 = load i32, i32* %wc.addr, align 4 + %conv36 = zext i32 %27 to i64 + %cmp37 = icmp eq i64 %conv36, 917505 + br i1 %cmp37, label %if.then49, label %lor.lhs.false39 + +lor.lhs.false39: ; preds = %lor.lhs.false35 + %28 = load i32, i32* %wc.addr, align 4 + %conv40 = zext i32 %28 to i64 + %sub41 = sub i64 %conv40, 983040 + %conv42 = trunc i64 %sub41 to i32 + %conv43 = zext i32 %conv42 to i64 + %cmp44 = icmp ult i64 %conv43, 131072 + br i1 %cmp44, label %land.lhs.true, label %if.end50 + +land.lhs.true: ; preds = %lor.lhs.false39 + %29 = load i32, i32* %wc.addr, align 4 + %and46 = and i32 %29, 65535 + %cmp47 = icmp ule i32 %and46, 65533 + br i1 %cmp47, label %if.then49, label %if.end50 + +if.then49: ; preds = %land.lhs.true, %lor.lhs.false35, %if.else + store i8 6, i8* %d, align 1 + br label %if.end50 + +if.end50: ; preds = %lor.lhs.false39, %land.lhs.true, %if.then49, %if.then9 + %30 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** %locale.addr, align 8 + %code2flag = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %30, i32 0, i32 20 + %31 = load i16*, i16** %code2flag, align 8 + %32 = load i8, i8* %d, align 1 + %idxprom51 = zext i8 %32 to i64 + %arrayidx52 = getelementptr inbounds i16, i16* %31, i64 %idxprom51 + %33 = load i16, i16* %arrayidx52, align 2 + %conv53 = zext i16 %33 to i32 + %34 = load i32, i32* %desc.addr, align 4 + %idxprom54 = zext i32 %34 to i64 + %arrayidx55 = getelementptr inbounds [13 x i16], [13 x i16]* @desc2flag, i64 0, i64 %idxprom54 + %35 = load i16, i16* %arrayidx55, align 2 + %conv56 = zext i16 %35 to i32 + %and57 = and i32 %conv53, %conv56 + store i32 %and57, i32* %retval, align 4 + br label %return + +if.end58: ; preds = %if.then + %36 = load i32, i32* %desc.addr, align 4 + %cmp59 = icmp eq i32 %36, 12 + br i1 %cmp59, label %cond.false68, label %cond.end76 + +cond.false68: ; preds = %if.end58 + %37 = load i32, i32* %wc.addr, align 4 + %sub69 = sub i32 %37, 48 + %cmp70 = icmp ult i32 %sub69, 10 + %38 = load i32, i32* %wc.addr, align 4 + %or = or i32 %38, 32 + %sub72 = sub i32 %or, 97 + %cmp73 = icmp ult i32 %sub72, 6 + %39 = select i1 %cmp70, i1 true, i1 %cmp73 + %lor.ext = zext i1 %39 to i32 + br label %cond.end76 + +cond.end76: ; preds = %if.end58, %cond.false68 + %cond77 = phi i32 [ %lor.ext, %cond.false68 ], [ 0, %if.end58 ] + store i32 %cond77, i32* %retval, align 4 + br label %return + +if.end78: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end78, %cond.end76, %if.end50 + %40 = load i32, i32* %retval, align 4 + ret i32 %40 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_adjust_position(%struct.__STDIO_FILE_STRUCT.636* noalias %stream, i64* %pos) #0 { +entry: + %retval = alloca i32, align 4 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %pos.addr = alloca i64*, align 8 + %oldpos = alloca i64, align 8 + %corr = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64* %pos, i64** %pos.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 3 + store i32 %and, i32* %corr, align 4 + %cmp = icmp ne i32 %and, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load i32, i32* %corr, align 4 + %dec = add nsw i32 %2, -1 + store i32 %dec, i32* %corr, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + %3 = load i32, i32* %corr, align 4 + %tobool = icmp ne i32 %3, 0 + br i1 %tobool, label %land.lhs.true, label %if.end22 + +land.lhs.true: ; preds = %if.end + %4 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags2 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %4, i32 0, i32 0 + %5 = load i16, i16* %__modeflags2, align 8 + %conv3 = zext i16 %5 to i32 + %and4 = and i32 %conv3, 2048 + %tobool5 = icmp ne i32 %and4, 0 + br i1 %tobool5, label %if.then6, label %if.end22 + +if.then6: ; preds = %land.lhs.true + %6 = load i32, i32* %corr, align 4 + %cmp7 = icmp sgt i32 %6, 1 + br i1 %cmp7, label %if.then10, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.then6 + %7 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %7, i32 0, i32 10 + %arrayidx = getelementptr inbounds [2 x i32], [2 x i32]* %__ungot, i64 0, i64 1 + %8 = load i32, i32* %arrayidx, align 4 + %tobool9 = icmp ne i32 %8, 0 + br i1 %tobool9, label %if.then10, label %if.end11 + +if.then10: ; preds = %lor.lhs.false, %if.then6 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end11: ; preds = %lor.lhs.false + %9 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot_width = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %9, i32 0, i32 1 + %arrayidx12 = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width, i64 0, i64 1 + %10 = load i8, i8* %arrayidx12, align 1 + %conv13 = zext i8 %10 to i32 + %add = add nsw i32 1, %conv13 + %11 = load i32, i32* %corr, align 4 + %sub = sub nsw i32 %11, %add + store i32 %sub, i32* %corr, align 4 + %12 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__state = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %12, i32 0, i32 11 + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %__state, i32 0, i32 0 + %13 = load i32, i32* %__mask, align 8 + %cmp14 = icmp sgt i32 %13, 0 + br i1 %cmp14, label %if.then16, label %if.end22 + +if.then16: ; preds = %if.end11 + %14 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__ungot_width17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %14, i32 0, i32 1 + %arrayidx18 = getelementptr inbounds [2 x i8], [2 x i8]* %__ungot_width17, i64 0, i64 0 + %15 = load i8, i8* %arrayidx18, align 2 + %conv19 = zext i8 %15 to i32 + %16 = load i32, i32* %corr, align 4 + %sub20 = sub nsw i32 %16, %conv19 + store i32 %sub20, i32* %corr, align 4 + br label %if.end22 + +if.end22: ; preds = %if.end11, %if.then16, %land.lhs.true, %if.end + %17 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__modeflags23 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %17, i32 0, i32 0 + %18 = load i16, i16* %__modeflags23, align 8 + %conv24 = zext i16 %18 to i32 + %and25 = and i32 %conv24, 64 + %tobool26 = icmp ne i32 %and25, 0 + %19 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + br i1 %tobool26, label %cond.true, label %cond.false + +cond.true: ; preds = %if.end22 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %19, i32 0, i32 3 + %20 = load i8*, i8** %__bufstart, align 8 + br label %cond.end + +cond.false: ; preds = %if.end22 + %__bufread = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %19, i32 0, i32 6 + %21 = load i8*, i8** %__bufread, align 8 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i8* [ %20, %cond.true ], [ %21, %cond.false ] + %22 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %22, i32 0, i32 5 + %23 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %cond to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %23 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %24 = load i32, i32* %corr, align 4 + %conv27 = sext i32 %24 to i64 + %add28 = add nsw i64 %conv27, %sub.ptr.sub + %conv29 = trunc i64 %add28 to i32 + store i32 %conv29, i32* %corr, align 4 + %25 = load i64*, i64** %pos.addr, align 8 + %26 = load i64, i64* %25, align 8 + store i64 %26, i64* %oldpos, align 8 + %27 = load i32, i32* %corr, align 4 + %conv30 = sext i32 %27 to i64 + %28 = load i64*, i64** %pos.addr, align 8 + %29 = load i64, i64* %28, align 8 + %sub31 = sub nsw i64 %29, %conv30 + store i64 %sub31, i64* %28, align 8 + %30 = load i64, i64* %oldpos, align 8 + %cmp32 = icmp sgt i64 %sub31, %30 + br i1 %cmp32, label %if.then34, label %if.end36 + +if.then34: ; preds = %cond.end + %31 = load i32, i32* %corr, align 4 + %sub35 = sub nsw i32 0, %31 + store i32 %sub35, i32* %corr, align 4 + br label %if.end36 + +if.end36: ; preds = %if.then34, %cond.end + %32 = load i32, i32* %corr, align 4 + %cmp37 = icmp slt i32 %32, 0 + br i1 %cmp37, label %if.then39, label %if.end40 + +if.then39: ; preds = %if.end36 + store i32 75, i32* @errno, align 4 + br label %if.end40 + +if.end40: ; preds = %if.then39, %if.end36 + %33 = load i32, i32* %corr, align 4 + store i32 %33, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end40, %if.then10 + %34 = load i32, i32* %retval, align 4 + ret i32 %34 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @__stdio_seek(%struct.__STDIO_FILE_STRUCT.636* %stream, i64* %pos, i32 %whence) #0 { +entry: + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.636*, align 8 + %pos.addr = alloca i64*, align 8 + %whence.addr = alloca i32, align 4 + %res = alloca i64, align 8 + store %struct.__STDIO_FILE_STRUCT.636* %stream, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + store i64* %pos, i64** %pos.addr, align 8 + store i32 %whence, i32* %whence.addr, align 4 + %0 = load %struct.__STDIO_FILE_STRUCT.636*, %struct.__STDIO_FILE_STRUCT.636** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.636, %struct.__STDIO_FILE_STRUCT.636* %0, i32 0, i32 2 + %1 = load i32, i32* %__filedes, align 4 + %2 = load i64*, i64** %pos.addr, align 8 + %3 = load i64, i64* %2, align 8 + %4 = load i32, i32* %whence.addr, align 4 + %call = call i64 @lseek64(i32 %1, i64 %3, i32 %4) #19 + store i64 %call, i64* %res, align 8 + %5 = load i64, i64* %res, align 8 + %cmp = icmp sge i64 %5, 0 + %6 = load i64, i64* %res, align 8 + br i1 %cmp, label %cond.true, label %cond.false + +cond.true: ; preds = %entry + %7 = load i64*, i64** %pos.addr, align 8 + store i64 %6, i64* %7, align 8 + br label %cond.end + +cond.false: ; preds = %entry + %conv = trunc i64 %6 to i32 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond = phi i32 [ 0, %cond.true ], [ %conv, %cond.false ] + ret i32 %cond +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_fpmaxtostr(%struct.__STDIO_FILE_STRUCT.568* %fp, double %x, %struct.printf_info.720* %info, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)* %fp_outfunc) #0 { +entry: + %retval = alloca i64, align 8 + %fp.addr = alloca %struct.__STDIO_FILE_STRUCT.568*, align 8 + %x.addr = alloca double, align 8 + %info.addr = alloca %struct.printf_info.720*, align 8 + %fp_outfunc.addr = alloca i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)*, align 8 + %round = alloca i32, align 4 + %o_exp = alloca i32, align 4 + %exp = alloca i32, align 4 + %width = alloca i32, align 4 + %preci = alloca i32, align 4 + %cnt = alloca i32, align 4 + %s = alloca i8*, align 8 + %e = alloca i8*, align 8 + %pc_fwi = alloca [24 x i64], align 16 + %ppc = alloca i64*, align 8 + %ppc_last = alloca i64*, align 8 + %exp_buf = alloca [16 x i8], align 16 + %buf = alloca [21 x i8], align 16 + %sign_str = alloca [6 x i8], align 1 + %o_mode = alloca i8, align 1 + %mode = alloca i8, align 1 + %i = alloca i32, align 4 + %j = alloca i32, align 4 + %exp_neg = alloca i32, align 4 + %i92 = alloca i32, align 4 + %j93 = alloca i32, align 4 + %digit_block = alloca i64, align 8 + %i151 = alloca i32, align 4 + %i218 = alloca i32, align 4 + %p = alloca i8*, align 8 + %j329 = alloca i32, align 4 + %exp_char = alloca i8, align 1 + %exp_sign = alloca i8, align 1 + %i359 = alloca i32, align 4 + store %struct.__STDIO_FILE_STRUCT.568* %fp, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + store double %x, double* %x.addr, align 8 + store %struct.printf_info.720* %info, %struct.printf_info.720** %info.addr, align 8 + store i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)* %fp_outfunc, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)** %fp_outfunc.addr, align 8 + %0 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %width1 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %0, i32 0, i32 1 + %1 = load i32, i32* %width1, align 4 + store i32 %1, i32* %width, align 4 + %2 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %2, i32 0, i32 0 + %3 = load i32, i32* %prec, align 4 + store i32 %3, i32* %preci, align 4 + %4 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %spec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %4, i32 0, i32 2 + %5 = load i32, i32* %spec, align 4 + %conv = trunc i32 %5 to i8 + store i8 %conv, i8* %mode, align 1 + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + store i8 101, i8* %arraydecay, align 16 + %6 = load i8, i8* %mode, align 1 + %conv2 = sext i8 %6 to i32 + %or = or i32 %conv2, 32 + %cmp = icmp eq i32 %or, 97 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %7 = load i8, i8* %mode, align 1 + %conv4 = sext i8 %7 to i32 + %add = add nsw i32 %conv4, 6 + %conv5 = trunc i32 %add to i8 + store i8 %conv5, i8* %mode, align 1 + br label %if.end + +if.end: ; preds = %if.then, %entry + %8 = load i32, i32* %preci, align 4 + %cmp6 = icmp slt i32 %8, 0 + br i1 %cmp6, label %if.then8, label %if.end9 + +if.then8: ; preds = %if.end + store i32 6, i32* %preci, align 4 + br label %if.end9 + +if.end9: ; preds = %if.then8, %if.end + %arraydecay10 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 0, i8* %arraydecay10, align 1 + %9 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %showsign = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %9, i32 0, i32 3 + %bf.load = load i32, i32* %showsign, align 4 + %bf.lshr = lshr i32 %bf.load, 1 + %bf.clear = and i32 %bf.lshr, 1 + %tobool = icmp ne i32 %bf.clear, 0 + br i1 %tobool, label %if.then11, label %if.else + +if.then11: ; preds = %if.end9 + %arraydecay12 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 43, i8* %arraydecay12, align 1 + br label %if.end19 + +if.else: ; preds = %if.end9 + %10 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %space = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %10, i32 0, i32 3 + %bf.load13 = load i32, i32* %space, align 4 + %bf.clear14 = and i32 %bf.load13, 1 + %tobool15 = icmp ne i32 %bf.clear14, 0 + br i1 %tobool15, label %if.then16, label %if.end19 + +if.then16: ; preds = %if.else + %arraydecay17 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 32, i8* %arraydecay17, align 1 + br label %if.end19 + +if.end19: ; preds = %if.else, %if.then16, %if.then11 + %arraydecay20 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay20, i64 1 + store i8 0, i8* %add.ptr, align 1 + %arrayidx = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 0, i64* %arrayidx, align 8 + %11 = load double, double* %x.addr, align 8 + %12 = load double, double* %x.addr, align 8 + %cmp21 = fcmp une double %11, %12 + br i1 %cmp21, label %if.then23, label %if.end25 + +if.then23: ; preds = %if.end19 + %arrayidx24 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 8, i64* %arrayidx24, align 8 + br label %INF_NAN + +if.end25: ; preds = %if.end19 + %13 = load double, double* %x.addr, align 8 + %cmp26 = fcmp oeq double %13, 0.000000e+00 + %14 = load double, double* %x.addr, align 8 + br i1 %cmp26, label %if.then28, label %if.end34 + +if.then28: ; preds = %if.end25 + %div = fdiv double 1.000000e+00, %14 + %cmp29 = fcmp olt double %div, 0.000000e+00 + br i1 %cmp29, label %if.then31, label %if.end33 + +if.then31: ; preds = %if.then28 + %arraydecay32 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 45, i8* %arraydecay32, align 1 + br label %if.end33 + +if.end33: ; preds = %if.then31, %if.then28 + store i32 -1, i32* %exp, align 4 + br label %GENERATE_DIGITS + +if.end34: ; preds = %if.end25 + %cmp35 = fcmp olt double %14, 0.000000e+00 + br i1 %cmp35, label %if.then37, label %if.end39 + +if.then37: ; preds = %if.end34 + %arraydecay38 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + store i8 45, i8* %arraydecay38, align 1 + %15 = load double, double* %x.addr, align 8 + %fneg = fneg double %15 + store double %fneg, double* %x.addr, align 8 + br label %if.end39 + +if.end39: ; preds = %if.then37, %if.end34 + %16 = load double, double* %x.addr, align 8 + %17 = load double, double* %x.addr, align 8 + %div40 = fdiv double %17, 4.000000e+00 + %cmp41 = fcmp oeq double %16, %div40 + br i1 %cmp41, label %INF_NAN, label %if.end58 + +INF_NAN: ; preds = %if.end39, %if.then23 + %18 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %18, i32 0, i32 4 + store i32 32, i32* %pad, align 4 + %arraydecay44 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + %add.ptr45 = getelementptr inbounds i64, i64* %arraydecay44, i64 6 + store i64* %add.ptr45, i64** %ppc, align 8 + %arrayidx46 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 3 + store i64 112, i64* %arrayidx46, align 8 + %arrayidx47 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 4 + store i64 3, i64* %arrayidx47, align 16 + %19 = load i8, i8* %mode, align 1 + %conv48 = sext i8 %19 to i32 + %cmp49 = icmp slt i32 %conv48, 97 + br i1 %cmp49, label %if.then51, label %if.end54 + +if.then51: ; preds = %INF_NAN + %arrayidx52 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + %20 = load i64, i64* %arrayidx52, align 8 + %add53 = add nsw i64 %20, 4 + store i64 %add53, i64* %arrayidx52, align 8 + br label %if.end54 + +if.end54: ; preds = %if.then51, %INF_NAN + %arrayidx55 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + %21 = load i64, i64* %arrayidx55, align 8 + %add.ptr56 = getelementptr inbounds i8, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 0), i64 %21 + %22 = ptrtoint i8* %add.ptr56 to i64 + %arrayidx57 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 %22, i64* %arrayidx57, align 8 + br label %EXIT_SPECIAL + +if.end58: ; preds = %if.end39 + store i32 8, i32* %exp, align 4 + store i32 9, i32* %i, align 4 + store i32 256, i32* %j, align 4 + store i32 0, i32* %exp_neg, align 4 + %23 = load double, double* %x.addr, align 8 + %cmp59 = fcmp olt double %23, 1.000000e+08 + br i1 %cmp59, label %if.then61, label %if.end62 + +if.then61: ; preds = %if.end58 + store i32 1, i32* %exp_neg, align 4 + br label %if.end62 + +if.end62: ; preds = %if.then61, %if.end58 + br label %do.body + +do.body: ; preds = %if.end85, %if.end62 + %24 = load i32, i32* %i, align 4 + %dec = add nsw i32 %24, -1 + store i32 %dec, i32* %i, align 4 + %25 = load i32, i32* %exp_neg, align 4 + %tobool63 = icmp ne i32 %25, 0 + %26 = load double, double* %x.addr, align 8 + %27 = load i32, i32* %i, align 4 + %idxprom = sext i32 %27 to i64 + %arrayidx65 = getelementptr inbounds [9 x double], [9 x double]* @exp10_table, i64 0, i64 %idxprom + %28 = load double, double* %arrayidx65, align 8 + br i1 %tobool63, label %if.then64, label %if.else73 + +if.then64: ; preds = %do.body + %mul = fmul double %26, %28 + %cmp66 = fcmp olt double %mul, 1.000000e+09 + br i1 %cmp66, label %if.then68, label %if.end85 + +if.then68: ; preds = %if.then64 + %29 = load i32, i32* %i, align 4 + %idxprom69 = sext i32 %29 to i64 + %arrayidx70 = getelementptr inbounds [9 x double], [9 x double]* @exp10_table, i64 0, i64 %idxprom69 + %30 = load double, double* %arrayidx70, align 8 + %31 = load double, double* %x.addr, align 8 + %mul71 = fmul double %31, %30 + store double %mul71, double* %x.addr, align 8 + %32 = load i32, i32* %j, align 4 + %33 = load i32, i32* %exp, align 4 + %sub = sub nsw i32 %33, %32 + store i32 %sub, i32* %exp, align 4 + br label %if.end85 + +if.else73: ; preds = %do.body + %div76 = fdiv double %26, %28 + %cmp77 = fcmp oge double %div76, 1.000000e+08 + br i1 %cmp77, label %if.then79, label %if.end85 + +if.then79: ; preds = %if.else73 + %34 = load i32, i32* %i, align 4 + %idxprom80 = sext i32 %34 to i64 + %arrayidx81 = getelementptr inbounds [9 x double], [9 x double]* @exp10_table, i64 0, i64 %idxprom80 + %35 = load double, double* %arrayidx81, align 8 + %36 = load double, double* %x.addr, align 8 + %div82 = fdiv double %36, %35 + store double %div82, double* %x.addr, align 8 + %37 = load i32, i32* %j, align 4 + %38 = load i32, i32* %exp, align 4 + %add83 = add nsw i32 %38, %37 + store i32 %add83, i32* %exp, align 4 + br label %if.end85 + +if.end85: ; preds = %if.else73, %if.then79, %if.then64, %if.then68 + %39 = load i32, i32* %j, align 4 + %shr = ashr i32 %39, 1 + store i32 %shr, i32* %j, align 4 + %40 = load i32, i32* %i, align 4 + %tobool86 = icmp ne i32 %40, 0 + br i1 %tobool86, label %do.body, label %do.end + +do.end: ; preds = %if.end85 + %41 = load double, double* %x.addr, align 8 + %cmp87 = fcmp oge double %41, 1.000000e+09 + br i1 %cmp87, label %if.then89, label %GENERATE_DIGITS + +if.then89: ; preds = %do.end + %42 = load double, double* getelementptr inbounds ([9 x double], [9 x double]* @exp10_table, i64 0, i64 0), align 16 + %43 = load double, double* %x.addr, align 8 + %div90 = fdiv double %43, %42 + store double %div90, double* %x.addr, align 8 + %44 = load i32, i32* %exp, align 4 + %inc = add nsw i32 %44, 1 + store i32 %inc, i32* %exp, align 4 + br label %GENERATE_DIGITS + +GENERATE_DIGITS: ; preds = %do.end, %if.then89, %if.end33 + %arraydecay94 = getelementptr inbounds [21 x i8], [21 x i8]* %buf, i64 0, i64 0 + %add.ptr95 = getelementptr inbounds i8, i8* %arraydecay94, i64 2 + store i8* %add.ptr95, i8** %s, align 8 + store i32 0, i32* %i92, align 4 + br label %do.body96 + +do.body96: ; preds = %do.cond114, %GENERATE_DIGITS + %45 = load double, double* %x.addr, align 8 + %conv97 = fptoui double %45 to i64 + store i64 %conv97, i64* %digit_block, align 8 + %46 = load double, double* %x.addr, align 8 + %47 = load i64, i64* %digit_block, align 8 + %conv98 = uitofp i64 %47 to double + %sub99 = fsub double %46, %conv98 + %mul100 = fmul double %sub99, 1.000000e+09 + store double %mul100, double* %x.addr, align 8 + %48 = load i8*, i8** %s, align 8 + %add.ptr101 = getelementptr inbounds i8, i8* %48, i64 9 + store i8* %add.ptr101, i8** %s, align 8 + store i32 0, i32* %j93, align 4 + br label %do.body102 + +do.body102: ; preds = %do.body102, %do.body96 + %49 = load i64, i64* %digit_block, align 8 + %rem = urem i64 %49, 10 + %add103 = add i64 48, %rem + %conv104 = trunc i64 %add103 to i8 + %50 = load i8*, i8** %s, align 8 + %51 = load i32, i32* %j93, align 4 + %inc105 = add nsw i32 %51, 1 + store i32 %inc105, i32* %j93, align 4 + %sub106 = sub nsw i32 0, %inc105 + %idxprom107 = sext i32 %sub106 to i64 + %arrayidx108 = getelementptr inbounds i8, i8* %50, i64 %idxprom107 + store i8 %conv104, i8* %arrayidx108, align 1 + %52 = load i64, i64* %digit_block, align 8 + %div109 = udiv i64 %52, 10 + store i64 %div109, i64* %digit_block, align 8 + %53 = load i32, i32* %j93, align 4 + %cmp111 = icmp slt i32 %53, 9 + br i1 %cmp111, label %do.body102, label %do.cond114 + +do.cond114: ; preds = %do.body102 + %54 = load i32, i32* %i92, align 4 + %inc115 = add nsw i32 %54, 1 + store i32 %inc115, i32* %i92, align 4 + %cmp116 = icmp slt i32 %inc115, 2 + br i1 %cmp116, label %do.body96, label %do.end118 + +do.end118: ; preds = %do.cond114 + %55 = load i8, i8* %mode, align 1 + %conv119 = sext i8 %55 to i32 + %cmp120 = icmp slt i32 %conv119, 97 + br i1 %cmp120, label %if.then122, label %if.end130 + +if.then122: ; preds = %do.end118 + %arraydecay123 = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + %56 = load i8, i8* %arraydecay123, align 16 + %conv124 = sext i8 %56 to i32 + %sub125 = sub nsw i32 %conv124, 32 + %conv126 = trunc i32 %sub125 to i8 + store i8 %conv126, i8* %arraydecay123, align 16 + %57 = load i8, i8* %mode, align 1 + %conv127 = sext i8 %57 to i32 + %add128 = add nsw i32 %conv127, 32 + %conv129 = trunc i32 %add128 to i8 + store i8 %conv129, i8* %mode, align 1 + br label %if.end130 + +if.end130: ; preds = %if.then122, %do.end118 + %58 = load i8, i8* %mode, align 1 + store i8 %58, i8* %o_mode, align 1 + %59 = load i8, i8* %mode, align 1 + %conv131 = sext i8 %59 to i32 + %cmp132 = icmp eq i32 %conv131, 103 + %60 = load i32, i32* %preci, align 4 + %cmp134 = icmp sgt i32 %60, 0 + %or.cond = and i1 %cmp132, %cmp134 + br i1 %or.cond, label %if.then136, label %if.end138 + +if.then136: ; preds = %if.end130 + %61 = load i32, i32* %preci, align 4 + %dec137 = add nsw i32 %61, -1 + store i32 %dec137, i32* %preci, align 4 + br label %if.end138 + +if.end138: ; preds = %if.then136, %if.end130 + %62 = load i32, i32* %preci, align 4 + store i32 %62, i32* %round, align 4 + %63 = load i8, i8* %mode, align 1 + %conv139 = sext i8 %63 to i32 + %cmp140 = icmp eq i32 %conv139, 102 + br i1 %cmp140, label %if.then142, label %if.end149 + +if.then142: ; preds = %if.end138 + %64 = load i32, i32* %exp, align 4 + %65 = load i32, i32* %round, align 4 + %add143 = add nsw i32 %65, %64 + store i32 %add143, i32* %round, align 4 + %66 = load i32, i32* %round, align 4 + %cmp144 = icmp slt i32 %66, -1 + br i1 %cmp144, label %if.then146, label %if.end149 + +if.then146: ; preds = %if.then142 + %arraydecay147 = getelementptr inbounds [21 x i8], [21 x i8]* %buf, i64 0, i64 0 + %call = call i8* @memset(i8* %arraydecay147, i32 48, i64 17) #19 + store i32 -1, i32* %exp, align 4 + store i32 -1, i32* %round, align 4 + br label %if.end149 + +if.end149: ; preds = %if.then142, %if.then146, %if.end138 + %arraydecay150 = getelementptr inbounds [21 x i8], [21 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay150, i8** %s, align 8 + %67 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %67, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + store i8 0, i8* %67, align 1 + %68 = load i8*, i8** %s, align 8 + store i8 48, i8* %68, align 1 + store i32 0, i32* %i151, align 4 + %69 = load i8*, i8** %s, align 8 + %add.ptr152 = getelementptr inbounds i8, i8* %69, i64 17 + %add.ptr153 = getelementptr inbounds i8, i8* %add.ptr152, i64 1 + store i8* %add.ptr153, i8** %e, align 8 + %70 = load i32, i32* %round, align 4 + %cmp154 = icmp slt i32 %70, 17 + br i1 %cmp154, label %if.then156, label %if.end164 + +if.then156: ; preds = %if.end149 + %71 = load i8*, i8** %s, align 8 + %72 = load i32, i32* %round, align 4 + %idx.ext = sext i32 %72 to i64 + %add.ptr157 = getelementptr inbounds i8, i8* %71, i64 %idx.ext + %add.ptr158 = getelementptr inbounds i8, i8* %add.ptr157, i64 2 + store i8* %add.ptr158, i8** %e, align 8 + %73 = load i8*, i8** %e, align 8 + %74 = load i8, i8* %73, align 1 + %conv159 = sext i8 %74 to i32 + %cmp160 = icmp sge i32 %conv159, 53 + br i1 %cmp160, label %if.then162, label %if.end164 + +if.then162: ; preds = %if.then156 + store i32 1, i32* %i151, align 4 + br label %if.end164 + +if.end164: ; preds = %if.then156, %if.then162, %if.end149 + br label %do.body165 + +do.body165: ; preds = %do.body165, %lor.rhs, %if.end164 + %75 = load i32, i32* %i151, align 4 + %76 = load i8*, i8** %e, align 8 + %incdec.ptr166 = getelementptr inbounds i8, i8* %76, i32 -1 + store i8* %incdec.ptr166, i8** %e, align 8 + %77 = load i8, i8* %incdec.ptr166, align 1 + %conv167 = sext i8 %77 to i32 + %add168 = add nsw i32 %conv167, %75 + %conv169 = trunc i32 %add168 to i8 + store i8 %conv169, i8* %incdec.ptr166, align 1 + %78 = load i8*, i8** %e, align 8 + %79 = load i8, i8* %78, align 1 + %conv171 = sext i8 %79 to i32 + %cmp172 = icmp eq i32 %conv171, 48 + br i1 %cmp172, label %do.body165, label %lor.rhs + +lor.rhs: ; preds = %do.body165 + %80 = load i8*, i8** %e, align 8 + %81 = load i8, i8* %80, align 1 + %conv174 = sext i8 %81 to i32 + %cmp175 = icmp sgt i32 %conv174, 57 + br i1 %cmp175, label %do.body165, label %do.end177 + +do.end177: ; preds = %lor.rhs + %82 = load i32, i32* %exp, align 4 + store i32 %82, i32* %o_exp, align 4 + %83 = load i8*, i8** %e, align 8 + %84 = load i8*, i8** %s, align 8 + %cmp178 = icmp ule i8* %83, %84 + br i1 %cmp178, label %if.then180, label %if.else182 + +if.then180: ; preds = %do.end177 + %85 = load i32, i32* %o_exp, align 4 + %inc181 = add nsw i32 %85, 1 + store i32 %inc181, i32* %o_exp, align 4 + %86 = load i8*, i8** %s, align 8 + store i8* %86, i8** %e, align 8 + br label %if.end184 + +if.else182: ; preds = %do.end177 + %87 = load i8*, i8** %s, align 8 + %incdec.ptr183 = getelementptr inbounds i8, i8* %87, i32 1 + store i8* %incdec.ptr183, i8** %s, align 8 + br label %if.end184 + +if.end184: ; preds = %if.else182, %if.then180 + %88 = load i8*, i8** %e, align 8 + %incdec.ptr185 = getelementptr inbounds i8, i8* %88, i32 1 + store i8* %incdec.ptr185, i8** %e, align 8 + store i8 0, i8* %incdec.ptr185, align 1 + %89 = load i8, i8* %mode, align 1 + %conv186 = sext i8 %89 to i32 + %cmp187 = icmp eq i32 %conv186, 103 + %90 = load i32, i32* %o_exp, align 4 + %cmp190 = icmp sge i32 %90, -4 + %or.cond1 = and i1 %cmp187, %cmp190 + br i1 %or.cond1, label %land.lhs.true192, label %if.end197 + +land.lhs.true192: ; preds = %if.end184 + %91 = load i32, i32* %o_exp, align 4 + %92 = load i32, i32* %round, align 4 + %cmp193 = icmp sle i32 %91, %92 + br i1 %cmp193, label %if.then195, label %if.end197 + +if.then195: ; preds = %land.lhs.true192 + store i8 102, i8* %mode, align 1 + %93 = load i32, i32* %round, align 4 + %94 = load i32, i32* %o_exp, align 4 + %sub196 = sub nsw i32 %93, %94 + store i32 %sub196, i32* %preci, align 4 + br label %if.end197 + +if.end197: ; preds = %if.then195, %land.lhs.true192, %if.end184 + %95 = load i32, i32* %o_exp, align 4 + store i32 %95, i32* %exp, align 4 + %96 = load i8, i8* %mode, align 1 + %conv198 = sext i8 %96 to i32 + %cmp199 = icmp ne i32 %conv198, 102 + br i1 %cmp199, label %if.then201, label %if.end202 + +if.then201: ; preds = %if.end197 + store i32 0, i32* %o_exp, align 4 + br label %if.end202 + +if.end202: ; preds = %if.then201, %if.end197 + %97 = load i32, i32* %o_exp, align 4 + %cmp203 = icmp slt i32 %97, 0 + br i1 %cmp203, label %if.then205, label %if.end207 + +if.then205: ; preds = %if.end202 + %98 = load i8*, i8** %s, align 8 + %incdec.ptr206 = getelementptr inbounds i8, i8* %98, i32 -1 + store i8* %incdec.ptr206, i8** %s, align 8 + store i8 48, i8* %incdec.ptr206, align 1 + br label %if.end207 + +if.end207: ; preds = %if.then205, %if.end202 + %arrayidx208 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 3 + store i64 176, i64* %arrayidx208, align 8 + %arrayidx209 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 4 + store i64 1, i64* %arrayidx209, align 16 + %arraydecay210 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %add.ptr211 = getelementptr inbounds i8, i8* %arraydecay210, i64 4 + %99 = ptrtoint i8* %add.ptr211 to i64 + %arrayidx212 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 5 + store i64 %99, i64* %arrayidx212, align 8 + %100 = load i8*, i8** %s, align 8 + %incdec.ptr213 = getelementptr inbounds i8, i8* %100, i32 1 + store i8* %incdec.ptr213, i8** %s, align 8 + %101 = load i8, i8* %100, align 1 + %arrayidx214 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 4 + store i8 %101, i8* %arrayidx214, align 1 + %arrayidx215 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 5 + store i8 0, i8* %arrayidx215, align 1 + %arraydecay216 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + %add.ptr217 = getelementptr inbounds i64, i64* %arraydecay216, i64 6 + store i64* %add.ptr217, i64** %ppc, align 8 + %102 = load i8*, i8** %e, align 8 + %103 = load i8*, i8** %s, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %102 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %103 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + %conv219 = trunc i64 %sub.ptr.sub to i32 + store i32 %conv219, i32* %i218, align 4 + %104 = load i32, i32* %o_exp, align 4 + %cmp220 = icmp sge i32 %104, 0 + br i1 %cmp220, label %if.then222, label %if.end253 + +if.then222: ; preds = %if.end207 + %105 = load i64*, i64** %ppc, align 8 + %arrayidx223 = getelementptr inbounds i64, i64* %105, i64 0 + store i64 112, i64* %arrayidx223, align 8 + %106 = load i8*, i8** %s, align 8 + %107 = ptrtoint i8* %106 to i64 + %108 = load i64*, i64** %ppc, align 8 + %arrayidx224 = getelementptr inbounds i64, i64* %108, i64 2 + store i64 %107, i64* %arrayidx224, align 8 + %109 = load i32, i32* %o_exp, align 4 + %110 = load i32, i32* %i218, align 4 + %cmp225 = icmp sge i32 %109, %110 + br i1 %cmp225, label %if.then227, label %if.else241 + +if.then227: ; preds = %if.then222 + %111 = load i32, i32* %i218, align 4 + %conv228 = sext i32 %111 to i64 + %112 = load i64*, i64** %ppc, align 8 + %arrayidx229 = getelementptr inbounds i64, i64* %112, i64 1 + store i64 %conv228, i64* %arrayidx229, align 8 + %113 = load i64*, i64** %ppc, align 8 + %add.ptr230 = getelementptr inbounds i64, i64* %113, i64 3 + store i64* %add.ptr230, i64** %ppc, align 8 + %114 = load i32, i32* %i218, align 4 + %115 = load i32, i32* %o_exp, align 4 + %sub231 = sub nsw i32 %115, %114 + store i32 %sub231, i32* %o_exp, align 4 + store i32 0, i32* %i218, align 4 + %116 = load i32, i32* %o_exp, align 4 + %cmp232 = icmp sgt i32 %116, 0 + br i1 %cmp232, label %if.then234, label %if.end252 + +if.then234: ; preds = %if.then227 + %117 = load i64*, i64** %ppc, align 8 + %arrayidx235 = getelementptr inbounds i64, i64* %117, i64 0 + store i64 176, i64* %arrayidx235, align 8 + %118 = load i32, i32* %o_exp, align 4 + %conv236 = sext i32 %118 to i64 + %119 = load i64*, i64** %ppc, align 8 + %arrayidx237 = getelementptr inbounds i64, i64* %119, i64 1 + store i64 %conv236, i64* %arrayidx237, align 8 + %120 = load i64*, i64** %ppc, align 8 + %arrayidx238 = getelementptr inbounds i64, i64* %120, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx238, align 8 + %121 = load i64*, i64** %ppc, align 8 + %add.ptr239 = getelementptr inbounds i64, i64* %121, i64 3 + store i64* %add.ptr239, i64** %ppc, align 8 + br label %if.end252 + +if.else241: ; preds = %if.then222 + %122 = load i32, i32* %o_exp, align 4 + %cmp242 = icmp sgt i32 %122, 0 + br i1 %cmp242, label %if.then244, label %if.end252 + +if.then244: ; preds = %if.else241 + %123 = load i32, i32* %o_exp, align 4 + %conv245 = sext i32 %123 to i64 + %124 = load i64*, i64** %ppc, align 8 + %arrayidx246 = getelementptr inbounds i64, i64* %124, i64 1 + store i64 %conv245, i64* %arrayidx246, align 8 + %125 = load i64*, i64** %ppc, align 8 + %add.ptr247 = getelementptr inbounds i64, i64* %125, i64 3 + store i64* %add.ptr247, i64** %ppc, align 8 + %126 = load i32, i32* %o_exp, align 4 + %127 = load i8*, i8** %s, align 8 + %idx.ext248 = sext i32 %126 to i64 + %add.ptr249 = getelementptr inbounds i8, i8* %127, i64 %idx.ext248 + store i8* %add.ptr249, i8** %s, align 8 + %128 = load i32, i32* %o_exp, align 4 + %129 = load i32, i32* %i218, align 4 + %sub250 = sub nsw i32 %129, %128 + store i32 %sub250, i32* %i218, align 4 + br label %if.end252 + +if.end252: ; preds = %if.else241, %if.then244, %if.then227, %if.then234 + store i32 -1, i32* %o_exp, align 4 + br label %if.end253 + +if.end253: ; preds = %if.end252, %if.end207 + %130 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %alt = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %130, i32 0, i32 3 + %bf.load254 = load i32, i32* %alt, align 4 + %bf.lshr255 = lshr i32 %bf.load254, 4 + %bf.clear256 = and i32 %bf.lshr255, 1 + %tobool257 = icmp ne i32 %bf.clear256, 0 + %131 = load i32, i32* %i218, align 4 + %tobool258 = icmp ne i32 %131, 0 + %or.cond2 = or i1 %tobool257, %tobool258 + br i1 %or.cond2, label %if.then266, label %lor.lhs.false259 + +lor.lhs.false259: ; preds = %if.end253 + %132 = load i8, i8* %o_mode, align 1 + %conv260 = sext i8 %132 to i32 + %cmp261 = icmp ne i32 %conv260, 103 + %133 = load i32, i32* %preci, align 4 + %cmp264 = icmp sgt i32 %133, 0 + %or.cond3 = and i1 %cmp261, %cmp264 + br i1 %or.cond3, label %if.then266, label %if.end281 + +if.then266: ; preds = %lor.lhs.false259, %if.end253 + %134 = load i64*, i64** %ppc, align 8 + %arrayidx267 = getelementptr inbounds i64, i64* %134, i64 0 + store i64 112, i64* %arrayidx267, align 8 + %135 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %wide = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %135, i32 0, i32 3 + %bf.load268 = load i32, i32* %wide, align 4 + %bf.lshr269 = lshr i32 %bf.load268, 7 + %bf.clear270 = and i32 %bf.lshr269, 1 + %tobool271 = icmp ne i32 %bf.clear270, 0 + br i1 %tobool271, label %if.then272, label %if.else275 + +if.then272: ; preds = %if.then266 + %136 = load i64*, i64** %ppc, align 8 + %arrayidx273 = getelementptr inbounds i64, i64* %136, i64 1 + store i64 1, i64* %arrayidx273, align 8 + %137 = load i64*, i64** %ppc, align 8 + %arrayidx274 = getelementptr inbounds i64, i64* %137, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 16) to i64), i64* %arrayidx274, align 8 + br label %if.end279 + +if.else275: ; preds = %if.then266 + %138 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %decimal_point_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %138, i32 0, i32 26 + %139 = load i32, i32* %decimal_point_len, align 8 + %conv276 = sext i32 %139 to i64 + %140 = load i64*, i64** %ppc, align 8 + %arrayidx277 = getelementptr inbounds i64, i64* %140, i64 1 + store i64 %conv276, i64* %arrayidx277, align 8 + %141 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %decimal_point = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %141, i32 0, i32 39 + %142 = load i8*, i8** %decimal_point, align 8 + %143 = ptrtoint i8* %142 to i64 + %144 = load i64*, i64** %ppc, align 8 + %arrayidx278 = getelementptr inbounds i64, i64* %144, i64 2 + store i64 %143, i64* %arrayidx278, align 8 + br label %if.end279 + +if.end279: ; preds = %if.else275, %if.then272 + %145 = load i64*, i64** %ppc, align 8 + %add.ptr280 = getelementptr inbounds i64, i64* %145, i64 3 + store i64* %add.ptr280, i64** %ppc, align 8 + br label %if.end281 + +if.end281: ; preds = %if.end279, %lor.lhs.false259 + %146 = load i32, i32* %o_exp, align 4 + %inc282 = add nsw i32 %146, 1 + store i32 %inc282, i32* %o_exp, align 4 + %cmp283 = icmp slt i32 %inc282, 0 + br i1 %cmp283, label %if.then285, label %if.end292 + +if.then285: ; preds = %if.end281 + %147 = load i64*, i64** %ppc, align 8 + %arrayidx286 = getelementptr inbounds i64, i64* %147, i64 0 + store i64 176, i64* %arrayidx286, align 8 + %148 = load i32, i32* %o_exp, align 4 + %sub287 = sub nsw i32 0, %148 + %conv288 = sext i32 %sub287 to i64 + %149 = load i64*, i64** %ppc, align 8 + %arrayidx289 = getelementptr inbounds i64, i64* %149, i64 1 + store i64 %conv288, i64* %arrayidx289, align 8 + %150 = load i64*, i64** %ppc, align 8 + %arrayidx290 = getelementptr inbounds i64, i64* %150, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx290, align 8 + %151 = load i64*, i64** %ppc, align 8 + %add.ptr291 = getelementptr inbounds i64, i64* %151, i64 3 + store i64* %add.ptr291, i64** %ppc, align 8 + br label %if.end292 + +if.end292: ; preds = %if.then285, %if.end281 + %152 = load i32, i32* %i218, align 4 + %tobool293 = icmp ne i32 %152, 0 + br i1 %tobool293, label %if.then294, label %if.end300 + +if.then294: ; preds = %if.end292 + %153 = load i64*, i64** %ppc, align 8 + %arrayidx295 = getelementptr inbounds i64, i64* %153, i64 0 + store i64 112, i64* %arrayidx295, align 8 + %154 = load i32, i32* %i218, align 4 + %conv296 = sext i32 %154 to i64 + %155 = load i64*, i64** %ppc, align 8 + %arrayidx297 = getelementptr inbounds i64, i64* %155, i64 1 + store i64 %conv296, i64* %arrayidx297, align 8 + %156 = load i8*, i8** %s, align 8 + %157 = ptrtoint i8* %156 to i64 + %158 = load i64*, i64** %ppc, align 8 + %arrayidx298 = getelementptr inbounds i64, i64* %158, i64 2 + store i64 %157, i64* %arrayidx298, align 8 + %159 = load i64*, i64** %ppc, align 8 + %add.ptr299 = getelementptr inbounds i64, i64* %159, i64 3 + store i64* %add.ptr299, i64** %ppc, align 8 + br label %if.end300 + +if.end300: ; preds = %if.then294, %if.end292 + %160 = load i8, i8* %o_mode, align 1 + %conv301 = sext i8 %160 to i32 + %cmp302 = icmp ne i32 %conv301, 103 + br i1 %cmp302, label %if.then310, label %lor.lhs.false304 + +lor.lhs.false304: ; preds = %if.end300 + %161 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %alt305 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %161, i32 0, i32 3 + %bf.load306 = load i32, i32* %alt305, align 4 + %bf.lshr307 = lshr i32 %bf.load306, 4 + %bf.clear308 = and i32 %bf.lshr307, 1 + %tobool309 = icmp ne i32 %bf.clear308, 0 + br i1 %tobool309, label %if.then310, label %if.end322 + +if.then310: ; preds = %lor.lhs.false304, %if.end300 + %162 = load i32, i32* %o_exp, align 4 + %163 = load i32, i32* %i218, align 4 + %sub311 = sub nsw i32 %163, %162 + store i32 %sub311, i32* %i218, align 4 + %164 = load i32, i32* %i218, align 4 + %165 = load i32, i32* %preci, align 4 + %cmp312 = icmp slt i32 %164, %165 + br i1 %cmp312, label %if.then314, label %if.end322 + +if.then314: ; preds = %if.then310 + %166 = load i32, i32* %preci, align 4 + %167 = load i32, i32* %i218, align 4 + %sub315 = sub nsw i32 %166, %167 + store i32 %sub315, i32* %i218, align 4 + %168 = load i64*, i64** %ppc, align 8 + %arrayidx316 = getelementptr inbounds i64, i64* %168, i64 0 + store i64 176, i64* %arrayidx316, align 8 + %169 = load i32, i32* %i218, align 4 + %conv317 = sext i32 %169 to i64 + %170 = load i64*, i64** %ppc, align 8 + %arrayidx318 = getelementptr inbounds i64, i64* %170, i64 1 + store i64 %conv317, i64* %arrayidx318, align 8 + %171 = load i64*, i64** %ppc, align 8 + %arrayidx319 = getelementptr inbounds i64, i64* %171, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx319, align 8 + %172 = load i64*, i64** %ppc, align 8 + %add.ptr320 = getelementptr inbounds i64, i64* %172, i64 3 + store i64* %add.ptr320, i64** %ppc, align 8 + br label %if.end322 + +if.end322: ; preds = %if.then310, %if.then314, %lor.lhs.false304 + %173 = load i8, i8* %mode, align 1 + %conv323 = sext i8 %173 to i32 + %cmp324 = icmp ne i32 %conv323, 102 + br i1 %cmp324, label %if.then326, label %EXIT_SPECIAL + +if.then326: ; preds = %if.end322 + %arraydecay327 = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + %add.ptr328 = getelementptr inbounds i8, i8* %arraydecay327, i64 16 + store i8* %add.ptr328, i8** %p, align 8 + %arraydecay330 = getelementptr inbounds [16 x i8], [16 x i8]* %exp_buf, i64 0, i64 0 + %174 = load i8, i8* %arraydecay330, align 16 + store i8 %174, i8* %exp_char, align 1 + store i8 43, i8* %exp_sign, align 1 + %175 = load i32, i32* %exp, align 4 + %cmp331 = icmp slt i32 %175, 0 + br i1 %cmp331, label %if.then333, label %if.end335 + +if.then333: ; preds = %if.then326 + store i8 45, i8* %exp_sign, align 1 + %176 = load i32, i32* %exp, align 4 + %sub334 = sub nsw i32 0, %176 + store i32 %sub334, i32* %exp, align 4 + br label %if.end335 + +if.end335: ; preds = %if.then333, %if.then326 + %177 = load i8*, i8** %p, align 8 + %incdec.ptr336 = getelementptr inbounds i8, i8* %177, i32 -1 + store i8* %incdec.ptr336, i8** %p, align 8 + store i8 0, i8* %incdec.ptr336, align 1 + store i32 2, i32* %j329, align 4 + br label %do.body337 + +do.body337: ; preds = %do.body337, %if.end335 + %178 = load i32, i32* %exp, align 4 + %rem338 = srem i32 %178, 10 + %add339 = add nsw i32 48, %rem338 + %conv340 = trunc i32 %add339 to i8 + %179 = load i8*, i8** %p, align 8 + %incdec.ptr341 = getelementptr inbounds i8, i8* %179, i32 -1 + store i8* %incdec.ptr341, i8** %p, align 8 + store i8 %conv340, i8* %incdec.ptr341, align 1 + %180 = load i32, i32* %exp, align 4 + %div342 = sdiv i32 %180, 10 + store i32 %div342, i32* %exp, align 4 + %181 = load i32, i32* %j329, align 4 + %inc344 = add nsw i32 %181, 1 + store i32 %inc344, i32* %j329, align 4 + %cmp345 = icmp slt i32 %inc344, 4 + %182 = load i32, i32* %exp, align 4 + %tobool348 = icmp ne i32 %182, 0 + %183 = select i1 %cmp345, i1 true, i1 %tobool348 + br i1 %183, label %do.body337, label %do.end350 + +do.end350: ; preds = %do.body337 + %184 = load i8, i8* %exp_sign, align 1 + %185 = load i8*, i8** %p, align 8 + %incdec.ptr351 = getelementptr inbounds i8, i8* %185, i32 -1 + store i8* %incdec.ptr351, i8** %p, align 8 + store i8 %184, i8* %incdec.ptr351, align 1 + %186 = load i8, i8* %exp_char, align 1 + %187 = load i8*, i8** %p, align 8 + %incdec.ptr352 = getelementptr inbounds i8, i8* %187, i32 -1 + store i8* %incdec.ptr352, i8** %p, align 8 + store i8 %186, i8* %incdec.ptr352, align 1 + %188 = load i64*, i64** %ppc, align 8 + %arrayidx353 = getelementptr inbounds i64, i64* %188, i64 0 + store i64 112, i64* %arrayidx353, align 8 + %189 = load i32, i32* %j329, align 4 + %conv354 = sext i32 %189 to i64 + %190 = load i64*, i64** %ppc, align 8 + %arrayidx355 = getelementptr inbounds i64, i64* %190, i64 1 + store i64 %conv354, i64* %arrayidx355, align 8 + %191 = load i8*, i8** %p, align 8 + %192 = ptrtoint i8* %191 to i64 + %193 = load i64*, i64** %ppc, align 8 + %arrayidx356 = getelementptr inbounds i64, i64* %193, i64 2 + store i64 %192, i64* %arrayidx356, align 8 + %194 = load i64*, i64** %ppc, align 8 + %add.ptr357 = getelementptr inbounds i64, i64* %194, i64 3 + store i64* %add.ptr357, i64** %ppc, align 8 + br label %EXIT_SPECIAL + +EXIT_SPECIAL: ; preds = %if.end322, %do.end350, %if.end54 + %195 = load i64*, i64** %ppc, align 8 + store i64* %195, i64** %ppc_last, align 8 + %arraydecay360 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + %add.ptr361 = getelementptr inbounds i64, i64* %arraydecay360, i64 4 + store i64* %add.ptr361, i64** %ppc, align 8 + br label %do.body362 + +do.body362: ; preds = %do.body362, %EXIT_SPECIAL + %196 = load i64*, i64** %ppc, align 8 + %197 = load i64, i64* %196, align 8 + %198 = load i32, i32* %width, align 4 + %conv363 = sext i32 %198 to i64 + %sub364 = sub nsw i64 %conv363, %197 + %conv365 = trunc i64 %sub364 to i32 + store i32 %conv365, i32* %width, align 4 + %199 = load i64*, i64** %ppc, align 8 + %add.ptr366 = getelementptr inbounds i64, i64* %199, i64 3 + store i64* %add.ptr366, i64** %ppc, align 8 + %200 = load i64*, i64** %ppc, align 8 + %201 = load i64*, i64** %ppc_last, align 8 + %cmp368 = icmp ult i64* %200, %201 + br i1 %cmp368, label %do.body362, label %do.end370 + +do.end370: ; preds = %do.body362 + %arraydecay371 = getelementptr inbounds [24 x i64], [24 x i64]* %pc_fwi, i64 0, i64 0 + store i64* %arraydecay371, i64** %ppc, align 8 + %202 = load i64*, i64** %ppc, align 8 + %arrayidx372 = getelementptr inbounds i64, i64* %202, i64 0 + store i64 160, i64* %arrayidx372, align 8 + %arraydecay373 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %203 = load i8, i8* %arraydecay373, align 1 + %conv374 = sext i8 %203 to i32 + %cmp375 = icmp ne i32 %conv374, 0 + %conv376 = zext i1 %cmp375 to i32 + store i32 %conv376, i32* %i359, align 4 + %conv377 = sext i32 %conv376 to i64 + %204 = load i64*, i64** %ppc, align 8 + %arrayidx378 = getelementptr inbounds i64, i64* %204, i64 1 + store i64 %conv377, i64* %arrayidx378, align 8 + %arraydecay379 = getelementptr inbounds [6 x i8], [6 x i8]* %sign_str, i64 0, i64 0 + %205 = ptrtoint i8* %arraydecay379 to i64 + %206 = load i64*, i64** %ppc, align 8 + %arrayidx380 = getelementptr inbounds i64, i64* %206, i64 2 + store i64 %205, i64* %arrayidx380, align 8 + %207 = load i32, i32* %i359, align 4 + %208 = load i32, i32* %width, align 4 + %sub381 = sub nsw i32 %208, %207 + store i32 %sub381, i32* %width, align 4 + %cmp382 = icmp sgt i32 %sub381, 0 + br i1 %cmp382, label %if.then384, label %if.end409 + +if.then384: ; preds = %do.end370 + %209 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %left = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %209, i32 0, i32 3 + %bf.load385 = load i32, i32* %left, align 4 + %bf.lshr386 = lshr i32 %bf.load385, 3 + %bf.clear387 = and i32 %bf.lshr386, 1 + %tobool388 = icmp ne i32 %bf.clear387, 0 + br i1 %tobool388, label %if.then389, label %if.else395 + +if.then389: ; preds = %if.then384 + %210 = load i64*, i64** %ppc_last, align 8 + %arrayidx390 = getelementptr inbounds i64, i64* %210, i64 0 + store i64 160, i64* %arrayidx390, align 8 + %211 = load i32, i32* %width, align 4 + %conv391 = sext i32 %211 to i64 + %212 = load i64*, i64** %ppc_last, align 8 + %arrayidx392 = getelementptr inbounds i64, i64* %212, i64 1 + store i64 %conv391, i64* %arrayidx392, align 8 + %213 = load i64*, i64** %ppc_last, align 8 + %arrayidx393 = getelementptr inbounds i64, i64* %213, i64 2 + store i64 ptrtoint (i8* getelementptr inbounds ([20 x i8], [20 x i8]* @fmt, i64 0, i64 3) to i64), i64* %arrayidx393, align 8 + %214 = load i64*, i64** %ppc_last, align 8 + %add.ptr394 = getelementptr inbounds i64, i64* %214, i64 3 + store i64* %add.ptr394, i64** %ppc_last, align 8 + br label %if.end409 + +if.else395: ; preds = %if.then384 + %215 = load %struct.printf_info.720*, %struct.printf_info.720** %info.addr, align 8 + %pad396 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %215, i32 0, i32 4 + %216 = load i32, i32* %pad396, align 4 + %cmp397 = icmp eq i32 %216, 48 + %217 = load i32, i32* %width, align 4 + %conv400 = sext i32 %217 to i64 + %218 = load i64*, i64** %ppc, align 8 + br i1 %cmp397, label %if.then399, label %if.else403 + +if.then399: ; preds = %if.else395 + %arrayidx401 = getelementptr inbounds i64, i64* %218, i64 4 + %219 = load i64, i64* %arrayidx401, align 8 + %add402 = add nsw i64 %219, %conv400 + store i64 %add402, i64* %arrayidx401, align 8 + br label %if.end409 + +if.else403: ; preds = %if.else395 + %arrayidx405 = getelementptr inbounds i64, i64* %218, i64 1 + %220 = load i64, i64* %arrayidx405, align 8 + %add406 = add nsw i64 %220, %conv400 + store i64 %add406, i64* %arrayidx405, align 8 + br label %if.end409 + +if.end409: ; preds = %if.then389, %if.else403, %if.then399, %do.end370 + store i32 0, i32* %cnt, align 4 + br label %do.body410 + +do.body410: ; preds = %if.end418, %if.end409 + %221 = load i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)*, i64 (%struct.__STDIO_FILE_STRUCT.568*, i64, i64, i64)** %fp_outfunc.addr, align 8 + %222 = load %struct.__STDIO_FILE_STRUCT.568*, %struct.__STDIO_FILE_STRUCT.568** %fp.addr, align 8 + %223 = load i64*, i64** %ppc, align 8 + %224 = load i64, i64* %223, align 8 + %225 = load i64*, i64** %ppc, align 8 + %arrayidx411 = getelementptr inbounds i64, i64* %225, i64 1 + %226 = load i64, i64* %arrayidx411, align 8 + %227 = load i64*, i64** %ppc, align 8 + %arrayidx412 = getelementptr inbounds i64, i64* %227, i64 2 + %228 = load i64, i64* %arrayidx412, align 8 + %call413 = call i64 %221(%struct.__STDIO_FILE_STRUCT.568* %222, i64 %224, i64 %226, i64 %228) #18 + %229 = load i64*, i64** %ppc, align 8 + %arrayidx414 = getelementptr inbounds i64, i64* %229, i64 1 + %230 = load i64, i64* %arrayidx414, align 8 + %cmp415 = icmp ne i64 %call413, %230 + br i1 %cmp415, label %if.then417, label %if.end418 + +if.then417: ; preds = %do.body410 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end418: ; preds = %do.body410 + %231 = load i64*, i64** %ppc, align 8 + %arrayidx419 = getelementptr inbounds i64, i64* %231, i64 1 + %232 = load i64, i64* %arrayidx419, align 8 + %233 = load i32, i32* %cnt, align 4 + %conv420 = sext i32 %233 to i64 + %add421 = add nsw i64 %conv420, %232 + %conv422 = trunc i64 %add421 to i32 + store i32 %conv422, i32* %cnt, align 4 + %234 = load i64*, i64** %ppc, align 8 + %add.ptr423 = getelementptr inbounds i64, i64* %234, i64 3 + store i64* %add.ptr423, i64** %ppc, align 8 + %235 = load i64*, i64** %ppc, align 8 + %236 = load i64*, i64** %ppc_last, align 8 + %cmp425 = icmp ult i64* %235, %236 + br i1 %cmp425, label %do.body410, label %do.end427 + +do.end427: ; preds = %if.end418 + %237 = load i32, i32* %cnt, align 4 + %conv428 = sext i32 %237 to i64 + store i64 %conv428, i64* %retval, align 8 + br label %return + +return: ; preds = %do.end427, %if.then417 + %238 = load i64, i64* %retval, align 8 + ret i64 %238 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @__stdio_fwrite(i8* noalias %buffer, i64 %bytes, %struct.__STDIO_FILE_STRUCT.621* noalias %stream) #0 { +entry: + %retval = alloca i64, align 8 + %buffer.addr = alloca i8*, align 8 + %bytes.addr = alloca i64, align 8 + %stream.addr = alloca %struct.__STDIO_FILE_STRUCT.621*, align 8 + %pending = alloca i64, align 8 + %p = alloca i8*, align 8 + store i8* %buffer, i8** %buffer.addr, align 8 + store i64 %bytes, i64* %bytes.addr, align 8 + store %struct.__STDIO_FILE_STRUCT.621* %stream, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %0 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__modeflags = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %0, i32 0, i32 0 + %1 = load i16, i16* %__modeflags, align 8 + %conv = zext i16 %1 to i32 + %and = and i32 %conv, 512 + %tobool = icmp ne i32 %and, 0 + br i1 %tobool, label %if.end63, label %if.then + +if.then: ; preds = %entry + %2 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__filedes = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %2, i32 0, i32 2 + %3 = load i32, i32* %__filedes, align 4 + %cmp = icmp eq i32 %3, -2 + br i1 %cmp, label %if.then2, label %if.end8 + +if.then2: ; preds = %if.then + %4 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufend = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %4, i32 0, i32 4 + %5 = load i8*, i8** %__bufend, align 8 + %6 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufpos = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %6, i32 0, i32 5 + %7 = load i8*, i8** %__bufpos, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %pending, align 8 + %8 = load i64, i64* %pending, align 8 + %9 = load i64, i64* %bytes.addr, align 8 + %cmp3 = icmp ugt i64 %8, %9 + br i1 %cmp3, label %if.then5, label %if.end + +if.then5: ; preds = %if.then2 + %10 = load i64, i64* %bytes.addr, align 8 + store i64 %10, i64* %pending, align 8 + br label %if.end + +if.end: ; preds = %if.then5, %if.then2 + %11 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufpos6 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %11, i32 0, i32 5 + %12 = load i8*, i8** %__bufpos6, align 8 + %13 = load i8*, i8** %buffer.addr, align 8 + %14 = load i64, i64* %pending, align 8 + %call = call i8* @memcpy(i8* %12, i8* %13, i64 %14) #19 + %15 = load i64, i64* %pending, align 8 + %16 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufpos7 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %16, i32 0, i32 5 + %17 = load i8*, i8** %__bufpos7, align 8 + %add.ptr = getelementptr inbounds i8, i8* %17, i64 %15 + store i8* %add.ptr, i8** %__bufpos7, align 8 + %18 = load i64, i64* %bytes.addr, align 8 + store i64 %18, i64* %retval, align 8 + br label %return + +if.end8: ; preds = %if.then + %19 = load i64, i64* %bytes.addr, align 8 + %20 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufend9 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %20, i32 0, i32 4 + %21 = load i8*, i8** %__bufend9, align 8 + %22 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufpos10 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %22, i32 0, i32 5 + %23 = load i8*, i8** %__bufpos10, align 8 + %sub.ptr.lhs.cast11 = ptrtoint i8* %21 to i64 + %sub.ptr.rhs.cast12 = ptrtoint i8* %23 to i64 + %sub.ptr.sub13 = sub i64 %sub.ptr.lhs.cast11, %sub.ptr.rhs.cast12 + %cmp14 = icmp ule i64 %19, %sub.ptr.sub13 + %24 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufpos17 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %24, i32 0, i32 5 + %25 = load i8*, i8** %__bufpos17, align 8 + br i1 %cmp14, label %if.then16, label %if.end51 + +if.then16: ; preds = %if.end8 + %26 = load i8*, i8** %buffer.addr, align 8 + %27 = load i64, i64* %bytes.addr, align 8 + %call18 = call i8* @memcpy(i8* %25, i8* %26, i64 %27) #19 + %28 = load i64, i64* %bytes.addr, align 8 + %29 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufpos19 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %29, i32 0, i32 5 + %30 = load i8*, i8** %__bufpos19, align 8 + %add.ptr20 = getelementptr inbounds i8, i8* %30, i64 %28 + store i8* %add.ptr20, i8** %__bufpos19, align 8 + %31 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__modeflags21 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %31, i32 0, i32 0 + %32 = load i16, i16* %__modeflags21, align 8 + %conv22 = zext i16 %32 to i32 + %and23 = and i32 %conv22, 256 + %tobool24 = icmp ne i32 %and23, 0 + br i1 %tobool24, label %land.lhs.true, label %if.end50 + +land.lhs.true: ; preds = %if.then16 + %33 = load i8*, i8** %buffer.addr, align 8 + %34 = load i64, i64* %bytes.addr, align 8 + %call25 = call i8* @memrchr(i8* %33, i32 10, i64 %34) #20 + %tobool26 = icmp ne i8* %call25, null + br i1 %tobool26, label %if.then27, label %if.end50 + +if.then27: ; preds = %land.lhs.true + %35 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %call28 = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.568*)* @__stdio_wcommit to i64 (%struct.__STDIO_FILE_STRUCT.621*)*)(%struct.__STDIO_FILE_STRUCT.621* %35) #18 + store i64 %call28, i64* %pending, align 8 + %cmp29 = icmp ugt i64 %call28, 0 + br i1 %cmp29, label %if.then31, label %if.end50 + +if.then31: ; preds = %if.then27 + %36 = load i64, i64* %pending, align 8 + %37 = load i64, i64* %bytes.addr, align 8 + %cmp32 = icmp ugt i64 %36, %37 + br i1 %cmp32, label %if.then34, label %if.end35 + +if.then34: ; preds = %if.then31 + %38 = load i64, i64* %bytes.addr, align 8 + store i64 %38, i64* %pending, align 8 + br label %if.end35 + +if.end35: ; preds = %if.then34, %if.then31 + %39 = load i64, i64* %bytes.addr, align 8 + %40 = load i64, i64* %pending, align 8 + %sub = sub i64 %39, %40 + %41 = load i8*, i8** %buffer.addr, align 8 + %add.ptr36 = getelementptr inbounds i8, i8* %41, i64 %sub + store i8* %add.ptr36, i8** %buffer.addr, align 8 + %42 = load i8*, i8** %buffer.addr, align 8 + %43 = load i64, i64* %pending, align 8 + %call37 = call i8* @memchr(i8* %42, i32 10, i64 %43) #20 + store i8* %call37, i8** %p, align 8 + %cmp38 = icmp ne i8* %call37, null + br i1 %cmp38, label %if.then40, label %if.end50 + +if.then40: ; preds = %if.end35 + %44 = load i8*, i8** %buffer.addr, align 8 + %45 = load i64, i64* %pending, align 8 + %add.ptr41 = getelementptr inbounds i8, i8* %44, i64 %45 + %46 = load i8*, i8** %p, align 8 + %sub.ptr.lhs.cast42 = ptrtoint i8* %add.ptr41 to i64 + %sub.ptr.rhs.cast43 = ptrtoint i8* %46 to i64 + %sub.ptr.sub44 = sub i64 %sub.ptr.lhs.cast42, %sub.ptr.rhs.cast43 + store i64 %sub.ptr.sub44, i64* %pending, align 8 + %47 = load i64, i64* %pending, align 8 + %48 = load i64, i64* %bytes.addr, align 8 + %sub45 = sub i64 %48, %47 + store i64 %sub45, i64* %bytes.addr, align 8 + %49 = load i64, i64* %pending, align 8 + %50 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufpos46 = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %50, i32 0, i32 5 + %51 = load i8*, i8** %__bufpos46, align 8 + %idx.neg = sub i64 0, %49 + %add.ptr47 = getelementptr inbounds i8, i8* %51, i64 %idx.neg + store i8* %add.ptr47, i8** %__bufpos46, align 8 + br label %if.end50 + +if.end50: ; preds = %if.then27, %if.then40, %if.end35, %land.lhs.true, %if.then16 + %52 = load i64, i64* %bytes.addr, align 8 + store i64 %52, i64* %retval, align 8 + br label %return + +if.end51: ; preds = %if.end8 + %53 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %__bufstart = getelementptr inbounds %struct.__STDIO_FILE_STRUCT.621, %struct.__STDIO_FILE_STRUCT.621* %53, i32 0, i32 3 + %54 = load i8*, i8** %__bufstart, align 8 + %sub.ptr.lhs.cast53 = ptrtoint i8* %25 to i64 + %sub.ptr.rhs.cast54 = ptrtoint i8* %54 to i64 + %sub.ptr.sub55 = sub i64 %sub.ptr.lhs.cast53, %sub.ptr.rhs.cast54 + %tobool56 = icmp ne i64 %sub.ptr.sub55, 0 + br i1 %tobool56, label %if.then57, label %if.end63 + +if.then57: ; preds = %if.end51 + %55 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %call58 = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.568*)* @__stdio_wcommit to i64 (%struct.__STDIO_FILE_STRUCT.621*)*)(%struct.__STDIO_FILE_STRUCT.621* %55) #18 + %tobool59 = icmp ne i64 %call58, 0 + br i1 %tobool59, label %if.then60, label %if.end63 + +if.then60: ; preds = %if.then57 + store i64 0, i64* %retval, align 8 + br label %return + +if.end63: ; preds = %if.end51, %if.then57, %entry + %56 = load %struct.__STDIO_FILE_STRUCT.621*, %struct.__STDIO_FILE_STRUCT.621** %stream.addr, align 8 + %57 = load i8*, i8** %buffer.addr, align 8 + %58 = load i64, i64* %bytes.addr, align 8 + %call64 = call i64 bitcast (i64 (%struct.__STDIO_FILE_STRUCT.568*, i8*, i64)* @__stdio_WRITE to i64 (%struct.__STDIO_FILE_STRUCT.621*, i8*, i64)*)(%struct.__STDIO_FILE_STRUCT.621* %56, i8* %57, i64 %58) #18 + store i64 %call64, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end63, %if.then60, %if.end50, %if.end + %59 = load i64, i64* %retval, align 8 + ret i64 %59 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_load_inttype(i32 %desttype, i8* %src, i32 %uflag) #0 { +entry: + %retval = alloca i64, align 8 + %desttype.addr = alloca i32, align 4 + %src.addr = alloca i8*, align 8 + %uflag.addr = alloca i32, align 4 + %x = alloca i32, align 4 + %x24 = alloca i32, align 4 + store i32 %desttype, i32* %desttype.addr, align 4 + store i8* %src, i8** %src.addr, align 8 + store i32 %uflag, i32* %uflag.addr, align 4 + %0 = load i32, i32* %uflag.addr, align 4 + %cmp = icmp sge i32 %0, 0 + %1 = load i32, i32* %desttype.addr, align 4 + %and = and i32 %1, 3072 + %tobool = icmp ne i32 %and, 0 + %2 = load i8*, i8** %src.addr, align 8 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + br i1 %tobool, label %if.then1, label %if.end4 + +if.then1: ; preds = %if.then + %3 = bitcast i8* %2 to i64* + %4 = load i64, i64* %3, align 8 + store i64 %4, i64* %retval, align 8 + br label %return + +if.end4: ; preds = %if.then + %5 = bitcast i8* %2 to i32* + %6 = load i32, i32* %5, align 4 + store i32 %6, i32* %x, align 4 + %7 = load i32, i32* %desttype.addr, align 4 + %cmp5 = icmp eq i32 %7, 256 + br i1 %cmp5, label %if.then6, label %if.end8 + +if.then6: ; preds = %if.end4 + %8 = load i32, i32* %x, align 4 + %conv = trunc i32 %8 to i8 + %conv7 = zext i8 %conv to i32 + store i32 %conv7, i32* %x, align 4 + br label %if.end8 + +if.end8: ; preds = %if.then6, %if.end4 + %9 = load i32, i32* %desttype.addr, align 4 + %cmp9 = icmp eq i32 %9, 512 + br i1 %cmp9, label %if.then11, label %if.end14 + +if.then11: ; preds = %if.end8 + %10 = load i32, i32* %x, align 4 + %conv12 = trunc i32 %10 to i16 + %conv13 = zext i16 %conv12 to i32 + store i32 %conv13, i32* %x, align 4 + br label %if.end14 + +if.end14: ; preds = %if.then11, %if.end8 + %11 = load i32, i32* %x, align 4 + %conv15 = zext i32 %11 to i64 + store i64 %conv15, i64* %retval, align 8 + br label %return + +if.else: ; preds = %entry + br i1 %tobool, label %if.then18, label %if.end23 + +if.then18: ; preds = %if.else + %12 = bitcast i8* %2 to i64* + %13 = load i64, i64* %12, align 8 + store i64 %13, i64* %retval, align 8 + br label %return + +if.end23: ; preds = %if.else + %14 = bitcast i8* %2 to i32* + %15 = load i32, i32* %14, align 4 + store i32 %15, i32* %x24, align 4 + %16 = load i32, i32* %desttype.addr, align 4 + %cmp25 = icmp eq i32 %16, 256 + br i1 %cmp25, label %if.then27, label %if.end30 + +if.then27: ; preds = %if.end23 + %17 = load i32, i32* %x24, align 4 + %conv28 = trunc i32 %17 to i8 + %conv29 = sext i8 %conv28 to i32 + store i32 %conv29, i32* %x24, align 4 + br label %if.end30 + +if.end30: ; preds = %if.then27, %if.end23 + %18 = load i32, i32* %desttype.addr, align 4 + %cmp31 = icmp eq i32 %18, 512 + br i1 %cmp31, label %if.then33, label %if.end36 + +if.then33: ; preds = %if.end30 + %19 = load i32, i32* %x24, align 4 + %conv34 = trunc i32 %19 to i16 + %conv35 = sext i16 %conv34 to i32 + store i32 %conv35, i32* %x24, align 4 + br label %if.end36 + +if.end36: ; preds = %if.then33, %if.end30 + %20 = load i32, i32* %x24, align 4 + %conv37 = sext i32 %20 to i64 + store i64 %conv37, i64* %retval, align 8 + br label %return + +return: ; preds = %if.then18, %if.then1, %if.end36, %if.end14 + %21 = load i64, i64* %retval, align 8 + ret i64 %21 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_ppfs_init(%struct.ppfs_t.722* %ppfs, i8* %fmt0) #0 { +entry: + %retval = alloca i32, align 4 + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %fmt0.addr = alloca i8*, align 8 + %r = alloca i32, align 4 + %mbstate = alloca %struct.__mbstate_t.512, align 4 + %p = alloca i8*, align 8 + %p8 = alloca i32*, align 8 + %fmt = alloca i8*, align 8 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store i8* %fmt0, i8** %fmt0.addr, align 8 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %1 = bitcast %struct.ppfs_t.722* %0 to i8* + %call = call i8* @memset(i8* %1, i32 0, i64 176) #19 + %2 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %2, i32 0, i32 2 + %3 = load i32, i32* %maxposarg, align 4 + %dec = add nsw i32 %3, -1 + store i32 %dec, i32* %maxposarg, align 4 + %4 = load i8*, i8** %fmt0.addr, align 8 + %5 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %5, i32 0, i32 0 + store i8* %4, i8** %fmtpos, align 8 + %6 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %6, i32 0, i32 9 + %7 = load i8, i8* %encoding, align 8 + %conv = zext i8 %7 to i32 + %cmp = icmp ne i32 %conv, 0 + br i1 %cmp, label %if.then, label %if.end7 + +if.then: ; preds = %entry + %__mask = getelementptr inbounds %struct.__mbstate_t.512, %struct.__mbstate_t.512* %mbstate, i32 0, i32 0 + store i32 0, i32* %__mask, align 4 + %8 = load i8*, i8** %fmt0.addr, align 8 + store i8* %8, i8** %p, align 8 + %call2 = call i64 @mbsrtowcs(i32* null, i8** %p, i64 -1, %struct.__mbstate_t.512* %mbstate) #19 + %cmp3 = icmp eq i64 %call2, -1 + br i1 %cmp3, label %if.then5, label %if.end7 + +if.then5: ; preds = %if.then + %9 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos6 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %9, i32 0, i32 0 + store i8* getelementptr inbounds ([33 x i8], [33 x i8]* @_ppfs_init.invalid_mbs, i64 0, i64 0), i8** %fmtpos6, align 8 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end7: ; preds = %if.then, %entry + %10 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %10, i32 0, i32 6 + %arraydecay = getelementptr inbounds [9 x i32], [9 x i32]* %argtype, i64 0, i64 0 + store i32* %arraydecay, i32** %p8, align 8 + store i32 9, i32* %r, align 4 + br label %do.body + +do.body: ; preds = %do.body, %if.end7 + %11 = load i32*, i32** %p8, align 8 + %incdec.ptr = getelementptr inbounds i32, i32* %11, i32 1 + store i32* %incdec.ptr, i32** %p8, align 8 + store i32 8, i32* %11, align 4 + %12 = load i32, i32* %r, align 4 + %dec9 = add nsw i32 %12, -1 + store i32 %dec9, i32* %r, align 4 + %tobool = icmp ne i32 %dec9, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.body + %13 = load i8*, i8** %fmt0.addr, align 8 + store i8* %13, i8** %fmt, align 8 + br label %while.cond + +while.cond: ; preds = %if.end27, %do.end + %14 = load i8*, i8** %fmt, align 8 + %15 = load i8, i8* %14, align 1 + %tobool10 = icmp ne i8 %15, 0 + br i1 %tobool10, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %16 = load i8*, i8** %fmt, align 8 + %17 = load i8, i8* %16, align 1 + %conv11 = sext i8 %17 to i32 + %cmp12 = icmp eq i32 %conv11, 37 + br i1 %cmp12, label %land.lhs.true, label %if.else + +land.lhs.true: ; preds = %while.body + %18 = load i8*, i8** %fmt, align 8 + %incdec.ptr14 = getelementptr inbounds i8, i8* %18, i32 1 + store i8* %incdec.ptr14, i8** %fmt, align 8 + %19 = load i8, i8* %incdec.ptr14, align 1 + %conv15 = sext i8 %19 to i32 + %cmp16 = icmp ne i32 %conv15, 37 + br i1 %cmp16, label %if.then18, label %if.else + +if.then18: ; preds = %land.lhs.true + %20 = load i8*, i8** %fmt, align 8 + %21 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos19 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %21, i32 0, i32 0 + store i8* %20, i8** %fmtpos19, align 8 + %22 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %call20 = call i32 @_ppfs_parsespec(%struct.ppfs_t.722* %22) #18 + store i32 %call20, i32* %r, align 4 + %cmp21 = icmp slt i32 %call20, 0 + br i1 %cmp21, label %if.then23, label %if.end24 + +if.then23: ; preds = %if.then18 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end24: ; preds = %if.then18 + %23 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos25 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %23, i32 0, i32 0 + %24 = load i8*, i8** %fmtpos25, align 8 + store i8* %24, i8** %fmt, align 8 + br label %if.end27 + +if.else: ; preds = %land.lhs.true, %while.body + %25 = load i8*, i8** %fmt, align 8 + %incdec.ptr26 = getelementptr inbounds i8, i8* %25, i32 1 + store i8* %incdec.ptr26, i8** %fmt, align 8 + br label %if.end27 + +if.end27: ; preds = %if.else, %if.end24 + br label %while.cond + +while.end: ; preds = %while.cond + %26 = load i8*, i8** %fmt0.addr, align 8 + %27 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos28 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %27, i32 0, i32 0 + store i8* %26, i8** %fmtpos28, align 8 + store i32 0, i32* %retval, align 4 + br label %return + +return: ; preds = %while.end, %if.then23, %if.then5 + %28 = load i32, i32* %retval, align 4 + ret i32 %28 +} + +; Function Attrs: noinline nounwind uwtable +define hidden i32 @_ppfs_parsespec(%struct.ppfs_t.722* %ppfs) #0 { +entry: + %retval = alloca i32, align 4 + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %fmt = alloca i8*, align 8 + %p = alloca i8*, align 8 + %preci = alloca i32, align 4 + %width = alloca i32, align 4 + %flags = alloca i32, align 4 + %dataargtype = alloca i32, align 4 + %i = alloca i32, align 4 + %dpoint = alloca i32, align 4 + %maxposarg = alloca i32, align 4 + %p_m_spec_chars = alloca i32, align 4 + %n = alloca i32, align 4 + %argtype = alloca [3 x i32], align 4 + %argnumber = alloca [3 x i32], align 4 + %buf = alloca [32 x i8], align 16 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store i32 -1, i32* %preci, align 4 + %arrayidx = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 0 + store i32 0, i32* %arrayidx, align 4 + %arrayidx1 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 1 + store i32 0, i32* %arrayidx1, align 4 + %arrayidx2 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 0 + store i32 8, i32* %arrayidx2, align 4 + %arrayidx3 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 1 + store i32 8, i32* %arrayidx3, align 4 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg4 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %0, i32 0, i32 2 + %1 = load i32, i32* %maxposarg4, align 4 + store i32 %1, i32* %maxposarg, align 4 + store i32 0, i32* %dpoint, align 4 + store i32 0, i32* %width, align 4 + %2 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %2, i32 0, i32 1 + %_flags = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 3 + %3 = load i32, i32* %_flags, align 4 + %and = and i32 %3, 128 + store i32 %and, i32* %flags, align 4 + %cmp = icmp eq i32 %and, 0 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + %4 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %4, i32 0, i32 0 + %5 = load i8*, i8** %fmtpos, align 8 + store i8* %5, i8** %fmt, align 8 + br label %if.end20 + +if.else: ; preds = %entry + %arraydecay = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 1 + store i8* %add.ptr, i8** %fmt, align 8 + store i32 0, i32* %i, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %if.else + %6 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos5 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %6, i32 0, i32 0 + %7 = load i8*, i8** %fmtpos5, align 8 + %8 = bitcast i8* %7 to i32* + %9 = load i32, i32* %i, align 4 + %sub = sub nsw i32 %9, 1 + %idxprom = sext i32 %sub to i64 + %arrayidx6 = getelementptr inbounds i32, i32* %8, i64 %idxprom + %10 = load i32, i32* %arrayidx6, align 4 + %conv = trunc i32 %10 to i8 + %11 = load i32, i32* %i, align 4 + %idxprom7 = sext i32 %11 to i64 + %arrayidx8 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 %idxprom7 + store i8 %conv, i8* %arrayidx8, align 1 + %conv9 = sext i8 %conv to i32 + %12 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos10 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %12, i32 0, i32 0 + %13 = load i8*, i8** %fmtpos10, align 8 + %14 = bitcast i8* %13 to i32* + %15 = load i32, i32* %i, align 4 + %sub11 = sub nsw i32 %15, 1 + %idxprom12 = sext i32 %sub11 to i64 + %arrayidx13 = getelementptr inbounds i32, i32* %14, i64 %idxprom12 + %16 = load i32, i32* %arrayidx13, align 4 + %cmp14 = icmp ne i32 %conv9, %16 + br i1 %cmp14, label %if.then16, label %do.cond + +if.then16: ; preds = %do.body + store i32 -1, i32* %retval, align 4 + br label %return + +do.cond: ; preds = %do.body + %17 = load i32, i32* %i, align 4 + %inc = add nsw i32 %17, 1 + store i32 %inc, i32* %i, align 4 + %idxprom17 = sext i32 %17 to i64 + %arrayidx18 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 %idxprom17 + %18 = load i8, i8* %arrayidx18, align 1 + %tobool = icmp ne i8 %18, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %arrayidx19 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 31 + store i8 0, i8* %arrayidx19, align 1 + br label %if.end20 + +if.end20: ; preds = %do.end, %if.then + br label %width_precision + +width_precision: ; preds = %do.end89, %if.then129, %if.end20 + %19 = load i8*, i8** %fmt, align 8 + store i8* %19, i8** %p, align 8 + %20 = load i8*, i8** %fmt, align 8 + %21 = load i8, i8* %20, align 1 + %conv21 = sext i8 %21 to i32 + %cmp22 = icmp eq i32 %conv21, 42 + br i1 %cmp22, label %if.then24, label %if.end28 + +if.then24: ; preds = %width_precision + %22 = load i32, i32* %dpoint, align 4 + %sub25 = sub nsw i32 0, %22 + %idxprom26 = sext i32 %sub25 to i64 + %arrayidx27 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 %idxprom26 + store i32 0, i32* %arrayidx27, align 4 + %23 = load i8*, i8** %fmt, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %23, i32 1 + store i8* %incdec.ptr, i8** %fmt, align 8 + br label %if.end28 + +if.end28: ; preds = %if.then24, %width_precision + store i32 0, i32* %i, align 4 + br label %while.cond + +while.cond: ; preds = %if.end40, %if.end28 + %call = call i16** @__ctype_b_loc() #21 + %24 = load i16*, i16** %call, align 8 + %25 = load i8*, i8** %fmt, align 8 + %26 = load i8, i8* %25, align 1 + %conv29 = sext i8 %26 to i32 + %idxprom30 = sext i32 %conv29 to i64 + %arrayidx31 = getelementptr inbounds i16, i16* %24, i64 %idxprom30 + %27 = load i16, i16* %arrayidx31, align 2 + %conv32 = zext i16 %27 to i32 + %and33 = and i32 %conv32, 2048 + %tobool34 = icmp ne i32 %and33, 0 + br i1 %tobool34, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %28 = load i32, i32* %i, align 4 + %cmp35 = icmp slt i32 %28, 4095 + br i1 %cmp35, label %if.then37, label %if.end40 + +if.then37: ; preds = %while.body + %29 = load i32, i32* %i, align 4 + %mul = mul nsw i32 %29, 10 + %30 = load i8*, i8** %fmt, align 8 + %31 = load i8, i8* %30, align 1 + %conv38 = sext i8 %31 to i32 + %sub39 = sub nsw i32 %conv38, 48 + %add = add nsw i32 %mul, %sub39 + store i32 %add, i32* %i, align 4 + br label %if.end40 + +if.end40: ; preds = %if.then37, %while.body + %32 = load i8*, i8** %fmt, align 8 + %incdec.ptr41 = getelementptr inbounds i8, i8* %32, i32 1 + store i8* %incdec.ptr41, i8** %fmt, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + %33 = load i8*, i8** %p, align 8 + %arrayidx42 = getelementptr inbounds i8, i8* %33, i64 -1 + %34 = load i8, i8* %arrayidx42, align 1 + %conv43 = sext i8 %34 to i32 + %cmp44 = icmp eq i32 %conv43, 37 + br i1 %cmp44, label %if.then46, label %PREC_WIDTH + +if.then46: ; preds = %while.end + %35 = load i8*, i8** %fmt, align 8 + %36 = load i8, i8* %35, align 1 + %conv47 = sext i8 %36 to i32 + %cmp48 = icmp eq i32 %conv47, 36 + %37 = load i32, i32* %i, align 4 + %cmp50 = icmp sgt i32 %37, 0 + %or.cond = and i1 %cmp48, %cmp50 + br i1 %or.cond, label %if.then52, label %if.else63 + +if.then52: ; preds = %if.then46 + %38 = load i8*, i8** %fmt, align 8 + %incdec.ptr53 = getelementptr inbounds i8, i8* %38, i32 1 + store i8* %incdec.ptr53, i8** %fmt, align 8 + %39 = load i32, i32* %maxposarg, align 4 + %cmp54 = icmp eq i32 %39, 0 + br i1 %cmp54, label %if.then56, label %if.end57 + +if.then56: ; preds = %if.then52 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end57: ; preds = %if.then52 + %40 = load i32, i32* %i, align 4 + %arrayidx58 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 2 + store i32 %40, i32* %arrayidx58, align 4 + %41 = load i32, i32* %maxposarg, align 4 + %cmp59 = icmp sgt i32 %40, %41 + br i1 %cmp59, label %if.then61, label %if.end76 + +if.then61: ; preds = %if.end57 + %42 = load i32, i32* %i, align 4 + store i32 %42, i32* %maxposarg, align 4 + br label %if.end76 + +if.else63: ; preds = %if.then46 + %43 = load i32, i32* %maxposarg, align 4 + %cmp64 = icmp sgt i32 %43, 0 + br i1 %cmp64, label %if.then66, label %if.end67 + +if.then66: ; preds = %if.else63 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end67: ; preds = %if.else63 + store i32 0, i32* %maxposarg, align 4 + %44 = load i8*, i8** %fmt, align 8 + %45 = load i8*, i8** %p, align 8 + %cmp68 = icmp ugt i8* %44, %45 + br i1 %cmp68, label %land.lhs.true70, label %if.end75 + +land.lhs.true70: ; preds = %if.end67 + %46 = load i8*, i8** %p, align 8 + %47 = load i8, i8* %46, align 1 + %conv71 = sext i8 %47 to i32 + %cmp72 = icmp ne i32 %conv71, 48 + br i1 %cmp72, label %PREC_WIDTH, label %if.end75 + +if.end75: ; preds = %land.lhs.true70, %if.end67 + %48 = load i8*, i8** %p, align 8 + store i8* %48, i8** %fmt, align 8 + br label %if.end76 + +if.end76: ; preds = %if.end57, %if.then61, %if.end75 + br label %restart_flags + +restart_flags: ; preds = %if.then83, %if.end76 + store i32 1, i32* %i, align 4 + store i8* getelementptr inbounds ([8 x i8], [8 x i8]* @_ppfs_parsespec.spec_flags, i64 0, i64 0), i8** %p, align 8 + br label %do.body77 + +do.body77: ; preds = %if.end85, %restart_flags + %49 = load i8*, i8** %fmt, align 8 + %50 = load i8, i8* %49, align 1 + %conv78 = sext i8 %50 to i32 + %51 = load i8*, i8** %p, align 8 + %incdec.ptr79 = getelementptr inbounds i8, i8* %51, i32 1 + store i8* %incdec.ptr79, i8** %p, align 8 + %52 = load i8, i8* %51, align 1 + %conv80 = sext i8 %52 to i32 + %cmp81 = icmp eq i32 %conv78, %conv80 + br i1 %cmp81, label %if.then83, label %if.end85 + +if.then83: ; preds = %do.body77 + %53 = load i8*, i8** %fmt, align 8 + %incdec.ptr84 = getelementptr inbounds i8, i8* %53, i32 1 + store i8* %incdec.ptr84, i8** %fmt, align 8 + %54 = load i32, i32* %i, align 4 + %55 = load i32, i32* %flags, align 4 + %or = or i32 %55, %54 + store i32 %or, i32* %flags, align 4 + br label %restart_flags + +if.end85: ; preds = %do.body77 + %56 = load i32, i32* %i, align 4 + %57 = load i32, i32* %i, align 4 + %add86 = add nsw i32 %57, %56 + store i32 %add86, i32* %i, align 4 + %58 = load i8*, i8** %p, align 8 + %59 = load i8, i8* %58, align 1 + %tobool88 = icmp ne i8 %59, 0 + br i1 %tobool88, label %do.body77, label %do.end89 + +do.end89: ; preds = %if.end85 + store i32 0, i32* %i, align 4 + %60 = load i32, i32* %flags, align 4 + %and90 = and i32 %60, 10 + %shr = ashr i32 %and90, 1 + %neg = xor i32 %shr, -1 + %61 = load i32, i32* %flags, align 4 + %and91 = and i32 %61, %neg + store i32 %and91, i32* %flags, align 4 + %62 = load i8*, i8** %fmt, align 8 + %arrayidx92 = getelementptr inbounds i8, i8* %62, i64 -1 + %63 = load i8, i8* %arrayidx92, align 1 + %conv93 = sext i8 %63 to i32 + %cmp94 = icmp ne i32 %conv93, 37 + br i1 %cmp94, label %width_precision, label %PREC_WIDTH + +PREC_WIDTH: ; preds = %while.end, %do.end89, %land.lhs.true70 + %64 = load i8*, i8** %p, align 8 + %65 = load i8, i8* %64, align 1 + %conv99 = sext i8 %65 to i32 + %cmp100 = icmp eq i32 %conv99, 42 + br i1 %cmp100, label %if.then102, label %if.end123 + +if.then102: ; preds = %PREC_WIDTH + %66 = load i32, i32* %maxposarg, align 4 + %tobool103 = icmp ne i32 %66, 0 + br i1 %tobool103, label %if.then104, label %if.else116 + +if.then104: ; preds = %if.then102 + %67 = load i8*, i8** %fmt, align 8 + %incdec.ptr105 = getelementptr inbounds i8, i8* %67, i32 1 + store i8* %incdec.ptr105, i8** %fmt, align 8 + %68 = load i8, i8* %67, align 1 + %conv106 = sext i8 %68 to i32 + %cmp107 = icmp ne i32 %conv106, 36 + %69 = load i32, i32* %i, align 4 + %cmp109 = icmp sle i32 %69, 0 + %or.cond1 = or i1 %cmp107, %cmp109 + br i1 %or.cond1, label %if.then111, label %if.end112 + +if.then111: ; preds = %if.then104 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end112: ; preds = %if.then104 + %70 = load i32, i32* %i, align 4 + %71 = load i32, i32* %dpoint, align 4 + %sub113 = sub nsw i32 0, %71 + %idxprom114 = sext i32 %sub113 to i64 + %arrayidx115 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 %idxprom114 + store i32 %70, i32* %arrayidx115, align 4 + br label %if.end122 + +if.else116: ; preds = %if.then102 + %72 = load i8*, i8** %p, align 8 + %incdec.ptr117 = getelementptr inbounds i8, i8* %72, i32 1 + store i8* %incdec.ptr117, i8** %p, align 8 + %73 = load i8*, i8** %fmt, align 8 + %cmp118 = icmp ne i8* %incdec.ptr117, %73 + br i1 %cmp118, label %if.then120, label %if.end122 + +if.then120: ; preds = %if.else116 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end122: ; preds = %if.else116, %if.end112 + store i32 -2147483648, i32* %i, align 4 + br label %if.end123 + +if.end123: ; preds = %if.end122, %PREC_WIDTH + %74 = load i32, i32* %dpoint, align 4 + %tobool124 = icmp ne i32 %74, 0 + %75 = load i32, i32* %i, align 4 + br i1 %tobool124, label %if.else132, label %if.then125 + +if.then125: ; preds = %if.end123 + store i32 %75, i32* %width, align 4 + %76 = load i8*, i8** %fmt, align 8 + %77 = load i8, i8* %76, align 1 + %conv126 = sext i8 %77 to i32 + %cmp127 = icmp eq i32 %conv126, 46 + br i1 %cmp127, label %if.then129, label %if.end133 + +if.then129: ; preds = %if.then125 + %78 = load i8*, i8** %fmt, align 8 + %incdec.ptr130 = getelementptr inbounds i8, i8* %78, i32 1 + store i8* %incdec.ptr130, i8** %fmt, align 8 + store i32 -1, i32* %dpoint, align 4 + br label %width_precision + +if.else132: ; preds = %if.end123 + store i32 %75, i32* %preci, align 4 + br label %if.end133 + +if.end133: ; preds = %if.then125, %if.else132 + store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @_ppfs_parsespec.qual_chars, i64 0, i64 0), i8** %p, align 8 + br label %do.body134 + +do.body134: ; preds = %do.cond142, %if.end133 + %79 = load i8*, i8** %fmt, align 8 + %80 = load i8, i8* %79, align 1 + %conv135 = sext i8 %80 to i32 + %81 = load i8*, i8** %p, align 8 + %82 = load i8, i8* %81, align 1 + %conv136 = sext i8 %82 to i32 + %cmp137 = icmp eq i32 %conv135, %conv136 + br i1 %cmp137, label %if.then139, label %do.cond142 + +if.then139: ; preds = %do.body134 + %83 = load i8*, i8** %fmt, align 8 + %incdec.ptr140 = getelementptr inbounds i8, i8* %83, i32 1 + store i8* %incdec.ptr140, i8** %fmt, align 8 + br label %do.end145 + +do.cond142: ; preds = %do.body134 + %84 = load i8*, i8** %p, align 8 + %incdec.ptr143 = getelementptr inbounds i8, i8* %84, i32 1 + store i8* %incdec.ptr143, i8** %p, align 8 + %85 = load i8, i8* %incdec.ptr143, align 1 + %tobool144 = icmp ne i8 %85, 0 + br i1 %tobool144, label %do.body134, label %do.end145 + +do.end145: ; preds = %do.cond142, %if.then139 + %86 = load i8*, i8** %p, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %86 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, ptrtoint ([20 x i8]* @_ppfs_parsespec.qual_chars to i64) + %cmp146 = icmp slt i64 %sub.ptr.sub, 2 + br i1 %cmp146, label %land.lhs.true148, label %if.end156 + +land.lhs.true148: ; preds = %do.end145 + %87 = load i8*, i8** %fmt, align 8 + %88 = load i8, i8* %87, align 1 + %conv149 = sext i8 %88 to i32 + %89 = load i8*, i8** %p, align 8 + %90 = load i8, i8* %89, align 1 + %conv150 = sext i8 %90 to i32 + %cmp151 = icmp eq i32 %conv149, %conv150 + br i1 %cmp151, label %if.then153, label %if.end156 + +if.then153: ; preds = %land.lhs.true148 + %91 = load i8*, i8** %p, align 8 + %add.ptr154 = getelementptr inbounds i8, i8* %91, i64 9 + store i8* %add.ptr154, i8** %p, align 8 + %92 = load i8*, i8** %fmt, align 8 + %incdec.ptr155 = getelementptr inbounds i8, i8* %92, i32 1 + store i8* %incdec.ptr155, i8** %fmt, align 8 + br label %if.end156 + +if.end156: ; preds = %if.then153, %land.lhs.true148, %do.end145 + %93 = load i8*, i8** %p, align 8 + %arrayidx157 = getelementptr inbounds i8, i8* %93, i64 9 + %94 = load i8, i8* %arrayidx157, align 1 + %conv158 = sext i8 %94 to i32 + %shl = shl i32 %conv158, 8 + store i32 %shl, i32* %dataargtype, align 4 + %95 = load i8*, i8** %fmt, align 8 + %96 = load i8, i8* %95, align 1 + %tobool159 = icmp ne i8 %96, 0 + br i1 %tobool159, label %if.end161, label %if.then160 + +if.then160: ; preds = %if.end156 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end161: ; preds = %if.end156 + store i8* getelementptr inbounds ([21 x i8], [21 x i8]* @_ppfs_parsespec.spec_chars, i64 0, i64 0), i8** %p, align 8 + br label %do.body162 + +do.body162: ; preds = %do.cond199, %if.end161 + %97 = load i8*, i8** %fmt, align 8 + %98 = load i8, i8* %97, align 1 + %conv163 = sext i8 %98 to i32 + %99 = load i8*, i8** %p, align 8 + %100 = load i8, i8* %99, align 1 + %conv164 = sext i8 %100 to i32 + %cmp165 = icmp eq i32 %conv163, %conv164 + %101 = load i8*, i8** %p, align 8 + br i1 %cmp165, label %if.then167, label %do.cond199 + +if.then167: ; preds = %do.body162 + %sub.ptr.lhs.cast168 = ptrtoint i8* %101 to i64 + %sub.ptr.sub169 = sub i64 %sub.ptr.lhs.cast168, ptrtoint ([21 x i8]* @_ppfs_parsespec.spec_chars to i64) + %conv170 = trunc i64 %sub.ptr.sub169 to i32 + store i32 %conv170, i32* %p_m_spec_chars, align 4 + %102 = load i32, i32* %p_m_spec_chars, align 4 + %cmp171 = icmp sge i32 %102, 18 + br i1 %cmp171, label %land.lhs.true173, label %if.end178 + +land.lhs.true173: ; preds = %if.then167 + %103 = load i32, i32* %dataargtype, align 4 + %and174 = and i32 %103, 1024 + %tobool175 = icmp ne i32 %and174, 0 + br i1 %tobool175, label %if.then176, label %if.end178 + +if.then176: ; preds = %land.lhs.true173 + %104 = load i32, i32* %p_m_spec_chars, align 4 + %sub177 = sub nsw i32 %104, 2 + store i32 %sub177, i32* %p_m_spec_chars, align 4 + br label %if.end178 + +if.end178: ; preds = %if.then176, %land.lhs.true173, %if.then167 + %105 = load i32, i32* %p_m_spec_chars, align 4 + %106 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %conv_num = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %106, i32 0, i32 4 + store i32 %105, i32* %conv_num, align 4 + store i8* getelementptr inbounds (i8, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @_ppfs_parsespec.spec_ranges, i64 0, i64 0), i64 -1), i8** %p, align 8 + br label %while.cond179 + +while.cond179: ; preds = %while.cond179, %if.end178 + %107 = load i32, i32* %p_m_spec_chars, align 4 + %108 = load i8*, i8** %p, align 8 + %incdec.ptr180 = getelementptr inbounds i8, i8* %108, i32 1 + store i8* %incdec.ptr180, i8** %p, align 8 + %109 = load i8, i8* %incdec.ptr180, align 1 + %conv181 = sext i8 %109 to i32 + %cmp182 = icmp sgt i32 %107, %conv181 + br i1 %cmp182, label %while.cond179, label %while.end185 + +while.end185: ; preds = %while.cond179 + %110 = load i8*, i8** %p, align 8 + %sub.ptr.lhs.cast186 = ptrtoint i8* %110 to i64 + %sub.ptr.sub187 = sub i64 %sub.ptr.lhs.cast186, ptrtoint ([9 x i8]* @_ppfs_parsespec.spec_ranges to i64) + %conv188 = trunc i64 %sub.ptr.sub187 to i32 + store i32 %conv188, i32* %i, align 4 + %111 = load i32, i32* %dataargtype, align 4 + %112 = load i32, i32* %i, align 4 + %idxprom189 = sext i32 %112 to i64 + %arrayidx190 = getelementptr inbounds [8 x i16], [8 x i16]* @_ppfs_parsespec.spec_or_mask, i64 0, i64 %idxprom189 + %113 = load i16, i16* %arrayidx190, align 2 + %conv191 = sext i16 %113 to i32 + %or192 = or i32 %111, %conv191 + %114 = load i32, i32* %i, align 4 + %idxprom193 = sext i32 %114 to i64 + %arrayidx194 = getelementptr inbounds [8 x i16], [8 x i16]* @_ppfs_parsespec.spec_and_mask, i64 0, i64 %idxprom193 + %115 = load i16, i16* %arrayidx194, align 2 + %conv195 = sext i16 %115 to i32 + %and196 = and i32 %or192, %conv195 + %arrayidx197 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 2 + store i32 %and196, i32* %arrayidx197, align 4 + store i8* getelementptr inbounds ([21 x i8], [21 x i8]* @_ppfs_parsespec.spec_chars, i64 0, i64 0), i8** %p, align 8 + br label %do.end202 + +do.cond199: ; preds = %do.body162 + %incdec.ptr200 = getelementptr inbounds i8, i8* %101, i32 1 + store i8* %incdec.ptr200, i8** %p, align 8 + %116 = load i8, i8* %incdec.ptr200, align 1 + %tobool201 = icmp ne i8 %116, 0 + br i1 %tobool201, label %do.body162, label %do.end202 + +do.end202: ; preds = %do.cond199, %while.end185 + %117 = load i8*, i8** %fmt, align 8 + %118 = load i8, i8* %117, align 1 + %conv203 = sext i8 %118 to i32 + %119 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info204 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %119, i32 0, i32 1 + %spec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info204, i32 0, i32 2 + store i32 %conv203, i32* %spec, align 8 + %120 = load i32, i32* %preci, align 4 + %121 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info205 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %121, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info205, i32 0, i32 0 + store i32 %120, i32* %prec, align 8 + %122 = load i32, i32* %width, align 4 + %123 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info206 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %123, i32 0, i32 1 + %width207 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info206, i32 0, i32 1 + store i32 %122, i32* %width207, align 4 + %124 = load i32, i32* %flags, align 4 + %and208 = and i32 %124, 4 + %tobool209 = icmp ne i32 %and208, 0 + %125 = zext i1 %tobool209 to i64 + %cond = select i1 %tobool209, i32 48, i32 32 + %126 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info210 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %126, i32 0, i32 1 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info210, i32 0, i32 4 + store i32 %cond, i32* %pad, align 8 + %127 = load i32, i32* %flags, align 4 + %and211 = and i32 %127, -5 + %128 = load i32, i32* %dataargtype, align 4 + %and212 = and i32 %128, 3840 + %or213 = or i32 %and211, %and212 + %129 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info214 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %129, i32 0, i32 1 + %_flags215 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info214, i32 0, i32 3 + store i32 %or213, i32* %_flags215, align 4 + %130 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %130, i32 0, i32 3 + store i32 1, i32* %num_data_args, align 8 + %131 = load i8*, i8** %p, align 8 + %132 = load i8, i8* %131, align 1 + %tobool216 = icmp ne i8 %132, 0 + br i1 %tobool216, label %if.end218, label %if.then217 + +if.then217: ; preds = %do.end202 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end218: ; preds = %do.end202 + %133 = load i32, i32* %maxposarg, align 4 + %cmp219 = icmp sgt i32 %133, 0 + br i1 %cmp219, label %if.then221, label %if.else265 + +if.then221: ; preds = %if.end218 + store i32 0, i32* %i, align 4 + br label %do.body222 + +do.body222: ; preds = %do.cond258, %if.then221 + %134 = load i32, i32* %i, align 4 + %cmp223 = icmp sle i32 %134, 2 + br i1 %cmp223, label %cond.true, label %cond.false + +cond.true: ; preds = %do.body222 + %135 = load i32, i32* %i, align 4 + %idxprom225 = sext i32 %135 to i64 + %arrayidx226 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 %idxprom225 + %136 = load i32, i32* %arrayidx226, align 4 + %conv227 = trunc i32 %136 to i8 + %137 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber228 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %137, i32 0, i32 5 + %138 = load i32, i32* %i, align 4 + %idxprom229 = sext i32 %138 to i64 + %arrayidx230 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber228, i64 0, i64 %idxprom229 + store i8 %conv227, i8* %arrayidx230, align 1 + %conv231 = zext i8 %conv227 to i32 + br label %cond.end + +cond.false: ; preds = %do.body222 + %arrayidx232 = getelementptr inbounds [3 x i32], [3 x i32]* %argnumber, i64 0, i64 2 + %139 = load i32, i32* %arrayidx232, align 4 + %140 = load i32, i32* %i, align 4 + %sub233 = sub nsw i32 %140, 2 + %add234 = add nsw i32 %139, %sub233 + br label %cond.end + +cond.end: ; preds = %cond.false, %cond.true + %cond235 = phi i32 [ %conv231, %cond.true ], [ %add234, %cond.false ] + store i32 %cond235, i32* %n, align 4 + %141 = load i32, i32* %n, align 4 + %142 = load i32, i32* %maxposarg, align 4 + %cmp236 = icmp sgt i32 %141, %142 + br i1 %cmp236, label %if.then238, label %if.end243 + +if.then238: ; preds = %cond.end + %143 = load i32, i32* %n, align 4 + store i32 %143, i32* %maxposarg, align 4 + %cmp239 = icmp sgt i32 %143, 9 + br i1 %cmp239, label %if.then241, label %if.end243 + +if.then241: ; preds = %if.then238 + store i32 -1, i32* %retval, align 4 + br label %return + +if.end243: ; preds = %if.then238, %cond.end + %144 = load i32, i32* %n, align 4 + %dec = add nsw i32 %144, -1 + store i32 %dec, i32* %n, align 4 + %145 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype244 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %145, i32 0, i32 6 + %146 = load i32, i32* %n, align 4 + %idxprom245 = sext i32 %146 to i64 + %arrayidx246 = getelementptr inbounds [9 x i32], [9 x i32]* %argtype244, i64 0, i64 %idxprom245 + %147 = load i32, i32* %arrayidx246, align 4 + %148 = load i32, i32* %i, align 4 + %idxprom247 = sext i32 %148 to i64 + %arrayidx248 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 %idxprom247 + %149 = load i32, i32* %arrayidx248, align 4 + %call249 = call i32 @_is_equal_or_bigger_arg(i32 %147, i32 %149) #18 + %tobool250 = icmp ne i32 %call249, 0 + br i1 %tobool250, label %if.then251, label %do.cond258 + +if.then251: ; preds = %if.end243 + %150 = load i32, i32* %i, align 4 + %idxprom252 = sext i32 %150 to i64 + %arrayidx253 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 %idxprom252 + %151 = load i32, i32* %arrayidx253, align 4 + %152 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype254 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %152, i32 0, i32 6 + %153 = load i32, i32* %n, align 4 + %idxprom255 = sext i32 %153 to i64 + %arrayidx256 = getelementptr inbounds [9 x i32], [9 x i32]* %argtype254, i64 0, i64 %idxprom255 + store i32 %151, i32* %arrayidx256, align 4 + br label %do.cond258 + +do.cond258: ; preds = %if.end243, %if.then251 + %154 = load i32, i32* %i, align 4 + %inc259 = add nsw i32 %154, 1 + store i32 %inc259, i32* %i, align 4 + %155 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args260 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %155, i32 0, i32 3 + %156 = load i32, i32* %num_data_args260, align 8 + %add261 = add nsw i32 %156, 2 + %cmp262 = icmp slt i32 %inc259, %add261 + br i1 %cmp262, label %do.body222, label %if.end276 + +if.else265: ; preds = %if.end218 + %157 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber266 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %157, i32 0, i32 5 + %arrayidx267 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber266, i64 0, i64 2 + store i8 1, i8* %arrayidx267, align 2 + %158 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype268 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %158, i32 0, i32 6 + %arraydecay269 = getelementptr inbounds [9 x i32], [9 x i32]* %argtype268, i64 0, i64 0 + %159 = bitcast i32* %arraydecay269 to i8* + %arraydecay270 = getelementptr inbounds [3 x i32], [3 x i32]* %argtype, i64 0, i64 0 + %add.ptr271 = getelementptr inbounds i32, i32* %arraydecay270, i64 2 + %160 = bitcast i32* %add.ptr271 to i8* + %161 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args272 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %161, i32 0, i32 3 + %162 = load i32, i32* %num_data_args272, align 8 + %conv273 = sext i32 %162 to i64 + %mul274 = mul i64 %conv273, 4 + %call275 = call i8* @memcpy(i8* %159, i8* %160, i64 %mul274) #19 + br label %if.end276 + +if.end276: ; preds = %do.cond258, %if.else265 + %163 = load i32, i32* %maxposarg, align 4 + %164 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg277 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %164, i32 0, i32 2 + store i32 %163, i32* %maxposarg277, align 4 + %165 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info278 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %165, i32 0, i32 1 + %_flags279 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info278, i32 0, i32 3 + %166 = load i32, i32* %_flags279, align 4 + %and280 = and i32 %166, 128 + store i32 %and280, i32* %flags, align 4 + %cmp281 = icmp eq i32 %and280, 0 + br i1 %cmp281, label %if.then283, label %if.else286 + +if.then283: ; preds = %if.end276 + %167 = load i8*, i8** %fmt, align 8 + %incdec.ptr284 = getelementptr inbounds i8, i8* %167, i32 1 + store i8* %incdec.ptr284, i8** %fmt, align 8 + %168 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos285 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %168, i32 0, i32 0 + store i8* %incdec.ptr284, i8** %fmtpos285, align 8 + br label %if.end293 + +if.else286: ; preds = %if.end276 + %169 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos287 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %169, i32 0, i32 0 + %170 = load i8*, i8** %fmtpos287, align 8 + %171 = bitcast i8* %170 to i32* + %172 = load i8*, i8** %fmt, align 8 + %arraydecay288 = getelementptr inbounds [32 x i8], [32 x i8]* %buf, i64 0, i64 0 + %sub.ptr.lhs.cast289 = ptrtoint i8* %172 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %arraydecay288 to i64 + %sub.ptr.sub290 = sub i64 %sub.ptr.lhs.cast289, %sub.ptr.rhs.cast + %add.ptr291 = getelementptr inbounds i32, i32* %171, i64 %sub.ptr.sub290 + %173 = bitcast i32* %add.ptr291 to i8* + %174 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %fmtpos292 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %174, i32 0, i32 0 + store i8* %173, i8** %fmtpos292, align 8 + br label %if.end293 + +if.end293: ; preds = %if.else286, %if.then283 + %175 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args294 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %175, i32 0, i32 3 + %176 = load i32, i32* %num_data_args294, align 8 + %add295 = add nsw i32 %176, 2 + store i32 %add295, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end293, %if.then241, %if.then217, %if.then160, %if.then120, %if.then111, %if.then66, %if.then56, %if.then16 + %177 = load i32, i32* %retval, align 4 + ret i32 %177 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_is_equal_or_bigger_arg(i32 %curtype, i32 %newtype) #0 { +entry: + %retval = alloca i32, align 4 + %curtype.addr = alloca i32, align 4 + %newtype.addr = alloca i32, align 4 + store i32 %curtype, i32* %curtype.addr, align 4 + store i32 %newtype, i32* %newtype.addr, align 4 + %0 = load i32, i32* %newtype.addr, align 4 + %cmp = icmp eq i32 %0, 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + store i32 0, i32* %retval, align 4 + br label %return + +if.end: ; preds = %entry + %1 = load i32, i32* %curtype.addr, align 4 + %cmp1 = icmp eq i32 %1, 8 + br i1 %cmp1, label %if.then3, label %lor.lhs.false + +lor.lhs.false: ; preds = %if.end + %2 = load i32, i32* %curtype.addr, align 4 + %3 = load i32, i32* %newtype.addr, align 4 + %cmp2 = icmp eq i32 %2, %3 + br i1 %cmp2, label %if.then3, label %if.end4 + +if.then3: ; preds = %lor.lhs.false, %if.end + store i32 1, i32* %retval, align 4 + br label %return + +if.end4: ; preds = %lor.lhs.false + %4 = load i32, i32* %curtype.addr, align 4 + %call = call i32 @_promoted_size(i32 %4) #18 + %5 = load i32, i32* %newtype.addr, align 4 + %call5 = call i32 @_promoted_size(i32 %5) #18 + %cmp6 = icmp sle i32 %call, %call5 + %conv = zext i1 %cmp6 to i32 + store i32 %conv, i32* %retval, align 4 + br label %return + +return: ; preds = %if.end4, %if.then3, %if.then + %6 = load i32, i32* %retval, align 4 + ret i32 %6 +} + +; Function Attrs: noinline nounwind uwtable +define internal i32 @_promoted_size(i32 %argtype) #0 { +entry: + %argtype.addr = alloca i32, align 4 + %p = alloca i16*, align 8 + store i32 %argtype, i32* %argtype.addr, align 4 + store i16* getelementptr inbounds (i16, i16* getelementptr inbounds ([12 x i16], [12 x i16]* @type_codes, i64 0, i64 0), i64 12), i16** %p, align 8 + br label %do.body + +do.body: ; preds = %do.body, %entry + %0 = load i16*, i16** %p, align 8 + %incdec.ptr = getelementptr inbounds i16, i16* %0, i32 -1 + store i16* %incdec.ptr, i16** %p, align 8 + %1 = load i16, i16* %incdec.ptr, align 2 + %conv = sext i16 %1 to i32 + %2 = load i32, i32* %argtype.addr, align 4 + %cmp = icmp ne i32 %conv, %2 + %3 = load i16*, i16** %p, align 8 + %cmp2 = icmp ugt i16* %3, getelementptr inbounds ([12 x i16], [12 x i16]* @type_codes, i64 0, i64 0) + %or.cond = and i1 %cmp, %cmp2 + br i1 %or.cond, label %do.body, label %do.end + +do.end: ; preds = %do.body + %4 = load i16*, i16** %p, align 8 + %sub.ptr.lhs.cast = ptrtoint i16* %4 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, ptrtoint ([12 x i16]* @type_codes to i64) + %sub.ptr.div = sdiv exact i64 %sub.ptr.sub, 2 + %conv4 = trunc i64 %sub.ptr.div to i32 + %idxprom = sext i32 %conv4 to i64 + %arrayidx = getelementptr inbounds [12 x i8], [12 x i8]* @type_sizes, i64 0, i64 %idxprom + %5 = load i8, i8* %arrayidx, align 1 + %conv5 = zext i8 %5 to i32 + ret i32 %conv5 +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_ppfs_prepargs(%struct.ppfs_t.722* %ppfs, %struct.__va_list_tag.0* %arg) #0 { +entry: + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %arg.addr = alloca %struct.__va_list_tag.0*, align 8 + %i = alloca i32, align 4 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + store %struct.__va_list_tag.0* %arg, %struct.__va_list_tag.0** %arg.addr, align 8 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg1 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %0, i32 0, i32 7 + %arraydecay = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg1, i64 0, i64 0 + %1 = load %struct.__va_list_tag.0*, %struct.__va_list_tag.0** %arg.addr, align 8 + %2 = bitcast %struct.__va_list_tag.0* %arraydecay to i8* + %3 = bitcast %struct.__va_list_tag.0* %1 to i8* + %vacopy.cast.dst = bitcast i8* %2 to i64* + %vacopy.cast.src = bitcast i8* %3 to i64* + %4 = load i64, i64* %vacopy.cast.src, align 8 + store volatile i64 %4, i64* %vacopy.cast.dst, align 8 + %5 = getelementptr i64, i64* %vacopy.cast.dst, i64 1 + %6 = getelementptr i64, i64* %vacopy.cast.src, i64 1 + %7 = load i64, i64* %6, align 8 + store i64 %7, i64* %5, align 8 + %8 = getelementptr i64, i64* %5, i64 1 + %9 = getelementptr i64, i64* %6, i64 1 + %10 = load i64, i64* %9, align 8 + store i64 %10, i64* %8, align 8 + %11 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %11, i32 0, i32 2 + %12 = load i32, i32* %maxposarg, align 4 + store i32 %12, i32* %i, align 4 + %cmp = icmp sgt i32 %12, 0 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %13 = load i32, i32* %i, align 4 + %14 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %14, i32 0, i32 3 + store i32 %13, i32* %num_data_args, align 8 + %15 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg2 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %15, i32 0, i32 2 + store i32 0, i32* %maxposarg2, align 4 + %16 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %16, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 0 + store i32 0, i32* %prec, align 8 + %17 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info3 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %17, i32 0, i32 1 + %width = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info3, i32 0, i32 1 + store i32 0, i32* %width, align 4 + %18 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + call void @_ppfs_setargs(%struct.ppfs_t.722* %18) #18 + %19 = load i32, i32* %i, align 4 + %20 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg4 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %20, i32 0, i32 2 + store i32 %19, i32* %maxposarg4, align 4 + br label %if.end + +if.end: ; preds = %if.then, %entry + ret void +} + +; Function Attrs: nounwind +declare void @llvm.va_copy(i8*, i8*) #11 + +; Function Attrs: noinline nounwind uwtable +define hidden void @_ppfs_setargs(%struct.ppfs_t.722* %ppfs) #0 { +entry: + %ppfs.addr = alloca %struct.ppfs_t.722*, align 8 + %p = alloca %union.anon.193*, align 8 + %i = alloca i32, align 4 + store %struct.ppfs_t.722* %ppfs, %struct.ppfs_t.722** %ppfs.addr, align 8 + %0 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argvalue = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %0, i32 0, i32 8 + %arraydecay = getelementptr inbounds [9 x %union.anon.193], [9 x %union.anon.193]* %argvalue, i64 0, i64 0 + store %union.anon.193* %arraydecay, %union.anon.193** %p, align 8 + %1 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %maxposarg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %1, i32 0, i32 2 + %2 = load i32, i32* %maxposarg, align 4 + %cmp = icmp eq i32 %2, 0 + %3 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %3, i32 0, i32 1 + %width = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info, i32 0, i32 1 + %4 = load i32, i32* %width, align 4 + %cmp1 = icmp eq i32 %4, -2147483648 + br i1 %cmp, label %if.then, label %if.else + +if.then: ; preds = %entry + br i1 %cmp1, label %if.then2, label %if.end + +if.then2: ; preds = %if.then + %5 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %5, i32 0, i32 7 + %arraydecay3 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg, i64 0, i64 0 + %gp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 0 + %gp_offset = load i32, i32* %gp_offset_p, align 8 + %fits_in_gp = icmp ule i32 %gp_offset, 40 + br i1 %fits_in_gp, label %vaarg.in_reg, label %vaarg.in_mem + +vaarg.in_reg: ; preds = %if.then2 + %6 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 3 + %reg_save_area = load i8*, i8** %6, align 8 + %7 = getelementptr i8, i8* %reg_save_area, i32 %gp_offset + %8 = bitcast i8* %7 to i32* + %9 = add i32 %gp_offset, 8 + store i32 %9, i32* %gp_offset_p, align 8 + br label %vaarg.end + +vaarg.in_mem: ; preds = %if.then2 + %overflow_arg_area_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay3, i32 0, i32 2 + %overflow_arg_area = load i8*, i8** %overflow_arg_area_p, align 8 + %10 = bitcast i8* %overflow_arg_area to i32* + %overflow_arg_area.next = getelementptr i8, i8* %overflow_arg_area, i32 8 + store i8* %overflow_arg_area.next, i8** %overflow_arg_area_p, align 8 + br label %vaarg.end + +vaarg.end: ; preds = %vaarg.in_mem, %vaarg.in_reg + %vaarg.addr = phi i32* [ %8, %vaarg.in_reg ], [ %10, %vaarg.in_mem ] + %11 = load i32, i32* %vaarg.addr, align 4 + %12 = load %union.anon.193*, %union.anon.193** %p, align 8 + %u = bitcast %union.anon.193* %12 to i32* + store i32 %11, i32* %u, align 8 + %13 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info4 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %13, i32 0, i32 1 + %width5 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info4, i32 0, i32 1 + store i32 %11, i32* %width5, align 4 + br label %if.end + +if.end: ; preds = %vaarg.end, %if.then + %14 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info6 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %14, i32 0, i32 1 + %prec = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info6, i32 0, i32 0 + %15 = load i32, i32* %prec, align 8 + %cmp7 = icmp eq i32 %15, -2147483648 + br i1 %cmp7, label %if.then8, label %if.end25 + +if.then8: ; preds = %if.end + %16 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg9 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %16, i32 0, i32 7 + %arraydecay10 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg9, i64 0, i64 0 + %gp_offset_p11 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay10, i32 0, i32 0 + %gp_offset12 = load i32, i32* %gp_offset_p11, align 8 + %fits_in_gp13 = icmp ule i32 %gp_offset12, 40 + br i1 %fits_in_gp13, label %vaarg.in_reg14, label %vaarg.in_mem16 + +vaarg.in_reg14: ; preds = %if.then8 + %17 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay10, i32 0, i32 3 + %reg_save_area15 = load i8*, i8** %17, align 8 + %18 = getelementptr i8, i8* %reg_save_area15, i32 %gp_offset12 + %19 = bitcast i8* %18 to i32* + %20 = add i32 %gp_offset12, 8 + store i32 %20, i32* %gp_offset_p11, align 8 + br label %vaarg.end20 + +vaarg.in_mem16: ; preds = %if.then8 + %overflow_arg_area_p17 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay10, i32 0, i32 2 + %overflow_arg_area18 = load i8*, i8** %overflow_arg_area_p17, align 8 + %21 = bitcast i8* %overflow_arg_area18 to i32* + %overflow_arg_area.next19 = getelementptr i8, i8* %overflow_arg_area18, i32 8 + store i8* %overflow_arg_area.next19, i8** %overflow_arg_area_p17, align 8 + br label %vaarg.end20 + +vaarg.end20: ; preds = %vaarg.in_mem16, %vaarg.in_reg14 + %vaarg.addr21 = phi i32* [ %19, %vaarg.in_reg14 ], [ %21, %vaarg.in_mem16 ] + %22 = load i32, i32* %vaarg.addr21, align 4 + %23 = load %union.anon.193*, %union.anon.193** %p, align 8 + %u22 = bitcast %union.anon.193* %23 to i32* + store i32 %22, i32* %u22, align 8 + %24 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info23 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %24, i32 0, i32 1 + %prec24 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info23, i32 0, i32 0 + store i32 %22, i32* %prec24, align 8 + br label %if.end25 + +if.end25: ; preds = %vaarg.end20, %if.end + store i32 0, i32* %i, align 4 + br label %while.cond + +while.cond: ; preds = %NodeBlock, %sw.epilog, %if.end25 + %25 = load i32, i32* %i, align 4 + %26 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %num_data_args = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %26, i32 0, i32 3 + %27 = load i32, i32* %num_data_args, align 8 + %cmp26 = icmp slt i32 %25, %27 + br i1 %cmp26, label %while.body, label %if.end149 + +while.body: ; preds = %while.cond + %28 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argtype = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %28, i32 0, i32 6 + %29 = load i32, i32* %i, align 4 + %inc = add nsw i32 %29, 1 + store i32 %inc, i32* %i, align 4 + %idxprom = sext i32 %29 to i64 + %arrayidx = getelementptr inbounds [9 x i32], [9 x i32]* %argtype, i64 0, i64 %idxprom + %30 = load i32, i32* %arrayidx, align 4 + br label %NodeBlock17 + +NodeBlock17: ; preds = %while.body + %case.cmp18 = icmp eq i32 %30, 2048 + br i1 %case.cmp18, label %sw.bb, label %NodeBlock15 + +NodeBlock15: ; preds = %NodeBlock17 + %case.cmp16 = icmp eq i32 %30, 1024 + br i1 %case.cmp16, label %sw.bb40, label %NodeBlock13 + +NodeBlock13: ; preds = %NodeBlock15 + %case.cmp14 = icmp eq i32 %30, 1 + br i1 %case.cmp14, label %sw.bb54, label %NodeBlock11 + +NodeBlock11: ; preds = %NodeBlock13 + %case.cmp12 = icmp eq i32 %30, 256 + br i1 %case.cmp12, label %sw.bb54, label %NodeBlock9 + +NodeBlock9: ; preds = %NodeBlock11 + %case.cmp10 = icmp eq i32 %30, 512 + br i1 %case.cmp10, label %sw.bb54, label %NodeBlock7 + +NodeBlock7: ; preds = %NodeBlock9 + %case.cmp8 = icmp eq i32 %30, 0 + br i1 %case.cmp8, label %sw.bb54, label %NodeBlock5 + +NodeBlock5: ; preds = %NodeBlock7 + %case.cmp6 = icmp eq i32 %30, 2 + br i1 %case.cmp6, label %sw.bb69, label %NodeBlock3 + +NodeBlock3: ; preds = %NodeBlock5 + %case.cmp4 = icmp eq i32 %30, 7 + br i1 %case.cmp4, label %sw.bb83, label %NodeBlock1 + +NodeBlock1: ; preds = %NodeBlock3 + %case.cmp2 = icmp eq i32 %30, 2055 + br i1 %case.cmp2, label %sw.bb94, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i32 %30, 8 + br i1 %case.cmp, label %while.cond, label %newDefault + +sw.bb: ; preds = %NodeBlock17 + %31 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg27 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %31, i32 0, i32 7 + %arraydecay28 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg27, i64 0, i64 0 + %gp_offset_p29 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay28, i32 0, i32 0 + %gp_offset30 = load i32, i32* %gp_offset_p29, align 8 + %fits_in_gp31 = icmp ule i32 %gp_offset30, 40 + br i1 %fits_in_gp31, label %vaarg.in_reg32, label %vaarg.in_mem34 + +vaarg.in_reg32: ; preds = %sw.bb + %32 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay28, i32 0, i32 3 + %reg_save_area33 = load i8*, i8** %32, align 8 + %33 = getelementptr i8, i8* %reg_save_area33, i32 %gp_offset30 + %34 = bitcast i8* %33 to i64* + %35 = add i32 %gp_offset30, 8 + store i32 %35, i32* %gp_offset_p29, align 8 + br label %vaarg.end38 + +vaarg.in_mem34: ; preds = %sw.bb + %overflow_arg_area_p35 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay28, i32 0, i32 2 + %overflow_arg_area36 = load i8*, i8** %overflow_arg_area_p35, align 8 + %36 = bitcast i8* %overflow_arg_area36 to i64* + %overflow_arg_area.next37 = getelementptr i8, i8* %overflow_arg_area36, i32 8 + store i8* %overflow_arg_area.next37, i8** %overflow_arg_area_p35, align 8 + br label %vaarg.end38 + +vaarg.end38: ; preds = %vaarg.in_mem34, %vaarg.in_reg32 + %vaarg.addr39 = phi i64* [ %34, %vaarg.in_reg32 ], [ %36, %vaarg.in_mem34 ] + %37 = load i64, i64* %vaarg.addr39, align 8 + %38 = load %union.anon.193*, %union.anon.193** %p, align 8 + %ull = bitcast %union.anon.193* %38 to i64* + store i64 %37, i64* %ull, align 8 + br label %sw.epilog + +sw.bb40: ; preds = %NodeBlock15 + %39 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg41 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %39, i32 0, i32 7 + %arraydecay42 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg41, i64 0, i64 0 + %gp_offset_p43 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay42, i32 0, i32 0 + %gp_offset44 = load i32, i32* %gp_offset_p43, align 8 + %fits_in_gp45 = icmp ule i32 %gp_offset44, 40 + br i1 %fits_in_gp45, label %vaarg.in_reg46, label %vaarg.in_mem48 + +vaarg.in_reg46: ; preds = %sw.bb40 + %40 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay42, i32 0, i32 3 + %reg_save_area47 = load i8*, i8** %40, align 8 + %41 = getelementptr i8, i8* %reg_save_area47, i32 %gp_offset44 + %42 = bitcast i8* %41 to i64* + %43 = add i32 %gp_offset44, 8 + store i32 %43, i32* %gp_offset_p43, align 8 + br label %vaarg.end52 + +vaarg.in_mem48: ; preds = %sw.bb40 + %overflow_arg_area_p49 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay42, i32 0, i32 2 + %overflow_arg_area50 = load i8*, i8** %overflow_arg_area_p49, align 8 + %44 = bitcast i8* %overflow_arg_area50 to i64* + %overflow_arg_area.next51 = getelementptr i8, i8* %overflow_arg_area50, i32 8 + store i8* %overflow_arg_area.next51, i8** %overflow_arg_area_p49, align 8 + br label %vaarg.end52 + +vaarg.end52: ; preds = %vaarg.in_mem48, %vaarg.in_reg46 + %vaarg.addr53 = phi i64* [ %42, %vaarg.in_reg46 ], [ %44, %vaarg.in_mem48 ] + %45 = load i64, i64* %vaarg.addr53, align 8 + %46 = load %union.anon.193*, %union.anon.193** %p, align 8 + %ul = bitcast %union.anon.193* %46 to i64* + store i64 %45, i64* %ul, align 8 + br label %sw.epilog + +sw.bb54: ; preds = %NodeBlock13, %NodeBlock11, %NodeBlock9, %NodeBlock7 + %47 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg55 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %47, i32 0, i32 7 + %arraydecay56 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg55, i64 0, i64 0 + %gp_offset_p57 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay56, i32 0, i32 0 + %gp_offset58 = load i32, i32* %gp_offset_p57, align 8 + %fits_in_gp59 = icmp ule i32 %gp_offset58, 40 + br i1 %fits_in_gp59, label %vaarg.in_reg60, label %vaarg.in_mem62 + +vaarg.in_reg60: ; preds = %sw.bb54 + %48 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay56, i32 0, i32 3 + %reg_save_area61 = load i8*, i8** %48, align 8 + %49 = getelementptr i8, i8* %reg_save_area61, i32 %gp_offset58 + %50 = bitcast i8* %49 to i32* + %51 = add i32 %gp_offset58, 8 + store i32 %51, i32* %gp_offset_p57, align 8 + br label %vaarg.end66 + +vaarg.in_mem62: ; preds = %sw.bb54 + %overflow_arg_area_p63 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay56, i32 0, i32 2 + %overflow_arg_area64 = load i8*, i8** %overflow_arg_area_p63, align 8 + %52 = bitcast i8* %overflow_arg_area64 to i32* + %overflow_arg_area.next65 = getelementptr i8, i8* %overflow_arg_area64, i32 8 + store i8* %overflow_arg_area.next65, i8** %overflow_arg_area_p63, align 8 + br label %vaarg.end66 + +vaarg.end66: ; preds = %vaarg.in_mem62, %vaarg.in_reg60 + %vaarg.addr67 = phi i32* [ %50, %vaarg.in_reg60 ], [ %52, %vaarg.in_mem62 ] + %53 = load i32, i32* %vaarg.addr67, align 4 + %54 = load %union.anon.193*, %union.anon.193** %p, align 8 + %u68 = bitcast %union.anon.193* %54 to i32* + store i32 %53, i32* %u68, align 8 + br label %sw.epilog + +sw.bb69: ; preds = %NodeBlock5 + %55 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg70 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %55, i32 0, i32 7 + %arraydecay71 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg70, i64 0, i64 0 + %gp_offset_p72 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay71, i32 0, i32 0 + %gp_offset73 = load i32, i32* %gp_offset_p72, align 8 + %fits_in_gp74 = icmp ule i32 %gp_offset73, 40 + br i1 %fits_in_gp74, label %vaarg.in_reg75, label %vaarg.in_mem77 + +vaarg.in_reg75: ; preds = %sw.bb69 + %56 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay71, i32 0, i32 3 + %reg_save_area76 = load i8*, i8** %56, align 8 + %57 = getelementptr i8, i8* %reg_save_area76, i32 %gp_offset73 + %58 = bitcast i8* %57 to i32* + %59 = add i32 %gp_offset73, 8 + store i32 %59, i32* %gp_offset_p72, align 8 + br label %vaarg.end81 + +vaarg.in_mem77: ; preds = %sw.bb69 + %overflow_arg_area_p78 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay71, i32 0, i32 2 + %overflow_arg_area79 = load i8*, i8** %overflow_arg_area_p78, align 8 + %60 = bitcast i8* %overflow_arg_area79 to i32* + %overflow_arg_area.next80 = getelementptr i8, i8* %overflow_arg_area79, i32 8 + store i8* %overflow_arg_area.next80, i8** %overflow_arg_area_p78, align 8 + br label %vaarg.end81 + +vaarg.end81: ; preds = %vaarg.in_mem77, %vaarg.in_reg75 + %vaarg.addr82 = phi i32* [ %58, %vaarg.in_reg75 ], [ %60, %vaarg.in_mem77 ] + %61 = load i32, i32* %vaarg.addr82, align 4 + %62 = load %union.anon.193*, %union.anon.193** %p, align 8 + %wc = bitcast %union.anon.193* %62 to i32* + store i32 %61, i32* %wc, align 8 + br label %sw.epilog + +sw.bb83: ; preds = %NodeBlock3 + %63 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg84 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %63, i32 0, i32 7 + %arraydecay85 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg84, i64 0, i64 0 + %fp_offset_p = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay85, i32 0, i32 1 + %fp_offset = load i32, i32* %fp_offset_p, align 4 + %fits_in_fp = icmp ule i32 %fp_offset, 160 + br i1 %fits_in_fp, label %vaarg.in_reg86, label %vaarg.in_mem88 + +vaarg.in_reg86: ; preds = %sw.bb83 + %64 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay85, i32 0, i32 3 + %reg_save_area87 = load i8*, i8** %64, align 8 + %65 = getelementptr i8, i8* %reg_save_area87, i32 %fp_offset + %66 = bitcast i8* %65 to double* + %67 = add i32 %fp_offset, 16 + store i32 %67, i32* %fp_offset_p, align 4 + br label %vaarg.end92 + +vaarg.in_mem88: ; preds = %sw.bb83 + %overflow_arg_area_p89 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay85, i32 0, i32 2 + %overflow_arg_area90 = load i8*, i8** %overflow_arg_area_p89, align 8 + %68 = bitcast i8* %overflow_arg_area90 to double* + %overflow_arg_area.next91 = getelementptr i8, i8* %overflow_arg_area90, i32 8 + store i8* %overflow_arg_area.next91, i8** %overflow_arg_area_p89, align 8 + br label %vaarg.end92 + +vaarg.end92: ; preds = %vaarg.in_mem88, %vaarg.in_reg86 + %vaarg.addr93 = phi double* [ %66, %vaarg.in_reg86 ], [ %68, %vaarg.in_mem88 ] + %69 = load double, double* %vaarg.addr93, align 8 + %70 = load %union.anon.193*, %union.anon.193** %p, align 8 + %d = bitcast %union.anon.193* %70 to double* + store double %69, double* %d, align 8 + br label %sw.epilog + +sw.bb94: ; preds = %NodeBlock1 + %71 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg95 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %71, i32 0, i32 7 + %arraydecay96 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg95, i64 0, i64 0 + %fp_offset_p97 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay96, i32 0, i32 1 + %fp_offset98 = load i32, i32* %fp_offset_p97, align 4 + %fits_in_fp99 = icmp ule i32 %fp_offset98, 160 + br i1 %fits_in_fp99, label %vaarg.in_reg100, label %vaarg.in_mem102 + +vaarg.in_reg100: ; preds = %sw.bb94 + %72 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay96, i32 0, i32 3 + %reg_save_area101 = load i8*, i8** %72, align 8 + %73 = getelementptr i8, i8* %reg_save_area101, i32 %fp_offset98 + %74 = bitcast i8* %73 to double* + %75 = add i32 %fp_offset98, 16 + store i32 %75, i32* %fp_offset_p97, align 4 + br label %vaarg.end106 + +vaarg.in_mem102: ; preds = %sw.bb94 + %overflow_arg_area_p103 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay96, i32 0, i32 2 + %overflow_arg_area104 = load i8*, i8** %overflow_arg_area_p103, align 8 + %76 = bitcast i8* %overflow_arg_area104 to double* + %overflow_arg_area.next105 = getelementptr i8, i8* %overflow_arg_area104, i32 8 + store i8* %overflow_arg_area.next105, i8** %overflow_arg_area_p103, align 8 + br label %vaarg.end106 + +vaarg.end106: ; preds = %vaarg.in_mem102, %vaarg.in_reg100 + %vaarg.addr107 = phi double* [ %74, %vaarg.in_reg100 ], [ %76, %vaarg.in_mem102 ] + %77 = load double, double* %vaarg.addr107, align 8 + %78 = load %union.anon.193*, %union.anon.193** %p, align 8 + %ld = bitcast %union.anon.193* %78 to double* + store double %77, double* %ld, align 8 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.bb108 + +sw.bb108: ; preds = %newDefault + %79 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %arg109 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %79, i32 0, i32 7 + %arraydecay110 = getelementptr inbounds [1 x %struct.__va_list_tag.0], [1 x %struct.__va_list_tag.0]* %arg109, i64 0, i64 0 + %gp_offset_p111 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay110, i32 0, i32 0 + %gp_offset112 = load i32, i32* %gp_offset_p111, align 8 + %fits_in_gp113 = icmp ule i32 %gp_offset112, 40 + br i1 %fits_in_gp113, label %vaarg.in_reg114, label %vaarg.in_mem116 + +vaarg.in_reg114: ; preds = %sw.bb108 + %80 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay110, i32 0, i32 3 + %reg_save_area115 = load i8*, i8** %80, align 8 + %81 = getelementptr i8, i8* %reg_save_area115, i32 %gp_offset112 + %82 = bitcast i8* %81 to i8** + %83 = add i32 %gp_offset112, 8 + store i32 %83, i32* %gp_offset_p111, align 8 + br label %vaarg.end120 + +vaarg.in_mem116: ; preds = %sw.bb108 + %overflow_arg_area_p117 = getelementptr inbounds %struct.__va_list_tag.0, %struct.__va_list_tag.0* %arraydecay110, i32 0, i32 2 + %overflow_arg_area118 = load i8*, i8** %overflow_arg_area_p117, align 8 + %84 = bitcast i8* %overflow_arg_area118 to i8** + %overflow_arg_area.next119 = getelementptr i8, i8* %overflow_arg_area118, i32 8 + store i8* %overflow_arg_area.next119, i8** %overflow_arg_area_p117, align 8 + br label %vaarg.end120 + +vaarg.end120: ; preds = %vaarg.in_mem116, %vaarg.in_reg114 + %vaarg.addr121 = phi i8** [ %82, %vaarg.in_reg114 ], [ %84, %vaarg.in_mem116 ] + %85 = load i8*, i8** %vaarg.addr121, align 8 + %86 = load %union.anon.193*, %union.anon.193** %p, align 8 + %p122 = bitcast %union.anon.193* %86 to i8** + store i8* %85, i8** %p122, align 8 + br label %sw.epilog + +sw.epilog: ; preds = %vaarg.end120, %vaarg.end106, %vaarg.end92, %vaarg.end81, %vaarg.end66, %vaarg.end52, %vaarg.end38 + %87 = load %union.anon.193*, %union.anon.193** %p, align 8 + %incdec.ptr = getelementptr inbounds %union.anon.193, %union.anon.193* %87, i32 1 + store %union.anon.193* %incdec.ptr, %union.anon.193** %p, align 8 + br label %while.cond + +if.else: ; preds = %entry + br i1 %cmp1, label %if.then127, label %if.end133 + +if.then127: ; preds = %if.else + %88 = load %union.anon.193*, %union.anon.193** %p, align 8 + %89 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %89, i32 0, i32 5 + %arrayidx128 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber, i64 0, i64 0 + %90 = load i8, i8* %arrayidx128, align 8 + %conv = zext i8 %90 to i32 + %idx.ext = sext i32 %conv to i64 + %add.ptr = getelementptr inbounds %union.anon.193, %union.anon.193* %88, i64 %idx.ext + %add.ptr129 = getelementptr inbounds %union.anon.193, %union.anon.193* %add.ptr, i64 -1 + %u130 = bitcast %union.anon.193* %add.ptr129 to i32* + %91 = load i32, i32* %u130, align 8 + %92 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info131 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %92, i32 0, i32 1 + %width132 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info131, i32 0, i32 1 + store i32 %91, i32* %width132, align 4 + br label %if.end133 + +if.end133: ; preds = %if.then127, %if.else + %93 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info134 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %93, i32 0, i32 1 + %prec135 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info134, i32 0, i32 0 + %94 = load i32, i32* %prec135, align 8 + %cmp136 = icmp eq i32 %94, -2147483648 + br i1 %cmp136, label %if.then138, label %if.end149 + +if.then138: ; preds = %if.end133 + %95 = load %union.anon.193*, %union.anon.193** %p, align 8 + %96 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %argnumber139 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %96, i32 0, i32 5 + %arrayidx140 = getelementptr inbounds [4 x i8], [4 x i8]* %argnumber139, i64 0, i64 1 + %97 = load i8, i8* %arrayidx140, align 1 + %conv141 = zext i8 %97 to i32 + %idx.ext142 = sext i32 %conv141 to i64 + %add.ptr143 = getelementptr inbounds %union.anon.193, %union.anon.193* %95, i64 %idx.ext142 + %add.ptr144 = getelementptr inbounds %union.anon.193, %union.anon.193* %add.ptr143, i64 -1 + %u145 = bitcast %union.anon.193* %add.ptr144 to i32* + %98 = load i32, i32* %u145, align 8 + %99 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info146 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %99, i32 0, i32 1 + %prec147 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info146, i32 0, i32 0 + store i32 %98, i32* %prec147, align 8 + br label %if.end149 + +if.end149: ; preds = %if.end133, %if.then138, %while.cond + %100 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info150 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %100, i32 0, i32 1 + %width151 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info150, i32 0, i32 1 + %101 = load i32, i32* %width151, align 4 + %cmp152 = icmp slt i32 %101, 0 + br i1 %cmp152, label %if.then154, label %if.end163 + +if.then154: ; preds = %if.end149 + %102 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info155 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %102, i32 0, i32 1 + %width156 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info155, i32 0, i32 1 + %103 = load i32, i32* %width156, align 4 + %sub = sub nsw i32 0, %103 + %104 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info157 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %104, i32 0, i32 1 + %width158 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info157, i32 0, i32 1 + store i32 %sub, i32* %width158, align 4 + %105 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info159 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %105, i32 0, i32 1 + %_flags = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info159, i32 0, i32 3 + %106 = load i32, i32* %_flags, align 4 + %or = or i32 %106, 8 + store i32 %or, i32* %_flags, align 4 + %107 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info160 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %107, i32 0, i32 1 + %_flags161 = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info160, i32 0, i32 3 + %108 = load i32, i32* %_flags161, align 4 + %and = and i32 %108, -2 + store i32 %and, i32* %_flags161, align 4 + %109 = load %struct.ppfs_t.722*, %struct.ppfs_t.722** %ppfs.addr, align 8 + %info162 = getelementptr inbounds %struct.ppfs_t.722, %struct.ppfs_t.722* %109, i32 0, i32 1 + %pad = getelementptr inbounds %struct.printf_info.720, %struct.printf_info.720* %info162, i32 0, i32 4 + store i32 32, i32* %pad, align 8 + br label %if.end163 + +if.end163: ; preds = %if.then154, %if.end149 + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @_store_inttype(i8* %dest, i32 %desttype, i64 %val) #0 { +entry: + %dest.addr = alloca i8*, align 8 + %desttype.addr = alloca i32, align 4 + %val.addr = alloca i64, align 8 + store i8* %dest, i8** %dest.addr, align 8 + store i32 %desttype, i32* %desttype.addr, align 4 + store i64 %val, i64* %val.addr, align 8 + %0 = load i32, i32* %desttype.addr, align 4 + %cmp = icmp eq i32 %0, 256 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %1 = load i64, i64* %val.addr, align 8 + %conv = trunc i64 %1 to i8 + %2 = load i8*, i8** %dest.addr, align 8 + store i8 %conv, i8* %2, align 1 + br label %return + +if.end: ; preds = %entry + %3 = load i32, i32* %desttype.addr, align 4 + %cmp1 = icmp eq i32 %3, 2048 + br i1 %cmp1, label %if.then3, label %if.end4 + +if.then3: ; preds = %if.end + %4 = load i64, i64* %val.addr, align 8 + %5 = load i8*, i8** %dest.addr, align 8 + %6 = bitcast i8* %5 to i64* + store i64 %4, i64* %6, align 8 + br label %return + +if.end4: ; preds = %if.end + %7 = load i32, i32* %desttype.addr, align 4 + %cmp5 = icmp eq i32 %7, 512 + br i1 %cmp5, label %if.then7, label %if.end9 + +if.then7: ; preds = %if.end4 + %8 = load i64, i64* %val.addr, align 8 + %conv8 = trunc i64 %8 to i16 + %9 = load i8*, i8** %dest.addr, align 8 + %10 = bitcast i8* %9 to i16* + store i16 %conv8, i16* %10, align 2 + br label %return + +if.end9: ; preds = %if.end4 + %11 = load i32, i32* %desttype.addr, align 4 + %cmp10 = icmp eq i32 %11, 1024 + %12 = load i64, i64* %val.addr, align 8 + br i1 %cmp10, label %if.then12, label %if.end13 + +if.then12: ; preds = %if.end9 + %13 = load i8*, i8** %dest.addr, align 8 + %14 = bitcast i8* %13 to i64* + store i64 %12, i64* %14, align 8 + br label %return + +if.end13: ; preds = %if.end9 + %conv14 = trunc i64 %12 to i32 + %15 = load i8*, i8** %dest.addr, align 8 + %16 = bitcast i8* %15 to i32* + store i32 %conv14, i32* %16, align 4 + br label %return + +return: ; preds = %if.end13, %if.then12, %if.then7, %if.then3, %if.then + ret void +} + +; Function Attrs: noinline nounwind uwtable +define hidden i8* @_uintmaxtostr(i8* noalias %bufend, i64 %uval, i32 %base, i32 %alphacase) #0 { +entry: + %bufend.addr = alloca i8*, align 8 + %uval.addr = alloca i64, align 8 + %base.addr = alloca i32, align 4 + %alphacase.addr = alloca i32, align 4 + %negative = alloca i32, align 4 + %digit = alloca i32, align 4 + %H = alloca i32, align 4 + %L = alloca i32, align 4 + %high = alloca i32, align 4 + %low = alloca i32, align 4 + %rh = alloca i32, align 4 + %grouping = alloca i32, align 4 + %outdigit = alloca i32, align 4 + %g = alloca i8*, align 8 + store i8* %bufend, i8** %bufend.addr, align 8 + store i64 %uval, i64* %uval.addr, align 8 + store i32 %base, i32* %base.addr, align 4 + store i32 %alphacase, i32* %alphacase.addr, align 4 + store i32 0, i32* %negative, align 4 + %0 = load i32, i32* %base.addr, align 4 + %cmp = icmp slt i32 %0, 0 + br i1 %cmp, label %if.then, label %if.end4 + +if.then: ; preds = %entry + %1 = load i32, i32* %base.addr, align 4 + %sub = sub nsw i32 0, %1 + store i32 %sub, i32* %base.addr, align 4 + %2 = load i64, i64* %uval.addr, align 8 + %cmp1 = icmp ugt i64 %2, 9223372036854775807 + br i1 %cmp1, label %if.then2, label %if.end4 + +if.then2: ; preds = %if.then + %3 = load i64, i64* %uval.addr, align 8 + %sub3 = sub i64 0, %3 + store i64 %sub3, i64* %uval.addr, align 8 + store i32 1, i32* %negative, align 4 + br label %if.end4 + +if.end4: ; preds = %if.then, %if.then2, %entry + store i32 -1, i32* %grouping, align 4 + %4 = load i32, i32* %alphacase.addr, align 4 + %and = and i32 128, %4 + store i32 %and, i32* %outdigit, align 4 + %5 = load i32, i32* %outdigit, align 4 + %6 = load i32, i32* %alphacase.addr, align 4 + %xor = xor i32 %6, %5 + store i32 %xor, i32* %alphacase.addr, align 4 + %7 = load i32, i32* %alphacase.addr, align 4 + %cmp5 = icmp eq i32 %7, 44 + br i1 %cmp5, label %if.then6, label %if.end10 + +if.then6: ; preds = %if.end4 + %8 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %grouping7 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %8, i32 0, i32 41 + %9 = load i8*, i8** %grouping7, align 8 + store i8* %9, i8** %g, align 8 + %10 = load i8, i8* %9, align 1 + %tobool = icmp ne i8 %10, 0 + br i1 %tobool, label %if.then8, label %if.end10 + +if.then8: ; preds = %if.then6 + %11 = load i8*, i8** %g, align 8 + %12 = load i8, i8* %11, align 1 + %conv = sext i8 %12 to i32 + store i32 %conv, i32* %grouping, align 4 + br label %if.end10 + +if.end10: ; preds = %if.then6, %if.then8, %if.end4 + %13 = load i8*, i8** %bufend.addr, align 8 + store i8 0, i8* %13, align 1 + %14 = load i32, i32* %base.addr, align 4 + %div = udiv i32 -1, %14 + store i32 %div, i32* %H, align 4 + %15 = load i32, i32* %base.addr, align 4 + %rem = urem i32 -1, %15 + %add = add i32 %rem, 1 + store i32 %add, i32* %L, align 4 + %16 = load i32, i32* %L, align 4 + %17 = load i32, i32* %base.addr, align 4 + %cmp11 = icmp eq i32 %16, %17 + br i1 %cmp11, label %if.then13, label %if.end14 + +if.then13: ; preds = %if.end10 + %18 = load i32, i32* %H, align 4 + %inc = add i32 %18, 1 + store i32 %inc, i32* %H, align 4 + store i32 0, i32* %L, align 4 + br label %if.end14 + +if.end14: ; preds = %if.then13, %if.end10 + %19 = load i64, i64* %uval.addr, align 8 + %conv15 = trunc i64 %19 to i32 + store i32 %conv15, i32* %low, align 4 + %20 = load i64, i64* %uval.addr, align 8 + %shr = lshr i64 %20, 32 + %conv16 = trunc i64 %shr to i32 + store i32 %conv16, i32* %high, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %if.end14 + %21 = load i32, i32* %grouping, align 4 + %tobool17 = icmp ne i32 %21, 0 + br i1 %tobool17, label %if.end27, label %if.then18 + +if.then18: ; preds = %do.body + %22 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %thousands_sep_len = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %22, i32 0, i32 27 + %23 = load i32, i32* %thousands_sep_len, align 4 + %24 = load i8*, i8** %bufend.addr, align 8 + %idx.ext = sext i32 %23 to i64 + %idx.neg = sub i64 0, %idx.ext + %add.ptr = getelementptr inbounds i8, i8* %24, i64 %idx.neg + store i8* %add.ptr, i8** %bufend.addr, align 8 + %25 = load i8*, i8** %bufend.addr, align 8 + %26 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %thousands_sep = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %26, i32 0, i32 40 + %27 = load i8*, i8** %thousands_sep, align 8 + %28 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %thousands_sep_len19 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %28, i32 0, i32 27 + %29 = load i32, i32* %thousands_sep_len19, align 4 + %conv20 = sext i32 %29 to i64 + %call = call i8* @memcpy(i8* %25, i8* %27, i64 %conv20) #19 + %30 = load i8*, i8** %g, align 8 + %arrayidx = getelementptr inbounds i8, i8* %30, i64 1 + %31 = load i8, i8* %arrayidx, align 1 + %conv21 = sext i8 %31 to i32 + %cmp22 = icmp ne i32 %conv21, 0 + br i1 %cmp22, label %if.then24, label %if.end25 + +if.then24: ; preds = %if.then18 + %32 = load i8*, i8** %g, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %32, i32 1 + store i8* %incdec.ptr, i8** %g, align 8 + br label %if.end25 + +if.end25: ; preds = %if.then24, %if.then18 + %33 = load i8*, i8** %g, align 8 + %34 = load i8, i8* %33, align 1 + %conv26 = sext i8 %34 to i32 + store i32 %conv26, i32* %grouping, align 4 + br label %if.end27 + +if.end27: ; preds = %if.end25, %do.body + %35 = load i32, i32* %grouping, align 4 + %dec = add nsw i32 %35, -1 + store i32 %dec, i32* %grouping, align 4 + %36 = load i32, i32* %high, align 4 + %tobool28 = icmp ne i32 %36, 0 + %lnot = xor i1 %tobool28, true + %lnot29 = xor i1 %lnot, true + %lnot.ext = zext i1 %lnot29 to i32 + %conv30 = sext i32 %lnot.ext to i64 + %tobool31 = icmp ne i64 %conv30, 0 + br i1 %tobool31, label %if.then32, label %if.else + +if.then32: ; preds = %if.end27 + %37 = load i32, i32* %high, align 4 + %38 = load i32, i32* %base.addr, align 4 + %rem33 = urem i32 %37, %38 + store i32 %rem33, i32* %rh, align 4 + %39 = load i32, i32* %base.addr, align 4 + %40 = load i32, i32* %high, align 4 + %div34 = udiv i32 %40, %39 + store i32 %div34, i32* %high, align 4 + %41 = load i32, i32* %low, align 4 + %42 = load i32, i32* %base.addr, align 4 + %rem35 = urem i32 %41, %42 + %43 = load i32, i32* %L, align 4 + %44 = load i32, i32* %rh, align 4 + %mul = mul i32 %43, %44 + %add36 = add i32 %rem35, %mul + store i32 %add36, i32* %digit, align 4 + %45 = load i32, i32* %low, align 4 + %46 = load i32, i32* %base.addr, align 4 + %div37 = udiv i32 %45, %46 + %47 = load i32, i32* %H, align 4 + %48 = load i32, i32* %rh, align 4 + %mul38 = mul i32 %47, %48 + %add39 = add i32 %div37, %mul38 + %49 = load i32, i32* %digit, align 4 + %50 = load i32, i32* %base.addr, align 4 + %div40 = udiv i32 %49, %50 + %add41 = add i32 %add39, %div40 + store i32 %add41, i32* %low, align 4 + %51 = load i32, i32* %base.addr, align 4 + %52 = load i32, i32* %digit, align 4 + %rem42 = urem i32 %52, %51 + store i32 %rem42, i32* %digit, align 4 + br label %if.end45 + +if.else: ; preds = %if.end27 + %53 = load i32, i32* %low, align 4 + %54 = load i32, i32* %base.addr, align 4 + %rem43 = urem i32 %53, %54 + store i32 %rem43, i32* %digit, align 4 + %55 = load i32, i32* %base.addr, align 4 + %56 = load i32, i32* %low, align 4 + %div44 = udiv i32 %56, %55 + store i32 %div44, i32* %low, align 4 + br label %if.end45 + +if.end45: ; preds = %if.else, %if.then32 + %57 = load i32, i32* %outdigit, align 4 + %tobool46 = icmp ne i32 %57, 0 + %lnot47 = xor i1 %tobool46, true + %lnot49 = xor i1 %lnot47, true + %lnot.ext50 = zext i1 %lnot49 to i32 + %conv51 = sext i32 %lnot.ext50 to i64 + %tobool52 = icmp ne i64 %conv51, 0 + br i1 %tobool52, label %if.then53, label %if.else66 + +if.then53: ; preds = %if.end45 + %58 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %outdigit_length = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %58, i32 0, i32 11 + %59 = load i32, i32* %digit, align 4 + %idxprom = zext i32 %59 to i64 + %arrayidx54 = getelementptr inbounds [10 x i8], [10 x i8]* %outdigit_length, i64 0, i64 %idxprom + %60 = load i8, i8* %arrayidx54, align 1 + %conv55 = zext i8 %60 to i32 + %61 = load i8*, i8** %bufend.addr, align 8 + %idx.ext56 = sext i32 %conv55 to i64 + %idx.neg57 = sub i64 0, %idx.ext56 + %add.ptr58 = getelementptr inbounds i8, i8* %61, i64 %idx.neg57 + store i8* %add.ptr58, i8** %bufend.addr, align 8 + %62 = load i8*, i8** %bufend.addr, align 8 + %63 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %outdigit0_mb = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %63, i32 0, i32 28 + %64 = load i32, i32* %digit, align 4 + %idxprom59 = zext i32 %64 to i64 + %arrayidx60 = getelementptr inbounds i8*, i8** %outdigit0_mb, i64 %idxprom59 + %65 = load i8*, i8** %arrayidx60, align 8 + %66 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %outdigit_length61 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %66, i32 0, i32 11 + %67 = load i32, i32* %digit, align 4 + %idxprom62 = zext i32 %67 to i64 + %arrayidx63 = getelementptr inbounds [10 x i8], [10 x i8]* %outdigit_length61, i64 0, i64 %idxprom62 + %68 = load i8, i8* %arrayidx63, align 1 + %conv64 = zext i8 %68 to i64 + %call65 = call i8* @memcpy(i8* %62, i8* %65, i64 %conv64) #19 + br label %do.cond + +if.else66: ; preds = %if.end45 + %69 = load i32, i32* %digit, align 4 + %cmp67 = icmp ult i32 %69, 10 + %70 = load i32, i32* %digit, align 4 + %add69 = add i32 %70, 48 + %71 = load i32, i32* %alphacase.addr, align 4 + %add70 = add i32 %70, %71 + %cond = select i1 %cmp67, i32 %add69, i32 %add70 + %conv71 = trunc i32 %cond to i8 + %72 = load i8*, i8** %bufend.addr, align 8 + %incdec.ptr72 = getelementptr inbounds i8, i8* %72, i32 -1 + store i8* %incdec.ptr72, i8** %bufend.addr, align 8 + store i8 %conv71, i8* %incdec.ptr72, align 1 + br label %do.cond + +do.cond: ; preds = %if.then53, %if.else66 + %73 = load i32, i32* %low, align 4 + %74 = load i32, i32* %high, align 4 + %or = or i32 %73, %74 + %tobool74 = icmp ne i32 %or, 0 + br i1 %tobool74, label %do.body, label %do.end + +do.end: ; preds = %do.cond + %75 = load i32, i32* %negative, align 4 + %tobool75 = icmp ne i32 %75, 0 + br i1 %tobool75, label %if.then76, label %if.end78 + +if.then76: ; preds = %do.end + %76 = load i8*, i8** %bufend.addr, align 8 + %incdec.ptr77 = getelementptr inbounds i8, i8* %76, i32 -1 + store i8* %incdec.ptr77, i8** %bufend.addr, align 8 + store i8 45, i8* %incdec.ptr77, align 1 + br label %if.end78 + +if.end78: ; preds = %if.then76, %do.end + %77 = load i8*, i8** %bufend.addr, align 8 + ret i8* %77 +} + +; Function Attrs: noinline nounwind uwtable +define hidden %struct.exit_function* @__new_exitfn() #0 { +entry: + %efp = alloca %struct.exit_function*, align 8 + %0 = load i32, i32* @__exit_slots, align 4 + %1 = load i32, i32* @__exit_count, align 4 + %add = add nsw i32 %1, 1 + %cmp = icmp slt i32 %0, %add + br i1 %cmp, label %if.then, label %if.end6 + +if.then: ; preds = %entry + %2 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + %3 = bitcast %struct.exit_function* %2 to i8* + %4 = load i32, i32* @__exit_slots, align 4 + %add1 = add nsw i32 %4, 20 + %conv = sext i32 %add1 to i64 + %mul = mul i64 %conv, 32 + %call = call noalias i8* @realloc(i8* %3, i64 %mul) #19 + %5 = bitcast i8* %call to %struct.exit_function* + store %struct.exit_function* %5, %struct.exit_function** %efp, align 8 + %6 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %cmp2 = icmp eq %struct.exit_function* %6, null + br i1 %cmp2, label %if.then4, label %if.end + +if.then4: ; preds = %if.then + store i32 12, i32* @errno, align 4 + br label %DONE + +if.end: ; preds = %if.then + %7 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + store %struct.exit_function* %7, %struct.exit_function** @__exit_function_table, align 8 + %8 = load i32, i32* @__exit_slots, align 4 + %add5 = add nsw i32 %8, 20 + store i32 %add5, i32* @__exit_slots, align 4 + br label %if.end6 + +if.end6: ; preds = %if.end, %entry + store void (i32)* @__exit_handler, void (i32)** @__exit_cleanup, align 8 + %9 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + %10 = load i32, i32* @__exit_count, align 4 + %inc = add nsw i32 %10, 1 + store i32 %inc, i32* @__exit_count, align 4 + %idxprom = sext i32 %10 to i64 + %arrayidx = getelementptr inbounds %struct.exit_function, %struct.exit_function* %9, i64 %idxprom + store %struct.exit_function* %arrayidx, %struct.exit_function** %efp, align 8 + %11 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %type = getelementptr inbounds %struct.exit_function, %struct.exit_function* %11, i32 0, i32 0 + store i64 1, i64* %type, align 8 + br label %DONE + +DONE: ; preds = %if.end6, %if.then4 + %12 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + ret %struct.exit_function* %12 +} + +; Function Attrs: noinline nounwind uwtable +define hidden void @__exit_handler(i32 %status) #0 { +entry: + %status.addr = alloca i32, align 4 + %efp = alloca %struct.exit_function*, align 8 + store i32 %status, i32* %status.addr, align 4 + br label %while.cond + +while.cond: ; preds = %sw.epilog, %entry + %0 = load i32, i32* @__exit_count, align 4 + %tobool = icmp ne i32 %0, 0 + %1 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %2 = load i32, i32* @__exit_count, align 4 + %dec = add nsw i32 %2, -1 + store i32 %dec, i32* @__exit_count, align 4 + %idxprom = sext i32 %dec to i64 + %arrayidx = getelementptr inbounds %struct.exit_function, %struct.exit_function* %1, i64 %idxprom + store %struct.exit_function* %arrayidx, %struct.exit_function** %efp, align 8 + %3 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %type = getelementptr inbounds %struct.exit_function, %struct.exit_function* %3, i32 0, i32 0 + %4 = load i64, i64* %type, align 8 + br label %NodeBlock1 + +NodeBlock1: ; preds = %while.body + %case.cmp2 = icmp eq i64 %4, 2 + br i1 %case.cmp2, label %sw.bb, label %NodeBlock + +NodeBlock: ; preds = %NodeBlock1 + %case.cmp = icmp eq i64 %4, 3 + br i1 %case.cmp, label %sw.bb7, label %newDefault + +sw.bb: ; preds = %NodeBlock1 + %5 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs = getelementptr inbounds %struct.exit_function, %struct.exit_function* %5, i32 0, i32 1 + %on_exit = bitcast %union.anon.772* %funcs to %struct.anon.779* + %func = getelementptr inbounds %struct.anon.779, %struct.anon.779* %on_exit, i32 0, i32 0 + %6 = load void (i32, i8*)*, void (i32, i8*)** %func, align 8 + %tobool1 = icmp ne void (i32, i8*)* %6, null + br i1 %tobool1, label %if.then, label %sw.epilog + +if.then: ; preds = %sw.bb + %7 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs2 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %7, i32 0, i32 1 + %on_exit3 = bitcast %union.anon.772* %funcs2 to %struct.anon.779* + %func4 = getelementptr inbounds %struct.anon.779, %struct.anon.779* %on_exit3, i32 0, i32 0 + %8 = load void (i32, i8*)*, void (i32, i8*)** %func4, align 8 + %9 = load i32, i32* %status.addr, align 4 + %10 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs5 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %10, i32 0, i32 1 + %on_exit6 = bitcast %union.anon.772* %funcs5 to %struct.anon.779* + %arg = getelementptr inbounds %struct.anon.779, %struct.anon.779* %on_exit6, i32 0, i32 1 + %11 = load i8*, i8** %arg, align 8 + call void %8(i32 %9, i8* %11) #18 + br label %sw.epilog + +sw.bb7: ; preds = %NodeBlock + %12 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs8 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %12, i32 0, i32 1 + %cxa_atexit = bitcast %union.anon.772* %funcs8 to %struct.anon.0.771* + %func9 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit, i32 0, i32 0 + %13 = load void (i8*)*, void (i8*)** %func9, align 8 + %tobool10 = icmp ne void (i8*)* %13, null + br i1 %tobool10, label %if.then11, label %sw.epilog + +if.then11: ; preds = %sw.bb7 + %14 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs12 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %14, i32 0, i32 1 + %cxa_atexit13 = bitcast %union.anon.772* %funcs12 to %struct.anon.0.771* + %func14 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit13, i32 0, i32 0 + %15 = load void (i8*)*, void (i8*)** %func14, align 8 + %16 = load %struct.exit_function*, %struct.exit_function** %efp, align 8 + %funcs15 = getelementptr inbounds %struct.exit_function, %struct.exit_function* %16, i32 0, i32 1 + %cxa_atexit16 = bitcast %union.anon.772* %funcs15 to %struct.anon.0.771* + %arg17 = getelementptr inbounds %struct.anon.0.771, %struct.anon.0.771* %cxa_atexit16, i32 0, i32 1 + %17 = load i8*, i8** %arg17, align 8 + call void %15(i8* %17) #18 + br label %sw.epilog + +newDefault: ; preds = %NodeBlock + br label %sw.epilog + +sw.epilog: ; preds = %newDefault, %sw.bb7, %if.then11, %sw.bb, %if.then + br label %while.cond + +while.end: ; preds = %while.cond + %tobool19 = icmp ne %struct.exit_function* %1, null + br i1 %tobool19, label %if.then20, label %if.end21 + +if.then20: ; preds = %while.end + %18 = load %struct.exit_function*, %struct.exit_function** @__exit_function_table, align 8 + %19 = bitcast %struct.exit_function* %18 to i8* + call void @free(i8* %19) #19 + br label %if.end21 + +if.end21: ; preds = %if.then20, %while.end + ret void +} + +; Function Attrs: noinline nounwind uwtable +define i8* @getenv(i8* nonnull %var) #0 { +entry: + %retval = alloca i8*, align 8 + %var.addr = alloca i8*, align 8 + %len = alloca i32, align 4 + %ep = alloca i8**, align 8 + store i8* %var, i8** %var.addr, align 8 + %0 = load i8**, i8*** @__environ, align 8 + store i8** %0, i8*** %ep, align 8 + %tobool = icmp ne i8** %0, null + br i1 %tobool, label %if.end, label %if.then + +if.then: ; preds = %entry + store i8* null, i8** %retval, align 8 + br label %return + +if.end: ; preds = %entry + %1 = load i8*, i8** %var.addr, align 8 + %call = call i64 @strlen(i8* %1) #20 + %conv = trunc i64 %call to i32 + store i32 %conv, i32* %len, align 4 + br label %while.cond + +while.cond: ; preds = %if.end10, %if.end + %2 = load i8**, i8*** %ep, align 8 + %3 = load i8*, i8** %2, align 8 + %tobool1 = icmp ne i8* %3, null + br i1 %tobool1, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i8*, i8** %var.addr, align 8 + %5 = load i8**, i8*** %ep, align 8 + %6 = load i8*, i8** %5, align 8 + %7 = load i32, i32* %len, align 4 + %conv2 = sext i32 %7 to i64 + %call3 = call i32 @memcmp(i8* %4, i8* %6, i64 %conv2) #20 + %cmp = icmp eq i32 %call3, 0 + br i1 %cmp, label %land.lhs.true, label %if.end10 + +land.lhs.true: ; preds = %while.body + %8 = load i8**, i8*** %ep, align 8 + %9 = load i8*, i8** %8, align 8 + %10 = load i32, i32* %len, align 4 + %idxprom = sext i32 %10 to i64 + %arrayidx = getelementptr inbounds i8, i8* %9, i64 %idxprom + %11 = load i8, i8* %arrayidx, align 1 + %conv5 = sext i8 %11 to i32 + %cmp6 = icmp eq i32 %conv5, 61 + br i1 %cmp6, label %if.then8, label %if.end10 + +if.then8: ; preds = %land.lhs.true + %12 = load i8**, i8*** %ep, align 8 + %13 = load i8*, i8** %12, align 8 + %14 = load i32, i32* %len, align 4 + %idx.ext = sext i32 %14 to i64 + %add.ptr = getelementptr inbounds i8, i8* %13, i64 %idx.ext + %add.ptr9 = getelementptr inbounds i8, i8* %add.ptr, i64 1 + store i8* %add.ptr9, i8** %retval, align 8 + br label %return + +if.end10: ; preds = %land.lhs.true, %while.body + %15 = load i8**, i8*** %ep, align 8 + %incdec.ptr = getelementptr inbounds i8*, i8** %15, i32 1 + store i8** %incdec.ptr, i8*** %ep, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then8, %if.then + %16 = load i8*, i8** %retval, align 8 + ret i8* %16 +} + +; Function Attrs: noinline nounwind uwtable +define i32 @__xpg_strerror_r(i32 %errnum, i8* %strerrbuf, i64 %buflen) #0 { +entry: + %errnum.addr = alloca i32, align 4 + %strerrbuf.addr = alloca i8*, align 8 + %buflen.addr = alloca i64, align 8 + %s = alloca i8*, align 8 + %i = alloca i32, align 4 + %retval1 = alloca i32, align 4 + %buf = alloca [50 x i8], align 16 + store i32 %errnum, i32* %errnum.addr, align 4 + store i8* %strerrbuf, i8** %strerrbuf.addr, align 8 + store i64 %buflen, i64* %buflen.addr, align 8 + store i32 22, i32* %retval1, align 4 + %0 = load i32, i32* %errnum.addr, align 4 + store i32 %0, i32* %i, align 4 + %1 = load i32, i32* %i, align 4 + %cmp = icmp ult i32 %1, 125 + br i1 %cmp, label %if.then, label %if.end7 + +if.then: ; preds = %entry + store i8* getelementptr inbounds ([2906 x i8], [2906 x i8]* @_string_syserrmsgs, i64 0, i64 0), i8** %s, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc, %if.then + %2 = load i32, i32* %i, align 4 + %tobool = icmp ne i32 %2, 0 + %3 = load i8*, i8** %s, align 8 + %4 = load i8, i8* %3, align 1 + %tobool2 = icmp ne i8 %4, 0 + br i1 %tobool, label %for.body, label %for.end + +for.body: ; preds = %for.cond + br i1 %tobool2, label %for.inc, label %if.then3 + +if.then3: ; preds = %for.body + %5 = load i32, i32* %i, align 4 + %dec = add nsw i32 %5, -1 + store i32 %dec, i32* %i, align 4 + br label %for.inc + +for.inc: ; preds = %for.body, %if.then3 + %6 = load i8*, i8** %s, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %6, i32 1 + store i8* %incdec.ptr, i8** %s, align 8 + br label %for.cond + +for.end: ; preds = %for.cond + br i1 %tobool2, label %if.then5, label %if.end7 + +if.then5: ; preds = %for.end + store i32 0, i32* %retval1, align 4 + br label %GOT_MESG + +if.end7: ; preds = %for.end, %entry + %arraydecay = getelementptr inbounds [50 x i8], [50 x i8]* %buf, i64 0, i64 0 + %add.ptr = getelementptr inbounds i8, i8* %arraydecay, i64 50 + %add.ptr8 = getelementptr inbounds i8, i8* %add.ptr, i64 -1 + %7 = load i32, i32* %errnum.addr, align 4 + %conv = sext i32 %7 to i64 + %call = call i8* @_uintmaxtostr(i8* %add.ptr8, i64 %conv, i32 -10, i32 0) #18 + %add.ptr9 = getelementptr inbounds i8, i8* %call, i64 -14 + store i8* %add.ptr9, i8** %s, align 8 + %8 = load i8*, i8** %s, align 8 + %call10 = call i8* @memcpy(i8* %8, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @__xpg_strerror_r.unknown, i64 0, i64 0), i64 14) #19 + br label %GOT_MESG + +GOT_MESG: ; preds = %if.end7, %if.then5 + %9 = load i8*, i8** %strerrbuf.addr, align 8 + %tobool11 = icmp ne i8* %9, null + br i1 %tobool11, label %if.end13, label %if.then12 + +if.then12: ; preds = %GOT_MESG + store i64 0, i64* %buflen.addr, align 8 + br label %if.end13 + +if.end13: ; preds = %if.then12, %GOT_MESG + %10 = load i8*, i8** %s, align 8 + %call14 = call i64 @strlen(i8* %10) #20 + %add = add i64 %call14, 1 + %conv15 = trunc i64 %add to i32 + store i32 %conv15, i32* %i, align 4 + %11 = load i32, i32* %i, align 4 + %conv16 = sext i32 %11 to i64 + %12 = load i64, i64* %buflen.addr, align 8 + %cmp17 = icmp ugt i64 %conv16, %12 + br i1 %cmp17, label %if.then19, label %if.end21 + +if.then19: ; preds = %if.end13 + %13 = load i64, i64* %buflen.addr, align 8 + %conv20 = trunc i64 %13 to i32 + store i32 %conv20, i32* %i, align 4 + store i32 34, i32* %retval1, align 4 + br label %if.end21 + +if.end21: ; preds = %if.then19, %if.end13 + %14 = load i32, i32* %i, align 4 + %tobool22 = icmp ne i32 %14, 0 + br i1 %tobool22, label %if.then23, label %if.end26 + +if.then23: ; preds = %if.end21 + %15 = load i8*, i8** %strerrbuf.addr, align 8 + %16 = load i8*, i8** %s, align 8 + %17 = load i32, i32* %i, align 4 + %conv24 = sext i32 %17 to i64 + %call25 = call i8* @memcpy(i8* %15, i8* %16, i64 %conv24) #19 + %18 = load i8*, i8** %strerrbuf.addr, align 8 + %19 = load i32, i32* %i, align 4 + %sub = sub nsw i32 %19, 1 + %idxprom = sext i32 %sub to i64 + %arrayidx = getelementptr inbounds i8, i8* %18, i64 %idxprom + store i8 0, i8* %arrayidx, align 1 + br label %if.end26 + +if.end26: ; preds = %if.then23, %if.end21 + %20 = load i32, i32* %retval1, align 4 + %tobool27 = icmp ne i32 %20, 0 + br i1 %tobool27, label %if.then28, label %if.end29 + +if.then28: ; preds = %if.end26 + %21 = load i32, i32* %retval1, align 4 + store i32 %21, i32* @errno, align 4 + br label %if.end29 + +if.end29: ; preds = %if.then28, %if.end26 + %22 = load i32, i32* %retval1, align 4 + ret i32 %22 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @strchr(i8* nonnull %s, i32 %c) #14 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + br label %do.body + +do.body: ; preds = %do.cond, %entry + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i8, i8* %0, align 1 + %conv = sext i8 %1 to i32 + %2 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %2 to i8 + %conv2 = sext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + %3 = load i8*, i8** %s.addr, align 8 + br i1 %cmp, label %if.then, label %do.cond + +if.then: ; preds = %do.body + store i8* %3, i8** %retval, align 8 + br label %return + +do.cond: ; preds = %do.body + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 1 + store i8* %incdec.ptr, i8** %s.addr, align 8 + %4 = load i8, i8* %3, align 1 + %tobool = icmp ne i8 %4, 0 + br i1 %tobool, label %do.body, label %do.end + +do.end: ; preds = %do.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %do.end, %if.then + %5 = load i8*, i8** %retval, align 8 + ret i8* %5 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i64 @strnlen(i8* nonnull %s, i64 %max) #14 { +entry: + %s.addr = alloca i8*, align 8 + %max.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i64 %max, i64* %max.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %while.body, %entry + %1 = load i64, i64* %max.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %land.rhs, label %land.end + +land.rhs: ; preds = %while.cond + %2 = load i8*, i8** %p, align 8 + %3 = load i8, i8* %2, align 1 + %conv = sext i8 %3 to i32 + %tobool1 = icmp ne i32 %conv, 0 + br label %land.end + +land.end: ; preds = %land.rhs, %while.cond + %4 = phi i1 [ false, %while.cond ], [ %tobool1, %land.rhs ] + %5 = load i8*, i8** %p, align 8 + br i1 %4, label %while.body, label %while.end + +while.body: ; preds = %land.end + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %6 = load i64, i64* %max.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %max.addr, align 8 + br label %while.cond + +while.end: ; preds = %land.end + %7 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %5 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %7 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind uwtable +define i8* @strtok_r(i8* noalias %s1, i8* noalias nonnull %s2, i8** noalias nonnull %next_start) #0 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %next_start.addr = alloca i8**, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + store i8** %next_start, i8*** %next_start.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + %cmp = icmp ne i8* %0, null + br i1 %cmp, label %if.then, label %lor.lhs.false + +lor.lhs.false: ; preds = %entry + %1 = load i8**, i8*** %next_start.addr, align 8 + %2 = load i8*, i8** %1, align 8 + store i8* %2, i8** %s, align 8 + %cmp1 = icmp ne i8* %2, null + br i1 %cmp1, label %if.then, label %if.end7 + +if.then: ; preds = %lor.lhs.false, %entry + %3 = load i8*, i8** %s, align 8 + %4 = load i8*, i8** %s2.addr, align 8 + %call = call i64 @strspn(i8* %3, i8* %4) #20 + %5 = load i8*, i8** %s, align 8 + %add.ptr = getelementptr inbounds i8, i8* %5, i64 %call + store i8* %add.ptr, i8** %s, align 8 + %6 = load i8, i8* %add.ptr, align 1 + %tobool = icmp ne i8 %6, 0 + br i1 %tobool, label %if.then2, label %if.else + +if.then2: ; preds = %if.then + %7 = load i8*, i8** %s, align 8 + %8 = load i8*, i8** %s2.addr, align 8 + %call3 = call i8* @strpbrk(i8* %7, i8* %8) #20 + store i8* %call3, i8** %p, align 8 + %cmp4 = icmp ne i8* %call3, null + br i1 %cmp4, label %if.then5, label %if.end6 + +if.then5: ; preds = %if.then2 + %9 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %9, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + store i8 0, i8* %9, align 1 + br label %if.end6 + +if.else: ; preds = %if.then + store i8* null, i8** %s, align 8 + store i8* null, i8** %p, align 8 + br label %if.end6 + +if.end6: ; preds = %if.then2, %if.then5, %if.else + %10 = load i8*, i8** %p, align 8 + %11 = load i8**, i8*** %next_start.addr, align 8 + store i8* %10, i8** %11, align 8 + br label %if.end7 + +if.end7: ; preds = %if.end6, %lor.lhs.false + %12 = load i8*, i8** %s, align 8 + ret i8* %12 +} + +; Function Attrs: noinline nounwind uwtable +define i64 @mbsrtowcs(i32* noalias %dst, i8** noalias %src, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %dst.addr = alloca i32*, align 8 + %src.addr = alloca i8**, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + store i32* %dst, i32** %dst.addr, align 8 + store i8** %src, i8*** %src.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load i32*, i32** %dst.addr, align 8 + %1 = load i8**, i8*** %src.addr, align 8 + %2 = load i64, i64* %len.addr, align 8 + %3 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %cmp = icmp ne %struct.__mbstate_t.512* %3, null + %4 = load %struct.__mbstate_t.512*, %struct.__mbstate_t.512** %ps.addr, align 8 + %cond = select i1 %cmp, %struct.__mbstate_t.512* %4, %struct.__mbstate_t.512* @mbsrtowcs.mbstate + %call = call i64 @mbsnrtowcs(i32* %0, i8** %1, i64 -1, i64 %2, %struct.__mbstate_t.512* %cond) #19 + ret i64 %call +} + +; Function Attrs: noinline nounwind uwtable +define i64 @wcsnrtombs(i8* noalias %dst, i32** noalias %src, i64 %NWC, i64 %len, %struct.__mbstate_t.512* noalias %ps) #0 { +entry: + %retval = alloca i64, align 8 + %dst.addr = alloca i8*, align 8 + %src.addr = alloca i32**, align 8 + %NWC.addr = alloca i64, align 8 + %len.addr = alloca i64, align 8 + %ps.addr = alloca %struct.__mbstate_t.512*, align 8 + %s = alloca i32*, align 8 + %count = alloca i64, align 8 + %incr = alloca i32, align 4 + %buf = alloca [16 x i8], align 16 + %wc = alloca i32, align 4 + %u = alloca i32, align 4 + store i8* %dst, i8** %dst.addr, align 8 + store i32** %src, i32*** %src.addr, align 8 + store i64 %NWC, i64* %NWC.addr, align 8 + store i64 %len, i64* %len.addr, align 8 + store %struct.__mbstate_t.512* %ps, %struct.__mbstate_t.512** %ps.addr, align 8 + %0 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %0, i32 0, i32 9 + %1 = load i8, i8* %encoding, align 8 + %conv = zext i8 %1 to i32 + %cmp = icmp eq i32 %conv, 1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %entry + %2 = load i8*, i8** %dst.addr, align 8 + %3 = load i64, i64* %len.addr, align 8 + %4 = load i32**, i32*** %src.addr, align 8 + %5 = load i64, i64* %NWC.addr, align 8 + %call = call i64 @_wchar_wcsntoutf8s(i8* %2, i64 %3, i32** %4, i64 %5) #18 + store i64 %call, i64* %retval, align 8 + br label %return + +if.end: ; preds = %entry + store i32 1, i32* %incr, align 4 + %6 = load i8*, i8** %dst.addr, align 8 + %tobool = icmp ne i8* %6, null + br i1 %tobool, label %lor.lhs.false, label %if.then4 + +lor.lhs.false: ; preds = %if.end + %7 = load i8*, i8** %dst.addr, align 8 + %8 = load i32**, i32*** %src.addr, align 8 + %9 = bitcast i32** %8 to i8* + %cmp2 = icmp eq i8* %7, %9 + br i1 %cmp2, label %if.then4, label %if.end8 + +if.then4: ; preds = %lor.lhs.false, %if.end + %10 = load i8*, i8** %dst.addr, align 8 + %tobool5 = icmp ne i8* %10, null + br i1 %tobool5, label %if.end7, label %if.then6 + +if.then6: ; preds = %if.then4 + store i64 -1, i64* %len.addr, align 8 + br label %if.end7 + +if.end7: ; preds = %if.then6, %if.then4 + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay, i8** %dst.addr, align 8 + store i32 0, i32* %incr, align 4 + br label %if.end8 + +if.end8: ; preds = %if.end7, %lor.lhs.false + %11 = load i64, i64* %len.addr, align 8 + %12 = load i64, i64* %NWC.addr, align 8 + %cmp9 = icmp ugt i64 %11, %12 + br i1 %cmp9, label %if.then11, label %if.end12 + +if.then11: ; preds = %if.end8 + %13 = load i64, i64* %NWC.addr, align 8 + store i64 %13, i64* %len.addr, align 8 + br label %if.end12 + +if.end12: ; preds = %if.then11, %if.end8 + %14 = load i64, i64* %len.addr, align 8 + store i64 %14, i64* %count, align 8 + %15 = load i32**, i32*** %src.addr, align 8 + %16 = load i32*, i32** %15, align 8 + store i32* %16, i32** %s, align 8 + %17 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %encoding13 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %17, i32 0, i32 9 + %18 = load i8, i8* %encoding13, align 8 + %conv14 = zext i8 %18 to i32 + %cmp15 = icmp eq i32 %conv14, 2 + br i1 %cmp15, label %while.cond, label %while.cond52 + +while.cond: ; preds = %if.end12, %if.end45 + %19 = load i64, i64* %count, align 8 + %tobool18 = icmp ne i64 %19, 0 + br i1 %tobool18, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %20 = load i32*, i32** %s, align 8 + %21 = load i32, i32* %20, align 4 + store i32 %21, i32* %wc, align 4 + %cmp19 = icmp ule i32 %21, 127 + br i1 %cmp19, label %if.then21, label %if.else + +if.then21: ; preds = %while.body + %22 = load i32, i32* %wc, align 4 + %conv22 = trunc i32 %22 to i8 + %23 = load i8*, i8** %dst.addr, align 8 + store i8 %conv22, i8* %23, align 1 + %tobool23 = icmp ne i8 %conv22, 0 + br i1 %tobool23, label %if.end45, label %if.then24 + +if.then24: ; preds = %if.then21 + store i32* null, i32** %s, align 8 + br label %while.end + +if.else: ; preds = %while.body + store i32 0, i32* %u, align 4 + %24 = load i32, i32* %wc, align 4 + %cmp26 = icmp ule i32 %24, 9727 + br i1 %cmp26, label %if.then28, label %if.end42 + +if.then28: ; preds = %if.else + %25 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %idx8wc2c = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %25, i32 0, i32 18 + %26 = load i8*, i8** %idx8wc2c, align 8 + %27 = load i32, i32* %wc, align 4 + %shr = lshr i32 %27, 8 + %idxprom = zext i32 %shr to i64 + %arrayidx = getelementptr inbounds i8, i8* %26, i64 %idxprom + %28 = load i8, i8* %arrayidx, align 1 + %conv29 = zext i8 %28 to i32 + store i32 %conv29, i32* %u, align 4 + %29 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %tbl8wc2c = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %29, i32 0, i32 19 + %30 = load i8*, i8** %tbl8wc2c, align 8 + %31 = load i32, i32* %u, align 4 + %shl = shl i32 %31, 4 + %32 = load i32, i32* %wc, align 4 + %shr30 = lshr i32 %32, 4 + %and = and i32 %shr30, 15 + %add = add i32 %shl, %and + %idxprom31 = zext i32 %add to i64 + %arrayidx32 = getelementptr inbounds i8, i8* %30, i64 %idxprom31 + %33 = load i8, i8* %arrayidx32, align 1 + %conv33 = zext i8 %33 to i32 + store i32 %conv33, i32* %u, align 4 + %34 = load %struct.__uclibc_locale_struct.201*, %struct.__uclibc_locale_struct.201** @__curlocale_var, align 8 + %tbl8wc2c34 = getelementptr inbounds %struct.__uclibc_locale_struct.201, %struct.__uclibc_locale_struct.201* %34, i32 0, i32 19 + %35 = load i8*, i8** %tbl8wc2c34, align 8 + %36 = load i32, i32* %u, align 4 + %shl35 = shl i32 %36, 4 + %add36 = add i32 1072, %shl35 + %37 = load i32, i32* %wc, align 4 + %and37 = and i32 %37, 15 + %add38 = add i32 %add36, %and37 + %idxprom39 = zext i32 %add38 to i64 + %arrayidx40 = getelementptr inbounds i8, i8* %35, i64 %idxprom39 + %38 = load i8, i8* %arrayidx40, align 1 + %conv41 = zext i8 %38 to i32 + store i32 %conv41, i32* %u, align 4 + br label %if.end42 + +if.end42: ; preds = %if.then28, %if.else + %39 = load i32, i32* %u, align 4 + %tobool43 = icmp ne i32 %39, 0 + %40 = load i32, i32* %u, align 4 + %cond = select i1 %tobool43, i32 %40, i32 63 + %conv44 = trunc i32 %cond to i8 + %41 = load i8*, i8** %dst.addr, align 8 + store i8 %conv44, i8* %41, align 1 + br label %if.end45 + +if.end45: ; preds = %if.then21, %if.end42 + %42 = load i32*, i32** %s, align 8 + %incdec.ptr = getelementptr inbounds i32, i32* %42, i32 1 + store i32* %incdec.ptr, i32** %s, align 8 + %43 = load i32, i32* %incr, align 4 + %44 = load i8*, i8** %dst.addr, align 8 + %idx.ext = sext i32 %43 to i64 + %add.ptr = getelementptr inbounds i8, i8* %44, i64 %idx.ext + store i8* %add.ptr, i8** %dst.addr, align 8 + %45 = load i64, i64* %count, align 8 + %dec = add i64 %45, -1 + store i64 %dec, i64* %count, align 8 + br label %while.cond + +while.end: ; preds = %if.then24, %while.cond + %46 = load i8*, i8** %dst.addr, align 8 + %arraydecay46 = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + %cmp47 = icmp ne i8* %46, %arraydecay46 + br i1 %cmp47, label %if.then49, label %if.end50 + +if.then49: ; preds = %while.end + %47 = load i32*, i32** %s, align 8 + %48 = load i32**, i32*** %src.addr, align 8 + store i32* %47, i32** %48, align 8 + br label %if.end50 + +if.end50: ; preds = %if.then49, %while.end + %49 = load i64, i64* %len.addr, align 8 + %50 = load i64, i64* %count, align 8 + %sub = sub i64 %49, %50 + store i64 %sub, i64* %retval, align 8 + br label %return + +while.cond52: ; preds = %if.end12, %if.end64 + %51 = load i64, i64* %count, align 8 + %tobool53 = icmp ne i64 %51, 0 + br i1 %tobool53, label %while.body54, label %while.end69 + +while.body54: ; preds = %while.cond52 + %52 = load i32*, i32** %s, align 8 + %53 = load i32, i32* %52, align 4 + %cmp55 = icmp uge i32 %53, 128 + br i1 %cmp55, label %if.then57, label %if.end58 + +if.then57: ; preds = %while.body54 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end58: ; preds = %while.body54 + %54 = load i32*, i32** %s, align 8 + %55 = load i32, i32* %54, align 4 + %conv59 = trunc i32 %55 to i8 + %56 = load i8*, i8** %dst.addr, align 8 + store i8 %conv59, i8* %56, align 1 + %conv60 = sext i8 %conv59 to i32 + %cmp61 = icmp eq i32 %conv60, 0 + br i1 %cmp61, label %if.then63, label %if.end64 + +if.then63: ; preds = %if.end58 + store i32* null, i32** %s, align 8 + br label %while.end69 + +if.end64: ; preds = %if.end58 + %57 = load i32*, i32** %s, align 8 + %incdec.ptr65 = getelementptr inbounds i32, i32* %57, i32 1 + store i32* %incdec.ptr65, i32** %s, align 8 + %58 = load i32, i32* %incr, align 4 + %59 = load i8*, i8** %dst.addr, align 8 + %idx.ext66 = sext i32 %58 to i64 + %add.ptr67 = getelementptr inbounds i8, i8* %59, i64 %idx.ext66 + store i8* %add.ptr67, i8** %dst.addr, align 8 + %60 = load i64, i64* %count, align 8 + %dec68 = add i64 %60, -1 + store i64 %dec68, i64* %count, align 8 + br label %while.cond52 + +while.end69: ; preds = %if.then63, %while.cond52 + %61 = load i8*, i8** %dst.addr, align 8 + %arraydecay70 = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + %cmp71 = icmp ne i8* %61, %arraydecay70 + br i1 %cmp71, label %if.then73, label %if.end74 + +if.then73: ; preds = %while.end69 + %62 = load i32*, i32** %s, align 8 + %63 = load i32**, i32*** %src.addr, align 8 + store i32* %62, i32** %63, align 8 + br label %if.end74 + +if.end74: ; preds = %if.then73, %while.end69 + %64 = load i64, i64* %len.addr, align 8 + %65 = load i64, i64* %count, align 8 + %sub75 = sub i64 %64, %65 + store i64 %sub75, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end74, %if.then57, %if.end50, %if.then + %66 = load i64, i64* %retval, align 8 + ret i64 %66 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @memchr(i8* nonnull %s, i32 %c, i64 %n) #14 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %n.addr = alloca i64, align 8 + %r = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + store i8* %0, i8** %r, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %1 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %1, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %2 = load i8*, i8** %r, align 8 + %3 = load i8, i8* %2, align 1 + %conv = zext i8 %3 to i32 + %4 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %4 to i8 + %conv2 = zext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + %5 = load i8*, i8** %r, align 8 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + store i8* %5, i8** %retval, align 8 + br label %return + +if.end: ; preds = %while.body + %incdec.ptr = getelementptr inbounds i8, i8* %5, i32 1 + store i8* %incdec.ptr, i8** %r, align 8 + %6 = load i64, i64* %n.addr, align 8 + %dec = add i64 %6, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then + %7 = load i8*, i8** %retval, align 8 + ret i8* %7 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @memrchr(i8* nonnull %s, i32 %c, i64 %n) #14 { +entry: + %retval = alloca i8*, align 8 + %s.addr = alloca i8*, align 8 + %c.addr = alloca i32, align 4 + %n.addr = alloca i64, align 8 + %r = alloca i8*, align 8 + store i8* %s, i8** %s.addr, align 8 + store i32 %c, i32* %c.addr, align 4 + store i64 %n, i64* %n.addr, align 8 + %0 = load i8*, i8** %s.addr, align 8 + %1 = load i64, i64* %n.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %0, i64 %1 + store i8* %add.ptr, i8** %r, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %2 = load i64, i64* %n.addr, align 8 + %tobool = icmp ne i64 %2, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %3 = load i8*, i8** %r, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %3, i32 -1 + store i8* %incdec.ptr, i8** %r, align 8 + %4 = load i8, i8* %incdec.ptr, align 1 + %conv = zext i8 %4 to i32 + %5 = load i32, i32* %c.addr, align 4 + %conv1 = trunc i32 %5 to i8 + %conv2 = zext i8 %conv1 to i32 + %cmp = icmp eq i32 %conv, %conv2 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + %6 = load i8*, i8** %r, align 8 + store i8* %6, i8** %retval, align 8 + br label %return + +if.end: ; preds = %while.body + %7 = load i64, i64* %n.addr, align 8 + %dec = add i64 %7, -1 + store i64 %dec, i64* %n.addr, align 8 + br label %while.cond + +while.end: ; preds = %while.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %while.end, %if.then + %8 = load i8*, i8** %retval, align 8 + ret i8* %8 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i8* @strpbrk(i8* nonnull %s1, i8* nonnull %s2) #14 { +entry: + %retval = alloca i8*, align 8 + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + br label %for.cond + +for.cond: ; preds = %for.inc6, %entry + %1 = load i8*, i8** %s, align 8 + %2 = load i8, i8* %1, align 1 + %tobool = icmp ne i8 %2, 0 + br i1 %tobool, label %for.body, label %for.end8 + +for.body: ; preds = %for.cond + %3 = load i8*, i8** %s2.addr, align 8 + store i8* %3, i8** %p, align 8 + br label %for.cond1 + +for.cond1: ; preds = %for.inc, %for.body + %4 = load i8*, i8** %p, align 8 + %5 = load i8, i8* %4, align 1 + %tobool2 = icmp ne i8 %5, 0 + br i1 %tobool2, label %for.body3, label %for.inc6 + +for.body3: ; preds = %for.cond1 + %6 = load i8*, i8** %p, align 8 + %7 = load i8, i8* %6, align 1 + %conv = sext i8 %7 to i32 + %8 = load i8*, i8** %s, align 8 + %9 = load i8, i8* %8, align 1 + %conv4 = sext i8 %9 to i32 + %cmp = icmp eq i32 %conv, %conv4 + br i1 %cmp, label %if.then, label %for.inc + +if.then: ; preds = %for.body3 + %10 = load i8*, i8** %s, align 8 + store i8* %10, i8** %retval, align 8 + br label %return + +for.inc: ; preds = %for.body3 + %11 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %11, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + br label %for.cond1 + +for.inc6: ; preds = %for.cond1 + %12 = load i8*, i8** %s, align 8 + %incdec.ptr7 = getelementptr inbounds i8, i8* %12, i32 1 + store i8* %incdec.ptr7, i8** %s, align 8 + br label %for.cond + +for.end8: ; preds = %for.cond + store i8* null, i8** %retval, align 8 + br label %return + +return: ; preds = %for.end8, %if.then + %13 = load i8*, i8** %retval, align 8 + ret i8* %13 +} + +; Function Attrs: noinline nounwind readonly uwtable +define i64 @strspn(i8* nonnull %s1, i8* nonnull %s2) #14 { +entry: + %s1.addr = alloca i8*, align 8 + %s2.addr = alloca i8*, align 8 + %s = alloca i8*, align 8 + %p = alloca i8*, align 8 + store i8* %s1, i8** %s1.addr, align 8 + store i8* %s2, i8** %s2.addr, align 8 + %0 = load i8*, i8** %s1.addr, align 8 + store i8* %0, i8** %s, align 8 + %1 = load i8*, i8** %s2.addr, align 8 + store i8* %1, i8** %p, align 8 + br label %while.cond + +while.cond: ; preds = %if.end, %entry + %2 = load i8*, i8** %p, align 8 + %3 = load i8, i8* %2, align 1 + %tobool = icmp ne i8 %3, 0 + br i1 %tobool, label %while.body, label %while.end + +while.body: ; preds = %while.cond + %4 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %4, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %5 = load i8, i8* %4, align 1 + %conv = sext i8 %5 to i32 + %6 = load i8*, i8** %s, align 8 + %7 = load i8, i8* %6, align 1 + %conv1 = sext i8 %7 to i32 + %cmp = icmp eq i32 %conv, %conv1 + br i1 %cmp, label %if.then, label %if.end + +if.then: ; preds = %while.body + %8 = load i8*, i8** %s, align 8 + %incdec.ptr3 = getelementptr inbounds i8, i8* %8, i32 1 + store i8* %incdec.ptr3, i8** %s, align 8 + %9 = load i8*, i8** %s2.addr, align 8 + store i8* %9, i8** %p, align 8 + br label %if.end + +if.end: ; preds = %if.then, %while.body + br label %while.cond + +while.end: ; preds = %while.cond + %10 = load i8*, i8** %s, align 8 + %11 = load i8*, i8** %s1.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %10 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %11 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + ret i64 %sub.ptr.sub +} + +; Function Attrs: noinline nounwind uwtable +define hidden i64 @_wchar_wcsntoutf8s(i8* noalias %s, i64 %n, i32** noalias %src, i64 %wn) #0 { +entry: + %retval = alloca i64, align 8 + %s.addr = alloca i8*, align 8 + %n.addr = alloca i64, align 8 + %src.addr = alloca i32**, align 8 + %wn.addr = alloca i64, align 8 + %p = alloca i8*, align 8 + %len = alloca i64, align 8 + %t = alloca i64, align 8 + %wc = alloca i32, align 4 + %swc = alloca i32*, align 8 + %store = alloca i32, align 4 + %buf = alloca [16 x i8], align 16 + %m = alloca i8, align 1 + store i8* %s, i8** %s.addr, align 8 + store i64 %n, i64* %n.addr, align 8 + store i32** %src, i32*** %src.addr, align 8 + store i64 %wn, i64* %wn.addr, align 8 + store i32 1, i32* %store, align 4 + %0 = load i8*, i8** %s.addr, align 8 + %tobool = icmp ne i8* %0, null + br i1 %tobool, label %lor.lhs.false, label %if.then + +lor.lhs.false: ; preds = %entry + %1 = load i8*, i8** %s.addr, align 8 + %2 = load i32**, i32*** %src.addr, align 8 + %3 = bitcast i32** %2 to i8* + %cmp = icmp eq i8* %1, %3 + br i1 %cmp, label %if.then, label %if.end3 + +if.then: ; preds = %lor.lhs.false, %entry + %4 = load i8*, i8** %s.addr, align 8 + %tobool1 = icmp ne i8* %4, null + br i1 %tobool1, label %if.end, label %if.then2 + +if.then2: ; preds = %if.then + store i64 -1, i64* %n.addr, align 8 + br label %if.end + +if.end: ; preds = %if.then2, %if.then + %arraydecay = getelementptr inbounds [16 x i8], [16 x i8]* %buf, i64 0, i64 0 + store i8* %arraydecay, i8** %s.addr, align 8 + store i32 0, i32* %store, align 4 + br label %if.end3 + +if.end3: ; preds = %if.end, %lor.lhs.false + %5 = load i64, i64* %n.addr, align 8 + store i64 %5, i64* %t, align 8 + %6 = load i32**, i32*** %src.addr, align 8 + %7 = load i32*, i32** %6, align 8 + store i32* %7, i32** %swc, align 8 + br label %while.cond + +while.cond: ; preds = %if.end51, %if.end3 + %8 = load i64, i64* %wn.addr, align 8 + %tobool4 = icmp ne i64 %8, 0 + %9 = load i64, i64* %t, align 8 + %tobool5 = icmp ne i64 %9, 0 + %10 = select i1 %tobool4, i1 %tobool5, i1 false + br i1 %10, label %while.body, label %while.end52 + +while.body: ; preds = %while.cond + %11 = load i32*, i32** %swc, align 8 + %12 = load i32, i32* %11, align 4 + store i32 %12, i32* %wc, align 4 + %13 = load i32, i32* %wc, align 4 + %conv = trunc i32 %13 to i8 + %14 = load i8*, i8** %s.addr, align 8 + store i8 %conv, i8* %14, align 1 + store i64 1, i64* %len, align 8 + %15 = load i32, i32* %wc, align 4 + %cmp6 = icmp uge i32 %15, 128 + %16 = load i32, i32* %wc, align 4 + br i1 %cmp6, label %if.then8, label %if.else + +if.then8: ; preds = %while.body + %conv9 = zext i32 %16 to i64 + %cmp10 = icmp ugt i64 %conv9, 2147483647 + br i1 %cmp10, label %if.then19, label %lor.lhs.false12 + +lor.lhs.false12: ; preds = %if.then8 + %17 = load i32, i32* %wc, align 4 + %sub = sub i32 %17, 65534 + %cmp13 = icmp ult i32 %sub, 2 + br i1 %cmp13, label %if.then19, label %lor.lhs.false15 + +lor.lhs.false15: ; preds = %lor.lhs.false12 + %18 = load i32, i32* %wc, align 4 + %sub16 = sub i32 %18, 55296 + %cmp17 = icmp ult i32 %sub16, 2048 + br i1 %cmp17, label %if.then19, label %if.end20 + +if.then19: ; preds = %lor.lhs.false15, %lor.lhs.false12, %if.then8 + store i32 84, i32* @errno, align 4 + store i64 -1, i64* %retval, align 8 + br label %return + +if.end20: ; preds = %lor.lhs.false15 + %19 = load i32, i32* %wc, align 4 + %shr = lshr i32 %19, 1 + store i32 %shr, i32* %wc, align 4 + %20 = load i8*, i8** %s.addr, align 8 + store i8* %20, i8** %p, align 8 + br label %do.body + +do.body: ; preds = %do.body, %if.end20 + %21 = load i8*, i8** %p, align 8 + %incdec.ptr = getelementptr inbounds i8, i8* %21, i32 1 + store i8* %incdec.ptr, i8** %p, align 8 + %22 = load i32, i32* %wc, align 4 + %shr21 = lshr i32 %22, 5 + store i32 %shr21, i32* %wc, align 4 + %tobool22 = icmp ne i32 %shr21, 0 + br i1 %tobool22, label %do.body, label %do.end + +do.end: ; preds = %do.body + %23 = load i32*, i32** %swc, align 8 + %24 = load i32, i32* %23, align 4 + store i32 %24, i32* %wc, align 4 + %25 = load i8*, i8** %p, align 8 + %26 = load i8*, i8** %s.addr, align 8 + %sub.ptr.lhs.cast = ptrtoint i8* %25 to i64 + %sub.ptr.rhs.cast = ptrtoint i8* %26 to i64 + %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast + store i64 %sub.ptr.sub, i64* %len, align 8 + %27 = load i64, i64* %t, align 8 + %cmp23 = icmp ugt i64 %sub.ptr.sub, %27 + br i1 %cmp23, label %while.end52, label %if.end26 + +if.end26: ; preds = %do.end + store i8 -128, i8* %m, align 1 + br label %while.cond27 + +while.cond27: ; preds = %while.body30, %if.end26 + %28 = load i8*, i8** %p, align 8 + %29 = load i8*, i8** %s.addr, align 8 + %cmp28 = icmp ugt i8* %28, %29 + %30 = load i8, i8* %m, align 1 + %conv31 = sext i8 %30 to i32 + br i1 %cmp28, label %while.body30, label %while.end + +while.body30: ; preds = %while.cond27 + %shr32 = ashr i32 %conv31, 1 + %or = or i32 %shr32, 128 + %conv33 = trunc i32 %or to i8 + store i8 %conv33, i8* %m, align 1 + %31 = load i32, i32* %wc, align 4 + %and = and i32 %31, 63 + %or34 = or i32 %and, 128 + %conv35 = trunc i32 %or34 to i8 + %32 = load i8*, i8** %p, align 8 + %incdec.ptr36 = getelementptr inbounds i8, i8* %32, i32 -1 + store i8* %incdec.ptr36, i8** %p, align 8 + store i8 %conv35, i8* %incdec.ptr36, align 1 + %33 = load i32, i32* %wc, align 4 + %shr37 = lshr i32 %33, 6 + store i32 %shr37, i32* %wc, align 4 + br label %while.cond27 + +while.end: ; preds = %while.cond27 + %shl = shl i32 %conv31, 1 + %34 = load i8*, i8** %s.addr, align 8 + %35 = load i8, i8* %34, align 1 + %conv39 = sext i8 %35 to i32 + %or40 = or i32 %conv39, %shl + %conv41 = trunc i32 %or40 to i8 + store i8 %conv41, i8* %34, align 1 + br label %if.end46 + +if.else: ; preds = %while.body + %cmp42 = icmp eq i32 %16, 0 + br i1 %cmp42, label %if.then44, label %if.end46 + +if.then44: ; preds = %if.else + store i32* null, i32** %swc, align 8 + br label %while.end52 + +if.end46: ; preds = %if.else, %while.end + %36 = load i32*, i32** %swc, align 8 + %incdec.ptr47 = getelementptr inbounds i32, i32* %36, i32 1 + store i32* %incdec.ptr47, i32** %swc, align 8 + %37 = load i64, i64* %wn.addr, align 8 + %dec = add i64 %37, -1 + store i64 %dec, i64* %wn.addr, align 8 + %38 = load i64, i64* %len, align 8 + %39 = load i64, i64* %t, align 8 + %sub48 = sub i64 %39, %38 + store i64 %sub48, i64* %t, align 8 + %40 = load i32, i32* %store, align 4 + %tobool49 = icmp ne i32 %40, 0 + br i1 %tobool49, label %if.then50, label %if.end51 + +if.then50: ; preds = %if.end46 + %41 = load i64, i64* %len, align 8 + %42 = load i8*, i8** %s.addr, align 8 + %add.ptr = getelementptr inbounds i8, i8* %42, i64 %41 + store i8* %add.ptr, i8** %s.addr, align 8 + br label %if.end51 + +if.end51: ; preds = %if.then50, %if.end46 + br label %while.cond + +while.end52: ; preds = %do.end, %if.then44, %while.cond + %43 = load i32, i32* %store, align 4 + %tobool53 = icmp ne i32 %43, 0 + br i1 %tobool53, label %if.then54, label %if.end55 + +if.then54: ; preds = %while.end52 + %44 = load i32*, i32** %swc, align 8 + %45 = load i32**, i32*** %src.addr, align 8 + store i32* %44, i32** %45, align 8 + br label %if.end55 + +if.end55: ; preds = %if.then54, %while.end52 + %46 = load i64, i64* %n.addr, align 8 + %47 = load i64, i64* %t, align 8 + %sub56 = sub i64 %46, %47 + store i64 %sub56, i64* %retval, align 8 + br label %return + +return: ; preds = %if.end55, %if.then19 + %48 = load i64, i64* %retval, align 8 + ret i64 %48 +} + +attributes #0 = { noinline nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #1 = { noinline noreturn nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #2 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #3 = { noinline nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #4 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #5 = { "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #6 = { noinline noreturn nounwind uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #7 = { noreturn "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #8 = { argmemonly nounwind willreturn writeonly } +attributes #9 = { argmemonly nounwind willreturn } +attributes #10 = { noreturn nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #11 = { nounwind } +attributes #12 = { noinline nounwind readnone uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #13 = { noreturn "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #14 = { noinline nounwind readonly uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-builtins" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #15 = { noinline nounwind readonly uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #16 = { noinline nounwind returns_twice uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #17 = { "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-builtins" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } +attributes #18 = { nobuiltin "no-builtins" } +attributes #19 = { nobuiltin nounwind "no-builtins" } +attributes #20 = { nobuiltin nounwind readonly "no-builtins" } +attributes #21 = { nobuiltin nounwind readnone "no-builtins" } +attributes #22 = { nobuiltin noreturn nounwind "no-builtins" } +attributes #23 = { nounwind readonly } +attributes #24 = { noreturn } +attributes #25 = { nounwind readnone } +attributes #26 = { noreturn nounwind } +attributes #27 = { nobuiltin noreturn "no-builtins" } + +!llvm.module.flags = !{!0, !1} +!llvm.ident = !{!2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2, !2} + +!0 = !{i32 1, !"wchar_size", i32 4} +!1 = !{i32 7, !"PIC Level", i32 2} +!2 = !{!"clang version 11.1.0 (https://github.com/llvm/llvm-project.git 1fdec59bffc11ae37eb51a1b9869f0696bfd5312)"} diff --git a/headers/gensym/runtime.hpp b/headers/gensym/runtime.hpp index 43260201f..30b886521 100644 --- a/headers/gensym/runtime.hpp +++ b/headers/gensym/runtime.hpp @@ -10,6 +10,7 @@ #include #include #include +#include namespace gensym::runtime::v1 { @@ -186,6 +187,10 @@ Value int_op_3(iOP, Value, Value, Value); Value float_op_2(fOP, Value, Value); Value bv_sext(Value, std::size_t); Value bv_zext(Value, std::size_t); +Value fp_toui(Value, std::size_t); +Value fp_tosi(Value, std::size_t); +Value ui_tofp(Value); +Value si_tofp(Value); Value trunc(Value, int, int); Value ite(Value, Value, Value); Value ptr_add(Value, Value); diff --git a/runtime/runtime.cpp b/runtime/runtime.cpp index db6edcfb3..7f910e497 100644 --- a/runtime/runtime.cpp +++ b/runtime/runtime.cpp @@ -179,6 +179,10 @@ Value int_op_3(iOP op, Value a, Value b, Value c) { return Bridge::wrap(::int_op Value float_op_2(fOP op, Value lhs, Value rhs) { return Bridge::wrap(::float_op_2(static_cast<::fOP>(op), Bridge::unwrap(lhs), Bridge::unwrap(rhs))); } Value bv_sext(Value value, std::size_t bw) { return Bridge::wrap(::bv_sext(Bridge::unwrap(value), bw)); } Value bv_zext(Value value, std::size_t bw) { return Bridge::wrap(::bv_zext(Bridge::unwrap(value), bw)); } +Value fp_toui(Value value, std::size_t bw) { return Bridge::wrap(::fp_toui(Bridge::unwrap(value), bw)); } +Value fp_tosi(Value value, std::size_t bw) { return Bridge::wrap(::fp_tosi(Bridge::unwrap(value), bw)); } +Value ui_tofp(Value value) { return Bridge::wrap(::ui_tofp(Bridge::unwrap(value))); } +Value si_tofp(Value value) { return Bridge::wrap(::si_tofp(Bridge::unwrap(value))); } Value trunc(Value value, int from, int to) { return Bridge::wrap(::trunc(Bridge::unwrap(value), from, to)); } Value ite(Value condition, Value then_value, Value else_value) { return Bridge::wrap(::ite(Bridge::unwrap(condition), Bridge::unwrap(then_value), Bridge::unwrap(else_value))); } Value ptr_add(Value pointer, Value offset) { return Bridge::wrap(::ptr_add(Bridge::unwrap(pointer), Bridge::unwrap(offset))); } diff --git a/src/main/scala/llvm/Benchmarks.scala b/src/main/scala/llvm/Benchmarks.scala index c101f3b2b..0332f73ba 100644 --- a/src/main/scala/llvm/Benchmarks.scala +++ b/src/main/scala/llvm/Benchmarks.scala @@ -166,11 +166,23 @@ object TestComp { } } -object Coreutils { - // TODO: clean this up - lazy val echo = parseFile("benchmarks/coreutils/echo/echo.ll") - lazy val echoWithLib = parseFile("benchmarks/coreutils/echo/echoStdlibString.ll") - lazy val trueWithLib = parseFile("benchmarks/coreutils/trueWithLib.ll") +object CoreutilsPOSIX { + val prefix = "benchmarks/coreutils/gensym_posix" + lazy val echo = parseFile(s"$prefix/echo.ll") + lazy val cat = parseFile(s"$prefix/cat.ll") + lazy val tru = parseFile(s"$prefix/true.ll") + lazy val fls = parseFile(s"$prefix/false.ll") + lazy val base32 = parseFile(s"$prefix/base32.ll") + lazy val base64 = parseFile(s"$prefix/base64.ll") + lazy val comm = parseFile(s"$prefix/comm.ll") + lazy val cut = parseFile(s"$prefix/cut.ll") + lazy val dirname = parseFile(s"$prefix/dirname.ll") + lazy val expand = parseFile(s"$prefix/expand.ll") + lazy val fold = parseFile(s"$prefix/fold.ll") + lazy val join = parseFile(s"$prefix/join.ll") + lazy val link = parseFile(s"$prefix/link.ll") + lazy val paste = parseFile(s"$prefix/paste.ll") + lazy val pathchk = parseFile(s"$prefix/pathchk.ll") } object OOPSLA20Benchmarks { diff --git a/src/test/scala/gensym/TestGS.scala b/src/test/scala/gensym/TestGS.scala index 740399c84..366f7c963 100644 --- a/src/test/scala/gensym/TestGS.scala +++ b/src/test/scala/gensym/TestGS.scala @@ -184,20 +184,6 @@ class TestImpCPSGS_Z3 extends TestGS { Global.config.symbolicUninit = false } -/* -class Coreutils extends TestGS { - import gensym.llvm.parser.Parser._ - Global.config.enableOpt - val runtimeOptions = "--output-tests-cov-new --thread=1 --search=random-path --solver=z3 --output-ktest --cons-indep".split(" +").toList.toSeq - val cases = TestCases.coreutils.map { t => - t.copy(runOpt = runtimeOptions ++ t.runOpt, runCode = false) - } - testGS(new ImpCPSGS, cases) - - //testGS(new ImpCPSGS, TestPrg(cat_linked, "cat_linked_posix", "@main", noMainFileOpt, "--argv=./cat.bc --sym-stdout --sym-stdin 2 --sym-arg 2", nPath(28567)++status(0))) -} -*/ - class TestLibrary extends TestGS { testGS(new ImpCPSGS_lib, TestPrg(linkLib, "libtest", "@main", useArgv, noOpt, nPath(1)++status(0), false)) testGS(new ImpCPSGS_app, TestPrg(linkApp, "libapp", "@main", useArgv, "--argv=''", nPath(1)++status(0)), s"${outputDir}/libtest") @@ -209,8 +195,12 @@ class Playground extends TestGS { val gs = new ImpCPSGS val rtOpt = "--thread=1 --solver=z3" - val cases = TestCases.coreutils.map { t => - t.copy(runOpt = t.runOpt ++ Seq("--solver=z3")) - } + //val cases = CoreutilsPOSIX.coreutils + + val cases = List(TestPrg( + CoreutilsPOSIX.echo, + "echo_linked_posix", "@main", noMainFileOpt, + "--output-tests-cov-new --thread=1 --search=random-path --solver=z3 --output-ktest --argv=./echo.bc --sym-stdout --sym-arg 2 --sym-arg 7", + nPath(216136)++status(0))) testGS(gs, cases) }